From 74a21f24e1378b69ae3d7cfa3d77ea708e97ae71 Mon Sep 17 00:00:00 2001 From: Samuel Ortiz Date: Thu, 6 Jun 2019 10:39:07 +0200 Subject: [PATCH] vendor: Remove vendoring The cargo interaction with the .cargo/config does not meet our requirements. Regardless of .cargo/config explicitly replacing our external sources with vendored ones, cargo build will rely first on Cargo.lock to update its local source cache. If a dependency has been push forced, build fails because of our top level Cargo.toml description. This prevents us from actually pinning dependencies, which defeats the vendoring purpose. We're removing vendoring for now, until we understand it better. Signed-off-by: Samuel Ortiz --- .cargo/config | 29 - Cargo.lock | 32 +- Cargo.toml | 12 - docs/vendoring.md | 85 - vendor/.sources | 1 - .../vm-memory/.buildkite/pipeline.linux.yml | 168 - .../vm-memory/.buildkite/pipeline.windows.yml | 79 - .../vm-memory/.cargo-checksum.json | 1 - .../vm-memory/.cargo/config | 2 - .../git-3e7c44ea7d5fd800/vm-memory/Cargo.toml | 17 - .../git-3e7c44ea7d5fd800/vm-memory/DESIGN.md | 79 - vendor/git-3e7c44ea7d5fd800/vm-memory/LICENSE | 202 - .../git-3e7c44ea7d5fd800/vm-memory/README.md | 47 - .../vm-memory/THIRD-PARTY | 27 - vendor/git-3e7c44ea7d5fd800/vm-memory/TODO.md | 3 - .../vm-memory/src/address.rs | 170 - .../vm-memory/src/bytes.rs | 285 - .../vm-memory/src/endian.rs | 148 - .../vm-memory/src/guest_memory.rs | 515 - .../git-3e7c44ea7d5fd800/vm-memory/src/lib.rs | 57 - .../vm-memory/src/mmap.rs | 681 - .../vm-memory/src/mmap_unix.rs | 168 - .../vm-memory/src/mmap_windows.rs | 225 - .../vm-memory/src/volatile_memory.rs | 967 -- .../linux-loader/.buildkite/pipeline.yml | 61 - .../linux-loader/.cargo-checksum.json | 1 - .../linux-loader/.gitignore/.gitignore | 3 - .../linux-loader/Cargo.toml | 16 - .../linux-loader/DESIGN.md | 64 - .../linux-loader/LICENSE-APACHE | 201 - .../linux-loader/LICENSE-BSD-3-Clause | 27 - .../linux-loader/README.md | 105 - .../linux-loader/src/cmdline/mod.rs | 235 - .../linux-loader/src/lib.rs | 13 - .../linux-loader/src/loader/bootparam.rs | 3870 ------ .../linux-loader/src/loader/elf.rs | 340 - .../linux-loader/src/loader/mod.rs | 596 - .../linux-loader/src/loader/struct_util.rs | 152 - .../linux-loader/src/loader/test_elf.bin | Bin 4424 -> 0 bytes .../linux-loader/tests/conftest.py | 28 - .../linux-loader/tests/coverage | 1 - .../linux-loader/tests/test_coverage.py | 108 - .../vmm-sys-util/.buildkite/pipeline.yml | 153 - .../vmm-sys-util/.cargo-checksum.json | 1 - .../vmm-sys-util/.cargo/config | 2 - .../vmm-sys-util/Cargo.toml | 9 - .../vmm-sys-util/LICENSE-APACHE | 201 - .../vmm-sys-util/LICENSE-BSD-3-Clause | 27 - .../vmm-sys-util/README.md | 2 - .../vmm-sys-util/src/errno.rs | 80 - .../vmm-sys-util/src/eventfd.rs | 150 - .../vmm-sys-util/src/file_traits.rs | 39 - .../vmm-sys-util/src/ioctl.rs | 225 - .../vmm-sys-util/src/lib.rs | 78 - .../vmm-sys-util/src/poll.rs | 711 -- .../vmm-sys-util/src/seek_hole.rs | 215 - .../vmm-sys-util/src/signal.rs | 423 - .../vmm-sys-util/src/syslog.rs | 643 - .../vmm-sys-util/src/tempdir.rs | 104 - .../vmm-sys-util/src/terminal.rs | 155 - .../vmm-sys-util/src/timerfd.rs | 173 - .../vmm-sys-util/src/write_zeroes.rs | 172 - .../vm-memory/.buildkite/pipeline.linux.yml | 155 - .../vm-memory/.buildkite/pipeline.windows.yml | 79 - .../vm-memory/.cargo-checksum.json | 1 - .../vm-memory/.cargo/config | 2 - .../git-89548d8276566400/vm-memory/Cargo.toml | 17 - .../git-89548d8276566400/vm-memory/DESIGN.md | 79 - vendor/git-89548d8276566400/vm-memory/LICENSE | 202 - .../git-89548d8276566400/vm-memory/README.md | 47 - .../vm-memory/THIRD-PARTY | 27 - vendor/git-89548d8276566400/vm-memory/TODO.md | 3 - .../vm-memory/src/address.rs | 170 - .../vm-memory/src/bytes.rs | 285 - .../vm-memory/src/endian.rs | 148 - .../vm-memory/src/guest_memory.rs | 515 - .../git-89548d8276566400/vm-memory/src/lib.rs | 57 - .../vm-memory/src/mmap.rs | 681 - .../vm-memory/src/mmap_unix.rs | 168 - .../vm-memory/src/mmap_windows.rs | 225 - .../vm-memory/src/volatile_memory.rs | 967 -- .../vmm-sys-util/.buildkite/pipeline.yml | 75 - .../vmm-sys-util/.cargo-checksum.json | 1 - .../vmm-sys-util/Cargo.toml | 9 - .../vmm-sys-util/LICENSE-APACHE | 201 - .../vmm-sys-util/LICENSE-BSD-3-Clause | 27 - .../vmm-sys-util/README.md | 2 - .../vmm-sys-util/src/errno.rs | 80 - .../vmm-sys-util/src/eventfd.rs | 150 - .../vmm-sys-util/src/file_traits.rs | 39 - .../vmm-sys-util/src/ioctl.rs | 225 - .../vmm-sys-util/src/lib.rs | 78 - .../vmm-sys-util/src/poll.rs | 711 -- .../vmm-sys-util/src/seek_hole.rs | 215 - .../vmm-sys-util/src/signal.rs | 420 - .../vmm-sys-util/src/syslog.rs | 643 - .../vmm-sys-util/src/tempdir.rs | 104 - .../vmm-sys-util/src/terminal.rs | 155 - .../vmm-sys-util/src/timerfd.rs | 173 - .../vmm-sys-util/src/write_zeroes.rs | 172 - .../.buildkite/hooks/post-checkout | 6 - .../linux-loader/.buildkite/pipeline.yml | 109 - .../linux-loader/.cargo-checksum.json | 1 - .../linux-loader/.gitignore/.gitignore | 3 - .../linux-loader/Cargo.toml | 16 - .../linux-loader/DESIGN.md | 64 - .../linux-loader/LICENSE-APACHE | 201 - .../linux-loader/LICENSE-BSD-3-Clause | 27 - .../linux-loader/README.md | 105 - .../linux-loader/src/cmdline/mod.rs | 235 - .../linux-loader/src/lib.rs | 13 - .../linux-loader/src/loader/bootparam.rs | 3870 ------ .../linux-loader/src/loader/elf.rs | 340 - .../linux-loader/src/loader/mod.rs | 598 - .../linux-loader/src/loader/struct_util.rs | 152 - .../linux-loader/src/loader/test_elf.bin | Bin 4424 -> 0 bytes .../linux-loader/tests/conftest.py | 28 - .../linux-loader/tests/coverage | 1 - .../linux-loader/tests/test_coverage.py | 108 - .../ansi_term/.cargo-checksum.json | 1 - .../ansi_term/Cargo.toml | 13 - .../ansi_term/LICENCE | 21 - .../ansi_term/README.md | 169 - .../ansi_term/src/lib.rs | 1099 -- .../atty/.cargo-checksum.json | 1 - .../atty/CHANGELOG.md | 61 - .../registry-40351f815f426200/atty/Cargo.toml | 33 - vendor/registry-40351f815f426200/atty/LICENSE | 20 - .../registry-40351f815f426200/atty/README.md | 76 - .../atty/appveyor.yml | 16 - .../atty/examples/atty.rs | 9 - .../atty/rustfmt.toml | 10 - .../registry-40351f815f426200/atty/src/lib.rs | 210 - .../autocfg/.cargo-checksum.json | 1 - .../autocfg/Cargo.toml | 24 - .../autocfg/LICENSE-APACHE | 201 - .../autocfg/LICENSE-MIT | 25 - .../autocfg/README.md | 75 - .../autocfg/examples/integers.rs | 9 - .../autocfg/examples/paths.rs | 22 - .../autocfg/examples/traits.rs | 26 - .../autocfg/examples/versions.rs | 9 - .../autocfg/src/error.rs | 69 - .../autocfg/src/lib.rs | 305 - .../autocfg/src/tests.rs | 65 - .../autocfg/src/version.rs | 60 - .../bitflags-0.9.1/.cargo-checksum.json | 1 - .../bitflags-0.9.1/Cargo.toml | 31 - .../bitflags-0.9.1/LICENSE-APACHE | 201 - .../bitflags-0.9.1/LICENSE-MIT | 25 - .../bitflags-0.9.1/README.md | 24 - .../bitflags-0.9.1/src/example_generated.rs | 16 - .../bitflags-0.9.1/src/lib.rs | 990 -- .../tests/conflicting_trait_impls.rs | 20 - .../bitflags-0.9.1/tests/external.rs | 21 - .../bitflags-0.9.1/tests/external_no_std.rs | 22 - .../bitflags-0.9.1/tests/i128_bitflags.rs | 30 - .../bitflags/.cargo-checksum.json | 1 - .../bitflags/CHANGELOG.md | 134 - .../bitflags/CODE_OF_CONDUCT.md | 73 - .../bitflags/Cargo.toml | 34 - .../bitflags/LICENSE-APACHE | 201 - .../bitflags/LICENSE-MIT | 25 - .../bitflags/README.md | 34 - .../bitflags/build.rs | 44 - .../bitflags/src/example_generated.rs | 14 - .../bitflags/src/lib.rs | 1353 -- .../byteorder/.cargo-checksum.json | 1 - .../byteorder/CHANGELOG.md | 58 - .../byteorder/COPYING | 3 - .../byteorder/Cargo.toml | 43 - .../byteorder/LICENSE-MIT | 21 - .../byteorder/README.md | 56 - .../byteorder/UNLICENSE | 24 - .../byteorder/benches/bench.rs | 320 - .../byteorder/src/io.rs | 1264 -- .../byteorder/src/lib.rs | 3098 ----- .../cfg-if/.cargo-checksum.json | 1 - .../cfg-if/Cargo.toml | 24 - .../cfg-if/LICENSE-APACHE | 201 - .../cfg-if/LICENSE-MIT | 25 - .../cfg-if/README.md | 52 - .../cfg-if/src/lib.rs | 144 - .../cfg-if/tests/xcrate.rs | 17 - .../clap/.cargo-checksum.json | 1 - .../clap/CHANGELOG.md | 2612 ---- .../clap/CONTRIBUTORS.md | 79 - .../registry-40351f815f426200/clap/Cargo.toml | 126 - .../clap/LICENSE-MIT | 21 - .../registry-40351f815f426200/clap/README.md | 754 -- .../clap/SPONSORS.md | 7 - .../clap/clap-test.rs | 76 - .../registry-40351f815f426200/clap/index.html | 1 - .../registry-40351f815f426200/clap/justfile | 39 - .../clap/rustfmt.toml | 4 - .../clap/src/app/help.rs | 1005 -- .../clap/src/app/macros.rs | 165 - .../clap/src/app/meta.rs | 27 - .../clap/src/app/mod.rs | 1818 --- .../clap/src/app/parser.rs | 1941 --- .../clap/src/app/settings.rs | 986 -- .../clap/src/app/usage.rs | 439 - .../clap/src/app/validator.rs | 460 - .../clap/src/args/any_arg.rs | 43 - .../clap/src/args/arg.rs | 3612 ------ .../clap/src/args/arg_builder/base.rs | 35 - .../clap/src/args/arg_builder/flag.rs | 159 - .../clap/src/args/arg_builder/mod.rs | 13 - .../clap/src/args/arg_builder/option.rs | 244 - .../clap/src/args/arg_builder/positional.rs | 229 - .../clap/src/args/arg_builder/switched.rs | 39 - .../clap/src/args/arg_builder/valued.rs | 67 - .../clap/src/args/arg_matcher.rs | 149 - .../clap/src/args/arg_matches.rs | 652 - .../clap/src/args/group.rs | 634 - .../clap/src/args/macros.rs | 109 - .../clap/src/args/matched_arg.rs | 24 - .../clap/src/args/mod.rs | 21 - .../clap/src/args/settings.rs | 165 - .../clap/src/args/subcommand.rs | 68 - .../clap/src/completions/bash.rs | 230 - .../clap/src/completions/fish.rs | 121 - .../clap/src/completions/macros.rs | 29 - .../clap/src/completions/mod.rs | 153 - .../clap/src/completions/powershell.rs | 125 - .../clap/src/completions/shell.rs | 48 - .../clap/src/completions/zsh.rs | 395 - .../clap/src/errors.rs | 884 -- .../registry-40351f815f426200/clap/src/fmt.rs | 181 - .../registry-40351f815f426200/clap/src/lib.rs | 576 - .../clap/src/macros.rs | 1033 -- .../registry-40351f815f426200/clap/src/map.rs | 84 - .../clap/src/osstringext.rs | 135 - .../clap/src/strext.rs | 16 - .../clap/src/suggestions.rs | 116 - .../clap/src/usage_parser.rs | 1198 -- .../cloudabi/.cargo-checksum.json | 1 - .../cloudabi/Cargo.toml | 31 - .../cloudabi/bitflags.rs | 51 - .../cloudabi/cloudabi.rs | 2847 ----- .../epoll/.cargo-checksum.json | 1 - .../epoll/Cargo.toml | 27 - .../registry-40351f815f426200/epoll/LICENSE | 362 - .../registry-40351f815f426200/epoll/README.md | 20 - .../epoll/src/lib.rs | 136 - .../fuchsia-cprng/.cargo-checksum.json | 1 - .../fuchsia-cprng/AUTHORS | 10 - .../fuchsia-cprng/Cargo.toml | 22 - .../fuchsia-cprng/LICENSE | 27 - .../fuchsia-cprng/PATENTS | 22 - .../fuchsia-cprng/src/lib.rs | 57 - .../kvm-bindings/.cargo-checksum.json | 1 - .../kvm-bindings/CHANGELOG.md | 6 - .../kvm-bindings/CONTRIBUTING.md | 71 - .../kvm-bindings/Cargo.toml | 27 - .../kvm-bindings/LICENSE | 202 - .../kvm-bindings/README.md | 31 - .../kvm-bindings/src/arm/bindings_v4_14_0.rs | 6879 ---------- .../kvm-bindings/src/arm/bindings_v4_20_0.rs | 7667 ----------- .../kvm-bindings/src/arm/mod.rs | 24 - .../src/arm64/bindings_v4_14_0.rs | 7098 ----------- .../src/arm64/bindings_v4_20_0.rs | 8603 ------------- .../kvm-bindings/src/arm64/mod.rs | 24 - .../kvm-bindings/src/lib.rs | 21 - .../kvm-bindings/src/x86/bindings_v4_14_0.rs | 9622 -------------- .../kvm-bindings/src/x86/bindings_v4_20_0.rs | 10559 ---------------- .../kvm-bindings/src/x86/mod.rs | 24 - .../kvm-ioctls/.cargo-checksum.json | 1 - .../kvm-ioctls/Cargo.toml | 28 - .../kvm-ioctls/LICENSE-APACHE | 202 - .../kvm-ioctls/LICENSE-MIT | 24 - .../kvm-ioctls/README.md | 96 - .../kvm-ioctls/THIRD-PARTY | 27 - .../kvm-ioctls/kvm-ioctls.iml | 20 - .../kvm-ioctls/src/cap.rs | 136 - .../kvm-ioctls/src/ioctls/device.rs | 97 - .../kvm-ioctls/src/ioctls/mod.rs | 304 - .../kvm-ioctls/src/ioctls/system.rs | 486 - .../kvm-ioctls/src/ioctls/vcpu.rs | 1122 -- .../kvm-ioctls/src/ioctls/vm.rs | 734 -- .../kvm-ioctls/src/kvm_ioctls.rs | 136 - .../kvm-ioctls/src/lib.rs | 213 - .../kvm-ioctls/src/sys_ioctl.rs | 163 - .../kvm-ioctls/tests/conftest.py | 28 - .../kvm-ioctls/tests/coverage | 1 - .../kvm-ioctls/tests/test_coverage.py | 108 - .../libc/.cargo-checksum.json | 1 - .../libc/CONTRIBUTING.md | 66 - .../registry-40351f815f426200/libc/Cargo.toml | 43 - .../libc/LICENSE-APACHE | 201 - .../libc/LICENSE-MIT | 25 - .../registry-40351f815f426200/libc/README.md | 105 - .../registry-40351f815f426200/libc/build.rs | 101 - .../libc/rustfmt.toml | 3 - .../libc/src/cloudabi/aarch64.rs | 4 - .../libc/src/cloudabi/arm.rs | 4 - .../libc/src/cloudabi/mod.rs | 325 - .../libc/src/cloudabi/x86.rs | 4 - .../libc/src/cloudabi/x86_64.rs | 4 - .../libc/src/fixed_width_ints.rs | 44 - .../libc/src/fuchsia/aarch64.rs | 347 - .../libc/src/fuchsia/align.rs | 142 - .../libc/src/fuchsia/mod.rs | 4316 ------- .../libc/src/fuchsia/no_align.rs | 129 - .../libc/src/fuchsia/x86_64.rs | 502 - .../libc/src/hermit/aarch64.rs | 2 - .../libc/src/hermit/mod.rs | 74 - .../libc/src/hermit/x86_64.rs | 2 - .../registry-40351f815f426200/libc/src/lib.rs | 143 - .../libc/src/macros.rs | 195 - .../registry-40351f815f426200/libc/src/sgx.rs | 47 - .../libc/src/switch.rs | 50 - .../libc/src/unix/align.rs | 6 - .../libc/src/unix/bsd/apple/b32.rs | 97 - .../libc/src/unix/bsd/apple/b64.rs | 102 - .../libc/src/unix/bsd/apple/mod.rs | 3349 ----- .../src/unix/bsd/freebsdlike/dragonfly/mod.rs | 1060 -- .../unix/bsd/freebsdlike/freebsd/aarch64.rs | 44 - .../src/unix/bsd/freebsdlike/freebsd/arm.rs | 47 - .../bsd/freebsdlike/freebsd/freebsd11/mod.rs | 214 - .../freebsdlike/freebsd/freebsd11/x86_64.rs | 30 - .../bsd/freebsdlike/freebsd/freebsd12/mod.rs | 207 - .../freebsdlike/freebsd/freebsd12/x86_64.rs | 32 - .../src/unix/bsd/freebsdlike/freebsd/mod.rs | 1357 -- .../unix/bsd/freebsdlike/freebsd/powerpc64.rs | 44 - .../src/unix/bsd/freebsdlike/freebsd/x86.rs | 43 - .../unix/bsd/freebsdlike/freebsd/x86_64.rs | 17 - .../libc/src/unix/bsd/freebsdlike/mod.rs | 1316 -- .../libc/src/unix/bsd/mod.rs | 689 - .../libc/src/unix/bsd/netbsdlike/mod.rs | 686 - .../src/unix/bsd/netbsdlike/netbsd/aarch64.rs | 22 - .../src/unix/bsd/netbsdlike/netbsd/arm.rs | 22 - .../src/unix/bsd/netbsdlike/netbsd/mod.rs | 1654 --- .../src/unix/bsd/netbsdlike/netbsd/powerpc.rs | 21 - .../src/unix/bsd/netbsdlike/netbsd/sparc64.rs | 8 - .../src/unix/bsd/netbsdlike/netbsd/x86.rs | 15 - .../src/unix/bsd/netbsdlike/netbsd/x86_64.rs | 23 - .../unix/bsd/netbsdlike/openbsd/aarch64.rs | 14 - .../src/unix/bsd/netbsdlike/openbsd/mod.rs | 1451 --- .../src/unix/bsd/netbsdlike/openbsd/x86.rs | 14 - .../src/unix/bsd/netbsdlike/openbsd/x86_64.rs | 22 - .../libc/src/unix/haiku/b32.rs | 3 - .../libc/src/unix/haiku/b64.rs | 3 - .../libc/src/unix/haiku/mod.rs | 1396 -- .../libc/src/unix/hermit/aarch64.rs | 2 - .../libc/src/unix/hermit/mod.rs | 1024 -- .../libc/src/unix/hermit/x86_64.rs | 2 - .../libc/src/unix/mod.rs | 1206 -- .../libc/src/unix/newlib/aarch64/mod.rs | 5 - .../libc/src/unix/newlib/align.rs | 61 - .../libc/src/unix/newlib/arm/mod.rs | 5 - .../libc/src/unix/newlib/mod.rs | 717 -- .../libc/src/unix/newlib/no_align.rs | 51 - .../libc/src/unix/no_align.rs | 6 - .../libc/src/unix/notbsd/android/b32/arm.rs | 357 - .../libc/src/unix/notbsd/android/b32/mod.rs | 223 - .../libc/src/unix/notbsd/android/b32/x86.rs | 415 - .../src/unix/notbsd/android/b64/aarch64.rs | 325 - .../libc/src/unix/notbsd/android/b64/mod.rs | 281 - .../src/unix/notbsd/android/b64/x86_64.rs | 420 - .../libc/src/unix/notbsd/android/mod.rs | 2209 ---- .../libc/src/unix/notbsd/emscripten/align.rs | 66 - .../libc/src/unix/notbsd/emscripten/mod.rs | 1866 --- .../src/unix/notbsd/emscripten/no_align.rs | 63 - .../libc/src/unix/notbsd/linux/align.rs | 98 - .../libc/src/unix/notbsd/linux/mips/align.rs | 13 - .../libc/src/unix/notbsd/linux/mips/mips32.rs | 695 - .../libc/src/unix/notbsd/linux/mips/mips64.rs | 645 - .../libc/src/unix/notbsd/linux/mips/mod.rs | 1008 -- .../src/unix/notbsd/linux/mips/no_align.rs | 10 - .../libc/src/unix/notbsd/linux/mod.rs | 2672 ---- .../src/unix/notbsd/linux/musl/b32/arm.rs | 844 -- .../src/unix/notbsd/linux/musl/b32/mips.rs | 853 -- .../src/unix/notbsd/linux/musl/b32/mod.rs | 62 - .../src/unix/notbsd/linux/musl/b32/powerpc.rs | 870 -- .../src/unix/notbsd/linux/musl/b32/x86.rs | 952 -- .../src/unix/notbsd/linux/musl/b64/aarch64.rs | 491 - .../src/unix/notbsd/linux/musl/b64/mod.rs | 328 - .../unix/notbsd/linux/musl/b64/powerpc64.rs | 587 - .../src/unix/notbsd/linux/musl/b64/x86_64.rs | 649 - .../libc/src/unix/notbsd/linux/musl/mod.rs | 394 - .../libc/src/unix/notbsd/linux/no_align.rs | 80 - .../libc/src/unix/notbsd/linux/other/align.rs | 13 - .../src/unix/notbsd/linux/other/b32/arm.rs | 612 - .../src/unix/notbsd/linux/other/b32/mod.rs | 392 - .../unix/notbsd/linux/other/b32/powerpc.rs | 617 - .../src/unix/notbsd/linux/other/b32/x86.rs | 895 -- .../unix/notbsd/linux/other/b64/aarch64.rs | 836 -- .../src/unix/notbsd/linux/other/b64/mod.rs | 85 - .../unix/notbsd/linux/other/b64/not_x32.rs | 422 - .../unix/notbsd/linux/other/b64/powerpc64.rs | 937 -- .../unix/notbsd/linux/other/b64/sparc64.rs | 869 -- .../src/unix/notbsd/linux/other/b64/x32.rs | 375 - .../src/unix/notbsd/linux/other/b64/x86_64.rs | 787 -- .../libc/src/unix/notbsd/linux/other/mod.rs | 1142 -- .../src/unix/notbsd/linux/other/no_align.rs | 10 - .../libc/src/unix/notbsd/linux/s390x/align.rs | 10 - .../libc/src/unix/notbsd/linux/s390x/mod.rs | 1403 -- .../src/unix/notbsd/linux/s390x/no_align.rs | 7 - .../libc/src/unix/notbsd/mod.rs | 1404 -- .../libc/src/unix/redox/mod.rs | 596 - .../libc/src/unix/solarish/compat.rs | 21 - .../libc/src/unix/solarish/mod.rs | 2046 --- .../libc/src/unix/uclibc/align.rs | 66 - .../libc/src/unix/uclibc/arm/align.rs | 13 - .../libc/src/unix/uclibc/arm/mod.rs | 687 - .../libc/src/unix/uclibc/arm/no_align.rs | 10 - .../libc/src/unix/uclibc/mips/mips32/align.rs | 13 - .../libc/src/unix/uclibc/mips/mips32/mod.rs | 627 - .../src/unix/uclibc/mips/mips32/no_align.rs | 10 - .../libc/src/unix/uclibc/mips/mips64/align.rs | 10 - .../libc/src/unix/uclibc/mips/mips64/mod.rs | 213 - .../src/unix/uclibc/mips/mips64/no_align.rs | 8 - .../libc/src/unix/uclibc/mips/mod.rs | 478 - .../libc/src/unix/uclibc/mod.rs | 1997 --- .../libc/src/unix/uclibc/no_align.rs | 53 - .../libc/src/unix/uclibc/x86_64/align.rs | 77 - .../libc/src/unix/uclibc/x86_64/l4re.rs | 48 - .../libc/src/unix/uclibc/x86_64/mod.rs | 312 - .../libc/src/unix/uclibc/x86_64/no_align.rs | 59 - .../libc/src/unix/uclibc/x86_64/other.rs | 5 - .../libc/src/wasi.rs | 1328 -- .../libc/src/windows/gnu.rs | 13 - .../libc/src/windows/mod.rs | 457 - .../libc/src/windows/msvc.rs | 10 - .../log/.cargo-checksum.json | 1 - .../log/CHANGELOG.md | 123 - .../registry-40351f815f426200/log/Cargo.toml | 59 - .../log/LICENSE-APACHE | 201 - .../registry-40351f815f426200/log/LICENSE-MIT | 25 - .../registry-40351f815f426200/log/README.md | 88 - .../log/appveyor.yml | 19 - .../registry-40351f815f426200/log/src/lib.rs | 1469 --- .../log/src/macros.rs | 253 - .../log/src/serde.rs | 327 - .../log/tests/filters.rs | 66 - .../numtoa/.cargo-checksum.json | 1 - .../numtoa/Cargo.toml | 26 - .../numtoa/LICENSE-APACHE | 202 - .../numtoa/LICENSE-MIT | 21 - .../numtoa/README.md | 65 - .../numtoa/src/lib.rs | 540 - .../proc-macro2/.cargo-checksum.json | 1 - .../proc-macro2/Cargo.toml | 39 - .../proc-macro2/LICENSE-APACHE | 201 - .../proc-macro2/LICENSE-MIT | 25 - .../proc-macro2/README.md | 100 - .../proc-macro2/build.rs | 157 - .../proc-macro2/src/fallback.rs | 1435 --- .../proc-macro2/src/lib.rs | 1156 -- .../proc-macro2/src/strnom.rs | 393 - .../proc-macro2/src/wrapper.rs | 928 -- .../proc-macro2/tests/marker.rs | 61 - .../proc-macro2/tests/test.rs | 452 - .../quote/.cargo-checksum.json | 1 - .../quote/Cargo.toml | 33 - .../quote/LICENSE-APACHE | 201 - .../quote/LICENSE-MIT | 25 - .../registry-40351f815f426200/quote/README.md | 241 - .../quote/src/ext.rs | 112 - .../quote/src/lib.rs | 861 -- .../quote/src/runtime.rs | 119 - .../quote/src/to_tokens.rs | 205 - .../quote/tests/conditional/integer128.rs | 11 - .../quote/tests/test.rs | 295 - .../rand/.cargo-checksum.json | 1 - .../rand/CHANGELOG.md | 522 - .../registry-40351f815f426200/rand/COPYRIGHT | 12 - .../registry-40351f815f426200/rand/Cargo.toml | 90 - .../rand/LICENSE-APACHE | 201 - .../rand/LICENSE-MIT | 26 - .../registry-40351f815f426200/rand/README.md | 122 - .../rand/benches/distributions.rs | 259 - .../rand/benches/generators.rs | 240 - .../rand/benches/misc.rs | 160 - .../rand/benches/seq.rs | 174 - .../registry-40351f815f426200/rand/build.rs | 10 - .../rand/examples/monte-carlo.rs | 51 - .../rand/examples/monty-hall.rs | 116 - .../rand/src/deprecated.rs | 544 - .../rand/src/distributions/bernoulli.rs | 165 - .../rand/src/distributions/binomial.rs | 177 - .../rand/src/distributions/cauchy.rs | 115 - .../rand/src/distributions/dirichlet.rs | 137 - .../rand/src/distributions/exponential.rs | 124 - .../rand/src/distributions/float.rs | 259 - .../rand/src/distributions/gamma.rs | 413 - .../rand/src/distributions/integer.rs | 161 - .../rand/src/distributions/mod.rs | 608 - .../rand/src/distributions/normal.rs | 197 - .../rand/src/distributions/other.rs | 219 - .../rand/src/distributions/pareto.rs | 74 - .../rand/src/distributions/poisson.rs | 157 - .../rand/src/distributions/triangular.rs | 86 - .../rand/src/distributions/uniform.rs | 1283 -- .../rand/src/distributions/unit_circle.rs | 101 - .../rand/src/distributions/unit_sphere.rs | 99 - .../rand/src/distributions/utils.rs | 504 - .../rand/src/distributions/weibull.rs | 71 - .../rand/src/distributions/weighted.rs | 230 - .../rand/src/distributions/ziggurat_tables.rs | 279 - .../registry-40351f815f426200/rand/src/lib.rs | 830 -- .../rand/src/prelude.rs | 27 - .../rand/src/prng/mod.rs | 37 - .../rand/src/rngs/adapter/mod.rs | 15 - .../rand/src/rngs/adapter/read.rs | 136 - .../rand/src/rngs/adapter/reseeding.rs | 370 - .../rand/src/rngs/entropy.rs | 248 - .../rand/src/rngs/mock.rs | 59 - .../rand/src/rngs/mod.rs | 167 - .../rand/src/rngs/small.rs | 106 - .../rand/src/rngs/std.rs | 85 - .../rand/src/rngs/thread.rs | 137 - .../rand/src/seq/index.rs | 378 - .../rand/src/seq/mod.rs | 829 -- .../rand/tests/uniformity.rs | 67 - .../rand_chacha/.cargo-checksum.json | 1 - .../rand_chacha/CHANGELOG.md | 12 - .../rand_chacha/COPYRIGHT | 12 - .../rand_chacha/Cargo.toml | 35 - .../rand_chacha/LICENSE-APACHE | 201 - .../rand_chacha/LICENSE-MIT | 26 - .../rand_chacha/README.md | 45 - .../rand_chacha/build.rs | 7 - .../rand_chacha/src/chacha.rs | 449 - .../rand_chacha/src/lib.rs | 25 - .../rand_core-0.3.1/.cargo-checksum.json | 1 - .../rand_core-0.3.1/CHANGELOG.md | 36 - .../rand_core-0.3.1/COPYRIGHT | 12 - .../rand_core-0.3.1/Cargo.toml | 37 - .../rand_core-0.3.1/LICENSE-APACHE | 201 - .../rand_core-0.3.1/LICENSE-MIT | 26 - .../rand_core-0.3.1/README.md | 65 - .../rand_core-0.3.1/src/block.rs | 499 - .../rand_core-0.3.1/src/error.rs | 177 - .../rand_core-0.3.1/src/impls.rs | 165 - .../rand_core-0.3.1/src/le.rs | 68 - .../rand_core-0.3.1/src/lib.rs | 46 - .../rand_core/.cargo-checksum.json | 1 - .../rand_core/CHANGELOG.md | 36 - .../rand_core/COPYRIGHT | 12 - .../rand_core/Cargo.toml | 41 - .../rand_core/LICENSE-APACHE | 201 - .../rand_core/LICENSE-MIT | 26 - .../rand_core/README.md | 66 - .../rand_core/src/block.rs | 499 - .../rand_core/src/error.rs | 177 - .../rand_core/src/impls.rs | 165 - .../rand_core/src/le.rs | 68 - .../rand_core/src/lib.rs | 477 - .../rand_hc/.cargo-checksum.json | 1 - .../rand_hc/CHANGELOG.md | 8 - .../rand_hc/COPYRIGHT | 12 - .../rand_hc/Cargo.toml | 32 - .../rand_hc/LICENSE-APACHE | 201 - .../rand_hc/LICENSE-MIT | 25 - .../rand_hc/README.md | 44 - .../rand_hc/src/hc128.rs | 462 - .../rand_hc/src/lib.rs | 25 - .../rand_isaac/.cargo-checksum.json | 1 - .../rand_isaac/CHANGELOG.md | 12 - .../rand_isaac/COPYRIGHT | 12 - .../rand_isaac/Cargo.toml | 45 - .../rand_isaac/LICENSE-APACHE | 201 - .../rand_isaac/LICENSE-MIT | 26 - .../rand_isaac/README.md | 47 - .../rand_isaac/src/isaac.rs | 484 - .../rand_isaac/src/isaac64.rs | 481 - .../rand_isaac/src/isaac_array.rs | 136 - .../rand_isaac/src/lib.rs | 36 - .../rand_jitter/.cargo-checksum.json | 1 - .../rand_jitter/CHANGELOG.md | 21 - .../rand_jitter/COPYRIGHT | 12 - .../rand_jitter/Cargo.toml | 42 - .../rand_jitter/LICENSE-APACHE | 201 - .../rand_jitter/LICENSE-MIT | 26 - .../rand_jitter/README.md | 104 - .../rand_jitter/benches/mod.rs | 18 - .../rand_jitter/src/dummy_log.rs | 10 - .../rand_jitter/src/error.rs | 70 - .../rand_jitter/src/lib.rs | 718 -- .../rand_jitter/src/platform.rs | 44 - .../rand_jitter/tests/mod.rs | 31 - .../rand_os/.cargo-checksum.json | 1 - .../rand_os/CHANGELOG.md | 22 - .../rand_os/COPYRIGHT | 12 - .../rand_os/Cargo.toml | 53 - .../rand_os/LICENSE-APACHE | 201 - .../rand_os/LICENSE-MIT | 26 - .../rand_os/README.md | 33 - .../rand_os/src/cloudabi.rs | 39 - .../rand_os/src/dragonfly_haiku_emscripten.rs | 39 - .../rand_os/src/dummy_log.rs | 10 - .../rand_os/src/freebsd.rs | 45 - .../rand_os/src/fuchsia.rs | 28 - .../rand_os/src/lib.rs | 440 - .../rand_os/src/linux_android.rs | 186 - .../rand_os/src/macos.rs | 53 - .../rand_os/src/netbsd.rs | 57 - .../rand_os/src/openbsd_bitrig.rs | 40 - .../rand_os/src/random_device.rs | 70 - .../rand_os/src/redox.rs | 30 - .../rand_os/src/sgx.rs | 38 - .../rand_os/src/solarish.rs | 195 - .../rand_os/src/wasm32_bindgen.rs | 92 - .../rand_os/src/wasm32_stdweb.rs | 107 - .../rand_os/src/windows.rs | 44 - .../rand_os/tests/mod.rs | 80 - .../rand_pcg/.cargo-checksum.json | 1 - .../rand_pcg/CHANGELOG.md | 19 - .../rand_pcg/COPYRIGHT | 12 - .../rand_pcg/Cargo.toml | 47 - .../rand_pcg/LICENSE-APACHE | 201 - .../rand_pcg/LICENSE-MIT | 26 - .../rand_pcg/README.md | 43 - .../rand_pcg/build.rs | 7 - .../rand_pcg/src/lib.rs | 48 - .../rand_pcg/src/pcg128.rs | 122 - .../rand_pcg/src/pcg64.rs | 141 - .../rand_pcg/tests/lcg64xsh32.rs | 58 - .../rand_pcg/tests/mcg128xsl64.rs | 59 - .../rand_xorshift/.cargo-checksum.json | 1 - .../rand_xorshift/CHANGELOG.md | 11 - .../rand_xorshift/COPYRIGHT | 12 - .../rand_xorshift/Cargo.toml | 45 - .../rand_xorshift/LICENSE-APACHE | 201 - .../rand_xorshift/LICENSE-MIT | 26 - .../rand_xorshift/README.md | 45 - .../rand_xorshift/src/lib.rs | 123 - .../rand_xorshift/tests/mod.rs | 92 - .../rdrand/.cargo-checksum.json | 1 - .../rdrand/Cargo.toml | 28 - .../registry-40351f815f426200/rdrand/LICENSE | 12 - .../rdrand/README.mkd | 8 - .../rdrand/appveyor.yml | 27 - .../rdrand/benches/rdrand.rs | 49 - .../rdrand/benches/rdseed.rs | 49 - .../rdrand/benches/std.rs | 31 - .../rdrand/src/changelog.rs | 25 - .../rdrand/src/lib.rs | 472 - .../redox_syscall/.cargo-checksum.json | 1 - .../redox_syscall/Cargo.toml | 23 - .../redox_syscall/LICENSE | 22 - .../redox_syscall/README.md | 6 - .../redox_syscall/src/arch/aarch64.rs | 77 - .../redox_syscall/src/arch/arm.rs | 73 - .../redox_syscall/src/arch/x86.rs | 73 - .../redox_syscall/src/arch/x86_64.rs | 74 - .../redox_syscall/src/call.rs | 389 - .../redox_syscall/src/data.rs | 219 - .../redox_syscall/src/error.rs | 311 - .../redox_syscall/src/flag.rs | 162 - .../redox_syscall/src/io/dma.rs | 76 - .../redox_syscall/src/io/io.rs | 67 - .../redox_syscall/src/io/mmio.rs | 31 - .../redox_syscall/src/io/mod.rs | 11 - .../redox_syscall/src/io/pio.rs | 89 - .../redox_syscall/src/lib.rs | 49 - .../redox_syscall/src/number.rs | 76 - .../redox_syscall/src/scheme/generate.sh | 20 - .../redox_syscall/src/scheme/mod.rs | 9 - .../redox_syscall/src/scheme/scheme.rs | 167 - .../redox_syscall/src/scheme/scheme_block.rs | 167 - .../src/scheme/scheme_block_mut.rs | 167 - .../redox_syscall/src/scheme/scheme_mut.rs | 167 - .../redox_termios/.cargo-checksum.json | 1 - .../redox_termios/Cargo.toml | 26 - .../redox_termios/LICENSE | 21 - .../redox_termios/README.md | 2 - .../redox_termios/src/lib.rs | 218 - .../remain/.cargo-checksum.json | 1 - .../remain/Cargo.toml | 39 - .../remain/LICENSE-APACHE | 201 - .../remain/LICENSE-MIT | 23 - .../remain/README.md | 135 - .../remain/src/check.rs | 83 - .../remain/src/compare.rs | 45 - .../remain/src/emit.rs | 39 - .../remain/src/format.rs | 27 - .../remain/src/lib.rs | 176 - .../remain/src/parse.rs | 80 - .../remain/src/visit.rs | 77 - .../remain/tests/compiletest.rs | 6 - .../remain/tests/stable.rs | 45 - .../remain/tests/ui/enum.rs | 11 - .../remain/tests/ui/enum.stderr | 5 - .../remain/tests/ui/let-stable.rs | 19 - .../remain/tests/ui/let-stable.stderr | 5 - .../remain/tests/ui/let-unstable.rs | 22 - .../remain/tests/ui/let-unstable.stderr | 5 - .../remain/tests/ui/match-stable.rs | 19 - .../remain/tests/ui/match-stable.stderr | 5 - .../remain/tests/ui/match-unstable.rs | 22 - .../remain/tests/ui/match-unstable.stderr | 5 - .../remain/tests/ui/struct.rs | 11 - .../remain/tests/ui/struct.stderr | 5 - .../remain/tests/ui/unnamed-fields.rs | 7 - .../remain/tests/ui/unnamed-fields.stderr | 11 - .../remain/tests/ui/unsupported.rs | 10 - .../remain/tests/ui/unsupported.stderr | 5 - .../remain/tests/unstable.rs | 45 - .../remove_dir_all/.cargo-checksum.json | 1 - .../remove_dir_all/Cargo.toml | 26 - .../remove_dir_all/LICENCE-APACHE | 191 - .../remove_dir_all/LICENCE-MIT | 26 - .../remove_dir_all/src/fs.rs | 265 - .../remove_dir_all/src/lib.rs | 12 - .../serde/.cargo-checksum.json | 1 - .../serde/Cargo.toml | 46 - .../serde/LICENSE-APACHE | 201 - .../serde/LICENSE-MIT | 23 - .../registry-40351f815f426200/serde/README.md | 99 - .../registry-40351f815f426200/serde/build.rs | 100 - .../serde/crates-io.md | 52 - .../serde/src/de/from_primitive.rs | 260 - .../serde/src/de/ignored_any.rs | 218 - .../serde/src/de/impls.rs | 2545 ---- .../serde/src/de/mod.rs | 2269 ---- .../serde/src/de/utf8.rs | 46 - .../serde/src/de/value.rs | 1497 --- .../serde/src/export.rs | 36 - .../serde/src/integer128.rs | 82 - .../serde/src/lib.rs | 255 - .../serde/src/macros.rs | 236 - .../serde/src/private/de.rs | 2935 ----- .../serde/src/private/macros.rs | 140 - .../serde/src/private/mod.rs | 4 - .../serde/src/private/ser.rs | 1326 -- .../serde/src/ser/impls.rs | 840 -- .../serde/src/ser/impossible.rs | 216 - .../serde/src/ser/mod.rs | 1988 --- .../strsim/.cargo-checksum.json | 1 - .../strsim/CHANGELOG.md | 103 - .../strsim/Cargo.toml | 17 - .../registry-40351f815f426200/strsim/LICENSE | 22 - .../strsim/README.md | 95 - .../strsim/appveyor.yml | 13 - vendor/registry-40351f815f426200/strsim/dev | 14 - .../strsim/src/lib.rs | 911 -- .../strsim/tests/lib.rs | 89 - .../syn/.cargo-checksum.json | 1 - .../registry-40351f815f426200/syn/Cargo.toml | 68 - .../syn/LICENSE-APACHE | 201 - .../registry-40351f815f426200/syn/LICENSE-MIT | 23 - .../registry-40351f815f426200/syn/README.md | 256 - vendor/registry-40351f815f426200/syn/build.rs | 72 - .../registry-40351f815f426200/syn/src/attr.rs | 681 - .../syn/src/buffer.rs | 366 - .../syn/src/custom_keyword.rs | 252 - .../syn/src/custom_punctuation.rs | 309 - .../registry-40351f815f426200/syn/src/data.rs | 384 - .../syn/src/derive.rs | 255 - .../syn/src/error.rs | 221 - .../syn/src/export.rs | 35 - .../registry-40351f815f426200/syn/src/expr.rs | 3816 ------ .../registry-40351f815f426200/syn/src/ext.rs | 145 - .../registry-40351f815f426200/syn/src/file.rs | 113 - .../syn/src/gen/fold.rs | 2937 ----- .../syn/src/gen/visit.rs | 3371 ----- .../syn/src/gen/visit_mut.rs | 3278 ----- .../syn/src/gen_helper.rs | 154 - .../syn/src/generics.rs | 1116 -- .../syn/src/group.rs | 283 - .../syn/src/ident.rs | 86 - .../registry-40351f815f426200/syn/src/item.rs | 2677 ---- .../syn/src/keyword.rs | 0 .../registry-40351f815f426200/syn/src/lib.rs | 727 -- .../syn/src/lifetime.rs | 155 - .../registry-40351f815f426200/syn/src/lit.rs | 1103 -- .../syn/src/lookahead.rs | 168 - .../registry-40351f815f426200/syn/src/mac.rs | 131 - .../syn/src/macros.rs | 165 - .../registry-40351f815f426200/syn/src/op.rs | 231 - .../syn/src/parse.rs | 1111 -- .../syn/src/parse_macro_input.rs | 103 - .../syn/src/parse_quote.rs | 144 - .../registry-40351f815f426200/syn/src/path.rs | 704 -- .../syn/src/print.rs | 16 - .../syn/src/punctuated.rs | 836 -- .../syn/src/sealed.rs | 4 - .../registry-40351f815f426200/syn/src/span.rs | 67 - .../syn/src/spanned.rs | 144 - .../syn/src/thread.rs | 83 - .../syn/src/token.rs | 950 -- .../registry-40351f815f426200/syn/src/tt.rs | 110 - .../registry-40351f815f426200/syn/src/ty.rs | 994 -- .../tempfile/.cargo-checksum.json | 1 - .../tempfile/Cargo.toml | 38 - .../tempfile/LICENSE-APACHE | 201 - .../tempfile/LICENSE-MIT | 25 - .../registry-40351f815f426200/tempfile/NEWS | 153 - .../tempfile/README.md | 52 - .../tempfile/src/dir.rs | 408 - .../tempfile/src/error.rs | 50 - .../tempfile/src/file/imp/mod.rs | 12 - .../tempfile/src/file/imp/other.rs | 30 - .../tempfile/src/file/imp/unix.rs | 137 - .../tempfile/src/file/imp/windows.rs | 108 - .../tempfile/src/file/mod.rs | 910 -- .../tempfile/src/lib.rs | 455 - .../tempfile/src/spooled.rs | 153 - .../tempfile/src/util.rs | 51 - .../tempfile/tests/namedtempfile.rs | 269 - .../tempfile/tests/spooled.rs | 307 - .../tempfile/tests/tempdir.rs | 261 - .../tempfile/tests/tempfile.rs | 62 - .../termion/.cargo-checksum.json | 1 - .../termion/Cargo.toml | 32 - .../registry-40351f815f426200/termion/LICENSE | 21 - .../termion/README.md | 181 - .../termion/examples/alternate_screen.rs | 17 - .../termion/examples/alternate_screen_raw.rs | 40 - .../termion/examples/async.rs | 39 - .../termion/examples/click.rs | 35 - .../termion/examples/color.rs | 10 - .../termion/examples/commie.rs | 51 - .../termion/examples/detect_color.rs | 19 - .../termion/examples/is_tty.rs | 11 - .../termion/examples/keys.rs | 44 - .../termion/examples/mouse.rs | 46 - .../termion/examples/rainbow.rs | 60 - .../termion/examples/read.rs | 23 - .../termion/examples/rustc_fun.rs | 24 - .../termion/examples/simple.rs | 42 - .../termion/examples/size.rs | 7 - .../termion/examples/truecolor.rs | 12 - .../termion/logo.svg | 9 - .../termion/src/async.rs | 101 - .../termion/src/clear.rs | 9 - .../termion/src/color.rs | 306 - .../termion/src/cursor.rs | 222 - .../termion/src/event.rs | 350 - .../termion/src/input.rs | 388 - .../termion/src/lib.rs | 63 - .../termion/src/macros.rs | 27 - .../termion/src/raw.rs | 131 - .../termion/src/screen.rs | 91 - .../termion/src/scroll.rs | 23 - .../termion/src/style.rs | 22 - .../termion/src/sys/redox/attr.rs | 33 - .../termion/src/sys/redox/mod.rs | 15 - .../termion/src/sys/redox/size.rs | 18 - .../termion/src/sys/redox/tty.rs | 22 - .../termion/src/sys/unix/attr.rs | 29 - .../termion/src/sys/unix/mod.rs | 33 - .../termion/src/sys/unix/size.rs | 20 - .../termion/src/sys/unix/tty.rs | 17 - .../textwrap/.cargo-checksum.json | 1 - .../textwrap/Cargo.toml | 49 - .../textwrap/LICENSE | 21 - .../textwrap/README.md | 323 - .../textwrap/benches/linear.rs | 122 - .../textwrap/examples/layout.rs | 39 - .../textwrap/examples/termwidth.rs | 21 - .../textwrap/src/lib.rs | 1216 -- .../textwrap/tests/version-numbers.rs | 12 - .../unicode-width/.cargo-checksum.json | 1 - .../unicode-width/COPYRIGHT | 7 - .../unicode-width/Cargo.toml | 29 - .../unicode-width/LICENSE-APACHE | 201 - .../unicode-width/LICENSE-MIT | 25 - .../unicode-width/README.md | 39 - .../unicode-width/scripts/unicode.py | 321 - .../unicode-width/src/lib.rs | 131 - .../unicode-width/src/tables.rs | 273 - .../unicode-width/src/tests.rs | 156 - .../unicode-xid/.cargo-checksum.json | 1 - .../unicode-xid/COPYRIGHT | 7 - .../unicode-xid/Cargo.toml | 26 - .../unicode-xid/LICENSE-APACHE | 201 - .../unicode-xid/LICENSE-MIT | 25 - .../unicode-xid/README.md | 34 - .../unicode-xid/scripts/unicode.py | 187 - .../unicode-xid/src/lib.rs | 87 - .../unicode-xid/src/tables.rs | 426 - .../unicode-xid/src/tests.rs | 113 - .../vec_map/.cargo-checksum.json | 1 - .../vec_map/Cargo.toml | 30 - .../vec_map/LICENSE-APACHE | 201 - .../vec_map/LICENSE-MIT | 25 - .../vec_map/README.md | 15 - .../vec_map/deploy-docs.sh | 20 - .../vec_map/src/lib.rs | 1623 --- .../.cargo-checksum.json | 1 - .../winapi-i686-pc-windows-gnu/Cargo.toml | 22 - .../winapi-i686-pc-windows-gnu/build.rs | 18 - .../lib/libwinapi_aclui.a | Bin 6530 -> 0 bytes .../lib/libwinapi_activeds.a | Bin 23432 -> 0 bytes .../lib/libwinapi_advapi32.a | Bin 638848 -> 0 bytes .../lib/libwinapi_advpack.a | Bin 59044 -> 0 bytes .../lib/libwinapi_amsi.a | Bin 8748 -> 0 bytes ...ibwinapi_api-ms-win-net-isolation-l1-1-0.a | Bin 9332 -> 0 bytes .../lib/libwinapi_apidll.a | Bin 2414 -> 0 bytes .../lib/libwinapi_appmgmts.a | Bin 14600 -> 0 bytes .../lib/libwinapi_appnotify.a | Bin 3514 -> 0 bytes .../lib/libwinapi_asycfilt.a | Bin 2516 -> 0 bytes .../lib/libwinapi_audioeng.a | Bin 3232 -> 0 bytes .../lib/libwinapi_authz.a | Bin 32246 -> 0 bytes .../lib/libwinapi_avifil32.a | Bin 60434 -> 0 bytes .../lib/libwinapi_avrt.a | Bin 18480 -> 0 bytes .../lib/libwinapi_basesrv.a | Bin 6636 -> 0 bytes .../lib/libwinapi_bcrypt.a | Bin 46134 -> 0 bytes .../lib/libwinapi_bluetoothapis.a | Bin 83674 -> 0 bytes .../lib/libwinapi_bthprops.a | Bin 35596 -> 0 bytes .../lib/libwinapi_cabinet.a | Bin 22048 -> 0 bytes .../lib/libwinapi_certadm.a | Bin 26176 -> 0 bytes .../lib/libwinapi_certpoleng.a | Bin 13278 -> 0 bytes .../lib/libwinapi_cfgmgr32.a | Bin 195160 -> 0 bytes .../lib/libwinapi_chakrart.a | Bin 97940 -> 0 bytes .../lib/libwinapi_cldapi.a | Bin 37550 -> 0 bytes .../lib/libwinapi_clfsw32.a | Bin 51152 -> 0 bytes .../lib/libwinapi_clusapi.a | Bin 228586 -> 0 bytes .../lib/libwinapi_comctl32.a | Bin 103756 -> 0 bytes .../lib/libwinapi_comdlg32.a | Bin 17976 -> 0 bytes .../lib/libwinapi_comppkgsup.a | Bin 9324 -> 0 bytes .../lib/libwinapi_compstui.a | Bin 4940 -> 0 bytes .../lib/libwinapi_comsvcs.a | Bin 15250 -> 0 bytes .../lib/libwinapi_coremessaging.a | Bin 24934 -> 0 bytes .../lib/libwinapi_credui.a | Bin 20262 -> 0 bytes .../lib/libwinapi_crypt32.a | Bin 201352 -> 0 bytes .../lib/libwinapi_cryptdll.a | Bin 17408 -> 0 bytes .../lib/libwinapi_cryptnet.a | Bin 5888 -> 0 bytes .../lib/libwinapi_cryptui.a | Bin 36956 -> 0 bytes .../lib/libwinapi_cryptxml.a | Bin 17188 -> 0 bytes .../lib/libwinapi_cscapi.a | Bin 6646 -> 0 bytes .../lib/libwinapi_cscdll.a | Bin 16026 -> 0 bytes .../lib/libwinapi_d2d1.a | Bin 12224 -> 0 bytes .../lib/libwinapi_d3d10.a | Bin 25950 -> 0 bytes .../lib/libwinapi_d3d10_1.a | Bin 26034 -> 0 bytes .../lib/libwinapi_d3d11.a | Bin 28246 -> 0 bytes .../lib/libwinapi_d3d12.a | Bin 10262 -> 0 bytes .../lib/libwinapi_d3d9.a | Bin 10368 -> 0 bytes .../lib/libwinapi_d3dcompiler.a | Bin 23522 -> 0 bytes .../lib/libwinapi_d3dcsx.a | Bin 9064 -> 0 bytes .../lib/libwinapi_d3dcsxd.a | Bin 9070 -> 0 bytes .../lib/libwinapi_davclnt.a | Bin 19272 -> 0 bytes .../lib/libwinapi_dbgeng.a | Bin 4798 -> 0 bytes .../lib/libwinapi_dbghelp.a | Bin 188614 -> 0 bytes .../lib/libwinapi_dciman32.a | Bin 17464 -> 0 bytes .../lib/libwinapi_dcomp.a | Bin 6814 -> 0 bytes .../lib/libwinapi_ddraw.a | Bin 12118 -> 0 bytes .../lib/libwinapi_deviceaccess.a | Bin 4240 -> 0 bytes .../lib/libwinapi_devmgr.a | Bin 17380 -> 0 bytes .../lib/libwinapi_dflayout.a | Bin 2516 -> 0 bytes .../lib/libwinapi_dhcpcsvc.a | Bin 54208 -> 0 bytes .../lib/libwinapi_dhcpcsvc6.a | Bin 19586 -> 0 bytes .../lib/libwinapi_dhcpsapi.a | Bin 173528 -> 0 bytes .../lib/libwinapi_difxapi.a | Bin 11540 -> 0 bytes .../lib/libwinapi_dinput8.a | Bin 2498 -> 0 bytes .../lib/libwinapi_dmprocessxmlfiltered.a | Bin 4340 -> 0 bytes .../lib/libwinapi_dnsapi.a | Bin 222244 -> 0 bytes .../lib/libwinapi_dnsperf.a | Bin 4178 -> 0 bytes .../lib/libwinapi_dnsrslvr.a | Bin 4908 -> 0 bytes .../lib/libwinapi_dpx.a | Bin 5510 -> 0 bytes .../lib/libwinapi_drt.a | Bin 14256 -> 0 bytes .../lib/libwinapi_drtprov.a | Bin 9422 -> 0 bytes .../lib/libwinapi_drttransport.a | Bin 3408 -> 0 bytes .../lib/libwinapi_dsound.a | Bin 9906 -> 0 bytes .../lib/libwinapi_dsprop.a | Bin 9802 -> 0 bytes .../lib/libwinapi_dssec.a | Bin 4982 -> 0 bytes .../lib/libwinapi_dststlog.a | Bin 2440 -> 0 bytes .../lib/libwinapi_dsuiext.a | Bin 28246 -> 0 bytes .../lib/libwinapi_dwmapi.a | Bin 26370 -> 0 bytes .../lib/libwinapi_dwrite.a | Bin 2496 -> 0 bytes .../lib/libwinapi_dxgi.a | Bin 9100 -> 0 bytes .../lib/libwinapi_dxva2.a | Bin 33790 -> 0 bytes .../lib/libwinapi_eappcfg.a | Bin 14754 -> 0 bytes .../lib/libwinapi_eappprxy.a | Bin 16904 -> 0 bytes .../lib/libwinapi_easregprov.a | Bin 3434 -> 0 bytes .../lib/libwinapi_efswrt.a | Bin 16522 -> 0 bytes .../lib/libwinapi_elscore.a | Bin 5730 -> 0 bytes .../lib/libwinapi_esent.a | Bin 297340 -> 0 bytes .../lib/libwinapi_evr.a | Bin 9022 -> 0 bytes .../lib/libwinapi_faultrep.a | Bin 9740 -> 0 bytes .../lib/libwinapi_feclient.a | Bin 38976 -> 0 bytes .../lib/libwinapi_fhsvcctl.a | Bin 13264 -> 0 bytes .../lib/libwinapi_fltlib.a | Bin 25124 -> 0 bytes .../lib/libwinapi_fontsub.a | Bin 3260 -> 0 bytes .../lib/libwinapi_framedyd.a | Bin 2448 -> 0 bytes .../lib/libwinapi_framedyn.a | Bin 2448 -> 0 bytes .../lib/libwinapi_fwpuclnt.a | Bin 230628 -> 0 bytes .../lib/libwinapi_fxsutility.a | Bin 3334 -> 0 bytes .../lib/libwinapi_gdi32.a | Bin 467986 -> 0 bytes .../lib/libwinapi_gdiplus.a | Bin 519444 -> 0 bytes .../lib/libwinapi_glmf32.a | Bin 105898 -> 0 bytes .../lib/libwinapi_glu32.a | Bin 42450 -> 0 bytes .../lib/libwinapi_gpedit.a | Bin 9510 -> 0 bytes .../lib/libwinapi_hbaapi.a | Bin 77788 -> 0 bytes .../lib/libwinapi_hid.a | Bin 37396 -> 0 bytes .../lib/libwinapi_hlink.a | Bin 24690 -> 0 bytes .../lib/libwinapi_hrtfapo.a | Bin 4928 -> 0 bytes .../lib/libwinapi_httpapi.a | Bin 37110 -> 0 bytes .../lib/libwinapi_iashlpr.a | Bin 10976 -> 0 bytes .../lib/libwinapi_icm32.a | Bin 18518 -> 0 bytes .../lib/libwinapi_icmui.a | Bin 3290 -> 0 bytes .../lib/libwinapi_icuin.a | Bin 472558 -> 0 bytes .../lib/libwinapi_icuuc.a | Bin 672918 -> 0 bytes .../lib/libwinapi_imagehlp.a | Bin 121240 -> 0 bytes .../lib/libwinapi_imgutil.a | Bin 8742 -> 0 bytes .../lib/libwinapi_imm32.a | Bin 67314 -> 0 bytes .../lib/libwinapi_infocardapi.a | Bin 14986 -> 0 bytes .../lib/libwinapi_inkobjcore.a | Bin 25390 -> 0 bytes .../lib/libwinapi_inseng.a | Bin 7268 -> 0 bytes .../lib/libwinapi_iphlpapi.a | Bin 232092 -> 0 bytes .../lib/libwinapi_iprop.a | Bin 7970 -> 0 bytes .../lib/libwinapi_irprops.a | Bin 31162 -> 0 bytes .../lib/libwinapi_iscsidsc.a | Bin 68212 -> 0 bytes .../lib/libwinapi_jsrt.a | Bin 75092 -> 0 bytes .../lib/libwinapi_kernel32.a | Bin 1061514 -> 0 bytes .../lib/libwinapi_ksproxy.a | Bin 6644 -> 0 bytes .../lib/libwinapi_ksuser.a | Bin 8030 -> 0 bytes .../lib/libwinapi_ktmw32.a | Bin 37906 -> 0 bytes .../lib/libwinapi_loadperf.a | Bin 13324 -> 0 bytes .../lib/libwinapi_lz32.a | Bin 12284 -> 0 bytes .../lib/libwinapi_magnification.a | Bin 17366 -> 0 bytes .../lib/libwinapi_mapi32.a | Bin 123408 -> 0 bytes .../lib/libwinapi_mciole32.a | Bin 10428 -> 0 bytes .../lib/libwinapi_mdmlocalmanagement.a | Bin 4396 -> 0 bytes .../lib/libwinapi_mdmregistration.a | Bin 10384 -> 0 bytes .../lib/libwinapi_mf.a | Bin 63716 -> 0 bytes .../lib/libwinapi_mfcore.a | Bin 31378 -> 0 bytes .../lib/libwinapi_mfplat.a | Bin 126538 -> 0 bytes .../lib/libwinapi_mfplay.a | Bin 2500 -> 0 bytes .../lib/libwinapi_mfreadwrite.a | Bin 6070 -> 0 bytes .../lib/libwinapi_mfsensorgroup.a | Bin 4222 -> 0 bytes .../lib/libwinapi_mfsrcsnk.a | Bin 3336 -> 0 bytes .../lib/libwinapi_mgmtapi.a | Bin 8730 -> 0 bytes .../lib/libwinapi_mi.a | Bin 2496 -> 0 bytes ...inapi_mincore-api-ms-win-core-com-l1-1-0.a | Bin 68470 -> 0 bytes ...inapi_mincore-api-ms-win-core-com-l1-1-1.a | Bin 3554 -> 0 bytes ...inapi_mincore-api-ms-win-core-com-l1-1-2.a | Bin 3470 -> 0 bytes ...api-ms-win-core-com-midlproxystub-l1-1-0.a | Bin 66136 -> 0 bytes ...napi_mincore-api-ms-win-core-comm-l1-1-0.a | Bin 16372 -> 0 bytes ...napi_mincore-api-ms-win-core-comm-l1-1-1.a | Bin 2654 -> 0 bytes ...i_mincore-api-ms-win-core-console-l1-1-0.a | Bin 13390 -> 0 bytes ...i_mincore-api-ms-win-core-console-l2-1-0.a | Bin 34426 -> 0 bytes ..._mincore-api-ms-win-core-datetime-l1-1-0.a | Bin 5148 -> 0 bytes ..._mincore-api-ms-win-core-datetime-l1-1-1.a | Bin 3520 -> 0 bytes ..._mincore-api-ms-win-core-datetime-l1-1-2.a | Bin 2718 -> 0 bytes ...api_mincore-api-ms-win-core-debug-l1-1-0.a | Bin 5140 -> 0 bytes ...api_mincore-api-ms-win-core-debug-l1-1-1.a | Bin 6076 -> 0 bytes ...api_mincore-api-ms-win-core-debug-l1-1-2.a | Bin 2696 -> 0 bytes ...mincore-api-ms-win-core-delayload-l1-1-0.a | Bin 2728 -> 0 bytes ...mincore-api-ms-win-core-delayload-l1-1-1.a | Bin 3604 -> 0 bytes ...ore-api-ms-win-core-errorhandling-l1-1-0.a | Bin 7716 -> 0 bytes ...ore-api-ms-win-core-errorhandling-l1-1-1.a | Bin 6292 -> 0 bytes ...ore-api-ms-win-core-errorhandling-l1-1-2.a | Bin 2772 -> 0 bytes ...ore-api-ms-win-core-errorhandling-l1-1-3.a | Bin 6132 -> 0 bytes ...pi_mincore-api-ms-win-core-fibers-l1-1-0.a | Bin 5014 -> 0 bytes ...pi_mincore-api-ms-win-core-fibers-l1-1-1.a | Bin 2678 -> 0 bytes ...napi_mincore-api-ms-win-core-file-l1-1-0.a | Bin 63546 -> 0 bytes ...napi_mincore-api-ms-win-core-file-l1-2-0.a | Bin 5256 -> 0 bytes ...napi_mincore-api-ms-win-core-file-l1-2-1.a | Bin 4414 -> 0 bytes ...napi_mincore-api-ms-win-core-file-l1-2-2.a | Bin 10068 -> 0 bytes ...napi_mincore-api-ms-win-core-file-l2-1-0.a | Bin 10894 -> 0 bytes ...napi_mincore-api-ms-win-core-file-l2-1-1.a | Bin 2654 -> 0 bytes ...napi_mincore-api-ms-win-core-file-l2-1-2.a | Bin 3456 -> 0 bytes ...napi_mincore-api-ms-win-core-file-l2-1-3.a | Bin 2710 -> 0 bytes ..._mincore-api-ms-win-core-firmware-l1-1-0.a | Bin 5500 -> 0 bytes ...pi_mincore-api-ms-win-core-handle-l1-1-0.a | Bin 6006 -> 0 bytes ...napi_mincore-api-ms-win-core-heap-l1-1-0.a | Bin 13830 -> 0 bytes ...napi_mincore-api-ms-win-core-heap-l2-1-0.a | Bin 7386 -> 0 bytes ...ncore-api-ms-win-core-interlocked-l1-1-0.a | Bin 11308 -> 0 bytes ...ncore-api-ms-win-core-interlocked-l1-2-0.a | Bin 2776 -> 0 bytes ...winapi_mincore-api-ms-win-core-io-l1-1-0.a | Bin 7746 -> 0 bytes ...winapi_mincore-api-ms-win-core-io-l1-1-1.a | Bin 4294 -> 0 bytes ...inapi_mincore-api-ms-win-core-job-l1-1-0.a | Bin 2660 -> 0 bytes ...ore-api-ms-win-core-libraryloader-l1-2-0.a | Bin 26160 -> 0 bytes ...ore-api-ms-win-core-libraryloader-l1-2-1.a | Bin 4340 -> 0 bytes ...ore-api-ms-win-core-libraryloader-l1-2-2.a | Bin 2752 -> 0 bytes ...ore-api-ms-win-core-libraryloader-l2-1-0.a | Bin 3640 -> 0 bytes ...core-api-ms-win-core-localization-l1-2-0.a | Bin 50966 -> 0 bytes ...core-api-ms-win-core-localization-l1-2-1.a | Bin 2746 -> 0 bytes ...core-api-ms-win-core-localization-l1-2-2.a | Bin 3608 -> 0 bytes ...core-api-ms-win-core-localization-l2-1-0.a | Bin 11980 -> 0 bytes ...pi_mincore-api-ms-win-core-memory-l1-1-0.a | Bin 14938 -> 0 bytes ...pi_mincore-api-ms-win-core-memory-l1-1-1.a | Bin 15422 -> 0 bytes ...pi_mincore-api-ms-win-core-memory-l1-1-2.a | Bin 11358 -> 0 bytes ...pi_mincore-api-ms-win-core-memory-l1-1-3.a | Bin 5286 -> 0 bytes ...pi_mincore-api-ms-win-core-memory-l1-1-4.a | Bin 2754 -> 0 bytes ...pi_mincore-api-ms-win-core-memory-l1-1-5.a | Bin 3526 -> 0 bytes ...mincore-api-ms-win-core-namedpipe-l1-1-0.a | Bin 10280 -> 0 bytes ...mincore-api-ms-win-core-namedpipe-l1-2-1.a | Bin 3580 -> 0 bytes ...mincore-api-ms-win-core-namedpipe-l1-2-2.a | Bin 2704 -> 0 bytes ...mincore-api-ms-win-core-namespace-l1-1-0.a | Bin 7052 -> 0 bytes ...napi_mincore-api-ms-win-core-path-l1-1-0.a | Bin 20152 -> 0 bytes ...pi-ms-win-core-processenvironment-l1-1-0.a | Bin 19826 -> 0 bytes ...pi-ms-win-core-processenvironment-l1-2-0.a | Bin 4566 -> 0 bytes ...e-api-ms-win-core-processsnapshot-l1-1-0.a | Bin 10418 -> 0 bytes ...re-api-ms-win-core-processthreads-l1-1-0.a | Bin 42834 -> 0 bytes ...re-api-ms-win-core-processthreads-l1-1-1.a | Bin 13938 -> 0 bytes ...re-api-ms-win-core-processthreads-l1-1-2.a | Bin 9554 -> 0 bytes ...re-api-ms-win-core-processthreads-l1-1-3.a | Bin 12298 -> 0 bytes ...e-api-ms-win-core-processtopology-l1-1-0.a | Bin 4516 -> 0 bytes ...i_mincore-api-ms-win-core-profile-l1-1-0.a | Bin 3594 -> 0 bytes ...api_mincore-api-ms-win-core-psapi-l1-1-0.a | Bin 19748 -> 0 bytes ...pi_mincore-api-ms-win-core-quirks-l1-1-0.a | Bin 8514 -> 0 bytes ...pi_mincore-api-ms-win-core-quirks-l1-1-1.a | Bin 3602 -> 0 bytes ..._mincore-api-ms-win-core-realtime-l1-1-0.a | Bin 6206 -> 0 bytes ..._mincore-api-ms-win-core-realtime-l1-1-1.a | Bin 4482 -> 0 bytes ..._mincore-api-ms-win-core-realtime-l1-1-2.a | Bin 4694 -> 0 bytes ..._mincore-api-ms-win-core-registry-l1-1-0.a | Bin 37102 -> 0 bytes ..._mincore-api-ms-win-core-registry-l1-1-1.a | Bin 5196 -> 0 bytes ..._mincore-api-ms-win-core-registry-l1-1-2.a | Bin 3600 -> 0 bytes ...incore-api-ms-win-core-rtlsupport-l1-1-0.a | Bin 4378 -> 0 bytes ...incore-api-ms-win-core-rtlsupport-l1-2-0.a | Bin 4374 -> 0 bytes ..._mincore-api-ms-win-core-shutdown-l1-1-0.a | Bin 3588 -> 0 bytes ..._mincore-api-ms-win-core-shutdown-l1-1-1.a | Bin 2706 -> 0 bytes ...pi_mincore-api-ms-win-core-string-l1-1-0.a | Bin 8466 -> 0 bytes ...pi_mincore-api-ms-win-core-string-l2-1-0.a | Bin 9878 -> 0 bytes ...pi_mincore-api-ms-win-core-string-l2-1-1.a | Bin 2710 -> 0 bytes ...api_mincore-api-ms-win-core-synch-l1-1-0.a | Bin 35956 -> 0 bytes ...api_mincore-api-ms-win-core-synch-l1-2-0.a | Bin 16246 -> 0 bytes ...api_mincore-api-ms-win-core-synch-l1-2-1.a | Bin 4384 -> 0 bytes ...i_mincore-api-ms-win-core-sysinfo-l1-1-0.a | Bin 20254 -> 0 bytes ...i_mincore-api-ms-win-core-sysinfo-l1-2-0.a | Bin 9452 -> 0 bytes ...i_mincore-api-ms-win-core-sysinfo-l1-2-1.a | Bin 6244 -> 0 bytes ...i_mincore-api-ms-win-core-sysinfo-l1-2-2.a | Bin 2752 -> 0 bytes ...i_mincore-api-ms-win-core-sysinfo-l1-2-3.a | Bin 6064 -> 0 bytes ...re-api-ms-win-core-systemtopology-l1-1-0.a | Bin 3662 -> 0 bytes ...re-api-ms-win-core-systemtopology-l1-1-1.a | Bin 2774 -> 0 bytes ...incore-api-ms-win-core-threadpool-l1-2-0.a | Bin 33978 -> 0 bytes ..._mincore-api-ms-win-core-timezone-l1-1-0.a | Bin 13410 -> 0 bytes ...napi_mincore-api-ms-win-core-util-l1-1-0.a | Bin 5874 -> 0 bytes ...napi_mincore-api-ms-win-core-util-l1-1-1.a | Bin 3528 -> 0 bytes ...i_mincore-api-ms-win-core-version-l1-1-0.a | Bin 5214 -> 0 bytes ...i_mincore-api-ms-win-core-version-l1-1-1.a | Bin 3570 -> 0 bytes ...ncore-api-ms-win-core-winrt-error-l1-1-0.a | Bin 11324 -> 0 bytes ...ncore-api-ms-win-core-winrt-error-l1-1-1.a | Bin 8858 -> 0 bytes ...api_mincore-api-ms-win-core-winrt-l1-1-0.a | Bin 9580 -> 0 bytes ...core-api-ms-win-core-winrt-string-l1-1-0.a | Bin 21686 -> 0 bytes ...core-api-ms-win-core-winrt-string-l1-1-1.a | Bin 2754 -> 0 bytes ...api_mincore-api-ms-win-core-wow64-l1-1-0.a | Bin 4448 -> 0 bytes ...api_mincore-api-ms-win-core-wow64-l1-1-1.a | Bin 7040 -> 0 bytes ...api_mincore-api-ms-win-core-wow64-l1-1-2.a | Bin 2740 -> 0 bytes ...pi_mincore-api-ms-win-core-xstate-l1-1-0.a | Bin 8830 -> 0 bytes ...pi_mincore-api-ms-win-core-xstate-l1-1-1.a | Bin 2682 -> 0 bytes ...pi_mincore-api-ms-win-core-xstate-l1-1-2.a | Bin 2734 -> 0 bytes ...pi_mincore-api-ms-win-core-xstate-l2-1-0.a | Bin 6886 -> 0 bytes ...mincore-api-ms-win-devices-config-l1-1-1.a | Bin 35652 -> 0 bytes ...mincore-api-ms-win-devices-config-l1-1-2.a | Bin 14264 -> 0 bytes ...ncore-api-ms-win-devices-swdevice-l1-1-0.a | Bin 7800 -> 0 bytes ...ncore-api-ms-win-devices-swdevice-l1-1-1.a | Bin 3578 -> 0 bytes ...i-ms-win-eventing-classicprovider-l1-1-0.a | Bin 8650 -> 0 bytes ...core-api-ms-win-eventing-consumer-l1-1-0.a | Bin 4306 -> 0 bytes ...core-api-ms-win-eventing-consumer-l1-1-1.a | Bin 2782 -> 0 bytes ...re-api-ms-win-eventing-controller-l1-1-0.a | Bin 11062 -> 0 bytes ...core-api-ms-win-eventing-provider-l1-1-0.a | Bin 10184 -> 0 bytes ...api_mincore-api-ms-win-power-base-l1-1-0.a | Bin 6304 -> 0 bytes ..._mincore-api-ms-win-power-setting-l1-1-0.a | Bin 8748 -> 0 bytes ...-api-ms-win-security-appcontainer-l1-1-0.a | Bin 2830 -> 0 bytes ..._mincore-api-ms-win-security-base-l1-1-0.a | Bin 82690 -> 0 bytes ..._mincore-api-ms-win-security-base-l1-2-0.a | Bin 7826 -> 0 bytes ..._mincore-api-ms-win-security-base-l1-2-1.a | Bin 2682 -> 0 bytes ..._mincore-api-ms-win-security-base-l1-2-2.a | Bin 2762 -> 0 bytes ...e-api-ms-win-security-credentials-l1-1-0.a | Bin 26312 -> 0 bytes ...ore-api-ms-win-security-lsalookup-l2-1-0.a | Bin 7068 -> 0 bytes ...ore-api-ms-win-security-lsalookup-l2-1-1.a | Bin 2776 -> 0 bytes ..._mincore-api-ms-win-security-sddl-l1-1-0.a | Bin 5596 -> 0 bytes ...i_mincore-api-ms-win-service-core-l1-1-0.a | Bin 4460 -> 0 bytes ...i_mincore-api-ms-win-service-core-l1-1-1.a | Bin 4476 -> 0 bytes ...i_mincore-api-ms-win-service-core-l1-1-2.a | Bin 3566 -> 0 bytes ...ore-api-ms-win-service-management-l1-1-0.a | Bin 7672 -> 0 bytes ...ore-api-ms-win-service-management-l2-1-0.a | Bin 8808 -> 0 bytes ...mincore-api-ms-win-service-winsvc-l1-1-0.a | Bin 15436 -> 0 bytes .../lib/libwinapi_mincore-authz.a | Bin 32574 -> 0 bytes .../lib/libwinapi_mincore-bcrypt.a | Bin 46606 -> 0 bytes .../lib/libwinapi_mincore-cabinet.a | Bin 22296 -> 0 bytes .../lib/libwinapi_mincore-crypt32.a | Bin 203312 -> 0 bytes .../lib/libwinapi_mincore-cryptbase.a | Bin 10618 -> 0 bytes .../lib/libwinapi_mincore-cryptnet.a | Bin 5968 -> 0 bytes .../lib/libwinapi_mincore-dfscli.a | Bin 23046 -> 0 bytes .../lib/libwinapi_mincore-dnsapi.a | Bin 224436 -> 0 bytes .../lib/libwinapi_mincore-dsparse.a | Bin 17672 -> 0 bytes .../lib/libwinapi_mincore-dsrole.a | Bin 3410 -> 0 bytes .../lib/libwinapi_mincore-iphlpapi.a | Bin 234364 -> 0 bytes .../lib/libwinapi_mincore-logoncli.a | Bin 29748 -> 0 bytes .../lib/libwinapi_mincore-mpr.a | Bin 36858 -> 0 bytes .../lib/libwinapi_mincore-mswsock.a | Bin 23796 -> 0 bytes .../lib/libwinapi_mincore-ncrypt.a | Bin 65180 -> 0 bytes .../lib/libwinapi_mincore-netutils.a | Bin 5844 -> 0 bytes .../lib/libwinapi_mincore-oleaut32.a | Bin 318008 -> 0 bytes .../lib/libwinapi_mincore-rpcrt4.a | Bin 432018 -> 0 bytes .../lib/libwinapi_mincore-samcli.a | Bin 30998 -> 0 bytes .../lib/libwinapi_mincore-schedcli.a | Bin 5000 -> 0 bytes .../lib/libwinapi_mincore-srvcli.a | Bin 40282 -> 0 bytes .../lib/libwinapi_mincore-sspicli.a | Bin 78252 -> 0 bytes .../lib/libwinapi_mincore-userenv.a | Bin 61414 -> 0 bytes .../lib/libwinapi_mincore-websocket.a | Bin 12666 -> 0 bytes .../lib/libwinapi_mincore-winhttp.a | Bin 53936 -> 0 bytes .../lib/libwinapi_mincore-wkscli.a | Bin 20428 -> 0 bytes .../lib/libwinapi_mincore-wldap32.a | Bin 195518 -> 0 bytes .../lib/libwinapi_mincore-ws2_32.a | Bin 145518 -> 0 bytes .../lib/libwinapi_mincore.a | 167 - ...vel-api-ms-win-downlevel-advapi32-l1-1-0.a | Bin 125780 -> 0 bytes ...vel-api-ms-win-downlevel-advapi32-l2-1-0.a | Bin 13942 -> 0 bytes ...vel-api-ms-win-downlevel-normaliz-l1-1-0.a | Bin 3594 -> 0 bytes ...nlevel-api-ms-win-downlevel-ole32-l1-1-0.a | Bin 42620 -> 0 bytes ...evel-api-ms-win-downlevel-shell32-l1-1-0.a | Bin 4702 -> 0 bytes ...evel-api-ms-win-downlevel-shlwapi-l1-1-0.a | Bin 129802 -> 0 bytes ...evel-api-ms-win-downlevel-shlwapi-l2-1-0.a | Bin 48534 -> 0 bytes ...level-api-ms-win-downlevel-user32-l1-1-0.a | Bin 19920 -> 0 bytes ...evel-api-ms-win-downlevel-version-l1-1-0.a | Bin 7002 -> 0 bytes .../lib/libwinapi_mincore_downlevel.a | 11 - .../lib/libwinapi_mmdevapi.a | Bin 26384 -> 0 bytes .../lib/libwinapi_mpr.a | Bin 36474 -> 0 bytes .../lib/libwinapi_mprapi.a | Bin 135866 -> 0 bytes .../lib/libwinapi_mprsnap.a | Bin 38338 -> 0 bytes .../lib/libwinapi_mqrt.a | Bin 38392 -> 0 bytes .../lib/libwinapi_mrmsupport.a | Bin 4962 -> 0 bytes .../lib/libwinapi_msacm32.a | Bin 36536 -> 0 bytes .../lib/libwinapi_msajapi.a | Bin 498052 -> 0 bytes .../lib/libwinapi_mscms.a | Bin 94602 -> 0 bytes .../lib/libwinapi_msctfmonitor.a | Bin 4164 -> 0 bytes .../lib/libwinapi_msdelta.a | Bin 13462 -> 0 bytes .../lib/libwinapi_msdmo.a | Bin 13330 -> 0 bytes .../lib/libwinapi_msdrm.a | Bin 70802 -> 0 bytes .../lib/libwinapi_msi.a | Bin 237408 -> 0 bytes .../lib/libwinapi_msimg32.a | Bin 4018 -> 0 bytes .../lib/libwinapi_mspatcha.a | Bin 15060 -> 0 bytes .../lib/libwinapi_mspatchc.a | Bin 13384 -> 0 bytes .../lib/libwinapi_msports.a | Bin 10614 -> 0 bytes .../lib/libwinapi_msrating.a | Bin 27912 -> 0 bytes .../lib/libwinapi_mstask.a | Bin 19574 -> 0 bytes .../lib/libwinapi_msv1_0.a | Bin 14662 -> 0 bytes .../lib/libwinapi_msvfw32.a | Bin 38466 -> 0 bytes .../lib/libwinapi_mswsock.a | Bin 23532 -> 0 bytes .../lib/libwinapi_mtx.a | Bin 3966 -> 0 bytes .../lib/libwinapi_mtxdm.a | Bin 2478 -> 0 bytes .../lib/libwinapi_ncrypt.a | Bin 107300 -> 0 bytes .../lib/libwinapi_nddeapi.a | Bin 24260 -> 0 bytes .../lib/libwinapi_ndfapi.a | Bin 16402 -> 0 bytes .../lib/libwinapi_netapi32.a | Bin 172880 -> 0 bytes .../lib/libwinapi_netsh.a | Bin 19686 -> 0 bytes .../lib/libwinapi_newdev.a | Bin 20704 -> 0 bytes .../lib/libwinapi_ninput.a | Bin 21960 -> 0 bytes .../lib/libwinapi_normaliz.a | Bin 5660 -> 0 bytes .../lib/libwinapi_ntdll.a | Bin 1658338 -> 0 bytes .../lib/libwinapi_ntdsa.a | Bin 118658 -> 0 bytes .../lib/libwinapi_ntdsapi.a | Bin 97408 -> 0 bytes .../lib/libwinapi_ntdsatq.a | Bin 37806 -> 0 bytes .../lib/libwinapi_ntdsetup.a | Bin 21280 -> 0 bytes .../lib/libwinapi_ntfrsapi.a | Bin 29692 -> 0 bytes .../lib/libwinapi_ntlanman.a | Bin 16208 -> 0 bytes .../lib/libwinapi_ntmarta.a | Bin 36872 -> 0 bytes .../lib/libwinapi_ntquery.a | Bin 12258 -> 0 bytes .../lib/libwinapi_ntvdm.a | Bin 119370 -> 0 bytes .../lib/libwinapi_odbc32.a | Bin 139488 -> 0 bytes .../lib/libwinapi_odbcbcp.a | Bin 23320 -> 0 bytes .../lib/libwinapi_oemlicense.a | Bin 3322 -> 0 bytes .../lib/libwinapi_ole32.a | Bin 330598 -> 0 bytes .../lib/libwinapi_oleacc.a | Bin 18098 -> 0 bytes .../lib/libwinapi_oleaut32.a | Bin 314768 -> 0 bytes .../lib/libwinapi_olecli32.a | Bin 140360 -> 0 bytes .../lib/libwinapi_oledlg.a | Bin 19972 -> 0 bytes .../lib/libwinapi_olepro32.a | Bin 7424 -> 0 bytes .../lib/libwinapi_olesvr32.a | Bin 19820 -> 0 bytes .../lib/libwinapi_ondemandconnroutehelper.a | Bin 8696 -> 0 bytes ...api_onecore-api-ms-win-core-atoms-l1-1-0.a | Bin 15580 -> 0 bytes ..._onecore-api-ms-win-core-calendar-l1-1-0.a | Bin 7954 -> 0 bytes ...inapi_onecore-api-ms-win-core-com-l1-1-0.a | Bin 68470 -> 0 bytes ...inapi_onecore-api-ms-win-core-com-l1-1-1.a | Bin 3554 -> 0 bytes ...inapi_onecore-api-ms-win-core-com-l1-1-2.a | Bin 3470 -> 0 bytes ...api-ms-win-core-com-midlproxystub-l1-1-0.a | Bin 66136 -> 0 bytes ...napi_onecore-api-ms-win-core-comm-l1-1-0.a | Bin 16372 -> 0 bytes ...napi_onecore-api-ms-win-core-comm-l1-1-1.a | Bin 2654 -> 0 bytes ...core-api-ms-win-core-console-ansi-l2-1-0.a | Bin 2726 -> 0 bytes ...i_onecore-api-ms-win-core-console-l1-1-0.a | Bin 13390 -> 0 bytes ...i_onecore-api-ms-win-core-console-l2-1-0.a | Bin 34426 -> 0 bytes ...i_onecore-api-ms-win-core-console-l3-1-0.a | Bin 2716 -> 0 bytes ..._onecore-api-ms-win-core-datetime-l1-1-0.a | Bin 5148 -> 0 bytes ..._onecore-api-ms-win-core-datetime-l1-1-1.a | Bin 3520 -> 0 bytes ..._onecore-api-ms-win-core-datetime-l1-1-2.a | Bin 2718 -> 0 bytes ...api_onecore-api-ms-win-core-debug-l1-1-0.a | Bin 5140 -> 0 bytes ...api_onecore-api-ms-win-core-debug-l1-1-1.a | Bin 6076 -> 0 bytes ...api_onecore-api-ms-win-core-debug-l1-1-2.a | Bin 2696 -> 0 bytes ...onecore-api-ms-win-core-delayload-l1-1-0.a | Bin 2728 -> 0 bytes ...onecore-api-ms-win-core-delayload-l1-1-1.a | Bin 3604 -> 0 bytes ...i_onecore-api-ms-win-core-enclave-l1-1-0.a | Bin 5186 -> 0 bytes ...i_onecore-api-ms-win-core-enclave-l1-1-1.a | Bin 5952 -> 0 bytes ...ore-api-ms-win-core-errorhandling-l1-1-0.a | Bin 7716 -> 0 bytes ...ore-api-ms-win-core-errorhandling-l1-1-1.a | Bin 6292 -> 0 bytes ...ore-api-ms-win-core-errorhandling-l1-1-2.a | Bin 2772 -> 0 bytes ...ore-api-ms-win-core-errorhandling-l1-1-3.a | Bin 6132 -> 0 bytes ...re-api-ms-win-core-featurestaging-l1-1-0.a | Bin 6358 -> 0 bytes ...re-api-ms-win-core-featurestaging-l1-1-1.a | Bin 2750 -> 0 bytes ...pi_onecore-api-ms-win-core-fibers-l1-1-0.a | Bin 5014 -> 0 bytes ...pi_onecore-api-ms-win-core-fibers-l1-1-1.a | Bin 2678 -> 0 bytes ...pi_onecore-api-ms-win-core-fibers-l2-1-0.a | Bin 5946 -> 0 bytes ...pi_onecore-api-ms-win-core-fibers-l2-1-1.a | Bin 3526 -> 0 bytes ...onecore-api-ms-win-core-file-ansi-l1-1-0.a | Bin 9564 -> 0 bytes ...onecore-api-ms-win-core-file-ansi-l2-1-0.a | Bin 6032 -> 0 bytes ...napi_onecore-api-ms-win-core-file-l1-1-0.a | Bin 63546 -> 0 bytes ...napi_onecore-api-ms-win-core-file-l1-2-0.a | Bin 5256 -> 0 bytes ...napi_onecore-api-ms-win-core-file-l1-2-1.a | Bin 4414 -> 0 bytes ...napi_onecore-api-ms-win-core-file-l1-2-2.a | Bin 10068 -> 0 bytes ...napi_onecore-api-ms-win-core-file-l2-1-0.a | Bin 10894 -> 0 bytes ...napi_onecore-api-ms-win-core-file-l2-1-1.a | Bin 2654 -> 0 bytes ...napi_onecore-api-ms-win-core-file-l2-1-2.a | Bin 3456 -> 0 bytes ...napi_onecore-api-ms-win-core-file-l2-1-3.a | Bin 2710 -> 0 bytes ..._onecore-api-ms-win-core-firmware-l1-1-0.a | Bin 5500 -> 0 bytes ...pi_onecore-api-ms-win-core-handle-l1-1-0.a | Bin 6006 -> 0 bytes ...napi_onecore-api-ms-win-core-heap-l1-1-0.a | Bin 13830 -> 0 bytes ...napi_onecore-api-ms-win-core-heap-l2-1-0.a | Bin 7386 -> 0 bytes ...ore-api-ms-win-core-heap-obsolete-l1-1-0.a | Bin 8336 -> 0 bytes ...ecore-api-ms-win-core-interlocked-l1-1-0.a | Bin 11308 -> 0 bytes ...ecore-api-ms-win-core-interlocked-l1-2-0.a | Bin 2776 -> 0 bytes ...winapi_onecore-api-ms-win-core-io-l1-1-0.a | Bin 7746 -> 0 bytes ...winapi_onecore-api-ms-win-core-io-l1-1-1.a | Bin 4294 -> 0 bytes ...inapi_onecore-api-ms-win-core-job-l1-1-0.a | Bin 2660 -> 0 bytes ...inapi_onecore-api-ms-win-core-job-l2-1-0.a | Bin 6890 -> 0 bytes ...inapi_onecore-api-ms-win-core-job-l2-1-1.a | Bin 4532 -> 0 bytes ...-ms-win-core-kernel32-legacy-ansi-l1-1-0.a | Bin 11438 -> 0 bytes ...e-api-ms-win-core-kernel32-legacy-l1-1-0.a | Bin 34764 -> 0 bytes ...e-api-ms-win-core-kernel32-legacy-l1-1-1.a | Bin 13926 -> 0 bytes ...e-api-ms-win-core-kernel32-legacy-l1-1-2.a | Bin 8550 -> 0 bytes ...e-api-ms-win-core-kernel32-legacy-l1-1-3.a | Bin 14122 -> 0 bytes ...e-api-ms-win-core-kernel32-legacy-l1-1-4.a | Bin 2748 -> 0 bytes ...e-api-ms-win-core-kernel32-legacy-l1-1-5.a | Bin 3614 -> 0 bytes ...e-api-ms-win-core-kernel32-legacy-l1-1-6.a | Bin 2788 -> 0 bytes ...core-api-ms-win-core-largeinteger-l1-1-0.a | Bin 2682 -> 0 bytes ...ore-api-ms-win-core-libraryloader-l1-2-0.a | Bin 26160 -> 0 bytes ...ore-api-ms-win-core-libraryloader-l1-2-1.a | Bin 4340 -> 0 bytes ...ore-api-ms-win-core-libraryloader-l1-2-2.a | Bin 2752 -> 0 bytes ...ore-api-ms-win-core-libraryloader-l2-1-0.a | Bin 3640 -> 0 bytes ...api-ms-win-core-localization-ansi-l1-1-0.a | Bin 17052 -> 0 bytes ...core-api-ms-win-core-localization-l1-2-0.a | Bin 50966 -> 0 bytes ...core-api-ms-win-core-localization-l1-2-1.a | Bin 2746 -> 0 bytes ...core-api-ms-win-core-localization-l1-2-2.a | Bin 3608 -> 0 bytes ...core-api-ms-win-core-localization-l2-1-0.a | Bin 11980 -> 0 bytes ...ms-win-core-localization-obsolete-l1-2-0.a | Bin 8832 -> 0 bytes ...pi_onecore-api-ms-win-core-memory-l1-1-0.a | Bin 14938 -> 0 bytes ...pi_onecore-api-ms-win-core-memory-l1-1-1.a | Bin 15422 -> 0 bytes ...pi_onecore-api-ms-win-core-memory-l1-1-2.a | Bin 11358 -> 0 bytes ...pi_onecore-api-ms-win-core-memory-l1-1-3.a | Bin 5286 -> 0 bytes ...pi_onecore-api-ms-win-core-memory-l1-1-4.a | Bin 2754 -> 0 bytes ...pi_onecore-api-ms-win-core-memory-l1-1-5.a | Bin 3526 -> 0 bytes ...re-api-ms-win-core-namedpipe-ansi-l1-1-0.a | Bin 4514 -> 0 bytes ...re-api-ms-win-core-namedpipe-ansi-l1-1-1.a | Bin 2738 -> 0 bytes ...onecore-api-ms-win-core-namedpipe-l1-1-0.a | Bin 10280 -> 0 bytes ...onecore-api-ms-win-core-namedpipe-l1-2-1.a | Bin 3580 -> 0 bytes ...onecore-api-ms-win-core-namedpipe-l1-2-2.a | Bin 2704 -> 0 bytes ...re-api-ms-win-core-namespace-ansi-l1-1-0.a | Bin 4506 -> 0 bytes ...onecore-api-ms-win-core-namespace-l1-1-0.a | Bin 7052 -> 0 bytes ...ore-api-ms-win-core-normalization-l1-1-0.a | Bin 6080 -> 0 bytes ...napi_onecore-api-ms-win-core-path-l1-1-0.a | Bin 20152 -> 0 bytes ...core-api-ms-win-core-perfcounters-l1-1-0.a | Bin 14044 -> 0 bytes ...re-api-ms-win-core-privateprofile-l1-1-0.a | Bin 13910 -> 0 bytes ...re-api-ms-win-core-privateprofile-l1-1-1.a | Bin 3678 -> 0 bytes ...-win-core-processenvironment-ansi-l1-1-0.a | Bin 2836 -> 0 bytes ...pi-ms-win-core-processenvironment-l1-1-0.a | Bin 19826 -> 0 bytes ...pi-ms-win-core-processenvironment-l1-2-0.a | Bin 4566 -> 0 bytes ...e-api-ms-win-core-processsnapshot-l1-1-0.a | Bin 10418 -> 0 bytes ...re-api-ms-win-core-processthreads-l1-1-0.a | Bin 42834 -> 0 bytes ...re-api-ms-win-core-processthreads-l1-1-1.a | Bin 13938 -> 0 bytes ...re-api-ms-win-core-processthreads-l1-1-2.a | Bin 9554 -> 0 bytes ...re-api-ms-win-core-processthreads-l1-1-3.a | Bin 12298 -> 0 bytes ...e-api-ms-win-core-processtopology-l1-1-0.a | Bin 4516 -> 0 bytes ...win-core-processtopology-obsolete-l1-1-0.a | Bin 6310 -> 0 bytes ...win-core-processtopology-obsolete-l1-1-1.a | Bin 2870 -> 0 bytes ...i_onecore-api-ms-win-core-profile-l1-1-0.a | Bin 3594 -> 0 bytes ...necore-api-ms-win-core-psapi-ansi-l1-1-0.a | Bin 8818 -> 0 bytes ...api_onecore-api-ms-win-core-psapi-l1-1-0.a | Bin 19748 -> 0 bytes ...pi_onecore-api-ms-win-core-quirks-l1-1-0.a | Bin 8514 -> 0 bytes ...pi_onecore-api-ms-win-core-quirks-l1-1-1.a | Bin 3602 -> 0 bytes ..._onecore-api-ms-win-core-realtime-l1-1-0.a | Bin 6206 -> 0 bytes ..._onecore-api-ms-win-core-realtime-l1-1-1.a | Bin 4482 -> 0 bytes ..._onecore-api-ms-win-core-realtime-l1-1-2.a | Bin 4694 -> 0 bytes ..._onecore-api-ms-win-core-registry-l1-1-0.a | Bin 37102 -> 0 bytes ..._onecore-api-ms-win-core-registry-l1-1-1.a | Bin 5196 -> 0 bytes ..._onecore-api-ms-win-core-registry-l1-1-2.a | Bin 3600 -> 0 bytes ..._onecore-api-ms-win-core-registry-l2-1-0.a | Bin 24150 -> 0 bytes ...necore-api-ms-win-core-rtlsupport-l1-1-0.a | Bin 4378 -> 0 bytes ...necore-api-ms-win-core-rtlsupport-l1-2-0.a | Bin 4374 -> 0 bytes ...ore-api-ms-win-core-shutdown-ansi-l1-1-0.a | Bin 4500 -> 0 bytes ..._onecore-api-ms-win-core-shutdown-l1-1-0.a | Bin 3588 -> 0 bytes ..._onecore-api-ms-win-core-shutdown-l1-1-1.a | Bin 2706 -> 0 bytes ...e-api-ms-win-core-sidebyside-ansi-l1-1-0.a | Bin 3606 -> 0 bytes ...necore-api-ms-win-core-sidebyside-l1-1-0.a | Bin 10958 -> 0 bytes ...pi_onecore-api-ms-win-core-string-l1-1-0.a | Bin 8466 -> 0 bytes ...pi_onecore-api-ms-win-core-string-l2-1-0.a | Bin 9878 -> 0 bytes ...pi_onecore-api-ms-win-core-string-l2-1-1.a | Bin 2710 -> 0 bytes ...e-api-ms-win-core-string-obsolete-l1-1-0.a | Bin 9842 -> 0 bytes ...e-api-ms-win-core-string-obsolete-l1-1-1.a | Bin 3498 -> 0 bytes ...necore-api-ms-win-core-stringansi-l1-1-0.a | Bin 11550 -> 0 bytes ...necore-api-ms-win-core-synch-ansi-l1-1-0.a | Bin 7726 -> 0 bytes ...api_onecore-api-ms-win-core-synch-l1-1-0.a | Bin 35956 -> 0 bytes ...api_onecore-api-ms-win-core-synch-l1-2-0.a | Bin 16246 -> 0 bytes ...api_onecore-api-ms-win-core-synch-l1-2-1.a | Bin 4384 -> 0 bytes ...i_onecore-api-ms-win-core-sysinfo-l1-1-0.a | Bin 20254 -> 0 bytes ...i_onecore-api-ms-win-core-sysinfo-l1-2-0.a | Bin 9452 -> 0 bytes ...i_onecore-api-ms-win-core-sysinfo-l1-2-1.a | Bin 6244 -> 0 bytes ...i_onecore-api-ms-win-core-sysinfo-l1-2-2.a | Bin 2752 -> 0 bytes ...i_onecore-api-ms-win-core-sysinfo-l1-2-3.a | Bin 6064 -> 0 bytes ...re-api-ms-win-core-systemtopology-l1-1-0.a | Bin 3662 -> 0 bytes ...re-api-ms-win-core-systemtopology-l1-1-1.a | Bin 2774 -> 0 bytes ...necore-api-ms-win-core-threadpool-l1-2-0.a | Bin 33978 -> 0 bytes ...api-ms-win-core-threadpool-legacy-l1-1-0.a | Bin 7860 -> 0 bytes ..._onecore-api-ms-win-core-timezone-l1-1-0.a | Bin 13410 -> 0 bytes ..._onecore-api-ms-win-core-toolhelp-l1-1-0.a | Bin 7598 -> 0 bytes ..._onecore-api-ms-win-core-toolhelp-l1-1-1.a | Bin 5104 -> 0 bytes ...inapi_onecore-api-ms-win-core-url-l1-1-0.a | Bin 32470 -> 0 bytes ...napi_onecore-api-ms-win-core-util-l1-1-0.a | Bin 5874 -> 0 bytes ...napi_onecore-api-ms-win-core-util-l1-1-1.a | Bin 3528 -> 0 bytes ...i_onecore-api-ms-win-core-version-l1-1-0.a | Bin 5214 -> 0 bytes ...i_onecore-api-ms-win-core-version-l1-1-1.a | Bin 3570 -> 0 bytes ...ecore-api-ms-win-core-versionansi-l1-1-0.a | Bin 5254 -> 0 bytes ...ecore-api-ms-win-core-versionansi-l1-1-1.a | Bin 3602 -> 0 bytes ...ecore-api-ms-win-core-windowsceip-l1-1-0.a | Bin 2704 -> 0 bytes ...ms-win-core-windowserrorreporting-l1-1-0.a | Bin 12460 -> 0 bytes ...ms-win-core-windowserrorreporting-l1-1-1.a | Bin 7356 -> 0 bytes ...ms-win-core-windowserrorreporting-l1-1-2.a | Bin 3708 -> 0 bytes ...ecore-api-ms-win-core-winrt-error-l1-1-0.a | Bin 11324 -> 0 bytes ...ecore-api-ms-win-core-winrt-error-l1-1-1.a | Bin 8858 -> 0 bytes ...api_onecore-api-ms-win-core-winrt-l1-1-0.a | Bin 9580 -> 0 bytes ...pi-ms-win-core-winrt-registration-l1-1-0.a | Bin 3754 -> 0 bytes ...re-api-ms-win-core-winrt-robuffer-l1-1-0.a | Bin 2762 -> 0 bytes ...win-core-winrt-roparameterizediid-l1-1-0.a | Bin 4754 -> 0 bytes ...core-api-ms-win-core-winrt-string-l1-1-0.a | Bin 21686 -> 0 bytes ...core-api-ms-win-core-winrt-string-l1-1-1.a | Bin 2754 -> 0 bytes ...api_onecore-api-ms-win-core-wow64-l1-1-0.a | Bin 4448 -> 0 bytes ...api_onecore-api-ms-win-core-wow64-l1-1-1.a | Bin 7040 -> 0 bytes ...api_onecore-api-ms-win-core-wow64-l1-1-2.a | Bin 2740 -> 0 bytes ...pi_onecore-api-ms-win-core-xstate-l2-1-0.a | Bin 6886 -> 0 bytes ...onecore-api-ms-win-devices-config-l1-1-1.a | Bin 35652 -> 0 bytes ...onecore-api-ms-win-devices-config-l1-1-2.a | Bin 14264 -> 0 bytes ...ecore-api-ms-win-devices-swdevice-l1-1-0.a | Bin 7800 -> 0 bytes ...ecore-api-ms-win-devices-swdevice-l1-1-1.a | Bin 3578 -> 0 bytes ...i-ms-win-eventing-classicprovider-l1-1-0.a | Bin 8650 -> 0 bytes ...core-api-ms-win-eventing-consumer-l1-1-0.a | Bin 4306 -> 0 bytes ...core-api-ms-win-eventing-consumer-l1-1-1.a | Bin 2782 -> 0 bytes ...re-api-ms-win-eventing-controller-l1-1-0.a | Bin 11062 -> 0 bytes ...necore-api-ms-win-eventing-legacy-l1-1-0.a | Bin 13218 -> 0 bytes ...core-api-ms-win-eventing-obsolete-l1-1-0.a | Bin 4414 -> 0 bytes ...core-api-ms-win-eventing-provider-l1-1-0.a | Bin 10184 -> 0 bytes ...i_onecore-api-ms-win-eventing-tdh-l1-1-0.a | Bin 12222 -> 0 bytes ...i-ms-win-gaming-deviceinformation-l1-1-0.a | Bin 2852 -> 0 bytes ...winapi_onecore-api-ms-win-mm-time-l1-1-0.a | Bin 5874 -> 0 bytes ...core-api-ms-win-oobe-notification-l1-1-0.a | Bin 4514 -> 0 bytes ...pi_onecore-api-ms-win-perf-legacy-l1-1-0.a | Bin 9570 -> 0 bytes ...api_onecore-api-ms-win-power-base-l1-1-0.a | Bin 6304 -> 0 bytes ...api-ms-win-power-limitsmanagement-l1-1-0.a | Bin 10920 -> 0 bytes ..._onecore-api-ms-win-power-setting-l1-1-0.a | Bin 8748 -> 0 bytes ...core-api-ms-win-ro-typeresolution-l1-1-0.a | Bin 4402 -> 0 bytes ...-api-ms-win-security-appcontainer-l1-1-0.a | Bin 2830 -> 0 bytes ...ore-api-ms-win-security-base-ansi-l1-1-0.a | Bin 3572 -> 0 bytes ..._onecore-api-ms-win-security-base-l1-1-0.a | Bin 82690 -> 0 bytes ..._onecore-api-ms-win-security-base-l1-2-0.a | Bin 7826 -> 0 bytes ..._onecore-api-ms-win-security-base-l1-2-1.a | Bin 2682 -> 0 bytes ..._onecore-api-ms-win-security-base-l1-2-2.a | Bin 2762 -> 0 bytes ...e-api-ms-win-security-credentials-l1-1-0.a | Bin 26312 -> 0 bytes ...ore-api-ms-win-security-cryptoapi-l1-1-0.a | Bin 34584 -> 0 bytes ...ms-win-security-isolatedcontainer-l1-1-0.a | Bin 2852 -> 0 bytes ...pi-ms-win-security-lsalookup-ansi-l2-1-0.a | Bin 6234 -> 0 bytes ...ore-api-ms-win-security-lsalookup-l2-1-0.a | Bin 7068 -> 0 bytes ...ore-api-ms-win-security-lsalookup-l2-1-1.a | Bin 2776 -> 0 bytes ...api-ms-win-security-provider-ansi-l1-1-0.a | Bin 5376 -> 0 bytes ...core-api-ms-win-security-provider-l1-1-0.a | Bin 6972 -> 0 bytes ...ore-api-ms-win-security-sddl-ansi-l1-1-0.a | Bin 3628 -> 0 bytes ..._onecore-api-ms-win-security-sddl-l1-1-0.a | Bin 5596 -> 0 bytes ...i-ms-win-security-systemfunctions-l1-1-0.a | Bin 4464 -> 0 bytes ...core-api-ms-win-service-core-ansi-l1-1-0.a | Bin 4458 -> 0 bytes ...core-api-ms-win-service-core-ansi-l1-1-1.a | Bin 2762 -> 0 bytes ...i_onecore-api-ms-win-service-core-l1-1-0.a | Bin 4460 -> 0 bytes ...i_onecore-api-ms-win-service-core-l1-1-1.a | Bin 4476 -> 0 bytes ...i_onecore-api-ms-win-service-core-l1-1-2.a | Bin 3566 -> 0 bytes ...ore-api-ms-win-service-management-l1-1-0.a | Bin 7672 -> 0 bytes ...ore-api-ms-win-service-management-l2-1-0.a | Bin 8808 -> 0 bytes ...onecore-api-ms-win-service-winsvc-l1-1-0.a | Bin 15436 -> 0 bytes ...pi_onecore-api-ms-win-shcore-path-l1-1-0.a | Bin 5154 -> 0 bytes ...necore-api-ms-win-shcore-registry-l1-1-0.a | Bin 24670 -> 0 bytes ...necore-api-ms-win-shcore-registry-l1-1-1.a | Bin 2762 -> 0 bytes ...onecore-api-ms-win-shcore-scaling-l1-1-0.a | Bin 4548 -> 0 bytes ...onecore-api-ms-win-shcore-scaling-l1-1-1.a | Bin 7028 -> 0 bytes ...onecore-api-ms-win-shcore-scaling-l1-1-2.a | Bin 2752 -> 0 bytes ...re-api-ms-win-shcore-stream-winrt-l1-1-0.a | Bin 4666 -> 0 bytes ...onecore-api-ms-win-shcore-sysinfo-l1-1-0.a | Bin 4520 -> 0 bytes ...ore-api-ms-win-shcore-unicodeansi-l1-1-0.a | Bin 5220 -> 0 bytes ...core-api-ms-win-shell-shdirectory-l1-1-0.a | Bin 4430 -> 0 bytes .../lib/libwinapi_onecore-authz.a | Bin 32574 -> 0 bytes .../lib/libwinapi_onecore-bcrypt.a | Bin 46606 -> 0 bytes .../lib/libwinapi_onecore-cabinet.a | Bin 22296 -> 0 bytes .../lib/libwinapi_onecore-crypt32.a | Bin 203312 -> 0 bytes .../lib/libwinapi_onecore-cryptbase.a | Bin 8198 -> 0 bytes .../lib/libwinapi_onecore-cryptnet.a | Bin 5968 -> 0 bytes .../lib/libwinapi_onecore-dfscli.a | Bin 23046 -> 0 bytes .../lib/libwinapi_onecore-dnsapi.a | Bin 224436 -> 0 bytes .../lib/libwinapi_onecore-dsparse.a | Bin 17672 -> 0 bytes .../lib/libwinapi_onecore-dsrole.a | Bin 3410 -> 0 bytes .../lib/libwinapi_onecore-fltlib.a | Bin 25396 -> 0 bytes .../lib/libwinapi_onecore-iphlpapi.a | Bin 234364 -> 0 bytes .../lib/libwinapi_onecore-logoncli.a | Bin 29748 -> 0 bytes .../lib/libwinapi_onecore-mpr.a | Bin 36858 -> 0 bytes .../lib/libwinapi_onecore-mswsock.a | Bin 23796 -> 0 bytes .../lib/libwinapi_onecore-ncrypt.a | Bin 65180 -> 0 bytes .../lib/libwinapi_onecore-netutils.a | Bin 5844 -> 0 bytes .../lib/libwinapi_onecore-ntdll.a | Bin 18562 -> 0 bytes .../lib/libwinapi_onecore-oleaut32.a | Bin 318008 -> 0 bytes .../lib/libwinapi_onecore-powrprof.a | Bin 59416 -> 0 bytes .../lib/libwinapi_onecore-profapi.a | Bin 15208 -> 0 bytes .../lib/libwinapi_onecore-rpcrt4.a | Bin 432018 -> 0 bytes .../lib/libwinapi_onecore-samcli.a | Bin 30998 -> 0 bytes .../lib/libwinapi_onecore-schedcli.a | Bin 5000 -> 0 bytes .../lib/libwinapi_onecore-srvcli.a | Bin 40282 -> 0 bytes .../lib/libwinapi_onecore-sspicli.a | Bin 78252 -> 0 bytes .../lib/libwinapi_onecore-tokenbinding.a | Bin 8636 -> 0 bytes .../lib/libwinapi_onecore-userenv.a | Bin 61414 -> 0 bytes .../lib/libwinapi_onecore-websocket.a | Bin 12666 -> 0 bytes .../lib/libwinapi_onecore-winhttp.a | Bin 53936 -> 0 bytes .../lib/libwinapi_onecore-wkscli.a | Bin 20428 -> 0 bytes .../lib/libwinapi_onecore-wldap32.a | Bin 195518 -> 0 bytes .../lib/libwinapi_onecore-ws2_32.a | Bin 145518 -> 0 bytes .../lib/libwinapi_onecore-xmllite.a | Bin 6984 -> 0 bytes .../lib/libwinapi_onecore.a | 257 - .../libwinapi_onecore_downlevel-advapi32.a | Bin 515126 -> 0 bytes .../lib/libwinapi_onecore_downlevel-apphelp.a | Bin 8238 -> 0 bytes .../libwinapi_onecore_downlevel-comctl32.a | Bin 61116 -> 0 bytes .../libwinapi_onecore_downlevel-comdlg32.a | Bin 16872 -> 0 bytes .../lib/libwinapi_onecore_downlevel-d3d10.a | Bin 5148 -> 0 bytes .../lib/libwinapi_onecore_downlevel-d3d9.a | Bin 5812 -> 0 bytes .../libwinapi_onecore_downlevel-d3dx10_47.a | Bin 6198 -> 0 bytes .../lib/libwinapi_onecore_downlevel-difxapi.a | Bin 3466 -> 0 bytes .../lib/libwinapi_onecore_downlevel-gdi32.a | Bin 177204 -> 0 bytes .../lib/libwinapi_onecore_downlevel-input.a | Bin 11102 -> 0 bytes .../libwinapi_onecore_downlevel-kernel32.a | Bin 977870 -> 0 bytes .../lib/libwinapi_onecore_downlevel-msi.a | Bin 34674 -> 0 bytes .../lib/libwinapi_onecore_downlevel-newdev.a | Bin 10400 -> 0 bytes .../lib/libwinapi_onecore_downlevel-ole32.a | Bin 283810 -> 0 bytes .../lib/libwinapi_onecore_downlevel-oleacc.a | Bin 11912 -> 0 bytes .../libwinapi_onecore_downlevel-oleaut32.a | Bin 322058 -> 0 bytes .../lib/libwinapi_onecore_downlevel-oledlg.a | Bin 18008 -> 0 bytes .../lib/libwinapi_onecore_downlevel-pdh.a | Bin 13974 -> 0 bytes .../lib/libwinapi_onecore_downlevel-psapi.a | Bin 24030 -> 0 bytes .../libwinapi_onecore_downlevel-resutils.a | Bin 10422 -> 0 bytes .../libwinapi_onecore_downlevel-rstrtmgr.a | Bin 6558 -> 0 bytes .../lib/libwinapi_onecore_downlevel-secur32.a | Bin 76634 -> 0 bytes .../libwinapi_onecore_downlevel-setupapi.a | Bin 157680 -> 0 bytes .../lib/libwinapi_onecore_downlevel-shell32.a | Bin 136406 -> 0 bytes .../lib/libwinapi_onecore_downlevel-shlwapi.a | Bin 315638 -> 0 bytes .../lib/libwinapi_onecore_downlevel-tdh.a | Bin 11894 -> 0 bytes .../lib/libwinapi_onecore_downlevel-twinapi.a | Bin 2570 -> 0 bytes .../lib/libwinapi_onecore_downlevel-user32.a | Bin 504870 -> 0 bytes .../lib/libwinapi_onecore_downlevel-uxtheme.a | Bin 39262 -> 0 bytes .../lib/libwinapi_onecore_downlevel-version.a | Bin 10010 -> 0 bytes .../lib/libwinapi_onecore_downlevel-winmm.a | Bin 5754 -> 0 bytes .../libwinapi_onecore_downlevel-winspool.a | Bin 35048 -> 0 bytes .../libwinapi_onecore_downlevel-wtsapi32.a | Bin 15266 -> 0 bytes .../libwinapi_onecore_downlevel-xinput1_4.a | Bin 8344 -> 0 bytes .../lib/libwinapi_onecore_downlevel.a | 36 - ...reuap-api-ms-win-appmodel-runtime-l1-1-0.a | Bin 19170 -> 0 bytes ...reuap-api-ms-win-appmodel-runtime-l1-1-1.a | Bin 16054 -> 0 bytes ...reuap-api-ms-win-appmodel-runtime-l1-1-2.a | Bin 9158 -> 0 bytes ..._onecoreuap-api-ms-win-core-atoms-l1-1-0.a | Bin 15630 -> 0 bytes ...ecoreuap-api-ms-win-core-calendar-l1-1-0.a | Bin 7996 -> 0 bytes ...pi_onecoreuap-api-ms-win-core-com-l1-1-0.a | Bin 68646 -> 0 bytes ...pi_onecoreuap-api-ms-win-core-com-l1-1-1.a | Bin 3574 -> 0 bytes ...pi_onecoreuap-api-ms-win-core-com-l1-1-2.a | Bin 3490 -> 0 bytes ...pi_onecoreuap-api-ms-win-core-com-l2-1-1.a | Bin 19278 -> 0 bytes ...api-ms-win-core-com-midlproxystub-l1-1-0.a | Bin 66298 -> 0 bytes ...i_onecoreuap-api-ms-win-core-comm-l1-1-0.a | Bin 16458 -> 0 bytes ...i_onecoreuap-api-ms-win-core-comm-l1-1-1.a | Bin 2672 -> 0 bytes ...euap-api-ms-win-core-console-ansi-l2-1-0.a | Bin 2744 -> 0 bytes ...necoreuap-api-ms-win-core-console-l1-1-0.a | Bin 13434 -> 0 bytes ...necoreuap-api-ms-win-core-console-l2-1-0.a | Bin 34518 -> 0 bytes ...necoreuap-api-ms-win-core-console-l3-1-0.a | Bin 2734 -> 0 bytes ...ecoreuap-api-ms-win-core-datetime-l1-1-0.a | Bin 5178 -> 0 bytes ...ecoreuap-api-ms-win-core-datetime-l1-1-1.a | Bin 3542 -> 0 bytes ...ecoreuap-api-ms-win-core-datetime-l1-1-2.a | Bin 2736 -> 0 bytes ..._onecoreuap-api-ms-win-core-debug-l1-1-0.a | Bin 5164 -> 0 bytes ..._onecoreuap-api-ms-win-core-debug-l1-1-1.a | Bin 6102 -> 0 bytes ..._onecoreuap-api-ms-win-core-debug-l1-1-2.a | Bin 2714 -> 0 bytes ...coreuap-api-ms-win-core-delayload-l1-1-0.a | Bin 2746 -> 0 bytes ...coreuap-api-ms-win-core-delayload-l1-1-1.a | Bin 3624 -> 0 bytes ...necoreuap-api-ms-win-core-enclave-l1-1-0.a | Bin 5210 -> 0 bytes ...necoreuap-api-ms-win-core-enclave-l1-1-1.a | Bin 5978 -> 0 bytes ...uap-api-ms-win-core-errorhandling-l1-1-0.a | Bin 7746 -> 0 bytes ...uap-api-ms-win-core-errorhandling-l1-1-1.a | Bin 6318 -> 0 bytes ...uap-api-ms-win-core-errorhandling-l1-1-2.a | Bin 2790 -> 0 bytes ...uap-api-ms-win-core-errorhandling-l1-1-3.a | Bin 6158 -> 0 bytes ...ap-api-ms-win-core-featurestaging-l1-1-0.a | Bin 6392 -> 0 bytes ...ap-api-ms-win-core-featurestaging-l1-1-1.a | Bin 2768 -> 0 bytes ...onecoreuap-api-ms-win-core-fibers-l1-1-0.a | Bin 5044 -> 0 bytes ...onecoreuap-api-ms-win-core-fibers-l1-1-1.a | Bin 2696 -> 0 bytes ...onecoreuap-api-ms-win-core-fibers-l2-1-0.a | Bin 5980 -> 0 bytes ...onecoreuap-api-ms-win-core-fibers-l2-1-1.a | Bin 3548 -> 0 bytes ...coreuap-api-ms-win-core-file-ansi-l1-1-0.a | Bin 9598 -> 0 bytes ...coreuap-api-ms-win-core-file-ansi-l2-1-0.a | Bin 6058 -> 0 bytes ...i_onecoreuap-api-ms-win-core-file-l1-1-0.a | Bin 63860 -> 0 bytes ...i_onecoreuap-api-ms-win-core-file-l1-2-0.a | Bin 5286 -> 0 bytes ...i_onecoreuap-api-ms-win-core-file-l1-2-1.a | Bin 4440 -> 0 bytes ...i_onecoreuap-api-ms-win-core-file-l1-2-2.a | Bin 10122 -> 0 bytes ...i_onecoreuap-api-ms-win-core-file-l2-1-0.a | Bin 10952 -> 0 bytes ...i_onecoreuap-api-ms-win-core-file-l2-1-1.a | Bin 2672 -> 0 bytes ...i_onecoreuap-api-ms-win-core-file-l2-1-2.a | Bin 3478 -> 0 bytes ...i_onecoreuap-api-ms-win-core-file-l2-1-3.a | Bin 2728 -> 0 bytes ...ecoreuap-api-ms-win-core-firmware-l1-1-0.a | Bin 5530 -> 0 bytes ...onecoreuap-api-ms-win-core-handle-l1-1-0.a | Bin 6040 -> 0 bytes ...i_onecoreuap-api-ms-win-core-heap-l1-1-0.a | Bin 13904 -> 0 bytes ...i_onecoreuap-api-ms-win-core-heap-l2-1-0.a | Bin 7428 -> 0 bytes ...uap-api-ms-win-core-heap-obsolete-l1-1-0.a | Bin 8368 -> 0 bytes ...reuap-api-ms-win-core-interlocked-l1-1-0.a | Bin 11346 -> 0 bytes ...reuap-api-ms-win-core-interlocked-l1-2-0.a | Bin 2794 -> 0 bytes ...api_onecoreuap-api-ms-win-core-io-l1-1-0.a | Bin 7788 -> 0 bytes ...api_onecoreuap-api-ms-win-core-io-l1-1-1.a | Bin 4320 -> 0 bytes ...pi_onecoreuap-api-ms-win-core-job-l1-1-0.a | Bin 2678 -> 0 bytes ...pi_onecoreuap-api-ms-win-core-job-l2-1-0.a | Bin 6918 -> 0 bytes ...pi_onecoreuap-api-ms-win-core-job-l2-1-1.a | Bin 4554 -> 0 bytes ...-ms-win-core-kernel32-legacy-ansi-l1-1-0.a | Bin 11496 -> 0 bytes ...p-api-ms-win-core-kernel32-legacy-l1-1-0.a | Bin 34858 -> 0 bytes ...p-api-ms-win-core-kernel32-legacy-l1-1-1.a | Bin 13970 -> 0 bytes ...p-api-ms-win-core-kernel32-legacy-l1-1-2.a | Bin 8582 -> 0 bytes ...p-api-ms-win-core-kernel32-legacy-l1-1-3.a | Bin 14166 -> 0 bytes ...p-api-ms-win-core-kernel32-legacy-l1-1-4.a | Bin 2766 -> 0 bytes ...p-api-ms-win-core-kernel32-legacy-l1-1-5.a | Bin 3634 -> 0 bytes ...p-api-ms-win-core-kernel32-legacy-l1-1-6.a | Bin 2806 -> 0 bytes ...euap-api-ms-win-core-largeinteger-l1-1-0.a | Bin 2700 -> 0 bytes ...uap-api-ms-win-core-libraryloader-l1-2-0.a | Bin 26234 -> 0 bytes ...uap-api-ms-win-core-libraryloader-l1-2-1.a | Bin 4362 -> 0 bytes ...uap-api-ms-win-core-libraryloader-l1-2-2.a | Bin 2770 -> 0 bytes ...uap-api-ms-win-core-libraryloader-l2-1-0.a | Bin 3660 -> 0 bytes ...api-ms-win-core-localization-ansi-l1-1-0.a | Bin 17104 -> 0 bytes ...euap-api-ms-win-core-localization-l1-2-0.a | Bin 51216 -> 0 bytes ...euap-api-ms-win-core-localization-l1-2-1.a | Bin 2764 -> 0 bytes ...euap-api-ms-win-core-localization-l1-2-2.a | Bin 3630 -> 0 bytes ...euap-api-ms-win-core-localization-l2-1-0.a | Bin 12042 -> 0 bytes ...ms-win-core-localization-obsolete-l1-2-0.a | Bin 8864 -> 0 bytes ...onecoreuap-api-ms-win-core-memory-l1-1-0.a | Bin 15016 -> 0 bytes ...onecoreuap-api-ms-win-core-memory-l1-1-1.a | Bin 15500 -> 0 bytes ...onecoreuap-api-ms-win-core-memory-l1-1-2.a | Bin 11416 -> 0 bytes ...onecoreuap-api-ms-win-core-memory-l1-1-3.a | Bin 5316 -> 0 bytes ...onecoreuap-api-ms-win-core-memory-l1-1-4.a | Bin 2772 -> 0 bytes ...onecoreuap-api-ms-win-core-memory-l1-1-5.a | Bin 3548 -> 0 bytes ...ap-api-ms-win-core-namedpipe-ansi-l1-1-0.a | Bin 4540 -> 0 bytes ...ap-api-ms-win-core-namedpipe-ansi-l1-1-1.a | Bin 2756 -> 0 bytes ...coreuap-api-ms-win-core-namedpipe-l1-1-0.a | Bin 10316 -> 0 bytes ...coreuap-api-ms-win-core-namedpipe-l1-2-1.a | Bin 3600 -> 0 bytes ...coreuap-api-ms-win-core-namedpipe-l1-2-2.a | Bin 2722 -> 0 bytes ...ap-api-ms-win-core-namespace-ansi-l1-1-0.a | Bin 4532 -> 0 bytes ...coreuap-api-ms-win-core-namespace-l1-1-0.a | Bin 7080 -> 0 bytes ...uap-api-ms-win-core-normalization-l1-1-0.a | Bin 6106 -> 0 bytes ...i_onecoreuap-api-ms-win-core-path-l1-1-0.a | Bin 20254 -> 0 bytes ...euap-api-ms-win-core-perfcounters-l1-1-0.a | Bin 14114 -> 0 bytes ...ap-api-ms-win-core-privateprofile-l1-1-0.a | Bin 13980 -> 0 bytes ...ap-api-ms-win-core-privateprofile-l1-1-1.a | Bin 3700 -> 0 bytes ...-win-core-processenvironment-ansi-l1-1-0.a | Bin 2854 -> 0 bytes ...pi-ms-win-core-processenvironment-l1-1-0.a | Bin 19924 -> 0 bytes ...pi-ms-win-core-processenvironment-l1-2-0.a | Bin 4592 -> 0 bytes ...p-api-ms-win-core-processsnapshot-l1-1-0.a | Bin 10454 -> 0 bytes ...ap-api-ms-win-core-processthreads-l1-1-0.a | Bin 43044 -> 0 bytes ...ap-api-ms-win-core-processthreads-l1-1-1.a | Bin 14008 -> 0 bytes ...ap-api-ms-win-core-processthreads-l1-1-2.a | Bin 9604 -> 0 bytes ...ap-api-ms-win-core-processthreads-l1-1-3.a | Bin 12360 -> 0 bytes ...p-api-ms-win-core-processtopology-l1-1-0.a | Bin 4538 -> 0 bytes ...win-core-processtopology-obsolete-l1-1-0.a | Bin 6344 -> 0 bytes ...win-core-processtopology-obsolete-l1-1-1.a | Bin 2888 -> 0 bytes ...necoreuap-api-ms-win-core-profile-l1-1-0.a | Bin 3614 -> 0 bytes ...oreuap-api-ms-win-core-psapi-ansi-l1-1-0.a | Bin 8864 -> 0 bytes ..._onecoreuap-api-ms-win-core-psapi-l1-1-0.a | Bin 19806 -> 0 bytes ...uap-api-ms-win-core-psm-appnotify-l1-1-0.a | Bin 3780 -> 0 bytes ...onecoreuap-api-ms-win-core-quirks-l1-1-0.a | Bin 8560 -> 0 bytes ...onecoreuap-api-ms-win-core-quirks-l1-1-1.a | Bin 3624 -> 0 bytes ...ecoreuap-api-ms-win-core-realtime-l1-1-0.a | Bin 6240 -> 0 bytes ...ecoreuap-api-ms-win-core-realtime-l1-1-1.a | Bin 4508 -> 0 bytes ...ecoreuap-api-ms-win-core-realtime-l1-1-2.a | Bin 4720 -> 0 bytes ...ecoreuap-api-ms-win-core-registry-l1-1-0.a | Bin 37288 -> 0 bytes ...ecoreuap-api-ms-win-core-registry-l1-1-1.a | Bin 5226 -> 0 bytes ...ecoreuap-api-ms-win-core-registry-l1-1-2.a | Bin 3622 -> 0 bytes ...ecoreuap-api-ms-win-core-registry-l2-1-0.a | Bin 24272 -> 0 bytes ...oreuap-api-ms-win-core-rtlsupport-l1-1-0.a | Bin 4404 -> 0 bytes ...oreuap-api-ms-win-core-rtlsupport-l1-2-0.a | Bin 4400 -> 0 bytes ...uap-api-ms-win-core-shutdown-ansi-l1-1-0.a | Bin 4522 -> 0 bytes ...ecoreuap-api-ms-win-core-shutdown-l1-1-0.a | Bin 3610 -> 0 bytes ...ecoreuap-api-ms-win-core-shutdown-l1-1-1.a | Bin 2724 -> 0 bytes ...p-api-ms-win-core-sidebyside-ansi-l1-1-0.a | Bin 3626 -> 0 bytes ...oreuap-api-ms-win-core-sidebyside-l1-1-0.a | Bin 11016 -> 0 bytes ..._onecoreuap-api-ms-win-core-slapi-l1-1-0.a | Bin 3632 -> 0 bytes ...onecoreuap-api-ms-win-core-string-l1-1-0.a | Bin 8512 -> 0 bytes ...onecoreuap-api-ms-win-core-string-l2-1-0.a | Bin 9932 -> 0 bytes ...onecoreuap-api-ms-win-core-string-l2-1-1.a | Bin 2728 -> 0 bytes ...p-api-ms-win-core-string-obsolete-l1-1-0.a | Bin 9878 -> 0 bytes ...p-api-ms-win-core-string-obsolete-l1-1-1.a | Bin 3518 -> 0 bytes ...oreuap-api-ms-win-core-stringansi-l1-1-0.a | Bin 11612 -> 0 bytes ...oreuap-api-ms-win-core-synch-ansi-l1-1-0.a | Bin 7768 -> 0 bytes ..._onecoreuap-api-ms-win-core-synch-l1-1-0.a | Bin 36054 -> 0 bytes ..._onecoreuap-api-ms-win-core-synch-l1-2-0.a | Bin 16298 -> 0 bytes ..._onecoreuap-api-ms-win-core-synch-l1-2-1.a | Bin 4406 -> 0 bytes ...necoreuap-api-ms-win-core-sysinfo-l1-1-0.a | Bin 20314 -> 0 bytes ...necoreuap-api-ms-win-core-sysinfo-l1-2-0.a | Bin 9486 -> 0 bytes ...necoreuap-api-ms-win-core-sysinfo-l1-2-1.a | Bin 6270 -> 0 bytes ...necoreuap-api-ms-win-core-sysinfo-l1-2-2.a | Bin 2770 -> 0 bytes ...necoreuap-api-ms-win-core-sysinfo-l1-2-3.a | Bin 6090 -> 0 bytes ...ap-api-ms-win-core-systemtopology-l1-1-0.a | Bin 3684 -> 0 bytes ...ap-api-ms-win-core-systemtopology-l1-1-1.a | Bin 2792 -> 0 bytes ...oreuap-api-ms-win-core-threadpool-l1-2-0.a | Bin 34140 -> 0 bytes ...api-ms-win-core-threadpool-legacy-l1-1-0.a | Bin 7890 -> 0 bytes ...ecoreuap-api-ms-win-core-timezone-l1-1-0.a | Bin 13476 -> 0 bytes ...ecoreuap-api-ms-win-core-toolhelp-l1-1-0.a | Bin 7640 -> 0 bytes ...ecoreuap-api-ms-win-core-toolhelp-l1-1-1.a | Bin 5134 -> 0 bytes ...pi_onecoreuap-api-ms-win-core-url-l1-1-0.a | Bin 32562 -> 0 bytes ...i_onecoreuap-api-ms-win-core-util-l1-1-0.a | Bin 5908 -> 0 bytes ...i_onecoreuap-api-ms-win-core-util-l1-1-1.a | Bin 3550 -> 0 bytes ...necoreuap-api-ms-win-core-version-l1-1-0.a | Bin 5238 -> 0 bytes ...necoreuap-api-ms-win-core-version-l1-1-1.a | Bin 3590 -> 0 bytes ...reuap-api-ms-win-core-versionansi-l1-1-0.a | Bin 5278 -> 0 bytes ...reuap-api-ms-win-core-versionansi-l1-1-1.a | Bin 3622 -> 0 bytes ...reuap-api-ms-win-core-windowsceip-l1-1-0.a | Bin 2722 -> 0 bytes ...ms-win-core-windowserrorreporting-l1-1-0.a | Bin 12500 -> 0 bytes ...ms-win-core-windowserrorreporting-l1-1-1.a | Bin 7384 -> 0 bytes ...ms-win-core-windowserrorreporting-l1-1-2.a | Bin 3728 -> 0 bytes ...reuap-api-ms-win-core-winrt-error-l1-1-0.a | Bin 11362 -> 0 bytes ...reuap-api-ms-win-core-winrt-error-l1-1-1.a | Bin 8890 -> 0 bytes ..._onecoreuap-api-ms-win-core-winrt-l1-1-0.a | Bin 9614 -> 0 bytes ...pi-ms-win-core-winrt-registration-l1-1-0.a | Bin 3776 -> 0 bytes ...ap-api-ms-win-core-winrt-robuffer-l1-1-0.a | Bin 2780 -> 0 bytes ...win-core-winrt-roparameterizediid-l1-1-0.a | Bin 4780 -> 0 bytes ...euap-api-ms-win-core-winrt-string-l1-1-0.a | Bin 21792 -> 0 bytes ...euap-api-ms-win-core-winrt-string-l1-1-1.a | Bin 2772 -> 0 bytes ..._onecoreuap-api-ms-win-core-wow64-l1-1-0.a | Bin 4470 -> 0 bytes ..._onecoreuap-api-ms-win-core-wow64-l1-1-1.a | Bin 7068 -> 0 bytes ..._onecoreuap-api-ms-win-core-wow64-l1-1-2.a | Bin 2758 -> 0 bytes ...onecoreuap-api-ms-win-core-xstate-l2-1-0.a | Bin 6924 -> 0 bytes ...coreuap-api-ms-win-devices-config-l1-1-1.a | Bin 35746 -> 0 bytes ...coreuap-api-ms-win-devices-config-l1-1-2.a | Bin 14308 -> 0 bytes ...reuap-api-ms-win-devices-swdevice-l1-1-0.a | Bin 7830 -> 0 bytes ...reuap-api-ms-win-devices-swdevice-l1-1-1.a | Bin 3598 -> 0 bytes ...i_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-0.a | Bin 87142 -> 0 bytes ...i_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-1.a | Bin 42052 -> 0 bytes ...i_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-2.a | Bin 20096 -> 0 bytes ...i_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-3.a | Bin 14390 -> 0 bytes ...i_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-4.a | Bin 19570 -> 0 bytes ...i-ms-win-eventing-classicprovider-l1-1-0.a | Bin 8682 -> 0 bytes ...euap-api-ms-win-eventing-consumer-l1-1-0.a | Bin 4332 -> 0 bytes ...euap-api-ms-win-eventing-consumer-l1-1-1.a | Bin 2800 -> 0 bytes ...ap-api-ms-win-eventing-controller-l1-1-0.a | Bin 11120 -> 0 bytes ...oreuap-api-ms-win-eventing-legacy-l1-1-0.a | Bin 13288 -> 0 bytes ...euap-api-ms-win-eventing-obsolete-l1-1-0.a | Bin 4440 -> 0 bytes ...euap-api-ms-win-eventing-provider-l1-1-0.a | Bin 10238 -> 0 bytes ...necoreuap-api-ms-win-eventing-tdh-l1-1-0.a | Bin 12262 -> 0 bytes ...i-ms-win-gaming-deviceinformation-l1-1-0.a | Bin 2870 -> 0 bytes ...i-ms-win-gaming-expandedresources-l1-1-0.a | Bin 4622 -> 0 bytes ...uap-api-ms-win-gaming-gamemonitor-l1-1-0.a | Bin 4538 -> 0 bytes ...uap-api-ms-win-gaming-gamemonitor-l1-1-1.a | Bin 2834 -> 0 bytes ...onecoreuap-api-ms-win-gaming-tcui-l1-1-0.a | Bin 7844 -> 0 bytes ...onecoreuap-api-ms-win-gaming-tcui-l1-1-1.a | Bin 3648 -> 0 bytes ...onecoreuap-api-ms-win-gaming-tcui-l1-1-2.a | Bin 8152 -> 0 bytes ...onecoreuap-api-ms-win-gaming-tcui-l1-1-3.a | Bin 3684 -> 0 bytes ...onecoreuap-api-ms-win-gaming-tcui-l1-1-4.a | Bin 8744 -> 0 bytes ...api_onecoreuap-api-ms-win-mm-misc-l1-1-0.a | Bin 25272 -> 0 bytes ...api_onecoreuap-api-ms-win-mm-misc-l1-1-1.a | Bin 2660 -> 0 bytes ...napi_onecoreuap-api-ms-win-mm-mme-l1-1-0.a | Bin 85380 -> 0 bytes ...necoreuap-api-ms-win-mm-playsound-l1-1-0.a | Bin 5102 -> 0 bytes ...api_onecoreuap-api-ms-win-mm-time-l1-1-0.a | Bin 5908 -> 0 bytes ...reuap-api-ms-win-ntuser-sysparams-l1-1-0.a | Bin 12194 -> 0 bytes ...euap-api-ms-win-oobe-notification-l1-1-0.a | Bin 4540 -> 0 bytes ...onecoreuap-api-ms-win-perf-legacy-l1-1-0.a | Bin 9620 -> 0 bytes ..._onecoreuap-api-ms-win-power-base-l1-1-0.a | Bin 6330 -> 0 bytes ...api-ms-win-power-limitsmanagement-l1-1-0.a | Bin 10956 -> 0 bytes ...ecoreuap-api-ms-win-power-setting-l1-1-0.a | Bin 8794 -> 0 bytes ...euap-api-ms-win-ro-typeresolution-l1-1-0.a | Bin 4428 -> 0 bytes ...-api-ms-win-security-appcontainer-l1-1-0.a | Bin 2848 -> 0 bytes ...uap-api-ms-win-security-base-ansi-l1-1-0.a | Bin 3592 -> 0 bytes ...ecoreuap-api-ms-win-security-base-l1-1-0.a | Bin 83084 -> 0 bytes ...ecoreuap-api-ms-win-security-base-l1-2-0.a | Bin 7868 -> 0 bytes ...ecoreuap-api-ms-win-security-base-l1-2-1.a | Bin 2700 -> 0 bytes ...ecoreuap-api-ms-win-security-base-l1-2-2.a | Bin 2780 -> 0 bytes ...p-api-ms-win-security-credentials-l1-1-0.a | Bin 26386 -> 0 bytes ...uap-api-ms-win-security-cryptoapi-l1-1-0.a | Bin 34678 -> 0 bytes ...ms-win-security-isolatedcontainer-l1-1-0.a | Bin 2870 -> 0 bytes ...pi-ms-win-security-lsalookup-ansi-l2-1-0.a | Bin 6268 -> 0 bytes ...uap-api-ms-win-security-lsalookup-l2-1-0.a | Bin 7096 -> 0 bytes ...uap-api-ms-win-security-lsalookup-l2-1-1.a | Bin 2794 -> 0 bytes ...api-ms-win-security-provider-ansi-l1-1-0.a | Bin 5400 -> 0 bytes ...euap-api-ms-win-security-provider-l1-1-0.a | Bin 7010 -> 0 bytes ...uap-api-ms-win-security-sddl-ansi-l1-1-0.a | Bin 3648 -> 0 bytes ...ecoreuap-api-ms-win-security-sddl-l1-1-0.a | Bin 5626 -> 0 bytes ...i-ms-win-security-systemfunctions-l1-1-0.a | Bin 4486 -> 0 bytes ...euap-api-ms-win-service-core-ansi-l1-1-0.a | Bin 4484 -> 0 bytes ...euap-api-ms-win-service-core-ansi-l1-1-1.a | Bin 2780 -> 0 bytes ...necoreuap-api-ms-win-service-core-l1-1-0.a | Bin 4482 -> 0 bytes ...necoreuap-api-ms-win-service-core-l1-1-1.a | Bin 4498 -> 0 bytes ...necoreuap-api-ms-win-service-core-l1-1-2.a | Bin 3586 -> 0 bytes ...uap-api-ms-win-service-management-l1-1-0.a | Bin 7702 -> 0 bytes ...uap-api-ms-win-service-management-l2-1-0.a | Bin 8840 -> 0 bytes ...coreuap-api-ms-win-service-winsvc-l1-1-0.a | Bin 15484 -> 0 bytes ...onecoreuap-api-ms-win-shcore-path-l1-1-0.a | Bin 5184 -> 0 bytes ...oreuap-api-ms-win-shcore-registry-l1-1-0.a | Bin 24796 -> 0 bytes ...oreuap-api-ms-win-shcore-registry-l1-1-1.a | Bin 2780 -> 0 bytes ...coreuap-api-ms-win-shcore-scaling-l1-1-0.a | Bin 4570 -> 0 bytes ...coreuap-api-ms-win-shcore-scaling-l1-1-1.a | Bin 7056 -> 0 bytes ...coreuap-api-ms-win-shcore-scaling-l1-1-2.a | Bin 2770 -> 0 bytes ...ap-api-ms-win-shcore-stream-winrt-l1-1-0.a | Bin 4692 -> 0 bytes ...coreuap-api-ms-win-shcore-sysinfo-l1-1-0.a | Bin 4542 -> 0 bytes ...uap-api-ms-win-shcore-unicodeansi-l1-1-0.a | Bin 5244 -> 0 bytes ...oreuap-api-ms-win-shell-namespace-l1-1-0.a | Bin 20068 -> 0 bytes ...euap-api-ms-win-shell-shdirectory-l1-1-0.a | Bin 4456 -> 0 bytes .../lib/libwinapi_onecoreuap-authz.a | Bin 32732 -> 0 bytes .../lib/libwinapi_onecoreuap-bcrypt.a | Bin 46730 -> 0 bytes .../lib/libwinapi_onecoreuap-cabinet.a | Bin 22412 -> 0 bytes .../lib/libwinapi_onecoreuap-chakra.a | Bin 98938 -> 0 bytes .../lib/libwinapi_onecoreuap-coremessaging.a | Bin 24472 -> 0 bytes .../lib/libwinapi_onecoreuap-crypt32.a | Bin 204286 -> 0 bytes .../lib/libwinapi_onecoreuap-cryptbase.a | Bin 8244 -> 0 bytes .../lib/libwinapi_onecoreuap-cryptnet.a | Bin 5994 -> 0 bytes .../lib/libwinapi_onecoreuap-d2d1.a | Bin 12410 -> 0 bytes .../lib/libwinapi_onecoreuap-d3d11.a | Bin 9444 -> 0 bytes .../lib/libwinapi_onecoreuap-d3d12.a | Bin 10436 -> 0 bytes .../lib/libwinapi_onecoreuap-d3dcompiler_47.a | Bin 23970 -> 0 bytes .../lib/libwinapi_onecoreuap-deviceaccess.a | Bin 4326 -> 0 bytes .../lib/libwinapi_onecoreuap-dfscli.a | Bin 23114 -> 0 bytes .../lib/libwinapi_onecoreuap-dhcpcsvc.a | Bin 54904 -> 0 bytes .../lib/libwinapi_onecoreuap-dhcpcsvc6.a | Bin 19904 -> 0 bytes .../lib/libwinapi_onecoreuap-dnsapi.a | Bin 224990 -> 0 bytes .../lib/libwinapi_onecoreuap-dsparse.a | Bin 17766 -> 0 bytes .../lib/libwinapi_onecoreuap-dsrole.a | Bin 3430 -> 0 bytes .../lib/libwinapi_onecoreuap-dwrite.a | Bin 2562 -> 0 bytes .../lib/libwinapi_onecoreuap-dxgi.a | Bin 9246 -> 0 bytes .../lib/libwinapi_onecoreuap-esent.a | Bin 301808 -> 0 bytes ...i_onecoreuap-ext-ms-win-core-iuri-l1-1-0.a | Bin 4336 -> 0 bytes ...ecoreuap-ext-ms-win-gaming-xinput-l1-1-0.a | Bin 7780 -> 0 bytes ...uap-ext-ms-win-networking-wlanapi-l1-1-0.a | Bin 20688 -> 0 bytes ...p-ext-ms-win-shell32-shellfolders-l1-1-0.a | Bin 12946 -> 0 bytes ...p-ext-ms-win-shell32-shellfolders-l1-1-1.a | Bin 3606 -> 0 bytes ...api_onecoreuap-ext-ms-win-uiacore-l1-1-0.a | Bin 3592 -> 0 bytes ...api_onecoreuap-ext-ms-win-uiacore-l1-1-1.a | Bin 8828 -> 0 bytes ...api_onecoreuap-ext-ms-win-uiacore-l1-1-2.a | Bin 3624 -> 0 bytes ...api_onecoreuap-ext-ms-win-uiacore-l1-1-3.a | Bin 2700 -> 0 bytes .../lib/libwinapi_onecoreuap-fltlib.a | Bin 25470 -> 0 bytes .../lib/libwinapi_onecoreuap-hid.a | Bin 37978 -> 0 bytes .../lib/libwinapi_onecoreuap-hrtfapo.a | Bin 5030 -> 0 bytes .../lib/libwinapi_onecoreuap-inkobjcore.a | Bin 25746 -> 0 bytes .../lib/libwinapi_onecoreuap-iphlpapi.a | Bin 234938 -> 0 bytes .../lib/libwinapi_onecoreuap-logoncli.a | Bin 29832 -> 0 bytes .../lib/libwinapi_onecoreuap-mf.a | Bin 64522 -> 0 bytes .../lib/libwinapi_onecoreuap-mfplat.a | Bin 128094 -> 0 bytes .../lib/libwinapi_onecoreuap-mfreadwrite.a | Bin 6184 -> 0 bytes .../lib/libwinapi_onecoreuap-mfsensorgroup.a | Bin 4312 -> 0 bytes .../lib/libwinapi_onecoreuap-mmdevapi.a | Bin 26730 -> 0 bytes .../lib/libwinapi_onecoreuap-mpr.a | Bin 37044 -> 0 bytes .../lib/libwinapi_onecoreuap-msajapi.a | Bin 504802 -> 0 bytes .../lib/libwinapi_onecoreuap-mswsock.a | Bin 23920 -> 0 bytes .../lib/libwinapi_onecoreuap-ncrypt.a | Bin 65350 -> 0 bytes .../lib/libwinapi_onecoreuap-netutils.a | Bin 5870 -> 0 bytes .../lib/libwinapi_onecoreuap-ntdll.a | Bin 18656 -> 0 bytes .../lib/libwinapi_onecoreuap-oleaut32.a | Bin 318824 -> 0 bytes .../lib/libwinapi_onecoreuap-powrprof.a | Bin 59570 -> 0 bytes .../lib/libwinapi_onecoreuap-profapi.a | Bin 15286 -> 0 bytes .../lib/libwinapi_onecoreuap-propsys.a | Bin 187304 -> 0 bytes .../lib/libwinapi_onecoreuap-rometadata.a | Bin 2594 -> 0 bytes .../lib/libwinapi_onecoreuap-rpcrt4.a | Bin 433066 -> 0 bytes .../lib/libwinapi_onecoreuap-samcli.a | Bin 31086 -> 0 bytes .../lib/libwinapi_onecoreuap-schedcli.a | Bin 5024 -> 0 bytes .../lib/libwinapi_onecoreuap-srvcli.a | Bin 40394 -> 0 bytes .../lib/libwinapi_onecoreuap-sspicli.a | Bin 78634 -> 0 bytes .../lib/libwinapi_onecoreuap-tokenbinding.a | Bin 8668 -> 0 bytes .../libwinapi_onecoreuap-uiautomationcore.a | Bin 76102 -> 0 bytes .../lib/libwinapi_onecoreuap-urlmon.a | Bin 56266 -> 0 bytes .../lib/libwinapi_onecoreuap-userenv.a | Bin 61712 -> 0 bytes .../lib/libwinapi_onecoreuap-webservices.a | Bin 159312 -> 0 bytes .../lib/libwinapi_onecoreuap-websocket.a | Bin 12732 -> 0 bytes .../libwinapi_onecoreuap-windows.data.pdf.a | Bin 2618 -> 0 bytes .../libwinapi_onecoreuap-windows.networking.a | Bin 2682 -> 0 bytes .../lib/libwinapi_onecoreuap-windowscodecs.a | Bin 106912 -> 0 bytes .../lib/libwinapi_onecoreuap-winhttp.a | Bin 54198 -> 0 bytes .../lib/libwinapi_onecoreuap-wintrust.a | Bin 2554 -> 0 bytes .../lib/libwinapi_onecoreuap-wkscli.a | Bin 20490 -> 0 bytes .../lib/libwinapi_onecoreuap-wlanapi.a | Bin 41212 -> 0 bytes .../lib/libwinapi_onecoreuap-wldap32.a | Bin 196512 -> 0 bytes .../lib/libwinapi_onecoreuap-wpprecorderum.a | Bin 5028 -> 0 bytes .../lib/libwinapi_onecoreuap-ws2_32.a | Bin 145908 -> 0 bytes .../lib/libwinapi_onecoreuap-xaudio2_9.a | Bin 7388 -> 0 bytes .../lib/libwinapi_onecoreuap-xmllite.a | Bin 7022 -> 0 bytes .../lib/libwinapi_onecoreuap.a | 324 - .../libwinapi_onecoreuap_downlevel-advapi32.a | Bin 516378 -> 0 bytes .../libwinapi_onecoreuap_downlevel-apphelp.a | Bin 8284 -> 0 bytes .../libwinapi_onecoreuap_downlevel-comctl32.a | Bin 61278 -> 0 bytes .../libwinapi_onecoreuap_downlevel-comdlg32.a | Bin 16926 -> 0 bytes .../libwinapi_onecoreuap_downlevel-d3d10.a | Bin 5178 -> 0 bytes .../lib/libwinapi_onecoreuap_downlevel-d3d9.a | Bin 5838 -> 0 bytes ...libwinapi_onecoreuap_downlevel-d3dx10_47.a | Bin 6232 -> 0 bytes .../libwinapi_onecoreuap_downlevel-difxapi.a | Bin 3488 -> 0 bytes .../libwinapi_onecoreuap_downlevel-gdi32.a | Bin 178098 -> 0 bytes .../libwinapi_onecoreuap_downlevel-input.a | Bin 11160 -> 0 bytes .../libwinapi_onecoreuap_downlevel-kernel32.a | Bin 980250 -> 0 bytes .../lib/libwinapi_onecoreuap_downlevel-msi.a | Bin 34848 -> 0 bytes .../libwinapi_onecoreuap_downlevel-newdev.a | Bin 10436 -> 0 bytes .../libwinapi_onecoreuap_downlevel-ole32.a | Bin 285188 -> 0 bytes .../libwinapi_onecoreuap_downlevel-oleacc.a | Bin 11952 -> 0 bytes .../libwinapi_onecoreuap_downlevel-oleaut32.a | Bin 322874 -> 0 bytes .../libwinapi_onecoreuap_downlevel-oledlg.a | Bin 18064 -> 0 bytes .../lib/libwinapi_onecoreuap_downlevel-pdh.a | Bin 14048 -> 0 bytes .../libwinapi_onecoreuap_downlevel-psapi.a | Bin 24152 -> 0 bytes .../libwinapi_onecoreuap_downlevel-resutils.a | Bin 10458 -> 0 bytes .../libwinapi_onecoreuap_downlevel-rstrtmgr.a | Bin 6586 -> 0 bytes .../libwinapi_onecoreuap_downlevel-secur32.a | Bin 77004 -> 0 bytes .../libwinapi_onecoreuap_downlevel-setupapi.a | Bin 158058 -> 0 bytes .../libwinapi_onecoreuap_downlevel-shell32.a | Bin 137068 -> 0 bytes .../libwinapi_onecoreuap_downlevel-shlwapi.a | Bin 317204 -> 0 bytes .../lib/libwinapi_onecoreuap_downlevel-tdh.a | Bin 11956 -> 0 bytes .../libwinapi_onecoreuap_downlevel-twinapi.a | Bin 2588 -> 0 bytes .../libwinapi_onecoreuap_downlevel-user32.a | Bin 506128 -> 0 bytes .../libwinapi_onecoreuap_downlevel-uxtheme.a | Bin 39456 -> 0 bytes .../libwinapi_onecoreuap_downlevel-version.a | Bin 10064 -> 0 bytes .../libwinapi_onecoreuap_downlevel-winmm.a | Bin 5788 -> 0 bytes .../libwinapi_onecoreuap_downlevel-winspool.a | Bin 35146 -> 0 bytes .../libwinapi_onecoreuap_downlevel-wtsapi32.a | Bin 15314 -> 0 bytes ...libwinapi_onecoreuap_downlevel-xinput1_4.a | Bin 8390 -> 0 bytes .../lib/libwinapi_onecoreuap_downlevel.a | 36 - .../lib/libwinapi_opengl32.a | Bin 287026 -> 0 bytes .../lib/libwinapi_p2p.a | Bin 92602 -> 0 bytes .../lib/libwinapi_p2pgraph.a | Bin 32856 -> 0 bytes .../lib/libwinapi_pathcch.a | Bin 19396 -> 0 bytes .../lib/libwinapi_pdh.a | Bin 90600 -> 0 bytes .../lib/libwinapi_peerdist.a | Bin 25984 -> 0 bytes .../lib/libwinapi_powrprof.a | Bin 92844 -> 0 bytes .../lib/libwinapi_prntvpt.a | Bin 26074 -> 0 bytes .../lib/libwinapi_propsys.a | Bin 184622 -> 0 bytes .../lib/libwinapi_psapi.a | Bin 23454 -> 0 bytes .../lib/libwinapi_quartz.a | Bin 4814 -> 0 bytes .../lib/libwinapi_query.a | Bin 12222 -> 0 bytes .../lib/libwinapi_qwave.a | Bin 12778 -> 0 bytes .../lib/libwinapi_rasapi32.a | Bin 117556 -> 0 bytes .../lib/libwinapi_rasdlg.a | Bin 20232 -> 0 bytes .../lib/libwinapi_resutils.a | Bin 107496 -> 0 bytes .../lib/libwinapi_rometadata.a | Bin 2528 -> 0 bytes .../lib/libwinapi_rpcexts.a | Bin 45338 -> 0 bytes .../lib/libwinapi_rpcns4.a | Bin 52470 -> 0 bytes .../lib/libwinapi_rpcproxy.a | Bin 4884 -> 0 bytes .../lib/libwinapi_rpcrt4.a | Bin 427850 -> 0 bytes .../lib/libwinapi_rstrtmgr.a | Bin 11072 -> 0 bytes .../lib/libwinapi_rtm.a | Bin 95388 -> 0 bytes .../lib/libwinapi_rtutils.a | Bin 34134 -> 0 bytes .../lib/libwinapi_rtworkq.a | Bin 29736 -> 0 bytes ...bject-api-ms-win-core-winrt-error-l1-1-0.a | Bin 11420 -> 0 bytes ...bject-api-ms-win-core-winrt-error-l1-1-1.a | Bin 8936 -> 0 bytes ...ntimeobject-api-ms-win-core-winrt-l1-1-0.a | Bin 9664 -> 0 bytes ...pi-ms-win-core-winrt-registration-l1-1-0.a | Bin 3796 -> 0 bytes ...ct-api-ms-win-core-winrt-robuffer-l1-1-0.a | Bin 2798 -> 0 bytes ...win-core-winrt-roparameterizediid-l1-1-0.a | Bin 4802 -> 0 bytes ...ject-api-ms-win-core-winrt-string-l1-1-0.a | Bin 21854 -> 0 bytes ...ject-api-ms-win-ro-typeresolution-l1-1-0.a | Bin 4450 -> 0 bytes .../lib/libwinapi_runtimeobject.a | 10 - .../lib/libwinapi_samlib.a | Bin 59410 -> 0 bytes .../lib/libwinapi_samsrv.a | Bin 273012 -> 0 bytes .../lib/libwinapi_sas.a | Bin 2410 -> 0 bytes .../lib/libwinapi_scarddlg.a | Bin 5732 -> 0 bytes .../lib/libwinapi_scecli.a | Bin 52546 -> 0 bytes .../lib/libwinapi_scesrv.a | Bin 3322 -> 0 bytes .../lib/libwinapi_schannel.a | Bin 29436 -> 0 bytes .../lib/libwinapi_secur32.a | Bin 78166 -> 0 bytes .../lib/libwinapi_security.a | Bin 31228 -> 0 bytes .../lib/libwinapi_sens.a | Bin 4112 -> 0 bytes .../lib/libwinapi_sensapi.a | Bin 4126 -> 0 bytes .../lib/libwinapi_sensorsutils.a | Bin 52000 -> 0 bytes .../lib/libwinapi_setupapi.a | Bin 469960 -> 0 bytes .../lib/libwinapi_sfc.a | Bin 14364 -> 0 bytes ...re-api-ms-win-core-featurestaging-l1-1-0.a | Bin 6352 -> 0 bytes ...re-api-ms-win-core-featurestaging-l1-1-1.a | Bin 2744 -> 0 bytes ..._shcore-api-ms-win-shcore-scaling-l1-1-0.a | Bin 4538 -> 0 bytes ..._shcore-api-ms-win-shcore-scaling-l1-1-1.a | Bin 7012 -> 0 bytes ..._shcore-api-ms-win-shcore-scaling-l1-1-2.a | Bin 2746 -> 0 bytes ...re-api-ms-win-shcore-stream-winrt-l1-1-0.a | Bin 4660 -> 0 bytes .../lib/libwinapi_shcore.a | 8 - .../lib/libwinapi_shdocvw.a | Bin 16814 -> 0 bytes .../lib/libwinapi_shell32.a | Bin 332466 -> 0 bytes .../lib/libwinapi_shfolder.a | Bin 3292 -> 0 bytes .../lib/libwinapi_shlwapi.a | Bin 288514 -> 0 bytes .../lib/libwinapi_slc.a | Bin 31846 -> 0 bytes .../lib/libwinapi_slcext.a | Bin 8992 -> 0 bytes .../lib/libwinapi_slwga.a | Bin 2474 -> 0 bytes .../lib/libwinapi_snmpapi.a | Bin 32012 -> 0 bytes .../lib/libwinapi_spoolss.a | Bin 159710 -> 0 bytes .../lib/libwinapi_sporder.a | Bin 3328 -> 0 bytes .../lib/libwinapi_srpapi.a | Bin 19220 -> 0 bytes .../lib/libwinapi_ssdpapi.a | Bin 25090 -> 0 bytes .../lib/libwinapi_sti.a | Bin 4956 -> 0 bytes .../lib/libwinapi_swdevice.a | Bin 8984 -> 0 bytes .../lib/libwinapi_synchronization.a | Bin 4154 -> 0 bytes .../lib/libwinapi_t2embed.a | Bin 13036 -> 0 bytes .../lib/libwinapi_tapi32.a | Bin 223330 -> 0 bytes .../lib/libwinapi_tbs.a | Bin 15378 -> 0 bytes .../lib/libwinapi_tdh.a | Bin 21500 -> 0 bytes .../lib/libwinapi_thunk32.a | Bin 52116 -> 0 bytes .../lib/libwinapi_tokenbinding.a | Bin 8532 -> 0 bytes .../lib/libwinapi_traffic.a | Bin 18952 -> 0 bytes .../lib/libwinapi_tsec.a | Bin 24376 -> 0 bytes .../lib/libwinapi_twain_32.a | Bin 5532 -> 0 bytes .../lib/libwinapi_txfw32.a | Bin 9244 -> 0 bytes .../lib/libwinapi_ualapi.a | Bin 7232 -> 0 bytes .../lib/libwinapi_uiautomationcore.a | Bin 86236 -> 0 bytes .../lib/libwinapi_umpdddi.a | Bin 64894 -> 0 bytes .../lib/libwinapi_urlmon.a | Bin 74000 -> 0 bytes .../lib/libwinapi_user32.a | Bin 606552 -> 0 bytes .../lib/libwinapi_userenv.a | Bin 60806 -> 0 bytes .../lib/libwinapi_usp10.a | Bin 33934 -> 0 bytes .../lib/libwinapi_uxtheme.a | Bin 62198 -> 0 bytes .../lib/libwinapi_vdmdbg.a | Bin 23882 -> 0 bytes .../lib/libwinapi_version.a | Bin 11320 -> 0 bytes .../lib/libwinapi_vfw32-avicap32.a | Bin 6642 -> 0 bytes .../lib/libwinapi_vfw32-avifil32.a | Bin 60908 -> 0 bytes .../lib/libwinapi_vfw32-msvfw32.a | Bin 38778 -> 0 bytes .../lib/libwinapi_vfw32.a | 5 - .../lib/libwinapi_virtdisk.a | Bin 23904 -> 0 bytes .../lib/libwinapi_vssapi.a | Bin 11036 -> 0 bytes .../lib/libwinapi_wcmapi.a | Bin 32080 -> 0 bytes .../lib/libwinapi_wdsbp.a | Bin 7278 -> 0 bytes .../lib/libwinapi_wdsclientapi.a | Bin 50204 -> 0 bytes .../lib/libwinapi_wdsmc.a | Bin 6794 -> 0 bytes .../lib/libwinapi_wdspxe.a | Bin 26732 -> 0 bytes .../lib/libwinapi_wdstptc.a | Bin 12974 -> 0 bytes .../lib/libwinapi_webservices.a | Bin 156942 -> 0 bytes .../lib/libwinapi_websocket.a | Bin 12522 -> 0 bytes .../lib/libwinapi_wecapi.a | Bin 14012 -> 0 bytes .../lib/libwinapi_wer.a | Bin 40580 -> 0 bytes .../lib/libwinapi_wevtapi.a | Bin 37372 -> 0 bytes .../lib/libwinapi_wiaservc.a | Bin 45476 -> 0 bytes .../lib/libwinapi_winbio.a | Bin 51074 -> 0 bytes .../lib/libwinapi_windows.data.pdf.a | Bin 2552 -> 0 bytes .../lib/libwinapi_windows.networking.a | Bin 2616 -> 0 bytes .../lib/libwinapi_windows.ui.a | Bin 3314 -> 0 bytes ...wsapp-api-ms-win-appmodel-runtime-l1-1-0.a | Bin 6334 -> 0 bytes ...wsapp-api-ms-win-appmodel-runtime-l1-1-1.a | Bin 8038 -> 0 bytes ...pi_windowsapp-api-ms-win-core-com-l1-1-0.a | Bin 33662 -> 0 bytes ...pi_windowsapp-api-ms-win-core-com-l1-1-1.a | Bin 2702 -> 0 bytes ...pi_windowsapp-api-ms-win-core-com-l2-1-1.a | Bin 19278 -> 0 bytes ...api-ms-win-core-com-midlproxystub-l1-1-0.a | Bin 66298 -> 0 bytes ...i_windowsapp-api-ms-win-core-comm-l1-1-0.a | Bin 16458 -> 0 bytes ...i_windowsapp-api-ms-win-core-comm-l1-1-1.a | Bin 2672 -> 0 bytes ...indowsapp-api-ms-win-core-console-l1-1-0.a | Bin 8458 -> 0 bytes ...indowsapp-api-ms-win-core-console-l2-1-0.a | Bin 16346 -> 0 bytes ...ndowsapp-api-ms-win-core-datetime-l1-1-1.a | Bin 3542 -> 0 bytes ...ndowsapp-api-ms-win-core-datetime-l1-1-2.a | Bin 2736 -> 0 bytes ..._windowsapp-api-ms-win-core-debug-l1-1-0.a | Bin 4370 -> 0 bytes ...dowsapp-api-ms-win-core-delayload-l1-1-0.a | Bin 2746 -> 0 bytes ...dowsapp-api-ms-win-core-delayload-l1-1-1.a | Bin 3624 -> 0 bytes ...indowsapp-api-ms-win-core-enclave-l1-1-0.a | Bin 5210 -> 0 bytes ...app-api-ms-win-core-errorhandling-l1-1-0.a | Bin 6066 -> 0 bytes ...app-api-ms-win-core-errorhandling-l1-1-2.a | Bin 2790 -> 0 bytes ...app-api-ms-win-core-errorhandling-l1-1-3.a | Bin 3608 -> 0 bytes ...pp-api-ms-win-core-featurestaging-l1-1-0.a | Bin 6392 -> 0 bytes ...pp-api-ms-win-core-featurestaging-l1-1-1.a | Bin 2768 -> 0 bytes ...windowsapp-api-ms-win-core-fibers-l1-1-0.a | Bin 5044 -> 0 bytes ...windowsapp-api-ms-win-core-fibers-l1-1-1.a | Bin 2696 -> 0 bytes ...windowsapp-api-ms-win-core-fibers-l2-1-0.a | Bin 4332 -> 0 bytes ...windowsapp-api-ms-win-core-fibers-l2-1-1.a | Bin 3548 -> 0 bytes ...dowsapp-api-ms-win-core-file-ansi-l1-1-0.a | Bin 2762 -> 0 bytes ...dowsapp-api-ms-win-core-file-ansi-l2-1-0.a | Bin 3516 -> 0 bytes ...i_windowsapp-api-ms-win-core-file-l1-1-0.a | Bin 46238 -> 0 bytes ...i_windowsapp-api-ms-win-core-file-l1-2-0.a | Bin 3470 -> 0 bytes ...i_windowsapp-api-ms-win-core-file-l1-2-2.a | Bin 4344 -> 0 bytes ...i_windowsapp-api-ms-win-core-file-l2-1-0.a | Bin 6802 -> 0 bytes ...i_windowsapp-api-ms-win-core-file-l2-1-2.a | Bin 2656 -> 0 bytes ...windowsapp-api-ms-win-core-handle-l1-1-0.a | Bin 4348 -> 0 bytes ...i_windowsapp-api-ms-win-core-heap-l1-1-0.a | Bin 9076 -> 0 bytes ...i_windowsapp-api-ms-win-core-heap-l2-1-0.a | Bin 5844 -> 0 bytes ...app-api-ms-win-core-heap-obsolete-l1-1-0.a | Bin 5156 -> 0 bytes ...wsapp-api-ms-win-core-interlocked-l1-1-0.a | Bin 11346 -> 0 bytes ...wsapp-api-ms-win-core-interlocked-l1-2-0.a | Bin 2794 -> 0 bytes ...api_windowsapp-api-ms-win-core-io-l1-1-0.a | Bin 6968 -> 0 bytes ...api_windowsapp-api-ms-win-core-io-l1-1-1.a | Bin 3484 -> 0 bytes ...-ms-win-core-kernel32-legacy-ansi-l1-1-0.a | Bin 2796 -> 0 bytes ...p-api-ms-win-core-kernel32-legacy-l1-1-0.a | Bin 8650 -> 0 bytes ...sapp-api-ms-win-core-largeinteger-l1-1-0.a | Bin 2700 -> 0 bytes ...app-api-ms-win-core-libraryloader-l1-2-0.a | Bin 7826 -> 0 bytes ...app-api-ms-win-core-libraryloader-l2-1-0.a | Bin 3660 -> 0 bytes ...api-ms-win-core-localization-ansi-l1-1-0.a | Bin 3624 -> 0 bytes ...sapp-api-ms-win-core-localization-l1-2-0.a | Bin 25876 -> 0 bytes ...sapp-api-ms-win-core-localization-l1-2-1.a | Bin 2764 -> 0 bytes ...sapp-api-ms-win-core-localization-l1-2-2.a | Bin 3630 -> 0 bytes ...sapp-api-ms-win-core-localization-l2-1-0.a | Bin 6994 -> 0 bytes ...ms-win-core-localization-obsolete-l1-2-0.a | Bin 3692 -> 0 bytes ...windowsapp-api-ms-win-core-memory-l1-1-0.a | Bin 5132 -> 0 bytes ...windowsapp-api-ms-win-core-memory-l1-1-1.a | Bin 8656 -> 0 bytes ...windowsapp-api-ms-win-core-memory-l1-1-2.a | Bin 4408 -> 0 bytes ...windowsapp-api-ms-win-core-memory-l1-1-3.a | Bin 5316 -> 0 bytes ...pp-api-ms-win-core-namedpipe-ansi-l1-1-0.a | Bin 4540 -> 0 bytes ...pp-api-ms-win-core-namedpipe-ansi-l1-1-1.a | Bin 2756 -> 0 bytes ...dowsapp-api-ms-win-core-namedpipe-l1-1-0.a | Bin 10316 -> 0 bytes ...dowsapp-api-ms-win-core-namedpipe-l1-2-1.a | Bin 3600 -> 0 bytes ...dowsapp-api-ms-win-core-namedpipe-l1-2-2.a | Bin 2722 -> 0 bytes ...pp-api-ms-win-core-namespace-ansi-l1-1-0.a | Bin 4532 -> 0 bytes ...dowsapp-api-ms-win-core-namespace-l1-1-0.a | Bin 7080 -> 0 bytes ...app-api-ms-win-core-normalization-l1-1-0.a | Bin 6106 -> 0 bytes ...i_windowsapp-api-ms-win-core-path-l1-1-0.a | Bin 20254 -> 0 bytes ...pi-ms-win-core-processenvironment-l1-1-0.a | Bin 16528 -> 0 bytes ...pp-api-ms-win-core-processthreads-l1-1-0.a | Bin 29228 -> 0 bytes ...pp-api-ms-win-core-processthreads-l1-1-1.a | Bin 11432 -> 0 bytes ...pp-api-ms-win-core-processthreads-l1-1-2.a | Bin 3664 -> 0 bytes ...pp-api-ms-win-core-processthreads-l1-1-3.a | Bin 10612 -> 0 bytes ...win-core-processtopology-obsolete-l1-1-0.a | Bin 4604 -> 0 bytes ...indowsapp-api-ms-win-core-profile-l1-1-0.a | Bin 3614 -> 0 bytes ...owsapp-api-ms-win-core-psapi-ansi-l1-1-0.a | Bin 3628 -> 0 bytes ..._windowsapp-api-ms-win-core-psapi-l1-1-0.a | Bin 6138 -> 0 bytes ...app-api-ms-win-core-psm-appnotify-l1-1-0.a | Bin 3780 -> 0 bytes ...ndowsapp-api-ms-win-core-realtime-l1-1-0.a | Bin 2768 -> 0 bytes ...ndowsapp-api-ms-win-core-realtime-l1-1-1.a | Bin 4508 -> 0 bytes ...ndowsapp-api-ms-win-core-realtime-l1-1-2.a | Bin 4720 -> 0 bytes ...owsapp-api-ms-win-core-rtlsupport-l1-1-0.a | Bin 3572 -> 0 bytes ...owsapp-api-ms-win-core-rtlsupport-l1-2-0.a | Bin 2736 -> 0 bytes ..._windowsapp-api-ms-win-core-slapi-l1-1-0.a | Bin 3632 -> 0 bytes ...windowsapp-api-ms-win-core-string-l1-1-0.a | Bin 6888 -> 0 bytes ...owsapp-api-ms-win-core-synch-ansi-l1-1-0.a | Bin 6944 -> 0 bytes ..._windowsapp-api-ms-win-core-synch-l1-1-0.a | Bin 36054 -> 0 bytes ..._windowsapp-api-ms-win-core-synch-l1-2-0.a | Bin 13632 -> 0 bytes ..._windowsapp-api-ms-win-core-synch-l1-2-1.a | Bin 4406 -> 0 bytes ...indowsapp-api-ms-win-core-sysinfo-l1-1-0.a | Bin 12730 -> 0 bytes ...indowsapp-api-ms-win-core-sysinfo-l1-2-0.a | Bin 3622 -> 0 bytes ...indowsapp-api-ms-win-core-sysinfo-l1-2-3.a | Bin 2750 -> 0 bytes ...owsapp-api-ms-win-core-threadpool-l1-2-0.a | Bin 34140 -> 0 bytes ...ndowsapp-api-ms-win-core-timezone-l1-1-0.a | Bin 11728 -> 0 bytes ...pi_windowsapp-api-ms-win-core-url-l1-1-0.a | Bin 3534 -> 0 bytes ...i_windowsapp-api-ms-win-core-util-l1-1-0.a | Bin 4232 -> 0 bytes ...indowsapp-api-ms-win-core-version-l1-1-0.a | Bin 4430 -> 0 bytes ...wsapp-api-ms-win-core-versionansi-l1-1-0.a | Bin 4466 -> 0 bytes ...wsapp-api-ms-win-core-windowsceip-l1-1-0.a | Bin 2722 -> 0 bytes ...ms-win-core-windowserrorreporting-l1-1-0.a | Bin 5400 -> 0 bytes ...ms-win-core-windowserrorreporting-l1-1-1.a | Bin 7384 -> 0 bytes ...ms-win-core-windowserrorreporting-l1-1-2.a | Bin 3728 -> 0 bytes ...wsapp-api-ms-win-core-winrt-error-l1-1-0.a | Bin 10430 -> 0 bytes ...wsapp-api-ms-win-core-winrt-error-l1-1-1.a | Bin 3662 -> 0 bytes ..._windowsapp-api-ms-win-core-winrt-l1-1-0.a | Bin 9614 -> 0 bytes ...pi-ms-win-core-winrt-registration-l1-1-0.a | Bin 3776 -> 0 bytes ...pp-api-ms-win-core-winrt-robuffer-l1-1-0.a | Bin 2780 -> 0 bytes ...win-core-winrt-roparameterizediid-l1-1-0.a | Bin 4780 -> 0 bytes ...sapp-api-ms-win-core-winrt-string-l1-1-0.a | Bin 20938 -> 0 bytes ..._windowsapp-api-ms-win-core-wow64-l1-1-0.a | Bin 2690 -> 0 bytes ...windowsapp-api-ms-win-core-xstate-l2-1-0.a | Bin 5268 -> 0 bytes ...i-ms-win-eventing-classicprovider-l1-1-0.a | Bin 7038 -> 0 bytes ...sapp-api-ms-win-eventing-consumer-l1-1-0.a | Bin 4332 -> 0 bytes ...pp-api-ms-win-eventing-controller-l1-1-0.a | Bin 6056 -> 0 bytes ...owsapp-api-ms-win-eventing-legacy-l1-1-0.a | Bin 5144 -> 0 bytes ...sapp-api-ms-win-eventing-provider-l1-1-0.a | Bin 8570 -> 0 bytes ...i-ms-win-gaming-deviceinformation-l1-1-0.a | Bin 2870 -> 0 bytes ...i-ms-win-gaming-expandedresources-l1-1-0.a | Bin 4622 -> 0 bytes ...app-api-ms-win-gaming-gamemonitor-l1-1-0.a | Bin 4538 -> 0 bytes ...app-api-ms-win-gaming-gamemonitor-l1-1-1.a | Bin 2834 -> 0 bytes ...windowsapp-api-ms-win-gaming-tcui-l1-1-0.a | Bin 7844 -> 0 bytes ...windowsapp-api-ms-win-gaming-tcui-l1-1-1.a | Bin 3648 -> 0 bytes ...windowsapp-api-ms-win-gaming-tcui-l1-1-2.a | Bin 8152 -> 0 bytes ...windowsapp-api-ms-win-gaming-tcui-l1-1-3.a | Bin 3684 -> 0 bytes ...windowsapp-api-ms-win-gaming-tcui-l1-1-4.a | Bin 8744 -> 0 bytes ...sapp-api-ms-win-ro-typeresolution-l1-1-0.a | Bin 4428 -> 0 bytes ...ndowsapp-api-ms-win-security-base-l1-1-0.a | Bin 45898 -> 0 bytes ...ndowsapp-api-ms-win-security-base-l1-2-0.a | Bin 2752 -> 0 bytes ...ndowsapp-api-ms-win-security-base-l1-2-1.a | Bin 2700 -> 0 bytes ...app-api-ms-win-security-cryptoapi-l1-1-0.a | Bin 23664 -> 0 bytes ...ms-win-security-isolatedcontainer-l1-1-0.a | Bin 2870 -> 0 bytes ...pi-ms-win-security-lsalookup-ansi-l2-1-0.a | Bin 6268 -> 0 bytes ...app-api-ms-win-security-lsalookup-l2-1-0.a | Bin 6210 -> 0 bytes ...api-ms-win-security-provider-ansi-l1-1-0.a | Bin 5400 -> 0 bytes ...sapp-api-ms-win-security-provider-l1-1-0.a | Bin 7010 -> 0 bytes ...app-api-ms-win-security-sddl-ansi-l1-1-0.a | Bin 3648 -> 0 bytes ...ndowsapp-api-ms-win-security-sddl-l1-1-0.a | Bin 5626 -> 0 bytes ...pp-api-ms-win-shcore-stream-winrt-l1-1-0.a | Bin 4692 -> 0 bytes .../lib/libwinapi_windowsapp-bcrypt.a | Bin 30326 -> 0 bytes .../lib/libwinapi_windowsapp-cabinet.a | Bin 14588 -> 0 bytes .../lib/libwinapi_windowsapp-chakra.a | Bin 92510 -> 0 bytes .../lib/libwinapi_windowsapp-coremessaging.a | Bin 2672 -> 0 bytes .../lib/libwinapi_windowsapp-crypt32.a | Bin 115994 -> 0 bytes .../lib/libwinapi_windowsapp-d2d1.a | Bin 12410 -> 0 bytes .../lib/libwinapi_windowsapp-d3d11.a | Bin 5184 -> 0 bytes .../lib/libwinapi_windowsapp-d3d12.a | Bin 7040 -> 0 bytes .../lib/libwinapi_windowsapp-d3dcompiler_47.a | Bin 22310 -> 0 bytes .../lib/libwinapi_windowsapp-deviceaccess.a | Bin 2642 -> 0 bytes .../lib/libwinapi_windowsapp-dhcpcsvc.a | Bin 4178 -> 0 bytes .../lib/libwinapi_windowsapp-dhcpcsvc6.a | Bin 4216 -> 0 bytes .../lib/libwinapi_windowsapp-dwrite.a | Bin 2562 -> 0 bytes .../lib/libwinapi_windowsapp-dxgi.a | Bin 3356 -> 0 bytes .../lib/libwinapi_windowsapp-esent.a | Bin 89180 -> 0 bytes ...i_windowsapp-ext-ms-win-core-iuri-l1-1-0.a | Bin 3506 -> 0 bytes ...ndowsapp-ext-ms-win-gaming-xinput-l1-1-0.a | Bin 7780 -> 0 bytes ...api_windowsapp-ext-ms-win-uiacore-l1-1-0.a | Bin 3592 -> 0 bytes ...api_windowsapp-ext-ms-win-uiacore-l1-1-1.a | Bin 8032 -> 0 bytes ...api_windowsapp-ext-ms-win-uiacore-l1-1-2.a | Bin 3624 -> 0 bytes ...api_windowsapp-ext-ms-win-uiacore-l1-1-3.a | Bin 2700 -> 0 bytes .../lib/libwinapi_windowsapp-hrtfapo.a | Bin 2532 -> 0 bytes .../lib/libwinapi_windowsapp-inkobjcore.a | Bin 23342 -> 0 bytes .../lib/libwinapi_windowsapp-iphlpapi.a | Bin 22034 -> 0 bytes .../lib/libwinapi_windowsapp-mf.a | Bin 14046 -> 0 bytes .../lib/libwinapi_windowsapp-mfplat.a | Bin 49178 -> 0 bytes .../lib/libwinapi_windowsapp-mfreadwrite.a | Bin 6184 -> 0 bytes .../lib/libwinapi_windowsapp-mfsensorgroup.a | Bin 3440 -> 0 bytes .../lib/libwinapi_windowsapp-mmdevapi.a | Bin 2618 -> 0 bytes .../lib/libwinapi_windowsapp-msajapi.a | Bin 494938 -> 0 bytes .../lib/libwinapi_windowsapp-mswsock.a | Bin 4124 -> 0 bytes .../lib/libwinapi_windowsapp-ncrypt.a | Bin 20346 -> 0 bytes .../lib/libwinapi_windowsapp-ntdll.a | Bin 18656 -> 0 bytes .../lib/libwinapi_windowsapp-oleaut32.a | Bin 274816 -> 0 bytes .../lib/libwinapi_windowsapp-propsys.a | Bin 16898 -> 0 bytes .../lib/libwinapi_windowsapp-rometadata.a | Bin 2594 -> 0 bytes .../lib/libwinapi_windowsapp-rpcrt4.a | Bin 221178 -> 0 bytes .../lib/libwinapi_windowsapp-sspicli.a | Bin 20006 -> 0 bytes .../libwinapi_windowsapp-uiautomationcore.a | Bin 4410 -> 0 bytes .../lib/libwinapi_windowsapp-urlmon.a | Bin 3398 -> 0 bytes .../lib/libwinapi_windowsapp-webservices.a | Bin 142748 -> 0 bytes .../libwinapi_windowsapp-windows.data.pdf.a | Bin 2618 -> 0 bytes .../libwinapi_windowsapp-windows.networking.a | Bin 2682 -> 0 bytes .../lib/libwinapi_windowsapp-windowscodecs.a | Bin 9428 -> 0 bytes .../lib/libwinapi_windowsapp-ws2_32.a | Bin 82174 -> 0 bytes .../lib/libwinapi_windowsapp-xaudio2_9.a | Bin 6560 -> 0 bytes .../lib/libwinapi_windowsapp-xmllite.a | Bin 7022 -> 0 bytes .../lib/libwinapi_windowsapp.a | 183 - .../libwinapi_windowsapp_downlevel-advapi32.a | Bin 114618 -> 0 bytes ...evel-api-ms-win-core-localization-l1-2-0.a | Bin 3604 -> 0 bytes ...p_downlevel-api-ms-win-core-winrt-l1-1-0.a | Bin 9754 -> 0 bytes ...el-api-ms-win-core-winrt-robuffer-l1-1-0.a | Bin 2840 -> 0 bytes .../libwinapi_windowsapp_downlevel-cabinet.a | Bin 14798 -> 0 bytes .../lib/libwinapi_windowsapp_downlevel-d2d1.a | Bin 12590 -> 0 bytes .../libwinapi_windowsapp_downlevel-d3d11.a | Bin 5274 -> 0 bytes ...napi_windowsapp_downlevel-d3dcompiler_47.a | Bin 22610 -> 0 bytes ...winapi_windowsapp_downlevel-deviceaccess.a | Bin 2702 -> 0 bytes .../libwinapi_windowsapp_downlevel-dhcpcsvc.a | Bin 4258 -> 0 bytes ...libwinapi_windowsapp_downlevel-dhcpcsvc6.a | Bin 4296 -> 0 bytes .../libwinapi_windowsapp_downlevel-dwrite.a | Bin 2622 -> 0 bytes .../lib/libwinapi_windowsapp_downlevel-dxgi.a | Bin 3426 -> 0 bytes .../libwinapi_windowsapp_downlevel-esent.a | Bin 90310 -> 0 bytes .../libwinapi_windowsapp_downlevel-kernel32.a | Bin 433322 -> 0 bytes .../lib/libwinapi_windowsapp_downlevel-mf.a | Bin 14246 -> 0 bytes .../libwinapi_windowsapp_downlevel-mfplat.a | Bin 49798 -> 0 bytes ...bwinapi_windowsapp_downlevel-mfreadwrite.a | Bin 6284 -> 0 bytes .../libwinapi_windowsapp_downlevel-mmdevapi.a | Bin 2678 -> 0 bytes .../libwinapi_windowsapp_downlevel-msajapi.a | Bin 500448 -> 0 bytes .../libwinapi_windowsapp_downlevel-mscoree.a | Bin 2632 -> 0 bytes .../libwinapi_windowsapp_downlevel-mswsock.a | Bin 4204 -> 0 bytes .../libwinapi_windowsapp_downlevel-ole32.a | Bin 107300 -> 0 bytes .../libwinapi_windowsapp_downlevel-oleaut32.a | Bin 278326 -> 0 bytes .../libwinapi_windowsapp_downlevel-propsys.a | Bin 17128 -> 0 bytes .../libwinapi_windowsapp_downlevel-rpcrt4.a | Bin 223858 -> 0 bytes ...pi_windowsapp_downlevel-uiautomationcore.a | Bin 15014 -> 0 bytes .../libwinapi_windowsapp_downlevel-urlmon.a | Bin 5084 -> 0 bytes ...bwinapi_windowsapp_downlevel-webservices.a | Bin 144528 -> 0 bytes ...pi_windowsapp_downlevel-windows.data.pdf.a | Bin 2678 -> 0 bytes ..._windowsapp_downlevel-windows.networking.a | Bin 2742 -> 0 bytes ...inapi_windowsapp_downlevel-windowscodecs.a | Bin 9568 -> 0 bytes .../libwinapi_windowsapp_downlevel-ws2_32.a | Bin 83244 -> 0 bytes ...libwinapi_windowsapp_downlevel-xaudio2_8.a | Bin 6670 -> 0 bytes ...libwinapi_windowsapp_downlevel-xinput1_4.a | Bin 7616 -> 0 bytes .../libwinapi_windowsapp_downlevel-xmllite.a | Bin 7132 -> 0 bytes .../lib/libwinapi_windowsapp_downlevel.a | 38 - .../lib/libwinapi_windowscodecs.a | Bin 105490 -> 0 bytes .../lib/libwinapi_winfax.a | Bin 46722 -> 0 bytes .../lib/libwinapi_winhttp.a | Bin 54234 -> 0 bytes .../lib/libwinapi_wininet.a | Bin 261898 -> 0 bytes .../lib/libwinapi_winmm.a | Bin 150878 -> 0 bytes .../lib/libwinapi_winscard.a | Bin 58800 -> 0 bytes .../lib/libwinapi_winspool.a | Bin 168176 -> 0 bytes .../lib/libwinapi_winsqlite3.a | Bin 196014 -> 0 bytes .../lib/libwinapi_winsta.a | Bin 142890 -> 0 bytes .../lib/libwinapi_wintrust.a | Bin 113340 -> 0 bytes .../lib/libwinapi_winusb.a | Bin 32456 -> 0 bytes .../lib/libwinapi_wlanapi.a | Bin 54580 -> 0 bytes .../lib/libwinapi_wlanui.a | Bin 4048 -> 0 bytes .../lib/libwinapi_wldap32.a | Bin 193518 -> 0 bytes .../lib/libwinapi_wmip.a | Bin 37708 -> 0 bytes .../lib/libwinapi_wmvcore.a | Bin 12170 -> 0 bytes .../lib/libwinapi_wofutil.a | Bin 10518 -> 0 bytes .../lib/libwinapi_wow32.a | Bin 23790 -> 0 bytes .../lib/libwinapi_ws2_32.a | Bin 144046 -> 0 bytes .../lib/libwinapi_wscapi.a | Bin 32176 -> 0 bytes .../lib/libwinapi_wsclient.a | Bin 25924 -> 0 bytes .../lib/libwinapi_wsdapi.a | Bin 33720 -> 0 bytes .../lib/libwinapi_wsmsvc.a | Bin 120984 -> 0 bytes .../lib/libwinapi_wsnmp32.a | Bin 41526 -> 0 bytes .../lib/libwinapi_wsock32.a | Bin 58790 -> 0 bytes .../lib/libwinapi_wtsapi32.a | Bin 55148 -> 0 bytes .../lib/libwinapi_xaudio2.a | Bin 7226 -> 0 bytes .../lib/libwinapi_xaudio2_8.a | Bin 6434 -> 0 bytes .../lib/libwinapi_xinput.a | Bin 8078 -> 0 bytes .../lib/libwinapi_xinput9_1_0.a | Bin 5738 -> 0 bytes .../lib/libwinapi_xinputuap.a | Bin 8110 -> 0 bytes .../lib/libwinapi_xmllite.a | Bin 6896 -> 0 bytes .../lib/libwinapi_xolehlp.a | Bin 5850 -> 0 bytes .../lib/libwinapi_xpsdocumenttargetprint.a | Bin 2548 -> 0 bytes .../lib/libwinapi_xpsprint.a | Bin 3296 -> 0 bytes .../winapi-i686-pc-windows-gnu/src/lib.rs | 7 - .../.cargo-checksum.json | 1 - .../winapi-x86_64-pc-windows-gnu/Cargo.toml | 22 - .../winapi-x86_64-pc-windows-gnu/build.rs | 18 - .../lib/libwinapi_aclui.a | Bin 6528 -> 0 bytes .../lib/libwinapi_activeds.a | Bin 23262 -> 0 bytes .../lib/libwinapi_advapi32.a | Bin 633458 -> 0 bytes .../lib/libwinapi_advpack.a | Bin 58638 -> 0 bytes .../lib/libwinapi_amsi.a | Bin 8714 -> 0 bytes ...ibwinapi_api-ms-win-net-isolation-l1-1-0.a | Bin 9318 -> 0 bytes .../lib/libwinapi_appmgmts.a | Bin 14542 -> 0 bytes .../lib/libwinapi_appnotify.a | Bin 3520 -> 0 bytes .../lib/libwinapi_audioeng.a | Bin 3238 -> 0 bytes .../lib/libwinapi_authz.a | Bin 32128 -> 0 bytes .../lib/libwinapi_avifil32.a | Bin 60014 -> 0 bytes .../lib/libwinapi_avrt.a | Bin 18382 -> 0 bytes .../lib/libwinapi_basesrv.a | Bin 6638 -> 0 bytes .../lib/libwinapi_bcrypt.a | Bin 45764 -> 0 bytes .../lib/libwinapi_bluetoothapis.a | Bin 83340 -> 0 bytes .../lib/libwinapi_bthprops.a | Bin 35386 -> 0 bytes .../lib/libwinapi_cabinet.a | Bin 22040 -> 0 bytes .../lib/libwinapi_certadm.a | Bin 26066 -> 0 bytes .../lib/libwinapi_certpoleng.a | Bin 13192 -> 0 bytes .../lib/libwinapi_cfgmgr32.a | Bin 193478 -> 0 bytes .../lib/libwinapi_chakrart.a | Bin 97288 -> 0 bytes .../lib/libwinapi_cldapi.a | Bin 37288 -> 0 bytes .../lib/libwinapi_clfsw32.a | Bin 50884 -> 0 bytes .../lib/libwinapi_clusapi.a | Bin 227522 -> 0 bytes .../lib/libwinapi_comctl32.a | Bin 102926 -> 0 bytes .../lib/libwinapi_comdlg32.a | Bin 17898 -> 0 bytes .../lib/libwinapi_comppkgsup.a | Bin 9286 -> 0 bytes .../lib/libwinapi_compstui.a | Bin 4930 -> 0 bytes .../lib/libwinapi_comsvcs.a | Bin 15234 -> 0 bytes .../lib/libwinapi_coremessaging.a | Bin 24904 -> 0 bytes .../lib/libwinapi_credui.a | Bin 20116 -> 0 bytes .../lib/libwinapi_crypt32.a | Bin 200182 -> 0 bytes .../lib/libwinapi_cryptdll.a | Bin 17280 -> 0 bytes .../lib/libwinapi_cryptnet.a | Bin 5866 -> 0 bytes .../lib/libwinapi_cryptui.a | Bin 36826 -> 0 bytes .../lib/libwinapi_cryptxml.a | Bin 17074 -> 0 bytes .../lib/libwinapi_cscapi.a | Bin 6628 -> 0 bytes .../lib/libwinapi_cscdll.a | Bin 15936 -> 0 bytes .../lib/libwinapi_d2d1.a | Bin 12142 -> 0 bytes .../lib/libwinapi_d3d10.a | Bin 25822 -> 0 bytes .../lib/libwinapi_d3d10_1.a | Bin 25906 -> 0 bytes .../lib/libwinapi_d3d11.a | Bin 28176 -> 0 bytes .../lib/libwinapi_d3d12.a | Bin 10228 -> 0 bytes .../lib/libwinapi_d3d9.a | Bin 10354 -> 0 bytes .../lib/libwinapi_d3dcompiler.a | Bin 23390 -> 0 bytes .../lib/libwinapi_d3dcsx.a | Bin 9006 -> 0 bytes .../lib/libwinapi_d3dcsxd.a | Bin 9030 -> 0 bytes .../lib/libwinapi_davclnt.a | Bin 19178 -> 0 bytes .../lib/libwinapi_dbgeng.a | Bin 4784 -> 0 bytes .../lib/libwinapi_dbghelp.a | Bin 185684 -> 0 bytes .../lib/libwinapi_dciman32.a | Bin 17342 -> 0 bytes .../lib/libwinapi_dcomp.a | Bin 6792 -> 0 bytes .../lib/libwinapi_ddraw.a | Bin 12070 -> 0 bytes .../lib/libwinapi_deviceaccess.a | Bin 4238 -> 0 bytes .../lib/libwinapi_devmgr.a | Bin 17246 -> 0 bytes .../lib/libwinapi_dflayout.a | Bin 2522 -> 0 bytes .../lib/libwinapi_dhcpcsvc.a | Bin 53862 -> 0 bytes .../lib/libwinapi_dhcpcsvc6.a | Bin 19516 -> 0 bytes .../lib/libwinapi_dhcpsapi.a | Bin 172106 -> 0 bytes .../lib/libwinapi_difxapi.a | Bin 11506 -> 0 bytes .../lib/libwinapi_dinput8.a | Bin 2506 -> 0 bytes .../lib/libwinapi_dmprocessxmlfiltered.a | Bin 4334 -> 0 bytes .../lib/libwinapi_dnsapi.a | Bin 220698 -> 0 bytes .../lib/libwinapi_dnsperf.a | Bin 4182 -> 0 bytes .../lib/libwinapi_dnsrslvr.a | Bin 4906 -> 0 bytes .../lib/libwinapi_dpx.a | Bin 5506 -> 0 bytes .../lib/libwinapi_drt.a | Bin 14192 -> 0 bytes .../lib/libwinapi_drtprov.a | Bin 9406 -> 0 bytes .../lib/libwinapi_drttransport.a | Bin 3410 -> 0 bytes .../lib/libwinapi_dsound.a | Bin 9860 -> 0 bytes .../lib/libwinapi_dsprop.a | Bin 9764 -> 0 bytes .../lib/libwinapi_dssec.a | Bin 4972 -> 0 bytes .../lib/libwinapi_dststlog.a | Bin 2450 -> 0 bytes .../lib/libwinapi_dsuiext.a | Bin 28150 -> 0 bytes .../lib/libwinapi_dwmapi.a | Bin 26216 -> 0 bytes .../lib/libwinapi_dwrite.a | Bin 2502 -> 0 bytes .../lib/libwinapi_dxgi.a | Bin 9062 -> 0 bytes .../lib/libwinapi_dxva2.a | Bin 33644 -> 0 bytes .../lib/libwinapi_eappcfg.a | Bin 14690 -> 0 bytes .../lib/libwinapi_eappprxy.a | Bin 16798 -> 0 bytes .../lib/libwinapi_easregprov.a | Bin 3440 -> 0 bytes .../lib/libwinapi_efswrt.a | Bin 16424 -> 0 bytes .../lib/libwinapi_elscore.a | Bin 5722 -> 0 bytes .../lib/libwinapi_esent.a | Bin 295300 -> 0 bytes .../lib/libwinapi_evr.a | Bin 8998 -> 0 bytes .../lib/libwinapi_faultrep.a | Bin 9702 -> 0 bytes .../lib/libwinapi_feclient.a | Bin 38710 -> 0 bytes .../lib/libwinapi_fhsvcctl.a | Bin 13206 -> 0 bytes .../lib/libwinapi_fltlib.a | Bin 24946 -> 0 bytes .../lib/libwinapi_fontsub.a | Bin 3286 -> 0 bytes .../lib/libwinapi_framedyd.a | Bin 2440 -> 0 bytes .../lib/libwinapi_framedyn.a | Bin 2440 -> 0 bytes .../lib/libwinapi_fwpuclnt.a | Bin 228790 -> 0 bytes .../lib/libwinapi_fxsutility.a | Bin 3340 -> 0 bytes .../lib/libwinapi_gdi32.a | Bin 465674 -> 0 bytes .../lib/libwinapi_gdiplus.a | Bin 516820 -> 0 bytes .../lib/libwinapi_glmf32.a | Bin 105066 -> 0 bytes .../lib/libwinapi_glu32.a | Bin 42248 -> 0 bytes .../lib/libwinapi_gpedit.a | Bin 9476 -> 0 bytes .../lib/libwinapi_hbaapi.a | Bin 78166 -> 0 bytes .../lib/libwinapi_hid.a | Bin 37186 -> 0 bytes .../lib/libwinapi_hlink.a | Bin 24552 -> 0 bytes .../lib/libwinapi_hrtfapo.a | Bin 4930 -> 0 bytes .../lib/libwinapi_httpapi.a | Bin 36898 -> 0 bytes .../lib/libwinapi_iashlpr.a | Bin 10954 -> 0 bytes .../lib/libwinapi_icm32.a | Bin 18430 -> 0 bytes .../lib/libwinapi_icmui.a | Bin 3300 -> 0 bytes .../lib/libwinapi_icuin.a | Bin 476094 -> 0 bytes .../lib/libwinapi_icuuc.a | Bin 677872 -> 0 bytes .../lib/libwinapi_imagehlp.a | Bin 117826 -> 0 bytes .../lib/libwinapi_imgutil.a | Bin 8714 -> 0 bytes .../lib/libwinapi_imm32.a | Bin 66990 -> 0 bytes .../lib/libwinapi_infocardapi.a | Bin 14872 -> 0 bytes .../lib/libwinapi_inkobjcore.a | Bin 25196 -> 0 bytes .../lib/libwinapi_inseng.a | Bin 7242 -> 0 bytes .../lib/libwinapi_iphlpapi.a | Bin 230434 -> 0 bytes .../lib/libwinapi_iprop.a | Bin 8032 -> 0 bytes .../lib/libwinapi_irprops.a | Bin 31054 -> 0 bytes .../lib/libwinapi_iscsidsc.a | Bin 67730 -> 0 bytes .../lib/libwinapi_jsrt.a | Bin 74600 -> 0 bytes .../lib/libwinapi_kernel32.a | Bin 1074054 -> 0 bytes .../lib/libwinapi_ksproxy.a | Bin 6626 -> 0 bytes .../lib/libwinapi_ksuser.a | Bin 7980 -> 0 bytes .../lib/libwinapi_ktmw32.a | Bin 37672 -> 0 bytes .../lib/libwinapi_loadperf.a | Bin 13266 -> 0 bytes .../lib/libwinapi_lz32.a | Bin 12176 -> 0 bytes .../lib/libwinapi_magnification.a | Bin 17314 -> 0 bytes .../lib/libwinapi_mapi32.a | Bin 107688 -> 0 bytes .../lib/libwinapi_mciole32.a | Bin 10362 -> 0 bytes .../lib/libwinapi_mdmlocalmanagement.a | Bin 4398 -> 0 bytes .../lib/libwinapi_mdmregistration.a | Bin 10366 -> 0 bytes .../lib/libwinapi_mf.a | Bin 63314 -> 0 bytes .../lib/libwinapi_mfcore.a | Bin 31188 -> 0 bytes .../lib/libwinapi_mfplat.a | Bin 125608 -> 0 bytes .../lib/libwinapi_mfplay.a | Bin 2506 -> 0 bytes .../lib/libwinapi_mfreadwrite.a | Bin 6054 -> 0 bytes .../lib/libwinapi_mfsensorgroup.a | Bin 4226 -> 0 bytes .../lib/libwinapi_mfsrcsnk.a | Bin 3334 -> 0 bytes .../lib/libwinapi_mgmtapi.a | Bin 8706 -> 0 bytes .../lib/libwinapi_mi.a | Bin 2514 -> 0 bytes ...inapi_mincore-api-ms-win-core-com-l1-1-0.a | Bin 68068 -> 0 bytes ...inapi_mincore-api-ms-win-core-com-l1-1-1.a | Bin 3556 -> 0 bytes ...inapi_mincore-api-ms-win-core-com-l1-1-2.a | Bin 3476 -> 0 bytes ...api-ms-win-core-com-midlproxystub-l1-1-0.a | Bin 65846 -> 0 bytes ...napi_mincore-api-ms-win-core-comm-l1-1-0.a | Bin 16330 -> 0 bytes ...napi_mincore-api-ms-win-core-comm-l1-1-1.a | Bin 2662 -> 0 bytes ...i_mincore-api-ms-win-core-console-l1-1-0.a | Bin 13320 -> 0 bytes ...i_mincore-api-ms-win-core-console-l2-1-0.a | Bin 34208 -> 0 bytes ..._mincore-api-ms-win-core-datetime-l1-1-0.a | Bin 5138 -> 0 bytes ..._mincore-api-ms-win-core-datetime-l1-1-1.a | Bin 3522 -> 0 bytes ..._mincore-api-ms-win-core-datetime-l1-1-2.a | Bin 2726 -> 0 bytes ...api_mincore-api-ms-win-core-debug-l1-1-0.a | Bin 5138 -> 0 bytes ...api_mincore-api-ms-win-core-debug-l1-1-1.a | Bin 6066 -> 0 bytes ...api_mincore-api-ms-win-core-debug-l1-1-2.a | Bin 2706 -> 0 bytes ...mincore-api-ms-win-core-delayload-l1-1-0.a | Bin 2738 -> 0 bytes ...mincore-api-ms-win-core-delayload-l1-1-1.a | Bin 3602 -> 0 bytes ...ore-api-ms-win-core-errorhandling-l1-1-0.a | Bin 7698 -> 0 bytes ...ore-api-ms-win-core-errorhandling-l1-1-1.a | Bin 6286 -> 0 bytes ...ore-api-ms-win-core-errorhandling-l1-1-2.a | Bin 2778 -> 0 bytes ...ore-api-ms-win-core-errorhandling-l1-1-3.a | Bin 6126 -> 0 bytes ...pi_mincore-api-ms-win-core-fibers-l1-1-0.a | Bin 5002 -> 0 bytes ...pi_mincore-api-ms-win-core-fibers-l1-1-1.a | Bin 2690 -> 0 bytes ...napi_mincore-api-ms-win-core-file-l1-1-0.a | Bin 63222 -> 0 bytes ...napi_mincore-api-ms-win-core-file-l1-2-0.a | Bin 5250 -> 0 bytes ...napi_mincore-api-ms-win-core-file-l1-2-1.a | Bin 4418 -> 0 bytes ...napi_mincore-api-ms-win-core-file-l1-2-2.a | Bin 10042 -> 0 bytes ...napi_mincore-api-ms-win-core-file-l2-1-0.a | Bin 10842 -> 0 bytes ...napi_mincore-api-ms-win-core-file-l2-1-1.a | Bin 2662 -> 0 bytes ...napi_mincore-api-ms-win-core-file-l2-1-2.a | Bin 3458 -> 0 bytes ...napi_mincore-api-ms-win-core-file-l2-1-3.a | Bin 2718 -> 0 bytes ..._mincore-api-ms-win-core-firmware-l1-1-0.a | Bin 5490 -> 0 bytes ...pi_mincore-api-ms-win-core-handle-l1-1-0.a | Bin 6002 -> 0 bytes ...napi_mincore-api-ms-win-core-heap-l1-1-0.a | Bin 13742 -> 0 bytes ...napi_mincore-api-ms-win-core-heap-l2-1-0.a | Bin 7382 -> 0 bytes ...ncore-api-ms-win-core-interlocked-l1-1-0.a | Bin 6138 -> 0 bytes ...ncore-api-ms-win-core-interlocked-l1-2-0.a | Bin 2782 -> 0 bytes ...winapi_mincore-api-ms-win-core-io-l1-1-0.a | Bin 7722 -> 0 bytes ...winapi_mincore-api-ms-win-core-io-l1-1-1.a | Bin 4288 -> 0 bytes ...inapi_mincore-api-ms-win-core-job-l1-1-0.a | Bin 2666 -> 0 bytes ...ore-api-ms-win-core-libraryloader-l1-2-0.a | Bin 25994 -> 0 bytes ...ore-api-ms-win-core-libraryloader-l1-2-1.a | Bin 4338 -> 0 bytes ...ore-api-ms-win-core-libraryloader-l1-2-2.a | Bin 2758 -> 0 bytes ...ore-api-ms-win-core-libraryloader-l2-1-0.a | Bin 3642 -> 0 bytes ...core-api-ms-win-core-localization-l1-2-0.a | Bin 50704 -> 0 bytes ...core-api-ms-win-core-localization-l1-2-1.a | Bin 2754 -> 0 bytes ...core-api-ms-win-core-localization-l1-2-2.a | Bin 3614 -> 0 bytes ...core-api-ms-win-core-localization-l2-1-0.a | Bin 11926 -> 0 bytes ...pi_mincore-api-ms-win-core-memory-l1-1-0.a | Bin 14864 -> 0 bytes ...pi_mincore-api-ms-win-core-memory-l1-1-1.a | Bin 15368 -> 0 bytes ...pi_mincore-api-ms-win-core-memory-l1-1-2.a | Bin 11326 -> 0 bytes ...pi_mincore-api-ms-win-core-memory-l1-1-3.a | Bin 5276 -> 0 bytes ...pi_mincore-api-ms-win-core-memory-l1-1-4.a | Bin 2762 -> 0 bytes ...pi_mincore-api-ms-win-core-memory-l1-1-5.a | Bin 3528 -> 0 bytes ...mincore-api-ms-win-core-namedpipe-l1-1-0.a | Bin 10230 -> 0 bytes ...mincore-api-ms-win-core-namedpipe-l1-2-1.a | Bin 3578 -> 0 bytes ...mincore-api-ms-win-core-namedpipe-l1-2-2.a | Bin 2710 -> 0 bytes ...mincore-api-ms-win-core-namespace-l1-1-0.a | Bin 7038 -> 0 bytes ...napi_mincore-api-ms-win-core-path-l1-1-0.a | Bin 20070 -> 0 bytes ...pi-ms-win-core-processenvironment-l1-1-0.a | Bin 19774 -> 0 bytes ...pi-ms-win-core-processenvironment-l1-2-0.a | Bin 4570 -> 0 bytes ...e-api-ms-win-core-processsnapshot-l1-1-0.a | Bin 10376 -> 0 bytes ...re-api-ms-win-core-processthreads-l1-1-0.a | Bin 42680 -> 0 bytes ...re-api-ms-win-core-processthreads-l1-1-1.a | Bin 13900 -> 0 bytes ...re-api-ms-win-core-processthreads-l1-1-2.a | Bin 9534 -> 0 bytes ...re-api-ms-win-core-processthreads-l1-1-3.a | Bin 12256 -> 0 bytes ...e-api-ms-win-core-processtopology-l1-1-0.a | Bin 4510 -> 0 bytes ...i_mincore-api-ms-win-core-profile-l1-1-0.a | Bin 3600 -> 0 bytes ...api_mincore-api-ms-win-core-psapi-l1-1-0.a | Bin 19610 -> 0 bytes ...pi_mincore-api-ms-win-core-quirks-l1-1-0.a | Bin 8496 -> 0 bytes ...pi_mincore-api-ms-win-core-quirks-l1-1-1.a | Bin 3604 -> 0 bytes ..._mincore-api-ms-win-core-realtime-l1-1-0.a | Bin 6206 -> 0 bytes ..._mincore-api-ms-win-core-realtime-l1-1-1.a | Bin 4490 -> 0 bytes ..._mincore-api-ms-win-core-realtime-l1-1-2.a | Bin 4694 -> 0 bytes ..._mincore-api-ms-win-core-registry-l1-1-0.a | Bin 36898 -> 0 bytes ..._mincore-api-ms-win-core-registry-l1-1-1.a | Bin 5186 -> 0 bytes ..._mincore-api-ms-win-core-registry-l1-1-2.a | Bin 3602 -> 0 bytes ...incore-api-ms-win-core-rtlsupport-l1-1-0.a | Bin 12742 -> 0 bytes ...incore-api-ms-win-core-rtlsupport-l1-2-0.a | Bin 4518 -> 0 bytes ..._mincore-api-ms-win-core-shutdown-l1-1-0.a | Bin 3594 -> 0 bytes ..._mincore-api-ms-win-core-shutdown-l1-1-1.a | Bin 2714 -> 0 bytes ...pi_mincore-api-ms-win-core-string-l1-1-0.a | Bin 8432 -> 0 bytes ...pi_mincore-api-ms-win-core-string-l2-1-0.a | Bin 9872 -> 0 bytes ...pi_mincore-api-ms-win-core-string-l2-1-1.a | Bin 2718 -> 0 bytes ...api_mincore-api-ms-win-core-synch-l1-1-0.a | Bin 35706 -> 0 bytes ...api_mincore-api-ms-win-core-synch-l1-2-0.a | Bin 16164 -> 0 bytes ...api_mincore-api-ms-win-core-synch-l1-2-1.a | Bin 4374 -> 0 bytes ...i_mincore-api-ms-win-core-sysinfo-l1-1-0.a | Bin 20164 -> 0 bytes ...i_mincore-api-ms-win-core-sysinfo-l1-2-0.a | Bin 9414 -> 0 bytes ...i_mincore-api-ms-win-core-sysinfo-l1-2-1.a | Bin 6230 -> 0 bytes ...i_mincore-api-ms-win-core-sysinfo-l1-2-2.a | Bin 2758 -> 0 bytes ...i_mincore-api-ms-win-core-sysinfo-l1-2-3.a | Bin 6058 -> 0 bytes ...re-api-ms-win-core-systemtopology-l1-1-0.a | Bin 3672 -> 0 bytes ...re-api-ms-win-core-systemtopology-l1-1-1.a | Bin 2786 -> 0 bytes ...incore-api-ms-win-core-threadpool-l1-2-0.a | Bin 33874 -> 0 bytes ..._mincore-api-ms-win-core-timezone-l1-1-0.a | Bin 13374 -> 0 bytes ...napi_mincore-api-ms-win-core-util-l1-1-0.a | Bin 5880 -> 0 bytes ...napi_mincore-api-ms-win-core-util-l1-1-1.a | Bin 3530 -> 0 bytes ...i_mincore-api-ms-win-core-version-l1-1-0.a | Bin 5196 -> 0 bytes ...i_mincore-api-ms-win-core-version-l1-1-1.a | Bin 3572 -> 0 bytes ...ncore-api-ms-win-core-winrt-error-l1-1-0.a | Bin 11282 -> 0 bytes ...ncore-api-ms-win-core-winrt-error-l1-1-1.a | Bin 8828 -> 0 bytes ...api_mincore-api-ms-win-core-winrt-l1-1-0.a | Bin 9546 -> 0 bytes ...core-api-ms-win-core-winrt-string-l1-1-0.a | Bin 24978 -> 0 bytes ...core-api-ms-win-core-winrt-string-l1-1-1.a | Bin 2762 -> 0 bytes ...api_mincore-api-ms-win-core-wow64-l1-1-0.a | Bin 4450 -> 0 bytes ...api_mincore-api-ms-win-core-wow64-l1-1-1.a | Bin 7018 -> 0 bytes ...api_mincore-api-ms-win-core-wow64-l1-1-2.a | Bin 2750 -> 0 bytes ...pi_mincore-api-ms-win-core-xstate-l1-1-0.a | Bin 8812 -> 0 bytes ...pi_mincore-api-ms-win-core-xstate-l1-1-1.a | Bin 2690 -> 0 bytes ...pi_mincore-api-ms-win-core-xstate-l1-1-2.a | Bin 2742 -> 0 bytes ...pi_mincore-api-ms-win-core-xstate-l2-1-0.a | Bin 6872 -> 0 bytes ...mincore-api-ms-win-devices-config-l1-1-1.a | Bin 35386 -> 0 bytes ...mincore-api-ms-win-devices-config-l1-1-2.a | Bin 14170 -> 0 bytes ...ncore-api-ms-win-devices-swdevice-l1-1-0.a | Bin 7766 -> 0 bytes ...ncore-api-ms-win-devices-swdevice-l1-1-1.a | Bin 3584 -> 0 bytes ...i-ms-win-eventing-classicprovider-l1-1-0.a | Bin 8628 -> 0 bytes ...core-api-ms-win-eventing-consumer-l1-1-0.a | Bin 4310 -> 0 bytes ...core-api-ms-win-eventing-consumer-l1-1-1.a | Bin 2790 -> 0 bytes ...re-api-ms-win-eventing-controller-l1-1-0.a | Bin 11014 -> 0 bytes ...core-api-ms-win-eventing-provider-l1-1-0.a | Bin 10146 -> 0 bytes ...api_mincore-api-ms-win-power-base-l1-1-0.a | Bin 6290 -> 0 bytes ..._mincore-api-ms-win-power-setting-l1-1-0.a | Bin 8726 -> 0 bytes ...-api-ms-win-security-appcontainer-l1-1-0.a | Bin 2838 -> 0 bytes ..._mincore-api-ms-win-security-base-l1-1-0.a | Bin 82212 -> 0 bytes ..._mincore-api-ms-win-security-base-l1-2-0.a | Bin 7798 -> 0 bytes ..._mincore-api-ms-win-security-base-l1-2-1.a | Bin 2694 -> 0 bytes ..._mincore-api-ms-win-security-base-l1-2-2.a | Bin 2770 -> 0 bytes ...e-api-ms-win-security-credentials-l1-1-0.a | Bin 26114 -> 0 bytes ...ore-api-ms-win-security-lsalookup-l2-1-0.a | Bin 7034 -> 0 bytes ...ore-api-ms-win-security-lsalookup-l2-1-1.a | Bin 2782 -> 0 bytes ..._mincore-api-ms-win-security-sddl-l1-1-0.a | Bin 5594 -> 0 bytes ...i_mincore-api-ms-win-service-core-l1-1-0.a | Bin 4458 -> 0 bytes ...i_mincore-api-ms-win-service-core-l1-1-1.a | Bin 4466 -> 0 bytes ...i_mincore-api-ms-win-service-core-l1-1-2.a | Bin 3564 -> 0 bytes ...ore-api-ms-win-service-management-l1-1-0.a | Bin 7638 -> 0 bytes ...ore-api-ms-win-service-management-l2-1-0.a | Bin 8758 -> 0 bytes ...mincore-api-ms-win-service-winsvc-l1-1-0.a | Bin 15338 -> 0 bytes .../lib/libwinapi_mincore-authz.a | Bin 32456 -> 0 bytes .../lib/libwinapi_mincore-bcrypt.a | Bin 46236 -> 0 bytes .../lib/libwinapi_mincore-cabinet.a | Bin 22288 -> 0 bytes .../lib/libwinapi_mincore-crypt32.a | Bin 202142 -> 0 bytes .../lib/libwinapi_mincore-cryptbase.a | Bin 10582 -> 0 bytes .../lib/libwinapi_mincore-cryptnet.a | Bin 5946 -> 0 bytes .../lib/libwinapi_mincore-dfscli.a | Bin 22856 -> 0 bytes .../lib/libwinapi_mincore-dnsapi.a | Bin 222890 -> 0 bytes .../lib/libwinapi_mincore-dsparse.a | Bin 17574 -> 0 bytes .../lib/libwinapi_mincore-dsrole.a | Bin 3412 -> 0 bytes .../lib/libwinapi_mincore-iphlpapi.a | Bin 232706 -> 0 bytes .../lib/libwinapi_mincore-logoncli.a | Bin 29514 -> 0 bytes .../lib/libwinapi_mincore-mpr.a | Bin 36666 -> 0 bytes .../lib/libwinapi_mincore-mswsock.a | Bin 23650 -> 0 bytes .../lib/libwinapi_mincore-ncrypt.a | Bin 64630 -> 0 bytes .../lib/libwinapi_mincore-netutils.a | Bin 5830 -> 0 bytes .../lib/libwinapi_mincore-oleaut32.a | Bin 325186 -> 0 bytes .../lib/libwinapi_mincore-rpcrt4.a | Bin 433960 -> 0 bytes .../lib/libwinapi_mincore-samcli.a | Bin 30740 -> 0 bytes .../lib/libwinapi_mincore-schedcli.a | Bin 4982 -> 0 bytes .../lib/libwinapi_mincore-srvcli.a | Bin 39936 -> 0 bytes .../lib/libwinapi_mincore-sspicli.a | Bin 77882 -> 0 bytes .../lib/libwinapi_mincore-userenv.a | Bin 61150 -> 0 bytes .../lib/libwinapi_mincore-websocket.a | Bin 12614 -> 0 bytes .../lib/libwinapi_mincore-winhttp.a | Bin 53690 -> 0 bytes .../lib/libwinapi_mincore-wkscli.a | Bin 20258 -> 0 bytes .../lib/libwinapi_mincore-wldap32.a | Bin 196972 -> 0 bytes .../lib/libwinapi_mincore-ws2_32.a | Bin 156730 -> 0 bytes .../lib/libwinapi_mincore.a | 167 - ...vel-api-ms-win-downlevel-advapi32-l1-1-0.a | Bin 124774 -> 0 bytes ...vel-api-ms-win-downlevel-advapi32-l2-1-0.a | Bin 13856 -> 0 bytes ...vel-api-ms-win-downlevel-normaliz-l1-1-0.a | Bin 3592 -> 0 bytes ...nlevel-api-ms-win-downlevel-ole32-l1-1-0.a | Bin 42478 -> 0 bytes ...evel-api-ms-win-downlevel-shell32-l1-1-0.a | Bin 4710 -> 0 bytes ...evel-api-ms-win-downlevel-shlwapi-l1-1-0.a | Bin 128962 -> 0 bytes ...evel-api-ms-win-downlevel-shlwapi-l2-1-0.a | Bin 48284 -> 0 bytes ...level-api-ms-win-downlevel-user32-l1-1-0.a | Bin 19838 -> 0 bytes ...evel-api-ms-win-downlevel-version-l1-1-0.a | Bin 6980 -> 0 bytes .../lib/libwinapi_mincore_downlevel.a | 11 - .../lib/libwinapi_mmdevapi.a | Bin 26266 -> 0 bytes .../lib/libwinapi_mpr.a | Bin 36282 -> 0 bytes .../lib/libwinapi_mprapi.a | Bin 134836 -> 0 bytes .../lib/libwinapi_mprsnap.a | Bin 38164 -> 0 bytes .../lib/libwinapi_mqrt.a | Bin 38126 -> 0 bytes .../lib/libwinapi_mrmsupport.a | Bin 4948 -> 0 bytes .../lib/libwinapi_msacm32.a | Bin 34774 -> 0 bytes .../lib/libwinapi_msajapi.a | Bin 496202 -> 0 bytes .../lib/libwinapi_mscms.a | Bin 94094 -> 0 bytes .../lib/libwinapi_msctfmonitor.a | Bin 4166 -> 0 bytes .../lib/libwinapi_msdelta.a | Bin 13398 -> 0 bytes .../lib/libwinapi_msdmo.a | Bin 13294 -> 0 bytes .../lib/libwinapi_msdrm.a | Bin 70394 -> 0 bytes .../lib/libwinapi_msi.a | Bin 235986 -> 0 bytes .../lib/libwinapi_msimg32.a | Bin 4014 -> 0 bytes .../lib/libwinapi_mspatcha.a | Bin 14946 -> 0 bytes .../lib/libwinapi_mspatchc.a | Bin 13298 -> 0 bytes .../lib/libwinapi_msports.a | Bin 10582 -> 0 bytes .../lib/libwinapi_msrating.a | Bin 27722 -> 0 bytes .../lib/libwinapi_mstask.a | Bin 10598 -> 0 bytes .../lib/libwinapi_msv1_0.a | Bin 14552 -> 0 bytes .../lib/libwinapi_msvfw32.a | Bin 38326 -> 0 bytes .../lib/libwinapi_mswsock.a | Bin 23386 -> 0 bytes .../lib/libwinapi_mtx.a | Bin 3990 -> 0 bytes .../lib/libwinapi_mtxdm.a | Bin 2498 -> 0 bytes ..._nanosrv-api-ms-win-net-isolation-l1-1-0.a | Bin 9422 -> 0 bytes ..._nanosrv-api-ms-win-net-isolation-l1-1-1.a | Bin 2822 -> 0 bytes .../lib/libwinapi_nanosrv-clfsw32.a | Bin 51420 -> 0 bytes .../lib/libwinapi_nanosrv-clusapi.a | Bin 229746 -> 0 bytes .../lib/libwinapi_nanosrv-cryptxml.a | Bin 17266 -> 0 bytes .../lib/libwinapi_nanosrv-dbgeng.a | Bin 4856 -> 0 bytes .../lib/libwinapi_nanosrv-dbghelp.a | Bin 187580 -> 0 bytes .../lib/libwinapi_nanosrv-dnsperf.a | Bin 4246 -> 0 bytes .../lib/libwinapi_nanosrv-esent.a | Bin 298284 -> 0 bytes .../lib/libwinapi_nanosrv-faultrep.a | Bin 9822 -> 0 bytes .../lib/libwinapi_nanosrv-framedynos.a | Bin 2500 -> 0 bytes .../lib/libwinapi_nanosrv-fwpuclnt.a | Bin 231006 -> 0 bytes .../lib/libwinapi_nanosrv-hbaapi.a | Bin 78950 -> 0 bytes .../lib/libwinapi_nanosrv-httpapi.a | Bin 37282 -> 0 bytes .../lib/libwinapi_nanosrv-iscsidsc.a | Bin 67666 -> 0 bytes .../lib/libwinapi_nanosrv-ktmw32.a | Bin 38064 -> 0 bytes .../lib/libwinapi_nanosrv-loadperf.a | Bin 13418 -> 0 bytes .../lib/libwinapi_nanosrv-mprapi.a | Bin 136156 -> 0 bytes .../lib/libwinapi_nanosrv-netsh.a | Bin 19890 -> 0 bytes .../lib/libwinapi_nanosrv-ntdsapi.a | Bin 97814 -> 0 bytes .../lib/libwinapi_nanosrv-ntlanman.a | Bin 16274 -> 0 bytes .../lib/libwinapi_nanosrv-pdh.a | Bin 91026 -> 0 bytes .../lib/libwinapi_nanosrv-resutils.a | Bin 107718 -> 0 bytes .../lib/libwinapi_nanosrv-snmpapi.a | Bin 32270 -> 0 bytes .../lib/libwinapi_nanosrv-tbs.a | Bin 15494 -> 0 bytes .../lib/libwinapi_nanosrv-traffic.a | Bin 19074 -> 0 bytes .../lib/libwinapi_nanosrv-virtdisk.a | Bin 23978 -> 0 bytes .../lib/libwinapi_nanosrv-vssapi.a | Bin 11118 -> 0 bytes .../lib/libwinapi_nanosrv-webservices.a | Bin 157534 -> 0 bytes .../lib/libwinapi_nanosrv-wer.a | Bin 40846 -> 0 bytes .../lib/libwinapi_nanosrv-wevtapi.a | Bin 37522 -> 0 bytes .../lib/libwinapi_nanosrv-wintrust.a | Bin 113630 -> 0 bytes .../lib/libwinapi_nanosrv-wnvapi.a | Bin 3308 -> 0 bytes .../lib/libwinapi_nanosrv-wsmsvc.a | Bin 121238 -> 0 bytes .../lib/libwinapi_nanosrv.a | 36 - .../lib/libwinapi_ncrypt.a | Bin 106382 -> 0 bytes .../lib/libwinapi_nddeapi.a | Bin 24122 -> 0 bytes .../lib/libwinapi_ndfapi.a | Bin 16300 -> 0 bytes .../lib/libwinapi_netapi32.a | Bin 171302 -> 0 bytes .../lib/libwinapi_netsh.a | Bin 19666 -> 0 bytes .../lib/libwinapi_newdev.a | Bin 20542 -> 0 bytes .../lib/libwinapi_ninput.a | Bin 21822 -> 0 bytes .../lib/libwinapi_normaliz.a | Bin 5634 -> 0 bytes .../lib/libwinapi_ntdll.a | Bin 1670630 -> 0 bytes .../lib/libwinapi_ntdsa.a | Bin 118096 -> 0 bytes .../lib/libwinapi_ntdsapi.a | Bin 96814 -> 0 bytes .../lib/libwinapi_ntdsatq.a | Bin 37458 -> 0 bytes .../lib/libwinapi_ntdsetup.a | Bin 21162 -> 0 bytes .../lib/libwinapi_ntfrsapi.a | Bin 29498 -> 0 bytes .../lib/libwinapi_ntlanman.a | Bin 16090 -> 0 bytes .../lib/libwinapi_ntmarta.a | Bin 36654 -> 0 bytes .../lib/libwinapi_ntquery.a | Bin 12202 -> 0 bytes .../lib/libwinapi_odbc32.a | Bin 138234 -> 0 bytes .../lib/libwinapi_odbcbcp.a | Bin 23184 -> 0 bytes .../lib/libwinapi_oemlicense.a | Bin 3328 -> 0 bytes .../lib/libwinapi_ole32.a | Bin 384260 -> 0 bytes .../lib/libwinapi_oleacc.a | Bin 17964 -> 0 bytes .../lib/libwinapi_oleaut32.a | Bin 321850 -> 0 bytes .../lib/libwinapi_olecli32.a | Bin 139110 -> 0 bytes .../lib/libwinapi_oledlg.a | Bin 19890 -> 0 bytes .../lib/libwinapi_olesvr32.a | Bin 19698 -> 0 bytes .../lib/libwinapi_ondemandconnroutehelper.a | Bin 8682 -> 0 bytes ...api_onecore-api-ms-win-core-atoms-l1-1-0.a | Bin 15494 -> 0 bytes ..._onecore-api-ms-win-core-calendar-l1-1-0.a | Bin 7934 -> 0 bytes ...inapi_onecore-api-ms-win-core-com-l1-1-0.a | Bin 68068 -> 0 bytes ...inapi_onecore-api-ms-win-core-com-l1-1-1.a | Bin 3556 -> 0 bytes ...inapi_onecore-api-ms-win-core-com-l1-1-2.a | Bin 3476 -> 0 bytes ...api-ms-win-core-com-midlproxystub-l1-1-0.a | Bin 65846 -> 0 bytes ...napi_onecore-api-ms-win-core-comm-l1-1-0.a | Bin 16330 -> 0 bytes ...napi_onecore-api-ms-win-core-comm-l1-1-1.a | Bin 2662 -> 0 bytes ...core-api-ms-win-core-console-ansi-l2-1-0.a | Bin 2738 -> 0 bytes ...i_onecore-api-ms-win-core-console-l1-1-0.a | Bin 13320 -> 0 bytes ...i_onecore-api-ms-win-core-console-l2-1-0.a | Bin 34208 -> 0 bytes ...i_onecore-api-ms-win-core-console-l3-1-0.a | Bin 2726 -> 0 bytes ..._onecore-api-ms-win-core-datetime-l1-1-0.a | Bin 5138 -> 0 bytes ..._onecore-api-ms-win-core-datetime-l1-1-1.a | Bin 3522 -> 0 bytes ..._onecore-api-ms-win-core-datetime-l1-1-2.a | Bin 2726 -> 0 bytes ...api_onecore-api-ms-win-core-debug-l1-1-0.a | Bin 5138 -> 0 bytes ...api_onecore-api-ms-win-core-debug-l1-1-1.a | Bin 6066 -> 0 bytes ...api_onecore-api-ms-win-core-debug-l1-1-2.a | Bin 2706 -> 0 bytes ...onecore-api-ms-win-core-delayload-l1-1-0.a | Bin 2738 -> 0 bytes ...onecore-api-ms-win-core-delayload-l1-1-1.a | Bin 3602 -> 0 bytes ...i_onecore-api-ms-win-core-enclave-l1-1-0.a | Bin 5172 -> 0 bytes ...i_onecore-api-ms-win-core-enclave-l1-1-1.a | Bin 5942 -> 0 bytes ...ore-api-ms-win-core-errorhandling-l1-1-0.a | Bin 7698 -> 0 bytes ...ore-api-ms-win-core-errorhandling-l1-1-1.a | Bin 6286 -> 0 bytes ...ore-api-ms-win-core-errorhandling-l1-1-2.a | Bin 2778 -> 0 bytes ...ore-api-ms-win-core-errorhandling-l1-1-3.a | Bin 6126 -> 0 bytes ...re-api-ms-win-core-featurestaging-l1-1-0.a | Bin 6354 -> 0 bytes ...re-api-ms-win-core-featurestaging-l1-1-1.a | Bin 2758 -> 0 bytes ...pi_onecore-api-ms-win-core-fibers-l1-1-0.a | Bin 5002 -> 0 bytes ...pi_onecore-api-ms-win-core-fibers-l1-1-1.a | Bin 2690 -> 0 bytes ...pi_onecore-api-ms-win-core-fibers-l2-1-0.a | Bin 5946 -> 0 bytes ...pi_onecore-api-ms-win-core-fibers-l2-1-1.a | Bin 3532 -> 0 bytes ...onecore-api-ms-win-core-file-ansi-l1-1-0.a | Bin 9518 -> 0 bytes ...onecore-api-ms-win-core-file-ansi-l2-1-0.a | Bin 6006 -> 0 bytes ...napi_onecore-api-ms-win-core-file-l1-1-0.a | Bin 63222 -> 0 bytes ...napi_onecore-api-ms-win-core-file-l1-2-0.a | Bin 5250 -> 0 bytes ...napi_onecore-api-ms-win-core-file-l1-2-1.a | Bin 4418 -> 0 bytes ...napi_onecore-api-ms-win-core-file-l1-2-2.a | Bin 10042 -> 0 bytes ...napi_onecore-api-ms-win-core-file-l2-1-0.a | Bin 10842 -> 0 bytes ...napi_onecore-api-ms-win-core-file-l2-1-1.a | Bin 2662 -> 0 bytes ...napi_onecore-api-ms-win-core-file-l2-1-2.a | Bin 3458 -> 0 bytes ...napi_onecore-api-ms-win-core-file-l2-1-3.a | Bin 2718 -> 0 bytes ..._onecore-api-ms-win-core-firmware-l1-1-0.a | Bin 5490 -> 0 bytes ...pi_onecore-api-ms-win-core-handle-l1-1-0.a | Bin 6002 -> 0 bytes ...napi_onecore-api-ms-win-core-heap-l1-1-0.a | Bin 13742 -> 0 bytes ...napi_onecore-api-ms-win-core-heap-l2-1-0.a | Bin 7382 -> 0 bytes ...ore-api-ms-win-core-heap-obsolete-l1-1-0.a | Bin 8314 -> 0 bytes ...ecore-api-ms-win-core-interlocked-l1-1-0.a | Bin 6138 -> 0 bytes ...ecore-api-ms-win-core-interlocked-l1-2-0.a | Bin 2782 -> 0 bytes ...winapi_onecore-api-ms-win-core-io-l1-1-0.a | Bin 7722 -> 0 bytes ...winapi_onecore-api-ms-win-core-io-l1-1-1.a | Bin 4288 -> 0 bytes ...inapi_onecore-api-ms-win-core-job-l1-1-0.a | Bin 2666 -> 0 bytes ...inapi_onecore-api-ms-win-core-job-l2-1-0.a | Bin 6868 -> 0 bytes ...inapi_onecore-api-ms-win-core-job-l2-1-1.a | Bin 4530 -> 0 bytes ...-ms-win-core-kernel32-legacy-ansi-l1-1-0.a | Bin 11406 -> 0 bytes ...e-api-ms-win-core-kernel32-legacy-l1-1-0.a | Bin 34538 -> 0 bytes ...e-api-ms-win-core-kernel32-legacy-l1-1-1.a | Bin 13868 -> 0 bytes ...e-api-ms-win-core-kernel32-legacy-l1-1-2.a | Bin 8524 -> 0 bytes ...e-api-ms-win-core-kernel32-legacy-l1-1-3.a | Bin 14036 -> 0 bytes ...e-api-ms-win-core-kernel32-legacy-l1-1-4.a | Bin 2754 -> 0 bytes ...e-api-ms-win-core-kernel32-legacy-l1-1-5.a | Bin 3620 -> 0 bytes ...e-api-ms-win-core-kernel32-legacy-l1-1-6.a | Bin 2798 -> 0 bytes ...core-api-ms-win-core-largeinteger-l1-1-0.a | Bin 2682 -> 0 bytes ...ore-api-ms-win-core-libraryloader-l1-2-0.a | Bin 25994 -> 0 bytes ...ore-api-ms-win-core-libraryloader-l1-2-1.a | Bin 4338 -> 0 bytes ...ore-api-ms-win-core-libraryloader-l1-2-2.a | Bin 2758 -> 0 bytes ...ore-api-ms-win-core-libraryloader-l2-1-0.a | Bin 3642 -> 0 bytes ...api-ms-win-core-localization-ansi-l1-1-0.a | Bin 16926 -> 0 bytes ...core-api-ms-win-core-localization-l1-2-0.a | Bin 50704 -> 0 bytes ...core-api-ms-win-core-localization-l1-2-1.a | Bin 2754 -> 0 bytes ...core-api-ms-win-core-localization-l1-2-2.a | Bin 3614 -> 0 bytes ...core-api-ms-win-core-localization-l2-1-0.a | Bin 11926 -> 0 bytes ...ms-win-core-localization-obsolete-l1-2-0.a | Bin 8790 -> 0 bytes ...pi_onecore-api-ms-win-core-memory-l1-1-0.a | Bin 14864 -> 0 bytes ...pi_onecore-api-ms-win-core-memory-l1-1-1.a | Bin 15368 -> 0 bytes ...pi_onecore-api-ms-win-core-memory-l1-1-2.a | Bin 11326 -> 0 bytes ...pi_onecore-api-ms-win-core-memory-l1-1-3.a | Bin 5276 -> 0 bytes ...pi_onecore-api-ms-win-core-memory-l1-1-4.a | Bin 2762 -> 0 bytes ...pi_onecore-api-ms-win-core-memory-l1-1-5.a | Bin 3528 -> 0 bytes ...re-api-ms-win-core-namedpipe-ansi-l1-1-0.a | Bin 4514 -> 0 bytes ...re-api-ms-win-core-namedpipe-ansi-l1-1-1.a | Bin 2746 -> 0 bytes ...onecore-api-ms-win-core-namedpipe-l1-1-0.a | Bin 10230 -> 0 bytes ...onecore-api-ms-win-core-namedpipe-l1-2-1.a | Bin 3578 -> 0 bytes ...onecore-api-ms-win-core-namedpipe-l1-2-2.a | Bin 2710 -> 0 bytes ...re-api-ms-win-core-namespace-ansi-l1-1-0.a | Bin 4510 -> 0 bytes ...onecore-api-ms-win-core-namespace-l1-1-0.a | Bin 7038 -> 0 bytes ...ore-api-ms-win-core-normalization-l1-1-0.a | Bin 6054 -> 0 bytes ...napi_onecore-api-ms-win-core-path-l1-1-0.a | Bin 20070 -> 0 bytes ...core-api-ms-win-core-perfcounters-l1-1-0.a | Bin 13982 -> 0 bytes ...re-api-ms-win-core-privateprofile-l1-1-0.a | Bin 13840 -> 0 bytes ...re-api-ms-win-core-privateprofile-l1-1-1.a | Bin 3680 -> 0 bytes ...-win-core-processenvironment-ansi-l1-1-0.a | Bin 2846 -> 0 bytes ...pi-ms-win-core-processenvironment-l1-1-0.a | Bin 19774 -> 0 bytes ...pi-ms-win-core-processenvironment-l1-2-0.a | Bin 4570 -> 0 bytes ...e-api-ms-win-core-processsnapshot-l1-1-0.a | Bin 10376 -> 0 bytes ...re-api-ms-win-core-processthreads-l1-1-0.a | Bin 42680 -> 0 bytes ...re-api-ms-win-core-processthreads-l1-1-1.a | Bin 13900 -> 0 bytes ...re-api-ms-win-core-processthreads-l1-1-2.a | Bin 9534 -> 0 bytes ...re-api-ms-win-core-processthreads-l1-1-3.a | Bin 12256 -> 0 bytes ...e-api-ms-win-core-processtopology-l1-1-0.a | Bin 4510 -> 0 bytes ...win-core-processtopology-obsolete-l1-1-0.a | Bin 6310 -> 0 bytes ...win-core-processtopology-obsolete-l1-1-1.a | Bin 2882 -> 0 bytes ...i_onecore-api-ms-win-core-profile-l1-1-0.a | Bin 3600 -> 0 bytes ...necore-api-ms-win-core-psapi-ansi-l1-1-0.a | Bin 8788 -> 0 bytes ...api_onecore-api-ms-win-core-psapi-l1-1-0.a | Bin 19610 -> 0 bytes ...pi_onecore-api-ms-win-core-quirks-l1-1-0.a | Bin 8496 -> 0 bytes ...pi_onecore-api-ms-win-core-quirks-l1-1-1.a | Bin 3604 -> 0 bytes ..._onecore-api-ms-win-core-realtime-l1-1-0.a | Bin 6206 -> 0 bytes ..._onecore-api-ms-win-core-realtime-l1-1-1.a | Bin 4490 -> 0 bytes ..._onecore-api-ms-win-core-realtime-l1-1-2.a | Bin 4694 -> 0 bytes ..._onecore-api-ms-win-core-registry-l1-1-0.a | Bin 36898 -> 0 bytes ..._onecore-api-ms-win-core-registry-l1-1-1.a | Bin 5186 -> 0 bytes ..._onecore-api-ms-win-core-registry-l1-1-2.a | Bin 3602 -> 0 bytes ..._onecore-api-ms-win-core-registry-l2-1-0.a | Bin 24018 -> 0 bytes ...necore-api-ms-win-core-rtlsupport-l1-1-0.a | Bin 12742 -> 0 bytes ...necore-api-ms-win-core-rtlsupport-l1-2-0.a | Bin 4518 -> 0 bytes ...ore-api-ms-win-core-shutdown-ansi-l1-1-0.a | Bin 4494 -> 0 bytes ..._onecore-api-ms-win-core-shutdown-l1-1-0.a | Bin 3594 -> 0 bytes ..._onecore-api-ms-win-core-shutdown-l1-1-1.a | Bin 2714 -> 0 bytes ...e-api-ms-win-core-sidebyside-ansi-l1-1-0.a | Bin 3608 -> 0 bytes ...necore-api-ms-win-core-sidebyside-l1-1-0.a | Bin 10934 -> 0 bytes ...pi_onecore-api-ms-win-core-string-l1-1-0.a | Bin 8432 -> 0 bytes ...pi_onecore-api-ms-win-core-string-l2-1-0.a | Bin 9872 -> 0 bytes ...pi_onecore-api-ms-win-core-string-l2-1-1.a | Bin 2718 -> 0 bytes ...e-api-ms-win-core-string-obsolete-l1-1-0.a | Bin 9760 -> 0 bytes ...e-api-ms-win-core-string-obsolete-l1-1-1.a | Bin 3488 -> 0 bytes ...necore-api-ms-win-core-stringansi-l1-1-0.a | Bin 11532 -> 0 bytes ...necore-api-ms-win-core-synch-ansi-l1-1-0.a | Bin 7698 -> 0 bytes ...api_onecore-api-ms-win-core-synch-l1-1-0.a | Bin 35706 -> 0 bytes ...api_onecore-api-ms-win-core-synch-l1-2-0.a | Bin 16164 -> 0 bytes ...api_onecore-api-ms-win-core-synch-l1-2-1.a | Bin 4374 -> 0 bytes ...i_onecore-api-ms-win-core-sysinfo-l1-1-0.a | Bin 20164 -> 0 bytes ...i_onecore-api-ms-win-core-sysinfo-l1-2-0.a | Bin 9414 -> 0 bytes ...i_onecore-api-ms-win-core-sysinfo-l1-2-1.a | Bin 6230 -> 0 bytes ...i_onecore-api-ms-win-core-sysinfo-l1-2-2.a | Bin 2758 -> 0 bytes ...i_onecore-api-ms-win-core-sysinfo-l1-2-3.a | Bin 6058 -> 0 bytes ...re-api-ms-win-core-systemtopology-l1-1-0.a | Bin 3672 -> 0 bytes ...re-api-ms-win-core-systemtopology-l1-1-1.a | Bin 2786 -> 0 bytes ...necore-api-ms-win-core-threadpool-l1-2-0.a | Bin 33874 -> 0 bytes ...api-ms-win-core-threadpool-legacy-l1-1-0.a | Bin 7830 -> 0 bytes ..._onecore-api-ms-win-core-timezone-l1-1-0.a | Bin 13374 -> 0 bytes ..._onecore-api-ms-win-core-toolhelp-l1-1-0.a | Bin 7598 -> 0 bytes ..._onecore-api-ms-win-core-toolhelp-l1-1-1.a | Bin 5106 -> 0 bytes ...inapi_onecore-api-ms-win-core-url-l1-1-0.a | Bin 32204 -> 0 bytes ...napi_onecore-api-ms-win-core-util-l1-1-0.a | Bin 5880 -> 0 bytes ...napi_onecore-api-ms-win-core-util-l1-1-1.a | Bin 3530 -> 0 bytes ...i_onecore-api-ms-win-core-version-l1-1-0.a | Bin 5196 -> 0 bytes ...i_onecore-api-ms-win-core-version-l1-1-1.a | Bin 3572 -> 0 bytes ...ecore-api-ms-win-core-versionansi-l1-1-0.a | Bin 5236 -> 0 bytes ...ecore-api-ms-win-core-versionansi-l1-1-1.a | Bin 3604 -> 0 bytes ...ecore-api-ms-win-core-windowsceip-l1-1-0.a | Bin 2714 -> 0 bytes ...ms-win-core-windowserrorreporting-l1-1-0.a | Bin 12410 -> 0 bytes ...ms-win-core-windowserrorreporting-l1-1-1.a | Bin 7346 -> 0 bytes ...ms-win-core-windowserrorreporting-l1-1-2.a | Bin 3714 -> 0 bytes ...ecore-api-ms-win-core-winrt-error-l1-1-0.a | Bin 11282 -> 0 bytes ...ecore-api-ms-win-core-winrt-error-l1-1-1.a | Bin 8828 -> 0 bytes ...api_onecore-api-ms-win-core-winrt-l1-1-0.a | Bin 9546 -> 0 bytes ...pi-ms-win-core-winrt-registration-l1-1-0.a | Bin 3760 -> 0 bytes ...re-api-ms-win-core-winrt-robuffer-l1-1-0.a | Bin 2774 -> 0 bytes ...win-core-winrt-roparameterizediid-l1-1-0.a | Bin 4758 -> 0 bytes ...core-api-ms-win-core-winrt-string-l1-1-0.a | Bin 24978 -> 0 bytes ...core-api-ms-win-core-winrt-string-l1-1-1.a | Bin 2762 -> 0 bytes ...api_onecore-api-ms-win-core-wow64-l1-1-0.a | Bin 4450 -> 0 bytes ...api_onecore-api-ms-win-core-wow64-l1-1-1.a | Bin 7018 -> 0 bytes ...api_onecore-api-ms-win-core-wow64-l1-1-2.a | Bin 2750 -> 0 bytes ...pi_onecore-api-ms-win-core-xstate-l2-1-0.a | Bin 6872 -> 0 bytes ...onecore-api-ms-win-devices-config-l1-1-1.a | Bin 35386 -> 0 bytes ...onecore-api-ms-win-devices-config-l1-1-2.a | Bin 14170 -> 0 bytes ...ecore-api-ms-win-devices-swdevice-l1-1-0.a | Bin 7766 -> 0 bytes ...ecore-api-ms-win-devices-swdevice-l1-1-1.a | Bin 3584 -> 0 bytes ...i-ms-win-eventing-classicprovider-l1-1-0.a | Bin 8628 -> 0 bytes ...core-api-ms-win-eventing-consumer-l1-1-0.a | Bin 4310 -> 0 bytes ...core-api-ms-win-eventing-consumer-l1-1-1.a | Bin 2790 -> 0 bytes ...re-api-ms-win-eventing-controller-l1-1-0.a | Bin 11014 -> 0 bytes ...necore-api-ms-win-eventing-legacy-l1-1-0.a | Bin 13152 -> 0 bytes ...core-api-ms-win-eventing-obsolete-l1-1-0.a | Bin 4418 -> 0 bytes ...core-api-ms-win-eventing-provider-l1-1-0.a | Bin 10146 -> 0 bytes ...i_onecore-api-ms-win-eventing-tdh-l1-1-0.a | Bin 12152 -> 0 bytes ...i-ms-win-gaming-deviceinformation-l1-1-0.a | Bin 2862 -> 0 bytes ...winapi_onecore-api-ms-win-mm-time-l1-1-0.a | Bin 5878 -> 0 bytes ...core-api-ms-win-oobe-notification-l1-1-0.a | Bin 4518 -> 0 bytes ...pi_onecore-api-ms-win-perf-legacy-l1-1-0.a | Bin 9538 -> 0 bytes ...api_onecore-api-ms-win-power-base-l1-1-0.a | Bin 6290 -> 0 bytes ...api-ms-win-power-limitsmanagement-l1-1-0.a | Bin 10886 -> 0 bytes ..._onecore-api-ms-win-power-setting-l1-1-0.a | Bin 8726 -> 0 bytes ...core-api-ms-win-ro-typeresolution-l1-1-0.a | Bin 4398 -> 0 bytes ...-api-ms-win-security-appcontainer-l1-1-0.a | Bin 2838 -> 0 bytes ...ore-api-ms-win-security-base-ansi-l1-1-0.a | Bin 3570 -> 0 bytes ..._onecore-api-ms-win-security-base-l1-1-0.a | Bin 82212 -> 0 bytes ..._onecore-api-ms-win-security-base-l1-2-0.a | Bin 7798 -> 0 bytes ..._onecore-api-ms-win-security-base-l1-2-1.a | Bin 2694 -> 0 bytes ..._onecore-api-ms-win-security-base-l1-2-2.a | Bin 2770 -> 0 bytes ...e-api-ms-win-security-credentials-l1-1-0.a | Bin 26114 -> 0 bytes ...ore-api-ms-win-security-cryptoapi-l1-1-0.a | Bin 34306 -> 0 bytes ...ms-win-security-isolatedcontainer-l1-1-0.a | Bin 2862 -> 0 bytes ...pi-ms-win-security-lsalookup-ansi-l2-1-0.a | Bin 6218 -> 0 bytes ...ore-api-ms-win-security-lsalookup-l2-1-0.a | Bin 7034 -> 0 bytes ...ore-api-ms-win-security-lsalookup-l2-1-1.a | Bin 2782 -> 0 bytes ...api-ms-win-security-provider-ansi-l1-1-0.a | Bin 5358 -> 0 bytes ...core-api-ms-win-security-provider-l1-1-0.a | Bin 6950 -> 0 bytes ...ore-api-ms-win-security-sddl-ansi-l1-1-0.a | Bin 3634 -> 0 bytes ..._onecore-api-ms-win-security-sddl-l1-1-0.a | Bin 5594 -> 0 bytes ...i-ms-win-security-systemfunctions-l1-1-0.a | Bin 4458 -> 0 bytes ...core-api-ms-win-service-core-ansi-l1-1-0.a | Bin 4454 -> 0 bytes ...core-api-ms-win-service-core-ansi-l1-1-1.a | Bin 2770 -> 0 bytes ...i_onecore-api-ms-win-service-core-l1-1-0.a | Bin 4458 -> 0 bytes ...i_onecore-api-ms-win-service-core-l1-1-1.a | Bin 4466 -> 0 bytes ...i_onecore-api-ms-win-service-core-l1-1-2.a | Bin 3564 -> 0 bytes ...ore-api-ms-win-service-management-l1-1-0.a | Bin 7638 -> 0 bytes ...ore-api-ms-win-service-management-l2-1-0.a | Bin 8758 -> 0 bytes ...onecore-api-ms-win-service-winsvc-l1-1-0.a | Bin 15338 -> 0 bytes ...pi_onecore-api-ms-win-shcore-path-l1-1-0.a | Bin 5160 -> 0 bytes ...necore-api-ms-win-shcore-registry-l1-1-0.a | Bin 24536 -> 0 bytes ...necore-api-ms-win-shcore-registry-l1-1-1.a | Bin 2770 -> 0 bytes ...onecore-api-ms-win-shcore-scaling-l1-1-0.a | Bin 4546 -> 0 bytes ...onecore-api-ms-win-shcore-scaling-l1-1-1.a | Bin 7014 -> 0 bytes ...onecore-api-ms-win-shcore-scaling-l1-1-2.a | Bin 2762 -> 0 bytes ...re-api-ms-win-shcore-stream-winrt-l1-1-0.a | Bin 4662 -> 0 bytes ...onecore-api-ms-win-shcore-sysinfo-l1-1-0.a | Bin 4526 -> 0 bytes ...ore-api-ms-win-shcore-unicodeansi-l1-1-0.a | Bin 5202 -> 0 bytes ...core-api-ms-win-shell-shdirectory-l1-1-0.a | Bin 4430 -> 0 bytes .../lib/libwinapi_onecore-authz.a | Bin 32456 -> 0 bytes .../lib/libwinapi_onecore-bcrypt.a | Bin 46236 -> 0 bytes .../lib/libwinapi_onecore-cabinet.a | Bin 22288 -> 0 bytes .../lib/libwinapi_onecore-crypt32.a | Bin 202142 -> 0 bytes .../lib/libwinapi_onecore-cryptbase.a | Bin 8176 -> 0 bytes .../lib/libwinapi_onecore-cryptnet.a | Bin 5946 -> 0 bytes .../lib/libwinapi_onecore-dfscli.a | Bin 22856 -> 0 bytes .../lib/libwinapi_onecore-dnsapi.a | Bin 222890 -> 0 bytes .../lib/libwinapi_onecore-dsparse.a | Bin 17574 -> 0 bytes .../lib/libwinapi_onecore-dsrole.a | Bin 3412 -> 0 bytes .../lib/libwinapi_onecore-fltlib.a | Bin 25218 -> 0 bytes .../lib/libwinapi_onecore-iphlpapi.a | Bin 232706 -> 0 bytes .../lib/libwinapi_onecore-logoncli.a | Bin 29514 -> 0 bytes .../lib/libwinapi_onecore-mpr.a | Bin 36666 -> 0 bytes .../lib/libwinapi_onecore-mswsock.a | Bin 23650 -> 0 bytes .../lib/libwinapi_onecore-ncrypt.a | Bin 64630 -> 0 bytes .../lib/libwinapi_onecore-netutils.a | Bin 5830 -> 0 bytes .../lib/libwinapi_onecore-ntdll.a | Bin 18480 -> 0 bytes .../lib/libwinapi_onecore-oleaut32.a | Bin 325186 -> 0 bytes .../lib/libwinapi_onecore-powrprof.a | Bin 58994 -> 0 bytes .../lib/libwinapi_onecore-profapi.a | Bin 15158 -> 0 bytes .../lib/libwinapi_onecore-rpcrt4.a | Bin 433960 -> 0 bytes .../lib/libwinapi_onecore-samcli.a | Bin 30740 -> 0 bytes .../lib/libwinapi_onecore-schedcli.a | Bin 4982 -> 0 bytes .../lib/libwinapi_onecore-srvcli.a | Bin 39936 -> 0 bytes .../lib/libwinapi_onecore-sspicli.a | Bin 77882 -> 0 bytes .../lib/libwinapi_onecore-tokenbinding.a | Bin 8602 -> 0 bytes .../lib/libwinapi_onecore-userenv.a | Bin 61150 -> 0 bytes .../lib/libwinapi_onecore-websocket.a | Bin 12614 -> 0 bytes .../lib/libwinapi_onecore-winhttp.a | Bin 53690 -> 0 bytes .../lib/libwinapi_onecore-wkscli.a | Bin 20258 -> 0 bytes .../lib/libwinapi_onecore-wldap32.a | Bin 196972 -> 0 bytes .../lib/libwinapi_onecore-ws2_32.a | Bin 156730 -> 0 bytes .../lib/libwinapi_onecore-xmllite.a | Bin 6962 -> 0 bytes .../lib/libwinapi_onecore.a | 257 - .../libwinapi_onecore_downlevel-advapi32.a | Bin 510800 -> 0 bytes .../lib/libwinapi_onecore_downlevel-apphelp.a | Bin 8224 -> 0 bytes .../libwinapi_onecore_downlevel-comctl32.a | Bin 60678 -> 0 bytes .../libwinapi_onecore_downlevel-comdlg32.a | Bin 16802 -> 0 bytes .../lib/libwinapi_onecore_downlevel-d3d10.a | Bin 5138 -> 0 bytes .../lib/libwinapi_onecore_downlevel-d3d9.a | Bin 5806 -> 0 bytes .../libwinapi_onecore_downlevel-d3dx10_47.a | Bin 6182 -> 0 bytes .../lib/libwinapi_onecore_downlevel-difxapi.a | Bin 3468 -> 0 bytes .../lib/libwinapi_onecore_downlevel-gdi32.a | Bin 176080 -> 0 bytes .../lib/libwinapi_onecore_downlevel-input.a | Bin 11074 -> 0 bytes .../libwinapi_onecore_downlevel-kernel32.a | Bin 972840 -> 0 bytes .../lib/libwinapi_onecore_downlevel-msi.a | Bin 34500 -> 0 bytes .../lib/libwinapi_onecore_downlevel-newdev.a | Bin 10334 -> 0 bytes .../lib/libwinapi_onecore_downlevel-ole32.a | Bin 317130 -> 0 bytes .../lib/libwinapi_onecore_downlevel-oleacc.a | Bin 11838 -> 0 bytes .../libwinapi_onecore_downlevel-oleaut32.a | Bin 329356 -> 0 bytes .../lib/libwinapi_onecore_downlevel-oledlg.a | Bin 17926 -> 0 bytes .../lib/libwinapi_onecore_downlevel-pdh.a | Bin 13922 -> 0 bytes .../lib/libwinapi_onecore_downlevel-psapi.a | Bin 23902 -> 0 bytes .../libwinapi_onecore_downlevel-resutils.a | Bin 10360 -> 0 bytes .../libwinapi_onecore_downlevel-rstrtmgr.a | Bin 6528 -> 0 bytes .../lib/libwinapi_onecore_downlevel-secur32.a | Bin 76282 -> 0 bytes .../libwinapi_onecore_downlevel-setupapi.a | Bin 156366 -> 0 bytes .../lib/libwinapi_onecore_downlevel-shell32.a | Bin 135696 -> 0 bytes .../lib/libwinapi_onecore_downlevel-shlwapi.a | Bin 313754 -> 0 bytes .../lib/libwinapi_onecore_downlevel-tdh.a | Bin 11848 -> 0 bytes .../lib/libwinapi_onecore_downlevel-twinapi.a | Bin 2582 -> 0 bytes .../lib/libwinapi_onecore_downlevel-user32.a | Bin 507550 -> 0 bytes .../lib/libwinapi_onecore_downlevel-uxtheme.a | Bin 39082 -> 0 bytes .../lib/libwinapi_onecore_downlevel-version.a | Bin 9972 -> 0 bytes .../lib/libwinapi_onecore_downlevel-winmm.a | Bin 5758 -> 0 bytes .../libwinapi_onecore_downlevel-winspool.a | Bin 34746 -> 0 bytes .../libwinapi_onecore_downlevel-wtsapi32.a | Bin 15172 -> 0 bytes .../libwinapi_onecore_downlevel-xinput1_4.a | Bin 8314 -> 0 bytes .../lib/libwinapi_onecore_downlevel.a | 36 - ...reuap-api-ms-win-appmodel-runtime-l1-1-0.a | Bin 19088 -> 0 bytes ...reuap-api-ms-win-appmodel-runtime-l1-1-1.a | Bin 15996 -> 0 bytes ...reuap-api-ms-win-appmodel-runtime-l1-1-2.a | Bin 9156 -> 0 bytes ..._onecoreuap-api-ms-win-core-atoms-l1-1-0.a | Bin 15574 -> 0 bytes ...ecoreuap-api-ms-win-core-calendar-l1-1-0.a | Bin 7962 -> 0 bytes ...pi_onecoreuap-api-ms-win-core-com-l1-1-0.a | Bin 68404 -> 0 bytes ...pi_onecoreuap-api-ms-win-core-com-l1-1-1.a | Bin 3580 -> 0 bytes ...pi_onecoreuap-api-ms-win-core-com-l1-1-2.a | Bin 3500 -> 0 bytes ...pi_onecoreuap-api-ms-win-core-com-l2-1-1.a | Bin 19206 -> 0 bytes ...api-ms-win-core-com-midlproxystub-l1-1-0.a | Bin 66154 -> 0 bytes ...i_onecoreuap-api-ms-win-core-comm-l1-1-0.a | Bin 16380 -> 0 bytes ...i_onecoreuap-api-ms-win-core-comm-l1-1-1.a | Bin 2678 -> 0 bytes ...euap-api-ms-win-core-console-ansi-l2-1-0.a | Bin 2754 -> 0 bytes ...necoreuap-api-ms-win-core-console-l1-1-0.a | Bin 13392 -> 0 bytes ...necoreuap-api-ms-win-core-console-l2-1-0.a | Bin 34376 -> 0 bytes ...necoreuap-api-ms-win-core-console-l3-1-0.a | Bin 2746 -> 0 bytes ...ecoreuap-api-ms-win-core-datetime-l1-1-0.a | Bin 5160 -> 0 bytes ...ecoreuap-api-ms-win-core-datetime-l1-1-1.a | Bin 3540 -> 0 bytes ...ecoreuap-api-ms-win-core-datetime-l1-1-2.a | Bin 2742 -> 0 bytes ..._onecoreuap-api-ms-win-core-debug-l1-1-0.a | Bin 5170 -> 0 bytes ..._onecoreuap-api-ms-win-core-debug-l1-1-1.a | Bin 6102 -> 0 bytes ..._onecoreuap-api-ms-win-core-debug-l1-1-2.a | Bin 2726 -> 0 bytes ...coreuap-api-ms-win-core-delayload-l1-1-0.a | Bin 2758 -> 0 bytes ...coreuap-api-ms-win-core-delayload-l1-1-1.a | Bin 3626 -> 0 bytes ...necoreuap-api-ms-win-core-enclave-l1-1-0.a | Bin 5204 -> 0 bytes ...necoreuap-api-ms-win-core-enclave-l1-1-1.a | Bin 5978 -> 0 bytes ...uap-api-ms-win-core-errorhandling-l1-1-0.a | Bin 7742 -> 0 bytes ...uap-api-ms-win-core-errorhandling-l1-1-1.a | Bin 6322 -> 0 bytes ...uap-api-ms-win-core-errorhandling-l1-1-2.a | Bin 2798 -> 0 bytes ...uap-api-ms-win-core-errorhandling-l1-1-3.a | Bin 6162 -> 0 bytes ...ap-api-ms-win-core-featurestaging-l1-1-0.a | Bin 6378 -> 0 bytes ...ap-api-ms-win-core-featurestaging-l1-1-1.a | Bin 2774 -> 0 bytes ...onecoreuap-api-ms-win-core-fibers-l1-1-0.a | Bin 5026 -> 0 bytes ...onecoreuap-api-ms-win-core-fibers-l1-1-1.a | Bin 2706 -> 0 bytes ...onecoreuap-api-ms-win-core-fibers-l2-1-0.a | Bin 5970 -> 0 bytes ...onecoreuap-api-ms-win-core-fibers-l2-1-1.a | Bin 3550 -> 0 bytes ...coreuap-api-ms-win-core-file-ansi-l1-1-0.a | Bin 9570 -> 0 bytes ...coreuap-api-ms-win-core-file-ansi-l2-1-0.a | Bin 6042 -> 0 bytes ...i_onecoreuap-api-ms-win-core-file-l1-1-0.a | Bin 63390 -> 0 bytes ...i_onecoreuap-api-ms-win-core-file-l1-2-0.a | Bin 5272 -> 0 bytes ...i_onecoreuap-api-ms-win-core-file-l1-2-1.a | Bin 4438 -> 0 bytes ...i_onecoreuap-api-ms-win-core-file-l1-2-2.a | Bin 10076 -> 0 bytes ...i_onecoreuap-api-ms-win-core-file-l2-1-0.a | Bin 10878 -> 0 bytes ...i_onecoreuap-api-ms-win-core-file-l2-1-1.a | Bin 2678 -> 0 bytes ...i_onecoreuap-api-ms-win-core-file-l2-1-2.a | Bin 3476 -> 0 bytes ...i_onecoreuap-api-ms-win-core-file-l2-1-3.a | Bin 2734 -> 0 bytes ...ecoreuap-api-ms-win-core-firmware-l1-1-0.a | Bin 5512 -> 0 bytes ...onecoreuap-api-ms-win-core-handle-l1-1-0.a | Bin 6026 -> 0 bytes ...i_onecoreuap-api-ms-win-core-heap-l1-1-0.a | Bin 13794 -> 0 bytes ...i_onecoreuap-api-ms-win-core-heap-l2-1-0.a | Bin 7410 -> 0 bytes ...uap-api-ms-win-core-heap-obsolete-l1-1-0.a | Bin 8362 -> 0 bytes ...reuap-api-ms-win-core-interlocked-l1-1-0.a | Bin 6174 -> 0 bytes ...reuap-api-ms-win-core-interlocked-l1-2-0.a | Bin 2802 -> 0 bytes ...api_onecoreuap-api-ms-win-core-io-l1-1-0.a | Bin 7750 -> 0 bytes ...api_onecoreuap-api-ms-win-core-io-l1-1-1.a | Bin 4310 -> 0 bytes ...pi_onecoreuap-api-ms-win-core-job-l1-1-0.a | Bin 2686 -> 0 bytes ...pi_onecoreuap-api-ms-win-core-job-l2-1-0.a | Bin 6908 -> 0 bytes ...pi_onecoreuap-api-ms-win-core-job-l2-1-1.a | Bin 4558 -> 0 bytes ...-ms-win-core-kernel32-legacy-ansi-l1-1-0.a | Bin 11442 -> 0 bytes ...p-api-ms-win-core-kernel32-legacy-l1-1-0.a | Bin 34708 -> 0 bytes ...p-api-ms-win-core-kernel32-legacy-l1-1-1.a | Bin 13940 -> 0 bytes ...p-api-ms-win-core-kernel32-legacy-l1-1-2.a | Bin 8572 -> 0 bytes ...p-api-ms-win-core-kernel32-legacy-l1-1-3.a | Bin 14108 -> 0 bytes ...p-api-ms-win-core-kernel32-legacy-l1-1-4.a | Bin 2774 -> 0 bytes ...p-api-ms-win-core-kernel32-legacy-l1-1-5.a | Bin 3644 -> 0 bytes ...p-api-ms-win-core-kernel32-legacy-l1-1-6.a | Bin 2818 -> 0 bytes ...euap-api-ms-win-core-largeinteger-l1-1-0.a | Bin 2700 -> 0 bytes ...uap-api-ms-win-core-libraryloader-l1-2-0.a | Bin 26126 -> 0 bytes ...uap-api-ms-win-core-libraryloader-l1-2-1.a | Bin 4366 -> 0 bytes ...uap-api-ms-win-core-libraryloader-l1-2-2.a | Bin 2778 -> 0 bytes ...uap-api-ms-win-core-libraryloader-l2-1-0.a | Bin 3666 -> 0 bytes ...api-ms-win-core-localization-ansi-l1-1-0.a | Bin 17014 -> 0 bytes ...euap-api-ms-win-core-localization-l1-2-0.a | Bin 50840 -> 0 bytes ...euap-api-ms-win-core-localization-l1-2-1.a | Bin 2770 -> 0 bytes ...euap-api-ms-win-core-localization-l1-2-2.a | Bin 3632 -> 0 bytes ...euap-api-ms-win-core-localization-l2-1-0.a | Bin 11964 -> 0 bytes ...ms-win-core-localization-obsolete-l1-2-0.a | Bin 8838 -> 0 bytes ...onecoreuap-api-ms-win-core-memory-l1-1-0.a | Bin 14910 -> 0 bytes ...onecoreuap-api-ms-win-core-memory-l1-1-1.a | Bin 15414 -> 0 bytes ...onecoreuap-api-ms-win-core-memory-l1-1-2.a | Bin 11362 -> 0 bytes ...onecoreuap-api-ms-win-core-memory-l1-1-3.a | Bin 5298 -> 0 bytes ...onecoreuap-api-ms-win-core-memory-l1-1-4.a | Bin 2778 -> 0 bytes ...onecoreuap-api-ms-win-core-memory-l1-1-5.a | Bin 3546 -> 0 bytes ...ap-api-ms-win-core-namedpipe-ansi-l1-1-0.a | Bin 4534 -> 0 bytes ...ap-api-ms-win-core-namedpipe-ansi-l1-1-1.a | Bin 2762 -> 0 bytes ...coreuap-api-ms-win-core-namedpipe-l1-1-0.a | Bin 10286 -> 0 bytes ...coreuap-api-ms-win-core-namedpipe-l1-2-1.a | Bin 3602 -> 0 bytes ...coreuap-api-ms-win-core-namedpipe-l1-2-2.a | Bin 2730 -> 0 bytes ...ap-api-ms-win-core-namespace-ansi-l1-1-0.a | Bin 4530 -> 0 bytes ...coreuap-api-ms-win-core-namespace-l1-1-0.a | Bin 7078 -> 0 bytes ...uap-api-ms-win-core-normalization-l1-1-0.a | Bin 6090 -> 0 bytes ...i_onecoreuap-api-ms-win-core-path-l1-1-0.a | Bin 20128 -> 0 bytes ...euap-api-ms-win-core-perfcounters-l1-1-0.a | Bin 14024 -> 0 bytes ...ap-api-ms-win-core-privateprofile-l1-1-0.a | Bin 13882 -> 0 bytes ...ap-api-ms-win-core-privateprofile-l1-1-1.a | Bin 3698 -> 0 bytes ...-win-core-processenvironment-ansi-l1-1-0.a | Bin 2866 -> 0 bytes ...pi-ms-win-core-processenvironment-l1-1-0.a | Bin 19830 -> 0 bytes ...pi-ms-win-core-processenvironment-l1-2-0.a | Bin 4590 -> 0 bytes ...p-api-ms-win-core-processsnapshot-l1-1-0.a | Bin 10432 -> 0 bytes ...ap-api-ms-win-core-processthreads-l1-1-0.a | Bin 42794 -> 0 bytes ...ap-api-ms-win-core-processthreads-l1-1-1.a | Bin 13942 -> 0 bytes ...ap-api-ms-win-core-processthreads-l1-1-2.a | Bin 9566 -> 0 bytes ...ap-api-ms-win-core-processthreads-l1-1-3.a | Bin 12294 -> 0 bytes ...p-api-ms-win-core-processtopology-l1-1-0.a | Bin 4538 -> 0 bytes ...win-core-processtopology-obsolete-l1-1-0.a | Bin 6334 -> 0 bytes ...win-core-processtopology-obsolete-l1-1-1.a | Bin 2898 -> 0 bytes ...necoreuap-api-ms-win-core-profile-l1-1-0.a | Bin 3624 -> 0 bytes ...oreuap-api-ms-win-core-psapi-ansi-l1-1-0.a | Bin 8818 -> 0 bytes ..._onecoreuap-api-ms-win-core-psapi-l1-1-0.a | Bin 19710 -> 0 bytes ...uap-api-ms-win-core-psm-appnotify-l1-1-0.a | Bin 3786 -> 0 bytes ...onecoreuap-api-ms-win-core-quirks-l1-1-0.a | Bin 8526 -> 0 bytes ...onecoreuap-api-ms-win-core-quirks-l1-1-1.a | Bin 3622 -> 0 bytes ...ecoreuap-api-ms-win-core-realtime-l1-1-0.a | Bin 6230 -> 0 bytes ...ecoreuap-api-ms-win-core-realtime-l1-1-1.a | Bin 4510 -> 0 bytes ...ecoreuap-api-ms-win-core-realtime-l1-1-2.a | Bin 4714 -> 0 bytes ...ecoreuap-api-ms-win-core-registry-l1-1-0.a | Bin 36998 -> 0 bytes ...ecoreuap-api-ms-win-core-registry-l1-1-1.a | Bin 5208 -> 0 bytes ...ecoreuap-api-ms-win-core-registry-l1-1-2.a | Bin 3620 -> 0 bytes ...ecoreuap-api-ms-win-core-registry-l2-1-0.a | Bin 24086 -> 0 bytes ...oreuap-api-ms-win-core-rtlsupport-l1-1-0.a | Bin 12782 -> 0 bytes ...oreuap-api-ms-win-core-rtlsupport-l1-2-0.a | Bin 4538 -> 0 bytes ...uap-api-ms-win-core-shutdown-ansi-l1-1-0.a | Bin 4522 -> 0 bytes ...ecoreuap-api-ms-win-core-shutdown-l1-1-0.a | Bin 3612 -> 0 bytes ...ecoreuap-api-ms-win-core-shutdown-l1-1-1.a | Bin 2730 -> 0 bytes ...p-api-ms-win-core-sidebyside-ansi-l1-1-0.a | Bin 3632 -> 0 bytes ...oreuap-api-ms-win-core-sidebyside-l1-1-0.a | Bin 10970 -> 0 bytes ..._onecoreuap-api-ms-win-core-slapi-l1-1-0.a | Bin 3638 -> 0 bytes ...onecoreuap-api-ms-win-core-string-l1-1-0.a | Bin 8462 -> 0 bytes ...onecoreuap-api-ms-win-core-string-l2-1-0.a | Bin 9906 -> 0 bytes ...onecoreuap-api-ms-win-core-string-l2-1-1.a | Bin 2734 -> 0 bytes ...p-api-ms-win-core-string-obsolete-l1-1-0.a | Bin 9804 -> 0 bytes ...p-api-ms-win-core-string-obsolete-l1-1-1.a | Bin 3508 -> 0 bytes ...oreuap-api-ms-win-core-stringansi-l1-1-0.a | Bin 11570 -> 0 bytes ...oreuap-api-ms-win-core-synch-ansi-l1-1-0.a | Bin 7726 -> 0 bytes ..._onecoreuap-api-ms-win-core-synch-l1-1-0.a | Bin 35884 -> 0 bytes ..._onecoreuap-api-ms-win-core-synch-l1-2-0.a | Bin 16248 -> 0 bytes ..._onecoreuap-api-ms-win-core-synch-l1-2-1.a | Bin 4402 -> 0 bytes ...necoreuap-api-ms-win-core-sysinfo-l1-1-0.a | Bin 20268 -> 0 bytes ...necoreuap-api-ms-win-core-sysinfo-l1-2-0.a | Bin 9466 -> 0 bytes ...necoreuap-api-ms-win-core-sysinfo-l1-2-1.a | Bin 6266 -> 0 bytes ...necoreuap-api-ms-win-core-sysinfo-l1-2-2.a | Bin 2778 -> 0 bytes ...necoreuap-api-ms-win-core-sysinfo-l1-2-3.a | Bin 6094 -> 0 bytes ...ap-api-ms-win-core-systemtopology-l1-1-0.a | Bin 3690 -> 0 bytes ...ap-api-ms-win-core-systemtopology-l1-1-1.a | Bin 2802 -> 0 bytes ...oreuap-api-ms-win-core-threadpool-l1-2-0.a | Bin 33962 -> 0 bytes ...api-ms-win-core-threadpool-legacy-l1-1-0.a | Bin 7874 -> 0 bytes ...ecoreuap-api-ms-win-core-timezone-l1-1-0.a | Bin 13414 -> 0 bytes ...ecoreuap-api-ms-win-core-toolhelp-l1-1-0.a | Bin 7626 -> 0 bytes ...ecoreuap-api-ms-win-core-toolhelp-l1-1-1.a | Bin 5128 -> 0 bytes ...pi_onecoreuap-api-ms-win-core-url-l1-1-0.a | Bin 32362 -> 0 bytes ...i_onecoreuap-api-ms-win-core-util-l1-1-0.a | Bin 5906 -> 0 bytes ...i_onecoreuap-api-ms-win-core-util-l1-1-1.a | Bin 3548 -> 0 bytes ...necoreuap-api-ms-win-core-version-l1-1-0.a | Bin 5228 -> 0 bytes ...necoreuap-api-ms-win-core-version-l1-1-1.a | Bin 3596 -> 0 bytes ...reuap-api-ms-win-core-versionansi-l1-1-0.a | Bin 5268 -> 0 bytes ...reuap-api-ms-win-core-versionansi-l1-1-1.a | Bin 3628 -> 0 bytes ...reuap-api-ms-win-core-windowsceip-l1-1-0.a | Bin 2734 -> 0 bytes ...ms-win-core-windowserrorreporting-l1-1-0.a | Bin 12474 -> 0 bytes ...ms-win-core-windowserrorreporting-l1-1-1.a | Bin 7386 -> 0 bytes ...ms-win-core-windowserrorreporting-l1-1-2.a | Bin 3738 -> 0 bytes ...reuap-api-ms-win-core-winrt-error-l1-1-0.a | Bin 11342 -> 0 bytes ...reuap-api-ms-win-core-winrt-error-l1-1-1.a | Bin 8876 -> 0 bytes ..._onecoreuap-api-ms-win-core-winrt-l1-1-0.a | Bin 9598 -> 0 bytes ...pi-ms-win-core-winrt-registration-l1-1-0.a | Bin 3778 -> 0 bytes ...ap-api-ms-win-core-winrt-robuffer-l1-1-0.a | Bin 2790 -> 0 bytes ...win-core-winrt-roparameterizediid-l1-1-0.a | Bin 4778 -> 0 bytes ...euap-api-ms-win-core-winrt-string-l1-1-0.a | Bin 25046 -> 0 bytes ...euap-api-ms-win-core-winrt-string-l1-1-1.a | Bin 2778 -> 0 bytes ..._onecoreuap-api-ms-win-core-wow64-l1-1-0.a | Bin 4478 -> 0 bytes ..._onecoreuap-api-ms-win-core-wow64-l1-1-1.a | Bin 7058 -> 0 bytes ..._onecoreuap-api-ms-win-core-wow64-l1-1-2.a | Bin 2770 -> 0 bytes ...onecoreuap-api-ms-win-core-xstate-l2-1-0.a | Bin 6898 -> 0 bytes ...coreuap-api-ms-win-devices-config-l1-1-1.a | Bin 35558 -> 0 bytes ...coreuap-api-ms-win-devices-config-l1-1-2.a | Bin 14242 -> 0 bytes ...reuap-api-ms-win-devices-swdevice-l1-1-0.a | Bin 7810 -> 0 bytes ...reuap-api-ms-win-devices-swdevice-l1-1-1.a | Bin 3608 -> 0 bytes ...i_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-0.a | Bin 86760 -> 0 bytes ...i_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-1.a | Bin 41878 -> 0 bytes ...i_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-2.a | Bin 20026 -> 0 bytes ...i_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-3.a | Bin 14348 -> 0 bytes ...i_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-4.a | Bin 19504 -> 0 bytes ...i-ms-win-eventing-classicprovider-l1-1-0.a | Bin 8676 -> 0 bytes ...euap-api-ms-win-eventing-consumer-l1-1-0.a | Bin 4330 -> 0 bytes ...euap-api-ms-win-eventing-consumer-l1-1-1.a | Bin 2806 -> 0 bytes ...ap-api-ms-win-eventing-controller-l1-1-0.a | Bin 11050 -> 0 bytes ...oreuap-api-ms-win-eventing-legacy-l1-1-0.a | Bin 13194 -> 0 bytes ...euap-api-ms-win-eventing-obsolete-l1-1-0.a | Bin 4438 -> 0 bytes ...euap-api-ms-win-eventing-provider-l1-1-0.a | Bin 10180 -> 0 bytes ...necoreuap-api-ms-win-eventing-tdh-l1-1-0.a | Bin 12216 -> 0 bytes ...i-ms-win-gaming-deviceinformation-l1-1-0.a | Bin 2882 -> 0 bytes ...i-ms-win-gaming-expandedresources-l1-1-0.a | Bin 4630 -> 0 bytes ...uap-api-ms-win-gaming-gamemonitor-l1-1-0.a | Bin 4546 -> 0 bytes ...uap-api-ms-win-gaming-gamemonitor-l1-1-1.a | Bin 2846 -> 0 bytes ...onecoreuap-api-ms-win-gaming-tcui-l1-1-0.a | Bin 7810 -> 0 bytes ...onecoreuap-api-ms-win-gaming-tcui-l1-1-1.a | Bin 3646 -> 0 bytes ...onecoreuap-api-ms-win-gaming-tcui-l1-1-2.a | Bin 8110 -> 0 bytes ...onecoreuap-api-ms-win-gaming-tcui-l1-1-3.a | Bin 3682 -> 0 bytes ...onecoreuap-api-ms-win-gaming-tcui-l1-1-4.a | Bin 8706 -> 0 bytes ...api_onecoreuap-api-ms-win-mm-misc-l1-1-0.a | Bin 25062 -> 0 bytes ...api_onecoreuap-api-ms-win-mm-misc-l1-1-1.a | Bin 2666 -> 0 bytes ...napi_onecoreuap-api-ms-win-mm-mme-l1-1-0.a | Bin 84946 -> 0 bytes ...necoreuap-api-ms-win-mm-playsound-l1-1-0.a | Bin 5100 -> 0 bytes ...api_onecoreuap-api-ms-win-mm-time-l1-1-0.a | Bin 5902 -> 0 bytes ...reuap-api-ms-win-ntuser-sysparams-l1-1-0.a | Bin 12152 -> 0 bytes ...euap-api-ms-win-oobe-notification-l1-1-0.a | Bin 4538 -> 0 bytes ...onecoreuap-api-ms-win-perf-legacy-l1-1-0.a | Bin 9570 -> 0 bytes ..._onecoreuap-api-ms-win-power-base-l1-1-0.a | Bin 6326 -> 0 bytes ...api-ms-win-power-limitsmanagement-l1-1-0.a | Bin 10942 -> 0 bytes ...ecoreuap-api-ms-win-power-setting-l1-1-0.a | Bin 8756 -> 0 bytes ...euap-api-ms-win-ro-typeresolution-l1-1-0.a | Bin 4418 -> 0 bytes ...-api-ms-win-security-appcontainer-l1-1-0.a | Bin 2854 -> 0 bytes ...uap-api-ms-win-security-base-ansi-l1-1-0.a | Bin 3594 -> 0 bytes ...ecoreuap-api-ms-win-security-base-l1-1-0.a | Bin 82422 -> 0 bytes ...ecoreuap-api-ms-win-security-base-l1-2-0.a | Bin 7826 -> 0 bytes ...ecoreuap-api-ms-win-security-base-l1-2-1.a | Bin 2710 -> 0 bytes ...ecoreuap-api-ms-win-security-base-l1-2-2.a | Bin 2786 -> 0 bytes ...p-api-ms-win-security-credentials-l1-1-0.a | Bin 26244 -> 0 bytes ...uap-api-ms-win-security-cryptoapi-l1-1-0.a | Bin 34478 -> 0 bytes ...ms-win-security-isolatedcontainer-l1-1-0.a | Bin 2882 -> 0 bytes ...pi-ms-win-security-lsalookup-ansi-l2-1-0.a | Bin 6242 -> 0 bytes ...uap-api-ms-win-security-lsalookup-l2-1-0.a | Bin 7074 -> 0 bytes ...uap-api-ms-win-security-lsalookup-l2-1-1.a | Bin 2802 -> 0 bytes ...api-ms-win-security-provider-ansi-l1-1-0.a | Bin 5390 -> 0 bytes ...euap-api-ms-win-security-provider-l1-1-0.a | Bin 6976 -> 0 bytes ...uap-api-ms-win-security-sddl-ansi-l1-1-0.a | Bin 3658 -> 0 bytes ...ecoreuap-api-ms-win-security-sddl-l1-1-0.a | Bin 5616 -> 0 bytes ...i-ms-win-security-systemfunctions-l1-1-0.a | Bin 4486 -> 0 bytes ...euap-api-ms-win-service-core-ansi-l1-1-0.a | Bin 4474 -> 0 bytes ...euap-api-ms-win-service-core-ansi-l1-1-1.a | Bin 2786 -> 0 bytes ...necoreuap-api-ms-win-service-core-l1-1-0.a | Bin 4486 -> 0 bytes ...necoreuap-api-ms-win-service-core-l1-1-1.a | Bin 4494 -> 0 bytes ...necoreuap-api-ms-win-service-core-l1-1-2.a | Bin 3588 -> 0 bytes ...uap-api-ms-win-service-management-l1-1-0.a | Bin 7682 -> 0 bytes ...uap-api-ms-win-service-management-l2-1-0.a | Bin 8806 -> 0 bytes ...coreuap-api-ms-win-service-winsvc-l1-1-0.a | Bin 15418 -> 0 bytes ...onecoreuap-api-ms-win-shcore-path-l1-1-0.a | Bin 5182 -> 0 bytes ...oreuap-api-ms-win-shcore-registry-l1-1-0.a | Bin 24606 -> 0 bytes ...oreuap-api-ms-win-shcore-registry-l1-1-1.a | Bin 2786 -> 0 bytes ...coreuap-api-ms-win-shcore-scaling-l1-1-0.a | Bin 4574 -> 0 bytes ...coreuap-api-ms-win-shcore-scaling-l1-1-1.a | Bin 7054 -> 0 bytes ...coreuap-api-ms-win-shcore-scaling-l1-1-2.a | Bin 2782 -> 0 bytes ...ap-api-ms-win-shcore-stream-winrt-l1-1-0.a | Bin 4682 -> 0 bytes ...coreuap-api-ms-win-shcore-sysinfo-l1-1-0.a | Bin 4552 -> 0 bytes ...uap-api-ms-win-shcore-unicodeansi-l1-1-0.a | Bin 5234 -> 0 bytes ...oreuap-api-ms-win-shell-namespace-l1-1-0.a | Bin 19936 -> 0 bytes ...euap-api-ms-win-shell-shdirectory-l1-1-0.a | Bin 4450 -> 0 bytes .../lib/libwinapi_onecoreuap-authz.a | Bin 32542 -> 0 bytes .../lib/libwinapi_onecoreuap-bcrypt.a | Bin 46468 -> 0 bytes .../lib/libwinapi_onecoreuap-cabinet.a | Bin 22356 -> 0 bytes .../lib/libwinapi_onecoreuap-chakra.a | Bin 98518 -> 0 bytes .../lib/libwinapi_onecoreuap-coremessaging.a | Bin 24390 -> 0 bytes .../lib/libwinapi_onecoreuap-crypt32.a | Bin 202636 -> 0 bytes .../lib/libwinapi_onecoreuap-cryptbase.a | Bin 8206 -> 0 bytes .../lib/libwinapi_onecoreuap-cryptnet.a | Bin 5982 -> 0 bytes .../lib/libwinapi_onecoreuap-d2d1.a | Bin 12354 -> 0 bytes .../lib/libwinapi_onecoreuap-d3d11.a | Bin 9402 -> 0 bytes .../lib/libwinapi_onecoreuap-d3d12.a | Bin 10382 -> 0 bytes .../lib/libwinapi_onecoreuap-d3dcompiler_47.a | Bin 23838 -> 0 bytes .../lib/libwinapi_onecoreuap-deviceaccess.a | Bin 4330 -> 0 bytes .../lib/libwinapi_onecoreuap-dfscli.a | Bin 22976 -> 0 bytes .../lib/libwinapi_onecoreuap-dhcpcsvc.a | Bin 54686 -> 0 bytes .../lib/libwinapi_onecoreuap-dhcpcsvc6.a | Bin 19790 -> 0 bytes .../lib/libwinapi_onecoreuap-dnsapi.a | Bin 223982 -> 0 bytes .../lib/libwinapi_onecoreuap-dsparse.a | Bin 17628 -> 0 bytes .../lib/libwinapi_onecoreuap-dsrole.a | Bin 3436 -> 0 bytes .../lib/libwinapi_onecoreuap-dwrite.a | Bin 2570 -> 0 bytes .../lib/libwinapi_onecoreuap-dxgi.a | Bin 9226 -> 0 bytes .../lib/libwinapi_onecoreuap-esent.a | Bin 299046 -> 0 bytes ...i_onecoreuap-ext-ms-win-core-iuri-l1-1-0.a | Bin 4326 -> 0 bytes ...ecoreuap-ext-ms-win-gaming-xinput-l1-1-0.a | Bin 7750 -> 0 bytes ...uap-ext-ms-win-networking-wlanapi-l1-1-0.a | Bin 20594 -> 0 bytes ...p-ext-ms-win-shell32-shellfolders-l1-1-0.a | Bin 12898 -> 0 bytes ...p-ext-ms-win-shell32-shellfolders-l1-1-1.a | Bin 3612 -> 0 bytes ...api_onecoreuap-ext-ms-win-uiacore-l1-1-0.a | Bin 3594 -> 0 bytes ...api_onecoreuap-ext-ms-win-uiacore-l1-1-1.a | Bin 8802 -> 0 bytes ...api_onecoreuap-ext-ms-win-uiacore-l1-1-2.a | Bin 3626 -> 0 bytes ...api_onecoreuap-ext-ms-win-uiacore-l1-1-3.a | Bin 2706 -> 0 bytes .../lib/libwinapi_onecoreuap-fltlib.a | Bin 25350 -> 0 bytes .../lib/libwinapi_onecoreuap-hid.a | Bin 37680 -> 0 bytes .../lib/libwinapi_onecoreuap-hrtfapo.a | Bin 5024 -> 0 bytes .../lib/libwinapi_onecoreuap-inkobjcore.a | Bin 25608 -> 0 bytes .../lib/libwinapi_onecoreuap-iphlpapi.a | Bin 233836 -> 0 bytes .../lib/libwinapi_onecoreuap-logoncli.a | Bin 29666 -> 0 bytes .../lib/libwinapi_onecoreuap-mf.a | Bin 64270 -> 0 bytes .../lib/libwinapi_onecoreuap-mfplat.a | Bin 127462 -> 0 bytes .../lib/libwinapi_onecoreuap-mfreadwrite.a | Bin 6158 -> 0 bytes .../lib/libwinapi_onecoreuap-mfsensorgroup.a | Bin 4310 -> 0 bytes .../lib/libwinapi_onecoreuap-mmdevapi.a | Bin 26670 -> 0 bytes .../lib/libwinapi_onecoreuap-mpr.a | Bin 36766 -> 0 bytes .../lib/libwinapi_onecoreuap-msajapi.a | Bin 501836 -> 0 bytes .../lib/libwinapi_onecoreuap-mswsock.a | Bin 23726 -> 0 bytes .../lib/libwinapi_onecoreuap-ncrypt.a | Bin 64954 -> 0 bytes .../lib/libwinapi_onecoreuap-netutils.a | Bin 5866 -> 0 bytes .../lib/libwinapi_onecoreuap-ntdll.a | Bin 18534 -> 0 bytes .../lib/libwinapi_onecoreuap-oleaut32.a | Bin 326796 -> 0 bytes .../lib/libwinapi_onecoreuap-powrprof.a | Bin 59286 -> 0 bytes .../lib/libwinapi_onecoreuap-profapi.a | Bin 15204 -> 0 bytes .../lib/libwinapi_onecoreuap-propsys.a | Bin 185814 -> 0 bytes .../lib/libwinapi_onecoreuap-rometadata.a | Bin 2602 -> 0 bytes .../lib/libwinapi_onecoreuap-rpcrt4.a | Bin 436062 -> 0 bytes .../lib/libwinapi_onecoreuap-samcli.a | Bin 30900 -> 0 bytes .../lib/libwinapi_onecoreuap-schedcli.a | Bin 5014 -> 0 bytes .../lib/libwinapi_onecoreuap-srvcli.a | Bin 40144 -> 0 bytes .../lib/libwinapi_onecoreuap-sspicli.a | Bin 78080 -> 0 bytes .../lib/libwinapi_onecoreuap-tokenbinding.a | Bin 8650 -> 0 bytes .../libwinapi_onecoreuap-uiautomationcore.a | Bin 75794 -> 0 bytes .../lib/libwinapi_onecoreuap-urlmon.a | Bin 55948 -> 0 bytes .../lib/libwinapi_onecoreuap-userenv.a | Bin 61306 -> 0 bytes .../lib/libwinapi_onecoreuap-webservices.a | Bin 157936 -> 0 bytes .../lib/libwinapi_onecoreuap-websocket.a | Bin 12654 -> 0 bytes .../libwinapi_onecoreuap-windows.data.pdf.a | Bin 2630 -> 0 bytes .../libwinapi_onecoreuap-windows.networking.a | Bin 2694 -> 0 bytes .../lib/libwinapi_onecoreuap-windowscodecs.a | Bin 106210 -> 0 bytes .../lib/libwinapi_onecoreuap-winhttp.a | Bin 53828 -> 0 bytes .../lib/libwinapi_onecoreuap-wintrust.a | Bin 2562 -> 0 bytes .../lib/libwinapi_onecoreuap-wkscli.a | Bin 20366 -> 0 bytes .../lib/libwinapi_onecoreuap-wlanapi.a | Bin 40862 -> 0 bytes .../lib/libwinapi_onecoreuap-wldap32.a | Bin 197482 -> 0 bytes .../lib/libwinapi_onecoreuap-wpprecorderum.a | Bin 5050 -> 0 bytes .../lib/libwinapi_onecoreuap-ws2_32.a | Bin 157492 -> 0 bytes .../lib/libwinapi_onecoreuap-xaudio2_9.a | Bin 7386 -> 0 bytes .../lib/libwinapi_onecoreuap-xmllite.a | Bin 6988 -> 0 bytes .../lib/libwinapi_onecoreuap.a | 324 - .../libwinapi_onecoreuap_downlevel-advapi32.a | Bin 513278 -> 0 bytes .../libwinapi_onecoreuap_downlevel-apphelp.a | Bin 8254 -> 0 bytes .../libwinapi_onecoreuap_downlevel-comctl32.a | Bin 60980 -> 0 bytes .../libwinapi_onecoreuap_downlevel-comdlg32.a | Bin 16894 -> 0 bytes .../libwinapi_onecoreuap_downlevel-d3d10.a | Bin 5160 -> 0 bytes .../lib/libwinapi_onecoreuap_downlevel-d3d9.a | Bin 5842 -> 0 bytes ...libwinapi_onecoreuap_downlevel-d3dx10_47.a | Bin 6206 -> 0 bytes .../libwinapi_onecoreuap_downlevel-difxapi.a | Bin 3486 -> 0 bytes .../libwinapi_onecoreuap_downlevel-gdi32.a | Bin 176572 -> 0 bytes .../libwinapi_onecoreuap_downlevel-input.a | Bin 11110 -> 0 bytes .../libwinapi_onecoreuap_downlevel-kernel32.a | Bin 977524 -> 0 bytes .../lib/libwinapi_onecoreuap_downlevel-msi.a | Bin 34594 -> 0 bytes .../libwinapi_onecoreuap_downlevel-newdev.a | Bin 10390 -> 0 bytes .../libwinapi_onecoreuap_downlevel-ole32.a | Bin 317912 -> 0 bytes .../libwinapi_onecoreuap_downlevel-oleacc.a | Bin 11902 -> 0 bytes .../libwinapi_onecoreuap_downlevel-oleaut32.a | Bin 330966 -> 0 bytes .../libwinapi_onecoreuap_downlevel-oledlg.a | Bin 18022 -> 0 bytes .../lib/libwinapi_onecoreuap_downlevel-pdh.a | Bin 13966 -> 0 bytes .../libwinapi_onecoreuap_downlevel-psapi.a | Bin 23970 -> 0 bytes .../libwinapi_onecoreuap_downlevel-resutils.a | Bin 10416 -> 0 bytes .../libwinapi_onecoreuap_downlevel-rstrtmgr.a | Bin 6568 -> 0 bytes .../libwinapi_onecoreuap_downlevel-secur32.a | Bin 76474 -> 0 bytes .../libwinapi_onecoreuap_downlevel-setupapi.a | Bin 157106 -> 0 bytes .../libwinapi_onecoreuap_downlevel-shell32.a | Bin 136038 -> 0 bytes .../libwinapi_onecoreuap_downlevel-shlwapi.a | Bin 314598 -> 0 bytes .../lib/libwinapi_onecoreuap_downlevel-tdh.a | Bin 11886 -> 0 bytes .../libwinapi_onecoreuap_downlevel-twinapi.a | Bin 2598 -> 0 bytes .../libwinapi_onecoreuap_downlevel-user32.a | Bin 510034 -> 0 bytes .../libwinapi_onecoreuap_downlevel-uxtheme.a | Bin 39186 -> 0 bytes .../libwinapi_onecoreuap_downlevel-version.a | Bin 10006 -> 0 bytes .../libwinapi_onecoreuap_downlevel-winmm.a | Bin 5782 -> 0 bytes .../libwinapi_onecoreuap_downlevel-winspool.a | Bin 34924 -> 0 bytes .../libwinapi_onecoreuap_downlevel-wtsapi32.a | Bin 15252 -> 0 bytes ...libwinapi_onecoreuap_downlevel-xinput1_4.a | Bin 8344 -> 0 bytes .../lib/libwinapi_onecoreuap_downlevel.a | 36 - .../lib/libwinapi_opengl32.a | Bin 284674 -> 0 bytes .../lib/libwinapi_opmxbox.a | Bin 4150 -> 0 bytes .../lib/libwinapi_p2p.a | Bin 92242 -> 0 bytes .../lib/libwinapi_p2pgraph.a | Bin 32634 -> 0 bytes .../lib/libwinapi_pathcch.a | Bin 19314 -> 0 bytes .../lib/libwinapi_pdh.a | Bin 90106 -> 0 bytes .../lib/libwinapi_peerdist.a | Bin 25802 -> 0 bytes .../lib/libwinapi_powrprof.a | Bin 92186 -> 0 bytes .../lib/libwinapi_prntvpt.a | Bin 25926 -> 0 bytes .../lib/libwinapi_propsys.a | Bin 183570 -> 0 bytes .../lib/libwinapi_psapi.a | Bin 23326 -> 0 bytes .../lib/libwinapi_quartz.a | Bin 4804 -> 0 bytes .../lib/libwinapi_query.a | Bin 12166 -> 0 bytes .../lib/libwinapi_qwave.a | Bin 12724 -> 0 bytes .../lib/libwinapi_rasapi32.a | Bin 116618 -> 0 bytes .../lib/libwinapi_rasdlg.a | Bin 20098 -> 0 bytes .../lib/libwinapi_resutils.a | Bin 106678 -> 0 bytes .../lib/libwinapi_rometadata.a | Bin 2534 -> 0 bytes .../lib/libwinapi_rpcexts.a | Bin 45048 -> 0 bytes .../lib/libwinapi_rpcns4.a | Bin 52100 -> 0 bytes .../lib/libwinapi_rpcproxy.a | Bin 4878 -> 0 bytes .../lib/libwinapi_rpcrt4.a | Bin 429744 -> 0 bytes .../lib/libwinapi_rstrtmgr.a | Bin 11006 -> 0 bytes .../lib/libwinapi_rtm.a | Bin 94818 -> 0 bytes .../lib/libwinapi_rtutils.a | Bin 34034 -> 0 bytes .../lib/libwinapi_rtworkq.a | Bin 29630 -> 0 bytes ...bject-api-ms-win-core-winrt-error-l1-1-0.a | Bin 11378 -> 0 bytes ...bject-api-ms-win-core-winrt-error-l1-1-1.a | Bin 8906 -> 0 bytes ...ntimeobject-api-ms-win-core-winrt-l1-1-0.a | Bin 9630 -> 0 bytes ...pi-ms-win-core-winrt-registration-l1-1-0.a | Bin 3802 -> 0 bytes ...ct-api-ms-win-core-winrt-robuffer-l1-1-0.a | Bin 2810 -> 0 bytes ...win-core-winrt-roparameterizediid-l1-1-0.a | Bin 4806 -> 0 bytes ...ject-api-ms-win-core-winrt-string-l1-1-0.a | Bin 25170 -> 0 bytes ...ject-api-ms-win-ro-typeresolution-l1-1-0.a | Bin 4446 -> 0 bytes .../lib/libwinapi_runtimeobject.a | 10 - .../lib/libwinapi_samlib.a | Bin 58936 -> 0 bytes .../lib/libwinapi_samsrv.a | Bin 271130 -> 0 bytes .../lib/libwinapi_sas.a | Bin 2414 -> 0 bytes .../lib/libwinapi_scarddlg.a | Bin 5726 -> 0 bytes .../lib/libwinapi_scecli.a | Bin 52152 -> 0 bytes .../lib/libwinapi_scesrv.a | Bin 3328 -> 0 bytes .../lib/libwinapi_schannel.a | Bin 29250 -> 0 bytes .../lib/libwinapi_secur32.a | Bin 77790 -> 0 bytes .../lib/libwinapi_security.a | Bin 31026 -> 0 bytes .../lib/libwinapi_sens.a | Bin 4114 -> 0 bytes .../lib/libwinapi_sensapi.a | Bin 4134 -> 0 bytes .../lib/libwinapi_sensorsutils.a | Bin 51638 -> 0 bytes .../lib/libwinapi_setupapi.a | Bin 465930 -> 0 bytes .../lib/libwinapi_sfc.a | Bin 14312 -> 0 bytes ...re-api-ms-win-core-featurestaging-l1-1-0.a | Bin 6338 -> 0 bytes ...re-api-ms-win-core-featurestaging-l1-1-1.a | Bin 2750 -> 0 bytes ..._shcore-api-ms-win-shcore-scaling-l1-1-0.a | Bin 4542 -> 0 bytes ..._shcore-api-ms-win-shcore-scaling-l1-1-1.a | Bin 7010 -> 0 bytes ..._shcore-api-ms-win-shcore-scaling-l1-1-2.a | Bin 2758 -> 0 bytes ...re-api-ms-win-shcore-stream-winrt-l1-1-0.a | Bin 4650 -> 0 bytes .../lib/libwinapi_shcore.a | 8 - .../lib/libwinapi_shdocvw.a | Bin 16738 -> 0 bytes .../lib/libwinapi_shell32.a | Bin 330758 -> 0 bytes .../lib/libwinapi_shfolder.a | Bin 3290 -> 0 bytes .../lib/libwinapi_shlwapi.a | Bin 286724 -> 0 bytes .../lib/libwinapi_slc.a | Bin 31662 -> 0 bytes .../lib/libwinapi_slcext.a | Bin 8934 -> 0 bytes .../lib/libwinapi_slwga.a | Bin 2482 -> 0 bytes .../lib/libwinapi_snmpapi.a | Bin 31926 -> 0 bytes .../lib/libwinapi_spoolss.a | Bin 158774 -> 0 bytes .../lib/libwinapi_sporder.a | Bin 3338 -> 0 bytes .../lib/libwinapi_srpapi.a | Bin 19126 -> 0 bytes .../lib/libwinapi_ssdpapi.a | Bin 25002 -> 0 bytes .../lib/libwinapi_sti.a | Bin 4950 -> 0 bytes .../lib/libwinapi_swdevice.a | Bin 8942 -> 0 bytes .../lib/libwinapi_synchronization.a | Bin 4158 -> 0 bytes .../lib/libwinapi_t2embed.a | Bin 12990 -> 0 bytes .../lib/libwinapi_tapi32.a | Bin 221324 -> 0 bytes .../lib/libwinapi_tbs.a | Bin 15318 -> 0 bytes .../lib/libwinapi_tdh.a | Bin 21410 -> 0 bytes .../lib/libwinapi_tokenbinding.a | Bin 8498 -> 0 bytes .../lib/libwinapi_traffic.a | Bin 18858 -> 0 bytes .../lib/libwinapi_tsec.a | Bin 24182 -> 0 bytes .../lib/libwinapi_txfw32.a | Bin 9198 -> 0 bytes .../lib/libwinapi_ualapi.a | Bin 7198 -> 0 bytes .../lib/libwinapi_uiautomationcore.a | Bin 85682 -> 0 bytes .../lib/libwinapi_umpdddi.a | Bin 64584 -> 0 bytes .../lib/libwinapi_urlmon.a | Bin 73398 -> 0 bytes .../lib/libwinapi_user32.a | Bin 608188 -> 0 bytes .../lib/libwinapi_userenv.a | Bin 60542 -> 0 bytes .../lib/libwinapi_usp10.a | Bin 33748 -> 0 bytes .../lib/libwinapi_uxtheme.a | Bin 61866 -> 0 bytes .../lib/libwinapi_version.a | Bin 11270 -> 0 bytes .../lib/libwinapi_vertdll.a | Bin 73598 -> 0 bytes .../lib/libwinapi_vfw32-avicap32.a | Bin 6612 -> 0 bytes .../lib/libwinapi_vfw32-avifil32.a | Bin 60488 -> 0 bytes .../lib/libwinapi_vfw32-msvfw32.a | Bin 38638 -> 0 bytes .../lib/libwinapi_vfw32.a | 5 - .../lib/libwinapi_virtdisk.a | Bin 23722 -> 0 bytes .../lib/libwinapi_vssapi.a | Bin 10990 -> 0 bytes .../lib/libwinapi_wcmapi.a | Bin 31874 -> 0 bytes .../lib/libwinapi_wdsbp.a | Bin 7258 -> 0 bytes .../lib/libwinapi_wdsclientapi.a | Bin 49914 -> 0 bytes .../lib/libwinapi_wdsmc.a | Bin 6792 -> 0 bytes .../lib/libwinapi_wdspxe.a | Bin 26530 -> 0 bytes .../lib/libwinapi_wdstptc.a | Bin 12946 -> 0 bytes .../lib/libwinapi_webservices.a | Bin 155950 -> 0 bytes .../lib/libwinapi_websocket.a | Bin 12470 -> 0 bytes .../lib/libwinapi_wecapi.a | Bin 13926 -> 0 bytes .../lib/libwinapi_wer.a | Bin 40422 -> 0 bytes .../lib/libwinapi_wevtapi.a | Bin 37130 -> 0 bytes .../lib/libwinapi_wiaservc.a | Bin 45134 -> 0 bytes .../lib/libwinapi_winbio.a | Bin 50712 -> 0 bytes .../lib/libwinapi_windows.data.pdf.a | Bin 2562 -> 0 bytes .../lib/libwinapi_windows.networking.a | Bin 2626 -> 0 bytes .../lib/libwinapi_windows.ui.a | Bin 3336 -> 0 bytes ...wsapp-api-ms-win-appmodel-runtime-l1-1-0.a | Bin 6318 -> 0 bytes ...wsapp-api-ms-win-appmodel-runtime-l1-1-1.a | Bin 8030 -> 0 bytes ...pi_windowsapp-api-ms-win-core-com-l1-1-0.a | Bin 33556 -> 0 bytes ...pi_windowsapp-api-ms-win-core-com-l1-1-1.a | Bin 2710 -> 0 bytes ...pi_windowsapp-api-ms-win-core-com-l2-1-1.a | Bin 19206 -> 0 bytes ...api-ms-win-core-com-midlproxystub-l1-1-0.a | Bin 66154 -> 0 bytes ...i_windowsapp-api-ms-win-core-comm-l1-1-0.a | Bin 16380 -> 0 bytes ...i_windowsapp-api-ms-win-core-comm-l1-1-1.a | Bin 2678 -> 0 bytes ...indowsapp-api-ms-win-core-console-l1-1-0.a | Bin 8444 -> 0 bytes ...indowsapp-api-ms-win-core-console-l2-1-0.a | Bin 16302 -> 0 bytes ...ndowsapp-api-ms-win-core-datetime-l1-1-1.a | Bin 3540 -> 0 bytes ...ndowsapp-api-ms-win-core-datetime-l1-1-2.a | Bin 2742 -> 0 bytes ..._windowsapp-api-ms-win-core-debug-l1-1-0.a | Bin 4378 -> 0 bytes ...dowsapp-api-ms-win-core-delayload-l1-1-0.a | Bin 2758 -> 0 bytes ...dowsapp-api-ms-win-core-delayload-l1-1-1.a | Bin 3626 -> 0 bytes ...indowsapp-api-ms-win-core-enclave-l1-1-0.a | Bin 5204 -> 0 bytes ...app-api-ms-win-core-errorhandling-l1-1-0.a | Bin 6066 -> 0 bytes ...app-api-ms-win-core-errorhandling-l1-1-2.a | Bin 2798 -> 0 bytes ...app-api-ms-win-core-errorhandling-l1-1-3.a | Bin 3618 -> 0 bytes ...pp-api-ms-win-core-featurestaging-l1-1-0.a | Bin 6378 -> 0 bytes ...pp-api-ms-win-core-featurestaging-l1-1-1.a | Bin 2774 -> 0 bytes ...windowsapp-api-ms-win-core-fibers-l1-1-0.a | Bin 5026 -> 0 bytes ...windowsapp-api-ms-win-core-fibers-l1-1-1.a | Bin 2706 -> 0 bytes ...windowsapp-api-ms-win-core-fibers-l2-1-0.a | Bin 4334 -> 0 bytes ...windowsapp-api-ms-win-core-fibers-l2-1-1.a | Bin 3550 -> 0 bytes ...dowsapp-api-ms-win-core-file-ansi-l1-1-0.a | Bin 2774 -> 0 bytes ...dowsapp-api-ms-win-core-file-ansi-l2-1-0.a | Bin 3518 -> 0 bytes ...i_windowsapp-api-ms-win-core-file-l1-1-0.a | Bin 45908 -> 0 bytes ...i_windowsapp-api-ms-win-core-file-l1-2-0.a | Bin 3472 -> 0 bytes ...i_windowsapp-api-ms-win-core-file-l1-2-2.a | Bin 4338 -> 0 bytes ...i_windowsapp-api-ms-win-core-file-l2-1-0.a | Bin 6768 -> 0 bytes ...i_windowsapp-api-ms-win-core-file-l2-1-2.a | Bin 2662 -> 0 bytes ...windowsapp-api-ms-win-core-handle-l1-1-0.a | Bin 4346 -> 0 bytes ...i_windowsapp-api-ms-win-core-heap-l1-1-0.a | Bin 9014 -> 0 bytes ...i_windowsapp-api-ms-win-core-heap-l2-1-0.a | Bin 5834 -> 0 bytes ...app-api-ms-win-core-heap-obsolete-l1-1-0.a | Bin 5158 -> 0 bytes ...wsapp-api-ms-win-core-interlocked-l1-1-0.a | Bin 6174 -> 0 bytes ...wsapp-api-ms-win-core-interlocked-l1-2-0.a | Bin 2802 -> 0 bytes ...api_windowsapp-api-ms-win-core-io-l1-1-0.a | Bin 6938 -> 0 bytes ...api_windowsapp-api-ms-win-core-io-l1-1-1.a | Bin 3478 -> 0 bytes ...-ms-win-core-kernel32-legacy-ansi-l1-1-0.a | Bin 2806 -> 0 bytes ...p-api-ms-win-core-kernel32-legacy-l1-1-0.a | Bin 8636 -> 0 bytes ...sapp-api-ms-win-core-largeinteger-l1-1-0.a | Bin 2700 -> 0 bytes ...app-api-ms-win-core-libraryloader-l1-2-0.a | Bin 7814 -> 0 bytes ...app-api-ms-win-core-libraryloader-l2-1-0.a | Bin 3666 -> 0 bytes ...api-ms-win-core-localization-ansi-l1-1-0.a | Bin 3626 -> 0 bytes ...sapp-api-ms-win-core-localization-l1-2-0.a | Bin 25692 -> 0 bytes ...sapp-api-ms-win-core-localization-l1-2-1.a | Bin 2770 -> 0 bytes ...sapp-api-ms-win-core-localization-l1-2-2.a | Bin 3632 -> 0 bytes ...sapp-api-ms-win-core-localization-l2-1-0.a | Bin 6964 -> 0 bytes ...ms-win-core-localization-obsolete-l1-2-0.a | Bin 3698 -> 0 bytes ...windowsapp-api-ms-win-core-memory-l1-1-0.a | Bin 5122 -> 0 bytes ...windowsapp-api-ms-win-core-memory-l1-1-1.a | Bin 8618 -> 0 bytes ...windowsapp-api-ms-win-core-memory-l1-1-2.a | Bin 4406 -> 0 bytes ...windowsapp-api-ms-win-core-memory-l1-1-3.a | Bin 5298 -> 0 bytes ...pp-api-ms-win-core-namedpipe-ansi-l1-1-0.a | Bin 4534 -> 0 bytes ...pp-api-ms-win-core-namedpipe-ansi-l1-1-1.a | Bin 2762 -> 0 bytes ...dowsapp-api-ms-win-core-namedpipe-l1-1-0.a | Bin 10286 -> 0 bytes ...dowsapp-api-ms-win-core-namedpipe-l1-2-1.a | Bin 3602 -> 0 bytes ...dowsapp-api-ms-win-core-namedpipe-l1-2-2.a | Bin 2730 -> 0 bytes ...pp-api-ms-win-core-namespace-ansi-l1-1-0.a | Bin 4530 -> 0 bytes ...dowsapp-api-ms-win-core-namespace-l1-1-0.a | Bin 7078 -> 0 bytes ...app-api-ms-win-core-normalization-l1-1-0.a | Bin 6090 -> 0 bytes ...i_windowsapp-api-ms-win-core-path-l1-1-0.a | Bin 20128 -> 0 bytes ...pi-ms-win-core-processenvironment-l1-1-0.a | Bin 16454 -> 0 bytes ...pp-api-ms-win-core-processthreads-l1-1-0.a | Bin 29062 -> 0 bytes ...pp-api-ms-win-core-processthreads-l1-1-1.a | Bin 11382 -> 0 bytes ...pp-api-ms-win-core-processthreads-l1-1-2.a | Bin 3670 -> 0 bytes ...pp-api-ms-win-core-processthreads-l1-1-3.a | Bin 10558 -> 0 bytes ...win-core-processtopology-obsolete-l1-1-0.a | Bin 4602 -> 0 bytes ...indowsapp-api-ms-win-core-profile-l1-1-0.a | Bin 3624 -> 0 bytes ...owsapp-api-ms-win-core-psapi-ansi-l1-1-0.a | Bin 3626 -> 0 bytes ..._windowsapp-api-ms-win-core-psapi-l1-1-0.a | Bin 6122 -> 0 bytes ...app-api-ms-win-core-psm-appnotify-l1-1-0.a | Bin 3786 -> 0 bytes ...ndowsapp-api-ms-win-core-realtime-l1-1-0.a | Bin 2778 -> 0 bytes ...ndowsapp-api-ms-win-core-realtime-l1-1-1.a | Bin 4510 -> 0 bytes ...ndowsapp-api-ms-win-core-realtime-l1-1-2.a | Bin 4714 -> 0 bytes ...owsapp-api-ms-win-core-rtlsupport-l1-1-0.a | Bin 6054 -> 0 bytes ..._windowsapp-api-ms-win-core-slapi-l1-1-0.a | Bin 3638 -> 0 bytes ...windowsapp-api-ms-win-core-string-l1-1-0.a | Bin 6854 -> 0 bytes ...owsapp-api-ms-win-core-synch-ansi-l1-1-0.a | Bin 6910 -> 0 bytes ..._windowsapp-api-ms-win-core-synch-l1-1-0.a | Bin 35884 -> 0 bytes ..._windowsapp-api-ms-win-core-synch-l1-2-0.a | Bin 13592 -> 0 bytes ..._windowsapp-api-ms-win-core-synch-l1-2-1.a | Bin 4402 -> 0 bytes ...indowsapp-api-ms-win-core-sysinfo-l1-1-0.a | Bin 12714 -> 0 bytes ...indowsapp-api-ms-win-core-sysinfo-l1-2-0.a | Bin 3632 -> 0 bytes ...indowsapp-api-ms-win-core-sysinfo-l1-2-3.a | Bin 2762 -> 0 bytes ...owsapp-api-ms-win-core-threadpool-l1-2-0.a | Bin 33962 -> 0 bytes ...ndowsapp-api-ms-win-core-timezone-l1-1-0.a | Bin 11674 -> 0 bytes ...pi_windowsapp-api-ms-win-core-url-l1-1-0.a | Bin 3544 -> 0 bytes ...i_windowsapp-api-ms-win-core-util-l1-1-0.a | Bin 4238 -> 0 bytes ...indowsapp-api-ms-win-core-version-l1-1-0.a | Bin 4426 -> 0 bytes ...wsapp-api-ms-win-core-versionansi-l1-1-0.a | Bin 4462 -> 0 bytes ...wsapp-api-ms-win-core-windowsceip-l1-1-0.a | Bin 2734 -> 0 bytes ...ms-win-core-windowserrorreporting-l1-1-0.a | Bin 5402 -> 0 bytes ...ms-win-core-windowserrorreporting-l1-1-1.a | Bin 7386 -> 0 bytes ...ms-win-core-windowserrorreporting-l1-1-2.a | Bin 3738 -> 0 bytes ...wsapp-api-ms-win-core-winrt-error-l1-1-0.a | Bin 10412 -> 0 bytes ...wsapp-api-ms-win-core-winrt-error-l1-1-1.a | Bin 3668 -> 0 bytes ..._windowsapp-api-ms-win-core-winrt-l1-1-0.a | Bin 9598 -> 0 bytes ...pi-ms-win-core-winrt-registration-l1-1-0.a | Bin 3778 -> 0 bytes ...pp-api-ms-win-core-winrt-robuffer-l1-1-0.a | Bin 2790 -> 0 bytes ...win-core-winrt-roparameterizediid-l1-1-0.a | Bin 4778 -> 0 bytes ...sapp-api-ms-win-core-winrt-string-l1-1-0.a | Bin 24200 -> 0 bytes ..._windowsapp-api-ms-win-core-wow64-l1-1-0.a | Bin 2702 -> 0 bytes ...windowsapp-api-ms-win-core-xstate-l2-1-0.a | Bin 5258 -> 0 bytes ...i-ms-win-eventing-classicprovider-l1-1-0.a | Bin 7044 -> 0 bytes ...sapp-api-ms-win-eventing-consumer-l1-1-0.a | Bin 4330 -> 0 bytes ...pp-api-ms-win-eventing-controller-l1-1-0.a | Bin 6030 -> 0 bytes ...owsapp-api-ms-win-eventing-legacy-l1-1-0.a | Bin 5126 -> 0 bytes ...sapp-api-ms-win-eventing-provider-l1-1-0.a | Bin 8528 -> 0 bytes ...i-ms-win-gaming-deviceinformation-l1-1-0.a | Bin 2882 -> 0 bytes ...i-ms-win-gaming-expandedresources-l1-1-0.a | Bin 4630 -> 0 bytes ...app-api-ms-win-gaming-gamemonitor-l1-1-0.a | Bin 4546 -> 0 bytes ...app-api-ms-win-gaming-gamemonitor-l1-1-1.a | Bin 2846 -> 0 bytes ...windowsapp-api-ms-win-gaming-tcui-l1-1-0.a | Bin 7810 -> 0 bytes ...windowsapp-api-ms-win-gaming-tcui-l1-1-1.a | Bin 3646 -> 0 bytes ...windowsapp-api-ms-win-gaming-tcui-l1-1-2.a | Bin 8110 -> 0 bytes ...windowsapp-api-ms-win-gaming-tcui-l1-1-3.a | Bin 3682 -> 0 bytes ...windowsapp-api-ms-win-gaming-tcui-l1-1-4.a | Bin 8706 -> 0 bytes ...sapp-api-ms-win-ro-typeresolution-l1-1-0.a | Bin 4418 -> 0 bytes ...ndowsapp-api-ms-win-security-base-l1-1-0.a | Bin 45540 -> 0 bytes ...ndowsapp-api-ms-win-security-base-l1-2-0.a | Bin 2758 -> 0 bytes ...ndowsapp-api-ms-win-security-base-l1-2-1.a | Bin 2710 -> 0 bytes ...app-api-ms-win-security-cryptoapi-l1-1-0.a | Bin 23534 -> 0 bytes ...ms-win-security-isolatedcontainer-l1-1-0.a | Bin 2882 -> 0 bytes ...pi-ms-win-security-lsalookup-ansi-l2-1-0.a | Bin 6242 -> 0 bytes ...app-api-ms-win-security-lsalookup-l2-1-0.a | Bin 6194 -> 0 bytes ...api-ms-win-security-provider-ansi-l1-1-0.a | Bin 5390 -> 0 bytes ...sapp-api-ms-win-security-provider-l1-1-0.a | Bin 6976 -> 0 bytes ...app-api-ms-win-security-sddl-ansi-l1-1-0.a | Bin 3658 -> 0 bytes ...ndowsapp-api-ms-win-security-sddl-l1-1-0.a | Bin 5616 -> 0 bytes ...pp-api-ms-win-shcore-stream-winrt-l1-1-0.a | Bin 4682 -> 0 bytes .../lib/libwinapi_windowsapp-bcrypt.a | Bin 30158 -> 0 bytes .../lib/libwinapi_windowsapp-cabinet.a | Bin 14532 -> 0 bytes .../lib/libwinapi_windowsapp-chakra.a | Bin 92114 -> 0 bytes .../lib/libwinapi_windowsapp-coremessaging.a | Bin 2678 -> 0 bytes .../lib/libwinapi_windowsapp-crypt32.a | Bin 115056 -> 0 bytes .../lib/libwinapi_windowsapp-d2d1.a | Bin 12354 -> 0 bytes .../lib/libwinapi_windowsapp-d3d11.a | Bin 5174 -> 0 bytes .../lib/libwinapi_windowsapp-d3d12.a | Bin 7006 -> 0 bytes .../lib/libwinapi_windowsapp-d3dcompiler_47.a | Bin 22190 -> 0 bytes .../lib/libwinapi_windowsapp-deviceaccess.a | Bin 2650 -> 0 bytes .../lib/libwinapi_windowsapp-dhcpcsvc.a | Bin 4182 -> 0 bytes .../lib/libwinapi_windowsapp-dhcpcsvc6.a | Bin 4214 -> 0 bytes .../lib/libwinapi_windowsapp-dwrite.a | Bin 2570 -> 0 bytes .../lib/libwinapi_windowsapp-dxgi.a | Bin 3362 -> 0 bytes .../lib/libwinapi_windowsapp-esent.a | Bin 88346 -> 0 bytes ...i_windowsapp-ext-ms-win-core-iuri-l1-1-0.a | Bin 3504 -> 0 bytes ...ndowsapp-ext-ms-win-gaming-xinput-l1-1-0.a | Bin 7750 -> 0 bytes ...api_windowsapp-ext-ms-win-uiacore-l1-1-0.a | Bin 3594 -> 0 bytes ...api_windowsapp-ext-ms-win-uiacore-l1-1-1.a | Bin 8010 -> 0 bytes ...api_windowsapp-ext-ms-win-uiacore-l1-1-2.a | Bin 3626 -> 0 bytes ...api_windowsapp-ext-ms-win-uiacore-l1-1-3.a | Bin 2706 -> 0 bytes .../lib/libwinapi_windowsapp-hrtfapo.a | Bin 2542 -> 0 bytes .../lib/libwinapi_windowsapp-inkobjcore.a | Bin 23222 -> 0 bytes .../lib/libwinapi_windowsapp-iphlpapi.a | Bin 21954 -> 0 bytes .../lib/libwinapi_windowsapp-mf.a | Bin 14014 -> 0 bytes .../lib/libwinapi_windowsapp-mfplat.a | Bin 48966 -> 0 bytes .../lib/libwinapi_windowsapp-mfreadwrite.a | Bin 6158 -> 0 bytes .../lib/libwinapi_windowsapp-mfsensorgroup.a | Bin 3442 -> 0 bytes .../lib/libwinapi_windowsapp-mmdevapi.a | Bin 2626 -> 0 bytes .../lib/libwinapi_windowsapp-msajapi.a | Bin 492032 -> 0 bytes .../lib/libwinapi_windowsapp-mswsock.a | Bin 4106 -> 0 bytes .../lib/libwinapi_windowsapp-ncrypt.a | Bin 20238 -> 0 bytes .../lib/libwinapi_windowsapp-ntdll.a | Bin 18534 -> 0 bytes .../lib/libwinapi_windowsapp-oleaut32.a | Bin 283012 -> 0 bytes .../lib/libwinapi_windowsapp-propsys.a | Bin 16816 -> 0 bytes .../lib/libwinapi_windowsapp-rometadata.a | Bin 2602 -> 0 bytes .../lib/libwinapi_windowsapp-rpcrt4.a | Bin 224198 -> 0 bytes .../lib/libwinapi_windowsapp-sspicli.a | Bin 19892 -> 0 bytes .../libwinapi_windowsapp-uiautomationcore.a | Bin 4406 -> 0 bytes .../lib/libwinapi_windowsapp-urlmon.a | Bin 3400 -> 0 bytes .../lib/libwinapi_windowsapp-webservices.a | Bin 141508 -> 0 bytes .../libwinapi_windowsapp-windows.data.pdf.a | Bin 2630 -> 0 bytes .../libwinapi_windowsapp-windows.networking.a | Bin 2694 -> 0 bytes .../lib/libwinapi_windowsapp-windowscodecs.a | Bin 9374 -> 0 bytes .../lib/libwinapi_windowsapp-ws2_32.a | Bin 81592 -> 0 bytes .../lib/libwinapi_windowsapp-xaudio2_9.a | Bin 6562 -> 0 bytes .../lib/libwinapi_windowsapp-xmllite.a | Bin 6988 -> 0 bytes .../lib/libwinapi_windowsapp.a | 182 - .../libwinapi_windowsapp_downlevel-advapi32.a | Bin 113940 -> 0 bytes ...evel-api-ms-win-core-localization-l1-2-0.a | Bin 3602 -> 0 bytes ...p_downlevel-api-ms-win-core-winrt-l1-1-0.a | Bin 9738 -> 0 bytes ...el-api-ms-win-core-winrt-robuffer-l1-1-0.a | Bin 2850 -> 0 bytes .../libwinapi_windowsapp_downlevel-cabinet.a | Bin 14742 -> 0 bytes .../lib/libwinapi_windowsapp_downlevel-d2d1.a | Bin 12534 -> 0 bytes .../libwinapi_windowsapp_downlevel-d3d11.a | Bin 5264 -> 0 bytes ...napi_windowsapp_downlevel-d3dcompiler_47.a | Bin 22490 -> 0 bytes ...winapi_windowsapp_downlevel-deviceaccess.a | Bin 2710 -> 0 bytes .../libwinapi_windowsapp_downlevel-dhcpcsvc.a | Bin 4262 -> 0 bytes ...libwinapi_windowsapp_downlevel-dhcpcsvc6.a | Bin 4294 -> 0 bytes .../libwinapi_windowsapp_downlevel-dwrite.a | Bin 2630 -> 0 bytes .../lib/libwinapi_windowsapp_downlevel-dxgi.a | Bin 3432 -> 0 bytes .../libwinapi_windowsapp_downlevel-esent.a | Bin 89476 -> 0 bytes .../libwinapi_windowsapp_downlevel-kernel32.a | Bin 427758 -> 0 bytes .../lib/libwinapi_windowsapp_downlevel-mf.a | Bin 14214 -> 0 bytes .../libwinapi_windowsapp_downlevel-mfplat.a | Bin 49586 -> 0 bytes ...bwinapi_windowsapp_downlevel-mfreadwrite.a | Bin 6258 -> 0 bytes .../libwinapi_windowsapp_downlevel-mmdevapi.a | Bin 2686 -> 0 bytes .../libwinapi_windowsapp_downlevel-msajapi.a | Bin 497542 -> 0 bytes .../libwinapi_windowsapp_downlevel-mscoree.a | Bin 2638 -> 0 bytes .../libwinapi_windowsapp_downlevel-mswsock.a | Bin 4186 -> 0 bytes .../libwinapi_windowsapp_downlevel-ole32.a | Bin 106722 -> 0 bytes .../libwinapi_windowsapp_downlevel-oleaut32.a | Bin 286642 -> 0 bytes .../libwinapi_windowsapp_downlevel-propsys.a | Bin 17046 -> 0 bytes .../libwinapi_windowsapp_downlevel-rpcrt4.a | Bin 226928 -> 0 bytes ...pi_windowsapp_downlevel-uiautomationcore.a | Bin 14966 -> 0 bytes .../libwinapi_windowsapp_downlevel-urlmon.a | Bin 5074 -> 0 bytes ...bwinapi_windowsapp_downlevel-webservices.a | Bin 143288 -> 0 bytes ...pi_windowsapp_downlevel-windows.data.pdf.a | Bin 2690 -> 0 bytes ..._windowsapp_downlevel-windows.networking.a | Bin 2754 -> 0 bytes ...inapi_windowsapp_downlevel-windowscodecs.a | Bin 9514 -> 0 bytes .../libwinapi_windowsapp_downlevel-ws2_32.a | Bin 82662 -> 0 bytes ...libwinapi_windowsapp_downlevel-xaudio2_8.a | Bin 6672 -> 0 bytes ...libwinapi_windowsapp_downlevel-xinput1_4.a | Bin 7586 -> 0 bytes .../libwinapi_windowsapp_downlevel-xmllite.a | Bin 7098 -> 0 bytes .../lib/libwinapi_windowsapp_downlevel.a | 38 - .../lib/libwinapi_windowscodecs.a | Bin 105016 -> 0 bytes .../lib/libwinapi_winfax.a | Bin 46364 -> 0 bytes .../lib/libwinapi_winhttp.a | Bin 53986 -> 0 bytes .../lib/libwinapi_wininet.a | Bin 260434 -> 0 bytes .../lib/libwinapi_winmm.a | Bin 140700 -> 0 bytes .../lib/libwinapi_winscard.a | Bin 58330 -> 0 bytes .../lib/libwinapi_winspool.a | Bin 166614 -> 0 bytes .../lib/libwinapi_winsqlite3.a | Bin 192422 -> 0 bytes .../lib/libwinapi_winsta.a | Bin 141860 -> 0 bytes .../lib/libwinapi_wintrust.a | Bin 112526 -> 0 bytes .../lib/libwinapi_winusb.a | Bin 32218 -> 0 bytes .../lib/libwinapi_wlanapi.a | Bin 54228 -> 0 bytes .../lib/libwinapi_wlanui.a | Bin 4046 -> 0 bytes .../lib/libwinapi_wldap32.a | Bin 194972 -> 0 bytes .../lib/libwinapi_wmip.a | Bin 37418 -> 0 bytes .../lib/libwinapi_wmvcore.a | Bin 12150 -> 0 bytes .../lib/libwinapi_wnvapi.a | Bin 3252 -> 0 bytes .../lib/libwinapi_wofutil.a | Bin 10470 -> 0 bytes .../lib/libwinapi_ws2_32.a | Bin 155138 -> 0 bytes .../lib/libwinapi_wscapi.a | Bin 32066 -> 0 bytes .../lib/libwinapi_wsclient.a | Bin 25750 -> 0 bytes .../lib/libwinapi_wsdapi.a | Bin 33498 -> 0 bytes .../lib/libwinapi_wsmsvc.a | Bin 120038 -> 0 bytes .../lib/libwinapi_wsnmp32.a | Bin 41340 -> 0 bytes .../lib/libwinapi_wsock32.a | Bin 58416 -> 0 bytes .../lib/libwinapi_wtsapi32.a | Bin 54714 -> 0 bytes .../lib/libwinapi_xaudio2.a | Bin 7236 -> 0 bytes .../lib/libwinapi_xaudio2_8.a | Bin 6446 -> 0 bytes .../lib/libwinapi_xinput.a | Bin 8032 -> 0 bytes .../lib/libwinapi_xinput9_1_0.a | Bin 5722 -> 0 bytes .../lib/libwinapi_xinputuap.a | Bin 8080 -> 0 bytes .../lib/libwinapi_xmllite.a | Bin 6874 -> 0 bytes .../lib/libwinapi_xolehlp.a | Bin 5894 -> 0 bytes .../lib/libwinapi_xpsdocumenttargetprint.a | Bin 2546 -> 0 bytes .../lib/libwinapi_xpsprint.a | Bin 3294 -> 0 bytes .../winapi-x86_64-pc-windows-gnu/src/lib.rs | 7 - .../winapi/.cargo-checksum.json | 1 - .../winapi/Cargo.toml | 402 - .../winapi/LICENSE-APACHE | 201 - .../winapi/LICENSE-MIT | 19 - .../winapi/README.md | 89 - .../registry-40351f815f426200/winapi/build.rs | 488 - .../winapi/src/km/d3dkmthk.rs | 312 - .../winapi/src/km/mod.rs | 7 - .../winapi/src/lib.rs | 70 - .../winapi/src/macros.rs | 424 - .../winapi/src/shared/basetsd.rs | 70 - .../winapi/src/shared/bcrypt.rs | 1001 -- .../winapi/src/shared/bugcodes.rs | 456 - .../winapi/src/shared/cderr.rs | 44 - .../winapi/src/shared/cfg.rs | 138 - .../winapi/src/shared/d3d9.rs | 1268 -- .../winapi/src/shared/d3d9caps.rs | 366 - .../winapi/src/shared/d3d9types.rs | 1487 --- .../winapi/src/shared/d3dkmdt.rs | 45 - .../winapi/src/shared/d3dukmdt.rs | 416 - .../winapi/src/shared/dcomptypes.rs | 50 - .../winapi/src/shared/devguid.rs | 178 - .../winapi/src/shared/devpkey.rs | 401 - .../winapi/src/shared/devpropdef.rs | 83 - .../winapi/src/shared/dinputd.rs | 21 - .../winapi/src/shared/dxgi.rs | 411 - .../winapi/src/shared/dxgi1_2.rs | 355 - .../winapi/src/shared/dxgi1_3.rs | 190 - .../winapi/src/shared/dxgi1_4.rs | 112 - .../winapi/src/shared/dxgi1_5.rs | 92 - .../winapi/src/shared/dxgi1_6.rs | 98 - .../winapi/src/shared/dxgiformat.rs | 127 - .../winapi/src/shared/dxgitype.rs | 109 - .../winapi/src/shared/evntprov.rs | 309 - .../winapi/src/shared/evntrace.rs | 990 -- .../winapi/src/shared/guiddef.rs | 36 - .../winapi/src/shared/hidclass.rs | 68 - .../winapi/src/shared/hidpi.rs | 393 - .../winapi/src/shared/hidsdi.rs | 110 - .../winapi/src/shared/hidusage.rs | 274 - .../winapi/src/shared/ifdef.rs | 22 - .../winapi/src/shared/in6addr.rs | 17 - .../winapi/src/shared/inaddr.rs | 29 - .../winapi/src/shared/intsafe.rs | 5 - .../winapi/src/shared/ks.rs | 63 - .../winapi/src/shared/ksmedia.rs | 59 - .../winapi/src/shared/ktmtypes.rs | 138 - .../winapi/src/shared/lmcons.rs | 60 - .../winapi/src/shared/minwindef.rs | 102 - .../winapi/src/shared/mmreg.rs | 309 - .../winapi/src/shared/mod.rs | 75 - .../winapi/src/shared/mstcpip.rs | 492 - .../winapi/src/shared/mswsockdef.rs | 48 - .../winapi/src/shared/netioapi.rs | 57 - .../winapi/src/shared/ntddscsi.rs | 834 -- .../winapi/src/shared/ntddser.rs | 17 - .../winapi/src/shared/ntdef.rs | 1073 -- .../winapi/src/shared/ntstatus.rs | 2574 ---- .../winapi/src/shared/qos.rs | 20 - .../winapi/src/shared/rpc.rs | 9 - .../winapi/src/shared/rpcdce.rs | 563 - .../winapi/src/shared/rpcndr.rs | 25 - .../winapi/src/shared/sddl.rs | 217 - .../winapi/src/shared/sspi.rs | 1074 -- .../winapi/src/shared/stralign.rs | 40 - .../src/shared/transportsettingcommon.rs | 10 - .../winapi/src/shared/tvout.rs | 72 - .../winapi/src/shared/usb.rs | 523 - .../winapi/src/shared/usbiodef.rs | 112 - .../winapi/src/shared/usbspec.rs | 860 -- .../winapi/src/shared/windef.rs | 125 - .../winapi/src/shared/windowsx.rs | 17 - .../winapi/src/shared/winerror.rs | 6149 --------- .../winapi/src/shared/winusbio.rs | 38 - .../winapi/src/shared/wmistr.rs | 199 - .../winapi/src/shared/wnnc.rs | 77 - .../winapi/src/shared/ws2def.rs | 556 - .../winapi/src/shared/ws2ipdef.rs | 92 - .../winapi/src/shared/wtypes.rs | 344 - .../winapi/src/shared/wtypesbase.rs | 161 - .../winapi/src/um/accctrl.rs | 371 - .../winapi/src/um/aclapi.rs | 362 - .../winapi/src/um/appmgmt.rs | 122 - .../winapi/src/um/audioclient.rs | 172 - .../winapi/src/um/audiosessiontypes.rs | 37 - .../winapi/src/um/avrt.rs | 82 - .../winapi/src/um/bits.rs | 295 - .../winapi/src/um/bits10_1.rs | 37 - .../winapi/src/um/bits1_5.rs | 70 - .../winapi/src/um/bits2_0.rs | 51 - .../winapi/src/um/bits2_5.rs | 64 - .../winapi/src/um/bits3_0.rs | 179 - .../winapi/src/um/bits4_0.rs | 32 - .../winapi/src/um/bits5_0.rs | 95 - .../winapi/src/um/bitscfg.rs | 70 - .../winapi/src/um/bitsmsg.rs | 142 - .../winapi/src/um/cfgmgr32.rs | 2077 --- .../winapi/src/um/cguid.rs | 134 - .../winapi/src/um/combaseapi.rs | 477 - .../winapi/src/um/coml2api.rs | 10 - .../winapi/src/um/commapi.rs | 87 - .../winapi/src/um/commctrl.rs | 4135 ------ .../winapi/src/um/commdlg.rs | 712 -- .../winapi/src/um/commoncontrols.rs | 232 - .../winapi/src/um/consoleapi.rs | 91 - .../winapi/src/um/corsym.rs | 89 - .../winapi/src/um/d2d1.rs | 982 -- .../winapi/src/um/d2d1_1.rs | 847 -- .../winapi/src/um/d2d1_2.rs | 68 - .../winapi/src/um/d2d1_3.rs | 698 - .../winapi/src/um/d2d1effectauthor.rs | 516 - .../winapi/src/um/d2d1effects.rs | 617 - .../winapi/src/um/d2d1effects_1.rs | 31 - .../winapi/src/um/d2d1effects_2.rs | 40 - .../winapi/src/um/d2d1svg.rs | 411 - .../winapi/src/um/d2dbasetypes.rs | 15 - .../winapi/src/um/d3d.rs | 61 - .../winapi/src/um/d3d10.rs | 57 - .../winapi/src/um/d3d10_1.rs | 11 - .../winapi/src/um/d3d10_1shader.rs | 7 - .../winapi/src/um/d3d10effect.rs | 45 - .../winapi/src/um/d3d10misc.rs | 7 - .../winapi/src/um/d3d10sdklayers.rs | 13 - .../winapi/src/um/d3d10shader.rs | 206 - .../winapi/src/um/d3d11.rs | 3420 ----- .../winapi/src/um/d3d11_1.rs | 484 - .../winapi/src/um/d3d11_2.rs | 146 - .../winapi/src/um/d3d11_3.rs | 23 - .../winapi/src/um/d3d11_4.rs | 7 - .../winapi/src/um/d3d11on12.rs | 67 - .../winapi/src/um/d3d11sdklayers.rs | 2679 ---- .../winapi/src/um/d3d11shader.rs | 477 - .../src/um/d3d11tokenizedprogramformat.rs | 1335 -- .../winapi/src/um/d3d12.rs | 2722 ---- .../winapi/src/um/d3d12sdklayers.rs | 1364 -- .../winapi/src/um/d3d12shader.rs | 347 - .../winapi/src/um/d3dcommon.rs | 744 -- .../winapi/src/um/d3dcompiler.rs | 274 - .../winapi/src/um/d3dcsx.rs | 11 - .../winapi/src/um/d3dx10core.rs | 11 - .../winapi/src/um/d3dx10math.rs | 7 - .../winapi/src/um/d3dx10mesh.rs | 19 - .../winapi/src/um/datetimeapi.rs | 60 - .../winapi/src/um/davclnt.rs | 104 - .../winapi/src/um/dbghelp.rs | 667 - .../winapi/src/um/dbt.rs | 192 - .../winapi/src/um/dcommon.rs | 114 - .../winapi/src/um/dcomp.rs | 1159 -- .../winapi/src/um/dcompanimation.rs | 38 - .../winapi/src/um/dde.rs | 20 - .../winapi/src/um/ddraw.rs | 37 - .../winapi/src/um/ddrawi.rs | 13 - .../winapi/src/um/ddrawint.rs | 41 - .../winapi/src/um/debugapi.rs | 41 - .../winapi/src/um/devicetopology.rs | 462 - .../winapi/src/um/dinput.rs | 107 - .../winapi/src/um/dispex.rs | 221 - .../winapi/src/um/dmksctl.rs | 11 - .../winapi/src/um/dmusicc.rs | 71 - .../winapi/src/um/docobj.rs | 136 - .../winapi/src/um/documenttarget.rs | 24 - .../winapi/src/um/dpa_dsa.rs | 283 - .../winapi/src/um/dpapi.rs | 100 - .../winapi/src/um/dsgetdc.rs | 267 - .../winapi/src/um/dsound.rs | 342 - .../winapi/src/um/dsrole.rs | 66 - .../winapi/src/um/dvp.rs | 25 - .../winapi/src/um/dwmapi.rs | 295 - .../winapi/src/um/dwrite.rs | 1477 --- .../winapi/src/um/dwrite_1.rs | 746 -- .../winapi/src/um/dwrite_2.rs | 293 - .../winapi/src/um/dwrite_3.rs | 578 - .../winapi/src/um/dxdiag.rs | 11 - .../winapi/src/um/dxfile.rs | 23 - .../winapi/src/um/dxgidebug.rs | 235 - .../winapi/src/um/dxva2api.rs | 706 -- .../winapi/src/um/dxvahd.rs | 555 - .../winapi/src/um/enclaveapi.rs | 64 - .../winapi/src/um/endpointvolume.rs | 123 - .../winapi/src/um/errhandlingapi.rs | 75 - .../winapi/src/um/evntcons.rs | 229 - .../winapi/src/um/exdisp.rs | 220 - .../winapi/src/um/fibersapi.rs | 23 - .../winapi/src/um/fileapi.rs | 639 - .../winapi/src/um/gl/gl.rs | 52 - .../winapi/src/um/gl/mod.rs | 7 - .../winapi/src/um/handleapi.rs | 36 - .../winapi/src/um/heapapi.rs | 92 - .../um/highlevelmonitorconfigurationapi.rs | 171 - .../winapi/src/um/http.rs | 1072 -- .../winapi/src/um/imm.rs | 42 - .../winapi/src/um/interlockedapi.rs | 31 - .../winapi/src/um/ioapiset.rs | 71 - .../winapi/src/um/jobapi.rs | 14 - .../winapi/src/um/jobapi2.rs | 63 - .../winapi/src/um/knownfolders.rs | 287 - .../winapi/src/um/ktmw32.rs | 63 - .../winapi/src/um/libloaderapi.rs | 236 - .../winapi/src/um/lmaccess.rs | 1214 -- .../winapi/src/um/lmalert.rs | 75 - .../winapi/src/um/lmapibuf.rs | 30 - .../winapi/src/um/lmat.rs | 62 - .../winapi/src/um/lmdfs.rs | 483 - .../winapi/src/um/lmerrlog.rs | 268 - .../winapi/src/um/lmjoin.rs | 232 - .../winapi/src/um/lmmsg.rs | 56 - .../winapi/src/um/lmremutl.rs | 61 - .../winapi/src/um/lmrepl.rs | 200 - .../winapi/src/um/lmserver.rs | 1255 -- .../winapi/src/um/lmshare.rs | 379 - .../winapi/src/um/lmstats.rs | 85 - .../winapi/src/um/lmsvc.rs | 180 - .../winapi/src/um/lmuse.rs | 101 - .../winapi/src/um/lmwksta.rs | 421 - .../src/um/lowlevelmonitorconfigurationapi.rs | 49 - .../winapi/src/um/lsalookup.rs | 109 - .../winapi/src/um/memoryapi.rs | 390 - .../winapi/src/um/minschannel.rs | 58 - .../winapi/src/um/minwinbase.rs | 337 - .../winapi/src/um/mmdeviceapi.rs | 218 - .../winapi/src/um/mmeapi.rs | 336 - .../winapi/src/um/mmsystem.rs | 266 - .../winapi/src/um/mod.rs | 281 - .../winapi/src/um/msaatext.rs | 59 - .../winapi/src/um/mscat.rs | 36 - .../winapi/src/um/mschapp.rs | 48 - .../winapi/src/um/mssip.rs | 255 - .../winapi/src/um/mswsock.rs | 413 - .../winapi/src/um/namedpipeapi.rs | 93 - .../winapi/src/um/namespaceapi.rs | 36 - .../winapi/src/um/nb30.rs | 214 - .../winapi/src/um/ncrypt.rs | 88 - .../winapi/src/um/ntlsa.rs | 1530 --- .../winapi/src/um/ntsecapi.rs | 1728 --- .../winapi/src/um/oaidl.rs | 879 -- .../winapi/src/um/objbase.rs | 64 - .../winapi/src/um/objidl.rs | 507 - .../winapi/src/um/objidlbase.rs | 952 -- .../winapi/src/um/ocidl.rs | 68 - .../winapi/src/um/ole2.rs | 21 - .../winapi/src/um/oleauto.rs | 836 -- .../winapi/src/um/olectl.rs | 14 - .../winapi/src/um/oleidl.rs | 43 - .../winapi/src/um/opmapi.rs | 362 - .../winapi/src/um/pdh.rs | 806 -- .../winapi/src/um/perflib.rs | 331 - .../src/um/physicalmonitorenumerationapi.rs | 43 - .../winapi/src/um/playsoundapi.rs | 46 - .../winapi/src/um/portabledevice.rs | 162 - .../winapi/src/um/portabledeviceapi.rs | 288 - .../winapi/src/um/portabledevicetypes.rs | 255 - .../winapi/src/um/powerbase.rs | 35 - .../winapi/src/um/powersetting.rs | 60 - .../winapi/src/um/powrprof.rs | 550 - .../winapi/src/um/processenv.rs | 98 - .../winapi/src/um/processsnapshot.rs | 120 - .../winapi/src/um/processthreadsapi.rs | 441 - .../winapi/src/um/processtopologyapi.rs | 23 - .../winapi/src/um/profileapi.rs | 15 - .../winapi/src/um/propidl.rs | 15 - .../winapi/src/um/propkeydef.rs | 13 - .../winapi/src/um/propsys.rs | 46 - .../winapi/src/um/prsht.rs | 361 - .../winapi/src/um/psapi.rs | 422 - .../winapi/src/um/realtimeapiset.rs | 30 - .../winapi/src/um/reason.rs | 60 - .../winapi/src/um/restartmanager.rs | 150 - .../winapi/src/um/restrictederrorinfo.rs | 20 - .../winapi/src/um/rmxfguid.rs | 67 - .../winapi/src/um/sapi.rs | 1388 -- .../winapi/src/um/sapi51.rs | 3726 ------ .../winapi/src/um/sapi53.rs | 1823 --- .../winapi/src/um/sapiddk.rs | 238 - .../winapi/src/um/sapiddk51.rs | 651 - .../winapi/src/um/schannel.rs | 339 - .../winapi/src/um/securityappcontainer.rs | 16 - .../winapi/src/um/securitybaseapi.rs | 690 - .../winapi/src/um/servprov.rs | 23 - .../winapi/src/um/setupapi.rs | 3571 ------ .../winapi/src/um/shellapi.rs | 923 -- .../winapi/src/um/shellscalingapi.rs | 44 - .../winapi/src/um/shlobj.rs | 260 - .../winapi/src/um/shobjidl.rs | 373 - .../winapi/src/um/shobjidl_core.rs | 306 - .../winapi/src/um/shtypes.rs | 44 - .../winapi/src/um/spapidef.rs | 53 - .../winapi/src/um/spellcheck.rs | 146 - .../winapi/src/um/sporder.rs | 41 - .../winapi/src/um/sql.rs | 108 - .../winapi/src/um/sqlext.rs | 95 - .../winapi/src/um/sqltypes.rs | 142 - .../winapi/src/um/sqlucode.rs | 106 - .../winapi/src/um/sspi.rs | 7 - .../winapi/src/um/stringapiset.rs | 75 - .../winapi/src/um/strmif.rs | 7 - .../winapi/src/um/subauth.rs | 204 - .../winapi/src/um/synchapi.rs | 349 - .../winapi/src/um/sysinfoapi.rs | 217 - .../winapi/src/um/systemtopologyapi.rs | 20 - .../winapi/src/um/taskschd.rs | 1233 -- .../winapi/src/um/textstor.rs | 11 - .../winapi/src/um/threadpoolapiset.rs | 171 - .../winapi/src/um/threadpoollegacyapiset.rs | 44 - .../winapi/src/um/timeapi.rs | 20 - .../winapi/src/um/timezoneapi.rs | 89 - .../winapi/src/um/tlhelp32.rs | 194 - .../winapi/src/um/unknwnbase.rs | 43 - .../winapi/src/um/urlhist.rs | 97 - .../winapi/src/um/urlmon.rs | 21 - .../winapi/src/um/userenv.rs | 159 - .../winapi/src/um/usp10.rs | 560 - .../winapi/src/um/utilapiset.rs | 25 - .../winapi/src/um/uxtheme.rs | 772 -- .../winapi/src/um/vsbackup.rs | 520 - .../winapi/src/um/vss.rs | 284 - .../winapi/src/um/vsserror.rs | 89 - .../winapi/src/um/vswriter.rs | 397 - .../winapi/src/um/wbemads.rs | 41 - .../winapi/src/um/wbemcli.rs | 1174 -- .../winapi/src/um/wbemdisp.rs | 1344 -- .../winapi/src/um/wbemprov.rs | 302 - .../winapi/src/um/wbemtran.rs | 184 - .../winapi/src/um/wct.rs | 114 - .../winapi/src/um/werapi.rs | 53 - .../winapi/src/um/winbase.rs | 2825 ----- .../winapi/src/um/wincodec.rs | 1861 --- .../winapi/src/um/wincodecsdk.rs | 564 - .../winapi/src/um/wincon.rs | 459 - .../winapi/src/um/wincontypes.rs | 114 - .../winapi/src/um/wincred.rs | 532 - .../winapi/src/um/wincrypt.rs | 7365 ----------- .../winapi/src/um/windowsceip.rs | 9 - .../winapi/src/um/winefs.rs | 178 - .../winapi/src/um/winevt.rs | 543 - .../winapi/src/um/wingdi.rs | 5591 -------- .../winapi/src/um/winhttp.rs | 658 - .../winapi/src/um/wininet.rs | 2364 ---- .../winapi/src/um/winineti.rs | 142 - .../winapi/src/um/winioctl.rs | 1076 -- .../winapi/src/um/winnetwk.rs | 446 - .../winapi/src/um/winnls.rs | 817 -- .../winapi/src/um/winnt.rs | 8622 ------------- .../winapi/src/um/winreg.rs | 490 - .../winapi/src/um/winsafer.rs | 228 - .../winapi/src/um/winscard.rs | 709 -- .../winapi/src/um/winsmcrd.rs | 166 - .../winapi/src/um/winsock2.rs | 1450 --- .../winapi/src/um/winspool.rs | 2433 ---- .../winapi/src/um/winsvc.rs | 665 - .../winapi/src/um/winusb.rs | 224 - .../winapi/src/um/winuser.rs | 7006 ---------- .../winapi/src/um/winver.rs | 53 - .../winapi/src/um/wow64apiset.rs | 27 - .../winapi/src/um/wpdmtpextensions.rs | 59 - .../winapi/src/um/ws2spi.rs | 909 -- .../winapi/src/um/ws2tcpip.rs | 346 - .../winapi/src/um/xinput.rs | 165 - .../winapi/src/vc/excpt.rs | 18 - .../winapi/src/vc/limits.rs | 7 - .../winapi/src/vc/mod.rs | 10 - .../winapi/src/vc/vadefs.rs | 8 - .../winapi/src/vc/vcruntime.rs | 9 - .../winapi/src/winrt/activation.rs | 13 - .../winapi/src/winrt/hstring.rs | 25 - .../winapi/src/winrt/inspectable.rs | 29 - .../winapi/src/winrt/mod.rs | 12 - .../winapi/src/winrt/roapi.rs | 60 - .../winapi/src/winrt/robuffer.rs | 12 - .../winapi/src/winrt/roerrorapi.rs | 103 - .../winapi/src/winrt/winstring.rs | 150 - 4064 files changed, 1 insertion(+), 442576 deletions(-) delete mode 100644 .cargo/config delete mode 100644 docs/vendoring.md delete mode 100644 vendor/.sources delete mode 100644 vendor/git-3e7c44ea7d5fd800/vm-memory/.buildkite/pipeline.linux.yml delete mode 100644 vendor/git-3e7c44ea7d5fd800/vm-memory/.buildkite/pipeline.windows.yml delete mode 100644 vendor/git-3e7c44ea7d5fd800/vm-memory/.cargo-checksum.json delete mode 100644 vendor/git-3e7c44ea7d5fd800/vm-memory/.cargo/config delete mode 100644 vendor/git-3e7c44ea7d5fd800/vm-memory/Cargo.toml delete mode 100644 vendor/git-3e7c44ea7d5fd800/vm-memory/DESIGN.md delete mode 100644 vendor/git-3e7c44ea7d5fd800/vm-memory/LICENSE delete mode 100644 vendor/git-3e7c44ea7d5fd800/vm-memory/README.md delete mode 100644 vendor/git-3e7c44ea7d5fd800/vm-memory/THIRD-PARTY delete mode 100644 vendor/git-3e7c44ea7d5fd800/vm-memory/TODO.md delete mode 100644 vendor/git-3e7c44ea7d5fd800/vm-memory/src/address.rs delete mode 100644 vendor/git-3e7c44ea7d5fd800/vm-memory/src/bytes.rs delete mode 100644 vendor/git-3e7c44ea7d5fd800/vm-memory/src/endian.rs delete mode 100644 vendor/git-3e7c44ea7d5fd800/vm-memory/src/guest_memory.rs delete mode 100644 vendor/git-3e7c44ea7d5fd800/vm-memory/src/lib.rs delete mode 100644 vendor/git-3e7c44ea7d5fd800/vm-memory/src/mmap.rs delete mode 100644 vendor/git-3e7c44ea7d5fd800/vm-memory/src/mmap_unix.rs delete mode 100644 vendor/git-3e7c44ea7d5fd800/vm-memory/src/mmap_windows.rs delete mode 100644 vendor/git-3e7c44ea7d5fd800/vm-memory/src/volatile_memory.rs delete mode 100644 vendor/git-4af8f4552cd0d200/linux-loader/.buildkite/pipeline.yml delete mode 100644 vendor/git-4af8f4552cd0d200/linux-loader/.cargo-checksum.json delete mode 100644 vendor/git-4af8f4552cd0d200/linux-loader/.gitignore/.gitignore delete mode 100644 vendor/git-4af8f4552cd0d200/linux-loader/Cargo.toml delete mode 100644 vendor/git-4af8f4552cd0d200/linux-loader/DESIGN.md delete mode 100644 vendor/git-4af8f4552cd0d200/linux-loader/LICENSE-APACHE delete mode 100644 vendor/git-4af8f4552cd0d200/linux-loader/LICENSE-BSD-3-Clause delete mode 100644 vendor/git-4af8f4552cd0d200/linux-loader/README.md delete mode 100644 vendor/git-4af8f4552cd0d200/linux-loader/src/cmdline/mod.rs delete mode 100644 vendor/git-4af8f4552cd0d200/linux-loader/src/lib.rs delete mode 100644 vendor/git-4af8f4552cd0d200/linux-loader/src/loader/bootparam.rs delete mode 100644 vendor/git-4af8f4552cd0d200/linux-loader/src/loader/elf.rs delete mode 100644 vendor/git-4af8f4552cd0d200/linux-loader/src/loader/mod.rs delete mode 100644 vendor/git-4af8f4552cd0d200/linux-loader/src/loader/struct_util.rs delete mode 100644 vendor/git-4af8f4552cd0d200/linux-loader/src/loader/test_elf.bin delete mode 100644 vendor/git-4af8f4552cd0d200/linux-loader/tests/conftest.py delete mode 100644 vendor/git-4af8f4552cd0d200/linux-loader/tests/coverage delete mode 100644 vendor/git-4af8f4552cd0d200/linux-loader/tests/test_coverage.py delete mode 100644 vendor/git-643dc7ede01ca600/vmm-sys-util/.buildkite/pipeline.yml delete mode 100644 vendor/git-643dc7ede01ca600/vmm-sys-util/.cargo-checksum.json delete mode 100644 vendor/git-643dc7ede01ca600/vmm-sys-util/.cargo/config delete mode 100644 vendor/git-643dc7ede01ca600/vmm-sys-util/Cargo.toml delete mode 100644 vendor/git-643dc7ede01ca600/vmm-sys-util/LICENSE-APACHE delete mode 100644 vendor/git-643dc7ede01ca600/vmm-sys-util/LICENSE-BSD-3-Clause delete mode 100644 vendor/git-643dc7ede01ca600/vmm-sys-util/README.md delete mode 100644 vendor/git-643dc7ede01ca600/vmm-sys-util/src/errno.rs delete mode 100644 vendor/git-643dc7ede01ca600/vmm-sys-util/src/eventfd.rs delete mode 100644 vendor/git-643dc7ede01ca600/vmm-sys-util/src/file_traits.rs delete mode 100644 vendor/git-643dc7ede01ca600/vmm-sys-util/src/ioctl.rs delete mode 100644 vendor/git-643dc7ede01ca600/vmm-sys-util/src/lib.rs delete mode 100644 vendor/git-643dc7ede01ca600/vmm-sys-util/src/poll.rs delete mode 100644 vendor/git-643dc7ede01ca600/vmm-sys-util/src/seek_hole.rs delete mode 100644 vendor/git-643dc7ede01ca600/vmm-sys-util/src/signal.rs delete mode 100644 vendor/git-643dc7ede01ca600/vmm-sys-util/src/syslog.rs delete mode 100644 vendor/git-643dc7ede01ca600/vmm-sys-util/src/tempdir.rs delete mode 100644 vendor/git-643dc7ede01ca600/vmm-sys-util/src/terminal.rs delete mode 100644 vendor/git-643dc7ede01ca600/vmm-sys-util/src/timerfd.rs delete mode 100644 vendor/git-643dc7ede01ca600/vmm-sys-util/src/write_zeroes.rs delete mode 100644 vendor/git-89548d8276566400/vm-memory/.buildkite/pipeline.linux.yml delete mode 100644 vendor/git-89548d8276566400/vm-memory/.buildkite/pipeline.windows.yml delete mode 100644 vendor/git-89548d8276566400/vm-memory/.cargo-checksum.json delete mode 100644 vendor/git-89548d8276566400/vm-memory/.cargo/config delete mode 100644 vendor/git-89548d8276566400/vm-memory/Cargo.toml delete mode 100644 vendor/git-89548d8276566400/vm-memory/DESIGN.md delete mode 100644 vendor/git-89548d8276566400/vm-memory/LICENSE delete mode 100644 vendor/git-89548d8276566400/vm-memory/README.md delete mode 100644 vendor/git-89548d8276566400/vm-memory/THIRD-PARTY delete mode 100644 vendor/git-89548d8276566400/vm-memory/TODO.md delete mode 100644 vendor/git-89548d8276566400/vm-memory/src/address.rs delete mode 100644 vendor/git-89548d8276566400/vm-memory/src/bytes.rs delete mode 100644 vendor/git-89548d8276566400/vm-memory/src/endian.rs delete mode 100644 vendor/git-89548d8276566400/vm-memory/src/guest_memory.rs delete mode 100644 vendor/git-89548d8276566400/vm-memory/src/lib.rs delete mode 100644 vendor/git-89548d8276566400/vm-memory/src/mmap.rs delete mode 100644 vendor/git-89548d8276566400/vm-memory/src/mmap_unix.rs delete mode 100644 vendor/git-89548d8276566400/vm-memory/src/mmap_windows.rs delete mode 100644 vendor/git-89548d8276566400/vm-memory/src/volatile_memory.rs delete mode 100644 vendor/git-bad78e1967b13e00/vmm-sys-util/.buildkite/pipeline.yml delete mode 100644 vendor/git-bad78e1967b13e00/vmm-sys-util/.cargo-checksum.json delete mode 100644 vendor/git-bad78e1967b13e00/vmm-sys-util/Cargo.toml delete mode 100644 vendor/git-bad78e1967b13e00/vmm-sys-util/LICENSE-APACHE delete mode 100644 vendor/git-bad78e1967b13e00/vmm-sys-util/LICENSE-BSD-3-Clause delete mode 100644 vendor/git-bad78e1967b13e00/vmm-sys-util/README.md delete mode 100644 vendor/git-bad78e1967b13e00/vmm-sys-util/src/errno.rs delete mode 100644 vendor/git-bad78e1967b13e00/vmm-sys-util/src/eventfd.rs delete mode 100644 vendor/git-bad78e1967b13e00/vmm-sys-util/src/file_traits.rs delete mode 100644 vendor/git-bad78e1967b13e00/vmm-sys-util/src/ioctl.rs delete mode 100644 vendor/git-bad78e1967b13e00/vmm-sys-util/src/lib.rs delete mode 100644 vendor/git-bad78e1967b13e00/vmm-sys-util/src/poll.rs delete mode 100644 vendor/git-bad78e1967b13e00/vmm-sys-util/src/seek_hole.rs delete mode 100644 vendor/git-bad78e1967b13e00/vmm-sys-util/src/signal.rs delete mode 100644 vendor/git-bad78e1967b13e00/vmm-sys-util/src/syslog.rs delete mode 100644 vendor/git-bad78e1967b13e00/vmm-sys-util/src/tempdir.rs delete mode 100644 vendor/git-bad78e1967b13e00/vmm-sys-util/src/terminal.rs delete mode 100644 vendor/git-bad78e1967b13e00/vmm-sys-util/src/timerfd.rs delete mode 100644 vendor/git-bad78e1967b13e00/vmm-sys-util/src/write_zeroes.rs delete mode 100644 vendor/git-bda1448fb2afcb00/linux-loader/.buildkite/hooks/post-checkout delete mode 100644 vendor/git-bda1448fb2afcb00/linux-loader/.buildkite/pipeline.yml delete mode 100644 vendor/git-bda1448fb2afcb00/linux-loader/.cargo-checksum.json delete mode 100644 vendor/git-bda1448fb2afcb00/linux-loader/.gitignore/.gitignore delete mode 100644 vendor/git-bda1448fb2afcb00/linux-loader/Cargo.toml delete mode 100644 vendor/git-bda1448fb2afcb00/linux-loader/DESIGN.md delete mode 100644 vendor/git-bda1448fb2afcb00/linux-loader/LICENSE-APACHE delete mode 100644 vendor/git-bda1448fb2afcb00/linux-loader/LICENSE-BSD-3-Clause delete mode 100644 vendor/git-bda1448fb2afcb00/linux-loader/README.md delete mode 100644 vendor/git-bda1448fb2afcb00/linux-loader/src/cmdline/mod.rs delete mode 100644 vendor/git-bda1448fb2afcb00/linux-loader/src/lib.rs delete mode 100644 vendor/git-bda1448fb2afcb00/linux-loader/src/loader/bootparam.rs delete mode 100644 vendor/git-bda1448fb2afcb00/linux-loader/src/loader/elf.rs delete mode 100644 vendor/git-bda1448fb2afcb00/linux-loader/src/loader/mod.rs delete mode 100644 vendor/git-bda1448fb2afcb00/linux-loader/src/loader/struct_util.rs delete mode 100644 vendor/git-bda1448fb2afcb00/linux-loader/src/loader/test_elf.bin delete mode 100644 vendor/git-bda1448fb2afcb00/linux-loader/tests/conftest.py delete mode 100644 vendor/git-bda1448fb2afcb00/linux-loader/tests/coverage delete mode 100644 vendor/git-bda1448fb2afcb00/linux-loader/tests/test_coverage.py delete mode 100644 vendor/registry-40351f815f426200/ansi_term/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/ansi_term/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/ansi_term/LICENCE delete mode 100644 vendor/registry-40351f815f426200/ansi_term/README.md delete mode 100644 vendor/registry-40351f815f426200/ansi_term/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/atty/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/atty/CHANGELOG.md delete mode 100644 vendor/registry-40351f815f426200/atty/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/atty/LICENSE delete mode 100644 vendor/registry-40351f815f426200/atty/README.md delete mode 100644 vendor/registry-40351f815f426200/atty/appveyor.yml delete mode 100644 vendor/registry-40351f815f426200/atty/examples/atty.rs delete mode 100644 vendor/registry-40351f815f426200/atty/rustfmt.toml delete mode 100644 vendor/registry-40351f815f426200/atty/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/autocfg/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/autocfg/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/autocfg/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/autocfg/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/autocfg/README.md delete mode 100644 vendor/registry-40351f815f426200/autocfg/examples/integers.rs delete mode 100644 vendor/registry-40351f815f426200/autocfg/examples/paths.rs delete mode 100644 vendor/registry-40351f815f426200/autocfg/examples/traits.rs delete mode 100644 vendor/registry-40351f815f426200/autocfg/examples/versions.rs delete mode 100644 vendor/registry-40351f815f426200/autocfg/src/error.rs delete mode 100644 vendor/registry-40351f815f426200/autocfg/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/autocfg/src/tests.rs delete mode 100644 vendor/registry-40351f815f426200/autocfg/src/version.rs delete mode 100644 vendor/registry-40351f815f426200/bitflags-0.9.1/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/bitflags-0.9.1/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/bitflags-0.9.1/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/bitflags-0.9.1/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/bitflags-0.9.1/README.md delete mode 100644 vendor/registry-40351f815f426200/bitflags-0.9.1/src/example_generated.rs delete mode 100644 vendor/registry-40351f815f426200/bitflags-0.9.1/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/bitflags-0.9.1/tests/conflicting_trait_impls.rs delete mode 100644 vendor/registry-40351f815f426200/bitflags-0.9.1/tests/external.rs delete mode 100644 vendor/registry-40351f815f426200/bitflags-0.9.1/tests/external_no_std.rs delete mode 100644 vendor/registry-40351f815f426200/bitflags-0.9.1/tests/i128_bitflags.rs delete mode 100644 vendor/registry-40351f815f426200/bitflags/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/bitflags/CHANGELOG.md delete mode 100644 vendor/registry-40351f815f426200/bitflags/CODE_OF_CONDUCT.md delete mode 100644 vendor/registry-40351f815f426200/bitflags/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/bitflags/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/bitflags/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/bitflags/README.md delete mode 100644 vendor/registry-40351f815f426200/bitflags/build.rs delete mode 100644 vendor/registry-40351f815f426200/bitflags/src/example_generated.rs delete mode 100644 vendor/registry-40351f815f426200/bitflags/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/byteorder/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/byteorder/CHANGELOG.md delete mode 100644 vendor/registry-40351f815f426200/byteorder/COPYING delete mode 100644 vendor/registry-40351f815f426200/byteorder/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/byteorder/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/byteorder/README.md delete mode 100644 vendor/registry-40351f815f426200/byteorder/UNLICENSE delete mode 100644 vendor/registry-40351f815f426200/byteorder/benches/bench.rs delete mode 100644 vendor/registry-40351f815f426200/byteorder/src/io.rs delete mode 100644 vendor/registry-40351f815f426200/byteorder/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/cfg-if/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/cfg-if/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/cfg-if/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/cfg-if/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/cfg-if/README.md delete mode 100644 vendor/registry-40351f815f426200/cfg-if/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/cfg-if/tests/xcrate.rs delete mode 100644 vendor/registry-40351f815f426200/clap/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/clap/CHANGELOG.md delete mode 100644 vendor/registry-40351f815f426200/clap/CONTRIBUTORS.md delete mode 100644 vendor/registry-40351f815f426200/clap/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/clap/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/clap/README.md delete mode 100644 vendor/registry-40351f815f426200/clap/SPONSORS.md delete mode 100644 vendor/registry-40351f815f426200/clap/clap-test.rs delete mode 100644 vendor/registry-40351f815f426200/clap/index.html delete mode 100644 vendor/registry-40351f815f426200/clap/justfile delete mode 100644 vendor/registry-40351f815f426200/clap/rustfmt.toml delete mode 100644 vendor/registry-40351f815f426200/clap/src/app/help.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/app/macros.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/app/meta.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/app/mod.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/app/parser.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/app/settings.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/app/usage.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/app/validator.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/args/any_arg.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/args/arg.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/args/arg_builder/base.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/args/arg_builder/flag.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/args/arg_builder/mod.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/args/arg_builder/option.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/args/arg_builder/positional.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/args/arg_builder/switched.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/args/arg_builder/valued.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/args/arg_matcher.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/args/arg_matches.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/args/group.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/args/macros.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/args/matched_arg.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/args/mod.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/args/settings.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/args/subcommand.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/completions/bash.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/completions/fish.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/completions/macros.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/completions/mod.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/completions/powershell.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/completions/shell.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/completions/zsh.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/errors.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/fmt.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/macros.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/map.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/osstringext.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/strext.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/suggestions.rs delete mode 100644 vendor/registry-40351f815f426200/clap/src/usage_parser.rs delete mode 100644 vendor/registry-40351f815f426200/cloudabi/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/cloudabi/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/cloudabi/bitflags.rs delete mode 100644 vendor/registry-40351f815f426200/cloudabi/cloudabi.rs delete mode 100644 vendor/registry-40351f815f426200/epoll/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/epoll/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/epoll/LICENSE delete mode 100644 vendor/registry-40351f815f426200/epoll/README.md delete mode 100644 vendor/registry-40351f815f426200/epoll/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/fuchsia-cprng/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/fuchsia-cprng/AUTHORS delete mode 100644 vendor/registry-40351f815f426200/fuchsia-cprng/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/fuchsia-cprng/LICENSE delete mode 100644 vendor/registry-40351f815f426200/fuchsia-cprng/PATENTS delete mode 100644 vendor/registry-40351f815f426200/fuchsia-cprng/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/kvm-bindings/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/kvm-bindings/CHANGELOG.md delete mode 100644 vendor/registry-40351f815f426200/kvm-bindings/CONTRIBUTING.md delete mode 100644 vendor/registry-40351f815f426200/kvm-bindings/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/kvm-bindings/LICENSE delete mode 100644 vendor/registry-40351f815f426200/kvm-bindings/README.md delete mode 100644 vendor/registry-40351f815f426200/kvm-bindings/src/arm/bindings_v4_14_0.rs delete mode 100644 vendor/registry-40351f815f426200/kvm-bindings/src/arm/bindings_v4_20_0.rs delete mode 100644 vendor/registry-40351f815f426200/kvm-bindings/src/arm/mod.rs delete mode 100644 vendor/registry-40351f815f426200/kvm-bindings/src/arm64/bindings_v4_14_0.rs delete mode 100644 vendor/registry-40351f815f426200/kvm-bindings/src/arm64/bindings_v4_20_0.rs delete mode 100644 vendor/registry-40351f815f426200/kvm-bindings/src/arm64/mod.rs delete mode 100644 vendor/registry-40351f815f426200/kvm-bindings/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/kvm-bindings/src/x86/bindings_v4_14_0.rs delete mode 100644 vendor/registry-40351f815f426200/kvm-bindings/src/x86/bindings_v4_20_0.rs delete mode 100644 vendor/registry-40351f815f426200/kvm-bindings/src/x86/mod.rs delete mode 100644 vendor/registry-40351f815f426200/kvm-ioctls/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/kvm-ioctls/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/kvm-ioctls/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/kvm-ioctls/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/kvm-ioctls/README.md delete mode 100644 vendor/registry-40351f815f426200/kvm-ioctls/THIRD-PARTY delete mode 100644 vendor/registry-40351f815f426200/kvm-ioctls/kvm-ioctls.iml delete mode 100644 vendor/registry-40351f815f426200/kvm-ioctls/src/cap.rs delete mode 100644 vendor/registry-40351f815f426200/kvm-ioctls/src/ioctls/device.rs delete mode 100644 vendor/registry-40351f815f426200/kvm-ioctls/src/ioctls/mod.rs delete mode 100644 vendor/registry-40351f815f426200/kvm-ioctls/src/ioctls/system.rs delete mode 100644 vendor/registry-40351f815f426200/kvm-ioctls/src/ioctls/vcpu.rs delete mode 100644 vendor/registry-40351f815f426200/kvm-ioctls/src/ioctls/vm.rs delete mode 100644 vendor/registry-40351f815f426200/kvm-ioctls/src/kvm_ioctls.rs delete mode 100644 vendor/registry-40351f815f426200/kvm-ioctls/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/kvm-ioctls/src/sys_ioctl.rs delete mode 100644 vendor/registry-40351f815f426200/kvm-ioctls/tests/conftest.py delete mode 100644 vendor/registry-40351f815f426200/kvm-ioctls/tests/coverage delete mode 100644 vendor/registry-40351f815f426200/kvm-ioctls/tests/test_coverage.py delete mode 100644 vendor/registry-40351f815f426200/libc/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/libc/CONTRIBUTING.md delete mode 100644 vendor/registry-40351f815f426200/libc/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/libc/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/libc/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/libc/README.md delete mode 100644 vendor/registry-40351f815f426200/libc/build.rs delete mode 100644 vendor/registry-40351f815f426200/libc/rustfmt.toml delete mode 100644 vendor/registry-40351f815f426200/libc/src/cloudabi/aarch64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/cloudabi/arm.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/cloudabi/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/cloudabi/x86.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/cloudabi/x86_64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/fixed_width_ints.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/fuchsia/aarch64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/fuchsia/align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/fuchsia/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/fuchsia/no_align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/fuchsia/x86_64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/hermit/aarch64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/hermit/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/hermit/x86_64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/macros.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/sgx.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/switch.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/apple/b32.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/apple/b64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/apple/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/freebsdlike/dragonfly/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/freebsdlike/freebsd/aarch64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/freebsdlike/freebsd/arm.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/freebsdlike/freebsd/freebsd11/x86_64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/freebsdlike/freebsd/freebsd12/x86_64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/freebsdlike/freebsd/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/freebsdlike/freebsd/powerpc64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/freebsdlike/freebsd/x86.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/freebsdlike/freebsd/x86_64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/freebsdlike/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/netbsdlike/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/netbsdlike/netbsd/aarch64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/netbsdlike/netbsd/arm.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/netbsdlike/netbsd/powerpc.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/netbsdlike/netbsd/sparc64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/netbsdlike/netbsd/x86.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/netbsdlike/netbsd/x86_64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/netbsdlike/openbsd/aarch64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/netbsdlike/openbsd/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/netbsdlike/openbsd/x86.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/bsd/netbsdlike/openbsd/x86_64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/haiku/b32.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/haiku/b64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/haiku/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/hermit/aarch64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/hermit/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/hermit/x86_64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/newlib/aarch64/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/newlib/align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/newlib/arm/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/newlib/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/newlib/no_align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/no_align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/android/b32/arm.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/android/b32/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/android/b32/x86.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/android/b64/aarch64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/android/b64/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/android/b64/x86_64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/android/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/emscripten/align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/emscripten/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/emscripten/no_align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/mips/align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/mips/mips32.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/mips/mips64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/mips/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/mips/no_align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/musl/b32/arm.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/musl/b32/mips.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/musl/b32/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/musl/b32/powerpc.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/musl/b32/x86.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/musl/b64/aarch64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/musl/b64/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/musl/b64/powerpc64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/musl/b64/x86_64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/musl/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/no_align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/other/align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/other/b32/arm.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/other/b32/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/other/b32/powerpc.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/other/b32/x86.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/other/b64/aarch64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/other/b64/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/other/b64/not_x32.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/other/b64/powerpc64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/other/b64/sparc64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/other/b64/x32.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/other/b64/x86_64.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/other/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/other/no_align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/s390x/align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/s390x/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/linux/s390x/no_align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/notbsd/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/redox/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/solarish/compat.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/solarish/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/uclibc/align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/uclibc/arm/align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/uclibc/arm/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/uclibc/arm/no_align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/uclibc/mips/mips32/align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/uclibc/mips/mips32/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/uclibc/mips/mips32/no_align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/uclibc/mips/mips64/align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/uclibc/mips/mips64/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/uclibc/mips/mips64/no_align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/uclibc/mips/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/uclibc/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/uclibc/no_align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/uclibc/x86_64/align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/uclibc/x86_64/l4re.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/uclibc/x86_64/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/uclibc/x86_64/no_align.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/unix/uclibc/x86_64/other.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/wasi.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/windows/gnu.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/windows/mod.rs delete mode 100644 vendor/registry-40351f815f426200/libc/src/windows/msvc.rs delete mode 100644 vendor/registry-40351f815f426200/log/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/log/CHANGELOG.md delete mode 100644 vendor/registry-40351f815f426200/log/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/log/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/log/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/log/README.md delete mode 100644 vendor/registry-40351f815f426200/log/appveyor.yml delete mode 100644 vendor/registry-40351f815f426200/log/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/log/src/macros.rs delete mode 100644 vendor/registry-40351f815f426200/log/src/serde.rs delete mode 100644 vendor/registry-40351f815f426200/log/tests/filters.rs delete mode 100644 vendor/registry-40351f815f426200/numtoa/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/numtoa/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/numtoa/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/numtoa/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/numtoa/README.md delete mode 100644 vendor/registry-40351f815f426200/numtoa/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/proc-macro2/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/proc-macro2/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/proc-macro2/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/proc-macro2/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/proc-macro2/README.md delete mode 100644 vendor/registry-40351f815f426200/proc-macro2/build.rs delete mode 100644 vendor/registry-40351f815f426200/proc-macro2/src/fallback.rs delete mode 100644 vendor/registry-40351f815f426200/proc-macro2/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/proc-macro2/src/strnom.rs delete mode 100644 vendor/registry-40351f815f426200/proc-macro2/src/wrapper.rs delete mode 100644 vendor/registry-40351f815f426200/proc-macro2/tests/marker.rs delete mode 100644 vendor/registry-40351f815f426200/proc-macro2/tests/test.rs delete mode 100644 vendor/registry-40351f815f426200/quote/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/quote/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/quote/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/quote/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/quote/README.md delete mode 100644 vendor/registry-40351f815f426200/quote/src/ext.rs delete mode 100644 vendor/registry-40351f815f426200/quote/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/quote/src/runtime.rs delete mode 100644 vendor/registry-40351f815f426200/quote/src/to_tokens.rs delete mode 100644 vendor/registry-40351f815f426200/quote/tests/conditional/integer128.rs delete mode 100644 vendor/registry-40351f815f426200/quote/tests/test.rs delete mode 100644 vendor/registry-40351f815f426200/rand/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/rand/CHANGELOG.md delete mode 100644 vendor/registry-40351f815f426200/rand/COPYRIGHT delete mode 100644 vendor/registry-40351f815f426200/rand/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/rand/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/rand/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/rand/README.md delete mode 100644 vendor/registry-40351f815f426200/rand/benches/distributions.rs delete mode 100644 vendor/registry-40351f815f426200/rand/benches/generators.rs delete mode 100644 vendor/registry-40351f815f426200/rand/benches/misc.rs delete mode 100644 vendor/registry-40351f815f426200/rand/benches/seq.rs delete mode 100644 vendor/registry-40351f815f426200/rand/build.rs delete mode 100644 vendor/registry-40351f815f426200/rand/examples/monte-carlo.rs delete mode 100644 vendor/registry-40351f815f426200/rand/examples/monty-hall.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/deprecated.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/bernoulli.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/binomial.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/cauchy.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/dirichlet.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/exponential.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/float.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/gamma.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/integer.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/mod.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/normal.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/other.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/pareto.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/poisson.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/triangular.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/uniform.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/unit_circle.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/unit_sphere.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/utils.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/weibull.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/weighted.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/distributions/ziggurat_tables.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/prelude.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/prng/mod.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/rngs/adapter/mod.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/rngs/adapter/read.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/rngs/adapter/reseeding.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/rngs/entropy.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/rngs/mock.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/rngs/mod.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/rngs/small.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/rngs/std.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/rngs/thread.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/seq/index.rs delete mode 100644 vendor/registry-40351f815f426200/rand/src/seq/mod.rs delete mode 100644 vendor/registry-40351f815f426200/rand/tests/uniformity.rs delete mode 100644 vendor/registry-40351f815f426200/rand_chacha/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/rand_chacha/CHANGELOG.md delete mode 100644 vendor/registry-40351f815f426200/rand_chacha/COPYRIGHT delete mode 100644 vendor/registry-40351f815f426200/rand_chacha/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/rand_chacha/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/rand_chacha/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/rand_chacha/README.md delete mode 100644 vendor/registry-40351f815f426200/rand_chacha/build.rs delete mode 100644 vendor/registry-40351f815f426200/rand_chacha/src/chacha.rs delete mode 100644 vendor/registry-40351f815f426200/rand_chacha/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/rand_core-0.3.1/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/rand_core-0.3.1/CHANGELOG.md delete mode 100644 vendor/registry-40351f815f426200/rand_core-0.3.1/COPYRIGHT delete mode 100644 vendor/registry-40351f815f426200/rand_core-0.3.1/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/rand_core-0.3.1/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/rand_core-0.3.1/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/rand_core-0.3.1/README.md delete mode 100644 vendor/registry-40351f815f426200/rand_core-0.3.1/src/block.rs delete mode 100644 vendor/registry-40351f815f426200/rand_core-0.3.1/src/error.rs delete mode 100644 vendor/registry-40351f815f426200/rand_core-0.3.1/src/impls.rs delete mode 100644 vendor/registry-40351f815f426200/rand_core-0.3.1/src/le.rs delete mode 100644 vendor/registry-40351f815f426200/rand_core-0.3.1/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/rand_core/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/rand_core/CHANGELOG.md delete mode 100644 vendor/registry-40351f815f426200/rand_core/COPYRIGHT delete mode 100644 vendor/registry-40351f815f426200/rand_core/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/rand_core/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/rand_core/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/rand_core/README.md delete mode 100644 vendor/registry-40351f815f426200/rand_core/src/block.rs delete mode 100644 vendor/registry-40351f815f426200/rand_core/src/error.rs delete mode 100644 vendor/registry-40351f815f426200/rand_core/src/impls.rs delete mode 100644 vendor/registry-40351f815f426200/rand_core/src/le.rs delete mode 100644 vendor/registry-40351f815f426200/rand_core/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/rand_hc/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/rand_hc/CHANGELOG.md delete mode 100644 vendor/registry-40351f815f426200/rand_hc/COPYRIGHT delete mode 100644 vendor/registry-40351f815f426200/rand_hc/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/rand_hc/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/rand_hc/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/rand_hc/README.md delete mode 100644 vendor/registry-40351f815f426200/rand_hc/src/hc128.rs delete mode 100644 vendor/registry-40351f815f426200/rand_hc/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/rand_isaac/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/rand_isaac/CHANGELOG.md delete mode 100644 vendor/registry-40351f815f426200/rand_isaac/COPYRIGHT delete mode 100644 vendor/registry-40351f815f426200/rand_isaac/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/rand_isaac/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/rand_isaac/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/rand_isaac/README.md delete mode 100644 vendor/registry-40351f815f426200/rand_isaac/src/isaac.rs delete mode 100644 vendor/registry-40351f815f426200/rand_isaac/src/isaac64.rs delete mode 100644 vendor/registry-40351f815f426200/rand_isaac/src/isaac_array.rs delete mode 100644 vendor/registry-40351f815f426200/rand_isaac/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/rand_jitter/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/rand_jitter/CHANGELOG.md delete mode 100644 vendor/registry-40351f815f426200/rand_jitter/COPYRIGHT delete mode 100644 vendor/registry-40351f815f426200/rand_jitter/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/rand_jitter/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/rand_jitter/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/rand_jitter/README.md delete mode 100644 vendor/registry-40351f815f426200/rand_jitter/benches/mod.rs delete mode 100644 vendor/registry-40351f815f426200/rand_jitter/src/dummy_log.rs delete mode 100644 vendor/registry-40351f815f426200/rand_jitter/src/error.rs delete mode 100644 vendor/registry-40351f815f426200/rand_jitter/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/rand_jitter/src/platform.rs delete mode 100644 vendor/registry-40351f815f426200/rand_jitter/tests/mod.rs delete mode 100644 vendor/registry-40351f815f426200/rand_os/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/rand_os/CHANGELOG.md delete mode 100644 vendor/registry-40351f815f426200/rand_os/COPYRIGHT delete mode 100644 vendor/registry-40351f815f426200/rand_os/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/rand_os/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/rand_os/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/rand_os/README.md delete mode 100644 vendor/registry-40351f815f426200/rand_os/src/cloudabi.rs delete mode 100644 vendor/registry-40351f815f426200/rand_os/src/dragonfly_haiku_emscripten.rs delete mode 100644 vendor/registry-40351f815f426200/rand_os/src/dummy_log.rs delete mode 100644 vendor/registry-40351f815f426200/rand_os/src/freebsd.rs delete mode 100644 vendor/registry-40351f815f426200/rand_os/src/fuchsia.rs delete mode 100644 vendor/registry-40351f815f426200/rand_os/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/rand_os/src/linux_android.rs delete mode 100644 vendor/registry-40351f815f426200/rand_os/src/macos.rs delete mode 100644 vendor/registry-40351f815f426200/rand_os/src/netbsd.rs delete mode 100644 vendor/registry-40351f815f426200/rand_os/src/openbsd_bitrig.rs delete mode 100644 vendor/registry-40351f815f426200/rand_os/src/random_device.rs delete mode 100644 vendor/registry-40351f815f426200/rand_os/src/redox.rs delete mode 100644 vendor/registry-40351f815f426200/rand_os/src/sgx.rs delete mode 100644 vendor/registry-40351f815f426200/rand_os/src/solarish.rs delete mode 100644 vendor/registry-40351f815f426200/rand_os/src/wasm32_bindgen.rs delete mode 100644 vendor/registry-40351f815f426200/rand_os/src/wasm32_stdweb.rs delete mode 100644 vendor/registry-40351f815f426200/rand_os/src/windows.rs delete mode 100644 vendor/registry-40351f815f426200/rand_os/tests/mod.rs delete mode 100644 vendor/registry-40351f815f426200/rand_pcg/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/rand_pcg/CHANGELOG.md delete mode 100644 vendor/registry-40351f815f426200/rand_pcg/COPYRIGHT delete mode 100644 vendor/registry-40351f815f426200/rand_pcg/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/rand_pcg/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/rand_pcg/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/rand_pcg/README.md delete mode 100644 vendor/registry-40351f815f426200/rand_pcg/build.rs delete mode 100644 vendor/registry-40351f815f426200/rand_pcg/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/rand_pcg/src/pcg128.rs delete mode 100644 vendor/registry-40351f815f426200/rand_pcg/src/pcg64.rs delete mode 100644 vendor/registry-40351f815f426200/rand_pcg/tests/lcg64xsh32.rs delete mode 100644 vendor/registry-40351f815f426200/rand_pcg/tests/mcg128xsl64.rs delete mode 100644 vendor/registry-40351f815f426200/rand_xorshift/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/rand_xorshift/CHANGELOG.md delete mode 100644 vendor/registry-40351f815f426200/rand_xorshift/COPYRIGHT delete mode 100644 vendor/registry-40351f815f426200/rand_xorshift/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/rand_xorshift/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/rand_xorshift/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/rand_xorshift/README.md delete mode 100644 vendor/registry-40351f815f426200/rand_xorshift/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/rand_xorshift/tests/mod.rs delete mode 100644 vendor/registry-40351f815f426200/rdrand/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/rdrand/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/rdrand/LICENSE delete mode 100644 vendor/registry-40351f815f426200/rdrand/README.mkd delete mode 100644 vendor/registry-40351f815f426200/rdrand/appveyor.yml delete mode 100644 vendor/registry-40351f815f426200/rdrand/benches/rdrand.rs delete mode 100644 vendor/registry-40351f815f426200/rdrand/benches/rdseed.rs delete mode 100644 vendor/registry-40351f815f426200/rdrand/benches/std.rs delete mode 100644 vendor/registry-40351f815f426200/rdrand/src/changelog.rs delete mode 100644 vendor/registry-40351f815f426200/rdrand/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/LICENSE delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/README.md delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/src/arch/aarch64.rs delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/src/arch/arm.rs delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/src/arch/x86.rs delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/src/arch/x86_64.rs delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/src/call.rs delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/src/data.rs delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/src/error.rs delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/src/flag.rs delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/src/io/dma.rs delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/src/io/io.rs delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/src/io/mmio.rs delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/src/io/mod.rs delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/src/io/pio.rs delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/src/number.rs delete mode 100755 vendor/registry-40351f815f426200/redox_syscall/src/scheme/generate.sh delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/src/scheme/mod.rs delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/src/scheme/scheme.rs delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/src/scheme/scheme_block.rs delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/src/scheme/scheme_block_mut.rs delete mode 100644 vendor/registry-40351f815f426200/redox_syscall/src/scheme/scheme_mut.rs delete mode 100644 vendor/registry-40351f815f426200/redox_termios/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/redox_termios/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/redox_termios/LICENSE delete mode 100644 vendor/registry-40351f815f426200/redox_termios/README.md delete mode 100644 vendor/registry-40351f815f426200/redox_termios/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/remain/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/remain/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/remain/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/remain/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/remain/README.md delete mode 100644 vendor/registry-40351f815f426200/remain/src/check.rs delete mode 100644 vendor/registry-40351f815f426200/remain/src/compare.rs delete mode 100644 vendor/registry-40351f815f426200/remain/src/emit.rs delete mode 100644 vendor/registry-40351f815f426200/remain/src/format.rs delete mode 100644 vendor/registry-40351f815f426200/remain/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/remain/src/parse.rs delete mode 100644 vendor/registry-40351f815f426200/remain/src/visit.rs delete mode 100644 vendor/registry-40351f815f426200/remain/tests/compiletest.rs delete mode 100644 vendor/registry-40351f815f426200/remain/tests/stable.rs delete mode 100644 vendor/registry-40351f815f426200/remain/tests/ui/enum.rs delete mode 100644 vendor/registry-40351f815f426200/remain/tests/ui/enum.stderr delete mode 100644 vendor/registry-40351f815f426200/remain/tests/ui/let-stable.rs delete mode 100644 vendor/registry-40351f815f426200/remain/tests/ui/let-stable.stderr delete mode 100644 vendor/registry-40351f815f426200/remain/tests/ui/let-unstable.rs delete mode 100644 vendor/registry-40351f815f426200/remain/tests/ui/let-unstable.stderr delete mode 100644 vendor/registry-40351f815f426200/remain/tests/ui/match-stable.rs delete mode 100644 vendor/registry-40351f815f426200/remain/tests/ui/match-stable.stderr delete mode 100644 vendor/registry-40351f815f426200/remain/tests/ui/match-unstable.rs delete mode 100644 vendor/registry-40351f815f426200/remain/tests/ui/match-unstable.stderr delete mode 100644 vendor/registry-40351f815f426200/remain/tests/ui/struct.rs delete mode 100644 vendor/registry-40351f815f426200/remain/tests/ui/struct.stderr delete mode 100644 vendor/registry-40351f815f426200/remain/tests/ui/unnamed-fields.rs delete mode 100644 vendor/registry-40351f815f426200/remain/tests/ui/unnamed-fields.stderr delete mode 100644 vendor/registry-40351f815f426200/remain/tests/ui/unsupported.rs delete mode 100644 vendor/registry-40351f815f426200/remain/tests/ui/unsupported.stderr delete mode 100644 vendor/registry-40351f815f426200/remain/tests/unstable.rs delete mode 100644 vendor/registry-40351f815f426200/remove_dir_all/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/remove_dir_all/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/remove_dir_all/LICENCE-APACHE delete mode 100644 vendor/registry-40351f815f426200/remove_dir_all/LICENCE-MIT delete mode 100644 vendor/registry-40351f815f426200/remove_dir_all/src/fs.rs delete mode 100644 vendor/registry-40351f815f426200/remove_dir_all/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/serde/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/serde/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/serde/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/serde/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/serde/README.md delete mode 100644 vendor/registry-40351f815f426200/serde/build.rs delete mode 100644 vendor/registry-40351f815f426200/serde/crates-io.md delete mode 100644 vendor/registry-40351f815f426200/serde/src/de/from_primitive.rs delete mode 100644 vendor/registry-40351f815f426200/serde/src/de/ignored_any.rs delete mode 100644 vendor/registry-40351f815f426200/serde/src/de/impls.rs delete mode 100644 vendor/registry-40351f815f426200/serde/src/de/mod.rs delete mode 100644 vendor/registry-40351f815f426200/serde/src/de/utf8.rs delete mode 100644 vendor/registry-40351f815f426200/serde/src/de/value.rs delete mode 100644 vendor/registry-40351f815f426200/serde/src/export.rs delete mode 100644 vendor/registry-40351f815f426200/serde/src/integer128.rs delete mode 100644 vendor/registry-40351f815f426200/serde/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/serde/src/macros.rs delete mode 100644 vendor/registry-40351f815f426200/serde/src/private/de.rs delete mode 100644 vendor/registry-40351f815f426200/serde/src/private/macros.rs delete mode 100644 vendor/registry-40351f815f426200/serde/src/private/mod.rs delete mode 100644 vendor/registry-40351f815f426200/serde/src/private/ser.rs delete mode 100644 vendor/registry-40351f815f426200/serde/src/ser/impls.rs delete mode 100644 vendor/registry-40351f815f426200/serde/src/ser/impossible.rs delete mode 100644 vendor/registry-40351f815f426200/serde/src/ser/mod.rs delete mode 100644 vendor/registry-40351f815f426200/strsim/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/strsim/CHANGELOG.md delete mode 100644 vendor/registry-40351f815f426200/strsim/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/strsim/LICENSE delete mode 100644 vendor/registry-40351f815f426200/strsim/README.md delete mode 100644 vendor/registry-40351f815f426200/strsim/appveyor.yml delete mode 100755 vendor/registry-40351f815f426200/strsim/dev delete mode 100644 vendor/registry-40351f815f426200/strsim/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/strsim/tests/lib.rs delete mode 100644 vendor/registry-40351f815f426200/syn/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/syn/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/syn/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/syn/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/syn/README.md delete mode 100644 vendor/registry-40351f815f426200/syn/build.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/attr.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/buffer.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/custom_keyword.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/custom_punctuation.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/data.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/derive.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/error.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/export.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/expr.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/ext.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/file.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/gen/fold.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/gen/visit.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/gen/visit_mut.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/gen_helper.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/generics.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/group.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/ident.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/item.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/keyword.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/lifetime.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/lit.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/lookahead.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/mac.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/macros.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/op.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/parse.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/parse_macro_input.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/parse_quote.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/path.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/print.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/punctuated.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/sealed.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/span.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/spanned.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/thread.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/token.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/tt.rs delete mode 100644 vendor/registry-40351f815f426200/syn/src/ty.rs delete mode 100644 vendor/registry-40351f815f426200/tempfile/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/tempfile/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/tempfile/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/tempfile/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/tempfile/NEWS delete mode 100644 vendor/registry-40351f815f426200/tempfile/README.md delete mode 100644 vendor/registry-40351f815f426200/tempfile/src/dir.rs delete mode 100644 vendor/registry-40351f815f426200/tempfile/src/error.rs delete mode 100644 vendor/registry-40351f815f426200/tempfile/src/file/imp/mod.rs delete mode 100644 vendor/registry-40351f815f426200/tempfile/src/file/imp/other.rs delete mode 100644 vendor/registry-40351f815f426200/tempfile/src/file/imp/unix.rs delete mode 100644 vendor/registry-40351f815f426200/tempfile/src/file/imp/windows.rs delete mode 100644 vendor/registry-40351f815f426200/tempfile/src/file/mod.rs delete mode 100644 vendor/registry-40351f815f426200/tempfile/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/tempfile/src/spooled.rs delete mode 100644 vendor/registry-40351f815f426200/tempfile/src/util.rs delete mode 100644 vendor/registry-40351f815f426200/tempfile/tests/namedtempfile.rs delete mode 100644 vendor/registry-40351f815f426200/tempfile/tests/spooled.rs delete mode 100644 vendor/registry-40351f815f426200/tempfile/tests/tempdir.rs delete mode 100644 vendor/registry-40351f815f426200/tempfile/tests/tempfile.rs delete mode 100644 vendor/registry-40351f815f426200/termion/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/termion/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/termion/LICENSE delete mode 100644 vendor/registry-40351f815f426200/termion/README.md delete mode 100644 vendor/registry-40351f815f426200/termion/examples/alternate_screen.rs delete mode 100644 vendor/registry-40351f815f426200/termion/examples/alternate_screen_raw.rs delete mode 100644 vendor/registry-40351f815f426200/termion/examples/async.rs delete mode 100644 vendor/registry-40351f815f426200/termion/examples/click.rs delete mode 100644 vendor/registry-40351f815f426200/termion/examples/color.rs delete mode 100644 vendor/registry-40351f815f426200/termion/examples/commie.rs delete mode 100644 vendor/registry-40351f815f426200/termion/examples/detect_color.rs delete mode 100644 vendor/registry-40351f815f426200/termion/examples/is_tty.rs delete mode 100644 vendor/registry-40351f815f426200/termion/examples/keys.rs delete mode 100644 vendor/registry-40351f815f426200/termion/examples/mouse.rs delete mode 100644 vendor/registry-40351f815f426200/termion/examples/rainbow.rs delete mode 100644 vendor/registry-40351f815f426200/termion/examples/read.rs delete mode 100644 vendor/registry-40351f815f426200/termion/examples/rustc_fun.rs delete mode 100644 vendor/registry-40351f815f426200/termion/examples/simple.rs delete mode 100644 vendor/registry-40351f815f426200/termion/examples/size.rs delete mode 100644 vendor/registry-40351f815f426200/termion/examples/truecolor.rs delete mode 100644 vendor/registry-40351f815f426200/termion/logo.svg delete mode 100644 vendor/registry-40351f815f426200/termion/src/async.rs delete mode 100644 vendor/registry-40351f815f426200/termion/src/clear.rs delete mode 100644 vendor/registry-40351f815f426200/termion/src/color.rs delete mode 100644 vendor/registry-40351f815f426200/termion/src/cursor.rs delete mode 100644 vendor/registry-40351f815f426200/termion/src/event.rs delete mode 100644 vendor/registry-40351f815f426200/termion/src/input.rs delete mode 100644 vendor/registry-40351f815f426200/termion/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/termion/src/macros.rs delete mode 100644 vendor/registry-40351f815f426200/termion/src/raw.rs delete mode 100644 vendor/registry-40351f815f426200/termion/src/screen.rs delete mode 100644 vendor/registry-40351f815f426200/termion/src/scroll.rs delete mode 100644 vendor/registry-40351f815f426200/termion/src/style.rs delete mode 100644 vendor/registry-40351f815f426200/termion/src/sys/redox/attr.rs delete mode 100644 vendor/registry-40351f815f426200/termion/src/sys/redox/mod.rs delete mode 100644 vendor/registry-40351f815f426200/termion/src/sys/redox/size.rs delete mode 100644 vendor/registry-40351f815f426200/termion/src/sys/redox/tty.rs delete mode 100644 vendor/registry-40351f815f426200/termion/src/sys/unix/attr.rs delete mode 100644 vendor/registry-40351f815f426200/termion/src/sys/unix/mod.rs delete mode 100644 vendor/registry-40351f815f426200/termion/src/sys/unix/size.rs delete mode 100644 vendor/registry-40351f815f426200/termion/src/sys/unix/tty.rs delete mode 100644 vendor/registry-40351f815f426200/textwrap/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/textwrap/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/textwrap/LICENSE delete mode 100644 vendor/registry-40351f815f426200/textwrap/README.md delete mode 100644 vendor/registry-40351f815f426200/textwrap/benches/linear.rs delete mode 100644 vendor/registry-40351f815f426200/textwrap/examples/layout.rs delete mode 100644 vendor/registry-40351f815f426200/textwrap/examples/termwidth.rs delete mode 100644 vendor/registry-40351f815f426200/textwrap/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/textwrap/tests/version-numbers.rs delete mode 100644 vendor/registry-40351f815f426200/unicode-width/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/unicode-width/COPYRIGHT delete mode 100644 vendor/registry-40351f815f426200/unicode-width/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/unicode-width/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/unicode-width/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/unicode-width/README.md delete mode 100755 vendor/registry-40351f815f426200/unicode-width/scripts/unicode.py delete mode 100644 vendor/registry-40351f815f426200/unicode-width/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/unicode-width/src/tables.rs delete mode 100644 vendor/registry-40351f815f426200/unicode-width/src/tests.rs delete mode 100644 vendor/registry-40351f815f426200/unicode-xid/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/unicode-xid/COPYRIGHT delete mode 100644 vendor/registry-40351f815f426200/unicode-xid/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/unicode-xid/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/unicode-xid/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/unicode-xid/README.md delete mode 100755 vendor/registry-40351f815f426200/unicode-xid/scripts/unicode.py delete mode 100644 vendor/registry-40351f815f426200/unicode-xid/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/unicode-xid/src/tables.rs delete mode 100644 vendor/registry-40351f815f426200/unicode-xid/src/tests.rs delete mode 100644 vendor/registry-40351f815f426200/vec_map/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/vec_map/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/vec_map/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/vec_map/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/vec_map/README.md delete mode 100644 vendor/registry-40351f815f426200/vec_map/deploy-docs.sh delete mode 100644 vendor/registry-40351f815f426200/vec_map/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/build.rs delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_aclui.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_activeds.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_advapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_advpack.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_amsi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_api-ms-win-net-isolation-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_apidll.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_appmgmts.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_appnotify.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_asycfilt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_audioeng.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_authz.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_avifil32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_avrt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_basesrv.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_bcrypt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_bluetoothapis.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_bthprops.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_cabinet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_certadm.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_certpoleng.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_cfgmgr32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_chakrart.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_cldapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_clfsw32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_clusapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_comctl32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_comdlg32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_comppkgsup.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_compstui.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_comsvcs.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_coremessaging.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_credui.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_crypt32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_cryptdll.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_cryptnet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_cryptui.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_cryptxml.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_cscapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_cscdll.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d2d1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d3d10.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d3d10_1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d3d11.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d3d12.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d3d9.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d3dcompiler.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d3dcsx.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d3dcsxd.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_davclnt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dbgeng.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dbghelp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dciman32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dcomp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ddraw.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_deviceaccess.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_devmgr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dflayout.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dhcpcsvc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dhcpcsvc6.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dhcpsapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_difxapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dinput8.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dmprocessxmlfiltered.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dnsapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dnsperf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dnsrslvr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dpx.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_drt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_drtprov.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_drttransport.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dsound.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dsprop.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dssec.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dststlog.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dsuiext.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dwmapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dwrite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dxgi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dxva2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_eappcfg.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_eappprxy.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_easregprov.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_efswrt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_elscore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_esent.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_evr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_faultrep.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_feclient.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_fhsvcctl.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_fltlib.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_fontsub.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_framedyd.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_framedyn.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_fwpuclnt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_fxsutility.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_gdi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_gdiplus.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_glmf32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_glu32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_gpedit.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_hbaapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_hid.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_hlink.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_hrtfapo.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_httpapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_iashlpr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_icm32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_icmui.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_icuin.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_icuuc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_imagehlp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_imgutil.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_imm32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_infocardapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_inkobjcore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_inseng.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_iphlpapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_iprop.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_irprops.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_iscsidsc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_jsrt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_kernel32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ksproxy.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ksuser.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ktmw32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_loadperf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_lz32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_magnification.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mciole32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mdmlocalmanagement.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mdmregistration.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mfcore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mfplat.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mfplay.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mfreadwrite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mfsensorgroup.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mfsrcsnk.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mgmtapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-midlproxystub-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-comm-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-comm-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-console-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-console-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-datetime-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-datetime-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-datetime-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-debug-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-debug-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-debug-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-delayload-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-delayload-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-fibers-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-fibers-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l2-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l2-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-firmware-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-handle-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-heap-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-heap-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-interlocked-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-interlocked-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-io-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-io-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-job-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-libraryloader-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-localization-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-localization-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-localization-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-localization-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-5.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-namedpipe-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-namedpipe-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-namedpipe-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-namespace-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-path-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processenvironment-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processenvironment-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processsnapshot-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processtopology-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-profile-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-psapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-quirks-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-quirks-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-realtime-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-realtime-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-realtime-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-registry-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-registry-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-registry-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-rtlsupport-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-rtlsupport-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-shutdown-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-shutdown-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-string-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-string-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-string-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-synch-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-synch-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-synch-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-systemtopology-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-systemtopology-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-threadpool-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-timezone-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-util-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-util-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-version-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-version-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-error-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-error-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-string-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-string-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-xstate-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-devices-config-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-devices-config-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-devices-swdevice-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-devices-swdevice-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-classicprovider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-consumer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-consumer-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-controller-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-provider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-power-base-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-power-setting-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-appcontainer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-base-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-base-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-base-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-base-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-credentials-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-lsalookup-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-lsalookup-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-sddl-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-core-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-core-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-core-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-management-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-management-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-winsvc-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-authz.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-bcrypt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-cabinet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-crypt32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-cryptbase.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-cryptnet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-dfscli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-dnsapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-dsparse.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-dsrole.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-iphlpapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-logoncli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-mpr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-mswsock.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-ncrypt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-netutils.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-oleaut32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-rpcrt4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-samcli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-schedcli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-srvcli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-sspicli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-userenv.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-websocket.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-winhttp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-wkscli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-wldap32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-ws2_32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-advapi32-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-advapi32-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-normaliz-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-ole32-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-shell32-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-shlwapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-shlwapi-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-user32-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-version-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mmdevapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mpr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mprapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mprsnap.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mqrt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mrmsupport.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msacm32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msajapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mscms.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msctfmonitor.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msdelta.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msdmo.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msdrm.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msimg32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mspatcha.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mspatchc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msports.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msrating.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mstask.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msv1_0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msvfw32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mswsock.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mtx.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mtxdm.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ncrypt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_nddeapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ndfapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_netapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_netsh.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_newdev.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ninput.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_normaliz.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ntdll.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ntdsa.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ntdsapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ntdsatq.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ntdsetup.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ntfrsapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ntlanman.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ntmarta.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ntquery.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ntvdm.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_odbc32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_odbcbcp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_oemlicense.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ole32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_oleacc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_oleaut32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_olecli32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_oledlg.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_olepro32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_olesvr32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ondemandconnroutehelper.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-atoms-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-calendar-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-com-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-com-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-com-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-com-midlproxystub-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-comm-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-comm-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-console-ansi-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-console-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-console-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-console-l3-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-datetime-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-datetime-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-datetime-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-debug-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-debug-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-debug-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-delayload-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-delayload-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-enclave-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-enclave-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-featurestaging-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-featurestaging-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-fibers-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-fibers-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-fibers-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-fibers-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-ansi-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l2-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l2-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-firmware-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-handle-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-heap-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-heap-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-heap-obsolete-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-interlocked-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-interlocked-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-io-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-io-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-job-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-job-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-job-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-5.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-6.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-largeinteger-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-obsolete-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-5.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-ansi-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namespace-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namespace-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-normalization-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-path-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-perfcounters-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-privateprofile-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-privateprofile-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processenvironment-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processenvironment-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processenvironment-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processsnapshot-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processtopology-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processtopology-obsolete-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processtopology-obsolete-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-profile-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-psapi-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-psapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-quirks-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-quirks-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-realtime-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-realtime-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-realtime-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-registry-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-registry-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-registry-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-registry-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-rtlsupport-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-rtlsupport-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-shutdown-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-shutdown-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-shutdown-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sidebyside-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sidebyside-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-string-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-string-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-string-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-string-obsolete-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-string-obsolete-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-stringansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-synch-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-synch-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-synch-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-synch-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-systemtopology-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-systemtopology-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-threadpool-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-threadpool-legacy-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-timezone-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-toolhelp-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-toolhelp-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-url-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-util-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-util-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-version-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-version-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-versionansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-versionansi-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-windowsceip-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-error-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-error-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-registration-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-robuffer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-string-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-string-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-wow64-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-wow64-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-wow64-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-xstate-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-devices-config-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-devices-config-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-devices-swdevice-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-devices-swdevice-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-classicprovider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-consumer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-consumer-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-controller-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-legacy-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-obsolete-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-provider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-tdh-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-gaming-deviceinformation-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-mm-time-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-oobe-notification-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-perf-legacy-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-power-base-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-power-limitsmanagement-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-power-setting-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-ro-typeresolution-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-appcontainer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-credentials-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-cryptoapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-isolatedcontainer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-lsalookup-ansi-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-lsalookup-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-lsalookup-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-provider-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-provider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-sddl-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-sddl-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-systemfunctions-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-ansi-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-management-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-management-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-winsvc-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-path-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-registry-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-registry-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-stream-winrt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-sysinfo-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-unicodeansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shell-shdirectory-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-authz.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-bcrypt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-cabinet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-crypt32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-cryptbase.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-cryptnet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-dfscli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-dnsapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-dsparse.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-dsrole.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-fltlib.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-iphlpapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-logoncli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-mpr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-mswsock.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-ncrypt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-netutils.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-ntdll.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-oleaut32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-powrprof.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-profapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-rpcrt4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-samcli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-schedcli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-srvcli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-sspicli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-tokenbinding.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-userenv.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-websocket.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-winhttp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-wkscli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-wldap32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-ws2_32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-xmllite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-advapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-apphelp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-comctl32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-comdlg32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-d3d10.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-d3d9.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-d3dx10_47.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-difxapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-gdi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-input.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-kernel32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-msi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-newdev.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-ole32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-oleacc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-oleaut32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-oledlg.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-pdh.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-psapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-resutils.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-rstrtmgr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-secur32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-setupapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-shell32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-shlwapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-tdh.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-twinapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-user32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-uxtheme.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-version.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-winmm.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-winspool.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-wtsapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-xinput1_4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-atoms-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-calendar-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-com-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-com-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-com-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-com-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-com-midlproxystub-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-comm-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-comm-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-console-ansi-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-console-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-console-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-console-l3-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-delayload-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-delayload-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-enclave-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-enclave-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-featurestaging-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-featurestaging-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-ansi-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-firmware-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-handle-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-heap-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-heap-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-heap-obsolete-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-interlocked-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-interlocked-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-io-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-io-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-job-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-job-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-job-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-5.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-6.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-largeinteger-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-obsolete-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-5.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-ansi-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namespace-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namespace-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-normalization-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-path-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-perfcounters-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-privateprofile-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-privateprofile-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processsnapshot-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-obsolete-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-obsolete-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-profile-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-psapi-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-psapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-psm-appnotify-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-quirks-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-quirks-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-registry-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-rtlsupport-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-rtlsupport-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sidebyside-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sidebyside-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-slapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-obsolete-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-obsolete-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-stringansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-synch-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-synch-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-synch-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-synch-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-systemtopology-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-systemtopology-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-threadpool-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-threadpool-legacy-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-timezone-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-toolhelp-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-toolhelp-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-url-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-util-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-util-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-version-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-version-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-versionansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-versionansi-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-windowsceip-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-error-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-error-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-registration-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-robuffer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-string-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-string-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-xstate-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-devices-config-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-devices-config-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-devices-swdevice-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-devices-swdevice-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-classicprovider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-consumer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-consumer-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-controller-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-legacy-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-obsolete-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-provider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-tdh-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-deviceinformation-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-expandedresources-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-gamemonitor-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-gamemonitor-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-mm-misc-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-mm-misc-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-mm-mme-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-mm-playsound-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-mm-time-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-ntuser-sysparams-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-oobe-notification-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-perf-legacy-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-power-base-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-power-limitsmanagement-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-power-setting-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-ro-typeresolution-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-appcontainer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-credentials-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-cryptoapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-isolatedcontainer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-lsalookup-ansi-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-lsalookup-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-lsalookup-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-provider-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-provider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-sddl-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-sddl-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-systemfunctions-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-ansi-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-management-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-management-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-winsvc-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-path-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-registry-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-registry-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-stream-winrt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-sysinfo-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-unicodeansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shell-namespace-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shell-shdirectory-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-authz.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-bcrypt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-cabinet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-chakra.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-coremessaging.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-crypt32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-cryptbase.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-cryptnet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-d2d1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-d3d11.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-d3d12.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-d3dcompiler_47.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-deviceaccess.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-dfscli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-dhcpcsvc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-dhcpcsvc6.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-dnsapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-dsparse.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-dsrole.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-dwrite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-dxgi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-esent.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-core-iuri-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-gaming-xinput-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-networking-wlanapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-shell32-shellfolders-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-shell32-shellfolders-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-fltlib.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-hid.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-hrtfapo.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-inkobjcore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-iphlpapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-logoncli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-mf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-mfplat.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-mfreadwrite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-mfsensorgroup.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-mmdevapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-mpr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-msajapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-mswsock.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ncrypt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-netutils.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ntdll.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-oleaut32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-powrprof.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-profapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-propsys.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-rometadata.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-rpcrt4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-samcli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-schedcli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-srvcli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-sspicli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-tokenbinding.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-uiautomationcore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-urlmon.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-userenv.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-webservices.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-websocket.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-windows.data.pdf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-windows.networking.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-windowscodecs.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-winhttp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-wintrust.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-wkscli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-wlanapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-wldap32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-wpprecorderum.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ws2_32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-xaudio2_9.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-xmllite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-advapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-apphelp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-comctl32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-comdlg32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-d3d10.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-d3d9.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-d3dx10_47.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-difxapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-gdi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-input.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-kernel32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-msi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-newdev.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-ole32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-oleacc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-oleaut32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-oledlg.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-pdh.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-psapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-resutils.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-rstrtmgr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-secur32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-setupapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-shell32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-shlwapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-tdh.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-twinapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-user32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-uxtheme.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-version.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-winmm.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-winspool.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-wtsapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-xinput1_4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_opengl32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_p2p.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_p2pgraph.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_pathcch.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_pdh.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_peerdist.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_powrprof.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_prntvpt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_propsys.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_psapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_quartz.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_query.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_qwave.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_rasapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_rasdlg.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_resutils.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_rometadata.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_rpcexts.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_rpcns4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_rpcproxy.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_rpcrt4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_rstrtmgr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_rtm.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_rtutils.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_rtworkq.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-error-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-error-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-registration-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-robuffer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-string-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-ro-typeresolution-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_samlib.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_samsrv.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_sas.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_scarddlg.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_scecli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_scesrv.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_schannel.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_secur32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_security.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_sens.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_sensapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_sensorsutils.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_setupapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_sfc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-core-featurestaging-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-core-featurestaging-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-shcore-scaling-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-shcore-scaling-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-shcore-scaling-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-shcore-stream-winrt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_shcore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_shdocvw.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_shell32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_shfolder.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_shlwapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_slc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_slcext.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_slwga.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_snmpapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_spoolss.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_sporder.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_srpapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ssdpapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_sti.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_swdevice.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_synchronization.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_t2embed.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_tapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_tbs.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_tdh.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_thunk32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_tokenbinding.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_traffic.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_tsec.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_twain_32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_txfw32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ualapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_uiautomationcore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_umpdddi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_urlmon.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_user32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_userenv.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_usp10.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_uxtheme.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_vdmdbg.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_version.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_vfw32-avicap32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_vfw32-avifil32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_vfw32-msvfw32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_vfw32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_virtdisk.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_vssapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wcmapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wdsbp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wdsclientapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wdsmc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wdspxe.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wdstptc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_webservices.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_websocket.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wecapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wer.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wevtapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wiaservc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winbio.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windows.data.pdf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windows.networking.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windows.ui.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-appmodel-runtime-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-appmodel-runtime-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-com-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-com-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-com-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-com-midlproxystub-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-comm-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-comm-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-console-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-console-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-datetime-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-datetime-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-debug-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-delayload-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-delayload-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-enclave-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-featurestaging-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-featurestaging-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-fibers-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-fibers-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-fibers-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-fibers-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-ansi-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-l2-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-handle-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-heap-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-heap-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-heap-obsolete-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-interlocked-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-interlocked-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-io-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-io-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-kernel32-legacy-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-largeinteger-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-libraryloader-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-libraryloader-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-obsolete-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-ansi-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namespace-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namespace-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-normalization-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-path-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processenvironment-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processtopology-obsolete-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-profile-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-psapi-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-psapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-psm-appnotify-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-rtlsupport-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-rtlsupport-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-slapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-string-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-synch-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-synch-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-synch-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-synch-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-sysinfo-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-sysinfo-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-sysinfo-l1-2-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-threadpool-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-timezone-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-url-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-util-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-version-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-versionansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-windowsceip-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-windowserrorreporting-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-windowserrorreporting-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-windowserrorreporting-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-error-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-error-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-registration-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-robuffer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-string-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-wow64-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-xstate-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-classicprovider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-consumer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-controller-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-legacy-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-provider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-deviceinformation-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-expandedresources-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-gamemonitor-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-gamemonitor-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-ro-typeresolution-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-base-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-base-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-base-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-cryptoapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-isolatedcontainer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-lsalookup-ansi-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-lsalookup-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-provider-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-provider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-sddl-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-sddl-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-shcore-stream-winrt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-bcrypt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-cabinet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-chakra.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-coremessaging.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-crypt32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-d2d1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-d3d11.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-d3d12.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-d3dcompiler_47.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-deviceaccess.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-dhcpcsvc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-dhcpcsvc6.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-dwrite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-dxgi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-esent.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-core-iuri-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-gaming-xinput-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-hrtfapo.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-inkobjcore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-iphlpapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-mf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-mfplat.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-mfreadwrite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-mfsensorgroup.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-mmdevapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-msajapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-mswsock.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-ncrypt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-ntdll.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-oleaut32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-propsys.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-rometadata.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-rpcrt4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-sspicli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-uiautomationcore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-urlmon.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-webservices.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-windows.data.pdf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-windows.networking.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-windowscodecs.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-ws2_32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-xaudio2_9.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-xmllite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-advapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-api-ms-win-core-localization-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-api-ms-win-core-winrt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-api-ms-win-core-winrt-robuffer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-cabinet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-d2d1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-d3d11.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-d3dcompiler_47.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-deviceaccess.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-dhcpcsvc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-dhcpcsvc6.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-dwrite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-dxgi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-esent.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-kernel32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mfplat.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mfreadwrite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mmdevapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-msajapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mscoree.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mswsock.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-ole32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-oleaut32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-propsys.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-rpcrt4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-uiautomationcore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-urlmon.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-webservices.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-windows.data.pdf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-windows.networking.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-windowscodecs.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-ws2_32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-xaudio2_8.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-xinput1_4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-xmllite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowscodecs.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winfax.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winhttp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wininet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winmm.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winscard.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winspool.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winsqlite3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winsta.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wintrust.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winusb.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wlanapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wlanui.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wldap32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wmip.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wmvcore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wofutil.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wow32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ws2_32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wscapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wsclient.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wsdapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wsmsvc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wsnmp32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wsock32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wtsapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xaudio2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xaudio2_8.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xinput.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xinput9_1_0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xinputuap.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xmllite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xolehlp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xpsdocumenttargetprint.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xpsprint.a delete mode 100644 vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/build.rs delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_aclui.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_activeds.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_advapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_advpack.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_amsi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_api-ms-win-net-isolation-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_appmgmts.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_appnotify.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_audioeng.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_authz.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_avifil32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_avrt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_basesrv.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_bcrypt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_bluetoothapis.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_bthprops.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cabinet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_certadm.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_certpoleng.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cfgmgr32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_chakrart.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cldapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_clfsw32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_clusapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_comctl32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_comdlg32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_comppkgsup.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_compstui.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_comsvcs.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_coremessaging.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_credui.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_crypt32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cryptdll.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cryptnet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cryptui.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cryptxml.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cscapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cscdll.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d2d1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d3d10.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d3d10_1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d3d11.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d3d12.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d3d9.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d3dcompiler.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d3dcsx.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d3dcsxd.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_davclnt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dbgeng.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dbghelp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dciman32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dcomp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ddraw.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_deviceaccess.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_devmgr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dflayout.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dhcpcsvc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dhcpcsvc6.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dhcpsapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_difxapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dinput8.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dmprocessxmlfiltered.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dnsapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dnsperf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dnsrslvr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dpx.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_drt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_drtprov.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_drttransport.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dsound.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dsprop.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dssec.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dststlog.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dsuiext.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dwmapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dwrite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dxgi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dxva2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_eappcfg.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_eappprxy.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_easregprov.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_efswrt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_elscore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_esent.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_evr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_faultrep.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_feclient.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_fhsvcctl.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_fltlib.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_fontsub.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_framedyd.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_framedyn.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_fwpuclnt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_fxsutility.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_gdi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_gdiplus.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_glmf32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_glu32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_gpedit.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_hbaapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_hid.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_hlink.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_hrtfapo.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_httpapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_iashlpr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_icm32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_icmui.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_icuin.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_icuuc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_imagehlp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_imgutil.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_imm32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_infocardapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_inkobjcore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_inseng.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_iphlpapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_iprop.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_irprops.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_iscsidsc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_jsrt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_kernel32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ksproxy.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ksuser.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ktmw32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_loadperf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_lz32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_magnification.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mciole32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mdmlocalmanagement.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mdmregistration.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mfcore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mfplat.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mfplay.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mfreadwrite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mfsensorgroup.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mfsrcsnk.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mgmtapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-midlproxystub-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-comm-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-comm-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-console-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-console-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-datetime-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-datetime-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-datetime-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-debug-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-debug-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-debug-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-delayload-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-delayload-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-fibers-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-fibers-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l2-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l2-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-firmware-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-handle-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-heap-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-heap-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-interlocked-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-interlocked-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-io-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-io-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-job-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-libraryloader-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-localization-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-localization-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-localization-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-localization-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-5.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-namedpipe-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-namedpipe-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-namedpipe-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-namespace-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-path-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processenvironment-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processenvironment-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processsnapshot-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processtopology-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-profile-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-psapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-quirks-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-quirks-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-realtime-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-realtime-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-realtime-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-registry-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-registry-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-registry-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-rtlsupport-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-rtlsupport-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-shutdown-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-shutdown-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-string-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-string-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-string-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-synch-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-synch-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-synch-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-systemtopology-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-systemtopology-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-threadpool-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-timezone-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-util-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-util-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-version-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-version-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-error-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-error-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-string-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-string-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-xstate-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-devices-config-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-devices-config-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-devices-swdevice-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-devices-swdevice-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-classicprovider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-consumer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-consumer-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-controller-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-provider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-power-base-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-power-setting-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-appcontainer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-base-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-base-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-base-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-base-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-credentials-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-lsalookup-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-lsalookup-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-sddl-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-core-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-core-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-core-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-management-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-management-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-winsvc-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-authz.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-bcrypt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-cabinet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-crypt32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-cryptbase.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-cryptnet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-dfscli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-dnsapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-dsparse.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-dsrole.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-iphlpapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-logoncli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-mpr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-mswsock.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-ncrypt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-netutils.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-oleaut32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-rpcrt4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-samcli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-schedcli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-srvcli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-sspicli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-userenv.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-websocket.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-winhttp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-wkscli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-wldap32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-ws2_32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-advapi32-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-advapi32-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-normaliz-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-ole32-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-shell32-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-shlwapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-shlwapi-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-user32-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-version-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mmdevapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mpr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mprapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mprsnap.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mqrt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mrmsupport.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msacm32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msajapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mscms.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msctfmonitor.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msdelta.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msdmo.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msdrm.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msimg32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mspatcha.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mspatchc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msports.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msrating.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mstask.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msv1_0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msvfw32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mswsock.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mtx.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mtxdm.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-api-ms-win-net-isolation-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-api-ms-win-net-isolation-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-clfsw32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-clusapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-cryptxml.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-dbgeng.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-dbghelp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-dnsperf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-esent.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-faultrep.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-framedynos.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-fwpuclnt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-hbaapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-httpapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-iscsidsc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-ktmw32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-loadperf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-mprapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-netsh.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-ntdsapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-ntlanman.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-pdh.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-resutils.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-snmpapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-tbs.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-traffic.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-virtdisk.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-vssapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-webservices.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-wer.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-wevtapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-wintrust.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-wnvapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-wsmsvc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ncrypt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nddeapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ndfapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_netapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_netsh.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_newdev.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ninput.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_normaliz.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ntdll.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ntdsa.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ntdsapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ntdsatq.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ntdsetup.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ntfrsapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ntlanman.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ntmarta.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ntquery.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_odbc32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_odbcbcp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_oemlicense.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ole32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_oleacc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_oleaut32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_olecli32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_oledlg.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_olesvr32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ondemandconnroutehelper.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-atoms-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-calendar-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-com-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-com-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-com-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-com-midlproxystub-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-comm-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-comm-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-console-ansi-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-console-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-console-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-console-l3-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-datetime-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-datetime-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-datetime-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-debug-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-debug-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-debug-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-delayload-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-delayload-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-enclave-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-enclave-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-featurestaging-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-featurestaging-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-fibers-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-fibers-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-fibers-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-fibers-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-ansi-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l2-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l2-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-firmware-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-handle-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-heap-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-heap-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-heap-obsolete-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-interlocked-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-interlocked-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-io-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-io-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-job-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-job-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-job-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-5.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-6.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-largeinteger-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-obsolete-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-5.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-ansi-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namespace-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namespace-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-normalization-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-path-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-perfcounters-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-privateprofile-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-privateprofile-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processenvironment-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processenvironment-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processenvironment-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processsnapshot-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processtopology-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processtopology-obsolete-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processtopology-obsolete-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-profile-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-psapi-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-psapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-quirks-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-quirks-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-realtime-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-realtime-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-realtime-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-registry-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-registry-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-registry-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-registry-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-rtlsupport-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-rtlsupport-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-shutdown-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-shutdown-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-shutdown-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sidebyside-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sidebyside-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-string-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-string-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-string-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-string-obsolete-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-string-obsolete-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-stringansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-synch-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-synch-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-synch-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-synch-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-systemtopology-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-systemtopology-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-threadpool-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-threadpool-legacy-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-timezone-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-toolhelp-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-toolhelp-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-url-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-util-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-util-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-version-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-version-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-versionansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-versionansi-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-windowsceip-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-error-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-error-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-registration-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-robuffer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-string-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-string-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-wow64-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-wow64-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-wow64-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-xstate-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-devices-config-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-devices-config-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-devices-swdevice-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-devices-swdevice-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-classicprovider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-consumer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-consumer-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-controller-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-legacy-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-obsolete-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-provider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-tdh-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-gaming-deviceinformation-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-mm-time-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-oobe-notification-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-perf-legacy-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-power-base-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-power-limitsmanagement-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-power-setting-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-ro-typeresolution-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-appcontainer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-credentials-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-cryptoapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-isolatedcontainer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-lsalookup-ansi-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-lsalookup-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-lsalookup-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-provider-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-provider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-sddl-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-sddl-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-systemfunctions-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-ansi-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-management-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-management-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-winsvc-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-path-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-registry-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-registry-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-stream-winrt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-sysinfo-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-unicodeansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shell-shdirectory-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-authz.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-bcrypt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-cabinet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-crypt32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-cryptbase.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-cryptnet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-dfscli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-dnsapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-dsparse.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-dsrole.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-fltlib.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-iphlpapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-logoncli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-mpr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-mswsock.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-ncrypt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-netutils.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-ntdll.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-oleaut32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-powrprof.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-profapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-rpcrt4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-samcli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-schedcli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-srvcli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-sspicli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-tokenbinding.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-userenv.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-websocket.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-winhttp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-wkscli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-wldap32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-ws2_32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-xmllite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-advapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-apphelp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-comctl32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-comdlg32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-d3d10.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-d3d9.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-d3dx10_47.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-difxapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-gdi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-input.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-kernel32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-msi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-newdev.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-ole32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-oleacc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-oleaut32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-oledlg.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-pdh.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-psapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-resutils.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-rstrtmgr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-secur32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-setupapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-shell32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-shlwapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-tdh.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-twinapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-user32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-uxtheme.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-version.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-winmm.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-winspool.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-wtsapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-xinput1_4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-atoms-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-calendar-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-com-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-com-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-com-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-com-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-com-midlproxystub-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-comm-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-comm-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-console-ansi-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-console-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-console-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-console-l3-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-delayload-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-delayload-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-enclave-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-enclave-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-featurestaging-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-featurestaging-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-ansi-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-firmware-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-handle-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-heap-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-heap-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-heap-obsolete-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-interlocked-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-interlocked-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-io-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-io-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-job-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-job-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-job-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-5.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-6.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-largeinteger-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-obsolete-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-5.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-ansi-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namespace-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namespace-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-normalization-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-path-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-perfcounters-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-privateprofile-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-privateprofile-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processsnapshot-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-obsolete-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-obsolete-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-profile-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-psapi-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-psapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-psm-appnotify-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-quirks-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-quirks-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-registry-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-rtlsupport-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-rtlsupport-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sidebyside-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sidebyside-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-slapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-obsolete-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-obsolete-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-stringansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-synch-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-synch-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-synch-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-synch-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-systemtopology-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-systemtopology-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-threadpool-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-threadpool-legacy-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-timezone-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-toolhelp-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-toolhelp-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-url-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-util-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-util-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-version-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-version-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-versionansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-versionansi-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-windowsceip-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-error-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-error-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-registration-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-robuffer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-string-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-string-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-xstate-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-devices-config-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-devices-config-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-devices-swdevice-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-devices-swdevice-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-classicprovider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-consumer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-consumer-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-controller-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-legacy-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-obsolete-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-provider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-tdh-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-deviceinformation-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-expandedresources-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-gamemonitor-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-gamemonitor-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-mm-misc-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-mm-misc-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-mm-mme-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-mm-playsound-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-mm-time-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-ntuser-sysparams-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-oobe-notification-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-perf-legacy-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-power-base-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-power-limitsmanagement-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-power-setting-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-ro-typeresolution-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-appcontainer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-credentials-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-cryptoapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-isolatedcontainer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-lsalookup-ansi-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-lsalookup-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-lsalookup-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-provider-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-provider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-sddl-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-sddl-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-systemfunctions-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-ansi-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-management-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-management-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-winsvc-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-path-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-registry-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-registry-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-stream-winrt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-sysinfo-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-unicodeansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shell-namespace-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shell-shdirectory-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-authz.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-bcrypt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-cabinet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-chakra.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-coremessaging.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-crypt32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-cryptbase.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-cryptnet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-d2d1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-d3d11.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-d3d12.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-d3dcompiler_47.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-deviceaccess.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-dfscli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-dhcpcsvc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-dhcpcsvc6.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-dnsapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-dsparse.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-dsrole.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-dwrite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-dxgi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-esent.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-core-iuri-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-gaming-xinput-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-networking-wlanapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-shell32-shellfolders-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-shell32-shellfolders-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-fltlib.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-hid.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-hrtfapo.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-inkobjcore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-iphlpapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-logoncli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-mf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-mfplat.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-mfreadwrite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-mfsensorgroup.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-mmdevapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-mpr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-msajapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-mswsock.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ncrypt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-netutils.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ntdll.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-oleaut32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-powrprof.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-profapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-propsys.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-rometadata.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-rpcrt4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-samcli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-schedcli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-srvcli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-sspicli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-tokenbinding.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-uiautomationcore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-urlmon.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-userenv.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-webservices.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-websocket.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-windows.data.pdf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-windows.networking.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-windowscodecs.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-winhttp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-wintrust.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-wkscli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-wlanapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-wldap32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-wpprecorderum.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ws2_32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-xaudio2_9.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-xmllite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-advapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-apphelp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-comctl32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-comdlg32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-d3d10.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-d3d9.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-d3dx10_47.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-difxapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-gdi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-input.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-kernel32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-msi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-newdev.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-ole32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-oleacc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-oleaut32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-oledlg.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-pdh.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-psapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-resutils.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-rstrtmgr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-secur32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-setupapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-shell32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-shlwapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-tdh.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-twinapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-user32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-uxtheme.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-version.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-winmm.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-winspool.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-wtsapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-xinput1_4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_opengl32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_opmxbox.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_p2p.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_p2pgraph.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_pathcch.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_pdh.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_peerdist.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_powrprof.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_prntvpt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_propsys.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_psapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_quartz.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_query.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_qwave.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rasapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rasdlg.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_resutils.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rometadata.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rpcexts.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rpcns4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rpcproxy.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rpcrt4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rstrtmgr.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rtm.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rtutils.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rtworkq.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-error-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-error-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-registration-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-robuffer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-string-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-ro-typeresolution-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_samlib.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_samsrv.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_sas.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_scarddlg.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_scecli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_scesrv.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_schannel.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_secur32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_security.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_sens.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_sensapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_sensorsutils.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_setupapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_sfc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-core-featurestaging-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-core-featurestaging-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-shcore-scaling-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-shcore-scaling-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-shcore-scaling-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-shcore-stream-winrt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shcore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shdocvw.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shell32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shfolder.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shlwapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_slc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_slcext.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_slwga.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_snmpapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_spoolss.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_sporder.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_srpapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ssdpapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_sti.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_swdevice.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_synchronization.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_t2embed.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_tapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_tbs.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_tdh.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_tokenbinding.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_traffic.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_tsec.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_txfw32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ualapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_uiautomationcore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_umpdddi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_urlmon.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_user32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_userenv.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_usp10.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_uxtheme.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_version.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_vertdll.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_vfw32-avicap32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_vfw32-avifil32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_vfw32-msvfw32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_vfw32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_virtdisk.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_vssapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wcmapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wdsbp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wdsclientapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wdsmc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wdspxe.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wdstptc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_webservices.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_websocket.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wecapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wer.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wevtapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wiaservc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winbio.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windows.data.pdf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windows.networking.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windows.ui.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-appmodel-runtime-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-appmodel-runtime-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-com-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-com-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-com-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-com-midlproxystub-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-comm-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-comm-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-console-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-console-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-datetime-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-datetime-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-debug-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-delayload-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-delayload-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-enclave-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-featurestaging-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-featurestaging-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-fibers-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-fibers-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-fibers-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-fibers-l2-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-ansi-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-l2-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-handle-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-heap-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-heap-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-heap-obsolete-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-interlocked-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-interlocked-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-io-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-io-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-kernel32-legacy-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-largeinteger-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-libraryloader-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-libraryloader-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-obsolete-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-ansi-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-2-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namespace-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namespace-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-normalization-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-path-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processenvironment-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processtopology-obsolete-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-profile-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-psapi-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-psapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-psm-appnotify-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-rtlsupport-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-slapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-string-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-synch-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-synch-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-synch-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-synch-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-sysinfo-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-sysinfo-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-sysinfo-l1-2-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-threadpool-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-timezone-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-url-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-util-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-version-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-versionansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-windowsceip-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-windowserrorreporting-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-windowserrorreporting-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-windowserrorreporting-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-error-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-error-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-registration-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-robuffer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-string-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-wow64-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-xstate-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-classicprovider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-consumer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-controller-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-legacy-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-provider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-deviceinformation-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-expandedresources-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-gamemonitor-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-gamemonitor-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-ro-typeresolution-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-base-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-base-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-base-l1-2-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-cryptoapi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-isolatedcontainer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-lsalookup-ansi-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-lsalookup-l2-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-provider-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-provider-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-sddl-ansi-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-sddl-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-shcore-stream-winrt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-bcrypt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-cabinet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-chakra.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-coremessaging.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-crypt32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-d2d1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-d3d11.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-d3d12.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-d3dcompiler_47.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-deviceaccess.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-dhcpcsvc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-dhcpcsvc6.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-dwrite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-dxgi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-esent.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-core-iuri-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-gaming-xinput-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-hrtfapo.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-inkobjcore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-iphlpapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-mf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-mfplat.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-mfreadwrite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-mfsensorgroup.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-mmdevapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-msajapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-mswsock.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ncrypt.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ntdll.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-oleaut32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-propsys.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-rometadata.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-rpcrt4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-sspicli.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-uiautomationcore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-urlmon.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-webservices.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-windows.data.pdf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-windows.networking.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-windowscodecs.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ws2_32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-xaudio2_9.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-xmllite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-advapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-api-ms-win-core-localization-l1-2-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-api-ms-win-core-winrt-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-api-ms-win-core-winrt-robuffer-l1-1-0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-cabinet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-d2d1.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-d3d11.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-d3dcompiler_47.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-deviceaccess.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-dhcpcsvc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-dhcpcsvc6.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-dwrite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-dxgi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-esent.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-kernel32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mfplat.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mfreadwrite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mmdevapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-msajapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mscoree.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mswsock.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-ole32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-oleaut32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-propsys.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-rpcrt4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-uiautomationcore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-urlmon.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-webservices.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-windows.data.pdf.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-windows.networking.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-windowscodecs.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-ws2_32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-xaudio2_8.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-xinput1_4.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-xmllite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowscodecs.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winfax.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winhttp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wininet.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winmm.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winscard.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winspool.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winsqlite3.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winsta.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wintrust.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winusb.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wlanapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wlanui.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wldap32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wmip.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wmvcore.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wnvapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wofutil.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ws2_32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wscapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wsclient.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wsdapi.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wsmsvc.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wsnmp32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wsock32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wtsapi32.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xaudio2.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xaudio2_8.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xinput.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xinput9_1_0.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xinputuap.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xmllite.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xolehlp.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xpsdocumenttargetprint.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xpsprint.a delete mode 100644 vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/.cargo-checksum.json delete mode 100644 vendor/registry-40351f815f426200/winapi/Cargo.toml delete mode 100644 vendor/registry-40351f815f426200/winapi/LICENSE-APACHE delete mode 100644 vendor/registry-40351f815f426200/winapi/LICENSE-MIT delete mode 100644 vendor/registry-40351f815f426200/winapi/README.md delete mode 100644 vendor/registry-40351f815f426200/winapi/build.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/km/d3dkmthk.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/km/mod.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/lib.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/macros.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/basetsd.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/bcrypt.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/bugcodes.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/cderr.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/cfg.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/d3d9.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/d3d9caps.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/d3d9types.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/d3dkmdt.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/d3dukmdt.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/dcomptypes.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/devguid.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/devpkey.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/devpropdef.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/dinputd.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/dxgi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/dxgi1_2.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/dxgi1_3.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/dxgi1_4.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/dxgi1_5.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/dxgi1_6.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/dxgiformat.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/dxgitype.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/evntprov.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/evntrace.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/guiddef.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/hidclass.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/hidpi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/hidsdi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/hidusage.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/ifdef.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/in6addr.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/inaddr.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/intsafe.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/ks.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/ksmedia.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/ktmtypes.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/lmcons.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/minwindef.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/mmreg.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/mod.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/mstcpip.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/mswsockdef.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/netioapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/ntddscsi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/ntddser.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/ntdef.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/ntstatus.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/qos.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/rpc.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/rpcdce.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/rpcndr.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/sddl.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/sspi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/stralign.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/transportsettingcommon.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/tvout.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/usb.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/usbiodef.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/usbspec.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/windef.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/windowsx.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/winerror.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/winusbio.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/wmistr.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/wnnc.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/ws2def.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/ws2ipdef.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/wtypes.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/shared/wtypesbase.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/accctrl.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/aclapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/appmgmt.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/audioclient.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/audiosessiontypes.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/avrt.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/bits.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/bits10_1.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/bits1_5.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/bits2_0.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/bits2_5.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/bits3_0.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/bits4_0.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/bits5_0.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/bitscfg.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/bitsmsg.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/cfgmgr32.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/cguid.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/combaseapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/coml2api.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/commapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/commctrl.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/commdlg.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/commoncontrols.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/consoleapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/corsym.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d2d1.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d2d1_1.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d2d1_2.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d2d1_3.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d2d1effectauthor.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d2d1effects.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d2d1effects_1.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d2d1effects_2.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d2d1svg.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d2dbasetypes.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3d.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3d10.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3d10_1.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3d10_1shader.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3d10effect.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3d10misc.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3d10sdklayers.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3d10shader.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3d11.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3d11_1.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3d11_2.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3d11_3.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3d11_4.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3d11on12.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3d11sdklayers.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3d11shader.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3d11tokenizedprogramformat.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3d12.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3d12sdklayers.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3d12shader.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3dcommon.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3dcompiler.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3dcsx.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3dx10core.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3dx10math.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/d3dx10mesh.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/datetimeapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/davclnt.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dbghelp.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dbt.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dcommon.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dcomp.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dcompanimation.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dde.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/ddraw.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/ddrawi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/ddrawint.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/debugapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/devicetopology.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dinput.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dispex.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dmksctl.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dmusicc.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/docobj.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/documenttarget.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dpa_dsa.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dpapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dsgetdc.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dsound.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dsrole.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dvp.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dwmapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dwrite.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dwrite_1.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dwrite_2.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dwrite_3.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dxdiag.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dxfile.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dxgidebug.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dxva2api.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/dxvahd.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/enclaveapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/endpointvolume.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/errhandlingapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/evntcons.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/exdisp.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/fibersapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/fileapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/gl/gl.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/gl/mod.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/handleapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/heapapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/highlevelmonitorconfigurationapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/http.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/imm.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/interlockedapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/ioapiset.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/jobapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/jobapi2.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/knownfolders.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/ktmw32.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/libloaderapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/lmaccess.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/lmalert.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/lmapibuf.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/lmat.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/lmdfs.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/lmerrlog.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/lmjoin.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/lmmsg.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/lmremutl.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/lmrepl.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/lmserver.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/lmshare.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/lmstats.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/lmsvc.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/lmuse.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/lmwksta.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/lowlevelmonitorconfigurationapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/lsalookup.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/memoryapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/minschannel.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/minwinbase.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/mmdeviceapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/mmeapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/mmsystem.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/mod.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/msaatext.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/mscat.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/mschapp.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/mssip.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/mswsock.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/namedpipeapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/namespaceapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/nb30.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/ncrypt.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/ntlsa.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/ntsecapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/oaidl.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/objbase.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/objidl.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/objidlbase.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/ocidl.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/ole2.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/oleauto.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/olectl.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/oleidl.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/opmapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/pdh.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/perflib.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/physicalmonitorenumerationapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/playsoundapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/portabledevice.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/portabledeviceapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/portabledevicetypes.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/powerbase.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/powersetting.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/powrprof.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/processenv.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/processsnapshot.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/processthreadsapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/processtopologyapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/profileapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/propidl.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/propkeydef.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/propsys.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/prsht.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/psapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/realtimeapiset.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/reason.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/restartmanager.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/restrictederrorinfo.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/rmxfguid.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/sapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/sapi51.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/sapi53.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/sapiddk.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/sapiddk51.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/schannel.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/securityappcontainer.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/securitybaseapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/servprov.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/setupapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/shellapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/shellscalingapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/shlobj.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/shobjidl.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/shobjidl_core.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/shtypes.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/spapidef.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/spellcheck.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/sporder.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/sql.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/sqlext.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/sqltypes.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/sqlucode.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/sspi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/stringapiset.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/strmif.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/subauth.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/synchapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/sysinfoapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/systemtopologyapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/taskschd.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/textstor.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/threadpoolapiset.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/threadpoollegacyapiset.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/timeapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/timezoneapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/tlhelp32.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/unknwnbase.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/urlhist.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/urlmon.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/userenv.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/usp10.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/utilapiset.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/uxtheme.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/vsbackup.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/vss.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/vsserror.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/vswriter.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/wbemads.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/wbemcli.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/wbemdisp.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/wbemprov.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/wbemtran.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/wct.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/werapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/winbase.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/wincodec.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/wincodecsdk.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/wincon.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/wincontypes.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/wincred.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/wincrypt.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/windowsceip.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/winefs.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/winevt.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/wingdi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/winhttp.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/wininet.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/winineti.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/winioctl.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/winnetwk.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/winnls.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/winnt.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/winreg.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/winsafer.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/winscard.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/winsmcrd.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/winsock2.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/winspool.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/winsvc.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/winusb.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/winuser.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/winver.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/wow64apiset.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/wpdmtpextensions.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/ws2spi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/ws2tcpip.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/um/xinput.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/vc/excpt.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/vc/limits.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/vc/mod.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/vc/vadefs.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/vc/vcruntime.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/winrt/activation.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/winrt/hstring.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/winrt/inspectable.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/winrt/mod.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/winrt/roapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/winrt/robuffer.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/winrt/roerrorapi.rs delete mode 100644 vendor/registry-40351f815f426200/winapi/src/winrt/winstring.rs diff --git a/.cargo/config b/.cargo/config deleted file mode 100644 index 0d2f0845d..000000000 --- a/.cargo/config +++ /dev/null @@ -1,29 +0,0 @@ -[source.crates-io] -replace-with = "vendor+crates-io" - -[source."https://github.com/bjzhjing/linux-loader"] -git = "https://github.com/bjzhjing/linux-loader" -rev = "2b95f1e1958a2b6399b590f64344cab5b4a6d608" -replace-with = "vendor+https://github.com/bjzhjing/linux-loader" - -[source."https://github.com/rust-vmm/vm-memory"] -git = "https://github.com/rust-vmm/vm-memory" -rev = "281b8bd6cd2927f7a65130194b203a1c2b0ad2e3" -replace-with = "vendor+https://github.com/rust-vmm/vm-memory" - -[source."https://github.com/rust-vmm/vmm-sys-util"] -git = "https://github.com/rust-vmm/vmm-sys-util" -rev = "60fe35bea0bdce8b36c6186a740878880f944bdc" -replace-with = "vendor+https://github.com/rust-vmm/vmm-sys-util" - -[source."vendor+crates-io"] -directory = "./vendor/registry-40351f815f426200" - -[source."vendor+https://github.com/bjzhjing/linux-loader"] -directory = "./vendor/git-4af8f4552cd0d200" - -[source."vendor+https://github.com/rust-vmm/vm-memory"] -directory = "./vendor/git-89548d8276566400" - -[source."vendor+https://github.com/rust-vmm/vmm-sys-util"] -directory = "./vendor/git-bad78e1967b13e00" diff --git a/Cargo.lock b/Cargo.lock index a407c1567..6f913d33d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -75,10 +75,7 @@ name = "cloud-hypervisor" version = "0.1.0" dependencies = [ "clap 2.27.1 (registry+https://github.com/rust-lang/crates.io-index)", - "linux-loader 0.1.0 (git+https://github.com/bjzhjing/linux-loader?rev=2b95f1e1958a2b6399b590f64344cab5b4a6d608)", - "vm-memory 0.1.0 (git+https://github.com/rust-vmm/vm-memory?rev=281b8bd6cd2927f7a65130194b203a1c2b0ad2e3)", "vmm 0.1.0", - "vmm-sys-util 0.1.0 (git+https://github.com/rust-vmm/vmm-sys-util?rev=60fe35bea0bdce8b36c6186a740878880f944bdc)", ] [[package]] @@ -136,15 +133,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "linux-loader" version = "0.1.0" -source = "git+https://github.com/bjzhjing/linux-loader#9fa483ce4a7d6a1250be82fa551060ecdbdec4aa" -dependencies = [ - "vm-memory 0.1.0 (git+https://github.com/rust-vmm/vm-memory)", -] - -[[package]] -name = "linux-loader" -version = "0.1.0" -source = "git+https://github.com/bjzhjing/linux-loader?rev=2b95f1e1958a2b6399b590f64344cab5b4a6d608#2b95f1e1958a2b6399b590f64344cab5b4a6d608" +source = "git+https://github.com/bjzhjing/linux-loader#912dbb58c8a859c10735066d5a2089cd4073904c" dependencies = [ "vm-memory 0.1.0 (git+https://github.com/rust-vmm/vm-memory)", ] @@ -444,14 +433,6 @@ dependencies = [ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "vm-memory" -version = "0.1.0" -source = "git+https://github.com/rust-vmm/vm-memory?rev=281b8bd6cd2927f7a65130194b203a1c2b0ad2e3#281b8bd6cd2927f7a65130194b203a1c2b0ad2e3" -dependencies = [ - "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "vm-virtio" version = "0.1.0" @@ -500,14 +481,6 @@ dependencies = [ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "vmm-sys-util" -version = "0.1.0" -source = "git+https://github.com/rust-vmm/vmm-sys-util?rev=60fe35bea0bdce8b36c6186a740878880f944bdc#60fe35bea0bdce8b36c6186a740878880f944bdc" -dependencies = [ - "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "winapi" version = "0.3.7" @@ -543,7 +516,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum kvm-ioctls 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f87b0c7322658f94e9fcf661146c9761a487813f3154e6a67a24fc59c68f5306" "checksum libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "6281b86796ba5e4366000be6e9e18bf35580adf9e63fbe2294aadb587613a319" "checksum linux-loader 0.1.0 (git+https://github.com/bjzhjing/linux-loader)" = "" -"checksum linux-loader 0.1.0 (git+https://github.com/bjzhjing/linux-loader?rev=2b95f1e1958a2b6399b590f64344cab5b4a6d608)" = "" "checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6" "checksum numtoa 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef" "checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" @@ -573,9 +545,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" "checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" "checksum vm-memory 0.1.0 (git+https://github.com/rust-vmm/vm-memory)" = "" -"checksum vm-memory 0.1.0 (git+https://github.com/rust-vmm/vm-memory?rev=281b8bd6cd2927f7a65130194b203a1c2b0ad2e3)" = "" "checksum vmm-sys-util 0.1.0 (git+https://github.com/rust-vmm/vmm-sys-util)" = "" -"checksum vmm-sys-util 0.1.0 (git+https://github.com/rust-vmm/vmm-sys-util?rev=60fe35bea0bdce8b36c6186a740878880f944bdc)" = "" "checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770" "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/Cargo.toml b/Cargo.toml index 795df403c..847e31e61 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,15 +8,3 @@ edition = "2018" clap = "=2.27.1" vmm = { path = "vmm" } - -[dependencies.vm-memory] -git = "https://github.com/rust-vmm/vm-memory" -rev = "281b8bd6cd2927f7a65130194b203a1c2b0ad2e3" - -[dependencies.vmm-sys-util] -git = "https://github.com/rust-vmm/vmm-sys-util" -rev = "60fe35bea0bdce8b36c6186a740878880f944bdc" - -[dependencies.linux-loader] -git = "https://github.com/bjzhjing/linux-loader" -rev = "2b95f1e1958a2b6399b590f64344cab5b4a6d608" diff --git a/docs/vendoring.md b/docs/vendoring.md deleted file mode 100644 index 939da402e..000000000 --- a/docs/vendoring.md +++ /dev/null @@ -1,85 +0,0 @@ -# Cloud Hypervisor vendoring - -The `cloud-hypervisor` build relies on having all dependencies locally vendored, -for several reasons: - -1. Reproducible builds: Separate builds from the same cloud-hypervisor git - commit will build against exactly the same set of dependencies. - -1. Network isolated builds: Vendoring allows us to build cloud-hypervisor - in a network isolated environment. All dependencies are locally fetched - and thus `cargo` will not try to fetch crates from external repositories. - -1. Simplified custom dependencies: When having to deal with custom, temporary - dependencies, vendoring allows for a centralized and simple way of overriding - an existing dependency with a custom one. - -## Workflow - -The `cargo vendor` tool does 2 things: - -1. It generates vendored copies of all dependencies that the project crates - describe through their `Cargo.toml` files. - -1. It creates a `.cargo/config` amendment to force cargo builds to use the - vendored copies instead of the external ones. - -It's important to note that `cargo vendor` can not force a dependency version -or revision. All dependencies are described through the project crates -`Cargo.toml` files. - -As a consequence, vendoring and dependency revision pinning are 2 separate -things, and `cargo vendor` only handles the former. - -All the `cloud-hypervisor` vendored dependencies are under the `vendor` -directory. For all intents and purposes the `vendor` directory is read-only and -should not be manually modified. - -The sections below describe a few vendoring use cases: - -### Overriding a crates.io dependency - -For overriding a `crates.io` crate with a local or remote crate, we first need -to modify the project's top-level `Cargo.toml` file. - -For example, if we want to switch from the `crates.io` `kvm-ioctls` package to -a forked one containing some specific feature or fix we would add the following -lines to the project top-level `Cargo.toml` file: - -```toml -[patch.crates-io] -kvm-ioctls = { git = "https://github.com/sboeuf/kvm-ioctls", branch = "kvm_signal_msi" } - -``` - -Then we need to vendor that change: - -```shell -cargo vendor --relative-path --no-merge-sources ./vendor > .cargo/config -``` - -### pinning a git dependency - -Some crates may depend on non published crates, that are developed and -maintained in some git repository. - -Let's take the `vm-memory` crate as one example. It is a `rust-vmm` crate that -is not yet published in `crates.io`. Several `cloud-hypervisor` crates depend -on it. Provided that none of those dependent crates rely on a specific branch -or revision of the `vm-memory` crate, we may want to pin our project to the -crate revision `281b8bd6cd2927f7a65130194b203a1c2b0ad2e3`. - -We need to describe that revision pin and then vendor it. First we need to add -the following lines to the project top-level `Cargo.toml`: - -```toml -[dependencies.vm-memory] -git = "https://github.com/rust-vmm/vm-memory" -rev = "281b8bd6cd2927f7a65130194b203a1c2b0ad2e3" -``` - -And then vendor that change: - -```shell -cargo vendor --relative-path --no-merge-sources ./vendor > .cargo/config -``` diff --git a/vendor/.sources b/vendor/.sources deleted file mode 100644 index d92841ace..000000000 --- a/vendor/.sources +++ /dev/null @@ -1 +0,0 @@ -["git-3e7c44ea7d5fd800","git-4af8f4552cd0d200","git-643dc7ede01ca600","git-89548d8276566400","git-bad78e1967b13e00","git-bda1448fb2afcb00","registry-40351f815f426200"] \ No newline at end of file diff --git a/vendor/git-3e7c44ea7d5fd800/vm-memory/.buildkite/pipeline.linux.yml b/vendor/git-3e7c44ea7d5fd800/vm-memory/.buildkite/pipeline.linux.yml deleted file mode 100644 index e19a6ab5b..000000000 --- a/vendor/git-3e7c44ea7d5fd800/vm-memory/.buildkite/pipeline.linux.yml +++ /dev/null @@ -1,168 +0,0 @@ -steps: - - label: "build-gnu-x86" - commands: - - cargo build --release - retry: - automatic: false - agents: - platform: x86_64.metal - os: linux - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - label: "build-gnu-x86-mmap" - commands: - - cargo build --release --features=backend-mmap - retry: - automatic: false - agents: - platform: x86_64.metal - os: linux - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - label: "build-gnu-arm-mmap" - commands: - - cargo build --release --features=backend-mmap - retry: - automatic: false - agents: - platform: arm.metal - os: linux - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - label: "build-musl-arm-mmap" - commands: - - cargo build --release --features=backend-mmap --target aarch64-unknown-linux-musl - retry: - automatic: false - agents: - platform: arm.metal - os: linux - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - label: "style" - command: cargo fmt --all -- --check - retry: - automatic: false - agents: - platform: x86_64.metal - os: linux - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - label: "unittests-gnu-x86" - commands: - - cargo test --all-features - retry: - automatic: false - agents: - platform: x86_64.metal - os: linux - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - label: "unittests-musl-x86" - commands: - - cargo test --all-features --target x86_64-unknown-linux-musl - retry: - automatic: false - agents: - platform: x86_64.metal - os: linux - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - label: "unittests-gnu-arm" - commands: - - cargo test --all-features - retry: - automatic: false - agents: - platform: arm.metal - os: linux - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - label: "unittests-musl-arm" - commands: - - cargo test --all-features --target aarch64-unknown-linux-musl - retry: - automatic: false - agents: - platform: arm.metal - os: linux - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - label: "clippy-x86" - commands: - - cargo clippy --all -- -D warnings - retry: - automatic: false - agents: - platform: x86_64.metal - os: linux - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - label: "clippy-arm" - commands: - - cargo clippy --all -- -D warnings - retry: - automatic: false - agents: - platform: arm.metal - os: linux - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - label: "check-warnings-x86" - commands: - - RUSTFLAGS="-D warnings" cargo check --all-targets - retry: - automatic: false - agents: - platform: x86_64.metal - os: linux - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - label: "check-warnings-arm" - commands: - - RUSTFLAGS="-D warnings" cargo check --all-targets - retry: - automatic: false - agents: - platform: arm.metal - os: linux - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true diff --git a/vendor/git-3e7c44ea7d5fd800/vm-memory/.buildkite/pipeline.windows.yml b/vendor/git-3e7c44ea7d5fd800/vm-memory/.buildkite/pipeline.windows.yml deleted file mode 100644 index a1edeeb28..000000000 --- a/vendor/git-3e7c44ea7d5fd800/vm-memory/.buildkite/pipeline.windows.yml +++ /dev/null @@ -1,79 +0,0 @@ -steps: - - label: "build-msvc-x86" - commands: - - cargo build --release - retry: - automatic: true - agents: - platform: x86_64 - os: windows - plugins: - - petrutlucian94/docker#v3.1.1: - image: "lpetrut/rust_win_buildtools" - always-pull: true - - - label: "build-msvc-x86-mmap" - commands: - - cargo build --release --features=backend-mmap - retry: - automatic: true - agents: - platform: x86_64 - os: windows - plugins: - - petrutlucian94/docker#v3.1.1: - image: "lpetrut/rust_win_buildtools" - always-pull: true - - - label: "style" - command: cargo fmt --all -- --check - retry: - automatic: true - agents: - platform: x86_64 - os: windows - plugins: - - petrutlucian94/docker#v3.1.1: - image: "lpetrut/rust_win_buildtools" - always-pull: true - - - label: "unittests-msvc-x86" - commands: - - cargo test --all-features - retry: - automatic: true - agents: - platform: x86_64 - os: windows - plugins: - - petrutlucian94/docker#v3.1.1: - image: "lpetrut/rust_win_buildtools" - always-pull: true - - - label: "clippy-x86" - commands: - - cargo clippy --all - retry: - automatic: true - agents: - platform: x86_64 - os: windows - plugins: - - petrutlucian94/docker#v3.1.1: - image: "lpetrut/rust_win_buildtools" - always-pull: true - - - label: "check-warnings-x86" - commands: - - cargo check --all-targets - retry: - automatic: true - agents: - platform: x86_64 - os: windows - plugins: - - petrutlucian94/docker#v3.1.1: - image: "lpetrut/rust_win_buildtools" - always-pull: true - environment: - - "RUSTFLAGS=-D warnings" diff --git a/vendor/git-3e7c44ea7d5fd800/vm-memory/.cargo-checksum.json b/vendor/git-3e7c44ea7d5fd800/vm-memory/.cargo-checksum.json deleted file mode 100644 index c18ed9793..000000000 --- a/vendor/git-3e7c44ea7d5fd800/vm-memory/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{".buildkite/pipeline.linux.yml":"15e790653d9e63fb98a1aff02697ab123b44fc03c06127b222e5f67e7732722e",".buildkite/pipeline.windows.yml":"15e21819ef7321c79181ae7f04aafc0c3ceff709a800edd8994f15a9454d6405",".cargo/config":"c2f1c2fd93436e068cfb14eef3dff8a79d25d1f03c11baf6acbcfbdc9fd3a465","Cargo.toml":"459c6688ce88cac6767971e8053b03a14e05aec157a927134c34d5497c84cf68","DESIGN.md":"aa60ac0a1d59179c253c7be0e496f956344cd0bf41f01f86c9a28575ea433785","LICENSE":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","README.md":"2f4aa7c6dbb257a9345d17cec07b0731cae37dc216d25b41272061861bf984b8","THIRD-PARTY":"a6d3ebd1c2f37d4fd83d0676621f695fc0cc2d8c6e646cdbb831b46e0650c208","TODO.md":"c844f03be6631843e90d13b3410df031b07ee16db4a3c7cbda7e89557e9be46b","src/address.rs":"dbc3fa642269bb6f9fb5e176dddc9fcedbe024949f32c43577f52ef04fe0cf09","src/bytes.rs":"2d0c58f53e40f51b5177a234a5062f700ea153c779661c8c34f5d9340f24dd05","src/endian.rs":"948548db28334bceeefe72b09560a700d62993372bb89f46e39990038690f516","src/guest_memory.rs":"2be506fe58244f51279c473a7d0d8e1fc41ef638e9c16cc9e6f071bcbecb3b9b","src/lib.rs":"f65c3f36632da8df7b165578bfd8db010af11c1736fd9855614435e76dd3c390","src/mmap.rs":"9f449c7dac3830128bc1875ca0cc7e7407534eeb7cc1e1db0b0d118aba8de07b","src/mmap_unix.rs":"9a1d71bf1bb7952c25e3796f992953390b6db5a32ef40f2dda1275f866dd9ff0","src/mmap_windows.rs":"bd0091dd90eddede03739ab89648a38f513310437dafdf1f449603bb15a7a2ed","src/volatile_memory.rs":"06bdb496a75f3a190b7092daffce01158acdf73654badd72e697b674eedc4fac"},"package":null} \ No newline at end of file diff --git a/vendor/git-3e7c44ea7d5fd800/vm-memory/.cargo/config b/vendor/git-3e7c44ea7d5fd800/vm-memory/.cargo/config deleted file mode 100644 index 02cbaf3aa..000000000 --- a/vendor/git-3e7c44ea7d5fd800/vm-memory/.cargo/config +++ /dev/null @@ -1,2 +0,0 @@ -[target.aarch64-unknown-linux-musl] -rustflags = [ "-C", "target-feature=+crt-static", "-C", "link-arg=-lgcc"] diff --git a/vendor/git-3e7c44ea7d5fd800/vm-memory/Cargo.toml b/vendor/git-3e7c44ea7d5fd800/vm-memory/Cargo.toml deleted file mode 100644 index 87a349c4d..000000000 --- a/vendor/git-3e7c44ea7d5fd800/vm-memory/Cargo.toml +++ /dev/null @@ -1,17 +0,0 @@ -[package] -name = "vm-memory" -version = "0.1.0" -authors = ["Liu Jiang "] -repository = "https://github.com/rust-vmm/vm-memory" -license = "Apache-2.0" - -[features] -default = [] -backend-mmap = [] - -[dependencies] -libc = ">=0.2.39" - -[dev-dependencies] -matches = ">=0" -tempfile = ">=3.0.2" diff --git a/vendor/git-3e7c44ea7d5fd800/vm-memory/DESIGN.md b/vendor/git-3e7c44ea7d5fd800/vm-memory/DESIGN.md deleted file mode 100644 index 6f20cd47b..000000000 --- a/vendor/git-3e7c44ea7d5fd800/vm-memory/DESIGN.md +++ /dev/null @@ -1,79 +0,0 @@ -## Objectives -For a typical hypervisor, there are seveval components, such as boot loader, virtual device drivers, virtio backend drivers and vhost drivers etc, that need to access VM's physical memory. The `vm-memory` crate aims to provide a set of stable traits to decouple VM memory consumers from VM memory providers. Based on these traits, VM memory consumers could access VM's physical memory without knowing the implementation details of the VM memory provider. Thus hypervisor components, such as boot loader, virtual device drivers, virtio backend drivers and vhost drivers etc, could be shared and reused by multiple hypervisors. - -## API Principles -- Define consumer side interfaces to access VM's physical memory. -- Do not define provider side interfaces to supply VM physical memory. - -The `vm-memory` crate focuses on defining consumer side interfaces to access VM's physical memory, and it dosen't define the way how the underline VM memory provider is implemented. For light-wieght hypervisors like crosvm and firecracker, they may make some assumptions about the structure of VM's physical memory and implement a light-weight backend to access VM's physical memory. For hypervisors like qemu, a high performance and full functionality backend may be implemented with less assumptions. - -## Architecture -Th `vm-memory` is derived from two upstream projects: -- [crosvm project](https://chromium.googlesource.com/chromiumos/platform/crosvm/) commit 186eb8b0db644892e8ffba8344efe3492bb2b823 -- [firecracker project](https://firecracker-microvm.github.io/) commit 80128ea61b305a27df1f751d70415b04b503eae7 - -To be hypervisor neutral, the high level abstraction has been heavily refactored. The new `vm-memory` crate could be divided into four logic parts as: - -### Abstraction of Generic Address Space -Build generic abstractions to describe and access an address space as below: -- AddressValue: Stores the raw value of an address. Typically u32, u64 or usize is used to store the raw value. But pointers, such as \*u8, can't be used because it doesn't implement the Add and Sub traits. -- Address: Encapsulates an AddressValue object and defines methods to access it. -- Bytes: Common trait for volatile access to memory. The `Bytes` trait can be parameterized with newtypes that represent addresses, in order to enforce that addresses are used with the right "kind" of volatile memory. -- VolatileMemory: Basic implementation of volatile access to memory, implements `Bytes`. - -To make the abstraction as generic as possible, all of above core traits only define methods to access the address space, and they never define methods to manage (create, delete, insert, remove etc) address spaces. By this way, the address space consumers (virtio device drivers, vhost-user drivers and boot loaders etc) may be decoupled from the address space provider (typically a hypervisor). - -### Specialization for Virtual Machine Physical Address Space -The generic address space crates are specialized to access VM's physical memory with following traits: -- GuestAddress: represents a guest physical address (GPA). On ARM64, a 32-bit hypervisor may be used to support a 64-bit VM. For simplicity, u64 is used to store the the raw value no matter if it is a 32-bit or 64-bit virtual machine. -- GuestMemoryRegion: used to represent a continuous region of VM's physical memory. -- GuestMemory: used to represent a collection of GuestMemoryRegion objects. The main responsibilities of the GuestMemory trait are: - - hide the detail of accessing VM's physical address (for example complex hierarchical structures). - - map a request address to a GuestMemoryRegion object and relay the request to it. - - handle cases where an access request spanning two or more GuestMemoryRegion objects. - -The VM memory consumers, such as virtio device drivers, vhost drivers and boot loaders etc, should only rely on traits and structs defined here to access VM's physical memory. - -### A Sample and Default Backend Implementation Based on mmap() -Provide a default and sample implementation of the GuestMemory trait by mmapping VM's physical memory into current process. Three data structures are defined here: -- MmapRegion: mmap a continous range of VM's physical memory into current and provide methods to access the mmapped memory. -- GuestRegionMmap: a wrapper structure to map VM's physical address into (mmap\_region, offset) tuple. -- GuestMemoryMmap: manage a collection of GuestRegionMmap objects for a VM. - -One of the main responsibilities of the GuestMemoryMmap object is to handle the use cases where an access request crosses the memory region boundary. This scenario may be triggered when memory hotplug is supported. So there's a tradeoff between functionality and code complexity: -- use following pattern for simplicity which fails when the request crosses region boundary. It's current default behavior in the crosvm and firecracker project. -```rust - let guest_memory_mmap: GuestMemoryMmap = ... - let addr: GuestAddress = ... - let buf = &mut [0u8; 5]; - let result = guest_memory_mmap.find_region(addr).unwrap().write(buf, addr); -``` -- use following pattern for functionality to support request crossing region boundary: -```rust - let guest_memory_mmap: GuestMemoryMmap = ... - let addr: GuestAddress = ... - let buf = &mut [0u8; 5]; - let result = guest_memory_mmap.write(buf, addr); -``` - -### Utilities and Helpers -Following utility and helper traits/macros are imported from the [crosvm project](https://chromium.googlesource.com/chromiumos/platform/crosvm/) with minor changes: -- ByteValued (originally `DataInit`): Types for which it is safe to initialize from raw data. A type `T` is `ByteValued` if and only if it can be initialized by reading its contents from a byte array. This is generally true for all plain-old-data structs. It is notably not true for any type that includes a reference. -- {Le,Be}\_{16,32,64}: Explicit endian types useful for embedding in structs or reinterpreting data. - -## Relationships between Traits, Structs and new Types -Traits: -- Address inherits AddressValue -- GuestMemoryRegion inherits Bytes (must be implemented) -- GuestMemory implements Bytes (generic implementation) - -New Types: -- GuestAddress: Address\ -- MemoryRegionAddress: Address\ - -Structs: -- MmapRegion implements VolatileMemory -- GuestRegionMmap implements Bytes + GuestMemoryRegion -- GuestMemoryMmap implements GuestMemory -- VolatileSlice: Bytes + VolatileMemory - diff --git a/vendor/git-3e7c44ea7d5fd800/vm-memory/LICENSE b/vendor/git-3e7c44ea7d5fd800/vm-memory/LICENSE deleted file mode 100644 index d64569567..000000000 --- a/vendor/git-3e7c44ea7d5fd800/vm-memory/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/git-3e7c44ea7d5fd800/vm-memory/README.md b/vendor/git-3e7c44ea7d5fd800/vm-memory/README.md deleted file mode 100644 index fa711e5d9..000000000 --- a/vendor/git-3e7c44ea7d5fd800/vm-memory/README.md +++ /dev/null @@ -1,47 +0,0 @@ -# vm-memory -A library to access virtual machine's physical memory. - -For a typical hypervisor, there are seveval components, such as boot loader, virtual device drivers, virtio backend drivers and vhost drivers etc, need to access VM's physical memory. The `vm-memory` crate provides a set of traits to decouple VM memory consumers from VM memory providers. Based on these traits, VM memory consumers could access VM's physical memory without knowing the implementation details of the VM memory provider. Thus hypervisor components based on these traits could be shared and reused by multiple hypervisors. - -## Platform Support -- Arch: x86, AMD64, ARM64 -- OS: Linux/Unix/Windows - -## Usage -First, add the following to your `Cargo.toml`: -```toml -vm-memory = "0.1" -``` -Next, add this to your crate root: -```rust -extern crate vm_memory; -``` - -## Example -- Create VM physical memory objects in hypervisor specific ways. Use the default GuestMemoryMmap as an example: -``` - fn provide_mem_to_virt_dev() { - let gm = GuestMemoryMmap::new(&[(GuestAddress(0), 0x1000), (GuestAddress(0x1000), 0x1000)]).unwrap(); - virt_device_io(&gm); - } -``` - -- Consumers access VM's physical memory -``` - fn virt_device_io(mem: &T) { - let sample_buf = &[1, 2, 3, 4, 5]; - assert_eq!(mem.write(sample_buf, GuestAddress(0xffc)).unwrap(), 5); - let buf = &mut [0u8; 5]; - assert_eq!(mem.read(buf, GuestAddress(0xffc)).unwrap(), 5); - assert_eq!(buf, sample_buf); - } -``` - -## Documentations & References -- [Design of The `vm-memory` Crate](DESIGN.md) -- [TODO List](TODO.md) -- [The rust-vmm Project](https://github.com/rust-vmm/) - -## License -This project is licensed under -- Apache License, Version 2.0, (LICENSE or http://www.apache.org/licenses/LICENSE-2.0) diff --git a/vendor/git-3e7c44ea7d5fd800/vm-memory/THIRD-PARTY b/vendor/git-3e7c44ea7d5fd800/vm-memory/THIRD-PARTY deleted file mode 100644 index 8bafca303..000000000 --- a/vendor/git-3e7c44ea7d5fd800/vm-memory/THIRD-PARTY +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/git-3e7c44ea7d5fd800/vm-memory/TODO.md b/vendor/git-3e7c44ea7d5fd800/vm-memory/TODO.md deleted file mode 100644 index e52bb072d..000000000 --- a/vendor/git-3e7c44ea7d5fd800/vm-memory/TODO.md +++ /dev/null @@ -1,3 +0,0 @@ -### TODO List -- Abstraction layer to seperate VM memory management from VM memory accessor. -- Help needed to refine documentation and usage examples. diff --git a/vendor/git-3e7c44ea7d5fd800/vm-memory/src/address.rs b/vendor/git-3e7c44ea7d5fd800/vm-memory/src/address.rs deleted file mode 100644 index d84771865..000000000 --- a/vendor/git-3e7c44ea7d5fd800/vm-memory/src/address.rs +++ /dev/null @@ -1,170 +0,0 @@ -// Copyright (C) 2019 Alibaba Cloud Computing. All rights reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the THIRD-PARTY file. - -//! Traits to represent an address within an address space. -//! -//! Two traits are defined to present an address within an address space: -//! - [AddressValue](trait.AddressValue.html): stores the raw value of an address. Typically u32, -//! u64 or usize is used to store the raw value. But pointers, such as *u8, can't be used because -//! it doesn't implement the Add and Sub traits. -//! - [Address](trait.Address.html): encapsulates an AddressValue object and defines methods to -//! access and manipulate it. - -use std::cmp::{Eq, Ord, PartialEq, PartialOrd}; -use std::ops::{Add, BitAnd, BitOr, Sub}; - -/// Simple helper trait used to store a raw address value. -pub trait AddressValue { - /// Type of the address raw value. - type V: Copy - + PartialEq - + Eq - + PartialOrd - + Ord - + Add - + Sub - + BitAnd - + BitOr; -} - -/// Trait to represent an address within an address space. -/// -/// To simplify the design and implementation, assume the same raw data type (AddressValue::V) -/// could be used to store address, size and offset for the address space. Thus the Address trait -/// could be used to manage address, size and offset. On the other hand, type aliases may be -/// defined to improve code readability. -/// -/// One design rule is applied to the Address trait that operators (+, -, &, | etc) are not -/// supported and it forces clients to explicitly invoke corresponding methods. But there are -/// always exceptions: -/// Address (BitAnd|BitOr) AddressValue are supported. -pub trait Address: - AddressValue - + Sized - + Default - + Copy - + Eq - + PartialEq - + Ord - + PartialOrd - + BitAnd<::V, Output = Self> - + BitOr<::V, Output = Self> -{ - /// Create an address from a raw address value. - fn new(addr: Self::V) -> Self; - - /// Get the raw value of the address. - fn raw_value(&self) -> Self::V; - - /// Returns the bitwise and of the address with the given mask. - fn mask(&self, mask: Self::V) -> Self::V { - self.raw_value() & mask - } - - /// Returns the offset from this address to the given base address and None if there is - /// underflow. - fn checked_offset_from(&self, base: Self) -> Option; - - /// Returns the offset from this address to the given base address. - /// Only use this when `base` is guaranteed not to overflow. - fn unchecked_offset_from(&self, base: Self) -> Self::V { - self.raw_value() - base.raw_value() - } - - /// Returns the result of the add or None if there is overflow. - fn checked_add(&self, other: Self::V) -> Option; - - /// Returns the result of the add and a flag identifying whether there was overflow - fn overflowing_add(&self, other: Self::V) -> (Self, bool); - - /// Returns the result of the base address + the size. - /// Only use this when `offset` is guaranteed not to overflow. - fn unchecked_add(&self, offset: Self::V) -> Self; - - /// Returns the result of the subtraction or None if there is underflow. - fn checked_sub(&self, other: Self::V) -> Option; - - /// Returns the result of the subtraction and a flag identifying whether there was overflow - fn overflowing_sub(&self, other: Self::V) -> (Self, bool); - - /// Returns the result of the subtraction. - /// Only use this when `other` is guaranteed not to underflow. - fn unchecked_sub(&self, other: Self::V) -> Self; -} - -macro_rules! impl_address_ops { - ($T:ident, $V:ty) => { - impl AddressValue for $T { - type V = $V; - } - - impl Address for $T { - fn new(value: $V) -> $T { - $T(value) - } - - fn raw_value(&self) -> $V { - self.0 - } - - fn checked_offset_from(&self, base: $T) -> Option<$V> { - self.0.checked_sub(base.0) - } - - fn checked_add(&self, other: $V) -> Option<$T> { - self.0.checked_add(other).map($T) - } - - fn overflowing_add(&self, other: $V) -> ($T, bool) { - let (t, ovf) = self.0.overflowing_add(other); - ($T(t), ovf) - } - - fn unchecked_add(&self, offset: $V) -> $T { - $T(self.0 + offset) - } - - fn checked_sub(&self, other: $V) -> Option<$T> { - self.0.checked_sub(other).map($T) - } - - fn overflowing_sub(&self, other: $V) -> ($T, bool) { - let (t, ovf) = self.0.overflowing_sub(other); - ($T(t), ovf) - } - - fn unchecked_sub(&self, other: $V) -> $T { - $T(self.0 - other) - } - } - - impl Default for $T { - fn default() -> $T { - Self::new(0 as $V) - } - } - - impl BitAnd<$V> for $T { - type Output = $T; - - fn bitand(self, other: $V) -> $T { - $T(self.0 & other) - } - } - - impl BitOr<$V> for $T { - type Output = $T; - - fn bitor(self, other: $V) -> $T { - $T(self.0 | other) - } - } - }; -} diff --git a/vendor/git-3e7c44ea7d5fd800/vm-memory/src/bytes.rs b/vendor/git-3e7c44ea7d5fd800/vm-memory/src/bytes.rs deleted file mode 100644 index 8d66e93b1..000000000 --- a/vendor/git-3e7c44ea7d5fd800/vm-memory/src/bytes.rs +++ /dev/null @@ -1,285 +0,0 @@ -// Portions Copyright 2019 Red Hat, Inc. -// -// Portions Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the THIRD-PARTY file. - -//! Define the ByteValued trait to mark that it is safe to instantiate the struct with random data. - -use std::io::{Read, Write}; -use std::mem::size_of; -use std::result::Result; -use std::slice::{from_raw_parts, from_raw_parts_mut}; - -/// Types for which it is safe to initialize from raw data. -/// -/// A type `T` is `ByteValued` if and only if it can be initialized by reading its contents from a -/// byte array. This is generally true for all plain-old-data structs. It is notably not true for -/// any type that includes a reference. -/// -/// Implementing this trait guarantees that it is safe to instantiate the struct with random data. -pub unsafe trait ByteValued: Copy + Default + Send + Sync { - /// Converts a slice of raw data into a reference of `Self`. - /// - /// The value of `data` is not copied. Instead a reference is made from the given slice. The - /// value of `Self` will depend on the representation of the type in memory, and may change in - /// an unstable fashion. - /// - /// This will return `None` if the length of data does not match the size of `Self`, or if the - /// data is not aligned for the type of `Self`. - fn from_slice(data: &[u8]) -> Option<&Self> { - // Early out to avoid an unneeded `align_to` call. - if data.len() != size_of::() { - return None; - } - - // Safe because the ByteValued trait asserts any data is valid for this type, and we ensured - // the size of the pointer's buffer is the correct size. The `align_to` method ensures that - // we don't have any unaligned references. This aliases a pointer, but because the pointer - // is from a const slice reference, there are no mutable aliases. Finally, the reference - // returned can not outlive data because they have equal implicit lifetime constraints. - match unsafe { data.align_to::() } { - ([], [mid], []) => Some(mid), - _ => None, - } - } - - /// Converts a mutable slice of raw data into a mutable reference of `Self`. - /// - /// Because `Self` is made from a reference to the mutable slice`, mutations to the returned - /// reference are immediately reflected in `data`. The value of the returned `Self` will depend - /// on the representation of the type in memory, and may change in an unstable fashion. - /// - /// This will return `None` if the length of data does not match the size of `Self`, or if the - /// data is not aligned for the type of `Self`. - fn from_mut_slice(data: &mut [u8]) -> Option<&mut Self> { - // Early out to avoid an unneeded `align_to_mut` call. - if data.len() != size_of::() { - return None; - } - - // Safe because the ByteValued trait asserts any data is valid for this type, and we ensured - // the size of the pointer's buffer is the correct size. The `align_to` method ensures that - // we don't have any unaligned references. This aliases a pointer, but because the pointer - // is from a mut slice reference, we borrow the passed in mutable reference. Finally, the - // reference returned can not outlive data because they have equal implicit lifetime - // constraints. - match unsafe { data.align_to_mut::() } { - ([], [mid], []) => Some(mid), - _ => None, - } - } - - /// Converts a reference to `self` into a slice of bytes. - /// - /// The value of `self` is not copied. Instead, the slice is made from a reference to `self`. - /// The value of bytes in the returned slice will depend on the representation of the type in - /// memory, and may change in an unstable fashion. - fn as_slice(&self) -> &[u8] { - // Safe because the entire size of self is accessible as bytes because the trait guarantees - // it. The lifetime of the returned slice is the same as the passed reference, so that no - // dangling pointers will result from this pointer alias. - unsafe { from_raw_parts(self as *const Self as *const u8, size_of::()) } - } - - /// Converts a mutable reference to `self` into a mutable slice of bytes. - /// - /// Because the slice is made from a reference to `self`, mutations to the returned slice are - /// immediately reflected in `self`. The value of bytes in the returned slice will depend on - /// the representation of the type in memory, and may change in an unstable fashion. - fn as_mut_slice(&mut self) -> &mut [u8] { - // Safe because the entire size of self is accessible as bytes because the trait guarantees - // it. The trait also guarantees that any combination of bytes is valid for this type, so - // modifying them in the form of a byte slice is valid. The lifetime of the returned slice - // is the same as the passed reference, so that no dangling pointers will result from this - // pointer alias. Although this does alias a mutable pointer, we do so by exclusively - // borrowing the given mutable reference. - unsafe { from_raw_parts_mut(self as *mut Self as *mut u8, size_of::()) } - } -} - -/// A container to host a range of bytes and access its content. -/// -/// Candidates which may implement this trait include: -/// - anonymous memory areas -/// - mmapped memory areas -/// - data files -/// - a proxy to access memory on remote -pub trait Bytes { - /// Associated error codes - type E; - - /// Writes a slice into the container at the specified address. - /// Returns the number of bytes written. The number of bytes written can - /// be less than the length of the slice if there isn't enough room in the - /// container. - fn write(&self, buf: &[u8], addr: A) -> Result; - - /// Reads to a slice from the container at the specified address. - /// Returns the number of bytes read. The number of bytes read can be less than the length - /// of the slice if there isn't enough room within the container. - fn read(&self, buf: &mut [u8], addr: A) -> Result; - - /// Writes the entire contents of a slice into the container at the specified address. - /// - /// Returns an error if there isn't enough room within the container to complete the entire - /// write. Part of the data may have been written nevertheless. - fn write_slice(&self, buf: &[u8], addr: A) -> Result<(), Self::E>; - - /// Reads from the container at the specified address to fill the entire buffer. - /// - /// Returns an error if there isn't enough room within the container to fill the entire buffer. - /// Part of the buffer may have been filled nevertheless. - fn read_slice(&self, buf: &mut [u8], addr: A) -> Result<(), Self::E>; - - /// Writes an object into the container at the specified address. - /// Returns Ok(()) if the object fits, or Err if it extends past the end. - fn write_obj(&self, val: T, addr: A) -> Result<(), Self::E> { - self.write_slice(val.as_slice(), addr) - } - - /// Reads an object from the container at the given address. - /// Reading from a volatile area isn't strictly safe as it could change mid-read. - /// However, as long as the type T is plain old data and can handle random initialization, - /// everything will be OK. - fn read_obj(&self, addr: A) -> Result { - let mut result: T = Default::default(); - self.read_slice(result.as_mut_slice(), addr).map(|_| result) - } - - /// Writes data from a readable object like a File and writes it into the container. - /// - /// # Arguments - /// * `addr` - Begin writing at this address. - /// * `src` - Copy from `src` into the container. - /// * `count` - Copy `count` bytes from `src` into the container. - fn read_from(&self, addr: A, src: &mut F, count: usize) -> Result - where - F: Read; - - /// Writes data from a readable object like a File and writes it into the container. - /// - /// # Arguments - /// * `addr` - Begin writing at this address. - /// * `src` - Copy from `src` into the container. - /// * `count` - Copy `count` bytes from `src` into the container. - fn read_exact_from(&self, addr: A, src: &mut F, count: usize) -> Result<(), Self::E> - where - F: Read; - - /// Reads data from the container to a writable object. - /// - /// # Arguments - /// * `addr` - Begin reading from this addr. - /// * `dst` - Copy from the container to `dst`. - /// * `count` - Copy `count` bytes from the container to `dst`. - fn write_to(&self, addr: A, dst: &mut F, count: usize) -> Result - where - F: Write; - - /// Reads data from the container to a writable object. - /// - /// # Arguments - /// * `addr` - Begin reading from this addr. - /// * `dst` - Copy from the container to `dst`. - /// * `count` - Copy `count` bytes from the container to `dst`. - fn write_all_to(&self, addr: A, dst: &mut F, count: usize) -> Result<(), Self::E> - where - F: Write; -} - -// All intrinsic types and arrays of intrinsic types are ByteValued. They are just numbers. -macro_rules! array_data_init { - ($T:ty, $($N:expr)+) => { - $( - unsafe impl ByteValued for [$T; $N] {} - )+ - } -} -macro_rules! data_init_type { - ($T:ty) => { - unsafe impl ByteValued for $T {} - array_data_init! { - $T, - 0 1 2 3 4 5 6 7 8 9 - 10 11 12 13 14 15 16 17 18 19 - 20 21 22 23 24 25 26 27 28 29 - 30 31 32 - } - }; -} -data_init_type!(u8); -data_init_type!(u16); -data_init_type!(u32); -data_init_type!(u64); -data_init_type!(usize); -data_init_type!(i8); -data_init_type!(i16); -data_init_type!(i32); -data_init_type!(i64); -data_init_type!(isize); - -#[cfg(test)] -mod tests { - use std::fmt::Debug; - use std::mem::{align_of, size_of}; - use ByteValued; - - fn from_slice_alignment() - where - T: ByteValued + PartialEq + Debug + Default, - { - let mut v = [0u8; 32]; - let pre_len = { - let (pre, _, _) = unsafe { v.align_to::() }; - pre.len() - }; - { - let aligned_v = &mut v[pre_len..pre_len + size_of::()]; - { - let from_aligned = T::from_slice(aligned_v); - let val: T = Default::default(); - assert_eq!(from_aligned, Some(&val)); - } - { - let from_aligned_mut = T::from_mut_slice(aligned_v); - let mut val: T = Default::default(); - assert_eq!(from_aligned_mut, Some(&mut val)); - } - } - for i in 1..size_of::() { - let begin = pre_len + i; - let end = begin + size_of::(); - let unaligned_v = &mut v[begin..end]; - { - let from_unaligned = T::from_slice(unaligned_v); - if align_of::() != 1 { - assert_eq!(from_unaligned, None); - } - } - { - let from_unaligned_mut = T::from_mut_slice(unaligned_v); - if align_of::() != 1 { - assert_eq!(from_unaligned_mut, None); - } - } - } - } - - #[test] - fn test_slice_alignment() { - from_slice_alignment::(); - from_slice_alignment::(); - from_slice_alignment::(); - from_slice_alignment::(); - from_slice_alignment::(); - from_slice_alignment::(); - from_slice_alignment::(); - from_slice_alignment::(); - from_slice_alignment::(); - from_slice_alignment::(); - } -} diff --git a/vendor/git-3e7c44ea7d5fd800/vm-memory/src/endian.rs b/vendor/git-3e7c44ea7d5fd800/vm-memory/src/endian.rs deleted file mode 100644 index ec37acad4..000000000 --- a/vendor/git-3e7c44ea7d5fd800/vm-memory/src/endian.rs +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -//! Explicit endian types useful for embedding in structs or reinterpreting data. -//! -//! Each endian type is guaarnteed to have the same size and alignment as a regular unsigned -//! primitive of the equal size. -//! -//! # Examples -//! -//! ``` -//! # use vm_memory::*; -//! let b: Be32 = From::from(3); -//! let l: Le32 = From::from(3); -//! -//! assert_eq!(b.to_native(), 3); -//! assert_eq!(l.to_native(), 3); -//! assert!(b == 3); -//! assert!(l == 3); -//! -//! let b_trans: u32 = unsafe { std::mem::transmute(b) }; -//! let l_trans: u32 = unsafe { std::mem::transmute(l) }; -//! -//! #[cfg(target_endian = "little")] -//! assert_eq!(l_trans, 3); -//! #[cfg(target_endian = "big")] -//! assert_eq!(b_trans, 3); -//! -//! assert_ne!(b_trans, l_trans); -//! ``` - -use std::mem::{align_of, size_of}; - -use bytes::ByteValued; - -macro_rules! const_assert { - ($condition:expr) => { - let _ = [(); 0 - !$condition as usize]; - }; -} - -macro_rules! endian_type { - ($old_type:ident, $new_type:ident, $to_new:ident, $from_new:ident) => { - /// An unsigned integer type of with an explicit endianness. - /// - /// See module level documentation for examples. - #[derive(Copy, Clone, Eq, PartialEq, Debug, Default)] - pub struct $new_type($old_type); - - impl $new_type { - fn _assert() { - const_assert!(align_of::<$new_type>() == align_of::<$old_type>()); - const_assert!(size_of::<$new_type>() == size_of::<$old_type>()); - } - - /// Converts `self` to the native endianness. - pub fn to_native(self) -> $old_type { - $old_type::$from_new(self.0) - } - } - - unsafe impl ByteValued for $new_type {} - - impl PartialEq<$old_type> for $new_type { - fn eq(&self, other: &$old_type) -> bool { - self.0 == $old_type::$to_new(*other) - } - } - - impl PartialEq<$new_type> for $old_type { - fn eq(&self, other: &$new_type) -> bool { - $old_type::$to_new(other.0) == *self - } - } - - impl Into<$old_type> for $new_type { - fn into(self) -> $old_type { - $old_type::$from_new(self.0) - } - } - - impl From<$old_type> for $new_type { - fn from(v: $old_type) -> $new_type { - $new_type($old_type::$to_new(v)) - } - } - }; -} - -endian_type!(u16, Le16, to_le, from_le); -endian_type!(u32, Le32, to_le, from_le); -endian_type!(u64, Le64, to_le, from_le); -endian_type!(usize, LeSize, to_le, from_le); -endian_type!(u16, Be16, to_be, from_be); -endian_type!(u32, Be32, to_be, from_be); -endian_type!(u64, Be64, to_be, from_be); -endian_type!(usize, BeSize, to_be, from_be); - -#[cfg(test)] -mod tests { - use super::*; - - use std::convert::From; - use std::mem::transmute; - - #[cfg(target_endian = "little")] - const NATIVE_LITTLE: bool = true; - #[cfg(target_endian = "big")] - const NATIVE_LITTLE: bool = false; - const NATIVE_BIG: bool = !NATIVE_LITTLE; - - macro_rules! endian_test { - ($old_type:ty, $new_type:ty, $test_name:ident, $native:expr) => { - mod $test_name { - use super::*; - - #[allow(overflowing_literals)] - #[test] - fn equality() { - let v = 0x0123_4567_89AB_CDEF as $old_type; - let endian_v: $new_type = From::from(v); - let endian_into: $old_type = endian_v.into(); - let endian_transmute: $old_type = unsafe { transmute(endian_v) }; - - if $native { - assert_eq!(endian_v, endian_transmute); - } else { - assert_eq!(endian_v, endian_transmute.swap_bytes()); - } - - assert_eq!(v, endian_into); - assert!(v == endian_v); - assert!(endian_v == v); - } - } - }; - } - - endian_test!(u16, Le16, test_le16, NATIVE_LITTLE); - endian_test!(u32, Le32, test_le32, NATIVE_LITTLE); - endian_test!(u64, Le64, test_le64, NATIVE_LITTLE); - endian_test!(usize, LeSize, test_le_size, NATIVE_LITTLE); - endian_test!(u16, Be16, test_be16, NATIVE_BIG); - endian_test!(u32, Be32, test_be32, NATIVE_BIG); - endian_test!(u64, Be64, test_be64, NATIVE_BIG); - endian_test!(usize, BeSize, test_be_size, NATIVE_BIG); -} diff --git a/vendor/git-3e7c44ea7d5fd800/vm-memory/src/guest_memory.rs b/vendor/git-3e7c44ea7d5fd800/vm-memory/src/guest_memory.rs deleted file mode 100644 index 5e97a2849..000000000 --- a/vendor/git-3e7c44ea7d5fd800/vm-memory/src/guest_memory.rs +++ /dev/null @@ -1,515 +0,0 @@ -// Copyright (C) 2019 Alibaba Cloud Computing. All rights reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the THIRD-PARTY file. - -//! Traits to track and access guest's physical memory. -//! -//! To make the abstraction as generic as possible, all the core traits declared here only define -//! methods to access guest's memory, and never define methods to manage (create, delete, insert, -//! remove etc) guest's memory. By this way, the guest memory consumers (virtio device drivers, -//! vhost drivers and boot loaders etc) may be decoupled from the guest memory provider (typically -//! a hypervisor). -//! -//! Traits and Structs -//! - [GuestAddress](struct.GuestAddress.html): represents a guest physical address (GPA). -//! - [MemoryRegionAddress](struct.MemoryRegionAddress.html): represents an offset inside a region. -//! - [GuestMemoryRegion](trait.GuestMemoryRegion.html): represent a continuous region of guest's -//! physical memory. -//! - [GuestMemory](trait.GuestMemroy.html): represent a collection of GuestMemoryRegion objects. -//! The main responsibilities of the GuestMemory trait are: -//! - hide the detail of accessing guest's physical address. -//! - map a request address to a GuestMemoryRegion object and relay the request to it. -//! - handle cases where an access request spanning two or more GuestMemoryRegion objects. - -use std::convert::From; -use std::fmt::{self, Display}; -use std::io::{self, Read, Write}; -use std::ops::{BitAnd, BitOr}; - -use address::{Address, AddressValue}; -use bytes::Bytes; -use volatile_memory; - -static MAX_ACCESS_CHUNK: usize = 4096; - -/// Errors associated with handling guest memory accesses. -#[allow(missing_docs)] -#[derive(Debug)] -pub enum Error { - /// Failure in finding a guest address in any memory regions mapped by this guest. - InvalidGuestAddress(GuestAddress), - /// Couldn't read/write from the given source. - IOError(io::Error), - /// Incomplete read or write - PartialBuffer { expected: usize, completed: usize }, - /// Requested backend address is out of range. - InvalidBackendAddress, -} - -impl From for Error { - fn from(e: volatile_memory::Error) -> Self { - match e { - volatile_memory::Error::OutOfBounds { .. } => Error::InvalidBackendAddress, - volatile_memory::Error::Overflow { .. } => Error::InvalidBackendAddress, - volatile_memory::Error::IOError(e) => Error::IOError(e), - volatile_memory::Error::PartialBuffer { - expected, - completed, - } => Error::PartialBuffer { - expected, - completed, - }, - } - } -} - -/// Result of guest memory operations -pub type Result = std::result::Result; - -impl std::error::Error for Error {} - -impl Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "Guest memory error: ")?; - match self { - Error::InvalidGuestAddress(addr) => { - write!(f, "invalid guest address {}", addr.raw_value()) - } - Error::IOError(error) => write!(f, "{}", error), - Error::PartialBuffer { - expected, - completed, - } => write!( - f, - "only used {} bytes in {} long buffer", - completed, expected, - ), - Error::InvalidBackendAddress => write!(f, "invalid backend address"), - } - } -} - -/// Represents a guest physical address (GPA). -/// -/// Notes: -/// - On ARM64, a 32-bit hypervisor may be used to support a 64-bit guest. For simplicity, -/// u64 is used to store the the raw value no matter if the guest a 32-bit or 64-bit virtual -/// machine. -#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd)] -pub struct GuestAddress(pub u64); -impl_address_ops!(GuestAddress, u64); - -/// Represents an offset inside a region. -#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd)] -pub struct MemoryRegionAddress(pub u64); -impl_address_ops!(MemoryRegionAddress, u64); - -/// Type of the raw value stored in a GuestAddress object. -pub type GuestUsize = ::V; - -/// Represents a continuous region of guest physical memory. -#[allow(clippy::len_without_is_empty)] -pub trait GuestMemoryRegion: Bytes { - /// Get the size of the region. - fn len(&self) -> GuestUsize; - - /// Get minimum (inclusive) address managed by the region. - fn start_addr(&self) -> GuestAddress; - - /// Get maximum (inclusive) address managed by the region. - fn end_addr(&self) -> GuestAddress { - // unchecked_add is safe as the region bounds were checked when it was created. - self.start_addr().unchecked_add(self.len() - 1) - } - - /// Returns the given address if it is within the memory range accessible - /// through this region. - fn check_address(&self, addr: MemoryRegionAddress) -> Option { - if self.address_in_range(addr) { - Some(addr) - } else { - None - } - } - - /// Returns true if the given address is within the memory range accessible - /// through this region. - fn address_in_range(&self, addr: MemoryRegionAddress) -> bool { - addr.raw_value() < self.len() - } - - /// Returns the address plus the offset if it is in range. - fn checked_offset( - &self, - base: MemoryRegionAddress, - offset: usize, - ) -> Option { - base.checked_add(offset as u64) - .and_then(|addr| self.check_address(addr)) - } - - /// Convert an absolute address into an address space (GuestMemory) - /// to a relative address within this region, or return an error if - /// it is out of bounds. - fn to_region_addr(&self, addr: GuestAddress) -> Option { - addr.checked_offset_from(self.start_addr()) - .and_then(|offset| self.check_address(MemoryRegionAddress(offset))) - } - - /// Return a slice corresponding to the data in the region; unsafe because of - /// possible aliasing. Return None if the region does not support slice-based - /// access. - unsafe fn as_slice(&self) -> Option<&[u8]> { - None - } - - /// Return a mutable slice corresponding to the data in the region; unsafe because of - /// possible aliasing. Return None if the region does not support slice-based - /// access. - unsafe fn as_mut_slice(&self) -> Option<&mut [u8]> { - None - } -} - -/// Represents a container for a collection of GuestMemoryRegion objects. -/// -/// The main responsibilities of the GuestMemory trait are: -/// - hide the detail of accessing guest's physical address. -/// - map a request address to a GuestMemoryRegion object and relay the request to it. -/// - handle cases where an access request spanning two or more GuestMemoryRegion objects. -/// -/// Note: all regions in a GuestMemory object must not intersect with each other. -pub trait GuestMemory { - /// Type of objects hosted by the address space. - type R: GuestMemoryRegion; - - /// Returns the number of regions in the collection. - fn num_regions(&self) -> usize; - - /// Return the region containing the specified address or None. - fn find_region(&self, addr: GuestAddress) -> Option<&Self::R>; - - /// Perform the specified action on each region. - /// It only walks children of current region and do not step into sub regions. - fn with_regions(&self, cb: F) -> std::result::Result<(), E> - where - F: Fn(usize, &Self::R) -> std::result::Result<(), E>; - - /// Perform the specified action on each region mutably. - /// It only walks children of current region and do not step into sub regions. - fn with_regions_mut(&self, cb: F) -> std::result::Result<(), E> - where - F: FnMut(usize, &Self::R) -> std::result::Result<(), E>; - - /// Applies two functions, specified as callbacks, on the inner memory regions. - /// - /// # Arguments - /// * `init` - Starting value of the accumulator for the `foldf` function. - /// * `mapf` - "Map" function, applied to all the inner memory regions. It returns an array of - /// the same size as the memory regions array, containing the function's results - /// for each region. - /// * `foldf` - "Fold" function, applied to the array returned by `mapf`. It acts as an - /// operator, applying itself to the `init` value and to each subsequent elemnent - /// in the array returned by `mapf`. - /// - /// # Examples - /// - /// * Compute the total size of all memory mappings in KB by iterating over the memory regions - /// and dividing their sizes to 1024, then summing up the values in an accumulator. - /// - /// ``` - /// # #[cfg(feature = "backend-mmap")] - /// # fn test_map_fold() -> Result<(), ()> { - /// # use vm_memory::{GuestAddress, GuestMemory, GuestMemoryRegion, mmap::GuestMemoryMmap}; - /// let start_addr1 = GuestAddress(0x0); - /// let start_addr2 = GuestAddress(0x400); - /// let mem = GuestMemoryMmap::new(&vec![(start_addr1, 1024), (start_addr2, 2048)]).unwrap(); - /// let total_size = mem.map_and_fold( - /// 0, - /// |(_, region)| region.len() / 1024, - /// |acc, size| acc + size - /// ); - /// println!("Total memory size = {} KB", total_size); - /// Ok(()) - /// # } - /// ``` - fn map_and_fold(&self, init: T, mapf: F, foldf: G) -> T - where - F: Fn((usize, &Self::R)) -> T, - G: Fn(T, T) -> T; - - /// Get maximum (inclusive) address managed by the region. - fn end_addr(&self) -> GuestAddress { - self.map_and_fold( - GuestAddress(0), - |(_, region)| region.end_addr(), - std::cmp::max, - ) - } - - /// Convert an absolute address into an address space (GuestMemory) - /// to a relative address within this region, or return None if - /// it is out of bounds. - fn to_region_addr(&self, addr: GuestAddress) -> Option<(&Self::R, MemoryRegionAddress)> { - self.find_region(addr) - .map(|r| (r, r.to_region_addr(addr).unwrap())) - } - - /// Returns true if the given address is within the memory range available to the guest. - fn address_in_range(&self, addr: GuestAddress) -> bool { - self.find_region(addr).is_some() - } - - /// Returns the given address if it is within the memory range available to the guest. - fn check_address(&self, addr: GuestAddress) -> Option { - self.find_region(addr).map(|_| addr) - } - - /// Returns the address plus the offset if it is in range. - fn checked_offset(&self, base: GuestAddress, offset: usize) -> Option { - base.checked_add(offset as u64) - .and_then(|addr| self.check_address(addr)) - } - - /// Invoke callback `f` to handle data in the address range [addr, addr + count). - /// - /// The address range [addr, addr + count) may span more than one GuestMemoryRegion objects, or - /// even has holes within it. So try_access() invokes the callback 'f' for each GuestMemoryRegion - /// object involved and returns: - /// - error code returned by the callback 'f' - /// - size of data already handled when encountering the first hole - /// - size of data already handled when the whole range has been handled - fn try_access(&self, count: usize, addr: GuestAddress, mut f: F) -> Result - where - F: FnMut(usize, usize, MemoryRegionAddress, &Self::R) -> Result, - { - let mut cur = addr; - let mut total = 0; - while let Some(region) = self.find_region(cur) { - let start = region.to_region_addr(cur).unwrap(); - let cap = region.len() as usize; - let len = std::cmp::min(cap, count - total); - match f(total, len, start, region) { - // no more data - Ok(0) => break, - // made some progress - Ok(len) => { - total += len; - if total == count { - break; - } - cur = match cur.overflowing_add(len as GuestUsize) { - (GuestAddress(0), _) => GuestAddress(0), - (result, false) => result, - (_, true) => panic!("guest address overflow"), - } - } - // error happened - e => return e, - } - } - if total == 0 { - Err(Error::InvalidGuestAddress(addr)) - } else { - Ok(total) - } - } -} - -impl Bytes for T { - type E = Error; - - fn write(&self, buf: &[u8], addr: GuestAddress) -> Result { - self.try_access( - buf.len(), - addr, - |offset, _count, caddr, region| -> Result { - region.write(&buf[offset as usize..], caddr) - }, - ) - } - - fn read(&self, buf: &mut [u8], addr: GuestAddress) -> Result { - self.try_access( - buf.len(), - addr, - |offset, _count, caddr, region| -> Result { - region.read(&mut buf[offset as usize..], caddr) - }, - ) - } - - fn write_slice(&self, buf: &[u8], addr: GuestAddress) -> Result<()> { - let res = self.write(buf, addr)?; - if res != buf.len() { - return Err(Error::PartialBuffer { - expected: buf.len(), - completed: res, - }); - } - Ok(()) - } - - fn read_slice(&self, buf: &mut [u8], addr: GuestAddress) -> Result<()> { - let res = self.read(buf, addr)?; - if res != buf.len() { - return Err(Error::PartialBuffer { - expected: buf.len(), - completed: res, - }); - } - Ok(()) - } - - fn read_from(&self, addr: GuestAddress, src: &mut F, count: usize) -> Result - where - F: Read, - { - self.try_access(count, addr, |offset, len, caddr, region| -> Result { - // Check if something bad happened before doing unsafe things. - assert!(offset < count); - if let Some(dst) = unsafe { region.as_mut_slice() } { - // This is safe cause `start` and `len` are within the `region`. - let start = caddr.raw_value() as usize; - let end = start + len; - src.read_exact(&mut dst[start..end]) - .map_err(Error::IOError)?; - Ok(len) - } else { - let len = std::cmp::min(len, MAX_ACCESS_CHUNK); - let mut buf = vec![0u8; len].into_boxed_slice(); - let bytes_read = src.read(&mut buf[..]).map_err(Error::IOError)?; - let bytes_written = region.write(&buf[0..bytes_read], caddr)?; - assert_eq!(bytes_written, bytes_read); - Ok(len) - } - }) - } - - fn read_exact_from(&self, addr: GuestAddress, src: &mut F, count: usize) -> Result<()> - where - F: Read, - { - let res = self.read_from(addr, src, count)?; - if res != count { - return Err(Error::PartialBuffer { - expected: count, - completed: res, - }); - } - Ok(()) - } - - fn write_to(&self, addr: GuestAddress, dst: &mut F, count: usize) -> Result - where - F: Write, - { - self.try_access(count, addr, |offset, len, caddr, region| -> Result { - // Check if something bad happened before doing unsafe things. - assert!(offset < count); - if let Some(src) = unsafe { region.as_slice() } { - // This is safe cause `start` and `len` are within the `region`. - let start = caddr.raw_value() as usize; - let end = start + len; - // It is safe to read from volatile memory. Accessing the guest - // memory as a slice is OK because nothing assumes another thread - // won't change what is loaded. - let bytes_written = dst.write(&src[start..end]).map_err(Error::IOError)?; - Ok(bytes_written) - } else { - let len = std::cmp::min(len, MAX_ACCESS_CHUNK); - let mut buf = vec![0u8; len].into_boxed_slice(); - let bytes_read = region.read(&mut buf, caddr)?; - assert_eq!(bytes_read, len); - let bytes_written = dst.write(&buf).map_err(Error::IOError)?; - Ok(bytes_written) - } - }) - } - - fn write_all_to(&self, addr: GuestAddress, dst: &mut F, count: usize) -> Result<()> - where - F: Write, - { - let res = self.write_to(addr, dst, count)?; - if res != count { - return Err(Error::PartialBuffer { - expected: count, - completed: res, - }); - } - Ok(()) - } -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn offset_from() { - let base = GuestAddress(0x100); - let addr = GuestAddress(0x150); - assert_eq!(addr.unchecked_offset_from(base), 0x50u64); - assert_eq!(addr.checked_offset_from(base), Some(0x50u64)); - assert_eq!(base.checked_offset_from(addr), None); - } - - #[test] - fn equals() { - let a = GuestAddress(0x300); - let b = GuestAddress(0x300); - let c = GuestAddress(0x301); - assert_eq!(a, GuestAddress(a.raw_value())); - assert_eq!(a, b); - assert_eq!(b, a); - assert_ne!(a, c); - assert_ne!(c, a); - } - - #[test] - #[allow(clippy::eq_op)] - fn cmp() { - let a = GuestAddress(0x300); - let b = GuestAddress(0x301); - assert!(a < b); - assert!(b > a); - assert!(!(a < a)); - } - - #[test] - fn mask() { - let a = GuestAddress(0x5050); - assert_eq!(GuestAddress(0x5000), a & 0xff00u64); - assert_eq!(0x5000, a.mask(0xff00u64)); - assert_eq!(GuestAddress(0x5055), a | 0x0005u64); - } - - #[test] - fn add_sub() { - let a = GuestAddress(0x50); - let b = GuestAddress(0x60); - assert_eq!(Some(GuestAddress(0xb0)), a.checked_add(0x60)); - assert_eq!(0x10, b.unchecked_offset_from(a)); - } - - #[test] - fn checked_add_overflow() { - let a = GuestAddress(0xffff_ffff_ffff_ff55); - assert_eq!(Some(GuestAddress(0xffff_ffff_ffff_ff57)), a.checked_add(2)); - assert!(a.checked_add(0xf0).is_none()); - } - - #[test] - fn checked_sub_underflow() { - let a = GuestAddress(0xff); - assert_eq!(Some(GuestAddress(0x0f)), a.checked_sub(0xf0)); - assert!(a.checked_sub(0xffff).is_none()); - } -} diff --git a/vendor/git-3e7c44ea7d5fd800/vm-memory/src/lib.rs b/vendor/git-3e7c44ea7d5fd800/vm-memory/src/lib.rs deleted file mode 100644 index 2fc57ffad..000000000 --- a/vendor/git-3e7c44ea7d5fd800/vm-memory/src/lib.rs +++ /dev/null @@ -1,57 +0,0 @@ -// Portions Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the THIRD-PARTY file. - -//! Traits for allocating, handling and interacting with the VM's physical memory. -//! -//! For a typical hypervisor, there are seveval components, such as boot loader, virtual device -//! drivers, virtio backend drivers and vhost drivers etc, that need to access VM's physical memory. -//! This crate aims to provide a set of stable traits to decouple VM memory consumers from VM -//! memory providers. Based on these traits, VM memory consumers could access VM's physical memory -//! without knowing the implementation details of the VM memory provider. Thus hypervisor -//! components, such as boot loader, virtual device drivers, virtio backend drivers and vhost -//! drivers etc, could be shared and reused by multiple hypervisors. - -#![deny(missing_docs)] - -extern crate libc; - -#[cfg(test)] -#[macro_use] -extern crate matches; - -#[macro_use] -pub mod address; -pub use address::{Address, AddressValue}; - -pub mod bytes; -pub use bytes::{ByteValued, Bytes}; - -pub mod endian; -pub use endian::{Be16, Be32, Be64, BeSize, Le16, Le32, Le64, LeSize}; - -pub mod guest_memory; -pub use guest_memory::{ - Error as GuestMemoryError, GuestAddress, GuestMemory, GuestMemoryRegion, GuestUsize, - MemoryRegionAddress, Result as GuestMemoryResult, -}; - -#[cfg(all(feature = "backend-mmap", unix))] -mod mmap_unix; - -#[cfg(all(feature = "backend-mmap", windows))] -mod mmap_windows; - -#[cfg(feature = "backend-mmap")] -pub mod mmap; -#[cfg(feature = "backend-mmap")] -pub use mmap::{GuestMemoryMmap, GuestRegionMmap, MmapError, MmapRegion}; - -pub mod volatile_memory; -pub use volatile_memory::{ - Error as VolatileMemoryError, Result as VolatileMemoryResult, VolatileMemory, VolatileRef, - VolatileSlice, -}; diff --git a/vendor/git-3e7c44ea7d5fd800/vm-memory/src/mmap.rs b/vendor/git-3e7c44ea7d5fd800/vm-memory/src/mmap.rs deleted file mode 100644 index 1a60e57e4..000000000 --- a/vendor/git-3e7c44ea7d5fd800/vm-memory/src/mmap.rs +++ /dev/null @@ -1,681 +0,0 @@ -// Copyright (C) 2019 Alibaba Cloud Computing. All rights reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the THIRD-PARTY file. - -//! A default implementation of the GuestMemory trait by mmap()-ing guest's memory into the current -//! process. -//! -//! The main structs to access guest's memory are: -//! - [MmapRegion](struct.MmapRegion.html): mmap a continuous region of guest's memory into the -//! current process -//! - [GuestRegionMmap](struct.GuestRegionMmap.html): tracks a mapping of memory in the current -//! process and the corresponding base address. It relays guest memory access requests to the -//! underline [MmapRegion](struct.MmapRegion.html) object. -//! - [GuestMemoryMmap](struct.GuestMemoryMmap.html): provides methods to access a collection of -//! GuestRegionMmap objects. - -use std::io::{self, Read, Write}; -use std::ops::Deref; -use std::sync::Arc; - -use address::Address; -use guest_memory::*; -use volatile_memory::VolatileMemory; -use Bytes; - -#[cfg(unix)] -pub use mmap_unix::MmapRegion; - -#[cfg(windows)] -pub use mmap_windows::MmapRegion; - -// For MmapRegion -pub(crate) trait AsSlice { - unsafe fn as_slice(&self) -> &[u8]; - - #[allow(clippy::mut_from_ref)] - unsafe fn as_mut_slice(&self) -> &mut [u8]; -} - -/// Errors that can happen when creating a memory map -#[derive(Debug)] -pub enum MmapError { - /// Syscall returned the given error. - SystemCallFailed(io::Error), - /// No memory region found. - NoMemoryRegion, - /// Some of the memory regions intersect with each other. - MemoryRegionOverlap, -} - -/// Tracks a mapping of memory in the current process and the corresponding base address -/// in the guest's memory space. -#[derive(Debug)] -pub struct GuestRegionMmap { - mapping: MmapRegion, - guest_base: GuestAddress, -} - -impl GuestRegionMmap { - /// Create a new memory-mapped memory region for guest's physical memory. - /// Note: caller needs to ensure that (mapping.len() + guest_base) doesn't wrapping around. - pub fn new(mapping: MmapRegion, guest_base: GuestAddress) -> Self { - GuestRegionMmap { - mapping, - guest_base, - } - } - - /// Convert an absolute address into an address space (GuestMemory) - /// to a host pointer, or return None if it is out of bounds. - pub fn get_host_address(&self, addr: MemoryRegionAddress) -> Option<*mut u8> { - // Not sure why wrapping_offset is not unsafe. Anyway this - // is safe because we've just range-checked addr using check_address. - self.check_address(addr) - .map(|addr| self.as_ptr().wrapping_offset(addr.raw_value() as isize)) - } -} - -impl Deref for GuestRegionMmap { - type Target = MmapRegion; - - fn deref(&self) -> &MmapRegion { - &self.mapping - } -} - -impl Bytes for GuestRegionMmap { - type E = Error; - - /// # Examples - /// * Write a slice at guest address 0x1200. - /// - /// ``` - /// # use vm_memory::{Bytes, GuestAddress, GuestMemoryMmap}; - /// # let start_addr = GuestAddress(0x1000); - /// # let mut gm = GuestMemoryMmap::new(&vec![(start_addr, 0x400)]).unwrap(); - /// let res = gm.write(&[1,2,3,4,5], GuestAddress(0x1200)).unwrap(); - /// assert_eq!(5, res); - /// ``` - fn write(&self, buf: &[u8], addr: MemoryRegionAddress) -> Result { - let maddr = addr.raw_value() as usize; - self.as_volatile_slice() - .write(buf, maddr) - .map_err(Into::into) - } - - /// # Examples - /// * Read a slice of length 16 at guestaddress 0x1200. - /// - /// ``` - /// # use vm_memory::{Bytes, GuestAddress, GuestMemoryMmap}; - /// # let start_addr = GuestAddress(0x1000); - /// # let mut gm = GuestMemoryMmap::new(&vec![(start_addr, 0x400)]).unwrap(); - /// let buf = &mut [0u8; 16]; - /// let res = gm.read(buf, GuestAddress(0x1200)).unwrap(); - /// assert_eq!(16, res); - /// ``` - fn read(&self, buf: &mut [u8], addr: MemoryRegionAddress) -> Result { - let maddr = addr.raw_value() as usize; - self.as_volatile_slice() - .read(buf, maddr) - .map_err(Into::into) - } - - fn write_slice(&self, buf: &[u8], addr: MemoryRegionAddress) -> Result<()> { - let maddr = addr.raw_value() as usize; - self.as_volatile_slice() - .write_slice(buf, maddr) - .map_err(Into::into) - } - - fn read_slice(&self, buf: &mut [u8], addr: MemoryRegionAddress) -> Result<()> { - let maddr = addr.raw_value() as usize; - self.as_volatile_slice() - .read_slice(buf, maddr) - .map_err(Into::into) - } - - /// # Examples - /// - /// * Read bytes from /dev/urandom - /// - /// ``` - /// # use vm_memory::{Address, Bytes, GuestAddress, GuestMemoryMmap}; - /// # use std::fs::File; - /// # use std::path::Path; - /// # let start_addr = GuestAddress(0x1000); - /// # let gm = GuestMemoryMmap::new(&vec![(start_addr, 0x400)]).unwrap(); - /// let mut file = if cfg!(unix) { - /// File::open(Path::new("/dev/urandom")).unwrap() - /// } else { - /// File::open(Path::new("c:\\Windows\\system32\\ntoskrnl.exe")).unwrap() - /// }; - /// let addr = GuestAddress(0x1010); - /// gm.read_from(addr, &mut file, 128).unwrap(); - /// let read_addr = addr.checked_add(8).unwrap(); - /// let _: u32 = gm.read_obj(read_addr).unwrap(); - /// ``` - fn read_from(&self, addr: MemoryRegionAddress, src: &mut F, count: usize) -> Result - where - F: Read, - { - let maddr = addr.raw_value() as usize; - self.as_volatile_slice() - .read_from::(maddr, src, count) - .map_err(Into::into) - } - - /// # Examples - /// - /// * Read bytes from /dev/urandom - /// - /// ``` - /// # extern crate tempfile; - /// # use self::tempfile::tempfile; - /// # use vm_memory::{Address, Bytes, GuestAddress, GuestMemoryMmap}; - /// # use std::fs::File; - /// # use std::path::Path; - /// # let start_addr = GuestAddress(0x1000); - /// # let gm = GuestMemoryMmap::new(&vec![(start_addr, 0x400)]).unwrap(); - /// let mut file = if cfg!(unix) { - /// File::open(Path::new("/dev/urandom")).unwrap() - /// } else { - /// File::open(Path::new("c:\\Windows\\system32\\ntoskrnl.exe")).unwrap() - /// }; - /// let addr = GuestAddress(0x1010); - /// gm.read_exact_from(addr, &mut file, 128).unwrap(); - /// let read_addr = addr.checked_add(8).unwrap(); - /// let _: u32 = gm.read_obj(read_addr).unwrap(); - /// ``` - fn read_exact_from(&self, addr: MemoryRegionAddress, src: &mut F, count: usize) -> Result<()> - where - F: Read, - { - let maddr = addr.raw_value() as usize; - self.as_volatile_slice() - .read_exact_from::(maddr, src, count) - .map_err(Into::into) - } - - /// Writes data from the region to a writable object. - /// - /// # Examples - /// - /// * Write 128 bytes to a temp file - /// - /// ``` - /// # extern crate tempfile; - /// # use self::tempfile::tempfile; - /// # use vm_memory::{Address, Bytes, GuestAddress, GuestMemoryMmap}; - /// # use std::fs::OpenOptions; - /// # let start_addr = GuestAddress(0x1000); - /// # let gm = GuestMemoryMmap::new(&vec![(start_addr, 0x400)]).unwrap(); - /// let mut file = tempfile().unwrap(); - /// let mut mem = [0u8; 1024]; - /// gm.write_to(start_addr, &mut file, 128).unwrap(); - /// ``` - fn write_to(&self, addr: MemoryRegionAddress, dst: &mut F, count: usize) -> Result - where - F: Write, - { - let maddr = addr.raw_value() as usize; - self.as_volatile_slice() - .write_to::(maddr, dst, count) - .map_err(Into::into) - } - - /// Writes data from the region to a writable object. - /// - /// # Examples - /// - /// * Write 128 bytes to a temp file - /// - /// ``` - /// # extern crate tempfile; - /// # use self::tempfile::tempfile; - /// # use vm_memory::{Address, Bytes, GuestAddress, GuestMemoryMmap}; - /// # use std::fs::OpenOptions; - /// # let start_addr = GuestAddress(0x1000); - /// # let gm = GuestMemoryMmap::new(&vec![(start_addr, 0x400)]).unwrap(); - /// let mut file = tempfile().unwrap(); - /// let mut mem = [0u8; 1024]; - /// gm.write_all_to(start_addr, &mut file, 128).unwrap(); - /// ``` - fn write_all_to(&self, addr: MemoryRegionAddress, dst: &mut F, count: usize) -> Result<()> - where - F: Write, - { - let maddr = addr.raw_value() as usize; - self.as_volatile_slice() - .write_all_to::(maddr, dst, count) - .map_err(Into::into) - } -} - -impl GuestMemoryRegion for GuestRegionMmap { - fn len(&self) -> GuestUsize { - self.mapping.len() as GuestUsize - } - - fn start_addr(&self) -> GuestAddress { - self.guest_base - } - - unsafe fn as_slice(&self) -> Option<&[u8]> { - Some(self.mapping.as_slice()) - } - - unsafe fn as_mut_slice(&self) -> Option<&mut [u8]> { - Some(self.mapping.as_mut_slice()) - } -} - -/// Tracks memory regions allocated/mapped for the guest in the current process. -#[derive(Clone, Debug)] -pub struct GuestMemoryMmap { - regions: Arc>, -} - -impl GuestMemoryMmap { - /// Creates a container and allocates anonymous memory for guest memory regions. - /// Valid memory regions are specified as a Vec of (Address, Size) tuples sorted by Address. - pub fn new(ranges: &[(GuestAddress, usize)]) -> std::result::Result { - if ranges.is_empty() { - return Err(MmapError::NoMemoryRegion); - } - - let mut regions = Vec::::new(); - for range in ranges.iter() { - if let Some(last) = regions.last() { - if last - .guest_base - .checked_add(last.mapping.len() as GuestUsize) - .map_or(true, |a| a > range.0) - { - return Err(MmapError::MemoryRegionOverlap); - } - } - - let mapping = MmapRegion::new(range.1).map_err(MmapError::SystemCallFailed)?; - regions.push(GuestRegionMmap { - mapping, - guest_base: range.0, - }); - } - - Ok(Self { - regions: Arc::new(regions), - }) - } - - /// Creates a container and adds an existing set of mappings to it. - pub fn from_regions(ranges: Vec) -> std::result::Result { - if ranges.is_empty() { - return Err(MmapError::NoMemoryRegion); - } - - for rangei in 1..ranges.len() { - let range = &ranges[rangei]; - let last = &ranges[rangei - 1]; - if last - .guest_base - .checked_add(last.mapping.len() as GuestUsize) - .map_or(true, |a| a > range.start_addr()) - { - return Err(MmapError::MemoryRegionOverlap); - } - } - - Ok(Self { - regions: Arc::new(ranges), - }) - } - - /// Convert an absolute address into an address space (GuestMemory) - /// to a host pointer, or return None if it is out of bounds. - pub fn get_host_address(&self, addr: GuestAddress) -> Option<*mut u8> { - self.to_region_addr(addr) - .and_then(|(r, addr)| r.get_host_address(addr)) - } -} - -impl GuestMemory for GuestMemoryMmap { - type R = GuestRegionMmap; - - fn num_regions(&self) -> usize { - self.regions.len() - } - - fn find_region(&self, addr: GuestAddress) -> Option<&GuestRegionMmap> { - for region in self.regions.iter() { - if addr >= region.start_addr() && addr <= region.end_addr() { - return Some(region); - } - } - None - } - - fn with_regions(&self, cb: F) -> std::result::Result<(), E> - where - F: Fn(usize, &Self::R) -> std::result::Result<(), E>, - { - for (index, region) in self.regions.iter().enumerate() { - cb(index, region)?; - } - Ok(()) - } - - fn with_regions_mut(&self, mut cb: F) -> std::result::Result<(), E> - where - F: FnMut(usize, &Self::R) -> std::result::Result<(), E>, - { - for (index, region) in self.regions.iter().enumerate() { - cb(index, region)?; - } - Ok(()) - } - - fn map_and_fold(&self, init: T, mapf: F, foldf: G) -> T - where - F: Fn((usize, &Self::R)) -> T, - G: Fn(T, T) -> T, - { - self.regions.iter().enumerate().map(mapf).fold(init, foldf) - } -} - -#[cfg(test)] -mod tests { - extern crate tempfile; - - use self::tempfile::tempfile; - use super::*; - use std::fs::File; - use std::mem; - use std::path::Path; - - use Bytes; - - #[test] - fn basic_map() { - let m = MmapRegion::new(1024).unwrap(); - assert_eq!(1024, m.len()); - } - - #[test] - fn map_invalid_size() { - let e = MmapRegion::new(0).unwrap_err(); - assert_eq!(e.raw_os_error(), Some(libc::EINVAL)); - } - - #[test] - fn slice_addr() { - let m = MmapRegion::new(5).unwrap(); - let s = m.get_slice(2, 3).unwrap(); - assert_eq!(s.as_ptr(), unsafe { m.as_ptr().offset(2) }); - } - - #[test] - fn mapped_file_read() { - let mut f = tempfile().unwrap(); - let sample_buf = &[1, 2, 3, 4, 5]; - assert!(f.write_all(sample_buf).is_ok()); - - let mem_map = MmapRegion::from_fd(&f, sample_buf.len(), 0).unwrap(); - let buf = &mut [0u8; 16]; - assert_eq!( - mem_map.as_volatile_slice().read(buf, 0).unwrap(), - sample_buf.len() - ); - assert_eq!(buf[0..sample_buf.len()], sample_buf[..]); - } - - #[test] - fn test_regions() { - // No regions provided should return error. - assert_eq!( - format!("{:?}", GuestMemoryMmap::new(&[]).err().unwrap()), - format!("{:?}", MmapError::NoMemoryRegion) - ); - - let start_addr1 = GuestAddress(0x0); - let start_addr2 = GuestAddress(0x800); - let guest_mem = - GuestMemoryMmap::new(&[(start_addr1, 0x400), (start_addr2, 0x400)]).unwrap(); - assert_eq!(guest_mem.num_regions(), 2); - assert_eq!(guest_mem.end_addr(), GuestAddress(0xbff)); - assert!(guest_mem.find_region(GuestAddress(0x200)).is_some()); - assert!(guest_mem.find_region(GuestAddress(0x600)).is_none()); - assert!(guest_mem.find_region(GuestAddress(0xa00)).is_some()); - assert!(guest_mem.find_region(GuestAddress(0xc00)).is_none()); - } - - #[test] - fn test_address_in_range() { - let start_addr1 = GuestAddress(0x0); - let start_addr2 = GuestAddress(0x800); - let guest_mem = - GuestMemoryMmap::new(&[(start_addr1, 0x400), (start_addr2, 0x400)]).unwrap(); - assert!(guest_mem.address_in_range(GuestAddress(0x200))); - assert!(!guest_mem.address_in_range(GuestAddress(0x600))); - assert!(guest_mem.address_in_range(GuestAddress(0xa00))); - assert!(!guest_mem.address_in_range(GuestAddress(0xc00))); - } - - #[test] - fn test_check_address() { - let start_addr1 = GuestAddress(0x0); - let start_addr2 = GuestAddress(0x800); - let guest_mem = - GuestMemoryMmap::new(&[(start_addr1, 0x400), (start_addr2, 0x400)]).unwrap(); - assert_eq!( - guest_mem.check_address(GuestAddress(0x200)), - Some(GuestAddress(0x200)) - ); - assert_eq!(guest_mem.check_address(GuestAddress(0x600)), None); - assert_eq!( - guest_mem.check_address(GuestAddress(0xa00)), - Some(GuestAddress(0xa00)) - ); - assert_eq!(guest_mem.check_address(GuestAddress(0xc00)), None); - } - - #[test] - fn test_to_region_addr() { - let start_addr1 = GuestAddress(0x0); - let start_addr2 = GuestAddress(0x800); - let guest_mem = - GuestMemoryMmap::new(&[(start_addr1, 0x400), (start_addr2, 0x400)]).unwrap(); - assert!(guest_mem.to_region_addr(GuestAddress(0x600)).is_none()); - let (r0, addr0) = guest_mem.to_region_addr(GuestAddress(0x800)).unwrap(); - let (r1, addr1) = guest_mem.to_region_addr(GuestAddress(0xa00)).unwrap(); - assert!(r0.as_ptr() == r1.as_ptr()); - assert_eq!(addr0, MemoryRegionAddress(0)); - assert_eq!(addr1, MemoryRegionAddress(0x200)); - } - - #[test] - fn test_get_host_address() { - let start_addr1 = GuestAddress(0x0); - let start_addr2 = GuestAddress(0x800); - let guest_mem = - GuestMemoryMmap::new(&[(start_addr1, 0x400), (start_addr2, 0x400)]).unwrap(); - assert!(guest_mem.get_host_address(GuestAddress(0x600)).is_none()); - let ptr0 = guest_mem.get_host_address(GuestAddress(0x800)).unwrap(); - let ptr1 = guest_mem.get_host_address(GuestAddress(0xa00)).unwrap(); - assert_eq!( - ptr0, - guest_mem.find_region(GuestAddress(0x800)).unwrap().as_ptr() - ); - assert_eq!(unsafe { ptr0.offset(0x200) }, ptr1); - } - - #[test] - fn test_deref() { - let start_addr = GuestAddress(0x0); - let guest_mem = GuestMemoryMmap::new(&[(start_addr, 0x400)]).unwrap(); - let sample_buf = &[1, 2, 3, 4, 5]; - - assert_eq!(guest_mem.write(sample_buf, start_addr).unwrap(), 5); - let slice = guest_mem - .find_region(GuestAddress(0)) - .unwrap() - .as_volatile_slice(); - - let buf = &mut [0, 0, 0, 0, 0]; - assert_eq!(slice.read(buf, 0).unwrap(), 5); - assert_eq!(buf, sample_buf); - } - - #[test] - fn mapped_file_regions() { - let mut f = tempfile().unwrap(); - let empty_buf = &[0; 16384]; - assert!(f.write_all(empty_buf).is_ok()); - - let mem_map = MmapRegion::from_fd(&f, empty_buf.len(), 0).unwrap(); - let guest_reg = GuestRegionMmap::new(mem_map, GuestAddress(0x8000)); - let mut region_vec = Vec::new(); - region_vec.push(guest_reg); - let guest_mem = GuestMemoryMmap::from_regions(region_vec).unwrap(); - assert_eq!(guest_mem.num_regions(), 1); - assert!(guest_mem.find_region(GuestAddress(0)).is_none()); - assert!(guest_mem.find_region(GuestAddress(0x8000)).is_some()); - } - - #[test] - fn overlap_memory() { - let start_addr1 = GuestAddress(0x0); - let start_addr2 = GuestAddress(0x1000); - let res = GuestMemoryMmap::new(&[(start_addr1, 0x2000), (start_addr2, 0x2000)]); - assert_eq!( - format!("{:?}", res.err().unwrap()), - format!("{:?}", MmapError::MemoryRegionOverlap) - ); - } - - #[test] - fn test_read_u64() { - let start_addr1 = GuestAddress(0x0); - let start_addr2 = GuestAddress(0x1000); - let bad_addr = GuestAddress(0x2001); - let bad_addr2 = GuestAddress(0x1ffc); - let max_addr = GuestAddress(0x2000); - - let gm = GuestMemoryMmap::new(&[(start_addr1, 0x1000), (start_addr2, 0x1000)]).unwrap(); - - let val1: u64 = 0xaa55_aa55_aa55_aa55; - let val2: u64 = 0x55aa_55aa_55aa_55aa; - assert_eq!( - format!("{:?}", gm.write_obj(val1, bad_addr).err().unwrap()), - format!("InvalidGuestAddress({:?})", bad_addr,) - ); - assert_eq!( - format!("{:?}", gm.write_obj(val1, bad_addr2).err().unwrap()), - format!( - "PartialBuffer {{ expected: {:?}, completed: {:?} }}", - mem::size_of::(), - max_addr.checked_offset_from(bad_addr2).unwrap() - ) - ); - - gm.write_obj(val1, GuestAddress(0x500)).unwrap(); - gm.write_obj(val2, GuestAddress(0x1000 + 32)).unwrap(); - let num1: u64 = gm.read_obj(GuestAddress(0x500)).unwrap(); - let num2: u64 = gm.read_obj(GuestAddress(0x1000 + 32)).unwrap(); - assert_eq!(val1, num1); - assert_eq!(val2, num2); - } - - #[test] - fn write_and_read() { - let mut start_addr = GuestAddress(0x1000); - let gm = GuestMemoryMmap::new(&[(start_addr, 0x400)]).unwrap(); - let sample_buf = &[1, 2, 3, 4, 5]; - - assert_eq!(gm.write(sample_buf, start_addr).unwrap(), 5); - - let buf = &mut [0u8; 5]; - assert_eq!(gm.read(buf, start_addr).unwrap(), 5); - assert_eq!(buf, sample_buf); - - start_addr = GuestAddress(0x13ff); - assert_eq!(gm.write(sample_buf, start_addr).unwrap(), 1); - assert_eq!(gm.read(buf, start_addr).unwrap(), 1); - assert_eq!(buf[0], sample_buf[0]); - } - - #[test] - fn read_to_and_write_from_mem() { - let gm = GuestMemoryMmap::new(&[(GuestAddress(0x1000), 0x400)]).unwrap(); - let addr = GuestAddress(0x1010); - let mut file = if cfg!(unix) { - File::open(Path::new("/dev/zero")).unwrap() - } else { - File::open(Path::new("c:\\Windows\\system32\\ntoskrnl.exe")).unwrap() - }; - gm.write_obj(!0u32, addr).unwrap(); - gm.read_exact_from(addr, &mut file, mem::size_of::()) - .unwrap(); - let value: u32 = gm.read_obj(addr).unwrap(); - if cfg!(unix) { - assert_eq!(value, 0); - } else { - assert_eq!(value, 0x0090_5a4d); - } - - let mut sink = Vec::new(); - gm.write_all_to(addr, &mut sink, mem::size_of::()) - .unwrap(); - if cfg!(unix) { - assert_eq!(sink, vec![0; mem::size_of::()]); - } else { - assert_eq!(sink, vec![0x4d, 0x5a, 0x90, 0x00]); - }; - } - - #[test] - fn create_vec_with_regions() { - let region_size = 0x400; - let regions = vec![ - (GuestAddress(0x0), region_size), - (GuestAddress(0x1000), region_size), - ]; - let mut iterated_regions = Vec::new(); - let gm = GuestMemoryMmap::new(®ions).unwrap(); - - let res: Result<()> = gm.with_regions(|_, region| { - assert_eq!(region.len(), region_size as GuestUsize); - Ok(()) - }); - assert!(res.is_ok()); - - let res: Result<()> = gm.with_regions_mut(|_, region| { - iterated_regions.push((region.start_addr(), region.len() as usize)); - Ok(()) - }); - assert!(res.is_ok()); - assert_eq!(regions, iterated_regions); - assert_eq!(gm.clone().regions[0].guest_base, regions[0].0); - assert_eq!(gm.clone().regions[1].guest_base, regions[1].0); - } - - #[test] - fn test_access_cross_boundary() { - let start_addr1 = GuestAddress(0x0); - let start_addr2 = GuestAddress(0x1000); - let gm = GuestMemoryMmap::new(&[(start_addr1, 0x1000), (start_addr2, 0x1000)]).unwrap(); - let sample_buf = &[1, 2, 3, 4, 5]; - assert_eq!(gm.write(sample_buf, GuestAddress(0xffc)).unwrap(), 5); - let buf = &mut [0u8; 5]; - assert_eq!(gm.read(buf, GuestAddress(0xffc)).unwrap(), 5); - assert_eq!(buf, sample_buf); - } -} diff --git a/vendor/git-3e7c44ea7d5fd800/vm-memory/src/mmap_unix.rs b/vendor/git-3e7c44ea7d5fd800/vm-memory/src/mmap_unix.rs deleted file mode 100644 index 4ebf8f412..000000000 --- a/vendor/git-3e7c44ea7d5fd800/vm-memory/src/mmap_unix.rs +++ /dev/null @@ -1,168 +0,0 @@ -// Copyright (C) 2019 Alibaba Cloud Computing. All rights reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the THIRD-PARTY file. - -//! A default Unix implementation of the GuestMemory trait by mmap()-ing guest's memory into -//! the current process. -//! -//! The main structs to access guest's memory are: -//! - [MmapRegion](struct.MmapRegion.html): mmap a continuous region of guest's memory into the -//! current process -//! - [GuestRegionMmap](struct.GuestRegionMmap.html): tracks a mapping of memory in the current -//! process and the corresponding base address. It relays guest memory access requests to the -//! underline [MmapRegion](struct.MmapRegion.html) object. -//! - [GuestMemoryMmap](struct.GuestMemoryMmap.html): provides methods to access a collection of -//! GuestRegionMmap objects. - -use libc; -use std::io; -use std::ptr::null_mut; - -use mmap::AsSlice; -use volatile_memory::{self, compute_offset, VolatileMemory, VolatileSlice}; - -use std::os::unix::io::AsRawFd; - -/// A backend driver to access guest's physical memory by mmapping guest's memory into the current -/// process. -/// For a combination of 32-bit hypervisor and 64-bit virtual machine, only partial of guest's -/// physical memory may be mapped into current process due to limited process virtual address -/// space size. -#[derive(Debug)] -pub struct MmapRegion { - addr: *mut u8, - size: usize, -} - -// Send and Sync aren't automatically inherited for the raw address pointer. -// Accessing that pointer is only done through the stateless interface which -// allows the object to be shared by multiple threads without a decrease in -// safety. -unsafe impl Send for MmapRegion {} -unsafe impl Sync for MmapRegion {} - -impl MmapRegion { - /// Creates an anonymous shared mapping of `size` bytes. - /// - /// # Arguments - /// * `size` - Size of memory region in bytes. - pub fn new(size: usize) -> io::Result { - // This is safe because we are creating an anonymous mapping in a place not already used by - // any other area in this process. - let addr = unsafe { - libc::mmap( - null_mut(), - size, - libc::PROT_READ | libc::PROT_WRITE, - libc::MAP_ANONYMOUS | libc::MAP_SHARED | libc::MAP_NORESERVE, - -1, - 0, - ) - }; - if addr == libc::MAP_FAILED { - return Err(io::Error::last_os_error()); - } - Ok(Self { - addr: addr as *mut u8, - size, - }) - } - - /// Maps the `size` bytes starting at `offset` bytes of the given `fd`. - /// - /// # Arguments - /// * `fd` - File descriptor to mmap from. - /// * `size` - Size of memory region in bytes. - /// * `offset` - Offset in bytes from the beginning of `fd` to start the mmap. - pub fn from_fd(fd: &AsRawFd, size: usize, offset: libc::off_t) -> io::Result { - // This is safe because we are creating a mapping in a place not already used by any other - // area in this process. - let addr = unsafe { - libc::mmap( - null_mut(), - size, - libc::PROT_READ | libc::PROT_WRITE, - libc::MAP_SHARED, - fd.as_raw_fd(), - offset, - ) - }; - if addr == libc::MAP_FAILED { - return Err(io::Error::last_os_error()); - } - Ok(Self { - addr: addr as *mut u8, - size, - }) - } - - /// Returns a pointer to the beginning of the memory region. Should only be - /// used for passing this region to ioctls for setting guest memory. - pub fn as_ptr(&self) -> *mut u8 { - self.addr - } -} - -impl AsSlice for MmapRegion { - // Returns the region as a slice - // used to do crap - unsafe fn as_slice(&self) -> &[u8] { - // This is safe because we mapped the area at addr ourselves, so this slice will not - // overflow. However, it is possible to alias. - std::slice::from_raw_parts(self.addr, self.size) - } - - // safe because it's expected interior mutability - #[allow(clippy::mut_from_ref)] - unsafe fn as_mut_slice(&self) -> &mut [u8] { - // This is safe because we mapped the area at addr ourselves, so this slice will not - // overflow. However, it is possible to alias. - std::slice::from_raw_parts_mut(self.addr, self.size) - } -} - -impl VolatileMemory for MmapRegion { - fn len(&self) -> usize { - self.size - } - - fn get_slice(&self, offset: usize, count: usize) -> volatile_memory::Result { - let end = compute_offset(offset, count)?; - if end > self.size { - return Err(volatile_memory::Error::OutOfBounds { addr: end }); - } - - // Safe because we checked that offset + count was within our range and we only ever hand - // out volatile accessors. - Ok(unsafe { VolatileSlice::new((self.addr as usize + offset) as *mut _, count) }) - } -} - -impl Drop for MmapRegion { - fn drop(&mut self) { - // This is safe because we mmap the area at addr ourselves, and nobody - // else is holding a reference to it. - unsafe { - libc::munmap(self.addr as *mut libc::c_void, self.size); - } - } -} - -#[cfg(test)] -mod tests { - use mmap_unix::MmapRegion; - use std::os::unix::io::FromRawFd; - - #[test] - fn map_invalid_fd() { - let fd = unsafe { std::fs::File::from_raw_fd(-1) }; - let e = MmapRegion::from_fd(&fd, 1024, 0).unwrap_err(); - assert_eq!(e.raw_os_error(), Some(libc::EBADF)); - } -} diff --git a/vendor/git-3e7c44ea7d5fd800/vm-memory/src/mmap_windows.rs b/vendor/git-3e7c44ea7d5fd800/vm-memory/src/mmap_windows.rs deleted file mode 100644 index 70233582f..000000000 --- a/vendor/git-3e7c44ea7d5fd800/vm-memory/src/mmap_windows.rs +++ /dev/null @@ -1,225 +0,0 @@ -// Copyright (C) 2019 CrowdStrike, Inc. All rights reserved. -// SPDX-License-Identifier: Apache-2.0 -// - -//! A default Windows implementation of the GuestMemory trait using VirtualAlloc() and MapViewOfFile(). -//! -//! The main structs to access guest's memory are: -//! - [MmapRegion](struct.MmapRegion.html): mmap a continuous region of guest's memory into the -//! current process -//! - [GuestRegionMmap](struct.GuestRegionMmap.html): tracks a mapping of memory in the current -//! process and the corresponding base address. It relays guest memory access requests to the -//! underline [MmapRegion](struct.MmapRegion.html) object. -//! - [GuestMemoryMmap](struct.GuestMemoryMmap.html): provides methods to access a collection of -//! GuestRegionMmap objects. - -use libc; -use std::io; -use std::ptr::null_mut; - -use mmap::AsSlice; -use volatile_memory::{self, compute_offset, VolatileMemory, VolatileSlice}; - -use libc::{c_void, size_t}; -use std; -use std::os::windows::io::{AsRawHandle, RawHandle}; -use std::ptr::null; - -#[allow(non_snake_case)] -#[link(name = "kernel32")] -extern "stdcall" { - pub fn VirtualAlloc( - lpAddress: *mut c_void, - dwSize: size_t, - flAllocationType: u32, - flProtect: u32, - ) -> *mut c_void; - - pub fn VirtualFree(lpAddress: *mut c_void, dwSize: size_t, dwFreeType: u32) -> u32; - - pub fn CreateFileMappingA( - hFile: RawHandle, // HANDLE - lpFileMappingAttributes: *const c_void, // LPSECURITY_ATTRIBUTES - flProtect: u32, // DWORD - dwMaximumSizeHigh: u32, // DWORD - dwMaximumSizeLow: u32, // DWORD - lpName: *const u8, // LPCSTR - ) -> RawHandle; // HANDLE - - pub fn MapViewOfFile( - hFileMappingObject: RawHandle, - dwDesiredAccess: u32, - dwFileOffsetHigh: u32, - dwFileOffsetLow: u32, - dwNumberOfBytesToMap: size_t, - ) -> *mut c_void; - - pub fn CloseHandle(hObject: RawHandle) -> u32; // BOOL -} - -const MM_HIGHEST_VAD_ADDRESS: u64 = 0x000007FFFFFDFFFF; - -const MEM_COMMIT: u32 = 0x00001000; -const MEM_RELEASE: u32 = 0x00008000; -const FILE_MAP_ALL_ACCESS: u32 = 0xf001f; -const PAGE_READWRITE: u32 = 0x04; - -pub const MAP_FAILED: *mut c_void = 0 as *mut c_void; -pub const INVALID_HANDLE_VALUE: RawHandle = (-1isize) as RawHandle; -#[allow(dead_code)] -pub const ERROR_INVALID_PARAMETER: i32 = 87; - -/// A backend driver to access guest's physical memory by mmapping guest's memory into the current -/// process. -/// For a combination of 32-bit hypervisor and 64-bit virtual machine, only partial of guest's -/// physical memory may be mapped into current process due to limited process virtual address -/// space size. -#[derive(Debug)] -pub struct MmapRegion { - addr: *mut u8, - size: usize, -} - -// Send and Sync aren't automatically inherited for the raw address pointer. -// Accessing that pointer is only done through the stateless interface which -// allows the object to be shared by multiple threads without a decrease in -// safety. -unsafe impl Send for MmapRegion {} -unsafe impl Sync for MmapRegion {} - -impl MmapRegion { - /// Creates an anonymous shared mapping of `size` bytes. - /// - /// # Arguments - /// * `size` - Size of memory region in bytes. - pub fn new(size: usize) -> io::Result { - if (size == 0) || (size > MM_HIGHEST_VAD_ADDRESS as usize) { - return Err(io::Error::from_raw_os_error(libc::EINVAL)); - } - // This is safe because we are creating an anonymous mapping in a place not already used by - // any other area in this process. - let addr = unsafe { VirtualAlloc(0 as *mut c_void, size, MEM_COMMIT, PAGE_READWRITE) }; - if addr == MAP_FAILED { - return Err(io::Error::last_os_error()); - } - Ok(Self { - addr: addr as *mut u8, - size, - }) - } - - /// Maps the `size` bytes starting at `offset` bytes of the given `fd`. - /// - /// # Arguments - /// * `file` - Raw handle to a file to map into the address space. - /// * `size` - Size of memory region in bytes. - /// * `offset` - Offset in bytes from the beginning of `file` to start the mapping. - pub fn from_fd(file: &AsRawHandle, size: usize, offset: libc::off_t) -> io::Result { - let handle = file.as_raw_handle(); - if handle == INVALID_HANDLE_VALUE { - return Err(io::Error::from_raw_os_error(libc::EBADF)); - } - - let mapping = unsafe { - CreateFileMappingA( - handle, - null(), - PAGE_READWRITE, - (size >> 32) as u32, - size as u32, - null(), - ) - }; - if mapping == 0 as RawHandle { - return Err(io::Error::last_os_error()); - } - - // This is safe because we are creating a mapping in a place not already used by any other - // area in this process. - let addr = unsafe { - MapViewOfFile( - mapping, - FILE_MAP_ALL_ACCESS, - (offset as u64 >> 32) as u32, - offset as u32, - size, - ) - }; - - unsafe { - CloseHandle(mapping); - } - - if addr == null_mut() { - return Err(io::Error::last_os_error()); - } - Ok(Self { - addr: addr as *mut u8, - size, - }) - } - - /// Returns a pointer to the beginning of the memory region. Should only be - /// used for passing this region to ioctls for setting guest memory. - pub fn as_ptr(&self) -> *mut u8 { - self.addr - } -} - -impl AsSlice for MmapRegion { - // Returns the region as a slice - // used to do crap - unsafe fn as_slice(&self) -> &[u8] { - // This is safe because we mapped the area at addr ourselves, so this slice will not - // overflow. However, it is possible to alias. - std::slice::from_raw_parts(self.addr, self.size) - } - - // safe because it's expected interior mutability - #[allow(clippy::mut_from_ref)] - unsafe fn as_mut_slice(&self) -> &mut [u8] { - // This is safe because we mapped the area at addr ourselves, so this slice will not - // overflow. However, it is possible to alias. - std::slice::from_raw_parts_mut(self.addr, self.size) - } -} - -impl VolatileMemory for MmapRegion { - fn len(&self) -> usize { - self.size - } - - fn get_slice(&self, offset: usize, count: usize) -> volatile_memory::Result { - let end = compute_offset(offset, count)?; - if end > self.size { - return Err(volatile_memory::Error::OutOfBounds { addr: end }); - } - - // Safe because we checked that offset + count was within our range and we only ever hand - // out volatile accessors. - Ok(unsafe { VolatileSlice::new((self.addr as usize + offset) as *mut _, count) }) - } -} - -impl Drop for MmapRegion { - fn drop(&mut self) { - // This is safe because we mmap the area at addr ourselves, and nobody - // else is holding a reference to it. - unsafe { - VirtualFree(self.addr as *mut libc::c_void, self.size, MEM_RELEASE); - } - } -} - -#[cfg(test)] -mod tests { - use mmap_windows::{MmapRegion, INVALID_HANDLE_VALUE}; - use std::os::windows::io::FromRawHandle; - - #[test] - fn map_invalid_handle() { - let fd = unsafe { std::fs::File::from_raw_handle(INVALID_HANDLE_VALUE) }; - let e = MmapRegion::from_fd(&fd, 1024, 0).unwrap_err(); - assert_eq!(e.raw_os_error(), Some(libc::EBADF)); - } -} diff --git a/vendor/git-3e7c44ea7d5fd800/vm-memory/src/volatile_memory.rs b/vendor/git-3e7c44ea7d5fd800/vm-memory/src/volatile_memory.rs deleted file mode 100644 index fdc91f775..000000000 --- a/vendor/git-3e7c44ea7d5fd800/vm-memory/src/volatile_memory.rs +++ /dev/null @@ -1,967 +0,0 @@ -// Portions Copyright 2019 Red Hat, Inc. -// -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the THIRT-PARTY file. - -//! Types for volatile access to memory. -//! -//! Two of the core rules for safe rust is no data races and no aliased mutable references. -//! `VolatileRef` and `VolatileSlice`, along with types that produce those which implement -//! `VolatileMemory`, allow us to sidestep that rule by wrapping pointers that absolutely have to be -//! accessed volatile. Some systems really do need to operate on shared memory and can't have the -//! compiler reordering or eliding access because it has no visibility into what other systems are -//! doing with that hunk of memory. -//! -//! For the purposes of maintaining safety, volatile memory has some rules of its own: -//! 1. No references or slices to volatile memory (`&` or `&mut`). -//! 2. Access should always been done with a volatile read or write. -//! The First rule is because having references of any kind to memory considered volatile would -//! violate pointer aliasing. The second is because unvolatile accesses are inherently undefined if -//! done concurrently without synchronization. With volatile access we know that the compiler has -//! not reordered or elided the access. - -use std::cmp::min; -use std::fmt; -use std::io::{self, Read, Write}; -use std::marker::PhantomData; -use std::mem::size_of; -use std::ptr::copy; -use std::ptr::{read_volatile, write_volatile}; -use std::result; -use std::slice::{from_raw_parts, from_raw_parts_mut}; -use std::usize; - -use bytes::{ByteValued, Bytes}; - -/// VolatileMemory related error codes -#[allow(missing_docs)] -#[derive(Debug)] -pub enum Error { - /// `addr` is out of bounds of the volatile memory slice. - OutOfBounds { addr: usize }, - /// Taking a slice at `base` with `offset` would overflow `usize`. - Overflow { base: usize, offset: usize }, - /// Writing to memory failed - IOError(io::Error), - /// Incomplete read or write - PartialBuffer { expected: usize, completed: usize }, -} - -impl fmt::Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match self { - Error::OutOfBounds { addr } => write!(f, "address 0x{:x} is out of bounds", addr), - Error::Overflow { base, offset } => write!( - f, - "address 0x{:x} offset by 0x{:x} would overflow", - base, offset - ), - Error::IOError(error) => write!(f, "{}", error), - Error::PartialBuffer { - expected, - completed, - } => write!( - f, - "only used {} bytes in {} long buffer", - completed, expected - ), - } - } -} - -/// Result of volatile memory operations -pub type Result = result::Result; - -/// Convenience function for computing `base + offset` which returns -/// `Err(Error::Overflow)` instead of panicking in the case `base + offset` exceeds -/// `usize::MAX`. -/// -/// # Examples -/// -/// ``` -/// # use vm_memory::volatile_memory::*; -/// # fn get_slice(offset: usize, count: usize) -> Result<()> { -/// let mem_end = compute_offset(offset, count)?; -/// if mem_end > 100 { -/// return Err(Error::OutOfBounds{addr: mem_end}); -/// } -/// # Ok(()) -/// # } -/// ``` -pub fn compute_offset(base: usize, offset: usize) -> Result { - match base.checked_add(offset) { - None => Err(Error::Overflow { base, offset }), - Some(m) => Ok(m), - } -} - -/// Trait for types that support raw volatile access to their data. -pub trait VolatileMemory { - /// Gets the size of this slice. - fn len(&self) -> usize; - - /// Check whether the region is empty. - fn is_empty(&self) -> bool { - self.len() == 0 - } - - /// Gets a slice of memory at `offset` that is `count` bytes in length and supports volatile - /// access. - fn get_slice(&self, offset: usize, count: usize) -> Result; - - /// Gets a slice of memory for the entire region that supports volatile access. - fn as_volatile_slice(&self) -> VolatileSlice { - self.get_slice(0, self.len()).unwrap() - } - - /// Gets a `VolatileRef` at `offset`. - fn get_ref(&self, offset: usize) -> Result> { - let slice = self.get_slice(offset, size_of::())?; - unsafe { - // This is safe because the pointer is range-checked by get_slice, and - // the lifetime is the same as self. - Ok(VolatileRef::::new(slice.addr)) - } - } - - /// Check that addr + count is valid and return the sum. - fn compute_end_offset(&self, base: usize, offset: usize) -> Result { - let mem_end = compute_offset(base, offset)?; - if mem_end > self.len() { - return Err(Error::OutOfBounds { addr: mem_end }); - } - Ok(mem_end) - } -} - -impl<'a> VolatileMemory for &'a mut [u8] { - fn len(&self) -> usize { - <[u8]>::len(self) - } - - fn get_slice(&self, offset: usize, count: usize) -> Result { - let _ = self.compute_end_offset(offset, count)?; - unsafe { - // This is safe because the pointer is range-checked by compute_end_offset, and - // the lifetime is the same as the original slice. - Ok(VolatileSlice::new( - (self.as_ptr() as usize + offset) as *mut _, - count, - )) - } - } -} - -#[repr(C, packed)] -struct Packed(T); - -/// A slice of raw memory that supports volatile access. -#[derive(Copy, Clone, Debug)] -pub struct VolatileSlice<'a> { - addr: *mut u8, - size: usize, - phantom: PhantomData<&'a u8>, -} - -impl<'a> VolatileSlice<'a> { - /// Creates a slice of raw memory that must support volatile access. - /// - /// To use this safely, the caller must guarantee that the memory at `addr` is `size` bytes long - /// and is available for the duration of the lifetime of the new `VolatileSlice`. The caller - /// must also guarantee that all other users of the given chunk of memory are using volatile - /// accesses. - pub unsafe fn new(addr: *mut u8, size: usize) -> VolatileSlice<'a> { - VolatileSlice { - addr, - size, - phantom: PhantomData, - } - } - - /// Gets the address of this slice's memory. - pub fn as_ptr(&self) -> *mut u8 { - self.addr - } - - /// Gets the size of this slice. - pub fn len(&self) -> usize { - self.size - } - - /// Check whether the slice is empty. - pub fn is_empty(&self) -> bool { - self.size == 0 - } - - /// Creates a copy of this slice with the address increased by `count` bytes, and the size - /// reduced by `count` bytes. - pub fn offset(self, count: usize) -> Result> { - let new_addr = (self.addr as usize) - .checked_add(count) - .ok_or(Error::Overflow { - base: self.addr as usize, - offset: count, - })?; - let new_size = self - .size - .checked_sub(count) - .ok_or(Error::OutOfBounds { addr: new_addr })?; - unsafe { - // Safe because the memory has the same lifetime and points to a subset of the - // memory of the original slice. - Ok(VolatileSlice::new(new_addr as *mut u8, new_size)) - } - } - - /// Copies `self.len()` or `buf.len()` times the size of `T` bytes, whichever is smaller, to - /// `buf`. - /// - /// The copy happens from smallest to largest address in `T` sized chunks using volatile reads. - /// - /// # Examples - /// - /// ``` - /// # use std::fs::File; - /// # use std::path::Path; - /// # use vm_memory::VolatileMemory; - /// # fn test_write_null() -> Result<(), ()> { - /// let mut mem = [0u8; 32]; - /// let mem_ref = &mut mem[..]; - /// let vslice = mem_ref.get_slice(0, 32).map_err(|_| ())?; - /// let mut buf = [5u8; 16]; - /// vslice.copy_to(&mut buf[..]); - /// for v in &buf[..] { - /// assert_eq!(buf[0], 0); - /// } - /// # Ok(()) - /// # } - /// ``` - pub fn copy_to(&self, buf: &mut [T]) -> usize - where - T: ByteValued, - { - let mut addr = self.addr; - let mut i = 0; - for v in buf.iter_mut().take(self.size / size_of::()) { - unsafe { - *v = read_volatile(addr as *const Packed).0; - addr = addr.add(size_of::()); - }; - i += 1; - } - i - } - - /// Copies `self.len()` or `slice.len()` bytes, whichever is smaller, to `slice`. - /// - /// The copies happen in an undefined order. - /// # Examples - /// - /// ``` - /// # use vm_memory::VolatileMemory; - /// # fn test_write_null() -> Result<(), ()> { - /// let mut mem = [0u8; 32]; - /// let mem_ref = &mut mem[..]; - /// let vslice = mem_ref.get_slice(0, 32).map_err(|_| ())?; - /// vslice.copy_to_volatile_slice(vslice.get_slice(16, 16).map_err(|_| ())?); - /// # Ok(()) - /// # } - /// ``` - pub fn copy_to_volatile_slice(&self, slice: VolatileSlice) { - unsafe { - // Safe because the pointers are range-checked when the slices - // are created, and they never escape the VolatileSlices. - // FIXME: ... however, is it really okay to mix non-volatile - // operations such as copy with read_volatile and write_volatile? - copy(self.addr, slice.addr, min(self.size, slice.size)); - } - } - - /// Copies `self.len()` or `buf.len()` times the size of `T` bytes, whichever is smaller, to - /// this slice's memory. - /// - /// The copy happens from smallest to largest address in `T` sized chunks using volatile writes. - /// - /// # Examples - /// - /// ``` - /// # use std::fs::File; - /// # use std::path::Path; - /// # use vm_memory::VolatileMemory; - /// # fn test_write_null() -> Result<(), ()> { - /// let mut mem = [0u8; 32]; - /// let mem_ref = &mut mem[..]; - /// let vslice = mem_ref.get_slice(0, 32).map_err(|_| ())?; - /// let buf = [5u8; 64]; - /// vslice.copy_from(&buf[..]); - /// for i in 0..4 { - /// assert_eq!(vslice.get_ref::(i * 4).map_err(|_| ())?.load(), 0x05050505); - /// } - /// # Ok(()) - /// # } - /// ``` - pub fn copy_from(&self, buf: &[T]) - where - T: ByteValued, - { - let mut addr = self.addr; - for &v in buf.iter().take(self.size / size_of::()) { - unsafe { - // Safe because the pointers are range-checked when the slices - // are created, and they never escape the VolatileSlices. - write_volatile(addr as *mut Packed, Packed::(v)); - addr = addr.add(size_of::()); - } - } - } - - // These function are private and only used for the read/write functions. It is not valid in - // general to take slices of volatile memory. - unsafe fn as_slice(&self) -> &[u8] { - from_raw_parts(self.addr, self.size) - } - - // safe because it's expected interior mutability - #[allow(clippy::mut_from_ref)] - unsafe fn as_mut_slice(&self) -> &mut [u8] { - from_raw_parts_mut(self.addr, self.size) - } -} - -impl<'a> Bytes for VolatileSlice<'a> { - type E = Error; - - /// Writes a slice to the region at the specified address. - /// Returns the number of bytes written. The number of bytes written can - /// be less than the length of the slice if there isn't enough room in the - /// region. - /// - /// # Examples - /// * Write a slice at offset 256. - /// - /// ``` - /// # use vm_memory::{Bytes, VolatileMemory}; - /// # let mut mem = [0u8; 1024]; - /// # let mut mem_ref = &mut mem[..]; - /// # let vslice = mem_ref.as_volatile_slice(); - /// let res = vslice.write(&[1,2,3,4,5], 1020); - /// assert!(res.is_ok()); - /// assert_eq!(res.unwrap(), 4); - /// ``` - fn write(&self, buf: &[u8], addr: usize) -> Result { - if addr >= self.size { - return Err(Error::OutOfBounds { addr }); - } - unsafe { - // Guest memory can't strictly be modeled as a slice because it is - // volatile. Writing to it with what compiles down to a memcpy - // won't hurt anything as long as we get the bounds checks right. - let mut slice: &mut [u8] = &mut self.as_mut_slice()[addr..]; - Ok(slice.write(buf).map_err(Error::IOError)?) - } - } - - /// Reads to a slice from the region at the specified address. - /// Returns the number of bytes read. The number of bytes read can be less than the length - /// of the slice if there isn't enough room in the region. - /// - /// # Examples - /// * Read a slice of size 16 at offset 256. - /// - /// ``` - /// # use vm_memory::{Bytes, VolatileMemory}; - /// # let mut mem = [0u8; 1024]; - /// # let mut mem_ref = &mut mem[..]; - /// # let vslice = mem_ref.as_volatile_slice(); - /// let buf = &mut [0u8; 16]; - /// let res = vslice.read(buf, 1010); - /// assert!(res.is_ok()); - /// assert_eq!(res.unwrap(), 14); - /// ``` - fn read(&self, mut buf: &mut [u8], addr: usize) -> Result { - if addr >= self.size { - return Err(Error::OutOfBounds { addr }); - } - unsafe { - // Guest memory can't strictly be modeled as a slice because it is - // volatile. Writing to it with what compiles down to a memcpy - // won't hurt anything as long as we get the bounds checks right. - let slice: &[u8] = &self.as_slice()[addr..]; - Ok(buf.write(slice).map_err(Error::IOError)?) - } - } - - /// Writes a slice to the region at the specified address. - /// - /// # Examples - /// * Write a slice at offset 256. - /// - /// ``` - /// # use vm_memory::{Bytes, VolatileMemory}; - /// # let mut mem = [0u8; 1024]; - /// # let mut mem_ref = &mut mem[..]; - /// # let vslice = mem_ref.as_volatile_slice(); - /// let res = vslice.write_slice(&[1,2,3,4,5], 256); - /// assert!(res.is_ok()); - /// assert_eq!(res.unwrap(), ()); - /// ``` - fn write_slice(&self, buf: &[u8], addr: usize) -> Result<()> { - let len = self.write(buf, addr)?; - if len != buf.len() { - return Err(Error::PartialBuffer { - expected: buf.len(), - completed: len, - }); - } - Ok(()) - } - - /// Reads to a slice from the region at the specified address. - /// - /// # Examples - /// * Read a slice of size 16 at offset 256. - /// - /// ``` - /// # use vm_memory::{Bytes, VolatileMemory}; - /// # let mut mem = [0u8; 1024]; - /// # let mut mem_ref = &mut mem[..]; - /// # let vslice = mem_ref.as_volatile_slice(); - /// let buf = &mut [0u8; 16]; - /// let res = vslice.read_slice(buf, 256); - /// assert!(res.is_ok()); - /// assert_eq!(res.unwrap(), ()); - /// ``` - fn read_slice(&self, buf: &mut [u8], addr: usize) -> Result<()> { - let len = self.read(buf, addr)?; - if len != buf.len() { - return Err(Error::PartialBuffer { - expected: buf.len(), - completed: len, - }); - } - Ok(()) - } - - /// Writes data from a readable object like a File and writes it to the region. - /// - /// # Examples - /// - /// * Read bytes from /dev/urandom - /// - /// ``` - /// # use vm_memory::{Bytes, VolatileMemory}; - /// # use std::fs::File; - /// # use std::path::Path; - /// # fn test_read_random() -> Result { - /// # let mut mem = [0u8; 1024]; - /// # let mut mem_ref = &mut mem[..]; - /// # let vslice = mem_ref.as_volatile_slice(); - /// let mut file = File::open(Path::new("/dev/urandom")).map_err(|_| ())?; - /// vslice.read_from(32, &mut file, 128).map_err(|_| ())?; - /// let rand_val: u32 = vslice.read_obj(40).map_err(|_| ())?; - /// # Ok(rand_val) - /// # } - /// ``` - fn read_from(&self, addr: usize, src: &mut F, count: usize) -> Result - where - F: Read, - { - let end = self.compute_end_offset(addr, count)?; - unsafe { - // It is safe to overwrite the volatile memory. Accessing the guest - // memory as a mutable slice is OK because nothing assumes another - // thread won't change what is loaded. - let dst = &mut self.as_mut_slice()[addr..end]; - src.read(dst).map_err(Error::IOError) - } - } - - /// Writes data from a readable object like a File and writes it to the region. - /// - /// # Examples - /// - /// * Read bytes from /dev/urandom - /// - /// ``` - /// # use vm_memory::{Bytes, VolatileMemory}; - /// # use std::fs::File; - /// # use std::path::Path; - /// # fn test_read_random() -> Result { - /// # let mut mem = [0u8; 1024]; - /// # let mut mem_ref = &mut mem[..]; - /// # let vslice = mem_ref.as_volatile_slice(); - /// let mut file = File::open(Path::new("/dev/urandom")).map_err(|_| ())?; - /// vslice.read_exact_from(32, &mut file, 128).map_err(|_| ())?; - /// let rand_val: u32 = vslice.read_obj(40).map_err(|_| ())?; - /// # Ok(rand_val) - /// # } - /// ``` - fn read_exact_from(&self, addr: usize, src: &mut F, count: usize) -> Result<()> - where - F: Read, - { - let end = self.compute_end_offset(addr, count)?; - unsafe { - // It is safe to overwrite the volatile memory. Accessing the guest - // memory as a mutable slice is OK because nothing assumes another - // thread won't change what is loaded. - let dst = &mut self.as_mut_slice()[addr..end]; - src.read_exact(dst).map_err(Error::IOError)?; - } - Ok(()) - } - - /// Reads data from the region to a writable object. - /// - /// # Examples - /// - /// * Write 128 bytes to /dev/null - /// - /// ``` - /// # use vm_memory::{Bytes, VolatileMemory}; - /// # use std::fs::File; - /// # use std::path::Path; - /// # fn test_write_null() -> Result<(), ()> { - /// # let mut mem = [0u8; 1024]; - /// # let mut mem_ref = &mut mem[..]; - /// # let vslice = mem_ref.as_volatile_slice(); - /// let mut file = File::open(Path::new("/dev/null")).map_err(|_| ())?; - /// vslice.write_to(32, &mut file, 128).map_err(|_| ())?; - /// # Ok(()) - /// # } - /// ``` - fn write_to(&self, addr: usize, dst: &mut F, count: usize) -> Result - where - F: Write, - { - let end = self.compute_end_offset(addr, count)?; - unsafe { - // It is safe to read from volatile memory. Accessing the guest - // memory as a slice is OK because nothing assumes another thread - // won't change what is loaded. - let src = &self.as_mut_slice()[addr..end]; - dst.write(src).map_err(Error::IOError) - } - } - - /// Reads data from the region to a writable object. - /// - /// # Examples - /// - /// * Write 128 bytes to /dev/null - /// - /// ``` - /// # use vm_memory::{Bytes, VolatileMemory}; - /// # use std::fs::File; - /// # use std::path::Path; - /// # fn test_write_null() -> Result<(), ()> { - /// # let mut mem = [0u8; 1024]; - /// # let mut mem_ref = &mut mem[..]; - /// # let vslice = mem_ref.as_volatile_slice(); - /// let mut file = File::open(Path::new("/dev/null")).map_err(|_| ())?; - /// vslice.write_all_to(32, &mut file, 128).map_err(|_| ())?; - /// # Ok(()) - /// # } - /// ``` - fn write_all_to(&self, addr: usize, dst: &mut F, count: usize) -> Result<()> - where - F: Write, - { - let end = self.compute_end_offset(addr, count)?; - unsafe { - // It is safe to read from volatile memory. Accessing the guest - // memory as a slice is OK because nothing assumes another thread - // won't change what is loaded. - let src = &self.as_mut_slice()[addr..end]; - dst.write_all(src).map_err(Error::IOError)?; - } - Ok(()) - } -} - -impl<'a> VolatileMemory for VolatileSlice<'a> { - fn len(&self) -> usize { - self.size - } - - fn get_slice(&self, offset: usize, count: usize) -> Result { - let _ = self.compute_end_offset(offset, count)?; - Ok(unsafe { - // This is safe because the pointer is range-checked by compute_end_offset, and - // the lifetime is the same as self. - VolatileSlice::new((self.addr as usize + offset) as *mut u8, count) - }) - } -} - -/// A memory location that supports volatile access of a `T`. -/// -/// # Examples -/// -/// ``` -/// # use vm_memory::VolatileRef; -/// let mut v = 5u32; -/// assert_eq!(v, 5); -/// let v_ref = unsafe { VolatileRef::::new(&mut v as *mut u32 as *mut u8) }; -/// assert_eq!(v_ref.load(), 5); -/// v_ref.store(500); -/// assert_eq!(v, 500); -#[derive(Debug)] -pub struct VolatileRef<'a, T: ByteValued> -where - T: 'a, -{ - addr: *mut Packed, - phantom: PhantomData<&'a T>, -} - -#[allow(clippy::len_without_is_empty)] -impl<'a, T: ByteValued> VolatileRef<'a, T> { - /// Creates a reference to raw memory that must support volatile access of `T` sized chunks. - /// - /// To use this safely, the caller must guarantee that the memory at `addr` is big enough for a - /// `T` and is available for the duration of the lifetime of the new `VolatileRef`. The caller - /// must also guarantee that all other users of the given chunk of memory are using volatile - /// accesses. - pub unsafe fn new(addr: *mut u8) -> VolatileRef<'a, T> { - VolatileRef { - addr: addr as *mut Packed, - phantom: PhantomData, - } - } - - /// Gets the address of this slice's memory. - pub fn as_ptr(&self) -> *mut u8 { - self.addr as *mut u8 - } - - /// Gets the size of this slice. - /// - /// # Examples - /// - /// ``` - /// # use std::mem::size_of; - /// # use vm_memory::VolatileRef; - /// let v_ref = unsafe { VolatileRef::::new(0 as *mut _) }; - /// assert_eq!(v_ref.len(), size_of::() as usize); - /// ``` - pub fn len(&self) -> usize { - size_of::() - } - - /// Does a volatile write of the value `v` to the address of this ref. - #[inline(always)] - pub fn store(&self, v: T) { - unsafe { write_volatile(self.addr, Packed::(v)) }; - } - - /// Does a volatile read of the value at the address of this ref. - #[inline(always)] - pub fn load(&self) -> T { - // For the purposes of demonstrating why read_volatile is necessary, try replacing the code - // in this function with the commented code below and running `cargo test --release`. - // unsafe { *(self.addr as *const T) } - unsafe { read_volatile(self.addr).0 } - } - - /// Converts this `T` reference to a raw slice with the same size and address. - pub fn to_slice(&self) -> VolatileSlice<'a> { - unsafe { VolatileSlice::new(self.addr as *mut u8, size_of::()) } - } -} - -#[cfg(test)] -mod tests { - extern crate tempfile; - - use super::*; - - use self::tempfile::tempfile; - use std::sync::Arc; - use std::thread::{sleep, spawn}; - use std::time::Duration; - - use std::fs::File; - use std::path::Path; - - #[derive(Clone)] - struct VecMem { - mem: Arc>, - } - - impl VecMem { - fn new(size: usize) -> VecMem { - let mut mem = Vec::new(); - mem.resize(size, 0); - VecMem { mem: Arc::new(mem) } - } - } - - impl VolatileMemory for VecMem { - fn len(&self) -> usize { - self.mem.len() - } - - fn get_slice(&self, offset: usize, count: usize) -> Result { - let _ = self.compute_end_offset(offset, count)?; - Ok(unsafe { - VolatileSlice::new((self.mem.as_ptr() as usize + offset) as *mut _, count) - }) - } - } - - #[test] - fn ref_store() { - let mut a = [0u8; 1]; - { - let a_ref = &mut a[..]; - let v_ref = a_ref.get_ref(0).unwrap(); - v_ref.store(2u8); - } - assert_eq!(a[0], 2); - } - - #[test] - fn ref_load() { - let mut a = [5u8; 1]; - { - let a_ref = &mut a[..]; - let c = { - let v_ref = a_ref.get_ref::(0).unwrap(); - assert_eq!(v_ref.load(), 5u8); - v_ref - }; - // To make sure we can take a v_ref out of the scope we made it in: - c.load(); - // but not too far: - // c - } //.load() - ; - } - - #[test] - fn ref_to_slice() { - let mut a = [1u8; 5]; - let a_ref = &mut a[..]; - let v_ref = a_ref.get_ref(1).unwrap(); - v_ref.store(0x1234_5678u32); - let ref_slice = v_ref.to_slice(); - assert_eq!(v_ref.as_ptr() as usize, ref_slice.as_ptr() as usize); - assert_eq!(v_ref.len(), ref_slice.len()); - assert!(!ref_slice.is_empty()); - } - - #[test] - fn observe_mutate() { - let a = VecMem::new(1); - let a_clone = a.clone(); - let v_ref = a.get_ref::(0).unwrap(); - v_ref.store(99); - spawn(move || { - sleep(Duration::from_millis(10)); - let clone_v_ref = a_clone.get_ref::(0).unwrap(); - clone_v_ref.store(0); - }); - - // Technically this is a race condition but we have to observe the v_ref's value changing - // somehow and this helps to ensure the sleep actually happens before the store rather then - // being reordered by the compiler. - assert_eq!(v_ref.load(), 99); - - // Granted we could have a machine that manages to perform this many volatile loads in the - // amount of time the spawned thread sleeps, but the most likely reason the retry limit will - // get reached is because v_ref.load() is not actually performing the required volatile read - // or v_ref.store() is not doing a volatile write. A timer based solution was avoided - // because that might use a syscall which could hint the optimizer to reload v_ref's pointer - // regardless of volatile status. Note that we use a longer retry duration for optimized - // builds. - #[cfg(debug_assertions)] - const RETRY_MAX: usize = 500_000_000; - #[cfg(not(debug_assertions))] - const RETRY_MAX: usize = 10_000_000_000; - - let mut retry = 0; - while v_ref.load() == 99 && retry < RETRY_MAX { - retry += 1; - } - - assert_ne!(retry, RETRY_MAX, "maximum retry exceeded"); - assert_eq!(v_ref.load(), 0); - } - - #[test] - fn slice_len() { - let a = VecMem::new(100); - let s = a.get_slice(0, 27).unwrap(); - assert_eq!(s.len(), 27); - - let s = a.get_slice(34, 27).unwrap(); - assert_eq!(s.len(), 27); - - let s = s.get_slice(20, 5).unwrap(); - assert_eq!(s.len(), 5); - } - - #[test] - fn slice_is_empty() { - let a = VecMem::new(100); - let s = a.get_slice(0, 27).unwrap(); - assert!(!s.is_empty()); - - let s = a.get_slice(34, 0).unwrap(); - assert!(s.is_empty()); - } - - #[test] - fn slice_overflow_error() { - use std::usize::MAX; - let a = VecMem::new(1); - let res = a.get_slice(MAX, 1).unwrap_err(); - assert_matches!( - res, - Error::Overflow { - base: MAX, - offset: 1, - } - ); - } - - #[test] - fn slice_oob_error() { - let a = VecMem::new(100); - a.get_slice(50, 50).unwrap(); - let res = a.get_slice(55, 50).unwrap_err(); - assert_matches!(res, Error::OutOfBounds { addr: 105 }); - } - - #[test] - fn ref_overflow_error() { - use std::usize::MAX; - let a = VecMem::new(1); - let res = a.get_ref::(MAX).unwrap_err(); - assert_matches!( - res, - Error::Overflow { - base: MAX, - offset: 1, - } - ); - } - - #[test] - fn ref_oob_error() { - let a = VecMem::new(100); - a.get_ref::(99).unwrap(); - let res = a.get_ref::(99).unwrap_err(); - assert_matches!(res, Error::OutOfBounds { addr: 101 }); - } - - #[test] - fn ref_oob_too_large() { - let a = VecMem::new(3); - let res = a.get_ref::(0).unwrap_err(); - assert_matches!(res, Error::OutOfBounds { addr: 4 }); - } - - #[test] - fn slice_store() { - let a = VecMem::new(5); - let s = a.as_volatile_slice(); - let r = a.get_ref(2).unwrap(); - r.store(9u16); - assert_eq!(s.read_obj::(2).unwrap(), 9); - } - - #[test] - fn test_write_past_end() { - let a = VecMem::new(5); - let s = a.as_volatile_slice(); - let res = s.write(&[1, 2, 3, 4, 5, 6], 0); - assert!(res.is_ok()); - assert_eq!(res.unwrap(), 5); - } - - #[test] - fn slice_read_and_write() { - let a = VecMem::new(5); - let s = a.as_volatile_slice(); - let sample_buf = [1, 2, 3]; - assert!(s.write(&sample_buf, 5).is_err()); - assert!(s.write(&sample_buf, 2).is_ok()); - let mut buf = [0u8; 3]; - assert!(s.read(&mut buf, 5).is_err()); - assert!(s.read_slice(&mut buf, 2).is_ok()); - assert_eq!(buf, sample_buf); - } - - #[test] - fn obj_read_and_write() { - let a = VecMem::new(5); - let s = a.as_volatile_slice(); - assert!(s.write_obj(55u16, 4).is_err()); - assert!(s.write_obj(55u16, core::usize::MAX).is_err()); - assert!(s.write_obj(55u16, 2).is_ok()); - assert_eq!(s.read_obj::(2).unwrap(), 55u16); - assert!(s.read_obj::(4).is_err()); - assert!(s.read_obj::(core::usize::MAX).is_err()); - } - - #[test] - fn mem_read_and_write() { - let a = VecMem::new(5); - let s = a.as_volatile_slice(); - assert!(s.write_obj(!0u32, 1).is_ok()); - let mut file = if cfg!(unix) { - File::open(Path::new("/dev/zero")).unwrap() - } else { - File::open(Path::new("c:\\Windows\\system32\\ntoskrnl.exe")).unwrap() - }; - assert!(s.read_exact_from(2, &mut file, size_of::()).is_err()); - assert!(s - .read_exact_from(core::usize::MAX, &mut file, size_of::()) - .is_err()); - - assert!(s.read_exact_from(1, &mut file, size_of::()).is_ok()); - - let mut f = tempfile().unwrap(); - assert!(s.read_exact_from(1, &mut f, size_of::()).is_err()); - format!("{:?}", s.read_exact_from(1, &mut f, size_of::())); - - let value = s.read_obj::(1).unwrap(); - if cfg!(unix) { - assert_eq!(value, 0); - } else { - assert_eq!(value, 0x0090_5a4d); - } - - let mut sink = Vec::new(); - assert!(s.write_all_to(1, &mut sink, size_of::()).is_ok()); - assert!(s.write_all_to(2, &mut sink, size_of::()).is_err()); - assert!(s - .write_all_to(core::usize::MAX, &mut sink, size_of::()) - .is_err()); - format!("{:?}", s.write_all_to(2, &mut sink, size_of::())); - if cfg!(unix) { - assert_eq!(sink, vec![0; size_of::()]); - } else { - assert_eq!(sink, vec![0x4d, 0x5a, 0x90, 0x00]); - }; - } - - #[test] - fn unaligned_read_and_write() { - let a = VecMem::new(7); - let s = a.as_volatile_slice(); - let sample_buf: [u8; 7] = [1, 2, 0xAA, 0xAA, 0xAA, 0xAA, 4]; - assert!(s.write_slice(&sample_buf, 0).is_ok()); - let r = a.get_ref::(2).unwrap(); - assert_eq!(r.load(), 0xAAAA_AAAA); - - r.store(0x5555_5555); - let sample_buf: [u8; 7] = [1, 2, 0x55, 0x55, 0x55, 0x55, 4]; - let mut buf: [u8; 7] = Default::default(); - assert!(s.read_slice(&mut buf, 0).is_ok()); - assert_eq!(buf, sample_buf); - } -} diff --git a/vendor/git-4af8f4552cd0d200/linux-loader/.buildkite/pipeline.yml b/vendor/git-4af8f4552cd0d200/linux-loader/.buildkite/pipeline.yml deleted file mode 100644 index 8a0726605..000000000 --- a/vendor/git-4af8f4552cd0d200/linux-loader/.buildkite/pipeline.yml +++ /dev/null @@ -1,61 +0,0 @@ -steps: - - label: "build-gnu-x86" - commands: - - cargo build --release - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "style" - command: cargo fmt --all -- --check - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "unittests-gnu-x86" - commands: - - cargo test - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - privileged: true - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "clippy-x86" - commands: - - cargo clippy --all -- -D warnings - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "coverage-x86" - commands: - - pytest tests/test_coverage.py - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - privileged: true - image: "fandree/rust-vmm-dev" - always-pull: true diff --git a/vendor/git-4af8f4552cd0d200/linux-loader/.cargo-checksum.json b/vendor/git-4af8f4552cd0d200/linux-loader/.cargo-checksum.json deleted file mode 100644 index e9b3551b5..000000000 --- a/vendor/git-4af8f4552cd0d200/linux-loader/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{".buildkite/pipeline.yml":"95725fe62c2dc4076b32df9b26c828bcf4e3876092c0401e718e16ce4f513be0",".gitignore/.gitignore":"6b937008e0a58a438c32574627db6961a4d2aff4bf5c703d4e45cb56ef3b168a","Cargo.toml":"f2754a32f2dacc0f8695ee9780193badc85995954ed452d0df4ca1ef8517d089","DESIGN.md":"d877f3093cf94402528a54a97e833fc79d4cbc07934031035f60a2d8d0a542d4","LICENSE-APACHE":"000b4962e6b27176a0ff89cce4be555b16472cafb5671eb2804a8fdac6854793","LICENSE-BSD-3-Clause":"a6d3ebd1c2f37d4fd83d0676621f695fc0cc2d8c6e646cdbb831b46e0650c208","README.md":"3e585f0ceb915bf4734075d2f0a91b626ff2363079baebcf7592a8d51d2c7931","src/cmdline/mod.rs":"30f57b492618155be6129311d0182688e5d1ecd9a3b5fdc9b742cd0c0e1f85da","src/lib.rs":"67d3e4a9ed48495c00fe6698fc606693b15a006fb0599cb18b946ea3929cd0f6","src/loader/bootparam.rs":"054b5a196873965cb48b9e9fa99c2505f523f9c71ca8ca0fad3af02491811fe6","src/loader/elf.rs":"f4e4eb6ffcb114bbf3242a9c72ea7e99631487d63bbbfbcf641bea42b3aba2e1","src/loader/mod.rs":"555c8214415955ab2e47bac0dbc392cd8ed4155e54099767de93e1136cfddd12","src/loader/struct_util.rs":"a98c2854ebd3a0c0ed11e01e474f2da15fb9200754129223710d62cc88ab253a","src/loader/test_elf.bin":"dda390f7546c7ba36bab412a93add96533806154824b77aafc8c153231f3f161","tests/conftest.py":"ee2baacd9da7ac04ffbfd580a7d4fe8a8b166a16e1eeed2d488f7b820abab433","tests/coverage":"69eaa47e0089d5a3e2844fe7ca823b67ff712e382f6c34b0300797a415b7f3e9","tests/test_coverage.py":"2f4bbb571bf52ad796f9f47a3aaace61ee92ab9788980496bb1652826f224150"},"package":null} \ No newline at end of file diff --git a/vendor/git-4af8f4552cd0d200/linux-loader/.gitignore/.gitignore b/vendor/git-4af8f4552cd0d200/linux-loader/.gitignore/.gitignore deleted file mode 100644 index 693699042..000000000 --- a/vendor/git-4af8f4552cd0d200/linux-loader/.gitignore/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/target -**/*.rs.bk -Cargo.lock diff --git a/vendor/git-4af8f4552cd0d200/linux-loader/Cargo.toml b/vendor/git-4af8f4552cd0d200/linux-loader/Cargo.toml deleted file mode 100644 index d180f24e4..000000000 --- a/vendor/git-4af8f4552cd0d200/linux-loader/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "linux-loader" -version = "0.1.0" -authors = ["cathy "] -edition = "2018" -license = "Apache-2.0 AND BSD-3-Clause" - -[features] -default = ["elf"] -elf = [] -bzImage = [] - - -[dependencies.vm-memory] -git = "https://github.com/rust-vmm/vm-memory" -features = ["backend-mmap"] diff --git a/vendor/git-4af8f4552cd0d200/linux-loader/DESIGN.md b/vendor/git-4af8f4552cd0d200/linux-loader/DESIGN.md deleted file mode 100644 index f84fb9368..000000000 --- a/vendor/git-4af8f4552cd0d200/linux-loader/DESIGN.md +++ /dev/null @@ -1,64 +0,0 @@ -# ELF Image parsing and loading - -The boot process is explained from the following two sides. - -## Loader side - -It follows ELF standard which is specified in elf.rs. The entry header and program headers will be inerpreted, and PT_LOAD segments will be loaded into guest memory. - -### Where kernel is loaded - -There are two ways on deciding where the program segments will be loaded. - -- One way is to provide an option and allow vmm to specify where to load the image, considering its memory layout. -- The other way is to load image into phdr.p_paddr by default. - -## Vmm side - -### Construct zero page - -According to the 64-bit boot protocol, the boot parameters (traditionally known as "zero page") should be setup, including setup_header, e820 table and other stuff. However, ELF has no setup_header, nothing returned from ELF loader could be used to fill boot parameters, vmm is totally responsible for the construction. - -### Configure vcpu - -- RIP, the start offset of guest memory where kernel is loaded, which is returned from loader -- 64 bit mode with paging enabled -- GDT must be configured and loaded - -# bzImage - -The boot process is also explained from the following two sides. - -## Loader side - -### What will be returned from loader - -bzImage includes two parts, the setup and the compressed kernel. The compressed kernel part will be loaded into guest memory, and the following three parts will returned to vmm by loader. -- The start address of loaded kernel -- The offset of memory where kernel is end of loading -- The setup header begin at the offset 0x01f1 of bzImage, this one is an extra compared to the return of ELF loader. - -### Where kernel is loaded - -The same as ELF image loader, there are two ways for deciding where the compressed kernel will be loaded. - -- Vmm specify where to load kernel image. -- Load into code32_start (Boot load address) by default. - -### Additional checking - -As what the boot protocol said, the kernel is a bzImage kernel if the protocol >= 2.00 and the 0x01 bit(LOAD_HIGH) is the loadflags field is set. Add this checking to validate the bzImage. - -## Vmm side - -### Construct zero page - -While vmm build "zero page" with e820 table and other stuff, bzImage loader will return the setup header to fill the boot parameters. Meanwhile, setup_header.init_size is a must to be filled into zero page, which will be used during head_64.S boot process. - -### Configure vcpu - -- RIP, the start address of loaded 64-bit kernel returned from loader + 0x200. Regarding to the 64-bit boot protocol, kernel is started by jumping to the 64-bit kernel entry point, which is the start address of loaded 64-bit kernel plus 0x200. -- 64 bit mode with paging enabled -- GDT must be configured and loaded - - diff --git a/vendor/git-4af8f4552cd0d200/linux-loader/LICENSE-APACHE b/vendor/git-4af8f4552cd0d200/linux-loader/LICENSE-APACHE deleted file mode 100644 index 6f756351a..000000000 --- a/vendor/git-4af8f4552cd0d200/linux-loader/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/git-4af8f4552cd0d200/linux-loader/LICENSE-BSD-3-Clause b/vendor/git-4af8f4552cd0d200/linux-loader/LICENSE-BSD-3-Clause deleted file mode 100644 index 8bafca303..000000000 --- a/vendor/git-4af8f4552cd0d200/linux-loader/LICENSE-BSD-3-Clause +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/git-4af8f4552cd0d200/linux-loader/README.md b/vendor/git-4af8f4552cd0d200/linux-loader/README.md deleted file mode 100644 index 0c8920db4..000000000 --- a/vendor/git-4af8f4552cd0d200/linux-loader/README.md +++ /dev/null @@ -1,105 +0,0 @@ -# Linux-loader - -## Short-description - -* Parsing and loading vmlinux (raw ELF image) and bzImage images -* Linux command line parsing and generation -* Definitions and helpers for the Linux boot protocol - -## How to build - -``` -cd linux-loader -cargo build -``` - -## Tests - -Our Continuous Integration (CI) pipeline is implemented on top of -[Buildkite](https://buildkite.com/). -For the complete list of tests, check our -[CI pipeline](https://buildkite.com/rust-vmm/vm-virtio-ci). - -Each individual test runs in a container. To reproduce a test locally, you can -use the dev-container on both x86 and arm64. - -```bash -docker run -it \ - --security-opt seccomp=unconfined \ - --volume $(pwd):/linux-loader \ - fandree/rust-vmm-dev -cd linux-loader/ -cargo test -``` - -### Test Profiles - -The integration tests support two test profiles: -- **devel**: this is the recommended profile for running the integration tests - on a local development machine. -- **ci** (default option): this is the profile used when running the - integration tests as part of the the Continuous Integration (CI). - -The test profiles are applicable to tests that run using pytest. Currently only -the [coverage test](tests/test_coverage.py) follows this model as all the other -integration tests are run using the -[Buildkite pipeline](https://buildkite.com/rust-vmm/vm-virtio-ci). - -The difference between is declaring tests as passed or failed: -- with the **devel** profile the coverage test passes if the current coverage - is equal or higher than the upstream coverage value. In case the current - coverage is higher, the coverage file is updated to the new coverage value. -- with the **ci** profile the coverage test passes only if the current coverage - is equal to the upstream coverage value. - -Further details about the coverage test can be found in the -[Adaptive Coverage](#adaptive-coverage) section. - -### Adaptive Coverage - -The line coverage is saved in [tests/coverage](tests/coverage). To update the -coverage before submitting a PR, run the coverage test: - -```bash -docker run -it \ - --security-opt seccomp=unconfined \ - --volume $(pwd):/linux-loader \ - fandree/rust-vmm-dev -cd linux-loader/ -pytest --profile=devel tests/test_coverage.py -``` - -If the PR coverage is higher than the upstream coverage, the coverage file -needs to be manually added to the commit before submitting the PR: - -```bash -git add tests/coverage -``` - -Failing to do so will generate a fail on the CI pipeline when publishing the -PR. - -**NOTE:** The coverage file is only updated in the `devel` test profile. In -the `ci` profile the coverage test will fail if the current coverage is higher -than the coverage reported in [tests/coverage](tests/coverage). - -### bzImage test - -As we don't want to distribute an entire kernel bzImage, the `load_bzImage` test is ignored by -default. In order to test the bzImage support, one needs to locally build a bzImage, copy it -to the `src/loader` directory and run the ignored test: - -```shell -# Assuming your linux-loader and linux-stable are both under $LINUX_LOADER -$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git $LINUX_LOADER/linux-stable -$ cd linux-stable -$ make bzImage -$ cp linux-stable/arch/x86/boot/bzImage $LINUX_LOADER/linux-loader/src/loader/ -$ cd $LINUX_LOADER/linux-loader -$ docker run -it \ - --security-opt seccomp=unconfined \ - --volume $(pwd):/linux-loader \ - fandree/rust-vmm-dev -$ cd linux-loader/ -$ cargo test -- --ignored -``` diff --git a/vendor/git-4af8f4552cd0d200/linux-loader/src/cmdline/mod.rs b/vendor/git-4af8f4552cd0d200/linux-loader/src/cmdline/mod.rs deleted file mode 100644 index d9991f69f..000000000 --- a/vendor/git-4af8f4552cd0d200/linux-loader/src/cmdline/mod.rs +++ /dev/null @@ -1,235 +0,0 @@ -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. -// -// SPDX-License-Identifier: Apache-2.0 AND BSD-3-Clause -// -//! Helper for creating valid kernel command line strings. - -use std::fmt; -use std::result; - -/// The error type for command line building operations. -#[derive(PartialEq, Debug)] -pub enum Error { - /// Operation would have resulted in a non-printable ASCII character. - InvalidAscii, - /// Key/Value Operation would have had a space in it. - HasSpace, - /// Key/Value Operation would have had an equals sign in it. - HasEquals, - /// Operation would have made the command line too large. - TooLarge, -} - -impl fmt::Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!( - f, - "{}", - match *self { - Error::InvalidAscii => "string contains non-printable ASCII character", - Error::HasSpace => "string contains a space", - Error::HasEquals => "string contains an equals sign", - Error::TooLarge => "inserting string would make command line too long", - } - ) - } -} - -/// Specialized Result type for command line operations. -pub type Result = result::Result; - -fn valid_char(c: char) -> bool { - match c { - ' '...'~' => true, - _ => false, - } -} - -fn valid_str(s: &str) -> Result<()> { - if s.chars().all(valid_char) { - Ok(()) - } else { - Err(Error::InvalidAscii) - } -} - -fn valid_element(s: &str) -> Result<()> { - if !s.chars().all(valid_char) { - Err(Error::InvalidAscii) - } else if s.contains(' ') { - Err(Error::HasSpace) - } else if s.contains('=') { - Err(Error::HasEquals) - } else { - Ok(()) - } -} - -/// A builder for a kernel command line string that validates the string as its being built. A -/// `CString` can be constructed from this directly using `CString::new`. -#[derive(Clone)] -pub struct Cmdline { - line: String, - capacity: usize, -} - -impl Cmdline { - /// Constructs an empty Cmdline with the given capacity, which includes the nul terminator. - /// Capacity must be greater than 0. - pub fn new(capacity: usize) -> Cmdline { - assert_ne!(capacity, 0); - Cmdline { - line: String::with_capacity(capacity), - capacity, - } - } - - fn has_capacity(&self, more: usize) -> Result<()> { - let needs_space = if self.line.is_empty() { 0 } else { 1 }; - if self.line.len() + more + needs_space < self.capacity { - Ok(()) - } else { - Err(Error::TooLarge) - } - } - - fn start_push(&mut self) { - if !self.line.is_empty() { - self.line.push(' '); - } - } - - fn end_push(&mut self) { - // This assert is always true because of the `has_capacity` check that each insert method - // uses. - assert!(self.line.len() < self.capacity); - } - - /// Validates and inserts a key value pair into this command line - pub fn insert>(&mut self, key: T, val: T) -> Result<()> { - let k = key.as_ref(); - let v = val.as_ref(); - - valid_element(k)?; - valid_element(v)?; - self.has_capacity(k.len() + v.len() + 1)?; - - self.start_push(); - self.line.push_str(k); - self.line.push('='); - self.line.push_str(v); - self.end_push(); - - Ok(()) - } - - /// Validates and inserts a string to the end of the current command line - pub fn insert_str>(&mut self, slug: T) -> Result<()> { - let s = slug.as_ref(); - valid_str(s)?; - - self.has_capacity(s.len())?; - - self.start_push(); - self.line.push_str(s); - self.end_push(); - - Ok(()) - } - - /// Returns the cmdline in progress without nul termination - pub fn as_str(&self) -> &str { - self.line.as_str() - } -} - -impl Into> for Cmdline { - fn into(self) -> Vec { - self.line.into_bytes() - } -} - -#[cfg(test)] -mod tests { - use super::*; - use std::ffi::CString; - - #[test] - fn insert_hello_world() { - let mut cl = Cmdline::new(100); - assert_eq!(cl.as_str(), ""); - assert!(cl.insert("hello", "world").is_ok()); - assert_eq!(cl.as_str(), "hello=world"); - - let s = CString::new(cl).expect("failed to create CString from Cmdline"); - assert_eq!(s, CString::new("hello=world").unwrap()); - } - - #[test] - fn insert_multi() { - let mut cl = Cmdline::new(100); - assert!(cl.insert("hello", "world").is_ok()); - assert!(cl.insert("foo", "bar").is_ok()); - assert_eq!(cl.as_str(), "hello=world foo=bar"); - } - - #[test] - fn insert_space() { - let mut cl = Cmdline::new(100); - assert_eq!(cl.insert("a ", "b"), Err(Error::HasSpace)); - assert_eq!(cl.insert("a", "b "), Err(Error::HasSpace)); - assert_eq!(cl.insert("a ", "b "), Err(Error::HasSpace)); - assert_eq!(cl.insert(" a", "b"), Err(Error::HasSpace)); - assert_eq!(cl.as_str(), ""); - } - - #[test] - fn insert_equals() { - let mut cl = Cmdline::new(100); - assert_eq!(cl.insert("a=", "b"), Err(Error::HasEquals)); - assert_eq!(cl.insert("a", "b="), Err(Error::HasEquals)); - assert_eq!(cl.insert("a=", "b "), Err(Error::HasEquals)); - assert_eq!(cl.insert("=a", "b"), Err(Error::HasEquals)); - assert_eq!(cl.insert("a", "=b"), Err(Error::HasEquals)); - assert_eq!(cl.as_str(), ""); - } - - #[test] - fn insert_emoji() { - let mut cl = Cmdline::new(100); - assert_eq!(cl.insert("heart", "💖"), Err(Error::InvalidAscii)); - assert_eq!(cl.insert("💖", "love"), Err(Error::InvalidAscii)); - assert_eq!(cl.as_str(), ""); - } - - #[test] - fn insert_string() { - let mut cl = Cmdline::new(13); - assert_eq!(cl.as_str(), ""); - assert!(cl.insert_str("noapic").is_ok()); - assert_eq!(cl.as_str(), "noapic"); - assert!(cl.insert_str("nopci").is_ok()); - assert_eq!(cl.as_str(), "noapic nopci"); - } - - #[test] - fn insert_too_large() { - let mut cl = Cmdline::new(4); - assert_eq!(cl.insert("hello", "world"), Err(Error::TooLarge)); - assert_eq!(cl.insert("a", "world"), Err(Error::TooLarge)); - assert_eq!(cl.insert("hello", "b"), Err(Error::TooLarge)); - assert!(cl.insert("a", "b").is_ok()); - assert_eq!(cl.insert("a", "b"), Err(Error::TooLarge)); - assert_eq!(cl.insert_str("a"), Err(Error::TooLarge)); - assert_eq!(cl.as_str(), "a=b"); - - let mut cl = Cmdline::new(10); - assert!(cl.insert("ab", "ba").is_ok()); // adds 5 length - assert_eq!(cl.insert("c", "da"), Err(Error::TooLarge)); // adds 5 (including space) length - assert!(cl.insert("c", "d").is_ok()); // adds 4 (including space) length - } -} diff --git a/vendor/git-4af8f4552cd0d200/linux-loader/src/lib.rs b/vendor/git-4af8f4552cd0d200/linux-loader/src/lib.rs deleted file mode 100644 index 4cb50e9eb..000000000 --- a/vendor/git-4af8f4552cd0d200/linux-loader/src/lib.rs +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright (c) 2019 Intel Corporation. All rights reserved. -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. -// -// SPDX-License-Identifier: Apache-2.0 AND BSD-3-Clause - -pub mod cmdline; -pub mod loader; - -extern crate vm_memory; diff --git a/vendor/git-4af8f4552cd0d200/linux-loader/src/loader/bootparam.rs b/vendor/git-4af8f4552cd0d200/linux-loader/src/loader/bootparam.rs deleted file mode 100644 index f19663ff6..000000000 --- a/vendor/git-4af8f4552cd0d200/linux-loader/src/loader/bootparam.rs +++ /dev/null @@ -1,3870 +0,0 @@ -// Copyright (c) 2019 Intel Corporation. All rights reserved. -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. -// -// SPDX-License-Identifier: Apache-2.0 AND BSD-3-Clause - -/* - * automatically generated by rust-bindgen - * From upstream linux bootparam.h at commit: - * 806276b7f07a39a1cc3f38bb1ef5c573d4594a38 - */ - -#[repr(C)] -#[derive(Default)] -pub struct __IncompleteArrayField(::std::marker::PhantomData); -impl __IncompleteArrayField { - #[inline] - pub fn new() -> Self { - __IncompleteArrayField(::std::marker::PhantomData) - } - #[inline] - pub unsafe fn as_ptr(&self) -> *const T { - ::std::mem::transmute(self) - } - #[inline] - pub unsafe fn as_mut_ptr(&mut self) -> *mut T { - ::std::mem::transmute(self) - } - #[inline] - pub unsafe fn as_slice(&self, len: usize) -> &[T] { - ::std::slice::from_raw_parts(self.as_ptr(), len) - } - #[inline] - pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { - ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len) - } -} -impl ::std::fmt::Debug for __IncompleteArrayField { - fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { - fmt.write_str("__IncompleteArrayField") - } -} -impl ::std::clone::Clone for __IncompleteArrayField { - #[inline] - fn clone(&self) -> Self { - Self::new() - } -} -impl ::std::marker::Copy for __IncompleteArrayField {} -#[repr(C)] -pub struct __BindgenUnionField(::std::marker::PhantomData); -impl __BindgenUnionField { - #[inline] - pub fn new() -> Self { - __BindgenUnionField(::std::marker::PhantomData) - } - #[inline] - pub unsafe fn as_ref(&self) -> &T { - ::std::mem::transmute(self) - } - #[inline] - pub unsafe fn as_mut(&mut self) -> &mut T { - ::std::mem::transmute(self) - } -} -impl ::std::default::Default for __BindgenUnionField { - #[inline] - fn default() -> Self { - Self::new() - } -} -impl ::std::clone::Clone for __BindgenUnionField { - #[inline] - fn clone(&self) -> Self { - Self::new() - } -} -impl ::std::marker::Copy for __BindgenUnionField {} -impl ::std::fmt::Debug for __BindgenUnionField { - fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { - fmt.write_str("__BindgenUnionField") - } -} -pub const SETUP_NONE: ::std::os::raw::c_uint = 0; -pub const SETUP_E820_EXT: ::std::os::raw::c_uint = 1; -pub const SETUP_DTB: ::std::os::raw::c_uint = 2; -pub const SETUP_PCI: ::std::os::raw::c_uint = 3; -pub const SETUP_EFI: ::std::os::raw::c_uint = 4; -pub const RAMDISK_IMAGE_START_MASK: ::std::os::raw::c_uint = 2047; -pub const RAMDISK_PROMPT_FLAG: ::std::os::raw::c_uint = 32768; -pub const RAMDISK_LOAD_FLAG: ::std::os::raw::c_uint = 16384; -pub const LOADED_HIGH: ::std::os::raw::c_uint = 1; -pub const QUIET_FLAG: ::std::os::raw::c_uint = 32; -pub const KEEP_SEGMENTS: ::std::os::raw::c_uint = 64; -pub const CAN_USE_HEAP: ::std::os::raw::c_uint = 128; -pub const XLF_KERNEL_64: ::std::os::raw::c_uint = 1; -pub const XLF_CAN_BE_LOADED_ABOVE_4G: ::std::os::raw::c_uint = 2; -pub const XLF_EFI_HANDOVER_32: ::std::os::raw::c_uint = 4; -pub const XLF_EFI_HANDOVER_64: ::std::os::raw::c_uint = 8; -pub const XLF_EFI_KEXEC: ::std::os::raw::c_uint = 16; -pub const __BITS_PER_LONG: ::std::os::raw::c_uint = 64; -pub const __FD_SETSIZE: ::std::os::raw::c_uint = 1024; -pub const VIDEO_TYPE_MDA: ::std::os::raw::c_uint = 16; -pub const VIDEO_TYPE_CGA: ::std::os::raw::c_uint = 17; -pub const VIDEO_TYPE_EGAM: ::std::os::raw::c_uint = 32; -pub const VIDEO_TYPE_EGAC: ::std::os::raw::c_uint = 33; -pub const VIDEO_TYPE_VGAC: ::std::os::raw::c_uint = 34; -pub const VIDEO_TYPE_VLFB: ::std::os::raw::c_uint = 35; -pub const VIDEO_TYPE_PICA_S3: ::std::os::raw::c_uint = 48; -pub const VIDEO_TYPE_MIPS_G364: ::std::os::raw::c_uint = 49; -pub const VIDEO_TYPE_SGI: ::std::os::raw::c_uint = 51; -pub const VIDEO_TYPE_TGAC: ::std::os::raw::c_uint = 64; -pub const VIDEO_TYPE_SUN: ::std::os::raw::c_uint = 80; -pub const VIDEO_TYPE_SUNPCI: ::std::os::raw::c_uint = 81; -pub const VIDEO_TYPE_PMAC: ::std::os::raw::c_uint = 96; -pub const VIDEO_TYPE_EFI: ::std::os::raw::c_uint = 112; -pub const VIDEO_FLAGS_NOCURSOR: ::std::os::raw::c_uint = 1; -pub const VIDEO_CAPABILITY_SKIP_QUIRKS: ::std::os::raw::c_uint = 1; -pub const APM_STATE_READY: ::std::os::raw::c_uint = 0; -pub const APM_STATE_STANDBY: ::std::os::raw::c_uint = 1; -pub const APM_STATE_SUSPEND: ::std::os::raw::c_uint = 2; -pub const APM_STATE_OFF: ::std::os::raw::c_uint = 3; -pub const APM_STATE_BUSY: ::std::os::raw::c_uint = 4; -pub const APM_STATE_REJECT: ::std::os::raw::c_uint = 5; -pub const APM_STATE_OEM_SYS: ::std::os::raw::c_uint = 32; -pub const APM_STATE_OEM_DEV: ::std::os::raw::c_uint = 64; -pub const APM_STATE_DISABLE: ::std::os::raw::c_uint = 0; -pub const APM_STATE_ENABLE: ::std::os::raw::c_uint = 1; -pub const APM_STATE_DISENGAGE: ::std::os::raw::c_uint = 0; -pub const APM_STATE_ENGAGE: ::std::os::raw::c_uint = 1; -pub const APM_SYS_STANDBY: ::std::os::raw::c_uint = 1; -pub const APM_SYS_SUSPEND: ::std::os::raw::c_uint = 2; -pub const APM_NORMAL_RESUME: ::std::os::raw::c_uint = 3; -pub const APM_CRITICAL_RESUME: ::std::os::raw::c_uint = 4; -pub const APM_LOW_BATTERY: ::std::os::raw::c_uint = 5; -pub const APM_POWER_STATUS_CHANGE: ::std::os::raw::c_uint = 6; -pub const APM_UPDATE_TIME: ::std::os::raw::c_uint = 7; -pub const APM_CRITICAL_SUSPEND: ::std::os::raw::c_uint = 8; -pub const APM_USER_STANDBY: ::std::os::raw::c_uint = 9; -pub const APM_USER_SUSPEND: ::std::os::raw::c_uint = 10; -pub const APM_STANDBY_RESUME: ::std::os::raw::c_uint = 11; -pub const APM_CAPABILITY_CHANGE: ::std::os::raw::c_uint = 12; -pub const APM_USER_HIBERNATION: ::std::os::raw::c_uint = 13; -pub const APM_HIBERNATION_RESUME: ::std::os::raw::c_uint = 14; -pub const APM_SUCCESS: ::std::os::raw::c_uint = 0; -pub const APM_DISABLED: ::std::os::raw::c_uint = 1; -pub const APM_CONNECTED: ::std::os::raw::c_uint = 2; -pub const APM_NOT_CONNECTED: ::std::os::raw::c_uint = 3; -pub const APM_16_CONNECTED: ::std::os::raw::c_uint = 5; -pub const APM_16_UNSUPPORTED: ::std::os::raw::c_uint = 6; -pub const APM_32_CONNECTED: ::std::os::raw::c_uint = 7; -pub const APM_32_UNSUPPORTED: ::std::os::raw::c_uint = 8; -pub const APM_BAD_DEVICE: ::std::os::raw::c_uint = 9; -pub const APM_BAD_PARAM: ::std::os::raw::c_uint = 10; -pub const APM_NOT_ENGAGED: ::std::os::raw::c_uint = 11; -pub const APM_BAD_FUNCTION: ::std::os::raw::c_uint = 12; -pub const APM_RESUME_DISABLED: ::std::os::raw::c_uint = 13; -pub const APM_NO_ERROR: ::std::os::raw::c_uint = 83; -pub const APM_BAD_STATE: ::std::os::raw::c_uint = 96; -pub const APM_NO_EVENTS: ::std::os::raw::c_uint = 128; -pub const APM_NOT_PRESENT: ::std::os::raw::c_uint = 134; -pub const APM_DEVICE_BIOS: ::std::os::raw::c_uint = 0; -pub const APM_DEVICE_ALL: ::std::os::raw::c_uint = 1; -pub const APM_DEVICE_DISPLAY: ::std::os::raw::c_uint = 256; -pub const APM_DEVICE_STORAGE: ::std::os::raw::c_uint = 512; -pub const APM_DEVICE_PARALLEL: ::std::os::raw::c_uint = 768; -pub const APM_DEVICE_SERIAL: ::std::os::raw::c_uint = 1024; -pub const APM_DEVICE_NETWORK: ::std::os::raw::c_uint = 1280; -pub const APM_DEVICE_PCMCIA: ::std::os::raw::c_uint = 1536; -pub const APM_DEVICE_BATTERY: ::std::os::raw::c_uint = 32768; -pub const APM_DEVICE_OEM: ::std::os::raw::c_uint = 57344; -pub const APM_DEVICE_OLD_ALL: ::std::os::raw::c_uint = 65535; -pub const APM_DEVICE_CLASS: ::std::os::raw::c_uint = 255; -pub const APM_DEVICE_MASK: ::std::os::raw::c_uint = 65280; -pub const APM_MAX_BATTERIES: ::std::os::raw::c_uint = 2; -pub const APM_CAP_GLOBAL_STANDBY: ::std::os::raw::c_uint = 1; -pub const APM_CAP_GLOBAL_SUSPEND: ::std::os::raw::c_uint = 2; -pub const APM_CAP_RESUME_STANDBY_TIMER: ::std::os::raw::c_uint = 4; -pub const APM_CAP_RESUME_SUSPEND_TIMER: ::std::os::raw::c_uint = 8; -pub const APM_CAP_RESUME_STANDBY_RING: ::std::os::raw::c_uint = 16; -pub const APM_CAP_RESUME_SUSPEND_RING: ::std::os::raw::c_uint = 32; -pub const APM_CAP_RESUME_STANDBY_PCMCIA: ::std::os::raw::c_uint = 64; -pub const APM_CAP_RESUME_SUSPEND_PCMCIA: ::std::os::raw::c_uint = 128; -pub const _IOC_NRBITS: ::std::os::raw::c_uint = 8; -pub const _IOC_TYPEBITS: ::std::os::raw::c_uint = 8; -pub const _IOC_SIZEBITS: ::std::os::raw::c_uint = 14; -pub const _IOC_DIRBITS: ::std::os::raw::c_uint = 2; -pub const _IOC_NRMASK: ::std::os::raw::c_uint = 255; -pub const _IOC_TYPEMASK: ::std::os::raw::c_uint = 255; -pub const _IOC_SIZEMASK: ::std::os::raw::c_uint = 16383; -pub const _IOC_DIRMASK: ::std::os::raw::c_uint = 3; -pub const _IOC_NRSHIFT: ::std::os::raw::c_uint = 0; -pub const _IOC_TYPESHIFT: ::std::os::raw::c_uint = 8; -pub const _IOC_SIZESHIFT: ::std::os::raw::c_uint = 16; -pub const _IOC_DIRSHIFT: ::std::os::raw::c_uint = 30; -pub const _IOC_NONE: ::std::os::raw::c_uint = 0; -pub const _IOC_WRITE: ::std::os::raw::c_uint = 1; -pub const _IOC_READ: ::std::os::raw::c_uint = 2; -pub const IOC_IN: ::std::os::raw::c_uint = 1073741824; -pub const IOC_OUT: ::std::os::raw::c_uint = 2147483648; -pub const IOC_INOUT: ::std::os::raw::c_uint = 3221225472; -pub const IOCSIZE_MASK: ::std::os::raw::c_uint = 1073676288; -pub const IOCSIZE_SHIFT: ::std::os::raw::c_uint = 16; -pub const EDDNR: ::std::os::raw::c_uint = 489; -pub const EDDBUF: ::std::os::raw::c_uint = 3328; -pub const EDDMAXNR: ::std::os::raw::c_uint = 6; -pub const EDDEXTSIZE: ::std::os::raw::c_uint = 8; -pub const EDDPARMSIZE: ::std::os::raw::c_uint = 74; -pub const CHECKEXTENSIONSPRESENT: ::std::os::raw::c_uint = 65; -pub const GETDEVICEPARAMETERS: ::std::os::raw::c_uint = 72; -pub const LEGACYGETDEVICEPARAMETERS: ::std::os::raw::c_uint = 8; -pub const EDDMAGIC1: ::std::os::raw::c_uint = 21930; -pub const EDDMAGIC2: ::std::os::raw::c_uint = 43605; -pub const READ_SECTORS: ::std::os::raw::c_uint = 2; -pub const EDD_MBR_SIG_OFFSET: ::std::os::raw::c_uint = 440; -pub const EDD_MBR_SIG_BUF: ::std::os::raw::c_uint = 656; -pub const EDD_MBR_SIG_MAX: ::std::os::raw::c_uint = 16; -pub const EDD_MBR_SIG_NR_BUF: ::std::os::raw::c_uint = 490; -pub const EDD_EXT_FIXED_DISK_ACCESS: ::std::os::raw::c_uint = 1; -pub const EDD_EXT_DEVICE_LOCKING_AND_EJECTING: ::std::os::raw::c_uint = 2; -pub const EDD_EXT_ENHANCED_DISK_DRIVE_SUPPORT: ::std::os::raw::c_uint = 4; -pub const EDD_EXT_64BIT_EXTENSIONS: ::std::os::raw::c_uint = 8; -pub const EDD_INFO_DMA_BOUNDARY_ERROR_TRANSPARENT: ::std::os::raw::c_uint = 1; -pub const EDD_INFO_GEOMETRY_VALID: ::std::os::raw::c_uint = 2; -pub const EDD_INFO_REMOVABLE: ::std::os::raw::c_uint = 4; -pub const EDD_INFO_WRITE_VERIFY: ::std::os::raw::c_uint = 8; -pub const EDD_INFO_MEDIA_CHANGE_NOTIFICATION: ::std::os::raw::c_uint = 16; -pub const EDD_INFO_LOCKABLE: ::std::os::raw::c_uint = 32; -pub const EDD_INFO_NO_MEDIA_PRESENT: ::std::os::raw::c_uint = 64; -pub const EDD_INFO_USE_INT13_FN50: ::std::os::raw::c_uint = 128; -pub const E820MAP: ::std::os::raw::c_uint = 720; -pub const E820MAX: ::std::os::raw::c_uint = 128; -pub const E820_X_MAX: ::std::os::raw::c_uint = 128; -pub const E820NR: ::std::os::raw::c_uint = 488; -pub const E820_RAM: ::std::os::raw::c_uint = 1; -pub const E820_RESERVED: ::std::os::raw::c_uint = 2; -pub const E820_ACPI: ::std::os::raw::c_uint = 3; -pub const E820_NVS: ::std::os::raw::c_uint = 4; -pub const E820_UNUSABLE: ::std::os::raw::c_uint = 5; -pub const E820_RESERVED_KERN: ::std::os::raw::c_uint = 128; -pub const ISA_START_ADDRESS: ::std::os::raw::c_uint = 655360; -pub const ISA_END_ADDRESS: ::std::os::raw::c_uint = 1048576; -pub const BIOS_BEGIN: ::std::os::raw::c_uint = 655360; -pub const BIOS_END: ::std::os::raw::c_uint = 1048576; -pub const BIOS_ROM_BASE: ::std::os::raw::c_uint = 4292870144; -pub const BIOS_ROM_END: ::std::os::raw::c_uint = 4294967295; -pub type __s8 = ::std::os::raw::c_schar; -pub type __u8 = ::std::os::raw::c_uchar; -pub type __s16 = ::std::os::raw::c_short; -pub type __u16 = ::std::os::raw::c_ushort; -pub type __s32 = ::std::os::raw::c_int; -pub type __u32 = ::std::os::raw::c_uint; -pub type __s64 = ::std::os::raw::c_longlong; -pub type __u64 = ::std::os::raw::c_ulonglong; -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct __kernel_fd_set { - pub fds_bits: [::std::os::raw::c_ulong; 16usize], -} -#[test] -fn bindgen_test_layout___kernel_fd_set() { - assert_eq!( - ::std::mem::size_of::<__kernel_fd_set>(), - 128usize, - concat!("Size of: ", stringify!(__kernel_fd_set)) - ); - assert_eq!( - ::std::mem::align_of::<__kernel_fd_set>(), - 8usize, - concat!("Alignment of ", stringify!(__kernel_fd_set)) - ); - assert_eq!( - unsafe { &(*(0 as *const __kernel_fd_set)).fds_bits as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(__kernel_fd_set), - "::", - stringify!(fds_bits) - ) - ); -} -impl Clone for __kernel_fd_set { - fn clone(&self) -> Self { - *self - } -} -pub type __kernel_sighandler_t = - ::std::option::Option; -pub type __kernel_key_t = ::std::os::raw::c_int; -pub type __kernel_mqd_t = ::std::os::raw::c_int; -pub type __kernel_old_uid_t = ::std::os::raw::c_ushort; -pub type __kernel_old_gid_t = ::std::os::raw::c_ushort; -pub type __kernel_old_dev_t = ::std::os::raw::c_ulong; -pub type __kernel_long_t = ::std::os::raw::c_long; -pub type __kernel_ulong_t = ::std::os::raw::c_ulong; -pub type __kernel_ino_t = __kernel_ulong_t; -pub type __kernel_mode_t = ::std::os::raw::c_uint; -pub type __kernel_pid_t = ::std::os::raw::c_int; -pub type __kernel_ipc_pid_t = ::std::os::raw::c_int; -pub type __kernel_uid_t = ::std::os::raw::c_uint; -pub type __kernel_gid_t = ::std::os::raw::c_uint; -pub type __kernel_suseconds_t = __kernel_long_t; -pub type __kernel_daddr_t = ::std::os::raw::c_int; -pub type __kernel_uid32_t = ::std::os::raw::c_uint; -pub type __kernel_gid32_t = ::std::os::raw::c_uint; -pub type __kernel_size_t = __kernel_ulong_t; -pub type __kernel_ssize_t = __kernel_long_t; -pub type __kernel_ptrdiff_t = __kernel_long_t; -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct __kernel_fsid_t { - pub val: [::std::os::raw::c_int; 2usize], -} -#[test] -fn bindgen_test_layout___kernel_fsid_t() { - assert_eq!( - ::std::mem::size_of::<__kernel_fsid_t>(), - 8usize, - concat!("Size of: ", stringify!(__kernel_fsid_t)) - ); - assert_eq!( - ::std::mem::align_of::<__kernel_fsid_t>(), - 4usize, - concat!("Alignment of ", stringify!(__kernel_fsid_t)) - ); - assert_eq!( - unsafe { &(*(0 as *const __kernel_fsid_t)).val as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(__kernel_fsid_t), - "::", - stringify!(val) - ) - ); -} -impl Clone for __kernel_fsid_t { - fn clone(&self) -> Self { - *self - } -} -pub type __kernel_off_t = __kernel_long_t; -pub type __kernel_loff_t = ::std::os::raw::c_longlong; -pub type __kernel_time_t = __kernel_long_t; -pub type __kernel_clock_t = __kernel_long_t; -pub type __kernel_timer_t = ::std::os::raw::c_int; -pub type __kernel_clockid_t = ::std::os::raw::c_int; -pub type __kernel_caddr_t = *mut ::std::os::raw::c_char; -pub type __kernel_uid16_t = ::std::os::raw::c_ushort; -pub type __kernel_gid16_t = ::std::os::raw::c_ushort; -pub type __le16 = __u16; -pub type __be16 = __u16; -pub type __le32 = __u32; -pub type __be32 = __u32; -pub type __le64 = __u64; -pub type __be64 = __u64; -pub type __sum16 = __u16; -pub type __wsum = __u32; -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct screen_info { - pub orig_x: __u8, - pub orig_y: __u8, - pub ext_mem_k: __u16, - pub orig_video_page: __u16, - pub orig_video_mode: __u8, - pub orig_video_cols: __u8, - pub flags: __u8, - pub unused2: __u8, - pub orig_video_ega_bx: __u16, - pub unused3: __u16, - pub orig_video_lines: __u8, - pub orig_video_isVGA: __u8, - pub orig_video_points: __u16, - pub lfb_width: __u16, - pub lfb_height: __u16, - pub lfb_depth: __u16, - pub lfb_base: __u32, - pub lfb_size: __u32, - pub cl_magic: __u16, - pub cl_offset: __u16, - pub lfb_linelength: __u16, - pub red_size: __u8, - pub red_pos: __u8, - pub green_size: __u8, - pub green_pos: __u8, - pub blue_size: __u8, - pub blue_pos: __u8, - pub rsvd_size: __u8, - pub rsvd_pos: __u8, - pub vesapm_seg: __u16, - pub vesapm_off: __u16, - pub pages: __u16, - pub vesa_attributes: __u16, - pub capabilities: __u32, - pub _reserved: [__u8; 6usize], -} -#[test] -fn bindgen_test_layout_screen_info() { - assert_eq!( - ::std::mem::size_of::(), - 64usize, - concat!("Size of: ", stringify!(screen_info)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(screen_info)) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).orig_x as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(orig_x) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).orig_y as *const _ as usize }, - 1usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(orig_y) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).ext_mem_k as *const _ as usize }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(ext_mem_k) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).orig_video_page as *const _ as usize }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(orig_video_page) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).orig_video_mode as *const _ as usize }, - 6usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(orig_video_mode) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).orig_video_cols as *const _ as usize }, - 7usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(orig_video_cols) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).flags as *const _ as usize }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(flags) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).unused2 as *const _ as usize }, - 9usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(unused2) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).orig_video_ega_bx as *const _ as usize }, - 10usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(orig_video_ega_bx) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).unused3 as *const _ as usize }, - 12usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(unused3) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).orig_video_lines as *const _ as usize }, - 14usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(orig_video_lines) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).orig_video_isVGA as *const _ as usize }, - 15usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(orig_video_isVGA) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).orig_video_points as *const _ as usize }, - 16usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(orig_video_points) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).lfb_width as *const _ as usize }, - 18usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(lfb_width) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).lfb_height as *const _ as usize }, - 20usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(lfb_height) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).lfb_depth as *const _ as usize }, - 22usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(lfb_depth) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).lfb_base as *const _ as usize }, - 24usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(lfb_base) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).lfb_size as *const _ as usize }, - 28usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(lfb_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).cl_magic as *const _ as usize }, - 32usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(cl_magic) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).cl_offset as *const _ as usize }, - 34usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(cl_offset) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).lfb_linelength as *const _ as usize }, - 36usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(lfb_linelength) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).red_size as *const _ as usize }, - 38usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(red_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).red_pos as *const _ as usize }, - 39usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(red_pos) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).green_size as *const _ as usize }, - 40usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(green_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).green_pos as *const _ as usize }, - 41usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(green_pos) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).blue_size as *const _ as usize }, - 42usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(blue_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).blue_pos as *const _ as usize }, - 43usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(blue_pos) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).rsvd_size as *const _ as usize }, - 44usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(rsvd_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).rsvd_pos as *const _ as usize }, - 45usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(rsvd_pos) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).vesapm_seg as *const _ as usize }, - 46usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(vesapm_seg) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).vesapm_off as *const _ as usize }, - 48usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(vesapm_off) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).pages as *const _ as usize }, - 50usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(pages) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).vesa_attributes as *const _ as usize }, - 52usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(vesa_attributes) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).capabilities as *const _ as usize }, - 54usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(capabilities) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info))._reserved as *const _ as usize }, - 58usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(_reserved) - ) - ); -} -impl Clone for screen_info { - fn clone(&self) -> Self { - *self - } -} -pub type apm_event_t = ::std::os::raw::c_ushort; -pub type apm_eventinfo_t = ::std::os::raw::c_ushort; -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct apm_bios_info { - pub version: __u16, - pub cseg: __u16, - pub offset: __u32, - pub cseg_16: __u16, - pub dseg: __u16, - pub flags: __u16, - pub cseg_len: __u16, - pub cseg_16_len: __u16, - pub dseg_len: __u16, -} -#[test] -fn bindgen_test_layout_apm_bios_info() { - assert_eq!( - ::std::mem::size_of::(), - 20usize, - concat!("Size of: ", stringify!(apm_bios_info)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(apm_bios_info)) - ); - assert_eq!( - unsafe { &(*(0 as *const apm_bios_info)).version as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(apm_bios_info), - "::", - stringify!(version) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const apm_bios_info)).cseg as *const _ as usize }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(apm_bios_info), - "::", - stringify!(cseg) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const apm_bios_info)).offset as *const _ as usize }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(apm_bios_info), - "::", - stringify!(offset) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const apm_bios_info)).cseg_16 as *const _ as usize }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(apm_bios_info), - "::", - stringify!(cseg_16) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const apm_bios_info)).dseg as *const _ as usize }, - 10usize, - concat!( - "Alignment of field: ", - stringify!(apm_bios_info), - "::", - stringify!(dseg) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const apm_bios_info)).flags as *const _ as usize }, - 12usize, - concat!( - "Alignment of field: ", - stringify!(apm_bios_info), - "::", - stringify!(flags) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const apm_bios_info)).cseg_len as *const _ as usize }, - 14usize, - concat!( - "Alignment of field: ", - stringify!(apm_bios_info), - "::", - stringify!(cseg_len) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const apm_bios_info)).cseg_16_len as *const _ as usize }, - 16usize, - concat!( - "Alignment of field: ", - stringify!(apm_bios_info), - "::", - stringify!(cseg_16_len) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const apm_bios_info)).dseg_len as *const _ as usize }, - 18usize, - concat!( - "Alignment of field: ", - stringify!(apm_bios_info), - "::", - stringify!(dseg_len) - ) - ); -} -impl Clone for apm_bios_info { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params { - pub length: __u16, - pub info_flags: __u16, - pub num_default_cylinders: __u32, - pub num_default_heads: __u32, - pub sectors_per_track: __u32, - pub number_of_sectors: __u64, - pub bytes_per_sector: __u16, - pub dpte_ptr: __u32, - pub key: __u16, - pub device_path_info_length: __u8, - pub reserved2: __u8, - pub reserved3: __u16, - pub host_bus_type: [__u8; 4usize], - pub interface_type: [__u8; 8usize], - pub interface_path: edd_device_params__bindgen_ty_1, - pub device_path: edd_device_params__bindgen_ty_2, - pub reserved4: __u8, - pub checksum: __u8, -} -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_1 { - pub isa: __BindgenUnionField, - pub pci: __BindgenUnionField, - pub ibnd: __BindgenUnionField, - pub xprs: __BindgenUnionField, - pub htpt: __BindgenUnionField, - pub unknown: __BindgenUnionField, - pub bindgen_union_field: [u8; 8usize], -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_1__bindgen_ty_1 { - pub base_address: __u16, - pub reserved1: __u16, - pub reserved2: __u32, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_1__bindgen_ty_1() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_1) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_1) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_1)).base_address as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(base_address) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_1)).reserved1 as *const _ - as usize - }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(reserved1) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_1)).reserved2 as *const _ - as usize - }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(reserved2) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_1__bindgen_ty_1 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_1__bindgen_ty_2 { - pub bus: __u8, - pub slot: __u8, - pub function: __u8, - pub channel: __u8, - pub reserved: __u32, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_1__bindgen_ty_2() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_2) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_2) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_2)).bus as *const _ as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(bus) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_2)).slot as *const _ - as usize - }, - 1usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(slot) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_2)).function as *const _ - as usize - }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(function) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_2)).channel as *const _ - as usize - }, - 3usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(channel) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_2)).reserved as *const _ - as usize - }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(reserved) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_1__bindgen_ty_2 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_1__bindgen_ty_3 { - pub reserved: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_1__bindgen_ty_3() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_3) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_3) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_3)).reserved as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_3), - "::", - stringify!(reserved) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_1__bindgen_ty_3 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_1__bindgen_ty_4 { - pub reserved: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_1__bindgen_ty_4() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_4) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_4) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_4)).reserved as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_4), - "::", - stringify!(reserved) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_1__bindgen_ty_4 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_1__bindgen_ty_5 { - pub reserved: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_1__bindgen_ty_5() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_5) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_5) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_5)).reserved as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_5), - "::", - stringify!(reserved) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_1__bindgen_ty_5 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_1__bindgen_ty_6 { - pub reserved: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_1__bindgen_ty_6() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_6) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_6) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_6)).reserved as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_6), - "::", - stringify!(reserved) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_1__bindgen_ty_6 { - fn clone(&self) -> Self { - *self - } -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_1() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(edd_device_params__bindgen_ty_1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(edd_device_params__bindgen_ty_1)) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_1)).isa as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1), - "::", - stringify!(isa) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_1)).pci as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1), - "::", - stringify!(pci) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_1)).ibnd as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1), - "::", - stringify!(ibnd) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_1)).xprs as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1), - "::", - stringify!(xprs) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_1)).htpt as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1), - "::", - stringify!(htpt) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_1)).unknown as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1), - "::", - stringify!(unknown) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_1 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2 { - pub ata: __BindgenUnionField, - pub atapi: __BindgenUnionField, - pub scsi: __BindgenUnionField, - pub usb: __BindgenUnionField, - pub i1394: __BindgenUnionField, - pub fibre: __BindgenUnionField, - pub i2o: __BindgenUnionField, - pub raid: __BindgenUnionField, - pub sata: __BindgenUnionField, - pub unknown: __BindgenUnionField, - pub bindgen_union_field: [u8; 16usize], -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2__bindgen_ty_1 { - pub device: __u8, - pub reserved1: __u8, - pub reserved2: __u16, - pub reserved3: __u32, - pub reserved4: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2__bindgen_ty_1() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_1) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_1) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_1)).device as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(device) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_1)).reserved1 as *const _ - as usize - }, - 1usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(reserved1) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_1)).reserved2 as *const _ - as usize - }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(reserved2) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_1)).reserved3 as *const _ - as usize - }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(reserved3) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_1)).reserved4 as *const _ - as usize - }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(reserved4) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2__bindgen_ty_1 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2__bindgen_ty_2 { - pub device: __u8, - pub lun: __u8, - pub reserved1: __u8, - pub reserved2: __u8, - pub reserved3: __u32, - pub reserved4: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2__bindgen_ty_2() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_2) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_2) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_2)).device as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_2), - "::", - stringify!(device) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_2)).lun as *const _ as usize - }, - 1usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_2), - "::", - stringify!(lun) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_2)).reserved1 as *const _ - as usize - }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_2), - "::", - stringify!(reserved1) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_2)).reserved2 as *const _ - as usize - }, - 3usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_2), - "::", - stringify!(reserved2) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_2)).reserved3 as *const _ - as usize - }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_2), - "::", - stringify!(reserved3) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_2)).reserved4 as *const _ - as usize - }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_2), - "::", - stringify!(reserved4) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2__bindgen_ty_2 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2__bindgen_ty_3 { - pub id: __u16, - pub lun: __u64, - pub reserved1: __u16, - pub reserved2: __u32, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2__bindgen_ty_3() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_3) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_3) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_3)).id as *const _ as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_3), - "::", - stringify!(id) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_3)).lun as *const _ as usize - }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_3), - "::", - stringify!(lun) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_3)).reserved1 as *const _ - as usize - }, - 10usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_3), - "::", - stringify!(reserved1) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_3)).reserved2 as *const _ - as usize - }, - 12usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_3), - "::", - stringify!(reserved2) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2__bindgen_ty_3 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2__bindgen_ty_4 { - pub serial_number: __u64, - pub reserved: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2__bindgen_ty_4() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_4) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_4) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_4)).serial_number - as *const _ as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_4), - "::", - stringify!(serial_number) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_4)).reserved as *const _ - as usize - }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_4), - "::", - stringify!(reserved) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2__bindgen_ty_4 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2__bindgen_ty_5 { - pub eui: __u64, - pub reserved: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2__bindgen_ty_5() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_5) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_5) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_5)).eui as *const _ as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_5), - "::", - stringify!(eui) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_5)).reserved as *const _ - as usize - }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_5), - "::", - stringify!(reserved) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2__bindgen_ty_5 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2__bindgen_ty_6 { - pub wwid: __u64, - pub lun: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2__bindgen_ty_6() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_6) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_6) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_6)).wwid as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_6), - "::", - stringify!(wwid) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_6)).lun as *const _ as usize - }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_6), - "::", - stringify!(lun) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2__bindgen_ty_6 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2__bindgen_ty_7 { - pub identity_tag: __u64, - pub reserved: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2__bindgen_ty_7() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_7) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_7) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_7)).identity_tag as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_7), - "::", - stringify!(identity_tag) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_7)).reserved as *const _ - as usize - }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_7), - "::", - stringify!(reserved) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2__bindgen_ty_7 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2__bindgen_ty_8 { - pub array_number: __u32, - pub reserved1: __u32, - pub reserved2: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2__bindgen_ty_8() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_8) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_8) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_8)).array_number as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_8), - "::", - stringify!(array_number) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_8)).reserved1 as *const _ - as usize - }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_8), - "::", - stringify!(reserved1) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_8)).reserved2 as *const _ - as usize - }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_8), - "::", - stringify!(reserved2) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2__bindgen_ty_8 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2__bindgen_ty_9 { - pub device: __u8, - pub reserved1: __u8, - pub reserved2: __u16, - pub reserved3: __u32, - pub reserved4: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2__bindgen_ty_9() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_9) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_9) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_9)).device as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_9), - "::", - stringify!(device) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_9)).reserved1 as *const _ - as usize - }, - 1usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_9), - "::", - stringify!(reserved1) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_9)).reserved2 as *const _ - as usize - }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_9), - "::", - stringify!(reserved2) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_9)).reserved3 as *const _ - as usize - }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_9), - "::", - stringify!(reserved3) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_9)).reserved4 as *const _ - as usize - }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_9), - "::", - stringify!(reserved4) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2__bindgen_ty_9 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2__bindgen_ty_10 { - pub reserved1: __u64, - pub reserved2: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2__bindgen_ty_10() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_10) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_10) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_10)).reserved1 as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_10), - "::", - stringify!(reserved1) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_10)).reserved2 as *const _ - as usize - }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_10), - "::", - stringify!(reserved2) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2__bindgen_ty_10 { - fn clone(&self) -> Self { - *self - } -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(edd_device_params__bindgen_ty_2)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(edd_device_params__bindgen_ty_2)) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_2)).ata as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2), - "::", - stringify!(ata) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_2)).atapi as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2), - "::", - stringify!(atapi) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_2)).scsi as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2), - "::", - stringify!(scsi) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_2)).usb as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2), - "::", - stringify!(usb) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_2)).i1394 as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2), - "::", - stringify!(i1394) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_2)).fibre as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2), - "::", - stringify!(fibre) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_2)).i2o as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2), - "::", - stringify!(i2o) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_2)).raid as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2), - "::", - stringify!(raid) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_2)).sata as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2), - "::", - stringify!(sata) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_2)).unknown as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2), - "::", - stringify!(unknown) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2 { - fn clone(&self) -> Self { - *self - } -} -#[test] -fn bindgen_test_layout_edd_device_params() { - assert_eq!( - ::std::mem::size_of::(), - 74usize, - concat!("Size of: ", stringify!(edd_device_params)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(edd_device_params)) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).length as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(length) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).info_flags as *const _ as usize }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(info_flags) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).num_default_cylinders as *const _ as usize }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(num_default_cylinders) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).num_default_heads as *const _ as usize }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(num_default_heads) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).sectors_per_track as *const _ as usize }, - 12usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(sectors_per_track) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).number_of_sectors as *const _ as usize }, - 16usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(number_of_sectors) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).bytes_per_sector as *const _ as usize }, - 24usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(bytes_per_sector) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).dpte_ptr as *const _ as usize }, - 26usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(dpte_ptr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).key as *const _ as usize }, - 30usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(key) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).device_path_info_length as *const _ as usize }, - 32usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(device_path_info_length) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).reserved2 as *const _ as usize }, - 33usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(reserved2) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).reserved3 as *const _ as usize }, - 34usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(reserved3) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).host_bus_type as *const _ as usize }, - 36usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(host_bus_type) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).interface_type as *const _ as usize }, - 40usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(interface_type) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).interface_path as *const _ as usize }, - 48usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(interface_path) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).device_path as *const _ as usize }, - 56usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(device_path) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).reserved4 as *const _ as usize }, - 72usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(reserved4) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).checksum as *const _ as usize }, - 73usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(checksum) - ) - ); -} -impl Clone for edd_device_params { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_info { - pub device: __u8, - pub version: __u8, - pub interface_support: __u16, - pub legacy_max_cylinder: __u16, - pub legacy_max_head: __u8, - pub legacy_sectors_per_track: __u8, - pub params: edd_device_params, -} -#[test] -fn bindgen_test_layout_edd_info() { - assert_eq!( - ::std::mem::size_of::(), - 82usize, - concat!("Size of: ", stringify!(edd_info)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(edd_info)) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_info)).device as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_info), - "::", - stringify!(device) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_info)).version as *const _ as usize }, - 1usize, - concat!( - "Alignment of field: ", - stringify!(edd_info), - "::", - stringify!(version) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_info)).interface_support as *const _ as usize }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(edd_info), - "::", - stringify!(interface_support) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_info)).legacy_max_cylinder as *const _ as usize }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(edd_info), - "::", - stringify!(legacy_max_cylinder) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_info)).legacy_max_head as *const _ as usize }, - 6usize, - concat!( - "Alignment of field: ", - stringify!(edd_info), - "::", - stringify!(legacy_max_head) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_info)).legacy_sectors_per_track as *const _ as usize }, - 7usize, - concat!( - "Alignment of field: ", - stringify!(edd_info), - "::", - stringify!(legacy_sectors_per_track) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_info)).params as *const _ as usize }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_info), - "::", - stringify!(params) - ) - ); -} -impl Clone for edd_info { - fn clone(&self) -> Self { - *self - } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct edd { - pub mbr_signature: [::std::os::raw::c_uint; 16usize], - pub edd_info: [edd_info; 6usize], - pub mbr_signature_nr: ::std::os::raw::c_uchar, - pub edd_info_nr: ::std::os::raw::c_uchar, -} -#[test] -fn bindgen_test_layout_edd() { - assert_eq!( - ::std::mem::size_of::(), - 560usize, - concat!("Size of: ", stringify!(edd)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(edd)) - ); - assert_eq!( - unsafe { &(*(0 as *const edd)).mbr_signature as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd), - "::", - stringify!(mbr_signature) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd)).edd_info as *const _ as usize }, - 64usize, - concat!( - "Alignment of field: ", - stringify!(edd), - "::", - stringify!(edd_info) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd)).mbr_signature_nr as *const _ as usize }, - 556usize, - concat!( - "Alignment of field: ", - stringify!(edd), - "::", - stringify!(mbr_signature_nr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd)).edd_info_nr as *const _ as usize }, - 557usize, - concat!( - "Alignment of field: ", - stringify!(edd), - "::", - stringify!(edd_info_nr) - ) - ); -} -impl Clone for edd { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct e820entry { - pub addr: __u64, - pub size: __u64, - pub type_: __u32, -} -#[test] -fn bindgen_test_layout_e820entry() { - assert_eq!( - ::std::mem::size_of::(), - 20usize, - concat!("Size of: ", stringify!(e820entry)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(e820entry)) - ); - assert_eq!( - unsafe { &(*(0 as *const e820entry)).addr as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(e820entry), - "::", - stringify!(addr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const e820entry)).size as *const _ as usize }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(e820entry), - "::", - stringify!(size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const e820entry)).type_ as *const _ as usize }, - 16usize, - concat!( - "Alignment of field: ", - stringify!(e820entry), - "::", - stringify!(type_) - ) - ); -} -impl Clone for e820entry { - fn clone(&self) -> Self { - *self - } -} -#[repr(C)] -pub struct e820map { - pub nr_map: __u32, - pub map: [e820entry; 128usize], -} -#[test] -fn bindgen_test_layout_e820map() { - assert_eq!( - ::std::mem::size_of::(), - 2564usize, - concat!("Size of: ", stringify!(e820map)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(e820map)) - ); - assert_eq!( - unsafe { &(*(0 as *const e820map)).nr_map as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(e820map), - "::", - stringify!(nr_map) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const e820map)).map as *const _ as usize }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(e820map), - "::", - stringify!(map) - ) - ); -} -impl Default for e820map { - fn default() -> Self { - unsafe { ::std::mem::zeroed() } - } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct ist_info { - pub signature: __u32, - pub command: __u32, - pub event: __u32, - pub perf_level: __u32, -} -#[test] -fn bindgen_test_layout_ist_info() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(ist_info)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(ist_info)) - ); - assert_eq!( - unsafe { &(*(0 as *const ist_info)).signature as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(ist_info), - "::", - stringify!(signature) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const ist_info)).command as *const _ as usize }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(ist_info), - "::", - stringify!(command) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const ist_info)).event as *const _ as usize }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(ist_info), - "::", - stringify!(event) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const ist_info)).perf_level as *const _ as usize }, - 12usize, - concat!( - "Alignment of field: ", - stringify!(ist_info), - "::", - stringify!(perf_level) - ) - ); -} -impl Clone for ist_info { - fn clone(&self) -> Self { - *self - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub struct edid_info { - pub dummy: [::std::os::raw::c_uchar; 128usize], -} -#[test] -fn bindgen_test_layout_edid_info() { - assert_eq!( - ::std::mem::size_of::(), - 128usize, - concat!("Size of: ", stringify!(edid_info)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(edid_info)) - ); - assert_eq!( - unsafe { &(*(0 as *const edid_info)).dummy as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edid_info), - "::", - stringify!(dummy) - ) - ); -} -impl Default for edid_info { - fn default() -> Self { - unsafe { ::std::mem::zeroed() } - } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct setup_data { - pub next: __u64, - pub type_: __u32, - pub len: __u32, - pub data: __IncompleteArrayField<__u8>, -} -#[test] -fn bindgen_test_layout_setup_data() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(setup_data)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(setup_data)) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_data)).next as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(setup_data), - "::", - stringify!(next) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_data)).type_ as *const _ as usize }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(setup_data), - "::", - stringify!(type_) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_data)).len as *const _ as usize }, - 12usize, - concat!( - "Alignment of field: ", - stringify!(setup_data), - "::", - stringify!(len) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_data)).data as *const _ as usize }, - 16usize, - concat!( - "Alignment of field: ", - stringify!(setup_data), - "::", - stringify!(data) - ) - ); -} -impl Clone for setup_data { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy, Clone, PartialEq)] -pub struct setup_header { - pub setup_sects: __u8, - pub root_flags: __u16, - pub syssize: __u32, - pub ram_size: __u16, - pub vid_mode: __u16, - pub root_dev: __u16, - pub boot_flag: __u16, - pub jump: __u16, - pub header: __u32, - pub version: __u16, - pub realmode_swtch: __u32, - pub start_sys: __u16, - pub kernel_version: __u16, - pub type_of_loader: __u8, - pub loadflags: __u8, - pub setup_move_size: __u16, - pub code32_start: __u32, - pub ramdisk_image: __u32, - pub ramdisk_size: __u32, - pub bootsect_kludge: __u32, - pub heap_end_ptr: __u16, - pub ext_loader_ver: __u8, - pub ext_loader_type: __u8, - pub cmd_line_ptr: __u32, - pub initrd_addr_max: __u32, - pub kernel_alignment: __u32, - pub relocatable_kernel: __u8, - pub min_alignment: __u8, - pub xloadflags: __u16, - pub cmdline_size: __u32, - pub hardware_subarch: __u32, - pub hardware_subarch_data: __u64, - pub payload_offset: __u32, - pub payload_length: __u32, - pub setup_data: __u64, - pub pref_address: __u64, - pub init_size: __u32, - pub handover_offset: __u32, -} -#[test] -fn bindgen_test_layout_setup_header() { - assert_eq!( - ::std::mem::size_of::(), - 119usize, - concat!("Size of: ", stringify!(setup_header)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(setup_header)) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).setup_sects as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(setup_sects) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).root_flags as *const _ as usize }, - 1usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(root_flags) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).syssize as *const _ as usize }, - 3usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(syssize) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).ram_size as *const _ as usize }, - 7usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(ram_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).vid_mode as *const _ as usize }, - 9usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(vid_mode) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).root_dev as *const _ as usize }, - 11usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(root_dev) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).boot_flag as *const _ as usize }, - 13usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(boot_flag) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).jump as *const _ as usize }, - 15usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(jump) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).header as *const _ as usize }, - 17usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(header) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).version as *const _ as usize }, - 21usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(version) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).realmode_swtch as *const _ as usize }, - 23usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(realmode_swtch) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).start_sys as *const _ as usize }, - 27usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(start_sys) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).kernel_version as *const _ as usize }, - 29usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(kernel_version) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).type_of_loader as *const _ as usize }, - 31usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(type_of_loader) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).loadflags as *const _ as usize }, - 32usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(loadflags) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).setup_move_size as *const _ as usize }, - 33usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(setup_move_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).code32_start as *const _ as usize }, - 35usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(code32_start) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).ramdisk_image as *const _ as usize }, - 39usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(ramdisk_image) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).ramdisk_size as *const _ as usize }, - 43usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(ramdisk_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).bootsect_kludge as *const _ as usize }, - 47usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(bootsect_kludge) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).heap_end_ptr as *const _ as usize }, - 51usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(heap_end_ptr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).ext_loader_ver as *const _ as usize }, - 53usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(ext_loader_ver) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).ext_loader_type as *const _ as usize }, - 54usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(ext_loader_type) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).cmd_line_ptr as *const _ as usize }, - 55usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(cmd_line_ptr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).initrd_addr_max as *const _ as usize }, - 59usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(initrd_addr_max) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).kernel_alignment as *const _ as usize }, - 63usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(kernel_alignment) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).relocatable_kernel as *const _ as usize }, - 67usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(relocatable_kernel) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).min_alignment as *const _ as usize }, - 68usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(min_alignment) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).xloadflags as *const _ as usize }, - 69usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(xloadflags) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).cmdline_size as *const _ as usize }, - 71usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(cmdline_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).hardware_subarch as *const _ as usize }, - 75usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(hardware_subarch) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).hardware_subarch_data as *const _ as usize }, - 79usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(hardware_subarch_data) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).payload_offset as *const _ as usize }, - 87usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(payload_offset) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).payload_length as *const _ as usize }, - 91usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(payload_length) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).setup_data as *const _ as usize }, - 95usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(setup_data) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).pref_address as *const _ as usize }, - 103usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(pref_address) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).init_size as *const _ as usize }, - 111usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(init_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).handover_offset as *const _ as usize }, - 115usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(handover_offset) - ) - ); -} -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct sys_desc_table { - pub length: __u16, - pub table: [__u8; 14usize], -} -#[test] -fn bindgen_test_layout_sys_desc_table() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(sys_desc_table)) - ); - assert_eq!( - ::std::mem::align_of::(), - 2usize, - concat!("Alignment of ", stringify!(sys_desc_table)) - ); - assert_eq!( - unsafe { &(*(0 as *const sys_desc_table)).length as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(sys_desc_table), - "::", - stringify!(length) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const sys_desc_table)).table as *const _ as usize }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(sys_desc_table), - "::", - stringify!(table) - ) - ); -} -impl Clone for sys_desc_table { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct olpc_ofw_header { - pub ofw_magic: __u32, - pub ofw_version: __u32, - pub cif_handler: __u32, - pub irq_desc_table: __u32, -} -#[test] -fn bindgen_test_layout_olpc_ofw_header() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(olpc_ofw_header)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(olpc_ofw_header)) - ); - assert_eq!( - unsafe { &(*(0 as *const olpc_ofw_header)).ofw_magic as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(olpc_ofw_header), - "::", - stringify!(ofw_magic) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const olpc_ofw_header)).ofw_version as *const _ as usize }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(olpc_ofw_header), - "::", - stringify!(ofw_version) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const olpc_ofw_header)).cif_handler as *const _ as usize }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(olpc_ofw_header), - "::", - stringify!(cif_handler) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const olpc_ofw_header)).irq_desc_table as *const _ as usize }, - 12usize, - concat!( - "Alignment of field: ", - stringify!(olpc_ofw_header), - "::", - stringify!(irq_desc_table) - ) - ); -} -impl Clone for olpc_ofw_header { - fn clone(&self) -> Self { - *self - } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct efi_info { - pub efi_loader_signature: __u32, - pub efi_systab: __u32, - pub efi_memdesc_size: __u32, - pub efi_memdesc_version: __u32, - pub efi_memmap: __u32, - pub efi_memmap_size: __u32, - pub efi_systab_hi: __u32, - pub efi_memmap_hi: __u32, -} -#[test] -fn bindgen_test_layout_efi_info() { - assert_eq!( - ::std::mem::size_of::(), - 32usize, - concat!("Size of: ", stringify!(efi_info)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(efi_info)) - ); - assert_eq!( - unsafe { &(*(0 as *const efi_info)).efi_loader_signature as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(efi_info), - "::", - stringify!(efi_loader_signature) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const efi_info)).efi_systab as *const _ as usize }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(efi_info), - "::", - stringify!(efi_systab) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const efi_info)).efi_memdesc_size as *const _ as usize }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(efi_info), - "::", - stringify!(efi_memdesc_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const efi_info)).efi_memdesc_version as *const _ as usize }, - 12usize, - concat!( - "Alignment of field: ", - stringify!(efi_info), - "::", - stringify!(efi_memdesc_version) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const efi_info)).efi_memmap as *const _ as usize }, - 16usize, - concat!( - "Alignment of field: ", - stringify!(efi_info), - "::", - stringify!(efi_memmap) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const efi_info)).efi_memmap_size as *const _ as usize }, - 20usize, - concat!( - "Alignment of field: ", - stringify!(efi_info), - "::", - stringify!(efi_memmap_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const efi_info)).efi_systab_hi as *const _ as usize }, - 24usize, - concat!( - "Alignment of field: ", - stringify!(efi_info), - "::", - stringify!(efi_systab_hi) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const efi_info)).efi_memmap_hi as *const _ as usize }, - 28usize, - concat!( - "Alignment of field: ", - stringify!(efi_info), - "::", - stringify!(efi_memmap_hi) - ) - ); -} -impl Clone for efi_info { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Copy, Clone)] -pub struct boot_params { - pub screen_info: screen_info, - pub apm_bios_info: apm_bios_info, - pub _pad2: [__u8; 4usize], - pub tboot_addr: __u64, - pub ist_info: ist_info, - pub _pad3: [__u8; 16usize], - pub hd0_info: [__u8; 16usize], - pub hd1_info: [__u8; 16usize], - pub sys_desc_table: sys_desc_table, - pub olpc_ofw_header: olpc_ofw_header, - pub ext_ramdisk_image: __u32, - pub ext_ramdisk_size: __u32, - pub ext_cmd_line_ptr: __u32, - pub _pad4: [__u8; 116usize], - pub edid_info: edid_info, - pub efi_info: efi_info, - pub alt_mem_k: __u32, - pub scratch: __u32, - pub e820_entries: __u8, - pub eddbuf_entries: __u8, - pub edd_mbr_sig_buf_entries: __u8, - pub kbd_status: __u8, - pub _pad5: [__u8; 3usize], - pub sentinel: __u8, - pub _pad6: [__u8; 1usize], - pub hdr: setup_header, - pub _pad7: [__u8; 40usize], - pub edd_mbr_sig_buffer: [__u32; 16usize], - pub e820_map: [e820entry; 128usize], - pub _pad8: [__u8; 48usize], - pub eddbuf: [edd_info; 6usize], - pub _pad9: [__u8; 276usize], -} -#[test] -fn bindgen_test_layout_boot_params() { - assert_eq!( - ::std::mem::size_of::(), - 4096usize, - concat!("Size of: ", stringify!(boot_params)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(boot_params)) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).screen_info as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(screen_info) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).apm_bios_info as *const _ as usize }, - 64usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(apm_bios_info) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params))._pad2 as *const _ as usize }, - 84usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(_pad2) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).tboot_addr as *const _ as usize }, - 88usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(tboot_addr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).ist_info as *const _ as usize }, - 96usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(ist_info) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params))._pad3 as *const _ as usize }, - 112usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(_pad3) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).hd0_info as *const _ as usize }, - 128usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(hd0_info) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).hd1_info as *const _ as usize }, - 144usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(hd1_info) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).sys_desc_table as *const _ as usize }, - 160usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(sys_desc_table) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).olpc_ofw_header as *const _ as usize }, - 176usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(olpc_ofw_header) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).ext_ramdisk_image as *const _ as usize }, - 192usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(ext_ramdisk_image) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).ext_ramdisk_size as *const _ as usize }, - 196usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(ext_ramdisk_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).ext_cmd_line_ptr as *const _ as usize }, - 200usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(ext_cmd_line_ptr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params))._pad4 as *const _ as usize }, - 204usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(_pad4) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).edid_info as *const _ as usize }, - 320usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(edid_info) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).efi_info as *const _ as usize }, - 448usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(efi_info) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).alt_mem_k as *const _ as usize }, - 480usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(alt_mem_k) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).scratch as *const _ as usize }, - 484usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(scratch) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).e820_entries as *const _ as usize }, - 488usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(e820_entries) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).eddbuf_entries as *const _ as usize }, - 489usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(eddbuf_entries) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).edd_mbr_sig_buf_entries as *const _ as usize }, - 490usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(edd_mbr_sig_buf_entries) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).kbd_status as *const _ as usize }, - 491usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(kbd_status) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params))._pad5 as *const _ as usize }, - 492usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(_pad5) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).sentinel as *const _ as usize }, - 495usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(sentinel) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params))._pad6 as *const _ as usize }, - 496usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(_pad6) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).hdr as *const _ as usize }, - 497usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(hdr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params))._pad7 as *const _ as usize }, - 616usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(_pad7) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).edd_mbr_sig_buffer as *const _ as usize }, - 656usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(edd_mbr_sig_buffer) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).e820_map as *const _ as usize }, - 720usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(e820_map) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params))._pad8 as *const _ as usize }, - 3280usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(_pad8) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).eddbuf as *const _ as usize }, - 3328usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(eddbuf) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params))._pad9 as *const _ as usize }, - 3820usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(_pad9) - ) - ); -} -impl Default for boot_params { - fn default() -> Self { - unsafe { ::std::mem::zeroed() } - } -} -pub const X86_SUBARCH_PC: _bindgen_ty_1 = 0; -pub const X86_SUBARCH_LGUEST: _bindgen_ty_1 = 1; -pub const X86_SUBARCH_XEN: _bindgen_ty_1 = 2; -pub const X86_SUBARCH_INTEL_MID: _bindgen_ty_1 = 3; -pub const X86_SUBARCH_CE4100: _bindgen_ty_1 = 4; -pub const X86_NR_SUBARCHS: _bindgen_ty_1 = 5; -pub type _bindgen_ty_1 = ::std::os::raw::c_uint; diff --git a/vendor/git-4af8f4552cd0d200/linux-loader/src/loader/elf.rs b/vendor/git-4af8f4552cd0d200/linux-loader/src/loader/elf.rs deleted file mode 100644 index b7d71d7a2..000000000 --- a/vendor/git-4af8f4552cd0d200/linux-loader/src/loader/elf.rs +++ /dev/null @@ -1,340 +0,0 @@ -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. -// -// SPDX-License-Identifier: Apache-2.0 AND BSD-3-Clause - -/* - * automatically generated by rust-bindgen - * From upstream linux include/uapi/linux/elf.h at commit: - * 806276b7f07a39a1cc3f38bb1ef5c573d4594a38 - */ -pub const EI_MAG0: ::std::os::raw::c_uint = 0; -pub const EI_MAG1: ::std::os::raw::c_uint = 1; -pub const EI_MAG2: ::std::os::raw::c_uint = 2; -pub const EI_MAG3: ::std::os::raw::c_uint = 3; -pub const EI_DATA: ::std::os::raw::c_uint = 5; - -pub const ELFMAG0: ::std::os::raw::c_uint = 127; - -pub const ELFDATA2LSB: ::std::os::raw::c_uint = 1; -pub const PT_LOAD: ::std::os::raw::c_uint = 1; - -pub const ELFMAG1: u8 = b'E'; -pub const ELFMAG2: u8 = b'L'; -pub const ELFMAG3: u8 = b'F'; - -type Elf64_Addr = __u64; -type Elf64_Half = __u16; -type Elf64_Off = __u64; -type Elf64_Word = __u32; -type Elf64_Xword = __u64; - -type __s8 = ::std::os::raw::c_schar; -type __u8 = ::std::os::raw::c_uchar; -type __s16 = ::std::os::raw::c_short; -type __u16 = ::std::os::raw::c_ushort; -type __s32 = ::std::os::raw::c_int; -type __u32 = ::std::os::raw::c_uint; -type __s64 = ::std::os::raw::c_longlong; -type __u64 = ::std::os::raw::c_ulonglong; - -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct elf64_hdr { - pub e_ident: [::std::os::raw::c_uchar; 16usize], - pub e_type: Elf64_Half, - pub e_machine: Elf64_Half, - pub e_version: Elf64_Word, - pub e_entry: Elf64_Addr, - pub e_phoff: Elf64_Off, - pub e_shoff: Elf64_Off, - pub e_flags: Elf64_Word, - pub e_ehsize: Elf64_Half, - pub e_phentsize: Elf64_Half, - pub e_phnum: Elf64_Half, - pub e_shentsize: Elf64_Half, - pub e_shnum: Elf64_Half, - pub e_shstrndx: Elf64_Half, -} -impl Clone for elf64_hdr { - fn clone(&self) -> Self { - *self - } -} -pub type Elf64_Ehdr = elf64_hdr; - -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct elf64_phdr { - pub p_type: Elf64_Word, - pub p_flags: Elf64_Word, - pub p_offset: Elf64_Off, - pub p_vaddr: Elf64_Addr, - pub p_paddr: Elf64_Addr, - pub p_filesz: Elf64_Xword, - pub p_memsz: Elf64_Xword, - pub p_align: Elf64_Xword, -} - -impl Clone for elf64_phdr { - fn clone(&self) -> Self { - *self - } -} -pub type Elf64_Phdr = elf64_phdr; - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn bindgen_test_layout_elf64_phdr() { - assert_eq!( - ::std::mem::size_of::(), - 56usize, - concat!("Size of: ", stringify!(elf64_phdr)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(elf64_phdr)) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_phdr)).p_type as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(elf64_phdr), - "::", - stringify!(p_type) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_phdr)).p_flags as *const _ as usize }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(elf64_phdr), - "::", - stringify!(p_flags) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_phdr)).p_offset as *const _ as usize }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(elf64_phdr), - "::", - stringify!(p_offset) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_phdr)).p_vaddr as *const _ as usize }, - 16usize, - concat!( - "Alignment of field: ", - stringify!(elf64_phdr), - "::", - stringify!(p_vaddr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_phdr)).p_paddr as *const _ as usize }, - 24usize, - concat!( - "Alignment of field: ", - stringify!(elf64_phdr), - "::", - stringify!(p_paddr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_phdr)).p_filesz as *const _ as usize }, - 32usize, - concat!( - "Alignment of field: ", - stringify!(elf64_phdr), - "::", - stringify!(p_filesz) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_phdr)).p_memsz as *const _ as usize }, - 40usize, - concat!( - "Alignment of field: ", - stringify!(elf64_phdr), - "::", - stringify!(p_memsz) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_phdr)).p_align as *const _ as usize }, - 48usize, - concat!( - "Alignment of field: ", - stringify!(elf64_phdr), - "::", - stringify!(p_align) - ) - ); - } - - #[test] - fn bindgen_test_layout_elf64_hdr() { - assert_eq!( - ::std::mem::size_of::(), - 64usize, - concat!("Size of: ", stringify!(elf64_hdr)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(elf64_hdr)) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_ident as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_ident) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_type as *const _ as usize }, - 16usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_type) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_machine as *const _ as usize }, - 18usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_machine) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_version as *const _ as usize }, - 20usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_version) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_entry as *const _ as usize }, - 24usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_entry) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_phoff as *const _ as usize }, - 32usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_phoff) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_shoff as *const _ as usize }, - 40usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_shoff) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_flags as *const _ as usize }, - 48usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_flags) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_ehsize as *const _ as usize }, - 52usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_ehsize) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_phentsize as *const _ as usize }, - 54usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_phentsize) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_phnum as *const _ as usize }, - 56usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_phnum) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_shentsize as *const _ as usize }, - 58usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_shentsize) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_shnum as *const _ as usize }, - 60usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_shnum) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_shstrndx as *const _ as usize }, - 62usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_shstrndx) - ) - ); - } -} diff --git a/vendor/git-4af8f4552cd0d200/linux-loader/src/loader/mod.rs b/vendor/git-4af8f4552cd0d200/linux-loader/src/loader/mod.rs deleted file mode 100644 index 79a472880..000000000 --- a/vendor/git-4af8f4552cd0d200/linux-loader/src/loader/mod.rs +++ /dev/null @@ -1,596 +0,0 @@ -// Copyright (c) 2019 Intel Corporation. All rights reserved. -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. -// -// SPDX-License-Identifier: Apache-2.0 AND BSD-3-Clause - -//! Traits and Structs -//! - [KernelLoader](trait.KernelLoader.html): load kernel image into guest memory -//! - [KernelLoaderResult](struct.KernelLoaderResult.html): the structure which loader -//! returns to VMM to assist zero page construction and boot environment setup -//! - [Elf](struct.Elf.html): elf image loader -//! - [BzImage](struct.BzImage.html): bzImage loader - -extern crate vm_memory; - -use std::error::{self, Error as KernelLoaderError}; -use std::ffi::CStr; -use std::fmt::{self, Display}; -use std::io::{Read, Seek, SeekFrom}; -use std::mem; - -use vm_memory::{Address, Bytes, GuestAddress, GuestMemory, GuestUsize}; - -#[allow(dead_code)] -#[allow(non_camel_case_types)] -#[allow(non_snake_case)] -#[allow(non_upper_case_globals)] -#[cfg_attr(feature = "cargo-clippy", allow(clippy::all))] -pub mod bootparam; -#[allow(dead_code)] -#[allow(non_camel_case_types)] -#[allow(non_snake_case)] -#[allow(non_upper_case_globals)] -#[cfg_attr(feature = "cargo-clippy", allow(clippy::all))] -mod elf; -mod struct_util; - -#[derive(Debug, PartialEq)] -pub enum Error { - BigEndianElfOnLittle, - CommandLineCopy, - CommandLineOverflow, - InvalidElfMagicNumber, - InvalidProgramHeaderSize, - InvalidProgramHeaderOffset, - InvalidProgramHeaderAddress, - InvalidEntryAddress, - InvalidBzImage, - InvalidKernelStartAddress, - InitrdImageSizeTooLarge, - MemoryOverflow, - ReadElfHeader, - ReadKernelImage, - ReadProgramHeader, - ReadBzImageHeader, - ReadBzImageCompressedKernel, - ReadInitrdImage, - SeekKernelStart, - SeekElfStart, - SeekProgramHeader, - SeekBzImageEnd, - SeekBzImageHeader, - SeekBzImageCompressedKernel, - SeekInitrdImage, -} -pub type Result = std::result::Result; - -impl error::Error for Error { - fn description(&self) -> &str { - match self { - Error::BigEndianElfOnLittle => { - "Trying to load big-endian binary on little-endian machine" - } - Error::CommandLineCopy => "Failed writing command line to guest memory", - Error::CommandLineOverflow => "Command line overflowed guest memory", - Error::InvalidElfMagicNumber => "Invalid Elf magic number", - Error::InvalidProgramHeaderSize => "Invalid program header size", - Error::InvalidProgramHeaderOffset => "Invalid program header offset", - Error::InvalidProgramHeaderAddress => "Invalid Program Header Address", - Error::InvalidEntryAddress => "Invalid entry address", - Error::InvalidBzImage => "Invalid bzImage", - Error::InvalidKernelStartAddress => "Invalid kernel start address", - Error::InitrdImageSizeTooLarge => "Initrd image size too large", - Error::MemoryOverflow => "Memory to load kernel image is not enough", - Error::ReadElfHeader => "Unable to read elf header", - Error::ReadKernelImage => "Unable to read kernel image", - Error::ReadProgramHeader => "Unable to read program header", - Error::ReadBzImageHeader => "Unable to read bzImage header", - Error::ReadBzImageCompressedKernel => "Unable to read bzImage compressed kernel", - Error::ReadInitrdImage => "Unable to read initrd image", - Error::SeekKernelStart => "Unable to seek to kernel start", - Error::SeekElfStart => "Unable to seek to elf start", - Error::SeekProgramHeader => "Unable to seek to program header", - Error::SeekBzImageEnd => "Unable to seek bzImage end", - Error::SeekBzImageHeader => "Unable to seek bzImage header", - Error::SeekBzImageCompressedKernel => "Unable to seek bzImage compressed kernel", - Error::SeekInitrdImage => "Unable to seek initrd image", - } - } -} - -impl Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "Kernel Loader Error: {}", Error::description(self)) - } -} - -/// * `kernel_load` - The actual `guest_mem` address where kernel image is loaded start. -/// * `kernel_end` - The offset of `guest_mem` where kernel image load is loaded finish, return -/// in case of loading initrd adjacent to kernel image. -/// * `setup_header` - The setup_header belongs to linux boot protocol, only for bzImage, vmm -/// will use it to setup setup_header.init_size, which is a must for bzImage -/// direct boot. -#[derive(Debug, Default, Copy, Clone, PartialEq)] -pub struct KernelLoaderResult { - pub kernel_load: GuestAddress, - pub kernel_end: GuestUsize, - pub setup_header: Option, -} - -pub trait KernelLoader { - fn load( - guest_mem: &M, - kernel_start: Option, - kernel_image: &mut F, - lowest_kernel_start: Option, - ) -> Result<(KernelLoaderResult)> - where - F: Read + Seek; -} - -#[cfg(feature = "elf")] -pub struct Elf; - -#[cfg(feature = "elf")] -impl KernelLoader for Elf { - /// Loads a kernel from a vmlinux elf image to a slice - /// - /// kernel is loaded into guest memory at offset phdr.p_paddr specified by elf image. - /// - /// # Arguments - /// - /// * `guest_mem` - The guest memory region the kernel is written to. - /// * `kernel_start` - The offset into 'guest _mem' at which to load the kernel. - /// * `kernel_image` - Input vmlinux image. - /// * `lowest_kernel_start` - This is the start of the high memory, kernel should above it. - /// - /// # Returns - /// * KernelLoaderResult - fn load( - guest_mem: &M, - kernel_start: Option, - kernel_image: &mut F, - lowest_kernel_start: Option, - ) -> Result<(KernelLoaderResult)> - where - F: Read + Seek, - { - let mut ehdr: elf::Elf64_Ehdr = Default::default(); - kernel_image - .seek(SeekFrom::Start(0)) - .map_err(|_| Error::SeekElfStart)?; - unsafe { - // read_struct is safe when reading a POD struct. It can be used and dropped without issue. - struct_util::read_struct(kernel_image, &mut ehdr).map_err(|_| Error::ReadElfHeader)?; - } - - // Sanity checks - if ehdr.e_ident[elf::EI_MAG0 as usize] != elf::ELFMAG0 as u8 - || ehdr.e_ident[elf::EI_MAG1 as usize] != elf::ELFMAG1 - || ehdr.e_ident[elf::EI_MAG2 as usize] != elf::ELFMAG2 - || ehdr.e_ident[elf::EI_MAG3 as usize] != elf::ELFMAG3 - { - return Err(Error::InvalidElfMagicNumber); - } - if ehdr.e_ident[elf::EI_DATA as usize] != elf::ELFDATA2LSB as u8 { - return Err(Error::BigEndianElfOnLittle); - } - if ehdr.e_phentsize as usize != mem::size_of::() { - return Err(Error::InvalidProgramHeaderSize); - } - if (ehdr.e_phoff as usize) < mem::size_of::() { - // If the program header is backwards, bail. - return Err(Error::InvalidProgramHeaderOffset); - } - if (lowest_kernel_start.is_some()) - && ((ehdr.e_entry as u64) < lowest_kernel_start.unwrap().raw_value()) - { - return Err(Error::InvalidEntryAddress); - } - - let mut loader_result: KernelLoaderResult = Default::default(); - // where the kernel will be start loaded. - loader_result.kernel_load = match kernel_start { - Some(start) => GuestAddress(start.raw_value() + (ehdr.e_entry as u64)), - None => GuestAddress(ehdr.e_entry as u64), - }; - - kernel_image - .seek(SeekFrom::Start(ehdr.e_phoff)) - .map_err(|_| Error::SeekProgramHeader)?; - let phdrs: Vec = unsafe { - // Reading the structs is safe for a slice of POD structs. - struct_util::read_struct_slice(kernel_image, ehdr.e_phnum as usize) - .map_err(|_| Error::ReadProgramHeader)? - }; - - // Read in each section pointed to by the program headers. - for phdr in &phdrs { - if phdr.p_type != elf::PT_LOAD || phdr.p_filesz == 0 { - continue; - } - - kernel_image - .seek(SeekFrom::Start(phdr.p_offset)) - .map_err(|_| Error::SeekKernelStart)?; - - // vmm does not specify where the kernel should be loaded, just - // load it to the physical address p_paddr for each segment. - let mem_offset = match kernel_start { - Some(start) => start - .checked_add(phdr.p_paddr as u64) - .ok_or(Error::InvalidProgramHeaderAddress)?, - None => GuestAddress(phdr.p_paddr as u64), - }; - - guest_mem - .read_exact_from(mem_offset, kernel_image, phdr.p_filesz as usize) - .map_err(|_| Error::ReadKernelImage)?; - - loader_result.kernel_end = mem_offset.raw_value() - .checked_add(phdr.p_memsz as GuestUsize) - .ok_or(Error::MemoryOverflow)?; - } - - loader_result.setup_header = None; - - Ok(loader_result) - } -} - -#[cfg(feature = "bzImage")] -pub struct BzImage; - -#[cfg(feature = "bzImage")] -impl KernelLoader for BzImage { - /// Loads a bzImage - /// - /// kernel is loaded into guest memory at code32_start the default load address - /// stored in bzImage setup header. - /// - /// # Arguments - /// - /// * `guest_mem` - The guest memory region the kernel is written to. - /// * `kernel_start` - The offset into 'guest _mem' at which to load the kernel. - /// * `kernel_image` - Input bzImage image. - /// * `lowest_kernel_start` - This is the start of the high memory, kernel should above it. - /// - /// # Returns - /// * KernelLoaderResult - fn load( - guest_mem: &M, - kernel_start: Option, - kernel_image: &mut F, - lowest_kernel_start: Option, - ) -> Result<(KernelLoaderResult)> - where - F: Read + Seek, - { - let mut kernel_size = kernel_image - .seek(SeekFrom::End(0)) - .map_err(|_| Error::SeekBzImageEnd)? as usize; - let mut boot_header: bootparam::setup_header = Default::default(); - kernel_image - .seek(SeekFrom::Start(0x1F1)) - .map_err(|_| Error::SeekBzImageHeader)?; - unsafe { - // read_struct is safe when reading a POD struct. It can be used and dropped without issue. - struct_util::read_struct(kernel_image, &mut boot_header) - .map_err(|_| Error::ReadBzImageHeader)?; - } - - // if the HdrS magic number is not found at offset 0x202, the boot protocol version is "old", - // the image type is assumed as zImage, not bzImage. - if boot_header.header != 0x5372_6448 { - return Err(Error::InvalidBzImage); - } - - // follow section of loading the rest of the kernel in linux boot protocol - if (boot_header.version < 0x0200) || ((boot_header.loadflags & 0x1) == 0x0) { - return Err(Error::InvalidBzImage); - } - - let mut setup_size = boot_header.setup_sects as usize; - if setup_size == 0 { - setup_size = 4; - } - setup_size = (setup_size + 1) * 512; - kernel_size -= setup_size; - - // verify bzImage validation by checking if code32_start, the defaults to the address of - // the kernel is not lower than high memory. - if (lowest_kernel_start.is_some()) - && (u64::from(boot_header.code32_start) < lowest_kernel_start.unwrap().raw_value()) - { - return Err(Error::InvalidKernelStartAddress); - } - - let mem_offset = match kernel_start { - Some(start) => start, - None => GuestAddress(u64::from(boot_header.code32_start)), - }; - - boot_header.code32_start = mem_offset.raw_value() as u32; - - let mut loader_result: KernelLoaderResult = Default::default(); - loader_result.setup_header = Some(boot_header); - loader_result.kernel_load = mem_offset; - - //seek the compressed vmlinux.bin and read to memory - kernel_image - .seek(SeekFrom::Start(setup_size as u64)) - .map_err(|_| Error::SeekBzImageCompressedKernel)?; - guest_mem - .read_exact_from(mem_offset, kernel_image, kernel_size) - .map_err(|_| Error::ReadBzImageCompressedKernel)?; - - loader_result.kernel_end = mem_offset.raw_value() - .checked_add(kernel_size as GuestUsize) - .ok_or(Error::MemoryOverflow)?; - - Ok(loader_result) - } -} - -/// Writes the command line string to the given memory slice. -/// -/// # Arguments -/// -/// * `guest_mem` - A u8 slice that will be partially overwritten by the command line. -/// * `guest_addr` - The address in `guest_mem` at which to load the command line. -/// * `cmdline` - The kernel command line. -pub fn load_cmdline( - guest_mem: &M, - guest_addr: GuestAddress, - cmdline: &CStr, -) -> Result<()> { - let len = cmdline.to_bytes().len(); - if len == 0 { - return Ok(()); - } - - let end = guest_addr - .checked_add(len as u64 + 1) - .ok_or(Error::CommandLineOverflow)?; // Extra for null termination. - if end > guest_mem.end_addr() { - return Err(Error::CommandLineOverflow)?; - } - - guest_mem - .write_slice(cmdline.to_bytes_with_nul(), guest_addr) - .map_err(|_| Error::CommandLineCopy)?; - - Ok(()) -} - -#[cfg(test)] -mod test { - use super::*; - use std::io::Cursor; - use vm_memory::{Address, GuestAddress, GuestMemoryMmap}; - - const MEM_SIZE: u64 = 0x1000000; - - fn create_guest_mem() -> GuestMemoryMmap { - GuestMemoryMmap::new(&[(GuestAddress(0x0), (MEM_SIZE as usize))]).unwrap() - } - - #[allow(non_snake_case)] - #[cfg(feature = "bzImage")] - fn make_bzImage() -> Vec { - let mut v = Vec::new(); - v.extend_from_slice(include_bytes!("bzImage")); - v - } - - // Elf64 image that prints hello world on x86_64. - fn make_elf_bin() -> Vec { - let mut v = Vec::new(); - v.extend_from_slice(include_bytes!("test_elf.bin")); - v - } - - #[allow(safe_packed_borrows)] - #[allow(non_snake_case)] - #[test] - #[ignore] - #[cfg(feature = "bzImage")] - fn load_bzImage() { - let gm = create_guest_mem(); - let image = make_bzImage(); - let mut kernel_start = GuestAddress(0x200000); - let mut lowest_kernel_start = GuestAddress(0x0); - - // load bzImage with good kernel_start and himem_start setting - let mut loader_result = BzImage::load( - &gm, - Some(kernel_start), - &mut Cursor::new(&image), - Some(lowest_kernel_start), - ) - .unwrap(); - assert_eq!(0x53726448, loader_result.setup_header.unwrap().header); - println!( - "bzImage is loaded at {:8x} \n", - loader_result.kernel_load.raw_value() - ); - println!( - "bzImage version is {:2x} \n", - loader_result.setup_header.unwrap().version - ); - println!( - "bzImage loadflags is {:x} \n", - loader_result.setup_header.unwrap().loadflags - ); - println!( - "bzImage kernel size is {:4x} \n", - (loader_result.kernel_end as u32) - ); - - // load bzImage without kernel_start - loader_result = BzImage::load( - &gm, - None, - &mut Cursor::new(&image), - Some(lowest_kernel_start), - ) - .unwrap(); - assert_eq!(0x53726448, loader_result.setup_header.unwrap().header); - println!( - "bzImage is loaded at {:8x} \n", - loader_result.kernel_load.raw_value() - ); - - // load bzImage withouth himem_start - loader_result = BzImage::load(&gm, None, &mut Cursor::new(&image), None).unwrap(); - assert_eq!(0x53726448, loader_result.setup_header.unwrap().header); - println!( - "bzImage is loaded at {:8x} \n", - loader_result.kernel_load.raw_value() - ); - - // load bzImage with a bad himem setting - kernel_start = GuestAddress(0x1000); - lowest_kernel_start = GuestAddress(0x200000); - let x = BzImage::load( - &gm, - Some(kernel_start), - &mut Cursor::new(&image), - Some(lowest_kernel_start), - ); - assert_eq!(x.is_ok(), false); - println!("load bzImage with bad himem setting \n"); - } - - #[test] - fn load_elf() { - let gm = create_guest_mem(); - let image = make_elf_bin(); - let kernel_addr = GuestAddress(0x200000); - let mut lowest_kernel_start = GuestAddress(0x0); - let mut loader_result = Elf::load( - &gm, - Some(kernel_addr), - &mut Cursor::new(&image), - Some(lowest_kernel_start), - ) - .unwrap(); - println!( - "load elf at address {:8x} \n", - loader_result.kernel_load.raw_value() - ); - - loader_result = Elf::load(&gm, Some(kernel_addr), &mut Cursor::new(&image), None).unwrap(); - println!( - "load elf at address {:8x} \n", - loader_result.kernel_load.raw_value() - ); - - loader_result = Elf::load( - &gm, - None, - &mut Cursor::new(&image), - Some(lowest_kernel_start), - ) - .unwrap(); - println!( - "load elf at address {:8x} \n", - loader_result.kernel_load.raw_value() - ); - - lowest_kernel_start = GuestAddress(0xa00000); - assert_eq!( - Err(Error::InvalidEntryAddress), - Elf::load( - &gm, - None, - &mut Cursor::new(&image), - Some(lowest_kernel_start) - ) - ); - } - - #[test] - fn cmdline_overflow() { - let gm = create_guest_mem(); - let cmdline_address = GuestAddress(MEM_SIZE - 5); - assert_eq!( - Err(Error::CommandLineOverflow), - load_cmdline( - &gm, - cmdline_address, - CStr::from_bytes_with_nul(b"12345\0").unwrap() - ) - ); - } - - #[test] - fn cmdline_write_end() { - let gm = create_guest_mem(); - let mut cmdline_address = GuestAddress(45); - assert_eq!( - Ok(()), - load_cmdline( - &gm, - cmdline_address, - CStr::from_bytes_with_nul(b"1234\0").unwrap() - ) - ); - let val: u8 = gm.read_obj(cmdline_address).unwrap(); - assert_eq!(val, '1' as u8); - cmdline_address = cmdline_address.unchecked_add(1); - let val: u8 = gm.read_obj(cmdline_address).unwrap(); - assert_eq!(val, '2' as u8); - cmdline_address = cmdline_address.unchecked_add(1); - let val: u8 = gm.read_obj(cmdline_address).unwrap(); - assert_eq!(val, '3' as u8); - cmdline_address = cmdline_address.unchecked_add(1); - let val: u8 = gm.read_obj(cmdline_address).unwrap(); - assert_eq!(val, '4' as u8); - cmdline_address = cmdline_address.unchecked_add(1); - let val: u8 = gm.read_obj(cmdline_address).unwrap(); - assert_eq!(val, '\0' as u8); - } - - #[test] - fn bad_magic() { - let gm = create_guest_mem(); - let kernel_addr = GuestAddress(0x0); - let mut bad_image = make_elf_bin(); - bad_image[0x1] = 0x33; - assert_eq!( - Err(Error::InvalidElfMagicNumber), - Elf::load(&gm, Some(kernel_addr), &mut Cursor::new(&bad_image), None) - ); - } - - #[test] - fn bad_endian() { - // Only little endian is supported - let gm = create_guest_mem(); - let kernel_addr = GuestAddress(0x0); - let mut bad_image = make_elf_bin(); - bad_image[0x5] = 2; - assert_eq!( - Err(Error::BigEndianElfOnLittle), - Elf::load(&gm, Some(kernel_addr), &mut Cursor::new(&bad_image), None) - ); - } - - #[test] - fn bad_phoff() { - // program header has to be past the end of the elf header - let gm = create_guest_mem(); - let kernel_addr = GuestAddress(0x0); - let mut bad_image = make_elf_bin(); - bad_image[0x20] = 0x10; - assert_eq!( - Err(Error::InvalidProgramHeaderOffset), - Elf::load(&gm, Some(kernel_addr), &mut Cursor::new(&bad_image), None) - ); - } -} diff --git a/vendor/git-4af8f4552cd0d200/linux-loader/src/loader/struct_util.rs b/vendor/git-4af8f4552cd0d200/linux-loader/src/loader/struct_util.rs deleted file mode 100644 index a2ef60bfa..000000000 --- a/vendor/git-4af8f4552cd0d200/linux-loader/src/loader/struct_util.rs +++ /dev/null @@ -1,152 +0,0 @@ -// Copyright (c) 2019 Intel Corporation. All rights reserved. -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. -// -// SPDX-License-Identifier: Apache-2.0 AND BSD-3-Clause - -use std; -use std::io::Read; -use std::mem; - -#[derive(Debug)] -pub enum Error { - ReadStruct, -} -pub type Result = std::result::Result; - -/// Reads a struct from an input buffer. -/// This is unsafe because the struct is initialized to unverified data read from the input. -/// `read_struct` should only be called to fill plain old data structs. It is not endian safe. -/// -/// # Arguments -/// -/// * `f` - The input to read from. Often this is a file. -/// * `out` - The struct to fill with data read from `f`. -pub unsafe fn read_struct(f: &mut F, out: &mut T) -> Result<()> { - let out_slice = std::slice::from_raw_parts_mut(out as *mut T as *mut u8, mem::size_of::()); - f.read_exact(out_slice).map_err(|_| Error::ReadStruct)?; - Ok(()) -} - -/// Reads an array of structs from an input buffer. Returns a Vec of structs initialized with data -/// from the specified input. -/// This is unsafe because the structs are initialized to unverified data read from the input. -/// `read_struct_slice` should only be called for plain old data structs. It is not endian safe. -/// -/// # Arguments -/// -/// * `f` - The input to read from. Often this is a file. -/// * `len` - The number of structs to fill with data read from `f`. -pub unsafe fn read_struct_slice(f: &mut F, len: usize) -> Result> { - let mut out: Vec = Vec::with_capacity(len); - out.set_len(len); - let out_slice = std::slice::from_raw_parts_mut( - out.as_ptr() as *mut T as *mut u8, - mem::size_of::() * len, - ); - f.read_exact(out_slice).map_err(|_| Error::ReadStruct)?; - Ok(out) -} - -#[cfg(test)] -mod tests { - use super::*; - use std::io::Cursor; - use std::mem; - - #[derive(Clone, Copy, Debug, Default, PartialEq)] - struct TestRead { - a: u64, - b: u8, - c: u8, - d: u8, - e: u8, - } - - #[test] - fn struct_basic_read() { - let orig = TestRead { - a: 0x7766554433221100, - b: 0x88, - c: 0x99, - d: 0xaa, - e: 0xbb, - }; - let source = unsafe { - // Don't worry it's a test - std::slice::from_raw_parts( - &orig as *const _ as *const u8, - std::mem::size_of::(), - ) - }; - assert_eq!(mem::size_of::(), mem::size_of_val(&source)); - let mut tr: TestRead = Default::default(); - unsafe { - read_struct(&mut Cursor::new(source), &mut tr).unwrap(); - } - assert_eq!(orig, tr); - } - - #[test] - fn struct_read_past_end() { - let orig = TestRead { - a: 0x7766554433221100, - b: 0x88, - c: 0x99, - d: 0xaa, - e: 0xbb, - }; - let source = unsafe { - // Don't worry it's a test - std::slice::from_raw_parts( - &orig as *const _ as *const u8, - std::mem::size_of::() - 1, - ) - }; - let mut tr: TestRead = Default::default(); - unsafe { - assert!(read_struct(&mut Cursor::new(source), &mut tr).is_err()); - format!("{:?}", read_struct(&mut Cursor::new(source), &mut tr)); - } - } - - #[test] - fn struct_slice_read() { - let orig = vec![ - TestRead { - a: 0x7766554433221100, - b: 0x88, - c: 0x99, - d: 0xaa, - e: 0xbb, - }, - TestRead { - a: 0x7867564534231201, - b: 0x02, - c: 0x13, - d: 0x24, - e: 0x35, - }, - TestRead { - a: 0x7a69584736251403, - b: 0x04, - c: 0x15, - d: 0x26, - e: 0x37, - }, - ]; - let source = unsafe { - // Don't worry it's a test - std::slice::from_raw_parts( - orig.as_ptr() as *const u8, - std::mem::size_of::() * 3, - ) - }; - - let tr: Vec = unsafe { read_struct_slice(&mut Cursor::new(source), 3).unwrap() }; - assert_eq!(orig, tr); - } -} diff --git a/vendor/git-4af8f4552cd0d200/linux-loader/src/loader/test_elf.bin b/vendor/git-4af8f4552cd0d200/linux-loader/src/loader/test_elf.bin deleted file mode 100644 index 2e75f639f132360c251cf9d5a4d9df3ac0eefbe1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4424 zcmb<-^>JfjWMqH=CI&kO2u}bk|%wV;wAW^tHi~*tLq55Go zOdZG$HXv4jDpwGIFkm!4R3D6n>4OT7QllX-8UmvsFd71*Aut*OqaiRF0;3@?8Umvs zFd71*Aut*OB!ocPt{==Ey}Y8p-gg({ivJ~S?>zn=eEns^zh^1GzP$d!;E|e>ldq#t zo?n!cqR7R-pjVtxTvAk$n8cu0l3G#1pqG+Zl1PGmxRi1OC17I$5H-+&0Vo9@KY$v* rf@Y8)R6jFR95#*s8()BrBjC^vvKyusssv2wL+uww76h_E>X88eCQBm? diff --git a/vendor/git-4af8f4552cd0d200/linux-loader/tests/conftest.py b/vendor/git-4af8f4552cd0d200/linux-loader/tests/conftest.py deleted file mode 100644 index 58aef2d74..000000000 --- a/vendor/git-4af8f4552cd0d200/linux-loader/tests/conftest.py +++ /dev/null @@ -1,28 +0,0 @@ -import pytest - - -PROFILE_CI="ci" -PROFILE_DEVEL="devel" - - -def pytest_addoption(parser): - parser.addoption( - "--profile", - default=PROFILE_CI, - choices=[PROFILE_CI, PROFILE_DEVEL], - help="Profile for running the test: {} or {}".format( - PROFILE_CI, - PROFILE_DEVEL - ) - ) - - -@pytest.fixture -def profile(request): - return request.config.getoption("--profile") - - -# This is used for defining global variables in pytest. -def pytest_configure(): - pytest.profile_ci = PROFILE_CI - pytest.profile_devel = PROFILE_DEVEL diff --git a/vendor/git-4af8f4552cd0d200/linux-loader/tests/coverage b/vendor/git-4af8f4552cd0d200/linux-loader/tests/coverage deleted file mode 100644 index 4e569a97e..000000000 --- a/vendor/git-4af8f4552cd0d200/linux-loader/tests/coverage +++ /dev/null @@ -1 +0,0 @@ -67.0 diff --git a/vendor/git-4af8f4552cd0d200/linux-loader/tests/test_coverage.py b/vendor/git-4af8f4552cd0d200/linux-loader/tests/test_coverage.py deleted file mode 100644 index c009f8e04..000000000 --- a/vendor/git-4af8f4552cd0d200/linux-loader/tests/test_coverage.py +++ /dev/null @@ -1,108 +0,0 @@ -# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# SPDX-License-Identifier: Apache-2.0 OR BSD-3-Clause -"""Test the coverage and update the threshold when coverage is increased.""" - -import os, re, shutil, subprocess -import pytest - -def _get_current_coverage(): - """Helper function that returns the coverage computed with kcov.""" - kcov_ouput_dir = os.path.join( - os.path.dirname(os.path.realpath(__file__)), - "kcov_output" - ) - - # By default the build output for kcov and unit tests are both in the debug - # directory. This causes some linker errors that I haven't investigated. - # Error: error: linking with `cc` failed: exit code: 1 - # An easy fix is to have separate build directories for kcov & unit tests. - kcov_build_dir = os.path.join( - os.path.dirname(os.path.realpath(__file__)), - "kcov_build" - ) - - # Remove kcov output and build directory to be sure we are always working - # on a clean environment. - shutil.rmtree(kcov_ouput_dir, ignore_errors=True) - shutil.rmtree(kcov_build_dir, ignore_errors=True) - - exclude_pattern = ( - '${CARGO_HOME:-$HOME/.cargo/},' - 'usr/lib/,' - 'lib/' - ) - exclude_region = "'mod tests {'" - - kcov_cmd = "CARGO_TARGET_DIR={} cargo kcov --all " \ - "--output {} -- " \ - "--exclude-region={} " \ - "--exclude-pattern={} " \ - "--verify".format( - kcov_build_dir, - kcov_ouput_dir, - exclude_region, - exclude_pattern - ) - - subprocess.run(kcov_cmd, shell=True, check=True) - - # Read the coverage reported by kcov. - coverage_file = os.path.join(kcov_ouput_dir, 'index.js') - with open(coverage_file) as cov_output: - coverage = float(re.findall( - r'"covered":"(\d+\.\d)"', - cov_output.read() - )[0]) - - # Remove coverage related directories. - shutil.rmtree(kcov_ouput_dir, ignore_errors=True) - shutil.rmtree(kcov_build_dir, ignore_errors=True) - - return coverage - - -def _get_previous_coverage(): - """Helper function that returns the last reported coverage.""" - coverage_path = os.path.join( - os.path.dirname(os.path.realpath(__file__)), - 'coverage' - ) - - # The first and only line of the file contains the coverage. - with open(coverage_path) as f: - coverage = f.readline() - return float(coverage.strip()) - -def _update_coverage(cov_value): - """Updates the coverage in the coverage file.""" - coverage_path = os.path.join( - os.path.dirname(os.path.realpath(__file__)), - 'coverage' - ) - - with open(coverage_path, "w") as f: - f.write(str(cov_value)) - -def test_coverage(profile): - current_coverage = _get_current_coverage() - previous_coverage = _get_previous_coverage() - if previous_coverage < current_coverage: - if profile == pytest.profile_ci: - # In the CI Profile we expect the coverage to be manually updated. - assert False, "Coverage is increased from {} to {}. " \ - "Please update the coverage in " \ - "tests/coverage.".format( - previous_coverage, - current_coverage - ) - elif profile == pytest.profile_devel: - _update_coverage(current_coverage) - else: - # This should never happen because pytest should only accept - # the valid test profiles specified with `choices` in - # `pytest_addoption`. - assert False, "Invalid test profile." - elif previous_coverage > current_coverage: - diff = float(previous_coverage - current_coverage) - assert False, "Coverage drops by {:.2f}%. Please add unit tests for" \ - "the uncovered lines.".format(diff) diff --git a/vendor/git-643dc7ede01ca600/vmm-sys-util/.buildkite/pipeline.yml b/vendor/git-643dc7ede01ca600/vmm-sys-util/.buildkite/pipeline.yml deleted file mode 100644 index b04c47901..000000000 --- a/vendor/git-643dc7ede01ca600/vmm-sys-util/.buildkite/pipeline.yml +++ /dev/null @@ -1,153 +0,0 @@ -steps: - - label: "build-gnu-x86" - commands: - - cargo build --release - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - label: "build-gnu-arm" - commands: - - cargo build --release - retry: - automatic: false - agents: - platform: arm.metal - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - label: "build-musl-arm" - commands: - - cargo build --release --target aarch64-unknown-linux-musl - retry: - automatic: false - agents: - platform: arm.metal - os: linux - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - label: "unittests-musl-x86" - commands: - - cargo test --all-features --target x86_64-unknown-linux-musl - retry: - automatic: false - agents: - platform: x86_64.metal - os: linux - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - label: "unittests-musl-arm" - commands: - - cargo test --all-features --target aarch64-unknown-linux-musl - retry: - automatic: false - agents: - platform: arm.metal - os: linux - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - - label: "style" - command: cargo fmt --all -- --check - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - label: "unittests-gnu-x86" - commands: - - cargo test - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - privileged: true - image: "rustvmm/dev:v2" - always-pull: true - tmpfs: [ "/tmp:exec" ] - - - label: "unittests-gnu-arm" - commands: - - cargo test - retry: - automatic: false - agents: - platform: arm.metal - plugins: - - docker#v3.0.1: - privileged: true - image: "rustvmm/dev:v2" - always-pull: true - tmpfs: [ "/tmp:exec" ] - - - label: "clippy-x86" - commands: - - cargo clippy --all -- -D warnings - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - label: "clippy-arm" - commands: - - cargo clippy --all -- -D warnings - retry: - automatic: false - agents: - platform: arm.metal - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - label: "check-warnings-x86" - commands: - - RUSTFLAGS="-D warnings" cargo check --all-targets - retry: - automatic: false - agents: - platform: x86_64.metal - os: linux - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true - - - label: "check-warnings-arm" - commands: - - RUSTFLAGS="-D warnings" cargo check --all-targets - retry: - automatic: false - agents: - platform: arm.metal - os: linux - plugins: - - docker#v3.0.1: - image: "rustvmm/dev:v2" - always-pull: true diff --git a/vendor/git-643dc7ede01ca600/vmm-sys-util/.cargo-checksum.json b/vendor/git-643dc7ede01ca600/vmm-sys-util/.cargo-checksum.json deleted file mode 100644 index 26f912292..000000000 --- a/vendor/git-643dc7ede01ca600/vmm-sys-util/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{".buildkite/pipeline.yml":"e603f3ef6b6357911abe831a0a03f0444cb1ad057385fdd6923d01d6f9f460ba",".cargo/config":"62f04eec5a565cf7017d26222f6f424004ea6f850c22c9c7352ede255a2c59c4","Cargo.toml":"d19b52349ada25dbbae4e2bea4850cf1b09ea546d5efee03ddfbbf9f184c0c72","LICENSE-APACHE":"c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4","LICENSE-BSD-3-Clause":"a6d3ebd1c2f37d4fd83d0676621f695fc0cc2d8c6e646cdbb831b46e0650c208","README.md":"94512ed84e8e89faba431d9107e85d229363c187705ab9244f0ab5269b5961b5","src/errno.rs":"b93845c200fc596b0ef2414671d965cf5c4fdbf6bba6e5e5f0d032a32c73f8ac","src/eventfd.rs":"7bd871242f49c14d8783714e6814456f51a9c280dcadf1625e1bd2313d2b5f7f","src/file_traits.rs":"398c529e7ebce143ecb9f9bd2f5f47ea3e953ac34cc211ad71cdcf1898cc7d38","src/ioctl.rs":"5c4abf75e7b6786e7da3191ac1e4460e1ec7d073a53331a6d9597bb9ccc3f88a","src/lib.rs":"ee0818e0ca6fdc340c52d514eeb2e3aeb4f7ba8e4e522bb946cdbce4779926f1","src/poll.rs":"1498c14ba022ede57c4faf17bee49cf5ac9d1c8d3883db441697ee224dac7818","src/seek_hole.rs":"de43f21bc2c5d9eb7f06e21e3c20f93476bf6016e4d041df71a02b9e54b3c3ca","src/signal.rs":"c9bb7282ec31f10c9a9e84ec4348eaa028e47d191237c465c9b45eaea994b5a8","src/syslog.rs":"fbf4bde16b1059b5b39c5318e8bb918dc431e8e0ccbc82c0d765b9ce4a8d5f96","src/tempdir.rs":"4993460e81f7df6398e0f2b07cc3d81e728aa7e0559c7f3d83b6df1876bc3776","src/terminal.rs":"85efb1df641730fa1981bac6fd65bd75f7d532bb8680a56e94d6d006eeb363e9","src/timerfd.rs":"fd3c52e3918d881c16cb1498f8f66253ee758275a6a66ed8eb11c78e69f69e55","src/write_zeroes.rs":"c2951bbdb3ab07727eda29e9a91a51e427fdf6fed0b611ea6a3732edbd9a1246"},"package":null} \ No newline at end of file diff --git a/vendor/git-643dc7ede01ca600/vmm-sys-util/.cargo/config b/vendor/git-643dc7ede01ca600/vmm-sys-util/.cargo/config deleted file mode 100644 index 0c55a7c4b..000000000 --- a/vendor/git-643dc7ede01ca600/vmm-sys-util/.cargo/config +++ /dev/null @@ -1,2 +0,0 @@ -[target.aarch64-unknown-linux-musl] -rustflags = [ "-C", "target-feature=+crt-static", "-C", "link-arg=-lgcc"] diff --git a/vendor/git-643dc7ede01ca600/vmm-sys-util/Cargo.toml b/vendor/git-643dc7ede01ca600/vmm-sys-util/Cargo.toml deleted file mode 100644 index bb697b6c3..000000000 --- a/vendor/git-643dc7ede01ca600/vmm-sys-util/Cargo.toml +++ /dev/null @@ -1,9 +0,0 @@ -[package] -name = "vmm-sys-util" -version = "0.1.0" -authors = ["Jing Liu "] -license = "Apache-2.0" - -[dependencies] -libc = ">=0.2.39" - diff --git a/vendor/git-643dc7ede01ca600/vmm-sys-util/LICENSE-APACHE b/vendor/git-643dc7ede01ca600/vmm-sys-util/LICENSE-APACHE deleted file mode 100644 index 261eeb9e9..000000000 --- a/vendor/git-643dc7ede01ca600/vmm-sys-util/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/git-643dc7ede01ca600/vmm-sys-util/LICENSE-BSD-3-Clause b/vendor/git-643dc7ede01ca600/vmm-sys-util/LICENSE-BSD-3-Clause deleted file mode 100644 index 8bafca303..000000000 --- a/vendor/git-643dc7ede01ca600/vmm-sys-util/LICENSE-BSD-3-Clause +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/git-643dc7ede01ca600/vmm-sys-util/README.md b/vendor/git-643dc7ede01ca600/vmm-sys-util/README.md deleted file mode 100644 index 383aa42db..000000000 --- a/vendor/git-643dc7ede01ca600/vmm-sys-util/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# vmm-sys-util -This crate is a collection of modules that provides helpers and utilities. diff --git a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/errno.rs b/vendor/git-643dc7ede01ca600/vmm-sys-util/src/errno.rs deleted file mode 100644 index 89bbbb6b1..000000000 --- a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/errno.rs +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright 2019 Intel Corporation. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. - -use std::fmt::{Display, Formatter}; -use std::io; -use std::result; - -use libc::__errno_location; - -/// An error number, retrieved from [`errno`](http://man7.org/linux/man-pages/man3/errno.3.html), -/// set by a libc function that returned an error. -#[derive(Clone, Copy, Debug, PartialEq)] -pub struct Error(i32); -pub type Result = result::Result; - -impl Error { - /// Constructs a new error with the given `errno`. - pub fn new(e: i32) -> Error { - Error(e) - } - - /// Constructs an error from the current `errno`. - /// - /// The result of this only has any meaning just after a libc call that returned a value - /// indicating `errno` was set. - pub fn last() -> Error { - Error(unsafe { *__errno_location() }) - } - - /// Gets the `errno` for this error. - pub fn errno(self) -> i32 { - self.0 - } -} - -impl Display for Error { - fn fmt(&self, f: &mut Formatter) -> std::fmt::Result { - io::Error::from_raw_os_error(self.0).fmt(f) - } -} - -impl From for Error { - fn from(e: io::Error) -> Self { - Error::new(e.raw_os_error().unwrap_or_default()) - } -} - -/// Returns the last `errno` as a [`Result`] that is always an error. -/// -/// [`Result`]: type.Result.html -pub fn errno_result() -> Result { - Err(Error::last()) -} - -#[cfg(test)] -mod tests { - use super::*; - use libc; - use std::fs::File; - use std::io::{self, Write}; - use std::os::unix::io::FromRawFd; - - #[test] - pub fn test_invalid_fd() { - let mut file = unsafe { File::from_raw_fd(-1) }; - assert!(file.write(b"test").is_err()); - let last_err = errno_result::().unwrap_err(); - assert_eq!(last_err, Error::new(libc::EBADF)); - assert_eq!(last_err.errno(), libc::EBADF); - assert_eq!(last_err, Error::from(io::Error::last_os_error())); - assert_eq!(last_err, Error::last()); - } -} diff --git a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/eventfd.rs b/vendor/git-643dc7ede01ca600/vmm-sys-util/src/eventfd.rs deleted file mode 100644 index ff0542735..000000000 --- a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/eventfd.rs +++ /dev/null @@ -1,150 +0,0 @@ -// Copyright 2019 Intel Corporation. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. - -use std::fs::File; -use std::os::unix::io::{AsRawFd, FromRawFd, RawFd}; -use std::{io, mem, result}; - -use libc::{c_void, dup, eventfd, read, write}; - -/// A safe wrapper around a Linux eventfd (man 2 eventfd). -pub struct EventFd { - eventfd: File, -} - -impl EventFd { - /// Creates a new blocking EventFd with an initial value. - /// - /// `flag`: The initial value. Refer to Linux eventfd(2). - pub fn new(flag: i32) -> result::Result { - // This is safe because eventfd merely allocated an eventfd for - // our process and we handle the error case. - let ret = unsafe { eventfd(0, flag) }; - if ret < 0 { - Err(io::Error::last_os_error()) - } else { - // This is safe because we checked ret for success and know - // the kernel gave us an fd that we own. - Ok(EventFd { - eventfd: unsafe { File::from_raw_fd(ret) }, - }) - } - } - - /// Adds `v` to the eventfd's count, does not block if the result will overflow the count - pub fn write(&self, v: u64) -> result::Result<(), io::Error> { - // This is safe because we made this fd and the pointer we pass - // can not overflow because we give the syscall's size parameter properly. - let ret = unsafe { - write( - self.as_raw_fd(), - &v as *const u64 as *const c_void, - mem::size_of::(), - ) - }; - if ret <= 0 { - Err(io::Error::last_os_error()) - } else { - Ok(()) - } - } - - /// Tries to read from the eventfd, does not block if the counter is zero - pub fn read(&self) -> result::Result { - let mut buf: u64 = 0; - let ret = unsafe { - // This is safe because we made this fd and the pointer we - // pass can not overflow because we give the syscall's size parameter properly. - read( - self.as_raw_fd(), - &mut buf as *mut u64 as *mut c_void, - mem::size_of::(), - ) - }; - if ret < 0 { - Err(io::Error::last_os_error()) - } else { - Ok(buf) - } - } - - /// Clones this EventFd, internally creating a new file descriptor. The new EventFd will share - /// the same underlying count within the kernel. - pub fn try_clone(&self) -> result::Result { - // This is safe because we made this fd and properly check that it returns without error. - let ret = unsafe { dup(self.as_raw_fd()) }; - if ret < 0 { - Err(io::Error::last_os_error()) - } else { - // This is safe because we checked ret for success and know the kernel gave us an fd that we - // own. - Ok(EventFd { - eventfd: unsafe { File::from_raw_fd(ret) }, - }) - } - } -} - -impl AsRawFd for EventFd { - fn as_raw_fd(&self) -> RawFd { - self.eventfd.as_raw_fd() - } -} - -impl FromRawFd for EventFd { - unsafe fn from_raw_fd(fd: RawFd) -> Self { - EventFd { - eventfd: File::from_raw_fd(fd), - } - } -} - -#[cfg(test)] -mod tests { - use super::*; - use libc::EFD_NONBLOCK; - - #[test] - fn test_new() { - EventFd::new(EFD_NONBLOCK).unwrap(); - EventFd::new(0).unwrap(); - } - - #[test] - fn test_read_write() { - let evt = EventFd::new(EFD_NONBLOCK).unwrap(); - evt.write(55).unwrap(); - assert_eq!(evt.read().unwrap(), 55); - } - - #[test] - fn test_write_overflow() { - let evt = EventFd::new(EFD_NONBLOCK).unwrap(); - evt.write(std::u64::MAX - 1).unwrap(); - let r = evt.write(1); - match r { - Err(ref inner) if inner.kind() == io::ErrorKind::WouldBlock => (), - _ => panic!("Unexpected"), - } - } - #[test] - fn test_read_nothing() { - let evt = EventFd::new(EFD_NONBLOCK).unwrap(); - let r = evt.read(); - match r { - Err(ref inner) if inner.kind() == io::ErrorKind::WouldBlock => (), - _ => panic!("Unexpected"), - } - } - #[test] - fn test_clone() { - let evt = EventFd::new(EFD_NONBLOCK).unwrap(); - let evt_clone = evt.try_clone().unwrap(); - evt.write(923).unwrap(); - assert_eq!(evt_clone.read().unwrap(), 923); - } -} diff --git a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/file_traits.rs b/vendor/git-643dc7ede01ca600/vmm-sys-util/src/file_traits.rs deleted file mode 100644 index a2fa77b87..000000000 --- a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/file_traits.rs +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2018 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. -// -// SPDX-License-Identifier: BSD-3-Clause - -use std::fs::File; -use std::io::Result; - -/// A trait for flushing the contents of a file to disk. -/// This is equivalent to File's `sync_all` method, but -/// wrapped in a trait so that it can be implemented for -/// other types. -pub trait FileSync { - // Flush buffers related to this file to disk. - fn fsync(&mut self) -> Result<()>; -} - -impl FileSync for File { - fn fsync(&mut self) -> Result<()> { - self.sync_all() - } -} - -/// A trait for setting the size of a file. -/// This is equivalent to File's `set_len` method, but -/// wrapped in a trait so that it can be implemented for -/// other types. -pub trait FileSetLen { - // Set the size of this file. - // This is the moral equivalent of `ftruncate()`. - fn set_len(&self, _len: u64) -> Result<()>; -} - -impl FileSetLen for File { - fn set_len(&self, len: u64) -> Result<()> { - File::set_len(self, len) - } -} diff --git a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/ioctl.rs b/vendor/git-643dc7ede01ca600/vmm-sys-util/src/ioctl.rs deleted file mode 100644 index 0adc3b1d4..000000000 --- a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/ioctl.rs +++ /dev/null @@ -1,225 +0,0 @@ -// Copyright 2019 Intel Corporation. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. - -//! Macros and wrapper functions for dealing with ioctls. -use libc; -use std::os::raw::{c_int, c_uint, c_ulong, c_void}; -use std::os::unix::io::AsRawFd; - -/// Raw macro to declare the expression that calculates an ioctl number -#[macro_export] -macro_rules! ioctl_expr { - ($dir:expr, $ty:expr, $nr:expr, $size:expr) => { - (($dir << $crate::ioctl::_IOC_DIRSHIFT) - | ($ty << $crate::ioctl::_IOC_TYPESHIFT) - | ($nr << $crate::ioctl::_IOC_NRSHIFT) - | ($size << $crate::ioctl::_IOC_SIZESHIFT)) as ::std::os::raw::c_ulong - }; -} - -/// Raw macro to declare a function that returns an ioctl number. -#[macro_export] -macro_rules! ioctl_ioc_nr { - ($name:ident, $dir:expr, $ty:expr, $nr:expr, $size:expr) => { - #[allow(non_snake_case)] - #[allow(clippy::cast_lossless)] - pub fn $name() -> ::std::os::raw::c_ulong { - ioctl_expr!($dir, $ty, $nr, $size) - } - }; - ($name:ident, $dir:expr, $ty:expr, $nr:expr, $size:expr, $($v:ident),+) => { - #[allow(non_snake_case)] - #[allow(clippy::cast_lossless)] - pub fn $name($($v: ::std::os::raw::c_uint),+) -> ::std::os::raw::c_ulong { - ioctl_expr!($dir, $ty, $nr, $size) - } - }; -} - -/// Declare an ioctl that transfers no data. -#[macro_export] -macro_rules! ioctl_io_nr { - ($name:ident, $ty:expr, $nr:expr) => { - ioctl_ioc_nr!($name, $crate::ioctl::_IOC_NONE, $ty, $nr, 0); - }; - ($name:ident, $ty:expr, $nr:expr, $($v:ident),+) => { - ioctl_ioc_nr!($name, $crate::ioctl::_IOC_NONE, $ty, $nr, 0, $($v),+); - }; -} - -/// Declare an ioctl that reads data. -#[macro_export] -macro_rules! ioctl_ior_nr { - ($name:ident, $ty:expr, $nr:expr, $size:ty) => { - ioctl_ioc_nr!( - $name, - $crate::ioctl::_IOC_READ, - $ty, - $nr, - ::std::mem::size_of::<$size>() as u32 - ); - }; - ($name:ident, $ty:expr, $nr:expr, $size:ty, $($v:ident),+) => { - ioctl_ioc_nr!( - $name, - $crate::ioctl::_IOC_READ, - $ty, - $nr, - ::std::mem::size_of::<$size>() as u32, - $($v),+ - ); - }; -} - -/// Declare an ioctl that writes data. -#[macro_export] -macro_rules! ioctl_iow_nr { - ($name:ident, $ty:expr, $nr:expr, $size:ty) => { - ioctl_ioc_nr!( - $name, - $crate::ioctl::_IOC_WRITE, - $ty, - $nr, - ::std::mem::size_of::<$size>() as u32 - ); - }; - ($name:ident, $ty:expr, $nr:expr, $size:ty, $($v:ident),+) => { - ioctl_ioc_nr!( - $name, - $crate::ioctl::_IOC_WRITE, - $ty, - $nr, - ::std::mem::size_of::<$size>() as u32, - $($v),+ - ); - }; -} - -/// Declare an ioctl that reads and writes data. -#[macro_export] -macro_rules! ioctl_iowr_nr { - ($name:ident, $ty:expr, $nr:expr, $size:ty) => { - ioctl_ioc_nr!( - $name, - $crate::ioctl::_IOC_READ | $crate::ioctl::_IOC_WRITE, - $ty, - $nr, - ::std::mem::size_of::<$size>() as u32 - ); - }; - ($name:ident, $ty:expr, $nr:expr, $size:ty, $($v:ident),+) => { - ioctl_ioc_nr!( - $name, - $crate::ioctl::_IOC_READ | $crate::ioctl::_IOC_WRITE, - $ty, - $nr, - ::std::mem::size_of::<$size>() as u32, - $($v),+ - ); - }; -} - -pub const _IOC_NRBITS: c_uint = 8; -pub const _IOC_TYPEBITS: c_uint = 8; -pub const _IOC_SIZEBITS: c_uint = 14; -pub const _IOC_DIRBITS: c_uint = 2; -pub const _IOC_NRMASK: c_uint = 255; -pub const _IOC_TYPEMASK: c_uint = 255; -pub const _IOC_SIZEMASK: c_uint = 16383; -pub const _IOC_DIRMASK: c_uint = 3; -pub const _IOC_NRSHIFT: c_uint = 0; -pub const _IOC_TYPESHIFT: c_uint = 8; -pub const _IOC_SIZESHIFT: c_uint = 16; -pub const _IOC_DIRSHIFT: c_uint = 30; -pub const _IOC_NONE: c_uint = 0; -pub const _IOC_WRITE: c_uint = 1; -pub const _IOC_READ: c_uint = 2; -pub const IOC_IN: c_uint = 1_073_741_824; -pub const IOC_OUT: c_uint = 2_147_483_648; -pub const IOC_INOUT: c_uint = 3_221_225_472; -pub const IOCSIZE_MASK: c_uint = 1_073_676_288; -pub const IOCSIZE_SHIFT: c_uint = 16; - -// The type of the `req` parameter is different for the `musl` library. This will enable -// successful build for other non-musl libraries. -#[cfg(target_env = "musl")] -type IoctlRequest = c_int; -#[cfg(not(target_env = "musl"))] -type IoctlRequest = c_ulong; - -/// Run an ioctl with no arguments. -pub unsafe fn ioctl(fd: &F, req: c_ulong) -> c_int { - libc::ioctl(fd.as_raw_fd(), req as IoctlRequest, 0) -} - -/// Run an ioctl with a single value argument. -pub unsafe fn ioctl_with_val(fd: &F, req: c_ulong, arg: c_ulong) -> c_int { - libc::ioctl(fd.as_raw_fd(), req as IoctlRequest, arg) -} - -/// Run an ioctl with an immutable reference. -pub unsafe fn ioctl_with_ref(fd: &F, req: c_ulong, arg: &T) -> c_int { - libc::ioctl( - fd.as_raw_fd(), - req as IoctlRequest, - arg as *const T as *const c_void, - ) -} - -/// Run an ioctl with a mutable reference. -pub unsafe fn ioctl_with_mut_ref(fd: &F, req: c_ulong, arg: &mut T) -> c_int { - libc::ioctl( - fd.as_raw_fd(), - req as IoctlRequest, - arg as *mut T as *mut c_void, - ) -} - -/// Run an ioctl with a raw pointer. -pub unsafe fn ioctl_with_ptr(fd: &F, req: c_ulong, arg: *const T) -> c_int { - libc::ioctl(fd.as_raw_fd(), req as IoctlRequest, arg as *const c_void) -} - -/// Run an ioctl with a mutable raw pointer. -pub unsafe fn ioctl_with_mut_ptr(fd: &F, req: c_ulong, arg: *mut T) -> c_int { - libc::ioctl(fd.as_raw_fd(), req as IoctlRequest, arg as *mut c_void) -} - -#[cfg(test)] -mod tests { - const TUNTAP: ::std::os::raw::c_uint = 0x54; - const VHOST: ::std::os::raw::c_uint = 0xAF; - const EVDEV: ::std::os::raw::c_uint = 0x45; - - const KVMIO: ::std::os::raw::c_uint = 0xAE; - - ioctl_io_nr!(KVM_CREATE_VM, KVMIO, 0x01); - ioctl_ior_nr!(TUNGETFEATURES, TUNTAP, 0xcf, ::std::os::raw::c_uint); - ioctl_iow_nr!(TUNSETQUEUE, TUNTAP, 0xd9, ::std::os::raw::c_int); - ioctl_io_nr!(VHOST_SET_OWNER, VHOST, 0x01); - ioctl_iowr_nr!(VHOST_GET_VRING_BASE, VHOST, 0x12, ::std::os::raw::c_int); - ioctl_iowr_nr!(KVM_GET_MSR_INDEX_LIST, KVMIO, 0x2, ::std::os::raw::c_int); - - ioctl_ior_nr!(EVIOCGBIT, EVDEV, 0x20 + evt, [u8; 128], evt); - ioctl_io_nr!(FAKE_IOCTL_2_ARG, EVDEV, 0x01 + x + y, x, y); - - #[test] - fn test_ioctl_macros() { - assert_eq!(0x0000_AE01, KVM_CREATE_VM()); - assert_eq!(0x0000_AF01, VHOST_SET_OWNER()); - assert_eq!(0x8004_54CF, TUNGETFEATURES()); - assert_eq!(0x4004_54D9, TUNSETQUEUE()); - assert_eq!(0xC004_AE02, KVM_GET_MSR_INDEX_LIST()); - assert_eq!(0xC004_AF12, VHOST_GET_VRING_BASE()); - - assert_eq!(0x8080_4522, EVIOCGBIT(2)); - assert_eq!(0x0000_4509, FAKE_IOCTL_2_ARG(3, 5)); - } -} diff --git a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/lib.rs b/vendor/git-643dc7ede01ca600/vmm-sys-util/src/lib.rs deleted file mode 100644 index 883e4a53d..000000000 --- a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/lib.rs +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright 2019 Intel Corporation. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -extern crate libc; - -mod tempdir; - -#[macro_use] -pub mod ioctl; - -pub mod errno; -pub mod eventfd; -pub mod file_traits; -pub mod seek_hole; -pub mod signal; -pub mod terminal; -pub mod timerfd; -pub mod write_zeroes; - -#[macro_use] -pub mod syslog; - -pub mod poll; - -pub use crate::tempdir::*; -pub use errno::*; -pub use eventfd::*; -pub use poll::*; - -use std::os::unix::io::AsRawFd; - -pub use crate::file_traits::{FileSetLen, FileSync}; -pub use crate::seek_hole::SeekHole; -pub use crate::write_zeroes::{PunchHole, WriteZeroes}; - -pub enum FallocateMode { - PunchHole, - ZeroRange, -} - -/// Safe wrapper for `fallocate()`. -pub fn fallocate( - file: &dyn AsRawFd, - mode: FallocateMode, - keep_size: bool, - offset: u64, - len: u64, -) -> Result<()> { - let offset = if offset > libc::off64_t::max_value() as u64 { - return Err(Error::new(libc::EINVAL)); - } else { - offset as libc::off64_t - }; - - let len = if len > libc::off64_t::max_value() as u64 { - return Err(Error::new(libc::EINVAL)); - } else { - len as libc::off64_t - }; - - let mut mode = match mode { - FallocateMode::PunchHole => libc::FALLOC_FL_PUNCH_HOLE, - FallocateMode::ZeroRange => libc::FALLOC_FL_ZERO_RANGE, - }; - - if keep_size { - mode |= libc::FALLOC_FL_KEEP_SIZE; - } - - // Safe since we pass in a valid fd and fallocate mode, validate offset and len, - // and check the return value. - let ret = unsafe { libc::fallocate64(file.as_raw_fd(), mode, offset, len) }; - if ret < 0 { - errno_result() - } else { - Ok(()) - } -} diff --git a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/poll.rs b/vendor/git-643dc7ede01ca600/vmm-sys-util/src/poll.rs deleted file mode 100644 index 4eb49a429..000000000 --- a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/poll.rs +++ /dev/null @@ -1,711 +0,0 @@ -// Copyright 2019 Intel Corporation. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. - -use std::cell::{Cell, Ref, RefCell}; -use std::cmp::min; -use std::fs::File; -use std::i32; -use std::i64; -use std::marker::PhantomData; -use std::os::unix::io::{AsRawFd, FromRawFd, IntoRawFd, RawFd}; -use std::ptr::null_mut; -use std::slice; -use std::thread; -use std::time::Duration; - -use libc::{ - c_int, epoll_create1, epoll_ctl, epoll_event, epoll_wait, EINTR, EPOLLHUP, EPOLLIN, EPOLLOUT, - EPOLL_CLOEXEC, EPOLL_CTL_ADD, EPOLL_CTL_DEL, EPOLL_CTL_MOD, -}; - -use crate::{errno_result, Error, Result}; - -macro_rules! handle_eintr_errno { - ($x:expr) => {{ - let mut res; - loop { - res = $x; - if res != -1 || Error::last() != Error::new(EINTR) { - break; - } - } - res - }}; -} - -const POLL_CONTEXT_MAX_EVENTS: usize = 16; - -/// EpollEvents wraps raw epoll_events, it should only be used with EpollContext. -pub struct EpollEvents(RefCell<[epoll_event; POLL_CONTEXT_MAX_EVENTS]>); - -impl EpollEvents { - pub fn new() -> EpollEvents { - EpollEvents(RefCell::new( - [epoll_event { events: 0, u64: 0 }; POLL_CONTEXT_MAX_EVENTS], - )) - } -} - -impl Default for EpollEvents { - fn default() -> Self { - Self::new() - } -} - -/// Trait for a token that can be associated with an `fd` in a `PollContext`. -/// -/// Simple enums that have no or primitive variant data can use the `#[derive(PollToken)]` -/// custom derive to implement this trait. -pub trait PollToken { - /// Converts this token into a u64 that can be turned back into a token via `from_raw_token`. - fn as_raw_token(&self) -> u64; - - /// Converts a raw token as returned from `as_raw_token` back into a token. - /// - /// It is invalid to give a raw token that was not returned via `as_raw_token` from the same - /// `Self`. The implementation can expect that this will never happen as a result of its usage - /// in `PollContext`. - fn from_raw_token(data: u64) -> Self; -} - -impl PollToken for usize { - fn as_raw_token(&self) -> u64 { - *self as u64 - } - - fn from_raw_token(data: u64) -> Self { - data as Self - } -} - -impl PollToken for u64 { - fn as_raw_token(&self) -> u64 { - *self as u64 - } - - fn from_raw_token(data: u64) -> Self { - data as Self - } -} - -impl PollToken for u32 { - fn as_raw_token(&self) -> u64 { - u64::from(*self) - } - - fn from_raw_token(data: u64) -> Self { - data as Self - } -} - -impl PollToken for u16 { - fn as_raw_token(&self) -> u64 { - u64::from(*self) - } - - fn from_raw_token(data: u64) -> Self { - data as Self - } -} - -impl PollToken for u8 { - fn as_raw_token(&self) -> u64 { - u64::from(*self) - } - - fn from_raw_token(data: u64) -> Self { - data as Self - } -} - -impl PollToken for () { - fn as_raw_token(&self) -> u64 { - 0 - } - - fn from_raw_token(_data: u64) -> Self {} -} - -/// An event returned by `PollContext::wait`. -pub struct PollEvent<'a, T> { - event: &'a epoll_event, - token: PhantomData, // Needed to satisfy usage of T -} - -impl<'a, T: PollToken> PollEvent<'a, T> { - /// Gets the token associated in `PollContext::add` with this event. - pub fn token(&self) -> T { - T::from_raw_token(self.event.u64) - } - - /// True if the `fd` associated with this token in `PollContext::add` is readable. - pub fn readable(&self) -> bool { - self.event.events & (EPOLLIN as u32) != 0 - } - - /// True if the `fd` associated with this token in `PollContext::add` has been hungup on. - pub fn hungup(&self) -> bool { - self.event.events & (EPOLLHUP as u32) != 0 - } -} - -/// An iterator over some (sub)set of events returned by `PollContext::wait`. -pub struct PollEventIter<'a, I, T> -where - I: Iterator, -{ - mask: u32, - iter: I, - tokens: PhantomData<[T]>, // Needed to satisfy usage of T -} - -impl<'a, I, T> Iterator for PollEventIter<'a, I, T> -where - I: Iterator, - T: PollToken, -{ - type Item = PollEvent<'a, T>; - fn next(&mut self) -> Option { - let mask = self.mask; - self.iter - .find(|event| (event.events & mask) != 0) - .map(|event| PollEvent { - event, - token: PhantomData, - }) - } -} - -/// The list of event returned by `PollContext::wait`. -pub struct PollEvents<'a, T> { - count: usize, - events: Ref<'a, [epoll_event; POLL_CONTEXT_MAX_EVENTS]>, - tokens: PhantomData<[T]>, // Needed to satisfy usage of T -} - -impl<'a, T: PollToken> PollEvents<'a, T> { - /// Copies the events to an owned structure so the reference to this (and by extension - /// `PollContext`) can be dropped. - pub fn to_owned(&self) -> PollEventsOwned { - PollEventsOwned { - count: self.count, - events: RefCell::new(*self.events), - tokens: PhantomData, - } - } - - /// Iterates over each event. - pub fn iter(&self) -> PollEventIter, T> { - PollEventIter { - mask: 0xffff_ffff, - iter: self.events[..self.count].iter(), - tokens: PhantomData, - } - } - - /// Iterates over each readable event. - pub fn iter_readable(&self) -> PollEventIter, T> { - PollEventIter { - mask: EPOLLIN as u32, - iter: self.events[..self.count].iter(), - tokens: PhantomData, - } - } - - /// Iterates over each hungup event. - pub fn iter_hungup(&self) -> PollEventIter, T> { - PollEventIter { - mask: EPOLLHUP as u32, - iter: self.events[..self.count].iter(), - tokens: PhantomData, - } - } -} - -/// A deep copy of the event records from `PollEvents`. -pub struct PollEventsOwned { - count: usize, - events: RefCell<[epoll_event; POLL_CONTEXT_MAX_EVENTS]>, - tokens: PhantomData, // Needed to satisfy usage of T -} - -impl PollEventsOwned { - /// Takes a reference to the events so that they can be iterated via methods in `PollEvents`. - pub fn as_ref(&self) -> PollEvents { - PollEvents { - count: self.count, - events: self.events.borrow(), - tokens: PhantomData, - } - } -} - -/// Watching events taken by PollContext. -pub struct WatchingEvents(u32); - -impl WatchingEvents { - /// Returns empty Events. - #[inline(always)] - pub fn empty() -> WatchingEvents { - WatchingEvents(0) - } - - /// Build Events from raw epoll events (defined in epoll_ctl(2)). - #[inline(always)] - pub fn new(raw: u32) -> WatchingEvents { - WatchingEvents(raw) - } - - /// Set read events. - #[inline(always)] - pub fn set_read(self) -> WatchingEvents { - WatchingEvents(self.0 | EPOLLIN as u32) - } - - /// Set write events. - #[inline(always)] - pub fn set_write(self) -> WatchingEvents { - WatchingEvents(self.0 | EPOLLOUT as u32) - } - - /// Get the underlying epoll events. - pub fn get_raw(&self) -> u32 { - self.0 - } -} - -/// EpollContext wraps linux epoll. It provides similar interface to PollContext. -/// It is thread safe while PollContext is not. It requires user to pass in a reference of -/// EpollEvents while PollContext does not. Always use PollContext if you don't need to access the -/// same epoll from different threads. -pub struct EpollContext { - epoll_ctx: File, - // Needed to satisfy usage of T - tokens: PhantomData<[T]>, -} - -impl EpollContext { - /// Creates a new `EpollContext`. - pub fn new() -> Result> { - // Safe because we check the return value. - let epoll_fd = unsafe { epoll_create1(EPOLL_CLOEXEC) }; - if epoll_fd < 0 { - return errno_result(); - } - Ok(EpollContext { - epoll_ctx: unsafe { File::from_raw_fd(epoll_fd) }, - tokens: PhantomData, - }) - } - - /// Adds the given `fd` to this context and associates the given `token` with the `fd`'s - /// readable events. - /// - /// A `fd` can only be added once and does not need to be kept open. If the `fd` is dropped and - /// there were no duplicated file descriptors (i.e. adding the same descriptor with a different - /// FD number) added to this context, events will not be reported by `wait` anymore. - pub fn add(&self, fd: &AsRawFd, token: T) -> Result<()> { - self.add_fd_with_events(fd, WatchingEvents::empty().set_read(), token) - } - - /// Adds the given `fd` to this context, watching for the specified events and associates the - /// given 'token' with those events. - /// - /// A `fd` can only be added once and does not need to be kept open. If the `fd` is dropped and - /// there were no duplicated file descriptors (i.e. adding the same descriptor with a different - /// FD number) added to this context, events will not be reported by `wait` anymore. - pub fn add_fd_with_events(&self, fd: &AsRawFd, events: WatchingEvents, token: T) -> Result<()> { - let mut evt = epoll_event { - events: events.get_raw(), - u64: token.as_raw_token(), - }; - // Safe because we give a valid epoll FD and FD to watch, as well as a valid epoll_event - // structure. Then we check the return value. - let ret = unsafe { - epoll_ctl( - self.epoll_ctx.as_raw_fd(), - EPOLL_CTL_ADD, - fd.as_raw_fd(), - &mut evt, - ) - }; - if ret < 0 { - return errno_result(); - }; - Ok(()) - } - - /// If `fd` was previously added to this context, the watched events will be replaced with - /// `events` and the token associated with it will be replaced with the given `token`. - pub fn modify(&self, fd: &AsRawFd, events: WatchingEvents, token: T) -> Result<()> { - let mut evt = epoll_event { - events: events.0, - u64: token.as_raw_token(), - }; - // Safe because we give a valid epoll FD and FD to modify, as well as a valid epoll_event - // structure. Then we check the return value. - let ret = unsafe { - epoll_ctl( - self.epoll_ctx.as_raw_fd(), - EPOLL_CTL_MOD, - fd.as_raw_fd(), - &mut evt, - ) - }; - if ret < 0 { - return errno_result(); - }; - Ok(()) - } - - /// Deletes the given `fd` from this context. - /// - /// If an `fd`'s token shows up in the list of hangup events, it should be removed using this - /// method or by closing/dropping (if and only if the fd was never dup()'d/fork()'d) the `fd`. - /// Failure to do so will cause the `wait` method to always return immediately, causing ~100% - /// CPU load. - pub fn delete(&self, fd: &AsRawFd) -> Result<()> { - // Safe because we give a valid epoll FD and FD to stop watching. Then we check the return - // value. - let ret = unsafe { - epoll_ctl( - self.epoll_ctx.as_raw_fd(), - EPOLL_CTL_DEL, - fd.as_raw_fd(), - null_mut(), - ) - }; - if ret < 0 { - return errno_result(); - }; - Ok(()) - } - - /// Waits for any events to occur in FDs that were previously added to this context. - /// - /// The events are level-triggered, meaning that if any events are unhandled (i.e. not reading - /// for readable events and not closing for hungup events), subsequent calls to `wait` will - /// return immediately. The consequence of not handling an event perpetually while calling - /// `wait` is that the callers loop will degenerated to busy loop polling, pinning a CPU to - /// ~100% usage. - pub fn wait<'a>(&self, events: &'a EpollEvents) -> Result> { - self.wait_timeout(events, Duration::new(i64::MAX as u64, 0)) - } - - /// Like `wait` except will only block for a maximum of the given `timeout`. - /// - /// This may return earlier than `timeout` with zero events if the duration indicated exceeds - /// system limits. - pub fn wait_timeout<'a>( - &self, - events: &'a EpollEvents, - timeout: Duration, - ) -> Result> { - let timeout_millis = if timeout.as_secs() as i64 == i64::max_value() { - // We make the convenient assumption that 2^63 seconds is an effectively unbounded time - // frame. This is meant to mesh with `wait` calling us with no timeout. - -1 - } else { - // In cases where we the number of milliseconds would overflow an i32, we substitute the - // maximum timeout which is ~24.8 days. - let millis = timeout - .as_secs() - .checked_mul(1_000) - .and_then(|ms| ms.checked_add(u64::from(timeout.subsec_nanos()) / 1_000_000)) - .unwrap_or(i32::max_value() as u64); - min(i32::max_value() as u64, millis) as i32 - }; - let ret = { - let mut epoll_events = events.0.borrow_mut(); - let max_events = epoll_events.len() as c_int; - // Safe because we give an epoll context and a properly sized epoll_events array - // pointer, which we trust the kernel to fill in properly. - unsafe { - handle_eintr_errno!(epoll_wait( - self.epoll_ctx.as_raw_fd(), - &mut epoll_events[0], - max_events, - timeout_millis - )) - } - }; - if ret < 0 { - return errno_result(); - } - let epoll_events = events.0.borrow(); - let events = PollEvents { - count: ret as usize, - events: epoll_events, - tokens: PhantomData, - }; - Ok(events) - } -} - -impl AsRawFd for EpollContext { - fn as_raw_fd(&self) -> RawFd { - self.epoll_ctx.as_raw_fd() - } -} - -impl IntoRawFd for EpollContext { - fn into_raw_fd(self) -> RawFd { - self.epoll_ctx.into_raw_fd() - } -} - -/// Used to poll multiple objects that have file descriptors. -/// -/// # Example -/// -/// ``` -/// # use vmm_sys_util::{Result, EventFd, PollContext, PollEvents}; -/// # fn test() -> Result<()> { -/// let evt1 = EventFd::new(0)?; -/// let evt2 = EventFd::new(0)?; -/// evt2.write(1)?; -/// -/// let ctx: PollContext = PollContext::new()?; -/// ctx.add(&evt1, 1)?; -/// ctx.add(&evt2, 2)?; -/// -/// let pollevents: PollEvents = ctx.wait()?; -/// let tokens: Vec = pollevents.iter_readable().map(|e| e.token()).collect(); -/// assert_eq!(&tokens[..], &[2]); -/// # Ok(()) -/// # } -/// ``` -pub struct PollContext { - epoll_ctx: EpollContext, - - // We use a RefCell here so that the `wait` method only requires an immutable self reference - // while returning the events (encapsulated by PollEvents). Without the RefCell, `wait` would - // hold a mutable reference that lives as long as its returned reference (i.e. the PollEvents), - // even though that reference is immutable. This is terribly inconvenient for the caller because - // the borrow checking would prevent them from using `delete` and `add` while the events are in - // scope. - events: EpollEvents, - - // Hangup busy loop detection variables. See `check_for_hungup_busy_loop`. - hangups: Cell, - max_hangups: Cell, -} - -impl PollContext { - /// Creates a new `PollContext`. - pub fn new() -> Result> { - Ok(PollContext { - epoll_ctx: EpollContext::new()?, - events: EpollEvents::new(), - hangups: Cell::new(0), - max_hangups: Cell::new(0), - }) - } - - /// Adds the given `fd` to this context and associates the given `token` with the `fd`'s - /// readable events. - /// - /// A `fd` can only be added once and does not need to be kept open. If the `fd` is dropped and - /// there were no duplicated file descriptors (i.e. adding the same descriptor with a different - /// FD number) added to this context, events will not be reported by `wait` anymore. - pub fn add(&self, fd: &AsRawFd, token: T) -> Result<()> { - self.add_fd_with_events(fd, WatchingEvents::empty().set_read(), token) - } - - /// Adds the given `fd` to this context, watching for the specified events and associates the - /// given 'token' with those events. - /// - /// A `fd` can only be added once and does not need to be kept open. If the `fd` is dropped and - /// there were no duplicated file descriptors (i.e. adding the same descriptor with a different - /// FD number) added to this context, events will not be reported by `wait` anymore. - pub fn add_fd_with_events(&self, fd: &AsRawFd, events: WatchingEvents, token: T) -> Result<()> { - self.epoll_ctx.add_fd_with_events(fd, events, token)?; - self.hangups.set(0); - self.max_hangups.set(self.max_hangups.get() + 1); - Ok(()) - } - - /// If `fd` was previously added to this context, the watched events will be replaced with - /// `events` and the token associated with it will be replaced with the given `token`. - pub fn modify(&self, fd: &AsRawFd, events: WatchingEvents, token: T) -> Result<()> { - self.epoll_ctx.modify(fd, events, token) - } - - /// Deletes the given `fd` from this context. - /// - /// If an `fd`'s token shows up in the list of hangup events, it should be removed using this - /// method or by closing/dropping (if and only if the fd was never dup()'d/fork()'d) the `fd`. - /// Failure to do so will cause the `wait` method to always return immediately, causing ~100% - /// CPU load. - pub fn delete(&self, fd: &AsRawFd) -> Result<()> { - self.epoll_ctx.delete(fd)?; - self.hangups.set(0); - self.max_hangups.set(self.max_hangups.get() - 1); - Ok(()) - } - - // This method determines if the the user of wait is misusing the `PollContext` by leaving FDs - // in this `PollContext` that have been shutdown or hungup on. Such an FD will cause `wait` to - // return instantly with a hungup event. If that FD is perpetually left in this context, a busy - // loop burning ~100% of one CPU will silently occur with no human visible malfunction. - // - // How do we know if the client of this context is ignoring hangups? A naive implementation - // would trigger if consecutive wait calls yield hangup events, but there are legitimate cases - // for this, such as two distinct sockets becoming hungup across two consecutive wait calls. A - // smarter implementation would only trigger if `delete` wasn't called between waits that - // yielded hangups. Sadly `delete` isn't the only way to remove an FD from this context. The - // other way is for the client to close the hungup FD, which automatically removes it from this - // context. Assuming that the client always uses close, this implementation would too eagerly - // trigger. - // - // The implementation used here keeps an upper bound of FDs in this context using a counter - // hooked into add/delete (which is imprecise because close can also remove FDs without us - // knowing). The number of consecutive (no add or delete in between) hangups yielded by wait - // calls is counted and compared to the upper bound. If the upper bound is exceeded by the - // consecutive hangups, the implementation triggers the check and logs. - // - // This implementation has false negatives because the upper bound can be completely too high, - // in the worst case caused by only using close instead of delete. However, this method has the - // advantage of always triggering eventually genuine busy loop cases, requires no dynamic - // allocations, is fast and constant time to compute, and has no false positives. - fn check_for_hungup_busy_loop(&self, new_hangups: usize) { - let old_hangups = self.hangups.get(); - let max_hangups = self.max_hangups.get(); - if old_hangups <= max_hangups && old_hangups + new_hangups > max_hangups { - warn!( - "busy poll wait loop with hungup FDs detected on thread {}", - thread::current().name().unwrap_or("") - ); - // This panic is helpful for tests of this functionality. - #[cfg(test)] - panic!("hungup busy loop detected"); - } - self.hangups.set(old_hangups + new_hangups); - } - - /// Waits for any events to occur in FDs that were previously added to this context. - /// - /// The events are level-triggered, meaning that if any events are unhandled (i.e. not reading - /// for readable events and not closing for hungup events), subsequent calls to `wait` will - /// return immediately. The consequence of not handling an event perpetually while calling - /// `wait` is that the callers loop will degenerated to busy loop polling, pinning a CPU to - /// ~100% usage. - /// - /// # Panics - /// Panics if the returned `PollEvents` structure is not dropped before subsequent `wait` calls. - pub fn wait(&self) -> Result> { - self.wait_timeout(Duration::new(i64::MAX as u64, 0)) - } - - /// Like `wait` except will only block for a maximum of the given `timeout`. - /// - /// This may return earlier than `timeout` with zero events if the duration indicated exceeds - /// system limits. - pub fn wait_timeout(&self, timeout: Duration) -> Result> { - let events = self.epoll_ctx.wait_timeout(&self.events, timeout)?; - let hangups = events.iter_hungup().count(); - self.check_for_hungup_busy_loop(hangups); - Ok(events) - } -} - -impl AsRawFd for PollContext { - fn as_raw_fd(&self) -> RawFd { - self.epoll_ctx.as_raw_fd() - } -} - -impl IntoRawFd for PollContext { - fn into_raw_fd(self) -> RawFd { - self.epoll_ctx.into_raw_fd() - } -} - -#[cfg(test)] -mod tests { - use super::*; - use crate::eventfd::EventFd; - use std::os::unix::net::UnixStream; - use std::time::Instant; - - #[test] - fn test_poll_context() { - let evt1 = EventFd::new(0).unwrap(); - let evt2 = EventFd::new(0).unwrap(); - evt1.write(1).unwrap(); - evt2.write(1).unwrap(); - let ctx: PollContext = PollContext::new().unwrap(); - ctx.add(&evt1, 1).unwrap(); - ctx.add(&evt2, 2).unwrap(); - - let mut evt_count = 0; - while evt_count < 2 { - for event in ctx.wait().unwrap().iter_readable() { - evt_count += 1; - match event.token() { - 1 => { - evt1.read().unwrap(); - ctx.delete(&evt1).unwrap(); - } - 2 => { - evt2.read().unwrap(); - ctx.delete(&evt2).unwrap(); - } - _ => panic!("unexpected token"), - }; - } - } - assert_eq!(evt_count, 2); - } - - #[test] - fn test_poll_context_overflow() { - const EVT_COUNT: usize = POLL_CONTEXT_MAX_EVENTS * 2 + 1; - let ctx: PollContext = PollContext::new().unwrap(); - let mut evts = Vec::with_capacity(EVT_COUNT); - for i in 0..EVT_COUNT { - let evt = EventFd::new(0).unwrap(); - evt.write(1).unwrap(); - ctx.add(&evt, i).unwrap(); - evts.push(evt); - } - let mut evt_count = 0; - while evt_count < EVT_COUNT { - for event in ctx.wait().unwrap().iter_readable() { - evts[event.token()].read().unwrap(); - evt_count += 1; - } - } - } - - #[test] - #[should_panic] - fn test_poll_context_hungup() { - let (s1, s2) = UnixStream::pair().unwrap(); - let ctx: PollContext = PollContext::new().unwrap(); - ctx.add(&s1, 1).unwrap(); - - // Causes s1 to receive hangup events, which we purposefully ignore to trip the detection - // logic in `PollContext`. - drop(s2); - - // Should easily panic within this many iterations. - for _ in 0..1000 { - ctx.wait().unwrap(); - } - } - - #[test] - fn test_poll_context_timeout() { - let ctx: PollContext = PollContext::new().unwrap(); - let dur = Duration::from_millis(10); - let start_inst = Instant::now(); - ctx.wait_timeout(dur).unwrap(); - assert!(start_inst.elapsed() >= dur); - } - -} diff --git a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/seek_hole.rs b/vendor/git-643dc7ede01ca600/vmm-sys-util/src/seek_hole.rs deleted file mode 100644 index 12ac2e9bb..000000000 --- a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/seek_hole.rs +++ /dev/null @@ -1,215 +0,0 @@ -// Copyright 2018 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. -// -// SPDX-License-Identifier: BSD-3-Clause - -use std::fs::File; -use std::io::{Error, Result}; -use std::os::unix::io::AsRawFd; - -#[cfg(target_env = "musl")] -use libc::{c_int, lseek64, ENXIO}; - -#[cfg(target_env = "gnu")] -use libc::{lseek64, ENXIO, SEEK_DATA, SEEK_HOLE}; - -/// A trait for seeking to the next hole or non-hole position in a file. -pub trait SeekHole { - /// Seek to the first hole in a file at a position greater than or equal to `offset`. - /// If no holes exist after `offset`, the seek position will be set to the end of the file. - /// If `offset` is at or after the end of the file, the seek position is unchanged, and None is returned. - /// Returns the current seek position after the seek or an error. - fn seek_hole(&mut self, offset: u64) -> Result>; - - /// Seek to the first data in a file at a position greater than or equal to `offset`. - /// If no data exists after `offset`, the seek position is unchanged, and None is returned. - /// Returns the current offset after the seek or an error. - fn seek_data(&mut self, offset: u64) -> Result>; -} - -#[cfg(target_env = "musl")] -pub const SEEK_DATA: c_int = 3; -#[cfg(target_env = "musl")] -pub const SEEK_HOLE: c_int = 4; - -/// Safe wrapper for `libc::lseek64()` -fn lseek(file: &mut File, offset: i64, whence: i32) -> Result> { - // This is safe because we pass a known-good file descriptor. - let res = unsafe { lseek64(file.as_raw_fd(), offset, whence) }; - - if res < 0 { - // Convert ENXIO into None; pass any other error as-is. - let err = Error::last_os_error(); - if let Some(errno) = Error::raw_os_error(&err) { - if errno == ENXIO { - return Ok(None); - } - } - Err(err) - } else { - Ok(Some(res as u64)) - } -} - -impl SeekHole for File { - fn seek_hole(&mut self, offset: u64) -> Result> { - lseek(self, offset as i64, SEEK_HOLE) - } - - fn seek_data(&mut self, offset: u64) -> Result> { - lseek(self, offset as i64, SEEK_DATA) - } -} - -#[cfg(test)] -mod tests { - use super::*; - use crate::TempDir; - use std::fs::File; - use std::io::{Seek, SeekFrom, Write}; - use std::path::PathBuf; - - fn seek_cur(file: &mut File) -> u64 { - file.seek(SeekFrom::Current(0)).unwrap() - } - - #[test] - fn seek_data() { - let tempdir = TempDir::new("/tmp/seek_data_test").unwrap(); - let mut path = PathBuf::from(tempdir.as_path().unwrap()); - path.push("test_file"); - let mut file = File::create(&path).unwrap(); - - // Empty file - assert_eq!(file.seek_data(0).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0); - - // File with non-zero length consisting entirely of a hole - file.set_len(0x10000).unwrap(); - assert_eq!(file.seek_data(0).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0); - - // seek_data at or after the end of the file should return None - assert_eq!(file.seek_data(0x10000).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0); - assert_eq!(file.seek_data(0x10001).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0); - - // Write some data to [0x10000, 0x20000) - let b = [0x55u8; 0x10000]; - file.seek(SeekFrom::Start(0x10000)).unwrap(); - file.write_all(&b).unwrap(); - assert_eq!(file.seek_data(0).unwrap(), Some(0x10000)); - assert_eq!(seek_cur(&mut file), 0x10000); - - // seek_data within data should return the same offset - assert_eq!(file.seek_data(0x10000).unwrap(), Some(0x10000)); - assert_eq!(seek_cur(&mut file), 0x10000); - assert_eq!(file.seek_data(0x10001).unwrap(), Some(0x10001)); - assert_eq!(seek_cur(&mut file), 0x10001); - assert_eq!(file.seek_data(0x1FFFF).unwrap(), Some(0x1FFFF)); - assert_eq!(seek_cur(&mut file), 0x1FFFF); - - // Extend the file to add another hole after the data - file.set_len(0x30000).unwrap(); - assert_eq!(file.seek_data(0).unwrap(), Some(0x10000)); - assert_eq!(seek_cur(&mut file), 0x10000); - assert_eq!(file.seek_data(0x1FFFF).unwrap(), Some(0x1FFFF)); - assert_eq!(seek_cur(&mut file), 0x1FFFF); - assert_eq!(file.seek_data(0x20000).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0x1FFFF); - } - - #[test] - #[allow(clippy::cyclomatic_complexity)] - fn seek_hole() { - let tempdir = TempDir::new("/tmp/seek_hole_test").unwrap(); - let mut path = PathBuf::from(tempdir.as_path().unwrap()); - path.push("test_file"); - let mut file = File::create(&path).unwrap(); - - // Empty file - assert_eq!(file.seek_hole(0).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0); - - // File with non-zero length consisting entirely of a hole - file.set_len(0x10000).unwrap(); - assert_eq!(file.seek_hole(0).unwrap(), Some(0)); - assert_eq!(seek_cur(&mut file), 0); - assert_eq!(file.seek_hole(0xFFFF).unwrap(), Some(0xFFFF)); - assert_eq!(seek_cur(&mut file), 0xFFFF); - - // seek_hole at or after the end of the file should return None - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x10000).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0); - assert_eq!(file.seek_hole(0x10001).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0); - - // Write some data to [0x10000, 0x20000) - let b = [0x55u8; 0x10000]; - file.seek(SeekFrom::Start(0x10000)).unwrap(); - file.write_all(&b).unwrap(); - - // seek_hole within a hole should return the same offset - assert_eq!(file.seek_hole(0).unwrap(), Some(0)); - assert_eq!(seek_cur(&mut file), 0); - assert_eq!(file.seek_hole(0xFFFF).unwrap(), Some(0xFFFF)); - assert_eq!(seek_cur(&mut file), 0xFFFF); - - // seek_hole within data should return the next hole (EOF) - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x10000).unwrap(), Some(0x20000)); - assert_eq!(seek_cur(&mut file), 0x20000); - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x10001).unwrap(), Some(0x20000)); - assert_eq!(seek_cur(&mut file), 0x20000); - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x1FFFF).unwrap(), Some(0x20000)); - assert_eq!(seek_cur(&mut file), 0x20000); - - // seek_hole at EOF after data should return None - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x20000).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0); - - // Extend the file to add another hole after the data - file.set_len(0x30000).unwrap(); - assert_eq!(file.seek_hole(0).unwrap(), Some(0)); - assert_eq!(seek_cur(&mut file), 0); - assert_eq!(file.seek_hole(0xFFFF).unwrap(), Some(0xFFFF)); - assert_eq!(seek_cur(&mut file), 0xFFFF); - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x10000).unwrap(), Some(0x20000)); - assert_eq!(seek_cur(&mut file), 0x20000); - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x1FFFF).unwrap(), Some(0x20000)); - assert_eq!(seek_cur(&mut file), 0x20000); - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x20000).unwrap(), Some(0x20000)); - assert_eq!(seek_cur(&mut file), 0x20000); - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x20001).unwrap(), Some(0x20001)); - assert_eq!(seek_cur(&mut file), 0x20001); - - // seek_hole at EOF after a hole should return None - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x30000).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0); - - // Write some data to [0x20000, 0x30000) - file.seek(SeekFrom::Start(0x20000)).unwrap(); - file.write_all(&b).unwrap(); - - // seek_hole within [0x20000, 0x30000) should now find the hole at EOF - assert_eq!(file.seek_hole(0x20000).unwrap(), Some(0x30000)); - assert_eq!(seek_cur(&mut file), 0x30000); - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x20001).unwrap(), Some(0x30000)); - assert_eq!(seek_cur(&mut file), 0x30000); - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x30000).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0); - } -} diff --git a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/signal.rs b/vendor/git-643dc7ede01ca600/vmm-sys-util/src/signal.rs deleted file mode 100644 index 4961d958c..000000000 --- a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/signal.rs +++ /dev/null @@ -1,423 +0,0 @@ -// Copyright 2019 Intel Corporation. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. - -use libc::{ - c_int, c_void, pthread_kill, pthread_sigmask, pthread_t, sigaction, sigaddset, sigemptyset, - siginfo_t, sigismember, sigpending, sigset_t, sigtimedwait, timespec, EAGAIN, EINTR, EINVAL, - SIGHUP, SIGSYS, SIG_BLOCK, SIG_UNBLOCK, -}; - -use errno; -use std::fmt::{self, Display}; -use std::io; -use std::mem; -use std::os::unix::thread::JoinHandleExt; -use std::ptr::{null, null_mut}; -use std::result; -use std::thread::JoinHandle; - -#[derive(Debug)] -pub enum Error { - /// Couldn't create a sigset. - CreateSigset(errno::Error), - /// The wrapped signal has already been blocked. - SignalAlreadyBlocked(c_int), - /// Failed to check if the requested signal is in the blocked set already. - CompareBlockedSignals(errno::Error), - /// The signal could not be blocked. - BlockSignal(errno::Error), - /// The signal mask could not be retrieved. - RetrieveSignalMask(i32), - /// The signal could not be unblocked. - UnblockSignal(errno::Error), - /// Failed to wait for given signal. - ClearWaitPending(errno::Error), - /// Failed to get pending signals. - ClearGetPending(errno::Error), - /// Failed to check if given signal is in the set of pending signals. - ClearCheckPending(errno::Error), -} - -impl Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - use self::Error::*; - - match self { - CreateSigset(e) => write!(f, "couldn't create a sigset: {}", e), - SignalAlreadyBlocked(num) => write!(f, "signal {} already blocked", num), - CompareBlockedSignals(e) => write!( - f, - "failed to check whether requested signal is in the blocked set: {}", - e, - ), - BlockSignal(e) => write!(f, "signal could not be blocked: {}", e), - RetrieveSignalMask(errno) => write!( - f, - "failed to retrieve signal mask: {}", - io::Error::from_raw_os_error(*errno), - ), - UnblockSignal(e) => write!(f, "signal could not be unblocked: {}", e), - ClearWaitPending(e) => write!(f, "failed to wait for given signal: {}", e), - ClearGetPending(e) => write!(f, "failed to get pending signals: {}", e), - ClearCheckPending(e) => write!( - f, - "failed to check whether given signal is in the pending set: {}", - e, - ), - } - } -} - -pub type SignalResult = result::Result; -type SiginfoHandler = extern "C" fn(num: c_int, info: *mut siginfo_t, _unused: *mut c_void) -> (); - -pub enum SignalHandler { - Siginfo(SiginfoHandler), - // TODO add a`SimpleHandler` when `libc` adds `sa_handler` support to `sigaction`. -} - -impl SignalHandler { - fn set_flags(act: &mut sigaction, flag: c_int) { - act.sa_flags = flag; - } -} -/// Fills a `sigaction` structure from of the signal handler. -/// Refer to http://man7.org/linux/man-pages/man7/signal.7.html -impl Into for SignalHandler { - fn into(self) -> sigaction { - let mut act: sigaction = unsafe { mem::zeroed() }; - match self { - SignalHandler::Siginfo(function) => { - act.sa_sigaction = function as *const () as usize; - } - } - act - } -} - -extern "C" { - fn __libc_current_sigrtmin() -> c_int; - fn __libc_current_sigrtmax() -> c_int; -} - -/// Returns the minimum (inclusive) real-time signal number. -#[allow(non_snake_case)] -fn SIGRTMIN() -> c_int { - unsafe { __libc_current_sigrtmin() } -} - -/// Returns the maximum (inclusive) real-time signal number. -#[allow(non_snake_case)] -fn SIGRTMAX() -> c_int { - unsafe { __libc_current_sigrtmax() } -} - -/// Verifies that a signal number is valid: for VCPU signals, it needs to be enclosed within the OS -/// limits for realtime signals, and the remaining ones need to be between the minimum (SIGHUP) and -/// maximum (SIGSYS) values. -pub fn validate_signal_num(num: c_int, for_vcpu: bool) -> errno::Result { - if for_vcpu { - let actual_num = num + SIGRTMIN(); - if actual_num <= SIGRTMAX() { - return Ok(actual_num); - } - } else if SIGHUP <= num && num <= SIGSYS { - return Ok(num); - } - Err(errno::Error::new(EINVAL)) -} - -/// Registers `handler` as the signal handler of signum `num`. -/// -/// Uses `sigaction` to register the handler. -/// -/// This is considered unsafe because the given handler will be called asynchronously, interrupting -/// whatever the thread was doing and therefore must only do async-signal-safe operations. -/// flags: SA_SIGINFO or SA_RESTART if wants to restart after signal received. -pub unsafe fn register_signal_handler( - num: i32, - handler: SignalHandler, - for_vcpu: bool, - flag: c_int, -) -> errno::Result<()> { - let num = validate_signal_num(num, for_vcpu)?; - let mut act: sigaction = handler.into(); - SignalHandler::set_flags(&mut act, flag); - match sigaction(num, &act, null_mut()) { - 0 => Ok(()), - _ => errno::errno_result(), - } -} - -/// Creates `sigset` from an array of signal numbers. -/// -/// This is a helper function used when we want to manipulate signals. -pub fn create_sigset(signals: &[c_int]) -> errno::Result { - // sigset will actually be initialized by sigemptyset below. - let mut sigset: sigset_t = unsafe { mem::zeroed() }; - - // Safe - return value is checked. - let ret = unsafe { sigemptyset(&mut sigset) }; - if ret < 0 { - return errno::errno_result(); - } - - for signal in signals { - // Safe - return value is checked. - let ret = unsafe { sigaddset(&mut sigset, *signal) }; - if ret < 0 { - return errno::errno_result(); - } - } - - Ok(sigset) -} - -/// Retrieves the signal mask of the current thread as a vector of c_ints. -pub fn get_blocked_signals() -> SignalResult> { - let mut mask = Vec::new(); - - // Safe - return values are checked. - unsafe { - let mut old_sigset: sigset_t = mem::zeroed(); - let ret = pthread_sigmask(SIG_BLOCK, null(), &mut old_sigset as *mut sigset_t); - if ret < 0 { - return Err(Error::RetrieveSignalMask(ret)); - } - - for num in 0..=SIGRTMAX() { - if sigismember(&old_sigset, num) > 0 { - mask.push(num); - } - } - } - - Ok(mask) -} - -/// Masks given signal. -/// -/// If signal is already blocked the call will fail with Error::SignalAlreadyBlocked -/// result. -pub fn block_signal(num: c_int) -> SignalResult<()> { - let sigset = create_sigset(&[num]).map_err(Error::CreateSigset)?; - - // Safe - return values are checked. - unsafe { - let mut old_sigset: sigset_t = mem::zeroed(); - let ret = pthread_sigmask(SIG_BLOCK, &sigset, &mut old_sigset as *mut sigset_t); - if ret < 0 { - return Err(Error::BlockSignal(errno::Error::last())); - } - let ret = sigismember(&old_sigset, num); - if ret < 0 { - return Err(Error::CompareBlockedSignals(errno::Error::last())); - } else if ret > 0 { - return Err(Error::SignalAlreadyBlocked(num)); - } - } - Ok(()) -} - -/// Unmasks given signal. -pub fn unblock_signal(num: c_int) -> SignalResult<()> { - let sigset = create_sigset(&[num]).map_err(Error::CreateSigset)?; - - // Safe - return value is checked. - let ret = unsafe { pthread_sigmask(SIG_UNBLOCK, &sigset, null_mut()) }; - if ret < 0 { - return Err(Error::UnblockSignal(errno::Error::last())); - } - Ok(()) -} - -/// Clears pending signal. -pub fn clear_signal(num: c_int) -> SignalResult<()> { - let sigset = create_sigset(&[num]).map_err(Error::CreateSigset)?; - - while { - // This is safe as we are rigorously checking return values - // of libc calls. - unsafe { - let mut siginfo: siginfo_t = mem::zeroed(); - let ts = timespec { - tv_sec: 0, - tv_nsec: 0, - }; - // Attempt to consume one instance of pending signal. If signal - // is not pending, the call will fail with EAGAIN or EINTR. - let ret = sigtimedwait(&sigset, &mut siginfo, &ts); - if ret < 0 { - let e = errno::Error::last(); - match e.errno() { - EAGAIN | EINTR => {} - _ => { - return Err(Error::ClearWaitPending(errno::Error::last())); - } - } - } - - // This sigset will be actually filled with `sigpending` call. - let mut chkset: sigset_t = mem::zeroed(); - // See if more instances of the signal are pending. - let ret = sigpending(&mut chkset); - if ret < 0 { - return Err(Error::ClearGetPending(errno::Error::last())); - } - - let ret = sigismember(&chkset, num); - if ret < 0 { - return Err(Error::ClearCheckPending(errno::Error::last())); - } - - // This is do-while loop condition. - ret != 0 - } - } {} - - Ok(()) -} - -/// Trait for threads that can be signalled via `pthread_kill`. -/// -/// Note that this is only useful for signals between SIGRTMIN and SIGRTMAX because these are -/// guaranteed to not be used by the C runtime. -/// -/// This is marked unsafe because the implementation of this trait must guarantee that the returned -/// pthread_t is valid and has a lifetime at least that of the trait object. -pub unsafe trait Killable { - fn pthread_handle(&self) -> pthread_t; - - /// Sends the signal `num + SIGRTMIN` to this killable thread. - /// - /// The value of `num + SIGRTMIN` must not exceed `SIGRTMAX`. - fn kill(&self, num: i32) -> errno::Result<()> { - let num = validate_signal_num(num, true)?; - - // Safe because we ensure we are using a valid pthread handle, a valid signal number, and - // check the return result. - let ret = unsafe { pthread_kill(self.pthread_handle(), num) }; - if ret < 0 { - return errno::errno_result(); - } - Ok(()) - } -} - -// Safe because we fulfill our contract of returning a genuine pthread handle. -unsafe impl Killable for JoinHandle { - fn pthread_handle(&self) -> pthread_t { - // JoinHandleExt::as_pthread_t gives c_ulong, convert it to the - // type that the libc crate expects - assert_eq!(mem::size_of::(), mem::size_of::()); - self.as_pthread_t() as usize as pthread_t - } -} - -#[cfg(test)] -mod tests { - use super::*; - use libc::SA_SIGINFO; - use std::thread; - use std::time::Duration; - - static mut SIGNAL_HANDLER_CALLED: bool = false; - - extern "C" fn handle_signal(_: c_int, _: *mut siginfo_t, _: *mut c_void) { - unsafe { - SIGNAL_HANDLER_CALLED = true; - } - } - - #[test] - fn test_register_signal_handler() { - unsafe { - // testing bad value - assert!(register_signal_handler( - SIGRTMAX(), - SignalHandler::Siginfo(handle_signal), - true, - SA_SIGINFO - ) - .is_err()); - format!( - "{:?}", - register_signal_handler( - SIGRTMAX(), - SignalHandler::Siginfo(handle_signal), - true, - SA_SIGINFO - ) - ); - assert!(register_signal_handler( - 0, - SignalHandler::Siginfo(handle_signal), - true, - SA_SIGINFO - ) - .is_ok()); - assert!(register_signal_handler( - libc::SIGSYS, - SignalHandler::Siginfo(handle_signal), - false, - SA_SIGINFO - ) - .is_ok()); - } - } - - #[test] - #[allow(clippy::empty_loop)] - fn test_killing_thread() { - let killable = thread::spawn(|| thread::current().id()); - let killable_id = killable.join().unwrap(); - assert_ne!(killable_id, thread::current().id()); - - // We install a signal handler for the specified signal; otherwise the whole process will - // be brought down when the signal is received, as part of the default behaviour. Signal - // handlers are global, so we install this before starting the thread. - unsafe { - register_signal_handler(0, SignalHandler::Siginfo(handle_signal), true, SA_SIGINFO) - .expect("failed to register vcpu signal handler"); - } - - let killable = thread::spawn(|| loop {}); - - let res = killable.kill(SIGRTMAX()); - assert!(res.is_err()); - format!("{:?}", res); - - unsafe { - assert!(!SIGNAL_HANDLER_CALLED); - } - - assert!(killable.kill(0).is_ok()); - - // We're waiting to detect that the signal handler has been called. - const MAX_WAIT_ITERS: u32 = 20; - let mut iter_count = 0; - loop { - thread::sleep(Duration::from_millis(100)); - - if unsafe { SIGNAL_HANDLER_CALLED } { - break; - } - - iter_count += 1; - // timeout if we wait too long - assert!(iter_count <= MAX_WAIT_ITERS); - } - - // Our signal handler doesn't do anything which influences the killable thread, so the - // previous signal is effectively ignored. If we were to join killable here, we would block - // forever as the loop keeps running. Since we don't join, the thread will become detached - // as the handle is dropped, and will be killed when the process/main thread exits. - } -} diff --git a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/syslog.rs b/vendor/git-643dc7ede01ca600/vmm-sys-util/src/syslog.rs deleted file mode 100644 index d09b56a88..000000000 --- a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/syslog.rs +++ /dev/null @@ -1,643 +0,0 @@ -// Copyright 2019 Intel Corporation. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. - -//! Facilities for sending log message to syslog. -//! -//! Every function exported by this module is thread-safe. Each function will silently fail until -//! `syslog::init()` is called and returns `Ok`. -//! -//! # Examples -//! -//! ``` -//! #[macro_use] -//! extern crate vmm_sys_util; -//! -//! use vmm_sys_util::syslog::init; -//! fn main() { -//! if let Err(e) = init() { -//! println!("failed to initiailize syslog: {}", e); -//! return; -//! } -//! warn!("this is your {} warning", "final"); -//! error!("something went horribly wrong: {}", "out of RAMs"); -//! } -//! ``` - -use std::env; -use std::ffi::CString; -use std::ffi::{OsStr, OsString}; -use std::fmt::{self, Display}; -use std::fs::File; -use std::io; -use std::io::{stderr, Cursor, ErrorKind, Write}; -use std::mem; -use std::os::unix::io::{AsRawFd, FromRawFd, RawFd}; -use std::os::unix::net::UnixDatagram; -use std::path::PathBuf; -use std::ptr::null; -use std::str::from_utf8; -use std::sync::{Mutex as StdMutex, MutexGuard, Once, ONCE_INIT}; - -use libc::{ - c_char, c_long, closelog, fcntl, gethostname, localtime_r, openlog, pid_t, syscall, time, - time_t, tm, F_GETFD, LOG_NDELAY, LOG_PERROR, LOG_PID, LOG_USER, -}; - -/// Temporary define linux-x86_64 syscall value here. -#[allow(non_upper_case_globals)] -pub const SYS_getpid: c_long = 39; - -const SYSLOG_PATH: &str = "/dev/log"; - -/// The priority (i.e. severity) of a syslog message. -/// -/// See syslog man pages for information on their semantics. -#[derive(Copy, Clone, Debug)] -pub enum Priority { - Emergency = 0, - Alert = 1, - Critical = 2, - Error = 3, - Warning = 4, - Notice = 5, - Info = 6, - Debug = 7, -} - -impl fmt::Display for Priority { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match self { - Priority::Emergency => write!(f, "EMERGENCY"), - Priority::Alert => write!(f, "ALERT"), - Priority::Critical => write!(f, "CRITICAL"), - Priority::Error => write!(f, "ERROR"), - Priority::Warning => write!(f, "WARNING"), - Priority::Notice => write!(f, "NOTICE"), - Priority::Info => write!(f, "INFO"), - Priority::Debug => write!(f, "DEBUG"), - } - } -} - -/// The facility of a syslog message. -/// -/// See syslog man pages for information on their semantics. -pub enum Facility { - Kernel = 0, - User = 1 << 3, - Mail = 2 << 3, - Daemon = 3 << 3, - Auth = 4 << 3, - Syslog = 5 << 3, - Lpr = 6 << 3, - News = 7 << 3, - Uucp = 8 << 3, - Local0 = 16 << 3, - Local1 = 17 << 3, - Local2 = 18 << 3, - Local3 = 19 << 3, - Local4 = 20 << 3, - Local5 = 21 << 3, - Local6 = 22 << 3, - Local7 = 23 << 3, -} - -/// Errors returned by `syslog::init()`. -#[derive(Debug)] -pub enum Error { - /// Initialization was never attempted. - NeverInitialized, - /// Initialization has previously failed and can not be retried. - Poisoned, - /// Error while creating socket. - Socket(io::Error), - /// Error while attempting to connect socket. - Connect(io::Error), - // There was an error using `open` to get the lowest file descriptor. - GetLowestFd(io::Error), - // The guess of libc's file descriptor for the syslog connection was invalid. - InvalidFd, -} - -impl Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - use self::Error::*; - - match self { - NeverInitialized => write!(f, "initialization was never attempted"), - Poisoned => write!(f, "initialization previously failed and cannot be retried"), - Socket(e) => write!(f, "failed to create socket: {}", e), - Connect(e) => write!(f, "failed to connect socket: {}", e), - GetLowestFd(e) => write!(f, "failed to get lowest file descriptor: {}", e), - InvalidFd => write!(f, "guess of fd for syslog connection was invalid"), - } - } -} - -fn get_hostname() -> Result { - let mut hostname: [u8; 256] = [b'\0'; 256]; - // Safe because we give a valid pointer to a buffer of the indicated length and check for the - // result. - let ret = unsafe { gethostname(hostname.as_mut_ptr() as *mut c_char, hostname.len()) }; - if ret == -1 { - return Err(()); - } - - let len = hostname.iter().position(|&v| v == b'\0').ok_or(())?; - - Ok(from_utf8(&hostname[..len]).map_err(|_| ())?.to_string()) -} - -fn get_proc_name() -> Option { - env::args_os() - .next() - .map(PathBuf::from) - .and_then(|s| s.file_name().map(OsStr::to_os_string)) - .map(OsString::into_string) - .and_then(Result::ok) -} - -// Uses libc's openlog function to get a socket to the syslogger. By getting the socket this way, as -// opposed to connecting to the syslogger directly, libc's internal state gets initialized for other -// libraries (e.g. minijail) that make use of libc's syslog function. Note that this function -// depends on no other threads or signal handlers being active in this process because they might -// create FDs. -// -// TODO(zachr): Once https://android-review.googlesource.com/470998 lands, there won't be any -// libraries in use that hard depend on libc's syslogger. Remove this and go back to making the -// connection directly once minjail is ready. -fn openlog_and_get_socket() -> Result { - // closelog first in case there was already a file descriptor open. Safe because it takes no - // arguments and just closes an open file descriptor. Does nothing if the file descriptor - // was not already open. - unsafe { - closelog(); - } - - let file_path = CString::new("/dev/null").unwrap(); - unsafe { - // Ordinarily libc's FD for the syslog connection can't be accessed, but we can guess that the - // FD that openlog will be getting is the lowest unused FD. To guarantee that an FD is opened in - // this function we use the LOG_NDELAY to tell openlog to connect to the syslog now. To get the - // lowest unused FD, we open a dummy file (which the manual says will always return the lowest - // fd), and then close that fd. Voilà, we now know the lowest numbered FD. The call to openlog - // will make use of that FD, and then we just wrap a `UnixDatagram` around it for ease of use. - let fd = libc::open(file_path.as_ptr(), libc::O_RDONLY); - if fd < 0 { - let err = io::Error::last_os_error(); - return Err(Error::GetLowestFd(err)); - } - - // Safe because openlog accesses no pointers because `ident` is null, only valid flags are - // used, and it returns no error. - openlog(null(), LOG_NDELAY | LOG_PERROR | LOG_PID, LOG_USER); - // For safety, ensure the fd we guessed is valid. The `fcntl` call itself only reads the - // file descriptor table of the current process, which is trivially safe. - if fcntl(fd, F_GETFD) >= 0 { - Ok(UnixDatagram::from_raw_fd(fd)) - } else { - Err(Error::InvalidFd) - } - } -} - -struct State { - stderr: bool, - socket: Option, - file: Option, - hostname: Option, - proc_name: Option, -} - -impl State { - fn new() -> Result { - let s = openlog_and_get_socket()?; - Ok(State { - stderr: true, - socket: Some(s), - file: None, - hostname: get_hostname().ok(), - proc_name: get_proc_name(), - }) - } -} - -static STATE_ONCE: Once = ONCE_INIT; -static mut STATE: *const StdMutex = 0 as *const _; - -fn new_mutex_ptr(inner: T) -> *const StdMutex { - Box::into_raw(Box::new(StdMutex::new(inner))) -} - -/// Initialize the syslog connection and internal variables. -/// -/// This should only be called once per process before any other threads have been spawned or any -/// signal handlers have been registered. Every call made after the first will have no effect -/// besides return `Ok` or `Err` appropriately. -pub fn init() -> Result<(), Error> { - let mut err = Error::Poisoned; - STATE_ONCE.call_once(|| match State::new() { - // Safe because STATE mutation is guarded by `Once`. - Ok(state) => unsafe { STATE = new_mutex_ptr(state) }, - Err(e) => err = e, - }); - - if unsafe { STATE.is_null() } { - Err(err) - } else { - Ok(()) - } -} - -fn lock() -> Result, Error> { - // Safe because we assume that STATE is always in either a valid or NULL state. - let state_ptr = unsafe { STATE }; - if state_ptr.is_null() { - return Err(Error::NeverInitialized); - } - // Safe because STATE only mutates once and we checked for NULL. - let state = unsafe { &*state_ptr }; - let guard = match state.lock() { - Ok(guard) => guard, - _ => panic!("mutex is poisoned"), - }; - Ok(guard) -} - -// Attempts to lock and retrieve the state. Returns from the function silently on failure. -macro_rules! lock { - () => { - match lock() { - Ok(s) => s, - _ => return, - }; - }; -} - -/// Replaces the hostname reported in each syslog message. -/// -/// The default hostname is whatever `gethostname()` returned when `vmm_sys_util::syslog::init()` was first -/// called. -/// -/// Does nothing if syslog was never initialized. -pub fn set_hostname>(hostname: T) { - let mut state = lock!(); - state.hostname = Some(hostname.into()); -} - -/// Replaces the process name reported in each syslog message. -/// -/// The default process name is the _file name_ of `argv[0]`. For example, if this program was -/// invoked as -/// -/// ```bash -/// $ path/to/app --delete everything -/// ``` -/// -/// the default process name would be _app_. -/// -/// Does nothing if syslog was never initialized. -pub fn set_proc_name>(proc_name: T) { - let mut state = lock!(); - state.proc_name = Some(proc_name.into()); -} - -/// Enables or disables echoing log messages to the syslog. -/// -/// The default behavior is **enabled**. -/// -/// If `enable` goes from `true` to `false`, the syslog connection is closed. The connection is -/// reopened if `enable` is set to `true` after it became `false`. -/// -/// Returns an error if syslog was never initialized or the syslog connection failed to be -/// established. -/// -/// # Arguments -/// * `enable` - `true` to enable echoing to syslog, `false` to disable echoing to syslog. -pub fn echo_syslog(enable: bool) -> Result<(), Error> { - let state_ptr = unsafe { STATE }; - if state_ptr.is_null() { - return Err(Error::NeverInitialized); - } - let mut state = lock().map_err(|_| Error::Poisoned)?; - - match state.socket.take() { - Some(_) if enable => {} - Some(s) => { - // Because `openlog_and_get_socket` actually just "borrows" the syslog FD, this module - // does not own the syslog connection and therefore should not destroy it. - mem::forget(s); - } - None if enable => { - let s = openlog_and_get_socket()?; - state.socket = Some(s); - } - _ => {} - } - Ok(()) -} - -/// Replaces the optional `File` to echo log messages to. -/// -/// The default behavior is to not echo to a file. Passing `None` to this function restores that -/// behavior. -/// -/// Does nothing if syslog was never initialized. -/// -/// # Arguments -/// * `file` - `Some(file)` to echo to `file`, `None` to disable echoing to the file previously passed to `echo_file`. -pub fn echo_file(file: Option) { - let mut state = lock!(); - state.file = file; -} - -/// Enables or disables echoing log messages to the `std::io::stderr()`. -/// -/// The default behavior is **enabled**. -/// -/// Does nothing if syslog was never initialized. -/// -/// # Arguments -/// * `enable` - `true` to enable echoing to stderr, `false` to disable echoing to stderr. -pub fn echo_stderr(enable: bool) { - let mut state = lock!(); - state.stderr = enable; -} - -/// Retrieves the file descriptors owned by the global syslogger. -/// -/// Does nothing if syslog was never initialized. If their are any file descriptors, they will be -/// pushed into `fds`. -/// -/// Note that the `stderr` file descriptor is never added, as it is not owned by syslog. -#[allow(clippy::redundant_closure)] -pub fn push_fds(fds: &mut Vec) { - let state = lock!(); - fds.extend(state.socket.iter().map(|s| s.as_raw_fd())); - fds.extend(state.file.iter().map(|f| f.as_raw_fd())); -} - -/// Should only be called after `init()` was called. -fn send_buf(socket: &UnixDatagram, buf: &[u8]) { - const SEND_RETRY: usize = 2; - - for _ in 0..SEND_RETRY { - match socket.send(&buf[..]) { - Ok(_) => break, - Err(e) => match e.kind() { - ErrorKind::ConnectionRefused - | ErrorKind::ConnectionReset - | ErrorKind::ConnectionAborted - | ErrorKind::NotConnected => { - let res = socket.connect(SYSLOG_PATH); - if res.is_err() { - break; - } - } - _ => {} - }, - } - } -} - -fn get_localtime() -> tm { - unsafe { - // Safe because tm is just a struct of plain data. - let mut tm: tm = mem::zeroed(); - let mut now: time_t = 0; - // Safe because we give time a valid pointer and can never fail. - time(&mut now as *mut _); - // Safe because we give localtime_r valid pointers and can never fail. - localtime_r(&now, &mut tm as *mut _); - tm - } -} - -/// Records a log message with the given details. -/// -/// Note that this will fail silently if syslog was not initialized. -/// -/// # Arguments -/// * `pri` - The `Priority` (i.e. severity) of the log message. -/// * `fac` - The `Facility` of the log message. Usually `Facility::User` should be used. -/// * `file_name` - Name of the file that generated the log. -/// * `line` - Line number within `file_name` that generated the log. -/// * `args` - The log's message to record, in the form of `format_args!()` return value -/// -/// # Examples -/// -/// ``` -/// # use vmm_sys_util::syslog::{init, log, Priority, Facility}; -/// # fn main() { -/// # if let Err(e) = init() { -/// # println!("failed to initiailize syslog: {}", e); -/// # return; -/// # } -/// log(Priority::Error, -/// Facility::User, -/// file!(), -/// line!(), -/// format_args!("hello syslog")); -/// # } -/// ``` -#[allow(clippy::redundant_closure)] -pub fn log(pri: Priority, fac: Facility, file_name: &str, line: u32, args: fmt::Arguments) { - const MONTHS: [&str; 12] = [ - "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", - ]; - - let mut state = lock!(); - let mut buf = [0u8; 1024]; - if let Some(ref socket) = state.socket { - let tm = get_localtime(); - let prifac = (pri as u8) | (fac as u8); - let (res, len) = { - let mut buf_cursor = Cursor::new(&mut buf[..]); - ( - write!( - &mut buf_cursor, - "<{}>{} {:02} {:02}:{:02}:{:02} {} {}[{}]: [{}:{}] {}", - prifac, - MONTHS[tm.tm_mon as usize], - tm.tm_mday, - tm.tm_hour, - tm.tm_min, - tm.tm_sec, - state.hostname.as_ref().map(|s| s.as_ref()).unwrap_or("-"), - state.proc_name.as_ref().map(|s| s.as_ref()).unwrap_or("-"), - unsafe { syscall(SYS_getpid as c_long) as pid_t }, - //getpid(), - file_name, - line, - args - ), - buf_cursor.position() as usize, - ) - }; - - if res.is_ok() { - send_buf(&socket, &buf[..len]); - } - } - - let (res, len) = { - let mut buf_cursor = Cursor::new(&mut buf[..]); - ( - writeln!(&mut buf_cursor, "[{}:{}:{}] {}", pri, file_name, line, args), - buf_cursor.position() as usize, - ) - }; - if res.is_ok() { - if let Some(ref mut file) = state.file { - let _ = file.write_all(&buf[..len]); - } - if state.stderr { - let _ = stderr().write_all(&buf[..len]); - } - } -} - -/// A macro for logging at an arbitrary priority level. -/// -/// Note that this will fail silently if syslog was not initialized. -#[macro_export] -macro_rules! log { - ($pri:expr, $($args:tt)+) => ({ - $crate::syslog::log($pri, $crate::syslog::Facility::User, file!(), line!(), format_args!($($args)+)) - }) -} - -/// A macro for logging an error. -/// -/// Note that this will fail silently if syslog was not initialized. -#[macro_export] -macro_rules! error { - ($($args:tt)+) => (log!($crate::syslog::Priority::Error, $($args)*)) -} - -/// A macro for logging a warning. -/// -/// Note that this will fail silently if syslog was not initialized. -#[macro_export] -macro_rules! warn { - ($($args:tt)+) => (log!($crate::syslog::Priority::Warning, $($args)*)) -} - -/// A macro for logging info. -/// -/// Note that this will fail silently if syslog was not initialized. -#[macro_export] -macro_rules! info { - ($($args:tt)+) => (log!($crate::syslog::Priority::Info, $($args)*)) -} - -/// A macro for logging debug information. -/// -/// Note that this will fail silently if syslog was not initialized. -#[macro_export] -macro_rules! debug { - ($($args:tt)+) => (log!($crate::syslog::Priority::Debug, $($args)*)) -} - -#[cfg(test)] -mod tests { - use super::*; - use libc::{shm_open, shm_unlink, O_CREAT, O_EXCL, O_RDWR}; - - use std::ffi::CStr; - use std::io::{Read, Seek, SeekFrom}; - use std::os::unix::io::FromRawFd; - - #[test] - fn test_init_syslog() { - init().unwrap(); - } - - #[test] - fn test_fds() { - init().unwrap(); - let mut fds = Vec::new(); - push_fds(&mut fds); - assert!(!fds.is_empty()); - for fd in fds { - assert!(fd >= 0); - } - } - - #[test] - fn test_syslog_log() { - init().unwrap(); - log( - Priority::Error, - Facility::User, - file!(), - line!(), - format_args!("hello syslog"), - ); - } - - #[test] - fn test_proc_name() { - init().unwrap(); - log( - Priority::Error, - Facility::User, - file!(), - line!(), - format_args!("before proc name"), - ); - set_proc_name("sys_util-test"); - log( - Priority::Error, - Facility::User, - file!(), - line!(), - format_args!("after proc name"), - ); - } - - #[test] - #[allow(clippy::zero_prefixed_literal)] - fn test_syslog_file() { - init().unwrap(); - let shm_name = CStr::from_bytes_with_nul(b"/crosvm_shm\0").unwrap(); - let mut file = unsafe { - shm_unlink(shm_name.as_ptr()); - let fd = shm_open(shm_name.as_ptr(), O_RDWR | O_CREAT | O_EXCL, 0666); - assert!(fd >= 0, "error creating shared memory;"); - File::from_raw_fd(fd) - }; - - let syslog_file = file.try_clone().expect("error cloning shared memory file"); - echo_file(Some(syslog_file)); - - const TEST_STR: &str = "hello shared memory file"; - log( - Priority::Error, - Facility::User, - file!(), - line!(), - format_args!("{}", TEST_STR), - ); - - file.seek(SeekFrom::Start(0)) - .expect("error seeking shared memory file"); - let mut buf = String::new(); - file.read_to_string(&mut buf) - .expect("error reading shared memory file"); - assert!(buf.contains(TEST_STR)); - } - - #[test] - fn test_macros() { - init().unwrap(); - error!("this is an error {}", 3); - warn!("this is a warning {}", "uh oh"); - info!("this is info {}", true); - debug!("this is debug info {:?}", Some("helpful stuff")); - } -} diff --git a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/tempdir.rs b/vendor/git-643dc7ede01ca600/vmm-sys-util/src/tempdir.rs deleted file mode 100644 index 7256998e8..000000000 --- a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/tempdir.rs +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. -// -// SPDX-License-Identifier: BSD-3-Clause - -use std::ffi::CString; -use std::ffi::OsStr; -use std::ffi::OsString; -use std::fs; -use std::os::unix::ffi::OsStringExt; -use std::path::Path; -use std::path::PathBuf; - -use libc; - -use crate::{errno_result, Result}; - -/// Create and remove a temporary directory. The directory will be maintained for the lifetime of -/// the `TempDir` object. -pub struct TempDir { - path: Option, -} - -impl TempDir { - /// Creates a new tempory directory. - /// The directory will be removed when the object goes out of scope. - /// - /// # Examples - /// - /// ``` - /// # use std::path::Path; - /// # use std::path::PathBuf; - /// # use vmm_sys_util::TempDir; - /// # fn test_create_temp_dir() -> Result<(), ()> { - /// let t = TempDir::new("/tmp/testdir").map_err(|_| ())?; - /// assert!(t.as_path().unwrap().exists()); - /// # Ok(()) - /// # } - /// ``` - pub fn new>(prefix: P) -> Result { - let mut dir_string = prefix.as_ref().to_os_string(); - dir_string.push("XXXXXX"); - // unwrap this result as the internal bytes can't have a null with a valid path. - let dir_name = CString::new(dir_string.into_vec()).unwrap(); - let mut dir_bytes = dir_name.into_bytes_with_nul(); - let ret = unsafe { - // Creating the directory isn't unsafe. The fact that it modifies the guts of the path - // is also OK because it only overwrites the last 6 Xs added above. - libc::mkdtemp(dir_bytes.as_mut_ptr() as *mut libc::c_char) - }; - if ret.is_null() { - return errno_result(); - } - dir_bytes.pop(); // Remove the null becasue from_vec can't handle it. - Ok(TempDir { - path: Some(PathBuf::from(OsString::from_vec(dir_bytes))), - }) - } - - /// Removes the temporary directory. Calling this is optional as dropping a `TempDir` object - /// will also remove the directory. Calling remove explicitly allows for better error handling. - pub fn remove(mut self) -> Result<()> { - let path = self.path.take(); - path.map_or(Ok(()), fs::remove_dir_all)?; - Ok(()) - } - - /// Returns the path to the tempdir if it is currently valid - pub fn as_path(&self) -> Option<&Path> { - self.path.as_ref().map(|ref p| p.as_path()) - } -} - -impl Drop for TempDir { - fn drop(&mut self) { - if let Some(ref p) = self.path { - // Nothing can be done here if this returns an error. - let _ = fs::remove_dir_all(p); - } - } -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn create_dir() { - let t = TempDir::new("/tmp/asdf").unwrap(); - let path = t.as_path().unwrap(); - assert!(path.exists()); - assert!(path.is_dir()); - assert!(path.starts_with("/tmp/")); - } - - #[test] - fn remove_dir() { - let t = TempDir::new("/tmp/asdf").unwrap(); - let path = t.as_path().unwrap().to_owned(); - assert!(t.remove().is_ok()); - assert!(!path.exists()); - } -} diff --git a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/terminal.rs b/vendor/git-643dc7ede01ca600/vmm-sys-util/src/terminal.rs deleted file mode 100644 index 2d6177d1d..000000000 --- a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/terminal.rs +++ /dev/null @@ -1,155 +0,0 @@ -// Copyright 2019 Intel Corporation. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. - -use std::io::StdinLock; -use std::mem::zeroed; -use std::os::unix::io::RawFd; - -use libc::{ - c_int, fcntl, isatty, read, tcgetattr, tcsetattr, termios, ECHO, F_GETFL, F_SETFL, ICANON, - ISIG, O_NONBLOCK, STDIN_FILENO, TCSANOW, -}; - -use crate::errno::{errno_result, Result}; - -fn modify_mode(fd: RawFd, f: F) -> Result<()> { - // Safe because we check the return value of isatty. - if unsafe { isatty(fd) } != 1 { - return Ok(()); - } - - // The following pair are safe because termios gets totally overwritten by tcgetattr and we - // check the return result. - let mut termios: termios = unsafe { zeroed() }; - let ret = unsafe { tcgetattr(fd, &mut termios as *mut _) }; - if ret < 0 { - return errno_result(); - } - let mut new_termios = termios; - f(&mut new_termios); - // Safe because the syscall will only read the extent of termios and we check the return result. - let ret = unsafe { tcsetattr(fd, TCSANOW, &new_termios as *const _) }; - if ret < 0 { - return errno_result(); - } - - Ok(()) -} - -fn get_flags(fd: RawFd) -> Result { - // Safe because no third parameter is expected and we check the return result. - let ret = unsafe { fcntl(fd, F_GETFL) }; - if ret < 0 { - return errno_result(); - } - Ok(ret) -} - -fn set_flags(fd: RawFd, flags: c_int) -> Result<()> { - // Safe because we supply the third parameter and we check the return result. - let ret = unsafe { fcntl(fd, F_SETFL, flags) }; - if ret < 0 { - return errno_result(); - } - Ok(()) -} - -/// Trait for file descriptors that are TTYs, according to `isatty(3)`. -/// -/// This is marked unsafe because the implementation must promise that the returned RawFd is a valid -/// fd and that the lifetime of the returned fd is at least that of the trait object. -pub unsafe trait Terminal { - /// Gets the file descriptor of the TTY. - fn tty_fd(&self) -> RawFd; - - /// Set this terminal's mode to canonical mode (`ICANON | ECHO | ISIG`). - fn set_canon_mode(&self) -> Result<()> { - modify_mode(self.tty_fd(), |t| t.c_lflag |= ICANON | ECHO | ISIG) - } - - /// Set this terminal's mode to raw mode (`!(ICANON | ECHO | ISIG)`). - fn set_raw_mode(&self) -> Result<()> { - modify_mode(self.tty_fd(), |t| t.c_lflag &= !(ICANON | ECHO | ISIG)) - } - - /// Sets the non-blocking mode of this terminal's file descriptor. - /// - /// If `non_block` is `true`, then `read_raw` will not block. If `non_block` is `false`, then - /// `read_raw` may block if there is nothing to read. - fn set_non_block(&self, non_block: bool) -> Result<()> { - let old_flags = get_flags(self.tty_fd())?; - let new_flags = if non_block { - old_flags | O_NONBLOCK - } else { - old_flags & !O_NONBLOCK - }; - if new_flags != old_flags { - set_flags(self.tty_fd(), new_flags)? - } - Ok(()) - } - - /// Reads up to `out.len()` bytes from this terminal without any buffering. - /// - /// This may block, depending on if non-blocking was enabled with `set_non_block` or if there - /// are any bytes to read. If there is at least one byte that is readable, this will not block. - fn read_raw(&self, out: &mut [u8]) -> Result { - // Safe because read will only modify the pointer up to the length we give it and we check - // the return result. - let ret = unsafe { read(self.tty_fd(), out.as_mut_ptr() as *mut _, out.len()) }; - if ret < 0 { - return errno_result(); - } - - Ok(ret as usize) - } -} - -// Safe because we return a genuine terminal fd that never changes and shares our lifetime. -unsafe impl<'a> Terminal for StdinLock<'a> { - fn tty_fd(&self) -> RawFd { - STDIN_FILENO - } -} - -#[cfg(test)] -mod tests { - use super::*; - use std::fs::File; - use std::io; - use std::os::unix::io::AsRawFd; - use std::path::Path; - - unsafe impl Terminal for File { - fn tty_fd(&self) -> RawFd { - self.as_raw_fd() - } - } - - #[test] - fn test_a_tty() { - let stdin_handle = io::stdin(); - let stdin = stdin_handle.lock(); - - assert!(stdin.set_canon_mode().is_ok()); - assert!(stdin.set_raw_mode().is_ok()); - assert!(stdin.set_raw_mode().is_ok()); - assert!(stdin.set_canon_mode().is_ok()); - assert!(stdin.set_non_block(true).is_ok()); - let mut out = [0u8; 0]; - assert!(stdin.read_raw(&mut out[..]).is_ok()); - } - - #[test] - fn test_a_non_tty() { - let file = File::open(Path::new("/dev/zero")).unwrap(); - assert!(file.set_canon_mode().is_ok()); - } -} diff --git a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/timerfd.rs b/vendor/git-643dc7ede01ca600/vmm-sys-util/src/timerfd.rs deleted file mode 100644 index 4e2903e52..000000000 --- a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/timerfd.rs +++ /dev/null @@ -1,173 +0,0 @@ -// Copyright 2019 Intel Corporation. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Copyright 2018 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-clause file. - -use std::fs::File; -use std::mem; -use std::os::unix::io::{AsRawFd, FromRawFd, IntoRawFd, RawFd}; -use std::ptr; -use std::time::Duration; - -use libc::{self, timerfd_create, timerfd_gettime, timerfd_settime, CLOCK_MONOTONIC, TFD_CLOEXEC}; - -use crate::errno::{errno_result, Result}; - -/// A safe wrapper around a Linux timerfd (man 2 timerfd_create). -pub struct TimerFd(File); - -impl TimerFd { - /// Creates a new [`TimerFd`](struct.TimerFd.html). - /// - /// The timer is initally disarmed and must be armed by calling [`reset`](fn.reset.html). - pub fn new() -> Result { - // Safe because this doesn't modify any memory and we check the return value. - let ret = unsafe { timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC) }; - if ret < 0 { - return errno_result(); - } - - // Safe because we uniquely own the file descriptor. - Ok(TimerFd(unsafe { File::from_raw_fd(ret) })) - } - - /// Sets the timer to expire after `dur`. - /// - /// If `interval` is not `None` it represents the period for repeated expirations after the - /// initial expiration. Otherwise the timer will expire just once. Cancels any existing duration and repeating interval. - pub fn reset(&mut self, dur: Duration, interval: Option) -> Result<()> { - // Safe because we are zero-initializing a struct with only primitive member fields. - let mut spec: libc::itimerspec = unsafe { mem::zeroed() }; - spec.it_value.tv_sec = dur.as_secs() as libc::time_t; - // nsec always fits in i32 because subsec_nanos is defined to be less than one billion. - let nsec = dur.subsec_nanos() as i32; - spec.it_value.tv_nsec = libc::c_long::from(nsec); - - if let Some(int) = interval { - spec.it_interval.tv_sec = int.as_secs() as libc::time_t; - // nsec always fits in i32 because subsec_nanos is defined to be less than one billion. - let nsec = int.subsec_nanos() as i32; - spec.it_interval.tv_nsec = libc::c_long::from(nsec); - } - - // Safe because this doesn't modify any memory and we check the return value. - let ret = unsafe { timerfd_settime(self.as_raw_fd(), 0, &spec, ptr::null_mut()) }; - if ret < 0 { - return errno_result(); - } - - Ok(()) - } - - /// Waits until the timer expires. - /// - /// The return value represents the number of times the timer - /// has expired since the last time `wait` was called. If the timer has not yet expired once - /// this call will block until it does. - pub fn wait(&mut self) -> Result { - let mut count = 0u64; - - // Safe because this will only modify |buf| and we check the return value. - let ret = unsafe { - libc::read( - self.as_raw_fd(), - &mut count as *mut _ as *mut libc::c_void, - mem::size_of_val(&count), - ) - }; - if ret < 0 { - return errno_result(); - } - - // The bytes in the buffer are guaranteed to be in native byte-order so we don't need to - // use from_le or from_be. - Ok(count) - } - - /// Returns `true` if the timer is currently armed. - pub fn is_armed(&self) -> Result { - // Safe because we are zero-initializing a struct with only primitive member fields. - let mut spec: libc::itimerspec = unsafe { mem::zeroed() }; - - // Safe because timerfd_gettime is trusted to only modify `spec`. - let ret = unsafe { timerfd_gettime(self.as_raw_fd(), &mut spec) }; - if ret < 0 { - return errno_result(); - } - - Ok(spec.it_value.tv_sec != 0 || spec.it_value.tv_nsec != 0) - } - - /// Disarms the timer. - pub fn clear(&mut self) -> Result<()> { - // Safe because we are zero-initializing a struct with only primitive member fields. - let spec: libc::itimerspec = unsafe { mem::zeroed() }; - - // Safe because this doesn't modify any memory and we check the return value. - let ret = unsafe { timerfd_settime(self.as_raw_fd(), 0, &spec, ptr::null_mut()) }; - if ret < 0 { - return errno_result(); - } - - Ok(()) - } -} - -impl AsRawFd for TimerFd { - fn as_raw_fd(&self) -> RawFd { - self.0.as_raw_fd() - } -} - -impl FromRawFd for TimerFd { - unsafe fn from_raw_fd(fd: RawFd) -> Self { - TimerFd(File::from_raw_fd(fd)) - } -} - -impl IntoRawFd for TimerFd { - fn into_raw_fd(self) -> RawFd { - self.0.into_raw_fd() - } -} - -#[cfg(test)] -mod tests { - use super::*; - use std::thread::sleep; - use std::time::{Duration, Instant}; - - #[test] - fn test_one_shot() { - let mut tfd = TimerFd::new().expect("failed to create timerfd"); - assert_eq!(tfd.is_armed().unwrap(), false); - - let dur = Duration::from_millis(200); - let now = Instant::now(); - tfd.reset(dur, None).expect("failed to arm timer"); - - assert_eq!(tfd.is_armed().unwrap(), true); - - let count = tfd.wait().expect("unable to wait for timer"); - - assert_eq!(count, 1); - assert!(now.elapsed() >= dur); - } - - #[test] - fn test_repeating() { - let mut tfd = TimerFd::new().expect("failed to create timerfd"); - - let dur = Duration::from_millis(200); - let interval = Duration::from_millis(100); - tfd.reset(dur, Some(interval)).expect("failed to arm timer"); - - sleep(dur * 3); - - let count = tfd.wait().expect("unable to wait for timer"); - assert!(count >= 5, "count = {}", count); - } - -} diff --git a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/write_zeroes.rs b/vendor/git-643dc7ede01ca600/vmm-sys-util/src/write_zeroes.rs deleted file mode 100644 index 98195d8f3..000000000 --- a/vendor/git-643dc7ede01ca600/vmm-sys-util/src/write_zeroes.rs +++ /dev/null @@ -1,172 +0,0 @@ -// Copyright 2018 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. -// -// SPDX-License-Identifier: BSD-3-Clause - -use std::cmp::min; -use std::fs::File; -use std::io::{self, Seek, SeekFrom, Write}; - -use crate::fallocate; -use crate::FallocateMode; - -/// A trait for deallocating space in a file. -pub trait PunchHole { - /// Replace a range of bytes with a hole. - fn punch_hole(&mut self, offset: u64, length: u64) -> io::Result<()>; -} - -impl PunchHole for File { - fn punch_hole(&mut self, offset: u64, length: u64) -> io::Result<()> { - fallocate(self, FallocateMode::PunchHole, true, offset, length as u64) - .map_err(|e| io::Error::from_raw_os_error(e.errno())) - } -} - -/// A trait for writing zeroes to a stream. -pub trait WriteZeroes { - /// Write `length` bytes of zeroes to the stream, returning how many bytes were written. - fn write_zeroes(&mut self, length: usize) -> io::Result; -} - -impl WriteZeroes for T { - fn write_zeroes(&mut self, length: usize) -> io::Result { - // Try to punch a hole first. - let offset = self.seek(SeekFrom::Current(0))?; - if let Ok(()) = self.punch_hole(offset, length as u64) { - // Advance the seek cursor as if we had done a real write(). - self.seek(SeekFrom::Current(length as i64))?; - return Ok(length); - } - - // fall back to write() - - // punch_hole() failed; fall back to writing a buffer of zeroes - // until we have written up to length. - let buf_size = min(length, 0x10000); - let buf = vec![0u8; buf_size]; - let mut nwritten: usize = 0; - while nwritten < length { - let remaining = length - nwritten; - let write_size = min(remaining, buf_size); - nwritten += self.write(&buf[0..write_size])?; - } - Ok(length) - } -} - -#[cfg(test)] -#[allow(clippy::unused_io_amount)] -mod tests { - use super::*; - use std::fs::OpenOptions; - use std::io::{Read, Seek, SeekFrom}; - use std::path::PathBuf; - - use crate::TempDir; - - #[test] - fn simple_test() { - let tempdir = TempDir::new("/tmp/write_zeroes_test").unwrap(); - let mut path = PathBuf::from(tempdir.as_path().unwrap()); - path.push("file"); - let mut f = OpenOptions::new() - .read(true) - .write(true) - .create(true) - .open(&path) - .unwrap(); - f.set_len(16384).unwrap(); - - // Write buffer of non-zero bytes to offset 1234 - let orig_data = [0x55u8; 5678]; - f.seek(SeekFrom::Start(1234)).unwrap(); - f.write(&orig_data).unwrap(); - - // Read back the data plus some overlap on each side - let mut readback = [0u8; 16384]; - f.seek(SeekFrom::Start(0)).unwrap(); - f.read(&mut readback).unwrap(); - // Bytes before the write should still be 0 - for read in readback[0..1234].iter() { - assert_eq!(*read, 0); - } - // Bytes that were just written should be 0x55 - for read in readback[1234..(1234 + 5678)].iter() { - assert_eq!(*read, 0x55); - } - // Bytes after the written area should still be 0 - for read in readback[(1234 + 5678)..].iter() { - assert_eq!(*read, 0); - } - - // Overwrite some of the data with zeroes - f.seek(SeekFrom::Start(2345)).unwrap(); - f.write_zeroes(4321).expect("write_zeroes failed"); - // Verify seek position after write_zeroes() - assert_eq!(f.seek(SeekFrom::Current(0)).unwrap(), 2345 + 4321); - - // Read back the data and verify that it is now zero - f.seek(SeekFrom::Start(0)).unwrap(); - f.read(&mut readback).unwrap(); - // Bytes before the write should still be 0 - for read in readback[0..1234].iter() { - assert_eq!(*read, 0); - } - // Original data should still exist before the write_zeroes region - for read in readback[1234..2345].iter() { - assert_eq!(*read, 0x55); - } - // The write_zeroes region should now be zero - for read in readback[2345..(2345 + 4321)].iter() { - assert_eq!(*read, 0); - } - // Original data should still exist after the write_zeroes region - for read in readback[(2345 + 4321)..(1234 + 5678)].iter() { - assert_eq!(*read, 0x55); - } - // The rest of the file should still be 0 - for read in readback[(1234 + 5678)..].iter() { - assert_eq!(*read, 0); - } - } - - #[test] - fn large_write_zeroes() { - let tempdir = TempDir::new("/tmp/write_zeroes_test").unwrap(); - let mut path = PathBuf::from(tempdir.as_path().unwrap()); - path.push("file"); - let mut f = OpenOptions::new() - .read(true) - .write(true) - .create(true) - .open(&path) - .unwrap(); - f.set_len(16384).unwrap(); - - // Write buffer of non-zero bytes - let orig_data = [0x55u8; 0x20000]; - f.seek(SeekFrom::Start(0)).unwrap(); - f.write(&orig_data).unwrap(); - - // Overwrite some of the data with zeroes - f.seek(SeekFrom::Start(0)).unwrap(); - f.write_zeroes(0x10001).expect("write_zeroes failed"); - // Verify seek position after write_zeroes() - assert_eq!(f.seek(SeekFrom::Current(0)).unwrap(), 0x10001); - - // Read back the data and verify that it is now zero - let mut readback = [0u8; 0x20000]; - f.seek(SeekFrom::Start(0)).unwrap(); - f.read(&mut readback).unwrap(); - // The write_zeroes region should now be zero - for read in readback[0..0x10001].iter() { - assert_eq!(*read, 0); - } - // Original data should still exist after the write_zeroes region - for read in readback[0x10001..0x20000].iter() { - assert_eq!(*read, 0x55); - } - } -} diff --git a/vendor/git-89548d8276566400/vm-memory/.buildkite/pipeline.linux.yml b/vendor/git-89548d8276566400/vm-memory/.buildkite/pipeline.linux.yml deleted file mode 100644 index f39aa1a54..000000000 --- a/vendor/git-89548d8276566400/vm-memory/.buildkite/pipeline.linux.yml +++ /dev/null @@ -1,155 +0,0 @@ -steps: - - label: "build-gnu-x86" - commands: - - cargo build --release - retry: - automatic: false - agents: - platform: x86_64.metal - os: linux - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "build-gnu-x86-mmap" - commands: - - cargo build --release --features=backend-mmap - retry: - automatic: false - agents: - platform: x86_64.metal - os: linux - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "build-gnu-arm-mmap" - commands: - - cargo build --release --features=backend-mmap - retry: - automatic: false - agents: - platform: arm.metal - os: linux - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "build-musl-arm-mmap" - commands: - - cargo build --release --features=backend-mmap --target aarch64-unknown-linux-musl - retry: - automatic: false - agents: - platform: arm.metal - os: linux - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "style" - command: cargo fmt --all -- --check - retry: - automatic: false - agents: - platform: x86_64.metal - os: linux - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "unittests-gnu-x86" - commands: - - cargo test --all-features - retry: - automatic: false - agents: - platform: x86_64.metal - os: linux - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "unittests-musl-x86" - commands: - - cargo test --all-features --target x86_64-unknown-linux-musl - retry: - automatic: false - agents: - platform: x86_64.metal - os: linux - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "unittests-gnu-arm" - commands: - - cargo test --all-features - retry: - automatic: false - agents: - platform: arm.metal - os: linux - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "unittests-musl-arm" - commands: - - cargo test --all-features --target aarch64-unknown-linux-musl - retry: - automatic: false - agents: - platform: arm.metal - os: linux - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "clippy-x86" - commands: - - cargo clippy --all - retry: - automatic: false - agents: - platform: x86_64.metal - os: linux - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "check-warnings-x86" - commands: - - RUSTFLAGS="-D warnings" cargo check --all-targets - retry: - automatic: false - agents: - platform: x86_64.metal - os: linux - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "check-warnings-arm" - commands: - - RUSTFLAGS="-D warnings" cargo check --all-targets - retry: - automatic: false - agents: - platform: arm.metal - os: linux - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true diff --git a/vendor/git-89548d8276566400/vm-memory/.buildkite/pipeline.windows.yml b/vendor/git-89548d8276566400/vm-memory/.buildkite/pipeline.windows.yml deleted file mode 100644 index a1edeeb28..000000000 --- a/vendor/git-89548d8276566400/vm-memory/.buildkite/pipeline.windows.yml +++ /dev/null @@ -1,79 +0,0 @@ -steps: - - label: "build-msvc-x86" - commands: - - cargo build --release - retry: - automatic: true - agents: - platform: x86_64 - os: windows - plugins: - - petrutlucian94/docker#v3.1.1: - image: "lpetrut/rust_win_buildtools" - always-pull: true - - - label: "build-msvc-x86-mmap" - commands: - - cargo build --release --features=backend-mmap - retry: - automatic: true - agents: - platform: x86_64 - os: windows - plugins: - - petrutlucian94/docker#v3.1.1: - image: "lpetrut/rust_win_buildtools" - always-pull: true - - - label: "style" - command: cargo fmt --all -- --check - retry: - automatic: true - agents: - platform: x86_64 - os: windows - plugins: - - petrutlucian94/docker#v3.1.1: - image: "lpetrut/rust_win_buildtools" - always-pull: true - - - label: "unittests-msvc-x86" - commands: - - cargo test --all-features - retry: - automatic: true - agents: - platform: x86_64 - os: windows - plugins: - - petrutlucian94/docker#v3.1.1: - image: "lpetrut/rust_win_buildtools" - always-pull: true - - - label: "clippy-x86" - commands: - - cargo clippy --all - retry: - automatic: true - agents: - platform: x86_64 - os: windows - plugins: - - petrutlucian94/docker#v3.1.1: - image: "lpetrut/rust_win_buildtools" - always-pull: true - - - label: "check-warnings-x86" - commands: - - cargo check --all-targets - retry: - automatic: true - agents: - platform: x86_64 - os: windows - plugins: - - petrutlucian94/docker#v3.1.1: - image: "lpetrut/rust_win_buildtools" - always-pull: true - environment: - - "RUSTFLAGS=-D warnings" diff --git a/vendor/git-89548d8276566400/vm-memory/.cargo-checksum.json b/vendor/git-89548d8276566400/vm-memory/.cargo-checksum.json deleted file mode 100644 index 8cd1bfbcf..000000000 --- a/vendor/git-89548d8276566400/vm-memory/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{".buildkite/pipeline.linux.yml":"a792da4b923a91eb9a590da2d057f89b37b86ebcf483c344813a1abd5957854d",".buildkite/pipeline.windows.yml":"15e21819ef7321c79181ae7f04aafc0c3ceff709a800edd8994f15a9454d6405",".cargo/config":"c2f1c2fd93436e068cfb14eef3dff8a79d25d1f03c11baf6acbcfbdc9fd3a465","Cargo.toml":"459c6688ce88cac6767971e8053b03a14e05aec157a927134c34d5497c84cf68","DESIGN.md":"aa60ac0a1d59179c253c7be0e496f956344cd0bf41f01f86c9a28575ea433785","LICENSE":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","README.md":"2f4aa7c6dbb257a9345d17cec07b0731cae37dc216d25b41272061861bf984b8","THIRD-PARTY":"a6d3ebd1c2f37d4fd83d0676621f695fc0cc2d8c6e646cdbb831b46e0650c208","TODO.md":"c844f03be6631843e90d13b3410df031b07ee16db4a3c7cbda7e89557e9be46b","src/address.rs":"dbc3fa642269bb6f9fb5e176dddc9fcedbe024949f32c43577f52ef04fe0cf09","src/bytes.rs":"2d0c58f53e40f51b5177a234a5062f700ea153c779661c8c34f5d9340f24dd05","src/endian.rs":"948548db28334bceeefe72b09560a700d62993372bb89f46e39990038690f516","src/guest_memory.rs":"2be506fe58244f51279c473a7d0d8e1fc41ef638e9c16cc9e6f071bcbecb3b9b","src/lib.rs":"f65c3f36632da8df7b165578bfd8db010af11c1736fd9855614435e76dd3c390","src/mmap.rs":"9f449c7dac3830128bc1875ca0cc7e7407534eeb7cc1e1db0b0d118aba8de07b","src/mmap_unix.rs":"9a1d71bf1bb7952c25e3796f992953390b6db5a32ef40f2dda1275f866dd9ff0","src/mmap_windows.rs":"bd0091dd90eddede03739ab89648a38f513310437dafdf1f449603bb15a7a2ed","src/volatile_memory.rs":"06bdb496a75f3a190b7092daffce01158acdf73654badd72e697b674eedc4fac"},"package":null} \ No newline at end of file diff --git a/vendor/git-89548d8276566400/vm-memory/.cargo/config b/vendor/git-89548d8276566400/vm-memory/.cargo/config deleted file mode 100644 index 02cbaf3aa..000000000 --- a/vendor/git-89548d8276566400/vm-memory/.cargo/config +++ /dev/null @@ -1,2 +0,0 @@ -[target.aarch64-unknown-linux-musl] -rustflags = [ "-C", "target-feature=+crt-static", "-C", "link-arg=-lgcc"] diff --git a/vendor/git-89548d8276566400/vm-memory/Cargo.toml b/vendor/git-89548d8276566400/vm-memory/Cargo.toml deleted file mode 100644 index 87a349c4d..000000000 --- a/vendor/git-89548d8276566400/vm-memory/Cargo.toml +++ /dev/null @@ -1,17 +0,0 @@ -[package] -name = "vm-memory" -version = "0.1.0" -authors = ["Liu Jiang "] -repository = "https://github.com/rust-vmm/vm-memory" -license = "Apache-2.0" - -[features] -default = [] -backend-mmap = [] - -[dependencies] -libc = ">=0.2.39" - -[dev-dependencies] -matches = ">=0" -tempfile = ">=3.0.2" diff --git a/vendor/git-89548d8276566400/vm-memory/DESIGN.md b/vendor/git-89548d8276566400/vm-memory/DESIGN.md deleted file mode 100644 index 6f20cd47b..000000000 --- a/vendor/git-89548d8276566400/vm-memory/DESIGN.md +++ /dev/null @@ -1,79 +0,0 @@ -## Objectives -For a typical hypervisor, there are seveval components, such as boot loader, virtual device drivers, virtio backend drivers and vhost drivers etc, that need to access VM's physical memory. The `vm-memory` crate aims to provide a set of stable traits to decouple VM memory consumers from VM memory providers. Based on these traits, VM memory consumers could access VM's physical memory without knowing the implementation details of the VM memory provider. Thus hypervisor components, such as boot loader, virtual device drivers, virtio backend drivers and vhost drivers etc, could be shared and reused by multiple hypervisors. - -## API Principles -- Define consumer side interfaces to access VM's physical memory. -- Do not define provider side interfaces to supply VM physical memory. - -The `vm-memory` crate focuses on defining consumer side interfaces to access VM's physical memory, and it dosen't define the way how the underline VM memory provider is implemented. For light-wieght hypervisors like crosvm and firecracker, they may make some assumptions about the structure of VM's physical memory and implement a light-weight backend to access VM's physical memory. For hypervisors like qemu, a high performance and full functionality backend may be implemented with less assumptions. - -## Architecture -Th `vm-memory` is derived from two upstream projects: -- [crosvm project](https://chromium.googlesource.com/chromiumos/platform/crosvm/) commit 186eb8b0db644892e8ffba8344efe3492bb2b823 -- [firecracker project](https://firecracker-microvm.github.io/) commit 80128ea61b305a27df1f751d70415b04b503eae7 - -To be hypervisor neutral, the high level abstraction has been heavily refactored. The new `vm-memory` crate could be divided into four logic parts as: - -### Abstraction of Generic Address Space -Build generic abstractions to describe and access an address space as below: -- AddressValue: Stores the raw value of an address. Typically u32, u64 or usize is used to store the raw value. But pointers, such as \*u8, can't be used because it doesn't implement the Add and Sub traits. -- Address: Encapsulates an AddressValue object and defines methods to access it. -- Bytes: Common trait for volatile access to memory. The `Bytes` trait can be parameterized with newtypes that represent addresses, in order to enforce that addresses are used with the right "kind" of volatile memory. -- VolatileMemory: Basic implementation of volatile access to memory, implements `Bytes`. - -To make the abstraction as generic as possible, all of above core traits only define methods to access the address space, and they never define methods to manage (create, delete, insert, remove etc) address spaces. By this way, the address space consumers (virtio device drivers, vhost-user drivers and boot loaders etc) may be decoupled from the address space provider (typically a hypervisor). - -### Specialization for Virtual Machine Physical Address Space -The generic address space crates are specialized to access VM's physical memory with following traits: -- GuestAddress: represents a guest physical address (GPA). On ARM64, a 32-bit hypervisor may be used to support a 64-bit VM. For simplicity, u64 is used to store the the raw value no matter if it is a 32-bit or 64-bit virtual machine. -- GuestMemoryRegion: used to represent a continuous region of VM's physical memory. -- GuestMemory: used to represent a collection of GuestMemoryRegion objects. The main responsibilities of the GuestMemory trait are: - - hide the detail of accessing VM's physical address (for example complex hierarchical structures). - - map a request address to a GuestMemoryRegion object and relay the request to it. - - handle cases where an access request spanning two or more GuestMemoryRegion objects. - -The VM memory consumers, such as virtio device drivers, vhost drivers and boot loaders etc, should only rely on traits and structs defined here to access VM's physical memory. - -### A Sample and Default Backend Implementation Based on mmap() -Provide a default and sample implementation of the GuestMemory trait by mmapping VM's physical memory into current process. Three data structures are defined here: -- MmapRegion: mmap a continous range of VM's physical memory into current and provide methods to access the mmapped memory. -- GuestRegionMmap: a wrapper structure to map VM's physical address into (mmap\_region, offset) tuple. -- GuestMemoryMmap: manage a collection of GuestRegionMmap objects for a VM. - -One of the main responsibilities of the GuestMemoryMmap object is to handle the use cases where an access request crosses the memory region boundary. This scenario may be triggered when memory hotplug is supported. So there's a tradeoff between functionality and code complexity: -- use following pattern for simplicity which fails when the request crosses region boundary. It's current default behavior in the crosvm and firecracker project. -```rust - let guest_memory_mmap: GuestMemoryMmap = ... - let addr: GuestAddress = ... - let buf = &mut [0u8; 5]; - let result = guest_memory_mmap.find_region(addr).unwrap().write(buf, addr); -``` -- use following pattern for functionality to support request crossing region boundary: -```rust - let guest_memory_mmap: GuestMemoryMmap = ... - let addr: GuestAddress = ... - let buf = &mut [0u8; 5]; - let result = guest_memory_mmap.write(buf, addr); -``` - -### Utilities and Helpers -Following utility and helper traits/macros are imported from the [crosvm project](https://chromium.googlesource.com/chromiumos/platform/crosvm/) with minor changes: -- ByteValued (originally `DataInit`): Types for which it is safe to initialize from raw data. A type `T` is `ByteValued` if and only if it can be initialized by reading its contents from a byte array. This is generally true for all plain-old-data structs. It is notably not true for any type that includes a reference. -- {Le,Be}\_{16,32,64}: Explicit endian types useful for embedding in structs or reinterpreting data. - -## Relationships between Traits, Structs and new Types -Traits: -- Address inherits AddressValue -- GuestMemoryRegion inherits Bytes (must be implemented) -- GuestMemory implements Bytes (generic implementation) - -New Types: -- GuestAddress: Address\ -- MemoryRegionAddress: Address\ - -Structs: -- MmapRegion implements VolatileMemory -- GuestRegionMmap implements Bytes + GuestMemoryRegion -- GuestMemoryMmap implements GuestMemory -- VolatileSlice: Bytes + VolatileMemory - diff --git a/vendor/git-89548d8276566400/vm-memory/LICENSE b/vendor/git-89548d8276566400/vm-memory/LICENSE deleted file mode 100644 index d64569567..000000000 --- a/vendor/git-89548d8276566400/vm-memory/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/git-89548d8276566400/vm-memory/README.md b/vendor/git-89548d8276566400/vm-memory/README.md deleted file mode 100644 index fa711e5d9..000000000 --- a/vendor/git-89548d8276566400/vm-memory/README.md +++ /dev/null @@ -1,47 +0,0 @@ -# vm-memory -A library to access virtual machine's physical memory. - -For a typical hypervisor, there are seveval components, such as boot loader, virtual device drivers, virtio backend drivers and vhost drivers etc, need to access VM's physical memory. The `vm-memory` crate provides a set of traits to decouple VM memory consumers from VM memory providers. Based on these traits, VM memory consumers could access VM's physical memory without knowing the implementation details of the VM memory provider. Thus hypervisor components based on these traits could be shared and reused by multiple hypervisors. - -## Platform Support -- Arch: x86, AMD64, ARM64 -- OS: Linux/Unix/Windows - -## Usage -First, add the following to your `Cargo.toml`: -```toml -vm-memory = "0.1" -``` -Next, add this to your crate root: -```rust -extern crate vm_memory; -``` - -## Example -- Create VM physical memory objects in hypervisor specific ways. Use the default GuestMemoryMmap as an example: -``` - fn provide_mem_to_virt_dev() { - let gm = GuestMemoryMmap::new(&[(GuestAddress(0), 0x1000), (GuestAddress(0x1000), 0x1000)]).unwrap(); - virt_device_io(&gm); - } -``` - -- Consumers access VM's physical memory -``` - fn virt_device_io(mem: &T) { - let sample_buf = &[1, 2, 3, 4, 5]; - assert_eq!(mem.write(sample_buf, GuestAddress(0xffc)).unwrap(), 5); - let buf = &mut [0u8; 5]; - assert_eq!(mem.read(buf, GuestAddress(0xffc)).unwrap(), 5); - assert_eq!(buf, sample_buf); - } -``` - -## Documentations & References -- [Design of The `vm-memory` Crate](DESIGN.md) -- [TODO List](TODO.md) -- [The rust-vmm Project](https://github.com/rust-vmm/) - -## License -This project is licensed under -- Apache License, Version 2.0, (LICENSE or http://www.apache.org/licenses/LICENSE-2.0) diff --git a/vendor/git-89548d8276566400/vm-memory/THIRD-PARTY b/vendor/git-89548d8276566400/vm-memory/THIRD-PARTY deleted file mode 100644 index 8bafca303..000000000 --- a/vendor/git-89548d8276566400/vm-memory/THIRD-PARTY +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/git-89548d8276566400/vm-memory/TODO.md b/vendor/git-89548d8276566400/vm-memory/TODO.md deleted file mode 100644 index e52bb072d..000000000 --- a/vendor/git-89548d8276566400/vm-memory/TODO.md +++ /dev/null @@ -1,3 +0,0 @@ -### TODO List -- Abstraction layer to seperate VM memory management from VM memory accessor. -- Help needed to refine documentation and usage examples. diff --git a/vendor/git-89548d8276566400/vm-memory/src/address.rs b/vendor/git-89548d8276566400/vm-memory/src/address.rs deleted file mode 100644 index d84771865..000000000 --- a/vendor/git-89548d8276566400/vm-memory/src/address.rs +++ /dev/null @@ -1,170 +0,0 @@ -// Copyright (C) 2019 Alibaba Cloud Computing. All rights reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the THIRD-PARTY file. - -//! Traits to represent an address within an address space. -//! -//! Two traits are defined to present an address within an address space: -//! - [AddressValue](trait.AddressValue.html): stores the raw value of an address. Typically u32, -//! u64 or usize is used to store the raw value. But pointers, such as *u8, can't be used because -//! it doesn't implement the Add and Sub traits. -//! - [Address](trait.Address.html): encapsulates an AddressValue object and defines methods to -//! access and manipulate it. - -use std::cmp::{Eq, Ord, PartialEq, PartialOrd}; -use std::ops::{Add, BitAnd, BitOr, Sub}; - -/// Simple helper trait used to store a raw address value. -pub trait AddressValue { - /// Type of the address raw value. - type V: Copy - + PartialEq - + Eq - + PartialOrd - + Ord - + Add - + Sub - + BitAnd - + BitOr; -} - -/// Trait to represent an address within an address space. -/// -/// To simplify the design and implementation, assume the same raw data type (AddressValue::V) -/// could be used to store address, size and offset for the address space. Thus the Address trait -/// could be used to manage address, size and offset. On the other hand, type aliases may be -/// defined to improve code readability. -/// -/// One design rule is applied to the Address trait that operators (+, -, &, | etc) are not -/// supported and it forces clients to explicitly invoke corresponding methods. But there are -/// always exceptions: -/// Address (BitAnd|BitOr) AddressValue are supported. -pub trait Address: - AddressValue - + Sized - + Default - + Copy - + Eq - + PartialEq - + Ord - + PartialOrd - + BitAnd<::V, Output = Self> - + BitOr<::V, Output = Self> -{ - /// Create an address from a raw address value. - fn new(addr: Self::V) -> Self; - - /// Get the raw value of the address. - fn raw_value(&self) -> Self::V; - - /// Returns the bitwise and of the address with the given mask. - fn mask(&self, mask: Self::V) -> Self::V { - self.raw_value() & mask - } - - /// Returns the offset from this address to the given base address and None if there is - /// underflow. - fn checked_offset_from(&self, base: Self) -> Option; - - /// Returns the offset from this address to the given base address. - /// Only use this when `base` is guaranteed not to overflow. - fn unchecked_offset_from(&self, base: Self) -> Self::V { - self.raw_value() - base.raw_value() - } - - /// Returns the result of the add or None if there is overflow. - fn checked_add(&self, other: Self::V) -> Option; - - /// Returns the result of the add and a flag identifying whether there was overflow - fn overflowing_add(&self, other: Self::V) -> (Self, bool); - - /// Returns the result of the base address + the size. - /// Only use this when `offset` is guaranteed not to overflow. - fn unchecked_add(&self, offset: Self::V) -> Self; - - /// Returns the result of the subtraction or None if there is underflow. - fn checked_sub(&self, other: Self::V) -> Option; - - /// Returns the result of the subtraction and a flag identifying whether there was overflow - fn overflowing_sub(&self, other: Self::V) -> (Self, bool); - - /// Returns the result of the subtraction. - /// Only use this when `other` is guaranteed not to underflow. - fn unchecked_sub(&self, other: Self::V) -> Self; -} - -macro_rules! impl_address_ops { - ($T:ident, $V:ty) => { - impl AddressValue for $T { - type V = $V; - } - - impl Address for $T { - fn new(value: $V) -> $T { - $T(value) - } - - fn raw_value(&self) -> $V { - self.0 - } - - fn checked_offset_from(&self, base: $T) -> Option<$V> { - self.0.checked_sub(base.0) - } - - fn checked_add(&self, other: $V) -> Option<$T> { - self.0.checked_add(other).map($T) - } - - fn overflowing_add(&self, other: $V) -> ($T, bool) { - let (t, ovf) = self.0.overflowing_add(other); - ($T(t), ovf) - } - - fn unchecked_add(&self, offset: $V) -> $T { - $T(self.0 + offset) - } - - fn checked_sub(&self, other: $V) -> Option<$T> { - self.0.checked_sub(other).map($T) - } - - fn overflowing_sub(&self, other: $V) -> ($T, bool) { - let (t, ovf) = self.0.overflowing_sub(other); - ($T(t), ovf) - } - - fn unchecked_sub(&self, other: $V) -> $T { - $T(self.0 - other) - } - } - - impl Default for $T { - fn default() -> $T { - Self::new(0 as $V) - } - } - - impl BitAnd<$V> for $T { - type Output = $T; - - fn bitand(self, other: $V) -> $T { - $T(self.0 & other) - } - } - - impl BitOr<$V> for $T { - type Output = $T; - - fn bitor(self, other: $V) -> $T { - $T(self.0 | other) - } - } - }; -} diff --git a/vendor/git-89548d8276566400/vm-memory/src/bytes.rs b/vendor/git-89548d8276566400/vm-memory/src/bytes.rs deleted file mode 100644 index 8d66e93b1..000000000 --- a/vendor/git-89548d8276566400/vm-memory/src/bytes.rs +++ /dev/null @@ -1,285 +0,0 @@ -// Portions Copyright 2019 Red Hat, Inc. -// -// Portions Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the THIRD-PARTY file. - -//! Define the ByteValued trait to mark that it is safe to instantiate the struct with random data. - -use std::io::{Read, Write}; -use std::mem::size_of; -use std::result::Result; -use std::slice::{from_raw_parts, from_raw_parts_mut}; - -/// Types for which it is safe to initialize from raw data. -/// -/// A type `T` is `ByteValued` if and only if it can be initialized by reading its contents from a -/// byte array. This is generally true for all plain-old-data structs. It is notably not true for -/// any type that includes a reference. -/// -/// Implementing this trait guarantees that it is safe to instantiate the struct with random data. -pub unsafe trait ByteValued: Copy + Default + Send + Sync { - /// Converts a slice of raw data into a reference of `Self`. - /// - /// The value of `data` is not copied. Instead a reference is made from the given slice. The - /// value of `Self` will depend on the representation of the type in memory, and may change in - /// an unstable fashion. - /// - /// This will return `None` if the length of data does not match the size of `Self`, or if the - /// data is not aligned for the type of `Self`. - fn from_slice(data: &[u8]) -> Option<&Self> { - // Early out to avoid an unneeded `align_to` call. - if data.len() != size_of::() { - return None; - } - - // Safe because the ByteValued trait asserts any data is valid for this type, and we ensured - // the size of the pointer's buffer is the correct size. The `align_to` method ensures that - // we don't have any unaligned references. This aliases a pointer, but because the pointer - // is from a const slice reference, there are no mutable aliases. Finally, the reference - // returned can not outlive data because they have equal implicit lifetime constraints. - match unsafe { data.align_to::() } { - ([], [mid], []) => Some(mid), - _ => None, - } - } - - /// Converts a mutable slice of raw data into a mutable reference of `Self`. - /// - /// Because `Self` is made from a reference to the mutable slice`, mutations to the returned - /// reference are immediately reflected in `data`. The value of the returned `Self` will depend - /// on the representation of the type in memory, and may change in an unstable fashion. - /// - /// This will return `None` if the length of data does not match the size of `Self`, or if the - /// data is not aligned for the type of `Self`. - fn from_mut_slice(data: &mut [u8]) -> Option<&mut Self> { - // Early out to avoid an unneeded `align_to_mut` call. - if data.len() != size_of::() { - return None; - } - - // Safe because the ByteValued trait asserts any data is valid for this type, and we ensured - // the size of the pointer's buffer is the correct size. The `align_to` method ensures that - // we don't have any unaligned references. This aliases a pointer, but because the pointer - // is from a mut slice reference, we borrow the passed in mutable reference. Finally, the - // reference returned can not outlive data because they have equal implicit lifetime - // constraints. - match unsafe { data.align_to_mut::() } { - ([], [mid], []) => Some(mid), - _ => None, - } - } - - /// Converts a reference to `self` into a slice of bytes. - /// - /// The value of `self` is not copied. Instead, the slice is made from a reference to `self`. - /// The value of bytes in the returned slice will depend on the representation of the type in - /// memory, and may change in an unstable fashion. - fn as_slice(&self) -> &[u8] { - // Safe because the entire size of self is accessible as bytes because the trait guarantees - // it. The lifetime of the returned slice is the same as the passed reference, so that no - // dangling pointers will result from this pointer alias. - unsafe { from_raw_parts(self as *const Self as *const u8, size_of::()) } - } - - /// Converts a mutable reference to `self` into a mutable slice of bytes. - /// - /// Because the slice is made from a reference to `self`, mutations to the returned slice are - /// immediately reflected in `self`. The value of bytes in the returned slice will depend on - /// the representation of the type in memory, and may change in an unstable fashion. - fn as_mut_slice(&mut self) -> &mut [u8] { - // Safe because the entire size of self is accessible as bytes because the trait guarantees - // it. The trait also guarantees that any combination of bytes is valid for this type, so - // modifying them in the form of a byte slice is valid. The lifetime of the returned slice - // is the same as the passed reference, so that no dangling pointers will result from this - // pointer alias. Although this does alias a mutable pointer, we do so by exclusively - // borrowing the given mutable reference. - unsafe { from_raw_parts_mut(self as *mut Self as *mut u8, size_of::()) } - } -} - -/// A container to host a range of bytes and access its content. -/// -/// Candidates which may implement this trait include: -/// - anonymous memory areas -/// - mmapped memory areas -/// - data files -/// - a proxy to access memory on remote -pub trait Bytes { - /// Associated error codes - type E; - - /// Writes a slice into the container at the specified address. - /// Returns the number of bytes written. The number of bytes written can - /// be less than the length of the slice if there isn't enough room in the - /// container. - fn write(&self, buf: &[u8], addr: A) -> Result; - - /// Reads to a slice from the container at the specified address. - /// Returns the number of bytes read. The number of bytes read can be less than the length - /// of the slice if there isn't enough room within the container. - fn read(&self, buf: &mut [u8], addr: A) -> Result; - - /// Writes the entire contents of a slice into the container at the specified address. - /// - /// Returns an error if there isn't enough room within the container to complete the entire - /// write. Part of the data may have been written nevertheless. - fn write_slice(&self, buf: &[u8], addr: A) -> Result<(), Self::E>; - - /// Reads from the container at the specified address to fill the entire buffer. - /// - /// Returns an error if there isn't enough room within the container to fill the entire buffer. - /// Part of the buffer may have been filled nevertheless. - fn read_slice(&self, buf: &mut [u8], addr: A) -> Result<(), Self::E>; - - /// Writes an object into the container at the specified address. - /// Returns Ok(()) if the object fits, or Err if it extends past the end. - fn write_obj(&self, val: T, addr: A) -> Result<(), Self::E> { - self.write_slice(val.as_slice(), addr) - } - - /// Reads an object from the container at the given address. - /// Reading from a volatile area isn't strictly safe as it could change mid-read. - /// However, as long as the type T is plain old data and can handle random initialization, - /// everything will be OK. - fn read_obj(&self, addr: A) -> Result { - let mut result: T = Default::default(); - self.read_slice(result.as_mut_slice(), addr).map(|_| result) - } - - /// Writes data from a readable object like a File and writes it into the container. - /// - /// # Arguments - /// * `addr` - Begin writing at this address. - /// * `src` - Copy from `src` into the container. - /// * `count` - Copy `count` bytes from `src` into the container. - fn read_from(&self, addr: A, src: &mut F, count: usize) -> Result - where - F: Read; - - /// Writes data from a readable object like a File and writes it into the container. - /// - /// # Arguments - /// * `addr` - Begin writing at this address. - /// * `src` - Copy from `src` into the container. - /// * `count` - Copy `count` bytes from `src` into the container. - fn read_exact_from(&self, addr: A, src: &mut F, count: usize) -> Result<(), Self::E> - where - F: Read; - - /// Reads data from the container to a writable object. - /// - /// # Arguments - /// * `addr` - Begin reading from this addr. - /// * `dst` - Copy from the container to `dst`. - /// * `count` - Copy `count` bytes from the container to `dst`. - fn write_to(&self, addr: A, dst: &mut F, count: usize) -> Result - where - F: Write; - - /// Reads data from the container to a writable object. - /// - /// # Arguments - /// * `addr` - Begin reading from this addr. - /// * `dst` - Copy from the container to `dst`. - /// * `count` - Copy `count` bytes from the container to `dst`. - fn write_all_to(&self, addr: A, dst: &mut F, count: usize) -> Result<(), Self::E> - where - F: Write; -} - -// All intrinsic types and arrays of intrinsic types are ByteValued. They are just numbers. -macro_rules! array_data_init { - ($T:ty, $($N:expr)+) => { - $( - unsafe impl ByteValued for [$T; $N] {} - )+ - } -} -macro_rules! data_init_type { - ($T:ty) => { - unsafe impl ByteValued for $T {} - array_data_init! { - $T, - 0 1 2 3 4 5 6 7 8 9 - 10 11 12 13 14 15 16 17 18 19 - 20 21 22 23 24 25 26 27 28 29 - 30 31 32 - } - }; -} -data_init_type!(u8); -data_init_type!(u16); -data_init_type!(u32); -data_init_type!(u64); -data_init_type!(usize); -data_init_type!(i8); -data_init_type!(i16); -data_init_type!(i32); -data_init_type!(i64); -data_init_type!(isize); - -#[cfg(test)] -mod tests { - use std::fmt::Debug; - use std::mem::{align_of, size_of}; - use ByteValued; - - fn from_slice_alignment() - where - T: ByteValued + PartialEq + Debug + Default, - { - let mut v = [0u8; 32]; - let pre_len = { - let (pre, _, _) = unsafe { v.align_to::() }; - pre.len() - }; - { - let aligned_v = &mut v[pre_len..pre_len + size_of::()]; - { - let from_aligned = T::from_slice(aligned_v); - let val: T = Default::default(); - assert_eq!(from_aligned, Some(&val)); - } - { - let from_aligned_mut = T::from_mut_slice(aligned_v); - let mut val: T = Default::default(); - assert_eq!(from_aligned_mut, Some(&mut val)); - } - } - for i in 1..size_of::() { - let begin = pre_len + i; - let end = begin + size_of::(); - let unaligned_v = &mut v[begin..end]; - { - let from_unaligned = T::from_slice(unaligned_v); - if align_of::() != 1 { - assert_eq!(from_unaligned, None); - } - } - { - let from_unaligned_mut = T::from_mut_slice(unaligned_v); - if align_of::() != 1 { - assert_eq!(from_unaligned_mut, None); - } - } - } - } - - #[test] - fn test_slice_alignment() { - from_slice_alignment::(); - from_slice_alignment::(); - from_slice_alignment::(); - from_slice_alignment::(); - from_slice_alignment::(); - from_slice_alignment::(); - from_slice_alignment::(); - from_slice_alignment::(); - from_slice_alignment::(); - from_slice_alignment::(); - } -} diff --git a/vendor/git-89548d8276566400/vm-memory/src/endian.rs b/vendor/git-89548d8276566400/vm-memory/src/endian.rs deleted file mode 100644 index ec37acad4..000000000 --- a/vendor/git-89548d8276566400/vm-memory/src/endian.rs +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -//! Explicit endian types useful for embedding in structs or reinterpreting data. -//! -//! Each endian type is guaarnteed to have the same size and alignment as a regular unsigned -//! primitive of the equal size. -//! -//! # Examples -//! -//! ``` -//! # use vm_memory::*; -//! let b: Be32 = From::from(3); -//! let l: Le32 = From::from(3); -//! -//! assert_eq!(b.to_native(), 3); -//! assert_eq!(l.to_native(), 3); -//! assert!(b == 3); -//! assert!(l == 3); -//! -//! let b_trans: u32 = unsafe { std::mem::transmute(b) }; -//! let l_trans: u32 = unsafe { std::mem::transmute(l) }; -//! -//! #[cfg(target_endian = "little")] -//! assert_eq!(l_trans, 3); -//! #[cfg(target_endian = "big")] -//! assert_eq!(b_trans, 3); -//! -//! assert_ne!(b_trans, l_trans); -//! ``` - -use std::mem::{align_of, size_of}; - -use bytes::ByteValued; - -macro_rules! const_assert { - ($condition:expr) => { - let _ = [(); 0 - !$condition as usize]; - }; -} - -macro_rules! endian_type { - ($old_type:ident, $new_type:ident, $to_new:ident, $from_new:ident) => { - /// An unsigned integer type of with an explicit endianness. - /// - /// See module level documentation for examples. - #[derive(Copy, Clone, Eq, PartialEq, Debug, Default)] - pub struct $new_type($old_type); - - impl $new_type { - fn _assert() { - const_assert!(align_of::<$new_type>() == align_of::<$old_type>()); - const_assert!(size_of::<$new_type>() == size_of::<$old_type>()); - } - - /// Converts `self` to the native endianness. - pub fn to_native(self) -> $old_type { - $old_type::$from_new(self.0) - } - } - - unsafe impl ByteValued for $new_type {} - - impl PartialEq<$old_type> for $new_type { - fn eq(&self, other: &$old_type) -> bool { - self.0 == $old_type::$to_new(*other) - } - } - - impl PartialEq<$new_type> for $old_type { - fn eq(&self, other: &$new_type) -> bool { - $old_type::$to_new(other.0) == *self - } - } - - impl Into<$old_type> for $new_type { - fn into(self) -> $old_type { - $old_type::$from_new(self.0) - } - } - - impl From<$old_type> for $new_type { - fn from(v: $old_type) -> $new_type { - $new_type($old_type::$to_new(v)) - } - } - }; -} - -endian_type!(u16, Le16, to_le, from_le); -endian_type!(u32, Le32, to_le, from_le); -endian_type!(u64, Le64, to_le, from_le); -endian_type!(usize, LeSize, to_le, from_le); -endian_type!(u16, Be16, to_be, from_be); -endian_type!(u32, Be32, to_be, from_be); -endian_type!(u64, Be64, to_be, from_be); -endian_type!(usize, BeSize, to_be, from_be); - -#[cfg(test)] -mod tests { - use super::*; - - use std::convert::From; - use std::mem::transmute; - - #[cfg(target_endian = "little")] - const NATIVE_LITTLE: bool = true; - #[cfg(target_endian = "big")] - const NATIVE_LITTLE: bool = false; - const NATIVE_BIG: bool = !NATIVE_LITTLE; - - macro_rules! endian_test { - ($old_type:ty, $new_type:ty, $test_name:ident, $native:expr) => { - mod $test_name { - use super::*; - - #[allow(overflowing_literals)] - #[test] - fn equality() { - let v = 0x0123_4567_89AB_CDEF as $old_type; - let endian_v: $new_type = From::from(v); - let endian_into: $old_type = endian_v.into(); - let endian_transmute: $old_type = unsafe { transmute(endian_v) }; - - if $native { - assert_eq!(endian_v, endian_transmute); - } else { - assert_eq!(endian_v, endian_transmute.swap_bytes()); - } - - assert_eq!(v, endian_into); - assert!(v == endian_v); - assert!(endian_v == v); - } - } - }; - } - - endian_test!(u16, Le16, test_le16, NATIVE_LITTLE); - endian_test!(u32, Le32, test_le32, NATIVE_LITTLE); - endian_test!(u64, Le64, test_le64, NATIVE_LITTLE); - endian_test!(usize, LeSize, test_le_size, NATIVE_LITTLE); - endian_test!(u16, Be16, test_be16, NATIVE_BIG); - endian_test!(u32, Be32, test_be32, NATIVE_BIG); - endian_test!(u64, Be64, test_be64, NATIVE_BIG); - endian_test!(usize, BeSize, test_be_size, NATIVE_BIG); -} diff --git a/vendor/git-89548d8276566400/vm-memory/src/guest_memory.rs b/vendor/git-89548d8276566400/vm-memory/src/guest_memory.rs deleted file mode 100644 index 5e97a2849..000000000 --- a/vendor/git-89548d8276566400/vm-memory/src/guest_memory.rs +++ /dev/null @@ -1,515 +0,0 @@ -// Copyright (C) 2019 Alibaba Cloud Computing. All rights reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the THIRD-PARTY file. - -//! Traits to track and access guest's physical memory. -//! -//! To make the abstraction as generic as possible, all the core traits declared here only define -//! methods to access guest's memory, and never define methods to manage (create, delete, insert, -//! remove etc) guest's memory. By this way, the guest memory consumers (virtio device drivers, -//! vhost drivers and boot loaders etc) may be decoupled from the guest memory provider (typically -//! a hypervisor). -//! -//! Traits and Structs -//! - [GuestAddress](struct.GuestAddress.html): represents a guest physical address (GPA). -//! - [MemoryRegionAddress](struct.MemoryRegionAddress.html): represents an offset inside a region. -//! - [GuestMemoryRegion](trait.GuestMemoryRegion.html): represent a continuous region of guest's -//! physical memory. -//! - [GuestMemory](trait.GuestMemroy.html): represent a collection of GuestMemoryRegion objects. -//! The main responsibilities of the GuestMemory trait are: -//! - hide the detail of accessing guest's physical address. -//! - map a request address to a GuestMemoryRegion object and relay the request to it. -//! - handle cases where an access request spanning two or more GuestMemoryRegion objects. - -use std::convert::From; -use std::fmt::{self, Display}; -use std::io::{self, Read, Write}; -use std::ops::{BitAnd, BitOr}; - -use address::{Address, AddressValue}; -use bytes::Bytes; -use volatile_memory; - -static MAX_ACCESS_CHUNK: usize = 4096; - -/// Errors associated with handling guest memory accesses. -#[allow(missing_docs)] -#[derive(Debug)] -pub enum Error { - /// Failure in finding a guest address in any memory regions mapped by this guest. - InvalidGuestAddress(GuestAddress), - /// Couldn't read/write from the given source. - IOError(io::Error), - /// Incomplete read or write - PartialBuffer { expected: usize, completed: usize }, - /// Requested backend address is out of range. - InvalidBackendAddress, -} - -impl From for Error { - fn from(e: volatile_memory::Error) -> Self { - match e { - volatile_memory::Error::OutOfBounds { .. } => Error::InvalidBackendAddress, - volatile_memory::Error::Overflow { .. } => Error::InvalidBackendAddress, - volatile_memory::Error::IOError(e) => Error::IOError(e), - volatile_memory::Error::PartialBuffer { - expected, - completed, - } => Error::PartialBuffer { - expected, - completed, - }, - } - } -} - -/// Result of guest memory operations -pub type Result = std::result::Result; - -impl std::error::Error for Error {} - -impl Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "Guest memory error: ")?; - match self { - Error::InvalidGuestAddress(addr) => { - write!(f, "invalid guest address {}", addr.raw_value()) - } - Error::IOError(error) => write!(f, "{}", error), - Error::PartialBuffer { - expected, - completed, - } => write!( - f, - "only used {} bytes in {} long buffer", - completed, expected, - ), - Error::InvalidBackendAddress => write!(f, "invalid backend address"), - } - } -} - -/// Represents a guest physical address (GPA). -/// -/// Notes: -/// - On ARM64, a 32-bit hypervisor may be used to support a 64-bit guest. For simplicity, -/// u64 is used to store the the raw value no matter if the guest a 32-bit or 64-bit virtual -/// machine. -#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd)] -pub struct GuestAddress(pub u64); -impl_address_ops!(GuestAddress, u64); - -/// Represents an offset inside a region. -#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd)] -pub struct MemoryRegionAddress(pub u64); -impl_address_ops!(MemoryRegionAddress, u64); - -/// Type of the raw value stored in a GuestAddress object. -pub type GuestUsize = ::V; - -/// Represents a continuous region of guest physical memory. -#[allow(clippy::len_without_is_empty)] -pub trait GuestMemoryRegion: Bytes { - /// Get the size of the region. - fn len(&self) -> GuestUsize; - - /// Get minimum (inclusive) address managed by the region. - fn start_addr(&self) -> GuestAddress; - - /// Get maximum (inclusive) address managed by the region. - fn end_addr(&self) -> GuestAddress { - // unchecked_add is safe as the region bounds were checked when it was created. - self.start_addr().unchecked_add(self.len() - 1) - } - - /// Returns the given address if it is within the memory range accessible - /// through this region. - fn check_address(&self, addr: MemoryRegionAddress) -> Option { - if self.address_in_range(addr) { - Some(addr) - } else { - None - } - } - - /// Returns true if the given address is within the memory range accessible - /// through this region. - fn address_in_range(&self, addr: MemoryRegionAddress) -> bool { - addr.raw_value() < self.len() - } - - /// Returns the address plus the offset if it is in range. - fn checked_offset( - &self, - base: MemoryRegionAddress, - offset: usize, - ) -> Option { - base.checked_add(offset as u64) - .and_then(|addr| self.check_address(addr)) - } - - /// Convert an absolute address into an address space (GuestMemory) - /// to a relative address within this region, or return an error if - /// it is out of bounds. - fn to_region_addr(&self, addr: GuestAddress) -> Option { - addr.checked_offset_from(self.start_addr()) - .and_then(|offset| self.check_address(MemoryRegionAddress(offset))) - } - - /// Return a slice corresponding to the data in the region; unsafe because of - /// possible aliasing. Return None if the region does not support slice-based - /// access. - unsafe fn as_slice(&self) -> Option<&[u8]> { - None - } - - /// Return a mutable slice corresponding to the data in the region; unsafe because of - /// possible aliasing. Return None if the region does not support slice-based - /// access. - unsafe fn as_mut_slice(&self) -> Option<&mut [u8]> { - None - } -} - -/// Represents a container for a collection of GuestMemoryRegion objects. -/// -/// The main responsibilities of the GuestMemory trait are: -/// - hide the detail of accessing guest's physical address. -/// - map a request address to a GuestMemoryRegion object and relay the request to it. -/// - handle cases where an access request spanning two or more GuestMemoryRegion objects. -/// -/// Note: all regions in a GuestMemory object must not intersect with each other. -pub trait GuestMemory { - /// Type of objects hosted by the address space. - type R: GuestMemoryRegion; - - /// Returns the number of regions in the collection. - fn num_regions(&self) -> usize; - - /// Return the region containing the specified address or None. - fn find_region(&self, addr: GuestAddress) -> Option<&Self::R>; - - /// Perform the specified action on each region. - /// It only walks children of current region and do not step into sub regions. - fn with_regions(&self, cb: F) -> std::result::Result<(), E> - where - F: Fn(usize, &Self::R) -> std::result::Result<(), E>; - - /// Perform the specified action on each region mutably. - /// It only walks children of current region and do not step into sub regions. - fn with_regions_mut(&self, cb: F) -> std::result::Result<(), E> - where - F: FnMut(usize, &Self::R) -> std::result::Result<(), E>; - - /// Applies two functions, specified as callbacks, on the inner memory regions. - /// - /// # Arguments - /// * `init` - Starting value of the accumulator for the `foldf` function. - /// * `mapf` - "Map" function, applied to all the inner memory regions. It returns an array of - /// the same size as the memory regions array, containing the function's results - /// for each region. - /// * `foldf` - "Fold" function, applied to the array returned by `mapf`. It acts as an - /// operator, applying itself to the `init` value and to each subsequent elemnent - /// in the array returned by `mapf`. - /// - /// # Examples - /// - /// * Compute the total size of all memory mappings in KB by iterating over the memory regions - /// and dividing their sizes to 1024, then summing up the values in an accumulator. - /// - /// ``` - /// # #[cfg(feature = "backend-mmap")] - /// # fn test_map_fold() -> Result<(), ()> { - /// # use vm_memory::{GuestAddress, GuestMemory, GuestMemoryRegion, mmap::GuestMemoryMmap}; - /// let start_addr1 = GuestAddress(0x0); - /// let start_addr2 = GuestAddress(0x400); - /// let mem = GuestMemoryMmap::new(&vec![(start_addr1, 1024), (start_addr2, 2048)]).unwrap(); - /// let total_size = mem.map_and_fold( - /// 0, - /// |(_, region)| region.len() / 1024, - /// |acc, size| acc + size - /// ); - /// println!("Total memory size = {} KB", total_size); - /// Ok(()) - /// # } - /// ``` - fn map_and_fold(&self, init: T, mapf: F, foldf: G) -> T - where - F: Fn((usize, &Self::R)) -> T, - G: Fn(T, T) -> T; - - /// Get maximum (inclusive) address managed by the region. - fn end_addr(&self) -> GuestAddress { - self.map_and_fold( - GuestAddress(0), - |(_, region)| region.end_addr(), - std::cmp::max, - ) - } - - /// Convert an absolute address into an address space (GuestMemory) - /// to a relative address within this region, or return None if - /// it is out of bounds. - fn to_region_addr(&self, addr: GuestAddress) -> Option<(&Self::R, MemoryRegionAddress)> { - self.find_region(addr) - .map(|r| (r, r.to_region_addr(addr).unwrap())) - } - - /// Returns true if the given address is within the memory range available to the guest. - fn address_in_range(&self, addr: GuestAddress) -> bool { - self.find_region(addr).is_some() - } - - /// Returns the given address if it is within the memory range available to the guest. - fn check_address(&self, addr: GuestAddress) -> Option { - self.find_region(addr).map(|_| addr) - } - - /// Returns the address plus the offset if it is in range. - fn checked_offset(&self, base: GuestAddress, offset: usize) -> Option { - base.checked_add(offset as u64) - .and_then(|addr| self.check_address(addr)) - } - - /// Invoke callback `f` to handle data in the address range [addr, addr + count). - /// - /// The address range [addr, addr + count) may span more than one GuestMemoryRegion objects, or - /// even has holes within it. So try_access() invokes the callback 'f' for each GuestMemoryRegion - /// object involved and returns: - /// - error code returned by the callback 'f' - /// - size of data already handled when encountering the first hole - /// - size of data already handled when the whole range has been handled - fn try_access(&self, count: usize, addr: GuestAddress, mut f: F) -> Result - where - F: FnMut(usize, usize, MemoryRegionAddress, &Self::R) -> Result, - { - let mut cur = addr; - let mut total = 0; - while let Some(region) = self.find_region(cur) { - let start = region.to_region_addr(cur).unwrap(); - let cap = region.len() as usize; - let len = std::cmp::min(cap, count - total); - match f(total, len, start, region) { - // no more data - Ok(0) => break, - // made some progress - Ok(len) => { - total += len; - if total == count { - break; - } - cur = match cur.overflowing_add(len as GuestUsize) { - (GuestAddress(0), _) => GuestAddress(0), - (result, false) => result, - (_, true) => panic!("guest address overflow"), - } - } - // error happened - e => return e, - } - } - if total == 0 { - Err(Error::InvalidGuestAddress(addr)) - } else { - Ok(total) - } - } -} - -impl Bytes for T { - type E = Error; - - fn write(&self, buf: &[u8], addr: GuestAddress) -> Result { - self.try_access( - buf.len(), - addr, - |offset, _count, caddr, region| -> Result { - region.write(&buf[offset as usize..], caddr) - }, - ) - } - - fn read(&self, buf: &mut [u8], addr: GuestAddress) -> Result { - self.try_access( - buf.len(), - addr, - |offset, _count, caddr, region| -> Result { - region.read(&mut buf[offset as usize..], caddr) - }, - ) - } - - fn write_slice(&self, buf: &[u8], addr: GuestAddress) -> Result<()> { - let res = self.write(buf, addr)?; - if res != buf.len() { - return Err(Error::PartialBuffer { - expected: buf.len(), - completed: res, - }); - } - Ok(()) - } - - fn read_slice(&self, buf: &mut [u8], addr: GuestAddress) -> Result<()> { - let res = self.read(buf, addr)?; - if res != buf.len() { - return Err(Error::PartialBuffer { - expected: buf.len(), - completed: res, - }); - } - Ok(()) - } - - fn read_from(&self, addr: GuestAddress, src: &mut F, count: usize) -> Result - where - F: Read, - { - self.try_access(count, addr, |offset, len, caddr, region| -> Result { - // Check if something bad happened before doing unsafe things. - assert!(offset < count); - if let Some(dst) = unsafe { region.as_mut_slice() } { - // This is safe cause `start` and `len` are within the `region`. - let start = caddr.raw_value() as usize; - let end = start + len; - src.read_exact(&mut dst[start..end]) - .map_err(Error::IOError)?; - Ok(len) - } else { - let len = std::cmp::min(len, MAX_ACCESS_CHUNK); - let mut buf = vec![0u8; len].into_boxed_slice(); - let bytes_read = src.read(&mut buf[..]).map_err(Error::IOError)?; - let bytes_written = region.write(&buf[0..bytes_read], caddr)?; - assert_eq!(bytes_written, bytes_read); - Ok(len) - } - }) - } - - fn read_exact_from(&self, addr: GuestAddress, src: &mut F, count: usize) -> Result<()> - where - F: Read, - { - let res = self.read_from(addr, src, count)?; - if res != count { - return Err(Error::PartialBuffer { - expected: count, - completed: res, - }); - } - Ok(()) - } - - fn write_to(&self, addr: GuestAddress, dst: &mut F, count: usize) -> Result - where - F: Write, - { - self.try_access(count, addr, |offset, len, caddr, region| -> Result { - // Check if something bad happened before doing unsafe things. - assert!(offset < count); - if let Some(src) = unsafe { region.as_slice() } { - // This is safe cause `start` and `len` are within the `region`. - let start = caddr.raw_value() as usize; - let end = start + len; - // It is safe to read from volatile memory. Accessing the guest - // memory as a slice is OK because nothing assumes another thread - // won't change what is loaded. - let bytes_written = dst.write(&src[start..end]).map_err(Error::IOError)?; - Ok(bytes_written) - } else { - let len = std::cmp::min(len, MAX_ACCESS_CHUNK); - let mut buf = vec![0u8; len].into_boxed_slice(); - let bytes_read = region.read(&mut buf, caddr)?; - assert_eq!(bytes_read, len); - let bytes_written = dst.write(&buf).map_err(Error::IOError)?; - Ok(bytes_written) - } - }) - } - - fn write_all_to(&self, addr: GuestAddress, dst: &mut F, count: usize) -> Result<()> - where - F: Write, - { - let res = self.write_to(addr, dst, count)?; - if res != count { - return Err(Error::PartialBuffer { - expected: count, - completed: res, - }); - } - Ok(()) - } -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn offset_from() { - let base = GuestAddress(0x100); - let addr = GuestAddress(0x150); - assert_eq!(addr.unchecked_offset_from(base), 0x50u64); - assert_eq!(addr.checked_offset_from(base), Some(0x50u64)); - assert_eq!(base.checked_offset_from(addr), None); - } - - #[test] - fn equals() { - let a = GuestAddress(0x300); - let b = GuestAddress(0x300); - let c = GuestAddress(0x301); - assert_eq!(a, GuestAddress(a.raw_value())); - assert_eq!(a, b); - assert_eq!(b, a); - assert_ne!(a, c); - assert_ne!(c, a); - } - - #[test] - #[allow(clippy::eq_op)] - fn cmp() { - let a = GuestAddress(0x300); - let b = GuestAddress(0x301); - assert!(a < b); - assert!(b > a); - assert!(!(a < a)); - } - - #[test] - fn mask() { - let a = GuestAddress(0x5050); - assert_eq!(GuestAddress(0x5000), a & 0xff00u64); - assert_eq!(0x5000, a.mask(0xff00u64)); - assert_eq!(GuestAddress(0x5055), a | 0x0005u64); - } - - #[test] - fn add_sub() { - let a = GuestAddress(0x50); - let b = GuestAddress(0x60); - assert_eq!(Some(GuestAddress(0xb0)), a.checked_add(0x60)); - assert_eq!(0x10, b.unchecked_offset_from(a)); - } - - #[test] - fn checked_add_overflow() { - let a = GuestAddress(0xffff_ffff_ffff_ff55); - assert_eq!(Some(GuestAddress(0xffff_ffff_ffff_ff57)), a.checked_add(2)); - assert!(a.checked_add(0xf0).is_none()); - } - - #[test] - fn checked_sub_underflow() { - let a = GuestAddress(0xff); - assert_eq!(Some(GuestAddress(0x0f)), a.checked_sub(0xf0)); - assert!(a.checked_sub(0xffff).is_none()); - } -} diff --git a/vendor/git-89548d8276566400/vm-memory/src/lib.rs b/vendor/git-89548d8276566400/vm-memory/src/lib.rs deleted file mode 100644 index 2fc57ffad..000000000 --- a/vendor/git-89548d8276566400/vm-memory/src/lib.rs +++ /dev/null @@ -1,57 +0,0 @@ -// Portions Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the THIRD-PARTY file. - -//! Traits for allocating, handling and interacting with the VM's physical memory. -//! -//! For a typical hypervisor, there are seveval components, such as boot loader, virtual device -//! drivers, virtio backend drivers and vhost drivers etc, that need to access VM's physical memory. -//! This crate aims to provide a set of stable traits to decouple VM memory consumers from VM -//! memory providers. Based on these traits, VM memory consumers could access VM's physical memory -//! without knowing the implementation details of the VM memory provider. Thus hypervisor -//! components, such as boot loader, virtual device drivers, virtio backend drivers and vhost -//! drivers etc, could be shared and reused by multiple hypervisors. - -#![deny(missing_docs)] - -extern crate libc; - -#[cfg(test)] -#[macro_use] -extern crate matches; - -#[macro_use] -pub mod address; -pub use address::{Address, AddressValue}; - -pub mod bytes; -pub use bytes::{ByteValued, Bytes}; - -pub mod endian; -pub use endian::{Be16, Be32, Be64, BeSize, Le16, Le32, Le64, LeSize}; - -pub mod guest_memory; -pub use guest_memory::{ - Error as GuestMemoryError, GuestAddress, GuestMemory, GuestMemoryRegion, GuestUsize, - MemoryRegionAddress, Result as GuestMemoryResult, -}; - -#[cfg(all(feature = "backend-mmap", unix))] -mod mmap_unix; - -#[cfg(all(feature = "backend-mmap", windows))] -mod mmap_windows; - -#[cfg(feature = "backend-mmap")] -pub mod mmap; -#[cfg(feature = "backend-mmap")] -pub use mmap::{GuestMemoryMmap, GuestRegionMmap, MmapError, MmapRegion}; - -pub mod volatile_memory; -pub use volatile_memory::{ - Error as VolatileMemoryError, Result as VolatileMemoryResult, VolatileMemory, VolatileRef, - VolatileSlice, -}; diff --git a/vendor/git-89548d8276566400/vm-memory/src/mmap.rs b/vendor/git-89548d8276566400/vm-memory/src/mmap.rs deleted file mode 100644 index 1a60e57e4..000000000 --- a/vendor/git-89548d8276566400/vm-memory/src/mmap.rs +++ /dev/null @@ -1,681 +0,0 @@ -// Copyright (C) 2019 Alibaba Cloud Computing. All rights reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the THIRD-PARTY file. - -//! A default implementation of the GuestMemory trait by mmap()-ing guest's memory into the current -//! process. -//! -//! The main structs to access guest's memory are: -//! - [MmapRegion](struct.MmapRegion.html): mmap a continuous region of guest's memory into the -//! current process -//! - [GuestRegionMmap](struct.GuestRegionMmap.html): tracks a mapping of memory in the current -//! process and the corresponding base address. It relays guest memory access requests to the -//! underline [MmapRegion](struct.MmapRegion.html) object. -//! - [GuestMemoryMmap](struct.GuestMemoryMmap.html): provides methods to access a collection of -//! GuestRegionMmap objects. - -use std::io::{self, Read, Write}; -use std::ops::Deref; -use std::sync::Arc; - -use address::Address; -use guest_memory::*; -use volatile_memory::VolatileMemory; -use Bytes; - -#[cfg(unix)] -pub use mmap_unix::MmapRegion; - -#[cfg(windows)] -pub use mmap_windows::MmapRegion; - -// For MmapRegion -pub(crate) trait AsSlice { - unsafe fn as_slice(&self) -> &[u8]; - - #[allow(clippy::mut_from_ref)] - unsafe fn as_mut_slice(&self) -> &mut [u8]; -} - -/// Errors that can happen when creating a memory map -#[derive(Debug)] -pub enum MmapError { - /// Syscall returned the given error. - SystemCallFailed(io::Error), - /// No memory region found. - NoMemoryRegion, - /// Some of the memory regions intersect with each other. - MemoryRegionOverlap, -} - -/// Tracks a mapping of memory in the current process and the corresponding base address -/// in the guest's memory space. -#[derive(Debug)] -pub struct GuestRegionMmap { - mapping: MmapRegion, - guest_base: GuestAddress, -} - -impl GuestRegionMmap { - /// Create a new memory-mapped memory region for guest's physical memory. - /// Note: caller needs to ensure that (mapping.len() + guest_base) doesn't wrapping around. - pub fn new(mapping: MmapRegion, guest_base: GuestAddress) -> Self { - GuestRegionMmap { - mapping, - guest_base, - } - } - - /// Convert an absolute address into an address space (GuestMemory) - /// to a host pointer, or return None if it is out of bounds. - pub fn get_host_address(&self, addr: MemoryRegionAddress) -> Option<*mut u8> { - // Not sure why wrapping_offset is not unsafe. Anyway this - // is safe because we've just range-checked addr using check_address. - self.check_address(addr) - .map(|addr| self.as_ptr().wrapping_offset(addr.raw_value() as isize)) - } -} - -impl Deref for GuestRegionMmap { - type Target = MmapRegion; - - fn deref(&self) -> &MmapRegion { - &self.mapping - } -} - -impl Bytes for GuestRegionMmap { - type E = Error; - - /// # Examples - /// * Write a slice at guest address 0x1200. - /// - /// ``` - /// # use vm_memory::{Bytes, GuestAddress, GuestMemoryMmap}; - /// # let start_addr = GuestAddress(0x1000); - /// # let mut gm = GuestMemoryMmap::new(&vec![(start_addr, 0x400)]).unwrap(); - /// let res = gm.write(&[1,2,3,4,5], GuestAddress(0x1200)).unwrap(); - /// assert_eq!(5, res); - /// ``` - fn write(&self, buf: &[u8], addr: MemoryRegionAddress) -> Result { - let maddr = addr.raw_value() as usize; - self.as_volatile_slice() - .write(buf, maddr) - .map_err(Into::into) - } - - /// # Examples - /// * Read a slice of length 16 at guestaddress 0x1200. - /// - /// ``` - /// # use vm_memory::{Bytes, GuestAddress, GuestMemoryMmap}; - /// # let start_addr = GuestAddress(0x1000); - /// # let mut gm = GuestMemoryMmap::new(&vec![(start_addr, 0x400)]).unwrap(); - /// let buf = &mut [0u8; 16]; - /// let res = gm.read(buf, GuestAddress(0x1200)).unwrap(); - /// assert_eq!(16, res); - /// ``` - fn read(&self, buf: &mut [u8], addr: MemoryRegionAddress) -> Result { - let maddr = addr.raw_value() as usize; - self.as_volatile_slice() - .read(buf, maddr) - .map_err(Into::into) - } - - fn write_slice(&self, buf: &[u8], addr: MemoryRegionAddress) -> Result<()> { - let maddr = addr.raw_value() as usize; - self.as_volatile_slice() - .write_slice(buf, maddr) - .map_err(Into::into) - } - - fn read_slice(&self, buf: &mut [u8], addr: MemoryRegionAddress) -> Result<()> { - let maddr = addr.raw_value() as usize; - self.as_volatile_slice() - .read_slice(buf, maddr) - .map_err(Into::into) - } - - /// # Examples - /// - /// * Read bytes from /dev/urandom - /// - /// ``` - /// # use vm_memory::{Address, Bytes, GuestAddress, GuestMemoryMmap}; - /// # use std::fs::File; - /// # use std::path::Path; - /// # let start_addr = GuestAddress(0x1000); - /// # let gm = GuestMemoryMmap::new(&vec![(start_addr, 0x400)]).unwrap(); - /// let mut file = if cfg!(unix) { - /// File::open(Path::new("/dev/urandom")).unwrap() - /// } else { - /// File::open(Path::new("c:\\Windows\\system32\\ntoskrnl.exe")).unwrap() - /// }; - /// let addr = GuestAddress(0x1010); - /// gm.read_from(addr, &mut file, 128).unwrap(); - /// let read_addr = addr.checked_add(8).unwrap(); - /// let _: u32 = gm.read_obj(read_addr).unwrap(); - /// ``` - fn read_from(&self, addr: MemoryRegionAddress, src: &mut F, count: usize) -> Result - where - F: Read, - { - let maddr = addr.raw_value() as usize; - self.as_volatile_slice() - .read_from::(maddr, src, count) - .map_err(Into::into) - } - - /// # Examples - /// - /// * Read bytes from /dev/urandom - /// - /// ``` - /// # extern crate tempfile; - /// # use self::tempfile::tempfile; - /// # use vm_memory::{Address, Bytes, GuestAddress, GuestMemoryMmap}; - /// # use std::fs::File; - /// # use std::path::Path; - /// # let start_addr = GuestAddress(0x1000); - /// # let gm = GuestMemoryMmap::new(&vec![(start_addr, 0x400)]).unwrap(); - /// let mut file = if cfg!(unix) { - /// File::open(Path::new("/dev/urandom")).unwrap() - /// } else { - /// File::open(Path::new("c:\\Windows\\system32\\ntoskrnl.exe")).unwrap() - /// }; - /// let addr = GuestAddress(0x1010); - /// gm.read_exact_from(addr, &mut file, 128).unwrap(); - /// let read_addr = addr.checked_add(8).unwrap(); - /// let _: u32 = gm.read_obj(read_addr).unwrap(); - /// ``` - fn read_exact_from(&self, addr: MemoryRegionAddress, src: &mut F, count: usize) -> Result<()> - where - F: Read, - { - let maddr = addr.raw_value() as usize; - self.as_volatile_slice() - .read_exact_from::(maddr, src, count) - .map_err(Into::into) - } - - /// Writes data from the region to a writable object. - /// - /// # Examples - /// - /// * Write 128 bytes to a temp file - /// - /// ``` - /// # extern crate tempfile; - /// # use self::tempfile::tempfile; - /// # use vm_memory::{Address, Bytes, GuestAddress, GuestMemoryMmap}; - /// # use std::fs::OpenOptions; - /// # let start_addr = GuestAddress(0x1000); - /// # let gm = GuestMemoryMmap::new(&vec![(start_addr, 0x400)]).unwrap(); - /// let mut file = tempfile().unwrap(); - /// let mut mem = [0u8; 1024]; - /// gm.write_to(start_addr, &mut file, 128).unwrap(); - /// ``` - fn write_to(&self, addr: MemoryRegionAddress, dst: &mut F, count: usize) -> Result - where - F: Write, - { - let maddr = addr.raw_value() as usize; - self.as_volatile_slice() - .write_to::(maddr, dst, count) - .map_err(Into::into) - } - - /// Writes data from the region to a writable object. - /// - /// # Examples - /// - /// * Write 128 bytes to a temp file - /// - /// ``` - /// # extern crate tempfile; - /// # use self::tempfile::tempfile; - /// # use vm_memory::{Address, Bytes, GuestAddress, GuestMemoryMmap}; - /// # use std::fs::OpenOptions; - /// # let start_addr = GuestAddress(0x1000); - /// # let gm = GuestMemoryMmap::new(&vec![(start_addr, 0x400)]).unwrap(); - /// let mut file = tempfile().unwrap(); - /// let mut mem = [0u8; 1024]; - /// gm.write_all_to(start_addr, &mut file, 128).unwrap(); - /// ``` - fn write_all_to(&self, addr: MemoryRegionAddress, dst: &mut F, count: usize) -> Result<()> - where - F: Write, - { - let maddr = addr.raw_value() as usize; - self.as_volatile_slice() - .write_all_to::(maddr, dst, count) - .map_err(Into::into) - } -} - -impl GuestMemoryRegion for GuestRegionMmap { - fn len(&self) -> GuestUsize { - self.mapping.len() as GuestUsize - } - - fn start_addr(&self) -> GuestAddress { - self.guest_base - } - - unsafe fn as_slice(&self) -> Option<&[u8]> { - Some(self.mapping.as_slice()) - } - - unsafe fn as_mut_slice(&self) -> Option<&mut [u8]> { - Some(self.mapping.as_mut_slice()) - } -} - -/// Tracks memory regions allocated/mapped for the guest in the current process. -#[derive(Clone, Debug)] -pub struct GuestMemoryMmap { - regions: Arc>, -} - -impl GuestMemoryMmap { - /// Creates a container and allocates anonymous memory for guest memory regions. - /// Valid memory regions are specified as a Vec of (Address, Size) tuples sorted by Address. - pub fn new(ranges: &[(GuestAddress, usize)]) -> std::result::Result { - if ranges.is_empty() { - return Err(MmapError::NoMemoryRegion); - } - - let mut regions = Vec::::new(); - for range in ranges.iter() { - if let Some(last) = regions.last() { - if last - .guest_base - .checked_add(last.mapping.len() as GuestUsize) - .map_or(true, |a| a > range.0) - { - return Err(MmapError::MemoryRegionOverlap); - } - } - - let mapping = MmapRegion::new(range.1).map_err(MmapError::SystemCallFailed)?; - regions.push(GuestRegionMmap { - mapping, - guest_base: range.0, - }); - } - - Ok(Self { - regions: Arc::new(regions), - }) - } - - /// Creates a container and adds an existing set of mappings to it. - pub fn from_regions(ranges: Vec) -> std::result::Result { - if ranges.is_empty() { - return Err(MmapError::NoMemoryRegion); - } - - for rangei in 1..ranges.len() { - let range = &ranges[rangei]; - let last = &ranges[rangei - 1]; - if last - .guest_base - .checked_add(last.mapping.len() as GuestUsize) - .map_or(true, |a| a > range.start_addr()) - { - return Err(MmapError::MemoryRegionOverlap); - } - } - - Ok(Self { - regions: Arc::new(ranges), - }) - } - - /// Convert an absolute address into an address space (GuestMemory) - /// to a host pointer, or return None if it is out of bounds. - pub fn get_host_address(&self, addr: GuestAddress) -> Option<*mut u8> { - self.to_region_addr(addr) - .and_then(|(r, addr)| r.get_host_address(addr)) - } -} - -impl GuestMemory for GuestMemoryMmap { - type R = GuestRegionMmap; - - fn num_regions(&self) -> usize { - self.regions.len() - } - - fn find_region(&self, addr: GuestAddress) -> Option<&GuestRegionMmap> { - for region in self.regions.iter() { - if addr >= region.start_addr() && addr <= region.end_addr() { - return Some(region); - } - } - None - } - - fn with_regions(&self, cb: F) -> std::result::Result<(), E> - where - F: Fn(usize, &Self::R) -> std::result::Result<(), E>, - { - for (index, region) in self.regions.iter().enumerate() { - cb(index, region)?; - } - Ok(()) - } - - fn with_regions_mut(&self, mut cb: F) -> std::result::Result<(), E> - where - F: FnMut(usize, &Self::R) -> std::result::Result<(), E>, - { - for (index, region) in self.regions.iter().enumerate() { - cb(index, region)?; - } - Ok(()) - } - - fn map_and_fold(&self, init: T, mapf: F, foldf: G) -> T - where - F: Fn((usize, &Self::R)) -> T, - G: Fn(T, T) -> T, - { - self.regions.iter().enumerate().map(mapf).fold(init, foldf) - } -} - -#[cfg(test)] -mod tests { - extern crate tempfile; - - use self::tempfile::tempfile; - use super::*; - use std::fs::File; - use std::mem; - use std::path::Path; - - use Bytes; - - #[test] - fn basic_map() { - let m = MmapRegion::new(1024).unwrap(); - assert_eq!(1024, m.len()); - } - - #[test] - fn map_invalid_size() { - let e = MmapRegion::new(0).unwrap_err(); - assert_eq!(e.raw_os_error(), Some(libc::EINVAL)); - } - - #[test] - fn slice_addr() { - let m = MmapRegion::new(5).unwrap(); - let s = m.get_slice(2, 3).unwrap(); - assert_eq!(s.as_ptr(), unsafe { m.as_ptr().offset(2) }); - } - - #[test] - fn mapped_file_read() { - let mut f = tempfile().unwrap(); - let sample_buf = &[1, 2, 3, 4, 5]; - assert!(f.write_all(sample_buf).is_ok()); - - let mem_map = MmapRegion::from_fd(&f, sample_buf.len(), 0).unwrap(); - let buf = &mut [0u8; 16]; - assert_eq!( - mem_map.as_volatile_slice().read(buf, 0).unwrap(), - sample_buf.len() - ); - assert_eq!(buf[0..sample_buf.len()], sample_buf[..]); - } - - #[test] - fn test_regions() { - // No regions provided should return error. - assert_eq!( - format!("{:?}", GuestMemoryMmap::new(&[]).err().unwrap()), - format!("{:?}", MmapError::NoMemoryRegion) - ); - - let start_addr1 = GuestAddress(0x0); - let start_addr2 = GuestAddress(0x800); - let guest_mem = - GuestMemoryMmap::new(&[(start_addr1, 0x400), (start_addr2, 0x400)]).unwrap(); - assert_eq!(guest_mem.num_regions(), 2); - assert_eq!(guest_mem.end_addr(), GuestAddress(0xbff)); - assert!(guest_mem.find_region(GuestAddress(0x200)).is_some()); - assert!(guest_mem.find_region(GuestAddress(0x600)).is_none()); - assert!(guest_mem.find_region(GuestAddress(0xa00)).is_some()); - assert!(guest_mem.find_region(GuestAddress(0xc00)).is_none()); - } - - #[test] - fn test_address_in_range() { - let start_addr1 = GuestAddress(0x0); - let start_addr2 = GuestAddress(0x800); - let guest_mem = - GuestMemoryMmap::new(&[(start_addr1, 0x400), (start_addr2, 0x400)]).unwrap(); - assert!(guest_mem.address_in_range(GuestAddress(0x200))); - assert!(!guest_mem.address_in_range(GuestAddress(0x600))); - assert!(guest_mem.address_in_range(GuestAddress(0xa00))); - assert!(!guest_mem.address_in_range(GuestAddress(0xc00))); - } - - #[test] - fn test_check_address() { - let start_addr1 = GuestAddress(0x0); - let start_addr2 = GuestAddress(0x800); - let guest_mem = - GuestMemoryMmap::new(&[(start_addr1, 0x400), (start_addr2, 0x400)]).unwrap(); - assert_eq!( - guest_mem.check_address(GuestAddress(0x200)), - Some(GuestAddress(0x200)) - ); - assert_eq!(guest_mem.check_address(GuestAddress(0x600)), None); - assert_eq!( - guest_mem.check_address(GuestAddress(0xa00)), - Some(GuestAddress(0xa00)) - ); - assert_eq!(guest_mem.check_address(GuestAddress(0xc00)), None); - } - - #[test] - fn test_to_region_addr() { - let start_addr1 = GuestAddress(0x0); - let start_addr2 = GuestAddress(0x800); - let guest_mem = - GuestMemoryMmap::new(&[(start_addr1, 0x400), (start_addr2, 0x400)]).unwrap(); - assert!(guest_mem.to_region_addr(GuestAddress(0x600)).is_none()); - let (r0, addr0) = guest_mem.to_region_addr(GuestAddress(0x800)).unwrap(); - let (r1, addr1) = guest_mem.to_region_addr(GuestAddress(0xa00)).unwrap(); - assert!(r0.as_ptr() == r1.as_ptr()); - assert_eq!(addr0, MemoryRegionAddress(0)); - assert_eq!(addr1, MemoryRegionAddress(0x200)); - } - - #[test] - fn test_get_host_address() { - let start_addr1 = GuestAddress(0x0); - let start_addr2 = GuestAddress(0x800); - let guest_mem = - GuestMemoryMmap::new(&[(start_addr1, 0x400), (start_addr2, 0x400)]).unwrap(); - assert!(guest_mem.get_host_address(GuestAddress(0x600)).is_none()); - let ptr0 = guest_mem.get_host_address(GuestAddress(0x800)).unwrap(); - let ptr1 = guest_mem.get_host_address(GuestAddress(0xa00)).unwrap(); - assert_eq!( - ptr0, - guest_mem.find_region(GuestAddress(0x800)).unwrap().as_ptr() - ); - assert_eq!(unsafe { ptr0.offset(0x200) }, ptr1); - } - - #[test] - fn test_deref() { - let start_addr = GuestAddress(0x0); - let guest_mem = GuestMemoryMmap::new(&[(start_addr, 0x400)]).unwrap(); - let sample_buf = &[1, 2, 3, 4, 5]; - - assert_eq!(guest_mem.write(sample_buf, start_addr).unwrap(), 5); - let slice = guest_mem - .find_region(GuestAddress(0)) - .unwrap() - .as_volatile_slice(); - - let buf = &mut [0, 0, 0, 0, 0]; - assert_eq!(slice.read(buf, 0).unwrap(), 5); - assert_eq!(buf, sample_buf); - } - - #[test] - fn mapped_file_regions() { - let mut f = tempfile().unwrap(); - let empty_buf = &[0; 16384]; - assert!(f.write_all(empty_buf).is_ok()); - - let mem_map = MmapRegion::from_fd(&f, empty_buf.len(), 0).unwrap(); - let guest_reg = GuestRegionMmap::new(mem_map, GuestAddress(0x8000)); - let mut region_vec = Vec::new(); - region_vec.push(guest_reg); - let guest_mem = GuestMemoryMmap::from_regions(region_vec).unwrap(); - assert_eq!(guest_mem.num_regions(), 1); - assert!(guest_mem.find_region(GuestAddress(0)).is_none()); - assert!(guest_mem.find_region(GuestAddress(0x8000)).is_some()); - } - - #[test] - fn overlap_memory() { - let start_addr1 = GuestAddress(0x0); - let start_addr2 = GuestAddress(0x1000); - let res = GuestMemoryMmap::new(&[(start_addr1, 0x2000), (start_addr2, 0x2000)]); - assert_eq!( - format!("{:?}", res.err().unwrap()), - format!("{:?}", MmapError::MemoryRegionOverlap) - ); - } - - #[test] - fn test_read_u64() { - let start_addr1 = GuestAddress(0x0); - let start_addr2 = GuestAddress(0x1000); - let bad_addr = GuestAddress(0x2001); - let bad_addr2 = GuestAddress(0x1ffc); - let max_addr = GuestAddress(0x2000); - - let gm = GuestMemoryMmap::new(&[(start_addr1, 0x1000), (start_addr2, 0x1000)]).unwrap(); - - let val1: u64 = 0xaa55_aa55_aa55_aa55; - let val2: u64 = 0x55aa_55aa_55aa_55aa; - assert_eq!( - format!("{:?}", gm.write_obj(val1, bad_addr).err().unwrap()), - format!("InvalidGuestAddress({:?})", bad_addr,) - ); - assert_eq!( - format!("{:?}", gm.write_obj(val1, bad_addr2).err().unwrap()), - format!( - "PartialBuffer {{ expected: {:?}, completed: {:?} }}", - mem::size_of::(), - max_addr.checked_offset_from(bad_addr2).unwrap() - ) - ); - - gm.write_obj(val1, GuestAddress(0x500)).unwrap(); - gm.write_obj(val2, GuestAddress(0x1000 + 32)).unwrap(); - let num1: u64 = gm.read_obj(GuestAddress(0x500)).unwrap(); - let num2: u64 = gm.read_obj(GuestAddress(0x1000 + 32)).unwrap(); - assert_eq!(val1, num1); - assert_eq!(val2, num2); - } - - #[test] - fn write_and_read() { - let mut start_addr = GuestAddress(0x1000); - let gm = GuestMemoryMmap::new(&[(start_addr, 0x400)]).unwrap(); - let sample_buf = &[1, 2, 3, 4, 5]; - - assert_eq!(gm.write(sample_buf, start_addr).unwrap(), 5); - - let buf = &mut [0u8; 5]; - assert_eq!(gm.read(buf, start_addr).unwrap(), 5); - assert_eq!(buf, sample_buf); - - start_addr = GuestAddress(0x13ff); - assert_eq!(gm.write(sample_buf, start_addr).unwrap(), 1); - assert_eq!(gm.read(buf, start_addr).unwrap(), 1); - assert_eq!(buf[0], sample_buf[0]); - } - - #[test] - fn read_to_and_write_from_mem() { - let gm = GuestMemoryMmap::new(&[(GuestAddress(0x1000), 0x400)]).unwrap(); - let addr = GuestAddress(0x1010); - let mut file = if cfg!(unix) { - File::open(Path::new("/dev/zero")).unwrap() - } else { - File::open(Path::new("c:\\Windows\\system32\\ntoskrnl.exe")).unwrap() - }; - gm.write_obj(!0u32, addr).unwrap(); - gm.read_exact_from(addr, &mut file, mem::size_of::()) - .unwrap(); - let value: u32 = gm.read_obj(addr).unwrap(); - if cfg!(unix) { - assert_eq!(value, 0); - } else { - assert_eq!(value, 0x0090_5a4d); - } - - let mut sink = Vec::new(); - gm.write_all_to(addr, &mut sink, mem::size_of::()) - .unwrap(); - if cfg!(unix) { - assert_eq!(sink, vec![0; mem::size_of::()]); - } else { - assert_eq!(sink, vec![0x4d, 0x5a, 0x90, 0x00]); - }; - } - - #[test] - fn create_vec_with_regions() { - let region_size = 0x400; - let regions = vec![ - (GuestAddress(0x0), region_size), - (GuestAddress(0x1000), region_size), - ]; - let mut iterated_regions = Vec::new(); - let gm = GuestMemoryMmap::new(®ions).unwrap(); - - let res: Result<()> = gm.with_regions(|_, region| { - assert_eq!(region.len(), region_size as GuestUsize); - Ok(()) - }); - assert!(res.is_ok()); - - let res: Result<()> = gm.with_regions_mut(|_, region| { - iterated_regions.push((region.start_addr(), region.len() as usize)); - Ok(()) - }); - assert!(res.is_ok()); - assert_eq!(regions, iterated_regions); - assert_eq!(gm.clone().regions[0].guest_base, regions[0].0); - assert_eq!(gm.clone().regions[1].guest_base, regions[1].0); - } - - #[test] - fn test_access_cross_boundary() { - let start_addr1 = GuestAddress(0x0); - let start_addr2 = GuestAddress(0x1000); - let gm = GuestMemoryMmap::new(&[(start_addr1, 0x1000), (start_addr2, 0x1000)]).unwrap(); - let sample_buf = &[1, 2, 3, 4, 5]; - assert_eq!(gm.write(sample_buf, GuestAddress(0xffc)).unwrap(), 5); - let buf = &mut [0u8; 5]; - assert_eq!(gm.read(buf, GuestAddress(0xffc)).unwrap(), 5); - assert_eq!(buf, sample_buf); - } -} diff --git a/vendor/git-89548d8276566400/vm-memory/src/mmap_unix.rs b/vendor/git-89548d8276566400/vm-memory/src/mmap_unix.rs deleted file mode 100644 index 4ebf8f412..000000000 --- a/vendor/git-89548d8276566400/vm-memory/src/mmap_unix.rs +++ /dev/null @@ -1,168 +0,0 @@ -// Copyright (C) 2019 Alibaba Cloud Computing. All rights reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the THIRD-PARTY file. - -//! A default Unix implementation of the GuestMemory trait by mmap()-ing guest's memory into -//! the current process. -//! -//! The main structs to access guest's memory are: -//! - [MmapRegion](struct.MmapRegion.html): mmap a continuous region of guest's memory into the -//! current process -//! - [GuestRegionMmap](struct.GuestRegionMmap.html): tracks a mapping of memory in the current -//! process and the corresponding base address. It relays guest memory access requests to the -//! underline [MmapRegion](struct.MmapRegion.html) object. -//! - [GuestMemoryMmap](struct.GuestMemoryMmap.html): provides methods to access a collection of -//! GuestRegionMmap objects. - -use libc; -use std::io; -use std::ptr::null_mut; - -use mmap::AsSlice; -use volatile_memory::{self, compute_offset, VolatileMemory, VolatileSlice}; - -use std::os::unix::io::AsRawFd; - -/// A backend driver to access guest's physical memory by mmapping guest's memory into the current -/// process. -/// For a combination of 32-bit hypervisor and 64-bit virtual machine, only partial of guest's -/// physical memory may be mapped into current process due to limited process virtual address -/// space size. -#[derive(Debug)] -pub struct MmapRegion { - addr: *mut u8, - size: usize, -} - -// Send and Sync aren't automatically inherited for the raw address pointer. -// Accessing that pointer is only done through the stateless interface which -// allows the object to be shared by multiple threads without a decrease in -// safety. -unsafe impl Send for MmapRegion {} -unsafe impl Sync for MmapRegion {} - -impl MmapRegion { - /// Creates an anonymous shared mapping of `size` bytes. - /// - /// # Arguments - /// * `size` - Size of memory region in bytes. - pub fn new(size: usize) -> io::Result { - // This is safe because we are creating an anonymous mapping in a place not already used by - // any other area in this process. - let addr = unsafe { - libc::mmap( - null_mut(), - size, - libc::PROT_READ | libc::PROT_WRITE, - libc::MAP_ANONYMOUS | libc::MAP_SHARED | libc::MAP_NORESERVE, - -1, - 0, - ) - }; - if addr == libc::MAP_FAILED { - return Err(io::Error::last_os_error()); - } - Ok(Self { - addr: addr as *mut u8, - size, - }) - } - - /// Maps the `size` bytes starting at `offset` bytes of the given `fd`. - /// - /// # Arguments - /// * `fd` - File descriptor to mmap from. - /// * `size` - Size of memory region in bytes. - /// * `offset` - Offset in bytes from the beginning of `fd` to start the mmap. - pub fn from_fd(fd: &AsRawFd, size: usize, offset: libc::off_t) -> io::Result { - // This is safe because we are creating a mapping in a place not already used by any other - // area in this process. - let addr = unsafe { - libc::mmap( - null_mut(), - size, - libc::PROT_READ | libc::PROT_WRITE, - libc::MAP_SHARED, - fd.as_raw_fd(), - offset, - ) - }; - if addr == libc::MAP_FAILED { - return Err(io::Error::last_os_error()); - } - Ok(Self { - addr: addr as *mut u8, - size, - }) - } - - /// Returns a pointer to the beginning of the memory region. Should only be - /// used for passing this region to ioctls for setting guest memory. - pub fn as_ptr(&self) -> *mut u8 { - self.addr - } -} - -impl AsSlice for MmapRegion { - // Returns the region as a slice - // used to do crap - unsafe fn as_slice(&self) -> &[u8] { - // This is safe because we mapped the area at addr ourselves, so this slice will not - // overflow. However, it is possible to alias. - std::slice::from_raw_parts(self.addr, self.size) - } - - // safe because it's expected interior mutability - #[allow(clippy::mut_from_ref)] - unsafe fn as_mut_slice(&self) -> &mut [u8] { - // This is safe because we mapped the area at addr ourselves, so this slice will not - // overflow. However, it is possible to alias. - std::slice::from_raw_parts_mut(self.addr, self.size) - } -} - -impl VolatileMemory for MmapRegion { - fn len(&self) -> usize { - self.size - } - - fn get_slice(&self, offset: usize, count: usize) -> volatile_memory::Result { - let end = compute_offset(offset, count)?; - if end > self.size { - return Err(volatile_memory::Error::OutOfBounds { addr: end }); - } - - // Safe because we checked that offset + count was within our range and we only ever hand - // out volatile accessors. - Ok(unsafe { VolatileSlice::new((self.addr as usize + offset) as *mut _, count) }) - } -} - -impl Drop for MmapRegion { - fn drop(&mut self) { - // This is safe because we mmap the area at addr ourselves, and nobody - // else is holding a reference to it. - unsafe { - libc::munmap(self.addr as *mut libc::c_void, self.size); - } - } -} - -#[cfg(test)] -mod tests { - use mmap_unix::MmapRegion; - use std::os::unix::io::FromRawFd; - - #[test] - fn map_invalid_fd() { - let fd = unsafe { std::fs::File::from_raw_fd(-1) }; - let e = MmapRegion::from_fd(&fd, 1024, 0).unwrap_err(); - assert_eq!(e.raw_os_error(), Some(libc::EBADF)); - } -} diff --git a/vendor/git-89548d8276566400/vm-memory/src/mmap_windows.rs b/vendor/git-89548d8276566400/vm-memory/src/mmap_windows.rs deleted file mode 100644 index 70233582f..000000000 --- a/vendor/git-89548d8276566400/vm-memory/src/mmap_windows.rs +++ /dev/null @@ -1,225 +0,0 @@ -// Copyright (C) 2019 CrowdStrike, Inc. All rights reserved. -// SPDX-License-Identifier: Apache-2.0 -// - -//! A default Windows implementation of the GuestMemory trait using VirtualAlloc() and MapViewOfFile(). -//! -//! The main structs to access guest's memory are: -//! - [MmapRegion](struct.MmapRegion.html): mmap a continuous region of guest's memory into the -//! current process -//! - [GuestRegionMmap](struct.GuestRegionMmap.html): tracks a mapping of memory in the current -//! process and the corresponding base address. It relays guest memory access requests to the -//! underline [MmapRegion](struct.MmapRegion.html) object. -//! - [GuestMemoryMmap](struct.GuestMemoryMmap.html): provides methods to access a collection of -//! GuestRegionMmap objects. - -use libc; -use std::io; -use std::ptr::null_mut; - -use mmap::AsSlice; -use volatile_memory::{self, compute_offset, VolatileMemory, VolatileSlice}; - -use libc::{c_void, size_t}; -use std; -use std::os::windows::io::{AsRawHandle, RawHandle}; -use std::ptr::null; - -#[allow(non_snake_case)] -#[link(name = "kernel32")] -extern "stdcall" { - pub fn VirtualAlloc( - lpAddress: *mut c_void, - dwSize: size_t, - flAllocationType: u32, - flProtect: u32, - ) -> *mut c_void; - - pub fn VirtualFree(lpAddress: *mut c_void, dwSize: size_t, dwFreeType: u32) -> u32; - - pub fn CreateFileMappingA( - hFile: RawHandle, // HANDLE - lpFileMappingAttributes: *const c_void, // LPSECURITY_ATTRIBUTES - flProtect: u32, // DWORD - dwMaximumSizeHigh: u32, // DWORD - dwMaximumSizeLow: u32, // DWORD - lpName: *const u8, // LPCSTR - ) -> RawHandle; // HANDLE - - pub fn MapViewOfFile( - hFileMappingObject: RawHandle, - dwDesiredAccess: u32, - dwFileOffsetHigh: u32, - dwFileOffsetLow: u32, - dwNumberOfBytesToMap: size_t, - ) -> *mut c_void; - - pub fn CloseHandle(hObject: RawHandle) -> u32; // BOOL -} - -const MM_HIGHEST_VAD_ADDRESS: u64 = 0x000007FFFFFDFFFF; - -const MEM_COMMIT: u32 = 0x00001000; -const MEM_RELEASE: u32 = 0x00008000; -const FILE_MAP_ALL_ACCESS: u32 = 0xf001f; -const PAGE_READWRITE: u32 = 0x04; - -pub const MAP_FAILED: *mut c_void = 0 as *mut c_void; -pub const INVALID_HANDLE_VALUE: RawHandle = (-1isize) as RawHandle; -#[allow(dead_code)] -pub const ERROR_INVALID_PARAMETER: i32 = 87; - -/// A backend driver to access guest's physical memory by mmapping guest's memory into the current -/// process. -/// For a combination of 32-bit hypervisor and 64-bit virtual machine, only partial of guest's -/// physical memory may be mapped into current process due to limited process virtual address -/// space size. -#[derive(Debug)] -pub struct MmapRegion { - addr: *mut u8, - size: usize, -} - -// Send and Sync aren't automatically inherited for the raw address pointer. -// Accessing that pointer is only done through the stateless interface which -// allows the object to be shared by multiple threads without a decrease in -// safety. -unsafe impl Send for MmapRegion {} -unsafe impl Sync for MmapRegion {} - -impl MmapRegion { - /// Creates an anonymous shared mapping of `size` bytes. - /// - /// # Arguments - /// * `size` - Size of memory region in bytes. - pub fn new(size: usize) -> io::Result { - if (size == 0) || (size > MM_HIGHEST_VAD_ADDRESS as usize) { - return Err(io::Error::from_raw_os_error(libc::EINVAL)); - } - // This is safe because we are creating an anonymous mapping in a place not already used by - // any other area in this process. - let addr = unsafe { VirtualAlloc(0 as *mut c_void, size, MEM_COMMIT, PAGE_READWRITE) }; - if addr == MAP_FAILED { - return Err(io::Error::last_os_error()); - } - Ok(Self { - addr: addr as *mut u8, - size, - }) - } - - /// Maps the `size` bytes starting at `offset` bytes of the given `fd`. - /// - /// # Arguments - /// * `file` - Raw handle to a file to map into the address space. - /// * `size` - Size of memory region in bytes. - /// * `offset` - Offset in bytes from the beginning of `file` to start the mapping. - pub fn from_fd(file: &AsRawHandle, size: usize, offset: libc::off_t) -> io::Result { - let handle = file.as_raw_handle(); - if handle == INVALID_HANDLE_VALUE { - return Err(io::Error::from_raw_os_error(libc::EBADF)); - } - - let mapping = unsafe { - CreateFileMappingA( - handle, - null(), - PAGE_READWRITE, - (size >> 32) as u32, - size as u32, - null(), - ) - }; - if mapping == 0 as RawHandle { - return Err(io::Error::last_os_error()); - } - - // This is safe because we are creating a mapping in a place not already used by any other - // area in this process. - let addr = unsafe { - MapViewOfFile( - mapping, - FILE_MAP_ALL_ACCESS, - (offset as u64 >> 32) as u32, - offset as u32, - size, - ) - }; - - unsafe { - CloseHandle(mapping); - } - - if addr == null_mut() { - return Err(io::Error::last_os_error()); - } - Ok(Self { - addr: addr as *mut u8, - size, - }) - } - - /// Returns a pointer to the beginning of the memory region. Should only be - /// used for passing this region to ioctls for setting guest memory. - pub fn as_ptr(&self) -> *mut u8 { - self.addr - } -} - -impl AsSlice for MmapRegion { - // Returns the region as a slice - // used to do crap - unsafe fn as_slice(&self) -> &[u8] { - // This is safe because we mapped the area at addr ourselves, so this slice will not - // overflow. However, it is possible to alias. - std::slice::from_raw_parts(self.addr, self.size) - } - - // safe because it's expected interior mutability - #[allow(clippy::mut_from_ref)] - unsafe fn as_mut_slice(&self) -> &mut [u8] { - // This is safe because we mapped the area at addr ourselves, so this slice will not - // overflow. However, it is possible to alias. - std::slice::from_raw_parts_mut(self.addr, self.size) - } -} - -impl VolatileMemory for MmapRegion { - fn len(&self) -> usize { - self.size - } - - fn get_slice(&self, offset: usize, count: usize) -> volatile_memory::Result { - let end = compute_offset(offset, count)?; - if end > self.size { - return Err(volatile_memory::Error::OutOfBounds { addr: end }); - } - - // Safe because we checked that offset + count was within our range and we only ever hand - // out volatile accessors. - Ok(unsafe { VolatileSlice::new((self.addr as usize + offset) as *mut _, count) }) - } -} - -impl Drop for MmapRegion { - fn drop(&mut self) { - // This is safe because we mmap the area at addr ourselves, and nobody - // else is holding a reference to it. - unsafe { - VirtualFree(self.addr as *mut libc::c_void, self.size, MEM_RELEASE); - } - } -} - -#[cfg(test)] -mod tests { - use mmap_windows::{MmapRegion, INVALID_HANDLE_VALUE}; - use std::os::windows::io::FromRawHandle; - - #[test] - fn map_invalid_handle() { - let fd = unsafe { std::fs::File::from_raw_handle(INVALID_HANDLE_VALUE) }; - let e = MmapRegion::from_fd(&fd, 1024, 0).unwrap_err(); - assert_eq!(e.raw_os_error(), Some(libc::EBADF)); - } -} diff --git a/vendor/git-89548d8276566400/vm-memory/src/volatile_memory.rs b/vendor/git-89548d8276566400/vm-memory/src/volatile_memory.rs deleted file mode 100644 index fdc91f775..000000000 --- a/vendor/git-89548d8276566400/vm-memory/src/volatile_memory.rs +++ /dev/null @@ -1,967 +0,0 @@ -// Portions Copyright 2019 Red Hat, Inc. -// -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the THIRT-PARTY file. - -//! Types for volatile access to memory. -//! -//! Two of the core rules for safe rust is no data races and no aliased mutable references. -//! `VolatileRef` and `VolatileSlice`, along with types that produce those which implement -//! `VolatileMemory`, allow us to sidestep that rule by wrapping pointers that absolutely have to be -//! accessed volatile. Some systems really do need to operate on shared memory and can't have the -//! compiler reordering or eliding access because it has no visibility into what other systems are -//! doing with that hunk of memory. -//! -//! For the purposes of maintaining safety, volatile memory has some rules of its own: -//! 1. No references or slices to volatile memory (`&` or `&mut`). -//! 2. Access should always been done with a volatile read or write. -//! The First rule is because having references of any kind to memory considered volatile would -//! violate pointer aliasing. The second is because unvolatile accesses are inherently undefined if -//! done concurrently without synchronization. With volatile access we know that the compiler has -//! not reordered or elided the access. - -use std::cmp::min; -use std::fmt; -use std::io::{self, Read, Write}; -use std::marker::PhantomData; -use std::mem::size_of; -use std::ptr::copy; -use std::ptr::{read_volatile, write_volatile}; -use std::result; -use std::slice::{from_raw_parts, from_raw_parts_mut}; -use std::usize; - -use bytes::{ByteValued, Bytes}; - -/// VolatileMemory related error codes -#[allow(missing_docs)] -#[derive(Debug)] -pub enum Error { - /// `addr` is out of bounds of the volatile memory slice. - OutOfBounds { addr: usize }, - /// Taking a slice at `base` with `offset` would overflow `usize`. - Overflow { base: usize, offset: usize }, - /// Writing to memory failed - IOError(io::Error), - /// Incomplete read or write - PartialBuffer { expected: usize, completed: usize }, -} - -impl fmt::Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match self { - Error::OutOfBounds { addr } => write!(f, "address 0x{:x} is out of bounds", addr), - Error::Overflow { base, offset } => write!( - f, - "address 0x{:x} offset by 0x{:x} would overflow", - base, offset - ), - Error::IOError(error) => write!(f, "{}", error), - Error::PartialBuffer { - expected, - completed, - } => write!( - f, - "only used {} bytes in {} long buffer", - completed, expected - ), - } - } -} - -/// Result of volatile memory operations -pub type Result = result::Result; - -/// Convenience function for computing `base + offset` which returns -/// `Err(Error::Overflow)` instead of panicking in the case `base + offset` exceeds -/// `usize::MAX`. -/// -/// # Examples -/// -/// ``` -/// # use vm_memory::volatile_memory::*; -/// # fn get_slice(offset: usize, count: usize) -> Result<()> { -/// let mem_end = compute_offset(offset, count)?; -/// if mem_end > 100 { -/// return Err(Error::OutOfBounds{addr: mem_end}); -/// } -/// # Ok(()) -/// # } -/// ``` -pub fn compute_offset(base: usize, offset: usize) -> Result { - match base.checked_add(offset) { - None => Err(Error::Overflow { base, offset }), - Some(m) => Ok(m), - } -} - -/// Trait for types that support raw volatile access to their data. -pub trait VolatileMemory { - /// Gets the size of this slice. - fn len(&self) -> usize; - - /// Check whether the region is empty. - fn is_empty(&self) -> bool { - self.len() == 0 - } - - /// Gets a slice of memory at `offset` that is `count` bytes in length and supports volatile - /// access. - fn get_slice(&self, offset: usize, count: usize) -> Result; - - /// Gets a slice of memory for the entire region that supports volatile access. - fn as_volatile_slice(&self) -> VolatileSlice { - self.get_slice(0, self.len()).unwrap() - } - - /// Gets a `VolatileRef` at `offset`. - fn get_ref(&self, offset: usize) -> Result> { - let slice = self.get_slice(offset, size_of::())?; - unsafe { - // This is safe because the pointer is range-checked by get_slice, and - // the lifetime is the same as self. - Ok(VolatileRef::::new(slice.addr)) - } - } - - /// Check that addr + count is valid and return the sum. - fn compute_end_offset(&self, base: usize, offset: usize) -> Result { - let mem_end = compute_offset(base, offset)?; - if mem_end > self.len() { - return Err(Error::OutOfBounds { addr: mem_end }); - } - Ok(mem_end) - } -} - -impl<'a> VolatileMemory for &'a mut [u8] { - fn len(&self) -> usize { - <[u8]>::len(self) - } - - fn get_slice(&self, offset: usize, count: usize) -> Result { - let _ = self.compute_end_offset(offset, count)?; - unsafe { - // This is safe because the pointer is range-checked by compute_end_offset, and - // the lifetime is the same as the original slice. - Ok(VolatileSlice::new( - (self.as_ptr() as usize + offset) as *mut _, - count, - )) - } - } -} - -#[repr(C, packed)] -struct Packed(T); - -/// A slice of raw memory that supports volatile access. -#[derive(Copy, Clone, Debug)] -pub struct VolatileSlice<'a> { - addr: *mut u8, - size: usize, - phantom: PhantomData<&'a u8>, -} - -impl<'a> VolatileSlice<'a> { - /// Creates a slice of raw memory that must support volatile access. - /// - /// To use this safely, the caller must guarantee that the memory at `addr` is `size` bytes long - /// and is available for the duration of the lifetime of the new `VolatileSlice`. The caller - /// must also guarantee that all other users of the given chunk of memory are using volatile - /// accesses. - pub unsafe fn new(addr: *mut u8, size: usize) -> VolatileSlice<'a> { - VolatileSlice { - addr, - size, - phantom: PhantomData, - } - } - - /// Gets the address of this slice's memory. - pub fn as_ptr(&self) -> *mut u8 { - self.addr - } - - /// Gets the size of this slice. - pub fn len(&self) -> usize { - self.size - } - - /// Check whether the slice is empty. - pub fn is_empty(&self) -> bool { - self.size == 0 - } - - /// Creates a copy of this slice with the address increased by `count` bytes, and the size - /// reduced by `count` bytes. - pub fn offset(self, count: usize) -> Result> { - let new_addr = (self.addr as usize) - .checked_add(count) - .ok_or(Error::Overflow { - base: self.addr as usize, - offset: count, - })?; - let new_size = self - .size - .checked_sub(count) - .ok_or(Error::OutOfBounds { addr: new_addr })?; - unsafe { - // Safe because the memory has the same lifetime and points to a subset of the - // memory of the original slice. - Ok(VolatileSlice::new(new_addr as *mut u8, new_size)) - } - } - - /// Copies `self.len()` or `buf.len()` times the size of `T` bytes, whichever is smaller, to - /// `buf`. - /// - /// The copy happens from smallest to largest address in `T` sized chunks using volatile reads. - /// - /// # Examples - /// - /// ``` - /// # use std::fs::File; - /// # use std::path::Path; - /// # use vm_memory::VolatileMemory; - /// # fn test_write_null() -> Result<(), ()> { - /// let mut mem = [0u8; 32]; - /// let mem_ref = &mut mem[..]; - /// let vslice = mem_ref.get_slice(0, 32).map_err(|_| ())?; - /// let mut buf = [5u8; 16]; - /// vslice.copy_to(&mut buf[..]); - /// for v in &buf[..] { - /// assert_eq!(buf[0], 0); - /// } - /// # Ok(()) - /// # } - /// ``` - pub fn copy_to(&self, buf: &mut [T]) -> usize - where - T: ByteValued, - { - let mut addr = self.addr; - let mut i = 0; - for v in buf.iter_mut().take(self.size / size_of::()) { - unsafe { - *v = read_volatile(addr as *const Packed).0; - addr = addr.add(size_of::()); - }; - i += 1; - } - i - } - - /// Copies `self.len()` or `slice.len()` bytes, whichever is smaller, to `slice`. - /// - /// The copies happen in an undefined order. - /// # Examples - /// - /// ``` - /// # use vm_memory::VolatileMemory; - /// # fn test_write_null() -> Result<(), ()> { - /// let mut mem = [0u8; 32]; - /// let mem_ref = &mut mem[..]; - /// let vslice = mem_ref.get_slice(0, 32).map_err(|_| ())?; - /// vslice.copy_to_volatile_slice(vslice.get_slice(16, 16).map_err(|_| ())?); - /// # Ok(()) - /// # } - /// ``` - pub fn copy_to_volatile_slice(&self, slice: VolatileSlice) { - unsafe { - // Safe because the pointers are range-checked when the slices - // are created, and they never escape the VolatileSlices. - // FIXME: ... however, is it really okay to mix non-volatile - // operations such as copy with read_volatile and write_volatile? - copy(self.addr, slice.addr, min(self.size, slice.size)); - } - } - - /// Copies `self.len()` or `buf.len()` times the size of `T` bytes, whichever is smaller, to - /// this slice's memory. - /// - /// The copy happens from smallest to largest address in `T` sized chunks using volatile writes. - /// - /// # Examples - /// - /// ``` - /// # use std::fs::File; - /// # use std::path::Path; - /// # use vm_memory::VolatileMemory; - /// # fn test_write_null() -> Result<(), ()> { - /// let mut mem = [0u8; 32]; - /// let mem_ref = &mut mem[..]; - /// let vslice = mem_ref.get_slice(0, 32).map_err(|_| ())?; - /// let buf = [5u8; 64]; - /// vslice.copy_from(&buf[..]); - /// for i in 0..4 { - /// assert_eq!(vslice.get_ref::(i * 4).map_err(|_| ())?.load(), 0x05050505); - /// } - /// # Ok(()) - /// # } - /// ``` - pub fn copy_from(&self, buf: &[T]) - where - T: ByteValued, - { - let mut addr = self.addr; - for &v in buf.iter().take(self.size / size_of::()) { - unsafe { - // Safe because the pointers are range-checked when the slices - // are created, and they never escape the VolatileSlices. - write_volatile(addr as *mut Packed, Packed::(v)); - addr = addr.add(size_of::()); - } - } - } - - // These function are private and only used for the read/write functions. It is not valid in - // general to take slices of volatile memory. - unsafe fn as_slice(&self) -> &[u8] { - from_raw_parts(self.addr, self.size) - } - - // safe because it's expected interior mutability - #[allow(clippy::mut_from_ref)] - unsafe fn as_mut_slice(&self) -> &mut [u8] { - from_raw_parts_mut(self.addr, self.size) - } -} - -impl<'a> Bytes for VolatileSlice<'a> { - type E = Error; - - /// Writes a slice to the region at the specified address. - /// Returns the number of bytes written. The number of bytes written can - /// be less than the length of the slice if there isn't enough room in the - /// region. - /// - /// # Examples - /// * Write a slice at offset 256. - /// - /// ``` - /// # use vm_memory::{Bytes, VolatileMemory}; - /// # let mut mem = [0u8; 1024]; - /// # let mut mem_ref = &mut mem[..]; - /// # let vslice = mem_ref.as_volatile_slice(); - /// let res = vslice.write(&[1,2,3,4,5], 1020); - /// assert!(res.is_ok()); - /// assert_eq!(res.unwrap(), 4); - /// ``` - fn write(&self, buf: &[u8], addr: usize) -> Result { - if addr >= self.size { - return Err(Error::OutOfBounds { addr }); - } - unsafe { - // Guest memory can't strictly be modeled as a slice because it is - // volatile. Writing to it with what compiles down to a memcpy - // won't hurt anything as long as we get the bounds checks right. - let mut slice: &mut [u8] = &mut self.as_mut_slice()[addr..]; - Ok(slice.write(buf).map_err(Error::IOError)?) - } - } - - /// Reads to a slice from the region at the specified address. - /// Returns the number of bytes read. The number of bytes read can be less than the length - /// of the slice if there isn't enough room in the region. - /// - /// # Examples - /// * Read a slice of size 16 at offset 256. - /// - /// ``` - /// # use vm_memory::{Bytes, VolatileMemory}; - /// # let mut mem = [0u8; 1024]; - /// # let mut mem_ref = &mut mem[..]; - /// # let vslice = mem_ref.as_volatile_slice(); - /// let buf = &mut [0u8; 16]; - /// let res = vslice.read(buf, 1010); - /// assert!(res.is_ok()); - /// assert_eq!(res.unwrap(), 14); - /// ``` - fn read(&self, mut buf: &mut [u8], addr: usize) -> Result { - if addr >= self.size { - return Err(Error::OutOfBounds { addr }); - } - unsafe { - // Guest memory can't strictly be modeled as a slice because it is - // volatile. Writing to it with what compiles down to a memcpy - // won't hurt anything as long as we get the bounds checks right. - let slice: &[u8] = &self.as_slice()[addr..]; - Ok(buf.write(slice).map_err(Error::IOError)?) - } - } - - /// Writes a slice to the region at the specified address. - /// - /// # Examples - /// * Write a slice at offset 256. - /// - /// ``` - /// # use vm_memory::{Bytes, VolatileMemory}; - /// # let mut mem = [0u8; 1024]; - /// # let mut mem_ref = &mut mem[..]; - /// # let vslice = mem_ref.as_volatile_slice(); - /// let res = vslice.write_slice(&[1,2,3,4,5], 256); - /// assert!(res.is_ok()); - /// assert_eq!(res.unwrap(), ()); - /// ``` - fn write_slice(&self, buf: &[u8], addr: usize) -> Result<()> { - let len = self.write(buf, addr)?; - if len != buf.len() { - return Err(Error::PartialBuffer { - expected: buf.len(), - completed: len, - }); - } - Ok(()) - } - - /// Reads to a slice from the region at the specified address. - /// - /// # Examples - /// * Read a slice of size 16 at offset 256. - /// - /// ``` - /// # use vm_memory::{Bytes, VolatileMemory}; - /// # let mut mem = [0u8; 1024]; - /// # let mut mem_ref = &mut mem[..]; - /// # let vslice = mem_ref.as_volatile_slice(); - /// let buf = &mut [0u8; 16]; - /// let res = vslice.read_slice(buf, 256); - /// assert!(res.is_ok()); - /// assert_eq!(res.unwrap(), ()); - /// ``` - fn read_slice(&self, buf: &mut [u8], addr: usize) -> Result<()> { - let len = self.read(buf, addr)?; - if len != buf.len() { - return Err(Error::PartialBuffer { - expected: buf.len(), - completed: len, - }); - } - Ok(()) - } - - /// Writes data from a readable object like a File and writes it to the region. - /// - /// # Examples - /// - /// * Read bytes from /dev/urandom - /// - /// ``` - /// # use vm_memory::{Bytes, VolatileMemory}; - /// # use std::fs::File; - /// # use std::path::Path; - /// # fn test_read_random() -> Result { - /// # let mut mem = [0u8; 1024]; - /// # let mut mem_ref = &mut mem[..]; - /// # let vslice = mem_ref.as_volatile_slice(); - /// let mut file = File::open(Path::new("/dev/urandom")).map_err(|_| ())?; - /// vslice.read_from(32, &mut file, 128).map_err(|_| ())?; - /// let rand_val: u32 = vslice.read_obj(40).map_err(|_| ())?; - /// # Ok(rand_val) - /// # } - /// ``` - fn read_from(&self, addr: usize, src: &mut F, count: usize) -> Result - where - F: Read, - { - let end = self.compute_end_offset(addr, count)?; - unsafe { - // It is safe to overwrite the volatile memory. Accessing the guest - // memory as a mutable slice is OK because nothing assumes another - // thread won't change what is loaded. - let dst = &mut self.as_mut_slice()[addr..end]; - src.read(dst).map_err(Error::IOError) - } - } - - /// Writes data from a readable object like a File and writes it to the region. - /// - /// # Examples - /// - /// * Read bytes from /dev/urandom - /// - /// ``` - /// # use vm_memory::{Bytes, VolatileMemory}; - /// # use std::fs::File; - /// # use std::path::Path; - /// # fn test_read_random() -> Result { - /// # let mut mem = [0u8; 1024]; - /// # let mut mem_ref = &mut mem[..]; - /// # let vslice = mem_ref.as_volatile_slice(); - /// let mut file = File::open(Path::new("/dev/urandom")).map_err(|_| ())?; - /// vslice.read_exact_from(32, &mut file, 128).map_err(|_| ())?; - /// let rand_val: u32 = vslice.read_obj(40).map_err(|_| ())?; - /// # Ok(rand_val) - /// # } - /// ``` - fn read_exact_from(&self, addr: usize, src: &mut F, count: usize) -> Result<()> - where - F: Read, - { - let end = self.compute_end_offset(addr, count)?; - unsafe { - // It is safe to overwrite the volatile memory. Accessing the guest - // memory as a mutable slice is OK because nothing assumes another - // thread won't change what is loaded. - let dst = &mut self.as_mut_slice()[addr..end]; - src.read_exact(dst).map_err(Error::IOError)?; - } - Ok(()) - } - - /// Reads data from the region to a writable object. - /// - /// # Examples - /// - /// * Write 128 bytes to /dev/null - /// - /// ``` - /// # use vm_memory::{Bytes, VolatileMemory}; - /// # use std::fs::File; - /// # use std::path::Path; - /// # fn test_write_null() -> Result<(), ()> { - /// # let mut mem = [0u8; 1024]; - /// # let mut mem_ref = &mut mem[..]; - /// # let vslice = mem_ref.as_volatile_slice(); - /// let mut file = File::open(Path::new("/dev/null")).map_err(|_| ())?; - /// vslice.write_to(32, &mut file, 128).map_err(|_| ())?; - /// # Ok(()) - /// # } - /// ``` - fn write_to(&self, addr: usize, dst: &mut F, count: usize) -> Result - where - F: Write, - { - let end = self.compute_end_offset(addr, count)?; - unsafe { - // It is safe to read from volatile memory. Accessing the guest - // memory as a slice is OK because nothing assumes another thread - // won't change what is loaded. - let src = &self.as_mut_slice()[addr..end]; - dst.write(src).map_err(Error::IOError) - } - } - - /// Reads data from the region to a writable object. - /// - /// # Examples - /// - /// * Write 128 bytes to /dev/null - /// - /// ``` - /// # use vm_memory::{Bytes, VolatileMemory}; - /// # use std::fs::File; - /// # use std::path::Path; - /// # fn test_write_null() -> Result<(), ()> { - /// # let mut mem = [0u8; 1024]; - /// # let mut mem_ref = &mut mem[..]; - /// # let vslice = mem_ref.as_volatile_slice(); - /// let mut file = File::open(Path::new("/dev/null")).map_err(|_| ())?; - /// vslice.write_all_to(32, &mut file, 128).map_err(|_| ())?; - /// # Ok(()) - /// # } - /// ``` - fn write_all_to(&self, addr: usize, dst: &mut F, count: usize) -> Result<()> - where - F: Write, - { - let end = self.compute_end_offset(addr, count)?; - unsafe { - // It is safe to read from volatile memory. Accessing the guest - // memory as a slice is OK because nothing assumes another thread - // won't change what is loaded. - let src = &self.as_mut_slice()[addr..end]; - dst.write_all(src).map_err(Error::IOError)?; - } - Ok(()) - } -} - -impl<'a> VolatileMemory for VolatileSlice<'a> { - fn len(&self) -> usize { - self.size - } - - fn get_slice(&self, offset: usize, count: usize) -> Result { - let _ = self.compute_end_offset(offset, count)?; - Ok(unsafe { - // This is safe because the pointer is range-checked by compute_end_offset, and - // the lifetime is the same as self. - VolatileSlice::new((self.addr as usize + offset) as *mut u8, count) - }) - } -} - -/// A memory location that supports volatile access of a `T`. -/// -/// # Examples -/// -/// ``` -/// # use vm_memory::VolatileRef; -/// let mut v = 5u32; -/// assert_eq!(v, 5); -/// let v_ref = unsafe { VolatileRef::::new(&mut v as *mut u32 as *mut u8) }; -/// assert_eq!(v_ref.load(), 5); -/// v_ref.store(500); -/// assert_eq!(v, 500); -#[derive(Debug)] -pub struct VolatileRef<'a, T: ByteValued> -where - T: 'a, -{ - addr: *mut Packed, - phantom: PhantomData<&'a T>, -} - -#[allow(clippy::len_without_is_empty)] -impl<'a, T: ByteValued> VolatileRef<'a, T> { - /// Creates a reference to raw memory that must support volatile access of `T` sized chunks. - /// - /// To use this safely, the caller must guarantee that the memory at `addr` is big enough for a - /// `T` and is available for the duration of the lifetime of the new `VolatileRef`. The caller - /// must also guarantee that all other users of the given chunk of memory are using volatile - /// accesses. - pub unsafe fn new(addr: *mut u8) -> VolatileRef<'a, T> { - VolatileRef { - addr: addr as *mut Packed, - phantom: PhantomData, - } - } - - /// Gets the address of this slice's memory. - pub fn as_ptr(&self) -> *mut u8 { - self.addr as *mut u8 - } - - /// Gets the size of this slice. - /// - /// # Examples - /// - /// ``` - /// # use std::mem::size_of; - /// # use vm_memory::VolatileRef; - /// let v_ref = unsafe { VolatileRef::::new(0 as *mut _) }; - /// assert_eq!(v_ref.len(), size_of::() as usize); - /// ``` - pub fn len(&self) -> usize { - size_of::() - } - - /// Does a volatile write of the value `v` to the address of this ref. - #[inline(always)] - pub fn store(&self, v: T) { - unsafe { write_volatile(self.addr, Packed::(v)) }; - } - - /// Does a volatile read of the value at the address of this ref. - #[inline(always)] - pub fn load(&self) -> T { - // For the purposes of demonstrating why read_volatile is necessary, try replacing the code - // in this function with the commented code below and running `cargo test --release`. - // unsafe { *(self.addr as *const T) } - unsafe { read_volatile(self.addr).0 } - } - - /// Converts this `T` reference to a raw slice with the same size and address. - pub fn to_slice(&self) -> VolatileSlice<'a> { - unsafe { VolatileSlice::new(self.addr as *mut u8, size_of::()) } - } -} - -#[cfg(test)] -mod tests { - extern crate tempfile; - - use super::*; - - use self::tempfile::tempfile; - use std::sync::Arc; - use std::thread::{sleep, spawn}; - use std::time::Duration; - - use std::fs::File; - use std::path::Path; - - #[derive(Clone)] - struct VecMem { - mem: Arc>, - } - - impl VecMem { - fn new(size: usize) -> VecMem { - let mut mem = Vec::new(); - mem.resize(size, 0); - VecMem { mem: Arc::new(mem) } - } - } - - impl VolatileMemory for VecMem { - fn len(&self) -> usize { - self.mem.len() - } - - fn get_slice(&self, offset: usize, count: usize) -> Result { - let _ = self.compute_end_offset(offset, count)?; - Ok(unsafe { - VolatileSlice::new((self.mem.as_ptr() as usize + offset) as *mut _, count) - }) - } - } - - #[test] - fn ref_store() { - let mut a = [0u8; 1]; - { - let a_ref = &mut a[..]; - let v_ref = a_ref.get_ref(0).unwrap(); - v_ref.store(2u8); - } - assert_eq!(a[0], 2); - } - - #[test] - fn ref_load() { - let mut a = [5u8; 1]; - { - let a_ref = &mut a[..]; - let c = { - let v_ref = a_ref.get_ref::(0).unwrap(); - assert_eq!(v_ref.load(), 5u8); - v_ref - }; - // To make sure we can take a v_ref out of the scope we made it in: - c.load(); - // but not too far: - // c - } //.load() - ; - } - - #[test] - fn ref_to_slice() { - let mut a = [1u8; 5]; - let a_ref = &mut a[..]; - let v_ref = a_ref.get_ref(1).unwrap(); - v_ref.store(0x1234_5678u32); - let ref_slice = v_ref.to_slice(); - assert_eq!(v_ref.as_ptr() as usize, ref_slice.as_ptr() as usize); - assert_eq!(v_ref.len(), ref_slice.len()); - assert!(!ref_slice.is_empty()); - } - - #[test] - fn observe_mutate() { - let a = VecMem::new(1); - let a_clone = a.clone(); - let v_ref = a.get_ref::(0).unwrap(); - v_ref.store(99); - spawn(move || { - sleep(Duration::from_millis(10)); - let clone_v_ref = a_clone.get_ref::(0).unwrap(); - clone_v_ref.store(0); - }); - - // Technically this is a race condition but we have to observe the v_ref's value changing - // somehow and this helps to ensure the sleep actually happens before the store rather then - // being reordered by the compiler. - assert_eq!(v_ref.load(), 99); - - // Granted we could have a machine that manages to perform this many volatile loads in the - // amount of time the spawned thread sleeps, but the most likely reason the retry limit will - // get reached is because v_ref.load() is not actually performing the required volatile read - // or v_ref.store() is not doing a volatile write. A timer based solution was avoided - // because that might use a syscall which could hint the optimizer to reload v_ref's pointer - // regardless of volatile status. Note that we use a longer retry duration for optimized - // builds. - #[cfg(debug_assertions)] - const RETRY_MAX: usize = 500_000_000; - #[cfg(not(debug_assertions))] - const RETRY_MAX: usize = 10_000_000_000; - - let mut retry = 0; - while v_ref.load() == 99 && retry < RETRY_MAX { - retry += 1; - } - - assert_ne!(retry, RETRY_MAX, "maximum retry exceeded"); - assert_eq!(v_ref.load(), 0); - } - - #[test] - fn slice_len() { - let a = VecMem::new(100); - let s = a.get_slice(0, 27).unwrap(); - assert_eq!(s.len(), 27); - - let s = a.get_slice(34, 27).unwrap(); - assert_eq!(s.len(), 27); - - let s = s.get_slice(20, 5).unwrap(); - assert_eq!(s.len(), 5); - } - - #[test] - fn slice_is_empty() { - let a = VecMem::new(100); - let s = a.get_slice(0, 27).unwrap(); - assert!(!s.is_empty()); - - let s = a.get_slice(34, 0).unwrap(); - assert!(s.is_empty()); - } - - #[test] - fn slice_overflow_error() { - use std::usize::MAX; - let a = VecMem::new(1); - let res = a.get_slice(MAX, 1).unwrap_err(); - assert_matches!( - res, - Error::Overflow { - base: MAX, - offset: 1, - } - ); - } - - #[test] - fn slice_oob_error() { - let a = VecMem::new(100); - a.get_slice(50, 50).unwrap(); - let res = a.get_slice(55, 50).unwrap_err(); - assert_matches!(res, Error::OutOfBounds { addr: 105 }); - } - - #[test] - fn ref_overflow_error() { - use std::usize::MAX; - let a = VecMem::new(1); - let res = a.get_ref::(MAX).unwrap_err(); - assert_matches!( - res, - Error::Overflow { - base: MAX, - offset: 1, - } - ); - } - - #[test] - fn ref_oob_error() { - let a = VecMem::new(100); - a.get_ref::(99).unwrap(); - let res = a.get_ref::(99).unwrap_err(); - assert_matches!(res, Error::OutOfBounds { addr: 101 }); - } - - #[test] - fn ref_oob_too_large() { - let a = VecMem::new(3); - let res = a.get_ref::(0).unwrap_err(); - assert_matches!(res, Error::OutOfBounds { addr: 4 }); - } - - #[test] - fn slice_store() { - let a = VecMem::new(5); - let s = a.as_volatile_slice(); - let r = a.get_ref(2).unwrap(); - r.store(9u16); - assert_eq!(s.read_obj::(2).unwrap(), 9); - } - - #[test] - fn test_write_past_end() { - let a = VecMem::new(5); - let s = a.as_volatile_slice(); - let res = s.write(&[1, 2, 3, 4, 5, 6], 0); - assert!(res.is_ok()); - assert_eq!(res.unwrap(), 5); - } - - #[test] - fn slice_read_and_write() { - let a = VecMem::new(5); - let s = a.as_volatile_slice(); - let sample_buf = [1, 2, 3]; - assert!(s.write(&sample_buf, 5).is_err()); - assert!(s.write(&sample_buf, 2).is_ok()); - let mut buf = [0u8; 3]; - assert!(s.read(&mut buf, 5).is_err()); - assert!(s.read_slice(&mut buf, 2).is_ok()); - assert_eq!(buf, sample_buf); - } - - #[test] - fn obj_read_and_write() { - let a = VecMem::new(5); - let s = a.as_volatile_slice(); - assert!(s.write_obj(55u16, 4).is_err()); - assert!(s.write_obj(55u16, core::usize::MAX).is_err()); - assert!(s.write_obj(55u16, 2).is_ok()); - assert_eq!(s.read_obj::(2).unwrap(), 55u16); - assert!(s.read_obj::(4).is_err()); - assert!(s.read_obj::(core::usize::MAX).is_err()); - } - - #[test] - fn mem_read_and_write() { - let a = VecMem::new(5); - let s = a.as_volatile_slice(); - assert!(s.write_obj(!0u32, 1).is_ok()); - let mut file = if cfg!(unix) { - File::open(Path::new("/dev/zero")).unwrap() - } else { - File::open(Path::new("c:\\Windows\\system32\\ntoskrnl.exe")).unwrap() - }; - assert!(s.read_exact_from(2, &mut file, size_of::()).is_err()); - assert!(s - .read_exact_from(core::usize::MAX, &mut file, size_of::()) - .is_err()); - - assert!(s.read_exact_from(1, &mut file, size_of::()).is_ok()); - - let mut f = tempfile().unwrap(); - assert!(s.read_exact_from(1, &mut f, size_of::()).is_err()); - format!("{:?}", s.read_exact_from(1, &mut f, size_of::())); - - let value = s.read_obj::(1).unwrap(); - if cfg!(unix) { - assert_eq!(value, 0); - } else { - assert_eq!(value, 0x0090_5a4d); - } - - let mut sink = Vec::new(); - assert!(s.write_all_to(1, &mut sink, size_of::()).is_ok()); - assert!(s.write_all_to(2, &mut sink, size_of::()).is_err()); - assert!(s - .write_all_to(core::usize::MAX, &mut sink, size_of::()) - .is_err()); - format!("{:?}", s.write_all_to(2, &mut sink, size_of::())); - if cfg!(unix) { - assert_eq!(sink, vec![0; size_of::()]); - } else { - assert_eq!(sink, vec![0x4d, 0x5a, 0x90, 0x00]); - }; - } - - #[test] - fn unaligned_read_and_write() { - let a = VecMem::new(7); - let s = a.as_volatile_slice(); - let sample_buf: [u8; 7] = [1, 2, 0xAA, 0xAA, 0xAA, 0xAA, 4]; - assert!(s.write_slice(&sample_buf, 0).is_ok()); - let r = a.get_ref::(2).unwrap(); - assert_eq!(r.load(), 0xAAAA_AAAA); - - r.store(0x5555_5555); - let sample_buf: [u8; 7] = [1, 2, 0x55, 0x55, 0x55, 0x55, 4]; - let mut buf: [u8; 7] = Default::default(); - assert!(s.read_slice(&mut buf, 0).is_ok()); - assert_eq!(buf, sample_buf); - } -} diff --git a/vendor/git-bad78e1967b13e00/vmm-sys-util/.buildkite/pipeline.yml b/vendor/git-bad78e1967b13e00/vmm-sys-util/.buildkite/pipeline.yml deleted file mode 100644 index f62c2a4fc..000000000 --- a/vendor/git-bad78e1967b13e00/vmm-sys-util/.buildkite/pipeline.yml +++ /dev/null @@ -1,75 +0,0 @@ -steps: - - label: "build-gnu-x86" - commands: - - cargo build --release - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "build-gnu-arm" - commands: - - cargo build --release - retry: - automatic: false - agents: - platform: arm.metal - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "style" - command: cargo fmt --all -- --check - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "unittests-gnu-x86" - commands: - - cargo test - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - privileged: true - image: "fandree/rust-vmm-dev" - always-pull: true - tmpfs: [ "/tmp:exec" ] - - - label: "unittests-gnu-arm" - commands: - - cargo test - retry: - automatic: false - agents: - platform: arm.metal - plugins: - - docker#v3.0.1: - privileged: true - image: "fandree/rust-vmm-dev" - always-pull: true - tmpfs: [ "/tmp:exec" ] - - - label: "clippy-x86" - commands: - - cargo clippy --all -- -D warnings - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true diff --git a/vendor/git-bad78e1967b13e00/vmm-sys-util/.cargo-checksum.json b/vendor/git-bad78e1967b13e00/vmm-sys-util/.cargo-checksum.json deleted file mode 100644 index 2bd61c742..000000000 --- a/vendor/git-bad78e1967b13e00/vmm-sys-util/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{".buildkite/pipeline.yml":"0194df2d3534e3c6938ba2945e05696a12b8ed63d4941b3a4173c5bcf6e587c4","Cargo.toml":"d19b52349ada25dbbae4e2bea4850cf1b09ea546d5efee03ddfbbf9f184c0c72","LICENSE-APACHE":"c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4","LICENSE-BSD-3-Clause":"a6d3ebd1c2f37d4fd83d0676621f695fc0cc2d8c6e646cdbb831b46e0650c208","README.md":"94512ed84e8e89faba431d9107e85d229363c187705ab9244f0ab5269b5961b5","src/errno.rs":"b93845c200fc596b0ef2414671d965cf5c4fdbf6bba6e5e5f0d032a32c73f8ac","src/eventfd.rs":"7bd871242f49c14d8783714e6814456f51a9c280dcadf1625e1bd2313d2b5f7f","src/file_traits.rs":"398c529e7ebce143ecb9f9bd2f5f47ea3e953ac34cc211ad71cdcf1898cc7d38","src/ioctl.rs":"5c4abf75e7b6786e7da3191ac1e4460e1ec7d073a53331a6d9597bb9ccc3f88a","src/lib.rs":"ee0818e0ca6fdc340c52d514eeb2e3aeb4f7ba8e4e522bb946cdbce4779926f1","src/poll.rs":"1498c14ba022ede57c4faf17bee49cf5ac9d1c8d3883db441697ee224dac7818","src/seek_hole.rs":"de43f21bc2c5d9eb7f06e21e3c20f93476bf6016e4d041df71a02b9e54b3c3ca","src/signal.rs":"724f679cb62d268a5ec8f0704a8d6b01882f302f508c189e82054657ed8b31bf","src/syslog.rs":"fbf4bde16b1059b5b39c5318e8bb918dc431e8e0ccbc82c0d765b9ce4a8d5f96","src/tempdir.rs":"4993460e81f7df6398e0f2b07cc3d81e728aa7e0559c7f3d83b6df1876bc3776","src/terminal.rs":"85efb1df641730fa1981bac6fd65bd75f7d532bb8680a56e94d6d006eeb363e9","src/timerfd.rs":"fd3c52e3918d881c16cb1498f8f66253ee758275a6a66ed8eb11c78e69f69e55","src/write_zeroes.rs":"c2951bbdb3ab07727eda29e9a91a51e427fdf6fed0b611ea6a3732edbd9a1246"},"package":null} \ No newline at end of file diff --git a/vendor/git-bad78e1967b13e00/vmm-sys-util/Cargo.toml b/vendor/git-bad78e1967b13e00/vmm-sys-util/Cargo.toml deleted file mode 100644 index bb697b6c3..000000000 --- a/vendor/git-bad78e1967b13e00/vmm-sys-util/Cargo.toml +++ /dev/null @@ -1,9 +0,0 @@ -[package] -name = "vmm-sys-util" -version = "0.1.0" -authors = ["Jing Liu "] -license = "Apache-2.0" - -[dependencies] -libc = ">=0.2.39" - diff --git a/vendor/git-bad78e1967b13e00/vmm-sys-util/LICENSE-APACHE b/vendor/git-bad78e1967b13e00/vmm-sys-util/LICENSE-APACHE deleted file mode 100644 index 261eeb9e9..000000000 --- a/vendor/git-bad78e1967b13e00/vmm-sys-util/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/git-bad78e1967b13e00/vmm-sys-util/LICENSE-BSD-3-Clause b/vendor/git-bad78e1967b13e00/vmm-sys-util/LICENSE-BSD-3-Clause deleted file mode 100644 index 8bafca303..000000000 --- a/vendor/git-bad78e1967b13e00/vmm-sys-util/LICENSE-BSD-3-Clause +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/git-bad78e1967b13e00/vmm-sys-util/README.md b/vendor/git-bad78e1967b13e00/vmm-sys-util/README.md deleted file mode 100644 index 383aa42db..000000000 --- a/vendor/git-bad78e1967b13e00/vmm-sys-util/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# vmm-sys-util -This crate is a collection of modules that provides helpers and utilities. diff --git a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/errno.rs b/vendor/git-bad78e1967b13e00/vmm-sys-util/src/errno.rs deleted file mode 100644 index 89bbbb6b1..000000000 --- a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/errno.rs +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright 2019 Intel Corporation. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. - -use std::fmt::{Display, Formatter}; -use std::io; -use std::result; - -use libc::__errno_location; - -/// An error number, retrieved from [`errno`](http://man7.org/linux/man-pages/man3/errno.3.html), -/// set by a libc function that returned an error. -#[derive(Clone, Copy, Debug, PartialEq)] -pub struct Error(i32); -pub type Result = result::Result; - -impl Error { - /// Constructs a new error with the given `errno`. - pub fn new(e: i32) -> Error { - Error(e) - } - - /// Constructs an error from the current `errno`. - /// - /// The result of this only has any meaning just after a libc call that returned a value - /// indicating `errno` was set. - pub fn last() -> Error { - Error(unsafe { *__errno_location() }) - } - - /// Gets the `errno` for this error. - pub fn errno(self) -> i32 { - self.0 - } -} - -impl Display for Error { - fn fmt(&self, f: &mut Formatter) -> std::fmt::Result { - io::Error::from_raw_os_error(self.0).fmt(f) - } -} - -impl From for Error { - fn from(e: io::Error) -> Self { - Error::new(e.raw_os_error().unwrap_or_default()) - } -} - -/// Returns the last `errno` as a [`Result`] that is always an error. -/// -/// [`Result`]: type.Result.html -pub fn errno_result() -> Result { - Err(Error::last()) -} - -#[cfg(test)] -mod tests { - use super::*; - use libc; - use std::fs::File; - use std::io::{self, Write}; - use std::os::unix::io::FromRawFd; - - #[test] - pub fn test_invalid_fd() { - let mut file = unsafe { File::from_raw_fd(-1) }; - assert!(file.write(b"test").is_err()); - let last_err = errno_result::().unwrap_err(); - assert_eq!(last_err, Error::new(libc::EBADF)); - assert_eq!(last_err.errno(), libc::EBADF); - assert_eq!(last_err, Error::from(io::Error::last_os_error())); - assert_eq!(last_err, Error::last()); - } -} diff --git a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/eventfd.rs b/vendor/git-bad78e1967b13e00/vmm-sys-util/src/eventfd.rs deleted file mode 100644 index ff0542735..000000000 --- a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/eventfd.rs +++ /dev/null @@ -1,150 +0,0 @@ -// Copyright 2019 Intel Corporation. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. - -use std::fs::File; -use std::os::unix::io::{AsRawFd, FromRawFd, RawFd}; -use std::{io, mem, result}; - -use libc::{c_void, dup, eventfd, read, write}; - -/// A safe wrapper around a Linux eventfd (man 2 eventfd). -pub struct EventFd { - eventfd: File, -} - -impl EventFd { - /// Creates a new blocking EventFd with an initial value. - /// - /// `flag`: The initial value. Refer to Linux eventfd(2). - pub fn new(flag: i32) -> result::Result { - // This is safe because eventfd merely allocated an eventfd for - // our process and we handle the error case. - let ret = unsafe { eventfd(0, flag) }; - if ret < 0 { - Err(io::Error::last_os_error()) - } else { - // This is safe because we checked ret for success and know - // the kernel gave us an fd that we own. - Ok(EventFd { - eventfd: unsafe { File::from_raw_fd(ret) }, - }) - } - } - - /// Adds `v` to the eventfd's count, does not block if the result will overflow the count - pub fn write(&self, v: u64) -> result::Result<(), io::Error> { - // This is safe because we made this fd and the pointer we pass - // can not overflow because we give the syscall's size parameter properly. - let ret = unsafe { - write( - self.as_raw_fd(), - &v as *const u64 as *const c_void, - mem::size_of::(), - ) - }; - if ret <= 0 { - Err(io::Error::last_os_error()) - } else { - Ok(()) - } - } - - /// Tries to read from the eventfd, does not block if the counter is zero - pub fn read(&self) -> result::Result { - let mut buf: u64 = 0; - let ret = unsafe { - // This is safe because we made this fd and the pointer we - // pass can not overflow because we give the syscall's size parameter properly. - read( - self.as_raw_fd(), - &mut buf as *mut u64 as *mut c_void, - mem::size_of::(), - ) - }; - if ret < 0 { - Err(io::Error::last_os_error()) - } else { - Ok(buf) - } - } - - /// Clones this EventFd, internally creating a new file descriptor. The new EventFd will share - /// the same underlying count within the kernel. - pub fn try_clone(&self) -> result::Result { - // This is safe because we made this fd and properly check that it returns without error. - let ret = unsafe { dup(self.as_raw_fd()) }; - if ret < 0 { - Err(io::Error::last_os_error()) - } else { - // This is safe because we checked ret for success and know the kernel gave us an fd that we - // own. - Ok(EventFd { - eventfd: unsafe { File::from_raw_fd(ret) }, - }) - } - } -} - -impl AsRawFd for EventFd { - fn as_raw_fd(&self) -> RawFd { - self.eventfd.as_raw_fd() - } -} - -impl FromRawFd for EventFd { - unsafe fn from_raw_fd(fd: RawFd) -> Self { - EventFd { - eventfd: File::from_raw_fd(fd), - } - } -} - -#[cfg(test)] -mod tests { - use super::*; - use libc::EFD_NONBLOCK; - - #[test] - fn test_new() { - EventFd::new(EFD_NONBLOCK).unwrap(); - EventFd::new(0).unwrap(); - } - - #[test] - fn test_read_write() { - let evt = EventFd::new(EFD_NONBLOCK).unwrap(); - evt.write(55).unwrap(); - assert_eq!(evt.read().unwrap(), 55); - } - - #[test] - fn test_write_overflow() { - let evt = EventFd::new(EFD_NONBLOCK).unwrap(); - evt.write(std::u64::MAX - 1).unwrap(); - let r = evt.write(1); - match r { - Err(ref inner) if inner.kind() == io::ErrorKind::WouldBlock => (), - _ => panic!("Unexpected"), - } - } - #[test] - fn test_read_nothing() { - let evt = EventFd::new(EFD_NONBLOCK).unwrap(); - let r = evt.read(); - match r { - Err(ref inner) if inner.kind() == io::ErrorKind::WouldBlock => (), - _ => panic!("Unexpected"), - } - } - #[test] - fn test_clone() { - let evt = EventFd::new(EFD_NONBLOCK).unwrap(); - let evt_clone = evt.try_clone().unwrap(); - evt.write(923).unwrap(); - assert_eq!(evt_clone.read().unwrap(), 923); - } -} diff --git a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/file_traits.rs b/vendor/git-bad78e1967b13e00/vmm-sys-util/src/file_traits.rs deleted file mode 100644 index a2fa77b87..000000000 --- a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/file_traits.rs +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2018 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. -// -// SPDX-License-Identifier: BSD-3-Clause - -use std::fs::File; -use std::io::Result; - -/// A trait for flushing the contents of a file to disk. -/// This is equivalent to File's `sync_all` method, but -/// wrapped in a trait so that it can be implemented for -/// other types. -pub trait FileSync { - // Flush buffers related to this file to disk. - fn fsync(&mut self) -> Result<()>; -} - -impl FileSync for File { - fn fsync(&mut self) -> Result<()> { - self.sync_all() - } -} - -/// A trait for setting the size of a file. -/// This is equivalent to File's `set_len` method, but -/// wrapped in a trait so that it can be implemented for -/// other types. -pub trait FileSetLen { - // Set the size of this file. - // This is the moral equivalent of `ftruncate()`. - fn set_len(&self, _len: u64) -> Result<()>; -} - -impl FileSetLen for File { - fn set_len(&self, len: u64) -> Result<()> { - File::set_len(self, len) - } -} diff --git a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/ioctl.rs b/vendor/git-bad78e1967b13e00/vmm-sys-util/src/ioctl.rs deleted file mode 100644 index 0adc3b1d4..000000000 --- a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/ioctl.rs +++ /dev/null @@ -1,225 +0,0 @@ -// Copyright 2019 Intel Corporation. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. - -//! Macros and wrapper functions for dealing with ioctls. -use libc; -use std::os::raw::{c_int, c_uint, c_ulong, c_void}; -use std::os::unix::io::AsRawFd; - -/// Raw macro to declare the expression that calculates an ioctl number -#[macro_export] -macro_rules! ioctl_expr { - ($dir:expr, $ty:expr, $nr:expr, $size:expr) => { - (($dir << $crate::ioctl::_IOC_DIRSHIFT) - | ($ty << $crate::ioctl::_IOC_TYPESHIFT) - | ($nr << $crate::ioctl::_IOC_NRSHIFT) - | ($size << $crate::ioctl::_IOC_SIZESHIFT)) as ::std::os::raw::c_ulong - }; -} - -/// Raw macro to declare a function that returns an ioctl number. -#[macro_export] -macro_rules! ioctl_ioc_nr { - ($name:ident, $dir:expr, $ty:expr, $nr:expr, $size:expr) => { - #[allow(non_snake_case)] - #[allow(clippy::cast_lossless)] - pub fn $name() -> ::std::os::raw::c_ulong { - ioctl_expr!($dir, $ty, $nr, $size) - } - }; - ($name:ident, $dir:expr, $ty:expr, $nr:expr, $size:expr, $($v:ident),+) => { - #[allow(non_snake_case)] - #[allow(clippy::cast_lossless)] - pub fn $name($($v: ::std::os::raw::c_uint),+) -> ::std::os::raw::c_ulong { - ioctl_expr!($dir, $ty, $nr, $size) - } - }; -} - -/// Declare an ioctl that transfers no data. -#[macro_export] -macro_rules! ioctl_io_nr { - ($name:ident, $ty:expr, $nr:expr) => { - ioctl_ioc_nr!($name, $crate::ioctl::_IOC_NONE, $ty, $nr, 0); - }; - ($name:ident, $ty:expr, $nr:expr, $($v:ident),+) => { - ioctl_ioc_nr!($name, $crate::ioctl::_IOC_NONE, $ty, $nr, 0, $($v),+); - }; -} - -/// Declare an ioctl that reads data. -#[macro_export] -macro_rules! ioctl_ior_nr { - ($name:ident, $ty:expr, $nr:expr, $size:ty) => { - ioctl_ioc_nr!( - $name, - $crate::ioctl::_IOC_READ, - $ty, - $nr, - ::std::mem::size_of::<$size>() as u32 - ); - }; - ($name:ident, $ty:expr, $nr:expr, $size:ty, $($v:ident),+) => { - ioctl_ioc_nr!( - $name, - $crate::ioctl::_IOC_READ, - $ty, - $nr, - ::std::mem::size_of::<$size>() as u32, - $($v),+ - ); - }; -} - -/// Declare an ioctl that writes data. -#[macro_export] -macro_rules! ioctl_iow_nr { - ($name:ident, $ty:expr, $nr:expr, $size:ty) => { - ioctl_ioc_nr!( - $name, - $crate::ioctl::_IOC_WRITE, - $ty, - $nr, - ::std::mem::size_of::<$size>() as u32 - ); - }; - ($name:ident, $ty:expr, $nr:expr, $size:ty, $($v:ident),+) => { - ioctl_ioc_nr!( - $name, - $crate::ioctl::_IOC_WRITE, - $ty, - $nr, - ::std::mem::size_of::<$size>() as u32, - $($v),+ - ); - }; -} - -/// Declare an ioctl that reads and writes data. -#[macro_export] -macro_rules! ioctl_iowr_nr { - ($name:ident, $ty:expr, $nr:expr, $size:ty) => { - ioctl_ioc_nr!( - $name, - $crate::ioctl::_IOC_READ | $crate::ioctl::_IOC_WRITE, - $ty, - $nr, - ::std::mem::size_of::<$size>() as u32 - ); - }; - ($name:ident, $ty:expr, $nr:expr, $size:ty, $($v:ident),+) => { - ioctl_ioc_nr!( - $name, - $crate::ioctl::_IOC_READ | $crate::ioctl::_IOC_WRITE, - $ty, - $nr, - ::std::mem::size_of::<$size>() as u32, - $($v),+ - ); - }; -} - -pub const _IOC_NRBITS: c_uint = 8; -pub const _IOC_TYPEBITS: c_uint = 8; -pub const _IOC_SIZEBITS: c_uint = 14; -pub const _IOC_DIRBITS: c_uint = 2; -pub const _IOC_NRMASK: c_uint = 255; -pub const _IOC_TYPEMASK: c_uint = 255; -pub const _IOC_SIZEMASK: c_uint = 16383; -pub const _IOC_DIRMASK: c_uint = 3; -pub const _IOC_NRSHIFT: c_uint = 0; -pub const _IOC_TYPESHIFT: c_uint = 8; -pub const _IOC_SIZESHIFT: c_uint = 16; -pub const _IOC_DIRSHIFT: c_uint = 30; -pub const _IOC_NONE: c_uint = 0; -pub const _IOC_WRITE: c_uint = 1; -pub const _IOC_READ: c_uint = 2; -pub const IOC_IN: c_uint = 1_073_741_824; -pub const IOC_OUT: c_uint = 2_147_483_648; -pub const IOC_INOUT: c_uint = 3_221_225_472; -pub const IOCSIZE_MASK: c_uint = 1_073_676_288; -pub const IOCSIZE_SHIFT: c_uint = 16; - -// The type of the `req` parameter is different for the `musl` library. This will enable -// successful build for other non-musl libraries. -#[cfg(target_env = "musl")] -type IoctlRequest = c_int; -#[cfg(not(target_env = "musl"))] -type IoctlRequest = c_ulong; - -/// Run an ioctl with no arguments. -pub unsafe fn ioctl(fd: &F, req: c_ulong) -> c_int { - libc::ioctl(fd.as_raw_fd(), req as IoctlRequest, 0) -} - -/// Run an ioctl with a single value argument. -pub unsafe fn ioctl_with_val(fd: &F, req: c_ulong, arg: c_ulong) -> c_int { - libc::ioctl(fd.as_raw_fd(), req as IoctlRequest, arg) -} - -/// Run an ioctl with an immutable reference. -pub unsafe fn ioctl_with_ref(fd: &F, req: c_ulong, arg: &T) -> c_int { - libc::ioctl( - fd.as_raw_fd(), - req as IoctlRequest, - arg as *const T as *const c_void, - ) -} - -/// Run an ioctl with a mutable reference. -pub unsafe fn ioctl_with_mut_ref(fd: &F, req: c_ulong, arg: &mut T) -> c_int { - libc::ioctl( - fd.as_raw_fd(), - req as IoctlRequest, - arg as *mut T as *mut c_void, - ) -} - -/// Run an ioctl with a raw pointer. -pub unsafe fn ioctl_with_ptr(fd: &F, req: c_ulong, arg: *const T) -> c_int { - libc::ioctl(fd.as_raw_fd(), req as IoctlRequest, arg as *const c_void) -} - -/// Run an ioctl with a mutable raw pointer. -pub unsafe fn ioctl_with_mut_ptr(fd: &F, req: c_ulong, arg: *mut T) -> c_int { - libc::ioctl(fd.as_raw_fd(), req as IoctlRequest, arg as *mut c_void) -} - -#[cfg(test)] -mod tests { - const TUNTAP: ::std::os::raw::c_uint = 0x54; - const VHOST: ::std::os::raw::c_uint = 0xAF; - const EVDEV: ::std::os::raw::c_uint = 0x45; - - const KVMIO: ::std::os::raw::c_uint = 0xAE; - - ioctl_io_nr!(KVM_CREATE_VM, KVMIO, 0x01); - ioctl_ior_nr!(TUNGETFEATURES, TUNTAP, 0xcf, ::std::os::raw::c_uint); - ioctl_iow_nr!(TUNSETQUEUE, TUNTAP, 0xd9, ::std::os::raw::c_int); - ioctl_io_nr!(VHOST_SET_OWNER, VHOST, 0x01); - ioctl_iowr_nr!(VHOST_GET_VRING_BASE, VHOST, 0x12, ::std::os::raw::c_int); - ioctl_iowr_nr!(KVM_GET_MSR_INDEX_LIST, KVMIO, 0x2, ::std::os::raw::c_int); - - ioctl_ior_nr!(EVIOCGBIT, EVDEV, 0x20 + evt, [u8; 128], evt); - ioctl_io_nr!(FAKE_IOCTL_2_ARG, EVDEV, 0x01 + x + y, x, y); - - #[test] - fn test_ioctl_macros() { - assert_eq!(0x0000_AE01, KVM_CREATE_VM()); - assert_eq!(0x0000_AF01, VHOST_SET_OWNER()); - assert_eq!(0x8004_54CF, TUNGETFEATURES()); - assert_eq!(0x4004_54D9, TUNSETQUEUE()); - assert_eq!(0xC004_AE02, KVM_GET_MSR_INDEX_LIST()); - assert_eq!(0xC004_AF12, VHOST_GET_VRING_BASE()); - - assert_eq!(0x8080_4522, EVIOCGBIT(2)); - assert_eq!(0x0000_4509, FAKE_IOCTL_2_ARG(3, 5)); - } -} diff --git a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/lib.rs b/vendor/git-bad78e1967b13e00/vmm-sys-util/src/lib.rs deleted file mode 100644 index 883e4a53d..000000000 --- a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/lib.rs +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright 2019 Intel Corporation. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -extern crate libc; - -mod tempdir; - -#[macro_use] -pub mod ioctl; - -pub mod errno; -pub mod eventfd; -pub mod file_traits; -pub mod seek_hole; -pub mod signal; -pub mod terminal; -pub mod timerfd; -pub mod write_zeroes; - -#[macro_use] -pub mod syslog; - -pub mod poll; - -pub use crate::tempdir::*; -pub use errno::*; -pub use eventfd::*; -pub use poll::*; - -use std::os::unix::io::AsRawFd; - -pub use crate::file_traits::{FileSetLen, FileSync}; -pub use crate::seek_hole::SeekHole; -pub use crate::write_zeroes::{PunchHole, WriteZeroes}; - -pub enum FallocateMode { - PunchHole, - ZeroRange, -} - -/// Safe wrapper for `fallocate()`. -pub fn fallocate( - file: &dyn AsRawFd, - mode: FallocateMode, - keep_size: bool, - offset: u64, - len: u64, -) -> Result<()> { - let offset = if offset > libc::off64_t::max_value() as u64 { - return Err(Error::new(libc::EINVAL)); - } else { - offset as libc::off64_t - }; - - let len = if len > libc::off64_t::max_value() as u64 { - return Err(Error::new(libc::EINVAL)); - } else { - len as libc::off64_t - }; - - let mut mode = match mode { - FallocateMode::PunchHole => libc::FALLOC_FL_PUNCH_HOLE, - FallocateMode::ZeroRange => libc::FALLOC_FL_ZERO_RANGE, - }; - - if keep_size { - mode |= libc::FALLOC_FL_KEEP_SIZE; - } - - // Safe since we pass in a valid fd and fallocate mode, validate offset and len, - // and check the return value. - let ret = unsafe { libc::fallocate64(file.as_raw_fd(), mode, offset, len) }; - if ret < 0 { - errno_result() - } else { - Ok(()) - } -} diff --git a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/poll.rs b/vendor/git-bad78e1967b13e00/vmm-sys-util/src/poll.rs deleted file mode 100644 index 4eb49a429..000000000 --- a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/poll.rs +++ /dev/null @@ -1,711 +0,0 @@ -// Copyright 2019 Intel Corporation. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. - -use std::cell::{Cell, Ref, RefCell}; -use std::cmp::min; -use std::fs::File; -use std::i32; -use std::i64; -use std::marker::PhantomData; -use std::os::unix::io::{AsRawFd, FromRawFd, IntoRawFd, RawFd}; -use std::ptr::null_mut; -use std::slice; -use std::thread; -use std::time::Duration; - -use libc::{ - c_int, epoll_create1, epoll_ctl, epoll_event, epoll_wait, EINTR, EPOLLHUP, EPOLLIN, EPOLLOUT, - EPOLL_CLOEXEC, EPOLL_CTL_ADD, EPOLL_CTL_DEL, EPOLL_CTL_MOD, -}; - -use crate::{errno_result, Error, Result}; - -macro_rules! handle_eintr_errno { - ($x:expr) => {{ - let mut res; - loop { - res = $x; - if res != -1 || Error::last() != Error::new(EINTR) { - break; - } - } - res - }}; -} - -const POLL_CONTEXT_MAX_EVENTS: usize = 16; - -/// EpollEvents wraps raw epoll_events, it should only be used with EpollContext. -pub struct EpollEvents(RefCell<[epoll_event; POLL_CONTEXT_MAX_EVENTS]>); - -impl EpollEvents { - pub fn new() -> EpollEvents { - EpollEvents(RefCell::new( - [epoll_event { events: 0, u64: 0 }; POLL_CONTEXT_MAX_EVENTS], - )) - } -} - -impl Default for EpollEvents { - fn default() -> Self { - Self::new() - } -} - -/// Trait for a token that can be associated with an `fd` in a `PollContext`. -/// -/// Simple enums that have no or primitive variant data can use the `#[derive(PollToken)]` -/// custom derive to implement this trait. -pub trait PollToken { - /// Converts this token into a u64 that can be turned back into a token via `from_raw_token`. - fn as_raw_token(&self) -> u64; - - /// Converts a raw token as returned from `as_raw_token` back into a token. - /// - /// It is invalid to give a raw token that was not returned via `as_raw_token` from the same - /// `Self`. The implementation can expect that this will never happen as a result of its usage - /// in `PollContext`. - fn from_raw_token(data: u64) -> Self; -} - -impl PollToken for usize { - fn as_raw_token(&self) -> u64 { - *self as u64 - } - - fn from_raw_token(data: u64) -> Self { - data as Self - } -} - -impl PollToken for u64 { - fn as_raw_token(&self) -> u64 { - *self as u64 - } - - fn from_raw_token(data: u64) -> Self { - data as Self - } -} - -impl PollToken for u32 { - fn as_raw_token(&self) -> u64 { - u64::from(*self) - } - - fn from_raw_token(data: u64) -> Self { - data as Self - } -} - -impl PollToken for u16 { - fn as_raw_token(&self) -> u64 { - u64::from(*self) - } - - fn from_raw_token(data: u64) -> Self { - data as Self - } -} - -impl PollToken for u8 { - fn as_raw_token(&self) -> u64 { - u64::from(*self) - } - - fn from_raw_token(data: u64) -> Self { - data as Self - } -} - -impl PollToken for () { - fn as_raw_token(&self) -> u64 { - 0 - } - - fn from_raw_token(_data: u64) -> Self {} -} - -/// An event returned by `PollContext::wait`. -pub struct PollEvent<'a, T> { - event: &'a epoll_event, - token: PhantomData, // Needed to satisfy usage of T -} - -impl<'a, T: PollToken> PollEvent<'a, T> { - /// Gets the token associated in `PollContext::add` with this event. - pub fn token(&self) -> T { - T::from_raw_token(self.event.u64) - } - - /// True if the `fd` associated with this token in `PollContext::add` is readable. - pub fn readable(&self) -> bool { - self.event.events & (EPOLLIN as u32) != 0 - } - - /// True if the `fd` associated with this token in `PollContext::add` has been hungup on. - pub fn hungup(&self) -> bool { - self.event.events & (EPOLLHUP as u32) != 0 - } -} - -/// An iterator over some (sub)set of events returned by `PollContext::wait`. -pub struct PollEventIter<'a, I, T> -where - I: Iterator, -{ - mask: u32, - iter: I, - tokens: PhantomData<[T]>, // Needed to satisfy usage of T -} - -impl<'a, I, T> Iterator for PollEventIter<'a, I, T> -where - I: Iterator, - T: PollToken, -{ - type Item = PollEvent<'a, T>; - fn next(&mut self) -> Option { - let mask = self.mask; - self.iter - .find(|event| (event.events & mask) != 0) - .map(|event| PollEvent { - event, - token: PhantomData, - }) - } -} - -/// The list of event returned by `PollContext::wait`. -pub struct PollEvents<'a, T> { - count: usize, - events: Ref<'a, [epoll_event; POLL_CONTEXT_MAX_EVENTS]>, - tokens: PhantomData<[T]>, // Needed to satisfy usage of T -} - -impl<'a, T: PollToken> PollEvents<'a, T> { - /// Copies the events to an owned structure so the reference to this (and by extension - /// `PollContext`) can be dropped. - pub fn to_owned(&self) -> PollEventsOwned { - PollEventsOwned { - count: self.count, - events: RefCell::new(*self.events), - tokens: PhantomData, - } - } - - /// Iterates over each event. - pub fn iter(&self) -> PollEventIter, T> { - PollEventIter { - mask: 0xffff_ffff, - iter: self.events[..self.count].iter(), - tokens: PhantomData, - } - } - - /// Iterates over each readable event. - pub fn iter_readable(&self) -> PollEventIter, T> { - PollEventIter { - mask: EPOLLIN as u32, - iter: self.events[..self.count].iter(), - tokens: PhantomData, - } - } - - /// Iterates over each hungup event. - pub fn iter_hungup(&self) -> PollEventIter, T> { - PollEventIter { - mask: EPOLLHUP as u32, - iter: self.events[..self.count].iter(), - tokens: PhantomData, - } - } -} - -/// A deep copy of the event records from `PollEvents`. -pub struct PollEventsOwned { - count: usize, - events: RefCell<[epoll_event; POLL_CONTEXT_MAX_EVENTS]>, - tokens: PhantomData, // Needed to satisfy usage of T -} - -impl PollEventsOwned { - /// Takes a reference to the events so that they can be iterated via methods in `PollEvents`. - pub fn as_ref(&self) -> PollEvents { - PollEvents { - count: self.count, - events: self.events.borrow(), - tokens: PhantomData, - } - } -} - -/// Watching events taken by PollContext. -pub struct WatchingEvents(u32); - -impl WatchingEvents { - /// Returns empty Events. - #[inline(always)] - pub fn empty() -> WatchingEvents { - WatchingEvents(0) - } - - /// Build Events from raw epoll events (defined in epoll_ctl(2)). - #[inline(always)] - pub fn new(raw: u32) -> WatchingEvents { - WatchingEvents(raw) - } - - /// Set read events. - #[inline(always)] - pub fn set_read(self) -> WatchingEvents { - WatchingEvents(self.0 | EPOLLIN as u32) - } - - /// Set write events. - #[inline(always)] - pub fn set_write(self) -> WatchingEvents { - WatchingEvents(self.0 | EPOLLOUT as u32) - } - - /// Get the underlying epoll events. - pub fn get_raw(&self) -> u32 { - self.0 - } -} - -/// EpollContext wraps linux epoll. It provides similar interface to PollContext. -/// It is thread safe while PollContext is not. It requires user to pass in a reference of -/// EpollEvents while PollContext does not. Always use PollContext if you don't need to access the -/// same epoll from different threads. -pub struct EpollContext { - epoll_ctx: File, - // Needed to satisfy usage of T - tokens: PhantomData<[T]>, -} - -impl EpollContext { - /// Creates a new `EpollContext`. - pub fn new() -> Result> { - // Safe because we check the return value. - let epoll_fd = unsafe { epoll_create1(EPOLL_CLOEXEC) }; - if epoll_fd < 0 { - return errno_result(); - } - Ok(EpollContext { - epoll_ctx: unsafe { File::from_raw_fd(epoll_fd) }, - tokens: PhantomData, - }) - } - - /// Adds the given `fd` to this context and associates the given `token` with the `fd`'s - /// readable events. - /// - /// A `fd` can only be added once and does not need to be kept open. If the `fd` is dropped and - /// there were no duplicated file descriptors (i.e. adding the same descriptor with a different - /// FD number) added to this context, events will not be reported by `wait` anymore. - pub fn add(&self, fd: &AsRawFd, token: T) -> Result<()> { - self.add_fd_with_events(fd, WatchingEvents::empty().set_read(), token) - } - - /// Adds the given `fd` to this context, watching for the specified events and associates the - /// given 'token' with those events. - /// - /// A `fd` can only be added once and does not need to be kept open. If the `fd` is dropped and - /// there were no duplicated file descriptors (i.e. adding the same descriptor with a different - /// FD number) added to this context, events will not be reported by `wait` anymore. - pub fn add_fd_with_events(&self, fd: &AsRawFd, events: WatchingEvents, token: T) -> Result<()> { - let mut evt = epoll_event { - events: events.get_raw(), - u64: token.as_raw_token(), - }; - // Safe because we give a valid epoll FD and FD to watch, as well as a valid epoll_event - // structure. Then we check the return value. - let ret = unsafe { - epoll_ctl( - self.epoll_ctx.as_raw_fd(), - EPOLL_CTL_ADD, - fd.as_raw_fd(), - &mut evt, - ) - }; - if ret < 0 { - return errno_result(); - }; - Ok(()) - } - - /// If `fd` was previously added to this context, the watched events will be replaced with - /// `events` and the token associated with it will be replaced with the given `token`. - pub fn modify(&self, fd: &AsRawFd, events: WatchingEvents, token: T) -> Result<()> { - let mut evt = epoll_event { - events: events.0, - u64: token.as_raw_token(), - }; - // Safe because we give a valid epoll FD and FD to modify, as well as a valid epoll_event - // structure. Then we check the return value. - let ret = unsafe { - epoll_ctl( - self.epoll_ctx.as_raw_fd(), - EPOLL_CTL_MOD, - fd.as_raw_fd(), - &mut evt, - ) - }; - if ret < 0 { - return errno_result(); - }; - Ok(()) - } - - /// Deletes the given `fd` from this context. - /// - /// If an `fd`'s token shows up in the list of hangup events, it should be removed using this - /// method or by closing/dropping (if and only if the fd was never dup()'d/fork()'d) the `fd`. - /// Failure to do so will cause the `wait` method to always return immediately, causing ~100% - /// CPU load. - pub fn delete(&self, fd: &AsRawFd) -> Result<()> { - // Safe because we give a valid epoll FD and FD to stop watching. Then we check the return - // value. - let ret = unsafe { - epoll_ctl( - self.epoll_ctx.as_raw_fd(), - EPOLL_CTL_DEL, - fd.as_raw_fd(), - null_mut(), - ) - }; - if ret < 0 { - return errno_result(); - }; - Ok(()) - } - - /// Waits for any events to occur in FDs that were previously added to this context. - /// - /// The events are level-triggered, meaning that if any events are unhandled (i.e. not reading - /// for readable events and not closing for hungup events), subsequent calls to `wait` will - /// return immediately. The consequence of not handling an event perpetually while calling - /// `wait` is that the callers loop will degenerated to busy loop polling, pinning a CPU to - /// ~100% usage. - pub fn wait<'a>(&self, events: &'a EpollEvents) -> Result> { - self.wait_timeout(events, Duration::new(i64::MAX as u64, 0)) - } - - /// Like `wait` except will only block for a maximum of the given `timeout`. - /// - /// This may return earlier than `timeout` with zero events if the duration indicated exceeds - /// system limits. - pub fn wait_timeout<'a>( - &self, - events: &'a EpollEvents, - timeout: Duration, - ) -> Result> { - let timeout_millis = if timeout.as_secs() as i64 == i64::max_value() { - // We make the convenient assumption that 2^63 seconds is an effectively unbounded time - // frame. This is meant to mesh with `wait` calling us with no timeout. - -1 - } else { - // In cases where we the number of milliseconds would overflow an i32, we substitute the - // maximum timeout which is ~24.8 days. - let millis = timeout - .as_secs() - .checked_mul(1_000) - .and_then(|ms| ms.checked_add(u64::from(timeout.subsec_nanos()) / 1_000_000)) - .unwrap_or(i32::max_value() as u64); - min(i32::max_value() as u64, millis) as i32 - }; - let ret = { - let mut epoll_events = events.0.borrow_mut(); - let max_events = epoll_events.len() as c_int; - // Safe because we give an epoll context and a properly sized epoll_events array - // pointer, which we trust the kernel to fill in properly. - unsafe { - handle_eintr_errno!(epoll_wait( - self.epoll_ctx.as_raw_fd(), - &mut epoll_events[0], - max_events, - timeout_millis - )) - } - }; - if ret < 0 { - return errno_result(); - } - let epoll_events = events.0.borrow(); - let events = PollEvents { - count: ret as usize, - events: epoll_events, - tokens: PhantomData, - }; - Ok(events) - } -} - -impl AsRawFd for EpollContext { - fn as_raw_fd(&self) -> RawFd { - self.epoll_ctx.as_raw_fd() - } -} - -impl IntoRawFd for EpollContext { - fn into_raw_fd(self) -> RawFd { - self.epoll_ctx.into_raw_fd() - } -} - -/// Used to poll multiple objects that have file descriptors. -/// -/// # Example -/// -/// ``` -/// # use vmm_sys_util::{Result, EventFd, PollContext, PollEvents}; -/// # fn test() -> Result<()> { -/// let evt1 = EventFd::new(0)?; -/// let evt2 = EventFd::new(0)?; -/// evt2.write(1)?; -/// -/// let ctx: PollContext = PollContext::new()?; -/// ctx.add(&evt1, 1)?; -/// ctx.add(&evt2, 2)?; -/// -/// let pollevents: PollEvents = ctx.wait()?; -/// let tokens: Vec = pollevents.iter_readable().map(|e| e.token()).collect(); -/// assert_eq!(&tokens[..], &[2]); -/// # Ok(()) -/// # } -/// ``` -pub struct PollContext { - epoll_ctx: EpollContext, - - // We use a RefCell here so that the `wait` method only requires an immutable self reference - // while returning the events (encapsulated by PollEvents). Without the RefCell, `wait` would - // hold a mutable reference that lives as long as its returned reference (i.e. the PollEvents), - // even though that reference is immutable. This is terribly inconvenient for the caller because - // the borrow checking would prevent them from using `delete` and `add` while the events are in - // scope. - events: EpollEvents, - - // Hangup busy loop detection variables. See `check_for_hungup_busy_loop`. - hangups: Cell, - max_hangups: Cell, -} - -impl PollContext { - /// Creates a new `PollContext`. - pub fn new() -> Result> { - Ok(PollContext { - epoll_ctx: EpollContext::new()?, - events: EpollEvents::new(), - hangups: Cell::new(0), - max_hangups: Cell::new(0), - }) - } - - /// Adds the given `fd` to this context and associates the given `token` with the `fd`'s - /// readable events. - /// - /// A `fd` can only be added once and does not need to be kept open. If the `fd` is dropped and - /// there were no duplicated file descriptors (i.e. adding the same descriptor with a different - /// FD number) added to this context, events will not be reported by `wait` anymore. - pub fn add(&self, fd: &AsRawFd, token: T) -> Result<()> { - self.add_fd_with_events(fd, WatchingEvents::empty().set_read(), token) - } - - /// Adds the given `fd` to this context, watching for the specified events and associates the - /// given 'token' with those events. - /// - /// A `fd` can only be added once and does not need to be kept open. If the `fd` is dropped and - /// there were no duplicated file descriptors (i.e. adding the same descriptor with a different - /// FD number) added to this context, events will not be reported by `wait` anymore. - pub fn add_fd_with_events(&self, fd: &AsRawFd, events: WatchingEvents, token: T) -> Result<()> { - self.epoll_ctx.add_fd_with_events(fd, events, token)?; - self.hangups.set(0); - self.max_hangups.set(self.max_hangups.get() + 1); - Ok(()) - } - - /// If `fd` was previously added to this context, the watched events will be replaced with - /// `events` and the token associated with it will be replaced with the given `token`. - pub fn modify(&self, fd: &AsRawFd, events: WatchingEvents, token: T) -> Result<()> { - self.epoll_ctx.modify(fd, events, token) - } - - /// Deletes the given `fd` from this context. - /// - /// If an `fd`'s token shows up in the list of hangup events, it should be removed using this - /// method or by closing/dropping (if and only if the fd was never dup()'d/fork()'d) the `fd`. - /// Failure to do so will cause the `wait` method to always return immediately, causing ~100% - /// CPU load. - pub fn delete(&self, fd: &AsRawFd) -> Result<()> { - self.epoll_ctx.delete(fd)?; - self.hangups.set(0); - self.max_hangups.set(self.max_hangups.get() - 1); - Ok(()) - } - - // This method determines if the the user of wait is misusing the `PollContext` by leaving FDs - // in this `PollContext` that have been shutdown or hungup on. Such an FD will cause `wait` to - // return instantly with a hungup event. If that FD is perpetually left in this context, a busy - // loop burning ~100% of one CPU will silently occur with no human visible malfunction. - // - // How do we know if the client of this context is ignoring hangups? A naive implementation - // would trigger if consecutive wait calls yield hangup events, but there are legitimate cases - // for this, such as two distinct sockets becoming hungup across two consecutive wait calls. A - // smarter implementation would only trigger if `delete` wasn't called between waits that - // yielded hangups. Sadly `delete` isn't the only way to remove an FD from this context. The - // other way is for the client to close the hungup FD, which automatically removes it from this - // context. Assuming that the client always uses close, this implementation would too eagerly - // trigger. - // - // The implementation used here keeps an upper bound of FDs in this context using a counter - // hooked into add/delete (which is imprecise because close can also remove FDs without us - // knowing). The number of consecutive (no add or delete in between) hangups yielded by wait - // calls is counted and compared to the upper bound. If the upper bound is exceeded by the - // consecutive hangups, the implementation triggers the check and logs. - // - // This implementation has false negatives because the upper bound can be completely too high, - // in the worst case caused by only using close instead of delete. However, this method has the - // advantage of always triggering eventually genuine busy loop cases, requires no dynamic - // allocations, is fast and constant time to compute, and has no false positives. - fn check_for_hungup_busy_loop(&self, new_hangups: usize) { - let old_hangups = self.hangups.get(); - let max_hangups = self.max_hangups.get(); - if old_hangups <= max_hangups && old_hangups + new_hangups > max_hangups { - warn!( - "busy poll wait loop with hungup FDs detected on thread {}", - thread::current().name().unwrap_or("") - ); - // This panic is helpful for tests of this functionality. - #[cfg(test)] - panic!("hungup busy loop detected"); - } - self.hangups.set(old_hangups + new_hangups); - } - - /// Waits for any events to occur in FDs that were previously added to this context. - /// - /// The events are level-triggered, meaning that if any events are unhandled (i.e. not reading - /// for readable events and not closing for hungup events), subsequent calls to `wait` will - /// return immediately. The consequence of not handling an event perpetually while calling - /// `wait` is that the callers loop will degenerated to busy loop polling, pinning a CPU to - /// ~100% usage. - /// - /// # Panics - /// Panics if the returned `PollEvents` structure is not dropped before subsequent `wait` calls. - pub fn wait(&self) -> Result> { - self.wait_timeout(Duration::new(i64::MAX as u64, 0)) - } - - /// Like `wait` except will only block for a maximum of the given `timeout`. - /// - /// This may return earlier than `timeout` with zero events if the duration indicated exceeds - /// system limits. - pub fn wait_timeout(&self, timeout: Duration) -> Result> { - let events = self.epoll_ctx.wait_timeout(&self.events, timeout)?; - let hangups = events.iter_hungup().count(); - self.check_for_hungup_busy_loop(hangups); - Ok(events) - } -} - -impl AsRawFd for PollContext { - fn as_raw_fd(&self) -> RawFd { - self.epoll_ctx.as_raw_fd() - } -} - -impl IntoRawFd for PollContext { - fn into_raw_fd(self) -> RawFd { - self.epoll_ctx.into_raw_fd() - } -} - -#[cfg(test)] -mod tests { - use super::*; - use crate::eventfd::EventFd; - use std::os::unix::net::UnixStream; - use std::time::Instant; - - #[test] - fn test_poll_context() { - let evt1 = EventFd::new(0).unwrap(); - let evt2 = EventFd::new(0).unwrap(); - evt1.write(1).unwrap(); - evt2.write(1).unwrap(); - let ctx: PollContext = PollContext::new().unwrap(); - ctx.add(&evt1, 1).unwrap(); - ctx.add(&evt2, 2).unwrap(); - - let mut evt_count = 0; - while evt_count < 2 { - for event in ctx.wait().unwrap().iter_readable() { - evt_count += 1; - match event.token() { - 1 => { - evt1.read().unwrap(); - ctx.delete(&evt1).unwrap(); - } - 2 => { - evt2.read().unwrap(); - ctx.delete(&evt2).unwrap(); - } - _ => panic!("unexpected token"), - }; - } - } - assert_eq!(evt_count, 2); - } - - #[test] - fn test_poll_context_overflow() { - const EVT_COUNT: usize = POLL_CONTEXT_MAX_EVENTS * 2 + 1; - let ctx: PollContext = PollContext::new().unwrap(); - let mut evts = Vec::with_capacity(EVT_COUNT); - for i in 0..EVT_COUNT { - let evt = EventFd::new(0).unwrap(); - evt.write(1).unwrap(); - ctx.add(&evt, i).unwrap(); - evts.push(evt); - } - let mut evt_count = 0; - while evt_count < EVT_COUNT { - for event in ctx.wait().unwrap().iter_readable() { - evts[event.token()].read().unwrap(); - evt_count += 1; - } - } - } - - #[test] - #[should_panic] - fn test_poll_context_hungup() { - let (s1, s2) = UnixStream::pair().unwrap(); - let ctx: PollContext = PollContext::new().unwrap(); - ctx.add(&s1, 1).unwrap(); - - // Causes s1 to receive hangup events, which we purposefully ignore to trip the detection - // logic in `PollContext`. - drop(s2); - - // Should easily panic within this many iterations. - for _ in 0..1000 { - ctx.wait().unwrap(); - } - } - - #[test] - fn test_poll_context_timeout() { - let ctx: PollContext = PollContext::new().unwrap(); - let dur = Duration::from_millis(10); - let start_inst = Instant::now(); - ctx.wait_timeout(dur).unwrap(); - assert!(start_inst.elapsed() >= dur); - } - -} diff --git a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/seek_hole.rs b/vendor/git-bad78e1967b13e00/vmm-sys-util/src/seek_hole.rs deleted file mode 100644 index 12ac2e9bb..000000000 --- a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/seek_hole.rs +++ /dev/null @@ -1,215 +0,0 @@ -// Copyright 2018 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. -// -// SPDX-License-Identifier: BSD-3-Clause - -use std::fs::File; -use std::io::{Error, Result}; -use std::os::unix::io::AsRawFd; - -#[cfg(target_env = "musl")] -use libc::{c_int, lseek64, ENXIO}; - -#[cfg(target_env = "gnu")] -use libc::{lseek64, ENXIO, SEEK_DATA, SEEK_HOLE}; - -/// A trait for seeking to the next hole or non-hole position in a file. -pub trait SeekHole { - /// Seek to the first hole in a file at a position greater than or equal to `offset`. - /// If no holes exist after `offset`, the seek position will be set to the end of the file. - /// If `offset` is at or after the end of the file, the seek position is unchanged, and None is returned. - /// Returns the current seek position after the seek or an error. - fn seek_hole(&mut self, offset: u64) -> Result>; - - /// Seek to the first data in a file at a position greater than or equal to `offset`. - /// If no data exists after `offset`, the seek position is unchanged, and None is returned. - /// Returns the current offset after the seek or an error. - fn seek_data(&mut self, offset: u64) -> Result>; -} - -#[cfg(target_env = "musl")] -pub const SEEK_DATA: c_int = 3; -#[cfg(target_env = "musl")] -pub const SEEK_HOLE: c_int = 4; - -/// Safe wrapper for `libc::lseek64()` -fn lseek(file: &mut File, offset: i64, whence: i32) -> Result> { - // This is safe because we pass a known-good file descriptor. - let res = unsafe { lseek64(file.as_raw_fd(), offset, whence) }; - - if res < 0 { - // Convert ENXIO into None; pass any other error as-is. - let err = Error::last_os_error(); - if let Some(errno) = Error::raw_os_error(&err) { - if errno == ENXIO { - return Ok(None); - } - } - Err(err) - } else { - Ok(Some(res as u64)) - } -} - -impl SeekHole for File { - fn seek_hole(&mut self, offset: u64) -> Result> { - lseek(self, offset as i64, SEEK_HOLE) - } - - fn seek_data(&mut self, offset: u64) -> Result> { - lseek(self, offset as i64, SEEK_DATA) - } -} - -#[cfg(test)] -mod tests { - use super::*; - use crate::TempDir; - use std::fs::File; - use std::io::{Seek, SeekFrom, Write}; - use std::path::PathBuf; - - fn seek_cur(file: &mut File) -> u64 { - file.seek(SeekFrom::Current(0)).unwrap() - } - - #[test] - fn seek_data() { - let tempdir = TempDir::new("/tmp/seek_data_test").unwrap(); - let mut path = PathBuf::from(tempdir.as_path().unwrap()); - path.push("test_file"); - let mut file = File::create(&path).unwrap(); - - // Empty file - assert_eq!(file.seek_data(0).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0); - - // File with non-zero length consisting entirely of a hole - file.set_len(0x10000).unwrap(); - assert_eq!(file.seek_data(0).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0); - - // seek_data at or after the end of the file should return None - assert_eq!(file.seek_data(0x10000).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0); - assert_eq!(file.seek_data(0x10001).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0); - - // Write some data to [0x10000, 0x20000) - let b = [0x55u8; 0x10000]; - file.seek(SeekFrom::Start(0x10000)).unwrap(); - file.write_all(&b).unwrap(); - assert_eq!(file.seek_data(0).unwrap(), Some(0x10000)); - assert_eq!(seek_cur(&mut file), 0x10000); - - // seek_data within data should return the same offset - assert_eq!(file.seek_data(0x10000).unwrap(), Some(0x10000)); - assert_eq!(seek_cur(&mut file), 0x10000); - assert_eq!(file.seek_data(0x10001).unwrap(), Some(0x10001)); - assert_eq!(seek_cur(&mut file), 0x10001); - assert_eq!(file.seek_data(0x1FFFF).unwrap(), Some(0x1FFFF)); - assert_eq!(seek_cur(&mut file), 0x1FFFF); - - // Extend the file to add another hole after the data - file.set_len(0x30000).unwrap(); - assert_eq!(file.seek_data(0).unwrap(), Some(0x10000)); - assert_eq!(seek_cur(&mut file), 0x10000); - assert_eq!(file.seek_data(0x1FFFF).unwrap(), Some(0x1FFFF)); - assert_eq!(seek_cur(&mut file), 0x1FFFF); - assert_eq!(file.seek_data(0x20000).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0x1FFFF); - } - - #[test] - #[allow(clippy::cyclomatic_complexity)] - fn seek_hole() { - let tempdir = TempDir::new("/tmp/seek_hole_test").unwrap(); - let mut path = PathBuf::from(tempdir.as_path().unwrap()); - path.push("test_file"); - let mut file = File::create(&path).unwrap(); - - // Empty file - assert_eq!(file.seek_hole(0).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0); - - // File with non-zero length consisting entirely of a hole - file.set_len(0x10000).unwrap(); - assert_eq!(file.seek_hole(0).unwrap(), Some(0)); - assert_eq!(seek_cur(&mut file), 0); - assert_eq!(file.seek_hole(0xFFFF).unwrap(), Some(0xFFFF)); - assert_eq!(seek_cur(&mut file), 0xFFFF); - - // seek_hole at or after the end of the file should return None - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x10000).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0); - assert_eq!(file.seek_hole(0x10001).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0); - - // Write some data to [0x10000, 0x20000) - let b = [0x55u8; 0x10000]; - file.seek(SeekFrom::Start(0x10000)).unwrap(); - file.write_all(&b).unwrap(); - - // seek_hole within a hole should return the same offset - assert_eq!(file.seek_hole(0).unwrap(), Some(0)); - assert_eq!(seek_cur(&mut file), 0); - assert_eq!(file.seek_hole(0xFFFF).unwrap(), Some(0xFFFF)); - assert_eq!(seek_cur(&mut file), 0xFFFF); - - // seek_hole within data should return the next hole (EOF) - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x10000).unwrap(), Some(0x20000)); - assert_eq!(seek_cur(&mut file), 0x20000); - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x10001).unwrap(), Some(0x20000)); - assert_eq!(seek_cur(&mut file), 0x20000); - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x1FFFF).unwrap(), Some(0x20000)); - assert_eq!(seek_cur(&mut file), 0x20000); - - // seek_hole at EOF after data should return None - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x20000).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0); - - // Extend the file to add another hole after the data - file.set_len(0x30000).unwrap(); - assert_eq!(file.seek_hole(0).unwrap(), Some(0)); - assert_eq!(seek_cur(&mut file), 0); - assert_eq!(file.seek_hole(0xFFFF).unwrap(), Some(0xFFFF)); - assert_eq!(seek_cur(&mut file), 0xFFFF); - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x10000).unwrap(), Some(0x20000)); - assert_eq!(seek_cur(&mut file), 0x20000); - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x1FFFF).unwrap(), Some(0x20000)); - assert_eq!(seek_cur(&mut file), 0x20000); - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x20000).unwrap(), Some(0x20000)); - assert_eq!(seek_cur(&mut file), 0x20000); - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x20001).unwrap(), Some(0x20001)); - assert_eq!(seek_cur(&mut file), 0x20001); - - // seek_hole at EOF after a hole should return None - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x30000).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0); - - // Write some data to [0x20000, 0x30000) - file.seek(SeekFrom::Start(0x20000)).unwrap(); - file.write_all(&b).unwrap(); - - // seek_hole within [0x20000, 0x30000) should now find the hole at EOF - assert_eq!(file.seek_hole(0x20000).unwrap(), Some(0x30000)); - assert_eq!(seek_cur(&mut file), 0x30000); - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x20001).unwrap(), Some(0x30000)); - assert_eq!(seek_cur(&mut file), 0x30000); - file.seek(SeekFrom::Start(0)).unwrap(); - assert_eq!(file.seek_hole(0x30000).unwrap(), None); - assert_eq!(seek_cur(&mut file), 0); - } -} diff --git a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/signal.rs b/vendor/git-bad78e1967b13e00/vmm-sys-util/src/signal.rs deleted file mode 100644 index 71d88b723..000000000 --- a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/signal.rs +++ /dev/null @@ -1,420 +0,0 @@ -// Copyright 2019 Intel Corporation. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. - -use libc::{ - c_int, c_void, pthread_kill, pthread_sigmask, pthread_t, sigaction, sigaddset, sigemptyset, - siginfo_t, sigismember, sigpending, sigset_t, sigtimedwait, timespec, EAGAIN, EINTR, EINVAL, - SIGHUP, SIGSYS, SIG_BLOCK, SIG_UNBLOCK, -}; - -use errno; -use std::fmt::{self, Display}; -use std::io; -use std::mem; -use std::os::unix::thread::JoinHandleExt; -use std::ptr::{null, null_mut}; -use std::result; -use std::thread::JoinHandle; - -#[derive(Debug)] -pub enum Error { - /// Couldn't create a sigset. - CreateSigset(errno::Error), - /// The wrapped signal has already been blocked. - SignalAlreadyBlocked(c_int), - /// Failed to check if the requested signal is in the blocked set already. - CompareBlockedSignals(errno::Error), - /// The signal could not be blocked. - BlockSignal(errno::Error), - /// The signal mask could not be retrieved. - RetrieveSignalMask(i32), - /// The signal could not be unblocked. - UnblockSignal(errno::Error), - /// Failed to wait for given signal. - ClearWaitPending(errno::Error), - /// Failed to get pending signals. - ClearGetPending(errno::Error), - /// Failed to check if given signal is in the set of pending signals. - ClearCheckPending(errno::Error), -} - -impl Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - use self::Error::*; - - match self { - CreateSigset(e) => write!(f, "couldn't create a sigset: {}", e), - SignalAlreadyBlocked(num) => write!(f, "signal {} already blocked", num), - CompareBlockedSignals(e) => write!( - f, - "failed to check whether requested signal is in the blocked set: {}", - e, - ), - BlockSignal(e) => write!(f, "signal could not be blocked: {}", e), - RetrieveSignalMask(errno) => write!( - f, - "failed to retrieve signal mask: {}", - io::Error::from_raw_os_error(*errno), - ), - UnblockSignal(e) => write!(f, "signal could not be unblocked: {}", e), - ClearWaitPending(e) => write!(f, "failed to wait for given signal: {}", e), - ClearGetPending(e) => write!(f, "failed to get pending signals: {}", e), - ClearCheckPending(e) => write!( - f, - "failed to check whether given signal is in the pending set: {}", - e, - ), - } - } -} - -pub type SignalResult = result::Result; -type SiginfoHandler = extern "C" fn(num: c_int, info: *mut siginfo_t, _unused: *mut c_void) -> (); - -pub enum SignalHandler { - Siginfo(SiginfoHandler), - // TODO add a`SimpleHandler` when `libc` adds `sa_handler` support to `sigaction`. -} - -impl SignalHandler { - fn set_flags(act: &mut sigaction, flag: c_int) { - act.sa_flags = flag; - } -} -/// Fills a `sigaction` structure from of the signal handler. -/// Refer to http://man7.org/linux/man-pages/man7/signal.7.html -impl Into for SignalHandler { - fn into(self) -> sigaction { - let mut act: sigaction = unsafe { mem::zeroed() }; - match self { - SignalHandler::Siginfo(function) => { - act.sa_sigaction = function as *const () as usize; - } - } - act - } -} - -extern "C" { - fn __libc_current_sigrtmin() -> c_int; - fn __libc_current_sigrtmax() -> c_int; -} - -/// Returns the minimum (inclusive) real-time signal number. -#[allow(non_snake_case)] -fn SIGRTMIN() -> c_int { - unsafe { __libc_current_sigrtmin() } -} - -/// Returns the maximum (inclusive) real-time signal number. -#[allow(non_snake_case)] -fn SIGRTMAX() -> c_int { - unsafe { __libc_current_sigrtmax() } -} - -/// Verifies that a signal number is valid: for VCPU signals, it needs to be enclosed within the OS -/// limits for realtime signals, and the remaining ones need to be between the minimum (SIGHUP) and -/// maximum (SIGSYS) values. -pub fn validate_signal_num(num: c_int, for_vcpu: bool) -> errno::Result { - if for_vcpu { - let actual_num = num + SIGRTMIN(); - if actual_num <= SIGRTMAX() { - return Ok(actual_num); - } - } else if SIGHUP <= num && num <= SIGSYS { - return Ok(num); - } - Err(errno::Error::new(EINVAL)) -} - -/// Registers `handler` as the signal handler of signum `num`. -/// -/// Uses `sigaction` to register the handler. -/// -/// This is considered unsafe because the given handler will be called asynchronously, interrupting -/// whatever the thread was doing and therefore must only do async-signal-safe operations. -/// flags: SA_SIGINFO or SA_RESTART if wants to restart after signal received. -pub unsafe fn register_signal_handler( - num: i32, - handler: SignalHandler, - for_vcpu: bool, - flag: c_int, -) -> errno::Result<()> { - let num = validate_signal_num(num, for_vcpu)?; - let mut act: sigaction = handler.into(); - SignalHandler::set_flags(&mut act, flag); - match sigaction(num, &act, null_mut()) { - 0 => Ok(()), - _ => errno::errno_result(), - } -} - -/// Creates `sigset` from an array of signal numbers. -/// -/// This is a helper function used when we want to manipulate signals. -pub fn create_sigset(signals: &[c_int]) -> errno::Result { - // sigset will actually be initialized by sigemptyset below. - let mut sigset: sigset_t = unsafe { mem::zeroed() }; - - // Safe - return value is checked. - let ret = unsafe { sigemptyset(&mut sigset) }; - if ret < 0 { - return errno::errno_result(); - } - - for signal in signals { - // Safe - return value is checked. - let ret = unsafe { sigaddset(&mut sigset, *signal) }; - if ret < 0 { - return errno::errno_result(); - } - } - - Ok(sigset) -} - -/// Retrieves the signal mask of the current thread as a vector of c_ints. -pub fn get_blocked_signals() -> SignalResult> { - let mut mask = Vec::new(); - - // Safe - return values are checked. - unsafe { - let mut old_sigset: sigset_t = mem::zeroed(); - let ret = pthread_sigmask(SIG_BLOCK, null(), &mut old_sigset as *mut sigset_t); - if ret < 0 { - return Err(Error::RetrieveSignalMask(ret)); - } - - for num in 0..=SIGRTMAX() { - if sigismember(&old_sigset, num) > 0 { - mask.push(num); - } - } - } - - Ok(mask) -} - -/// Masks given signal. -/// -/// If signal is already blocked the call will fail with Error::SignalAlreadyBlocked -/// result. -pub fn block_signal(num: c_int) -> SignalResult<()> { - let sigset = create_sigset(&[num]).map_err(Error::CreateSigset)?; - - // Safe - return values are checked. - unsafe { - let mut old_sigset: sigset_t = mem::zeroed(); - let ret = pthread_sigmask(SIG_BLOCK, &sigset, &mut old_sigset as *mut sigset_t); - if ret < 0 { - return Err(Error::BlockSignal(errno::Error::last())); - } - let ret = sigismember(&old_sigset, num); - if ret < 0 { - return Err(Error::CompareBlockedSignals(errno::Error::last())); - } else if ret > 0 { - return Err(Error::SignalAlreadyBlocked(num)); - } - } - Ok(()) -} - -/// Unmasks given signal. -pub fn unblock_signal(num: c_int) -> SignalResult<()> { - let sigset = create_sigset(&[num]).map_err(Error::CreateSigset)?; - - // Safe - return value is checked. - let ret = unsafe { pthread_sigmask(SIG_UNBLOCK, &sigset, null_mut()) }; - if ret < 0 { - return Err(Error::UnblockSignal(errno::Error::last())); - } - Ok(()) -} - -/// Clears pending signal. -pub fn clear_signal(num: c_int) -> SignalResult<()> { - let sigset = create_sigset(&[num]).map_err(Error::CreateSigset)?; - - while { - // This is safe as we are rigorously checking return values - // of libc calls. - unsafe { - let mut siginfo: siginfo_t = mem::zeroed(); - let ts = timespec { - tv_sec: 0, - tv_nsec: 0, - }; - // Attempt to consume one instance of pending signal. If signal - // is not pending, the call will fail with EAGAIN or EINTR. - let ret = sigtimedwait(&sigset, &mut siginfo, &ts); - if ret < 0 { - let e = errno::Error::last(); - match e.errno() { - EAGAIN | EINTR => {} - _ => { - return Err(Error::ClearWaitPending(errno::Error::last())); - } - } - } - - // This sigset will be actually filled with `sigpending` call. - let mut chkset: sigset_t = mem::zeroed(); - // See if more instances of the signal are pending. - let ret = sigpending(&mut chkset); - if ret < 0 { - return Err(Error::ClearGetPending(errno::Error::last())); - } - - let ret = sigismember(&chkset, num); - if ret < 0 { - return Err(Error::ClearCheckPending(errno::Error::last())); - } - - // This is do-while loop condition. - ret != 0 - } - } {} - - Ok(()) -} - -/// Trait for threads that can be signalled via `pthread_kill`. -/// -/// Note that this is only useful for signals between SIGRTMIN and SIGRTMAX because these are -/// guaranteed to not be used by the C runtime. -/// -/// This is marked unsafe because the implementation of this trait must guarantee that the returned -/// pthread_t is valid and has a lifetime at least that of the trait object. -pub unsafe trait Killable { - fn pthread_handle(&self) -> pthread_t; - - /// Sends the signal `num + SIGRTMIN` to this killable thread. - /// - /// The value of `num + SIGRTMIN` must not exceed `SIGRTMAX`. - fn kill(&self, num: i32) -> errno::Result<()> { - let num = validate_signal_num(num, true)?; - - // Safe because we ensure we are using a valid pthread handle, a valid signal number, and - // check the return result. - let ret = unsafe { pthread_kill(self.pthread_handle(), num) }; - if ret < 0 { - return errno::errno_result(); - } - Ok(()) - } -} - -// Safe because we fulfill our contract of returning a genuine pthread handle. -unsafe impl Killable for JoinHandle { - fn pthread_handle(&self) -> pthread_t { - self.as_pthread_t() - } -} - -#[cfg(test)] -mod tests { - use super::*; - use libc::SA_SIGINFO; - use std::thread; - use std::time::Duration; - - static mut SIGNAL_HANDLER_CALLED: bool = false; - - extern "C" fn handle_signal(_: c_int, _: *mut siginfo_t, _: *mut c_void) { - unsafe { - SIGNAL_HANDLER_CALLED = true; - } - } - - #[test] - fn test_register_signal_handler() { - unsafe { - // testing bad value - assert!(register_signal_handler( - SIGRTMAX(), - SignalHandler::Siginfo(handle_signal), - true, - SA_SIGINFO - ) - .is_err()); - format!( - "{:?}", - register_signal_handler( - SIGRTMAX(), - SignalHandler::Siginfo(handle_signal), - true, - SA_SIGINFO - ) - ); - assert!(register_signal_handler( - 0, - SignalHandler::Siginfo(handle_signal), - true, - SA_SIGINFO - ) - .is_ok()); - assert!(register_signal_handler( - libc::SIGSYS, - SignalHandler::Siginfo(handle_signal), - false, - SA_SIGINFO - ) - .is_ok()); - } - } - - #[test] - #[allow(clippy::empty_loop)] - fn test_killing_thread() { - let killable = thread::spawn(|| thread::current().id()); - let killable_id = killable.join().unwrap(); - assert_ne!(killable_id, thread::current().id()); - - // We install a signal handler for the specified signal; otherwise the whole process will - // be brought down when the signal is received, as part of the default behaviour. Signal - // handlers are global, so we install this before starting the thread. - unsafe { - register_signal_handler(0, SignalHandler::Siginfo(handle_signal), true, SA_SIGINFO) - .expect("failed to register vcpu signal handler"); - } - - let killable = thread::spawn(|| loop {}); - - let res = killable.kill(SIGRTMAX()); - assert!(res.is_err()); - format!("{:?}", res); - - unsafe { - assert!(!SIGNAL_HANDLER_CALLED); - } - - assert!(killable.kill(0).is_ok()); - - // We're waiting to detect that the signal handler has been called. - const MAX_WAIT_ITERS: u32 = 20; - let mut iter_count = 0; - loop { - thread::sleep(Duration::from_millis(100)); - - if unsafe { SIGNAL_HANDLER_CALLED } { - break; - } - - iter_count += 1; - // timeout if we wait too long - assert!(iter_count <= MAX_WAIT_ITERS); - } - - // Our signal handler doesn't do anything which influences the killable thread, so the - // previous signal is effectively ignored. If we were to join killable here, we would block - // forever as the loop keeps running. Since we don't join, the thread will become detached - // as the handle is dropped, and will be killed when the process/main thread exits. - } -} diff --git a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/syslog.rs b/vendor/git-bad78e1967b13e00/vmm-sys-util/src/syslog.rs deleted file mode 100644 index d09b56a88..000000000 --- a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/syslog.rs +++ /dev/null @@ -1,643 +0,0 @@ -// Copyright 2019 Intel Corporation. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. - -//! Facilities for sending log message to syslog. -//! -//! Every function exported by this module is thread-safe. Each function will silently fail until -//! `syslog::init()` is called and returns `Ok`. -//! -//! # Examples -//! -//! ``` -//! #[macro_use] -//! extern crate vmm_sys_util; -//! -//! use vmm_sys_util::syslog::init; -//! fn main() { -//! if let Err(e) = init() { -//! println!("failed to initiailize syslog: {}", e); -//! return; -//! } -//! warn!("this is your {} warning", "final"); -//! error!("something went horribly wrong: {}", "out of RAMs"); -//! } -//! ``` - -use std::env; -use std::ffi::CString; -use std::ffi::{OsStr, OsString}; -use std::fmt::{self, Display}; -use std::fs::File; -use std::io; -use std::io::{stderr, Cursor, ErrorKind, Write}; -use std::mem; -use std::os::unix::io::{AsRawFd, FromRawFd, RawFd}; -use std::os::unix::net::UnixDatagram; -use std::path::PathBuf; -use std::ptr::null; -use std::str::from_utf8; -use std::sync::{Mutex as StdMutex, MutexGuard, Once, ONCE_INIT}; - -use libc::{ - c_char, c_long, closelog, fcntl, gethostname, localtime_r, openlog, pid_t, syscall, time, - time_t, tm, F_GETFD, LOG_NDELAY, LOG_PERROR, LOG_PID, LOG_USER, -}; - -/// Temporary define linux-x86_64 syscall value here. -#[allow(non_upper_case_globals)] -pub const SYS_getpid: c_long = 39; - -const SYSLOG_PATH: &str = "/dev/log"; - -/// The priority (i.e. severity) of a syslog message. -/// -/// See syslog man pages for information on their semantics. -#[derive(Copy, Clone, Debug)] -pub enum Priority { - Emergency = 0, - Alert = 1, - Critical = 2, - Error = 3, - Warning = 4, - Notice = 5, - Info = 6, - Debug = 7, -} - -impl fmt::Display for Priority { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match self { - Priority::Emergency => write!(f, "EMERGENCY"), - Priority::Alert => write!(f, "ALERT"), - Priority::Critical => write!(f, "CRITICAL"), - Priority::Error => write!(f, "ERROR"), - Priority::Warning => write!(f, "WARNING"), - Priority::Notice => write!(f, "NOTICE"), - Priority::Info => write!(f, "INFO"), - Priority::Debug => write!(f, "DEBUG"), - } - } -} - -/// The facility of a syslog message. -/// -/// See syslog man pages for information on their semantics. -pub enum Facility { - Kernel = 0, - User = 1 << 3, - Mail = 2 << 3, - Daemon = 3 << 3, - Auth = 4 << 3, - Syslog = 5 << 3, - Lpr = 6 << 3, - News = 7 << 3, - Uucp = 8 << 3, - Local0 = 16 << 3, - Local1 = 17 << 3, - Local2 = 18 << 3, - Local3 = 19 << 3, - Local4 = 20 << 3, - Local5 = 21 << 3, - Local6 = 22 << 3, - Local7 = 23 << 3, -} - -/// Errors returned by `syslog::init()`. -#[derive(Debug)] -pub enum Error { - /// Initialization was never attempted. - NeverInitialized, - /// Initialization has previously failed and can not be retried. - Poisoned, - /// Error while creating socket. - Socket(io::Error), - /// Error while attempting to connect socket. - Connect(io::Error), - // There was an error using `open` to get the lowest file descriptor. - GetLowestFd(io::Error), - // The guess of libc's file descriptor for the syslog connection was invalid. - InvalidFd, -} - -impl Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - use self::Error::*; - - match self { - NeverInitialized => write!(f, "initialization was never attempted"), - Poisoned => write!(f, "initialization previously failed and cannot be retried"), - Socket(e) => write!(f, "failed to create socket: {}", e), - Connect(e) => write!(f, "failed to connect socket: {}", e), - GetLowestFd(e) => write!(f, "failed to get lowest file descriptor: {}", e), - InvalidFd => write!(f, "guess of fd for syslog connection was invalid"), - } - } -} - -fn get_hostname() -> Result { - let mut hostname: [u8; 256] = [b'\0'; 256]; - // Safe because we give a valid pointer to a buffer of the indicated length and check for the - // result. - let ret = unsafe { gethostname(hostname.as_mut_ptr() as *mut c_char, hostname.len()) }; - if ret == -1 { - return Err(()); - } - - let len = hostname.iter().position(|&v| v == b'\0').ok_or(())?; - - Ok(from_utf8(&hostname[..len]).map_err(|_| ())?.to_string()) -} - -fn get_proc_name() -> Option { - env::args_os() - .next() - .map(PathBuf::from) - .and_then(|s| s.file_name().map(OsStr::to_os_string)) - .map(OsString::into_string) - .and_then(Result::ok) -} - -// Uses libc's openlog function to get a socket to the syslogger. By getting the socket this way, as -// opposed to connecting to the syslogger directly, libc's internal state gets initialized for other -// libraries (e.g. minijail) that make use of libc's syslog function. Note that this function -// depends on no other threads or signal handlers being active in this process because they might -// create FDs. -// -// TODO(zachr): Once https://android-review.googlesource.com/470998 lands, there won't be any -// libraries in use that hard depend on libc's syslogger. Remove this and go back to making the -// connection directly once minjail is ready. -fn openlog_and_get_socket() -> Result { - // closelog first in case there was already a file descriptor open. Safe because it takes no - // arguments and just closes an open file descriptor. Does nothing if the file descriptor - // was not already open. - unsafe { - closelog(); - } - - let file_path = CString::new("/dev/null").unwrap(); - unsafe { - // Ordinarily libc's FD for the syslog connection can't be accessed, but we can guess that the - // FD that openlog will be getting is the lowest unused FD. To guarantee that an FD is opened in - // this function we use the LOG_NDELAY to tell openlog to connect to the syslog now. To get the - // lowest unused FD, we open a dummy file (which the manual says will always return the lowest - // fd), and then close that fd. Voilà, we now know the lowest numbered FD. The call to openlog - // will make use of that FD, and then we just wrap a `UnixDatagram` around it for ease of use. - let fd = libc::open(file_path.as_ptr(), libc::O_RDONLY); - if fd < 0 { - let err = io::Error::last_os_error(); - return Err(Error::GetLowestFd(err)); - } - - // Safe because openlog accesses no pointers because `ident` is null, only valid flags are - // used, and it returns no error. - openlog(null(), LOG_NDELAY | LOG_PERROR | LOG_PID, LOG_USER); - // For safety, ensure the fd we guessed is valid. The `fcntl` call itself only reads the - // file descriptor table of the current process, which is trivially safe. - if fcntl(fd, F_GETFD) >= 0 { - Ok(UnixDatagram::from_raw_fd(fd)) - } else { - Err(Error::InvalidFd) - } - } -} - -struct State { - stderr: bool, - socket: Option, - file: Option, - hostname: Option, - proc_name: Option, -} - -impl State { - fn new() -> Result { - let s = openlog_and_get_socket()?; - Ok(State { - stderr: true, - socket: Some(s), - file: None, - hostname: get_hostname().ok(), - proc_name: get_proc_name(), - }) - } -} - -static STATE_ONCE: Once = ONCE_INIT; -static mut STATE: *const StdMutex = 0 as *const _; - -fn new_mutex_ptr(inner: T) -> *const StdMutex { - Box::into_raw(Box::new(StdMutex::new(inner))) -} - -/// Initialize the syslog connection and internal variables. -/// -/// This should only be called once per process before any other threads have been spawned or any -/// signal handlers have been registered. Every call made after the first will have no effect -/// besides return `Ok` or `Err` appropriately. -pub fn init() -> Result<(), Error> { - let mut err = Error::Poisoned; - STATE_ONCE.call_once(|| match State::new() { - // Safe because STATE mutation is guarded by `Once`. - Ok(state) => unsafe { STATE = new_mutex_ptr(state) }, - Err(e) => err = e, - }); - - if unsafe { STATE.is_null() } { - Err(err) - } else { - Ok(()) - } -} - -fn lock() -> Result, Error> { - // Safe because we assume that STATE is always in either a valid or NULL state. - let state_ptr = unsafe { STATE }; - if state_ptr.is_null() { - return Err(Error::NeverInitialized); - } - // Safe because STATE only mutates once and we checked for NULL. - let state = unsafe { &*state_ptr }; - let guard = match state.lock() { - Ok(guard) => guard, - _ => panic!("mutex is poisoned"), - }; - Ok(guard) -} - -// Attempts to lock and retrieve the state. Returns from the function silently on failure. -macro_rules! lock { - () => { - match lock() { - Ok(s) => s, - _ => return, - }; - }; -} - -/// Replaces the hostname reported in each syslog message. -/// -/// The default hostname is whatever `gethostname()` returned when `vmm_sys_util::syslog::init()` was first -/// called. -/// -/// Does nothing if syslog was never initialized. -pub fn set_hostname>(hostname: T) { - let mut state = lock!(); - state.hostname = Some(hostname.into()); -} - -/// Replaces the process name reported in each syslog message. -/// -/// The default process name is the _file name_ of `argv[0]`. For example, if this program was -/// invoked as -/// -/// ```bash -/// $ path/to/app --delete everything -/// ``` -/// -/// the default process name would be _app_. -/// -/// Does nothing if syslog was never initialized. -pub fn set_proc_name>(proc_name: T) { - let mut state = lock!(); - state.proc_name = Some(proc_name.into()); -} - -/// Enables or disables echoing log messages to the syslog. -/// -/// The default behavior is **enabled**. -/// -/// If `enable` goes from `true` to `false`, the syslog connection is closed. The connection is -/// reopened if `enable` is set to `true` after it became `false`. -/// -/// Returns an error if syslog was never initialized or the syslog connection failed to be -/// established. -/// -/// # Arguments -/// * `enable` - `true` to enable echoing to syslog, `false` to disable echoing to syslog. -pub fn echo_syslog(enable: bool) -> Result<(), Error> { - let state_ptr = unsafe { STATE }; - if state_ptr.is_null() { - return Err(Error::NeverInitialized); - } - let mut state = lock().map_err(|_| Error::Poisoned)?; - - match state.socket.take() { - Some(_) if enable => {} - Some(s) => { - // Because `openlog_and_get_socket` actually just "borrows" the syslog FD, this module - // does not own the syslog connection and therefore should not destroy it. - mem::forget(s); - } - None if enable => { - let s = openlog_and_get_socket()?; - state.socket = Some(s); - } - _ => {} - } - Ok(()) -} - -/// Replaces the optional `File` to echo log messages to. -/// -/// The default behavior is to not echo to a file. Passing `None` to this function restores that -/// behavior. -/// -/// Does nothing if syslog was never initialized. -/// -/// # Arguments -/// * `file` - `Some(file)` to echo to `file`, `None` to disable echoing to the file previously passed to `echo_file`. -pub fn echo_file(file: Option) { - let mut state = lock!(); - state.file = file; -} - -/// Enables or disables echoing log messages to the `std::io::stderr()`. -/// -/// The default behavior is **enabled**. -/// -/// Does nothing if syslog was never initialized. -/// -/// # Arguments -/// * `enable` - `true` to enable echoing to stderr, `false` to disable echoing to stderr. -pub fn echo_stderr(enable: bool) { - let mut state = lock!(); - state.stderr = enable; -} - -/// Retrieves the file descriptors owned by the global syslogger. -/// -/// Does nothing if syslog was never initialized. If their are any file descriptors, they will be -/// pushed into `fds`. -/// -/// Note that the `stderr` file descriptor is never added, as it is not owned by syslog. -#[allow(clippy::redundant_closure)] -pub fn push_fds(fds: &mut Vec) { - let state = lock!(); - fds.extend(state.socket.iter().map(|s| s.as_raw_fd())); - fds.extend(state.file.iter().map(|f| f.as_raw_fd())); -} - -/// Should only be called after `init()` was called. -fn send_buf(socket: &UnixDatagram, buf: &[u8]) { - const SEND_RETRY: usize = 2; - - for _ in 0..SEND_RETRY { - match socket.send(&buf[..]) { - Ok(_) => break, - Err(e) => match e.kind() { - ErrorKind::ConnectionRefused - | ErrorKind::ConnectionReset - | ErrorKind::ConnectionAborted - | ErrorKind::NotConnected => { - let res = socket.connect(SYSLOG_PATH); - if res.is_err() { - break; - } - } - _ => {} - }, - } - } -} - -fn get_localtime() -> tm { - unsafe { - // Safe because tm is just a struct of plain data. - let mut tm: tm = mem::zeroed(); - let mut now: time_t = 0; - // Safe because we give time a valid pointer and can never fail. - time(&mut now as *mut _); - // Safe because we give localtime_r valid pointers and can never fail. - localtime_r(&now, &mut tm as *mut _); - tm - } -} - -/// Records a log message with the given details. -/// -/// Note that this will fail silently if syslog was not initialized. -/// -/// # Arguments -/// * `pri` - The `Priority` (i.e. severity) of the log message. -/// * `fac` - The `Facility` of the log message. Usually `Facility::User` should be used. -/// * `file_name` - Name of the file that generated the log. -/// * `line` - Line number within `file_name` that generated the log. -/// * `args` - The log's message to record, in the form of `format_args!()` return value -/// -/// # Examples -/// -/// ``` -/// # use vmm_sys_util::syslog::{init, log, Priority, Facility}; -/// # fn main() { -/// # if let Err(e) = init() { -/// # println!("failed to initiailize syslog: {}", e); -/// # return; -/// # } -/// log(Priority::Error, -/// Facility::User, -/// file!(), -/// line!(), -/// format_args!("hello syslog")); -/// # } -/// ``` -#[allow(clippy::redundant_closure)] -pub fn log(pri: Priority, fac: Facility, file_name: &str, line: u32, args: fmt::Arguments) { - const MONTHS: [&str; 12] = [ - "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", - ]; - - let mut state = lock!(); - let mut buf = [0u8; 1024]; - if let Some(ref socket) = state.socket { - let tm = get_localtime(); - let prifac = (pri as u8) | (fac as u8); - let (res, len) = { - let mut buf_cursor = Cursor::new(&mut buf[..]); - ( - write!( - &mut buf_cursor, - "<{}>{} {:02} {:02}:{:02}:{:02} {} {}[{}]: [{}:{}] {}", - prifac, - MONTHS[tm.tm_mon as usize], - tm.tm_mday, - tm.tm_hour, - tm.tm_min, - tm.tm_sec, - state.hostname.as_ref().map(|s| s.as_ref()).unwrap_or("-"), - state.proc_name.as_ref().map(|s| s.as_ref()).unwrap_or("-"), - unsafe { syscall(SYS_getpid as c_long) as pid_t }, - //getpid(), - file_name, - line, - args - ), - buf_cursor.position() as usize, - ) - }; - - if res.is_ok() { - send_buf(&socket, &buf[..len]); - } - } - - let (res, len) = { - let mut buf_cursor = Cursor::new(&mut buf[..]); - ( - writeln!(&mut buf_cursor, "[{}:{}:{}] {}", pri, file_name, line, args), - buf_cursor.position() as usize, - ) - }; - if res.is_ok() { - if let Some(ref mut file) = state.file { - let _ = file.write_all(&buf[..len]); - } - if state.stderr { - let _ = stderr().write_all(&buf[..len]); - } - } -} - -/// A macro for logging at an arbitrary priority level. -/// -/// Note that this will fail silently if syslog was not initialized. -#[macro_export] -macro_rules! log { - ($pri:expr, $($args:tt)+) => ({ - $crate::syslog::log($pri, $crate::syslog::Facility::User, file!(), line!(), format_args!($($args)+)) - }) -} - -/// A macro for logging an error. -/// -/// Note that this will fail silently if syslog was not initialized. -#[macro_export] -macro_rules! error { - ($($args:tt)+) => (log!($crate::syslog::Priority::Error, $($args)*)) -} - -/// A macro for logging a warning. -/// -/// Note that this will fail silently if syslog was not initialized. -#[macro_export] -macro_rules! warn { - ($($args:tt)+) => (log!($crate::syslog::Priority::Warning, $($args)*)) -} - -/// A macro for logging info. -/// -/// Note that this will fail silently if syslog was not initialized. -#[macro_export] -macro_rules! info { - ($($args:tt)+) => (log!($crate::syslog::Priority::Info, $($args)*)) -} - -/// A macro for logging debug information. -/// -/// Note that this will fail silently if syslog was not initialized. -#[macro_export] -macro_rules! debug { - ($($args:tt)+) => (log!($crate::syslog::Priority::Debug, $($args)*)) -} - -#[cfg(test)] -mod tests { - use super::*; - use libc::{shm_open, shm_unlink, O_CREAT, O_EXCL, O_RDWR}; - - use std::ffi::CStr; - use std::io::{Read, Seek, SeekFrom}; - use std::os::unix::io::FromRawFd; - - #[test] - fn test_init_syslog() { - init().unwrap(); - } - - #[test] - fn test_fds() { - init().unwrap(); - let mut fds = Vec::new(); - push_fds(&mut fds); - assert!(!fds.is_empty()); - for fd in fds { - assert!(fd >= 0); - } - } - - #[test] - fn test_syslog_log() { - init().unwrap(); - log( - Priority::Error, - Facility::User, - file!(), - line!(), - format_args!("hello syslog"), - ); - } - - #[test] - fn test_proc_name() { - init().unwrap(); - log( - Priority::Error, - Facility::User, - file!(), - line!(), - format_args!("before proc name"), - ); - set_proc_name("sys_util-test"); - log( - Priority::Error, - Facility::User, - file!(), - line!(), - format_args!("after proc name"), - ); - } - - #[test] - #[allow(clippy::zero_prefixed_literal)] - fn test_syslog_file() { - init().unwrap(); - let shm_name = CStr::from_bytes_with_nul(b"/crosvm_shm\0").unwrap(); - let mut file = unsafe { - shm_unlink(shm_name.as_ptr()); - let fd = shm_open(shm_name.as_ptr(), O_RDWR | O_CREAT | O_EXCL, 0666); - assert!(fd >= 0, "error creating shared memory;"); - File::from_raw_fd(fd) - }; - - let syslog_file = file.try_clone().expect("error cloning shared memory file"); - echo_file(Some(syslog_file)); - - const TEST_STR: &str = "hello shared memory file"; - log( - Priority::Error, - Facility::User, - file!(), - line!(), - format_args!("{}", TEST_STR), - ); - - file.seek(SeekFrom::Start(0)) - .expect("error seeking shared memory file"); - let mut buf = String::new(); - file.read_to_string(&mut buf) - .expect("error reading shared memory file"); - assert!(buf.contains(TEST_STR)); - } - - #[test] - fn test_macros() { - init().unwrap(); - error!("this is an error {}", 3); - warn!("this is a warning {}", "uh oh"); - info!("this is info {}", true); - debug!("this is debug info {:?}", Some("helpful stuff")); - } -} diff --git a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/tempdir.rs b/vendor/git-bad78e1967b13e00/vmm-sys-util/src/tempdir.rs deleted file mode 100644 index 7256998e8..000000000 --- a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/tempdir.rs +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. -// -// SPDX-License-Identifier: BSD-3-Clause - -use std::ffi::CString; -use std::ffi::OsStr; -use std::ffi::OsString; -use std::fs; -use std::os::unix::ffi::OsStringExt; -use std::path::Path; -use std::path::PathBuf; - -use libc; - -use crate::{errno_result, Result}; - -/// Create and remove a temporary directory. The directory will be maintained for the lifetime of -/// the `TempDir` object. -pub struct TempDir { - path: Option, -} - -impl TempDir { - /// Creates a new tempory directory. - /// The directory will be removed when the object goes out of scope. - /// - /// # Examples - /// - /// ``` - /// # use std::path::Path; - /// # use std::path::PathBuf; - /// # use vmm_sys_util::TempDir; - /// # fn test_create_temp_dir() -> Result<(), ()> { - /// let t = TempDir::new("/tmp/testdir").map_err(|_| ())?; - /// assert!(t.as_path().unwrap().exists()); - /// # Ok(()) - /// # } - /// ``` - pub fn new>(prefix: P) -> Result { - let mut dir_string = prefix.as_ref().to_os_string(); - dir_string.push("XXXXXX"); - // unwrap this result as the internal bytes can't have a null with a valid path. - let dir_name = CString::new(dir_string.into_vec()).unwrap(); - let mut dir_bytes = dir_name.into_bytes_with_nul(); - let ret = unsafe { - // Creating the directory isn't unsafe. The fact that it modifies the guts of the path - // is also OK because it only overwrites the last 6 Xs added above. - libc::mkdtemp(dir_bytes.as_mut_ptr() as *mut libc::c_char) - }; - if ret.is_null() { - return errno_result(); - } - dir_bytes.pop(); // Remove the null becasue from_vec can't handle it. - Ok(TempDir { - path: Some(PathBuf::from(OsString::from_vec(dir_bytes))), - }) - } - - /// Removes the temporary directory. Calling this is optional as dropping a `TempDir` object - /// will also remove the directory. Calling remove explicitly allows for better error handling. - pub fn remove(mut self) -> Result<()> { - let path = self.path.take(); - path.map_or(Ok(()), fs::remove_dir_all)?; - Ok(()) - } - - /// Returns the path to the tempdir if it is currently valid - pub fn as_path(&self) -> Option<&Path> { - self.path.as_ref().map(|ref p| p.as_path()) - } -} - -impl Drop for TempDir { - fn drop(&mut self) { - if let Some(ref p) = self.path { - // Nothing can be done here if this returns an error. - let _ = fs::remove_dir_all(p); - } - } -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn create_dir() { - let t = TempDir::new("/tmp/asdf").unwrap(); - let path = t.as_path().unwrap(); - assert!(path.exists()); - assert!(path.is_dir()); - assert!(path.starts_with("/tmp/")); - } - - #[test] - fn remove_dir() { - let t = TempDir::new("/tmp/asdf").unwrap(); - let path = t.as_path().unwrap().to_owned(); - assert!(t.remove().is_ok()); - assert!(!path.exists()); - } -} diff --git a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/terminal.rs b/vendor/git-bad78e1967b13e00/vmm-sys-util/src/terminal.rs deleted file mode 100644 index 2d6177d1d..000000000 --- a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/terminal.rs +++ /dev/null @@ -1,155 +0,0 @@ -// Copyright 2019 Intel Corporation. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. - -use std::io::StdinLock; -use std::mem::zeroed; -use std::os::unix::io::RawFd; - -use libc::{ - c_int, fcntl, isatty, read, tcgetattr, tcsetattr, termios, ECHO, F_GETFL, F_SETFL, ICANON, - ISIG, O_NONBLOCK, STDIN_FILENO, TCSANOW, -}; - -use crate::errno::{errno_result, Result}; - -fn modify_mode(fd: RawFd, f: F) -> Result<()> { - // Safe because we check the return value of isatty. - if unsafe { isatty(fd) } != 1 { - return Ok(()); - } - - // The following pair are safe because termios gets totally overwritten by tcgetattr and we - // check the return result. - let mut termios: termios = unsafe { zeroed() }; - let ret = unsafe { tcgetattr(fd, &mut termios as *mut _) }; - if ret < 0 { - return errno_result(); - } - let mut new_termios = termios; - f(&mut new_termios); - // Safe because the syscall will only read the extent of termios and we check the return result. - let ret = unsafe { tcsetattr(fd, TCSANOW, &new_termios as *const _) }; - if ret < 0 { - return errno_result(); - } - - Ok(()) -} - -fn get_flags(fd: RawFd) -> Result { - // Safe because no third parameter is expected and we check the return result. - let ret = unsafe { fcntl(fd, F_GETFL) }; - if ret < 0 { - return errno_result(); - } - Ok(ret) -} - -fn set_flags(fd: RawFd, flags: c_int) -> Result<()> { - // Safe because we supply the third parameter and we check the return result. - let ret = unsafe { fcntl(fd, F_SETFL, flags) }; - if ret < 0 { - return errno_result(); - } - Ok(()) -} - -/// Trait for file descriptors that are TTYs, according to `isatty(3)`. -/// -/// This is marked unsafe because the implementation must promise that the returned RawFd is a valid -/// fd and that the lifetime of the returned fd is at least that of the trait object. -pub unsafe trait Terminal { - /// Gets the file descriptor of the TTY. - fn tty_fd(&self) -> RawFd; - - /// Set this terminal's mode to canonical mode (`ICANON | ECHO | ISIG`). - fn set_canon_mode(&self) -> Result<()> { - modify_mode(self.tty_fd(), |t| t.c_lflag |= ICANON | ECHO | ISIG) - } - - /// Set this terminal's mode to raw mode (`!(ICANON | ECHO | ISIG)`). - fn set_raw_mode(&self) -> Result<()> { - modify_mode(self.tty_fd(), |t| t.c_lflag &= !(ICANON | ECHO | ISIG)) - } - - /// Sets the non-blocking mode of this terminal's file descriptor. - /// - /// If `non_block` is `true`, then `read_raw` will not block. If `non_block` is `false`, then - /// `read_raw` may block if there is nothing to read. - fn set_non_block(&self, non_block: bool) -> Result<()> { - let old_flags = get_flags(self.tty_fd())?; - let new_flags = if non_block { - old_flags | O_NONBLOCK - } else { - old_flags & !O_NONBLOCK - }; - if new_flags != old_flags { - set_flags(self.tty_fd(), new_flags)? - } - Ok(()) - } - - /// Reads up to `out.len()` bytes from this terminal without any buffering. - /// - /// This may block, depending on if non-blocking was enabled with `set_non_block` or if there - /// are any bytes to read. If there is at least one byte that is readable, this will not block. - fn read_raw(&self, out: &mut [u8]) -> Result { - // Safe because read will only modify the pointer up to the length we give it and we check - // the return result. - let ret = unsafe { read(self.tty_fd(), out.as_mut_ptr() as *mut _, out.len()) }; - if ret < 0 { - return errno_result(); - } - - Ok(ret as usize) - } -} - -// Safe because we return a genuine terminal fd that never changes and shares our lifetime. -unsafe impl<'a> Terminal for StdinLock<'a> { - fn tty_fd(&self) -> RawFd { - STDIN_FILENO - } -} - -#[cfg(test)] -mod tests { - use super::*; - use std::fs::File; - use std::io; - use std::os::unix::io::AsRawFd; - use std::path::Path; - - unsafe impl Terminal for File { - fn tty_fd(&self) -> RawFd { - self.as_raw_fd() - } - } - - #[test] - fn test_a_tty() { - let stdin_handle = io::stdin(); - let stdin = stdin_handle.lock(); - - assert!(stdin.set_canon_mode().is_ok()); - assert!(stdin.set_raw_mode().is_ok()); - assert!(stdin.set_raw_mode().is_ok()); - assert!(stdin.set_canon_mode().is_ok()); - assert!(stdin.set_non_block(true).is_ok()); - let mut out = [0u8; 0]; - assert!(stdin.read_raw(&mut out[..]).is_ok()); - } - - #[test] - fn test_a_non_tty() { - let file = File::open(Path::new("/dev/zero")).unwrap(); - assert!(file.set_canon_mode().is_ok()); - } -} diff --git a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/timerfd.rs b/vendor/git-bad78e1967b13e00/vmm-sys-util/src/timerfd.rs deleted file mode 100644 index 4e2903e52..000000000 --- a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/timerfd.rs +++ /dev/null @@ -1,173 +0,0 @@ -// Copyright 2019 Intel Corporation. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 -// -// Copyright 2018 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-clause file. - -use std::fs::File; -use std::mem; -use std::os::unix::io::{AsRawFd, FromRawFd, IntoRawFd, RawFd}; -use std::ptr; -use std::time::Duration; - -use libc::{self, timerfd_create, timerfd_gettime, timerfd_settime, CLOCK_MONOTONIC, TFD_CLOEXEC}; - -use crate::errno::{errno_result, Result}; - -/// A safe wrapper around a Linux timerfd (man 2 timerfd_create). -pub struct TimerFd(File); - -impl TimerFd { - /// Creates a new [`TimerFd`](struct.TimerFd.html). - /// - /// The timer is initally disarmed and must be armed by calling [`reset`](fn.reset.html). - pub fn new() -> Result { - // Safe because this doesn't modify any memory and we check the return value. - let ret = unsafe { timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC) }; - if ret < 0 { - return errno_result(); - } - - // Safe because we uniquely own the file descriptor. - Ok(TimerFd(unsafe { File::from_raw_fd(ret) })) - } - - /// Sets the timer to expire after `dur`. - /// - /// If `interval` is not `None` it represents the period for repeated expirations after the - /// initial expiration. Otherwise the timer will expire just once. Cancels any existing duration and repeating interval. - pub fn reset(&mut self, dur: Duration, interval: Option) -> Result<()> { - // Safe because we are zero-initializing a struct with only primitive member fields. - let mut spec: libc::itimerspec = unsafe { mem::zeroed() }; - spec.it_value.tv_sec = dur.as_secs() as libc::time_t; - // nsec always fits in i32 because subsec_nanos is defined to be less than one billion. - let nsec = dur.subsec_nanos() as i32; - spec.it_value.tv_nsec = libc::c_long::from(nsec); - - if let Some(int) = interval { - spec.it_interval.tv_sec = int.as_secs() as libc::time_t; - // nsec always fits in i32 because subsec_nanos is defined to be less than one billion. - let nsec = int.subsec_nanos() as i32; - spec.it_interval.tv_nsec = libc::c_long::from(nsec); - } - - // Safe because this doesn't modify any memory and we check the return value. - let ret = unsafe { timerfd_settime(self.as_raw_fd(), 0, &spec, ptr::null_mut()) }; - if ret < 0 { - return errno_result(); - } - - Ok(()) - } - - /// Waits until the timer expires. - /// - /// The return value represents the number of times the timer - /// has expired since the last time `wait` was called. If the timer has not yet expired once - /// this call will block until it does. - pub fn wait(&mut self) -> Result { - let mut count = 0u64; - - // Safe because this will only modify |buf| and we check the return value. - let ret = unsafe { - libc::read( - self.as_raw_fd(), - &mut count as *mut _ as *mut libc::c_void, - mem::size_of_val(&count), - ) - }; - if ret < 0 { - return errno_result(); - } - - // The bytes in the buffer are guaranteed to be in native byte-order so we don't need to - // use from_le or from_be. - Ok(count) - } - - /// Returns `true` if the timer is currently armed. - pub fn is_armed(&self) -> Result { - // Safe because we are zero-initializing a struct with only primitive member fields. - let mut spec: libc::itimerspec = unsafe { mem::zeroed() }; - - // Safe because timerfd_gettime is trusted to only modify `spec`. - let ret = unsafe { timerfd_gettime(self.as_raw_fd(), &mut spec) }; - if ret < 0 { - return errno_result(); - } - - Ok(spec.it_value.tv_sec != 0 || spec.it_value.tv_nsec != 0) - } - - /// Disarms the timer. - pub fn clear(&mut self) -> Result<()> { - // Safe because we are zero-initializing a struct with only primitive member fields. - let spec: libc::itimerspec = unsafe { mem::zeroed() }; - - // Safe because this doesn't modify any memory and we check the return value. - let ret = unsafe { timerfd_settime(self.as_raw_fd(), 0, &spec, ptr::null_mut()) }; - if ret < 0 { - return errno_result(); - } - - Ok(()) - } -} - -impl AsRawFd for TimerFd { - fn as_raw_fd(&self) -> RawFd { - self.0.as_raw_fd() - } -} - -impl FromRawFd for TimerFd { - unsafe fn from_raw_fd(fd: RawFd) -> Self { - TimerFd(File::from_raw_fd(fd)) - } -} - -impl IntoRawFd for TimerFd { - fn into_raw_fd(self) -> RawFd { - self.0.into_raw_fd() - } -} - -#[cfg(test)] -mod tests { - use super::*; - use std::thread::sleep; - use std::time::{Duration, Instant}; - - #[test] - fn test_one_shot() { - let mut tfd = TimerFd::new().expect("failed to create timerfd"); - assert_eq!(tfd.is_armed().unwrap(), false); - - let dur = Duration::from_millis(200); - let now = Instant::now(); - tfd.reset(dur, None).expect("failed to arm timer"); - - assert_eq!(tfd.is_armed().unwrap(), true); - - let count = tfd.wait().expect("unable to wait for timer"); - - assert_eq!(count, 1); - assert!(now.elapsed() >= dur); - } - - #[test] - fn test_repeating() { - let mut tfd = TimerFd::new().expect("failed to create timerfd"); - - let dur = Duration::from_millis(200); - let interval = Duration::from_millis(100); - tfd.reset(dur, Some(interval)).expect("failed to arm timer"); - - sleep(dur * 3); - - let count = tfd.wait().expect("unable to wait for timer"); - assert!(count >= 5, "count = {}", count); - } - -} diff --git a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/write_zeroes.rs b/vendor/git-bad78e1967b13e00/vmm-sys-util/src/write_zeroes.rs deleted file mode 100644 index 98195d8f3..000000000 --- a/vendor/git-bad78e1967b13e00/vmm-sys-util/src/write_zeroes.rs +++ /dev/null @@ -1,172 +0,0 @@ -// Copyright 2018 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. -// -// SPDX-License-Identifier: BSD-3-Clause - -use std::cmp::min; -use std::fs::File; -use std::io::{self, Seek, SeekFrom, Write}; - -use crate::fallocate; -use crate::FallocateMode; - -/// A trait for deallocating space in a file. -pub trait PunchHole { - /// Replace a range of bytes with a hole. - fn punch_hole(&mut self, offset: u64, length: u64) -> io::Result<()>; -} - -impl PunchHole for File { - fn punch_hole(&mut self, offset: u64, length: u64) -> io::Result<()> { - fallocate(self, FallocateMode::PunchHole, true, offset, length as u64) - .map_err(|e| io::Error::from_raw_os_error(e.errno())) - } -} - -/// A trait for writing zeroes to a stream. -pub trait WriteZeroes { - /// Write `length` bytes of zeroes to the stream, returning how many bytes were written. - fn write_zeroes(&mut self, length: usize) -> io::Result; -} - -impl WriteZeroes for T { - fn write_zeroes(&mut self, length: usize) -> io::Result { - // Try to punch a hole first. - let offset = self.seek(SeekFrom::Current(0))?; - if let Ok(()) = self.punch_hole(offset, length as u64) { - // Advance the seek cursor as if we had done a real write(). - self.seek(SeekFrom::Current(length as i64))?; - return Ok(length); - } - - // fall back to write() - - // punch_hole() failed; fall back to writing a buffer of zeroes - // until we have written up to length. - let buf_size = min(length, 0x10000); - let buf = vec![0u8; buf_size]; - let mut nwritten: usize = 0; - while nwritten < length { - let remaining = length - nwritten; - let write_size = min(remaining, buf_size); - nwritten += self.write(&buf[0..write_size])?; - } - Ok(length) - } -} - -#[cfg(test)] -#[allow(clippy::unused_io_amount)] -mod tests { - use super::*; - use std::fs::OpenOptions; - use std::io::{Read, Seek, SeekFrom}; - use std::path::PathBuf; - - use crate::TempDir; - - #[test] - fn simple_test() { - let tempdir = TempDir::new("/tmp/write_zeroes_test").unwrap(); - let mut path = PathBuf::from(tempdir.as_path().unwrap()); - path.push("file"); - let mut f = OpenOptions::new() - .read(true) - .write(true) - .create(true) - .open(&path) - .unwrap(); - f.set_len(16384).unwrap(); - - // Write buffer of non-zero bytes to offset 1234 - let orig_data = [0x55u8; 5678]; - f.seek(SeekFrom::Start(1234)).unwrap(); - f.write(&orig_data).unwrap(); - - // Read back the data plus some overlap on each side - let mut readback = [0u8; 16384]; - f.seek(SeekFrom::Start(0)).unwrap(); - f.read(&mut readback).unwrap(); - // Bytes before the write should still be 0 - for read in readback[0..1234].iter() { - assert_eq!(*read, 0); - } - // Bytes that were just written should be 0x55 - for read in readback[1234..(1234 + 5678)].iter() { - assert_eq!(*read, 0x55); - } - // Bytes after the written area should still be 0 - for read in readback[(1234 + 5678)..].iter() { - assert_eq!(*read, 0); - } - - // Overwrite some of the data with zeroes - f.seek(SeekFrom::Start(2345)).unwrap(); - f.write_zeroes(4321).expect("write_zeroes failed"); - // Verify seek position after write_zeroes() - assert_eq!(f.seek(SeekFrom::Current(0)).unwrap(), 2345 + 4321); - - // Read back the data and verify that it is now zero - f.seek(SeekFrom::Start(0)).unwrap(); - f.read(&mut readback).unwrap(); - // Bytes before the write should still be 0 - for read in readback[0..1234].iter() { - assert_eq!(*read, 0); - } - // Original data should still exist before the write_zeroes region - for read in readback[1234..2345].iter() { - assert_eq!(*read, 0x55); - } - // The write_zeroes region should now be zero - for read in readback[2345..(2345 + 4321)].iter() { - assert_eq!(*read, 0); - } - // Original data should still exist after the write_zeroes region - for read in readback[(2345 + 4321)..(1234 + 5678)].iter() { - assert_eq!(*read, 0x55); - } - // The rest of the file should still be 0 - for read in readback[(1234 + 5678)..].iter() { - assert_eq!(*read, 0); - } - } - - #[test] - fn large_write_zeroes() { - let tempdir = TempDir::new("/tmp/write_zeroes_test").unwrap(); - let mut path = PathBuf::from(tempdir.as_path().unwrap()); - path.push("file"); - let mut f = OpenOptions::new() - .read(true) - .write(true) - .create(true) - .open(&path) - .unwrap(); - f.set_len(16384).unwrap(); - - // Write buffer of non-zero bytes - let orig_data = [0x55u8; 0x20000]; - f.seek(SeekFrom::Start(0)).unwrap(); - f.write(&orig_data).unwrap(); - - // Overwrite some of the data with zeroes - f.seek(SeekFrom::Start(0)).unwrap(); - f.write_zeroes(0x10001).expect("write_zeroes failed"); - // Verify seek position after write_zeroes() - assert_eq!(f.seek(SeekFrom::Current(0)).unwrap(), 0x10001); - - // Read back the data and verify that it is now zero - let mut readback = [0u8; 0x20000]; - f.seek(SeekFrom::Start(0)).unwrap(); - f.read(&mut readback).unwrap(); - // The write_zeroes region should now be zero - for read in readback[0..0x10001].iter() { - assert_eq!(*read, 0); - } - // Original data should still exist after the write_zeroes region - for read in readback[0x10001..0x20000].iter() { - assert_eq!(*read, 0x55); - } - } -} diff --git a/vendor/git-bda1448fb2afcb00/linux-loader/.buildkite/hooks/post-checkout b/vendor/git-bda1448fb2afcb00/linux-loader/.buildkite/hooks/post-checkout deleted file mode 100644 index 5a628ee97..000000000 --- a/vendor/git-bda1448fb2afcb00/linux-loader/.buildkite/hooks/post-checkout +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -wget http://ftp.debian.org/debian/pool/main/l/linux/linux-image-4.9.0-9-amd64_4.9.168-1_amd64.deb -P $BUILDKITE_BUILD_CHECKOUT_PATH/linux-loader/src/loader -dpkg-deb -x $BUILDKITE_BUILD_CHECKOUT_PATH/linux-loader/src/loader/linux-image-4.9.0-9-amd64_4.9.168-1_amd64.deb - - diff --git a/vendor/git-bda1448fb2afcb00/linux-loader/.buildkite/pipeline.yml b/vendor/git-bda1448fb2afcb00/linux-loader/.buildkite/pipeline.yml deleted file mode 100644 index 656690f3f..000000000 --- a/vendor/git-bda1448fb2afcb00/linux-loader/.buildkite/pipeline.yml +++ /dev/null @@ -1,109 +0,0 @@ -steps: - - label: "build-gnu-x86" - commands: - - cargo build --release - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "style" - command: cargo fmt --all -- --check - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "unittests-gnu-x86" - commands: - - cargo test - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - privileged: true - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "build-gnu-x86-elf" - commands: - - cargo build --release --features elf - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "unittests-gnu-x86-elf" - commands: - - cargo test --features elf - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - privileged: true - image: "fandree/rust-vmm-dev" - - - label: "build-gnu-x86-bzImage" - commands: - - cargo build --release --features bzImage - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "unittests-gnu-x86-bzImage" - commands: - - cargo test --features bzImage - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - privileged: true - image: "fandree/rust-vmm-dev" - - - label: "clippy-x86" - commands: - - cargo clippy --all -- -D warnings - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - image: "fandree/rust-vmm-dev" - always-pull: true - - - label: "coverage-x86" - commands: - - pytest tests/test_coverage.py - retry: - automatic: false - agents: - platform: x86_64.metal - plugins: - - docker#v3.0.1: - privileged: true - image: "fandree/rust-vmm-dev" - always-pull: true diff --git a/vendor/git-bda1448fb2afcb00/linux-loader/.cargo-checksum.json b/vendor/git-bda1448fb2afcb00/linux-loader/.cargo-checksum.json deleted file mode 100644 index 631bfb9d4..000000000 --- a/vendor/git-bda1448fb2afcb00/linux-loader/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{".buildkite/hooks/post-checkout":"44e0e9b8a3776276b79ffd5bdab3495f1dfe1e0c2ee1fff884347bf3ce2cb8e8",".buildkite/pipeline.yml":"8d0550f4a793c4b056189e0612afc50d6d8a686535ee81262318ae33d72611e3",".gitignore/.gitignore":"6b937008e0a58a438c32574627db6961a4d2aff4bf5c703d4e45cb56ef3b168a","Cargo.toml":"0dcfd317a1849d1f80f210151ccb25dcf2a3ecb8238f519125c5fb8f4c510aba","DESIGN.md":"d877f3093cf94402528a54a97e833fc79d4cbc07934031035f60a2d8d0a542d4","LICENSE-APACHE":"000b4962e6b27176a0ff89cce4be555b16472cafb5671eb2804a8fdac6854793","LICENSE-BSD-3-Clause":"a6d3ebd1c2f37d4fd83d0676621f695fc0cc2d8c6e646cdbb831b46e0650c208","README.md":"3e585f0ceb915bf4734075d2f0a91b626ff2363079baebcf7592a8d51d2c7931","src/cmdline/mod.rs":"30f57b492618155be6129311d0182688e5d1ecd9a3b5fdc9b742cd0c0e1f85da","src/lib.rs":"67d3e4a9ed48495c00fe6698fc606693b15a006fb0599cb18b946ea3929cd0f6","src/loader/bootparam.rs":"054b5a196873965cb48b9e9fa99c2505f523f9c71ca8ca0fad3af02491811fe6","src/loader/elf.rs":"f4e4eb6ffcb114bbf3242a9c72ea7e99631487d63bbbfbcf641bea42b3aba2e1","src/loader/mod.rs":"c360a84b46f34dbafa71bfe8c6f9295925ab02c397abf368fe725a3bbbae4698","src/loader/struct_util.rs":"a98c2854ebd3a0c0ed11e01e474f2da15fb9200754129223710d62cc88ab253a","src/loader/test_elf.bin":"dda390f7546c7ba36bab412a93add96533806154824b77aafc8c153231f3f161","tests/conftest.py":"ee2baacd9da7ac04ffbfd580a7d4fe8a8b166a16e1eeed2d488f7b820abab433","tests/coverage":"69eaa47e0089d5a3e2844fe7ca823b67ff712e382f6c34b0300797a415b7f3e9","tests/test_coverage.py":"2f4bbb571bf52ad796f9f47a3aaace61ee92ab9788980496bb1652826f224150"},"package":null} \ No newline at end of file diff --git a/vendor/git-bda1448fb2afcb00/linux-loader/.gitignore/.gitignore b/vendor/git-bda1448fb2afcb00/linux-loader/.gitignore/.gitignore deleted file mode 100644 index 693699042..000000000 --- a/vendor/git-bda1448fb2afcb00/linux-loader/.gitignore/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/target -**/*.rs.bk -Cargo.lock diff --git a/vendor/git-bda1448fb2afcb00/linux-loader/Cargo.toml b/vendor/git-bda1448fb2afcb00/linux-loader/Cargo.toml deleted file mode 100644 index 368659e80..000000000 --- a/vendor/git-bda1448fb2afcb00/linux-loader/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "linux-loader" -version = "0.1.0" -authors = ["cathy "] -edition = "2018" -license = "Apache-2.0 AND BSD-3-Clause" - -[features] -default = [] -elf = [] -bzImage = [] - - -[dependencies.vm-memory] -git = "https://github.com/rust-vmm/vm-memory" -features = ["backend-mmap"] diff --git a/vendor/git-bda1448fb2afcb00/linux-loader/DESIGN.md b/vendor/git-bda1448fb2afcb00/linux-loader/DESIGN.md deleted file mode 100644 index f84fb9368..000000000 --- a/vendor/git-bda1448fb2afcb00/linux-loader/DESIGN.md +++ /dev/null @@ -1,64 +0,0 @@ -# ELF Image parsing and loading - -The boot process is explained from the following two sides. - -## Loader side - -It follows ELF standard which is specified in elf.rs. The entry header and program headers will be inerpreted, and PT_LOAD segments will be loaded into guest memory. - -### Where kernel is loaded - -There are two ways on deciding where the program segments will be loaded. - -- One way is to provide an option and allow vmm to specify where to load the image, considering its memory layout. -- The other way is to load image into phdr.p_paddr by default. - -## Vmm side - -### Construct zero page - -According to the 64-bit boot protocol, the boot parameters (traditionally known as "zero page") should be setup, including setup_header, e820 table and other stuff. However, ELF has no setup_header, nothing returned from ELF loader could be used to fill boot parameters, vmm is totally responsible for the construction. - -### Configure vcpu - -- RIP, the start offset of guest memory where kernel is loaded, which is returned from loader -- 64 bit mode with paging enabled -- GDT must be configured and loaded - -# bzImage - -The boot process is also explained from the following two sides. - -## Loader side - -### What will be returned from loader - -bzImage includes two parts, the setup and the compressed kernel. The compressed kernel part will be loaded into guest memory, and the following three parts will returned to vmm by loader. -- The start address of loaded kernel -- The offset of memory where kernel is end of loading -- The setup header begin at the offset 0x01f1 of bzImage, this one is an extra compared to the return of ELF loader. - -### Where kernel is loaded - -The same as ELF image loader, there are two ways for deciding where the compressed kernel will be loaded. - -- Vmm specify where to load kernel image. -- Load into code32_start (Boot load address) by default. - -### Additional checking - -As what the boot protocol said, the kernel is a bzImage kernel if the protocol >= 2.00 and the 0x01 bit(LOAD_HIGH) is the loadflags field is set. Add this checking to validate the bzImage. - -## Vmm side - -### Construct zero page - -While vmm build "zero page" with e820 table and other stuff, bzImage loader will return the setup header to fill the boot parameters. Meanwhile, setup_header.init_size is a must to be filled into zero page, which will be used during head_64.S boot process. - -### Configure vcpu - -- RIP, the start address of loaded 64-bit kernel returned from loader + 0x200. Regarding to the 64-bit boot protocol, kernel is started by jumping to the 64-bit kernel entry point, which is the start address of loaded 64-bit kernel plus 0x200. -- 64 bit mode with paging enabled -- GDT must be configured and loaded - - diff --git a/vendor/git-bda1448fb2afcb00/linux-loader/LICENSE-APACHE b/vendor/git-bda1448fb2afcb00/linux-loader/LICENSE-APACHE deleted file mode 100644 index 6f756351a..000000000 --- a/vendor/git-bda1448fb2afcb00/linux-loader/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/git-bda1448fb2afcb00/linux-loader/LICENSE-BSD-3-Clause b/vendor/git-bda1448fb2afcb00/linux-loader/LICENSE-BSD-3-Clause deleted file mode 100644 index 8bafca303..000000000 --- a/vendor/git-bda1448fb2afcb00/linux-loader/LICENSE-BSD-3-Clause +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/git-bda1448fb2afcb00/linux-loader/README.md b/vendor/git-bda1448fb2afcb00/linux-loader/README.md deleted file mode 100644 index 0c8920db4..000000000 --- a/vendor/git-bda1448fb2afcb00/linux-loader/README.md +++ /dev/null @@ -1,105 +0,0 @@ -# Linux-loader - -## Short-description - -* Parsing and loading vmlinux (raw ELF image) and bzImage images -* Linux command line parsing and generation -* Definitions and helpers for the Linux boot protocol - -## How to build - -``` -cd linux-loader -cargo build -``` - -## Tests - -Our Continuous Integration (CI) pipeline is implemented on top of -[Buildkite](https://buildkite.com/). -For the complete list of tests, check our -[CI pipeline](https://buildkite.com/rust-vmm/vm-virtio-ci). - -Each individual test runs in a container. To reproduce a test locally, you can -use the dev-container on both x86 and arm64. - -```bash -docker run -it \ - --security-opt seccomp=unconfined \ - --volume $(pwd):/linux-loader \ - fandree/rust-vmm-dev -cd linux-loader/ -cargo test -``` - -### Test Profiles - -The integration tests support two test profiles: -- **devel**: this is the recommended profile for running the integration tests - on a local development machine. -- **ci** (default option): this is the profile used when running the - integration tests as part of the the Continuous Integration (CI). - -The test profiles are applicable to tests that run using pytest. Currently only -the [coverage test](tests/test_coverage.py) follows this model as all the other -integration tests are run using the -[Buildkite pipeline](https://buildkite.com/rust-vmm/vm-virtio-ci). - -The difference between is declaring tests as passed or failed: -- with the **devel** profile the coverage test passes if the current coverage - is equal or higher than the upstream coverage value. In case the current - coverage is higher, the coverage file is updated to the new coverage value. -- with the **ci** profile the coverage test passes only if the current coverage - is equal to the upstream coverage value. - -Further details about the coverage test can be found in the -[Adaptive Coverage](#adaptive-coverage) section. - -### Adaptive Coverage - -The line coverage is saved in [tests/coverage](tests/coverage). To update the -coverage before submitting a PR, run the coverage test: - -```bash -docker run -it \ - --security-opt seccomp=unconfined \ - --volume $(pwd):/linux-loader \ - fandree/rust-vmm-dev -cd linux-loader/ -pytest --profile=devel tests/test_coverage.py -``` - -If the PR coverage is higher than the upstream coverage, the coverage file -needs to be manually added to the commit before submitting the PR: - -```bash -git add tests/coverage -``` - -Failing to do so will generate a fail on the CI pipeline when publishing the -PR. - -**NOTE:** The coverage file is only updated in the `devel` test profile. In -the `ci` profile the coverage test will fail if the current coverage is higher -than the coverage reported in [tests/coverage](tests/coverage). - -### bzImage test - -As we don't want to distribute an entire kernel bzImage, the `load_bzImage` test is ignored by -default. In order to test the bzImage support, one needs to locally build a bzImage, copy it -to the `src/loader` directory and run the ignored test: - -```shell -# Assuming your linux-loader and linux-stable are both under $LINUX_LOADER -$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git $LINUX_LOADER/linux-stable -$ cd linux-stable -$ make bzImage -$ cp linux-stable/arch/x86/boot/bzImage $LINUX_LOADER/linux-loader/src/loader/ -$ cd $LINUX_LOADER/linux-loader -$ docker run -it \ - --security-opt seccomp=unconfined \ - --volume $(pwd):/linux-loader \ - fandree/rust-vmm-dev -$ cd linux-loader/ -$ cargo test -- --ignored -``` diff --git a/vendor/git-bda1448fb2afcb00/linux-loader/src/cmdline/mod.rs b/vendor/git-bda1448fb2afcb00/linux-loader/src/cmdline/mod.rs deleted file mode 100644 index d9991f69f..000000000 --- a/vendor/git-bda1448fb2afcb00/linux-loader/src/cmdline/mod.rs +++ /dev/null @@ -1,235 +0,0 @@ -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. -// -// SPDX-License-Identifier: Apache-2.0 AND BSD-3-Clause -// -//! Helper for creating valid kernel command line strings. - -use std::fmt; -use std::result; - -/// The error type for command line building operations. -#[derive(PartialEq, Debug)] -pub enum Error { - /// Operation would have resulted in a non-printable ASCII character. - InvalidAscii, - /// Key/Value Operation would have had a space in it. - HasSpace, - /// Key/Value Operation would have had an equals sign in it. - HasEquals, - /// Operation would have made the command line too large. - TooLarge, -} - -impl fmt::Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!( - f, - "{}", - match *self { - Error::InvalidAscii => "string contains non-printable ASCII character", - Error::HasSpace => "string contains a space", - Error::HasEquals => "string contains an equals sign", - Error::TooLarge => "inserting string would make command line too long", - } - ) - } -} - -/// Specialized Result type for command line operations. -pub type Result = result::Result; - -fn valid_char(c: char) -> bool { - match c { - ' '...'~' => true, - _ => false, - } -} - -fn valid_str(s: &str) -> Result<()> { - if s.chars().all(valid_char) { - Ok(()) - } else { - Err(Error::InvalidAscii) - } -} - -fn valid_element(s: &str) -> Result<()> { - if !s.chars().all(valid_char) { - Err(Error::InvalidAscii) - } else if s.contains(' ') { - Err(Error::HasSpace) - } else if s.contains('=') { - Err(Error::HasEquals) - } else { - Ok(()) - } -} - -/// A builder for a kernel command line string that validates the string as its being built. A -/// `CString` can be constructed from this directly using `CString::new`. -#[derive(Clone)] -pub struct Cmdline { - line: String, - capacity: usize, -} - -impl Cmdline { - /// Constructs an empty Cmdline with the given capacity, which includes the nul terminator. - /// Capacity must be greater than 0. - pub fn new(capacity: usize) -> Cmdline { - assert_ne!(capacity, 0); - Cmdline { - line: String::with_capacity(capacity), - capacity, - } - } - - fn has_capacity(&self, more: usize) -> Result<()> { - let needs_space = if self.line.is_empty() { 0 } else { 1 }; - if self.line.len() + more + needs_space < self.capacity { - Ok(()) - } else { - Err(Error::TooLarge) - } - } - - fn start_push(&mut self) { - if !self.line.is_empty() { - self.line.push(' '); - } - } - - fn end_push(&mut self) { - // This assert is always true because of the `has_capacity` check that each insert method - // uses. - assert!(self.line.len() < self.capacity); - } - - /// Validates and inserts a key value pair into this command line - pub fn insert>(&mut self, key: T, val: T) -> Result<()> { - let k = key.as_ref(); - let v = val.as_ref(); - - valid_element(k)?; - valid_element(v)?; - self.has_capacity(k.len() + v.len() + 1)?; - - self.start_push(); - self.line.push_str(k); - self.line.push('='); - self.line.push_str(v); - self.end_push(); - - Ok(()) - } - - /// Validates and inserts a string to the end of the current command line - pub fn insert_str>(&mut self, slug: T) -> Result<()> { - let s = slug.as_ref(); - valid_str(s)?; - - self.has_capacity(s.len())?; - - self.start_push(); - self.line.push_str(s); - self.end_push(); - - Ok(()) - } - - /// Returns the cmdline in progress without nul termination - pub fn as_str(&self) -> &str { - self.line.as_str() - } -} - -impl Into> for Cmdline { - fn into(self) -> Vec { - self.line.into_bytes() - } -} - -#[cfg(test)] -mod tests { - use super::*; - use std::ffi::CString; - - #[test] - fn insert_hello_world() { - let mut cl = Cmdline::new(100); - assert_eq!(cl.as_str(), ""); - assert!(cl.insert("hello", "world").is_ok()); - assert_eq!(cl.as_str(), "hello=world"); - - let s = CString::new(cl).expect("failed to create CString from Cmdline"); - assert_eq!(s, CString::new("hello=world").unwrap()); - } - - #[test] - fn insert_multi() { - let mut cl = Cmdline::new(100); - assert!(cl.insert("hello", "world").is_ok()); - assert!(cl.insert("foo", "bar").is_ok()); - assert_eq!(cl.as_str(), "hello=world foo=bar"); - } - - #[test] - fn insert_space() { - let mut cl = Cmdline::new(100); - assert_eq!(cl.insert("a ", "b"), Err(Error::HasSpace)); - assert_eq!(cl.insert("a", "b "), Err(Error::HasSpace)); - assert_eq!(cl.insert("a ", "b "), Err(Error::HasSpace)); - assert_eq!(cl.insert(" a", "b"), Err(Error::HasSpace)); - assert_eq!(cl.as_str(), ""); - } - - #[test] - fn insert_equals() { - let mut cl = Cmdline::new(100); - assert_eq!(cl.insert("a=", "b"), Err(Error::HasEquals)); - assert_eq!(cl.insert("a", "b="), Err(Error::HasEquals)); - assert_eq!(cl.insert("a=", "b "), Err(Error::HasEquals)); - assert_eq!(cl.insert("=a", "b"), Err(Error::HasEquals)); - assert_eq!(cl.insert("a", "=b"), Err(Error::HasEquals)); - assert_eq!(cl.as_str(), ""); - } - - #[test] - fn insert_emoji() { - let mut cl = Cmdline::new(100); - assert_eq!(cl.insert("heart", "💖"), Err(Error::InvalidAscii)); - assert_eq!(cl.insert("💖", "love"), Err(Error::InvalidAscii)); - assert_eq!(cl.as_str(), ""); - } - - #[test] - fn insert_string() { - let mut cl = Cmdline::new(13); - assert_eq!(cl.as_str(), ""); - assert!(cl.insert_str("noapic").is_ok()); - assert_eq!(cl.as_str(), "noapic"); - assert!(cl.insert_str("nopci").is_ok()); - assert_eq!(cl.as_str(), "noapic nopci"); - } - - #[test] - fn insert_too_large() { - let mut cl = Cmdline::new(4); - assert_eq!(cl.insert("hello", "world"), Err(Error::TooLarge)); - assert_eq!(cl.insert("a", "world"), Err(Error::TooLarge)); - assert_eq!(cl.insert("hello", "b"), Err(Error::TooLarge)); - assert!(cl.insert("a", "b").is_ok()); - assert_eq!(cl.insert("a", "b"), Err(Error::TooLarge)); - assert_eq!(cl.insert_str("a"), Err(Error::TooLarge)); - assert_eq!(cl.as_str(), "a=b"); - - let mut cl = Cmdline::new(10); - assert!(cl.insert("ab", "ba").is_ok()); // adds 5 length - assert_eq!(cl.insert("c", "da"), Err(Error::TooLarge)); // adds 5 (including space) length - assert!(cl.insert("c", "d").is_ok()); // adds 4 (including space) length - } -} diff --git a/vendor/git-bda1448fb2afcb00/linux-loader/src/lib.rs b/vendor/git-bda1448fb2afcb00/linux-loader/src/lib.rs deleted file mode 100644 index 4cb50e9eb..000000000 --- a/vendor/git-bda1448fb2afcb00/linux-loader/src/lib.rs +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright (c) 2019 Intel Corporation. All rights reserved. -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. -// -// SPDX-License-Identifier: Apache-2.0 AND BSD-3-Clause - -pub mod cmdline; -pub mod loader; - -extern crate vm_memory; diff --git a/vendor/git-bda1448fb2afcb00/linux-loader/src/loader/bootparam.rs b/vendor/git-bda1448fb2afcb00/linux-loader/src/loader/bootparam.rs deleted file mode 100644 index f19663ff6..000000000 --- a/vendor/git-bda1448fb2afcb00/linux-loader/src/loader/bootparam.rs +++ /dev/null @@ -1,3870 +0,0 @@ -// Copyright (c) 2019 Intel Corporation. All rights reserved. -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. -// -// SPDX-License-Identifier: Apache-2.0 AND BSD-3-Clause - -/* - * automatically generated by rust-bindgen - * From upstream linux bootparam.h at commit: - * 806276b7f07a39a1cc3f38bb1ef5c573d4594a38 - */ - -#[repr(C)] -#[derive(Default)] -pub struct __IncompleteArrayField(::std::marker::PhantomData); -impl __IncompleteArrayField { - #[inline] - pub fn new() -> Self { - __IncompleteArrayField(::std::marker::PhantomData) - } - #[inline] - pub unsafe fn as_ptr(&self) -> *const T { - ::std::mem::transmute(self) - } - #[inline] - pub unsafe fn as_mut_ptr(&mut self) -> *mut T { - ::std::mem::transmute(self) - } - #[inline] - pub unsafe fn as_slice(&self, len: usize) -> &[T] { - ::std::slice::from_raw_parts(self.as_ptr(), len) - } - #[inline] - pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { - ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len) - } -} -impl ::std::fmt::Debug for __IncompleteArrayField { - fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { - fmt.write_str("__IncompleteArrayField") - } -} -impl ::std::clone::Clone for __IncompleteArrayField { - #[inline] - fn clone(&self) -> Self { - Self::new() - } -} -impl ::std::marker::Copy for __IncompleteArrayField {} -#[repr(C)] -pub struct __BindgenUnionField(::std::marker::PhantomData); -impl __BindgenUnionField { - #[inline] - pub fn new() -> Self { - __BindgenUnionField(::std::marker::PhantomData) - } - #[inline] - pub unsafe fn as_ref(&self) -> &T { - ::std::mem::transmute(self) - } - #[inline] - pub unsafe fn as_mut(&mut self) -> &mut T { - ::std::mem::transmute(self) - } -} -impl ::std::default::Default for __BindgenUnionField { - #[inline] - fn default() -> Self { - Self::new() - } -} -impl ::std::clone::Clone for __BindgenUnionField { - #[inline] - fn clone(&self) -> Self { - Self::new() - } -} -impl ::std::marker::Copy for __BindgenUnionField {} -impl ::std::fmt::Debug for __BindgenUnionField { - fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { - fmt.write_str("__BindgenUnionField") - } -} -pub const SETUP_NONE: ::std::os::raw::c_uint = 0; -pub const SETUP_E820_EXT: ::std::os::raw::c_uint = 1; -pub const SETUP_DTB: ::std::os::raw::c_uint = 2; -pub const SETUP_PCI: ::std::os::raw::c_uint = 3; -pub const SETUP_EFI: ::std::os::raw::c_uint = 4; -pub const RAMDISK_IMAGE_START_MASK: ::std::os::raw::c_uint = 2047; -pub const RAMDISK_PROMPT_FLAG: ::std::os::raw::c_uint = 32768; -pub const RAMDISK_LOAD_FLAG: ::std::os::raw::c_uint = 16384; -pub const LOADED_HIGH: ::std::os::raw::c_uint = 1; -pub const QUIET_FLAG: ::std::os::raw::c_uint = 32; -pub const KEEP_SEGMENTS: ::std::os::raw::c_uint = 64; -pub const CAN_USE_HEAP: ::std::os::raw::c_uint = 128; -pub const XLF_KERNEL_64: ::std::os::raw::c_uint = 1; -pub const XLF_CAN_BE_LOADED_ABOVE_4G: ::std::os::raw::c_uint = 2; -pub const XLF_EFI_HANDOVER_32: ::std::os::raw::c_uint = 4; -pub const XLF_EFI_HANDOVER_64: ::std::os::raw::c_uint = 8; -pub const XLF_EFI_KEXEC: ::std::os::raw::c_uint = 16; -pub const __BITS_PER_LONG: ::std::os::raw::c_uint = 64; -pub const __FD_SETSIZE: ::std::os::raw::c_uint = 1024; -pub const VIDEO_TYPE_MDA: ::std::os::raw::c_uint = 16; -pub const VIDEO_TYPE_CGA: ::std::os::raw::c_uint = 17; -pub const VIDEO_TYPE_EGAM: ::std::os::raw::c_uint = 32; -pub const VIDEO_TYPE_EGAC: ::std::os::raw::c_uint = 33; -pub const VIDEO_TYPE_VGAC: ::std::os::raw::c_uint = 34; -pub const VIDEO_TYPE_VLFB: ::std::os::raw::c_uint = 35; -pub const VIDEO_TYPE_PICA_S3: ::std::os::raw::c_uint = 48; -pub const VIDEO_TYPE_MIPS_G364: ::std::os::raw::c_uint = 49; -pub const VIDEO_TYPE_SGI: ::std::os::raw::c_uint = 51; -pub const VIDEO_TYPE_TGAC: ::std::os::raw::c_uint = 64; -pub const VIDEO_TYPE_SUN: ::std::os::raw::c_uint = 80; -pub const VIDEO_TYPE_SUNPCI: ::std::os::raw::c_uint = 81; -pub const VIDEO_TYPE_PMAC: ::std::os::raw::c_uint = 96; -pub const VIDEO_TYPE_EFI: ::std::os::raw::c_uint = 112; -pub const VIDEO_FLAGS_NOCURSOR: ::std::os::raw::c_uint = 1; -pub const VIDEO_CAPABILITY_SKIP_QUIRKS: ::std::os::raw::c_uint = 1; -pub const APM_STATE_READY: ::std::os::raw::c_uint = 0; -pub const APM_STATE_STANDBY: ::std::os::raw::c_uint = 1; -pub const APM_STATE_SUSPEND: ::std::os::raw::c_uint = 2; -pub const APM_STATE_OFF: ::std::os::raw::c_uint = 3; -pub const APM_STATE_BUSY: ::std::os::raw::c_uint = 4; -pub const APM_STATE_REJECT: ::std::os::raw::c_uint = 5; -pub const APM_STATE_OEM_SYS: ::std::os::raw::c_uint = 32; -pub const APM_STATE_OEM_DEV: ::std::os::raw::c_uint = 64; -pub const APM_STATE_DISABLE: ::std::os::raw::c_uint = 0; -pub const APM_STATE_ENABLE: ::std::os::raw::c_uint = 1; -pub const APM_STATE_DISENGAGE: ::std::os::raw::c_uint = 0; -pub const APM_STATE_ENGAGE: ::std::os::raw::c_uint = 1; -pub const APM_SYS_STANDBY: ::std::os::raw::c_uint = 1; -pub const APM_SYS_SUSPEND: ::std::os::raw::c_uint = 2; -pub const APM_NORMAL_RESUME: ::std::os::raw::c_uint = 3; -pub const APM_CRITICAL_RESUME: ::std::os::raw::c_uint = 4; -pub const APM_LOW_BATTERY: ::std::os::raw::c_uint = 5; -pub const APM_POWER_STATUS_CHANGE: ::std::os::raw::c_uint = 6; -pub const APM_UPDATE_TIME: ::std::os::raw::c_uint = 7; -pub const APM_CRITICAL_SUSPEND: ::std::os::raw::c_uint = 8; -pub const APM_USER_STANDBY: ::std::os::raw::c_uint = 9; -pub const APM_USER_SUSPEND: ::std::os::raw::c_uint = 10; -pub const APM_STANDBY_RESUME: ::std::os::raw::c_uint = 11; -pub const APM_CAPABILITY_CHANGE: ::std::os::raw::c_uint = 12; -pub const APM_USER_HIBERNATION: ::std::os::raw::c_uint = 13; -pub const APM_HIBERNATION_RESUME: ::std::os::raw::c_uint = 14; -pub const APM_SUCCESS: ::std::os::raw::c_uint = 0; -pub const APM_DISABLED: ::std::os::raw::c_uint = 1; -pub const APM_CONNECTED: ::std::os::raw::c_uint = 2; -pub const APM_NOT_CONNECTED: ::std::os::raw::c_uint = 3; -pub const APM_16_CONNECTED: ::std::os::raw::c_uint = 5; -pub const APM_16_UNSUPPORTED: ::std::os::raw::c_uint = 6; -pub const APM_32_CONNECTED: ::std::os::raw::c_uint = 7; -pub const APM_32_UNSUPPORTED: ::std::os::raw::c_uint = 8; -pub const APM_BAD_DEVICE: ::std::os::raw::c_uint = 9; -pub const APM_BAD_PARAM: ::std::os::raw::c_uint = 10; -pub const APM_NOT_ENGAGED: ::std::os::raw::c_uint = 11; -pub const APM_BAD_FUNCTION: ::std::os::raw::c_uint = 12; -pub const APM_RESUME_DISABLED: ::std::os::raw::c_uint = 13; -pub const APM_NO_ERROR: ::std::os::raw::c_uint = 83; -pub const APM_BAD_STATE: ::std::os::raw::c_uint = 96; -pub const APM_NO_EVENTS: ::std::os::raw::c_uint = 128; -pub const APM_NOT_PRESENT: ::std::os::raw::c_uint = 134; -pub const APM_DEVICE_BIOS: ::std::os::raw::c_uint = 0; -pub const APM_DEVICE_ALL: ::std::os::raw::c_uint = 1; -pub const APM_DEVICE_DISPLAY: ::std::os::raw::c_uint = 256; -pub const APM_DEVICE_STORAGE: ::std::os::raw::c_uint = 512; -pub const APM_DEVICE_PARALLEL: ::std::os::raw::c_uint = 768; -pub const APM_DEVICE_SERIAL: ::std::os::raw::c_uint = 1024; -pub const APM_DEVICE_NETWORK: ::std::os::raw::c_uint = 1280; -pub const APM_DEVICE_PCMCIA: ::std::os::raw::c_uint = 1536; -pub const APM_DEVICE_BATTERY: ::std::os::raw::c_uint = 32768; -pub const APM_DEVICE_OEM: ::std::os::raw::c_uint = 57344; -pub const APM_DEVICE_OLD_ALL: ::std::os::raw::c_uint = 65535; -pub const APM_DEVICE_CLASS: ::std::os::raw::c_uint = 255; -pub const APM_DEVICE_MASK: ::std::os::raw::c_uint = 65280; -pub const APM_MAX_BATTERIES: ::std::os::raw::c_uint = 2; -pub const APM_CAP_GLOBAL_STANDBY: ::std::os::raw::c_uint = 1; -pub const APM_CAP_GLOBAL_SUSPEND: ::std::os::raw::c_uint = 2; -pub const APM_CAP_RESUME_STANDBY_TIMER: ::std::os::raw::c_uint = 4; -pub const APM_CAP_RESUME_SUSPEND_TIMER: ::std::os::raw::c_uint = 8; -pub const APM_CAP_RESUME_STANDBY_RING: ::std::os::raw::c_uint = 16; -pub const APM_CAP_RESUME_SUSPEND_RING: ::std::os::raw::c_uint = 32; -pub const APM_CAP_RESUME_STANDBY_PCMCIA: ::std::os::raw::c_uint = 64; -pub const APM_CAP_RESUME_SUSPEND_PCMCIA: ::std::os::raw::c_uint = 128; -pub const _IOC_NRBITS: ::std::os::raw::c_uint = 8; -pub const _IOC_TYPEBITS: ::std::os::raw::c_uint = 8; -pub const _IOC_SIZEBITS: ::std::os::raw::c_uint = 14; -pub const _IOC_DIRBITS: ::std::os::raw::c_uint = 2; -pub const _IOC_NRMASK: ::std::os::raw::c_uint = 255; -pub const _IOC_TYPEMASK: ::std::os::raw::c_uint = 255; -pub const _IOC_SIZEMASK: ::std::os::raw::c_uint = 16383; -pub const _IOC_DIRMASK: ::std::os::raw::c_uint = 3; -pub const _IOC_NRSHIFT: ::std::os::raw::c_uint = 0; -pub const _IOC_TYPESHIFT: ::std::os::raw::c_uint = 8; -pub const _IOC_SIZESHIFT: ::std::os::raw::c_uint = 16; -pub const _IOC_DIRSHIFT: ::std::os::raw::c_uint = 30; -pub const _IOC_NONE: ::std::os::raw::c_uint = 0; -pub const _IOC_WRITE: ::std::os::raw::c_uint = 1; -pub const _IOC_READ: ::std::os::raw::c_uint = 2; -pub const IOC_IN: ::std::os::raw::c_uint = 1073741824; -pub const IOC_OUT: ::std::os::raw::c_uint = 2147483648; -pub const IOC_INOUT: ::std::os::raw::c_uint = 3221225472; -pub const IOCSIZE_MASK: ::std::os::raw::c_uint = 1073676288; -pub const IOCSIZE_SHIFT: ::std::os::raw::c_uint = 16; -pub const EDDNR: ::std::os::raw::c_uint = 489; -pub const EDDBUF: ::std::os::raw::c_uint = 3328; -pub const EDDMAXNR: ::std::os::raw::c_uint = 6; -pub const EDDEXTSIZE: ::std::os::raw::c_uint = 8; -pub const EDDPARMSIZE: ::std::os::raw::c_uint = 74; -pub const CHECKEXTENSIONSPRESENT: ::std::os::raw::c_uint = 65; -pub const GETDEVICEPARAMETERS: ::std::os::raw::c_uint = 72; -pub const LEGACYGETDEVICEPARAMETERS: ::std::os::raw::c_uint = 8; -pub const EDDMAGIC1: ::std::os::raw::c_uint = 21930; -pub const EDDMAGIC2: ::std::os::raw::c_uint = 43605; -pub const READ_SECTORS: ::std::os::raw::c_uint = 2; -pub const EDD_MBR_SIG_OFFSET: ::std::os::raw::c_uint = 440; -pub const EDD_MBR_SIG_BUF: ::std::os::raw::c_uint = 656; -pub const EDD_MBR_SIG_MAX: ::std::os::raw::c_uint = 16; -pub const EDD_MBR_SIG_NR_BUF: ::std::os::raw::c_uint = 490; -pub const EDD_EXT_FIXED_DISK_ACCESS: ::std::os::raw::c_uint = 1; -pub const EDD_EXT_DEVICE_LOCKING_AND_EJECTING: ::std::os::raw::c_uint = 2; -pub const EDD_EXT_ENHANCED_DISK_DRIVE_SUPPORT: ::std::os::raw::c_uint = 4; -pub const EDD_EXT_64BIT_EXTENSIONS: ::std::os::raw::c_uint = 8; -pub const EDD_INFO_DMA_BOUNDARY_ERROR_TRANSPARENT: ::std::os::raw::c_uint = 1; -pub const EDD_INFO_GEOMETRY_VALID: ::std::os::raw::c_uint = 2; -pub const EDD_INFO_REMOVABLE: ::std::os::raw::c_uint = 4; -pub const EDD_INFO_WRITE_VERIFY: ::std::os::raw::c_uint = 8; -pub const EDD_INFO_MEDIA_CHANGE_NOTIFICATION: ::std::os::raw::c_uint = 16; -pub const EDD_INFO_LOCKABLE: ::std::os::raw::c_uint = 32; -pub const EDD_INFO_NO_MEDIA_PRESENT: ::std::os::raw::c_uint = 64; -pub const EDD_INFO_USE_INT13_FN50: ::std::os::raw::c_uint = 128; -pub const E820MAP: ::std::os::raw::c_uint = 720; -pub const E820MAX: ::std::os::raw::c_uint = 128; -pub const E820_X_MAX: ::std::os::raw::c_uint = 128; -pub const E820NR: ::std::os::raw::c_uint = 488; -pub const E820_RAM: ::std::os::raw::c_uint = 1; -pub const E820_RESERVED: ::std::os::raw::c_uint = 2; -pub const E820_ACPI: ::std::os::raw::c_uint = 3; -pub const E820_NVS: ::std::os::raw::c_uint = 4; -pub const E820_UNUSABLE: ::std::os::raw::c_uint = 5; -pub const E820_RESERVED_KERN: ::std::os::raw::c_uint = 128; -pub const ISA_START_ADDRESS: ::std::os::raw::c_uint = 655360; -pub const ISA_END_ADDRESS: ::std::os::raw::c_uint = 1048576; -pub const BIOS_BEGIN: ::std::os::raw::c_uint = 655360; -pub const BIOS_END: ::std::os::raw::c_uint = 1048576; -pub const BIOS_ROM_BASE: ::std::os::raw::c_uint = 4292870144; -pub const BIOS_ROM_END: ::std::os::raw::c_uint = 4294967295; -pub type __s8 = ::std::os::raw::c_schar; -pub type __u8 = ::std::os::raw::c_uchar; -pub type __s16 = ::std::os::raw::c_short; -pub type __u16 = ::std::os::raw::c_ushort; -pub type __s32 = ::std::os::raw::c_int; -pub type __u32 = ::std::os::raw::c_uint; -pub type __s64 = ::std::os::raw::c_longlong; -pub type __u64 = ::std::os::raw::c_ulonglong; -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct __kernel_fd_set { - pub fds_bits: [::std::os::raw::c_ulong; 16usize], -} -#[test] -fn bindgen_test_layout___kernel_fd_set() { - assert_eq!( - ::std::mem::size_of::<__kernel_fd_set>(), - 128usize, - concat!("Size of: ", stringify!(__kernel_fd_set)) - ); - assert_eq!( - ::std::mem::align_of::<__kernel_fd_set>(), - 8usize, - concat!("Alignment of ", stringify!(__kernel_fd_set)) - ); - assert_eq!( - unsafe { &(*(0 as *const __kernel_fd_set)).fds_bits as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(__kernel_fd_set), - "::", - stringify!(fds_bits) - ) - ); -} -impl Clone for __kernel_fd_set { - fn clone(&self) -> Self { - *self - } -} -pub type __kernel_sighandler_t = - ::std::option::Option; -pub type __kernel_key_t = ::std::os::raw::c_int; -pub type __kernel_mqd_t = ::std::os::raw::c_int; -pub type __kernel_old_uid_t = ::std::os::raw::c_ushort; -pub type __kernel_old_gid_t = ::std::os::raw::c_ushort; -pub type __kernel_old_dev_t = ::std::os::raw::c_ulong; -pub type __kernel_long_t = ::std::os::raw::c_long; -pub type __kernel_ulong_t = ::std::os::raw::c_ulong; -pub type __kernel_ino_t = __kernel_ulong_t; -pub type __kernel_mode_t = ::std::os::raw::c_uint; -pub type __kernel_pid_t = ::std::os::raw::c_int; -pub type __kernel_ipc_pid_t = ::std::os::raw::c_int; -pub type __kernel_uid_t = ::std::os::raw::c_uint; -pub type __kernel_gid_t = ::std::os::raw::c_uint; -pub type __kernel_suseconds_t = __kernel_long_t; -pub type __kernel_daddr_t = ::std::os::raw::c_int; -pub type __kernel_uid32_t = ::std::os::raw::c_uint; -pub type __kernel_gid32_t = ::std::os::raw::c_uint; -pub type __kernel_size_t = __kernel_ulong_t; -pub type __kernel_ssize_t = __kernel_long_t; -pub type __kernel_ptrdiff_t = __kernel_long_t; -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct __kernel_fsid_t { - pub val: [::std::os::raw::c_int; 2usize], -} -#[test] -fn bindgen_test_layout___kernel_fsid_t() { - assert_eq!( - ::std::mem::size_of::<__kernel_fsid_t>(), - 8usize, - concat!("Size of: ", stringify!(__kernel_fsid_t)) - ); - assert_eq!( - ::std::mem::align_of::<__kernel_fsid_t>(), - 4usize, - concat!("Alignment of ", stringify!(__kernel_fsid_t)) - ); - assert_eq!( - unsafe { &(*(0 as *const __kernel_fsid_t)).val as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(__kernel_fsid_t), - "::", - stringify!(val) - ) - ); -} -impl Clone for __kernel_fsid_t { - fn clone(&self) -> Self { - *self - } -} -pub type __kernel_off_t = __kernel_long_t; -pub type __kernel_loff_t = ::std::os::raw::c_longlong; -pub type __kernel_time_t = __kernel_long_t; -pub type __kernel_clock_t = __kernel_long_t; -pub type __kernel_timer_t = ::std::os::raw::c_int; -pub type __kernel_clockid_t = ::std::os::raw::c_int; -pub type __kernel_caddr_t = *mut ::std::os::raw::c_char; -pub type __kernel_uid16_t = ::std::os::raw::c_ushort; -pub type __kernel_gid16_t = ::std::os::raw::c_ushort; -pub type __le16 = __u16; -pub type __be16 = __u16; -pub type __le32 = __u32; -pub type __be32 = __u32; -pub type __le64 = __u64; -pub type __be64 = __u64; -pub type __sum16 = __u16; -pub type __wsum = __u32; -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct screen_info { - pub orig_x: __u8, - pub orig_y: __u8, - pub ext_mem_k: __u16, - pub orig_video_page: __u16, - pub orig_video_mode: __u8, - pub orig_video_cols: __u8, - pub flags: __u8, - pub unused2: __u8, - pub orig_video_ega_bx: __u16, - pub unused3: __u16, - pub orig_video_lines: __u8, - pub orig_video_isVGA: __u8, - pub orig_video_points: __u16, - pub lfb_width: __u16, - pub lfb_height: __u16, - pub lfb_depth: __u16, - pub lfb_base: __u32, - pub lfb_size: __u32, - pub cl_magic: __u16, - pub cl_offset: __u16, - pub lfb_linelength: __u16, - pub red_size: __u8, - pub red_pos: __u8, - pub green_size: __u8, - pub green_pos: __u8, - pub blue_size: __u8, - pub blue_pos: __u8, - pub rsvd_size: __u8, - pub rsvd_pos: __u8, - pub vesapm_seg: __u16, - pub vesapm_off: __u16, - pub pages: __u16, - pub vesa_attributes: __u16, - pub capabilities: __u32, - pub _reserved: [__u8; 6usize], -} -#[test] -fn bindgen_test_layout_screen_info() { - assert_eq!( - ::std::mem::size_of::(), - 64usize, - concat!("Size of: ", stringify!(screen_info)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(screen_info)) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).orig_x as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(orig_x) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).orig_y as *const _ as usize }, - 1usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(orig_y) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).ext_mem_k as *const _ as usize }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(ext_mem_k) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).orig_video_page as *const _ as usize }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(orig_video_page) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).orig_video_mode as *const _ as usize }, - 6usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(orig_video_mode) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).orig_video_cols as *const _ as usize }, - 7usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(orig_video_cols) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).flags as *const _ as usize }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(flags) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).unused2 as *const _ as usize }, - 9usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(unused2) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).orig_video_ega_bx as *const _ as usize }, - 10usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(orig_video_ega_bx) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).unused3 as *const _ as usize }, - 12usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(unused3) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).orig_video_lines as *const _ as usize }, - 14usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(orig_video_lines) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).orig_video_isVGA as *const _ as usize }, - 15usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(orig_video_isVGA) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).orig_video_points as *const _ as usize }, - 16usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(orig_video_points) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).lfb_width as *const _ as usize }, - 18usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(lfb_width) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).lfb_height as *const _ as usize }, - 20usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(lfb_height) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).lfb_depth as *const _ as usize }, - 22usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(lfb_depth) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).lfb_base as *const _ as usize }, - 24usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(lfb_base) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).lfb_size as *const _ as usize }, - 28usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(lfb_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).cl_magic as *const _ as usize }, - 32usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(cl_magic) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).cl_offset as *const _ as usize }, - 34usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(cl_offset) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).lfb_linelength as *const _ as usize }, - 36usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(lfb_linelength) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).red_size as *const _ as usize }, - 38usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(red_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).red_pos as *const _ as usize }, - 39usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(red_pos) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).green_size as *const _ as usize }, - 40usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(green_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).green_pos as *const _ as usize }, - 41usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(green_pos) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).blue_size as *const _ as usize }, - 42usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(blue_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).blue_pos as *const _ as usize }, - 43usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(blue_pos) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).rsvd_size as *const _ as usize }, - 44usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(rsvd_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).rsvd_pos as *const _ as usize }, - 45usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(rsvd_pos) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).vesapm_seg as *const _ as usize }, - 46usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(vesapm_seg) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).vesapm_off as *const _ as usize }, - 48usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(vesapm_off) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).pages as *const _ as usize }, - 50usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(pages) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).vesa_attributes as *const _ as usize }, - 52usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(vesa_attributes) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info)).capabilities as *const _ as usize }, - 54usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(capabilities) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const screen_info))._reserved as *const _ as usize }, - 58usize, - concat!( - "Alignment of field: ", - stringify!(screen_info), - "::", - stringify!(_reserved) - ) - ); -} -impl Clone for screen_info { - fn clone(&self) -> Self { - *self - } -} -pub type apm_event_t = ::std::os::raw::c_ushort; -pub type apm_eventinfo_t = ::std::os::raw::c_ushort; -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct apm_bios_info { - pub version: __u16, - pub cseg: __u16, - pub offset: __u32, - pub cseg_16: __u16, - pub dseg: __u16, - pub flags: __u16, - pub cseg_len: __u16, - pub cseg_16_len: __u16, - pub dseg_len: __u16, -} -#[test] -fn bindgen_test_layout_apm_bios_info() { - assert_eq!( - ::std::mem::size_of::(), - 20usize, - concat!("Size of: ", stringify!(apm_bios_info)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(apm_bios_info)) - ); - assert_eq!( - unsafe { &(*(0 as *const apm_bios_info)).version as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(apm_bios_info), - "::", - stringify!(version) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const apm_bios_info)).cseg as *const _ as usize }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(apm_bios_info), - "::", - stringify!(cseg) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const apm_bios_info)).offset as *const _ as usize }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(apm_bios_info), - "::", - stringify!(offset) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const apm_bios_info)).cseg_16 as *const _ as usize }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(apm_bios_info), - "::", - stringify!(cseg_16) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const apm_bios_info)).dseg as *const _ as usize }, - 10usize, - concat!( - "Alignment of field: ", - stringify!(apm_bios_info), - "::", - stringify!(dseg) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const apm_bios_info)).flags as *const _ as usize }, - 12usize, - concat!( - "Alignment of field: ", - stringify!(apm_bios_info), - "::", - stringify!(flags) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const apm_bios_info)).cseg_len as *const _ as usize }, - 14usize, - concat!( - "Alignment of field: ", - stringify!(apm_bios_info), - "::", - stringify!(cseg_len) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const apm_bios_info)).cseg_16_len as *const _ as usize }, - 16usize, - concat!( - "Alignment of field: ", - stringify!(apm_bios_info), - "::", - stringify!(cseg_16_len) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const apm_bios_info)).dseg_len as *const _ as usize }, - 18usize, - concat!( - "Alignment of field: ", - stringify!(apm_bios_info), - "::", - stringify!(dseg_len) - ) - ); -} -impl Clone for apm_bios_info { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params { - pub length: __u16, - pub info_flags: __u16, - pub num_default_cylinders: __u32, - pub num_default_heads: __u32, - pub sectors_per_track: __u32, - pub number_of_sectors: __u64, - pub bytes_per_sector: __u16, - pub dpte_ptr: __u32, - pub key: __u16, - pub device_path_info_length: __u8, - pub reserved2: __u8, - pub reserved3: __u16, - pub host_bus_type: [__u8; 4usize], - pub interface_type: [__u8; 8usize], - pub interface_path: edd_device_params__bindgen_ty_1, - pub device_path: edd_device_params__bindgen_ty_2, - pub reserved4: __u8, - pub checksum: __u8, -} -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_1 { - pub isa: __BindgenUnionField, - pub pci: __BindgenUnionField, - pub ibnd: __BindgenUnionField, - pub xprs: __BindgenUnionField, - pub htpt: __BindgenUnionField, - pub unknown: __BindgenUnionField, - pub bindgen_union_field: [u8; 8usize], -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_1__bindgen_ty_1 { - pub base_address: __u16, - pub reserved1: __u16, - pub reserved2: __u32, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_1__bindgen_ty_1() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_1) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_1) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_1)).base_address as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(base_address) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_1)).reserved1 as *const _ - as usize - }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(reserved1) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_1)).reserved2 as *const _ - as usize - }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(reserved2) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_1__bindgen_ty_1 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_1__bindgen_ty_2 { - pub bus: __u8, - pub slot: __u8, - pub function: __u8, - pub channel: __u8, - pub reserved: __u32, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_1__bindgen_ty_2() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_2) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_2) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_2)).bus as *const _ as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(bus) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_2)).slot as *const _ - as usize - }, - 1usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(slot) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_2)).function as *const _ - as usize - }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(function) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_2)).channel as *const _ - as usize - }, - 3usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(channel) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_2)).reserved as *const _ - as usize - }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(reserved) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_1__bindgen_ty_2 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_1__bindgen_ty_3 { - pub reserved: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_1__bindgen_ty_3() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_3) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_3) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_3)).reserved as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_3), - "::", - stringify!(reserved) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_1__bindgen_ty_3 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_1__bindgen_ty_4 { - pub reserved: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_1__bindgen_ty_4() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_4) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_4) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_4)).reserved as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_4), - "::", - stringify!(reserved) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_1__bindgen_ty_4 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_1__bindgen_ty_5 { - pub reserved: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_1__bindgen_ty_5() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_5) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_5) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_5)).reserved as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_5), - "::", - stringify!(reserved) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_1__bindgen_ty_5 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_1__bindgen_ty_6 { - pub reserved: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_1__bindgen_ty_6() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_6) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_6) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_1__bindgen_ty_6)).reserved as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1__bindgen_ty_6), - "::", - stringify!(reserved) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_1__bindgen_ty_6 { - fn clone(&self) -> Self { - *self - } -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_1() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(edd_device_params__bindgen_ty_1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(edd_device_params__bindgen_ty_1)) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_1)).isa as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1), - "::", - stringify!(isa) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_1)).pci as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1), - "::", - stringify!(pci) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_1)).ibnd as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1), - "::", - stringify!(ibnd) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_1)).xprs as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1), - "::", - stringify!(xprs) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_1)).htpt as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1), - "::", - stringify!(htpt) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_1)).unknown as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_1), - "::", - stringify!(unknown) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_1 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2 { - pub ata: __BindgenUnionField, - pub atapi: __BindgenUnionField, - pub scsi: __BindgenUnionField, - pub usb: __BindgenUnionField, - pub i1394: __BindgenUnionField, - pub fibre: __BindgenUnionField, - pub i2o: __BindgenUnionField, - pub raid: __BindgenUnionField, - pub sata: __BindgenUnionField, - pub unknown: __BindgenUnionField, - pub bindgen_union_field: [u8; 16usize], -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2__bindgen_ty_1 { - pub device: __u8, - pub reserved1: __u8, - pub reserved2: __u16, - pub reserved3: __u32, - pub reserved4: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2__bindgen_ty_1() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_1) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_1) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_1)).device as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(device) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_1)).reserved1 as *const _ - as usize - }, - 1usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(reserved1) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_1)).reserved2 as *const _ - as usize - }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(reserved2) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_1)).reserved3 as *const _ - as usize - }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(reserved3) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_1)).reserved4 as *const _ - as usize - }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(reserved4) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2__bindgen_ty_1 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2__bindgen_ty_2 { - pub device: __u8, - pub lun: __u8, - pub reserved1: __u8, - pub reserved2: __u8, - pub reserved3: __u32, - pub reserved4: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2__bindgen_ty_2() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_2) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_2) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_2)).device as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_2), - "::", - stringify!(device) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_2)).lun as *const _ as usize - }, - 1usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_2), - "::", - stringify!(lun) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_2)).reserved1 as *const _ - as usize - }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_2), - "::", - stringify!(reserved1) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_2)).reserved2 as *const _ - as usize - }, - 3usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_2), - "::", - stringify!(reserved2) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_2)).reserved3 as *const _ - as usize - }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_2), - "::", - stringify!(reserved3) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_2)).reserved4 as *const _ - as usize - }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_2), - "::", - stringify!(reserved4) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2__bindgen_ty_2 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2__bindgen_ty_3 { - pub id: __u16, - pub lun: __u64, - pub reserved1: __u16, - pub reserved2: __u32, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2__bindgen_ty_3() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_3) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_3) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_3)).id as *const _ as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_3), - "::", - stringify!(id) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_3)).lun as *const _ as usize - }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_3), - "::", - stringify!(lun) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_3)).reserved1 as *const _ - as usize - }, - 10usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_3), - "::", - stringify!(reserved1) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_3)).reserved2 as *const _ - as usize - }, - 12usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_3), - "::", - stringify!(reserved2) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2__bindgen_ty_3 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2__bindgen_ty_4 { - pub serial_number: __u64, - pub reserved: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2__bindgen_ty_4() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_4) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_4) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_4)).serial_number - as *const _ as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_4), - "::", - stringify!(serial_number) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_4)).reserved as *const _ - as usize - }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_4), - "::", - stringify!(reserved) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2__bindgen_ty_4 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2__bindgen_ty_5 { - pub eui: __u64, - pub reserved: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2__bindgen_ty_5() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_5) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_5) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_5)).eui as *const _ as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_5), - "::", - stringify!(eui) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_5)).reserved as *const _ - as usize - }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_5), - "::", - stringify!(reserved) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2__bindgen_ty_5 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2__bindgen_ty_6 { - pub wwid: __u64, - pub lun: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2__bindgen_ty_6() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_6) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_6) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_6)).wwid as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_6), - "::", - stringify!(wwid) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_6)).lun as *const _ as usize - }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_6), - "::", - stringify!(lun) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2__bindgen_ty_6 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2__bindgen_ty_7 { - pub identity_tag: __u64, - pub reserved: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2__bindgen_ty_7() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_7) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_7) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_7)).identity_tag as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_7), - "::", - stringify!(identity_tag) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_7)).reserved as *const _ - as usize - }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_7), - "::", - stringify!(reserved) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2__bindgen_ty_7 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2__bindgen_ty_8 { - pub array_number: __u32, - pub reserved1: __u32, - pub reserved2: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2__bindgen_ty_8() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_8) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_8) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_8)).array_number as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_8), - "::", - stringify!(array_number) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_8)).reserved1 as *const _ - as usize - }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_8), - "::", - stringify!(reserved1) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_8)).reserved2 as *const _ - as usize - }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_8), - "::", - stringify!(reserved2) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2__bindgen_ty_8 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2__bindgen_ty_9 { - pub device: __u8, - pub reserved1: __u8, - pub reserved2: __u16, - pub reserved3: __u32, - pub reserved4: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2__bindgen_ty_9() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_9) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_9) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_9)).device as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_9), - "::", - stringify!(device) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_9)).reserved1 as *const _ - as usize - }, - 1usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_9), - "::", - stringify!(reserved1) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_9)).reserved2 as *const _ - as usize - }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_9), - "::", - stringify!(reserved2) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_9)).reserved3 as *const _ - as usize - }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_9), - "::", - stringify!(reserved3) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_9)).reserved4 as *const _ - as usize - }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_9), - "::", - stringify!(reserved4) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2__bindgen_ty_9 { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_device_params__bindgen_ty_2__bindgen_ty_10 { - pub reserved1: __u64, - pub reserved2: __u64, -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2__bindgen_ty_10() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!( - "Size of: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_10) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!( - "Alignment of ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_10) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_10)).reserved1 as *const _ - as usize - }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_10), - "::", - stringify!(reserved1) - ) - ); - assert_eq!( - unsafe { - &(*(0 as *const edd_device_params__bindgen_ty_2__bindgen_ty_10)).reserved2 as *const _ - as usize - }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2__bindgen_ty_10), - "::", - stringify!(reserved2) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2__bindgen_ty_10 { - fn clone(&self) -> Self { - *self - } -} -#[test] -fn bindgen_test_layout_edd_device_params__bindgen_ty_2() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(edd_device_params__bindgen_ty_2)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(edd_device_params__bindgen_ty_2)) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_2)).ata as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2), - "::", - stringify!(ata) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_2)).atapi as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2), - "::", - stringify!(atapi) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_2)).scsi as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2), - "::", - stringify!(scsi) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_2)).usb as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2), - "::", - stringify!(usb) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_2)).i1394 as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2), - "::", - stringify!(i1394) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_2)).fibre as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2), - "::", - stringify!(fibre) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_2)).i2o as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2), - "::", - stringify!(i2o) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_2)).raid as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2), - "::", - stringify!(raid) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_2)).sata as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2), - "::", - stringify!(sata) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params__bindgen_ty_2)).unknown as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params__bindgen_ty_2), - "::", - stringify!(unknown) - ) - ); -} -impl Clone for edd_device_params__bindgen_ty_2 { - fn clone(&self) -> Self { - *self - } -} -#[test] -fn bindgen_test_layout_edd_device_params() { - assert_eq!( - ::std::mem::size_of::(), - 74usize, - concat!("Size of: ", stringify!(edd_device_params)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(edd_device_params)) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).length as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(length) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).info_flags as *const _ as usize }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(info_flags) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).num_default_cylinders as *const _ as usize }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(num_default_cylinders) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).num_default_heads as *const _ as usize }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(num_default_heads) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).sectors_per_track as *const _ as usize }, - 12usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(sectors_per_track) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).number_of_sectors as *const _ as usize }, - 16usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(number_of_sectors) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).bytes_per_sector as *const _ as usize }, - 24usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(bytes_per_sector) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).dpte_ptr as *const _ as usize }, - 26usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(dpte_ptr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).key as *const _ as usize }, - 30usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(key) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).device_path_info_length as *const _ as usize }, - 32usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(device_path_info_length) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).reserved2 as *const _ as usize }, - 33usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(reserved2) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).reserved3 as *const _ as usize }, - 34usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(reserved3) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).host_bus_type as *const _ as usize }, - 36usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(host_bus_type) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).interface_type as *const _ as usize }, - 40usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(interface_type) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).interface_path as *const _ as usize }, - 48usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(interface_path) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).device_path as *const _ as usize }, - 56usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(device_path) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).reserved4 as *const _ as usize }, - 72usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(reserved4) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_device_params)).checksum as *const _ as usize }, - 73usize, - concat!( - "Alignment of field: ", - stringify!(edd_device_params), - "::", - stringify!(checksum) - ) - ); -} -impl Clone for edd_device_params { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct edd_info { - pub device: __u8, - pub version: __u8, - pub interface_support: __u16, - pub legacy_max_cylinder: __u16, - pub legacy_max_head: __u8, - pub legacy_sectors_per_track: __u8, - pub params: edd_device_params, -} -#[test] -fn bindgen_test_layout_edd_info() { - assert_eq!( - ::std::mem::size_of::(), - 82usize, - concat!("Size of: ", stringify!(edd_info)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(edd_info)) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_info)).device as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd_info), - "::", - stringify!(device) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_info)).version as *const _ as usize }, - 1usize, - concat!( - "Alignment of field: ", - stringify!(edd_info), - "::", - stringify!(version) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_info)).interface_support as *const _ as usize }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(edd_info), - "::", - stringify!(interface_support) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_info)).legacy_max_cylinder as *const _ as usize }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(edd_info), - "::", - stringify!(legacy_max_cylinder) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_info)).legacy_max_head as *const _ as usize }, - 6usize, - concat!( - "Alignment of field: ", - stringify!(edd_info), - "::", - stringify!(legacy_max_head) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_info)).legacy_sectors_per_track as *const _ as usize }, - 7usize, - concat!( - "Alignment of field: ", - stringify!(edd_info), - "::", - stringify!(legacy_sectors_per_track) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd_info)).params as *const _ as usize }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(edd_info), - "::", - stringify!(params) - ) - ); -} -impl Clone for edd_info { - fn clone(&self) -> Self { - *self - } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct edd { - pub mbr_signature: [::std::os::raw::c_uint; 16usize], - pub edd_info: [edd_info; 6usize], - pub mbr_signature_nr: ::std::os::raw::c_uchar, - pub edd_info_nr: ::std::os::raw::c_uchar, -} -#[test] -fn bindgen_test_layout_edd() { - assert_eq!( - ::std::mem::size_of::(), - 560usize, - concat!("Size of: ", stringify!(edd)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(edd)) - ); - assert_eq!( - unsafe { &(*(0 as *const edd)).mbr_signature as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edd), - "::", - stringify!(mbr_signature) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd)).edd_info as *const _ as usize }, - 64usize, - concat!( - "Alignment of field: ", - stringify!(edd), - "::", - stringify!(edd_info) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd)).mbr_signature_nr as *const _ as usize }, - 556usize, - concat!( - "Alignment of field: ", - stringify!(edd), - "::", - stringify!(mbr_signature_nr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const edd)).edd_info_nr as *const _ as usize }, - 557usize, - concat!( - "Alignment of field: ", - stringify!(edd), - "::", - stringify!(edd_info_nr) - ) - ); -} -impl Clone for edd { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct e820entry { - pub addr: __u64, - pub size: __u64, - pub type_: __u32, -} -#[test] -fn bindgen_test_layout_e820entry() { - assert_eq!( - ::std::mem::size_of::(), - 20usize, - concat!("Size of: ", stringify!(e820entry)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(e820entry)) - ); - assert_eq!( - unsafe { &(*(0 as *const e820entry)).addr as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(e820entry), - "::", - stringify!(addr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const e820entry)).size as *const _ as usize }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(e820entry), - "::", - stringify!(size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const e820entry)).type_ as *const _ as usize }, - 16usize, - concat!( - "Alignment of field: ", - stringify!(e820entry), - "::", - stringify!(type_) - ) - ); -} -impl Clone for e820entry { - fn clone(&self) -> Self { - *self - } -} -#[repr(C)] -pub struct e820map { - pub nr_map: __u32, - pub map: [e820entry; 128usize], -} -#[test] -fn bindgen_test_layout_e820map() { - assert_eq!( - ::std::mem::size_of::(), - 2564usize, - concat!("Size of: ", stringify!(e820map)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(e820map)) - ); - assert_eq!( - unsafe { &(*(0 as *const e820map)).nr_map as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(e820map), - "::", - stringify!(nr_map) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const e820map)).map as *const _ as usize }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(e820map), - "::", - stringify!(map) - ) - ); -} -impl Default for e820map { - fn default() -> Self { - unsafe { ::std::mem::zeroed() } - } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct ist_info { - pub signature: __u32, - pub command: __u32, - pub event: __u32, - pub perf_level: __u32, -} -#[test] -fn bindgen_test_layout_ist_info() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(ist_info)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(ist_info)) - ); - assert_eq!( - unsafe { &(*(0 as *const ist_info)).signature as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(ist_info), - "::", - stringify!(signature) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const ist_info)).command as *const _ as usize }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(ist_info), - "::", - stringify!(command) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const ist_info)).event as *const _ as usize }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(ist_info), - "::", - stringify!(event) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const ist_info)).perf_level as *const _ as usize }, - 12usize, - concat!( - "Alignment of field: ", - stringify!(ist_info), - "::", - stringify!(perf_level) - ) - ); -} -impl Clone for ist_info { - fn clone(&self) -> Self { - *self - } -} -#[repr(C)] -#[derive(Copy, Clone)] -pub struct edid_info { - pub dummy: [::std::os::raw::c_uchar; 128usize], -} -#[test] -fn bindgen_test_layout_edid_info() { - assert_eq!( - ::std::mem::size_of::(), - 128usize, - concat!("Size of: ", stringify!(edid_info)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(edid_info)) - ); - assert_eq!( - unsafe { &(*(0 as *const edid_info)).dummy as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(edid_info), - "::", - stringify!(dummy) - ) - ); -} -impl Default for edid_info { - fn default() -> Self { - unsafe { ::std::mem::zeroed() } - } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct setup_data { - pub next: __u64, - pub type_: __u32, - pub len: __u32, - pub data: __IncompleteArrayField<__u8>, -} -#[test] -fn bindgen_test_layout_setup_data() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(setup_data)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(setup_data)) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_data)).next as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(setup_data), - "::", - stringify!(next) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_data)).type_ as *const _ as usize }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(setup_data), - "::", - stringify!(type_) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_data)).len as *const _ as usize }, - 12usize, - concat!( - "Alignment of field: ", - stringify!(setup_data), - "::", - stringify!(len) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_data)).data as *const _ as usize }, - 16usize, - concat!( - "Alignment of field: ", - stringify!(setup_data), - "::", - stringify!(data) - ) - ); -} -impl Clone for setup_data { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy, Clone, PartialEq)] -pub struct setup_header { - pub setup_sects: __u8, - pub root_flags: __u16, - pub syssize: __u32, - pub ram_size: __u16, - pub vid_mode: __u16, - pub root_dev: __u16, - pub boot_flag: __u16, - pub jump: __u16, - pub header: __u32, - pub version: __u16, - pub realmode_swtch: __u32, - pub start_sys: __u16, - pub kernel_version: __u16, - pub type_of_loader: __u8, - pub loadflags: __u8, - pub setup_move_size: __u16, - pub code32_start: __u32, - pub ramdisk_image: __u32, - pub ramdisk_size: __u32, - pub bootsect_kludge: __u32, - pub heap_end_ptr: __u16, - pub ext_loader_ver: __u8, - pub ext_loader_type: __u8, - pub cmd_line_ptr: __u32, - pub initrd_addr_max: __u32, - pub kernel_alignment: __u32, - pub relocatable_kernel: __u8, - pub min_alignment: __u8, - pub xloadflags: __u16, - pub cmdline_size: __u32, - pub hardware_subarch: __u32, - pub hardware_subarch_data: __u64, - pub payload_offset: __u32, - pub payload_length: __u32, - pub setup_data: __u64, - pub pref_address: __u64, - pub init_size: __u32, - pub handover_offset: __u32, -} -#[test] -fn bindgen_test_layout_setup_header() { - assert_eq!( - ::std::mem::size_of::(), - 119usize, - concat!("Size of: ", stringify!(setup_header)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(setup_header)) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).setup_sects as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(setup_sects) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).root_flags as *const _ as usize }, - 1usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(root_flags) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).syssize as *const _ as usize }, - 3usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(syssize) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).ram_size as *const _ as usize }, - 7usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(ram_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).vid_mode as *const _ as usize }, - 9usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(vid_mode) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).root_dev as *const _ as usize }, - 11usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(root_dev) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).boot_flag as *const _ as usize }, - 13usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(boot_flag) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).jump as *const _ as usize }, - 15usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(jump) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).header as *const _ as usize }, - 17usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(header) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).version as *const _ as usize }, - 21usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(version) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).realmode_swtch as *const _ as usize }, - 23usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(realmode_swtch) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).start_sys as *const _ as usize }, - 27usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(start_sys) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).kernel_version as *const _ as usize }, - 29usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(kernel_version) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).type_of_loader as *const _ as usize }, - 31usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(type_of_loader) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).loadflags as *const _ as usize }, - 32usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(loadflags) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).setup_move_size as *const _ as usize }, - 33usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(setup_move_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).code32_start as *const _ as usize }, - 35usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(code32_start) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).ramdisk_image as *const _ as usize }, - 39usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(ramdisk_image) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).ramdisk_size as *const _ as usize }, - 43usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(ramdisk_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).bootsect_kludge as *const _ as usize }, - 47usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(bootsect_kludge) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).heap_end_ptr as *const _ as usize }, - 51usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(heap_end_ptr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).ext_loader_ver as *const _ as usize }, - 53usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(ext_loader_ver) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).ext_loader_type as *const _ as usize }, - 54usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(ext_loader_type) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).cmd_line_ptr as *const _ as usize }, - 55usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(cmd_line_ptr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).initrd_addr_max as *const _ as usize }, - 59usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(initrd_addr_max) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).kernel_alignment as *const _ as usize }, - 63usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(kernel_alignment) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).relocatable_kernel as *const _ as usize }, - 67usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(relocatable_kernel) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).min_alignment as *const _ as usize }, - 68usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(min_alignment) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).xloadflags as *const _ as usize }, - 69usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(xloadflags) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).cmdline_size as *const _ as usize }, - 71usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(cmdline_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).hardware_subarch as *const _ as usize }, - 75usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(hardware_subarch) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).hardware_subarch_data as *const _ as usize }, - 79usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(hardware_subarch_data) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).payload_offset as *const _ as usize }, - 87usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(payload_offset) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).payload_length as *const _ as usize }, - 91usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(payload_length) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).setup_data as *const _ as usize }, - 95usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(setup_data) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).pref_address as *const _ as usize }, - 103usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(pref_address) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).init_size as *const _ as usize }, - 111usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(init_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const setup_header)).handover_offset as *const _ as usize }, - 115usize, - concat!( - "Alignment of field: ", - stringify!(setup_header), - "::", - stringify!(handover_offset) - ) - ); -} -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct sys_desc_table { - pub length: __u16, - pub table: [__u8; 14usize], -} -#[test] -fn bindgen_test_layout_sys_desc_table() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(sys_desc_table)) - ); - assert_eq!( - ::std::mem::align_of::(), - 2usize, - concat!("Alignment of ", stringify!(sys_desc_table)) - ); - assert_eq!( - unsafe { &(*(0 as *const sys_desc_table)).length as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(sys_desc_table), - "::", - stringify!(length) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const sys_desc_table)).table as *const _ as usize }, - 2usize, - concat!( - "Alignment of field: ", - stringify!(sys_desc_table), - "::", - stringify!(table) - ) - ); -} -impl Clone for sys_desc_table { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Debug, Default, Copy)] -pub struct olpc_ofw_header { - pub ofw_magic: __u32, - pub ofw_version: __u32, - pub cif_handler: __u32, - pub irq_desc_table: __u32, -} -#[test] -fn bindgen_test_layout_olpc_ofw_header() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(olpc_ofw_header)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(olpc_ofw_header)) - ); - assert_eq!( - unsafe { &(*(0 as *const olpc_ofw_header)).ofw_magic as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(olpc_ofw_header), - "::", - stringify!(ofw_magic) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const olpc_ofw_header)).ofw_version as *const _ as usize }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(olpc_ofw_header), - "::", - stringify!(ofw_version) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const olpc_ofw_header)).cif_handler as *const _ as usize }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(olpc_ofw_header), - "::", - stringify!(cif_handler) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const olpc_ofw_header)).irq_desc_table as *const _ as usize }, - 12usize, - concat!( - "Alignment of field: ", - stringify!(olpc_ofw_header), - "::", - stringify!(irq_desc_table) - ) - ); -} -impl Clone for olpc_ofw_header { - fn clone(&self) -> Self { - *self - } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct efi_info { - pub efi_loader_signature: __u32, - pub efi_systab: __u32, - pub efi_memdesc_size: __u32, - pub efi_memdesc_version: __u32, - pub efi_memmap: __u32, - pub efi_memmap_size: __u32, - pub efi_systab_hi: __u32, - pub efi_memmap_hi: __u32, -} -#[test] -fn bindgen_test_layout_efi_info() { - assert_eq!( - ::std::mem::size_of::(), - 32usize, - concat!("Size of: ", stringify!(efi_info)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(efi_info)) - ); - assert_eq!( - unsafe { &(*(0 as *const efi_info)).efi_loader_signature as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(efi_info), - "::", - stringify!(efi_loader_signature) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const efi_info)).efi_systab as *const _ as usize }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(efi_info), - "::", - stringify!(efi_systab) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const efi_info)).efi_memdesc_size as *const _ as usize }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(efi_info), - "::", - stringify!(efi_memdesc_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const efi_info)).efi_memdesc_version as *const _ as usize }, - 12usize, - concat!( - "Alignment of field: ", - stringify!(efi_info), - "::", - stringify!(efi_memdesc_version) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const efi_info)).efi_memmap as *const _ as usize }, - 16usize, - concat!( - "Alignment of field: ", - stringify!(efi_info), - "::", - stringify!(efi_memmap) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const efi_info)).efi_memmap_size as *const _ as usize }, - 20usize, - concat!( - "Alignment of field: ", - stringify!(efi_info), - "::", - stringify!(efi_memmap_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const efi_info)).efi_systab_hi as *const _ as usize }, - 24usize, - concat!( - "Alignment of field: ", - stringify!(efi_info), - "::", - stringify!(efi_systab_hi) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const efi_info)).efi_memmap_hi as *const _ as usize }, - 28usize, - concat!( - "Alignment of field: ", - stringify!(efi_info), - "::", - stringify!(efi_memmap_hi) - ) - ); -} -impl Clone for efi_info { - fn clone(&self) -> Self { - *self - } -} -#[repr(C, packed)] -#[derive(Copy, Clone)] -pub struct boot_params { - pub screen_info: screen_info, - pub apm_bios_info: apm_bios_info, - pub _pad2: [__u8; 4usize], - pub tboot_addr: __u64, - pub ist_info: ist_info, - pub _pad3: [__u8; 16usize], - pub hd0_info: [__u8; 16usize], - pub hd1_info: [__u8; 16usize], - pub sys_desc_table: sys_desc_table, - pub olpc_ofw_header: olpc_ofw_header, - pub ext_ramdisk_image: __u32, - pub ext_ramdisk_size: __u32, - pub ext_cmd_line_ptr: __u32, - pub _pad4: [__u8; 116usize], - pub edid_info: edid_info, - pub efi_info: efi_info, - pub alt_mem_k: __u32, - pub scratch: __u32, - pub e820_entries: __u8, - pub eddbuf_entries: __u8, - pub edd_mbr_sig_buf_entries: __u8, - pub kbd_status: __u8, - pub _pad5: [__u8; 3usize], - pub sentinel: __u8, - pub _pad6: [__u8; 1usize], - pub hdr: setup_header, - pub _pad7: [__u8; 40usize], - pub edd_mbr_sig_buffer: [__u32; 16usize], - pub e820_map: [e820entry; 128usize], - pub _pad8: [__u8; 48usize], - pub eddbuf: [edd_info; 6usize], - pub _pad9: [__u8; 276usize], -} -#[test] -fn bindgen_test_layout_boot_params() { - assert_eq!( - ::std::mem::size_of::(), - 4096usize, - concat!("Size of: ", stringify!(boot_params)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(boot_params)) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).screen_info as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(screen_info) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).apm_bios_info as *const _ as usize }, - 64usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(apm_bios_info) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params))._pad2 as *const _ as usize }, - 84usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(_pad2) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).tboot_addr as *const _ as usize }, - 88usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(tboot_addr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).ist_info as *const _ as usize }, - 96usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(ist_info) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params))._pad3 as *const _ as usize }, - 112usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(_pad3) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).hd0_info as *const _ as usize }, - 128usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(hd0_info) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).hd1_info as *const _ as usize }, - 144usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(hd1_info) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).sys_desc_table as *const _ as usize }, - 160usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(sys_desc_table) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).olpc_ofw_header as *const _ as usize }, - 176usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(olpc_ofw_header) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).ext_ramdisk_image as *const _ as usize }, - 192usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(ext_ramdisk_image) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).ext_ramdisk_size as *const _ as usize }, - 196usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(ext_ramdisk_size) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).ext_cmd_line_ptr as *const _ as usize }, - 200usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(ext_cmd_line_ptr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params))._pad4 as *const _ as usize }, - 204usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(_pad4) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).edid_info as *const _ as usize }, - 320usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(edid_info) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).efi_info as *const _ as usize }, - 448usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(efi_info) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).alt_mem_k as *const _ as usize }, - 480usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(alt_mem_k) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).scratch as *const _ as usize }, - 484usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(scratch) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).e820_entries as *const _ as usize }, - 488usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(e820_entries) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).eddbuf_entries as *const _ as usize }, - 489usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(eddbuf_entries) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).edd_mbr_sig_buf_entries as *const _ as usize }, - 490usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(edd_mbr_sig_buf_entries) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).kbd_status as *const _ as usize }, - 491usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(kbd_status) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params))._pad5 as *const _ as usize }, - 492usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(_pad5) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).sentinel as *const _ as usize }, - 495usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(sentinel) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params))._pad6 as *const _ as usize }, - 496usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(_pad6) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).hdr as *const _ as usize }, - 497usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(hdr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params))._pad7 as *const _ as usize }, - 616usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(_pad7) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).edd_mbr_sig_buffer as *const _ as usize }, - 656usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(edd_mbr_sig_buffer) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).e820_map as *const _ as usize }, - 720usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(e820_map) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params))._pad8 as *const _ as usize }, - 3280usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(_pad8) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params)).eddbuf as *const _ as usize }, - 3328usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(eddbuf) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const boot_params))._pad9 as *const _ as usize }, - 3820usize, - concat!( - "Alignment of field: ", - stringify!(boot_params), - "::", - stringify!(_pad9) - ) - ); -} -impl Default for boot_params { - fn default() -> Self { - unsafe { ::std::mem::zeroed() } - } -} -pub const X86_SUBARCH_PC: _bindgen_ty_1 = 0; -pub const X86_SUBARCH_LGUEST: _bindgen_ty_1 = 1; -pub const X86_SUBARCH_XEN: _bindgen_ty_1 = 2; -pub const X86_SUBARCH_INTEL_MID: _bindgen_ty_1 = 3; -pub const X86_SUBARCH_CE4100: _bindgen_ty_1 = 4; -pub const X86_NR_SUBARCHS: _bindgen_ty_1 = 5; -pub type _bindgen_ty_1 = ::std::os::raw::c_uint; diff --git a/vendor/git-bda1448fb2afcb00/linux-loader/src/loader/elf.rs b/vendor/git-bda1448fb2afcb00/linux-loader/src/loader/elf.rs deleted file mode 100644 index b7d71d7a2..000000000 --- a/vendor/git-bda1448fb2afcb00/linux-loader/src/loader/elf.rs +++ /dev/null @@ -1,340 +0,0 @@ -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. -// -// SPDX-License-Identifier: Apache-2.0 AND BSD-3-Clause - -/* - * automatically generated by rust-bindgen - * From upstream linux include/uapi/linux/elf.h at commit: - * 806276b7f07a39a1cc3f38bb1ef5c573d4594a38 - */ -pub const EI_MAG0: ::std::os::raw::c_uint = 0; -pub const EI_MAG1: ::std::os::raw::c_uint = 1; -pub const EI_MAG2: ::std::os::raw::c_uint = 2; -pub const EI_MAG3: ::std::os::raw::c_uint = 3; -pub const EI_DATA: ::std::os::raw::c_uint = 5; - -pub const ELFMAG0: ::std::os::raw::c_uint = 127; - -pub const ELFDATA2LSB: ::std::os::raw::c_uint = 1; -pub const PT_LOAD: ::std::os::raw::c_uint = 1; - -pub const ELFMAG1: u8 = b'E'; -pub const ELFMAG2: u8 = b'L'; -pub const ELFMAG3: u8 = b'F'; - -type Elf64_Addr = __u64; -type Elf64_Half = __u16; -type Elf64_Off = __u64; -type Elf64_Word = __u32; -type Elf64_Xword = __u64; - -type __s8 = ::std::os::raw::c_schar; -type __u8 = ::std::os::raw::c_uchar; -type __s16 = ::std::os::raw::c_short; -type __u16 = ::std::os::raw::c_ushort; -type __s32 = ::std::os::raw::c_int; -type __u32 = ::std::os::raw::c_uint; -type __s64 = ::std::os::raw::c_longlong; -type __u64 = ::std::os::raw::c_ulonglong; - -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct elf64_hdr { - pub e_ident: [::std::os::raw::c_uchar; 16usize], - pub e_type: Elf64_Half, - pub e_machine: Elf64_Half, - pub e_version: Elf64_Word, - pub e_entry: Elf64_Addr, - pub e_phoff: Elf64_Off, - pub e_shoff: Elf64_Off, - pub e_flags: Elf64_Word, - pub e_ehsize: Elf64_Half, - pub e_phentsize: Elf64_Half, - pub e_phnum: Elf64_Half, - pub e_shentsize: Elf64_Half, - pub e_shnum: Elf64_Half, - pub e_shstrndx: Elf64_Half, -} -impl Clone for elf64_hdr { - fn clone(&self) -> Self { - *self - } -} -pub type Elf64_Ehdr = elf64_hdr; - -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct elf64_phdr { - pub p_type: Elf64_Word, - pub p_flags: Elf64_Word, - pub p_offset: Elf64_Off, - pub p_vaddr: Elf64_Addr, - pub p_paddr: Elf64_Addr, - pub p_filesz: Elf64_Xword, - pub p_memsz: Elf64_Xword, - pub p_align: Elf64_Xword, -} - -impl Clone for elf64_phdr { - fn clone(&self) -> Self { - *self - } -} -pub type Elf64_Phdr = elf64_phdr; - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn bindgen_test_layout_elf64_phdr() { - assert_eq!( - ::std::mem::size_of::(), - 56usize, - concat!("Size of: ", stringify!(elf64_phdr)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(elf64_phdr)) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_phdr)).p_type as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(elf64_phdr), - "::", - stringify!(p_type) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_phdr)).p_flags as *const _ as usize }, - 4usize, - concat!( - "Alignment of field: ", - stringify!(elf64_phdr), - "::", - stringify!(p_flags) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_phdr)).p_offset as *const _ as usize }, - 8usize, - concat!( - "Alignment of field: ", - stringify!(elf64_phdr), - "::", - stringify!(p_offset) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_phdr)).p_vaddr as *const _ as usize }, - 16usize, - concat!( - "Alignment of field: ", - stringify!(elf64_phdr), - "::", - stringify!(p_vaddr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_phdr)).p_paddr as *const _ as usize }, - 24usize, - concat!( - "Alignment of field: ", - stringify!(elf64_phdr), - "::", - stringify!(p_paddr) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_phdr)).p_filesz as *const _ as usize }, - 32usize, - concat!( - "Alignment of field: ", - stringify!(elf64_phdr), - "::", - stringify!(p_filesz) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_phdr)).p_memsz as *const _ as usize }, - 40usize, - concat!( - "Alignment of field: ", - stringify!(elf64_phdr), - "::", - stringify!(p_memsz) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_phdr)).p_align as *const _ as usize }, - 48usize, - concat!( - "Alignment of field: ", - stringify!(elf64_phdr), - "::", - stringify!(p_align) - ) - ); - } - - #[test] - fn bindgen_test_layout_elf64_hdr() { - assert_eq!( - ::std::mem::size_of::(), - 64usize, - concat!("Size of: ", stringify!(elf64_hdr)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(elf64_hdr)) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_ident as *const _ as usize }, - 0usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_ident) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_type as *const _ as usize }, - 16usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_type) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_machine as *const _ as usize }, - 18usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_machine) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_version as *const _ as usize }, - 20usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_version) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_entry as *const _ as usize }, - 24usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_entry) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_phoff as *const _ as usize }, - 32usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_phoff) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_shoff as *const _ as usize }, - 40usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_shoff) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_flags as *const _ as usize }, - 48usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_flags) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_ehsize as *const _ as usize }, - 52usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_ehsize) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_phentsize as *const _ as usize }, - 54usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_phentsize) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_phnum as *const _ as usize }, - 56usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_phnum) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_shentsize as *const _ as usize }, - 58usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_shentsize) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_shnum as *const _ as usize }, - 60usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_shnum) - ) - ); - assert_eq!( - unsafe { &(*(0 as *const elf64_hdr)).e_shstrndx as *const _ as usize }, - 62usize, - concat!( - "Alignment of field: ", - stringify!(elf64_hdr), - "::", - stringify!(e_shstrndx) - ) - ); - } -} diff --git a/vendor/git-bda1448fb2afcb00/linux-loader/src/loader/mod.rs b/vendor/git-bda1448fb2afcb00/linux-loader/src/loader/mod.rs deleted file mode 100644 index a4a30ba4b..000000000 --- a/vendor/git-bda1448fb2afcb00/linux-loader/src/loader/mod.rs +++ /dev/null @@ -1,598 +0,0 @@ -// Copyright (c) 2019 Intel Corporation. All rights reserved. -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// -// Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. -// -// SPDX-License-Identifier: Apache-2.0 AND BSD-3-Clause - -//! Traits and Structs -//! - [KernelLoader](trait.KernelLoader.html): load kernel image into guest memory -//! - [KernelLoaderResult](struct.KernelLoaderResult.html): the structure which loader -//! returns to VMM to assist zero page construction and boot environment setup -//! - [Elf](struct.Elf.html): elf image loader -//! - [BzImage](struct.BzImage.html): bzImage loader - -extern crate vm_memory; - -use std::error::{self, Error as KernelLoaderError}; -use std::ffi::CStr; -use std::fmt::{self, Display}; -use std::io::{Read, Seek, SeekFrom}; -use std::mem; - -use vm_memory::{Address, Bytes, GuestAddress, GuestMemory, GuestUsize}; - -#[allow(dead_code)] -#[allow(non_camel_case_types)] -#[allow(non_snake_case)] -#[allow(non_upper_case_globals)] -#[cfg_attr(feature = "cargo-clippy", allow(clippy::all))] -pub mod bootparam; -#[allow(dead_code)] -#[allow(non_camel_case_types)] -#[allow(non_snake_case)] -#[allow(non_upper_case_globals)] -#[cfg_attr(feature = "cargo-clippy", allow(clippy::all))] -mod elf; -mod struct_util; - -#[derive(Debug, PartialEq)] -pub enum Error { - BigEndianElfOnLittle, - CommandLineCopy, - CommandLineOverflow, - InvalidElfMagicNumber, - InvalidProgramHeaderSize, - InvalidProgramHeaderOffset, - InvalidProgramHeaderAddress, - InvalidEntryAddress, - InvalidBzImage, - InvalidKernelStartAddress, - InitrdImageSizeTooLarge, - MemoryOverflow, - ReadElfHeader, - ReadKernelImage, - ReadProgramHeader, - ReadBzImageHeader, - ReadBzImageCompressedKernel, - ReadInitrdImage, - SeekKernelStart, - SeekElfStart, - SeekProgramHeader, - SeekBzImageEnd, - SeekBzImageHeader, - SeekBzImageCompressedKernel, - SeekInitrdImage, -} -pub type Result = std::result::Result; - -impl error::Error for Error { - fn description(&self) -> &str { - match self { - Error::BigEndianElfOnLittle => { - "Trying to load big-endian binary on little-endian machine" - } - Error::CommandLineCopy => "Failed writing command line to guest memory", - Error::CommandLineOverflow => "Command line overflowed guest memory", - Error::InvalidElfMagicNumber => "Invalid Elf magic number", - Error::InvalidProgramHeaderSize => "Invalid program header size", - Error::InvalidProgramHeaderOffset => "Invalid program header offset", - Error::InvalidProgramHeaderAddress => "Invalid Program Header Address", - Error::InvalidEntryAddress => "Invalid entry address", - Error::InvalidBzImage => "Invalid bzImage", - Error::InvalidKernelStartAddress => "Invalid kernel start address", - Error::InitrdImageSizeTooLarge => "Initrd image size too large", - Error::MemoryOverflow => "Memory to load kernel image is not enough", - Error::ReadElfHeader => "Unable to read elf header", - Error::ReadKernelImage => "Unable to read kernel image", - Error::ReadProgramHeader => "Unable to read program header", - Error::ReadBzImageHeader => "Unable to read bzImage header", - Error::ReadBzImageCompressedKernel => "Unable to read bzImage compressed kernel", - Error::ReadInitrdImage => "Unable to read initrd image", - Error::SeekKernelStart => "Unable to seek to kernel start", - Error::SeekElfStart => "Unable to seek to elf start", - Error::SeekProgramHeader => "Unable to seek to program header", - Error::SeekBzImageEnd => "Unable to seek bzImage end", - Error::SeekBzImageHeader => "Unable to seek bzImage header", - Error::SeekBzImageCompressedKernel => "Unable to seek bzImage compressed kernel", - Error::SeekInitrdImage => "Unable to seek initrd image", - } - } -} - -impl Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "Kernel Loader Error: {}", Error::description(self)) - } -} - -#[derive(Debug, Default, Copy, Clone, PartialEq)] -pub struct KernelLoaderResult { - // Address in the guest memory where the kernel image starts to be loaded - pub kernel_load: GuestAddress, - // Offset in guest memory corresponding to the end of kernel image, in case that - // device tree blob and initrd will be loaded adjacent to kernel image. - pub kernel_end: GuestUsize, - // This field is only for bzImage following https://www.kernel.org/doc/Documentation/x86/boot.txt - // VMM should make use of it to fill zero page for bzImage direct boot. - pub setup_header: Option, -} - -pub trait KernelLoader { - fn load( - guest_mem: &M, - kernel_start: Option, - kernel_image: &mut F, - highmem_start_address: Option, - ) -> Result - where - F: Read + Seek; -} - -#[cfg(feature = "elf")] -pub struct Elf; - -#[cfg(feature = "elf")] -impl KernelLoader for Elf { - /// Loads a kernel from a vmlinux elf image to a slice - /// - /// kernel is loaded into guest memory at offset phdr.p_paddr specified by elf image. - /// - /// # Arguments - /// - /// * `guest_mem` - The guest memory region the kernel is written to. - /// * `kernel_start` - The offset into 'guest_mem' at which to load the kernel. - /// * `kernel_image` - Input vmlinux image. - /// * `highmem_start_address` - This is the start of the high memory, kernel should above it. - /// - /// # Returns - /// * KernelLoaderResult - fn load( - guest_mem: &M, - kernel_start: Option, - kernel_image: &mut F, - highmem_start_address: Option, - ) -> Result - where - F: Read + Seek, - { - let mut ehdr: elf::Elf64_Ehdr = Default::default(); - kernel_image - .seek(SeekFrom::Start(0)) - .map_err(|_| Error::SeekElfStart)?; - unsafe { - // read_struct is safe when reading a POD struct. It can be used and dropped without issue. - struct_util::read_struct(kernel_image, &mut ehdr).map_err(|_| Error::ReadElfHeader)?; - } - - // Sanity checks - if ehdr.e_ident[elf::EI_MAG0 as usize] != elf::ELFMAG0 as u8 - || ehdr.e_ident[elf::EI_MAG1 as usize] != elf::ELFMAG1 - || ehdr.e_ident[elf::EI_MAG2 as usize] != elf::ELFMAG2 - || ehdr.e_ident[elf::EI_MAG3 as usize] != elf::ELFMAG3 - { - return Err(Error::InvalidElfMagicNumber); - } - if ehdr.e_ident[elf::EI_DATA as usize] != elf::ELFDATA2LSB as u8 { - return Err(Error::BigEndianElfOnLittle); - } - if ehdr.e_phentsize as usize != mem::size_of::() { - return Err(Error::InvalidProgramHeaderSize); - } - if (ehdr.e_phoff as usize) < mem::size_of::() { - return Err(Error::InvalidProgramHeaderOffset); - } - if (highmem_start_address.is_some()) - && ((ehdr.e_entry as u64) < highmem_start_address.unwrap().raw_value()) - { - return Err(Error::InvalidEntryAddress); - } - - let mut loader_result: KernelLoaderResult = Default::default(); - // where the kernel will be start loaded. - loader_result.kernel_load = match kernel_start { - Some(start) => GuestAddress(start.raw_value() + (ehdr.e_entry as u64)), - None => GuestAddress(ehdr.e_entry as u64), - }; - - kernel_image - .seek(SeekFrom::Start(ehdr.e_phoff)) - .map_err(|_| Error::SeekProgramHeader)?; - let phdrs: Vec = unsafe { - // Reading the structs is safe for a slice of POD structs. - struct_util::read_struct_slice(kernel_image, ehdr.e_phnum as usize) - .map_err(|_| Error::ReadProgramHeader)? - }; - - // Read in each section pointed to by the program headers. - for phdr in &phdrs { - if phdr.p_type != elf::PT_LOAD || phdr.p_filesz == 0 { - continue; - } - - kernel_image - .seek(SeekFrom::Start(phdr.p_offset)) - .map_err(|_| Error::SeekKernelStart)?; - - // if the vmm does not specify where the kernel should be loaded, just - // load it to the physical address p_paddr for each segment. - let mem_offset = match kernel_start { - Some(start) => start - .checked_add(phdr.p_paddr as u64) - .ok_or(Error::InvalidProgramHeaderAddress)?, - None => GuestAddress(phdr.p_paddr as u64), - }; - - guest_mem - .read_exact_from(mem_offset, kernel_image, phdr.p_filesz as usize) - .map_err(|_| Error::ReadKernelImage)?; - - loader_result.kernel_end = mem_offset.raw_value() - .checked_add(phdr.p_memsz as GuestUsize) - .ok_or(Error::MemoryOverflow)?; - } - - // elf image has no setup_header which is defined for bzImage - loader_result.setup_header = None; - - Ok(loader_result) - } -} - -#[cfg(feature = "bzImage")] -pub struct BzImage; - -#[cfg(feature = "bzImage")] -impl KernelLoader for BzImage { - /// Loads a bzImage - /// - /// kernel is loaded into guest memory at code32_start the default load address - /// stored in bzImage setup header. - /// - /// # Arguments - /// - /// * `guest_mem` - The guest memory where the kernel image is loaded. - /// * `kernel_start` - The offset into 'guest_mem' at which to load the kernel. - /// * `kernel_image` - Input bzImage image. - /// * `highmem_start_address` - This is the start of the high memory, kernel should above it. - /// - /// # Returns - /// * KernelLoaderResult - fn load( - guest_mem: &M, - kernel_start: Option, - kernel_image: &mut F, - highmem_start_address: Option, - ) -> Result - where - F: Read + Seek, - { - let mut kernel_size = kernel_image - .seek(SeekFrom::End(0)) - .map_err(|_| Error::SeekBzImageEnd)? as usize; - let mut boot_header: bootparam::setup_header = Default::default(); - kernel_image - .seek(SeekFrom::Start(0x1F1)) - .map_err(|_| Error::SeekBzImageHeader)?; - unsafe { - // read_struct is safe when reading a POD struct. It can be used and dropped without issue. - struct_util::read_struct(kernel_image, &mut boot_header) - .map_err(|_| Error::ReadBzImageHeader)?; - } - - // if the HdrS magic number is not found at offset 0x202, the boot protocol version is "old", - // the image type is assumed as zImage, not bzImage. - if boot_header.header != 0x5372_6448 { - return Err(Error::InvalidBzImage); - } - - // follow section of loading the rest of the kernel in linux boot protocol - if (boot_header.version < 0x0200) || ((boot_header.loadflags & 0x1) == 0x0) { - return Err(Error::InvalidBzImage); - } - - let mut setup_size = boot_header.setup_sects as usize; - if setup_size == 0 { - setup_size = 4; - } - setup_size = (setup_size + 1) * 512; - kernel_size -= setup_size; - - // verify bzImage validation by checking if code32_start, the defaults to the address of - // the kernel is not lower than high memory. - if (highmem_start_address.is_some()) - && (u64::from(boot_header.code32_start) < highmem_start_address.unwrap().raw_value()) - { - return Err(Error::InvalidKernelStartAddress); - } - - let mem_offset = match kernel_start { - Some(start) => start, - None => GuestAddress(u64::from(boot_header.code32_start)), - }; - - boot_header.code32_start = mem_offset.raw_value() as u32; - - let mut loader_result: KernelLoaderResult = Default::default(); - loader_result.setup_header = Some(boot_header); - loader_result.kernel_load = mem_offset; - - //seek the compressed vmlinux.bin and read to memory - kernel_image - .seek(SeekFrom::Start(setup_size as u64)) - .map_err(|_| Error::SeekBzImageCompressedKernel)?; - guest_mem - .read_exact_from(mem_offset, kernel_image, kernel_size) - .map_err(|_| Error::ReadBzImageCompressedKernel)?; - - loader_result.kernel_end = mem_offset.raw_value() - .checked_add(kernel_size as GuestUsize) - .ok_or(Error::MemoryOverflow)?; - - Ok(loader_result) - } -} - -/// Writes the command line string to the given memory slice. -/// -/// # Arguments -/// -/// * `guest_mem` - A u8 slice that will be partially overwritten by the command line. -/// * `guest_addr` - The address in `guest_mem` at which to load the command line. -/// * `cmdline` - The kernel command line. -pub fn load_cmdline( - guest_mem: &M, - guest_addr: GuestAddress, - cmdline: &CStr, -) -> Result<()> { - let len = cmdline.to_bytes().len(); - if len == 0 { - return Ok(()); - } - - let end = guest_addr - .checked_add(len as u64 + 1) - .ok_or(Error::CommandLineOverflow)?; // Extra for null termination. - if end > guest_mem.end_addr() { - return Err(Error::CommandLineOverflow)?; - } - - guest_mem - .write_slice(cmdline.to_bytes_with_nul(), guest_addr) - .map_err(|_| Error::CommandLineCopy)?; - - Ok(()) -} - -#[cfg(test)] -mod test { - use super::*; - use std::io::Cursor; - use vm_memory::{Address, GuestAddress, GuestMemoryMmap}; - - const MEM_SIZE: u64 = 0x1000000; - - fn create_guest_mem() -> GuestMemoryMmap { - GuestMemoryMmap::new(&[(GuestAddress(0x0), (MEM_SIZE as usize))]).unwrap() - } - - #[allow(non_snake_case)] - #[cfg(feature = "bzImage")] - fn make_bzImage() -> Vec { - let mut v = Vec::new(); - v.extend_from_slice(include_bytes!("./boot/vmlinuz-4.9.0-9-amd64")); - v - } - - // Elf64 image that prints hello world on x86_64. - fn make_elf_bin() -> Vec { - let mut v = Vec::new(); - v.extend_from_slice(include_bytes!("test_elf.bin")); - v - } - - #[allow(safe_packed_borrows)] - #[allow(non_snake_case)] - #[test] - #[cfg(feature = "bzImage")] - fn load_bzImage() { - let gm = create_guest_mem(); - let image = make_bzImage(); - let mut kernel_start = GuestAddress(0x200000); - let mut highmem_start_address = GuestAddress(0x0); - - // load bzImage with good kernel_start and himem_start setting - let mut loader_result = BzImage::load( - &gm, - Some(kernel_start), - &mut Cursor::new(&image), - Some(highmem_start_address), - ) - .unwrap(); - assert_eq!(0x53726448, loader_result.setup_header.unwrap().header); - println!( - "bzImage is loaded at {:8x} \n", - loader_result.kernel_load.raw_value() - ); - println!( - "bzImage version is {:2x} \n", - loader_result.setup_header.unwrap().version - ); - println!( - "bzImage loadflags is {:x} \n", - loader_result.setup_header.unwrap().loadflags - ); - println!( - "bzImage kernel size is {:4x} \n", - (loader_result.kernel_end as u32) - ); - - // load bzImage without kernel_start - loader_result = BzImage::load( - &gm, - None, - &mut Cursor::new(&image), - Some(highmem_start_address), - ) - .unwrap(); - assert_eq!(0x53726448, loader_result.setup_header.unwrap().header); - println!( - "bzImage is loaded at {:8x} \n", - loader_result.kernel_load.raw_value() - ); - - // load bzImage withouth himem_start - loader_result = BzImage::load(&gm, None, &mut Cursor::new(&image), None).unwrap(); - assert_eq!(0x53726448, loader_result.setup_header.unwrap().header); - println!( - "bzImage is loaded at {:8x} \n", - loader_result.kernel_load.raw_value() - ); - - // load bzImage with a bad himem setting - kernel_start = GuestAddress(0x1000); - highmem_start_address = GuestAddress(0x200000); - let x = BzImage::load( - &gm, - Some(kernel_start), - &mut Cursor::new(&image), - Some(highmem_start_address), - ); - assert_eq!(x.is_ok(), false); - println!("load bzImage with bad himem setting \n"); - } - - #[test] - #[cfg(feature = "elf")] - fn load_elf() { - let gm = create_guest_mem(); - let image = make_elf_bin(); - let kernel_addr = GuestAddress(0x200000); - let mut highmem_start_address = GuestAddress(0x0); - let mut loader_result = Elf::load( - &gm, - Some(kernel_addr), - &mut Cursor::new(&image), - Some(highmem_start_address), - ) - .unwrap(); - println!( - "load elf at address {:8x} \n", - loader_result.kernel_load.raw_value() - ); - - loader_result = Elf::load(&gm, Some(kernel_addr), &mut Cursor::new(&image), None).unwrap(); - println!( - "load elf at address {:8x} \n", - loader_result.kernel_load.raw_value() - ); - - loader_result = Elf::load( - &gm, - None, - &mut Cursor::new(&image), - Some(highmem_start_address), - ) - .unwrap(); - println!( - "load elf at address {:8x} \n", - loader_result.kernel_load.raw_value() - ); - - highmem_start_address = GuestAddress(0xa00000); - assert_eq!( - Err(Error::InvalidEntryAddress), - Elf::load( - &gm, - None, - &mut Cursor::new(&image), - Some(highmem_start_address) - ) - ); - } - - #[test] - fn cmdline_overflow() { - let gm = create_guest_mem(); - let cmdline_address = GuestAddress(MEM_SIZE - 5); - assert_eq!( - Err(Error::CommandLineOverflow), - load_cmdline( - &gm, - cmdline_address, - CStr::from_bytes_with_nul(b"12345\0").unwrap() - ) - ); - } - - #[test] - fn cmdline_write_end() { - let gm = create_guest_mem(); - let mut cmdline_address = GuestAddress(45); - assert_eq!( - Ok(()), - load_cmdline( - &gm, - cmdline_address, - CStr::from_bytes_with_nul(b"1234\0").unwrap() - ) - ); - let val: u8 = gm.read_obj(cmdline_address).unwrap(); - assert_eq!(val, '1' as u8); - cmdline_address = cmdline_address.unchecked_add(1); - let val: u8 = gm.read_obj(cmdline_address).unwrap(); - assert_eq!(val, '2' as u8); - cmdline_address = cmdline_address.unchecked_add(1); - let val: u8 = gm.read_obj(cmdline_address).unwrap(); - assert_eq!(val, '3' as u8); - cmdline_address = cmdline_address.unchecked_add(1); - let val: u8 = gm.read_obj(cmdline_address).unwrap(); - assert_eq!(val, '4' as u8); - cmdline_address = cmdline_address.unchecked_add(1); - let val: u8 = gm.read_obj(cmdline_address).unwrap(); - assert_eq!(val, '\0' as u8); - } - - #[cfg(feature = "elf")] - #[test] - fn bad_magic() { - let gm = create_guest_mem(); - let kernel_addr = GuestAddress(0x0); - let mut bad_image = make_elf_bin(); - bad_image[0x1] = 0x33; - assert_eq!( - Err(Error::InvalidElfMagicNumber), - Elf::load(&gm, Some(kernel_addr), &mut Cursor::new(&bad_image), None) - ); - } - - #[cfg(feature = "elf")] - #[test] - fn bad_endian() { - // Only little endian is supported - let gm = create_guest_mem(); - let kernel_addr = GuestAddress(0x0); - let mut bad_image = make_elf_bin(); - bad_image[0x5] = 2; - assert_eq!( - Err(Error::BigEndianElfOnLittle), - Elf::load(&gm, Some(kernel_addr), &mut Cursor::new(&bad_image), None) - ); - } - - #[cfg(feature = "elf")] - #[test] - fn bad_phoff() { - // program header has to be past the end of the elf header - let gm = create_guest_mem(); - let kernel_addr = GuestAddress(0x0); - let mut bad_image = make_elf_bin(); - bad_image[0x20] = 0x10; - assert_eq!( - Err(Error::InvalidProgramHeaderOffset), - Elf::load(&gm, Some(kernel_addr), &mut Cursor::new(&bad_image), None) - ); - } -} diff --git a/vendor/git-bda1448fb2afcb00/linux-loader/src/loader/struct_util.rs b/vendor/git-bda1448fb2afcb00/linux-loader/src/loader/struct_util.rs deleted file mode 100644 index a2ef60bfa..000000000 --- a/vendor/git-bda1448fb2afcb00/linux-loader/src/loader/struct_util.rs +++ /dev/null @@ -1,152 +0,0 @@ -// Copyright (c) 2019 Intel Corporation. All rights reserved. -// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -// -// Portions Copyright 2017 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE-BSD-3-Clause file. -// -// SPDX-License-Identifier: Apache-2.0 AND BSD-3-Clause - -use std; -use std::io::Read; -use std::mem; - -#[derive(Debug)] -pub enum Error { - ReadStruct, -} -pub type Result = std::result::Result; - -/// Reads a struct from an input buffer. -/// This is unsafe because the struct is initialized to unverified data read from the input. -/// `read_struct` should only be called to fill plain old data structs. It is not endian safe. -/// -/// # Arguments -/// -/// * `f` - The input to read from. Often this is a file. -/// * `out` - The struct to fill with data read from `f`. -pub unsafe fn read_struct(f: &mut F, out: &mut T) -> Result<()> { - let out_slice = std::slice::from_raw_parts_mut(out as *mut T as *mut u8, mem::size_of::()); - f.read_exact(out_slice).map_err(|_| Error::ReadStruct)?; - Ok(()) -} - -/// Reads an array of structs from an input buffer. Returns a Vec of structs initialized with data -/// from the specified input. -/// This is unsafe because the structs are initialized to unverified data read from the input. -/// `read_struct_slice` should only be called for plain old data structs. It is not endian safe. -/// -/// # Arguments -/// -/// * `f` - The input to read from. Often this is a file. -/// * `len` - The number of structs to fill with data read from `f`. -pub unsafe fn read_struct_slice(f: &mut F, len: usize) -> Result> { - let mut out: Vec = Vec::with_capacity(len); - out.set_len(len); - let out_slice = std::slice::from_raw_parts_mut( - out.as_ptr() as *mut T as *mut u8, - mem::size_of::() * len, - ); - f.read_exact(out_slice).map_err(|_| Error::ReadStruct)?; - Ok(out) -} - -#[cfg(test)] -mod tests { - use super::*; - use std::io::Cursor; - use std::mem; - - #[derive(Clone, Copy, Debug, Default, PartialEq)] - struct TestRead { - a: u64, - b: u8, - c: u8, - d: u8, - e: u8, - } - - #[test] - fn struct_basic_read() { - let orig = TestRead { - a: 0x7766554433221100, - b: 0x88, - c: 0x99, - d: 0xaa, - e: 0xbb, - }; - let source = unsafe { - // Don't worry it's a test - std::slice::from_raw_parts( - &orig as *const _ as *const u8, - std::mem::size_of::(), - ) - }; - assert_eq!(mem::size_of::(), mem::size_of_val(&source)); - let mut tr: TestRead = Default::default(); - unsafe { - read_struct(&mut Cursor::new(source), &mut tr).unwrap(); - } - assert_eq!(orig, tr); - } - - #[test] - fn struct_read_past_end() { - let orig = TestRead { - a: 0x7766554433221100, - b: 0x88, - c: 0x99, - d: 0xaa, - e: 0xbb, - }; - let source = unsafe { - // Don't worry it's a test - std::slice::from_raw_parts( - &orig as *const _ as *const u8, - std::mem::size_of::() - 1, - ) - }; - let mut tr: TestRead = Default::default(); - unsafe { - assert!(read_struct(&mut Cursor::new(source), &mut tr).is_err()); - format!("{:?}", read_struct(&mut Cursor::new(source), &mut tr)); - } - } - - #[test] - fn struct_slice_read() { - let orig = vec![ - TestRead { - a: 0x7766554433221100, - b: 0x88, - c: 0x99, - d: 0xaa, - e: 0xbb, - }, - TestRead { - a: 0x7867564534231201, - b: 0x02, - c: 0x13, - d: 0x24, - e: 0x35, - }, - TestRead { - a: 0x7a69584736251403, - b: 0x04, - c: 0x15, - d: 0x26, - e: 0x37, - }, - ]; - let source = unsafe { - // Don't worry it's a test - std::slice::from_raw_parts( - orig.as_ptr() as *const u8, - std::mem::size_of::() * 3, - ) - }; - - let tr: Vec = unsafe { read_struct_slice(&mut Cursor::new(source), 3).unwrap() }; - assert_eq!(orig, tr); - } -} diff --git a/vendor/git-bda1448fb2afcb00/linux-loader/src/loader/test_elf.bin b/vendor/git-bda1448fb2afcb00/linux-loader/src/loader/test_elf.bin deleted file mode 100644 index 2e75f639f132360c251cf9d5a4d9df3ac0eefbe1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4424 zcmb<-^>JfjWMqH=CI&kO2u}bk|%wV;wAW^tHi~*tLq55Go zOdZG$HXv4jDpwGIFkm!4R3D6n>4OT7QllX-8UmvsFd71*Aut*OqaiRF0;3@?8Umvs zFd71*Aut*OB!ocPt{==Ey}Y8p-gg({ivJ~S?>zn=eEns^zh^1GzP$d!;E|e>ldq#t zo?n!cqR7R-pjVtxTvAk$n8cu0l3G#1pqG+Zl1PGmxRi1OC17I$5H-+&0Vo9@KY$v* rf@Y8)R6jFR95#*s8()BrBjC^vvKyusssv2wL+uww76h_E>X88eCQBm? diff --git a/vendor/git-bda1448fb2afcb00/linux-loader/tests/conftest.py b/vendor/git-bda1448fb2afcb00/linux-loader/tests/conftest.py deleted file mode 100644 index 58aef2d74..000000000 --- a/vendor/git-bda1448fb2afcb00/linux-loader/tests/conftest.py +++ /dev/null @@ -1,28 +0,0 @@ -import pytest - - -PROFILE_CI="ci" -PROFILE_DEVEL="devel" - - -def pytest_addoption(parser): - parser.addoption( - "--profile", - default=PROFILE_CI, - choices=[PROFILE_CI, PROFILE_DEVEL], - help="Profile for running the test: {} or {}".format( - PROFILE_CI, - PROFILE_DEVEL - ) - ) - - -@pytest.fixture -def profile(request): - return request.config.getoption("--profile") - - -# This is used for defining global variables in pytest. -def pytest_configure(): - pytest.profile_ci = PROFILE_CI - pytest.profile_devel = PROFILE_DEVEL diff --git a/vendor/git-bda1448fb2afcb00/linux-loader/tests/coverage b/vendor/git-bda1448fb2afcb00/linux-loader/tests/coverage deleted file mode 100644 index 4e569a97e..000000000 --- a/vendor/git-bda1448fb2afcb00/linux-loader/tests/coverage +++ /dev/null @@ -1 +0,0 @@ -67.0 diff --git a/vendor/git-bda1448fb2afcb00/linux-loader/tests/test_coverage.py b/vendor/git-bda1448fb2afcb00/linux-loader/tests/test_coverage.py deleted file mode 100644 index c009f8e04..000000000 --- a/vendor/git-bda1448fb2afcb00/linux-loader/tests/test_coverage.py +++ /dev/null @@ -1,108 +0,0 @@ -# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# SPDX-License-Identifier: Apache-2.0 OR BSD-3-Clause -"""Test the coverage and update the threshold when coverage is increased.""" - -import os, re, shutil, subprocess -import pytest - -def _get_current_coverage(): - """Helper function that returns the coverage computed with kcov.""" - kcov_ouput_dir = os.path.join( - os.path.dirname(os.path.realpath(__file__)), - "kcov_output" - ) - - # By default the build output for kcov and unit tests are both in the debug - # directory. This causes some linker errors that I haven't investigated. - # Error: error: linking with `cc` failed: exit code: 1 - # An easy fix is to have separate build directories for kcov & unit tests. - kcov_build_dir = os.path.join( - os.path.dirname(os.path.realpath(__file__)), - "kcov_build" - ) - - # Remove kcov output and build directory to be sure we are always working - # on a clean environment. - shutil.rmtree(kcov_ouput_dir, ignore_errors=True) - shutil.rmtree(kcov_build_dir, ignore_errors=True) - - exclude_pattern = ( - '${CARGO_HOME:-$HOME/.cargo/},' - 'usr/lib/,' - 'lib/' - ) - exclude_region = "'mod tests {'" - - kcov_cmd = "CARGO_TARGET_DIR={} cargo kcov --all " \ - "--output {} -- " \ - "--exclude-region={} " \ - "--exclude-pattern={} " \ - "--verify".format( - kcov_build_dir, - kcov_ouput_dir, - exclude_region, - exclude_pattern - ) - - subprocess.run(kcov_cmd, shell=True, check=True) - - # Read the coverage reported by kcov. - coverage_file = os.path.join(kcov_ouput_dir, 'index.js') - with open(coverage_file) as cov_output: - coverage = float(re.findall( - r'"covered":"(\d+\.\d)"', - cov_output.read() - )[0]) - - # Remove coverage related directories. - shutil.rmtree(kcov_ouput_dir, ignore_errors=True) - shutil.rmtree(kcov_build_dir, ignore_errors=True) - - return coverage - - -def _get_previous_coverage(): - """Helper function that returns the last reported coverage.""" - coverage_path = os.path.join( - os.path.dirname(os.path.realpath(__file__)), - 'coverage' - ) - - # The first and only line of the file contains the coverage. - with open(coverage_path) as f: - coverage = f.readline() - return float(coverage.strip()) - -def _update_coverage(cov_value): - """Updates the coverage in the coverage file.""" - coverage_path = os.path.join( - os.path.dirname(os.path.realpath(__file__)), - 'coverage' - ) - - with open(coverage_path, "w") as f: - f.write(str(cov_value)) - -def test_coverage(profile): - current_coverage = _get_current_coverage() - previous_coverage = _get_previous_coverage() - if previous_coverage < current_coverage: - if profile == pytest.profile_ci: - # In the CI Profile we expect the coverage to be manually updated. - assert False, "Coverage is increased from {} to {}. " \ - "Please update the coverage in " \ - "tests/coverage.".format( - previous_coverage, - current_coverage - ) - elif profile == pytest.profile_devel: - _update_coverage(current_coverage) - else: - # This should never happen because pytest should only accept - # the valid test profiles specified with `choices` in - # `pytest_addoption`. - assert False, "Invalid test profile." - elif previous_coverage > current_coverage: - diff = float(previous_coverage - current_coverage) - assert False, "Coverage drops by {:.2f}%. Please add unit tests for" \ - "the uncovered lines.".format(diff) diff --git a/vendor/registry-40351f815f426200/ansi_term/.cargo-checksum.json b/vendor/registry-40351f815f426200/ansi_term/.cargo-checksum.json deleted file mode 100644 index 66b0d7deb..000000000 --- a/vendor/registry-40351f815f426200/ansi_term/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"ffe01d108855864ea3c975aad9da22d2a2324730022a5d4e119639f5850209db","LICENCE":"2762990c7fbba9d550802a2593c1d857dcd52596bb0f9f192a97e9a7ac5f4f9e","README.md":"ee22a0db93788e9bfe4c3cf4d7df5daf881a3105f941a915140a34018ff394e5","src/lib.rs":"867242d0699126af5a115709030888e958edfb835a0b3c15c4159a045f367e18"},"package":"23ac7c30002a5accbf7e8987d0632fa6de155b7c3d39d0067317a391e00a2ef6"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/ansi_term/Cargo.toml b/vendor/registry-40351f815f426200/ansi_term/Cargo.toml deleted file mode 100644 index 93f4d272b..000000000 --- a/vendor/registry-40351f815f426200/ansi_term/Cargo.toml +++ /dev/null @@ -1,13 +0,0 @@ -[package] -name = "ansi_term" -description = "Library for ANSI terminal colours and styles (bold, underline)" - -authors = [ "ogham@bsago.me", "Ryan Scheel (Havvy) " ] -documentation = "https://docs.rs/ansi_term/0.9.0/ansi_term/" -homepage = "https://github.com/ogham/rust-ansi-term" -license = "MIT" -readme = "README.md" -version = "0.9.0" - -[lib] -name = "ansi_term" diff --git a/vendor/registry-40351f815f426200/ansi_term/LICENCE b/vendor/registry-40351f815f426200/ansi_term/LICENCE deleted file mode 100644 index 3228cc99b..000000000 --- a/vendor/registry-40351f815f426200/ansi_term/LICENCE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Benjamin Sago - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/vendor/registry-40351f815f426200/ansi_term/README.md b/vendor/registry-40351f815f426200/ansi_term/README.md deleted file mode 100644 index c6687142a..000000000 --- a/vendor/registry-40351f815f426200/ansi_term/README.md +++ /dev/null @@ -1,169 +0,0 @@ -# rust-ansi-term [![ansi-term on crates.io](http://meritbadge.herokuapp.com/ansi-term)](https://crates.io/crates/ansi_term) [![Build status](https://travis-ci.org/ogham/rust-ansi-term.svg?branch=master)](https://travis-ci.org/ogham/rust-ansi-term) [![Coverage status](https://coveralls.io/repos/ogham/rust-ansi-term/badge.svg?branch=master&service=github)](https://coveralls.io/github/ogham/rust-ansi-term?branch=master) - -This is a library for controlling colours and formatting, such as red bold text or blue underlined text, on ANSI terminals. - -### [View the Rustdoc](http://ogham.rustdocs.org/ansi_term) - - -# Installation - -This crate works with [Cargo](http://crates.io). Add the following to your `Cargo.toml` dependencies section: - -```toml -[dependencies] -ansi_term = "0.8" -``` - - -## Basic usage - -There are two main data structures in this crate that you need to be concerned with: `ANSIString` and `Style`. -A `Style` holds stylistic information: colours, whether the text should be bold, or blinking, or whatever. -There are also `Colour` variants that represent simple foreground colour styles. -An `ANSIString` is a string paired with a `Style`. - -(Yes, it’s British English, but you won’t have to write “colour” very often. `Style` is used the majority of the time.) - -To format a string, call the `paint` method on a `Style` or a `Colour`, passing in the string you want to format as the argument. -For example, here’s how to get some red text: - -```rust -use ansi_term::Colour::Red; -println!("This is in red: {}", Red.paint("a red string")); -``` - -It’s important to note that the `paint` method does *not* actually return a string with the ANSI control characters surrounding it. -Instead, it returns an `ANSIString` value that has a `Display` implementation that, when formatted, returns the characters. -This allows strings to be printed with a minimum of `String` allocations being performed behind the scenes. - -If you *do* want to get at the escape codes, then you can convert the `ANSIString` to a string as you would any other `Display` value: - -```rust -use ansi_term::Colour::Red; -use std::string::ToString; -let red_string = Red.paint("a red string").to_string(); -``` - - -## Bold, underline, background, and other styles - -For anything more complex than plain foreground colour changes, you need to construct `Style` objects themselves, rather than beginning with a `Colour`. -You can do this by chaining methods based on a new `Style`, created with `Style::new()`. -Each method creates a new style that has that specific property set. -For example: - -```rust -use ansi_term::Style; -println!("How about some {} and {}?", - Style::new().bold().paint("bold"), - Style::new().underline().paint("underline")); -``` - -For brevity, these methods have also been implemented for `Colour` values, so you can give your styles a foreground colour without having to begin with an empty `Style` value: - -```rust -use ansi_term::Colour::{Blue, Yellow}; -println!("Demonstrating {} and {}!", - Blue.bold().paint("blue bold"), - Yellow.underline().paint("yellow underline")); -println!("Yellow on blue: {}", Yellow.on(Blue).paint("wow!")); -``` - -The complete list of styles you can use are: -`bold`, `dimmed`, `italic`, `underline`, `blink`, `reverse`, `hidden`, and `on` for background colours. - -In some cases, you may find it easier to change the foreground on an existing `Style` rather than starting from the appropriate `Colour`. -You can do this using the `fg` method: - -```rust - use ansi_term::Style; - use ansi_term::Colour::{Blue, Cyan, Yellow}; - println!("Yellow on blue: {}", Style::new().on(Blue).fg(Yellow).paint("yow!")); - println!("Also yellow on blue: {}", Cyan.on(Blue).fg(Yellow).paint("zow!")); -``` - -Finally, you can turn a `Colour` into a `Style` with the `normal` method. -This will produce the exact same `ANSIString` as if you just used the `paint` method on the `Colour` directly, but it’s useful in certain cases: for example, you may have a method that returns `Styles`, and need to represent both the “red bold” and “red, but not bold” styles with values of the same type. The `Style` struct also has a `Default` implementation if you want to have a style with *nothing* set. - -```rust -use ansi_term::Style; -use ansi_term::Colour::Red; -Red.normal().paint("yet another red string"); -Style::default().paint("a completely regular string"); -``` - - -## Extended colours - -You can access the extended range of 256 colours by using the `Fixed` colour variant, which takes an argument of the colour number to use. -This can be included wherever you would use a `Colour`: - -```rust -use ansi_term::Colour::Fixed; -Fixed(134).paint("A sort of light purple"); -Fixed(221).on(Fixed(124)).paint("Mustard in the ketchup"); -``` - -The first sixteen of these values are the same as the normal and bold standard colour variants. -There’s nothing stopping you from using these as `Fixed` colours instead, but there’s nothing to be gained by doing so either. - -You can also access full 24-bit color by using the `RGB` colour variant, which takes separate `u8` arguments for red, green, and blue: - -```rust - use ansi_term::Colour::RGB; - RGB(70, 130, 180).paint("Steel blue"); -``` - -## Combining successive coloured strings - -The benefit of writing ANSI escape codes to the terminal is that they *stack*: you do not need to end every coloured string with a reset code if the text that follows it is of a similar style. -For example, if you want to have some blue text followed by some blue bold text, it’s possible to send the ANSI code for blue, followed by the ANSI code for bold, and finishing with a reset code without having to have an extra one between the two strings. - -This crate can optimise the ANSI codes that get printed in situations like this, making life easier for your terminal renderer. -The `ANSIStrings` struct takes a slice of several `ANSIString` values, and will iterate over each of them, printing only the codes for the styles that need to be updated as part of its formatting routine. - -The following code snippet uses this to enclose a binary number displayed in red bold text inside some red, but not bold, brackets: - -```rust -use ansi_term::Colour::Red; -use ansi_term::{ANSIString, ANSIStrings}; -let some_value = format!("{:b}", 42); -let strings: &[ANSIString<'static>] = &[ - Red.paint("["), - Red.bold().paint(some_value), - Red.paint("]"), -]; -println!("Value: {}", ANSIStrings(strings)); -``` - -There are several things to note here. -Firstly, the `paint` method can take *either* an owned `String` or a borrowed `&str`. -Internally, an `ANSIString` holds a copy-on-write (`Cow`) string value to deal with both owned and borrowed strings at the same time. -This is used here to display a `String`, the result of the `format!` call, using the same mechanism as some statically-available `&str` slices. -Secondly, that the `ANSIStrings` value works in the same way as its singular counterpart, with a `Display` implementation that only performs the formatting when required. - -## Byte strings - -This library also supports formatting `[u8]` byte strings; this supports -applications working with text in an unknown encoding. `Style` and -`Color` support painting `[u8]` values, resulting in an `ANSIByteString`. -This type does not implement `Display`, as it may not contain UTF-8, but -it does provide a method `write_to` to write the result to any -`io::Write`: - -```rust -use ansi_term::Colour::Green; -Green.paint("user data".as_bytes()).write_to(&mut std::io::stdout()).unwrap(); -``` - -Similarly, the type `ANSIByteStrings` supports writing a list of -`ANSIByteString` values with minimal escape sequences: - -```rust -use ansi_term::Colour::Green; -use ansi_term::ANSIByteStrings; -ANSIByteStrings(&[ - Green.paint("user data 1\n".as_bytes()), - Green.bold().paint("user data 2\n".as_bytes()), -]).write_to(&mut std::io::stdout()).unwrap(); -``` diff --git a/vendor/registry-40351f815f426200/ansi_term/src/lib.rs b/vendor/registry-40351f815f426200/ansi_term/src/lib.rs deleted file mode 100644 index 84943bee0..000000000 --- a/vendor/registry-40351f815f426200/ansi_term/src/lib.rs +++ /dev/null @@ -1,1099 +0,0 @@ -//! This is a library for controlling colours and formatting, such as -//! red bold text or blue underlined text, on ANSI terminals. -//! -//! -//! ## Basic usage -//! -//! There are two main data structures in this crate that you need to be -//! concerned with: `ANSIString` and `Style`. A `Style` holds stylistic -//! information: colours, whether the text should be bold, or blinking, or -//! whatever. There are also `Colour` variants that represent simple foreground -//! colour styles. An `ANSIString` is a string paired with a `Style`. -//! -//! (Yes, it’s British English, but you won’t have to write “colour” very often. -//! `Style` is used the majority of the time.) -//! -//! To format a string, call the `paint` method on a `Style` or a `Colour`, -//! passing in the string you want to format as the argument. For example, -//! here’s how to get some red text: -//! -//! use ansi_term::Colour::Red; -//! println!("This is in red: {}", Red.paint("a red string")); -//! -//! It’s important to note that the `paint` method does *not* actually return a -//! string with the ANSI control characters surrounding it. Instead, it returns -//! an `ANSIString` value that has a `Display` implementation that, when -//! formatted, returns the characters. This allows strings to be printed with a -//! minimum of `String` allocations being performed behind the scenes. -//! -//! If you *do* want to get at the escape codes, then you can convert the -//! `ANSIString` to a string as you would any other `Display` value: -//! -//! use ansi_term::Colour::Red; -//! use std::string::ToString; -//! let red_string = Red.paint("a red string").to_string(); -//! -//! -//! ## Bold, underline, background, and other styles -//! -//! For anything more complex than plain foreground colour changes, you need to -//! construct `Style` objects themselves, rather than beginning with a `Colour`. -//! You can do this by chaining methods based on a new `Style`, created with -//! `Style::new()`. Each method creates a new style that has that specific -//! property set. For example: -//! -//! use ansi_term::Style; -//! println!("How about some {} and {}?", -//! Style::new().bold().paint("bold"), -//! Style::new().underline().paint("underline")); -//! -//! For brevity, these methods have also been implemented for `Colour` values, -//! so you can give your styles a foreground colour without having to begin with -//! an empty `Style` value: -//! -//! use ansi_term::Colour::{Blue, Yellow}; -//! println!("Demonstrating {} and {}!", -//! Blue.bold().paint("blue bold"), -//! Yellow.underline().paint("yellow underline")); -//! println!("Yellow on blue: {}", Yellow.on(Blue).paint("wow!")); -//! -//! The complete list of styles you can use are: `bold`, `dimmed`, `italic`, -//! `underline`, `blink`, `reverse`, `hidden`, `strikethrough`, and `on` for -//! background colours. -//! -//! In some cases, you may find it easier to change the foreground on an -//! existing `Style` rather than starting from the appropriate `Colour`. -//! You can do this using the `fg` method: -//! -//! use ansi_term::Style; -//! use ansi_term::Colour::{Blue, Cyan, Yellow}; -//! println!("Yellow on blue: {}", Style::new().on(Blue).fg(Yellow).paint("yow!")); -//! println!("Also yellow on blue: {}", Cyan.on(Blue).fg(Yellow).paint("zow!")); -//! -//! Finally, you can turn a `Colour` into a `Style` with the `normal` method. -//! This will produce the exact same `ANSIString` as if you just used the -//! `paint` method on the `Colour` directly, but it’s useful in certain cases: -//! for example, you may have a method that returns `Styles`, and need to -//! represent both the “red bold” and “red, but not bold” styles with values of -//! the same type. The `Style` struct also has a `Default` implementation if you -//! want to have a style with *nothing* set. -//! -//! use ansi_term::Style; -//! use ansi_term::Colour::Red; -//! Red.normal().paint("yet another red string"); -//! Style::default().paint("a completely regular string"); -//! -//! -//! ## Extended colours -//! -//! You can access the extended range of 256 colours by using the `Fixed` colour -//! variant, which takes an argument of the colour number to use. This can be -//! included wherever you would use a `Colour`: -//! -//! use ansi_term::Colour::Fixed; -//! Fixed(134).paint("A sort of light purple"); -//! Fixed(221).on(Fixed(124)).paint("Mustard in the ketchup"); -//! -//! The first sixteen of these values are the same as the normal and bold -//! standard colour variants. There’s nothing stopping you from using these as -//! `Fixed` colours instead, but there’s nothing to be gained by doing so -//! either. -//! -//! You can also access full 24-bit color by using the `RGB` colour variant, -//! which takes separate `u8` arguments for red, green, and blue: -//! -//! use ansi_term::Colour::RGB; -//! RGB(70, 130, 180).paint("Steel blue"); -//! -//! ## Combining successive coloured strings -//! -//! The benefit of writing ANSI escape codes to the terminal is that they -//! *stack*: you do not need to end every coloured string with a reset code if -//! the text that follows it is of a similar style. For example, if you want to -//! have some blue text followed by some blue bold text, it’s possible to send -//! the ANSI code for blue, followed by the ANSI code for bold, and finishing -//! with a reset code without having to have an extra one between the two -//! strings. -//! -//! This crate can optimise the ANSI codes that get printed in situations like -//! this, making life easier for your terminal renderer. The `ANSIStrings` -//! struct takes a slice of several `ANSIString` values, and will iterate over -//! each of them, printing only the codes for the styles that need to be updated -//! as part of its formatting routine. -//! -//! The following code snippet uses this to enclose a binary number displayed in -//! red bold text inside some red, but not bold, brackets: -//! -//! use ansi_term::Colour::Red; -//! use ansi_term::{ANSIString, ANSIStrings}; -//! let some_value = format!("{:b}", 42); -//! let strings: &[ANSIString<'static>] = &[ -//! Red.paint("["), -//! Red.bold().paint(some_value), -//! Red.paint("]"), -//! ]; -//! println!("Value: {}", ANSIStrings(strings)); -//! -//! There are several things to note here. Firstly, the `paint` method can take -//! *either* an owned `String` or a borrowed `&str`. Internally, an `ANSIString` -//! holds a copy-on-write (`Cow`) string value to deal with both owned and -//! borrowed strings at the same time. This is used here to display a `String`, -//! the result of the `format!` call, using the same mechanism as some -//! statically-available `&str` slices. Secondly, that the `ANSIStrings` value -//! works in the same way as its singular counterpart, with a `Display` -//! implementation that only performs the formatting when required. -//! -//! ## Byte strings -//! -//! This library also supports formatting `[u8]` byte strings; this supports -//! applications working with text in an unknown encoding. `Style` and -//! `Color` support painting `[u8]` values, resulting in an `ANSIByteString`. -//! This type does not implement `Display`, as it may not contain UTF-8, but -//! it does provide a method `write_to` to write the result to any -//! `io::Write`: -//! -//! use ansi_term::Colour::Green; -//! Green.paint("user data".as_bytes()).write_to(&mut std::io::stdout()).unwrap(); -//! -//! Similarly, the type `ANSIByteStrings` supports writing a list of -//! `ANSIByteString` values with minimal escape sequences: -//! -//! use ansi_term::Colour::Green; -//! use ansi_term::ANSIByteStrings; -//! ANSIByteStrings(&[ -//! Green.paint("user data 1\n".as_bytes()), -//! Green.bold().paint("user data 2\n".as_bytes()), -//! ]).write_to(&mut std::io::stdout()).unwrap(); - - -#![crate_name = "ansi_term"] -#![crate_type = "rlib"] -#![crate_type = "dylib"] - -#![warn(missing_copy_implementations)] -#![warn(missing_docs)] -#![warn(trivial_casts, trivial_numeric_casts)] -#![warn(unused_extern_crates, unused_qualifications)] - - -use std::borrow::Cow; -use std::default::Default; -use std::fmt; -use std::io; -use std::ops::Deref; - -use Colour::*; -use Difference::*; - -trait AnyWrite { - type str : ?Sized; - type Error; - fn write_fmt(&mut self, fmt: fmt::Arguments) -> Result<(), Self::Error>; - fn write_str(&mut self, s: &Self::str) -> Result<(), Self::Error>; -} - -impl<'a> AnyWrite for fmt::Write + 'a { - type str = str; - type Error = fmt::Error; - fn write_fmt(&mut self, fmt: fmt::Arguments) -> Result<(), Self::Error> { - fmt::Write::write_fmt(self, fmt) - } - fn write_str(&mut self, s: &Self::str) -> Result<(), Self::Error> { - fmt::Write::write_str(self, s) - } -} - -impl<'a> AnyWrite for io::Write + 'a { - type str = [u8]; - type Error = io::Error; - fn write_fmt(&mut self, fmt: fmt::Arguments) -> Result<(), Self::Error> { - io::Write::write_fmt(self, fmt) - } - fn write_str(&mut self, s: &Self::str) -> Result<(), Self::Error> { - io::Write::write_all(self, s) - } -} - -/// An ANSIGenericString includes a generic string type and a Style to -/// display that string. ANSIString and ANSIByteString are aliases for -/// this type on str and [u8], respectively. -#[derive(PartialEq, Debug, Clone)] -pub struct ANSIGenericString<'a, S: 'a + ToOwned + ?Sized> -where ::Owned: std::fmt::Debug { - style: Style, - string: Cow<'a, S>, -} - -impl<'a, S: 'a + ToOwned + ?Sized> ANSIGenericString<'a, S> -where ::Owned: std::fmt::Debug { - fn write_to_any + ?Sized>(&self, w: &mut W) -> Result<(), W::Error> { - try!(self.style.write_prefix(w)); - try!(w.write_str(&self.string)); - self.style.write_suffix(w) - } -} - -/// An ANSI String is a string coupled with the Style to display it -/// in a terminal. -/// -/// Although not technically a string itself, it can be turned into -/// one with the `to_string` method. -/// -/// ### Examples -/// -/// ```no_run -/// use ansi_term::ANSIString; -/// use ansi_term::Colour::Red; -/// -/// let red_string = Red.paint("a red string"); -/// println!("{}", red_string); -/// ``` -/// -/// ``` -/// use ansi_term::ANSIString; -/// -/// let plain_string = ANSIString::from("a plain string"); -/// assert_eq!(&*plain_string, "a plain string"); -/// ``` -pub type ANSIString<'a> = ANSIGenericString<'a, str>; - -/// An ANSIByteString represents a formatted series of bytes. Use -/// ANSIByteString when styling text with an unknown encoding. -pub type ANSIByteString<'a> = ANSIGenericString<'a, [u8]>; - -/// Like `ANSIString`, but only displays the style prefix. -#[derive(Clone, Copy, Debug)] -pub struct Prefix(Style); - -/// Like `ANSIString`, but only displays the style suffix. -#[derive(Clone, Copy, Debug)] -pub struct Suffix(Style); - -/// Like `ANSIString`, but only displays the difference between two -/// styles. -#[derive(Clone, Copy, Debug)] -pub struct Infix(Style, Style); - -impl<'a> fmt::Display for ANSIString<'a> { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let w: &mut fmt::Write = f; - self.write_to_any(w) - } -} - -impl<'a> ANSIByteString<'a> { - /// Write an ANSIByteString to an io::Write. This writes the escape - /// sequences for the associated Style around the bytes. - pub fn write_to(&self, w: &mut W) -> io::Result<()> { - let w: &mut io::Write = w; - self.write_to_any(w) - } -} - - -impl<'a, I, S: 'a + ToOwned + ?Sized> From for ANSIGenericString<'a, S> -where I: Into>, - ::Owned: std::fmt::Debug { - fn from(input: I) -> ANSIGenericString<'a, S> { - ANSIGenericString { - string: input.into(), - style: Style::default(), - } - } -} - -impl<'a, S: 'a + ToOwned + ?Sized> Deref for ANSIGenericString<'a, S> -where ::Owned: std::fmt::Debug { - type Target = S; - - fn deref(&self) -> &S { - self.string.deref() - } -} - - -impl fmt::Display for Prefix { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let f: &mut fmt::Write = f; - try!(self.0.write_prefix(f)); - Ok(()) - } -} - -impl fmt::Display for Suffix { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let f: &mut fmt::Write = f; - try!(self.0.write_suffix(f)); - Ok(()) - } -} - -impl fmt::Display for Infix { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match self.0.difference(&self.1) { - ExtraStyles(style) => { - let f: &mut fmt::Write = f; - try!(style.write_prefix(f)) - }, - Reset => { - let f: &mut fmt::Write = f; - try!(f.write_str("\x1B[0m")); - try!(self.0.write_prefix(f)); - }, - NoDifference => { /* Do nothing! */ }, - } - Ok(()) - } -} - - -/// A colour is one specific type of ANSI escape code, and can refer -/// to either the foreground or background colour. -/// -/// These use the standard numeric sequences. -/// See http://invisible-island.net/xterm/ctlseqs/ctlseqs.html -#[derive(PartialEq, Clone, Copy, Debug)] -pub enum Colour { - - /// Colour #0 (foreground code `30`, background code `40`). - /// - /// This is not necessarily the background colour, and using it as one may - /// render the text hard to read on terminals with dark backgrounds. - Black, - - /// Colour #1 (foreground code `31`, background code `41`). - Red, - - /// Colour #2 (foreground code `32`, background code `42`). - Green, - - /// Colour #3 (foreground code `33`, background code `43`). - Yellow, - - /// Colour #4 (foreground code `34`, background code `44`). - Blue, - - /// Colour #5 (foreground code `35`, background code `45`). - Purple, - - /// Colour #6 (foreground code `36`, background code `46`). - Cyan, - - /// Colour #7 (foreground code `37`, background code `47`). - /// - /// As above, this is not necessarily the foreground colour, and may be - /// hard to read on terminals with light backgrounds. - White, - - /// A colour number from 0 to 255, for use in 256-colour terminal - /// environments. - /// - /// - Colours 0 to 7 are the `Black` to `White` variants respectively. - /// These colours can usually be changed in the terminal emulator. - /// - Colours 8 to 15 are brighter versions of the eight colours above. - /// These can also usually be changed in the terminal emulator, or it - /// could be configured to use the original colours and show the text in - /// bold instead. It varies depending on the program. - /// - Colours 16 to 231 contain several palettes of bright colours, - /// arranged in six squares measuring six by six each. - /// - Colours 232 to 255 are shades of grey from black to white. - /// - /// It might make more sense to look at a [colour chart][cc]. - /// [cc]: https://upload.wikimedia.org/wikipedia/en/1/15/Xterm_256color_chart.svg - Fixed(u8), - - /// A 24-bit RGB color, as specified by ISO-8613-3. - RGB(u8, u8, u8), -} - -/// Color is a type alias for Colour for those who can't be bothered. -pub use Colour as Color; - -// I'm not beyond calling Colour Colour, rather than Color, but I did -// purposefully name this crate 'ansi-term' so people wouldn't get -// confused when they tried to install it. -// -// Only *after* they'd installed it. - -impl Colour { - fn write_foreground_code(&self, f: &mut W) -> Result<(), W::Error> { - match *self { - Black => write!(f, "30"), - Red => write!(f, "31"), - Green => write!(f, "32"), - Yellow => write!(f, "33"), - Blue => write!(f, "34"), - Purple => write!(f, "35"), - Cyan => write!(f, "36"), - White => write!(f, "37"), - Fixed(num) => write!(f, "38;5;{}", &num), - RGB(r,g,b) => write!(f, "38;2;{};{};{}", &r, &g, &b), - } - } - - fn write_background_code(&self, f: &mut W) -> Result<(), W::Error> { - match *self { - Black => write!(f, "40"), - Red => write!(f, "41"), - Green => write!(f, "42"), - Yellow => write!(f, "43"), - Blue => write!(f, "44"), - Purple => write!(f, "45"), - Cyan => write!(f, "46"), - White => write!(f, "47"), - Fixed(num) => write!(f, "48;5;{}", &num), - RGB(r,g,b) => write!(f, "48;2;{};{};{}", &r, &g, &b), - } - } - - /// Return a Style with the foreground colour set to this colour. - pub fn normal(self) -> Style { - Style { foreground: Some(self), .. Style::default() } - } - - /// Paints the given text with this colour, returning an ANSI string. - /// This is a short-cut so you don't have to use Blue.normal() just - /// to get blue text. - pub fn paint<'a, I, S: 'a + ToOwned + ?Sized>(self, input: I) -> ANSIGenericString<'a, S> - where I: Into>, - ::Owned: std::fmt::Debug { - ANSIGenericString { - string: input.into(), - style: self.normal(), - } - } - - /// The prefix for this colour. - pub fn prefix(self) -> Prefix { - Prefix(self.normal()) - } - - /// The suffix for this colour. - pub fn suffix(self) -> Suffix { - Suffix(self.normal()) - } - - /// The infix between this colour and another. - pub fn infix(self, other: Colour) -> Infix { - Infix(self.normal(), other.normal()) - } - - /// Returns a Style with the bold property set. - pub fn bold(self) -> Style { - Style { foreground: Some(self), is_bold: true, .. Style::default() } - } - - /// Returns a Style with the dimmed property set. - pub fn dimmed(self) -> Style { - Style { foreground: Some(self), is_dimmed: true, .. Style::default() } - } - - /// Returns a Style with the italic property set. - pub fn italic(self) -> Style { - Style { foreground: Some(self), is_italic: true, .. Style::default() } - } - - /// Returns a Style with the underline property set. - pub fn underline(self) -> Style { - Style { foreground: Some(self), is_underline: true, .. Style::default() } - } - - /// Returns a Style with the blink property set. - pub fn blink(self) -> Style { - Style { foreground: Some(self), is_blink: true, .. Style::default() } - } - - /// Returns a Style with the reverse property set. - pub fn reverse(self) -> Style { - Style { foreground: Some(self), is_reverse: true, .. Style::default() } - } - - /// Returns a Style with the hidden property set. - pub fn hidden(self) -> Style { - Style { foreground: Some(self), is_hidden: true, .. Style::default() } - } - - /// Returns a Style with the strikethrough property set. - pub fn strikethrough(self) -> Style { - Style { foreground: Some(self), is_strikethrough: true, .. Style::default() } - } - - /// Returns a Style with the background colour property set. - pub fn on(self, background: Colour) -> Style { - Style { foreground: Some(self), background: Some(background), .. Style::default() } - } -} - -/// A style is a collection of properties that can format a string -/// using ANSI escape codes. -#[derive(PartialEq, Clone, Copy, Debug)] -pub struct Style { - foreground: Option, - background: Option, - is_bold: bool, - is_dimmed: bool, - is_italic: bool, - is_underline: bool, - is_blink: bool, - is_reverse: bool, - is_hidden: bool, - is_strikethrough: bool -} - -impl Style { - /// Creates a new Style with no differences. - pub fn new() -> Style { - Style::default() - } - - /// Paints the given text with this colour, returning an ANSI string. - pub fn paint<'a, I, S: 'a + ToOwned + ?Sized>(self, input: I) -> ANSIGenericString<'a, S> - where I: Into>, - ::Owned: std::fmt::Debug { - ANSIGenericString { - string: input.into(), - style: self, - } - } - - /// The prefix for this style. - pub fn prefix(self) -> Prefix { - Prefix(self) - } - - /// The suffix for this style. - pub fn suffix(self) -> Suffix { - Suffix(self) - } - - /// The infix between this style and another. - pub fn infix(self, other: Style) -> Infix { - Infix(self, other) - } - - /// Returns a Style with the bold property set. - pub fn bold(&self) -> Style { - Style { is_bold: true, .. *self } - } - - /// Returns a Style with the dimmed property set. - pub fn dimmed(&self) -> Style { - Style { is_dimmed: true, .. *self } - } - - /// Returns a Style with the italic property set. - pub fn italic(&self) -> Style { - Style { is_italic: true, .. *self } - } - - /// Returns a Style with the underline property set. - pub fn underline(&self) -> Style { - Style { is_underline: true, .. *self } - } - - /// Returns a Style with the blink property set. - pub fn blink(&self) -> Style { - Style { is_blink: true, .. *self } - } - - /// Returns a Style with the reverse property set. - pub fn reverse(&self) -> Style { - Style { is_reverse: true, .. *self } - } - - /// Returns a Style with the hidden property set. - pub fn hidden(&self) -> Style { - Style { is_hidden: true, .. *self } - } - - /// Returns a Style with the hidden property set. - pub fn strikethrough(&self) -> Style { - Style { is_strikethrough: true, .. *self } - } - - /// Returns a Style with the foreground colour property set. - pub fn fg(&self, foreground: Colour) -> Style { - Style { foreground: Some(foreground), .. *self } - } - - /// Returns a Style with the background colour property set. - pub fn on(&self, background: Colour) -> Style { - Style { background: Some(background), .. *self } - } - - /// Write any ANSI codes that go *before* a piece of text. These should be - /// the codes to set the terminal to a different colour or font style. - fn write_prefix(&self, f: &mut W) -> Result<(), W::Error> { - // If there are actually no styles here, then don’t write *any* codes - // as the prefix. An empty ANSI code may not affect the terminal - // output at all, but a user may just want a code-free string. - if self.is_plain() { - return Ok(()); - } - - // Write the codes’ prefix, then write numbers, separated by - // semicolons, for each text style we want to apply. - try!(write!(f, "\x1B[")); - let mut written_anything = false; - - { - let mut write_char = |c| { - if written_anything { try!(write!(f, ";")); } - written_anything = true; - try!(write!(f, "{}", c)); - Ok(()) - }; - - if self.is_bold { try!(write_char('1')); } - if self.is_dimmed { try!(write_char('2')); } - if self.is_italic { try!(write_char('3')); } - if self.is_underline { try!(write_char('4')); } - if self.is_blink { try!(write_char('5')); } - if self.is_reverse { try!(write_char('7')); } - if self.is_hidden { try!(write_char('8')); } - if self.is_strikethrough { try!(write_char('9')); } - } - - // The foreground and background colours, if specified, need to be - // handled specially because the number codes are more complicated. - // (see `write_background_code` and `write_foreground_code`) - if let Some(bg) = self.background { - if written_anything { try!(write!(f, ";")); } - written_anything = true; - - try!(bg.write_background_code(f)); - } - - if let Some(fg) = self.foreground { - if written_anything { try!(write!(f, ";")); } - - try!(fg.write_foreground_code(f)); - } - - // All the codes end with an `m`, because reasons. - try!(write!(f, "m")); - Ok(()) - } - - /// Write any ANSI codes that go *after* a piece of text. These should be - /// the codes to *reset* the terminal back to its normal colour and style. - fn write_suffix(&self, f: &mut W) -> Result<(), W::Error> { - if self.is_plain() { - Ok(()) - } - else { - write!(f, "\x1B[0m") - } - } - - /// Compute the 'style difference' required to turn an existing style into - /// the given, second style. - /// - /// For example, to turn green text into green bold text, it's redundant - /// to write a reset command then a second green+bold command, instead of - /// just writing one bold command. This method should see that both styles - /// use the foreground colour green, and reduce it to a single command. - /// - /// This method returns an enum value because it's not actually always - /// possible to turn one style into another: for example, text could be - /// made bold and underlined, but you can't remove the bold property - /// without also removing the underline property. So when this has to - /// happen, this function returns None, meaning that the entire set of - /// styles should be reset and begun again. - fn difference(&self, next: &Style) -> Difference { - // XXX(Havvy): This algorithm is kind of hard to replicate without - // having the Plain/Foreground enum variants, so I'm just leaving - // it commented out for now, and defaulting to Reset. - - if self == next { - return NoDifference; - } - - // Cannot un-bold, so must Reset. - if self.is_bold && !next.is_bold { - return Reset; - } - - if self.is_dimmed && !next.is_dimmed { - return Reset; - } - - if self.is_italic && !next.is_italic { - return Reset; - } - - // Cannot un-underline, so must Reset. - if self.is_underline && !next.is_underline { - return Reset; - } - - if self.is_blink && !next.is_blink { - return Reset; - } - - if self.is_reverse && !next.is_reverse { - return Reset; - } - - if self.is_hidden && !next.is_hidden { - return Reset; - } - - if self.is_strikethrough && !next.is_strikethrough { - return Reset; - } - - // Cannot go from foreground to no foreground, so must Reset. - if self.foreground.is_some() && next.foreground.is_none() { - return Reset; - } - - // Cannot go from background to no background, so must Reset. - if self.background.is_some() && next.background.is_none() { - return Reset; - } - - let mut extra_styles = Style::default(); - - if self.is_bold != next.is_bold { - extra_styles.is_bold = true; - } - - if self.is_dimmed != next.is_dimmed { - extra_styles.is_dimmed = true; - } - - if self.is_italic != next.is_italic { - extra_styles.is_italic = true; - } - - if self.is_underline != next.is_underline { - extra_styles.is_underline = true; - } - - if self.is_blink != next.is_blink { - extra_styles.is_blink = true; - } - - if self.is_reverse != next.is_reverse { - extra_styles.is_reverse = true; - } - - if self.is_hidden != next.is_hidden { - extra_styles.is_hidden = true; - } - - if self.is_strikethrough != next.is_strikethrough { - extra_styles.is_strikethrough = true; - } - - if self.foreground != next.foreground { - extra_styles.foreground = next.foreground; - } - - if self.background != next.background { - extra_styles.background = next.background; - } - - ExtraStyles(extra_styles) - } - - /// Return true if this `Style` has no actual styles, and can be written - /// without any control characters. - fn is_plain(self) -> bool { - self == Style::default() - } -} - -impl Default for Style { - fn default() -> Style { - Style { - foreground: None, - background: None, - is_bold: false, - is_dimmed: false, - is_italic: false, - is_underline: false, - is_blink: false, - is_reverse: false, - is_hidden: false, - is_strikethrough: false, - } - } -} - -/// When printing out one coloured string followed by another, use one of -/// these rules to figure out which *extra* control codes need to be sent. -#[derive(PartialEq, Clone, Copy, Debug)] -enum Difference { - - /// Print out the control codes specified by this style to end up looking - /// like the second string's styles. - ExtraStyles(Style), - - /// Converting between these two is impossible, so just send a reset - /// command and then the second string's styles. - Reset, - - /// The before style is exactly the same as the after style, so no further - /// control codes need to be printed. - NoDifference, -} - -/// A set of `ANSIGenericString`s collected together, in order to be -/// written with a minimum of control characters. -pub struct ANSIGenericStrings<'a, S: 'a + ToOwned + ?Sized> - (pub &'a [ANSIGenericString<'a, S>]) - where ::Owned: std::fmt::Debug; - -/// A set of `ANSIString`s collected together, in order to be written with a -/// minimum of control characters. -pub type ANSIStrings<'a> = ANSIGenericStrings<'a, str>; - -/// A function to construct an ANSIStrings instance. -#[allow(non_snake_case)] -pub fn ANSIStrings<'a>(arg: &'a [ANSIString<'a>]) -> ANSIStrings<'a> { - ANSIGenericStrings(arg) -} - -/// A set of `ANSIByteString`s collected together, in order to be -/// written with a minimum of control characters. -pub type ANSIByteStrings<'a> = ANSIGenericStrings<'a, [u8]>; - -/// A function to construct an ANSIByteStrings instance. -#[allow(non_snake_case)] -pub fn ANSIByteStrings<'a>(arg: &'a [ANSIByteString<'a>]) -> ANSIByteStrings<'a> { - ANSIGenericStrings(arg) -} - -impl<'a, S: 'a + ToOwned + ?Sized> ANSIGenericStrings<'a, S> -where ::Owned: std::fmt::Debug { - fn write_to_any + ?Sized>(&self, w: &mut W) -> Result<(), W::Error> { - let first = match self.0.first() { - None => return Ok(()), - Some(f) => f, - }; - - try!(first.style.write_prefix(w)); - try!(w.write_str(&first.string)); - - for window in self.0.windows(2) { - match window[0].style.difference(&window[1].style) { - ExtraStyles(style) => try!(style.write_prefix(w)), - Reset => { - try!(write!(w, "\x1B[0m")); - try!(window[1].style.write_prefix(w)); - }, - NoDifference => { /* Do nothing! */ }, - } - - try!(w.write_str(&window[1].string)); - } - - // Write the final reset string after all of the ANSIStrings have been - // written, *except* if the last one has no styles, because it would - // have already been written by this point. - if let Some(last) = self.0.last() { - if !last.style.is_plain() { - try!(write!(w, "\x1B[0m")); - } - } - - Ok(()) - } -} - -impl<'a> fmt::Display for ANSIStrings<'a> { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let f: &mut fmt::Write = f; - self.write_to_any(f) - } -} - -impl<'a> ANSIByteStrings<'a> { - /// Write ANSIByteStrings to an io::Write. This writes the minimal - /// escape sequences for the associated Styles around each set of - /// bytes. - pub fn write_to(&self, w: &mut W) -> io::Result<()> { - let w: &mut io::Write = w; - self.write_to_any(w) - } -} - -#[cfg(test)] -mod tests { - pub use super::{Style, ANSIStrings}; - pub use super::Colour::*; - - macro_rules! test { - ($name: ident: $style: expr; $input: expr => $result: expr) => { - #[test] - fn $name() { - assert_eq!($style.paint($input).to_string(), $result.to_string()); - - let mut v = Vec::new(); - $style.paint($input.as_bytes()).write_to(&mut v).unwrap(); - assert_eq!(v.as_slice(), $result.as_bytes()); - } - }; - } - - test!(plain: Style::default(); "text/plain" => "text/plain"); - test!(red: Red; "hi" => "\x1B[31mhi\x1B[0m"); - test!(black: Black.normal(); "hi" => "\x1B[30mhi\x1B[0m"); - test!(yellow_bold: Yellow.bold(); "hi" => "\x1B[1;33mhi\x1B[0m"); - test!(yellow_bold_2: Yellow.normal().bold(); "hi" => "\x1B[1;33mhi\x1B[0m"); - test!(blue_underline: Blue.underline(); "hi" => "\x1B[4;34mhi\x1B[0m"); - test!(green_bold_ul: Green.bold().underline(); "hi" => "\x1B[1;4;32mhi\x1B[0m"); - test!(green_bold_ul_2: Green.underline().bold(); "hi" => "\x1B[1;4;32mhi\x1B[0m"); - test!(purple_on_white: Purple.on(White); "hi" => "\x1B[47;35mhi\x1B[0m"); - test!(purple_on_white_2: Purple.normal().on(White); "hi" => "\x1B[47;35mhi\x1B[0m"); - test!(yellow_on_blue: Style::new().on(Blue).fg(Yellow); "hi" => "\x1B[44;33mhi\x1B[0m"); - test!(yellow_on_blue_2: Cyan.on(Blue).fg(Yellow); "hi" => "\x1B[44;33mhi\x1B[0m"); - test!(cyan_bold_on_white: Cyan.bold().on(White); "hi" => "\x1B[1;47;36mhi\x1B[0m"); - test!(cyan_ul_on_white: Cyan.underline().on(White); "hi" => "\x1B[4;47;36mhi\x1B[0m"); - test!(cyan_bold_ul_on_white: Cyan.bold().underline().on(White); "hi" => "\x1B[1;4;47;36mhi\x1B[0m"); - test!(cyan_ul_bold_on_white: Cyan.underline().bold().on(White); "hi" => "\x1B[1;4;47;36mhi\x1B[0m"); - test!(fixed: Fixed(100); "hi" => "\x1B[38;5;100mhi\x1B[0m"); - test!(fixed_on_purple: Fixed(100).on(Purple); "hi" => "\x1B[45;38;5;100mhi\x1B[0m"); - test!(fixed_on_fixed: Fixed(100).on(Fixed(200)); "hi" => "\x1B[48;5;200;38;5;100mhi\x1B[0m"); - test!(rgb: RGB(70,130,180); "hi" => "\x1B[38;2;70;130;180mhi\x1B[0m"); - test!(rgb_on_blue: RGB(70,130,180).on(Blue); "hi" => "\x1B[44;38;2;70;130;180mhi\x1B[0m"); - test!(blue_on_rgb: Blue.on(RGB(70,130,180)); "hi" => "\x1B[48;2;70;130;180;34mhi\x1B[0m"); - test!(rgb_on_rgb: RGB(70,130,180).on(RGB(5,10,15)); "hi" => "\x1B[48;2;5;10;15;38;2;70;130;180mhi\x1B[0m"); - test!(bold: Style::new().bold(); "hi" => "\x1B[1mhi\x1B[0m"); - test!(underline: Style::new().underline(); "hi" => "\x1B[4mhi\x1B[0m"); - test!(bunderline: Style::new().bold().underline(); "hi" => "\x1B[1;4mhi\x1B[0m"); - test!(dimmed: Style::new().dimmed(); "hi" => "\x1B[2mhi\x1B[0m"); - test!(italic: Style::new().italic(); "hi" => "\x1B[3mhi\x1B[0m"); - test!(blink: Style::new().blink(); "hi" => "\x1B[5mhi\x1B[0m"); - test!(reverse: Style::new().reverse(); "hi" => "\x1B[7mhi\x1B[0m"); - test!(hidden: Style::new().hidden(); "hi" => "\x1B[8mhi\x1B[0m"); - test!(stricken: Style::new().strikethrough(); "hi" => "\x1B[9mhi\x1B[0m"); - - mod difference { - use super::*; - use super::super::Difference::*; - - #[test] - fn diff() { - let expected = ExtraStyles(Style::new().bold()); - let got = Green.normal().difference(&Green.bold()); - assert_eq!(expected, got) - } - - #[test] - fn dlb() { - let got = Green.bold().difference(&Green.normal()); - assert_eq!(Reset, got) - } - - #[test] - fn nothing() { - assert_eq!(NoDifference, Green.bold().difference(&Green.bold())); - } - - #[test] - fn nothing_2() { - assert_eq!(NoDifference, Green.normal().difference(&Green.normal())); - } - - #[test] - fn colour_change() { - assert_eq!(ExtraStyles(Blue.normal()), Red.normal().difference(&Blue.normal())) - } - - #[test] - fn removal_of_dimmed() { - let dimmed = Style::new().dimmed(); - let normal = Style::default(); - - assert_eq!(Reset, dimmed.difference(&normal)); - } - - #[test] - fn addition_of_dimmed() { - let dimmed = Style::new().dimmed(); - let normal = Style::default(); - let extra_styles = ExtraStyles(dimmed); - - assert_eq!(extra_styles, normal.difference(&dimmed)); - } - - #[test] - fn removal_of_blink() { - let blink = Style::new().blink(); - let normal = Style::default(); - - assert_eq!(Reset, blink.difference(&normal)); - } - - #[test] - fn addition_of_blink() { - let blink = Style::new().blink(); - let normal = Style::default(); - let extra_styles = ExtraStyles(blink); - - assert_eq!(extra_styles, normal.difference(&blink)); - } - - #[test] - fn removal_of_reverse() { - let reverse = Style::new().reverse(); - let normal = Style::default(); - - assert_eq!(Reset, reverse.difference(&normal)); - } - - #[test] - fn addition_of_reverse() { - let reverse = Style::new().reverse(); - let normal = Style::default(); - let extra_styles = ExtraStyles(reverse); - - assert_eq!(extra_styles, normal.difference(&reverse)); - } - - #[test] - fn removal_of_hidden() { - let hidden = Style::new().hidden(); - let normal = Style::default(); - - assert_eq!(Reset, hidden.difference(&normal)); - } - - #[test] - fn addition_of_hidden() { - let hidden = Style::new().hidden(); - let normal = Style::default(); - let extra_styles = ExtraStyles(hidden); - - assert_eq!(extra_styles, normal.difference(&hidden)); - } - - #[test] - fn removal_of_strikethrough() { - let strikethrough = Style::new().strikethrough(); - let normal = Style::default(); - - assert_eq!(Reset, strikethrough.difference(&normal)); - } - - #[test] - fn addition_of_strikethrough() { - let strikethrough = Style::new().strikethrough(); - let normal = Style::default(); - let extra_styles = ExtraStyles(strikethrough); - - assert_eq!(extra_styles, normal.difference(&strikethrough)); - } - - #[test] - fn no_control_codes_for_plain() { - let one = Style::default().paint("one"); - let two = Style::default().paint("two"); - let output = format!("{}", ANSIStrings( &[ one, two ] )); - assert_eq!(&*output, "onetwo"); - } - } -} diff --git a/vendor/registry-40351f815f426200/atty/.cargo-checksum.json b/vendor/registry-40351f815f426200/atty/.cargo-checksum.json deleted file mode 100644 index b440335bb..000000000 --- a/vendor/registry-40351f815f426200/atty/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"CHANGELOG.md":"7bd35273865921a87f96ea8d69bd98bde11a96001b74c79cdcdbc83bfbbee53c","Cargo.toml":"77b51a9746012bf939c0fd0a72daa9db816c26798c557c234213a2d38b8aae81","LICENSE":"f3f8d32084848316048c5a1e125a3c5003eb32145a5f5f2a0d5586377324f9ba","README.md":"a62d294c45c9d8b2e54fcf35d9ee1ba8b8e2ab6960fb3d3f4cc9d59e8aed0835","appveyor.yml":"dea9c8da309cbb02bce31c613b697256f4cfada20b2f7b0c8911b73d569daf58","examples/atty.rs":"1551387a71474d9ac1b5153231f884e9e05213badcfaa3494ad2cb7ea958374a","rustfmt.toml":"bd196700242d17913cf8adead6912f55e9347e52ab5a001729d6c18d169f05c4","src/lib.rs":"ec3428266e83b35a8714ab99d9962c9e29f78becb39e313846f042f5b176c723"},"package":"9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/atty/CHANGELOG.md b/vendor/registry-40351f815f426200/atty/CHANGELOG.md deleted file mode 100644 index 0b5c0eab5..000000000 --- a/vendor/registry-40351f815f426200/atty/CHANGELOG.md +++ /dev/null @@ -1,61 +0,0 @@ -# 0.2.11 - -* fix msys detection with `winapi@0.3.5` [#28](https://github.com/softprops/atty/pull/28) - -# 0.2.10 - -* fix wasm regression [#27](https://github.com/softprops/atty/pull/27) - -# 0.2.9 - -* Fix fix pty detection [#25](https://github.com/softprops/atty/pull/25) - -# 0.2.8 - -* Fix an inverted condition on MinGW [#22](https://github.com/softprops/atty/pull/22) - -# 0.2.7 - -* Change `||` to `&&` for whether MSYS is a tty [#24](https://github.com/softprops/atty/pull/24/) - -# 0.2.6 - -* updated winapi dependency to [0.3](https://retep998.github.io/blog/winapi-0.3/) [#18](https://github.com/softprops/atty/pull/18) - -# 0.2.5 - -* added support for Wasm compile targets [#17](https://github.com/softprops/atty/pull/17) - -# 0.2.4 - -* added support for Wasm compile targets [#17](https://github.com/softprops/atty/pull/17) - -# 0.2.3 - -* added support for Redox OS [#14](https://github.com/softprops/atty/pull/14) - -# 0.2.2 - -* use target specific dependencies [#11](https://github.com/softprops/atty/pull/11) -* Add tty detection for MSYS terminals [#12](https://github.com/softprops/atty/pull/12) - -# 0.2.1 - -* fix windows bug - -# 0.2.0 - -* support for various stream types - -# 0.1.2 - -* windows support (with automated testing) -* automated code coverage - -# 0.1.1 - -* bumped libc dep from `0.1` to `0.2` - -# 0.1.0 - -* initial release diff --git a/vendor/registry-40351f815f426200/atty/Cargo.toml b/vendor/registry-40351f815f426200/atty/Cargo.toml deleted file mode 100644 index 0d02b6af2..000000000 --- a/vendor/registry-40351f815f426200/atty/Cargo.toml +++ /dev/null @@ -1,33 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "atty" -version = "0.2.11" -authors = ["softprops "] -description = "A simple interface for querying atty" -homepage = "https://github.com/softprops/atty" -documentation = "http://softprops.github.io/atty" -readme = "README.md" -keywords = ["terminal", "tty"] -license = "MIT" -repository = "https://github.com/softprops/atty" -[target."cfg(target_os = \"redox\")".dependencies.termion] -version = "1.5" -[target."cfg(unix)".dependencies.libc] -version = "0.2" -default-features = false -[target."cfg(windows)".dependencies.winapi] -version = "0.3" -features = ["consoleapi", "processenv", "minwinbase", "minwindef", "winbase"] -[badges.travis-ci] -repository = "softprops/atty" diff --git a/vendor/registry-40351f815f426200/atty/LICENSE b/vendor/registry-40351f815f426200/atty/LICENSE deleted file mode 100644 index d1f01c829..000000000 --- a/vendor/registry-40351f815f426200/atty/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2015-2017 Doug Tangren - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/atty/README.md b/vendor/registry-40351f815f426200/atty/README.md deleted file mode 100644 index 5ce32d1d7..000000000 --- a/vendor/registry-40351f815f426200/atty/README.md +++ /dev/null @@ -1,76 +0,0 @@ -# atty - -[![Build Status](https://travis-ci.org/softprops/atty.svg?branch=master)](https://travis-ci.org/softprops/atty) [![Build status](https://ci.appveyor.com/api/projects/status/geggrsnsjsuse8cv?svg=true)](https://ci.appveyor.com/project/softprops/atty) [![Coverage Status](https://coveralls.io/repos/softprops/atty/badge.svg?branch=master&service=github)](https://coveralls.io/github/softprops/atty?branch=master) [![crates.io](https://img.shields.io/crates/v/atty.svg)](https://crates.io/crates/atty) [![Released API docs](https://docs.rs/atty/badge.svg)](http://docs.rs/atty) [![Master API docs](https://img.shields.io/badge/docs-master-green.svg)](https://softprops.github.io/atty) - -> are you or are you not a tty? - - -## install - -Add the following to your `Cargo.toml` - -```toml -[dependencies] -atty = "0.2" -``` - -## usage - -```rust -extern crate atty; - -use atty::Stream; - -fn main() { - if atty::is(Stream::Stdout) { - println!("I'm a terminal"); - } else { - println!("I'm not"); - } -} -``` - -## testing - -This library has been unit tested on both unix and windows platforms (via appveyor). - - -A simple example program is provided in this repo to test various tty's. By default. - -It prints - -```bash -$ cargo run --example atty -stdout? true -stderr? true -stdin? true -``` - -To test std in, pipe some text to the program - -```bash -$ echo "test" | cargo run --example atty -stdout? true -stderr? true -stdin? false -``` - -To test std out, pipe the program to something - -```bash -$ cargo run --example atty | grep std -stdout? false -stderr? true -stdin? true -``` - -To test std err, pipe the program to something redirecting std err - -```bash -$ cargo run --example atty 2>&1 | grep std -stdout? false -stderr? false -stdin? true -``` - -Doug Tangren (softprops) 2015-2017 diff --git a/vendor/registry-40351f815f426200/atty/appveyor.yml b/vendor/registry-40351f815f426200/atty/appveyor.yml deleted file mode 100644 index d7fb12794..000000000 --- a/vendor/registry-40351f815f426200/atty/appveyor.yml +++ /dev/null @@ -1,16 +0,0 @@ -environment: - matrix: - - TARGET: nightly-x86_64-pc-windows-msvc - - TARGET: nightly-i686-pc-windows-msvc - - TARGET: nightly-x86_64-pc-windows-gnu - - TARGET: nightly-i686-pc-windows-gnu -install: - - ps: Start-FileDownload "https://static.rust-lang.org/dist/rust-${env:TARGET}.exe" -FileName "rust-install.exe" - - ps: .\rust-install.exe /VERYSILENT /NORESTART /DIR="C:\rust" | Out-Null - - ps: $env:PATH="$env:PATH;C:\rust\bin" - - call "%VCVARS%" || ver>nul - - rustc -vV - - cargo -vV -build: false -test_script: - - cargo build diff --git a/vendor/registry-40351f815f426200/atty/examples/atty.rs b/vendor/registry-40351f815f426200/atty/examples/atty.rs deleted file mode 100644 index 3b3635e59..000000000 --- a/vendor/registry-40351f815f426200/atty/examples/atty.rs +++ /dev/null @@ -1,9 +0,0 @@ -extern crate atty; - -use atty::{is, Stream}; - -fn main() { - println!("stdout? {}", is(Stream::Stdout)); - println!("stderr? {}", is(Stream::Stderr)); - println!("stdin? {}", is(Stream::Stdin)); -} diff --git a/vendor/registry-40351f815f426200/atty/rustfmt.toml b/vendor/registry-40351f815f426200/atty/rustfmt.toml deleted file mode 100644 index d83987dca..000000000 --- a/vendor/registry-40351f815f426200/atty/rustfmt.toml +++ /dev/null @@ -1,10 +0,0 @@ -# keep imports tidy -reorder_imported_names = true -reorder_imports = true -reorder_imports_in_group = true -# there is no try! -use_try_shorthand = true -# don't create rustfmt artifacts -write_mode = "Replace" -# reduce wide load -max_width = 80 \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/atty/src/lib.rs b/vendor/registry-40351f815f426200/atty/src/lib.rs deleted file mode 100644 index 6bffeadac..000000000 --- a/vendor/registry-40351f815f426200/atty/src/lib.rs +++ /dev/null @@ -1,210 +0,0 @@ -//! atty is a simple utility that answers one question -//! > is this a tty? -//! -//! usage is just as simple -//! -//! ``` -//! if atty::is(atty::Stream::Stdout) { -//! println!("i'm a tty") -//! } -//! ``` -//! -//! ``` -//! if atty::isnt(atty::Stream::Stdout) { -//! println!("i'm not a tty") -//! } -//! ``` - -#![cfg_attr(unix, no_std)] - -#[cfg(unix)] -extern crate libc; -#[cfg(windows)] -extern crate winapi; -#[cfg(target_os = "redox")] -extern crate termion; - -#[cfg(windows)] -use winapi::shared::minwindef::DWORD; -#[cfg(windows)] -use winapi::shared::ntdef::WCHAR; - -/// possible stream sources -#[derive(Clone, Copy, Debug)] -pub enum Stream { - Stdout, - Stderr, - Stdin, -} - -/// returns true if this is a tty -#[cfg(all(unix, not(target_arch = "wasm32")))] -pub fn is(stream: Stream) -> bool { - extern crate libc; - - let fd = match stream { - Stream::Stdout => libc::STDOUT_FILENO, - Stream::Stderr => libc::STDERR_FILENO, - Stream::Stdin => libc::STDIN_FILENO, - }; - unsafe { libc::isatty(fd) != 0 } -} - -/// returns true if this is a tty -#[cfg(windows)] -pub fn is(stream: Stream) -> bool { - use winapi::um::winbase::{STD_ERROR_HANDLE as STD_ERROR, STD_INPUT_HANDLE as STD_INPUT, - STD_OUTPUT_HANDLE as STD_OUTPUT}; - - let (fd, others) = match stream { - Stream::Stdin => (STD_INPUT, [STD_ERROR, STD_OUTPUT]), - Stream::Stderr => (STD_ERROR, [STD_INPUT, STD_OUTPUT]), - Stream::Stdout => (STD_OUTPUT, [STD_INPUT, STD_ERROR]), - }; - if unsafe { console_on_any(&[fd]) } { - // False positives aren't possible. If we got a console then - // we definitely have a tty on stdin. - return true; - } - - // At this point, we *could* have a false negative. We can determine that - // this is true negative if we can detect the presence of a console on - // any of the other streams. If another stream has a console, then we know - // we're in a Windows console and can therefore trust the negative. - if unsafe { console_on_any(&others) } { - return false; - } - - // Otherwise, we fall back to a very strange msys hack to see if we can - // sneakily detect the presence of a tty. - unsafe { msys_tty_on(fd) } -} - -/// returns true if this is _not_ a tty -pub fn isnt(stream: Stream) -> bool { - !is(stream) -} - -/// Returns true if any of the given fds are on a console. -#[cfg(windows)] -unsafe fn console_on_any(fds: &[DWORD]) -> bool { - use winapi::um::consoleapi::GetConsoleMode; - use winapi::um::processenv::GetStdHandle; - - for &fd in fds { - let mut out = 0; - let handle = GetStdHandle(fd); - if GetConsoleMode(handle, &mut out) != 0 { - return true; - } - } - false -} - -/// Returns true if there is an MSYS tty on the given handle. -#[cfg(windows)] -unsafe fn msys_tty_on(fd: DWORD) -> bool { - use std::mem; - use std::slice; - - use winapi::ctypes::c_void; - use winapi::um::winbase::GetFileInformationByHandleEx; - use winapi::um::fileapi::FILE_NAME_INFO; - use winapi::um::minwinbase::FileNameInfo; - use winapi::um::processenv::GetStdHandle; - use winapi::shared::minwindef::MAX_PATH; - - let size = mem::size_of::(); - let mut name_info_bytes = vec![0u8; size + MAX_PATH * mem::size_of::()]; - let res = GetFileInformationByHandleEx( - GetStdHandle(fd), - FileNameInfo, - &mut *name_info_bytes as *mut _ as *mut c_void, - name_info_bytes.len() as u32, - ); - if res == 0 { - return false; - } - let name_info: &FILE_NAME_INFO = &*(name_info_bytes.as_ptr() as *const FILE_NAME_INFO); - let s = slice::from_raw_parts( - name_info.FileName.as_ptr(), - name_info.FileNameLength as usize / 2, - ); - let name = String::from_utf16_lossy(s); - // This checks whether 'pty' exists in the file name, which indicates that - // a pseudo-terminal is attached. To mitigate against false positives - // (e.g., an actual file name that contains 'pty'), we also require that - // either the strings 'msys-' or 'cygwin-' are in the file name as well.) - let is_msys = name.contains("msys-") || name.contains("cygwin-"); - let is_pty = name.contains("-pty"); - is_msys && is_pty -} - -/// returns true if this is a tty -#[cfg(target_os = "redox")] -pub fn is(stream: Stream) -> bool { - use std::io; - use termion::is_tty; - - match stream { - Stream::Stdin => is_tty(&io::stdin()), - Stream::Stdout => is_tty(&io::stdout()), - Stream::Stderr => is_tty(&io::stderr()), - } -} - -/// returns true if this is a tty -#[cfg(target_arch = "wasm32")] -pub fn is(_stream: Stream) -> bool { - false -} - -#[cfg(test)] -mod tests { - use super::{Stream, is}; - - #[test] - #[cfg(windows)] - fn is_err() { - // appveyor pipes its output - assert!(!is(Stream::Stderr)) - } - - #[test] - #[cfg(windows)] - fn is_out() { - // appveyor pipes its output - assert!(!is(Stream::Stdout)) - } - - #[test] - #[cfg(windows)] - fn is_in() { - assert!(is(Stream::Stdin)) - } - - #[test] - #[cfg(unix)] - fn is_err() { - assert!(is(Stream::Stderr)) - } - - #[test] - #[cfg(unix)] - fn is_out() { - assert!(is(Stream::Stdout)) - } - - #[test] - #[cfg(target_os = "macos")] - fn is_in() { - // macos on travis seems to pipe its input - assert!(is(Stream::Stdin)) - } - - #[test] - #[cfg(all(not(target_os = "macos"), unix))] - fn is_in() { - assert!(is(Stream::Stdin)) - } -} diff --git a/vendor/registry-40351f815f426200/autocfg/.cargo-checksum.json b/vendor/registry-40351f815f426200/autocfg/.cargo-checksum.json deleted file mode 100644 index 57ed3de85..000000000 --- a/vendor/registry-40351f815f426200/autocfg/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"81919f3285c75199baec182101877463487b46d6b78d27aff5e8c6e0a54fa04c","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"27995d58ad5c1145c1a8cd86244ce844886958a35eb2b78c6b772748669999ac","README.md":"838001be7197cf6b471750ae1b0fdd32612a1eec0de01df59a57e6a282a000ac","examples/integers.rs":"589ff4271566dfa322becddf3e2c7b592e6e0bc97b02892ce75619b7e452e930","examples/paths.rs":"1b30e466b824ce8df7ad0a55334424131d9d2573d6cf9f7d5d50c09c8901d526","examples/traits.rs":"cbee6a3e1f7db60b02ae25b714926517144a77cb492021f492774cf0e1865a9e","examples/versions.rs":"38535e6d9f5bfae0de474a3db79a40e8f5da8ba9334c5ff4c363de9bc99d4d12","src/error.rs":"12de7dafea4a35d1dc2f0fa79bfa038386bbbea72bf083979f4ddf227999eeda","src/lib.rs":"f5fe8ca8ae384685fc82ae85db96ed06a249dc46aa6f5dd6e6ce992d144b3afc","src/tests.rs":"105be895be7c0406203b2ac9f2abc9a9c83b31701efc8b8b9585bc15188da5fe","src/version.rs":"175727d5f02f2fe2271ddc9b041db2a5b9c6fe0f95afd17c73a4d982612764a3"},"package":"0e49efa51329a5fd37e7c79db4621af617cd4e3e5bc224939808d076077077bf"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/autocfg/Cargo.toml b/vendor/registry-40351f815f426200/autocfg/Cargo.toml deleted file mode 100644 index 615328a93..000000000 --- a/vendor/registry-40351f815f426200/autocfg/Cargo.toml +++ /dev/null @@ -1,24 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g., crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "autocfg" -version = "0.1.4" -authors = ["Josh Stone "] -description = "Automatic cfg for Rust compiler features" -readme = "README.md" -keywords = ["rustc", "build", "autoconf"] -categories = ["development-tools::build-utils"] -license = "Apache-2.0/MIT" -repository = "https://github.com/cuviper/autocfg" - -[dependencies] diff --git a/vendor/registry-40351f815f426200/autocfg/LICENSE-APACHE b/vendor/registry-40351f815f426200/autocfg/LICENSE-APACHE deleted file mode 100644 index 16fe87b06..000000000 --- a/vendor/registry-40351f815f426200/autocfg/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/autocfg/LICENSE-MIT b/vendor/registry-40351f815f426200/autocfg/LICENSE-MIT deleted file mode 100644 index 44fbc4d8b..000000000 --- a/vendor/registry-40351f815f426200/autocfg/LICENSE-MIT +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) 2018 Josh Stone - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/autocfg/README.md b/vendor/registry-40351f815f426200/autocfg/README.md deleted file mode 100644 index 90ee63cfe..000000000 --- a/vendor/registry-40351f815f426200/autocfg/README.md +++ /dev/null @@ -1,75 +0,0 @@ -autocfg -======= - -[![autocfg crate](https://img.shields.io/crates/v/autocfg.svg)](https://crates.io/crates/autocfg) -[![autocfg documentation](https://docs.rs/autocfg/badge.svg)](https://docs.rs/autocfg) -![minimum rustc 1.0](https://img.shields.io/badge/rustc-1.0+-red.svg) -[![Travis Status](https://travis-ci.org/cuviper/autocfg.svg?branch=master)](https://travis-ci.org/cuviper/autocfg) - -A Rust library for build scripts to automatically configure code based on -compiler support. Code snippets are dynamically tested to see if the `rustc` -will accept them, rather than hard-coding specific version support. - - -## Usage - -Add this to your `Cargo.toml`: - -```toml -[build-dependencies] -autocfg = "0.1" -``` - -Then use it in your `build.rs` script to detect compiler features. For -example, to test for 128-bit integer support, it might look like: - -```rust -extern crate autocfg; - -fn main() { - let ac = autocfg::new(); - ac.emit_has_type("i128"); - - // (optional) We don't need to rerun for anything external. - autocfg::rerun_path(file!()); -} -``` - -If the type test succeeds, this will write a `cargo:rustc-cfg=has_i128` line -for Cargo, which translates to Rust arguments `--cfg has_i128`. Then in the -rest of your Rust code, you can add `#[cfg(has_i128)]` conditions on code that -should only be used when the compiler supports it. - - -## Release Notes - -- 0.1.4 (2019-05-22) - - Relax `std`/`no_std` probing to a warning instead of an error. - - Improve `rustc` bootstrap compatibility. - -- 0.1.3 (2019-05-21) - - Auto-detects if `#![no_std]` is needed for the `$TARGET` - -- 0.1.2 (2018-01-16) - - Add `rerun_env(ENV)` to print `cargo:rerun-if-env-changed=ENV` - - Add `rerun_path(PATH)` to print `cargo:rerun-if-changed=PATH` - - -## Minimum Rust version policy - -This crate's minimum supported `rustc` version is `1.0.0`. Compatibility is -its entire reason for existence, so this crate will be extremely conservative -about raising this requirement. If this is ever deemed necessary, it will be -treated as a major breaking change for semver purposes. - - -## License - -This project is licensed under either of - - * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or - http://www.apache.org/licenses/LICENSE-2.0) - * MIT license ([LICENSE-MIT](LICENSE-MIT) or - http://opensource.org/licenses/MIT) - -at your option. diff --git a/vendor/registry-40351f815f426200/autocfg/examples/integers.rs b/vendor/registry-40351f815f426200/autocfg/examples/integers.rs deleted file mode 100644 index 23d4cba6e..000000000 --- a/vendor/registry-40351f815f426200/autocfg/examples/integers.rs +++ /dev/null @@ -1,9 +0,0 @@ -extern crate autocfg; - -fn main() { - // Normally, cargo will set `OUT_DIR` for build scripts. - let ac = autocfg::AutoCfg::with_dir("target").unwrap(); - for i in 3..8 { - ac.emit_has_type(&format!("i{}", 1 << i)); - } -} diff --git a/vendor/registry-40351f815f426200/autocfg/examples/paths.rs b/vendor/registry-40351f815f426200/autocfg/examples/paths.rs deleted file mode 100644 index b7a6ca7a2..000000000 --- a/vendor/registry-40351f815f426200/autocfg/examples/paths.rs +++ /dev/null @@ -1,22 +0,0 @@ -extern crate autocfg; - -fn main() { - // Normally, cargo will set `OUT_DIR` for build scripts. - let ac = autocfg::AutoCfg::with_dir("target").unwrap(); - - // since ancient times... - ac.emit_has_path("std::vec::Vec"); - ac.emit_path_cfg("std::vec::Vec", "has_vec"); - - // rustc 1.10.0 - ac.emit_has_path("std::panic::PanicInfo"); - ac.emit_path_cfg("std::panic::PanicInfo", "has_panic_info"); - - // rustc 1.20.0 - ac.emit_has_path("std::mem::ManuallyDrop"); - ac.emit_path_cfg("std::mem::ManuallyDrop", "has_manually_drop"); - - // rustc 1.25.0 - ac.emit_has_path("std::ptr::NonNull"); - ac.emit_path_cfg("std::ptr::NonNull", "has_non_null"); -} diff --git a/vendor/registry-40351f815f426200/autocfg/examples/traits.rs b/vendor/registry-40351f815f426200/autocfg/examples/traits.rs deleted file mode 100644 index c1ca00385..000000000 --- a/vendor/registry-40351f815f426200/autocfg/examples/traits.rs +++ /dev/null @@ -1,26 +0,0 @@ -extern crate autocfg; - -fn main() { - // Normally, cargo will set `OUT_DIR` for build scripts. - let ac = autocfg::AutoCfg::with_dir("target").unwrap(); - - // since ancient times... - ac.emit_has_trait("std::ops::Add"); - ac.emit_trait_cfg("std::ops::Add", "has_ops"); - - // trait parameters have to be provided - ac.emit_has_trait("std::borrow::Borrow"); - ac.emit_trait_cfg("std::borrow::Borrow", "has_borrow"); - - // rustc 1.8.0 - ac.emit_has_trait("std::ops::AddAssign"); - ac.emit_trait_cfg("std::ops::AddAssign", "has_assign_ops"); - - // rustc 1.12.0 - ac.emit_has_trait("std::iter::Sum"); - ac.emit_trait_cfg("std::iter::Sum", "has_sum"); - - // rustc 1.28.0 - ac.emit_has_trait("std::alloc::GlobalAlloc"); - ac.emit_trait_cfg("std::alloc::GlobalAlloc", "has_global_alloc"); -} diff --git a/vendor/registry-40351f815f426200/autocfg/examples/versions.rs b/vendor/registry-40351f815f426200/autocfg/examples/versions.rs deleted file mode 100644 index 992919b7c..000000000 --- a/vendor/registry-40351f815f426200/autocfg/examples/versions.rs +++ /dev/null @@ -1,9 +0,0 @@ -extern crate autocfg; - -fn main() { - // Normally, cargo will set `OUT_DIR` for build scripts. - let ac = autocfg::AutoCfg::with_dir("target").unwrap(); - for i in 0..100 { - ac.emit_rustc_version(1, i); - } -} diff --git a/vendor/registry-40351f815f426200/autocfg/src/error.rs b/vendor/registry-40351f815f426200/autocfg/src/error.rs deleted file mode 100644 index 462483545..000000000 --- a/vendor/registry-40351f815f426200/autocfg/src/error.rs +++ /dev/null @@ -1,69 +0,0 @@ -use std::error; -use std::fmt; -use std::io; -use std::num; -use std::str; - -/// A common error type for the `autocfg` crate. -#[derive(Debug)] -pub struct Error { - kind: ErrorKind, -} - -impl error::Error for Error { - fn description(&self) -> &str { - "AutoCfg error" - } - - fn cause(&self) -> Option<&error::Error> { - match self.kind { - ErrorKind::Io(ref e) => Some(e), - ErrorKind::Num(ref e) => Some(e), - ErrorKind::Utf8(ref e) => Some(e), - ErrorKind::Other(_) => None, - } - } -} - -impl fmt::Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> { - match self.kind { - ErrorKind::Io(ref e) => e.fmt(f), - ErrorKind::Num(ref e) => e.fmt(f), - ErrorKind::Utf8(ref e) => e.fmt(f), - ErrorKind::Other(s) => s.fmt(f), - } - } -} - -#[derive(Debug)] -enum ErrorKind { - Io(io::Error), - Num(num::ParseIntError), - Utf8(str::Utf8Error), - Other(&'static str), -} - -pub fn from_io(e: io::Error) -> Error { - Error { - kind: ErrorKind::Io(e), - } -} - -pub fn from_num(e: num::ParseIntError) -> Error { - Error { - kind: ErrorKind::Num(e), - } -} - -pub fn from_utf8(e: str::Utf8Error) -> Error { - Error { - kind: ErrorKind::Utf8(e), - } -} - -pub fn from_str(s: &'static str) -> Error { - Error { - kind: ErrorKind::Other(s), - } -} diff --git a/vendor/registry-40351f815f426200/autocfg/src/lib.rs b/vendor/registry-40351f815f426200/autocfg/src/lib.rs deleted file mode 100644 index 1461c0c08..000000000 --- a/vendor/registry-40351f815f426200/autocfg/src/lib.rs +++ /dev/null @@ -1,305 +0,0 @@ -//! A Rust library for build scripts to automatically configure code based on -//! compiler support. Code snippets are dynamically tested to see if the `rustc` -//! will accept them, rather than hard-coding specific version support. -//! -//! -//! ## Usage -//! -//! Add this to your `Cargo.toml`: -//! -//! ```toml -//! [build-dependencies] -//! autocfg = "0.1" -//! ``` -//! -//! Then use it in your `build.rs` script to detect compiler features. For -//! example, to test for 128-bit integer support, it might look like: -//! -//! ```rust -//! extern crate autocfg; -//! -//! fn main() { -//! # // Normally, cargo will set `OUT_DIR` for build scripts. -//! # std::env::set_var("OUT_DIR", "target"); -//! let ac = autocfg::new(); -//! ac.emit_has_type("i128"); -//! -//! // (optional) We don't need to rerun for anything external. -//! autocfg::rerun_path(file!()); -//! } -//! ``` -//! -//! If the type test succeeds, this will write a `cargo:rustc-cfg=has_i128` line -//! for Cargo, which translates to Rust arguments `--cfg has_i128`. Then in the -//! rest of your Rust code, you can add `#[cfg(has_i128)]` conditions on code that -//! should only be used when the compiler supports it. - -#![deny(missing_debug_implementations)] -#![deny(missing_docs)] - -use std::env; -use std::ffi::OsString; -use std::fs; -use std::io::{stderr, Write}; -use std::path::PathBuf; -use std::process::{Command, Stdio}; -#[allow(deprecated)] -use std::sync::atomic::ATOMIC_USIZE_INIT; -use std::sync::atomic::{AtomicUsize, Ordering}; - -mod error; -pub use error::Error; - -mod version; -use version::Version; - -#[cfg(test)] -mod tests; - -/// Helper to detect compiler features for `cfg` output in build scripts. -#[derive(Clone, Debug)] -pub struct AutoCfg { - out_dir: PathBuf, - rustc: PathBuf, - rustc_version: Version, - target: Option, - no_std: bool, -} - -/// Writes a config flag for rustc on standard out. -/// -/// This looks like: `cargo:rustc-cfg=CFG` -/// -/// Cargo will use this in arguments to rustc, like `--cfg CFG`. -pub fn emit(cfg: &str) { - println!("cargo:rustc-cfg={}", cfg); -} - -/// Writes a line telling Cargo to rerun the build script if `path` changes. -/// -/// This looks like: `cargo:rerun-if-changed=PATH` -/// -/// This requires at least cargo 0.7.0, corresponding to rustc 1.6.0. Earlier -/// versions of cargo will simply ignore the directive. -pub fn rerun_path(path: &str) { - println!("cargo:rerun-if-changed={}", path); -} - -/// Writes a line telling Cargo to rerun the build script if the environment -/// variable `var` changes. -/// -/// This looks like: `cargo:rerun-if-env-changed=VAR` -/// -/// This requires at least cargo 0.21.0, corresponding to rustc 1.20.0. Earlier -/// versions of cargo will simply ignore the directive. -pub fn rerun_env(var: &str) { - println!("cargo:rerun-if-env-changed={}", var); -} - -/// Create a new `AutoCfg` instance. -/// -/// # Panics -/// -/// Panics if `AutoCfg::new()` returns an error. -pub fn new() -> AutoCfg { - AutoCfg::new().unwrap() -} - -impl AutoCfg { - /// Create a new `AutoCfg` instance. - /// - /// # Common errors - /// - /// - `rustc` can't be executed, from `RUSTC` or in the `PATH`. - /// - The version output from `rustc` can't be parsed. - /// - `OUT_DIR` is not set in the environment, or is not a writable directory. - /// - pub fn new() -> Result { - match env::var_os("OUT_DIR") { - Some(d) => Self::with_dir(d), - None => Err(error::from_str("no OUT_DIR specified!")), - } - } - - /// Create a new `AutoCfg` instance with the specified output directory. - /// - /// # Common errors - /// - /// - `rustc` can't be executed, from `RUSTC` or in the `PATH`. - /// - The version output from `rustc` can't be parsed. - /// - `dir` is not a writable directory. - /// - pub fn with_dir>(dir: T) -> Result { - let rustc = env::var_os("RUSTC").unwrap_or_else(|| "rustc".into()); - let rustc: PathBuf = rustc.into(); - let rustc_version = try!(Version::from_rustc(&rustc)); - - // Sanity check the output directory - let dir = dir.into(); - let meta = try!(fs::metadata(&dir).map_err(error::from_io)); - if !meta.is_dir() || meta.permissions().readonly() { - return Err(error::from_str("output path is not a writable directory")); - } - - let mut ac = AutoCfg { - out_dir: dir, - rustc: rustc, - rustc_version: rustc_version, - target: env::var_os("TARGET"), - no_std: false, - }; - - // Sanity check with and without `std`. - if !ac.probe("").unwrap_or(false) { - ac.no_std = true; - if !ac.probe("").unwrap_or(false) { - // Neither worked, so assume nothing... - ac.no_std = false; - let warning = b"warning: autocfg could not probe for `std`\n"; - stderr().write_all(warning).ok(); - } - } - Ok(ac) - } - - /// Test whether the current `rustc` reports a version greater than - /// or equal to "`major`.`minor`". - pub fn probe_rustc_version(&self, major: usize, minor: usize) -> bool { - self.rustc_version >= Version::new(major, minor, 0) - } - - /// Sets a `cfg` value of the form `rustc_major_minor`, like `rustc_1_29`, - /// if the current `rustc` is at least that version. - pub fn emit_rustc_version(&self, major: usize, minor: usize) { - if self.probe_rustc_version(major, minor) { - emit(&format!("rustc_{}_{}", major, minor)); - } - } - - fn probe>(&self, code: T) -> Result { - #[allow(deprecated)] - static ID: AtomicUsize = ATOMIC_USIZE_INIT; - - let id = ID.fetch_add(1, Ordering::Relaxed); - let mut command = Command::new(&self.rustc); - command - .arg("--crate-name") - .arg(format!("probe{}", id)) - .arg("--crate-type=lib") - .arg("--out-dir") - .arg(&self.out_dir) - .arg("--emit=llvm-ir"); - - if let Some(target) = self.target.as_ref() { - command.arg("--target").arg(target); - } - - command.arg("-").stdin(Stdio::piped()); - let mut child = try!(command.spawn().map_err(error::from_io)); - let mut stdin = child.stdin.take().expect("rustc stdin"); - - if self.no_std { - try!(stdin.write_all(b"#![no_std]\n").map_err(error::from_io)); - } - try!(stdin.write_all(code.as_ref()).map_err(error::from_io)); - drop(stdin); - - let status = try!(child.wait().map_err(error::from_io)); - Ok(status.success()) - } - - /// Tests whether the given path can be used. - /// - /// The test code is subject to change, but currently looks like: - /// - /// ```ignore - /// pub use PATH; - /// ``` - pub fn probe_path(&self, path: &str) -> bool { - self.probe(format!("pub use {};", path)).unwrap_or(false) - } - - /// Emits a config value `has_PATH` if `probe_path` returns true. - /// - /// Any non-identifier characters in the `path` will be replaced with - /// `_` in the generated config value. - pub fn emit_has_path(&self, path: &str) { - if self.probe_path(path) { - emit(&format!("has_{}", mangle(path))); - } - } - - /// Emits the given `cfg` value if `probe_path` returns true. - pub fn emit_path_cfg(&self, path: &str, cfg: &str) { - if self.probe_path(path) { - emit(cfg); - } - } - - /// Tests whether the given trait can be used. - /// - /// The test code is subject to change, but currently looks like: - /// - /// ```ignore - /// pub trait Probe: TRAIT + Sized {} - /// ``` - pub fn probe_trait(&self, name: &str) -> bool { - self.probe(format!("pub trait Probe: {} + Sized {{}}", name)) - .unwrap_or(false) - } - - /// Emits a config value `has_TRAIT` if `probe_trait` returns true. - /// - /// Any non-identifier characters in the trait `name` will be replaced with - /// `_` in the generated config value. - pub fn emit_has_trait(&self, name: &str) { - if self.probe_trait(name) { - emit(&format!("has_{}", mangle(name))); - } - } - - /// Emits the given `cfg` value if `probe_trait` returns true. - pub fn emit_trait_cfg(&self, name: &str, cfg: &str) { - if self.probe_trait(name) { - emit(cfg); - } - } - - /// Tests whether the given type can be used. - /// - /// The test code is subject to change, but currently looks like: - /// - /// ```ignore - /// pub type Probe = TYPE; - /// ``` - pub fn probe_type(&self, name: &str) -> bool { - self.probe(format!("pub type Probe = {};", name)) - .unwrap_or(false) - } - - /// Emits a config value `has_TYPE` if `probe_type` returns true. - /// - /// Any non-identifier characters in the type `name` will be replaced with - /// `_` in the generated config value. - pub fn emit_has_type(&self, name: &str) { - if self.probe_type(name) { - emit(&format!("has_{}", mangle(name))); - } - } - - /// Emits the given `cfg` value if `probe_type` returns true. - pub fn emit_type_cfg(&self, name: &str, cfg: &str) { - if self.probe_type(name) { - emit(cfg); - } - } -} - -fn mangle(s: &str) -> String { - s.chars() - .map(|c| match c { - 'A'...'Z' | 'a'...'z' | '0'...'9' => c, - _ => '_', - }) - .collect() -} diff --git a/vendor/registry-40351f815f426200/autocfg/src/tests.rs b/vendor/registry-40351f815f426200/autocfg/src/tests.rs deleted file mode 100644 index f22e0e045..000000000 --- a/vendor/registry-40351f815f426200/autocfg/src/tests.rs +++ /dev/null @@ -1,65 +0,0 @@ -use super::AutoCfg; - -#[test] -fn autocfg_version() { - let ac = AutoCfg::with_dir("target").unwrap(); - println!("version: {:?}", ac.rustc_version); - assert!(ac.probe_rustc_version(1, 0)); -} - -#[test] -fn version_cmp() { - use super::version::Version; - let v123 = Version::new(1, 2, 3); - - assert!(Version::new(1, 0, 0) < v123); - assert!(Version::new(1, 2, 2) < v123); - assert!(Version::new(1, 2, 3) == v123); - assert!(Version::new(1, 2, 4) > v123); - assert!(Version::new(1, 10, 0) > v123); - assert!(Version::new(2, 0, 0) > v123); -} - -#[test] -fn probe_add() { - let ac = AutoCfg::with_dir("target").unwrap(); - assert!(ac.probe_path("std::ops::Add")); - assert!(ac.probe_trait("std::ops::Add")); - assert!(ac.probe_trait("std::ops::Add")); - assert!(ac.probe_trait("std::ops::Add")); - assert!(ac.probe_type("std::ops::Add")); -} - -#[test] -fn probe_as_ref() { - let ac = AutoCfg::with_dir("target").unwrap(); - assert!(ac.probe_path("std::convert::AsRef")); - assert!(ac.probe_trait("std::convert::AsRef")); - assert!(ac.probe_type("std::convert::AsRef")); -} - -#[test] -fn probe_i128() { - let ac = AutoCfg::with_dir("target").unwrap(); - let missing = !ac.probe_rustc_version(1, 26); - assert!(missing ^ ac.probe_path("std::i128")); - assert!(missing ^ ac.probe_type("i128")); -} - -#[test] -fn probe_sum() { - let ac = AutoCfg::with_dir("target").unwrap(); - let missing = !ac.probe_rustc_version(1, 12); - assert!(missing ^ ac.probe_path("std::iter::Sum")); - assert!(missing ^ ac.probe_trait("std::iter::Sum")); - assert!(missing ^ ac.probe_trait("std::iter::Sum")); - assert!(missing ^ ac.probe_type("std::iter::Sum")); -} - -#[test] -fn probe_no_std() { - let ac = AutoCfg::with_dir("target").unwrap(); - assert!(ac.probe_type("i32")); - assert!(ac.probe_type("[i32]")); - assert_eq!(ac.probe_type("Vec"), !ac.no_std); -} diff --git a/vendor/registry-40351f815f426200/autocfg/src/version.rs b/vendor/registry-40351f815f426200/autocfg/src/version.rs deleted file mode 100644 index 378c21e61..000000000 --- a/vendor/registry-40351f815f426200/autocfg/src/version.rs +++ /dev/null @@ -1,60 +0,0 @@ -use std::path::Path; -use std::process::Command; -use std::str; - -use super::{error, Error}; - -/// A version structure for making relative comparisons. -#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord)] -pub struct Version { - major: usize, - minor: usize, - patch: usize, -} - -impl Version { - /// Creates a `Version` instance for a specific `major.minor.patch` version. - pub fn new(major: usize, minor: usize, patch: usize) -> Self { - Version { - major: major, - minor: minor, - patch: patch, - } - } - - pub fn from_rustc(rustc: &Path) -> Result { - // Get rustc's verbose version - let output = try!(Command::new(rustc) - .args(&["--version", "--verbose"]) - .output() - .map_err(error::from_io)); - if !output.status.success() { - return Err(error::from_str("could not execute rustc")); - } - let output = try!(str::from_utf8(&output.stdout).map_err(error::from_utf8)); - - // Find the release line in the verbose version output. - let release = match output.lines().find(|line| line.starts_with("release: ")) { - Some(line) => &line["release: ".len()..], - None => return Err(error::from_str("could not find rustc release")), - }; - - // Strip off any extra channel info, e.g. "-beta.N", "-nightly" - let version = match release.find('-') { - Some(i) => &release[..i], - None => release, - }; - - // Split the version into semver components. - let mut iter = version.splitn(3, '.'); - let major = try!(iter.next().ok_or(error::from_str("missing major version"))); - let minor = try!(iter.next().ok_or(error::from_str("missing minor version"))); - let patch = try!(iter.next().ok_or(error::from_str("missing patch version"))); - - Ok(Version::new( - try!(major.parse().map_err(error::from_num)), - try!(minor.parse().map_err(error::from_num)), - try!(patch.parse().map_err(error::from_num)), - )) - } -} diff --git a/vendor/registry-40351f815f426200/bitflags-0.9.1/.cargo-checksum.json b/vendor/registry-40351f815f426200/bitflags-0.9.1/.cargo-checksum.json deleted file mode 100644 index 362611679..000000000 --- a/vendor/registry-40351f815f426200/bitflags-0.9.1/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"f35826eec96c765ae8aee4f8a66c6b3cb0d918b49935baf05bae79b6df8e1077","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"602c63819e332e93c85dc8426db4855f18fe0fabbd642c5b2303ed83f1ba926f","src/example_generated.rs":"161b69d92cf6e5fa4b5dc30f06031f3a0fb590b44be2bcf0f31cb8be4fab36fa","src/lib.rs":"56e86a16356d9322fa6b4e9b910041e2e7558c08b52ffbdacc647eba36b37abc","tests/conflicting_trait_impls.rs":"79993ea67ef09a5f99fddd69d8b73b1c137e41d0e8f8535f03865d6766dcc498","tests/external.rs":"15f7901698e286197666ccd309ad1debd3c35eaff680ca090368494e8b06ccf2","tests/external_no_std.rs":"c3556fd19dd91d1b093eb6a65d09a9d0985544f0377ba3d30c0e265c956f7237","tests/i128_bitflags.rs":"c955ef2c9fd385848195bb416e660e946ccbe59acc87862ef2646eb082d82e3f"},"package":"4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/bitflags-0.9.1/Cargo.toml b/vendor/registry-40351f815f426200/bitflags-0.9.1/Cargo.toml deleted file mode 100644 index 8ac9adbfc..000000000 --- a/vendor/registry-40351f815f426200/bitflags-0.9.1/Cargo.toml +++ /dev/null @@ -1,31 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "bitflags" -version = "0.9.1" -authors = ["The Rust Project Developers"] -description = "A macro to generate structures which behave like bitflags.\n" -homepage = "https://github.com/rust-lang-nursery/bitflags" -documentation = "https://docs.rs/bitflags" -readme = "README.md" -keywords = ["bit", "bitmask", "bitflags"] -categories = ["no-std"] -license = "MIT/Apache-2.0" -repository = "https://github.com/rust-lang-nursery/bitflags" - -[features] -example_generated = [] -unstable_testing = [] -default = ["example_generated"] -[badges.travis-ci] -repository = "rust-lang-nursery/bitflags" diff --git a/vendor/registry-40351f815f426200/bitflags-0.9.1/LICENSE-APACHE b/vendor/registry-40351f815f426200/bitflags-0.9.1/LICENSE-APACHE deleted file mode 100644 index 16fe87b06..000000000 --- a/vendor/registry-40351f815f426200/bitflags-0.9.1/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/bitflags-0.9.1/LICENSE-MIT b/vendor/registry-40351f815f426200/bitflags-0.9.1/LICENSE-MIT deleted file mode 100644 index 39d4bdb5a..000000000 --- a/vendor/registry-40351f815f426200/bitflags-0.9.1/LICENSE-MIT +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) 2014 The Rust Project Developers - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/bitflags-0.9.1/README.md b/vendor/registry-40351f815f426200/bitflags-0.9.1/README.md deleted file mode 100644 index 714ca9d9e..000000000 --- a/vendor/registry-40351f815f426200/bitflags-0.9.1/README.md +++ /dev/null @@ -1,24 +0,0 @@ -bitflags -======== - -A Rust macro to generate structures which behave like a set of bitflags - -[![Build Status](https://travis-ci.org/rust-lang-nursery/bitflags.svg?branch=master)](https://travis-ci.org/rust-lang-nursery/bitflags) - -[Documentation](https://docs.rs/bitflags) - -## Usage - -Add this to your `Cargo.toml`: - -```toml -[dependencies] -bitflags = "0.9" -``` - -and this to your crate root: - -```rust -#[macro_use] -extern crate bitflags; -``` diff --git a/vendor/registry-40351f815f426200/bitflags-0.9.1/src/example_generated.rs b/vendor/registry-40351f815f426200/bitflags-0.9.1/src/example_generated.rs deleted file mode 100644 index 05b99e8f0..000000000 --- a/vendor/registry-40351f815f426200/bitflags-0.9.1/src/example_generated.rs +++ /dev/null @@ -1,16 +0,0 @@ -//! This module shows an example of code generated by the macro. **IT MUST NOT BE USED OUTSIDE THIS -//! CRATE**. - -bitflags! { - /// This is the same `Flags` struct defined in the [crate level example](../index.html#example). - /// Note that this struct is just for documentation purposes only, it must not be used outside - /// this crate. - pub struct Flags: u32 { - const FLAG_A = 0b00000001; - const FLAG_B = 0b00000010; - const FLAG_C = 0b00000100; - const FLAG_ABC = FLAG_A.bits - | FLAG_B.bits - | FLAG_C.bits; - } -} diff --git a/vendor/registry-40351f815f426200/bitflags-0.9.1/src/lib.rs b/vendor/registry-40351f815f426200/bitflags-0.9.1/src/lib.rs deleted file mode 100644 index 5840643a8..000000000 --- a/vendor/registry-40351f815f426200/bitflags-0.9.1/src/lib.rs +++ /dev/null @@ -1,990 +0,0 @@ -// Copyright 2014 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! A typesafe bitmask flag generator useful for sets of C-style bitmask flags. -//! It can be used for creating typesafe wrappers around C APIs. -//! -//! The `bitflags!` macro generates a `struct` that manages a set of flags. The -//! flags should only be defined for integer types, otherwise unexpected type -//! errors may occur at compile time. -//! -//! # Example -//! -//! ``` -//! #[macro_use] -//! extern crate bitflags; -//! -//! bitflags! { -//! struct Flags: u32 { -//! const FLAG_A = 0b00000001; -//! const FLAG_B = 0b00000010; -//! const FLAG_C = 0b00000100; -//! const FLAG_ABC = FLAG_A.bits -//! | FLAG_B.bits -//! | FLAG_C.bits; -//! } -//! } -//! -//! fn main() { -//! let e1 = FLAG_A | FLAG_C; -//! let e2 = FLAG_B | FLAG_C; -//! assert_eq!((e1 | e2), FLAG_ABC); // union -//! assert_eq!((e1 & e2), FLAG_C); // intersection -//! assert_eq!((e1 - e2), FLAG_A); // set difference -//! assert_eq!(!e2, FLAG_A); // set complement -//! } -//! ``` -//! -//! See [`example_generated::Flags`](./example_generated/struct.Flags.html) for documentation of code -//! generated by the above `bitflags!` expansion. -//! -//! The generated `struct`s can also be extended with type and trait -//! implementations: -//! -//! ``` -//! #[macro_use] -//! extern crate bitflags; -//! -//! use std::fmt; -//! -//! bitflags! { -//! struct Flags: u32 { -//! const FLAG_A = 0b00000001; -//! const FLAG_B = 0b00000010; -//! } -//! } -//! -//! impl Flags { -//! pub fn clear(&mut self) { -//! self.bits = 0; // The `bits` field can be accessed from within the -//! // same module where the `bitflags!` macro was invoked. -//! } -//! } -//! -//! impl fmt::Display for Flags { -//! fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { -//! write!(f, "hi!") -//! } -//! } -//! -//! fn main() { -//! let mut flags = FLAG_A | FLAG_B; -//! flags.clear(); -//! assert!(flags.is_empty()); -//! assert_eq!(format!("{}", flags), "hi!"); -//! assert_eq!(format!("{:?}", FLAG_A | FLAG_B), "FLAG_A | FLAG_B"); -//! assert_eq!(format!("{:?}", FLAG_B), "FLAG_B"); -//! } -//! ``` -//! -//! # Visibility -//! -//! The generated struct and its associated flag constants are not exported -//! out of the current module by default. A definition can be exported out of -//! the current module by adding `pub` before `flags`: -//! -//! ```ignore -//! #[macro_use] -//! extern crate bitflags; -//! -//! mod example { -//! bitflags! { -//! pub struct Flags1: u32 { -//! const FLAG_A = 0b00000001; -//! } -//! } -//! bitflags! { -//! struct Flags2: u32 { -//! const FLAG_B = 0b00000010; -//! } -//! } -//! } -//! -//! fn main() { -//! let flag1 = example::FLAG_A; -//! let flag2 = example::FLAG_B; // error: const `FLAG_B` is private -//! } -//! ``` -//! -//! # Attributes -//! -//! Attributes can be attached to the generated `struct` by placing them -//! before the `flags` keyword. -//! -//! # Trait implementations -//! -//! The `Copy`, `Clone`, `PartialEq`, `Eq`, `PartialOrd`, `Ord` and `Hash` -//! traits automatically derived for the `struct` using the `derive` attribute. -//! Additional traits can be derived by providing an explicit `derive` -//! attribute on `flags`. -//! -//! The `Extend` and `FromIterator` traits are implemented for the `struct`, -//! too: `Extend` adds the union of the instances of the `struct` iterated over, -//! while `FromIterator` calculates the union. -//! -//! The `Binary`, `Debug`, `LowerExp`, `Octal` and `UpperExp` trait is also -//! implemented by displaying the bits value of the internal struct. -//! -//! ## Operators -//! -//! The following operator traits are implemented for the generated `struct`: -//! -//! - `BitOr` and `BitOrAssign`: union -//! - `BitAnd` and `BitAndAssign`: intersection -//! - `BitXor` and `BitXorAssign`: toggle -//! - `Sub` and `SubAssign`: set difference -//! - `Not`: set complement -//! -//! # Methods -//! -//! The following methods are defined for the generated `struct`: -//! -//! - `empty`: an empty set of flags -//! - `all`: the set of all flags -//! - `bits`: the raw value of the flags currently stored -//! - `from_bits`: convert from underlying bit representation, unless that -//! representation contains bits that do not correspond to a flag -//! - `from_bits_truncate`: convert from underlying bit representation, dropping -//! any bits that do not correspond to flags -//! - `is_empty`: `true` if no flags are currently stored -//! - `is_all`: `true` if all flags are currently set -//! - `intersects`: `true` if there are flags common to both `self` and `other` -//! - `contains`: `true` all of the flags in `other` are contained within `self` -//! - `insert`: inserts the specified flags in-place -//! - `remove`: removes the specified flags in-place -//! - `toggle`: the specified flags will be inserted if not present, and removed -//! if they are. -//! -//! ## Default -//! -//! The `Default` trait is not automatically implemented for the generated struct. -//! -//! If your default value is equal to `0` (which is the same value as calling `empty()` -//! on the generated struct), you can simply derive `Default`: -//! -//! ``` -//! #[macro_use] -//! extern crate bitflags; -//! -//! bitflags! { -//! // Results in default value with bits: 0 -//! #[derive(Default)] -//! struct Flags: u32 { -//! const FLAG_A = 0b00000001; -//! const FLAG_B = 0b00000010; -//! const FLAG_C = 0b00000100; -//! } -//! } -//! -//! fn main() { -//! let derived_default: Flags = Default::default(); -//! assert_eq!(derived_default.bits(), 0); -//! } -//! ``` -//! -//! If your default value is not equal to `0` you need to implement `Default` yourself: -//! -//! ``` -//! #[macro_use] -//! extern crate bitflags; -//! -//! bitflags! { -//! struct Flags: u32 { -//! const FLAG_A = 0b00000001; -//! const FLAG_B = 0b00000010; -//! const FLAG_C = 0b00000100; -//! } -//! } -//! -//! // explicit `Default` implementation -//! impl Default for Flags { -//! fn default() -> Flags { -//! FLAG_A | FLAG_C -//! } -//! } -//! -//! fn main() { -//! let implemented_default: Flags = Default::default(); -//! assert_eq!(implemented_default, (FLAG_A | FLAG_C)); -//! } -//! ``` - -#![no_std] - -#![doc(html_root_url = "https://docs.rs/bitflags/0.9.1")] -// When compiled for the rustc compiler itself we want to make sure that this is -// an unstable crate. -#![cfg_attr(rustbuild, feature(staged_api))] -#![cfg_attr(rustbuild, unstable(feature = "rustc_private", issue = "27812"))] - -#[cfg(test)] -#[macro_use] -extern crate std; - -// Re-export libstd/libcore using an alias so that the macros can work in no_std -// crates while remaining compatible with normal crates. -#[doc(hidden)] -pub extern crate core as _core; - -/// The macro used to generate the flag structure. -/// -/// See the [crate level docs](../bitflags/index.html) for complete documentation. -/// -/// # Example -/// -/// ``` -/// #[macro_use] -/// extern crate bitflags; -/// -/// bitflags! { -/// struct Flags: u32 { -/// const FLAG_A = 0b00000001; -/// const FLAG_B = 0b00000010; -/// const FLAG_C = 0b00000100; -/// const FLAG_ABC = FLAG_A.bits -/// | FLAG_B.bits -/// | FLAG_C.bits; -/// } -/// } -/// -/// fn main() { -/// let e1 = FLAG_A | FLAG_C; -/// let e2 = FLAG_B | FLAG_C; -/// assert_eq!((e1 | e2), FLAG_ABC); // union -/// assert_eq!((e1 & e2), FLAG_C); // intersection -/// assert_eq!((e1 - e2), FLAG_A); // set difference -/// assert_eq!(!e2, FLAG_A); // set complement -/// } -/// ``` -/// -/// The generated `struct`s can also be extended with type and trait -/// implementations: -/// -/// ``` -/// #[macro_use] -/// extern crate bitflags; -/// -/// use std::fmt; -/// -/// bitflags! { -/// struct Flags: u32 { -/// const FLAG_A = 0b00000001; -/// const FLAG_B = 0b00000010; -/// } -/// } -/// -/// impl Flags { -/// pub fn clear(&mut self) { -/// self.bits = 0; // The `bits` field can be accessed from within the -/// // same module where the `bitflags!` macro was invoked. -/// } -/// } -/// -/// impl fmt::Display for Flags { -/// fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { -/// write!(f, "hi!") -/// } -/// } -/// -/// fn main() { -/// let mut flags = FLAG_A | FLAG_B; -/// flags.clear(); -/// assert!(flags.is_empty()); -/// assert_eq!(format!("{}", flags), "hi!"); -/// assert_eq!(format!("{:?}", FLAG_A | FLAG_B), "FLAG_A | FLAG_B"); -/// assert_eq!(format!("{:?}", FLAG_B), "FLAG_B"); -/// } -/// ``` -#[macro_export] -macro_rules! bitflags { - ($(#[$attr:meta])* pub struct $BitFlags:ident: $T:ty { - $($(#[$Flag_attr:meta])* const $Flag:ident = $value:expr;)+ - }) => { - #[derive(Copy, PartialEq, Eq, Clone, PartialOrd, Ord, Hash)] - $(#[$attr])* - pub struct $BitFlags { - bits: $T, - } - - $($(#[$Flag_attr])* pub const $Flag: $BitFlags = $BitFlags { bits: $value };)+ - - __impl_bitflags! { - struct $BitFlags: $T { - $($(#[$Flag_attr])* const $Flag = $value;)+ - } - } - }; - ($(#[$attr:meta])* struct $BitFlags:ident: $T:ty { - $($(#[$Flag_attr:meta])* const $Flag:ident = $value:expr;)+ - }) => { - #[derive(Copy, PartialEq, Eq, Clone, PartialOrd, Ord, Hash)] - $(#[$attr])* - struct $BitFlags { - bits: $T, - } - - $($(#[$Flag_attr])* const $Flag: $BitFlags = $BitFlags { bits: $value };)+ - - __impl_bitflags! { - struct $BitFlags: $T { - $($(#[$Flag_attr])* const $Flag = $value;)+ - } - } - - }; -} - -#[macro_export] -#[doc(hidden)] -macro_rules! __impl_bitflags { - (struct $BitFlags:ident: $T:ty { - $($(#[$Flag_attr:meta])* const $Flag:ident = $value:expr;)+ - }) => { - impl $crate::_core::fmt::Debug for $BitFlags { - fn fmt(&self, f: &mut $crate::_core::fmt::Formatter) -> $crate::_core::fmt::Result { - // This convoluted approach is to handle #[cfg]-based flag - // omission correctly. For example it needs to support: - // - // #[cfg(unix)] const A: Flag = /* ... */; - // #[cfg(windows)] const B: Flag = /* ... */; - - // Unconditionally define a check for every flag, even disabled - // ones. - #[allow(non_snake_case)] - trait __BitFlags { - $( - fn $Flag(&self) -> bool { false } - )+ - } - - // Conditionally override the check for just those flags that - // are not #[cfg]ed away. - impl __BitFlags for $BitFlags { - $( - $(#[$Flag_attr])* - fn $Flag(&self) -> bool { - self.bits & $Flag.bits == $Flag.bits - } - )+ - } - - let mut first = true; - $( - if <$BitFlags as __BitFlags>::$Flag(self) { - if !first { - try!(f.write_str(" | ")); - } - first = false; - try!(f.write_str(stringify!($Flag))); - } - )+ - if first { - try!(f.write_str("(empty)")); - } - Ok(()) - } - } - impl $crate::_core::fmt::Binary for $BitFlags { - fn fmt(&self, f: &mut $crate::_core::fmt::Formatter) -> $crate::_core::fmt::Result { - $crate::_core::fmt::Binary::fmt(&self.bits, f) - } - } - impl $crate::_core::fmt::Octal for $BitFlags { - fn fmt(&self, f: &mut $crate::_core::fmt::Formatter) -> $crate::_core::fmt::Result { - $crate::_core::fmt::Octal::fmt(&self.bits, f) - } - } - impl $crate::_core::fmt::LowerHex for $BitFlags { - fn fmt(&self, f: &mut $crate::_core::fmt::Formatter) -> $crate::_core::fmt::Result { - $crate::_core::fmt::LowerHex::fmt(&self.bits, f) - } - } - impl $crate::_core::fmt::UpperHex for $BitFlags { - fn fmt(&self, f: &mut $crate::_core::fmt::Formatter) -> $crate::_core::fmt::Result { - $crate::_core::fmt::UpperHex::fmt(&self.bits, f) - } - } - - #[allow(dead_code)] - impl $BitFlags { - /// Returns an empty set of flags. - #[inline] - pub fn empty() -> $BitFlags { - $BitFlags { bits: 0 } - } - - /// Returns the set containing all flags. - #[inline] - pub fn all() -> $BitFlags { - // See `Debug::fmt` for why this approach is taken. - #[allow(non_snake_case)] - trait __BitFlags { - $( - fn $Flag() -> $T { 0 } - )+ - } - impl __BitFlags for $BitFlags { - $( - $(#[$Flag_attr])* - fn $Flag() -> $T { $Flag.bits } - )+ - } - $BitFlags { bits: $(<$BitFlags as __BitFlags>::$Flag())|+ } - } - - /// Returns the raw value of the flags currently stored. - #[inline] - pub fn bits(&self) -> $T { - self.bits - } - - /// Convert from underlying bit representation, unless that - /// representation contains bits that do not correspond to a flag. - #[inline] - pub fn from_bits(bits: $T) -> $crate::_core::option::Option<$BitFlags> { - if (bits & !$BitFlags::all().bits()) == 0 { - $crate::_core::option::Option::Some($BitFlags { bits: bits }) - } else { - $crate::_core::option::Option::None - } - } - - /// Convert from underlying bit representation, dropping any bits - /// that do not correspond to flags. - #[inline] - pub fn from_bits_truncate(bits: $T) -> $BitFlags { - $BitFlags { bits: bits } & $BitFlags::all() - } - - /// Returns `true` if no flags are currently stored. - #[inline] - pub fn is_empty(&self) -> bool { - *self == $BitFlags::empty() - } - - /// Returns `true` if all flags are currently set. - #[inline] - pub fn is_all(&self) -> bool { - *self == $BitFlags::all() - } - - /// Returns `true` if there are flags common to both `self` and `other`. - #[inline] - pub fn intersects(&self, other: $BitFlags) -> bool { - !(*self & other).is_empty() - } - - /// Returns `true` all of the flags in `other` are contained within `self`. - #[inline] - pub fn contains(&self, other: $BitFlags) -> bool { - (*self & other) == other - } - - /// Inserts the specified flags in-place. - #[inline] - pub fn insert(&mut self, other: $BitFlags) { - self.bits |= other.bits; - } - - /// Removes the specified flags in-place. - #[inline] - pub fn remove(&mut self, other: $BitFlags) { - self.bits &= !other.bits; - } - - /// Toggles the specified flags in-place. - #[inline] - pub fn toggle(&mut self, other: $BitFlags) { - self.bits ^= other.bits; - } - - /// Inserts or removes the specified flags depending on the passed value. - #[inline] - pub fn set(&mut self, other: $BitFlags, value: bool) { - if value { - self.insert(other); - } else { - self.remove(other); - } - } - } - - impl $crate::_core::ops::BitOr for $BitFlags { - type Output = $BitFlags; - - /// Returns the union of the two sets of flags. - #[inline] - fn bitor(self, other: $BitFlags) -> $BitFlags { - $BitFlags { bits: self.bits | other.bits } - } - } - - impl $crate::_core::ops::BitOrAssign for $BitFlags { - - /// Adds the set of flags. - #[inline] - fn bitor_assign(&mut self, other: $BitFlags) { - self.bits |= other.bits; - } - } - - impl $crate::_core::ops::BitXor for $BitFlags { - type Output = $BitFlags; - - /// Returns the left flags, but with all the right flags toggled. - #[inline] - fn bitxor(self, other: $BitFlags) -> $BitFlags { - $BitFlags { bits: self.bits ^ other.bits } - } - } - - impl $crate::_core::ops::BitXorAssign for $BitFlags { - - /// Toggles the set of flags. - #[inline] - fn bitxor_assign(&mut self, other: $BitFlags) { - self.bits ^= other.bits; - } - } - - impl $crate::_core::ops::BitAnd for $BitFlags { - type Output = $BitFlags; - - /// Returns the intersection between the two sets of flags. - #[inline] - fn bitand(self, other: $BitFlags) -> $BitFlags { - $BitFlags { bits: self.bits & other.bits } - } - } - - impl $crate::_core::ops::BitAndAssign for $BitFlags { - - /// Disables all flags disabled in the set. - #[inline] - fn bitand_assign(&mut self, other: $BitFlags) { - self.bits &= other.bits; - } - } - - impl $crate::_core::ops::Sub for $BitFlags { - type Output = $BitFlags; - - /// Returns the set difference of the two sets of flags. - #[inline] - fn sub(self, other: $BitFlags) -> $BitFlags { - $BitFlags { bits: self.bits & !other.bits } - } - } - - impl $crate::_core::ops::SubAssign for $BitFlags { - - /// Disables all flags enabled in the set. - #[inline] - fn sub_assign(&mut self, other: $BitFlags) { - self.bits &= !other.bits; - } - } - - impl $crate::_core::ops::Not for $BitFlags { - type Output = $BitFlags; - - /// Returns the complement of this set of flags. - #[inline] - fn not(self) -> $BitFlags { - $BitFlags { bits: !self.bits } & $BitFlags::all() - } - } - - impl $crate::_core::iter::Extend<$BitFlags> for $BitFlags { - fn extend>(&mut self, iterator: T) { - for item in iterator { - self.insert(item) - } - } - } - - impl $crate::_core::iter::FromIterator<$BitFlags> for $BitFlags { - fn from_iter>(iterator: T) -> $BitFlags { - let mut result = Self::empty(); - result.extend(iterator); - result - } - } - }; -} - -#[cfg(feature = "example_generated")] -pub mod example_generated; - -#[cfg(test)] -#[allow(non_upper_case_globals, dead_code)] -mod tests { - use std::hash::{Hash, Hasher}; - use std::collections::hash_map::DefaultHasher; - - bitflags! { - #[doc = "> The first principle is that you must not fool yourself — and"] - #[doc = "> you are the easiest person to fool."] - #[doc = "> "] - #[doc = "> - Richard Feynman"] - struct Flags: u32 { - const FlagA = 0b00000001; - #[doc = " macros are way better at generating code than trans is"] - const FlagB = 0b00000010; - const FlagC = 0b00000100; - #[doc = "* cmr bed"] - #[doc = "* strcat table"] - #[doc = " wait what?"] - const FlagABC = FlagA.bits - | FlagB.bits - | FlagC.bits; - } - } - - bitflags! { - struct _CfgFlags: u32 { - #[cfg(windows)] - const _CfgA = 0b01; - #[cfg(unix)] - const _CfgB = 0b01; - #[cfg(windows)] - const _CfgC = _CfgA.bits | 0b10; - } - } - - bitflags! { - struct AnotherSetOfFlags: i8 { - const AnotherFlag = -1_i8; - } - } - - bitflags! { - struct LongFlags: u32 { - const LongFlagA = 0b1111111111111111; - } - } - - #[test] - fn test_bits(){ - assert_eq!(Flags::empty().bits(), 0b00000000); - assert_eq!(FlagA.bits(), 0b00000001); - assert_eq!(FlagABC.bits(), 0b00000111); - - assert_eq!(AnotherSetOfFlags::empty().bits(), 0b00); - assert_eq!(AnotherFlag.bits(), !0_i8); - } - - #[test] - fn test_from_bits() { - assert_eq!(Flags::from_bits(0), Some(Flags::empty())); - assert_eq!(Flags::from_bits(0b1), Some(FlagA)); - assert_eq!(Flags::from_bits(0b10), Some(FlagB)); - assert_eq!(Flags::from_bits(0b11), Some(FlagA | FlagB)); - assert_eq!(Flags::from_bits(0b1000), None); - - assert_eq!(AnotherSetOfFlags::from_bits(!0_i8), Some(AnotherFlag)); - } - - #[test] - fn test_from_bits_truncate() { - assert_eq!(Flags::from_bits_truncate(0), Flags::empty()); - assert_eq!(Flags::from_bits_truncate(0b1), FlagA); - assert_eq!(Flags::from_bits_truncate(0b10), FlagB); - assert_eq!(Flags::from_bits_truncate(0b11), (FlagA | FlagB)); - assert_eq!(Flags::from_bits_truncate(0b1000), Flags::empty()); - assert_eq!(Flags::from_bits_truncate(0b1001), FlagA); - - assert_eq!(AnotherSetOfFlags::from_bits_truncate(0_i8), AnotherSetOfFlags::empty()); - } - - #[test] - fn test_is_empty(){ - assert!(Flags::empty().is_empty()); - assert!(!FlagA.is_empty()); - assert!(!FlagABC.is_empty()); - - assert!(!AnotherFlag.is_empty()); - } - - #[test] - fn test_is_all() { - assert!(Flags::all().is_all()); - assert!(!FlagA.is_all()); - assert!(FlagABC.is_all()); - - assert!(AnotherFlag.is_all()); - } - - #[test] - fn test_two_empties_do_not_intersect() { - let e1 = Flags::empty(); - let e2 = Flags::empty(); - assert!(!e1.intersects(e2)); - - assert!(AnotherFlag.intersects(AnotherFlag)); - } - - #[test] - fn test_empty_does_not_intersect_with_full() { - let e1 = Flags::empty(); - let e2 = FlagABC; - assert!(!e1.intersects(e2)); - } - - #[test] - fn test_disjoint_intersects() { - let e1 = FlagA; - let e2 = FlagB; - assert!(!e1.intersects(e2)); - } - - #[test] - fn test_overlapping_intersects() { - let e1 = FlagA; - let e2 = FlagA | FlagB; - assert!(e1.intersects(e2)); - } - - #[test] - fn test_contains() { - let e1 = FlagA; - let e2 = FlagA | FlagB; - assert!(!e1.contains(e2)); - assert!(e2.contains(e1)); - assert!(FlagABC.contains(e2)); - - assert!(AnotherFlag.contains(AnotherFlag)); - } - - #[test] - fn test_insert(){ - let mut e1 = FlagA; - let e2 = FlagA | FlagB; - e1.insert(e2); - assert_eq!(e1, e2); - - let mut e3 = AnotherSetOfFlags::empty(); - e3.insert(AnotherFlag); - assert_eq!(e3, AnotherFlag); - } - - #[test] - fn test_remove(){ - let mut e1 = FlagA | FlagB; - let e2 = FlagA | FlagC; - e1.remove(e2); - assert_eq!(e1, FlagB); - - let mut e3 = AnotherFlag; - e3.remove(AnotherFlag); - assert_eq!(e3, AnotherSetOfFlags::empty()); - } - - #[test] - fn test_operators() { - let e1 = FlagA | FlagC; - let e2 = FlagB | FlagC; - assert_eq!((e1 | e2), FlagABC); // union - assert_eq!((e1 & e2), FlagC); // intersection - assert_eq!((e1 - e2), FlagA); // set difference - assert_eq!(!e2, FlagA); // set complement - assert_eq!(e1 ^ e2, FlagA | FlagB); // toggle - let mut e3 = e1; - e3.toggle(e2); - assert_eq!(e3, FlagA | FlagB); - - let mut m4 = AnotherSetOfFlags::empty(); - m4.toggle(AnotherSetOfFlags::empty()); - assert_eq!(m4, AnotherSetOfFlags::empty()); - } - - #[test] - fn test_set() { - let mut e1 = FlagA | FlagC; - e1.set(FlagB, true); - e1.set(FlagC, false); - - assert_eq!(e1, FlagA | FlagB); - } - - #[test] - fn test_assignment_operators() { - let mut m1 = Flags::empty(); - let e1 = FlagA | FlagC; - // union - m1 |= FlagA; - assert_eq!(m1, FlagA); - // intersection - m1 &= e1; - assert_eq!(m1, FlagA); - // set difference - m1 -= m1; - assert_eq!(m1, Flags::empty()); - // toggle - m1 ^= e1; - assert_eq!(m1, e1); - } - - #[test] - fn test_extend() { - let mut flags; - - flags = Flags::empty(); - flags.extend([].iter().cloned()); - assert_eq!(flags, Flags::empty()); - - flags = Flags::empty(); - flags.extend([FlagA, FlagB].iter().cloned()); - assert_eq!(flags, FlagA | FlagB); - - flags = FlagA; - flags.extend([FlagA, FlagB].iter().cloned()); - assert_eq!(flags, FlagA | FlagB); - - flags = FlagB; - flags.extend([FlagA, FlagABC].iter().cloned()); - assert_eq!(flags, FlagABC); - } - - #[test] - fn test_from_iterator() { - assert_eq!([].iter().cloned().collect::(), Flags::empty()); - assert_eq!([FlagA, FlagB].iter().cloned().collect::(), FlagA | FlagB); - assert_eq!([FlagA, FlagABC].iter().cloned().collect::(), FlagABC); - } - - #[test] - fn test_lt() { - let mut a = Flags::empty(); - let mut b = Flags::empty(); - - assert!(!(a < b) && !(b < a)); - b = FlagB; - assert!(a < b); - a = FlagC; - assert!(!(a < b) && b < a); - b = FlagC | FlagB; - assert!(a < b); - } - - #[test] - fn test_ord() { - let mut a = Flags::empty(); - let mut b = Flags::empty(); - - assert!(a <= b && a >= b); - a = FlagA; - assert!(a > b && a >= b); - assert!(b < a && b <= a); - b = FlagB; - assert!(b > a && b >= a); - assert!(a < b && a <= b); - } - - fn hash(t: &T) -> u64 { - let mut s = DefaultHasher::new(); - t.hash(&mut s); - s.finish() - } - - #[test] - fn test_hash() { - let mut x = Flags::empty(); - let mut y = Flags::empty(); - assert_eq!(hash(&x), hash(&y)); - x = Flags::all(); - y = FlagABC; - assert_eq!(hash(&x), hash(&y)); - } - - #[test] - fn test_debug() { - assert_eq!(format!("{:?}", FlagA | FlagB), "FlagA | FlagB"); - assert_eq!(format!("{:?}", Flags::empty()), "(empty)"); - assert_eq!(format!("{:?}", FlagABC), "FlagA | FlagB | FlagC | FlagABC"); - } - - #[test] - fn test_binary() { - assert_eq!(format!("{:b}", FlagABC), "111"); - assert_eq!(format!("{:#b}", FlagABC), "0b111"); - } - - #[test] - fn test_octal() { - assert_eq!(format!("{:o}", LongFlagA), "177777"); - assert_eq!(format!("{:#o}", LongFlagA), "0o177777"); - } - - #[test] - fn test_lowerhex() { - assert_eq!(format!("{:x}", LongFlagA), "ffff"); - assert_eq!(format!("{:#x}", LongFlagA), "0xffff"); - } - - #[test] - fn test_upperhex() { - assert_eq!(format!("{:X}", LongFlagA), "FFFF"); - assert_eq!(format!("{:#X}", LongFlagA), "0xFFFF"); - } - - mod submodule { - bitflags! { - pub struct PublicFlags: i8 { - const FlagX = 0; - } - } - bitflags! { - struct PrivateFlags: i8 { - const FlagY = 0; - } - } - - #[test] - fn test_private() { - let _ = FlagY; - } - } - - #[test] - fn test_public() { - let _ = submodule::FlagX; - } - - mod t1 { - mod foo { - pub type Bar = i32; - } - - bitflags! { - /// baz - struct Flags: foo::Bar { - const A = 0b00000001; - #[cfg(foo)] - const B = 0b00000010; - #[cfg(foo)] - const C = 0b00000010; - } - } - } - - #[test] - fn test_in_function() { - bitflags! { - struct Flags: u8 { - const A = 1; - #[cfg(any())] // false - const B = 2; - } - } - assert_eq!(Flags::all(), A); - assert_eq!(format!("{:?}", A), "A"); - } -} diff --git a/vendor/registry-40351f815f426200/bitflags-0.9.1/tests/conflicting_trait_impls.rs b/vendor/registry-40351f815f426200/bitflags-0.9.1/tests/conflicting_trait_impls.rs deleted file mode 100644 index 4704dfaa3..000000000 --- a/vendor/registry-40351f815f426200/bitflags-0.9.1/tests/conflicting_trait_impls.rs +++ /dev/null @@ -1,20 +0,0 @@ -#![allow(dead_code)] -#![no_std] - -#[macro_use] -extern crate bitflags; - -#[allow(unused_imports)] -use core::fmt::Display; - -bitflags! { - /// baz - struct Flags: u32 { - const A = 0b00000001; - } -} - -#[test] -fn main() { - -} diff --git a/vendor/registry-40351f815f426200/bitflags-0.9.1/tests/external.rs b/vendor/registry-40351f815f426200/bitflags-0.9.1/tests/external.rs deleted file mode 100644 index fc1c34670..000000000 --- a/vendor/registry-40351f815f426200/bitflags-0.9.1/tests/external.rs +++ /dev/null @@ -1,21 +0,0 @@ -#![allow(dead_code)] - -#[macro_use] -extern crate bitflags; - -bitflags! { - /// baz - struct Flags: u32 { - const A = 0b00000001; - #[doc = "bar"] - const B = 0b00000010; - const C = 0b00000100; - #[doc = "foo"] - const ABC = A.bits | B.bits | C.bits; - } -} - -#[test] -fn smoke() { - assert_eq!(ABC, A | B | C); -} diff --git a/vendor/registry-40351f815f426200/bitflags-0.9.1/tests/external_no_std.rs b/vendor/registry-40351f815f426200/bitflags-0.9.1/tests/external_no_std.rs deleted file mode 100644 index 8b8c7067f..000000000 --- a/vendor/registry-40351f815f426200/bitflags-0.9.1/tests/external_no_std.rs +++ /dev/null @@ -1,22 +0,0 @@ -#![allow(dead_code)] -#![no_std] - -#[macro_use] -extern crate bitflags; - -bitflags! { - /// baz - struct Flags: u32 { - const A = 0b00000001; - #[doc = "bar"] - const B = 0b00000010; - const C = 0b00000100; - #[doc = "foo"] - const ABC = A.bits | B.bits | C.bits; - } -} - -#[test] -fn smoke() { - assert_eq!(ABC, A | B | C); -} diff --git a/vendor/registry-40351f815f426200/bitflags-0.9.1/tests/i128_bitflags.rs b/vendor/registry-40351f815f426200/bitflags-0.9.1/tests/i128_bitflags.rs deleted file mode 100644 index acbb92782..000000000 --- a/vendor/registry-40351f815f426200/bitflags-0.9.1/tests/i128_bitflags.rs +++ /dev/null @@ -1,30 +0,0 @@ -#![cfg(feature = "unstable_testing")] - -#![allow(dead_code, unused_imports)] -#![feature(i128_type)] - -#[macro_use] -extern crate bitflags; - -bitflags! { - /// baz - struct Flags128: u128 { - const A = 0x0000_0000_0000_0000_0000_0000_0000_0001; - const B = 0x0000_0000_0000_1000_0000_0000_0000_0000; - const C = 0x8000_0000_0000_0000_0000_0000_0000_0000; - const ABC = A.bits | B.bits | C.bits; - } -} - -#[test] -fn test_i128_bitflags() { - assert_eq!(ABC, A | B | C); - assert_eq!(A.bits, 0x0000_0000_0000_0000_0000_0000_0000_0001); - assert_eq!(B.bits, 0x0000_0000_0000_1000_0000_0000_0000_0000); - assert_eq!(C.bits, 0x8000_0000_0000_0000_0000_0000_0000_0000); - assert_eq!(ABC.bits, 0x8000_0000_0000_1000_0000_0000_0000_0001); - assert_eq!(format!("{:?}", A), "A"); - assert_eq!(format!("{:?}", B), "B"); - assert_eq!(format!("{:?}", C), "C"); - assert_eq!(format!("{:?}", ABC), "A | B | C | ABC"); -} diff --git a/vendor/registry-40351f815f426200/bitflags/.cargo-checksum.json b/vendor/registry-40351f815f426200/bitflags/.cargo-checksum.json deleted file mode 100644 index 65776d56d..000000000 --- a/vendor/registry-40351f815f426200/bitflags/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"CHANGELOG.md":"bdd5d8b41c8ef74d9529713650a1b17c5c412d44721d089c9462300d0d6fa404","CODE_OF_CONDUCT.md":"28d69bb291d5f0ba31e2bf1649e1ff08914d4dbf9363a48a61e667fe0136d2ae","Cargo.toml":"d689950710ad4e574b03ab2a5ccf459476dfcf77b2520bd53873f1185aa834e7","LICENSE-APACHE":"7cfd738c53d61c79f07e348f622bf7707c9084237054d37fbe07788a75f5881c","LICENSE-MIT":"705aaaaecefa087c187bd2eacdb01b8ac1c5ee95b1d5d04d8d7efe0363207df8","README.md":"223ca98599ea77f79293813a67116271676b2a4a7fd6879ef4ea2b7ca90ff587","build.rs":"35a5c69b27bba9b3b5fcf62ab8e37dc47565198d2ae594e34aaf0583e3beeafb","src/example_generated.rs":"4345138fd410405ce5a5c6ba1d256205541aaa7cdfd6f23413dfce432d4efd0c","src/lib.rs":"263a6308b66f9e51d3ef92a20ac6829ed14c8807a27f39a68f8c87379c73c051"},"package":"3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/bitflags/CHANGELOG.md b/vendor/registry-40351f815f426200/bitflags/CHANGELOG.md deleted file mode 100644 index 1fbb95a81..000000000 --- a/vendor/registry-40351f815f426200/bitflags/CHANGELOG.md +++ /dev/null @@ -1,134 +0,0 @@ -# 1.1.0 - -This is a re-release of `1.0.5`, which was yanked due to a bug in the RLS. - -# 1.0.5 - -- Use compiletest_rs flags supported by stable toolchain ([#171]) - -- Put the user provided attributes first ([#173]) - -- Make bitflags methods `const` on newer compilers ([#175]) - -[#171]: https://github.com/rust-lang-nursery/bitflags/pull/171 -[#173]: https://github.com/rust-lang-nursery/bitflags/pull/173 -[#175]: https://github.com/rust-lang-nursery/bitflags/pull/175 - -# 1.0.4 - -- Support Rust 2018 style macro imports ([#165]) - - ```rust - use bitflags::bitflags; - ``` - -[#165]: https://github.com/rust-lang-nursery/bitflags/pull/165 - -# 1.0.3 - -- Improve zero value flag handling and documentation ([#157]) - -[#157]: https://github.com/rust-lang-nursery/bitflags/pull/157 - -# 1.0.2 - -- 30% improvement in compile time of bitflags crate ([#156]) - -- Documentation improvements ([#153]) - -- Implementation cleanup ([#149]) - -[#156]: https://github.com/rust-lang-nursery/bitflags/pull/156 -[#153]: https://github.com/rust-lang-nursery/bitflags/pull/153 -[#149]: https://github.com/rust-lang-nursery/bitflags/pull/149 - -# 1.0.1 -- Add support for `pub(restricted)` specifier on the bitflags struct ([#135]) -- Optimize performance of `all()` when called from a separate crate ([#136]) - -[#135]: https://github.com/rust-lang-nursery/bitflags/pull/135 -[#136]: https://github.com/rust-lang-nursery/bitflags/pull/136 - -# 1.0.0 -- **[breaking change]** Macro now generates [associated constants](https://doc.rust-lang.org/reference/items.html#associated-constants) ([#24]) - -- **[breaking change]** Minimum supported version is Rust **1.20**, due to usage of associated constants - -- After being broken in 0.9, the `#[deprecated]` attribute is now supported again ([#112]) - -- Other improvements to unit tests and documentation ([#106] and [#115]) - -[#24]: https://github.com/rust-lang-nursery/bitflags/pull/24 -[#106]: https://github.com/rust-lang-nursery/bitflags/pull/106 -[#112]: https://github.com/rust-lang-nursery/bitflags/pull/112 -[#115]: https://github.com/rust-lang-nursery/bitflags/pull/115 - -## How to update your code to use associated constants -Assuming the following structure definition: -```rust -bitflags! { - struct Something: u8 { - const FOO = 0b01, - const BAR = 0b10 - } -} -``` -In 0.9 and older you could do: -```rust -let x = FOO.bits | BAR.bits; -``` -Now you must use: -```rust -let x = Something::FOO.bits | Something::BAR.bits; -``` - -# 0.9.1 -- Fix the implementation of `Formatting` traits when other formatting traits were present in scope ([#105]) - -[#105]: https://github.com/rust-lang-nursery/bitflags/pull/105 - -# 0.9.0 -- **[breaking change]** Use struct keyword instead of flags to define bitflag types ([#84]) - -- **[breaking change]** Terminate const items with semicolons instead of commas ([#87]) - -- Implement the `Hex`, `Octal`, and `Binary` formatting traits ([#86]) - -- Printing an empty flag value with the `Debug` trait now prints "(empty)" instead of nothing ([#85]) - -- The `bitflags!` macro can now be used inside of a fn body, to define a type local to that function ([#74]) - -[#74]: https://github.com/rust-lang-nursery/bitflags/pull/74 -[#84]: https://github.com/rust-lang-nursery/bitflags/pull/84 -[#85]: https://github.com/rust-lang-nursery/bitflags/pull/85 -[#86]: https://github.com/rust-lang-nursery/bitflags/pull/86 -[#87]: https://github.com/rust-lang-nursery/bitflags/pull/87 - -# 0.8.2 -- Update feature flag used when building bitflags as a dependency of the Rust toolchain - -# 0.8.1 -- Allow bitflags to be used as a dependency of the Rust toolchain - -# 0.8.0 -- Add support for the experimental `i128` and `u128` integer types ([#57]) -- Add set method: `flags.set(SOME_FLAG, true)` or `flags.set(SOME_FLAG, false)` ([#55]) - This may break code that defines its own set method - -[#55]: https://github.com/rust-lang-nursery/bitflags/pull/55 -[#57]: https://github.com/rust-lang-nursery/bitflags/pull/57 - -# 0.7.1 -*(yanked)* - -# 0.7.0 -- Implement the Extend trait ([#49]) -- Allow definitions inside the `bitflags!` macro to refer to items imported from other modules ([#51]) - -[#49]: https://github.com/rust-lang-nursery/bitflags/pull/49 -[#51]: https://github.com/rust-lang-nursery/bitflags/pull/51 - -# 0.6.0 -- The `no_std` feature was removed as it is now the default -- The `assignment_operators` feature was remove as it is now enabled by default -- Some clippy suggestions have been applied diff --git a/vendor/registry-40351f815f426200/bitflags/CODE_OF_CONDUCT.md b/vendor/registry-40351f815f426200/bitflags/CODE_OF_CONDUCT.md deleted file mode 100644 index ae001fdc8..000000000 --- a/vendor/registry-40351f815f426200/bitflags/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,73 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, gender identity and expression, level of experience, -education, socio-economic status, nationality, personal appearance, race, -religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or - advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at coc@senaite.org. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html - -[homepage]: https://www.contributor-covenant.org \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/bitflags/Cargo.toml b/vendor/registry-40351f815f426200/bitflags/Cargo.toml deleted file mode 100644 index c3391297d..000000000 --- a/vendor/registry-40351f815f426200/bitflags/Cargo.toml +++ /dev/null @@ -1,34 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g., crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "bitflags" -version = "1.1.0" -authors = ["The Rust Project Developers"] -build = "build.rs" -exclude = [".travis.yml", "appveyor.yml", "bors.toml"] -description = "A macro to generate structures which behave like bitflags.\n" -homepage = "https://github.com/bitflags/bitflags" -documentation = "https://docs.rs/bitflags" -readme = "README.md" -keywords = ["bit", "bitmask", "bitflags", "flags"] -categories = ["no-std"] -license = "MIT/Apache-2.0" -repository = "https://github.com/bitflags/bitflags" -[package.metadata.docs.rs] -features = ["example_generated"] - -[features] -default = [] -example_generated = [] -[badges.travis-ci] -repository = "bitflags/bitflags" diff --git a/vendor/registry-40351f815f426200/bitflags/LICENSE-APACHE b/vendor/registry-40351f815f426200/bitflags/LICENSE-APACHE deleted file mode 100644 index f47c94114..000000000 --- a/vendor/registry-40351f815f426200/bitflags/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/bitflags/LICENSE-MIT b/vendor/registry-40351f815f426200/bitflags/LICENSE-MIT deleted file mode 100644 index c0428e2d3..000000000 --- a/vendor/registry-40351f815f426200/bitflags/LICENSE-MIT +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) 2014 The Rust Project Developers - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/bitflags/README.md b/vendor/registry-40351f815f426200/bitflags/README.md deleted file mode 100644 index 59c849bfe..000000000 --- a/vendor/registry-40351f815f426200/bitflags/README.md +++ /dev/null @@ -1,34 +0,0 @@ -bitflags -======== - -[![Build Status](https://travis-ci.com/bitflags/bitflags.svg?branch=master)](https://travis-ci.com/bitflags/bitflags) -[![Join the chat at https://gitter.im/bitflags/Lobby](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/bitflags/Lobby?utm_source=badge&utm_medium=badge&utm_content=badge) -[![Latest version](https://img.shields.io/crates/v/bitflags.svg)](https://crates.io/crates/bitflags) -[![Documentation](https://docs.rs/bitflags/badge.svg)](https://docs.rs/bitflags) -![Minimum rustc version](https://img.shields.io/badge/rustc-1.20+-yellow.svg) -![License](https://img.shields.io/crates/l/bitflags.svg) - -A Rust macro to generate structures which behave like a set of bitflags - -- [Documentation](https://docs.rs/bitflags) -- [Release notes](https://github.com/bitflags/bitflags/releases) - -## Usage - -Add this to your `Cargo.toml`: - -```toml -[dependencies] -bitflags = "1.0" -``` - -and this to your crate root: - -```rust -#[macro_use] -extern crate bitflags; -``` - -## Rust Version Support - -The minimum supported Rust version is 1.20 due to use of associated constants. diff --git a/vendor/registry-40351f815f426200/bitflags/build.rs b/vendor/registry-40351f815f426200/bitflags/build.rs deleted file mode 100644 index 168c03055..000000000 --- a/vendor/registry-40351f815f426200/bitflags/build.rs +++ /dev/null @@ -1,44 +0,0 @@ -use std::env; -use std::process::Command; -use std::str::{self, FromStr}; - -fn main(){ - let minor = match rustc_minor_version() { - Some(minor) => minor, - None => return, - }; - - // const fn stabilized in Rust 1.31: - if minor >= 31 { - println!("cargo:rustc-cfg=bitflags_const_fn"); - } -} - -fn rustc_minor_version() -> Option { - let rustc = match env::var_os("RUSTC") { - Some(rustc) => rustc, - None => return None, - }; - - let output = match Command::new(rustc).arg("--version").output() { - Ok(output) => output, - Err(_) => return None, - }; - - let version = match str::from_utf8(&output.stdout) { - Ok(version) => version, - Err(_) => return None, - }; - - let mut pieces = version.split('.'); - if pieces.next() != Some("rustc 1") { - return None; - } - - let next = match pieces.next() { - Some(next) => next, - None => return None, - }; - - u32::from_str(next).ok() -} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/bitflags/src/example_generated.rs b/vendor/registry-40351f815f426200/bitflags/src/example_generated.rs deleted file mode 100644 index a860d2dcf..000000000 --- a/vendor/registry-40351f815f426200/bitflags/src/example_generated.rs +++ /dev/null @@ -1,14 +0,0 @@ -//! This module shows an example of code generated by the macro. **IT MUST NOT BE USED OUTSIDE THIS -//! CRATE**. - -bitflags! { - /// This is the same `Flags` struct defined in the [crate level example](../index.html#example). - /// Note that this struct is just for documentation purposes only, it must not be used outside - /// this crate. - pub struct Flags: u32 { - const A = 0b00000001; - const B = 0b00000010; - const C = 0b00000100; - const ABC = Self::A.bits | Self::B.bits | Self::C.bits; - } -} diff --git a/vendor/registry-40351f815f426200/bitflags/src/lib.rs b/vendor/registry-40351f815f426200/bitflags/src/lib.rs deleted file mode 100644 index 44a6f80cc..000000000 --- a/vendor/registry-40351f815f426200/bitflags/src/lib.rs +++ /dev/null @@ -1,1353 +0,0 @@ -// Copyright 2014 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! A typesafe bitmask flag generator useful for sets of C-style bitmask flags. -//! It can be used for creating typesafe wrappers around C APIs. -//! -//! The `bitflags!` macro generates a `struct` that manages a set of flags. The -//! flags should only be defined for integer types, otherwise unexpected type -//! errors may occur at compile time. -//! -//! # Example -//! -//! ``` -//! #[macro_use] -//! extern crate bitflags; -//! -//! bitflags! { -//! struct Flags: u32 { -//! const A = 0b00000001; -//! const B = 0b00000010; -//! const C = 0b00000100; -//! const ABC = Self::A.bits | Self::B.bits | Self::C.bits; -//! } -//! } -//! -//! fn main() { -//! let e1 = Flags::A | Flags::C; -//! let e2 = Flags::B | Flags::C; -//! assert_eq!((e1 | e2), Flags::ABC); // union -//! assert_eq!((e1 & e2), Flags::C); // intersection -//! assert_eq!((e1 - e2), Flags::A); // set difference -//! assert_eq!(!e2, Flags::A); // set complement -//! } -//! ``` -//! -//! See [`example_generated::Flags`](./example_generated/struct.Flags.html) for documentation of code -//! generated by the above `bitflags!` expansion. -//! -//! The generated `struct`s can also be extended with type and trait -//! implementations: -//! -//! ``` -//! #[macro_use] -//! extern crate bitflags; -//! -//! use std::fmt; -//! -//! bitflags! { -//! struct Flags: u32 { -//! const A = 0b00000001; -//! const B = 0b00000010; -//! } -//! } -//! -//! impl Flags { -//! pub fn clear(&mut self) { -//! self.bits = 0; // The `bits` field can be accessed from within the -//! // same module where the `bitflags!` macro was invoked. -//! } -//! } -//! -//! impl fmt::Display for Flags { -//! fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { -//! write!(f, "hi!") -//! } -//! } -//! -//! fn main() { -//! let mut flags = Flags::A | Flags::B; -//! flags.clear(); -//! assert!(flags.is_empty()); -//! assert_eq!(format!("{}", flags), "hi!"); -//! assert_eq!(format!("{:?}", Flags::A | Flags::B), "A | B"); -//! assert_eq!(format!("{:?}", Flags::B), "B"); -//! } -//! ``` -//! -//! # Visibility -//! -//! The generated struct and its associated flag constants are not exported -//! out of the current module by default. A definition can be exported out of -//! the current module by adding `pub` before `flags`: -//! -//! ``` -//! #[macro_use] -//! extern crate bitflags; -//! -//! mod example { -//! bitflags! { -//! pub struct Flags1: u32 { -//! const A = 0b00000001; -//! } -//! } -//! bitflags! { -//! # pub -//! struct Flags2: u32 { -//! const B = 0b00000010; -//! } -//! } -//! } -//! -//! fn main() { -//! let flag1 = example::Flags1::A; -//! let flag2 = example::Flags2::B; // error: const `B` is private -//! } -//! ``` -//! -//! # Attributes -//! -//! Attributes can be attached to the generated `struct` by placing them -//! before the `flags` keyword. -//! -//! # Trait implementations -//! -//! The `Copy`, `Clone`, `PartialEq`, `Eq`, `PartialOrd`, `Ord` and `Hash` -//! traits automatically derived for the `struct` using the `derive` attribute. -//! Additional traits can be derived by providing an explicit `derive` -//! attribute on `flags`. -//! -//! The `Extend` and `FromIterator` traits are implemented for the `struct`, -//! too: `Extend` adds the union of the instances of the `struct` iterated over, -//! while `FromIterator` calculates the union. -//! -//! The `Binary`, `Debug`, `LowerExp`, `Octal` and `UpperExp` trait is also -//! implemented by displaying the bits value of the internal struct. -//! -//! ## Operators -//! -//! The following operator traits are implemented for the generated `struct`: -//! -//! - `BitOr` and `BitOrAssign`: union -//! - `BitAnd` and `BitAndAssign`: intersection -//! - `BitXor` and `BitXorAssign`: toggle -//! - `Sub` and `SubAssign`: set difference -//! - `Not`: set complement -//! -//! # Methods -//! -//! The following methods are defined for the generated `struct`: -//! -//! - `empty`: an empty set of flags -//! - `all`: the set of all flags -//! - `bits`: the raw value of the flags currently stored -//! - `from_bits`: convert from underlying bit representation, unless that -//! representation contains bits that do not correspond to a flag -//! - `from_bits_truncate`: convert from underlying bit representation, dropping -//! any bits that do not correspond to flags -//! - `is_empty`: `true` if no flags are currently stored -//! - `is_all`: `true` if all flags are currently set -//! - `intersects`: `true` if there are flags common to both `self` and `other` -//! - `contains`: `true` all of the flags in `other` are contained within `self` -//! - `insert`: inserts the specified flags in-place -//! - `remove`: removes the specified flags in-place -//! - `toggle`: the specified flags will be inserted if not present, and removed -//! if they are. -//! - `set`: inserts or removes the specified flags depending on the passed value -//! -//! ## Default -//! -//! The `Default` trait is not automatically implemented for the generated struct. -//! -//! If your default value is equal to `0` (which is the same value as calling `empty()` -//! on the generated struct), you can simply derive `Default`: -//! -//! ``` -//! #[macro_use] -//! extern crate bitflags; -//! -//! bitflags! { -//! // Results in default value with bits: 0 -//! #[derive(Default)] -//! struct Flags: u32 { -//! const A = 0b00000001; -//! const B = 0b00000010; -//! const C = 0b00000100; -//! } -//! } -//! -//! fn main() { -//! let derived_default: Flags = Default::default(); -//! assert_eq!(derived_default.bits(), 0); -//! } -//! ``` -//! -//! If your default value is not equal to `0` you need to implement `Default` yourself: -//! -//! ``` -//! #[macro_use] -//! extern crate bitflags; -//! -//! bitflags! { -//! struct Flags: u32 { -//! const A = 0b00000001; -//! const B = 0b00000010; -//! const C = 0b00000100; -//! } -//! } -//! -//! // explicit `Default` implementation -//! impl Default for Flags { -//! fn default() -> Flags { -//! Flags::A | Flags::C -//! } -//! } -//! -//! fn main() { -//! let implemented_default: Flags = Default::default(); -//! assert_eq!(implemented_default, (Flags::A | Flags::C)); -//! } -//! ``` -//! -//! # Zero Flags -//! -//! Flags with a value equal to zero will have some strange behavior that one should be aware of. -//! -//! ``` -//! #[macro_use] -//! extern crate bitflags; -//! -//! bitflags! { -//! struct Flags: u32 { -//! const NONE = 0b00000000; -//! const SOME = 0b00000001; -//! } -//! } -//! -//! fn main() { -//! let empty = Flags::empty(); -//! let none = Flags::NONE; -//! let some = Flags::SOME; -//! -//! // Zero flags are treated as always present -//! assert!(empty.contains(Flags::NONE)); -//! assert!(none.contains(Flags::NONE)); -//! assert!(some.contains(Flags::NONE)); -//! -//! // Zero flags will be ignored when testing for emptiness -//! assert!(none.is_empty()); -//! } -//! ``` - -#![no_std] -#![doc(html_root_url = "https://docs.rs/bitflags/1.1.0")] - -#[cfg(test)] -#[macro_use] -extern crate std; - -// Re-export libcore using an alias so that the macros can work without -// requiring `extern crate core` downstream. -#[doc(hidden)] -pub extern crate core as _core; - -/// The macro used to generate the flag structure. -/// -/// See the [crate level docs](../bitflags/index.html) for complete documentation. -/// -/// # Example -/// -/// ``` -/// #[macro_use] -/// extern crate bitflags; -/// -/// bitflags! { -/// struct Flags: u32 { -/// const A = 0b00000001; -/// const B = 0b00000010; -/// const C = 0b00000100; -/// const ABC = Self::A.bits | Self::B.bits | Self::C.bits; -/// } -/// } -/// -/// fn main() { -/// let e1 = Flags::A | Flags::C; -/// let e2 = Flags::B | Flags::C; -/// assert_eq!((e1 | e2), Flags::ABC); // union -/// assert_eq!((e1 & e2), Flags::C); // intersection -/// assert_eq!((e1 - e2), Flags::A); // set difference -/// assert_eq!(!e2, Flags::A); // set complement -/// } -/// ``` -/// -/// The generated `struct`s can also be extended with type and trait -/// implementations: -/// -/// ``` -/// #[macro_use] -/// extern crate bitflags; -/// -/// use std::fmt; -/// -/// bitflags! { -/// struct Flags: u32 { -/// const A = 0b00000001; -/// const B = 0b00000010; -/// } -/// } -/// -/// impl Flags { -/// pub fn clear(&mut self) { -/// self.bits = 0; // The `bits` field can be accessed from within the -/// // same module where the `bitflags!` macro was invoked. -/// } -/// } -/// -/// impl fmt::Display for Flags { -/// fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { -/// write!(f, "hi!") -/// } -/// } -/// -/// fn main() { -/// let mut flags = Flags::A | Flags::B; -/// flags.clear(); -/// assert!(flags.is_empty()); -/// assert_eq!(format!("{}", flags), "hi!"); -/// assert_eq!(format!("{:?}", Flags::A | Flags::B), "A | B"); -/// assert_eq!(format!("{:?}", Flags::B), "B"); -/// } -/// ``` -#[macro_export(local_inner_macros)] -macro_rules! bitflags { - ( - $(#[$outer:meta])* - pub struct $BitFlags:ident: $T:ty { - $( - $(#[$inner:ident $($args:tt)*])* - const $Flag:ident = $value:expr; - )+ - } - ) => { - __bitflags! { - $(#[$outer])* - (pub) $BitFlags: $T { - $( - $(#[$inner $($args)*])* - $Flag = $value; - )+ - } - } - }; - ( - $(#[$outer:meta])* - struct $BitFlags:ident: $T:ty { - $( - $(#[$inner:ident $($args:tt)*])* - const $Flag:ident = $value:expr; - )+ - } - ) => { - __bitflags! { - $(#[$outer])* - () $BitFlags: $T { - $( - $(#[$inner $($args)*])* - $Flag = $value; - )+ - } - } - }; - ( - $(#[$outer:meta])* - pub ($($vis:tt)+) struct $BitFlags:ident: $T:ty { - $( - $(#[$inner:ident $($args:tt)*])* - const $Flag:ident = $value:expr; - )+ - } - ) => { - __bitflags! { - $(#[$outer])* - (pub ($($vis)+)) $BitFlags: $T { - $( - $(#[$inner $($args)*])* - $Flag = $value; - )+ - } - } - }; -} - -#[macro_export(local_inner_macros)] -#[doc(hidden)] -macro_rules! __bitflags { - ( - $(#[$outer:meta])* - ($($vis:tt)*) $BitFlags:ident: $T:ty { - $( - $(#[$inner:ident $($args:tt)*])* - $Flag:ident = $value:expr; - )+ - } - ) => { - $(#[$outer])* - #[derive(Copy, PartialEq, Eq, Clone, PartialOrd, Ord, Hash)] - $($vis)* struct $BitFlags { - bits: $T, - } - - __impl_bitflags! { - $BitFlags: $T { - $( - $(#[$inner $($args)*])* - $Flag = $value; - )+ - } - } - }; -} - -#[macro_export(local_inner_macros)] -#[doc(hidden)] -#[cfg(bitflags_const_fn)] -macro_rules! __fn_bitflags { - ( - $(# $attr_args:tt)* - const fn $($item:tt)* - ) => { - $(# $attr_args)* - const fn $($item)* - }; - ( - $(# $attr_args:tt)* - pub const fn $($item:tt)* - ) => { - $(# $attr_args)* - pub const fn $($item)* - }; -} - -#[macro_export(local_inner_macros)] -#[doc(hidden)] -#[cfg(not(bitflags_const_fn))] -macro_rules! __fn_bitflags { - ( - $(# $attr_args:tt)* - const fn $($item:tt)* - ) => { - $(# $attr_args)* - fn $($item)* - }; - ( - $(# $attr_args:tt)* - pub const fn $($item:tt)* - ) => { - $(# $attr_args)* - pub fn $($item)* - }; -} - -#[macro_export(local_inner_macros)] -#[doc(hidden)] -macro_rules! __impl_bitflags { - ( - $BitFlags:ident: $T:ty { - $( - $(#[$attr:ident $($args:tt)*])* - $Flag:ident = $value:expr; - )+ - } - ) => { - impl $crate::_core::fmt::Debug for $BitFlags { - fn fmt(&self, f: &mut $crate::_core::fmt::Formatter) -> $crate::_core::fmt::Result { - // This convoluted approach is to handle #[cfg]-based flag - // omission correctly. For example it needs to support: - // - // #[cfg(unix)] const A: Flag = /* ... */; - // #[cfg(windows)] const B: Flag = /* ... */; - - // Unconditionally define a check for every flag, even disabled - // ones. - #[allow(non_snake_case)] - trait __BitFlags { - $( - #[inline] - fn $Flag(&self) -> bool { false } - )+ - } - - // Conditionally override the check for just those flags that - // are not #[cfg]ed away. - impl __BitFlags for $BitFlags { - $( - __impl_bitflags! { - #[allow(deprecated)] - #[inline] - $(? #[$attr $($args)*])* - fn $Flag(&self) -> bool { - if Self::$Flag.bits == 0 && self.bits != 0 { - false - } else { - self.bits & Self::$Flag.bits == Self::$Flag.bits - } - } - } - )+ - } - - let mut first = true; - $( - if <$BitFlags as __BitFlags>::$Flag(self) { - if !first { - f.write_str(" | ")?; - } - first = false; - f.write_str(__bitflags_stringify!($Flag))?; - } - )+ - if first { - f.write_str("(empty)")?; - } - Ok(()) - } - } - impl $crate::_core::fmt::Binary for $BitFlags { - fn fmt(&self, f: &mut $crate::_core::fmt::Formatter) -> $crate::_core::fmt::Result { - $crate::_core::fmt::Binary::fmt(&self.bits, f) - } - } - impl $crate::_core::fmt::Octal for $BitFlags { - fn fmt(&self, f: &mut $crate::_core::fmt::Formatter) -> $crate::_core::fmt::Result { - $crate::_core::fmt::Octal::fmt(&self.bits, f) - } - } - impl $crate::_core::fmt::LowerHex for $BitFlags { - fn fmt(&self, f: &mut $crate::_core::fmt::Formatter) -> $crate::_core::fmt::Result { - $crate::_core::fmt::LowerHex::fmt(&self.bits, f) - } - } - impl $crate::_core::fmt::UpperHex for $BitFlags { - fn fmt(&self, f: &mut $crate::_core::fmt::Formatter) -> $crate::_core::fmt::Result { - $crate::_core::fmt::UpperHex::fmt(&self.bits, f) - } - } - - #[allow(dead_code)] - impl $BitFlags { - $( - $(#[$attr $($args)*])* - pub const $Flag: $BitFlags = $BitFlags { bits: $value }; - )+ - - __fn_bitflags! { - /// Returns an empty set of flags - #[inline] - pub const fn empty() -> $BitFlags { - $BitFlags { bits: 0 } - } - } - - __fn_bitflags! { - /// Returns the set containing all flags. - #[inline] - pub const fn all() -> $BitFlags { - // See `Debug::fmt` for why this approach is taken. - #[allow(non_snake_case)] - trait __BitFlags { - $( - #[inline] - const $Flag: $T = 0; - )+ - } - impl __BitFlags for $BitFlags { - $( - __impl_bitflags! { - #[allow(deprecated)] - #[inline] - $(? #[$attr $($args)*])* - const $Flag: $T = Self::$Flag.bits; - } - )+ - } - $BitFlags { bits: $(<$BitFlags as __BitFlags>::$Flag)|+ } - } - } - - __fn_bitflags! { - /// Returns the raw value of the flags currently stored. - #[inline] - pub const fn bits(&self) -> $T { - self.bits - } - } - - /// Convert from underlying bit representation, unless that - /// representation contains bits that do not correspond to a flag. - #[inline] - pub fn from_bits(bits: $T) -> $crate::_core::option::Option<$BitFlags> { - if (bits & !$BitFlags::all().bits()) == 0 { - $crate::_core::option::Option::Some($BitFlags { bits }) - } else { - $crate::_core::option::Option::None - } - } - - __fn_bitflags! { - /// Convert from underlying bit representation, dropping any bits - /// that do not correspond to flags. - #[inline] - pub const fn from_bits_truncate(bits: $T) -> $BitFlags { - $BitFlags { bits: bits & $BitFlags::all().bits } - } - } - - __fn_bitflags! { - /// Returns `true` if no flags are currently stored. - #[inline] - pub const fn is_empty(&self) -> bool { - self.bits() == $BitFlags::empty().bits() - } - } - - __fn_bitflags! { - /// Returns `true` if all flags are currently set. - #[inline] - pub const fn is_all(&self) -> bool { - self.bits == $BitFlags::all().bits - } - } - - __fn_bitflags! { - /// Returns `true` if there are flags common to both `self` and `other`. - #[inline] - pub const fn intersects(&self, other: $BitFlags) -> bool { - !$BitFlags{ bits: self.bits & other.bits}.is_empty() - } - } - - __fn_bitflags! { - /// Returns `true` all of the flags in `other` are contained within `self`. - #[inline] - pub const fn contains(&self, other: $BitFlags) -> bool { - (self.bits & other.bits) == other.bits - } - } - - /// Inserts the specified flags in-place. - #[inline] - pub fn insert(&mut self, other: $BitFlags) { - self.bits |= other.bits; - } - - /// Removes the specified flags in-place. - #[inline] - pub fn remove(&mut self, other: $BitFlags) { - self.bits &= !other.bits; - } - - /// Toggles the specified flags in-place. - #[inline] - pub fn toggle(&mut self, other: $BitFlags) { - self.bits ^= other.bits; - } - - /// Inserts or removes the specified flags depending on the passed value. - #[inline] - pub fn set(&mut self, other: $BitFlags, value: bool) { - if value { - self.insert(other); - } else { - self.remove(other); - } - } - } - - impl $crate::_core::ops::BitOr for $BitFlags { - type Output = $BitFlags; - - /// Returns the union of the two sets of flags. - #[inline] - fn bitor(self, other: $BitFlags) -> $BitFlags { - $BitFlags { bits: self.bits | other.bits } - } - } - - impl $crate::_core::ops::BitOrAssign for $BitFlags { - - /// Adds the set of flags. - #[inline] - fn bitor_assign(&mut self, other: $BitFlags) { - self.bits |= other.bits; - } - } - - impl $crate::_core::ops::BitXor for $BitFlags { - type Output = $BitFlags; - - /// Returns the left flags, but with all the right flags toggled. - #[inline] - fn bitxor(self, other: $BitFlags) -> $BitFlags { - $BitFlags { bits: self.bits ^ other.bits } - } - } - - impl $crate::_core::ops::BitXorAssign for $BitFlags { - - /// Toggles the set of flags. - #[inline] - fn bitxor_assign(&mut self, other: $BitFlags) { - self.bits ^= other.bits; - } - } - - impl $crate::_core::ops::BitAnd for $BitFlags { - type Output = $BitFlags; - - /// Returns the intersection between the two sets of flags. - #[inline] - fn bitand(self, other: $BitFlags) -> $BitFlags { - $BitFlags { bits: self.bits & other.bits } - } - } - - impl $crate::_core::ops::BitAndAssign for $BitFlags { - - /// Disables all flags disabled in the set. - #[inline] - fn bitand_assign(&mut self, other: $BitFlags) { - self.bits &= other.bits; - } - } - - impl $crate::_core::ops::Sub for $BitFlags { - type Output = $BitFlags; - - /// Returns the set difference of the two sets of flags. - #[inline] - fn sub(self, other: $BitFlags) -> $BitFlags { - $BitFlags { bits: self.bits & !other.bits } - } - } - - impl $crate::_core::ops::SubAssign for $BitFlags { - - /// Disables all flags enabled in the set. - #[inline] - fn sub_assign(&mut self, other: $BitFlags) { - self.bits &= !other.bits; - } - } - - impl $crate::_core::ops::Not for $BitFlags { - type Output = $BitFlags; - - /// Returns the complement of this set of flags. - #[inline] - fn not(self) -> $BitFlags { - $BitFlags { bits: !self.bits } & $BitFlags::all() - } - } - - impl $crate::_core::iter::Extend<$BitFlags> for $BitFlags { - fn extend>(&mut self, iterator: T) { - for item in iterator { - self.insert(item) - } - } - } - - impl $crate::_core::iter::FromIterator<$BitFlags> for $BitFlags { - fn from_iter>(iterator: T) -> $BitFlags { - let mut result = Self::empty(); - result.extend(iterator); - result - } - } - }; - - // Every attribute that the user writes on a const is applied to the - // corresponding const that we generate, but within the implementation of - // Debug and all() we want to ignore everything but #[cfg] attributes. In - // particular, including a #[deprecated] attribute on those items would fail - // to compile. - // https://github.com/bitflags/bitflags/issues/109 - // - // Input: - // - // ? #[cfg(feature = "advanced")] - // ? #[deprecated(note = "Use somthing else.")] - // ? #[doc = r"High quality documentation."] - // fn f() -> i32 { /* ... */ } - // - // Output: - // - // #[cfg(feature = "advanced")] - // fn f() -> i32 { /* ... */ } - ( - $(#[$filtered:meta])* - ? #[cfg $($cfgargs:tt)*] - $(? #[$rest:ident $($restargs:tt)*])* - fn $($item:tt)* - ) => { - __impl_bitflags! { - $(#[$filtered])* - #[cfg $($cfgargs)*] - $(? #[$rest $($restargs)*])* - fn $($item)* - } - }; - ( - $(#[$filtered:meta])* - // $next != `cfg` - ? #[$next:ident $($nextargs:tt)*] - $(? #[$rest:ident $($restargs:tt)*])* - fn $($item:tt)* - ) => { - __impl_bitflags! { - $(#[$filtered])* - // $next filtered out - $(? #[$rest $($restargs)*])* - fn $($item)* - } - }; - ( - $(#[$filtered:meta])* - fn $($item:tt)* - ) => { - $(#[$filtered])* - fn $($item)* - }; - - // Every attribute that the user writes on a const is applied to the - // corresponding const that we generate, but within the implementation of - // Debug and all() we want to ignore everything but #[cfg] attributes. In - // particular, including a #[deprecated] attribute on those items would fail - // to compile. - // https://github.com/bitflags/bitflags/issues/109 - // - // const version - // - // Input: - // - // ? #[cfg(feature = "advanced")] - // ? #[deprecated(note = "Use somthing else.")] - // ? #[doc = r"High quality documentation."] - // const f: i32 { /* ... */ } - // - // Output: - // - // #[cfg(feature = "advanced")] - // const f: i32 { /* ... */ } - ( - $(#[$filtered:meta])* - ? #[cfg $($cfgargs:tt)*] - $(? #[$rest:ident $($restargs:tt)*])* - const $($item:tt)* - ) => { - __impl_bitflags! { - $(#[$filtered])* - #[cfg $($cfgargs)*] - $(? #[$rest $($restargs)*])* - const $($item)* - } - }; - ( - $(#[$filtered:meta])* - // $next != `cfg` - ? #[$next:ident $($nextargs:tt)*] - $(? #[$rest:ident $($restargs:tt)*])* - const $($item:tt)* - ) => { - __impl_bitflags! { - $(#[$filtered])* - // $next filtered out - $(? #[$rest $($restargs)*])* - const $($item)* - } - }; - ( - $(#[$filtered:meta])* - const $($item:tt)* - ) => { - $(#[$filtered])* - const $($item)* - }; -} - -// Same as std::stringify but callable from __impl_bitflags, which needs to use -// local_inner_macros so can only directly call macros from this crate. -#[macro_export] -#[doc(hidden)] -macro_rules! __bitflags_stringify { - ($s:ident) => { - stringify!($s) - }; -} - -#[cfg(feature = "example_generated")] -pub mod example_generated; - -#[cfg(test)] -mod tests { - use std::collections::hash_map::DefaultHasher; - use std::hash::{Hash, Hasher}; - - bitflags! { - #[doc = "> The first principle is that you must not fool yourself — and"] - #[doc = "> you are the easiest person to fool."] - #[doc = "> "] - #[doc = "> - Richard Feynman"] - struct Flags: u32 { - const A = 0b00000001; - #[doc = " macros are way better at generating code than trans is"] - const B = 0b00000010; - const C = 0b00000100; - #[doc = "* cmr bed"] - #[doc = "* strcat table"] - #[doc = " wait what?"] - const ABC = Self::A.bits | Self::B.bits | Self::C.bits; - } - } - - bitflags! { - struct _CfgFlags: u32 { - #[cfg(windows)] - const _CFG_A = 0b01; - #[cfg(unix)] - const _CFG_B = 0b01; - #[cfg(windows)] - const _CFG_C = _CFG_A.bits | 0b10; - } - } - - bitflags! { - struct AnotherSetOfFlags: i8 { - const ANOTHER_FLAG = -1_i8; - } - } - - bitflags! { - struct LongFlags: u32 { - const LONG_A = 0b1111111111111111; - } - } - - #[test] - fn test_bits() { - assert_eq!(Flags::empty().bits(), 0b00000000); - assert_eq!(Flags::A.bits(), 0b00000001); - assert_eq!(Flags::ABC.bits(), 0b00000111); - - assert_eq!(AnotherSetOfFlags::empty().bits(), 0b00); - assert_eq!(AnotherSetOfFlags::ANOTHER_FLAG.bits(), !0_i8); - } - - #[test] - fn test_from_bits() { - assert_eq!(Flags::from_bits(0), Some(Flags::empty())); - assert_eq!(Flags::from_bits(0b1), Some(Flags::A)); - assert_eq!(Flags::from_bits(0b10), Some(Flags::B)); - assert_eq!(Flags::from_bits(0b11), Some(Flags::A | Flags::B)); - assert_eq!(Flags::from_bits(0b1000), None); - - assert_eq!( - AnotherSetOfFlags::from_bits(!0_i8), - Some(AnotherSetOfFlags::ANOTHER_FLAG) - ); - } - - #[test] - fn test_from_bits_truncate() { - assert_eq!(Flags::from_bits_truncate(0), Flags::empty()); - assert_eq!(Flags::from_bits_truncate(0b1), Flags::A); - assert_eq!(Flags::from_bits_truncate(0b10), Flags::B); - assert_eq!(Flags::from_bits_truncate(0b11), (Flags::A | Flags::B)); - assert_eq!(Flags::from_bits_truncate(0b1000), Flags::empty()); - assert_eq!(Flags::from_bits_truncate(0b1001), Flags::A); - - assert_eq!( - AnotherSetOfFlags::from_bits_truncate(0_i8), - AnotherSetOfFlags::empty() - ); - } - - #[test] - fn test_is_empty() { - assert!(Flags::empty().is_empty()); - assert!(!Flags::A.is_empty()); - assert!(!Flags::ABC.is_empty()); - - assert!(!AnotherSetOfFlags::ANOTHER_FLAG.is_empty()); - } - - #[test] - fn test_is_all() { - assert!(Flags::all().is_all()); - assert!(!Flags::A.is_all()); - assert!(Flags::ABC.is_all()); - - assert!(AnotherSetOfFlags::ANOTHER_FLAG.is_all()); - } - - #[test] - fn test_two_empties_do_not_intersect() { - let e1 = Flags::empty(); - let e2 = Flags::empty(); - assert!(!e1.intersects(e2)); - - assert!(AnotherSetOfFlags::ANOTHER_FLAG.intersects(AnotherSetOfFlags::ANOTHER_FLAG)); - } - - #[test] - fn test_empty_does_not_intersect_with_full() { - let e1 = Flags::empty(); - let e2 = Flags::ABC; - assert!(!e1.intersects(e2)); - } - - #[test] - fn test_disjoint_intersects() { - let e1 = Flags::A; - let e2 = Flags::B; - assert!(!e1.intersects(e2)); - } - - #[test] - fn test_overlapping_intersects() { - let e1 = Flags::A; - let e2 = Flags::A | Flags::B; - assert!(e1.intersects(e2)); - } - - #[test] - fn test_contains() { - let e1 = Flags::A; - let e2 = Flags::A | Flags::B; - assert!(!e1.contains(e2)); - assert!(e2.contains(e1)); - assert!(Flags::ABC.contains(e2)); - - assert!(AnotherSetOfFlags::ANOTHER_FLAG.contains(AnotherSetOfFlags::ANOTHER_FLAG)); - } - - #[test] - fn test_insert() { - let mut e1 = Flags::A; - let e2 = Flags::A | Flags::B; - e1.insert(e2); - assert_eq!(e1, e2); - - let mut e3 = AnotherSetOfFlags::empty(); - e3.insert(AnotherSetOfFlags::ANOTHER_FLAG); - assert_eq!(e3, AnotherSetOfFlags::ANOTHER_FLAG); - } - - #[test] - fn test_remove() { - let mut e1 = Flags::A | Flags::B; - let e2 = Flags::A | Flags::C; - e1.remove(e2); - assert_eq!(e1, Flags::B); - - let mut e3 = AnotherSetOfFlags::ANOTHER_FLAG; - e3.remove(AnotherSetOfFlags::ANOTHER_FLAG); - assert_eq!(e3, AnotherSetOfFlags::empty()); - } - - #[test] - fn test_operators() { - let e1 = Flags::A | Flags::C; - let e2 = Flags::B | Flags::C; - assert_eq!((e1 | e2), Flags::ABC); // union - assert_eq!((e1 & e2), Flags::C); // intersection - assert_eq!((e1 - e2), Flags::A); // set difference - assert_eq!(!e2, Flags::A); // set complement - assert_eq!(e1 ^ e2, Flags::A | Flags::B); // toggle - let mut e3 = e1; - e3.toggle(e2); - assert_eq!(e3, Flags::A | Flags::B); - - let mut m4 = AnotherSetOfFlags::empty(); - m4.toggle(AnotherSetOfFlags::empty()); - assert_eq!(m4, AnotherSetOfFlags::empty()); - } - - #[test] - fn test_set() { - let mut e1 = Flags::A | Flags::C; - e1.set(Flags::B, true); - e1.set(Flags::C, false); - - assert_eq!(e1, Flags::A | Flags::B); - } - - #[test] - fn test_assignment_operators() { - let mut m1 = Flags::empty(); - let e1 = Flags::A | Flags::C; - // union - m1 |= Flags::A; - assert_eq!(m1, Flags::A); - // intersection - m1 &= e1; - assert_eq!(m1, Flags::A); - // set difference - m1 -= m1; - assert_eq!(m1, Flags::empty()); - // toggle - m1 ^= e1; - assert_eq!(m1, e1); - } - - - #[cfg(bitflags_const_fn)] - #[test] - fn test_const_fn() { - const M1: Flags = Flags::empty(); - - const M2: Flags = Flags::A; - assert_eq!(M2, Flags::A); - - const M3: Flags = Flags::C; - assert_eq!(M3, Flags::C); - } - - #[test] - fn test_extend() { - let mut flags; - - flags = Flags::empty(); - flags.extend([].iter().cloned()); - assert_eq!(flags, Flags::empty()); - - flags = Flags::empty(); - flags.extend([Flags::A, Flags::B].iter().cloned()); - assert_eq!(flags, Flags::A | Flags::B); - - flags = Flags::A; - flags.extend([Flags::A, Flags::B].iter().cloned()); - assert_eq!(flags, Flags::A | Flags::B); - - flags = Flags::B; - flags.extend([Flags::A, Flags::ABC].iter().cloned()); - assert_eq!(flags, Flags::ABC); - } - - #[test] - fn test_from_iterator() { - assert_eq!([].iter().cloned().collect::(), Flags::empty()); - assert_eq!( - [Flags::A, Flags::B].iter().cloned().collect::(), - Flags::A | Flags::B - ); - assert_eq!( - [Flags::A, Flags::ABC].iter().cloned().collect::(), - Flags::ABC - ); - } - - #[test] - fn test_lt() { - let mut a = Flags::empty(); - let mut b = Flags::empty(); - - assert!(!(a < b) && !(b < a)); - b = Flags::B; - assert!(a < b); - a = Flags::C; - assert!(!(a < b) && b < a); - b = Flags::C | Flags::B; - assert!(a < b); - } - - #[test] - fn test_ord() { - let mut a = Flags::empty(); - let mut b = Flags::empty(); - - assert!(a <= b && a >= b); - a = Flags::A; - assert!(a > b && a >= b); - assert!(b < a && b <= a); - b = Flags::B; - assert!(b > a && b >= a); - assert!(a < b && a <= b); - } - - fn hash(t: &T) -> u64 { - let mut s = DefaultHasher::new(); - t.hash(&mut s); - s.finish() - } - - #[test] - fn test_hash() { - let mut x = Flags::empty(); - let mut y = Flags::empty(); - assert_eq!(hash(&x), hash(&y)); - x = Flags::all(); - y = Flags::ABC; - assert_eq!(hash(&x), hash(&y)); - } - - #[test] - fn test_debug() { - assert_eq!(format!("{:?}", Flags::A | Flags::B), "A | B"); - assert_eq!(format!("{:?}", Flags::empty()), "(empty)"); - assert_eq!(format!("{:?}", Flags::ABC), "A | B | C | ABC"); - } - - #[test] - fn test_binary() { - assert_eq!(format!("{:b}", Flags::ABC), "111"); - assert_eq!(format!("{:#b}", Flags::ABC), "0b111"); - } - - #[test] - fn test_octal() { - assert_eq!(format!("{:o}", LongFlags::LONG_A), "177777"); - assert_eq!(format!("{:#o}", LongFlags::LONG_A), "0o177777"); - } - - #[test] - fn test_lowerhex() { - assert_eq!(format!("{:x}", LongFlags::LONG_A), "ffff"); - assert_eq!(format!("{:#x}", LongFlags::LONG_A), "0xffff"); - } - - #[test] - fn test_upperhex() { - assert_eq!(format!("{:X}", LongFlags::LONG_A), "FFFF"); - assert_eq!(format!("{:#X}", LongFlags::LONG_A), "0xFFFF"); - } - - mod submodule { - bitflags! { - pub struct PublicFlags: i8 { - const X = 0; - } - } - bitflags! { - struct PrivateFlags: i8 { - const Y = 0; - } - } - - #[test] - fn test_private() { - let _ = PrivateFlags::Y; - } - } - - #[test] - fn test_public() { - let _ = submodule::PublicFlags::X; - } - - mod t1 { - mod foo { - pub type Bar = i32; - } - - bitflags! { - /// baz - struct Flags: foo::Bar { - const A = 0b00000001; - #[cfg(foo)] - const B = 0b00000010; - #[cfg(foo)] - const C = 0b00000010; - } - } - } - - #[test] - fn test_in_function() { - bitflags! { - struct Flags: u8 { - const A = 1; - #[cfg(any())] // false - const B = 2; - } - } - assert_eq!(Flags::all(), Flags::A); - assert_eq!(format!("{:?}", Flags::A), "A"); - } - - #[test] - fn test_deprecated() { - bitflags! { - pub struct TestFlags: u32 { - #[deprecated(note = "Use something else.")] - const ONE = 1; - } - } - } - - #[test] - fn test_pub_crate() { - mod module { - bitflags! { - pub (crate) struct Test: u8 { - const FOO = 1; - } - } - } - - assert_eq!(module::Test::FOO.bits(), 1); - } - - #[test] - fn test_pub_in_module() { - mod module { - mod submodule { - bitflags! { - // `pub (in super)` means only the module `module` will - // be able to access this. - pub (in super) struct Test: u8 { - const FOO = 1; - } - } - } - - mod test { - // Note: due to `pub (in super)`, - // this cannot be accessed directly by the testing code. - pub(super) fn value() -> u8 { - super::submodule::Test::FOO.bits() - } - } - - pub fn value() -> u8 { - test::value() - } - } - - assert_eq!(module::value(), 1) - } - - #[test] - fn test_zero_value_flags() { - bitflags! { - struct Flags: u32 { - const NONE = 0b0; - const SOME = 0b1; - } - } - - assert!(Flags::empty().contains(Flags::NONE)); - assert!(Flags::SOME.contains(Flags::NONE)); - assert!(Flags::NONE.is_empty()); - - assert_eq!(format!("{:?}", Flags::empty()), "NONE"); - assert_eq!(format!("{:?}", Flags::SOME), "SOME"); - } -} diff --git a/vendor/registry-40351f815f426200/byteorder/.cargo-checksum.json b/vendor/registry-40351f815f426200/byteorder/.cargo-checksum.json deleted file mode 100644 index 3527b8eb9..000000000 --- a/vendor/registry-40351f815f426200/byteorder/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"CHANGELOG.md":"750ff16a714caad77a272a62b4baed5ea113ead2846f8c3968342e592a99ecd5","COPYING":"01c266bced4a434da0051174d6bee16a4c82cf634e2679b6155d40d75012390f","Cargo.toml":"cd633b2d76dd5d57191388e7cc31340eb2d6b89e2f98f587999dc685d977c673","LICENSE-MIT":"0f96a83840e146e43c0ec96a22ec1f392e0680e6c1226e6f3ba87e0740af850f","README.md":"97c01a66dbff4615acd49a8c3a85d137bf29cc113fa514910195bb11aef445bc","UNLICENSE":"7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c","benches/bench.rs":"250d46461a0529a856d76a6421fd45c499bccba2c532e05dbf438c94582a8eac","src/io.rs":"4221711399f9723ef21c5b07700b8e9319f6f665b1eaaceb49528f6e976a25a9","src/lib.rs":"07e5f53bf3b9e30f1da9f4cf37797b77ce3d16c9f2a3a3e56669dd323debd1b9"},"package":"652805b7e73fada9d85e9a6682a4abd490cb52d96aeecc12e33a0de34dfd0d23"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/byteorder/CHANGELOG.md b/vendor/registry-40351f815f426200/byteorder/CHANGELOG.md deleted file mode 100644 index d59eaa7c5..000000000 --- a/vendor/registry-40351f815f426200/byteorder/CHANGELOG.md +++ /dev/null @@ -1,58 +0,0 @@ -1.2.1 -===== -This patch release removes more unnecessary uses of `unsafe` that -were overlooked in the prior `1.2.0` release. In particular, the -`ReadBytesExt::read_{f32,f64}_into_checked` methods have been deprecated and -replaced by more appropriately named `read_{f32,f64}_into` methods. - - -1.2.0 -===== -The most prominent change in this release of `byteorder` is the removal of -unnecessary signaling NaN masking, and in turn, the `unsafe` annotations -associated with methods that didn't do masking. See -[#103](https://github.com/BurntSushi/byteorder/issues/103) -for more details. - -* [BUG #102](https://github.com/BurntSushi/byteorder/issues/102): - Fix big endian tests. -* [BUG #103](https://github.com/BurntSushi/byteorder/issues/103): - Remove sNaN masking. - - -1.1.0 -===== -This release of `byteorder` features a number of fixes and improvements, mostly -as a result of the -[Litz Blitz evaluation](https://public.etherpad-mozilla.org/p/rust-crate-eval-byteorder). - -Feature enhancements: - -* [FEATURE #63](https://github.com/BurntSushi/byteorder/issues/63): - Add methods for reading/writing slices of numbers for a specific - endianness. -* [FEATURE #65](https://github.com/BurntSushi/byteorder/issues/65): - Add support for `u128`/`i128` types. (Behind the nightly only `i128` - feature.) -* [FEATURE #72](https://github.com/BurntSushi/byteorder/issues/72): - Add "panics" and "errors" sections for each relevant public API item. -* [FEATURE #74](https://github.com/BurntSushi/byteorder/issues/74): - Add CI badges to Cargo.toml. -* [FEATURE #75](https://github.com/BurntSushi/byteorder/issues/75): - Add more examples to public API items. -* Add 24-bit read/write methods. -* Add `BE` and `LE` type aliases for `BigEndian` and `LittleEndian`, - respectively. - -Bug fixes: - -* [BUG #68](https://github.com/BurntSushi/byteorder/issues/68): - Panic in {BigEndian,LittleEndian}::default. -* [BUG #69](https://github.com/BurntSushi/byteorder/issues/69): - Seal the `ByteOrder` trait to prevent out-of-crate implementations. -* [BUG #71](https://github.com/BurntSushi/byteorder/issues/71): - Guarantee that the results of `read_f32`/`read_f64` are always defined. -* [BUG #73](https://github.com/BurntSushi/byteorder/issues/73): - Add crates.io categories. -* [BUG #77](https://github.com/BurntSushi/byteorder/issues/77): - Add `html_root` doc attribute. diff --git a/vendor/registry-40351f815f426200/byteorder/COPYING b/vendor/registry-40351f815f426200/byteorder/COPYING deleted file mode 100644 index bb9c20a09..000000000 --- a/vendor/registry-40351f815f426200/byteorder/COPYING +++ /dev/null @@ -1,3 +0,0 @@ -This project is dual-licensed under the Unlicense and MIT licenses. - -You may use this code under the terms of either license. diff --git a/vendor/registry-40351f815f426200/byteorder/Cargo.toml b/vendor/registry-40351f815f426200/byteorder/Cargo.toml deleted file mode 100644 index 06a18e205..000000000 --- a/vendor/registry-40351f815f426200/byteorder/Cargo.toml +++ /dev/null @@ -1,43 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "byteorder" -version = "1.2.1" -authors = ["Andrew Gallant "] -description = "Library for reading/writing numbers in big-endian and little-endian." -homepage = "https://github.com/BurntSushi/byteorder" -documentation = "https://docs.rs/byteorder" -readme = "README.md" -keywords = ["byte", "endian", "big-endian", "little-endian", "binary"] -categories = ["encoding", "parsing"] -license = "Unlicense/MIT" -repository = "https://github.com/BurntSushi/byteorder" -[profile.bench] -opt-level = 3 - -[lib] -name = "byteorder" -bench = false -[dev-dependencies.quickcheck] -version = "0.4" -default-features = false - -[dev-dependencies.rand] -version = "0.3" - -[features] -default = ["std"] -i128 = [] -std = [] -[badges.travis-ci] -repository = "BurntSushi/byteorder" diff --git a/vendor/registry-40351f815f426200/byteorder/LICENSE-MIT b/vendor/registry-40351f815f426200/byteorder/LICENSE-MIT deleted file mode 100644 index 3b0a5dc09..000000000 --- a/vendor/registry-40351f815f426200/byteorder/LICENSE-MIT +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 Andrew Gallant - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/byteorder/README.md b/vendor/registry-40351f815f426200/byteorder/README.md deleted file mode 100644 index f282ab72e..000000000 --- a/vendor/registry-40351f815f426200/byteorder/README.md +++ /dev/null @@ -1,56 +0,0 @@ -This crate provides convenience methods for encoding and decoding numbers in -either big-endian or little-endian order. - -[![Build status](https://api.travis-ci.org/BurntSushi/byteorder.svg)](https://travis-ci.org/BurntSushi/byteorder) -[![](http://meritbadge.herokuapp.com/byteorder)](https://crates.io/crates/byteorder) - -Dual-licensed under MIT or the [UNLICENSE](http://unlicense.org). - - -### Documentation - -https://docs.rs/byteorder - - -### Installation - -This crate works with Cargo and is on -[crates.io](https://crates.io/crates/byteorder). Add it to your `Cargo.toml` -like so: - -```toml -[dependencies] -byteorder = "1" -``` - -If you want to augment existing `Read` and `Write` traits, then import the -extension methods like so: - -```rust -extern crate byteorder; - -use byteorder::{ReadBytesExt, WriteBytesExt, BigEndian, LittleEndian}; -``` - -For example: - -```rust -use std::io::Cursor; -use byteorder::{BigEndian, ReadBytesExt}; - -let mut rdr = Cursor::new(vec![2, 5, 3, 0]); -// Note that we use type parameters to indicate which kind of byte order -// we want! -assert_eq!(517, rdr.read_u16::().unwrap()); -assert_eq!(768, rdr.read_u16::().unwrap()); -``` - -### `no_std` crates - -This crate has a feature, `std`, that is enabled by default. To use this crate -in a `no_std` context, add the following to your `Cargo.toml`: - -```toml -[dependencies] -byteorder = { version = "1", default-features = false } -``` diff --git a/vendor/registry-40351f815f426200/byteorder/UNLICENSE b/vendor/registry-40351f815f426200/byteorder/UNLICENSE deleted file mode 100644 index 68a49daad..000000000 --- a/vendor/registry-40351f815f426200/byteorder/UNLICENSE +++ /dev/null @@ -1,24 +0,0 @@ -This is free and unencumbered software released into the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. - -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -For more information, please refer to diff --git a/vendor/registry-40351f815f426200/byteorder/benches/bench.rs b/vendor/registry-40351f815f426200/byteorder/benches/bench.rs deleted file mode 100644 index 845e489f8..000000000 --- a/vendor/registry-40351f815f426200/byteorder/benches/bench.rs +++ /dev/null @@ -1,320 +0,0 @@ -#![cfg_attr(feature = "i128", feature(i128))] -#![feature(test)] - -extern crate byteorder; -extern crate rand; -extern crate test; - -macro_rules! bench_num { - ($name:ident, $read:ident, $bytes:expr, $data:expr) => ( - mod $name { - use byteorder::{ByteOrder, BigEndian, NativeEndian, LittleEndian}; - use super::test::Bencher; - use super::test::black_box as bb; - - const NITER: usize = 100_000; - - #[bench] - fn read_big_endian(b: &mut Bencher) { - let buf = $data; - b.iter(|| { - for _ in 0..NITER { - bb(BigEndian::$read(&buf, $bytes)); - } - }); - } - - #[bench] - fn read_little_endian(b: &mut Bencher) { - let buf = $data; - b.iter(|| { - for _ in 0..NITER { - bb(LittleEndian::$read(&buf, $bytes)); - } - }); - } - - #[bench] - fn read_native_endian(b: &mut Bencher) { - let buf = $data; - b.iter(|| { - for _ in 0..NITER { - bb(NativeEndian::$read(&buf, $bytes)); - } - }); - } - } - ); - ($ty:ident, $max:ident, - $read:ident, $write:ident, $size:expr, $data:expr) => ( - mod $ty { - use std::$ty; - use byteorder::{ByteOrder, BigEndian, NativeEndian, LittleEndian}; - use super::test::Bencher; - use super::test::black_box as bb; - - const NITER: usize = 100_000; - - #[bench] - fn read_big_endian(b: &mut Bencher) { - let buf = $data; - b.iter(|| { - for _ in 0..NITER { - bb(BigEndian::$read(&buf)); - } - }); - } - - #[bench] - fn read_little_endian(b: &mut Bencher) { - let buf = $data; - b.iter(|| { - for _ in 0..NITER { - bb(LittleEndian::$read(&buf)); - } - }); - } - - #[bench] - fn read_native_endian(b: &mut Bencher) { - let buf = $data; - b.iter(|| { - for _ in 0..NITER { - bb(NativeEndian::$read(&buf)); - } - }); - } - - #[bench] - fn write_big_endian(b: &mut Bencher) { - let mut buf = $data; - let n = $ty::$max; - b.iter(|| { - for _ in 0..NITER { - bb(BigEndian::$write(&mut buf, n)); - } - }); - } - - #[bench] - fn write_little_endian(b: &mut Bencher) { - let mut buf = $data; - let n = $ty::$max; - b.iter(|| { - for _ in 0..NITER { - bb(LittleEndian::$write(&mut buf, n)); - } - }); - } - - #[bench] - fn write_native_endian(b: &mut Bencher) { - let mut buf = $data; - let n = $ty::$max; - b.iter(|| { - for _ in 0..NITER { - bb(NativeEndian::$write(&mut buf, n)); - } - }); - } - } - ); -} - -bench_num!(u16, MAX, read_u16, write_u16, 2, [1, 2]); -bench_num!(i16, MAX, read_i16, write_i16, 2, [1, 2]); -bench_num!(u32, MAX, read_u32, write_u32, 4, [1, 2, 3, 4]); -bench_num!(i32, MAX, read_i32, write_i32, 4, [1, 2, 3, 4]); -bench_num!(u64, MAX, read_u64, write_u64, 8, [1, 2, 3, 4, 5, 6, 7, 8]); -bench_num!(i64, MAX, read_i64, write_i64, 8, [1, 2, 3, 4, 5, 6, 7, 8]); -bench_num!(f32, MAX, read_f32, write_f32, 4, [1, 2, 3, 4]); -bench_num!(f64, MAX, read_f64, write_f64, 8, - [1, 2, 3, 4, 5, 6, 7, 8]); - -bench_num!(uint_1, read_uint, 1, [1]); -bench_num!(uint_2, read_uint, 2, [1, 2]); -bench_num!(uint_3, read_uint, 3, [1, 2, 3]); -bench_num!(uint_4, read_uint, 4, [1, 2, 3, 4]); -bench_num!(uint_5, read_uint, 5, [1, 2, 3, 4, 5]); -bench_num!(uint_6, read_uint, 6, [1, 2, 3, 4, 5, 6]); -bench_num!(uint_7, read_uint, 7, [1, 2, 3, 4, 5, 6, 7]); -bench_num!(uint_8, read_uint, 8, [1, 2, 3, 4, 5, 6, 7, 8]); - -bench_num!(int_1, read_int, 1, [1]); -bench_num!(int_2, read_int, 2, [1, 2]); -bench_num!(int_3, read_int, 3, [1, 2, 3]); -bench_num!(int_4, read_int, 4, [1, 2, 3, 4]); -bench_num!(int_5, read_int, 5, [1, 2, 3, 4, 5]); -bench_num!(int_6, read_int, 6, [1, 2, 3, 4, 5, 6]); -bench_num!(int_7, read_int, 7, [1, 2, 3, 4, 5, 6, 7]); -bench_num!(int_8, read_int, 8, [1, 2, 3, 4, 5, 6, 7, 8]); - -#[cfg(feature = "i128")] -bench_num!(u128, MAX, read_u128, write_u128, - 16, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]); -#[cfg(feature = "i128")] -bench_num!(i128, MAX, read_i128, write_i128, - 16, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]); - -#[cfg(feature = "i128")] -bench_num!(uint128_1, read_uint128, - 1, [1]); -#[cfg(feature = "i128")] -bench_num!(uint128_2, read_uint128, - 2, [1, 2]); -#[cfg(feature = "i128")] -bench_num!(uint128_3, read_uint128, - 3, [1, 2, 3]); -#[cfg(feature = "i128")] -bench_num!(uint128_4, read_uint128, - 4, [1, 2, 3, 4]); -#[cfg(feature = "i128")] -bench_num!(uint128_5, read_uint128, - 5, [1, 2, 3, 4, 5]); -#[cfg(feature = "i128")] -bench_num!(uint128_6, read_uint128, - 6, [1, 2, 3, 4, 5, 6]); -#[cfg(feature = "i128")] -bench_num!(uint128_7, read_uint128, - 7, [1, 2, 3, 4, 5, 6, 7]); -#[cfg(feature = "i128")] -bench_num!(uint128_8, read_uint128, - 8, [1, 2, 3, 4, 5, 6, 7, 8]); -#[cfg(feature = "i128")] -bench_num!(uint128_9, read_uint128, - 9, [1, 2, 3, 4, 5, 6, 7, 8, 9]); -#[cfg(feature = "i128")] -bench_num!(uint128_10, read_uint128, - 10, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]); -#[cfg(feature = "i128")] -bench_num!(uint128_11, read_uint128, - 11, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]); -#[cfg(feature = "i128")] -bench_num!(uint128_12, read_uint128, - 12, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]); -#[cfg(feature = "i128")] -bench_num!(uint128_13, read_uint128, - 13, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]); -#[cfg(feature = "i128")] -bench_num!(uint128_14, read_uint128, - 14, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]); -#[cfg(feature = "i128")] -bench_num!(uint128_15, read_uint128, - 15, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]); -#[cfg(feature = "i128")] -bench_num!(uint128_16, read_uint128, - 16, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]); - -#[cfg(feature = "i128")] -bench_num!(int128_1, read_int128, - 1, [1]); -#[cfg(feature = "i128")] -bench_num!(int128_2, read_int128, - 2, [1, 2]); -#[cfg(feature = "i128")] -bench_num!(int128_3, read_int128, - 3, [1, 2, 3]); -#[cfg(feature = "i128")] -bench_num!(int128_4, read_int128, - 4, [1, 2, 3, 4]); -#[cfg(feature = "i128")] -bench_num!(int128_5, read_int128, - 5, [1, 2, 3, 4, 5]); -#[cfg(feature = "i128")] -bench_num!(int128_6, read_int128, - 6, [1, 2, 3, 4, 5, 6]); -#[cfg(feature = "i128")] -bench_num!(int128_7, read_int128, - 7, [1, 2, 3, 4, 5, 6, 7]); -#[cfg(feature = "i128")] -bench_num!(int128_8, read_int128, - 8, [1, 2, 3, 4, 5, 6, 7, 8]); -#[cfg(feature = "i128")] -bench_num!(int128_9, read_int128, - 9, [1, 2, 3, 4, 5, 6, 7, 8, 9]); -#[cfg(feature = "i128")] -bench_num!(int128_10, read_int128, - 10, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]); -#[cfg(feature = "i128")] -bench_num!(int128_11, read_int128, - 11, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]); -#[cfg(feature = "i128")] -bench_num!(int128_12, read_int128, - 12, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]); -#[cfg(feature = "i128")] -bench_num!(int128_13, read_int128, - 13, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]); -#[cfg(feature = "i128")] -bench_num!(int128_14, read_int128, - 14, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]); -#[cfg(feature = "i128")] -bench_num!(int128_15, read_int128, - 15, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]); -#[cfg(feature = "i128")] -bench_num!(int128_16, read_int128, - 16, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]); - - -macro_rules! bench_slice { - ($name:ident, $numty:ty, $read:ident, $write:ident) => { - mod $name { - use std::mem::size_of; - - use byteorder::{ByteOrder, BigEndian, LittleEndian}; - use rand::{self, Rng}; - use test::Bencher; - - #[bench] - fn read_big_endian(b: &mut Bencher) { - let mut numbers: Vec<$numty> = - rand::thread_rng().gen_iter().take(100000).collect(); - let mut bytes = vec![0; numbers.len() * size_of::<$numty>()]; - BigEndian::$write(&numbers, &mut bytes); - - b.bytes = bytes.len() as u64; - b.iter(|| { - BigEndian::$read(&bytes, &mut numbers); - }); - } - - #[bench] - fn read_little_endian(b: &mut Bencher) { - let mut numbers: Vec<$numty> = - rand::thread_rng().gen_iter().take(100000).collect(); - let mut bytes = vec![0; numbers.len() * size_of::<$numty>()]; - LittleEndian::$write(&numbers, &mut bytes); - - b.bytes = bytes.len() as u64; - b.iter(|| { - LittleEndian::$read(&bytes, &mut numbers); - }); - } - - #[bench] - fn write_big_endian(b: &mut Bencher) { - let numbers: Vec<$numty> = - rand::thread_rng().gen_iter().take(100000).collect(); - let mut bytes = vec![0; numbers.len() * size_of::<$numty>()]; - - b.bytes = bytes.len() as u64; - b.iter(|| { - BigEndian::$write(&numbers, &mut bytes); - }); - } - - #[bench] - fn write_little_endian(b: &mut Bencher) { - let numbers: Vec<$numty> = - rand::thread_rng().gen_iter().take(100000).collect(); - let mut bytes = vec![0; numbers.len() * size_of::<$numty>()]; - - b.bytes = bytes.len() as u64; - b.iter(|| { - LittleEndian::$write(&numbers, &mut bytes); - }); - } - } - } -} - -bench_slice!(slice_u64, u64, read_u64_into, write_u64_into); diff --git a/vendor/registry-40351f815f426200/byteorder/src/io.rs b/vendor/registry-40351f815f426200/byteorder/src/io.rs deleted file mode 100644 index c5645fa17..000000000 --- a/vendor/registry-40351f815f426200/byteorder/src/io.rs +++ /dev/null @@ -1,1264 +0,0 @@ -use std::io::{self, Result}; -use std::slice; - -use ByteOrder; - -/// Extends `Read` with methods for reading numbers. (For `std::io`.) -/// -/// Most of the methods defined here have an unconstrained type parameter that -/// must be explicitly instantiated. Typically, it is instantiated with either -/// the `BigEndian` or `LittleEndian` types defined in this crate. -/// -/// # Examples -/// -/// Read unsigned 16 bit big-endian integers from a `Read`: -/// -/// ```rust -/// use std::io::Cursor; -/// use byteorder::{BigEndian, ReadBytesExt}; -/// -/// let mut rdr = Cursor::new(vec![2, 5, 3, 0]); -/// assert_eq!(517, rdr.read_u16::().unwrap()); -/// assert_eq!(768, rdr.read_u16::().unwrap()); -/// ``` -pub trait ReadBytesExt: io::Read { - /// Reads an unsigned 8 bit integer from the underlying reader. - /// - /// Note that since this reads a single byte, no byte order conversions - /// are used. It is included for completeness. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read unsigned 8 bit integers from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![2, 5]); - /// assert_eq!(2, rdr.read_u8().unwrap()); - /// assert_eq!(5, rdr.read_u8().unwrap()); - /// ``` - #[inline] - fn read_u8(&mut self) -> Result { - let mut buf = [0; 1]; - try!(self.read_exact(&mut buf)); - Ok(buf[0]) - } - - /// Reads a signed 8 bit integer from the underlying reader. - /// - /// Note that since this reads a single byte, no byte order conversions - /// are used. It is included for completeness. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read unsigned 8 bit integers from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![0x02, 0xfb]); - /// assert_eq!(2, rdr.read_i8().unwrap()); - /// assert_eq!(-5, rdr.read_i8().unwrap()); - /// ``` - #[inline] - fn read_i8(&mut self) -> Result { - let mut buf = [0; 1]; - try!(self.read_exact(&mut buf)); - Ok(buf[0] as i8) - } - - /// Reads an unsigned 16 bit integer from the underlying reader. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read unsigned 16 bit big-endian integers from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![2, 5, 3, 0]); - /// assert_eq!(517, rdr.read_u16::().unwrap()); - /// assert_eq!(768, rdr.read_u16::().unwrap()); - /// ``` - #[inline] - fn read_u16(&mut self) -> Result { - let mut buf = [0; 2]; - try!(self.read_exact(&mut buf)); - Ok(T::read_u16(&buf)) - } - - /// Reads a signed 16 bit integer from the underlying reader. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read signed 16 bit big-endian integers from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![0x00, 0xc1, 0xff, 0x7c]); - /// assert_eq!(193, rdr.read_i16::().unwrap()); - /// assert_eq!(-132, rdr.read_i16::().unwrap()); - /// ``` - #[inline] - fn read_i16(&mut self) -> Result { - let mut buf = [0; 2]; - try!(self.read_exact(&mut buf)); - Ok(T::read_i16(&buf)) - } - - /// Reads an unsigned 24 bit integer from the underlying reader. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read unsigned 24 bit big-endian integers from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![0x00, 0x01, 0x0b]); - /// assert_eq!(267, rdr.read_u24::().unwrap()); - /// ``` - #[inline] - fn read_u24(&mut self) -> Result { - let mut buf = [0; 3]; - try!(self.read_exact(&mut buf)); - Ok(T::read_u24(&buf)) - } - - /// Reads a signed 24 bit integer from the underlying reader. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read signed 24 bit big-endian integers from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![0xff, 0x7a, 0x33]); - /// assert_eq!(-34253, rdr.read_i24::().unwrap()); - /// ``` - #[inline] - fn read_i24(&mut self) -> Result { - let mut buf = [0; 3]; - try!(self.read_exact(&mut buf)); - Ok(T::read_i24(&buf)) - } - - /// Reads an unsigned 32 bit integer from the underlying reader. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read unsigned 32 bit big-endian integers from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![0x00, 0x00, 0x01, 0x0b]); - /// assert_eq!(267, rdr.read_u32::().unwrap()); - /// ``` - #[inline] - fn read_u32(&mut self) -> Result { - let mut buf = [0; 4]; - try!(self.read_exact(&mut buf)); - Ok(T::read_u32(&buf)) - } - - /// Reads a signed 32 bit integer from the underlying reader. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read signed 32 bit big-endian integers from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![0xff, 0xff, 0x7a, 0x33]); - /// assert_eq!(-34253, rdr.read_i32::().unwrap()); - /// ``` - #[inline] - fn read_i32(&mut self) -> Result { - let mut buf = [0; 4]; - try!(self.read_exact(&mut buf)); - Ok(T::read_i32(&buf)) - } - - /// Reads an unsigned 64 bit integer from the underlying reader. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read an unsigned 64 bit big-endian integer from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83]); - /// assert_eq!(918733457491587, rdr.read_u64::().unwrap()); - /// ``` - #[inline] - fn read_u64(&mut self) -> Result { - let mut buf = [0; 8]; - try!(self.read_exact(&mut buf)); - Ok(T::read_u64(&buf)) - } - - /// Reads a signed 64 bit integer from the underlying reader. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read a signed 64 bit big-endian integer from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![0x80, 0, 0, 0, 0, 0, 0, 0]); - /// assert_eq!(i64::min_value(), rdr.read_i64::().unwrap()); - /// ``` - #[inline] - fn read_i64(&mut self) -> Result { - let mut buf = [0; 8]; - try!(self.read_exact(&mut buf)); - Ok(T::read_i64(&buf)) - } - - /// Reads an unsigned 128 bit integer from the underlying reader. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read an unsigned 128 bit big-endian integer from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![ - /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83, - /// 0x00, 0x03, 0x43, 0x95, 0x4d, 0x60, 0x86, 0x83 - /// ]); - /// assert_eq!(16947640962301618749969007319746179, rdr.read_u128::().unwrap()); - /// ``` - #[cfg(feature = "i128")] - #[inline] - fn read_u128(&mut self) -> Result { - let mut buf = [0; 16]; - try!(self.read_exact(&mut buf)); - Ok(T::read_u128(&buf)) - } - - /// Reads a signed 128 bit integer from the underlying reader. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read a signed 128 bit big-endian integer from a `Read`: - /// - /// ```rust - /// #![feature(i128_type)] - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); - /// assert_eq!(i128::min_value(), rdr.read_i128::().unwrap()); - /// ``` - #[cfg(feature = "i128")] - #[inline] - fn read_i128(&mut self) -> Result { - let mut buf = [0; 16]; - try!(self.read_exact(&mut buf)); - Ok(T::read_i128(&buf)) - } - - /// Reads an unsigned n-bytes integer from the underlying reader. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read an unsigned n-byte big-endian integer from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![0x80, 0x74, 0xfa]); - /// assert_eq!(8418554, rdr.read_uint::(3).unwrap()); - #[inline] - fn read_uint(&mut self, nbytes: usize) -> Result { - let mut buf = [0; 8]; - try!(self.read_exact(&mut buf[..nbytes])); - Ok(T::read_uint(&buf[..nbytes], nbytes)) - } - - /// Reads a signed n-bytes integer from the underlying reader. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read an unsigned n-byte big-endian integer from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![0xc1, 0xff, 0x7c]); - /// assert_eq!(-4063364, rdr.read_int::(3).unwrap()); - #[inline] - fn read_int(&mut self, nbytes: usize) -> Result { - let mut buf = [0; 8]; - try!(self.read_exact(&mut buf[..nbytes])); - Ok(T::read_int(&buf[..nbytes], nbytes)) - } - - /// Reads an unsigned n-bytes integer from the underlying reader. - #[cfg(feature = "i128")] - #[inline] - fn read_uint128(&mut self, nbytes: usize) -> Result { - let mut buf = [0; 16]; - try!(self.read_exact(&mut buf[..nbytes])); - Ok(T::read_uint128(&buf[..nbytes], nbytes)) - } - - /// Reads a signed n-bytes integer from the underlying reader. - #[cfg(feature = "i128")] - #[inline] - fn read_int128(&mut self, nbytes: usize) -> Result { - let mut buf = [0; 16]; - try!(self.read_exact(&mut buf[..nbytes])); - Ok(T::read_int128(&buf[..nbytes], nbytes)) - } - - /// Reads a IEEE754 single-precision (4 bytes) floating point number from - /// the underlying reader. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read a big-endian single-precision floating point number from a `Read`: - /// - /// ```rust - /// use std::f32; - /// use std::io::Cursor; - /// - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![ - /// 0x40, 0x49, 0x0f, 0xdb, - /// ]); - /// assert_eq!(f32::consts::PI, rdr.read_f32::().unwrap()); - /// ``` - #[inline] - fn read_f32(&mut self) -> Result { - let mut buf = [0; 4]; - try!(self.read_exact(&mut buf)); - Ok(T::read_f32(&buf)) - } - - /// Reads a IEEE754 double-precision (8 bytes) floating point number from - /// the underlying reader. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read a big-endian double-precision floating point number from a `Read`: - /// - /// ```rust - /// use std::f64; - /// use std::io::Cursor; - /// - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![ - /// 0x40, 0x09, 0x21, 0xfb, 0x54, 0x44, 0x2d, 0x18, - /// ]); - /// assert_eq!(f64::consts::PI, rdr.read_f64::().unwrap()); - /// ``` - #[inline] - fn read_f64(&mut self) -> Result { - let mut buf = [0; 8]; - try!(self.read_exact(&mut buf)); - Ok(T::read_f64(&buf)) - } - - /// Reads a sequence of unsigned 16 bit integers from the underlying - /// reader. - /// - /// The given buffer is either filled completely or an error is returned. - /// If an error is returned, the contents of `dst` are unspecified. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read a sequence of unsigned 16 bit big-endian integers from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![2, 5, 3, 0]); - /// let mut dst = [0; 2]; - /// rdr.read_u16_into::(&mut dst).unwrap(); - /// assert_eq!([517, 768], dst); - /// ``` - #[inline] - fn read_u16_into(&mut self, dst: &mut [u16]) -> Result<()> { - { - let buf = unsafe { slice_to_u8_mut(dst) }; - try!(self.read_exact(buf)); - } - T::from_slice_u16(dst); - Ok(()) - } - - /// Reads a sequence of unsigned 32 bit integers from the underlying - /// reader. - /// - /// The given buffer is either filled completely or an error is returned. - /// If an error is returned, the contents of `dst` are unspecified. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read a sequence of unsigned 32 bit big-endian integers from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![0, 0, 2, 5, 0, 0, 3, 0]); - /// let mut dst = [0; 2]; - /// rdr.read_u32_into::(&mut dst).unwrap(); - /// assert_eq!([517, 768], dst); - /// ``` - #[inline] - fn read_u32_into(&mut self, dst: &mut [u32]) -> Result<()> { - { - let buf = unsafe { slice_to_u8_mut(dst) }; - try!(self.read_exact(buf)); - } - T::from_slice_u32(dst); - Ok(()) - } - - /// Reads a sequence of unsigned 64 bit integers from the underlying - /// reader. - /// - /// The given buffer is either filled completely or an error is returned. - /// If an error is returned, the contents of `dst` are unspecified. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read a sequence of unsigned 64 bit big-endian integers from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![ - /// 0, 0, 0, 0, 0, 0, 2, 5, - /// 0, 0, 0, 0, 0, 0, 3, 0, - /// ]); - /// let mut dst = [0; 2]; - /// rdr.read_u64_into::(&mut dst).unwrap(); - /// assert_eq!([517, 768], dst); - /// ``` - #[inline] - fn read_u64_into(&mut self, dst: &mut [u64]) -> Result<()> { - { - let buf = unsafe { slice_to_u8_mut(dst) }; - try!(self.read_exact(buf)); - } - T::from_slice_u64(dst); - Ok(()) - } - - /// Reads a sequence of unsigned 128 bit integers from the underlying - /// reader. - /// - /// The given buffer is either filled completely or an error is returned. - /// If an error is returned, the contents of `dst` are unspecified. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read a sequence of unsigned 128 bit big-endian integers from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![ - /// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, - /// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, - /// ]); - /// let mut dst = [0; 2]; - /// rdr.read_u128_into::(&mut dst).unwrap(); - /// assert_eq!([517, 768], dst); - /// ``` - #[cfg(feature = "i128")] - #[inline] - fn read_u128_into( - &mut self, - dst: &mut [u128], - ) -> Result<()> { - { - let mut buf = unsafe { slice_to_u8_mut(dst) }; - try!(self.read_exact(buf)); - } - T::from_slice_u128(dst); - Ok(()) - } - - /// Reads a sequence of signed 16 bit integers from the underlying - /// reader. - /// - /// The given buffer is either filled completely or an error is returned. - /// If an error is returned, the contents of `dst` are unspecified. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read a sequence of signed 16 bit big-endian integers from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![2, 5, 3, 0]); - /// let mut dst = [0; 2]; - /// rdr.read_i16_into::(&mut dst).unwrap(); - /// assert_eq!([517, 768], dst); - /// ``` - #[inline] - fn read_i16_into(&mut self, dst: &mut [i16]) -> Result<()> { - { - let buf = unsafe { slice_to_u8_mut(dst) }; - try!(self.read_exact(buf)); - } - T::from_slice_i16(dst); - Ok(()) - } - - /// Reads a sequence of signed 32 bit integers from the underlying - /// reader. - /// - /// The given buffer is either filled completely or an error is returned. - /// If an error is returned, the contents of `dst` are unspecified. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read a sequence of signed 32 bit big-endian integers from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![0, 0, 2, 5, 0, 0, 3, 0]); - /// let mut dst = [0; 2]; - /// rdr.read_i32_into::(&mut dst).unwrap(); - /// assert_eq!([517, 768], dst); - /// ``` - #[inline] - fn read_i32_into(&mut self, dst: &mut [i32]) -> Result<()> { - { - let buf = unsafe { slice_to_u8_mut(dst) }; - try!(self.read_exact(buf)); - } - T::from_slice_i32(dst); - Ok(()) - } - - /// Reads a sequence of signed 64 bit integers from the underlying - /// reader. - /// - /// The given buffer is either filled completely or an error is returned. - /// If an error is returned, the contents of `dst` are unspecified. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read a sequence of signed 64 bit big-endian integers from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![ - /// 0, 0, 0, 0, 0, 0, 2, 5, - /// 0, 0, 0, 0, 0, 0, 3, 0, - /// ]); - /// let mut dst = [0; 2]; - /// rdr.read_i64_into::(&mut dst).unwrap(); - /// assert_eq!([517, 768], dst); - /// ``` - #[inline] - fn read_i64_into(&mut self, dst: &mut [i64]) -> Result<()> { - { - let buf = unsafe { slice_to_u8_mut(dst) }; - try!(self.read_exact(buf)); - } - T::from_slice_i64(dst); - Ok(()) - } - - /// Reads a sequence of signed 128 bit integers from the underlying - /// reader. - /// - /// The given buffer is either filled completely or an error is returned. - /// If an error is returned, the contents of `dst` are unspecified. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read a sequence of signed 128 bit big-endian integers from a `Read`: - /// - /// ```rust - /// use std::io::Cursor; - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![ - /// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, - /// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, - /// ]); - /// let mut dst = [0; 2]; - /// rdr.read_i128_into::(&mut dst).unwrap(); - /// assert_eq!([517, 768], dst); - /// ``` - #[cfg(feature = "i128")] - #[inline] - fn read_i128_into( - &mut self, - dst: &mut [i128], - ) -> Result<()> { - { - let mut buf = unsafe { slice_to_u8_mut(dst) }; - try!(self.read_exact(buf)); - } - T::from_slice_i128(dst); - Ok(()) - } - - /// Reads a sequence of IEEE754 single-precision (4 bytes) floating - /// point numbers from the underlying reader. - /// - /// The given buffer is either filled completely or an error is returned. - /// If an error is returned, the contents of `dst` are unspecified. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read a sequence of big-endian single-precision floating point number - /// from a `Read`: - /// - /// ```rust - /// use std::f32; - /// use std::io::Cursor; - /// - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![ - /// 0x40, 0x49, 0x0f, 0xdb, - /// 0x3f, 0x80, 0x00, 0x00, - /// ]); - /// let mut dst = [0.0; 2]; - /// rdr.read_f32_into::(&mut dst).unwrap(); - /// assert_eq!([f32::consts::PI, 1.0], dst); - /// ``` - #[inline] - fn read_f32_into( - &mut self, - dst: &mut [f32], - ) -> Result<()> { - { - let buf = unsafe { slice_to_u8_mut(dst) }; - try!(self.read_exact(buf)); - } - T::from_slice_f32(dst); - Ok(()) - } - - /// **DEPRECATED**. - /// - /// This method is deprecated. Use `read_f32_into` instead. - /// - /// Reads a sequence of IEEE754 single-precision (4 bytes) floating - /// point numbers from the underlying reader. - /// - /// The given buffer is either filled completely or an error is returned. - /// If an error is returned, the contents of `dst` are unspecified. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read a sequence of big-endian single-precision floating point number - /// from a `Read`: - /// - /// ```rust - /// use std::f32; - /// use std::io::Cursor; - /// - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![ - /// 0x40, 0x49, 0x0f, 0xdb, - /// 0x3f, 0x80, 0x00, 0x00, - /// ]); - /// let mut dst = [0.0; 2]; - /// rdr.read_f32_into_unchecked::(&mut dst).unwrap(); - /// assert_eq!([f32::consts::PI, 1.0], dst); - /// ``` - #[inline] - fn read_f32_into_unchecked( - &mut self, - dst: &mut [f32], - ) -> Result<()> { - self.read_f32_into::(dst) - } - - /// Reads a sequence of IEEE754 double-precision (8 bytes) floating - /// point numbers from the underlying reader. - /// - /// The given buffer is either filled completely or an error is returned. - /// If an error is returned, the contents of `dst` are unspecified. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read a sequence of big-endian single-precision floating point number - /// from a `Read`: - /// - /// ```rust - /// use std::f64; - /// use std::io::Cursor; - /// - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![ - /// 0x40, 0x09, 0x21, 0xfb, 0x54, 0x44, 0x2d, 0x18, - /// 0x3f, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /// ]); - /// let mut dst = [0.0; 2]; - /// rdr.read_f64_into::(&mut dst).unwrap(); - /// assert_eq!([f64::consts::PI, 1.0], dst); - /// ``` - #[inline] - fn read_f64_into( - &mut self, - dst: &mut [f64], - ) -> Result<()> { - { - let buf = unsafe { slice_to_u8_mut(dst) }; - try!(self.read_exact(buf)); - } - T::from_slice_f64(dst); - Ok(()) - } - - /// **DEPRECATED**. - /// - /// This method is deprecated. Use `read_f64_into` instead. - /// - /// Reads a sequence of IEEE754 double-precision (8 bytes) floating - /// point numbers from the underlying reader. - /// - /// The given buffer is either filled completely or an error is returned. - /// If an error is returned, the contents of `dst` are unspecified. - /// - /// # Safety - /// - /// This method is unsafe because there are no guarantees made about the - /// floating point values. In particular, this method does not check for - /// signaling NaNs, which may result in undefined behavior. - /// - /// # Errors - /// - /// This method returns the same errors as [`Read::read_exact`]. - /// - /// [`Read::read_exact`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_exact - /// - /// # Examples - /// - /// Read a sequence of big-endian single-precision floating point number - /// from a `Read`: - /// - /// ```rust - /// use std::f64; - /// use std::io::Cursor; - /// - /// use byteorder::{BigEndian, ReadBytesExt}; - /// - /// let mut rdr = Cursor::new(vec![ - /// 0x40, 0x09, 0x21, 0xfb, 0x54, 0x44, 0x2d, 0x18, - /// 0x3f, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /// ]); - /// let mut dst = [0.0; 2]; - /// rdr.read_f64_into_unchecked::(&mut dst).unwrap(); - /// assert_eq!([f64::consts::PI, 1.0], dst); - /// ``` - #[inline] - fn read_f64_into_unchecked( - &mut self, - dst: &mut [f64], - ) -> Result<()> { - self.read_f64_into::(dst) - } -} - -/// All types that implement `Read` get methods defined in `ReadBytesExt` -/// for free. -impl ReadBytesExt for R {} - -/// Extends `Write` with methods for writing numbers. (For `std::io`.) -/// -/// Most of the methods defined here have an unconstrained type parameter that -/// must be explicitly instantiated. Typically, it is instantiated with either -/// the `BigEndian` or `LittleEndian` types defined in this crate. -/// -/// # Examples -/// -/// Write unsigned 16 bit big-endian integers to a `Write`: -/// -/// ```rust -/// use byteorder::{BigEndian, WriteBytesExt}; -/// -/// let mut wtr = vec![]; -/// wtr.write_u16::(517).unwrap(); -/// wtr.write_u16::(768).unwrap(); -/// assert_eq!(wtr, vec![2, 5, 3, 0]); -/// ``` -pub trait WriteBytesExt: io::Write { - /// Writes an unsigned 8 bit integer to the underlying writer. - /// - /// Note that since this writes a single byte, no byte order conversions - /// are used. It is included for completeness. - /// - /// # Errors - /// - /// This method returns the same errors as [`Write::write_all`]. - /// - /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all - #[inline] - fn write_u8(&mut self, n: u8) -> Result<()> { - self.write_all(&[n]) - } - - /// Writes a signed 8 bit integer to the underlying writer. - /// - /// Note that since this writes a single byte, no byte order conversions - /// are used. It is included for completeness. - /// - /// # Errors - /// - /// This method returns the same errors as [`Write::write_all`]. - /// - /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all - #[inline] - fn write_i8(&mut self, n: i8) -> Result<()> { - self.write_all(&[n as u8]) - } - - /// Writes an unsigned 16 bit integer to the underlying writer. - /// - /// # Errors - /// - /// This method returns the same errors as [`Write::write_all`]. - /// - /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all - #[inline] - fn write_u16(&mut self, n: u16) -> Result<()> { - let mut buf = [0; 2]; - T::write_u16(&mut buf, n); - self.write_all(&buf) - } - - /// Writes a signed 16 bit integer to the underlying writer. - /// - /// # Errors - /// - /// This method returns the same errors as [`Write::write_all`]. - /// - /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all - #[inline] - fn write_i16(&mut self, n: i16) -> Result<()> { - let mut buf = [0; 2]; - T::write_i16(&mut buf, n); - self.write_all(&buf) - } - - /// Writes an unsigned 24 bit integer to the underlying writer. - /// - /// # Errors - /// - /// This method returns the same errors as [`Write::write_all`]. - /// - /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all - #[inline] - fn write_u24(&mut self, n: u32) -> Result<()> { - let mut buf = [0; 3]; - T::write_u24(&mut buf, n); - self.write_all(&buf) - } - - /// Writes a signed 24 bit integer to the underlying writer. - /// - /// # Errors - /// - /// This method returns the same errors as [`Write::write_all`]. - /// - /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all - #[inline] - fn write_i24(&mut self, n: i32) -> Result<()> { - let mut buf = [0; 3]; - T::write_i24(&mut buf, n); - self.write_all(&buf) - } - - /// Writes an unsigned 32 bit integer to the underlying writer. - /// - /// # Errors - /// - /// This method returns the same errors as [`Write::write_all`]. - /// - /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all - #[inline] - fn write_u32(&mut self, n: u32) -> Result<()> { - let mut buf = [0; 4]; - T::write_u32(&mut buf, n); - self.write_all(&buf) - } - - /// Writes a signed 32 bit integer to the underlying writer. - /// - /// # Errors - /// - /// This method returns the same errors as [`Write::write_all`]. - /// - /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all - #[inline] - fn write_i32(&mut self, n: i32) -> Result<()> { - let mut buf = [0; 4]; - T::write_i32(&mut buf, n); - self.write_all(&buf) - } - - /// Writes an unsigned 64 bit integer to the underlying writer. - /// - /// # Errors - /// - /// This method returns the same errors as [`Write::write_all`]. - /// - /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all - #[inline] - fn write_u64(&mut self, n: u64) -> Result<()> { - let mut buf = [0; 8]; - T::write_u64(&mut buf, n); - self.write_all(&buf) - } - - /// Writes a signed 64 bit integer to the underlying writer. - /// - /// # Errors - /// - /// This method returns the same errors as [`Write::write_all`]. - /// - /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all - #[inline] - fn write_i64(&mut self, n: i64) -> Result<()> { - let mut buf = [0; 8]; - T::write_i64(&mut buf, n); - self.write_all(&buf) - } - - /// Writes an unsigned 128 bit integer to the underlying writer. - #[cfg(feature = "i128")] - #[inline] - fn write_u128(&mut self, n: u128) -> Result<()> { - let mut buf = [0; 16]; - T::write_u128(&mut buf, n); - self.write_all(&buf) - } - - /// Writes a signed 128 bit integer to the underlying writer. - #[cfg(feature = "i128")] - #[inline] - fn write_i128(&mut self, n: i128) -> Result<()> { - let mut buf = [0; 16]; - T::write_i128(&mut buf, n); - self.write_all(&buf) - } - - /// Writes an unsigned n-bytes integer to the underlying writer. - /// - /// # Errors - /// - /// This method returns the same errors as [`Write::write_all`]. - /// - /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all - /// - /// # Panics - /// - /// If the given integer is not representable in the given number of bytes, - /// this method panics. If `nbytes > 8`, this method panics. - #[inline] - fn write_uint( - &mut self, - n: u64, - nbytes: usize, - ) -> Result<()> { - let mut buf = [0; 8]; - T::write_uint(&mut buf, n, nbytes); - self.write_all(&buf[0..nbytes]) - } - - /// Writes a signed n-bytes integer to the underlying writer. - /// - /// # Errors - /// - /// This method returns the same errors as [`Write::write_all`]. - /// - /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all - /// - /// # Panics - /// - /// If the given integer is not representable in the given number of bytes, - /// this method panics. If `nbytes > 8`, this method panics. - #[inline] - fn write_int( - &mut self, - n: i64, - nbytes: usize, - ) -> Result<()> { - let mut buf = [0; 8]; - T::write_int(&mut buf, n, nbytes); - self.write_all(&buf[0..nbytes]) - } - - /// Writes an unsigned n-bytes integer to the underlying writer. - /// - /// If the given integer is not representable in the given number of bytes, - /// this method panics. If `nbytes > 16`, this method panics. - #[cfg(feature = "i128")] - #[inline] - fn write_uint128( - &mut self, - n: u128, - nbytes: usize, - ) -> Result<()> { - let mut buf = [0; 16]; - T::write_uint128(&mut buf, n, nbytes); - self.write_all(&buf[0..nbytes]) - } - - /// Writes a signed n-bytes integer to the underlying writer. - /// - /// If the given integer is not representable in the given number of bytes, - /// this method panics. If `nbytes > 16`, this method panics. - #[cfg(feature = "i128")] - #[inline] - fn write_int128( - &mut self, - n: i128, - nbytes: usize, - ) -> Result<()> { - let mut buf = [0; 16]; - T::write_int128(&mut buf, n, nbytes); - self.write_all(&buf[0..nbytes]) - } - - /// Writes a IEEE754 single-precision (4 bytes) floating point number to - /// the underlying writer. - /// - /// # Errors - /// - /// This method returns the same errors as [`Write::write_all`]. - /// - /// [`Write::write_all`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_all - #[inline] - fn write_f32(&mut self, n: f32) -> Result<()> { - let mut buf = [0; 4]; - T::write_f32(&mut buf, n); - self.write_all(&buf) - } - - /// Writes a IEEE754 double-precision (8 bytes) floating point number to - /// the underlying writer. - #[inline] - fn write_f64(&mut self, n: f64) -> Result<()> { - let mut buf = [0; 8]; - T::write_f64(&mut buf, n); - self.write_all(&buf) - } -} - -/// All types that implement `Write` get methods defined in `WriteBytesExt` -/// for free. -impl WriteBytesExt for W {} - -/// Convert a slice of T (where T is plain old data) to its mutable binary -/// representation. -/// -/// This function is wildly unsafe because it permits arbitrary modification of -/// the binary representation of any `Copy` type. Use with care. -unsafe fn slice_to_u8_mut(slice: &mut [T]) -> &mut [u8] { - use std::mem::size_of; - - let len = size_of::() * slice.len(); - slice::from_raw_parts_mut(slice.as_mut_ptr() as *mut u8, len) -} diff --git a/vendor/registry-40351f815f426200/byteorder/src/lib.rs b/vendor/registry-40351f815f426200/byteorder/src/lib.rs deleted file mode 100644 index 0654e88d0..000000000 --- a/vendor/registry-40351f815f426200/byteorder/src/lib.rs +++ /dev/null @@ -1,3098 +0,0 @@ -/*! -This crate provides convenience methods for encoding and decoding numbers -in either big-endian or little-endian order. - -The organization of the crate is pretty simple. A trait, `ByteOrder`, specifies -byte conversion methods for each type of number in Rust (sans numbers that have -a platform dependent size like `usize` and `isize`). Two types, `BigEndian` -and `LittleEndian` implement these methods. Finally, `ReadBytesExt` and -`WriteBytesExt` provide convenience methods available to all types that -implement `Read` and `Write`. - -# Examples - -Read unsigned 16 bit big-endian integers from a `Read` type: - -```rust -use std::io::Cursor; -use byteorder::{BigEndian, ReadBytesExt}; - -let mut rdr = Cursor::new(vec![2, 5, 3, 0]); -// Note that we use type parameters to indicate which kind of byte order -// we want! -assert_eq!(517, rdr.read_u16::().unwrap()); -assert_eq!(768, rdr.read_u16::().unwrap()); -``` - -Write unsigned 16 bit little-endian integers to a `Write` type: - -```rust -use byteorder::{LittleEndian, WriteBytesExt}; - -let mut wtr = vec![]; -wtr.write_u16::(517).unwrap(); -wtr.write_u16::(768).unwrap(); -assert_eq!(wtr, vec![5, 2, 0, 3]); -``` -*/ - -#![deny(missing_docs)] -#![cfg_attr(not(feature = "std"), no_std)] -#![cfg_attr(feature = "i128", feature(i128_type))] -#![cfg_attr(all(feature = "i128", test), feature(i128))] -#![doc(html_root_url = "https://docs.rs/byteorder/1.2.1")] - -#[cfg(feature = "std")] -extern crate core; - -use core::fmt::Debug; -use core::hash::Hash; -use core::mem::transmute; -use core::ptr::copy_nonoverlapping; - -#[cfg(feature = "std")] -pub use io::{ReadBytesExt, WriteBytesExt}; - -#[cfg(feature = "std")] -mod io; - -#[inline] -fn extend_sign(val: u64, nbytes: usize) -> i64 { - let shift = (8 - nbytes) * 8; - (val << shift) as i64 >> shift -} - -#[cfg(feature = "i128")] -#[inline] -fn extend_sign128(val: u128, nbytes: usize) -> i128 { - let shift = (16 - nbytes) * 8; - (val << shift) as i128 >> shift -} - -#[inline] -fn unextend_sign(val: i64, nbytes: usize) -> u64 { - let shift = (8 - nbytes) * 8; - (val << shift) as u64 >> shift -} - -#[cfg(feature = "i128")] -#[inline] -fn unextend_sign128(val: i128, nbytes: usize) -> u128 { - let shift = (16 - nbytes) * 8; - (val << shift) as u128 >> shift -} - -#[inline] -fn pack_size(n: u64) -> usize { - if n < 1 << 8 { - 1 - } else if n < 1 << 16 { - 2 - } else if n < 1 << 24 { - 3 - } else if n < 1 << 32 { - 4 - } else if n < 1 << 40 { - 5 - } else if n < 1 << 48 { - 6 - } else if n < 1 << 56 { - 7 - } else { - 8 - } -} - -#[cfg(feature = "i128")] -#[inline] -fn pack_size128(n: u128) -> usize { - if n < 1 << 8 { - 1 - } else if n < 1 << 16 { - 2 - } else if n < 1 << 24 { - 3 - } else if n < 1 << 32 { - 4 - } else if n < 1 << 40 { - 5 - } else if n < 1 << 48 { - 6 - } else if n < 1 << 56 { - 7 - } else if n < 1 << 64 { - 8 - } else if n < 1 << 72 { - 9 - } else if n < 1 << 80 { - 10 - } else if n < 1 << 88 { - 11 - } else if n < 1 << 96 { - 12 - } else if n < 1 << 104 { - 13 - } else if n < 1 << 112 { - 14 - } else if n < 1 << 120 { - 15 - } else { - 16 - } -} - -mod private { - /// Sealed stops crates other than byteorder from implementing any traits - /// that use it. - pub trait Sealed{} - impl Sealed for super::LittleEndian {} - impl Sealed for super::BigEndian {} -} - -/// ByteOrder describes types that can serialize integers as bytes. -/// -/// Note that `Self` does not appear anywhere in this trait's definition! -/// Therefore, in order to use it, you'll need to use syntax like -/// `T::read_u16(&[0, 1])` where `T` implements `ByteOrder`. -/// -/// This crate provides two types that implement `ByteOrder`: `BigEndian` -/// and `LittleEndian`. -/// This trait is sealed and cannot be implemented for callers to avoid -/// breaking backwards compatibility when adding new derived traits. -/// -/// # Examples -/// -/// Write and read `u32` numbers in little endian order: -/// -/// ```rust -/// use byteorder::{ByteOrder, LittleEndian}; -/// -/// let mut buf = [0; 4]; -/// LittleEndian::write_u32(&mut buf, 1_000_000); -/// assert_eq!(1_000_000, LittleEndian::read_u32(&buf)); -/// ``` -/// -/// Write and read `i16` numbers in big endian order: -/// -/// ```rust -/// use byteorder::{ByteOrder, BigEndian}; -/// -/// let mut buf = [0; 2]; -/// BigEndian::write_i16(&mut buf, -50_000); -/// assert_eq!(-50_000, BigEndian::read_i16(&buf)); -/// ``` -pub trait ByteOrder - : Clone + Copy + Debug + Default + Eq + Hash + Ord + PartialEq + PartialOrd - + private::Sealed -{ - /// Reads an unsigned 16 bit integer from `buf`. - /// - /// # Panics - /// - /// Panics when `buf.len() < 2`. - fn read_u16(buf: &[u8]) -> u16; - - /// Reads an unsigned 24 bit integer from `buf`, stored in u32. - /// - /// # Panics - /// - /// Panics when `buf.len() < 3`. - /// - /// # Examples - /// - /// Write and read 24 bit `u32` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 3]; - /// LittleEndian::write_u24(&mut buf, 1_000_000); - /// assert_eq!(1_000_000, LittleEndian::read_u24(&buf)); - /// ``` - fn read_u24(buf: &[u8]) -> u32 { - Self::read_uint(buf, 3) as u32 - } - - /// Reads an unsigned 32 bit integer from `buf`. - /// - /// # Panics - /// - /// Panics when `buf.len() < 4`. - /// - /// # Examples - /// - /// Write and read `u32` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 4]; - /// LittleEndian::write_u32(&mut buf, 1_000_000); - /// assert_eq!(1_000_000, LittleEndian::read_u32(&buf)); - /// ``` - fn read_u32(buf: &[u8]) -> u32; - - /// Reads an unsigned 64 bit integer from `buf`. - /// - /// # Panics - /// - /// Panics when `buf.len() < 8`. - /// - /// # Examples - /// - /// Write and read `u64` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 8]; - /// LittleEndian::write_u64(&mut buf, 1_000_000); - /// assert_eq!(1_000_000, LittleEndian::read_u64(&buf)); - /// ``` - fn read_u64(buf: &[u8]) -> u64; - - /// Reads an unsigned 128 bit integer from `buf`. - /// - /// # Panics - /// - /// Panics when `buf.len() < 16`. - /// - /// # Examples - /// - /// Write and read `u128` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 16]; - /// LittleEndian::write_u128(&mut buf, 1_000_000); - /// assert_eq!(1_000_000, LittleEndian::read_u128(&buf)); - /// ``` - #[cfg(feature = "i128")] - fn read_u128(buf: &[u8]) -> u128; - - /// Reads an unsigned n-bytes integer from `buf`. - /// - /// # Panics - /// - /// Panics when `nbytes < 1` or `nbytes > 8` or - /// `buf.len() < nbytes` - /// - /// # Examples - /// - /// Write and read an n-byte number in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 3]; - /// LittleEndian::write_uint(&mut buf, 1_000_000, 3); - /// assert_eq!(1_000_000, LittleEndian::read_uint(&buf, 3)); - /// ``` - fn read_uint(buf: &[u8], nbytes: usize) -> u64; - - /// Reads an unsigned n-bytes integer from `buf`. - /// - /// # Panics - /// - /// Panics when `nbytes < 1` or `nbytes > 16` or - /// `buf.len() < nbytes` - /// - /// # Examples - /// - /// Write and read an n-byte number in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 3]; - /// LittleEndian::write_uint128(&mut buf, 1_000_000, 3); - /// assert_eq!(1_000_000, LittleEndian::read_uint128(&buf, 3)); - /// ``` - #[cfg(feature = "i128")] - fn read_uint128(buf: &[u8], nbytes: usize) -> u128; - - /// Writes an unsigned 16 bit integer `n` to `buf`. - /// - /// # Panics - /// - /// Panics when `buf.len() < 2`. - /// - /// # Examples - /// - /// Write and read `u16` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 2]; - /// LittleEndian::write_u16(&mut buf, 1_000_000); - /// assert_eq!(1_000_000, LittleEndian::read_u16(&buf)); - /// ``` - fn write_u16(buf: &mut [u8], n: u16); - - /// Writes an unsigned 24 bit integer `n` to `buf`, stored in u32. - /// - /// # Panics - /// - /// Panics when `buf.len() < 3`. - /// - /// # Examples - /// - /// Write and read 24 bit `u32` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 3]; - /// LittleEndian::write_u24(&mut buf, 1_000_000); - /// assert_eq!(1_000_000, LittleEndian::read_u24(&buf)); - /// ``` - fn write_u24(buf: &mut [u8], n: u32) { - Self::write_uint(buf, n as u64, 3) - } - - /// Writes an unsigned 32 bit integer `n` to `buf`. - /// - /// # Panics - /// - /// Panics when `buf.len() < 4`. - /// - /// # Examples - /// - /// Write and read `u32` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 4]; - /// LittleEndian::write_u32(&mut buf, 1_000_000); - /// assert_eq!(1_000_000, LittleEndian::read_u32(&buf)); - /// ``` - fn write_u32(buf: &mut [u8], n: u32); - - /// Writes an unsigned 64 bit integer `n` to `buf`. - /// - /// # Panics - /// - /// Panics when `buf.len() < 8`. - /// - /// # Examples - /// - /// Write and read `u64` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 8]; - /// LittleEndian::write_u64(&mut buf, 1_000_000); - /// assert_eq!(1_000_000, LittleEndian::read_u64(&buf)); - /// ``` - fn write_u64(buf: &mut [u8], n: u64); - - /// Writes an unsigned 128 bit integer `n` to `buf`. - /// - /// # Panics - /// - /// Panics when `buf.len() < 16`. - /// - /// # Examples - /// - /// Write and read `u128` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 16]; - /// LittleEndian::write_u128(&mut buf, 1_000_000); - /// assert_eq!(1_000_000, LittleEndian::read_u128(&buf)); - /// ``` - #[cfg(feature = "i128")] - fn write_u128(buf: &mut [u8], n: u128); - - /// Writes an unsigned integer `n` to `buf` using only `nbytes`. - /// - /// # Panics - /// - /// If `n` is not representable in `nbytes`, or if `nbytes` is `> 8`, then - /// this method panics. - /// - /// # Examples - /// - /// Write and read an n-byte number in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 3]; - /// LittleEndian::write_uint(&mut buf, 1_000_000, 3); - /// assert_eq!(1_000_000, LittleEndian::read_uint(&buf, 3)); - /// ``` - fn write_uint(buf: &mut [u8], n: u64, nbytes: usize); - - /// Writes an unsigned integer `n` to `buf` using only `nbytes`. - /// - /// # Panics - /// - /// If `n` is not representable in `nbytes`, or if `nbytes` is `> 16`, then - /// this method panics. - /// - /// # Examples - /// - /// Write and read an n-byte number in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 3]; - /// LittleEndian::write_uint128(&mut buf, 1_000_000, 3); - /// assert_eq!(1_000_000, LittleEndian::read_uint128(&buf, 3)); - /// ``` - #[cfg(feature = "i128")] - fn write_uint128(buf: &mut [u8], n: u128, nbytes: usize); - - /// Reads a signed 16 bit integer from `buf`. - /// - /// # Panics - /// - /// Panics when `buf.len() < 2`. - /// - /// # Examples - /// - /// Write and read `i16` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 2]; - /// LittleEndian::write_i16(&mut buf, -1_000); - /// assert_eq!(-1_000, LittleEndian::read_i16(&buf)); - /// ``` - #[inline] - fn read_i16(buf: &[u8]) -> i16 { - Self::read_u16(buf) as i16 - } - - /// Reads a signed 24 bit integer from `buf`, stored in i32. - /// - /// # Panics - /// - /// Panics when `buf.len() < 3`. - /// - /// # Examples - /// - /// Write and read 24 bit `i32` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 3]; - /// LittleEndian::write_i24(&mut buf, -1_000_000); - /// assert_eq!(-1_000_000, LittleEndian::read_i24(&buf)); - /// ``` - #[inline] - fn read_i24(buf: &[u8]) -> i32 { - Self::read_int(buf, 3) as i32 - } - - /// Reads a signed 32 bit integer from `buf`. - /// - /// # Panics - /// - /// Panics when `buf.len() < 4`. - /// - /// # Examples - /// - /// Write and read `i32` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 4]; - /// LittleEndian::write_i32(&mut buf, -1_000_000); - /// assert_eq!(-1_000_000, LittleEndian::read_i32(&buf)); - /// ``` - #[inline] - fn read_i32(buf: &[u8]) -> i32 { - Self::read_u32(buf) as i32 - } - - /// Reads a signed 64 bit integer from `buf`. - /// - /// # Panics - /// - /// Panics when `buf.len() < 8`. - /// - /// # Examples - /// - /// Write and read `i64` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 8]; - /// LittleEndian::write_i64(&mut buf, -1_000_000_000); - /// assert_eq!(-1_000_000_000, LittleEndian::read_i64(&buf)); - /// ``` - #[inline] - fn read_i64(buf: &[u8]) -> i64 { - Self::read_u64(buf) as i64 - } - - /// Reads a signed 128 bit integer from `buf`. - /// - /// # Panics - /// - /// Panics when `buf.len() < 16`. - /// - /// # Examples - /// - /// Write and read `i128` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 16]; - /// LittleEndian::write_i128(&mut buf, -1_000_000_000); - /// assert_eq!(-1_000_000_000, LittleEndian::read_i128(&buf)); - /// ``` - #[cfg(feature = "i128")] - #[inline] - fn read_i128(buf: &[u8]) -> i128 { - Self::read_u128(buf) as i128 - } - - /// Reads a signed n-bytes integer from `buf`. - /// - /// # Panics - /// - /// Panics when `nbytes < 1` or `nbytes > 8` or - /// `buf.len() < nbytes` - /// - /// # Examples - /// - /// Write and read n-length signed numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 3]; - /// LittleEndian::write_int(&mut buf, -1_000, 3); - /// assert_eq!(-1_000, LittleEndian::read_int(&buf, 3)); - /// ``` - #[inline] - fn read_int(buf: &[u8], nbytes: usize) -> i64 { - extend_sign(Self::read_uint(buf, nbytes), nbytes) - } - - /// Reads a signed n-bytes integer from `buf`. - /// - /// # Panics - /// - /// Panics when `nbytes < 1` or `nbytes > 16` or - /// `buf.len() < nbytes` - /// - /// # Examples - /// - /// Write and read n-length signed numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 3]; - /// LittleEndian::write_int128(&mut buf, -1_000, 3); - /// assert_eq!(-1_000, LittleEndian::read_int128(&buf, 3)); - /// ``` - #[cfg(feature = "i128")] - #[inline] - fn read_int128(buf: &[u8], nbytes: usize) -> i128 { - extend_sign128(Self::read_uint128(buf, nbytes), nbytes) - } - - /// Reads a IEEE754 single-precision (4 bytes) floating point number. - /// - /// # Panics - /// - /// Panics when `buf.len() < 4`. - /// - /// # Examples - /// - /// Write and read `f32` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let e = 2.71828; - /// let mut buf = [0; 4]; - /// LittleEndian::write_f32(&mut buf, e); - /// assert_eq!(e, LittleEndian::read_f32(&buf)); - /// ``` - #[inline] - fn read_f32(buf: &[u8]) -> f32 { - unsafe { transmute(Self::read_u32(buf)) } - } - - /// Reads a IEEE754 double-precision (8 bytes) floating point number. - /// - /// # Panics - /// - /// Panics when `buf.len() < 8`. - /// - /// # Examples - /// - /// Write and read `f64` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let phi = 1.6180339887; - /// let mut buf = [0; 8]; - /// LittleEndian::write_f64(&mut buf, phi); - /// assert_eq!(phi, LittleEndian::read_f64(&buf)); - /// ``` - #[inline] - fn read_f64(buf: &[u8]) -> f64 { - unsafe { transmute(Self::read_u64(buf)) } - } - - /// Writes a signed 16 bit integer `n` to `buf`. - /// - /// # Panics - /// - /// Panics when `buf.len() < 2`. - /// - /// # Examples - /// - /// Write and read `i16` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 2]; - /// LittleEndian::write_i16(&mut buf, -1_000); - /// assert_eq!(-1_000, LittleEndian::read_i16(&buf)); - /// ``` - #[inline] - fn write_i16(buf: &mut [u8], n: i16) { - Self::write_u16(buf, n as u16) - } - - /// Writes a signed 24 bit integer `n` to `buf`, stored in i32. - /// - /// # Panics - /// - /// Panics when `buf.len() < 3`. - /// - /// # Examples - /// - /// Write and read 24 bit `i32` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 3]; - /// LittleEndian::write_i24(&mut buf, -1_000_000); - /// assert_eq!(-1_000_000, LittleEndian::read_i24(&buf)); - /// ``` - #[inline] - fn write_i24(buf: &mut [u8], n: i32) { - Self::write_int(buf, n as i64, 3) - } - - /// Writes a signed 32 bit integer `n` to `buf`. - /// - /// # Panics - /// - /// Panics when `buf.len() < 4`. - /// - /// # Examples - /// - /// Write and read `i32` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 4]; - /// LittleEndian::write_i32(&mut buf, -1_000_000); - /// assert_eq!(-1_000_000, LittleEndian::read_i32(&buf)); - /// ``` - #[inline] - fn write_i32(buf: &mut [u8], n: i32) { - Self::write_u32(buf, n as u32) - } - - /// Writes a signed 64 bit integer `n` to `buf`. - /// - /// # Panics - /// - /// Panics when `buf.len() < 8`. - /// - /// # Examples - /// - /// Write and read `i64` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 8]; - /// LittleEndian::write_i64(&mut buf, -1_000_000_000); - /// assert_eq!(-1_000_000_000, LittleEndian::read_i64(&buf)); - /// ``` - #[inline] - fn write_i64(buf: &mut [u8], n: i64) { - Self::write_u64(buf, n as u64) - } - - /// Writes a signed 128 bit integer `n` to `buf`. - /// - /// # Panics - /// - /// Panics when `buf.len() < 16`. - /// - /// # Examples - /// - /// Write and read n-byte `i128` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 16]; - /// LittleEndian::write_i128(&mut buf, -1_000_000_000); - /// assert_eq!(-1_000_000_000, LittleEndian::read_i128(&buf)); - /// ``` - #[cfg(feature = "i128")] - #[inline] - fn write_i128(buf: &mut [u8], n: i128) { - Self::write_u128(buf, n as u128) - } - - /// Writes a signed integer `n` to `buf` using only `nbytes`. - /// - /// # Panics - /// - /// If `n` is not representable in `nbytes`, or if `nbytes` is `> 8`, then - /// this method panics. - /// - /// # Examples - /// - /// Write and read an n-byte number in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 3]; - /// LittleEndian::write_int(&mut buf, -1_000, 3); - /// assert_eq!(-1_000, LittleEndian::read_int(&buf, 3)); - /// ``` - #[inline] - fn write_int(buf: &mut [u8], n: i64, nbytes: usize) { - Self::write_uint(buf, unextend_sign(n, nbytes), nbytes) - } - - /// Writes a signed integer `n` to `buf` using only `nbytes`. - /// - /// # Panics - /// - /// If `n` is not representable in `nbytes`, or if `nbytes` is `> 16`, then - /// this method panics. - /// - /// # Examples - /// - /// Write and read n-length signed numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut buf = [0; 3]; - /// LittleEndian::write_int128(&mut buf, -1_000, 3); - /// assert_eq!(-1_000, LittleEndian::read_int128(&buf, 3)); - /// ``` - #[cfg(feature = "i128")] - #[inline] - fn write_int128(buf: &mut [u8], n: i128, nbytes: usize) { - Self::write_uint128(buf, unextend_sign128(n, nbytes), nbytes) - } - - /// Writes a IEEE754 single-precision (4 bytes) floating point number. - /// - /// # Panics - /// - /// Panics when `buf.len() < 4`. - /// - /// # Examples - /// - /// Write and read `f32` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let e = 2.71828; - /// let mut buf = [0; 4]; - /// LittleEndian::write_f32(&mut buf, e); - /// assert_eq!(e, LittleEndian::read_f32(&buf)); - /// ``` - #[inline] - fn write_f32(buf: &mut [u8], n: f32) { - Self::write_u32(buf, unsafe { transmute(n) }) - } - - /// Writes a IEEE754 double-precision (8 bytes) floating point number. - /// - /// # Panics - /// - /// Panics when `buf.len() < 8`. - /// - /// # Examples - /// - /// Write and read `f64` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let phi = 1.6180339887; - /// let mut buf = [0; 8]; - /// LittleEndian::write_f64(&mut buf, phi); - /// assert_eq!(phi, LittleEndian::read_f64(&buf)); - /// ``` - #[inline] - fn write_f64(buf: &mut [u8], n: f64) { - Self::write_u64(buf, unsafe { transmute(n) }) - } - - /// Reads unsigned 16 bit integers from `src` into `dst`. - /// - /// # Panics - /// - /// Panics when `src.len() != 2*dst.len()`. - /// - /// # Examples - /// - /// Write and read `u16` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut bytes = [0; 8]; - /// let numbers_given = [1, 2, 0xf00f, 0xffee]; - /// LittleEndian::write_u16_into(&numbers_given, &mut bytes); - /// - /// let mut numbers_got = [0; 4]; - /// LittleEndian::read_u16_into(&bytes, &mut numbers_got); - /// assert_eq!(numbers_given, numbers_got); - /// ``` - fn read_u16_into(src: &[u8], dst: &mut [u16]); - - /// Reads unsigned 32 bit integers from `src` into `dst`. - /// - /// # Panics - /// - /// Panics when `src.len() != 4*dst.len()`. - /// - /// # Examples - /// - /// Write and read `u32` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut bytes = [0; 16]; - /// let numbers_given = [1, 2, 0xf00f, 0xffee]; - /// LittleEndian::write_u32_into(&numbers_given, &mut bytes); - /// - /// let mut numbers_got = [0; 4]; - /// LittleEndian::read_u32_into(&bytes, &mut numbers_got); - /// assert_eq!(numbers_given, numbers_got); - /// ``` - fn read_u32_into(src: &[u8], dst: &mut [u32]); - - /// Reads unsigned 64 bit integers from `src` into `dst`. - /// - /// # Panics - /// - /// Panics when `src.len() != 8*dst.len()`. - /// - /// # Examples - /// - /// Write and read `u64` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut bytes = [0; 32]; - /// let numbers_given = [1, 2, 0xf00f, 0xffee]; - /// LittleEndian::write_u64_into(&numbers_given, &mut bytes); - /// - /// let mut numbers_got = [0; 4]; - /// LittleEndian::read_u64_into(&bytes, &mut numbers_got); - /// assert_eq!(numbers_given, numbers_got); - /// ``` - fn read_u64_into(src: &[u8], dst: &mut [u64]); - - /// Reads unsigned 128 bit integers from `src` into `dst`. - /// - /// # Panics - /// - /// Panics when `src.len() != 16*dst.len()`. - /// - /// # Examples - /// - /// Write and read `u128` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut bytes = [0; 64]; - /// let numbers_given = [1, 2, 0xf00f, 0xffee]; - /// LittleEndian::write_u128_into(&numbers_given, &mut bytes); - /// - /// let mut numbers_got = [0; 4]; - /// LittleEndian::read_u128_into(&bytes, &mut numbers_got); - /// assert_eq!(numbers_given, numbers_got); - /// ``` - #[cfg(feature = "i128")] - fn read_u128_into(src: &[u8], dst: &mut [u128]); - - /// Reads signed 16 bit integers from `src` to `dst`. - /// - /// # Panics - /// - /// Panics when `buf.len() != 2*dst.len()`. - /// - /// # Examples - /// - /// Write and read `i16` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut bytes = [0; 8]; - /// let numbers_given = [1, 2, 0xf00f, 0xffee]; - /// LittleEndian::write_i16_into(&numbers_given, &mut bytes); - /// - /// let mut numbers_got = [0; 4]; - /// LittleEndian::read_i16_into(&bytes, &mut numbers_got); - /// assert_eq!(numbers_given, numbers_got); - /// ``` - #[inline] - fn read_i16_into(src: &[u8], dst: &mut [i16]) { - Self::read_u16_into(src, unsafe { transmute(dst) }); - } - - /// Reads signed 32 bit integers from `src` into `dst`. - /// - /// # Panics - /// - /// Panics when `src.len() != 4*dst.len()`. - /// - /// # Examples - /// - /// Write and read `i32` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut bytes = [0; 16]; - /// let numbers_given = [1, 2, 0xf00f, 0xffee]; - /// LittleEndian::write_i32_into(&numbers_given, &mut bytes); - /// - /// let mut numbers_got = [0; 4]; - /// LittleEndian::read_i32_into(&bytes, &mut numbers_got); - /// assert_eq!(numbers_given, numbers_got); - /// ``` - #[inline] - fn read_i32_into(src: &[u8], dst: &mut [i32]) { - Self::read_u32_into(src, unsafe { transmute(dst) }); - } - - /// Reads signed 64 bit integers from `src` into `dst`. - /// - /// # Panics - /// - /// Panics when `src.len() != 8*dst.len()`. - /// - /// # Examples - /// - /// Write and read `i64` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut bytes = [0; 32]; - /// let numbers_given = [1, 2, 0xf00f, 0xffee]; - /// LittleEndian::write_i64_into(&numbers_given, &mut bytes); - /// - /// let mut numbers_got = [0; 4]; - /// LittleEndian::read_i64_into(&bytes, &mut numbers_got); - /// assert_eq!(numbers_given, numbers_got); - /// ``` - #[inline] - fn read_i64_into(src: &[u8], dst: &mut [i64]) { - Self::read_u64_into(src, unsafe { transmute(dst) }); - } - - /// Reads signed 128 bit integers from `src` into `dst`. - /// - /// # Panics - /// - /// Panics when `src.len() != 16*dst.len()`. - /// - /// # Examples - /// - /// Write and read `i128` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut bytes = [0; 64]; - /// let numbers_given = [1, 2, 0xf00f, 0xffee]; - /// LittleEndian::write_i128_into(&numbers_given, &mut bytes); - /// - /// let mut numbers_got = [0; 4]; - /// LittleEndian::read_i128_into(&bytes, &mut numbers_got); - /// assert_eq!(numbers_given, numbers_got); - /// ``` - #[cfg(feature = "i128")] - #[inline] - fn read_i128_into(src: &[u8], dst: &mut [i128]) { - Self::read_u128_into(src, unsafe { transmute(dst) }); - } - - /// Reads IEEE754 single-precision (4 bytes) floating point numbers from - /// `src` into `dst`. - /// - /// # Panics - /// - /// Panics when `src.len() != 4*dst.len()`. - /// - /// # Examples - /// - /// Write and read `f32` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut bytes = [0; 16]; - /// let numbers_given = [1.0, 2.0, 31.312e311, -11.32e91]; - /// LittleEndian::write_f32_into(&numbers_given, &mut bytes); - /// - /// let mut numbers_got = [0.0; 4]; - /// LittleEndian::read_f32_into_unchecked(&bytes, &mut numbers_got); - /// assert_eq!(numbers_given, numbers_got); - /// ``` - #[inline] - fn read_f32_into_unchecked(src: &[u8], dst: &mut [f32]) { - Self::read_u32_into(src, unsafe { transmute(dst) }); - } - - /// Reads IEEE754 single-precision (4 bytes) floating point numbers from - /// `src` into `dst`. - /// - /// # Panics - /// - /// Panics when `src.len() != 8*dst.len()`. - /// - /// # Examples - /// - /// Write and read `f64` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut bytes = [0; 32]; - /// let numbers_given = [1.0, 2.0, 31.312e311, -11.32e91]; - /// LittleEndian::write_f64_into(&numbers_given, &mut bytes); - /// - /// let mut numbers_got = [0.0; 4]; - /// LittleEndian::read_f64_into_unchecked(&bytes, &mut numbers_got); - /// assert_eq!(numbers_given, numbers_got); - /// ``` - #[inline] - fn read_f64_into_unchecked(src: &[u8], dst: &mut [f64]) { - Self::read_u64_into(src, unsafe { transmute(dst) }); - } - - /// Writes unsigned 16 bit integers from `src` into `dst`. - /// - /// # Panics - /// - /// Panics when `dst.len() != 2*src.len()`. - /// - /// # Examples - /// - /// Write and read `u16` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut bytes = [0; 8]; - /// let numbers_given = [1, 2, 0xf00f, 0xffee]; - /// LittleEndian::write_u16_into(&numbers_given, &mut bytes); - /// - /// let mut numbers_got = [0; 4]; - /// LittleEndian::read_u16_into(&bytes, &mut numbers_got); - /// assert_eq!(numbers_given, numbers_got); - /// ``` - fn write_u16_into(src: &[u16], dst: &mut [u8]); - - /// Writes unsigned 32 bit integers from `src` into `dst`. - /// - /// # Panics - /// - /// Panics when `dst.len() != 4*src.len()`. - /// - /// # Examples - /// - /// Write and read `u32` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut bytes = [0; 16]; - /// let numbers_given = [1, 2, 0xf00f, 0xffee]; - /// LittleEndian::write_u32_into(&numbers_given, &mut bytes); - /// - /// let mut numbers_got = [0; 4]; - /// LittleEndian::read_u32_into(&bytes, &mut numbers_got); - /// assert_eq!(numbers_given, numbers_got); - /// ``` - fn write_u32_into(src: &[u32], dst: &mut [u8]); - - /// Writes unsigned 64 bit integers from `src` into `dst`. - /// - /// # Panics - /// - /// Panics when `dst.len() != 8*src.len()`. - /// - /// # Examples - /// - /// Write and read `u64` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut bytes = [0; 32]; - /// let numbers_given = [1, 2, 0xf00f, 0xffee]; - /// LittleEndian::write_u64_into(&numbers_given, &mut bytes); - /// - /// let mut numbers_got = [0; 4]; - /// LittleEndian::read_u64_into(&bytes, &mut numbers_got); - /// assert_eq!(numbers_given, numbers_got); - /// ``` - fn write_u64_into(src: &[u64], dst: &mut [u8]); - - /// Writes unsigned 128 bit integers from `src` into `dst`. - /// - /// # Panics - /// - /// Panics when `dst.len() != 16*src.len()`. - /// - /// # Examples - /// - /// Write and read `u128` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut bytes = [0; 64]; - /// let numbers_given = [1, 2, 0xf00f, 0xffee]; - /// LittleEndian::write_u128_into(&numbers_given, &mut bytes); - /// - /// let mut numbers_got = [0; 4]; - /// LittleEndian::read_u128_into(&bytes, &mut numbers_got); - /// assert_eq!(numbers_given, numbers_got); - /// ``` - #[cfg(feature = "i128")] - fn write_u128_into(src: &[u128], dst: &mut [u8]); - - /// Writes signed 16 bit integers from `src` into `dst`. - /// - /// # Panics - /// - /// Panics when `buf.len() != 2*src.len()`. - /// - /// # Examples - /// - /// Write and read `i16` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut bytes = [0; 8]; - /// let numbers_given = [1, 2, 0xf00f, 0xffee]; - /// LittleEndian::write_i16_into(&numbers_given, &mut bytes); - /// - /// let mut numbers_got = [0; 4]; - /// LittleEndian::read_i16_into(&bytes, &mut numbers_got); - /// assert_eq!(numbers_given, numbers_got); - /// ``` - fn write_i16_into(src: &[i16], dst: &mut [u8]) { - Self::write_u16_into(unsafe { transmute(src) }, dst); - } - - /// Writes signed 32 bit integers from `src` into `dst`. - /// - /// # Panics - /// - /// Panics when `dst.len() != 4*src.len()`. - /// - /// # Examples - /// - /// Write and read `i32` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut bytes = [0; 16]; - /// let numbers_given = [1, 2, 0xf00f, 0xffee]; - /// LittleEndian::write_i32_into(&numbers_given, &mut bytes); - /// - /// let mut numbers_got = [0; 4]; - /// LittleEndian::read_i32_into(&bytes, &mut numbers_got); - /// assert_eq!(numbers_given, numbers_got); - /// ``` - fn write_i32_into(src: &[i32], dst: &mut [u8]) { - Self::write_u32_into(unsafe { transmute(src) }, dst); - } - - /// Writes signed 64 bit integers from `src` into `dst`. - /// - /// # Panics - /// - /// Panics when `dst.len() != 8*src.len()`. - /// - /// # Examples - /// - /// Write and read `i64` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut bytes = [0; 32]; - /// let numbers_given = [1, 2, 0xf00f, 0xffee]; - /// LittleEndian::write_i64_into(&numbers_given, &mut bytes); - /// - /// let mut numbers_got = [0; 4]; - /// LittleEndian::read_i64_into(&bytes, &mut numbers_got); - /// assert_eq!(numbers_given, numbers_got); - /// ``` - fn write_i64_into(src: &[i64], dst: &mut [u8]) { - Self::write_u64_into(unsafe { transmute(src) }, dst); - } - - /// Writes signed 128 bit integers from `src` into `dst`. - /// - /// # Panics - /// - /// Panics when `dst.len() != 16*src.len()`. - /// - /// # Examples - /// - /// Write and read `i128` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut bytes = [0; 64]; - /// let numbers_given = [1, 2, 0xf00f, 0xffee]; - /// LittleEndian::write_i128_into(&numbers_given, &mut bytes); - /// - /// let mut numbers_got = [0; 4]; - /// LittleEndian::read_i128_into(&bytes, &mut numbers_got); - /// assert_eq!(numbers_given, numbers_got); - /// ``` - #[cfg(feature = "i128")] - fn write_i128_into(src: &[i128], dst: &mut [u8]) { - Self::write_u128_into(unsafe { transmute(src) }, dst); - } - - /// Writes IEEE754 single-precision (4 bytes) floating point numbers from - /// `src` into `dst`. - /// - /// # Panics - /// - /// Panics when `src.len() != 4*dst.len()`. - /// - /// # Examples - /// - /// Write and read `f32` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut bytes = [0; 16]; - /// let numbers_given = [1.0, 2.0, 31.312e311, -11.32e91]; - /// LittleEndian::write_f32_into(&numbers_given, &mut bytes); - /// - /// let mut numbers_got = [0.0; 4]; - /// unsafe { - /// LittleEndian::read_f32_into_unchecked(&bytes, &mut numbers_got); - /// } - /// assert_eq!(numbers_given, numbers_got); - /// ``` - fn write_f32_into(src: &[f32], dst: &mut [u8]) { - Self::write_u32_into(unsafe { transmute(src) }, dst); - } - - /// Writes IEEE754 double-precision (8 bytes) floating point numbers from - /// `src` into `dst`. - /// - /// # Panics - /// - /// Panics when `src.len() != 8*dst.len()`. - /// - /// # Examples - /// - /// Write and read `f64` numbers in little endian order: - /// - /// ```rust - /// use byteorder::{ByteOrder, LittleEndian}; - /// - /// let mut bytes = [0; 32]; - /// let numbers_given = [1.0, 2.0, 31.312e311, -11.32e91]; - /// LittleEndian::write_f64_into(&numbers_given, &mut bytes); - /// - /// let mut numbers_got = [0.0; 4]; - /// unsafe { - /// LittleEndian::read_f64_into_unchecked(&bytes, &mut numbers_got); - /// } - /// assert_eq!(numbers_given, numbers_got); - /// ``` - fn write_f64_into(src: &[f64], dst: &mut [u8]) { - Self::write_u64_into(unsafe { transmute(src) }, dst); - } - - /// Converts the given slice of unsigned 16 bit integers to a particular - /// endianness. - /// - /// If the endianness matches the endianness of the host platform, then - /// this is a no-op. - /// - /// # Examples - /// - /// Convert the host platform's endianness to big-endian: - /// - /// ```rust - /// use byteorder::{ByteOrder, BigEndian}; - /// - /// let mut numbers = [5, 65000]; - /// BigEndian::from_slice_u16(&mut numbers); - /// if cfg!(target_endian = "little") { - /// assert_eq!(numbers, [5u16.swap_bytes(), 65000u16.swap_bytes()]); - /// } else { - /// assert_eq!(numbers, [5, 65000]); - /// } - /// ``` - fn from_slice_u16(numbers: &mut [u16]); - - /// Converts the given slice of unsigned 32 bit integers to a particular - /// endianness. - /// - /// If the endianness matches the endianness of the host platform, then - /// this is a no-op. - /// - /// # Examples - /// - /// Convert the host platform's endianness to big-endian: - /// - /// ```rust - /// use byteorder::{ByteOrder, BigEndian}; - /// - /// let mut numbers = [5, 65000]; - /// BigEndian::from_slice_u32(&mut numbers); - /// if cfg!(target_endian = "little") { - /// assert_eq!(numbers, [5u32.swap_bytes(), 65000u32.swap_bytes()]); - /// } else { - /// assert_eq!(numbers, [5, 65000]); - /// } - /// ``` - fn from_slice_u32(numbers: &mut [u32]); - - /// Converts the given slice of unsigned 64 bit integers to a particular - /// endianness. - /// - /// If the endianness matches the endianness of the host platform, then - /// this is a no-op. - /// - /// # Examples - /// - /// Convert the host platform's endianness to big-endian: - /// - /// ```rust - /// use byteorder::{ByteOrder, BigEndian}; - /// - /// let mut numbers = [5, 65000]; - /// BigEndian::from_slice_u64(&mut numbers); - /// if cfg!(target_endian = "little") { - /// assert_eq!(numbers, [5u64.swap_bytes(), 65000u64.swap_bytes()]); - /// } else { - /// assert_eq!(numbers, [5, 65000]); - /// } - /// ``` - fn from_slice_u64(numbers: &mut [u64]); - - /// Converts the given slice of unsigned 128 bit integers to a particular - /// endianness. - /// - /// If the endianness matches the endianness of the host platform, then - /// this is a no-op. - /// - /// # Examples - /// - /// Convert the host platform's endianness to big-endian: - /// - /// ```rust - /// #![feature(i128_type)] - /// - /// use byteorder::{ByteOrder, BigEndian}; - /// - /// let mut numbers = [5, 65000]; - /// BigEndian::from_slice_u128(&mut numbers); - /// if cfg!(target_endian = "little") { - /// assert_eq!(numbers, [5u128.swap_bytes(), 65000u128.swap_bytes()]); - /// } else { - /// assert_eq!(numbers, [5, 65000]); - /// } - /// ``` - #[cfg(feature = "i128")] - fn from_slice_u128(numbers: &mut [u128]); - - /// Converts the given slice of signed 16 bit integers to a particular - /// endianness. - /// - /// If the endianness matches the endianness of the host platform, then - /// this is a no-op. - /// - /// # Examples - /// - /// Convert the host platform's endianness to big-endian: - /// - /// ```rust - /// use byteorder::{ByteOrder, BigEndian}; - /// - /// let mut numbers = [5, 65000]; - /// BigEndian::from_slice_i16(&mut numbers); - /// if cfg!(target_endian = "little") { - /// assert_eq!(numbers, [5i16.swap_bytes(), 65000i16.swap_bytes()]); - /// } else { - /// assert_eq!(numbers, [5, 65000]); - /// } - /// ``` - #[inline] - fn from_slice_i16(numbers: &mut [i16]) { - Self::from_slice_u16(unsafe { transmute(numbers) }); - } - - /// Converts the given slice of signed 32 bit integers to a particular - /// endianness. - /// - /// If the endianness matches the endianness of the host platform, then - /// this is a no-op. - /// - /// # Examples - /// - /// Convert the host platform's endianness to big-endian: - /// - /// ```rust - /// use byteorder::{ByteOrder, BigEndian}; - /// - /// let mut numbers = [5, 65000]; - /// BigEndian::from_slice_i32(&mut numbers); - /// if cfg!(target_endian = "little") { - /// assert_eq!(numbers, [5i32.swap_bytes(), 65000i32.swap_bytes()]); - /// } else { - /// assert_eq!(numbers, [5, 65000]); - /// } - /// ``` - #[inline] - fn from_slice_i32(numbers: &mut [i32]) { - Self::from_slice_u32(unsafe { transmute(numbers) }); - } - - /// Converts the given slice of signed 64 bit integers to a particular - /// endianness. - /// - /// If the endianness matches the endianness of the host platform, then - /// this is a no-op. - /// - /// # Examples - /// - /// Convert the host platform's endianness to big-endian: - /// - /// ```rust - /// use byteorder::{ByteOrder, BigEndian}; - /// - /// let mut numbers = [5, 65000]; - /// BigEndian::from_slice_i64(&mut numbers); - /// if cfg!(target_endian = "little") { - /// assert_eq!(numbers, [5i64.swap_bytes(), 65000i64.swap_bytes()]); - /// } else { - /// assert_eq!(numbers, [5, 65000]); - /// } - /// ``` - #[inline] - fn from_slice_i64(numbers: &mut [i64]) { - Self::from_slice_u64(unsafe { transmute(numbers) }); - } - - /// Converts the given slice of signed 128 bit integers to a particular - /// endianness. - /// - /// If the endianness matches the endianness of the host platform, then - /// this is a no-op. - /// - /// # Examples - /// - /// Convert the host platform's endianness to big-endian: - /// - /// ```rust - /// #![feature(i128_type)] - /// - /// use byteorder::{ByteOrder, BigEndian}; - /// - /// let mut numbers = [5, 65000]; - /// BigEndian::from_slice_i128(&mut numbers); - /// if cfg!(target_endian = "little") { - /// assert_eq!(numbers, [5i128.swap_bytes(), 65000i128.swap_bytes()]); - /// } else { - /// assert_eq!(numbers, [5, 65000]); - /// } - /// ``` - #[cfg(feature = "i128")] - #[inline] - fn from_slice_i128(numbers: &mut [i128]) { - Self::from_slice_u128(unsafe { transmute(numbers) }); - } - - /// Converts the given slice of IEEE754 single-precision (4 bytes) floating - /// point numbers to a particular endianness. - /// - /// If the endianness matches the endianness of the host platform, then - /// this is a no-op. - fn from_slice_f32(numbers: &mut [f32]); - - /// Converts the given slice of IEEE754 double-precision (8 bytes) floating - /// point numbers to a particular endianness. - /// - /// If the endianness matches the endianness of the host platform, then - /// this is a no-op. - fn from_slice_f64(numbers: &mut [f64]); -} - -/// Defines big-endian serialization. -/// -/// Note that this type has no value constructor. It is used purely at the -/// type level. -/// -/// # Examples -/// -/// Write and read `u32` numbers in big endian order: -/// -/// ```rust -/// use byteorder::{ByteOrder, BigEndian}; -/// -/// let mut buf = [0; 4]; -/// BigEndian::write_u32(&mut buf, 1_000_000); -/// assert_eq!(1_000_000, BigEndian::read_u32(&buf)); -/// ``` -#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)] -pub enum BigEndian {} - -impl Default for BigEndian { - fn default() -> BigEndian { - panic!("BigEndian default") - } -} - -/// A type alias for `BigEndian`. -pub type BE = BigEndian; - -/// Defines little-endian serialization. -/// -/// Note that this type has no value constructor. It is used purely at the -/// type level. -/// -/// # Examples -/// -/// Write and read `u32` numbers in little endian order: -/// -/// ```rust -/// use byteorder::{ByteOrder, LittleEndian}; -/// -/// let mut buf = [0; 4]; -/// LittleEndian::write_u32(&mut buf, 1_000_000); -/// assert_eq!(1_000_000, LittleEndian::read_u32(&buf)); -/// ``` -#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)] -pub enum LittleEndian {} - -impl Default for LittleEndian { - fn default() -> LittleEndian { - panic!("LittleEndian default") - } -} - -/// A type alias for `LittleEndian`. -pub type LE = LittleEndian; - -/// Defines network byte order serialization. -/// -/// Network byte order is defined by [RFC 1700][1] to be big-endian, and is -/// referred to in several protocol specifications. This type is an alias of -/// BigEndian. -/// -/// [1]: https://tools.ietf.org/html/rfc1700 -/// -/// Note that this type has no value constructor. It is used purely at the -/// type level. -/// -/// # Examples -/// -/// Write and read `i16` numbers in big endian order: -/// -/// ```rust -/// use byteorder::{ByteOrder, NetworkEndian, BigEndian}; -/// -/// let mut buf = [0; 2]; -/// BigEndian::write_i16(&mut buf, -50_000); -/// assert_eq!(-50_000, NetworkEndian::read_i16(&buf)); -/// ``` -pub type NetworkEndian = BigEndian; - -/// Defines system native-endian serialization. -/// -/// Note that this type has no value constructor. It is used purely at the -/// type level. -#[cfg(target_endian = "little")] -pub type NativeEndian = LittleEndian; - -/// Defines system native-endian serialization. -/// -/// Note that this type has no value constructor. It is used purely at the -/// type level. -#[cfg(target_endian = "big")] -pub type NativeEndian = BigEndian; - -macro_rules! read_num_bytes { - ($ty:ty, $size:expr, $src:expr, $which:ident) => ({ - assert!($size == ::core::mem::size_of::<$ty>()); - assert!($size <= $src.len()); - let mut data: $ty = 0; - unsafe { - copy_nonoverlapping( - $src.as_ptr(), - &mut data as *mut $ty as *mut u8, - $size); - } - data.$which() - }); -} - -macro_rules! write_num_bytes { - ($ty:ty, $size:expr, $n:expr, $dst:expr, $which:ident) => ({ - assert!($size <= $dst.len()); - unsafe { - // N.B. https://github.com/rust-lang/rust/issues/22776 - let bytes = transmute::<_, [u8; $size]>($n.$which()); - copy_nonoverlapping((&bytes).as_ptr(), $dst.as_mut_ptr(), $size); - } - }); -} - -macro_rules! read_slice { - ($src:expr, $dst:expr, $size:expr, $which:ident) => {{ - assert_eq!($src.len(), $size * $dst.len()); - - unsafe { - copy_nonoverlapping( - $src.as_ptr(), - $dst.as_mut_ptr() as *mut u8, - $src.len()); - } - for v in $dst.iter_mut() { - *v = v.$which(); - } - }}; -} - -macro_rules! write_slice_native { - ($src:expr, $dst:expr, $ty:ty, $size:expr) => {{ - assert!($size == ::core::mem::size_of::<$ty>()); - assert_eq!($size * $src.len(), $dst.len()); - - unsafe { - copy_nonoverlapping( - $src.as_ptr() as *const u8, - $dst.as_mut_ptr(), - $dst.len()); - } - }}; -} - -macro_rules! write_slice { - ($src:expr, $dst:expr, $ty:ty, $size:expr, $write:expr) => ({ - assert!($size == ::core::mem::size_of::<$ty>()); - assert_eq!($size * $src.len(), $dst.len()); - - for (&n, chunk) in $src.iter().zip($dst.chunks_mut($size)) { - $write(chunk, n); - } - }); -} - -impl ByteOrder for BigEndian { - #[inline] - fn read_u16(buf: &[u8]) -> u16 { - read_num_bytes!(u16, 2, buf, to_be) - } - - #[inline] - fn read_u32(buf: &[u8]) -> u32 { - read_num_bytes!(u32, 4, buf, to_be) - } - - #[inline] - fn read_u64(buf: &[u8]) -> u64 { - read_num_bytes!(u64, 8, buf, to_be) - } - - #[cfg(feature = "i128")] - #[inline] - fn read_u128(buf: &[u8]) -> u128 { - read_num_bytes!(u128, 16, buf, to_be) - } - - #[inline] - fn read_uint(buf: &[u8], nbytes: usize) -> u64 { - assert!(1 <= nbytes && nbytes <= 8 && nbytes <= buf.len()); - let mut out = [0u8; 8]; - let ptr_out = out.as_mut_ptr(); - unsafe { - copy_nonoverlapping( - buf.as_ptr(), ptr_out.offset((8 - nbytes) as isize), nbytes); - (*(ptr_out as *const u64)).to_be() - } - } - - #[cfg(feature = "i128")] - #[inline] - fn read_uint128(buf: &[u8], nbytes: usize) -> u128 { - assert!(1 <= nbytes && nbytes <= 16 && nbytes <= buf.len()); - let mut out = [0u8; 16]; - let ptr_out = out.as_mut_ptr(); - unsafe { - copy_nonoverlapping( - buf.as_ptr(), ptr_out.offset((16 - nbytes) as isize), nbytes); - (*(ptr_out as *const u128)).to_be() - } - } - - #[inline] - fn write_u16(buf: &mut [u8], n: u16) { - write_num_bytes!(u16, 2, n, buf, to_be); - } - - #[inline] - fn write_u32(buf: &mut [u8], n: u32) { - write_num_bytes!(u32, 4, n, buf, to_be); - } - - #[inline] - fn write_u64(buf: &mut [u8], n: u64) { - write_num_bytes!(u64, 8, n, buf, to_be); - } - - #[cfg(feature = "i128")] - #[inline] - fn write_u128(buf: &mut [u8], n: u128) { - write_num_bytes!(u128, 16, n, buf, to_be); - } - - #[inline] - fn write_uint(buf: &mut [u8], n: u64, nbytes: usize) { - assert!(pack_size(n) <= nbytes && nbytes <= 8); - assert!(nbytes <= buf.len()); - unsafe { - let bytes: [u8; 8] = transmute(n.to_be()); - copy_nonoverlapping( - bytes.as_ptr().offset((8 - nbytes) as isize), - buf.as_mut_ptr(), - nbytes); - } - } - - #[cfg(feature = "i128")] - #[inline] - fn write_uint128(buf: &mut [u8], n: u128, nbytes: usize) { - assert!(pack_size128(n) <= nbytes && nbytes <= 16); - assert!(nbytes <= buf.len()); - unsafe { - let bytes: [u8; 16] = transmute(n.to_be()); - copy_nonoverlapping( - bytes.as_ptr().offset((16 - nbytes) as isize), - buf.as_mut_ptr(), - nbytes); - } - } - - #[inline] - fn read_u16_into(src: &[u8], dst: &mut [u16]) { - read_slice!(src, dst, 2, to_be); - } - - #[inline] - fn read_u32_into(src: &[u8], dst: &mut [u32]) { - read_slice!(src, dst, 4, to_be); - } - - #[inline] - fn read_u64_into(src: &[u8], dst: &mut [u64]) { - read_slice!(src, dst, 8, to_be); - } - - #[cfg(feature = "i128")] - #[inline] - fn read_u128_into(src: &[u8], dst: &mut [u128]) { - read_slice!(src, dst, 16, to_be); - } - - #[inline] - fn write_u16_into(src: &[u16], dst: &mut [u8]) { - if cfg!(target_endian = "big") { - write_slice_native!(src, dst, u16, 2); - } else { - write_slice!(src, dst, u16, 2, Self::write_u16); - } - } - - #[inline] - fn write_u32_into(src: &[u32], dst: &mut [u8]) { - if cfg!(target_endian = "big") { - write_slice_native!(src, dst, u32, 4); - } else { - write_slice!(src, dst, u32, 4, Self::write_u32); - } - } - - #[inline] - fn write_u64_into(src: &[u64], dst: &mut [u8]) { - if cfg!(target_endian = "big") { - write_slice_native!(src, dst, u64, 8); - } else { - write_slice!(src, dst, u64, 8, Self::write_u64); - } - } - - #[cfg(feature = "i128")] - #[inline] - fn write_u128_into(src: &[u128], dst: &mut [u8]) { - if cfg!(target_endian = "big") { - write_slice_native!(src, dst, u128, 16); - } else { - write_slice!(src, dst, u128, 16, Self::write_u128); - } - } - - #[inline] - fn from_slice_u16(numbers: &mut [u16]) { - if cfg!(target_endian = "little") { - for n in numbers { - *n = n.to_be(); - } - } - } - - #[inline] - fn from_slice_u32(numbers: &mut [u32]) { - if cfg!(target_endian = "little") { - for n in numbers { - *n = n.to_be(); - } - } - } - - #[inline] - fn from_slice_u64(numbers: &mut [u64]) { - if cfg!(target_endian = "little") { - for n in numbers { - *n = n.to_be(); - } - } - } - - #[cfg(feature = "i128")] - #[inline] - fn from_slice_u128(numbers: &mut [u128]) { - if cfg!(target_endian = "little") { - for n in numbers { - *n = n.to_be(); - } - } - } - - #[inline] - fn from_slice_f32(numbers: &mut [f32]) { - if cfg!(target_endian = "little") { - for n in numbers { - let int: u32 = unsafe { transmute(*n) }; - *n = unsafe { transmute(int.to_be()) }; - } - } - } - - #[inline] - fn from_slice_f64(numbers: &mut [f64]) { - if cfg!(target_endian = "little") { - for n in numbers { - let int: u64 = unsafe { transmute(*n) }; - *n = unsafe { transmute(int.to_be()) }; - } - } - } -} - -impl ByteOrder for LittleEndian { - #[inline] - fn read_u16(buf: &[u8]) -> u16 { - read_num_bytes!(u16, 2, buf, to_le) - } - - #[inline] - fn read_u32(buf: &[u8]) -> u32 { - read_num_bytes!(u32, 4, buf, to_le) - } - - #[inline] - fn read_u64(buf: &[u8]) -> u64 { - read_num_bytes!(u64, 8, buf, to_le) - } - - #[cfg(feature = "i128")] - #[inline] - fn read_u128(buf: &[u8]) -> u128 { - read_num_bytes!(u128, 16, buf, to_le) - } - - #[inline] - fn read_uint(buf: &[u8], nbytes: usize) -> u64 { - assert!(1 <= nbytes && nbytes <= 8 && nbytes <= buf.len()); - let mut out = [0u8; 8]; - let ptr_out = out.as_mut_ptr(); - unsafe { - copy_nonoverlapping(buf.as_ptr(), ptr_out, nbytes); - (*(ptr_out as *const u64)).to_le() - } - } - - #[cfg(feature = "i128")] - #[inline] - fn read_uint128(buf: &[u8], nbytes: usize) -> u128 { - assert!(1 <= nbytes && nbytes <= 16 && nbytes <= buf.len()); - let mut out = [0u8; 16]; - let ptr_out = out.as_mut_ptr(); - unsafe { - copy_nonoverlapping(buf.as_ptr(), ptr_out, nbytes); - (*(ptr_out as *const u128)).to_le() - } - } - - #[inline] - fn write_u16(buf: &mut [u8], n: u16) { - write_num_bytes!(u16, 2, n, buf, to_le); - } - - #[inline] - fn write_u32(buf: &mut [u8], n: u32) { - write_num_bytes!(u32, 4, n, buf, to_le); - } - - #[inline] - fn write_u64(buf: &mut [u8], n: u64) { - write_num_bytes!(u64, 8, n, buf, to_le); - } - - #[cfg(feature = "i128")] - #[inline] - fn write_u128(buf: &mut [u8], n: u128) { - write_num_bytes!(u128, 16, n, buf, to_le); - } - - #[inline] - fn write_uint(buf: &mut [u8], n: u64, nbytes: usize) { - assert!(pack_size(n as u64) <= nbytes && nbytes <= 8); - assert!(nbytes <= buf.len()); - unsafe { - let bytes: [u8; 8] = transmute(n.to_le()); - copy_nonoverlapping(bytes.as_ptr(), buf.as_mut_ptr(), nbytes); - } - } - - #[cfg(feature = "i128")] - #[inline] - fn write_uint128(buf: &mut [u8], n: u128, nbytes: usize) { - assert!(pack_size128(n as u128) <= nbytes && nbytes <= 16); - assert!(nbytes <= buf.len()); - unsafe { - let bytes: [u8; 16] = transmute(n.to_le()); - copy_nonoverlapping(bytes.as_ptr(), buf.as_mut_ptr(), nbytes); - } - } - - #[inline] - fn read_u16_into(src: &[u8], dst: &mut [u16]) { - read_slice!(src, dst, 2, to_le); - } - - #[inline] - fn read_u32_into(src: &[u8], dst: &mut [u32]) { - read_slice!(src, dst, 4, to_le); - } - - #[inline] - fn read_u64_into(src: &[u8], dst: &mut [u64]) { - read_slice!(src, dst, 8, to_le); - } - - #[cfg(feature = "i128")] - #[inline] - fn read_u128_into(src: &[u8], dst: &mut [u128]) { - read_slice!(src, dst, 16, to_le); - } - - #[inline] - fn write_u16_into(src: &[u16], dst: &mut [u8]) { - if cfg!(target_endian = "little") { - write_slice_native!(src, dst, u16, 2); - } else { - write_slice!(src, dst, u16, 2, Self::write_u16); - } - } - - #[inline] - fn write_u32_into(src: &[u32], dst: &mut [u8]) { - if cfg!(target_endian = "little") { - write_slice_native!(src, dst, u32, 4); - } else { - write_slice!(src, dst, u32, 4, Self::write_u32); - } - } - - #[inline] - fn write_u64_into(src: &[u64], dst: &mut [u8]) { - if cfg!(target_endian = "little") { - write_slice_native!(src, dst, u64, 8); - } else { - write_slice!(src, dst, u64, 8, Self::write_u64); - } - } - - #[cfg(feature = "i128")] - #[inline] - fn write_u128_into(src: &[u128], dst: &mut [u8]) { - if cfg!(target_endian = "little") { - write_slice_native!(src, dst, u128, 16); - } else { - write_slice!(src, dst, u128, 16, Self::write_u128); - } - } - - #[inline] - fn from_slice_u16(numbers: &mut [u16]) { - if cfg!(target_endian = "big") { - for n in numbers { - *n = n.to_le(); - } - } - } - - #[inline] - fn from_slice_u32(numbers: &mut [u32]) { - if cfg!(target_endian = "big") { - for n in numbers { - *n = n.to_le(); - } - } - } - - #[inline] - fn from_slice_u64(numbers: &mut [u64]) { - if cfg!(target_endian = "big") { - for n in numbers { - *n = n.to_le(); - } - } - } - - #[cfg(feature = "i128")] - #[inline] - fn from_slice_u128(numbers: &mut [u128]) { - if cfg!(target_endian = "big") { - for n in numbers { - *n = n.to_le(); - } - } - } - - #[inline] - fn from_slice_f32(numbers: &mut [f32]) { - if cfg!(target_endian = "big") { - for n in numbers { - let int: u32 = unsafe { transmute(*n) }; - *n = unsafe { transmute(int.to_le()) }; - } - } - } - - #[inline] - fn from_slice_f64(numbers: &mut [f64]) { - if cfg!(target_endian = "big") { - for n in numbers { - let int: u64 = unsafe { transmute(*n) }; - *n = unsafe { transmute(int.to_le()) }; - } - } - } -} - -#[cfg(test)] -mod test { - extern crate quickcheck; - extern crate rand; - - use self::quickcheck::{QuickCheck, StdGen, Testable}; - use self::rand::thread_rng; - #[cfg(feature = "i128")] use self::quickcheck::{Arbitrary, Gen}; - - pub const U24_MAX: u32 = 16_777_215; - pub const I24_MAX: i32 = 8_388_607; - - pub const U64_MAX: u64 = ::core::u64::MAX; - pub const I64_MAX: u64 = ::core::i64::MAX as u64; - - macro_rules! calc_max { - ($max:expr, $bytes:expr) => { calc_max!($max, $bytes, 8) }; - ($max:expr, $bytes:expr, $maxbytes:expr) => { - ($max - 1) >> (8 * ($maxbytes - $bytes)) - }; - } - - #[derive(Clone, Debug)] - pub struct Wi128(pub T); - - #[cfg(feature = "i128")] - impl Wi128 { - pub fn clone(&self) -> T { - self.0.clone() - } - } - - impl PartialEq for Wi128 { - fn eq(&self, other: &T) -> bool { - self.0.eq(other) - } - } - - #[cfg(feature = "i128")] - impl Arbitrary for Wi128 { - fn arbitrary(gen: &mut G) -> Wi128 { - let max = calc_max!(::core::u128::MAX, gen.size(), 16); - let output = - (gen.gen::() as u128) | - ((gen.gen::() as u128) << 64); - Wi128(output & (max - 1)) - } - } - - #[cfg(feature = "i128")] - impl Arbitrary for Wi128 { - fn arbitrary(gen: &mut G) -> Wi128 { - let max = calc_max!(::core::i128::MAX, gen.size(), 16); - let output = - (gen.gen::() as i128) | - ((gen.gen::() as i128) << 64); - Wi128(output & (max - 1)) - } - } - - pub fn qc_sized(f: A, size: u64) { - QuickCheck::new() - .gen(StdGen::new(thread_rng(), size as usize)) - .tests(1_00) - .max_tests(10_000) - .quickcheck(f); - } - - macro_rules! qc_byte_order { - ($name:ident, $ty_int:ty, $max:expr, - $bytes:expr, $read:ident, $write:ident) => ( - mod $name { - use {BigEndian, ByteOrder, NativeEndian, LittleEndian}; - #[allow(unused_imports)] use super::{ qc_sized, Wi128 }; - - #[test] - fn big_endian() { - fn prop(n: $ty_int) -> bool { - let mut buf = [0; 16]; - BigEndian::$write(&mut buf, n.clone(), $bytes); - n == BigEndian::$read(&mut buf[..$bytes], $bytes) - } - qc_sized(prop as fn($ty_int) -> bool, $max); - } - - #[test] - fn little_endian() { - fn prop(n: $ty_int) -> bool { - let mut buf = [0; 16]; - LittleEndian::$write(&mut buf, n.clone(), $bytes); - n == LittleEndian::$read(&mut buf[..$bytes], $bytes) - } - qc_sized(prop as fn($ty_int) -> bool, $max); - } - - #[test] - fn native_endian() { - fn prop(n: $ty_int) -> bool { - let mut buf = [0; 16]; - NativeEndian::$write(&mut buf, n.clone(), $bytes); - n == NativeEndian::$read(&mut buf[..$bytes], $bytes) - } - qc_sized(prop as fn($ty_int) -> bool, $max); - } - } - ); - ($name:ident, $ty_int:ty, $max:expr, - $read:ident, $write:ident) => ( - mod $name { - use core::mem::size_of; - use {BigEndian, ByteOrder, NativeEndian, LittleEndian}; - #[allow(unused_imports)] use super::{ qc_sized, Wi128 }; - - #[test] - fn big_endian() { - fn prop(n: $ty_int) -> bool { - let bytes = size_of::<$ty_int>(); - let mut buf = [0; 16]; - BigEndian::$write(&mut buf[16 - bytes..], n.clone()); - n == BigEndian::$read(&mut buf[16 - bytes..]) - } - qc_sized(prop as fn($ty_int) -> bool, $max - 1); - } - - #[test] - fn little_endian() { - fn prop(n: $ty_int) -> bool { - let bytes = size_of::<$ty_int>(); - let mut buf = [0; 16]; - LittleEndian::$write(&mut buf[..bytes], n.clone()); - n == LittleEndian::$read(&mut buf[..bytes]) - } - qc_sized(prop as fn($ty_int) -> bool, $max - 1); - } - - #[test] - fn native_endian() { - fn prop(n: $ty_int) -> bool { - let bytes = size_of::<$ty_int>(); - let mut buf = [0; 16]; - NativeEndian::$write(&mut buf[..bytes], n.clone()); - n == NativeEndian::$read(&mut buf[..bytes]) - } - qc_sized(prop as fn($ty_int) -> bool, $max - 1); - } - } - ); - } - - qc_byte_order!(prop_u16, u16, ::core::u16::MAX as u64, read_u16, write_u16); - qc_byte_order!(prop_i16, i16, ::core::i16::MAX as u64, read_i16, write_i16); - qc_byte_order!(prop_u24, u32, ::test::U24_MAX as u64, read_u24, write_u24); - qc_byte_order!(prop_i24, i32, ::test::I24_MAX as u64, read_i24, write_i24); - qc_byte_order!(prop_u32, u32, ::core::u32::MAX as u64, read_u32, write_u32); - qc_byte_order!(prop_i32, i32, ::core::i32::MAX as u64, read_i32, write_i32); - qc_byte_order!(prop_u64, u64, ::core::u64::MAX as u64, read_u64, write_u64); - qc_byte_order!(prop_i64, i64, ::core::i64::MAX as u64, read_i64, write_i64); - qc_byte_order!(prop_f32, f32, ::core::u64::MAX as u64, read_f32, write_f32); - qc_byte_order!(prop_f64, f64, ::core::i64::MAX as u64, read_f64, write_f64); - - #[cfg(feature = "i128")] - qc_byte_order!(prop_u128, Wi128, 16 + 1, read_u128, write_u128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_i128, Wi128, 16 + 1, read_i128, write_i128); - - qc_byte_order!(prop_uint_1, - u64, calc_max!(super::U64_MAX, 1), 1, read_uint, write_uint); - qc_byte_order!(prop_uint_2, - u64, calc_max!(super::U64_MAX, 2), 2, read_uint, write_uint); - qc_byte_order!(prop_uint_3, - u64, calc_max!(super::U64_MAX, 3), 3, read_uint, write_uint); - qc_byte_order!(prop_uint_4, - u64, calc_max!(super::U64_MAX, 4), 4, read_uint, write_uint); - qc_byte_order!(prop_uint_5, - u64, calc_max!(super::U64_MAX, 5), 5, read_uint, write_uint); - qc_byte_order!(prop_uint_6, - u64, calc_max!(super::U64_MAX, 6), 6, read_uint, write_uint); - qc_byte_order!(prop_uint_7, - u64, calc_max!(super::U64_MAX, 7), 7, read_uint, write_uint); - qc_byte_order!(prop_uint_8, - u64, calc_max!(super::U64_MAX, 8), 8, read_uint, write_uint); - - #[cfg(feature = "i128")] - qc_byte_order!(prop_uint128_1, - Wi128, 1, 1, read_uint128, write_uint128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_uint128_2, - Wi128, 2, 2, read_uint128, write_uint128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_uint128_3, - Wi128, 3, 3, read_uint128, write_uint128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_uint128_4, - Wi128, 4, 4, read_uint128, write_uint128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_uint128_5, - Wi128, 5, 5, read_uint128, write_uint128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_uint128_6, - Wi128, 6, 6, read_uint128, write_uint128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_uint128_7, - Wi128, 7, 7, read_uint128, write_uint128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_uint128_8, - Wi128, 8, 8, read_uint128, write_uint128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_uint128_9, - Wi128, 9, 9, read_uint128, write_uint128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_uint128_10, - Wi128, 10, 10, read_uint128, write_uint128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_uint128_11, - Wi128, 11, 11, read_uint128, write_uint128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_uint128_12, - Wi128, 12, 12, read_uint128, write_uint128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_uint128_13, - Wi128, 13, 13, read_uint128, write_uint128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_uint128_14, - Wi128, 14, 14, read_uint128, write_uint128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_uint128_15, - Wi128, 15, 15, read_uint128, write_uint128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_uint128_16, - Wi128, 16, 16, read_uint128, write_uint128); - - qc_byte_order!(prop_int_1, - i64, calc_max!(super::I64_MAX, 1), 1, read_int, write_int); - qc_byte_order!(prop_int_2, - i64, calc_max!(super::I64_MAX, 2), 2, read_int, write_int); - qc_byte_order!(prop_int_3, - i64, calc_max!(super::I64_MAX, 3), 3, read_int, write_int); - qc_byte_order!(prop_int_4, - i64, calc_max!(super::I64_MAX, 4), 4, read_int, write_int); - qc_byte_order!(prop_int_5, - i64, calc_max!(super::I64_MAX, 5), 5, read_int, write_int); - qc_byte_order!(prop_int_6, - i64, calc_max!(super::I64_MAX, 6), 6, read_int, write_int); - qc_byte_order!(prop_int_7, - i64, calc_max!(super::I64_MAX, 7), 7, read_int, write_int); - qc_byte_order!(prop_int_8, - i64, calc_max!(super::I64_MAX, 8), 8, read_int, write_int); - - #[cfg(feature = "i128")] - qc_byte_order!(prop_int128_1, - Wi128, 1, 1, read_int128, write_int128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_int128_2, - Wi128, 2, 2, read_int128, write_int128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_int128_3, - Wi128, 3, 3, read_int128, write_int128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_int128_4, - Wi128, 4, 4, read_int128, write_int128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_int128_5, - Wi128, 5, 5, read_int128, write_int128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_int128_6, - Wi128, 6, 6, read_int128, write_int128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_int128_7, - Wi128, 7, 7, read_int128, write_int128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_int128_8, - Wi128, 8, 8, read_int128, write_int128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_int128_9, - Wi128, 9, 9, read_int128, write_int128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_int128_10, - Wi128, 10, 10, read_int128, write_int128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_int128_11, - Wi128, 11, 11, read_int128, write_int128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_int128_12, - Wi128, 12, 12, read_int128, write_int128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_int128_13, - Wi128, 13, 13, read_int128, write_int128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_int128_14, - Wi128, 14, 14, read_int128, write_int128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_int128_15, - Wi128, 15, 15, read_int128, write_int128); - #[cfg(feature = "i128")] - qc_byte_order!(prop_int128_16, - Wi128, 16, 16, read_int128, write_int128); - - - // Test that all of the byte conversion functions panic when given a - // buffer that is too small. - // - // These tests are critical to ensure safety, otherwise we might end up - // with a buffer overflow. - macro_rules! too_small { - ($name:ident, $maximally_small:expr, $zero:expr, - $read:ident, $write:ident) => ( - mod $name { - use {BigEndian, ByteOrder, NativeEndian, LittleEndian}; - - #[test] - #[should_panic] - fn read_big_endian() { - let buf = [0; $maximally_small]; - BigEndian::$read(&buf); - } - - #[test] - #[should_panic] - fn read_little_endian() { - let buf = [0; $maximally_small]; - LittleEndian::$read(&buf); - } - - #[test] - #[should_panic] - fn read_native_endian() { - let buf = [0; $maximally_small]; - NativeEndian::$read(&buf); - } - - #[test] - #[should_panic] - fn write_big_endian() { - let mut buf = [0; $maximally_small]; - BigEndian::$write(&mut buf, $zero); - } - - #[test] - #[should_panic] - fn write_little_endian() { - let mut buf = [0; $maximally_small]; - LittleEndian::$write(&mut buf, $zero); - } - - #[test] - #[should_panic] - fn write_native_endian() { - let mut buf = [0; $maximally_small]; - NativeEndian::$write(&mut buf, $zero); - } - } - ); - ($name:ident, $maximally_small:expr, $read:ident) => ( - mod $name { - use {BigEndian, ByteOrder, NativeEndian, LittleEndian}; - - #[test] - #[should_panic] - fn read_big_endian() { - let buf = [0; $maximally_small]; - BigEndian::$read(&buf, $maximally_small + 1); - } - - #[test] - #[should_panic] - fn read_little_endian() { - let buf = [0; $maximally_small]; - LittleEndian::$read(&buf, $maximally_small + 1); - } - - #[test] - #[should_panic] - fn read_native_endian() { - let buf = [0; $maximally_small]; - NativeEndian::$read(&buf, $maximally_small + 1); - } - } - ); - } - - too_small!(small_u16, 1, 0, read_u16, write_u16); - too_small!(small_i16, 1, 0, read_i16, write_i16); - too_small!(small_u32, 3, 0, read_u32, write_u32); - too_small!(small_i32, 3, 0, read_i32, write_i32); - too_small!(small_u64, 7, 0, read_u64, write_u64); - too_small!(small_i64, 7, 0, read_i64, write_i64); - too_small!(small_f32, 3, 0.0, read_f32, write_f32); - too_small!(small_f64, 7, 0.0, read_f64, write_f64); - #[cfg(feature = "i128")] - too_small!(small_u128, 15, 0, read_u128, write_u128); - #[cfg(feature = "i128")] - too_small!(small_i128, 15, 0, read_i128, write_i128); - - too_small!(small_uint_1, 1, read_uint); - too_small!(small_uint_2, 2, read_uint); - too_small!(small_uint_3, 3, read_uint); - too_small!(small_uint_4, 4, read_uint); - too_small!(small_uint_5, 5, read_uint); - too_small!(small_uint_6, 6, read_uint); - too_small!(small_uint_7, 7, read_uint); - - #[cfg(feature = "i128")] - too_small!(small_uint128_1, 1, read_uint128); - #[cfg(feature = "i128")] - too_small!(small_uint128_2, 2, read_uint128); - #[cfg(feature = "i128")] - too_small!(small_uint128_3, 3, read_uint128); - #[cfg(feature = "i128")] - too_small!(small_uint128_4, 4, read_uint128); - #[cfg(feature = "i128")] - too_small!(small_uint128_5, 5, read_uint128); - #[cfg(feature = "i128")] - too_small!(small_uint128_6, 6, read_uint128); - #[cfg(feature = "i128")] - too_small!(small_uint128_7, 7, read_uint128); - #[cfg(feature = "i128")] - too_small!(small_uint128_8, 8, read_uint128); - #[cfg(feature = "i128")] - too_small!(small_uint128_9, 9, read_uint128); - #[cfg(feature = "i128")] - too_small!(small_uint128_10, 10, read_uint128); - #[cfg(feature = "i128")] - too_small!(small_uint128_11, 11, read_uint128); - #[cfg(feature = "i128")] - too_small!(small_uint128_12, 12, read_uint128); - #[cfg(feature = "i128")] - too_small!(small_uint128_13, 13, read_uint128); - #[cfg(feature = "i128")] - too_small!(small_uint128_14, 14, read_uint128); - #[cfg(feature = "i128")] - too_small!(small_uint128_15, 15, read_uint128); - - too_small!(small_int_1, 1, read_int); - too_small!(small_int_2, 2, read_int); - too_small!(small_int_3, 3, read_int); - too_small!(small_int_4, 4, read_int); - too_small!(small_int_5, 5, read_int); - too_small!(small_int_6, 6, read_int); - too_small!(small_int_7, 7, read_int); - - #[cfg(feature = "i128")] - too_small!(small_int128_1, 1, read_int128); - #[cfg(feature = "i128")] - too_small!(small_int128_2, 2, read_int128); - #[cfg(feature = "i128")] - too_small!(small_int128_3, 3, read_int128); - #[cfg(feature = "i128")] - too_small!(small_int128_4, 4, read_int128); - #[cfg(feature = "i128")] - too_small!(small_int128_5, 5, read_int128); - #[cfg(feature = "i128")] - too_small!(small_int128_6, 6, read_int128); - #[cfg(feature = "i128")] - too_small!(small_int128_7, 7, read_int128); - #[cfg(feature = "i128")] - too_small!(small_int128_8, 8, read_int128); - #[cfg(feature = "i128")] - too_small!(small_int128_9, 9, read_int128); - #[cfg(feature = "i128")] - too_small!(small_int128_10, 10, read_int128); - #[cfg(feature = "i128")] - too_small!(small_int128_11, 11, read_int128); - #[cfg(feature = "i128")] - too_small!(small_int128_12, 12, read_int128); - #[cfg(feature = "i128")] - too_small!(small_int128_13, 13, read_int128); - #[cfg(feature = "i128")] - too_small!(small_int128_14, 14, read_int128); - #[cfg(feature = "i128")] - too_small!(small_int128_15, 15, read_int128); - - // Test that reading/writing slices enforces the correct lengths. - macro_rules! slice_lengths { - ($name:ident, $read:ident, $write:ident, - $num_bytes:expr, $numbers:expr) => { - mod $name { - use {ByteOrder, BigEndian, NativeEndian, LittleEndian}; - - #[test] - #[should_panic] - fn read_big_endian() { - let bytes = [0; $num_bytes]; - let mut numbers = $numbers; - BigEndian::$read(&bytes, &mut numbers); - } - - #[test] - #[should_panic] - fn read_little_endian() { - let bytes = [0; $num_bytes]; - let mut numbers = $numbers; - LittleEndian::$read(&bytes, &mut numbers); - } - - #[test] - #[should_panic] - fn read_native_endian() { - let bytes = [0; $num_bytes]; - let mut numbers = $numbers; - NativeEndian::$read(&bytes, &mut numbers); - } - - #[test] - #[should_panic] - fn write_big_endian() { - let mut bytes = [0; $num_bytes]; - let numbers = $numbers; - BigEndian::$write(&numbers, &mut bytes); - } - - #[test] - #[should_panic] - fn write_little_endian() { - let mut bytes = [0; $num_bytes]; - let numbers = $numbers; - LittleEndian::$write(&numbers, &mut bytes); - } - - #[test] - #[should_panic] - fn write_native_endian() { - let mut bytes = [0; $num_bytes]; - let numbers = $numbers; - NativeEndian::$write(&numbers, &mut bytes); - } - } - } - } - - slice_lengths!( - slice_len_too_small_u16, read_u16_into, write_u16_into, 3, [0, 0]); - slice_lengths!( - slice_len_too_big_u16, read_u16_into, write_u16_into, 5, [0, 0]); - slice_lengths!( - slice_len_too_small_i16, read_i16_into, write_i16_into, 3, [0, 0]); - slice_lengths!( - slice_len_too_big_i16, read_i16_into, write_i16_into, 5, [0, 0]); - - slice_lengths!( - slice_len_too_small_u32, read_u32_into, write_u32_into, 7, [0, 0]); - slice_lengths!( - slice_len_too_big_u32, read_u32_into, write_u32_into, 9, [0, 0]); - slice_lengths!( - slice_len_too_small_i32, read_i32_into, write_i32_into, 7, [0, 0]); - slice_lengths!( - slice_len_too_big_i32, read_i32_into, write_i32_into, 9, [0, 0]); - - slice_lengths!( - slice_len_too_small_u64, read_u64_into, write_u64_into, 15, [0, 0]); - slice_lengths!( - slice_len_too_big_u64, read_u64_into, write_u64_into, 17, [0, 0]); - slice_lengths!( - slice_len_too_small_i64, read_i64_into, write_i64_into, 15, [0, 0]); - slice_lengths!( - slice_len_too_big_i64, read_i64_into, write_i64_into, 17, [0, 0]); - - #[cfg(feature = "i128")] - slice_lengths!( - slice_len_too_small_u128, read_u128_into, write_u128_into, 31, [0, 0]); - #[cfg(feature = "i128")] - slice_lengths!( - slice_len_too_big_u128, read_u128_into, write_u128_into, 33, [0, 0]); - #[cfg(feature = "i128")] - slice_lengths!( - slice_len_too_small_i128, read_i128_into, write_i128_into, 31, [0, 0]); - #[cfg(feature = "i128")] - slice_lengths!( - slice_len_too_big_i128, read_i128_into, write_i128_into, 33, [0, 0]); - - #[test] - fn uint_bigger_buffer() { - use {ByteOrder, LittleEndian}; - let n = LittleEndian::read_uint(&[1, 2, 3, 4, 5, 6, 7, 8], 5); - assert_eq!(n, 0x0504030201); - } -} - -#[cfg(test)] -#[cfg(feature = "std")] -mod stdtests { - extern crate quickcheck; - extern crate rand; - - use self::quickcheck::{QuickCheck, StdGen, Testable}; - use self::rand::thread_rng; - - fn qc_unsized(f: A) { - - QuickCheck::new() - .gen(StdGen::new(thread_rng(), 16)) - .tests(1_00) - .max_tests(10_000) - .quickcheck(f); - } - - macro_rules! calc_max { - ($max:expr, $bytes:expr) => { ($max - 1) >> (8 * (8 - $bytes)) }; - } - - macro_rules! qc_bytes_ext { - ($name:ident, $ty_int:ty, $max:expr, - $bytes:expr, $read:ident, $write:ident) => ( - mod $name { - use std::io::Cursor; - use { - ReadBytesExt, WriteBytesExt, - BigEndian, NativeEndian, LittleEndian, - }; - #[allow(unused_imports)] use test::{qc_sized, Wi128}; - - #[test] - fn big_endian() { - fn prop(n: $ty_int) -> bool { - let mut wtr = vec![]; - wtr.$write::(n.clone()).unwrap(); - let offset = wtr.len() - $bytes; - let mut rdr = Cursor::new(&mut wtr[offset..]); - n == rdr.$read::($bytes).unwrap() - } - qc_sized(prop as fn($ty_int) -> bool, $max); - } - - #[test] - fn little_endian() { - fn prop(n: $ty_int) -> bool { - let mut wtr = vec![]; - wtr.$write::(n.clone()).unwrap(); - let mut rdr = Cursor::new(wtr); - n == rdr.$read::($bytes).unwrap() - } - qc_sized(prop as fn($ty_int) -> bool, $max); - } - - #[test] - fn native_endian() { - fn prop(n: $ty_int) -> bool { - let mut wtr = vec![]; - wtr.$write::(n.clone()).unwrap(); - let offset = if cfg!(target_endian = "big") { - wtr.len() - $bytes - } else { - 0 - }; - let mut rdr = Cursor::new(&mut wtr[offset..]); - n == rdr.$read::($bytes).unwrap() - } - qc_sized(prop as fn($ty_int) -> bool, $max); - } - } - ); - ($name:ident, $ty_int:ty, $max:expr, $read:ident, $write:ident) => ( - mod $name { - use std::io::Cursor; - use { - ReadBytesExt, WriteBytesExt, - BigEndian, NativeEndian, LittleEndian, - }; - #[allow(unused_imports)] use test::{qc_sized, Wi128}; - - #[test] - fn big_endian() { - fn prop(n: $ty_int) -> bool { - let mut wtr = vec![]; - wtr.$write::(n.clone()).unwrap(); - let mut rdr = Cursor::new(wtr); - n == rdr.$read::().unwrap() - } - qc_sized(prop as fn($ty_int) -> bool, $max - 1); - } - - #[test] - fn little_endian() { - fn prop(n: $ty_int) -> bool { - let mut wtr = vec![]; - wtr.$write::(n.clone()).unwrap(); - let mut rdr = Cursor::new(wtr); - n == rdr.$read::().unwrap() - } - qc_sized(prop as fn($ty_int) -> bool, $max - 1); - } - - #[test] - fn native_endian() { - fn prop(n: $ty_int) -> bool { - let mut wtr = vec![]; - wtr.$write::(n.clone()).unwrap(); - let mut rdr = Cursor::new(wtr); - n == rdr.$read::().unwrap() - } - qc_sized(prop as fn($ty_int) -> bool, $max - 1); - } - } - ); - } - - qc_bytes_ext!(prop_ext_u16, - u16, ::std::u16::MAX as u64, read_u16, write_u16); - qc_bytes_ext!(prop_ext_i16, - i16, ::std::i16::MAX as u64, read_i16, write_i16); - qc_bytes_ext!(prop_ext_u32, - u32, ::std::u32::MAX as u64, read_u32, write_u32); - qc_bytes_ext!(prop_ext_i32, - i32, ::std::i32::MAX as u64, read_i32, write_i32); - qc_bytes_ext!(prop_ext_u64, - u64, ::std::u64::MAX as u64, read_u64, write_u64); - qc_bytes_ext!(prop_ext_i64, - i64, ::std::i64::MAX as u64, read_i64, write_i64); - qc_bytes_ext!(prop_ext_f32, - f32, ::std::u64::MAX as u64, read_f32, write_f32); - qc_bytes_ext!(prop_ext_f64, - f64, ::std::i64::MAX as u64, read_f64, write_f64); - - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_u128, Wi128, 16 + 1, read_u128, write_u128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_i128, Wi128, 16 + 1, read_i128, write_i128); - - qc_bytes_ext!(prop_ext_uint_1, - u64, calc_max!(::test::U64_MAX, 1), 1, read_uint, write_u64); - qc_bytes_ext!(prop_ext_uint_2, - u64, calc_max!(::test::U64_MAX, 2), 2, read_uint, write_u64); - qc_bytes_ext!(prop_ext_uint_3, - u64, calc_max!(::test::U64_MAX, 3), 3, read_uint, write_u64); - qc_bytes_ext!(prop_ext_uint_4, - u64, calc_max!(::test::U64_MAX, 4), 4, read_uint, write_u64); - qc_bytes_ext!(prop_ext_uint_5, - u64, calc_max!(::test::U64_MAX, 5), 5, read_uint, write_u64); - qc_bytes_ext!(prop_ext_uint_6, - u64, calc_max!(::test::U64_MAX, 6), 6, read_uint, write_u64); - qc_bytes_ext!(prop_ext_uint_7, - u64, calc_max!(::test::U64_MAX, 7), 7, read_uint, write_u64); - qc_bytes_ext!(prop_ext_uint_8, - u64, calc_max!(::test::U64_MAX, 8), 8, read_uint, write_u64); - - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_uint128_1, - Wi128, 1, 1, read_uint128, write_u128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_uint128_2, - Wi128, 2, 2, read_uint128, write_u128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_uint128_3, - Wi128, 3, 3, read_uint128, write_u128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_uint128_4, - Wi128, 4, 4, read_uint128, write_u128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_uint128_5, - Wi128, 5, 5, read_uint128, write_u128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_uint128_6, - Wi128, 6, 6, read_uint128, write_u128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_uint128_7, - Wi128, 7, 7, read_uint128, write_u128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_uint128_8, - Wi128, 8, 8, read_uint128, write_u128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_uint128_9, - Wi128, 9, 9, read_uint128, write_u128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_uint128_10, - Wi128, 10, 10, read_uint128, write_u128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_uint128_11, - Wi128, 11, 11, read_uint128, write_u128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_uint128_12, - Wi128, 12, 12, read_uint128, write_u128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_uint128_13, - Wi128, 13, 13, read_uint128, write_u128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_uint128_14, - Wi128, 14, 14, read_uint128, write_u128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_uint128_15, - Wi128, 15, 15, read_uint128, write_u128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_uint128_16, - Wi128, 16, 16, read_uint128, write_u128); - - qc_bytes_ext!(prop_ext_int_1, - i64, calc_max!(::test::I64_MAX, 1), 1, read_int, write_i64); - qc_bytes_ext!(prop_ext_int_2, - i64, calc_max!(::test::I64_MAX, 2), 2, read_int, write_i64); - qc_bytes_ext!(prop_ext_int_3, - i64, calc_max!(::test::I64_MAX, 3), 3, read_int, write_i64); - qc_bytes_ext!(prop_ext_int_4, - i64, calc_max!(::test::I64_MAX, 4), 4, read_int, write_i64); - qc_bytes_ext!(prop_ext_int_5, - i64, calc_max!(::test::I64_MAX, 5), 5, read_int, write_i64); - qc_bytes_ext!(prop_ext_int_6, - i64, calc_max!(::test::I64_MAX, 6), 6, read_int, write_i64); - qc_bytes_ext!(prop_ext_int_7, - i64, calc_max!(::test::I64_MAX, 1), 7, read_int, write_i64); - qc_bytes_ext!(prop_ext_int_8, - i64, calc_max!(::test::I64_MAX, 8), 8, read_int, write_i64); - - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_int128_1, - Wi128, 1, 1, read_int128, write_i128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_int128_2, - Wi128, 2, 2, read_int128, write_i128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_int128_3, - Wi128, 3, 3, read_int128, write_i128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_int128_4, - Wi128, 4, 4, read_int128, write_i128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_int128_5, - Wi128, 5, 5, read_int128, write_i128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_int128_6, - Wi128, 6, 6, read_int128, write_i128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_int128_7, - Wi128, 7, 7, read_int128, write_i128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_int128_8, - Wi128, 8, 8, read_int128, write_i128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_int128_9, - Wi128, 9, 9, read_int128, write_i128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_int128_10, - Wi128, 10, 10, read_int128, write_i128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_int128_11, - Wi128, 11, 11, read_int128, write_i128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_int128_12, - Wi128, 12, 12, read_int128, write_i128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_int128_13, - Wi128, 13, 13, read_int128, write_i128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_int128_14, - Wi128, 14, 14, read_int128, write_i128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_int128_15, - Wi128, 15, 15, read_int128, write_i128); - #[cfg(feature = "i128")] - qc_bytes_ext!(prop_ext_int128_16, - Wi128, 16, 16, read_int128, write_i128); - - // Test slice serialization/deserialization. - macro_rules! qc_slice { - ($name:ident, $ty_int:ty, $read:ident, $write:ident, $zero:expr) => { - mod $name { - use core::mem::size_of; - use {ByteOrder, BigEndian, NativeEndian, LittleEndian}; - use super::qc_unsized; - #[allow(unused_imports)] - use test::Wi128; - - #[test] - fn big_endian() { - #[allow(unused_unsafe)] - fn prop(numbers: Vec<$ty_int>) -> bool { - let numbers: Vec<_> = numbers - .into_iter() - .map(|x| x.clone()) - .collect(); - let num_bytes = size_of::<$ty_int>() * numbers.len(); - let mut bytes = vec![0; num_bytes]; - - BigEndian::$write(&numbers, &mut bytes); - - let mut got = vec![$zero; numbers.len()]; - unsafe { BigEndian::$read(&bytes, &mut got); } - - numbers == got - } - qc_unsized(prop as fn(_) -> bool); - } - - #[test] - fn little_endian() { - #[allow(unused_unsafe)] - fn prop(numbers: Vec<$ty_int>) -> bool { - let numbers: Vec<_> = numbers - .into_iter() - .map(|x| x.clone()) - .collect(); - let num_bytes = size_of::<$ty_int>() * numbers.len(); - let mut bytes = vec![0; num_bytes]; - - LittleEndian::$write(&numbers, &mut bytes); - - let mut got = vec![$zero; numbers.len()]; - unsafe { LittleEndian::$read(&bytes, &mut got); } - - numbers == got - } - qc_unsized(prop as fn(_) -> bool); - } - - #[test] - fn native_endian() { - #[allow(unused_unsafe)] - fn prop(numbers: Vec<$ty_int>) -> bool { - let numbers: Vec<_> = numbers - .into_iter() - .map(|x| x.clone()) - .collect(); - let num_bytes = size_of::<$ty_int>() * numbers.len(); - let mut bytes = vec![0; num_bytes]; - - NativeEndian::$write(&numbers, &mut bytes); - - let mut got = vec![$zero; numbers.len()]; - unsafe { NativeEndian::$read(&bytes, &mut got); } - - numbers == got - } - qc_unsized(prop as fn(_) -> bool); - } - } - } - } - - qc_slice!(prop_slice_u16, u16, read_u16_into, write_u16_into, 0); - qc_slice!(prop_slice_i16, i16, read_i16_into, write_i16_into, 0); - qc_slice!(prop_slice_u32, u32, read_u32_into, write_u32_into, 0); - qc_slice!(prop_slice_i32, i32, read_i32_into, write_i32_into, 0); - qc_slice!(prop_slice_u64, u64, read_u64_into, write_u64_into, 0); - qc_slice!(prop_slice_i64, i64, read_i64_into, write_i64_into, 0); - #[cfg(feature = "i128")] - qc_slice!( - prop_slice_u128, Wi128, read_u128_into, write_u128_into, 0); - #[cfg(feature = "i128")] - qc_slice!( - prop_slice_i128, Wi128, read_i128_into, write_i128_into, 0); - - qc_slice!( - prop_slice_f32, f32, read_f32_into_unchecked, write_f32_into, 0.0); - qc_slice!( - prop_slice_f64, f64, read_f64_into_unchecked, write_f64_into, 0.0); -} diff --git a/vendor/registry-40351f815f426200/cfg-if/.cargo-checksum.json b/vendor/registry-40351f815f426200/cfg-if/.cargo-checksum.json deleted file mode 100644 index b7932a3b2..000000000 --- a/vendor/registry-40351f815f426200/cfg-if/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"60ab45aa0f92dcf54c943acaefe1c62c6cd16bc616dea45b58b978ca0f83cb4e","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"5c345e0dd1ae68db560831c02bc2e5f1825bd10d9b68ddae40dac0bc494d651e","src/lib.rs":"caaa0c2b554377933ce62a32c45e094e9c1faa719c8a2783d6319d8f65467795","tests/xcrate.rs":"30dcb70fbb9c96fda2b7825592558279f534776f72e2a8a0a3e26df4dedb3caa"},"package":"b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/cfg-if/Cargo.toml b/vendor/registry-40351f815f426200/cfg-if/Cargo.toml deleted file mode 100644 index a5f7c3c76..000000000 --- a/vendor/registry-40351f815f426200/cfg-if/Cargo.toml +++ /dev/null @@ -1,24 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g., crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "cfg-if" -version = "0.1.9" -authors = ["Alex Crichton "] -description = "A macro to ergonomically define an item depending on a large number of #[cfg]\nparameters. Structured like an if-else chain, the first matching branch is the\nitem that gets emitted.\n" -homepage = "https://github.com/alexcrichton/cfg-if" -documentation = "https://docs.rs/cfg-if" -readme = "README.md" -license = "MIT/Apache-2.0" -repository = "https://github.com/alexcrichton/cfg-if" -[badges.travis-ci] -repository = "alexcrichton/cfg-if" diff --git a/vendor/registry-40351f815f426200/cfg-if/LICENSE-APACHE b/vendor/registry-40351f815f426200/cfg-if/LICENSE-APACHE deleted file mode 100644 index 16fe87b06..000000000 --- a/vendor/registry-40351f815f426200/cfg-if/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/cfg-if/LICENSE-MIT b/vendor/registry-40351f815f426200/cfg-if/LICENSE-MIT deleted file mode 100644 index 39e0ed660..000000000 --- a/vendor/registry-40351f815f426200/cfg-if/LICENSE-MIT +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) 2014 Alex Crichton - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/cfg-if/README.md b/vendor/registry-40351f815f426200/cfg-if/README.md deleted file mode 100644 index 86837212c..000000000 --- a/vendor/registry-40351f815f426200/cfg-if/README.md +++ /dev/null @@ -1,52 +0,0 @@ -# cfg-if - -[![Build Status](https://travis-ci.com/alexcrichton/cfg-if.svg?branch=master)](https://travis-ci.com/alexcrichton/cfg-if) - -[Documentation](https://docs.rs/cfg-if) - -A macro to ergonomically define an item depending on a large number of #[cfg] -parameters. Structured like an if-else chain, the first matching branch is the -item that gets emitted. - -```toml -[dependencies] -cfg-if = "0.1" -``` - -## Example - -```rust -#[macro_use] -extern crate cfg_if; - -cfg_if! { - if #[cfg(unix)] { - fn foo() { /* unix specific functionality */ } - } else if #[cfg(target_pointer_width = "32")] { - fn foo() { /* non-unix, 32-bit functionality */ } - } else { - fn foo() { /* fallback implementation */ } - } -} - -fn main() { - foo(); -} -``` - -# License - -This project is licensed under either of - - * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or - http://www.apache.org/licenses/LICENSE-2.0) - * MIT license ([LICENSE-MIT](LICENSE-MIT) or - http://opensource.org/licenses/MIT) - -at your option. - -### Contribution - -Unless you explicitly state otherwise, any contribution intentionally submitted -for inclusion in Serde by you, as defined in the Apache-2.0 license, shall be -dual licensed as above, without any additional terms or conditions. diff --git a/vendor/registry-40351f815f426200/cfg-if/src/lib.rs b/vendor/registry-40351f815f426200/cfg-if/src/lib.rs deleted file mode 100644 index e867e65a8..000000000 --- a/vendor/registry-40351f815f426200/cfg-if/src/lib.rs +++ /dev/null @@ -1,144 +0,0 @@ -//! A macro for defining `#[cfg]` if-else statements. -//! -//! The macro provided by this crate, `cfg_if`, is similar to the `if/elif` C -//! preprocessor macro by allowing definition of a cascade of `#[cfg]` cases, -//! emitting the implementation which matches first. -//! -//! This allows you to conveniently provide a long list `#[cfg]`'d blocks of code -//! without having to rewrite each clause multiple times. -//! -//! # Example -//! -//! ``` -//! #[macro_use] -//! extern crate cfg_if; -//! -//! cfg_if! { -//! if #[cfg(unix)] { -//! fn foo() { /* unix specific functionality */ } -//! } else if #[cfg(target_pointer_width = "32")] { -//! fn foo() { /* non-unix, 32-bit functionality */ } -//! } else { -//! fn foo() { /* fallback implementation */ } -//! } -//! } -//! -//! # fn main() {} -//! ``` - -#![no_std] - -#![doc(html_root_url = "https://docs.rs/cfg-if")] -#![deny(missing_docs)] -#![cfg_attr(test, deny(warnings))] - -/// The main macro provided by this crate. See crate documentation for more -/// information. -#[macro_export(local_inner_macros)] -macro_rules! cfg_if { - // match if/else chains with a final `else` - ($( - if #[cfg($($meta:meta),*)] { $($it:item)* } - ) else * else { - $($it2:item)* - }) => { - cfg_if! { - @__items - () ; - $( ( ($($meta),*) ($($it)*) ), )* - ( () ($($it2)*) ), - } - }; - - // match if/else chains lacking a final `else` - ( - if #[cfg($($i_met:meta),*)] { $($i_it:item)* } - $( - else if #[cfg($($e_met:meta),*)] { $($e_it:item)* } - )* - ) => { - cfg_if! { - @__items - () ; - ( ($($i_met),*) ($($i_it)*) ), - $( ( ($($e_met),*) ($($e_it)*) ), )* - ( () () ), - } - }; - - // Internal and recursive macro to emit all the items - // - // Collects all the negated cfgs in a list at the beginning and after the - // semicolon is all the remaining items - (@__items ($($not:meta,)*) ; ) => {}; - (@__items ($($not:meta,)*) ; ( ($($m:meta),*) ($($it:item)*) ), $($rest:tt)*) => { - // Emit all items within one block, applying an approprate #[cfg]. The - // #[cfg] will require all `$m` matchers specified and must also negate - // all previous matchers. - cfg_if! { @__apply cfg(all($($m,)* not(any($($not),*)))), $($it)* } - - // Recurse to emit all other items in `$rest`, and when we do so add all - // our `$m` matchers to the list of `$not` matchers as future emissions - // will have to negate everything we just matched as well. - cfg_if! { @__items ($($not,)* $($m,)*) ; $($rest)* } - }; - - // Internal macro to Apply a cfg attribute to a list of items - (@__apply $m:meta, $($it:item)*) => { - $(#[$m] $it)* - }; -} - -#[cfg(test)] -mod tests { - cfg_if! { - if #[cfg(test)] { - use core::option::Option as Option2; - fn works1() -> Option2 { Some(1) } - } else { - fn works1() -> Option { None } - } - } - - cfg_if! { - if #[cfg(foo)] { - fn works2() -> bool { false } - } else if #[cfg(test)] { - fn works2() -> bool { true } - } else { - fn works2() -> bool { false } - } - } - - cfg_if! { - if #[cfg(foo)] { - fn works3() -> bool { false } - } else { - fn works3() -> bool { true } - } - } - - cfg_if! { - if #[cfg(test)] { - use core::option::Option as Option3; - fn works4() -> Option3 { Some(1) } - } - } - - cfg_if! { - if #[cfg(foo)] { - fn works5() -> bool { false } - } else if #[cfg(test)] { - fn works5() -> bool { true } - } - } - - #[test] - fn it_works() { - assert!(works1().is_some()); - assert!(works2()); - assert!(works3()); - assert!(works4().is_some()); - assert!(works5()); - } -} diff --git a/vendor/registry-40351f815f426200/cfg-if/tests/xcrate.rs b/vendor/registry-40351f815f426200/cfg-if/tests/xcrate.rs deleted file mode 100644 index f42b87767..000000000 --- a/vendor/registry-40351f815f426200/cfg-if/tests/xcrate.rs +++ /dev/null @@ -1,17 +0,0 @@ -#[macro_use] -extern crate cfg_if; - -cfg_if! { - if #[cfg(foo)] { - fn works() -> bool { false } - } else if #[cfg(test)] { - fn works() -> bool { true } - } else { - fn works() -> bool { false } - } -} - -#[test] -fn smoke() { - assert!(works()); -} diff --git a/vendor/registry-40351f815f426200/clap/.cargo-checksum.json b/vendor/registry-40351f815f426200/clap/.cargo-checksum.json deleted file mode 100644 index f32a851f7..000000000 --- a/vendor/registry-40351f815f426200/clap/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"CHANGELOG.md":"9487316c1d190fa572f2779979c99395c687dd0495f4657ffb460e1a2a6c5019","CONTRIBUTORS.md":"6890277f02e66ec77120d3335240ac677abd126db5f7a9d9168f47f5cb4df977","Cargo.toml":"25cb059a452c73a7177ab54d9edf7c0dfcb1489e8013a3efd522e9b2fdfef05e","LICENSE-MIT":"6725d1437fc6c77301f2ff0e7d52914cf4f9509213e1078dc77d9356dbe6eac5","README.md":"57e3b95a81faf3503cc8ba14f8b30f725172551507846b6a6e0f9eb1f1ba2b2a","SPONSORS.md":"097c6b7a80feba1e1b9170fa641a2d7d1868e6115fce73a90ab26448ba36f843","clap-test.rs":"995a9d41ef372a814616113f4a58c1e580043678e54527afc2ebee7e8e1d3ef5","index.html":"36f9ce4465266f3af9a259444b01c4239200473cabfc848f789f75b322a3ea8f","justfile":"811b2dec57aec46e570aeeb9945018cf87fe65f6d5b27cdb9ffca79d906910f6","rustfmt.toml":"8fd2d63119df515fd5f44e530c709b19d66b09fbc2e22a640bf4b64c57e7d6b3","src/app/help.rs":"6bf52a4b213ae6b1e53d206bd63816961608284c1c0cbb6cebe9cc1dcf0dc463","src/app/macros.rs":"77764555c2831180f4e976d5bcd95f3da4fdb609d77ae84c94f4ce602afd0c9b","src/app/meta.rs":"a56d28bb466a8ba68155b3f2883e85228b4b74cf25658f62fc050e07cff2dc85","src/app/mod.rs":"672b7472eb674dd0e875dddb6916f7f63c49873ad6d5afcb46f054b9161fc3a4","src/app/parser.rs":"dd87e6e5b22ec761d0228de66f6d929b68a06a692099cb86feabba1924506e4d","src/app/settings.rs":"e6e73720774d7040efa0c155267e996ad9a1d1d4626bb568f3b902edc8913344","src/app/usage.rs":"703cec975c53e7f01b14b4593de41c518910ab347bc4c54efe79367a704ffc4c","src/app/validator.rs":"0e8d58ce7f22482897a48c8b34d52540274ece40f974226fcca6078cc896ae02","src/args/any_arg.rs":"2960506a31a884a9b3142fea532afa0a01f7de8d14ba2a6347eb5cd5b2fdd98b","src/args/arg.rs":"e10c790b12aea012a52edec6c5e8afe27925ae4b936f83352830a40ef1f4c93d","src/args/arg_builder/base.rs":"8b99a9ab811df3e0bdcfba8c0994042b0bcd06d8ddf794ab559baaf9a490ba59","src/args/arg_builder/flag.rs":"fd6eef19c4de7ded217e86224de472147d4f4c5813607bc0fa67462c5d347b7a","src/args/arg_builder/mod.rs":"7a32c8fd85b48f7b60e5f2c13dc70fa9100aa65cd933ba419300d28d682bf722","src/args/arg_builder/option.rs":"e73031991e561ea7e61574f719207034df0fa3acdd28735502d8511f00d7adbf","src/args/arg_builder/positional.rs":"897df6cda52b67728103c7b2c0750f91326880b751204f4ab15852b18be0d929","src/args/arg_builder/switched.rs":"61f5121b0ec746461215a47e1b7a4d699a37a3f181172820e0615f68d5f6f0ef","src/args/arg_builder/valued.rs":"20998bf790a58206b27cf8b09f6740812d507336042a2026f203f99af4500ed5","src/args/arg_matcher.rs":"ff2b23b43fb5d61727410ab156844b90f898279e08b4aa56f244ad7ced12d03f","src/args/arg_matches.rs":"2342be87d96e3b7437d711a3550e8bf83a524a52b3cd1a34e91de02f16e01fa6","src/args/group.rs":"7fe5e2f0dd24faf1765410a9336d85976875e964d7f246e1fa216c4808d88dde","src/args/macros.rs":"57f248e2694f9413cbbaf9087813ed4f27064f5f8e29eaf4ec41ec2b274ae806","src/args/matched_arg.rs":"1ed8d338869ecc3b5fa426ef4cf42f4c9c3b1dd538cdea1fe0489169345536f7","src/args/mod.rs":"c155cd989fa4ca1f8de6a79115afbf5086f092adcb854ff9698b9100f45fc323","src/args/settings.rs":"2753ff50046def9ccb7f601b3d9f565348da1ef0253af24ccee94616a2e5c470","src/args/subcommand.rs":"e1ad9638c33785f1301675de1795b0a4f4b079452aa11f7526d263c2a1179432","src/completions/bash.rs":"116c6830ee2b6310f299a69924f5b1e39b05ebec2b5f7b0ffe3b6938b7fa5514","src/completions/fish.rs":"65782afc62724e068efcb1c85b193f7963891def2ff5cd6e5200ebdb67003bb5","src/completions/macros.rs":"ebad5037e6e63401b1a54498e09d3bd93d1a3a06f045c2990902d47eb9a73774","src/completions/mod.rs":"5d4a734df6a21e6c1e0831a2f7be50a45d2e7bdaf7475589ea78b978643229cd","src/completions/powershell.rs":"866409e5d0a9b2551d739f86c0e4faf86911e9e7c656fb74b38e6960844233b5","src/completions/shell.rs":"c7995ca229fd0d8671761da0aca0513c4f740165f02d06cd97aa0ae881c22cd4","src/completions/zsh.rs":"e98cc3676c0bfa67f0816947b932c92a14cbcf13b45656cf2f8683f9ab05fbca","src/errors.rs":"3c46a4d79d9304ffb152a190528ec9db0cb6c05799bb5211e6df9f7d7abab814","src/fmt.rs":"f205f784268572544ff7e84a89f416c898255404275d4ab1f8fea7e89695daa9","src/lib.rs":"804d8a9c384122e54cc230327810bde108660e61238c2b889d5bbbbcc2f19c75","src/macros.rs":"a65e1349b12ff164578b5c106c73eb646c86b8be04ec4964fa6da511b3135d76","src/map.rs":"67ac4802ed485359c78a1747c832666095b5ee05d68c686d110bd2e4aa9f06e2","src/osstringext.rs":"a87a5a0685dd8310f6329d5f8e8f54c0fac68eb75595a835aeb1c36208efd5f9","src/strext.rs":"d4418d396069e9c05804f92c042ba7192a4244e46059e2edc98670b45cd2daee","src/suggestions.rs":"1f348d393c0c85e622ca97253fd3f25fed9c2c660996d6ca5ac7e3abfd99783b","src/usage_parser.rs":"cc23ff4156d5bebc8a1bebc45edcf337947d8d217461b052271777e0bf31fa51"},"package":"1b8c532887f1a292d17de05ae858a8fe50a301e196f9ef0ddb7ccd0d1d00f180"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/clap/CHANGELOG.md b/vendor/registry-40351f815f426200/clap/CHANGELOG.md deleted file mode 100644 index f20d4ade5..000000000 --- a/vendor/registry-40351f815f426200/clap/CHANGELOG.md +++ /dev/null @@ -1,2612 +0,0 @@ - -## v2.27.1 (2017-10-24) - - -#### Bug Fixes - -* Adds `term_size` as an optional dependency (with feature `wrap_help`) to fix compile bug - - -## v2.27.0 (2017-10-24) - -** This release raises the minimum required version of Rust to 1.18 ** - -** This release also contains a very minor breaking change to fix a bug ** - -The only CLIs affected will be those using unrestrained multiple values and subcommands where the -subcommand name can coincide with one of the multiple values. - -See the commit [0c223f54](https://github.com/kbknapp/clap-rs/commit/0c223f54ed46da406bc8b43a5806e0b227863b31) for full details. - - -#### Bug Fixes - -* Values from global args are now propagated UP and DOWN! -* fixes a bug where using AppSettings::AllowHyphenValues would allow invalid arguments even when there is no way for them to be valid ([77ed4684](https://github.com/kbknapp/clap-rs/commit/77ed46841fc0263d7aa32fcc5cc49ef703b37c04), closes [#1066](https://github.com/kbknapp/clap-rs/issues/1066)) -* when an argument requires a value and that value happens to match a subcommand name, its parsed as a value ([0c223f54](https://github.com/kbknapp/clap-rs/commit/0c223f54ed46da406bc8b43a5806e0b227863b31), closes [#1031](https://github.com/kbknapp/clap-rs/issues/1031), breaks [#](https://github.com/kbknapp/clap-rs/issues/), [#](https://github.com/kbknapp/clap-rs/issues/)) -* fixes a bug that prevented number_of_values and default_values to be used together ([5eb342a9](https://github.com/kbknapp/clap-rs/commit/5eb342a99dde07b0f011048efde3e283bc1110fc), closes [#1050](https://github.com/kbknapp/clap-rs/issues/1050), [#1056](https://github.com/kbknapp/clap-rs/issues/1056)) -* fixes a bug that didn't allow args with default values to have conflicts ([58b5b4be](https://github.com/kbknapp/clap-rs/commit/58b5b4be315280888d50d9b15119b91a9028f050), closes [#1071](https://github.com/kbknapp/clap-rs/issues/1071)) -* fixes a panic when using global args and calling App::get_matches_from_safe_borrow multiple times ([d86ec797](https://github.com/kbknapp/clap-rs/commit/d86ec79742c77eb3f663fb30e225954515cf25bb), closes [#1076](https://github.com/kbknapp/clap-rs/issues/1076)) -* fixes issues and potential regressions with global args values not being propagated properly or at all ([a43f9dd4](https://github.com/kbknapp/clap-rs/commit/a43f9dd4aaf1864dd14a3c28dec89ccdd70c61e5), closes [#1010](https://github.com/kbknapp/clap-rs/issues/1010), [#1061](https://github.com/kbknapp/clap-rs/issues/1061), [#978](https://github.com/kbknapp/clap-rs/issues/978)) -* fixes a bug where default values are not applied if the option supports zero values ([9c248cbf](https://github.com/kbknapp/clap-rs/commit/9c248cbf7d8a825119bc387c23e9a1d1989682b0), closes [#1047](https://github.com/kbknapp/clap-rs/issues/1047)) - -#### Documentation - -* adds addtional blurbs about using multiples with subcommands ([03455b77](https://github.com/kbknapp/clap-rs/commit/03455b7751a757e7b2f6ffaf2d16168539c99661)) -* updates the docs to reflect changes to global args and that global args values can now be propagated back up the stack ([ead076f0](https://github.com/kbknapp/clap-rs/commit/ead076f03ada4c322bf3e34203925561ec496d87)) -* add html_root_url attribute ([e67a061b](https://github.com/kbknapp/clap-rs/commit/e67a061bcf567c6518d6c2f58852e01f02764b22)) -* sync README version numbers with crate version ([5536361b](https://github.com/kbknapp/clap-rs/commit/5536361bcda29887ed86bb68e43d0b603cbc423f)) - -#### Improvements - -* args that have require_delimiter(true) is now reflected in help and usage strings ([dce61699](https://github.com/kbknapp/clap-rs/commit/dce616998ed9bd95e8ed3bec1f09a4883da47b85), closes [#1052](https://github.com/kbknapp/clap-rs/issues/1052)) -* if all subcommands are hidden, the subcommands section of the help message is no longer displayed ([4ae7b046](https://github.com/kbknapp/clap-rs/commit/4ae7b0464750bc07ec80ece38e43f003fdd1b8ae), closes [#1046](https://github.com/kbknapp/clap-rs/issues/1046)) - -#### Breaking Changes - -* when an argument requires a value and that value happens to match a subcommand name, its parsed as a value ([0c223f54](https://github.com/kbknapp/clap-rs/commit/0c223f54ed46da406bc8b43a5806e0b227863b31), closes [#1031](https://github.com/kbknapp/clap-rs/issues/1031), breaks [#](https://github.com/kbknapp/clap-rs/issues/), [#](https://github.com/kbknapp/clap-rs/issues/)) - -#### Deprecations - -* **AppSettings::PropagateGlobalValuesDown:** this setting is no longer required to propagate values down or up ([2bb5ddce](https://github.com/kbknapp/clap-rs/commit/2bb5ddcee61c791ca1aaca494fbeb4bd5e277488)) - - - - -### v2.26.2 (2017-09-14) - - -#### Improvements - -* if all subcommands are hidden, the subcommands section of the help message is no longer displayed ([4ae7b046](https://github.com/kbknapp/clap-rs/commit/4ae7b0464750bc07ec80ece38e43f003fdd1b8ae), closes [#1046](https://github.com/kbknapp/clap-rs/issues/1046)) - -#### Bug Fixes - -* fixes a bug where default values are not applied if the option supports zero values ([9c248cbf](https://github.com/kbknapp/clap-rs/commit/9c248cbf7d8a825119bc387c23e9a1d1989682b0), closes [#1047](https://github.com/kbknapp/clap-rs/issues/1047)) - - - - -### v2.26.1 (2017-09-14) - - -#### Bug Fixes - -* fixes using require_equals(true) and min_values(0) together ([10ae208f](https://github.com/kbknapp/clap-rs/commit/10ae208f68518eff6e98166724065745f4083174), closes [#1044](https://github.com/kbknapp/clap-rs/issues/1044)) -* escape special characters in zsh and fish completions ([87e019fc](https://github.com/kbknapp/clap-rs/commit/87e019fc84ba6193a8c4ddc26c61eb99efffcd25)) -* avoid panic generating default help msg if term width set to 0 due to bug in textwrap 0.7.0 ([b3eadb0d](https://github.com/kbknapp/clap-rs/commit/b3eadb0de516106db4e08f078ad32e8f6d6e7a57)) -* Change `who's` -> `whose` ([53c1ffe8](https://github.com/kbknapp/clap-rs/commit/53c1ffe87f38b05d8804a0f7832412a952845349)) -* adds a debug assertion to ensure all args added to groups actually exist ([7ad123e2](https://github.com/kbknapp/clap-rs/commit/7ad123e2c02577e3ca30f7e205181e896b157d11), closes [#917](https://github.com/kbknapp/clap-rs/issues/917)) -* fixes a bug where args that allow values to start with a hyphen couldnt contain a double hyphen -- as a value ([ab2f4c9e](https://github.com/kbknapp/clap-rs/commit/ab2f4c9e563e36ec739a4b55d5a5b76fdb9e9fa4), closes [#960](https://github.com/kbknapp/clap-rs/issues/960)) -* fixes a bug where positional argument help text is misaligned ([54c16836](https://github.com/kbknapp/clap-rs/commit/54c16836dea4651806a2cfad53146a83fa3abf21)) -* **Help Message:** fixes long_about not being usable ([a8257ea0](https://github.com/kbknapp/clap-rs/commit/a8257ea0ffb812e552aca256c4a3d2aebfd8065b), closes [#1043](https://github.com/kbknapp/clap-rs/issues/1043)) -* **Suggestions:** output for flag after subcommand ([434ea5ba](https://github.com/kbknapp/clap-rs/commit/434ea5ba71395d8c1afcf88e69f0b0d8339b01a1)) - - - - -## v2.26.0 (2017-07-29) - -Minimum version of Rust is now v1.13.0 (Stable) - - -#### Improvements - -* bumps unicode-segmentation to v1.2 ([cd7b40a2](https://github.com/kbknapp/clap-rs/commit/cd7b40a21c77bae17ba453c5512cb82b7d1ce474)) - - -#### Performance - -* update textwrap to version 0.7.0 ([c2d4e637](https://github.com/kbknapp/clap-rs/commit/c2d4e63756a6f070e38c16dff846e9b0a53d6f93)) - - - - - -### v2.25.1 (2017-07-21) - -#### Improvements - -* impl Default for Values + OsValues for any lifetime. ([fb7d6231f1](https://github.com/kbknapp/clap-rs/commit/fb7d6231f13a2f79f411e62dca210b7dc9994c18)) - -#### Documentation - -* Various documentation typos and grammar fixes - - -### v2.25.0 (2017-06-20) - - -#### Features - -* use textwrap crate for wrapping help texts ([b93870c1](https://github.com/kbknapp/clap-rs/commit/b93870c10ae3bd90d233c586a33e086803117285)) - -#### Improvements - -* **Suggestions:** suggests to use flag after subcommand when applicable ([2671ca72](https://github.com/kbknapp/clap-rs/commit/2671ca7260119d4311d21c4075466aafdd9da734)) -* Bumps bitflags crate to v0.9 - -#### Documentation - -* Change `who's` -> `whose` ([53c1ffe8](https://github.com/kbknapp/clap-rs/commit/53c1ffe87f38b05d8804a0f7832412a952845349)) - -#### Documentation - -* **App::template:** adds details about the necessity to use AppSettings::UnifiedHelpMessage when using {unified} tags in the help template ([cbea3d5a](https://github.com/kbknapp/clap-rs/commit/cbea3d5acf3271a7a734498c4d99c709941c331e), closes [#949](https://github.com/kbknapp/clap-rs/issues/949)) -* **Arg::allow_hyphen_values:** updates the docs to include warnings for allow_hyphen_values and multiple(true) used together ([f9b0d657](https://github.com/kbknapp/clap-rs/commit/f9b0d657835d3f517f313d70962177dc30acf4a7)) -* **README.md:** - * added a warning about using ~ deps ([821929b5](https://github.com/kbknapp/clap-rs/commit/821929b51bd60213955705900a436c9a64fcb79f), closes [#964](https://github.com/kbknapp/clap-rs/issues/964)) -* **clap_app!:** adds using the @group specifier to the macro docs ([826048cb](https://github.com/kbknapp/clap-rs/commit/826048cb3cbc0280169303f1498ff0a2b7395883), closes [#932](https://github.com/kbknapp/clap-rs/issues/932)) - - - - -### v2.24.2 (2017-05-15) - - -#### Bug Fixes - -* adds a debug assertion to ensure all args added to groups actually exist ([14f6b8f3](https://github.com/kbknapp/clap-rs/commit/14f6b8f3a2f6df73aeeec9c54a54909b1acfc158), closes [#917](https://github.com/kbknapp/clap-rs/issues/917)) -* fixes a bug where args that allow values to start with a hyphen couldnt contain a double hyphen -- as a value ([ebf73a09](https://github.com/kbknapp/clap-rs/commit/ebf73a09db6f3c03c19cdd76b1ba6113930e1643), closes [#960](https://github.com/kbknapp/clap-rs/issues/960)) -* fixes a bug where positional argument help text is misaligned ([54c16836](https://github.com/kbknapp/clap-rs/commit/54c16836dea4651806a2cfad53146a83fa3abf21)) - -#### Documentation - -* **App::template:** adds details about the necessity to use AppSettings::UnifiedHelpMessage when using {unified} tags in the help template ([cf569438](https://github.com/kbknapp/clap-rs/commit/cf569438f309c199800bb8e46c9f140187de69d7), closes [#949](https://github.com/kbknapp/clap-rs/issues/949)) -* **Arg::allow_hyphen_values:** updates the docs to include warnings for allow_hyphen_values and multiple(true) used together ([ded5a2f1](https://github.com/kbknapp/clap-rs/commit/ded5a2f15474d4a5bd46a67b130ccb8b6781bd01)) -* **clap_app!:** adds using the @group specifier to the macro docs ([fe85fcb1](https://github.com/kbknapp/clap-rs/commit/fe85fcb1772b61f13b20b7ea5290e2437a76190c), closes [#932](https://github.com/kbknapp/clap-rs/issues/932)) - - - - -### v2.24.0 (2017-05-07) - - -#### Bug Fixes - -* fixes a bug where args with last(true) and required(true) set were not being printed in the usage string ([3ac533fe](https://github.com/kbknapp/clap-rs/commit/3ac533fedabf713943eedf006f830a5a486bbe80), closes [#944](https://github.com/kbknapp/clap-rs/issues/944)) -* fixes a bug that was printing the arg name, instead of value name when Arg::last(true) was used ([e1fe8ac3](https://github.com/kbknapp/clap-rs/commit/e1fe8ac3bc1f9cf4e36df0d881f8419755f1787b), closes [#940](https://github.com/kbknapp/clap-rs/issues/940)) -* fixes a bug where flags were parsed as flags AND positional values when specific combinations of settings were used ([20f83292](https://github.com/kbknapp/clap-rs/commit/20f83292d070038b8cee2a6b47e91f6b0a2f7871), closes [#946](https://github.com/kbknapp/clap-rs/issues/946)) - - - - -## v2.24.0 (2017-05-05) - - -#### Documentation - -* **README.md:** fix some typos ([fa34deac](https://github.com/kbknapp/clap-rs/commit/fa34deac079f334c3af97bb7fb151880ba8887f8)) - -#### API Additions - -* **Arg:** add `default_value_os` ([d5ef8955](https://github.com/kbknapp/clap-rs/commit/d5ef8955414b1587060f7218385256105b639c88)) -* **arg_matches.rs:** Added a Default implementation for Values and OsValues iterators. ([0a4384e3](https://github.com/kbknapp/clap-rs/commit/0a4384e350eed74c2a4dc8964c203f21ac64897f)) - - - -### v2.23.2 (2017-04-19) - - -#### Bug Fixes - -* **PowerShell Completions:** fixes a bug where powershells completions cant be used if no subcommands are defined ([a8bce558](https://github.com/kbknapp/clap-rs/commit/a8bce55837dc4e0fb187dc93180884a40ae09c6f), closes [#931](https://github.com/kbknapp/clap-rs/issues/931)) - -#### Improvements - -* bumps term_size to take advantage of better terminal dimension handling ([e05100b7](https://github.com/kbknapp/clap-rs/commit/e05100b73d74066a90876bf38f952adf5e8ee422)) -* **PowerShell Completions:** massively dedups subcommand names in the generate script to make smaller scripts that are still functionally equiv ([85b0e1cc](https://github.com/kbknapp/clap-rs/commit/85b0e1cc4b9755dda75a93d898d79bc38631552b)) - -#### Documentation - -* Fix a typo the minimum rust version required ([71dabba3](https://github.com/kbknapp/clap-rs/commit/71dabba3ea0a17c88b0e2199c9d99f0acbf3bc17)) - - -### v2.23.1 (2017-04-05) - - -#### Bug Fixes - -* fixes a missing newline character in the autogenerated help and version messages in some instances ([5ae9007d](https://github.com/kbknapp/clap-rs/commit/5ae9007d984ae94ae2752df51bcbaeb0ec89bc15)) - - - -## v2.23.0 (2017-04-05) - - -#### API Additions - -* `App::long_about` -* `App::long_version` -* `App::print_long_help` -* `App::write_long_help` -* `App::print_long_version` -* `App::write_long_version` -* `Arg::long_help` - -#### Features - -* allows distinguishing between short and long version messages (-V/short or --version/long) ([59272b06](https://github.com/kbknapp/clap-rs/commit/59272b06cc213289dc604dbc694cb95d383a5d68)) -* allows distinguishing between short and long help with subcommands in the same manner as args ([6b371891](https://github.com/kbknapp/clap-rs/commit/6b371891a1702173a849d1e95f9fecb168bf6fc4)) -* allows specifying a short help vs a long help (i.e. varying levels of detail depending on if -h or --help was used) ([ef1b24c3](https://github.com/kbknapp/clap-rs/commit/ef1b24c3a0dff2f58c5e2e90880fbc2b69df20ee)) -* **clap_app!:** adds support for arg names with hyphens similar to longs with hyphens ([f7a88779](https://github.com/kbknapp/clap-rs/commit/f7a8877978c8f90e6543d4f0d9600c086cf92cd7), closes [#869](https://github.com/kbknapp/clap-rs/issues/869)) - -#### Bug Fixes - -* fixes a bug that wasn't allowing help and version to be properly overridden ([8b2ceb83](https://github.com/kbknapp/clap-rs/commit/8b2ceb8368bcb70689fadf1c7f4b9549184926c1), closes [#922](https://github.com/kbknapp/clap-rs/issues/922)) - -#### Documentation - -* **clap_app!:** documents the `--("some-arg")` method for using args with hyphens inside them ([bc08ef3e](https://github.com/kbknapp/clap-rs/commit/bc08ef3e185393073d969d301989b6319c616c1f), closes [#919](https://github.com/kbknapp/clap-rs/issues/919)) - - - - -### v2.22.2 (2017-03-30) - - -#### Bug Fixes - -* **Custom Usage Strings:** fixes the usage string regression when using help templates ([0e4fd96d](https://github.com/kbknapp/clap-rs/commit/0e4fd96d74280d306d09e60ac44f938a82321769)) - - - - -### v2.22.1 (2017-03-24) - - -#### Bug Fixes - -* **usage:** fixes a big regression with custom usage strings ([2c41caba](https://github.com/kbknapp/clap-rs/commit/2c41caba3c7d723a2894e315d04da796b0e97759)) - - -## v2.22.0 (2017-03-23) - -#### API Additions - -* **App::name:** adds the ability to change the name of the App instance after creation ([d49e8292](https://github.com/kbknapp/clap-rs/commit/d49e8292b026b06e2b70447cd9f08299f4fcba76), closes [#908](https://github.com/kbknapp/clap-rs/issues/908)) -* **Arg::hide_default_value:** adds ability to hide the default value of an argument from the help string ([89e6ea86](https://github.com/kbknapp/clap-rs/commit/89e6ea861e16a1ad56757ca12f6b32d02253e44a), closes [#902](https://github.com/kbknapp/clap-rs/issues/902)) - - - -### v2.21.3 (2017-03-23) - -#### Bug Fixes - -* **yaml:** adds support for loading author info from yaml ([e04c390c](https://github.com/kbknapp/clap-rs/commit/e04c390c597a55fa27e724050342f16c42f1c5c9)) - - - -### v2.21.2 (2017-03-17) - - -#### Improvements - -* add fish subcommand help support ([f8f68cf8](https://github.com/kbknapp/clap-rs/commit/f8f68cf8251669aef4539a25a7c1166f0ac81ea6)) -* options that use `require_equals(true)` now display the equals sign in help messages, usage strings, and errors" ([c8eb0384](https://github.com/kbknapp/clap-rs/commit/c8eb0384d394d2900ccdc1593099c97808a3fa05), closes [#903](https://github.com/kbknapp/clap-rs/issues/903)) - - -#### Bug Fixes - -* setting the max term width now correctly propagates down through child subcommands - - - - -### v2.21.1 (2017-03-12) - - -#### Bug Fixes - -* **ArgRequiredElseHelp:** fixes the precedence of this error to prioritize over other error messages ([74b751ff](https://github.com/kbknapp/clap-rs/commit/74b751ff2e3631e337b7946347c1119829a41c53), closes [#895](https://github.com/kbknapp/clap-rs/issues/895)) -* **Positionals:** fixes some regression bugs resulting from old asserts in debug mode. ([9a3bc98e](https://github.com/kbknapp/clap-rs/commit/9a3bc98e9b55e7514b74b73374c5ac8b6e5e0508), closes [#896](https://github.com/kbknapp/clap-rs/issues/896)) - - - - -## v2.21.0 (2017-03-09) - -#### Performance - -* doesn't run `arg_post_processing` on multiple values anymore ([ec516182](https://github.com/kbknapp/clap-rs/commit/ec5161828729f6a53f0fccec8648f71697f01f78)) -* changes internal use of `VecMap` to `Vec` for matched values of `Arg`s ([22bf137a](https://github.com/kbknapp/clap-rs/commit/22bf137ac581684c6ed460d2c3c640c503d62621)) -* vastly reduces the amount of cloning when adding non-global args minus when they're added from `App::args` which is forced to clone ([8da0303b](https://github.com/kbknapp/clap-rs/commit/8da0303bc02db5fe047cfc0631a9da41d9dc60f7)) -* refactor to remove unneeded vectors and allocations and checks for significant performance increases ([0efa4119](https://github.com/kbknapp/clap-rs/commit/0efa4119632f134fc5b8b9695b007dd94b76735d)) - -#### Documentation - -* Fix examples link in CONTRIBUTING.md ([60cf875d](https://github.com/kbknapp/clap-rs/commit/60cf875d67a252e19bb85054be57696fac2c57a1)) - -#### Improvements - -* when `AppSettings::SubcommandsNegateReqs` and `ArgsNegateSubcommands` are used, a new more accurate double line usage string is shown ([50f02300](https://github.com/kbknapp/clap-rs/commit/50f02300d81788817acefef0697e157e01b6ca32), closes [#871](https://github.com/kbknapp/clap-rs/issues/871)) - -#### API Additions - -* **Arg::last:** adds the ability to mark a positional argument as 'last' which means it should be used with `--` syntax and can be accessed early ([6a7aea90](https://github.com/kbknapp/clap-rs/commit/6a7aea9043b83badd9ab038b4ecc4c787716147e), closes [#888](https://github.com/kbknapp/clap-rs/issues/888)) -* provides `default_value_os` and `default_value_if[s]_os` ([0f2a3782](https://github.com/kbknapp/clap-rs/commit/0f2a378219a6930748d178ba350fe5925be5dad5), closes [#849](https://github.com/kbknapp/clap-rs/issues/849)) -* provides `App::help_message` and `App::version_message` which allows one to override the auto-generated help/version flag associated help ([389c413](https://github.com/kbknapp/clap-rs/commit/389c413b7023dccab8c76aa00577ea1d048e7a99), closes [#889](https://github.com/kbknapp/clap-rs/issues/889)) - -#### New Settings - -* **InferSubcommands:** adds a setting to allow one to infer shortened subcommands or aliases (i.e. for subcommmand "test", "t", "te", or "tes" would be allowed assuming no other ambiguities) ([11602032](https://github.com/kbknapp/clap-rs/commit/11602032f6ff05881e3adf130356e37d5e66e8f9), closes [#863](https://github.com/kbknapp/clap-rs/issues/863)) - -#### Bug Fixes - -* doesn't print the argument sections in the help message if all args in that section are hidden ([ce5ee5f5](https://github.com/kbknapp/clap-rs/commit/ce5ee5f5a76f838104aeddd01c8ec956dd347f50)) -* doesn't include the various [ARGS] [FLAGS] or [OPTIONS] if the only ones available are hidden ([7b4000af](https://github.com/kbknapp/clap-rs/commit/7b4000af97637703645c5fb2ac8bb65bd546b95b), closes [#882](https://github.com/kbknapp/clap-rs/issues/882)) -* now correctly shows subcommand as required in the usage string when AppSettings::SubcommandRequiredElseHelp is used ([8f0884c1](https://github.com/kbknapp/clap-rs/commit/8f0884c1764983a49b45de52a1eddf8d721564d8)) -* fixes some memory leaks when an error is detected and clap exits ([8c2dd287](https://github.com/kbknapp/clap-rs/commit/8c2dd28718262ace4ae0db98563809548e02a86b)) -* fixes a trait that's marked private accidentlly, but should be crate internal public ([1ae21108](https://github.com/kbknapp/clap-rs/commit/1ae21108015cea87e5360402e1747025116c7878)) -* **Completions:** fixes a bug that tried to propogate global args multiple times when generating multiple completion scripts ([5e9b9cf4](https://github.com/kbknapp/clap-rs/commit/5e9b9cf4dd80fa66a624374fd04e6545635c1f94), closes [#846](https://github.com/kbknapp/clap-rs/issues/846)) - -#### Features - -* **Options:** adds the ability to require the equals syntax with options --opt=val ([f002693d](https://github.com/kbknapp/clap-rs/commit/f002693dec6a6959c4e9590cb7b7bfffd6d6e5bc), closes [#833](https://github.com/kbknapp/clap-rs/issues/833)) - - - - -### v2.20.5 (2017-02-18) - - -#### Bug Fixes - -* **clap_app!:** fixes a critical bug of a missing fragment specifier when using `!property` style tags. ([5635c1f94](https://github.com/kbknapp/clap-rs/commit/5e9b9cf4dd80fa66a624374fd04e6545635c1f94)) - - - -### v2.20.4 (2017-02-15) - - -#### Bug Fixes - -* **Completions:** fixes a bug that tried to propogate global args multiple times when generating multiple completion scripts ([5e9b9cf4](https://github.com/kbknapp/clap-rs/commit/5e9b9cf4dd80fa66a624374fd04e6545635c1f94), closes [#846](https://github.com/kbknapp/clap-rs/issues/846)) - -#### Documentation - -* Fix examples link in CONTRIBUTING.md ([60cf875d](https://github.com/kbknapp/clap-rs/commit/60cf875d67a252e19bb85054be57696fac2c57a1)) - - - -### v2.20.3 (2017-02-03) - - -#### Documentation - -* **Macros:** adds a warning about changing values in Cargo.toml not triggering a rebuild automatically ([112aea3e](https://github.com/kbknapp/clap-rs/commit/112aea3e42ae9e0c0a2d33ebad89496dbdd95e5d), closes [#838](https://github.com/kbknapp/clap-rs/issues/838)) - -#### Bug Fixes - -* fixes a println->debugln typo ([279aa62e](https://github.com/kbknapp/clap-rs/commit/279aa62eaf08f56ce090ba16b937bc763cbb45be)) -* fixes bash completions for commands that have an underscore in the name ([7f5cfa72](https://github.com/kbknapp/clap-rs/commit/7f5cfa724f0ac4e098f5fe466c903febddb2d994), closes [#581](https://github.com/kbknapp/clap-rs/issues/581)) -* fixes a bug where ZSH completions would panic if the binary name had an underscore in it ([891a2a00](https://github.com/kbknapp/clap-rs/commit/891a2a006f775e92c556dda48bb32fac9807c4fb), closes [#581](https://github.com/kbknapp/clap-rs/issues/581)) -* allow final word to be wrapped in wrap_help ([564c5f0f](https://github.com/kbknapp/clap-rs/commit/564c5f0f1730f4a2c1cdd128664f1a981c31dcd4), closes [#828](https://github.com/kbknapp/clap-rs/issues/828)) -* fixes a bug where global args weren't included in the generated completion scripts ([9a1e006e](https://github.com/kbknapp/clap-rs/commit/9a1e006eb75ad5a6057ebd119aa90f7e06c0ace8), closes [#841](https://github.com/kbknapp/clap-rs/issues/841)) - - - - -### v2.20.2 (2017-02-03) - -#### Bug Fixes - -* fixes a critical bug where subcommand settings were being propogated too far ([74648c94](https://github.com/kbknapp/clap-rs/commit/74648c94b893df542bfa5bb595e68c7bb8167e36), closes [#832](https://github.com/kbknapp/clap-rs/issues/832)) - - -#### Improvements - -* adds ArgGroup::multiple to the supported YAML fields for building ArgGroups from YAML ([d8590037](https://github.com/kbknapp/clap-rs/commit/d8590037ce07dafd8cd5b26928aa4a9fd3018288), closes [#840](https://github.com/kbknapp/clap-rs/issues/840)) - - -### v2.20.1 (2017-01-31) - -#### Bug Fixes - -* allow final word to be wrapped in wrap_help ([564c5f0f](https://github.com/kbknapp/clap-rs/commit/564c5f0f1730f4a2c1cdd128664f1a981c31dcd4), closes [#828](https://github.com/kbknapp/clap-rs/issues/828)) -* actually show character in debug output ([84d8c547](https://github.com/kbknapp/clap-rs/commit/84d8c5476de95b7f37d61888bc4f13688b712434)) -* include final character in line lenght ([aff4ba18](https://github.com/kbknapp/clap-rs/commit/aff4ba18da8147e1259b04b0bfbc1fcb5c78a3c0)) - -#### Improvements - -* updates libc and term_size deps for the libc version conflict ([6802ac4a](https://github.com/kbknapp/clap-rs/commit/6802ac4a59c142cda9ec55ca0c45ae5cb9a6ab55)) - -#### Documentation - -* fix link from app_from_crate! to crate_authors! (#822) ([5b29be9b](https://github.com/kbknapp/clap-rs/commit/5b29be9b073330ab1f7227cdd19fe4aab39d5dcb)) -* fix spelling of "guaranteed" ([4f30a65b](https://github.com/kbknapp/clap-rs/commit/4f30a65b9c03eb09607eb91a929a6396637dc105)) - - - -#### New Settings - -* **ArgsNegateSubcommands:** disables args being allowed between subcommands ([5e2af8c9](https://github.com/kbknapp/clap-rs/commit/5e2af8c96adb5ab75fa2d1536237ebcb41869494), closes [#793](https://github.com/kbknapp/clap-rs/issues/793)) -* **DontCollapseArgsInUsage:** disables the collapsing of positional args into `[ARGS]` in the usage string ([c2978afc](https://github.com/kbknapp/clap-rs/commit/c2978afc61fb46d5263ab3b2d87ecde1c9ce1553), closes [#769](https://github.com/kbknapp/clap-rs/issues/769)) -* **DisableHelpSubcommand:** disables building the `help` subcommand ([a10fc859](https://github.com/kbknapp/clap-rs/commit/a10fc859ee20159fbd9ff4337be59b76467a64f2)) -* **AllowMissingPositional:** allows one to implement `$ prog [optional] ` style CLIs where the second postional argument is required, but the first is optional ([1110fdc7](https://github.com/kbknapp/clap-rs/commit/1110fdc7a345c108820dc45783a9bf893fa4c214), closes [#636](https://github.com/kbknapp/clap-rs/issues/636)) -* **PropagateGlobalValuesDown:** automatically propagats global arg's values down through *used* subcommands ([985536c8](https://github.com/kbknapp/clap-rs/commit/985536c8ebcc09af98aac835f42a8072ad58c262), closes [#694](https://github.com/kbknapp/clap-rs/issues/694)) - -#### API Additions - -##### Arg - -* **Arg::value_terminator:** adds the ability to terminate multiple values with a given string or char ([be64ce0c](https://github.com/kbknapp/clap-rs/commit/be64ce0c373efc106384baca3f487ea99fe7b8cf), closes [#782](https://github.com/kbknapp/clap-rs/issues/782)) -* **Arg::default_value_if[s]:** adds new methods for *conditional* default values (such as a particular value from another argument was used) ([eb4010e7](https://github.com/kbknapp/clap-rs/commit/eb4010e7b21724447ef837db11ac441915728f22)) -* **Arg::requires_if[s]:** adds the ability to *conditionally* require additional args (such as if a particular value was used) ([198449d6](https://github.com/kbknapp/clap-rs/commit/198449d64393c265f0bc327aaeac23ec4bb97226)) -* **Arg::required_if[s]:** adds the ability for an arg to be *conditionally* required (i.e. "arg X is only required if arg Y was used with value Z") ([ee9cfddf](https://github.com/kbknapp/clap-rs/commit/ee9cfddf345a6b5ae2af42ba72aa5c89e2ca7f59)) -* **Arg::validator_os:** adds ability to validate values which may contain invalid UTF-8 ([47232498](https://github.com/kbknapp/clap-rs/commit/47232498a813db4f3366ccd3e9faf0bff56433a4)) - -##### Macros - -* **crate_description!:** Uses the `Cargo.toml` description field to fill in the `App::about` method at compile time ([4d9a82db](https://github.com/kbknapp/clap-rs/commit/4d9a82db8e875e9b64a9c2a5c6e22c25afc1279d), closes [#778](https://github.com/kbknapp/clap-rs/issues/778)) -* **crate_name!:** Uses the `Cargo.toml` name field to fill in the `App::new` method at compile time ([4d9a82db](https://github.com/kbknapp/clap-rs/commit/4d9a82db8e875e9b64a9c2a5c6e22c25afc1279d), closes [#778](https://github.com/kbknapp/clap-rs/issues/778)) -* **app_from_crate!:** Combines `crate_version!`, `crate_name!`, `crate_description!`, and `crate_authors!` into a single macro call to build a default `App` instance from the `Cargo.toml` fields ([4d9a82db](https://github.com/kbknapp/clap-rs/commit/4d9a82db8e875e9b64a9c2a5c6e22c25afc1279d), closes [#778](https://github.com/kbknapp/clap-rs/issues/778)) - - -#### Features - -* **no_cargo:** adds a `no_cargo` feature to disable Cargo-env-var-dependent macros for those *not* using `cargo` to build their crates (#786) ([6fdd2f9d](https://github.com/kbknapp/clap-rs/commit/6fdd2f9d693aaf1118fc61bd362273950703f43d)) - -#### Bug Fixes - -* **Options:** fixes a critical bug where options weren't forced to have a value ([5a5f2b1e](https://github.com/kbknapp/clap-rs/commit/5a5f2b1e9f598a0d0280ef3e98abbbba2bc41132), closes [#665](https://github.com/kbknapp/clap-rs/issues/665)) -* fixes a bug where calling the help of a subcommand wasn't ignoring required args of parent commands ([d3d34a2b](https://github.com/kbknapp/clap-rs/commit/d3d34a2b51ef31004055b0ab574f766d801c3adf), closes [#789](https://github.com/kbknapp/clap-rs/issues/789)) -* **Help Subcommand:** fixes a bug where the help subcommand couldn't be overriden ([d34ec3e0](https://github.com/kbknapp/clap-rs/commit/d34ec3e032d03e402d8e87af9b2942fe2819b2da), closes [#787](https://github.com/kbknapp/clap-rs/issues/787)) -* **Low Index Multiples:** fixes a bug which caused combinations of LowIndexMultiples and `Arg::allow_hyphen_values` to fail parsing ([26c670ca](https://github.com/kbknapp/clap-rs/commit/26c670ca16d2c80dc26d5c1ce83380ace6357318)) - -#### Improvements - -* **Default Values:** improves the error message when default values are involved ([1f33de54](https://github.com/kbknapp/clap-rs/commit/1f33de545036e7fd2f80faba251fca009bd519b8), closes [#774](https://github.com/kbknapp/clap-rs/issues/774)) -* **YAML:** adds conditional requirements and conditional default values to YAML ([9a4df327](https://github.com/kbknapp/clap-rs/commit/9a4df327893486adb5558ffefba790c634ccdc6e), closes [#764](https://github.com/kbknapp/clap-rs/issues/764)) -* Support `--("some-arg-name")` syntax for defining long arg names when using `clap_app!` macro ([f41ec962](https://github.com/kbknapp/clap-rs/commit/f41ec962c243a5ffff8b1be1ae2ad63970d3d1d4)) -* Support `("some app name")` syntax for defining app names when using `clap_app!` macro ([9895b671](https://github.com/kbknapp/clap-rs/commit/9895b671cff784f35cf56abcd8270f7c2ba09699), closes [#759](https://github.com/kbknapp/clap-rs/issues/759)) -* **Help Wrapping:** long app names (with spaces), authors, and descriptions are now wrapped appropriately ([ad4691b7](https://github.com/kbknapp/clap-rs/commit/ad4691b71a63e951ace346318238d8834e04ad8a), closes [#777](https://github.com/kbknapp/clap-rs/issues/777)) - - -#### Documentation - -* **Conditional Default Values:** fixes the failing doc tests of Arg::default_value_ifs ([4ef09101](https://github.com/kbknapp/clap-rs/commit/4ef091019c083b4db1a0c13f1c1e95ac363259f2)) -* **Conditional Requirements:** adds docs for Arg::requires_ifs ([7f296e29](https://github.com/kbknapp/clap-rs/commit/7f296e29db7d9036e76e5dbcc9c8b20dfe7b25bd)) -* **README.md:** fix some typos ([f22c21b4](https://github.com/kbknapp/clap-rs/commit/f22c21b422d5b287d1a1ac183a379ee02eebf54f)) -* **src/app/mod.rs:** fix some typos ([5c9b0d47](https://github.com/kbknapp/clap-rs/commit/5c9b0d47ca78dea285c5b9dec79063d24c3e451a)) - - -### v2.19.3 (2016-12-28) - - -#### Bug Fixes - -* fixes a bug where calling the help of a subcommand wasn't ignoring required args of parent commands ([a0ee4993](https://github.com/kbknapp/clap-rs/commit/a0ee4993015ea97b06b5bc9f378d8bcb18f1c51c), closes [#789](https://github.com/kbknapp/clap-rs/issues/789)) - - - - -### v2.19.2 (2016-12-08) - -#### Bug Fixes - -* **ZSH Completions:** escapes square brackets in ZSH completions ([7e17d5a3](https://github.com/kbknapp/clap-rs/commit/7e17d5a36b2cc2cc77e7b15796b14d639ed3cbf7), closes [#771](https://github.com/kbknapp/clap-rs/issues/771)) - -#### Documentation - -* **Examples:** adds subcommand examples ([0e0f3354](https://github.com/kbknapp/clap-rs/commit/0e0f33547a6901425afc1d9fbe19f7ae3832d9a4), closes [#766](https://github.com/kbknapp/clap-rs/issues/766)) -* **README.md:** adds guidance on when to use ~ in version pinning, and clarifies breaking change policy ([591eaefc](https://github.com/kbknapp/clap-rs/commit/591eaefc7319142ba921130e502bb0729feed907), closes [#765](https://github.com/kbknapp/clap-rs/issues/765)) - - - - -### v2.19.1 (2016-12-01) - - -#### Bug Fixes - -* **Help Messages:** fixes help message alignment when specific settings are used on options ([cd94b318](https://github.com/kbknapp/clap-rs/commit/cd94b3188d63b63295a319e90e826bca46befcd2), closes [#760](https://github.com/kbknapp/clap-rs/issues/760)) - -#### Improvements - -* **Bash Completion:** allows bash completion to fall back to traidtional bash completion upon no matching completing function ([b1b16d56](https://github.com/kbknapp/clap-rs/commit/b1b16d56d8fddf819bdbe24b3724bb6a9f3fa613))) - - - -## v2.19.0 (2016-11-21) - -#### Features - -* allows specifying AllowLeadingHyphen style values, but only for specific args vice command wide ([c0d70feb](https://github.com/kbknapp/clap-rs/commit/c0d70febad9996a77a54107054daf1914c50d4ef), closes [#742](https://github.com/kbknapp/clap-rs/issues/742)) - -#### Bug Fixes - -* **Required Unless:** fixes a bug where having required_unless set doesn't work when conflicts are also set ([d20331b6](https://github.com/kbknapp/clap-rs/commit/d20331b6f7940ac3a4e919999f8bb4780875125d), closes [#753](https://github.com/kbknapp/clap-rs/issues/753)) -* **ZSH Completions:** fixes an issue where zsh completions caused panics if there were no subcommands ([49e7cdab](https://github.com/kbknapp/clap-rs/commit/49e7cdab76dd1ccc07221e360f07808ec62648aa), closes [#754](https://github.com/kbknapp/clap-rs/issues/754)) - -#### Improvements - -* **Validators:** improves the error messages for validators ([65eb3385](https://github.com/kbknapp/clap-rs/commit/65eb33859d3ff53e7d3277f02a9d3fd9038a9dfb), closes [#744](https://github.com/kbknapp/clap-rs/issues/744)) - -#### Documentation - -* updates the docs landing page ([01e1e33f](https://github.com/kbknapp/clap-rs/commit/01e1e33f377934099a4a725fab5cd6c5ff50eaa2)) -* adds the macro version back to the readme ([45eb9bf1](https://github.com/kbknapp/clap-rs/commit/45eb9bf130329c3f3853aba0342c2fe3c64ff80f)) -* fix broken docs links ([808e7cee](https://github.com/kbknapp/clap-rs/commit/808e7ceeb86d4a319bdc270f51c23a64621dbfb3)) -* **Compatibility Policy:** adds an official compatibility policy to ([760d66dc](https://github.com/kbknapp/clap-rs/commit/760d66dc17310b357f257776624151da933cd25d), closes [#740](https://github.com/kbknapp/clap-rs/issues/740)) -* **Contributing:** updates the readme to improve the readability and contributing sections ([eb51316c](https://github.com/kbknapp/clap-rs/commit/eb51316cdfdc7258d287ba13b67ef2f42bd2b8f6)) - - -## v2.18.0 (2016-11-05) - - -#### Features - -* **Completions:** adds completion support for PowerShell. ([cff82c88](https://github.com/kbknapp/clap-rs/commit/cff82c880e21064fca63351507b80350df6caadf), closes [#729](https://github.com/kbknapp/clap-rs/issues/729)) - - - - -### v2.17.1 (2016-11-02) - - -#### Bug Fixes - -* **Low Index Multiples:** fixes a bug where using low index multiples was propgated to subcommands ([33924e88](https://github.com/kbknapp/clap-rs/commit/33924e884461983c4e6b5ea1330fecc769a4ade7), closes [#725](https://github.com/kbknapp/clap-rs/issues/725)) - - - - -## v2.17.0 (2016-11-01) - - -#### Features - -* **Positional Args:** allows specifying the second to last positional argument as multiple(true) ([1ced2a74](https://github.com/kbknapp/clap-rs/commit/1ced2a7433ea8937a1b260ea65d708f32ca7c95e), closes [#725](https://github.com/kbknapp/clap-rs/issues/725)) - - - - -### v2.16.4 (2016-10-31) - - -#### Improvements - -* **Error Output:** conflicting errors are now symetrical, meaning more consistent and less confusing ([3d37001d](https://github.com/kbknapp/clap-rs/commit/3d37001d1dc647d73cc597ff172f1072d4beb80d), closes [#718](https://github.com/kbknapp/clap-rs/issues/718)) - -#### Documentation - -* Fix typo in example `13a_enum_values_automatic` ([c22fbc07](https://github.com/kbknapp/clap-rs/commit/c22fbc07356e556ffb5d1a79ec04597d149b915e)) -* **README.md:** fixes failing yaml example (#715) ([21fba9e6](https://github.com/kbknapp/clap-rs/commit/21fba9e6cd8c163012999cd0ce271ec8780c5695)) - -#### Bug Fixes - -* **ZSH Completions:** fixes bug that caused panic on subcommands with aliases ([5c70e1a0](https://github.com/kbknapp/clap-rs/commit/5c70e1a01bc977e44c10015d18bb8e215c32dfc8), closes [#714](https://github.com/kbknapp/clap-rs/issues/714)) -* **debug:** fixes the debug feature (#716) ([6c11ccf4](https://github.com/kbknapp/clap-rs/commit/6c11ccf443d46258d51f7cda33fbcc81e7fe8e90)) - - - - -### v2.16.3 (2016-10-28) - - -#### Bug Fixes - -* Derive display order after propagation ([9cb6facf](https://github.com/kbknapp/clap-rs/commit/9cb6facf507aff7cddd124b8c29714d2b0e7bd13), closes [#706](https://github.com/kbknapp/clap-rs/issues/706)) -* **yaml-example:** inconsistent args ([847f7199](https://github.com/kbknapp/clap-rs/commit/847f7199219ead5065561d91d64780d99ae4b587)) - - - - -### v2.16.2 (2016-10-25) - - -#### Bug Fixes - -* **Fish Completions:** fixes a bug where single quotes are not escaped ([780b4a18](https://github.com/kbknapp/clap-rs/commit/780b4a18281b6f7f7071e1b9db2290fae653c406), closes [#704](https://github.com/kbknapp/clap-rs/issues/704)) - - - -### v2.16.1 (2016-10-24) - - -#### Bug Fixes - -* **Help Message:** fixes a regression bug where args with multiple(true) threw off alignment ([ebddac79](https://github.com/kbknapp/clap-rs/commit/ebddac791f3ceac193d5ad833b4b734b9643a7af), closes [#702](https://github.com/kbknapp/clap-rs/issues/702)) - - - - -## v2.16.0 (2016-10-23) - - -#### Features - -* **Completions:** adds ZSH completion support ([3e36b0ba](https://github.com/kbknapp/clap-rs/commit/3e36b0bac491d3f6194aee14604caf7be26b3d56), closes [#699](https://github.com/kbknapp/clap-rs/issues/699)) - - - - -## v2.15.0 (2016-10-21) - - -#### Features - -* **AppSettings:** adds new setting `AppSettings::AllowNegativeNumbers` ([ab064546](https://github.com/kbknapp/clap-rs/commit/ab06454677fb6aa9b9f804644fcca2168b1eaee3), closes [#696](https://github.com/kbknapp/clap-rs/issues/696)) - -#### Documentation - -* **app/settings.rs:** moves variants to roughly alphabetical order ([9ed4d4d7](https://github.com/kbknapp/clap-rs/commit/9ed4d4d7957a23357aef60081e45639ab9e3905f)) - - - -### v2.14.1 (2016-10-20) - - -#### Documentation - -* Improve documentation around features ([4ee85b95](https://github.com/kbknapp/clap-rs/commit/4ee85b95d2d16708a016a3ba4e6e2c93b89b7fad)) -* reword docs for ErrorKind and app::Settings ([3ccde7a4](https://github.com/kbknapp/clap-rs/commit/3ccde7a4b8f7a2ea8b916a5415c04a8ff4b5cb7a)) -* fix tests that fail when the "suggestions" feature is disabled ([996fc381](https://github.com/kbknapp/clap-rs/commit/996fc381763a48d125c7ea8a58fed057fd0b4ac6)) -* fix the OsString-using doc-tests ([af9e1a39](https://github.com/kbknapp/clap-rs/commit/af9e1a393ce6cdda46a03c8a4f48df222b015a24)) -* tag non-rust code blocks as such instead of ignoring them ([0ba9f4b1](https://github.com/kbknapp/clap-rs/commit/0ba9f4b123f281952581b6dec948f7e51dd22890)) -* **ErrorKind:** improve some errors about subcommands ([9f6217a4](https://github.com/kbknapp/clap-rs/commit/9f6217a424da823343d7b801b9c350dee3cd1906)) -* **yaml:** make sure the doc-tests don't fail before "missing file" ([8c0f5551](https://github.com/kbknapp/clap-rs/commit/8c0f55516f4910c78c9f8a2bdbd822729574f95b)) - -#### Improvements - -* Stabilize clap_app! ([cd516006](https://github.com/kbknapp/clap-rs/commit/cd516006e35c37b005f329338560a0a53d1f3e00)) -* **with_defaults:** Deprecate App::with_defaults() ([26085409](https://github.com/kbknapp/clap-rs/commit/2608540940c8bb66e517b65706bc7dea55510682), closes [#638](https://github.com/kbknapp/clap-rs/issues/638)) - -#### Bug Fixes - -* fixes a bug that made determining when to auto-wrap long help messages inconsistent ([468baadb](https://github.com/kbknapp/clap-rs/commit/468baadb8398fc1d37897b0c49374aef4cf97dca), closes [#688](https://github.com/kbknapp/clap-rs/issues/688)) -* **Completions:** fish completions for nested subcommands ([a61eaf8a](https://github.com/kbknapp/clap-rs/commit/a61eaf8aade76cfe90ccc0f7125751ebf60e3254)) -* **features:** Make lints not enable other nightly-requiring features ([835f75e3](https://github.com/kbknapp/clap-rs/commit/835f75e3ba20999117363ed9f916464d777f36ef)) - - - - -## v2.14.0 (2016-10-05) - - -#### Features - -* **arg_aliases:** Ability to alias arguments ([33b5f6ef](https://github.com/kbknapp/clap-rs/commit/33b5f6ef2c9612ecabb31f96b824793e46bfd3dd), closes [#669](https://github.com/kbknapp/clap-rs/issues/669)) -* **flag_aliases:** Ability to alias flags ([40d6dac9](https://github.com/kbknapp/clap-rs/commit/40d6dac973927dded6ab423481634ef47ee7bfd7)) - -#### Bug Fixes - -* **UsageParser:** Handle non-ascii names / options. ([1d6a7c6e](https://github.com/kbknapp/clap-rs/commit/1d6a7c6e7e6aadc527346aa822f19d8587f714f3), closes [#664](https://github.com/kbknapp/clap-rs/issues/664)) - -#### Documentation - -* typo ([bac417fa](https://github.com/kbknapp/clap-rs/commit/bac417fa1cea3d32308334c7cccfcf54546cd9d8)) - - - -## v2.13.0 (2016-09-18) - - -#### Documentation - -* updates README.md with new website information and updated video tutorials info ([0c19c580](https://github.com/kbknapp/clap-rs/commit/0c19c580cf50f1b82ff32f70b36708ae2bcac132)) -* updates the docs about removing implicit value_delimiter(true) ([c81bc722](https://github.com/kbknapp/clap-rs/commit/c81bc722ebb8a86d22be89b5aec98df9fe222a08)) -* **Default Values:** adds better examples on using default values ([57a8d9ab](https://github.com/kbknapp/clap-rs/commit/57a8d9abb2f973c235a8a14f8fc031673d7a7460), closes [#418](https://github.com/kbknapp/clap-rs/issues/418)) - -#### Bug Fixes - -* **Value Delimiters:** fixes the confusion around implicitly setting value delimiters. (default is now `false`) ([09d4d0a9](https://github.com/kbknapp/clap-rs/commit/09d4d0a9038d7ce2df55c2aec95e16f36189fcee), closes [#666](https://github.com/kbknapp/clap-rs/issues/666)) - - - - -### v2.12.1 (2016-09-13) - - -#### Bug Fixes - -* **Help Wrapping:** fixes a regression-bug where the old {n} newline char stopped working ([92ac353b](https://github.com/kbknapp/clap-rs/commit/92ac353b48b7caa2511ad2a046d94da93c236cf6), closes [#661](https://github.com/kbknapp/clap-rs/issues/661)) - - - - -## v2.12.0 (2016-09-13) - - -#### Features - -* **Help:** adds ability to hide the possible values on a per argument basis ([9151ef73](https://github.com/kbknapp/clap-rs/commit/9151ef739871f2e74910c342299c0de196b95dec), closes [#640](https://github.com/kbknapp/clap-rs/issues/640)) -* **help:** allow for limiting detected terminal width ([a43e28af](https://github.com/kbknapp/clap-rs/commit/a43e28af85c9a9deaedd5ef735f4f13008daab29), closes [#653](https://github.com/kbknapp/clap-rs/issues/653)) - -#### Documentation - -* **Help Wrapping:** removes the verbage about using `'{n}'` to insert newlines in help text ([c5a2b352](https://github.com/kbknapp/clap-rs/commit/c5a2b352ca600f5b802290ad945731066cd53611)) -* **Value Delimiters:** updates the docs for the Arg::multiple method WRT value delimiters and default settings ([f9d17a06](https://github.com/kbknapp/clap-rs/commit/f9d17a060aa53f10d0a6e1a7eed5d989d1a59533)) -* **appsettings:** Document AppSetting::DisableVersion ([94501965](https://github.com/kbknapp/clap-rs/commit/945019654d2ca67eb2b1d6014fdf80b84d528d30), closes [#589](https://github.com/kbknapp/clap-rs/issues/589)) - -#### Bug Fixes - -* **AllowLeadingHyphen:** fixes a bug where valid args aren't recognized with this setting ([a9699e4d](https://github.com/kbknapp/clap-rs/commit/a9699e4d7cdc9a06e73b845933ff1fe6d76f016a), closes [#588](https://github.com/kbknapp/clap-rs/issues/588)) - -#### Improvements - -* **Help Wrapping:** - * clap now ignores hard newlines in help messages and properly re-aligns text, but still wraps if the term width is too small ([c7678523](https://github.com/kbknapp/clap-rs/commit/c76785239fd42adc8ca04f9202b6fec615aa9f14), closes [#617](https://github.com/kbknapp/clap-rs/issues/617)) - * makes some minor changes to when next line help is automatically used ([01cae799](https://github.com/kbknapp/clap-rs/commit/01cae7990a33167ac35103fb36c811b4fe6eb98f)) -* **Value Delimiters:** changes the default value delimiter rules ([f9e69254](https://github.com/kbknapp/clap-rs/commit/f9e692548e8c94de15f909432de301407d6bb834), closes [#655](https://github.com/kbknapp/clap-rs/issues/655)) -* **YAML:** supports setting Arg::require_delimiter from YAML ([b9b55a39](https://github.com/kbknapp/clap-rs/commit/b9b55a39dfebcdbdc05dca2692927e503db50816)) - -#### Performance - -* **help:** fix redundant contains() checks ([a8afed74](https://github.com/kbknapp/clap-rs/commit/a8afed7428bf0733f8e93bb11ad6c00d9e970fcc)) - - - - -### v2.11.3 (2016-09-07) - - -#### Documentation - -* **Help Wrapping:** removes the verbage about using `'{n}'` to insert newlines in help text ([c5a2b352](https://github.com/kbknapp/clap-rs/commit/c5a2b352ca600f5b802290ad945731066cd53611)) - -#### Improvements - -* **Help Wrapping:** - * clap now ignores hard newlines in help messages and properly re-aligns text, but still wraps if the term width is too small ([c7678523](https://github.com/kbknapp/clap-rs/commit/c76785239fd42adc8ca04f9202b6fec615aa9f14), closes [#617](https://github.com/kbknapp/clap-rs/issues/617)) - * makes some minor changes to when next line help is automatically used ([01cae799](https://github.com/kbknapp/clap-rs/commit/01cae7990a33167ac35103fb36c811b4fe6eb98f)) -* **YAML:** supports setting Arg::require_delimiter from YAML ([b9b55a39](https://github.com/kbknapp/clap-rs/commit/b9b55a39dfebcdbdc05dca2692927e503db50816)) - - - - - -### v2.11.2 (2016-09-06) - -#### Improvements - -* **Help Wrapping:** makes some minor changes to when next line help is automatically used ([5658b117](https://github.com/kbknapp/clap-rs/commit/5658b117aec3e03adff9c8c52a4c4bc1fcb4e1ff)) - - - -### v2.11.1 (2016-09-05) - - -#### Bug Fixes - -* **Settings:** fixes an issue where settings weren't propogated down through grand-child subcommands ([b3efc107](https://github.com/kbknapp/clap-rs/commit/b3efc107515d78517b20798ff3890b8a2b04498e), closes [#638](https://github.com/kbknapp/clap-rs/issues/638)) - -#### Features - -* **Errors:** Errors with custom description ([58512f2f](https://github.com/kbknapp/clap-rs/commit/58512f2fcb430745f1ee6ee8f1c67f62dc216c73)) - -#### Improvements - -* **help:** use term_size instead of home-grown solution ([fc7327e9](https://github.com/kbknapp/clap-rs/commit/fc7327e9dcf4258ef2baebf0a8714d9c0622855b)) - - - - -### v2.11.0 (2016-08-28) - - -#### Bug Fixes - -* **Groups:** fixes some usage strings that contain both args in groups and ones that conflict with each other ([3d782def](https://github.com/kbknapp/clap-rs/commit/3d782def57725e2de26ca5a5bc5cc2e40ddebefb), closes [#616](https://github.com/kbknapp/clap-rs/issues/616)) - -#### Documentation - -* moves docs to docs.rs ([03209d5e](https://github.com/kbknapp/clap-rs/commit/03209d5e1300906f00bafec1869c2047a92e5071), closes [#634](https://github.com/kbknapp/clap-rs/issues/634)) - -#### Improvements - -* **Completions:** uses standard conventions for bash completion files, namely '{bin}.bash-completion' ([27f5bbfb](https://github.com/kbknapp/clap-rs/commit/27f5bbfbcc9474c2f57c2b92b1feb898ae46ee70), closes [#567](https://github.com/kbknapp/clap-rs/issues/567)) -* **Help:** automatically moves help text to the next line and wraps when term width is determined to be too small, or help text is too long ([150964c4](https://github.com/kbknapp/clap-rs/commit/150964c4e7124d54476c9d9b4b3f2406f0fd00e5), closes [#597](https://github.com/kbknapp/clap-rs/issues/597)) -* **YAML Errors:** vastly improves error messages when using YAML ([f43b7c65](https://github.com/kbknapp/clap-rs/commit/f43b7c65941c53adc0616b8646a21dc255862eb2), closes [#574](https://github.com/kbknapp/clap-rs/issues/574)) - -#### Features - -* adds App::with_defaults to automatically use crate_authors! and crate_version! macros ([5520bb01](https://github.com/kbknapp/clap-rs/commit/5520bb012c127dfd299fd55699443c744d8dcd5b), closes [#600](https://github.com/kbknapp/clap-rs/issues/600)) - - - - -### v2.10.4 (2016-08-25) - - -#### Bug Fixes - -* **Help Wrapping:** fixes a bug where help is wrapped incorrectly and causing a panic with some non-English characters ([d0b442c7](https://github.com/kbknapp/clap-rs/commit/d0b442c7beeecac9764406bc3bd171ced0b8825e), closes [#626](https://github.com/kbknapp/clap-rs/issues/626)) - - - - -### v2.10.3 (2016-08-25) - -#### Features - -* **Help:** adds new short hand way to use source formatting and ignore term width in help messages ([7dfdaf20](https://github.com/kbknapp/clap-rs/commit/7dfdaf200ebb5c431351a045b48f5e0f0d3f31db), closes [#625](https://github.com/kbknapp/clap-rs/issues/625)) - -#### Documentation - -* **Term Width:** adds details about set_term_width(0) ([00b8205d](https://github.com/kbknapp/clap-rs/commit/00b8205d22639d1b54b9c453c55c785aace52cb2)) - -#### Bug Fixes - -* **Unicode:** fixes two bugs where non-English characters were stripped or caused a panic with help wrapping ([763a5c92](https://github.com/kbknapp/clap-rs/commit/763a5c920e23efc74d190af0cb8b5dd714b2d67a), closes [#626](https://github.com/kbknapp/clap-rs/issues/626)) - - - - -### v2.10.2 (2016-08-22) - - -#### Bug Fixes - -* fixes a bug where the help is printed twice ([a643fb28](https://github.com/kbknapp/clap-rs/commit/a643fb283acd9905dc727c4579c5c9fa2ceaa7e7), closes [#623](https://github.com/kbknapp/clap-rs/issues/623)) - - - - -### v2.10.1 (2016-08-21) - - -#### Bug Fixes - -* **Help Subcommand:** fixes misleading usage string when using multi-level subcommmands ([e203515e](https://github.com/kbknapp/clap-rs/commit/e203515e3ac495b405dbba4f78fb6af148fd282e), closes [#618](https://github.com/kbknapp/clap-rs/issues/618)) - -#### Features - -* **YAML:** allows using lists or single values with arg declarations ([9ade2cd4](https://github.com/kbknapp/clap-rs/commit/9ade2cd4b268d6d7fe828319ce6a523c641b9c38), closes [#614](https://github.com/kbknapp/clap-rs/issues/614), [#613](https://github.com/kbknapp/clap-rs/issues/613)) - - - - -## v2.10.0 (2016-07-29) - - -#### Features - -* **Completions:** one can generate a basic fish completions script at compile time ([1979d2f2](https://github.com/kbknapp/clap-rs/commit/1979d2f2f3216e57d02a97e624a8a8f6cf867ed9)) - -#### Bug Fixes - -* **parser:** preserve external subcommand name ([875df243](https://github.com/kbknapp/clap-rs/commit/875df24316c266920a073c13bbefbf546bc1f635)) - -#### Breaking Changes - -* **parser:** preserve external subcommand name ([875df243](https://github.com/kbknapp/clap-rs/commit/875df24316c266920a073c13bbefbf546bc1f635)) - -#### Documentation - -* **YAML:** fixes example 17's incorrect reference to arg_groups instead of groups ([b6c99e13](https://github.com/kbknapp/clap-rs/commit/b6c99e1377f918e78c16c8faced70a71607da931), closes [#601](https://github.com/kbknapp/clap-rs/issues/601)) - - - - -### 2.9.3 (2016-07-24) - - -#### Bug Fixes - -* fixes bug where only first arg in list of required_unless_one is recognized ([1fc3b55b](https://github.com/kbknapp/clap-rs/commit/1fc3b55bd6c8653b02e7c4253749c6b77737d2ac), closes [#575](https://github.com/kbknapp/clap-rs/issues/575)) -* **Settings:** fixes typo subcommandsrequired->subcommandrequired ([fc72cdf5](https://github.com/kbknapp/clap-rs/commit/fc72cdf591d30f5d9375d0b5cc2a2ff3e812f9f6), closes [#593](https://github.com/kbknapp/clap-rs/issues/593)) - -#### Features - -* **Completions:** adds the ability to generate completions to io::Write object ([9f62cf73](https://github.com/kbknapp/clap-rs/commit/9f62cf7378ba5acb5ce8c5bac89b4aa60c30755f)) -* **Settings:** Add unset_setting and unset_settings fns to App (#598) ([0ceba231](https://github.com/kbknapp/clap-rs/commit/0ceba231c6767cd6d88fdb1feeeea41deadf77ff), closes [#590](https://github.com/kbknapp/clap-rs/issues/590)) - - - -### 2.9.2 (2016-07-03) - - -#### Documentation - -* **Completions:** fixes the formatting of the Cargo.toml excerpt in the completions example ([722f2607](https://github.com/kbknapp/clap-rs/commit/722f2607beaef56b6a0e433db5fd09492d9f028c)) - -#### Bug Fixes - -* **Completions:** fixes bug where --help and --version short weren't added to the completion list ([e9f2438e](https://github.com/kbknapp/clap-rs/commit/e9f2438e2ce99af0ae570a2eaf541fc7f55b771b), closes [#536](https://github.com/kbknapp/clap-rs/issues/536)) - - - - -### 2.9.1 (2016-07-02) - - -#### Improvements - -* **Completions:** allows multiple completions to be built by namespacing with bin name ([57484b2d](https://github.com/kbknapp/clap-rs/commit/57484b2daeaac01c1026e8c84efc8bf099e0eb31)) - - - -## v2.9.0 (2016-07-01) - - -#### Documentation - -* **Completions:** - * fixes some errors in the completion docs ([9b359bf0](https://github.com/kbknapp/clap-rs/commit/9b359bf06255d3dad8f489308044b60a9d1e6a87)) - * adds documentation for completion scripts ([c6c519e4](https://github.com/kbknapp/clap-rs/commit/c6c519e40efd6c4533a9ef5efe8e74fd150391b7)) - -#### Features - -* **Completions:** - * one can now generate a bash completions script at compile time! ([e75b6c7b](https://github.com/kbknapp/clap-rs/commit/e75b6c7b75f729afb9eb1d2a2faf61dca7674634), closes [#376](https://github.com/kbknapp/clap-rs/issues/376)) - * completions now include aliases to subcommands, including all subcommand options ([0ab9f840](https://github.com/kbknapp/clap-rs/commit/0ab9f84052a8cf65b5551657f46c0c270841e634), closes [#556](https://github.com/kbknapp/clap-rs/issues/556)) - * completions now continue completing even after first completion ([18fc2e5b](https://github.com/kbknapp/clap-rs/commit/18fc2e5b5af63bf54a94b72cec5e1223d49f4806)) - * allows matching on possible values in options ([89cc2026](https://github.com/kbknapp/clap-rs/commit/89cc2026ba9ac69cf44c5254360bbf99236d4f89), closes [#557](https://github.com/kbknapp/clap-rs/issues/557)) - -#### Bug Fixes - -* **AllowLeadingHyphen:** fixes an issue where isn't ignored like it should be with this setting ([96c24c9a](https://github.com/kbknapp/clap-rs/commit/96c24c9a8fa1f85e06138d3cdd133e51659e19d2), closes [#558](https://github.com/kbknapp/clap-rs/issues/558)) - - -## v2.8.0 (2016-06-30) - - -#### Features - -* **Arg:** adds new setting `Arg::require_delimiter` which requires val delimiter to parse multiple values ([920b5595](https://github.com/kbknapp/clap-rs/commit/920b5595ed72abfb501ce054ab536067d8df2a66)) - -#### Bug Fixes - -* Declare term::Winsize as repr(C) ([5d663d90](https://github.com/kbknapp/clap-rs/commit/5d663d905c9829ce6e7a164f1f0896cdd70236dd)) - -#### Documentation - -* **Arg:** adds docs for ([49af4e38](https://github.com/kbknapp/clap-rs/commit/49af4e38a5dae2ab0a7fc3b4147e2c053d532484)) - - - - -### v2.7.1 (2016-06-29) - - -#### Bug Fixes - -* **Options:** - * options with multiple values and using delimiters no longer parse additional values after a trailing space ([cdc500bd](https://github.com/kbknapp/clap-rs/commit/cdc500bdde6abe238c36ade406ddafc2bafff583)) - * using options with multiple values and with an = no longer parse args after the trailing space as values ([290f61d0](https://github.com/kbknapp/clap-rs/commit/290f61d07177413cf082ada55526d83405f6d011)) - - - - -## v2.7.0 (2016-06-28) - - -#### Documentation - -* fix typos ([43b3d40b](https://github.com/kbknapp/clap-rs/commit/43b3d40b8c38b1571da75af86b5088be96cccec2)) -* **ArgGroup:** vastly improves ArgGroup docs by adding better examples ([9e5f4f5d](https://github.com/kbknapp/clap-rs/commit/9e5f4f5d734d630bca5535c3a0aa4fd4f9db3e39), closes [#534](https://github.com/kbknapp/clap-rs/issues/534)) - -#### Features - -* **ArgGroup:** one can now specify groups which require AT LEAST one of the args ([33689acc](https://github.com/kbknapp/clap-rs/commit/33689acc689b217a8c0ee439f1b1225590c38355), closes [#533](https://github.com/kbknapp/clap-rs/issues/533)) - -#### Bug Fixes - -* **App:** using `App::print_help` now prints the same as would have been printed by `--help` or the like ([e84cc018](https://github.com/kbknapp/clap-rs/commit/e84cc01836bbe0527e97de6db9889bd9e0fd6ba1), closes [#536](https://github.com/kbknapp/clap-rs/issues/536)) -* **Help:** - * prevents invoking help help and displaying incorrect help message ([e3d2893f](https://github.com/kbknapp/clap-rs/commit/e3d2893f377942a2d4cf3c6ff04524d0346e6fdb), closes [#538](https://github.com/kbknapp/clap-rs/issues/538)) - * subcommand help messages requested via help now correctly match --help ([08ad1cff](https://github.com/kbknapp/clap-rs/commit/08ad1cff4fec57224ea957a2891a057b323c01bc), closes [#539](https://github.com/kbknapp/clap-rs/issues/539)) - -#### Improvements - -* **ArgGroup:** Add multiple ArgGroups per Arg ([902e182f](https://github.com/kbknapp/clap-rs/commit/902e182f7a58aff11ff01e0a452abcdbdb2262aa), closes [#426](https://github.com/kbknapp/clap-rs/issues/426)) -* **Usage Strings:** `[FLAGS]` and `[ARGS]` are no longer blindly added to usage strings ([9b2e45b1](https://github.com/kbknapp/clap-rs/commit/9b2e45b170aff567b038d8b3368880b6046c10c6), closes [#537](https://github.com/kbknapp/clap-rs/issues/537)) -* **arg_enum!:** allows using meta items like repr(C) with arg_enum!s ([edf9b233](https://github.com/kbknapp/clap-rs/commit/edf9b2331c17a2cbcc13f961add4c55c2778e773), closes [#543](https://github.com/kbknapp/clap-rs/issues/543)) - - - - -## v2.6.0 (2016-06-14) - - -#### Improvements - -* removes extra newline from help output ([86e61d19](https://github.com/kbknapp/clap-rs/commit/86e61d19a748fb9870fcf1175308984e51ca1115)) -* allows printing version to any io::Write object ([921f5f79](https://github.com/kbknapp/clap-rs/commit/921f5f7916597f1d028cd4a65bfe76a01c801724)) -* removes extra newline when printing version ([7e2e2cbb](https://github.com/kbknapp/clap-rs/commit/7e2e2cbb4a8a0f050bb8072a376f742fc54b8589)) -* **Aliases:** improves readability of asliases in help messages ([ca511de7](https://github.com/kbknapp/clap-rs/commit/ca511de71f5b8c2ac419f1b188658e8c63b67846), closes [#526](https://github.com/kbknapp/clap-rs/issues/526), [#529](https://github.com/kbknapp/clap-rs/issues/529)) -* **Usage Strings:** improves the default usage string when only a single positional arg is present ([ec86f2da](https://github.com/kbknapp/clap-rs/commit/ec86f2dada1545a63fc72355e22fcdc4c466c215), closes [#518](https://github.com/kbknapp/clap-rs/issues/518)) - -#### Features - -* **Help:** allows wrapping at specified term width (Even on Windows!) ([1761dc0d](https://github.com/kbknapp/clap-rs/commit/1761dc0d27d0d621229d792be40c36fbf65c3014), closes [#451](https://github.com/kbknapp/clap-rs/issues/451)) -* **Settings:** - * adds new setting to stop delimiting values with -- or TrailingVarArg ([fc3e0f5a](https://github.com/kbknapp/clap-rs/commit/fc3e0f5afda6d24cdb3c4676614beebe13e1e870), closes [#511](https://github.com/kbknapp/clap-rs/issues/511)) - * one can now set an AppSetting which is propogated down through child subcommands ([e2341835](https://github.com/kbknapp/clap-rs/commit/e23418351a3b98bf08dfd7744bc14377c70d59ee), closes [#519](https://github.com/kbknapp/clap-rs/issues/519)) -* **Subcommands:** adds support for visible aliases ([7b10e7f8](https://github.com/kbknapp/clap-rs/commit/7b10e7f8937a07fdb8d16a6d8df79ce78d080cd3), closes [#522](https://github.com/kbknapp/clap-rs/issues/522)) - -#### Bug Fixes - -* fixes bug where args are printed out of order with templates ([05abb534](https://github.com/kbknapp/clap-rs/commit/05abb534864764102031a0d402e64ac65867aa87)) -* fixes bug where one can't override version or help flags ([90d7d6a2](https://github.com/kbknapp/clap-rs/commit/90d7d6a2ea8240122dd9bf8d82d3c4f5ebb5c703), closes [#514](https://github.com/kbknapp/clap-rs/issues/514)) -* fixes issue where before_help wasn't printed ([b3faff60](https://github.com/kbknapp/clap-rs/commit/b3faff6030f76a23f26afcfa6a90169002ed7106)) -* **Help:** `App::before_help` and `App::after_help` now correctly wrap ([1f4da767](https://github.com/kbknapp/clap-rs/commit/1f4da7676e6e71aa8dda799f3eeefad105a47819), closes [#516](https://github.com/kbknapp/clap-rs/issues/516)) -* **Settings:** fixes bug where new color settings couldn't be converted from strs ([706a7c11](https://github.com/kbknapp/clap-rs/commit/706a7c11b0900be594de6d5a3121938eff197602)) -* **Subcommands:** subcommands with aliases now display help of the aliased subcommand ([5354d14b](https://github.com/kbknapp/clap-rs/commit/5354d14b51f189885ba110e01e6b76cca3752992), closes [#521](https://github.com/kbknapp/clap-rs/issues/521)) -* **Windows:** fixes a failing windows build ([01e7dfd6](https://github.com/kbknapp/clap-rs/commit/01e7dfd6c07228c0be6695b3c7bf9370d82860d4)) -* **YAML:** adds missing YAML methods for App and Arg ([e468faf3](https://github.com/kbknapp/clap-rs/commit/e468faf3f05950fd9f72d84b69aa2061e91c6c64), closes [#528](https://github.com/kbknapp/clap-rs/issues/528)) - - - - -### v2.5.2 (2016-05-31) - - -#### Improvements - -* removes extra newline from help output ([86e61d19](https://github.com/kbknapp/clap-rs/commit/86e61d19a748fb9870fcf1175308984e51ca1115)) -* allows printing version to any io::Write object ([921f5f79](https://github.com/kbknapp/clap-rs/commit/921f5f7916597f1d028cd4a65bfe76a01c801724)) -* removes extra newline when printing version ([7e2e2cbb](https://github.com/kbknapp/clap-rs/commit/7e2e2cbb4a8a0f050bb8072a376f742fc54b8589)) - -#### Bug Fixes - -* fixes bug where args are printed out of order with templates ([3935431d](https://github.com/kbknapp/clap-rs/commit/3935431d5633f577c0826ae2142794b301f4b8ca)) -* fixes bug where one can't override version or help flags ([90d7d6a2](https://github.com/kbknapp/clap-rs/commit/90d7d6a2ea8240122dd9bf8d82d3c4f5ebb5c703), closes [#514](https://github.com/kbknapp/clap-rs/issues/514)) -* fixes issue where before_help wasn't printed ([b3faff60](https://github.com/kbknapp/clap-rs/commit/b3faff6030f76a23f26afcfa6a90169002ed7106)) - -#### Documentation - -* inter-links all types and pages ([3312893d](https://github.com/kbknapp/clap-rs/commit/3312893ddaef3f44d68d8d26ed3d08010be50d97), closes [#505](https://github.com/kbknapp/clap-rs/issues/505)) -* makes all publicly available types viewable in docs ([52ca6505](https://github.com/kbknapp/clap-rs/commit/52ca6505b4fec7b5c2d53d160c072d395eb21da6)) - - -### v2.5.1 (2016-05-11) - - -#### Bug Fixes - -* **Subcommand Aliases**: fixes lifetime issue when setting multiple aliases at once ([ac42f6cf0](https://github.com/kbknapp/clap-rs/commit/ac42f6cf0de6c4920f703807d63061803930b18d)) - - -## v2.5.0 (2016-05-10) - - -#### Improvements - -* **SubCommand Aliases:** adds feature to yaml configs too ([69592195](https://github.com/kbknapp/clap-rs/commit/695921954dde46dfd483399dcdef482c9dd7f34a)) - -#### Features - -* **SubCommands:** adds support for subcommand aliases ([66b4dea6](https://github.com/kbknapp/clap-rs/commit/66b4dea65c44d8f77ff522238a9237aed1bcab6d), closes [#469](https://github.com/kbknapp/clap-rs/issues/469)) - - - -### v2.4.3 (2016-05-10) - - -#### Bug Fixes - -* **Usage Strings:** - * now properly dedups args that are also in groups ([3ca0947c](https://github.com/kbknapp/clap-rs/commit/3ca0947c166b4f8525752255e3a4fa6565eb9689), closes [#498](https://github.com/kbknapp/clap-rs/issues/498)) - * removes duplicate groups from usage strings ([f574fb8a](https://github.com/kbknapp/clap-rs/commit/f574fb8a7cde4d4a2fa4c4481d59be2d0f135427)) - -#### Improvements - -* **Groups:** formats positional args in groups in a better way ([fef11154](https://github.com/kbknapp/clap-rs/commit/fef11154fb7430d1cbf04a672aabb366e456a368)) -* **Help:** - * moves positionals to standard <> formatting ([03dfe5ce](https://github.com/kbknapp/clap-rs/commit/03dfe5ceff1d63f172788ff688567ddad9fe119b)) - * default help subcommand string has been shortened ([5b7fe8e4](https://github.com/kbknapp/clap-rs/commit/5b7fe8e4161e43ab19e2e5fcf55fbe46791134e9), closes [#494](https://github.com/kbknapp/clap-rs/issues/494)) - - -### v2.4.3 (2016-05-10) - -* Ghost Release - - -### v2.4.3 (2016-05-10) - -* Ghost Release - - -## v2.4.0 (2016-05-02) - - -#### Features - -* **Help:** adds support for displaying info before help message ([29fbfa3b](https://github.com/kbknapp/clap-rs/commit/29fbfa3b963f2f3ca7704bf5d3e1201531baa373)) -* **Required:** adds allowing args that are required unless certain args are present ([af1f7916](https://github.com/kbknapp/clap-rs/commit/af1f79168390ea7da4074d0d9777de458ea64971)) - -#### Documentation - -* hides formatting from docs ([cb708093](https://github.com/kbknapp/clap-rs/commit/cb708093a7cd057f08c98b7bd1ed54c2db86ae7e)) -* **required_unless:** adds docs and examples for required_unless ([ca727b52](https://github.com/kbknapp/clap-rs/commit/ca727b52423b9883acd88b2f227b2711bc144573)) - -#### Bug Fixes - -* **Required Args:** fixes issue where missing required args are sometimes duplicatd in error messages ([3beebd81](https://github.com/kbknapp/clap-rs/commit/3beebd81e7bc2faa4115ac109cf570e512c5477f), closes [#492](https://github.com/kbknapp/clap-rs/issues/492)) - - - -## v2.3.0 (2016-04-18) - - -#### Improvements - -* **macros.rs:** Added write_nspaces macro (a new version of write_spaces) ([9d757e86](https://github.com/kbknapp/clap-rs/commit/9d757e8678e334e5a740ac750c76a9ed4e785cba)) -* **parser.rs:** - * Provide a way to create a usage string without the USAGE: title ([a91d378b](https://github.com/kbknapp/clap-rs/commit/a91d378ba0c91b5796457f8c6e881b13226ab735)) - * Make Parser's create_usage public allowing to have function outside the parser to generate the help ([d51945f8](https://github.com/kbknapp/clap-rs/commit/d51945f8b82ebb0963f4f40b384a9e8335783091)) - * Expose Parser's flags, opts and positionals argument as iterators ([9b23e7ee](https://github.com/kbknapp/clap-rs/commit/9b23e7ee40e51f7a823644c4496be955dc6c9d3a)) -* **src/args:** Exposes argument display order by introducing a new Trait ([1321630e](https://github.com/kbknapp/clap-rs/commit/1321630ef56955f152c73376d4d85cceb0bb4a12)) -* **srs/args:** Added longest_filter to AnyArg trait ([65b3f667](https://github.com/kbknapp/clap-rs/commit/65b3f667532685f854c699ddd264d326599cf7e5)) - -#### Features - -* **Authors Macro:** adds a crate_authors macro ([38fb59ab](https://github.com/kbknapp/clap-rs/commit/38fb59abf480eb2b6feca269097412f8b00b5b54), closes [#447](https://github.com/kbknapp/clap-rs/issues/447)) -* **HELP:** - * implements optional colored help messages ([abc8f669](https://github.com/kbknapp/clap-rs/commit/abc8f669c3c8193ffc3a3b0ac6c3ac2198794d4f), closes [#483](https://github.com/kbknapp/clap-rs/issues/483)) - * Add a Templated Help system. ([81e121ed](https://github.com/kbknapp/clap-rs/commit/81e121edd616f7285593f11120c63bcccae0d23e)) - -#### Bug Fixes - -* **HELP:** Adjust Help to semantic changes introduced in 6933b84 ([8d23806b](https://github.com/kbknapp/clap-rs/commit/8d23806bd67530ad412c34a1dcdcb1435555573d)) - - -### v2.2.6 (2016-04-11) - -#### Bug Fixes - -* **Arg Groups**: fixes bug where arg name isn't printed properly ([3019a685](https://github.com/kbknapp/clap-rs/commit/3019a685eee747ccbe6be09ad5dddce0b1d1d4db), closes [#476](https://github.com/kbknapp/clap-rs/issues/476)) - - - -### v2.2.5 (2016-04-03) - - -#### Bug Fixes - -* **Empty Values:** fixes bug where empty values weren't stored ([885d166f](https://github.com/kbknapp/clap-rs/commit/885d166f04eb3fb581898ae5818c6c8032e5a686), closes [#470](https://github.com/kbknapp/clap-rs/issues/470)) -* **Help Message:** fixes bug where arg name is printed twice ([71acf1d5](https://github.com/kbknapp/clap-rs/commit/71acf1d576946658b8bbdb5ae79e6716c43a030f), closes [#472](https://github.com/kbknapp/clap-rs/issues/472)) - - - -### v2.2.4 (2016-03-30) - - -#### Bug Fixes - -* fixes compiling with debug cargo feature ([d4b55450](https://github.com/kbknapp/clap-rs/commit/d4b554509928031ac0808076178075bb21f8c1da)) -* **Empty Values:** fixes bug where empty values weren't stored ([885d166f](https://github.com/kbknapp/clap-rs/commit/885d166f04eb3fb581898ae5818c6c8032e5a686), closes [#470](https://github.com/kbknapp/clap-rs/issues/470)) - - - - -### v2.2.3 (2016-03-28) - - -#### Bug Fixes - -* **Help Subcommand:** fixes issue where help and version flags weren't properly displayed ([205b07bf](https://github.com/kbknapp/clap-rs/commit/205b07bf2e6547851f1290f8cd6b169145e144f1), closes [#466](https://github.com/kbknapp/clap-rs/issues/466)) - - -### v2.2.2 (2016-03-27) - - -#### Bug Fixes - -* **Help Message:** fixes bug with wrapping in the middle of a unicode sequence ([05365ddc](https://github.com/kbknapp/clap-rs/commit/05365ddcc252e4b49e7a75e199d6001a430bd84d), closes [#456](https://github.com/kbknapp/clap-rs/issues/456)) -* **Usage Strings:** fixes small bug where -- would appear needlessly in usage strings ([6933b849](https://github.com/kbknapp/clap-rs/commit/6933b8491c2a7e28cdb61b47dcf10caf33c2f78a), closes [#461](https://github.com/kbknapp/clap-rs/issues/461)) - - - -### 2.2.1 (2016-03-16) - - -#### Features - -* **Help Message:** wraps and aligns the help message of subcommands ([813d75d0](https://github.com/kbknapp/clap-rs/commit/813d75d06fbf077c65762608c0fa5e941cfc393c), closes [#452](https://github.com/kbknapp/clap-rs/issues/452)) - -#### Bug Fixes - -* **Help Message:** fixes a bug where small terminal sizes causing a loop ([1d73b035](https://github.com/kbknapp/clap-rs/commit/1d73b0355236923aeaf6799abc759762ded7e1d0), closes [#453](https://github.com/kbknapp/clap-rs/issues/453)) - - - -## v2.2.0 (2016-03-15) - - -#### Features - -* **Help Message:** can auto wrap and aligning help text to term width ([e36af026](https://github.com/kbknapp/clap-rs/commit/e36af0266635f23e85e951b9088d561e9a5d1bf6), closes [#428](https://github.com/kbknapp/clap-rs/issues/428)) -* **Help Subcommand:** adds support passing additional subcommands to help subcommand ([2c12757b](https://github.com/kbknapp/clap-rs/commit/2c12757bbdf34ce481f3446c074e24c09c2e60fd), closes [#416](https://github.com/kbknapp/clap-rs/issues/416)) -* **Opts and Flags:** adds support for custom ordering in help messages ([9803b51e](https://github.com/kbknapp/clap-rs/commit/9803b51e799904c0befaac457418ee766ccc1ab9)) -* **Settings:** adds support for automatically deriving custom display order of args ([ad86e433](https://github.com/kbknapp/clap-rs/commit/ad86e43334c4f70e86909689a088fb87e26ff95a), closes [#444](https://github.com/kbknapp/clap-rs/issues/444)) -* **Subcommands:** adds support for custom ordering in help messages ([7d2a2ed4](https://github.com/kbknapp/clap-rs/commit/7d2a2ed413f5517d45988eef0765cdcd663b6372), closes [#442](https://github.com/kbknapp/clap-rs/issues/442)) - -#### Bug Fixes - -* **From Usage:** fixes a bug where adding empty lines werent ignored ([c5c58c86](https://github.com/kbknapp/clap-rs/commit/c5c58c86b9c503d8de19da356a5a5cffb59fbe84)) - -#### Documentation - -* **Groups:** explains required ArgGroups better ([4ff0205b](https://github.com/kbknapp/clap-rs/commit/4ff0205b85a45151b59bbaf090a89df13438380f), closes [#439](https://github.com/kbknapp/clap-rs/issues/439)) - - -### v2.1.2 (2016-02-24) - -#### Bug Fixes - -* **Nightly:** fixes failing nightly build ([d752c170](https://github.com/kbknapp/clap-rs/commit/d752c17029598b19037710f204b7943f0830ae75), closes [#434](https://github.com/kbknapp/clap-rs/issues/434)) - - - -### v2.1.1 (2016-02-19) - - -#### Documentation - -* **AppSettings:** clarifies that AppSettings do not propagate ([3c8db0e9](https://github.com/kbknapp/clap-rs/commit/3c8db0e9be1d24edaad364359513cbb02abb4186), closes [#429](https://github.com/kbknapp/clap-rs/issues/429)) -* **Arg Examples:** adds better examples ([1e79cccc](https://github.com/kbknapp/clap-rs/commit/1e79cccc12937bc0e7cd2aad8e404410798e9fff)) - -#### Improvements - -* **Help:** adds setting for next line help by arg ([066df748](https://github.com/kbknapp/clap-rs/commit/066df7486e684cf50a8479a356a12ba972c34ce1), closes [#427](https://github.com/kbknapp/clap-rs/issues/427)) - - - -## v2.1.0 (2016-02-10) - - -#### Features - -* **Defult Values:** adds support for default values in args ([73211952](https://github.com/kbknapp/clap-rs/commit/73211952964a79d97b434dd567e6d7d34be7feb5), closes [#418](https://github.com/kbknapp/clap-rs/issues/418)) - -#### Documentation - -* **Default Values:** adds better examples and notes for default values ([9facd74f](https://github.com/kbknapp/clap-rs/commit/9facd74f843ef3807c5d35259558a344e6c25905)) - - - -### v2.0.6 (2016-02-09) - - -#### Improvements - -* **Positional Arguments:** now displays value name if appropriate ([f0a99916](https://github.com/kbknapp/clap-rs/commit/f0a99916c59ce675515c6dcdfe9a40b130510908), closes [#420](https://github.com/kbknapp/clap-rs/issues/420)) - - - -### v2.0.5 (2016-02-05) - - -#### Bug Fixes - -* **Multiple Values:** fixes bug where number_of_values wasnt respected ([72c387da](https://github.com/kbknapp/clap-rs/commit/72c387da0bb8a6f526f863770f08bb8ca0d3de03)) - - - -### v2.0.4 (2016-02-04) - - -#### Bug Fixes - -* adds support for building ArgGroups from standalone YAML ([fcbc7e12](https://github.com/kbknapp/clap-rs/commit/fcbc7e12f5d7b023b8f30cba8cad28a01cf6cd26)) -* Stop lonely hyphens from causing panic ([85b11468](https://github.com/kbknapp/clap-rs/commit/85b11468b0189d5cc15f1cfac5db40d17a0077dc), closes [#410](https://github.com/kbknapp/clap-rs/issues/410)) -* **AppSettings:** fixes bug where subcmds didn't receive parent ver ([a62e4527](https://github.com/kbknapp/clap-rs/commit/a62e452754b3b0e3ac9a15aa8b5330636229ead1)) - - -### v2.0.3 (2016-02-02) - - -#### Improvements - -* **values:** adds support for up to u64::max values per arg ([c7abf7d7](https://github.com/kbknapp/clap-rs/commit/c7abf7d7611e317b0d31d97632e3d2e13570947c)) -* **occurrences:** Allow for more than 256 occurrences of an argument. ([3731ddb3](https://github.com/kbknapp/clap-rs/commit/3731ddb361163f3d6b86844362871e48c80fa530)) - -#### Features - -* **AppSettings:** adds HidePossibleValuesInHelp to skip writing those values ([cdee7a0e](https://github.com/kbknapp/clap-rs/commit/cdee7a0eb2beeec723cb98acfacf03bf629c1da3)) - -#### Bug Fixes - -* **value_t_or_exit:** fixes typo which causes value_t_or_exit to return a Result ([ee96baff](https://github.com/kbknapp/clap-rs/commit/ee96baffd306cb8d20ddc5575cf739bb1a6354e8)) - - - -### v2.0.2 (2016-01-31) - - -#### Improvements - -* **arg_enum:** enum declared with arg_enum returns [&'static str; #] instead of Vec ([9c4b8a1a](https://github.com/kbknapp/clap-rs/commit/9c4b8a1a6b12949222f17d1074578ad7676b9c0d)) - -#### Bug Fixes - -* clap_app! should be gated by unstable, not nightly feature ([0c8b84af](https://github.com/kbknapp/clap-rs/commit/0c8b84af6161d5baf683688eafc00874846f83fa)) -* **SubCommands:** fixed where subcmds weren't recognized after mult args ([c19c17a8](https://github.com/kbknapp/clap-rs/commit/c19c17a8850602990e24347aeb4427cf43316223), closes [#405](https://github.com/kbknapp/clap-rs/issues/405)) -* **Usage Parser:** fixes a bug where literal single quotes weren't allowed in help strings ([0bcc7120](https://github.com/kbknapp/clap-rs/commit/0bcc71206478074769e311479b34a9f74fe80f5c), closes [#406](https://github.com/kbknapp/clap-rs/issues/406)) - - - -### v2.0.1 (2016-01-30) - - -#### Bug Fixes - -* fixes cargo features to NOT require nightly with unstable features ([dcbcc60c](https://github.com/kbknapp/clap-rs/commit/dcbcc60c9ba17894be636472ea4b07a82d86a9db), closes [#402](https://github.com/kbknapp/clap-rs/issues/402)) - - - -## v2.0.0 (2016-01-28) - - -#### Improvements - -* **From Usage:** vastly improves the usage parser ([fa3a2f86](https://github.com/kbknapp/clap-rs/commit/fa3a2f86bd674c5eb07128c95098fab7d1437247), closes [#350](https://github.com/kbknapp/clap-rs/issues/350)) - -#### Features - -* adds support for external subcommands ([177fe5cc](https://github.com/kbknapp/clap-rs/commit/177fe5cce745c2164a8e38c23be4c4460d2d7211), closes [#372](https://github.com/kbknapp/clap-rs/issues/372)) -* adds support values with a leading hyphen ([e4d429b9](https://github.com/kbknapp/clap-rs/commit/e4d429b9d52e95197bd0b572d59efacecf305a59), closes [#385](https://github.com/kbknapp/clap-rs/issues/385)) -* adds support for turning off the value delimiter ([508db850](https://github.com/kbknapp/clap-rs/commit/508db850a87c2e251cf6b6ddead9ad56b29f9e57), closes [#352](https://github.com/kbknapp/clap-rs/issues/352)) -* adds support changing the value delimiter ([dafeae8a](https://github.com/kbknapp/clap-rs/commit/dafeae8a526162640f6a68da434370c64d190889), closes [#353](https://github.com/kbknapp/clap-rs/issues/353)) -* adds support for comma separated values ([e69da6af](https://github.com/kbknapp/clap-rs/commit/e69da6afcd2fe48a3c458ca031db40997f860eda), closes [#348](https://github.com/kbknapp/clap-rs/issues/348)) -* adds support with options with optional values ([4555736c](https://github.com/kbknapp/clap-rs/commit/4555736cad01441dcde4ea84a285227e0844c16e), closes [#367](https://github.com/kbknapp/clap-rs/issues/367)) -* **UTF-8:** adds support for invalid utf8 in values ([c5c59dec](https://github.com/kbknapp/clap-rs/commit/c5c59dec0bc33b86b2e99d30741336f17ec84282), closes [#269](https://github.com/kbknapp/clap-rs/issues/269)) -* **v2:** implementing the base of 2.x ([a3536054](https://github.com/kbknapp/clap-rs/commit/a3536054512ba833533dc56615ce3663d884381c)) - -#### Bug Fixes - -* fixes nightly build with new lints ([17599195](https://github.com/kbknapp/clap-rs/commit/175991956c37dc83ba9c49396e927a1cb65c5b11)) -* fixes Windows build for 2x release ([674c9b48](https://github.com/kbknapp/clap-rs/commit/674c9b48c7c92079cb180cc650a9e39f34781c32), closes [#392](https://github.com/kbknapp/clap-rs/issues/392)) -* fixes yaml build for 2x base ([adceae64](https://github.com/kbknapp/clap-rs/commit/adceae64c8556d00ab715677377b216f9f468ad7)) - -#### Documentation - -* updates examples for 2x release ([1303b360](https://github.com/kbknapp/clap-rs/commit/1303b3607468f362ab1b452d5614c1a064dc69b4), closes [#394](https://github.com/kbknapp/clap-rs/issues/394)) -* updates examples for 2x release ([0a011f31](https://github.com/kbknapp/clap-rs/commit/0a011f3142aec338d388a6c8bfe22fa7036021bb), closes [#394](https://github.com/kbknapp/clap-rs/issues/394)) -* updates documentation for v2 release ([8d51724e](https://github.com/kbknapp/clap-rs/commit/8d51724ef73dfde5bb94fb9466bc5463a1cc1502)) -* updating docs for 2x release ([576d0e0e](https://github.com/kbknapp/clap-rs/commit/576d0e0e2c7b8f386589179bbf7419b93abacf1c)) -* **README.md:** - * updates readme for v2 release ([acaba01a](https://github.com/kbknapp/clap-rs/commit/acaba01a353c12144b9cd9a3ce447400691849b0), closes [#393](https://github.com/kbknapp/clap-rs/issues/393)) - * fix typo and make documentation conspicuous ([07b9f614](https://github.com/kbknapp/clap-rs/commit/07b9f61495d927f69f7abe6c0d85253f0f4e6107)) - -#### BREAKING CHANGES - -* **Fewer liftimes! Yay!** - * `App<'a, 'b, 'c, 'd, 'e, 'f>` => `App<'a, 'b>` - * `Arg<'a, 'b, 'c, 'd, 'e, 'f>` => `Arg<'a, 'b>` - * `ArgMatches<'a, 'b>` => `ArgMatches<'a>` -* **Simply Renamed** - * `App::arg_group` => `App::group` - * `App::arg_groups` => `App::groups` - * `ArgGroup::add` => `ArgGroup::arg` - * `ArgGroup::add_all` => `ArgGroup::args` - * `ClapError` => `Error` - * struct field `ClapError::error_type` => `Error::kind` - * `ClapResult` => `Result` - * `ClapErrorType` => `ErrorKind` -* **Removed Deprecated Functions and Methods** - * `App::subcommands_negate_reqs` - * `App::subcommand_required` - * `App::arg_required_else_help` - * `App::global_version(bool)` - * `App::versionless_subcommands` - * `App::unified_help_messages` - * `App::wait_on_error` - * `App::subcommand_required_else_help` - * `SubCommand::new` - * `App::error_on_no_subcommand` - * `Arg::new` - * `Arg::mutually_excludes` - * `Arg::mutually_excludes_all` - * `Arg::mutually_overrides_with` - * `simple_enum!` -* **Renamed Error Variants** - * `InvalidUnicode` => `InvalidUtf8` - * `InvalidArgument` => `UnknownArgument` -* **Usage Parser** - * Value names can now be specified inline, i.e. `-o, --option 'some option which takes two files'` - * **There is now a priority of order to determine the name** - This is perhaps the biggest breaking change. See the documentation for full details. Prior to this change, the value name took precedence. **Ensure your args are using the proper names (i.e. typically the long or short and NOT the value name) throughout the code** -* `ArgMatches::values_of` returns an `Values` now which implements `Iterator` (should not break any code) -* `crate_version!` returns `&'static str` instead of `String` -* Using the `clap_app!` macro requires compiling with the `unstable` feature because the syntax could change slightly in the future - - - -### v1.5.5 (2016-01-04) - - -#### Bug Fixes - -* fixes an issue where invalid short args didn't cause an error ([c9bf7e44](https://github.com/kbknapp/clap-rs/commit/c9bf7e4440bd2f9b524ea955311d433c40a7d1e0)) -* prints the name in version and help instead of binary name ([8f3817f6](https://github.com/kbknapp/clap-rs/commit/8f3817f665c0cab6726bc16c56a53b6a61e44448), closes [#368](https://github.com/kbknapp/clap-rs/issues/368)) -* fixes an intentional panic issue discovered via clippy ([ea83a3d4](https://github.com/kbknapp/clap-rs/commit/ea83a3d421ea8856d4cac763942834d108b71406)) - - - -### v1.5.4 (2015-12-18) - - -#### Examples - -* **17_yaml:** conditinonally compile 17_yaml example ([575de089](https://github.com/kbknapp/clap-rs/commit/575de089a3e240c398cb10e6cf5a5c6b68662c01)) - -#### Improvements - -* clippy improvements ([99cdebc2](https://github.com/kbknapp/clap-rs/commit/99cdebc23da3a45a165f14b27bebeb2ed828a2ce)) - -#### Bug Fixes - - -* **errors:** return correct error type in WrongNumValues error builder ([5ba8ba9d](https://github.com/kbknapp/clap-rs/commit/5ba8ba9dcccdfa74dd1c44260e64b359bbb36be6)) -* ArgRequiredElseHelp setting now takes precedence over missing required args ([faad83fb](https://github.com/kbknapp/clap-rs/commit/faad83fbef6752f3093b6e98fca09a9449b830f4), closes [#362](https://github.com/kbknapp/clap-rs/issues/362)) - - - -### v1.5.3 (2015-11-20) - - -#### Bug Fixes - -* **Errors:** fixes some instances when errors are missing a final newline ([c4d2b171](https://github.com/kbknapp/clap-rs/commit/c4d2b1711994479ad64ee52b6b49d2ceccbf2118)) - - - - - -### v1.5.2 (2015-11-14) - - -#### Bug Fixes - -* **Errors:** fixes a compiling bug when built on Windows or without the color feature ([a35f7634](https://github.com/kbknapp/clap-rs/commit/a35f76346fe6ecc88dda6a1eb13627186e7ce185)) - - - - -### v1.5.1 (2015-11-13) - - -#### Bug Fixes - -* **Required Args:** fixes a bug where required args are not correctly accounted for ([f03b88a9](https://github.com/kbknapp/clap-rs/commit/f03b88a9766b331a63879bcd747687f2e5a2661b), closes [#343](https://github.com/kbknapp/clap-rs/issues/343)) - - - - -## v1.5.0 (2015-11-13) - - -#### Bug Fixes - -* fixes a bug with required positional args in usage strings ([c6858f78](https://github.com/kbknapp/clap-rs/commit/c6858f78755f8e860204323c828c8355a066dc83)) - -#### Documentation - -* **FAQ:** updates readme with slight changes to FAQ ([a4ef0fab](https://github.com/kbknapp/clap-rs/commit/a4ef0fab73c8dc68f1b138965d1340459c113398)) - -#### Improvements - -* massive errors overhaul ([cdc29175](https://github.com/kbknapp/clap-rs/commit/cdc29175bc9c53e5b4aec86cbc04c1743154dae6)) -* **ArgMatcher:** huge refactor and deduplication of code ([8988853f](https://github.com/kbknapp/clap-rs/commit/8988853fb8825e8f841fde349834cc12cdbad081)) -* **Errors:** errors have been vastly improved ([e59bc0c1](https://github.com/kbknapp/clap-rs/commit/e59bc0c16046db156a88ba71a037db05028e995c)) -* **Traits:** refactoring some configuration into traits ([5800cdec](https://github.com/kbknapp/clap-rs/commit/5800cdec6dce3def4242b9f7bd136308afb19685)) - -#### Performance - -* **App:** - * more BTreeMap->Vec, Opts and SubCmds ([bc4495b3](https://github.com/kbknapp/clap-rs/commit/bc4495b32ec752b6c4b29719e831c043ef2a26ce)) - * changes flags BTreeMap->Vec ([d357640f](https://github.com/kbknapp/clap-rs/commit/d357640fab55e5964fe83efc3c771e53aa3222fd)) - * removed unneeded BTreeMap ([78971fd6](https://github.com/kbknapp/clap-rs/commit/78971fd68d7dc5c8e6811b4520cdc54e4188f733)) - * changes BTreeMap to VecMap in some instances ([64b921d0](https://github.com/kbknapp/clap-rs/commit/64b921d087fdd03775c95ba0bcf65d3f5d36f812)) - * removed excess clones ([ec0089d4](https://github.com/kbknapp/clap-rs/commit/ec0089d42ed715d293fb668d3a90b0db0aa3ec39)) - - - - -### v1.4.7 (2015-11-03) - - -#### Documentation - -* Clarify behavior of Arg::multiple with options. ([434f497a](https://github.com/kbknapp/clap-rs/commit/434f497ab6d831f8145cf09278c97ca6ee6c6fe7)) -* Fix typos and improve grammar. ([c1f66b5d](https://github.com/kbknapp/clap-rs/commit/c1f66b5de7b5269fbf8760a005ef8c645edd3229)) - -#### Bug Fixes - -* **Error Status:** fixes bug where --help and --version return non-zero exit code ([89b51fdf](https://github.com/kbknapp/clap-rs/commit/89b51fdf8b1ab67607567344e2317ff1a757cb12)) - - - - -### v1.4.6 (2015-10-29) - - -#### Features - -* allows parsing without a binary name for daemons and interactive CLIs ([aff89d57](https://github.com/kbknapp/clap-rs/commit/aff89d579b5b85c3dc81b64f16d5865299ec39a2), closes [#318](https://github.com/kbknapp/clap-rs/issues/318)) - -#### Bug Fixes - -* **Errors:** tones down quoting in some error messages ([34ce59ed](https://github.com/kbknapp/clap-rs/commit/34ce59ede53bfa2eef722c74881cdba7419fd9c7), closes [#309](https://github.com/kbknapp/clap-rs/issues/309)) -* **Help and Version:** only builds help and version once ([e3be87cf](https://github.com/kbknapp/clap-rs/commit/e3be87cfc095fc41c9811adcdc6d2b079f237d5e)) -* **Option Args:** fixes bug with args and multiple values ([c9a9548a](https://github.com/kbknapp/clap-rs/commit/c9a9548a8f96cef8a3dd9a980948325fbbc1b91b), closes [#323](https://github.com/kbknapp/clap-rs/issues/323)) -* **POSIX Overrides:** fixes bug where required args are overridden ([40ed2b50](https://github.com/kbknapp/clap-rs/commit/40ed2b50c3a9fe88bfdbaa43cef9fd6493ecaa8e)) -* **Safe Matches:** using 'safe' forms of the get_matches family no longer exit the process ([c47025dc](https://github.com/kbknapp/clap-rs/commit/c47025dca2b3305dea0a0acfdd741b09af0c0d05), closes [#256](https://github.com/kbknapp/clap-rs/issues/256)) -* **Versionless SubCommands:** fixes a bug where the -V flag was needlessly built ([27df8b9d](https://github.com/kbknapp/clap-rs/commit/27df8b9d98d13709dad3929a009f40ebff089a1a), closes [#329](https://github.com/kbknapp/clap-rs/issues/329)) - -#### Documentation - -* adds comparison in readme ([1a8bf31e](https://github.com/kbknapp/clap-rs/commit/1a8bf31e7a6b87ce48a66af2cde1645b2dd5bc95), closes [#325](https://github.com/kbknapp/clap-rs/issues/325)) - - - - -### v1.4.5 (2015-10-06) - - -#### Bug Fixes - -* fixes crash on invalid arg error ([c78ce128](https://github.com/kbknapp/clap-rs/commit/c78ce128ebbe7b8f730815f8176c29d76f4ade8c)) - - - - -### v1.4.4 (2015-10-06) - - -#### Documentation - -* clean up some formatting ([b7df92d7](https://github.com/kbknapp/clap-rs/commit/b7df92d7ea25835701dd22ddff984b9749f48a00)) -* move the crate-level docs to top of the lib.rs file ([d7233bf1](https://github.com/kbknapp/clap-rs/commit/d7233bf122dbf80ba8fc79e5641be2df8af10e7a)) -* changes doc comments to rustdoc comments ([34b601be](https://github.com/kbknapp/clap-rs/commit/34b601be5fdde76c1a0859385b359b96d66b8732)) -* fixes panic in 14_groups example ([945b00a0](https://github.com/kbknapp/clap-rs/commit/945b00a0c27714b63bdca48d003fe205fcfdc578), closes [#295](https://github.com/kbknapp/clap-rs/issues/295)) -* avoid suggesting star dependencies. ([d33228f4](https://github.com/kbknapp/clap-rs/commit/d33228f40b5fefb84cf3dd51546bfb340dcd9f5a)) -* **Rustdoc:** adds portions of the readme to main rustdoc page ([6f9ee181](https://github.com/kbknapp/clap-rs/commit/6f9ee181e69d90bd4206290e59d6f3f1e8f0cbb2), closes [#293](https://github.com/kbknapp/clap-rs/issues/293)) - -#### Bug Fixes - -* grammar error in some conflicting option errors ([e73b07e1](https://github.com/kbknapp/clap-rs/commit/e73b07e19474323ad2260da66abbf6a6d4ecbd4f)) -* **Unified Help:** sorts both flags and options as a unified category ([2a223dad](https://github.com/kbknapp/clap-rs/commit/2a223dad82901fa2e74baad3bfc4c7b94509300f)) -* **Usage:** fixes a bug where required args aren't filtered properly ([72b453dc](https://github.com/kbknapp/clap-rs/commit/72b453dc170af3050bb123d35364f6da77fc06d7), closes [#277](https://github.com/kbknapp/clap-rs/issues/277)) -* **Usage Strings:** fixes a bug ordering of elements in usage strings ([aaf0d6fe](https://github.com/kbknapp/clap-rs/commit/aaf0d6fe7aa2403e76096c16204d254a9ee61ee2), closes [#298](https://github.com/kbknapp/clap-rs/issues/298)) - -#### Features - -* supports -aValue style options ([0e3733e4](https://github.com/kbknapp/clap-rs/commit/0e3733e4fec2015c2d566a51432dcd92cb69cad3)) -* **Trailing VarArg:** adds opt-in setting for final arg being vararg ([27018b18](https://github.com/kbknapp/clap-rs/commit/27018b1821a4bcd5235cfe92abe71b3c99efc24d), closes [#278](https://github.com/kbknapp/clap-rs/issues/278)) - - - - -### v1.4.3 (2015-09-30) - - -#### Features - -* allows accessing arg values by group name ([c92a4b9e](https://github.com/kbknapp/clap-rs/commit/c92a4b9eff2d679957f61c0c41ff404b40d38a91)) - -#### Documentation - -* use links to examples instead of plain text ([bb4fe237](https://github.com/kbknapp/clap-rs/commit/bb4fe237858535627271465147add537e4556b43)) - -#### Bug Fixes - -* **Help Message:** required args no longer double list in usage ([1412e639](https://github.com/kbknapp/clap-rs/commit/1412e639e0a79df84936d1101a837f90077d1c83), closes [#277](https://github.com/kbknapp/clap-rs/issues/277)) -* **Possible Values:** possible value validation is restored ([f121ae74](https://github.com/kbknapp/clap-rs/commit/f121ae749f8f4bfe754ef2e8a6dfc286504b5b75), closes [#287](https://github.com/kbknapp/clap-rs/issues/287)) - - - - -### v1.4.2 (2015-09-23) - - -#### Bug Fixes - -* **Conflicts:** fixes bug with conflicts not removing required args ([e17fcec5](https://github.com/kbknapp/clap-rs/commit/e17fcec53b3216ad047a13dddc6f740473fad1a1), closes [#271](https://github.com/kbknapp/clap-rs/issues/271)) - - - - -### v1.4.1 (2015-09-22) - - -#### Examples - -* add clap_app quick example ([4ba6249c](https://github.com/kbknapp/clap-rs/commit/4ba6249c3cf4d2e083370d1fe4dcc7025282c28a)) - -#### Features - -* **Unicode:** allows non-panicing on invalid unicode characters ([c5bf7ddc](https://github.com/kbknapp/clap-rs/commit/c5bf7ddc8cfb876ec928a5aaf5591232bbb32e5d)) - -#### Documentation - -* properly names Examples section for rustdoc ([87ba5445](https://github.com/kbknapp/clap-rs/commit/87ba54451d7ec7b1c9b9ef134f90bbe39e6fac69)) -* fixes various typos and spelling ([f85640f9](https://github.com/kbknapp/clap-rs/commit/f85640f9f6d8fd3821a40e9b8b7a34fabb789d02)) -* **Arg:** unhides fields of the Arg struct ([931aea88](https://github.com/kbknapp/clap-rs/commit/931aea88427edf43a3da90d5a500c1ff2b2c3614)) - -#### Bug Fixes - -* flush the buffer in App::print_version() ([cbc42a37](https://github.com/kbknapp/clap-rs/commit/cbc42a37d212d84d22b1777d08e584ff191934e7)) -* Macro benchmarks ([13712da1](https://github.com/kbknapp/clap-rs/commit/13712da1d36dc7614eec3a10ad488257ba615751)) - - - - -## v1.4.0 (2015-09-09) - - -#### Features - -* allows printing help message by library consumers ([56b95f32](https://github.com/kbknapp/clap-rs/commit/56b95f320875c62dda82cb91b29059671e120ed1)) -* allows defining hidden args and subcmds ([2cab4d03](https://github.com/kbknapp/clap-rs/commit/2cab4d0334ea3c2439a1d4bfca5bf9905c7ea9ac), closes [#231](https://github.com/kbknapp/clap-rs/issues/231)) -* Builder macro to assist with App/Arg/Group/SubCommand building ([443841b0](https://github.com/kbknapp/clap-rs/commit/443841b012a8d795cd5c2bd69ae6e23ef9b16477)) -* **Errors:** allows consumers to write to stderr and exit on error ([1e6403b6](https://github.com/kbknapp/clap-rs/commit/1e6403b6a863574fa3cb6946b1fb58f034e8664c)) - - - - -### v1.3.2 (2015-09-08) - - -#### Documentation - -* fixed ErrorKind docs ([dd057843](https://github.com/kbknapp/clap-rs/commit/dd05784327fa070eb6ce5ce89a8507e011d8db94)) -* **ErrorKind:** changed examples content ([b9ca2616](https://github.com/kbknapp/clap-rs/commit/b9ca261634b89613bbf3d98fd74d55cefbb31a8c)) - -#### Bug Fixes - -* fixes a bug where the help subcommand wasn't overridable ([94003db4](https://github.com/kbknapp/clap-rs/commit/94003db4b5eebe552ca337521c1c001295822745)) - -#### Features - -* adds abiltiy not consume self when parsing matches and/or exit on help ([94003db4](https://github.com/kbknapp/clap-rs/commit/94003db4b5eebe552ca337521c1c001295822745)) -* **App:** Added ability for users to handle errors themselves ([934e6fbb](https://github.com/kbknapp/clap-rs/commit/934e6fbb643b2385efc23444fe6fce31494dc288)) - - - - -### v1.3.1 (2015-09-04) - - -#### Examples - -* **17_yaml:** fixed example ([9b848622](https://github.com/kbknapp/clap-rs/commit/9b848622296c8c5c7b9a39b93ddd41f51df790b5)) - -#### Performance - -* changes ArgGroup HashSets to Vec ([3cb4a48e](https://github.com/kbknapp/clap-rs/commit/3cb4a48ebd15c20692f4f3a2a924284dc7fd5e10)) -* changes BTreeSet for Vec in some instances ([baab2e3f](https://github.com/kbknapp/clap-rs/commit/baab2e3f4060e811abee14b1654cbcd5cf3b5fea)) - - - - -## v1.3.0 (2015-09-01) - - -#### Features - -* **YAML:** allows building a CLI from YAML files ([86cf4c45](https://github.com/kbknapp/clap-rs/commit/86cf4c45626a36b8115446952f9069f73c1debc3)) -* **ArgGroups:** adds support for building ArgGroups from yaml ([ecf88665](https://github.com/kbknapp/clap-rs/commit/ecf88665cbff367018b29161a1b75d44a212707d)) -* **Subcommands:** adds support for subcommands from yaml ([e415cf78](https://github.com/kbknapp/clap-rs/commit/e415cf78ba916052d118a8648deba2b9c16b1530)) - -#### Documentation - -* **YAML:** adds examples for using YAML to build a CLI ([ab41d7f3](https://github.com/kbknapp/clap-rs/commit/ab41d7f38219544750e6e1426076dc498073191b)) -* **Args from YAML:** fixes doc examples ([19b348a1](https://github.com/kbknapp/clap-rs/commit/19b348a10050404cd93888dbbbe4f396681b67d0)) -* **Examples:** adds better usage examples instead of having unused variables ([8cbacd88](https://github.com/kbknapp/clap-rs/commit/8cbacd8883004fe71a8ea036ec4391c7dd8efe94)) - -#### Examples - -* Add AppSettings example ([12705079](https://github.com/kbknapp/clap-rs/commit/12705079ca96a709b4dd94f7ddd20a833b26838c)) - -#### Bug Fixes - -* **Unified Help Messages:** fixes a crash from this setting and no opts ([169ffec1](https://github.com/kbknapp/clap-rs/commit/169ffec1003d58d105d7ef2585b3425e57980000), closes [#210](https://github.com/kbknapp/clap-rs/issues/210)) - - - - -### v1.2.5 (2015-08-27) - - -#### Examples - -* add custom validator example ([b9997d1f](https://github.com/kbknapp/clap-rs/commit/b9997d1fca74d4d8f93971f2a01bdf9798f913d5)) -* fix indentation ([d4f1b740](https://github.com/kbknapp/clap-rs/commit/d4f1b740ede410fd2528b9ecd89592c2fd8b1e20)) - -#### Features - -* **Args:** allows opts and args to define a name for help and usage msgs ([ad962ec4](https://github.com/kbknapp/clap-rs/commit/ad962ec478da999c7dba0afdb84c266f4d09b1bd)) - - - - -### v1.2.4 (2015-08-26) - - -#### Bug Fixes - -* **Possible Values:** fixes a bug where suggestions arent made when using --long=value format ([3d5e9a6c](https://github.com/kbknapp/clap-rs/commit/3d5e9a6cedb26668839b481c9978e2fbbab8be6f), closes [#192](https://github.com/kbknapp/clap-rs/issues/192)) - - - - -### v1.2.3 (2015-08-24) - - -#### Bug Fixes - -* **App, Args:** fixed subcommand reqs negation ([b41afa8c](https://github.com/kbknapp/clap-rs/commit/b41afa8c3ded3d1be12f7a2f8ea06cc44afc9458), closes [#188](https://github.com/kbknapp/clap-rs/issues/188)) - - - - -### v1.2.2 (2015-08-23) - - -#### Bug Fixes - -* fixed confusing error message, also added test for it ([fc7a31a7](https://github.com/kbknapp/clap-rs/commit/fc7a31a745efbf1768ee2c62cd3bb72bfe30c708)) -* **App:** fixed requirmets overriding ([9c135eb7](https://github.com/kbknapp/clap-rs/commit/9c135eb790fa16183e5bdb2009ddc3cf9e25f99f)) - - - - -### v1.2.1 (2015-08-20) - - -#### Documentation - -* **README.md:** updates for new features ([16cf9245](https://github.com/kbknapp/clap-rs/commit/16cf9245fb5fc4cf6face898e358368bf9961cbb)) - -#### Features - -* implements posix compatible conflicts for long args ([8c2d48ac](https://github.com/kbknapp/clap-rs/commit/8c2d48acf5473feebd721a9049a9c9b7051e70f9)) -* added overrides to support conflicts in POSIX compatible manner ([0b916a00](https://github.com/kbknapp/clap-rs/commit/0b916a00de26f6941538f6bc5f3365fa302083c1)) -* **Args:** allows defining POSIX compatible argument conflicts ([d715646e](https://github.com/kbknapp/clap-rs/commit/d715646e69759ccd95e01f49b04f489827ecf502)) - -#### Bug Fixes - -* fixed links in cargo and license buttons ([6d9837ad](https://github.com/kbknapp/clap-rs/commit/6d9837ad9a9e006117cd7372fdc60f9a3889c7e2)) - -#### Performance - -* **Args and Apps:** changes HashSet->Vec in some instances for increased performance ([d0c3b379](https://github.com/kbknapp/clap-rs/commit/d0c3b379700757e0a9b0c40af709f8af1f5b4949)) - - - - -### v1.2.0 (2015-08-15) - - -#### Bug Fixes - -* fixed misspell and enum name ([7df170d7](https://github.com/kbknapp/clap-rs/commit/7df170d7f4ecff06608317655d1e0c4298f62076)) -* fixed use for clap crate ([dc3ada73](https://github.com/kbknapp/clap-rs/commit/dc3ada738667d4b689678f79d14251ee82004ece)) - -#### Documentation - -* updates docs for new features ([03496547](https://github.com/kbknapp/clap-rs/commit/034965471782d872ca495045b58d34b31807c5b1)) -* fixed docs for previous changes ([ade36778](https://github.com/kbknapp/clap-rs/commit/ade367780c366425de462506d256e0f554ed3b9c)) - -#### Improvements - -* **AppSettings:** adds ability to add multiple settings at once ([4a00e251](https://github.com/kbknapp/clap-rs/commit/4a00e2510d0ca8d095d5257d51691ba3b61c1374)) - -#### Features - -* Replace application level settings with enum variants ([618dc4e2](https://github.com/kbknapp/clap-rs/commit/618dc4e2c205bf26bc43146164e65eb1f6b920ed)) -* **Args:** allows for custom argument value validations to be defined ([84ae2ddb](https://github.com/kbknapp/clap-rs/commit/84ae2ddbceda34b5cbda98a6959edaa52fde2e1a), closes [#170](https://github.com/kbknapp/clap-rs/issues/170)) - - - - -### v1.1.6 (2015-08-01) - - -#### Bug Fixes - -* fixes two bugs in App when printing newlines in help and subcommands required error ([d63c0136](https://github.com/kbknapp/clap-rs/commit/d63c0136310db9dd2b1c7b4745938311601d8938)) - - - - -### v1.1.5 (2015-07-29) - -#### Performance - -* removes some unneeded allocations ([93e915df](https://github.com/kbknapp/clap-rs/commit/93e915dfe300f7b7d6209ca93323c6a46f89a8c1)) - - -### v1.1.4 (2015-07-20) - - -#### Improvements - -* **Usage Strings** displays a [--] when it may be helpful ([86c3be85](https://github.com/kbknapp/clap-rs/commit/86c3be85fb6f77f83b5a6d2df40ae60937486984)) - -#### Bug Fixes - -* **Macros** fixes a typo in a macro generated error message ([c9195c5f](https://github.com/kbknapp/clap-rs/commit/c9195c5f92abb8cd6a37b4f4fbb2f1fee2a8e368)) -* **Type Errors** fixes formatting of error output when failed type parsing ([fe5d95c6](https://github.com/kbknapp/clap-rs/commit/fe5d95c64f3296e6eddcbec0cb8b86659800145f)) - - - - -### v1.1.3 (2015-07-18) - - -#### Documentation - -* updates README.md to include lack of color support on Windows ([52f81e17](https://github.com/kbknapp/clap-rs/commit/52f81e17377b18d2bd0f34693b642b7f358998ee)) - -#### Bug Fixes - -* fixes formatting bug which prevented compiling on windows ([9cb5dceb](https://github.com/kbknapp/clap-rs/commit/9cb5dceb3e5fe5e0e7b24619ff77e5040672b723), closes [#163](https://github.com/kbknapp/clap-rs/issues/163)) - - - - -### v1.1.2 (2015-07-17) - - -#### Bug Fixes - -* fixes a bug when parsing multiple {n} newlines inside help strings ([6d214b54](https://github.com/kbknapp/clap-rs/commit/6d214b549a9b7e189a94e5fa2b7c92cc333ca637)) - - - - -## v1.1.1 (2015-07-17) - - -#### Bug Fixes - -* fixes a logic bug and allows setting Arg::number_of_values() < 2 ([42b6d1fc](https://github.com/kbknapp/clap-rs/commit/42b6d1fc3c519c92dfb3af15276e7d3b635e6cfe), closes [#161](https://github.com/kbknapp/clap-rs/issues/161)) - - - - -## v1.1.0 (2015-07-16) - - -#### Features - -* allows creating unified help messages, a la docopt or getopts ([52bcd892](https://github.com/kbknapp/clap-rs/commit/52bcd892ea51564ce463bc5865acd64f8fe91cb1), closes [#158](https://github.com/kbknapp/clap-rs/issues/158)) -* allows stating all subcommands should *not* have --version flags ([336c476f](https://github.com/kbknapp/clap-rs/commit/336c476f631d512b54ac56fdca6f29ebdc2c00c5), closes [#156](https://github.com/kbknapp/clap-rs/issues/156)) -* allows setting version number to auto-propagate through subcommands ([bc66d3c6](https://github.com/kbknapp/clap-rs/commit/bc66d3c6deedeca62463fff95369ab1cfcdd366b), closes [#157](https://github.com/kbknapp/clap-rs/issues/157)) - -#### Improvements - -* **Help Strings** properly aligns and handles newlines in long help strings ([f9800a29](https://github.com/kbknapp/clap-rs/commit/f9800a29696dd2cc0b0284bf693b3011831e556f), closes [#145](https://github.com/kbknapp/clap-rs/issues/145)) - - -#### Performance - -* **Help Messages** big performance improvements when printing help messages ([52bcd892](https://github.com/kbknapp/clap-rs/commit/52bcd892ea51564ce463bc5865acd64f8fe91cb1)) - -#### Documentation - -* updates readme with new features ([8232f7bb](https://github.com/kbknapp/clap-rs/commit/8232f7bb52e88862bc13c3d4f99ee4f56cfe4bc0)) -* fix incorrect code example for `App::subcommand_required` ([8889689d](https://github.com/kbknapp/clap-rs/commit/8889689dc6336ccc45b2c9f2cf8e2e483a639e93)) - - - -### v1.0.3 (2015-07-11) - - -#### Improvements - -* **Errors** writes errors to stderr ([cc76ab8c](https://github.com/kbknapp/clap-rs/commit/cc76ab8c2b77c67b42f4717ded530df7806142cf), closes [#154](https://github.com/kbknapp/clap-rs/issues/154)) - -#### Documentation - -* **README.md** updates example help message to new format ([0aca29bd](https://github.com/kbknapp/clap-rs/commit/0aca29bd5d6d1a4e9971bdc88d946ffa58606efa)) - - - - -### v1.0.2 (2015-07-09) - - -#### Improvements - -* **Usage** re-orders optional arguments and required to natural standard ([dc7e1fce](https://github.com/kbknapp/clap-rs/commit/dc7e1fcea5c85d317018fb201d2a9262249131b4), closes [#147](https://github.com/kbknapp/clap-rs/issues/147)) - - - - -### v1.0.1 (2015-07-08) - - -#### Bug Fixes - -* allows empty values when using --long='' syntax ([083f82d3](https://github.com/kbknapp/clap-rs/commit/083f82d333b69720a6ef30074875310921d964d1), closes [#151](https://github.com/kbknapp/clap-rs/issues/151)) - - - - -## v1.0.0 (2015-07-08) - - -#### Documentation - -* **README.md** adds new features to what's new list ([938f7f01](https://github.com/kbknapp/clap-rs/commit/938f7f01340f521969376cf4e2e3d9436bca21f7)) -* **README.md** use with_name for subcommands ([28b7e316](https://github.com/kbknapp/clap-rs/commit/28b7e3161fb772e5309042648fe8c3a420645bac)) - -#### Features - -* args can now be parsed from arbitrary locations, not just std::env::args() ([75312528](https://github.com/kbknapp/clap-rs/commit/753125282b1b9bfff875f1557ce27610edcc59e1)) - - - - -## v1.0.0-beta (2015-06-30) - - -#### Features - -* allows waiting for user input on error ([d0da3bdd](https://github.com/kbknapp/clap-rs/commit/d0da3bdd9d1871541907ea9c645322a74d260e07), closes [#140](https://github.com/kbknapp/clap-rs/issues/140)) -* **Help** allows one to fully override the auto-generated help message ([26d5ae3e](https://github.com/kbknapp/clap-rs/commit/26d5ae3e330d1e150811d5b60b2b01a8f8df854e), closes [#141](https://github.com/kbknapp/clap-rs/issues/141)) - -#### Documentation - -* adds "whats new" section to readme ([ff149a29](https://github.com/kbknapp/clap-rs/commit/ff149a29dd9e179865e6d577cd7dc87c54f8f95c)) - -#### Improvements - -* removes deprecated functions in prep for 1.0 ([274484df](https://github.com/kbknapp/clap-rs/commit/274484dfd08fff4859cefd7e9bef3b73d3a9cb5f)) - - - - -## v0.11.0 (2015-06-17) - BREAKING CHANGE - - -#### Documentation - -* updates docs to new version flag defaults ([ebf442eb](https://github.com/kbknapp/clap-rs/commit/ebf442ebebbcd2ec6bfe2c06566c9d362bccb112)) - -#### Features - -* **Help and Version** default short for version is now `-V` but can be overridden (only breaks manual documentation) (**BREAKING CHANGE** [eb1d9320](https://github.com/kbknapp/clap-rs/commit/eb1d9320c509c1e4e57d7c7959da82bcfe06ada0)) - - - - -### v0.10.5 (2015-06-06) - - -#### Bug Fixes - -* **Global Args** global arguments propogate fully now ([1f377960](https://github.com/kbknapp/clap-rs/commit/1f377960a48c82f54ca5f39eb56bcb393140b046), closes [#137](https://github.com/kbknapp/clap-rs/issues/137)) - - - - -### v0.10.4 (2015-06-06) - - -#### Bug Fixes - -* **Global Args** global arguments propogate fully now ([8f2c0160](https://github.com/kbknapp/clap-rs/commit/8f2c0160c8d844daef375a33dbaec7d89de00a00), closes [#137](https://github.com/kbknapp/clap-rs/issues/137)) - - - - -### v0.10.3 (2015-05-31) - - -#### Bug Fixes - -* **Global Args** fixes a bug where globals only transfer to one subcommand ([a37842ee](https://github.com/kbknapp/clap-rs/commit/a37842eec1ee3162b86fdbda23420b221cdb1e3b), closes [#135](https://github.com/kbknapp/clap-rs/issues/135)) - - - - -### v0.10.2 (2015-05-30) - - -#### Improvements - -* **Binary Names** allows users to override the system determined bin name ([2191fe94](https://github.com/kbknapp/clap-rs/commit/2191fe94bda35771383b52872fb7f5421b178be1), closes [#134](https://github.com/kbknapp/clap-rs/issues/134)) - -#### Documentation - -* adds contributing guidelines ([6f76bd0a](https://github.com/kbknapp/clap-rs/commit/6f76bd0a07e8b7419b391243ab2d6687cd8a9c5f)) - - - - -### v0.10.1 (2015-05-26) - - -#### Features - -* can now specify that an app or subcommand should display help on no args or subcommands ([29ca7b2f](https://github.com/kbknapp/clap-rs/commit/29ca7b2f74376ca0cdb9d8ee3bfa99f7640cc404), closes [#133](https://github.com/kbknapp/clap-rs/issues/133)) - - - - -## v0.10.0 (2015-05-23) - - -#### Features - -* **Global Args** allows args that propagate down to child commands ([2bcc6137](https://github.com/kbknapp/clap-rs/commit/2bcc6137a83cb07757771a0afea953e68e692f0b), closes [#131](https://github.com/kbknapp/clap-rs/issues/131)) - -#### Improvements - -* **Colors** implements more structured colored output ([d6c3ed54](https://github.com/kbknapp/clap-rs/commit/d6c3ed54d21cf7b40d9f130d4280ff5448522fc5), closes [#129](https://github.com/kbknapp/clap-rs/issues/129)) - -#### Deprecations - -* **SubCommand/App** several methods and functions for stable release ([28b73855](https://github.com/kbknapp/clap-rs/commit/28b73855523ad170544afdb20665db98702fbe70)) - -#### Documentation - -* updates for deprecations and new features ([743eefe8](https://github.com/kbknapp/clap-rs/commit/743eefe8dd40c1260065ce086d572e9e9358bc4c)) - - - - -## v0.9.2 (2015-05-20) - - -#### Bug Fixes - -* **help** allows parent requirements to be ignored with help and version ([52218cc1](https://github.com/kbknapp/clap-rs/commit/52218cc1fdb06a42456c964d98cc2c7ac3432412), closes [#124](https://github.com/kbknapp/clap-rs/issues/124)) - - - - -## v0.9.1 (2015-05-18) - - -#### Bug Fixes - -* **help** fixes a bug where requirements are included as program name in help and version ([08ba3f25](https://github.com/kbknapp/clap-rs/commit/08ba3f25cf38b149229ba8b9cb37a5804fe6b789)) - - - - -## v0.9.0 (2015-05-17) - - -#### Improvements - -* **usage** usage strings now include parent command requirements ([dd8f21c7](https://github.com/kbknapp/clap-rs/commit/dd8f21c7c15cde348fdcf44fa7c205f0e98d2e4a), closes [#125](https://github.com/kbknapp/clap-rs/issues/125)) -* **args** allows consumer of clap to decide if empty values are allowed or not ([ab4ec609](https://github.com/kbknapp/clap-rs/commit/ab4ec609ccf692b9b72cccef5c9f74f5577e360d), closes [#122](https://github.com/kbknapp/clap-rs/issues/122)) - -#### Features - -* **subcommands** - * allows optionally specifying that no subcommand is an error ([7554f238](https://github.com/kbknapp/clap-rs/commit/7554f238fd3afdd60b7e4dcf00ff4a9eccf842c1), closes [#126](https://github.com/kbknapp/clap-rs/issues/126)) - * subcommands can optionally negate parent requirements ([4a4229f5](https://github.com/kbknapp/clap-rs/commit/4a4229f500e21c350e1ef78dd09ef27559653288), closes [#123](https://github.com/kbknapp/clap-rs/issues/123)) - - - - -## v0.8.6 (2015-05-17) - - -#### Bug Fixes - -* **args** `-` can now be parsed as a value for an argument ([bc12e78e](https://github.com/kbknapp/clap-rs/commit/bc12e78eadd7eaf9d008a8469fdd2dfd7990cb5d), closes [#121](https://github.com/kbknapp/clap-rs/issues/121)) - - - - -## v0.8.5 (2015-05-15) - - -#### Bug Fixes - -* **macros** makes macro errors consistent with others ([0c264a8c](https://github.com/kbknapp/clap-rs/commit/0c264a8ca57ec1cfdcb74dae79145d766cdc9b97), closes [#118](https://github.com/kbknapp/clap-rs/issues/118)) - -#### Features - -* **macros** - * arg_enum! and simple_enum! provide a Vec<&str> of variant names ([30fa87ba](https://github.com/kbknapp/clap-rs/commit/30fa87ba4e0f3189351d8f4f78b72e616a30d0bd), closes [#119](https://github.com/kbknapp/clap-rs/issues/119)) - * arg_enum! and simple_enum! auto-implement Display ([d1219f0d](https://github.com/kbknapp/clap-rs/commit/d1219f0d1371d872061bd0718057eca4ef47b739), closes [#120](https://github.com/kbknapp/clap-rs/issues/120)) - - - - -## v0.8.4 (2015-05-12) - - -#### Bug Fixes - -* **suggestions** --help and --version now get suggestions ([d2b3b1fa](https://github.com/kbknapp/clap-rs/commit/d2b3b1faa0bdc1c5d2350cc4635aba81e02e9d96), closes [#116](https://github.com/kbknapp/clap-rs/issues/116)) - - - - -## v0.8.3 (2015-05-10) - - -#### Bug Fixes - -* **usage** groups unfold their members in usage strings ([55d15582](https://github.com/kbknapp/clap-rs/commit/55d155827ea4a6b077a83669701e797ce1ad68f4), closes [#114](https://github.com/kbknapp/clap-rs/issues/114)) - -#### Performance - -* **usage** removes unneeded allocations ([fd53cd18](https://github.com/kbknapp/clap-rs/commit/fd53cd188555f5c3dc8bc341c5d7eb04b761a70f)) - - - - -## v0.8.2 (2015-05-08) - - -#### Bug Fixes - -* **usage strings** positional arguments are presented in index order ([eb0e374e](https://github.com/kbknapp/clap-rs/commit/eb0e374ecf952f1eefbc73113f21e0705936e40b), closes [#112](https://github.com/kbknapp/clap-rs/issues/112)) - - - - -## v0.8.1 (2015-05-06) - - -#### Bug Fixes - -* **subcommands** stops parsing multiple values when subcommands are found ([fc79017e](https://github.com/kbknapp/clap-rs/commit/fc79017eced04fd41cc1801331e5054df41fac17), closes [#109](https://github.com/kbknapp/clap-rs/issues/109)) - -#### Improvements - -* **color** reduces color in error messages ([aab44cca](https://github.com/kbknapp/clap-rs/commit/aab44cca6352f47e280c296e50c535f5d752dd46), closes [#110](https://github.com/kbknapp/clap-rs/issues/110)) -* **suggestions** adds suggested arguments to usage strings ([99447414](https://github.com/kbknapp/clap-rs/commit/994474146e9fb8b701af773a52da71553d74d4b7)) - - - - -## v0.8.0 (2015-05-06) - - -#### Bug Fixes - -* **did-you-mean** for review ([0535cfb0](https://github.com/kbknapp/clap-rs/commit/0535cfb0c711331568b4de8080eeef80bd254b68)) -* **Positional** positionals were ignored if they matched a subcmd, even after '--' ([90e7b081](https://github.com/kbknapp/clap-rs/commit/90e7b0818741668b47cbe3becd029bab588e3553)) -* **help** fixes bug where space between arg and help is too long ([632fb115](https://github.com/kbknapp/clap-rs/commit/632fb11514c504999ea86bdce47cdd34f8ebf646)) - -#### Features - -* **from_usage** adds ability to add value names or num of vals in usage string ([3d581976](https://github.com/kbknapp/clap-rs/commit/3d58197674ed7886ca315efb76e411608a327501), closes [#98](https://github.com/kbknapp/clap-rs/issues/98)) -* **did-you-mean** - * gate it behind 'suggestions' ([c0e38351](https://github.com/kbknapp/clap-rs/commit/c0e383515d01bdd5ca459af9c2f7e2cf49e2488b)) - * for possible values ([1cc2deb2](https://github.com/kbknapp/clap-rs/commit/1cc2deb29158e0e4e8b434e4ce26b3d819301a7d)) - * for long flags (i.e. --long) ([52a0b850](https://github.com/kbknapp/clap-rs/commit/52a0b8505c99354bdf5fd1cd256cf41197ac2d81)) - * for subcommands ([06e869b5](https://github.com/kbknapp/clap-rs/commit/06e869b5180258047ed3c60ba099de818dd25fff)) -* **Flags** adds sugestions functionality ([8745071c](https://github.com/kbknapp/clap-rs/commit/8745071c3257dd327c497013516f12a823df9530)) -* **errors** colorizes output red on error ([f8b26b13](https://github.com/kbknapp/clap-rs/commit/f8b26b13da82ba3ba9a932d3d1ab4ea45d1ab036)) - -#### Improvements - -* **arg_enum** allows ascii case insensitivity for enum variants ([b249f965](https://github.com/kbknapp/clap-rs/commit/b249f9657c6921c004764bd80d13ebca81585eec), closes [#104](https://github.com/kbknapp/clap-rs/issues/104)) -* **clap-test** simplified `make test` invocation ([d17dcb29](https://github.com/kbknapp/clap-rs/commit/d17dcb2920637a1f58c61c596b7bd362fd53047c)) - -#### Documentation - -* **README** adds details about optional and new features ([960389de](https://github.com/kbknapp/clap-rs/commit/960389de02c9872aaee9adabe86987f71f986e39)) -* **clap** fix typos caught by codespell ([8891d929](https://github.com/kbknapp/clap-rs/commit/8891d92917aa1a069cca67272be41b99e548356e)) -* **from_usage** explains new usage strings with multiple values ([05476fc6](https://github.com/kbknapp/clap-rs/commit/05476fc61cd1e5f4a4e750d258c878732a3a9c64)) - - - - -## v0.7.6 (2015-05-05) - - -#### Improvements - -* **Options** adds number of values to options in help/usage ([c1c993c4](https://github.com/kbknapp/clap-rs/commit/c1c993c419d18e35c443785053d8de9a2ef88073)) - -#### Features - -* **from_usage** adds ability to add value names or num of vals in usage string ([ad55748c](https://github.com/kbknapp/clap-rs/commit/ad55748c265cf27935c7b210307d2040b6a09125), closes [#98](https://github.com/kbknapp/clap-rs/issues/98)) - -#### Bug Fixes - -* **MultipleValues** properly distinguishes between multiple values and multiple occurrences ([dd2a7564](https://github.com/kbknapp/clap-rs/commit/dd2a75640ca68a91b973faad15f04df891356cef), closes [#99](https://github.com/kbknapp/clap-rs/issues/99)) -* **help** fixes tab alignment with multiple values ([847001ff](https://github.com/kbknapp/clap-rs/commit/847001ff6d8f4d9518e810fefb8edf746dd0f31e)) - -#### Documentation - -* **from_usage** explains new usage strings with multiple values ([5a3a42df](https://github.com/kbknapp/clap-rs/commit/5a3a42dfa3a783537f88dedc0fd5f0edcb8ea372)) - - - - -## v0.7.5 (2015-05-04) - - -#### Bug Fixes - -* **Options** fixes bug where options with no value don't error out ([a1fb94be](https://github.com/kbknapp/clap-rs/commit/a1fb94be53141572ffd97aad037295d4ffec82d0)) - - - - -## v0.7.4 (2015-05-03) - - -#### Bug Fixes - -* **Options** fixes a bug where option arguments in succession get their values skipped ([f66334d0](https://github.com/kbknapp/clap-rs/commit/f66334d0ce984e2b56e5c19abb1dd536fae9342a)) - - - - -## v0.7.3 (2015-05-03) - - -#### Bug Fixes - -* **RequiredValues** fixes a bug where missing values are parsed as missing arguments ([93c4a723](https://github.com/kbknapp/clap-rs/commit/93c4a7231ba1a08152648598f7aa4503ea82e4de)) - -#### Improvements - -* **ErrorMessages** improves error messages and corrections ([a29c3983](https://github.com/kbknapp/clap-rs/commit/a29c3983c4229906655a29146ec15a0e46dd942d)) -* **ArgGroups** improves requirement and confliction support for groups ([c236dc5f](https://github.com/kbknapp/clap-rs/commit/c236dc5ff475110d2a1b80e62903f80296163ad3)) - - - - -## v0.7.2 (2015-05-03) - - -#### Bug Fixes - -* **RequiredArgs** fixes bug where required-by-default arguments are not listed in usage ([12aea961](https://github.com/kbknapp/clap-rs/commit/12aea9612d290845ba86515c240aeeb0a21198db), closes [#96](https://github.com/kbknapp/clap-rs/issues/96)) - - - - -## v0.7.1 (2015-05-01) - - -#### Bug Fixes - -* **MultipleValues** stops evaluating values if the max or exact number of values was reached ([86d92c9f](https://github.com/kbknapp/clap-rs/commit/86d92c9fdbf9f422442e9562977bbaf268dbbae1)) - - - - -## v0.7.0 (2015-04-30) - BREAKING CHANGE - - -#### Bug Fixes - -* **from_usage** removes bug where usage strings have no help text ([ad4e5451](https://github.com/kbknapp/clap-rs/commit/ad4e54510739aeabf75f0da3278fb0952db531b3), closes [#83](https://github.com/kbknapp/clap-rs/issues/83)) - -#### Features - -* **MultipleValues** - * add support for minimum and maximum number of values ([53f6b8c9](https://github.com/kbknapp/clap-rs/commit/53f6b8c9d8dc408b4fa9f833fc3a63683873c42f)) - * adds support limited number and named values ([ae09f05e](https://github.com/kbknapp/clap-rs/commit/ae09f05e92251c1b39a83d372736fcc7b504e432)) - * implement shorthand for options with multiple values ([6669f0a9](https://github.com/kbknapp/clap-rs/commit/6669f0a9687d4f668523145d7bd5c007d1eb59a8)) -* **arg** allow other types besides Vec for multiple value settings (**BREAKING CHANGE** [0cc2f698](https://github.com/kbknapp/clap-rs/commit/0cc2f69839b9b1db5d06330771b494783049a88e), closes [#87](https://github.com/kbknapp/clap-rs/issues/87)) -* **usage** implement smart usage strings on errors ([d77048ef](https://github.com/kbknapp/clap-rs/commit/d77048efb1e595ffe831f1a2bea2f2700db53b9f), closes [#88](https://github.com/kbknapp/clap-rs/issues/88)) - - - - -## v0.6.9 (2015-04-29) - - -#### Bug Fixes - -* **from_usage** removes bug where usage strings have no help text ([ad4e5451](https://github.com/kbknapp/clap-rs/commit/ad4e54510739aeabf75f0da3278fb0952db531b3), closes [#83](https://github.com/kbknapp/clap-rs/issues/83)) - - - - -## 0.6.8 (2015-04-27) - - -#### Bug Fixes - -* **help** change long help --long=long -> --long ([1e25abfc](https://github.com/kbknapp/clap-rs/commit/1e25abfc36679ab89eae71bf98ced4de81992d00)) -* **RequiredArgs** required by default args should no longer be required when their exclusions are present ([4bb4c3cc](https://github.com/kbknapp/clap-rs/commit/4bb4c3cc076b49e86720e882bf8c489877199f2d)) - -#### Features - -* **ArgGroups** add ability to create arg groups ([09eb4d98](https://github.com/kbknapp/clap-rs/commit/09eb4d9893af40c347e50e2b717e1adef552357d)) - - - - -## v0.6.7 (2015-04-22) - - -#### Bug Fixes - -* **from_usage** fix bug causing args to not be required ([b76129e9](https://github.com/kbknapp/clap-rs/commit/b76129e9b71a63365d5c77a7f57b58dbd1e94d49)) - -#### Features - -* **apps** add ability to display additional help info after auto-gen'ed help msg ([65cc259e](https://github.com/kbknapp/clap-rs/commit/65cc259e4559cbe3653c865ec0c4b1e42a389b07)) - - - - -## v0.6.6 (2015-04-19) - - -#### Bug Fixes - -* **from_usage** tabs and spaces should be treated equally ([4fd44181](https://github.com/kbknapp/clap-rs/commit/4fd44181d55d8eb88caab1e625231cfa3129e347)) - -#### Features - -* **macros.rs** add macro to get version from Cargo.toml ([c630969a](https://github.com/kbknapp/clap-rs/commit/c630969aa3bbd386379219cae27ba1305b117f3e)) - - - - -## v0.6.5 (2015-04-19) - - -#### Bug Fixes - -* **macros.rs** fix use statements for trait impls ([86e4075e](https://github.com/kbknapp/clap-rs/commit/86e4075eb111937c8a7bdb344e866e350429f042)) - - - - -## v0.6.4 (2015-04-17) - - -#### Features - -* **macros** add ability to create enums pub or priv with derives ([2c499f80](https://github.com/kbknapp/clap-rs/commit/2c499f8015a199827cdf1fa3ec4f6f171722f8c7)) - - - - -## v0.6.3 (2015-04-16) - - -#### Features - -* **macros** add macro to create custom enums to use as types ([fb672aff](https://github.com/kbknapp/clap-rs/commit/fb672aff561c29db2e343d6c607138f141aca8b6)) - - - - -## v0.6.2 (2015-04-14) - - -#### Features - -* **macros** - * add ability to get mutliple typed values or exit ([0b87251f](https://github.com/kbknapp/clap-rs/commit/0b87251fc088234bee51c323c2b652d7254f7a59)) - * add ability to get a typed multiple values ([e243fe38](https://github.com/kbknapp/clap-rs/commit/e243fe38ddbbf845a46c0b9baebaac3778c80927)) - * add convenience macro to get a typed value or exit ([4b7cd3ea](https://github.com/kbknapp/clap-rs/commit/4b7cd3ea4947780d9daa39f3e1ddab53ad4c7fef)) - * add convenience macro to get a typed value ([8752700f](https://github.com/kbknapp/clap-rs/commit/8752700fbb30e89ee68adbce24489ae9a24d33a9)) - - - - -## v0.6.1 (2015-04-13) - - -#### Bug Fixes - -* **from_usage** trim all whitespace before parsing ([91d29045](https://github.com/kbknapp/clap-rs/commit/91d2904599bd602deef2e515dfc65dc2863bdea0)) - - - - -## v0.6.0 (2015-04-13) - - -#### Bug Fixes - -* **tests** fix failing doc tests ([3710cd69](https://github.com/kbknapp/clap-rs/commit/3710cd69162f87221a62464f63437c1ce843ad3c)) - -#### Features - -* **app** add support for building args from usage strings ([d5d48bcf](https://github.com/kbknapp/clap-rs/commit/d5d48bcf463a4e494ef758836bd69a4c220bbbb5)) -* **args** add ability to create basic arguments from a usage string ([ab409a8f](https://github.com/kbknapp/clap-rs/commit/ab409a8f1db9e37cc70200f6f4a84a162692e618)) - - - - -## v0.5.14 (2015-04-10) - - -#### Bug Fixes - -* **usage** - * remove unneeded space ([51372789](https://github.com/kbknapp/clap-rs/commit/5137278942121bc2593ce6e5dc224ec2682549e6)) - * remove warning about unused variables ([ba817b9d](https://github.com/kbknapp/clap-rs/commit/ba817b9d815e37320650973f1bea0e7af3030fd7)) - -#### Features - -* **usage** add ability to get usage string for subcommands too ([3636afc4](https://github.com/kbknapp/clap-rs/commit/3636afc401c2caa966efb5b1869ef4f1ed3384aa)) - - - - -## v0.5.13 (2015-04-09) - - -#### Features - -* **SubCommands** add method to get name and subcommand matches together ([64e53928](https://github.com/kbknapp/clap-rs/commit/64e539280e23e567cf5de393b346eb0ca20e7eb5)) -* **ArgMatches** add method to get default usage string ([02462150](https://github.com/kbknapp/clap-rs/commit/02462150ca750bdc7012627d7e8d96379d494d7f)) - - - - -## v0.5.12 (2015-04-08) - - -#### Features - -* **help** sort arguments by name so as to not display a random order ([f4b2bf57](https://github.com/kbknapp/clap-rs/commit/f4b2bf5767386013069fb74862e6e938dacf44d2)) - - - - -## v0.5.11 (2015-04-08) - - -#### Bug Fixes - -* **flags** fix bug not allowing users to specify -v or -h ([90e72cff](https://github.com/kbknapp/clap-rs/commit/90e72cffdee321b79eea7a2207119533540062b4)) - - - - -## v0.5.10 (2015-04-08) - - -#### Bug Fixes - -* **help** fix spacing when option argument has not long version ([ca17fa49](https://github.com/kbknapp/clap-rs/commit/ca17fa494b68e92da83ee364bf64b0687006824b)) - - - - -## v0.5.9 (2015-04-08) - - -#### Bug Fixes - -* **positional args** all previous positional args become required when a latter one is required ([c14c3f31](https://github.com/kbknapp/clap-rs/commit/c14c3f31fd557c165570b60911d8ee483d89d6eb), closes [#50](https://github.com/kbknapp/clap-rs/issues/50)) -* **clap** remove unstable features for Rust 1.0 ([9abdb438](https://github.com/kbknapp/clap-rs/commit/9abdb438e36e364d41550e7f5d44ebcaa8ee6b10)) -* **args** improve error messages for arguments with mutual exclusions ([18dbcf37](https://github.com/kbknapp/clap-rs/commit/18dbcf37024daf2b76ca099a6f118b53827aa339), closes [#51](https://github.com/kbknapp/clap-rs/issues/51)) - - - - -## v0.5.8 (2015-04-08) - - -#### Bug Fixes - -* **option args** fix bug in getting the wrong number of occurrences for options ([82ad6ad7](https://github.com/kbknapp/clap-rs/commit/82ad6ad77539cf9f9a03b78db466f575ebd972cc)) -* **help** fix formatting for option arguments with no long ([e8691004](https://github.com/kbknapp/clap-rs/commit/e869100423d93fa3acff03c4620cbcc0d0e790a1)) -* **flags** add assertion to catch flags with specific value sets ([a0a2a40f](https://github.com/kbknapp/clap-rs/commit/a0a2a40fed57f7c5ad9d68970d090e9856306c7d), closes [#52](https://github.com/kbknapp/clap-rs/issues/52)) -* **args** improve error messages for arguments with mutual exclusions ([bff945fc](https://github.com/kbknapp/clap-rs/commit/bff945fc5d03bba4266533340adcffb002508d1b), closes [#51](https://github.com/kbknapp/clap-rs/issues/51)) -* **tests** add missing .takes_value(true) to option2 ([bdb0e88f](https://github.com/kbknapp/clap-rs/commit/bdb0e88f696c8595c3def3bfb0e52d538c7be085)) -* **positional args** all previous positional args become required when a latter one is required ([343d47dc](https://github.com/kbknapp/clap-rs/commit/343d47dcbf83786a45c0d0f01b27fd9dd76725de), closes [#50](https://github.com/kbknapp/clap-rs/issues/50)) - - - - -## v0.5.7 (2015-04-08) - - -#### Bug Fixes - -* **args** fix bug in arguments who are required and mutually exclusive ([6ceb88a5](https://github.com/kbknapp/clap-rs/commit/6ceb88a594caae825605abc1cdad95204996bf29)) - - - - -## v0.5.6 (2015-04-08) - - -#### Bug Fixes - -* **help** fix formatting of help and usage ([28691b52](https://github.com/kbknapp/clap-rs/commit/28691b52f67e65c599e10e4ea2a0f6f9765a06b8)) - - - - -## v0.5.5 (2015-04-08) - - -#### Bug Fixes - -* **help** fix formatting of help for flags and options ([6ec10115](https://github.com/kbknapp/clap-rs/commit/6ec1011563a746f0578a93b76d45e63878e0f9a8)) - - - - -## v0.5.4 (2015-04-08) - - -#### Features - -* **help** add '...' to indicate multiple values supported ([297ddba7](https://github.com/kbknapp/clap-rs/commit/297ddba77000e2228762ab0eca50b480f7467386)) - - - - -## v0.5.3 (2015-04-08) - - -#### Features - -* **positionals** - * add assertions for positional args with multiple vals ([b7fa72d4](https://github.com/kbknapp/clap-rs/commit/b7fa72d40f18806ec2042dd67a518401c2cf5681)) - * add support for multiple values ([80784009](https://github.com/kbknapp/clap-rs/commit/807840094109fbf90b348039ae22669ef27889ba)) - - - - -## v0.5.2 (2015-04-08) - - -#### Bug Fixes - -* **apps** allow use of hyphens in application and subcommand names ([da549dcb](https://github.com/kbknapp/clap-rs/commit/da549dcb6c7e0d773044ab17829744483a8b0f7f)) - - - - -## v0.5.1 (2015-04-08) - - -#### Bug Fixes - -* **args** determine if the only arguments allowed are also required ([0a09eb36](https://github.com/kbknapp/clap-rs/commit/0a09eb365ced9a03faf8ed24f083ef730acc90e8)) - - - - -## v0.5.0 (2015-04-08) - - -#### Features - -* **args** add support for a specific set of allowed values on options or positional arguments ([270eb889](https://github.com/kbknapp/clap-rs/commit/270eb88925b6dc2881bff1f31ee344f085d31809)) - - - - -## v0.4.18 (2015-04-08) - - -#### Bug Fixes - -* **usage** display required args in usage, even if only required by others ([1b7316d4](https://github.com/kbknapp/clap-rs/commit/1b7316d4a8df70b0aa584ccbfd33f68966ad2a54)) - -#### Features - -* **subcommands** properly list subcommands in help and usage ([4ee02344](https://github.com/kbknapp/clap-rs/commit/4ee023442abc3dba54b68138006a52b714adf331)) - - - - -## v0.4.17 (2015-04-08) - - -#### Bug Fixes - -* **tests** remove cargo test from claptests makefile ([1cf73817](https://github.com/kbknapp/clap-rs/commit/1cf73817d6fb1dccb5b6a23b46c2efa8b567ad62)) - - - - -## v0.4.16 (2015-04-08) - - -#### Bug Fixes - -* **option** fix bug with option occurrence values ([9af52e93](https://github.com/kbknapp/clap-rs/commit/9af52e93cef9e17ac9974963f132013d0b97b946)) -* **tests** fix testing script bug and formatting ([d8f03a55](https://github.com/kbknapp/clap-rs/commit/d8f03a55c4f74d126710ee06aad5a667246a8001)) - -#### Features - -* **arg** allow lifetimes other than 'static in arguments ([9e8c1fb9](https://github.com/kbknapp/clap-rs/commit/9e8c1fb9406f8448873ca58bab07fe905f1551e5)) diff --git a/vendor/registry-40351f815f426200/clap/CONTRIBUTORS.md b/vendor/registry-40351f815f426200/clap/CONTRIBUTORS.md deleted file mode 100644 index 4f86b4557..000000000 --- a/vendor/registry-40351f815f426200/clap/CONTRIBUTORS.md +++ /dev/null @@ -1,79 +0,0 @@ -the following is a list of contributors: - - -[kbknapp](https://github.com/kbknapp) |[homu](https://github.com/homu) |[Vinatorul](https://github.com/Vinatorul) |[tormol](https://github.com/tormol) |[little-dude](https://github.com/little-dude) |[sru](https://github.com/sru) | -:---: |:---: |:---: |:---: |:---: |:---: | -[kbknapp](https://github.com/kbknapp) |[homu](https://github.com/homu) |[Vinatorul](https://github.com/Vinatorul) |[tormol](https://github.com/tormol) |[little-dude](https://github.com/little-dude) |[sru](https://github.com/sru) | - -[nabijaczleweli](https://github.com/nabijaczleweli) |[mgeisler](https://github.com/mgeisler) |[Byron](https://github.com/Byron) |[hgrecco](https://github.com/hgrecco) |[nateozem](https://github.com/nateozem) |[james-darkfox](https://github.com/james-darkfox) | -:---: |:---: |:---: |:---: |:---: |:---: | -[nabijaczleweli](https://github.com/nabijaczleweli) |[mgeisler](https://github.com/mgeisler) |[Byron](https://github.com/Byron) |[hgrecco](https://github.com/hgrecco) |[nateozem](https://github.com/nateozem) |[james-darkfox](https://github.com/james-darkfox) | - -[Arnavion](https://github.com/Arnavion) |[rtaycher](https://github.com/rtaycher) |[glowing-chemist](https://github.com/glowing-chemist) |[untitaker](https://github.com/untitaker) |[afiune](https://github.com/afiune) |[crazymerlyn](https://github.com/crazymerlyn) | -:---: |:---: |:---: |:---: |:---: |:---: | -[Arnavion](https://github.com/Arnavion) |[rtaycher](https://github.com/rtaycher) |[glowing-chemist](https://github.com/glowing-chemist) |[untitaker](https://github.com/untitaker) |[afiune](https://github.com/afiune) |[crazymerlyn](https://github.com/crazymerlyn) | - -[SuperFluffy](https://github.com/SuperFluffy) |[japaric](https://github.com/japaric) |[matthiasbeyer](https://github.com/matthiasbeyer) |[SShrike](https://github.com/SShrike) |[tshepang](https://github.com/tshepang) |[gohyda](https://github.com/gohyda) | -:---: |:---: |:---: |:---: |:---: |:---: | -[SuperFluffy](https://github.com/SuperFluffy) |[japaric](https://github.com/japaric) |[matthiasbeyer](https://github.com/matthiasbeyer) |[SShrike](https://github.com/SShrike) |[tshepang](https://github.com/tshepang) |[gohyda](https://github.com/gohyda) | - -[jimmycuadra](https://github.com/jimmycuadra) |[Nemo157](https://github.com/Nemo157) |[golem131](https://github.com/golem131) |[porglezomp](https://github.com/porglezomp) |[wdv4758h](https://github.com/wdv4758h) |[frewsxcv](https://github.com/frewsxcv) | -:---: |:---: |:---: |:---: |:---: |:---: | -[jimmycuadra](https://github.com/jimmycuadra) |[Nemo157](https://github.com/Nemo157) |[golem131](https://github.com/golem131) |[porglezomp](https://github.com/porglezomp) |[wdv4758h](https://github.com/wdv4758h) |[frewsxcv](https://github.com/frewsxcv) | - -[hoodie](https://github.com/hoodie) |[huonw](https://github.com/huonw) |[GrappigPanda](https://github.com/GrappigPanda) |[ignatenkobrain](https://github.com/ignatenkobrain) |[shepmaster](https://github.com/shepmaster) |[cstorey](https://github.com/cstorey) | -:---: |:---: |:---: |:---: |:---: |:---: | -[hoodie](https://github.com/hoodie) |[huonw](https://github.com/huonw) |[GrappigPanda](https://github.com/GrappigPanda) |[ignatenkobrain](https://github.com/ignatenkobrain) |[shepmaster](https://github.com/shepmaster) |[cstorey](https://github.com/cstorey) | - -[kieraneglin](https://github.com/kieraneglin) |[musoke](https://github.com/musoke) |[nelsonjchen](https://github.com/nelsonjchen) |[pkgw](https://github.com/pkgw) |[Deedasmi](https://github.com/Deedasmi) |[vmchale](https://github.com/vmchale) | -:---: |:---: |:---: |:---: |:---: |:---: | -[kieraneglin](https://github.com/kieraneglin) |[musoke](https://github.com/musoke) |[nelsonjchen](https://github.com/nelsonjchen) |[pkgw](https://github.com/pkgw) |[Deedasmi](https://github.com/Deedasmi) |[vmchale](https://github.com/vmchale) | - -[messense](https://github.com/messense) |[Keats](https://github.com/Keats) |[starkat99](https://github.com/starkat99) |[alex-gulyas](https://github.com/alex-gulyas) |[cite-reader](https://github.com/cite-reader) |[alexbool](https://github.com/alexbool) | -:---: |:---: |:---: |:---: |:---: |:---: | -[messense](https://github.com/messense) |[Keats](https://github.com/Keats) |[starkat99](https://github.com/starkat99) |[alex-gulyas](https://github.com/alex-gulyas) |[cite-reader](https://github.com/cite-reader) |[alexbool](https://github.com/alexbool) | - -[AluisioASG](https://github.com/AluisioASG) |[BurntSushi](https://github.com/BurntSushi) |[nox](https://github.com/nox) |[mitsuhiko](https://github.com/mitsuhiko) |[brennie](https://github.com/brennie) |[pixelistik](https://github.com/pixelistik) | -:---: |:---: |:---: |:---: |:---: |:---: | -[AluisioASG](https://github.com/AluisioASG) |[BurntSushi](https://github.com/BurntSushi) |[nox](https://github.com/nox) |[mitsuhiko](https://github.com/mitsuhiko) |[brennie](https://github.com/brennie) |[pixelistik](https://github.com/pixelistik) | - -[Bilalh](https://github.com/Bilalh) |[dotdash](https://github.com/dotdash) |[bradurani](https://github.com/bradurani) |[Seeker14491](https://github.com/Seeker14491) |[brianp](https://github.com/brianp) |[casey](https://github.com/casey) | -:---: |:---: |:---: |:---: |:---: |:---: | -[Bilalh](https://github.com/Bilalh) |[dotdash](https://github.com/dotdash) |[bradurani](https://github.com/bradurani) |[Seeker14491](https://github.com/Seeker14491) |[brianp](https://github.com/brianp) |[casey](https://github.com/casey) | - -[volks73](https://github.com/volks73) |[daboross](https://github.com/daboross) |[mernen](https://github.com/mernen) |[dguo](https://github.com/dguo) |[davidszotten](https://github.com/davidszotten) |[drusellers](https://github.com/drusellers) | -:---: |:---: |:---: |:---: |:---: |:---: | -[volks73](https://github.com/volks73) |[daboross](https://github.com/daboross) |[mernen](https://github.com/mernen) |[dguo](https://github.com/dguo) |[davidszotten](https://github.com/davidszotten) |[drusellers](https://github.com/drusellers) | - -[eddyb](https://github.com/eddyb) |[birkenfeld](https://github.com/birkenfeld) |[guanqun](https://github.com/guanqun) |[tanakh](https://github.com/tanakh) |[SirVer](https://github.com/SirVer) |[idmit](https://github.com/idmit) | -:---: |:---: |:---: |:---: |:---: |:---: | -[eddyb](https://github.com/eddyb) |[birkenfeld](https://github.com/birkenfeld) |[guanqun](https://github.com/guanqun) |[tanakh](https://github.com/tanakh) |[SirVer](https://github.com/SirVer) |[idmit](https://github.com/idmit) | - -[archer884](https://github.com/archer884) |[jacobmischka](https://github.com/jacobmischka) |[jespino](https://github.com/jespino) |[jtdowney](https://github.com/jtdowney) |[andete](https://github.com/andete) |[jdanford](https://github.com/jdanford) | -:---: |:---: |:---: |:---: |:---: |:---: | -[archer884](https://github.com/archer884) |[jacobmischka](https://github.com/jacobmischka) |[jespino](https://github.com/jespino) |[jtdowney](https://github.com/jtdowney) |[andete](https://github.com/andete) |[jdanford](https://github.com/jdanford) | - -[joshtriplett](https://github.com/joshtriplett) |[Kalwyn](https://github.com/Kalwyn) |[manuel-rhdt](https://github.com/manuel-rhdt) |[malbarbo](https://github.com/malbarbo) |[Marwes](https://github.com/Marwes) |[mdaffin](https://github.com/mdaffin) | -:---: |:---: |:---: |:---: |:---: |:---: | -[joshtriplett](https://github.com/joshtriplett) |[Kalwyn](https://github.com/Kalwyn) |[manuel-rhdt](https://github.com/manuel-rhdt) |[malbarbo](https://github.com/malbarbo) |[Marwes](https://github.com/Marwes) |[mdaffin](https://github.com/mdaffin) | - -[iliekturtles](https://github.com/iliekturtles) |[nicompte](https://github.com/nicompte) |[NickeZ](https://github.com/NickeZ) |[nvzqz](https://github.com/nvzqz) |[nuew](https://github.com/nuew) |[Geogi](https://github.com/Geogi) | -:---: |:---: |:---: |:---: |:---: |:---: | -[iliekturtles](https://github.com/iliekturtles) |[nicompte](https://github.com/nicompte) |[NickeZ](https://github.com/NickeZ) |[nvzqz](https://github.com/nvzqz) |[nuew](https://github.com/nuew) |[Geogi](https://github.com/Geogi) | - -[flying-sheep](https://github.com/flying-sheep) |[Phlosioneer](https://github.com/Phlosioneer) |[peppsac](https://github.com/peppsac) |[golddranks](https://github.com/golddranks) |[hexjelly](https://github.com/hexjelly) |[rnelson](https://github.com/rnelson) | -:---: |:---: |:---: |:---: |:---: |:---: | -[flying-sheep](https://github.com/flying-sheep) |[Phlosioneer](https://github.com/Phlosioneer) |[peppsac](https://github.com/peppsac) |[golddranks](https://github.com/golddranks) |[hexjelly](https://github.com/hexjelly) |[rnelson](https://github.com/rnelson) | - -[swatteau](https://github.com/swatteau) |[tspiteri](https://github.com/tspiteri) |[vks](https://github.com/vks) |[th4t](https://github.com/th4t) |[mineo](https://github.com/mineo) |[wabain](https://github.com/wabain) | -:---: |:---: |:---: |:---: |:---: |:---: | -[swatteau](https://github.com/swatteau) |[tspiteri](https://github.com/tspiteri) |[vks](https://github.com/vks) |[th4t](https://github.com/th4t) |[mineo](https://github.com/mineo) |[wabain](https://github.com/wabain) | - -[grossws](https://github.com/grossws) |[kennytm](https://github.com/kennytm) |[mvaude](https://github.com/mvaude) |[panicbit](https://github.com/panicbit) |[ogham](https://github.com/ogham) | -:---: |:---: |:---: |:---: |:---: | -[grossws](https://github.com/grossws) |[kennytm](https://github.com/kennytm) |[mvaude](https://github.com/mvaude) |[panicbit](https://github.com/panicbit) |[ogham](https://github.com/ogham) | - - - - -This list was generated by [mgechev/github-contributors-list](https://github.com/mgechev/github-contributors-list) diff --git a/vendor/registry-40351f815f426200/clap/Cargo.toml b/vendor/registry-40351f815f426200/clap/Cargo.toml deleted file mode 100644 index 1d3f577b5..000000000 --- a/vendor/registry-40351f815f426200/clap/Cargo.toml +++ /dev/null @@ -1,126 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "clap" -version = "2.27.1" -authors = ["Kevin K. "] -exclude = ["examples/*", "clap-test/*", "tests/*", "benches/*", "*.png", "clap-perf/*", "*.dot"] -description = "A simple to use, efficient, and full featured Command Line Argument Parser\n" -homepage = "https://clap.rs/" -documentation = "https://docs.rs/clap/" -readme = "README.md" -keywords = ["argument", "command", "arg", "parser", "parse"] -categories = ["command-line-interface"] -license = "MIT" -repository = "https://github.com/kbknapp/clap-rs.git" -[package.metadata.docs.rs] -features = ["doc"] -[profile.test] -opt-level = 1 -lto = false -codegen-units = 4 -debug = true -debug-assertions = true -rpath = false - -[profile.doc] -opt-level = 0 -lto = false -codegen-units = 4 -debug = true -debug-assertions = true -rpath = false - -[profile.bench] -opt-level = 3 -lto = true -debug = false -debug-assertions = false -rpath = false - -[profile.dev] -opt-level = 0 -lto = false -codegen-units = 4 -debug = true -debug-assertions = true -rpath = false - -[profile.release] -opt-level = 3 -lto = true -debug = false -debug-assertions = false -rpath = false -[dependencies.bitflags] -version = "0.9" - -[dependencies.clippy] -version = "~0.0.166" -optional = true - -[dependencies.ansi_term] -version = "0.9.0" -optional = true - -[dependencies.vec_map] -version = "0.8" -optional = true - -[dependencies.strsim] -version = "0.6.0" -optional = true - -[dependencies.atty] -version = "0.2.2" -optional = true - -[dependencies.unicode-width] -version = "0.1.4" - -[dependencies.textwrap] -version = "0.9.0" - -[dependencies.term_size] -version = "0.3.0" -optional = true - -[dependencies.yaml-rust] -version = "0.3.5" -optional = true -[dev-dependencies.regex] -version = "0.2" - -[dev-dependencies.lazy_static] -version = "0.2" - -[dev-dependencies.version-sync] -version = "0.3" - -[features] -debug = [] -no_cargo = [] -yaml = ["yaml-rust"] -nightly = [] -color = ["ansi_term", "atty"] -suggestions = ["strsim"] -default = ["suggestions", "color", "vec_map"] -wrap_help = ["term_size", "textwrap/term_size"] -lints = ["clippy"] -unstable = [] -doc = ["yaml"] -[badges.appveyor] -repository = "kbknapp/clap-rs" - -[badges.travis-ci] -repository = "kbknapp/clap-rs" diff --git a/vendor/registry-40351f815f426200/clap/LICENSE-MIT b/vendor/registry-40351f815f426200/clap/LICENSE-MIT deleted file mode 100644 index 5acedf041..000000000 --- a/vendor/registry-40351f815f426200/clap/LICENSE-MIT +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015-2016 Kevin B. Knapp - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/vendor/registry-40351f815f426200/clap/README.md b/vendor/registry-40351f815f426200/clap/README.md deleted file mode 100644 index c383b7bdf..000000000 --- a/vendor/registry-40351f815f426200/clap/README.md +++ /dev/null @@ -1,754 +0,0 @@ -clap -==== - -[![Crates.io](https://img.shields.io/crates/v/clap.svg)](https://crates.io/crates/clap) [![Crates.io](https://img.shields.io/crates/d/clap.svg)](https://crates.io/crates/clap) [![license](http://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/kbknapp/clap-rs/blob/master/LICENSE-MIT) [![Coverage Status](https://coveralls.io/repos/kbknapp/clap-rs/badge.svg?branch=master&service=github)](https://coveralls.io/github/kbknapp/clap-rs?branch=master) [![Join the chat at https://gitter.im/kbknapp/clap-rs](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/kbknapp/clap-rs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) - -Linux: [![Build Status](https://travis-ci.org/kbknapp/clap-rs.svg?branch=master)](https://travis-ci.org/kbknapp/clap-rs) -Windows: [![Build status](https://ci.appveyor.com/api/projects/status/ejg8c33dn31nhv36/branch/master?svg=true)](https://ci.appveyor.com/project/kbknapp/clap-rs/branch/master) - -Command Line Argument Parser for Rust - -It is a simple-to-use, efficient, and full-featured library for parsing command line arguments and subcommands when writing console/terminal applications. - -## [documentation](https://docs.rs/clap/) -## [website](https://clap.rs/) -## [blog](https://blog.clap.rs/) - -Table of Contents -================= - -* [What's New](#whats-new) -* [About](#about) -* [FAQ](#faq) -* [Features](#features) -* [Quick Example](#quick-example) -* [Try it!](#try-it) - * [Pre-Built Test](#pre-built-test) - * [BYOB (Build Your Own Binary)](#byob-build-your-own-binary) -* [Usage](#usage) - * [Optional Dependencies / Features](#optional-dependencies--features) - * [Dependencies Tree](#dependencies-tree) - * [More Information](#more-information) - * [Video Tutorials](#video-tutorials) -* [How to Contribute](#how-to-contribute) - * [Testing Code](#testing-code) - * [Linting Code](#linting-code) - * [Debugging Code](#debugging-code) - * [Goals](#goals) - * [Compatibility Policy](#compatibility-policy) - * [Minimum Version of Rust](#minimum-version-of-rust) -* [License](#license) -* [Recent Breaking Changes](#recent-breaking-changes) - * [Deprecations](#deprecations) - -Created by [gh-md-toc](https://github.com/ekalinin/github-markdown-toc) - -## What's New - -Here's whats new in 2.27.1: - -** This release also contains a very minor breaking change to fix a bug ** - -The only CLIs affected will be those using unrestrained multiple values and subcommands where the -subcommand name can coincide with one of the multiple values. - -See the commit [0c223f54](https://github.com/kbknapp/clap-rs/commit/0c223f54ed46da406bc8b43a5806e0b227863b31) for full details. - -* Adds `term_size` as an optional dependency (with feature `wrap_help`) to fix compile bug -* **The minimum required version of Rust is now 1.18.0 (Stable)** -* Values from global args are now propagated UP and DOWN! -* fixes a bug where using AppSettings::AllowHyphenValues would allow invalid arguments even when there is no way for them to be valid -* when an argument requires a value and that value happens to match a subcommand name, its parsed as a value -* fixes a bug that prevented number_of_values and default_values to be used together -* fixes a bug that didn't allow args with default values to have conflicts -* fixes a panic when using global args and calling App::get_matches_from_safe_borrow multiple times -* fixes issues and potential regressions with global args values not being propagated properly or at all -* fixes a bug where default values are not applied if the option supports zero values -* adds addtional blurbs about using multiples with subcommands -* updates the docs to reflect changes to global args and that global args values can now be propagated back up the stack -* add html_root_url attribute -* sync README version numbers with crate version -* args that have require_delimiter(true) is now reflected in help and usage strings -* if all subcommands are hidden, the subcommands section of the help message is no longer displayed -* fixes when an argument requires a value and that value happens to match a subcommand name, its parsed as a value -* **AppSettings::PropagateGlobalValuesDown:** this setting deprecated and is no longer required to propagate values down or up - -Here's the highlights for v2.21.0 to v2.26.2 - -* if all subcommands are hidden, the subcommands section of the help message is no longer displayed -* fixes a bug where default values are not applied if the option supports zero values -* fixes using require_equals(true) and min_values(0) together -* escape special characters in zsh and fish completions -* avoid panic generating default help msg if term width set to 0 due to bug in textwrap 0.7.0 -* Change `who's` -> `whose` in documentation -* **Help Message:** fixes `App::long_about` not being displayed -* **Suggestions:** output for flag after subcommand -* **The minimum required version of Rust is now 1.13.0 (Stable)** -* bumps unicode-segmentation to v1.2 -* update textwrap to version 0.7.0 which increases the performance of writing help strings -* impl Default for Values + OsValues for any lifetime. -* use textwrap crate for wrapping help texts -* suggests to use flag after subcommand when applicable -* Bumps bitflags crate to v0.9 -* fixes a bug where args that allow values to start with a hyphen couldnt contain a double hyphen -- as a value -* fixes a bug where positional argument help text is misaligned -* **App::template docs:** adds details about the necessity to use AppSettings::UnifiedHelpMessage when using {unified} tags in the help template -* **Arg::allow_hyphen_values docs:** updates the docs to include warnings for allow_hyphen_values and multiple(true) used together -* **clap_app! docs:** adds using the @group specifier to the macro docs -* adds a debug assertion to ensure all args added to groups actually exist -* fixes a bug where args with last(true) and required(true) set were not being printed in the usage string -* fixes a bug that was printing the arg name, instead of value name when Arg::last(true) was used -* fixes a bug where flags were parsed as flags AND positional values when specific combinations of settings were used -* **README.md:** fix some typos -* **Arg:** add `default_value_os` -* **arg_matches.rs:** Added a Default implementation for Values and OsValues iterators. -* **PowerShell Completions:** - * fixes a bug where powershells completions cant be used if no subcommands are defined - * massively dedups subcommand names in the generate script to make smaller scripts that are still functionally equiv -* allows specifying a short help vs a long help (i.e. varying levels of detail depending on if -h or --help was used) -* **clap_app!:** adds support for arg names with hyphens similar to longs with hyphens -* fixes a bug that wasn't allowing help and version to be properly overridden - * This may break code that was relying on this bug! If you add a flag with a long of `help` manually *and* rely on the help message to be printed automatically your code could break. Please see the commit link in the full CHANGELOG.md -* `App::long_about` -* `App::long_version` -* `App::print_long_help` -* `App::write_long_help` -* `App::print_long_version` -* `App::write_long_version` -* `Arg::long_help` -* **clap_app!:** documents the `--("some-arg")` method for using args with hyphens inside them -* fixes the usage string regression when using help templates -* fixes a big regression with custom usage strings -* adds the ability to change the name of the App instance after creation -* adds ability to hide the default value of an argument from the help string -* fixes support for loading author info from yaml -* adds fish subcommand help support -* options that use `require_equals(true)` now display the equals sign in help messages, usage strings, and errors -* setting the max term width now correctly propagates down through child subcommands -* fixes the precedence of this error to prioritize over other error messages -* fixes some regression bugs resulting from old asserts in debug mode. -* adds the ability to mark a positional argument as 'last' which means it should be used with `--` syntax and can be accessed early to effectivly skip other positional args -* Some performance improvements by reducing the ammount of duplicate work, cloning, and allocations in all cases. -* Some massive performance gains when using many args (i.e. things like shell glob expansions) -* adds a setting to allow one to infer shortened subcommands or aliases (i.e. for subcommmand "test", "t", "te", or "tes" would be allowed assuming no other ambiguities) -* when `AppSettings::SubcommandsNegateReqs` and `ArgsNegateSubcommands` are used, a new more accurate double line usage string is shown -* provides `default_value_os` and `default_value_if[s]_os` -* provides `App::help_message` and `App::version_message` which allows one to override the auto-generated help/version flag associated help -* adds the ability to require the equals syntax with options `--opt=val` -* doesn't print the argument sections in the help message if all args in that section are hidden -* doesn't include the various `[ARGS]` `[FLAGS]` or `[OPTIONS]` if the only ones available are hidden -* now correctly shows subcommand as required in the usage string when AppSettings::SubcommandRequiredElseHelp is used -* fixes some "memory leaks" when an error is detected and clap exits -* fixes a trait that's marked private accidentlly, but should be crate internal public -* fixes a bug that tried to propogate global args multiple times when generating multiple completion scripts -* Fixes a critical bug in the `clap_app!` macro of a missing fragment specifier when using `!property` style tags. -* Fix examples link in CONTRIBUTING.md - -For full details, see [CHANGELOG.md](https://github.com/kbknapp/clap-rs/blob/master/CHANGELOG.md) - -## About - -`clap` is used to parse *and validate* the string of command line arguments provided by the user at runtime. You provide the list of valid possibilities, and `clap` handles the rest. This means you focus on your *applications* functionality, and less on the parsing and validating of arguments. - -`clap` also provides the traditional version and help switches (or flags) 'for free' meaning automatically with no configuration. It does this by checking list of valid possibilities you supplied and adding only the ones you haven't already defined. If you are using subcommands, `clap` will also auto-generate a `help` subcommand for you in addition to the traditional flags. - -Once `clap` parses the user provided string of arguments, it returns the matches along with any applicable values. If the user made an error or typo, `clap` informs them of the mistake and exits gracefully (or returns a `Result` type and allows you to perform any clean up prior to exit). Because of this, you can make reasonable assumptions in your code about the validity of the arguments. - -## FAQ - -For a full FAQ and more in depth details, see [the wiki page](https://github.com/kbknapp/clap-rs/wiki/FAQ) - -### Comparisons - -First, let me say that these comparisons are highly subjective, and not meant in a critical or harsh manner. All the argument parsing libraries out there (to include `clap`) have their own strengths and weaknesses. Sometimes it just comes down to personal taste when all other factors are equal. When in doubt, try them all and pick one that you enjoy :) There's plenty of room in the Rust community for multiple implementations! - -#### How does `clap` compare to [getopts](https://github.com/rust-lang-nursery/getopts)? - -`getopts` is a very basic, fairly minimalist argument parsing library. This isn't a bad thing, sometimes you don't need tons of features, you just want to parse some simple arguments, and have some help text generated for you based on valid arguments you specify. The downside to this approach is that you must manually implement most of the common features (such as checking to display help messages, usage strings, etc.). If you want a highly custom argument parser, and don't mind writing the majority of the functionality yourself, `getopts` is an excellent base. - -`getopts` also doesn't allocate much, or at all. This gives it a very small performance boost. Although, as you start implementing additional features, that boost quickly disappears. - -Personally, I find many, many uses of `getopts` are manually implementing features that `clap` provides by default. Using `clap` simplifies your codebase allowing you to focus on your application, and not argument parsing. - -#### How does `clap` compare to [docopt.rs](https://github.com/docopt/docopt.rs)? - -I first want to say I'm a big a fan of BurntSushi's work, the creator of `Docopt.rs`. I aspire to produce the quality of libraries that this man does! When it comes to comparing these two libraries they are very different. `docopt` tasks you with writing a help message, and then it parsers that message for you to determine all valid arguments and their use. Some people LOVE this approach, others do not. If you're willing to write a detailed help message, it's nice that you can stick that in your program and have `docopt` do the rest. On the downside, it's far less flexible. - -`docopt` is also excellent at translating arguments into Rust types automatically. There is even a syntax extension which will do all this for you, if you're willing to use a nightly compiler (use of a stable compiler requires you to somewhat manually translate from arguments to Rust types). To use BurntSushi's words, `docopt` is also a sort of black box. You get what you get, and it's hard to tweak implementation or customize the experience for your use case. - -Because `docopt` is doing a ton of work to parse your help messages and determine what you were trying to communicate as valid arguments, it's also one of the more heavy weight parsers performance-wise. For most applications this isn't a concern and this isn't to say `docopt` is slow, in fact far from it. This is just something to keep in mind while comparing. - -#### All else being equal, what are some reasons to use `clap`? - -`clap` is as fast, and as lightweight as possible while still giving all the features you'd expect from a modern argument parser. In fact, for the amount and type of features `clap` offers it remains about as fast as `getopts`. If you use `clap` when just need some simple arguments parsed, you'll find it's a walk in the park. `clap` also makes it possible to represent extremely complex, and advanced requirements, without too much thought. `clap` aims to be intuitive, easy to use, and fully capable for wide variety use cases and needs. - -## Features - -Below are a few of the features which `clap` supports, full descriptions and usage can be found in the [documentation](https://docs.rs/clap/) and [examples/](examples) directory - -* **Auto-generated Help, Version, and Usage information** - - Can optionally be fully, or partially overridden if you want a custom help, version, or usage -* **Auto-generated bash completion scripts at compile time** - - Even works through many multiple levels of subcommands - - Works with options which only accept certain values - - Works with subcommand aliases -* **Flags / Switches** (i.e. bool fields) - - Both short and long versions supported (i.e. `-f` and `--flag` respectively) - - Supports combining short versions (i.e. `-fBgoZ` is the same as `-f -B -g -o -Z`) - - Supports multiple occurrences (i.e. `-vvv` or `-v -v -v`) -* **Positional Arguments** (i.e. those which are based off an index from the program name) - - Supports multiple values (i.e. `myprog ...` such as `myprog file1.txt file2.txt` being two values for the same "file" argument) - - Supports Specific Value Sets (See below) - - Can set value parameters (such as the minimum number of values, the maximum number of values, or the exact number of values) - - Can set custom validations on values to extend the argument parsing capability to truly custom domains -* **Option Arguments** (i.e. those that take values) - - Both short and long versions supported (i.e. `-o value`, `-ovalue`, `-o=value` and `--option value` or `--option=value` respectively) - - Supports multiple values (i.e. `-o -o ` or `-o `) - - Supports delimited values (i.e. `-o=val1,val2,val3`, can also change the delimiter) - - Supports Specific Value Sets (See below) - - Supports named values so that the usage/help info appears as `-o ` etc. for when you require specific multiple values - - Can set value parameters (such as the minimum number of values, the maximum number of values, or the exact number of values) - - Can set custom validations on values to extend the argument parsing capability to truly custom domains -* **Sub-Commands** (i.e. `git add ` where `add` is a sub-command of `git`) - - Support their own sub-arguments, and sub-sub-commands independent of the parent - - Get their own auto-generated Help, Version, and Usage independent of parent -* **Support for building CLIs from YAML** - This keeps your Rust source nice and tidy and makes supporting localized translation very simple! -* **Requirement Rules**: Arguments can define the following types of requirement rules - - Can be required by default - - Can be required only if certain arguments are present - - Can require other arguments to be present -* **Confliction Rules**: Arguments can optionally define the following types of exclusion rules - - Can be disallowed when certain arguments are present - - Can disallow use of other arguments when present -* **Groups**: Arguments can be made part of a group - - Fully compatible with other relational rules (requirements, conflicts, and overrides) which allows things like requiring the use of any arg in a group, or denying the use of an entire group conditionally -* **Specific Value Sets**: Positional or Option Arguments can define a specific set of allowed values (i.e. imagine a `--mode` option which may *only* have one of two values `fast` or `slow` such as `--mode fast` or `--mode slow`) -* **Default Values** -* **Automatic Version from Cargo.toml**: `clap` is fully compatible with Rust's `env!()` macro for automatically setting the version of your application to the version in your Cargo.toml. See [09_auto_version example](examples/09_auto_version.rs) for how to do this (Thanks to [jhelwig](https://github.com/jhelwig) for pointing this out) -* **Typed Values**: You can use several convenience macros provided by `clap` to get typed values (i.e. `i32`, `u8`, etc.) from positional or option arguments so long as the type you request implements `std::str::FromStr` See the [12_typed_values example](examples/12_typed_values.rs). You can also use `clap`s `arg_enum!` macro to create an enum with variants that automatically implement `std::str::FromStr`. See [13a_enum_values_automatic example](examples/13a_enum_values_automatic.rs) for details -* **Suggestions**: Suggests corrections when the user enters a typo. For example, if you defined a `--myoption` argument, and the user mistakenly typed `--moyption` (notice `y` and `o` transposed), they would receive a `Did you mean '--myoption'?` error and exit gracefully. This also works for subcommands and flags. (Thanks to [Byron](https://github.com/Byron) for the implementation) (This feature can optionally be disabled, see 'Optional Dependencies / Features') -* **Colorized Errors (Non Windows OS only)**: Error message are printed in in colored text (this feature can optionally be disabled, see 'Optional Dependencies / Features'). -* **Global Arguments**: Arguments can optionally be defined once, and be available to all child subcommands. -* **Custom Validations**: You can define a function to use as a validator of argument values. Imagine defining a function to validate IP addresses, or fail parsing upon error. This means your application logic can be solely focused on *using* values. -* **POSIX Compatible Conflicts/Overrides** - In POSIX args can be conflicting, but not fail parsing because whichever arg comes *last* "wins" so to speak. This allows things such as aliases (i.e. `alias ls='ls -l'` but then using `ls -C` in your terminal which ends up passing `ls -l -C` as the final arguments. Since `-l` and `-C` aren't compatible, this effectively runs `ls -C` in `clap` if you choose...`clap` also supports hard conflicts that fail parsing). (Thanks to [Vinatorul](https://github.com/Vinatorul)!) -* Supports the Unix `--` meaning, only positional arguments follow - -## Quick Example - -The following examples show a quick example of some of the very basic functionality of `clap`. For more advanced usage, such as requirements, conflicts, groups, multiple values and occurrences see the [documentation](https://docs.rs/clap/), [examples/](examples) directory of this repository or the [video tutorials](https://www.youtube.com/playlist?list=PLza5oFLQGTl2Z5T8g1pRkIynR3E0_pc7U). - - **NOTE:** All of these examples are functionally the same, but show different styles in which to use `clap` - -The first example shows a method that allows more advanced configuration options (not shown in this small example), or even dynamically generating arguments when desired. The downside is it's more verbose. - -```rust -// (Full example with detailed comments in examples/01b_quick_example.rs) -// -// This example demonstrates clap's full 'builder pattern' style of creating arguments which is -// more verbose, but allows easier editing, and at times more advanced options, or the possibility -// to generate arguments dynamically. -extern crate clap; -use clap::{Arg, App, SubCommand}; - -fn main() { - let matches = App::new("My Super Program") - .version("1.0") - .author("Kevin K. ") - .about("Does awesome things") - .arg(Arg::with_name("config") - .short("c") - .long("config") - .value_name("FILE") - .help("Sets a custom config file") - .takes_value(true)) - .arg(Arg::with_name("INPUT") - .help("Sets the input file to use") - .required(true) - .index(1)) - .arg(Arg::with_name("v") - .short("v") - .multiple(true) - .help("Sets the level of verbosity")) - .subcommand(SubCommand::with_name("test") - .about("controls testing features") - .version("1.3") - .author("Someone E. ") - .arg(Arg::with_name("debug") - .short("d") - .help("print debug information verbosely"))) - .get_matches(); - - // Gets a value for config if supplied by user, or defaults to "default.conf" - let config = matches.value_of("config").unwrap_or("default.conf"); - println!("Value for config: {}", config); - - // Calling .unwrap() is safe here because "INPUT" is required (if "INPUT" wasn't - // required we could have used an 'if let' to conditionally get the value) - println!("Using input file: {}", matches.value_of("INPUT").unwrap()); - - // Vary the output based on how many times the user used the "verbose" flag - // (i.e. 'myprog -v -v -v' or 'myprog -vvv' vs 'myprog -v' - match matches.occurrences_of("v") { - 0 => println!("No verbose info"), - 1 => println!("Some verbose info"), - 2 => println!("Tons of verbose info"), - 3 | _ => println!("Don't be crazy"), - } - - // You can handle information about subcommands by requesting their matches by name - // (as below), requesting just the name used, or both at the same time - if let Some(matches) = matches.subcommand_matches("test") { - if matches.is_present("debug") { - println!("Printing debug info..."); - } else { - println!("Printing normally..."); - } - } - - // more program logic goes here... -} -``` - -The next example shows a far less verbose method, but sacrifices some of the advanced configuration options (not shown in this small example). This method also takes a *very* minor runtime penalty. - -```rust -// (Full example with detailed comments in examples/01a_quick_example.rs) -// -// This example demonstrates clap's "usage strings" method of creating arguments -// which is less verbose -extern crate clap; -use clap::{Arg, App, SubCommand}; - -fn main() { - let matches = App::new("myapp") - .version("1.0") - .author("Kevin K. ") - .about("Does awesome things") - .args_from_usage( - "-c, --config=[FILE] 'Sets a custom config file' - 'Sets the input file to use' - -v... 'Sets the level of verbosity'") - .subcommand(SubCommand::with_name("test") - .about("controls testing features") - .version("1.3") - .author("Someone E. ") - .arg_from_usage("-d, --debug 'Print debug information'")) - .get_matches(); - - // Same as previous example... -} -``` - -This third method shows how you can use a YAML file to build your CLI and keep your Rust source tidy -or support multiple localized translations by having different YAML files for each localization. - -First, create the `cli.yml` file to hold your CLI options, but it could be called anything we like: - -```yaml -name: myapp -version: "1.0" -author: Kevin K. -about: Does awesome things -args: - - config: - short: c - long: config - value_name: FILE - help: Sets a custom config file - takes_value: true - - INPUT: - help: Sets the input file to use - required: true - index: 1 - - verbose: - short: v - multiple: true - help: Sets the level of verbosity -subcommands: - - test: - about: controls testing features - version: "1.3" - author: Someone E. - args: - - debug: - short: d - help: print debug information -``` - -Since this feature requires additional dependencies that not everyone may want, it is *not* compiled in by default and we need to enable a feature flag in Cargo.toml: - -Simply change your `clap = "2.27"` to `clap = {version = "2.27", features = ["yaml"]}`. - -At last we create our `main.rs` file just like we would have with the previous two examples: - -```rust -// (Full example with detailed comments in examples/17_yaml.rs) -// -// This example demonstrates clap's building from YAML style of creating arguments which is far -// more clean, but takes a very small performance hit compared to the other two methods. -#[macro_use] -extern crate clap; -use clap::App; - -fn main() { - // The YAML file is found relative to the current file, similar to how modules are found - let yaml = load_yaml!("cli.yml"); - let matches = App::from_yaml(yaml).get_matches(); - - // Same as previous examples... -} -``` - -Finally there is a macro version, which is like a hybrid approach offering the speed of the builder pattern (the first example), but without all the verbosity. - -```rust -#[macro_use] -extern crate clap; - -fn main() { - let matches = clap_app!(myapp => - (version: "1.0") - (author: "Kevin K. ") - (about: "Does awesome things") - (@arg CONFIG: -c --config +takes_value "Sets a custom config file") - (@arg INPUT: +required "Sets the input file to use") - (@arg debug: -d ... "Sets the level of debugging information") - (@subcommand test => - (about: "controls testing features") - (version: "1.3") - (author: "Someone E. ") - (@arg verbose: -v --verbose "Print test information verbosely") - ) - ).get_matches(); - - // Same as before... -} -``` - -If you were to compile any of the above programs and run them with the flag `--help` or `-h` (or `help` subcommand, since we defined `test` as a subcommand) the following would be output - -```sh -$ myprog --help -My Super Program 1.0 -Kevin K. -Does awesome things - -USAGE: - MyApp [FLAGS] [OPTIONS] [SUBCOMMAND] - -FLAGS: - -h, --help Prints this message - -v Sets the level of verbosity - -V, --version Prints version information - -OPTIONS: - -c, --config Sets a custom config file - -ARGS: - INPUT The input file to use - -SUBCOMMANDS: - help Prints this message - test Controls testing features -``` - -**NOTE:** You could also run `myapp test --help` to see similar output and options for the `test` subcommand. - -## Try it! - -### Pre-Built Test - -To try out the pre-built example, use the following steps: - -* Clone the repository `$ git clone https://github.com/kbknapp/clap-rs && cd clap-rs/tests` -* Compile the example `$ cargo build --release` -* Run the help info `$ ./target/release/claptests --help` -* Play with the arguments! - -### BYOB (Build Your Own Binary) - -To test out `clap`'s default auto-generated help/version follow these steps: -* Create a new cargo project `$ cargo new fake --bin && cd fake` -* Add `clap` to your `Cargo.toml` -* -```toml -[dependencies] -clap = "2" -``` - -* Add the following to your `src/main.rs` - -```rust -extern crate clap; -use clap::App; - -fn main() { - App::new("fake").version("v1.0-beta").get_matches(); -} -``` - -* Build your program `$ cargo build --release` -* Run with help or version `$ ./target/release/fake --help` or `$ ./target/release/fake --version` - -## Usage - -For full usage, add `clap` as a dependency in your `Cargo.toml` () to use from crates.io: - -```toml -[dependencies] -clap = "~2.27" -``` - -(**note**: If you are concerned with supporting a minimum version of Rust that is *older* than the current stable Rust minus 2 stable releases, it's recommended to use the `~major.minor.patch` style versions in your `Cargo.toml` which will only update the patch version automatically. For more information see the [Compatibility Policy](#compatibility-policy)) - -Then add `extern crate clap;` to your crate root. - -Define a list of valid arguments for your program (see the [documentation](https://docs.rs/clap/) or [examples/](examples) directory of this repo) - -Then run `cargo build` or `cargo update && cargo build` for your project. - -### Optional Dependencies / Features - -#### Features enabled by default - -* **"suggestions"**: Turns on the `Did you mean '--myoption'?` feature for when users make typos. (builds dependency `strsim`) -* **"color"**: Turns on colored error messages. This feature only works on non-Windows OSs. (builds dependency `ansi-term`) -* **"wrap_help"**: Wraps the help at the actual terminal width when available, instead of 120 characters. (builds dependency `term_size`) -* **"vec_map"**: Use [`VecMap`](https://crates.io/crates/vec_map) internally instead of a [`BTreeMap`](https://doc.rust-lang.org/stable/std/collections/struct.BTreeMap.html). This feature provides a _slight_ performance improvement. (builds dependency `vec_map`) - -To disable these, add this to your `Cargo.toml`: - -```toml -[dependencies.clap] -version = "2.27" -default-features = false -``` - -You can also selectively enable only the features you'd like to include, by adding: - -```toml -[dependencies.clap] -version = "2.27" -default-features = false - -# Cherry-pick the features you'd like to use -features = [ "suggestions", "color" ] -``` - -#### Opt-in features - -* **"yaml"**: Enables building CLIs from YAML documents. (builds dependency `yaml-rust`) -* **"unstable"**: Enables unstable `clap` features that may change from release to release - -### Dependencies Tree - -The following graphic depicts `clap`s dependency graph (generated using [cargo-graph](https://github.com/kbknapp/cargo-graph)). - - * **Dashed** Line: Optional dependency - * **Red** Color: **NOT** included by default (must use cargo `features` to enable) - * **Blue** Color: Dev dependency, only used while developing. - -![clap dependencies](clap_dep_graph.png) - -### More Information - -You can find complete documentation on the [docs.rs](https://docs.rs/clap/) for this project. - -You can also find usage examples in the [examples/](examples) directory of this repo. - -#### Video Tutorials - -There's also the video tutorial series [Argument Parsing with Rust v2](https://www.youtube.com/playlist?list=PLza5oFLQGTl2Z5T8g1pRkIynR3E0_pc7U). - -These videos slowly trickle out as I finish them and currently a work in progress. - -## How to Contribute - -Contributions are always welcome! And there is a multitude of ways in which you can help depending on what you like to do, or are good at. Anything from documentation, code cleanup, issue completion, new features, you name it, even filing issues is contributing and greatly appreciated! - -Another really great way to help is if you find an interesting, or helpful way in which to use `clap`. You can either add it to the [examples/](examples) directory, or file an issue and tell me. I'm all about giving credit where credit is due :) - -Please read [CONTRIBUTING.md](.github/CONTRIBUTING.md) before you start contributing. - - -### Testing Code - -To test with all features both enabled and disabled, you can run these commands: - -```sh -$ cargo test --no-default-features -$ cargo test --features "yaml unstable" -``` - -Alternatively, if you have [`just`](https://github.com/casey/just) installed you can run the prebuilt recipes. *Not* using `just` is perfectly fine as well, it simply bundles commands automatically. - -For example, to test the code, as above simply run: - -```sh -$ just run-tests -``` - -From here on, I will list the appropriate `cargo` command as well as the `just` command. - -Sometimes it's helpful to only run a subset of the tests, which can be done via: - -```sh -$ cargo test --test - -# Or - -$ just run-test -``` - -### Linting Code - -During the CI process `clap` runs against many different lints using [`clippy`](https://github.com/Manishearth/rust-clippy). In order to check if these lints pass on your own computer prior to submitting a PR you'll need a nightly compiler. - -In order to check the code for lints run either: - -```sh -$ rustup override add nightly -$ cargo build --features lints -$ rustup override remove - -# Or - -$ just lint -``` - -### Debugging Code - -Another helpful technique is to see the `clap` debug output while developing features. In order to see the debug output while running the full test suite or individual tests, run: - -```sh -$ cargo test --features debug - -# Or for individual tests -$ cargo test --test --features debug - -# The corresponding just command for individual debugging tests is: -$ just debug -``` - -### Goals - -There are a few goals of `clap` that I'd like to maintain throughout contributions. If your proposed changes break, or go against any of these goals we'll discuss the changes further before merging (but will *not* be ignored, all contributes are welcome!). These are by no means hard-and-fast rules, as I'm no expert and break them myself from time to time (even if by mistake or ignorance :P). - -* Remain backwards compatible when possible - - If backwards compatibility *must* be broken, use deprecation warnings if at all possible before removing legacy code - - This does not apply for security concerns -* Parse arguments quickly - - Parsing of arguments shouldn't slow down usage of the main program - - This is also true of generating help and usage information (although *slightly* less stringent, as the program is about to exit) -* Try to be cognizant of memory usage - - Once parsing is complete, the memory footprint of `clap` should be low since the main program is the star of the show -* `panic!` on *developer* error, exit gracefully on *end-user* error - -### Compatibility Policy - -Because `clap` takes SemVer and compatibility seriously, this is the official policy regarding breaking changes and minimum required versions of Rust. - -`clap` will pin the minimum required version of Rust to the CI builds. Bumping the minimum version of Rust is considered a minor breaking change, meaning *at a minimum* the minor version of `clap` will be bumped. - -In order to keep from being surprised of breaking changes, it is **highly** recommended to use the `~major.minor.patch` style in your `Cargo.toml` only if you wish to target a version of Rust that is *older* than current stable minus two releases: - -```toml -[dependencies] -clap = "~2.27" -``` - -This will cause *only* the patch version to be updated upon a `cargo update` call, and therefore cannot break due to new features, or bumped minimum versions of Rust. - -#### Warning about '~' Dependencies - -Using `~` can cause issues in certain circumstances. - -From @alexcrichton: - -Right now Cargo's version resolution is pretty naive, it's just a brute-force search of the solution space, returning the first resolvable graph. This also means that it currently won't terminate until it proves there is not possible resolvable graph. This leads to situations where workspaces with multiple binaries, for example, have two different dependencies such as: - -```toml,no_sync - -# In one Cargo.toml -[dependencies] -clap = "~2.27.0" - -# In another Cargo.toml -[dependencies] -clap = "2.27" - -``` - -This is inherently an unresolvable crate graph in Cargo right now. Cargo requires there's only one major version of a crate, and being in the same workspace these two crates must share a version. This is impossible in this location, though, as these version constraints cannot be met. - -#### Minimum Version of Rust - -`clap` will officially support current stable Rust, minus two releases, but may work with prior releases as well. For example, current stable Rust at the time of this writing is 1.21.0, meaning `clap` is guaranteed to compile with 1.19.0 and beyond. - -At the 1.22.0 stable release, `clap` will be guaranteed to compile with 1.20.0 and beyond, etc. - -Upon bumping the minimum version of Rust (assuming it's within the stable-2 range), it *must* be clearly annotated in the `CHANGELOG.md` - -#### Breaking Changes - -`clap` takes a similar policy to Rust and will bump the major version number upon breaking changes with only the following exceptions: - - * The breaking change is to fix a security concern - * The breaking change is to be fixing a bug (i.e. relying on a bug as a feature) - * The breaking change is a feature isn't used in the wild, or all users of said feature have given approval *prior* to the change - -## License - -`clap` is licensed under the MIT license. Please read the [LICENSE-MIT](LICENSE-MIT) file in this repository for more information. - -## Recent Breaking Changes - -`clap` follows semantic versioning, so breaking changes should only happen upon major version bumps. The only exception to this rule is breaking changes that happen due to implementation that was deemed to be a bug, security concerns, or it can be reasonably proved to affect no code. For the full details, see [CHANGELOG.md](./CHANGELOG.md). - -As of 2.0.0 (From 1.x) - -* **Fewer lifetimes! Yay!** - * `App<'a, 'b, 'c, 'd, 'e, 'f>` => `App<'a, 'b>` - * `Arg<'a, 'b, 'c, 'd, 'e, 'f>` => `Arg<'a, 'b>` - * `ArgMatches<'a, 'b>` => `ArgMatches<'a>` -* **Simply Renamed** - * `App::arg_group` => `App::group` - * `App::arg_groups` => `App::groups` - * `ArgGroup::add` => `ArgGroup::arg` - * `ArgGroup::add_all` => `ArgGroup::args` - * `ClapError` => `Error` - * struct field `ClapError::error_type` => `Error::kind` - * `ClapResult` => `Result` - * `ClapErrorType` => `ErrorKind` -* **Removed Deprecated Functions and Methods** - * `App::subcommands_negate_reqs` - * `App::subcommand_required` - * `App::arg_required_else_help` - * `App::global_version(bool)` - * `App::versionless_subcommands` - * `App::unified_help_messages` - * `App::wait_on_error` - * `App::subcommand_required_else_help` - * `SubCommand::new` - * `App::error_on_no_subcommand` - * `Arg::new` - * `Arg::mutually_excludes` - * `Arg::mutually_excludes_all` - * `Arg::mutually_overrides_with` - * `simple_enum!` -* **Renamed Error Variants** - * `InvalidUnicode` => `InvalidUtf8` - * `InvalidArgument` => `UnknownArgument` -* **Usage Parser** - * Value names can now be specified inline, i.e. `-o, --option 'some option which takes two files'` - * **There is now a priority of order to determine the name** - This is perhaps the biggest breaking change. See the documentation for full details. Prior to this change, the value name took precedence. **Ensure your args are using the proper names (i.e. typically the long or short and NOT the value name) throughout the code** -* `ArgMatches::values_of` returns an `Values` now which implements `Iterator` (should not break any code) -* `crate_version!` returns `&'static str` instead of `String` - -### Deprecations - -Old method names will be left around for several minor version bumps, or one major version bump. - -As of 2.27.0: - -* **AppSettings::PropagateGlobalValuesDown:** this setting deprecated and is no longer required to propagate values down or up diff --git a/vendor/registry-40351f815f426200/clap/SPONSORS.md b/vendor/registry-40351f815f426200/clap/SPONSORS.md deleted file mode 100644 index 397e005a6..000000000 --- a/vendor/registry-40351f815f426200/clap/SPONSORS.md +++ /dev/null @@ -1,7 +0,0 @@ -The following is a list of [sponsors](https://www.clap.rs/sponsor/) for the clap-rs project: - -[Noelia Seva-Gonzalez](http://vsgrealestategroup.com.realproserver.com/About) -Noelia Seva-Gonzalez - -[Rob Tsuk](https://github.com/rtsuk) -Rob Tsuk \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/clap/clap-test.rs b/vendor/registry-40351f815f426200/clap/clap-test.rs deleted file mode 100644 index 2f91b9e81..000000000 --- a/vendor/registry-40351f815f426200/clap/clap-test.rs +++ /dev/null @@ -1,76 +0,0 @@ -#[allow(unused_imports, dead_code)] -mod test { - use std::str; - use std::io::{Cursor, Write}; - - use regex::Regex; - - use clap::{App, Arg, SubCommand, ArgGroup}; - - fn compare(l: S, r: S2) -> bool - where S: AsRef, - S2: AsRef - { - let re = Regex::new("\x1b[^m]*m").unwrap(); - // Strip out any mismatching \r character on windows that might sneak in on either side - let ls = l.as_ref().trim().replace("\r", ""); - let rs = r.as_ref().trim().replace("\r", ""); - let left = re.replace_all(&*ls, ""); - let right = re.replace_all(&*rs, ""); - let b = left == right; - if !b { - println!(""); - println!("--> left"); - println!("{}", left); - println!("--> right"); - println!("{}", right); - println!("--") - } - b - } - - pub fn compare_output(l: App, args: &str, right: &str, stderr: bool) -> bool { - let mut buf = Cursor::new(Vec::with_capacity(50)); - let res = l.get_matches_from_safe(args.split(' ').collect::>()); - let err = res.unwrap_err(); - err.write_to(&mut buf).unwrap(); - let content = buf.into_inner(); - let left = String::from_utf8(content).unwrap(); - assert_eq!(stderr, err.use_stderr()); - compare(left, right) - } - - // Legacy tests from the pyhton script days - - pub fn complex_app() -> App<'static, 'static> { - let args = "-o --option=[opt]... 'tests options' - [positional] 'tests positionals'"; - let opt3_vals = ["fast", "slow"]; - let pos3_vals = ["vi", "emacs"]; - App::new("clap-test") - .version("v1.4.8") - .about("tests clap library") - .author("Kevin K. ") - .args_from_usage(args) - .arg(Arg::from_usage("-f --flag... 'tests flags'") - .global(true)) - .args(&[ - Arg::from_usage("[flag2] -F 'tests flags with exclusions'").conflicts_with("flag").requires("long-option-2"), - Arg::from_usage("--long-option-2 [option2] 'tests long options with exclusions'").conflicts_with("option").requires("positional2"), - Arg::from_usage("[positional2] 'tests positionals with exclusions'"), - Arg::from_usage("-O --Option [option3] 'specific vals'").possible_values(&opt3_vals), - Arg::from_usage("[positional3]... 'tests specific values'").possible_values(&pos3_vals), - Arg::from_usage("--multvals [one] [two] 'Tests mutliple values, not mult occs'"), - Arg::from_usage("--multvalsmo... [one] [two] 'Tests mutliple values, and mult occs'"), - Arg::from_usage("--minvals2 [minvals]... 'Tests 2 min vals'").min_values(2), - Arg::from_usage("--maxvals3 [maxvals]... 'Tests 3 max vals'").max_values(3) - ]) - .subcommand(SubCommand::with_name("subcmd") - .about("tests subcommands") - .version("0.1") - .author("Kevin K. ") - .arg_from_usage("-o --option [scoption]... 'tests options'") - .arg_from_usage("-s --subcmdarg [subcmdarg] 'tests other args'") - .arg_from_usage("[scpositional] 'tests positionals'")) - } -} diff --git a/vendor/registry-40351f815f426200/clap/index.html b/vendor/registry-40351f815f426200/clap/index.html deleted file mode 100644 index 600dff932..000000000 --- a/vendor/registry-40351f815f426200/clap/index.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/vendor/registry-40351f815f426200/clap/justfile b/vendor/registry-40351f815f426200/clap/justfile deleted file mode 100644 index e9385c6bf..000000000 --- a/vendor/registry-40351f815f426200/clap/justfile +++ /dev/null @@ -1,39 +0,0 @@ -@update-contributors: - echo 'Removing old CONTRIBUTORS.md' - mv CONTRIBUTORS.md CONTRIBUTORS.md.bak - echo 'Downloading a list of new contributors' - echo "the following is a list of contributors:" > CONTRIBUTORS.md - echo "" >> CONTRIBUTORS.md - echo "" >> CONTRIBUTORS.md - githubcontrib --owner kbknapp --repo clap-rs --sha master --cols 6 --format md --showlogin true --sortBy contributions --sortOrder desc >> CONTRIBUTORS.md - echo "" >> CONTRIBUTORS.md - echo "" >> CONTRIBUTORS.md - echo "This list was generated by [mgechev/github-contributors-list](https://github.com/mgechev/github-contributors-list)" >> CONTRIBUTORS.md - rm CONTRIBUTORS.md.bak - -run-test TEST: - cargo test --test {{TEST}} - -debug TEST: - cargo test --test {{TEST}} --features debug - -run-tests: - cargo test --features "yaml unstable" - -@bench: nightly - cargo bench && just remove-nightly - -nightly: - rustup override add nightly - -remove-nightly: - rustup override remove - -@lint: nightly - cargo build --features lints && just remove-nightly - -clean: - cargo clean - find . -type f -name "*.orig" -exec rm {} \; - find . -type f -name "*.bk" -exec rm {} \; - find . -type f -name ".*~" -exec rm {} \; diff --git a/vendor/registry-40351f815f426200/clap/rustfmt.toml b/vendor/registry-40351f815f426200/clap/rustfmt.toml deleted file mode 100644 index 0136d86e3..000000000 --- a/vendor/registry-40351f815f426200/clap/rustfmt.toml +++ /dev/null @@ -1,4 +0,0 @@ -format_strings = false -chain_overflow_last = false -same_line_if_else = true -fn_single_line = true diff --git a/vendor/registry-40351f815f426200/clap/src/app/help.rs b/vendor/registry-40351f815f426200/clap/src/app/help.rs deleted file mode 100644 index 2bea1e455..000000000 --- a/vendor/registry-40351f815f426200/clap/src/app/help.rs +++ /dev/null @@ -1,1005 +0,0 @@ -// Std -use std::borrow::Cow; -use std::cmp; -use std::collections::BTreeMap; -use std::fmt::Display; -use std::io::{self, Cursor, Read, Write}; -use std::usize; - -// Internal -use app::{App, AppSettings}; -use app::parser::Parser; -use args::{AnyArg, ArgSettings, DispOrder}; -use errors::{Error, Result as ClapResult}; -use fmt::{Colorizer, ColorizerOption, Format}; -use app::usage; -use map::VecMap; -use INTERNAL_ERROR_MSG; - -// Third Party -use unicode_width::UnicodeWidthStr; -#[cfg(feature = "wrap_help")] -use term_size; -use textwrap; - -#[cfg(not(feature = "wrap_help"))] -mod term_size { - pub fn dimensions() -> Option<(usize, usize)> { None } -} - -fn str_width(s: &str) -> usize { UnicodeWidthStr::width(s) } - -const TAB: &'static str = " "; - -// These are just convenient traits to make the code easier to read. -trait ArgWithDisplay<'b, 'c>: AnyArg<'b, 'c> + Display {} -impl<'b, 'c, T> ArgWithDisplay<'b, 'c> for T -where - T: AnyArg<'b, 'c> + Display, -{ -} - -trait ArgWithOrder<'b, 'c>: ArgWithDisplay<'b, 'c> + DispOrder { - fn as_base(&self) -> &ArgWithDisplay<'b, 'c>; -} -impl<'b, 'c, T> ArgWithOrder<'b, 'c> for T -where - T: ArgWithDisplay<'b, 'c> + DispOrder, -{ - fn as_base(&self) -> &ArgWithDisplay<'b, 'c> { self } -} - -fn as_arg_trait<'a, 'b, T: ArgWithOrder<'a, 'b>>(x: &T) -> &ArgWithOrder<'a, 'b> { x } - -impl<'b, 'c> DispOrder for App<'b, 'c> { - fn disp_ord(&self) -> usize { 999 } -} - -macro_rules! color { - ($_self:ident, $s:expr, $c:ident) => { - if $_self.color { - write!($_self.writer, "{}", $_self.cizer.$c($s)) - } else { - write!($_self.writer, "{}", $s) - } - }; - ($_self:ident, $fmt_s:expr, $v:expr, $c:ident) => { - if $_self.color { - write!($_self.writer, "{}", $_self.cizer.$c(format!($fmt_s, $v))) - } else { - write!($_self.writer, $fmt_s, $v) - } - }; -} - -/// `clap` Help Writer. -/// -/// Wraps a writer stream providing different methods to generate help for `clap` objects. -pub struct Help<'a> { - writer: &'a mut Write, - next_line_help: bool, - hide_pv: bool, - term_w: usize, - color: bool, - cizer: Colorizer, - longest: usize, - force_next_line: bool, - use_long: bool, -} - -// Public Functions -impl<'a> Help<'a> { - /// Create a new `Help` instance. - #[cfg_attr(feature = "cargo-clippy", allow(too_many_arguments))] - pub fn new( - w: &'a mut Write, - next_line_help: bool, - hide_pv: bool, - color: bool, - cizer: Colorizer, - term_w: Option, - max_w: Option, - use_long: bool, - ) -> Self { - debugln!("Help::new;"); - Help { - writer: w, - next_line_help: next_line_help, - hide_pv: hide_pv, - term_w: match term_w { - Some(width) => if width == 0 { - usize::MAX - } else { - width - }, - None => cmp::min( - term_size::dimensions().map_or(120, |(w, _)| w), - match max_w { - None | Some(0) => usize::MAX, - Some(mw) => mw, - }, - ), - }, - color: color, - cizer: cizer, - longest: 0, - force_next_line: false, - use_long: use_long, - } - } - - /// Reads help settings from an App - /// and write its help to the wrapped stream. - pub fn write_app_help(w: &'a mut Write, app: &App, use_long: bool) -> ClapResult<()> { - debugln!("Help::write_app_help;"); - Self::write_parser_help(w, &app.p, use_long) - } - - /// Reads help settings from a Parser - /// and write its help to the wrapped stream. - pub fn write_parser_help(w: &'a mut Write, parser: &Parser, use_long: bool) -> ClapResult<()> { - debugln!("Help::write_parser_help;"); - Self::_write_parser_help(w, parser, false, use_long) - } - - /// Reads help settings from a Parser - /// and write its help to the wrapped stream which will be stderr. This method prevents - /// formatting when required. - pub fn write_parser_help_to_stderr(w: &'a mut Write, parser: &Parser) -> ClapResult<()> { - debugln!("Help::write_parser_help;"); - Self::_write_parser_help(w, parser, true, false) - } - - #[doc(hidden)] - pub fn _write_parser_help( - w: &'a mut Write, - parser: &Parser, - stderr: bool, - use_long: bool, - ) -> ClapResult<()> { - debugln!("Help::write_parser_help;"); - let nlh = parser.is_set(AppSettings::NextLineHelp); - let hide_v = parser.is_set(AppSettings::HidePossibleValuesInHelp); - let color = parser.is_set(AppSettings::ColoredHelp); - let cizer = Colorizer::new(ColorizerOption { - use_stderr: stderr, - when: parser.color(), - }); - Self::new( - w, - nlh, - hide_v, - color, - cizer, - parser.meta.term_w, - parser.meta.max_w, - use_long, - ).write_help(parser) - } - - /// Writes the parser help to the wrapped stream. - pub fn write_help(&mut self, parser: &Parser) -> ClapResult<()> { - debugln!("Help::write_help;"); - if let Some(h) = parser.meta.help_str { - write!(self.writer, "{}", h).map_err(Error::from)?; - } else if let Some(tmpl) = parser.meta.template { - self.write_templated_help(parser, tmpl)?; - } else { - self.write_default_help(parser)?; - } - Ok(()) - } -} - -// Methods to write AnyArg help. -impl<'a> Help<'a> { - /// Writes help for each argument in the order they were declared to the wrapped stream. - fn write_args_unsorted<'b: 'd, 'c: 'd, 'd, I: 'd>(&mut self, args: I) -> io::Result<()> - where - I: Iterator>, - { - debugln!("Help::write_args_unsorted;"); - // The shortest an arg can legally be is 2 (i.e. '-x') - self.longest = 2; - let mut arg_v = Vec::with_capacity(10); - for arg in args.filter(|arg| { - !(arg.is_set(ArgSettings::Hidden)) || arg.is_set(ArgSettings::NextLineHelp) - }) { - if arg.longest_filter() { - self.longest = cmp::max(self.longest, str_width(arg.to_string().as_str())); - } - arg_v.push(arg) - } - let mut first = true; - for arg in arg_v { - if first { - first = false; - } else { - self.writer.write_all(b"\n")?; - } - self.write_arg(arg.as_base())?; - } - Ok(()) - } - - /// Sorts arguments by length and display order and write their help to the wrapped stream. - fn write_args<'b: 'd, 'c: 'd, 'd, I: 'd>(&mut self, args: I) -> io::Result<()> - where - I: Iterator>, - { - debugln!("Help::write_args;"); - // The shortest an arg can legally be is 2 (i.e. '-x') - self.longest = 2; - let mut ord_m = VecMap::new(); - // Determine the longest - for arg in args.filter(|arg| { - // If it's NextLineHelp, but we don't care to compute how long because it may be - // NextLineHelp on purpose *because* it's so long and would throw off all other - // args alignment - !arg.is_set(ArgSettings::Hidden) || arg.is_set(ArgSettings::NextLineHelp) - }) { - if arg.longest_filter() { - debugln!("Help::write_args: Current Longest...{}", self.longest); - self.longest = cmp::max(self.longest, str_width(arg.to_string().as_str())); - debugln!("Help::write_args: New Longest...{}", self.longest); - } - let btm = ord_m.entry(arg.disp_ord()).or_insert(BTreeMap::new()); - btm.insert(arg.name(), arg); - } - let mut first = true; - for btm in ord_m.values() { - for arg in btm.values() { - if first { - first = false; - } else { - self.writer.write_all(b"\n")?; - } - self.write_arg(arg.as_base())?; - } - } - Ok(()) - } - - /// Writes help for an argument to the wrapped stream. - fn write_arg<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> io::Result<()> { - debugln!("Help::write_arg;"); - self.short(arg)?; - self.long(arg)?; - let spec_vals = self.val(arg)?; - self.help(arg, &*spec_vals)?; - Ok(()) - } - - /// Writes argument's short command to the wrapped stream. - fn short<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> io::Result<()> { - debugln!("Help::short;"); - write!(self.writer, "{}", TAB)?; - if let Some(s) = arg.short() { - color!(self, "-{}", s, good) - } else if arg.has_switch() { - write!(self.writer, "{}", TAB) - } else { - Ok(()) - } - } - - /// Writes argument's long command to the wrapped stream. - fn long<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> io::Result<()> { - debugln!("Help::long;"); - if !arg.has_switch() { - return Ok(()); - } - if arg.takes_value() { - if let Some(l) = arg.long() { - if arg.short().is_some() { - write!(self.writer, ", ")?; - } - color!(self, "--{}", l, good)? - } - - let sep = if arg.is_set(ArgSettings::RequireEquals) { - "=" - } else { - " " - }; - write!(self.writer, "{}", sep)?; - } else if let Some(l) = arg.long() { - if arg.short().is_some() { - write!(self.writer, ", ")?; - } - color!(self, "--{}", l, good)?; - } - Ok(()) - } - - /// Writes argument's possible values to the wrapped stream. - fn val<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> Result { - debugln!("Help::val: arg={}", arg); - if arg.takes_value() { - let delim = if arg.is_set(ArgSettings::RequireDelimiter) { - arg.val_delim().expect(INTERNAL_ERROR_MSG) - } else { - ' ' - }; - if let Some(vec) = arg.val_names() { - let mut it = vec.iter().peekable(); - while let Some((_, val)) = it.next() { - color!(self, "<{}>", val, good)?; - if it.peek().is_some() { - write!(self.writer, "{}", delim)?; - } - } - let num = vec.len(); - if arg.is_set(ArgSettings::Multiple) && num == 1 { - color!(self, "...", good)?; - } - } else if let Some(num) = arg.num_vals() { - let mut it = (0..num).peekable(); - while let Some(_) = it.next() { - color!(self, "<{}>", arg.name(), good)?; - if it.peek().is_some() { - write!(self.writer, "{}", delim)?; - } - } - if arg.is_set(ArgSettings::Multiple) && num == 1 { - color!(self, "...", good)?; - } - } else if arg.has_switch() { - color!(self, "<{}>", arg.name(), good)?; - if arg.is_set(ArgSettings::Multiple) { - color!(self, "...", good)?; - } - } else { - color!(self, "{}", arg, good)?; - } - } - - let spec_vals = self.spec_vals(arg); - let h = arg.help().unwrap_or(""); - let h_w = str_width(h) + str_width(&*spec_vals); - let nlh = self.next_line_help || arg.is_set(ArgSettings::NextLineHelp); - let taken = self.longest + 12; - self.force_next_line = !nlh && self.term_w >= taken - && (taken as f32 / self.term_w as f32) > 0.40 - && h_w > (self.term_w - taken); - - debug!("Help::val: Has switch..."); - if arg.has_switch() { - sdebugln!("Yes"); - debugln!("Help::val: force_next_line...{:?}", self.force_next_line); - debugln!("Help::val: nlh...{:?}", nlh); - debugln!("Help::val: taken...{}", taken); - debugln!( - "Help::val: help_width > (width - taken)...{} > ({} - {})", - h_w, - self.term_w, - taken - ); - debugln!("Help::val: longest...{}", self.longest); - debug!("Help::val: next_line..."); - if !(nlh || self.force_next_line) { - sdebugln!("No"); - let self_len = str_width(arg.to_string().as_str()); - // subtract ourself - let mut spcs = self.longest - self_len; - // Since we're writing spaces from the tab point we first need to know if we - // had a long and short, or just short - if arg.long().is_some() { - // Only account 4 after the val - spcs += 4; - } else { - // Only account for ', --' + 4 after the val - spcs += 8; - } - - write_nspaces!(self.writer, spcs); - } else { - sdebugln!("Yes"); - } - } else if !(nlh || self.force_next_line) { - sdebugln!("No, and not next_line"); - write_nspaces!( - self.writer, - self.longest + 4 - (str_width(arg.to_string().as_str())) - ); - } else { - sdebugln!("No"); - } - Ok(spec_vals) - } - - fn write_before_after_help(&mut self, h: &str) -> io::Result<()> { - debugln!("Help::write_before_after_help;"); - let mut help = String::from(h); - // determine if our help fits or needs to wrap - debugln!( - "Help::write_before_after_help: Term width...{}", - self.term_w - ); - let too_long = str_width(h) >= self.term_w; - - debug!("Help::write_before_after_help: Too long..."); - if too_long || h.contains("{n}") { - sdebugln!("Yes"); - debugln!("Help::write_before_after_help: help: {}", help); - debugln!( - "Help::write_before_after_help: help width: {}", - str_width(&*help) - ); - // Determine how many newlines we need to insert - debugln!( - "Help::write_before_after_help: Usable space: {}", - self.term_w - ); - help = wrap_help(&help.replace("{n}", "\n"), self.term_w); - } else { - sdebugln!("No"); - } - write!(self.writer, "{}", help)?; - Ok(()) - } - - /// Writes argument's help to the wrapped stream. - fn help<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>, spec_vals: &str) -> io::Result<()> { - debugln!("Help::help;"); - let h = if self.use_long { - arg.long_help().unwrap_or_else(|| arg.help().unwrap_or("")) - } else { - arg.help().unwrap_or_else(|| arg.long_help().unwrap_or("")) - }; - let mut help = String::from(h) + spec_vals; - let nlh = self.next_line_help || arg.is_set(ArgSettings::NextLineHelp) || self.use_long; - debugln!("Help::help: Next Line...{:?}", nlh); - - let spcs = if nlh || self.force_next_line { - 12 // "tab" * 3 - } else { - self.longest + 12 - }; - - let too_long = spcs + str_width(h) + str_width(&*spec_vals) >= self.term_w; - - // Is help on next line, if so then indent - if nlh || self.force_next_line { - write!(self.writer, "\n{}{}{}", TAB, TAB, TAB)?; - } - - debug!("Help::help: Too long..."); - if too_long && spcs <= self.term_w || h.contains("{n}") { - sdebugln!("Yes"); - debugln!("Help::help: help...{}", help); - debugln!("Help::help: help width...{}", str_width(&*help)); - // Determine how many newlines we need to insert - let avail_chars = self.term_w - spcs; - debugln!("Help::help: Usable space...{}", avail_chars); - help = wrap_help(&help.replace("{n}", "\n"), avail_chars); - } else { - sdebugln!("No"); - } - if let Some(part) = help.lines().next() { - write!(self.writer, "{}", part)?; - } - for part in help.lines().skip(1) { - write!(self.writer, "\n")?; - if nlh || self.force_next_line { - write!(self.writer, "{}{}{}", TAB, TAB, TAB)?; - } else if arg.has_switch() { - write_nspaces!(self.writer, self.longest + 12); - } else { - write_nspaces!(self.writer, self.longest + 8); - } - write!(self.writer, "{}", part)?; - } - if !help.contains('\n') && (nlh || self.force_next_line) { - write!(self.writer, "\n")?; - } - Ok(()) - } - - fn spec_vals(&self, a: &ArgWithDisplay) -> String { - debugln!("Help::spec_vals: a={}", a); - let mut spec_vals = vec![]; - if let Some(ref env) = a.env() { - debugln!( - "Help::spec_vals: Found environment variable...[{:?}:{:?}]", - env.0, - env.1 - ); - spec_vals.push(format!( - " [env:{}: {}]", - env.0.to_string_lossy(), - env.1.map_or(Cow::Borrowed(""), |val| val.to_string_lossy()) - )); - } - if !a.is_set(ArgSettings::HideDefaultValue) { - if let Some(pv) = a.default_val() { - debugln!("Help::spec_vals: Found default value...[{:?}]", pv); - spec_vals.push(format!( - " [default: {}]", - if self.color { - self.cizer.good(pv.to_string_lossy()) - } else { - Format::None(pv.to_string_lossy()) - } - )); - } - } - if let Some(ref aliases) = a.aliases() { - debugln!("Help::spec_vals: Found aliases...{:?}", aliases); - spec_vals.push(format!( - " [aliases: {}]", - if self.color { - aliases - .iter() - .map(|v| format!("{}", self.cizer.good(v))) - .collect::>() - .join(", ") - } else { - aliases.join(", ") - } - )); - } - if !self.hide_pv && !a.is_set(ArgSettings::HidePossibleValues) { - if let Some(pv) = a.possible_vals() { - debugln!("Help::spec_vals: Found possible vals...{:?}", pv); - spec_vals.push(if self.color { - format!( - " [values: {}]", - pv.iter() - .map(|v| format!("{}", self.cizer.good(v))) - .collect::>() - .join(", ") - ) - } else { - format!(" [values: {}]", pv.join(", ")) - }); - } - } - spec_vals.join(" ") - } -} - - -// Methods to write Parser help. -impl<'a> Help<'a> { - /// Writes help for all arguments (options, flags, args, subcommands) - /// including titles of a Parser Object to the wrapped stream. - #[cfg_attr(feature = "lints", allow(useless_let_if_seq))] - #[cfg_attr(feature = "cargo-clippy", allow(useless_let_if_seq))] - pub fn write_all_args(&mut self, parser: &Parser) -> ClapResult<()> { - debugln!("Help::write_all_args;"); - let flags = parser.has_flags(); - let pos = parser - .positionals() - .filter(|arg| !arg.is_set(ArgSettings::Hidden)) - .count() > 0; - let opts = parser.has_opts(); - let subcmds = parser.has_visible_subcommands(); - - let unified_help = parser.is_set(AppSettings::UnifiedHelpMessage); - - let mut first = true; - - if unified_help && (flags || opts) { - let opts_flags = parser - .flags() - .map(as_arg_trait) - .chain(parser.opts().map(as_arg_trait)); - color!(self, "OPTIONS:\n", warning)?; - self.write_args(opts_flags)?; - first = false; - } else { - if flags { - color!(self, "FLAGS:\n", warning)?; - self.write_args(parser.flags().map(as_arg_trait))?; - first = false; - } - if opts { - if !first { - self.writer.write_all(b"\n\n")?; - } - color!(self, "OPTIONS:\n", warning)?; - self.write_args(parser.opts().map(as_arg_trait))?; - first = false; - } - } - - if pos { - if !first { - self.writer.write_all(b"\n\n")?; - } - color!(self, "ARGS:\n", warning)?; - self.write_args_unsorted(parser.positionals().map(as_arg_trait))?; - first = false; - } - - if subcmds { - if !first { - self.writer.write_all(b"\n\n")?; - } - color!(self, "SUBCOMMANDS:\n", warning)?; - self.write_subcommands(parser)?; - } - - Ok(()) - } - - /// Writes help for subcommands of a Parser Object to the wrapped stream. - fn write_subcommands(&mut self, parser: &Parser) -> io::Result<()> { - debugln!("Help::write_subcommands;"); - // The shortest an arg can legally be is 2 (i.e. '-x') - self.longest = 2; - let mut ord_m = VecMap::new(); - for sc in parser - .subcommands - .iter() - .filter(|s| !s.p.is_set(AppSettings::Hidden)) - { - let btm = ord_m.entry(sc.p.meta.disp_ord).or_insert(BTreeMap::new()); - self.longest = cmp::max(self.longest, str_width(sc.p.meta.name.as_str())); - //self.longest = cmp::max(self.longest, sc.p.meta.name.len()); - btm.insert(sc.p.meta.name.clone(), sc.clone()); - } - - let mut first = true; - for btm in ord_m.values() { - for sc in btm.values() { - if first { - first = false; - } else { - self.writer.write_all(b"\n")?; - } - self.write_arg(sc)?; - } - } - Ok(()) - } - - /// Writes version of a Parser Object to the wrapped stream. - fn write_version(&mut self, parser: &Parser) -> io::Result<()> { - debugln!("Help::write_version;"); - write!(self.writer, "{}", parser.meta.version.unwrap_or(""))?; - Ok(()) - } - - /// Writes binary name of a Parser Object to the wrapped stream. - fn write_bin_name(&mut self, parser: &Parser) -> io::Result<()> { - debugln!("Help::write_bin_name;"); - macro_rules! write_name { - () => {{ - let mut name = parser.meta.name.clone(); - name = name.replace("{n}", "\n"); - color!(self, wrap_help(&name, self.term_w), good)?; - }}; - } - if let Some(bn) = parser.meta.bin_name.as_ref() { - if bn.contains(' ') { - // Incase we're dealing with subcommands i.e. git mv is translated to git-mv - color!(self, bn.replace(" ", "-"), good)? - } else { - write_name!(); - } - } else { - write_name!(); - } - Ok(()) - } - - /// Writes default help for a Parser Object to the wrapped stream. - pub fn write_default_help(&mut self, parser: &Parser) -> ClapResult<()> { - debugln!("Help::write_default_help;"); - if let Some(h) = parser.meta.pre_help { - self.write_before_after_help(h)?; - self.writer.write_all(b"\n\n")?; - } - - macro_rules! write_thing { - ($thing:expr) => {{ - let mut owned_thing = $thing.to_owned(); - owned_thing = owned_thing.replace("{n}", "\n"); - write!(self.writer, "{}\n", - wrap_help(&owned_thing, self.term_w))? - }}; - } - // Print the version - self.write_bin_name(parser)?; - self.writer.write_all(b" ")?; - self.write_version(parser)?; - self.writer.write_all(b"\n")?; - if let Some(author) = parser.meta.author { - write_thing!(author) - } - if self.use_long { - if let Some(about) = parser.meta.long_about { - debugln!("Help::write_default_help: writing long about"); - write_thing!(about) - } else if let Some(about) = parser.meta.about { - debugln!("Help::write_default_help: writing about"); - write_thing!(about) - } - } else if let Some(about) = parser.meta.about { - debugln!("Help::write_default_help: writing about"); - write_thing!(about) - } else if let Some(about) = parser.meta.long_about { - debugln!("Help::write_default_help: writing long about"); - write_thing!(about) - } - - color!(self, "\nUSAGE:", warning)?; - write!( - self.writer, - "\n{}{}\n\n", - TAB, - usage::create_usage_no_title(parser, &[]) - )?; - - let flags = parser.has_flags(); - let pos = parser.has_positionals(); - let opts = parser.has_opts(); - let subcmds = parser.has_subcommands(); - - if flags || opts || pos || subcmds { - self.write_all_args(parser)?; - } - - if let Some(h) = parser.meta.more_help { - if flags || opts || pos || subcmds { - self.writer.write_all(b"\n\n")?; - } - self.write_before_after_help(h)?; - } - - self.writer.flush().map_err(Error::from) - } -} - -/// Possible results for a copying function that stops when a given -/// byte was found. -enum CopyUntilResult { - DelimiterFound(usize), - DelimiterNotFound(usize), - ReaderEmpty, - ReadError(io::Error), - WriteError(io::Error), -} - -/// Copies the contents of a reader into a writer until a delimiter byte is found. -/// On success, the total number of bytes that were -/// copied from reader to writer is returned. -fn copy_until(r: &mut R, w: &mut W, delimiter_byte: u8) -> CopyUntilResult { - debugln!("copy_until;"); - - let mut count = 0; - for wb in r.bytes() { - match wb { - Ok(b) => { - if b == delimiter_byte { - return CopyUntilResult::DelimiterFound(count); - } - match w.write(&[b]) { - Ok(c) => count += c, - Err(e) => return CopyUntilResult::WriteError(e), - } - } - Err(e) => return CopyUntilResult::ReadError(e), - } - } - if count > 0 { - CopyUntilResult::DelimiterNotFound(count) - } else { - CopyUntilResult::ReaderEmpty - } -} - -/// Copies the contents of a reader into a writer until a {tag} is found, -/// copying the tag content to a buffer and returning its size. -/// In addition to errors, there are three possible outputs: -/// - `None`: The reader was consumed. -/// - `Some(Ok(0))`: No tag was captured but the reader still contains data. -/// - `Some(Ok(length>0))`: a tag with `length` was captured to the `tag_buffer`. -fn copy_and_capture( - r: &mut R, - w: &mut W, - tag_buffer: &mut Cursor>, -) -> Option> { - use self::CopyUntilResult::*; - debugln!("copy_and_capture;"); - - // Find the opening byte. - match copy_until(r, w, b'{') { - // The end of the reader was reached without finding the opening tag. - // (either with or without having copied data to the writer) - // Return None indicating that we are done. - ReaderEmpty | DelimiterNotFound(_) => None, - - // Something went wrong. - ReadError(e) | WriteError(e) => Some(Err(e)), - - // The opening byte was found. - // (either with or without having copied data to the writer) - DelimiterFound(_) => { - // Lets reset the buffer first and find out how long it is. - tag_buffer.set_position(0); - let buffer_size = tag_buffer.get_ref().len(); - - // Find the closing byte,limiting the reader to the length of the buffer. - let mut rb = r.take(buffer_size as u64); - match copy_until(&mut rb, tag_buffer, b'}') { - // We were already at the end of the reader. - // Return None indicating that we are done. - ReaderEmpty => None, - - // The closing tag was found. - // Return the tag_length. - DelimiterFound(tag_length) => Some(Ok(tag_length)), - - // The end of the reader was found without finding the closing tag. - // Write the opening byte and captured text to the writer. - // Return 0 indicating that nothing was caputred but the reader still contains data. - DelimiterNotFound(not_tag_length) => match w.write(b"{") { - Err(e) => Some(Err(e)), - _ => match w.write(&tag_buffer.get_ref()[0..not_tag_length]) { - Err(e) => Some(Err(e)), - _ => Some(Ok(0)), - }, - }, - - ReadError(e) | WriteError(e) => Some(Err(e)), - } - } - } -} - - -// Methods to write Parser help using templates. -impl<'a> Help<'a> { - /// Write help to stream for the parser in the format defined by the template. - /// - /// Tags arg given inside curly brackets: - /// Valid tags are: - /// * `{bin}` - Binary name. - /// * `{version}` - Version number. - /// * `{author}` - Author information. - /// * `{usage}` - Automatically generated or given usage string. - /// * `{all-args}` - Help for all arguments (options, flags, positionals arguments, - /// and subcommands) including titles. - /// * `{unified}` - Unified help for options and flags. - /// * `{flags}` - Help for flags. - /// * `{options}` - Help for options. - /// * `{positionals}` - Help for positionals arguments. - /// * `{subcommands}` - Help for subcommands. - /// * `{after-help}` - Info to be displayed after the help message. - /// * `{before-help}` - Info to be displayed before the help message. - /// - /// The template system is, on purpose, very simple. Therefore the tags have to writen - /// in the lowercase and without spacing. - fn write_templated_help(&mut self, parser: &Parser, template: &str) -> ClapResult<()> { - debugln!("Help::write_templated_help;"); - let mut tmplr = Cursor::new(&template); - let mut tag_buf = Cursor::new(vec![0u8; 15]); - - // The strategy is to copy the template from the the reader to wrapped stream - // until a tag is found. Depending on its value, the appropriate content is copied - // to the wrapped stream. - // The copy from template is then resumed, repeating this sequence until reading - // the complete template. - - loop { - let tag_length = match copy_and_capture(&mut tmplr, &mut self.writer, &mut tag_buf) { - None => return Ok(()), - Some(Err(e)) => return Err(Error::from(e)), - Some(Ok(val)) if val > 0 => val, - _ => continue, - }; - - debugln!("Help::write_template_help:iter: tag_buf={};", unsafe { - String::from_utf8_unchecked( - tag_buf.get_ref()[0..tag_length] - .iter() - .map(|&i| i) - .collect::>(), - ) - }); - match &tag_buf.get_ref()[0..tag_length] { - b"?" => { - self.writer.write_all(b"Could not decode tag name")?; - } - b"bin" => { - self.write_bin_name(parser)?; - } - b"version" => { - write!( - self.writer, - "{}", - parser.meta.version.unwrap_or("unknown version") - )?; - } - b"author" => { - write!( - self.writer, - "{}", - parser.meta.author.unwrap_or("unknown author") - )?; - } - b"about" => { - write!( - self.writer, - "{}", - parser.meta.about.unwrap_or("unknown about") - )?; - } - b"long-about" => { - write!( - self.writer, - "{}", - parser.meta.long_about.unwrap_or("unknown about") - )?; - } - b"usage" => { - write!(self.writer, "{}", usage::create_usage_no_title(parser, &[]))?; - } - b"all-args" => { - self.write_all_args(parser)?; - } - b"unified" => { - let opts_flags = parser - .flags() - .map(as_arg_trait) - .chain(parser.opts().map(as_arg_trait)); - self.write_args(opts_flags)?; - } - b"flags" => { - self.write_args(parser.flags().map(as_arg_trait))?; - } - b"options" => { - self.write_args(parser.opts().map(as_arg_trait))?; - } - b"positionals" => { - self.write_args(parser.positionals().map(as_arg_trait))?; - } - b"subcommands" => { - self.write_subcommands(parser)?; - } - b"after-help" => { - write!( - self.writer, - "{}", - parser.meta.more_help.unwrap_or("unknown after-help") - )?; - } - b"before-help" => { - write!( - self.writer, - "{}", - parser.meta.pre_help.unwrap_or("unknown before-help") - )?; - } - // Unknown tag, write it back. - r => { - self.writer.write_all(b"{")?; - self.writer.write_all(r)?; - self.writer.write_all(b"}")?; - } - } - } - } -} - -fn wrap_help(help: &str, avail_chars: usize) -> String { - let wrapper = textwrap::Wrapper::new(avail_chars).break_words(false); - help.lines() - .map(|line| wrapper.fill(line)) - .collect::>() - .join("\n") -} - -#[cfg(test)] -mod test { - use super::wrap_help; - - #[test] - fn wrap_help_last_word() { - let help = String::from("foo bar baz"); - assert_eq!(wrap_help(&help, 5), "foo\nbar\nbaz"); - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/app/macros.rs b/vendor/registry-40351f815f426200/clap/src/app/macros.rs deleted file mode 100644 index 099f326e4..000000000 --- a/vendor/registry-40351f815f426200/clap/src/app/macros.rs +++ /dev/null @@ -1,165 +0,0 @@ -macro_rules! remove_overriden { - (@remove_requires $rem_from:expr, $a:ident.$ov:ident) => { - if let Some(ora) = $a.$ov() { - for i in (0 .. $rem_from.len()).rev() { - let should_remove = ora.iter().any(|&(_, ref name)| name == &$rem_from[i]); - if should_remove { $rem_from.swap_remove(i); } - } - } - }; - (@remove $rem_from:expr, $a:ident.$ov:ident) => { - if let Some(ora) = $a.$ov() { - vec_remove_all!($rem_from, ora.iter()); - } - }; - (@arg $_self:ident, $arg:ident) => { - remove_overriden!(@remove_requires $_self.required, $arg.requires); - remove_overriden!(@remove $_self.blacklist, $arg.blacklist); - remove_overriden!(@remove $_self.overrides, $arg.overrides); - }; - ($_self:ident, $name:expr) => { - debugln!("remove_overriden!;"); - if let Some(o) = $_self.opts.iter() .find(|o| o.b.name == *$name) { - remove_overriden!(@arg $_self, o); - } else if let Some(f) = $_self.flags.iter() .find(|f| f.b.name == *$name) { - remove_overriden!(@arg $_self, f); - } else { - let p = $_self.positionals.values() - .find(|p| p.b.name == *$name) - .expect(INTERNAL_ERROR_MSG); - remove_overriden!(@arg $_self, p); - } - }; -} - -macro_rules! arg_post_processing { - ($me:ident, $arg:ident, $matcher:ident) => { - debugln!("arg_post_processing!;"); - // Handle POSIX overrides - debug!("arg_post_processing!: Is '{}' in overrides...", $arg.to_string()); - if $me.overrides.contains(&$arg.name()) { - if let Some(ref name) = find_name_from!($me, &$arg.name(), overrides, $matcher) { - sdebugln!("Yes by {}", name); - $matcher.remove(name); - remove_overriden!($me, name); - } - } else { sdebugln!("No"); } - - // Add overrides - debug!("arg_post_processing!: Does '{}' have overrides...", $arg.to_string()); - if let Some(or) = $arg.overrides() { - sdebugln!("Yes"); - $matcher.remove_all(or); - for pa in or { remove_overriden!($me, pa); } - $me.overrides.extend(or); - vec_remove_all!($me.required, or.iter()); - } else { sdebugln!("No"); } - - // Handle conflicts - debug!("arg_post_processing!: Does '{}' have conflicts...", $arg.to_string()); - if let Some(bl) = $arg.blacklist() { - sdebugln!("Yes"); - - for c in bl { - // Inject two-way conflicts - debug!("arg_post_processing!: Has '{}' already been matched...", c); - if $matcher.contains(c) { - sdebugln!("Yes"); - // find who blacklisted us... - $me.blacklist.push(&$arg.b.name); - } else { - sdebugln!("No"); - } - } - - $me.blacklist.extend_from_slice(bl); - vec_remove_all!($me.overrides, bl.iter()); - // vec_remove_all!($me.required, bl.iter()); - } else { sdebugln!("No"); } - - // Add all required args which aren't already found in matcher to the master - // list - debug!("arg_post_processing!: Does '{}' have requirements...", $arg.to_string()); - if let Some(reqs) = $arg.requires() { - for n in reqs.iter() - .filter(|&&(val, _)| val.is_none()) - .filter(|&&(_, req)| !$matcher.contains(&req)) - .map(|&(_, name)| name) { - - $me.required.push(n); - } - } else { sdebugln!("No"); } - - _handle_group_reqs!($me, $arg); - }; -} - -macro_rules! _handle_group_reqs{ - ($me:ident, $arg:ident) => ({ - use args::AnyArg; - debugln!("_handle_group_reqs!;"); - for grp in &$me.groups { - let found = if grp.args.contains(&$arg.name()) { - if let Some(ref reqs) = grp.requires { - debugln!("_handle_group_reqs!: Adding {:?} to the required list", reqs); - $me.required.extend(reqs); - } - if let Some(ref bl) = grp.conflicts { - $me.blacklist.extend(bl); - } - true // What if arg is in more than one group with different reqs? - } else { - false - }; - debugln!("_handle_group_reqs!:iter: grp={}, found={:?}", grp.name, found); - if found { - for i in (0 .. $me.required.len()).rev() { - let should_remove = grp.args.contains(&$me.required[i]); - if should_remove { $me.required.swap_remove(i); } - } - debugln!("_handle_group_reqs!:iter: Adding args from group to blacklist...{:?}", grp.args); - if !grp.multiple { - $me.blacklist.extend(&grp.args); - debugln!("_handle_group_reqs!: removing {:?} from blacklist", $arg.name()); - for i in (0 .. $me.blacklist.len()).rev() { - let should_remove = $me.blacklist[i] == $arg.name(); - if should_remove { $me.blacklist.swap_remove(i); } - } - } - } - } - }) -} - -macro_rules! parse_positional { - ( - $_self:ident, - $p:ident, - $arg_os:ident, - $pos_counter:ident, - $matcher:ident - ) => { - debugln!("parse_positional!;"); - - if !$_self.is_set(AS::TrailingValues) && - ($_self.is_set(AS::TrailingVarArg) && - $pos_counter == $_self.positionals.len()) { - $_self.settings.set(AS::TrailingValues); - } - let _ = $_self.add_val_to_arg($p, &$arg_os, $matcher)?; - - $matcher.inc_occurrence_of($p.b.name); - let _ = $_self.groups_for_arg($p.b.name) - .and_then(|vec| Some($matcher.inc_occurrences_of(&*vec))); - if $_self.cache.map_or(true, |name| name != $p.b.name) { - arg_post_processing!($_self, $p, $matcher); - $_self.cache = Some($p.b.name); - } - - $_self.settings.set(AS::ValidArgFound); - // Only increment the positional counter if it doesn't allow multiples - if !$p.b.settings.is_set(ArgSettings::Multiple) { - $pos_counter += 1; - } - }; -} diff --git a/vendor/registry-40351f815f426200/clap/src/app/meta.rs b/vendor/registry-40351f815f426200/clap/src/app/meta.rs deleted file mode 100644 index 6fbf412ce..000000000 --- a/vendor/registry-40351f815f426200/clap/src/app/meta.rs +++ /dev/null @@ -1,27 +0,0 @@ -#[doc(hidden)] -#[allow(missing_debug_implementations)] -#[derive(Default, Clone)] -pub struct AppMeta<'b> { - pub name: String, - pub bin_name: Option, - pub author: Option<&'b str>, - pub version: Option<&'b str>, - pub long_version: Option<&'b str>, - pub about: Option<&'b str>, - pub long_about: Option<&'b str>, - pub more_help: Option<&'b str>, - pub pre_help: Option<&'b str>, - pub aliases: Option>, // (name, visible) - pub usage_str: Option<&'b str>, - pub usage: Option, - pub help_str: Option<&'b str>, - pub disp_ord: usize, - pub term_w: Option, - pub max_w: Option, - pub template: Option<&'b str>, -} - -impl<'b> AppMeta<'b> { - pub fn new() -> Self { Default::default() } - pub fn with_name(s: String) -> Self { AppMeta { name: s, disp_ord: 999, ..Default::default() } } -} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/clap/src/app/mod.rs b/vendor/registry-40351f815f426200/clap/src/app/mod.rs deleted file mode 100644 index d08f9de00..000000000 --- a/vendor/registry-40351f815f426200/clap/src/app/mod.rs +++ /dev/null @@ -1,1818 +0,0 @@ -mod settings; -#[macro_use] -mod macros; -pub mod parser; -mod meta; -mod help; -mod validator; -mod usage; - -// Std -use std::env; -use std::ffi::{OsStr, OsString}; -use std::fmt; -use std::io::{self, BufRead, BufWriter, Write}; -use std::path::Path; -use std::process; -use std::rc::Rc; -use std::result::Result as StdResult; - -// Third Party -#[cfg(feature = "yaml")] -use yaml_rust::Yaml; - -// Internal -use app::help::Help; -use app::parser::Parser; -use args::{AnyArg, Arg, ArgGroup, ArgMatcher, ArgMatches, ArgSettings}; -use errors::Result as ClapResult; -pub use self::settings::AppSettings; -use completions::Shell; -use map::{self, VecMap}; - -/// Used to create a representation of a command line program and all possible command line -/// arguments. Application settings are set using the "builder pattern" with the -/// [`App::get_matches`] family of methods being the terminal methods that starts the -/// runtime-parsing process. These methods then return information about the user supplied -/// arguments (or lack there of). -/// -/// **NOTE:** There aren't any mandatory "options" that one must set. The "options" may -/// also appear in any order (so long as one of the [`App::get_matches`] methods is the last method -/// called). -/// -/// # Examples -/// -/// ```no_run -/// # use clap::{App, Arg}; -/// let m = App::new("My Program") -/// .author("Me, me@mail.com") -/// .version("1.0.2") -/// .about("Explains in brief what the program does") -/// .arg( -/// Arg::with_name("in_file").index(1) -/// ) -/// .after_help("Longer explanation to appear after the options when \ -/// displaying the help information from --help or -h") -/// .get_matches(); -/// -/// // Your program logic starts here... -/// ``` -/// [`App::get_matches`]: ./struct.App.html#method.get_matches -#[allow(missing_debug_implementations)] -pub struct App<'a, 'b> - where 'a: 'b -{ - #[doc(hidden)] - pub p: Parser<'a, 'b>, -} - - -impl<'a, 'b> App<'a, 'b> { - /// Creates a new instance of an application requiring a name. The name may be, but doesn't - /// have to be same as the binary. The name will be displayed to the user when they request to - /// print version or help and usage information. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// let prog = App::new("My Program") - /// # ; - /// ``` - pub fn new>(n: S) -> Self { App { p: Parser::with_name(n.into()) } } - - /// Get the name of the app - pub fn get_name(&self) -> &str { &self.p.meta.name } - - /// Get the name of the binary - pub fn get_bin_name(&self) -> Option<&str> { self.p.meta.bin_name.as_ref().map(|s| s.as_str()) } - - /// Creates a new instance of an application requiring a name, but uses the [`crate_authors!`] - /// and [`crate_version!`] macros to fill in the [`App::author`] and [`App::version`] fields. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// let prog = App::with_defaults("My Program") - /// # ; - /// ``` - /// [`crate_authors!`]: ./macro.crate_authors!.html - /// [`crate_version!`]: ./macro.crate_version!.html - /// [`App::author`]: ./struct.App.html#method.author - /// [`App::version`]: ./struct.App.html#method.author - #[deprecated(since="2.14.1", note="Can never work; use explicit App::author() and App::version() calls instead")] - pub fn with_defaults>(n: S) -> Self { - let mut a = App { p: Parser::with_name(n.into()) }; - a.p.meta.author = Some("Kevin K. "); - a.p.meta.version = Some("2.19.2"); - a - } - - /// Creates a new instance of [`App`] from a .yml (YAML) file. A full example of supported YAML - /// objects can be found in [`examples/17_yaml.rs`] and [`examples/17_yaml.yml`]. One great use - /// for using YAML is when supporting multiple languages and dialects, as each language could - /// be a distinct YAML file and determined at compiletime via `cargo` "features" in your - /// `Cargo.toml` - /// - /// In order to use this function you must compile `clap` with the `features = ["yaml"]` in - /// your settings for the `[dependencies.clap]` table of your `Cargo.toml` - /// - /// **NOTE:** Due to how the YAML objects are built there is a convenience macro for loading - /// the YAML file at compile time (relative to the current file, like modules work). That YAML - /// object can then be passed to this function. - /// - /// # Panics - /// - /// The YAML file must be properly formatted or this function will [`panic!`]. A good way to - /// ensure this doesn't happen is to run your program with the `--help` switch. If this passes - /// without error, you needn't worry because the YAML is properly formatted. - /// - /// # Examples - /// - /// The following example shows how to load a properly formatted YAML file to build an instance - /// of an [`App`] struct. - /// - /// ```ignore - /// # #[macro_use] - /// # extern crate clap; - /// # use clap::App; - /// # fn main() { - /// let yml = load_yaml!("app.yml"); - /// let app = App::from_yaml(yml); - /// - /// // continued logic goes here, such as `app.get_matches()` etc. - /// # } - /// ``` - /// [`App`]: ./struct.App.html - /// [`examples/17_yaml.rs`]: https://github.com/kbknapp/clap-rs/blob/master/examples/17_yaml.rs - /// [`examples/17_yaml.yml`]: https://github.com/kbknapp/clap-rs/blob/master/examples/17_yaml.yml - /// [`panic!`]: https://doc.rust-lang.org/std/macro.panic!.html - #[cfg(feature = "yaml")] - pub fn from_yaml(yaml: &'a Yaml) -> App<'a, 'a> { App::from(yaml) } - - /// Sets a string of author(s) that will be displayed to the user when they - /// request the help information with `--help` or `-h`. - /// - /// **Pro-tip:** Use `clap`s convenience macro [`crate_authors!`] to automatically set your - /// application's author(s) to the same thing as your crate at compile time. See the [`examples/`] - /// directory for more information - /// - /// See the [`examples/`] - /// directory for more information - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// App::new("myprog") - /// .author("Me, me@mymain.com") - /// # ; - /// ``` - /// [`crate_authors!`]: ./macro.crate_authors!.html - /// [`examples/`]: https://github.com/kbknapp/clap-rs/tree/master/examples - pub fn author>(mut self, author: S) -> Self { - self.p.meta.author = Some(author.into()); - self - } - - /// Overrides the system-determined binary name. This should only be used when absolutely - /// necessary, such as when the binary name for your application is misleading, or perhaps - /// *not* how the user should invoke your program. - /// - /// **Pro-tip:** When building things such as third party `cargo` subcommands, this setting - /// **should** be used! - /// - /// **NOTE:** This command **should not** be used for [`SubCommand`]s. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// App::new("My Program") - /// .bin_name("my_binary") - /// # ; - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - pub fn bin_name>(mut self, name: S) -> Self { - self.p.meta.bin_name = Some(name.into()); - self - } - - /// Sets a string describing what the program does. This will be displayed when displaying help - /// information with `-h`. - /// - /// **NOTE:** If only `about` is provided, and not [`App::long_about`] but the user requests - /// `--help` clap will still display the contents of `about` appropriately - /// - /// **NOTE:** Only [`App::about`] is used in completion script generation in order to be - /// concise - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// App::new("myprog") - /// .about("Does really amazing things to great people") - /// # ; - /// ``` - /// [`App::long_about`]: ./struct.App.html#method.long_about - pub fn about>(mut self, about: S) -> Self { - self.p.meta.about = Some(about.into()); - self - } - - /// Sets a string describing what the program does. This will be displayed when displaying help - /// information. - /// - /// **NOTE:** If only `long_about` is provided, and not [`App::about`] but the user requests - /// `-h` clap will still display the contents of `long_about` appropriately - /// - /// **NOTE:** Only [`App::about`] is used in completion script generation in order to be - /// concise - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// App::new("myprog") - /// .long_about( - /// "Does really amazing things to great people. Now let's talk a little - /// more in depth about how this subcommand really works. It may take about - /// a few lines of text, but that's ok!") - /// # ; - /// ``` - /// [`App::about`]: ./struct.App.html#method.about - pub fn long_about>(mut self, about: S) -> Self { - self.p.meta.long_about = Some(about.into()); - self - } - - /// Sets the program's name. This will be displayed when displaying help information. - /// - /// **Pro-top:** This function is particularly useful when configuring a program via - /// [`App::from_yaml`] in conjunction with the [`crate_name!`] macro to derive the program's - /// name from its `Cargo.toml`. - /// - /// # Examples - /// ```ignore - /// # #[macro_use] - /// # extern crate clap; - /// # use clap::App; - /// # fn main() { - /// let yml = load_yaml!("app.yml"); - /// let app = App::from_yaml(yml) - /// .name(crate_name!()); - /// - /// // continued logic goes here, such as `app.get_matches()` etc. - /// # } - /// ``` - /// - /// [`App::from_yaml`]: ./struct.App.html#method.from_yaml - /// [`crate_name!`]: ./macro.crate_name.html - pub fn name>(mut self, name: S) -> Self { - self.p.meta.name = name.into(); - self - } - - /// Adds additional help information to be displayed in addition to auto-generated help. This - /// information is displayed **after** the auto-generated help information. This is often used - /// to describe how to use the arguments, or caveats to be noted. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::App; - /// App::new("myprog") - /// .after_help("Does really amazing things to great people...but be careful with -R") - /// # ; - /// ``` - pub fn after_help>(mut self, help: S) -> Self { - self.p.meta.more_help = Some(help.into()); - self - } - - /// Adds additional help information to be displayed in addition to auto-generated help. This - /// information is displayed **before** the auto-generated help information. This is often used - /// for header information. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::App; - /// App::new("myprog") - /// .before_help("Some info I'd like to appear before the help info") - /// # ; - /// ``` - pub fn before_help>(mut self, help: S) -> Self { - self.p.meta.pre_help = Some(help.into()); - self - } - - /// Sets a string of the version number to be displayed when displaying version or help - /// information with `-V`. - /// - /// **NOTE:** If only `version` is provided, and not [`App::long_version`] but the user - /// requests `--version` clap will still display the contents of `version` appropriately - /// - /// **Pro-tip:** Use `clap`s convenience macro [`crate_version!`] to automatically set your - /// application's version to the same thing as your crate at compile time. See the [`examples/`] - /// directory for more information - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// App::new("myprog") - /// .version("v0.1.24") - /// # ; - /// ``` - /// [`crate_version!`]: ./macro.crate_version!.html - /// [`examples/`]: https://github.com/kbknapp/clap-rs/tree/master/examples - /// [`App::long_version`]: ./struct.App.html#method.long_version - pub fn version>(mut self, ver: S) -> Self { - self.p.meta.version = Some(ver.into()); - self - } - - /// Sets a string of the version number to be displayed when displaying version or help - /// information with `--version`. - /// - /// **NOTE:** If only `long_version` is provided, and not [`App::version`] but the user - /// requests `-V` clap will still display the contents of `long_version` appropriately - /// - /// **Pro-tip:** Use `clap`s convenience macro [`crate_version!`] to automatically set your - /// application's version to the same thing as your crate at compile time. See the [`examples/`] - /// directory for more information - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// App::new("myprog") - /// .long_version( - /// "v0.1.24 - /// commit: abcdef89726d - /// revision: 123 - /// release: 2 - /// binary: myprog") - /// # ; - /// ``` - /// [`crate_version!`]: ./macro.crate_version!.html - /// [`examples/`]: https://github.com/kbknapp/clap-rs/tree/master/examples - /// [`App::version`]: ./struct.App.html#method.version - pub fn long_version>(mut self, ver: S) -> Self { - self.p.meta.long_version = Some(ver.into()); - self - } - - /// Sets a custom usage string to override the auto-generated usage string. - /// - /// This will be displayed to the user when errors are found in argument parsing, or when you - /// call [`ArgMatches::usage`] - /// - /// **CAUTION:** Using this setting disables `clap`s "context-aware" usage strings. After this - /// setting is set, this will be the only usage string displayed to the user! - /// - /// **NOTE:** You do not need to specify the "USAGE: \n\t" portion, as that will - /// still be applied by `clap`, you only need to specify the portion starting - /// with the binary name. - /// - /// **NOTE:** This will not replace the entire help message, *only* the portion - /// showing the usage. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// App::new("myprog") - /// .usage("myapp [-clDas] ") - /// # ; - /// ``` - /// [`ArgMatches::usage`]: ./struct.ArgMatches.html#method.usage - pub fn usage>(mut self, usage: S) -> Self { - self.p.meta.usage_str = Some(usage.into()); - self - } - - /// Sets a custom help message and overrides the auto-generated one. This should only be used - /// when the auto-generated message does not suffice. - /// - /// This will be displayed to the user when they use `--help` or `-h` - /// - /// **NOTE:** This replaces the **entire** help message, so nothing will be auto-generated. - /// - /// **NOTE:** This **only** replaces the help message for the current command, meaning if you - /// are using subcommands, those help messages will still be auto-generated unless you - /// specify a [`Arg::help`] for them as well. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// App::new("myapp") - /// .help("myapp v1.0\n\ - /// Does awesome things\n\ - /// (C) me@mail.com\n\n\ - /// - /// USAGE: myapp \n\n\ - /// - /// Options:\n\ - /// -h, --helpe Dispay this message\n\ - /// -V, --version Display version info\n\ - /// -s Do something with stuff\n\ - /// -v Be verbose\n\n\ - /// - /// Commmands:\n\ - /// help Prints this message\n\ - /// work Do some work") - /// # ; - /// ``` - /// [`Arg::help`]: ./struct.Arg.html#method.help - pub fn help>(mut self, help: S) -> Self { - self.p.meta.help_str = Some(help.into()); - self - } - - /// Sets the [`short`] for the auto-generated `help` argument. - /// - /// By default `clap` automatically assigns `h`, but this can be overridden if you have a - /// different argument which you'd prefer to use the `-h` short with. This can be done by - /// defining your own argument with a lowercase `h` as the [`short`]. - /// - /// `clap` lazily generates these `help` arguments **after** you've defined any arguments of - /// your own. - /// - /// **NOTE:** Any leading `-` characters will be stripped, and only the first - /// non `-` character will be used as the [`short`] version - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// App::new("myprog") - /// .help_short("H") // Using an uppercase `H` instead of the default lowercase `h` - /// # ; - /// ``` - /// [`short`]: ./struct.Arg.html#method.short - pub fn help_short + 'b>(mut self, s: S) -> Self { - self.p.help_short(s.as_ref()); - self - } - - /// Sets the [`short`] for the auto-generated `version` argument. - /// - /// By default `clap` automatically assigns `V`, but this can be overridden if you have a - /// different argument which you'd prefer to use the `-V` short with. This can be done by - /// defining your own argument with an uppercase `V` as the [`short`]. - /// - /// `clap` lazily generates these `version` arguments **after** you've defined any arguments of - /// your own. - /// - /// **NOTE:** Any leading `-` characters will be stripped, and only the first - /// non `-` character will be used as the `short` version - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// App::new("myprog") - /// .version_short("v") // Using a lowercase `v` instead of the default capital `V` - /// # ; - /// ``` - /// [`short`]: ./struct.Arg.html#method.short - pub fn version_short>(mut self, s: S) -> Self { - self.p.version_short(s.as_ref()); - self - } - - /// Sets the help text for the auto-generated `help` argument. - /// - /// By default `clap` sets this to `"Prints help information"`, but if you're using a - /// different convention for your help messages and would prefer a different phrasing you can - /// override it. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// App::new("myprog") - /// .help_message("Print help information") // Perhaps you want imperative help messages - /// - /// # ; - /// ``` - pub fn help_message>(mut self, s: S) -> Self { - self.p.help_message = Some(s.into()); - self - } - - /// Sets the help text for the auto-generated `version` argument. - /// - /// By default `clap` sets this to `"Prints version information"`, but if you're using a - /// different convention for your help messages and would prefer a different phrasing then you - /// can change it. - /// - /// # Examples - /// ```no_run - /// # use clap::{App, Arg}; - /// App::new("myprog") - /// .version_message("Print version information") // Perhaps you want imperative help messages - /// # ; - /// ``` - pub fn version_message>(mut self, s: S) -> Self { - self.p.version_message = Some(s.into()); - self - } - - /// Sets the help template to be used, overriding the default format. - /// - /// Tags arg given inside curly brackets. - /// - /// Valid tags are: - /// - /// * `{bin}` - Binary name. - /// * `{version}` - Version number. - /// * `{author}` - Author information. - /// * `{about}` - General description (from [`App::about`]) - /// * `{usage}` - Automatically generated or given usage string. - /// * `{all-args}` - Help for all arguments (options, flags, positionals arguments, - /// and subcommands) including titles. - /// * `{unified}` - Unified help for options and flags. Note, you must *also* set - /// [`AppSettings::UnifiedHelpMessage`] to fully merge both options and - /// flags, otherwise the ordering is "best effort" - /// * `{flags}` - Help for flags. - /// * `{options}` - Help for options. - /// * `{positionals}` - Help for positionals arguments. - /// * `{subcommands}` - Help for subcommands. - /// * `{after-help}` - Help from [`App::after_help`] - /// * `{before-help}` - Help from [`App::before_help`] - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// App::new("myprog") - /// .version("1.0") - /// .template("{bin} ({version}) - {usage}") - /// # ; - /// ``` - /// **NOTE:**The template system is, on purpose, very simple. Therefore the tags have to writen - /// in the lowercase and without spacing. - /// [`App::about`]: ./struct.App.html#method.about - /// [`App::after_help`]: ./struct.App.html#method.after_help - /// [`App::before_help`]: ./struct.App.html#method.before_help - /// [`AppSettings::UnifiedHelpMessage`]: ./enum.AppSettings.html#variant.UnifiedHelpMessage - pub fn template>(mut self, s: S) -> Self { - self.p.meta.template = Some(s.into()); - self - } - - /// Enables a single command, or [`SubCommand`], level settings. - /// - /// See [`AppSettings`] for a full list of possibilities and examples. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, AppSettings}; - /// App::new("myprog") - /// .setting(AppSettings::SubcommandRequired) - /// .setting(AppSettings::WaitOnError) - /// # ; - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - /// [`AppSettings`]: ./enum.AppSettings.html - pub fn setting(mut self, setting: AppSettings) -> Self { - self.p.set(setting); - self - } - - /// Enables multiple command, or [`SubCommand`], level settings - /// - /// See [`AppSettings`] for a full list of possibilities and examples. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, AppSettings}; - /// App::new("myprog") - /// .settings(&[AppSettings::SubcommandRequired, - /// AppSettings::WaitOnError]) - /// # ; - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - /// [`AppSettings`]: ./enum.AppSettings.html - pub fn settings(mut self, settings: &[AppSettings]) -> Self { - for s in settings { - self.p.set(*s); - } - self - } - - /// Enables a single setting that is propagated down through all child [`SubCommand`]s. - /// - /// See [`AppSettings`] for a full list of possibilities and examples. - /// - /// **NOTE**: The setting is *only* propagated *down* and not up through parent commands. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, AppSettings}; - /// App::new("myprog") - /// .global_setting(AppSettings::SubcommandRequired) - /// # ; - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - /// [`AppSettings`]: ./enum.AppSettings.html - pub fn global_setting(mut self, setting: AppSettings) -> Self { - self.p.set(setting); - self.p.g_settings.set(setting); - self - } - - /// Enables multiple settings which are propagated *down* through all child [`SubCommand`]s. - /// - /// See [`AppSettings`] for a full list of possibilities and examples. - /// - /// **NOTE**: The setting is *only* propagated *down* and not up through parent commands. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, AppSettings}; - /// App::new("myprog") - /// .global_settings(&[AppSettings::SubcommandRequired, - /// AppSettings::ColoredHelp]) - /// # ; - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - /// [`AppSettings`]: ./enum.AppSettings.html - pub fn global_settings(mut self, settings: &[AppSettings]) -> Self { - for s in settings { - self.p.set(*s); - self.p.g_settings.set(*s) - } - self - } - - /// Disables a single command, or [`SubCommand`], level setting. - /// - /// See [`AppSettings`] for a full list of possibilities and examples. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, AppSettings}; - /// App::new("myprog") - /// .unset_setting(AppSettings::ColorAuto) - /// # ; - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - /// [`AppSettings`]: ./enum.AppSettings.html - pub fn unset_setting(mut self, setting: AppSettings) -> Self { - self.p.unset(setting); - self - } - - /// Disables multiple command, or [`SubCommand`], level settings. - /// - /// See [`AppSettings`] for a full list of possibilities and examples. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, AppSettings}; - /// App::new("myprog") - /// .unset_settings(&[AppSettings::ColorAuto, - /// AppSettings::AllowInvalidUtf8]) - /// # ; - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - /// [`AppSettings`]: ./enum.AppSettings.html - pub fn unset_settings(mut self, settings: &[AppSettings]) -> Self { - for s in settings { - self.p.unset(*s); - } - self - } - - /// Sets the terminal width at which to wrap help messages. Defaults to `120`. Using `0` will - /// ignore terminal widths and use source formatting. - /// - /// `clap` automatically tries to determine the terminal width on Unix, Linux, OSX and Windows - /// if the `wrap_help` cargo "feature" has been used while compiling. If the terminal width - /// cannot be determined, `clap` defaults to `120`. - /// - /// **NOTE:** This setting applies globally and *not* on a per-command basis. - /// - /// **NOTE:** This setting must be set **before** any subcommands are added! - /// - /// # Platform Specific - /// - /// Only Unix, Linux, OSX and Windows support automatic determination of terminal width. - /// Even on those platforms, this setting is useful if for any reason the terminal width - /// cannot be determined. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::App; - /// App::new("myprog") - /// .set_term_width(80) - /// # ; - /// ``` - pub fn set_term_width(mut self, width: usize) -> Self { - self.p.meta.term_w = Some(width); - self - } - - /// Sets the max terminal width at which to wrap help messages. Using `0` will ignore terminal - /// widths and use source formatting. - /// - /// `clap` automatically tries to determine the terminal width on Unix, Linux, OSX and Windows - /// if the `wrap_help` cargo "feature" has been used while compiling, but one might want to - /// limit the size (e.g. when the terminal is running fullscreen). - /// - /// **NOTE:** This setting applies globally and *not* on a per-command basis. - /// - /// **NOTE:** This setting must be set **before** any subcommands are added! - /// - /// # Platform Specific - /// - /// Only Unix, Linux, OSX and Windows support automatic determination of terminal width. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::App; - /// App::new("myprog") - /// .max_term_width(100) - /// # ; - /// ``` - pub fn max_term_width(mut self, w: usize) -> Self { - self.p.meta.max_w = Some(w); - self - } - - /// Adds an [argument] to the list of valid possibilities. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// App::new("myprog") - /// // Adding a single "flag" argument with a short and help text, using Arg::with_name() - /// .arg( - /// Arg::with_name("debug") - /// .short("d") - /// .help("turns on debugging mode") - /// ) - /// // Adding a single "option" argument with a short, a long, and help text using the less - /// // verbose Arg::from_usage() - /// .arg( - /// Arg::from_usage("-c --config=[CONFIG] 'Optionally sets a config file to use'") - /// ) - /// # ; - /// ``` - /// [argument]: ./struct.Arg.html - pub fn arg>>(mut self, a: A) -> Self { - self.p.add_arg(a.into()); - self - } - - /// Adds multiple [arguments] to the list of valid possibilties - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// App::new("myprog") - /// .args( - /// &[Arg::from_usage("[debug] -d 'turns on debugging info'"), - /// Arg::with_name("input").index(1).help("the input file to use")] - /// ) - /// # ; - /// ``` - /// [arguments]: ./struct.Arg.html - pub fn args(mut self, args: &[Arg<'a, 'b>]) -> Self { - for arg in args { - self.p.add_arg_ref(arg); - } - self - } - - /// A convenience method for adding a single [argument] from a usage type string. The string - /// used follows the same rules and syntax as [`Arg::from_usage`] - /// - /// **NOTE:** The downside to using this method is that you can not set any additional - /// properties of the [`Arg`] other than what [`Arg::from_usage`] supports. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// App::new("myprog") - /// .arg_from_usage("-c --config= 'Sets a configuration file to use'") - /// # ; - /// ``` - /// [arguments]: ./struct.Arg.html - /// [`Arg`]: ./struct.Arg.html - /// [`Arg::from_usage`]: ./struct.Arg.html#method.from_usage - pub fn arg_from_usage(mut self, usage: &'a str) -> Self { - self.p.add_arg(Arg::from_usage(usage)); - self - } - - /// Adds multiple [arguments] at once from a usage string, one per line. See - /// [`Arg::from_usage`] for details on the syntax and rules supported. - /// - /// **NOTE:** Like [`App::arg_from_usage`] the downside is you only set properties for the - /// [`Arg`]s which [`Arg::from_usage`] supports. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// App::new("myprog") - /// .args_from_usage( - /// "-c --config=[FILE] 'Sets a configuration file to use' - /// [debug]... -d 'Sets the debugging level' - /// 'The input file to use'" - /// ) - /// # ; - /// ``` - /// [arguments]: ./struct.Arg.html - /// [`Arg::from_usage`]: ./struct.Arg.html#method.from_usage - /// [`App::arg_from_usage`]: ./struct.App.html#method.arg_from_usage - /// [`Arg`]: ./struct.Arg.html - pub fn args_from_usage(mut self, usage: &'a str) -> Self { - for line in usage.lines() { - let l = line.trim(); - if l.is_empty() { - continue; - } - self.p.add_arg(Arg::from_usage(l)); - } - self - } - - /// Allows adding a [`SubCommand`] alias, which function as "hidden" subcommands that - /// automatically dispatch as if this subcommand was used. This is more efficient, and easier - /// than creating multiple hidden subcommands as one only needs to check for the existence of - /// this command, and not all variants. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, SubCommand}; - /// let m = App::new("myprog") - /// .subcommand(SubCommand::with_name("test") - /// .alias("do-stuff")) - /// .get_matches_from(vec!["myprog", "do-stuff"]); - /// assert_eq!(m.subcommand_name(), Some("test")); - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - pub fn alias>(mut self, name: S) -> Self { - if let Some(ref mut als) = self.p.meta.aliases { - als.push((name.into(), false)); - } else { - self.p.meta.aliases = Some(vec![(name.into(), false)]); - } - self - } - - /// Allows adding [`SubCommand`] aliases, which function as "hidden" subcommands that - /// automatically dispatch as if this subcommand was used. This is more efficient, and easier - /// than creating multiple hidden subcommands as one only needs to check for the existence of - /// this command, and not all variants. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, SubCommand}; - /// let m = App::new("myprog") - /// .subcommand(SubCommand::with_name("test") - /// .aliases(&["do-stuff", "do-tests", "tests"])) - /// .arg(Arg::with_name("input") - /// .help("the file to add") - /// .index(1) - /// .required(false)) - /// .get_matches_from(vec!["myprog", "do-tests"]); - /// assert_eq!(m.subcommand_name(), Some("test")); - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - pub fn aliases(mut self, names: &[&'b str]) -> Self { - if let Some(ref mut als) = self.p.meta.aliases { - for n in names { - als.push((n, false)); - } - } else { - self.p.meta.aliases = Some(names.iter().map(|n| (*n, false)).collect::>()); - } - self - } - - /// Allows adding a [`SubCommand`] alias that functions exactly like those defined with - /// [`App::alias`], except that they are visible inside the help message. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, SubCommand}; - /// let m = App::new("myprog") - /// .subcommand(SubCommand::with_name("test") - /// .visible_alias("do-stuff")) - /// .get_matches_from(vec!["myprog", "do-stuff"]); - /// assert_eq!(m.subcommand_name(), Some("test")); - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - /// [`App::alias`]: ./struct.App.html#method.alias - pub fn visible_alias>(mut self, name: S) -> Self { - if let Some(ref mut als) = self.p.meta.aliases { - als.push((name.into(), true)); - } else { - self.p.meta.aliases = Some(vec![(name.into(), true)]); - } - self - } - - /// Allows adding multiple [`SubCommand`] aliases that functions exactly like those defined - /// with [`App::aliases`], except that they are visible inside the help message. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, SubCommand}; - /// let m = App::new("myprog") - /// .subcommand(SubCommand::with_name("test") - /// .visible_aliases(&["do-stuff", "tests"])) - /// .get_matches_from(vec!["myprog", "do-stuff"]); - /// assert_eq!(m.subcommand_name(), Some("test")); - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - /// [`App::aliases`]: ./struct.App.html#method.aliases - pub fn visible_aliases(mut self, names: &[&'b str]) -> Self { - if let Some(ref mut als) = self.p.meta.aliases { - for n in names { - als.push((n, true)); - } - } else { - self.p.meta.aliases = Some(names.iter().map(|n| (*n, true)).collect::>()); - } - self - } - - /// Adds an [`ArgGroup`] to the application. [`ArgGroup`]s are a family of related arguments. - /// By placing them in a logical group, you can build easier requirement and exclusion rules. - /// For instance, you can make an entire [`ArgGroup`] required, meaning that one (and *only* - /// one) argument from that group must be present at runtime. - /// - /// You can also do things such as name an [`ArgGroup`] as a conflict to another argument. - /// Meaning any of the arguments that belong to that group will cause a failure if present with - /// the conflicting argument. - /// - /// Another added benfit of [`ArgGroup`]s is that you can extract a value from a group instead - /// of determining exactly which argument was used. - /// - /// Finally, using [`ArgGroup`]s to ensure exclusion between arguments is another very common - /// use - /// - /// # Examples - /// - /// The following example demonstrates using an [`ArgGroup`] to ensure that one, and only one, - /// of the arguments from the specified group is present at runtime. - /// - /// ```no_run - /// # use clap::{App, ArgGroup}; - /// App::new("app") - /// .args_from_usage( - /// "--set-ver [ver] 'set the version manually' - /// --major 'auto increase major' - /// --minor 'auto increase minor' - /// --patch 'auto increase patch'") - /// .group(ArgGroup::with_name("vers") - /// .args(&["set-ver", "major", "minor","patch"]) - /// .required(true)) - /// # ; - /// ``` - /// [`ArgGroup`]: ./struct.ArgGroup.html - pub fn group(mut self, group: ArgGroup<'a>) -> Self { - self.p.add_group(group); - self - } - - /// Adds multiple [`ArgGroup`]s to the [`App`] at once. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, ArgGroup}; - /// App::new("app") - /// .args_from_usage( - /// "--set-ver [ver] 'set the version manually' - /// --major 'auto increase major' - /// --minor 'auto increase minor' - /// --patch 'auto increase patch' - /// -c [FILE] 'a config file' - /// -i [IFACE] 'an interface'") - /// .groups(&[ - /// ArgGroup::with_name("vers") - /// .args(&["set-ver", "major", "minor","patch"]) - /// .required(true), - /// ArgGroup::with_name("input") - /// .args(&["c", "i"]) - /// ]) - /// # ; - /// ``` - /// [`ArgGroup`]: ./struct.ArgGroup.html - /// [`App`]: ./struct.App.html - pub fn groups(mut self, groups: &[ArgGroup<'a>]) -> Self { - for g in groups { - self = self.group(g.into()); - } - self - } - - /// Adds a [`SubCommand`] to the list of valid possibilities. Subcommands are effectively - /// sub-[`App`]s, because they can contain their own arguments, subcommands, version, usage, - /// etc. They also function just like [`App`]s, in that they get their own auto generated help, - /// version, and usage. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, SubCommand}; - /// App::new("myprog") - /// .subcommand(SubCommand::with_name("config") - /// .about("Controls configuration features") - /// .arg_from_usage(" 'Required configuration file to use'")) - /// # ; - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - /// [`App`]: ./struct.App.html - pub fn subcommand(mut self, subcmd: App<'a, 'b>) -> Self { - self.p.add_subcommand(subcmd); - self - } - - /// Adds multiple subcommands to the list of valid possibilities by iterating over an - /// [`IntoIterator`] of [`SubCommand`]s - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, SubCommand}; - /// # App::new("myprog") - /// .subcommands( vec![ - /// SubCommand::with_name("config").about("Controls configuration functionality") - /// .arg(Arg::with_name("config_file").index(1)), - /// SubCommand::with_name("debug").about("Controls debug functionality")]) - /// # ; - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - /// [`IntoIterator`]: https://doc.rust-lang.org/std/iter/trait.IntoIterator.html - pub fn subcommands(mut self, subcmds: I) -> Self - where I: IntoIterator> - { - for subcmd in subcmds { - self.p.add_subcommand(subcmd); - } - self - } - - /// Allows custom ordering of [`SubCommand`]s within the help message. Subcommands with a lower - /// value will be displayed first in the help message. This is helpful when one would like to - /// emphasise frequently used subcommands, or prioritize those towards the top of the list. - /// Duplicate values **are** allowed. Subcommands with duplicate display orders will be - /// displayed in alphabetical order. - /// - /// **NOTE:** The default is 999 for all subcommands. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, SubCommand}; - /// let m = App::new("cust-ord") - /// .subcommand(SubCommand::with_name("alpha") // typically subcommands are grouped - /// // alphabetically by name. Subcommands - /// // without a display_order have a value of - /// // 999 and are displayed alphabetically with - /// // all other 999 subcommands - /// .about("Some help and text")) - /// .subcommand(SubCommand::with_name("beta") - /// .display_order(1) // In order to force this subcommand to appear *first* - /// // all we have to do is give it a value lower than 999. - /// // Any other subcommands with a value of 1 will be displayed - /// // alphabetically with this one...then 2 values, then 3, etc. - /// .about("I should be first!")) - /// .get_matches_from(vec![ - /// "cust-ord", "--help" - /// ]); - /// ``` - /// - /// The above example displays the following help message - /// - /// ```text - /// cust-ord - /// - /// USAGE: - /// cust-ord [FLAGS] [OPTIONS] - /// - /// FLAGS: - /// -h, --help Prints help information - /// -V, --version Prints version information - /// - /// SUBCOMMANDS: - /// beta I should be first! - /// alpha Some help and text - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - pub fn display_order(mut self, ord: usize) -> Self { - self.p.meta.disp_ord = ord; - self - } - - /// Prints the full help message to [`io::stdout()`] using a [`BufWriter`] using the same - /// method as if someone ran `-h` to request the help message - /// - /// **NOTE:** clap has the ability to distinguish between "short" and "long" help messages - /// depending on if the user ran [`-h` (short)] or [`--help` (long)] - /// - /// # Examples - /// - /// ```rust - /// # use clap::App; - /// let mut app = App::new("myprog"); - /// app.print_help(); - /// ``` - /// [`io::stdout()`]: https://doc.rust-lang.org/std/io/fn.stdout.html - /// [`BufWriter`]: https://doc.rust-lang.org/std/io/struct.BufWriter.html - /// [`-h` (short)]: ./struct.Arg.html#method.help - /// [`--help` (long)]: ./struct.Arg.html#method.long_help - pub fn print_help(&mut self) -> ClapResult<()> { - // If there are global arguments, or settings we need to propgate them down to subcommands - // before parsing incase we run into a subcommand - self.p.propagate_globals(); - self.p.propagate_settings(); - self.p.derive_display_order(); - - self.p.create_help_and_version(); - let out = io::stdout(); - let mut buf_w = BufWriter::new(out.lock()); - self.write_help(&mut buf_w) - } - - /// Prints the full help message to [`io::stdout()`] using a [`BufWriter`] using the same - /// method as if someone ran `--help` to request the help message - /// - /// **NOTE:** clap has the ability to distinguish between "short" and "long" help messages - /// depending on if the user ran [`-h` (short)] or [`--help` (long)] - /// - /// # Examples - /// - /// ```rust - /// # use clap::App; - /// let mut app = App::new("myprog"); - /// app.print_long_help(); - /// ``` - /// [`io::stdout()`]: https://doc.rust-lang.org/std/io/fn.stdout.html - /// [`BufWriter`]: https://doc.rust-lang.org/std/io/struct.BufWriter.html - /// [`-h` (short)]: ./struct.Arg.html#method.help - /// [`--help` (long)]: ./struct.Arg.html#method.long_help - pub fn print_long_help(&mut self) -> ClapResult<()> { - // If there are global arguments, or settings we need to propgate them down to subcommands - // before parsing incase we run into a subcommand - self.p.propagate_globals(); - self.p.propagate_settings(); - self.p.derive_display_order(); - - self.p.create_help_and_version(); - let out = io::stdout(); - let mut buf_w = BufWriter::new(out.lock()); - self.write_long_help(&mut buf_w) - } - - /// Writes the full help message to the user to a [`io::Write`] object in the same method as if - /// the user ran `-h` - /// - /// **NOTE:** clap has the ability to distinguish between "short" and "long" help messages - /// depending on if the user ran [`-h` (short)] or [`--help` (long)] - /// - /// **NOTE:** There is a known bug where this method does not write propagated global arguments - /// or autogenerated arguments (i.e. the default help/version args). Prefer - /// [`App::write_long_help`] instead if possibe! - /// - /// # Examples - /// - /// ```rust - /// # use clap::App; - /// use std::io; - /// let mut app = App::new("myprog"); - /// let mut out = io::stdout(); - /// app.write_help(&mut out).expect("failed to write to stdout"); - /// ``` - /// [`io::Write`]: https://doc.rust-lang.org/std/io/trait.Write.html - /// [`-h` (short)]: ./struct.Arg.html#method.help - /// [`--help` (long)]: ./struct.Arg.html#method.long_help - pub fn write_help(&self, w: &mut W) -> ClapResult<()> { - // PENDING ISSUE: 808 - // https://github.com/kbknapp/clap-rs/issues/808 - // If there are global arguments, or settings we need to propgate them down to subcommands - // before parsing incase we run into a subcommand - // self.p.propagate_globals(); - // self.p.propagate_settings(); - // self.p.derive_display_order(); - // self.p.create_help_and_version(); - - Help::write_app_help(w, self, false) - } - - /// Writes the full help message to the user to a [`io::Write`] object in the same method as if - /// the user ran `--help` - /// - /// **NOTE:** clap has the ability to distinguish between "short" and "long" help messages - /// depending on if the user ran [`-h` (short)] or [`--help` (long)] - /// - /// # Examples - /// - /// ```rust - /// # use clap::App; - /// use std::io; - /// let mut app = App::new("myprog"); - /// let mut out = io::stdout(); - /// app.write_long_help(&mut out).expect("failed to write to stdout"); - /// ``` - /// [`io::Write`]: https://doc.rust-lang.org/std/io/trait.Write.html - /// [`-h` (short)]: ./struct.Arg.html#method.help - /// [`--help` (long)]: ./struct.Arg.html#method.long_help - pub fn write_long_help(&mut self, w: &mut W) -> ClapResult<()> { - self.p.propagate_globals(); - self.p.propagate_settings(); - self.p.derive_display_order(); - self.p.create_help_and_version(); - - Help::write_app_help(w, self, true) - } - - /// Writes the version message to the user to a [`io::Write`] object as if the user ran `-V`. - /// - /// **NOTE:** clap has the ability to distinguish between "short" and "long" version messages - /// depending on if the user ran [`-V` (short)] or [`--version` (long)] - /// - /// # Examples - /// - /// ```rust - /// # use clap::App; - /// use std::io; - /// let mut app = App::new("myprog"); - /// let mut out = io::stdout(); - /// app.write_version(&mut out).expect("failed to write to stdout"); - /// ``` - /// [`io::Write`]: https://doc.rust-lang.org/std/io/trait.Write.html - /// [`-V` (short)]: ./struct.App.html#method.version - /// [`--version` (long)]: ./struct.App.html#method.long_version - pub fn write_version(&self, w: &mut W) -> ClapResult<()> { - self.p.write_version(w, false).map_err(From::from) - } - - /// Writes the version message to the user to a [`io::Write`] object - /// - /// **NOTE:** clap has the ability to distinguish between "short" and "long" version messages - /// depending on if the user ran [`-V` (short)] or [`--version` (long)] - /// - /// # Examples - /// - /// ```rust - /// # use clap::App; - /// use std::io; - /// let mut app = App::new("myprog"); - /// let mut out = io::stdout(); - /// app.write_long_version(&mut out).expect("failed to write to stdout"); - /// ``` - /// [`io::Write`]: https://doc.rust-lang.org/std/io/trait.Write.html - /// [`-V` (short)]: ./struct.App.html#method.version - /// [`--version` (long)]: ./struct.App.html#method.long_version - pub fn write_long_version(&self, w: &mut W) -> ClapResult<()> { - self.p.write_version(w, true).map_err(From::from) - } - - /// Generate a completions file for a specified shell at compile time. - /// - /// **NOTE:** to generate the this file at compile time you must use a `build.rs` "Build Script" - /// - /// # Examples - /// - /// The following example generates a bash completion script via a `build.rs` script. In this - /// simple example, we'll demo a very small application with only a single subcommand and two - /// args. Real applications could be many multiple levels deep in subcommands, and have tens or - /// potentially hundreds of arguments. - /// - /// First, it helps if we separate out our `App` definition into a separate file. Whether you - /// do this as a function, or bare App definition is a matter of personal preference. - /// - /// ``` - /// // src/cli.rs - /// - /// use clap::{App, Arg, SubCommand}; - /// - /// pub fn build_cli() -> App<'static, 'static> { - /// App::new("compl") - /// .about("Tests completions") - /// .arg(Arg::with_name("file") - /// .help("some input file")) - /// .subcommand(SubCommand::with_name("test") - /// .about("tests things") - /// .arg(Arg::with_name("case") - /// .long("case") - /// .takes_value(true) - /// .help("the case to test"))) - /// } - /// ``` - /// - /// In our regular code, we can simply call this `build_cli()` function, then call - /// `get_matches()`, or any of the other normal methods directly after. For example: - /// - /// ```ignore - /// // src/main.rs - /// - /// mod cli; - /// - /// fn main() { - /// let m = cli::build_cli().get_matches(); - /// - /// // normal logic continues... - /// } - /// ``` - /// - /// Next, we set up our `Cargo.toml` to use a `build.rs` build script. - /// - /// ```toml - /// # Cargo.toml - /// build = "build.rs" - /// - /// [build-dependencies] - /// clap = "2.23" - /// ``` - /// - /// Next, we place a `build.rs` in our project root. - /// - /// ```ignore - /// extern crate clap; - /// - /// use clap::Shell; - /// - /// include!("src/cli.rs"); - /// - /// fn main() { - /// let outdir = match env::var_os("OUT_DIR") { - /// None => return, - /// Some(outdir) => outdir, - /// }; - /// let mut app = build_cli(); - /// app.gen_completions("myapp", // We need to specify the bin name manually - /// Shell::Bash, // Then say which shell to build completions for - /// outdir); // Then say where write the completions to - /// } - /// ``` - /// Now, once we combile there will be a `{bin_name}.bash-completion` file in the directory. - /// Assuming we compiled with debug mode, it would be somewhere similar to - /// `/target/debug/build/myapp-/out/myapp.bash-completion`. - /// - /// Fish shell completions will use the file format `{bin_name}.fish` - pub fn gen_completions, S: Into>(&mut self, - bin_name: S, - for_shell: Shell, - out_dir: T) { - self.p.meta.bin_name = Some(bin_name.into()); - self.p.gen_completions(for_shell, out_dir.into()); - } - - - /// Generate a completions file for a specified shell at runtime. Until `cargo install` can - /// install extra files like a completion script, this may be used e.g. in a command that - /// outputs the contents of the completion script, to be redirected into a file by the user. - /// - /// # Examples - /// - /// Assuming a separate `cli.rs` like the [example above](./struct.App.html#method.gen_completions), - /// we can let users generate a completion script using a command: - /// - /// ```ignore - /// // src/main.rs - /// - /// mod cli; - /// use std::io; - /// - /// fn main() { - /// let matches = cli::build_cli().get_matches(); - /// - /// if matches.is_present("generate-bash-completions") { - /// cli::build_cli().gen_completions_to("myapp", Shell::Bash, &mut io::stdout()); - /// } - /// - /// // normal logic continues... - /// } - /// - /// ``` - /// - /// Usage: - /// - /// ```shell - /// $ myapp generate-bash-completions > /etc/bash_completion.d/myapp - /// ``` - pub fn gen_completions_to>(&mut self, - bin_name: S, - for_shell: Shell, - buf: &mut W) { - self.p.meta.bin_name = Some(bin_name.into()); - self.p.gen_completions_to(for_shell, buf); - } - - /// Starts the parsing process, upon a failed parse an error will be displayed to the user and - /// the process will exit with the appropriate error code. By default this method gets all user - /// provided arguments from [`env::args_os`] in order to allow for invalid UTF-8 code points, - /// which are legal on many platforms. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// let matches = App::new("myprog") - /// // Args and options go here... - /// .get_matches(); - /// ``` - /// [`env::args_os`]: https://doc.rust-lang.org/std/env/fn.args_os.html - pub fn get_matches(self) -> ArgMatches<'a> { self.get_matches_from(&mut env::args_os()) } - - /// Starts the parsing process. This method will return a [`clap::Result`] type instead of exiting - /// the process on failed parse. By default this method gets matches from [`env::args_os`] - /// - /// **NOTE:** This method WILL NOT exit when `--help` or `--version` (or short versions) are - /// used. It will return a [`clap::Error`], where the [`kind`] is a - /// [`ErrorKind::HelpDisplayed`] or [`ErrorKind::VersionDisplayed`] respectively. You must call - /// [`Error::exit`] or perform a [`std::process::exit`]. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// let matches = App::new("myprog") - /// // Args and options go here... - /// .get_matches_safe() - /// .unwrap_or_else( |e| e.exit() ); - /// ``` - /// [`env::args_os`]: https://doc.rust-lang.org/std/env/fn.args_os.html - /// [`ErrorKind::HelpDisplayed`]: ./enum.ErrorKind.html#variant.HelpDisplayed - /// [`ErrorKind::VersionDisplayed`]: ./enum.ErrorKind.html#variant.VersionDisplayed - /// [`Error::exit`]: ./struct.Error.html#method.exit - /// [`std::process::exit`]: https://doc.rust-lang.org/std/process/fn.exit.html - /// [`clap::Result`]: ./type.Result.html - /// [`clap::Error`]: ./struct.Error.html - /// [`kind`]: ./struct.Error.html - pub fn get_matches_safe(self) -> ClapResult> { - // Start the parsing - self.get_matches_from_safe(&mut env::args_os()) - } - - /// Starts the parsing process. Like [`App::get_matches`] this method does not return a [`clap::Result`] - /// and will automatically exit with an error message. This method, however, lets you specify - /// what iterator to use when performing matches, such as a [`Vec`] of your making. - /// - /// **NOTE:** The first argument will be parsed as the binary name unless - /// [`AppSettings::NoBinaryName`] is used - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// let arg_vec = vec!["my_prog", "some", "args", "to", "parse"]; - /// - /// let matches = App::new("myprog") - /// // Args and options go here... - /// .get_matches_from(arg_vec); - /// ``` - /// [`App::get_matches`]: ./struct.App.html#method.get_matches - /// [`clap::Result`]: ./type.Result.html - /// [`Vec`]: https://doc.rust-lang.org/std/vec/struct.Vec.html - /// [`AppSettings::NoBinaryName`]: ./enum.AppSettings.html#variant.NoBinaryName - pub fn get_matches_from(mut self, itr: I) -> ArgMatches<'a> - where I: IntoIterator, - T: Into + Clone - { - self.get_matches_from_safe_borrow(itr).unwrap_or_else(|e| { - // Otherwise, write to stderr and exit - if e.use_stderr() { - wlnerr!("{}", e.message); - if self.p.is_set(AppSettings::WaitOnError) { - wlnerr!("\nPress [ENTER] / [RETURN] to continue..."); - let mut s = String::new(); - let i = io::stdin(); - i.lock().read_line(&mut s).unwrap(); - } - drop(self); - drop(e); - process::exit(1); - } - - drop(self); - e.exit() - }) - } - - /// Starts the parsing process. A combination of [`App::get_matches_from`], and - /// [`App::get_matches_safe`] - /// - /// **NOTE:** This method WILL NOT exit when `--help` or `--version` (or short versions) are - /// used. It will return a [`clap::Error`], where the [`kind`] is a [`ErrorKind::HelpDisplayed`] - /// or [`ErrorKind::VersionDisplayed`] respectively. You must call [`Error::exit`] or - /// perform a [`std::process::exit`] yourself. - /// - /// **NOTE:** The first argument will be parsed as the binary name unless - /// [`AppSettings::NoBinaryName`] is used - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// let arg_vec = vec!["my_prog", "some", "args", "to", "parse"]; - /// - /// let matches = App::new("myprog") - /// // Args and options go here... - /// .get_matches_from_safe(arg_vec) - /// .unwrap_or_else( |e| { panic!("An error occurs: {}", e) }); - /// ``` - /// [`App::get_matches_from`]: ./struct.App.html#method.get_matches_from - /// [`App::get_matches_safe`]: ./struct.App.html#method.get_matches_safe - /// [`ErrorKind::HelpDisplayed`]: ./enum.ErrorKind.html#variant.HelpDisplayed - /// [`ErrorKind::VersionDisplayed`]: ./enum.ErrorKind.html#variant.VersionDisplayed - /// [`Error::exit`]: ./struct.Error.html#method.exit - /// [`std::process::exit`]: https://doc.rust-lang.org/std/process/fn.exit.html - /// [`clap::Error`]: ./struct.Error.html - /// [`Error::exit`]: ./struct.Error.html#method.exit - /// [`kind`]: ./struct.Error.html - /// [`AppSettings::NoBinaryName`]: ./enum.AppSettings.html#variant.NoBinaryName - pub fn get_matches_from_safe(mut self, itr: I) -> ClapResult> - where I: IntoIterator, - T: Into + Clone - { - self.get_matches_from_safe_borrow(itr) - } - - /// Starts the parsing process without consuming the [`App`] struct `self`. This is normally not - /// the desired functionality, instead prefer [`App::get_matches_from_safe`] which *does* - /// consume `self`. - /// - /// **NOTE:** The first argument will be parsed as the binary name unless - /// [`AppSettings::NoBinaryName`] is used - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg}; - /// let arg_vec = vec!["my_prog", "some", "args", "to", "parse"]; - /// - /// let mut app = App::new("myprog"); - /// // Args and options go here... - /// let matches = app.get_matches_from_safe_borrow(arg_vec) - /// .unwrap_or_else( |e| { panic!("An error occurs: {}", e) }); - /// ``` - /// [`App`]: ./struct.App.html - /// [`App::get_matches_from_safe`]: ./struct.App.html#method.get_matches_from_safe - /// [`AppSettings::NoBinaryName`]: ./enum.AppSettings.html#variant.NoBinaryName - pub fn get_matches_from_safe_borrow(&mut self, itr: I) -> ClapResult> - where I: IntoIterator, - T: Into + Clone - { - // If there are global arguments, or settings we need to propgate them down to subcommands - // before parsing incase we run into a subcommand - if !self.p.is_set(AppSettings::Propagated) { - self.p.propagate_globals(); - self.p.propagate_settings(); - self.p.derive_display_order(); - self.p.set(AppSettings::Propagated); - } - - let mut matcher = ArgMatcher::new(); - - let mut it = itr.into_iter(); - // Get the name of the program (argument 1 of env::args()) and determine the - // actual file - // that was used to execute the program. This is because a program called - // ./target/release/my_prog -a - // will have two arguments, './target/release/my_prog', '-a' but we don't want - // to display - // the full path when displaying help messages and such - if !self.p.is_set(AppSettings::NoBinaryName) { - if let Some(name) = it.next() { - let bn_os = name.into(); - let p = Path::new(&*bn_os); - if let Some(f) = p.file_name() { - if let Some(s) = f.to_os_string().to_str() { - if self.p.meta.bin_name.is_none() { - self.p.meta.bin_name = Some(s.to_owned()); - } - } - } - } - } - - // do the real parsing - if let Err(e) = self.p.get_matches_with(&mut matcher, &mut it.peekable()) { - return Err(e); - } - - let global_arg_vec : Vec<&str> = (&self).p.global_args.iter().map(|ga| ga.b.name).collect(); - matcher.propagate_globals(&global_arg_vec); - - Ok(matcher.into()) - } -} - -#[cfg(feature = "yaml")] -impl<'a> From<&'a Yaml> for App<'a, 'a> { - fn from(mut yaml: &'a Yaml) -> Self { - use args::SubCommand; - // We WANT this to panic on error...so expect() is good. - let mut is_sc = None; - let mut a = if let Some(name) = yaml["name"].as_str() { - App::new(name) - } else { - let yaml_hash = yaml.as_hash().unwrap(); - let sc_key = yaml_hash.keys().nth(0).unwrap(); - is_sc = Some(yaml_hash.get(sc_key).unwrap()); - App::new(sc_key.as_str().unwrap()) - }; - yaml = if let Some(sc) = is_sc { sc } else { yaml }; - - macro_rules! yaml_str { - ($a:ident, $y:ident, $i:ident) => { - if let Some(v) = $y[stringify!($i)].as_str() { - $a = $a.$i(v); - } else if $y[stringify!($i)] != Yaml::BadValue { - panic!("Failed to convert YAML value {:?} to a string", $y[stringify!($i)]); - } - }; - } - - yaml_str!(a, yaml, version); - yaml_str!(a, yaml, author); - yaml_str!(a, yaml, bin_name); - yaml_str!(a, yaml, about); - yaml_str!(a, yaml, before_help); - yaml_str!(a, yaml, after_help); - yaml_str!(a, yaml, template); - yaml_str!(a, yaml, usage); - yaml_str!(a, yaml, help); - yaml_str!(a, yaml, help_short); - yaml_str!(a, yaml, version_short); - yaml_str!(a, yaml, help_message); - yaml_str!(a, yaml, version_message); - yaml_str!(a, yaml, alias); - yaml_str!(a, yaml, visible_alias); - - if let Some(v) = yaml["display_order"].as_i64() { - a = a.display_order(v as usize); - } else if yaml["display_order"] != Yaml::BadValue { - panic!("Failed to convert YAML value {:?} to a u64", - yaml["display_order"]); - } - if let Some(v) = yaml["setting"].as_str() { - a = a.setting(v.parse().expect("unknown AppSetting found in YAML file")); - } else if yaml["setting"] != Yaml::BadValue { - panic!("Failed to convert YAML value {:?} to an AppSetting", - yaml["setting"]); - } - if let Some(v) = yaml["settings"].as_vec() { - for ys in v { - if let Some(s) = ys.as_str() { - a = a.setting(s.parse().expect("unknown AppSetting found in YAML file")); - } - } - } else if let Some(v) = yaml["settings"].as_str() { - a = a.setting(v.parse().expect("unknown AppSetting found in YAML file")); - } else if yaml["settings"] != Yaml::BadValue { - panic!("Failed to convert YAML value {:?} to a string", - yaml["settings"]); - } - if let Some(v) = yaml["global_setting"].as_str() { - a = a.setting(v.parse().expect("unknown AppSetting found in YAML file")); - } else if yaml["global_setting"] != Yaml::BadValue { - panic!("Failed to convert YAML value {:?} to an AppSetting", - yaml["setting"]); - } - if let Some(v) = yaml["global_settings"].as_vec() { - for ys in v { - if let Some(s) = ys.as_str() { - a = a.global_setting(s.parse() - .expect("unknown AppSetting found in YAML file")); - } - } - } else if let Some(v) = yaml["global_settings"].as_str() { - a = a.global_setting(v.parse().expect("unknown AppSetting found in YAML file")); - } else if yaml["global_settings"] != Yaml::BadValue { - panic!("Failed to convert YAML value {:?} to a string", - yaml["global_settings"]); - } - - macro_rules! vec_or_str { - ($a:ident, $y:ident, $as_vec:ident, $as_single:ident) => {{ - let maybe_vec = $y[stringify!($as_vec)].as_vec(); - if let Some(vec) = maybe_vec { - for ys in vec { - if let Some(s) = ys.as_str() { - $a = $a.$as_single(s); - } else { - panic!("Failed to convert YAML value {:?} to a string", ys); - } - } - } else { - if let Some(s) = $y[stringify!($as_vec)].as_str() { - $a = $a.$as_single(s); - } else if $y[stringify!($as_vec)] != Yaml::BadValue { - panic!("Failed to convert YAML value {:?} to either a vec or string", $y[stringify!($as_vec)]); - } - } - $a - } - }; - } - - a = vec_or_str!(a, yaml, aliases, alias); - a = vec_or_str!(a, yaml, visible_aliases, visible_alias); - - if let Some(v) = yaml["args"].as_vec() { - for arg_yaml in v { - a = a.arg(Arg::from_yaml(arg_yaml.as_hash().unwrap())); - } - } - if let Some(v) = yaml["subcommands"].as_vec() { - for sc_yaml in v { - a = a.subcommand(SubCommand::from_yaml(sc_yaml)); - } - } - if let Some(v) = yaml["groups"].as_vec() { - for ag_yaml in v { - a = a.group(ArgGroup::from(ag_yaml.as_hash().unwrap())); - } - } - - a - } -} - -impl<'a, 'b> Clone for App<'a, 'b> { - fn clone(&self) -> Self { App { p: self.p.clone() } } -} - -impl<'n, 'e> AnyArg<'n, 'e> for App<'n, 'e> { - fn name(&self) -> &'n str { - unreachable!("App struct does not support AnyArg::name, this is a bug!") - } - fn overrides(&self) -> Option<&[&'e str]> { None } - fn requires(&self) -> Option<&[(Option<&'e str>, &'n str)]> { None } - fn blacklist(&self) -> Option<&[&'e str]> { None } - fn required_unless(&self) -> Option<&[&'e str]> { None } - fn val_names(&self) -> Option<&VecMap<&'e str>> { None } - fn is_set(&self, _: ArgSettings) -> bool { false } - fn val_terminator(&self) -> Option<&'e str> { None } - fn set(&mut self, _: ArgSettings) { - unreachable!("App struct does not support AnyArg::set, this is a bug!") - } - fn has_switch(&self) -> bool { false } - fn max_vals(&self) -> Option { None } - fn num_vals(&self) -> Option { None } - fn possible_vals(&self) -> Option<&[&'e str]> { None } - fn validator(&self) -> Option<&Rc StdResult<(), String>>> { None } - fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { None } - fn min_vals(&self) -> Option { None } - fn short(&self) -> Option { None } - fn long(&self) -> Option<&'e str> { None } - fn val_delim(&self) -> Option { None } - fn takes_value(&self) -> bool { true } - fn help(&self) -> Option<&'e str> { self.p.meta.about } - fn long_help(&self) -> Option<&'e str> { self.p.meta.long_about } - fn default_val(&self) -> Option<&'e OsStr> { None } - fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { - None - } - fn env<'s>(&'s self) -> Option<(&'n OsStr, Option<&'s OsString>)> { None } - fn longest_filter(&self) -> bool { true } - fn aliases(&self) -> Option> { - if let Some(ref aliases) = self.p.meta.aliases { - let vis_aliases: Vec<_> = - aliases.iter().filter_map(|&(n, v)| if v { Some(n) } else { None }).collect(); - if vis_aliases.is_empty() { - None - } else { - Some(vis_aliases) - } - } else { - None - } - } -} - -impl<'n, 'e> fmt::Display for App<'n, 'e> { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, "{}", self.p.meta.name) } -} diff --git a/vendor/registry-40351f815f426200/clap/src/app/parser.rs b/vendor/registry-40351f815f426200/clap/src/app/parser.rs deleted file mode 100644 index dafcf076a..000000000 --- a/vendor/registry-40351f815f426200/clap/src/app/parser.rs +++ /dev/null @@ -1,1941 +0,0 @@ -// Std -use std::ffi::{OsStr, OsString}; -use std::fmt::Display; -use std::fs::File; -use std::io::{self, BufWriter, Write}; -#[cfg(feature = "debug")] -use std::os::unix::ffi::OsStrExt; -use std::path::PathBuf; -use std::slice::Iter; -use std::iter::Peekable; - -// Internal -use INTERNAL_ERROR_MSG; -use INVALID_UTF8; -use SubCommand; -use app::App; -use app::help::Help; -use app::meta::AppMeta; -use app::settings::AppFlags; -use args::{AnyArg, ArgMatcher, Base, Switched, Arg, ArgGroup, FlagBuilder, OptBuilder, PosBuilder}; -use args::settings::ArgSettings; -use completions::ComplGen; -use errors::{Error, ErrorKind}; -use errors::Result as ClapResult; -use fmt::ColorWhen; -use osstringext::OsStrExt2; -use completions::Shell; -use suggestions; -use app::settings::AppSettings as AS; -use app::validator::Validator; -use app::usage; -use map::{self, VecMap}; - -#[derive(Debug, PartialEq, Copy, Clone)] -#[doc(hidden)] -pub enum ParseResult<'a> { - Flag, - Opt(&'a str), - Pos(&'a str), - MaybeHyphenValue, - MaybeNegNum, - NotFound, - ValuesDone, -} - -#[allow(missing_debug_implementations)] -#[doc(hidden)] -#[derive(Clone, Default)] -pub struct Parser<'a, 'b> - where 'a: 'b -{ - pub meta: AppMeta<'b>, - settings: AppFlags, - pub g_settings: AppFlags, - pub flags: Vec>, - pub opts: Vec>, - pub positionals: VecMap>, - pub subcommands: Vec>, - pub groups: Vec>, - pub global_args: Vec>, - pub required: Vec<&'a str>, - pub r_ifs: Vec<(&'a str, &'b str, &'a str)>, - pub blacklist: Vec<&'b str>, - pub overrides: Vec<&'b str>, - help_short: Option, - version_short: Option, - cache: Option<&'a str>, - pub help_message: Option<&'a str>, - pub version_message: Option<&'a str>, -} - -impl<'a, 'b> Parser<'a, 'b> - where 'a: 'b -{ - pub fn with_name(n: String) -> Self { - Parser { - meta: AppMeta::with_name(n), - ..Default::default() - } - } - - pub fn help_short(&mut self, s: &str) { - let c = s.trim_left_matches(|c| c == '-') - .chars() - .nth(0) - .unwrap_or('h'); - self.help_short = Some(c); - } - - pub fn version_short(&mut self, s: &str) { - let c = s.trim_left_matches(|c| c == '-') - .chars() - .nth(0) - .unwrap_or('V'); - self.version_short = Some(c); - } - - pub fn gen_completions_to(&mut self, for_shell: Shell, buf: &mut W) { - if !self.is_set(AS::Propagated) { - self.propagate_help_version(); - self.build_bin_names(); - self.propagate_globals(); - self.propagate_settings(); - self.set(AS::Propagated); - } - - ComplGen::new(self).generate(for_shell, buf) - } - - pub fn gen_completions(&mut self, for_shell: Shell, od: OsString) { - use std::error::Error; - - let out_dir = PathBuf::from(od); - let name = &*self.meta.bin_name.as_ref().unwrap().clone(); - let file_name = match for_shell { - Shell::Bash => format!("{}.bash-completion", name), - Shell::Fish => format!("{}.fish", name), - Shell::Zsh => format!("_{}", name), - Shell::PowerShell => format!("_{}.ps1", name), - }; - - let mut file = match File::create(out_dir.join(file_name)) { - Err(why) => panic!("couldn't create completion file: {}", why.description()), - Ok(file) => file, - }; - self.gen_completions_to(for_shell, &mut file) - } - - #[inline] - fn app_debug_asserts(&mut self) -> bool { - assert!(self.verify_positionals()); - let should_err = self.groups - .iter() - .all(|g| { - g.args - .iter() - .all(|arg| { - (self.flags.iter().any(|f| &f.b.name == arg) || - self.opts.iter().any(|o| &o.b.name == arg) || - self.positionals.values().any(|p| &p.b.name == arg) || - self.groups.iter().any(|g| &g.name == arg)) - }) - }); - let g = self.groups - .iter() - .find(|g| { - g.args - .iter() - .any(|arg| { - !(self.flags.iter().any(|f| &f.b.name == arg) || - self.opts.iter().any(|o| &o.b.name == arg) || - self.positionals.values().any(|p| &p.b.name == arg) || - self.groups.iter().any(|g| &g.name == arg)) - }) - }); - assert!(should_err, - "The group '{}' contains the arg '{}' that doesn't actually exist.", - g.unwrap().name, - g.unwrap() - .args - .iter() - .find(|arg| { - !(self.flags.iter().any(|f| &&f.b.name == arg) || - self.opts.iter().any(|o| &&o.b.name == arg) || - self.positionals.values().any(|p| &&p.b.name == arg) || - self.groups.iter().any(|g| &&g.name == arg)) - }) - .unwrap()); - true - } - - #[inline] - fn debug_asserts(&self, a: &Arg) -> bool { - assert!(!arg_names!(self).any(|name| name == a.b.name), - format!("Non-unique argument name: {} is already in use", a.b.name)); - if let Some(l) = a.s.long { - assert!(!self.contains_long(l), - "Argument long must be unique\n\n\t--{} is already in use", - l); - } - if let Some(s) = a.s.short { - assert!(!self.contains_short(s), - "Argument short must be unique\n\n\t-{} is already in use", - s); - } - let i = if a.index.is_none() { - (self.positionals.len() + 1) - } else { - a.index.unwrap() as usize - }; - assert!(!self.positionals.contains_key(i), - "Argument \"{}\" has the same index as another positional \ - argument\n\n\tPerhaps try .multiple(true) to allow one positional argument \ - to take multiple values", - a.b.name); - assert!(!(a.is_set(ArgSettings::Required) && a.is_set(ArgSettings::Global)), - "Global arguments cannot be required.\n\n\t'{}' is marked as \ - global and required", - a.b.name); - if a.b.is_set(ArgSettings::Last) { - assert!(!self.positionals - .values() - .any(|p| p.b.is_set(ArgSettings::Last)), - "Only one positional argument may have last(true) set. Found two."); - assert!(a.s.long.is_none(), - "Flags or Options may not have last(true) set. {} has both a long and last(true) set.", - a.b.name); - assert!(a.s.short.is_none(), - "Flags or Options may not have last(true) set. {} has both a short and last(true) set.", - a.b.name); - } - true - } - - #[inline] - fn add_conditional_reqs(&mut self, a: &Arg<'a, 'b>) { - if let Some(ref r_ifs) = a.r_ifs { - for &(arg, val) in r_ifs { - self.r_ifs.push((arg, val, a.b.name)); - } - } - } - - #[inline] - fn add_arg_groups(&mut self, a: &Arg<'a, 'b>) { - if let Some(ref grps) = a.b.groups { - for g in grps { - let mut found = false; - if let Some(ref mut ag) = self.groups.iter_mut().find(|grp| &grp.name == g) { - ag.args.push(a.b.name); - found = true; - } - if !found { - let mut ag = ArgGroup::with_name(g); - ag.args.push(a.b.name); - self.groups.push(ag); - } - } - } - } - - #[inline] - fn add_reqs(&mut self, a: &Arg<'a, 'b>) { - if a.is_set(ArgSettings::Required) { - // If the arg is required, add all it's requirements to master required list - if let Some(ref areqs) = a.b.requires { - for name in areqs - .iter() - .filter(|&&(val, _)| val.is_none()) - .map(|&(_, name)| name) { - self.required.push(name); - } - } - self.required.push(a.b.name); - } - } - - #[inline] - fn implied_settings(&mut self, a: &Arg<'a, 'b>) { - if a.is_set(ArgSettings::Last) { - // if an arg has `Last` set, we need to imply DontCollapseArgsInUsage so that args - // in the usage string don't get confused or left out. - self.set(AS::DontCollapseArgsInUsage); - self.set(AS::ContainsLast); - } - if let Some(l) = a.s.long { - if l == "version" { - self.unset(AS::NeedsLongVersion); - } else if l == "help" { - self.unset(AS::NeedsLongHelp); - } - } - } - - // actually adds the arguments - pub fn add_arg(&mut self, a: Arg<'a, 'b>) { - // if it's global we have to clone anyways - if a.is_set(ArgSettings::Global) { - return self.add_arg_ref(&a); - } - debug_assert!(self.debug_asserts(&a)); - self.add_conditional_reqs(&a); - self.add_arg_groups(&a); - self.add_reqs(&a); - self.implied_settings(&a); - if a.index.is_some() || (a.s.short.is_none() && a.s.long.is_none()) { - let i = if a.index.is_none() { - (self.positionals.len() + 1) - } else { - a.index.unwrap() as usize - }; - self.positionals - .insert(i, PosBuilder::from_arg(a, i as u64)); - } else if a.is_set(ArgSettings::TakesValue) { - let mut ob = OptBuilder::from(a); - ob.s.unified_ord = self.flags.len() + self.opts.len(); - self.opts.push(ob); - } else { - let mut fb = FlagBuilder::from(a); - fb.s.unified_ord = self.flags.len() + self.opts.len(); - self.flags.push(fb); - } - } - // actually adds the arguments but from a borrow (which means we have to do some clonine) - pub fn add_arg_ref(&mut self, a: &Arg<'a, 'b>) { - debug_assert!(self.debug_asserts(a)); - self.add_conditional_reqs(a); - self.add_arg_groups(a); - self.add_reqs(a); - self.implied_settings(a); - if a.index.is_some() || (a.s.short.is_none() && a.s.long.is_none()) { - let i = if a.index.is_none() { - (self.positionals.len() + 1) - } else { - a.index.unwrap() as usize - }; - let pb = PosBuilder::from_arg_ref(a, i as u64); - self.positionals.insert(i, pb); - } else if a.is_set(ArgSettings::TakesValue) { - let mut ob = OptBuilder::from(a); - ob.s.unified_ord = self.flags.len() + self.opts.len(); - self.opts.push(ob); - } else { - let mut fb = FlagBuilder::from(a); - fb.s.unified_ord = self.flags.len() + self.opts.len(); - self.flags.push(fb); - } - if a.is_set(ArgSettings::Global) { - self.global_args.push(a.into()); - } - } - - pub fn add_group(&mut self, group: ArgGroup<'a>) { - if group.required { - self.required.push(group.name); - if let Some(ref reqs) = group.requires { - self.required.extend_from_slice(reqs); - } - if let Some(ref bl) = group.conflicts { - self.blacklist.extend_from_slice(bl); - } - } - if self.groups.iter().any(|g| g.name == group.name) { - let grp = self.groups - .iter_mut() - .find(|g| g.name == group.name) - .expect(INTERNAL_ERROR_MSG); - grp.args.extend_from_slice(&group.args); - grp.requires = group.requires.clone(); - grp.conflicts = group.conflicts.clone(); - grp.required = group.required; - } else { - self.groups.push(group); - } - } - - pub fn add_subcommand(&mut self, mut subcmd: App<'a, 'b>) { - debugln!("Parser::add_subcommand: term_w={:?}, name={}", - self.meta.term_w, - subcmd.p.meta.name); - subcmd.p.meta.term_w = self.meta.term_w; - if subcmd.p.meta.name == "help" { - self.unset(AS::NeedsSubcommandHelp); - } - - self.subcommands.push(subcmd); - } - - pub fn propagate_settings(&mut self) { - debugln!("Parser::propagate_settings: self={}, g_settings={:#?}", - self.meta.name, - self.g_settings); - for sc in &mut self.subcommands { - debugln!("Parser::propagate_settings: sc={}, settings={:#?}, g_settings={:#?}", - sc.p.meta.name, - sc.p.settings, - sc.p.g_settings); - // We have to create a new scope in order to tell rustc the borrow of `sc` is - // done and to recursively call this method - { - let vsc = self.settings.is_set(AS::VersionlessSubcommands); - let gv = self.settings.is_set(AS::GlobalVersion); - - if vsc { - sc.p.set(AS::DisableVersion); - } - if gv && sc.p.meta.version.is_none() && self.meta.version.is_some() { - sc.p.set(AS::GlobalVersion); - sc.p.meta.version = Some(self.meta.version.unwrap()); - } - sc.p.settings = sc.p.settings | self.g_settings; - sc.p.g_settings = sc.p.g_settings | self.g_settings; - sc.p.meta.term_w = self.meta.term_w; - sc.p.meta.max_w = self.meta.max_w; - } - sc.p.propagate_settings(); - } - } - - #[cfg_attr(feature = "lints", allow(needless_borrow))] - pub fn derive_display_order(&mut self) { - if self.is_set(AS::DeriveDisplayOrder) { - let unified = self.is_set(AS::UnifiedHelpMessage); - for (i, o) in self.opts - .iter_mut() - .enumerate() - .filter(|&(_, ref o)| o.s.disp_ord == 999) { - o.s.disp_ord = if unified { o.s.unified_ord } else { i }; - } - for (i, f) in self.flags - .iter_mut() - .enumerate() - .filter(|&(_, ref f)| f.s.disp_ord == 999) { - f.s.disp_ord = if unified { f.s.unified_ord } else { i }; - } - for (i, sc) in &mut self.subcommands - .iter_mut() - .enumerate() - .filter(|&(_, ref sc)| sc.p.meta.disp_ord == 999) { - sc.p.meta.disp_ord = i; - } - } - for sc in &mut self.subcommands { - sc.p.derive_display_order(); - } - } - - pub fn required(&self) -> Iter<&str> { self.required.iter() } - - #[cfg_attr(feature = "lints", allow(needless_borrow))] - #[inline] - pub fn has_args(&self) -> bool { - !(self.flags.is_empty() && self.opts.is_empty() && self.positionals.is_empty()) - } - - #[inline] - pub fn has_opts(&self) -> bool { !self.opts.is_empty() } - - #[inline] - pub fn has_flags(&self) -> bool { !self.flags.is_empty() } - - #[inline] - pub fn has_positionals(&self) -> bool { !self.positionals.is_empty() } - - #[inline] - pub fn has_subcommands(&self) -> bool { !self.subcommands.is_empty() } - - #[inline] - pub fn has_visible_opts(&self) -> bool { - if self.opts.is_empty() { - return false; - } - self.opts.iter().any(|o| !o.is_set(ArgSettings::Hidden)) - } - - #[inline] - pub fn has_visible_flags(&self) -> bool { - if self.flags.is_empty() { - return false; - } - self.flags.iter().any(|f| !f.is_set(ArgSettings::Hidden)) - } - - #[inline] - pub fn has_visible_positionals(&self) -> bool { - if self.positionals.is_empty() { - return false; - } - self.positionals - .values() - .any(|p| !p.is_set(ArgSettings::Hidden)) - } - - #[inline] - pub fn has_visible_subcommands(&self) -> bool { - self.has_subcommands() && self.subcommands.iter().filter(|sc| sc.p.meta.name != "help").any(|sc| !sc.p.is_set(AS::Hidden)) - } - - #[inline] - pub fn is_set(&self, s: AS) -> bool { self.settings.is_set(s) } - - #[inline] - pub fn set(&mut self, s: AS) { self.settings.set(s) } - - #[inline] - pub fn unset(&mut self, s: AS) { self.settings.unset(s) } - - #[cfg_attr(feature = "lints", allow(block_in_if_condition_stmt))] - pub fn verify_positionals(&mut self) -> bool { - // Because you must wait until all arguments have been supplied, this is the first chance - // to make assertions on positional argument indexes - // - // Firt we verify that the index highest supplied index, is equal to the number of - // positional arguments to verify there are no gaps (i.e. supplying an index of 1 and 3 - // but no 2) - if let Some((idx, p)) = self.positionals.iter().rev().next() { - assert!(!(idx != self.positionals.len()), - "Found positional argument \"{}\" whose index is {} but there \ - are only {} positional arguments defined", - p.b.name, - idx, - self.positionals.len()); - } - - // Next we verify that only the highest index has a .multiple(true) (if any) - if self.positionals - .values() - .any(|a| { - a.b.is_set(ArgSettings::Multiple) && - (a.index as usize != self.positionals.len()) - }) { - let mut it = self.positionals.values().rev(); - let last = it.next().unwrap(); - let second_to_last = it.next().unwrap(); - // Either the final positional is required - // Or the second to last has a terminator or .last(true) set - let ok = last.is_set(ArgSettings::Required) || - (second_to_last.v.terminator.is_some() || - second_to_last.b.is_set(ArgSettings::Last)) || - last.is_set(ArgSettings::Last); - assert!(ok, - "When using a positional argument with .multiple(true) that is *not the \ - last* positional argument, the last positional argument (i.e the one \ - with the highest index) *must* have .required(true) or .last(true) set."); - let ok = second_to_last.is_set(ArgSettings::Multiple) || last.is_set(ArgSettings::Last); - assert!(ok, - "Only the last positional argument, or second to last positional \ - argument may be set to .multiple(true)"); - - let count = self.positionals - .values() - .filter(|p| p.b.settings.is_set(ArgSettings::Multiple) && p.v.num_vals.is_none()) - .count(); - let ok = count <= 1 || - (last.is_set(ArgSettings::Last) && last.is_set(ArgSettings::Multiple) && - second_to_last.is_set(ArgSettings::Multiple) && - count == 2); - assert!(ok, - "Only one positional argument with .multiple(true) set is allowed per \ - command, unless the second one also has .last(true) set"); - } - - - if self.is_set(AS::AllowMissingPositional) { - // Check that if a required positional argument is found, all positions with a lower - // index are also required. - let mut found = false; - let mut foundx2 = false; - for p in self.positionals.values().rev() { - if foundx2 && !p.b.settings.is_set(ArgSettings::Required) { - assert!(p.b.is_set(ArgSettings::Required), - "Found positional argument which is not required with a lower \ - index than a required positional argument by two or more: {:?} \ - index {}", - p.b.name, - p.index); - } else if p.b.is_set(ArgSettings::Required) && !p.b.is_set(ArgSettings::Last) { - // Args that .last(true) don't count since they can be required and have - // positionals with a lower index that aren't required - // Imagine: prog [opt1] -- - // Both of these are valid invocations: - // $ prog r1 -- r2 - // $ prog r1 o1 -- r2 - if found { - foundx2 = true; - continue; - } - found = true; - continue; - } else { - found = false; - } - } - } else { - // Check that if a required positional argument is found, all positions with a lower - // index are also required - let mut found = false; - for p in self.positionals.values().rev() { - if found { - assert!(p.b.is_set(ArgSettings::Required), - "Found positional argument which is not required with a lower \ - index than a required positional argument: {:?} index {}", - p.b.name, - p.index); - } else if p.b.is_set(ArgSettings::Required) && !p.b.is_set(ArgSettings::Last) { - // Args that .last(true) don't count since they can be required and have - // positionals with a lower index that aren't required - // Imagine: prog [opt1] -- - // Both of these are valid invocations: - // $ prog r1 -- r2 - // $ prog r1 o1 -- r2 - found = true; - continue; - } - } - } - if self.positionals - .values() - .any(|p| { - p.b.is_set(ArgSettings::Last) && p.b.is_set(ArgSettings::Required) - }) && self.has_subcommands() && - !self.is_set(AS::SubcommandsNegateReqs) { - panic!("Having a required positional argument with .last(true) set *and* child \ - subcommands without setting SubcommandsNegateReqs isn't compatible."); - } - - true - } - - pub fn propagate_globals(&mut self) { - for sc in &mut self.subcommands { - // We have to create a new scope in order to tell rustc the borrow of `sc` is - // done and to recursively call this method - { - for a in &self.global_args { - sc.p.add_arg_ref(a); - } - } - sc.p.propagate_globals(); - } - } - - // Checks if the arg matches a subcommand name, or any of it's aliases (if defined) - fn possible_subcommand(&self, arg_os: &OsStr) -> (bool, Option<&str>) { - debugln!("Parser::possible_subcommand: arg={:?}", arg_os); - fn starts(h: &str, n: &OsStr) -> bool { - #[cfg(not(target_os = "windows"))] - use std::os::unix::ffi::OsStrExt; - #[cfg(target_os = "windows")] - use osstringext::OsStrExt3; - - let n_bytes = n.as_bytes(); - let h_bytes = OsStr::new(h).as_bytes(); - - h_bytes.starts_with(n_bytes) - } - - if self.is_set(AS::ArgsNegateSubcommands) && self.is_set(AS::ValidArgFound) { - return (false, None); - } - if !self.is_set(AS::InferSubcommands) { - if let Some(sc) = find_subcmd!(self, arg_os) { - return (true, Some(&sc.p.meta.name)); - } - } else { - let v = self.subcommands - .iter() - .filter(|s| { - starts(&s.p.meta.name[..], &*arg_os) || - (s.p.meta.aliases.is_some() && - s.p - .meta - .aliases - .as_ref() - .unwrap() - .iter() - .filter(|&&(a, _)| starts(a, &*arg_os)) - .count() == 1) - }) - .map(|sc| &sc.p.meta.name) - .collect::>(); - - if v.len() == 1 { - return (true, Some(v[0])); - } - } - (false, None) - } - - fn parse_help_subcommand(&self, it: &mut I) -> ClapResult> - where I: Iterator, - T: Into - { - debugln!("Parser::parse_help_subcommand;"); - let cmds: Vec = it.map(|c| c.into()).collect(); - let mut help_help = false; - let mut bin_name = self.meta - .bin_name - .as_ref() - .unwrap_or(&self.meta.name) - .clone(); - let mut sc = { - let mut sc: &Parser = self; - for (i, cmd) in cmds.iter().enumerate() { - if &*cmd.to_string_lossy() == "help" { - // cmd help help - help_help = true; - } - if let Some(c) = sc.subcommands - .iter() - .find(|s| &*s.p.meta.name == cmd) - .map(|sc| &sc.p) { - sc = c; - if i == cmds.len() - 1 { - break; - } - } else if let Some(c) = sc.subcommands - .iter() - .find(|s| if let Some(ref als) = s.p.meta.aliases { - als.iter().any(|&(a, _)| a == &*cmd.to_string_lossy()) - } else { - false - }) - .map(|sc| &sc.p) { - sc = c; - if i == cmds.len() - 1 { - break; - } - } else { - return Err(Error::unrecognized_subcommand(cmd.to_string_lossy().into_owned(), - self.meta - .bin_name - .as_ref() - .unwrap_or(&self.meta.name), - self.color())); - } - bin_name = format!("{} {}", bin_name, &*sc.meta.name); - } - sc.clone() - }; - if help_help { - let mut pb = PosBuilder::new("subcommand", 1); - pb.b.help = Some("The subcommand whose help message to display"); - pb.set(ArgSettings::Multiple); - sc.positionals.insert(1, pb); - sc.settings = sc.settings | self.g_settings; - } else { - sc.create_help_and_version(); - } - if sc.meta.bin_name != self.meta.bin_name { - sc.meta.bin_name = Some(format!("{} {}", bin_name, sc.meta.name)); - } - Err(sc._help(false)) - } - - // allow wrong self convention due to self.valid_neg_num = true and it's a private method - #[cfg_attr(feature = "lints", allow(wrong_self_convention))] - fn is_new_arg(&mut self, arg_os: &OsStr, needs_val_of: ParseResult<'a>) -> bool { - debugln!("Parser::is_new_arg: arg={:?}, Needs Val of={:?}", - arg_os, - needs_val_of); - let app_wide_settings = if self.is_set(AS::AllowLeadingHyphen) { - true - } else if self.is_set(AS::AllowNegativeNumbers) { - let a = arg_os.to_string_lossy(); - if a.parse::().is_ok() || a.parse::().is_ok() { - self.set(AS::ValidNegNumFound); - true - } else { - false - } - } else { - false - }; - let arg_allows_tac = match needs_val_of { - ParseResult::Opt(name) => { - let o = self.opts - .iter() - .find(|o| o.b.name == name) - .expect(INTERNAL_ERROR_MSG); - (o.is_set(ArgSettings::AllowLeadingHyphen) || app_wide_settings) - } - ParseResult::Pos(name) => { - let p = self.positionals - .values() - .find(|p| p.b.name == name) - .expect(INTERNAL_ERROR_MSG); - (p.is_set(ArgSettings::AllowLeadingHyphen) || app_wide_settings) - } - _ => false, - }; - debugln!("Parser::is_new_arg: Arg::allow_leading_hyphen({:?})", - arg_allows_tac); - - // Is this a new argument, or values from a previous option? - let mut ret = if arg_os.starts_with(b"--") { - debugln!("Parser::is_new_arg: -- found"); - if arg_os.len_() == 2 && !arg_allows_tac { - return true; // We have to return true so override everything else - } else if arg_allows_tac { - return false; - } - true - } else if arg_os.starts_with(b"-") { - debugln!("Parser::is_new_arg: - found"); - // a singe '-' by itself is a value and typically means "stdin" on unix systems - !(arg_os.len_() == 1) - } else { - debugln!("Parser::is_new_arg: probably value"); - false - }; - - ret = ret && !arg_allows_tac; - - debugln!("Parser::is_new_arg: starts_new_arg={:?}", ret); - ret - } - - // The actual parsing function - #[cfg_attr(feature = "lints", allow(while_let_on_iterator, collapsible_if))] - pub fn get_matches_with(&mut self, - matcher: &mut ArgMatcher<'a>, - it: &mut Peekable) - -> ClapResult<()> - where I: Iterator, - T: Into + Clone - { - debugln!("Parser::get_matches_with;"); - // Verify all positional assertions pass - debug_assert!(self.app_debug_asserts()); - if self.positionals - .values() - .any(|a| { - a.b.is_set(ArgSettings::Multiple) && - (a.index as usize != self.positionals.len()) - }) && - self.positionals - .values() - .last() - .map_or(false, |p| !p.is_set(ArgSettings::Last)) { - self.settings.set(AS::LowIndexMultiplePositional); - } - let has_args = self.has_args(); - - // Next we create the `--help` and `--version` arguments and add them if - // necessary - self.create_help_and_version(); - - let mut subcmd_name: Option = None; - let mut needs_val_of: ParseResult<'a> = ParseResult::NotFound; - let mut pos_counter = 1; - while let Some(arg) = it.next() { - let arg_os = arg.into(); - debugln!("Parser::get_matches_with: Begin parsing '{:?}' ({:?})", - arg_os, - &*arg_os.as_bytes()); - - self.unset(AS::ValidNegNumFound); - // Is this a new argument, or values from a previous option? - let starts_new_arg = self.is_new_arg(&arg_os, needs_val_of); - if arg_os.starts_with(b"--") && arg_os.len_() == 2 && starts_new_arg { - debugln!("Parser::get_matches_with: setting TrailingVals=true"); - self.set(AS::TrailingValues); - continue; - } - - // Has the user already passed '--'? Meaning only positional args follow - if !self.is_set(AS::TrailingValues) { - // Does the arg match a subcommand name, or any of it's aliases (if defined) - { - match needs_val_of { - ParseResult::Opt(_) | ParseResult::Pos(_) =>(), - _ => { - let (is_match, sc_name) = self.possible_subcommand(&arg_os); - debugln!("Parser::get_matches_with: possible_sc={:?}, sc={:?}", - is_match, - sc_name); - if is_match { - let sc_name = sc_name.expect(INTERNAL_ERROR_MSG); - if sc_name == "help" && self.is_set(AS::NeedsSubcommandHelp) { - self.parse_help_subcommand(it)?; - } - subcmd_name = Some(sc_name.to_owned()); - break; - } - } - } - } - - if !starts_new_arg { - if let ParseResult::Opt(name) = needs_val_of { - // Check to see if parsing a value from a previous arg - let arg = self.opts - .iter() - .find(|o| o.b.name == name) - .expect(INTERNAL_ERROR_MSG); - // get the OptBuilder so we can check the settings - needs_val_of = self.add_val_to_arg(arg, &arg_os, matcher)?; - // get the next value from the iterator - continue; - } - } else if arg_os.starts_with(b"--") { - needs_val_of = self.parse_long_arg(matcher, &arg_os)?; - debugln!("Parser:get_matches_with: After parse_long_arg {:?}", - needs_val_of); - match needs_val_of { - ParseResult::Flag | - ParseResult::Opt(..) | - ParseResult::ValuesDone => continue, - _ => (), - } - } else if arg_os.starts_with(b"-") && arg_os.len_() != 1 { - // Try to parse short args like normal, if AllowLeadingHyphen or - // AllowNegativeNumbers is set, parse_short_arg will *not* throw - // an error, and instead return Ok(None) - needs_val_of = self.parse_short_arg(matcher, &arg_os)?; - // If it's None, we then check if one of those two AppSettings was set - debugln!("Parser:get_matches_with: After parse_short_arg {:?}", - needs_val_of); - match needs_val_of { - ParseResult::MaybeNegNum => { - if !(arg_os.to_string_lossy().parse::().is_ok() || - arg_os.to_string_lossy().parse::().is_ok()) { - return Err(Error::unknown_argument(&*arg_os.to_string_lossy(), - "", - &*usage::create_error_usage(self, matcher, None), - self.color())); - } - } - ParseResult::Opt(..) | - ParseResult::Flag | - ParseResult::ValuesDone => continue, - _ => (), - } - } - - if !(self.is_set(AS::ArgsNegateSubcommands) && self.is_set(AS::ValidArgFound)) && - !self.is_set(AS::InferSubcommands) { - if let Some(cdate) = suggestions::did_you_mean(&*arg_os.to_string_lossy(), - sc_names!(self)) { - return Err(Error::invalid_subcommand(arg_os - .to_string_lossy() - .into_owned(), - cdate, - self.meta - .bin_name - .as_ref() - .unwrap_or(&self.meta.name), - &*usage::create_error_usage(self, - matcher, - None), - self.color())); - } - } - } - - let low_index_mults = self.is_set(AS::LowIndexMultiplePositional) && - pos_counter == (self.positionals.len() - 1); - let missing_pos = self.is_set(AS::AllowMissingPositional) && - pos_counter == (self.positionals.len() - 1); - debugln!("Parser::get_matches_with: Positional counter...{}", - pos_counter); - debugln!("Parser::get_matches_with: Low index multiples...{:?}", - low_index_mults); - if low_index_mults || missing_pos { - if let Some(na) = it.peek() { - let n = (*na).clone().into(); - needs_val_of = if needs_val_of != ParseResult::ValuesDone { - if let Some(p) = self.positionals.get(pos_counter) { - ParseResult::Pos(p.b.name) - } else { - ParseResult::ValuesDone - } - } else { - ParseResult::ValuesDone - }; - let sc_match = { - self.possible_subcommand(&n).0 - }; - if self.is_new_arg(&n, needs_val_of) || sc_match || - suggestions::did_you_mean(&n.to_string_lossy(), sc_names!(self)).is_some() { - debugln!("Parser::get_matches_with: Bumping the positional counter..."); - pos_counter += 1; - } - } else { - debugln!("Parser::get_matches_with: Bumping the positional counter..."); - pos_counter += 1; - } - } else if self.is_set(AS::ContainsLast) && self.is_set(AS::TrailingValues) { - // Came to -- and one postional has .last(true) set, so we go immediately - // to the last (highest index) positional - debugln!("Parser::get_matches_with: .last(true) and --, setting last pos"); - pos_counter = self.positionals.len(); - } - if let Some(p) = self.positionals.get(pos_counter) { - if p.is_set(ArgSettings::Last) && !self.is_set(AS::TrailingValues) { - return Err(Error::unknown_argument(&*arg_os.to_string_lossy(), - "", - &*usage::create_error_usage(self, - matcher, - None), - self.color())); - } - parse_positional!(self, p, arg_os, pos_counter, matcher); - self.settings.set(AS::ValidArgFound); - } else if self.is_set(AS::AllowExternalSubcommands) { - // Get external subcommand name - let sc_name = match arg_os.to_str() { - Some(s) => s.to_string(), - None => { - if !self.is_set(AS::StrictUtf8) { - return Err(Error::invalid_utf8(&*usage::create_error_usage(self, - matcher, - None), - self.color())); - } - arg_os.to_string_lossy().into_owned() - } - }; - - // Collect the external subcommand args - let mut sc_m = ArgMatcher::new(); - while let Some(v) = it.next() { - let a = v.into(); - if a.to_str().is_none() && !self.is_set(AS::StrictUtf8) { - return Err(Error::invalid_utf8(&*usage::create_error_usage(self, - matcher, - None), - self.color())); - } - sc_m.add_val_to("", &a); - } - - matcher.subcommand(SubCommand { - name: sc_name, - matches: sc_m.into(), - }); - } else if !((self.is_set(AS::AllowLeadingHyphen) || - self.is_set(AS::AllowNegativeNumbers)) && arg_os.starts_with(b"-")) && - !self.is_set(AS::InferSubcommands) { - return Err(Error::unknown_argument(&*arg_os.to_string_lossy(), - "", - &*usage::create_error_usage(self, - matcher, - None), - self.color())); - } else if !has_args || self.is_set(AS::InferSubcommands) && self.has_subcommands() { - if let Some(cdate) = suggestions::did_you_mean(&*arg_os.to_string_lossy(), - sc_names!(self)) { - return Err(Error::invalid_subcommand(arg_os.to_string_lossy().into_owned(), - cdate, - self.meta - .bin_name - .as_ref() - .unwrap_or(&self.meta.name), - &*usage::create_error_usage(self, - matcher, - None), - self.color())); - } else { - return Err(Error::unrecognized_subcommand(arg_os - .to_string_lossy() - .into_owned(), - self.meta - .bin_name - .as_ref() - .unwrap_or(&self.meta.name), - self.color())); - } - } else { - return Err(Error::unknown_argument(&*arg_os.to_string_lossy(), - "", - &*usage::create_error_usage(self, - matcher, - None), - self.color())); - } - } - - if let Some(ref pos_sc_name) = subcmd_name { - let sc_name = { - find_subcmd!(self, pos_sc_name) - .expect(INTERNAL_ERROR_MSG) - .p - .meta - .name - .clone() - }; - self.parse_subcommand(&*sc_name, matcher, it)?; - } else if self.is_set(AS::SubcommandRequired) { - let bn = self.meta.bin_name.as_ref().unwrap_or(&self.meta.name); - return Err(Error::missing_subcommand(bn, - &usage::create_error_usage(self, matcher, None), - self.color())); - } else if self.is_set(AS::SubcommandRequiredElseHelp) { - debugln!("Parser::get_matches_with: SubcommandRequiredElseHelp=true"); - let mut out = vec![]; - self.write_help_err(&mut out)?; - return Err(Error { - message: String::from_utf8_lossy(&*out).into_owned(), - kind: ErrorKind::MissingArgumentOrSubcommand, - info: None, - }); - } - - Validator::new(self).validate(needs_val_of, subcmd_name, matcher) - } - - - fn propagate_help_version(&mut self) { - debugln!("Parser::propagate_help_version;"); - self.create_help_and_version(); - for sc in &mut self.subcommands { - sc.p.propagate_help_version(); - } - } - - fn build_bin_names(&mut self) { - debugln!("Parser::build_bin_names;"); - for sc in &mut self.subcommands { - debug!("Parser::build_bin_names:iter: bin_name set..."); - if sc.p.meta.bin_name.is_none() { - sdebugln!("No"); - let bin_name = format!("{}{}{}", - self.meta - .bin_name - .as_ref() - .unwrap_or(&self.meta.name.clone()), - if self.meta.bin_name.is_some() { - " " - } else { - "" - }, - &*sc.p.meta.name); - debugln!("Parser::build_bin_names:iter: Setting bin_name of {} to {}", - self.meta.name, - bin_name); - sc.p.meta.bin_name = Some(bin_name); - } else { - sdebugln!("yes ({:?})", sc.p.meta.bin_name); - } - debugln!("Parser::build_bin_names:iter: Calling build_bin_names from...{}", - sc.p.meta.name); - sc.p.build_bin_names(); - } - } - - fn parse_subcommand(&mut self, - sc_name: &str, - matcher: &mut ArgMatcher<'a>, - it: &mut Peekable) - -> ClapResult<()> - where I: Iterator, - T: Into + Clone - { - use std::fmt::Write; - debugln!("Parser::parse_subcommand;"); - let mut mid_string = String::new(); - if !self.is_set(AS::SubcommandsNegateReqs) { - let mut hs: Vec<&str> = self.required.iter().map(|n| &**n).collect(); - for k in matcher.arg_names() { - hs.push(k); - } - let reqs = usage::get_required_usage_from(self, &hs, Some(matcher), None, false); - - for s in &reqs { - write!(&mut mid_string, " {}", s).expect(INTERNAL_ERROR_MSG); - } - } - mid_string.push_str(" "); - if let Some(ref mut sc) = self.subcommands - .iter_mut() - .find(|s| s.p.meta.name == sc_name) { - let mut sc_matcher = ArgMatcher::new(); - // bin_name should be parent's bin_name + [] + the sc's name separated by - // a space - sc.p.meta.usage = Some(format!("{}{}{}", - self.meta.bin_name.as_ref().unwrap_or(&String::new()), - if self.meta.bin_name.is_some() { - &*mid_string - } else { - "" - }, - &*sc.p.meta.name)); - sc.p.meta.bin_name = - Some(format!("{}{}{}", - self.meta.bin_name.as_ref().unwrap_or(&String::new()), - if self.meta.bin_name.is_some() { - " " - } else { - "" - }, - &*sc.p.meta.name)); - debugln!("Parser::parse_subcommand: About to parse sc={}", - sc.p.meta.name); - debugln!("Parser::parse_subcommand: sc settings={:#?}", sc.p.settings); - sc.p.get_matches_with(&mut sc_matcher, it)?; - matcher.subcommand(SubCommand { - name: sc.p.meta.name.clone(), - matches: sc_matcher.into(), - }); - } - Ok(()) - } - - pub fn groups_for_arg(&self, name: &str) -> Option> { - debugln!("Parser::groups_for_arg: name={}", name); - - if self.groups.is_empty() { - debugln!("Parser::groups_for_arg: No groups defined"); - return None; - } - let mut res = vec![]; - debugln!("Parser::groups_for_arg: Searching through groups..."); - for grp in &self.groups { - for a in &grp.args { - if a == &name { - sdebugln!("\tFound '{}'", grp.name); - res.push(&*grp.name); - } - } - } - if res.is_empty() { - return None; - } - - Some(res) - } - - pub fn args_in_group(&self, group: &str) -> Vec { - let mut g_vec = vec![]; - let mut args = vec![]; - - for n in &self.groups - .iter() - .find(|g| g.name == group) - .expect(INTERNAL_ERROR_MSG) - .args { - if let Some(f) = self.flags.iter().find(|f| &f.b.name == n) { - args.push(f.to_string()); - } else if let Some(f) = self.opts.iter().find(|o| &o.b.name == n) { - args.push(f.to_string()); - } else if let Some(p) = self.positionals.values().find(|p| &p.b.name == n) { - args.push(p.b.name.to_owned()); - } else { - g_vec.push(*n); - } - } - - for av in g_vec.iter().map(|g| self.args_in_group(g)) { - args.extend(av); - } - args.dedup(); - args.iter().map(ToOwned::to_owned).collect() - } - - pub fn arg_names_in_group(&self, group: &str) -> Vec<&'a str> { - let mut g_vec = vec![]; - let mut args = vec![]; - - for n in &self.groups - .iter() - .find(|g| g.name == group) - .expect(INTERNAL_ERROR_MSG) - .args { - if self.groups.iter().any(|g| g.name == *n) { - args.extend(self.arg_names_in_group(n)); - g_vec.push(*n); - } else if !args.contains(n) { - args.push(*n); - } - } - - args.iter().map(|s| *s).collect() - } - - pub fn create_help_and_version(&mut self) { - debugln!("Parser::create_help_and_version;"); - // name is "hclap_help" because flags are sorted by name - if !self.contains_long("help") { - debugln!("Parser::create_help_and_version: Building --help"); - if self.help_short.is_none() && !self.contains_short('h') { - self.help_short = Some('h'); - } - let arg = FlagBuilder { - b: Base { - name: "hclap_help", - help: self.help_message.or(Some("Prints help information")), - ..Default::default() - }, - s: Switched { - short: self.help_short, - long: Some("help"), - ..Default::default() - }, - }; - self.flags.push(arg); - } - if !self.is_set(AS::DisableVersion) && !self.contains_long("version") { - debugln!("Parser::create_help_and_version: Building --version"); - if self.version_short.is_none() && !self.contains_short('V') { - self.version_short = Some('V'); - } - // name is "vclap_version" because flags are sorted by name - let arg = FlagBuilder { - b: Base { - name: "vclap_version", - help: self.version_message.or(Some("Prints version information")), - ..Default::default() - }, - s: Switched { - short: self.version_short, - long: Some("version"), - ..Default::default() - }, - }; - self.flags.push(arg); - } - if !self.subcommands.is_empty() && !self.is_set(AS::DisableHelpSubcommand) && - self.is_set(AS::NeedsSubcommandHelp) { - debugln!("Parser::create_help_and_version: Building help"); - self.subcommands - .push(App::new("help") - .about("Prints this message or the help of the given subcommand(s)")); - } - } - - // Retrieves the names of all args the user has supplied thus far, except required ones - // because those will be listed in self.required - fn check_for_help_and_version_str(&self, arg: &OsStr) -> ClapResult<()> { - debugln!("Parser::check_for_help_and_version_str;"); - debug!("Parser::check_for_help_and_version_str: Checking if --{} is help or version...", - arg.to_str().unwrap()); - if arg == "help" && self.is_set(AS::NeedsLongHelp) { - sdebugln!("Help"); - return Err(self._help(true)); - } - if arg == "version" && self.is_set(AS::NeedsLongVersion) { - sdebugln!("Version"); - return Err(self._version(true)); - } - sdebugln!("Neither"); - - Ok(()) - } - - fn check_for_help_and_version_char(&self, arg: char) -> ClapResult<()> { - debugln!("Parser::check_for_help_and_version_char;"); - debug!("Parser::check_for_help_and_version_char: Checking if -{} is help or version...", - arg); - if let Some(h) = self.help_short { - if arg == h && self.is_set(AS::NeedsLongHelp) { - sdebugln!("Help"); - return Err(self._help(false)); - } - } - if let Some(v) = self.version_short { - if arg == v && self.is_set(AS::NeedsLongVersion) { - sdebugln!("Version"); - return Err(self._version(false)); - } - } - sdebugln!("Neither"); - Ok(()) - } - - fn use_long_help(&self) -> bool { - self.meta.long_about.is_some() || - self.flags.iter().any(|f| f.b.long_help.is_some()) || - self.opts.iter().any(|o| o.b.long_help.is_some()) || - self.positionals.values().any(|p| p.b.long_help.is_some()) || - self.subcommands - .iter() - .any(|s| s.p.meta.long_about.is_some()) - } - - fn _help(&self, mut use_long: bool) -> Error { - debugln!("Parser::_help: use_long={:?}", use_long); - use_long = use_long && self.use_long_help(); - let mut buf = vec![]; - match Help::write_parser_help(&mut buf, self, use_long) { - Err(e) => e, - _ => Error { - message: String::from_utf8(buf).unwrap_or_default(), - kind: ErrorKind::HelpDisplayed, - info: None, - } - } - } - - fn _version(&self, use_long: bool) -> Error { - debugln!("Parser::_version: "); - let out = io::stdout(); - let mut buf_w = BufWriter::new(out.lock()); - match self.print_version(&mut buf_w, use_long) { - Err(e) => e, - _ => Error { - message: String::new(), - kind: ErrorKind::VersionDisplayed, - info: None, - } - } - } - - fn parse_long_arg(&mut self, - matcher: &mut ArgMatcher<'a>, - full_arg: &OsStr) - -> ClapResult> { - // maybe here lifetime should be 'a - debugln!("Parser::parse_long_arg;"); - let mut val = None; - debug!("Parser::parse_long_arg: Does it contain '='..."); - let arg = if full_arg.contains_byte(b'=') { - let (p0, p1) = full_arg.trim_left_matches(b'-').split_at_byte(b'='); - sdebugln!("Yes '{:?}'", p1); - val = Some(p1); - p0 - } else { - sdebugln!("No"); - full_arg.trim_left_matches(b'-') - }; - - if let Some(opt) = find_opt_by_long!(@os self, arg) { - debugln!("Parser::parse_long_arg: Found valid opt '{}'", - opt.to_string()); - self.settings.set(AS::ValidArgFound); - let ret = self.parse_opt(val, opt, val.is_some(), matcher)?; - if self.cache.map_or(true, |name| name != opt.b.name) { - arg_post_processing!(self, opt, matcher); - self.cache = Some(opt.b.name); - } - - return Ok(ret); - } else if let Some(flag) = find_flag_by_long!(@os self, arg) { - debugln!("Parser::parse_long_arg: Found valid flag '{}'", - flag.to_string()); - self.settings.set(AS::ValidArgFound); - // Only flags could be help or version, and we need to check the raw long - // so this is the first point to check - self.check_for_help_and_version_str(arg)?; - - self.parse_flag(flag, matcher)?; - - // Handle conflicts, requirements, etc. - // if self.cache.map_or(true, |name| name != flag.b.name) { - arg_post_processing!(self, flag, matcher); - // self.cache = Some(flag.b.name); - // } - - return Ok(ParseResult::Flag); - } else if self.is_set(AS::AllowLeadingHyphen) { - return Ok(ParseResult::MaybeHyphenValue); - } else if self.is_set(AS::ValidNegNumFound) { - return Ok(ParseResult::MaybeNegNum); - } - - debugln!("Parser::parse_long_arg: Didn't match anything"); - self.did_you_mean_error(arg.to_str().expect(INVALID_UTF8), matcher) - .map(|_| ParseResult::NotFound) - } - - #[cfg_attr(feature = "lints", allow(len_zero))] - fn parse_short_arg(&mut self, - matcher: &mut ArgMatcher<'a>, - full_arg: &OsStr) - -> ClapResult> { - debugln!("Parser::parse_short_arg: full_arg={:?}", full_arg); - let arg_os = full_arg.trim_left_matches(b'-'); - let arg = arg_os.to_string_lossy(); - - // If AllowLeadingHyphen is set, we want to ensure `-val` gets parsed as `-val` and not - // `-v` `-a` `-l` assuming `v` `a` and `l` are all, or mostly, valid shorts. - if self.is_set(AS::AllowLeadingHyphen) { - if arg.chars().any(|c| !self.contains_short(c)) { - debugln!("Parser::parse_short_arg: LeadingHyphenAllowed yet -{} isn't valid", - arg); - return Ok(ParseResult::MaybeHyphenValue); - } - } else if self.is_set(AS::ValidNegNumFound) { - // TODO: Add docs about having AllowNegativeNumbers and `-2` as a valid short - // May be better to move this to *after* not finding a valid flag/opt? - debugln!("Parser::parse_short_arg: Valid negative num..."); - return Ok(ParseResult::MaybeNegNum); - } - - let mut ret = ParseResult::NotFound; - for c in arg.chars() { - debugln!("Parser::parse_short_arg:iter:{}", c); - // Check for matching short options, and return the name if there is no trailing - // concatenated value: -oval - // Option: -o - // Value: val - if let Some(opt) = find_opt_by_short!(self, c) { - debugln!("Parser::parse_short_arg:iter:{}: Found valid opt", c); - self.settings.set(AS::ValidArgFound); - // Check for trailing concatenated value - let p: Vec<_> = arg.splitn(2, c).collect(); - debugln!("Parser::parse_short_arg:iter:{}: p[0]={:?}, p[1]={:?}", - c, - p[0].as_bytes(), - p[1].as_bytes()); - let i = p[0].as_bytes().len() + 1; - let val = if p[1].as_bytes().len() > 0 { - debugln!("Parser::parse_short_arg:iter:{}: val={:?} (bytes), val={:?} (ascii)", - c, - arg_os.split_at(i).1.as_bytes(), - arg_os.split_at(i).1); - Some(arg_os.split_at(i).1) - } else { - None - }; - - // Default to "we're expecting a value later" - let ret = self.parse_opt(val, opt, false, matcher)?; - - if self.cache.map_or(true, |name| name != opt.b.name) { - arg_post_processing!(self, opt, matcher); - self.cache = Some(opt.b.name); - } - - return Ok(ret); - } else if let Some(flag) = find_flag_by_short!(self, c) { - debugln!("Parser::parse_short_arg:iter:{}: Found valid flag", c); - self.settings.set(AS::ValidArgFound); - // Only flags can be help or version - self.check_for_help_and_version_char(c)?; - ret = self.parse_flag(flag, matcher)?; - - // Handle conflicts, requirements, overrides, etc. - // Must be called here due to mutablilty - if self.cache.map_or(true, |name| name != flag.b.name) { - arg_post_processing!(self, flag, matcher); - self.cache = Some(flag.b.name); - } - } else { - let arg = format!("-{}", c); - return Err(Error::unknown_argument(&*arg, - "", - &*usage::create_error_usage(self, - matcher, - None), - self.color())); - } - } - Ok(ret) - } - - fn parse_opt(&self, - val: Option<&OsStr>, - opt: &OptBuilder<'a, 'b>, - had_eq: bool, - matcher: &mut ArgMatcher<'a>) - -> ClapResult> { - debugln!("Parser::parse_opt; opt={}, val={:?}", opt.b.name, val); - debugln!("Parser::parse_opt; opt.settings={:?}", opt.b.settings); - let mut has_eq = false; - let no_val = val.is_none(); - let empty_vals = opt.is_set(ArgSettings::EmptyValues); - let min_vals_zero = opt.v.min_vals.unwrap_or(1) == 0; - let needs_eq = opt.is_set(ArgSettings::RequireEquals); - - debug!("Parser::parse_opt; Checking for val..."); - if let Some(fv) = val { - has_eq = fv.starts_with(&[b'=']) || had_eq; - let v = fv.trim_left_matches(b'='); - if !empty_vals && - (v.len_() == 0 || (needs_eq && !has_eq)) { - sdebugln!("Found Empty - Error"); - return Err(Error::empty_value(opt, - &*usage::create_error_usage(self, matcher, None), - self.color())); - } - sdebugln!("Found - {:?}, len: {}", v, v.len_()); - debugln!("Parser::parse_opt: {:?} contains '='...{:?}", - fv, - fv.starts_with(&[b'='])); - self.add_val_to_arg(opt, v, matcher)?; - } else if needs_eq && !(empty_vals || min_vals_zero) { - sdebugln!("None, but requires equals...Error"); - return Err(Error::empty_value(opt, - &*usage::create_error_usage(self, matcher, None), - self.color())); - - } else { - sdebugln!("None"); - } - - matcher.inc_occurrence_of(opt.b.name); - // Increment or create the group "args" - self.groups_for_arg(opt.b.name) - .and_then(|vec| Some(matcher.inc_occurrences_of(&*vec))); - - let needs_delim = opt.is_set(ArgSettings::RequireDelimiter); - let mult = opt.is_set(ArgSettings::Multiple); - if no_val && min_vals_zero && !has_eq && needs_eq { - debugln!("Parser::parse_opt: More arg vals not required..."); - return Ok(ParseResult::ValuesDone); - } else if no_val || (mult && !needs_delim) && !has_eq && matcher.needs_more_vals(opt) { - debugln!("Parser::parse_opt: More arg vals required..."); - return Ok(ParseResult::Opt(opt.b.name)); - } - debugln!("Parser::parse_opt: More arg vals not required..."); - Ok(ParseResult::ValuesDone) - } - - fn add_val_to_arg(&self, - arg: &A, - val: &OsStr, - matcher: &mut ArgMatcher<'a>) - -> ClapResult> - where A: AnyArg<'a, 'b> + Display - { - debugln!("Parser::add_val_to_arg; arg={}, val={:?}", arg.name(), val); - debugln!("Parser::add_val_to_arg; trailing_vals={:?}, DontDelimTrailingVals={:?}", - self.is_set(AS::TrailingValues), - self.is_set(AS::DontDelimitTrailingValues)); - if !(self.is_set(AS::TrailingValues) && self.is_set(AS::DontDelimitTrailingValues)) { - if let Some(delim) = arg.val_delim() { - if val.is_empty_() { - Ok(self.add_single_val_to_arg(arg, val, matcher)?) - } else { - let mut iret = ParseResult::ValuesDone; - for v in val.split(delim as u32 as u8) { - iret = self.add_single_val_to_arg(arg, v, matcher)?; - } - // If there was a delimiter used, we're not looking for more values - if val.contains_byte(delim as u32 as u8) || - arg.is_set(ArgSettings::RequireDelimiter) { - iret = ParseResult::ValuesDone; - } - Ok(iret) - } - } else { - self.add_single_val_to_arg(arg, val, matcher) - } - } else { - self.add_single_val_to_arg(arg, val, matcher) - } - } - - fn add_single_val_to_arg(&self, - arg: &A, - v: &OsStr, - matcher: &mut ArgMatcher<'a>) - -> ClapResult> - where A: AnyArg<'a, 'b> + Display - { - debugln!("Parser::add_single_val_to_arg;"); - debugln!("Parser::add_single_val_to_arg: adding val...{:?}", v); - if let Some(t) = arg.val_terminator() { - if t == v { - return Ok(ParseResult::ValuesDone); - } - } - matcher.add_val_to(arg.name(), v); - - // Increment or create the group "args" - if let Some(grps) = self.groups_for_arg(arg.name()) { - for grp in grps { - matcher.add_val_to(&*grp, v); - } - } - - if matcher.needs_more_vals(arg) { - return Ok(ParseResult::Opt(arg.name())); - } - Ok(ParseResult::ValuesDone) - } - - - fn parse_flag(&self, - flag: &FlagBuilder<'a, 'b>, - matcher: &mut ArgMatcher<'a>) - -> ClapResult> { - debugln!("Parser::parse_flag;"); - - matcher.inc_occurrence_of(flag.b.name); - // Increment or create the group "args" - self.groups_for_arg(flag.b.name) - .and_then(|vec| Some(matcher.inc_occurrences_of(&*vec))); - - Ok(ParseResult::Flag) - } - - fn did_you_mean_error(&self, arg: &str, matcher: &mut ArgMatcher<'a>) -> ClapResult<()> { - - // Didn't match a flag or option - let suffix = - suggestions::did_you_mean_flag_suffix(arg, longs!(self), &self.subcommands); - - // Add the arg to the matches to build a proper usage string - if let Some(name) = suffix.1 { - if let Some(opt) = find_opt_by_long!(self, name) { - self.groups_for_arg(&*opt.b.name) - .and_then(|grps| Some(matcher.inc_occurrences_of(&*grps))); - matcher.insert(&*opt.b.name); - } else if let Some(flg) = find_flag_by_long!(self, name) { - self.groups_for_arg(&*flg.b.name) - .and_then(|grps| Some(matcher.inc_occurrences_of(&*grps))); - matcher.insert(&*flg.b.name); - } - } - - let used_arg = format!("--{}", arg); - Err(Error::unknown_argument(&*used_arg, - &*suffix.0, - &*usage::create_error_usage(self, matcher, None), - self.color())) - } - - // Prints the version to the user and exits if quit=true - fn print_version(&self, w: &mut W, use_long: bool) -> ClapResult<()> { - self.write_version(w, use_long)?; - w.flush().map_err(Error::from) - } - - pub fn write_version(&self, w: &mut W, use_long: bool) -> io::Result<()> { - let ver = if use_long { - self.meta - .long_version - .unwrap_or_else(|| self.meta.version.unwrap_or("")) - } else { - self.meta - .version - .unwrap_or_else(|| self.meta.long_version.unwrap_or("")) - }; - if let Some(bn) = self.meta.bin_name.as_ref() { - if bn.contains(' ') { - // Incase we're dealing with subcommands i.e. git mv is translated to git-mv - write!(w, "{} {}", bn.replace(" ", "-"), ver) - } else { - write!(w, "{} {}", &self.meta.name[..], ver) - } - } else { - write!(w, "{} {}", &self.meta.name[..], ver) - } - } - - pub fn print_help(&self) -> ClapResult<()> { - let out = io::stdout(); - let mut buf_w = BufWriter::new(out.lock()); - self.write_help(&mut buf_w) - } - - pub fn write_help(&self, w: &mut W) -> ClapResult<()> { - Help::write_parser_help(w, self, false) - } - - pub fn write_long_help(&self, w: &mut W) -> ClapResult<()> { - Help::write_parser_help(w, self, true) - } - - pub fn write_help_err(&self, w: &mut W) -> ClapResult<()> { - Help::write_parser_help_to_stderr(w, self) - } - - pub fn add_defaults(&mut self, matcher: &mut ArgMatcher<'a>) -> ClapResult<()> { - debugln!("Parser::add_defaults;"); - macro_rules! add_val { - (@default $_self:ident, $a:ident, $m:ident) => { - if let Some(ref val) = $a.v.default_val { - debugln!("Parser::add_defaults:iter:{}: has default vals", $a.b.name); - if $m.get($a.b.name).map(|ma| ma.vals.len()).map(|len| len == 0).unwrap_or(false) { - debugln!("Parser::add_defaults:iter:{}: has no user defined vals", $a.b.name); - $_self.add_val_to_arg($a, OsStr::new(val), $m)?; - - if $_self.cache.map_or(true, |name| name != $a.name()) { - arg_post_processing!($_self, $a, $m); - $_self.cache = Some($a.name()); - } - } else if $m.get($a.b.name).is_some() { - debugln!("Parser::add_defaults:iter:{}: has user defined vals", $a.b.name); - } else { - debugln!("Parser::add_defaults:iter:{}: wasn't used", $a.b.name); - - $_self.add_val_to_arg($a, OsStr::new(val), $m)?; - - if $_self.cache.map_or(true, |name| name != $a.name()) { - arg_post_processing!($_self, $a, $m); - $_self.cache = Some($a.name()); - } - } - } else { - debugln!("Parser::add_defaults:iter:{}: doesn't have default vals", $a.b.name); - } - }; - ($_self:ident, $a:ident, $m:ident) => { - if let Some(ref vm) = $a.v.default_vals_ifs { - sdebugln!(" has conditional defaults"); - let mut done = false; - if $m.get($a.b.name).is_none() { - for &(arg, val, default) in vm.values() { - let add = if let Some(a) = $m.get(arg) { - if let Some(v) = val { - a.vals.iter().any(|value| v == value) - } else { - true - } - } else { - false - }; - if add { - $_self.add_val_to_arg($a, OsStr::new(default), $m)?; - if $_self.cache.map_or(true, |name| name != $a.name()) { - arg_post_processing!($_self, $a, $m); - $_self.cache = Some($a.name()); - } - done = true; - break; - } - } - } - - if done { - continue; // outer loop (outside macro) - } - } else { - sdebugln!(" doesn't have conditional defaults"); - } - add_val!(@default $_self, $a, $m) - }; - } - - for o in &self.opts { - debug!("Parser::add_defaults:iter:{}:", o.b.name); - add_val!(self, o, matcher); - } - for p in self.positionals.values() { - debug!("Parser::add_defaults:iter:{}:", p.b.name); - add_val!(self, p, matcher); - } - Ok(()) - } - - pub fn add_env(&mut self, matcher: &mut ArgMatcher<'a>) -> ClapResult<()> { - macro_rules! add_val { - ($_self:ident, $a:ident, $m:ident) => { - if let Some(ref val) = $a.v.env { - if $m.get($a.b.name).map(|ma| ma.vals.len()).map(|len| len == 0).unwrap_or(false) { - if let Some(ref val) = val.1 { - $_self.add_val_to_arg($a, OsStr::new(val), $m)?; - - if $_self.cache.map_or(true, |name| name != $a.name()) { - arg_post_processing!($_self, $a, $m); - $_self.cache = Some($a.name()); - } - } - } else { - if let Some(ref val) = val.1 { - $_self.add_val_to_arg($a, OsStr::new(val), $m)?; - - if $_self.cache.map_or(true, |name| name != $a.name()) { - arg_post_processing!($_self, $a, $m); - $_self.cache = Some($a.name()); - } - } - } - } - }; - } - - for o in &self.opts { - add_val!(self, o, matcher); - } - for p in self.positionals.values() { - add_val!(self, p, matcher); - } - Ok(()) - } - - pub fn flags(&self) -> Iter> { self.flags.iter() } - - pub fn opts(&self) -> Iter> { self.opts.iter() } - - pub fn positionals(&self) -> map::Values> { self.positionals.values() } - - pub fn subcommands(&self) -> Iter { self.subcommands.iter() } - - // Should we color the output? None=determined by output location, true=yes, false=no - #[doc(hidden)] - pub fn color(&self) -> ColorWhen { - debugln!("Parser::color;"); - debug!("Parser::color: Color setting..."); - if self.is_set(AS::ColorNever) { - sdebugln!("Never"); - ColorWhen::Never - } else if self.is_set(AS::ColorAlways) { - sdebugln!("Always"); - ColorWhen::Always - } else { - sdebugln!("Auto"); - ColorWhen::Auto - } - } - - pub fn find_any_arg(&self, name: &str) -> Option<&AnyArg> { - if let Some(f) = find_by_name!(self, name, flags, iter) { - return Some(f); - } - if let Some(o) = find_by_name!(self, name, opts, iter) { - return Some(o); - } - if let Some(p) = find_by_name!(self, name, positionals, values) { - return Some(p); - } - None - } - - /// Check is a given string matches the binary name for this parser - fn is_bin_name(&self, value: &str) -> bool { - self.meta.bin_name - .as_ref() - .and_then(|name| Some(value == name)) - .unwrap_or(false) - } - - /// Check is a given string is an alias for this parser - fn is_alias(&self, value: &str) -> bool { - self.meta.aliases - .as_ref() - .and_then(|aliases| { - for alias in aliases { - if alias.0 == value { - return Some(true); - } - } - Some(false) - }) - .unwrap_or(false) - } - - // Only used for completion scripts due to bin_name messiness - #[cfg_attr(feature = "lints", allow(block_in_if_condition_stmt))] - pub fn find_subcommand(&'b self, sc: &str) -> Option<&'b App<'a, 'b>> { - debugln!("Parser::find_subcommand: sc={}", sc); - debugln!("Parser::find_subcommand: Currently in Parser...{}", - self.meta.bin_name.as_ref().unwrap()); - for s in &self.subcommands { - if s.p.is_bin_name(sc) { - return Some(s); - } - // XXX: why do we split here? - // isn't `sc` supposed to be single word already? - let last = sc.split(' ').rev().next().expect(INTERNAL_ERROR_MSG); - if s.p.is_alias(last) { - return Some(s); - } - - if let Some(app) = s.p.find_subcommand(sc) { - return Some(app); - } - } - None - } - - #[inline] - fn contains_long(&self, l: &str) -> bool { longs!(self).any(|al| al == &l) } - - #[inline] - fn contains_short(&self, s: char) -> bool { shorts!(self).any(|arg_s| arg_s == &s) } -} diff --git a/vendor/registry-40351f815f426200/clap/src/app/settings.rs b/vendor/registry-40351f815f426200/clap/src/app/settings.rs deleted file mode 100644 index d1bba53fc..000000000 --- a/vendor/registry-40351f815f426200/clap/src/app/settings.rs +++ /dev/null @@ -1,986 +0,0 @@ -// Std -use std::ascii::AsciiExt; -use std::str::FromStr; -use std::ops::BitOr; - -bitflags! { - struct Flags: u64 { - const SC_NEGATE_REQS = 1; - const SC_REQUIRED = 1 << 1; - const A_REQUIRED_ELSE_HELP = 1 << 2; - const GLOBAL_VERSION = 1 << 3; - const VERSIONLESS_SC = 1 << 4; - const UNIFIED_HELP = 1 << 5; - const WAIT_ON_ERROR = 1 << 6; - const SC_REQUIRED_ELSE_HELP= 1 << 7; - const NEEDS_LONG_HELP = 1 << 8; - const NEEDS_LONG_VERSION = 1 << 9; - const NEEDS_SC_HELP = 1 << 10; - const DISABLE_VERSION = 1 << 11; - const HIDDEN = 1 << 12; - const TRAILING_VARARG = 1 << 13; - const NO_BIN_NAME = 1 << 14; - const ALLOW_UNK_SC = 1 << 15; - const UTF8_STRICT = 1 << 16; - const UTF8_NONE = 1 << 17; - const LEADING_HYPHEN = 1 << 18; - const NO_POS_VALUES = 1 << 19; - const NEXT_LINE_HELP = 1 << 20; - const DERIVE_DISP_ORDER = 1 << 21; - const COLORED_HELP = 1 << 22; - const COLOR_ALWAYS = 1 << 23; - const COLOR_AUTO = 1 << 24; - const COLOR_NEVER = 1 << 25; - const DONT_DELIM_TRAIL = 1 << 26; - const ALLOW_NEG_NUMS = 1 << 27; - const LOW_INDEX_MUL_POS = 1 << 28; - const DISABLE_HELP_SC = 1 << 29; - const DONT_COLLAPSE_ARGS = 1 << 30; - const ARGS_NEGATE_SCS = 1 << 31; - const PROPAGATE_VALS_DOWN = 1 << 32; - const ALLOW_MISSING_POS = 1 << 33; - const TRAILING_VALUES = 1 << 34; - const VALID_NEG_NUM_FOUND = 1 << 35; - const PROPAGATED = 1 << 36; - const VALID_ARG_FOUND = 1 << 37; - const INFER_SUBCOMMANDS = 1 << 38; - const CONTAINS_LAST = 1 << 39; - } -} - -#[doc(hidden)] -#[derive(Debug, Copy, Clone, PartialEq)] -pub struct AppFlags(Flags); - -impl BitOr for AppFlags { - type Output = Self; - fn bitor(self, rhs: Self) -> Self { AppFlags(self.0 | rhs.0) } -} - -impl Default for AppFlags { - fn default() -> Self { - AppFlags(NEEDS_LONG_VERSION | NEEDS_LONG_HELP | NEEDS_SC_HELP | UTF8_NONE | COLOR_AUTO) - } -} - -impl AppFlags { - pub fn new() -> Self { AppFlags::default() } - - impl_settings! { AppSettings, - ArgRequiredElseHelp => A_REQUIRED_ELSE_HELP, - ArgsNegateSubcommands => ARGS_NEGATE_SCS, - AllowExternalSubcommands => ALLOW_UNK_SC, - AllowInvalidUtf8 => UTF8_NONE, - AllowLeadingHyphen => LEADING_HYPHEN, - AllowNegativeNumbers => ALLOW_NEG_NUMS, - AllowMissingPositional => ALLOW_MISSING_POS, - ColoredHelp => COLORED_HELP, - ColorAlways => COLOR_ALWAYS, - ColorAuto => COLOR_AUTO, - ColorNever => COLOR_NEVER, - DontDelimitTrailingValues => DONT_DELIM_TRAIL, - DontCollapseArgsInUsage => DONT_COLLAPSE_ARGS, - DeriveDisplayOrder => DERIVE_DISP_ORDER, - DisableHelpSubcommand => DISABLE_HELP_SC, - DisableVersion => DISABLE_VERSION, - GlobalVersion => GLOBAL_VERSION, - HidePossibleValuesInHelp => NO_POS_VALUES, - Hidden => HIDDEN, - LowIndexMultiplePositional => LOW_INDEX_MUL_POS, - NeedsLongHelp => NEEDS_LONG_HELP, - NeedsLongVersion => NEEDS_LONG_VERSION, - NeedsSubcommandHelp => NEEDS_SC_HELP, - NoBinaryName => NO_BIN_NAME, - PropagateGlobalValuesDown=> PROPAGATE_VALS_DOWN, - StrictUtf8 => UTF8_STRICT, - SubcommandsNegateReqs => SC_NEGATE_REQS, - SubcommandRequired => SC_REQUIRED, - SubcommandRequiredElseHelp => SC_REQUIRED_ELSE_HELP, - TrailingVarArg => TRAILING_VARARG, - UnifiedHelpMessage => UNIFIED_HELP, - NextLineHelp => NEXT_LINE_HELP, - VersionlessSubcommands => VERSIONLESS_SC, - WaitOnError => WAIT_ON_ERROR, - TrailingValues => TRAILING_VALUES, - ValidNegNumFound => VALID_NEG_NUM_FOUND, - Propagated => PROPAGATED, - ValidArgFound => VALID_ARG_FOUND, - InferSubcommands => INFER_SUBCOMMANDS, - ContainsLast => CONTAINS_LAST - } -} - -/// Application level settings, which affect how [`App`] operates -/// -/// **NOTE:** When these settings are used, they apply only to current command, and are *not* -/// propagated down or up through child or parent subcommands -/// -/// [`App`]: ./struct.App.html -#[derive(Debug, PartialEq, Copy, Clone)] -pub enum AppSettings { - /// Specifies that any invalid UTF-8 code points should *not* be treated as an error. - /// This is the default behavior of `clap`. - /// - /// **NOTE:** Using argument values with invalid UTF-8 code points requires using - /// [`ArgMatches::os_value_of`], [`ArgMatches::os_values_of`], [`ArgMatches::lossy_value_of`], - /// or [`ArgMatches::lossy_values_of`] for those particular arguments which may contain invalid - /// UTF-8 values - /// - /// **NOTE:** This rule only applies to argument values, as flags, options, and - /// [`SubCommand`]s themselves only allow valid UTF-8 code points. - /// - /// # Platform Specific - /// - /// Non Windows systems only - /// - /// # Examples - /// - #[cfg_attr(not(unix), doc=" ```ignore")] - #[cfg_attr( unix , doc=" ```")] - /// # use clap::{App, AppSettings}; - /// use std::ffi::OsString; - /// use std::os::unix::ffi::{OsStrExt,OsStringExt}; - /// - /// let r = App::new("myprog") - /// //.setting(AppSettings::AllowInvalidUtf8) - /// .arg_from_usage(" 'some positional arg'") - /// .get_matches_from_safe( - /// vec![ - /// OsString::from("myprog"), - /// OsString::from_vec(vec![0xe9])]); - /// - /// assert!(r.is_ok()); - /// let m = r.unwrap(); - /// assert_eq!(m.value_of_os("arg").unwrap().as_bytes(), &[0xe9]); - /// ``` - /// [`ArgMatches::os_value_of`]: ./struct.ArgMatches.html#method.os_value_of - /// [`ArgMatches::os_values_of`]: ./struct.ArgMatches.html#method.os_values_of - /// [`ArgMatches::lossy_value_of`]: ./struct.ArgMatches.html#method.lossy_value_of - /// [`ArgMatches::lossy_values_of`]: ./struct.ArgMatches.html#method.lossy_values_of - AllowInvalidUtf8, - - /// Specifies that leading hyphens are allowed in argument *values*, such as negative numbers - /// like `-10`. (which would otherwise be parsed as another flag or option) - /// - /// **NOTE:** Use this setting with caution as it silences certain circumstances which would - /// otherwise be an error (such as accidentally forgetting to specify a value for leading - /// option). It is preferred to set this on a per argument basis, via [`Arg::allow_hyphen_values`] - /// - /// # Examples - /// - /// ```rust - /// # use clap::{Arg, App, AppSettings}; - /// // Imagine you needed to represent negative numbers as well, such as -10 - /// let m = App::new("nums") - /// .setting(AppSettings::AllowLeadingHyphen) - /// .arg(Arg::with_name("neg").index(1)) - /// .get_matches_from(vec![ - /// "nums", "-20" - /// ]); - /// - /// assert_eq!(m.value_of("neg"), Some("-20")); - /// # ; - /// ``` - /// [`Arg::allow_hyphen_values`]: ./struct.Arg.html#method.allow_hyphen_values - AllowLeadingHyphen, - - /// Allows negative numbers to pass as values. This is similar to - /// `AllowLeadingHyphen` except that it only allows numbers, all - /// other undefined leading hyphens will fail to parse. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, AppSettings}; - /// let res = App::new("myprog") - /// .version("v1.1") - /// .setting(AppSettings::AllowNegativeNumbers) - /// .arg(Arg::with_name("num")) - /// .get_matches_from_safe(vec![ - /// "myprog", "-20" - /// ]); - /// assert!(res.is_ok()); - /// let m = res.unwrap(); - /// assert_eq!(m.value_of("num").unwrap(), "-20"); - /// ``` - /// [`AllowLeadingHyphen`]: ./enum.AppSettings.html#variant.AllowLeadingHyphen - AllowNegativeNumbers, - - /// Allows one to implement a CLI where the second to last positional argument is optional, but - /// the final positional argument is required. Such as `$ prog [optional] ` where one - /// of the two following usages is allowed: - /// - /// * `$ prog [optional] ` - /// * `$ prog ` - /// - /// This would otherwise not be allowed. This is useful when `[optional]` has a default value. - /// - /// **Note:** In addition to using this setting, the second positional argument *must* be - /// [required] - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, AppSettings}; - /// // Assume there is an external subcommand named "subcmd" - /// let m = App::new("myprog") - /// .setting(AppSettings::AllowMissingPositional) - /// .arg(Arg::with_name("arg1") - /// .default_value("something")) - /// .arg(Arg::with_name("arg2") - /// .required(true)) - /// .get_matches_from(vec![ - /// "myprog", "other" - /// ]); - /// - /// assert_eq!(m.value_of("arg1"), Some("something")); - /// assert_eq!(m.value_of("arg2"), Some("other")); - /// ``` - /// [required]: ./struct.Arg.html#method.required - AllowMissingPositional, - - /// Specifies that an unexpected positional argument, - /// which would otherwise cause a [`ErrorKind::UnknownArgument`] error, - /// should instead be treated as a [`SubCommand`] within the [`ArgMatches`] struct. - /// - /// **NOTE:** Use this setting with caution, - /// as a truly unexpected argument (i.e. one that is *NOT* an external subcommand) - /// will **not** cause an error and instead be treated as a potential subcommand. - /// One should check for such cases manually and inform the user appropriately. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, AppSettings}; - /// // Assume there is an external subcommand named "subcmd" - /// let m = App::new("myprog") - /// .setting(AppSettings::AllowExternalSubcommands) - /// .get_matches_from(vec![ - /// "myprog", "subcmd", "--option", "value", "-fff", "--flag" - /// ]); - /// - /// // All trailing arguments will be stored under the subcommand's sub-matches using an empty - /// // string argument name - /// match m.subcommand() { - /// (external, Some(ext_m)) => { - /// let ext_args: Vec<&str> = ext_m.values_of("").unwrap().collect(); - /// assert_eq!(external, "subcmd"); - /// assert_eq!(ext_args, ["--option", "value", "-fff", "--flag"]); - /// }, - /// _ => {}, - /// } - /// ``` - /// [`ErrorKind::UnknownArgument`]: ./enum.ErrorKind.html#variant.UnknownArgument - /// [`SubCommand`]: ./struct.SubCommand.html - /// [`ArgMatches`]: ./struct.ArgMatches.html - AllowExternalSubcommands, - - /// Specifies that use of a valid [argument] negates [subcomands] being used after. By default - /// `clap` allows arguments between subcommands such as - /// ` [cmd_args] [cmd2_args] [cmd3_args]`. This setting disables that - /// functionality and says that arguments can only follow the *final* subcommand. For instance - /// using this setting makes only the following invocations possible: - /// - /// * ` [cmd3_args]` - /// * ` [cmd2_args]` - /// * ` [cmd_args]` - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, AppSettings}; - /// App::new("myprog") - /// .setting(AppSettings::ArgsNegateSubcommands) - /// # ; - /// ``` - /// [subcommands]: ./struct.SubCommand.html - /// [argument]: ./struct.Arg.html - ArgsNegateSubcommands, - - /// Specifies that the help text should be displayed (and then exit gracefully), - /// if no arguments are present at runtime (i.e. an empty run such as, `$ myprog`. - /// - /// **NOTE:** [`SubCommand`]s count as arguments - /// - /// **NOTE:** Setting [`Arg::default_value`] effectively disables this option as it will - /// ensure that some argument is always present. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, AppSettings}; - /// App::new("myprog") - /// .setting(AppSettings::ArgRequiredElseHelp) - /// # ; - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - /// [`Arg::default_value`]: ./struct.Arg.html#method.default_value - ArgRequiredElseHelp, - - /// Uses colorized help messages. - /// - /// **NOTE:** Must be compiled with the `color` cargo feature - /// - /// # Platform Specific - /// - /// This setting only applies to Unix, Linux, and OSX (i.e. non-Windows platforms) - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, SubCommand, AppSettings}; - /// App::new("myprog") - /// .setting(AppSettings::ColoredHelp) - /// .get_matches(); - /// ``` - ColoredHelp, - - /// Enables colored output only when the output is going to a terminal or TTY. - /// - /// **NOTE:** This is the default behavior of `clap`. - /// - /// **NOTE:** Must be compiled with the `color` cargo feature. - /// - /// # Platform Specific - /// - /// This setting only applies to Unix, Linux, and OSX (i.e. non-Windows platforms). - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, SubCommand, AppSettings}; - /// App::new("myprog") - /// .setting(AppSettings::ColorAuto) - /// .get_matches(); - /// ``` - ColorAuto, - - /// Enables colored output regardless of whether or not the output is going to a terminal/TTY. - /// - /// **NOTE:** Must be compiled with the `color` cargo feature. - /// - /// # Platform Specific - /// - /// This setting only applies to Unix, Linux, and OSX (i.e. non-Windows platforms). - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, SubCommand, AppSettings}; - /// App::new("myprog") - /// .setting(AppSettings::ColorAlways) - /// .get_matches(); - /// ``` - ColorAlways, - - /// Disables colored output no matter if the output is going to a terminal/TTY, or not. - /// - /// **NOTE:** Must be compiled with the `color` cargo feature - /// - /// # Platform Specific - /// - /// This setting only applies to Unix, Linux, and OSX (i.e. non-Windows platforms) - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, SubCommand, AppSettings}; - /// App::new("myprog") - /// .setting(AppSettings::ColorNever) - /// .get_matches(); - /// ``` - ColorNever, - - /// Disables the automatic collapsing of positional args into `[ARGS]` inside the usage string - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, SubCommand, AppSettings}; - /// App::new("myprog") - /// .setting(AppSettings::DontCollapseArgsInUsage) - /// .get_matches(); - /// ``` - DontCollapseArgsInUsage, - - /// Disables the automatic delimiting of values when `--` or [`AppSettings::TrailingVarArg`] - /// was used. - /// - /// **NOTE:** The same thing can be done manually by setting the final positional argument to - /// [`Arg::use_delimiter(false)`]. Using this setting is safer, because it's easier to locate - /// when making changes. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, SubCommand, AppSettings}; - /// App::new("myprog") - /// .setting(AppSettings::DontDelimitTrailingValues) - /// .get_matches(); - /// ``` - /// [`AppSettings::TrailingVarArg`]: ./enum.AppSettings.html#variant.TrailingVarArg - /// [`Arg::use_delimiter(false)`]: ./struct.Arg.html#method.use_delimiter - DontDelimitTrailingValues, - - /// Disables the `help` subcommand - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, AppSettings, ErrorKind, SubCommand}; - /// let res = App::new("myprog") - /// .version("v1.1") - /// .setting(AppSettings::DisableHelpSubcommand) - /// // Normally, creating a subcommand causes a `help` subcommand to automaticaly - /// // be generated as well - /// .subcommand(SubCommand::with_name("test")) - /// .get_matches_from_safe(vec![ - /// "myprog", "help" - /// ]); - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::UnknownArgument); - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - DisableHelpSubcommand, - - /// Disables `-V` and `--version` [`App`] without affecting any of the [`SubCommand`]s - /// (Defaults to `false`; application *does* have a version flag) - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, AppSettings, ErrorKind}; - /// let res = App::new("myprog") - /// .version("v1.1") - /// .setting(AppSettings::DisableVersion) - /// .get_matches_from_safe(vec![ - /// "myprog", "-V" - /// ]); - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::UnknownArgument); - /// ``` - /// - /// ```rust - /// # use clap::{App, SubCommand, AppSettings, ErrorKind}; - /// let res = App::new("myprog") - /// .version("v1.1") - /// .setting(AppSettings::DisableVersion) - /// .subcommand(SubCommand::with_name("test")) - /// .get_matches_from_safe(vec![ - /// "myprog", "test", "-V" - /// ]); - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::VersionDisplayed); - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - DisableVersion, - - /// Displays the arguments and [`SubCommand`]s in the help message in the order that they were - /// declared in, and not alphabetically which is the default. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, SubCommand, AppSettings}; - /// App::new("myprog") - /// .setting(AppSettings::DeriveDisplayOrder) - /// .get_matches(); - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - DeriveDisplayOrder, - - /// Specifies to use the version of the current command for all child [`SubCommand`]s. - /// (Defaults to `false`; subcommands have independant version strings from their parents.) - /// - /// **NOTE:** The version for the current command **and** this setting must be set **prior** to - /// adding any child subcommands - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, SubCommand, AppSettings}; - /// App::new("myprog") - /// .version("v1.1") - /// .setting(AppSettings::GlobalVersion) - /// .subcommand(SubCommand::with_name("test")) - /// .get_matches(); - /// // running `$ myprog test --version` will display - /// // "myprog-test v1.1" - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - GlobalVersion, - - /// Specifies that this [`SubCommand`] should be hidden from help messages - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, AppSettings, SubCommand}; - /// App::new("myprog") - /// .subcommand(SubCommand::with_name("test") - /// .setting(AppSettings::Hidden)) - /// # ; - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - Hidden, - - /// Tells `clap` *not* to print possible values when displaying help information. - /// This can be useful if there are many values, or they are explained elsewhere. - HidePossibleValuesInHelp, - - /// Tries to match unknown args to partial [`subcommands`] or their [aliases]. For example to - /// match a subcommand named `test`, one could use `t`, `te`, `tes`, and `test`. - /// - /// **NOTE:** The match *must not* be ambiguous at all in order to succeed. i.e. to match `te` - /// to `test` there could not also be a subcommand or alias `temp` because both start with `te` - /// - /// **CAUTION:** This setting can interfere with [positional/free arguments], take care when - /// designing CLIs which allow inferred subcommands and have potential positional/free - /// arguments whose values could start with the same characters as subcommands. If this is the - /// case, it's recommended to use settings such as [`AppSeettings::ArgsNegateSubcommands`] in - /// conjuction with this setting. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, SubCommand, AppSettings}; - /// let m = App::new("prog") - /// .setting(AppSettings::InferSubcommands) - /// .subcommand(SubCommand::with_name("test")) - /// .get_matches_from(vec![ - /// "prog", "te" - /// ]); - /// assert_eq!(m.subcommand_name(), Some("test")); - /// ``` - /// [`subcommands`]: ./struct.SubCommand.html - /// [positional/free arguments]: ./struct.Arg.html#method.index - /// [aliases]: ./struct.App.html#method.alias - /// [`AppSeettings::ArgsNegateSubcommands`]: ./enum.AppSettings.html#variant.ArgsNegateSubcommands - InferSubcommands, - - /// Specifies that the parser should not assume the first argument passed is the binary name. - /// This is normally the case when using a "daemon" style mode, or an interactive CLI where one - /// one would not normally type the binary or program name for each command. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, AppSettings}; - /// let m = App::new("myprog") - /// .setting(AppSettings::NoBinaryName) - /// .arg(Arg::from_usage("... 'commands to run'")) - /// .get_matches_from(vec!["command", "set"]); - /// - /// let cmds: Vec<&str> = m.values_of("cmd").unwrap().collect(); - /// assert_eq!(cmds, ["command", "set"]); - /// ``` - NoBinaryName, - - /// Places the help string for all arguments on the line after the argument. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, SubCommand, AppSettings}; - /// App::new("myprog") - /// .setting(AppSettings::NextLineHelp) - /// .get_matches(); - /// ``` - NextLineHelp, - - /// **DEPRECATED**: This setting is no longer required in order to propagate values up or down - /// - /// Specifies that the parser should propagate global arg's values down or up through any *used* - /// child subcommands. Meaning, if a subcommand wasn't used, the values won't be propagated to - /// said subcommand. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, AppSettings, SubCommand}; - /// let m = App::new("myprog") - /// .arg(Arg::from_usage("[cmd] 'command to run'") - /// .global(true)) - /// .subcommand(SubCommand::with_name("foo")) - /// .get_matches_from(vec!["myprog", "set", "foo"]); - /// - /// assert_eq!(m.value_of("cmd"), Some("set")); - /// - /// let sub_m = m.subcommand_matches("foo").unwrap(); - /// assert_eq!(sub_m.value_of("cmd"), Some("set")); - /// ``` - /// Now doing the same thing, but *not* using any subcommands will result in the value not being - /// propagated down. - /// - /// ```rust - /// # use clap::{App, Arg, AppSettings, SubCommand}; - /// let m = App::new("myprog") - /// .arg(Arg::from_usage("[cmd] 'command to run'") - /// .global(true)) - /// .subcommand(SubCommand::with_name("foo")) - /// .get_matches_from(vec!["myprog", "set"]); - /// - /// assert_eq!(m.value_of("cmd"), Some("set")); - /// - /// assert!(m.subcommand_matches("foo").is_none()); - /// ``` - #[deprecated(since = "2.27.0", note = "No longer required to propagate values")] - PropagateGlobalValuesDown, - - /// Allows [`SubCommand`]s to override all requirements of the parent command. - /// For example if you had a subcommand or top level application with a required argument - /// that is only required as long as there is no subcommand present, - /// using this setting would allow you to set those arguments to [`Arg::required(true)`] - /// and yet receive no error so long as the user uses a valid subcommand instead. - /// - /// **NOTE:** This defaults to false (using subcommand does *not* negate requirements) - /// - /// # Examples - /// - /// This first example shows that it is an error to not use a required argument - /// - /// ```rust - /// # use clap::{App, Arg, AppSettings, SubCommand, ErrorKind}; - /// let err = App::new("myprog") - /// .setting(AppSettings::SubcommandsNegateReqs) - /// .arg(Arg::with_name("opt").required(true)) - /// .subcommand(SubCommand::with_name("test")) - /// .get_matches_from_safe(vec![ - /// "myprog" - /// ]); - /// assert!(err.is_err()); - /// assert_eq!(err.unwrap_err().kind, ErrorKind::MissingRequiredArgument); - /// # ; - /// ``` - /// - /// This next example shows that it is no longer error to not use a required argument if a - /// valid subcommand is used. - /// - /// ```rust - /// # use clap::{App, Arg, AppSettings, SubCommand, ErrorKind}; - /// let noerr = App::new("myprog") - /// .setting(AppSettings::SubcommandsNegateReqs) - /// .arg(Arg::with_name("opt").required(true)) - /// .subcommand(SubCommand::with_name("test")) - /// .get_matches_from_safe(vec![ - /// "myprog", "test" - /// ]); - /// assert!(noerr.is_ok()); - /// # ; - /// ``` - /// [`Arg::required(true)`]: ./struct.Arg.html#method.required - /// [`SubCommand`]: ./struct.SubCommand.html - SubcommandsNegateReqs, - - /// Specifies that the help text should be displayed (before exiting gracefully) if no - /// [`SubCommand`]s are present at runtime (i.e. an empty run such as `$ myprog`). - /// - /// **NOTE:** This should *not* be used with [`AppSettings::SubcommandRequired`] as they do - /// nearly same thing; this prints the help text, and the other prints an error. - /// - /// **NOTE:** If the user specifies arguments at runtime, but no subcommand the help text will - /// still be displayed and exit. If this is *not* the desired result, consider using - /// [`AppSettings::ArgRequiredElseHelp`] instead. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, AppSettings}; - /// App::new("myprog") - /// .setting(AppSettings::SubcommandRequiredElseHelp) - /// # ; - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - /// [`AppSettings::SubcommandRequired`]: ./enum.AppSettings.html#variant.SubcommandRequired - /// [`AppSettings::ArgRequiredElseHelp`]: ./enum.AppSettings.html#variant.ArgRequiredElseHelp - SubcommandRequiredElseHelp, - - /// Specifies that any invalid UTF-8 code points should be treated as an error and fail - /// with a [`ErrorKind::InvalidUtf8`] error. - /// - /// **NOTE:** This rule only applies to argument values; Things such as flags, options, and - /// [`SubCommand`]s themselves only allow valid UTF-8 code points. - /// - /// # Platform Specific - /// - /// Non Windows systems only - /// - /// # Examples - /// - #[cfg_attr(not(unix), doc=" ```ignore")] - #[cfg_attr( unix , doc=" ```")] - /// # use clap::{App, AppSettings, ErrorKind}; - /// use std::ffi::OsString; - /// use std::os::unix::ffi::OsStringExt; - /// - /// let m = App::new("myprog") - /// .setting(AppSettings::StrictUtf8) - /// .arg_from_usage(" 'some positional arg'") - /// .get_matches_from_safe( - /// vec![ - /// OsString::from("myprog"), - /// OsString::from_vec(vec![0xe9])]); - /// - /// assert!(m.is_err()); - /// assert_eq!(m.unwrap_err().kind, ErrorKind::InvalidUtf8); - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - /// [`ErrorKind::InvalidUtf8`]: ./enum.ErrorKind.html#variant.InvalidUtf8 - StrictUtf8, - - /// Allows specifying that if no [`SubCommand`] is present at runtime, - /// error and exit gracefully. - /// - /// **NOTE:** This defaults to `false` (subcommands do *not* need to be present) - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, AppSettings, SubCommand, ErrorKind}; - /// let err = App::new("myprog") - /// .setting(AppSettings::SubcommandRequired) - /// .subcommand(SubCommand::with_name("test")) - /// .get_matches_from_safe(vec![ - /// "myprog", - /// ]); - /// assert!(err.is_err()); - /// assert_eq!(err.unwrap_err().kind, ErrorKind::MissingSubcommand); - /// # ; - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - SubcommandRequired, - - /// Specifies that the final positional argument is a "VarArg" and that `clap` should not - /// attempt to parse any further args. - /// - /// The values of the trailing positional argument will contain all args from itself on. - /// - /// **NOTE:** The final positional argument **must** have [`Arg::multiple(true)`] or the usage - /// string equivalent. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, AppSettings}; - /// let m = App::new("myprog") - /// .setting(AppSettings::TrailingVarArg) - /// .arg(Arg::from_usage("... 'commands to run'")) - /// .get_matches_from(vec!["myprog", "arg1", "-r", "val1"]); - /// - /// let trail: Vec<&str> = m.values_of("cmd").unwrap().collect(); - /// assert_eq!(trail, ["arg1", "-r", "val1"]); - /// ``` - /// [`Arg::multiple(true)`]: ./struct.Arg.html#method.multiple - TrailingVarArg, - - /// Groups flags and options together, presenting a more unified help message - /// (a la `getopts` or `docopt` style). - /// - /// The default is that the auto-generated help message will group flags, and options - /// separately. - /// - /// **NOTE:** This setting is cosmetic only and does not affect any functionality. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, SubCommand, AppSettings}; - /// App::new("myprog") - /// .setting(AppSettings::UnifiedHelpMessage) - /// .get_matches(); - /// // running `myprog --help` will display a unified "docopt" or "getopts" style help message - /// ``` - UnifiedHelpMessage, - - /// Disables `-V` and `--version` for all [`SubCommand`]s - /// (Defaults to `false`; subcommands *do* have version flags.) - /// - /// **NOTE:** This setting must be set **prior** adding any subcommands - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, SubCommand, AppSettings, ErrorKind}; - /// let res = App::new("myprog") - /// .version("v1.1") - /// .setting(AppSettings::VersionlessSubcommands) - /// .subcommand(SubCommand::with_name("test")) - /// .get_matches_from_safe(vec![ - /// "myprog", "test", "-V" - /// ]); - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::UnknownArgument); - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - VersionlessSubcommands, - - /// Will display a message "Press [ENTER]/[RETURN] to continue..." and wait for user before - /// exiting - /// - /// This is most useful when writing an application which is run from a GUI shortcut, or on - /// Windows where a user tries to open the binary by double-clicking instead of using the - /// command line. - /// - /// **NOTE:** This setting is **not** recursive with [`SubCommand`]s, meaning if you wish this - /// behavior for all subcommands, you must set this on each command (needing this is extremely - /// rare) - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, AppSettings}; - /// App::new("myprog") - /// .setting(AppSettings::WaitOnError) - /// # ; - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - WaitOnError, - - #[doc(hidden)] - NeedsLongVersion, - - #[doc(hidden)] - NeedsLongHelp, - - #[doc(hidden)] - NeedsSubcommandHelp, - - #[doc(hidden)] - LowIndexMultiplePositional, - - #[doc(hidden)] - TrailingValues, - - #[doc(hidden)] - ValidNegNumFound, - - #[doc(hidden)] - Propagated, - - #[doc(hidden)] - ValidArgFound, - - #[doc(hidden)] - ContainsLast, -} - -impl FromStr for AppSettings { - type Err = String; - fn from_str(s: &str) -> Result::Err> { - match &*s.to_ascii_lowercase() { - "argrequiredelsehelp" => Ok(AppSettings::ArgRequiredElseHelp), - "argsnegatesubcommands" => Ok(AppSettings::ArgsNegateSubcommands), - "allowinvalidutf8" => Ok(AppSettings::AllowInvalidUtf8), - "allowleadinghyphen" => Ok(AppSettings::AllowLeadingHyphen), - "allowexternalsubcommands" => Ok(AppSettings::AllowExternalSubcommands), - "allownegativenumbers" => Ok(AppSettings::AllowNegativeNumbers), - "colorauto" => Ok(AppSettings::ColorAuto), - "coloralways" => Ok(AppSettings::ColorAlways), - "colornever" => Ok(AppSettings::ColorNever), - "coloredhelp" => Ok(AppSettings::ColoredHelp), - "derivedisplayorder" => Ok(AppSettings::DeriveDisplayOrder), - "dontcollapseargsinusage" => Ok(AppSettings::DontCollapseArgsInUsage), - "dontdelimittrailingvalues" => Ok(AppSettings::DontDelimitTrailingValues), - "disablehelpsubcommand" => Ok(AppSettings::DisableHelpSubcommand), - "disableversion" => Ok(AppSettings::DisableVersion), - "globalversion" => Ok(AppSettings::GlobalVersion), - "hidden" => Ok(AppSettings::Hidden), - "hidepossiblevaluesinhelp" => Ok(AppSettings::HidePossibleValuesInHelp), - "infersubcommands" => Ok(AppSettings::InferSubcommands), - "lowindexmultiplepositional" => Ok(AppSettings::LowIndexMultiplePositional), - "nobinaryname" => Ok(AppSettings::NoBinaryName), - "nextlinehelp" => Ok(AppSettings::NextLineHelp), - "strictutf8" => Ok(AppSettings::StrictUtf8), - "subcommandsnegatereqs" => Ok(AppSettings::SubcommandsNegateReqs), - "subcommandrequired" => Ok(AppSettings::SubcommandRequired), - "subcommandrequiredelsehelp" => Ok(AppSettings::SubcommandRequiredElseHelp), - "trailingvararg" => Ok(AppSettings::TrailingVarArg), - "unifiedhelpmessage" => Ok(AppSettings::UnifiedHelpMessage), - "versionlesssubcommands" => Ok(AppSettings::VersionlessSubcommands), - "waitonerror" => Ok(AppSettings::WaitOnError), - "validnegnumfound" => Ok(AppSettings::ValidNegNumFound), - "validargfound" => Ok(AppSettings::ValidArgFound), - "propagated" => Ok(AppSettings::Propagated), - "trailingvalues" => Ok(AppSettings::TrailingValues), - _ => Err("unknown AppSetting, cannot convert from str".to_owned()), - } - } -} - -#[cfg(test)] -mod test { - use super::AppSettings; - - #[test] - fn app_settings_fromstr() { - assert_eq!("argsnegatesubcommands".parse::().unwrap(), - AppSettings::ArgsNegateSubcommands); - assert_eq!("argrequiredelsehelp".parse::().unwrap(), - AppSettings::ArgRequiredElseHelp); - assert_eq!("allowexternalsubcommands".parse::().unwrap(), - AppSettings::AllowExternalSubcommands); - assert_eq!("allowinvalidutf8".parse::().unwrap(), - AppSettings::AllowInvalidUtf8); - assert_eq!("allowleadinghyphen".parse::().unwrap(), - AppSettings::AllowLeadingHyphen); - assert_eq!("allownegativenumbers".parse::().unwrap(), - AppSettings::AllowNegativeNumbers); - assert_eq!("coloredhelp".parse::().unwrap(), - AppSettings::ColoredHelp); - assert_eq!("colorauto".parse::().unwrap(), - AppSettings::ColorAuto); - assert_eq!("coloralways".parse::().unwrap(), - AppSettings::ColorAlways); - assert_eq!("colornever".parse::().unwrap(), - AppSettings::ColorNever); - assert_eq!("disablehelpsubcommand".parse::().unwrap(), - AppSettings::DisableHelpSubcommand); - assert_eq!("disableversion".parse::().unwrap(), - AppSettings::DisableVersion); - assert_eq!("dontcollapseargsinusage".parse::().unwrap(), - AppSettings::DontCollapseArgsInUsage); - assert_eq!("dontdelimittrailingvalues".parse::().unwrap(), - AppSettings::DontDelimitTrailingValues); - assert_eq!("derivedisplayorder".parse::().unwrap(), - AppSettings::DeriveDisplayOrder); - assert_eq!("globalversion".parse::().unwrap(), - AppSettings::GlobalVersion); - assert_eq!("hidden".parse::().unwrap(), - AppSettings::Hidden); - assert_eq!("hidepossiblevaluesinhelp".parse::().unwrap(), - AppSettings::HidePossibleValuesInHelp); - assert_eq!("lowindexmultiplePositional".parse::().unwrap(), - AppSettings::LowIndexMultiplePositional); - assert_eq!("nobinaryname".parse::().unwrap(), - AppSettings::NoBinaryName); - assert_eq!("nextlinehelp".parse::().unwrap(), - AppSettings::NextLineHelp); - assert_eq!("subcommandsnegatereqs".parse::().unwrap(), - AppSettings::SubcommandsNegateReqs); - assert_eq!("subcommandrequired".parse::().unwrap(), - AppSettings::SubcommandRequired); - assert_eq!("subcommandrequiredelsehelp".parse::().unwrap(), - AppSettings::SubcommandRequiredElseHelp); - assert_eq!("strictutf8".parse::().unwrap(), - AppSettings::StrictUtf8); - assert_eq!("trailingvararg".parse::().unwrap(), - AppSettings::TrailingVarArg); - assert_eq!("unifiedhelpmessage".parse::().unwrap(), - AppSettings::UnifiedHelpMessage); - assert_eq!("versionlesssubcommands".parse::().unwrap(), - AppSettings::VersionlessSubcommands); - assert_eq!("waitonerror".parse::().unwrap(), - AppSettings::WaitOnError); - assert_eq!("validnegnumfound".parse::().unwrap(), - AppSettings::ValidNegNumFound); - assert_eq!("validargfound".parse::().unwrap(), - AppSettings::ValidArgFound); - assert_eq!("propagated".parse::().unwrap(), - AppSettings::Propagated); - assert_eq!("trailingvalues".parse::().unwrap(), - AppSettings::TrailingValues); - assert_eq!("infersubcommands".parse::().unwrap(), - AppSettings::InferSubcommands); - assert!("hahahaha".parse::().is_err()); - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/app/usage.rs b/vendor/registry-40351f815f426200/clap/src/app/usage.rs deleted file mode 100644 index 39489dc75..000000000 --- a/vendor/registry-40351f815f426200/clap/src/app/usage.rs +++ /dev/null @@ -1,439 +0,0 @@ -// std -use std::collections::{BTreeMap, VecDeque}; - -// Internal -use INTERNAL_ERROR_MSG; -use args::{AnyArg, ArgMatcher, PosBuilder}; -use args::settings::ArgSettings; -use app::settings::AppSettings as AS; -use app::parser::Parser; - -// Creates a usage string for display. This happens just after all arguments were parsed, but before -// any subcommands have been parsed (so as to give subcommands their own usage recursively) -pub fn create_usage_with_title(p: &Parser, used: &[&str]) -> String { - debugln!("usage::create_usage_with_title;"); - let mut usage = String::with_capacity(75); - usage.push_str("USAGE:\n "); - usage.push_str(&*create_usage_no_title(p, used)); - usage -} - -// Creates a usage string to be used in error message (i.e. one with currently used args) -pub fn create_error_usage<'a, 'b>(p: &Parser<'a, 'b>, - matcher: &'b ArgMatcher<'a>, - extra: Option<&str>) - -> String { - let mut args: Vec<_> = matcher.arg_names() - .iter() - .filter(|n| { - if let Some(o) = find_by_name!(p, **n, opts, iter) { - !o.b.is_set(ArgSettings::Required) && !o.b.is_set(ArgSettings::Hidden) - } else if let Some(p) = find_by_name!(p, **n, positionals, values) { - !p.b.is_set(ArgSettings::Required) && p.b.is_set(ArgSettings::Hidden) - } else { - true // flags can't be required, so they're always true - } - }) - .map(|&n| n) - .collect(); - if let Some(r) = extra { - args.push(r); - } - create_usage_with_title(p, &*args) -} - -// Creates a usage string (*without title*) if one was not provided by the user manually. -pub fn create_usage_no_title(p: &Parser, used: &[&str]) -> String { - debugln!("usage::create_usage_no_title;"); - if let Some(u) = p.meta.usage_str { - String::from(&*u) - } else if used.is_empty() { - create_help_usage(p, true) - } else { - create_smart_usage(p, used) - } -} - -// Creates a usage string for display in help messages (i.e. not for errors) -pub fn create_help_usage(p: &Parser, incl_reqs: bool) -> String { - let mut usage = String::with_capacity(75); - let name = p.meta - .usage - .as_ref() - .unwrap_or_else(|| { - p.meta - .bin_name - .as_ref() - .unwrap_or(&p.meta.name) - }); - usage.push_str(&*name); - let req_string = if incl_reqs { - let mut reqs: Vec<&str> = p.required().map(|r| &**r).collect(); - reqs.sort(); - reqs.dedup(); - get_required_usage_from(p, &reqs, None, None, false).iter().fold(String::new(), |a, s| { - a + &format!(" {}", s)[..] - }) - } else { - String::new() - }; - - let flags = needs_flags_tag(p); - if flags && !p.is_set(AS::UnifiedHelpMessage) { - usage.push_str(" [FLAGS]"); - } else if flags { - usage.push_str(" [OPTIONS]"); - } - if !p.is_set(AS::UnifiedHelpMessage) && - p.opts.iter().any(|o| !o.is_set(ArgSettings::Required) && !o.is_set(ArgSettings::Hidden)) { - usage.push_str(" [OPTIONS]"); - } - - usage.push_str(&req_string[..]); - - let has_last = p.positionals.values().any(|p| p.is_set(ArgSettings::Last)); - // places a '--' in the usage string if there are args and options - // supporting multiple values - if p.opts.iter().any(|o| o.is_set(ArgSettings::Multiple)) && - p.positionals.values().any(|p| !p.is_set(ArgSettings::Required)) && - !p.has_visible_subcommands() && !has_last { - usage.push_str(" [--]"); - } - let not_req_or_hidden = - |p: &PosBuilder| (!p.is_set(ArgSettings::Required) || p.is_set(ArgSettings::Last)) && !p.is_set(ArgSettings::Hidden); - if p.has_positionals() && p.positionals.values().any(not_req_or_hidden) { - if let Some(args_tag) = get_args_tag(p, incl_reqs) { - usage.push_str(&*args_tag); - } else { - usage.push_str(" [ARGS]"); - } - if has_last && incl_reqs { - let pos = p.positionals - .values() - .find(|p| p.b.is_set(ArgSettings::Last)) - .expect(INTERNAL_ERROR_MSG); - debugln!("usage::create_help_usage: '{}' has .last(true)", pos.name()); - let req = pos.is_set(ArgSettings::Required); - if req && p.positionals.values().any(|p| !p.is_set(ArgSettings::Required)) { - usage.push_str(" -- <"); - } else if req { - usage.push_str(" [--] <"); - } else { - usage.push_str(" [-- <"); - } - usage.push_str(&*pos.name_no_brackets()); - usage.push_str(">"); - usage.push_str(pos.multiple_str()); - if !req { - usage.push_str("]"); - } - } - } - - // incl_reqs is only false when this function is called recursively - if p.has_visible_subcommands() && incl_reqs { - if p.is_set(AS::SubcommandsNegateReqs) || p.is_set(AS::ArgsNegateSubcommands) { - if !p.is_set(AS::ArgsNegateSubcommands) { - usage.push_str("\n "); - usage.push_str(&*create_help_usage(p, false)); - usage.push_str(" "); - } else { - usage.push_str("\n "); - usage.push_str(&*name); - usage.push_str(" "); - } - } else if p.is_set(AS::SubcommandRequired) || p.is_set(AS::SubcommandRequiredElseHelp) { - usage.push_str(" "); - } else { - usage.push_str(" [SUBCOMMAND]"); - } - } - usage.shrink_to_fit(); - debugln!("usage::create_help_usage: usage={}", usage); - usage -} - -// Creates a context aware usage string, or "smart usage" from currently used -// args, and requirements -fn create_smart_usage(p: &Parser, used: &[&str]) -> String { - debugln!("usage::smart_usage;"); - let mut usage = String::with_capacity(75); - let mut hs: Vec<&str> = p.required().map(|s| &**s).collect(); - hs.extend_from_slice(used); - - let r_string = - get_required_usage_from(p, &hs, None, None, false).iter().fold(String::new(), |acc, s| { - acc + &format!(" {}", s)[..] - }); - - usage.push_str(&p.meta - .usage - .as_ref() - .unwrap_or_else(|| { - p.meta - .bin_name - .as_ref() - .unwrap_or(&p.meta.name) - }) - [..]); - usage.push_str(&*r_string); - if p.is_set(AS::SubcommandRequired) { - usage.push_str(" "); - } - usage.shrink_to_fit(); - usage -} - -// Gets the `[ARGS]` tag for the usage string -fn get_args_tag(p: &Parser, incl_reqs: bool) -> Option { - debugln!("usage::get_args_tag;"); - let mut count = 0; - 'outer: for pos in p.positionals - .values() - .filter(|pos| !pos.is_set(ArgSettings::Required)) - .filter(|pos| !pos.is_set(ArgSettings::Hidden)) - .filter(|pos| !pos.is_set(ArgSettings::Last)) { - debugln!("usage::get_args_tag:iter:{}:", pos.b.name); - if let Some(g_vec) = p.groups_for_arg(pos.b.name) { - for grp_s in &g_vec { - debugln!("usage::get_args_tag:iter:{}:iter:{};", pos.b.name, grp_s); - // if it's part of a required group we don't want to count it - if p.groups.iter().any(|g| g.required && (&g.name == grp_s)) { - continue 'outer; - } - } - } - count += 1; - debugln!("usage::get_args_tag:iter: {} Args not required or hidden", - count); - } - if !p.is_set(AS::DontCollapseArgsInUsage) && count > 1 { - debugln!("usage::get_args_tag:iter: More than one, returning [ARGS]"); - return None; // [ARGS] - } else if count == 1 && incl_reqs { - let pos = p.positionals - .values() - .find(|pos| { - !pos.is_set(ArgSettings::Required) && !pos.is_set(ArgSettings::Hidden) && - !pos.is_set(ArgSettings::Last) - }) - .expect(INTERNAL_ERROR_MSG); - debugln!("usage::get_args_tag:iter: Exactly one, returning '{}'", - pos.name()); - return Some(format!(" [{}]{}", pos.name_no_brackets(), pos.multiple_str())); - } else if p.is_set(AS::DontCollapseArgsInUsage) && !p.positionals.is_empty() && incl_reqs { - debugln!("usage::get_args_tag:iter: Don't collapse returning all"); - return Some(p.positionals - .values() - .filter(|pos| !pos.is_set(ArgSettings::Required)) - .filter(|pos| !pos.is_set(ArgSettings::Hidden)) - .filter(|pos| !pos.is_set(ArgSettings::Last)) - .map(|pos| { - format!(" [{}]{}", pos.name_no_brackets(), pos.multiple_str()) - }) - .collect::>() - .join("")); - } else if !incl_reqs { - debugln!("usage::get_args_tag:iter: incl_reqs=false, building secondary usage string"); - let highest_req_pos = p.positionals - .iter() - .filter_map(|(idx, pos)| if pos.b.is_set(ArgSettings::Required) && - !pos.b.is_set(ArgSettings::Last) { - Some(idx) - } else { - None - }) - .max() - .unwrap_or_else(|| p.positionals.len()); - return Some(p.positionals - .iter() - .filter_map(|(idx, pos)| if idx <= highest_req_pos { - Some(pos) - } else { - None - }) - .filter(|pos| !pos.is_set(ArgSettings::Required)) - .filter(|pos| !pos.is_set(ArgSettings::Hidden)) - .filter(|pos| !pos.is_set(ArgSettings::Last)) - .map(|pos| { - format!(" [{}]{}", pos.name_no_brackets(), pos.multiple_str()) - }) - .collect::>() - .join("")); - } - Some("".into()) -} - -// Determines if we need the `[FLAGS]` tag in the usage string -fn needs_flags_tag(p: &Parser) -> bool { - debugln!("usage::needs_flags_tag;"); - 'outer: for f in &p.flags { - debugln!("usage::needs_flags_tag:iter: f={};", f.b.name); - if let Some(l) = f.s.long { - if l == "help" || l == "version" { - // Don't print `[FLAGS]` just for help or version - continue; - } - } - if let Some(g_vec) = p.groups_for_arg(f.b.name) { - for grp_s in &g_vec { - debugln!("usage::needs_flags_tag:iter:iter: grp_s={};", grp_s); - if p.groups.iter().any(|g| &g.name == grp_s && g.required) { - debugln!("usage::needs_flags_tag:iter:iter: Group is required"); - continue 'outer; - } - } - } - if f.is_set(ArgSettings::Hidden) { - continue; - } - debugln!("usage::needs_flags_tag:iter: [FLAGS] required"); - return true; - } - - debugln!("usage::needs_flags_tag: [FLAGS] not required"); - false -} - -// Returns the required args in usage string form by fully unrolling all groups -pub fn get_required_usage_from<'a, 'b>(p: &Parser<'a, 'b>, - reqs: &[&'a str], - matcher: Option<&ArgMatcher<'a>>, - extra: Option<&str>, - incl_last: bool) - -> VecDeque { - debugln!("usage::get_required_usage_from: reqs={:?}, extra={:?}", - reqs, - extra); - let mut desc_reqs: Vec<&str> = vec![]; - desc_reqs.extend(extra); - let mut new_reqs: Vec<&str> = vec![]; - macro_rules! get_requires { - (@group $a: ident, $v:ident, $p:ident) => {{ - if let Some(rl) = p.groups.iter() - .filter(|g| g.requires.is_some()) - .find(|g| &g.name == $a) - .map(|g| g.requires.as_ref().unwrap()) { - for r in rl { - if !$p.contains(&r) { - debugln!("usage::get_required_usage_from:iter:{}: adding group req={:?}", - $a, r); - $v.push(r); - } - } - } - }}; - ($a:ident, $what:ident, $how:ident, $v:ident, $p:ident) => {{ - if let Some(rl) = p.$what.$how() - .filter(|a| a.b.requires.is_some()) - .find(|arg| &arg.b.name == $a) - .map(|a| a.b.requires.as_ref().unwrap()) { - for &(_, r) in rl.iter() { - if !$p.contains(&r) { - debugln!("usage::get_required_usage_from:iter:{}: adding arg req={:?}", - $a, r); - $v.push(r); - } - } - } - }}; - } - // initialize new_reqs - for a in reqs { - get_requires!(a, flags, iter, new_reqs, reqs); - get_requires!(a, opts, iter, new_reqs, reqs); - get_requires!(a, positionals, values, new_reqs, reqs); - get_requires!(@group a, new_reqs, reqs); - } - desc_reqs.extend_from_slice(&*new_reqs); - debugln!("usage::get_required_usage_from: after init desc_reqs={:?}", - desc_reqs); - loop { - let mut tmp = vec![]; - for a in &new_reqs { - get_requires!(a, flags, iter, tmp, desc_reqs); - get_requires!(a, opts, iter, tmp, desc_reqs); - get_requires!(a, positionals, values, tmp, desc_reqs); - get_requires!(@group a, tmp, desc_reqs); - } - if tmp.is_empty() { - debugln!("usage::get_required_usage_from: no more children"); - break; - } else { - debugln!("usage::get_required_usage_from: after iter tmp={:?}", tmp); - debugln!("usage::get_required_usage_from: after iter new_reqs={:?}", - new_reqs); - desc_reqs.extend_from_slice(&*new_reqs); - new_reqs.clear(); - new_reqs.extend_from_slice(&*tmp); - debugln!("usage::get_required_usage_from: after iter desc_reqs={:?}", - desc_reqs); - } - } - desc_reqs.extend_from_slice(reqs); - desc_reqs.sort(); - desc_reqs.dedup(); - debugln!("usage::get_required_usage_from: final desc_reqs={:?}", - desc_reqs); - let mut ret_val = VecDeque::new(); - let args_in_groups = p.groups - .iter() - .filter(|gn| desc_reqs.contains(&gn.name)) - .flat_map(|g| p.arg_names_in_group(g.name)) - .collect::>(); - - let pmap = if let Some(m) = matcher { - desc_reqs.iter() - .filter(|a| p.positionals.values().any(|p| &&p.b.name == a)) - .filter(|&pos| !m.contains(pos)) - .filter_map(|pos| p.positionals.values().find(|x| &x.b.name == pos)) - .filter(|&pos| incl_last || !pos.is_set(ArgSettings::Last)) - .filter(|pos| !args_in_groups.contains(&pos.b.name)) - .map(|pos| (pos.index, pos)) - .collect::>() // sort by index - } else { - desc_reqs.iter() - .filter(|a| p.positionals.values().any(|pos| &&pos.b.name == a)) - .filter_map(|pos| p.positionals.values().find(|x| &x.b.name == pos)) - .filter(|&pos| incl_last || !pos.is_set(ArgSettings::Last)) - .filter(|pos| !args_in_groups.contains(&pos.b.name)) - .map(|pos| (pos.index, pos)) - .collect::>() // sort by index - }; - debugln!("usage::get_required_usage_from: args_in_groups={:?}", - args_in_groups); - for &p in pmap.values() { - let s = p.to_string(); - if args_in_groups.is_empty() || !args_in_groups.contains(&&*s) { - ret_val.push_back(s); - } - } - for a in desc_reqs.iter() - .filter(|name| !p.positionals.values().any(|p| &&p.b.name == name)) - .filter(|name| !p.groups.iter().any(|g| &&g.name == name)) - .filter(|name| !args_in_groups.contains(name)) - .filter(|name| !(matcher.is_some() && matcher.as_ref().unwrap().contains(name))) { - debugln!("usage::get_required_usage_from:iter:{}:", a); - let arg = find_by_name!(p, *a, flags, iter) - .map(|f| f.to_string()) - .unwrap_or_else(|| { - find_by_name!(p, *a, opts, iter) - .map(|o| o.to_string()) - .expect(INTERNAL_ERROR_MSG) - }); - ret_val.push_back(arg); - } - let mut g_vec: Vec = vec![]; - for g in desc_reqs.iter().filter(|n| p.groups.iter().any(|g| &&g.name == n)) { - let g_string = p.args_in_group(g).join("|"); - let elem = format!("<{}>", &g_string[..g_string.len()]); - if !g_vec.contains(&elem) { - g_vec.push(elem); - } - } - for g in g_vec { - ret_val.push_back(g); - } - - ret_val -} diff --git a/vendor/registry-40351f815f426200/clap/src/app/validator.rs b/vendor/registry-40351f815f426200/clap/src/app/validator.rs deleted file mode 100644 index fd152a835..000000000 --- a/vendor/registry-40351f815f426200/clap/src/app/validator.rs +++ /dev/null @@ -1,460 +0,0 @@ -// std -use std::fmt::Display; - -// Internal -use INTERNAL_ERROR_MSG; -use INVALID_UTF8; -use args::{AnyArg, ArgMatcher, MatchedArg}; -use args::settings::ArgSettings; -use errors::{Error, ErrorKind}; -use errors::Result as ClapResult; -use osstringext::OsStrExt2; -use app::settings::AppSettings as AS; -use app::parser::{Parser, ParseResult}; -use fmt::{Colorizer, ColorizerOption}; -use app::usage; - -pub struct Validator<'a, 'b, 'z>(&'z mut Parser<'a, 'b>) - where 'a: 'b, - 'b: 'z; - -impl<'a, 'b, 'z> Validator<'a, 'b, 'z> { - pub fn new(p: &'z mut Parser<'a, 'b>) -> Self { Validator(p) } - - pub fn validate(&mut self, - needs_val_of: ParseResult<'a>, - subcmd_name: Option, - matcher: &mut ArgMatcher<'a>) - -> ClapResult<()> { - debugln!("Validator::validate;"); - let mut reqs_validated = false; - self.0.add_env(matcher)?; - self.0.add_defaults(matcher)?; - if let ParseResult::Opt(a) = needs_val_of { - debugln!("Validator::validate: needs_val_of={:?}", a); - let o = self.0 - .opts - .iter() - .find(|o| o.b.name == a) - .expect(INTERNAL_ERROR_MSG); - self.validate_required(matcher)?; - reqs_validated = true; - let should_err = if let Some(v) = matcher.0.args.get(&*o.b.name) { - v.vals.is_empty() && !(o.v.min_vals.is_some() && o.v.min_vals.unwrap() == 0) - } else { - true - }; - if should_err { - return Err(Error::empty_value(o, - &*usage::create_error_usage(self.0, matcher, None), - self.0.color())); - } - } - - if matcher.is_empty() && matcher.subcommand_name().is_none() && - self.0.is_set(AS::ArgRequiredElseHelp) { - let mut out = vec![]; - self.0.write_help_err(&mut out)?; - return Err(Error { - message: String::from_utf8_lossy(&*out).into_owned(), - kind: ErrorKind::MissingArgumentOrSubcommand, - info: None, - }); - } - self.validate_blacklist(matcher)?; - if !(self.0.is_set(AS::SubcommandsNegateReqs) && subcmd_name.is_some()) && !reqs_validated { - self.validate_required(matcher)?; - } - self.validate_matched_args(matcher)?; - matcher.usage(usage::create_usage_with_title(self.0, &[])); - - Ok(()) - } - - fn validate_values(&self, - arg: &A, - ma: &MatchedArg, - matcher: &ArgMatcher<'a>) - -> ClapResult<()> - where A: AnyArg<'a, 'b> + Display - { - debugln!("Validator::validate_values: arg={:?}", arg.name()); - for val in &ma.vals { - if self.0.is_set(AS::StrictUtf8) && val.to_str().is_none() { - debugln!("Validator::validate_values: invalid UTF-8 found in val {:?}", - val); - return Err(Error::invalid_utf8(&*usage::create_error_usage(self.0, matcher, None), - self.0.color())); - } - if let Some(p_vals) = arg.possible_vals() { - debugln!("Validator::validate_values: possible_vals={:?}", p_vals); - let val_str = val.to_string_lossy(); - if !p_vals.contains(&&*val_str) { - return Err(Error::invalid_value(val_str, - p_vals, - arg, - &*usage::create_error_usage(self.0, - matcher, - None), - self.0.color())); - } - } - if !arg.is_set(ArgSettings::EmptyValues) && val.is_empty_() && - matcher.contains(&*arg.name()) { - debugln!("Validator::validate_values: illegal empty val found"); - return Err(Error::empty_value(arg, - &*usage::create_error_usage(self.0, matcher, None), - self.0.color())); - } - if let Some(vtor) = arg.validator() { - debug!("Validator::validate_values: checking validator..."); - if let Err(e) = vtor(val.to_string_lossy().into_owned()) { - sdebugln!("error"); - return Err(Error::value_validation(Some(arg), e, self.0.color())); - } else { - sdebugln!("good"); - } - } - if let Some(vtor) = arg.validator_os() { - debug!("Validator::validate_values: checking validator_os..."); - if let Err(e) = vtor(val) { - sdebugln!("error"); - return Err(Error::value_validation(Some(arg), - (*e).to_string_lossy().to_string(), - self.0.color())); - } else { - sdebugln!("good"); - } - } - } - Ok(()) - } - - fn validate_blacklist(&self, matcher: &mut ArgMatcher) -> ClapResult<()> { - debugln!("Validator::validate_blacklist: blacklist={:?}", - self.0.blacklist); - macro_rules! build_err { - ($p:expr, $name:expr, $matcher:ident) => ({ - debugln!("build_err!: name={}", $name); - let mut c_with = find_from!($p, &$name, blacklist, &$matcher); - c_with = c_with.or( - $p.find_any_arg(&$name).map_or(None, |aa| aa.blacklist()) - .map_or(None, - |bl| bl.iter().find(|arg| $matcher.contains(arg))) - .map_or(None, |an| $p.find_any_arg(an)) - .map_or(None, |aa| Some(format!("{}", aa))) - ); - debugln!("build_err!: '{:?}' conflicts with '{}'", c_with, &$name); - $matcher.remove(&$name); - let usg = usage::create_error_usage($p, $matcher, None); - if let Some(f) = find_by_name!($p, $name, flags, iter) { - debugln!("build_err!: It was a flag..."); - Error::argument_conflict(f, c_with, &*usg, self.0.color()) - } else if let Some(o) = find_by_name!($p, $name, opts, iter) { - debugln!("build_err!: It was an option..."); - Error::argument_conflict(o, c_with, &*usg, self.0.color()) - } else { - match find_by_name!($p, $name, positionals, values) { - Some(p) => { - debugln!("build_err!: It was a positional..."); - Error::argument_conflict(p, c_with, &*usg, self.0.color()) - }, - None => panic!(INTERNAL_ERROR_MSG) - } - } - }); - } - - for name in &self.0.blacklist { - debugln!("Validator::validate_blacklist:iter:{}: Checking blacklisted arg", name); - let mut should_err = false; - if self.0.groups.iter().any(|g| &g.name == name) { - debugln!("Validator::validate_blacklist:iter:{}: groups contains it...", name); - for n in self.0.arg_names_in_group(name) { - debugln!("Validator::validate_blacklist:iter:{}:iter:{}: looking in group...", name, n); - if matcher.contains(n) { - debugln!("Validator::validate_blacklist:iter:{}:iter:{}: matcher contains it...", name, n); - return Err(build_err!(self.0, n, matcher)); - } - } - } else if let Some(ma) = matcher.get(name) { - debugln!("Validator::validate_blacklist:iter:{}: matcher contains it...", name); - should_err = ma.occurs > 0; - } - if should_err { - return Err(build_err!(self.0, *name, matcher)); - } - } - Ok(()) - } - - fn validate_matched_args(&self, matcher: &mut ArgMatcher<'a>) -> ClapResult<()> { - debugln!("Validator::validate_matched_args;"); - for (name, ma) in matcher.iter() { - debugln!("Validator::validate_matched_args:iter:{}: vals={:#?}", - name, - ma.vals); - if let Some(opt) = find_by_name!(self.0, *name, opts, iter) { - self.validate_arg_num_vals(opt, ma, matcher)?; - self.validate_values(opt, ma, matcher)?; - self.validate_arg_requires(opt, ma, matcher)?; - self.validate_arg_num_occurs(opt, ma, matcher)?; - } else if let Some(flag) = find_by_name!(self.0, *name, flags, iter) { - self.validate_arg_requires(flag, ma, matcher)?; - self.validate_arg_num_occurs(flag, ma, matcher)?; - } else if let Some(pos) = find_by_name!(self.0, *name, positionals, values) { - self.validate_arg_num_vals(pos, ma, matcher)?; - self.validate_arg_num_occurs(pos, ma, matcher)?; - self.validate_values(pos, ma, matcher)?; - self.validate_arg_requires(pos, ma, matcher)?; - } else { - let grp = self.0 - .groups - .iter() - .find(|g| &g.name == name) - .expect(INTERNAL_ERROR_MSG); - if let Some(ref g_reqs) = grp.requires { - if g_reqs.iter().any(|&n| !matcher.contains(n)) { - return self.missing_required_error(matcher, None); - } - } - } - } - Ok(()) - } - - fn validate_arg_num_occurs(&self, - a: &A, - ma: &MatchedArg, - matcher: &ArgMatcher) - -> ClapResult<()> - where A: AnyArg<'a, 'b> + Display - { - debugln!("Validator::validate_arg_num_occurs: a={};", a.name()); - if ma.occurs > 1 && !a.is_set(ArgSettings::Multiple) { - // Not the first time, and we don't allow multiples - return Err(Error::unexpected_multiple_usage(a, - &*usage::create_error_usage(self.0, - matcher, - None), - self.0.color())); - } - Ok(()) - } - - fn validate_arg_num_vals(&self, - a: &A, - ma: &MatchedArg, - matcher: &ArgMatcher) - -> ClapResult<()> - where A: AnyArg<'a, 'b> + Display - { - debugln!("Validator::validate_arg_num_vals;"); - if let Some(num) = a.num_vals() { - debugln!("Validator::validate_arg_num_vals: num_vals set...{}", num); - let should_err = if a.is_set(ArgSettings::Multiple) { - ((ma.vals.len() as u64) % num) != 0 - } else { - num != (ma.vals.len() as u64) - }; - if should_err { - debugln!("Validator::validate_arg_num_vals: Sending error WrongNumberOfValues"); - return Err(Error::wrong_number_of_values(a, - num, - if a.is_set(ArgSettings::Multiple) { - (ma.vals.len() % num as usize) - } else { - ma.vals.len() - }, - if ma.vals.len() == 1 || - (a.is_set(ArgSettings::Multiple) && - (ma.vals.len() % num as usize) == - 1) { - "as" - } else { - "ere" - }, - &*usage::create_error_usage(self.0, - matcher, - None), - self.0.color())); - } - } - if let Some(num) = a.max_vals() { - debugln!("Validator::validate_arg_num_vals: max_vals set...{}", num); - if (ma.vals.len() as u64) > num { - debugln!("Validator::validate_arg_num_vals: Sending error TooManyValues"); - return Err(Error::too_many_values(ma.vals - .iter() - .last() - .expect(INTERNAL_ERROR_MSG) - .to_str() - .expect(INVALID_UTF8), - a, - &*usage::create_error_usage(self.0, - matcher, - None), - self.0.color())); - } - } - let min_vals_zero = if let Some(num) = a.min_vals() { - debugln!("Validator::validate_arg_num_vals: min_vals set: {}", num); - if (ma.vals.len() as u64) < num && num != 0 { - debugln!("Validator::validate_arg_num_vals: Sending error TooFewValues"); - return Err(Error::too_few_values(a, - num, - ma.vals.len(), - &*usage::create_error_usage(self.0, - matcher, - None), - self.0.color())); - } - num == 0 - } else { false }; - // Issue 665 (https://github.com/kbknapp/clap-rs/issues/665) - if a.takes_value() && !(a.is_set(ArgSettings::EmptyValues) || min_vals_zero) && ma.vals.is_empty() { - return Err(Error::empty_value(a, - &*usage::create_error_usage(self.0, matcher, None), - self.0.color())); - } - Ok(()) - } - - fn validate_arg_requires(&self, - a: &A, - ma: &MatchedArg, - matcher: &ArgMatcher) - -> ClapResult<()> - where A: AnyArg<'a, 'b> + Display - { - debugln!("Validator::validate_arg_requires;"); - if let Some(a_reqs) = a.requires() { - for &(val, name) in a_reqs.iter().filter(|&&(val, _)| val.is_some()) { - let missing_req = - |v| v == val.expect(INTERNAL_ERROR_MSG) && !matcher.contains(name); - if ma.vals.iter().any(missing_req) { - return self.missing_required_error(matcher, None); - } - } - } - Ok(()) - } - - fn validate_required(&self, matcher: &ArgMatcher) -> ClapResult<()> { - debugln!("Validator::validate_required: required={:?};", - self.0.required); - 'outer: for name in &self.0.required { - debugln!("Validator::validate_required:iter:{}:", name); - if matcher.contains(name) { - continue 'outer; - } - if let Some(a) = find_by_name!(self.0, *name, flags, iter) { - if self.is_missing_required_ok(a, matcher) { - continue 'outer; - } - } else if let Some(a) = find_by_name!(self.0, *name, opts, iter) { - if self.is_missing_required_ok(a, matcher) { - continue 'outer; - } - } else if let Some(a) = find_by_name!(self.0, *name, positionals, values) { - if self.is_missing_required_ok(a, matcher) { - continue 'outer; - } - } - return self.missing_required_error(matcher, None); - } - - // Validate the conditionally required args - for &(a, v, r) in &self.0.r_ifs { - if let Some(ma) = matcher.get(a) { - if matcher.get(r).is_none() && ma.vals.iter().any(|val| val == v) { - return self.missing_required_error(matcher, Some(r)); - } - } - } - Ok(()) - } - - fn validate_conflicts(&self, a: &A, matcher: &ArgMatcher) -> Option - where A: AnyArg<'a, 'b> - { - debugln!("Validator::validate_conflicts: a={:?};", a.name()); - a.blacklist() - .map(|bl| { - bl.iter() - .any(|conf| { - matcher.contains(conf) || - self.0 - .groups - .iter() - .find(|g| &g.name == conf) - .map_or(false, |g| g.args.iter().any(|arg| matcher.contains(arg))) - }) - }) - } - - fn validate_required_unless(&self, a: &A, matcher: &ArgMatcher) -> Option - where A: AnyArg<'a, 'b> - { - debugln!("Validator::validate_required_unless: a={:?};", a.name()); - macro_rules! check { - ($how:ident, $_self:expr, $a:ident, $m:ident) => {{ - $a.required_unless().map(|ru| { - ru.iter().$how(|n| { - $m.contains(n) || { - if let Some(grp) = $_self.groups.iter().find(|g| &g.name == n) { - grp.args.iter().any(|arg| $m.contains(arg)) - } else { - false - } - } - }) - }) - }}; - } - if a.is_set(ArgSettings::RequiredUnlessAll) { - check!(all, self.0, a, matcher) - } else { - check!(any, self.0, a, matcher) - } - } - - fn missing_required_error(&self, matcher: &ArgMatcher, extra: Option<&str>) -> ClapResult<()> { - debugln!("Validator::missing_required_error: extra={:?}", extra); - let c = Colorizer::new(ColorizerOption { - use_stderr: true, - when: self.0.color(), - }); - let mut reqs = self.0 - .required - .iter() - .map(|&r| &*r) - .collect::>(); - if let Some(r) = extra { - reqs.push(r); - } - reqs.retain(|n| !matcher.contains(n)); - reqs.dedup(); - debugln!("Validator::missing_required_error: reqs={:#?}", reqs); - let req_args = - usage::get_required_usage_from(self.0, &reqs[..], Some(matcher), extra, true) - .iter() - .fold(String::new(), - |acc, s| acc + &format!("\n {}", c.error(s))[..]); - debugln!("Validator::missing_required_error: req_args={:#?}", - req_args); - Err(Error::missing_required_argument(&*req_args, - &*usage::create_error_usage(self.0, matcher, extra), - self.0.color())) - } - - #[inline] - fn is_missing_required_ok(&self, a: &A, matcher: &ArgMatcher) -> bool - where A: AnyArg<'a, 'b> - { - debugln!("Validator::is_missing_required_ok: a={}", a.name()); - self.validate_conflicts(a, matcher).unwrap_or(false) || - self.validate_required_unless(a, matcher) - .unwrap_or(false) - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/args/any_arg.rs b/vendor/registry-40351f815f426200/clap/src/args/any_arg.rs deleted file mode 100644 index 9fa34c7fa..000000000 --- a/vendor/registry-40351f815f426200/clap/src/args/any_arg.rs +++ /dev/null @@ -1,43 +0,0 @@ -// Std -use std::rc::Rc; -use std::fmt as std_fmt; -use std::ffi::{OsStr, OsString}; - -// Internal -use args::settings::ArgSettings; -use map::{self, VecMap}; - -#[doc(hidden)] -pub trait AnyArg<'n, 'e>: std_fmt::Display { - fn name(&self) -> &'n str; - fn overrides(&self) -> Option<&[&'e str]>; - fn aliases(&self) -> Option>; - fn requires(&self) -> Option<&[(Option<&'e str>, &'n str)]>; - fn blacklist(&self) -> Option<&[&'e str]>; - fn required_unless(&self) -> Option<&[&'e str]>; - fn is_set(&self, ArgSettings) -> bool; - fn set(&mut self, ArgSettings); - fn has_switch(&self) -> bool; - fn max_vals(&self) -> Option; - fn min_vals(&self) -> Option; - fn num_vals(&self) -> Option; - fn possible_vals(&self) -> Option<&[&'e str]>; - fn validator(&self) -> Option<&Rc Result<(), String>>>; - fn validator_os(&self) -> Option<&Rc Result<(), OsString>>>; - fn short(&self) -> Option; - fn long(&self) -> Option<&'e str>; - fn val_delim(&self) -> Option; - fn takes_value(&self) -> bool; - fn val_names(&self) -> Option<&VecMap<&'e str>>; - fn help(&self) -> Option<&'e str>; - fn long_help(&self) -> Option<&'e str>; - fn default_val(&self) -> Option<&'e OsStr>; - fn default_vals_ifs(&self) -> Option, &'e OsStr)>>; - fn env<'s>(&'s self) -> Option<(&'n OsStr, Option<&'s OsString>)>; - fn longest_filter(&self) -> bool; - fn val_terminator(&self) -> Option<&'e str>; -} - -pub trait DispOrder { - fn disp_ord(&self) -> usize; -} diff --git a/vendor/registry-40351f815f426200/clap/src/args/arg.rs b/vendor/registry-40351f815f426200/clap/src/args/arg.rs deleted file mode 100644 index 5d8e07742..000000000 --- a/vendor/registry-40351f815f426200/clap/src/args/arg.rs +++ /dev/null @@ -1,3612 +0,0 @@ -#[cfg(feature = "yaml")] -use std::collections::BTreeMap; -use std::rc::Rc; -use std::ffi::{OsString, OsStr}; -#[cfg(target_os="windows")] -use osstringext::OsStrExt3; -#[cfg(not(target_os="windows"))] -use std::os::unix::ffi::OsStrExt; -use std::env; - -#[cfg(feature = "yaml")] -use yaml_rust::Yaml; -use map::VecMap; - -use usage_parser::UsageParser; -use args::settings::ArgSettings; -use args::arg_builder::{Base, Valued, Switched}; - -/// The abstract representation of a command line argument. Used to set all the options and -/// relationships that define a valid argument for the program. -/// -/// There are two methods for constructing [`Arg`]s, using the builder pattern and setting options -/// manually, or using a usage string which is far less verbose but has fewer options. You can also -/// use a combination of the two methods to achieve the best of both worlds. -/// -/// # Examples -/// -/// ```rust -/// # use clap::Arg; -/// // Using the traditional builder pattern and setting each option manually -/// let cfg = Arg::with_name("config") -/// .short("c") -/// .long("config") -/// .takes_value(true) -/// .value_name("FILE") -/// .help("Provides a config file to myprog"); -/// // Using a usage string (setting a similar argument to the one above) -/// let input = Arg::from_usage("-i, --input=[FILE] 'Provides an input file to the program'"); -/// ``` -/// [`Arg`]: ./struct.Arg.html -#[allow(missing_debug_implementations)] -#[derive(Default, Clone)] -pub struct Arg<'a, 'b> - where 'a: 'b -{ - #[doc(hidden)] - pub b: Base<'a, 'b>, - #[doc(hidden)] - pub s: Switched<'b>, - #[doc(hidden)] - pub v: Valued<'a, 'b>, - #[doc(hidden)] - pub index: Option, - #[doc(hidden)] - pub r_ifs: Option>, -} - -impl<'a, 'b> Arg<'a, 'b> { - /// Creates a new instance of [`Arg`] using a unique string name. The name will be used to get - /// information about whether or not the argument was used at runtime, get values, set - /// relationships with other args, etc.. - /// - /// **NOTE:** In the case of arguments that take values (i.e. [`Arg::takes_value(true)`]) - /// and positional arguments (i.e. those without a preceding `-` or `--`) the name will also - /// be displayed when the user prints the usage/help information of the program. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("config") - /// # ; - /// ``` - /// [`Arg::takes_value(true)`]: ./struct.Arg.html#method.takes_value - /// [`Arg`]: ./struct.Arg.html - pub fn with_name(n: &'a str) -> Self { Arg { b: Base::new(n), ..Default::default() } } - - /// Creates a new instance of [`Arg`] from a .yml (YAML) file. - /// - /// # Examples - /// - /// ```ignore - /// # #[macro_use] - /// # extern crate clap; - /// # use clap::Arg; - /// # fn main() { - /// let yml = load_yaml!("arg.yml"); - /// let arg = Arg::from_yaml(yml); - /// # } - /// ``` - /// [`Arg`]: ./struct.Arg.html - #[cfg(feature = "yaml")] - pub fn from_yaml(y: &BTreeMap) -> Arg { - // We WANT this to panic on error...so expect() is good. - let name_yml = y.keys().nth(0).unwrap(); - let name_str = name_yml.as_str().unwrap(); - let mut a = Arg::with_name(name_str); - let arg_settings = y.get(name_yml).unwrap().as_hash().unwrap(); - - for (k, v) in arg_settings.iter() { - a = match k.as_str().unwrap() { - "short" => yaml_to_str!(a, v, short), - "long" => yaml_to_str!(a, v, long), - "aliases" => yaml_vec_or_str!(v, a, alias), - "help" => yaml_to_str!(a, v, help), - "long_help" => yaml_to_str!(a, v, long_help), - "required" => yaml_to_bool!(a, v, required), - "required_if" => yaml_tuple2!(a, v, required_if), - "required_ifs" => yaml_tuple2!(a, v, required_if), - "takes_value" => yaml_to_bool!(a, v, takes_value), - "index" => yaml_to_u64!(a, v, index), - "global" => yaml_to_bool!(a, v, global), - "multiple" => yaml_to_bool!(a, v, multiple), - "hidden" => yaml_to_bool!(a, v, hidden), - "next_line_help" => yaml_to_bool!(a, v, next_line_help), - "empty_values" => yaml_to_bool!(a, v, empty_values), - "group" => yaml_to_str!(a, v, group), - "number_of_values" => yaml_to_u64!(a, v, number_of_values), - "max_values" => yaml_to_u64!(a, v, max_values), - "min_values" => yaml_to_u64!(a, v, min_values), - "value_name" => yaml_to_str!(a, v, value_name), - "use_delimiter" => yaml_to_bool!(a, v, use_delimiter), - "allow_hyphen_values" => yaml_to_bool!(a, v, allow_hyphen_values), - "require_delimiter" => yaml_to_bool!(a, v, require_delimiter), - "value_delimiter" => yaml_to_str!(a, v, value_delimiter), - "required_unless" => yaml_to_str!(a, v, required_unless), - "display_order" => yaml_to_usize!(a, v, display_order), - "default_value" => yaml_to_str!(a, v, default_value), - "default_value_if" => yaml_tuple3!(a, v, default_value_if), - "default_value_ifs" => yaml_tuple3!(a, v, default_value_if), - "env" => yaml_to_str!(a, v, env), - "value_names" => yaml_vec_or_str!(v, a, value_name), - "groups" => yaml_vec_or_str!(v, a, group), - "requires" => yaml_vec_or_str!(v, a, requires), - "requires_if" => yaml_tuple2!(a, v, requires_if), - "requires_ifs" => yaml_tuple2!(a, v, requires_if), - "conflicts_with" => yaml_vec_or_str!(v, a, conflicts_with), - "overrides_with" => yaml_vec_or_str!(v, a, overrides_with), - "possible_values" => yaml_vec_or_str!(v, a, possible_value), - "required_unless_one" => yaml_vec_or_str!(v, a, required_unless), - "required_unless_all" => { - a = yaml_vec_or_str!(v, a, required_unless); - a.setb(ArgSettings::RequiredUnlessAll); - a - } - s => { - panic!("Unknown Arg setting '{}' in YAML file for arg '{}'", - s, - name_str) - } - } - } - - a - } - - /// Creates a new instance of [`Arg`] from a usage string. Allows creation of basic settings - /// for the [`Arg`]. The syntax is flexible, but there are some rules to follow. - /// - /// **NOTE**: Not all settings may be set using the usage string method. Some properties are - /// only available via the builder pattern. - /// - /// **NOTE**: Only ASCII values are officially supported in [`Arg::from_usage`] strings. Some - /// UTF-8 codepoints may work just fine, but this is not guaranteed. - /// - /// # Syntax - /// - /// Usage strings typically following the form: - /// - /// ```notrust - /// [explicit name] [short] [long] [value names] [help string] - /// ``` - /// - /// This is not a hard rule as the attributes can appear in other orders. There are also - /// several additional sigils which denote additional settings. Below are the details of each - /// portion of the string. - /// - /// ### Explicit Name - /// - /// This is an optional field, if it's omitted the argument will use one of the additional - /// fields as the name using the following priority order: - /// - /// * Explicit Name (This always takes precedence when present) - /// * Long - /// * Short - /// * Value Name - /// - /// `clap` determines explicit names as the first string of characters between either `[]` or - /// `<>` where `[]` has the dual notation of meaning the argument is optional, and `<>` meaning - /// the argument is required. - /// - /// Explicit names may be followed by: - /// * The multiple denotation `...` - /// - /// Example explicit names as follows (`ename` for an optional argument, and `rname` for a - /// required argument): - /// - /// ```notrust - /// [ename] -s, --long 'some flag' - /// -r, --longer 'some other flag' - /// ``` - /// - /// ### Short - /// - /// This is set by placing a single character after a leading `-`. - /// - /// Shorts may be followed by - /// * The multiple denotation `...` - /// * An optional comma `,` which is cosmetic only - /// * Value notation - /// - /// Example shorts are as follows (`-s`, and `-r`): - /// - /// ```notrust - /// -s, --long 'some flag' - /// -r [val], --longer 'some option' - /// ``` - /// - /// ### Long - /// - /// This is set by placing a word (no spaces) after a leading `--`. - /// - /// Shorts may be followed by - /// * The multiple denotation `...` - /// * Value notation - /// - /// Example longs are as follows (`--some`, and `--rapid`): - /// - /// ```notrust - /// -s, --some 'some flag' - /// --rapid=[FILE] 'some option' - /// ``` - /// - /// ### Values (Value Notation) - /// - /// This is set by placing a word(s) between `[]` or `<>` optionally after `=` (although this - /// is cosmetic only and does not affect functionality). If an explicit name has **not** been - /// set, using `<>` will denote a required argument, and `[]` will denote an optional argument - /// - /// Values may be followed by - /// * The multiple denotation `...` - /// * More Value notation - /// - /// More than one value will also implicitly set the arguments number of values, i.e. having - /// two values, `--option [val1] [val2]` specifies that in order for option to be satisified it - /// must receive exactly two values - /// - /// Example values are as follows (`FILE`, and `SPEED`): - /// - /// ```notrust - /// -s, --some [FILE] 'some option' - /// --rapid=... 'some required multiple option' - /// ``` - /// - /// ### Help String - /// - /// The help string is denoted between a pair of single quotes `''` and may contain any - /// characters. - /// - /// Example help strings are as follows: - /// - /// ```notrust - /// -s, --some [FILE] 'some option' - /// --rapid=... 'some required multiple option' - /// ``` - /// - /// ### Additional Sigils - /// - /// Multiple notation `...` (three consecutive dots/periods) specifies that this argument may - /// be used multiple times. Do not confuse multiple occurrences (`...`) with multiple values. - /// `--option val1 val2` is a single occurrence with multiple values. `--flag --flag` is - /// multiple occurrences (and then you can obviously have instances of both as well) - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// App::new("prog") - /// .args(&[ - /// Arg::from_usage("--config 'a required file for the configuration and no short'"), - /// Arg::from_usage("-d, --debug... 'turns on debugging information and allows multiples'"), - /// Arg::from_usage("[input] 'an optional input file to use'") - /// ]) - /// # ; - /// ``` - /// [`Arg`]: ./struct.Arg.html - /// [`Arg::from_usage`]: ./struct.Arg.html#method.from_usage - pub fn from_usage(u: &'a str) -> Self { - let parser = UsageParser::from_usage(u); - parser.parse() - } - - /// Sets the short version of the argument without the preceding `-`. - /// - /// By default `clap` automatically assigns `V` and `h` to the auto-generated `version` and - /// `help` arguments respectively. You may use the uppercase `V` or lowercase `h` for your own - /// arguments, in which case `clap` simply will not assign those to the auto-generated - /// `version` or `help` arguments. - /// - /// **NOTE:** Any leading `-` characters will be stripped, and only the first - /// non `-` character will be used as the [`short`] version - /// - /// # Examples - /// - /// To set [`short`] use a single valid UTF-8 code point. If you supply a leading `-` such as - /// `-c`, the `-` will be stripped. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("config") - /// .short("c") - /// # ; - /// ``` - /// - /// Setting [`short`] allows using the argument via a single hyphen (`-`) such as `-c` - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("config") - /// .short("c")) - /// .get_matches_from(vec![ - /// "prog", "-c" - /// ]); - /// - /// assert!(m.is_present("config")); - /// ``` - /// [`short`]: ./struct.Arg.html#method.short - pub fn short>(mut self, s: S) -> Self { - self.s.short = s.as_ref().trim_left_matches(|c| c == '-').chars().nth(0); - self - } - - /// Sets the long version of the argument without the preceding `--`. - /// - /// By default `clap` automatically assigns `version` and `help` to the auto-generated - /// `version` and `help` arguments respectively. You may use the word `version` or `help` for - /// the long form of your own arguments, in which case `clap` simply will not assign those to - /// the auto-generated `version` or `help` arguments. - /// - /// **NOTE:** Any leading `-` characters will be stripped - /// - /// # Examples - /// - /// To set `long` use a word containing valid UTF-8 codepoints. If you supply a double leading - /// `--` such as `--config` they will be stripped. Hyphens in the middle of the word, however, - /// will *not* be stripped (i.e. `config-file` is allowed) - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("cfg") - /// .long("config") - /// # ; - /// ``` - /// - /// Setting `long` allows using the argument via a double hyphen (`--`) such as `--config` - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .long("config")) - /// .get_matches_from(vec![ - /// "prog", "--config" - /// ]); - /// - /// assert!(m.is_present("cfg")); - /// ``` - pub fn long(mut self, l: &'b str) -> Self { - self.s.long = Some(l.trim_left_matches(|c| c == '-')); - self - } - - /// Allows adding a [`Arg`] alias, which function as "hidden" arguments that - /// automatically dispatch as if this argument was used. This is more efficient, and easier - /// than creating multiple hidden arguments as one only needs to check for the existence of - /// this command, and not all variants. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("test") - /// .long("test") - /// .alias("alias") - /// .takes_value(true)) - /// .get_matches_from(vec![ - /// "prog", "--alias", "cool" - /// ]); - /// assert!(m.is_present("test")); - /// assert_eq!(m.value_of("test"), Some("cool")); - /// ``` - /// [`Arg`]: ./struct.Arg.html - pub fn alias>(mut self, name: S) -> Self { - if let Some(ref mut als) = self.s.aliases { - als.push((name.into(), false)); - } else { - self.s.aliases = Some(vec![(name.into(), false)]); - } - self - } - - /// Allows adding [`Arg`] aliases, which function as "hidden" arguments that - /// automatically dispatch as if this argument was used. This is more efficient, and easier - /// than creating multiple hidden subcommands as one only needs to check for the existence of - /// this command, and not all variants. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("test") - /// .long("test") - /// .aliases(&["do-stuff", "do-tests", "tests"]) - /// .help("the file to add") - /// .required(false)) - /// .get_matches_from(vec![ - /// "prog", "--do-tests" - /// ]); - /// assert!(m.is_present("test")); - /// ``` - /// [`Arg`]: ./struct.Arg.html - pub fn aliases(mut self, names: &[&'b str]) -> Self { - if let Some(ref mut als) = self.s.aliases { - for n in names { - als.push((n, false)); - } - } else { - self.s.aliases = Some(names.iter().map(|n| (*n, false)).collect::>()); - } - self - } - - /// Allows adding a [`Arg`] alias that functions exactly like those defined with - /// [`Arg::alias`], except that they are visible inside the help message. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("test") - /// .visible_alias("something-awesome") - /// .long("test") - /// .takes_value(true)) - /// .get_matches_from(vec![ - /// "prog", "--something-awesome", "coffee" - /// ]); - /// assert!(m.is_present("test")); - /// assert_eq!(m.value_of("test"), Some("coffee")); - /// ``` - /// [`Arg`]: ./struct.Arg.html - /// [`App::alias`]: ./struct.Arg.html#method.alias - pub fn visible_alias>(mut self, name: S) -> Self { - if let Some(ref mut als) = self.s.aliases { - als.push((name.into(), true)); - } else { - self.s.aliases = Some(vec![(name.into(), true)]); - } - self - } - - /// Allows adding multiple [`Arg`] aliases that functions exactly like those defined - /// with [`Arg::aliases`], except that they are visible inside the help message. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("test") - /// .long("test") - /// .visible_aliases(&["something", "awesome", "cool"])) - /// .get_matches_from(vec![ - /// "prog", "--awesome" - /// ]); - /// assert!(m.is_present("test")); - /// ``` - /// [`Arg`]: ./struct.Arg.html - /// [`App::aliases`]: ./struct.Arg.html#method.aliases - pub fn visible_aliases(mut self, names: &[&'b str]) -> Self { - if let Some(ref mut als) = self.s.aliases { - for n in names { - als.push((n, true)); - } - } else { - self.s.aliases = Some(names.iter().map(|n| (*n, true)).collect::>()); - } - self - } - - /// Sets the short help text of the argument that will be displayed to the user when they print - /// the help information with `-h`. Typically, this is a short (one line) description of the - /// arg. - /// - /// **NOTE:** If only `Arg::help` is provided, and not [`Arg::long_help`] but the user requests - /// `--help` clap will still display the contents of `help` appropriately - /// - /// **NOTE:** Only `Arg::help` is used in completion script generation in order to be concise - /// - /// # Examples - /// - /// Any valid UTF-8 is allowed in the help text. The one exception is when one wishes to - /// include a newline in the help text and have the following text be properly aligned with all - /// the other help text. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("config") - /// .help("The config file used by the myprog") - /// # ; - /// ``` - /// - /// Setting `help` displays a short message to the side of the argument when the user passes - /// `-h` or `--help` (by default). - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .long("config") - /// .help("Some help text describing the --config arg")) - /// .get_matches_from(vec![ - /// "prog", "--help" - /// ]); - /// ``` - /// - /// The above example displays - /// - /// ```notrust - /// helptest - /// - /// USAGE: - /// helptest [FLAGS] - /// - /// FLAGS: - /// --config Some help text describing the --config arg - /// -h, --help Prints help information - /// -V, --version Prints version information - /// ``` - /// [`Arg::long_help`]: ./struct.Arg.html#method.long_help - pub fn help(mut self, h: &'b str) -> Self { - self.b.help = Some(h); - self - } - - /// Sets the long help text of the argument that will be displayed to the user when they print - /// the help information with `--help`. Typically this a more detailed (multi-line) message - /// that describes the arg. - /// - /// **NOTE:** If only `long_help` is provided, and not [`Arg::help`] but the user requests `-h` - /// clap will still display the contents of `long_help` appropriately - /// - /// **NOTE:** Only [`Arg::help`] is used in completion script generation in order to be concise - /// - /// # Examples - /// - /// Any valid UTF-8 is allowed in the help text. The one exception is when one wishes to - /// include a newline in the help text and have the following text be properly aligned with all - /// the other help text. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("config") - /// .long_help( - /// "The config file used by the myprog must be in JSON format - /// with only valid keys and may not contain other nonsense - /// that cannot be read by this program. Obviously I'm going on - /// and on, so I'll stop now.") - /// # ; - /// ``` - /// - /// Setting `help` displays a short message to the side of the argument when the user passes - /// `-h` or `--help` (by default). - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .long("config") - /// .long_help( - /// "The config file used by the myprog must be in JSON format - /// with only valid keys and may not contain other nonsense - /// that cannot be read by this program. Obviously I'm going on - /// and on, so I'll stop now.")) - /// .get_matches_from(vec![ - /// "prog", "--help" - /// ]); - /// ``` - /// - /// The above example displays - /// - /// ```notrust - /// helptest - /// - /// USAGE: - /// helptest [FLAGS] - /// - /// FLAGS: - /// --config - /// The config file used by the myprog must be in JSON format - /// with only valid keys and may not contain other nonsense - /// that cannot be read by this program. Obviously I'm going on - /// and on, so I'll stop now. - /// - /// -h, --help - /// Prints help information - /// - /// -V, --version - /// Prints version information - /// ``` - /// [`Arg::help`]: ./struct.Arg.html#method.help - pub fn long_help(mut self, h: &'b str) -> Self { - self.b.long_help = Some(h); - self - } - - /// Specifies that this arg is the last, or final, positional argument (i.e. has the highest - /// index) and is *only* able to be accessed via the `--` syntax (i.e. `$ prog args -- - /// last_arg`). Even, if no other arguments are left to parse, if the user omits the `--` syntax - /// they will receive an [`UnknownArgument`] error. Setting an argument to `.last(true)` also - /// allows one to access this arg early using the `--` syntax. Accessing an arg early, even with - /// the `--` syntax is otherwise not possible. - /// - /// **NOTE:** This will change the usage string to look like `$ prog [FLAGS] [-- ]` if - /// `ARG` is marked as `.last(true)`. - /// - /// **NOTE:** This setting will imply [`AppSettings::DontCollapseArgsInUsage`] because failing - /// to set this can make the usage string very confusing. - /// - /// **NOTE**: This setting only applies to positional arguments, and has no affect on FLAGS / - /// OPTIONS - /// - /// **CAUTION:** Setting an argument to `.last(true)` *and* having child subcommands is not - /// recommended with the exception of *also* using [`AppSettings::ArgsNegateSubcommands`] - /// (or [`AppSettings::SubcommandsNegateReqs`] if the argument marked `.last(true)` is also - /// marked [`.required(true)`]) - /// - /// # Examples - /// - /// ```rust - /// # use clap::Arg; - /// Arg::with_name("args") - /// .last(true) - /// # ; - /// ``` - /// - /// Setting [`Arg::last(true)`] ensures the arg has the highest [index] of all positional args - /// and requires that the `--` syntax be used to access it early. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("first")) - /// .arg(Arg::with_name("second")) - /// .arg(Arg::with_name("third").last(true)) - /// .get_matches_from_safe(vec![ - /// "prog", "one", "--", "three" - /// ]); - /// - /// assert!(res.is_ok()); - /// let m = res.unwrap(); - /// assert_eq!(m.value_of("third"), Some("three")); - /// assert!(m.value_of("second").is_none()); - /// ``` - /// - /// Even if the positional argument marked `.last(true)` is the only argument left to parse, - /// failing to use the `--` syntax results in an error. - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("first")) - /// .arg(Arg::with_name("second")) - /// .arg(Arg::with_name("third").last(true)) - /// .get_matches_from_safe(vec![ - /// "prog", "one", "two", "three" - /// ]); - /// - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::UnknownArgument); - /// ``` - /// [`Arg::last(true)`]: ./struct.Arg.html#method.last - /// [index]: ./struct.Arg.html#method.index - /// [`AppSettings::DontCollapseArgsInUsage`]: ./enum.AppSettings.html#variant.DontCollapseArgsInUsage - /// [`AppSettings::ArgsNegateSubcommands`]: ./enum.AppSettings.html#variant.ArgsNegateSubcommands - /// [`AppSettings::SubcommandsNegateReqs`]: ./enum.AppSettings.html#variant.SubcommandsNegateReqs - /// [`.required(true)`]: ./struct.Arg.html#method.required - /// [`UnknownArgument`]: ./enum.ErrorKind.html#variant.UnknownArgument - pub fn last(self, l: bool) -> Self { - if l { - self.set(ArgSettings::Last) - } else { - self.unset(ArgSettings::Last) - } - } - - /// Sets whether or not the argument is required by default. Required by default means it is - /// required, when no other conflicting rules have been evaluated. Conflicting rules take - /// precedence over being required. **Default:** `false` - /// - /// **NOTE:** Flags (i.e. not positional, or arguments that take values) cannot be required by - /// default. This is simply because if a flag should be required, it should simply be implied - /// as no additional information is required from user. Flags by their very nature are simply - /// yes/no, or true/false. - /// - /// # Examples - /// - /// ```rust - /// # use clap::Arg; - /// Arg::with_name("config") - /// .required(true) - /// # ; - /// ``` - /// - /// Setting [`Arg::required(true)`] requires that the argument be used at runtime. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .required(true) - /// .takes_value(true) - /// .long("config")) - /// .get_matches_from_safe(vec![ - /// "prog", "--config", "file.conf" - /// ]); - /// - /// assert!(res.is_ok()); - /// ``` - /// - /// Setting [`Arg::required(true)`] and *not* supplying that argument is an error. - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .required(true) - /// .takes_value(true) - /// .long("config")) - /// .get_matches_from_safe(vec![ - /// "prog" - /// ]); - /// - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::MissingRequiredArgument); - /// ``` - /// [`Arg::required(true)`]: ./struct.Arg.html#method.required - pub fn required(self, r: bool) -> Self { - if r { - self.set(ArgSettings::Required) - } else { - self.unset(ArgSettings::Required) - } - } - - /// Requires that options use the `--option=val` syntax (i.e. an equals between the option and - /// associated value) **Default:** `false` - /// - /// **NOTE:** This setting also removes the default of allowing empty values and implies - /// [`Arg::empty_values(false)`]. - /// - /// # Examples - /// - /// ```rust - /// # use clap::Arg; - /// Arg::with_name("config") - /// .long("config") - /// .takes_value(true) - /// .require_equals(true) - /// # ; - /// ``` - /// - /// Setting [`Arg::require_equals(true)`] requires that the option have an equals sign between - /// it and the associated value. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .require_equals(true) - /// .takes_value(true) - /// .long("config")) - /// .get_matches_from_safe(vec![ - /// "prog", "--config=file.conf" - /// ]); - /// - /// assert!(res.is_ok()); - /// ``` - /// - /// Setting [`Arg::require_equals(true)`] and *not* supplying the equals will cause an error - /// unless [`Arg::empty_values(true)`] is set. - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .require_equals(true) - /// .takes_value(true) - /// .long("config")) - /// .get_matches_from_safe(vec![ - /// "prog", "--config", "file.conf" - /// ]); - /// - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::EmptyValue); - /// ``` - /// [`Arg::require_equals(true)`]: ./struct.Arg.html#method.require_equals - /// [`Arg::empty_values(true)`]: ./struct.Arg.html#method.empty_values - /// [`Arg::empty_values(false)`]: ./struct.Arg.html#method.empty_values - pub fn require_equals(mut self, r: bool) -> Self { - if r { - self.unsetb(ArgSettings::EmptyValues); - self.set(ArgSettings::RequireEquals) - } else { - self.unset(ArgSettings::RequireEquals) - } - } - - /// Allows values which start with a leading hyphen (`-`) - /// - /// **WARNING**: Take caution when using this setting, combined with [`Arg::multiple(true)`] as - /// it this becomes ambigous `$ prog --arg -- -- val`. All three `--, --, val` will be values - /// when the user may have thought the second `--` would constitute the normal, "Only - /// positional args follow" idiom. To fix this, consider using [`Arg::number_of_values(1)`] - /// - /// **WARNING**: When building your CLIs, consider the effects of allowing leading hyphens and - /// the user passing in a value that matches a valid short. For example `prog -opt -F` where - /// `-F` is supposed to be a value, yet `-F` is *also* a valid short for anther arg. Care should - /// should be taken when designing these args. This is compounded by the ability to "stack" - /// short args. I.e. if `-val` is supposed to be a value, but `-v`, `-a`, and `-l` are all valid - /// shorts. - /// - /// # Examples - /// - /// ```rust - /// # use clap::Arg; - /// Arg::with_name("pattern") - /// .allow_hyphen_values(true) - /// # ; - /// ``` - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("pat") - /// .allow_hyphen_values(true) - /// .takes_value(true) - /// .long("pattern")) - /// .get_matches_from(vec![ - /// "prog", "--pattern", "-file" - /// ]); - /// - /// assert_eq!(m.value_of("pat"), Some("-file")); - /// ``` - /// - /// Not setting [`Arg::allow_hyphen_values(true)`] and supplying a value which starts with a - /// hyphen is an error. - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("pat") - /// .takes_value(true) - /// .long("pattern")) - /// .get_matches_from_safe(vec![ - /// "prog", "--pattern", "-file" - /// ]); - /// - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::UnknownArgument); - /// ``` - /// [`Arg::allow_hyphen_values(true)`]: ./struct.Arg.html#method.allow_hyphen_values - /// [`Arg::multiple(true)`]: ./struct.Arg.html#method.multiple - /// [`Arg::number_of_values(1)`]: ./struct.Arg.html#method.number_of_values - pub fn allow_hyphen_values(self, a: bool) -> Self { - if a { - self.set(ArgSettings::AllowLeadingHyphen) - } else { - self.unset(ArgSettings::AllowLeadingHyphen) - } - } - /// Sets an arg that override this arg's required setting. (i.e. this arg will be required - /// unless this other argument is present). - /// - /// **Pro Tip:** Using [`Arg::required_unless`] implies [`Arg::required`] and is therefore not - /// mandatory to also set. - /// - /// # Examples - /// - /// ```rust - /// # use clap::Arg; - /// Arg::with_name("config") - /// .required_unless("debug") - /// # ; - /// ``` - /// - /// Setting [`Arg::required_unless(name)`] requires that the argument be used at runtime - /// *unless* `name` is present. In the following example, the required argument is *not* - /// provided, but it's not an error because the `unless` arg has been supplied. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .required_unless("dbg") - /// .takes_value(true) - /// .long("config")) - /// .arg(Arg::with_name("dbg") - /// .long("debug")) - /// .get_matches_from_safe(vec![ - /// "prog", "--debug" - /// ]); - /// - /// assert!(res.is_ok()); - /// ``` - /// - /// Setting [`Arg::required_unless(name)`] and *not* supplying `name` or this arg is an error. - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .required_unless("dbg") - /// .takes_value(true) - /// .long("config")) - /// .arg(Arg::with_name("dbg") - /// .long("debug")) - /// .get_matches_from_safe(vec![ - /// "prog" - /// ]); - /// - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::MissingRequiredArgument); - /// ``` - /// [`Arg::required_unless`]: ./struct.Arg.html#method.required_unless - /// [`Arg::required`]: ./struct.Arg.html#method.required - /// [`Arg::required_unless(name)`]: ./struct.Arg.html#method.required_unless - pub fn required_unless(mut self, name: &'a str) -> Self { - if let Some(ref mut vec) = self.b.r_unless { - vec.push(name); - } else { - self.b.r_unless = Some(vec![name]); - } - self.required(true) - } - - /// Sets args that override this arg's required setting. (i.e. this arg will be required unless - /// all these other arguments are present). - /// - /// **NOTE:** If you wish for this argument to only be required if *one of* these args are - /// present see [`Arg::required_unless_one`] - /// - /// # Examples - /// - /// ```rust - /// # use clap::Arg; - /// Arg::with_name("config") - /// .required_unless_all(&["cfg", "dbg"]) - /// # ; - /// ``` - /// - /// Setting [`Arg::required_unless_all(names)`] requires that the argument be used at runtime - /// *unless* *all* the args in `names` are present. In the following example, the required - /// argument is *not* provided, but it's not an error because all the `unless` args have been - /// supplied. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .required_unless_all(&["dbg", "infile"]) - /// .takes_value(true) - /// .long("config")) - /// .arg(Arg::with_name("dbg") - /// .long("debug")) - /// .arg(Arg::with_name("infile") - /// .short("i") - /// .takes_value(true)) - /// .get_matches_from_safe(vec![ - /// "prog", "--debug", "-i", "file" - /// ]); - /// - /// assert!(res.is_ok()); - /// ``` - /// - /// Setting [`Arg::required_unless_all(names)`] and *not* supplying *all* of `names` or this - /// arg is an error. - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .required_unless_all(&["dbg", "infile"]) - /// .takes_value(true) - /// .long("config")) - /// .arg(Arg::with_name("dbg") - /// .long("debug")) - /// .arg(Arg::with_name("infile") - /// .short("i") - /// .takes_value(true)) - /// .get_matches_from_safe(vec![ - /// "prog" - /// ]); - /// - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::MissingRequiredArgument); - /// ``` - /// [`Arg::required_unless_one`]: ./struct.Arg.html#method.required_unless_one - /// [`Arg::required_unless_all(names)`]: ./struct.Arg.html#method.required_unless_all - pub fn required_unless_all(mut self, names: &[&'a str]) -> Self { - if let Some(ref mut vec) = self.b.r_unless { - for s in names { - vec.push(s); - } - } else { - self.b.r_unless = Some(names.iter().map(|s| *s).collect::>()); - } - self.setb(ArgSettings::RequiredUnlessAll); - self.required(true) - } - - /// Sets args that override this arg's [required] setting. (i.e. this arg will be required - /// unless *at least one of* these other arguments are present). - /// - /// **NOTE:** If you wish for this argument to only be required if *all of* these args are - /// present see [`Arg::required_unless_all`] - /// - /// # Examples - /// - /// ```rust - /// # use clap::Arg; - /// Arg::with_name("config") - /// .required_unless_all(&["cfg", "dbg"]) - /// # ; - /// ``` - /// - /// Setting [`Arg::required_unless_one(names)`] requires that the argument be used at runtime - /// *unless* *at least one of* the args in `names` are present. In the following example, the - /// required argument is *not* provided, but it's not an error because one the `unless` args - /// have been supplied. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .required_unless_one(&["dbg", "infile"]) - /// .takes_value(true) - /// .long("config")) - /// .arg(Arg::with_name("dbg") - /// .long("debug")) - /// .arg(Arg::with_name("infile") - /// .short("i") - /// .takes_value(true)) - /// .get_matches_from_safe(vec![ - /// "prog", "--debug" - /// ]); - /// - /// assert!(res.is_ok()); - /// ``` - /// - /// Setting [`Arg::required_unless_one(names)`] and *not* supplying *at least one of* `names` - /// or this arg is an error. - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .required_unless_one(&["dbg", "infile"]) - /// .takes_value(true) - /// .long("config")) - /// .arg(Arg::with_name("dbg") - /// .long("debug")) - /// .arg(Arg::with_name("infile") - /// .short("i") - /// .takes_value(true)) - /// .get_matches_from_safe(vec![ - /// "prog" - /// ]); - /// - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::MissingRequiredArgument); - /// ``` - /// [required]: ./struct.Arg.html#method.required - /// [`Arg::required_unless_one(names)`]: ./struct.Arg.html#method.required_unless_one - /// [`Arg::required_unless_all`]: ./struct.Arg.html#method.required_unless_all - pub fn required_unless_one(mut self, names: &[&'a str]) -> Self { - if let Some(ref mut vec) = self.b.r_unless { - for s in names { - vec.push(s); - } - } else { - self.b.r_unless = Some(names.iter().map(|s| *s).collect::>()); - } - self.required(true) - } - - /// Sets a conflicting argument by name. I.e. when using this argument, - /// the following argument can't be present and vice versa. - /// - /// **NOTE:** Conflicting rules take precedence over being required by default. Conflict rules - /// only need to be set for one of the two arguments, they do not need to be set for each. - /// - /// **NOTE:** Defining a conflict is two-way, but does *not* need to defined for both arguments - /// (i.e. if A conflicts with B, defining A.conflicts_with(B) is sufficient. You do not need - /// need to also do B.conflicts_with(A)) - /// - /// # Examples - /// - /// ```rust - /// # use clap::Arg; - /// Arg::with_name("config") - /// .conflicts_with("debug") - /// # ; - /// ``` - /// - /// Setting conflicting argument, and having both arguments present at runtime is an error. - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .takes_value(true) - /// .conflicts_with("debug") - /// .long("config")) - /// .arg(Arg::with_name("debug") - /// .long("debug")) - /// .get_matches_from_safe(vec![ - /// "prog", "--debug", "--config", "file.conf" - /// ]); - /// - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::ArgumentConflict); - /// ``` - pub fn conflicts_with(mut self, name: &'a str) -> Self { - if let Some(ref mut vec) = self.b.blacklist { - vec.push(name); - } else { - self.b.blacklist = Some(vec![name]); - } - self - } - - /// The same as [`Arg::conflicts_with`] but allows specifying multiple two-way conlicts per - /// argument. - /// - /// **NOTE:** Conflicting rules take precedence over being required by default. Conflict rules - /// only need to be set for one of the two arguments, they do not need to be set for each. - /// - /// **NOTE:** Defining a conflict is two-way, but does *not* need to defined for both arguments - /// (i.e. if A conflicts with B, defining A.conflicts_with(B) is sufficient. You do not need - /// need to also do B.conflicts_with(A)) - /// - /// # Examples - /// - /// ```rust - /// # use clap::Arg; - /// Arg::with_name("config") - /// .conflicts_with_all(&["debug", "input"]) - /// # ; - /// ``` - /// - /// Setting conflicting argument, and having any of the arguments present at runtime with a - /// conflicting argument is an error. - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .takes_value(true) - /// .conflicts_with_all(&["debug", "input"]) - /// .long("config")) - /// .arg(Arg::with_name("debug") - /// .long("debug")) - /// .arg(Arg::with_name("input") - /// .index(1)) - /// .get_matches_from_safe(vec![ - /// "prog", "--config", "file.conf", "file.txt" - /// ]); - /// - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::ArgumentConflict); - /// ``` - /// [`Arg::conflicts_with`]: ./struct.Arg.html#method.conflicts_with - pub fn conflicts_with_all(mut self, names: &[&'a str]) -> Self { - if let Some(ref mut vec) = self.b.blacklist { - for s in names { - vec.push(s); - } - } else { - self.b.blacklist = Some(names.iter().map(|s| *s).collect::>()); - } - self - } - - /// Sets a overridable argument by name. I.e. this argument and the following argument - /// will override each other in POSIX style (whichever argument was specified at runtime - /// **last** "wins") - /// - /// **NOTE:** When an argument is overridden it is essentially as if it never was used, any - /// conflicts, requirements, etc. are evaluated **after** all "overrides" have been removed - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::from_usage("-f, --flag 'some flag'") - /// .conflicts_with("debug")) - /// .arg(Arg::from_usage("-d, --debug 'other flag'")) - /// .arg(Arg::from_usage("-c, --color 'third flag'") - /// .overrides_with("flag")) - /// .get_matches_from(vec![ - /// "prog", "-f", "-d", "-c"]); - /// // ^~~~~~~~~~~~^~~~~ flag is overridden by color - /// - /// assert!(m.is_present("color")); - /// assert!(m.is_present("debug")); // even though flag conflicts with debug, it's as if flag - /// // was never used because it was overridden with color - /// assert!(!m.is_present("flag")); - /// ``` - pub fn overrides_with(mut self, name: &'a str) -> Self { - if let Some(ref mut vec) = self.b.overrides { - vec.push(name.as_ref()); - } else { - self.b.overrides = Some(vec![name.as_ref()]); - } - self - } - - /// Sets multiple mutually overridable arguments by name. I.e. this argument and the following - /// argument will override each other in POSIX style (whichever argument was specified at - /// runtime **last** "wins") - /// - /// **NOTE:** When an argument is overridden it is essentially as if it never was used, any - /// conflicts, requirements, etc. are evaluated **after** all "overrides" have been removed - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::from_usage("-f, --flag 'some flag'") - /// .conflicts_with("color")) - /// .arg(Arg::from_usage("-d, --debug 'other flag'")) - /// .arg(Arg::from_usage("-c, --color 'third flag'") - /// .overrides_with_all(&["flag", "debug"])) - /// .get_matches_from(vec![ - /// "prog", "-f", "-d", "-c"]); - /// // ^~~~~~^~~~~~~~~ flag and debug are overridden by color - /// - /// assert!(m.is_present("color")); // even though flag conflicts with color, it's as if flag - /// // and debug were never used because they were overridden - /// // with color - /// assert!(!m.is_present("debug")); - /// assert!(!m.is_present("flag")); - /// ``` - pub fn overrides_with_all(mut self, names: &[&'a str]) -> Self { - if let Some(ref mut vec) = self.b.overrides { - for s in names { - vec.push(s); - } - } else { - self.b.overrides = Some(names.iter().map(|s| *s).collect::>()); - } - self - } - - /// Sets an argument by name that is required when this one is present I.e. when - /// using this argument, the following argument *must* be present. - /// - /// **NOTE:** [Conflicting] rules and [override] rules take precedence over being required - /// - /// # Examples - /// - /// ```rust - /// # use clap::Arg; - /// Arg::with_name("config") - /// .requires("input") - /// # ; - /// ``` - /// - /// Setting [`Arg::requires(name)`] requires that the argument be used at runtime if the - /// defining argument is used. If the defining argument isn't used, the other argument isn't - /// required - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .takes_value(true) - /// .requires("input") - /// .long("config")) - /// .arg(Arg::with_name("input") - /// .index(1)) - /// .get_matches_from_safe(vec![ - /// "prog" - /// ]); - /// - /// assert!(res.is_ok()); // We didn't use cfg, so input wasn't required - /// ``` - /// - /// Setting [`Arg::requires(name)`] and *not* supplying that argument is an error. - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .takes_value(true) - /// .requires("input") - /// .long("config")) - /// .arg(Arg::with_name("input") - /// .index(1)) - /// .get_matches_from_safe(vec![ - /// "prog", "--config", "file.conf" - /// ]); - /// - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::MissingRequiredArgument); - /// ``` - /// [`Arg::requires(name)`]: ./struct.Arg.html#method.requires - /// [Conflicting]: ./struct.Arg.html#method.conflicts_with - /// [override]: ./struct.Arg.html#method.overrides_with - pub fn requires(mut self, name: &'a str) -> Self { - if let Some(ref mut vec) = self.b.requires { - vec.push((None, name)); - } else { - let mut vec = vec![]; - vec.push((None, name)); - self.b.requires = Some(vec); - } - self - } - - /// Allows a conditional requirement. The requirement will only become valid if this arg's value - /// equals `val`. - /// - /// **NOTE:** If using YAML the values should be laid out as follows - /// - /// ```yaml - /// requires_if: - /// - [val, arg] - /// ``` - /// - /// # Examples - /// - /// ```rust - /// # use clap::Arg; - /// Arg::with_name("config") - /// .requires_if("val", "arg") - /// # ; - /// ``` - /// - /// Setting [`Arg::requires_if(val, arg)`] requires that the `arg` be used at runtime if the - /// defining argument's value is equal to `val`. If the defining argument is anything other than - /// `val`, the other argument isn't required. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .takes_value(true) - /// .requires_if("my.cfg", "other") - /// .long("config")) - /// .arg(Arg::with_name("other")) - /// .get_matches_from_safe(vec![ - /// "prog", "--config", "some.cfg" - /// ]); - /// - /// assert!(res.is_ok()); // We didn't use --config=my.cfg, so other wasn't required - /// ``` - /// - /// Setting [`Arg::requires_if(val, arg)`] and setting the value to `val` but *not* supplying - /// `arg` is an error. - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .takes_value(true) - /// .requires_if("my.cfg", "input") - /// .long("config")) - /// .arg(Arg::with_name("input")) - /// .get_matches_from_safe(vec![ - /// "prog", "--config", "my.cfg" - /// ]); - /// - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::MissingRequiredArgument); - /// ``` - /// [`Arg::requires(name)`]: ./struct.Arg.html#method.requires - /// [Conflicting]: ./struct.Arg.html#method.conflicts_with - /// [override]: ./struct.Arg.html#method.overrides_with - pub fn requires_if(mut self, val: &'b str, arg: &'a str) -> Self { - if let Some(ref mut vec) = self.b.requires { - vec.push((Some(val), arg)); - } else { - self.b.requires = Some(vec![(Some(val), arg)]); - } - self - } - - /// Allows multiple conditional requirements. The requirement will only become valid if this arg's value - /// equals `val`. - /// - /// **NOTE:** If using YAML the values should be laid out as follows - /// - /// ```yaml - /// requires_if: - /// - [val, arg] - /// - [val2, arg2] - /// ``` - /// - /// # Examples - /// - /// ```rust - /// # use clap::Arg; - /// Arg::with_name("config") - /// .requires_ifs(&[ - /// ("val", "arg"), - /// ("other_val", "arg2"), - /// ]) - /// # ; - /// ``` - /// - /// Setting [`Arg::requires_ifs(&["val", "arg"])`] requires that the `arg` be used at runtime if the - /// defining argument's value is equal to `val`. If the defining argument's value is anything other - /// than `val`, `arg` isn't required. - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .takes_value(true) - /// .requires_ifs(&[ - /// ("special.conf", "opt"), - /// ("other.conf", "other"), - /// ]) - /// .long("config")) - /// .arg(Arg::with_name("opt") - /// .long("option") - /// .takes_value(true)) - /// .arg(Arg::with_name("other")) - /// .get_matches_from_safe(vec![ - /// "prog", "--config", "special.conf" - /// ]); - /// - /// assert!(res.is_err()); // We used --config=special.conf so --option is required - /// assert_eq!(res.unwrap_err().kind, ErrorKind::MissingRequiredArgument); - /// ``` - /// [`Arg::requires(name)`]: ./struct.Arg.html#method.requires - /// [Conflicting]: ./struct.Arg.html#method.conflicts_with - /// [override]: ./struct.Arg.html#method.overrides_with - pub fn requires_ifs(mut self, ifs: &[(&'b str, &'a str)]) -> Self { - if let Some(ref mut vec) = self.b.requires { - for &(val, arg) in ifs { - vec.push((Some(val), arg)); - } - } else { - let mut vec = vec![]; - for &(val, arg) in ifs { - vec.push((Some(val), arg)); - } - self.b.requires = Some(vec); - } - self - } - - /// Allows specifying that an argument is [required] conditionally. The requirement will only - /// become valid if the specified `arg`'s value equals `val`. - /// - /// **NOTE:** If using YAML the values should be laid out as follows - /// - /// ```yaml - /// required_if: - /// - [arg, val] - /// ``` - /// - /// # Examples - /// - /// ```rust - /// # use clap::Arg; - /// Arg::with_name("config") - /// .required_if("other_arg", "value") - /// # ; - /// ``` - /// - /// Setting [`Arg::required_if(arg, val)`] makes this arg required if the `arg` is used at - /// runtime and it's value is equal to `val`. If the `arg`'s value is anything other than `val`, - /// this argument isn't required. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .takes_value(true) - /// .required_if("other", "special") - /// .long("config")) - /// .arg(Arg::with_name("other") - /// .long("other") - /// .takes_value(true)) - /// .get_matches_from_safe(vec![ - /// "prog", "--other", "not-special" - /// ]); - /// - /// assert!(res.is_ok()); // We didn't use --other=special, so "cfg" wasn't required - /// ``` - /// - /// Setting [`Arg::required_if(arg, val)`] and having `arg` used with a value of `val` but *not* - /// using this arg is an error. - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .takes_value(true) - /// .required_if("other", "special") - /// .long("config")) - /// .arg(Arg::with_name("other") - /// .long("other") - /// .takes_value(true)) - /// .get_matches_from_safe(vec![ - /// "prog", "--other", "special" - /// ]); - /// - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::MissingRequiredArgument); - /// ``` - /// [`Arg::requires(name)`]: ./struct.Arg.html#method.requires - /// [Conflicting]: ./struct.Arg.html#method.conflicts_with - /// [required]: ./struct.Arg.html#method.required - pub fn required_if(mut self, arg: &'a str, val: &'b str) -> Self { - if let Some(ref mut vec) = self.r_ifs { - vec.push((arg, val)); - } else { - self.r_ifs = Some(vec![(arg, val)]); - } - self - } - - /// Allows specifying that an argument is [required] based on multiple conditions. The - /// conditions are set up in a `(arg, val)` style tuple. The requirement will only become valid - /// if one of the specified `arg`'s value equals it's corresponding `val`. - /// - /// **NOTE:** If using YAML the values should be laid out as follows - /// - /// ```yaml - /// required_if: - /// - [arg, val] - /// - [arg2, val2] - /// ``` - /// - /// # Examples - /// - /// ```rust - /// # use clap::Arg; - /// Arg::with_name("config") - /// .required_ifs(&[ - /// ("extra", "val"), - /// ("option", "spec") - /// ]) - /// # ; - /// ``` - /// - /// Setting [`Arg::required_ifs(&[(arg, val)])`] makes this arg required if any of the `arg`s - /// are used at runtime and it's corresponding value is equal to `val`. If the `arg`'s value is - /// anything other than `val`, this argument isn't required. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .required_ifs(&[ - /// ("extra", "val"), - /// ("option", "spec") - /// ]) - /// .takes_value(true) - /// .long("config")) - /// .arg(Arg::with_name("extra") - /// .takes_value(true) - /// .long("extra")) - /// .arg(Arg::with_name("option") - /// .takes_value(true) - /// .long("option")) - /// .get_matches_from_safe(vec![ - /// "prog", "--option", "other" - /// ]); - /// - /// assert!(res.is_ok()); // We didn't use --option=spec, or --extra=val so "cfg" isn't required - /// ``` - /// - /// Setting [`Arg::required_ifs(&[(arg, val)])`] and having any of the `arg`s used with it's - /// value of `val` but *not* using this arg is an error. - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .required_ifs(&[ - /// ("extra", "val"), - /// ("option", "spec") - /// ]) - /// .takes_value(true) - /// .long("config")) - /// .arg(Arg::with_name("extra") - /// .takes_value(true) - /// .long("extra")) - /// .arg(Arg::with_name("option") - /// .takes_value(true) - /// .long("option")) - /// .get_matches_from_safe(vec![ - /// "prog", "--option", "spec" - /// ]); - /// - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::MissingRequiredArgument); - /// ``` - /// [`Arg::requires(name)`]: ./struct.Arg.html#method.requires - /// [Conflicting]: ./struct.Arg.html#method.conflicts_with - /// [required]: ./struct.Arg.html#method.required - pub fn required_ifs(mut self, ifs: &[(&'a str, &'b str)]) -> Self { - if let Some(ref mut vec) = self.r_ifs { - for r_if in ifs { - vec.push((r_if.0, r_if.1)); - } - } else { - let mut vec = vec![]; - for r_if in ifs { - vec.push((r_if.0, r_if.1)); - } - self.r_ifs = Some(vec); - } - self - } - - /// Sets multiple arguments by names that are required when this one is present I.e. when - /// using this argument, the following arguments *must* be present. - /// - /// **NOTE:** [Conflicting] rules and [override] rules take precedence over being required - /// by default. - /// - /// # Examples - /// - /// ```rust - /// # use clap::Arg; - /// Arg::with_name("config") - /// .requires_all(&["input", "output"]) - /// # ; - /// ``` - /// - /// Setting [`Arg::requires_all(&[arg, arg2])`] requires that all the arguments be used at - /// runtime if the defining argument is used. If the defining argument isn't used, the other - /// argument isn't required - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .takes_value(true) - /// .requires("input") - /// .long("config")) - /// .arg(Arg::with_name("input") - /// .index(1)) - /// .arg(Arg::with_name("output") - /// .index(2)) - /// .get_matches_from_safe(vec![ - /// "prog" - /// ]); - /// - /// assert!(res.is_ok()); // We didn't use cfg, so input and output weren't required - /// ``` - /// - /// Setting [`Arg::requires_all(&[arg, arg2])`] and *not* supplying all the arguments is an - /// error. - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .takes_value(true) - /// .requires_all(&["input", "output"]) - /// .long("config")) - /// .arg(Arg::with_name("input") - /// .index(1)) - /// .arg(Arg::with_name("output") - /// .index(2)) - /// .get_matches_from_safe(vec![ - /// "prog", "--config", "file.conf", "in.txt" - /// ]); - /// - /// assert!(res.is_err()); - /// // We didn't use output - /// assert_eq!(res.unwrap_err().kind, ErrorKind::MissingRequiredArgument); - /// ``` - /// [Conflicting]: ./struct.Arg.html#method.conflicts_with - /// [override]: ./struct.Arg.html#method.overrides_with - /// [`Arg::requires_all(&[arg, arg2])`]: ./struct.Arg.html#method.requires_all - pub fn requires_all(mut self, names: &[&'a str]) -> Self { - if let Some(ref mut vec) = self.b.requires { - for s in names { - vec.push((None, s)); - } - } else { - let mut vec = vec![]; - for s in names { - vec.push((None, *s)); - } - self.b.requires = Some(vec); - } - self - } - - /// Specifies that the argument takes a value at run time. - /// - /// **NOTE:** values for arguments may be specified in any of the following methods - /// - /// * Using a space such as `-o value` or `--option value` - /// * Using an equals and no space such as `-o=value` or `--option=value` - /// * Use a short and no space such as `-ovalue` - /// - /// **NOTE:** By default, args which allow [multiple values] are delimited by commas, meaning - /// `--option=val1,val2,val3` is three values for the `--option` argument. If you wish to - /// change the delimiter to another character you can use [`Arg::value_delimiter(char)`], - /// alternatively you can turn delimiting values **OFF** by using [`Arg::use_delimiter(false)`] - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("config") - /// .takes_value(true) - /// # ; - /// ``` - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("mode") - /// .long("mode") - /// .takes_value(true)) - /// .get_matches_from(vec![ - /// "prog", "--mode", "fast" - /// ]); - /// - /// assert!(m.is_present("mode")); - /// assert_eq!(m.value_of("mode"), Some("fast")); - /// ``` - /// [`Arg::value_delimiter(char)`]: ./struct.Arg.html#method.value_delimiter - /// [`Arg::use_delimiter(false)`]: ./struct.Arg.html#method.use_delimiter - /// [multiple values]: ./struct.Arg.html#method.multiple - pub fn takes_value(self, tv: bool) -> Self { - if tv { - self.set(ArgSettings::TakesValue) - } else { - self.unset(ArgSettings::TakesValue) - } - } - - /// Specifies if the possible values of an argument should be displayed in the help text or - /// not. Defaults to `false` (i.e. show possible values) - /// - /// This is useful for args with many values, or ones which are explained elsewhere in the - /// help text. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("config") - /// .hide_possible_values(true) - /// # ; - /// ``` - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("mode") - /// .long("mode") - /// .possible_values(&["fast", "slow"]) - /// .takes_value(true) - /// .hide_possible_values(true)); - /// - /// ``` - /// - /// If we were to run the above program with `--help` the `[values: fast, slow]` portion of - /// the help text would be omitted. - pub fn hide_possible_values(self, hide: bool) -> Self { - if hide { - self.set(ArgSettings::HidePossibleValues) - } else { - self.unset(ArgSettings::HidePossibleValues) - } - } - - /// Specifies if the default value of an argument should be displayed in the help text or - /// not. Defaults to `false` (i.e. show default value) - /// - /// This is useful when default behavior of an arg is explained elsewhere in the help text. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("config") - /// .hide_default_value(true) - /// # ; - /// ``` - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("connect") - /// .arg(Arg::with_name("host") - /// .long("host") - /// .default_value("localhost") - /// .hide_default_value(true)); - /// - /// ``` - /// - /// If we were to run the above program with `--help` the `[default: localhost]` portion of - /// the help text would be omitted. - pub fn hide_default_value(self, hide: bool) -> Self { - if hide { - self.set(ArgSettings::HideDefaultValue) - } else { - self.unset(ArgSettings::HideDefaultValue) - } - } - - /// Specifies the index of a positional argument **starting at** 1. - /// - /// **NOTE:** The index refers to position according to **other positional argument**. It does - /// not define position in the argument list as a whole. - /// - /// **NOTE:** If no [`Arg::short`], or [`Arg::long`] have been defined, you can optionally - /// leave off the `index` method, and the index will be assigned in order of evaluation. - /// Utilizing the `index` method allows for setting indexes out of order - /// - /// **NOTE:** When utilized with [`Arg::multiple(true)`], only the **last** positional argument - /// may be defined as multiple (i.e. with the highest index) - /// - /// # Panics - /// - /// Although not in this method directly, [`App`] will [`panic!`] if indexes are skipped (such - /// as defining `index(1)` and `index(3)` but not `index(2)`, or a positional argument is - /// defined as multiple and is not the highest index - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("config") - /// .index(1) - /// # ; - /// ``` - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("mode") - /// .index(1)) - /// .arg(Arg::with_name("debug") - /// .long("debug")) - /// .get_matches_from(vec![ - /// "prog", "--debug", "fast" - /// ]); - /// - /// assert!(m.is_present("mode")); - /// assert_eq!(m.value_of("mode"), Some("fast")); // notice index(1) means "first positional" - /// // *not* first argument - /// ``` - /// [`Arg::short`]: ./struct.Arg.html#method.short - /// [`Arg::long`]: ./struct.Arg.html#method.long - /// [`Arg::multiple(true)`]: ./struct.Arg.html#method.multiple - /// [`App`]: ./struct.App.html - /// [`panic!`]: https://doc.rust-lang.org/std/macro.panic!.html - pub fn index(mut self, idx: u64) -> Self { - self.index = Some(idx); - self - } - - /// Specifies that the argument may appear more than once. For flags, this results - /// in the number of occurrences of the flag being recorded. For example `-ddd` or `-d -d -d` - /// would count as three occurrences. For options there is a distinct difference in multiple - /// occurrences vs multiple values. - /// - /// For example, `--opt val1 val2` is one occurrence, but two values. Whereas - /// `--opt val1 --opt val2` is two occurrences. - /// - /// **WARNING:** - /// - /// Setting `multiple(true)` for an [option] with no other details, allows multiple values - /// **and** multiple occurrences because it isn't possible to have more occurrences than values - /// for options. Because multiple values are allowed, `--option val1 val2 val3` is perfectly - /// valid, be careful when designing a CLI where positional arguments are expected after a - /// option which accepts multiple values, as `clap` will continue parsing *values* until it - /// reaches the max or specific number of values defined, or another flag or option. - /// - /// **Pro Tip**: - /// - /// It's possible to define an option which allows multiple occurrences, but only one value per - /// occurrence. To do this use [`Arg::number_of_values(1)`] in coordination with - /// [`Arg::multiple(true)`]. - /// - /// **WARNING:** - /// - /// When using args with `multiple(true)` on [options] or [positionals] (i.e. those args that - /// accept values) and [subcommands], one needs to consider the posibility of an argument value - /// being the same as a valid subcommand. By default `clap` will parse the argument in question - /// as a value *only if* a value is possible at that moment. Otherwise it will be parsed as a - /// subcommand. In effect, this means using `multiple(true)` with no additional parameters and - /// a possible value that coincides with a subcommand name, the subcommand cannot be called - /// unless another argument is passed first. - /// - /// As an example, consider a CLI with an option `--ui-paths=...` and subcommand `signer` - /// - /// The following would be parsed as values to `--ui-paths`. - /// - /// ```notrust - /// $ program --ui-paths path1 path2 signer - /// ``` - /// - /// This is because `--ui-paths` accepts multiple values. `clap` will continue parsing values - /// until another argument is reached and it knows `--ui-paths` is done. - /// - /// By adding additional parameters to `--ui-paths` we can solve this issue. Consider adding - /// [`Arg::number_of_values(1)`] as discussed above. The following are all valid, and `signer` - /// is parsed as both a subcommand and a value in the second case. - /// - /// ```notrust - /// $ program --ui-paths path1 signer - /// $ program --ui-paths path1 --ui-paths signer signer - /// ``` - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("debug") - /// .short("d") - /// .multiple(true) - /// # ; - /// ``` - /// An example with flags - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("verbose") - /// .multiple(true) - /// .short("v")) - /// .get_matches_from(vec![ - /// "prog", "-v", "-v", "-v" // note, -vvv would have same result - /// ]); - /// - /// assert!(m.is_present("verbose")); - /// assert_eq!(m.occurrences_of("verbose"), 3); - /// ``` - /// - /// An example with options - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("file") - /// .multiple(true) - /// .takes_value(true) - /// .short("F")) - /// .get_matches_from(vec![ - /// "prog", "-F", "file1", "file2", "file3" - /// ]); - /// - /// assert!(m.is_present("file")); - /// assert_eq!(m.occurrences_of("file"), 1); // notice only one occurrence - /// let files: Vec<_> = m.values_of("file").unwrap().collect(); - /// assert_eq!(files, ["file1", "file2", "file3"]); - /// ``` - /// This is functionally equivilant to the example above - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("file") - /// .multiple(true) - /// .takes_value(true) - /// .short("F")) - /// .get_matches_from(vec![ - /// "prog", "-F", "file1", "-F", "file2", "-F", "file3" - /// ]); - /// let files: Vec<_> = m.values_of("file").unwrap().collect(); - /// assert_eq!(files, ["file1", "file2", "file3"]); - /// - /// assert!(m.is_present("file")); - /// assert_eq!(m.occurrences_of("file"), 3); // Notice 3 occurrences - /// let files: Vec<_> = m.values_of("file").unwrap().collect(); - /// assert_eq!(files, ["file1", "file2", "file3"]); - /// ``` - /// - /// A common mistake is to define an option which allows multiples, and a positional argument - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("file") - /// .multiple(true) - /// .takes_value(true) - /// .short("F")) - /// .arg(Arg::with_name("word") - /// .index(1)) - /// .get_matches_from(vec![ - /// "prog", "-F", "file1", "file2", "file3", "word" - /// ]); - /// - /// assert!(m.is_present("file")); - /// let files: Vec<_> = m.values_of("file").unwrap().collect(); - /// assert_eq!(files, ["file1", "file2", "file3", "word"]); // wait...what?! - /// assert!(!m.is_present("word")); // but we clearly used word! - /// ``` - /// The problem is clap doesn't know when to stop parsing values for "files". This is further - /// compounded by if we'd said `word -F file1 file2` it would have worked fine, so it would - /// appear to only fail sometimes...not good! - /// - /// A solution for the example above is to specify that `-F` only accepts one value, but is - /// allowed to appear multiple times - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("file") - /// .multiple(true) - /// .takes_value(true) - /// .number_of_values(1) - /// .short("F")) - /// .arg(Arg::with_name("word") - /// .index(1)) - /// .get_matches_from(vec![ - /// "prog", "-F", "file1", "-F", "file2", "-F", "file3", "word" - /// ]); - /// - /// assert!(m.is_present("file")); - /// let files: Vec<_> = m.values_of("file").unwrap().collect(); - /// assert_eq!(files, ["file1", "file2", "file3"]); - /// assert!(m.is_present("word")); - /// assert_eq!(m.value_of("word"), Some("word")); - /// ``` - /// As a final example, notice if we define [`Arg::number_of_values(1)`] and try to run the - /// problem example above, it would have been a runtime error with a pretty message to the - /// user :) - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("file") - /// .multiple(true) - /// .takes_value(true) - /// .number_of_values(1) - /// .short("F")) - /// .arg(Arg::with_name("word") - /// .index(1)) - /// .get_matches_from_safe(vec![ - /// "prog", "-F", "file1", "file2", "file3", "word" - /// ]); - /// - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::UnknownArgument); - /// ``` - /// [option]: ./struct.Arg.html#method.takes_value - /// [options]: ./struct.Arg.html#method.takes_value - /// [subcommands]: ./struct.SubCommand.html - /// [positionals]: ./struct.Arg.html#method.index - /// [`Arg::number_of_values(1)`]: ./struct.Arg.html#method.number_of_values - /// [`Arg::multiple(true)`]: ./struct.Arg.html#method.multiple - pub fn multiple(self, multi: bool) -> Self { - if multi { - self.set(ArgSettings::Multiple) - } else { - self.unset(ArgSettings::Multiple) - } - } - - /// Specifies a value that *stops* parsing multiple values of a give argument. By default when - /// one sets [`multiple(true)`] on an argument, clap will continue parsing values for that - /// argument until it reaches another valid argument, or one of the other more specific settings - /// for multiple values is used (such as [`min_values`], [`max_values`] or - /// [`number_of_values`]). - /// - /// **NOTE:** This setting only applies to [options] and [positional arguments] - /// - /// **NOTE:** When the terminator is passed in on the command line, it is **not** stored as one - /// of the values - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("vals") - /// .takes_value(true) - /// .multiple(true) - /// .value_terminator(";") - /// # ; - /// ``` - /// The following example uses two arguments, a sequence of commands, and the location in which - /// to perform them - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("cmds") - /// .multiple(true) - /// .allow_hyphen_values(true) - /// .value_terminator(";")) - /// .arg(Arg::with_name("location")) - /// .get_matches_from(vec![ - /// "prog", "find", "-type", "f", "-name", "special", ";", "/home/clap" - /// ]); - /// let cmds: Vec<_> = m.values_of("cmds").unwrap().collect(); - /// assert_eq!(&cmds, &["find", "-type", "f", "-name", "special"]); - /// assert_eq!(m.value_of("location"), Some("/home/clap")); - /// ``` - /// [options]: ./struct.Arg.html#method.takes_value - /// [positional arguments]: ./struct.Arg.html#method.index - /// [`multiple(true)`]: ./struct.Arg.html#method.multiple - /// [`min_values`]: ./struct.Arg.html#method.min_values - /// [`number_of_values`]: ./struct.Arg.html#method.number_of_values - /// [`max_values`]: ./struct.Arg.html#method.max_values - pub fn value_terminator(mut self, term: &'b str) -> Self { - self.setb(ArgSettings::TakesValue); - self.v.terminator = Some(term); - self - } - - /// Specifies that an argument can be matched to all child [`SubCommand`]s. - /// - /// **NOTE:** Global arguments *only* propagate down, **not** up (to parent commands), however - /// their values once a user uses them will be propagated back up to parents. In effect, this - /// means one should *define* all global arguments at the top level, however it doesn't matter - /// where the user *uses* the global argument. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("debug") - /// .short("d") - /// .global(true) - /// # ; - /// ``` - /// - /// For example, assume an appliction with two subcommands, and you'd like to define a - /// `--verbose` flag that can be called on any of the subcommands and parent, but you don't - /// want to clutter the source with three duplicate [`Arg`] definitions. - /// - /// ```rust - /// # use clap::{App, Arg, SubCommand}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("verb") - /// .long("verbose") - /// .short("v") - /// .global(true)) - /// .subcommand(SubCommand::with_name("test")) - /// .subcommand(SubCommand::with_name("do-stuff")) - /// .get_matches_from(vec![ - /// "prog", "do-stuff", "--verbose" - /// ]); - /// - /// assert_eq!(m.subcommand_name(), Some("do-stuff")); - /// let sub_m = m.subcommand_matches("do-stuff").unwrap(); - /// assert!(sub_m.is_present("verb")); - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - /// [required]: ./struct.Arg.html#method.required - /// [`ArgMatches`]: ./struct.ArgMatches.html - /// [`ArgMatches::is_present("flag")`]: ./struct.ArgMatches.html#method.is_present - /// [`Arg`]: ./struct.Arg.html - pub fn global(self, g: bool) -> Self { - if g { - self.set(ArgSettings::Global) - } else { - self.unset(ArgSettings::Global) - } - } - - /// Allows an argument to accept explicitly empty values. An empty value must be specified at - /// the command line with an explicit `""`, or `''` - /// - /// **NOTE:** Defaults to `true` (Explicitly empty values are allowed) - /// - /// **NOTE:** Implicitly sets [`Arg::takes_value(true)`] when set to `false` - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("file") - /// .long("file") - /// .empty_values(false) - /// # ; - /// ``` - /// The default is to allow empty values, such as `--option ""` would be an empty value. But - /// we can change to make empty values become an error. - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .long("config") - /// .short("v") - /// .empty_values(false)) - /// .get_matches_from_safe(vec![ - /// "prog", "--config=" - /// ]); - /// - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::EmptyValue); - /// ``` - /// [`Arg::takes_value(true)`]: ./struct.Arg.html#method.takes_value - pub fn empty_values(mut self, ev: bool) -> Self { - if ev { - self.set(ArgSettings::EmptyValues) - } else { - self = self.set(ArgSettings::TakesValue); - self.unset(ArgSettings::EmptyValues) - } - } - - /// Hides an argument from help message output. - /// - /// **NOTE:** This does **not** hide the argument from usage strings on error - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("debug") - /// .hidden(true) - /// # ; - /// ``` - /// Setting `hidden(true)` will hide the argument when displaying help text - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("cfg") - /// .long("config") - /// .hidden(true) - /// .help("Some help text describing the --config arg")) - /// .get_matches_from(vec![ - /// "prog", "--help" - /// ]); - /// ``` - /// - /// The above example displays - /// - /// ```notrust - /// helptest - /// - /// USAGE: - /// helptest [FLAGS] - /// - /// FLAGS: - /// -h, --help Prints help information - /// -V, --version Prints version information - /// ``` - pub fn hidden(self, h: bool) -> Self { - if h { - self.set(ArgSettings::Hidden) - } else { - self.unset(ArgSettings::Hidden) - } - } - - /// Specifies a list of possible values for this argument. At runtime, `clap` verifies that - /// only one of the specified values was used, or fails with an error message. - /// - /// **NOTE:** This setting only applies to [options] and [positional arguments] - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("mode") - /// .takes_value(true) - /// .possible_values(&["fast", "slow", "medium"]) - /// # ; - /// ``` - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("mode") - /// .long("mode") - /// .takes_value(true) - /// .possible_values(&["fast", "slow", "medium"])) - /// .get_matches_from(vec![ - /// "prog", "--mode", "fast" - /// ]); - /// assert!(m.is_present("mode")); - /// assert_eq!(m.value_of("mode"), Some("fast")); - /// ``` - /// - /// The next example shows a failed parse from using a value which wasn't defined as one of the - /// possible values. - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("mode") - /// .long("mode") - /// .takes_value(true) - /// .possible_values(&["fast", "slow", "medium"])) - /// .get_matches_from_safe(vec![ - /// "prog", "--mode", "wrong" - /// ]); - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::InvalidValue); - /// ``` - /// [options]: ./struct.Arg.html#method.takes_value - /// [positional arguments]: ./struct.Arg.html#method.index - pub fn possible_values(mut self, names: &[&'b str]) -> Self { - if let Some(ref mut vec) = self.v.possible_vals { - for s in names { - vec.push(s); - } - } else { - self.v.possible_vals = Some(names.iter().map(|s| *s).collect::>()); - } - self - } - - /// Specifies a possible value for this argument, one at a time. At runtime, `clap` verifies - /// that only one of the specified values was used, or fails with error message. - /// - /// **NOTE:** This setting only applies to [options] and [positional arguments] - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("mode") - /// .takes_value(true) - /// .possible_value("fast") - /// .possible_value("slow") - /// .possible_value("medium") - /// # ; - /// ``` - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("mode") - /// .long("mode") - /// .takes_value(true) - /// .possible_value("fast") - /// .possible_value("slow") - /// .possible_value("medium")) - /// .get_matches_from(vec![ - /// "prog", "--mode", "fast" - /// ]); - /// assert!(m.is_present("mode")); - /// assert_eq!(m.value_of("mode"), Some("fast")); - /// ``` - /// - /// The next example shows a failed parse from using a value which wasn't defined as one of the - /// possible values. - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("mode") - /// .long("mode") - /// .takes_value(true) - /// .possible_value("fast") - /// .possible_value("slow") - /// .possible_value("medium")) - /// .get_matches_from_safe(vec![ - /// "prog", "--mode", "wrong" - /// ]); - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::InvalidValue); - /// ``` - /// [options]: ./struct.Arg.html#method.takes_value - /// [positional arguments]: ./struct.Arg.html#method.index - pub fn possible_value(mut self, name: &'b str) -> Self { - if let Some(ref mut vec) = self.v.possible_vals { - vec.push(name); - } else { - self.v.possible_vals = Some(vec![name]); - } - self - } - - /// Specifies the name of the [`ArgGroup`] the argument belongs to. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("debug") - /// .long("debug") - /// .group("mode") - /// # ; - /// ``` - /// - /// Multiple arguments can be a member of a single group and then the group checked as if it - /// was one of said arguments. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("debug") - /// .long("debug") - /// .group("mode")) - /// .arg(Arg::with_name("verbose") - /// .long("verbose") - /// .group("mode")) - /// .get_matches_from(vec![ - /// "prog", "--debug" - /// ]); - /// assert!(m.is_present("mode")); - /// ``` - /// [`ArgGroup`]: ./struct.ArgGroup.html - pub fn group(mut self, name: &'a str) -> Self { - if let Some(ref mut vec) = self.b.groups { - vec.push(name); - } else { - self.b.groups = Some(vec![name]); - } - self - } - - /// Specifies the names of multiple [`ArgGroup`]'s the argument belongs to. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("debug") - /// .long("debug") - /// .groups(&["mode", "verbosity"]) - /// # ; - /// ``` - /// - /// Arguments can be members of multiple groups and then the group checked as if it - /// was one of said arguments. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("debug") - /// .long("debug") - /// .groups(&["mode", "verbosity"])) - /// .arg(Arg::with_name("verbose") - /// .long("verbose") - /// .groups(&["mode", "verbosity"])) - /// .get_matches_from(vec![ - /// "prog", "--debug" - /// ]); - /// assert!(m.is_present("mode")); - /// assert!(m.is_present("verbosity")); - /// ``` - /// [`ArgGroup`]: ./struct.ArgGroup.html - pub fn groups(mut self, names: &[&'a str]) -> Self { - if let Some(ref mut vec) = self.b.groups { - for s in names { - vec.push(s); - } - } else { - self.b.groups = Some(names.into_iter().map(|s| *s).collect::>()); - } - self - } - - /// Specifies how many values are required to satisfy this argument. For example, if you had a - /// `-f ` argument where you wanted exactly 3 'files' you would set - /// `.number_of_values(3)`, and this argument wouldn't be satisfied unless the user provided - /// 3 and only 3 values. - /// - /// **NOTE:** Does *not* require [`Arg::multiple(true)`] to be set. Setting - /// [`Arg::multiple(true)`] would allow `-f -f ` where - /// as *not* setting [`Arg::multiple(true)`] would only allow one occurrence of this argument. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("file") - /// .short("f") - /// .number_of_values(3) - /// # ; - /// ``` - /// - /// Not supplying the correct number of values is an error - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("file") - /// .takes_value(true) - /// .number_of_values(2) - /// .short("F")) - /// .get_matches_from_safe(vec![ - /// "prog", "-F", "file1" - /// ]); - /// - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::WrongNumberOfValues); - /// ``` - /// [`Arg::multiple(true)`]: ./struct.Arg.html#method.multiple - pub fn number_of_values(mut self, qty: u64) -> Self { - self.setb(ArgSettings::TakesValue); - self.v.num_vals = Some(qty); - self - } - - /// Allows one to perform a custom validation on the argument value. You provide a closure - /// which accepts a [`String`] value, and return a [`Result`] where the [`Err(String)`] is a - /// message displayed to the user. - /// - /// **NOTE:** The error message does *not* need to contain the `error:` portion, only the - /// message as all errors will appear as - /// `error: Invalid value for '': ` where `` is replaced by the actual - /// arg, and `` is the `String` you return as the error. - /// - /// **NOTE:** There is a small performance hit for using validators, as they are implemented - /// with [`Rc`] pointers. And the value to be checked will be allocated an extra time in order - /// to to be passed to the closure. This performance hit is extremely minimal in the grand - /// scheme of things. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// fn has_at(v: String) -> Result<(), String> { - /// if v.contains("@") { return Ok(()); } - /// Err(String::from("The value did not contain the required @ sigil")) - /// } - /// let res = App::new("prog") - /// .arg(Arg::with_name("file") - /// .index(1) - /// .validator(has_at)) - /// .get_matches_from_safe(vec![ - /// "prog", "some@file" - /// ]); - /// assert!(res.is_ok()); - /// assert_eq!(res.unwrap().value_of("file"), Some("some@file")); - /// ``` - /// [`String`]: https://doc.rust-lang.org/std/string/struct.String.html - /// [`Result`]: https://doc.rust-lang.org/std/result/enum.Result.html - /// [`Err(String)`]: https://doc.rust-lang.org/std/result/enum.Result.html#variant.Err - /// [`Rc`]: https://doc.rust-lang.org/std/rc/struct.Rc.html - pub fn validator(mut self, f: F) -> Self - where F: Fn(String) -> Result<(), String> + 'static - { - self.v.validator = Some(Rc::new(f)); - self - } - - /// Works identically to Validator but is intended to be used with values that could - /// contain non UTF-8 formatted strings. - /// - /// # Examples - /// - #[cfg_attr(not(unix), doc=" ```ignore")] - #[cfg_attr( unix , doc=" ```rust")] - /// # use clap::{App, Arg}; - /// # use std::ffi::{OsStr, OsString}; - /// # use std::os::unix::ffi::OsStrExt; - /// fn has_ampersand(v: &OsStr) -> Result<(), OsString> { - /// if v.as_bytes().iter().any(|b| *b == b'&') { return Ok(()); } - /// Err(OsString::from("The value did not contain the required & sigil")) - /// } - /// let res = App::new("prog") - /// .arg(Arg::with_name("file") - /// .index(1) - /// .validator_os(has_ampersand)) - /// .get_matches_from_safe(vec![ - /// "prog", "Fish & chips" - /// ]); - /// assert!(res.is_ok()); - /// assert_eq!(res.unwrap().value_of("file"), Some("Fish & chips")); - /// ``` - /// [`String`]: https://doc.rust-lang.org/std/string/struct.String.html - /// [`OsStr`]: https://doc.rust-lang.org/std/ffi/struct.OsStr.html - /// [`OsString`]: https://doc.rust-lang.org/std/ffi/struct.OsString.html - /// [`Result`]: https://doc.rust-lang.org/std/result/enum.Result.html - /// [`Err(String)`]: https://doc.rust-lang.org/std/result/enum.Result.html#variant.Err - /// [`Rc`]: https://doc.rust-lang.org/std/rc/struct.Rc.html - pub fn validator_os(mut self, f: F) -> Self - where F: Fn(&OsStr) -> Result<(), OsString> + 'static - { - self.v.validator_os = Some(Rc::new(f)); - self - } - - /// Specifies the *maximum* number of values are for this argument. For example, if you had a - /// `-f ` argument where you wanted up to 3 'files' you would set `.max_values(3)`, and - /// this argument would be satisfied if the user provided, 1, 2, or 3 values. - /// - /// **NOTE:** This does *not* implicitly set [`Arg::multiple(true)`]. This is because - /// `-o val -o val` is multiple occurrences but a single value and `-o val1 val2` is a single - /// occurence with multiple values. For positional arguments this **does** set - /// [`Arg::multiple(true)`] because there is no way to determine the difference between multiple - /// occurences and multiple values. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("file") - /// .short("f") - /// .max_values(3) - /// # ; - /// ``` - /// - /// Supplying less than the maximum number of values is allowed - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("file") - /// .takes_value(true) - /// .max_values(3) - /// .short("F")) - /// .get_matches_from_safe(vec![ - /// "prog", "-F", "file1", "file2" - /// ]); - /// - /// assert!(res.is_ok()); - /// let m = res.unwrap(); - /// let files: Vec<_> = m.values_of("file").unwrap().collect(); - /// assert_eq!(files, ["file1", "file2"]); - /// ``` - /// - /// Supplying more than the maximum number of values is an error - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("file") - /// .takes_value(true) - /// .max_values(2) - /// .short("F")) - /// .get_matches_from_safe(vec![ - /// "prog", "-F", "file1", "file2", "file3" - /// ]); - /// - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::TooManyValues); - /// ``` - /// [`Arg::multiple(true)`]: ./struct.Arg.html#method.multiple - pub fn max_values(mut self, qty: u64) -> Self { - self.setb(ArgSettings::TakesValue); - self.v.max_vals = Some(qty); - self - } - - /// Specifies the *minimum* number of values for this argument. For example, if you had a - /// `-f ` argument where you wanted at least 2 'files' you would set - /// `.min_values(2)`, and this argument would be satisfied if the user provided, 2 or more - /// values. - /// - /// **NOTE:** This does not implicitly set [`Arg::multiple(true)`]. This is because - /// `-o val -o val` is multiple occurrences but a single value and `-o val1 val2` is a single - /// occurence with multiple values. For positional arguments this **does** set - /// [`Arg::multiple(true)`] because there is no way to determine the difference between multiple - /// occurences and multiple values. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("file") - /// .short("f") - /// .min_values(3) - /// # ; - /// ``` - /// - /// Supplying more than the minimum number of values is allowed - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("file") - /// .takes_value(true) - /// .min_values(2) - /// .short("F")) - /// .get_matches_from_safe(vec![ - /// "prog", "-F", "file1", "file2", "file3" - /// ]); - /// - /// assert!(res.is_ok()); - /// let m = res.unwrap(); - /// let files: Vec<_> = m.values_of("file").unwrap().collect(); - /// assert_eq!(files, ["file1", "file2", "file3"]); - /// ``` - /// - /// Supplying less than the minimum number of values is an error - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("file") - /// .takes_value(true) - /// .min_values(2) - /// .short("F")) - /// .get_matches_from_safe(vec![ - /// "prog", "-F", "file1" - /// ]); - /// - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::TooFewValues); - /// ``` - /// [`Arg::multiple(true)`]: ./struct.Arg.html#method.multiple - pub fn min_values(mut self, qty: u64) -> Self { - self.v.min_vals = Some(qty); - self.set(ArgSettings::TakesValue) - } - - /// Specifies whether or not an argument should allow grouping of multiple values via a - /// delimiter. I.e. should `--option=val1,val2,val3` be parsed as three values (`val1`, `val2`, - /// and `val3`) or as a single value (`val1,val2,val3`). Defaults to using `,` (comma) as the - /// value delimiter for all arguments that accept values (options and positional arguments) - /// - /// **NOTE:** The default is `false`. When set to `true` the default [`Arg::value_delimiter`] - /// is the comma `,`. - /// - /// # Examples - /// - /// The following example shows the default behavior. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let delims = App::new("prog") - /// .arg(Arg::with_name("option") - /// .long("option") - /// .use_delimiter(true) - /// .takes_value(true)) - /// .get_matches_from(vec![ - /// "prog", "--option=val1,val2,val3", - /// ]); - /// - /// assert!(delims.is_present("option")); - /// assert_eq!(delims.occurrences_of("option"), 1); - /// assert_eq!(delims.values_of("option").unwrap().collect::>(), ["val1", "val2", "val3"]); - /// ``` - /// The next example shows the difference when turning delimiters off. This is the default - /// behavior - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let nodelims = App::new("prog") - /// .arg(Arg::with_name("option") - /// .long("option") - /// .use_delimiter(false) - /// .takes_value(true)) - /// .get_matches_from(vec![ - /// "prog", "--option=val1,val2,val3", - /// ]); - /// - /// assert!(nodelims.is_present("option")); - /// assert_eq!(nodelims.occurrences_of("option"), 1); - /// assert_eq!(nodelims.value_of("option").unwrap(), "val1,val2,val3"); - /// ``` - /// [`Arg::value_delimiter`]: ./struct.Arg.html#method.value_delimiter - pub fn use_delimiter(mut self, d: bool) -> Self { - if d { - if self.v.val_delim.is_none() { - self.v.val_delim = Some(','); - } - self.setb(ArgSettings::TakesValue); - self.setb(ArgSettings::UseValueDelimiter); - self.unset(ArgSettings::ValueDelimiterNotSet) - } else { - self.v.val_delim = None; - self.unsetb(ArgSettings::UseValueDelimiter); - self.unset(ArgSettings::ValueDelimiterNotSet) - } - } - - /// Specifies that *multiple values* may only be set using the delimiter. This means if an - /// if an option is encountered, and no delimiter is found, it automatically assumed that no - /// additional values for that option follow. This is unlike the default, where it is generally - /// assumed that more values will follow regardless of whether or not a delimiter is used. - /// - /// **NOTE:** The default is `false`. - /// - /// **NOTE:** Setting this to true implies [`Arg::use_delimiter(true)`] - /// - /// **NOTE:** It's a good idea to inform the user that use of a delimiter is required, either - /// through help text or other means. - /// - /// # Examples - /// - /// These examples demonstrate what happens when `require_delimiter(true)` is used. Notice - /// everything works in this first example, as we use a delimiter, as expected. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let delims = App::new("prog") - /// .arg(Arg::with_name("opt") - /// .short("o") - /// .takes_value(true) - /// .multiple(true) - /// .require_delimiter(true)) - /// .get_matches_from(vec![ - /// "prog", "-o", "val1,val2,val3", - /// ]); - /// - /// assert!(delims.is_present("opt")); - /// assert_eq!(delims.values_of("opt").unwrap().collect::>(), ["val1", "val2", "val3"]); - /// ``` - /// In this next example, we will *not* use a delimiter. Notice it's now an error. - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("opt") - /// .short("o") - /// .takes_value(true) - /// .multiple(true) - /// .require_delimiter(true)) - /// .get_matches_from_safe(vec![ - /// "prog", "-o", "val1", "val2", "val3", - /// ]); - /// - /// assert!(res.is_err()); - /// let err = res.unwrap_err(); - /// assert_eq!(err.kind, ErrorKind::UnknownArgument); - /// ``` - /// What's happening is `-o` is getting `val1`, and because delimiters are required yet none - /// were present, it stops parsing `-o`. At this point it reaches `val2` and because no - /// positional arguments have been defined, it's an error of an unexpected argument. - /// - /// In this final example, we contrast the above with `clap`'s default behavior where the above - /// is *not* an error. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let delims = App::new("prog") - /// .arg(Arg::with_name("opt") - /// .short("o") - /// .takes_value(true) - /// .multiple(true)) - /// .get_matches_from(vec![ - /// "prog", "-o", "val1", "val2", "val3", - /// ]); - /// - /// assert!(delims.is_present("opt")); - /// assert_eq!(delims.values_of("opt").unwrap().collect::>(), ["val1", "val2", "val3"]); - /// ``` - /// [`Arg::use_delimiter(true)`]: ./struct.Arg.html#method.use_delimiter - pub fn require_delimiter(mut self, d: bool) -> Self { - if d { - self = self.use_delimiter(true); - self.unsetb(ArgSettings::ValueDelimiterNotSet); - self.setb(ArgSettings::UseValueDelimiter); - self.set(ArgSettings::RequireDelimiter) - } else { - self = self.use_delimiter(false); - self.unsetb(ArgSettings::UseValueDelimiter); - self.unset(ArgSettings::RequireDelimiter) - } - } - - /// Specifies the separator to use when values are clumped together, defaults to `,` (comma). - /// - /// **NOTE:** implicitly sets [`Arg::use_delimiter(true)`] - /// - /// **NOTE:** implicitly sets [`Arg::takes_value(true)`] - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("config") - /// .short("c") - /// .long("config") - /// .value_delimiter(";")) - /// .get_matches_from(vec![ - /// "prog", "--config=val1;val2;val3" - /// ]); - /// - /// assert_eq!(m.values_of("config").unwrap().collect::>(), ["val1", "val2", "val3"]) - /// ``` - /// [`Arg::use_delimiter(true)`]: ./struct.Arg.html#method.use_delimiter - /// [`Arg::takes_value(true)`]: ./struct.Arg.html#method.takes_value - pub fn value_delimiter(mut self, d: &str) -> Self { - self.unsetb(ArgSettings::ValueDelimiterNotSet); - self.setb(ArgSettings::TakesValue); - self.setb(ArgSettings::UseValueDelimiter); - self.v.val_delim = Some(d.chars() - .nth(0) - .expect("Failed to get value_delimiter from arg")); - self - } - - /// Specify multiple names for values of option arguments. These names are cosmetic only, used - /// for help and usage strings only. The names are **not** used to access arguments. The values - /// of the arguments are accessed in numeric order (i.e. if you specify two names `one` and - /// `two` `one` will be the first matched value, `two` will be the second). - /// - /// This setting can be very helpful when describing the type of input the user should be - /// using, such as `FILE`, `INTERFACE`, etc. Although not required, it's somewhat convention to - /// use all capital letters for the value name. - /// - /// **Pro Tip:** It may help to use [`Arg::next_line_help(true)`] if there are long, or - /// multiple value names in order to not throw off the help text alignment of all options. - /// - /// **NOTE:** This implicitly sets [`Arg::number_of_values`] if the number of value names is - /// greater than one. I.e. be aware that the number of "names" you set for the values, will be - /// the *exact* number of values required to satisfy this argument - /// - /// **NOTE:** implicitly sets [`Arg::takes_value(true)`] - /// - /// **NOTE:** Does *not* require or imply [`Arg::multiple(true)`]. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("speed") - /// .short("s") - /// .value_names(&["fast", "slow"]) - /// # ; - /// ``` - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("io") - /// .long("io-files") - /// .value_names(&["INFILE", "OUTFILE"])) - /// .get_matches_from(vec![ - /// "prog", "--help" - /// ]); - /// ``` - /// Running the above program produces the following output - /// - /// ```notrust - /// valnames - /// - /// USAGE: - /// valnames [FLAGS] [OPTIONS] - /// - /// FLAGS: - /// -h, --help Prints help information - /// -V, --version Prints version information - /// - /// OPTIONS: - /// --io-files Some help text - /// ``` - /// [`Arg::next_line_help(true)`]: ./struct.Arg.html#method.next_line_help - /// [`Arg::number_of_values`]: ./struct.Arg.html#method.number_of_values - /// [`Arg::takes_value(true)`]: ./struct.Arg.html#method.takes_value - /// [`Arg::multiple(true)`]: ./struct.Arg.html#method.multiple - pub fn value_names(mut self, names: &[&'b str]) -> Self { - self.setb(ArgSettings::TakesValue); - if self.is_set(ArgSettings::ValueDelimiterNotSet) { - self.unsetb(ArgSettings::ValueDelimiterNotSet); - self.setb(ArgSettings::UseValueDelimiter); - } - if let Some(ref mut vals) = self.v.val_names { - let mut l = vals.len(); - for s in names { - vals.insert(l, s); - l += 1; - } - } else { - let mut vm = VecMap::new(); - for (i, n) in names.iter().enumerate() { - vm.insert(i, *n); - } - self.v.val_names = Some(vm); - } - self - } - - /// Specifies the name for value of [option] or [positional] arguments inside of help - /// documentation. This name is cosmetic only, the name is **not** used to access arguments. - /// This setting can be very helpful when describing the type of input the user should be - /// using, such as `FILE`, `INTERFACE`, etc. Although not required, it's somewhat convention to - /// use all capital letters for the value name. - /// - /// **NOTE:** implicitly sets [`Arg::takes_value(true)`] - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// Arg::with_name("cfg") - /// .long("config") - /// .value_name("FILE") - /// # ; - /// ``` - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("config") - /// .long("config") - /// .value_name("FILE")) - /// .get_matches_from(vec![ - /// "prog", "--help" - /// ]); - /// ``` - /// Running the above program produces the following output - /// - /// ```notrust - /// valnames - /// - /// USAGE: - /// valnames [FLAGS] [OPTIONS] - /// - /// FLAGS: - /// -h, --help Prints help information - /// -V, --version Prints version information - /// - /// OPTIONS: - /// --config Some help text - /// ``` - /// [option]: ./struct.Arg.html#method.takes_value - /// [positional]: ./struct.Arg.html#method.index - /// [`Arg::takes_value(true)`]: ./struct.Arg.html#method.takes_value - pub fn value_name(mut self, name: &'b str) -> Self { - self.setb(ArgSettings::TakesValue); - if let Some(ref mut vals) = self.v.val_names { - let l = vals.len(); - vals.insert(l, name); - } else { - let mut vm = VecMap::new(); - vm.insert(0, name); - self.v.val_names = Some(vm); - } - self - } - - /// Specifies the value of the argument when *not* specified at runtime. - /// - /// **NOTE:** If the user *does not* use this argument at runtime, [`ArgMatches::occurrences_of`] - /// will return `0` even though the [`ArgMatches::value_of`] will return the default specified. - /// - /// **NOTE:** If the user *does not* use this argument at runtime [`ArgMatches::is_present`] will - /// still return `true`. If you wish to determine whether the argument was used at runtime or - /// not, consider [`ArgMatches::occurrences_of`] which will return `0` if the argument was *not* - /// used at runtime. - /// - /// **NOTE:** This setting is perfectly compatible with [`Arg::default_value_if`] but slightly - /// different. `Arg::default_value` *only* takes affect when the user has not provided this arg - /// at runtime. `Arg::default_value_if` however only takes affect when the user has not provided - /// a value at runtime **and** these other conditions are met as well. If you have set - /// `Arg::default_value` and `Arg::default_value_if`, and the user **did not** provide a this - /// arg at runtime, nor did were the conditions met for `Arg::default_value_if`, the - /// `Arg::default_value` will be applied. - /// - /// **NOTE:** This implicitly sets [`Arg::takes_value(true)`]. - /// - /// **NOTE:** This setting effectively disables `AppSettings::ArgRequiredElseHelp` if used in - /// conjuction as it ensures that some argument will always be present. - /// - /// # Examples - /// - /// First we use the default value without providing any value at runtime. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("opt") - /// .long("myopt") - /// .default_value("myval")) - /// .get_matches_from(vec![ - /// "prog" - /// ]); - /// - /// assert_eq!(m.value_of("opt"), Some("myval")); - /// assert!(m.is_present("opt")); - /// assert_eq!(m.occurrences_of("opt"), 0); - /// ``` - /// - /// Next we provide a value at runtime to override the default. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("opt") - /// .long("myopt") - /// .default_value("myval")) - /// .get_matches_from(vec![ - /// "prog", "--myopt=non_default" - /// ]); - /// - /// assert_eq!(m.value_of("opt"), Some("non_default")); - /// assert!(m.is_present("opt")); - /// assert_eq!(m.occurrences_of("opt"), 1); - /// ``` - /// [`ArgMatches::occurrences_of`]: ./struct.ArgMatches.html#method.occurrences_of - /// [`ArgMatches::value_of`]: ./struct.ArgMatches.html#method.value_of - /// [`Arg::takes_value(true)`]: ./struct.Arg.html#method.takes_value - /// [`ArgMatches::is_present`]: ./struct.ArgMatches.html#method.is_present - /// [`Arg::default_value_if`]: ./struct.Arg.html#method.default_value_if - pub fn default_value(self, val: &'a str) -> Self { - self.default_value_os(OsStr::from_bytes(val.as_bytes())) - } - - /// Provides a default value in the exact same manner as [`Arg::default_value`] - /// only using [`OsStr`]s instead. - /// [`Arg::default_value`]: ./struct.Arg.html#method.default_value - /// [`OsStr`]: https://doc.rust-lang.org/std/ffi/struct.OsStr.html - pub fn default_value_os(mut self, val: &'a OsStr) -> Self { - self.setb(ArgSettings::TakesValue); - self.v.default_val = Some(val); - self - } - - /// Specifies the value of the argument if `arg` has been used at runtime. If `val` is set to - /// `None`, `arg` only needs to be present. If `val` is set to `"some-val"` then `arg` must be - /// present at runtime **and** have the value `val`. - /// - /// **NOTE:** This setting is perfectly compatible with [`Arg::default_value`] but slightly - /// different. `Arg::default_value` *only* takes affect when the user has not provided this arg - /// at runtime. This setting however only takes affect when the user has not provided a value at - /// runtime **and** these other conditions are met as well. If you have set `Arg::default_value` - /// and `Arg::default_value_if`, and the user **did not** provide a this arg at runtime, nor did - /// were the conditions met for `Arg::default_value_if`, the `Arg::default_value` will be - /// applied. - /// - /// **NOTE:** This implicitly sets [`Arg::takes_value(true)`]. - /// - /// **NOTE:** If using YAML the values should be laid out as follows (`None` can be represented - /// as `null` in YAML) - /// - /// ```yaml - /// default_value_if: - /// - [arg, val, default] - /// ``` - /// - /// # Examples - /// - /// First we use the default value only if another arg is present at runtime. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("flag") - /// .long("flag")) - /// .arg(Arg::with_name("other") - /// .long("other") - /// .default_value_if("flag", None, "default")) - /// .get_matches_from(vec![ - /// "prog", "--flag" - /// ]); - /// - /// assert_eq!(m.value_of("other"), Some("default")); - /// ``` - /// - /// Next we run the same test, but without providing `--flag`. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("flag") - /// .long("flag")) - /// .arg(Arg::with_name("other") - /// .long("other") - /// .default_value_if("flag", None, "default")) - /// .get_matches_from(vec![ - /// "prog" - /// ]); - /// - /// assert_eq!(m.value_of("other"), None); - /// ``` - /// - /// Now lets only use the default value if `--opt` contains the value `special`. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("opt") - /// .takes_value(true) - /// .long("opt")) - /// .arg(Arg::with_name("other") - /// .long("other") - /// .default_value_if("opt", Some("special"), "default")) - /// .get_matches_from(vec![ - /// "prog", "--opt", "special" - /// ]); - /// - /// assert_eq!(m.value_of("other"), Some("default")); - /// ``` - /// - /// We can run the same test and provide any value *other than* `special` and we won't get a - /// default value. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("opt") - /// .takes_value(true) - /// .long("opt")) - /// .arg(Arg::with_name("other") - /// .long("other") - /// .default_value_if("opt", Some("special"), "default")) - /// .get_matches_from(vec![ - /// "prog", "--opt", "hahaha" - /// ]); - /// - /// assert_eq!(m.value_of("other"), None); - /// ``` - /// [`Arg::takes_value(true)`]: ./struct.Arg.html#method.takes_value - /// [`Arg::default_value`]: ./struct.Arg.html#method.default_value - pub fn default_value_if(self, arg: &'a str, val: Option<&'b str>, default: &'b str) -> Self { - self.default_value_if_os(arg, - val.map(str::as_bytes).map(OsStr::from_bytes), - OsStr::from_bytes(default.as_bytes())) - } - - /// Provides a conditional default value in the exact same manner as [`Arg::default_value_if`] - /// only using [`OsStr`]s instead. - /// [`Arg::default_value_if`]: ./struct.Arg.html#method.default_value_if - /// [`OsStr`]: https://doc.rust-lang.org/std/ffi/struct.OsStr.html - pub fn default_value_if_os(mut self, - arg: &'a str, - val: Option<&'b OsStr>, - default: &'b OsStr) - -> Self { - self.setb(ArgSettings::TakesValue); - if let Some(ref mut vm) = self.v.default_vals_ifs { - let l = vm.len(); - vm.insert(l, (arg, val, default)); - } else { - let mut vm = VecMap::new(); - vm.insert(0, (arg, val, default)); - self.v.default_vals_ifs = Some(vm); - } - self - } - - /// Specifies multiple values and conditions in the same manner as [`Arg::default_value_if`]. - /// The method takes a slice of tuples in the `(arg, Option, default)` format. - /// - /// **NOTE**: The conditions are stored in order and evaluated in the same order. I.e. the first - /// if multiple conditions are true, the first one found will be applied and the ultimate value. - /// - /// **NOTE:** If using YAML the values should be laid out as follows - /// - /// ```yaml - /// default_value_if: - /// - [arg, val, default] - /// - [arg2, null, default2] - /// ``` - /// - /// # Examples - /// - /// First we use the default value only if another arg is present at runtime. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("flag") - /// .long("flag")) - /// .arg(Arg::with_name("opt") - /// .long("opt") - /// .takes_value(true)) - /// .arg(Arg::with_name("other") - /// .long("other") - /// .default_value_ifs(&[ - /// ("flag", None, "default"), - /// ("opt", Some("channal"), "chan"), - /// ])) - /// .get_matches_from(vec![ - /// "prog", "--opt", "channal" - /// ]); - /// - /// assert_eq!(m.value_of("other"), Some("chan")); - /// ``` - /// - /// Next we run the same test, but without providing `--flag`. - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("flag") - /// .long("flag")) - /// .arg(Arg::with_name("other") - /// .long("other") - /// .default_value_ifs(&[ - /// ("flag", None, "default"), - /// ("opt", Some("channal"), "chan"), - /// ])) - /// .get_matches_from(vec![ - /// "prog" - /// ]); - /// - /// assert_eq!(m.value_of("other"), None); - /// ``` - /// - /// We can also see that these values are applied in order, and if more than one condition is - /// true, only the first evaluatd "wins" - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("flag") - /// .long("flag")) - /// .arg(Arg::with_name("opt") - /// .long("opt") - /// .takes_value(true)) - /// .arg(Arg::with_name("other") - /// .long("other") - /// .default_value_ifs(&[ - /// ("flag", None, "default"), - /// ("opt", Some("channal"), "chan"), - /// ])) - /// .get_matches_from(vec![ - /// "prog", "--opt", "channal", "--flag" - /// ]); - /// - /// assert_eq!(m.value_of("other"), Some("default")); - /// ``` - /// [`Arg::takes_value(true)`]: ./struct.Arg.html#method.takes_value - /// [`Arg::default_value`]: ./struct.Arg.html#method.default_value - pub fn default_value_ifs(mut self, ifs: &[(&'a str, Option<&'b str>, &'b str)]) -> Self { - for &(arg, val, default) in ifs { - self = self.default_value_if_os(arg, - val.map(str::as_bytes).map(OsStr::from_bytes), - OsStr::from_bytes(default.as_bytes())); - } - self - } - - /// Provides multiple conditional default values in the exact same manner as - /// [`Arg::default_value_ifs`] only using [`OsStr`]s instead. - /// [`Arg::default_value_ifs`]: ./struct.Arg.html#method.default_value_ifs - /// [`OsStr`]: https://doc.rust-lang.org/std/ffi/struct.OsStr.html - #[cfg_attr(feature = "lints", allow(explicit_counter_loop))] - pub fn default_value_ifs_os(mut self, ifs: &[(&'a str, Option<&'b OsStr>, &'b OsStr)]) -> Self { - for &(arg, val, default) in ifs { - self = self.default_value_if_os(arg, val, default); - } - self - } - - /// Specifies that if the value is not passed in as an argument, that it should be retrieved - /// from the environment, if available. If it is not present in the environment, then default - /// rules will apply. - /// - /// **NOTE:** If the user *does not* use this argument at runtime, [`ArgMatches::occurrences_of`] - /// will return `0` even though the [`ArgMatches::value_of`] will return the default specified. - /// - /// **NOTE:** If the user *does not* use this argument at runtime [`ArgMatches::is_present`] will - /// return `true` if the variable is present in the environemnt . If you wish to determine whether - /// the argument was used at runtime or not, consider [`ArgMatches::occurrences_of`] which will - /// return `0` if the argument was *not* used at runtime. - /// - /// **NOTE:** This implicitly sets [`Arg::takes_value(true)`]. - /// - /// **NOTE:** If [`Arg::multiple(true)`] is set then [`Arg::use_delimiter(true)`] should also be - /// set. Otherwise, only a single argument will be returned from the environment variable. The - /// default delimiter is `,` and follows all the other delimiter rules. - /// - /// # Examples - /// - /// In this example, we show the variable coming from the environment: - /// - /// ```rust - /// # use std::env; - /// # use clap::{App, Arg}; - /// - /// env::set_var("MY_FLAG", "env"); - /// - /// let m = App::new("prog") - /// .arg(Arg::with_name("flag") - /// .long("flag") - /// .env("MY_FLAG")) - /// .get_matches_from(vec![ - /// "prog" - /// ]); - /// - /// assert_eq!(m.value_of("flag"), Some("env")); - /// ``` - /// - /// In this example, we show the variable coming from an option on the CLI: - /// - /// ```rust - /// # use std::env; - /// # use clap::{App, Arg}; - /// - /// env::set_var("MY_FLAG", "env"); - /// - /// let m = App::new("prog") - /// .arg(Arg::with_name("flag") - /// .long("flag") - /// .env("MY_FLAG")) - /// .get_matches_from(vec![ - /// "prog", "--flag", "opt" - /// ]); - /// - /// assert_eq!(m.value_of("flag"), Some("opt")); - /// ``` - /// - /// In this example, we show the variable coming from the environment even with the - /// presence of a default: - /// - /// ```rust - /// # use std::env; - /// # use clap::{App, Arg}; - /// - /// env::set_var("MY_FLAG", "env"); - /// - /// let m = App::new("prog") - /// .arg(Arg::with_name("flag") - /// .long("flag") - /// .env("MY_FLAG") - /// .default_value("default")) - /// .get_matches_from(vec![ - /// "prog" - /// ]); - /// - /// assert_eq!(m.value_of("flag"), Some("env")); - /// ``` - /// - /// In this example, we show the use of multiple values in a single environment variable: - /// - /// ```rust - /// # use std::env; - /// # use clap::{App, Arg}; - /// - /// env::set_var("MY_FLAG_MULTI", "env1,env2"); - /// - /// let m = App::new("prog") - /// .arg(Arg::with_name("flag") - /// .long("flag") - /// .env("MY_FLAG_MULTI") - /// .multiple(true) - /// .use_delimiter(true)) - /// .get_matches_from(vec![ - /// "prog" - /// ]); - /// - /// assert_eq!(m.values_of("flag").unwrap().collect::>(), vec!["env1", "env2"]); - /// ``` - pub fn env(self, name: &'a str) -> Self { - self.env_os(OsStr::new(name)) - } - - /// Specifies that if the value is not passed in as an argument, that it should be retrieved - /// from the environment if available in the exact same manner as [`Arg::env`] only using - /// [`OsStr`]s instead. - pub fn env_os(mut self, name: &'a OsStr) -> Self { - self.setb(ArgSettings::TakesValue); - - self.v.env = Some((name, env::var_os(name))); - self - } - - /// When set to `true` the help string will be displayed on the line after the argument and - /// indented once. This can be helpful for arguments with very long or complex help messages. - /// This can also be helpful for arguments with very long flag names, or many/long value names. - /// - /// **NOTE:** To apply this setting to all arguments consider using - /// [`AppSettings::NextLineHelp`] - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("opt") - /// .long("long-option-flag") - /// .short("o") - /// .takes_value(true) - /// .value_names(&["value1", "value2"]) - /// .help("Some really long help and complex\n\ - /// help that makes more sense to be\n\ - /// on a line after the option") - /// .next_line_help(true)) - /// .get_matches_from(vec![ - /// "prog", "--help" - /// ]); - /// ``` - /// - /// The above example displays the following help message - /// - /// ```notrust - /// nlh - /// - /// USAGE: - /// nlh [FLAGS] [OPTIONS] - /// - /// FLAGS: - /// -h, --help Prints help information - /// -V, --version Prints version information - /// - /// OPTIONS: - /// -o, --long-option-flag - /// Some really long help and complex - /// help that makes more sense to be - /// on a line after the option - /// ``` - /// [`AppSettings::NextLineHelp`]: ./enum.AppSettings.html#variant.NextLineHelp - pub fn next_line_help(mut self, nlh: bool) -> Self { - if nlh { - self.setb(ArgSettings::NextLineHelp); - } else { - self.unsetb(ArgSettings::NextLineHelp); - } - self - } - - /// Allows custom ordering of args within the help message. Args with a lower value will be - /// displayed first in the help message. This is helpful when one would like to emphasise - /// frequently used args, or prioritize those towards the top of the list. Duplicate values - /// **are** allowed. Args with duplicate display orders will be displayed in alphabetical - /// order. - /// - /// **NOTE:** The default is 999 for all arguments. - /// - /// **NOTE:** This setting is ignored for [positional arguments] which are always displayed in - /// [index] order. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("prog") - /// .arg(Arg::with_name("a") // Typically args are grouped alphabetically by name. - /// // Args without a display_order have a value of 999 and are - /// // displayed alphabetically with all other 999 valued args. - /// .long("long-option") - /// .short("o") - /// .takes_value(true) - /// .help("Some help and text")) - /// .arg(Arg::with_name("b") - /// .long("other-option") - /// .short("O") - /// .takes_value(true) - /// .display_order(1) // In order to force this arg to appear *first* - /// // all we have to do is give it a value lower than 999. - /// // Any other args with a value of 1 will be displayed - /// // alphabetically with this one...then 2 values, then 3, etc. - /// .help("I should be first!")) - /// .get_matches_from(vec![ - /// "prog", "--help" - /// ]); - /// ``` - /// - /// The above example displays the following help message - /// - /// ```notrust - /// cust-ord - /// - /// USAGE: - /// cust-ord [FLAGS] [OPTIONS] - /// - /// FLAGS: - /// -h, --help Prints help information - /// -V, --version Prints version information - /// - /// OPTIONS: - /// -O, --other-option I should be first! - /// -o, --long-option Some help and text - /// ``` - /// [positional arguments]: ./struct.Arg.html#method.index - /// [index]: ./struct.Arg.html#method.index - pub fn display_order(mut self, ord: usize) -> Self { - self.s.disp_ord = ord; - self - } - - /// Checks if one of the [`ArgSettings`] settings is set for the argument - /// [`ArgSettings`]: ./enum.ArgSettings.html - pub fn is_set(&self, s: ArgSettings) -> bool { self.b.is_set(s) } - - /// Sets one of the [`ArgSettings`] settings for the argument - /// [`ArgSettings`]: ./enum.ArgSettings.html - pub fn set(mut self, s: ArgSettings) -> Self { - self.setb(s); - self - } - - /// Unsets one of the [`ArgSettings`] settings for the argument - /// [`ArgSettings`]: ./enum.ArgSettings.html - pub fn unset(mut self, s: ArgSettings) -> Self { - self.unsetb(s); - self - } - - #[doc(hidden)] - pub fn setb(&mut self, s: ArgSettings) { self.b.set(s); } - - #[doc(hidden)] - pub fn unsetb(&mut self, s: ArgSettings) { self.b.unset(s); } -} - -impl<'a, 'b, 'z> From<&'z Arg<'a, 'b>> for Arg<'a, 'b> { - fn from(a: &'z Arg<'a, 'b>) -> Self { - Arg { - b: a.b.clone(), - v: a.v.clone(), - s: a.s.clone(), - index: a.index, - r_ifs: a.r_ifs.clone(), - } - } -} - -impl<'n, 'e> PartialEq for Arg<'n, 'e> { - fn eq(&self, other: &Arg<'n, 'e>) -> bool { - self.b == other.b - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/args/arg_builder/base.rs b/vendor/registry-40351f815f426200/clap/src/args/arg_builder/base.rs deleted file mode 100644 index 5990bc082..000000000 --- a/vendor/registry-40351f815f426200/clap/src/args/arg_builder/base.rs +++ /dev/null @@ -1,35 +0,0 @@ - -use args::{ArgSettings, Arg, ArgFlags}; - -#[derive(Debug, Clone, Default)] -pub struct Base<'a, 'b> - where 'a: 'b -{ - pub name: &'a str, - pub help: Option<&'b str>, - pub long_help: Option<&'b str>, - pub blacklist: Option>, - pub settings: ArgFlags, - pub r_unless: Option>, - pub overrides: Option>, - pub groups: Option>, - pub requires: Option, &'a str)>>, -} - -impl<'n, 'e> Base<'n, 'e> { - pub fn new(name: &'n str) -> Self { Base { name: name, ..Default::default() } } - - pub fn set(&mut self, s: ArgSettings) { self.settings.set(s); } - pub fn unset(&mut self, s: ArgSettings) { self.settings.unset(s); } - pub fn is_set(&self, s: ArgSettings) -> bool { self.settings.is_set(s) } -} - -impl<'n, 'e, 'z> From<&'z Arg<'n, 'e>> for Base<'n, 'e> { - fn from(a: &'z Arg<'n, 'e>) -> Self { a.b.clone() } -} - -impl<'n, 'e> PartialEq for Base<'n, 'e> { - fn eq(&self, other: &Base<'n, 'e>) -> bool { - self.name == other.name - } -} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/clap/src/args/arg_builder/flag.rs b/vendor/registry-40351f815f426200/clap/src/args/arg_builder/flag.rs deleted file mode 100644 index 4e3782104..000000000 --- a/vendor/registry-40351f815f426200/clap/src/args/arg_builder/flag.rs +++ /dev/null @@ -1,159 +0,0 @@ -// Std -use std::convert::From; -use std::fmt::{Display, Formatter, Result}; -use std::rc::Rc; -use std::result::Result as StdResult; -use std::ffi::{OsStr, OsString}; -use std::mem; - -// Internal -use Arg; -use args::{AnyArg, ArgSettings, Base, DispOrder, Switched}; -use map::{self, VecMap}; - -#[derive(Default, Clone, Debug)] -#[doc(hidden)] -pub struct FlagBuilder<'n, 'e> -where - 'n: 'e, -{ - pub b: Base<'n, 'e>, - pub s: Switched<'e>, -} - -impl<'n, 'e> FlagBuilder<'n, 'e> { - pub fn new(name: &'n str) -> Self { - FlagBuilder { - b: Base::new(name), - ..Default::default() - } - } -} - -impl<'a, 'b, 'z> From<&'z Arg<'a, 'b>> for FlagBuilder<'a, 'b> { - fn from(a: &'z Arg<'a, 'b>) -> Self { - FlagBuilder { - b: Base::from(a), - s: Switched::from(a), - } - } -} - -impl<'a, 'b> From> for FlagBuilder<'a, 'b> { - fn from(mut a: Arg<'a, 'b>) -> Self { - FlagBuilder { - b: mem::replace(&mut a.b, Base::default()), - s: mem::replace(&mut a.s, Switched::default()), - } - } -} - -impl<'n, 'e> Display for FlagBuilder<'n, 'e> { - fn fmt(&self, f: &mut Formatter) -> Result { - if let Some(l) = self.s.long { - write!(f, "--{}", l)?; - } else { - write!(f, "-{}", self.s.short.unwrap())?; - } - - Ok(()) - } -} - -impl<'n, 'e> AnyArg<'n, 'e> for FlagBuilder<'n, 'e> { - fn name(&self) -> &'n str { self.b.name } - fn overrides(&self) -> Option<&[&'e str]> { self.b.overrides.as_ref().map(|o| &o[..]) } - fn requires(&self) -> Option<&[(Option<&'e str>, &'n str)]> { - self.b.requires.as_ref().map(|o| &o[..]) - } - fn blacklist(&self) -> Option<&[&'e str]> { self.b.blacklist.as_ref().map(|o| &o[..]) } - fn required_unless(&self) -> Option<&[&'e str]> { None } - fn is_set(&self, s: ArgSettings) -> bool { self.b.settings.is_set(s) } - fn has_switch(&self) -> bool { true } - fn takes_value(&self) -> bool { false } - fn set(&mut self, s: ArgSettings) { self.b.settings.set(s) } - fn max_vals(&self) -> Option { None } - fn val_names(&self) -> Option<&VecMap<&'e str>> { None } - fn num_vals(&self) -> Option { None } - fn possible_vals(&self) -> Option<&[&'e str]> { None } - fn validator(&self) -> Option<&Rc StdResult<(), String>>> { None } - fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { None } - fn min_vals(&self) -> Option { None } - fn short(&self) -> Option { self.s.short } - fn long(&self) -> Option<&'e str> { self.s.long } - fn val_delim(&self) -> Option { None } - fn help(&self) -> Option<&'e str> { self.b.help } - fn long_help(&self) -> Option<&'e str> { self.b.long_help } - fn val_terminator(&self) -> Option<&'e str> { None } - fn default_val(&self) -> Option<&'e OsStr> { None } - fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { - None - } - fn env<'s>(&'s self) -> Option<(&'n OsStr, Option<&'s OsString>)> { None } - fn longest_filter(&self) -> bool { self.s.long.is_some() } - fn aliases(&self) -> Option> { - if let Some(ref aliases) = self.s.aliases { - let vis_aliases: Vec<_> = aliases - .iter() - .filter_map(|&(n, v)| if v { Some(n) } else { None }) - .collect(); - if vis_aliases.is_empty() { - None - } else { - Some(vis_aliases) - } - } else { - None - } - } -} - -impl<'n, 'e> DispOrder for FlagBuilder<'n, 'e> { - fn disp_ord(&self) -> usize { self.s.disp_ord } -} - -impl<'n, 'e> PartialEq for FlagBuilder<'n, 'e> { - fn eq(&self, other: &FlagBuilder<'n, 'e>) -> bool { self.b == other.b } -} - -#[cfg(test)] -mod test { - use args::settings::ArgSettings; - use super::FlagBuilder; - - #[test] - fn flagbuilder_display() { - let mut f = FlagBuilder::new("flg"); - f.b.settings.set(ArgSettings::Multiple); - f.s.long = Some("flag"); - - assert_eq!(&*format!("{}", f), "--flag"); - - let mut f2 = FlagBuilder::new("flg"); - f2.s.short = Some('f'); - - assert_eq!(&*format!("{}", f2), "-f"); - } - - #[test] - fn flagbuilder_display_single_alias() { - let mut f = FlagBuilder::new("flg"); - f.s.long = Some("flag"); - f.s.aliases = Some(vec![("als", true)]); - - assert_eq!(&*format!("{}", f), "--flag"); - } - - #[test] - fn flagbuilder_display_multiple_aliases() { - let mut f = FlagBuilder::new("flg"); - f.s.short = Some('f'); - f.s.aliases = Some(vec![ - ("alias_not_visible", false), - ("f2", true), - ("f3", true), - ("f4", true), - ]); - assert_eq!(&*format!("{}", f), "-f"); - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/args/arg_builder/mod.rs b/vendor/registry-40351f815f426200/clap/src/args/arg_builder/mod.rs deleted file mode 100644 index d1a7a6608..000000000 --- a/vendor/registry-40351f815f426200/clap/src/args/arg_builder/mod.rs +++ /dev/null @@ -1,13 +0,0 @@ -pub use self::flag::FlagBuilder; -pub use self::option::OptBuilder; -pub use self::positional::PosBuilder; -pub use self::base::Base; -pub use self::switched::Switched; -pub use self::valued::Valued; - -mod flag; -mod positional; -mod option; -mod base; -mod valued; -mod switched; diff --git a/vendor/registry-40351f815f426200/clap/src/args/arg_builder/option.rs b/vendor/registry-40351f815f426200/clap/src/args/arg_builder/option.rs deleted file mode 100644 index 4bb147a7d..000000000 --- a/vendor/registry-40351f815f426200/clap/src/args/arg_builder/option.rs +++ /dev/null @@ -1,244 +0,0 @@ -// Std -use std::fmt::{Display, Formatter, Result}; -use std::rc::Rc; -use std::result::Result as StdResult; -use std::ffi::{OsStr, OsString}; -use std::mem; - -// Internal -use args::{AnyArg, Arg, ArgSettings, Base, DispOrder, Switched, Valued}; -use map::{self, VecMap}; -use INTERNAL_ERROR_MSG; - -#[allow(missing_debug_implementations)] -#[doc(hidden)] -#[derive(Default, Clone)] -pub struct OptBuilder<'n, 'e> -where - 'n: 'e, -{ - pub b: Base<'n, 'e>, - pub s: Switched<'e>, - pub v: Valued<'n, 'e>, -} - -impl<'n, 'e> OptBuilder<'n, 'e> { - pub fn new(name: &'n str) -> Self { - OptBuilder { - b: Base::new(name), - ..Default::default() - } - } -} - -impl<'n, 'e, 'z> From<&'z Arg<'n, 'e>> for OptBuilder<'n, 'e> { - fn from(a: &'z Arg<'n, 'e>) -> Self { - OptBuilder { - b: Base::from(a), - s: Switched::from(a), - v: Valued::from(a), - } - } -} - -impl<'n, 'e> From> for OptBuilder<'n, 'e> { - fn from(mut a: Arg<'n, 'e>) -> Self { - a.v.fill_in(); - OptBuilder { - b: mem::replace(&mut a.b, Base::default()), - s: mem::replace(&mut a.s, Switched::default()), - v: mem::replace(&mut a.v, Valued::default()), - } - } -} - -impl<'n, 'e> Display for OptBuilder<'n, 'e> { - fn fmt(&self, f: &mut Formatter) -> Result { - debugln!("OptBuilder::fmt:{}", self.b.name); - let sep = if self.b.is_set(ArgSettings::RequireEquals) { - "=" - } else { - " " - }; - // Write the name such --long or -l - if let Some(l) = self.s.long { - write!(f, "--{}{}", l, sep)?; - } else { - write!(f, "-{}{}", self.s.short.unwrap(), sep)?; - } - let delim = if self.is_set(ArgSettings::RequireDelimiter) { - self.v.val_delim.expect(INTERNAL_ERROR_MSG) - } else { - ' ' - }; - - // Write the values such as - if let Some(ref vec) = self.v.val_names { - let mut it = vec.iter().peekable(); - while let Some((_, val)) = it.next() { - write!(f, "<{}>", val)?; - if it.peek().is_some() { - write!(f, "{}", delim)?; - } - } - let num = vec.len(); - if self.is_set(ArgSettings::Multiple) && num == 1 { - write!(f, "...")?; - } - } else if let Some(num) = self.v.num_vals { - let mut it = (0..num).peekable(); - while let Some(_) = it.next() { - write!(f, "<{}>", self.b.name)?; - if it.peek().is_some() { - write!(f, "{}", delim)?; - } - } - if self.is_set(ArgSettings::Multiple) && num == 1 { - write!(f, "...")?; - } - } else { - write!( - f, - "<{}>{}", - self.b.name, - if self.is_set(ArgSettings::Multiple) { - "..." - } else { - "" - } - )?; - } - - Ok(()) - } -} - -impl<'n, 'e> AnyArg<'n, 'e> for OptBuilder<'n, 'e> { - fn name(&self) -> &'n str { self.b.name } - fn overrides(&self) -> Option<&[&'e str]> { self.b.overrides.as_ref().map(|o| &o[..]) } - fn requires(&self) -> Option<&[(Option<&'e str>, &'n str)]> { - self.b.requires.as_ref().map(|o| &o[..]) - } - fn blacklist(&self) -> Option<&[&'e str]> { self.b.blacklist.as_ref().map(|o| &o[..]) } - fn required_unless(&self) -> Option<&[&'e str]> { self.b.r_unless.as_ref().map(|o| &o[..]) } - fn val_names(&self) -> Option<&VecMap<&'e str>> { self.v.val_names.as_ref() } - fn is_set(&self, s: ArgSettings) -> bool { self.b.settings.is_set(s) } - fn has_switch(&self) -> bool { true } - fn set(&mut self, s: ArgSettings) { self.b.settings.set(s) } - fn max_vals(&self) -> Option { self.v.max_vals } - fn val_terminator(&self) -> Option<&'e str> { self.v.terminator } - fn num_vals(&self) -> Option { self.v.num_vals } - fn possible_vals(&self) -> Option<&[&'e str]> { self.v.possible_vals.as_ref().map(|o| &o[..]) } - fn validator(&self) -> Option<&Rc StdResult<(), String>>> { - self.v.validator.as_ref() - } - fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { - self.v.validator_os.as_ref() - } - fn min_vals(&self) -> Option { self.v.min_vals } - fn short(&self) -> Option { self.s.short } - fn long(&self) -> Option<&'e str> { self.s.long } - fn val_delim(&self) -> Option { self.v.val_delim } - fn takes_value(&self) -> bool { true } - fn help(&self) -> Option<&'e str> { self.b.help } - fn long_help(&self) -> Option<&'e str> { self.b.long_help } - fn default_val(&self) -> Option<&'e OsStr> { self.v.default_val } - fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { - self.v.default_vals_ifs.as_ref().map(|vm| vm.values()) - } - fn env<'s>(&'s self) -> Option<(&'n OsStr, Option<&'s OsString>)> { - self.v - .env - .as_ref() - .map(|&(key, ref value)| (key, value.as_ref())) - } - fn longest_filter(&self) -> bool { true } - fn aliases(&self) -> Option> { - if let Some(ref aliases) = self.s.aliases { - let vis_aliases: Vec<_> = aliases - .iter() - .filter_map(|&(n, v)| if v { Some(n) } else { None }) - .collect(); - if vis_aliases.is_empty() { - None - } else { - Some(vis_aliases) - } - } else { - None - } - } -} - -impl<'n, 'e> DispOrder for OptBuilder<'n, 'e> { - fn disp_ord(&self) -> usize { self.s.disp_ord } -} - -impl<'n, 'e> PartialEq for OptBuilder<'n, 'e> { - fn eq(&self, other: &OptBuilder<'n, 'e>) -> bool { self.b == other.b } -} - -#[cfg(test)] -mod test { - use args::settings::ArgSettings; - use super::OptBuilder; - use map::VecMap; - - #[test] - fn optbuilder_display1() { - let mut o = OptBuilder::new("opt"); - o.s.long = Some("option"); - o.b.settings.set(ArgSettings::Multiple); - - assert_eq!(&*format!("{}", o), "--option ..."); - } - - #[test] - fn optbuilder_display2() { - let mut v_names = VecMap::new(); - v_names.insert(0, "file"); - v_names.insert(1, "name"); - - let mut o2 = OptBuilder::new("opt"); - o2.s.short = Some('o'); - o2.v.val_names = Some(v_names); - - assert_eq!(&*format!("{}", o2), "-o "); - } - - #[test] - fn optbuilder_display3() { - let mut v_names = VecMap::new(); - v_names.insert(0, "file"); - v_names.insert(1, "name"); - - let mut o2 = OptBuilder::new("opt"); - o2.s.short = Some('o'); - o2.v.val_names = Some(v_names); - o2.b.settings.set(ArgSettings::Multiple); - - assert_eq!(&*format!("{}", o2), "-o "); - } - - #[test] - fn optbuilder_display_single_alias() { - let mut o = OptBuilder::new("opt"); - o.s.long = Some("option"); - o.s.aliases = Some(vec![("als", true)]); - - assert_eq!(&*format!("{}", o), "--option "); - } - - #[test] - fn optbuilder_display_multiple_aliases() { - let mut o = OptBuilder::new("opt"); - o.s.long = Some("option"); - o.s.aliases = Some(vec![ - ("als_not_visible", false), - ("als2", true), - ("als3", true), - ("als4", true), - ]); - assert_eq!(&*format!("{}", o), "--option "); - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/args/arg_builder/positional.rs b/vendor/registry-40351f815f426200/clap/src/args/arg_builder/positional.rs deleted file mode 100644 index 43fdca4c5..000000000 --- a/vendor/registry-40351f815f426200/clap/src/args/arg_builder/positional.rs +++ /dev/null @@ -1,229 +0,0 @@ -// Std -use std::borrow::Cow; -use std::fmt::{Display, Formatter, Result}; -use std::rc::Rc; -use std::result::Result as StdResult; -use std::ffi::{OsStr, OsString}; -use std::mem; - -// Internal -use Arg; -use args::{AnyArg, ArgSettings, Base, DispOrder, Valued}; -use INTERNAL_ERROR_MSG; -use map::{self, VecMap}; - -#[allow(missing_debug_implementations)] -#[doc(hidden)] -#[derive(Clone, Default)] -pub struct PosBuilder<'n, 'e> -where - 'n: 'e, -{ - pub b: Base<'n, 'e>, - pub v: Valued<'n, 'e>, - pub index: u64, -} - -impl<'n, 'e> PosBuilder<'n, 'e> { - pub fn new(name: &'n str, idx: u64) -> Self { - PosBuilder { - b: Base::new(name), - index: idx, - ..Default::default() - } - } - - pub fn from_arg_ref(a: &Arg<'n, 'e>, idx: u64) -> Self { - let mut pb = PosBuilder { - b: Base::from(a), - v: Valued::from(a), - index: idx, - }; - if a.v.max_vals.is_some() || a.v.min_vals.is_some() - || (a.v.num_vals.is_some() && a.v.num_vals.unwrap() > 1) - { - pb.b.settings.set(ArgSettings::Multiple); - } - pb - } - - pub fn from_arg(mut a: Arg<'n, 'e>, idx: u64) -> Self { - if a.v.max_vals.is_some() || a.v.min_vals.is_some() - || (a.v.num_vals.is_some() && a.v.num_vals.unwrap() > 1) - { - a.b.settings.set(ArgSettings::Multiple); - } - PosBuilder { - b: mem::replace(&mut a.b, Base::default()), - v: mem::replace(&mut a.v, Valued::default()), - index: idx, - } - } - - pub fn multiple_str(&self) -> &str { - let mult_vals = self.v - .val_names - .as_ref() - .map_or(true, |names| names.len() < 2); - if self.is_set(ArgSettings::Multiple) && mult_vals { - "..." - } else { - "" - } - } - - pub fn name_no_brackets(&self) -> Cow { - debugln!("PosBuilder::name_no_brackets;"); - let mut delim = String::new(); - delim.push(if self.is_set(ArgSettings::RequireDelimiter) { - self.v.val_delim.expect(INTERNAL_ERROR_MSG) - } else { - ' ' - }); - if let Some(ref names) = self.v.val_names { - debugln!("PosBuilder:name_no_brackets: val_names={:#?}", names); - if names.len() > 1 { - Cow::Owned( - names - .values() - .map(|n| format!("<{}>", n)) - .collect::>() - .join(&*delim), - ) - } else { - Cow::Borrowed(names.values().next().expect(INTERNAL_ERROR_MSG)) - } - } else { - debugln!("PosBuilder:name_no_brackets: just name"); - Cow::Borrowed(self.b.name) - } - } -} - -impl<'n, 'e> Display for PosBuilder<'n, 'e> { - fn fmt(&self, f: &mut Formatter) -> Result { - let mut delim = String::new(); - delim.push(if self.is_set(ArgSettings::RequireDelimiter) { - self.v.val_delim.expect(INTERNAL_ERROR_MSG) - } else { - ' ' - }); - if let Some(ref names) = self.v.val_names { - write!( - f, - "{}", - names - .values() - .map(|n| format!("<{}>", n)) - .collect::>() - .join(&*delim) - )?; - } else { - write!(f, "<{}>", self.b.name)?; - } - if self.b.settings.is_set(ArgSettings::Multiple) - && (self.v.val_names.is_none() || self.v.val_names.as_ref().unwrap().len() == 1) - { - write!(f, "...")?; - } - - Ok(()) - } -} - -impl<'n, 'e> AnyArg<'n, 'e> for PosBuilder<'n, 'e> { - fn name(&self) -> &'n str { self.b.name } - fn overrides(&self) -> Option<&[&'e str]> { self.b.overrides.as_ref().map(|o| &o[..]) } - fn requires(&self) -> Option<&[(Option<&'e str>, &'n str)]> { - self.b.requires.as_ref().map(|o| &o[..]) - } - fn blacklist(&self) -> Option<&[&'e str]> { self.b.blacklist.as_ref().map(|o| &o[..]) } - fn required_unless(&self) -> Option<&[&'e str]> { self.b.r_unless.as_ref().map(|o| &o[..]) } - fn val_names(&self) -> Option<&VecMap<&'e str>> { self.v.val_names.as_ref() } - fn is_set(&self, s: ArgSettings) -> bool { self.b.settings.is_set(s) } - fn set(&mut self, s: ArgSettings) { self.b.settings.set(s) } - fn has_switch(&self) -> bool { false } - fn max_vals(&self) -> Option { self.v.max_vals } - fn val_terminator(&self) -> Option<&'e str> { self.v.terminator } - fn num_vals(&self) -> Option { self.v.num_vals } - fn possible_vals(&self) -> Option<&[&'e str]> { self.v.possible_vals.as_ref().map(|o| &o[..]) } - fn validator(&self) -> Option<&Rc StdResult<(), String>>> { - self.v.validator.as_ref() - } - fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { - self.v.validator_os.as_ref() - } - fn min_vals(&self) -> Option { self.v.min_vals } - fn short(&self) -> Option { None } - fn long(&self) -> Option<&'e str> { None } - fn val_delim(&self) -> Option { self.v.val_delim } - fn takes_value(&self) -> bool { true } - fn help(&self) -> Option<&'e str> { self.b.help } - fn long_help(&self) -> Option<&'e str> { self.b.long_help } - fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { - self.v.default_vals_ifs.as_ref().map(|vm| vm.values()) - } - fn default_val(&self) -> Option<&'e OsStr> { self.v.default_val } - fn env<'s>(&'s self) -> Option<(&'n OsStr, Option<&'s OsString>)> { - self.v - .env - .as_ref() - .map(|&(key, ref value)| (key, value.as_ref())) - } - fn longest_filter(&self) -> bool { true } - fn aliases(&self) -> Option> { None } -} - -impl<'n, 'e> DispOrder for PosBuilder<'n, 'e> { - fn disp_ord(&self) -> usize { self.index as usize } -} - -impl<'n, 'e> PartialEq for PosBuilder<'n, 'e> { - fn eq(&self, other: &PosBuilder<'n, 'e>) -> bool { self.b == other.b } -} - -#[cfg(test)] -mod test { - use args::settings::ArgSettings; - use super::PosBuilder; - use map::VecMap; - - #[test] - fn display_mult() { - let mut p = PosBuilder::new("pos", 1); - p.b.settings.set(ArgSettings::Multiple); - - assert_eq!(&*format!("{}", p), "..."); - } - - #[test] - fn display_required() { - let mut p2 = PosBuilder::new("pos", 1); - p2.b.settings.set(ArgSettings::Required); - - assert_eq!(&*format!("{}", p2), ""); - } - - #[test] - fn display_val_names() { - let mut p2 = PosBuilder::new("pos", 1); - let mut vm = VecMap::new(); - vm.insert(0, "file1"); - vm.insert(1, "file2"); - p2.v.val_names = Some(vm); - - assert_eq!(&*format!("{}", p2), " "); - } - - #[test] - fn display_val_names_req() { - let mut p2 = PosBuilder::new("pos", 1); - p2.b.settings.set(ArgSettings::Required); - let mut vm = VecMap::new(); - vm.insert(0, "file1"); - vm.insert(1, "file2"); - p2.v.val_names = Some(vm); - - assert_eq!(&*format!("{}", p2), " "); - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/args/arg_builder/switched.rs b/vendor/registry-40351f815f426200/clap/src/args/arg_builder/switched.rs deleted file mode 100644 index e42586c26..000000000 --- a/vendor/registry-40351f815f426200/clap/src/args/arg_builder/switched.rs +++ /dev/null @@ -1,39 +0,0 @@ - -use Arg; - -#[derive(Debug)] -pub struct Switched<'b> { - pub short: Option, - pub long: Option<&'b str>, - pub aliases: Option>, // (name, visible) - pub disp_ord: usize, - pub unified_ord: usize, -} - -impl<'e> Default for Switched<'e> { - fn default() -> Self { - Switched { - short: None, - long: None, - aliases: None, - disp_ord: 999, - unified_ord: 999, - } - } -} - -impl<'n, 'e, 'z> From<&'z Arg<'n, 'e>> for Switched<'e> { - fn from(a: &'z Arg<'n, 'e>) -> Self { a.s.clone() } -} - -impl<'e> Clone for Switched<'e> { - fn clone(&self) -> Self { - Switched { - short: self.short, - long: self.long, - aliases: self.aliases.clone(), - disp_ord: self.disp_ord, - unified_ord: self.unified_ord, - } - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/args/arg_builder/valued.rs b/vendor/registry-40351f815f426200/clap/src/args/arg_builder/valued.rs deleted file mode 100644 index d70854dc8..000000000 --- a/vendor/registry-40351f815f426200/clap/src/args/arg_builder/valued.rs +++ /dev/null @@ -1,67 +0,0 @@ -use std::rc::Rc; -use std::ffi::{OsStr, OsString}; - -use map::VecMap; - -use Arg; - -#[allow(missing_debug_implementations)] -#[derive(Clone)] -pub struct Valued<'a, 'b> -where - 'a: 'b, -{ - pub possible_vals: Option>, - pub val_names: Option>, - pub num_vals: Option, - pub max_vals: Option, - pub min_vals: Option, - pub validator: Option Result<(), String>>>, - pub validator_os: Option Result<(), OsString>>>, - pub val_delim: Option, - pub default_val: Option<&'b OsStr>, - pub default_vals_ifs: Option, &'b OsStr)>>, - pub env: Option<(&'a OsStr, Option)>, - pub terminator: Option<&'b str>, -} - -impl<'n, 'e> Default for Valued<'n, 'e> { - fn default() -> Self { - Valued { - possible_vals: None, - num_vals: None, - min_vals: None, - max_vals: None, - val_names: None, - validator: None, - validator_os: None, - val_delim: None, - default_val: None, - default_vals_ifs: None, - env: None, - terminator: None, - } - } -} - -impl<'n, 'e> Valued<'n, 'e> { - pub fn fill_in(&mut self) { - if let Some(ref vec) = self.val_names { - if vec.len() > 1 { - self.num_vals = Some(vec.len() as u64); - } - } - } -} - -impl<'n, 'e, 'z> From<&'z Arg<'n, 'e>> for Valued<'n, 'e> { - fn from(a: &'z Arg<'n, 'e>) -> Self { - let mut v = a.v.clone(); - if let Some(ref vec) = a.v.val_names { - if vec.len() > 1 { - v.num_vals = Some(vec.len() as u64); - } - } - v - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/args/arg_matcher.rs b/vendor/registry-40351f815f426200/clap/src/args/arg_matcher.rs deleted file mode 100644 index 967516c50..000000000 --- a/vendor/registry-40351f815f426200/clap/src/args/arg_matcher.rs +++ /dev/null @@ -1,149 +0,0 @@ -// Std -use std::collections::hash_map::{Entry, Iter}; -use std::collections::HashMap; -use std::ffi::OsStr; -use std::ops::Deref; -use std::mem; - -// Internal -use args::{ArgMatches, MatchedArg, SubCommand}; -use args::AnyArg; -use args::settings::ArgSettings; - -#[doc(hidden)] -#[allow(missing_debug_implementations)] -pub struct ArgMatcher<'a>(pub ArgMatches<'a>); - -impl<'a> Default for ArgMatcher<'a> { - fn default() -> Self { ArgMatcher(ArgMatches::default()) } -} - -impl<'a> ArgMatcher<'a> { - pub fn new() -> Self { ArgMatcher::default() } - - pub fn propagate_globals(&mut self, global_arg_vec : &[&'a str]) { - debugln!("ArgMatcher::get_global_values: global_arg_vec={:?}", global_arg_vec); - let mut vals_map = HashMap::new(); - self.fill_in_global_values(global_arg_vec, &mut vals_map); - } - - fn fill_in_global_values( - &mut self, - global_arg_vec: &[&'a str], - vals_map: &mut HashMap<&'a str, MatchedArg> - ) { - for global_arg in global_arg_vec { - if let Some(ma) = self.get(global_arg) { - // We have to check if the parent's global arg wasn't used but still exists - // such as from a default value. - // - // For example, `myprog subcommand --global-arg=value` where --global-arg defines - // a default value of `other` myprog would have an existing MatchedArg for - // --global-arg where the value is `other`, however the occurs will be 0. - let to_update = if let Some(parent_ma) = vals_map.get(global_arg) { - if parent_ma.occurs > 0 && ma.occurs == 0 { - parent_ma.clone() - } else { - ma.clone() - } - } else { - ma.clone() - }; - vals_map.insert(global_arg, to_update); - } - } - if let Some(ref mut sc) = self.0.subcommand { - let mut am = ArgMatcher(mem::replace(&mut sc.matches, ArgMatches::new())); - am.fill_in_global_values(global_arg_vec, vals_map); - mem::swap(&mut am.0, &mut sc.matches); - } - - for (name, matched_arg) in vals_map.into_iter() { - self.0.args.insert(name, matched_arg.clone()); - } - } - - pub fn get_mut(&mut self, arg: &str) -> Option<&mut MatchedArg> { self.0.args.get_mut(arg) } - - pub fn get(&self, arg: &str) -> Option<&MatchedArg> { self.0.args.get(arg) } - - pub fn remove(&mut self, arg: &str) { self.0.args.remove(arg); } - - pub fn remove_all(&mut self, args: &[&str]) { - for &arg in args { - self.0.args.remove(arg); - } - } - - pub fn insert(&mut self, name: &'a str) { self.0.args.insert(name, MatchedArg::new()); } - - pub fn contains(&self, arg: &str) -> bool { self.0.args.contains_key(arg) } - - pub fn is_empty(&self) -> bool { self.0.args.is_empty() } - - pub fn usage(&mut self, usage: String) { self.0.usage = Some(usage); } - - pub fn arg_names(&'a self) -> Vec<&'a str> { self.0.args.keys().map(Deref::deref).collect() } - - pub fn entry(&mut self, arg: &'a str) -> Entry<&'a str, MatchedArg> { self.0.args.entry(arg) } - - pub fn subcommand(&mut self, sc: SubCommand<'a>) { self.0.subcommand = Some(Box::new(sc)); } - - pub fn subcommand_name(&self) -> Option<&str> { self.0.subcommand_name() } - - pub fn iter(&self) -> Iter<&str, MatchedArg> { self.0.args.iter() } - - pub fn inc_occurrence_of(&mut self, arg: &'a str) { - debugln!("ArgMatcher::inc_occurrence_of: arg={}", arg); - if let Some(a) = self.get_mut(arg) { - a.occurs += 1; - return; - } - debugln!("ArgMatcher::inc_occurrence_of: first instance"); - self.insert(arg); - } - - pub fn inc_occurrences_of(&mut self, args: &[&'a str]) { - debugln!("ArgMatcher::inc_occurrences_of: args={:?}", args); - for arg in args { - self.inc_occurrence_of(arg); - } - } - - pub fn add_val_to(&mut self, arg: &'a str, val: &OsStr) { - let ma = self.entry(arg).or_insert(MatchedArg { - occurs: 0, - vals: Vec::with_capacity(1), - }); - // let len = ma.vals.len() + 1; - ma.vals.push(val.to_owned()); - } - - pub fn needs_more_vals<'b, A>(&self, o: &A) -> bool - where A: AnyArg<'a, 'b> - { - debugln!("ArgMatcher::needs_more_vals: o={}", o.name()); - if let Some(ma) = self.get(o.name()) { - if let Some(num) = o.num_vals() { - debugln!("ArgMatcher::needs_more_vals: num_vals...{}", num); - return if o.is_set(ArgSettings::Multiple) { - ((ma.vals.len() as u64) % num) != 0 - } else { - num != (ma.vals.len() as u64) - }; - } else if let Some(num) = o.max_vals() { - debugln!("ArgMatcher::needs_more_vals: max_vals...{}", num); - return !((ma.vals.len() as u64) > num); - } else if o.min_vals().is_some() { - debugln!("ArgMatcher::needs_more_vals: min_vals...true"); - return true; - } - return o.is_set(ArgSettings::Multiple); - } - true - } -} - -impl<'a> Into> for ArgMatcher<'a> { - fn into(self) -> ArgMatches<'a> { self.0 } -} diff --git a/vendor/registry-40351f815f426200/clap/src/args/arg_matches.rs b/vendor/registry-40351f815f426200/clap/src/args/arg_matches.rs deleted file mode 100644 index 14a190451..000000000 --- a/vendor/registry-40351f815f426200/clap/src/args/arg_matches.rs +++ /dev/null @@ -1,652 +0,0 @@ -// Std -use std::borrow::Cow; -use std::collections::HashMap; -use std::ffi::{OsStr, OsString}; -use std::iter::Map; -use std::slice::Iter; - -// Internal -use INVALID_UTF8; -use args::MatchedArg; -use args::SubCommand; - -/// Used to get information about the arguments that where supplied to the program at runtime by -/// the user. New instances of this struct are obtained by using the [`App::get_matches`] family of -/// methods. -/// -/// # Examples -/// -/// ```no_run -/// # use clap::{App, Arg}; -/// let matches = App::new("MyApp") -/// .arg(Arg::with_name("out") -/// .long("output") -/// .required(true) -/// .takes_value(true)) -/// .arg(Arg::with_name("debug") -/// .short("d") -/// .multiple(true)) -/// .arg(Arg::with_name("cfg") -/// .short("c") -/// .takes_value(true)) -/// .get_matches(); // builds the instance of ArgMatches -/// -/// // to get information about the "cfg" argument we created, such as the value supplied we use -/// // various ArgMatches methods, such as ArgMatches::value_of -/// if let Some(c) = matches.value_of("cfg") { -/// println!("Value for -c: {}", c); -/// } -/// -/// // The ArgMatches::value_of method returns an Option because the user may not have supplied -/// // that argument at runtime. But if we specified that the argument was "required" as we did -/// // with the "out" argument, we can safely unwrap because `clap` verifies that was actually -/// // used at runtime. -/// println!("Value for --output: {}", matches.value_of("out").unwrap()); -/// -/// // You can check the presence of an argument -/// if matches.is_present("out") { -/// // Another way to check if an argument was present, or if it occurred multiple times is to -/// // use occurrences_of() which returns 0 if an argument isn't found at runtime, or the -/// // number of times that it occurred, if it was. To allow an argument to appear more than -/// // once, you must use the .multiple(true) method, otherwise it will only return 1 or 0. -/// if matches.occurrences_of("debug") > 2 { -/// println!("Debug mode is REALLY on, don't be crazy"); -/// } else { -/// println!("Debug mode kind of on"); -/// } -/// } -/// ``` -/// [`App::get_matches`]: ./struct.App.html#method.get_matches -#[derive(Debug, Clone)] -pub struct ArgMatches<'a> { - #[doc(hidden)] - pub args: HashMap<&'a str, MatchedArg>, - #[doc(hidden)] - pub subcommand: Option>>, - #[doc(hidden)] - pub usage: Option, -} - -impl<'a> Default for ArgMatches<'a> { - fn default() -> Self { - ArgMatches { - args: HashMap::new(), - subcommand: None, - usage: None, - } - } -} - -impl<'a> ArgMatches<'a> { - #[doc(hidden)] - pub fn new() -> Self { ArgMatches { ..Default::default() } } - - /// Gets the value of a specific [option] or [positional] argument (i.e. an argument that takes - /// an additional value at runtime). If the option wasn't present at runtime - /// it returns `None`. - /// - /// *NOTE:* If getting a value for an option or positional argument that allows multiples, - /// prefer [`ArgMatches::values_of`] as `ArgMatches::value_of` will only return the *first* - /// value. - /// - /// # Panics - /// - /// This method will [`panic!`] if the value contains invalid UTF-8 code points. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("myapp") - /// .arg(Arg::with_name("output") - /// .takes_value(true)) - /// .get_matches_from(vec!["myapp", "something"]); - /// - /// assert_eq!(m.value_of("output"), Some("something")); - /// ``` - /// [option]: ./struct.Arg.html#method.takes_value - /// [positional]: ./struct.Arg.html#method.index - /// [`ArgMatches::values_of`]: ./struct.ArgMatches.html#method.values_of - /// [`panic!`]: https://doc.rust-lang.org/std/macro.panic!.html - pub fn value_of>(&self, name: S) -> Option<&str> { - if let Some(arg) = self.args.get(name.as_ref()) { - if let Some(v) = arg.vals.get(0) { - return Some(v.to_str().expect(INVALID_UTF8)); - } - } - None - } - - /// Gets the lossy value of a specific argument. If the argument wasn't present at runtime - /// it returns `None`. A lossy value is one which contains invalid UTF-8 code points, those - /// invalid points will be replaced with `\u{FFFD}` - /// - /// *NOTE:* If getting a value for an option or positional argument that allows multiples, - /// prefer [`Arg::values_of_lossy`] as `value_of_lossy()` will only return the *first* value. - /// - /// # Examples - /// - #[cfg_attr(not(unix), doc=" ```ignore")] - #[cfg_attr( unix , doc=" ```")] - /// # use clap::{App, Arg}; - /// use std::ffi::OsString; - /// use std::os::unix::ffi::{OsStrExt,OsStringExt}; - /// - /// let m = App::new("utf8") - /// .arg(Arg::from_usage(" 'some arg'")) - /// .get_matches_from(vec![OsString::from("myprog"), - /// // "Hi {0xe9}!" - /// OsString::from_vec(vec![b'H', b'i', b' ', 0xe9, b'!'])]); - /// assert_eq!(&*m.value_of_lossy("arg").unwrap(), "Hi \u{FFFD}!"); - /// ``` - /// [`Arg::values_of_lossy`]: ./struct.ArgMatches.html#method.values_of_lossy - pub fn value_of_lossy>(&'a self, name: S) -> Option> { - if let Some(arg) = self.args.get(name.as_ref()) { - if let Some(v) = arg.vals.get(0) { - return Some(v.to_string_lossy()); - } - } - None - } - - /// Gets the OS version of a string value of a specific argument. If the option wasn't present - /// at runtime it returns `None`. An OS value on Unix-like systems is any series of bytes, - /// regardless of whether or not they contain valid UTF-8 code points. Since [`String`]s in - /// Rust are guaranteed to be valid UTF-8, a valid filename on a Unix system as an argument - /// value may contain invalid UTF-8 code points. - /// - /// *NOTE:* If getting a value for an option or positional argument that allows multiples, - /// prefer [`ArgMatches::values_of_os`] as `Arg::value_of_os` will only return the *first* - /// value. - /// - /// # Examples - /// - #[cfg_attr(not(unix), doc=" ```ignore")] - #[cfg_attr( unix , doc=" ```")] - /// # use clap::{App, Arg}; - /// use std::ffi::OsString; - /// use std::os::unix::ffi::{OsStrExt,OsStringExt}; - /// - /// let m = App::new("utf8") - /// .arg(Arg::from_usage(" 'some arg'")) - /// .get_matches_from(vec![OsString::from("myprog"), - /// // "Hi {0xe9}!" - /// OsString::from_vec(vec![b'H', b'i', b' ', 0xe9, b'!'])]); - /// assert_eq!(&*m.value_of_os("arg").unwrap().as_bytes(), [b'H', b'i', b' ', 0xe9, b'!']); - /// ``` - /// [`String`]: https://doc.rust-lang.org/std/string/struct.String.html - /// [`ArgMatches::values_of_os`]: ./struct.ArgMatches.html#method.values_of_os - pub fn value_of_os>(&self, name: S) -> Option<&OsStr> { - self.args - .get(name.as_ref()) - .and_then(|arg| arg.vals.get(0).map(|v| v.as_os_str())) - } - - /// Gets a [`Values`] struct which implements [`Iterator`] for values of a specific argument - /// (i.e. an argument that takes multiple values at runtime). If the option wasn't present at - /// runtime it returns `None` - /// - /// # Panics - /// - /// This method will panic if any of the values contain invalid UTF-8 code points. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("myprog") - /// .arg(Arg::with_name("output") - /// .multiple(true) - /// .short("o") - /// .takes_value(true)) - /// .get_matches_from(vec![ - /// "myprog", "-o", "val1", "val2", "val3" - /// ]); - /// let vals: Vec<&str> = m.values_of("output").unwrap().collect(); - /// assert_eq!(vals, ["val1", "val2", "val3"]); - /// ``` - /// [`Values`]: ./struct.Values.html - /// [`Iterator`]: https://doc.rust-lang.org/std/iter/trait.Iterator.html - pub fn values_of>(&'a self, name: S) -> Option> { - if let Some(arg) = self.args.get(name.as_ref()) { - fn to_str_slice(o: &OsString) -> &str { o.to_str().expect(INVALID_UTF8) } - let to_str_slice: fn(&OsString) -> &str = to_str_slice; // coerce to fn pointer - return Some(Values { iter: arg.vals.iter().map(to_str_slice) }); - } - None - } - - /// Gets the lossy values of a specific argument. If the option wasn't present at runtime - /// it returns `None`. A lossy value is one where if it contains invalid UTF-8 code points, - /// those invalid points will be replaced with `\u{FFFD}` - /// - /// # Examples - /// - #[cfg_attr(not(unix), doc=" ```ignore")] - #[cfg_attr( unix , doc=" ```")] - /// # use clap::{App, Arg}; - /// use std::ffi::OsString; - /// use std::os::unix::ffi::OsStringExt; - /// - /// let m = App::new("utf8") - /// .arg(Arg::from_usage("... 'some arg'")) - /// .get_matches_from(vec![OsString::from("myprog"), - /// // "Hi" - /// OsString::from_vec(vec![b'H', b'i']), - /// // "{0xe9}!" - /// OsString::from_vec(vec![0xe9, b'!'])]); - /// let mut itr = m.values_of_lossy("arg").unwrap().into_iter(); - /// assert_eq!(&itr.next().unwrap()[..], "Hi"); - /// assert_eq!(&itr.next().unwrap()[..], "\u{FFFD}!"); - /// assert_eq!(itr.next(), None); - /// ``` - pub fn values_of_lossy>(&'a self, name: S) -> Option> { - if let Some(arg) = self.args.get(name.as_ref()) { - return Some(arg.vals - .iter() - .map(|v| v.to_string_lossy().into_owned()) - .collect()); - } - None - } - - /// Gets a [`OsValues`] struct which is implements [`Iterator`] for [`OsString`] values of a - /// specific argument. If the option wasn't present at runtime it returns `None`. An OS value - /// on Unix-like systems is any series of bytes, regardless of whether or not they contain - /// valid UTF-8 code points. Since [`String`]s in Rust are guaranteed to be valid UTF-8, a valid - /// filename as an argument value on Linux (for example) may contain invalid UTF-8 code points. - /// - /// # Examples - /// - #[cfg_attr(not(unix), doc=" ```ignore")] - #[cfg_attr( unix , doc=" ```")] - /// # use clap::{App, Arg}; - /// use std::ffi::{OsStr,OsString}; - /// use std::os::unix::ffi::{OsStrExt,OsStringExt}; - /// - /// let m = App::new("utf8") - /// .arg(Arg::from_usage("... 'some arg'")) - /// .get_matches_from(vec![OsString::from("myprog"), - /// // "Hi" - /// OsString::from_vec(vec![b'H', b'i']), - /// // "{0xe9}!" - /// OsString::from_vec(vec![0xe9, b'!'])]); - /// - /// let mut itr = m.values_of_os("arg").unwrap().into_iter(); - /// assert_eq!(itr.next(), Some(OsStr::new("Hi"))); - /// assert_eq!(itr.next(), Some(OsStr::from_bytes(&[0xe9, b'!']))); - /// assert_eq!(itr.next(), None); - /// ``` - /// [`OsValues`]: ./struct.OsValues.html - /// [`Iterator`]: https://doc.rust-lang.org/std/iter/trait.Iterator.html - /// [`OsString`]: https://doc.rust-lang.org/std/ffi/struct.OsString.html - /// [`String`]: https://doc.rust-lang.org/std/string/struct.String.html - pub fn values_of_os>(&'a self, name: S) -> Option> { - fn to_str_slice(o: &OsString) -> &OsStr { &*o } - let to_str_slice: fn(&'a OsString) -> &'a OsStr = to_str_slice; // coerce to fn pointer - if let Some(arg) = self.args.get(name.as_ref()) { - return Some(OsValues { iter: arg.vals.iter().map(to_str_slice) }); - } - None - } - - /// Returns `true` if an argument was present at runtime, otherwise `false`. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("myprog") - /// .arg(Arg::with_name("debug") - /// .short("d")) - /// .get_matches_from(vec![ - /// "myprog", "-d" - /// ]); - /// - /// assert!(m.is_present("debug")); - /// ``` - pub fn is_present>(&self, name: S) -> bool { - if let Some(ref sc) = self.subcommand { - if sc.name == name.as_ref() { - return true; - } - } - self.args.contains_key(name.as_ref()) - } - - /// Returns the number of times an argument was used at runtime. If an argument isn't present - /// it will return `0`. - /// - /// **NOTE:** This returns the number of times the argument was used, *not* the number of - /// values. For example, `-o val1 val2 val3 -o val4` would return `2` (2 occurrences, but 4 - /// values). - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("myprog") - /// .arg(Arg::with_name("debug") - /// .short("d") - /// .multiple(true)) - /// .get_matches_from(vec![ - /// "myprog", "-d", "-d", "-d" - /// ]); - /// - /// assert_eq!(m.occurrences_of("debug"), 3); - /// ``` - /// - /// This next example shows that counts actual uses of the argument, not just `-`'s - /// - /// ```rust - /// # use clap::{App, Arg}; - /// let m = App::new("myprog") - /// .arg(Arg::with_name("debug") - /// .short("d") - /// .multiple(true)) - /// .arg(Arg::with_name("flag") - /// .short("f")) - /// .get_matches_from(vec![ - /// "myprog", "-ddfd" - /// ]); - /// - /// assert_eq!(m.occurrences_of("debug"), 3); - /// assert_eq!(m.occurrences_of("flag"), 1); - /// ``` - pub fn occurrences_of>(&self, name: S) -> u64 { - self.args.get(name.as_ref()).map_or(0, |a| a.occurs) - } - - /// Because [`Subcommand`]s are essentially "sub-[`App`]s" they have their own [`ArgMatches`] - /// as well. This method returns the [`ArgMatches`] for a particular subcommand or `None` if - /// the subcommand wasn't present at runtime. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, SubCommand}; - /// let app_m = App::new("myprog") - /// .arg(Arg::with_name("debug") - /// .short("d")) - /// .subcommand(SubCommand::with_name("test") - /// .arg(Arg::with_name("opt") - /// .long("option") - /// .takes_value(true))) - /// .get_matches_from(vec![ - /// "myprog", "-d", "test", "--option", "val" - /// ]); - /// - /// // Both parent commands, and child subcommands can have arguments present at the same times - /// assert!(app_m.is_present("debug")); - /// - /// // Get the subcommand's ArgMatches instance - /// if let Some(sub_m) = app_m.subcommand_matches("test") { - /// // Use the struct like normal - /// assert_eq!(sub_m.value_of("opt"), Some("val")); - /// } - /// ``` - /// [`Subcommand`]: ./struct.SubCommand.html - /// [`App`]: ./struct.App.html - /// [`ArgMatches`]: ./struct.ArgMatches.html - pub fn subcommand_matches>(&self, name: S) -> Option<&ArgMatches<'a>> { - if let Some(ref s) = self.subcommand { - if s.name == name.as_ref() { - return Some(&s.matches); - } - } - None - } - - /// Because [`Subcommand`]s are essentially "sub-[`App`]s" they have their own [`ArgMatches`] - /// as well.But simply getting the sub-[`ArgMatches`] doesn't help much if we don't also know - /// which subcommand was actually used. This method returns the name of the subcommand that was - /// used at runtime, or `None` if one wasn't. - /// - /// *NOTE*: Subcommands form a hierarchy, where multiple subcommands can be used at runtime, - /// but only a single subcommand from any group of sibling commands may used at once. - /// - /// An ASCII art depiction may help explain this better...Using a fictional version of `git` as - /// the demo subject. Imagine the following are all subcommands of `git` (note, the author is - /// aware these aren't actually all subcommands in the real `git` interface, but it makes - /// explanation easier) - /// - /// ```notrust - /// Top Level App (git) TOP - /// | - /// ----------------------------------------- - /// / | \ \ - /// clone push add commit LEVEL 1 - /// | / \ / \ | - /// url origin remote ref name message LEVEL 2 - /// / /\ - /// path remote local LEVEL 3 - /// ``` - /// - /// Given the above fictional subcommand hierarchy, valid runtime uses would be (not an all - /// inclusive list, and not including argument options per command for brevity and clarity): - /// - /// ```sh - /// $ git clone url - /// $ git push origin path - /// $ git add ref local - /// $ git commit message - /// ``` - /// - /// Notice only one command per "level" may be used. You could not, for example, do `$ git - /// clone url push origin path` - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, SubCommand}; - /// let app_m = App::new("git") - /// .subcommand(SubCommand::with_name("clone")) - /// .subcommand(SubCommand::with_name("push")) - /// .subcommand(SubCommand::with_name("commit")) - /// .get_matches(); - /// - /// match app_m.subcommand_name() { - /// Some("clone") => {}, // clone was used - /// Some("push") => {}, // push was used - /// Some("commit") => {}, // commit was used - /// _ => {}, // Either no subcommand or one not tested for... - /// } - /// ``` - /// [`Subcommand`]: ./struct.SubCommand.html - /// [`App`]: ./struct.App.html - /// [`ArgMatches`]: ./struct.ArgMatches.html - pub fn subcommand_name(&self) -> Option<&str> { - self.subcommand.as_ref().map(|sc| &sc.name[..]) - } - - /// This brings together [`ArgMatches::subcommand_matches`] and [`ArgMatches::subcommand_name`] - /// by returning a tuple with both pieces of information. - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, SubCommand}; - /// let app_m = App::new("git") - /// .subcommand(SubCommand::with_name("clone")) - /// .subcommand(SubCommand::with_name("push")) - /// .subcommand(SubCommand::with_name("commit")) - /// .get_matches(); - /// - /// match app_m.subcommand() { - /// ("clone", Some(sub_m)) => {}, // clone was used - /// ("push", Some(sub_m)) => {}, // push was used - /// ("commit", Some(sub_m)) => {}, // commit was used - /// _ => {}, // Either no subcommand or one not tested for... - /// } - /// ``` - /// - /// Another useful scenario is when you want to support third party, or external, subcommands. - /// In these cases you can't know the subcommand name ahead of time, so use a variable instead - /// with pattern matching! - /// - /// ```rust - /// # use clap::{App, AppSettings}; - /// // Assume there is an external subcommand named "subcmd" - /// let app_m = App::new("myprog") - /// .setting(AppSettings::AllowExternalSubcommands) - /// .get_matches_from(vec![ - /// "myprog", "subcmd", "--option", "value", "-fff", "--flag" - /// ]); - /// - /// // All trailing arguments will be stored under the subcommand's sub-matches using an empty - /// // string argument name - /// match app_m.subcommand() { - /// (external, Some(sub_m)) => { - /// let ext_args: Vec<&str> = sub_m.values_of("").unwrap().collect(); - /// assert_eq!(external, "subcmd"); - /// assert_eq!(ext_args, ["--option", "value", "-fff", "--flag"]); - /// }, - /// _ => {}, - /// } - /// ``` - /// [`ArgMatches::subcommand_matches`]: ./struct.ArgMatches.html#method.subcommand_matches - /// [`ArgMatches::subcommand_name`]: ./struct.ArgMatches.html#method.subcommand_name - pub fn subcommand(&self) -> (&str, Option<&ArgMatches<'a>>) { - self.subcommand.as_ref().map_or(("", None), |sc| (&sc.name[..], Some(&sc.matches))) - } - - /// Returns a string slice of the usage statement for the [`App`] or [`SubCommand`] - /// - /// # Examples - /// - /// ```no_run - /// # use clap::{App, Arg, SubCommand}; - /// let app_m = App::new("myprog") - /// .subcommand(SubCommand::with_name("test")) - /// .get_matches(); - /// - /// println!("{}", app_m.usage()); - /// ``` - /// [`Subcommand`]: ./struct.SubCommand.html - /// [`App`]: ./struct.App.html - pub fn usage(&self) -> &str { self.usage.as_ref().map_or("", |u| &u[..]) } -} - - -// The following were taken and adapated from vec_map source -// repo: https://github.com/contain-rs/vec-map -// commit: be5e1fa3c26e351761b33010ddbdaf5f05dbcc33 -// license: MIT - Copyright (c) 2015 The Rust Project Developers - -/// An iterator for getting multiple values out of an argument via the [`ArgMatches::values_of`] -/// method. -/// -/// # Examples -/// -/// ```rust -/// # use clap::{App, Arg}; -/// let m = App::new("myapp") -/// .arg(Arg::with_name("output") -/// .takes_value(true)) -/// .get_matches_from(vec!["myapp", "something"]); -/// -/// assert_eq!(m.value_of("output"), Some("something")); -/// ``` -/// [`ArgMatches::values_of`]: ./struct.ArgMatches.html#method.values_of -#[derive(Clone)] -#[allow(missing_debug_implementations)] -pub struct Values<'a> { - iter: Map, fn(&'a OsString) -> &'a str>, -} - -impl<'a> Iterator for Values<'a> { - type Item = &'a str; - - fn next(&mut self) -> Option<&'a str> { self.iter.next() } - fn size_hint(&self) -> (usize, Option) { self.iter.size_hint() } -} - -impl<'a> DoubleEndedIterator for Values<'a> { - fn next_back(&mut self) -> Option<&'a str> { self.iter.next_back() } -} - -impl<'a> ExactSizeIterator for Values<'a> {} - -/// Creates an empty iterator. -impl<'a> Default for Values<'a> { - fn default() -> Self { - static EMPTY: [OsString; 0] = []; - // This is never called because the iterator is empty: - fn to_str_slice(_: &OsString) -> &str { unreachable!() }; - Values { iter: EMPTY[..].iter().map(to_str_slice) } - } -} - -#[test] -fn test_default_values() { - let mut values: Values = Values::default(); - assert_eq!(values.next(), None); -} - -#[test] -fn test_default_values_with_shorter_lifetime() { - let matches = ArgMatches::new(); - let mut values = matches.values_of("").unwrap_or_default(); - assert_eq!(values.next(), None); -} - -/// An iterator for getting multiple values out of an argument via the [`ArgMatches::values_of_os`] -/// method. Usage of this iterator allows values which contain invalid UTF-8 code points unlike -/// [`Values`]. -/// -/// # Examples -/// -#[cfg_attr(not(unix), doc=" ```ignore")] -#[cfg_attr( unix , doc=" ```")] -/// # use clap::{App, Arg}; -/// use std::ffi::OsString; -/// use std::os::unix::ffi::{OsStrExt,OsStringExt}; -/// -/// let m = App::new("utf8") -/// .arg(Arg::from_usage(" 'some arg'")) -/// .get_matches_from(vec![OsString::from("myprog"), -/// // "Hi {0xe9}!" -/// OsString::from_vec(vec![b'H', b'i', b' ', 0xe9, b'!'])]); -/// assert_eq!(&*m.value_of_os("arg").unwrap().as_bytes(), [b'H', b'i', b' ', 0xe9, b'!']); -/// ``` -/// [`ArgMatches::values_of_os`]: ./struct.ArgMatches.html#method.values_of_os -/// [`Values`]: ./struct.Values.html -#[derive(Clone)] -#[allow(missing_debug_implementations)] -pub struct OsValues<'a> { - iter: Map, fn(&'a OsString) -> &'a OsStr>, -} - -impl<'a> Iterator for OsValues<'a> { - type Item = &'a OsStr; - - fn next(&mut self) -> Option<&'a OsStr> { self.iter.next() } - fn size_hint(&self) -> (usize, Option) { self.iter.size_hint() } -} - -impl<'a> DoubleEndedIterator for OsValues<'a> { - fn next_back(&mut self) -> Option<&'a OsStr> { self.iter.next_back() } -} - -/// Creates an empty iterator. -impl<'a> Default for OsValues<'a> { - fn default() -> Self { - static EMPTY: [OsString; 0] = []; - // This is never called because the iterator is empty: - fn to_str_slice(_: &OsString) -> &OsStr { unreachable!() }; - OsValues { iter: EMPTY[..].iter().map(to_str_slice) } - } -} - -#[test] -fn test_default_osvalues() { - let mut values: OsValues = OsValues::default(); - assert_eq!(values.next(), None); -} - -#[test] -fn test_default_osvalues_with_shorter_lifetime() { - let matches = ArgMatches::new(); - let mut values = matches.values_of_os("").unwrap_or_default(); - assert_eq!(values.next(), None); -} diff --git a/vendor/registry-40351f815f426200/clap/src/args/group.rs b/vendor/registry-40351f815f426200/clap/src/args/group.rs deleted file mode 100644 index 1d555aba4..000000000 --- a/vendor/registry-40351f815f426200/clap/src/args/group.rs +++ /dev/null @@ -1,634 +0,0 @@ -#[cfg(feature = "yaml")] -use std::collections::BTreeMap; -use std::fmt::{Debug, Formatter, Result}; - -#[cfg(feature = "yaml")] -use yaml_rust::Yaml; - -/// `ArgGroup`s are a family of related [arguments] and way for you to express, "Any of these -/// arguments". By placing arguments in a logical group, you can create easier requirement and -/// exclusion rules instead of having to list each argument individually, or when you want a rule -/// to apply "any but not all" arguments. -/// -/// For instance, you can make an entire `ArgGroup` required. If [`ArgGroup::multiple(true)`] is -/// set, this means that at least one argument from that group must be present. If -/// [`ArgGroup::multiple(false)`] is set (the default), one and *only* one must be present. -/// -/// You can also do things such as name an entire `ArgGroup` as a [conflict] or [requirement] for -/// another argument, meaning any of the arguments that belong to that group will cause a failure -/// if present, or must present respectively. -/// -/// Perhaps the most common use of `ArgGroup`s is to require one and *only* one argument to be -/// present out of a given set. Imagine that you had multiple arguments, and you want one of them -/// to be required, but making all of them required isn't feasible because perhaps they conflict -/// with each other. For example, lets say that you were building an application where one could -/// set a given version number by supplying a string with an option argument, i.e. -/// `--set-ver v1.2.3`, you also wanted to support automatically using a previous version number -/// and simply incrementing one of the three numbers. So you create three flags `--major`, -/// `--minor`, and `--patch`. All of these arguments shouldn't be used at one time but you want to -/// specify that *at least one* of them is used. For this, you can create a group. -/// -/// Finally, you may use `ArgGroup`s to pull a value from a group of arguments when you don't care -/// exactly which argument was actually used at runtime. -/// -/// # Examples -/// -/// The following example demonstrates using an `ArgGroup` to ensure that one, and only one, of -/// the arguments from the specified group is present at runtime. -/// -/// ```rust -/// # use clap::{App, ArgGroup, ErrorKind}; -/// let result = App::new("app") -/// .args_from_usage( -/// "--set-ver [ver] 'set the version manually' -/// --major 'auto increase major' -/// --minor 'auto increase minor' -/// --patch 'auto increase patch'") -/// .group(ArgGroup::with_name("vers") -/// .args(&["set-ver", "major", "minor","patch"]) -/// .required(true)) -/// .get_matches_from_safe(vec!["app", "--major", "--patch"]); -/// // Because we used two args in the group it's an error -/// assert!(result.is_err()); -/// let err = result.unwrap_err(); -/// assert_eq!(err.kind, ErrorKind::ArgumentConflict); -/// ``` -/// This next example shows a passing parse of the same scenario -/// -/// ```rust -/// # use clap::{App, ArgGroup}; -/// let result = App::new("app") -/// .args_from_usage( -/// "--set-ver [ver] 'set the version manually' -/// --major 'auto increase major' -/// --minor 'auto increase minor' -/// --patch 'auto increase patch'") -/// .group(ArgGroup::with_name("vers") -/// .args(&["set-ver", "major", "minor","patch"]) -/// .required(true)) -/// .get_matches_from_safe(vec!["app", "--major"]); -/// assert!(result.is_ok()); -/// let matches = result.unwrap(); -/// // We may not know which of the args was used, so we can test for the group... -/// assert!(matches.is_present("vers")); -/// // we could also alternatively check each arg individually (not shown here) -/// ``` -/// [`ArgGroup::multiple(true)`]: ./struct.ArgGroup.html#method.multiple -/// [arguments]: ./struct.Arg.html -/// [conflict]: ./struct.Arg.html#method.conflicts_with -/// [requirement]: ./struct.Arg.html#method.requires -#[derive(Default)] -pub struct ArgGroup<'a> { - #[doc(hidden)] - pub name: &'a str, - #[doc(hidden)] - pub args: Vec<&'a str>, - #[doc(hidden)] - pub required: bool, - #[doc(hidden)] - pub requires: Option>, - #[doc(hidden)] - pub conflicts: Option>, - #[doc(hidden)] - pub multiple: bool, -} - -impl<'a> ArgGroup<'a> { - /// Creates a new instance of `ArgGroup` using a unique string name. The name will be used to - /// get values from the group or refer to the group inside of conflict and requirement rules. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, ArgGroup}; - /// ArgGroup::with_name("config") - /// # ; - /// ``` - pub fn with_name(n: &'a str) -> Self { - ArgGroup { - name: n, - required: false, - args: vec![], - requires: None, - conflicts: None, - multiple: false, - } - } - - /// Creates a new instance of `ArgGroup` from a .yml (YAML) file. - /// - /// # Examples - /// - /// ```ignore - /// # #[macro_use] - /// # extern crate clap; - /// # use clap::ArgGroup; - /// # fn main() { - /// let yml = load_yaml!("group.yml"); - /// let ag = ArgGroup::from_yaml(yml); - /// # } - /// ``` - #[cfg(feature = "yaml")] - pub fn from_yaml(y: &'a Yaml) -> ArgGroup<'a> { ArgGroup::from(y.as_hash().unwrap()) } - - /// Adds an [argument] to this group by name - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, ArgGroup}; - /// let m = App::new("myprog") - /// .arg(Arg::with_name("flag") - /// .short("f")) - /// .arg(Arg::with_name("color") - /// .short("c")) - /// .group(ArgGroup::with_name("req_flags") - /// .arg("flag") - /// .arg("color")) - /// .get_matches_from(vec!["myprog", "-f"]); - /// // maybe we don't know which of the two flags was used... - /// assert!(m.is_present("req_flags")); - /// // but we can also check individually if needed - /// assert!(m.is_present("flag")); - /// ``` - /// [argument]: ./struct.Arg.html - #[cfg_attr(feature = "lints", allow(should_assert_eq))] - pub fn arg(mut self, n: &'a str) -> Self { - assert!(self.name != n, - "ArgGroup '{}' can not have same name as arg inside it", - &*self.name); - self.args.push(n); - self - } - - /// Adds multiple [arguments] to this group by name - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, ArgGroup}; - /// let m = App::new("myprog") - /// .arg(Arg::with_name("flag") - /// .short("f")) - /// .arg(Arg::with_name("color") - /// .short("c")) - /// .group(ArgGroup::with_name("req_flags") - /// .args(&["flag", "color"])) - /// .get_matches_from(vec!["myprog", "-f"]); - /// // maybe we don't know which of the two flags was used... - /// assert!(m.is_present("req_flags")); - /// // but we can also check individually if needed - /// assert!(m.is_present("flag")); - /// ``` - /// [arguments]: ./struct.Arg.html - pub fn args(mut self, ns: &[&'a str]) -> Self { - for n in ns { - self = self.arg(n); - } - self - } - - /// Allows more than one of the ['Arg']s in this group to be used. (Default: `false`) - /// - /// # Examples - /// - /// Notice in this example we use *both* the `-f` and `-c` flags which are both part of the - /// group - /// - /// ```rust - /// # use clap::{App, Arg, ArgGroup}; - /// let m = App::new("myprog") - /// .arg(Arg::with_name("flag") - /// .short("f")) - /// .arg(Arg::with_name("color") - /// .short("c")) - /// .group(ArgGroup::with_name("req_flags") - /// .args(&["flag", "color"]) - /// .multiple(true)) - /// .get_matches_from(vec!["myprog", "-f", "-c"]); - /// // maybe we don't know which of the two flags was used... - /// assert!(m.is_present("req_flags")); - /// ``` - /// In this next example, we show the default behavior (i.e. `multiple(false)) which will throw - /// an error if more than one of the args in the group was used. - /// - /// ```rust - /// # use clap::{App, Arg, ArgGroup, ErrorKind}; - /// let result = App::new("myprog") - /// .arg(Arg::with_name("flag") - /// .short("f")) - /// .arg(Arg::with_name("color") - /// .short("c")) - /// .group(ArgGroup::with_name("req_flags") - /// .args(&["flag", "color"])) - /// .get_matches_from_safe(vec!["myprog", "-f", "-c"]); - /// // Because we used both args in the group it's an error - /// assert!(result.is_err()); - /// let err = result.unwrap_err(); - /// assert_eq!(err.kind, ErrorKind::ArgumentConflict); - /// ``` - /// ['Arg']: ./struct.Arg.html - pub fn multiple(mut self, m: bool) -> Self { - self.multiple = m; - self - } - - /// Sets the group as required or not. A required group will be displayed in the usage string - /// of the application in the format ``. A required `ArgGroup` simply states - /// that one argument from this group *must* be present at runtime (unless - /// conflicting with another argument). - /// - /// **NOTE:** This setting only applies to the current [`App`] / [`SubCommand`], and not - /// globally. - /// - /// **NOTE:** By default, [`ArgGroup::multiple`] is set to `false` which when combined with - /// `ArgGroup::required(true)` states, "One and *only one* arg must be used from this group. - /// Use of more than one arg is an error." Vice setting `ArgGroup::multiple(true)` which - /// states, '*At least* one arg from this group must be used. Using multiple is OK." - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, ArgGroup, ErrorKind}; - /// let result = App::new("myprog") - /// .arg(Arg::with_name("flag") - /// .short("f")) - /// .arg(Arg::with_name("color") - /// .short("c")) - /// .group(ArgGroup::with_name("req_flags") - /// .args(&["flag", "color"]) - /// .required(true)) - /// .get_matches_from_safe(vec!["myprog"]); - /// // Because we didn't use any of the args in the group, it's an error - /// assert!(result.is_err()); - /// let err = result.unwrap_err(); - /// assert_eq!(err.kind, ErrorKind::MissingRequiredArgument); - /// ``` - /// [`App`]: ./struct.App.html - /// [`SubCommand`]: ./struct.SubCommand.html - /// [`ArgGroup::multiple`]: ./struct.ArgGroup.html#method.multiple - pub fn required(mut self, r: bool) -> Self { - self.required = r; - self - } - - /// Sets the requirement rules of this group. This is not to be confused with a - /// [required group]. Requirement rules function just like [argument requirement rules], you - /// can name other arguments or groups that must be present when any one of the arguments from - /// this group is used. - /// - /// **NOTE:** The name provided may be an argument, or group name - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, ArgGroup, ErrorKind}; - /// let result = App::new("myprog") - /// .arg(Arg::with_name("flag") - /// .short("f")) - /// .arg(Arg::with_name("color") - /// .short("c")) - /// .arg(Arg::with_name("debug") - /// .short("d")) - /// .group(ArgGroup::with_name("req_flags") - /// .args(&["flag", "color"]) - /// .requires("debug")) - /// .get_matches_from_safe(vec!["myprog", "-c"]); - /// // because we used an arg from the group, and the group requires "-d" to be used, it's an - /// // error - /// assert!(result.is_err()); - /// let err = result.unwrap_err(); - /// assert_eq!(err.kind, ErrorKind::MissingRequiredArgument); - /// ``` - /// [required group]: ./struct.ArgGroup.html#method.required - /// [argument requirement rules]: ./struct.Arg.html#method.requires - pub fn requires(mut self, n: &'a str) -> Self { - if let Some(ref mut reqs) = self.requires { - reqs.push(n); - } else { - self.requires = Some(vec![n]); - } - self - } - - /// Sets the requirement rules of this group. This is not to be confused with a - /// [required group]. Requirement rules function just like [argument requirement rules], you - /// can name other arguments or groups that must be present when one of the arguments from this - /// group is used. - /// - /// **NOTE:** The names provided may be an argument, or group name - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, ArgGroup, ErrorKind}; - /// let result = App::new("myprog") - /// .arg(Arg::with_name("flag") - /// .short("f")) - /// .arg(Arg::with_name("color") - /// .short("c")) - /// .arg(Arg::with_name("debug") - /// .short("d")) - /// .arg(Arg::with_name("verb") - /// .short("v")) - /// .group(ArgGroup::with_name("req_flags") - /// .args(&["flag", "color"]) - /// .requires_all(&["debug", "verb"])) - /// .get_matches_from_safe(vec!["myprog", "-c", "-d"]); - /// // because we used an arg from the group, and the group requires "-d" and "-v" to be used, - /// // yet we only used "-d" it's an error - /// assert!(result.is_err()); - /// let err = result.unwrap_err(); - /// assert_eq!(err.kind, ErrorKind::MissingRequiredArgument); - /// ``` - /// [required group]: ./struct.ArgGroup.html#method.required - /// [argument requirement rules]: ./struct.Arg.html#method.requires_all - pub fn requires_all(mut self, ns: &[&'a str]) -> Self { - for n in ns { - self = self.requires(n); - } - self - } - - /// Sets the exclusion rules of this group. Exclusion (aka conflict) rules function just like - /// [argument exclusion rules], you can name other arguments or groups that must *not* be - /// present when one of the arguments from this group are used. - /// - /// **NOTE:** The name provided may be an argument, or group name - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, ArgGroup, ErrorKind}; - /// let result = App::new("myprog") - /// .arg(Arg::with_name("flag") - /// .short("f")) - /// .arg(Arg::with_name("color") - /// .short("c")) - /// .arg(Arg::with_name("debug") - /// .short("d")) - /// .group(ArgGroup::with_name("req_flags") - /// .args(&["flag", "color"]) - /// .conflicts_with("debug")) - /// .get_matches_from_safe(vec!["myprog", "-c", "-d"]); - /// // because we used an arg from the group, and the group conflicts with "-d", it's an error - /// assert!(result.is_err()); - /// let err = result.unwrap_err(); - /// assert_eq!(err.kind, ErrorKind::ArgumentConflict); - /// ``` - /// [argument exclusion rules]: ./struct.Arg.html#method.conflicts_with - pub fn conflicts_with(mut self, n: &'a str) -> Self { - if let Some(ref mut confs) = self.conflicts { - confs.push(n); - } else { - self.conflicts = Some(vec![n]); - } - self - } - - /// Sets the exclusion rules of this group. Exclusion rules function just like - /// [argument exclusion rules], you can name other arguments or groups that must *not* be - /// present when one of the arguments from this group are used. - /// - /// **NOTE:** The names provided may be an argument, or group name - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, ArgGroup, ErrorKind}; - /// let result = App::new("myprog") - /// .arg(Arg::with_name("flag") - /// .short("f")) - /// .arg(Arg::with_name("color") - /// .short("c")) - /// .arg(Arg::with_name("debug") - /// .short("d")) - /// .arg(Arg::with_name("verb") - /// .short("v")) - /// .group(ArgGroup::with_name("req_flags") - /// .args(&["flag", "color"]) - /// .conflicts_with_all(&["debug", "verb"])) - /// .get_matches_from_safe(vec!["myprog", "-c", "-v"]); - /// // because we used an arg from the group, and the group conflicts with either "-v" or "-d" - /// // it's an error - /// assert!(result.is_err()); - /// let err = result.unwrap_err(); - /// assert_eq!(err.kind, ErrorKind::ArgumentConflict); - /// ``` - /// [argument exclusion rules]: ./struct.Arg.html#method.conflicts_with_all - pub fn conflicts_with_all(mut self, ns: &[&'a str]) -> Self { - for n in ns { - self = self.conflicts_with(n); - } - self - } -} - -impl<'a> Debug for ArgGroup<'a> { - fn fmt(&self, f: &mut Formatter) -> Result { - write!(f, - "{{\n\ - \tname: {:?},\n\ - \targs: {:?},\n\ - \trequired: {:?},\n\ - \trequires: {:?},\n\ - \tconflicts: {:?},\n\ - }}", - self.name, - self.args, - self.required, - self.requires, - self.conflicts) - } -} - -impl<'a, 'z> From<&'z ArgGroup<'a>> for ArgGroup<'a> { - fn from(g: &'z ArgGroup<'a>) -> Self { - ArgGroup { - name: g.name, - required: g.required, - args: g.args.clone(), - requires: g.requires.clone(), - conflicts: g.conflicts.clone(), - multiple: g.multiple, - } - } -} - -#[cfg(feature = "yaml")] -impl<'a> From<&'a BTreeMap> for ArgGroup<'a> { - fn from(b: &'a BTreeMap) -> Self { - // We WANT this to panic on error...so expect() is good. - let mut a = ArgGroup::default(); - let group_settings = if b.len() == 1 { - let name_yml = b.keys().nth(0).expect("failed to get name"); - let name_str = name_yml.as_str().expect("failed to convert arg YAML name to str"); - a.name = name_str; - b.get(name_yml) - .expect("failed to get name_str") - .as_hash() - .expect("failed to convert to a hash") - } else { - b - }; - - for (k, v) in group_settings { - a = match k.as_str().unwrap() { - "required" => a.required(v.as_bool().unwrap()), - "multiple" => a.multiple(v.as_bool().unwrap()), - "args" => yaml_vec_or_str!(v, a, arg), - "arg" => { - if let Some(ys) = v.as_str() { - a = a.arg(ys); - } - a - } - "requires" => yaml_vec_or_str!(v, a, requires), - "conflicts_with" => yaml_vec_or_str!(v, a, conflicts_with), - "name" => { - if let Some(ys) = v.as_str() { - a.name = ys; - } - a - } - s => { - panic!("Unknown ArgGroup setting '{}' in YAML file for \ - ArgGroup '{}'", - s, - a.name) - } - } - } - - a - } -} - -#[cfg(test)] -mod test { - use super::ArgGroup; - #[cfg(feature = "yaml")] - use yaml_rust::YamlLoader; - - #[test] - fn groups() { - let g = ArgGroup::with_name("test") - .arg("a1") - .arg("a4") - .args(&["a2", "a3"]) - .required(true) - .conflicts_with("c1") - .conflicts_with_all(&["c2", "c3"]) - .conflicts_with("c4") - .requires("r1") - .requires_all(&["r2", "r3"]) - .requires("r4"); - - let args = vec!["a1", "a4", "a2", "a3"]; - let reqs = vec!["r1", "r2", "r3", "r4"]; - let confs = vec!["c1", "c2", "c3", "c4"]; - - assert_eq!(g.args, args); - assert_eq!(g.requires, Some(reqs)); - assert_eq!(g.conflicts, Some(confs)); - } - - #[test] - fn test_debug() { - let g = ArgGroup::with_name("test") - .arg("a1") - .arg("a4") - .args(&["a2", "a3"]) - .required(true) - .conflicts_with("c1") - .conflicts_with_all(&["c2", "c3"]) - .conflicts_with("c4") - .requires("r1") - .requires_all(&["r2", "r3"]) - .requires("r4"); - - let args = vec!["a1", "a4", "a2", "a3"]; - let reqs = vec!["r1", "r2", "r3", "r4"]; - let confs = vec!["c1", "c2", "c3", "c4"]; - - let debug_str = format!("{{\n\ - \tname: \"test\",\n\ - \targs: {:?},\n\ - \trequired: {:?},\n\ - \trequires: {:?},\n\ - \tconflicts: {:?},\n\ - }}", - args, - true, - Some(reqs), - Some(confs)); - assert_eq!(&*format!("{:?}", g), &*debug_str); - } - - #[test] - fn test_from() { - let g = ArgGroup::with_name("test") - .arg("a1") - .arg("a4") - .args(&["a2", "a3"]) - .required(true) - .conflicts_with("c1") - .conflicts_with_all(&["c2", "c3"]) - .conflicts_with("c4") - .requires("r1") - .requires_all(&["r2", "r3"]) - .requires("r4"); - - let args = vec!["a1", "a4", "a2", "a3"]; - let reqs = vec!["r1", "r2", "r3", "r4"]; - let confs = vec!["c1", "c2", "c3", "c4"]; - - let g2 = ArgGroup::from(&g); - assert_eq!(g2.args, args); - assert_eq!(g2.requires, Some(reqs)); - assert_eq!(g2.conflicts, Some(confs)); - } - - #[cfg(feature="yaml")] - #[cfg_attr(feature = "yaml", test)] - fn test_yaml() { - - let g_yaml = "name: test -args: -- a1 -- a4 -- a2 -- a3 -conflicts_with: -- c1 -- c2 -- c3 -- c4 -requires: -- r1 -- r2 -- r3 -- r4"; - let yml = &YamlLoader::load_from_str(g_yaml).expect("failed to load YAML file")[0]; - let g = ArgGroup::from_yaml(yml); - let args = vec!["a1", "a4", "a2", "a3"]; - let reqs = vec!["r1", "r2", "r3", "r4"]; - let confs = vec!["c1", "c2", "c3", "c4"]; - assert_eq!(g.args, args); - assert_eq!(g.requires, Some(reqs)); - assert_eq!(g.conflicts, Some(confs)); - } -} - -impl<'a> Clone for ArgGroup<'a> { - fn clone(&self) -> Self { - ArgGroup { - name: self.name, - required: self.required, - args: self.args.clone(), - requires: self.requires.clone(), - conflicts: self.conflicts.clone(), - multiple: self.multiple, - } - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/args/macros.rs b/vendor/registry-40351f815f426200/clap/src/args/macros.rs deleted file mode 100644 index 1de12f4ec..000000000 --- a/vendor/registry-40351f815f426200/clap/src/args/macros.rs +++ /dev/null @@ -1,109 +0,0 @@ -#[cfg(feature = "yaml")] -macro_rules! yaml_tuple2 { - ($a:ident, $v:ident, $c:ident) => {{ - if let Some(vec) = $v.as_vec() { - for ys in vec { - if let Some(tup) = ys.as_vec() { - debug_assert_eq!(2, tup.len()); - $a = $a.$c(yaml_str!(tup[0]), yaml_str!(tup[1])); - } else { - panic!("Failed to convert YAML value to vec"); - } - } - } else { - panic!("Failed to convert YAML value to vec"); - } - $a - } - }; -} - -#[cfg(feature = "yaml")] -macro_rules! yaml_tuple3 { - ($a:ident, $v:ident, $c:ident) => {{ - if let Some(vec) = $v.as_vec() { - for ys in vec { - if let Some(tup) = ys.as_vec() { - debug_assert_eq!(3, tup.len()); - $a = $a.$c(yaml_str!(tup[0]), yaml_opt_str!(tup[1]), yaml_str!(tup[2])); - } else { - panic!("Failed to convert YAML value to vec"); - } - } - } else { - panic!("Failed to convert YAML value to vec"); - } - $a - } - }; -} - -#[cfg(feature = "yaml")] -macro_rules! yaml_vec_or_str { - ($v:ident, $a:ident, $c:ident) => {{ - let maybe_vec = $v.as_vec(); - if let Some(vec) = maybe_vec { - for ys in vec { - if let Some(s) = ys.as_str() { - $a = $a.$c(s); - } else { - panic!("Failed to convert YAML value {:?} to a string", ys); - } - } - } else { - if let Some(s) = $v.as_str() { - $a = $a.$c(s); - } else { - panic!("Failed to convert YAML value {:?} to either a vec or string", $v); - } - } - $a - } - }; -} - -#[cfg(feature = "yaml")] -macro_rules! yaml_opt_str { - ($v:expr) => {{ - if $v.is_null() { - Some($v.as_str().unwrap_or_else(|| panic!("failed to convert YAML {:?} value to a string", $v))) - } else { - None - } - }}; -} - -#[cfg(feature = "yaml")] -macro_rules! yaml_str { - ($v:expr) => {{ - $v.as_str().unwrap_or_else(|| panic!("failed to convert YAML {:?} value to a string", $v)) - }}; -} - -#[cfg(feature = "yaml")] -macro_rules! yaml_to_str { - ($a:ident, $v:ident, $c:ident) => {{ - $a.$c(yaml_str!($v)) - }}; -} - -#[cfg(feature = "yaml")] -macro_rules! yaml_to_bool { - ($a:ident, $v:ident, $c:ident) => {{ - $a.$c($v.as_bool().unwrap_or_else(|| panic!("failed to convert YAML {:?} value to a string", $v))) - }}; -} - -#[cfg(feature = "yaml")] -macro_rules! yaml_to_u64 { - ($a:ident, $v:ident, $c:ident) => {{ - $a.$c($v.as_i64().unwrap_or_else(|| panic!("failed to convert YAML {:?} value to a string", $v)) as u64) - }}; -} - -#[cfg(feature = "yaml")] -macro_rules! yaml_to_usize { - ($a:ident, $v:ident, $c:ident) => {{ - $a.$c($v.as_i64().unwrap_or_else(|| panic!("failed to convert YAML {:?} value to a string", $v)) as usize) - }}; -} diff --git a/vendor/registry-40351f815f426200/clap/src/args/matched_arg.rs b/vendor/registry-40351f815f426200/clap/src/args/matched_arg.rs deleted file mode 100644 index 9a73af9d5..000000000 --- a/vendor/registry-40351f815f426200/clap/src/args/matched_arg.rs +++ /dev/null @@ -1,24 +0,0 @@ -// Std -use std::ffi::OsString; - -#[doc(hidden)] -#[derive(Debug, Clone)] -pub struct MatchedArg { - #[doc(hidden)] - pub occurs: u64, - #[doc(hidden)] - pub vals: Vec, -} - -impl Default for MatchedArg { - fn default() -> Self { - MatchedArg { - occurs: 1, - vals: Vec::with_capacity(1), - } - } -} - -impl MatchedArg { - pub fn new() -> Self { MatchedArg::default() } -} diff --git a/vendor/registry-40351f815f426200/clap/src/args/mod.rs b/vendor/registry-40351f815f426200/clap/src/args/mod.rs deleted file mode 100644 index 5c87e1be9..000000000 --- a/vendor/registry-40351f815f426200/clap/src/args/mod.rs +++ /dev/null @@ -1,21 +0,0 @@ -pub use self::any_arg::{AnyArg, DispOrder}; -pub use self::arg::Arg; -pub use self::arg_builder::{Base, Switched, Valued, FlagBuilder, OptBuilder, PosBuilder}; -pub use self::arg_matcher::ArgMatcher; -pub use self::arg_matches::{Values, OsValues, ArgMatches}; -pub use self::group::ArgGroup; -pub use self::matched_arg::MatchedArg; -pub use self::settings::{ArgFlags, ArgSettings}; -pub use self::subcommand::SubCommand; - -#[macro_use] -mod macros; -mod arg; -pub mod any_arg; -mod arg_matches; -mod arg_matcher; -mod subcommand; -mod arg_builder; -mod matched_arg; -mod group; -pub mod settings; diff --git a/vendor/registry-40351f815f426200/clap/src/args/settings.rs b/vendor/registry-40351f815f426200/clap/src/args/settings.rs deleted file mode 100644 index c453e4a2e..000000000 --- a/vendor/registry-40351f815f426200/clap/src/args/settings.rs +++ /dev/null @@ -1,165 +0,0 @@ -// Std -use std::ascii::AsciiExt; -use std::str::FromStr; - -bitflags! { - struct Flags: u16 { - const REQUIRED = 1; - const MULTIPLE = 1 << 1; - const EMPTY_VALS = 1 << 2; - const GLOBAL = 1 << 3; - const HIDDEN = 1 << 4; - const TAKES_VAL = 1 << 5; - const USE_DELIM = 1 << 6; - const NEXT_LINE_HELP = 1 << 7; - const R_UNLESS_ALL = 1 << 8; - const REQ_DELIM = 1 << 9; - const DELIM_NOT_SET = 1 << 10; - const HIDE_POS_VALS = 1 << 11; - const ALLOW_TAC_VALS = 1 << 12; - const REQUIRE_EQUALS = 1 << 13; - const LAST = 1 << 14; - const HIDE_DEFAULT_VAL = 1 << 15; - } -} - -#[doc(hidden)] -#[derive(Debug, Clone, Copy)] -pub struct ArgFlags(Flags); - -impl ArgFlags { - pub fn new() -> Self { ArgFlags::default() } - - impl_settings!{ArgSettings, - Required => REQUIRED, - Multiple => MULTIPLE, - EmptyValues => EMPTY_VALS, - Global => GLOBAL, - Hidden => HIDDEN, - TakesValue => TAKES_VAL, - UseValueDelimiter => USE_DELIM, - NextLineHelp => NEXT_LINE_HELP, - RequiredUnlessAll => R_UNLESS_ALL, - RequireDelimiter => REQ_DELIM, - ValueDelimiterNotSet => DELIM_NOT_SET, - HidePossibleValues => HIDE_POS_VALS, - AllowLeadingHyphen => ALLOW_TAC_VALS, - RequireEquals => REQUIRE_EQUALS, - Last => LAST, - HideDefaultValue => HIDE_DEFAULT_VAL - } -} - -impl Default for ArgFlags { - fn default() -> Self { ArgFlags(EMPTY_VALS | DELIM_NOT_SET) } -} - -/// Various settings that apply to arguments and may be set, unset, and checked via getter/setter -/// methods [`Arg::set`], [`Arg::unset`], and [`Arg::is_set`] -/// [`Arg::set`]: ./struct.Arg.html#method.set -/// [`Arg::unset`]: ./struct.Arg.html#method.unset -/// [`Arg::is_set`]: ./struct.Arg.html#method.is_set -#[derive(Debug, PartialEq, Copy, Clone)] -pub enum ArgSettings { - /// The argument must be used - Required, - /// The argument may be used multiple times such as `--flag --flag` - Multiple, - /// The argument allows empty values such as `--option ""` - EmptyValues, - /// The argument should be propagated down through all child [`SubCommands`] - /// [`SubCommand`]: ./struct.SubCommand.html - Global, - /// The argument should **not** be shown in help text - Hidden, - /// The argument accepts a value, such as `--option ` - TakesValue, - /// Determines if the argument allows values to be grouped via a delimter - UseValueDelimiter, - /// Prints the help text on the line after the argument - NextLineHelp, - /// Requires the use of a value delimiter for all multiple values - RequireDelimiter, - /// Hides the possible values from the help string - HidePossibleValues, - /// Allows vals that start with a '-' - AllowLeadingHyphen, - /// Require options use `--option=val` syntax - RequireEquals, - /// Specifies that the arg is the last positional argument and may be accessed early via `--` - /// syntax - Last, - /// Hides the default value from the help string - HideDefaultValue, - #[doc(hidden)] - RequiredUnlessAll, - #[doc(hidden)] - ValueDelimiterNotSet, -} - -impl FromStr for ArgSettings { - type Err = String; - fn from_str(s: &str) -> Result::Err> { - match &*s.to_ascii_lowercase() { - "required" => Ok(ArgSettings::Required), - "multiple" => Ok(ArgSettings::Multiple), - "global" => Ok(ArgSettings::Global), - "emptyvalues" => Ok(ArgSettings::EmptyValues), - "hidden" => Ok(ArgSettings::Hidden), - "takesvalue" => Ok(ArgSettings::TakesValue), - "usevaluedelimiter" => Ok(ArgSettings::UseValueDelimiter), - "nextlinehelp" => Ok(ArgSettings::NextLineHelp), - "requiredunlessall" => Ok(ArgSettings::RequiredUnlessAll), - "requiredelimiter" => Ok(ArgSettings::RequireDelimiter), - "valuedelimiternotset" => Ok(ArgSettings::ValueDelimiterNotSet), - "hidepossiblevalues" => Ok(ArgSettings::HidePossibleValues), - "allowleadinghyphen" => Ok(ArgSettings::AllowLeadingHyphen), - "requireequals" => Ok(ArgSettings::RequireEquals), - "last" => Ok(ArgSettings::Last), - "hidedefaultvalue" => Ok(ArgSettings::HideDefaultValue), - _ => Err("unknown ArgSetting, cannot convert from str".to_owned()), - } - } -} - -#[cfg(test)] -mod test { - use super::ArgSettings; - - #[test] - fn arg_settings_fromstr() { - assert_eq!("allowleadinghyphen".parse::().unwrap(), - ArgSettings::AllowLeadingHyphen); - assert_eq!("emptyvalues".parse::().unwrap(), - ArgSettings::EmptyValues); - assert_eq!("global".parse::().unwrap(), - ArgSettings::Global); - assert_eq!("hidepossiblevalues".parse::().unwrap(), - ArgSettings::HidePossibleValues); - assert_eq!("hidden".parse::().unwrap(), - ArgSettings::Hidden); - assert_eq!("multiple".parse::().unwrap(), - ArgSettings::Multiple); - assert_eq!("nextlinehelp".parse::().unwrap(), - ArgSettings::NextLineHelp); - assert_eq!("requiredunlessall".parse::().unwrap(), - ArgSettings::RequiredUnlessAll); - assert_eq!("requiredelimiter".parse::().unwrap(), - ArgSettings::RequireDelimiter); - assert_eq!("required".parse::().unwrap(), - ArgSettings::Required); - assert_eq!("takesvalue".parse::().unwrap(), - ArgSettings::TakesValue); - assert_eq!("usevaluedelimiter".parse::().unwrap(), - ArgSettings::UseValueDelimiter); - assert_eq!("valuedelimiternotset".parse::().unwrap(), - ArgSettings::ValueDelimiterNotSet); - assert_eq!("requireequals".parse::().unwrap(), - ArgSettings::RequireEquals); - assert_eq!("last".parse::().unwrap(), - ArgSettings::Last); - assert_eq!("hidedefaultvalue".parse::().unwrap(), - ArgSettings::HideDefaultValue); - assert!("hahahaha".parse::().is_err()); - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/args/subcommand.rs b/vendor/registry-40351f815f426200/clap/src/args/subcommand.rs deleted file mode 100644 index 5154c4114..000000000 --- a/vendor/registry-40351f815f426200/clap/src/args/subcommand.rs +++ /dev/null @@ -1,68 +0,0 @@ -// Third Party -#[cfg(feature = "yaml")] -use yaml_rust::Yaml; - -// Internal -use App; -use ArgMatches; - -/// The abstract representation of a command line subcommand. -/// -/// This struct describes all the valid options of the subcommand for the program. Subcommands are -/// essentially "sub-[`App`]s" and contain all the same possibilities (such as their own -/// [arguments], subcommands, and settings). -/// -/// # Examples -/// -/// ```rust -/// # use clap::{App, Arg, SubCommand}; -/// App::new("myprog") -/// .subcommand( -/// SubCommand::with_name("config") -/// .about("Used for configuration") -/// .arg(Arg::with_name("config_file") -/// .help("The configuration file to use") -/// .index(1))) -/// # ; -/// ``` -/// [`App`]: ./struct.App.html -/// [arguments]: ./struct.Arg.html -#[derive(Debug, Clone)] -pub struct SubCommand<'a> { - #[doc(hidden)] - pub name: String, - #[doc(hidden)] - pub matches: ArgMatches<'a>, -} - -impl<'a> SubCommand<'a> { - /// Creates a new instance of a subcommand requiring a name. The name will be displayed - /// to the user when they print version or help and usage information. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, SubCommand}; - /// App::new("myprog") - /// .subcommand( - /// SubCommand::with_name("config")) - /// # ; - /// ``` - pub fn with_name<'b>(name: &str) -> App<'a, 'b> { App::new(name) } - - /// Creates a new instance of a subcommand from a YAML (.yml) document - /// - /// # Examples - /// - /// ```ignore - /// # #[macro_use] - /// # extern crate clap; - /// # use clap::Subcommand; - /// # fn main() { - /// let sc_yaml = load_yaml!("test_subcommand.yml"); - /// let sc = SubCommand::from_yaml(sc_yaml); - /// # } - /// ``` - #[cfg(feature = "yaml")] - pub fn from_yaml(yaml: &Yaml) -> App { App::from_yaml(yaml) } -} diff --git a/vendor/registry-40351f815f426200/clap/src/completions/bash.rs b/vendor/registry-40351f815f426200/clap/src/completions/bash.rs deleted file mode 100644 index a5333828a..000000000 --- a/vendor/registry-40351f815f426200/clap/src/completions/bash.rs +++ /dev/null @@ -1,230 +0,0 @@ -// Std -use std::io::Write; - -// Internal -use app::parser::Parser; -use args::{ArgSettings, OptBuilder}; -use completions; - -pub struct BashGen<'a, 'b> - where 'a: 'b -{ - p: &'b Parser<'a, 'b>, -} - -impl<'a, 'b> BashGen<'a, 'b> { - pub fn new(p: &'b Parser<'a, 'b>) -> Self { BashGen { p: p } } - - pub fn generate_to(&self, buf: &mut W) { - - w!(buf, - format!("_{name}() {{ - local i cur prev opts cmds - COMPREPLY=() - cur=\"${{COMP_WORDS[COMP_CWORD]}}\" - prev=\"${{COMP_WORDS[COMP_CWORD-1]}}\" - cmd=\"\" - opts=\"\" - - for i in ${{COMP_WORDS[@]}} - do - case \"${{i}}\" in - {name}) - cmd=\"{name}\" - ;; - {subcmds} - *) - ;; - esac - done - - case \"${{cmd}}\" in - {name}) - opts=\"{name_opts}\" - if [[ ${{cur}} == -* || ${{COMP_CWORD}} -eq 1 ]] ; then - COMPREPLY=( $(compgen -W \"${{opts}}\" -- ${{cur}}) ) - return 0 - fi - case \"${{prev}}\" in - {name_opts_details} - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W \"${{opts}}\" -- ${{cur}}) ) - return 0 - ;; - {subcmd_details} - esac -}} - -complete -F _{name} -o bashdefault -o default {name} -", - name = self.p.meta.bin_name.as_ref().unwrap(), - name_opts = self.all_options_for_path(self.p.meta.bin_name.as_ref().unwrap()), - name_opts_details = - self.option_details_for_path(self.p.meta.bin_name.as_ref().unwrap()), - subcmds = self.all_subcommands(), - subcmd_details = self.subcommand_details()) - .as_bytes()); - } - - fn all_subcommands(&self) -> String { - debugln!("BashGen::all_subcommands;"); - let mut subcmds = String::new(); - let scs = completions::all_subcommand_names(self.p); - - for sc in &scs { - subcmds = format!("{} - {name}) - cmd+=\"__{name}\" - ;;", - subcmds, - name = sc.replace("-", "__")); - } - - subcmds - } - - fn subcommand_details(&self) -> String { - debugln!("BashGen::subcommand_details;"); - let mut subcmd_dets = String::new(); - let mut scs = completions::get_all_subcommand_paths(self.p, true); - scs.sort(); - scs.dedup(); - - for sc in &scs { - subcmd_dets = format!("{} - {subcmd}) - opts=\"{sc_opts}\" - if [[ ${{cur}} == -* || ${{COMP_CWORD}} -eq {level} ]] ; then - COMPREPLY=( $(compgen -W \"${{opts}}\" -- ${{cur}}) ) - return 0 - fi - case \"${{prev}}\" in - {opts_details} - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W \"${{opts}}\" -- ${{cur}}) ) - return 0 - ;;", - subcmd_dets, - subcmd = sc.replace("-", "__"), - sc_opts = self.all_options_for_path(&*sc), - level = sc.split("__").map(|_| 1).fold(0, |acc, n| acc + n), - opts_details = self.option_details_for_path(&*sc)); - } - - subcmd_dets - } - - fn option_details_for_path(&self, path: &str) -> String { - debugln!("BashGen::option_details_for_path: path={}", path); - let mut p = self.p; - for sc in path.split("__").skip(1) { - debugln!("BashGen::option_details_for_path:iter: sc={}", sc); - p = &find_subcmd!(p, sc).unwrap().p; - } - let mut opts = String::new(); - for o in p.opts() { - if let Some(l) = o.s.long { - opts = format!("{} - --{}) - COMPREPLY=({}) - return 0 - ;;", - opts, - l, - self.vals_for(o)); - } - if let Some(s) = o.s.short { - opts = format!("{} - -{}) - COMPREPLY=({}) - return 0 - ;;", - opts, - s, - self.vals_for(o)); - } - } - opts - } - - fn vals_for(&self, o: &OptBuilder) -> String { - debugln!("BashGen::vals_for: o={}", o.b.name); - use args::AnyArg; - let mut ret = String::new(); - let mut needs_quotes = true; - if let Some(vals) = o.possible_vals() { - needs_quotes = false; - ret = format!("$(compgen -W \"{}\" -- ${{cur}})", vals.join(" ")); - } else if let Some(vec) = o.val_names() { - let mut it = vec.iter().peekable(); - while let Some((_, val)) = it.next() { - ret = format!("{}<{}>{}", - ret, - val, - if it.peek().is_some() { " " } else { "" }); - } - let num = vec.len(); - if o.is_set(ArgSettings::Multiple) && num == 1 { - ret = format!("{}...", ret); - } - } else if let Some(num) = o.num_vals() { - let mut it = (0..num).peekable(); - while let Some(_) = it.next() { - ret = format!("{}<{}>{}", - ret, - o.name(), - if it.peek().is_some() { " " } else { "" }); - } - if o.is_set(ArgSettings::Multiple) && num == 1 { - ret = format!("{}...", ret); - } - } else { - ret = format!("<{}>", o.name()); - if o.is_set(ArgSettings::Multiple) { - ret = format!("{}...", ret); - } - } - if needs_quotes { - ret = format!("\"{}\"", ret); - } - ret - } - fn all_options_for_path(&self, path: &str) -> String { - debugln!("BashGen::all_options_for_path: path={}", path); - let mut p = self.p; - for sc in path.split("__").skip(1) { - debugln!("BashGen::all_options_for_path:iter: sc={}", sc); - p = &find_subcmd!(p, sc).unwrap().p; - } - let mut opts = shorts!(p).fold(String::new(), |acc, s| format!("{} -{}", acc, s)); - opts = format!("{} {}", - opts, - longs!(p).fold(String::new(), |acc, l| format!("{} --{}", acc, l))); - opts = format!("{} {}", - opts, - p.positionals - .values() - .fold(String::new(), |acc, p| format!("{} {}", acc, p))); - opts = format!("{} {}", - opts, - p.subcommands - .iter() - .fold(String::new(), |acc, s| format!("{} {}", acc, s.p.meta.name))); - for sc in &p.subcommands { - if let Some(ref aliases) = sc.p.meta.aliases { - opts = format!("{} {}", - opts, - aliases.iter() - .map(|&(n, _)| n) - .fold(String::new(), |acc, a| format!("{} {}", acc, a))); - } - } - opts - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/completions/fish.rs b/vendor/registry-40351f815f426200/clap/src/completions/fish.rs deleted file mode 100644 index 96e8cc246..000000000 --- a/vendor/registry-40351f815f426200/clap/src/completions/fish.rs +++ /dev/null @@ -1,121 +0,0 @@ - -// Std -use std::io::Write; - -// Internal -use app::parser::Parser; - -pub struct FishGen<'a, 'b> - where 'a: 'b -{ - p: &'b Parser<'a, 'b>, -} - -impl<'a, 'b> FishGen<'a, 'b> { - pub fn new(p: &'b Parser<'a, 'b>) -> Self { FishGen { p: p } } - - pub fn generate_to(&self, buf: &mut W) { - let command = self.p.meta.bin_name.as_ref().unwrap(); - - // function to detect subcommand - let detect_subcommand_function = r#"function __fish_using_command - set cmd (commandline -opc) - if [ (count $cmd) -eq (count $argv) ] - for i in (seq (count $argv)) - if [ $cmd[$i] != $argv[$i] ] - return 1 - end - end - return 0 - end - return 1 -end - -"# - .to_string(); - - let mut buffer = detect_subcommand_function; - gen_fish_inner(command, self, &command.to_string(), &mut buffer); - w!(buf, buffer.as_bytes()); - } -} - -// Escape string inside single quotes -fn escape_string(string: &str) -> String { - string.replace("\\", "\\\\").replace("'", "\\'") -} - -fn gen_fish_inner(root_command: &str, comp_gen: &FishGen, parent_cmds: &str, buffer: &mut String) { - debugln!("FishGen::gen_fish_inner;"); - // example : - // - // complete - // -c {command} - // -d "{description}" - // -s {short} - // -l {long} - // -a "{possible_arguments}" - // -r # if require parameter - // -f # don't use file completion - // -n "__fish_using_command myprog subcmd1" # complete for command "myprog subcmd1" - - let basic_template = format!("complete -c {} -n \"__fish_using_command {}\"", - root_command, - parent_cmds); - - for option in comp_gen.p.opts() { - let mut template = basic_template.clone(); - if let Some(data) = option.s.short { - template.push_str(format!(" -s {}", data).as_str()); - } - if let Some(data) = option.s.long { - template.push_str(format!(" -l {}", data).as_str()); - } - if let Some(data) = option.b.help { - template.push_str(format!(" -d '{}'", escape_string(data)).as_str()); - } - if let Some(ref data) = option.v.possible_vals { - template.push_str(format!(" -r -f -a \"{}\"", data.join(" ")).as_str()); - } - buffer.push_str(template.as_str()); - buffer.push_str("\n"); - } - - for flag in comp_gen.p.flags() { - let mut template = basic_template.clone(); - if let Some(data) = flag.s.short { - template.push_str(format!(" -s {}", data).as_str()); - } - if let Some(data) = flag.s.long { - template.push_str(format!(" -l {}", data).as_str()); - } - if let Some(data) = flag.b.help { - template.push_str(format!(" -d '{}'", escape_string(data)).as_str()); - } - buffer.push_str(template.as_str()); - buffer.push_str("\n"); - } - - for subcommand in &comp_gen.p.subcommands { - let mut template = basic_template.clone(); - template.push_str(" -f"); - template.push_str(format!(" -a \"{}\"", &subcommand.p.meta.name).as_str()); - if let Some(data) = subcommand.p.meta.about { - template.push_str(format!(" -d '{}'", escape_string(data)).as_str()) - } - buffer.push_str(template.as_str()); - buffer.push_str("\n"); - } - - // generate options of subcommands - for subcommand in &comp_gen.p.subcommands { - let sub_comp_gen = FishGen::new(&subcommand.p); - // make new "parent_cmds" for different subcommands - let mut sub_parent_cmds = parent_cmds.to_string(); - if !sub_parent_cmds.is_empty() { - sub_parent_cmds.push_str(" "); - } - sub_parent_cmds.push_str(&subcommand.p.meta.name); - gen_fish_inner(root_command, &sub_comp_gen, &sub_parent_cmds, buffer); - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/completions/macros.rs b/vendor/registry-40351f815f426200/clap/src/completions/macros.rs deleted file mode 100644 index a4ffce4bd..000000000 --- a/vendor/registry-40351f815f426200/clap/src/completions/macros.rs +++ /dev/null @@ -1,29 +0,0 @@ - -macro_rules! w { - ($buf:expr, $to_w:expr) => { - match $buf.write_all($to_w) { - Ok(..) => (), - Err(..) => panic!("Failed to write to completions file"), - } - }; -} - -macro_rules! get_zsh_arg_conflicts { - ($p:ident, $arg:ident, $msg:ident) => { - if let Some(conf_vec) = $arg.blacklist() { - let mut v = vec![]; - for arg_name in conf_vec { - let arg = $p.find_any_arg(arg_name).expect($msg); - if let Some(s) = arg.short() { - v.push(format!("-{}", s)); - } - if let Some(l) = arg.long() { - v.push(format!("--{}", l)); - } - } - v.join(" ") - } else { - String::new() - } - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/completions/mod.rs b/vendor/registry-40351f815f426200/clap/src/completions/mod.rs deleted file mode 100644 index 6d067882b..000000000 --- a/vendor/registry-40351f815f426200/clap/src/completions/mod.rs +++ /dev/null @@ -1,153 +0,0 @@ -#[macro_use] -mod macros; -mod bash; -mod fish; -mod zsh; -mod powershell; -mod shell; - -// Std -use std::io::Write; - -// Internal -use app::parser::Parser; -use self::bash::BashGen; -use self::fish::FishGen; -use self::zsh::ZshGen; -use self::powershell::PowerShellGen; -pub use self::shell::Shell; - -pub struct ComplGen<'a, 'b> - where 'a: 'b -{ - p: &'b Parser<'a, 'b>, -} - -impl<'a, 'b> ComplGen<'a, 'b> { - pub fn new(p: &'b Parser<'a, 'b>) -> Self { ComplGen { p: p } } - - pub fn generate(&self, for_shell: Shell, buf: &mut W) { - match for_shell { - Shell::Bash => BashGen::new(self.p).generate_to(buf), - Shell::Fish => FishGen::new(self.p).generate_to(buf), - Shell::Zsh => ZshGen::new(self.p).generate_to(buf), - Shell::PowerShell => PowerShellGen::new(self.p).generate_to(buf), - } - } -} - -// Gets all subcommands including child subcommands in the form of 'name' where the name -// is a single word (i.e. "install") of the path to said subcommand (i.e. -// "rustup toolchain install") -// -// Also note, aliases are treated as their own subcommands but duplicates of whatever they're -// aliasing. -pub fn all_subcommand_names(p: &Parser) -> Vec { - debugln!("all_subcommand_names;"); - let mut subcmds: Vec<_> = subcommands_of(p).iter().map(|&(ref n, _)| n.clone()).collect(); - for sc_v in p.subcommands.iter().map(|s| all_subcommand_names(&s.p)) { - subcmds.extend(sc_v); - } - subcmds.sort(); - subcmds.dedup(); - subcmds -} - -// Gets all subcommands including child subcommands in the form of ('name', 'bin_name') where the name -// is a single word (i.e. "install") of the path and full bin_name of said subcommand (i.e. -// "rustup toolchain install") -// -// Also note, aliases are treated as their own subcommands but duplicates of whatever they're -// aliasing. -pub fn all_subcommands(p: &Parser) -> Vec<(String, String)> { - debugln!("all_subcommands;"); - let mut subcmds: Vec<_> = subcommands_of(p); - for sc_v in p.subcommands.iter().map(|s| all_subcommands(&s.p)) { - subcmds.extend(sc_v); - } - subcmds -} - -// Gets all subcommands exlcuding child subcommands in the form of (name, bin_name) where the name -// is a single word (i.e. "install") and the bin_name is a space deliniated list of the path to said -// subcommand (i.e. "rustup toolchain install") -// -// Also note, aliases are treated as their own subcommands but duplicates of whatever they're -// aliasing. -pub fn subcommands_of(p: &Parser) -> Vec<(String, String)> { - debugln!("subcommands_of: name={}, bin_name={}", - p.meta.name, - p.meta.bin_name.as_ref().unwrap()); - let mut subcmds = vec![]; - - debugln!("subcommands_of: Has subcommands...{:?}", p.has_subcommands()); - if !p.has_subcommands() { - let mut ret = vec![(p.meta.name.clone(), p.meta.bin_name.as_ref().unwrap().clone())]; - debugln!("subcommands_of: Looking for aliases..."); - if let Some(ref aliases) = p.meta.aliases { - for &(n, _) in aliases { - debugln!("subcommands_of:iter:iter: Found alias...{}", n); - let mut als_bin_name: Vec<_> = - p.meta.bin_name.as_ref().unwrap().split(' ').collect(); - als_bin_name.push(n); - let old = als_bin_name.len() - 2; - als_bin_name.swap_remove(old); - ret.push((n.to_owned(), als_bin_name.join(" "))); - } - } - return ret; - } - for sc in &p.subcommands { - debugln!("subcommands_of:iter: name={}, bin_name={}", - sc.p.meta.name, - sc.p.meta.bin_name.as_ref().unwrap()); - - debugln!("subcommands_of:iter: Looking for aliases..."); - if let Some(ref aliases) = sc.p.meta.aliases { - for &(n, _) in aliases { - debugln!("subcommands_of:iter:iter: Found alias...{}", n); - let mut als_bin_name: Vec<_> = - p.meta.bin_name.as_ref().unwrap().split(' ').collect(); - als_bin_name.push(n); - let old = als_bin_name.len() - 2; - als_bin_name.swap_remove(old); - subcmds.push((n.to_owned(), als_bin_name.join(" "))); - } - } - subcmds.push((sc.p.meta.name.clone(), sc.p.meta.bin_name.as_ref().unwrap().clone())); - } - subcmds -} - -pub fn get_all_subcommand_paths(p: &Parser, first: bool) -> Vec { - debugln!("get_all_subcommand_paths;"); - let mut subcmds = vec![]; - if !p.has_subcommands() { - if !first { - let name = &*p.meta.name; - let path = p.meta.bin_name.as_ref().unwrap().clone().replace(" ", "__"); - let mut ret = vec![path.clone()]; - if let Some(ref aliases) = p.meta.aliases { - for &(n, _) in aliases { - ret.push(path.replace(name, n)); - } - } - return ret; - } - return vec![]; - } - for sc in &p.subcommands { - let name = &*sc.p.meta.name; - let path = sc.p.meta.bin_name.as_ref().unwrap().clone().replace(" ", "__"); - subcmds.push(path.clone()); - if let Some(ref aliases) = sc.p.meta.aliases { - for &(n, _) in aliases { - subcmds.push(path.replace(name, n)); - } - } - } - for sc_v in p.subcommands.iter().map(|s| get_all_subcommand_paths(&s.p, false)) { - subcmds.extend(sc_v); - } - subcmds -} diff --git a/vendor/registry-40351f815f426200/clap/src/completions/powershell.rs b/vendor/registry-40351f815f426200/clap/src/completions/powershell.rs deleted file mode 100644 index 423dd450b..000000000 --- a/vendor/registry-40351f815f426200/clap/src/completions/powershell.rs +++ /dev/null @@ -1,125 +0,0 @@ - -// Std -use std::io::Write; - -// Internal -use app::parser::Parser; -use INTERNAL_ERROR_MSG; - -pub struct PowerShellGen<'a, 'b> - where 'a: 'b -{ - p: &'b Parser<'a, 'b>, -} - -impl<'a, 'b> PowerShellGen<'a, 'b> { - pub fn new(p: &'b Parser<'a, 'b>) -> Self { PowerShellGen { p: p } } - - pub fn generate_to(&self, buf: &mut W) { - let bin_name = self.p.meta.bin_name.as_ref().unwrap(); - - let mut names = vec![]; - let (subcommands_detection_cases, subcommands_cases) = generate_inner(self.p, "", &mut names); - - let mut bin_names = vec![bin_name.to_string(), format!("./{0}", bin_name)]; - if cfg!(windows) { - bin_names.push(format!("{0}.exe", bin_name)); - bin_names.push(format!(r".\{0}", bin_name)); - bin_names.push(format!(r".\{0}.exe", bin_name)); - bin_names.push(format!(r"./{0}.exe", bin_name)); - } - - let bin_names = bin_names.iter().fold(String::new(), |previous, current| { - format!("{0}, '{1}'", previous, current) - }); - let bin_names = bin_names.trim_left_matches(", "); - - let result = format!(r#" -@({bin_names}) | %{{ - Register-ArgumentCompleter -Native -CommandName $_ -ScriptBlock {{ - param($wordToComplete, $commandAst, $cursorPosition) - - $command = '_{bin_name}' - $commandAst.CommandElements | - Select-Object -Skip 1 | - %{{ - switch ($_.ToString()) {{ -{subcommands_detection_cases} - default {{ - break - }} - }} - }} - - $completions = @() - - switch ($command) {{ -{subcommands_cases} - }} - - $completions | - ?{{ $_ -like "$wordToComplete*" }} | - Sort-Object | - %{{ New-Object System.Management.Automation.CompletionResult $_, $_, 'ParameterValue', $_ }} - }} -}} -"#, - bin_names = bin_names, - bin_name = bin_name, - subcommands_detection_cases = subcommands_detection_cases, - subcommands_cases = subcommands_cases - ); - - w!(buf, result.as_bytes()); - } -} - -fn generate_inner<'a, 'b, 'p>(p: &'p Parser<'a, 'b>, previous_command_name: &str, names: &mut Vec<&'p str>) -> (String, String) { - debugln!("PowerShellGen::generate_inner;"); - let command_name = if previous_command_name.is_empty() { - format!("{}_{}", previous_command_name, &p.meta.bin_name.as_ref().expect(INTERNAL_ERROR_MSG)) - } else { - format!("{}_{}", previous_command_name, &p.meta.name) - }; - - let mut subcommands_detection_cases = if !names.contains(&&*p.meta.name) { - names.push(&*p.meta.name); - format!(r" - '{0}' {{ - $command += '_{0}' - break - }} -", - &p.meta.name) - } else { - String::new() - }; - - let mut completions = String::new(); - for subcommand in &p.subcommands { - completions.push_str(&format!("'{}', ", &subcommand.p.meta.name)); - } - for short in shorts!(p) { - completions.push_str(&format!("'-{}', ", short)); - } - for long in longs!(p) { - completions.push_str(&format!("'--{}', ", long)); - } - - let mut subcommands_cases = format!(r" - '{}' {{ - $completions = @({}) - }} -", - &command_name, - completions.trim_right_matches(", ")); - - for subcommand in &p.subcommands { - let (subcommand_subcommands_detection_cases, subcommand_subcommands_cases) = - generate_inner(&subcommand.p, &command_name, names); - subcommands_detection_cases.push_str(&subcommand_subcommands_detection_cases); - subcommands_cases.push_str(&subcommand_subcommands_cases); - } - - (subcommands_detection_cases, subcommands_cases) -} diff --git a/vendor/registry-40351f815f426200/clap/src/completions/shell.rs b/vendor/registry-40351f815f426200/clap/src/completions/shell.rs deleted file mode 100644 index 60513ede1..000000000 --- a/vendor/registry-40351f815f426200/clap/src/completions/shell.rs +++ /dev/null @@ -1,48 +0,0 @@ -use std::ascii::AsciiExt; -use std::str::FromStr; -use std::fmt; - -/// Describes which shell to produce a completions file for -#[cfg_attr(feature = "lints", allow(enum_variant_names))] -#[derive(Debug, Copy, Clone)] -pub enum Shell { - /// Generates a .bash-completion completion file for the Bourne Again SHell (BASH) - Bash, - /// Generates a .fish completion file for the Friendly Interactive SHell (fish) - Fish, - /// Generates a completion file for the Z SHell (ZSH) - Zsh, - /// Generates a completion file for PowerShell - PowerShell, -} - -impl Shell { - /// A list of possible variants in `&'static str` form - pub fn variants() -> [&'static str; 4] { ["zsh", "bash", "fish", "powershell"] } -} - -impl FromStr for Shell { - type Err = String; - - fn from_str(s: &str) -> Result { - match s { - - "ZSH" | _ if s.eq_ignore_ascii_case("zsh") => Ok(Shell::Zsh), - "FISH" | _ if s.eq_ignore_ascii_case("fish") => Ok(Shell::Fish), - "BASH" | _ if s.eq_ignore_ascii_case("bash") => Ok(Shell::Bash), - "POWERSHELL" | _ if s.eq_ignore_ascii_case("powershell") => Ok(Shell::PowerShell), - _ => Err(String::from("[valid values: bash, fish, zsh, powershell]")), - } - } -} - -impl fmt::Display for Shell { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match *self { - Shell::Bash => write!(f, "BASH"), - Shell::Fish => write!(f, "FISH"), - Shell::Zsh => write!(f, "ZSH"), - Shell::PowerShell => write!(f, "POWERSHELL"), - } - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/completions/zsh.rs b/vendor/registry-40351f815f426200/clap/src/completions/zsh.rs deleted file mode 100644 index 298b5cadd..000000000 --- a/vendor/registry-40351f815f426200/clap/src/completions/zsh.rs +++ /dev/null @@ -1,395 +0,0 @@ - -// Std -use std::io::Write; -use std::ascii::AsciiExt; - -// Internal -use app::App; -use app::parser::Parser; -use args::{ArgSettings, AnyArg}; -use completions; -use INTERNAL_ERROR_MSG; - -pub struct ZshGen<'a, 'b> - where 'a: 'b -{ - p: &'b Parser<'a, 'b>, -} - -impl<'a, 'b> ZshGen<'a, 'b> { - pub fn new(p: &'b Parser<'a, 'b>) -> Self { - debugln!("ZshGen::new;"); - ZshGen { p: p } - } - - pub fn generate_to(&self, buf: &mut W) { - debugln!("ZshGen::generate_to;"); - w!(buf, - format!("\ -#compdef {name} - -_{name}() {{ - typeset -A opt_args - local ret=1 - - local context curcontext=\"$curcontext\" state line - {initial_args} - {subcommands} -}} - -{subcommand_details} - -_{name} \"$@\"", - name = self.p.meta.bin_name.as_ref().unwrap(), - initial_args = get_args_of(self.p), - subcommands = get_subcommands_of(self.p), - subcommand_details = subcommand_details(self.p)).as_bytes()); - - } -} - -// Displays the positional args and commands of a subcommand -// (( $+functions[_[bin_name_underscore]_commands] )) || -// _[bin_name_underscore]_commands() { -// local commands; commands=( -// '[arg_name]:[arg_help]' -// ) -// _describe -t commands '[bin_name] commands' commands "$@" -// -// Where the following variables are present: -// [bin_name_underscore]: The full space deliniated bin_name, where spaces have been replaced by -// underscore characters -// [arg_name]: The name of the positional arg or subcommand -// [arg_help]: The help message of the arg or subcommand -// [bin_name]: The full space deliniated bin_name -// -// Here's a snippet from rustup: -// -// (( $+functions[_rustup_commands] )) || -// _rustup_commands() { -// local commands; commands=( -// 'show:Show the active and installed toolchains' -// 'update:Update Rust toolchains' -// # ... snip for brevity -// 'help:Prints this message or the help of the given subcommand(s)' -// ) -// _describe -t commands 'rustup commands' commands "$@" -// -fn subcommand_details(p: &Parser) -> String { - debugln!("ZshGen::subcommand_details;"); - // First we do ourself - let mut ret = vec![format!("\ -(( $+functions[_{bin_name_underscore}_commands] )) || -_{bin_name_underscore}_commands() {{ - local commands; commands=( - {subcommands_and_args} - ) - _describe -t commands '{bin_name} commands' commands \"$@\" -}}", - bin_name_underscore = p.meta.bin_name.as_ref().unwrap().replace(" ", "__"), - bin_name = p.meta.bin_name.as_ref().unwrap(), - subcommands_and_args = subcommands_and_args_of(p))]; - - // Next we start looping through all the children, grandchildren, etc. - let mut all_subcommands = completions::all_subcommands(p); - all_subcommands.sort(); - all_subcommands.dedup(); - for &(_, ref bin_name) in &all_subcommands { - debugln!("ZshGen::subcommand_details:iter: bin_name={}", bin_name); - ret.push(format!("\ -(( $+functions[_{bin_name_underscore}_commands] )) || -_{bin_name_underscore}_commands() {{ - local commands; commands=( - {subcommands_and_args} - ) - _describe -t commands '{bin_name} commands' commands \"$@\" -}}", - bin_name_underscore = bin_name.replace(" ", "__"), - bin_name = bin_name, - subcommands_and_args = subcommands_and_args_of(parser_of(p, bin_name)))); - } - - ret.join("\n") -} - -// Generates subcommand and positional argument completions in form of -// -// '[arg_name]:[arg_help]' -// -// Where: -// [arg_name]: the argument or subcommand's name -// [arg_help]: the help message of the argument or subcommand -// -// A snippet from rustup: -// 'show:Show the active and installed toolchains' -// 'update:Update Rust toolchains' -fn subcommands_and_args_of(p: &Parser) -> String { - debugln!("ZshGen::subcommands_and_args_of;"); - let mut ret = vec![]; - fn add_sc(sc: &App, n: &str, ret: &mut Vec) { - debugln!("ZshGen::add_sc;"); - let s = format!("\"{name}:{help}\" \\", - name = n, - help = sc.p.meta.about.unwrap_or("").replace("[", "\\[").replace("]", "\\]")); - if !s.is_empty() { - ret.push(s); - } - } - - // First the subcommands - for sc in p.subcommands() { - debugln!("ZshGen::subcommands_and_args_of:iter: subcommand={}", sc.p.meta.name); - add_sc(sc, &sc.p.meta.name, &mut ret); - if let Some(ref v) = sc.p.meta.aliases { - for alias in v.iter().filter(|&&(_, vis)| vis).map(|&(n, _)| n) { - add_sc(sc, alias, &mut ret); - } - } - } - - // Then the positional args - for arg in p.positionals() { - debugln!("ZshGen::subcommands_and_args_of:iter: arg={}", arg.b.name); - let a = format!("\"{name}:{help}\" \\", - name = arg.b.name.to_ascii_uppercase(), - help = arg.b.help.unwrap_or("").replace("[", "\\[").replace("]", "\\]")); - - if !a.is_empty() { - ret.push(a); - } - } - - ret.join("\n") -} - -// Get's the subcommand section of a completion file -// This looks roughly like: -// -// case $state in -// ([bin_name]_args) -// curcontext=\"${curcontext%:*:*}:[name_hyphen]-command-$words[1]:\" -// case $line[1] in -// -// ([name]) -// _arguments -C -s -S \ -// [subcommand_args] -// && ret=0 -// -// [RECURSIVE_CALLS] -// -// ;;", -// -// [repeat] -// -// esac -// ;; -// esac", -// -// Where the following variables are present: -// [name] = The subcommand name in the form of "install" for "rustup toolchain install" -// [bin_name] = The full space deliniated bin_name such as "rustup toolchain install" -// [name_hyphen] = The full space deliniated bin_name, but replace spaces with hyphens -// [repeat] = From the same recursive calls, but for all subcommands -// [subcommand_args] = The same as zsh::get_args_of -fn get_subcommands_of(p: &Parser) -> String { - debugln!("get_subcommands_of;"); - - debugln!("get_subcommands_of: Has subcommands...{:?}", p.has_subcommands()); - if !p.has_subcommands() { - return String::new(); - } - - let sc_names = completions::subcommands_of(p); - - let mut subcmds = vec![]; - for &(ref name, ref bin_name) in &sc_names { - let mut v = vec![format!("({})", name)]; - let subcommand_args = get_args_of(parser_of(p, &*bin_name)); - if !subcommand_args.is_empty() { - v.push(subcommand_args); - } - let subcommands = get_subcommands_of(parser_of(p, &*bin_name)); - if !subcommands.is_empty() { - v.push(subcommands); - } - v.push(String::from(";;")); - subcmds.push(v.join("\n")); - } - - format!( -"case $state in - ({name}) - curcontext=\"${{curcontext%:*:*}}:{name_hyphen}-command-$words[1]:\" - case $line[1] in - {subcommands} - esac - ;; -esac", - name = p.meta.name, - name_hyphen = p.meta.bin_name.as_ref().unwrap().replace(" ", "-"), - subcommands = subcmds.join("\n")) -} - -fn parser_of<'a, 'b>(p: &'b Parser<'a, 'b>, sc: &str) -> &'b Parser<'a, 'b> { - debugln!("parser_of: sc={}", sc); - if sc == p.meta.bin_name.as_ref().unwrap_or(&String::new()) { - return p; - } - &p.find_subcommand(sc).expect(INTERNAL_ERROR_MSG).p -} - -// Writes out the args section, which ends up being the flags and opts, and a jump to -// another ZSH function if there are positional args or subcommands. -// The structer works like this: -// ([conflicting_args]) [multiple] arg [takes_value] [[help]] [: :(possible_values)] -// ^-- list '-v -h' ^--'*' ^--'+' ^-- list 'one two three' -// -// An example from the rustup command: -// -// _arguments -C -s -S \ -// '(-h --help --verbose)-v[Enable verbose output]' \ -// '(-V -v --version --verbose --help)-h[Prints help information]' \ -// # ... snip for brevity -// '1:: :_rustup_commands' \ # <-- displays positional args and subcommands -// '*:: :->rustup' \ # <-- displays subcommand args and child subcommands -// && ret=0 -// -// The args used for _arguments are as follows: -// -C: modify the $context internal variable -// -s: Allow stacking of short args (i.e. -a -b -c => -abc) -// -S: Do not complete anything after '--' and treat those as argument values -fn get_args_of(p: &Parser) -> String { - debugln!("get_args_of;"); - let mut ret = vec![String::from("_arguments -s -S -C \\")]; - let opts = write_opts_of(p); - let flags = write_flags_of(p); - let sc_or_a = if p.has_subcommands() || p.has_positionals() { - format!("\"1:: :_{name}_commands\" \\", - name = p.meta.bin_name.as_ref().unwrap().replace(" ", "__")) - } else { - String::new() - }; - let sc = if p.has_subcommands() { - format!("\"*:: :->{name}\" \\", name = p.meta.name) - } else { - String::new() - }; - - if !opts.is_empty() { - ret.push(opts); - } - if !flags.is_empty() { - ret.push(flags); - } - if !sc_or_a.is_empty() { - ret.push(sc_or_a); - } - if !sc.is_empty() { - ret.push(sc); - } - ret.push(String::from("&& ret=0")); - - ret.join("\n") -} - -// Escape string inside single quotes and brackets -fn escape_string(string: &str) -> String { - string.replace("\\", "\\\\") - .replace("'", "'\\''") - .replace("[", "\\[") - .replace("]", "\\]") -} - -fn write_opts_of(p: &Parser) -> String { - debugln!("write_opts_of;"); - let mut ret = vec![]; - for o in p.opts() { - debugln!("write_opts_of:iter: o={}", o.name()); - let help = o.help().map_or(String::new(), escape_string); - let mut conflicts = get_zsh_arg_conflicts!(p, o, INTERNAL_ERROR_MSG); - conflicts = if conflicts.is_empty() { - String::new() - } else { - format!("({})", conflicts) - }; - - let multiple = if o.is_set(ArgSettings::Multiple) { - "*" - } else { - "" - }; - let pv = if let Some(pv_vec) = o.possible_vals() { - format!(": :({})", pv_vec.join(" ")) - } else { - String::new() - }; - if let Some(short) = o.short() { - let s = format!("'{conflicts}{multiple}-{arg}+[{help}]{possible_values}' \\", - conflicts = conflicts, - multiple = multiple, - arg = short, - possible_values = pv, - help = help); - - debugln!("write_opts_of:iter: Wrote...{}", &*s); - ret.push(s); - } - if let Some(long) = o.long() { - let l = format!("'{conflicts}{multiple}--{arg}+[{help}]{possible_values}' \\", - conflicts = conflicts, - multiple = multiple, - arg = long, - possible_values = pv, - help = help); - - debugln!("write_opts_of:iter: Wrote...{}", &*l); - ret.push(l); - } - } - - ret.join("\n") -} - -fn write_flags_of(p: &Parser) -> String { - debugln!("write_flags_of;"); - let mut ret = vec![]; - for f in p.flags() { - debugln!("write_flags_of:iter: f={}", f.name()); - let help = f.help().map_or(String::new(), escape_string); - let mut conflicts = get_zsh_arg_conflicts!(p, f, INTERNAL_ERROR_MSG); - conflicts = if conflicts.is_empty() { - String::new() - } else { - format!("({})", conflicts) - }; - - let multiple = if f.is_set(ArgSettings::Multiple) { - "*" - } else { - "" - }; - if let Some(short) = f.short() { - let s = format!("'{conflicts}{multiple}-{arg}[{help}]' \\", - multiple = multiple, - conflicts = conflicts, - arg = short, - help = help); - - debugln!("write_flags_of:iter: Wrote...{}", &*s); - ret.push(s); - } - - if let Some(long) = f.long() { - let l = format!("'{conflicts}{multiple}--{arg}[{help}]' \\", - conflicts = conflicts, - multiple = multiple, - arg = long, - help = help); - - debugln!("write_flags_of:iter: Wrote...{}", &*l); - ret.push(l); - } - } - - ret.join("\n") -} diff --git a/vendor/registry-40351f815f426200/clap/src/errors.rs b/vendor/registry-40351f815f426200/clap/src/errors.rs deleted file mode 100644 index bd1e7d55f..000000000 --- a/vendor/registry-40351f815f426200/clap/src/errors.rs +++ /dev/null @@ -1,884 +0,0 @@ -// Std -use std::convert::From; -use std::error::Error as StdError; -use std::fmt as std_fmt; -use std::fmt::Display; -use std::io::{self, Write}; -use std::process; -use std::result::Result as StdResult; - -// Internal -use args::{FlagBuilder, AnyArg}; -use fmt::{Colorizer, ColorizerOption, ColorWhen}; -use suggestions; - -/// Short hand for [`Result`] type -/// [`Result`]: https://doc.rust-lang.org/std/result/enum.Result.html -pub type Result = StdResult; - -/// Command line argument parser kind of error -#[derive(Debug, Copy, Clone, PartialEq)] -pub enum ErrorKind { - /// Occurs when an [`Arg`] has a set of possible values, - /// and the user provides a value which isn't in that set. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let result = App::new("prog") - /// .arg(Arg::with_name("speed") - /// .possible_value("fast") - /// .possible_value("slow")) - /// .get_matches_from_safe(vec!["prog", "other"]); - /// assert!(result.is_err()); - /// assert_eq!(result.unwrap_err().kind, ErrorKind::InvalidValue); - /// ``` - /// [`Arg`]: ./struct.Arg.html - InvalidValue, - - /// Occurs when a user provides a flag, option, argument or subcommand which isn't defined. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let result = App::new("prog") - /// .arg(Arg::from_usage("--flag 'some flag'")) - /// .get_matches_from_safe(vec!["prog", "--other"]); - /// assert!(result.is_err()); - /// assert_eq!(result.unwrap_err().kind, ErrorKind::UnknownArgument); - /// ``` - UnknownArgument, - - /// Occurs when the user provides an unrecognized [`SubCommand`] which meets the threshold for - /// being similar enough to an existing subcommand. - /// If it doesn't meet the threshold, or the 'suggestions' feature is disabled, - /// the more general [`UnknownArgument`] error is returned. - /// - /// # Examples - /// - #[cfg_attr(not(feature="suggestions"), doc=" ```no_run")] - #[cfg_attr( feature="suggestions" , doc=" ```")] - /// # use clap::{App, Arg, ErrorKind, SubCommand}; - /// let result = App::new("prog") - /// .subcommand(SubCommand::with_name("config") - /// .about("Used for configuration") - /// .arg(Arg::with_name("config_file") - /// .help("The configuration file to use") - /// .index(1))) - /// .get_matches_from_safe(vec!["prog", "confi"]); - /// assert!(result.is_err()); - /// assert_eq!(result.unwrap_err().kind, ErrorKind::InvalidSubcommand); - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - /// [`UnknownArgument`]: ./enum.ErrorKind.html#variant.UnknownArgument - InvalidSubcommand, - - /// Occurs when the user provides an unrecognized [`SubCommand`] which either - /// doesn't meet the threshold for being similar enough to an existing subcommand, - /// or the 'sggestions' feature is disabled. - /// Otherwise the more detailed [`InvalidSubcommand`] error is returned. - /// - /// This error typically happens when passing additional subcommand names to the `help` - /// subcommand. Otherwise, the more general [`UnknownArgument`] error is used. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind, SubCommand}; - /// let result = App::new("prog") - /// .subcommand(SubCommand::with_name("config") - /// .about("Used for configuration") - /// .arg(Arg::with_name("config_file") - /// .help("The configuration file to use") - /// .index(1))) - /// .get_matches_from_safe(vec!["prog", "help", "nothing"]); - /// assert!(result.is_err()); - /// assert_eq!(result.unwrap_err().kind, ErrorKind::UnrecognizedSubcommand); - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - /// [`InvalidSubcommand`]: ./enum.ErrorKind.html#variant.InvalidSubcommand - /// [`UnknownArgument`]: ./enum.ErrorKind.html#variant.UnknownArgument - UnrecognizedSubcommand, - - /// Occurs when the user provides an empty value for an option that does not allow empty - /// values. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let res = App::new("prog") - /// .arg(Arg::with_name("color") - /// .long("color") - /// .empty_values(false)) - /// .get_matches_from_safe(vec!["prog", "--color="]); - /// assert!(res.is_err()); - /// assert_eq!(res.unwrap_err().kind, ErrorKind::EmptyValue); - /// ``` - EmptyValue, - - /// Occurs when the user provides a value for an argument with a custom validation and the - /// value fails that validation. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// fn is_numeric(val: String) -> Result<(), String> { - /// match val.parse::() { - /// Ok(..) => Ok(()), - /// Err(..) => Err(String::from("Value wasn't a number!")), - /// } - /// } - /// - /// let result = App::new("prog") - /// .arg(Arg::with_name("num") - /// .validator(is_numeric)) - /// .get_matches_from_safe(vec!["prog", "NotANumber"]); - /// assert!(result.is_err()); - /// assert_eq!(result.unwrap_err().kind, ErrorKind::ValueValidation); - /// ``` - ValueValidation, - - /// Occurs when a user provides more values for an argument than were defined by setting - /// [`Arg::max_values`]. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let result = App::new("prog") - /// .arg(Arg::with_name("arg") - /// .multiple(true) - /// .max_values(2)) - /// .get_matches_from_safe(vec!["prog", "too", "many", "values"]); - /// assert!(result.is_err()); - /// assert_eq!(result.unwrap_err().kind, ErrorKind::TooManyValues); - /// ``` - /// [`Arg::max_values`]: ./struct.Arg.html#method.max_values - TooManyValues, - - /// Occurs when the user provides fewer values for an argument than were defined by setting - /// [`Arg::min_values`]. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let result = App::new("prog") - /// .arg(Arg::with_name("some_opt") - /// .long("opt") - /// .min_values(3)) - /// .get_matches_from_safe(vec!["prog", "--opt", "too", "few"]); - /// assert!(result.is_err()); - /// assert_eq!(result.unwrap_err().kind, ErrorKind::TooFewValues); - /// ``` - /// [`Arg::min_values`]: ./struct.Arg.html#method.min_values - TooFewValues, - - /// Occurs when the user provides a different number of values for an argument than what's - /// been defined by setting [`Arg::number_of_values`] or than was implicitly set by - /// [`Arg::value_names`]. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let result = App::new("prog") - /// .arg(Arg::with_name("some_opt") - /// .long("opt") - /// .takes_value(true) - /// .number_of_values(2)) - /// .get_matches_from_safe(vec!["prog", "--opt", "wrong"]); - /// assert!(result.is_err()); - /// assert_eq!(result.unwrap_err().kind, ErrorKind::WrongNumberOfValues); - /// ``` - /// [`Arg::number_of_values`] - /// [`Arg::number_of_values`]: ./struct.Arg.html#method.number_of_values - /// [`Arg::value_names`]: ./struct.Arg.html#method.value_names - WrongNumberOfValues, - - /// Occurs when the user provides two values which conflict with each other and can't be used - /// together. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let result = App::new("prog") - /// .arg(Arg::with_name("debug") - /// .long("debug") - /// .conflicts_with("color")) - /// .arg(Arg::with_name("color") - /// .long("color")) - /// .get_matches_from_safe(vec!["prog", "--debug", "--color"]); - /// assert!(result.is_err()); - /// assert_eq!(result.unwrap_err().kind, ErrorKind::ArgumentConflict); - /// ``` - ArgumentConflict, - - /// Occurs when the user does not provide one or more required arguments. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let result = App::new("prog") - /// .arg(Arg::with_name("debug") - /// .required(true)) - /// .get_matches_from_safe(vec!["prog"]); - /// assert!(result.is_err()); - /// assert_eq!(result.unwrap_err().kind, ErrorKind::MissingRequiredArgument); - /// ``` - MissingRequiredArgument, - - /// Occurs when a subcommand is required (as defined by [`AppSettings::SubcommandRequired`]), - /// but the user does not provide one. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, AppSettings, SubCommand, ErrorKind}; - /// let err = App::new("prog") - /// .setting(AppSettings::SubcommandRequired) - /// .subcommand(SubCommand::with_name("test")) - /// .get_matches_from_safe(vec![ - /// "myprog", - /// ]); - /// assert!(err.is_err()); - /// assert_eq!(err.unwrap_err().kind, ErrorKind::MissingSubcommand); - /// # ; - /// ``` - /// [`AppSettings::SubcommandRequired`]: ./enum.AppSettings.html#variant.SubcommandRequired - MissingSubcommand, - - /// Occurs when either an argument or [`SubCommand`] is required, as defined by - /// [`AppSettings::ArgRequiredElseHelp`], but the user did not provide one. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, AppSettings, ErrorKind, SubCommand}; - /// let result = App::new("prog") - /// .setting(AppSettings::ArgRequiredElseHelp) - /// .subcommand(SubCommand::with_name("config") - /// .about("Used for configuration") - /// .arg(Arg::with_name("config_file") - /// .help("The configuration file to use"))) - /// .get_matches_from_safe(vec!["prog"]); - /// assert!(result.is_err()); - /// assert_eq!(result.unwrap_err().kind, ErrorKind::MissingArgumentOrSubcommand); - /// ``` - /// [`SubCommand`]: ./struct.SubCommand.html - /// [`AppSettings::ArgRequiredElseHelp`]: ./enum.AppSettings.html#variant.ArgRequiredElseHelp - MissingArgumentOrSubcommand, - - /// Occurs when the user provides multiple values to an argument which doesn't allow that. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let result = App::new("prog") - /// .arg(Arg::with_name("debug") - /// .long("debug") - /// .multiple(false)) - /// .get_matches_from_safe(vec!["prog", "--debug", "--debug"]); - /// assert!(result.is_err()); - /// assert_eq!(result.unwrap_err().kind, ErrorKind::UnexpectedMultipleUsage); - /// ``` - UnexpectedMultipleUsage, - - /// Occurs when the user provides a value containing invalid UTF-8 for an argument and - /// [`AppSettings::StrictUtf8`] is set. - /// - /// # Platform Speicific - /// - /// Non-Windows platforms only (such as Linux, Unix, OSX, etc.) - /// - /// # Examples - /// - #[cfg_attr(not(unix), doc=" ```ignore")] - #[cfg_attr( unix , doc=" ```")] - /// # use clap::{App, Arg, ErrorKind, AppSettings}; - /// # use std::os::unix::ffi::OsStringExt; - /// # use std::ffi::OsString; - /// let result = App::new("prog") - /// .setting(AppSettings::StrictUtf8) - /// .arg(Arg::with_name("utf8") - /// .short("u") - /// .takes_value(true)) - /// .get_matches_from_safe(vec![OsString::from("myprog"), - /// OsString::from("-u"), - /// OsString::from_vec(vec![0xE9])]); - /// assert!(result.is_err()); - /// assert_eq!(result.unwrap_err().kind, ErrorKind::InvalidUtf8); - /// ``` - /// [`AppSettings::StrictUtf8`]: ./enum.AppSettings.html#variant.StrictUtf8 - InvalidUtf8, - - /// Not a true "error" as it means `--help` or similar was used. - /// The help message will be sent to `stdout`. - /// - /// **Note**: If the help is displayed due to an error (such as missing subcommands) it will - /// be sent to `stderr` instead of `stdout`. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let result = App::new("prog") - /// .get_matches_from_safe(vec!["prog", "--help"]); - /// assert!(result.is_err()); - /// assert_eq!(result.unwrap_err().kind, ErrorKind::HelpDisplayed); - /// ``` - HelpDisplayed, - - /// Not a true "error" as it means `--version` or similar was used. - /// The message will be sent to `stdout`. - /// - /// # Examples - /// - /// ```rust - /// # use clap::{App, Arg, ErrorKind}; - /// let result = App::new("prog") - /// .get_matches_from_safe(vec!["prog", "--version"]); - /// assert!(result.is_err()); - /// assert_eq!(result.unwrap_err().kind, ErrorKind::VersionDisplayed); - /// ``` - VersionDisplayed, - - /// Occurs when using the [`value_t!`] and [`values_t!`] macros to convert an argument value - /// into type `T`, but the argument you requested wasn't used. I.e. you asked for an argument - /// with name `config` to be converted, but `config` wasn't used by the user. - /// [`value_t!`]: ./macro.value_t!.html - /// [`values_t!`]: ./macro.values_t!.html - ArgumentNotFound, - - /// Represents an [I/O error]. - /// Can occur when writing to `stderr` or `stdout` or reading a configuration file. - /// [I/O error]: https://doc.rust-lang.org/std/io/struct.Error.html - Io, - - /// Represents a [Format error] (which is a part of [`Display`]). - /// Typically caused by writing to `stderr` or `stdout`. - /// [`Display`]: https://doc.rust-lang.org/std/fmt/trait.Display.html - /// [Format error]: https://doc.rust-lang.org/std/fmt/struct.Error.html - Format, -} - -/// Command Line Argument Parser Error -#[derive(Debug)] -pub struct Error { - /// Formated error message - pub message: String, - /// The type of error - pub kind: ErrorKind, - /// Any additional information passed along, such as the argument name that caused the error - pub info: Option>, -} - -impl Error { - /// Should the message be written to `stdout` or not - pub fn use_stderr(&self) -> bool { - match self.kind { - ErrorKind::HelpDisplayed | - ErrorKind::VersionDisplayed => false, - _ => true, - } - } - - /// Prints the error to `stderr` and exits with a status of `1` - pub fn exit(&self) -> ! { - if self.use_stderr() { - wlnerr!("{}", self.message); - process::exit(1); - } - let out = io::stdout(); - writeln!(&mut out.lock(), "{}", self.message).expect("Error writing Error to stdout"); - process::exit(0); - } - - #[doc(hidden)] - pub fn write_to(&self, w: &mut W) -> io::Result<()> { write!(w, "{}", self.message) } - - #[doc(hidden)] - pub fn argument_conflict<'a, 'b, A, O, U>(arg: &A, - other: Option, - usage: U, - color: ColorWhen) - -> Self - where A: AnyArg<'a, 'b> + Display, - O: Into, - U: Display - { - let mut v = vec![arg.name().to_owned()]; - let c = Colorizer::new(ColorizerOption { - use_stderr: true, - when: color, - }); - Error { - message: format!("{} The argument '{}' cannot be used with {}\n\n\ - {}\n\n\ - For more information try {}", - c.error("error:"), - c.warning(&*arg.to_string()), - match other { - Some(name) => { - let n = name.into(); - v.push(n.clone()); - c.warning(format!("'{}'", n)) - } - None => { - c.none("one or more of the other specified arguments" - .to_owned()) - } - }, - usage, - c.good("--help")), - kind: ErrorKind::ArgumentConflict, - info: Some(v), - } - } - - #[doc(hidden)] - pub fn empty_value<'a, 'b, A, U>(arg: &A, usage: U, color: ColorWhen) -> Self - where A: AnyArg<'a, 'b> + Display, - U: Display - { - let c = Colorizer::new(ColorizerOption { - use_stderr: true, - when: color, - }); - Error { - message: format!("{} The argument '{}' requires a value but none was supplied\ - \n\n\ - {}\n\n\ - For more information try {}", - c.error("error:"), - c.warning(arg.to_string()), - usage, - c.good("--help")), - kind: ErrorKind::EmptyValue, - info: Some(vec![arg.name().to_owned()]), - } - } - - #[doc(hidden)] - pub fn invalid_value<'a, 'b, B, G, A, U>(bad_val: B, - good_vals: &[G], - arg: &A, - usage: U, - color: ColorWhen) - -> Self - where B: AsRef, - G: AsRef + Display, - A: AnyArg<'a, 'b> + Display, - U: Display - { - let c = Colorizer::new(ColorizerOption { - use_stderr: true, - when: color, - }); - let suffix = - suggestions::did_you_mean_value_suffix( - bad_val.as_ref(), - good_vals.iter()); - - let mut sorted = vec![]; - for v in good_vals { - let val = format!("{}", c.good(v)); - sorted.push(val); - } - sorted.sort(); - let valid_values = sorted.join(", "); - Error { - message: format!("{} '{}' isn't a valid value for '{}'\n\t\ - [values: {}]\n\ - {}\n\n\ - {}\n\n\ - For more information try {}", - c.error("error:"), - c.warning(bad_val.as_ref()), - c.warning(arg.to_string()), - valid_values, - suffix.0, - usage, - c.good("--help")), - kind: ErrorKind::InvalidValue, - info: Some(vec![arg.name().to_owned(), bad_val.as_ref().to_owned()]), - } - } - - #[doc(hidden)] - pub fn invalid_subcommand(subcmd: S, - did_you_mean: D, - name: N, - usage: U, - color: ColorWhen) - -> Self - where S: Into, - D: AsRef + Display, - N: Display, - U: Display - { - let s = subcmd.into(); - let c = Colorizer::new(ColorizerOption { - use_stderr: true, - when: color, - }); - Error { - message: format!("{} The subcommand '{}' wasn't recognized\n\t\ - Did you mean '{}'?\n\n\ - If you believe you received this message in error, try \ - re-running with '{} {} {}'\n\n\ - {}\n\n\ - For more information try {}", - c.error("error:"), - c.warning(&*s), - c.good(did_you_mean.as_ref()), - name, - c.good("--"), - &*s, - usage, - c.good("--help")), - kind: ErrorKind::InvalidSubcommand, - info: Some(vec![s]), - } - } - - #[doc(hidden)] - pub fn unrecognized_subcommand(subcmd: S, name: N, color: ColorWhen) -> Self - where S: Into, - N: Display - { - let s = subcmd.into(); - let c = Colorizer::new(ColorizerOption { - use_stderr: true, - when: color, - }); - Error { - message: format!("{} The subcommand '{}' wasn't recognized\n\n\ - {}\n\t\ - {} help ...\n\n\ - For more information try {}", - c.error("error:"), - c.warning(&*s), - c.warning("USAGE:"), - name, - c.good("--help")), - kind: ErrorKind::UnrecognizedSubcommand, - info: Some(vec![s]), - } - } - - #[doc(hidden)] - pub fn missing_required_argument(required: R, usage: U, color: ColorWhen) -> Self - where R: Display, - U: Display - { - let c = Colorizer::new(ColorizerOption { - use_stderr: true, - when: color, - }); - Error { - message: format!("{} The following required arguments were not provided:{}\n\n\ - {}\n\n\ - For more information try {}", - c.error("error:"), - required, - usage, - c.good("--help")), - kind: ErrorKind::MissingRequiredArgument, - info: None, - } - } - - #[doc(hidden)] - pub fn missing_subcommand(name: N, usage: U, color: ColorWhen) -> Self - where N: AsRef + Display, - U: Display - { - let c = Colorizer::new(ColorizerOption { - use_stderr: true, - when: color, - }); - Error { - message: format!("{} '{}' requires a subcommand, but one was not provided\n\n\ - {}\n\n\ - For more information try {}", - c.error("error:"), - c.warning(name), - usage, - c.good("--help")), - kind: ErrorKind::MissingSubcommand, - info: None, - } - } - - - #[doc(hidden)] - pub fn invalid_utf8(usage: U, color: ColorWhen) -> Self - where U: Display - { - let c = Colorizer::new(ColorizerOption { - use_stderr: true, - when: color, - }); - Error { - message: format!("{} Invalid UTF-8 was detected in one or more arguments\n\n\ - {}\n\n\ - For more information try {}", - c.error("error:"), - usage, - c.good("--help")), - kind: ErrorKind::InvalidUtf8, - info: None, - } - } - - #[doc(hidden)] - pub fn too_many_values<'a, 'b, V, A, U>(val: V, - arg: &A, - usage: U, - color: ColorWhen) - -> Self - where V: AsRef + Display + ToOwned, - A: AnyArg<'a, 'b> + Display, - U: Display - { - let v = val.as_ref(); - let c = Colorizer::new(ColorizerOption { - use_stderr: true, - when: color, - }); - Error { - message: format!("{} The value '{}' was provided to '{}', but it wasn't expecting \ - any more values\n\n\ - {}\n\n\ - For more information try {}", - c.error("error:"), - c.warning(v), - c.warning(arg.to_string()), - usage, - c.good("--help")), - kind: ErrorKind::TooManyValues, - info: Some(vec![arg.name().to_owned(), v.to_owned()]), - } - } - - #[doc(hidden)] - pub fn too_few_values<'a, 'b, A, U>(arg: &A, - min_vals: u64, - curr_vals: usize, - usage: U, - color: ColorWhen) - -> Self - where A: AnyArg<'a, 'b> + Display, - U: Display - { - let c = Colorizer::new(ColorizerOption { - use_stderr: true, - when: color, - }); - Error { - message: format!("{} The argument '{}' requires at least {} values, but only {} w{} \ - provided\n\n\ - {}\n\n\ - For more information try {}", - c.error("error:"), - c.warning(arg.to_string()), - c.warning(min_vals.to_string()), - c.warning(curr_vals.to_string()), - if curr_vals > 1 { "ere" } else { "as" }, - usage, - c.good("--help")), - kind: ErrorKind::TooFewValues, - info: Some(vec![arg.name().to_owned()]), - } - } - - #[doc(hidden)] - pub fn value_validation<'a, 'b, A>(arg: Option<&A>, err: String, color: ColorWhen) -> Self - where A: AnyArg<'a, 'b> + Display - { - let c = Colorizer::new(ColorizerOption { - use_stderr: true, - when: color, - }); - Error { - message: format!("{} Invalid value{}: {}", - c.error("error:"), - if let Some(a) = arg { - format!(" for '{}'", c.warning(a.to_string())) - } else { - "".to_string() - }, - err), - kind: ErrorKind::ValueValidation, - info: None, - } - } - - #[doc(hidden)] - pub fn value_validation_auto(err: String) -> Self { - let n: Option<&FlagBuilder> = None; - Error::value_validation(n, err, ColorWhen::Auto) - } - - #[doc(hidden)] - pub fn wrong_number_of_values<'a, 'b, A, S, U>(arg: &A, - num_vals: u64, - curr_vals: usize, - suffix: S, - usage: U, - color: ColorWhen) - -> Self - where A: AnyArg<'a, 'b> + Display, - S: Display, - U: Display - { - let c = Colorizer::new(ColorizerOption { - use_stderr: true, - when: color, - }); - Error { - message: format!("{} The argument '{}' requires {} values, but {} w{} \ - provided\n\n\ - {}\n\n\ - For more information try {}", - c.error("error:"), - c.warning(arg.to_string()), - c.warning(num_vals.to_string()), - c.warning(curr_vals.to_string()), - suffix, - usage, - c.good("--help")), - kind: ErrorKind::WrongNumberOfValues, - info: Some(vec![arg.name().to_owned()]), - } - } - - #[doc(hidden)] - pub fn unexpected_multiple_usage<'a, 'b, A, U>(arg: &A, usage: U, color: ColorWhen) -> Self - where A: AnyArg<'a, 'b> + Display, - U: Display - { - let c = Colorizer::new(ColorizerOption { - use_stderr: true, - when: color, - }); - Error { - message: format!("{} The argument '{}' was provided more than once, but cannot \ - be used multiple times\n\n\ - {}\n\n\ - For more information try {}", - c.error("error:"), - c.warning(arg.to_string()), - usage, - c.good("--help")), - kind: ErrorKind::UnexpectedMultipleUsage, - info: Some(vec![arg.name().to_owned()]), - } - } - - #[doc(hidden)] - pub fn unknown_argument(arg: A, - did_you_mean: &str, - usage: U, - color: ColorWhen) - -> Self - where A: Into, - U: Display - { - let a = arg.into(); - let c = Colorizer::new(ColorizerOption { - use_stderr: true, - when: color, - }); - Error { - message: format!("{} Found argument '{}' which wasn't expected, or isn't valid in \ - this context{}\n\ - {}\n\n\ - For more information try {}", - c.error("error:"), - c.warning(&*a), - if did_you_mean.is_empty() { - "\n".to_owned() - } else { - format!("{}\n", did_you_mean) - }, - usage, - c.good("--help")), - kind: ErrorKind::UnknownArgument, - info: Some(vec![a]), - } - } - - #[doc(hidden)] - pub fn io_error(e: &Error, color: ColorWhen) -> Self { - let c = Colorizer::new(ColorizerOption { - use_stderr: true, - when: color, - }); - Error { - message: format!("{} {}", c.error("error:"), e.description()), - kind: ErrorKind::Io, - info: None, - } - } - - #[doc(hidden)] - pub fn argument_not_found_auto(arg: A) -> Self - where A: Into - { - let a = arg.into(); - let c = Colorizer::new(ColorizerOption { - use_stderr: true, - when: ColorWhen::Auto, - }); - Error { - message: format!("{} The argument '{}' wasn't found", - c.error("error:"), - a.clone()), - kind: ErrorKind::ArgumentNotFound, - info: Some(vec![a]), - } - } - - /// Create an error with a custom description. - /// - /// This can be used in combination with `Error::exit` to exit your program - /// with a custom error message. - pub fn with_description(description: &str, kind: ErrorKind) -> Self { - let c = Colorizer::new(ColorizerOption { - use_stderr: true, - when: ColorWhen::Auto, - }); - Error { - message: format!("{} {}", c.error("error:"), description), - kind: kind, - info: None, - } - } -} - -impl StdError for Error { - fn description(&self) -> &str { &*self.message } -} - -impl Display for Error { - fn fmt(&self, f: &mut std_fmt::Formatter) -> std_fmt::Result { writeln!(f, "{}", self.message) } -} - -impl From for Error { - fn from(e: io::Error) -> Self { Error::with_description(e.description(), ErrorKind::Io) } -} - -impl From for Error { - fn from(e: std_fmt::Error) -> Self { - Error::with_description(e.description(), ErrorKind::Format) - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/fmt.rs b/vendor/registry-40351f815f426200/clap/src/fmt.rs deleted file mode 100644 index 9fccd3f53..000000000 --- a/vendor/registry-40351f815f426200/clap/src/fmt.rs +++ /dev/null @@ -1,181 +0,0 @@ -#[cfg(all(feature = "color", not(target_os = "windows")))] -use ansi_term::ANSIString; - -#[cfg(all(feature = "color", not(target_os = "windows")))] -use ansi_term::Colour::{Green, Red, Yellow}; - -#[cfg(feature = "color")] -use atty; -use std::fmt; -use std::env; - -#[doc(hidden)] -#[derive(Debug, Copy, Clone, PartialEq)] -pub enum ColorWhen { - Auto, - Always, - Never, -} - -#[cfg(feature = "color")] -pub fn is_a_tty(stderr: bool) -> bool { - debugln!("is_a_tty: stderr={:?}", stderr); - let stream = if stderr { - atty::Stream::Stderr - } else { - atty::Stream::Stdout - }; - atty::is(stream) -} - -#[cfg(not(feature = "color"))] -pub fn is_a_tty(_: bool) -> bool { - debugln!("is_a_tty;"); - false -} - -pub fn is_term_dumb() -> bool { env::var("TERM").ok() == Some(String::from("dumb")) } - -#[doc(hidden)] -pub struct ColorizerOption { - pub use_stderr: bool, - pub when: ColorWhen, -} - -#[doc(hidden)] -pub struct Colorizer { - when: ColorWhen, -} - -macro_rules! color { - ($_self:ident, $c:ident, $m:expr) => { - match $_self.when { - ColorWhen::Auto => Format::$c($m), - ColorWhen::Always => Format::$c($m), - ColorWhen::Never => Format::None($m), - } - }; -} - -impl Colorizer { - pub fn new(option: ColorizerOption) -> Colorizer { - let is_a_tty = is_a_tty(option.use_stderr); - let is_term_dumb = is_term_dumb(); - Colorizer { - when: if is_a_tty && !is_term_dumb { - option.when - } else { - ColorWhen::Never - }, - } - } - - pub fn good(&self, msg: T) -> Format - where T: fmt::Display + AsRef - { - debugln!("Colorizer::good;"); - color!(self, Good, msg) - } - - pub fn warning(&self, msg: T) -> Format - where T: fmt::Display + AsRef - { - debugln!("Colorizer::warning;"); - color!(self, Warning, msg) - } - - pub fn error(&self, msg: T) -> Format - where T: fmt::Display + AsRef - { - debugln!("Colorizer::error;"); - color!(self, Error, msg) - } - - pub fn none(&self, msg: T) -> Format - where T: fmt::Display + AsRef - { - debugln!("Colorizer::none;"); - Format::None(msg) - } -} - -impl Default for Colorizer { - fn default() -> Self { - Colorizer::new(ColorizerOption { - use_stderr: true, - when: ColorWhen::Auto, - }) - } -} - -/// Defines styles for different types of error messages. Defaults to Error=Red, Warning=Yellow, -/// and Good=Green -#[derive(Debug)] -#[doc(hidden)] -pub enum Format { - /// Defines the style used for errors, defaults to Red - Error(T), - /// Defines the style used for warnings, defaults to Yellow - Warning(T), - /// Defines the style used for good values, defaults to Green - Good(T), - /// Defines no formatting style - None(T), -} - -#[cfg(all(feature = "color", not(target_os = "windows")))] -impl> Format { - fn format(&self) -> ANSIString { - match *self { - Format::Error(ref e) => Red.bold().paint(e.as_ref()), - Format::Warning(ref e) => Yellow.paint(e.as_ref()), - Format::Good(ref e) => Green.paint(e.as_ref()), - Format::None(ref e) => ANSIString::from(e.as_ref()), - } - } -} - -#[cfg(any(not(feature = "color"), target_os = "windows"))] -#[cfg_attr(feature="lints", allow(match_same_arms))] -impl Format { - fn format(&self) -> &T { - match *self { - Format::Error(ref e) => e, - Format::Warning(ref e) => e, - Format::Good(ref e) => e, - Format::None(ref e) => e, - } - } -} - - -#[cfg(all(feature = "color", not(target_os = "windows")))] -impl> fmt::Display for Format { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, "{}", &self.format()) } -} - -#[cfg(any(not(feature = "color"), target_os = "windows"))] -impl fmt::Display for Format { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, "{}", &self.format()) } -} - -#[cfg(all(test, feature = "color", not(target_os = "windows")))] -mod test { - use ansi_term::ANSIString; - use ansi_term::Colour::{Green, Red, Yellow}; - use super::Format; - - #[test] - fn colored_output() { - let err = Format::Error("error"); - assert_eq!(&*format!("{}", err), - &*format!("{}", Red.bold().paint("error"))); - let good = Format::Good("good"); - assert_eq!(&*format!("{}", good), &*format!("{}", Green.paint("good"))); - let warn = Format::Warning("warn"); - assert_eq!(&*format!("{}", warn), &*format!("{}", Yellow.paint("warn"))); - let none = Format::None("none"); - assert_eq!(&*format!("{}", none), - &*format!("{}", ANSIString::from("none"))); - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/lib.rs b/vendor/registry-40351f815f426200/clap/src/lib.rs deleted file mode 100644 index b9446e33a..000000000 --- a/vendor/registry-40351f815f426200/clap/src/lib.rs +++ /dev/null @@ -1,576 +0,0 @@ -// Copyright ⓒ 2015-2016 Kevin B. Knapp and [`clap-rs` contributors](https://github.com/kbknapp/clap-rs/blob/master/CONTRIBUTORS.md). -// Licensed under the MIT license -// (see LICENSE or ) All files in the project carrying such -// notice may not be copied, modified, or distributed except according to those terms. - -//! `clap` is a simple-to-use, efficient, and full-featured library for parsing command line -//! arguments and subcommands when writing console/terminal applications. -//! -//! ## About -//! -//! `clap` is used to parse *and validate* the string of command line arguments provided by the user -//! at runtime. You provide the list of valid possibilities, and `clap` handles the rest. This means -//! you focus on your *applications* functionality, and less on the parsing and validating of -//! arguments. -//! -//! `clap` also provides the traditional version and help switches (or flags) 'for free' meaning -//! automatically with no configuration. It does this by checking list of valid possibilities you -//! supplied and adding only the ones you haven't already defined. If you are using subcommands, -//! `clap` will also auto-generate a `help` subcommand for you in addition to the traditional flags. -//! -//! Once `clap` parses the user provided string of arguments, it returns the matches along with any -//! applicable values. If the user made an error or typo, `clap` informs them of the mistake and -//! exits gracefully (or returns a `Result` type and allows you to perform any clean up prior to -//! exit). Because of this, you can make reasonable assumptions in your code about the validity of -//! the arguments. -//! -//! -//! ## Quick Example -//! -//! The following examples show a quick example of some of the very basic functionality of `clap`. -//! For more advanced usage, such as requirements, conflicts, groups, multiple values and -//! occurrences see the [documentation](https://docs.rs/clap/), [examples/](examples) directory of -//! this repository or the [video tutorials](https://www.youtube.com/playlist?list=PLza5oFLQGTl2Z5T8g1pRkIynR3E0_pc7U). -//! -//! **NOTE:** All of these examples are functionally the same, but show different styles in which to -//! use `clap` -//! -//! The first example shows a method that allows more advanced configuration options (not shown in -//! this small example), or even dynamically generating arguments when desired. The downside is it's -//! more verbose. -//! -//! ```no_run -//! // (Full example with detailed comments in examples/01b_quick_example.rs) -//! // -//! // This example demonstrates clap's full 'builder pattern' style of creating arguments which is -//! // more verbose, but allows easier editing, and at times more advanced options, or the possibility -//! // to generate arguments dynamically. -//! extern crate clap; -//! use clap::{Arg, App, SubCommand}; -//! -//! fn main() { -//! let matches = App::new("My Super Program") -//! .version("1.0") -//! .author("Kevin K. ") -//! .about("Does awesome things") -//! .arg(Arg::with_name("config") -//! .short("c") -//! .long("config") -//! .value_name("FILE") -//! .help("Sets a custom config file") -//! .takes_value(true)) -//! .arg(Arg::with_name("INPUT") -//! .help("Sets the input file to use") -//! .required(true) -//! .index(1)) -//! .arg(Arg::with_name("v") -//! .short("v") -//! .multiple(true) -//! .help("Sets the level of verbosity")) -//! .subcommand(SubCommand::with_name("test") -//! .about("controls testing features") -//! .version("1.3") -//! .author("Someone E. ") -//! .arg(Arg::with_name("debug") -//! .short("d") -//! .help("print debug information verbosely"))) -//! .get_matches(); -//! -//! // Gets a value for config if supplied by user, or defaults to "default.conf" -//! let config = matches.value_of("config").unwrap_or("default.conf"); -//! println!("Value for config: {}", config); -//! -//! // Calling .unwrap() is safe here because "INPUT" is required (if "INPUT" wasn't -//! // required we could have used an 'if let' to conditionally get the value) -//! println!("Using input file: {}", matches.value_of("INPUT").unwrap()); -//! -//! // Vary the output based on how many times the user used the "verbose" flag -//! // (i.e. 'myprog -v -v -v' or 'myprog -vvv' vs 'myprog -v' -//! match matches.occurrences_of("v") { -//! 0 => println!("No verbose info"), -//! 1 => println!("Some verbose info"), -//! 2 => println!("Tons of verbose info"), -//! 3 | _ => println!("Don't be crazy"), -//! } -//! -//! // You can handle information about subcommands by requesting their matches by name -//! // (as below), requesting just the name used, or both at the same time -//! if let Some(matches) = matches.subcommand_matches("test") { -//! if matches.is_present("debug") { -//! println!("Printing debug info..."); -//! } else { -//! println!("Printing normally..."); -//! } -//! } -//! -//! // more program logic goes here... -//! } -//! ``` -//! -//! The next example shows a far less verbose method, but sacrifices some of the advanced -//! configuration options (not shown in this small example). This method also takes a *very* minor -//! runtime penalty. -//! -//! ```no_run -//! // (Full example with detailed comments in examples/01a_quick_example.rs) -//! // -//! // This example demonstrates clap's "usage strings" method of creating arguments -//! // which is less verbose -//! extern crate clap; -//! use clap::{Arg, App, SubCommand}; -//! -//! fn main() { -//! let matches = App::new("myapp") -//! .version("1.0") -//! .author("Kevin K. ") -//! .about("Does awesome things") -//! .args_from_usage( -//! "-c, --config=[FILE] 'Sets a custom config file' -//! 'Sets the input file to use' -//! -v... 'Sets the level of verbosity'") -//! .subcommand(SubCommand::with_name("test") -//! .about("controls testing features") -//! .version("1.3") -//! .author("Someone E. ") -//! .arg_from_usage("-d, --debug 'Print debug information'")) -//! .get_matches(); -//! -//! // Same as previous example... -//! } -//! ``` -//! -//! This third method shows how you can use a YAML file to build your CLI and keep your Rust source -//! tidy or support multiple localized translations by having different YAML files for each -//! localization. -//! -//! First, create the `cli.yml` file to hold your CLI options, but it could be called anything we -//! like: -//! -//! ```yaml -//! name: myapp -//! version: "1.0" -//! author: Kevin K. -//! about: Does awesome things -//! args: -//! - config: -//! short: c -//! long: config -//! value_name: FILE -//! help: Sets a custom config file -//! takes_value: true -//! - INPUT: -//! help: Sets the input file to use -//! required: true -//! index: 1 -//! - verbose: -//! short: v -//! multiple: true -//! help: Sets the level of verbosity -//! subcommands: -//! - test: -//! about: controls testing features -//! version: "1.3" -//! author: Someone E. -//! args: -//! - debug: -//! short: d -//! help: print debug information -//! ``` -//! -//! Since this feature requires additional dependencies that not everyone may want, it is *not* -//! compiled in by default and we need to enable a feature flag in Cargo.toml: -//! -//! Simply change your `clap = "~2.27.0"` to `clap = {version = "~2.27.0", features = ["yaml"]}`. -//! -//! At last we create our `main.rs` file just like we would have with the previous two examples: -//! -//! ```ignore -//! // (Full example with detailed comments in examples/17_yaml.rs) -//! // -//! // This example demonstrates clap's building from YAML style of creating arguments which is far -//! // more clean, but takes a very small performance hit compared to the other two methods. -//! #[macro_use] -//! extern crate clap; -//! use clap::App; -//! -//! fn main() { -//! // The YAML file is found relative to the current file, similar to how modules are found -//! let yaml = load_yaml!("cli.yml"); -//! let matches = App::from_yaml(yaml).get_matches(); -//! -//! // Same as previous examples... -//! } -//! ``` -//! -//! Finally there is a macro version, which is like a hybrid approach offering the speed of the -//! builder pattern (the first example), but without all the verbosity. -//! -//! ```no_run -//! #[macro_use] -//! extern crate clap; -//! -//! fn main() { -//! let matches = clap_app!(myapp => -//! (version: "1.0") -//! (author: "Kevin K. ") -//! (about: "Does awesome things") -//! (@arg CONFIG: -c --config +takes_value "Sets a custom config file") -//! (@arg INPUT: +required "Sets the input file to use") -//! (@arg debug: -d ... "Sets the level of debugging information") -//! (@subcommand test => -//! (about: "controls testing features") -//! (version: "1.3") -//! (author: "Someone E. ") -//! (@arg verbose: -v --verbose "Print test information verbosely") -//! ) -//! ).get_matches(); -//! -//! // Same as before... -//! } -//! ``` -//! -//! If you were to compile any of the above programs and run them with the flag `--help` or `-h` (or -//! `help` subcommand, since we defined `test` as a subcommand) the following would be output -//! -//! ```text -//! $ myprog --help -//! My Super Program 1.0 -//! Kevin K. -//! Does awesome things -//! -//! USAGE: -//! MyApp [FLAGS] [OPTIONS] [SUBCOMMAND] -//! -//! FLAGS: -//! -h, --help Prints this message -//! -v Sets the level of verbosity -//! -V, --version Prints version information -//! -//! OPTIONS: -//! -c, --config Sets a custom config file -//! -//! ARGS: -//! INPUT The input file to use -//! -//! SUBCOMMANDS: -//! help Prints this message -//! test Controls testing features -//! ``` -//! -//! **NOTE:** You could also run `myapp test --help` to see similar output and options for the -//! `test` subcommand. -//! -//! ## Try it! -//! -//! ### Pre-Built Test -//! -//! To try out the pre-built example, use the following steps: -//! -//! * Clone the repository `$ git clone https://github.com/kbknapp/clap-rs && cd clap-rs/tests` -//! * Compile the example `$ cargo build --release` -//! * Run the help info `$ ./target/release/claptests --help` -//! * Play with the arguments! -//! -//! ### BYOB (Build Your Own Binary) -//! -//! To test out `clap`'s default auto-generated help/version follow these steps: -//! -//! * Create a new cargo project `$ cargo new fake --bin && cd fake` -//! * Add `clap` to your `Cargo.toml` -//! -//! ```toml -//! [dependencies] -//! clap = "2" -//! ``` -//! -//! * Add the following to your `src/main.rs` -//! -//! ```no_run -//! extern crate clap; -//! use clap::App; -//! -//! fn main() { -//! App::new("fake").version("v1.0-beta").get_matches(); -//! } -//! ``` -//! -//! * Build your program `$ cargo build --release` -//! * Run with help or version `$ ./target/release/fake --help` or `$ ./target/release/fake -//! --version` -//! -//! ## Usage -//! -//! For full usage, add `clap` as a dependency in your `Cargo.toml` (it is **highly** recommended to -//! use the `~major.minor.patch` style versions in your `Cargo.toml`, for more information see -//! [Compatibility Policy](#compatibility-policy)) to use from crates.io: -//! -//! ```toml -//! [dependencies] -//! clap = "~2.27.0" -//! ``` -//! -//! Or get the latest changes from the master branch at github: -//! -//! ```toml -//! [dependencies.clap] -//! git = "https://github.com/kbknapp/clap-rs.git" -//! ``` -//! -//! Add `extern crate clap;` to your crate root. -//! -//! Define a list of valid arguments for your program (see the -//! [documentation](https://docs.rs/clap/) or [examples/](examples) directory of this repo) -//! -//! Then run `cargo build` or `cargo update && cargo build` for your project. -//! -//! ### Optional Dependencies / Features -//! -//! #### Features enabled by default -//! -//! * `suggestions`: Turns on the `Did you mean '--myoption'?` feature for when users make typos. (builds dependency `strsim`) -//! * `color`: Turns on colored error messages. This feature only works on non-Windows OSs. (builds dependency `ansi-term` and `atty`) -//! * `wrap_help`: Wraps the help at the actual terminal width when -//! available, instead of 120 chracters. (builds dependency `textwrap` -//! with feature `term_size`) -//! -//! To disable these, add this to your `Cargo.toml`: -//! -//! ```toml -//! [dependencies.clap] -//! version = "~2.27.0" -//! default-features = false -//! ``` -//! -//! You can also selectively enable only the features you'd like to include, by adding: -//! -//! ```toml -//! [dependencies.clap] -//! version = "~2.27.0" -//! default-features = false -//! -//! # Cherry-pick the features you'd like to use -//! features = [ "suggestions", "color" ] -//! ``` -//! -//! #### Opt-in features -//! -//! * **"yaml"**: Enables building CLIs from YAML documents. (builds dependency `yaml-rust`) -//! * **"unstable"**: Enables unstable `clap` features that may change from release to release -//! -//! ### Dependencies Tree -//! -//! The following graphic depicts `clap`s dependency graph (generated using -//! [cargo-graph](https://github.com/kbknapp/cargo-graph)). -//! -//! * **Dashed** Line: Optional dependency -//! * **Red** Color: **NOT** included by default (must use cargo `features` to enable) -//! * **Blue** Color: Dev dependency, only used while developing. -//! -//! ![clap dependencies](clap_dep_graph.png) -//! -//! ### More Information -//! -//! You can find complete documentation on the [docs.rs](https://docs.rs/clap/) for this project. -//! -//! You can also find usage examples in the [examples/](examples) directory of this repo. -//! -//! #### Video Tutorials -//! -//! There's also the video tutorial series [Argument Parsing with Rust v2](https://www.youtube.com/playlist?list=PLza5oFLQGTl2Z5T8g1pRkIynR3E0_pc7U). -//! -//! These videos slowly trickle out as I finish them and currently a work in progress. -//! -//! ## How to Contribute -//! -//! Contributions are always welcome! And there is a multitude of ways in which you can help -//! depending on what you like to do, or are good at. Anything from documentation, code cleanup, -//! issue completion, new features, you name it, even filing issues is contributing and greatly -//! appreciated! -//! -//! Another really great way to help is if you find an interesting, or helpful way in which to use -//! `clap`. You can either add it to the [examples/](examples) directory, or file an issue and tell -//! me. I'm all about giving credit where credit is due :) -//! -//! Please read [CONTRIBUTING.md](.github/CONTRIBUTING.md) before you start contributing. -//! -//! -//! ### Testing Code -//! -//! To test with all features both enabled and disabled, you can run theese commands: -//! -//! ```text -//! $ cargo test --no-default-features -//! $ cargo test --features "yaml unstable" -//! ``` -//! -//! Alternatively, if you have [`just`](https://github.com/casey/just) installed you can run the -//! prebuilt recipies. *Not* using `just` is prfeclty fine as well, it simply bundles commands -//! automatically. -//! -//! For example, to test the code, as above simply run: -//! -//! ```text -//! $ just run-tests` -//! ``` -//! -//! From here on, I will lis the appropriate `cargo` command as well as the `just` command. -//! -//! Sometimes it's helpful to only run a subset of the tests, which can be done via: -//! -//! ```text -//! $ cargo test --test -//! -//! # Or -//! -//! $ just run-test -//! ``` -//! -//! ### Linting Code -//! -//! During the CI process `clap` runs against many different lints using -//! [`clippy`](https://github.com/Manishearth/rust-clippy). In order to check if these lints pass on -//! your own computer prior to submitting a PR you'll need a nightly compiler. -//! -//! In order to check the code for lints run either: -//! -//! ```text -//! $ rustup override add nightly -//! $ cargo build --features lints -//! $ rustup override remove -//! -//! # Or -//! -//! $ just lint -//! ``` -//! -//! ### Debugging Code -//! -//! Another helpful technique is to see the `clap` debug output while developing features. In order -//! to see the debug output while running the full test suite or individual tests, run: -//! -//! ```text -//! $ cargo test --features debug -//! -//! # Or for individual tests -//! $ cargo test --test --features debug -//! -//! # The corresponding just command for individual debugging tests is: -//! $ just debug -//! ``` -//! -//! ### Goals -//! -//! There are a few goals of `clap` that I'd like to maintain throughout contributions. If your -//! proposed changes break, or go against any of these goals we'll discuss the changes further -//! before merging (but will *not* be ignored, all contributes are welcome!). These are by no means -//! hard-and-fast rules, as I'm no expert and break them myself from time to time (even if by -//! mistake or ignorance). -//! -//! * Remain backwards compatible when possible -//! - If backwards compatibility *must* be broken, use deprecation warnings if at all possible before -//! removing legacy code - This does not apply for security concerns -//! * Parse arguments quickly -//! - Parsing of arguments shouldn't slow down usage of the main program - This is also true of -//! generating help and usage information (although *slightly* less stringent, as the program is about -//! to exit) -//! * Try to be cognizant of memory usage -//! - Once parsing is complete, the memory footprint of `clap` should be low since the main program -//! is the star of the show -//! * `panic!` on *developer* error, exit gracefully on *end-user* error -//! -//! ### Compatibility Policy -//! -//! Because `clap` takes `SemVer` and compatibility seriously, this is the official policy regarding -//! breaking changes and previous versions of Rust. -//! -//! `clap` will pin the minimum required version of Rust to the CI builds. Bumping the minimum -//! version of Rust is considered a minor breaking change, meaning *at a minimum* the minor version -//! of `clap` will be bumped. -//! -//! In order to keep from being suprised of breaking changes, it is **highly** recommended to use -//! the `~major.minor.patch` style in your `Cargo.toml`: -//! -//! ```toml -//! [dependencies] clap = "~2.27.0" -//! ``` -//! -//! This will cause *only* the patch version to be updated upon a `cargo update` call, and therefore -//! cannot break due to new features, or bumped minimum versions of Rust. -//! -//! #### Minimum Version of Rust -//! -//! `clap` will officially support current stable Rust, minus two releases, but may work with prior -//! releases as well. For example, current stable Rust at the time of this writing is 1.21.0, -//! meaning `clap` is guaranteed to compile with 1.19.0 and beyond. At the 1.22.0 release, `clap` -//! will be guaranteed to compile with 1.20.0 and beyond, etc. -//! -//! Upon bumping the minimum version of Rust (assuming it's within the stable-2 range), it *must* be -//! clearly annotated in the `CHANGELOG.md` -//! -//! ## License -//! -//! `clap` is licensed under the MIT license. Please read the [LICENSE-MIT](LICENSE-MIT) file in -//! this repository for more information. - -#![crate_type= "lib"] -#![doc(html_root_url = "https://docs.rs/clap/2.27.1")] -#![deny( - missing_docs, - missing_debug_implementations, - missing_copy_implementations, - trivial_casts, - unused_import_braces, - unused_allocation)] -// Lints we'd like to deny but are currently failing for upstream crates -// unused_qualifications (bitflags, clippy) -// trivial_numeric_casts (bitflags) -#![cfg_attr(not(any(feature = "lints", feature = "nightly")), forbid(unstable_features))] -#![cfg_attr(feature = "lints", feature(plugin))] -#![cfg_attr(feature = "lints", plugin(clippy))] -// Need to disable deny(warnings) while deprecations are active -// #![cfg_attr(feature = "lints", deny(warnings))] -#![cfg_attr(feature = "lints", allow(cyclomatic_complexity))] -#![cfg_attr(feature = "lints", allow(doc_markdown))] -#![cfg_attr(feature = "lints", allow(explicit_iter_loop))] - -#[cfg(feature = "suggestions")] -extern crate strsim; -#[cfg(feature = "color")] -extern crate ansi_term; -#[cfg(feature = "yaml")] -extern crate yaml_rust; -extern crate unicode_width; -#[macro_use] -extern crate bitflags; -#[cfg(feature = "vec_map")] -extern crate vec_map; -#[cfg(feature = "wrap_help")] -extern crate term_size; -extern crate textwrap; -#[cfg(feature = "color")] -extern crate atty; - -#[cfg(feature = "yaml")] -pub use yaml_rust::YamlLoader; -pub use args::{Arg, ArgGroup, ArgMatches, ArgSettings, SubCommand, Values, OsValues}; -pub use app::{App, AppSettings}; -pub use fmt::Format; -pub use errors::{Error, ErrorKind, Result}; -pub use completions::Shell; - -#[macro_use] -mod macros; -mod app; -mod args; -mod usage_parser; -mod fmt; -mod suggestions; -mod errors; -mod osstringext; -mod strext; -mod completions; -mod map; - -const INTERNAL_ERROR_MSG: &'static str = "Fatal internal error. Please consider filing a bug \ - report at https://github.com/kbknapp/clap-rs/issues"; -const INVALID_UTF8: &'static str = "unexpected invalid UTF-8 code point"; diff --git a/vendor/registry-40351f815f426200/clap/src/macros.rs b/vendor/registry-40351f815f426200/clap/src/macros.rs deleted file mode 100644 index db8ea2f0a..000000000 --- a/vendor/registry-40351f815f426200/clap/src/macros.rs +++ /dev/null @@ -1,1033 +0,0 @@ -/// A convenience macro for loading the YAML file at compile time (relative to the current file, -/// like modules work). That YAML object can then be passed to this function. -/// -/// # Panics -/// -/// The YAML file must be properly formatted or this function will panic!(). A good way to -/// ensure this doesn't happen is to run your program with the `--help` switch. If this passes -/// without error, you needn't worry because the YAML is properly formatted. -/// -/// # Examples -/// -/// The following example shows how to load a properly formatted YAML file to build an instnace -/// of an `App` struct. -/// -/// ```ignore -/// # #[macro_use] -/// # extern crate clap; -/// # use clap::App; -/// # fn main() { -/// let yml = load_yaml!("app.yml"); -/// let app = App::from_yaml(yml); -/// -/// // continued logic goes here, such as `app.get_matches()` etc. -/// # } -/// ``` -#[cfg(feature = "yaml")] -#[macro_export] -macro_rules! load_yaml { - ($yml:expr) => ( - &::clap::YamlLoader::load_from_str(include_str!($yml)).expect("failed to load YAML file")[0] - ); -} - -/// Convenience macro getting a typed value `T` where `T` implements [`std::str::FromStr`] from an -/// argument value. This macro returns a `Result` which allows you as the developer to -/// decide what you'd like to do on a failed parse. There are two types of errors, parse failures -/// and those where the argument wasn't present (such as a non-required argument). You can use -/// it to get a single value, or a iterator as with the [`ArgMatches::values_of`] -/// -/// # Examples -/// -/// ```no_run -/// # #[macro_use] -/// # extern crate clap; -/// # use clap::App; -/// # fn main() { -/// let matches = App::new("myapp") -/// .arg_from_usage("[length] 'Set the length to use as a pos whole num, i.e. 20'") -/// .get_matches(); -/// -/// let len = value_t!(matches.value_of("length"), u32).unwrap_or_else(|e| e.exit()); -/// let also_len = value_t!(matches, "length", u32).unwrap_or_else(|e| e.exit()); -/// -/// println!("{} + 2: {}", len, len + 2); -/// # } -/// ``` -/// [`std::str::FromStr`]: https://doc.rust-lang.org/std/str/trait.FromStr.html -/// [`ArgMatches::values_of`]: ./struct.ArgMatches.html#method.values_of -/// [`Result`]: https://doc.rust-lang.org/std/result/enum.Result.html -#[macro_export] -macro_rules! value_t { - ($m:ident, $v:expr, $t:ty) => { - value_t!($m.value_of($v), $t) - }; - ($m:ident.value_of($v:expr), $t:ty) => { - if let Some(v) = $m.value_of($v) { - match v.parse::<$t>() { - Ok(val) => Ok(val), - Err(_) => - Err(::clap::Error::value_validation_auto( - format!("The argument '{}' isn't a valid value", v))), - } - } else { - Err(::clap::Error::argument_not_found_auto($v)) - } - }; -} - -/// Convenience macro getting a typed value `T` where `T` implements [`std::str::FromStr`] or -/// exiting upon error, instead of returning a [`Result`] type. -/// -/// **NOTE:** This macro is for backwards compatibility sake. Prefer -/// [`value_t!(/* ... */).unwrap_or_else(|e| e.exit())`] -/// -/// # Examples -/// -/// ```no_run -/// # #[macro_use] -/// # extern crate clap; -/// # use clap::App; -/// # fn main() { -/// let matches = App::new("myapp") -/// .arg_from_usage("[length] 'Set the length to use as a pos whole num, i.e. 20'") -/// .get_matches(); -/// -/// let len = value_t_or_exit!(matches.value_of("length"), u32); -/// let also_len = value_t_or_exit!(matches, "length", u32); -/// -/// println!("{} + 2: {}", len, len + 2); -/// # } -/// ``` -/// [`std::str::FromStr`]: https://doc.rust-lang.org/std/str/trait.FromStr.html -/// [`Result`]: https://doc.rust-lang.org/std/result/enum.Result.html -/// [`value_t!(/* ... */).unwrap_or_else(|e| e.exit())`]: ./macro.value_t!.html -#[macro_export] -macro_rules! value_t_or_exit { - ($m:ident, $v:expr, $t:ty) => { - value_t_or_exit!($m.value_of($v), $t) - }; - ($m:ident.value_of($v:expr), $t:ty) => { - if let Some(v) = $m.value_of($v) { - match v.parse::<$t>() { - Ok(val) => val, - Err(_) => - ::clap::Error::value_validation_auto( - format!("The argument '{}' isn't a valid value", v)).exit(), - } - } else { - ::clap::Error::argument_not_found_auto($v).exit() - } - }; -} - -/// Convenience macro getting a typed value [`Vec`] where `T` implements [`std::str::FromStr`] -/// This macro returns a [`clap::Result>`] which allows you as the developer to decide -/// what you'd like to do on a failed parse. -/// -/// # Examples -/// -/// ```no_run -/// # #[macro_use] -/// # extern crate clap; -/// # use clap::App; -/// # fn main() { -/// let matches = App::new("myapp") -/// .arg_from_usage("[seq]... 'A sequence of pos whole nums, i.e. 20 45'") -/// .get_matches(); -/// -/// let vals = values_t!(matches.values_of("seq"), u32).unwrap_or_else(|e| e.exit()); -/// for v in &vals { -/// println!("{} + 2: {}", v, v + 2); -/// } -/// -/// let vals = values_t!(matches, "seq", u32).unwrap_or_else(|e| e.exit()); -/// for v in &vals { -/// println!("{} + 2: {}", v, v + 2); -/// } -/// # } -/// ``` -/// [`std::str::FromStr`]: https://doc.rust-lang.org/std/str/trait.FromStr.html -/// [`Vec`]: https://doc.rust-lang.org/std/vec/struct.Vec.html -/// [`clap::Result>`]: ./type.Result.html -#[macro_export] -macro_rules! values_t { - ($m:ident, $v:expr, $t:ty) => { - values_t!($m.values_of($v), $t) - }; - ($m:ident.values_of($v:expr), $t:ty) => { - if let Some(vals) = $m.values_of($v) { - let mut tmp = vec![]; - let mut err = None; - for pv in vals { - match pv.parse::<$t>() { - Ok(rv) => tmp.push(rv), - Err(..) => { - err = Some(::clap::Error::value_validation_auto( - format!("The argument '{}' isn't a valid value", pv))); - break - } - } - } - match err { - Some(e) => Err(e), - None => Ok(tmp), - } - } else { - Err(::clap::Error::argument_not_found_auto($v)) - } - }; -} - -/// Convenience macro getting a typed value [`Vec`] where `T` implements [`std::str::FromStr`] -/// or exiting upon error. -/// -/// **NOTE:** This macro is for backwards compatibility sake. Prefer -/// [`values_t!(/* ... */).unwrap_or_else(|e| e.exit())`] -/// -/// # Examples -/// -/// ```no_run -/// # #[macro_use] -/// # extern crate clap; -/// # use clap::App; -/// # fn main() { -/// let matches = App::new("myapp") -/// .arg_from_usage("[seq]... 'A sequence of pos whole nums, i.e. 20 45'") -/// .get_matches(); -/// -/// let vals = values_t_or_exit!(matches.values_of("seq"), u32); -/// for v in &vals { -/// println!("{} + 2: {}", v, v + 2); -/// } -/// -/// // type for example only -/// let vals: Vec = values_t_or_exit!(matches, "seq", u32); -/// for v in &vals { -/// println!("{} + 2: {}", v, v + 2); -/// } -/// # } -/// ``` -/// [`values_t!(/* ... */).unwrap_or_else(|e| e.exit())`]: ./macro.values_t!.html -/// [`std::str::FromStr`]: https://doc.rust-lang.org/std/str/trait.FromStr.html -/// [`Vec`]: https://doc.rust-lang.org/std/vec/struct.Vec.html -#[macro_export] -macro_rules! values_t_or_exit { - ($m:ident, $v:expr, $t:ty) => { - values_t_or_exit!($m.values_of($v), $t) - }; - ($m:ident.values_of($v:expr), $t:ty) => { - if let Some(vals) = $m.values_of($v) { - vals.map(|v| v.parse::<$t>().unwrap_or_else(|_|{ - ::clap::Error::value_validation_auto( - format!("One or more arguments aren't valid values")).exit() - })).collect::>() - } else { - ::clap::Error::argument_not_found_auto($v).exit() - } - }; -} - -// _clap_count_exprs! is derived from https://github.com/DanielKeep/rust-grabbag -// commit: 82a35ca5d9a04c3b920622d542104e3310ee5b07 -// License: MIT -// Copyright ⓒ 2015 grabbag contributors. -// Licensed under the MIT license (see LICENSE or ) or the Apache License, Version 2.0 (see LICENSE of -// ), at your option. All -// files in the project carrying such notice may not be copied, modified, -// or distributed except according to those terms. -// -/// Counts the number of comma-delimited expressions passed to it. The result is a compile-time -/// evaluable expression, suitable for use as a static array size, or the value of a `const`. -/// -/// # Examples -/// -/// ``` -/// # #[macro_use] extern crate clap; -/// # fn main() { -/// const COUNT: usize = _clap_count_exprs!(a, 5+1, "hi there!".into_string()); -/// assert_eq!(COUNT, 3); -/// # } -/// ``` -#[macro_export] -macro_rules! _clap_count_exprs { - () => { 0 }; - ($e:expr) => { 1 }; - ($e:expr, $($es:expr),+) => { 1 + _clap_count_exprs!($($es),*) }; -} - -/// Convenience macro to generate more complete enums with variants to be used as a type when -/// parsing arguments. This enum also provides a `variants()` function which can be used to -/// retrieve a `Vec<&'static str>` of the variant names, as well as implementing [`FromStr`] and -/// [`Display`] automatically. -/// -/// **NOTE:** Case insensitivity is supported for ASCII characters only -/// -/// **NOTE:** This macro automatically implements [`std::str::FromStr`] and [`std::fmt::Display`] -/// -/// **NOTE:** These enums support pub (or not) and uses of the #[derive()] traits -/// -/// # Examples -/// -/// ```no_run -/// # #[macro_use] -/// # extern crate clap; -/// # use clap::{App, Arg}; -/// arg_enum!{ -/// #[derive(Debug)] -/// pub enum Foo { -/// Bar, -/// Baz, -/// Qux -/// } -/// } -/// // Foo enum can now be used via Foo::Bar, or Foo::Baz, etc -/// // and implements std::str::FromStr to use with the value_t! macros -/// fn main() { -/// let m = App::new("app") -/// .arg_from_usage(" 'the foo'") -/// .get_matches(); -/// let f = value_t!(m, "foo", Foo).unwrap_or_else(|e| e.exit()); -/// -/// // Use f like any other Foo variant... -/// } -/// ``` -/// [`FromStr`]: https://doc.rust-lang.org/std/str/trait.FromStr.html -/// [`std::str::FromStr`]: https://doc.rust-lang.org/std/str/trait.FromStr.html -/// [`Display`]: https://doc.rust-lang.org/std/fmt/trait.Display.html -/// [`std::fmt::Display`]: https://doc.rust-lang.org/std/fmt/trait.Display.html -#[macro_export] -macro_rules! arg_enum { - (@as_item $($i:item)*) => ($($i)*); - (@impls ( $($tts:tt)* ) -> ($e:ident, $($v:ident),+)) => { - arg_enum!(@as_item - $($tts)* - - impl ::std::str::FromStr for $e { - type Err = String; - - fn from_str(s: &str) -> ::std::result::Result { - use ::std::ascii::AsciiExt; - match s { - $(stringify!($v) | - _ if s.eq_ignore_ascii_case(stringify!($v)) => Ok($e::$v)),+, - _ => Err({ - let v = vec![ - $(stringify!($v),)+ - ]; - format!("valid values: {}", - v.join(" ,")) - }), - } - } - } - impl ::std::fmt::Display for $e { - fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { - match *self { - $($e::$v => write!(f, stringify!($v)),)+ - } - } - } - impl $e { - #[allow(dead_code)] - pub fn variants() -> [&'static str; _clap_count_exprs!($(stringify!($v)),+)] { - [ - $(stringify!($v),)+ - ] - } - }); - }; - ($(#[$($m:meta),+])+ pub enum $e:ident { $($v:ident $(=$val:expr)*),+ } ) => { - arg_enum!(@impls - ($(#[$($m),+])+ - pub enum $e { - $($v$(=$val)*),+ - }) -> ($e, $($v),+) - ); - }; - ($(#[$($m:meta),+])+ enum $e:ident { $($v:ident $(=$val:expr)*),+ } ) => { - arg_enum!(@impls - ($(#[$($m),+])+ - enum $e { - $($v$(=$val)*),+ - }) -> ($e, $($v),+) - ); - }; - (pub enum $e:ident { $($v:ident $(=$val:expr)*),+ } ) => { - arg_enum!(@impls - (pub enum $e { - $($v$(=$val)*),+ - }) -> ($e, $($v),+) - ); - }; - (enum $e:ident { $($v:ident $(=$val:expr)*),+ } ) => { - arg_enum!(@impls - (enum $e { - $($v$(=$val)*),+ - }) -> ($e, $($v),+) - ); - }; -} - -/// Allows you to pull the version from your Cargo.toml at compile time as -/// `MAJOR.MINOR.PATCH_PKGVERSION_PRE` -/// -/// # Examples -/// -/// ```no_run -/// # #[macro_use] -/// # extern crate clap; -/// # use clap::App; -/// # fn main() { -/// let m = App::new("app") -/// .version(crate_version!()) -/// .get_matches(); -/// # } -/// ``` -#[cfg(not(feature="no_cargo"))] -#[macro_export] -macro_rules! crate_version { - () => { - env!("CARGO_PKG_VERSION") - }; -} - -/// Allows you to pull the authors for the app from your Cargo.toml at -/// compile time in the form: -/// `"author1 lastname :author2 lastname "` -/// -/// You can replace the colons with a custom separator by supplying a -/// replacement string, so, for example, -/// `crate_authors!(",\n")` would become -/// `"author1 lastname ,\nauthor2 lastname ,\nauthor3 lastname "` -/// -/// # Examples -/// -/// ```no_run -/// # #[macro_use] -/// # extern crate clap; -/// # use clap::App; -/// # fn main() { -/// let m = App::new("app") -/// .author(crate_authors!("\n")) -/// .get_matches(); -/// # } -/// ``` -#[cfg(not(feature="no_cargo"))] -#[macro_export] -macro_rules! crate_authors { - ($sep:expr) => {{ - use std::ops::Deref; - use std::sync::{ONCE_INIT, Once}; - - #[allow(missing_copy_implementations)] - #[allow(dead_code)] - struct CargoAuthors { __private_field: () }; - - impl Deref for CargoAuthors { - type Target = str; - - #[allow(unsafe_code)] - fn deref(&self) -> &'static str { - static ONCE: Once = ONCE_INIT; - static mut VALUE: *const String = 0 as *const String; - - unsafe { - ONCE.call_once(|| { - let s = env!("CARGO_PKG_AUTHORS").replace(':', $sep); - VALUE = Box::into_raw(Box::new(s)); - }); - - &(*VALUE)[..] - } - } - } - - &*CargoAuthors { __private_field: () } - }}; - () => { - env!("CARGO_PKG_AUTHORS") - }; -} - -/// Allows you to pull the description from your Cargo.toml at compile time. -/// -/// # Examples -/// -/// ```no_run -/// # #[macro_use] -/// # extern crate clap; -/// # use clap::App; -/// # fn main() { -/// let m = App::new("app") -/// .about(crate_description!()) -/// .get_matches(); -/// # } -/// ``` -#[cfg(not(feature="no_cargo"))] -#[macro_export] -macro_rules! crate_description { - () => { - env!("CARGO_PKG_DESCRIPTION") - }; -} - -/// Allows you to pull the name from your Cargo.toml at compile time. -/// -/// # Examples -/// -/// ```no_run -/// # #[macro_use] -/// # extern crate clap; -/// # use clap::App; -/// # fn main() { -/// let m = App::new(crate_name!()) -/// .get_matches(); -/// # } -/// ``` -#[cfg(not(feature="no_cargo"))] -#[macro_export] -macro_rules! crate_name { - () => { - env!("CARGO_PKG_NAME") - }; -} - -/// Allows you to build the `App` instance from your Cargo.toml at compile time. -/// -/// Equivalent to using the `crate_*!` macros with their respective fields. -/// -/// Provided separator is for the [`crate_authors!`](macro.crate_authors.html) macro, -/// refer to the documentation therefor. -/// -/// **NOTE:** Changing the values in your `Cargo.toml` does not trigger a re-build automatically, -/// and therefore won't change the generated output until you recompile. -/// -/// **Pro Tip:** In some cases you can "trick" the compiler into triggering a rebuild when your -/// `Cargo.toml` is changed by including this in your `src/main.rs` file -/// `include_str!("../Cargo.toml");` -/// -/// # Examples -/// -/// ```no_run -/// # #[macro_use] -/// # extern crate clap; -/// # fn main() { -/// let m = app_from_crate!().get_matches(); -/// # } -/// ``` -#[cfg(not(feature="no_cargo"))] -#[macro_export] -macro_rules! app_from_crate { - () => { - $crate::App::new(crate_name!()) - .version(crate_version!()) - .author(crate_authors!()) - .about(crate_description!()) - }; - ($sep:expr) => { - $crate::App::new(crate_name!()) - .version(crate_version!()) - .author(crate_authors!($sep)) - .about(crate_description!()) - }; -} - -/// Build `App`, `Arg`s, `SubCommand`s and `Group`s with Usage-string like input -/// but without the associated parsing runtime cost. -/// -/// `clap_app!` also supports several shorthand syntaxes. -/// -/// # Examples -/// -/// ```no_run -/// # #[macro_use] -/// # extern crate clap; -/// # fn main() { -/// let matches = clap_app!(myapp => -/// (version: "1.0") -/// (author: "Kevin K. ") -/// (about: "Does awesome things") -/// (@arg CONFIG: -c --config +takes_value "Sets a custom config file") -/// (@arg INPUT: +required "Sets the input file to use") -/// (@arg debug: -d ... "Sets the level of debugging information") -/// (@group difficulty => -/// (@arg hard: -h --hard "Sets hard mode") -/// (@arg normal: -n --normal "Sets normal mode") -/// (@arg easy: -e --easy "Sets easy mode") -/// ) -/// (@subcommand test => -/// (about: "controls testing features") -/// (version: "1.3") -/// (author: "Someone E. ") -/// (@arg verbose: -v --verbose "Print test information verbosely") -/// ) -/// ); -/// # } -/// ``` -/// # Shorthand Syntax for Args -/// -/// * A single hyphen followed by a character (such as `-c`) sets the [`Arg::short`] -/// * A double hyphen followed by a character or word (such as `--config`) sets [`Arg::long`] -/// * If one wishes to use a [`Arg::long`] with a hyphen inside (i.e. `--config-file`), you -/// must use `--("config-file")` due to limitations of the Rust macro system. -/// * Three dots (`...`) sets [`Arg::multiple(true)`] -/// * Angled brackets after either a short or long will set [`Arg::value_name`] and -/// `Arg::required(true)` such as `--config ` = `Arg::value_name("FILE")` and -/// `Arg::required(true) -/// * Square brackets after either a short or long will set [`Arg::value_name`] and -/// `Arg::required(false)` such as `--config [FILE]` = `Arg::value_name("FILE")` and -/// `Arg::required(false) -/// * There are short hand syntaxes for Arg methods that accept booleans -/// * A plus sign will set that method to `true` such as `+required` = `Arg::required(true)` -/// * An exclamation will set that method to `false` such as `!required` = `Arg::required(false)` -/// * A `#{min, max}` will set [`Arg::min_values(min)`] and [`Arg::max_values(max)`] -/// * An asterisk (`*`) will set `Arg::required(true)` -/// * Curly brackets around a `fn` will set [`Arg::validator`] as in `{fn}` = `Arg::validator(fn)` -/// * An Arg method that accepts a string followed by square brackets will set that method such as -/// `conflicts_with[FOO]` will set `Arg::conflicts_with("FOO")` (note the lack of quotes around -/// `FOO` in the macro) -/// * An Arg method that takes a string and can be set multiple times (such as -/// [`Arg::conflicts_with`]) followed by square brackets and a list of values separated by spaces -/// will set that method such as `conflicts_with[FOO BAR BAZ]` will set -/// `Arg::conflicts_with("FOO")`, `Arg::conflicts_with("BAR")`, and `Arg::conflicts_with("BAZ")` -/// (note the lack of quotes around the values in the macro) -/// -/// [`Arg::short`]: ./struct.Arg.html#method.short -/// [`Arg::long`]: ./struct.Arg.html#method.long -/// [`Arg::multiple(true)`]: ./struct.Arg.html#method.multiple -/// [`Arg::value_name`]: ./struct.Arg.html#method.value_name -/// [`Arg::min_values(min)`]: ./struct.Arg.html#method.min_values -/// [`Arg::max_values(max)`]: ./struct.Arg.html#method.max_values -/// [`Arg::validator`]: ./struct.Arg.html#method.validator -/// [`Arg::conflicts_with`]: ./struct.Arg.html#method.conflicts_with -#[macro_export] -macro_rules! clap_app { - (@app ($builder:expr)) => { $builder }; - (@app ($builder:expr) (@arg ($name:expr): $($tail:tt)*) $($tt:tt)*) => { - clap_app!{ @app - ($builder.arg( - clap_app!{ @arg ($crate::Arg::with_name($name)) (-) $($tail)* })) - $($tt)* - } - }; - (@app ($builder:expr) (@arg $name:ident: $($tail:tt)*) $($tt:tt)*) => { - clap_app!{ @app - ($builder.arg( - clap_app!{ @arg ($crate::Arg::with_name(stringify!($name))) (-) $($tail)* })) - $($tt)* - } - }; - (@app ($builder:expr) (@setting $setting:ident) $($tt:tt)*) => { - clap_app!{ @app - ($builder.setting($crate::AppSettings::$setting)) - $($tt)* - } - }; -// Treat the application builder as an argument to set it's attributes - (@app ($builder:expr) (@attributes $($attr:tt)*) $($tt:tt)*) => { - clap_app!{ @app (clap_app!{ @arg ($builder) $($attr)* }) $($tt)* } - }; - (@app ($builder:expr) (@group $name:ident => $($tail:tt)*) $($tt:tt)*) => { - clap_app!{ @app - (clap_app!{ @group ($builder, $crate::ArgGroup::with_name(stringify!($name))) $($tail)* }) - $($tt)* - } - }; -// Handle subcommand creation - (@app ($builder:expr) (@subcommand $name:ident => $($tail:tt)*) $($tt:tt)*) => { - clap_app!{ @app - ($builder.subcommand( - clap_app!{ @app ($crate::SubCommand::with_name(stringify!($name))) $($tail)* } - )) - $($tt)* - } - }; -// Yaml like function calls - used for setting various meta directly against the app - (@app ($builder:expr) ($ident:ident: $($v:expr),*) $($tt:tt)*) => { -// clap_app!{ @app ($builder.$ident($($v),*)) $($tt)* } - clap_app!{ @app - ($builder.$ident($($v),*)) - $($tt)* - } - }; - -// Add members to group and continue argument handling with the parent builder - (@group ($builder:expr, $group:expr)) => { $builder.group($group) }; - (@group ($builder:expr, $group:expr) (@attributes $($attr:tt)*) $($tt:tt)*) => { - clap_app!{ @group ($builder, clap_app!{ @arg ($group) (-) $($attr)* }) $($tt)* } - }; - (@group ($builder:expr, $group:expr) (@arg $name:ident: $($tail:tt)*) $($tt:tt)*) => { - clap_app!{ @group - (clap_app!{ @app ($builder) (@arg $name: $($tail)*) }, - $group.arg(stringify!($name))) - $($tt)* - } - }; - -// No more tokens to munch - (@arg ($arg:expr) $modes:tt) => { $arg }; -// Shorthand tokens influenced by the usage_string - (@arg ($arg:expr) $modes:tt --($long:expr) $($tail:tt)*) => { - clap_app!{ @arg ($arg.long($long)) $modes $($tail)* } - }; - (@arg ($arg:expr) $modes:tt --$long:ident $($tail:tt)*) => { - clap_app!{ @arg ($arg.long(stringify!($long))) $modes $($tail)* } - }; - (@arg ($arg:expr) $modes:tt -$short:ident $($tail:tt)*) => { - clap_app!{ @arg ($arg.short(stringify!($short))) $modes $($tail)* } - }; - (@arg ($arg:expr) (-) <$var:ident> $($tail:tt)*) => { - clap_app!{ @arg ($arg.value_name(stringify!($var))) (+) +takes_value +required $($tail)* } - }; - (@arg ($arg:expr) (+) <$var:ident> $($tail:tt)*) => { - clap_app!{ @arg ($arg.value_name(stringify!($var))) (+) $($tail)* } - }; - (@arg ($arg:expr) (-) [$var:ident] $($tail:tt)*) => { - clap_app!{ @arg ($arg.value_name(stringify!($var))) (+) +takes_value $($tail)* } - }; - (@arg ($arg:expr) (+) [$var:ident] $($tail:tt)*) => { - clap_app!{ @arg ($arg.value_name(stringify!($var))) (+) $($tail)* } - }; - (@arg ($arg:expr) $modes:tt ... $($tail:tt)*) => { - clap_app!{ @arg ($arg) $modes +multiple $($tail)* } - }; -// Shorthand magic - (@arg ($arg:expr) $modes:tt #{$n:expr, $m:expr} $($tail:tt)*) => { - clap_app!{ @arg ($arg) $modes min_values($n) max_values($m) $($tail)* } - }; - (@arg ($arg:expr) $modes:tt * $($tail:tt)*) => { - clap_app!{ @arg ($arg) $modes +required $($tail)* } - }; -// !foo -> .foo(false) - (@arg ($arg:expr) $modes:tt !$ident:ident $($tail:tt)*) => { - clap_app!{ @arg ($arg.$ident(false)) $modes $($tail)* } - }; -// +foo -> .foo(true) - (@arg ($arg:expr) $modes:tt +$ident:ident $($tail:tt)*) => { - clap_app!{ @arg ($arg.$ident(true)) $modes $($tail)* } - }; -// Validator - (@arg ($arg:expr) $modes:tt {$fn_:expr} $($tail:tt)*) => { - clap_app!{ @arg ($arg.validator($fn_)) $modes $($tail)* } - }; - (@as_expr $expr:expr) => { $expr }; -// Help - (@arg ($arg:expr) $modes:tt $desc:tt) => { $arg.help(clap_app!{ @as_expr $desc }) }; -// Handle functions that need to be called multiple times for each argument - (@arg ($arg:expr) $modes:tt $ident:ident[$($target:ident)*] $($tail:tt)*) => { - clap_app!{ @arg ($arg $( .$ident(stringify!($target)) )*) $modes $($tail)* } - }; -// Inherit builder's functions - (@arg ($arg:expr) $modes:tt $ident:ident($($expr:expr)*) $($tail:tt)*) => { - clap_app!{ @arg ($arg.$ident($($expr)*)) $modes $($tail)* } - }; - -// Build a subcommand outside of an app. - (@subcommand $name:ident => $($tail:tt)*) => { - clap_app!{ @app ($crate::SubCommand::with_name(stringify!($name))) $($tail)* } - }; -// Start the magic - (($name:expr) => $($tail:tt)*) => {{ - clap_app!{ @app ($crate::App::new($name)) $($tail)*} - }}; - - ($name:ident => $($tail:tt)*) => {{ - clap_app!{ @app ($crate::App::new(stringify!($name))) $($tail)*} - }}; -} - -macro_rules! impl_settings { - ($n:ident, $($v:ident => $c:ident),+) => { - pub fn set(&mut self, s: $n) { - match s { - $($n::$v => self.0.insert($c)),+ - } - } - - pub fn unset(&mut self, s: $n) { - match s { - $($n::$v => self.0.remove($c)),+ - } - } - - pub fn is_set(&self, s: $n) -> bool { - match s { - $($n::$v => self.0.contains($c)),+ - } - } - }; -} - -// Convenience for writing to stderr thanks to https://github.com/BurntSushi -macro_rules! wlnerr( - ($($arg:tt)*) => ({ - use std::io::{Write, stderr}; - writeln!(&mut stderr(), $($arg)*).ok(); - }) -); - -#[cfg(feature = "debug")] -#[cfg_attr(feature = "debug", macro_use)] -mod debug_macros { - macro_rules! debugln { - ($fmt:expr) => (println!(concat!("DEBUG:clap:", $fmt))); - ($fmt:expr, $($arg:tt)*) => (println!(concat!("DEBUG:clap:",$fmt), $($arg)*)); - } - macro_rules! sdebugln { - ($fmt:expr) => (println!($fmt)); - ($fmt:expr, $($arg:tt)*) => (println!($fmt, $($arg)*)); - } - macro_rules! debug { - ($fmt:expr) => (print!(concat!("DEBUG:clap:", $fmt))); - ($fmt:expr, $($arg:tt)*) => (print!(concat!("DEBUG:clap:",$fmt), $($arg)*)); - } - macro_rules! sdebug { - ($fmt:expr) => (print!($fmt)); - ($fmt:expr, $($arg:tt)*) => (print!($fmt, $($arg)*)); - } -} - -#[cfg(not(feature = "debug"))] -#[cfg_attr(not(feature = "debug"), macro_use)] -mod debug_macros { - macro_rules! debugln { - ($fmt:expr) => (); - ($fmt:expr, $($arg:tt)*) => (); - } - macro_rules! sdebugln { - ($fmt:expr) => (); - ($fmt:expr, $($arg:tt)*) => (); - } - macro_rules! debug { - ($fmt:expr) => (); - ($fmt:expr, $($arg:tt)*) => (); - } -} - -// Helper/deduplication macro for printing the correct number of spaces in help messages -// used in: -// src/args/arg_builder/*.rs -// src/app/mod.rs -macro_rules! write_nspaces { - ($dst:expr, $num:expr) => ({ - debugln!("write_spaces!: num={}", $num); - for _ in 0..$num { - $dst.write_all(b" ")?; - } - }) -} - -// convenience macro for remove an item from a vec -macro_rules! vec_remove_all { - ($vec:expr, $to_rem:expr) => { - debugln!("vec_remove_all! to_rem={:?}", $to_rem); - for i in (0 .. $vec.len()).rev() { - let should_remove = $to_rem.any(|name| name == &$vec[i]); - if should_remove { $vec.swap_remove(i); } - } - }; -} -macro_rules! find_from { - ($_self:expr, $arg_name:expr, $from:ident, $matcher:expr) => {{ - let mut ret = None; - for k in $matcher.arg_names() { - if let Some(f) = find_by_name!($_self, k, flags, iter) { - if let Some(ref v) = f.$from() { - if v.contains($arg_name) { - ret = Some(f.to_string()); - } - } - } - if let Some(o) = find_by_name!($_self, k, opts, iter) { - if let Some(ref v) = o.$from() { - if v.contains(&$arg_name) { - ret = Some(o.to_string()); - } - } - } - if let Some(pos) = find_by_name!($_self, k, positionals, values) { - if let Some(ref v) = pos.$from() { - if v.contains($arg_name) { - ret = Some(pos.b.name.to_owned()); - } - } - } - } - ret - }}; -} - -macro_rules! find_name_from { - ($_self:expr, $arg_name:expr, $from:ident, $matcher:expr) => {{ - let mut ret = None; - for k in $matcher.arg_names() { - if let Some(f) = find_by_name!($_self, k, flags, iter) { - if let Some(ref v) = f.$from() { - if v.contains($arg_name) { - ret = Some(f.b.name); - } - } - } - if let Some(o) = find_by_name!($_self, k, opts, iter) { - if let Some(ref v) = o.$from() { - if v.contains(&$arg_name) { - ret = Some(o.b.name); - } - } - } - if let Some(pos) = find_by_name!($_self, k, positionals, values) { - if let Some(ref v) = pos.$from() { - if v.contains($arg_name) { - ret = Some(pos.b.name); - } - } - } - } - ret - }}; -} - -// Finds an arg by name -macro_rules! find_by_name { - ($p:expr, $name:expr, $what:ident, $how:ident) => { - $p.$what.$how().find(|o| o.b.name == $name) - } -} - -// Finds an option including if it's aliasesed -macro_rules! find_opt_by_long { - (@os $_self:ident, $long:expr) => {{ - _find_by_long!($_self, $long, opts) - }}; - ($_self:ident, $long:expr) => {{ - _find_by_long!($_self, $long, opts) - }}; -} - -macro_rules! find_flag_by_long { - (@os $_self:ident, $long:expr) => {{ - _find_by_long!($_self, $long, flags) - }}; - ($_self:ident, $long:expr) => {{ - _find_by_long!($_self, $long, flags) - }}; -} - -macro_rules! _find_by_long { - ($_self:ident, $long:expr, $what:ident) => {{ - $_self.$what - .iter() - .filter(|a| a.s.long.is_some()) - .find(|a| { - a.s.long.unwrap() == $long || - (a.s.aliases.is_some() && - a.s - .aliases - .as_ref() - .unwrap() - .iter() - .any(|&(alias, _)| alias == $long)) - }) - }} -} - -// Finds an option -macro_rules! find_opt_by_short { - ($_self:ident, $short:expr) => {{ - _find_by_short!($_self, $short, opts) - }} -} - -macro_rules! find_flag_by_short { - ($_self:ident, $short:expr) => {{ - _find_by_short!($_self, $short, flags) - }} -} - -macro_rules! _find_by_short { - ($_self:ident, $short:expr, $what:ident) => {{ - $_self.$what - .iter() - .filter(|a| a.s.short.is_some()) - .find(|a| a.s.short.unwrap() == $short) - }} -} - -macro_rules! find_subcmd { - ($_self:expr, $sc:expr) => {{ - $_self.subcommands - .iter() - .find(|s| { - &*s.p.meta.name == $sc || - (s.p.meta.aliases.is_some() && - s.p - .meta - .aliases - .as_ref() - .unwrap() - .iter() - .any(|&(n, _)| n == $sc)) - }) - }}; -} - -macro_rules! shorts { - ($_self:ident) => {{ - _shorts_longs!($_self, short) - }}; -} - - -macro_rules! longs { - ($_self:ident) => {{ - _shorts_longs!($_self, long) - }}; -} - -macro_rules! _shorts_longs { - ($_self:ident, $what:ident) => {{ - $_self.flags - .iter() - .filter(|f| f.s.$what.is_some()) - .map(|f| f.s.$what.as_ref().unwrap()) - .chain($_self.opts.iter() - .filter(|o| o.s.$what.is_some()) - .map(|o| o.s.$what.as_ref().unwrap())) - }}; -} - -macro_rules! arg_names { - ($_self:ident) => {{ - _names!(@args $_self) - }}; -} - -macro_rules! sc_names { - ($_self:ident) => {{ - _names!(@sc $_self) - }}; -} - -macro_rules! _names { - (@args $_self:ident) => {{ - $_self.flags - .iter() - .map(|f| &*f.b.name) - .chain($_self.opts.iter() - .map(|o| &*o.b.name) - .chain($_self.positionals.values() - .map(|p| &*p.b.name))) - }}; - (@sc $_self:ident) => {{ - $_self.subcommands - .iter() - .map(|s| &*s.p.meta.name) - .chain($_self.subcommands - .iter() - .filter(|s| s.p.meta.aliases.is_some()) - .flat_map(|s| s.p.meta.aliases.as_ref().unwrap().iter().map(|&(n, _)| n))) - - }} -} diff --git a/vendor/registry-40351f815f426200/clap/src/map.rs b/vendor/registry-40351f815f426200/clap/src/map.rs deleted file mode 100644 index 12385db4c..000000000 --- a/vendor/registry-40351f815f426200/clap/src/map.rs +++ /dev/null @@ -1,84 +0,0 @@ -#[cfg(feature = "vec_map")] -pub use vec_map::{VecMap, Values}; - -#[cfg(not(feature = "vec_map"))] -pub use self::vec_map::{VecMap, Values}; - -#[cfg(not(feature = "vec_map"))] -mod vec_map { - use std::collections::BTreeMap; - use std::collections::btree_map; - use std::fmt::{self, Debug, Formatter}; - - #[derive(Clone, Default, Debug)] - pub struct VecMap { - inner: BTreeMap, - } - - impl VecMap { - pub fn new() -> Self { - VecMap { inner: Default::default() } - } - - pub fn len(&self) -> usize { - self.inner.len() - } - - pub fn is_empty(&self) -> bool { - self.inner.is_empty() - } - - pub fn insert(&mut self, key: usize, value: V) -> Option { - self.inner.insert(key, value) - } - - pub fn values(&self) -> Values { - self.inner.values() - } - - pub fn iter(&self) -> Iter { - Iter { inner: self.inner.iter() } - } - - pub fn contains_key(&self, key: usize) -> bool { - self.inner.contains_key(&key) - } - - pub fn entry(&mut self, key: usize) -> Entry { - self.inner.entry(key) - } - - pub fn get(&self, key: usize) -> Option<&V> { - self.inner.get(&key) - } - } - - pub type Values<'a, V> = btree_map::Values<'a, usize, V>; - - pub type Entry<'a, V> = btree_map::Entry<'a, usize, V>; - - #[derive(Clone)] - pub struct Iter<'a, V: 'a> { - inner: btree_map::Iter<'a, usize, V>, - } - - impl<'a, V: 'a + Debug> Debug for Iter<'a, V> { - fn fmt(&self, f: &mut Formatter) -> fmt::Result { - f.debug_list().entries(self.inner.clone()).finish() - } - } - - impl<'a, V: 'a> Iterator for Iter<'a, V> { - type Item = (usize, &'a V); - - fn next(&mut self) -> Option { - self.inner.next().map(|(k, v)| (*k, v)) - } - } - - impl<'a, V: 'a> DoubleEndedIterator for Iter<'a, V> { - fn next_back(&mut self) -> Option { - self.inner.next_back().map(|(k, v)| (*k, v)) - } - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/osstringext.rs b/vendor/registry-40351f815f426200/clap/src/osstringext.rs deleted file mode 100644 index 303cbcbef..000000000 --- a/vendor/registry-40351f815f426200/clap/src/osstringext.rs +++ /dev/null @@ -1,135 +0,0 @@ -#[cfg(target_os = "windows")] -use INVALID_UTF8; -use std::ffi::OsStr; -#[cfg(not(target_os = "windows"))] -use std::os::unix::ffi::OsStrExt; - -#[cfg(target_os = "windows")] -pub trait OsStrExt3 { - fn from_bytes(b: &[u8]) -> &Self; - fn as_bytes(&self) -> &[u8]; -} - -#[doc(hidden)] -pub trait OsStrExt2 { - fn starts_with(&self, s: &[u8]) -> bool; - fn split_at_byte(&self, b: u8) -> (&OsStr, &OsStr); - fn split_at(&self, i: usize) -> (&OsStr, &OsStr); - fn trim_left_matches(&self, b: u8) -> &OsStr; - fn len_(&self) -> usize; - fn contains_byte(&self, b: u8) -> bool; - fn is_empty_(&self) -> bool; - fn split(&self, b: u8) -> OsSplit; -} - -#[cfg(target_os = "windows")] -impl OsStrExt3 for OsStr { - fn from_bytes(b: &[u8]) -> &Self { - use std::mem; - unsafe { mem::transmute(b) } - } - fn as_bytes(&self) -> &[u8] { self.to_str().map(|s| s.as_bytes()).expect(INVALID_UTF8) } -} - -impl OsStrExt2 for OsStr { - fn starts_with(&self, s: &[u8]) -> bool { self.as_bytes().starts_with(s) } - - fn is_empty_(&self) -> bool { self.as_bytes().is_empty() } - - fn contains_byte(&self, byte: u8) -> bool { - for b in self.as_bytes() { - if b == &byte { - return true; - } - } - false - } - - fn split_at_byte(&self, byte: u8) -> (&OsStr, &OsStr) { - for (i, b) in self.as_bytes().iter().enumerate() { - if b == &byte { - return (OsStr::from_bytes(&self.as_bytes()[..i]), - OsStr::from_bytes(&self.as_bytes()[i + 1..])); - } - } - (&*self, OsStr::from_bytes(&self.as_bytes()[self.len_()..self.len_()])) - } - - fn trim_left_matches(&self, byte: u8) -> &OsStr { - for (i, b) in self.as_bytes().iter().enumerate() { - if b != &byte { - return OsStr::from_bytes(&self.as_bytes()[i..]); - } - } - &*self - } - - fn split_at(&self, i: usize) -> (&OsStr, &OsStr) { - (OsStr::from_bytes(&self.as_bytes()[..i]), OsStr::from_bytes(&self.as_bytes()[i..])) - } - - fn len_(&self) -> usize { self.as_bytes().len() } - - fn split(&self, b: u8) -> OsSplit { - OsSplit { - sep: b, - val: self.as_bytes(), - pos: 0, - } - } -} - -#[doc(hidden)] -#[derive(Clone, Debug)] -pub struct OsSplit<'a> { - sep: u8, - val: &'a [u8], - pos: usize, -} - -impl<'a> Iterator for OsSplit<'a> { - type Item = &'a OsStr; - - fn next(&mut self) -> Option<&'a OsStr> { - debugln!("OsSplit::next: self={:?}", self); - if self.pos == self.val.len() { - return None; - } - let start = self.pos; - for b in &self.val[start..] { - self.pos += 1; - if *b == self.sep { - return Some(OsStr::from_bytes(&self.val[start..self.pos - 1])); - } - } - Some(OsStr::from_bytes(&self.val[start..])) - } - fn size_hint(&self) -> (usize, Option) { - let mut count = 0; - for b in &self.val[self.pos..] { - if *b == self.sep { - count += 1; - } - } - if count > 0 { - return (count, Some(count)); - } - (0, None) - } -} - -impl<'a> DoubleEndedIterator for OsSplit<'a> { - fn next_back(&mut self) -> Option<&'a OsStr> { - if self.pos == 0 { - return None; - } - let start = self.pos; - for b in self.val[..self.pos].iter().rev() { - self.pos -= 1; - if *b == self.sep { - return Some(OsStr::from_bytes(&self.val[self.pos + 1..start])); - } - } - Some(OsStr::from_bytes(&self.val[..start])) - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/strext.rs b/vendor/registry-40351f815f426200/clap/src/strext.rs deleted file mode 100644 index 6f81367ab..000000000 --- a/vendor/registry-40351f815f426200/clap/src/strext.rs +++ /dev/null @@ -1,16 +0,0 @@ -pub trait _StrExt { - fn _is_char_boundary(&self, index: usize) -> bool; -} - -impl _StrExt for str { - #[inline] - fn _is_char_boundary(&self, index: usize) -> bool { - if index == self.len() { - return true; - } - match self.as_bytes().get(index) { - None => false, - Some(&b) => b < 128 || b >= 192, - } - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/suggestions.rs b/vendor/registry-40351f815f426200/clap/src/suggestions.rs deleted file mode 100644 index 7143c0b34..000000000 --- a/vendor/registry-40351f815f426200/clap/src/suggestions.rs +++ /dev/null @@ -1,116 +0,0 @@ -use app::App; -// Third Party -#[cfg(feature = "suggestions")] -use strsim; - -// Internal -use fmt::Format; - -/// Produces a string from a given list of possible values which is similar to -/// the passed in value `v` with a certain confidence. -/// Thus in a list of possible values like ["foo", "bar"], the value "fop" will yield -/// `Some("foo")`, whereas "blark" would yield `None`. -#[cfg(feature = "suggestions")] -#[cfg_attr(feature = "lints", allow(needless_lifetimes))] -pub fn did_you_mean<'a, T: ?Sized, I>(v: &str, possible_values: I) -> Option<&'a str> - where T: AsRef + 'a, - I: IntoIterator -{ - - let mut candidate: Option<(f64, &str)> = None; - for pv in possible_values { - let confidence = strsim::jaro_winkler(v, pv.as_ref()); - if confidence > 0.8 && - (candidate.is_none() || (candidate.as_ref().unwrap().0 < confidence)) { - candidate = Some((confidence, pv.as_ref())); - } - } - match candidate { - None => None, - Some((_, candidate)) => Some(candidate), - } -} - -#[cfg(not(feature = "suggestions"))] -pub fn did_you_mean<'a, T: ?Sized, I>(_: &str, _: I) -> Option<&'a str> - where T: AsRef + 'a, - I: IntoIterator -{ - None -} - -/// Returns a suffix that can be empty, or is the standard 'did you mean' phrase -#[cfg_attr(feature = "lints", allow(needless_lifetimes))] -pub fn did_you_mean_flag_suffix<'z, T, I>(arg: &str, longs: I, subcommands: &'z [App]) - -> (String, Option<&'z str>) - where T: AsRef + 'z, - I: IntoIterator -{ - match did_you_mean(arg, longs) { - Some(candidate) => { - let suffix = format!("\n\tDid you mean {}{}?", Format::Good("--"), Format::Good(candidate)); - return (suffix, Some(candidate)) - } - None => { - for subcommand in subcommands { - let opts = subcommand.p.flags.iter().filter_map(|f| f.s.long).chain( - subcommand.p.opts.iter().filter_map(|o| o.s.long)); - - if let Some(candidate) = did_you_mean(arg, opts) { - let suffix = format!( - "\n\tDid you mean to put '{}{}' after the subcommand '{}'?", - Format::Good("--"), - Format::Good(candidate), - Format::Good(subcommand.get_name())); - return (suffix, Some(candidate)); - } - } - } - } - (String::new(), None) -} - -/// Returns a suffix that can be empty, or is the standard 'did you mean' phrase -pub fn did_you_mean_value_suffix<'z, T, I>(arg: &str, values: I) -> (String, Option<&'z str>) - where T: AsRef + 'z, - I: IntoIterator -{ - match did_you_mean(arg, values) { - Some(candidate) => { - let suffix = format!("\n\tDid you mean '{}'?", Format::Good(candidate)); - (suffix, Some(candidate)) - } - None => (String::new(), None), - } -} - -#[cfg(all(test, features = "suggestions"))] -mod test { - use super::*; - - #[test] - fn possible_values_match() { - let p_vals = ["test", "possible", "values"]; - assert_eq!(did_you_mean("tst", p_vals.iter()), Some("test")); - } - - #[test] - fn possible_values_nomatch() { - let p_vals = ["test", "possible", "values"]; - assert!(did_you_mean("hahaahahah", p_vals.iter()).is_none()); - } - - #[test] - fn suffix_long() { - let p_vals = ["test", "possible", "values"]; - let suffix = "\n\tDid you mean \'--test\'?"; - assert_eq!(did_you_mean_flag_suffix("tst", p_vals.iter(), []), (suffix, Some("test"))); - } - - #[test] - fn suffix_enum() { - let p_vals = ["test", "possible", "values"]; - let suffix = "\n\tDid you mean \'test\'?"; - assert_eq!(did_you_mean_value_suffix("tst", p_vals.iter()), (suffix, Some("test"))); - } -} diff --git a/vendor/registry-40351f815f426200/clap/src/usage_parser.rs b/vendor/registry-40351f815f426200/clap/src/usage_parser.rs deleted file mode 100644 index 2593ae7fa..000000000 --- a/vendor/registry-40351f815f426200/clap/src/usage_parser.rs +++ /dev/null @@ -1,1198 +0,0 @@ - -// Internal -use INTERNAL_ERROR_MSG; -use args::Arg; -use args::settings::ArgSettings; -use map::VecMap; - -#[derive(PartialEq, Debug)] -enum UsageToken { - Name, - ValName, - Short, - Long, - Help, - Multiple, - Unknown, -} - -#[doc(hidden)] -#[derive(Debug)] -pub struct UsageParser<'a> { - usage: &'a str, - pos: usize, - start: usize, - prev: UsageToken, - explicit_name_set: bool, -} - -impl<'a> UsageParser<'a> { - fn new(usage: &'a str) -> Self { - debugln!("UsageParser::new: usage={:?}", usage); - UsageParser { - usage: usage, - pos: 0, - start: 0, - prev: UsageToken::Unknown, - explicit_name_set: false, - } - } - - pub fn from_usage(usage: &'a str) -> Self { - debugln!("UsageParser::from_usage;"); - UsageParser::new(usage) - } - - pub fn parse(mut self) -> Arg<'a, 'a> { - debugln!("UsageParser::parse;"); - let mut arg = Arg::default(); - loop { - debugln!("UsageParser::parse:iter: pos={};", self.pos); - self.stop_at(token); - if let Some(&c) = self.usage.as_bytes().get(self.pos) { - match c { - b'-' => self.short_or_long(&mut arg), - b'.' => self.multiple(&mut arg), - b'\'' => self.help(&mut arg), - _ => self.name(&mut arg), - } - } else { - break; - } - } - debug_assert!(!arg.b.name.is_empty(), - format!("No name found for Arg when parsing usage string: {}", - self.usage)); - arg.v.num_vals = match arg.v.val_names { - Some(ref v) if v.len() >= 2 => Some(v.len() as u64), - _ => None, - }; - debugln!("UsageParser::parse: vals...{:?}", arg.v.val_names); - arg - } - - fn name(&mut self, arg: &mut Arg<'a, 'a>) { - debugln!("UsageParser::name;"); - if *self.usage.as_bytes().get(self.pos).expect(INTERNAL_ERROR_MSG) == b'<' && - !self.explicit_name_set { - arg.setb(ArgSettings::Required); - } - self.pos += 1; - self.stop_at(name_end); - let name = &self.usage[self.start..self.pos]; - if self.prev == UsageToken::Unknown { - debugln!("UsageParser::name: setting name...{}", name); - arg.b.name = name; - if arg.s.long.is_none() && arg.s.short.is_none() { - debugln!("UsageParser::name: explicit name set..."); - self.explicit_name_set = true; - self.prev = UsageToken::Name; - } - } else { - debugln!("UsageParser::name: setting val name...{}", name); - if let Some(ref mut v) = arg.v.val_names { - let len = v.len(); - v.insert(len, name); - } else { - let mut v = VecMap::new(); - v.insert(0, name); - arg.v.val_names = Some(v); - arg.setb(ArgSettings::TakesValue); - } - self.prev = UsageToken::ValName; - } - } - - fn stop_at(&mut self, f: F) - where F: Fn(u8) -> bool - { - debugln!("UsageParser::stop_at;"); - self.start = self.pos; - self.pos += self.usage[self.start..].bytes().take_while(|&b| f(b)).count(); - } - - fn short_or_long(&mut self, arg: &mut Arg<'a, 'a>) { - debugln!("UsageParser::short_or_long;"); - self.pos += 1; - if *self.usage.as_bytes().get(self.pos).expect(INTERNAL_ERROR_MSG) == b'-' { - self.pos += 1; - self.long(arg); - return; - } - self.short(arg) - } - - fn long(&mut self, arg: &mut Arg<'a, 'a>) { - debugln!("UsageParser::long;"); - self.stop_at(long_end); - let name = &self.usage[self.start..self.pos]; - if !self.explicit_name_set { - debugln!("UsageParser::long: setting name...{}", name); - arg.b.name = name; - } - debugln!("UsageParser::long: setting long...{}", name); - arg.s.long = Some(name); - self.prev = UsageToken::Long; - } - - fn short(&mut self, arg: &mut Arg<'a, 'a>) { - debugln!("UsageParser::short;"); - let start = &self.usage[self.pos..]; - let short = start.chars().nth(0).expect(INTERNAL_ERROR_MSG); - debugln!("UsageParser::short: setting short...{}", short); - arg.s.short = Some(short); - if arg.b.name.is_empty() { - // --long takes precedence but doesn't set self.explicit_name_set - let name = &start[..short.len_utf8()]; - debugln!("UsageParser::short: setting name...{}", name); - arg.b.name = name; - } - self.prev = UsageToken::Short; - } - - // "something..." - fn multiple(&mut self, arg: &mut Arg) { - debugln!("UsageParser::multiple;"); - let mut dot_counter = 1; - let start = self.pos; - let mut bytes = self.usage[start..].bytes(); - while bytes.next() == Some(b'.') { - dot_counter += 1; - self.pos += 1; - if dot_counter == 3 { - debugln!("UsageParser::multiple: setting multiple"); - arg.setb(ArgSettings::Multiple); - if arg.is_set(ArgSettings::TakesValue) { - arg.setb(ArgSettings::UseValueDelimiter); - arg.unsetb(ArgSettings::ValueDelimiterNotSet); - if arg.v.val_delim.is_none() { - arg.v.val_delim = Some(','); - } - } - self.prev = UsageToken::Multiple; - self.pos += 1; - break; - } - } - } - - fn help(&mut self, arg: &mut Arg<'a, 'a>) { - debugln!("UsageParser::help;"); - self.stop_at(help_start); - self.start = self.pos + 1; - self.pos = self.usage.len() - 1; - debugln!("UsageParser::help: setting help...{}", &self.usage[self.start..self.pos]); - arg.b.help = Some(&self.usage[self.start..self.pos]); - self.pos += 1; // Move to next byte to keep from thinking ending ' is a start - self.prev = UsageToken::Help; - } -} - -#[inline] -fn name_end(b: u8) -> bool { b != b']' && b != b'>' } - -#[inline] -fn token(b: u8) -> bool { b != b'\'' && b != b'.' && b != b'<' && b != b'[' && b != b'-' } - -#[inline] -fn long_end(b: u8) -> bool { - b != b'\'' && b != b'.' && b != b'<' && b != b'[' && b != b'=' && b != b' ' -} - -#[inline] -fn help_start(b: u8) -> bool { b != b'\'' } - -#[cfg(test)] -mod test { - use args::Arg; - use args::ArgSettings; - - #[test] - fn create_flag_usage() { - let a = Arg::from_usage("[flag] -f 'some help info'"); - assert_eq!(a.b.name, "flag"); - assert_eq!(a.s.short.unwrap(), 'f'); - assert!(a.s.long.is_none()); - assert_eq!(a.b.help.unwrap(), "some help info"); - assert!(!a.is_set(ArgSettings::Multiple)); - assert!(a.v.val_names.is_none()); - assert!(a.v.num_vals.is_none()); - - let b = Arg::from_usage("[flag] --flag 'some help info'"); - assert_eq!(b.b.name, "flag"); - assert_eq!(b.s.long.unwrap(), "flag"); - assert!(b.s.short.is_none()); - assert_eq!(b.b.help.unwrap(), "some help info"); - assert!(!b.is_set(ArgSettings::Multiple)); - assert!(a.v.val_names.is_none()); - assert!(a.v.num_vals.is_none()); - - let b = Arg::from_usage("--flag 'some help info'"); - assert_eq!(b.b.name, "flag"); - assert_eq!(b.s.long.unwrap(), "flag"); - assert!(b.s.short.is_none()); - assert_eq!(b.b.help.unwrap(), "some help info"); - assert!(!b.is_set(ArgSettings::Multiple)); - assert!(b.v.val_names.is_none()); - assert!(b.v.num_vals.is_none()); - - let c = Arg::from_usage("[flag] -f --flag 'some help info'"); - assert_eq!(c.b.name, "flag"); - assert_eq!(c.s.short.unwrap(), 'f'); - assert_eq!(c.s.long.unwrap(), "flag"); - assert_eq!(c.b.help.unwrap(), "some help info"); - assert!(!c.is_set(ArgSettings::Multiple)); - assert!(c.v.val_names.is_none()); - assert!(c.v.num_vals.is_none()); - - let d = Arg::from_usage("[flag] -f... 'some help info'"); - assert_eq!(d.b.name, "flag"); - assert_eq!(d.s.short.unwrap(), 'f'); - assert!(d.s.long.is_none()); - assert_eq!(d.b.help.unwrap(), "some help info"); - assert!(d.is_set(ArgSettings::Multiple)); - assert!(d.v.val_names.is_none()); - assert!(d.v.num_vals.is_none()); - - let e = Arg::from_usage("[flag] -f --flag... 'some help info'"); - assert_eq!(e.b.name, "flag"); - assert_eq!(e.s.long.unwrap(), "flag"); - assert_eq!(e.s.short.unwrap(), 'f'); - assert_eq!(e.b.help.unwrap(), "some help info"); - assert!(e.is_set(ArgSettings::Multiple)); - assert!(e.v.val_names.is_none()); - assert!(e.v.num_vals.is_none()); - - let e = Arg::from_usage("-f --flag... 'some help info'"); - assert_eq!(e.b.name, "flag"); - assert_eq!(e.s.long.unwrap(), "flag"); - assert_eq!(e.s.short.unwrap(), 'f'); - assert_eq!(e.b.help.unwrap(), "some help info"); - assert!(e.is_set(ArgSettings::Multiple)); - assert!(e.v.val_names.is_none()); - assert!(e.v.num_vals.is_none()); - - let e = Arg::from_usage("--flags"); - assert_eq!(e.b.name, "flags"); - assert_eq!(e.s.long.unwrap(), "flags"); - assert!(e.v.val_names.is_none()); - assert!(e.v.num_vals.is_none()); - - let e = Arg::from_usage("--flags..."); - assert_eq!(e.b.name, "flags"); - assert_eq!(e.s.long.unwrap(), "flags"); - assert!(e.is_set(ArgSettings::Multiple)); - assert!(e.v.val_names.is_none()); - assert!(e.v.num_vals.is_none()); - - let e = Arg::from_usage("[flags] -f"); - assert_eq!(e.b.name, "flags"); - assert_eq!(e.s.short.unwrap(), 'f'); - assert!(e.v.val_names.is_none()); - assert!(e.v.num_vals.is_none()); - - let e = Arg::from_usage("[flags] -f..."); - assert_eq!(e.b.name, "flags"); - assert_eq!(e.s.short.unwrap(), 'f'); - assert!(e.is_set(ArgSettings::Multiple)); - assert!(e.v.val_names.is_none()); - assert!(e.v.num_vals.is_none()); - - let a = Arg::from_usage("-f 'some help info'"); - assert_eq!(a.b.name, "f"); - assert_eq!(a.s.short.unwrap(), 'f'); - assert!(a.s.long.is_none()); - assert_eq!(a.b.help.unwrap(), "some help info"); - assert!(!a.is_set(ArgSettings::Multiple)); - assert!(a.v.val_names.is_none()); - assert!(a.v.num_vals.is_none()); - - let e = Arg::from_usage("-f"); - assert_eq!(e.b.name, "f"); - assert_eq!(e.s.short.unwrap(), 'f'); - assert!(e.v.val_names.is_none()); - assert!(e.v.num_vals.is_none()); - - let e = Arg::from_usage("-f..."); - assert_eq!(e.b.name, "f"); - assert_eq!(e.s.short.unwrap(), 'f'); - assert!(e.is_set(ArgSettings::Multiple)); - assert!(e.v.val_names.is_none()); - assert!(e.v.num_vals.is_none()); - } - - #[test] - fn create_option_usage0() { - // Short only - let a = Arg::from_usage("[option] -o [opt] 'some help info'"); - assert_eq!(a.b.name, "option"); - assert_eq!(a.s.short.unwrap(), 'o'); - assert!(a.s.long.is_none()); - assert_eq!(a.b.help.unwrap(), "some help info"); - assert!(!a.is_set(ArgSettings::Multiple)); - assert!(a.is_set(ArgSettings::TakesValue)); - assert!(!a.is_set(ArgSettings::Required)); - assert_eq!(a.v.val_names.unwrap().values().collect::>(), [&"opt"]); - assert!(a.v.num_vals.is_none()); - } - - #[test] - fn create_option_usage1() { - let b = Arg::from_usage("-o [opt] 'some help info'"); - assert_eq!(b.b.name, "o"); - assert_eq!(b.s.short.unwrap(), 'o'); - assert!(b.s.long.is_none()); - assert_eq!(b.b.help.unwrap(), "some help info"); - assert!(!b.is_set(ArgSettings::Multiple)); - assert!(b.is_set(ArgSettings::TakesValue)); - assert!(!b.is_set(ArgSettings::Required)); - assert_eq!(b.v.val_names.unwrap().values().collect::>(), [&"opt"]); - assert!(b.v.num_vals.is_none()); - } - - #[test] - fn create_option_usage2() { - let c = Arg::from_usage("(self, value: A) -> Result - where - A: EnumAccess<'de>, - { - let (level, variant) = value.variant_seed(LevelIdentifier)?; - // Every variant is a unit variant. - variant.unit_variant()?; - Ok(level) - } - } - - deserializer.deserialize_enum("Level", &LOG_LEVEL_NAMES[1..], LevelEnum) - } -} - -impl Serialize for LevelFilter { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - match *self { - LevelFilter::Off => serializer.serialize_unit_variant("LevelFilter", 0, "OFF"), - LevelFilter::Error => serializer.serialize_unit_variant("LevelFilter", 1, "ERROR"), - LevelFilter::Warn => serializer.serialize_unit_variant("LevelFilter", 2, "WARN"), - LevelFilter::Info => serializer.serialize_unit_variant("LevelFilter", 3, "INFO"), - LevelFilter::Debug => serializer.serialize_unit_variant("LevelFilter", 4, "DEBUG"), - LevelFilter::Trace => serializer.serialize_unit_variant("LevelFilter", 5, "TRACE"), - } - } -} - -impl<'de> Deserialize<'de> for LevelFilter { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - struct LevelFilterIdentifier; - - impl<'de> Visitor<'de> for LevelFilterIdentifier { - type Value = LevelFilter; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("log level filter") - } - - fn visit_str(self, s: &str) -> Result - where - E: Error, - { - // Case insensitive. - FromStr::from_str(s).map_err(|_| Error::unknown_variant(s, &LOG_LEVEL_NAMES)) - } - - fn visit_bytes(self, value: &[u8]) -> Result - where - E: Error, - { - let variant = str::from_utf8(value) - .map_err(|_| Error::invalid_value(Unexpected::Bytes(value), &self))?; - - self.visit_str(variant) - } - } - - impl<'de> DeserializeSeed<'de> for LevelFilterIdentifier { - type Value = LevelFilter; - - fn deserialize(self, deserializer: D) -> Result - where - D: Deserializer<'de>, - { - deserializer.deserialize_identifier(LevelFilterIdentifier) - } - } - - struct LevelFilterEnum; - - impl<'de> Visitor<'de> for LevelFilterEnum { - type Value = LevelFilter; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("log level filter") - } - - fn visit_enum(self, value: A) -> Result - where - A: EnumAccess<'de>, - { - let (level_filter, variant) = value.variant_seed(LevelFilterIdentifier)?; - // Every variant is a unit variant. - variant.unit_variant()?; - Ok(level_filter) - } - } - - deserializer.deserialize_enum("LevelFilter", &LOG_LEVEL_NAMES, LevelFilterEnum) - } -} - -#[cfg(test)] -mod tests { - extern crate serde_test; - use self::serde_test::{assert_de_tokens, assert_de_tokens_error, assert_tokens, Token}; - - use {Level, LevelFilter}; - - fn level_token(variant: &'static str) -> Token { - Token::UnitVariant { - name: "Level", - variant: variant, - } - } - - fn level_bytes_tokens(variant: &'static [u8]) -> [Token; 3] { - [ - Token::Enum { name: "Level" }, - Token::Bytes(variant), - Token::Unit, - ] - } - - fn level_filter_token(variant: &'static str) -> Token { - Token::UnitVariant { - name: "LevelFilter", - variant: variant, - } - } - - fn level_filter_bytes_tokens(variant: &'static [u8]) -> [Token; 3] { - [ - Token::Enum { - name: "LevelFilter", - }, - Token::Bytes(variant), - Token::Unit, - ] - } - - #[test] - fn test_level_ser_de() { - let cases = [ - (Level::Error, [level_token("ERROR")]), - (Level::Warn, [level_token("WARN")]), - (Level::Info, [level_token("INFO")]), - (Level::Debug, [level_token("DEBUG")]), - (Level::Trace, [level_token("TRACE")]), - ]; - - for &(s, expected) in &cases { - assert_tokens(&s, &expected); - } - } - - #[test] - fn test_level_case_insensitive() { - let cases = [ - (Level::Error, [level_token("error")]), - (Level::Warn, [level_token("warn")]), - (Level::Info, [level_token("info")]), - (Level::Debug, [level_token("debug")]), - (Level::Trace, [level_token("trace")]), - ]; - - for &(s, expected) in &cases { - assert_de_tokens(&s, &expected); - } - } - - #[test] - fn test_level_de_bytes() { - let cases = [ - (Level::Error, level_bytes_tokens(b"ERROR")), - (Level::Warn, level_bytes_tokens(b"WARN")), - (Level::Info, level_bytes_tokens(b"INFO")), - (Level::Debug, level_bytes_tokens(b"DEBUG")), - (Level::Trace, level_bytes_tokens(b"TRACE")), - ]; - - for &(value, tokens) in &cases { - assert_de_tokens(&value, &tokens); - } - } - - #[test] - fn test_level_de_error() { - let msg = "unknown variant `errorx`, expected one of \ - `ERROR`, `WARN`, `INFO`, `DEBUG`, `TRACE`"; - assert_de_tokens_error::(&[level_token("errorx")], msg); - } - - #[test] - fn test_level_filter_ser_de() { - let cases = [ - (LevelFilter::Off, [level_filter_token("OFF")]), - (LevelFilter::Error, [level_filter_token("ERROR")]), - (LevelFilter::Warn, [level_filter_token("WARN")]), - (LevelFilter::Info, [level_filter_token("INFO")]), - (LevelFilter::Debug, [level_filter_token("DEBUG")]), - (LevelFilter::Trace, [level_filter_token("TRACE")]), - ]; - - for &(s, expected) in &cases { - assert_tokens(&s, &expected); - } - } - - #[test] - fn test_level_filter_case_insensitive() { - let cases = [ - (LevelFilter::Off, [level_filter_token("off")]), - (LevelFilter::Error, [level_filter_token("error")]), - (LevelFilter::Warn, [level_filter_token("warn")]), - (LevelFilter::Info, [level_filter_token("info")]), - (LevelFilter::Debug, [level_filter_token("debug")]), - (LevelFilter::Trace, [level_filter_token("trace")]), - ]; - - for &(s, expected) in &cases { - assert_de_tokens(&s, &expected); - } - } - - #[test] - fn test_level_filter_de_bytes() { - let cases = [ - (LevelFilter::Off, level_filter_bytes_tokens(b"OFF")), - (LevelFilter::Error, level_filter_bytes_tokens(b"ERROR")), - (LevelFilter::Warn, level_filter_bytes_tokens(b"WARN")), - (LevelFilter::Info, level_filter_bytes_tokens(b"INFO")), - (LevelFilter::Debug, level_filter_bytes_tokens(b"DEBUG")), - (LevelFilter::Trace, level_filter_bytes_tokens(b"TRACE")), - ]; - - for &(value, tokens) in &cases { - assert_de_tokens(&value, &tokens); - } - } - - #[test] - fn test_level_filter_de_error() { - let msg = "unknown variant `errorx`, expected one of \ - `OFF`, `ERROR`, `WARN`, `INFO`, `DEBUG`, `TRACE`"; - assert_de_tokens_error::(&[level_filter_token("errorx")], msg); - } -} diff --git a/vendor/registry-40351f815f426200/log/tests/filters.rs b/vendor/registry-40351f815f426200/log/tests/filters.rs deleted file mode 100644 index 84449ccfe..000000000 --- a/vendor/registry-40351f815f426200/log/tests/filters.rs +++ /dev/null @@ -1,66 +0,0 @@ -#[macro_use] -extern crate log; - -use std::sync::{Arc, Mutex}; -use log::{Level, LevelFilter, Log, Record, Metadata}; - -#[cfg(feature = "std")] -use log::set_boxed_logger; - -#[cfg(not(feature = "std"))] -fn set_boxed_logger(logger: Box) -> Result<(), log::SetLoggerError> { - log::set_logger(unsafe { &*Box::into_raw(logger) }) -} - -struct State { - last_log: Mutex>, -} - -struct Logger(Arc); - -impl Log for Logger { - fn enabled(&self, _: &Metadata) -> bool { - true - } - - fn log(&self, record: &Record) { - *self.0.last_log.lock().unwrap() = Some(record.level()); - } - fn flush(&self) {} -} - -fn main() { - let me = Arc::new(State { last_log: Mutex::new(None) }); - let a = me.clone(); - set_boxed_logger(Box::new(Logger(me))).unwrap(); - - test(&a, LevelFilter::Off); - test(&a, LevelFilter::Error); - test(&a, LevelFilter::Warn); - test(&a, LevelFilter::Info); - test(&a, LevelFilter::Debug); - test(&a, LevelFilter::Trace); -} - -fn test(a: &State, filter: LevelFilter) { - log::set_max_level(filter); - error!(""); - last(&a, t(Level::Error, filter)); - warn!(""); - last(&a, t(Level::Warn, filter)); - info!(""); - last(&a, t(Level::Info, filter)); - debug!(""); - last(&a, t(Level::Debug, filter)); - trace!(""); - last(&a, t(Level::Trace, filter)); - - fn t(lvl: Level, filter: LevelFilter) -> Option { - if lvl <= filter { Some(lvl) } else { None } - } -} - -fn last(state: &State, expected: Option) { - let lvl = state.last_log.lock().unwrap().take(); - assert_eq!(lvl, expected); -} diff --git a/vendor/registry-40351f815f426200/numtoa/.cargo-checksum.json b/vendor/registry-40351f815f426200/numtoa/.cargo-checksum.json deleted file mode 100644 index 0155eb3a8..000000000 --- a/vendor/registry-40351f815f426200/numtoa/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"4e13b8b2df85c3700056bf852bbc0d75973b5c67d3450c0f9c949c162783d85b","LICENSE-APACHE":"c95bae1d1ce0235ecccd3560b772ec1efb97f348a79f0fbe0a634f0c2ccefe2c","LICENSE-MIT":"fce969aafe49874e25d602153abe60a686ab37a7c97ff36ba4cfd270337ef7e0","README.md":"5c788c039c47e327abed0d61b1a7157851c914e33689716ec9c848cbd9baf013","src/lib.rs":"fd812addca5e63c49bd0d480be72a14bdd50f7fa78044b7796f38b8b9d911d72"},"package":"b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/numtoa/Cargo.toml b/vendor/registry-40351f815f426200/numtoa/Cargo.toml deleted file mode 100644 index 7a026a1b5..000000000 --- a/vendor/registry-40351f815f426200/numtoa/Cargo.toml +++ /dev/null @@ -1,26 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "numtoa" -version = "0.1.0" -authors = ["Michael Aaron Murphy "] -description = "Convert numbers into stack-allocated byte arrays" -documentation = "https://docs.rs/numtoa" -readme = "README.md" -keywords = ["numbers", "convert", "numtoa", "itoa", "no_std"] -categories = ["value-formatting"] -license = "MIT OR Apache-2.0" -repository = "https://gitlab.com/mmstick/numtoa" - -[features] -std = [] diff --git a/vendor/registry-40351f815f426200/numtoa/LICENSE-APACHE b/vendor/registry-40351f815f426200/numtoa/LICENSE-APACHE deleted file mode 100644 index 57bc88a15..000000000 --- a/vendor/registry-40351f815f426200/numtoa/LICENSE-APACHE +++ /dev/null @@ -1,202 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - diff --git a/vendor/registry-40351f815f426200/numtoa/LICENSE-MIT b/vendor/registry-40351f815f426200/numtoa/LICENSE-MIT deleted file mode 100644 index 492da6317..000000000 --- a/vendor/registry-40351f815f426200/numtoa/LICENSE-MIT +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2017 Michael Aaron Murphy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/vendor/registry-40351f815f426200/numtoa/README.md b/vendor/registry-40351f815f426200/numtoa/README.md deleted file mode 100644 index 497e906a3..000000000 --- a/vendor/registry-40351f815f426200/numtoa/README.md +++ /dev/null @@ -1,65 +0,0 @@ -# NumToA - -## `#![no_std]` Compatible with Zero Heap Allocations - -The standard library provides a convenient method of converting numbers into strings, but these strings are -heap-allocated. If you have an application which needs to convert large volumes of numbers into strings, but don't -want to pay the price of heap allocation, this crate provides an efficient `no_std`-compatible method of heaplessly converting numbers -into their string representations, storing the representation within a reusable byte array. - -## Supports Multiple Bases - -In addition to supporting the standard base 10 conversion, this implementation allows you to select the base of -your choice. Therefore, if you want a binary representation, set the base to 2. If you want hexadecimal, set the -base to 16. - -## No Unsafe - -Both the standard library and itoa crate rely on unsafe functions, but this implementation has been able to avoid -the use of unsafe entirely. - -## Fast - -Performance is roughly identical to that of the `itoa` crate when performing base 10 conversions. Below is a benchmark -of printing 0 through 5,000,000 to `/dev/null` - -``` -std: 1150615048 ns -itoa: 838556714 ns -numtoa: 825544518 ns -``` - -## Base 10 Example - -```rust -use numtoa::NumToA; -use std::io::{self, Write}; - -let stdout = io::stdout(); -let mut stdout = stdout.lock(); -let mut buffer = [0u8; 20]; - -let number: u32 = 162392; -let mut start_index = number.numtoa(10, &mut buffer); -let _ = stdout.write(&buffer[start_index..]); -let _ = stdout.write(b"\n"); -assert_eq!(&buffer[start_index..], b"162392"); - -let other_number: i32 = -6235; -start_index = other_number.numtoa(10, &mut buffer); -let _ = stdout.write(&buffer[start_index..]); -let _ = stdout.write(b"\n"); -assert_eq!(&buffer[start_index..], b"-6235"); - -let large_num: u64 = 35320842; -start_index = large_num.numtoa(10, &mut buffer); -let _ = stdout.write(&buffer[start_index..]); -let _ = stdout.write(b"\n"); -assert_eq!(&buffer[start_index..], b"35320842"); - -let max_u64: u64 = 18446744073709551615; -start_index = max_u64.numtoa(10, &mut buffer); -let _ = stdout.write(&buffer[start_index..]); -let _ = stdout.write(b"\n"); -assert_eq!(&buffer[start_index..], b"18446744073709551615"); -``` diff --git a/vendor/registry-40351f815f426200/numtoa/src/lib.rs b/vendor/registry-40351f815f426200/numtoa/src/lib.rs deleted file mode 100644 index c15b23f09..000000000 --- a/vendor/registry-40351f815f426200/numtoa/src/lib.rs +++ /dev/null @@ -1,540 +0,0 @@ -//! The standard library provides a convenient method of converting numbers into strings, but these strings are -//! heap-allocated. If you have an application which needs to convert large volumes of numbers into strings, but don't -//! want to pay the price of heap allocation, this crate provides an efficient `no_std`-compatible method of heaplessly converting numbers -//! into their string representations, storing the representation within a reusable byte array. -//! -//! In addition to supporting the standard base 10 conversion, this implementation allows you to select the base of -//! your choice. Therefore, if you want a binary representation, set the base to 2. If you want hexadecimal, set the -//! base to 16. -//! -//! # Convenience Example -//! -//! ``` -//! use numtoa::NumToA; -//! -//! let mut buf = [0u8; 20]; -//! let mut string = String::new(); -//! -//! for number in (1..10) { -//! string.push_str(number.numtoa_str(10, &mut buf)); -//! string.push('\n'); -//! } -//! -//! println!("{}", string); -//! ``` -//! -//! ## Base 10 Example -//! ``` -//! use numtoa::NumToA; -//! use std::io::{self, Write}; -//! -//! let stdout = io::stdout(); -//! let mut stdout = stdout.lock(); -//! let mut buffer = [0u8; 20]; -//! -//! let number: u32 = 162392; -//! let mut start_indice = number.numtoa(10, &mut buffer); -//! let _ = stdout.write(&buffer[start_indice..]); -//! let _ = stdout.write(b"\n"); -//! assert_eq!(&buffer[start_indice..], b"162392"); -//! -//! let other_number: i32 = -6235; -//! start_indice = other_number.numtoa(10, &mut buffer); -//! let _ = stdout.write(&buffer[start_indice..]); -//! let _ = stdout.write(b"\n"); -//! assert_eq!(&buffer[start_indice..], b"-6235"); -//! -//! let other_number: i8 = -128; -//! start_indice = other_number.numtoa(10, &mut buffer); -//! let _ = stdout.write(&buffer[start_indice..]); -//! let _ = stdout.write(b"\n"); -//! assert_eq!(&buffer[start_indice..], b"-128"); -//! -//! let other_number: i8 = 53; -//! start_indice = other_number.numtoa(10, &mut buffer); -//! let _ = stdout.write(&buffer[start_indice..]); -//! let _ = stdout.write(b"\n"); -//! assert_eq!(&buffer[start_indice..], b"53"); -//! -//! let other_number: i16 = -256; -//! start_indice = other_number.numtoa(10, &mut buffer); -//! let _ = stdout.write(&buffer[start_indice..]); -//! let _ = stdout.write(b"\n"); -//! assert_eq!(&buffer[start_indice..], b"-256"); -//! -//! let other_number: i16 = -32768; -//! start_indice = other_number.numtoa(10, &mut buffer); -//! let _ = stdout.write(&buffer[start_indice..]); -//! let _ = stdout.write(b"\n"); -//! assert_eq!(&buffer[start_indice..], b"-32768"); -//! -//! let large_num: u64 = 35320842; -//! start_indice = large_num.numtoa(10, &mut buffer); -//! let _ = stdout.write(&buffer[start_indice..]); -//! let _ = stdout.write(b"\n"); -//! assert_eq!(&buffer[start_indice..], b"35320842"); -//! -//! let max_u64: u64 = 18446744073709551615; -//! start_indice = max_u64.numtoa(10, &mut buffer); -//! let _ = stdout.write(&buffer[start_indice..]); -//! let _ = stdout.write(b"\n"); -//! assert_eq!(&buffer[start_indice..], b"18446744073709551615"); -//! ``` - -#![no_std] -use core::mem::size_of; - -#[cfg(feature = "std")] -extern crate std; -#[cfg(feature = "std")] -use std::str; - -/// Converts a number into a string representation, storing the conversion into a mutable byte slice. -pub trait NumToA { - /// Given a base for encoding and a mutable byte slice, write the number into the byte slice and return the - /// indice where the inner string begins. The inner string can be extracted by slicing the byte slice from - /// that indice. - /// - /// # Panics - /// If the supplied buffer is smaller than the number of bytes needed to write the integer, this will panic. - /// On debug builds, this function will perform a check on base 10 conversions to ensure that the input array - /// is large enough to hold the largest possible value in digits. - /// - /// # Example - /// ``` - /// use numtoa::NumToA; - /// use std::io::{self, Write}; - /// - /// let stdout = io::stdout(); - /// let stdout = &mut io::stdout(); - /// - /// let mut buffer = [0u8; 20]; - /// let number = 15325; - /// let start_indice = number.numtoa(10, &mut buffer); - /// let _ = stdout.write(&buffer[start_indice..]); - /// assert_eq!(&buffer[start_indice..], b"15325"); - /// ``` - fn numtoa(self, base: T, string: &mut [u8]) -> usize; - - #[cfg(feature = "std")] - /// Convenience method for quickly getting a string from the input's array buffer. - fn numtoa_str(self, base: T, buf: &mut [u8; 20]) -> &str; -} - -// A lookup table to prevent the need for conditional branching -// The value of the remainder of each step will be used as the index -const LOOKUP: &[u8] = b"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; - -// A lookup table optimized for decimal lookups. Each two indices represents one possible number. -const DEC_LOOKUP: &[u8; 200] = b"0001020304050607080910111213141516171819\ - 2021222324252627282930313233343536373839\ - 4041424344454647484950515253545556575859\ - 6061626364656667686970717273747576777879\ - 8081828384858687888990919293949596979899"; - -macro_rules! base_10 { - ($number:ident, $index:ident, $string:ident) => { - // Decode four characters at the same time - while $number > 9999 { - let rem = ($number % 10000) as u16; - let (frst, scnd) = ((rem / 100) * 2, (rem % 100) * 2); - $string[$index-3..$index-1].copy_from_slice(&DEC_LOOKUP[frst as usize..frst as usize+2]); - $string[$index-1..$index+1].copy_from_slice(&DEC_LOOKUP[scnd as usize..scnd as usize+2]); - $index = $index.wrapping_sub(4); - $number /= 10000; - } - - if $number > 999 { - let (frst, scnd) = (($number / 100) * 2, ($number % 100) * 2); - $string[$index-3..$index-1].copy_from_slice(&DEC_LOOKUP[frst as usize..frst as usize+2]); - $string[$index-1..$index+1].copy_from_slice(&DEC_LOOKUP[scnd as usize..scnd as usize+2]); - $index = $index.wrapping_sub(4); - } else if $number > 99 { - let section = ($number as u16 / 10) * 2; - $string[$index-2..$index].copy_from_slice(&DEC_LOOKUP[section as usize..section as usize+2]); - $string[$index] = LOOKUP[($number % 10) as usize]; - $index = $index.wrapping_sub(3); - } else if $number > 9 { - $number *= 2; - $string[$index-1..$index+1].copy_from_slice(&DEC_LOOKUP[$number as usize..$number as usize+2]); - $index = $index.wrapping_sub(2); - } else { - $string[$index] = LOOKUP[$number as usize]; - $index = $index.wrapping_sub(1); - } - } -} - -macro_rules! impl_unsized_numtoa_for { - ($t:ty) => { - impl NumToA<$t> for $t { - fn numtoa(mut self, base: $t, string: &mut [u8]) -> usize { - // Check if the buffer is large enough and panic on debug builds if it isn't - if cfg!(debug_assertions) { - if base == 10 { - match size_of::<$t>() { - 2 => debug_assert!(string.len() >= 5, "u16 base 10 conversions require at least 5 bytes"), - 4 => debug_assert!(string.len() >= 10, "u32 base 10 conversions require at least 10 bytes"), - 8 => debug_assert!(string.len() >= 20, "u64 base 10 conversions require at least 20 bytes"), - _ => unreachable!() - } - } - } - - let mut index = string.len() - 1; - if self == 0 { - string[index] = b'0'; - return index; - } - - if base == 10 { - // Convert using optimized base 10 algorithm - base_10!(self, index, string); - } else { - while self != 0 { - let rem = self % base; - string[index] = LOOKUP[rem as usize]; - index = index.wrapping_sub(1); - self /= base; - } - } - - index.wrapping_add(1) - } - - #[cfg(feature = "std")] - fn numtoa_str(self, base: $t, buf: &mut [u8; 20]) -> &str { - let s = self.numtoa(base, buf); - unsafe { str::from_utf8_unchecked(&buf[s..]) } - } - } - } -} - -macro_rules! impl_sized_numtoa_for { - ($t:ty) => { - impl NumToA<$t> for $t { - fn numtoa(mut self, base: $t, string: &mut [u8]) -> usize { - if cfg!(debug_assertions) { - if base == 10 { - match size_of::<$t>() { - 2 => debug_assert!(string.len() >= 6, "i16 base 10 conversions require at least 6 bytes"), - 4 => debug_assert!(string.len() >= 11, "i32 base 10 conversions require at least 11 bytes"), - 8 => debug_assert!(string.len() >= 20, "i64 base 10 conversions require at least 20 bytes"), - _ => unreachable!() - } - } - } - - let mut index = string.len() - 1; - let mut is_negative = false; - - if self < 0 { - is_negative = true; - self = match self.checked_abs() { - Some(value) => value, - None => { - let value = <$t>::max_value(); - string[index] = LOOKUP[((value % base + 1) % base) as usize]; - index -= 1; - value / base + ((value % base == base - 1) as $t) - } - }; - } else if self == 0 { - string[index] = b'0'; - return index; - } - - if base == 10 { - // Convert using optimized base 10 algorithm - base_10!(self, index, string); - } else { - while self != 0 { - let rem = self % base; - string[index] = LOOKUP[rem as usize]; - index = index.wrapping_sub(1); - self /= base; - } - } - - if is_negative { - string[index] = b'-'; - index = index.wrapping_sub(1); - } - - index.wrapping_add(1) - } - - #[cfg(feature = "std")] - fn numtoa_str(self, base: $t, buf: &mut [u8; 20]) -> &str { - let s = self.numtoa(base, buf); - unsafe { str::from_utf8_unchecked(&buf[s..]) } - } - } - } -} - -impl_sized_numtoa_for!(i16); -impl_sized_numtoa_for!(i32); -impl_sized_numtoa_for!(i64); -impl_sized_numtoa_for!(isize); -impl_unsized_numtoa_for!(u16); -impl_unsized_numtoa_for!(u32); -impl_unsized_numtoa_for!(u64); -impl_unsized_numtoa_for!(usize); - -impl NumToA for i8 { - fn numtoa(mut self, base: i8, string: &mut [u8]) -> usize { - if cfg!(debug_assertions) { - if base == 10 { - debug_assert!(string.len() >= 4, "i8 conversions need at least 4 bytes"); - } - } - - let mut index = string.len() - 1; - let mut is_negative = false; - - if self < 0 { - is_negative = true; - self = match self.checked_abs() { - Some(value) => value, - None => { - let value = ::max_value(); - string[index] = LOOKUP[((value % base + 1) % base) as usize]; - index -= 1; - value / base + ((value % base == base - 1) as i8) - } - }; - } else if self == 0 { - string[index] = b'0'; - return index; - } - - if base == 10 { - if self > 99 { - let section = (self / 10) * 2; - string[index-2..index].copy_from_slice(&DEC_LOOKUP[section as usize..section as usize+2]); - string[index] = LOOKUP[(self % 10) as usize]; - index = index.wrapping_sub(3); - } else if self > 9 { - self *= 2; - string[index-1..index+1].copy_from_slice(&DEC_LOOKUP[self as usize..self as usize+2]); - index = index.wrapping_sub(2); - } else { - string[index] = LOOKUP[self as usize]; - index = index.wrapping_sub(1); - } - } else { - while self != 0 { - let rem = self % base; - string[index] = LOOKUP[rem as usize]; - index = index.wrapping_sub(1); - self /= base; - } - } - - if is_negative { - string[index] = b'-'; - index = index.wrapping_sub(1); - } - - index.wrapping_add(1) - } - - #[cfg(feature = "std")] - fn numtoa_str(self, base: Self, buf: &mut [u8; 20]) -> &str { - let s = self.numtoa(base, buf); - unsafe { str::from_utf8_unchecked(&buf[s..]) } - } -} - -impl NumToA for u8 { - fn numtoa(mut self, base: u8, string: &mut [u8]) -> usize { - if cfg!(debug_assertions) { - if base == 10 { - debug_assert!(string.len() >= 3, "u8 conversions need at least 3 bytes"); - } - } - - let mut index = string.len() - 1; - if self == 0 { - string[index] = b'0'; - return index; - } - - if base == 10 { - if self > 99 { - let section = (self / 10) * 2; - string[index-2..index].copy_from_slice(&DEC_LOOKUP[section as usize..section as usize+2]); - string[index] = LOOKUP[(self % 10) as usize]; - index = index.wrapping_sub(3); - } else if self > 9 { - self *= 2; - string[index-1..index+1].copy_from_slice(&DEC_LOOKUP[self as usize..self as usize+2]); - index = index.wrapping_sub(2); - } else { - string[index] = LOOKUP[self as usize]; - index = index.wrapping_sub(1); - } - } else { - while self != 0 { - let rem = self % base; - string[index] = LOOKUP[rem as usize]; - index = index.wrapping_sub(1); - self /= base; - } - } - - index.wrapping_add(1) - } - - #[cfg(feature = "std")] - fn numtoa_str(self, base: Self, buf: &mut [u8; 20]) -> &str { - let s = self.numtoa(base, buf); - unsafe { str::from_utf8_unchecked(&buf[s..]) } - } -} - -#[test] -fn str_convenience() { - let mut buffer = [0u8; 20]; - assert_eq!("256123", 256123.numtoa_str(10, &mut buffer)); -} - -#[test] -#[should_panic] -fn base10_u8_array_too_small() { - let mut buffer = [0u8; 2]; - let _ = 0u8.numtoa(10, &mut buffer); -} - -#[test] -fn base10_u8_array_just_right() { - let mut buffer = [0u8; 3]; - let _ = 0u8.numtoa(10, &mut buffer); -} - -#[test] -#[should_panic] -fn base10_i8_array_too_small() { - let mut buffer = [0u8; 3]; - let _ = 0i8.numtoa(10, &mut buffer); -} - -#[test] -fn base10_i8_array_just_right() { - let mut buffer = [0u8; 4]; - let i = (-127i8).numtoa(10, &mut buffer); - assert_eq!(&buffer[i..], b"-127"); -} - -#[test] -#[should_panic] -fn base10_i16_array_too_small() { - let mut buffer = [0u8; 5]; - let _ = 0i16.numtoa(10, &mut buffer); -} - -#[test] -fn base10_i16_array_just_right() { - let mut buffer = [0u8; 6]; - let i = (-12768i16).numtoa(10, &mut buffer); - assert_eq!(&buffer[i..], b"-12768"); -} - -#[test] -#[should_panic] -fn base10_u16_array_too_small() { - let mut buffer = [0u8; 4]; - let _ = 0u16.numtoa(10, &mut buffer); -} - -#[test] -fn base10_u16_array_just_right() { - let mut buffer = [0u8; 5]; - let _ = 0u16.numtoa(10, &mut buffer); -} - -#[test] -#[should_panic] -fn base10_i32_array_too_small() { - let mut buffer = [0u8; 10]; - let _ = 0i32.numtoa(10, &mut buffer); -} - -#[test] -fn base10_i32_array_just_right() { - let mut buffer = [0u8; 11]; - let _ = 0i32.numtoa(10, &mut buffer); -} - -#[test] -#[should_panic] -fn base10_u32_array_too_small() { - let mut buffer = [0u8; 9]; - let _ = 0u32.numtoa(10, &mut buffer); -} - -#[test] -fn base10_u32_array_just_right() { - let mut buffer = [0u8; 10]; - let _ = 0u32.numtoa(10, &mut buffer); -} - -#[test] -#[should_panic] -fn base10_i64_array_too_small() { - let mut buffer = [0u8; 19]; - let _ = 0i64.numtoa(10, &mut buffer); -} - -#[test] -fn base10_i64_array_just_right() { - let mut buffer = [0u8; 20]; - let _ = 0i64.numtoa(10, &mut buffer); -} - -#[test] -#[should_panic] -fn base10_u64_array_too_small() { - let mut buffer = [0u8; 19]; - let _ = 0u64.numtoa(10, &mut buffer); -} - -#[test] -fn base10_u64_array_just_right() { - let mut buffer = [0u8; 20]; - let _ = 0u64.numtoa(10, &mut buffer); -} - -#[test] -fn base8_min_signed_number() { - let mut buffer = [0u8; 30]; - let i = (-128i8).numtoa(8, &mut buffer); - assert_eq!(&buffer[i..], b"-200"); - - let i = (-32768i16).numtoa(8, &mut buffer); - assert_eq!(&buffer[i..], b"-100000"); - - let i = (-2147483648i32).numtoa(8, &mut buffer); - assert_eq!(&buffer[i..], b"-20000000000"); - - let i = (-9223372036854775808i64).numtoa(8, &mut buffer); - assert_eq!(&buffer[i..], b"-1000000000000000000000"); -} - -#[test] -fn base16_min_signed_number() { - let mut buffer = [0u8; 20]; - let i = (-128i8).numtoa(16, &mut buffer); - assert_eq!(&buffer[i..], b"-80"); - - let i = (-32768i16).numtoa(16, &mut buffer); - assert_eq!(&buffer[i..], b"-8000"); - - let i = (-2147483648i32).numtoa(16, &mut buffer); - assert_eq!(&buffer[i..], b"-80000000"); - - let i = (-9223372036854775808i64).numtoa(16, &mut buffer); - assert_eq!(&buffer[i..], b"-8000000000000000"); -} diff --git a/vendor/registry-40351f815f426200/proc-macro2/.cargo-checksum.json b/vendor/registry-40351f815f426200/proc-macro2/.cargo-checksum.json deleted file mode 100644 index ef6f59c46..000000000 --- a/vendor/registry-40351f815f426200/proc-macro2/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"8b5f969f3fa1acf284b10c1eca350c563cc62fe0da90d9f1aa09c6ddb4410067","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"e7de11d9de411a04366b5ee96ce92216b8f97f3db1728be698f71de5e2f11737","build.rs":"c8339bb526fdc6a0d5bcb2ffbd5bf8c23b6cf1beb247cbfbc7d9e0f783668cb2","src/fallback.rs":"33a562ce167b681ebb8302f61b08aec30816980ea16a5ab29daab70c2208ac5f","src/lib.rs":"9de84db0203e305e027fb90cfdd3f389de5eb07fa89e2d37f786ead0ab18e0c6","src/strnom.rs":"60f5380106dbe568cca7abd09877e133c874fbee95d502e4830425c4613a640d","src/wrapper.rs":"9718c9a9e734a88e58945059805e09db753d711a22fede3efa296ee5fba066a6","tests/marker.rs":"0227d07bbc7f2e2ad34662a6acb65668b7dc2f79141c4faa672703a04e27bea0","tests/test.rs":"eab4362ed56b708e704c099a525db1b97bb06f798b0aa7c1ddef7aaef4c7476b"},"package":"cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/proc-macro2/Cargo.toml b/vendor/registry-40351f815f426200/proc-macro2/Cargo.toml deleted file mode 100644 index da5378f02..000000000 --- a/vendor/registry-40351f815f426200/proc-macro2/Cargo.toml +++ /dev/null @@ -1,39 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g., crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "proc-macro2" -version = "0.4.30" -authors = ["Alex Crichton "] -build = "build.rs" -description = "A stable implementation of the upcoming new `proc_macro` API. Comes with an\noption, off by default, to also reimplement itself in terms of the upstream\nunstable API.\n" -homepage = "https://github.com/alexcrichton/proc-macro2" -documentation = "https://docs.rs/proc-macro2" -readme = "README.md" -keywords = ["macros"] -license = "MIT/Apache-2.0" -repository = "https://github.com/alexcrichton/proc-macro2" -[package.metadata.docs.rs] -rustc-args = ["--cfg", "procmacro2_semver_exempt"] -rustdoc-args = ["--cfg", "procmacro2_semver_exempt"] -[dependencies.unicode-xid] -version = "0.1" -[dev-dependencies.quote] -version = "0.6" - -[features] -default = ["proc-macro"] -nightly = [] -proc-macro = [] -span-locations = [] -[badges.travis-ci] -repository = "alexcrichton/proc-macro2" diff --git a/vendor/registry-40351f815f426200/proc-macro2/LICENSE-APACHE b/vendor/registry-40351f815f426200/proc-macro2/LICENSE-APACHE deleted file mode 100644 index 16fe87b06..000000000 --- a/vendor/registry-40351f815f426200/proc-macro2/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/proc-macro2/LICENSE-MIT b/vendor/registry-40351f815f426200/proc-macro2/LICENSE-MIT deleted file mode 100644 index 39e0ed660..000000000 --- a/vendor/registry-40351f815f426200/proc-macro2/LICENSE-MIT +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) 2014 Alex Crichton - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/proc-macro2/README.md b/vendor/registry-40351f815f426200/proc-macro2/README.md deleted file mode 100644 index 67d523dc3..000000000 --- a/vendor/registry-40351f815f426200/proc-macro2/README.md +++ /dev/null @@ -1,100 +0,0 @@ -# proc-macro2 - -[![Build Status](https://api.travis-ci.com/alexcrichton/proc-macro2.svg?branch=master)](https://travis-ci.com/alexcrichton/proc-macro2) -[![Latest Version](https://img.shields.io/crates/v/proc-macro2.svg)](https://crates.io/crates/proc-macro2) -[![Rust Documentation](https://img.shields.io/badge/api-rustdoc-blue.svg)](https://docs.rs/proc-macro2) - -A wrapper around the procedural macro API of the compiler's `proc_macro` crate. -This library serves three purposes: - -- **Bring proc-macro-like functionality to other contexts like build.rs and - main.rs.** Types from `proc_macro` are entirely specific to procedural macros - and cannot ever exist in code outside of a procedural macro. Meanwhile - `proc_macro2` types may exist anywhere including non-macro code. By developing - foundational libraries like [syn] and [quote] against `proc_macro2` rather - than `proc_macro`, the procedural macro ecosystem becomes easily applicable to - many other use cases and we avoid reimplementing non-macro equivalents of - those libraries. - -- **Make procedural macros unit testable.** As a consequence of being specific - to procedural macros, nothing that uses `proc_macro` can be executed from a - unit test. In order for helper libraries or components of a macro to be - testable in isolation, they must be implemented using `proc_macro2`. - -- **Provide the latest and greatest APIs across all compiler versions.** - Procedural macros were first introduced to Rust in 1.15.0 with an extremely - minimal interface. Since then, many improvements have landed to make macros - more flexible and easier to write. This library tracks the procedural macro - API of the most recent stable compiler but employs a polyfill to provide that - API consistently across any compiler since 1.15.0. - -[syn]: https://github.com/dtolnay/syn -[quote]: https://github.com/dtolnay/quote - -## Usage - -```toml -[dependencies] -proc-macro2 = "0.4" -``` - -The skeleton of a typical procedural macro typically looks like this: - -```rust -extern crate proc_macro; - -#[proc_macro_derive(MyDerive)] -pub fn my_derive(input: proc_macro::TokenStream) -> proc_macro::TokenStream { - let input = proc_macro2::TokenStream::from(input); - - let output: proc_macro2::TokenStream = { - /* transform input */ - }; - - proc_macro::TokenStream::from(output) -} -``` - -If parsing with [Syn], you'll use [`parse_macro_input!`] instead to propagate -parse errors correctly back to the compiler when parsing fails. - -[`parse_macro_input!`]: https://docs.rs/syn/0.15/syn/macro.parse_macro_input.html - -## Unstable features - -The default feature set of proc-macro2 tracks the most recent stable compiler -API. Functionality in `proc_macro` that is not yet stable is not exposed by -proc-macro2 by default. - -To opt into the additional APIs available in the most recent nightly compiler, -the `procmacro2_semver_exempt` config flag must be passed to rustc. As usual, we -will polyfill those nightly-only APIs all the way back to Rust 1.15.0. As these -are unstable APIs that track the nightly compiler, minor versions of proc-macro2 -may make breaking changes to them at any time. - -``` -RUSTFLAGS='--cfg procmacro2_semver_exempt' cargo build -``` - -Note that this must not only be done for your crate, but for any crate that -depends on your crate. This infectious nature is intentional, as it serves as a -reminder that you are outside of the normal semver guarantees. - -Semver exempt methods are marked as such in the proc-macro2 documentation. - -# License - -This project is licensed under either of - - * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or - http://www.apache.org/licenses/LICENSE-2.0) - * MIT license ([LICENSE-MIT](LICENSE-MIT) or - http://opensource.org/licenses/MIT) - -at your option. - -### Contribution - -Unless you explicitly state otherwise, any contribution intentionally submitted -for inclusion in this crate by you, as defined in the Apache-2.0 license, shall -be dual licensed as above, without any additional terms or conditions. diff --git a/vendor/registry-40351f815f426200/proc-macro2/build.rs b/vendor/registry-40351f815f426200/proc-macro2/build.rs deleted file mode 100644 index 187255f2f..000000000 --- a/vendor/registry-40351f815f426200/proc-macro2/build.rs +++ /dev/null @@ -1,157 +0,0 @@ -// rustc-cfg emitted by the build script: -// -// "u128" -// Include u128 and i128 constructors for proc_macro2::Literal. Enabled on -// any compiler 1.26+. -// -// "use_proc_macro" -// Link to extern crate proc_macro. Available on any compiler and any target -// except wasm32. Requires "proc-macro" Cargo cfg to be enabled (default is -// enabled). On wasm32 we never link to proc_macro even if "proc-macro" cfg -// is enabled. -// -// "wrap_proc_macro" -// Wrap types from libproc_macro rather than polyfilling the whole API. -// Enabled on rustc 1.29+ as long as procmacro2_semver_exempt is not set, -// because we can't emulate the unstable API without emulating everything -// else. Also enabled unconditionally on nightly, in which case the -// procmacro2_semver_exempt surface area is implemented by using the -// nightly-only proc_macro API. -// -// "slow_extend" -// Fallback when `impl Extend for TokenStream` is not available. These impls -// were added one version later than the rest of the proc_macro token API. -// Enabled on rustc 1.29 only. -// -// "proc_macro_span" -// Enable non-dummy behavior of Span::start and Span::end methods which -// requires an unstable compiler feature. Enabled when building with -// nightly, unless `-Z allow-feature` in RUSTFLAGS disallows unstable -// features. -// -// "super_unstable" -// Implement the semver exempt API in terms of the nightly-only proc_macro -// API. Enabled when using procmacro2_semver_exempt on a nightly compiler. -// -// "span_locations" -// Provide methods Span::start and Span::end which give the line/column -// location of a token. Enabled by procmacro2_semver_exempt or the -// "span-locations" Cargo cfg. This is behind a cfg because tracking -// location inside spans is a performance hit. - -use std::env; -use std::process::Command; -use std::str; - -fn main() { - println!("cargo:rerun-if-changed=build.rs"); - - let target = env::var("TARGET").unwrap(); - - let version = match rustc_version() { - Some(version) => version, - None => return, - }; - - if version.minor >= 26 { - println!("cargo:rustc-cfg=u128"); - } - - let semver_exempt = cfg!(procmacro2_semver_exempt); - if semver_exempt { - // https://github.com/alexcrichton/proc-macro2/issues/147 - println!("cargo:rustc-cfg=procmacro2_semver_exempt"); - } - - if semver_exempt || cfg!(feature = "span-locations") { - println!("cargo:rustc-cfg=span_locations"); - } - - if !enable_use_proc_macro(&target) { - return; - } - - println!("cargo:rustc-cfg=use_proc_macro"); - - // Rust 1.29 stabilized the necessary APIs in the `proc_macro` crate - if version.nightly || version.minor >= 29 && !semver_exempt { - println!("cargo:rustc-cfg=wrap_proc_macro"); - } - - if version.minor == 29 { - println!("cargo:rustc-cfg=slow_extend"); - } - - if version.nightly && feature_allowed("proc_macro_span") { - println!("cargo:rustc-cfg=proc_macro_span"); - } - - if semver_exempt && version.nightly { - println!("cargo:rustc-cfg=super_unstable"); - } -} - -fn enable_use_proc_macro(target: &str) -> bool { - // wasm targets don't have the `proc_macro` crate, disable this feature. - if target.contains("wasm32") { - return false; - } - - // Otherwise, only enable it if our feature is actually enabled. - cfg!(feature = "proc-macro") -} - -struct RustcVersion { - minor: u32, - nightly: bool, -} - -fn rustc_version() -> Option { - macro_rules! otry { - ($e:expr) => { - match $e { - Some(e) => e, - None => return None, - } - }; - } - - let rustc = otry!(env::var_os("RUSTC")); - let output = otry!(Command::new(rustc).arg("--version").output().ok()); - let version = otry!(str::from_utf8(&output.stdout).ok()); - let nightly = version.contains("nightly"); - let mut pieces = version.split('.'); - if pieces.next() != Some("rustc 1") { - return None; - } - let minor = otry!(pieces.next()); - let minor = otry!(minor.parse().ok()); - - Some(RustcVersion { - minor: minor, - nightly: nightly, - }) -} - -fn feature_allowed(feature: &str) -> bool { - // Recognized formats: - // - // -Z allow-features=feature1,feature2 - // - // -Zallow-features=feature1,feature2 - - if let Some(rustflags) = env::var_os("RUSTFLAGS") { - for mut flag in rustflags.to_string_lossy().split(' ') { - if flag.starts_with("-Z") { - flag = &flag["-Z".len()..]; - } - if flag.starts_with("allow-features=") { - flag = &flag["allow-features=".len()..]; - return flag.split(',').any(|allowed| allowed == feature); - } - } - } - - // No allow-features= flag, allowed by default. - true -} diff --git a/vendor/registry-40351f815f426200/proc-macro2/src/fallback.rs b/vendor/registry-40351f815f426200/proc-macro2/src/fallback.rs deleted file mode 100644 index f40a87461..000000000 --- a/vendor/registry-40351f815f426200/proc-macro2/src/fallback.rs +++ /dev/null @@ -1,1435 +0,0 @@ -#[cfg(span_locations)] -use std::cell::RefCell; -#[cfg(procmacro2_semver_exempt)] -use std::cmp; -use std::fmt; -use std::iter; -#[cfg(procmacro2_semver_exempt)] -use std::path::Path; -use std::path::PathBuf; -use std::str::FromStr; -use std::vec; - -use strnom::{block_comment, skip_whitespace, whitespace, word_break, Cursor, PResult}; -use unicode_xid::UnicodeXID; - -use {Delimiter, Punct, Spacing, TokenTree}; - -#[derive(Clone)] -pub struct TokenStream { - inner: Vec, -} - -#[derive(Debug)] -pub struct LexError; - -impl TokenStream { - pub fn new() -> TokenStream { - TokenStream { inner: Vec::new() } - } - - pub fn is_empty(&self) -> bool { - self.inner.len() == 0 - } -} - -#[cfg(span_locations)] -fn get_cursor(src: &str) -> Cursor { - // Create a dummy file & add it to the source map - SOURCE_MAP.with(|cm| { - let mut cm = cm.borrow_mut(); - let name = format!("", cm.files.len()); - let span = cm.add_file(&name, src); - Cursor { - rest: src, - off: span.lo, - } - }) -} - -#[cfg(not(span_locations))] -fn get_cursor(src: &str) -> Cursor { - Cursor { rest: src } -} - -impl FromStr for TokenStream { - type Err = LexError; - - fn from_str(src: &str) -> Result { - // Create a dummy file & add it to the source map - let cursor = get_cursor(src); - - match token_stream(cursor) { - Ok((input, output)) => { - if skip_whitespace(input).len() != 0 { - Err(LexError) - } else { - Ok(output) - } - } - Err(LexError) => Err(LexError), - } - } -} - -impl fmt::Display for TokenStream { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let mut joint = false; - for (i, tt) in self.inner.iter().enumerate() { - if i != 0 && !joint { - write!(f, " ")?; - } - joint = false; - match *tt { - TokenTree::Group(ref tt) => { - let (start, end) = match tt.delimiter() { - Delimiter::Parenthesis => ("(", ")"), - Delimiter::Brace => ("{", "}"), - Delimiter::Bracket => ("[", "]"), - Delimiter::None => ("", ""), - }; - if tt.stream().into_iter().next().is_none() { - write!(f, "{} {}", start, end)? - } else { - write!(f, "{} {} {}", start, tt.stream(), end)? - } - } - TokenTree::Ident(ref tt) => write!(f, "{}", tt)?, - TokenTree::Punct(ref tt) => { - write!(f, "{}", tt.as_char())?; - match tt.spacing() { - Spacing::Alone => {} - Spacing::Joint => joint = true, - } - } - TokenTree::Literal(ref tt) => write!(f, "{}", tt)?, - } - } - - Ok(()) - } -} - -impl fmt::Debug for TokenStream { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str("TokenStream ")?; - f.debug_list().entries(self.clone()).finish() - } -} - -#[cfg(use_proc_macro)] -impl From<::proc_macro::TokenStream> for TokenStream { - fn from(inner: ::proc_macro::TokenStream) -> TokenStream { - inner - .to_string() - .parse() - .expect("compiler token stream parse failed") - } -} - -#[cfg(use_proc_macro)] -impl From for ::proc_macro::TokenStream { - fn from(inner: TokenStream) -> ::proc_macro::TokenStream { - inner - .to_string() - .parse() - .expect("failed to parse to compiler tokens") - } -} - -impl From for TokenStream { - fn from(tree: TokenTree) -> TokenStream { - TokenStream { inner: vec![tree] } - } -} - -impl iter::FromIterator for TokenStream { - fn from_iter>(streams: I) -> Self { - let mut v = Vec::new(); - - for token in streams.into_iter() { - v.push(token); - } - - TokenStream { inner: v } - } -} - -impl iter::FromIterator for TokenStream { - fn from_iter>(streams: I) -> Self { - let mut v = Vec::new(); - - for stream in streams.into_iter() { - v.extend(stream.inner); - } - - TokenStream { inner: v } - } -} - -impl Extend for TokenStream { - fn extend>(&mut self, streams: I) { - self.inner.extend(streams); - } -} - -impl Extend for TokenStream { - fn extend>(&mut self, streams: I) { - self.inner - .extend(streams.into_iter().flat_map(|stream| stream)); - } -} - -pub type TokenTreeIter = vec::IntoIter; - -impl IntoIterator for TokenStream { - type Item = TokenTree; - type IntoIter = TokenTreeIter; - - fn into_iter(self) -> TokenTreeIter { - self.inner.into_iter() - } -} - -#[derive(Clone, PartialEq, Eq)] -pub struct SourceFile { - path: PathBuf, -} - -impl SourceFile { - /// Get the path to this source file as a string. - pub fn path(&self) -> PathBuf { - self.path.clone() - } - - pub fn is_real(&self) -> bool { - // XXX(nika): Support real files in the future? - false - } -} - -impl fmt::Debug for SourceFile { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.debug_struct("SourceFile") - .field("path", &self.path()) - .field("is_real", &self.is_real()) - .finish() - } -} - -#[derive(Clone, Copy, Debug, PartialEq, Eq)] -pub struct LineColumn { - pub line: usize, - pub column: usize, -} - -#[cfg(span_locations)] -thread_local! { - static SOURCE_MAP: RefCell = RefCell::new(SourceMap { - // NOTE: We start with a single dummy file which all call_site() and - // def_site() spans reference. - files: vec![{ - #[cfg(procmacro2_semver_exempt)] - { - FileInfo { - name: "".to_owned(), - span: Span { lo: 0, hi: 0 }, - lines: vec![0], - } - } - - #[cfg(not(procmacro2_semver_exempt))] - { - FileInfo { - span: Span { lo: 0, hi: 0 }, - lines: vec![0], - } - } - }], - }); -} - -#[cfg(span_locations)] -struct FileInfo { - #[cfg(procmacro2_semver_exempt)] - name: String, - span: Span, - lines: Vec, -} - -#[cfg(span_locations)] -impl FileInfo { - fn offset_line_column(&self, offset: usize) -> LineColumn { - assert!(self.span_within(Span { - lo: offset as u32, - hi: offset as u32 - })); - let offset = offset - self.span.lo as usize; - match self.lines.binary_search(&offset) { - Ok(found) => LineColumn { - line: found + 1, - column: 0, - }, - Err(idx) => LineColumn { - line: idx, - column: offset - self.lines[idx - 1], - }, - } - } - - fn span_within(&self, span: Span) -> bool { - span.lo >= self.span.lo && span.hi <= self.span.hi - } -} - -/// Computesthe offsets of each line in the given source string. -#[cfg(span_locations)] -fn lines_offsets(s: &str) -> Vec { - let mut lines = vec![0]; - let mut prev = 0; - while let Some(len) = s[prev..].find('\n') { - prev += len + 1; - lines.push(prev); - } - lines -} - -#[cfg(span_locations)] -struct SourceMap { - files: Vec, -} - -#[cfg(span_locations)] -impl SourceMap { - fn next_start_pos(&self) -> u32 { - // Add 1 so there's always space between files. - // - // We'll always have at least 1 file, as we initialize our files list - // with a dummy file. - self.files.last().unwrap().span.hi + 1 - } - - fn add_file(&mut self, name: &str, src: &str) -> Span { - let lines = lines_offsets(src); - let lo = self.next_start_pos(); - // XXX(nika): Shouild we bother doing a checked cast or checked add here? - let span = Span { - lo: lo, - hi: lo + (src.len() as u32), - }; - - #[cfg(procmacro2_semver_exempt)] - self.files.push(FileInfo { - name: name.to_owned(), - span: span, - lines: lines, - }); - - #[cfg(not(procmacro2_semver_exempt))] - self.files.push(FileInfo { - span: span, - lines: lines, - }); - let _ = name; - - span - } - - fn fileinfo(&self, span: Span) -> &FileInfo { - for file in &self.files { - if file.span_within(span) { - return file; - } - } - panic!("Invalid span with no related FileInfo!"); - } -} - -#[derive(Clone, Copy, PartialEq, Eq)] -pub struct Span { - #[cfg(span_locations)] - lo: u32, - #[cfg(span_locations)] - hi: u32, -} - -impl Span { - #[cfg(not(span_locations))] - pub fn call_site() -> Span { - Span {} - } - - #[cfg(span_locations)] - pub fn call_site() -> Span { - Span { lo: 0, hi: 0 } - } - - #[cfg(procmacro2_semver_exempt)] - pub fn def_site() -> Span { - Span::call_site() - } - - #[cfg(procmacro2_semver_exempt)] - pub fn resolved_at(&self, _other: Span) -> Span { - // Stable spans consist only of line/column information, so - // `resolved_at` and `located_at` only select which span the - // caller wants line/column information from. - *self - } - - #[cfg(procmacro2_semver_exempt)] - pub fn located_at(&self, other: Span) -> Span { - other - } - - #[cfg(procmacro2_semver_exempt)] - pub fn source_file(&self) -> SourceFile { - SOURCE_MAP.with(|cm| { - let cm = cm.borrow(); - let fi = cm.fileinfo(*self); - SourceFile { - path: Path::new(&fi.name).to_owned(), - } - }) - } - - #[cfg(span_locations)] - pub fn start(&self) -> LineColumn { - SOURCE_MAP.with(|cm| { - let cm = cm.borrow(); - let fi = cm.fileinfo(*self); - fi.offset_line_column(self.lo as usize) - }) - } - - #[cfg(span_locations)] - pub fn end(&self) -> LineColumn { - SOURCE_MAP.with(|cm| { - let cm = cm.borrow(); - let fi = cm.fileinfo(*self); - fi.offset_line_column(self.hi as usize) - }) - } - - #[cfg(procmacro2_semver_exempt)] - pub fn join(&self, other: Span) -> Option { - SOURCE_MAP.with(|cm| { - let cm = cm.borrow(); - // If `other` is not within the same FileInfo as us, return None. - if !cm.fileinfo(*self).span_within(other) { - return None; - } - Some(Span { - lo: cmp::min(self.lo, other.lo), - hi: cmp::max(self.hi, other.hi), - }) - }) - } -} - -impl fmt::Debug for Span { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - #[cfg(procmacro2_semver_exempt)] - return write!(f, "bytes({}..{})", self.lo, self.hi); - - #[cfg(not(procmacro2_semver_exempt))] - write!(f, "Span") - } -} - -pub fn debug_span_field_if_nontrivial(debug: &mut fmt::DebugStruct, span: Span) { - if cfg!(procmacro2_semver_exempt) { - debug.field("span", &span); - } -} - -#[derive(Clone)] -pub struct Group { - delimiter: Delimiter, - stream: TokenStream, - span: Span, -} - -impl Group { - pub fn new(delimiter: Delimiter, stream: TokenStream) -> Group { - Group { - delimiter: delimiter, - stream: stream, - span: Span::call_site(), - } - } - - pub fn delimiter(&self) -> Delimiter { - self.delimiter - } - - pub fn stream(&self) -> TokenStream { - self.stream.clone() - } - - pub fn span(&self) -> Span { - self.span - } - - #[cfg(procmacro2_semver_exempt)] - pub fn span_open(&self) -> Span { - self.span - } - - #[cfg(procmacro2_semver_exempt)] - pub fn span_close(&self) -> Span { - self.span - } - - pub fn set_span(&mut self, span: Span) { - self.span = span; - } -} - -impl fmt::Display for Group { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let (left, right) = match self.delimiter { - Delimiter::Parenthesis => ("(", ")"), - Delimiter::Brace => ("{", "}"), - Delimiter::Bracket => ("[", "]"), - Delimiter::None => ("", ""), - }; - - f.write_str(left)?; - self.stream.fmt(f)?; - f.write_str(right)?; - - Ok(()) - } -} - -impl fmt::Debug for Group { - fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { - let mut debug = fmt.debug_struct("Group"); - debug.field("delimiter", &self.delimiter); - debug.field("stream", &self.stream); - #[cfg(procmacro2_semver_exempt)] - debug.field("span", &self.span); - debug.finish() - } -} - -#[derive(Clone)] -pub struct Ident { - sym: String, - span: Span, - raw: bool, -} - -impl Ident { - fn _new(string: &str, raw: bool, span: Span) -> Ident { - validate_ident(string); - - Ident { - sym: string.to_owned(), - span: span, - raw: raw, - } - } - - pub fn new(string: &str, span: Span) -> Ident { - Ident::_new(string, false, span) - } - - pub fn new_raw(string: &str, span: Span) -> Ident { - Ident::_new(string, true, span) - } - - pub fn span(&self) -> Span { - self.span - } - - pub fn set_span(&mut self, span: Span) { - self.span = span; - } -} - -#[inline] -fn is_ident_start(c: char) -> bool { - ('a' <= c && c <= 'z') - || ('A' <= c && c <= 'Z') - || c == '_' - || (c > '\x7f' && UnicodeXID::is_xid_start(c)) -} - -#[inline] -fn is_ident_continue(c: char) -> bool { - ('a' <= c && c <= 'z') - || ('A' <= c && c <= 'Z') - || c == '_' - || ('0' <= c && c <= '9') - || (c > '\x7f' && UnicodeXID::is_xid_continue(c)) -} - -fn validate_ident(string: &str) { - let validate = string; - if validate.is_empty() { - panic!("Ident is not allowed to be empty; use Option"); - } - - if validate.bytes().all(|digit| digit >= b'0' && digit <= b'9') { - panic!("Ident cannot be a number; use Literal instead"); - } - - fn ident_ok(string: &str) -> bool { - let mut chars = string.chars(); - let first = chars.next().unwrap(); - if !is_ident_start(first) { - return false; - } - for ch in chars { - if !is_ident_continue(ch) { - return false; - } - } - true - } - - if !ident_ok(validate) { - panic!("{:?} is not a valid Ident", string); - } -} - -impl PartialEq for Ident { - fn eq(&self, other: &Ident) -> bool { - self.sym == other.sym && self.raw == other.raw - } -} - -impl PartialEq for Ident -where - T: ?Sized + AsRef, -{ - fn eq(&self, other: &T) -> bool { - let other = other.as_ref(); - if self.raw { - other.starts_with("r#") && self.sym == other[2..] - } else { - self.sym == other - } - } -} - -impl fmt::Display for Ident { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - if self.raw { - "r#".fmt(f)?; - } - self.sym.fmt(f) - } -} - -impl fmt::Debug for Ident { - // Ident(proc_macro), Ident(r#union) - #[cfg(not(procmacro2_semver_exempt))] - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let mut debug = f.debug_tuple("Ident"); - debug.field(&format_args!("{}", self)); - debug.finish() - } - - // Ident { - // sym: proc_macro, - // span: bytes(128..138) - // } - #[cfg(procmacro2_semver_exempt)] - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let mut debug = f.debug_struct("Ident"); - debug.field("sym", &format_args!("{}", self)); - debug.field("span", &self.span); - debug.finish() - } -} - -#[derive(Clone)] -pub struct Literal { - text: String, - span: Span, -} - -macro_rules! suffixed_numbers { - ($($name:ident => $kind:ident,)*) => ($( - pub fn $name(n: $kind) -> Literal { - Literal::_new(format!(concat!("{}", stringify!($kind)), n)) - } - )*) -} - -macro_rules! unsuffixed_numbers { - ($($name:ident => $kind:ident,)*) => ($( - pub fn $name(n: $kind) -> Literal { - Literal::_new(n.to_string()) - } - )*) -} - -impl Literal { - fn _new(text: String) -> Literal { - Literal { - text: text, - span: Span::call_site(), - } - } - - suffixed_numbers! { - u8_suffixed => u8, - u16_suffixed => u16, - u32_suffixed => u32, - u64_suffixed => u64, - usize_suffixed => usize, - i8_suffixed => i8, - i16_suffixed => i16, - i32_suffixed => i32, - i64_suffixed => i64, - isize_suffixed => isize, - - f32_suffixed => f32, - f64_suffixed => f64, - } - - #[cfg(u128)] - suffixed_numbers! { - u128_suffixed => u128, - i128_suffixed => i128, - } - - unsuffixed_numbers! { - u8_unsuffixed => u8, - u16_unsuffixed => u16, - u32_unsuffixed => u32, - u64_unsuffixed => u64, - usize_unsuffixed => usize, - i8_unsuffixed => i8, - i16_unsuffixed => i16, - i32_unsuffixed => i32, - i64_unsuffixed => i64, - isize_unsuffixed => isize, - } - - #[cfg(u128)] - unsuffixed_numbers! { - u128_unsuffixed => u128, - i128_unsuffixed => i128, - } - - pub fn f32_unsuffixed(f: f32) -> Literal { - let mut s = f.to_string(); - if !s.contains(".") { - s.push_str(".0"); - } - Literal::_new(s) - } - - pub fn f64_unsuffixed(f: f64) -> Literal { - let mut s = f.to_string(); - if !s.contains(".") { - s.push_str(".0"); - } - Literal::_new(s) - } - - pub fn string(t: &str) -> Literal { - let mut text = String::with_capacity(t.len() + 2); - text.push('"'); - for c in t.chars() { - if c == '\'' { - // escape_default turns this into "\'" which is unnecessary. - text.push(c); - } else { - text.extend(c.escape_default()); - } - } - text.push('"'); - Literal::_new(text) - } - - pub fn character(t: char) -> Literal { - let mut text = String::new(); - text.push('\''); - if t == '"' { - // escape_default turns this into '\"' which is unnecessary. - text.push(t); - } else { - text.extend(t.escape_default()); - } - text.push('\''); - Literal::_new(text) - } - - pub fn byte_string(bytes: &[u8]) -> Literal { - let mut escaped = "b\"".to_string(); - for b in bytes { - match *b { - b'\0' => escaped.push_str(r"\0"), - b'\t' => escaped.push_str(r"\t"), - b'\n' => escaped.push_str(r"\n"), - b'\r' => escaped.push_str(r"\r"), - b'"' => escaped.push_str("\\\""), - b'\\' => escaped.push_str("\\\\"), - b'\x20'...b'\x7E' => escaped.push(*b as char), - _ => escaped.push_str(&format!("\\x{:02X}", b)), - } - } - escaped.push('"'); - Literal::_new(escaped) - } - - pub fn span(&self) -> Span { - self.span - } - - pub fn set_span(&mut self, span: Span) { - self.span = span; - } -} - -impl fmt::Display for Literal { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - self.text.fmt(f) - } -} - -impl fmt::Debug for Literal { - fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { - let mut debug = fmt.debug_struct("Literal"); - debug.field("lit", &format_args!("{}", self.text)); - #[cfg(procmacro2_semver_exempt)] - debug.field("span", &self.span); - debug.finish() - } -} - -fn token_stream(mut input: Cursor) -> PResult { - let mut trees = Vec::new(); - loop { - let input_no_ws = skip_whitespace(input); - if input_no_ws.rest.len() == 0 { - break; - } - if let Ok((a, tokens)) = doc_comment(input_no_ws) { - input = a; - trees.extend(tokens); - continue; - } - - let (a, tt) = match token_tree(input_no_ws) { - Ok(p) => p, - Err(_) => break, - }; - trees.push(tt); - input = a; - } - Ok((input, TokenStream { inner: trees })) -} - -#[cfg(not(span_locations))] -fn spanned<'a, T>( - input: Cursor<'a>, - f: fn(Cursor<'a>) -> PResult<'a, T>, -) -> PResult<'a, (T, ::Span)> { - let (a, b) = f(skip_whitespace(input))?; - Ok((a, ((b, ::Span::_new_stable(Span::call_site()))))) -} - -#[cfg(span_locations)] -fn spanned<'a, T>( - input: Cursor<'a>, - f: fn(Cursor<'a>) -> PResult<'a, T>, -) -> PResult<'a, (T, ::Span)> { - let input = skip_whitespace(input); - let lo = input.off; - let (a, b) = f(input)?; - let hi = a.off; - let span = ::Span::_new_stable(Span { lo: lo, hi: hi }); - Ok((a, (b, span))) -} - -fn token_tree(input: Cursor) -> PResult { - let (rest, (mut tt, span)) = spanned(input, token_kind)?; - tt.set_span(span); - Ok((rest, tt)) -} - -named!(token_kind -> TokenTree, alt!( - map!(group, |g| TokenTree::Group(::Group::_new_stable(g))) - | - map!(literal, |l| TokenTree::Literal(::Literal::_new_stable(l))) // must be before symbol - | - map!(op, TokenTree::Punct) - | - symbol_leading_ws -)); - -named!(group -> Group, alt!( - delimited!( - punct!("("), - token_stream, - punct!(")") - ) => { |ts| Group::new(Delimiter::Parenthesis, ts) } - | - delimited!( - punct!("["), - token_stream, - punct!("]") - ) => { |ts| Group::new(Delimiter::Bracket, ts) } - | - delimited!( - punct!("{"), - token_stream, - punct!("}") - ) => { |ts| Group::new(Delimiter::Brace, ts) } -)); - -fn symbol_leading_ws(input: Cursor) -> PResult { - symbol(skip_whitespace(input)) -} - -fn symbol(input: Cursor) -> PResult { - let mut chars = input.char_indices(); - - let raw = input.starts_with("r#"); - if raw { - chars.next(); - chars.next(); - } - - match chars.next() { - Some((_, ch)) if is_ident_start(ch) => {} - _ => return Err(LexError), - } - - let mut end = input.len(); - for (i, ch) in chars { - if !is_ident_continue(ch) { - end = i; - break; - } - } - - let a = &input.rest[..end]; - if a == "r#_" { - Err(LexError) - } else { - let ident = if raw { - ::Ident::_new_raw(&a[2..], ::Span::call_site()) - } else { - ::Ident::new(a, ::Span::call_site()) - }; - Ok((input.advance(end), ident.into())) - } -} - -fn literal(input: Cursor) -> PResult { - let input_no_ws = skip_whitespace(input); - - match literal_nocapture(input_no_ws) { - Ok((a, ())) => { - let start = input.len() - input_no_ws.len(); - let len = input_no_ws.len() - a.len(); - let end = start + len; - Ok((a, Literal::_new(input.rest[start..end].to_string()))) - } - Err(LexError) => Err(LexError), - } -} - -named!(literal_nocapture -> (), alt!( - string - | - byte_string - | - byte - | - character - | - float - | - int -)); - -named!(string -> (), alt!( - quoted_string - | - preceded!( - punct!("r"), - raw_string - ) => { |_| () } -)); - -named!(quoted_string -> (), delimited!( - punct!("\""), - cooked_string, - tag!("\"") -)); - -fn cooked_string(input: Cursor) -> PResult<()> { - let mut chars = input.char_indices().peekable(); - while let Some((byte_offset, ch)) = chars.next() { - match ch { - '"' => { - return Ok((input.advance(byte_offset), ())); - } - '\r' => { - if let Some((_, '\n')) = chars.next() { - // ... - } else { - break; - } - } - '\\' => match chars.next() { - Some((_, 'x')) => { - if !backslash_x_char(&mut chars) { - break; - } - } - Some((_, 'n')) | Some((_, 'r')) | Some((_, 't')) | Some((_, '\\')) - | Some((_, '\'')) | Some((_, '"')) | Some((_, '0')) => {} - Some((_, 'u')) => { - if !backslash_u(&mut chars) { - break; - } - } - Some((_, '\n')) | Some((_, '\r')) => { - while let Some(&(_, ch)) = chars.peek() { - if ch.is_whitespace() { - chars.next(); - } else { - break; - } - } - } - _ => break, - }, - _ch => {} - } - } - Err(LexError) -} - -named!(byte_string -> (), alt!( - delimited!( - punct!("b\""), - cooked_byte_string, - tag!("\"") - ) => { |_| () } - | - preceded!( - punct!("br"), - raw_string - ) => { |_| () } -)); - -fn cooked_byte_string(mut input: Cursor) -> PResult<()> { - let mut bytes = input.bytes().enumerate(); - 'outer: while let Some((offset, b)) = bytes.next() { - match b { - b'"' => { - return Ok((input.advance(offset), ())); - } - b'\r' => { - if let Some((_, b'\n')) = bytes.next() { - // ... - } else { - break; - } - } - b'\\' => match bytes.next() { - Some((_, b'x')) => { - if !backslash_x_byte(&mut bytes) { - break; - } - } - Some((_, b'n')) | Some((_, b'r')) | Some((_, b't')) | Some((_, b'\\')) - | Some((_, b'0')) | Some((_, b'\'')) | Some((_, b'"')) => {} - Some((newline, b'\n')) | Some((newline, b'\r')) => { - let rest = input.advance(newline + 1); - for (offset, ch) in rest.char_indices() { - if !ch.is_whitespace() { - input = rest.advance(offset); - bytes = input.bytes().enumerate(); - continue 'outer; - } - } - break; - } - _ => break, - }, - b if b < 0x80 => {} - _ => break, - } - } - Err(LexError) -} - -fn raw_string(input: Cursor) -> PResult<()> { - let mut chars = input.char_indices(); - let mut n = 0; - while let Some((byte_offset, ch)) = chars.next() { - match ch { - '"' => { - n = byte_offset; - break; - } - '#' => {} - _ => return Err(LexError), - } - } - for (byte_offset, ch) in chars { - match ch { - '"' if input.advance(byte_offset + 1).starts_with(&input.rest[..n]) => { - let rest = input.advance(byte_offset + 1 + n); - return Ok((rest, ())); - } - '\r' => {} - _ => {} - } - } - Err(LexError) -} - -named!(byte -> (), do_parse!( - punct!("b") >> - tag!("'") >> - cooked_byte >> - tag!("'") >> - (()) -)); - -fn cooked_byte(input: Cursor) -> PResult<()> { - let mut bytes = input.bytes().enumerate(); - let ok = match bytes.next().map(|(_, b)| b) { - Some(b'\\') => match bytes.next().map(|(_, b)| b) { - Some(b'x') => backslash_x_byte(&mut bytes), - Some(b'n') | Some(b'r') | Some(b't') | Some(b'\\') | Some(b'0') | Some(b'\'') - | Some(b'"') => true, - _ => false, - }, - b => b.is_some(), - }; - if ok { - match bytes.next() { - Some((offset, _)) => { - if input.chars().as_str().is_char_boundary(offset) { - Ok((input.advance(offset), ())) - } else { - Err(LexError) - } - } - None => Ok((input.advance(input.len()), ())), - } - } else { - Err(LexError) - } -} - -named!(character -> (), do_parse!( - punct!("'") >> - cooked_char >> - tag!("'") >> - (()) -)); - -fn cooked_char(input: Cursor) -> PResult<()> { - let mut chars = input.char_indices(); - let ok = match chars.next().map(|(_, ch)| ch) { - Some('\\') => match chars.next().map(|(_, ch)| ch) { - Some('x') => backslash_x_char(&mut chars), - Some('u') => backslash_u(&mut chars), - Some('n') | Some('r') | Some('t') | Some('\\') | Some('0') | Some('\'') | Some('"') => { - true - } - _ => false, - }, - ch => ch.is_some(), - }; - if ok { - match chars.next() { - Some((idx, _)) => Ok((input.advance(idx), ())), - None => Ok((input.advance(input.len()), ())), - } - } else { - Err(LexError) - } -} - -macro_rules! next_ch { - ($chars:ident @ $pat:pat $(| $rest:pat)*) => { - match $chars.next() { - Some((_, ch)) => match ch { - $pat $(| $rest)* => ch, - _ => return false, - }, - None => return false - } - }; -} - -fn backslash_x_char(chars: &mut I) -> bool -where - I: Iterator, -{ - next_ch!(chars @ '0'...'7'); - next_ch!(chars @ '0'...'9' | 'a'...'f' | 'A'...'F'); - true -} - -fn backslash_x_byte(chars: &mut I) -> bool -where - I: Iterator, -{ - next_ch!(chars @ b'0'...b'9' | b'a'...b'f' | b'A'...b'F'); - next_ch!(chars @ b'0'...b'9' | b'a'...b'f' | b'A'...b'F'); - true -} - -fn backslash_u(chars: &mut I) -> bool -where - I: Iterator, -{ - next_ch!(chars @ '{'); - next_ch!(chars @ '0'...'9' | 'a'...'f' | 'A'...'F'); - loop { - let c = next_ch!(chars @ '0'...'9' | 'a'...'f' | 'A'...'F' | '_' | '}'); - if c == '}' { - return true; - } - } -} - -fn float(input: Cursor) -> PResult<()> { - let (rest, ()) = float_digits(input)?; - for suffix in &["f32", "f64"] { - if rest.starts_with(suffix) { - return word_break(rest.advance(suffix.len())); - } - } - word_break(rest) -} - -fn float_digits(input: Cursor) -> PResult<()> { - let mut chars = input.chars().peekable(); - match chars.next() { - Some(ch) if ch >= '0' && ch <= '9' => {} - _ => return Err(LexError), - } - - let mut len = 1; - let mut has_dot = false; - let mut has_exp = false; - while let Some(&ch) = chars.peek() { - match ch { - '0'...'9' | '_' => { - chars.next(); - len += 1; - } - '.' => { - if has_dot { - break; - } - chars.next(); - if chars - .peek() - .map(|&ch| ch == '.' || UnicodeXID::is_xid_start(ch)) - .unwrap_or(false) - { - return Err(LexError); - } - len += 1; - has_dot = true; - } - 'e' | 'E' => { - chars.next(); - len += 1; - has_exp = true; - break; - } - _ => break, - } - } - - let rest = input.advance(len); - if !(has_dot || has_exp || rest.starts_with("f32") || rest.starts_with("f64")) { - return Err(LexError); - } - - if has_exp { - let mut has_exp_value = false; - while let Some(&ch) = chars.peek() { - match ch { - '+' | '-' => { - if has_exp_value { - break; - } - chars.next(); - len += 1; - } - '0'...'9' => { - chars.next(); - len += 1; - has_exp_value = true; - } - '_' => { - chars.next(); - len += 1; - } - _ => break, - } - } - if !has_exp_value { - return Err(LexError); - } - } - - Ok((input.advance(len), ())) -} - -fn int(input: Cursor) -> PResult<()> { - let (rest, ()) = digits(input)?; - for suffix in &[ - "isize", "i8", "i16", "i32", "i64", "i128", "usize", "u8", "u16", "u32", "u64", "u128", - ] { - if rest.starts_with(suffix) { - return word_break(rest.advance(suffix.len())); - } - } - word_break(rest) -} - -fn digits(mut input: Cursor) -> PResult<()> { - let base = if input.starts_with("0x") { - input = input.advance(2); - 16 - } else if input.starts_with("0o") { - input = input.advance(2); - 8 - } else if input.starts_with("0b") { - input = input.advance(2); - 2 - } else { - 10 - }; - - let mut len = 0; - let mut empty = true; - for b in input.bytes() { - let digit = match b { - b'0'...b'9' => (b - b'0') as u64, - b'a'...b'f' => 10 + (b - b'a') as u64, - b'A'...b'F' => 10 + (b - b'A') as u64, - b'_' => { - if empty && base == 10 { - return Err(LexError); - } - len += 1; - continue; - } - _ => break, - }; - if digit >= base { - return Err(LexError); - } - len += 1; - empty = false; - } - if empty { - Err(LexError) - } else { - Ok((input.advance(len), ())) - } -} - -fn op(input: Cursor) -> PResult { - let input = skip_whitespace(input); - match op_char(input) { - Ok((rest, '\'')) => { - symbol(rest)?; - Ok((rest, Punct::new('\'', Spacing::Joint))) - } - Ok((rest, ch)) => { - let kind = match op_char(rest) { - Ok(_) => Spacing::Joint, - Err(LexError) => Spacing::Alone, - }; - Ok((rest, Punct::new(ch, kind))) - } - Err(LexError) => Err(LexError), - } -} - -fn op_char(input: Cursor) -> PResult { - if input.starts_with("//") || input.starts_with("/*") { - // Do not accept `/` of a comment as an op. - return Err(LexError); - } - - let mut chars = input.chars(); - let first = match chars.next() { - Some(ch) => ch, - None => { - return Err(LexError); - } - }; - let recognized = "~!@#$%^&*-=+|;:,<.>/?'"; - if recognized.contains(first) { - Ok((input.advance(first.len_utf8()), first)) - } else { - Err(LexError) - } -} - -fn doc_comment(input: Cursor) -> PResult> { - let mut trees = Vec::new(); - let (rest, ((comment, inner), span)) = spanned(input, doc_comment_contents)?; - trees.push(TokenTree::Punct(Punct::new('#', Spacing::Alone))); - if inner { - trees.push(Punct::new('!', Spacing::Alone).into()); - } - let mut stream = vec![ - TokenTree::Ident(::Ident::new("doc", span)), - TokenTree::Punct(Punct::new('=', Spacing::Alone)), - TokenTree::Literal(::Literal::string(comment)), - ]; - for tt in stream.iter_mut() { - tt.set_span(span); - } - let group = Group::new(Delimiter::Bracket, stream.into_iter().collect()); - trees.push(::Group::_new_stable(group).into()); - for tt in trees.iter_mut() { - tt.set_span(span); - } - Ok((rest, trees)) -} - -named!(doc_comment_contents -> (&str, bool), alt!( - do_parse!( - punct!("//!") >> - s: take_until_newline_or_eof!() >> - ((s, true)) - ) - | - do_parse!( - option!(whitespace) >> - peek!(tag!("/*!")) >> - s: block_comment >> - ((s, true)) - ) - | - do_parse!( - punct!("///") >> - not!(tag!("/")) >> - s: take_until_newline_or_eof!() >> - ((s, false)) - ) - | - do_parse!( - option!(whitespace) >> - peek!(tuple!(tag!("/**"), not!(tag!("*")))) >> - s: block_comment >> - ((s, false)) - ) -)); diff --git a/vendor/registry-40351f815f426200/proc-macro2/src/lib.rs b/vendor/registry-40351f815f426200/proc-macro2/src/lib.rs deleted file mode 100644 index 7181455c8..000000000 --- a/vendor/registry-40351f815f426200/proc-macro2/src/lib.rs +++ /dev/null @@ -1,1156 +0,0 @@ -//! A wrapper around the procedural macro API of the compiler's [`proc_macro`] -//! crate. This library serves three purposes: -//! -//! [`proc_macro`]: https://doc.rust-lang.org/proc_macro/ -//! -//! - **Bring proc-macro-like functionality to other contexts like build.rs and -//! main.rs.** Types from `proc_macro` are entirely specific to procedural -//! macros and cannot ever exist in code outside of a procedural macro. -//! Meanwhile `proc_macro2` types may exist anywhere including non-macro code. -//! By developing foundational libraries like [syn] and [quote] against -//! `proc_macro2` rather than `proc_macro`, the procedural macro ecosystem -//! becomes easily applicable to many other use cases and we avoid -//! reimplementing non-macro equivalents of those libraries. -//! -//! - **Make procedural macros unit testable.** As a consequence of being -//! specific to procedural macros, nothing that uses `proc_macro` can be -//! executed from a unit test. In order for helper libraries or components of -//! a macro to be testable in isolation, they must be implemented using -//! `proc_macro2`. -//! -//! - **Provide the latest and greatest APIs across all compiler versions.** -//! Procedural macros were first introduced to Rust in 1.15.0 with an -//! extremely minimal interface. Since then, many improvements have landed to -//! make macros more flexible and easier to write. This library tracks the -//! procedural macro API of the most recent stable compiler but employs a -//! polyfill to provide that API consistently across any compiler since -//! 1.15.0. -//! -//! [syn]: https://github.com/dtolnay/syn -//! [quote]: https://github.com/dtolnay/quote -//! -//! # Usage -//! -//! The skeleton of a typical procedural macro typically looks like this: -//! -//! ```edition2018 -//! extern crate proc_macro; -//! -//! # const IGNORE: &str = stringify! { -//! #[proc_macro_derive(MyDerive)] -//! # }; -//! pub fn my_derive(input: proc_macro::TokenStream) -> proc_macro::TokenStream { -//! let input = proc_macro2::TokenStream::from(input); -//! -//! let output: proc_macro2::TokenStream = { -//! /* transform input */ -//! # input -//! }; -//! -//! proc_macro::TokenStream::from(output) -//! } -//! ``` -//! -//! If parsing with [Syn], you'll use [`parse_macro_input!`] instead to -//! propagate parse errors correctly back to the compiler when parsing fails. -//! -//! [`parse_macro_input!`]: https://docs.rs/syn/0.15/syn/macro.parse_macro_input.html -//! -//! # Unstable features -//! -//! The default feature set of proc-macro2 tracks the most recent stable -//! compiler API. Functionality in `proc_macro` that is not yet stable is not -//! exposed by proc-macro2 by default. -//! -//! To opt into the additional APIs available in the most recent nightly -//! compiler, the `procmacro2_semver_exempt` config flag must be passed to -//! rustc. As usual, we will polyfill those nightly-only APIs all the way back -//! to Rust 1.15.0. As these are unstable APIs that track the nightly compiler, -//! minor versions of proc-macro2 may make breaking changes to them at any time. -//! -//! ```sh -//! RUSTFLAGS='--cfg procmacro2_semver_exempt' cargo build -//! ``` -//! -//! Note that this must not only be done for your crate, but for any crate that -//! depends on your crate. This infectious nature is intentional, as it serves -//! as a reminder that you are outside of the normal semver guarantees. -//! -//! Semver exempt methods are marked as such in the proc-macro2 documentation. - -// Proc-macro2 types in rustdoc of other crates get linked to here. -#![doc(html_root_url = "https://docs.rs/proc-macro2/0.4.30")] -#![cfg_attr(any(proc_macro_span, super_unstable), feature(proc_macro_span))] -#![cfg_attr(super_unstable, feature(proc_macro_raw_ident, proc_macro_def_site))] - -#[cfg(use_proc_macro)] -extern crate proc_macro; -extern crate unicode_xid; - -use std::cmp::Ordering; -use std::fmt; -use std::hash::{Hash, Hasher}; -use std::iter::FromIterator; -use std::marker; -#[cfg(procmacro2_semver_exempt)] -use std::path::PathBuf; -use std::rc::Rc; -use std::str::FromStr; - -#[macro_use] -mod strnom; -mod fallback; - -#[cfg(not(wrap_proc_macro))] -use fallback as imp; -#[path = "wrapper.rs"] -#[cfg(wrap_proc_macro)] -mod imp; - -/// An abstract stream of tokens, or more concretely a sequence of token trees. -/// -/// This type provides interfaces for iterating over token trees and for -/// collecting token trees into one stream. -/// -/// Token stream is both the input and output of `#[proc_macro]`, -/// `#[proc_macro_attribute]` and `#[proc_macro_derive]` definitions. -#[derive(Clone)] -pub struct TokenStream { - inner: imp::TokenStream, - _marker: marker::PhantomData>, -} - -/// Error returned from `TokenStream::from_str`. -pub struct LexError { - inner: imp::LexError, - _marker: marker::PhantomData>, -} - -impl TokenStream { - fn _new(inner: imp::TokenStream) -> TokenStream { - TokenStream { - inner: inner, - _marker: marker::PhantomData, - } - } - - fn _new_stable(inner: fallback::TokenStream) -> TokenStream { - TokenStream { - inner: inner.into(), - _marker: marker::PhantomData, - } - } - - /// Returns an empty `TokenStream` containing no token trees. - pub fn new() -> TokenStream { - TokenStream::_new(imp::TokenStream::new()) - } - - #[deprecated(since = "0.4.4", note = "please use TokenStream::new")] - pub fn empty() -> TokenStream { - TokenStream::new() - } - - /// Checks if this `TokenStream` is empty. - pub fn is_empty(&self) -> bool { - self.inner.is_empty() - } -} - -/// `TokenStream::default()` returns an empty stream, -/// i.e. this is equivalent with `TokenStream::new()`. -impl Default for TokenStream { - fn default() -> Self { - TokenStream::new() - } -} - -/// Attempts to break the string into tokens and parse those tokens into a token -/// stream. -/// -/// May fail for a number of reasons, for example, if the string contains -/// unbalanced delimiters or characters not existing in the language. -/// -/// NOTE: Some errors may cause panics instead of returning `LexError`. We -/// reserve the right to change these errors into `LexError`s later. -impl FromStr for TokenStream { - type Err = LexError; - - fn from_str(src: &str) -> Result { - let e = src.parse().map_err(|e| LexError { - inner: e, - _marker: marker::PhantomData, - })?; - Ok(TokenStream::_new(e)) - } -} - -#[cfg(use_proc_macro)] -impl From for TokenStream { - fn from(inner: proc_macro::TokenStream) -> TokenStream { - TokenStream::_new(inner.into()) - } -} - -#[cfg(use_proc_macro)] -impl From for proc_macro::TokenStream { - fn from(inner: TokenStream) -> proc_macro::TokenStream { - inner.inner.into() - } -} - -impl Extend for TokenStream { - fn extend>(&mut self, streams: I) { - self.inner.extend(streams) - } -} - -impl Extend for TokenStream { - fn extend>(&mut self, streams: I) { - self.inner - .extend(streams.into_iter().map(|stream| stream.inner)) - } -} - -/// Collects a number of token trees into a single stream. -impl FromIterator for TokenStream { - fn from_iter>(streams: I) -> Self { - TokenStream::_new(streams.into_iter().collect()) - } -} -impl FromIterator for TokenStream { - fn from_iter>(streams: I) -> Self { - TokenStream::_new(streams.into_iter().map(|i| i.inner).collect()) - } -} - -/// Prints the token stream as a string that is supposed to be losslessly -/// convertible back into the same token stream (modulo spans), except for -/// possibly `TokenTree::Group`s with `Delimiter::None` delimiters and negative -/// numeric literals. -impl fmt::Display for TokenStream { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - self.inner.fmt(f) - } -} - -/// Prints token in a form convenient for debugging. -impl fmt::Debug for TokenStream { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - self.inner.fmt(f) - } -} - -impl fmt::Debug for LexError { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - self.inner.fmt(f) - } -} - -/// The source file of a given `Span`. -/// -/// This type is semver exempt and not exposed by default. -#[cfg(procmacro2_semver_exempt)] -#[derive(Clone, PartialEq, Eq)] -pub struct SourceFile { - inner: imp::SourceFile, - _marker: marker::PhantomData>, -} - -#[cfg(procmacro2_semver_exempt)] -impl SourceFile { - fn _new(inner: imp::SourceFile) -> Self { - SourceFile { - inner: inner, - _marker: marker::PhantomData, - } - } - - /// Get the path to this source file. - /// - /// ### Note - /// - /// If the code span associated with this `SourceFile` was generated by an - /// external macro, this may not be an actual path on the filesystem. Use - /// [`is_real`] to check. - /// - /// Also note that even if `is_real` returns `true`, if - /// `--remap-path-prefix` was passed on the command line, the path as given - /// may not actually be valid. - /// - /// [`is_real`]: #method.is_real - pub fn path(&self) -> PathBuf { - self.inner.path() - } - - /// Returns `true` if this source file is a real source file, and not - /// generated by an external macro's expansion. - pub fn is_real(&self) -> bool { - self.inner.is_real() - } -} - -#[cfg(procmacro2_semver_exempt)] -impl fmt::Debug for SourceFile { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - self.inner.fmt(f) - } -} - -/// A line-column pair representing the start or end of a `Span`. -/// -/// This type is semver exempt and not exposed by default. -#[cfg(span_locations)] -#[derive(Copy, Clone, Debug, PartialEq, Eq)] -pub struct LineColumn { - /// The 1-indexed line in the source file on which the span starts or ends - /// (inclusive). - pub line: usize, - /// The 0-indexed column (in UTF-8 characters) in the source file on which - /// the span starts or ends (inclusive). - pub column: usize, -} - -/// A region of source code, along with macro expansion information. -#[derive(Copy, Clone)] -pub struct Span { - inner: imp::Span, - _marker: marker::PhantomData>, -} - -impl Span { - fn _new(inner: imp::Span) -> Span { - Span { - inner: inner, - _marker: marker::PhantomData, - } - } - - fn _new_stable(inner: fallback::Span) -> Span { - Span { - inner: inner.into(), - _marker: marker::PhantomData, - } - } - - /// The span of the invocation of the current procedural macro. - /// - /// Identifiers created with this span will be resolved as if they were - /// written directly at the macro call location (call-site hygiene) and - /// other code at the macro call site will be able to refer to them as well. - pub fn call_site() -> Span { - Span::_new(imp::Span::call_site()) - } - - /// A span that resolves at the macro definition site. - /// - /// This method is semver exempt and not exposed by default. - #[cfg(procmacro2_semver_exempt)] - pub fn def_site() -> Span { - Span::_new(imp::Span::def_site()) - } - - /// Creates a new span with the same line/column information as `self` but - /// that resolves symbols as though it were at `other`. - /// - /// This method is semver exempt and not exposed by default. - #[cfg(procmacro2_semver_exempt)] - pub fn resolved_at(&self, other: Span) -> Span { - Span::_new(self.inner.resolved_at(other.inner)) - } - - /// Creates a new span with the same name resolution behavior as `self` but - /// with the line/column information of `other`. - /// - /// This method is semver exempt and not exposed by default. - #[cfg(procmacro2_semver_exempt)] - pub fn located_at(&self, other: Span) -> Span { - Span::_new(self.inner.located_at(other.inner)) - } - - /// Convert `proc_macro2::Span` to `proc_macro::Span`. - /// - /// This method is available when building with a nightly compiler, or when - /// building with rustc 1.29+ *without* semver exempt features. - /// - /// # Panics - /// - /// Panics if called from outside of a procedural macro. Unlike - /// `proc_macro2::Span`, the `proc_macro::Span` type can only exist within - /// the context of a procedural macro invocation. - #[cfg(wrap_proc_macro)] - pub fn unwrap(self) -> proc_macro::Span { - self.inner.unwrap() - } - - // Soft deprecated. Please use Span::unwrap. - #[cfg(wrap_proc_macro)] - #[doc(hidden)] - pub fn unstable(self) -> proc_macro::Span { - self.unwrap() - } - - /// The original source file into which this span points. - /// - /// This method is semver exempt and not exposed by default. - #[cfg(procmacro2_semver_exempt)] - pub fn source_file(&self) -> SourceFile { - SourceFile::_new(self.inner.source_file()) - } - - /// Get the starting line/column in the source file for this span. - /// - /// This method requires the `"span-locations"` feature to be enabled. - #[cfg(span_locations)] - pub fn start(&self) -> LineColumn { - let imp::LineColumn { line, column } = self.inner.start(); - LineColumn { - line: line, - column: column, - } - } - - /// Get the ending line/column in the source file for this span. - /// - /// This method requires the `"span-locations"` feature to be enabled. - #[cfg(span_locations)] - pub fn end(&self) -> LineColumn { - let imp::LineColumn { line, column } = self.inner.end(); - LineColumn { - line: line, - column: column, - } - } - - /// Create a new span encompassing `self` and `other`. - /// - /// Returns `None` if `self` and `other` are from different files. - /// - /// This method is semver exempt and not exposed by default. - #[cfg(procmacro2_semver_exempt)] - pub fn join(&self, other: Span) -> Option { - self.inner.join(other.inner).map(Span::_new) - } - - /// Compares to spans to see if they're equal. - /// - /// This method is semver exempt and not exposed by default. - #[cfg(procmacro2_semver_exempt)] - pub fn eq(&self, other: &Span) -> bool { - self.inner.eq(&other.inner) - } -} - -/// Prints a span in a form convenient for debugging. -impl fmt::Debug for Span { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - self.inner.fmt(f) - } -} - -/// A single token or a delimited sequence of token trees (e.g. `[1, (), ..]`). -#[derive(Clone)] -pub enum TokenTree { - /// A token stream surrounded by bracket delimiters. - Group(Group), - /// An identifier. - Ident(Ident), - /// A single punctuation character (`+`, `,`, `$`, etc.). - Punct(Punct), - /// A literal character (`'a'`), string (`"hello"`), number (`2.3`), etc. - Literal(Literal), -} - -impl TokenTree { - /// Returns the span of this tree, delegating to the `span` method of - /// the contained token or a delimited stream. - pub fn span(&self) -> Span { - match *self { - TokenTree::Group(ref t) => t.span(), - TokenTree::Ident(ref t) => t.span(), - TokenTree::Punct(ref t) => t.span(), - TokenTree::Literal(ref t) => t.span(), - } - } - - /// Configures the span for *only this token*. - /// - /// Note that if this token is a `Group` then this method will not configure - /// the span of each of the internal tokens, this will simply delegate to - /// the `set_span` method of each variant. - pub fn set_span(&mut self, span: Span) { - match *self { - TokenTree::Group(ref mut t) => t.set_span(span), - TokenTree::Ident(ref mut t) => t.set_span(span), - TokenTree::Punct(ref mut t) => t.set_span(span), - TokenTree::Literal(ref mut t) => t.set_span(span), - } - } -} - -impl From for TokenTree { - fn from(g: Group) -> TokenTree { - TokenTree::Group(g) - } -} - -impl From for TokenTree { - fn from(g: Ident) -> TokenTree { - TokenTree::Ident(g) - } -} - -impl From for TokenTree { - fn from(g: Punct) -> TokenTree { - TokenTree::Punct(g) - } -} - -impl From for TokenTree { - fn from(g: Literal) -> TokenTree { - TokenTree::Literal(g) - } -} - -/// Prints the token tree as a string that is supposed to be losslessly -/// convertible back into the same token tree (modulo spans), except for -/// possibly `TokenTree::Group`s with `Delimiter::None` delimiters and negative -/// numeric literals. -impl fmt::Display for TokenTree { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match *self { - TokenTree::Group(ref t) => t.fmt(f), - TokenTree::Ident(ref t) => t.fmt(f), - TokenTree::Punct(ref t) => t.fmt(f), - TokenTree::Literal(ref t) => t.fmt(f), - } - } -} - -/// Prints token tree in a form convenient for debugging. -impl fmt::Debug for TokenTree { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - // Each of these has the name in the struct type in the derived debug, - // so don't bother with an extra layer of indirection - match *self { - TokenTree::Group(ref t) => t.fmt(f), - TokenTree::Ident(ref t) => { - let mut debug = f.debug_struct("Ident"); - debug.field("sym", &format_args!("{}", t)); - imp::debug_span_field_if_nontrivial(&mut debug, t.span().inner); - debug.finish() - } - TokenTree::Punct(ref t) => t.fmt(f), - TokenTree::Literal(ref t) => t.fmt(f), - } - } -} - -/// A delimited token stream. -/// -/// A `Group` internally contains a `TokenStream` which is surrounded by -/// `Delimiter`s. -#[derive(Clone)] -pub struct Group { - inner: imp::Group, -} - -/// Describes how a sequence of token trees is delimited. -#[derive(Copy, Clone, Debug, Eq, PartialEq)] -pub enum Delimiter { - /// `( ... )` - Parenthesis, - /// `{ ... }` - Brace, - /// `[ ... ]` - Bracket, - /// `Ø ... Ø` - /// - /// An implicit delimiter, that may, for example, appear around tokens - /// coming from a "macro variable" `$var`. It is important to preserve - /// operator priorities in cases like `$var * 3` where `$var` is `1 + 2`. - /// Implicit delimiters may not survive roundtrip of a token stream through - /// a string. - None, -} - -impl Group { - fn _new(inner: imp::Group) -> Self { - Group { inner: inner } - } - - fn _new_stable(inner: fallback::Group) -> Self { - Group { - inner: inner.into(), - } - } - - /// Creates a new `Group` with the given delimiter and token stream. - /// - /// This constructor will set the span for this group to - /// `Span::call_site()`. To change the span you can use the `set_span` - /// method below. - pub fn new(delimiter: Delimiter, stream: TokenStream) -> Group { - Group { - inner: imp::Group::new(delimiter, stream.inner), - } - } - - /// Returns the delimiter of this `Group` - pub fn delimiter(&self) -> Delimiter { - self.inner.delimiter() - } - - /// Returns the `TokenStream` of tokens that are delimited in this `Group`. - /// - /// Note that the returned token stream does not include the delimiter - /// returned above. - pub fn stream(&self) -> TokenStream { - TokenStream::_new(self.inner.stream()) - } - - /// Returns the span for the delimiters of this token stream, spanning the - /// entire `Group`. - /// - /// ```text - /// pub fn span(&self) -> Span { - /// ^^^^^^^ - /// ``` - pub fn span(&self) -> Span { - Span::_new(self.inner.span()) - } - - /// Returns the span pointing to the opening delimiter of this group. - /// - /// ```text - /// pub fn span_open(&self) -> Span { - /// ^ - /// ``` - #[cfg(procmacro2_semver_exempt)] - pub fn span_open(&self) -> Span { - Span::_new(self.inner.span_open()) - } - - /// Returns the span pointing to the closing delimiter of this group. - /// - /// ```text - /// pub fn span_close(&self) -> Span { - /// ^ - /// ``` - #[cfg(procmacro2_semver_exempt)] - pub fn span_close(&self) -> Span { - Span::_new(self.inner.span_close()) - } - - /// Configures the span for this `Group`'s delimiters, but not its internal - /// tokens. - /// - /// This method will **not** set the span of all the internal tokens spanned - /// by this group, but rather it will only set the span of the delimiter - /// tokens at the level of the `Group`. - pub fn set_span(&mut self, span: Span) { - self.inner.set_span(span.inner) - } -} - -/// Prints the group as a string that should be losslessly convertible back -/// into the same group (modulo spans), except for possibly `TokenTree::Group`s -/// with `Delimiter::None` delimiters. -impl fmt::Display for Group { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - fmt::Display::fmt(&self.inner, formatter) - } -} - -impl fmt::Debug for Group { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - fmt::Debug::fmt(&self.inner, formatter) - } -} - -/// An `Punct` is an single punctuation character like `+`, `-` or `#`. -/// -/// Multicharacter operators like `+=` are represented as two instances of -/// `Punct` with different forms of `Spacing` returned. -#[derive(Clone)] -pub struct Punct { - op: char, - spacing: Spacing, - span: Span, -} - -/// Whether an `Punct` is followed immediately by another `Punct` or followed by -/// another token or whitespace. -#[derive(Copy, Clone, Debug, Eq, PartialEq)] -pub enum Spacing { - /// E.g. `+` is `Alone` in `+ =`, `+ident` or `+()`. - Alone, - /// E.g. `+` is `Joint` in `+=` or `'#`. - /// - /// Additionally, single quote `'` can join with identifiers to form - /// lifetimes `'ident`. - Joint, -} - -impl Punct { - /// Creates a new `Punct` from the given character and spacing. - /// - /// The `ch` argument must be a valid punctuation character permitted by the - /// language, otherwise the function will panic. - /// - /// The returned `Punct` will have the default span of `Span::call_site()` - /// which can be further configured with the `set_span` method below. - pub fn new(op: char, spacing: Spacing) -> Punct { - Punct { - op: op, - spacing: spacing, - span: Span::call_site(), - } - } - - /// Returns the value of this punctuation character as `char`. - pub fn as_char(&self) -> char { - self.op - } - - /// Returns the spacing of this punctuation character, indicating whether - /// it's immediately followed by another `Punct` in the token stream, so - /// they can potentially be combined into a multicharacter operator - /// (`Joint`), or it's followed by some other token or whitespace (`Alone`) - /// so the operator has certainly ended. - pub fn spacing(&self) -> Spacing { - self.spacing - } - - /// Returns the span for this punctuation character. - pub fn span(&self) -> Span { - self.span - } - - /// Configure the span for this punctuation character. - pub fn set_span(&mut self, span: Span) { - self.span = span; - } -} - -/// Prints the punctuation character as a string that should be losslessly -/// convertible back into the same character. -impl fmt::Display for Punct { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - self.op.fmt(f) - } -} - -impl fmt::Debug for Punct { - fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { - let mut debug = fmt.debug_struct("Punct"); - debug.field("op", &self.op); - debug.field("spacing", &self.spacing); - imp::debug_span_field_if_nontrivial(&mut debug, self.span.inner); - debug.finish() - } -} - -/// A word of Rust code, which may be a keyword or legal variable name. -/// -/// An identifier consists of at least one Unicode code point, the first of -/// which has the XID_Start property and the rest of which have the XID_Continue -/// property. -/// -/// - The empty string is not an identifier. Use `Option`. -/// - A lifetime is not an identifier. Use `syn::Lifetime` instead. -/// -/// An identifier constructed with `Ident::new` is permitted to be a Rust -/// keyword, though parsing one through its [`Parse`] implementation rejects -/// Rust keywords. Use `input.call(Ident::parse_any)` when parsing to match the -/// behaviour of `Ident::new`. -/// -/// [`Parse`]: https://docs.rs/syn/0.15/syn/parse/trait.Parse.html -/// -/// # Examples -/// -/// A new ident can be created from a string using the `Ident::new` function. -/// A span must be provided explicitly which governs the name resolution -/// behavior of the resulting identifier. -/// -/// ```edition2018 -/// use proc_macro2::{Ident, Span}; -/// -/// fn main() { -/// let call_ident = Ident::new("calligraphy", Span::call_site()); -/// -/// println!("{}", call_ident); -/// } -/// ``` -/// -/// An ident can be interpolated into a token stream using the `quote!` macro. -/// -/// ```edition2018 -/// use proc_macro2::{Ident, Span}; -/// use quote::quote; -/// -/// fn main() { -/// let ident = Ident::new("demo", Span::call_site()); -/// -/// // Create a variable binding whose name is this ident. -/// let expanded = quote! { let #ident = 10; }; -/// -/// // Create a variable binding with a slightly different name. -/// let temp_ident = Ident::new(&format!("new_{}", ident), Span::call_site()); -/// let expanded = quote! { let #temp_ident = 10; }; -/// } -/// ``` -/// -/// A string representation of the ident is available through the `to_string()` -/// method. -/// -/// ```edition2018 -/// # use proc_macro2::{Ident, Span}; -/// # -/// # let ident = Ident::new("another_identifier", Span::call_site()); -/// # -/// // Examine the ident as a string. -/// let ident_string = ident.to_string(); -/// if ident_string.len() > 60 { -/// println!("Very long identifier: {}", ident_string) -/// } -/// ``` -#[derive(Clone)] -pub struct Ident { - inner: imp::Ident, - _marker: marker::PhantomData>, -} - -impl Ident { - fn _new(inner: imp::Ident) -> Ident { - Ident { - inner: inner, - _marker: marker::PhantomData, - } - } - - /// Creates a new `Ident` with the given `string` as well as the specified - /// `span`. - /// - /// The `string` argument must be a valid identifier permitted by the - /// language, otherwise the function will panic. - /// - /// Note that `span`, currently in rustc, configures the hygiene information - /// for this identifier. - /// - /// As of this time `Span::call_site()` explicitly opts-in to "call-site" - /// hygiene meaning that identifiers created with this span will be resolved - /// as if they were written directly at the location of the macro call, and - /// other code at the macro call site will be able to refer to them as well. - /// - /// Later spans like `Span::def_site()` will allow to opt-in to - /// "definition-site" hygiene meaning that identifiers created with this - /// span will be resolved at the location of the macro definition and other - /// code at the macro call site will not be able to refer to them. - /// - /// Due to the current importance of hygiene this constructor, unlike other - /// tokens, requires a `Span` to be specified at construction. - /// - /// # Panics - /// - /// Panics if the input string is neither a keyword nor a legal variable - /// name. If you are not sure whether the string contains an identifier and - /// need to handle an error case, use - /// syn::parse_str::<Ident> - /// rather than `Ident::new`. - pub fn new(string: &str, span: Span) -> Ident { - Ident::_new(imp::Ident::new(string, span.inner)) - } - - /// Same as `Ident::new`, but creates a raw identifier (`r#ident`). - /// - /// This method is semver exempt and not exposed by default. - #[cfg(procmacro2_semver_exempt)] - pub fn new_raw(string: &str, span: Span) -> Ident { - Ident::_new_raw(string, span) - } - - fn _new_raw(string: &str, span: Span) -> Ident { - Ident::_new(imp::Ident::new_raw(string, span.inner)) - } - - /// Returns the span of this `Ident`. - pub fn span(&self) -> Span { - Span::_new(self.inner.span()) - } - - /// Configures the span of this `Ident`, possibly changing its hygiene - /// context. - pub fn set_span(&mut self, span: Span) { - self.inner.set_span(span.inner); - } -} - -impl PartialEq for Ident { - fn eq(&self, other: &Ident) -> bool { - self.inner == other.inner - } -} - -impl PartialEq for Ident -where - T: ?Sized + AsRef, -{ - fn eq(&self, other: &T) -> bool { - self.inner == other - } -} - -impl Eq for Ident {} - -impl PartialOrd for Ident { - fn partial_cmp(&self, other: &Ident) -> Option { - Some(self.cmp(other)) - } -} - -impl Ord for Ident { - fn cmp(&self, other: &Ident) -> Ordering { - self.to_string().cmp(&other.to_string()) - } -} - -impl Hash for Ident { - fn hash(&self, hasher: &mut H) { - self.to_string().hash(hasher) - } -} - -/// Prints the identifier as a string that should be losslessly convertible back -/// into the same identifier. -impl fmt::Display for Ident { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - self.inner.fmt(f) - } -} - -impl fmt::Debug for Ident { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - self.inner.fmt(f) - } -} - -/// A literal string (`"hello"`), byte string (`b"hello"`), character (`'a'`), -/// byte character (`b'a'`), an integer or floating point number with or without -/// a suffix (`1`, `1u8`, `2.3`, `2.3f32`). -/// -/// Boolean literals like `true` and `false` do not belong here, they are -/// `Ident`s. -#[derive(Clone)] -pub struct Literal { - inner: imp::Literal, - _marker: marker::PhantomData>, -} - -macro_rules! suffixed_int_literals { - ($($name:ident => $kind:ident,)*) => ($( - /// Creates a new suffixed integer literal with the specified value. - /// - /// This function will create an integer like `1u32` where the integer - /// value specified is the first part of the token and the integral is - /// also suffixed at the end. Literals created from negative numbers may - /// not survive rountrips through `TokenStream` or strings and may be - /// broken into two tokens (`-` and positive literal). - /// - /// Literals created through this method have the `Span::call_site()` - /// span by default, which can be configured with the `set_span` method - /// below. - pub fn $name(n: $kind) -> Literal { - Literal::_new(imp::Literal::$name(n)) - } - )*) -} - -macro_rules! unsuffixed_int_literals { - ($($name:ident => $kind:ident,)*) => ($( - /// Creates a new unsuffixed integer literal with the specified value. - /// - /// This function will create an integer like `1` where the integer - /// value specified is the first part of the token. No suffix is - /// specified on this token, meaning that invocations like - /// `Literal::i8_unsuffixed(1)` are equivalent to - /// `Literal::u32_unsuffixed(1)`. Literals created from negative numbers - /// may not survive rountrips through `TokenStream` or strings and may - /// be broken into two tokens (`-` and positive literal). - /// - /// Literals created through this method have the `Span::call_site()` - /// span by default, which can be configured with the `set_span` method - /// below. - pub fn $name(n: $kind) -> Literal { - Literal::_new(imp::Literal::$name(n)) - } - )*) -} - -impl Literal { - fn _new(inner: imp::Literal) -> Literal { - Literal { - inner: inner, - _marker: marker::PhantomData, - } - } - - fn _new_stable(inner: fallback::Literal) -> Literal { - Literal { - inner: inner.into(), - _marker: marker::PhantomData, - } - } - - suffixed_int_literals! { - u8_suffixed => u8, - u16_suffixed => u16, - u32_suffixed => u32, - u64_suffixed => u64, - usize_suffixed => usize, - i8_suffixed => i8, - i16_suffixed => i16, - i32_suffixed => i32, - i64_suffixed => i64, - isize_suffixed => isize, - } - - #[cfg(u128)] - suffixed_int_literals! { - u128_suffixed => u128, - i128_suffixed => i128, - } - - unsuffixed_int_literals! { - u8_unsuffixed => u8, - u16_unsuffixed => u16, - u32_unsuffixed => u32, - u64_unsuffixed => u64, - usize_unsuffixed => usize, - i8_unsuffixed => i8, - i16_unsuffixed => i16, - i32_unsuffixed => i32, - i64_unsuffixed => i64, - isize_unsuffixed => isize, - } - - #[cfg(u128)] - unsuffixed_int_literals! { - u128_unsuffixed => u128, - i128_unsuffixed => i128, - } - - pub fn f64_unsuffixed(f: f64) -> Literal { - assert!(f.is_finite()); - Literal::_new(imp::Literal::f64_unsuffixed(f)) - } - - pub fn f64_suffixed(f: f64) -> Literal { - assert!(f.is_finite()); - Literal::_new(imp::Literal::f64_suffixed(f)) - } - - /// Creates a new unsuffixed floating-point literal. - /// - /// This constructor is similar to those like `Literal::i8_unsuffixed` where - /// the float's value is emitted directly into the token but no suffix is - /// used, so it may be inferred to be a `f64` later in the compiler. - /// Literals created from negative numbers may not survive rountrips through - /// `TokenStream` or strings and may be broken into two tokens (`-` and - /// positive literal). - /// - /// # Panics - /// - /// This function requires that the specified float is finite, for example - /// if it is infinity or NaN this function will panic. - pub fn f32_unsuffixed(f: f32) -> Literal { - assert!(f.is_finite()); - Literal::_new(imp::Literal::f32_unsuffixed(f)) - } - - pub fn f32_suffixed(f: f32) -> Literal { - assert!(f.is_finite()); - Literal::_new(imp::Literal::f32_suffixed(f)) - } - - pub fn string(string: &str) -> Literal { - Literal::_new(imp::Literal::string(string)) - } - - pub fn character(ch: char) -> Literal { - Literal::_new(imp::Literal::character(ch)) - } - - pub fn byte_string(s: &[u8]) -> Literal { - Literal::_new(imp::Literal::byte_string(s)) - } - - pub fn span(&self) -> Span { - Span::_new(self.inner.span()) - } - - pub fn set_span(&mut self, span: Span) { - self.inner.set_span(span.inner); - } -} - -impl fmt::Debug for Literal { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - self.inner.fmt(f) - } -} - -impl fmt::Display for Literal { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - self.inner.fmt(f) - } -} - -/// Public implementation details for the `TokenStream` type, such as iterators. -pub mod token_stream { - use std::fmt; - use std::marker; - use std::rc::Rc; - - use imp; - pub use TokenStream; - use TokenTree; - - /// An iterator over `TokenStream`'s `TokenTree`s. - /// - /// The iteration is "shallow", e.g. the iterator doesn't recurse into - /// delimited groups, and returns whole groups as token trees. - #[derive(Clone)] - pub struct IntoIter { - inner: imp::TokenTreeIter, - _marker: marker::PhantomData>, - } - - impl Iterator for IntoIter { - type Item = TokenTree; - - fn next(&mut self) -> Option { - self.inner.next() - } - } - - impl fmt::Debug for IntoIter { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - self.inner.fmt(f) - } - } - - impl IntoIterator for TokenStream { - type Item = TokenTree; - type IntoIter = IntoIter; - - fn into_iter(self) -> IntoIter { - IntoIter { - inner: self.inner.into_iter(), - _marker: marker::PhantomData, - } - } - } -} diff --git a/vendor/registry-40351f815f426200/proc-macro2/src/strnom.rs b/vendor/registry-40351f815f426200/proc-macro2/src/strnom.rs deleted file mode 100644 index 96789d569..000000000 --- a/vendor/registry-40351f815f426200/proc-macro2/src/strnom.rs +++ /dev/null @@ -1,393 +0,0 @@ -//! Adapted from [`nom`](https://github.com/Geal/nom). - -use std::str::{Bytes, CharIndices, Chars}; - -use unicode_xid::UnicodeXID; - -use fallback::LexError; - -#[derive(Copy, Clone, Eq, PartialEq)] -pub struct Cursor<'a> { - pub rest: &'a str, - #[cfg(span_locations)] - pub off: u32, -} - -impl<'a> Cursor<'a> { - #[cfg(not(span_locations))] - pub fn advance(&self, amt: usize) -> Cursor<'a> { - Cursor { - rest: &self.rest[amt..], - } - } - #[cfg(span_locations)] - pub fn advance(&self, amt: usize) -> Cursor<'a> { - Cursor { - rest: &self.rest[amt..], - off: self.off + (amt as u32), - } - } - - pub fn find(&self, p: char) -> Option { - self.rest.find(p) - } - - pub fn starts_with(&self, s: &str) -> bool { - self.rest.starts_with(s) - } - - pub fn is_empty(&self) -> bool { - self.rest.is_empty() - } - - pub fn len(&self) -> usize { - self.rest.len() - } - - pub fn as_bytes(&self) -> &'a [u8] { - self.rest.as_bytes() - } - - pub fn bytes(&self) -> Bytes<'a> { - self.rest.bytes() - } - - pub fn chars(&self) -> Chars<'a> { - self.rest.chars() - } - - pub fn char_indices(&self) -> CharIndices<'a> { - self.rest.char_indices() - } -} - -pub type PResult<'a, O> = Result<(Cursor<'a>, O), LexError>; - -pub fn whitespace(input: Cursor) -> PResult<()> { - if input.is_empty() { - return Err(LexError); - } - - let bytes = input.as_bytes(); - let mut i = 0; - while i < bytes.len() { - let s = input.advance(i); - if bytes[i] == b'/' { - if s.starts_with("//") - && (!s.starts_with("///") || s.starts_with("////")) - && !s.starts_with("//!") - { - if let Some(len) = s.find('\n') { - i += len + 1; - continue; - } - break; - } else if s.starts_with("/**/") { - i += 4; - continue; - } else if s.starts_with("/*") - && (!s.starts_with("/**") || s.starts_with("/***")) - && !s.starts_with("/*!") - { - let (_, com) = block_comment(s)?; - i += com.len(); - continue; - } - } - match bytes[i] { - b' ' | 0x09...0x0d => { - i += 1; - continue; - } - b if b <= 0x7f => {} - _ => { - let ch = s.chars().next().unwrap(); - if is_whitespace(ch) { - i += ch.len_utf8(); - continue; - } - } - } - return if i > 0 { Ok((s, ())) } else { Err(LexError) }; - } - Ok((input.advance(input.len()), ())) -} - -pub fn block_comment(input: Cursor) -> PResult<&str> { - if !input.starts_with("/*") { - return Err(LexError); - } - - let mut depth = 0; - let bytes = input.as_bytes(); - let mut i = 0; - let upper = bytes.len() - 1; - while i < upper { - if bytes[i] == b'/' && bytes[i + 1] == b'*' { - depth += 1; - i += 1; // eat '*' - } else if bytes[i] == b'*' && bytes[i + 1] == b'/' { - depth -= 1; - if depth == 0 { - return Ok((input.advance(i + 2), &input.rest[..i + 2])); - } - i += 1; // eat '/' - } - i += 1; - } - Err(LexError) -} - -pub fn skip_whitespace(input: Cursor) -> Cursor { - match whitespace(input) { - Ok((rest, _)) => rest, - Err(LexError) => input, - } -} - -fn is_whitespace(ch: char) -> bool { - // Rust treats left-to-right mark and right-to-left mark as whitespace - ch.is_whitespace() || ch == '\u{200e}' || ch == '\u{200f}' -} - -pub fn word_break(input: Cursor) -> PResult<()> { - match input.chars().next() { - Some(ch) if UnicodeXID::is_xid_continue(ch) => Err(LexError), - Some(_) | None => Ok((input, ())), - } -} - -macro_rules! named { - ($name:ident -> $o:ty, $submac:ident!( $($args:tt)* )) => { - fn $name<'a>(i: Cursor<'a>) -> $crate::strnom::PResult<'a, $o> { - $submac!(i, $($args)*) - } - }; -} - -macro_rules! alt { - ($i:expr, $e:ident | $($rest:tt)*) => { - alt!($i, call!($e) | $($rest)*) - }; - - ($i:expr, $subrule:ident!( $($args:tt)*) | $($rest:tt)*) => { - match $subrule!($i, $($args)*) { - res @ Ok(_) => res, - _ => alt!($i, $($rest)*) - } - }; - - ($i:expr, $subrule:ident!( $($args:tt)* ) => { $gen:expr } | $($rest:tt)+) => { - match $subrule!($i, $($args)*) { - Ok((i, o)) => Ok((i, $gen(o))), - Err(LexError) => alt!($i, $($rest)*) - } - }; - - ($i:expr, $e:ident => { $gen:expr } | $($rest:tt)*) => { - alt!($i, call!($e) => { $gen } | $($rest)*) - }; - - ($i:expr, $e:ident => { $gen:expr }) => { - alt!($i, call!($e) => { $gen }) - }; - - ($i:expr, $subrule:ident!( $($args:tt)* ) => { $gen:expr }) => { - match $subrule!($i, $($args)*) { - Ok((i, o)) => Ok((i, $gen(o))), - Err(LexError) => Err(LexError), - } - }; - - ($i:expr, $e:ident) => { - alt!($i, call!($e)) - }; - - ($i:expr, $subrule:ident!( $($args:tt)*)) => { - $subrule!($i, $($args)*) - }; -} - -macro_rules! do_parse { - ($i:expr, ( $($rest:expr),* )) => { - Ok(($i, ( $($rest),* ))) - }; - - ($i:expr, $e:ident >> $($rest:tt)*) => { - do_parse!($i, call!($e) >> $($rest)*) - }; - - ($i:expr, $submac:ident!( $($args:tt)* ) >> $($rest:tt)*) => { - match $submac!($i, $($args)*) { - Err(LexError) => Err(LexError), - Ok((i, _)) => do_parse!(i, $($rest)*), - } - }; - - ($i:expr, $field:ident : $e:ident >> $($rest:tt)*) => { - do_parse!($i, $field: call!($e) >> $($rest)*) - }; - - ($i:expr, $field:ident : $submac:ident!( $($args:tt)* ) >> $($rest:tt)*) => { - match $submac!($i, $($args)*) { - Err(LexError) => Err(LexError), - Ok((i, o)) => { - let $field = o; - do_parse!(i, $($rest)*) - }, - } - }; -} - -macro_rules! peek { - ($i:expr, $submac:ident!( $($args:tt)* )) => { - match $submac!($i, $($args)*) { - Ok((_, o)) => Ok(($i, o)), - Err(LexError) => Err(LexError), - } - }; -} - -macro_rules! call { - ($i:expr, $fun:expr $(, $args:expr)*) => { - $fun($i $(, $args)*) - }; -} - -macro_rules! option { - ($i:expr, $f:expr) => { - match $f($i) { - Ok((i, o)) => Ok((i, Some(o))), - Err(LexError) => Ok(($i, None)), - } - }; -} - -macro_rules! take_until_newline_or_eof { - ($i:expr,) => {{ - if $i.len() == 0 { - Ok(($i, "")) - } else { - match $i.find('\n') { - Some(i) => Ok(($i.advance(i), &$i.rest[..i])), - None => Ok(($i.advance($i.len()), &$i.rest[..$i.len()])), - } - } - }}; -} - -macro_rules! tuple { - ($i:expr, $($rest:tt)*) => { - tuple_parser!($i, (), $($rest)*) - }; -} - -/// Do not use directly. Use `tuple!`. -macro_rules! tuple_parser { - ($i:expr, ($($parsed:tt),*), $e:ident, $($rest:tt)*) => { - tuple_parser!($i, ($($parsed),*), call!($e), $($rest)*) - }; - - ($i:expr, (), $submac:ident!( $($args:tt)* ), $($rest:tt)*) => { - match $submac!($i, $($args)*) { - Err(LexError) => Err(LexError), - Ok((i, o)) => tuple_parser!(i, (o), $($rest)*), - } - }; - - ($i:expr, ($($parsed:tt)*), $submac:ident!( $($args:tt)* ), $($rest:tt)*) => { - match $submac!($i, $($args)*) { - Err(LexError) => Err(LexError), - Ok((i, o)) => tuple_parser!(i, ($($parsed)* , o), $($rest)*), - } - }; - - ($i:expr, ($($parsed:tt),*), $e:ident) => { - tuple_parser!($i, ($($parsed),*), call!($e)) - }; - - ($i:expr, (), $submac:ident!( $($args:tt)* )) => { - $submac!($i, $($args)*) - }; - - ($i:expr, ($($parsed:expr),*), $submac:ident!( $($args:tt)* )) => { - match $submac!($i, $($args)*) { - Err(LexError) => Err(LexError), - Ok((i, o)) => Ok((i, ($($parsed),*, o))) - } - }; - - ($i:expr, ($($parsed:expr),*)) => { - Ok(($i, ($($parsed),*))) - }; -} - -macro_rules! not { - ($i:expr, $submac:ident!( $($args:tt)* )) => { - match $submac!($i, $($args)*) { - Ok((_, _)) => Err(LexError), - Err(LexError) => Ok(($i, ())), - } - }; -} - -macro_rules! tag { - ($i:expr, $tag:expr) => { - if $i.starts_with($tag) { - Ok(($i.advance($tag.len()), &$i.rest[..$tag.len()])) - } else { - Err(LexError) - } - }; -} - -macro_rules! punct { - ($i:expr, $punct:expr) => { - $crate::strnom::punct($i, $punct) - }; -} - -/// Do not use directly. Use `punct!`. -pub fn punct<'a>(input: Cursor<'a>, token: &'static str) -> PResult<'a, &'a str> { - let input = skip_whitespace(input); - if input.starts_with(token) { - Ok((input.advance(token.len()), token)) - } else { - Err(LexError) - } -} - -macro_rules! preceded { - ($i:expr, $submac:ident!( $($args:tt)* ), $submac2:ident!( $($args2:tt)* )) => { - match tuple!($i, $submac!($($args)*), $submac2!($($args2)*)) { - Ok((remaining, (_, o))) => Ok((remaining, o)), - Err(LexError) => Err(LexError), - } - }; - - ($i:expr, $submac:ident!( $($args:tt)* ), $g:expr) => { - preceded!($i, $submac!($($args)*), call!($g)) - }; -} - -macro_rules! delimited { - ($i:expr, $submac:ident!( $($args:tt)* ), $($rest:tt)+) => { - match tuple_parser!($i, (), $submac!($($args)*), $($rest)*) { - Err(LexError) => Err(LexError), - Ok((i1, (_, o, _))) => Ok((i1, o)) - } - }; -} - -macro_rules! map { - ($i:expr, $submac:ident!( $($args:tt)* ), $g:expr) => { - match $submac!($i, $($args)*) { - Err(LexError) => Err(LexError), - Ok((i, o)) => Ok((i, call!(o, $g))) - } - }; - - ($i:expr, $f:expr, $g:expr) => { - map!($i, call!($f), $g) - }; -} diff --git a/vendor/registry-40351f815f426200/proc-macro2/src/wrapper.rs b/vendor/registry-40351f815f426200/proc-macro2/src/wrapper.rs deleted file mode 100644 index 994ed24d8..000000000 --- a/vendor/registry-40351f815f426200/proc-macro2/src/wrapper.rs +++ /dev/null @@ -1,928 +0,0 @@ -use std::fmt; -use std::iter; -use std::panic::{self, PanicInfo}; -#[cfg(super_unstable)] -use std::path::PathBuf; -use std::str::FromStr; - -use fallback; -use proc_macro; - -use {Delimiter, Punct, Spacing, TokenTree}; - -#[derive(Clone)] -pub enum TokenStream { - Compiler(proc_macro::TokenStream), - Fallback(fallback::TokenStream), -} - -pub enum LexError { - Compiler(proc_macro::LexError), - Fallback(fallback::LexError), -} - -fn nightly_works() -> bool { - use std::sync::atomic::*; - use std::sync::Once; - - #[allow(deprecated)] - static WORKS: AtomicUsize = ATOMIC_USIZE_INIT; - static INIT: Once = Once::new(); - - match WORKS.load(Ordering::SeqCst) { - 1 => return false, - 2 => return true, - _ => {} - } - - // Swap in a null panic hook to avoid printing "thread panicked" to stderr, - // then use catch_unwind to determine whether the compiler's proc_macro is - // working. When proc-macro2 is used from outside of a procedural macro all - // of the proc_macro crate's APIs currently panic. - // - // The Once is to prevent the possibility of this ordering: - // - // thread 1 calls take_hook, gets the user's original hook - // thread 1 calls set_hook with the null hook - // thread 2 calls take_hook, thinks null hook is the original hook - // thread 2 calls set_hook with the null hook - // thread 1 calls set_hook with the actual original hook - // thread 2 calls set_hook with what it thinks is the original hook - // - // in which the user's hook has been lost. - // - // There is still a race condition where a panic in a different thread can - // happen during the interval that the user's original panic hook is - // unregistered such that their hook is incorrectly not called. This is - // sufficiently unlikely and less bad than printing panic messages to stderr - // on correct use of this crate. Maybe there is a libstd feature request - // here. For now, if a user needs to guarantee that this failure mode does - // not occur, they need to call e.g. `proc_macro2::Span::call_site()` from - // the main thread before launching any other threads. - INIT.call_once(|| { - type PanicHook = Fn(&PanicInfo) + Sync + Send + 'static; - - let null_hook: Box = Box::new(|_panic_info| { /* ignore */ }); - let sanity_check = &*null_hook as *const PanicHook; - let original_hook = panic::take_hook(); - panic::set_hook(null_hook); - - let works = panic::catch_unwind(|| proc_macro::Span::call_site()).is_ok(); - WORKS.store(works as usize + 1, Ordering::SeqCst); - - let hopefully_null_hook = panic::take_hook(); - panic::set_hook(original_hook); - if sanity_check != &*hopefully_null_hook { - panic!("observed race condition in proc_macro2::nightly_works"); - } - }); - nightly_works() -} - -fn mismatch() -> ! { - panic!("stable/nightly mismatch") -} - -impl TokenStream { - pub fn new() -> TokenStream { - if nightly_works() { - TokenStream::Compiler(proc_macro::TokenStream::new()) - } else { - TokenStream::Fallback(fallback::TokenStream::new()) - } - } - - pub fn is_empty(&self) -> bool { - match self { - TokenStream::Compiler(tts) => tts.is_empty(), - TokenStream::Fallback(tts) => tts.is_empty(), - } - } - - fn unwrap_nightly(self) -> proc_macro::TokenStream { - match self { - TokenStream::Compiler(s) => s, - TokenStream::Fallback(_) => mismatch(), - } - } - - fn unwrap_stable(self) -> fallback::TokenStream { - match self { - TokenStream::Compiler(_) => mismatch(), - TokenStream::Fallback(s) => s, - } - } -} - -impl FromStr for TokenStream { - type Err = LexError; - - fn from_str(src: &str) -> Result { - if nightly_works() { - Ok(TokenStream::Compiler(src.parse()?)) - } else { - Ok(TokenStream::Fallback(src.parse()?)) - } - } -} - -impl fmt::Display for TokenStream { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match self { - TokenStream::Compiler(tts) => tts.fmt(f), - TokenStream::Fallback(tts) => tts.fmt(f), - } - } -} - -impl From for TokenStream { - fn from(inner: proc_macro::TokenStream) -> TokenStream { - TokenStream::Compiler(inner) - } -} - -impl From for proc_macro::TokenStream { - fn from(inner: TokenStream) -> proc_macro::TokenStream { - match inner { - TokenStream::Compiler(inner) => inner, - TokenStream::Fallback(inner) => inner.to_string().parse().unwrap(), - } - } -} - -impl From for TokenStream { - fn from(inner: fallback::TokenStream) -> TokenStream { - TokenStream::Fallback(inner) - } -} - -impl From for TokenStream { - fn from(token: TokenTree) -> TokenStream { - if !nightly_works() { - return TokenStream::Fallback(token.into()); - } - let tt: proc_macro::TokenTree = match token { - TokenTree::Group(tt) => tt.inner.unwrap_nightly().into(), - TokenTree::Punct(tt) => { - let spacing = match tt.spacing() { - Spacing::Joint => proc_macro::Spacing::Joint, - Spacing::Alone => proc_macro::Spacing::Alone, - }; - let mut op = proc_macro::Punct::new(tt.as_char(), spacing); - op.set_span(tt.span().inner.unwrap_nightly()); - op.into() - } - TokenTree::Ident(tt) => tt.inner.unwrap_nightly().into(), - TokenTree::Literal(tt) => tt.inner.unwrap_nightly().into(), - }; - TokenStream::Compiler(tt.into()) - } -} - -impl iter::FromIterator for TokenStream { - fn from_iter>(trees: I) -> Self { - if nightly_works() { - let trees = trees - .into_iter() - .map(TokenStream::from) - .flat_map(|t| match t { - TokenStream::Compiler(s) => s, - TokenStream::Fallback(_) => mismatch(), - }); - TokenStream::Compiler(trees.collect()) - } else { - TokenStream::Fallback(trees.into_iter().collect()) - } - } -} - -impl iter::FromIterator for TokenStream { - fn from_iter>(streams: I) -> Self { - let mut streams = streams.into_iter(); - match streams.next() { - #[cfg(slow_extend)] - Some(TokenStream::Compiler(first)) => { - let stream = iter::once(first) - .chain(streams.map(|s| match s { - TokenStream::Compiler(s) => s, - TokenStream::Fallback(_) => mismatch(), - })) - .collect(); - TokenStream::Compiler(stream) - } - #[cfg(not(slow_extend))] - Some(TokenStream::Compiler(mut first)) => { - first.extend(streams.map(|s| match s { - TokenStream::Compiler(s) => s, - TokenStream::Fallback(_) => mismatch(), - })); - TokenStream::Compiler(first) - } - Some(TokenStream::Fallback(mut first)) => { - first.extend(streams.map(|s| match s { - TokenStream::Fallback(s) => s, - TokenStream::Compiler(_) => mismatch(), - })); - TokenStream::Fallback(first) - } - None => TokenStream::new(), - } - } -} - -impl Extend for TokenStream { - fn extend>(&mut self, streams: I) { - match self { - TokenStream::Compiler(tts) => { - #[cfg(not(slow_extend))] - { - tts.extend( - streams - .into_iter() - .map(|t| TokenStream::from(t).unwrap_nightly()), - ); - } - #[cfg(slow_extend)] - { - *tts = - tts.clone() - .into_iter() - .chain(streams.into_iter().map(TokenStream::from).flat_map( - |t| match t { - TokenStream::Compiler(tts) => tts.into_iter(), - _ => mismatch(), - }, - )) - .collect(); - } - } - TokenStream::Fallback(tts) => tts.extend(streams), - } - } -} - -impl Extend for TokenStream { - fn extend>(&mut self, streams: I) { - match self { - TokenStream::Compiler(tts) => { - #[cfg(not(slow_extend))] - { - tts.extend(streams.into_iter().map(|stream| stream.unwrap_nightly())); - } - #[cfg(slow_extend)] - { - *tts = tts - .clone() - .into_iter() - .chain(streams.into_iter().flat_map(|t| match t { - TokenStream::Compiler(tts) => tts.into_iter(), - _ => mismatch(), - })) - .collect(); - } - } - TokenStream::Fallback(tts) => { - tts.extend(streams.into_iter().map(|stream| stream.unwrap_stable())) - } - } - } -} - -impl fmt::Debug for TokenStream { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match self { - TokenStream::Compiler(tts) => tts.fmt(f), - TokenStream::Fallback(tts) => tts.fmt(f), - } - } -} - -impl From for LexError { - fn from(e: proc_macro::LexError) -> LexError { - LexError::Compiler(e) - } -} - -impl From for LexError { - fn from(e: fallback::LexError) -> LexError { - LexError::Fallback(e) - } -} - -impl fmt::Debug for LexError { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match self { - LexError::Compiler(e) => e.fmt(f), - LexError::Fallback(e) => e.fmt(f), - } - } -} - -#[derive(Clone)] -pub enum TokenTreeIter { - Compiler(proc_macro::token_stream::IntoIter), - Fallback(fallback::TokenTreeIter), -} - -impl IntoIterator for TokenStream { - type Item = TokenTree; - type IntoIter = TokenTreeIter; - - fn into_iter(self) -> TokenTreeIter { - match self { - TokenStream::Compiler(tts) => TokenTreeIter::Compiler(tts.into_iter()), - TokenStream::Fallback(tts) => TokenTreeIter::Fallback(tts.into_iter()), - } - } -} - -impl Iterator for TokenTreeIter { - type Item = TokenTree; - - fn next(&mut self) -> Option { - let token = match self { - TokenTreeIter::Compiler(iter) => iter.next()?, - TokenTreeIter::Fallback(iter) => return iter.next(), - }; - Some(match token { - proc_macro::TokenTree::Group(tt) => ::Group::_new(Group::Compiler(tt)).into(), - proc_macro::TokenTree::Punct(tt) => { - let spacing = match tt.spacing() { - proc_macro::Spacing::Joint => Spacing::Joint, - proc_macro::Spacing::Alone => Spacing::Alone, - }; - let mut o = Punct::new(tt.as_char(), spacing); - o.set_span(::Span::_new(Span::Compiler(tt.span()))); - o.into() - } - proc_macro::TokenTree::Ident(s) => ::Ident::_new(Ident::Compiler(s)).into(), - proc_macro::TokenTree::Literal(l) => ::Literal::_new(Literal::Compiler(l)).into(), - }) - } - - fn size_hint(&self) -> (usize, Option) { - match self { - TokenTreeIter::Compiler(tts) => tts.size_hint(), - TokenTreeIter::Fallback(tts) => tts.size_hint(), - } - } -} - -impl fmt::Debug for TokenTreeIter { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.debug_struct("TokenTreeIter").finish() - } -} - -#[derive(Clone, PartialEq, Eq)] -#[cfg(super_unstable)] -pub enum SourceFile { - Compiler(proc_macro::SourceFile), - Fallback(fallback::SourceFile), -} - -#[cfg(super_unstable)] -impl SourceFile { - fn nightly(sf: proc_macro::SourceFile) -> Self { - SourceFile::Compiler(sf) - } - - /// Get the path to this source file as a string. - pub fn path(&self) -> PathBuf { - match self { - SourceFile::Compiler(a) => a.path(), - SourceFile::Fallback(a) => a.path(), - } - } - - pub fn is_real(&self) -> bool { - match self { - SourceFile::Compiler(a) => a.is_real(), - SourceFile::Fallback(a) => a.is_real(), - } - } -} - -#[cfg(super_unstable)] -impl fmt::Debug for SourceFile { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match self { - SourceFile::Compiler(a) => a.fmt(f), - SourceFile::Fallback(a) => a.fmt(f), - } - } -} - -#[cfg(any(super_unstable, feature = "span-locations"))] -pub struct LineColumn { - pub line: usize, - pub column: usize, -} - -#[derive(Copy, Clone)] -pub enum Span { - Compiler(proc_macro::Span), - Fallback(fallback::Span), -} - -impl Span { - pub fn call_site() -> Span { - if nightly_works() { - Span::Compiler(proc_macro::Span::call_site()) - } else { - Span::Fallback(fallback::Span::call_site()) - } - } - - #[cfg(super_unstable)] - pub fn def_site() -> Span { - if nightly_works() { - Span::Compiler(proc_macro::Span::def_site()) - } else { - Span::Fallback(fallback::Span::def_site()) - } - } - - #[cfg(super_unstable)] - pub fn resolved_at(&self, other: Span) -> Span { - match (self, other) { - (Span::Compiler(a), Span::Compiler(b)) => Span::Compiler(a.resolved_at(b)), - (Span::Fallback(a), Span::Fallback(b)) => Span::Fallback(a.resolved_at(b)), - _ => mismatch(), - } - } - - #[cfg(super_unstable)] - pub fn located_at(&self, other: Span) -> Span { - match (self, other) { - (Span::Compiler(a), Span::Compiler(b)) => Span::Compiler(a.located_at(b)), - (Span::Fallback(a), Span::Fallback(b)) => Span::Fallback(a.located_at(b)), - _ => mismatch(), - } - } - - pub fn unwrap(self) -> proc_macro::Span { - match self { - Span::Compiler(s) => s, - Span::Fallback(_) => panic!("proc_macro::Span is only available in procedural macros"), - } - } - - #[cfg(super_unstable)] - pub fn source_file(&self) -> SourceFile { - match self { - Span::Compiler(s) => SourceFile::nightly(s.source_file()), - Span::Fallback(s) => SourceFile::Fallback(s.source_file()), - } - } - - #[cfg(any(super_unstable, feature = "span-locations"))] - pub fn start(&self) -> LineColumn { - match self { - #[cfg(proc_macro_span)] - Span::Compiler(s) => { - let proc_macro::LineColumn { line, column } = s.start(); - LineColumn { line, column } - } - #[cfg(not(proc_macro_span))] - Span::Compiler(_) => LineColumn { line: 0, column: 0 }, - Span::Fallback(s) => { - let fallback::LineColumn { line, column } = s.start(); - LineColumn { line, column } - } - } - } - - #[cfg(any(super_unstable, feature = "span-locations"))] - pub fn end(&self) -> LineColumn { - match self { - #[cfg(proc_macro_span)] - Span::Compiler(s) => { - let proc_macro::LineColumn { line, column } = s.end(); - LineColumn { line, column } - } - #[cfg(not(proc_macro_span))] - Span::Compiler(_) => LineColumn { line: 0, column: 0 }, - Span::Fallback(s) => { - let fallback::LineColumn { line, column } = s.end(); - LineColumn { line, column } - } - } - } - - #[cfg(super_unstable)] - pub fn join(&self, other: Span) -> Option { - let ret = match (self, other) { - (Span::Compiler(a), Span::Compiler(b)) => Span::Compiler(a.join(b)?), - (Span::Fallback(a), Span::Fallback(b)) => Span::Fallback(a.join(b)?), - _ => return None, - }; - Some(ret) - } - - #[cfg(super_unstable)] - pub fn eq(&self, other: &Span) -> bool { - match (self, other) { - (Span::Compiler(a), Span::Compiler(b)) => a.eq(b), - (Span::Fallback(a), Span::Fallback(b)) => a.eq(b), - _ => false, - } - } - - fn unwrap_nightly(self) -> proc_macro::Span { - match self { - Span::Compiler(s) => s, - Span::Fallback(_) => mismatch(), - } - } -} - -impl From for ::Span { - fn from(proc_span: proc_macro::Span) -> ::Span { - ::Span::_new(Span::Compiler(proc_span)) - } -} - -impl From for Span { - fn from(inner: fallback::Span) -> Span { - Span::Fallback(inner) - } -} - -impl fmt::Debug for Span { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match self { - Span::Compiler(s) => s.fmt(f), - Span::Fallback(s) => s.fmt(f), - } - } -} - -pub fn debug_span_field_if_nontrivial(debug: &mut fmt::DebugStruct, span: Span) { - match span { - Span::Compiler(s) => { - debug.field("span", &s); - } - Span::Fallback(s) => fallback::debug_span_field_if_nontrivial(debug, s), - } -} - -#[derive(Clone)] -pub enum Group { - Compiler(proc_macro::Group), - Fallback(fallback::Group), -} - -impl Group { - pub fn new(delimiter: Delimiter, stream: TokenStream) -> Group { - match stream { - TokenStream::Compiler(stream) => { - let delimiter = match delimiter { - Delimiter::Parenthesis => proc_macro::Delimiter::Parenthesis, - Delimiter::Bracket => proc_macro::Delimiter::Bracket, - Delimiter::Brace => proc_macro::Delimiter::Brace, - Delimiter::None => proc_macro::Delimiter::None, - }; - Group::Compiler(proc_macro::Group::new(delimiter, stream)) - } - TokenStream::Fallback(stream) => { - Group::Fallback(fallback::Group::new(delimiter, stream)) - } - } - } - - pub fn delimiter(&self) -> Delimiter { - match self { - Group::Compiler(g) => match g.delimiter() { - proc_macro::Delimiter::Parenthesis => Delimiter::Parenthesis, - proc_macro::Delimiter::Bracket => Delimiter::Bracket, - proc_macro::Delimiter::Brace => Delimiter::Brace, - proc_macro::Delimiter::None => Delimiter::None, - }, - Group::Fallback(g) => g.delimiter(), - } - } - - pub fn stream(&self) -> TokenStream { - match self { - Group::Compiler(g) => TokenStream::Compiler(g.stream()), - Group::Fallback(g) => TokenStream::Fallback(g.stream()), - } - } - - pub fn span(&self) -> Span { - match self { - Group::Compiler(g) => Span::Compiler(g.span()), - Group::Fallback(g) => Span::Fallback(g.span()), - } - } - - #[cfg(super_unstable)] - pub fn span_open(&self) -> Span { - match self { - Group::Compiler(g) => Span::Compiler(g.span_open()), - Group::Fallback(g) => Span::Fallback(g.span_open()), - } - } - - #[cfg(super_unstable)] - pub fn span_close(&self) -> Span { - match self { - Group::Compiler(g) => Span::Compiler(g.span_close()), - Group::Fallback(g) => Span::Fallback(g.span_close()), - } - } - - pub fn set_span(&mut self, span: Span) { - match (self, span) { - (Group::Compiler(g), Span::Compiler(s)) => g.set_span(s), - (Group::Fallback(g), Span::Fallback(s)) => g.set_span(s), - _ => mismatch(), - } - } - - fn unwrap_nightly(self) -> proc_macro::Group { - match self { - Group::Compiler(g) => g, - Group::Fallback(_) => mismatch(), - } - } -} - -impl From for Group { - fn from(g: fallback::Group) -> Self { - Group::Fallback(g) - } -} - -impl fmt::Display for Group { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - match self { - Group::Compiler(group) => group.fmt(formatter), - Group::Fallback(group) => group.fmt(formatter), - } - } -} - -impl fmt::Debug for Group { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - match self { - Group::Compiler(group) => group.fmt(formatter), - Group::Fallback(group) => group.fmt(formatter), - } - } -} - -#[derive(Clone)] -pub enum Ident { - Compiler(proc_macro::Ident), - Fallback(fallback::Ident), -} - -impl Ident { - pub fn new(string: &str, span: Span) -> Ident { - match span { - Span::Compiler(s) => Ident::Compiler(proc_macro::Ident::new(string, s)), - Span::Fallback(s) => Ident::Fallback(fallback::Ident::new(string, s)), - } - } - - pub fn new_raw(string: &str, span: Span) -> Ident { - match span { - Span::Compiler(s) => { - let p: proc_macro::TokenStream = string.parse().unwrap(); - let ident = match p.into_iter().next() { - Some(proc_macro::TokenTree::Ident(mut i)) => { - i.set_span(s); - i - } - _ => panic!(), - }; - Ident::Compiler(ident) - } - Span::Fallback(s) => Ident::Fallback(fallback::Ident::new_raw(string, s)), - } - } - - pub fn span(&self) -> Span { - match self { - Ident::Compiler(t) => Span::Compiler(t.span()), - Ident::Fallback(t) => Span::Fallback(t.span()), - } - } - - pub fn set_span(&mut self, span: Span) { - match (self, span) { - (Ident::Compiler(t), Span::Compiler(s)) => t.set_span(s), - (Ident::Fallback(t), Span::Fallback(s)) => t.set_span(s), - _ => mismatch(), - } - } - - fn unwrap_nightly(self) -> proc_macro::Ident { - match self { - Ident::Compiler(s) => s, - Ident::Fallback(_) => mismatch(), - } - } -} - -impl PartialEq for Ident { - fn eq(&self, other: &Ident) -> bool { - match (self, other) { - (Ident::Compiler(t), Ident::Compiler(o)) => t.to_string() == o.to_string(), - (Ident::Fallback(t), Ident::Fallback(o)) => t == o, - _ => mismatch(), - } - } -} - -impl PartialEq for Ident -where - T: ?Sized + AsRef, -{ - fn eq(&self, other: &T) -> bool { - let other = other.as_ref(); - match self { - Ident::Compiler(t) => t.to_string() == other, - Ident::Fallback(t) => t == other, - } - } -} - -impl fmt::Display for Ident { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match self { - Ident::Compiler(t) => t.fmt(f), - Ident::Fallback(t) => t.fmt(f), - } - } -} - -impl fmt::Debug for Ident { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match self { - Ident::Compiler(t) => t.fmt(f), - Ident::Fallback(t) => t.fmt(f), - } - } -} - -#[derive(Clone)] -pub enum Literal { - Compiler(proc_macro::Literal), - Fallback(fallback::Literal), -} - -macro_rules! suffixed_numbers { - ($($name:ident => $kind:ident,)*) => ($( - pub fn $name(n: $kind) -> Literal { - if nightly_works() { - Literal::Compiler(proc_macro::Literal::$name(n)) - } else { - Literal::Fallback(fallback::Literal::$name(n)) - } - } - )*) -} - -macro_rules! unsuffixed_integers { - ($($name:ident => $kind:ident,)*) => ($( - pub fn $name(n: $kind) -> Literal { - if nightly_works() { - Literal::Compiler(proc_macro::Literal::$name(n)) - } else { - Literal::Fallback(fallback::Literal::$name(n)) - } - } - )*) -} - -impl Literal { - suffixed_numbers! { - u8_suffixed => u8, - u16_suffixed => u16, - u32_suffixed => u32, - u64_suffixed => u64, - usize_suffixed => usize, - i8_suffixed => i8, - i16_suffixed => i16, - i32_suffixed => i32, - i64_suffixed => i64, - isize_suffixed => isize, - - f32_suffixed => f32, - f64_suffixed => f64, - } - - #[cfg(u128)] - suffixed_numbers! { - i128_suffixed => i128, - u128_suffixed => u128, - } - - unsuffixed_integers! { - u8_unsuffixed => u8, - u16_unsuffixed => u16, - u32_unsuffixed => u32, - u64_unsuffixed => u64, - usize_unsuffixed => usize, - i8_unsuffixed => i8, - i16_unsuffixed => i16, - i32_unsuffixed => i32, - i64_unsuffixed => i64, - isize_unsuffixed => isize, - } - - #[cfg(u128)] - unsuffixed_integers! { - i128_unsuffixed => i128, - u128_unsuffixed => u128, - } - - pub fn f32_unsuffixed(f: f32) -> Literal { - if nightly_works() { - Literal::Compiler(proc_macro::Literal::f32_unsuffixed(f)) - } else { - Literal::Fallback(fallback::Literal::f32_unsuffixed(f)) - } - } - - pub fn f64_unsuffixed(f: f64) -> Literal { - if nightly_works() { - Literal::Compiler(proc_macro::Literal::f64_unsuffixed(f)) - } else { - Literal::Fallback(fallback::Literal::f64_unsuffixed(f)) - } - } - - pub fn string(t: &str) -> Literal { - if nightly_works() { - Literal::Compiler(proc_macro::Literal::string(t)) - } else { - Literal::Fallback(fallback::Literal::string(t)) - } - } - - pub fn character(t: char) -> Literal { - if nightly_works() { - Literal::Compiler(proc_macro::Literal::character(t)) - } else { - Literal::Fallback(fallback::Literal::character(t)) - } - } - - pub fn byte_string(bytes: &[u8]) -> Literal { - if nightly_works() { - Literal::Compiler(proc_macro::Literal::byte_string(bytes)) - } else { - Literal::Fallback(fallback::Literal::byte_string(bytes)) - } - } - - pub fn span(&self) -> Span { - match self { - Literal::Compiler(lit) => Span::Compiler(lit.span()), - Literal::Fallback(lit) => Span::Fallback(lit.span()), - } - } - - pub fn set_span(&mut self, span: Span) { - match (self, span) { - (Literal::Compiler(lit), Span::Compiler(s)) => lit.set_span(s), - (Literal::Fallback(lit), Span::Fallback(s)) => lit.set_span(s), - _ => mismatch(), - } - } - - fn unwrap_nightly(self) -> proc_macro::Literal { - match self { - Literal::Compiler(s) => s, - Literal::Fallback(_) => mismatch(), - } - } -} - -impl From for Literal { - fn from(s: fallback::Literal) -> Literal { - Literal::Fallback(s) - } -} - -impl fmt::Display for Literal { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match self { - Literal::Compiler(t) => t.fmt(f), - Literal::Fallback(t) => t.fmt(f), - } - } -} - -impl fmt::Debug for Literal { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match self { - Literal::Compiler(t) => t.fmt(f), - Literal::Fallback(t) => t.fmt(f), - } - } -} diff --git a/vendor/registry-40351f815f426200/proc-macro2/tests/marker.rs b/vendor/registry-40351f815f426200/proc-macro2/tests/marker.rs deleted file mode 100644 index 7bb502762..000000000 --- a/vendor/registry-40351f815f426200/proc-macro2/tests/marker.rs +++ /dev/null @@ -1,61 +0,0 @@ -extern crate proc_macro2; - -use proc_macro2::*; - -macro_rules! assert_impl { - ($ty:ident is $($marker:ident) and +) => { - #[test] - #[allow(non_snake_case)] - fn $ty() { - fn assert_implemented() {} - assert_implemented::<$ty>(); - } - }; - - ($ty:ident is not $($marker:ident) or +) => { - #[test] - #[allow(non_snake_case)] - fn $ty() { - $( - { - // Implemented for types that implement $marker. - trait IsNotImplemented { - fn assert_not_implemented() {} - } - impl IsNotImplemented for T {} - - // Implemented for the type being tested. - trait IsImplemented { - fn assert_not_implemented() {} - } - impl IsImplemented for $ty {} - - // If $ty does not implement $marker, there is no ambiguity - // in the following trait method call. - <$ty>::assert_not_implemented(); - } - )+ - } - }; -} - -assert_impl!(Delimiter is Send and Sync); -assert_impl!(Spacing is Send and Sync); - -assert_impl!(Group is not Send or Sync); -assert_impl!(Ident is not Send or Sync); -assert_impl!(LexError is not Send or Sync); -assert_impl!(Literal is not Send or Sync); -assert_impl!(Punct is not Send or Sync); -assert_impl!(Span is not Send or Sync); -assert_impl!(TokenStream is not Send or Sync); -assert_impl!(TokenTree is not Send or Sync); - -#[cfg(procmacro2_semver_exempt)] -mod semver_exempt { - use super::*; - - assert_impl!(LineColumn is Send and Sync); - - assert_impl!(SourceFile is not Send or Sync); -} diff --git a/vendor/registry-40351f815f426200/proc-macro2/tests/test.rs b/vendor/registry-40351f815f426200/proc-macro2/tests/test.rs deleted file mode 100644 index 370392b65..000000000 --- a/vendor/registry-40351f815f426200/proc-macro2/tests/test.rs +++ /dev/null @@ -1,452 +0,0 @@ -extern crate proc_macro2; - -use std::str::{self, FromStr}; - -use proc_macro2::{Ident, Literal, Spacing, Span, TokenStream, TokenTree}; - -#[test] -fn idents() { - assert_eq!( - Ident::new("String", Span::call_site()).to_string(), - "String" - ); - assert_eq!(Ident::new("fn", Span::call_site()).to_string(), "fn"); - assert_eq!(Ident::new("_", Span::call_site()).to_string(), "_"); -} - -#[test] -#[cfg(procmacro2_semver_exempt)] -fn raw_idents() { - assert_eq!( - Ident::new_raw("String", Span::call_site()).to_string(), - "r#String" - ); - assert_eq!(Ident::new_raw("fn", Span::call_site()).to_string(), "r#fn"); - assert_eq!(Ident::new_raw("_", Span::call_site()).to_string(), "r#_"); -} - -#[test] -#[should_panic(expected = "Ident is not allowed to be empty; use Option")] -fn ident_empty() { - Ident::new("", Span::call_site()); -} - -#[test] -#[should_panic(expected = "Ident cannot be a number; use Literal instead")] -fn ident_number() { - Ident::new("255", Span::call_site()); -} - -#[test] -#[should_panic(expected = "\"a#\" is not a valid Ident")] -fn ident_invalid() { - Ident::new("a#", Span::call_site()); -} - -#[test] -#[should_panic(expected = "not a valid Ident")] -fn raw_ident_empty() { - Ident::new("r#", Span::call_site()); -} - -#[test] -#[should_panic(expected = "not a valid Ident")] -fn raw_ident_number() { - Ident::new("r#255", Span::call_site()); -} - -#[test] -#[should_panic(expected = "\"r#a#\" is not a valid Ident")] -fn raw_ident_invalid() { - Ident::new("r#a#", Span::call_site()); -} - -#[test] -#[should_panic(expected = "not a valid Ident")] -fn lifetime_empty() { - Ident::new("'", Span::call_site()); -} - -#[test] -#[should_panic(expected = "not a valid Ident")] -fn lifetime_number() { - Ident::new("'255", Span::call_site()); -} - -#[test] -#[should_panic(expected = r#""\'a#" is not a valid Ident"#)] -fn lifetime_invalid() { - Ident::new("'a#", Span::call_site()); -} - -#[test] -fn literal_string() { - assert_eq!(Literal::string("foo").to_string(), "\"foo\""); - assert_eq!(Literal::string("\"").to_string(), "\"\\\"\""); - assert_eq!(Literal::string("didn't").to_string(), "\"didn't\""); -} - -#[test] -fn literal_character() { - assert_eq!(Literal::character('x').to_string(), "'x'"); - assert_eq!(Literal::character('\'').to_string(), "'\\''"); - assert_eq!(Literal::character('"').to_string(), "'\"'"); -} - -#[test] -fn literal_float() { - assert_eq!(Literal::f32_unsuffixed(10.0).to_string(), "10.0"); -} - -#[test] -fn roundtrip() { - fn roundtrip(p: &str) { - println!("parse: {}", p); - let s = p.parse::().unwrap().to_string(); - println!("first: {}", s); - let s2 = s.to_string().parse::().unwrap().to_string(); - assert_eq!(s, s2); - } - roundtrip("a"); - roundtrip("<<"); - roundtrip("<<="); - roundtrip( - " - 1 - 1.0 - 1f32 - 2f64 - 1usize - 4isize - 4e10 - 1_000 - 1_0i32 - 8u8 - 9 - 0 - 0xffffffffffffffffffffffffffffffff - ", - ); - roundtrip("'a"); - roundtrip("'_"); - roundtrip("'static"); - roundtrip("'\\u{10__FFFF}'"); - roundtrip("\"\\u{10_F0FF__}foo\\u{1_0_0_0__}\""); -} - -#[test] -fn fail() { - fn fail(p: &str) { - if let Ok(s) = p.parse::() { - panic!("should have failed to parse: {}\n{:#?}", p, s); - } - } - fail("1x"); - fail("1u80"); - fail("1f320"); - fail("' static"); - fail("r#1"); - fail("r#_"); -} - -#[cfg(span_locations)] -#[test] -fn span_test() { - use proc_macro2::TokenTree; - - fn check_spans(p: &str, mut lines: &[(usize, usize, usize, usize)]) { - let ts = p.parse::().unwrap(); - check_spans_internal(ts, &mut lines); - } - - fn check_spans_internal(ts: TokenStream, lines: &mut &[(usize, usize, usize, usize)]) { - for i in ts { - if let Some((&(sline, scol, eline, ecol), rest)) = lines.split_first() { - *lines = rest; - - let start = i.span().start(); - assert_eq!(start.line, sline, "sline did not match for {}", i); - assert_eq!(start.column, scol, "scol did not match for {}", i); - - let end = i.span().end(); - assert_eq!(end.line, eline, "eline did not match for {}", i); - assert_eq!(end.column, ecol, "ecol did not match for {}", i); - - match i { - TokenTree::Group(ref g) => { - check_spans_internal(g.stream().clone(), lines); - } - _ => {} - } - } - } - } - - check_spans( - "\ -/// This is a document comment -testing 123 -{ - testing 234 -}", - &[ - (1, 0, 1, 30), // # - (1, 0, 1, 30), // [ ... ] - (1, 0, 1, 30), // doc - (1, 0, 1, 30), // = - (1, 0, 1, 30), // "This is..." - (2, 0, 2, 7), // testing - (2, 8, 2, 11), // 123 - (3, 0, 5, 1), // { ... } - (4, 2, 4, 9), // testing - (4, 10, 4, 13), // 234 - ], - ); -} - -#[cfg(procmacro2_semver_exempt)] -#[cfg(not(nightly))] -#[test] -fn default_span() { - let start = Span::call_site().start(); - assert_eq!(start.line, 1); - assert_eq!(start.column, 0); - let end = Span::call_site().end(); - assert_eq!(end.line, 1); - assert_eq!(end.column, 0); - let source_file = Span::call_site().source_file(); - assert_eq!(source_file.path().to_string_lossy(), ""); - assert!(!source_file.is_real()); -} - -#[cfg(procmacro2_semver_exempt)] -#[test] -fn span_join() { - let source1 = "aaa\nbbb" - .parse::() - .unwrap() - .into_iter() - .collect::>(); - let source2 = "ccc\nddd" - .parse::() - .unwrap() - .into_iter() - .collect::>(); - - assert!(source1[0].span().source_file() != source2[0].span().source_file()); - assert_eq!( - source1[0].span().source_file(), - source1[1].span().source_file() - ); - - let joined1 = source1[0].span().join(source1[1].span()); - let joined2 = source1[0].span().join(source2[0].span()); - assert!(joined1.is_some()); - assert!(joined2.is_none()); - - let start = joined1.unwrap().start(); - let end = joined1.unwrap().end(); - assert_eq!(start.line, 1); - assert_eq!(start.column, 0); - assert_eq!(end.line, 2); - assert_eq!(end.column, 3); - - assert_eq!( - joined1.unwrap().source_file(), - source1[0].span().source_file() - ); -} - -#[test] -fn no_panic() { - let s = str::from_utf8(b"b\'\xc2\x86 \x00\x00\x00^\"").unwrap(); - assert!(s.parse::().is_err()); -} - -#[test] -fn tricky_doc_comment() { - let stream = "/**/".parse::().unwrap(); - let tokens = stream.into_iter().collect::>(); - assert!(tokens.is_empty(), "not empty -- {:?}", tokens); - - let stream = "/// doc".parse::().unwrap(); - let tokens = stream.into_iter().collect::>(); - assert!(tokens.len() == 2, "not length 2 -- {:?}", tokens); - match tokens[0] { - proc_macro2::TokenTree::Punct(ref tt) => assert_eq!(tt.as_char(), '#'), - _ => panic!("wrong token {:?}", tokens[0]), - } - let mut tokens = match tokens[1] { - proc_macro2::TokenTree::Group(ref tt) => { - assert_eq!(tt.delimiter(), proc_macro2::Delimiter::Bracket); - tt.stream().into_iter() - } - _ => panic!("wrong token {:?}", tokens[0]), - }; - - match tokens.next().unwrap() { - proc_macro2::TokenTree::Ident(ref tt) => assert_eq!(tt.to_string(), "doc"), - t => panic!("wrong token {:?}", t), - } - match tokens.next().unwrap() { - proc_macro2::TokenTree::Punct(ref tt) => assert_eq!(tt.as_char(), '='), - t => panic!("wrong token {:?}", t), - } - match tokens.next().unwrap() { - proc_macro2::TokenTree::Literal(ref tt) => { - assert_eq!(tt.to_string(), "\" doc\""); - } - t => panic!("wrong token {:?}", t), - } - assert!(tokens.next().is_none()); - - let stream = "//! doc".parse::().unwrap(); - let tokens = stream.into_iter().collect::>(); - assert!(tokens.len() == 3, "not length 3 -- {:?}", tokens); -} - -#[test] -fn op_before_comment() { - let mut tts = TokenStream::from_str("~// comment").unwrap().into_iter(); - match tts.next().unwrap() { - TokenTree::Punct(tt) => { - assert_eq!(tt.as_char(), '~'); - assert_eq!(tt.spacing(), Spacing::Alone); - } - wrong => panic!("wrong token {:?}", wrong), - } -} - -#[test] -fn raw_identifier() { - let mut tts = TokenStream::from_str("r#dyn").unwrap().into_iter(); - match tts.next().unwrap() { - TokenTree::Ident(raw) => assert_eq!("r#dyn", raw.to_string()), - wrong => panic!("wrong token {:?}", wrong), - } - assert!(tts.next().is_none()); -} - -#[test] -fn test_debug_ident() { - let ident = Ident::new("proc_macro", Span::call_site()); - - #[cfg(not(procmacro2_semver_exempt))] - let expected = "Ident(proc_macro)"; - - #[cfg(procmacro2_semver_exempt)] - let expected = "Ident { sym: proc_macro, span: bytes(0..0) }"; - - assert_eq!(expected, format!("{:?}", ident)); -} - -#[test] -fn test_debug_tokenstream() { - let tts = TokenStream::from_str("[a + 1]").unwrap(); - - #[cfg(not(procmacro2_semver_exempt))] - let expected = "\ -TokenStream [ - Group { - delimiter: Bracket, - stream: TokenStream [ - Ident { - sym: a, - }, - Punct { - op: '+', - spacing: Alone, - }, - Literal { - lit: 1, - }, - ], - }, -]\ - "; - - #[cfg(not(procmacro2_semver_exempt))] - let expected_before_trailing_commas = "\ -TokenStream [ - Group { - delimiter: Bracket, - stream: TokenStream [ - Ident { - sym: a - }, - Punct { - op: '+', - spacing: Alone - }, - Literal { - lit: 1 - } - ] - } -]\ - "; - - #[cfg(procmacro2_semver_exempt)] - let expected = "\ -TokenStream [ - Group { - delimiter: Bracket, - stream: TokenStream [ - Ident { - sym: a, - span: bytes(2..3), - }, - Punct { - op: '+', - spacing: Alone, - span: bytes(4..5), - }, - Literal { - lit: 1, - span: bytes(6..7), - }, - ], - span: bytes(1..8), - }, -]\ - "; - - #[cfg(procmacro2_semver_exempt)] - let expected_before_trailing_commas = "\ -TokenStream [ - Group { - delimiter: Bracket, - stream: TokenStream [ - Ident { - sym: a, - span: bytes(2..3) - }, - Punct { - op: '+', - spacing: Alone, - span: bytes(4..5) - }, - Literal { - lit: 1, - span: bytes(6..7) - } - ], - span: bytes(1..8) - } -]\ - "; - - let actual = format!("{:#?}", tts); - if actual.ends_with(",\n]") { - assert_eq!(expected, actual); - } else { - assert_eq!(expected_before_trailing_commas, actual); - } -} - -#[test] -fn default_tokenstream_is_empty() { - let default_token_stream: TokenStream = Default::default(); - - assert!(default_token_stream.is_empty()); -} diff --git a/vendor/registry-40351f815f426200/quote/.cargo-checksum.json b/vendor/registry-40351f815f426200/quote/.cargo-checksum.json deleted file mode 100644 index 0b16c810a..000000000 --- a/vendor/registry-40351f815f426200/quote/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"cc812f89636414ac5e7d47651d50586d6e919b1ac0e6f3d9eba7125967da9287","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"c9a75f18b9ab2927829a208fc6aa2cf4e63b8420887ba29cdb265d6619ae82d5","README.md":"d9392d4c7af3bf9714f0a95801d64de46ffd4558cdfeea0eb85b414e555abb72","src/ext.rs":"03919239a20f8393288783a21bf6fdee12e405d13d162c9faa6f8f5ce54b003b","src/lib.rs":"c245eda59e7c953b809e00fa06ab3b61db0d5a248a85b7e4b6d5f979c977be68","src/runtime.rs":"f579bd977eae678b119eb6904d126870fe69b51e09d400abb3ec10294140926b","src/to_tokens.rs":"5b4155ff36262fb81f98ca8a9e903e9cf1ca346e72cb36a2de746e10d3b24d49","tests/conditional/integer128.rs":"d83e21a91efbaa801a82ae499111bdda2d31edaa620e78c0199eba42d69c9ee6","tests/test.rs":"810013d7fd77b738abd0ace90ce2f2f3e219c757652eabab29bc1c0ce4a73b24"},"package":"faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/quote/Cargo.toml b/vendor/registry-40351f815f426200/quote/Cargo.toml deleted file mode 100644 index 02a98955d..000000000 --- a/vendor/registry-40351f815f426200/quote/Cargo.toml +++ /dev/null @@ -1,33 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g., crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "quote" -version = "0.6.12" -authors = ["David Tolnay "] -include = ["Cargo.toml", "src/**/*.rs", "tests/**/*.rs", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] -description = "Quasi-quoting macro quote!(...)" -documentation = "https://docs.rs/quote/" -readme = "README.md" -keywords = ["syn"] -categories = ["development-tools::procedural-macro-helpers"] -license = "MIT/Apache-2.0" -repository = "https://github.com/dtolnay/quote" -[dependencies.proc-macro2] -version = "0.4.21" -default-features = false - -[features] -default = ["proc-macro"] -proc-macro = ["proc-macro2/proc-macro"] -[badges.travis-ci] -repository = "dtolnay/quote" diff --git a/vendor/registry-40351f815f426200/quote/LICENSE-APACHE b/vendor/registry-40351f815f426200/quote/LICENSE-APACHE deleted file mode 100644 index 16fe87b06..000000000 --- a/vendor/registry-40351f815f426200/quote/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/quote/LICENSE-MIT b/vendor/registry-40351f815f426200/quote/LICENSE-MIT deleted file mode 100644 index 40b8817a4..000000000 --- a/vendor/registry-40351f815f426200/quote/LICENSE-MIT +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) 2016 The Rust Project Developers - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/quote/README.md b/vendor/registry-40351f815f426200/quote/README.md deleted file mode 100644 index 759916ace..000000000 --- a/vendor/registry-40351f815f426200/quote/README.md +++ /dev/null @@ -1,241 +0,0 @@ -Rust Quasi-Quoting -================== - -[![Build Status](https://api.travis-ci.org/dtolnay/quote.svg?branch=master)](https://travis-ci.org/dtolnay/quote) -[![Latest Version](https://img.shields.io/crates/v/quote.svg)](https://crates.io/crates/quote) -[![Rust Documentation](https://img.shields.io/badge/api-rustdoc-blue.svg)](https://docs.rs/quote/) - -This crate provides the [`quote!`] macro for turning Rust syntax tree data -structures into tokens of source code. - -[`quote!`]: https://docs.rs/quote/0.6/quote/macro.quote.html - -Procedural macros in Rust receive a stream of tokens as input, execute arbitrary -Rust code to determine how to manipulate those tokens, and produce a stream of -tokens to hand back to the compiler to compile into the caller's crate. -Quasi-quoting is a solution to one piece of that -- producing tokens to return -to the compiler. - -The idea of quasi-quoting is that we write *code* that we treat as *data*. -Within the `quote!` macro, we can write what looks like code to our text editor -or IDE. We get all the benefits of the editor's brace matching, syntax -highlighting, indentation, and maybe autocompletion. But rather than compiling -that as code into the current crate, we can treat it as data, pass it around, -mutate it, and eventually hand it back to the compiler as tokens to compile into -the macro caller's crate. - -This crate is motivated by the procedural macro use case, but is a -general-purpose Rust quasi-quoting library and is not specific to procedural -macros. - -*Version requirement: Quote supports any compiler version back to Rust's very -first support for procedural macros in Rust 1.15.0.* - -[*Release notes*](https://github.com/dtolnay/quote/releases) - -```toml -[dependencies] -quote = "0.6" -``` - -## Syntax - -The quote crate provides a [`quote!`] macro within which you can write Rust code -that gets packaged into a [`TokenStream`] and can be treated as data. You should -think of `TokenStream` as representing a fragment of Rust source code. - -[`TokenStream`]: https://docs.rs/proc-macro2/0.4/proc_macro2/struct.TokenStream.html - -Within the `quote!` macro, interpolation is done with `#var`. Any type -implementing the [`quote::ToTokens`] trait can be interpolated. This includes -most Rust primitive types as well as most of the syntax tree types from [`syn`]. - -[`quote::ToTokens`]: https://docs.rs/quote/0.6/quote/trait.ToTokens.html -[`syn`]: https://github.com/dtolnay/syn - -```rust -let tokens = quote! { - struct SerializeWith #generics #where_clause { - value: &'a #field_ty, - phantom: core::marker::PhantomData<#item_ty>, - } - - impl #generics serde::Serialize for SerializeWith #generics #where_clause { - fn serialize(&self, serializer: S) -> Result - where - S: serde::Serializer, - { - #path(self.value, serializer) - } - } - - SerializeWith { - value: #value, - phantom: core::marker::PhantomData::<#item_ty>, - } -}; -``` - -## Repetition - -Repetition is done using `#(...)*` or `#(...),*` similar to `macro_rules!`. This -iterates through the elements of any variable interpolated within the repetition -and inserts a copy of the repetition body for each one. The variables in an -interpolation may be anything that implements `IntoIterator`, including `Vec` or -a pre-existing iterator. - -- `#(#var)*` — no separators -- `#(#var),*` — the character before the asterisk is used as a separator -- `#( struct #var; )*` — the repetition can contain other things -- `#( #k => println!("{}", #v), )*` — even multiple interpolations - -Note that there is a difference between `#(#var ,)*` and `#(#var),*`—the latter -does not produce a trailing comma. This matches the behavior of delimiters in -`macro_rules!`. - -## Returning tokens to the compiler - -The `quote!` macro evaluates to an expression of type -`proc_macro2::TokenStream`. Meanwhile Rust procedural macros are expected to -return the type `proc_macro::TokenStream`. - -The difference between the two types is that `proc_macro` types are entirely -specific to procedural macros and cannot ever exist in code outside of a -procedural macro, while `proc_macro2` types may exist anywhere including tests -and non-macro code like main.rs and build.rs. This is why even the procedural -macro ecosystem is largely built around `proc_macro2`, because that ensures the -libraries are unit testable and accessible in non-macro contexts. - -There is a [`From`]-conversion in both directions so returning the output of -`quote!` from a procedural macro usually looks like `tokens.into()` or -`proc_macro::TokenStream::from(tokens)`. - -[`From`]: https://doc.rust-lang.org/std/convert/trait.From.html - -## Examples - -### Combining quoted fragments - -Usually you don't end up constructing an entire final `TokenStream` in one -piece. Different parts may come from different helper functions. The tokens -produced by `quote!` themselves implement `ToTokens` and so can be interpolated -into later `quote!` invocations to build up a final result. - -```rust -let type_definition = quote! {...}; -let methods = quote! {...}; - -let tokens = quote! { - #type_definition - #methods -}; -``` - -### Constructing identifiers - -Suppose we have an identifier `ident` which came from somewhere in a macro -input and we need to modify it in some way for the macro output. Let's consider -prepending the identifier with an underscore. - -Simply interpolating the identifier next to an underscore will not have the -behavior of concatenating them. The underscore and the identifier will continue -to be two separate tokens as if you had written `_ x`. - -```rust -// incorrect -quote! { - let mut _#ident = 0; -} -``` - -The solution is to perform token-level manipulations using the APIs provided by -Syn and proc-macro2. - -```rust -let concatenated = format!("_{}", ident); -let varname = syn::Ident::new(&concatenated, ident.span()); -quote! { - let mut #varname = 0; -} -``` - -### Making method calls - -Let's say our macro requires some type specified in the macro input to have a -constructor called `new`. We have the type in a variable called `field_type` of -type `syn::Type` and want to invoke the constructor. - -```rust -// incorrect -quote! { - let value = #field_type::new(); -} -``` - -This works only sometimes. If `field_type` is `String`, the expanded code -contains `String::new()` which is fine. But if `field_type` is something like -`Vec` then the expanded code is `Vec::new()` which is invalid syntax. -Ordinarily in handwritten Rust we would write `Vec::::new()` but for macros -often the following is more convenient. - -```rust -quote! { - let value = <#field_type>::new(); -} -``` - -This expands to `>::new()` which behaves correctly. - -A similar pattern is appropriate for trait methods. - -```rust -quote! { - let value = <#field_type as core::default::Default>::default(); -} -``` - -## Hygiene - -Any interpolated tokens preserve the `Span` information provided by their -`ToTokens` implementation. Tokens that originate within a `quote!` invocation -are spanned with [`Span::call_site()`]. - -[`Span::call_site()`]: https://docs.rs/proc-macro2/0.4/proc_macro2/struct.Span.html#method.call_site - -A different span can be provided explicitly through the [`quote_spanned!`] -macro. - -[`quote_spanned!`]: https://docs.rs/quote/0.6/quote/macro.quote_spanned.html - -### Limitations - -- A non-repeating variable may not be interpolated inside of a repeating block - ([#7]). -- The same variable may not be interpolated more than once inside of a repeating - block ([#8]). - -[#7]: https://github.com/dtolnay/quote/issues/7 -[#8]: https://github.com/dtolnay/quote/issues/8 - -### Recursion limit - -The `quote!` macro relies on deep recursion so some large invocations may fail -with "recursion limit reached" when you compile. If it fails, bump up the -recursion limit by adding `#![recursion_limit = "128"]` to your crate. An even -higher limit may be necessary for especially large invocations. You don't need -this unless the compiler tells you that you need it. - -## License - -Licensed under either of - - * Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0) - * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT) - -at your option. - -### Contribution - -Unless you explicitly state otherwise, any contribution intentionally submitted -for inclusion in this crate by you, as defined in the Apache-2.0 license, shall -be dual licensed as above, without any additional terms or conditions. diff --git a/vendor/registry-40351f815f426200/quote/src/ext.rs b/vendor/registry-40351f815f426200/quote/src/ext.rs deleted file mode 100644 index 7ebbe30a1..000000000 --- a/vendor/registry-40351f815f426200/quote/src/ext.rs +++ /dev/null @@ -1,112 +0,0 @@ -use super::ToTokens; - -use std::iter; - -use proc_macro2::{TokenStream, TokenTree}; - -/// TokenStream extension trait with methods for appending tokens. -/// -/// This trait is sealed and cannot be implemented outside of the `quote` crate. -pub trait TokenStreamExt: private::Sealed { - /// For use by `ToTokens` implementations. - /// - /// Appends the token specified to this list of tokens. - fn append(&mut self, token: U) - where - U: Into; - - /// For use by `ToTokens` implementations. - /// - /// ```edition2018 - /// # use quote::{quote, TokenStreamExt, ToTokens}; - /// # use proc_macro2::TokenStream; - /// # - /// struct X; - /// - /// impl ToTokens for X { - /// fn to_tokens(&self, tokens: &mut TokenStream) { - /// tokens.append_all(&[true, false]); - /// } - /// } - /// - /// let tokens = quote!(#X); - /// assert_eq!(tokens.to_string(), "true false"); - /// ``` - fn append_all(&mut self, iter: I) - where - T: ToTokens, - I: IntoIterator; - - /// For use by `ToTokens` implementations. - /// - /// Appends all of the items in the iterator `I`, separated by the tokens - /// `U`. - fn append_separated(&mut self, iter: I, op: U) - where - T: ToTokens, - I: IntoIterator, - U: ToTokens; - - /// For use by `ToTokens` implementations. - /// - /// Appends all tokens in the iterator `I`, appending `U` after each - /// element, including after the last element of the iterator. - fn append_terminated(&mut self, iter: I, term: U) - where - T: ToTokens, - I: IntoIterator, - U: ToTokens; -} - -impl TokenStreamExt for TokenStream { - fn append(&mut self, token: U) - where - U: Into, - { - self.extend(iter::once(token.into())); - } - - fn append_all(&mut self, iter: I) - where - T: ToTokens, - I: IntoIterator, - { - for token in iter { - token.to_tokens(self); - } - } - - fn append_separated(&mut self, iter: I, op: U) - where - T: ToTokens, - I: IntoIterator, - U: ToTokens, - { - for (i, token) in iter.into_iter().enumerate() { - if i > 0 { - op.to_tokens(self); - } - token.to_tokens(self); - } - } - - fn append_terminated(&mut self, iter: I, term: U) - where - T: ToTokens, - I: IntoIterator, - U: ToTokens, - { - for token in iter { - token.to_tokens(self); - term.to_tokens(self); - } - } -} - -mod private { - use proc_macro2::TokenStream; - - pub trait Sealed {} - - impl Sealed for TokenStream {} -} diff --git a/vendor/registry-40351f815f426200/quote/src/lib.rs b/vendor/registry-40351f815f426200/quote/src/lib.rs deleted file mode 100644 index a71d8af4c..000000000 --- a/vendor/registry-40351f815f426200/quote/src/lib.rs +++ /dev/null @@ -1,861 +0,0 @@ -//! This crate provides the [`quote!`] macro for turning Rust syntax tree data -//! structures into tokens of source code. -//! -//! [`quote!`]: macro.quote.html -//! -//! Procedural macros in Rust receive a stream of tokens as input, execute -//! arbitrary Rust code to determine how to manipulate those tokens, and produce -//! a stream of tokens to hand back to the compiler to compile into the caller's -//! crate. Quasi-quoting is a solution to one piece of that -- producing tokens -//! to return to the compiler. -//! -//! The idea of quasi-quoting is that we write *code* that we treat as *data*. -//! Within the `quote!` macro, we can write what looks like code to our text -//! editor or IDE. We get all the benefits of the editor's brace matching, -//! syntax highlighting, indentation, and maybe autocompletion. But rather than -//! compiling that as code into the current crate, we can treat it as data, pass -//! it around, mutate it, and eventually hand it back to the compiler as tokens -//! to compile into the macro caller's crate. -//! -//! This crate is motivated by the procedural macro use case, but is a -//! general-purpose Rust quasi-quoting library and is not specific to procedural -//! macros. -//! -//! *Version requirement: Quote supports any compiler version back to Rust's -//! very first support for procedural macros in Rust 1.15.0.* -//! -//! ```toml -//! [dependencies] -//! quote = "0.6" -//! ``` -//! -//! # Example -//! -//! The following quasi-quoted block of code is something you might find in [a] -//! procedural macro having to do with data structure serialization. The `#var` -//! syntax performs interpolation of runtime variables into the quoted tokens. -//! Check out the documentation of the [`quote!`] macro for more detail about -//! the syntax. See also the [`quote_spanned!`] macro which is important for -//! implementing hygienic procedural macros. -//! -//! [a]: https://serde.rs/ -//! [`quote_spanned!`]: macro.quote_spanned.html -//! -//! ```edition2018 -//! # use quote::quote; -//! # -//! # let generics = ""; -//! # let where_clause = ""; -//! # let field_ty = ""; -//! # let item_ty = ""; -//! # let path = ""; -//! # let value = ""; -//! # -//! let tokens = quote! { -//! struct SerializeWith #generics #where_clause { -//! value: &'a #field_ty, -//! phantom: core::marker::PhantomData<#item_ty>, -//! } -//! -//! impl #generics serde::Serialize for SerializeWith #generics #where_clause { -//! fn serialize(&self, serializer: S) -> Result -//! where -//! S: serde::Serializer, -//! { -//! #path(self.value, serializer) -//! } -//! } -//! -//! SerializeWith { -//! value: #value, -//! phantom: core::marker::PhantomData::<#item_ty>, -//! } -//! }; -//! ``` -//! -//! # Recursion limit -//! -//! The `quote!` macro relies on deep recursion so some large invocations may -//! fail with "recursion limit reached" when you compile. If it fails, bump up -//! the recursion limit by adding `#![recursion_limit = "128"]` to your crate. -//! An even higher limit may be necessary for especially large invocations. - -// Quote types in rustdoc of other crates get linked to here. -#![doc(html_root_url = "https://docs.rs/quote/0.6.12")] - -#[cfg(all( - not(all(target_arch = "wasm32", target_os = "unknown")), - feature = "proc-macro" -))] -extern crate proc_macro; -extern crate proc_macro2; - -mod ext; -pub use ext::TokenStreamExt; - -mod to_tokens; -pub use to_tokens::ToTokens; - -// Not public API. -#[doc(hidden)] -#[path = "runtime.rs"] -pub mod __rt; - -/// The whole point. -/// -/// Performs variable interpolation against the input and produces it as -/// [`TokenStream`]. For returning tokens to the compiler in a procedural macro, use -/// `into()` to build a `TokenStream`. -/// -/// [`TokenStream`]: https://docs.rs/proc-macro2/0.4/proc_macro2/struct.TokenStream.html -/// -/// # Interpolation -/// -/// Variable interpolation is done with `#var` (similar to `$var` in -/// `macro_rules!` macros). This grabs the `var` variable that is currently in -/// scope and inserts it in that location in the output tokens. Any type -/// implementing the [`ToTokens`] trait can be interpolated. This includes most -/// Rust primitive types as well as most of the syntax tree types from the [Syn] -/// crate. -/// -/// [`ToTokens`]: trait.ToTokens.html -/// [Syn]: https://github.com/dtolnay/syn -/// -/// Repetition is done using `#(...)*` or `#(...),*` again similar to -/// `macro_rules!`. This iterates through the elements of any variable -/// interpolated within the repetition and inserts a copy of the repetition body -/// for each one. The variables in an interpolation may be anything that -/// implements `IntoIterator`, including `Vec` or a pre-existing iterator. -/// -/// - `#(#var)*` — no separators -/// - `#(#var),*` — the character before the asterisk is used as a separator -/// - `#( struct #var; )*` — the repetition can contain other tokens -/// - `#( #k => println!("{}", #v), )*` — even multiple interpolations -/// -/// There are two limitations around interpolations in a repetition: -/// -/// - Every interpolation inside of a repetition must be a distinct variable. -/// That is, `#(#a #a)*` is not allowed. Work around this by collecting `a` -/// into a vector and taking references `a1 = &a` and `a2 = &a` which you use -/// inside the repetition: `#(#a1 #a2)*`. Where possible, use meaningful names -/// that indicate the distinct role of each copy. -/// -/// - Every interpolation inside of a repetition must be iterable. If we have -/// `vec` which is a vector and `ident` which is a single identifier, -/// `#(#ident #vec)*` is not allowed. Work around this by using -/// `std::iter::repeat(ident)` to produce an iterable that can be used from -/// within the repetition. -/// -/// # Hygiene -/// -/// Any interpolated tokens preserve the `Span` information provided by their -/// `ToTokens` implementation. Tokens that originate within the `quote!` -/// invocation are spanned with [`Span::call_site()`]. -/// -/// [`Span::call_site()`]: https://docs.rs/proc-macro2/0.4/proc_macro2/struct.Span.html#method.call_site -/// -/// A different span can be provided through the [`quote_spanned!`] macro. -/// -/// [`quote_spanned!`]: macro.quote_spanned.html -/// -/// # Return type -/// -/// The macro evaluates to an expression of type `proc_macro2::TokenStream`. -/// Meanwhile Rust procedural macros are expected to return the type -/// `proc_macro::TokenStream`. -/// -/// The difference between the two types is that `proc_macro` types are entirely -/// specific to procedural macros and cannot ever exist in code outside of a -/// procedural macro, while `proc_macro2` types may exist anywhere including -/// tests and non-macro code like main.rs and build.rs. This is why even the -/// procedural macro ecosystem is largely built around `proc_macro2`, because -/// that ensures the libraries are unit testable and accessible in non-macro -/// contexts. -/// -/// There is a [`From`]-conversion in both directions so returning the output of -/// `quote!` from a procedural macro usually looks like `tokens.into()` or -/// `proc_macro::TokenStream::from(tokens)`. -/// -/// [`From`]: https://doc.rust-lang.org/std/convert/trait.From.html -/// -/// # Examples -/// -/// ## Procedural macro -/// -/// The structure of a basic procedural macro is as follows. Refer to the [Syn] -/// crate for further useful guidance on using `quote!` as part of a procedural -/// macro. -/// -/// [Syn]: https://github.com/dtolnay/syn -/// -/// ```edition2018 -/// # #[cfg(any())] -/// extern crate proc_macro; -/// # use proc_macro2 as proc_macro; -/// -/// use proc_macro::TokenStream; -/// use quote::quote; -/// -/// # const IGNORE_TOKENS: &'static str = stringify! { -/// #[proc_macro_derive(HeapSize)] -/// # }; -/// pub fn derive_heap_size(input: TokenStream) -> TokenStream { -/// // Parse the input and figure out what implementation to generate... -/// # const IGNORE_TOKENS: &'static str = stringify! { -/// let name = /* ... */; -/// let expr = /* ... */; -/// # }; -/// # -/// # let name = 0; -/// # let expr = 0; -/// -/// let expanded = quote! { -/// // The generated impl. -/// impl heapsize::HeapSize for #name { -/// fn heap_size_of_children(&self) -> usize { -/// #expr -/// } -/// } -/// }; -/// -/// // Hand the output tokens back to the compiler. -/// TokenStream::from(expanded) -/// } -/// ``` -/// -/// ## Combining quoted fragments -/// -/// Usually you don't end up constructing an entire final `TokenStream` in one -/// piece. Different parts may come from different helper functions. The tokens -/// produced by `quote!` themselves implement `ToTokens` and so can be -/// interpolated into later `quote!` invocations to build up a final result. -/// -/// ```edition2018 -/// # use quote::quote; -/// # -/// let type_definition = quote! {...}; -/// let methods = quote! {...}; -/// -/// let tokens = quote! { -/// #type_definition -/// #methods -/// }; -/// ``` -/// -/// ## Constructing identifiers -/// -/// Suppose we have an identifier `ident` which came from somewhere in a macro -/// input and we need to modify it in some way for the macro output. Let's -/// consider prepending the identifier with an underscore. -/// -/// Simply interpolating the identifier next to an underscore will not have the -/// behavior of concatenating them. The underscore and the identifier will -/// continue to be two separate tokens as if you had written `_ x`. -/// -/// ```edition2018 -/// # use proc_macro2::{self as syn, Span}; -/// # use quote::quote; -/// # -/// # let ident = syn::Ident::new("i", Span::call_site()); -/// # -/// // incorrect -/// quote! { -/// let mut _#ident = 0; -/// } -/// # ; -/// ``` -/// -/// The solution is to perform token-level manipulations using the APIs provided -/// by Syn and proc-macro2. -/// -/// ```edition2018 -/// # use proc_macro2::{self as syn, Span}; -/// # use quote::quote; -/// # -/// # let ident = syn::Ident::new("i", Span::call_site()); -/// # -/// let concatenated = format!("_{}", ident); -/// let varname = syn::Ident::new(&concatenated, ident.span()); -/// quote! { -/// let mut #varname = 0; -/// } -/// # ; -/// ``` -/// -/// ## Making method calls -/// -/// Let's say our macro requires some type specified in the macro input to have -/// a constructor called `new`. We have the type in a variable called -/// `field_type` of type `syn::Type` and want to invoke the constructor. -/// -/// ```edition2018 -/// # use quote::quote; -/// # -/// # let field_type = quote!(...); -/// # -/// // incorrect -/// quote! { -/// let value = #field_type::new(); -/// } -/// # ; -/// ``` -/// -/// This works only sometimes. If `field_type` is `String`, the expanded code -/// contains `String::new()` which is fine. But if `field_type` is something -/// like `Vec` then the expanded code is `Vec::new()` which is invalid -/// syntax. Ordinarily in handwritten Rust we would write `Vec::::new()` -/// but for macros often the following is more convenient. -/// -/// ```edition2018 -/// # use quote::quote; -/// # -/// # let field_type = quote!(...); -/// # -/// quote! { -/// let value = <#field_type>::new(); -/// } -/// # ; -/// ``` -/// -/// This expands to `>::new()` which behaves correctly. -/// -/// A similar pattern is appropriate for trait methods. -/// -/// ```edition2018 -/// # use quote::quote; -/// # -/// # let field_type = quote!(...); -/// # -/// quote! { -/// let value = <#field_type as core::default::Default>::default(); -/// } -/// # ; -/// ``` -#[macro_export(local_inner_macros)] -macro_rules! quote { - ($($tt:tt)*) => { - quote_spanned!($crate::__rt::Span::call_site()=> $($tt)*) - }; -} - -/// Same as `quote!`, but applies a given span to all tokens originating within -/// the macro invocation. -/// -/// # Syntax -/// -/// A span expression of type [`Span`], followed by `=>`, followed by the tokens -/// to quote. The span expression should be brief -- use a variable for anything -/// more than a few characters. There should be no space before the `=>` token. -/// -/// [`Span`]: https://docs.rs/proc-macro2/0.4/proc_macro2/struct.Span.html -/// -/// ```edition2018 -/// # use proc_macro2::Span; -/// # use quote::quote_spanned; -/// # -/// # const IGNORE_TOKENS: &'static str = stringify! { -/// let span = /* ... */; -/// # }; -/// # let span = Span::call_site(); -/// # let init = 0; -/// -/// // On one line, use parentheses. -/// let tokens = quote_spanned!(span=> Box::into_raw(Box::new(#init))); -/// -/// // On multiple lines, place the span at the top and use braces. -/// let tokens = quote_spanned! {span=> -/// Box::into_raw(Box::new(#init)) -/// }; -/// ``` -/// -/// The lack of space before the `=>` should look jarring to Rust programmers -/// and this is intentional. The formatting is designed to be visibly -/// off-balance and draw the eye a particular way, due to the span expression -/// being evaluated in the context of the procedural macro and the remaining -/// tokens being evaluated in the generated code. -/// -/// # Hygiene -/// -/// Any interpolated tokens preserve the `Span` information provided by their -/// `ToTokens` implementation. Tokens that originate within the `quote_spanned!` -/// invocation are spanned with the given span argument. -/// -/// # Example -/// -/// The following procedural macro code uses `quote_spanned!` to assert that a -/// particular Rust type implements the [`Sync`] trait so that references can be -/// safely shared between threads. -/// -/// [`Sync`]: https://doc.rust-lang.org/std/marker/trait.Sync.html -/// -/// ```edition2018 -/// # use quote::{quote_spanned, TokenStreamExt, ToTokens}; -/// # use proc_macro2::{Span, TokenStream}; -/// # -/// # struct Type; -/// # -/// # impl Type { -/// # fn span(&self) -> Span { -/// # Span::call_site() -/// # } -/// # } -/// # -/// # impl ToTokens for Type { -/// # fn to_tokens(&self, _tokens: &mut TokenStream) {} -/// # } -/// # -/// # let ty = Type; -/// # let call_site = Span::call_site(); -/// # -/// let ty_span = ty.span(); -/// let assert_sync = quote_spanned! {ty_span=> -/// struct _AssertSync where #ty: Sync; -/// }; -/// ``` -/// -/// If the assertion fails, the user will see an error like the following. The -/// input span of their type is hightlighted in the error. -/// -/// ```text -/// error[E0277]: the trait bound `*const (): std::marker::Sync` is not satisfied -/// --> src/main.rs:10:21 -/// | -/// 10 | static ref PTR: *const () = &(); -/// | ^^^^^^^^^ `*const ()` cannot be shared between threads safely -/// ``` -/// -/// In this example it is important for the where-clause to be spanned with the -/// line/column information of the user's input type so that error messages are -/// placed appropriately by the compiler. But it is also incredibly important -/// that `Sync` resolves at the macro definition site and not the macro call -/// site. If we resolve `Sync` at the same span that the user's type is going to -/// be resolved, then they could bypass our check by defining their own trait -/// named `Sync` that is implemented for their type. -#[macro_export(local_inner_macros)] -macro_rules! quote_spanned { - ($span:expr=> $($tt:tt)*) => {{ - let mut _s = $crate::__rt::TokenStream::new(); - let _span = $span; - quote_each_token!(_s _span $($tt)*); - _s - }}; -} - -// Extract the names of all #metavariables and pass them to the $finish macro. -// -// in: pounded_var_names!(then () a #b c #( #d )* #e) -// out: then!(() b d e) -#[macro_export(local_inner_macros)] -#[doc(hidden)] -macro_rules! pounded_var_names { - ($finish:ident ($($found:ident)*) # ( $($inner:tt)* ) $($rest:tt)*) => { - pounded_var_names!($finish ($($found)*) $($inner)* $($rest)*) - }; - - ($finish:ident ($($found:ident)*) # [ $($inner:tt)* ] $($rest:tt)*) => { - pounded_var_names!($finish ($($found)*) $($inner)* $($rest)*) - }; - - ($finish:ident ($($found:ident)*) # { $($inner:tt)* } $($rest:tt)*) => { - pounded_var_names!($finish ($($found)*) $($inner)* $($rest)*) - }; - - ($finish:ident ($($found:ident)*) # $first:ident $($rest:tt)*) => { - pounded_var_names!($finish ($($found)* $first) $($rest)*) - }; - - ($finish:ident ($($found:ident)*) ( $($inner:tt)* ) $($rest:tt)*) => { - pounded_var_names!($finish ($($found)*) $($inner)* $($rest)*) - }; - - ($finish:ident ($($found:ident)*) [ $($inner:tt)* ] $($rest:tt)*) => { - pounded_var_names!($finish ($($found)*) $($inner)* $($rest)*) - }; - - ($finish:ident ($($found:ident)*) { $($inner:tt)* } $($rest:tt)*) => { - pounded_var_names!($finish ($($found)*) $($inner)* $($rest)*) - }; - - ($finish:ident ($($found:ident)*) $ignore:tt $($rest:tt)*) => { - pounded_var_names!($finish ($($found)*) $($rest)*) - }; - - ($finish:ident ($($found:ident)*)) => { - $finish!(() $($found)*) - }; -} - -// in: nested_tuples_pat!(() a b c d e) -// out: ((((a b) c) d) e) -// -// in: nested_tuples_pat!(() a) -// out: a -#[macro_export(local_inner_macros)] -#[doc(hidden)] -macro_rules! nested_tuples_pat { - (()) => { - &() - }; - - (() $first:ident $($rest:ident)*) => { - nested_tuples_pat!(($first) $($rest)*) - }; - - (($pat:pat) $first:ident $($rest:ident)*) => { - nested_tuples_pat!((($pat, $first)) $($rest)*) - }; - - (($done:pat)) => { - $done - }; -} - -// in: multi_zip_expr!(() a b c d e) -// out: a.into_iter().zip(b).zip(c).zip(d).zip(e) -// -// in: multi_zip_iter!(() a) -// out: a -#[macro_export(local_inner_macros)] -#[doc(hidden)] -macro_rules! multi_zip_expr { - (()) => { - &[] - }; - - (() $single:ident) => { - $single - }; - - (() $first:ident $($rest:ident)*) => { - multi_zip_expr!(($first.into_iter()) $($rest)*) - }; - - (($zips:expr) $first:ident $($rest:ident)*) => { - multi_zip_expr!(($zips.zip($first)) $($rest)*) - }; - - (($done:expr)) => { - $done - }; -} - -#[macro_export(local_inner_macros)] -#[doc(hidden)] -macro_rules! quote_each_token { - ($tokens:ident $span:ident) => {}; - - ($tokens:ident $span:ident # ! $($rest:tt)*) => { - quote_each_token!($tokens $span #); - quote_each_token!($tokens $span !); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident # ( $($inner:tt)* ) * $($rest:tt)*) => { - for pounded_var_names!(nested_tuples_pat () $($inner)*) - in pounded_var_names!(multi_zip_expr () $($inner)*) { - quote_each_token!($tokens $span $($inner)*); - } - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident # ( $($inner:tt)* ) $sep:tt * $($rest:tt)*) => { - for (_i, pounded_var_names!(nested_tuples_pat () $($inner)*)) - in pounded_var_names!(multi_zip_expr () $($inner)*).into_iter().enumerate() { - if _i > 0 { - quote_each_token!($tokens $span $sep); - } - quote_each_token!($tokens $span $($inner)*); - } - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident # [ $($inner:tt)* ] $($rest:tt)*) => { - quote_each_token!($tokens $span #); - $tokens.extend({ - let mut g = $crate::__rt::Group::new( - $crate::__rt::Delimiter::Bracket, - quote_spanned!($span=> $($inner)*), - ); - g.set_span($span); - Some($crate::__rt::TokenTree::from(g)) - }); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident # $first:ident $($rest:tt)*) => { - $crate::ToTokens::to_tokens(&$first, &mut $tokens); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident ( $($first:tt)* ) $($rest:tt)*) => { - $tokens.extend({ - let mut g = $crate::__rt::Group::new( - $crate::__rt::Delimiter::Parenthesis, - quote_spanned!($span=> $($first)*), - ); - g.set_span($span); - Some($crate::__rt::TokenTree::from(g)) - }); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident [ $($first:tt)* ] $($rest:tt)*) => { - $tokens.extend({ - let mut g = $crate::__rt::Group::new( - $crate::__rt::Delimiter::Bracket, - quote_spanned!($span=> $($first)*), - ); - g.set_span($span); - Some($crate::__rt::TokenTree::from(g)) - }); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident { $($first:tt)* } $($rest:tt)*) => { - $tokens.extend({ - let mut g = $crate::__rt::Group::new( - $crate::__rt::Delimiter::Brace, - quote_spanned!($span=> $($first)*), - ); - g.set_span($span); - Some($crate::__rt::TokenTree::from(g)) - }); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident + $($rest:tt)*) => { - $crate::__rt::push_add(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident += $($rest:tt)*) => { - $crate::__rt::push_add_eq(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident & $($rest:tt)*) => { - $crate::__rt::push_and(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident && $($rest:tt)*) => { - $crate::__rt::push_and_and(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident &= $($rest:tt)*) => { - $crate::__rt::push_and_eq(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident @ $($rest:tt)*) => { - $crate::__rt::push_at(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident ! $($rest:tt)*) => { - $crate::__rt::push_bang(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident ^ $($rest:tt)*) => { - $crate::__rt::push_caret(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident ^= $($rest:tt)*) => { - $crate::__rt::push_caret_eq(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident : $($rest:tt)*) => { - $crate::__rt::push_colon(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident :: $($rest:tt)*) => { - $crate::__rt::push_colon2(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident , $($rest:tt)*) => { - $crate::__rt::push_comma(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident / $($rest:tt)*) => { - $crate::__rt::push_div(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident /= $($rest:tt)*) => { - $crate::__rt::push_div_eq(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident . $($rest:tt)*) => { - $crate::__rt::push_dot(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident .. $($rest:tt)*) => { - $crate::__rt::push_dot2(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident ... $($rest:tt)*) => { - $crate::__rt::push_dot3(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident ..= $($rest:tt)*) => { - $crate::__rt::push_dot_dot_eq(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident = $($rest:tt)*) => { - $crate::__rt::push_eq(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident == $($rest:tt)*) => { - $crate::__rt::push_eq_eq(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident >= $($rest:tt)*) => { - $crate::__rt::push_ge(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident > $($rest:tt)*) => { - $crate::__rt::push_gt(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident <= $($rest:tt)*) => { - $crate::__rt::push_le(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident < $($rest:tt)*) => { - $crate::__rt::push_lt(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident *= $($rest:tt)*) => { - $crate::__rt::push_mul_eq(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident != $($rest:tt)*) => { - $crate::__rt::push_ne(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident | $($rest:tt)*) => { - $crate::__rt::push_or(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident |= $($rest:tt)*) => { - $crate::__rt::push_or_eq(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident || $($rest:tt)*) => { - $crate::__rt::push_or_or(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident # $($rest:tt)*) => { - $crate::__rt::push_pound(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident ? $($rest:tt)*) => { - $crate::__rt::push_question(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident -> $($rest:tt)*) => { - $crate::__rt::push_rarrow(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident <- $($rest:tt)*) => { - $crate::__rt::push_larrow(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident % $($rest:tt)*) => { - $crate::__rt::push_rem(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident %= $($rest:tt)*) => { - $crate::__rt::push_rem_eq(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident => $($rest:tt)*) => { - $crate::__rt::push_fat_arrow(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident ; $($rest:tt)*) => { - $crate::__rt::push_semi(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident << $($rest:tt)*) => { - $crate::__rt::push_shl(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident <<= $($rest:tt)*) => { - $crate::__rt::push_shl_eq(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident >> $($rest:tt)*) => { - $crate::__rt::push_shr(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident >>= $($rest:tt)*) => { - $crate::__rt::push_shr_eq(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident * $($rest:tt)*) => { - $crate::__rt::push_star(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident - $($rest:tt)*) => { - $crate::__rt::push_sub(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident -= $($rest:tt)*) => { - $crate::__rt::push_sub_eq(&mut $tokens, $span); - quote_each_token!($tokens $span $($rest)*); - }; - - ($tokens:ident $span:ident $first:tt $($rest:tt)*) => { - $crate::__rt::parse(&mut $tokens, $span, quote_stringify!($first)); - quote_each_token!($tokens $span $($rest)*); - }; -} - -// Unhygienically invoke whatever `stringify` the caller has in scope i.e. not a -// local macro. The macros marked `local_inner_macros` above cannot invoke -// `stringify` directly. -#[macro_export] -#[doc(hidden)] -macro_rules! quote_stringify { - ($tt:tt) => { - stringify!($tt) - }; -} diff --git a/vendor/registry-40351f815f426200/quote/src/runtime.rs b/vendor/registry-40351f815f426200/quote/src/runtime.rs deleted file mode 100644 index 715a87707..000000000 --- a/vendor/registry-40351f815f426200/quote/src/runtime.rs +++ /dev/null @@ -1,119 +0,0 @@ -use ext::TokenStreamExt; -pub use proc_macro2::*; - -fn is_ident_start(c: u8) -> bool { - (b'a' <= c && c <= b'z') || (b'A' <= c && c <= b'Z') || c == b'_' -} - -fn is_ident_continue(c: u8) -> bool { - (b'a' <= c && c <= b'z') || (b'A' <= c && c <= b'Z') || c == b'_' || (b'0' <= c && c <= b'9') -} - -fn is_ident(token: &str) -> bool { - if token.bytes().all(|digit| digit >= b'0' && digit <= b'9') { - return false; - } - - let mut bytes = token.bytes(); - let first = bytes.next().unwrap(); - if !is_ident_start(first) { - return false; - } - for ch in bytes { - if !is_ident_continue(ch) { - return false; - } - } - true -} - -pub fn parse(tokens: &mut TokenStream, span: Span, s: &str) { - if is_ident(s) { - // Fast path, since idents are the most common token. - tokens.append(Ident::new(s, span)); - } else { - let s: TokenStream = s.parse().expect("invalid token stream"); - tokens.extend(s.into_iter().map(|mut t| { - t.set_span(span); - t - })); - } -} - -macro_rules! push_punct { - ($name:ident $char1:tt) => { - pub fn $name(tokens: &mut TokenStream, span: Span) { - let mut punct = Punct::new($char1, Spacing::Alone); - punct.set_span(span); - tokens.append(punct); - } - }; - ($name:ident $char1:tt $char2:tt) => { - pub fn $name(tokens: &mut TokenStream, span: Span) { - let mut punct = Punct::new($char1, Spacing::Joint); - punct.set_span(span); - tokens.append(punct); - let mut punct = Punct::new($char2, Spacing::Alone); - punct.set_span(span); - tokens.append(punct); - } - }; - ($name:ident $char1:tt $char2:tt $char3:tt) => { - pub fn $name(tokens: &mut TokenStream, span: Span) { - let mut punct = Punct::new($char1, Spacing::Joint); - punct.set_span(span); - tokens.append(punct); - let mut punct = Punct::new($char2, Spacing::Joint); - punct.set_span(span); - tokens.append(punct); - let mut punct = Punct::new($char3, Spacing::Alone); - punct.set_span(span); - tokens.append(punct); - } - }; -} - -push_punct!(push_add '+'); -push_punct!(push_add_eq '+' '='); -push_punct!(push_and '&'); -push_punct!(push_and_and '&' '&'); -push_punct!(push_and_eq '&' '='); -push_punct!(push_at '@'); -push_punct!(push_bang '!'); -push_punct!(push_caret '^'); -push_punct!(push_caret_eq '^' '='); -push_punct!(push_colon ':'); -push_punct!(push_colon2 ':' ':'); -push_punct!(push_comma ','); -push_punct!(push_div '/'); -push_punct!(push_div_eq '/' '='); -push_punct!(push_dot '.'); -push_punct!(push_dot2 '.' '.'); -push_punct!(push_dot3 '.' '.' '.'); -push_punct!(push_dot_dot_eq '.' '.' '='); -push_punct!(push_eq '='); -push_punct!(push_eq_eq '=' '='); -push_punct!(push_ge '>' '='); -push_punct!(push_gt '>'); -push_punct!(push_le '<' '='); -push_punct!(push_lt '<'); -push_punct!(push_mul_eq '*' '='); -push_punct!(push_ne '!' '='); -push_punct!(push_or '|'); -push_punct!(push_or_eq '|' '='); -push_punct!(push_or_or '|' '|'); -push_punct!(push_pound '#'); -push_punct!(push_question '?'); -push_punct!(push_rarrow '-' '>'); -push_punct!(push_larrow '<' '-'); -push_punct!(push_rem '%'); -push_punct!(push_rem_eq '%' '='); -push_punct!(push_fat_arrow '=' '>'); -push_punct!(push_semi ';'); -push_punct!(push_shl '<' '<'); -push_punct!(push_shl_eq '<' '<' '='); -push_punct!(push_shr '>' '>'); -push_punct!(push_shr_eq '>' '>' '='); -push_punct!(push_star '*'); -push_punct!(push_sub '-'); -push_punct!(push_sub_eq '-' '='); diff --git a/vendor/registry-40351f815f426200/quote/src/to_tokens.rs b/vendor/registry-40351f815f426200/quote/src/to_tokens.rs deleted file mode 100644 index 9d221b27b..000000000 --- a/vendor/registry-40351f815f426200/quote/src/to_tokens.rs +++ /dev/null @@ -1,205 +0,0 @@ -use super::TokenStreamExt; - -use std::borrow::Cow; -use std::iter; -use std::rc::Rc; - -use proc_macro2::{Group, Ident, Literal, Punct, Span, TokenStream, TokenTree}; - -/// Types that can be interpolated inside a [`quote!`] invocation. -/// -/// [`quote!`]: macro.quote.html -pub trait ToTokens { - /// Write `self` to the given `TokenStream`. - /// - /// The token append methods provided by the [`TokenStreamExt`] extension - /// trait may be useful for implementing `ToTokens`. - /// - /// [`TokenStreamExt`]: trait.TokenStreamExt.html - /// - /// # Example - /// - /// Example implementation for a struct representing Rust paths like - /// `std::cmp::PartialEq`: - /// - /// ```edition2018 - /// use proc_macro2::{TokenTree, Spacing, Span, Punct, TokenStream}; - /// use quote::{TokenStreamExt, ToTokens}; - /// - /// pub struct Path { - /// pub global: bool, - /// pub segments: Vec, - /// } - /// - /// impl ToTokens for Path { - /// fn to_tokens(&self, tokens: &mut TokenStream) { - /// for (i, segment) in self.segments.iter().enumerate() { - /// if i > 0 || self.global { - /// // Double colon `::` - /// tokens.append(Punct::new(':', Spacing::Joint)); - /// tokens.append(Punct::new(':', Spacing::Alone)); - /// } - /// segment.to_tokens(tokens); - /// } - /// } - /// } - /// # - /// # pub struct PathSegment; - /// # - /// # impl ToTokens for PathSegment { - /// # fn to_tokens(&self, tokens: &mut TokenStream) { - /// # unimplemented!() - /// # } - /// # } - /// ``` - fn to_tokens(&self, tokens: &mut TokenStream); - - /// Convert `self` directly into a `TokenStream` object. - /// - /// This method is implicitly implemented using `to_tokens`, and acts as a - /// convenience method for consumers of the `ToTokens` trait. - fn into_token_stream(self) -> TokenStream - where - Self: Sized, - { - let mut tokens = TokenStream::new(); - self.to_tokens(&mut tokens); - tokens - } -} - -impl<'a, T: ?Sized + ToTokens> ToTokens for &'a T { - fn to_tokens(&self, tokens: &mut TokenStream) { - (**self).to_tokens(tokens); - } -} - -impl<'a, T: ?Sized + ToTokens> ToTokens for &'a mut T { - fn to_tokens(&self, tokens: &mut TokenStream) { - (**self).to_tokens(tokens); - } -} - -impl<'a, T: ?Sized + ToOwned + ToTokens> ToTokens for Cow<'a, T> { - fn to_tokens(&self, tokens: &mut TokenStream) { - (**self).to_tokens(tokens); - } -} - -impl ToTokens for Box { - fn to_tokens(&self, tokens: &mut TokenStream) { - (**self).to_tokens(tokens); - } -} - -impl ToTokens for Rc { - fn to_tokens(&self, tokens: &mut TokenStream) { - (**self).to_tokens(tokens); - } -} - -impl ToTokens for Option { - fn to_tokens(&self, tokens: &mut TokenStream) { - if let Some(ref t) = *self { - t.to_tokens(tokens); - } - } -} - -impl ToTokens for str { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append(Literal::string(self)); - } -} - -impl ToTokens for String { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.as_str().to_tokens(tokens); - } -} - -macro_rules! primitive { - ($($t:ident => $name:ident)*) => ($( - impl ToTokens for $t { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append(Literal::$name(*self)); - } - } - )*) -} - -primitive! { - i8 => i8_suffixed - i16 => i16_suffixed - i32 => i32_suffixed - i64 => i64_suffixed - isize => isize_suffixed - - u8 => u8_suffixed - u16 => u16_suffixed - u32 => u32_suffixed - u64 => u64_suffixed - usize => usize_suffixed - - f32 => f32_suffixed - f64 => f64_suffixed -} - -#[cfg(integer128)] -primitive! { - i128 => i128_suffixed - u128 => u128_suffixed -} - -impl ToTokens for char { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append(Literal::character(*self)); - } -} - -impl ToTokens for bool { - fn to_tokens(&self, tokens: &mut TokenStream) { - let word = if *self { "true" } else { "false" }; - tokens.append(Ident::new(word, Span::call_site())); - } -} - -impl ToTokens for Group { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append(self.clone()); - } -} - -impl ToTokens for Ident { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append(self.clone()); - } -} - -impl ToTokens for Punct { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append(self.clone()); - } -} - -impl ToTokens for Literal { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append(self.clone()); - } -} - -impl ToTokens for TokenTree { - fn to_tokens(&self, dst: &mut TokenStream) { - dst.append(self.clone()); - } -} - -impl ToTokens for TokenStream { - fn to_tokens(&self, dst: &mut TokenStream) { - dst.extend(iter::once(self.clone())); - } - - fn into_token_stream(self) -> TokenStream { - self - } -} diff --git a/vendor/registry-40351f815f426200/quote/tests/conditional/integer128.rs b/vendor/registry-40351f815f426200/quote/tests/conditional/integer128.rs deleted file mode 100644 index 61e227446..000000000 --- a/vendor/registry-40351f815f426200/quote/tests/conditional/integer128.rs +++ /dev/null @@ -1,11 +0,0 @@ -#[test] -fn test_integer128() { - let ii128 = -1i128; - let uu128 = 1u128; - - let tokens = quote! { - #ii128 #uu128 - }; - let expected = "-1i128 1u128"; - assert_eq!(expected, tokens.to_string()); -} diff --git a/vendor/registry-40351f815f426200/quote/tests/test.rs b/vendor/registry-40351f815f426200/quote/tests/test.rs deleted file mode 100644 index f832da596..000000000 --- a/vendor/registry-40351f815f426200/quote/tests/test.rs +++ /dev/null @@ -1,295 +0,0 @@ -#![cfg_attr(feature = "cargo-clippy", allow(blacklisted_name))] - -use std::borrow::Cow; - -extern crate proc_macro2; -#[macro_use] -extern crate quote; - -use proc_macro2::{Ident, Span, TokenStream}; -use quote::TokenStreamExt; - -mod conditional { - #[cfg(integer128)] - mod integer128; -} - -struct X; - -impl quote::ToTokens for X { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append(Ident::new("X", Span::call_site())); - } -} - -#[test] -fn test_quote_impl() { - let tokens = quote! { - impl<'a, T: ToTokens> ToTokens for &'a T { - fn to_tokens(&self, tokens: &mut TokenStream) { - (**self).to_tokens(tokens) - } - } - }; - - let expected = concat!( - "impl < 'a , T : ToTokens > ToTokens for & 'a T { ", - "fn to_tokens ( & self , tokens : & mut TokenStream ) { ", - "( * * self ) . to_tokens ( tokens ) ", - "} ", - "}" - ); - - assert_eq!(expected, tokens.to_string()); -} - -#[test] -fn test_substitution() { - let x = X; - let tokens = quote!(#x <#x> (#x) [#x] {#x}); - - let expected = "X < X > ( X ) [ X ] { X }"; - - assert_eq!(expected, tokens.to_string()); -} - -#[test] -fn test_iter() { - let primes = &[X, X, X, X]; - - assert_eq!("X X X X", quote!(#(#primes)*).to_string()); - - assert_eq!("X , X , X , X ,", quote!(#(#primes,)*).to_string()); - - assert_eq!("X , X , X , X", quote!(#(#primes),*).to_string()); -} - -#[test] -fn test_advanced() { - let generics = quote!( <'a, T> ); - - let where_clause = quote!( where T: Serialize ); - - let field_ty = quote!(String); - - let item_ty = quote!(Cow<'a, str>); - - let path = quote!(SomeTrait::serialize_with); - - let value = quote!(self.x); - - let tokens = quote! { - struct SerializeWith #generics #where_clause { - value: &'a #field_ty, - phantom: ::std::marker::PhantomData<#item_ty>, - } - - impl #generics ::serde::Serialize for SerializeWith #generics #where_clause { - fn serialize(&self, s: &mut S) -> Result<(), S::Error> - where S: ::serde::Serializer - { - #path(self.value, s) - } - } - - SerializeWith { - value: #value, - phantom: ::std::marker::PhantomData::<#item_ty>, - } - }; - - let expected = concat!( - "struct SerializeWith < 'a , T > where T : Serialize { ", - "value : & 'a String , ", - "phantom : :: std :: marker :: PhantomData < Cow < 'a , str > > , ", - "} ", - "impl < 'a , T > :: serde :: Serialize for SerializeWith < 'a , T > where T : Serialize { ", - "fn serialize < S > ( & self , s : & mut S ) -> Result < ( ) , S :: Error > ", - "where S : :: serde :: Serializer ", - "{ ", - "SomeTrait :: serialize_with ( self . value , s ) ", - "} ", - "} ", - "SerializeWith { ", - "value : self . x , ", - "phantom : :: std :: marker :: PhantomData :: < Cow < 'a , str > > , ", - "}" - ); - - assert_eq!(expected, tokens.to_string()); -} - -#[test] -fn test_integer() { - let ii8 = -1i8; - let ii16 = -1i16; - let ii32 = -1i32; - let ii64 = -1i64; - let iisize = -1isize; - let uu8 = 1u8; - let uu16 = 1u16; - let uu32 = 1u32; - let uu64 = 1u64; - let uusize = 1usize; - - let tokens = quote! { - #ii8 #ii16 #ii32 #ii64 #iisize - #uu8 #uu16 #uu32 #uu64 #uusize - }; - let expected = "-1i8 -1i16 -1i32 -1i64 -1isize 1u8 1u16 1u32 1u64 1usize"; - assert_eq!(expected, tokens.to_string()); -} - -#[test] -fn test_floating() { - let e32 = 2.345f32; - - let e64 = 2.345f64; - - let tokens = quote! { - #e32 - #e64 - }; - let expected = concat!("2.345f32 2.345f64"); - assert_eq!(expected, tokens.to_string()); -} - -#[test] -fn test_char() { - let zero = '\0'; - let pound = '#'; - let quote = '"'; - let apost = '\''; - let newline = '\n'; - let heart = '\u{2764}'; - - let tokens = quote! { - #zero #pound #quote #apost #newline #heart - }; - let expected = "'\\u{0}' '#' '\\\"' '\\'' '\\n' '\\u{2764}'"; - assert_eq!(expected, tokens.to_string()); -} - -#[test] -fn test_str() { - let s = "\0 a 'b \" c"; - let tokens = quote!(#s); - let expected = "\"\\u{0} a \\'b \\\" c\""; - assert_eq!(expected, tokens.to_string()); -} - -#[test] -fn test_string() { - let s = "\0 a 'b \" c".to_string(); - let tokens = quote!(#s); - let expected = "\"\\u{0} a \\'b \\\" c\""; - assert_eq!(expected, tokens.to_string()); -} - -#[test] -fn test_ident() { - let foo = Ident::new("Foo", Span::call_site()); - let bar = Ident::new(&format!("Bar{}", 7), Span::call_site()); - let tokens = quote!(struct #foo; enum #bar {}); - let expected = "struct Foo ; enum Bar7 { }"; - assert_eq!(expected, tokens.to_string()); -} - -#[test] -fn test_duplicate() { - let ch = 'x'; - - let tokens = quote!(#ch #ch); - - let expected = "'x' 'x'"; - assert_eq!(expected, tokens.to_string()); -} - -#[test] -fn test_fancy_repetition() { - let foo = vec!["a", "b"]; - let bar = vec![true, false]; - - let tokens = quote! { - #(#foo: #bar),* - }; - - let expected = r#""a" : true , "b" : false"#; - assert_eq!(expected, tokens.to_string()); -} - -#[test] -fn test_nested_fancy_repetition() { - let nested = vec![vec!['a', 'b', 'c'], vec!['x', 'y', 'z']]; - - let tokens = quote! { - #( - #(#nested)* - ),* - }; - - let expected = "'a' 'b' 'c' , 'x' 'y' 'z'"; - assert_eq!(expected, tokens.to_string()); -} - -#[test] -fn test_empty_repetition() { - let tokens = quote!(#(a b)* #(c d),*); - assert_eq!("", tokens.to_string()); -} - -#[test] -fn test_variable_name_conflict() { - // The implementation of `#(...),*` uses the variable `_i` but it should be - // fine, if a little confusing when debugging. - let _i = vec!['a', 'b']; - let tokens = quote! { #(#_i),* }; - let expected = "'a' , 'b'"; - assert_eq!(expected, tokens.to_string()); -} - -#[test] -fn test_empty_quote() { - let tokens = quote!(); - assert_eq!("", tokens.to_string()); -} - -#[test] -fn test_box_str() { - let b = "str".to_owned().into_boxed_str(); - let tokens = quote! { #b }; - assert_eq!("\"str\"", tokens.to_string()); -} - -#[test] -fn test_cow() { - let owned: Cow = Cow::Owned(Ident::new("owned", Span::call_site())); - - let ident = Ident::new("borrowed", Span::call_site()); - let borrowed = Cow::Borrowed(&ident); - - let tokens = quote! { #owned #borrowed }; - assert_eq!("owned borrowed", tokens.to_string()); -} - -#[test] -fn test_closure() { - fn field_i(i: usize) -> Ident { - Ident::new(&format!("__field{}", i), Span::call_site()) - } - - let fields = (0usize..3) - .map(field_i as fn(_) -> _) - .map(|var| quote! { #var }); - - let tokens = quote! { #(#fields)* }; - assert_eq!("__field0 __field1 __field2", tokens.to_string()); -} - -#[test] -fn test_append_tokens() { - let mut a = quote!(a); - let b = quote!(b); - a.append_all(b); - assert_eq!("a b", a.to_string()); -} diff --git a/vendor/registry-40351f815f426200/rand/.cargo-checksum.json b/vendor/registry-40351f815f426200/rand/.cargo-checksum.json deleted file mode 100644 index 875021e18..000000000 --- a/vendor/registry-40351f815f426200/rand/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"CHANGELOG.md":"ddc101ef9368ef83c21ea9e43064307b1c59b0698b78f59ea01cba32c0ef55bf","COPYRIGHT":"90eb64f0279b0d9432accfa6023ff803bc4965212383697eee27a0f426d5f8d5","Cargo.toml":"54c97aa3fc80f7482358b32df3fb96dbd63a4b52fb7f2eb06f1707cda7d15f09","LICENSE-APACHE":"aaff376532ea30a0cd5330b9502ad4a4c8bf769c539c87ffe78819d188a18ebf","LICENSE-MIT":"209fbbe0ad52d9235e37badf9cadfe4dbdc87203179c0899e738b39ade42177b","README.md":"d442009fc242a0670f6e7a418862c67514e2c544a43c88b24cb7f37695b8ae38","benches/distributions.rs":"fea4337cd3eb6eaa7bb3250bb04b084290a2b081d3f4679510f3e1dab9c9506b","benches/generators.rs":"19286f1022041bca7e9f83ff615534397565246d5cd26c53abcaeaebebad6773","benches/misc.rs":"c0302e0d9ab973ba4463506d90f89f903104b2a42fc11247be2056a2e1cb561f","benches/seq.rs":"188043fe02640c3936da7634517d0bc0bbdbf685739c52d2ec51a95f238aa347","build.rs":"00d4e7d3521f631913001cfaeb5c97f9dab8b550346046deb2683b962a99e9b3","examples/monte-carlo.rs":"2161c9c1ed90af6b72a5b05b6650d5fce6a983873c29c99798957099cd7a5153","examples/monty-hall.rs":"6a1921868c41d4c130a6b098632f2c127d2446ac6a73aeea10b79b845df1cbbc","src/deprecated.rs":"da2a39dfc440a09bdcdf5af93842dce0fbbc179e5e7146dc94ea861c244bf4c5","src/distributions/bernoulli.rs":"02526bdc24fe17f390505779fb38a441c6a1792c1f7e6093d8b86e143bf9e07e","src/distributions/binomial.rs":"5e2cd6ebc0a5411a4af26ff07d05dd30ae91fc47852cd29757b370ce496074b6","src/distributions/cauchy.rs":"b49d4abd1d861e9f9e9a27444680ea0e24779a6a263dce07c400cf43bab9363c","src/distributions/dirichlet.rs":"b6c0273216a05d32ab21320c11f46f80bc6a6173c93f7aa63fd397927fa365fb","src/distributions/exponential.rs":"7e8a98b63a271714c1f982dd15bc21626593691eaa92c7a76bd59af7b37a56a2","src/distributions/float.rs":"6e1e15b47f9efd282a0e7d140c141d35ece4ebbb748ce7ead620782dc492e88f","src/distributions/gamma.rs":"c922a1b7b2f20ee5a7f5241a252b8b947ab998a88a747df488380211b865f9a6","src/distributions/integer.rs":"b615123a814b118f8bc0563cd7615eec7ee171223bf8100416fb7d22e350c8d7","src/distributions/mod.rs":"6824a6a461d84aef22646d6c3ac8af5d2b5dfc90f09d537be2112fde98a9a8ea","src/distributions/normal.rs":"fe5df9d00ff4038ef6e1f6ca22971547aaec57887c700a511806da01bb4a2f17","src/distributions/other.rs":"44abe480bdc2000ca91a9d41c04e3d5fff2b08e81dfc9168d82c90ddc5cbf616","src/distributions/pareto.rs":"8a9d0f6a7b7221c5716f92b4b65dc19954c146eaeeddcc0b9533d01e2b7414ff","src/distributions/poisson.rs":"918f36d9f7b6c9c4a249b49138cf4df5e1498dd894e3856c21d2f82b83d33e53","src/distributions/triangular.rs":"5a3927b4f1306686591c6d6f3df01d774a5dbf9ec2450ee2f3ce6a71b54f744d","src/distributions/uniform.rs":"9536012592e978cda4e72cd936f21b9986704468de531fbe873f25f763afa4da","src/distributions/unit_circle.rs":"007815186a3696a3d835e9004f51e52402557a7cda09219a0ade13122578e1bd","src/distributions/unit_sphere.rs":"24b8dea60bee580378713477235ddac5e8da07e4f9ceb610fe655ec82390abaf","src/distributions/utils.rs":"68a8257290fdbbd1e72c77e55f21aab4420c6ff168ffb82f7cabc3ad815f4803","src/distributions/weibull.rs":"7678c47145bbb8455fb34326e59d05c2564d427b9c13d5d32435119fd37b5eeb","src/distributions/weighted.rs":"2c98d09ed15d204687efce857129742f905e50e96ba0518122a742f3b47753df","src/distributions/ziggurat_tables.rs":"6368acec20801c703ae76dd1e08983793732c5ac221c491f85d719ef75448b6d","src/lib.rs":"5a7c48d633e75c6d9f2598651ac7b754b3b34fec4212bdc50358a0abbc4ffc62","src/prelude.rs":"36f87f720c1ce0c9d0041872b0498e016b5578b96ba4f6152765ac5084d3b5da","src/prng/mod.rs":"e38182ca652acd0f9348e70e6896e2143b11e9cdcdb34fc78ad13b150dbd7da9","src/rngs/adapter/mod.rs":"e8f37aed72eaebc7dff20787f194e3a74da3e824e2b92a6839b7e6f01fcd911c","src/rngs/adapter/read.rs":"f9502c774607b5c3e62b87ea58698db258486b7c0dbb9b01559e3c18b468bb34","src/rngs/adapter/reseeding.rs":"0ce93bd0f00da429459bca7081346bddea85735bf2d617bcde92708907016a0d","src/rngs/entropy.rs":"cd89359f7891e955245279e4848c37733c508a8cf126eee34f2361a228014f4e","src/rngs/mock.rs":"ef812949b98e4f2eea3e62f8b3ee56edaeffc99d17625337efc882b7b2b19f4b","src/rngs/mod.rs":"440870d8066f1fbeb5d3b178bbf62d899f565d3cbc99c9b179ae4bca81b45a4f","src/rngs/small.rs":"eb942851fe2c2ce11eb0fe179efdfe2889dfc9bc72398bddbdfa327882935dd9","src/rngs/std.rs":"8420c2c32f312b2400ed23afdd9019632c2dd61bb5bd935d6d73bacbcbb9a5b2","src/rngs/thread.rs":"82ef4cf043d16d1d3e6f0037b269f817b133833240f866cd8a7b6e82d3c279ff","src/seq/index.rs":"384500a66361d21531db1380474066fa0bafb672ff7c9db00208b30a94664511","src/seq/mod.rs":"5a9938dc2ac75f393b54267abced2c5f7fbba4ffbdeb6ecdc80afe618c28fea6","tests/uniformity.rs":"0b774361f7db445bd910ad2cbac71207d01ace6881b8d501f4ff01bffd16cd68"},"package":"6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/rand/CHANGELOG.md b/vendor/registry-40351f815f426200/rand/CHANGELOG.md deleted file mode 100644 index 955e872b0..000000000 --- a/vendor/registry-40351f815f426200/rand/CHANGELOG.md +++ /dev/null @@ -1,522 +0,0 @@ -# Changelog -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -A [separate changelog is kept for rand_core](rand_core/CHANGELOG.md). - -You may also find the [Upgrade Guide](https://rust-random.github.io/book/update.html) useful. - - -## [0.6.5] - 2019-01-28 -### Crates -- Update `rand_core` to 0.4 (#703) -- Move `JitterRng` to its own crate (#685) -- Add a warm-bindgen test crate (#696) - -### Platforms -- Fuchsia: Replaced fuchsia-zircon with fuchsia-cprng - -### Doc -- Use RFC 1946 for doc links (#691) -- Fix some doc links and notes (#711) - -## [0.6.4] - 2019-01-08 -### Fixes -- Move wasm-bindgen shims to correct crate (#686) -- Make `wasm32-unknown-unknown` compile but fail at run-time if missing bindingsg (#686) - -## [0.6.3] - 2019-01-04 -### Fixes -- Make the `std` feature require the optional `rand_os` dependency (#675) -- Re-export the optional WASM dependencies of `rand_os` from `rand` to avoid breakage (#674) - -## [0.6.2] - 2019-01-04 -### Additions -- Add `Default` for `ThreadRng` (#657) -- Move `rngs::OsRng` to `rand_os` sub-crate; clean up code; use as dependency (#643) ##BLOCKER## -- Add `rand_xoshiro` sub-crate, plus benchmarks (#642, #668) - -### Fixes -- Fix bias in `UniformInt::sample_single` (#662) -- Use `autocfg` instead of `rustc_version` for rustc version detection (#664) -- Disable `i128` and `u128` if the `target_os` is `emscripten` (#671: work-around Emscripten limitation) -- CI fixes (#660, #671) - -### Optimisations -- Optimise memory usage of `UnitCircle` and `UnitSphereSurface` distributions (no PR) - -## [0.6.1] - 2018-11-22 -- Support sampling `Duration` also for `no_std` (only since Rust 1.25) (#649) -- Disable default features of `libc` (#647) - -## [0.6.0] - 2018-11-14 - -### Project organisation -- Rand has moved from [rust-lang-nursery](https://github.com/rust-lang-nursery/rand) - to [rust-random](https://github.com/rust-random/rand)! (#578) -- Created [The Rust Random Book](https://rust-random.github.io/book/) - ([source](https://github.com/rust-random/book)) -- Update copyright and licence notices (#591, #611) -- Migrate policy documentation from the wiki (#544) - -### Platforms -- Add fork protection on Unix (#466) -- Added support for wasm-bindgen. (#541, #559, #562, #600) -- Enable `OsRng` for powerpc64, sparc and sparc64 (#609) -- Use `syscall` from `libc` on Linux instead of redefining it (#629) - -### RNGs -- Switch `SmallRng` to use PCG (#623) -- Implement `Pcg32` and `Pcg64Mcg` generators (#632) -- Move ISAAC RNGs to a dedicated crate (#551) -- Move Xorshift RNG to its own crate (#557) -- Move ChaCha and HC128 RNGs to dedicated crates (#607, #636) -- Remove usage of `Rc` from `ThreadRng` (#615) - -### Sampling and distributions -- Implement `Rng.gen_ratio()` and `Bernoulli::new_ratio()` (#491) -- Make `Uniform` strictly respect `f32` / `f64` high/low bounds (#477) -- Allow `gen_range` and `Uniform` to work on non-`Copy` types (#506) -- `Uniform` supports inclusive ranges: `Uniform::from(a..=b)`. This is - automatically enabled for Rust >= 1.27. (#566) -- Implement `TrustedLen` and `FusedIterator` for `DistIter` (#620) - -#### New distributions -- Add the `Dirichlet` distribution (#485) -- Added sampling from the unit sphere and circle. (#567) -- Implement the triangular distribution (#575) -- Implement the Weibull distribution (#576) -- Implement the Beta distribution (#574) - -#### Optimisations - -- Optimise `Bernoulli::new` (#500) -- Optimise `char` sampling (#519) -- Optimise sampling of `std::time::Duration` (#583) - -### Sequences -- Redesign the `seq` module (#483, #515) -- Add `WeightedIndex` and `choose_weighted` (#518, #547) -- Optimised and changed return type of the `sample_indices` function. (#479) -- Use `Iterator::size_hint()` to speed up `IteratorRandom::choose` (#593) - -### SIMD -- Support for generating SIMD types (#523, #542, #561, #630) - -### Other -- Revise CI scripts (#632, #635) -- Remove functionality already deprecated in 0.5 (#499) -- Support for `i128` and `u128` is automatically enabled for Rust >= 1.26. This - renders the `i128_support` feature obsolete. It still exists for backwards - compatibility but does not have any effect. This breaks programs using Rand - with `i128_support` on nightlies older than Rust 1.26. (#571) - - -## [0.5.5] - 2018-08-07 -### Documentation -- Fix links in documentation (#582) - - -## [0.5.4] - 2018-07-11 -### Platform support -- Make `OsRng` work via WASM/stdweb for WebWorkers - - -## [0.5.3] - 2018-06-26 -### Platform support -- OpenBSD, Bitrig: fix compilation (broken in 0.5.1) (#530) - - -## [0.5.2] - 2018-06-18 -### Platform support -- Hide `OsRng` and `JitterRng` on unsupported platforms (#512; fixes #503). - - -## [0.5.1] - 2018-06-08 - -### New distributions -- Added Cauchy distribution. (#474, #486) -- Added Pareto distribution. (#495) - -### Platform support and `OsRng` -- Remove blanket Unix implementation. (#484) -- Remove Wasm unimplemented stub. (#484) -- Dragonfly BSD: read from `/dev/random`. (#484) -- Bitrig: use `getentropy` like OpenBSD. (#484) -- Solaris: (untested) use `getrandom` if available, otherwise `/dev/random`. (#484) -- Emscripten, `stdweb`: split the read up in chunks. (#484) -- Emscripten, Haiku: don't do an extra blocking read from `/dev/random`. (#484) -- Linux, NetBSD, Solaris: read in blocking mode on first use in `fill_bytes`. (#484) -- Fuchsia, CloudABI: fix compilation (broken in Rand 0.5). (#484) - - -## [0.5.0] - 2018-05-21 - -### Crate features and organisation -- Minimum Rust version update: 1.22.0. (#239) -- Create a separate `rand_core` crate. (#288) -- Deprecate `rand_derive`. (#256) -- Add `prelude` (and module reorganisation). (#435) -- Add `log` feature. Logging is now available in `JitterRng`, `OsRng`, `EntropyRng` and `ReseedingRng`. (#246) -- Add `serde1` feature for some PRNGs. (#189) -- `stdweb` feature for `OsRng` support on WASM via stdweb. (#272, #336) - -### `Rng` trait -- Split `Rng` in `RngCore` and `Rng` extension trait. - `next_u32`, `next_u64` and `fill_bytes` are now part of `RngCore`. (#265) -- Add `Rng::sample`. (#256) -- Deprecate `Rng::gen_weighted_bool`. (#308) -- Add `Rng::gen_bool`. (#308) -- Remove `Rng::next_f32` and `Rng::next_f64`. (#273) -- Add optimized `Rng::fill` and `Rng::try_fill` methods. (#247) -- Deprecate `Rng::gen_iter`. (#286) -- Deprecate `Rng::gen_ascii_chars`. (#279) - -### `rand_core` crate -- `rand` now depends on new `rand_core` crate (#288) -- `RngCore` and `SeedableRng` are now part of `rand_core`. (#288) -- Add modules to help implementing RNGs `impl` and `le`. (#209, #228) -- Add `Error` and `ErrorKind`. (#225) -- Add `CryptoRng` marker trait. (#273) -- Add `BlockRngCore` trait. (#281) -- Add `BlockRng` and `BlockRng64` wrappers to help implementations. (#281, #325) -- Revise the `SeedableRng` trait. (#233) -- Remove default implementations for `RngCore::next_u64` and `RngCore::fill_bytes`. (#288) -- Add `RngCore::try_fill_bytes`. (#225) - -### Other traits and types -- Add `FromEntropy` trait. (#233, #375) -- Add `SmallRng` wrapper. (#296) -- Rewrite `ReseedingRng` to only work with `BlockRngCore` (substantial performance improvement). (#281) -- Deprecate `weak_rng`. Use `SmallRng` instead. (#296) -- Deprecate `AsciiGenerator`. (#279) - -### Random number generators -- Switch `StdRng` and `thread_rng` to HC-128. (#277) -- `StdRng` must now be created with `from_entropy` instead of `new` -- Change `thread_rng` reseeding threshold to 32 MiB. (#277) -- PRNGs no longer implement `Copy`. (#209) -- `Debug` implementations no longer show internals. (#209) -- Implement `Clone` for `ReseedingRng`, `JitterRng`, OsRng`. (#383, #384) -- Implement serialization for `XorShiftRng`, `IsaacRng` and `Isaac64Rng` under the `serde1` feature. (#189) -- Implement `BlockRngCore` for `ChaChaCore` and `Hc128Core`. (#281) -- All PRNGs are now portable across big- and little-endian architectures. (#209) -- `Isaac64Rng::next_u32` no longer throws away half the results. (#209) -- Add `IsaacRng::new_from_u64` and `Isaac64Rng::new_from_u64`. (#209) -- Add the HC-128 CSPRNG `Hc128Rng`. (#210) -- Change ChaCha20 to have 64-bit counter and 64-bit stream. (#349) -- Changes to `JitterRng` to get its size down from 2112 to 24 bytes. (#251) -- Various performance improvements to all PRNGs. - -### Platform support and `OsRng` -- Add support for CloudABI. (#224) -- Remove support for NaCl. (#225) -- WASM support for `OsRng` via stdweb, behind the `stdweb` feature. (#272, #336) -- Use `getrandom` on more platforms for Linux, and on Android. (#338) -- Use the `SecRandomCopyBytes` interface on macOS. (#322) -- On systems that do not have a syscall interface, only keep a single file descriptor open for `OsRng`. (#239) -- On Unix, first try a single read from `/dev/random`, then `/dev/urandom`. (#338) -- Better error handling and reporting in `OsRng` (using new error type). (#225) -- `OsRng` now uses non-blocking when available. (#225) -- Add `EntropyRng`, which provides `OsRng`, but has `JitterRng` as a fallback. (#235) - -### Distributions -- New `Distribution` trait. (#256) -- Add `Distribution::sample_iter` and `Rng::::sample_iter`. (#361) -- Deprecate `Rand`, `Sample` and `IndependentSample` traits. (#256) -- Add a `Standard` distribution (replaces most `Rand` implementations). (#256) -- Add `Binomial` and `Poisson` distributions. (#96) -- Add `Bernoulli` dsitribution. (#411) -- Add `Alphanumeric` distribution. (#279) -- Remove `Closed01` distribution, add `OpenClosed01`. (#274, #420) -- Rework `Range` type, making it possible to implement it for user types. (#274) -- Rename `Range` to `Uniform`. (#395) -- Add `Uniform::new_inclusive` for inclusive ranges. (#274) -- Use widening multiply method for much faster integer range reduction. (#274) -- `Standard` distribution for `char` uses `Uniform` internally. (#274) -- `Standard` distribution for `bool` uses sign test. (#274) -- Implement `Standard` distribution for `Wrapping`. (#436) -- Implement `Uniform` distribution for `Duration`. (#427) - - -## [0.4.3] - 2018-08-16 -### Fixed -- Use correct syscall number for PowerPC (#589) - - -## [0.4.2] - 2018-01-06 -### Changed -- Use `winapi` on Windows -- Update for Fuchsia OS -- Remove dev-dependency on `log` - - -## [0.4.1] - 2017-12-17 -### Added -- `no_std` support - - -## [0.4.0-pre.0] - 2017-12-11 -### Added -- `JitterRng` added as a high-quality alternative entropy source using the - system timer -- new `seq` module with `sample_iter`, `sample_slice`, etc. -- WASM support via dummy implementations (fail at run-time) -- Additional benchmarks, covering generators and new seq code - -### Changed -- `thread_rng` uses `JitterRng` if seeding from system time fails - (slower but more secure than previous method) - -### Deprecated - - `sample` function deprecated (replaced by `sample_iter`) - - -## [0.3.20] - 2018-01-06 -### Changed -- Remove dev-dependency on `log` -- Update `fuchsia-zircon` dependency to 0.3.2 - - -## [0.3.19] - 2017-12-27 -### Changed -- Require `log <= 0.3.8` for dev builds -- Update `fuchsia-zircon` dependency to 0.3 -- Fix broken links in docs (to unblock compiler docs testing CI) - - -## [0.3.18] - 2017-11-06 -### Changed -- `thread_rng` is seeded from the system time if `OsRng` fails -- `weak_rng` now uses `thread_rng` internally - - -## [0.3.17] - 2017-10-07 -### Changed - - Fuchsia: Magenta was renamed Zircon - -## [0.3.16] - 2017-07-27 -### Added -- Implement Debug for mote non-public types -- implement `Rand` for (i|u)i128 -- Support for Fuchsia - -### Changed -- Add inline attribute to SampleRange::construct_range. - This improves the benchmark for sample in 11% and for shuffle in 16%. -- Use `RtlGenRandom` instead of `CryptGenRandom` - - -## [0.3.15] - 2016-11-26 -### Added -- Add `Rng` trait method `choose_mut` -- Redox support - -### Changed -- Use `arc4rand` for `OsRng` on FreeBSD. -- Use `arc4random(3)` for `OsRng` on OpenBSD. - -### Fixed -- Fix filling buffers 4 GiB or larger with `OsRng::fill_bytes` on Windows - - -## [0.3.14] - 2016-02-13 -### Fixed -- Inline definitions from winapi/advapi32, wich decreases build times - - -## [0.3.13] - 2016-01-09 -### Fixed -- Compatible with Rust 1.7.0-nightly (needed some extra type annotations) - - -## [0.3.12] - 2015-11-09 -### Changed -- Replaced the methods in `next_f32` and `next_f64` with the technique described - Saito & Matsumoto at MCQMC'08. The new method should exhibit a slightly more - uniform distribution. -- Depend on libc 0.2 - -### Fixed -- Fix iterator protocol issue in `rand::sample` - - -## [0.3.11] - 2015-08-31 -### Added -- Implement `Rand` for arrays with n <= 32 - - -## [0.3.10] - 2015-08-17 -### Added -- Support for NaCl platforms - -### Changed -- Allow `Rng` to be `?Sized`, impl for `&mut R` and `Box` where `R: ?Sized + Rng` - - -## [0.3.9] - 2015-06-18 -### Changed -- Use `winapi` for Windows API things - -### Fixed -- Fixed test on stable/nightly -- Fix `getrandom` syscall number for aarch64-unknown-linux-gnu - - -## [0.3.8] - 2015-04-23 -### Changed -- `log` is a dev dependency - -### Fixed -- Fix race condition of atomics in `is_getrandom_available` - - -## [0.3.7] - 2015-04-03 -### Fixed -- Derive Copy/Clone changes - - -## [0.3.6] - 2015-04-02 -### Changed -- Move to stable Rust! - - -## [0.3.5] - 2015-04-01 -### Fixed -- Compatible with Rust master - - -## [0.3.4] - 2015-03-31 -### Added -- Implement Clone for `Weighted` - -### Fixed -- Compatible with Rust master - - -## [0.3.3] - 2015-03-26 -### Fixed -- Fix compile on Windows - - -## [0.3.2] - 2015-03-26 - - -## [0.3.1] - 2015-03-26 -### Fixed -- Fix compile on Windows - - -## [0.3.0] - 2015-03-25 -### Changed -- Update to use log version 0.3.x - - -## [0.2.1] - 2015-03-22 -### Fixed -- Compatible with Rust master -- Fixed iOS compilation - - -## [0.2.0] - 2015-03-06 -### Fixed -- Compatible with Rust master (move from `old_io` to `std::io`) - - -## [0.1.4] - 2015-03-04 -### Fixed -- Compatible with Rust master (use wrapping ops) - - -## [0.1.3] - 2015-02-20 -### Fixed -- Compatible with Rust master - -### Removed -- Removed Copy implementations from RNGs - - -## [0.1.2] - 2015-02-03 -### Added -- Imported functionality from `std::rand`, including: - - `StdRng`, `SeedableRng`, `TreadRng`, `weak_rng()` - - `ReaderRng`: A wrapper around any Reader to treat it as an RNG. -- Imported documentation from `std::rand` -- Imported tests from `std::rand` - - -## [0.1.1] - 2015-02-03 -### Added -- Migrate to a cargo-compatible directory structure. - -### Fixed -- Do not use entropy during `gen_weighted_bool(1)` - - -## [Rust 0.12.0] - 2014-10-09 -### Added -- Impl Rand for tuples of arity 11 and 12 -- Include ChaCha pseudorandom generator -- Add `next_f64` and `next_f32` to Rng -- Implement Clone for PRNGs - -### Changed -- Rename `TaskRng` to `ThreadRng` and `task_rng` to `thread_rng` (since a - runtime is removed from Rust). - -### Fixed -- Improved performance of ISAAC and ISAAC64 by 30% and 12 % respectively, by - informing the optimiser that indexing is never out-of-bounds. - -### Removed -- Removed the Deprecated `choose_option` - - -## [Rust 0.11.0] - 2014-07-02 -### Added -- document when to use `OSRng` in cryptographic context, and explain why we use `/dev/urandom` instead of `/dev/random` -- `Rng::gen_iter()` which will return an infinite stream of random values -- `Rng::gen_ascii_chars()` which will return an infinite stream of random ascii characters - -### Changed -- Now only depends on libcore! -- Remove `Rng.choose()`, rename `Rng.choose_option()` to `.choose()` -- Rename OSRng to OsRng -- The WeightedChoice structure is no longer built with a `Vec>`, - but rather a `&mut [Weighted]`. This means that the WeightedChoice - structure now has a lifetime associated with it. -- The `sample` method on `Rng` has been moved to a top-level function in the - `rand` module due to its dependence on `Vec`. - -### Removed -- `Rng::gen_vec()` was removed. Previous behavior can be regained with - `rng.gen_iter().take(n).collect()` -- `Rng::gen_ascii_str()` was removed. Previous behavior can be regained with - `rng.gen_ascii_chars().take(n).collect()` -- {IsaacRng, Isaac64Rng, XorShiftRng}::new() have all been removed. These all - relied on being able to use an OSRng for seeding, but this is no longer - available in librand (where these types are defined). To retain the same - functionality, these types now implement the `Rand` trait so they can be - generated with a random seed from another random number generator. This allows - the stdlib to use an OSRng to create seeded instances of these RNGs. -- Rand implementations for `Box` and `@T` were removed. These seemed to be - pretty rare in the codebase, and it allows for librand to not depend on - liballoc. Additionally, other pointer types like Rc and Arc were not - supported. -- Remove a slew of old deprecated functions - - -## [Rust 0.10] - 2014-04-03 -### Changed -- replace `Rng.shuffle's` functionality with `.shuffle_mut` -- bubble up IO errors when creating an OSRng - -### Fixed -- Use `fill()` instead of `read()` -- Rewrite OsRng in Rust for windows - -## [0.10-pre] - 2014-03-02 -### Added -- Seperate `rand` out of the standard library diff --git a/vendor/registry-40351f815f426200/rand/COPYRIGHT b/vendor/registry-40351f815f426200/rand/COPYRIGHT deleted file mode 100644 index 468d907ca..000000000 --- a/vendor/registry-40351f815f426200/rand/COPYRIGHT +++ /dev/null @@ -1,12 +0,0 @@ -Copyrights in the Rand project are retained by their contributors. No -copyright assignment is required to contribute to the Rand project. - -For full authorship information, see the version control history. - -Except as otherwise noted (below and/or in individual files), Rand is -licensed under the Apache License, Version 2.0 or - or the MIT license - or , at your option. - -The Rand project includes code from the Rust project -published under these same licenses. diff --git a/vendor/registry-40351f815f426200/rand/Cargo.toml b/vendor/registry-40351f815f426200/rand/Cargo.toml deleted file mode 100644 index fc0313afa..000000000 --- a/vendor/registry-40351f815f426200/rand/Cargo.toml +++ /dev/null @@ -1,90 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "rand" -version = "0.6.5" -authors = ["The Rand Project Developers", "The Rust Project Developers"] -build = "build.rs" -exclude = ["/utils/*", "/.travis.yml", "/appveyor.yml", ".gitignore"] -description = "Random number generators and other randomness functionality.\n" -homepage = "https://crates.io/crates/rand" -documentation = "https://rust-random.github.io/rand" -readme = "README.md" -keywords = ["random", "rng"] -categories = ["algorithms", "no-std"] -license = "MIT/Apache-2.0" -repository = "https://github.com/rust-random/rand" -[package.metadata.docs.rs] -all-features = true -[dependencies.log] -version = "0.4" -optional = true - -[dependencies.packed_simd] -version = "0.3" -features = ["into_bits"] -optional = true - -[dependencies.rand_chacha] -version = "0.1" - -[dependencies.rand_core] -version = "0.4" - -[dependencies.rand_hc] -version = "0.1" - -[dependencies.rand_isaac] -version = "0.1" - -[dependencies.rand_jitter] -version = "0.1" - -[dependencies.rand_os] -version = "0.1" -optional = true - -[dependencies.rand_pcg] -version = "0.1" - -[dependencies.rand_xorshift] -version = "0.1" -[dev-dependencies.average] -version = "0.9.2" - -[dev-dependencies.rand_xoshiro] -version = "0.1" -[build-dependencies.autocfg] -version = "0.1" - -[features] -alloc = ["rand_core/alloc"] -default = ["std"] -i128_support = [] -nightly = ["simd_support"] -serde1 = ["rand_core/serde1", "rand_isaac/serde1", "rand_xorshift/serde1"] -simd_support = ["packed_simd"] -std = ["rand_core/std", "alloc", "rand_os", "rand_jitter/std"] -stdweb = ["rand_os/stdweb"] -wasm-bindgen = ["rand_os/wasm-bindgen"] -[target."cfg(unix)".dependencies.libc] -version = "0.2" -default-features = false -[target."cfg(windows)".dependencies.winapi] -version = "0.3" -features = ["minwindef", "ntsecapi", "profileapi", "winnt"] -[badges.appveyor] -repository = "rust-random/rand" - -[badges.travis-ci] -repository = "rust-random/rand" diff --git a/vendor/registry-40351f815f426200/rand/LICENSE-APACHE b/vendor/registry-40351f815f426200/rand/LICENSE-APACHE deleted file mode 100644 index 17d74680f..000000000 --- a/vendor/registry-40351f815f426200/rand/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/rand/LICENSE-MIT b/vendor/registry-40351f815f426200/rand/LICENSE-MIT deleted file mode 100644 index d93b5baf3..000000000 --- a/vendor/registry-40351f815f426200/rand/LICENSE-MIT +++ /dev/null @@ -1,26 +0,0 @@ -Copyright 2018 Developers of the Rand project -Copyright (c) 2014 The Rust Project Developers - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/rand/README.md b/vendor/registry-40351f815f426200/rand/README.md deleted file mode 100644 index 314a57fd6..000000000 --- a/vendor/registry-40351f815f426200/rand/README.md +++ /dev/null @@ -1,122 +0,0 @@ -# Rand - -[![Build Status](https://travis-ci.org/rust-random/rand.svg?branch=master)](https://travis-ci.org/rust-random/rand) -[![Build Status](https://ci.appveyor.com/api/projects/status/github/rust-random/rand?svg=true)](https://ci.appveyor.com/project/rust-random/rand) -[![Crate](https://img.shields.io/crates/v/rand.svg)](https://crates.io/crates/rand) -[![Book](https://img.shields.io/badge/book-master-yellow.svg)](https://rust-random.github.io/book/) -[![API](https://img.shields.io/badge/api-master-yellow.svg)](https://rust-random.github.io/rand) -[![API](https://docs.rs/rand/badge.svg)](https://docs.rs/rand) -[![Minimum rustc version](https://img.shields.io/badge/rustc-1.22+-lightgray.svg)](https://github.com/rust-random/rand#rust-version-requirements) - -A Rust library for random number generation. - -Rand provides utilities to generate random numbers, to convert them to useful -types and distributions, and some randomness-related algorithms. - -The core random number generation traits of Rand live in the [rand_core]( -https://crates.io/crates/rand_core) crate but are also exposed here; RNG -implementations should prefer to use `rand_core` while most other users should -depend on `rand`. - -Documentation: -- [The Rust Rand Book](https://rust-random.github.io/book) -- [API reference (master)](https://rust-random.github.io/rand) -- [API reference (docs.rs)](https://docs.rs/rand) - - -## Usage - -Add this to your `Cargo.toml`: - -```toml -[dependencies] -rand = "0.6" -``` - -To get started using Rand, see [The Book](https://rust-random.github.io/book). - - -## Versions - -The Rand lib is not yet stable, however we are careful to limit breaking changes -and warn via deprecation wherever possible. Patch versions never introduce -breaking changes. The following minor versions are supported: - -- Version 0.6 was released in November 2018, redesigning the `seq` module, - moving most PRNGs to external crates, and many small changes. -- Version 0.5 was released in May 2018, as a major reorganisation - (introducing `RngCore` and `rand_core`, and deprecating `Rand` and the - previous distribution traits). -- Version 0.4 was released in December 2017, but contained almost no breaking - changes from the 0.3 series. - -A detailed [changelog](CHANGELOG.md) is available. - -When upgrading to the next minor series (especially 0.4 → 0.5), we recommend -reading the [Upgrade Guide](https://rust-random.github.io/book/update.html). - -### Rust version requirements - -Since version 0.5, Rand requires **Rustc version 1.22 or greater**. -Rand 0.4 and 0.3 (since approx. June 2017) require Rustc version 1.15 or -greater. Subsets of the Rand code may work with older Rust versions, but this -is not supported. - -Travis CI always has a build with a pinned version of Rustc matching the oldest -supported Rust release. The current policy is that this can be updated in any -Rand release if required, but the change must be noted in the changelog. - -To avoid bumping the required version unnecessarily, we use a `build.rs` script -to auto-detect the compiler version and enable certain features or change code -paths automatically. Since this makes it easy to unintentionally make use of -features requiring a more recent Rust version, we recommend testing with a -pinned version of Rustc if you require compatibility with a specific version. - -## Crate Features - -Rand is built with the `std` and `rand_os` features enabled by default: - -- `std` enables functionality dependent on the `std` lib and implies `alloc` - and `rand_os` -- `rand_os` enables the `rand_os` crate, `rngs::OsRng` and enables its usage; - the continued existance of this feature is not guaranteed so users are - encouraged to specify `std` instead - -The following optional features are available: - -- `alloc` can be used instead of `std` to provide `Vec` and `Box`. -- `log` enables some logging via the `log` crate. -- `nightly` enables all unstable features (`simd_support`). -- `serde1` enables serialization for some types, via Serde version 1. -- `simd_support` enables uniform sampling of SIMD types (integers and floats). -- `stdweb` enables support for `OsRng` on `wasm32-unknown-unknown` via `stdweb` - combined with `cargo-web`. -- `wasm-bindgen` enables support for `OsRng` on `wasm32-unknown-unknown` via - [`wasm-bindgen`] - -[`wasm-bindgen`]: https://github.com/rustwasm/wasm-bindgen - -`no_std` mode is activated by setting `default-features = false`; this removes -functionality depending on `std`: - -- `thread_rng()`, and `random()` are not available, as they require thread-local - storage and an entropy source. -- `OsRng` and `EntropyRng` are unavailable. -- `JitterRng` code is still present, but a nanosecond timer must be provided via - `JitterRng::new_with_timer` -- Since no external entropy is available, it is not possible to create - generators with fresh seeds using the `FromEntropy` trait (user must provide - a seed). -- Several non-linear distributions distributions are unavailable since `exp` - and `log` functions are not provided in `core`. -- Large parts of the `seq`-uence module are unavailable, unless the `alloc` - feature is used (several APIs and many implementations require `Vec`). - - -# License - -Rand is distributed under the terms of both the MIT license and the -Apache License (Version 2.0). - -See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT), and -[COPYRIGHT](COPYRIGHT) for details. diff --git a/vendor/registry-40351f815f426200/rand/benches/distributions.rs b/vendor/registry-40351f815f426200/rand/benches/distributions.rs deleted file mode 100644 index 069a82856..000000000 --- a/vendor/registry-40351f815f426200/rand/benches/distributions.rs +++ /dev/null @@ -1,259 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -#![feature(test)] - -extern crate test; -extern crate rand; - -const RAND_BENCH_N: u64 = 1000; - -use std::mem::size_of; -use test::Bencher; -use std::time::Duration; - -use rand::{Rng, FromEntropy}; -use rand::rngs::SmallRng; -use rand::distributions::*; - -macro_rules! distr_int { - ($fnn:ident, $ty:ty, $distr:expr) => { - #[bench] - fn $fnn(b: &mut Bencher) { - let mut rng = SmallRng::from_entropy(); - let distr = $distr; - - b.iter(|| { - let mut accum = 0 as $ty; - for _ in 0..::RAND_BENCH_N { - let x: $ty = distr.sample(&mut rng); - accum = accum.wrapping_add(x); - } - accum - }); - b.bytes = size_of::<$ty>() as u64 * ::RAND_BENCH_N; - } - } -} - -macro_rules! distr_float { - ($fnn:ident, $ty:ty, $distr:expr) => { - #[bench] - fn $fnn(b: &mut Bencher) { - let mut rng = SmallRng::from_entropy(); - let distr = $distr; - - b.iter(|| { - let mut accum = 0.0; - for _ in 0..::RAND_BENCH_N { - let x: $ty = distr.sample(&mut rng); - accum += x; - } - accum - }); - b.bytes = size_of::<$ty>() as u64 * ::RAND_BENCH_N; - } - } -} - -macro_rules! distr_duration { - ($fnn:ident, $distr:expr) => { - #[bench] - fn $fnn(b: &mut Bencher) { - let mut rng = SmallRng::from_entropy(); - let distr = $distr; - - b.iter(|| { - let mut accum = Duration::new(0, 0); - for _ in 0..::RAND_BENCH_N { - let x: Duration = distr.sample(&mut rng); - accum = accum.checked_add(x).unwrap_or(Duration::new(u64::max_value(), 999_999_999)); - } - accum - }); - b.bytes = size_of::() as u64 * ::RAND_BENCH_N; - } - } -} - -macro_rules! distr { - ($fnn:ident, $ty:ty, $distr:expr) => { - #[bench] - fn $fnn(b: &mut Bencher) { - let mut rng = SmallRng::from_entropy(); - let distr = $distr; - - b.iter(|| { - let mut accum = 0u32; - for _ in 0..::RAND_BENCH_N { - let x: $ty = distr.sample(&mut rng); - accum = accum.wrapping_add(x as u32); - } - accum - }); - b.bytes = size_of::<$ty>() as u64 * ::RAND_BENCH_N; - } - } -} - -macro_rules! distr_arr { - ($fnn:ident, $ty:ty, $distr:expr) => { - #[bench] - fn $fnn(b: &mut Bencher) { - let mut rng = SmallRng::from_entropy(); - let distr = $distr; - - b.iter(|| { - let mut accum = 0u32; - for _ in 0..::RAND_BENCH_N { - let x: $ty = distr.sample(&mut rng); - accum = accum.wrapping_add(x[0] as u32); - } - accum - }); - b.bytes = size_of::<$ty>() as u64 * ::RAND_BENCH_N; - } - } -} - -// uniform -distr_int!(distr_uniform_i8, i8, Uniform::new(20i8, 100)); -distr_int!(distr_uniform_i16, i16, Uniform::new(-500i16, 2000)); -distr_int!(distr_uniform_i32, i32, Uniform::new(-200_000_000i32, 800_000_000)); -distr_int!(distr_uniform_i64, i64, Uniform::new(3i64, 123_456_789_123)); -distr_int!(distr_uniform_i128, i128, Uniform::new(-123_456_789_123i128, 123_456_789_123_456_789)); - -distr_float!(distr_uniform_f32, f32, Uniform::new(2.26f32, 2.319)); -distr_float!(distr_uniform_f64, f64, Uniform::new(2.26f64, 2.319)); - -const LARGE_SEC: u64 = u64::max_value() / 1000; - -distr_duration!(distr_uniform_duration_largest, - Uniform::new_inclusive(Duration::new(0, 0), Duration::new(u64::max_value(), 999_999_999)) -); -distr_duration!(distr_uniform_duration_large, - Uniform::new(Duration::new(0, 0), Duration::new(LARGE_SEC, 1_000_000_000 / 2)) -); -distr_duration!(distr_uniform_duration_one, - Uniform::new(Duration::new(0, 0), Duration::new(1, 0)) -); -distr_duration!(distr_uniform_duration_variety, - Uniform::new(Duration::new(10000, 423423), Duration::new(200000, 6969954)) -); -distr_duration!(distr_uniform_duration_edge, - Uniform::new_inclusive(Duration::new(LARGE_SEC, 999_999_999), Duration::new(LARGE_SEC + 1, 1)) -); - - -// standard -distr_int!(distr_standard_i8, i8, Standard); -distr_int!(distr_standard_i16, i16, Standard); -distr_int!(distr_standard_i32, i32, Standard); -distr_int!(distr_standard_i64, i64, Standard); -distr_int!(distr_standard_i128, i128, Standard); - -distr!(distr_standard_bool, bool, Standard); -distr!(distr_standard_alphanumeric, char, Alphanumeric); -distr!(distr_standard_codepoint, char, Standard); - -distr_float!(distr_standard_f32, f32, Standard); -distr_float!(distr_standard_f64, f64, Standard); -distr_float!(distr_open01_f32, f32, Open01); -distr_float!(distr_open01_f64, f64, Open01); -distr_float!(distr_openclosed01_f32, f32, OpenClosed01); -distr_float!(distr_openclosed01_f64, f64, OpenClosed01); - -// distributions -distr_float!(distr_exp, f64, Exp::new(1.23 * 4.56)); -distr_float!(distr_normal, f64, Normal::new(-1.23, 4.56)); -distr_float!(distr_log_normal, f64, LogNormal::new(-1.23, 4.56)); -distr_float!(distr_gamma_large_shape, f64, Gamma::new(10., 1.0)); -distr_float!(distr_gamma_small_shape, f64, Gamma::new(0.1, 1.0)); -distr_float!(distr_cauchy, f64, Cauchy::new(4.2, 6.9)); -distr_int!(distr_binomial, u64, Binomial::new(20, 0.7)); -distr_int!(distr_poisson, u64, Poisson::new(4.0)); -distr!(distr_bernoulli, bool, Bernoulli::new(0.18)); -distr_arr!(distr_circle, [f64; 2], UnitCircle::new()); -distr_arr!(distr_sphere_surface, [f64; 3], UnitSphereSurface::new()); - -// Weighted -distr_int!(distr_weighted_i8, usize, WeightedIndex::new(&[1i8, 2, 3, 4, 12, 0, 2, 1]).unwrap()); -distr_int!(distr_weighted_u32, usize, WeightedIndex::new(&[1u32, 2, 3, 4, 12, 0, 2, 1]).unwrap()); -distr_int!(distr_weighted_f64, usize, WeightedIndex::new(&[1.0f64, 0.001, 1.0/3.0, 4.01, 0.0, 3.3, 22.0, 0.001]).unwrap()); -distr_int!(distr_weighted_large_set, usize, WeightedIndex::new((0..10000).rev().chain(1..10001)).unwrap()); - -// construct and sample from a range -macro_rules! gen_range_int { - ($fnn:ident, $ty:ident, $low:expr, $high:expr) => { - #[bench] - fn $fnn(b: &mut Bencher) { - let mut rng = SmallRng::from_entropy(); - - b.iter(|| { - let mut high = $high; - let mut accum: $ty = 0; - for _ in 0..::RAND_BENCH_N { - accum = accum.wrapping_add(rng.gen_range($low, high)); - // force recalculation of range each time - high = high.wrapping_add(1) & std::$ty::MAX; - } - accum - }); - b.bytes = size_of::<$ty>() as u64 * ::RAND_BENCH_N; - } - } -} - -gen_range_int!(gen_range_i8, i8, -20i8, 100); -gen_range_int!(gen_range_i16, i16, -500i16, 2000); -gen_range_int!(gen_range_i32, i32, -200_000_000i32, 800_000_000); -gen_range_int!(gen_range_i64, i64, 3i64, 123_456_789_123); -gen_range_int!(gen_range_i128, i128, -12345678901234i128, 123_456_789_123_456_789); - -// construct and sample from a floating-point range -macro_rules! gen_range_float { - ($fnn:ident, $ty:ident, $low:expr, $high:expr) => { - #[bench] - fn $fnn(b: &mut Bencher) { - let mut rng = SmallRng::from_entropy(); - - b.iter(|| { - let mut high = $high; - let mut low = $low; - let mut accum: $ty = 0.0; - for _ in 0..::RAND_BENCH_N { - accum += rng.gen_range(low, high); - // force recalculation of range each time - low += 0.9; - high += 1.1; - } - accum - }); - b.bytes = size_of::<$ty>() as u64 * ::RAND_BENCH_N; - } - } -} - -gen_range_float!(gen_range_f32, f32, -20000.0f32, 100000.0); -gen_range_float!(gen_range_f64, f64, 123.456f64, 7890.12); - -#[bench] -fn dist_iter(b: &mut Bencher) { - let mut rng = SmallRng::from_entropy(); - let distr = Normal::new(-2.71828, 3.14159); - let mut iter = distr.sample_iter(&mut rng); - - b.iter(|| { - let mut accum = 0.0; - for _ in 0..::RAND_BENCH_N { - accum += iter.next().unwrap(); - } - accum - }); - b.bytes = size_of::() as u64 * ::RAND_BENCH_N; -} diff --git a/vendor/registry-40351f815f426200/rand/benches/generators.rs b/vendor/registry-40351f815f426200/rand/benches/generators.rs deleted file mode 100644 index a6e3a4232..000000000 --- a/vendor/registry-40351f815f426200/rand/benches/generators.rs +++ /dev/null @@ -1,240 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -#![feature(test)] - -extern crate test; -extern crate rand; -extern crate rand_isaac; -extern crate rand_chacha; -extern crate rand_hc; -extern crate rand_pcg; -extern crate rand_xorshift; -extern crate rand_xoshiro; - -const RAND_BENCH_N: u64 = 1000; -const BYTES_LEN: usize = 1024; - -use std::mem::size_of; -use test::{black_box, Bencher}; - -use rand::prelude::*; -use rand::rngs::adapter::ReseedingRng; -use rand::rngs::{OsRng, JitterRng, EntropyRng}; -use rand_isaac::{IsaacRng, Isaac64Rng}; -use rand_chacha::ChaChaRng; -use rand_hc::{Hc128Rng, Hc128Core}; -use rand_pcg::{Lcg64Xsh32, Mcg128Xsl64}; -use rand_xorshift::XorShiftRng; -use rand_xoshiro::{Xoshiro256StarStar, Xoshiro256Plus, Xoshiro128StarStar, - Xoshiro128Plus, Xoroshiro128StarStar, Xoroshiro128Plus, SplitMix64, - Xoroshiro64StarStar, Xoroshiro64Star}; - -macro_rules! gen_bytes { - ($fnn:ident, $gen:expr) => { - #[bench] - fn $fnn(b: &mut Bencher) { - let mut rng = $gen; - let mut buf = [0u8; BYTES_LEN]; - b.iter(|| { - for _ in 0..RAND_BENCH_N { - rng.fill_bytes(&mut buf); - black_box(buf); - } - }); - b.bytes = BYTES_LEN as u64 * RAND_BENCH_N; - } - } -} - -gen_bytes!(gen_bytes_xorshift, XorShiftRng::from_entropy()); -gen_bytes!(gen_bytes_xoshiro256starstar, Xoshiro256StarStar::from_entropy()); -gen_bytes!(gen_bytes_xoshiro256plus, Xoshiro256Plus::from_entropy()); -gen_bytes!(gen_bytes_xoshiro128starstar, Xoshiro128StarStar::from_entropy()); -gen_bytes!(gen_bytes_xoshiro128plus, Xoshiro128Plus::from_entropy()); -gen_bytes!(gen_bytes_xoroshiro128starstar, Xoroshiro128StarStar::from_entropy()); -gen_bytes!(gen_bytes_xoroshiro128plus, Xoroshiro128Plus::from_entropy()); -gen_bytes!(gen_bytes_xoroshiro64starstar, Xoroshiro64StarStar::from_entropy()); -gen_bytes!(gen_bytes_xoroshiro64star, Xoroshiro64Star::from_entropy()); -gen_bytes!(gen_bytes_splitmix64, SplitMix64::from_entropy()); -gen_bytes!(gen_bytes_lcg64_xsh32, Lcg64Xsh32::from_entropy()); -gen_bytes!(gen_bytes_mcg128_xsh64, Mcg128Xsl64::from_entropy()); -gen_bytes!(gen_bytes_chacha20, ChaChaRng::from_entropy()); -gen_bytes!(gen_bytes_hc128, Hc128Rng::from_entropy()); -gen_bytes!(gen_bytes_isaac, IsaacRng::from_entropy()); -gen_bytes!(gen_bytes_isaac64, Isaac64Rng::from_entropy()); -gen_bytes!(gen_bytes_std, StdRng::from_entropy()); -gen_bytes!(gen_bytes_small, SmallRng::from_entropy()); -gen_bytes!(gen_bytes_os, OsRng::new().unwrap()); - -macro_rules! gen_uint { - ($fnn:ident, $ty:ty, $gen:expr) => { - #[bench] - fn $fnn(b: &mut Bencher) { - let mut rng = $gen; - b.iter(|| { - let mut accum: $ty = 0; - for _ in 0..RAND_BENCH_N { - accum = accum.wrapping_add(rng.gen::<$ty>()); - } - accum - }); - b.bytes = size_of::<$ty>() as u64 * RAND_BENCH_N; - } - } -} - -gen_uint!(gen_u32_xorshift, u32, XorShiftRng::from_entropy()); -gen_uint!(gen_u32_xoshiro256starstar, u32, Xoshiro256StarStar::from_entropy()); -gen_uint!(gen_u32_xoshiro256plus, u32, Xoshiro256Plus::from_entropy()); -gen_uint!(gen_u32_xoshiro128starstar, u32, Xoshiro128StarStar::from_entropy()); -gen_uint!(gen_u32_xoshiro128plus, u32, Xoshiro128Plus::from_entropy()); -gen_uint!(gen_u32_xoroshiro128starstar, u32, Xoroshiro128StarStar::from_entropy()); -gen_uint!(gen_u32_xoroshiro128plus, u32, Xoroshiro128Plus::from_entropy()); -gen_uint!(gen_u32_xoroshiro64starstar, u32, Xoroshiro64StarStar::from_entropy()); -gen_uint!(gen_u32_xoroshiro64star, u32, Xoroshiro64Star::from_entropy()); -gen_uint!(gen_u32_splitmix64, u32, SplitMix64::from_entropy()); -gen_uint!(gen_u32_lcg64_xsh32, u32, Lcg64Xsh32::from_entropy()); -gen_uint!(gen_u32_mcg128_xsh64, u32, Mcg128Xsl64::from_entropy()); -gen_uint!(gen_u32_chacha20, u32, ChaChaRng::from_entropy()); -gen_uint!(gen_u32_hc128, u32, Hc128Rng::from_entropy()); -gen_uint!(gen_u32_isaac, u32, IsaacRng::from_entropy()); -gen_uint!(gen_u32_isaac64, u32, Isaac64Rng::from_entropy()); -gen_uint!(gen_u32_std, u32, StdRng::from_entropy()); -gen_uint!(gen_u32_small, u32, SmallRng::from_entropy()); -gen_uint!(gen_u32_os, u32, OsRng::new().unwrap()); - -gen_uint!(gen_u64_xorshift, u64, XorShiftRng::from_entropy()); -gen_uint!(gen_u64_xoshiro256starstar, u64, Xoshiro256StarStar::from_entropy()); -gen_uint!(gen_u64_xoshiro256plus, u64, Xoshiro256Plus::from_entropy()); -gen_uint!(gen_u64_xoshiro128starstar, u64, Xoshiro128StarStar::from_entropy()); -gen_uint!(gen_u64_xoshiro128plus, u64, Xoshiro128Plus::from_entropy()); -gen_uint!(gen_u64_xoroshiro128starstar, u64, Xoroshiro128StarStar::from_entropy()); -gen_uint!(gen_u64_xoroshiro128plus, u64, Xoroshiro128Plus::from_entropy()); -gen_uint!(gen_u64_xoroshiro64starstar, u64, Xoroshiro64StarStar::from_entropy()); -gen_uint!(gen_u64_xoroshiro64star, u64, Xoroshiro64Star::from_entropy()); -gen_uint!(gen_u64_splitmix64, u64, SplitMix64::from_entropy()); -gen_uint!(gen_u64_lcg64_xsh32, u64, Lcg64Xsh32::from_entropy()); -gen_uint!(gen_u64_mcg128_xsh64, u64, Mcg128Xsl64::from_entropy()); -gen_uint!(gen_u64_chacha20, u64, ChaChaRng::from_entropy()); -gen_uint!(gen_u64_hc128, u64, Hc128Rng::from_entropy()); -gen_uint!(gen_u64_isaac, u64, IsaacRng::from_entropy()); -gen_uint!(gen_u64_isaac64, u64, Isaac64Rng::from_entropy()); -gen_uint!(gen_u64_std, u64, StdRng::from_entropy()); -gen_uint!(gen_u64_small, u64, SmallRng::from_entropy()); -gen_uint!(gen_u64_os, u64, OsRng::new().unwrap()); - -// Do not test JitterRng like the others by running it RAND_BENCH_N times per, -// measurement, because it is way too slow. Only run it once. -#[bench] -fn gen_u64_jitter(b: &mut Bencher) { - let mut rng = JitterRng::new().unwrap(); - b.iter(|| { - rng.gen::() - }); - b.bytes = size_of::() as u64; -} - -macro_rules! init_gen { - ($fnn:ident, $gen:ident) => { - #[bench] - fn $fnn(b: &mut Bencher) { - let mut rng = XorShiftRng::from_entropy(); - b.iter(|| { - let r2 = $gen::from_rng(&mut rng).unwrap(); - r2 - }); - } - } -} - -init_gen!(init_xorshift, XorShiftRng); -init_gen!(init_xoshiro256starstar, Xoshiro256StarStar); -init_gen!(init_xoshiro256plus, Xoshiro256Plus); -init_gen!(init_xoshiro128starstar, Xoshiro128StarStar); -init_gen!(init_xoshiro128plus, Xoshiro128Plus); -init_gen!(init_xoroshiro128starstar, Xoroshiro128StarStar); -init_gen!(init_xoroshiro128plus, Xoroshiro128Plus); -init_gen!(init_xoroshiro64starstar, Xoroshiro64StarStar); -init_gen!(init_xoroshiro64star, Xoroshiro64Star); -init_gen!(init_splitmix64, SplitMix64); -init_gen!(init_lcg64_xsh32, Lcg64Xsh32); -init_gen!(init_mcg128_xsh64, Mcg128Xsl64); -init_gen!(init_hc128, Hc128Rng); -init_gen!(init_isaac, IsaacRng); -init_gen!(init_isaac64, Isaac64Rng); -init_gen!(init_chacha, ChaChaRng); - -#[bench] -fn init_jitter(b: &mut Bencher) { - b.iter(|| { - JitterRng::new().unwrap() - }); -} - - -const RESEEDING_THRESHOLD: u64 = 1024*1024*1024; // something high enough to get - // deterministic measurements - -#[bench] -fn reseeding_hc128_bytes(b: &mut Bencher) { - let mut rng = ReseedingRng::new(Hc128Core::from_entropy(), - RESEEDING_THRESHOLD, - EntropyRng::new()); - let mut buf = [0u8; BYTES_LEN]; - b.iter(|| { - for _ in 0..RAND_BENCH_N { - rng.fill_bytes(&mut buf); - black_box(buf); - } - }); - b.bytes = BYTES_LEN as u64 * RAND_BENCH_N; -} - -macro_rules! reseeding_uint { - ($fnn:ident, $ty:ty) => { - #[bench] - fn $fnn(b: &mut Bencher) { - let mut rng = ReseedingRng::new(Hc128Core::from_entropy(), - RESEEDING_THRESHOLD, - EntropyRng::new()); - b.iter(|| { - let mut accum: $ty = 0; - for _ in 0..RAND_BENCH_N { - accum = accum.wrapping_add(rng.gen::<$ty>()); - } - accum - }); - b.bytes = size_of::<$ty>() as u64 * RAND_BENCH_N; - } - } -} - -reseeding_uint!(reseeding_hc128_u32, u32); -reseeding_uint!(reseeding_hc128_u64, u64); - - -macro_rules! threadrng_uint { - ($fnn:ident, $ty:ty) => { - #[bench] - fn $fnn(b: &mut Bencher) { - let mut rng = thread_rng(); - b.iter(|| { - let mut accum: $ty = 0; - for _ in 0..RAND_BENCH_N { - accum = accum.wrapping_add(rng.gen::<$ty>()); - } - accum - }); - b.bytes = size_of::<$ty>() as u64 * RAND_BENCH_N; - } - } -} - -threadrng_uint!(thread_rng_u32, u32); -threadrng_uint!(thread_rng_u64, u64); diff --git a/vendor/registry-40351f815f426200/rand/benches/misc.rs b/vendor/registry-40351f815f426200/rand/benches/misc.rs deleted file mode 100644 index 8fb3a832f..000000000 --- a/vendor/registry-40351f815f426200/rand/benches/misc.rs +++ /dev/null @@ -1,160 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -#![feature(test)] - -extern crate test; -extern crate rand; - -const RAND_BENCH_N: u64 = 1000; - -use test::Bencher; - -use rand::prelude::*; - -#[bench] -fn misc_gen_bool_const(b: &mut Bencher) { - let mut rng = StdRng::from_rng(&mut thread_rng()).unwrap(); - b.iter(|| { - let mut accum = true; - for _ in 0..::RAND_BENCH_N { - accum ^= rng.gen_bool(0.18); - } - accum - }) -} - -#[bench] -fn misc_gen_bool_var(b: &mut Bencher) { - let mut rng = StdRng::from_rng(&mut thread_rng()).unwrap(); - b.iter(|| { - let mut accum = true; - let mut p = 0.18; - for _ in 0..::RAND_BENCH_N { - accum ^= rng.gen_bool(p); - p += 0.0001; - } - accum - }) -} - -#[bench] -fn misc_gen_ratio_const(b: &mut Bencher) { - let mut rng = StdRng::from_rng(&mut thread_rng()).unwrap(); - b.iter(|| { - let mut accum = true; - for _ in 0..::RAND_BENCH_N { - accum ^= rng.gen_ratio(2, 3); - } - accum - }) -} - -#[bench] -fn misc_gen_ratio_var(b: &mut Bencher) { - let mut rng = StdRng::from_rng(&mut thread_rng()).unwrap(); - b.iter(|| { - let mut accum = true; - for i in 2..(::RAND_BENCH_N as u32 + 2) { - accum ^= rng.gen_ratio(i, i + 1); - } - accum - }) -} - -#[bench] -fn misc_bernoulli_const(b: &mut Bencher) { - let mut rng = StdRng::from_rng(&mut thread_rng()).unwrap(); - b.iter(|| { - let d = rand::distributions::Bernoulli::new(0.18); - let mut accum = true; - for _ in 0..::RAND_BENCH_N { - accum ^= rng.sample(d); - } - accum - }) -} - -#[bench] -fn misc_bernoulli_var(b: &mut Bencher) { - let mut rng = StdRng::from_rng(&mut thread_rng()).unwrap(); - b.iter(|| { - let mut accum = true; - let mut p = 0.18; - for _ in 0..::RAND_BENCH_N { - let d = rand::distributions::Bernoulli::new(p); - accum ^= rng.sample(d); - p += 0.0001; - } - accum - }) -} - -macro_rules! sample_binomial { - ($name:ident, $n:expr, $p:expr) => { - #[bench] - fn $name(b: &mut Bencher) { - let mut rng = SmallRng::from_rng(&mut thread_rng()).unwrap(); - let (n, p) = ($n, $p); - b.iter(|| { - let d = rand::distributions::Binomial::new(n, p); - rng.sample(d) - }) - } - } -} - -sample_binomial!(misc_binomial_1, 1, 0.9); -sample_binomial!(misc_binomial_10, 10, 0.9); -sample_binomial!(misc_binomial_100, 100, 0.99); -sample_binomial!(misc_binomial_1000, 1000, 0.01); -sample_binomial!(misc_binomial_1e12, 1000_000_000_000, 0.2); - -#[bench] -fn gen_1k_iter_repeat(b: &mut Bencher) { - use std::iter; - let mut rng = SmallRng::from_rng(&mut thread_rng()).unwrap(); - b.iter(|| { - let v: Vec = iter::repeat(()).map(|()| rng.gen()).take(128).collect(); - v - }); - b.bytes = 1024; -} - -#[bench] -fn gen_1k_sample_iter(b: &mut Bencher) { - use rand::distributions::{Distribution, Standard}; - let mut rng = SmallRng::from_rng(&mut thread_rng()).unwrap(); - b.iter(|| { - let v: Vec = Standard.sample_iter(&mut rng).take(128).collect(); - v - }); - b.bytes = 1024; -} - -#[bench] -fn gen_1k_gen_array(b: &mut Bencher) { - let mut rng = SmallRng::from_rng(&mut thread_rng()).unwrap(); - b.iter(|| { - // max supported array length is 32! - let v: [[u64; 32]; 4] = rng.gen(); - v - }); - b.bytes = 1024; -} - -#[bench] -fn gen_1k_fill(b: &mut Bencher) { - let mut rng = SmallRng::from_rng(&mut thread_rng()).unwrap(); - let mut buf = [0u64; 128]; - b.iter(|| { - rng.fill(&mut buf[..]); - buf - }); - b.bytes = 1024; -} diff --git a/vendor/registry-40351f815f426200/rand/benches/seq.rs b/vendor/registry-40351f815f426200/rand/benches/seq.rs deleted file mode 100644 index 0ca3398f2..000000000 --- a/vendor/registry-40351f815f426200/rand/benches/seq.rs +++ /dev/null @@ -1,174 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -#![feature(test)] -#![allow(non_snake_case)] - -extern crate test; -extern crate rand; - -use test::Bencher; - -use rand::prelude::*; -use rand::seq::*; -use std::mem::size_of; - -const RAND_BENCH_N: u64 = 1000; - -#[bench] -fn seq_shuffle_100(b: &mut Bencher) { - let mut rng = SmallRng::from_rng(thread_rng()).unwrap(); - let x : &mut [usize] = &mut [1; 100]; - b.iter(|| { - x.shuffle(&mut rng); - x[0] - }) -} - -#[bench] -fn seq_slice_choose_1_of_1000(b: &mut Bencher) { - let mut rng = SmallRng::from_rng(thread_rng()).unwrap(); - let x : &mut [usize] = &mut [1; 1000]; - for i in 0..1000 { - x[i] = i; - } - b.iter(|| { - let mut s = 0; - for _ in 0..RAND_BENCH_N { - s += x.choose(&mut rng).unwrap(); - } - s - }); - b.bytes = size_of::() as u64 * ::RAND_BENCH_N; -} - -macro_rules! seq_slice_choose_multiple { - ($name:ident, $amount:expr, $length:expr) => { - #[bench] - fn $name(b: &mut Bencher) { - let mut rng = SmallRng::from_rng(thread_rng()).unwrap(); - let x : &[i32] = &[$amount; $length]; - let mut result = [0i32; $amount]; - b.iter(|| { - // Collect full result to prevent unwanted shortcuts getting - // first element (in case sample_indices returns an iterator). - for (slot, sample) in result.iter_mut().zip( - x.choose_multiple(&mut rng, $amount)) { - *slot = *sample; - } - result[$amount-1] - }) - } - } -} - -seq_slice_choose_multiple!(seq_slice_choose_multiple_1_of_1000, 1, 1000); -seq_slice_choose_multiple!(seq_slice_choose_multiple_950_of_1000, 950, 1000); -seq_slice_choose_multiple!(seq_slice_choose_multiple_10_of_100, 10, 100); -seq_slice_choose_multiple!(seq_slice_choose_multiple_90_of_100, 90, 100); - -#[bench] -fn seq_iter_choose_from_1000(b: &mut Bencher) { - let mut rng = SmallRng::from_rng(thread_rng()).unwrap(); - let x : &mut [usize] = &mut [1; 1000]; - for i in 0..1000 { - x[i] = i; - } - b.iter(|| { - let mut s = 0; - for _ in 0..RAND_BENCH_N { - s += x.iter().choose(&mut rng).unwrap(); - } - s - }); - b.bytes = size_of::() as u64 * ::RAND_BENCH_N; -} - -#[derive(Clone)] -struct UnhintedIterator { - iter: I, -} -impl Iterator for UnhintedIterator { - type Item = I::Item; - fn next(&mut self) -> Option { - self.iter.next() - } -} - -#[derive(Clone)] -struct WindowHintedIterator { - iter: I, - window_size: usize, -} -impl Iterator for WindowHintedIterator { - type Item = I::Item; - fn next(&mut self) -> Option { - self.iter.next() - } - fn size_hint(&self) -> (usize, Option) { - (std::cmp::min(self.iter.len(), self.window_size), None) - } -} - -#[bench] -fn seq_iter_unhinted_choose_from_1000(b: &mut Bencher) { - let mut rng = SmallRng::from_rng(thread_rng()).unwrap(); - let x : &[usize] = &[1; 1000]; - b.iter(|| { - UnhintedIterator { iter: x.iter() }.choose(&mut rng).unwrap() - }) -} - -#[bench] -fn seq_iter_window_hinted_choose_from_1000(b: &mut Bencher) { - let mut rng = SmallRng::from_rng(thread_rng()).unwrap(); - let x : &[usize] = &[1; 1000]; - b.iter(|| { - WindowHintedIterator { iter: x.iter(), window_size: 7 }.choose(&mut rng) - }) -} - -#[bench] -fn seq_iter_choose_multiple_10_of_100(b: &mut Bencher) { - let mut rng = SmallRng::from_rng(thread_rng()).unwrap(); - let x : &[usize] = &[1; 100]; - b.iter(|| { - x.iter().cloned().choose_multiple(&mut rng, 10) - }) -} - -#[bench] -fn seq_iter_choose_multiple_fill_10_of_100(b: &mut Bencher) { - let mut rng = SmallRng::from_rng(thread_rng()).unwrap(); - let x : &[usize] = &[1; 100]; - let mut buf = [0; 10]; - b.iter(|| { - x.iter().cloned().choose_multiple_fill(&mut rng, &mut buf) - }) -} - -macro_rules! sample_indices { - ($name:ident, $fn:ident, $amount:expr, $length:expr) => { - #[bench] - fn $name(b: &mut Bencher) { - let mut rng = SmallRng::from_rng(thread_rng()).unwrap(); - b.iter(|| { - index::$fn(&mut rng, $length, $amount) - }) - } - } -} - -sample_indices!(misc_sample_indices_1_of_1k, sample, 1, 1000); -sample_indices!(misc_sample_indices_10_of_1k, sample, 10, 1000); -sample_indices!(misc_sample_indices_100_of_1k, sample, 100, 1000); -sample_indices!(misc_sample_indices_100_of_1M, sample, 100, 1000_000); -sample_indices!(misc_sample_indices_100_of_1G, sample, 100, 1000_000_000); -sample_indices!(misc_sample_indices_200_of_1G, sample, 200, 1000_000_000); -sample_indices!(misc_sample_indices_400_of_1G, sample, 400, 1000_000_000); -sample_indices!(misc_sample_indices_600_of_1G, sample, 600, 1000_000_000); diff --git a/vendor/registry-40351f815f426200/rand/build.rs b/vendor/registry-40351f815f426200/rand/build.rs deleted file mode 100644 index a554ad987..000000000 --- a/vendor/registry-40351f815f426200/rand/build.rs +++ /dev/null @@ -1,10 +0,0 @@ -extern crate autocfg; - -fn main() { - println!("cargo:rerun-if-changed=build.rs"); - - let ac = autocfg::new(); - ac.emit_rustc_version(1, 25); - ac.emit_rustc_version(1, 26); - ac.emit_rustc_version(1, 27); -} diff --git a/vendor/registry-40351f815f426200/rand/examples/monte-carlo.rs b/vendor/registry-40351f815f426200/rand/examples/monte-carlo.rs deleted file mode 100644 index 916299686..000000000 --- a/vendor/registry-40351f815f426200/rand/examples/monte-carlo.rs +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2013-2018 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! # Monte Carlo estimation of π -//! -//! Imagine that we have a square with sides of length 2 and a unit circle -//! (radius = 1), both centered at the origin. The areas are: -//! -//! ```text -//! area of circle = πr² = π * r * r = π -//! area of square = 2² = 4 -//! ``` -//! -//! The circle is entirely within the square, so if we sample many points -//! randomly from the square, roughly π / 4 of them should be inside the circle. -//! -//! We can use the above fact to estimate the value of π: pick many points in -//! the square at random, calculate the fraction that fall within the circle, -//! and multiply this fraction by 4. - -#![cfg(feature="std")] - - -extern crate rand; - -use rand::distributions::{Distribution, Uniform}; - -fn main() { - let range = Uniform::new(-1.0f64, 1.0); - let mut rng = rand::thread_rng(); - - let total = 1_000_000; - let mut in_circle = 0; - - for _ in 0..total { - let a = range.sample(&mut rng); - let b = range.sample(&mut rng); - if a*a + b*b <= 1.0 { - in_circle += 1; - } - } - - // prints something close to 3.14159... - println!("π is approximately {}", 4. * (in_circle as f64) / (total as f64)); -} diff --git a/vendor/registry-40351f815f426200/rand/examples/monty-hall.rs b/vendor/registry-40351f815f426200/rand/examples/monty-hall.rs deleted file mode 100644 index 0932c5efb..000000000 --- a/vendor/registry-40351f815f426200/rand/examples/monty-hall.rs +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2013-2018 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! ## Monty Hall Problem -//! -//! This is a simulation of the [Monty Hall Problem][]: -//! -//! > Suppose you're on a game show, and you're given the choice of three doors: -//! > Behind one door is a car; behind the others, goats. You pick a door, say -//! > No. 1, and the host, who knows what's behind the doors, opens another -//! > door, say No. 3, which has a goat. He then says to you, "Do you want to -//! > pick door No. 2?" Is it to your advantage to switch your choice? -//! -//! The rather unintuitive answer is that you will have a 2/3 chance of winning -//! if you switch and a 1/3 chance of winning if you don't, so it's better to -//! switch. -//! -//! This program will simulate the game show and with large enough simulation -//! steps it will indeed confirm that it is better to switch. -//! -//! [Monty Hall Problem]: https://en.wikipedia.org/wiki/Monty_Hall_problem - -#![cfg(feature="std")] - - -extern crate rand; - -use rand::Rng; -use rand::distributions::{Distribution, Uniform}; - -struct SimulationResult { - win: bool, - switch: bool, -} - -// Run a single simulation of the Monty Hall problem. -fn simulate(random_door: &Uniform, rng: &mut R) - -> SimulationResult { - let car = random_door.sample(rng); - - // This is our initial choice - let mut choice = random_door.sample(rng); - - // The game host opens a door - let open = game_host_open(car, choice, rng); - - // Shall we switch? - let switch = rng.gen(); - if switch { - choice = switch_door(choice, open); - } - - SimulationResult { win: choice == car, switch } -} - -// Returns the door the game host opens given our choice and knowledge of -// where the car is. The game host will never open the door with the car. -fn game_host_open(car: u32, choice: u32, rng: &mut R) -> u32 { - use rand::seq::SliceRandom; - *free_doors(&[car, choice]).choose(rng).unwrap() -} - -// Returns the door we switch to, given our current choice and -// the open door. There will only be one valid door. -fn switch_door(choice: u32, open: u32) -> u32 { - free_doors(&[choice, open])[0] -} - -fn free_doors(blocked: &[u32]) -> Vec { - (0..3).filter(|x| !blocked.contains(x)).collect() -} - -fn main() { - // The estimation will be more accurate with more simulations - let num_simulations = 10000; - - let mut rng = rand::thread_rng(); - let random_door = Uniform::new(0u32, 3); - - let (mut switch_wins, mut switch_losses) = (0, 0); - let (mut keep_wins, mut keep_losses) = (0, 0); - - println!("Running {} simulations...", num_simulations); - for _ in 0..num_simulations { - let result = simulate(&random_door, &mut rng); - - match (result.win, result.switch) { - (true, true) => switch_wins += 1, - (true, false) => keep_wins += 1, - (false, true) => switch_losses += 1, - (false, false) => keep_losses += 1, - } - } - - let total_switches = switch_wins + switch_losses; - let total_keeps = keep_wins + keep_losses; - - println!("Switched door {} times with {} wins and {} losses", - total_switches, switch_wins, switch_losses); - - println!("Kept our choice {} times with {} wins and {} losses", - total_keeps, keep_wins, keep_losses); - - // With a large number of simulations, the values should converge to - // 0.667 and 0.333 respectively. - println!("Estimated chance to win if we switch: {}", - switch_wins as f32 / total_switches as f32); - println!("Estimated chance to win if we don't: {}", - keep_wins as f32 / total_keeps as f32); -} diff --git a/vendor/registry-40351f815f426200/rand/src/deprecated.rs b/vendor/registry-40351f815f426200/rand/src/deprecated.rs deleted file mode 100644 index 88eb09fce..000000000 --- a/vendor/registry-40351f815f426200/rand/src/deprecated.rs +++ /dev/null @@ -1,544 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Deprecated re-exports (we can't add deprecation warnings otherwise) - -#![allow(deprecated)] - -use rngs; -use {RngCore, CryptoRng, SeedableRng, Error}; -use rand_core::block::BlockRngCore; -use rand_isaac; -use rand_chacha; -use rand_hc; - -#[cfg(feature="std")] -use std::io::Read; - -#[derive(Clone, Debug)] -#[deprecated(since="0.6.0", - note="import from rand_isaac crate instead, or use the newer Hc128Rng")] -pub struct IsaacRng(rand_isaac::IsaacRng); - -impl RngCore for IsaacRng { - #[inline(always)] - fn next_u32(&mut self) -> u32 { - self.0.next_u32() - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - self.0.next_u64() - } - - #[inline(always)] - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.0.fill_bytes(dest); - } - - #[inline(always)] - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -impl SeedableRng for IsaacRng { - type Seed = ::Seed; - - fn from_seed(seed: Self::Seed) -> Self { - IsaacRng(rand_isaac::IsaacRng::from_seed(seed)) - } - - fn from_rng(rng: R) -> Result { - rand_isaac::IsaacRng::from_rng(rng).map(IsaacRng) - } -} - -impl IsaacRng { - pub fn new_from_u64(seed: u64) -> Self { - IsaacRng(rand_isaac::IsaacRng::new_from_u64(seed)) - } -} - - -#[derive(Clone, Debug)] -#[deprecated(since="0.6.0", - note="import from rand_isaac crate instead, or use newer Hc128Rng")] -pub struct Isaac64Rng(rand_isaac::Isaac64Rng); - -impl RngCore for Isaac64Rng { - #[inline(always)] - fn next_u32(&mut self) -> u32 { - self.0.next_u32() - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - self.0.next_u64() - } - - #[inline(always)] - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.0.fill_bytes(dest); - } - - #[inline(always)] - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -impl SeedableRng for Isaac64Rng { - type Seed = ::Seed; - - fn from_seed(seed: Self::Seed) -> Self { - Isaac64Rng(rand_isaac::Isaac64Rng::from_seed(seed)) - } - - fn from_rng(rng: R) -> Result { - rand_isaac::Isaac64Rng::from_rng(rng).map(Isaac64Rng) - } -} - -impl Isaac64Rng { - pub fn new_from_u64(seed: u64) -> Self { - Isaac64Rng(rand_isaac::Isaac64Rng::new_from_u64(seed)) - } -} - - -#[derive(Clone, Debug)] -#[deprecated(since="0.6.0", note="import from rand_chacha crate instead")] -pub struct ChaChaRng(rand_chacha::ChaChaRng); - -impl RngCore for ChaChaRng { - #[inline(always)] - fn next_u32(&mut self) -> u32 { - self.0.next_u32() - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - self.0.next_u64() - } - - #[inline(always)] - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.0.fill_bytes(dest); - } - - #[inline(always)] - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -impl SeedableRng for ChaChaRng { - type Seed = ::Seed; - - fn from_seed(seed: Self::Seed) -> Self { - ChaChaRng(rand_chacha::ChaChaRng::from_seed(seed)) - } - - fn from_rng(rng: R) -> Result { - rand_chacha::ChaChaRng::from_rng(rng).map(ChaChaRng) - } -} - -impl ChaChaRng { - #[cfg(all(rustc_1_26, not(target_os = "emscripten")))] - pub fn get_word_pos(&self) -> u128 { - self.0.get_word_pos() - } - - #[cfg(all(rustc_1_26, not(target_os = "emscripten")))] - pub fn set_word_pos(&mut self, word_offset: u128) { - self.0.set_word_pos(word_offset) - } - - pub fn set_stream(&mut self, stream: u64) { - self.0.set_stream(stream) - } -} - -impl CryptoRng for ChaChaRng {} - - -#[derive(Clone, Debug)] -#[deprecated(since="0.6.0", note="import from rand_hc crate instead")] -pub struct Hc128Rng(rand_hc::Hc128Rng); - -impl RngCore for Hc128Rng { - #[inline(always)] - fn next_u32(&mut self) -> u32 { - self.0.next_u32() - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - self.0.next_u64() - } - - #[inline(always)] - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.0.fill_bytes(dest); - } - - #[inline(always)] - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -impl SeedableRng for Hc128Rng { - type Seed = ::Seed; - - fn from_seed(seed: Self::Seed) -> Self { - Hc128Rng(rand_hc::Hc128Rng::from_seed(seed)) - } - - fn from_rng(rng: R) -> Result { - rand_hc::Hc128Rng::from_rng(rng).map(Hc128Rng) - } -} - -impl CryptoRng for Hc128Rng {} - - -#[derive(Clone, Debug)] -#[deprecated(since="0.6.0", note="import from rand_xorshift crate instead")] -pub struct XorShiftRng(::rand_xorshift::XorShiftRng); - -impl RngCore for XorShiftRng { - #[inline(always)] - fn next_u32(&mut self) -> u32 { - self.0.next_u32() - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - self.0.next_u64() - } - - #[inline(always)] - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.0.fill_bytes(dest); - } - - #[inline(always)] - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -impl SeedableRng for XorShiftRng { - type Seed = <::rand_xorshift::XorShiftRng as SeedableRng>::Seed; - - fn from_seed(seed: Self::Seed) -> Self { - XorShiftRng(::rand_xorshift::XorShiftRng::from_seed(seed)) - } - - fn from_rng(rng: R) -> Result { - ::rand_xorshift::XorShiftRng::from_rng(rng).map(XorShiftRng) - } -} - - -#[derive(Clone, Debug)] -#[deprecated(since="0.6.0", - note="import with rand::prelude::* or rand::rngs::StdRng instead")] -pub struct StdRng(rngs::StdRng); - -impl RngCore for StdRng { - #[inline(always)] - fn next_u32(&mut self) -> u32 { - self.0.next_u32() - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - self.0.next_u64() - } - - #[inline(always)] - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.0.fill_bytes(dest); - } - - #[inline(always)] - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -impl SeedableRng for StdRng { - type Seed = ::Seed; - - fn from_seed(seed: Self::Seed) -> Self { - StdRng(rngs::StdRng::from_seed(seed)) - } - - fn from_rng(rng: R) -> Result { - rngs::StdRng::from_rng(rng).map(StdRng) - } -} - -impl CryptoRng for StdRng {} - - -#[cfg(feature="rand_os")] -#[derive(Clone, Debug)] -#[deprecated(since="0.6.0", note="import with rand::rngs::OsRng instead")] -pub struct OsRng(rngs::OsRng); - -#[cfg(feature="rand_os")] -impl RngCore for OsRng { - #[inline(always)] - fn next_u32(&mut self) -> u32 { - self.0.next_u32() - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - self.0.next_u64() - } - - #[inline(always)] - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.0.fill_bytes(dest); - } - - #[inline(always)] - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -#[cfg(feature="rand_os")] -impl OsRng { - pub fn new() -> Result { - rngs::OsRng::new().map(OsRng) - } -} - -#[cfg(feature="rand_os")] -impl CryptoRng for OsRng {} - - -#[cfg(feature="std")] -#[derive(Debug)] -#[deprecated(since="0.6.0", note="import with rand::rngs::EntropyRng instead")] -pub struct EntropyRng(rngs::EntropyRng); - -#[cfg(feature="std")] -impl RngCore for EntropyRng { - #[inline(always)] - fn next_u32(&mut self) -> u32 { - self.0.next_u32() - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - self.0.next_u64() - } - - #[inline(always)] - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.0.fill_bytes(dest); - } - - #[inline(always)] - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -#[cfg(feature="std")] -impl EntropyRng { - pub fn new() -> Self { - EntropyRng(rngs::EntropyRng::new()) - } -} - -#[cfg(feature="std")] -impl Default for EntropyRng { - fn default() -> Self { - EntropyRng::new() - } -} - -#[cfg(feature="std")] -impl CryptoRng for EntropyRng {} - - -#[derive(Clone, Debug)] -#[deprecated(since="0.6.0", note="import with rand::rngs::JitterRng instead")] -pub struct JitterRng(rngs::JitterRng); - -impl RngCore for JitterRng { - #[inline(always)] - fn next_u32(&mut self) -> u32 { - self.0.next_u32() - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - self.0.next_u64() - } - - #[inline(always)] - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.0.fill_bytes(dest); - } - - #[inline(always)] - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -impl JitterRng { - #[cfg(all(feature="std", not(target_arch = "wasm32")))] - pub fn new() -> Result { - rngs::JitterRng::new().map(JitterRng) - } - - pub fn new_with_timer(timer: fn() -> u64) -> JitterRng { - JitterRng(rngs::JitterRng::new_with_timer(timer)) - } - - pub fn set_rounds(&mut self, rounds: u8) { - self.0.set_rounds(rounds) - } - - pub fn test_timer(&mut self) -> Result { - self.0.test_timer() - } - - #[cfg(feature="std")] - pub fn timer_stats(&mut self, var_rounds: bool) -> i64 { - self.0.timer_stats(var_rounds) - } -} - -impl CryptoRng for JitterRng {} - - -#[cfg(feature="std")] -#[derive(Clone, Debug)] -#[deprecated(since="0.6.0", - note="import with rand::prelude::* or rand::rngs::ThreadRng instead")] -pub struct ThreadRng(rngs::ThreadRng); - -#[cfg(feature="std")] -impl RngCore for ThreadRng { - #[inline(always)] - fn next_u32(&mut self) -> u32 { - self.0.next_u32() - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - self.0.next_u64() - } - - #[inline(always)] - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.0.fill_bytes(dest); - } - - #[inline(always)] - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -#[cfg(feature="std")] -impl CryptoRng for ThreadRng {} - - -#[cfg(feature="std")] -#[derive(Debug)] -#[deprecated(since="0.6.0", note="import with rand::rngs::adapter::ReadRng instead")] -pub struct ReadRng(rngs::adapter::ReadRng); - -#[cfg(feature="std")] -impl RngCore for ReadRng { - #[inline(always)] - fn next_u32(&mut self) -> u32 { - self.0.next_u32() - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - self.0.next_u64() - } - - #[inline(always)] - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.0.fill_bytes(dest); - } - - #[inline(always)] - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -#[cfg(feature="std")] -impl ReadRng { - pub fn new(r: R) -> ReadRng { - ReadRng(rngs::adapter::ReadRng::new(r)) - } -} - - -#[derive(Clone, Debug)] -pub struct ReseedingRng(rngs::adapter::ReseedingRng) -where R: BlockRngCore + SeedableRng, - Rsdr: RngCore; - -impl RngCore for ReseedingRng -where R: BlockRngCore + SeedableRng, - ::Results: AsRef<[u32]> + AsMut<[u32]> -{ - #[inline(always)] - fn next_u32(&mut self) -> u32 { - self.0.next_u32() - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - self.0.next_u64() - } - - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.0.fill_bytes(dest) - } - - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -impl ReseedingRng -where R: BlockRngCore + SeedableRng, - Rsdr: RngCore -{ - pub fn new(rng: R, threshold: u64, reseeder: Rsdr) -> Self { - ReseedingRng(rngs::adapter::ReseedingRng::new(rng, threshold, reseeder)) - } - - pub fn reseed(&mut self) -> Result<(), Error> { - self.0.reseed() - } -} - -impl CryptoRng for ReseedingRng -where R: BlockRngCore + SeedableRng + CryptoRng, - Rsdr: RngCore + CryptoRng {} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/bernoulli.rs b/vendor/registry-40351f815f426200/rand/src/distributions/bernoulli.rs deleted file mode 100644 index f49618c67..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/bernoulli.rs +++ /dev/null @@ -1,165 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The Bernoulli distribution. - -use Rng; -use distributions::Distribution; - -/// The Bernoulli distribution. -/// -/// This is a special case of the Binomial distribution where `n = 1`. -/// -/// # Example -/// -/// ```rust -/// use rand::distributions::{Bernoulli, Distribution}; -/// -/// let d = Bernoulli::new(0.3); -/// let v = d.sample(&mut rand::thread_rng()); -/// println!("{} is from a Bernoulli distribution", v); -/// ``` -/// -/// # Precision -/// -/// This `Bernoulli` distribution uses 64 bits from the RNG (a `u64`), -/// so only probabilities that are multiples of 2-64 can be -/// represented. -#[derive(Clone, Copy, Debug)] -pub struct Bernoulli { - /// Probability of success, relative to the maximal integer. - p_int: u64, -} - -// To sample from the Bernoulli distribution we use a method that compares a -// random `u64` value `v < (p * 2^64)`. -// -// If `p == 1.0`, the integer `v` to compare against can not represented as a -// `u64`. We manually set it to `u64::MAX` instead (2^64 - 1 instead of 2^64). -// Note that value of `p < 1.0` can never result in `u64::MAX`, because an -// `f64` only has 53 bits of precision, and the next largest value of `p` will -// result in `2^64 - 2048`. -// -// Also there is a 100% theoretical concern: if someone consistenly wants to -// generate `true` using the Bernoulli distribution (i.e. by using a probability -// of `1.0`), just using `u64::MAX` is not enough. On average it would return -// false once every 2^64 iterations. Some people apparently care about this -// case. -// -// That is why we special-case `u64::MAX` to always return `true`, without using -// the RNG, and pay the performance price for all uses that *are* reasonable. -// Luckily, if `new()` and `sample` are close, the compiler can optimize out the -// extra check. -const ALWAYS_TRUE: u64 = ::core::u64::MAX; - -// This is just `2.0.powi(64)`, but written this way because it is not available -// in `no_std` mode. -const SCALE: f64 = 2.0 * (1u64 << 63) as f64; - -impl Bernoulli { - /// Construct a new `Bernoulli` with the given probability of success `p`. - /// - /// # Panics - /// - /// If `p < 0` or `p > 1`. - /// - /// # Precision - /// - /// For `p = 1.0`, the resulting distribution will always generate true. - /// For `p = 0.0`, the resulting distribution will always generate false. - /// - /// This method is accurate for any input `p` in the range `[0, 1]` which is - /// a multiple of 2-64. (Note that not all multiples of - /// 2-64 in `[0, 1]` can be represented as a `f64`.) - #[inline] - pub fn new(p: f64) -> Bernoulli { - if p < 0.0 || p >= 1.0 { - if p == 1.0 { return Bernoulli { p_int: ALWAYS_TRUE } } - panic!("Bernoulli::new not called with 0.0 <= p <= 1.0"); - } - Bernoulli { p_int: (p * SCALE) as u64 } - } - - /// Construct a new `Bernoulli` with the probability of success of - /// `numerator`-in-`denominator`. I.e. `new_ratio(2, 3)` will return - /// a `Bernoulli` with a 2-in-3 chance, or about 67%, of returning `true`. - /// - /// If `numerator == denominator` then the returned `Bernoulli` will always - /// return `true`. If `numerator == 0` it will always return `false`. - /// - /// # Panics - /// - /// If `denominator == 0` or `numerator > denominator`. - /// - #[inline] - pub fn from_ratio(numerator: u32, denominator: u32) -> Bernoulli { - assert!(numerator <= denominator); - if numerator == denominator { - return Bernoulli { p_int: ::core::u64::MAX } - } - let p_int = ((numerator as f64 / denominator as f64) * SCALE) as u64; - Bernoulli { p_int } - } -} - -impl Distribution for Bernoulli { - #[inline] - fn sample(&self, rng: &mut R) -> bool { - // Make sure to always return true for p = 1.0. - if self.p_int == ALWAYS_TRUE { return true; } - let v: u64 = rng.gen(); - v < self.p_int - } -} - -#[cfg(test)] -mod test { - use Rng; - use distributions::Distribution; - use super::Bernoulli; - - #[test] - fn test_trivial() { - let mut r = ::test::rng(1); - let always_false = Bernoulli::new(0.0); - let always_true = Bernoulli::new(1.0); - for _ in 0..5 { - assert_eq!(r.sample::(&always_false), false); - assert_eq!(r.sample::(&always_true), true); - assert_eq!(Distribution::::sample(&always_false, &mut r), false); - assert_eq!(Distribution::::sample(&always_true, &mut r), true); - } - } - - #[test] - fn test_average() { - const P: f64 = 0.3; - const NUM: u32 = 3; - const DENOM: u32 = 10; - let d1 = Bernoulli::new(P); - let d2 = Bernoulli::from_ratio(NUM, DENOM); - const N: u32 = 100_000; - - let mut sum1: u32 = 0; - let mut sum2: u32 = 0; - let mut rng = ::test::rng(2); - for _ in 0..N { - if d1.sample(&mut rng) { - sum1 += 1; - } - if d2.sample(&mut rng) { - sum2 += 1; - } - } - let avg1 = (sum1 as f64) / (N as f64); - assert!((avg1 - P).abs() < 5e-3); - - let avg2 = (sum2 as f64) / (N as f64); - assert!((avg2 - (NUM as f64)/(DENOM as f64)).abs() < 5e-3); - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/binomial.rs b/vendor/registry-40351f815f426200/rand/src/distributions/binomial.rs deleted file mode 100644 index 2df393e53..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/binomial.rs +++ /dev/null @@ -1,177 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2016-2017 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The binomial distribution. - -use Rng; -use distributions::{Distribution, Bernoulli, Cauchy}; -use distributions::utils::log_gamma; - -/// The binomial distribution `Binomial(n, p)`. -/// -/// This distribution has density function: -/// `f(k) = n!/(k! (n-k)!) p^k (1-p)^(n-k)` for `k >= 0`. -/// -/// # Example -/// -/// ``` -/// use rand::distributions::{Binomial, Distribution}; -/// -/// let bin = Binomial::new(20, 0.3); -/// let v = bin.sample(&mut rand::thread_rng()); -/// println!("{} is from a binomial distribution", v); -/// ``` -#[derive(Clone, Copy, Debug)] -pub struct Binomial { - /// Number of trials. - n: u64, - /// Probability of success. - p: f64, -} - -impl Binomial { - /// Construct a new `Binomial` with the given shape parameters `n` (number - /// of trials) and `p` (probability of success). - /// - /// Panics if `p < 0` or `p > 1`. - pub fn new(n: u64, p: f64) -> Binomial { - assert!(p >= 0.0, "Binomial::new called with p < 0"); - assert!(p <= 1.0, "Binomial::new called with p > 1"); - Binomial { n, p } - } -} - -impl Distribution for Binomial { - fn sample(&self, rng: &mut R) -> u64 { - // Handle these values directly. - if self.p == 0.0 { - return 0; - } else if self.p == 1.0 { - return self.n; - } - - // For low n, it is faster to sample directly. For both methods, - // performance is independent of p. On Intel Haswell CPU this method - // appears to be faster for approx n < 300. - if self.n < 300 { - let mut result = 0; - let d = Bernoulli::new(self.p); - for _ in 0 .. self.n { - result += rng.sample(d) as u32; - } - return result as u64; - } - - // binomial distribution is symmetrical with respect to p -> 1-p, k -> n-k - // switch p so that it is less than 0.5 - this allows for lower expected values - // we will just invert the result at the end - let p = if self.p <= 0.5 { - self.p - } else { - 1.0 - self.p - }; - - // prepare some cached values - let float_n = self.n as f64; - let ln_fact_n = log_gamma(float_n + 1.0); - let pc = 1.0 - p; - let log_p = p.ln(); - let log_pc = pc.ln(); - let expected = self.n as f64 * p; - let sq = (expected * (2.0 * pc)).sqrt(); - - let mut lresult; - - // we use the Cauchy distribution as the comparison distribution - // f(x) ~ 1/(1+x^2) - let cauchy = Cauchy::new(0.0, 1.0); - loop { - let mut comp_dev: f64; - loop { - // draw from the Cauchy distribution - comp_dev = rng.sample(cauchy); - // shift the peak of the comparison ditribution - lresult = expected + sq * comp_dev; - // repeat the drawing until we are in the range of possible values - if lresult >= 0.0 && lresult < float_n + 1.0 { - break; - } - } - - // the result should be discrete - lresult = lresult.floor(); - - let log_binomial_dist = ln_fact_n - log_gamma(lresult+1.0) - - log_gamma(float_n - lresult + 1.0) + lresult*log_p + (float_n - lresult)*log_pc; - // this is the binomial probability divided by the comparison probability - // we will generate a uniform random value and if it is larger than this, - // we interpret it as a value falling out of the distribution and repeat - let comparison_coeff = (log_binomial_dist.exp() * sq) * (1.2 * (1.0 + comp_dev*comp_dev)); - - if comparison_coeff >= rng.gen() { - break; - } - } - - // invert the result for p < 0.5 - if p != self.p { - self.n - lresult as u64 - } else { - lresult as u64 - } - } -} - -#[cfg(test)] -mod test { - use Rng; - use distributions::Distribution; - use super::Binomial; - - fn test_binomial_mean_and_variance(n: u64, p: f64, rng: &mut R) { - let binomial = Binomial::new(n, p); - - let expected_mean = n as f64 * p; - let expected_variance = n as f64 * p * (1.0 - p); - - let mut results = [0.0; 1000]; - for i in results.iter_mut() { *i = binomial.sample(rng) as f64; } - - let mean = results.iter().sum::() / results.len() as f64; - assert!((mean as f64 - expected_mean).abs() < expected_mean / 50.0); - - let variance = - results.iter().map(|x| (x - mean) * (x - mean)).sum::() - / results.len() as f64; - assert!((variance - expected_variance).abs() < expected_variance / 10.0); - } - - #[test] - fn test_binomial() { - let mut rng = ::test::rng(351); - test_binomial_mean_and_variance(150, 0.1, &mut rng); - test_binomial_mean_and_variance(70, 0.6, &mut rng); - test_binomial_mean_and_variance(40, 0.5, &mut rng); - test_binomial_mean_and_variance(20, 0.7, &mut rng); - test_binomial_mean_and_variance(20, 0.5, &mut rng); - } - - #[test] - fn test_binomial_end_points() { - let mut rng = ::test::rng(352); - assert_eq!(rng.sample(Binomial::new(20, 0.0)), 0); - assert_eq!(rng.sample(Binomial::new(20, 1.0)), 20); - } - - #[test] - #[should_panic] - fn test_binomial_invalid_lambda_neg() { - Binomial::new(20, -10.0); - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/cauchy.rs b/vendor/registry-40351f815f426200/rand/src/distributions/cauchy.rs deleted file mode 100644 index feef015a3..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/cauchy.rs +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2016-2017 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The Cauchy distribution. - -use Rng; -use distributions::Distribution; -use std::f64::consts::PI; - -/// The Cauchy distribution `Cauchy(median, scale)`. -/// -/// This distribution has a density function: -/// `f(x) = 1 / (pi * scale * (1 + ((x - median) / scale)^2))` -/// -/// # Example -/// -/// ``` -/// use rand::distributions::{Cauchy, Distribution}; -/// -/// let cau = Cauchy::new(2.0, 5.0); -/// let v = cau.sample(&mut rand::thread_rng()); -/// println!("{} is from a Cauchy(2, 5) distribution", v); -/// ``` -#[derive(Clone, Copy, Debug)] -pub struct Cauchy { - median: f64, - scale: f64 -} - -impl Cauchy { - /// Construct a new `Cauchy` with the given shape parameters - /// `median` the peak location and `scale` the scale factor. - /// Panics if `scale <= 0`. - pub fn new(median: f64, scale: f64) -> Cauchy { - assert!(scale > 0.0, "Cauchy::new called with scale factor <= 0"); - Cauchy { - median, - scale - } - } -} - -impl Distribution for Cauchy { - fn sample(&self, rng: &mut R) -> f64 { - // sample from [0, 1) - let x = rng.gen::(); - // get standard cauchy random number - // note that π/2 is not exactly representable, even if x=0.5 the result is finite - let comp_dev = (PI * x).tan(); - // shift and scale according to parameters - let result = self.median + self.scale * comp_dev; - result - } -} - -#[cfg(test)] -mod test { - use distributions::Distribution; - use super::Cauchy; - - fn median(mut numbers: &mut [f64]) -> f64 { - sort(&mut numbers); - let mid = numbers.len() / 2; - numbers[mid] - } - - fn sort(numbers: &mut [f64]) { - numbers.sort_by(|a, b| a.partial_cmp(b).unwrap()); - } - - #[test] - fn test_cauchy_median() { - let cauchy = Cauchy::new(10.0, 5.0); - let mut rng = ::test::rng(123); - let mut numbers: [f64; 1000] = [0.0; 1000]; - for i in 0..1000 { - numbers[i] = cauchy.sample(&mut rng); - } - let median = median(&mut numbers); - println!("Cauchy median: {}", median); - assert!((median - 10.0).abs() < 0.5); // not 100% certain, but probable enough - } - - #[test] - fn test_cauchy_mean() { - let cauchy = Cauchy::new(10.0, 5.0); - let mut rng = ::test::rng(123); - let mut sum = 0.0; - for _ in 0..1000 { - sum += cauchy.sample(&mut rng); - } - let mean = sum / 1000.0; - println!("Cauchy mean: {}", mean); - // for a Cauchy distribution the mean should not converge - assert!((mean - 10.0).abs() > 0.5); // not 100% certain, but probable enough - } - - #[test] - #[should_panic] - fn test_cauchy_invalid_scale_zero() { - Cauchy::new(0.0, 0.0); - } - - #[test] - #[should_panic] - fn test_cauchy_invalid_scale_neg() { - Cauchy::new(0.0, -10.0); - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/dirichlet.rs b/vendor/registry-40351f815f426200/rand/src/distributions/dirichlet.rs deleted file mode 100644 index 19384b82d..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/dirichlet.rs +++ /dev/null @@ -1,137 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2013 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The dirichlet distribution. - -use Rng; -use distributions::Distribution; -use distributions::gamma::Gamma; - -/// The dirichelet distribution `Dirichlet(alpha)`. -/// -/// The Dirichlet distribution is a family of continuous multivariate -/// probability distributions parameterized by a vector alpha of positive reals. -/// It is a multivariate generalization of the beta distribution. -/// -/// # Example -/// -/// ``` -/// use rand::prelude::*; -/// use rand::distributions::Dirichlet; -/// -/// let dirichlet = Dirichlet::new(vec![1.0, 2.0, 3.0]); -/// let samples = dirichlet.sample(&mut rand::thread_rng()); -/// println!("{:?} is from a Dirichlet([1.0, 2.0, 3.0]) distribution", samples); -/// ``` - -#[derive(Clone, Debug)] -pub struct Dirichlet { - /// Concentration parameters (alpha) - alpha: Vec, -} - -impl Dirichlet { - /// Construct a new `Dirichlet` with the given alpha parameter `alpha`. - /// - /// # Panics - /// - if `alpha.len() < 2` - /// - #[inline] - pub fn new>>(alpha: V) -> Dirichlet { - let a = alpha.into(); - assert!(a.len() > 1); - for i in 0..a.len() { - assert!(a[i] > 0.0); - } - - Dirichlet { alpha: a } - } - - /// Construct a new `Dirichlet` with the given shape parameter `alpha` and `size`. - /// - /// # Panics - /// - if `alpha <= 0.0` - /// - if `size < 2` - /// - #[inline] - pub fn new_with_param(alpha: f64, size: usize) -> Dirichlet { - assert!(alpha > 0.0); - assert!(size > 1); - Dirichlet { - alpha: vec![alpha; size], - } - } -} - -impl Distribution> for Dirichlet { - fn sample(&self, rng: &mut R) -> Vec { - let n = self.alpha.len(); - let mut samples = vec![0.0f64; n]; - let mut sum = 0.0f64; - - for i in 0..n { - let g = Gamma::new(self.alpha[i], 1.0); - samples[i] = g.sample(rng); - sum += samples[i]; - } - let invacc = 1.0 / sum; - for i in 0..n { - samples[i] *= invacc; - } - samples - } -} - -#[cfg(test)] -mod test { - use super::Dirichlet; - use distributions::Distribution; - - #[test] - fn test_dirichlet() { - let d = Dirichlet::new(vec![1.0, 2.0, 3.0]); - let mut rng = ::test::rng(221); - let samples = d.sample(&mut rng); - let _: Vec = samples - .into_iter() - .map(|x| { - assert!(x > 0.0); - x - }) - .collect(); - } - - #[test] - fn test_dirichlet_with_param() { - let alpha = 0.5f64; - let size = 2; - let d = Dirichlet::new_with_param(alpha, size); - let mut rng = ::test::rng(221); - let samples = d.sample(&mut rng); - let _: Vec = samples - .into_iter() - .map(|x| { - assert!(x > 0.0); - x - }) - .collect(); - } - - #[test] - #[should_panic] - fn test_dirichlet_invalid_length() { - Dirichlet::new_with_param(0.5f64, 1); - } - - #[test] - #[should_panic] - fn test_dirichlet_invalid_alpha() { - Dirichlet::new_with_param(0.0f64, 2); - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/exponential.rs b/vendor/registry-40351f815f426200/rand/src/distributions/exponential.rs deleted file mode 100644 index 76752a60e..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/exponential.rs +++ /dev/null @@ -1,124 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2013 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The exponential distribution. - -use {Rng}; -use distributions::{ziggurat_tables, Distribution}; -use distributions::utils::ziggurat; - -/// Samples floating-point numbers according to the exponential distribution, -/// with rate parameter `λ = 1`. This is equivalent to `Exp::new(1.0)` or -/// sampling with `-rng.gen::().ln()`, but faster. -/// -/// See `Exp` for the general exponential distribution. -/// -/// Implemented via the ZIGNOR variant[^1] of the Ziggurat method. The exact -/// description in the paper was adjusted to use tables for the exponential -/// distribution rather than normal. -/// -/// [^1]: Jurgen A. Doornik (2005). [*An Improved Ziggurat Method to -/// Generate Normal Random Samples*]( -/// https://www.doornik.com/research/ziggurat.pdf). -/// Nuffield College, Oxford -/// -/// # Example -/// ``` -/// use rand::prelude::*; -/// use rand::distributions::Exp1; -/// -/// let val: f64 = SmallRng::from_entropy().sample(Exp1); -/// println!("{}", val); -/// ``` -#[derive(Clone, Copy, Debug)] -pub struct Exp1; - -// This could be done via `-rng.gen::().ln()` but that is slower. -impl Distribution for Exp1 { - #[inline] - fn sample(&self, rng: &mut R) -> f64 { - #[inline] - fn pdf(x: f64) -> f64 { - (-x).exp() - } - #[inline] - fn zero_case(rng: &mut R, _u: f64) -> f64 { - ziggurat_tables::ZIG_EXP_R - rng.gen::().ln() - } - - ziggurat(rng, false, - &ziggurat_tables::ZIG_EXP_X, - &ziggurat_tables::ZIG_EXP_F, - pdf, zero_case) - } -} - -/// The exponential distribution `Exp(lambda)`. -/// -/// This distribution has density function: `f(x) = lambda * exp(-lambda * x)` -/// for `x > 0`. -/// -/// Note that [`Exp1`][crate::distributions::Exp1] is an optimised implementation for `lambda = 1`. -/// -/// # Example -/// -/// ``` -/// use rand::distributions::{Exp, Distribution}; -/// -/// let exp = Exp::new(2.0); -/// let v = exp.sample(&mut rand::thread_rng()); -/// println!("{} is from a Exp(2) distribution", v); -/// ``` -#[derive(Clone, Copy, Debug)] -pub struct Exp { - /// `lambda` stored as `1/lambda`, since this is what we scale by. - lambda_inverse: f64 -} - -impl Exp { - /// Construct a new `Exp` with the given shape parameter - /// `lambda`. Panics if `lambda <= 0`. - #[inline] - pub fn new(lambda: f64) -> Exp { - assert!(lambda > 0.0, "Exp::new called with `lambda` <= 0"); - Exp { lambda_inverse: 1.0 / lambda } - } -} - -impl Distribution for Exp { - fn sample(&self, rng: &mut R) -> f64 { - let n: f64 = rng.sample(Exp1); - n * self.lambda_inverse - } -} - -#[cfg(test)] -mod test { - use distributions::Distribution; - use super::Exp; - - #[test] - fn test_exp() { - let exp = Exp::new(10.0); - let mut rng = ::test::rng(221); - for _ in 0..1000 { - assert!(exp.sample(&mut rng) >= 0.0); - } - } - #[test] - #[should_panic] - fn test_exp_invalid_lambda_zero() { - Exp::new(0.0); - } - #[test] - #[should_panic] - fn test_exp_invalid_lambda_neg() { - Exp::new(-10.0); - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/float.rs b/vendor/registry-40351f815f426200/rand/src/distributions/float.rs deleted file mode 100644 index 0dd5caa4a..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/float.rs +++ /dev/null @@ -1,259 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Basic floating-point number distributions - -use core::mem; -use Rng; -use distributions::{Distribution, Standard}; -use distributions::utils::FloatSIMDUtils; -#[cfg(feature="simd_support")] -use packed_simd::*; - -/// A distribution to sample floating point numbers uniformly in the half-open -/// interval `(0, 1]`, i.e. including 1 but not 0. -/// -/// All values that can be generated are of the form `n * ε/2`. For `f32` -/// the 23 most significant random bits of a `u32` are used and for `f64` the -/// 53 most significant bits of a `u64` are used. The conversion uses the -/// multiplicative method. -/// -/// See also: [`Standard`] which samples from `[0, 1)`, [`Open01`] -/// which samples from `(0, 1)` and [`Uniform`] which samples from arbitrary -/// ranges. -/// -/// # Example -/// ``` -/// use rand::{thread_rng, Rng}; -/// use rand::distributions::OpenClosed01; -/// -/// let val: f32 = thread_rng().sample(OpenClosed01); -/// println!("f32 from (0, 1): {}", val); -/// ``` -/// -/// [`Standard`]: crate::distributions::Standard -/// [`Open01`]: crate::distributions::Open01 -/// [`Uniform`]: crate::distributions::uniform::Uniform -#[derive(Clone, Copy, Debug)] -pub struct OpenClosed01; - -/// A distribution to sample floating point numbers uniformly in the open -/// interval `(0, 1)`, i.e. not including either endpoint. -/// -/// All values that can be generated are of the form `n * ε + ε/2`. For `f32` -/// the 22 most significant random bits of an `u32` are used, for `f64` 52 from -/// an `u64`. The conversion uses a transmute-based method. -/// -/// See also: [`Standard`] which samples from `[0, 1)`, [`OpenClosed01`] -/// which samples from `(0, 1]` and [`Uniform`] which samples from arbitrary -/// ranges. -/// -/// # Example -/// ``` -/// use rand::{thread_rng, Rng}; -/// use rand::distributions::Open01; -/// -/// let val: f32 = thread_rng().sample(Open01); -/// println!("f32 from (0, 1): {}", val); -/// ``` -/// -/// [`Standard`]: crate::distributions::Standard -/// [`OpenClosed01`]: crate::distributions::OpenClosed01 -/// [`Uniform`]: crate::distributions::uniform::Uniform -#[derive(Clone, Copy, Debug)] -pub struct Open01; - - -pub(crate) trait IntoFloat { - type F; - - /// Helper method to combine the fraction and a contant exponent into a - /// float. - /// - /// Only the least significant bits of `self` may be set, 23 for `f32` and - /// 52 for `f64`. - /// The resulting value will fall in a range that depends on the exponent. - /// As an example the range with exponent 0 will be - /// [20..21), which is [1..2). - fn into_float_with_exponent(self, exponent: i32) -> Self::F; -} - -macro_rules! float_impls { - ($ty:ident, $uty:ident, $f_scalar:ident, $u_scalar:ty, - $fraction_bits:expr, $exponent_bias:expr) => { - impl IntoFloat for $uty { - type F = $ty; - #[inline(always)] - fn into_float_with_exponent(self, exponent: i32) -> $ty { - // The exponent is encoded using an offset-binary representation - let exponent_bits: $u_scalar = - (($exponent_bias + exponent) as $u_scalar) << $fraction_bits; - // TODO: use from_bits when min compiler > 1.25 (see #545) - // $ty::from_bits(self | exponent_bits) - unsafe{ mem::transmute(self | exponent_bits) } - } - } - - impl Distribution<$ty> for Standard { - fn sample(&self, rng: &mut R) -> $ty { - // Multiply-based method; 24/53 random bits; [0, 1) interval. - // We use the most significant bits because for simple RNGs - // those are usually more random. - let float_size = mem::size_of::<$f_scalar>() as u32 * 8; - let precision = $fraction_bits + 1; - let scale = 1.0 / ((1 as $u_scalar << precision) as $f_scalar); - - let value: $uty = rng.gen(); - let value = value >> (float_size - precision); - scale * $ty::cast_from_int(value) - } - } - - impl Distribution<$ty> for OpenClosed01 { - fn sample(&self, rng: &mut R) -> $ty { - // Multiply-based method; 24/53 random bits; (0, 1] interval. - // We use the most significant bits because for simple RNGs - // those are usually more random. - let float_size = mem::size_of::<$f_scalar>() as u32 * 8; - let precision = $fraction_bits + 1; - let scale = 1.0 / ((1 as $u_scalar << precision) as $f_scalar); - - let value: $uty = rng.gen(); - let value = value >> (float_size - precision); - // Add 1 to shift up; will not overflow because of right-shift: - scale * $ty::cast_from_int(value + 1) - } - } - - impl Distribution<$ty> for Open01 { - fn sample(&self, rng: &mut R) -> $ty { - // Transmute-based method; 23/52 random bits; (0, 1) interval. - // We use the most significant bits because for simple RNGs - // those are usually more random. - use core::$f_scalar::EPSILON; - let float_size = mem::size_of::<$f_scalar>() as u32 * 8; - - let value: $uty = rng.gen(); - let fraction = value >> (float_size - $fraction_bits); - fraction.into_float_with_exponent(0) - (1.0 - EPSILON / 2.0) - } - } - } -} - -float_impls! { f32, u32, f32, u32, 23, 127 } -float_impls! { f64, u64, f64, u64, 52, 1023 } - -#[cfg(feature="simd_support")] -float_impls! { f32x2, u32x2, f32, u32, 23, 127 } -#[cfg(feature="simd_support")] -float_impls! { f32x4, u32x4, f32, u32, 23, 127 } -#[cfg(feature="simd_support")] -float_impls! { f32x8, u32x8, f32, u32, 23, 127 } -#[cfg(feature="simd_support")] -float_impls! { f32x16, u32x16, f32, u32, 23, 127 } - -#[cfg(feature="simd_support")] -float_impls! { f64x2, u64x2, f64, u64, 52, 1023 } -#[cfg(feature="simd_support")] -float_impls! { f64x4, u64x4, f64, u64, 52, 1023 } -#[cfg(feature="simd_support")] -float_impls! { f64x8, u64x8, f64, u64, 52, 1023 } - - -#[cfg(test)] -mod tests { - use Rng; - use distributions::{Open01, OpenClosed01}; - use rngs::mock::StepRng; - #[cfg(feature="simd_support")] - use packed_simd::*; - - const EPSILON32: f32 = ::core::f32::EPSILON; - const EPSILON64: f64 = ::core::f64::EPSILON; - - macro_rules! test_f32 { - ($fnn:ident, $ty:ident, $ZERO:expr, $EPSILON:expr) => { - #[test] - fn $fnn() { - // Standard - let mut zeros = StepRng::new(0, 0); - assert_eq!(zeros.gen::<$ty>(), $ZERO); - let mut one = StepRng::new(1 << 8 | 1 << (8 + 32), 0); - assert_eq!(one.gen::<$ty>(), $EPSILON / 2.0); - let mut max = StepRng::new(!0, 0); - assert_eq!(max.gen::<$ty>(), 1.0 - $EPSILON / 2.0); - - // OpenClosed01 - let mut zeros = StepRng::new(0, 0); - assert_eq!(zeros.sample::<$ty, _>(OpenClosed01), - 0.0 + $EPSILON / 2.0); - let mut one = StepRng::new(1 << 8 | 1 << (8 + 32), 0); - assert_eq!(one.sample::<$ty, _>(OpenClosed01), $EPSILON); - let mut max = StepRng::new(!0, 0); - assert_eq!(max.sample::<$ty, _>(OpenClosed01), $ZERO + 1.0); - - // Open01 - let mut zeros = StepRng::new(0, 0); - assert_eq!(zeros.sample::<$ty, _>(Open01), 0.0 + $EPSILON / 2.0); - let mut one = StepRng::new(1 << 9 | 1 << (9 + 32), 0); - assert_eq!(one.sample::<$ty, _>(Open01), $EPSILON / 2.0 * 3.0); - let mut max = StepRng::new(!0, 0); - assert_eq!(max.sample::<$ty, _>(Open01), 1.0 - $EPSILON / 2.0); - } - } - } - test_f32! { f32_edge_cases, f32, 0.0, EPSILON32 } - #[cfg(feature="simd_support")] - test_f32! { f32x2_edge_cases, f32x2, f32x2::splat(0.0), f32x2::splat(EPSILON32) } - #[cfg(feature="simd_support")] - test_f32! { f32x4_edge_cases, f32x4, f32x4::splat(0.0), f32x4::splat(EPSILON32) } - #[cfg(feature="simd_support")] - test_f32! { f32x8_edge_cases, f32x8, f32x8::splat(0.0), f32x8::splat(EPSILON32) } - #[cfg(feature="simd_support")] - test_f32! { f32x16_edge_cases, f32x16, f32x16::splat(0.0), f32x16::splat(EPSILON32) } - - macro_rules! test_f64 { - ($fnn:ident, $ty:ident, $ZERO:expr, $EPSILON:expr) => { - #[test] - fn $fnn() { - // Standard - let mut zeros = StepRng::new(0, 0); - assert_eq!(zeros.gen::<$ty>(), $ZERO); - let mut one = StepRng::new(1 << 11, 0); - assert_eq!(one.gen::<$ty>(), $EPSILON / 2.0); - let mut max = StepRng::new(!0, 0); - assert_eq!(max.gen::<$ty>(), 1.0 - $EPSILON / 2.0); - - // OpenClosed01 - let mut zeros = StepRng::new(0, 0); - assert_eq!(zeros.sample::<$ty, _>(OpenClosed01), - 0.0 + $EPSILON / 2.0); - let mut one = StepRng::new(1 << 11, 0); - assert_eq!(one.sample::<$ty, _>(OpenClosed01), $EPSILON); - let mut max = StepRng::new(!0, 0); - assert_eq!(max.sample::<$ty, _>(OpenClosed01), $ZERO + 1.0); - - // Open01 - let mut zeros = StepRng::new(0, 0); - assert_eq!(zeros.sample::<$ty, _>(Open01), 0.0 + $EPSILON / 2.0); - let mut one = StepRng::new(1 << 12, 0); - assert_eq!(one.sample::<$ty, _>(Open01), $EPSILON / 2.0 * 3.0); - let mut max = StepRng::new(!0, 0); - assert_eq!(max.sample::<$ty, _>(Open01), 1.0 - $EPSILON / 2.0); - } - } - } - test_f64! { f64_edge_cases, f64, 0.0, EPSILON64 } - #[cfg(feature="simd_support")] - test_f64! { f64x2_edge_cases, f64x2, f64x2::splat(0.0), f64x2::splat(EPSILON64) } - #[cfg(feature="simd_support")] - test_f64! { f64x4_edge_cases, f64x4, f64x4::splat(0.0), f64x4::splat(EPSILON64) } - #[cfg(feature="simd_support")] - test_f64! { f64x8_edge_cases, f64x8, f64x8::splat(0.0), f64x8::splat(EPSILON64) } -} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/gamma.rs b/vendor/registry-40351f815f426200/rand/src/distributions/gamma.rs deleted file mode 100644 index 43ac2bc15..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/gamma.rs +++ /dev/null @@ -1,413 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2013 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The Gamma and derived distributions. - -use self::GammaRepr::*; -use self::ChiSquaredRepr::*; - -use Rng; -use distributions::normal::StandardNormal; -use distributions::{Distribution, Exp, Open01}; - -/// The Gamma distribution `Gamma(shape, scale)` distribution. -/// -/// The density function of this distribution is -/// -/// ```text -/// f(x) = x^(k - 1) * exp(-x / θ) / (Γ(k) * θ^k) -/// ``` -/// -/// where `Γ` is the Gamma function, `k` is the shape and `θ` is the -/// scale and both `k` and `θ` are strictly positive. -/// -/// The algorithm used is that described by Marsaglia & Tsang 2000[^1], -/// falling back to directly sampling from an Exponential for `shape -/// == 1`, and using the boosting technique described in that paper for -/// `shape < 1`. -/// -/// # Example -/// -/// ``` -/// use rand::distributions::{Distribution, Gamma}; -/// -/// let gamma = Gamma::new(2.0, 5.0); -/// let v = gamma.sample(&mut rand::thread_rng()); -/// println!("{} is from a Gamma(2, 5) distribution", v); -/// ``` -/// -/// [^1]: George Marsaglia and Wai Wan Tsang. 2000. "A Simple Method for -/// Generating Gamma Variables" *ACM Trans. Math. Softw.* 26, 3 -/// (September 2000), 363-372. -/// DOI:[10.1145/358407.358414](https://doi.acm.org/10.1145/358407.358414) -#[derive(Clone, Copy, Debug)] -pub struct Gamma { - repr: GammaRepr, -} - -#[derive(Clone, Copy, Debug)] -enum GammaRepr { - Large(GammaLargeShape), - One(Exp), - Small(GammaSmallShape) -} - -// These two helpers could be made public, but saving the -// match-on-Gamma-enum branch from using them directly (e.g. if one -// knows that the shape is always > 1) doesn't appear to be much -// faster. - -/// Gamma distribution where the shape parameter is less than 1. -/// -/// Note, samples from this require a compulsory floating-point `pow` -/// call, which makes it significantly slower than sampling from a -/// gamma distribution where the shape parameter is greater than or -/// equal to 1. -/// -/// See `Gamma` for sampling from a Gamma distribution with general -/// shape parameters. -#[derive(Clone, Copy, Debug)] -struct GammaSmallShape { - inv_shape: f64, - large_shape: GammaLargeShape -} - -/// Gamma distribution where the shape parameter is larger than 1. -/// -/// See `Gamma` for sampling from a Gamma distribution with general -/// shape parameters. -#[derive(Clone, Copy, Debug)] -struct GammaLargeShape { - scale: f64, - c: f64, - d: f64 -} - -impl Gamma { - /// Construct an object representing the `Gamma(shape, scale)` - /// distribution. - /// - /// Panics if `shape <= 0` or `scale <= 0`. - #[inline] - pub fn new(shape: f64, scale: f64) -> Gamma { - assert!(shape > 0.0, "Gamma::new called with shape <= 0"); - assert!(scale > 0.0, "Gamma::new called with scale <= 0"); - - let repr = if shape == 1.0 { - One(Exp::new(1.0 / scale)) - } else if shape < 1.0 { - Small(GammaSmallShape::new_raw(shape, scale)) - } else { - Large(GammaLargeShape::new_raw(shape, scale)) - }; - Gamma { repr } - } -} - -impl GammaSmallShape { - fn new_raw(shape: f64, scale: f64) -> GammaSmallShape { - GammaSmallShape { - inv_shape: 1. / shape, - large_shape: GammaLargeShape::new_raw(shape + 1.0, scale) - } - } -} - -impl GammaLargeShape { - fn new_raw(shape: f64, scale: f64) -> GammaLargeShape { - let d = shape - 1. / 3.; - GammaLargeShape { - scale, - c: 1. / (9. * d).sqrt(), - d - } - } -} - -impl Distribution for Gamma { - fn sample(&self, rng: &mut R) -> f64 { - match self.repr { - Small(ref g) => g.sample(rng), - One(ref g) => g.sample(rng), - Large(ref g) => g.sample(rng), - } - } -} -impl Distribution for GammaSmallShape { - fn sample(&self, rng: &mut R) -> f64 { - let u: f64 = rng.sample(Open01); - - self.large_shape.sample(rng) * u.powf(self.inv_shape) - } -} -impl Distribution for GammaLargeShape { - fn sample(&self, rng: &mut R) -> f64 { - loop { - let x = rng.sample(StandardNormal); - let v_cbrt = 1.0 + self.c * x; - if v_cbrt <= 0.0 { // a^3 <= 0 iff a <= 0 - continue - } - - let v = v_cbrt * v_cbrt * v_cbrt; - let u: f64 = rng.sample(Open01); - - let x_sqr = x * x; - if u < 1.0 - 0.0331 * x_sqr * x_sqr || - u.ln() < 0.5 * x_sqr + self.d * (1.0 - v + v.ln()) { - return self.d * v * self.scale - } - } - } -} - -/// The chi-squared distribution `χ²(k)`, where `k` is the degrees of -/// freedom. -/// -/// For `k > 0` integral, this distribution is the sum of the squares -/// of `k` independent standard normal random variables. For other -/// `k`, this uses the equivalent characterisation -/// `χ²(k) = Gamma(k/2, 2)`. -/// -/// # Example -/// -/// ``` -/// use rand::distributions::{ChiSquared, Distribution}; -/// -/// let chi = ChiSquared::new(11.0); -/// let v = chi.sample(&mut rand::thread_rng()); -/// println!("{} is from a χ²(11) distribution", v) -/// ``` -#[derive(Clone, Copy, Debug)] -pub struct ChiSquared { - repr: ChiSquaredRepr, -} - -#[derive(Clone, Copy, Debug)] -enum ChiSquaredRepr { - // k == 1, Gamma(alpha, ..) is particularly slow for alpha < 1, - // e.g. when alpha = 1/2 as it would be for this case, so special- - // casing and using the definition of N(0,1)^2 is faster. - DoFExactlyOne, - DoFAnythingElse(Gamma), -} - -impl ChiSquared { - /// Create a new chi-squared distribution with degrees-of-freedom - /// `k`. Panics if `k < 0`. - pub fn new(k: f64) -> ChiSquared { - let repr = if k == 1.0 { - DoFExactlyOne - } else { - assert!(k > 0.0, "ChiSquared::new called with `k` < 0"); - DoFAnythingElse(Gamma::new(0.5 * k, 2.0)) - }; - ChiSquared { repr } - } -} -impl Distribution for ChiSquared { - fn sample(&self, rng: &mut R) -> f64 { - match self.repr { - DoFExactlyOne => { - // k == 1 => N(0,1)^2 - let norm = rng.sample(StandardNormal); - norm * norm - } - DoFAnythingElse(ref g) => g.sample(rng) - } - } -} - -/// The Fisher F distribution `F(m, n)`. -/// -/// This distribution is equivalent to the ratio of two normalised -/// chi-squared distributions, that is, `F(m,n) = (χ²(m)/m) / -/// (χ²(n)/n)`. -/// -/// # Example -/// -/// ``` -/// use rand::distributions::{FisherF, Distribution}; -/// -/// let f = FisherF::new(2.0, 32.0); -/// let v = f.sample(&mut rand::thread_rng()); -/// println!("{} is from an F(2, 32) distribution", v) -/// ``` -#[derive(Clone, Copy, Debug)] -pub struct FisherF { - numer: ChiSquared, - denom: ChiSquared, - // denom_dof / numer_dof so that this can just be a straight - // multiplication, rather than a division. - dof_ratio: f64, -} - -impl FisherF { - /// Create a new `FisherF` distribution, with the given - /// parameter. Panics if either `m` or `n` are not positive. - pub fn new(m: f64, n: f64) -> FisherF { - assert!(m > 0.0, "FisherF::new called with `m < 0`"); - assert!(n > 0.0, "FisherF::new called with `n < 0`"); - - FisherF { - numer: ChiSquared::new(m), - denom: ChiSquared::new(n), - dof_ratio: n / m - } - } -} -impl Distribution for FisherF { - fn sample(&self, rng: &mut R) -> f64 { - self.numer.sample(rng) / self.denom.sample(rng) * self.dof_ratio - } -} - -/// The Student t distribution, `t(nu)`, where `nu` is the degrees of -/// freedom. -/// -/// # Example -/// -/// ``` -/// use rand::distributions::{StudentT, Distribution}; -/// -/// let t = StudentT::new(11.0); -/// let v = t.sample(&mut rand::thread_rng()); -/// println!("{} is from a t(11) distribution", v) -/// ``` -#[derive(Clone, Copy, Debug)] -pub struct StudentT { - chi: ChiSquared, - dof: f64 -} - -impl StudentT { - /// Create a new Student t distribution with `n` degrees of - /// freedom. Panics if `n <= 0`. - pub fn new(n: f64) -> StudentT { - assert!(n > 0.0, "StudentT::new called with `n <= 0`"); - StudentT { - chi: ChiSquared::new(n), - dof: n - } - } -} -impl Distribution for StudentT { - fn sample(&self, rng: &mut R) -> f64 { - let norm = rng.sample(StandardNormal); - norm * (self.dof / self.chi.sample(rng)).sqrt() - } -} - -/// The Beta distribution with shape parameters `alpha` and `beta`. -/// -/// # Example -/// -/// ``` -/// use rand::distributions::{Distribution, Beta}; -/// -/// let beta = Beta::new(2.0, 5.0); -/// let v = beta.sample(&mut rand::thread_rng()); -/// println!("{} is from a Beta(2, 5) distribution", v); -/// ``` -#[derive(Clone, Copy, Debug)] -pub struct Beta { - gamma_a: Gamma, - gamma_b: Gamma, -} - -impl Beta { - /// Construct an object representing the `Beta(alpha, beta)` - /// distribution. - /// - /// Panics if `shape <= 0` or `scale <= 0`. - pub fn new(alpha: f64, beta: f64) -> Beta { - assert!((alpha > 0.) & (beta > 0.)); - Beta { - gamma_a: Gamma::new(alpha, 1.), - gamma_b: Gamma::new(beta, 1.), - } - } -} - -impl Distribution for Beta { - fn sample(&self, rng: &mut R) -> f64 { - let x = self.gamma_a.sample(rng); - let y = self.gamma_b.sample(rng); - x / (x + y) - } -} - -#[cfg(test)] -mod test { - use distributions::Distribution; - use super::{Beta, ChiSquared, StudentT, FisherF}; - - #[test] - fn test_chi_squared_one() { - let chi = ChiSquared::new(1.0); - let mut rng = ::test::rng(201); - for _ in 0..1000 { - chi.sample(&mut rng); - } - } - #[test] - fn test_chi_squared_small() { - let chi = ChiSquared::new(0.5); - let mut rng = ::test::rng(202); - for _ in 0..1000 { - chi.sample(&mut rng); - } - } - #[test] - fn test_chi_squared_large() { - let chi = ChiSquared::new(30.0); - let mut rng = ::test::rng(203); - for _ in 0..1000 { - chi.sample(&mut rng); - } - } - #[test] - #[should_panic] - fn test_chi_squared_invalid_dof() { - ChiSquared::new(-1.0); - } - - #[test] - fn test_f() { - let f = FisherF::new(2.0, 32.0); - let mut rng = ::test::rng(204); - for _ in 0..1000 { - f.sample(&mut rng); - } - } - - #[test] - fn test_t() { - let t = StudentT::new(11.0); - let mut rng = ::test::rng(205); - for _ in 0..1000 { - t.sample(&mut rng); - } - } - - #[test] - fn test_beta() { - let beta = Beta::new(1.0, 2.0); - let mut rng = ::test::rng(201); - for _ in 0..1000 { - beta.sample(&mut rng); - } - } - - #[test] - #[should_panic] - fn test_beta_invalid_dof() { - Beta::new(0., 0.); - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/integer.rs b/vendor/registry-40351f815f426200/rand/src/distributions/integer.rs deleted file mode 100644 index 7e408dbf1..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/integer.rs +++ /dev/null @@ -1,161 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The implementations of the `Standard` distribution for integer types. - -use {Rng}; -use distributions::{Distribution, Standard}; -#[cfg(feature="simd_support")] -use packed_simd::*; -#[cfg(all(target_arch = "x86", feature="nightly"))] -use core::arch::x86::*; -#[cfg(all(target_arch = "x86_64", feature="nightly"))] -use core::arch::x86_64::*; - -impl Distribution for Standard { - #[inline] - fn sample(&self, rng: &mut R) -> u8 { - rng.next_u32() as u8 - } -} - -impl Distribution for Standard { - #[inline] - fn sample(&self, rng: &mut R) -> u16 { - rng.next_u32() as u16 - } -} - -impl Distribution for Standard { - #[inline] - fn sample(&self, rng: &mut R) -> u32 { - rng.next_u32() - } -} - -impl Distribution for Standard { - #[inline] - fn sample(&self, rng: &mut R) -> u64 { - rng.next_u64() - } -} - -#[cfg(all(rustc_1_26, not(target_os = "emscripten")))] -impl Distribution for Standard { - #[inline] - fn sample(&self, rng: &mut R) -> u128 { - // Use LE; we explicitly generate one value before the next. - let x = rng.next_u64() as u128; - let y = rng.next_u64() as u128; - (y << 64) | x - } -} - -impl Distribution for Standard { - #[inline] - #[cfg(any(target_pointer_width = "32", target_pointer_width = "16"))] - fn sample(&self, rng: &mut R) -> usize { - rng.next_u32() as usize - } - - #[inline] - #[cfg(target_pointer_width = "64")] - fn sample(&self, rng: &mut R) -> usize { - rng.next_u64() as usize - } -} - -macro_rules! impl_int_from_uint { - ($ty:ty, $uty:ty) => { - impl Distribution<$ty> for Standard { - #[inline] - fn sample(&self, rng: &mut R) -> $ty { - rng.gen::<$uty>() as $ty - } - } - } -} - -impl_int_from_uint! { i8, u8 } -impl_int_from_uint! { i16, u16 } -impl_int_from_uint! { i32, u32 } -impl_int_from_uint! { i64, u64 } -#[cfg(all(rustc_1_26, not(target_os = "emscripten")))] impl_int_from_uint! { i128, u128 } -impl_int_from_uint! { isize, usize } - -#[cfg(feature="simd_support")] -macro_rules! simd_impl { - ($(($intrinsic:ident, $vec:ty),)+) => {$( - impl Distribution<$intrinsic> for Standard { - #[inline] - fn sample(&self, rng: &mut R) -> $intrinsic { - $intrinsic::from_bits(rng.gen::<$vec>()) - } - } - )+}; - - ($bits:expr,) => {}; - ($bits:expr, $ty:ty, $($ty_more:ty,)*) => { - simd_impl!($bits, $($ty_more,)*); - - impl Distribution<$ty> for Standard { - #[inline] - fn sample(&self, rng: &mut R) -> $ty { - let mut vec: $ty = Default::default(); - unsafe { - let ptr = &mut vec; - let b_ptr = &mut *(ptr as *mut $ty as *mut [u8; $bits/8]); - rng.fill_bytes(b_ptr); - } - vec.to_le() - } - } - }; -} - -#[cfg(feature="simd_support")] -simd_impl!(16, u8x2, i8x2,); -#[cfg(feature="simd_support")] -simd_impl!(32, u8x4, i8x4, u16x2, i16x2,); -#[cfg(feature="simd_support")] -simd_impl!(64, u8x8, i8x8, u16x4, i16x4, u32x2, i32x2,); -#[cfg(feature="simd_support")] -simd_impl!(128, u8x16, i8x16, u16x8, i16x8, u32x4, i32x4, u64x2, i64x2,); -#[cfg(feature="simd_support")] -simd_impl!(256, u8x32, i8x32, u16x16, i16x16, u32x8, i32x8, u64x4, i64x4,); -#[cfg(feature="simd_support")] -simd_impl!(512, u8x64, i8x64, u16x32, i16x32, u32x16, i32x16, u64x8, i64x8,); -#[cfg(all(feature="simd_support", feature="nightly", any(target_arch="x86", target_arch="x86_64")))] -simd_impl!((__m64, u8x8), (__m128i, u8x16), (__m256i, u8x32),); - -#[cfg(test)] -mod tests { - use Rng; - use distributions::{Standard}; - - #[test] - fn test_integers() { - let mut rng = ::test::rng(806); - - rng.sample::(Standard); - rng.sample::(Standard); - rng.sample::(Standard); - rng.sample::(Standard); - rng.sample::(Standard); - #[cfg(all(rustc_1_26, not(target_os = "emscripten")))] - rng.sample::(Standard); - - rng.sample::(Standard); - rng.sample::(Standard); - rng.sample::(Standard); - rng.sample::(Standard); - rng.sample::(Standard); - #[cfg(all(rustc_1_26, not(target_os = "emscripten")))] - rng.sample::(Standard); - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/mod.rs b/vendor/registry-40351f815f426200/rand/src/distributions/mod.rs deleted file mode 100644 index 6e2d6c7ba..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/mod.rs +++ /dev/null @@ -1,608 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2013-2017 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Generating random samples from probability distributions. -//! -//! This module is the home of the [`Distribution`] trait and several of its -//! implementations. It is the workhorse behind some of the convenient -//! functionality of the [`Rng`] trait, including [`gen`], [`gen_range`] and -//! of course [`sample`]. -//! -//! Abstractly, a [probability distribution] describes the probability of -//! occurance of each value in its sample space. -//! -//! More concretely, an implementation of `Distribution` for type `X` is an -//! algorithm for choosing values from the sample space (a subset of `T`) -//! according to the distribution `X` represents, using an external source of -//! randomness (an RNG supplied to the `sample` function). -//! -//! A type `X` may implement `Distribution` for multiple types `T`. -//! Any type implementing [`Distribution`] is stateless (i.e. immutable), -//! but it may have internal parameters set at construction time (for example, -//! [`Uniform`] allows specification of its sample space as a range within `T`). -//! -//! -//! # The `Standard` distribution -//! -//! The [`Standard`] distribution is important to mention. This is the -//! distribution used by [`Rng::gen()`] and represents the "default" way to -//! produce a random value for many different types, including most primitive -//! types, tuples, arrays, and a few derived types. See the documentation of -//! [`Standard`] for more details. -//! -//! Implementing `Distribution` for [`Standard`] for user types `T` makes it -//! possible to generate type `T` with [`Rng::gen()`], and by extension also -//! with the [`random()`] function. -//! -//! -//! # Distribution to sample from a `Uniform` range -//! -//! The [`Uniform`] distribution is more flexible than [`Standard`], but also -//! more specialised: it supports fewer target types, but allows the sample -//! space to be specified as an arbitrary range within its target type `T`. -//! Both [`Standard`] and [`Uniform`] are in some sense uniform distributions. -//! -//! Values may be sampled from this distribution using [`Rng::gen_range`] or -//! by creating a distribution object with [`Uniform::new`], -//! [`Uniform::new_inclusive`] or `From`. When the range limits are not -//! known at compile time it is typically faster to reuse an existing -//! distribution object than to call [`Rng::gen_range`]. -//! -//! User types `T` may also implement `Distribution` for [`Uniform`], -//! although this is less straightforward than for [`Standard`] (see the -//! documentation in the [`uniform`] module. Doing so enables generation of -//! values of type `T` with [`Rng::gen_range`]. -//! -//! -//! # Other distributions -//! -//! There are surprisingly many ways to uniformly generate random floats. A -//! range between 0 and 1 is standard, but the exact bounds (open vs closed) -//! and accuracy differ. In addition to the [`Standard`] distribution Rand offers -//! [`Open01`] and [`OpenClosed01`]. See "Floating point implementation" section of -//! [`Standard`] documentation for more details. -//! -//! [`Alphanumeric`] is a simple distribution to sample random letters and -//! numbers of the `char` type; in contrast [`Standard`] may sample any valid -//! `char`. -//! -//! [`WeightedIndex`] can be used to do weighted sampling from a set of items, -//! such as from an array. -//! -//! # Non-uniform probability distributions -//! -//! Rand currently provides the following probability distributions: -//! -//! - Related to real-valued quantities that grow linearly -//! (e.g. errors, offsets): -//! - [`Normal`] distribution, and [`StandardNormal`] as a primitive -//! - [`Cauchy`] distribution -//! - Related to Bernoulli trials (yes/no events, with a given probability): -//! - [`Binomial`] distribution -//! - [`Bernoulli`] distribution, similar to [`Rng::gen_bool`]. -//! - Related to positive real-valued quantities that grow exponentially -//! (e.g. prices, incomes, populations): -//! - [`LogNormal`] distribution -//! - Related to the occurrence of independent events at a given rate: -//! - [`Pareto`] distribution -//! - [`Poisson`] distribution -//! - [`Exp`]onential distribution, and [`Exp1`] as a primitive -//! - [`Weibull`] distribution -//! - Gamma and derived distributions: -//! - [`Gamma`] distribution -//! - [`ChiSquared`] distribution -//! - [`StudentT`] distribution -//! - [`FisherF`] distribution -//! - Triangular distribution: -//! - [`Beta`] distribution -//! - [`Triangular`] distribution -//! - Multivariate probability distributions -//! - [`Dirichlet`] distribution -//! - [`UnitSphereSurface`] distribution -//! - [`UnitCircle`] distribution -//! -//! # Examples -//! -//! Sampling from a distribution: -//! -//! ``` -//! use rand::{thread_rng, Rng}; -//! use rand::distributions::Exp; -//! -//! let exp = Exp::new(2.0); -//! let v = thread_rng().sample(exp); -//! println!("{} is from an Exp(2) distribution", v); -//! ``` -//! -//! Implementing the [`Standard`] distribution for a user type: -//! -//! ``` -//! # #![allow(dead_code)] -//! use rand::Rng; -//! use rand::distributions::{Distribution, Standard}; -//! -//! struct MyF32 { -//! x: f32, -//! } -//! -//! impl Distribution for Standard { -//! fn sample(&self, rng: &mut R) -> MyF32 { -//! MyF32 { x: rng.gen() } -//! } -//! } -//! ``` -//! -//! -//! [probability distribution]: https://en.wikipedia.org/wiki/Probability_distribution -//! [`gen_range`]: Rng::gen_range -//! [`gen`]: Rng::gen -//! [`sample`]: Rng::sample -//! [`new_inclusive`]: Uniform::new_inclusive -//! [`Alphanumeric`]: distributions::Alphanumeric -//! [`Bernoulli`]: distributions::Bernoulli -//! [`Beta`]: distributions::Beta -//! [`Binomial`]: distributions::Binomial -//! [`Cauchy`]: distributions::Cauchy -//! [`ChiSquared`]: distributions::ChiSquared -//! [`Dirichlet`]: distributions::Dirichlet -//! [`Exp`]: distributions::Exp -//! [`Exp1`]: distributions::Exp1 -//! [`FisherF`]: distributions::FisherF -//! [`Gamma`]: distributions::Gamma -//! [`LogNormal`]: distributions::LogNormal -//! [`Normal`]: distributions::Normal -//! [`Open01`]: distributions::Open01 -//! [`OpenClosed01`]: distributions::OpenClosed01 -//! [`Pareto`]: distributions::Pareto -//! [`Poisson`]: distributions::Poisson -//! [`Standard`]: distributions::Standard -//! [`StandardNormal`]: distributions::StandardNormal -//! [`StudentT`]: distributions::StudentT -//! [`Triangular`]: distributions::Triangular -//! [`Uniform`]: distributions::Uniform -//! [`Uniform::new`]: distributions::Uniform::new -//! [`Uniform::new_inclusive`]: distributions::Uniform::new_inclusive -//! [`UnitSphereSurface`]: distributions::UnitSphereSurface -//! [`UnitCircle`]: distributions::UnitCircle -//! [`Weibull`]: distributions::Weibull -//! [`WeightedIndex`]: distributions::WeightedIndex - -#[cfg(any(rustc_1_26, features="nightly"))] -use core::iter; -use Rng; - -pub use self::other::Alphanumeric; -#[doc(inline)] pub use self::uniform::Uniform; -pub use self::float::{OpenClosed01, Open01}; -pub use self::bernoulli::Bernoulli; -#[cfg(feature="alloc")] pub use self::weighted::{WeightedIndex, WeightedError}; -#[cfg(feature="std")] pub use self::unit_sphere::UnitSphereSurface; -#[cfg(feature="std")] pub use self::unit_circle::UnitCircle; -#[cfg(feature="std")] pub use self::gamma::{Gamma, ChiSquared, FisherF, - StudentT, Beta}; -#[cfg(feature="std")] pub use self::normal::{Normal, LogNormal, StandardNormal}; -#[cfg(feature="std")] pub use self::exponential::{Exp, Exp1}; -#[cfg(feature="std")] pub use self::pareto::Pareto; -#[cfg(feature="std")] pub use self::poisson::Poisson; -#[cfg(feature="std")] pub use self::binomial::Binomial; -#[cfg(feature="std")] pub use self::cauchy::Cauchy; -#[cfg(feature="std")] pub use self::dirichlet::Dirichlet; -#[cfg(feature="std")] pub use self::triangular::Triangular; -#[cfg(feature="std")] pub use self::weibull::Weibull; - -pub mod uniform; -mod bernoulli; -#[cfg(feature="alloc")] mod weighted; -#[cfg(feature="std")] mod unit_sphere; -#[cfg(feature="std")] mod unit_circle; -#[cfg(feature="std")] mod gamma; -#[cfg(feature="std")] mod normal; -#[cfg(feature="std")] mod exponential; -#[cfg(feature="std")] mod pareto; -#[cfg(feature="std")] mod poisson; -#[cfg(feature="std")] mod binomial; -#[cfg(feature="std")] mod cauchy; -#[cfg(feature="std")] mod dirichlet; -#[cfg(feature="std")] mod triangular; -#[cfg(feature="std")] mod weibull; - -mod float; -mod integer; -mod other; -mod utils; -#[cfg(feature="std")] mod ziggurat_tables; - -/// Types (distributions) that can be used to create a random instance of `T`. -/// -/// It is possible to sample from a distribution through both the -/// `Distribution` and [`Rng`] traits, via `distr.sample(&mut rng)` and -/// `rng.sample(distr)`. They also both offer the [`sample_iter`] method, which -/// produces an iterator that samples from the distribution. -/// -/// All implementations are expected to be immutable; this has the significant -/// advantage of not needing to consider thread safety, and for most -/// distributions efficient state-less sampling algorithms are available. -/// -/// [`sample_iter`]: Distribution::method.sample_iter -pub trait Distribution { - /// Generate a random value of `T`, using `rng` as the source of randomness. - fn sample(&self, rng: &mut R) -> T; - - /// Create an iterator that generates random values of `T`, using `rng` as - /// the source of randomness. - /// - /// # Example - /// - /// ``` - /// use rand::thread_rng; - /// use rand::distributions::{Distribution, Alphanumeric, Uniform, Standard}; - /// - /// let mut rng = thread_rng(); - /// - /// // Vec of 16 x f32: - /// let v: Vec = Standard.sample_iter(&mut rng).take(16).collect(); - /// - /// // String: - /// let s: String = Alphanumeric.sample_iter(&mut rng).take(7).collect(); - /// - /// // Dice-rolling: - /// let die_range = Uniform::new_inclusive(1, 6); - /// let mut roll_die = die_range.sample_iter(&mut rng); - /// while roll_die.next().unwrap() != 6 { - /// println!("Not a 6; rolling again!"); - /// } - /// ``` - fn sample_iter<'a, R>(&'a self, rng: &'a mut R) -> DistIter<'a, Self, R, T> - where Self: Sized, R: Rng - { - DistIter { - distr: self, - rng: rng, - phantom: ::core::marker::PhantomData, - } - } -} - -impl<'a, T, D: Distribution> Distribution for &'a D { - fn sample(&self, rng: &mut R) -> T { - (*self).sample(rng) - } -} - - -/// An iterator that generates random values of `T` with distribution `D`, -/// using `R` as the source of randomness. -/// -/// This `struct` is created by the [`sample_iter`] method on [`Distribution`]. -/// See its documentation for more. -/// -/// [`sample_iter`]: Distribution::sample_iter -#[derive(Debug)] -pub struct DistIter<'a, D: 'a, R: 'a, T> { - distr: &'a D, - rng: &'a mut R, - phantom: ::core::marker::PhantomData, -} - -impl<'a, D, R, T> Iterator for DistIter<'a, D, R, T> - where D: Distribution, R: Rng + 'a -{ - type Item = T; - - #[inline(always)] - fn next(&mut self) -> Option { - Some(self.distr.sample(self.rng)) - } - - fn size_hint(&self) -> (usize, Option) { - (usize::max_value(), None) - } -} - -#[cfg(rustc_1_26)] -impl<'a, D, R, T> iter::FusedIterator for DistIter<'a, D, R, T> - where D: Distribution, R: Rng + 'a {} - -#[cfg(features = "nightly")] -impl<'a, D, R, T> iter::TrustedLen for DistIter<'a, D, R, T> - where D: Distribution, R: Rng + 'a {} - - -/// A generic random value distribution, implemented for many primitive types. -/// Usually generates values with a numerically uniform distribution, and with a -/// range appropriate to the type. -/// -/// ## Built-in Implementations -/// -/// Assuming the provided `Rng` is well-behaved, these implementations -/// generate values with the following ranges and distributions: -/// -/// * Integers (`i32`, `u32`, `isize`, `usize`, etc.): Uniformly distributed -/// over all values of the type. -/// * `char`: Uniformly distributed over all Unicode scalar values, i.e. all -/// code points in the range `0...0x10_FFFF`, except for the range -/// `0xD800...0xDFFF` (the surrogate code points). This includes -/// unassigned/reserved code points. -/// * `bool`: Generates `false` or `true`, each with probability 0.5. -/// * Floating point types (`f32` and `f64`): Uniformly distributed in the -/// half-open range `[0, 1)`. See notes below. -/// * Wrapping integers (`Wrapping`), besides the type identical to their -/// normal integer variants. -/// -/// The following aggregate types also implement the distribution `Standard` as -/// long as their component types implement it: -/// -/// * Tuples and arrays: Each element of the tuple or array is generated -/// independently, using the `Standard` distribution recursively. -/// * `Option` where `Standard` is implemented for `T`: Returns `None` with -/// probability 0.5; otherwise generates a random `x: T` and returns `Some(x)`. -/// -/// # Example -/// ``` -/// use rand::prelude::*; -/// use rand::distributions::Standard; -/// -/// let val: f32 = SmallRng::from_entropy().sample(Standard); -/// println!("f32 from [0, 1): {}", val); -/// ``` -/// -/// # Floating point implementation -/// The floating point implementations for `Standard` generate a random value in -/// the half-open interval `[0, 1)`, i.e. including 0 but not 1. -/// -/// All values that can be generated are of the form `n * ε/2`. For `f32` -/// the 23 most significant random bits of a `u32` are used and for `f64` the -/// 53 most significant bits of a `u64` are used. The conversion uses the -/// multiplicative method: `(rng.gen::<$uty>() >> N) as $ty * (ε/2)`. -/// -/// See also: [`Open01`] which samples from `(0, 1)`, [`OpenClosed01`] which -/// samples from `(0, 1]` and `Rng::gen_range(0, 1)` which also samples from -/// `[0, 1)`. Note that `Open01` and `gen_range` (which uses [`Uniform`]) use -/// transmute-based methods which yield 1 bit less precision but may perform -/// faster on some architectures (on modern Intel CPUs all methods have -/// approximately equal performance). -/// -/// [`Uniform`]: uniform::Uniform -#[derive(Clone, Copy, Debug)] -pub struct Standard; - - -/// A value with a particular weight for use with `WeightedChoice`. -#[deprecated(since="0.6.0", note="use WeightedIndex instead")] -#[allow(deprecated)] -#[derive(Copy, Clone, Debug)] -pub struct Weighted { - /// The numerical weight of this item - pub weight: u32, - /// The actual item which is being weighted - pub item: T, -} - -/// A distribution that selects from a finite collection of weighted items. -/// -/// Deprecated: use [`WeightedIndex`] instead. -/// -/// [`WeightedIndex`]: WeightedIndex -#[deprecated(since="0.6.0", note="use WeightedIndex instead")] -#[allow(deprecated)] -#[derive(Debug)] -pub struct WeightedChoice<'a, T:'a> { - items: &'a mut [Weighted], - weight_range: Uniform, -} - -#[deprecated(since="0.6.0", note="use WeightedIndex instead")] -#[allow(deprecated)] -impl<'a, T: Clone> WeightedChoice<'a, T> { - /// Create a new `WeightedChoice`. - /// - /// Panics if: - /// - /// - `items` is empty - /// - the total weight is 0 - /// - the total weight is larger than a `u32` can contain. - pub fn new(items: &'a mut [Weighted]) -> WeightedChoice<'a, T> { - // strictly speaking, this is subsumed by the total weight == 0 case - assert!(!items.is_empty(), "WeightedChoice::new called with no items"); - - let mut running_total: u32 = 0; - - // we convert the list from individual weights to cumulative - // weights so we can binary search. This *could* drop elements - // with weight == 0 as an optimisation. - for item in items.iter_mut() { - running_total = match running_total.checked_add(item.weight) { - Some(n) => n, - None => panic!("WeightedChoice::new called with a total weight \ - larger than a u32 can contain") - }; - - item.weight = running_total; - } - assert!(running_total != 0, "WeightedChoice::new called with a total weight of 0"); - - WeightedChoice { - items, - // we're likely to be generating numbers in this range - // relatively often, so might as well cache it - weight_range: Uniform::new(0, running_total) - } - } -} - -#[deprecated(since="0.6.0", note="use WeightedIndex instead")] -#[allow(deprecated)] -impl<'a, T: Clone> Distribution for WeightedChoice<'a, T> { - fn sample(&self, rng: &mut R) -> T { - // we want to find the first element that has cumulative - // weight > sample_weight, which we do by binary since the - // cumulative weights of self.items are sorted. - - // choose a weight in [0, total_weight) - let sample_weight = self.weight_range.sample(rng); - - // short circuit when it's the first item - if sample_weight < self.items[0].weight { - return self.items[0].item.clone(); - } - - let mut idx = 0; - let mut modifier = self.items.len(); - - // now we know that every possibility has an element to the - // left, so we can just search for the last element that has - // cumulative weight <= sample_weight, then the next one will - // be "it". (Note that this greatest element will never be the - // last element of the vector, since sample_weight is chosen - // in [0, total_weight) and the cumulative weight of the last - // one is exactly the total weight.) - while modifier > 1 { - let i = idx + modifier / 2; - if self.items[i].weight <= sample_weight { - // we're small, so look to the right, but allow this - // exact element still. - idx = i; - // we need the `/ 2` to round up otherwise we'll drop - // the trailing elements when `modifier` is odd. - modifier += 1; - } else { - // otherwise we're too big, so go left. (i.e. do - // nothing) - } - modifier /= 2; - } - self.items[idx + 1].item.clone() - } -} - -#[cfg(test)] -mod tests { - use rngs::mock::StepRng; - #[allow(deprecated)] - use super::{WeightedChoice, Weighted, Distribution}; - - #[test] - #[allow(deprecated)] - fn test_weighted_choice() { - // this makes assumptions about the internal implementation of - // WeightedChoice. It may fail when the implementation in - // `distributions::uniform::UniformInt` changes. - - macro_rules! t { - ($items:expr, $expected:expr) => {{ - let mut items = $items; - let mut total_weight = 0; - for item in &items { total_weight += item.weight; } - - let wc = WeightedChoice::new(&mut items); - let expected = $expected; - - // Use extremely large steps between the random numbers, because - // we test with small ranges and `UniformInt` is designed to prefer - // the most significant bits. - let mut rng = StepRng::new(0, !0 / (total_weight as u64)); - - for &val in expected.iter() { - assert_eq!(wc.sample(&mut rng), val) - } - }} - } - - t!([Weighted { weight: 1, item: 10}], [10]); - - // skip some - t!([Weighted { weight: 0, item: 20}, - Weighted { weight: 2, item: 21}, - Weighted { weight: 0, item: 22}, - Weighted { weight: 1, item: 23}], - [21, 21, 23]); - - // different weights - t!([Weighted { weight: 4, item: 30}, - Weighted { weight: 3, item: 31}], - [30, 31, 30, 31, 30, 31, 30]); - - // check that we're binary searching - // correctly with some vectors of odd - // length. - t!([Weighted { weight: 1, item: 40}, - Weighted { weight: 1, item: 41}, - Weighted { weight: 1, item: 42}, - Weighted { weight: 1, item: 43}, - Weighted { weight: 1, item: 44}], - [40, 41, 42, 43, 44]); - t!([Weighted { weight: 1, item: 50}, - Weighted { weight: 1, item: 51}, - Weighted { weight: 1, item: 52}, - Weighted { weight: 1, item: 53}, - Weighted { weight: 1, item: 54}, - Weighted { weight: 1, item: 55}, - Weighted { weight: 1, item: 56}], - [50, 54, 51, 55, 52, 56, 53]); - } - - #[test] - #[allow(deprecated)] - fn test_weighted_clone_initialization() { - let initial : Weighted = Weighted {weight: 1, item: 1}; - let clone = initial.clone(); - assert_eq!(initial.weight, clone.weight); - assert_eq!(initial.item, clone.item); - } - - #[test] #[should_panic] - #[allow(deprecated)] - fn test_weighted_clone_change_weight() { - let initial : Weighted = Weighted {weight: 1, item: 1}; - let mut clone = initial.clone(); - clone.weight = 5; - assert_eq!(initial.weight, clone.weight); - } - - #[test] #[should_panic] - #[allow(deprecated)] - fn test_weighted_clone_change_item() { - let initial : Weighted = Weighted {weight: 1, item: 1}; - let mut clone = initial.clone(); - clone.item = 5; - assert_eq!(initial.item, clone.item); - - } - - #[test] #[should_panic] - #[allow(deprecated)] - fn test_weighted_choice_no_items() { - WeightedChoice::::new(&mut []); - } - #[test] #[should_panic] - #[allow(deprecated)] - fn test_weighted_choice_zero_weight() { - WeightedChoice::new(&mut [Weighted { weight: 0, item: 0}, - Weighted { weight: 0, item: 1}]); - } - #[test] #[should_panic] - #[allow(deprecated)] - fn test_weighted_choice_weight_overflows() { - let x = ::core::u32::MAX / 2; // x + x + 2 is the overflow - WeightedChoice::new(&mut [Weighted { weight: x, item: 0 }, - Weighted { weight: 1, item: 1 }, - Weighted { weight: x, item: 2 }, - Weighted { weight: 1, item: 3 }]); - } - - #[cfg(feature="std")] - #[test] - fn test_distributions_iter() { - use distributions::Normal; - let mut rng = ::test::rng(210); - let distr = Normal::new(10.0, 10.0); - let results: Vec<_> = distr.sample_iter(&mut rng).take(100).collect(); - println!("{:?}", results); - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/normal.rs b/vendor/registry-40351f815f426200/rand/src/distributions/normal.rs deleted file mode 100644 index 089865e0a..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/normal.rs +++ /dev/null @@ -1,197 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2013 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The normal and derived distributions. - -use Rng; -use distributions::{ziggurat_tables, Distribution, Open01}; -use distributions::utils::ziggurat; - -/// Samples floating-point numbers according to the normal distribution -/// `N(0, 1)` (a.k.a. a standard normal, or Gaussian). This is equivalent to -/// `Normal::new(0.0, 1.0)` but faster. -/// -/// See `Normal` for the general normal distribution. -/// -/// Implemented via the ZIGNOR variant[^1] of the Ziggurat method. -/// -/// [^1]: Jurgen A. Doornik (2005). [*An Improved Ziggurat Method to -/// Generate Normal Random Samples*]( -/// https://www.doornik.com/research/ziggurat.pdf). -/// Nuffield College, Oxford -/// -/// # Example -/// ``` -/// use rand::prelude::*; -/// use rand::distributions::StandardNormal; -/// -/// let val: f64 = SmallRng::from_entropy().sample(StandardNormal); -/// println!("{}", val); -/// ``` -#[derive(Clone, Copy, Debug)] -pub struct StandardNormal; - -impl Distribution for StandardNormal { - fn sample(&self, rng: &mut R) -> f64 { - #[inline] - fn pdf(x: f64) -> f64 { - (-x*x/2.0).exp() - } - #[inline] - fn zero_case(rng: &mut R, u: f64) -> f64 { - // compute a random number in the tail by hand - - // strange initial conditions, because the loop is not - // do-while, so the condition should be true on the first - // run, they get overwritten anyway (0 < 1, so these are - // good). - let mut x = 1.0f64; - let mut y = 0.0f64; - - while -2.0 * y < x * x { - let x_: f64 = rng.sample(Open01); - let y_: f64 = rng.sample(Open01); - - x = x_.ln() / ziggurat_tables::ZIG_NORM_R; - y = y_.ln(); - } - - if u < 0.0 { x - ziggurat_tables::ZIG_NORM_R } else { ziggurat_tables::ZIG_NORM_R - x } - } - - ziggurat(rng, true, // this is symmetric - &ziggurat_tables::ZIG_NORM_X, - &ziggurat_tables::ZIG_NORM_F, - pdf, zero_case) - } -} - -/// The normal distribution `N(mean, std_dev**2)`. -/// -/// This uses the ZIGNOR variant of the Ziggurat method, see [`StandardNormal`] -/// for more details. -/// -/// Note that [`StandardNormal`] is an optimised implementation for mean 0, and -/// standard deviation 1. -/// -/// # Example -/// -/// ``` -/// use rand::distributions::{Normal, Distribution}; -/// -/// // mean 2, standard deviation 3 -/// let normal = Normal::new(2.0, 3.0); -/// let v = normal.sample(&mut rand::thread_rng()); -/// println!("{} is from a N(2, 9) distribution", v) -/// ``` -/// -/// [`StandardNormal`]: crate::distributions::StandardNormal -#[derive(Clone, Copy, Debug)] -pub struct Normal { - mean: f64, - std_dev: f64, -} - -impl Normal { - /// Construct a new `Normal` distribution with the given mean and - /// standard deviation. - /// - /// # Panics - /// - /// Panics if `std_dev < 0`. - #[inline] - pub fn new(mean: f64, std_dev: f64) -> Normal { - assert!(std_dev >= 0.0, "Normal::new called with `std_dev` < 0"); - Normal { - mean, - std_dev - } - } -} -impl Distribution for Normal { - fn sample(&self, rng: &mut R) -> f64 { - let n = rng.sample(StandardNormal); - self.mean + self.std_dev * n - } -} - - -/// The log-normal distribution `ln N(mean, std_dev**2)`. -/// -/// If `X` is log-normal distributed, then `ln(X)` is `N(mean, std_dev**2)` -/// distributed. -/// -/// # Example -/// -/// ``` -/// use rand::distributions::{LogNormal, Distribution}; -/// -/// // mean 2, standard deviation 3 -/// let log_normal = LogNormal::new(2.0, 3.0); -/// let v = log_normal.sample(&mut rand::thread_rng()); -/// println!("{} is from an ln N(2, 9) distribution", v) -/// ``` -#[derive(Clone, Copy, Debug)] -pub struct LogNormal { - norm: Normal -} - -impl LogNormal { - /// Construct a new `LogNormal` distribution with the given mean - /// and standard deviation. - /// - /// # Panics - /// - /// Panics if `std_dev < 0`. - #[inline] - pub fn new(mean: f64, std_dev: f64) -> LogNormal { - assert!(std_dev >= 0.0, "LogNormal::new called with `std_dev` < 0"); - LogNormal { norm: Normal::new(mean, std_dev) } - } -} -impl Distribution for LogNormal { - fn sample(&self, rng: &mut R) -> f64 { - self.norm.sample(rng).exp() - } -} - -#[cfg(test)] -mod tests { - use distributions::Distribution; - use super::{Normal, LogNormal}; - - #[test] - fn test_normal() { - let norm = Normal::new(10.0, 10.0); - let mut rng = ::test::rng(210); - for _ in 0..1000 { - norm.sample(&mut rng); - } - } - #[test] - #[should_panic] - fn test_normal_invalid_sd() { - Normal::new(10.0, -1.0); - } - - - #[test] - fn test_log_normal() { - let lnorm = LogNormal::new(10.0, 10.0); - let mut rng = ::test::rng(211); - for _ in 0..1000 { - lnorm.sample(&mut rng); - } - } - #[test] - #[should_panic] - fn test_log_normal_invalid_sd() { - LogNormal::new(10.0, -1.0); - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/other.rs b/vendor/registry-40351f815f426200/rand/src/distributions/other.rs deleted file mode 100644 index 2295f790d..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/other.rs +++ /dev/null @@ -1,219 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The implementations of the `Standard` distribution for other built-in types. - -use core::char; -use core::num::Wrapping; - -use {Rng}; -use distributions::{Distribution, Standard, Uniform}; - -// ----- Sampling distributions ----- - -/// Sample a `char`, uniformly distributed over ASCII letters and numbers: -/// a-z, A-Z and 0-9. -/// -/// # Example -/// -/// ``` -/// use std::iter; -/// use rand::{Rng, thread_rng}; -/// use rand::distributions::Alphanumeric; -/// -/// let mut rng = thread_rng(); -/// let chars: String = iter::repeat(()) -/// .map(|()| rng.sample(Alphanumeric)) -/// .take(7) -/// .collect(); -/// println!("Random chars: {}", chars); -/// ``` -#[derive(Debug)] -pub struct Alphanumeric; - - -// ----- Implementations of distributions ----- - -impl Distribution for Standard { - #[inline] - fn sample(&self, rng: &mut R) -> char { - // A valid `char` is either in the interval `[0, 0xD800)` or - // `(0xDFFF, 0x11_0000)`. All `char`s must therefore be in - // `[0, 0x11_0000)` but not in the "gap" `[0xD800, 0xDFFF]` which is - // reserved for surrogates. This is the size of that gap. - const GAP_SIZE: u32 = 0xDFFF - 0xD800 + 1; - - // Uniform::new(0, 0x11_0000 - GAP_SIZE) can also be used but it - // seemed slower. - let range = Uniform::new(GAP_SIZE, 0x11_0000); - - let mut n = range.sample(rng); - if n <= 0xDFFF { - n -= GAP_SIZE; - } - unsafe { char::from_u32_unchecked(n) } - } -} - -impl Distribution for Alphanumeric { - fn sample(&self, rng: &mut R) -> char { - const RANGE: u32 = 26 + 26 + 10; - const GEN_ASCII_STR_CHARSET: &[u8] = - b"ABCDEFGHIJKLMNOPQRSTUVWXYZ\ - abcdefghijklmnopqrstuvwxyz\ - 0123456789"; - // We can pick from 62 characters. This is so close to a power of 2, 64, - // that we can do better than `Uniform`. Use a simple bitshift and - // rejection sampling. We do not use a bitmask, because for small RNGs - // the most significant bits are usually of higher quality. - loop { - let var = rng.next_u32() >> (32 - 6); - if var < RANGE { - return GEN_ASCII_STR_CHARSET[var as usize] as char - } - } - } -} - -impl Distribution for Standard { - #[inline] - fn sample(&self, rng: &mut R) -> bool { - // We can compare against an arbitrary bit of an u32 to get a bool. - // Because the least significant bits of a lower quality RNG can have - // simple patterns, we compare against the most significant bit. This is - // easiest done using a sign test. - (rng.next_u32() as i32) < 0 - } -} - -macro_rules! tuple_impl { - // use variables to indicate the arity of the tuple - ($($tyvar:ident),* ) => { - // the trailing commas are for the 1 tuple - impl< $( $tyvar ),* > - Distribution<( $( $tyvar ),* , )> - for Standard - where $( Standard: Distribution<$tyvar> ),* - { - #[inline] - fn sample(&self, _rng: &mut R) -> ( $( $tyvar ),* , ) { - ( - // use the $tyvar's to get the appropriate number of - // repeats (they're not actually needed) - $( - _rng.gen::<$tyvar>() - ),* - , - ) - } - } - } -} - -impl Distribution<()> for Standard { - #[inline] - fn sample(&self, _: &mut R) -> () { () } -} -tuple_impl!{A} -tuple_impl!{A, B} -tuple_impl!{A, B, C} -tuple_impl!{A, B, C, D} -tuple_impl!{A, B, C, D, E} -tuple_impl!{A, B, C, D, E, F} -tuple_impl!{A, B, C, D, E, F, G} -tuple_impl!{A, B, C, D, E, F, G, H} -tuple_impl!{A, B, C, D, E, F, G, H, I} -tuple_impl!{A, B, C, D, E, F, G, H, I, J} -tuple_impl!{A, B, C, D, E, F, G, H, I, J, K} -tuple_impl!{A, B, C, D, E, F, G, H, I, J, K, L} - -macro_rules! array_impl { - // recursive, given at least one type parameter: - {$n:expr, $t:ident, $($ts:ident,)*} => { - array_impl!{($n - 1), $($ts,)*} - - impl Distribution<[T; $n]> for Standard where Standard: Distribution { - #[inline] - fn sample(&self, _rng: &mut R) -> [T; $n] { - [_rng.gen::<$t>(), $(_rng.gen::<$ts>()),*] - } - } - }; - // empty case: - {$n:expr,} => { - impl Distribution<[T; $n]> for Standard { - fn sample(&self, _rng: &mut R) -> [T; $n] { [] } - } - }; -} - -array_impl!{32, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T,} - -impl Distribution> for Standard where Standard: Distribution { - #[inline] - fn sample(&self, rng: &mut R) -> Option { - // UFCS is needed here: https://github.com/rust-lang/rust/issues/24066 - if rng.gen::() { - Some(rng.gen()) - } else { - None - } - } -} - -impl Distribution> for Standard where Standard: Distribution { - #[inline] - fn sample(&self, rng: &mut R) -> Wrapping { - Wrapping(rng.gen()) - } -} - - -#[cfg(test)] -mod tests { - use {Rng, RngCore, Standard}; - use distributions::Alphanumeric; - #[cfg(all(not(feature="std"), feature="alloc"))] use alloc::string::String; - - #[test] - fn test_misc() { - let rng: &mut RngCore = &mut ::test::rng(820); - - rng.sample::(Standard); - rng.sample::(Standard); - } - - #[cfg(feature="alloc")] - #[test] - fn test_chars() { - use core::iter; - let mut rng = ::test::rng(805); - - // Test by generating a relatively large number of chars, so we also - // take the rejection sampling path. - let word: String = iter::repeat(()) - .map(|()| rng.gen::()).take(1000).collect(); - assert!(word.len() != 0); - } - - #[test] - fn test_alphanumeric() { - let mut rng = ::test::rng(806); - - // Test by generating a relatively large number of chars, so we also - // take the rejection sampling path. - let mut incorrect = false; - for _ in 0..100 { - let c = rng.sample(Alphanumeric); - incorrect |= !((c >= '0' && c <= '9') || - (c >= 'A' && c <= 'Z') || - (c >= 'a' && c <= 'z') ); - } - assert!(incorrect == false); - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/pareto.rs b/vendor/registry-40351f815f426200/rand/src/distributions/pareto.rs deleted file mode 100644 index 744a157fd..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/pareto.rs +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The Pareto distribution. - -use Rng; -use distributions::{Distribution, OpenClosed01}; - -/// Samples floating-point numbers according to the Pareto distribution -/// -/// # Example -/// ``` -/// use rand::prelude::*; -/// use rand::distributions::Pareto; -/// -/// let val: f64 = SmallRng::from_entropy().sample(Pareto::new(1., 2.)); -/// println!("{}", val); -/// ``` -#[derive(Clone, Copy, Debug)] -pub struct Pareto { - scale: f64, - inv_neg_shape: f64, -} - -impl Pareto { - /// Construct a new Pareto distribution with given `scale` and `shape`. - /// - /// In the literature, `scale` is commonly written as xm or k and - /// `shape` is often written as α. - /// - /// # Panics - /// - /// `scale` and `shape` have to be non-zero and positive. - pub fn new(scale: f64, shape: f64) -> Pareto { - assert!((scale > 0.) & (shape > 0.)); - Pareto { scale, inv_neg_shape: -1.0 / shape } - } -} - -impl Distribution for Pareto { - fn sample(&self, rng: &mut R) -> f64 { - let u: f64 = rng.sample(OpenClosed01); - self.scale * u.powf(self.inv_neg_shape) - } -} - -#[cfg(test)] -mod tests { - use distributions::Distribution; - use super::Pareto; - - #[test] - #[should_panic] - fn invalid() { - Pareto::new(0., 0.); - } - - #[test] - fn sample() { - let scale = 1.0; - let shape = 2.0; - let d = Pareto::new(scale, shape); - let mut rng = ::test::rng(1); - for _ in 0..1000 { - let r = d.sample(&mut rng); - assert!(r >= scale); - } - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/poisson.rs b/vendor/registry-40351f815f426200/rand/src/distributions/poisson.rs deleted file mode 100644 index 1244caada..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/poisson.rs +++ /dev/null @@ -1,157 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2016-2017 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The Poisson distribution. - -use Rng; -use distributions::{Distribution, Cauchy}; -use distributions::utils::log_gamma; - -/// The Poisson distribution `Poisson(lambda)`. -/// -/// This distribution has a density function: -/// `f(k) = lambda^k * exp(-lambda) / k!` for `k >= 0`. -/// -/// # Example -/// -/// ``` -/// use rand::distributions::{Poisson, Distribution}; -/// -/// let poi = Poisson::new(2.0); -/// let v = poi.sample(&mut rand::thread_rng()); -/// println!("{} is from a Poisson(2) distribution", v); -/// ``` -#[derive(Clone, Copy, Debug)] -pub struct Poisson { - lambda: f64, - // precalculated values - exp_lambda: f64, - log_lambda: f64, - sqrt_2lambda: f64, - magic_val: f64, -} - -impl Poisson { - /// Construct a new `Poisson` with the given shape parameter - /// `lambda`. Panics if `lambda <= 0`. - pub fn new(lambda: f64) -> Poisson { - assert!(lambda > 0.0, "Poisson::new called with lambda <= 0"); - let log_lambda = lambda.ln(); - Poisson { - lambda, - exp_lambda: (-lambda).exp(), - log_lambda, - sqrt_2lambda: (2.0 * lambda).sqrt(), - magic_val: lambda * log_lambda - log_gamma(1.0 + lambda), - } - } -} - -impl Distribution for Poisson { - fn sample(&self, rng: &mut R) -> u64 { - // using the algorithm from Numerical Recipes in C - - // for low expected values use the Knuth method - if self.lambda < 12.0 { - let mut result = 0; - let mut p = 1.0; - while p > self.exp_lambda { - p *= rng.gen::(); - result += 1; - } - result - 1 - } - // high expected values - rejection method - else { - let mut int_result: u64; - - // we use the Cauchy distribution as the comparison distribution - // f(x) ~ 1/(1+x^2) - let cauchy = Cauchy::new(0.0, 1.0); - - loop { - let mut result; - let mut comp_dev; - - loop { - // draw from the Cauchy distribution - comp_dev = rng.sample(cauchy); - // shift the peak of the comparison ditribution - result = self.sqrt_2lambda * comp_dev + self.lambda; - // repeat the drawing until we are in the range of possible values - if result >= 0.0 { - break; - } - } - // now the result is a random variable greater than 0 with Cauchy distribution - // the result should be an integer value - result = result.floor(); - int_result = result as u64; - - // this is the ratio of the Poisson distribution to the comparison distribution - // the magic value scales the distribution function to a range of approximately 0-1 - // since it is not exact, we multiply the ratio by 0.9 to avoid ratios greater than 1 - // this doesn't change the resulting distribution, only increases the rate of failed drawings - let check = 0.9 * (1.0 + comp_dev * comp_dev) - * (result * self.log_lambda - log_gamma(1.0 + result) - self.magic_val).exp(); - - // check with uniform random value - if below the threshold, we are within the target distribution - if rng.gen::() <= check { - break; - } - } - int_result - } - } -} - -#[cfg(test)] -mod test { - use distributions::Distribution; - use super::Poisson; - - #[test] - fn test_poisson_10() { - let poisson = Poisson::new(10.0); - let mut rng = ::test::rng(123); - let mut sum = 0; - for _ in 0..1000 { - sum += poisson.sample(&mut rng); - } - let avg = (sum as f64) / 1000.0; - println!("Poisson average: {}", avg); - assert!((avg - 10.0).abs() < 0.5); // not 100% certain, but probable enough - } - - #[test] - fn test_poisson_15() { - // Take the 'high expected values' path - let poisson = Poisson::new(15.0); - let mut rng = ::test::rng(123); - let mut sum = 0; - for _ in 0..1000 { - sum += poisson.sample(&mut rng); - } - let avg = (sum as f64) / 1000.0; - println!("Poisson average: {}", avg); - assert!((avg - 15.0).abs() < 0.5); // not 100% certain, but probable enough - } - - #[test] - #[should_panic] - fn test_poisson_invalid_lambda_zero() { - Poisson::new(0.0); - } - - #[test] - #[should_panic] - fn test_poisson_invalid_lambda_neg() { - Poisson::new(-10.0); - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/triangular.rs b/vendor/registry-40351f815f426200/rand/src/distributions/triangular.rs deleted file mode 100644 index a6eef5c26..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/triangular.rs +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. -//! The triangular distribution. - -use Rng; -use distributions::{Distribution, Standard}; - -/// The triangular distribution. -/// -/// # Example -/// -/// ```rust -/// use rand::distributions::{Triangular, Distribution}; -/// -/// let d = Triangular::new(0., 5., 2.5); -/// let v = d.sample(&mut rand::thread_rng()); -/// println!("{} is from a triangular distribution", v); -/// ``` -#[derive(Clone, Copy, Debug)] -pub struct Triangular { - min: f64, - max: f64, - mode: f64, -} - -impl Triangular { - /// Construct a new `Triangular` with minimum `min`, maximum `max` and mode - /// `mode`. - /// - /// # Panics - /// - /// If `max < mode`, `mode < max` or `max == min`. - /// - #[inline] - pub fn new(min: f64, max: f64, mode: f64) -> Triangular { - assert!(max >= mode); - assert!(mode >= min); - assert!(max != min); - Triangular { min, max, mode } - } -} - -impl Distribution for Triangular { - #[inline] - fn sample(&self, rng: &mut R) -> f64 { - let f: f64 = rng.sample(Standard); - let diff_mode_min = self.mode - self.min; - let diff_max_min = self.max - self.min; - if f * diff_max_min < diff_mode_min { - self.min + (f * diff_max_min * diff_mode_min).sqrt() - } else { - self.max - ((1. - f) * diff_max_min * (self.max - self.mode)).sqrt() - } - } -} - -#[cfg(test)] -mod test { - use distributions::Distribution; - use super::Triangular; - - #[test] - fn test_new() { - for &(min, max, mode) in &[ - (-1., 1., 0.), (1., 2., 1.), (5., 25., 25.), (1e-5, 1e5, 1e-3), - (0., 1., 0.9), (-4., -0.5, -2.), (-13.039, 8.41, 1.17), - ] { - println!("{} {} {}", min, max, mode); - let _ = Triangular::new(min, max, mode); - } - } - - #[test] - fn test_sample() { - let norm = Triangular::new(0., 1., 0.5); - let mut rng = ::test::rng(1); - for _ in 0..1000 { - norm.sample(&mut rng); - } - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/uniform.rs b/vendor/registry-40351f815f426200/rand/src/distributions/uniform.rs deleted file mode 100644 index 19b49345b..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/uniform.rs +++ /dev/null @@ -1,1283 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2017 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! A distribution uniformly sampling numbers within a given range. -//! -//! [`Uniform`] is the standard distribution to sample uniformly from a range; -//! e.g. `Uniform::new_inclusive(1, 6)` can sample integers from 1 to 6, like a -//! standard die. [`Rng::gen_range`] supports any type supported by -//! [`Uniform`]. -//! -//! This distribution is provided with support for several primitive types -//! (all integer and floating-point types) as well as [`std::time::Duration`], -//! and supports extension to user-defined types via a type-specific *back-end* -//! implementation. -//! -//! The types [`UniformInt`], [`UniformFloat`] and [`UniformDuration`] are the -//! back-ends supporting sampling from primitive integer and floating-point -//! ranges as well as from [`std::time::Duration`]; these types do not normally -//! need to be used directly (unless implementing a derived back-end). -//! -//! # Example usage -//! -//! ``` -//! use rand::{Rng, thread_rng}; -//! use rand::distributions::Uniform; -//! -//! let mut rng = thread_rng(); -//! let side = Uniform::new(-10.0, 10.0); -//! -//! // sample between 1 and 10 points -//! for _ in 0..rng.gen_range(1, 11) { -//! // sample a point from the square with sides -10 - 10 in two dimensions -//! let (x, y) = (rng.sample(side), rng.sample(side)); -//! println!("Point: {}, {}", x, y); -//! } -//! ``` -//! -//! # Extending `Uniform` to support a custom type -//! -//! To extend [`Uniform`] to support your own types, write a back-end which -//! implements the [`UniformSampler`] trait, then implement the [`SampleUniform`] -//! helper trait to "register" your back-end. See the `MyF32` example below. -//! -//! At a minimum, the back-end needs to store any parameters needed for sampling -//! (e.g. the target range) and implement `new`, `new_inclusive` and `sample`. -//! Those methods should include an assert to check the range is valid (i.e. -//! `low < high`). The example below merely wraps another back-end. -//! -//! The `new`, `new_inclusive` and `sample_single` functions use arguments of -//! type SampleBorrow in order to support passing in values by reference or -//! by value. In the implementation of these functions, you can choose to -//! simply use the reference returned by [`SampleBorrow::borrow`], or you can choose -//! to copy or clone the value, whatever is appropriate for your type. -//! -//! ``` -//! use rand::prelude::*; -//! use rand::distributions::uniform::{Uniform, SampleUniform, -//! UniformSampler, UniformFloat, SampleBorrow}; -//! -//! struct MyF32(f32); -//! -//! #[derive(Clone, Copy, Debug)] -//! struct UniformMyF32 { -//! inner: UniformFloat, -//! } -//! -//! impl UniformSampler for UniformMyF32 { -//! type X = MyF32; -//! fn new(low: B1, high: B2) -> Self -//! where B1: SampleBorrow + Sized, -//! B2: SampleBorrow + Sized -//! { -//! UniformMyF32 { -//! inner: UniformFloat::::new(low.borrow().0, high.borrow().0), -//! } -//! } -//! fn new_inclusive(low: B1, high: B2) -> Self -//! where B1: SampleBorrow + Sized, -//! B2: SampleBorrow + Sized -//! { -//! UniformSampler::new(low, high) -//! } -//! fn sample(&self, rng: &mut R) -> Self::X { -//! MyF32(self.inner.sample(rng)) -//! } -//! } -//! -//! impl SampleUniform for MyF32 { -//! type Sampler = UniformMyF32; -//! } -//! -//! let (low, high) = (MyF32(17.0f32), MyF32(22.0f32)); -//! let uniform = Uniform::new(low, high); -//! let x = uniform.sample(&mut thread_rng()); -//! ``` -//! -//! [`SampleUniform`]: crate::distributions::uniform::SampleUniform -//! [`UniformSampler`]: crate::distributions::uniform::UniformSampler -//! [`UniformInt`]: crate::distributions::uniform::UniformInt -//! [`UniformFloat`]: crate::distributions::uniform::UniformFloat -//! [`UniformDuration`]: crate::distributions::uniform::UniformDuration -//! [`SampleBorrow::borrow`]: crate::distributions::uniform::SampleBorrow::borrow - -#[cfg(feature = "std")] -use std::time::Duration; -#[cfg(all(not(feature = "std"), rustc_1_25))] -use core::time::Duration; - -use Rng; -use distributions::Distribution; -use distributions::float::IntoFloat; -use distributions::utils::{WideningMultiply, FloatSIMDUtils, FloatAsSIMD, BoolAsSIMD}; - -#[cfg(not(feature = "std"))] -#[allow(unused_imports)] // rustc doesn't detect that this is actually used -use distributions::utils::Float; - - -#[cfg(feature="simd_support")] -use packed_simd::*; - -/// Sample values uniformly between two bounds. -/// -/// [`Uniform::new`] and [`Uniform::new_inclusive`] construct a uniform -/// distribution sampling from the given range; these functions may do extra -/// work up front to make sampling of multiple values faster. -/// -/// When sampling from a constant range, many calculations can happen at -/// compile-time and all methods should be fast; for floating-point ranges and -/// the full range of integer types this should have comparable performance to -/// the `Standard` distribution. -/// -/// Steps are taken to avoid bias which might be present in naive -/// implementations; for example `rng.gen::() % 170` samples from the range -/// `[0, 169]` but is twice as likely to select numbers less than 85 than other -/// values. Further, the implementations here give more weight to the high-bits -/// generated by the RNG than the low bits, since with some RNGs the low-bits -/// are of lower quality than the high bits. -/// -/// Implementations must sample in `[low, high)` range for -/// `Uniform::new(low, high)`, i.e., excluding `high`. In particular care must -/// be taken to ensure that rounding never results values `< low` or `>= high`. -/// -/// # Example -/// -/// ``` -/// use rand::distributions::{Distribution, Uniform}; -/// -/// fn main() { -/// let between = Uniform::from(10..10000); -/// let mut rng = rand::thread_rng(); -/// let mut sum = 0; -/// for _ in 0..1000 { -/// sum += between.sample(&mut rng); -/// } -/// println!("{}", sum); -/// } -/// ``` -/// -/// [`new`]: Uniform::new -/// [`new_inclusive`]: Uniform::new_inclusive -#[derive(Clone, Copy, Debug)] -pub struct Uniform { - inner: X::Sampler, -} - -impl Uniform { - /// Create a new `Uniform` instance which samples uniformly from the half - /// open range `[low, high)` (excluding `high`). Panics if `low >= high`. - pub fn new(low: B1, high: B2) -> Uniform - where B1: SampleBorrow + Sized, - B2: SampleBorrow + Sized - { - Uniform { inner: X::Sampler::new(low, high) } - } - - /// Create a new `Uniform` instance which samples uniformly from the closed - /// range `[low, high]` (inclusive). Panics if `low > high`. - pub fn new_inclusive(low: B1, high: B2) -> Uniform - where B1: SampleBorrow + Sized, - B2: SampleBorrow + Sized - { - Uniform { inner: X::Sampler::new_inclusive(low, high) } - } -} - -impl Distribution for Uniform { - fn sample(&self, rng: &mut R) -> X { - self.inner.sample(rng) - } -} - -/// Helper trait for creating objects using the correct implementation of -/// [`UniformSampler`] for the sampling type. -/// -/// See the [module documentation] on how to implement [`Uniform`] range -/// sampling for a custom type. -/// -/// [module documentation]: crate::distributions::uniform -pub trait SampleUniform: Sized { - /// The `UniformSampler` implementation supporting type `X`. - type Sampler: UniformSampler; -} - -/// Helper trait handling actual uniform sampling. -/// -/// See the [module documentation] on how to implement [`Uniform`] range -/// sampling for a custom type. -/// -/// Implementation of [`sample_single`] is optional, and is only useful when -/// the implementation can be faster than `Self::new(low, high).sample(rng)`. -/// -/// [module documentation]: crate::distributions::uniform -/// [`sample_single`]: UniformSampler::sample_single -pub trait UniformSampler: Sized { - /// The type sampled by this implementation. - type X; - - /// Construct self, with inclusive lower bound and exclusive upper bound - /// `[low, high)`. - /// - /// Usually users should not call this directly but instead use - /// `Uniform::new`, which asserts that `low < high` before calling this. - fn new(low: B1, high: B2) -> Self - where B1: SampleBorrow + Sized, - B2: SampleBorrow + Sized; - - /// Construct self, with inclusive bounds `[low, high]`. - /// - /// Usually users should not call this directly but instead use - /// `Uniform::new_inclusive`, which asserts that `low <= high` before - /// calling this. - fn new_inclusive(low: B1, high: B2) -> Self - where B1: SampleBorrow + Sized, - B2: SampleBorrow + Sized; - - /// Sample a value. - fn sample(&self, rng: &mut R) -> Self::X; - - /// Sample a single value uniformly from a range with inclusive lower bound - /// and exclusive upper bound `[low, high)`. - /// - /// Usually users should not call this directly but instead use - /// `Uniform::sample_single`, which asserts that `low < high` before calling - /// this. - /// - /// Via this method, implementations can provide a method optimized for - /// sampling only a single value from the specified range. The default - /// implementation simply calls `UniformSampler::new` then `sample` on the - /// result. - fn sample_single(low: B1, high: B2, rng: &mut R) - -> Self::X - where B1: SampleBorrow + Sized, - B2: SampleBorrow + Sized - { - let uniform: Self = UniformSampler::new(low, high); - uniform.sample(rng) - } -} - -impl From<::core::ops::Range> for Uniform { - fn from(r: ::core::ops::Range) -> Uniform { - Uniform::new(r.start, r.end) - } -} - -#[cfg(rustc_1_27)] -impl From<::core::ops::RangeInclusive> for Uniform { - fn from(r: ::core::ops::RangeInclusive) -> Uniform { - Uniform::new_inclusive(r.start(), r.end()) - } -} - -/// Helper trait similar to [`Borrow`] but implemented -/// only for SampleUniform and references to SampleUniform in -/// order to resolve ambiguity issues. -/// -/// [`Borrow`]: std::borrow::Borrow -pub trait SampleBorrow { - /// Immutably borrows from an owned value. See [`Borrow::borrow`] - /// - /// [`Borrow::borrow`]: std::borrow::Borrow::borrow - fn borrow(&self) -> &Borrowed; -} -impl SampleBorrow for Borrowed where Borrowed: SampleUniform { - #[inline(always)] - fn borrow(&self) -> &Borrowed { self } -} -impl<'a, Borrowed> SampleBorrow for &'a Borrowed where Borrowed: SampleUniform { - #[inline(always)] - fn borrow(&self) -> &Borrowed { *self } -} - -//////////////////////////////////////////////////////////////////////////////// - -// What follows are all back-ends. - - -/// The back-end implementing [`UniformSampler`] for integer types. -/// -/// Unless you are implementing [`UniformSampler`] for your own type, this type -/// should not be used directly, use [`Uniform`] instead. -/// -/// # Implementation notes -/// -/// For a closed range, the number of possible numbers we should generate is -/// `range = (high - low + 1)`. It is not possible to end up with a uniform -/// distribution if we map *all* the random integers that can be generated to -/// this range. We have to map integers from a `zone` that is a multiple of the -/// range. The rest of the integers, that cause a bias, are rejected. -/// -/// The problem with `range` is that to cover the full range of the type, it has -/// to store `unsigned_max + 1`, which can't be represented. But if the range -/// covers the full range of the type, no modulus is needed. A range of size 0 -/// can't exist, so we use that to represent this special case. Wrapping -/// arithmetic even makes representing `unsigned_max + 1` as 0 simple. -/// -/// We don't calculate `zone` directly, but first calculate the number of -/// integers to reject. To handle `unsigned_max + 1` not fitting in the type, -/// we use: -/// `ints_to_reject = (unsigned_max + 1) % range;` -/// `ints_to_reject = (unsigned_max - range + 1) % range;` -/// -/// The smallest integer PRNGs generate is `u32`. That is why for small integer -/// sizes (`i8`/`u8` and `i16`/`u16`) there is an optimization: don't pick the -/// largest zone that can fit in the small type, but pick the largest zone that -/// can fit in an `u32`. `ints_to_reject` is always less than half the size of -/// the small integer. This means the first bit of `zone` is always 1, and so -/// are all the other preceding bits of a larger integer. The easiest way to -/// grow the `zone` for the larger type is to simply sign extend it. -/// -/// An alternative to using a modulus is widening multiply: After a widening -/// multiply by `range`, the result is in the high word. Then comparing the low -/// word against `zone` makes sure our distribution is uniform. -#[derive(Clone, Copy, Debug)] -pub struct UniformInt { - low: X, - range: X, - zone: X, -} - -macro_rules! uniform_int_impl { - ($ty:ty, $signed:ty, $unsigned:ident, - $i_large:ident, $u_large:ident) => { - impl SampleUniform for $ty { - type Sampler = UniformInt<$ty>; - } - - impl UniformSampler for UniformInt<$ty> { - // We play free and fast with unsigned vs signed here - // (when $ty is signed), but that's fine, since the - // contract of this macro is for $ty and $unsigned to be - // "bit-equal", so casting between them is a no-op. - - type X = $ty; - - #[inline] // if the range is constant, this helps LLVM to do the - // calculations at compile-time. - fn new(low_b: B1, high_b: B2) -> Self - where B1: SampleBorrow + Sized, - B2: SampleBorrow + Sized - { - let low = *low_b.borrow(); - let high = *high_b.borrow(); - assert!(low < high, "Uniform::new called with `low >= high`"); - UniformSampler::new_inclusive(low, high - 1) - } - - #[inline] // if the range is constant, this helps LLVM to do the - // calculations at compile-time. - fn new_inclusive(low_b: B1, high_b: B2) -> Self - where B1: SampleBorrow + Sized, - B2: SampleBorrow + Sized - { - let low = *low_b.borrow(); - let high = *high_b.borrow(); - assert!(low <= high, - "Uniform::new_inclusive called with `low > high`"); - let unsigned_max = ::core::$unsigned::MAX; - - let range = high.wrapping_sub(low).wrapping_add(1) as $unsigned; - let ints_to_reject = - if range > 0 { - (unsigned_max - range + 1) % range - } else { - 0 - }; - let zone = unsigned_max - ints_to_reject; - - UniformInt { - low: low, - // These are really $unsigned values, but store as $ty: - range: range as $ty, - zone: zone as $ty - } - } - - fn sample(&self, rng: &mut R) -> Self::X { - let range = self.range as $unsigned as $u_large; - if range > 0 { - // Grow `zone` to fit a type of at least 32 bits, by - // sign-extending it (the first bit is always 1, so are all - // the preceding bits of the larger type). - // For types that already have the right size, all the - // casting is a no-op. - let zone = self.zone as $signed as $i_large as $u_large; - loop { - let v: $u_large = rng.gen(); - let (hi, lo) = v.wmul(range); - if lo <= zone { - return self.low.wrapping_add(hi as $ty); - } - } - } else { - // Sample from the entire integer range. - rng.gen() - } - } - - fn sample_single(low_b: B1, high_b: B2, rng: &mut R) - -> Self::X - where B1: SampleBorrow + Sized, - B2: SampleBorrow + Sized - { - let low = *low_b.borrow(); - let high = *high_b.borrow(); - assert!(low < high, - "Uniform::sample_single called with low >= high"); - let range = high.wrapping_sub(low) as $unsigned as $u_large; - let zone = - if ::core::$unsigned::MAX <= ::core::u16::MAX as $unsigned { - // Using a modulus is faster than the approximation for - // i8 and i16. I suppose we trade the cost of one - // modulus for near-perfect branch prediction. - let unsigned_max: $u_large = ::core::$u_large::MAX; - let ints_to_reject = (unsigned_max - range + 1) % range; - unsigned_max - ints_to_reject - } else { - // conservative but fast approximation. `- 1` is necessary to allow the - // same comparison without bias. - (range << range.leading_zeros()).wrapping_sub(1) - }; - - loop { - let v: $u_large = rng.gen(); - let (hi, lo) = v.wmul(range); - if lo <= zone { - return low.wrapping_add(hi as $ty); - } - } - } - } - } -} - -uniform_int_impl! { i8, i8, u8, i32, u32 } -uniform_int_impl! { i16, i16, u16, i32, u32 } -uniform_int_impl! { i32, i32, u32, i32, u32 } -uniform_int_impl! { i64, i64, u64, i64, u64 } -#[cfg(all(rustc_1_26, not(target_os = "emscripten")))] -uniform_int_impl! { i128, i128, u128, u128, u128 } -uniform_int_impl! { isize, isize, usize, isize, usize } -uniform_int_impl! { u8, i8, u8, i32, u32 } -uniform_int_impl! { u16, i16, u16, i32, u32 } -uniform_int_impl! { u32, i32, u32, i32, u32 } -uniform_int_impl! { u64, i64, u64, i64, u64 } -uniform_int_impl! { usize, isize, usize, isize, usize } -#[cfg(all(rustc_1_26, not(target_os = "emscripten")))] -uniform_int_impl! { u128, u128, u128, i128, u128 } - -#[cfg(all(feature = "simd_support", feature = "nightly"))] -macro_rules! uniform_simd_int_impl { - ($ty:ident, $unsigned:ident, $u_scalar:ident) => { - // The "pick the largest zone that can fit in an `u32`" optimization - // is less useful here. Multiple lanes complicate things, we don't - // know the PRNG's minimal output size, and casting to a larger vector - // is generally a bad idea for SIMD performance. The user can still - // implement it manually. - - // TODO: look into `Uniform::::new(0u32, 100)` functionality - // perhaps `impl SampleUniform for $u_scalar`? - impl SampleUniform for $ty { - type Sampler = UniformInt<$ty>; - } - - impl UniformSampler for UniformInt<$ty> { - type X = $ty; - - #[inline] // if the range is constant, this helps LLVM to do the - // calculations at compile-time. - fn new(low_b: B1, high_b: B2) -> Self - where B1: SampleBorrow + Sized, - B2: SampleBorrow + Sized - { - let low = *low_b.borrow(); - let high = *high_b.borrow(); - assert!(low.lt(high).all(), "Uniform::new called with `low >= high`"); - UniformSampler::new_inclusive(low, high - 1) - } - - #[inline] // if the range is constant, this helps LLVM to do the - // calculations at compile-time. - fn new_inclusive(low_b: B1, high_b: B2) -> Self - where B1: SampleBorrow + Sized, - B2: SampleBorrow + Sized - { - let low = *low_b.borrow(); - let high = *high_b.borrow(); - assert!(low.le(high).all(), - "Uniform::new_inclusive called with `low > high`"); - let unsigned_max = ::core::$u_scalar::MAX; - - // NOTE: these may need to be replaced with explicitly - // wrapping operations if `packed_simd` changes - let range: $unsigned = ((high - low) + 1).cast(); - // `% 0` will panic at runtime. - let not_full_range = range.gt($unsigned::splat(0)); - // replacing 0 with `unsigned_max` allows a faster `select` - // with bitwise OR - let modulo = not_full_range.select(range, $unsigned::splat(unsigned_max)); - // wrapping addition - let ints_to_reject = (unsigned_max - range + 1) % modulo; - // When `range` is 0, `lo` of `v.wmul(range)` will always be - // zero which means only one sample is needed. - let zone = unsigned_max - ints_to_reject; - - UniformInt { - low: low, - // These are really $unsigned values, but store as $ty: - range: range.cast(), - zone: zone.cast(), - } - } - - fn sample(&self, rng: &mut R) -> Self::X { - let range: $unsigned = self.range.cast(); - let zone: $unsigned = self.zone.cast(); - - // This might seem very slow, generating a whole new - // SIMD vector for every sample rejection. For most uses - // though, the chance of rejection is small and provides good - // general performance. With multiple lanes, that chance is - // multiplied. To mitigate this, we replace only the lanes of - // the vector which fail, iteratively reducing the chance of - // rejection. The replacement method does however add a little - // overhead. Benchmarking or calculating probabilities might - // reveal contexts where this replacement method is slower. - let mut v: $unsigned = rng.gen(); - loop { - let (hi, lo) = v.wmul(range); - let mask = lo.le(zone); - if mask.all() { - let hi: $ty = hi.cast(); - // wrapping addition - let result = self.low + hi; - // `select` here compiles to a blend operation - // When `range.eq(0).none()` the compare and blend - // operations are avoided. - let v: $ty = v.cast(); - return range.gt($unsigned::splat(0)).select(result, v); - } - // Replace only the failing lanes - v = mask.select(v, rng.gen()); - } - } - } - }; - - // bulk implementation - ($(($unsigned:ident, $signed:ident),)+ $u_scalar:ident) => { - $( - uniform_simd_int_impl!($unsigned, $unsigned, $u_scalar); - uniform_simd_int_impl!($signed, $unsigned, $u_scalar); - )+ - }; -} - -#[cfg(all(feature = "simd_support", feature = "nightly"))] -uniform_simd_int_impl! { - (u64x2, i64x2), - (u64x4, i64x4), - (u64x8, i64x8), - u64 -} - -#[cfg(all(feature = "simd_support", feature = "nightly"))] -uniform_simd_int_impl! { - (u32x2, i32x2), - (u32x4, i32x4), - (u32x8, i32x8), - (u32x16, i32x16), - u32 -} - -#[cfg(all(feature = "simd_support", feature = "nightly"))] -uniform_simd_int_impl! { - (u16x2, i16x2), - (u16x4, i16x4), - (u16x8, i16x8), - (u16x16, i16x16), - (u16x32, i16x32), - u16 -} - -#[cfg(all(feature = "simd_support", feature = "nightly"))] -uniform_simd_int_impl! { - (u8x2, i8x2), - (u8x4, i8x4), - (u8x8, i8x8), - (u8x16, i8x16), - (u8x32, i8x32), - (u8x64, i8x64), - u8 -} - - -/// The back-end implementing [`UniformSampler`] for floating-point types. -/// -/// Unless you are implementing [`UniformSampler`] for your own type, this type -/// should not be used directly, use [`Uniform`] instead. -/// -/// # Implementation notes -/// -/// Instead of generating a float in the `[0, 1)` range using [`Standard`], the -/// `UniformFloat` implementation converts the output of an PRNG itself. This -/// way one or two steps can be optimized out. -/// -/// The floats are first converted to a value in the `[1, 2)` interval using a -/// transmute-based method, and then mapped to the expected range with a -/// multiply and addition. Values produced this way have what equals 22 bits of -/// random digits for an `f32`, and 52 for an `f64`. -/// -/// [`new`]: UniformSampler::new -/// [`new_inclusive`]: UniformSampler::new_inclusive -/// [`Standard`]: crate::distributions::Standard -#[derive(Clone, Copy, Debug)] -pub struct UniformFloat { - low: X, - scale: X, -} - -macro_rules! uniform_float_impl { - ($ty:ty, $uty:ident, $f_scalar:ident, $u_scalar:ident, $bits_to_discard:expr) => { - impl SampleUniform for $ty { - type Sampler = UniformFloat<$ty>; - } - - impl UniformSampler for UniformFloat<$ty> { - type X = $ty; - - fn new(low_b: B1, high_b: B2) -> Self - where B1: SampleBorrow + Sized, - B2: SampleBorrow + Sized - { - let low = *low_b.borrow(); - let high = *high_b.borrow(); - assert!(low.all_lt(high), - "Uniform::new called with `low >= high`"); - assert!(low.all_finite() && high.all_finite(), - "Uniform::new called with non-finite boundaries"); - let max_rand = <$ty>::splat((::core::$u_scalar::MAX >> $bits_to_discard) - .into_float_with_exponent(0) - 1.0); - - let mut scale = high - low; - - loop { - let mask = (scale * max_rand + low).ge_mask(high); - if mask.none() { - break; - } - scale = scale.decrease_masked(mask); - } - - debug_assert!(<$ty>::splat(0.0).all_le(scale)); - - UniformFloat { low, scale } - } - - fn new_inclusive(low_b: B1, high_b: B2) -> Self - where B1: SampleBorrow + Sized, - B2: SampleBorrow + Sized - { - let low = *low_b.borrow(); - let high = *high_b.borrow(); - assert!(low.all_le(high), - "Uniform::new_inclusive called with `low > high`"); - assert!(low.all_finite() && high.all_finite(), - "Uniform::new_inclusive called with non-finite boundaries"); - let max_rand = <$ty>::splat((::core::$u_scalar::MAX >> $bits_to_discard) - .into_float_with_exponent(0) - 1.0); - - let mut scale = (high - low) / max_rand; - - loop { - let mask = (scale * max_rand + low).gt_mask(high); - if mask.none() { - break; - } - scale = scale.decrease_masked(mask); - } - - debug_assert!(<$ty>::splat(0.0).all_le(scale)); - - UniformFloat { low, scale } - } - - fn sample(&self, rng: &mut R) -> Self::X { - // Generate a value in the range [1, 2) - let value1_2 = (rng.gen::<$uty>() >> $bits_to_discard) - .into_float_with_exponent(0); - - // Get a value in the range [0, 1) in order to avoid - // overflowing into infinity when multiplying with scale - let value0_1 = value1_2 - 1.0; - - // We don't use `f64::mul_add`, because it is not available with - // `no_std`. Furthermore, it is slower for some targets (but - // faster for others). However, the order of multiplication and - // addition is important, because on some platforms (e.g. ARM) - // it will be optimized to a single (non-FMA) instruction. - value0_1 * self.scale + self.low - } - - #[inline] - fn sample_single(low_b: B1, high_b: B2, rng: &mut R) - -> Self::X - where B1: SampleBorrow + Sized, - B2: SampleBorrow + Sized - { - let low = *low_b.borrow(); - let high = *high_b.borrow(); - assert!(low.all_lt(high), - "Uniform::sample_single called with low >= high"); - let mut scale = high - low; - - loop { - // Generate a value in the range [1, 2) - let value1_2 = (rng.gen::<$uty>() >> $bits_to_discard) - .into_float_with_exponent(0); - - // Get a value in the range [0, 1) in order to avoid - // overflowing into infinity when multiplying with scale - let value0_1 = value1_2 - 1.0; - - // Doing multiply before addition allows some architectures - // to use a single instruction. - let res = value0_1 * scale + low; - - debug_assert!(low.all_le(res) || !scale.all_finite()); - if res.all_lt(high) { - return res; - } - - // This handles a number of edge cases. - // * `low` or `high` is NaN. In this case `scale` and - // `res` are going to end up as NaN. - // * `low` is negative infinity and `high` is finite. - // `scale` is going to be infinite and `res` will be - // NaN. - // * `high` is positive infinity and `low` is finite. - // `scale` is going to be infinite and `res` will - // be infinite or NaN (if value0_1 is 0). - // * `low` is negative infinity and `high` is positive - // infinity. `scale` will be infinite and `res` will - // be NaN. - // * `low` and `high` are finite, but `high - low` - // overflows to infinite. `scale` will be infinite - // and `res` will be infinite or NaN (if value0_1 is 0). - // So if `high` or `low` are non-finite, we are guaranteed - // to fail the `res < high` check above and end up here. - // - // While we technically should check for non-finite `low` - // and `high` before entering the loop, by doing the checks - // here instead, we allow the common case to avoid these - // checks. But we are still guaranteed that if `low` or - // `high` are non-finite we'll end up here and can do the - // appropriate checks. - // - // Likewise `high - low` overflowing to infinity is also - // rare, so handle it here after the common case. - let mask = !scale.finite_mask(); - if mask.any() { - assert!(low.all_finite() && high.all_finite(), - "Uniform::sample_single called with non-finite boundaries"); - scale = scale.decrease_masked(mask); - } - } - } - } - } -} - -uniform_float_impl! { f32, u32, f32, u32, 32 - 23 } -uniform_float_impl! { f64, u64, f64, u64, 64 - 52 } - -#[cfg(feature="simd_support")] -uniform_float_impl! { f32x2, u32x2, f32, u32, 32 - 23 } -#[cfg(feature="simd_support")] -uniform_float_impl! { f32x4, u32x4, f32, u32, 32 - 23 } -#[cfg(feature="simd_support")] -uniform_float_impl! { f32x8, u32x8, f32, u32, 32 - 23 } -#[cfg(feature="simd_support")] -uniform_float_impl! { f32x16, u32x16, f32, u32, 32 - 23 } - -#[cfg(feature="simd_support")] -uniform_float_impl! { f64x2, u64x2, f64, u64, 64 - 52 } -#[cfg(feature="simd_support")] -uniform_float_impl! { f64x4, u64x4, f64, u64, 64 - 52 } -#[cfg(feature="simd_support")] -uniform_float_impl! { f64x8, u64x8, f64, u64, 64 - 52 } - - - -/// The back-end implementing [`UniformSampler`] for `Duration`. -/// -/// Unless you are implementing [`UniformSampler`] for your own types, this type -/// should not be used directly, use [`Uniform`] instead. -#[cfg(any(feature = "std", rustc_1_25))] -#[derive(Clone, Copy, Debug)] -pub struct UniformDuration { - mode: UniformDurationMode, - offset: u32, -} - -#[cfg(any(feature = "std", rustc_1_25))] -#[derive(Debug, Copy, Clone)] -enum UniformDurationMode { - Small { - secs: u64, - nanos: Uniform, - }, - Medium { - nanos: Uniform, - }, - Large { - max_secs: u64, - max_nanos: u32, - secs: Uniform, - } -} - -#[cfg(any(feature = "std", rustc_1_25))] -impl SampleUniform for Duration { - type Sampler = UniformDuration; -} - -#[cfg(any(feature = "std", rustc_1_25))] -impl UniformSampler for UniformDuration { - type X = Duration; - - #[inline] - fn new(low_b: B1, high_b: B2) -> Self - where B1: SampleBorrow + Sized, - B2: SampleBorrow + Sized - { - let low = *low_b.borrow(); - let high = *high_b.borrow(); - assert!(low < high, "Uniform::new called with `low >= high`"); - UniformDuration::new_inclusive(low, high - Duration::new(0, 1)) - } - - #[inline] - fn new_inclusive(low_b: B1, high_b: B2) -> Self - where B1: SampleBorrow + Sized, - B2: SampleBorrow + Sized - { - let low = *low_b.borrow(); - let high = *high_b.borrow(); - assert!(low <= high, "Uniform::new_inclusive called with `low > high`"); - - let low_s = low.as_secs(); - let low_n = low.subsec_nanos(); - let mut high_s = high.as_secs(); - let mut high_n = high.subsec_nanos(); - - if high_n < low_n { - high_s = high_s - 1; - high_n = high_n + 1_000_000_000; - } - - let mode = if low_s == high_s { - UniformDurationMode::Small { - secs: low_s, - nanos: Uniform::new_inclusive(low_n, high_n), - } - } else { - let max = high_s - .checked_mul(1_000_000_000) - .and_then(|n| n.checked_add(high_n as u64)); - - if let Some(higher_bound) = max { - let lower_bound = low_s * 1_000_000_000 + low_n as u64; - UniformDurationMode::Medium { - nanos: Uniform::new_inclusive(lower_bound, higher_bound), - } - } else { - // An offset is applied to simplify generation of nanoseconds - let max_nanos = high_n - low_n; - UniformDurationMode::Large { - max_secs: high_s, - max_nanos, - secs: Uniform::new_inclusive(low_s, high_s), - } - } - }; - UniformDuration { - mode, - offset: low_n, - } - } - - #[inline] - fn sample(&self, rng: &mut R) -> Duration { - match self.mode { - UniformDurationMode::Small { secs, nanos } => { - let n = nanos.sample(rng); - Duration::new(secs, n) - } - UniformDurationMode::Medium { nanos } => { - let nanos = nanos.sample(rng); - Duration::new(nanos / 1_000_000_000, (nanos % 1_000_000_000) as u32) - } - UniformDurationMode::Large { max_secs, max_nanos, secs } => { - // constant folding means this is at least as fast as `gen_range` - let nano_range = Uniform::new(0, 1_000_000_000); - loop { - let s = secs.sample(rng); - let n = nano_range.sample(rng); - if !(s == max_secs && n > max_nanos) { - let sum = n + self.offset; - break Duration::new(s, sum); - } - } - } - } - } -} - -#[cfg(test)] -mod tests { - use Rng; - use rngs::mock::StepRng; - use distributions::uniform::Uniform; - use distributions::utils::FloatAsSIMD; - #[cfg(feature="simd_support")] use packed_simd::*; - - #[should_panic] - #[test] - fn test_uniform_bad_limits_equal_int() { - Uniform::new(10, 10); - } - - #[test] - fn test_uniform_good_limits_equal_int() { - let mut rng = ::test::rng(804); - let dist = Uniform::new_inclusive(10, 10); - for _ in 0..20 { - assert_eq!(rng.sample(dist), 10); - } - } - - #[should_panic] - #[test] - fn test_uniform_bad_limits_flipped_int() { - Uniform::new(10, 5); - } - - #[test] - fn test_integers() { - use core::{i8, i16, i32, i64, isize}; - use core::{u8, u16, u32, u64, usize}; - #[cfg(all(rustc_1_26, not(target_os = "emscripten")))] - use core::{i128, u128}; - - let mut rng = ::test::rng(251); - macro_rules! t { - ($ty:ident, $v:expr, $le:expr, $lt:expr) => {{ - for &(low, high) in $v.iter() { - let my_uniform = Uniform::new(low, high); - for _ in 0..1000 { - let v: $ty = rng.sample(my_uniform); - assert!($le(low, v) && $lt(v, high)); - } - - let my_uniform = Uniform::new_inclusive(low, high); - for _ in 0..1000 { - let v: $ty = rng.sample(my_uniform); - assert!($le(low, v) && $le(v, high)); - } - - let my_uniform = Uniform::new(&low, high); - for _ in 0..1000 { - let v: $ty = rng.sample(my_uniform); - assert!($le(low, v) && $lt(v, high)); - } - - let my_uniform = Uniform::new_inclusive(&low, &high); - for _ in 0..1000 { - let v: $ty = rng.sample(my_uniform); - assert!($le(low, v) && $le(v, high)); - } - - for _ in 0..1000 { - let v: $ty = rng.gen_range(low, high); - assert!($le(low, v) && $lt(v, high)); - } - } - }}; - - // scalar bulk - ($($ty:ident),*) => {{ - $(t!( - $ty, - [(0, 10), (10, 127), ($ty::MIN, $ty::MAX)], - |x, y| x <= y, - |x, y| x < y - );)* - }}; - - // simd bulk - ($($ty:ident),* => $scalar:ident) => {{ - $(t!( - $ty, - [ - ($ty::splat(0), $ty::splat(10)), - ($ty::splat(10), $ty::splat(127)), - ($ty::splat($scalar::MIN), $ty::splat($scalar::MAX)), - ], - |x: $ty, y| x.le(y).all(), - |x: $ty, y| x.lt(y).all() - );)* - }}; - } - t!(i8, i16, i32, i64, isize, - u8, u16, u32, u64, usize); - #[cfg(all(rustc_1_26, not(target_os = "emscripten")))] - t!(i128, u128); - - #[cfg(all(feature = "simd_support", feature = "nightly"))] - { - t!(u8x2, u8x4, u8x8, u8x16, u8x32, u8x64 => u8); - t!(i8x2, i8x4, i8x8, i8x16, i8x32, i8x64 => i8); - t!(u16x2, u16x4, u16x8, u16x16, u16x32 => u16); - t!(i16x2, i16x4, i16x8, i16x16, i16x32 => i16); - t!(u32x2, u32x4, u32x8, u32x16 => u32); - t!(i32x2, i32x4, i32x8, i32x16 => i32); - t!(u64x2, u64x4, u64x8 => u64); - t!(i64x2, i64x4, i64x8 => i64); - } - } - - #[test] - fn test_floats() { - let mut rng = ::test::rng(252); - let mut zero_rng = StepRng::new(0, 0); - let mut max_rng = StepRng::new(0xffff_ffff_ffff_ffff, 0); - macro_rules! t { - ($ty:ty, $f_scalar:ident, $bits_shifted:expr) => {{ - let v: &[($f_scalar, $f_scalar)]= - &[(0.0, 100.0), - (-1e35, -1e25), - (1e-35, 1e-25), - (-1e35, 1e35), - (<$f_scalar>::from_bits(0), <$f_scalar>::from_bits(3)), - (-<$f_scalar>::from_bits(10), -<$f_scalar>::from_bits(1)), - (-<$f_scalar>::from_bits(5), 0.0), - (-<$f_scalar>::from_bits(7), -0.0), - (10.0, ::core::$f_scalar::MAX), - (-100.0, ::core::$f_scalar::MAX), - (-::core::$f_scalar::MAX / 5.0, ::core::$f_scalar::MAX), - (-::core::$f_scalar::MAX, ::core::$f_scalar::MAX / 5.0), - (-::core::$f_scalar::MAX * 0.8, ::core::$f_scalar::MAX * 0.7), - (-::core::$f_scalar::MAX, ::core::$f_scalar::MAX), - ]; - for &(low_scalar, high_scalar) in v.iter() { - for lane in 0..<$ty>::lanes() { - let low = <$ty>::splat(0.0 as $f_scalar).replace(lane, low_scalar); - let high = <$ty>::splat(1.0 as $f_scalar).replace(lane, high_scalar); - let my_uniform = Uniform::new(low, high); - let my_incl_uniform = Uniform::new_inclusive(low, high); - for _ in 0..100 { - let v = rng.sample(my_uniform).extract(lane); - assert!(low_scalar <= v && v < high_scalar); - let v = rng.sample(my_incl_uniform).extract(lane); - assert!(low_scalar <= v && v <= high_scalar); - let v = rng.gen_range(low, high).extract(lane); - assert!(low_scalar <= v && v < high_scalar); - } - - assert_eq!(rng.sample(Uniform::new_inclusive(low, low)).extract(lane), low_scalar); - - assert_eq!(zero_rng.sample(my_uniform).extract(lane), low_scalar); - assert_eq!(zero_rng.sample(my_incl_uniform).extract(lane), low_scalar); - assert_eq!(zero_rng.gen_range(low, high).extract(lane), low_scalar); - assert!(max_rng.sample(my_uniform).extract(lane) < high_scalar); - assert!(max_rng.sample(my_incl_uniform).extract(lane) <= high_scalar); - - // Don't run this test for really tiny differences between high and low - // since for those rounding might result in selecting high for a very - // long time. - if (high_scalar - low_scalar) > 0.0001 { - let mut lowering_max_rng = - StepRng::new(0xffff_ffff_ffff_ffff, - (-1i64 << $bits_shifted) as u64); - assert!(lowering_max_rng.gen_range(low, high).extract(lane) < high_scalar); - } - } - } - - assert_eq!(rng.sample(Uniform::new_inclusive(::core::$f_scalar::MAX, - ::core::$f_scalar::MAX)), - ::core::$f_scalar::MAX); - assert_eq!(rng.sample(Uniform::new_inclusive(-::core::$f_scalar::MAX, - -::core::$f_scalar::MAX)), - -::core::$f_scalar::MAX); - }} - } - - t!(f32, f32, 32 - 23); - t!(f64, f64, 64 - 52); - #[cfg(feature="simd_support")] - { - t!(f32x2, f32, 32 - 23); - t!(f32x4, f32, 32 - 23); - t!(f32x8, f32, 32 - 23); - t!(f32x16, f32, 32 - 23); - t!(f64x2, f64, 64 - 52); - t!(f64x4, f64, 64 - 52); - t!(f64x8, f64, 64 - 52); - } - } - - #[test] - #[cfg(all(feature="std", - not(target_arch = "wasm32"), - not(target_arch = "asmjs")))] - fn test_float_assertions() { - use std::panic::catch_unwind; - use super::SampleUniform; - fn range(low: T, high: T) { - let mut rng = ::test::rng(253); - rng.gen_range(low, high); - } - - macro_rules! t { - ($ty:ident, $f_scalar:ident) => {{ - let v: &[($f_scalar, $f_scalar)] = - &[(::std::$f_scalar::NAN, 0.0), - (1.0, ::std::$f_scalar::NAN), - (::std::$f_scalar::NAN, ::std::$f_scalar::NAN), - (1.0, 0.5), - (::std::$f_scalar::MAX, -::std::$f_scalar::MAX), - (::std::$f_scalar::INFINITY, ::std::$f_scalar::INFINITY), - (::std::$f_scalar::NEG_INFINITY, ::std::$f_scalar::NEG_INFINITY), - (::std::$f_scalar::NEG_INFINITY, 5.0), - (5.0, ::std::$f_scalar::INFINITY), - (::std::$f_scalar::NAN, ::std::$f_scalar::INFINITY), - (::std::$f_scalar::NEG_INFINITY, ::std::$f_scalar::NAN), - (::std::$f_scalar::NEG_INFINITY, ::std::$f_scalar::INFINITY), - ]; - for &(low_scalar, high_scalar) in v.iter() { - for lane in 0..<$ty>::lanes() { - let low = <$ty>::splat(0.0 as $f_scalar).replace(lane, low_scalar); - let high = <$ty>::splat(1.0 as $f_scalar).replace(lane, high_scalar); - assert!(catch_unwind(|| range(low, high)).is_err()); - assert!(catch_unwind(|| Uniform::new(low, high)).is_err()); - assert!(catch_unwind(|| Uniform::new_inclusive(low, high)).is_err()); - assert!(catch_unwind(|| range(low, low)).is_err()); - assert!(catch_unwind(|| Uniform::new(low, low)).is_err()); - } - } - }} - } - - t!(f32, f32); - t!(f64, f64); - #[cfg(feature="simd_support")] - { - t!(f32x2, f32); - t!(f32x4, f32); - t!(f32x8, f32); - t!(f32x16, f32); - t!(f64x2, f64); - t!(f64x4, f64); - t!(f64x8, f64); - } - } - - - #[test] - #[cfg(any(feature = "std", rustc_1_25))] - fn test_durations() { - #[cfg(feature = "std")] - use std::time::Duration; - #[cfg(all(not(feature = "std"), rustc_1_25))] - use core::time::Duration; - - let mut rng = ::test::rng(253); - - let v = &[(Duration::new(10, 50000), Duration::new(100, 1234)), - (Duration::new(0, 100), Duration::new(1, 50)), - (Duration::new(0, 0), Duration::new(u64::max_value(), 999_999_999))]; - for &(low, high) in v.iter() { - let my_uniform = Uniform::new(low, high); - for _ in 0..1000 { - let v = rng.sample(my_uniform); - assert!(low <= v && v < high); - } - } - } - - #[test] - fn test_custom_uniform() { - use distributions::uniform::{UniformSampler, UniformFloat, SampleUniform, SampleBorrow}; - #[derive(Clone, Copy, PartialEq, PartialOrd)] - struct MyF32 { - x: f32, - } - #[derive(Clone, Copy, Debug)] - struct UniformMyF32 { - inner: UniformFloat, - } - impl UniformSampler for UniformMyF32 { - type X = MyF32; - fn new(low: B1, high: B2) -> Self - where B1: SampleBorrow + Sized, - B2: SampleBorrow + Sized - { - UniformMyF32 { - inner: UniformFloat::::new(low.borrow().x, high.borrow().x), - } - } - fn new_inclusive(low: B1, high: B2) -> Self - where B1: SampleBorrow + Sized, - B2: SampleBorrow + Sized - { - UniformSampler::new(low, high) - } - fn sample(&self, rng: &mut R) -> Self::X { - MyF32 { x: self.inner.sample(rng) } - } - } - impl SampleUniform for MyF32 { - type Sampler = UniformMyF32; - } - - let (low, high) = (MyF32{ x: 17.0f32 }, MyF32{ x: 22.0f32 }); - let uniform = Uniform::new(low, high); - let mut rng = ::test::rng(804); - for _ in 0..100 { - let x: MyF32 = rng.sample(uniform); - assert!(low <= x && x < high); - } - } - - #[test] - fn test_uniform_from_std_range() { - let r = Uniform::from(2u32..7); - assert_eq!(r.inner.low, 2); - assert_eq!(r.inner.range, 5); - let r = Uniform::from(2.0f64..7.0); - assert_eq!(r.inner.low, 2.0); - assert_eq!(r.inner.scale, 5.0); - } - - #[cfg(rustc_1_27)] - #[test] - fn test_uniform_from_std_range_inclusive() { - let r = Uniform::from(2u32..=6); - assert_eq!(r.inner.low, 2); - assert_eq!(r.inner.range, 5); - let r = Uniform::from(2.0f64..=7.0); - assert_eq!(r.inner.low, 2.0); - assert!(r.inner.scale > 5.0); - assert!(r.inner.scale < 5.0 + 1e-14); - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/unit_circle.rs b/vendor/registry-40351f815f426200/rand/src/distributions/unit_circle.rs deleted file mode 100644 index 01ab76a38..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/unit_circle.rs +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -use Rng; -use distributions::{Distribution, Uniform}; - -/// Samples uniformly from the edge of the unit circle in two dimensions. -/// -/// Implemented via a method by von Neumann[^1]. -/// -/// -/// # Example -/// -/// ``` -/// use rand::distributions::{UnitCircle, Distribution}; -/// -/// let circle = UnitCircle::new(); -/// let v = circle.sample(&mut rand::thread_rng()); -/// println!("{:?} is from the unit circle.", v) -/// ``` -/// -/// [^1]: von Neumann, J. (1951) [*Various Techniques Used in Connection with -/// Random Digits.*](https://mcnp.lanl.gov/pdf_files/nbs_vonneumann.pdf) -/// NBS Appl. Math. Ser., No. 12. Washington, DC: U.S. Government Printing -/// Office, pp. 36-38. -#[derive(Clone, Copy, Debug)] -pub struct UnitCircle; - -impl UnitCircle { - /// Construct a new `UnitCircle` distribution. - #[inline] - pub fn new() -> UnitCircle { - UnitCircle - } -} - -impl Distribution<[f64; 2]> for UnitCircle { - #[inline] - fn sample(&self, rng: &mut R) -> [f64; 2] { - let uniform = Uniform::new(-1., 1.); - let mut x1; - let mut x2; - let mut sum; - loop { - x1 = uniform.sample(rng); - x2 = uniform.sample(rng); - sum = x1*x1 + x2*x2; - if sum < 1. { - break; - } - } - let diff = x1*x1 - x2*x2; - [diff / sum, 2.*x1*x2 / sum] - } -} - -#[cfg(test)] -mod tests { - use distributions::Distribution; - use super::UnitCircle; - - /// Assert that two numbers are almost equal to each other. - /// - /// On panic, this macro will print the values of the expressions with their - /// debug representations. - macro_rules! assert_almost_eq { - ($a:expr, $b:expr, $prec:expr) => ( - let diff = ($a - $b).abs(); - if diff > $prec { - panic!(format!( - "assertion failed: `abs(left - right) = {:.1e} < {:e}`, \ - (left: `{}`, right: `{}`)", - diff, $prec, $a, $b)); - } - ); - } - - #[test] - fn norm() { - let mut rng = ::test::rng(1); - let dist = UnitCircle::new(); - for _ in 0..1000 { - let x = dist.sample(&mut rng); - assert_almost_eq!(x[0]*x[0] + x[1]*x[1], 1., 1e-15); - } - } - - #[test] - fn value_stability() { - let mut rng = ::test::rng(2); - let dist = UnitCircle::new(); - assert_eq!(dist.sample(&mut rng), [-0.8032118336637037, 0.5956935036263119]); - assert_eq!(dist.sample(&mut rng), [-0.4742919588505423, -0.880367615130018]); - assert_eq!(dist.sample(&mut rng), [0.9297328981467168, 0.368234623716601]); - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/unit_sphere.rs b/vendor/registry-40351f815f426200/rand/src/distributions/unit_sphere.rs deleted file mode 100644 index 37de88b6a..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/unit_sphere.rs +++ /dev/null @@ -1,99 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -use Rng; -use distributions::{Distribution, Uniform}; - -/// Samples uniformly from the surface of the unit sphere in three dimensions. -/// -/// Implemented via a method by Marsaglia[^1]. -/// -/// -/// # Example -/// -/// ``` -/// use rand::distributions::{UnitSphereSurface, Distribution}; -/// -/// let sphere = UnitSphereSurface::new(); -/// let v = sphere.sample(&mut rand::thread_rng()); -/// println!("{:?} is from the unit sphere surface.", v) -/// ``` -/// -/// [^1]: Marsaglia, George (1972). [*Choosing a Point from the Surface of a -/// Sphere.*](https://doi.org/10.1214/aoms/1177692644) -/// Ann. Math. Statist. 43, no. 2, 645--646. -#[derive(Clone, Copy, Debug)] -pub struct UnitSphereSurface; - -impl UnitSphereSurface { - /// Construct a new `UnitSphereSurface` distribution. - #[inline] - pub fn new() -> UnitSphereSurface { - UnitSphereSurface - } -} - -impl Distribution<[f64; 3]> for UnitSphereSurface { - #[inline] - fn sample(&self, rng: &mut R) -> [f64; 3] { - let uniform = Uniform::new(-1., 1.); - loop { - let (x1, x2) = (uniform.sample(rng), uniform.sample(rng)); - let sum = x1*x1 + x2*x2; - if sum >= 1. { - continue; - } - let factor = 2. * (1.0_f64 - sum).sqrt(); - return [x1 * factor, x2 * factor, 1. - 2.*sum]; - } - } -} - -#[cfg(test)] -mod tests { - use distributions::Distribution; - use super::UnitSphereSurface; - - /// Assert that two numbers are almost equal to each other. - /// - /// On panic, this macro will print the values of the expressions with their - /// debug representations. - macro_rules! assert_almost_eq { - ($a:expr, $b:expr, $prec:expr) => ( - let diff = ($a - $b).abs(); - if diff > $prec { - panic!(format!( - "assertion failed: `abs(left - right) = {:.1e} < {:e}`, \ - (left: `{}`, right: `{}`)", - diff, $prec, $a, $b)); - } - ); - } - - #[test] - fn norm() { - let mut rng = ::test::rng(1); - let dist = UnitSphereSurface::new(); - for _ in 0..1000 { - let x = dist.sample(&mut rng); - assert_almost_eq!(x[0]*x[0] + x[1]*x[1] + x[2]*x[2], 1., 1e-15); - } - } - - #[test] - fn value_stability() { - let mut rng = ::test::rng(2); - let dist = UnitSphereSurface::new(); - assert_eq!(dist.sample(&mut rng), - [-0.24950027180862533, -0.7552572587896719, 0.6060825747478084]); - assert_eq!(dist.sample(&mut rng), - [0.47604534507233487, -0.797200864987207, -0.3712837328763685]); - assert_eq!(dist.sample(&mut rng), - [0.9795722330927367, 0.18692349236651176, 0.07414747571708524]); - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/utils.rs b/vendor/registry-40351f815f426200/rand/src/distributions/utils.rs deleted file mode 100644 index d4d364263..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/utils.rs +++ /dev/null @@ -1,504 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Math helper functions - -#[cfg(feature="simd_support")] -use packed_simd::*; -#[cfg(feature="std")] -use distributions::ziggurat_tables; -#[cfg(feature="std")] -use Rng; - - -pub trait WideningMultiply { - type Output; - - fn wmul(self, x: RHS) -> Self::Output; -} - -macro_rules! wmul_impl { - ($ty:ty, $wide:ty, $shift:expr) => { - impl WideningMultiply for $ty { - type Output = ($ty, $ty); - - #[inline(always)] - fn wmul(self, x: $ty) -> Self::Output { - let tmp = (self as $wide) * (x as $wide); - ((tmp >> $shift) as $ty, tmp as $ty) - } - } - }; - - // simd bulk implementation - ($(($ty:ident, $wide:ident),)+, $shift:expr) => { - $( - impl WideningMultiply for $ty { - type Output = ($ty, $ty); - - #[inline(always)] - fn wmul(self, x: $ty) -> Self::Output { - // For supported vectors, this should compile to a couple - // supported multiply & swizzle instructions (no actual - // casting). - // TODO: optimize - let y: $wide = self.cast(); - let x: $wide = x.cast(); - let tmp = y * x; - let hi: $ty = (tmp >> $shift).cast(); - let lo: $ty = tmp.cast(); - (hi, lo) - } - } - )+ - }; -} -wmul_impl! { u8, u16, 8 } -wmul_impl! { u16, u32, 16 } -wmul_impl! { u32, u64, 32 } -#[cfg(all(rustc_1_26, not(target_os = "emscripten")))] -wmul_impl! { u64, u128, 64 } - -// This code is a translation of the __mulddi3 function in LLVM's -// compiler-rt. It is an optimised variant of the common method -// `(a + b) * (c + d) = ac + ad + bc + bd`. -// -// For some reason LLVM can optimise the C version very well, but -// keeps shuffling registers in this Rust translation. -macro_rules! wmul_impl_large { - ($ty:ty, $half:expr) => { - impl WideningMultiply for $ty { - type Output = ($ty, $ty); - - #[inline(always)] - fn wmul(self, b: $ty) -> Self::Output { - const LOWER_MASK: $ty = !0 >> $half; - let mut low = (self & LOWER_MASK).wrapping_mul(b & LOWER_MASK); - let mut t = low >> $half; - low &= LOWER_MASK; - t += (self >> $half).wrapping_mul(b & LOWER_MASK); - low += (t & LOWER_MASK) << $half; - let mut high = t >> $half; - t = low >> $half; - low &= LOWER_MASK; - t += (b >> $half).wrapping_mul(self & LOWER_MASK); - low += (t & LOWER_MASK) << $half; - high += t >> $half; - high += (self >> $half).wrapping_mul(b >> $half); - - (high, low) - } - } - }; - - // simd bulk implementation - (($($ty:ty,)+) $scalar:ty, $half:expr) => { - $( - impl WideningMultiply for $ty { - type Output = ($ty, $ty); - - #[inline(always)] - fn wmul(self, b: $ty) -> Self::Output { - // needs wrapping multiplication - const LOWER_MASK: $scalar = !0 >> $half; - let mut low = (self & LOWER_MASK) * (b & LOWER_MASK); - let mut t = low >> $half; - low &= LOWER_MASK; - t += (self >> $half) * (b & LOWER_MASK); - low += (t & LOWER_MASK) << $half; - let mut high = t >> $half; - t = low >> $half; - low &= LOWER_MASK; - t += (b >> $half) * (self & LOWER_MASK); - low += (t & LOWER_MASK) << $half; - high += t >> $half; - high += (self >> $half) * (b >> $half); - - (high, low) - } - } - )+ - }; -} -#[cfg(not(all(rustc_1_26, not(target_os = "emscripten"))))] -wmul_impl_large! { u64, 32 } -#[cfg(all(rustc_1_26, not(target_os = "emscripten")))] -wmul_impl_large! { u128, 64 } - -macro_rules! wmul_impl_usize { - ($ty:ty) => { - impl WideningMultiply for usize { - type Output = (usize, usize); - - #[inline(always)] - fn wmul(self, x: usize) -> Self::Output { - let (high, low) = (self as $ty).wmul(x as $ty); - (high as usize, low as usize) - } - } - } -} -#[cfg(target_pointer_width = "32")] -wmul_impl_usize! { u32 } -#[cfg(target_pointer_width = "64")] -wmul_impl_usize! { u64 } - -#[cfg(all(feature = "simd_support", feature = "nightly"))] -mod simd_wmul { - #[cfg(target_arch = "x86")] - use core::arch::x86::*; - #[cfg(target_arch = "x86_64")] - use core::arch::x86_64::*; - use super::*; - - wmul_impl! { - (u8x2, u16x2), - (u8x4, u16x4), - (u8x8, u16x8), - (u8x16, u16x16), - (u8x32, u16x32),, - 8 - } - - wmul_impl! { (u16x2, u32x2),, 16 } - #[cfg(not(target_feature = "sse2"))] - wmul_impl! { (u16x4, u32x4),, 16 } - #[cfg(not(target_feature = "sse4.2"))] - wmul_impl! { (u16x8, u32x8),, 16 } - #[cfg(not(target_feature = "avx2"))] - wmul_impl! { (u16x16, u32x16),, 16 } - - // 16-bit lane widths allow use of the x86 `mulhi` instructions, which - // means `wmul` can be implemented with only two instructions. - #[allow(unused_macros)] - macro_rules! wmul_impl_16 { - ($ty:ident, $intrinsic:ident, $mulhi:ident, $mullo:ident) => { - impl WideningMultiply for $ty { - type Output = ($ty, $ty); - - #[inline(always)] - fn wmul(self, x: $ty) -> Self::Output { - let b = $intrinsic::from_bits(x); - let a = $intrinsic::from_bits(self); - let hi = $ty::from_bits(unsafe { $mulhi(a, b) }); - let lo = $ty::from_bits(unsafe { $mullo(a, b) }); - (hi, lo) - } - } - }; - } - - #[cfg(target_feature = "sse2")] - wmul_impl_16! { u16x4, __m64, _mm_mulhi_pu16, _mm_mullo_pi16 } - #[cfg(target_feature = "sse4.2")] - wmul_impl_16! { u16x8, __m128i, _mm_mulhi_epu16, _mm_mullo_epi16 } - #[cfg(target_feature = "avx2")] - wmul_impl_16! { u16x16, __m256i, _mm256_mulhi_epu16, _mm256_mullo_epi16 } - // FIXME: there are no `__m512i` types in stdsimd yet, so `wmul::` - // cannot use the same implementation. - - wmul_impl! { - (u32x2, u64x2), - (u32x4, u64x4), - (u32x8, u64x8),, - 32 - } - - // TODO: optimize, this seems to seriously slow things down - wmul_impl_large! { (u8x64,) u8, 4 } - wmul_impl_large! { (u16x32,) u16, 8 } - wmul_impl_large! { (u32x16,) u32, 16 } - wmul_impl_large! { (u64x2, u64x4, u64x8,) u64, 32 } -} -#[cfg(all(feature = "simd_support", feature = "nightly"))] -pub use self::simd_wmul::*; - - -/// Helper trait when dealing with scalar and SIMD floating point types. -pub(crate) trait FloatSIMDUtils { - // `PartialOrd` for vectors compares lexicographically. We want to compare all - // the individual SIMD lanes instead, and get the combined result over all - // lanes. This is possible using something like `a.lt(b).all()`, but we - // implement it as a trait so we can write the same code for `f32` and `f64`. - // Only the comparison functions we need are implemented. - fn all_lt(self, other: Self) -> bool; - fn all_le(self, other: Self) -> bool; - fn all_finite(self) -> bool; - - type Mask; - fn finite_mask(self) -> Self::Mask; - fn gt_mask(self, other: Self) -> Self::Mask; - fn ge_mask(self, other: Self) -> Self::Mask; - - // Decrease all lanes where the mask is `true` to the next lower value - // representable by the floating-point type. At least one of the lanes - // must be set. - fn decrease_masked(self, mask: Self::Mask) -> Self; - - // Convert from int value. Conversion is done while retaining the numerical - // value, not by retaining the binary representation. - type UInt; - fn cast_from_int(i: Self::UInt) -> Self; -} - -/// Implement functions available in std builds but missing from core primitives -#[cfg(not(std))] -pub(crate) trait Float : Sized { - type Bits; - - fn is_nan(self) -> bool; - fn is_infinite(self) -> bool; - fn is_finite(self) -> bool; - fn to_bits(self) -> Self::Bits; - fn from_bits(v: Self::Bits) -> Self; -} - -/// Implement functions on f32/f64 to give them APIs similar to SIMD types -pub(crate) trait FloatAsSIMD : Sized { - #[inline(always)] - fn lanes() -> usize { 1 } - #[inline(always)] - fn splat(scalar: Self) -> Self { scalar } - #[inline(always)] - fn extract(self, index: usize) -> Self { debug_assert_eq!(index, 0); self } - #[inline(always)] - fn replace(self, index: usize, new_value: Self) -> Self { debug_assert_eq!(index, 0); new_value } -} - -pub(crate) trait BoolAsSIMD : Sized { - fn any(self) -> bool; - fn all(self) -> bool; - fn none(self) -> bool; -} - -impl BoolAsSIMD for bool { - #[inline(always)] - fn any(self) -> bool { self } - #[inline(always)] - fn all(self) -> bool { self } - #[inline(always)] - fn none(self) -> bool { !self } -} - -macro_rules! scalar_float_impl { - ($ty:ident, $uty:ident) => { - #[cfg(not(std))] - impl Float for $ty { - type Bits = $uty; - - #[inline] - fn is_nan(self) -> bool { - self != self - } - - #[inline] - fn is_infinite(self) -> bool { - self == ::core::$ty::INFINITY || self == ::core::$ty::NEG_INFINITY - } - - #[inline] - fn is_finite(self) -> bool { - !(self.is_nan() || self.is_infinite()) - } - - #[inline] - fn to_bits(self) -> Self::Bits { - unsafe { ::core::mem::transmute(self) } - } - - #[inline] - fn from_bits(v: Self::Bits) -> Self { - // It turns out the safety issues with sNaN were overblown! Hooray! - unsafe { ::core::mem::transmute(v) } - } - } - - impl FloatSIMDUtils for $ty { - type Mask = bool; - #[inline(always)] - fn all_lt(self, other: Self) -> bool { self < other } - #[inline(always)] - fn all_le(self, other: Self) -> bool { self <= other } - #[inline(always)] - fn all_finite(self) -> bool { self.is_finite() } - #[inline(always)] - fn finite_mask(self) -> Self::Mask { self.is_finite() } - #[inline(always)] - fn gt_mask(self, other: Self) -> Self::Mask { self > other } - #[inline(always)] - fn ge_mask(self, other: Self) -> Self::Mask { self >= other } - #[inline(always)] - fn decrease_masked(self, mask: Self::Mask) -> Self { - debug_assert!(mask, "At least one lane must be set"); - <$ty>::from_bits(self.to_bits() - 1) - } - type UInt = $uty; - fn cast_from_int(i: Self::UInt) -> Self { i as $ty } - } - - impl FloatAsSIMD for $ty {} - } -} - -scalar_float_impl!(f32, u32); -scalar_float_impl!(f64, u64); - - -#[cfg(feature="simd_support")] -macro_rules! simd_impl { - ($ty:ident, $f_scalar:ident, $mty:ident, $uty:ident) => { - impl FloatSIMDUtils for $ty { - type Mask = $mty; - #[inline(always)] - fn all_lt(self, other: Self) -> bool { self.lt(other).all() } - #[inline(always)] - fn all_le(self, other: Self) -> bool { self.le(other).all() } - #[inline(always)] - fn all_finite(self) -> bool { self.finite_mask().all() } - #[inline(always)] - fn finite_mask(self) -> Self::Mask { - // This can possibly be done faster by checking bit patterns - let neg_inf = $ty::splat(::core::$f_scalar::NEG_INFINITY); - let pos_inf = $ty::splat(::core::$f_scalar::INFINITY); - self.gt(neg_inf) & self.lt(pos_inf) - } - #[inline(always)] - fn gt_mask(self, other: Self) -> Self::Mask { self.gt(other) } - #[inline(always)] - fn ge_mask(self, other: Self) -> Self::Mask { self.ge(other) } - #[inline(always)] - fn decrease_masked(self, mask: Self::Mask) -> Self { - // Casting a mask into ints will produce all bits set for - // true, and 0 for false. Adding that to the binary - // representation of a float means subtracting one from - // the binary representation, resulting in the next lower - // value representable by $ty. This works even when the - // current value is infinity. - debug_assert!(mask.any(), "At least one lane must be set"); - <$ty>::from_bits(<$uty>::from_bits(self) + <$uty>::from_bits(mask)) - } - type UInt = $uty; - fn cast_from_int(i: Self::UInt) -> Self { i.cast() } - } - } -} - -#[cfg(feature="simd_support")] simd_impl! { f32x2, f32, m32x2, u32x2 } -#[cfg(feature="simd_support")] simd_impl! { f32x4, f32, m32x4, u32x4 } -#[cfg(feature="simd_support")] simd_impl! { f32x8, f32, m32x8, u32x8 } -#[cfg(feature="simd_support")] simd_impl! { f32x16, f32, m32x16, u32x16 } -#[cfg(feature="simd_support")] simd_impl! { f64x2, f64, m64x2, u64x2 } -#[cfg(feature="simd_support")] simd_impl! { f64x4, f64, m64x4, u64x4 } -#[cfg(feature="simd_support")] simd_impl! { f64x8, f64, m64x8, u64x8 } - -/// Calculates ln(gamma(x)) (natural logarithm of the gamma -/// function) using the Lanczos approximation. -/// -/// The approximation expresses the gamma function as: -/// `gamma(z+1) = sqrt(2*pi)*(z+g+0.5)^(z+0.5)*exp(-z-g-0.5)*Ag(z)` -/// `g` is an arbitrary constant; we use the approximation with `g=5`. -/// -/// Noting that `gamma(z+1) = z*gamma(z)` and applying `ln` to both sides: -/// `ln(gamma(z)) = (z+0.5)*ln(z+g+0.5)-(z+g+0.5) + ln(sqrt(2*pi)*Ag(z)/z)` -/// -/// `Ag(z)` is an infinite series with coefficients that can be calculated -/// ahead of time - we use just the first 6 terms, which is good enough -/// for most purposes. -#[cfg(feature="std")] -pub fn log_gamma(x: f64) -> f64 { - // precalculated 6 coefficients for the first 6 terms of the series - let coefficients: [f64; 6] = [ - 76.18009172947146, - -86.50532032941677, - 24.01409824083091, - -1.231739572450155, - 0.1208650973866179e-2, - -0.5395239384953e-5, - ]; - - // (x+0.5)*ln(x+g+0.5)-(x+g+0.5) - let tmp = x + 5.5; - let log = (x + 0.5) * tmp.ln() - tmp; - - // the first few terms of the series for Ag(x) - let mut a = 1.000000000190015; - let mut denom = x; - for coeff in &coefficients { - denom += 1.0; - a += coeff / denom; - } - - // get everything together - // a is Ag(x) - // 2.5066... is sqrt(2pi) - log + (2.5066282746310005 * a / x).ln() -} - -/// Sample a random number using the Ziggurat method (specifically the -/// ZIGNOR variant from Doornik 2005). Most of the arguments are -/// directly from the paper: -/// -/// * `rng`: source of randomness -/// * `symmetric`: whether this is a symmetric distribution, or one-sided with P(x < 0) = 0. -/// * `X`: the $x_i$ abscissae. -/// * `F`: precomputed values of the PDF at the $x_i$, (i.e. $f(x_i)$) -/// * `F_DIFF`: precomputed values of $f(x_i) - f(x_{i+1})$ -/// * `pdf`: the probability density function -/// * `zero_case`: manual sampling from the tail when we chose the -/// bottom box (i.e. i == 0) - -// the perf improvement (25-50%) is definitely worth the extra code -// size from force-inlining. -#[cfg(feature="std")] -#[inline(always)] -pub fn ziggurat( - rng: &mut R, - symmetric: bool, - x_tab: ziggurat_tables::ZigTable, - f_tab: ziggurat_tables::ZigTable, - mut pdf: P, - mut zero_case: Z) - -> f64 where P: FnMut(f64) -> f64, Z: FnMut(&mut R, f64) -> f64 { - use distributions::float::IntoFloat; - loop { - // As an optimisation we re-implement the conversion to a f64. - // From the remaining 12 most significant bits we use 8 to construct `i`. - // This saves us generating a whole extra random number, while the added - // precision of using 64 bits for f64 does not buy us much. - let bits = rng.next_u64(); - let i = bits as usize & 0xff; - - let u = if symmetric { - // Convert to a value in the range [2,4) and substract to get [-1,1) - // We can't convert to an open range directly, that would require - // substracting `3.0 - EPSILON`, which is not representable. - // It is possible with an extra step, but an open range does not - // seem neccesary for the ziggurat algorithm anyway. - (bits >> 12).into_float_with_exponent(1) - 3.0 - } else { - // Convert to a value in the range [1,2) and substract to get (0,1) - (bits >> 12).into_float_with_exponent(0) - - (1.0 - ::core::f64::EPSILON / 2.0) - }; - let x = u * x_tab[i]; - - let test_x = if symmetric { x.abs() } else {x}; - - // algebraically equivalent to |u| < x_tab[i+1]/x_tab[i] (or u < x_tab[i+1]/x_tab[i]) - if test_x < x_tab[i + 1] { - return x; - } - if i == 0 { - return zero_case(rng, u); - } - // algebraically equivalent to f1 + DRanU()*(f0 - f1) < 1 - if f_tab[i + 1] + (f_tab[i] - f_tab[i + 1]) * rng.gen::() < pdf(x) { - return x; - } - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/weibull.rs b/vendor/registry-40351f815f426200/rand/src/distributions/weibull.rs deleted file mode 100644 index 5fbe10ae9..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/weibull.rs +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The Weibull distribution. - -use Rng; -use distributions::{Distribution, OpenClosed01}; - -/// Samples floating-point numbers according to the Weibull distribution -/// -/// # Example -/// ``` -/// use rand::prelude::*; -/// use rand::distributions::Weibull; -/// -/// let val: f64 = SmallRng::from_entropy().sample(Weibull::new(1., 10.)); -/// println!("{}", val); -/// ``` -#[derive(Clone, Copy, Debug)] -pub struct Weibull { - inv_shape: f64, - scale: f64, -} - -impl Weibull { - /// Construct a new `Weibull` distribution with given `scale` and `shape`. - /// - /// # Panics - /// - /// `scale` and `shape` have to be non-zero and positive. - pub fn new(scale: f64, shape: f64) -> Weibull { - assert!((scale > 0.) & (shape > 0.)); - Weibull { inv_shape: 1./shape, scale } - } -} - -impl Distribution for Weibull { - fn sample(&self, rng: &mut R) -> f64 { - let x: f64 = rng.sample(OpenClosed01); - self.scale * (-x.ln()).powf(self.inv_shape) - } -} - -#[cfg(test)] -mod tests { - use distributions::Distribution; - use super::Weibull; - - #[test] - #[should_panic] - fn invalid() { - Weibull::new(0., 0.); - } - - #[test] - fn sample() { - let scale = 1.0; - let shape = 2.0; - let d = Weibull::new(scale, shape); - let mut rng = ::test::rng(1); - for _ in 0..1000 { - let r = d.sample(&mut rng); - assert!(r >= 0.); - } - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/weighted.rs b/vendor/registry-40351f815f426200/rand/src/distributions/weighted.rs deleted file mode 100644 index d7499596e..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/weighted.rs +++ /dev/null @@ -1,230 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -use Rng; -use distributions::Distribution; -use distributions::uniform::{UniformSampler, SampleUniform, SampleBorrow}; -use ::core::cmp::PartialOrd; -use core::fmt; - -// Note that this whole module is only imported if feature="alloc" is enabled. -#[cfg(not(feature="std"))] use alloc::vec::Vec; - -/// A distribution using weighted sampling to pick a discretely selected -/// item. -/// -/// Sampling a `WeightedIndex` distribution returns the index of a randomly -/// selected element from the iterator used when the `WeightedIndex` was -/// created. The chance of a given element being picked is proportional to the -/// value of the element. The weights can use any type `X` for which an -/// implementation of [`Uniform`] exists. -/// -/// # Performance -/// -/// A `WeightedIndex` contains a `Vec` and a [`Uniform`] and so its -/// size is the sum of the size of those objects, possibly plus some alignment. -/// -/// Creating a `WeightedIndex` will allocate enough space to hold `N - 1` -/// weights of type `X`, where `N` is the number of weights. However, since -/// `Vec` doesn't guarantee a particular growth strategy, additional memory -/// might be allocated but not used. Since the `WeightedIndex` object also -/// contains, this might cause additional allocations, though for primitive -/// types, ['Uniform`] doesn't allocate any memory. -/// -/// Time complexity of sampling from `WeightedIndex` is `O(log N)` where -/// `N` is the number of weights. -/// -/// Sampling from `WeightedIndex` will result in a single call to -/// `Uniform::sample` (method of the [`Distribution`] trait), which typically -/// will request a single value from the underlying [`RngCore`], though the -/// exact number depends on the implementaiton of `Uniform::sample`. -/// -/// # Example -/// -/// ``` -/// use rand::prelude::*; -/// use rand::distributions::WeightedIndex; -/// -/// let choices = ['a', 'b', 'c']; -/// let weights = [2, 1, 1]; -/// let dist = WeightedIndex::new(&weights).unwrap(); -/// let mut rng = thread_rng(); -/// for _ in 0..100 { -/// // 50% chance to print 'a', 25% chance to print 'b', 25% chance to print 'c' -/// println!("{}", choices[dist.sample(&mut rng)]); -/// } -/// -/// let items = [('a', 0), ('b', 3), ('c', 7)]; -/// let dist2 = WeightedIndex::new(items.iter().map(|item| item.1)).unwrap(); -/// for _ in 0..100 { -/// // 0% chance to print 'a', 30% chance to print 'b', 70% chance to print 'c' -/// println!("{}", items[dist2.sample(&mut rng)].0); -/// } -/// ``` -/// -/// [`Uniform`]: crate::distributions::uniform::Uniform -/// [`RngCore`]: rand_core::RngCore -#[derive(Debug, Clone)] -pub struct WeightedIndex { - cumulative_weights: Vec, - weight_distribution: X::Sampler, -} - -impl WeightedIndex { - /// Creates a new a `WeightedIndex` [`Distribution`] using the values - /// in `weights`. The weights can use any type `X` for which an - /// implementation of [`Uniform`] exists. - /// - /// Returns an error if the iterator is empty, if any weight is `< 0`, or - /// if its total value is 0. - /// - /// [`Uniform`]: crate::distributions::uniform::Uniform - pub fn new(weights: I) -> Result, WeightedError> - where I: IntoIterator, - I::Item: SampleBorrow, - X: for<'a> ::core::ops::AddAssign<&'a X> + - Clone + - Default { - let mut iter = weights.into_iter(); - let mut total_weight: X = iter.next() - .ok_or(WeightedError::NoItem)? - .borrow() - .clone(); - - let zero = ::default(); - if total_weight < zero { - return Err(WeightedError::NegativeWeight); - } - - let mut weights = Vec::::with_capacity(iter.size_hint().0); - for w in iter { - if *w.borrow() < zero { - return Err(WeightedError::NegativeWeight); - } - weights.push(total_weight.clone()); - total_weight += w.borrow(); - } - - if total_weight == zero { - return Err(WeightedError::AllWeightsZero); - } - let distr = X::Sampler::new(zero, total_weight); - - Ok(WeightedIndex { cumulative_weights: weights, weight_distribution: distr }) - } -} - -impl Distribution for WeightedIndex where - X: SampleUniform + PartialOrd { - fn sample(&self, rng: &mut R) -> usize { - use ::core::cmp::Ordering; - let chosen_weight = self.weight_distribution.sample(rng); - // Find the first item which has a weight *higher* than the chosen weight. - self.cumulative_weights.binary_search_by( - |w| if *w <= chosen_weight { Ordering::Less } else { Ordering::Greater }).unwrap_err() - } -} - -#[cfg(test)] -mod test { - use super::*; - - #[test] - fn test_weightedindex() { - let mut r = ::test::rng(700); - const N_REPS: u32 = 5000; - let weights = [1u32, 2, 3, 0, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7]; - let total_weight = weights.iter().sum::() as f32; - - let verify = |result: [i32; 14]| { - for (i, count) in result.iter().enumerate() { - let exp = (weights[i] * N_REPS) as f32 / total_weight; - let mut err = (*count as f32 - exp).abs(); - if err != 0.0 { - err /= exp; - } - assert!(err <= 0.25); - } - }; - - // WeightedIndex from vec - let mut chosen = [0i32; 14]; - let distr = WeightedIndex::new(weights.to_vec()).unwrap(); - for _ in 0..N_REPS { - chosen[distr.sample(&mut r)] += 1; - } - verify(chosen); - - // WeightedIndex from slice - chosen = [0i32; 14]; - let distr = WeightedIndex::new(&weights[..]).unwrap(); - for _ in 0..N_REPS { - chosen[distr.sample(&mut r)] += 1; - } - verify(chosen); - - // WeightedIndex from iterator - chosen = [0i32; 14]; - let distr = WeightedIndex::new(weights.iter()).unwrap(); - for _ in 0..N_REPS { - chosen[distr.sample(&mut r)] += 1; - } - verify(chosen); - - for _ in 0..5 { - assert_eq!(WeightedIndex::new(&[0, 1]).unwrap().sample(&mut r), 1); - assert_eq!(WeightedIndex::new(&[1, 0]).unwrap().sample(&mut r), 0); - assert_eq!(WeightedIndex::new(&[0, 0, 0, 0, 10, 0]).unwrap().sample(&mut r), 4); - } - - assert_eq!(WeightedIndex::new(&[10][0..0]).unwrap_err(), WeightedError::NoItem); - assert_eq!(WeightedIndex::new(&[0]).unwrap_err(), WeightedError::AllWeightsZero); - assert_eq!(WeightedIndex::new(&[10, 20, -1, 30]).unwrap_err(), WeightedError::NegativeWeight); - assert_eq!(WeightedIndex::new(&[-10, 20, 1, 30]).unwrap_err(), WeightedError::NegativeWeight); - assert_eq!(WeightedIndex::new(&[-10]).unwrap_err(), WeightedError::NegativeWeight); - } -} - -/// Error type returned from `WeightedIndex::new`. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub enum WeightedError { - /// The provided iterator contained no items. - NoItem, - - /// A weight lower than zero was used. - NegativeWeight, - - /// All items in the provided iterator had a weight of zero. - AllWeightsZero, -} - -impl WeightedError { - fn msg(&self) -> &str { - match *self { - WeightedError::NoItem => "No items found", - WeightedError::NegativeWeight => "Item has negative weight", - WeightedError::AllWeightsZero => "All items had weight zero", - } - } -} - -#[cfg(feature="std")] -impl ::std::error::Error for WeightedError { - fn description(&self) -> &str { - self.msg() - } - fn cause(&self) -> Option<&::std::error::Error> { - None - } -} - -impl fmt::Display for WeightedError { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "{}", self.msg()) - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/distributions/ziggurat_tables.rs b/vendor/registry-40351f815f426200/rand/src/distributions/ziggurat_tables.rs deleted file mode 100644 index ca1ce3041..000000000 --- a/vendor/registry-40351f815f426200/rand/src/distributions/ziggurat_tables.rs +++ /dev/null @@ -1,279 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2013 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -// Tables for distributions which are sampled using the ziggurat -// algorithm. Autogenerated by `ziggurat_tables.py`. - -pub type ZigTable = &'static [f64; 257]; -pub const ZIG_NORM_R: f64 = 3.654152885361008796; -pub static ZIG_NORM_X: [f64; 257] = - [3.910757959537090045, 3.654152885361008796, 3.449278298560964462, 3.320244733839166074, - 3.224575052047029100, 3.147889289517149969, 3.083526132001233044, 3.027837791768635434, - 2.978603279880844834, 2.934366867207854224, 2.894121053612348060, 2.857138730872132548, - 2.822877396825325125, 2.790921174000785765, 2.760944005278822555, 2.732685359042827056, - 2.705933656121858100, 2.680514643284522158, 2.656283037575502437, 2.633116393630324570, - 2.610910518487548515, 2.589575986706995181, 2.569035452680536569, 2.549221550323460761, - 2.530075232158516929, 2.511544441625342294, 2.493583041269680667, 2.476149939669143318, - 2.459208374333311298, 2.442725318198956774, 2.426670984935725972, 2.411018413899685520, - 2.395743119780480601, 2.380822795170626005, 2.366237056715818632, 2.351967227377659952, - 2.337996148795031370, 2.324308018869623016, 2.310888250599850036, 2.297723348901329565, - 2.284800802722946056, 2.272108990226823888, 2.259637095172217780, 2.247375032945807760, - 2.235313384928327984, 2.223443340090905718, 2.211756642882544366, 2.200245546609647995, - 2.188902771624720689, 2.177721467738641614, 2.166695180352645966, 2.155817819875063268, - 2.145083634046203613, 2.134487182844320152, 2.124023315687815661, 2.113687150684933957, - 2.103474055713146829, 2.093379631137050279, 2.083399693996551783, 2.073530263516978778, - 2.063767547809956415, 2.054107931648864849, 2.044547965215732788, 2.035084353727808715, - 2.025713947862032960, 2.016433734904371722, 2.007240830558684852, 1.998132471356564244, - 1.989106007615571325, 1.980158896898598364, 1.971288697931769640, 1.962493064942461896, - 1.953769742382734043, 1.945116560006753925, 1.936531428273758904, 1.928012334050718257, - 1.919557336591228847, 1.911164563769282232, 1.902832208548446369, 1.894558525668710081, - 1.886341828534776388, 1.878180486290977669, 1.870072921069236838, 1.862017605397632281, - 1.854013059758148119, 1.846057850283119750, 1.838150586580728607, 1.830289919680666566, - 1.822474540091783224, 1.814703175964167636, 1.806974591348693426, 1.799287584547580199, - 1.791640986550010028, 1.784033659547276329, 1.776464495522344977, 1.768932414909077933, - 1.761436365316706665, 1.753975320315455111, 1.746548278279492994, 1.739154261283669012, - 1.731792314050707216, 1.724461502945775715, 1.717160915015540690, 1.709889657069006086, - 1.702646854797613907, 1.695431651932238548, 1.688243209434858727, 1.681080704722823338, - 1.673943330923760353, 1.666830296159286684, 1.659740822855789499, 1.652674147080648526, - 1.645629517902360339, 1.638606196773111146, 1.631603456932422036, 1.624620582830568427, - 1.617656869570534228, 1.610711622367333673, 1.603784156023583041, 1.596873794420261339, - 1.589979870021648534, 1.583101723393471438, 1.576238702733332886, 1.569390163412534456, - 1.562555467528439657, 1.555733983466554893, 1.548925085471535512, 1.542128153226347553, - 1.535342571438843118, 1.528567729435024614, 1.521803020758293101, 1.515047842773992404, - 1.508301596278571965, 1.501563685112706548, 1.494833515777718391, 1.488110497054654369, - 1.481394039625375747, 1.474683555695025516, 1.467978458615230908, 1.461278162507407830, - 1.454582081885523293, 1.447889631277669675, 1.441200224845798017, 1.434513276002946425, - 1.427828197027290358, 1.421144398672323117, 1.414461289772464658, 1.407778276843371534, - 1.401094763676202559, 1.394410150925071257, 1.387723835686884621, 1.381035211072741964, - 1.374343665770030531, 1.367648583594317957, 1.360949343030101844, 1.354245316759430606, - 1.347535871177359290, 1.340820365893152122, 1.334098153216083604, 1.327368577624624679, - 1.320630975217730096, 1.313884673146868964, 1.307128989027353860, 1.300363230327433728, - 1.293586693733517645, 1.286798664489786415, 1.279998415710333237, 1.273185207661843732, - 1.266358287014688333, 1.259516886060144225, 1.252660221891297887, 1.245787495544997903, - 1.238897891102027415, 1.231990574742445110, 1.225064693752808020, 1.218119375481726552, - 1.211153726239911244, 1.204166830140560140, 1.197157747875585931, 1.190125515422801650, - 1.183069142678760732, 1.175987612011489825, 1.168879876726833800, 1.161744859441574240, - 1.154581450355851802, 1.147388505416733873, 1.140164844363995789, 1.132909248648336975, - 1.125620459211294389, 1.118297174115062909, 1.110938046009249502, 1.103541679420268151, - 1.096106627847603487, 1.088631390649514197, 1.081114409698889389, 1.073554065787871714, - 1.065948674757506653, 1.058296483326006454, 1.050595664586207123, 1.042844313139370538, - 1.035040439828605274, 1.027181966030751292, 1.019266717460529215, 1.011292417434978441, - 1.003256679539591412, 0.995156999629943084, 0.986990747093846266, 0.978755155288937750, - 0.970447311058864615, 0.962064143217605250, 0.953602409875572654, 0.945058684462571130, - 0.936429340280896860, 0.927710533396234771, 0.918898183643734989, 0.909987953490768997, - 0.900975224455174528, 0.891855070726792376, 0.882622229578910122, 0.873271068082494550, - 0.863795545546826915, 0.854189171001560554, 0.844444954902423661, 0.834555354079518752, - 0.824512208745288633, 0.814306670128064347, 0.803929116982664893, 0.793369058833152785, - 0.782615023299588763, 0.771654424216739354, 0.760473406422083165, 0.749056662009581653, - 0.737387211425838629, 0.725446140901303549, 0.713212285182022732, 0.700661841097584448, - 0.687767892786257717, 0.674499822827436479, 0.660822574234205984, 0.646695714884388928, - 0.632072236375024632, 0.616896989996235545, 0.601104617743940417, 0.584616766093722262, - 0.567338257040473026, 0.549151702313026790, 0.529909720646495108, 0.509423329585933393, - 0.487443966121754335, 0.463634336771763245, 0.437518402186662658, 0.408389134588000746, - 0.375121332850465727, 0.335737519180459465, 0.286174591747260509, 0.215241895913273806, - 0.000000000000000000]; -pub static ZIG_NORM_F: [f64; 257] = - [0.000477467764586655, 0.001260285930498598, 0.002609072746106363, 0.004037972593371872, - 0.005522403299264754, 0.007050875471392110, 0.008616582769422917, 0.010214971439731100, - 0.011842757857943104, 0.013497450601780807, 0.015177088307982072, 0.016880083152595839, - 0.018605121275783350, 0.020351096230109354, 0.022117062707379922, 0.023902203305873237, - 0.025705804008632656, 0.027527235669693315, 0.029365939758230111, 0.031221417192023690, - 0.033093219458688698, 0.034980941461833073, 0.036884215688691151, 0.038802707404656918, - 0.040736110656078753, 0.042684144916619378, 0.044646552251446536, 0.046623094902089664, - 0.048613553216035145, 0.050617723861121788, 0.052635418276973649, 0.054666461325077916, - 0.056710690106399467, 0.058767952921137984, 0.060838108349751806, 0.062921024437977854, - 0.065016577971470438, 0.067124653828023989, 0.069245144397250269, 0.071377949059141965, - 0.073522973714240991, 0.075680130359194964, 0.077849336702372207, 0.080030515814947509, - 0.082223595813495684, 0.084428509570654661, 0.086645194450867782, 0.088873592068594229, - 0.091113648066700734, 0.093365311913026619, 0.095628536713353335, 0.097903279039215627, - 0.100189498769172020, 0.102487158942306270, 0.104796225622867056, 0.107116667775072880, - 0.109448457147210021, 0.111791568164245583, 0.114145977828255210, 0.116511665626037014, - 0.118888613443345698, 0.121276805485235437, 0.123676228202051403, 0.126086870220650349, - 0.128508722280473636, 0.130941777174128166, 0.133386029692162844, 0.135841476571757352, - 0.138308116449064322, 0.140785949814968309, 0.143274978974047118, 0.145775208006537926, - 0.148286642733128721, 0.150809290682410169, 0.153343161060837674, 0.155888264725064563, - 0.158444614156520225, 0.161012223438117663, 0.163591108232982951, 0.166181285765110071, - 0.168782774801850333, 0.171395595638155623, 0.174019770082499359, 0.176655321444406654, - 0.179302274523530397, 0.181960655600216487, 0.184630492427504539, 0.187311814224516926, - 0.190004651671193070, 0.192709036904328807, 0.195425003514885592, 0.198152586546538112, - 0.200891822495431333, 0.203642749311121501, 0.206405406398679298, 0.209179834621935651, - 0.211966076307852941, 0.214764175252008499, 0.217574176725178370, 0.220396127481011589, - 0.223230075764789593, 0.226076071323264877, 0.228934165415577484, 0.231804410825248525, - 0.234686861873252689, 0.237581574432173676, 0.240488605941449107, 0.243408015423711988, - 0.246339863502238771, 0.249284212419516704, 0.252241126056943765, 0.255210669955677150, - 0.258192911338648023, 0.261187919133763713, 0.264195763998317568, 0.267216518344631837, - 0.270250256366959984, 0.273297054069675804, 0.276356989296781264, 0.279430141762765316, - 0.282516593084849388, 0.285616426816658109, 0.288729728483353931, 0.291856585618280984, - 0.294997087801162572, 0.298151326697901342, 0.301319396102034120, 0.304501391977896274, - 0.307697412505553769, 0.310907558127563710, 0.314131931597630143, 0.317370638031222396, - 0.320623784958230129, 0.323891482377732021, 0.327173842814958593, 0.330470981380537099, - 0.333783015832108509, 0.337110066638412809, 0.340452257045945450, 0.343809713148291340, - 0.347182563958251478, 0.350570941482881204, 0.353974980801569250, 0.357394820147290515, - 0.360830600991175754, 0.364282468130549597, 0.367750569780596226, 0.371235057669821344, - 0.374736087139491414, 0.378253817247238111, 0.381788410875031348, 0.385340034841733958, - 0.388908860020464597, 0.392495061461010764, 0.396098818517547080, 0.399720314981931668, - 0.403359739222868885, 0.407017284331247953, 0.410693148271983222, 0.414387534042706784, - 0.418100649839684591, 0.421832709231353298, 0.425583931339900579, 0.429354541031341519, - 0.433144769114574058, 0.436954852549929273, 0.440785034667769915, 0.444635565397727750, - 0.448506701509214067, 0.452398706863882505, 0.456311852680773566, 0.460246417814923481, - 0.464202689050278838, 0.468180961407822172, 0.472181538469883255, 0.476204732721683788, - 0.480250865911249714, 0.484320269428911598, 0.488413284707712059, 0.492530263646148658, - 0.496671569054796314, 0.500837575128482149, 0.505028667945828791, 0.509245245998136142, - 0.513487720749743026, 0.517756517232200619, 0.522052074674794864, 0.526374847174186700, - 0.530725304406193921, 0.535103932383019565, 0.539511234259544614, 0.543947731192649941, - 0.548413963257921133, 0.552910490428519918, 0.557437893621486324, 0.561996775817277916, - 0.566587763258951771, 0.571211506738074970, 0.575868682975210544, 0.580559996103683473, - 0.585286179266300333, 0.590047996335791969, 0.594846243770991268, 0.599681752622167719, - 0.604555390700549533, 0.609468064928895381, 0.614420723892076803, 0.619414360609039205, - 0.624450015550274240, 0.629528779928128279, 0.634651799290960050, 0.639820277456438991, - 0.645035480824251883, 0.650298743114294586, 0.655611470583224665, 0.660975147780241357, - 0.666391343912380640, 0.671861719900766374, 0.677388036222513090, 0.682972161648791376, - 0.688616083008527058, 0.694321916130032579, 0.700091918140490099, 0.705928501336797409, - 0.711834248882358467, 0.717811932634901395, 0.723864533472881599, 0.729995264565802437, - 0.736207598131266683, 0.742505296344636245, 0.748892447223726720, 0.755373506511754500, - 0.761953346841546475, 0.768637315803334831, 0.775431304986138326, 0.782341832659861902, - 0.789376143571198563, 0.796542330428254619, 0.803849483176389490, 0.811307874318219935, - 0.818929191609414797, 0.826726833952094231, 0.834716292992930375, 0.842915653118441077, - 0.851346258465123684, 0.860033621203008636, 0.869008688043793165, 0.878309655816146839, - 0.887984660763399880, 0.898095921906304051, 0.908726440060562912, 0.919991505048360247, - 0.932060075968990209, 0.945198953453078028, 0.959879091812415930, 0.977101701282731328, - 1.000000000000000000]; -pub const ZIG_EXP_R: f64 = 7.697117470131050077; -pub static ZIG_EXP_X: [f64; 257] = - [8.697117470131052741, 7.697117470131050077, 6.941033629377212577, 6.478378493832569696, - 6.144164665772472667, 5.882144315795399869, 5.666410167454033697, 5.482890627526062488, - 5.323090505754398016, 5.181487281301500047, 5.054288489981304089, 4.938777085901250530, - 4.832939741025112035, 4.735242996601741083, 4.644491885420085175, 4.559737061707351380, - 4.480211746528421912, 4.405287693473573185, 4.334443680317273007, 4.267242480277365857, - 4.203313713735184365, 4.142340865664051464, 4.084051310408297830, 4.028208544647936762, - 3.974606066673788796, 3.923062500135489739, 3.873417670399509127, 3.825529418522336744, - 3.779270992411667862, 3.734528894039797375, 3.691201090237418825, 3.649195515760853770, - 3.608428813128909507, 3.568825265648337020, 3.530315889129343354, 3.492837654774059608, - 3.456332821132760191, 3.420748357251119920, 3.386035442460300970, 3.352149030900109405, - 3.319047470970748037, 3.286692171599068679, 3.255047308570449882, 3.224079565286264160, - 3.193757903212240290, 3.164053358025972873, 3.134938858084440394, 3.106389062339824481, - 3.078380215254090224, 3.050890016615455114, 3.023897504455676621, 2.997382949516130601, - 2.971327759921089662, 2.945714394895045718, 2.920526286512740821, 2.895747768600141825, - 2.871364012015536371, 2.847360965635188812, 2.823725302450035279, 2.800444370250737780, - 2.777506146439756574, 2.754899196562344610, 2.732612636194700073, 2.710636095867928752, - 2.688959688741803689, 2.667573980773266573, 2.646469963151809157, 2.625639026797788489, - 2.605072938740835564, 2.584763820214140750, 2.564704126316905253, 2.544886627111869970, - 2.525304390037828028, 2.505950763528594027, 2.486819361740209455, 2.467904050297364815, - 2.449198932978249754, 2.430698339264419694, 2.412396812688870629, 2.394289099921457886, - 2.376370140536140596, 2.358635057409337321, 2.341079147703034380, 2.323697874390196372, - 2.306486858283579799, 2.289441870532269441, 2.272558825553154804, 2.255833774367219213, - 2.239262898312909034, 2.222842503111036816, 2.206569013257663858, 2.190438966723220027, - 2.174449009937774679, 2.158595893043885994, 2.142876465399842001, 2.127287671317368289, - 2.111826546019042183, 2.096490211801715020, 2.081275874393225145, 2.066180819490575526, - 2.051202409468584786, 2.036338080248769611, 2.021585338318926173, 2.006941757894518563, - 1.992404978213576650, 1.977972700957360441, 1.963642687789548313, 1.949412758007184943, - 1.935280786297051359, 1.921244700591528076, 1.907302480018387536, 1.893452152939308242, - 1.879691795072211180, 1.866019527692827973, 1.852433515911175554, 1.838931967018879954, - 1.825513128903519799, 1.812175288526390649, 1.798916770460290859, 1.785735935484126014, - 1.772631179231305643, 1.759600930889074766, 1.746643651946074405, 1.733757834985571566, - 1.720942002521935299, 1.708194705878057773, 1.695514524101537912, 1.682900062917553896, - 1.670349953716452118, 1.657862852574172763, 1.645437439303723659, 1.633072416535991334, - 1.620766508828257901, 1.608518461798858379, 1.596327041286483395, 1.584191032532688892, - 1.572109239386229707, 1.560080483527888084, 1.548103603714513499, 1.536177455041032092, - 1.524300908219226258, 1.512472848872117082, 1.500692176842816750, 1.488957805516746058, - 1.477268661156133867, 1.465623682245745352, 1.454021818848793446, 1.442462031972012504, - 1.430943292938879674, 1.419464582769983219, 1.408024891569535697, 1.396623217917042137, - 1.385258568263121992, 1.373929956328490576, 1.362636402505086775, 1.351376933258335189, - 1.340150580529504643, 1.328956381137116560, 1.317793376176324749, 1.306660610415174117, - 1.295557131686601027, 1.284481990275012642, 1.273434238296241139, 1.262412929069615330, - 1.251417116480852521, 1.240445854334406572, 1.229498195693849105, 1.218573192208790124, - 1.207669893426761121, 1.196787346088403092, 1.185924593404202199, 1.175080674310911677, - 1.164254622705678921, 1.153445466655774743, 1.142652227581672841, 1.131873919411078511, - 1.121109547701330200, 1.110358108727411031, 1.099618588532597308, 1.088889961938546813, - 1.078171191511372307, 1.067461226479967662, 1.056759001602551429, 1.046063435977044209, - 1.035373431790528542, 1.024687873002617211, 1.014005623957096480, 1.003325527915696735, - 0.992646405507275897, 0.981967053085062602, 0.971286240983903260, 0.960602711668666509, - 0.949915177764075969, 0.939222319955262286, 0.928522784747210395, 0.917815182070044311, - 0.907098082715690257, 0.896370015589889935, 0.885629464761751528, 0.874874866291025066, - 0.864104604811004484, 0.853317009842373353, 0.842510351810368485, 0.831682837734273206, - 0.820832606554411814, 0.809957724057418282, 0.799056177355487174, 0.788125868869492430, - 0.777164609759129710, 0.766170112735434672, 0.755139984181982249, 0.744071715500508102, - 0.732962673584365398, 0.721810090308756203, 0.710611050909655040, 0.699362481103231959, - 0.688061132773747808, 0.676703568029522584, 0.665286141392677943, 0.653804979847664947, - 0.642255960424536365, 0.630634684933490286, 0.618936451394876075, 0.607156221620300030, - 0.595288584291502887, 0.583327712748769489, 0.571267316532588332, 0.559100585511540626, - 0.546820125163310577, 0.534417881237165604, 0.521885051592135052, 0.509211982443654398, - 0.496388045518671162, 0.483401491653461857, 0.470239275082169006, 0.456886840931420235, - 0.443327866073552401, 0.429543940225410703, 0.415514169600356364, 0.401214678896277765, - 0.386617977941119573, 0.371692145329917234, 0.356399760258393816, 0.340696481064849122, - 0.324529117016909452, 0.307832954674932158, 0.290527955491230394, 0.272513185478464703, - 0.253658363385912022, 0.233790483059674731, 0.212671510630966620, 0.189958689622431842, - 0.165127622564187282, 0.137304980940012589, 0.104838507565818778, 0.063852163815001570, - 0.000000000000000000]; -pub static ZIG_EXP_F: [f64; 257] = - [0.000167066692307963, 0.000454134353841497, 0.000967269282327174, 0.001536299780301573, - 0.002145967743718907, 0.002788798793574076, 0.003460264777836904, 0.004157295120833797, - 0.004877655983542396, 0.005619642207205489, 0.006381905937319183, 0.007163353183634991, - 0.007963077438017043, 0.008780314985808977, 0.009614413642502212, 0.010464810181029981, - 0.011331013597834600, 0.012212592426255378, 0.013109164931254991, 0.014020391403181943, - 0.014945968011691148, 0.015885621839973156, 0.016839106826039941, 0.017806200410911355, - 0.018786700744696024, 0.019780424338009740, 0.020787204072578114, 0.021806887504283581, - 0.022839335406385240, 0.023884420511558174, 0.024942026419731787, 0.026012046645134221, - 0.027094383780955803, 0.028188948763978646, 0.029295660224637411, 0.030414443910466622, - 0.031545232172893622, 0.032687963508959555, 0.033842582150874358, 0.035009037697397431, - 0.036187284781931443, 0.037377282772959382, 0.038578995503074871, 0.039792391023374139, - 0.041017441380414840, 0.042254122413316254, 0.043502413568888197, 0.044762297732943289, - 0.046033761076175184, 0.047316792913181561, 0.048611385573379504, 0.049917534282706379, - 0.051235237055126281, 0.052564494593071685, 0.053905310196046080, 0.055257689676697030, - 0.056621641283742870, 0.057997175631200659, 0.059384305633420280, 0.060783046445479660, - 0.062193415408541036, 0.063615431999807376, 0.065049117786753805, 0.066494496385339816, - 0.067951593421936643, 0.069420436498728783, 0.070901055162371843, 0.072393480875708752, - 0.073897746992364746, 0.075413888734058410, 0.076941943170480517, 0.078481949201606435, - 0.080033947542319905, 0.081597980709237419, 0.083174093009632397, 0.084762330532368146, - 0.086362741140756927, 0.087975374467270231, 0.089600281910032886, 0.091237516631040197, - 0.092887133556043569, 0.094549189376055873, 0.096223742550432825, 0.097910853311492213, - 0.099610583670637132, 0.101322997425953631, 0.103048160171257702, 0.104786139306570145, - 0.106537004050001632, 0.108300825451033755, 0.110077676405185357, 0.111867631670056283, - 0.113670767882744286, 0.115487163578633506, 0.117316899211555525, 0.119160057175327641, - 0.121016721826674792, 0.122886979509545108, 0.124770918580830933, 0.126668629437510671, - 0.128580204545228199, 0.130505738468330773, 0.132445327901387494, 0.134399071702213602, - 0.136367070926428829, 0.138349428863580176, 0.140346251074862399, 0.142357645432472146, - 0.144383722160634720, 0.146424593878344889, 0.148480375643866735, 0.150551185001039839, - 0.152637142027442801, 0.154738369384468027, 0.156854992369365148, 0.158987138969314129, - 0.161134939917591952, 0.163298528751901734, 0.165478041874935922, 0.167673618617250081, - 0.169885401302527550, 0.172113535315319977, 0.174358169171353411, 0.176619454590494829, - 0.178897546572478278, 0.181192603475496261, 0.183504787097767436, 0.185834262762197083, - 0.188181199404254262, 0.190545769663195363, 0.192928149976771296, 0.195328520679563189, - 0.197747066105098818, 0.200183974691911210, 0.202639439093708962, 0.205113656293837654, - 0.207606827724221982, 0.210119159388988230, 0.212650861992978224, 0.215202151075378628, - 0.217773247148700472, 0.220364375843359439, 0.222975768058120111, 0.225607660116683956, - 0.228260293930716618, 0.230933917169627356, 0.233628783437433291, 0.236345152457059560, - 0.239083290262449094, 0.241843469398877131, 0.244625969131892024, 0.247431075665327543, - 0.250259082368862240, 0.253110290015629402, 0.255985007030415324, 0.258883549749016173, - 0.261806242689362922, 0.264753418835062149, 0.267725419932044739, 0.270722596799059967, - 0.273745309652802915, 0.276793928448517301, 0.279868833236972869, 0.282970414538780746, - 0.286099073737076826, 0.289255223489677693, 0.292439288161892630, 0.295651704281261252, - 0.298892921015581847, 0.302163400675693528, 0.305463619244590256, 0.308794066934560185, - 0.312155248774179606, 0.315547685227128949, 0.318971912844957239, 0.322428484956089223, - 0.325917972393556354, 0.329440964264136438, 0.332998068761809096, 0.336589914028677717, - 0.340217149066780189, 0.343880444704502575, 0.347580494621637148, 0.351318016437483449, - 0.355093752866787626, 0.358908472948750001, 0.362762973354817997, 0.366658079781514379, - 0.370594648435146223, 0.374573567615902381, 0.378595759409581067, 0.382662181496010056, - 0.386773829084137932, 0.390931736984797384, 0.395136981833290435, 0.399390684475231350, - 0.403694012530530555, 0.408048183152032673, 0.412454465997161457, 0.416914186433003209, - 0.421428728997616908, 0.425999541143034677, 0.430628137288459167, 0.435316103215636907, - 0.440065100842354173, 0.444876873414548846, 0.449753251162755330, 0.454696157474615836, - 0.459707615642138023, 0.464789756250426511, 0.469944825283960310, 0.475175193037377708, - 0.480483363930454543, 0.485871987341885248, 0.491343869594032867, 0.496901987241549881, - 0.502549501841348056, 0.508289776410643213, 0.514126393814748894, 0.520063177368233931, - 0.526104213983620062, 0.532253880263043655, 0.538516872002862246, 0.544898237672440056, - 0.551403416540641733, 0.558038282262587892, 0.564809192912400615, 0.571723048664826150, - 0.578787358602845359, 0.586010318477268366, 0.593400901691733762, 0.600968966365232560, - 0.608725382079622346, 0.616682180915207878, 0.624852738703666200, 0.633251994214366398, - 0.641896716427266423, 0.650805833414571433, 0.660000841079000145, 0.669506316731925177, - 0.679350572264765806, 0.689566496117078431, 0.700192655082788606, 0.711274760805076456, - 0.722867659593572465, 0.735038092431424039, 0.747868621985195658, 0.761463388849896838, - 0.775956852040116218, 0.791527636972496285, 0.808421651523009044, 0.826993296643051101, - 0.847785500623990496, 0.871704332381204705, 0.900469929925747703, 0.938143680862176477, - 1.000000000000000000]; diff --git a/vendor/registry-40351f815f426200/rand/src/lib.rs b/vendor/registry-40351f815f426200/rand/src/lib.rs deleted file mode 100644 index 9c0482f32..000000000 --- a/vendor/registry-40351f815f426200/rand/src/lib.rs +++ /dev/null @@ -1,830 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2013-2017 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Utilities for random number generation -//! -//! Rand provides utilities to generate random numbers, to convert them to -//! useful types and distributions, and some randomness-related algorithms. -//! -//! # Quick Start -//! -//! To get you started quickly, the easiest and highest-level way to get -//! a random value is to use [`random()`]; alternatively you can use -//! [`thread_rng()`]. The [`Rng`] trait provides a useful API on all RNGs, while -//! the [`distributions`] and [`seq`] modules provide further -//! functionality on top of RNGs. -//! -//! ``` -//! use rand::prelude::*; -//! -//! if rand::random() { // generates a boolean -//! // Try printing a random unicode code point (probably a bad idea)! -//! println!("char: {}", rand::random::()); -//! } -//! -//! let mut rng = rand::thread_rng(); -//! let y: f64 = rng.gen(); // generates a float between 0 and 1 -//! -//! let mut nums: Vec = (1..100).collect(); -//! nums.shuffle(&mut rng); -//! ``` -//! -//! # The Book -//! -//! For the user guide and futher documentation, please read -//! [The Rust Rand Book](https://rust-random.github.io/book). - - -#![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk.png", - html_favicon_url = "https://www.rust-lang.org/favicon.ico", - html_root_url = "https://rust-random.github.io/rand/")] - -#![deny(missing_docs)] -#![deny(missing_debug_implementations)] -#![doc(test(attr(allow(unused_variables), deny(warnings))))] - -#![cfg_attr(not(feature="std"), no_std)] -#![cfg_attr(all(feature="alloc", not(feature="std")), feature(alloc))] -#![cfg_attr(all(feature="simd_support", feature="nightly"), feature(stdsimd))] - -#[cfg(feature = "std")] extern crate core; -#[cfg(all(feature = "alloc", not(feature="std")))] #[macro_use] extern crate alloc; - -#[cfg(feature="simd_support")] extern crate packed_simd; - -extern crate rand_jitter; -#[cfg(feature = "rand_os")] -extern crate rand_os; - -extern crate rand_core; -extern crate rand_isaac; // only for deprecations -extern crate rand_chacha; // only for deprecations -extern crate rand_hc; -extern crate rand_pcg; -extern crate rand_xorshift; - -#[cfg(feature = "log")] #[macro_use] extern crate log; -#[allow(unused)] -#[cfg(not(feature = "log"))] macro_rules! trace { ($($x:tt)*) => () } -#[allow(unused)] -#[cfg(not(feature = "log"))] macro_rules! debug { ($($x:tt)*) => () } -#[allow(unused)] -#[cfg(not(feature = "log"))] macro_rules! info { ($($x:tt)*) => () } -#[allow(unused)] -#[cfg(not(feature = "log"))] macro_rules! warn { ($($x:tt)*) => () } -#[allow(unused)] -#[cfg(not(feature = "log"))] macro_rules! error { ($($x:tt)*) => () } - - -// Re-exports from rand_core -pub use rand_core::{RngCore, CryptoRng, SeedableRng}; -pub use rand_core::{ErrorKind, Error}; - -// Public exports -#[cfg(feature="std")] pub use rngs::thread::thread_rng; - -// Public modules -pub mod distributions; -pub mod prelude; -#[deprecated(since="0.6.0")] -pub mod prng; -pub mod rngs; -pub mod seq; - -//////////////////////////////////////////////////////////////////////////////// -// Compatibility re-exports. Documentation is hidden; will be removed eventually. - -#[doc(hidden)] mod deprecated; - -#[allow(deprecated)] -#[doc(hidden)] pub use deprecated::ReseedingRng; - -#[allow(deprecated)] -#[cfg(feature="std")] #[doc(hidden)] pub use deprecated::EntropyRng; - -#[allow(deprecated)] -#[cfg(feature="rand_os")] -#[doc(hidden)] -pub use deprecated::OsRng; - -#[allow(deprecated)] -#[doc(hidden)] pub use deprecated::{ChaChaRng, IsaacRng, Isaac64Rng, XorShiftRng}; -#[allow(deprecated)] -#[doc(hidden)] pub use deprecated::StdRng; - - -#[allow(deprecated)] -#[doc(hidden)] -pub mod jitter { - pub use deprecated::JitterRng; - pub use rngs::TimerError; -} -#[allow(deprecated)] -#[cfg(feature="rand_os")] -#[doc(hidden)] -pub mod os { - pub use deprecated::OsRng; -} -#[allow(deprecated)] -#[doc(hidden)] -pub mod chacha { - pub use deprecated::ChaChaRng; -} -#[allow(deprecated)] -#[doc(hidden)] -pub mod isaac { - pub use deprecated::{IsaacRng, Isaac64Rng}; -} -#[allow(deprecated)] -#[cfg(feature="std")] -#[doc(hidden)] -pub mod read { - pub use deprecated::ReadRng; -} - -#[allow(deprecated)] -#[cfg(feature="std")] #[doc(hidden)] pub use deprecated::ThreadRng; - -//////////////////////////////////////////////////////////////////////////////// - - -use core::{mem, slice}; -use distributions::{Distribution, Standard}; -use distributions::uniform::{SampleUniform, UniformSampler, SampleBorrow}; - -/// An automatically-implemented extension trait on [`RngCore`] providing high-level -/// generic methods for sampling values and other convenience methods. -/// -/// This is the primary trait to use when generating random values. -/// -/// # Generic usage -/// -/// The basic pattern is `fn foo(rng: &mut R)`. Some -/// things are worth noting here: -/// -/// - Since `Rng: RngCore` and every `RngCore` implements `Rng`, it makes no -/// difference whether we use `R: Rng` or `R: RngCore`. -/// - The `+ ?Sized` un-bounding allows functions to be called directly on -/// type-erased references; i.e. `foo(r)` where `r: &mut RngCore`. Without -/// this it would be necessary to write `foo(&mut r)`. -/// -/// An alternative pattern is possible: `fn foo(rng: R)`. This has some -/// trade-offs. It allows the argument to be consumed directly without a `&mut` -/// (which is how `from_rng(thread_rng())` works); also it still works directly -/// on references (including type-erased references). Unfortunately within the -/// function `foo` it is not known whether `rng` is a reference type or not, -/// hence many uses of `rng` require an extra reference, either explicitly -/// (`distr.sample(&mut rng)`) or implicitly (`rng.gen()`); one may hope the -/// optimiser can remove redundant references later. -/// -/// Example: -/// -/// ``` -/// # use rand::thread_rng; -/// use rand::Rng; -/// -/// fn foo(rng: &mut R) -> f32 { -/// rng.gen() -/// } -/// -/// # let v = foo(&mut thread_rng()); -/// ``` -pub trait Rng: RngCore { - /// Return a random value supporting the [`Standard`] distribution. - /// - /// [`Standard`]: distributions::Standard - /// - /// # Example - /// - /// ``` - /// use rand::{thread_rng, Rng}; - /// - /// let mut rng = thread_rng(); - /// let x: u32 = rng.gen(); - /// println!("{}", x); - /// println!("{:?}", rng.gen::<(f64, bool)>()); - /// ``` - #[inline] - fn gen(&mut self) -> T where Standard: Distribution { - Standard.sample(self) - } - - /// Generate a random value in the range [`low`, `high`), i.e. inclusive of - /// `low` and exclusive of `high`. - /// - /// This function is optimised for the case that only a single sample is - /// made from the given range. See also the [`Uniform`] distribution - /// type which may be faster if sampling from the same range repeatedly. - /// - /// # Panics - /// - /// Panics if `low >= high`. - /// - /// # Example - /// - /// ``` - /// use rand::{thread_rng, Rng}; - /// - /// let mut rng = thread_rng(); - /// let n: u32 = rng.gen_range(0, 10); - /// println!("{}", n); - /// let m: f64 = rng.gen_range(-40.0f64, 1.3e5f64); - /// println!("{}", m); - /// ``` - /// - /// [`Uniform`]: distributions::uniform::Uniform - fn gen_range(&mut self, low: B1, high: B2) -> T - where B1: SampleBorrow + Sized, - B2: SampleBorrow + Sized { - T::Sampler::sample_single(low, high, self) - } - - /// Sample a new value, using the given distribution. - /// - /// ### Example - /// - /// ``` - /// use rand::{thread_rng, Rng}; - /// use rand::distributions::Uniform; - /// - /// let mut rng = thread_rng(); - /// let x = rng.sample(Uniform::new(10u32, 15)); - /// // Type annotation requires two types, the type and distribution; the - /// // distribution can be inferred. - /// let y = rng.sample::(Uniform::new(10, 15)); - /// ``` - fn sample>(&mut self, distr: D) -> T { - distr.sample(self) - } - - /// Create an iterator that generates values using the given distribution. - /// - /// # Example - /// - /// ``` - /// use rand::{thread_rng, Rng}; - /// use rand::distributions::{Alphanumeric, Uniform, Standard}; - /// - /// let mut rng = thread_rng(); - /// - /// // Vec of 16 x f32: - /// let v: Vec = thread_rng().sample_iter(&Standard).take(16).collect(); - /// - /// // String: - /// let s: String = rng.sample_iter(&Alphanumeric).take(7).collect(); - /// - /// // Combined values - /// println!("{:?}", thread_rng().sample_iter(&Standard).take(5) - /// .collect::>()); - /// - /// // Dice-rolling: - /// let die_range = Uniform::new_inclusive(1, 6); - /// let mut roll_die = rng.sample_iter(&die_range); - /// while roll_die.next().unwrap() != 6 { - /// println!("Not a 6; rolling again!"); - /// } - /// ``` - fn sample_iter<'a, T, D: Distribution>(&'a mut self, distr: &'a D) - -> distributions::DistIter<'a, D, Self, T> where Self: Sized - { - distr.sample_iter(self) - } - - /// Fill `dest` entirely with random bytes (uniform value distribution), - /// where `dest` is any type supporting [`AsByteSliceMut`], namely slices - /// and arrays over primitive integer types (`i8`, `i16`, `u32`, etc.). - /// - /// On big-endian platforms this performs byte-swapping to ensure - /// portability of results from reproducible generators. - /// - /// This uses [`fill_bytes`] internally which may handle some RNG errors - /// implicitly (e.g. waiting if the OS generator is not ready), but panics - /// on other errors. See also [`try_fill`] which returns errors. - /// - /// # Example - /// - /// ``` - /// use rand::{thread_rng, Rng}; - /// - /// let mut arr = [0i8; 20]; - /// thread_rng().fill(&mut arr[..]); - /// ``` - /// - /// [`fill_bytes`]: RngCore::fill_bytes - /// [`try_fill`]: Rng::try_fill - fn fill(&mut self, dest: &mut T) { - self.fill_bytes(dest.as_byte_slice_mut()); - dest.to_le(); - } - - /// Fill `dest` entirely with random bytes (uniform value distribution), - /// where `dest` is any type supporting [`AsByteSliceMut`], namely slices - /// and arrays over primitive integer types (`i8`, `i16`, `u32`, etc.). - /// - /// On big-endian platforms this performs byte-swapping to ensure - /// portability of results from reproducible generators. - /// - /// This uses [`try_fill_bytes`] internally and forwards all RNG errors. In - /// some cases errors may be resolvable; see [`ErrorKind`] and - /// documentation for the RNG in use. If you do not plan to handle these - /// errors you may prefer to use [`fill`]. - /// - /// # Example - /// - /// ``` - /// # use rand::Error; - /// use rand::{thread_rng, Rng}; - /// - /// # fn try_inner() -> Result<(), Error> { - /// let mut arr = [0u64; 4]; - /// thread_rng().try_fill(&mut arr[..])?; - /// # Ok(()) - /// # } - /// - /// # try_inner().unwrap() - /// ``` - /// - /// [`try_fill_bytes`]: RngCore::try_fill_bytes - /// [`fill`]: Rng::fill - fn try_fill(&mut self, dest: &mut T) -> Result<(), Error> { - self.try_fill_bytes(dest.as_byte_slice_mut())?; - dest.to_le(); - Ok(()) - } - - /// Return a bool with a probability `p` of being true. - /// - /// See also the [`Bernoulli`] distribution, which may be faster if - /// sampling from the same probability repeatedly. - /// - /// # Example - /// - /// ``` - /// use rand::{thread_rng, Rng}; - /// - /// let mut rng = thread_rng(); - /// println!("{}", rng.gen_bool(1.0 / 3.0)); - /// ``` - /// - /// # Panics - /// - /// If `p < 0` or `p > 1`. - /// - /// [`Bernoulli`]: distributions::bernoulli::Bernoulli - #[inline] - fn gen_bool(&mut self, p: f64) -> bool { - let d = distributions::Bernoulli::new(p); - self.sample(d) - } - - /// Return a bool with a probability of `numerator/denominator` of being - /// true. I.e. `gen_ratio(2, 3)` has chance of 2 in 3, or about 67%, of - /// returning true. If `numerator == denominator`, then the returned value - /// is guaranteed to be `true`. If `numerator == 0`, then the returned - /// value is guaranteed to be `false`. - /// - /// See also the [`Bernoulli`] distribution, which may be faster if - /// sampling from the same `numerator` and `denominator` repeatedly. - /// - /// # Panics - /// - /// If `denominator == 0` or `numerator > denominator`. - /// - /// # Example - /// - /// ``` - /// use rand::{thread_rng, Rng}; - /// - /// let mut rng = thread_rng(); - /// println!("{}", rng.gen_ratio(2, 3)); - /// ``` - /// - /// [`Bernoulli`]: distributions::bernoulli::Bernoulli - #[inline] - fn gen_ratio(&mut self, numerator: u32, denominator: u32) -> bool { - let d = distributions::Bernoulli::from_ratio(numerator, denominator); - self.sample(d) - } - - /// Return a random element from `values`. - /// - /// Deprecated: use [`seq::SliceRandom::choose`] instead. - #[deprecated(since="0.6.0", note="use SliceRandom::choose instead")] - fn choose<'a, T>(&mut self, values: &'a [T]) -> Option<&'a T> { - use seq::SliceRandom; - values.choose(self) - } - - /// Return a mutable pointer to a random element from `values`. - /// - /// Deprecated: use [`seq::SliceRandom::choose_mut`] instead. - #[deprecated(since="0.6.0", note="use SliceRandom::choose_mut instead")] - fn choose_mut<'a, T>(&mut self, values: &'a mut [T]) -> Option<&'a mut T> { - use seq::SliceRandom; - values.choose_mut(self) - } - - /// Shuffle a mutable slice in place. - /// - /// Deprecated: use [`seq::SliceRandom::shuffle`] instead. - #[deprecated(since="0.6.0", note="use SliceRandom::shuffle instead")] - fn shuffle(&mut self, values: &mut [T]) { - use seq::SliceRandom; - values.shuffle(self) - } -} - -impl Rng for R {} - -/// Trait for casting types to byte slices -/// -/// This is used by the [`Rng::fill`] and [`Rng::try_fill`] methods. -pub trait AsByteSliceMut { - /// Return a mutable reference to self as a byte slice - fn as_byte_slice_mut(&mut self) -> &mut [u8]; - - /// Call `to_le` on each element (i.e. byte-swap on Big Endian platforms). - fn to_le(&mut self); -} - -impl AsByteSliceMut for [u8] { - fn as_byte_slice_mut(&mut self) -> &mut [u8] { - self - } - - fn to_le(&mut self) {} -} - -macro_rules! impl_as_byte_slice { - ($t:ty) => { - impl AsByteSliceMut for [$t] { - fn as_byte_slice_mut(&mut self) -> &mut [u8] { - if self.len() == 0 { - unsafe { - // must not use null pointer - slice::from_raw_parts_mut(0x1 as *mut u8, 0) - } - } else { - unsafe { - slice::from_raw_parts_mut(&mut self[0] - as *mut $t - as *mut u8, - self.len() * mem::size_of::<$t>() - ) - } - } - } - - fn to_le(&mut self) { - for x in self { - *x = x.to_le(); - } - } - } - } -} - -impl_as_byte_slice!(u16); -impl_as_byte_slice!(u32); -impl_as_byte_slice!(u64); -#[cfg(all(rustc_1_26, not(target_os = "emscripten")))] impl_as_byte_slice!(u128); -impl_as_byte_slice!(usize); -impl_as_byte_slice!(i8); -impl_as_byte_slice!(i16); -impl_as_byte_slice!(i32); -impl_as_byte_slice!(i64); -#[cfg(all(rustc_1_26, not(target_os = "emscripten")))] impl_as_byte_slice!(i128); -impl_as_byte_slice!(isize); - -macro_rules! impl_as_byte_slice_arrays { - ($n:expr,) => {}; - ($n:expr, $N:ident, $($NN:ident,)*) => { - impl_as_byte_slice_arrays!($n - 1, $($NN,)*); - - impl AsByteSliceMut for [T; $n] where [T]: AsByteSliceMut { - fn as_byte_slice_mut(&mut self) -> &mut [u8] { - self[..].as_byte_slice_mut() - } - - fn to_le(&mut self) { - self[..].to_le() - } - } - }; - (!div $n:expr,) => {}; - (!div $n:expr, $N:ident, $($NN:ident,)*) => { - impl_as_byte_slice_arrays!(!div $n / 2, $($NN,)*); - - impl AsByteSliceMut for [T; $n] where [T]: AsByteSliceMut { - fn as_byte_slice_mut(&mut self) -> &mut [u8] { - self[..].as_byte_slice_mut() - } - - fn to_le(&mut self) { - self[..].to_le() - } - } - }; -} -impl_as_byte_slice_arrays!(32, N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,); -impl_as_byte_slice_arrays!(!div 4096, N,N,N,N,N,N,N,); - - -/// A convenience extension to [`SeedableRng`] allowing construction from fresh -/// entropy. This trait is automatically implemented for any PRNG implementing -/// [`SeedableRng`] and is not intended to be implemented by users. -/// -/// This is equivalent to using `SeedableRng::from_rng(EntropyRng::new())` then -/// unwrapping the result. -/// -/// Since this is convenient and secure, it is the recommended way to create -/// PRNGs, though two alternatives may be considered: -/// -/// * Deterministic creation using [`SeedableRng::from_seed`] with a fixed seed -/// * Seeding from `thread_rng`: `SeedableRng::from_rng(thread_rng())?`; -/// this will usually be faster and should also be secure, but requires -/// trusting one extra component. -/// -/// ## Example -/// -/// ``` -/// use rand::{Rng, FromEntropy}; -/// use rand::rngs::StdRng; -/// -/// let mut rng = StdRng::from_entropy(); -/// println!("Random die roll: {}", rng.gen_range(1, 7)); -/// ``` -/// -/// [`EntropyRng`]: rngs::EntropyRng -#[cfg(feature="std")] -pub trait FromEntropy: SeedableRng { - /// Creates a new instance, automatically seeded with fresh entropy. - /// - /// Normally this will use `OsRng`, but if that fails `JitterRng` will be - /// used instead. Both should be suitable for cryptography. It is possible - /// that both entropy sources will fail though unlikely; failures would - /// almost certainly be platform limitations or build issues, i.e. most - /// applications targetting PC/mobile platforms should not need to worry - /// about this failing. - /// - /// # Panics - /// - /// If all entropy sources fail this will panic. If you need to handle - /// errors, use the following code, equivalent aside from error handling: - /// - /// ``` - /// # use rand::Error; - /// use rand::prelude::*; - /// use rand::rngs::EntropyRng; - /// - /// # fn try_inner() -> Result<(), Error> { - /// // This uses StdRng, but is valid for any R: SeedableRng - /// let mut rng = StdRng::from_rng(EntropyRng::new())?; - /// - /// println!("random number: {}", rng.gen_range(1, 10)); - /// # Ok(()) - /// # } - /// - /// # try_inner().unwrap() - /// ``` - fn from_entropy() -> Self; -} - -#[cfg(feature="std")] -impl FromEntropy for R { - fn from_entropy() -> R { - R::from_rng(rngs::EntropyRng::new()).unwrap_or_else(|err| - panic!("FromEntropy::from_entropy() failed: {}", err)) - } -} - - -/// Generates a random value using the thread-local random number generator. -/// -/// This is simply a shortcut for `thread_rng().gen()`. See [`thread_rng`] for -/// documentation of the entropy source and [`Standard`] for documentation of -/// distributions and type-specific generation. -/// -/// # Examples -/// -/// ``` -/// let x = rand::random::(); -/// println!("{}", x); -/// -/// let y = rand::random::(); -/// println!("{}", y); -/// -/// if rand::random() { // generates a boolean -/// println!("Better lucky than good!"); -/// } -/// ``` -/// -/// If you're calling `random()` in a loop, caching the generator as in the -/// following example can increase performance. -/// -/// ``` -/// use rand::Rng; -/// -/// let mut v = vec![1, 2, 3]; -/// -/// for x in v.iter_mut() { -/// *x = rand::random() -/// } -/// -/// // can be made faster by caching thread_rng -/// -/// let mut rng = rand::thread_rng(); -/// -/// for x in v.iter_mut() { -/// *x = rng.gen(); -/// } -/// ``` -/// -/// [`Standard`]: distributions::Standard -#[cfg(feature="std")] -#[inline] -pub fn random() -> T where Standard: Distribution { - thread_rng().gen() -} - -#[cfg(test)] -mod test { - use rngs::mock::StepRng; - use rngs::StdRng; - use super::*; - #[cfg(all(not(feature="std"), feature="alloc"))] use alloc::boxed::Box; - - pub struct TestRng { inner: R } - - impl RngCore for TestRng { - fn next_u32(&mut self) -> u32 { - self.inner.next_u32() - } - fn next_u64(&mut self) -> u64 { - self.inner.next_u64() - } - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.inner.fill_bytes(dest) - } - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.inner.try_fill_bytes(dest) - } - } - - pub fn rng(seed: u64) -> TestRng { - TestRng { inner: StdRng::seed_from_u64(seed) } - } - - #[test] - fn test_fill_bytes_default() { - let mut r = StepRng::new(0x11_22_33_44_55_66_77_88, 0); - - // check every remainder mod 8, both in small and big vectors. - let lengths = [0, 1, 2, 3, 4, 5, 6, 7, - 80, 81, 82, 83, 84, 85, 86, 87]; - for &n in lengths.iter() { - let mut buffer = [0u8; 87]; - let v = &mut buffer[0..n]; - r.fill_bytes(v); - - // use this to get nicer error messages. - for (i, &byte) in v.iter().enumerate() { - if byte == 0 { - panic!("byte {} of {} is zero", i, n) - } - } - } - } - - #[test] - fn test_fill() { - let x = 9041086907909331047; // a random u64 - let mut rng = StepRng::new(x, 0); - - // Convert to byte sequence and back to u64; byte-swap twice if BE. - let mut array = [0u64; 2]; - rng.fill(&mut array[..]); - assert_eq!(array, [x, x]); - assert_eq!(rng.next_u64(), x); - - // Convert to bytes then u32 in LE order - let mut array = [0u32; 2]; - rng.fill(&mut array[..]); - assert_eq!(array, [x as u32, (x >> 32) as u32]); - assert_eq!(rng.next_u32(), x as u32); - } - - #[test] - fn test_fill_empty() { - let mut array = [0u32; 0]; - let mut rng = StepRng::new(0, 1); - rng.fill(&mut array); - rng.fill(&mut array[..]); - } - - #[test] - fn test_gen_range() { - let mut r = rng(101); - for _ in 0..1000 { - let a = r.gen_range(-4711, 17); - assert!(a >= -4711 && a < 17); - let a = r.gen_range(-3i8, 42); - assert!(a >= -3i8 && a < 42i8); - let a = r.gen_range(&10u16, 99); - assert!(a >= 10u16 && a < 99u16); - let a = r.gen_range(-100i32, &2000); - assert!(a >= -100i32 && a < 2000i32); - let a = r.gen_range(&12u32, &24u32); - assert!(a >= 12u32 && a < 24u32); - - assert_eq!(r.gen_range(0u32, 1), 0u32); - assert_eq!(r.gen_range(-12i64, -11), -12i64); - assert_eq!(r.gen_range(3_000_000, 3_000_001), 3_000_000); - } - } - - #[test] - #[should_panic] - fn test_gen_range_panic_int() { - let mut r = rng(102); - r.gen_range(5, -2); - } - - #[test] - #[should_panic] - fn test_gen_range_panic_usize() { - let mut r = rng(103); - r.gen_range(5, 2); - } - - #[test] - fn test_gen_bool() { - let mut r = rng(105); - for _ in 0..5 { - assert_eq!(r.gen_bool(0.0), false); - assert_eq!(r.gen_bool(1.0), true); - } - } - - #[test] - fn test_rng_trait_object() { - use distributions::{Distribution, Standard}; - let mut rng = rng(109); - let mut r = &mut rng as &mut RngCore; - r.next_u32(); - r.gen::(); - assert_eq!(r.gen_range(0, 1), 0); - let _c: u8 = Standard.sample(&mut r); - } - - #[test] - #[cfg(feature="alloc")] - fn test_rng_boxed_trait() { - use distributions::{Distribution, Standard}; - let rng = rng(110); - let mut r = Box::new(rng) as Box; - r.next_u32(); - r.gen::(); - assert_eq!(r.gen_range(0, 1), 0); - let _c: u8 = Standard.sample(&mut r); - } - - #[test] - #[cfg(feature="std")] - fn test_random() { - // not sure how to test this aside from just getting some values - let _n : usize = random(); - let _f : f32 = random(); - let _o : Option> = random(); - let _many : ((), - (usize, - isize, - Option<(u32, (bool,))>), - (u8, i8, u16, i16, u32, i32, u64, i64), - (f32, (f64, (f64,)))) = random(); - } - - #[test] - fn test_gen_ratio_average() { - const NUM: u32 = 3; - const DENOM: u32 = 10; - const N: u32 = 100_000; - - let mut sum: u32 = 0; - let mut rng = rng(111); - for _ in 0..N { - if rng.gen_ratio(NUM, DENOM) { - sum += 1; - } - } - // Have Binomial(N, NUM/DENOM) distribution - let expected = (NUM * N) / DENOM; // exact integer - assert!(((sum - expected) as i32).abs() < 500); - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/prelude.rs b/vendor/registry-40351f815f426200/rand/src/prelude.rs deleted file mode 100644 index 5d8a0e9b2..000000000 --- a/vendor/registry-40351f815f426200/rand/src/prelude.rs +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Convenience re-export of common members -//! -//! Like the standard library's prelude, this module simplifies importing of -//! common items. Unlike the standard prelude, the contents of this module must -//! be imported manually: -//! -//! ``` -//! use rand::prelude::*; -//! # let _ = StdRng::from_entropy(); -//! # let mut r = SmallRng::from_rng(thread_rng()).unwrap(); -//! # let _: f32 = r.gen(); -//! ``` - -#[doc(no_inline)] pub use distributions::Distribution; -#[doc(no_inline)] pub use rngs::{SmallRng, StdRng}; -#[doc(no_inline)] #[cfg(feature="std")] pub use rngs::ThreadRng; -#[doc(no_inline)] pub use {Rng, RngCore, CryptoRng, SeedableRng}; -#[doc(no_inline)] #[cfg(feature="std")] pub use {FromEntropy, random, thread_rng}; -#[doc(no_inline)] pub use seq::{SliceRandom, IteratorRandom}; diff --git a/vendor/registry-40351f815f426200/rand/src/prng/mod.rs b/vendor/registry-40351f815f426200/rand/src/prng/mod.rs deleted file mode 100644 index 3c0d27b2e..000000000 --- a/vendor/registry-40351f815f426200/rand/src/prng/mod.rs +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Pseudo-random number generators. -//! -//! This module is deprecated: -//! -//! - documentation has moved to -//! [The Book](https://rust-random.github.io/book/guide-rngs.html), -//! - PRNGs have moved to other `rand_*` crates. - -// Deprecations (to be removed in 0.7) -#[doc(hidden)] #[allow(deprecated)] -pub use deprecated::XorShiftRng; -#[doc(hidden)] pub mod isaac { - // Note: we miss `IsaacCore` here but probably unimportant. - #[allow(deprecated)] pub use deprecated::IsaacRng; -} -#[doc(hidden)] pub mod isaac64 { - #[allow(deprecated)] pub use deprecated::Isaac64Rng; -} -#[doc(hidden)] #[allow(deprecated)] pub use deprecated::{IsaacRng, Isaac64Rng}; -#[doc(hidden)] pub mod chacha { - // Note: we miss `ChaChaCore` here but probably unimportant. - #[allow(deprecated)] pub use deprecated::ChaChaRng; -} -#[doc(hidden)] #[allow(deprecated)] pub use deprecated::ChaChaRng; -#[doc(hidden)] pub mod hc128 { - // Note: we miss `Hc128Core` here but probably unimportant. - #[allow(deprecated)] pub use deprecated::Hc128Rng; -} -#[doc(hidden)] #[allow(deprecated)] pub use deprecated::Hc128Rng; diff --git a/vendor/registry-40351f815f426200/rand/src/rngs/adapter/mod.rs b/vendor/registry-40351f815f426200/rand/src/rngs/adapter/mod.rs deleted file mode 100644 index 60b832e9a..000000000 --- a/vendor/registry-40351f815f426200/rand/src/rngs/adapter/mod.rs +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Wrappers / adapters forming RNGs - -#[cfg(feature="std")] #[doc(hidden)] pub mod read; -mod reseeding; - -#[cfg(feature="std")] pub use self::read::ReadRng; -pub use self::reseeding::ReseedingRng; diff --git a/vendor/registry-40351f815f426200/rand/src/rngs/adapter/read.rs b/vendor/registry-40351f815f426200/rand/src/rngs/adapter/read.rs deleted file mode 100644 index 9b9c18b3e..000000000 --- a/vendor/registry-40351f815f426200/rand/src/rngs/adapter/read.rs +++ /dev/null @@ -1,136 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2013 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! A wrapper around any Read to treat it as an RNG. - -use std::io::Read; - -use rand_core::{RngCore, Error, ErrorKind, impls}; - - -/// An RNG that reads random bytes straight from any type supporting -/// [`std::io::Read`], for example files. -/// -/// This will work best with an infinite reader, but that is not required. -/// -/// This can be used with `/dev/urandom` on Unix but it is recommended to use -/// [`OsRng`] instead. -/// -/// # Panics -/// -/// `ReadRng` uses [`std::io::Read::read_exact`], which retries on interrupts. -/// All other errors from the underlying reader, including when it does not -/// have enough data, will only be reported through [`try_fill_bytes`]. -/// The other [`RngCore`] methods will panic in case of an error. -/// -/// # Example -/// -/// ``` -/// use rand::Rng; -/// use rand::rngs::adapter::ReadRng; -/// -/// let data = vec![1, 2, 3, 4, 5, 6, 7, 8]; -/// let mut rng = ReadRng::new(&data[..]); -/// println!("{:x}", rng.gen::()); -/// ``` -/// -/// [`OsRng`]: rand_os::OsRng -/// [`try_fill_bytes`]: RngCore::try_fill_bytes -#[derive(Debug)] -pub struct ReadRng { - reader: R -} - -impl ReadRng { - /// Create a new `ReadRng` from a `Read`. - pub fn new(r: R) -> ReadRng { - ReadRng { - reader: r - } - } -} - -impl RngCore for ReadRng { - fn next_u32(&mut self) -> u32 { - impls::next_u32_via_fill(self) - } - - fn next_u64(&mut self) -> u64 { - impls::next_u64_via_fill(self) - } - - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.try_fill_bytes(dest).unwrap_or_else(|err| - panic!("reading random bytes from Read implementation failed; error: {}", err)); - } - - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - if dest.len() == 0 { return Ok(()); } - // Use `std::io::read_exact`, which retries on `ErrorKind::Interrupted`. - self.reader.read_exact(dest).map_err(|err| { - match err.kind() { - ::std::io::ErrorKind::UnexpectedEof => Error::with_cause( - ErrorKind::Unavailable, - "not enough bytes available, reached end of source", err), - _ => Error::with_cause(ErrorKind::Unavailable, - "error reading from Read source", err) - } - }) - } -} - -#[cfg(test)] -mod test { - use super::ReadRng; - use {RngCore, ErrorKind}; - - #[test] - fn test_reader_rng_u64() { - // transmute from the target to avoid endianness concerns. - let v = vec![0u8, 0, 0, 0, 0, 0, 0, 1, - 0 , 0, 0, 0, 0, 0, 0, 2, - 0, 0, 0, 0, 0, 0, 0, 3]; - let mut rng = ReadRng::new(&v[..]); - - assert_eq!(rng.next_u64(), 1_u64.to_be()); - assert_eq!(rng.next_u64(), 2_u64.to_be()); - assert_eq!(rng.next_u64(), 3_u64.to_be()); - } - - #[test] - fn test_reader_rng_u32() { - let v = vec![0u8, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3]; - let mut rng = ReadRng::new(&v[..]); - - assert_eq!(rng.next_u32(), 1_u32.to_be()); - assert_eq!(rng.next_u32(), 2_u32.to_be()); - assert_eq!(rng.next_u32(), 3_u32.to_be()); - } - - #[test] - fn test_reader_rng_fill_bytes() { - let v = [1u8, 2, 3, 4, 5, 6, 7, 8]; - let mut w = [0u8; 8]; - - let mut rng = ReadRng::new(&v[..]); - rng.fill_bytes(&mut w); - - assert!(v == w); - } - - #[test] - fn test_reader_rng_insufficient_bytes() { - let v = [1u8, 2, 3, 4, 5, 6, 7, 8]; - let mut w = [0u8; 9]; - - let mut rng = ReadRng::new(&v[..]); - - assert!(rng.try_fill_bytes(&mut w).err().unwrap().kind == ErrorKind::Unavailable); - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/rngs/adapter/reseeding.rs b/vendor/registry-40351f815f426200/rand/src/rngs/adapter/reseeding.rs deleted file mode 100644 index ed2aab4cf..000000000 --- a/vendor/registry-40351f815f426200/rand/src/rngs/adapter/reseeding.rs +++ /dev/null @@ -1,370 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2013 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! A wrapper around another PRNG that reseeds it after it -//! generates a certain number of random bytes. - -use core::mem::size_of; - -use rand_core::{RngCore, CryptoRng, SeedableRng, Error, ErrorKind}; -use rand_core::block::{BlockRngCore, BlockRng}; - -/// A wrapper around any PRNG that implements [`BlockRngCore`], that adds the -/// ability to reseed it. -/// -/// `ReseedingRng` reseeds the underlying PRNG in the following cases: -/// -/// - On a manual call to [`reseed()`]. -/// - After `clone()`, the clone will be reseeded on first use. -/// - After a process is forked, the RNG in the child process is reseeded within -/// the next few generated values, depending on the block size of the -/// underlying PRNG. For [`ChaChaCore`] and [`Hc128Core`] this is a maximum of -/// 15 `u32` values before reseeding. -/// - After the PRNG has generated a configurable number of random bytes. -/// -/// # When should reseeding after a fixed number of generated bytes be used? -/// -/// Reseeding after a fixed number of generated bytes is never strictly -/// *necessary*. Cryptographic PRNGs don't have a limited number of bytes they -/// can output, or at least not a limit reachable in any practical way. There is -/// no such thing as 'running out of entropy'. -/// -/// Occasionally reseeding can be seen as some form of 'security in depth'. Even -/// if in the future a cryptographic weakness is found in the CSPRNG being used, -/// or a flaw in the implementation, occasionally reseeding should make -/// exploiting it much more difficult or even impossible. -/// -/// Use [`ReseedingRng::new`] with a `threshold` of `0` to disable reseeding -/// after a fixed number of generated bytes. -/// -/// # Error handling -/// -/// Although unlikely, reseeding the wrapped PRNG can fail. `ReseedingRng` will -/// never panic but try to handle the error intelligently through some -/// combination of retrying and delaying reseeding until later. -/// If handling the source error fails `ReseedingRng` will continue generating -/// data from the wrapped PRNG without reseeding. -/// -/// Manually calling [`reseed()`] will not have this retry or delay logic, but -/// reports the error. -/// -/// # Example -/// -/// ``` -/// # extern crate rand; -/// # extern crate rand_chacha; -/// # fn main() { -/// use rand::prelude::*; -/// use rand_chacha::ChaChaCore; // Internal part of ChaChaRng that -/// // implements BlockRngCore -/// use rand::rngs::OsRng; -/// use rand::rngs::adapter::ReseedingRng; -/// -/// let prng = ChaChaCore::from_entropy(); -// FIXME: it is better to use EntropyRng as reseeder, but that doesn't implement -// clone yet. -/// let reseeder = OsRng::new().unwrap(); -/// let mut reseeding_rng = ReseedingRng::new(prng, 0, reseeder); -/// -/// println!("{}", reseeding_rng.gen::()); -/// -/// let mut cloned_rng = reseeding_rng.clone(); -/// assert!(reseeding_rng.gen::() != cloned_rng.gen::()); -/// # } -/// ``` -/// -/// [`ChaChaCore`]: rand_chacha::ChaChaCore -/// [`Hc128Core`]: rand_hc::Hc128Core -/// [`BlockRngCore`]: rand_core::block::BlockRngCore -/// [`ReseedingRng::new`]: ReseedingRng::new -/// [`reseed()`]: ReseedingRng::reseed -#[derive(Debug)] -pub struct ReseedingRng(BlockRng>) -where R: BlockRngCore + SeedableRng, - Rsdr: RngCore; - -impl ReseedingRng -where R: BlockRngCore + SeedableRng, - Rsdr: RngCore -{ - /// Create a new `ReseedingRng` from an existing PRNG, combined with a RNG - /// to use as reseeder. - /// - /// `threshold` sets the number of generated bytes after which to reseed the - /// PRNG. Set it to zero to never reseed based on the number of generated - /// values. - pub fn new(rng: R, threshold: u64, reseeder: Rsdr) -> Self { - ReseedingRng(BlockRng::new(ReseedingCore::new(rng, threshold, reseeder))) - } - - /// Reseed the internal PRNG. - pub fn reseed(&mut self) -> Result<(), Error> { - self.0.core.reseed() - } -} - -// TODO: this should be implemented for any type where the inner type -// implements RngCore, but we can't specify that because ReseedingCore is private -impl RngCore for ReseedingRng -where R: BlockRngCore + SeedableRng, - ::Results: AsRef<[u32]> + AsMut<[u32]> -{ - #[inline(always)] - fn next_u32(&mut self) -> u32 { - self.0.next_u32() - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - self.0.next_u64() - } - - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.0.fill_bytes(dest) - } - - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -impl Clone for ReseedingRng -where R: BlockRngCore + SeedableRng + Clone, - Rsdr: RngCore + Clone -{ - fn clone(&self) -> ReseedingRng { - // Recreating `BlockRng` seems easier than cloning it and resetting - // the index. - ReseedingRng(BlockRng::new(self.0.core.clone())) - } -} - -impl CryptoRng for ReseedingRng -where R: BlockRngCore + SeedableRng + CryptoRng, - Rsdr: RngCore + CryptoRng {} - -#[derive(Debug)] -struct ReseedingCore { - inner: R, - reseeder: Rsdr, - threshold: i64, - bytes_until_reseed: i64, - fork_counter: usize, -} - -impl BlockRngCore for ReseedingCore -where R: BlockRngCore + SeedableRng, - Rsdr: RngCore -{ - type Item = ::Item; - type Results = ::Results; - - fn generate(&mut self, results: &mut Self::Results) { - let global_fork_counter = fork::get_fork_counter(); - if self.bytes_until_reseed <= 0 || - self.is_forked(global_fork_counter) { - // We get better performance by not calling only `reseed` here - // and continuing with the rest of the function, but by directly - // returning from a non-inlined function. - return self.reseed_and_generate(results, global_fork_counter); - } - let num_bytes = results.as_ref().len() * size_of::(); - self.bytes_until_reseed -= num_bytes as i64; - self.inner.generate(results); - } -} - -impl ReseedingCore -where R: BlockRngCore + SeedableRng, - Rsdr: RngCore -{ - /// Create a new `ReseedingCore`. - fn new(rng: R, threshold: u64, reseeder: Rsdr) -> Self { - use ::core::i64::MAX; - fork::register_fork_handler(); - - // Because generating more values than `i64::MAX` takes centuries on - // current hardware, we just clamp to that value. - // Also we set a threshold of 0, which indicates no limit, to that - // value. - let threshold = - if threshold == 0 { MAX } - else if threshold <= MAX as u64 { threshold as i64 } - else { MAX }; - - ReseedingCore { - inner: rng, - reseeder, - threshold: threshold as i64, - bytes_until_reseed: threshold as i64, - fork_counter: 0, - } - } - - /// Reseed the internal PRNG. - fn reseed(&mut self) -> Result<(), Error> { - R::from_rng(&mut self.reseeder).map(|result| { - self.bytes_until_reseed = self.threshold; - self.inner = result - }) - } - - fn is_forked(&self, global_fork_counter: usize) -> bool { - // In theory, on 32-bit platforms, it is possible for - // `global_fork_counter` to wrap around after ~4e9 forks. - // - // This check will detect a fork in the normal case where - // `fork_counter < global_fork_counter`, and also when the difference - // between both is greater than `isize::MAX` (wrapped around). - // - // It will still fail to detect a fork if there have been more than - // `isize::MAX` forks, without any reseed in between. Seems unlikely - // enough. - (self.fork_counter.wrapping_sub(global_fork_counter) as isize) < 0 - } - - #[inline(never)] - fn reseed_and_generate(&mut self, - results: &mut ::Results, - global_fork_counter: usize) - { - if self.is_forked(global_fork_counter) { - info!("Fork detected, reseeding RNG"); - } else { - trace!("Reseeding RNG (periodic reseed)"); - } - - let num_bytes = - results.as_ref().len() * size_of::<::Item>(); - - let threshold = if let Err(e) = self.reseed() { - let delay = match e.kind { - ErrorKind::Transient => num_bytes as i64, - kind @ _ if kind.should_retry() => self.threshold >> 8, - _ => self.threshold, - }; - warn!("Reseeding RNG delayed reseeding by {} bytes due to \ - error from source: {}", delay, e); - delay - } else { - self.fork_counter = global_fork_counter; - self.threshold - }; - - self.bytes_until_reseed = threshold - num_bytes as i64; - self.inner.generate(results); - } -} - -impl Clone for ReseedingCore -where R: BlockRngCore + SeedableRng + Clone, - Rsdr: RngCore + Clone -{ - fn clone(&self) -> ReseedingCore { - ReseedingCore { - inner: self.inner.clone(), - reseeder: self.reseeder.clone(), - threshold: self.threshold, - bytes_until_reseed: 0, // reseed clone on first use - fork_counter: self.fork_counter, - } - } -} - -impl CryptoRng for ReseedingCore -where R: BlockRngCore + SeedableRng + CryptoRng, - Rsdr: RngCore + CryptoRng {} - - -#[cfg(all(feature="std", unix, not(target_os="emscripten")))] -mod fork { - extern crate libc; - - use std::sync::atomic::{AtomicUsize, ATOMIC_USIZE_INIT, Ordering}; - use std::sync::atomic::{AtomicBool, ATOMIC_BOOL_INIT}; - - // Fork protection - // - // We implement fork protection on Unix using `pthread_atfork`. - // When the process is forked, we increment `RESEEDING_RNG_FORK_COUNTER`. - // Every `ReseedingRng` stores the last known value of the static in - // `fork_counter`. If the cached `fork_counter` is less than - // `RESEEDING_RNG_FORK_COUNTER`, it is time to reseed this RNG. - // - // If reseeding fails, we don't deal with this by setting a delay, but just - // don't update `fork_counter`, so a reseed is attempted as soon as - // possible. - - static RESEEDING_RNG_FORK_COUNTER: AtomicUsize = ATOMIC_USIZE_INIT; - - pub fn get_fork_counter() -> usize { - RESEEDING_RNG_FORK_COUNTER.load(Ordering::Relaxed) - } - - static FORK_HANDLER_REGISTERED: AtomicBool = ATOMIC_BOOL_INIT; - - extern fn fork_handler() { - // Note: fetch_add is defined to wrap on overflow - // (which is what we want). - RESEEDING_RNG_FORK_COUNTER.fetch_add(1, Ordering::Relaxed); - } - - pub fn register_fork_handler() { - if FORK_HANDLER_REGISTERED.load(Ordering::Relaxed) == false { - unsafe { libc::pthread_atfork(None, None, Some(fork_handler)) }; - FORK_HANDLER_REGISTERED.store(true, Ordering::Relaxed); - } - } -} - -#[cfg(not(all(feature="std", unix, not(target_os="emscripten"))))] -mod fork { - pub fn get_fork_counter() -> usize { 0 } - pub fn register_fork_handler() {} -} - - -#[cfg(test)] -mod test { - use {Rng, SeedableRng}; - use rand_chacha::ChaChaCore; - use rngs::mock::StepRng; - use super::ReseedingRng; - - #[test] - fn test_reseeding() { - let mut zero = StepRng::new(0, 0); - let rng = ChaChaCore::from_rng(&mut zero).unwrap(); - let mut reseeding = ReseedingRng::new(rng, 32*4, zero); - - // Currently we only support for arrays up to length 32. - // TODO: cannot generate seq via Rng::gen because it uses different alg - let mut buf = [0u32; 32]; // Needs to be a multiple of the RNGs result - // size to test exactly. - reseeding.fill(&mut buf); - let seq = buf; - for _ in 0..10 { - reseeding.fill(&mut buf); - assert_eq!(buf, seq); - } - } - - #[test] - fn test_clone_reseeding() { - let mut zero = StepRng::new(0, 0); - let rng = ChaChaCore::from_rng(&mut zero).unwrap(); - let mut rng1 = ReseedingRng::new(rng, 32*4, zero); - - let first: u32 = rng1.gen(); - for _ in 0..10 { let _ = rng1.gen::(); } - - let mut rng2 = rng1.clone(); - assert_eq!(first, rng2.gen::()); - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/rngs/entropy.rs b/vendor/registry-40351f815f426200/rand/src/rngs/entropy.rs deleted file mode 100644 index 9a2affdff..000000000 --- a/vendor/registry-40351f815f426200/rand/src/rngs/entropy.rs +++ /dev/null @@ -1,248 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Entropy generator, or wrapper around external generators - -use rand_core::{RngCore, CryptoRng, Error, ErrorKind, impls}; -#[allow(unused)] -use rngs; - -/// An interface returning random data from external source(s), provided -/// specifically for securely seeding algorithmic generators (PRNGs). -/// -/// Where possible, `EntropyRng` retrieves random data from the operating -/// system's interface for random numbers ([`OsRng`]); if that fails it will -/// fall back to the [`JitterRng`] entropy collector. In the latter case it will -/// still try to use [`OsRng`] on the next usage. -/// -/// If no secure source of entropy is available `EntropyRng` will panic on use; -/// i.e. it should never output predictable data. -/// -/// This is either a little slow ([`OsRng`] requires a system call) or extremely -/// slow ([`JitterRng`] must use significant CPU time to generate sufficient -/// jitter); for better performance it is common to seed a local PRNG from -/// external entropy then primarily use the local PRNG ([`thread_rng`] is -/// provided as a convenient, local, automatically-seeded CSPRNG). -/// -/// # Panics -/// -/// On most systems, like Windows, Linux, macOS and *BSD on common hardware, it -/// is highly unlikely for both [`OsRng`] and [`JitterRng`] to fail. But on -/// combinations like webassembly without Emscripten or stdweb both sources are -/// unavailable. If both sources fail, only [`try_fill_bytes`] is able to -/// report the error, and only the one from `OsRng`. The other [`RngCore`] -/// methods will panic in case of an error. -/// -/// [`OsRng`]: rand_os::OsRng -/// [`thread_rng`]: crate::thread_rng -/// [`JitterRng`]: crate::rngs::JitterRng -/// [`try_fill_bytes`]: RngCore::try_fill_bytes -#[derive(Debug)] -pub struct EntropyRng { - source: Source, -} - -#[derive(Debug)] -enum Source { - Os(Os), - Custom(Custom), - Jitter(Jitter), - None, -} - -impl EntropyRng { - /// Create a new `EntropyRng`. - /// - /// This method will do no system calls or other initialization routines, - /// those are done on first use. This is done to make `new` infallible, - /// and `try_fill_bytes` the only place to report errors. - pub fn new() -> Self { - EntropyRng { source: Source::None } - } -} - -impl Default for EntropyRng { - fn default() -> Self { - EntropyRng::new() - } -} - -impl RngCore for EntropyRng { - fn next_u32(&mut self) -> u32 { - impls::next_u32_via_fill(self) - } - - fn next_u64(&mut self) -> u64 { - impls::next_u64_via_fill(self) - } - - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.try_fill_bytes(dest).unwrap_or_else(|err| - panic!("all entropy sources failed; first error: {}", err)) - } - - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - let mut reported_error = None; - - if let Source::Os(ref mut os_rng) = self.source { - match os_rng.fill(dest) { - Ok(()) => return Ok(()), - Err(err) => { - warn!("EntropyRng: OsRng failed \ - [trying other entropy sources]: {}", err); - reported_error = Some(err); - }, - } - } else if Os::is_supported() { - match Os::new_and_fill(dest) { - Ok(os_rng) => { - debug!("EntropyRng: using OsRng"); - self.source = Source::Os(os_rng); - return Ok(()); - }, - Err(err) => { reported_error = reported_error.or(Some(err)) }, - } - } - - if let Source::Custom(ref mut rng) = self.source { - match rng.fill(dest) { - Ok(()) => return Ok(()), - Err(err) => { - warn!("EntropyRng: custom entropy source failed \ - [trying other entropy sources]: {}", err); - reported_error = Some(err); - }, - } - } else if Custom::is_supported() { - match Custom::new_and_fill(dest) { - Ok(custom) => { - debug!("EntropyRng: using custom entropy source"); - self.source = Source::Custom(custom); - return Ok(()); - }, - Err(err) => { reported_error = reported_error.or(Some(err)) }, - } - } - - if let Source::Jitter(ref mut jitter_rng) = self.source { - match jitter_rng.fill(dest) { - Ok(()) => return Ok(()), - Err(err) => { - warn!("EntropyRng: JitterRng failed: {}", err); - reported_error = Some(err); - }, - } - } else if Jitter::is_supported() { - match Jitter::new_and_fill(dest) { - Ok(jitter_rng) => { - debug!("EntropyRng: using JitterRng"); - self.source = Source::Jitter(jitter_rng); - return Ok(()); - }, - Err(err) => { reported_error = reported_error.or(Some(err)) }, - } - } - - if let Some(err) = reported_error { - Err(Error::with_cause(ErrorKind::Unavailable, - "All entropy sources failed", - err)) - } else { - Err(Error::new(ErrorKind::Unavailable, - "No entropy sources available")) - } - } -} - -impl CryptoRng for EntropyRng {} - - - -trait EntropySource { - fn new_and_fill(dest: &mut [u8]) -> Result - where Self: Sized; - - fn fill(&mut self, dest: &mut [u8]) -> Result<(), Error>; - - fn is_supported() -> bool { true } -} - -#[allow(unused)] -#[derive(Clone, Debug)] -struct NoSource; - -#[allow(unused)] -impl EntropySource for NoSource { - fn new_and_fill(dest: &mut [u8]) -> Result { - Err(Error::new(ErrorKind::Unavailable, "Source not supported")) - } - - fn fill(&mut self, dest: &mut [u8]) -> Result<(), Error> { - unreachable!() - } - - fn is_supported() -> bool { false } -} - - -#[cfg(feature="rand_os")] -#[derive(Clone, Debug)] -pub struct Os(rngs::OsRng); - -#[cfg(feature="rand_os")] -impl EntropySource for Os { - fn new_and_fill(dest: &mut [u8]) -> Result { - let mut rng = rngs::OsRng::new()?; - rng.try_fill_bytes(dest)?; - Ok(Os(rng)) - } - - fn fill(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -#[cfg(not(feature="std"))] -type Os = NoSource; - - -type Custom = NoSource; - - -#[cfg(not(target_arch = "wasm32"))] -#[derive(Clone, Debug)] -pub struct Jitter(rngs::JitterRng); - -#[cfg(not(target_arch = "wasm32"))] -impl EntropySource for Jitter { - fn new_and_fill(dest: &mut [u8]) -> Result { - let mut rng = rngs::JitterRng::new()?; - rng.try_fill_bytes(dest)?; - Ok(Jitter(rng)) - } - - fn fill(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -#[cfg(target_arch = "wasm32")] -type Jitter = NoSource; - - -#[cfg(test)] -mod test { - use super::*; - - #[test] - fn test_entropy() { - let mut rng = EntropyRng::new(); - let n = (rng.next_u32() ^ rng.next_u32()).count_ones(); - assert!(n >= 2); // p(failure) approx 1e-7 - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/rngs/mock.rs b/vendor/registry-40351f815f426200/rand/src/rngs/mock.rs deleted file mode 100644 index 3c9a994eb..000000000 --- a/vendor/registry-40351f815f426200/rand/src/rngs/mock.rs +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Mock random number generator - -use rand_core::{RngCore, Error, impls}; - -/// A simple implementation of `RngCore` for testing purposes. -/// -/// This generates an arithmetic sequence (i.e. adds a constant each step) -/// over a `u64` number, using wrapping arithmetic. If the increment is 0 -/// the generator yields a constant. -/// -/// ``` -/// use rand::Rng; -/// use rand::rngs::mock::StepRng; -/// -/// let mut my_rng = StepRng::new(2, 1); -/// let sample: [u64; 3] = my_rng.gen(); -/// assert_eq!(sample, [2, 3, 4]); -/// ``` -#[derive(Debug, Clone)] -pub struct StepRng { - v: u64, - a: u64, -} - -impl StepRng { - /// Create a `StepRng`, yielding an arithmetic sequence starting with - /// `initial` and incremented by `increment` each time. - pub fn new(initial: u64, increment: u64) -> Self { - StepRng { v: initial, a: increment } - } -} - -impl RngCore for StepRng { - fn next_u32(&mut self) -> u32 { - self.next_u64() as u32 - } - - fn next_u64(&mut self) -> u64 { - let result = self.v; - self.v = self.v.wrapping_add(self.a); - result - } - - fn fill_bytes(&mut self, dest: &mut [u8]) { - impls::fill_bytes_via_next(self, dest); - } - - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - Ok(self.fill_bytes(dest)) - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/rngs/mod.rs b/vendor/registry-40351f815f426200/rand/src/rngs/mod.rs deleted file mode 100644 index b3f05a072..000000000 --- a/vendor/registry-40351f815f426200/rand/src/rngs/mod.rs +++ /dev/null @@ -1,167 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Random number generators and adapters for common usage: -//! -//! - [`ThreadRng`], a fast, secure, auto-seeded thread-local generator -//! - [`StdRng`] and [`SmallRng`], algorithms to cover typical usage -//! - [`EntropyRng`], [`OsRng`] and [`JitterRng`] as entropy sources -//! - [`mock::StepRng`] as a simple counter for tests -//! - [`adapter::ReadRng`] to read from a file/stream -//! - [`adapter::ReseedingRng`] to reseed a PRNG on clone / process fork etc. -//! -//! # Background — Random number generators (RNGs) -//! -//! Computers are inherently deterministic, so to get *random* numbers one -//! either has to use a hardware generator or collect bits of *entropy* from -//! various sources (e.g. event timestamps, or jitter). This is a relatively -//! slow and complicated operation. -//! -//! Generally the operating system will collect some entropy, remove bias, and -//! use that to seed its own PRNG; [`OsRng`] provides an interface to this. -//! [`JitterRng`] is an entropy collector included with Rand that measures -//! jitter in the CPU execution time, and jitter in memory access time. -//! [`EntropyRng`] is a wrapper that uses the best entropy source that is -//! available. -//! -//! ## Pseudo-random number generators -//! -//! What is commonly used instead of "true" random number renerators, are -//! *pseudo-random number generators* (PRNGs), deterministic algorithms that -//! produce an infinite stream of pseudo-random numbers from a small random -//! seed. PRNGs are faster, and have better provable properties. The numbers -//! produced can be statistically of very high quality and can be impossible to -//! predict. (They can also have obvious correlations and be trivial to predict; -//! quality varies.) -//! -//! There are two different types of PRNGs: those developed for simulations -//! and statistics, and those developed for use in cryptography; the latter are -//! called Cryptographically Secure PRNGs (CSPRNG or CPRNG). Both types can -//! have good statistical quality but the latter also have to be impossible to -//! predict, even after seeing many previous output values. Rand provides a good -//! default algorithm from each class: -//! -//! - [`SmallRng`] is a PRNG chosen for low memory usage, high performance and -//! good statistical quality. -//! - [`StdRng`] is a CSPRNG chosen for good performance and trust of security -//! (based on reviews, maturity and usage). The current algorithm is HC-128, -//! which is one of the recommendations by ECRYPT's eSTREAM project. -//! -//! The above PRNGs do not cover all use-cases; more algorithms can be found in -//! the [`prng`][crate::prng] module, as well as in several other crates. For example, you -//! may wish a CSPRNG with significantly lower memory usage than [`StdRng`] -//! while being less concerned about performance, in which case [`ChaChaRng`] -//! is a good choice. -//! -//! One complexity is that the internal state of a PRNG must change with every -//! generated number. For APIs this generally means a mutable reference to the -//! state of the PRNG has to be passed around. -//! -//! A solution is [`ThreadRng`]. This is a thread-local implementation of -//! [`StdRng`] with automatic seeding on first use. It is the best choice if you -//! "just" want a convenient, secure, fast random number source. Use via the -//! [`thread_rng`] function, which gets a reference to the current thread's -//! local instance. -//! -//! ## Seeding -//! -//! As mentioned above, PRNGs require a random seed in order to produce random -//! output. This is especially important for CSPRNGs, which are still -//! deterministic algorithms, thus can only be secure if their seed value is -//! also secure. To seed a PRNG, use one of: -//! -//! - [`FromEntropy::from_entropy`]; this is the most convenient way to seed -//! with fresh, secure random data. -//! - [`SeedableRng::from_rng`]; this allows seeding from another PRNG or -//! from an entropy source such as [`EntropyRng`]. -//! - [`SeedableRng::from_seed`]; this is mostly useful if you wish to be able -//! to reproduce the output sequence by using a fixed seed. (Don't use -//! [`StdRng`] or [`SmallRng`] in this case since different algorithms may be -//! used by future versions of Rand; use an algorithm from the -//! [`prng`] module.) -//! -//! ## Conclusion -//! -//! - [`thread_rng`] is what you often want to use. -//! - If you want more control, flexibility, or better performance, use -//! [`StdRng`], [`SmallRng`] or an algorithm from the [`prng`] module. -//! - Use [`FromEntropy::from_entropy`] to seed new PRNGs. -//! - If you need reproducibility, use [`SeedableRng::from_seed`] combined with -//! a named PRNG. -//! -//! More information and notes on cryptographic security can be found -//! in the [`prng`] module. -//! -//! ## Examples -//! -//! Examples of seeding PRNGs: -//! -//! ``` -//! use rand::prelude::*; -//! # use rand::Error; -//! -//! // StdRng seeded securely by the OS or local entropy collector: -//! let mut rng = StdRng::from_entropy(); -//! # let v: u32 = rng.gen(); -//! -//! // SmallRng seeded from thread_rng: -//! # fn try_inner() -> Result<(), Error> { -//! let mut rng = SmallRng::from_rng(thread_rng())?; -//! # let v: u32 = rng.gen(); -//! # Ok(()) -//! # } -//! # try_inner().unwrap(); -//! -//! // SmallRng seeded by a constant, for deterministic results: -//! let seed = [1,2,3,4, 5,6,7,8, 9,10,11,12, 13,14,15,16]; // byte array -//! let mut rng = SmallRng::from_seed(seed); -//! # let v: u32 = rng.gen(); -//! ``` -//! -//! -//! # Implementing custom RNGs -//! -//! If you want to implement custom RNG, see the [`rand_core`] crate. The RNG -//! will have to implement the [`RngCore`] trait, where the [`Rng`] trait is -//! build on top of. -//! -//! If the RNG needs seeding, also implement the [`SeedableRng`] trait. -//! -//! [`CryptoRng`] is a marker trait cryptographically secure PRNGs can -//! implement. -//! -//! [`OsRng`]: rand_os::OsRng -//! [`SmallRng`]: rngs::SmallRng -//! [`StdRng`]: rngs::StdRng -//! [`ThreadRng`]: rngs::ThreadRng -//! [`EntropyRng`]: rngs::EntropyRng -//! [`JitterRng`]: rngs::JitterRng -//! [`mock::StepRng`]: rngs::mock::StepRng -//! [`adapter::ReadRng`]: rngs::adapter::ReadRng -//! [`adapter::ReseedingRng`]: rngs::adapter::ReseedingRng -//! [`ChaChaRng`]: rand_chacha::ChaChaRng - -pub mod adapter; - -#[cfg(feature="std")] mod entropy; -pub mod mock; // Public so we don't export `StepRng` directly, making it a bit - // more clear it is intended for testing. -mod small; -mod std; -#[cfg(feature="std")] pub(crate) mod thread; - - -pub use rand_jitter::{JitterRng, TimerError}; -#[cfg(feature="std")] pub use self::entropy::EntropyRng; - -pub use self::small::SmallRng; -pub use self::std::StdRng; -#[cfg(feature="std")] pub use self::thread::ThreadRng; - -#[cfg(feature="rand_os")] -pub use rand_os::OsRng; diff --git a/vendor/registry-40351f815f426200/rand/src/rngs/small.rs b/vendor/registry-40351f815f426200/rand/src/rngs/small.rs deleted file mode 100644 index 9874d2469..000000000 --- a/vendor/registry-40351f815f426200/rand/src/rngs/small.rs +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! A small fast RNG - -use {RngCore, SeedableRng, Error}; - -#[cfg(all(all(rustc_1_26, not(target_os = "emscripten")), target_pointer_width = "64"))] -type Rng = ::rand_pcg::Pcg64Mcg; -#[cfg(not(all(all(rustc_1_26, not(target_os = "emscripten")), target_pointer_width = "64")))] -type Rng = ::rand_pcg::Pcg32; - -/// An RNG recommended when small state, cheap initialization and good -/// performance are required. The PRNG algorithm in `SmallRng` is chosen to be -/// efficient on the current platform, **without consideration for cryptography -/// or security**. The size of its state is much smaller than for [`StdRng`]. -/// -/// Reproducibility of output from this generator is however not required, thus -/// future library versions may use a different internal generator with -/// different output. Further, this generator may not be portable and can -/// produce different output depending on the architecture. If you require -/// reproducible output, use a named RNG. -/// Refer to [The Book](https://rust-random.github.io/book/guide-rngs.html). -/// -/// -/// The current algorithm is [`Pcg64Mcg`][rand_pcg::Pcg64Mcg] on 64-bit platforms with Rust version -/// 1.26 and later, or [`Pcg32`][rand_pcg::Pcg32] otherwise. Both are found in -/// the [rand_pcg] crate. -/// -/// # Examples -/// -/// Initializing `SmallRng` with a random seed can be done using [`FromEntropy`]: -/// -/// ``` -/// # use rand::Rng; -/// use rand::FromEntropy; -/// use rand::rngs::SmallRng; -/// -/// // Create small, cheap to initialize and fast RNG with a random seed. -/// // The randomness is supplied by the operating system. -/// let mut small_rng = SmallRng::from_entropy(); -/// # let v: u32 = small_rng.gen(); -/// ``` -/// -/// When initializing a lot of `SmallRng`'s, using [`thread_rng`] can be more -/// efficient: -/// -/// ``` -/// use std::iter; -/// use rand::{SeedableRng, thread_rng}; -/// use rand::rngs::SmallRng; -/// -/// // Create a big, expensive to initialize and slower, but unpredictable RNG. -/// // This is cached and done only once per thread. -/// let mut thread_rng = thread_rng(); -/// // Create small, cheap to initialize and fast RNGs with random seeds. -/// // One can generally assume this won't fail. -/// let rngs: Vec = iter::repeat(()) -/// .map(|()| SmallRng::from_rng(&mut thread_rng).unwrap()) -/// .take(10) -/// .collect(); -/// ``` -/// -/// [`FromEntropy`]: crate::FromEntropy -/// [`StdRng`]: crate::rngs::StdRng -/// [`thread_rng`]: crate::thread_rng -/// [rand_pcg]: https://crates.io/crates/rand_pcg -#[derive(Clone, Debug)] -pub struct SmallRng(Rng); - -impl RngCore for SmallRng { - #[inline(always)] - fn next_u32(&mut self) -> u32 { - self.0.next_u32() - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - self.0.next_u64() - } - - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.0.fill_bytes(dest); - } - - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -impl SeedableRng for SmallRng { - type Seed = ::Seed; - - fn from_seed(seed: Self::Seed) -> Self { - SmallRng(Rng::from_seed(seed)) - } - - fn from_rng(rng: R) -> Result { - Rng::from_rng(rng).map(SmallRng) - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/rngs/std.rs b/vendor/registry-40351f815f426200/rand/src/rngs/std.rs deleted file mode 100644 index e67a76da8..000000000 --- a/vendor/registry-40351f815f426200/rand/src/rngs/std.rs +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The standard RNG - -use {RngCore, CryptoRng, Error, SeedableRng}; -use rand_hc::Hc128Rng; - -/// The standard RNG. The PRNG algorithm in `StdRng` is chosen to be efficient -/// on the current platform, to be statistically strong and unpredictable -/// (meaning a cryptographically secure PRNG). -/// -/// The current algorithm used on all platforms is [HC-128], found in the -/// [rand_hc] crate. -/// -/// Reproducibility of output from this generator is however not required, thus -/// future library versions may use a different internal generator with -/// different output. Further, this generator may not be portable and can -/// produce different output depending on the architecture. If you require -/// reproducible output, use a named RNG, for example [`ChaChaRng`] from the -/// [rand_chacha] crate. -/// -/// [HC-128]: rand_hc::Hc128Rng -/// [`ChaChaRng`]: rand_chacha::ChaChaRng -/// [rand_hc]: https://crates.io/crates/rand_hc -/// [rand_chacha]: https://crates.io/crates/rand_chacha -#[derive(Clone, Debug)] -pub struct StdRng(Hc128Rng); - -impl RngCore for StdRng { - #[inline(always)] - fn next_u32(&mut self) -> u32 { - self.0.next_u32() - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - self.0.next_u64() - } - - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.0.fill_bytes(dest); - } - - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -impl SeedableRng for StdRng { - type Seed = ::Seed; - - fn from_seed(seed: Self::Seed) -> Self { - StdRng(Hc128Rng::from_seed(seed)) - } - - fn from_rng(rng: R) -> Result { - Hc128Rng::from_rng(rng).map(StdRng) - } -} - -impl CryptoRng for StdRng {} - - -#[cfg(test)] -mod test { - use {RngCore, SeedableRng}; - use rngs::StdRng; - - #[test] - fn test_stdrng_construction() { - let seed = [1,0,0,0, 23,0,0,0, 200,1,0,0, 210,30,0,0, - 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; - let mut rng1 = StdRng::from_seed(seed); - assert_eq!(rng1.next_u64(), 15759097995037006553); - - let mut rng2 = StdRng::from_rng(rng1).unwrap(); - assert_eq!(rng2.next_u64(), 6766915756997287454); - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/rngs/thread.rs b/vendor/registry-40351f815f426200/rand/src/rngs/thread.rs deleted file mode 100644 index f1aa787dc..000000000 --- a/vendor/registry-40351f815f426200/rand/src/rngs/thread.rs +++ /dev/null @@ -1,137 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Thread-local random number generator - -use std::cell::UnsafeCell; - -use {RngCore, CryptoRng, SeedableRng, Error}; -use rngs::adapter::ReseedingRng; -use rngs::EntropyRng; -use rand_hc::Hc128Core; - -// Rationale for using `UnsafeCell` in `ThreadRng`: -// -// Previously we used a `RefCell`, with an overhead of ~15%. There will only -// ever be one mutable reference to the interior of the `UnsafeCell`, because -// we only have such a reference inside `next_u32`, `next_u64`, etc. Within a -// single thread (which is the definition of `ThreadRng`), there will only ever -// be one of these methods active at a time. -// -// A possible scenario where there could be multiple mutable references is if -// `ThreadRng` is used inside `next_u32` and co. But the implementation is -// completely under our control. We just have to ensure none of them use -// `ThreadRng` internally, which is nonsensical anyway. We should also never run -// `ThreadRng` in destructors of its implementation, which is also nonsensical. -// -// The additional `Rc` is not strictly neccesary, and could be removed. For now -// it ensures `ThreadRng` stays `!Send` and `!Sync`, and implements `Clone`. - - -// Number of generated bytes after which to reseed `TreadRng`. -// -// The time it takes to reseed HC-128 is roughly equivalent to generating 7 KiB. -// We pick a treshold here that is large enough to not reduce the average -// performance too much, but also small enough to not make reseeding something -// that basically never happens. -const THREAD_RNG_RESEED_THRESHOLD: u64 = 32*1024*1024; // 32 MiB - -/// The type returned by [`thread_rng`], essentially just a reference to the -/// PRNG in thread-local memory. -/// -/// `ThreadRng` uses [`ReseedingRng`] wrapping the same PRNG as [`StdRng`], -/// which is reseeded after generating 32 MiB of random data. A single instance -/// is cached per thread and the returned `ThreadRng` is a reference to this -/// instance — hence `ThreadRng` is neither `Send` nor `Sync` but is safe to use -/// within a single thread. This RNG is seeded and reseeded via [`EntropyRng`] -/// as required. -/// -/// Note that the reseeding is done as an extra precaution against entropy -/// leaks and is in theory unnecessary — to predict `ThreadRng`'s output, an -/// attacker would have to either determine most of the RNG's seed or internal -/// state, or crack the algorithm used. -/// -/// Like [`StdRng`], `ThreadRng` is a cryptographically secure PRNG. The current -/// algorithm used is [HC-128], which is an array-based PRNG that trades memory -/// usage for better performance. This makes it similar to ISAAC, the algorithm -/// used in `ThreadRng` before rand 0.5. -/// -/// Cloning this handle just produces a new reference to the same thread-local -/// generator. -/// -/// [`ReseedingRng`]: crate::rngs::adapter::ReseedingRng -/// [`StdRng`]: crate::rngs::StdRng -/// [HC-128]: rand_hc::Hc128Rng -#[derive(Clone, Debug)] -pub struct ThreadRng { - // use of raw pointer implies type is neither Send nor Sync - rng: *mut ReseedingRng, -} - -thread_local!( - static THREAD_RNG_KEY: UnsafeCell> = { - let mut entropy_source = EntropyRng::new(); - let r = Hc128Core::from_rng(&mut entropy_source).unwrap_or_else(|err| - panic!("could not initialize thread_rng: {}", err)); - let rng = ReseedingRng::new(r, - THREAD_RNG_RESEED_THRESHOLD, - entropy_source); - UnsafeCell::new(rng) - } -); - -/// Retrieve the lazily-initialized thread-local random number generator, -/// seeded by the system. Intended to be used in method chaining style, -/// e.g. `thread_rng().gen::()`, or cached locally, e.g. -/// `let mut rng = thread_rng();`. Invoked by the `Default` trait, making -/// `ThreadRng::default()` equivelent. -/// -/// For more information see [`ThreadRng`]. -pub fn thread_rng() -> ThreadRng { - ThreadRng { rng: THREAD_RNG_KEY.with(|t| t.get()) } -} - -impl Default for ThreadRng { - fn default() -> ThreadRng { - ::prelude::thread_rng() - } -} - -impl RngCore for ThreadRng { - #[inline(always)] - fn next_u32(&mut self) -> u32 { - unsafe { (*self.rng).next_u32() } - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - unsafe { (*self.rng).next_u64() } - } - - fn fill_bytes(&mut self, dest: &mut [u8]) { - unsafe { (*self.rng).fill_bytes(dest) } - } - - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - unsafe { (*self.rng).try_fill_bytes(dest) } - } -} - -impl CryptoRng for ThreadRng {} - - -#[cfg(test)] -mod test { - #[test] - fn test_thread_rng() { - use Rng; - let mut r = ::thread_rng(); - r.gen::(); - assert_eq!(r.gen_range(0, 1), 0); - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/seq/index.rs b/vendor/registry-40351f815f426200/rand/src/seq/index.rs deleted file mode 100644 index a70c7367f..000000000 --- a/vendor/registry-40351f815f426200/rand/src/seq/index.rs +++ /dev/null @@ -1,378 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Index sampling - -#[cfg(feature="alloc")] use core::slice; - -#[cfg(feature="std")] use std::vec; -#[cfg(all(feature="alloc", not(feature="std")))] use alloc::vec::{self, Vec}; -// BTreeMap is not as fast in tests, but better than nothing. -#[cfg(feature="std")] use std::collections::{HashSet}; -#[cfg(all(feature="alloc", not(feature="std")))] use alloc::collections::BTreeSet; - -#[cfg(feature="alloc")] use distributions::{Distribution, Uniform}; -use Rng; - -/// A vector of indices. -/// -/// Multiple internal representations are possible. -#[derive(Clone, Debug)] -pub enum IndexVec { - #[doc(hidden)] U32(Vec), - #[doc(hidden)] USize(Vec), -} - -impl IndexVec { - /// Returns the number of indices - pub fn len(&self) -> usize { - match self { - &IndexVec::U32(ref v) => v.len(), - &IndexVec::USize(ref v) => v.len(), - } - } - - /// Return the value at the given `index`. - /// - /// (Note: we cannot implement [`std::ops::Index`] because of lifetime - /// restrictions.) - pub fn index(&self, index: usize) -> usize { - match self { - &IndexVec::U32(ref v) => v[index] as usize, - &IndexVec::USize(ref v) => v[index], - } - } - - /// Return result as a `Vec`. Conversion may or may not be trivial. - pub fn into_vec(self) -> Vec { - match self { - IndexVec::U32(v) => v.into_iter().map(|i| i as usize).collect(), - IndexVec::USize(v) => v, - } - } - - /// Iterate over the indices as a sequence of `usize` values - pub fn iter<'a>(&'a self) -> IndexVecIter<'a> { - match self { - &IndexVec::U32(ref v) => IndexVecIter::U32(v.iter()), - &IndexVec::USize(ref v) => IndexVecIter::USize(v.iter()), - } - } - - /// Convert into an iterator over the indices as a sequence of `usize` values - pub fn into_iter(self) -> IndexVecIntoIter { - match self { - IndexVec::U32(v) => IndexVecIntoIter::U32(v.into_iter()), - IndexVec::USize(v) => IndexVecIntoIter::USize(v.into_iter()), - } - } -} - -impl PartialEq for IndexVec { - fn eq(&self, other: &IndexVec) -> bool { - use self::IndexVec::*; - match (self, other) { - (&U32(ref v1), &U32(ref v2)) => v1 == v2, - (&USize(ref v1), &USize(ref v2)) => v1 == v2, - (&U32(ref v1), &USize(ref v2)) => (v1.len() == v2.len()) - && (v1.iter().zip(v2.iter()).all(|(x, y)| *x as usize == *y)), - (&USize(ref v1), &U32(ref v2)) => (v1.len() == v2.len()) - && (v1.iter().zip(v2.iter()).all(|(x, y)| *x == *y as usize)), - } - } -} - -impl From> for IndexVec { - fn from(v: Vec) -> Self { - IndexVec::U32(v) - } -} - -impl From> for IndexVec { - fn from(v: Vec) -> Self { - IndexVec::USize(v) - } -} - -/// Return type of `IndexVec::iter`. -#[derive(Debug)] -pub enum IndexVecIter<'a> { - #[doc(hidden)] U32(slice::Iter<'a, u32>), - #[doc(hidden)] USize(slice::Iter<'a, usize>), -} - -impl<'a> Iterator for IndexVecIter<'a> { - type Item = usize; - fn next(&mut self) -> Option { - use self::IndexVecIter::*; - match self { - &mut U32(ref mut iter) => iter.next().map(|i| *i as usize), - &mut USize(ref mut iter) => iter.next().cloned(), - } - } - - fn size_hint(&self) -> (usize, Option) { - match self { - &IndexVecIter::U32(ref v) => v.size_hint(), - &IndexVecIter::USize(ref v) => v.size_hint(), - } - } -} - -impl<'a> ExactSizeIterator for IndexVecIter<'a> {} - -/// Return type of `IndexVec::into_iter`. -#[derive(Clone, Debug)] -pub enum IndexVecIntoIter { - #[doc(hidden)] U32(vec::IntoIter), - #[doc(hidden)] USize(vec::IntoIter), -} - -impl Iterator for IndexVecIntoIter { - type Item = usize; - - fn next(&mut self) -> Option { - use self::IndexVecIntoIter::*; - match self { - &mut U32(ref mut v) => v.next().map(|i| i as usize), - &mut USize(ref mut v) => v.next(), - } - } - - fn size_hint(&self) -> (usize, Option) { - use self::IndexVecIntoIter::*; - match self { - &U32(ref v) => v.size_hint(), - &USize(ref v) => v.size_hint(), - } - } -} - -impl ExactSizeIterator for IndexVecIntoIter {} - - -/// Randomly sample exactly `amount` distinct indices from `0..length`, and -/// return them in random order (fully shuffled). -/// -/// This method is used internally by the slice sampling methods, but it can -/// sometimes be useful to have the indices themselves so this is provided as -/// an alternative. -/// -/// The implementation used is not specified; we automatically select the -/// fastest available algorithm for the `length` and `amount` parameters -/// (based on detailed profiling on an Intel Haswell CPU). Roughly speaking, -/// complexity is `O(amount)`, except that when `amount` is small, performance -/// is closer to `O(amount^2)`, and when `length` is close to `amount` then -/// `O(length)`. -/// -/// Note that performance is significantly better over `u32` indices than over -/// `u64` indices. Because of this we hide the underlying type behind an -/// abstraction, `IndexVec`. -/// -/// If an allocation-free `no_std` function is required, it is suggested -/// to adapt the internal `sample_floyd` implementation. -/// -/// Panics if `amount > length`. -pub fn sample(rng: &mut R, length: usize, amount: usize) -> IndexVec - where R: Rng + ?Sized, -{ - if amount > length { - panic!("`amount` of samples must be less than or equal to `length`"); - } - if length > (::core::u32::MAX as usize) { - // We never want to use inplace here, but could use floyd's alg - // Lazy version: always use the cache alg. - return sample_rejection(rng, length, amount); - } - let amount = amount as u32; - let length = length as u32; - - // Choice of algorithm here depends on both length and amount. See: - // https://github.com/rust-random/rand/pull/479 - // We do some calculations with f32. Accuracy is not very important. - - if amount < 163 { - const C: [[f32; 2]; 2] = [[1.6, 8.0/45.0], [10.0, 70.0/9.0]]; - let j = if length < 500_000 { 0 } else { 1 }; - let amount_fp = amount as f32; - let m4 = C[0][j] * amount_fp; - // Short-cut: when amount < 12, floyd's is always faster - if amount > 11 && (length as f32) < (C[1][j] + m4) * amount_fp { - sample_inplace(rng, length, amount) - } else { - sample_floyd(rng, length, amount) - } - } else { - const C: [f32; 2] = [270.0, 330.0/9.0]; - let j = if length < 500_000 { 0 } else { 1 }; - if (length as f32) < C[j] * (amount as f32) { - sample_inplace(rng, length, amount) - } else { - // note: could have a specific u32 impl, but I'm lazy and - // generics don't have usable conversions - sample_rejection(rng, length as usize, amount as usize) - } - } -} - -/// Randomly sample exactly `amount` indices from `0..length`, using Floyd's -/// combination algorithm. -/// -/// The output values are fully shuffled. (Overhead is under 50%.) -/// -/// This implementation uses `O(amount)` memory and `O(amount^2)` time. -fn sample_floyd(rng: &mut R, length: u32, amount: u32) -> IndexVec - where R: Rng + ?Sized, -{ - // For small amount we use Floyd's fully-shuffled variant. For larger - // amounts this is slow due to Vec::insert performance, so we shuffle - // afterwards. Benchmarks show little overhead from extra logic. - let floyd_shuffle = amount < 50; - - debug_assert!(amount <= length); - let mut indices = Vec::with_capacity(amount as usize); - for j in length - amount .. length { - let t = rng.gen_range(0, j + 1); - if floyd_shuffle { - if let Some(pos) = indices.iter().position(|&x| x == t) { - indices.insert(pos, j); - continue; - } - } else { - if indices.contains(&t) { - indices.push(j); - continue; - } - } - indices.push(t); - } - if !floyd_shuffle { - // Reimplement SliceRandom::shuffle with smaller indices - for i in (1..amount).rev() { - // invariant: elements with index > i have been locked in place. - indices.swap(i as usize, rng.gen_range(0, i + 1) as usize); - } - } - IndexVec::from(indices) -} - -/// Randomly sample exactly `amount` indices from `0..length`, using an inplace -/// partial Fisher-Yates method. -/// Sample an amount of indices using an inplace partial fisher yates method. -/// -/// This allocates the entire `length` of indices and randomizes only the first `amount`. -/// It then truncates to `amount` and returns. -/// -/// This method is not appropriate for large `length` and potentially uses a lot -/// of memory; because of this we only implement for `u32` index (which improves -/// performance in all cases). -/// -/// Set-up is `O(length)` time and memory and shuffling is `O(amount)` time. -fn sample_inplace(rng: &mut R, length: u32, amount: u32) -> IndexVec - where R: Rng + ?Sized, -{ - debug_assert!(amount <= length); - let mut indices: Vec = Vec::with_capacity(length as usize); - indices.extend(0..length); - for i in 0..amount { - let j: u32 = rng.gen_range(i, length); - indices.swap(i as usize, j as usize); - } - indices.truncate(amount as usize); - debug_assert_eq!(indices.len(), amount as usize); - IndexVec::from(indices) -} - -/// Randomly sample exactly `amount` indices from `0..length`, using rejection -/// sampling. -/// -/// Since `amount <<< length` there is a low chance of a random sample in -/// `0..length` being a duplicate. We test for duplicates and resample where -/// necessary. The algorithm is `O(amount)` time and memory. -fn sample_rejection(rng: &mut R, length: usize, amount: usize) -> IndexVec - where R: Rng + ?Sized, -{ - debug_assert!(amount < length); - #[cfg(feature="std")] let mut cache = HashSet::with_capacity(amount); - #[cfg(not(feature="std"))] let mut cache = BTreeSet::new(); - let distr = Uniform::new(0, length); - let mut indices = Vec::with_capacity(amount); - for _ in 0..amount { - let mut pos = distr.sample(rng); - while !cache.insert(pos) { - pos = distr.sample(rng); - } - indices.push(pos); - } - - debug_assert_eq!(indices.len(), amount); - IndexVec::from(indices) -} - -#[cfg(test)] -mod test { - use super::*; - - #[test] - fn test_sample_boundaries() { - let mut r = ::test::rng(404); - - assert_eq!(sample_inplace(&mut r, 0, 0).len(), 0); - assert_eq!(sample_inplace(&mut r, 1, 0).len(), 0); - assert_eq!(sample_inplace(&mut r, 1, 1).into_vec(), vec![0]); - - assert_eq!(sample_rejection(&mut r, 1, 0).len(), 0); - - assert_eq!(sample_floyd(&mut r, 0, 0).len(), 0); - assert_eq!(sample_floyd(&mut r, 1, 0).len(), 0); - assert_eq!(sample_floyd(&mut r, 1, 1).into_vec(), vec![0]); - - // These algorithms should be fast with big numbers. Test average. - let sum: usize = sample_rejection(&mut r, 1 << 25, 10) - .into_iter().sum(); - assert!(1 << 25 < sum && sum < (1 << 25) * 25); - - let sum: usize = sample_floyd(&mut r, 1 << 25, 10) - .into_iter().sum(); - assert!(1 << 25 < sum && sum < (1 << 25) * 25); - } - - #[test] - fn test_sample_alg() { - let seed_rng = ::test::rng; - - // We can't test which algorithm is used directly, but Floyd's alg - // should produce different results from the others. (Also, `inplace` - // and `cached` currently use different sizes thus produce different results.) - - // A small length and relatively large amount should use inplace - let (length, amount): (usize, usize) = (100, 50); - let v1 = sample(&mut seed_rng(420), length, amount); - let v2 = sample_inplace(&mut seed_rng(420), length as u32, amount as u32); - assert!(v1.iter().all(|e| e < length)); - assert_eq!(v1, v2); - - // Test Floyd's alg does produce different results - let v3 = sample_floyd(&mut seed_rng(420), length as u32, amount as u32); - assert!(v1 != v3); - - // A large length and small amount should use Floyd - let (length, amount): (usize, usize) = (1<<20, 50); - let v1 = sample(&mut seed_rng(421), length, amount); - let v2 = sample_floyd(&mut seed_rng(421), length as u32, amount as u32); - assert!(v1.iter().all(|e| e < length)); - assert_eq!(v1, v2); - - // A large length and larger amount should use cache - let (length, amount): (usize, usize) = (1<<20, 600); - let v1 = sample(&mut seed_rng(422), length, amount); - let v2 = sample_rejection(&mut seed_rng(422), length, amount); - assert!(v1.iter().all(|e| e < length)); - assert_eq!(v1, v2); - } -} diff --git a/vendor/registry-40351f815f426200/rand/src/seq/mod.rs b/vendor/registry-40351f815f426200/rand/src/seq/mod.rs deleted file mode 100644 index d0f83084a..000000000 --- a/vendor/registry-40351f815f426200/rand/src/seq/mod.rs +++ /dev/null @@ -1,829 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Functions for randomly accessing and sampling sequences. -//! -//! TODO: module doc - - -#[cfg(feature="alloc")] pub mod index; - -#[cfg(feature="alloc")] use core::ops::Index; - -#[cfg(all(feature="alloc", not(feature="std")))] use alloc::vec::Vec; - -use Rng; -#[cfg(feature="alloc")] use distributions::WeightedError; -#[cfg(feature="alloc")] use distributions::uniform::{SampleUniform, SampleBorrow}; - -/// Extension trait on slices, providing random mutation and sampling methods. -/// -/// An implementation is provided for slices. This may also be implementable for -/// other types. -pub trait SliceRandom { - /// The element type. - type Item; - - /// Returns a reference to one random element of the slice, or `None` if the - /// slice is empty. - /// - /// Depending on the implementation, complexity is expected to be `O(1)`. - /// - /// # Example - /// - /// ``` - /// use rand::thread_rng; - /// use rand::seq::SliceRandom; - /// - /// let choices = [1, 2, 4, 8, 16, 32]; - /// let mut rng = thread_rng(); - /// println!("{:?}", choices.choose(&mut rng)); - /// assert_eq!(choices[..0].choose(&mut rng), None); - /// ``` - fn choose(&self, rng: &mut R) -> Option<&Self::Item> - where R: Rng + ?Sized; - - /// Returns a mutable reference to one random element of the slice, or - /// `None` if the slice is empty. - /// - /// Depending on the implementation, complexity is expected to be `O(1)`. - fn choose_mut(&mut self, rng: &mut R) -> Option<&mut Self::Item> - where R: Rng + ?Sized; - - /// Produces an iterator that chooses `amount` elements from the slice at - /// random without repeating any, and returns them in random order. - /// - /// In case this API is not sufficiently flexible, use `index::sample` then - /// apply the indices to the slice. - /// - /// Complexity is expected to be the same as `index::sample`. - /// - /// # Example - /// ``` - /// use rand::seq::SliceRandom; - /// - /// let mut rng = &mut rand::thread_rng(); - /// let sample = "Hello, audience!".as_bytes(); - /// - /// // collect the results into a vector: - /// let v: Vec = sample.choose_multiple(&mut rng, 3).cloned().collect(); - /// - /// // store in a buffer: - /// let mut buf = [0u8; 5]; - /// for (b, slot) in sample.choose_multiple(&mut rng, buf.len()).zip(buf.iter_mut()) { - /// *slot = *b; - /// } - /// ``` - #[cfg(feature = "alloc")] - fn choose_multiple(&self, rng: &mut R, amount: usize) -> SliceChooseIter - where R: Rng + ?Sized; - - /// Similar to [`choose`], where the likelihood of each outcome may be - /// specified. The specified function `weight` maps items `x` to a relative - /// likelihood `weight(x)`. The probability of each item being selected is - /// therefore `weight(x) / s`, where `s` is the sum of all `weight(x)`. - /// - /// # Example - /// - /// ``` - /// use rand::prelude::*; - /// - /// let choices = [('a', 2), ('b', 1), ('c', 1)]; - /// let mut rng = thread_rng(); - /// // 50% chance to print 'a', 25% chance to print 'b', 25% chance to print 'c' - /// println!("{:?}", choices.choose_weighted(&mut rng, |item| item.1).unwrap().0); - /// ``` - /// [`choose`]: SliceRandom::choose - #[cfg(feature = "alloc")] - fn choose_weighted(&self, rng: &mut R, weight: F) -> Result<&Self::Item, WeightedError> - where R: Rng + ?Sized, - F: Fn(&Self::Item) -> B, - B: SampleBorrow, - X: SampleUniform + - for<'a> ::core::ops::AddAssign<&'a X> + - ::core::cmp::PartialOrd + - Clone + - Default; - - /// Similar to [`choose_mut`], where the likelihood of each outcome may be - /// specified. The specified function `weight` maps items `x` to a relative - /// likelihood `weight(x)`. The probability of each item being selected is - /// therefore `weight(x) / s`, where `s` is the sum of all `weight(x)`. - /// - /// See also [`choose_weighted`]. - /// - /// [`choose_mut`]: SliceRandom::choose_mut - /// [`choose_weighted`]: SliceRandom::choose_weighted - #[cfg(feature = "alloc")] - fn choose_weighted_mut(&mut self, rng: &mut R, weight: F) -> Result<&mut Self::Item, WeightedError> - where R: Rng + ?Sized, - F: Fn(&Self::Item) -> B, - B: SampleBorrow, - X: SampleUniform + - for<'a> ::core::ops::AddAssign<&'a X> + - ::core::cmp::PartialOrd + - Clone + - Default; - - /// Shuffle a mutable slice in place. - /// - /// Depending on the implementation, complexity is expected to be `O(1)`. - /// - /// # Example - /// - /// ``` - /// use rand::thread_rng; - /// use rand::seq::SliceRandom; - /// - /// let mut rng = thread_rng(); - /// let mut y = [1, 2, 3, 4, 5]; - /// println!("Unshuffled: {:?}", y); - /// y.shuffle(&mut rng); - /// println!("Shuffled: {:?}", y); - /// ``` - fn shuffle(&mut self, rng: &mut R) where R: Rng + ?Sized; - - /// Shuffle a slice in place, but exit early. - /// - /// Returns two mutable slices from the source slice. The first contains - /// `amount` elements randomly permuted. The second has the remaining - /// elements that are not fully shuffled. - /// - /// This is an efficient method to select `amount` elements at random from - /// the slice, provided the slice may be mutated. - /// - /// If you only need to choose elements randomly and `amount > self.len()/2` - /// then you may improve performance by taking - /// `amount = values.len() - amount` and using only the second slice. - /// - /// If `amount` is greater than the number of elements in the slice, this - /// will perform a full shuffle. - /// - /// Complexity is expected to be `O(m)` where `m = amount`. - fn partial_shuffle(&mut self, rng: &mut R, amount: usize) - -> (&mut [Self::Item], &mut [Self::Item]) where R: Rng + ?Sized; -} - -/// Extension trait on iterators, providing random sampling methods. -pub trait IteratorRandom: Iterator + Sized { - /// Choose one element at random from the iterator. If you have a slice, - /// it's significantly faster to call the [`choose`] or [`choose_mut`] - /// functions using the slice instead. - /// - /// Returns `None` if and only if the iterator is empty. - /// - /// Complexity is `O(n)`, where `n` is the length of the iterator. - /// This likely consumes multiple random numbers, but the exact number - /// is unspecified. - /// - /// [`choose`]: SliceRandom::method.choose - /// [`choose_mut`]: SliceRandom::choose_mut - fn choose(mut self, rng: &mut R) -> Option - where R: Rng + ?Sized - { - let (mut lower, mut upper) = self.size_hint(); - let mut consumed = 0; - let mut result = None; - - if upper == Some(lower) { - return if lower == 0 { None } else { self.nth(rng.gen_range(0, lower)) }; - } - - // Continue until the iterator is exhausted - loop { - if lower > 1 { - let ix = rng.gen_range(0, lower + consumed); - let skip; - if ix < lower { - result = self.nth(ix); - skip = lower - (ix + 1); - } else { - skip = lower; - } - if upper == Some(lower) { - return result; - } - consumed += lower; - if skip > 0 { - self.nth(skip - 1); - } - } else { - let elem = self.next(); - if elem.is_none() { - return result; - } - consumed += 1; - let denom = consumed as f64; // accurate to 2^53 elements - if rng.gen_bool(1.0 / denom) { - result = elem; - } - } - - let hint = self.size_hint(); - lower = hint.0; - upper = hint.1; - } - } - - /// Collects `amount` values at random from the iterator into a supplied - /// buffer. - /// - /// Although the elements are selected randomly, the order of elements in - /// the buffer is neither stable nor fully random. If random ordering is - /// desired, shuffle the result. - /// - /// Returns the number of elements added to the buffer. This equals `amount` - /// unless the iterator contains insufficient elements, in which case this - /// equals the number of elements available. - /// - /// Complexity is `O(n)` where `n` is the length of the iterator. - fn choose_multiple_fill(mut self, rng: &mut R, buf: &mut [Self::Item]) - -> usize where R: Rng + ?Sized - { - let amount = buf.len(); - let mut len = 0; - while len < amount { - if let Some(elem) = self.next() { - buf[len] = elem; - len += 1; - } else { - // Iterator exhausted; stop early - return len; - } - } - - // Continue, since the iterator was not exhausted - for (i, elem) in self.enumerate() { - let k = rng.gen_range(0, i + 1 + amount); - if let Some(slot) = buf.get_mut(k) { - *slot = elem; - } - } - len - } - - /// Collects `amount` values at random from the iterator into a vector. - /// - /// This is equivalent to `choose_multiple_fill` except for the result type. - /// - /// Although the elements are selected randomly, the order of elements in - /// the buffer is neither stable nor fully random. If random ordering is - /// desired, shuffle the result. - /// - /// The length of the returned vector equals `amount` unless the iterator - /// contains insufficient elements, in which case it equals the number of - /// elements available. - /// - /// Complexity is `O(n)` where `n` is the length of the iterator. - #[cfg(feature = "alloc")] - fn choose_multiple(mut self, rng: &mut R, amount: usize) -> Vec - where R: Rng + ?Sized - { - let mut reservoir = Vec::with_capacity(amount); - reservoir.extend(self.by_ref().take(amount)); - - // Continue unless the iterator was exhausted - // - // note: this prevents iterators that "restart" from causing problems. - // If the iterator stops once, then so do we. - if reservoir.len() == amount { - for (i, elem) in self.enumerate() { - let k = rng.gen_range(0, i + 1 + amount); - if let Some(slot) = reservoir.get_mut(k) { - *slot = elem; - } - } - } else { - // Don't hang onto extra memory. There is a corner case where - // `amount` was much less than `self.len()`. - reservoir.shrink_to_fit(); - } - reservoir - } -} - - -impl SliceRandom for [T] { - type Item = T; - - fn choose(&self, rng: &mut R) -> Option<&Self::Item> - where R: Rng + ?Sized - { - if self.is_empty() { - None - } else { - Some(&self[rng.gen_range(0, self.len())]) - } - } - - fn choose_mut(&mut self, rng: &mut R) -> Option<&mut Self::Item> - where R: Rng + ?Sized - { - if self.is_empty() { - None - } else { - let len = self.len(); - Some(&mut self[rng.gen_range(0, len)]) - } - } - - #[cfg(feature = "alloc")] - fn choose_multiple(&self, rng: &mut R, amount: usize) - -> SliceChooseIter - where R: Rng + ?Sized - { - let amount = ::core::cmp::min(amount, self.len()); - SliceChooseIter { - slice: self, - _phantom: Default::default(), - indices: index::sample(rng, self.len(), amount).into_iter(), - } - } - - #[cfg(feature = "alloc")] - fn choose_weighted(&self, rng: &mut R, weight: F) -> Result<&Self::Item, WeightedError> - where R: Rng + ?Sized, - F: Fn(&Self::Item) -> B, - B: SampleBorrow, - X: SampleUniform + - for<'a> ::core::ops::AddAssign<&'a X> + - ::core::cmp::PartialOrd + - Clone + - Default { - use distributions::{Distribution, WeightedIndex}; - let distr = WeightedIndex::new(self.iter().map(weight))?; - Ok(&self[distr.sample(rng)]) - } - - #[cfg(feature = "alloc")] - fn choose_weighted_mut(&mut self, rng: &mut R, weight: F) -> Result<&mut Self::Item, WeightedError> - where R: Rng + ?Sized, - F: Fn(&Self::Item) -> B, - B: SampleBorrow, - X: SampleUniform + - for<'a> ::core::ops::AddAssign<&'a X> + - ::core::cmp::PartialOrd + - Clone + - Default { - use distributions::{Distribution, WeightedIndex}; - let distr = WeightedIndex::new(self.iter().map(weight))?; - Ok(&mut self[distr.sample(rng)]) - } - - fn shuffle(&mut self, rng: &mut R) where R: Rng + ?Sized - { - for i in (1..self.len()).rev() { - // invariant: elements with index > i have been locked in place. - self.swap(i, rng.gen_range(0, i + 1)); - } - } - - fn partial_shuffle(&mut self, rng: &mut R, amount: usize) - -> (&mut [Self::Item], &mut [Self::Item]) where R: Rng + ?Sized - { - // This applies Durstenfeld's algorithm for the - // [Fisher–Yates shuffle](https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle#The_modern_algorithm) - // for an unbiased permutation, but exits early after choosing `amount` - // elements. - - let len = self.len(); - let end = if amount >= len { 0 } else { len - amount }; - - for i in (end..len).rev() { - // invariant: elements with index > i have been locked in place. - self.swap(i, rng.gen_range(0, i + 1)); - } - let r = self.split_at_mut(end); - (r.1, r.0) - } -} - -impl IteratorRandom for I where I: Iterator + Sized {} - - -/// Iterator over multiple choices, as returned by [`SliceRandom::choose_multiple] -#[cfg(feature = "alloc")] -#[derive(Debug)] -pub struct SliceChooseIter<'a, S: ?Sized + 'a, T: 'a> { - slice: &'a S, - _phantom: ::core::marker::PhantomData, - indices: index::IndexVecIntoIter, -} - -#[cfg(feature = "alloc")] -impl<'a, S: Index + ?Sized + 'a, T: 'a> Iterator for SliceChooseIter<'a, S, T> { - type Item = &'a T; - - fn next(&mut self) -> Option { - // TODO: investigate using SliceIndex::get_unchecked when stable - self.indices.next().map(|i| &self.slice[i as usize]) - } - - fn size_hint(&self) -> (usize, Option) { - (self.indices.len(), Some(self.indices.len())) - } -} - -#[cfg(feature = "alloc")] -impl<'a, S: Index + ?Sized + 'a, T: 'a> ExactSizeIterator - for SliceChooseIter<'a, S, T> -{ - fn len(&self) -> usize { - self.indices.len() - } -} - - -/// Randomly sample `amount` elements from a finite iterator. -/// -/// Deprecated: use [`IteratorRandom::choose_multiple`] instead. -#[cfg(feature = "alloc")] -#[deprecated(since="0.6.0", note="use IteratorRandom::choose_multiple instead")] -pub fn sample_iter(rng: &mut R, iterable: I, amount: usize) -> Result, Vec> - where I: IntoIterator, - R: Rng + ?Sized, -{ - use seq::IteratorRandom; - let iter = iterable.into_iter(); - let result = iter.choose_multiple(rng, amount); - if result.len() == amount { - Ok(result) - } else { - Err(result) - } -} - -/// Randomly sample exactly `amount` values from `slice`. -/// -/// The values are non-repeating and in random order. -/// -/// This implementation uses `O(amount)` time and memory. -/// -/// Panics if `amount > slice.len()` -/// -/// Deprecated: use [`SliceRandom::choose_multiple`] instead. -#[cfg(feature = "alloc")] -#[deprecated(since="0.6.0", note="use SliceRandom::choose_multiple instead")] -pub fn sample_slice(rng: &mut R, slice: &[T], amount: usize) -> Vec - where R: Rng + ?Sized, - T: Clone -{ - let indices = index::sample(rng, slice.len(), amount).into_iter(); - - let mut out = Vec::with_capacity(amount); - out.extend(indices.map(|i| slice[i].clone())); - out -} - -/// Randomly sample exactly `amount` references from `slice`. -/// -/// The references are non-repeating and in random order. -/// -/// This implementation uses `O(amount)` time and memory. -/// -/// Panics if `amount > slice.len()` -/// -/// Deprecated: use [`SliceRandom::choose_multiple`] instead. -#[cfg(feature = "alloc")] -#[deprecated(since="0.6.0", note="use SliceRandom::choose_multiple instead")] -pub fn sample_slice_ref<'a, R, T>(rng: &mut R, slice: &'a [T], amount: usize) -> Vec<&'a T> - where R: Rng + ?Sized -{ - let indices = index::sample(rng, slice.len(), amount).into_iter(); - - let mut out = Vec::with_capacity(amount); - out.extend(indices.map(|i| &slice[i])); - out -} - -#[cfg(test)] -mod test { - use super::*; - #[cfg(feature = "alloc")] use {Rng, SeedableRng}; - #[cfg(feature = "alloc")] use rngs::SmallRng; - #[cfg(all(feature="alloc", not(feature="std")))] - use alloc::vec::Vec; - - #[test] - fn test_slice_choose() { - let mut r = ::test::rng(107); - let chars = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n']; - let mut chosen = [0i32; 14]; - for _ in 0..1000 { - let picked = *chars.choose(&mut r).unwrap(); - chosen[(picked as usize) - ('a' as usize)] += 1; - } - for count in chosen.iter() { - let err = *count - (1000 / (chars.len() as i32)); - assert!(-20 <= err && err <= 20); - } - - chosen.iter_mut().for_each(|x| *x = 0); - for _ in 0..1000 { - *chosen.choose_mut(&mut r).unwrap() += 1; - } - for count in chosen.iter() { - let err = *count - (1000 / (chosen.len() as i32)); - assert!(-20 <= err && err <= 20); - } - - let mut v: [isize; 0] = []; - assert_eq!(v.choose(&mut r), None); - assert_eq!(v.choose_mut(&mut r), None); - } - - #[derive(Clone)] - struct UnhintedIterator { - iter: I, - } - impl Iterator for UnhintedIterator { - type Item = I::Item; - fn next(&mut self) -> Option { - self.iter.next() - } - } - - #[derive(Clone)] - struct ChunkHintedIterator { - iter: I, - chunk_remaining: usize, - chunk_size: usize, - hint_total_size: bool, - } - impl Iterator for ChunkHintedIterator { - type Item = I::Item; - fn next(&mut self) -> Option { - if self.chunk_remaining == 0 { - self.chunk_remaining = ::core::cmp::min(self.chunk_size, - self.iter.len()); - } - self.chunk_remaining = self.chunk_remaining.saturating_sub(1); - - self.iter.next() - } - fn size_hint(&self) -> (usize, Option) { - (self.chunk_remaining, - if self.hint_total_size { Some(self.iter.len()) } else { None }) - } - } - - #[derive(Clone)] - struct WindowHintedIterator { - iter: I, - window_size: usize, - hint_total_size: bool, - } - impl Iterator for WindowHintedIterator { - type Item = I::Item; - fn next(&mut self) -> Option { - self.iter.next() - } - fn size_hint(&self) -> (usize, Option) { - (::core::cmp::min(self.iter.len(), self.window_size), - if self.hint_total_size { Some(self.iter.len()) } else { None }) - } - } - - #[test] - fn test_iterator_choose() { - let r = &mut ::test::rng(109); - fn test_iter + Clone>(r: &mut R, iter: Iter) { - let mut chosen = [0i32; 9]; - for _ in 0..1000 { - let picked = iter.clone().choose(r).unwrap(); - chosen[picked] += 1; - } - for count in chosen.iter() { - // Samples should follow Binomial(1000, 1/9) - // Octave: binopdf(x, 1000, 1/9) gives the prob of *count == x - // Note: have seen 153, which is unlikely but not impossible. - assert!(72 < *count && *count < 154, "count not close to 1000/9: {}", count); - } - } - - test_iter(r, 0..9); - test_iter(r, [0, 1, 2, 3, 4, 5, 6, 7, 8].iter().cloned()); - #[cfg(feature = "alloc")] - test_iter(r, (0..9).collect::>().into_iter()); - test_iter(r, UnhintedIterator { iter: 0..9 }); - test_iter(r, ChunkHintedIterator { iter: 0..9, chunk_size: 4, chunk_remaining: 4, hint_total_size: false }); - test_iter(r, ChunkHintedIterator { iter: 0..9, chunk_size: 4, chunk_remaining: 4, hint_total_size: true }); - test_iter(r, WindowHintedIterator { iter: 0..9, window_size: 2, hint_total_size: false }); - test_iter(r, WindowHintedIterator { iter: 0..9, window_size: 2, hint_total_size: true }); - - assert_eq!((0..0).choose(r), None); - assert_eq!(UnhintedIterator{ iter: 0..0 }.choose(r), None); - } - - #[test] - fn test_shuffle() { - let mut r = ::test::rng(108); - let empty: &mut [isize] = &mut []; - empty.shuffle(&mut r); - let mut one = [1]; - one.shuffle(&mut r); - let b: &[_] = &[1]; - assert_eq!(one, b); - - let mut two = [1, 2]; - two.shuffle(&mut r); - assert!(two == [1, 2] || two == [2, 1]); - - fn move_last(slice: &mut [usize], pos: usize) { - // use slice[pos..].rotate_left(1); once we can use that - let last_val = slice[pos]; - for i in pos..slice.len() - 1 { - slice[i] = slice[i + 1]; - } - *slice.last_mut().unwrap() = last_val; - } - let mut counts = [0i32; 24]; - for _ in 0..10000 { - let mut arr: [usize; 4] = [0, 1, 2, 3]; - arr.shuffle(&mut r); - let mut permutation = 0usize; - let mut pos_value = counts.len(); - for i in 0..4 { - pos_value /= 4 - i; - let pos = arr.iter().position(|&x| x == i).unwrap(); - assert!(pos < (4 - i)); - permutation += pos * pos_value; - move_last(&mut arr, pos); - assert_eq!(arr[3], i); - } - for i in 0..4 { - assert_eq!(arr[i], i); - } - counts[permutation] += 1; - } - for count in counts.iter() { - let err = *count - 10000i32 / 24; - assert!(-50 <= err && err <= 50); - } - } - - #[test] - fn test_partial_shuffle() { - let mut r = ::test::rng(118); - - let mut empty: [u32; 0] = []; - let res = empty.partial_shuffle(&mut r, 10); - assert_eq!((res.0.len(), res.1.len()), (0, 0)); - - let mut v = [1, 2, 3, 4, 5]; - let res = v.partial_shuffle(&mut r, 2); - assert_eq!((res.0.len(), res.1.len()), (2, 3)); - assert!(res.0[0] != res.0[1]); - // First elements are only modified if selected, so at least one isn't modified: - assert!(res.1[0] == 1 || res.1[1] == 2 || res.1[2] == 3); - } - - #[test] - #[cfg(feature = "alloc")] - fn test_sample_iter() { - let min_val = 1; - let max_val = 100; - - let mut r = ::test::rng(401); - let vals = (min_val..max_val).collect::>(); - let small_sample = vals.iter().choose_multiple(&mut r, 5); - let large_sample = vals.iter().choose_multiple(&mut r, vals.len() + 5); - - assert_eq!(small_sample.len(), 5); - assert_eq!(large_sample.len(), vals.len()); - // no randomization happens when amount >= len - assert_eq!(large_sample, vals.iter().collect::>()); - - assert!(small_sample.iter().all(|e| { - **e >= min_val && **e <= max_val - })); - } - - #[test] - #[cfg(feature = "alloc")] - #[allow(deprecated)] - fn test_sample_slice_boundaries() { - let empty: &[u8] = &[]; - - let mut r = ::test::rng(402); - - // sample 0 items - assert_eq!(&sample_slice(&mut r, empty, 0)[..], [0u8; 0]); - assert_eq!(&sample_slice(&mut r, &[42, 2, 42], 0)[..], [0u8; 0]); - - // sample 1 item - assert_eq!(&sample_slice(&mut r, &[42], 1)[..], [42]); - let v = sample_slice(&mut r, &[1, 42], 1)[0]; - assert!(v == 1 || v == 42); - - // sample "all" the items - let v = sample_slice(&mut r, &[42, 133], 2); - assert!(&v[..] == [42, 133] || v[..] == [133, 42]); - - // Make sure lucky 777's aren't lucky - let slice = &[42, 777]; - let mut num_42 = 0; - let total = 1000; - for _ in 0..total { - let v = sample_slice(&mut r, slice, 1); - assert_eq!(v.len(), 1); - let v = v[0]; - assert!(v == 42 || v == 777); - if v == 42 { - num_42 += 1; - } - } - let ratio_42 = num_42 as f64 / 1000 as f64; - assert!(0.4 <= ratio_42 || ratio_42 <= 0.6, "{}", ratio_42); - } - - #[test] - #[cfg(feature = "alloc")] - #[allow(deprecated)] - fn test_sample_slice() { - let seeded_rng = SmallRng::from_seed; - - let mut r = ::test::rng(403); - - for n in 1..20 { - let length = 5*n - 4; // 1, 6, ... - let amount = r.gen_range(0, length); - let mut seed = [0u8; 16]; - r.fill(&mut seed); - - // assert the basics work - let regular = index::sample(&mut seeded_rng(seed), length, amount); - assert_eq!(regular.len(), amount); - assert!(regular.iter().all(|e| e < length)); - - // also test that sampling the slice works - let vec: Vec = (0..(length as u32)).collect(); - let result = sample_slice(&mut seeded_rng(seed), &vec, amount); - assert_eq!(result, regular.iter().map(|i| i as u32).collect::>()); - - let result = sample_slice_ref(&mut seeded_rng(seed), &vec, amount); - assert!(result.iter().zip(regular.iter()).all(|(i,j)| **i == j as u32)); - } - } - - #[test] - #[cfg(feature = "alloc")] - fn test_weighted() { - let mut r = ::test::rng(406); - const N_REPS: u32 = 3000; - let weights = [1u32, 2, 3, 0, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7]; - let total_weight = weights.iter().sum::() as f32; - - let verify = |result: [i32; 14]| { - for (i, count) in result.iter().enumerate() { - let exp = (weights[i] * N_REPS) as f32 / total_weight; - let mut err = (*count as f32 - exp).abs(); - if err != 0.0 { - err /= exp; - } - assert!(err <= 0.25); - } - }; - - // choose_weighted - fn get_weight(item: &(u32, T)) -> u32 { - item.0 - } - let mut chosen = [0i32; 14]; - let mut items = [(0u32, 0usize); 14]; // (weight, index) - for (i, item) in items.iter_mut().enumerate() { - *item = (weights[i], i); - } - for _ in 0..N_REPS { - let item = items.choose_weighted(&mut r, get_weight).unwrap(); - chosen[item.1] += 1; - } - verify(chosen); - - // choose_weighted_mut - let mut items = [(0u32, 0i32); 14]; // (weight, count) - for (i, item) in items.iter_mut().enumerate() { - *item = (weights[i], 0); - } - for _ in 0..N_REPS { - items.choose_weighted_mut(&mut r, get_weight).unwrap().1 += 1; - } - for (ch, item) in chosen.iter_mut().zip(items.iter()) { - *ch = item.1; - } - verify(chosen); - - // Check error cases - let empty_slice = &mut [10][0..0]; - assert_eq!(empty_slice.choose_weighted(&mut r, |_| 1), Err(WeightedError::NoItem)); - assert_eq!(empty_slice.choose_weighted_mut(&mut r, |_| 1), Err(WeightedError::NoItem)); - assert_eq!(['x'].choose_weighted_mut(&mut r, |_| 0), Err(WeightedError::AllWeightsZero)); - assert_eq!([0, -1].choose_weighted_mut(&mut r, |x| *x), Err(WeightedError::NegativeWeight)); - assert_eq!([-1, 0].choose_weighted_mut(&mut r, |x| *x), Err(WeightedError::NegativeWeight)); - } -} diff --git a/vendor/registry-40351f815f426200/rand/tests/uniformity.rs b/vendor/registry-40351f815f426200/rand/tests/uniformity.rs deleted file mode 100644 index b8f74a62e..000000000 --- a/vendor/registry-40351f815f426200/rand/tests/uniformity.rs +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -#![cfg(feature = "std")] - -#[macro_use] -extern crate average; -extern crate rand; - -use std as core; -use rand::FromEntropy; -use rand::distributions::Distribution; -use average::Histogram; - -const N_BINS: usize = 100; -const N_SAMPLES: u32 = 1_000_000; -const TOL: f64 = 1e-3; -define_histogram!(hist, 100); -use hist::Histogram as Histogram100; - -#[test] -fn unit_sphere() { - const N_DIM: usize = 3; - let h = Histogram100::with_const_width(-1., 1.); - let mut histograms = [h.clone(), h.clone(), h]; - let dist = rand::distributions::UnitSphereSurface::new(); - let mut rng = rand::rngs::SmallRng::from_entropy(); - for _ in 0..N_SAMPLES { - let v = dist.sample(&mut rng); - for i in 0..N_DIM { - histograms[i].add(v[i]).map_err( - |e| { println!("v: {}", v[i]); e } - ).unwrap(); - } - } - for h in &histograms { - let sum: u64 = h.bins().iter().sum(); - println!("{:?}", h); - for &b in h.bins() { - let p = (b as f64) / (sum as f64); - assert!((p - 1.0 / (N_BINS as f64)).abs() < TOL, "{}", p); - } - } -} - -#[test] -fn unit_circle() { - use ::std::f64::consts::PI; - let mut h = Histogram100::with_const_width(-PI, PI); - let dist = rand::distributions::UnitCircle::new(); - let mut rng = rand::rngs::SmallRng::from_entropy(); - for _ in 0..N_SAMPLES { - let v = dist.sample(&mut rng); - h.add(v[0].atan2(v[1])).unwrap(); - } - let sum: u64 = h.bins().iter().sum(); - println!("{:?}", h); - for &b in h.bins() { - let p = (b as f64) / (sum as f64); - assert!((p - 1.0 / (N_BINS as f64)).abs() < TOL, "{}", p); - } -} diff --git a/vendor/registry-40351f815f426200/rand_chacha/.cargo-checksum.json b/vendor/registry-40351f815f426200/rand_chacha/.cargo-checksum.json deleted file mode 100644 index 42ac0826a..000000000 --- a/vendor/registry-40351f815f426200/rand_chacha/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"CHANGELOG.md":"66b938cf98ad5c5305ef4cc07886b0f64d9985189f6b32630bf32712a0395e5d","COPYRIGHT":"90eb64f0279b0d9432accfa6023ff803bc4965212383697eee27a0f426d5f8d5","Cargo.toml":"020a747006ee14a2faae021077d5f2d1b41c90a79f97a79bd33a6fc2b256206f","LICENSE-APACHE":"aaff376532ea30a0cd5330b9502ad4a4c8bf769c539c87ffe78819d188a18ebf","LICENSE-MIT":"209fbbe0ad52d9235e37badf9cadfe4dbdc87203179c0899e738b39ade42177b","README.md":"2c4782326824e620912d671f1903722c60ada94c440817ff5e6f83e784f472bf","build.rs":"003108281c4f4bd7a40a93529012acc9d2555c7a4f4b3bfc3ab81d0ed92b8864","src/chacha.rs":"ea9bc97d0fec99d627fcd5ee57f3e187571efdea752ef4b514d1ae0c00476801","src/lib.rs":"ff1162b8836ccc23763cf7f64fa92c2d91b09d1b9ac80960a1486dca6d8a23ca"},"package":"556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/rand_chacha/CHANGELOG.md b/vendor/registry-40351f815f426200/rand_chacha/CHANGELOG.md deleted file mode 100644 index a1979f601..000000000 --- a/vendor/registry-40351f815f426200/rand_chacha/CHANGELOG.md +++ /dev/null @@ -1,12 +0,0 @@ -# Changelog -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [0.1.1] - 2019-01-04 -- Disable `i128` and `u128` if the `target_os` is `emscripten` (#671: work-around Emscripten limitation) -- Update readme and doc links - -## [0.1.0] - 2018-10-17 -- Pulled out of the Rand crate diff --git a/vendor/registry-40351f815f426200/rand_chacha/COPYRIGHT b/vendor/registry-40351f815f426200/rand_chacha/COPYRIGHT deleted file mode 100644 index 468d907ca..000000000 --- a/vendor/registry-40351f815f426200/rand_chacha/COPYRIGHT +++ /dev/null @@ -1,12 +0,0 @@ -Copyrights in the Rand project are retained by their contributors. No -copyright assignment is required to contribute to the Rand project. - -For full authorship information, see the version control history. - -Except as otherwise noted (below and/or in individual files), Rand is -licensed under the Apache License, Version 2.0 or - or the MIT license - or , at your option. - -The Rand project includes code from the Rust project -published under these same licenses. diff --git a/vendor/registry-40351f815f426200/rand_chacha/Cargo.toml b/vendor/registry-40351f815f426200/rand_chacha/Cargo.toml deleted file mode 100644 index e6d552302..000000000 --- a/vendor/registry-40351f815f426200/rand_chacha/Cargo.toml +++ /dev/null @@ -1,35 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "rand_chacha" -version = "0.1.1" -authors = ["The Rand Project Developers", "The Rust Project Developers"] -build = "build.rs" -description = "ChaCha random number generator\n" -homepage = "https://crates.io/crates/rand_chacha" -documentation = "https://rust-random.github.io/rand/rand_chacha" -readme = "README.md" -keywords = ["random", "rng", "chacha"] -categories = ["algorithms", "no-std"] -license = "MIT/Apache-2.0" -repository = "https://github.com/rust-random/rand" -[dependencies.rand_core] -version = ">=0.2, <0.4" -default-features = false -[build-dependencies.autocfg] -version = "0.1" -[badges.appveyor] -repository = "rust-random/rand" - -[badges.travis-ci] -repository = "rust-random/rand" diff --git a/vendor/registry-40351f815f426200/rand_chacha/LICENSE-APACHE b/vendor/registry-40351f815f426200/rand_chacha/LICENSE-APACHE deleted file mode 100644 index 17d74680f..000000000 --- a/vendor/registry-40351f815f426200/rand_chacha/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/rand_chacha/LICENSE-MIT b/vendor/registry-40351f815f426200/rand_chacha/LICENSE-MIT deleted file mode 100644 index d93b5baf3..000000000 --- a/vendor/registry-40351f815f426200/rand_chacha/LICENSE-MIT +++ /dev/null @@ -1,26 +0,0 @@ -Copyright 2018 Developers of the Rand project -Copyright (c) 2014 The Rust Project Developers - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/rand_chacha/README.md b/vendor/registry-40351f815f426200/rand_chacha/README.md deleted file mode 100644 index 5a1dbac8a..000000000 --- a/vendor/registry-40351f815f426200/rand_chacha/README.md +++ /dev/null @@ -1,45 +0,0 @@ -# rand_chacha - -[![Build Status](https://travis-ci.org/rust-random/rand.svg)](https://travis-ci.org/rust-random/rand) -[![Build Status](https://ci.appveyor.com/api/projects/status/github/rust-random/rand?svg=true)](https://ci.appveyor.com/project/rust-random/rand) -[![Latest version](https://img.shields.io/crates/v/rand_chacha.svg)](https://crates.io/crates/rand_chacha) -[![Book](https://img.shields.io/badge/book-master-yellow.svg)](https://rust-random.github.io/book/) -[![API](https://img.shields.io/badge/api-master-yellow.svg)](https://rust-random.github.io/rand/rand_chacha) -[![API](https://docs.rs/rand_chacha/badge.svg)](https://docs.rs/rand_chacha) -[![Minimum rustc version](https://img.shields.io/badge/rustc-1.22+-lightgray.svg)](https://github.com/rust-random/rand#rust-version-requirements) - -A cryptographically secure random number generator that uses the ChaCha -algorithm. - -ChaCha is a stream cipher designed by Daniel J. Bernstein[^1], that we use -as an RNG. It is an improved variant of the Salsa20 cipher family, which was -selected as one of the "stream ciphers suitable for widespread adoption" by -eSTREAM[^2]. - -Links: - -- [API documentation (master)](https://rust-random.github.io/rand/rand_chacha) -- [API documentation (docs.rs)](https://docs.rs/rand_chacha) -- [Changelog](CHANGELOG.md) - -[rand]: https://crates.io/crates/rand -[^1]: D. J. Bernstein, [*ChaCha, a variant of Salsa20*]( - https://cr.yp.to/chacha.html) - -[^2]: [eSTREAM: the ECRYPT Stream Cipher Project]( - http://www.ecrypt.eu.org/stream/) - - -## Crate Features - -`rand_chacha` is `no_std` compatible. It does not require any functionality -outside of the `core` lib, thus there are no features to configure. - - -# License - -`rand_chacha` is distributed under the terms of both the MIT license and the -Apache License (Version 2.0). - -See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT), and -[COPYRIGHT](COPYRIGHT) for details. diff --git a/vendor/registry-40351f815f426200/rand_chacha/build.rs b/vendor/registry-40351f815f426200/rand_chacha/build.rs deleted file mode 100644 index 06e12a47b..000000000 --- a/vendor/registry-40351f815f426200/rand_chacha/build.rs +++ /dev/null @@ -1,7 +0,0 @@ -extern crate autocfg; - -fn main() { - println!("cargo:rerun-if-changed=build.rs"); - let ac = autocfg::new(); - ac.emit_rustc_version(1, 26); -} diff --git a/vendor/registry-40351f815f426200/rand_chacha/src/chacha.rs b/vendor/registry-40351f815f426200/rand_chacha/src/chacha.rs deleted file mode 100644 index 86f191e49..000000000 --- a/vendor/registry-40351f815f426200/rand_chacha/src/chacha.rs +++ /dev/null @@ -1,449 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2014 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The ChaCha random number generator. - -use core::fmt; -use rand_core::{CryptoRng, RngCore, SeedableRng, Error, le}; -use rand_core::block::{BlockRngCore, BlockRng}; - -const SEED_WORDS: usize = 8; // 8 words for the 256-bit key -const STATE_WORDS: usize = 16; - -/// A cryptographically secure random number generator that uses the ChaCha -/// algorithm. -/// -/// ChaCha is a stream cipher designed by Daniel J. Bernstein[^1], that we use -/// as an RNG. It is an improved variant of the Salsa20 cipher family, which was -/// selected as one of the "stream ciphers suitable for widespread adoption" by -/// eSTREAM[^2]. -/// -/// ChaCha uses add-rotate-xor (ARX) operations as its basis. These are safe -/// against timing attacks, although that is mostly a concern for ciphers and -/// not for RNGs. Also it is very suitable for SIMD implementation. -/// Here we do not provide a SIMD implementation yet, except for what is -/// provided by auto-vectorisation. -/// -/// With the ChaCha algorithm it is possible to choose the number of rounds the -/// core algorithm should run. The number of rounds is a tradeoff between -/// performance and security, where 8 rounds is the minimum potentially -/// secure configuration, and 20 rounds is widely used as a conservative choice. -/// We use 20 rounds in this implementation, but hope to allow type-level -/// configuration in the future. -/// -/// We use a 64-bit counter and 64-bit stream identifier as in Bernstein's -/// implementation[^1] except that we use a stream identifier in place of a -/// nonce. A 64-bit counter over 64-byte (16 word) blocks allows 1 ZiB of output -/// before cycling, and the stream identifier allows 264 unique -/// streams of output per seed. Both counter and stream are initialized to zero -/// but may be set via [`set_word_pos`] and [`set_stream`]. -/// -/// The word layout is: -/// -/// ```text -/// constant constant constant constant -/// seed seed seed seed -/// seed seed seed seed -/// counter counter stream_id stream_id -/// ``` -/// -/// This implementation uses an output buffer of sixteen `u32` words, and uses -/// [`BlockRng`] to implement the [`RngCore`] methods. -/// -/// [^1]: D. J. Bernstein, [*ChaCha, a variant of Salsa20*]( -/// https://cr.yp.to/chacha.html) -/// -/// [^2]: [eSTREAM: the ECRYPT Stream Cipher Project]( -/// http://www.ecrypt.eu.org/stream/) -/// -/// [`set_word_pos`]: #method.set_word_pos -/// [`set_stream`]: #method.set_stream -/// [`BlockRng`]: ../rand_core/block/struct.BlockRng.html -/// [`RngCore`]: ../rand_core/trait.RngCore.html -#[derive(Clone, Debug)] -pub struct ChaChaRng(BlockRng); - -impl RngCore for ChaChaRng { - #[inline] - fn next_u32(&mut self) -> u32 { - self.0.next_u32() - } - - #[inline] - fn next_u64(&mut self) -> u64 { - self.0.next_u64() - } - - #[inline] - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.0.fill_bytes(dest) - } - - #[inline] - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -impl SeedableRng for ChaChaRng { - type Seed = ::Seed; - - fn from_seed(seed: Self::Seed) -> Self { - ChaChaRng(BlockRng::::from_seed(seed)) - } - - fn from_rng(rng: R) -> Result { - BlockRng::::from_rng(rng).map(ChaChaRng) - } -} - -impl CryptoRng for ChaChaRng {} - -impl ChaChaRng { - /// Get the offset from the start of the stream, in 32-bit words. - /// - /// Since the generated blocks are 16 words (24) long and the - /// counter is 64-bits, the offset is a 68-bit number. Sub-word offsets are - /// not supported, hence the result can simply be multiplied by 4 to get a - /// byte-offset. - /// - /// Note: this function is currently only available with Rust 1.26 or later. - #[cfg(all(rustc_1_26, not(target_os = "emscripten")))] - pub fn get_word_pos(&self) -> u128 { - let mut c = (self.0.core.state[13] as u64) << 32 - | (self.0.core.state[12] as u64); - let mut index = self.0.index(); - // c is the end of the last block generated, unless index is at end - if index >= STATE_WORDS { - index = 0; - } else { - c = c.wrapping_sub(1); - } - ((c as u128) << 4) | (index as u128) - } - - /// Set the offset from the start of the stream, in 32-bit words. - /// - /// As with `get_word_pos`, we use a 68-bit number. Since the generator - /// simply cycles at the end of its period (1 ZiB), we ignore the upper - /// 60 bits. - /// - /// Note: this function is currently only available with Rust 1.26 or later. - #[cfg(all(rustc_1_26, not(target_os = "emscripten")))] - pub fn set_word_pos(&mut self, word_offset: u128) { - let index = (word_offset as usize) & 0xF; - let counter = (word_offset >> 4) as u64; - self.0.core.state[12] = counter as u32; - self.0.core.state[13] = (counter >> 32) as u32; - if index != 0 { - self.0.generate_and_set(index); // also increments counter - } else { - self.0.reset(); - } - } - - /// Set the stream number. - /// - /// This is initialized to zero; 264 unique streams of output - /// are available per seed/key. - /// - /// Note that in order to reproduce ChaCha output with a specific 64-bit - /// nonce, one can convert that nonce to a `u64` in little-endian fashion - /// and pass to this function. In theory a 96-bit nonce can be used by - /// passing the last 64-bits to this function and using the first 32-bits as - /// the most significant half of the 64-bit counter (which may be set - /// indirectly via `set_word_pos`), but this is not directly supported. - pub fn set_stream(&mut self, stream: u64) { - let index = self.0.index(); - self.0.core.state[14] = stream as u32; - self.0.core.state[15] = (stream >> 32) as u32; - if index < STATE_WORDS { - // we need to regenerate a partial result buffer - { - // reverse of counter adjustment in generate() - if self.0.core.state[12] == 0 { - self.0.core.state[13] = self.0.core.state[13].wrapping_sub(1); - } - self.0.core.state[12] = self.0.core.state[12].wrapping_sub(1); - } - self.0.generate_and_set(index); - } - } -} - -/// The core of `ChaChaRng`, used with `BlockRng`. -#[derive(Clone)] -pub struct ChaChaCore { - state: [u32; STATE_WORDS], -} - -// Custom Debug implementation that does not expose the internal state -impl fmt::Debug for ChaChaCore { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "ChaChaCore {{}}") - } -} - -macro_rules! quarter_round{ - ($a: expr, $b: expr, $c: expr, $d: expr) => {{ - $a = $a.wrapping_add($b); $d ^= $a; $d = $d.rotate_left(16); - $c = $c.wrapping_add($d); $b ^= $c; $b = $b.rotate_left(12); - $a = $a.wrapping_add($b); $d ^= $a; $d = $d.rotate_left( 8); - $c = $c.wrapping_add($d); $b ^= $c; $b = $b.rotate_left( 7); - }} -} - -macro_rules! double_round{ - ($x: expr) => {{ - // Column round - quarter_round!($x[ 0], $x[ 4], $x[ 8], $x[12]); - quarter_round!($x[ 1], $x[ 5], $x[ 9], $x[13]); - quarter_round!($x[ 2], $x[ 6], $x[10], $x[14]); - quarter_round!($x[ 3], $x[ 7], $x[11], $x[15]); - // Diagonal round - quarter_round!($x[ 0], $x[ 5], $x[10], $x[15]); - quarter_round!($x[ 1], $x[ 6], $x[11], $x[12]); - quarter_round!($x[ 2], $x[ 7], $x[ 8], $x[13]); - quarter_round!($x[ 3], $x[ 4], $x[ 9], $x[14]); - }} -} - -impl BlockRngCore for ChaChaCore { - type Item = u32; - type Results = [u32; STATE_WORDS]; - - fn generate(&mut self, results: &mut Self::Results) { - // For some reason extracting this part into a separate function - // improves performance by 50%. - fn core(results: &mut [u32; STATE_WORDS], - state: &[u32; STATE_WORDS]) - { - let mut tmp = *state; - let rounds = 20; - for _ in 0..rounds / 2 { - double_round!(tmp); - } - for i in 0..STATE_WORDS { - results[i] = tmp[i].wrapping_add(state[i]); - } - } - - core(results, &self.state); - - // update 64-bit counter - self.state[12] = self.state[12].wrapping_add(1); - if self.state[12] != 0 { return; }; - self.state[13] = self.state[13].wrapping_add(1); - } -} - -impl SeedableRng for ChaChaCore { - type Seed = [u8; SEED_WORDS*4]; - - fn from_seed(seed: Self::Seed) -> Self { - let mut seed_le = [0u32; SEED_WORDS]; - le::read_u32_into(&seed, &mut seed_le); - Self { - state: [0x61707865, 0x3320646E, 0x79622D32, 0x6B206574, // constants - seed_le[0], seed_le[1], seed_le[2], seed_le[3], // seed - seed_le[4], seed_le[5], seed_le[6], seed_le[7], // seed - 0, 0, 0, 0], // counter - } - } -} - -impl CryptoRng for ChaChaCore {} - -impl From for ChaChaRng { - fn from(core: ChaChaCore) -> Self { - ChaChaRng(BlockRng::new(core)) - } -} - -#[cfg(test)] -mod test { - use ::rand_core::{RngCore, SeedableRng}; - use super::ChaChaRng; - - #[test] - fn test_chacha_construction() { - let seed = [0,0,0,0,0,0,0,0, - 1,0,0,0,0,0,0,0, - 2,0,0,0,0,0,0,0, - 3,0,0,0,0,0,0,0]; - let mut rng1 = ChaChaRng::from_seed(seed); - assert_eq!(rng1.next_u32(), 137206642); - - let mut rng2 = ChaChaRng::from_rng(rng1).unwrap(); - assert_eq!(rng2.next_u32(), 1325750369); - } - - #[test] - fn test_chacha_true_values_a() { - // Test vectors 1 and 2 from - // https://tools.ietf.org/html/draft-nir-cfrg-chacha20-poly1305-04 - let seed = [0u8; 32]; - let mut rng = ChaChaRng::from_seed(seed); - - let mut results = [0u32; 16]; - for i in results.iter_mut() { *i = rng.next_u32(); } - let expected = [0xade0b876, 0x903df1a0, 0xe56a5d40, 0x28bd8653, - 0xb819d2bd, 0x1aed8da0, 0xccef36a8, 0xc70d778b, - 0x7c5941da, 0x8d485751, 0x3fe02477, 0x374ad8b8, - 0xf4b8436a, 0x1ca11815, 0x69b687c3, 0x8665eeb2]; - assert_eq!(results, expected); - - for i in results.iter_mut() { *i = rng.next_u32(); } - let expected = [0xbee7079f, 0x7a385155, 0x7c97ba98, 0x0d082d73, - 0xa0290fcb, 0x6965e348, 0x3e53c612, 0xed7aee32, - 0x7621b729, 0x434ee69c, 0xb03371d5, 0xd539d874, - 0x281fed31, 0x45fb0a51, 0x1f0ae1ac, 0x6f4d794b]; - assert_eq!(results, expected); - } - - #[test] - fn test_chacha_true_values_b() { - // Test vector 3 from - // https://tools.ietf.org/html/draft-nir-cfrg-chacha20-poly1305-04 - let seed = [0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1]; - let mut rng = ChaChaRng::from_seed(seed); - - // Skip block 0 - for _ in 0..16 { rng.next_u32(); } - - let mut results = [0u32; 16]; - for i in results.iter_mut() { *i = rng.next_u32(); } - let expected = [0x2452eb3a, 0x9249f8ec, 0x8d829d9b, 0xddd4ceb1, - 0xe8252083, 0x60818b01, 0xf38422b8, 0x5aaa49c9, - 0xbb00ca8e, 0xda3ba7b4, 0xc4b592d1, 0xfdf2732f, - 0x4436274e, 0x2561b3c8, 0xebdd4aa6, 0xa0136c00]; - assert_eq!(results, expected); - } - - #[test] - #[cfg(all(rustc_1_26, not(target_os = "emscripten")))] - fn test_chacha_true_values_c() { - // Test vector 4 from - // https://tools.ietf.org/html/draft-nir-cfrg-chacha20-poly1305-04 - let seed = [0, 0xff, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0]; - let expected = [0xfb4dd572, 0x4bc42ef1, 0xdf922636, 0x327f1394, - 0xa78dea8f, 0x5e269039, 0xa1bebbc1, 0xcaf09aae, - 0xa25ab213, 0x48a6b46c, 0x1b9d9bcb, 0x092c5be6, - 0x546ca624, 0x1bec45d5, 0x87f47473, 0x96f0992e]; - let expected_end = 3 * 16; - let mut results = [0u32; 16]; - - // Test block 2 by skipping block 0 and 1 - let mut rng1 = ChaChaRng::from_seed(seed); - for _ in 0..32 { rng1.next_u32(); } - for i in results.iter_mut() { *i = rng1.next_u32(); } - assert_eq!(results, expected); - assert_eq!(rng1.get_word_pos(), expected_end); - - // Test block 2 by using `set_word_pos` - let mut rng2 = ChaChaRng::from_seed(seed); - rng2.set_word_pos(2 * 16); - for i in results.iter_mut() { *i = rng2.next_u32(); } - assert_eq!(results, expected); - assert_eq!(rng2.get_word_pos(), expected_end); - - // Test skipping behaviour with other types - let mut buf = [0u8; 32]; - rng2.fill_bytes(&mut buf[..]); - assert_eq!(rng2.get_word_pos(), expected_end + 8); - rng2.fill_bytes(&mut buf[0..25]); - assert_eq!(rng2.get_word_pos(), expected_end + 15); - rng2.next_u64(); - assert_eq!(rng2.get_word_pos(), expected_end + 17); - rng2.next_u32(); - rng2.next_u64(); - assert_eq!(rng2.get_word_pos(), expected_end + 20); - rng2.fill_bytes(&mut buf[0..1]); - assert_eq!(rng2.get_word_pos(), expected_end + 21); - } - - #[test] - fn test_chacha_multiple_blocks() { - let seed = [0,0,0,0, 1,0,0,0, 2,0,0,0, 3,0,0,0, 4,0,0,0, 5,0,0,0, 6,0,0,0, 7,0,0,0]; - let mut rng = ChaChaRng::from_seed(seed); - - // Store the 17*i-th 32-bit word, - // i.e., the i-th word of the i-th 16-word block - let mut results = [0u32; 16]; - for i in results.iter_mut() { - *i = rng.next_u32(); - for _ in 0..16 { - rng.next_u32(); - } - } - let expected = [0xf225c81a, 0x6ab1be57, 0x04d42951, 0x70858036, - 0x49884684, 0x64efec72, 0x4be2d186, 0x3615b384, - 0x11cfa18e, 0xd3c50049, 0x75c775f6, 0x434c6530, - 0x2c5bad8f, 0x898881dc, 0x5f1c86d9, 0xc1f8e7f4]; - assert_eq!(results, expected); - } - - #[test] - fn test_chacha_true_bytes() { - let seed = [0u8; 32]; - let mut rng = ChaChaRng::from_seed(seed); - let mut results = [0u8; 32]; - rng.fill_bytes(&mut results); - let expected = [118, 184, 224, 173, 160, 241, 61, 144, - 64, 93, 106, 229, 83, 134, 189, 40, - 189, 210, 25, 184, 160, 141, 237, 26, - 168, 54, 239, 204, 139, 119, 13, 199]; - assert_eq!(results, expected); - } - - #[test] - fn test_chacha_nonce() { - // Test vector 5 from - // https://tools.ietf.org/html/draft-nir-cfrg-chacha20-poly1305-04 - // Although we do not support setting a nonce, we try it here anyway so - // we can use this test vector. - let seed = [0u8; 32]; - let mut rng = ChaChaRng::from_seed(seed); - // 96-bit nonce in LE order is: 0,0,0,0, 0,0,0,0, 0,0,0,2 - rng.set_stream(2u64 << (24 + 32)); - - let mut results = [0u32; 16]; - for i in results.iter_mut() { *i = rng.next_u32(); } - let expected = [0x374dc6c2, 0x3736d58c, 0xb904e24a, 0xcd3f93ef, - 0x88228b1a, 0x96a4dfb3, 0x5b76ab72, 0xc727ee54, - 0x0e0e978a, 0xf3145c95, 0x1b748ea8, 0xf786c297, - 0x99c28f5f, 0x628314e8, 0x398a19fa, 0x6ded1b53]; - assert_eq!(results, expected); - } - - #[test] - fn test_chacha_clone_streams() { - let seed = [0,0,0,0, 1,0,0,0, 2,0,0,0, 3,0,0,0, 4,0,0,0, 5,0,0,0, 6,0,0,0, 7,0,0,0]; - let mut rng = ChaChaRng::from_seed(seed); - let mut clone = rng.clone(); - for _ in 0..16 { - assert_eq!(rng.next_u64(), clone.next_u64()); - } - - rng.set_stream(51); - for _ in 0..7 { - assert!(rng.next_u32() != clone.next_u32()); - } - clone.set_stream(51); // switch part way through block - for _ in 7..16 { - assert_eq!(rng.next_u32(), clone.next_u32()); - } - } -} diff --git a/vendor/registry-40351f815f426200/rand_chacha/src/lib.rs b/vendor/registry-40351f815f426200/rand_chacha/src/lib.rs deleted file mode 100644 index 8cff03ac0..000000000 --- a/vendor/registry-40351f815f426200/rand_chacha/src/lib.rs +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The ChaCha random number generator. - -#![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk.png", - html_favicon_url = "https://www.rust-lang.org/favicon.ico", - html_root_url = "https://rust-random.github.io/rand/")] - -#![deny(missing_docs)] -#![deny(missing_debug_implementations)] -#![doc(test(attr(allow(unused_variables), deny(warnings))))] - -#![no_std] - -extern crate rand_core; - -mod chacha; - -pub use chacha::{ChaChaRng, ChaChaCore}; diff --git a/vendor/registry-40351f815f426200/rand_core-0.3.1/.cargo-checksum.json b/vendor/registry-40351f815f426200/rand_core-0.3.1/.cargo-checksum.json deleted file mode 100644 index 1fd20d476..000000000 --- a/vendor/registry-40351f815f426200/rand_core-0.3.1/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"CHANGELOG.md":"35b32c8dc19610e66f7c6967e93f5a0f49e5a021c633da72e7219571cfb7b457","COPYRIGHT":"90eb64f0279b0d9432accfa6023ff803bc4965212383697eee27a0f426d5f8d5","Cargo.toml":"38f22c1be27541f74b322a721c95aaacd622cddfa02cfa22f7976d613453dc78","LICENSE-APACHE":"aaff376532ea30a0cd5330b9502ad4a4c8bf769c539c87ffe78819d188a18ebf","LICENSE-MIT":"209fbbe0ad52d9235e37badf9cadfe4dbdc87203179c0899e738b39ade42177b","README.md":"2781af9ae12e434bb3f43c5a3b16b330eea7a8c80065e28e967333a82be7a507","src/block.rs":"43778ab70f0b650c3203a6da70b40bc33afa845a5e14ef88dd26c18a07b70f88","src/error.rs":"8403a968d7c9bd95cc9f23d9dc5cc4771ede8e81dda5a8fdd59d347590345d14","src/impls.rs":"c248ddd04a65c974768baaec028fa0d2a6117525fa27bce8a98f2ba2f352700a","src/le.rs":"cb187f58f7514877918f7f47633397e08e20392dcf072bc245d62c9e5238198c","src/lib.rs":"4452ea591ce26f69e6a3dd1341795faeec5c14af35eb4a17aaf2b5d342753cf0"},"package":"7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/rand_core-0.3.1/CHANGELOG.md b/vendor/registry-40351f815f426200/rand_core-0.3.1/CHANGELOG.md deleted file mode 100644 index e3755364d..000000000 --- a/vendor/registry-40351f815f426200/rand_core-0.3.1/CHANGELOG.md +++ /dev/null @@ -1,36 +0,0 @@ -# Changelog -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [0.3.1] - 2019-01-25 -- Compatibility shim around version 0.4 - -## [0.3.0] - 2018-09-24 -- Add `SeedableRng::seed_from_u64` for convenient seeding. (#537) - -## [0.2.1] - 2018-06-08 -- References to a `CryptoRng` now also implement `CryptoRng`. (#470) - -## [0.2.0] - 2018-05-21 -- Enable the `std` feature by default. (#409) -- Remove `BlockRng{64}::inner` and `BlockRng::inner_mut`; instead making `core` public -- Add `BlockRng{64}::index` and `BlockRng{64}::generate_and_set`. (#374, #419) -- Change `BlockRngCore::Results` bound to also require `AsMut<[Self::Item]>`. (#419) -- Implement `std::io::Read` for RngCore. (#434) - -## [0.1.0] - 2018-04-17 -(Split out of the Rand crate, changes here are relative to rand 0.4.2) -- `RngCore` and `SeedableRng` are now part of `rand_core`. (#288) -- Add modules to help implementing RNGs `impl` and `le`. (#209, #228) -- Add `Error` and `ErrorKind`. (#225) -- Add `CryptoRng` marker trait. (#273) -- Add `BlockRngCore` trait. (#281) -- Add `BlockRng` and `BlockRng64` wrappers to help implementations. (#281, #325) -- Revise the `SeedableRng` trait. (#233) -- Remove default implementations for `RngCore::next_u64` and `RngCore::fill_bytes`. (#288) -- Add `RngCore::try_fill_bytes`. (#225) - -## [0.0.1] - 2017-09-14 (yanked) -Experimental version as part of the rand crate refactor. diff --git a/vendor/registry-40351f815f426200/rand_core-0.3.1/COPYRIGHT b/vendor/registry-40351f815f426200/rand_core-0.3.1/COPYRIGHT deleted file mode 100644 index 468d907ca..000000000 --- a/vendor/registry-40351f815f426200/rand_core-0.3.1/COPYRIGHT +++ /dev/null @@ -1,12 +0,0 @@ -Copyrights in the Rand project are retained by their contributors. No -copyright assignment is required to contribute to the Rand project. - -For full authorship information, see the version control history. - -Except as otherwise noted (below and/or in individual files), Rand is -licensed under the Apache License, Version 2.0 or - or the MIT license - or , at your option. - -The Rand project includes code from the Rust project -published under these same licenses. diff --git a/vendor/registry-40351f815f426200/rand_core-0.3.1/Cargo.toml b/vendor/registry-40351f815f426200/rand_core-0.3.1/Cargo.toml deleted file mode 100644 index 439b7d174..000000000 --- a/vendor/registry-40351f815f426200/rand_core-0.3.1/Cargo.toml +++ /dev/null @@ -1,37 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "rand_core" -version = "0.3.1" -authors = ["The Rand Project Developers", "The Rust Project Developers"] -description = "Core random number generator traits and tools for implementation.\n" -homepage = "https://crates.io/crates/rand_core" -documentation = "https://rust-random.github.io/rand/rand_core" -readme = "README.md" -keywords = ["random", "rng"] -categories = ["algorithms", "no-std"] -license = "MIT/Apache-2.0" -repository = "https://github.com/rust-random/rand" -[dependencies.rand_core] -version = "0.4" - -[features] -alloc = ["rand_core/alloc"] -default = ["std"] -serde1 = ["rand_core/serde1"] -std = ["rand_core/std"] -[badges.appveyor] -repository = "rust-random/rand" - -[badges.travis-ci] -repository = "rust-random/rand" diff --git a/vendor/registry-40351f815f426200/rand_core-0.3.1/LICENSE-APACHE b/vendor/registry-40351f815f426200/rand_core-0.3.1/LICENSE-APACHE deleted file mode 100644 index 17d74680f..000000000 --- a/vendor/registry-40351f815f426200/rand_core-0.3.1/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/rand_core-0.3.1/LICENSE-MIT b/vendor/registry-40351f815f426200/rand_core-0.3.1/LICENSE-MIT deleted file mode 100644 index d93b5baf3..000000000 --- a/vendor/registry-40351f815f426200/rand_core-0.3.1/LICENSE-MIT +++ /dev/null @@ -1,26 +0,0 @@ -Copyright 2018 Developers of the Rand project -Copyright (c) 2014 The Rust Project Developers - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/rand_core-0.3.1/README.md b/vendor/registry-40351f815f426200/rand_core-0.3.1/README.md deleted file mode 100644 index dee650482..000000000 --- a/vendor/registry-40351f815f426200/rand_core-0.3.1/README.md +++ /dev/null @@ -1,65 +0,0 @@ -# rand_core - -[![Build Status](https://travis-ci.org/rust-random/rand.svg)](https://travis-ci.org/rust-random/rand) -[![Build Status](https://ci.appveyor.com/api/projects/status/github/rust-random/rand?svg=true)](https://ci.appveyor.com/project/rust-random/rand) -[![Latest version](https://img.shields.io/crates/v/rand_core.svg)](https://crates.io/crates/rand_core) -[![Book](https://img.shields.io/badge/book-master-yellow.svg)](https://rust-random.github.io/book/) -[![API](https://img.shields.io/badge/api-master-yellow.svg)](https://rust-random.github.io/rand/rand_core) -[![API](https://docs.rs/rand_core/badge.svg)](https://docs.rs/rand_core) -[![Minimum rustc version](https://img.shields.io/badge/rustc-1.22+-lightgray.svg)](https://github.com/rust-random/rand#rust-version-requirements) - -Core traits and error types of the [rand] library, plus tools for implementing -RNGs. - -This crate is intended for use when implementing the core trait, `RngCore`; it -defines the core traits to be implemented as well as several small functions to -aid in their implementation and types required for error handling. - -The main [rand] crate re-exports most items defined in this crate, along with -tools to convert the integer samples generated by `RngCore` to many different -applications (including sampling from restricted ranges, conversion to floating -point, list permutations and secure initialisation of RNGs). Most users should -prefer to use the main [rand] crate. - -Links: - -- [API documentation (master)](https://rust-random.github.io/rand/rand_core) -- [API documentation (docs.rs)](https://docs.rs/rand_core) -- [Changelog](CHANGELOG.md) - -[rand]: https://crates.io/crates/rand - - -## Functionality - -The `rand_core` crate provides: - -- base random number generator traits -- error-reporting types -- functionality to aid implementation of RNGs - -The traits and error types are also available via `rand`. - -## Crate Features - -`rand_core` supports `no_std` and `alloc`-only configurations, as well as full -`std` functionality. The differences between `no_std` and full `std` are small, -comprising `RngCore` support for `Box` types where `R: RngCore`, as well as -extensions to the `Error` type's functionality. - -Due to [rust-lang/cargo#1596](https://github.com/rust-lang/cargo/issues/1596), -`rand_core` is built without `std` support by default. Since features are -unioned across the whole dependency tree, any crate using `rand` with its -default features will also enable `std` support in `rand_core`. - -The `serde1` feature can be used to derive `Serialize` and `Deserialize` for RNG -implementations that use the `BlockRng` or `BlockRng64` wrappers. - - -# License - -`rand_core` is distributed under the terms of both the MIT license and the -Apache License (Version 2.0). - -See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT), and -[COPYRIGHT](COPYRIGHT) for details. diff --git a/vendor/registry-40351f815f426200/rand_core-0.3.1/src/block.rs b/vendor/registry-40351f815f426200/rand_core-0.3.1/src/block.rs deleted file mode 100644 index 3045b9482..000000000 --- a/vendor/registry-40351f815f426200/rand_core-0.3.1/src/block.rs +++ /dev/null @@ -1,499 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The `BlockRngCore` trait and implementation helpers -//! -//! The [`BlockRngCore`] trait exists to assist in the implementation of RNGs -//! which generate a block of data in a cache instead of returning generated -//! values directly. -//! -//! Usage of this trait is optional, but provides two advantages: -//! implementations only need to concern themselves with generation of the -//! block, not the various [`RngCore`] methods (especially [`fill_bytes`], where -//! the optimal implementations are not trivial), and this allows -//! `ReseedingRng` (see [`rand`](https://docs.rs/rand) crate) perform periodic -//! reseeding with very low overhead. -//! -//! # Example -//! -//! ```norun -//! use rand_core::block::{BlockRngCore, BlockRng}; -//! -//! struct MyRngCore; -//! -//! impl BlockRngCore for MyRngCore { -//! type Results = [u32; 16]; -//! -//! fn generate(&mut self, results: &mut Self::Results) { -//! unimplemented!() -//! } -//! } -//! -//! impl SeedableRng for MyRngCore { -//! type Seed = unimplemented!(); -//! fn from_seed(seed: Self::Seed) -> Self { -//! unimplemented!() -//! } -//! } -//! -//! // optionally, also implement CryptoRng for MyRngCore -//! -//! // Final RNG. -//! type MyRng = BlockRng; -//! ``` -//! -//! [`BlockRngCore`]: crate::block::BlockRngCore -//! [`fill_bytes`]: RngCore::fill_bytes - -use core::convert::AsRef; -use core::fmt; -use {RngCore, CryptoRng, SeedableRng, Error}; -use impls::{fill_via_u32_chunks, fill_via_u64_chunks}; - -/// A trait for RNGs which do not generate random numbers individually, but in -/// blocks (typically `[u32; N]`). This technique is commonly used by -/// cryptographic RNGs to improve performance. -/// -/// See the [module][crate::block] documentation for details. -pub trait BlockRngCore { - /// Results element type, e.g. `u32`. - type Item; - - /// Results type. This is the 'block' an RNG implementing `BlockRngCore` - /// generates, which will usually be an array like `[u32; 16]`. - type Results: AsRef<[Self::Item]> + AsMut<[Self::Item]> + Default; - - /// Generate a new block of results. - fn generate(&mut self, results: &mut Self::Results); -} - - -/// A wrapper type implementing [`RngCore`] for some type implementing -/// [`BlockRngCore`] with `u32` array buffer; i.e. this can be used to implement -/// a full RNG from just a `generate` function. -/// -/// The `core` field may be accessed directly but the results buffer may not. -/// PRNG implementations can simply use a type alias -/// (`pub type MyRng = BlockRng;`) but might prefer to use a -/// wrapper type (`pub struct MyRng(BlockRng);`); the latter must -/// re-implement `RngCore` but hides the implementation details and allows -/// extra functionality to be defined on the RNG -/// (e.g. `impl MyRng { fn set_stream(...){...} }`). -/// -/// `BlockRng` has heavily optimized implementations of the [`RngCore`] methods -/// reading values from the results buffer, as well as -/// calling [`BlockRngCore::generate`] directly on the output array when -/// [`fill_bytes`] / [`try_fill_bytes`] is called on a large array. These methods -/// also handle the bookkeeping of when to generate a new batch of values. -/// -/// No whole generated `u32` values are thown away and all values are consumed -/// in-order. [`next_u32`] simply takes the next available `u32` value. -/// [`next_u64`] is implemented by combining two `u32` values, least -/// significant first. [`fill_bytes`] and [`try_fill_bytes`] consume a whole -/// number of `u32` values, converting each `u32` to a byte slice in -/// little-endian order. If the requested byte length is not a multiple of 4, -/// some bytes will be discarded. -/// -/// See also [`BlockRng64`] which uses `u64` array buffers. Currently there is -/// no direct support for other buffer types. -/// -/// For easy initialization `BlockRng` also implements [`SeedableRng`]. -/// -/// [`next_u32`]: RngCore::next_u32 -/// [`next_u64`]: RngCore::next_u64 -/// [`fill_bytes`]: RngCore::fill_bytes -/// [`try_fill_bytes`]: RngCore::try_fill_bytes -#[derive(Clone)] -#[cfg_attr(feature="serde1", derive(Serialize, Deserialize))] -pub struct BlockRng { - results: R::Results, - index: usize, - /// The *core* part of the RNG, implementing the `generate` function. - pub core: R, -} - -// Custom Debug implementation that does not expose the contents of `results`. -impl fmt::Debug for BlockRng { - fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { - fmt.debug_struct("BlockRng") - .field("core", &self.core) - .field("result_len", &self.results.as_ref().len()) - .field("index", &self.index) - .finish() - } -} - -impl BlockRng { - /// Create a new `BlockRng` from an existing RNG implementing - /// `BlockRngCore`. Results will be generated on first use. - pub fn new(core: R) -> BlockRng{ - let results_empty = R::Results::default(); - BlockRng { - core, - index: results_empty.as_ref().len(), - results: results_empty, - } - } - - /// Get the index into the result buffer. - /// - /// If this is equal to or larger than the size of the result buffer then - /// the buffer is "empty" and `generate()` must be called to produce new - /// results. - pub fn index(&self) -> usize { - self.index - } - - /// Reset the number of available results. - /// This will force a new set of results to be generated on next use. - pub fn reset(&mut self) { - self.index = self.results.as_ref().len(); - } - - /// Generate a new set of results immediately, setting the index to the - /// given value. - pub fn generate_and_set(&mut self, index: usize) { - assert!(index < self.results.as_ref().len()); - self.core.generate(&mut self.results); - self.index = index; - } -} - -impl> RngCore for BlockRng -where ::Results: AsRef<[u32]> + AsMut<[u32]> -{ - #[inline(always)] - fn next_u32(&mut self) -> u32 { - if self.index >= self.results.as_ref().len() { - self.generate_and_set(0); - } - - let value = self.results.as_ref()[self.index]; - self.index += 1; - value - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - let read_u64 = |results: &[u32], index| { - if cfg!(any(target_arch = "x86", target_arch = "x86_64")) { - // requires little-endian CPU supporting unaligned reads: - unsafe { *(&results[index] as *const u32 as *const u64) } - } else { - let x = u64::from(results[index]); - let y = u64::from(results[index + 1]); - (y << 32) | x - } - }; - - let len = self.results.as_ref().len(); - - let index = self.index; - if index < len-1 { - self.index += 2; - // Read an u64 from the current index - read_u64(self.results.as_ref(), index) - } else if index >= len { - self.generate_and_set(2); - read_u64(self.results.as_ref(), 0) - } else { - let x = u64::from(self.results.as_ref()[len-1]); - self.generate_and_set(1); - let y = u64::from(self.results.as_ref()[0]); - (y << 32) | x - } - } - - // As an optimization we try to write directly into the output buffer. - // This is only enabled for little-endian platforms where unaligned writes - // are known to be safe and fast. - #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] - fn fill_bytes(&mut self, dest: &mut [u8]) { - let mut filled = 0; - - // Continue filling from the current set of results - if self.index < self.results.as_ref().len() { - let (consumed_u32, filled_u8) = - fill_via_u32_chunks(&self.results.as_ref()[self.index..], - dest); - - self.index += consumed_u32; - filled += filled_u8; - } - - let len_remainder = - (dest.len() - filled) % (self.results.as_ref().len() * 4); - let end_direct = dest.len() - len_remainder; - - while filled < end_direct { - let dest_u32: &mut R::Results = unsafe { - &mut *(dest[filled..].as_mut_ptr() as - *mut ::Results) - }; - self.core.generate(dest_u32); - filled += self.results.as_ref().len() * 4; - self.index = self.results.as_ref().len(); - } - - if len_remainder > 0 { - self.core.generate(&mut self.results); - let (consumed_u32, _) = - fill_via_u32_chunks(self.results.as_ref(), - &mut dest[filled..]); - - self.index = consumed_u32; - } - } - - #[cfg(not(any(target_arch = "x86", target_arch = "x86_64")))] - fn fill_bytes(&mut self, dest: &mut [u8]) { - let mut read_len = 0; - while read_len < dest.len() { - if self.index >= self.results.as_ref().len() { - self.generate_and_set(0); - } - let (consumed_u32, filled_u8) = - fill_via_u32_chunks(&self.results.as_ref()[self.index..], - &mut dest[read_len..]); - - self.index += consumed_u32; - read_len += filled_u8; - } - } - - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.fill_bytes(dest); - Ok(()) - } -} - -impl SeedableRng for BlockRng { - type Seed = R::Seed; - - fn from_seed(seed: Self::Seed) -> Self { - Self::new(R::from_seed(seed)) - } - - fn seed_from_u64(seed: u64) -> Self { - Self::new(R::seed_from_u64(seed)) - } - - fn from_rng(rng: S) -> Result { - Ok(Self::new(R::from_rng(rng)?)) - } -} - - - -/// A wrapper type implementing [`RngCore`] for some type implementing -/// [`BlockRngCore`] with `u64` array buffer; i.e. this can be used to implement -/// a full RNG from just a `generate` function. -/// -/// This is similar to [`BlockRng`], but specialized for algorithms that operate -/// on `u64` values. -/// -/// No whole generated `u64` values are thrown away and all values are consumed -/// in-order. [`next_u64`] simply takes the next available `u64` value. -/// [`next_u32`] is however a bit special: half of a `u64` is consumed, leaving -/// the other half in the buffer. If the next function called is [`next_u32`] -/// then the other half is then consumed, however both [`next_u64`] and -/// [`fill_bytes`] discard the rest of any half-consumed `u64`s when called. -/// -/// [`fill_bytes`] and [`try_fill_bytes`] consume a whole number of `u64` -/// values. If the requested length is not a multiple of 8, some bytes will be -/// discarded. -/// -/// [`next_u32`]: RngCore::next_u32 -/// [`next_u64`]: RngCore::next_u64 -/// [`fill_bytes`]: RngCore::fill_bytes -/// [`try_fill_bytes`]: RngCore::try_fill_bytes -#[derive(Clone)] -#[cfg_attr(feature="serde1", derive(Serialize, Deserialize))] -pub struct BlockRng64 { - results: R::Results, - index: usize, - half_used: bool, // true if only half of the previous result is used - /// The *core* part of the RNG, implementing the `generate` function. - pub core: R, -} - -// Custom Debug implementation that does not expose the contents of `results`. -impl fmt::Debug for BlockRng64 { - fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { - fmt.debug_struct("BlockRng64") - .field("core", &self.core) - .field("result_len", &self.results.as_ref().len()) - .field("index", &self.index) - .field("half_used", &self.half_used) - .finish() - } -} - -impl BlockRng64 { - /// Create a new `BlockRng` from an existing RNG implementing - /// `BlockRngCore`. Results will be generated on first use. - pub fn new(core: R) -> BlockRng64{ - let results_empty = R::Results::default(); - BlockRng64 { - core, - index: results_empty.as_ref().len(), - half_used: false, - results: results_empty, - } - } - - /// Get the index into the result buffer. - /// - /// If this is equal to or larger than the size of the result buffer then - /// the buffer is "empty" and `generate()` must be called to produce new - /// results. - pub fn index(&self) -> usize { - self.index - } - - /// Reset the number of available results. - /// This will force a new set of results to be generated on next use. - pub fn reset(&mut self) { - self.index = self.results.as_ref().len(); - self.half_used = false; - } - - /// Generate a new set of results immediately, setting the index to the - /// given value. - pub fn generate_and_set(&mut self, index: usize) { - assert!(index < self.results.as_ref().len()); - self.core.generate(&mut self.results); - self.index = index; - self.half_used = false; - } -} - -impl> RngCore for BlockRng64 -where ::Results: AsRef<[u64]> + AsMut<[u64]> -{ - #[inline(always)] - fn next_u32(&mut self) -> u32 { - let mut index = self.index * 2 - self.half_used as usize; - if index >= self.results.as_ref().len() * 2 { - self.core.generate(&mut self.results); - self.index = 0; - // `self.half_used` is by definition `false` - self.half_used = false; - index = 0; - } - - self.half_used = !self.half_used; - self.index += self.half_used as usize; - - // Index as if this is a u32 slice. - unsafe { - let results = - &*(self.results.as_ref() as *const [u64] as *const [u32]); - if cfg!(target_endian = "little") { - *results.get_unchecked(index) - } else { - *results.get_unchecked(index ^ 1) - } - } - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - if self.index >= self.results.as_ref().len() { - self.core.generate(&mut self.results); - self.index = 0; - } - - let value = self.results.as_ref()[self.index]; - self.index += 1; - self.half_used = false; - value - } - - // As an optimization we try to write directly into the output buffer. - // This is only enabled for little-endian platforms where unaligned writes - // are known to be safe and fast. - #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] - fn fill_bytes(&mut self, dest: &mut [u8]) { - let mut filled = 0; - self.half_used = false; - - // Continue filling from the current set of results - if self.index < self.results.as_ref().len() { - let (consumed_u64, filled_u8) = - fill_via_u64_chunks(&self.results.as_ref()[self.index..], - dest); - - self.index += consumed_u64; - filled += filled_u8; - } - - let len_remainder = - (dest.len() - filled) % (self.results.as_ref().len() * 8); - let end_direct = dest.len() - len_remainder; - - while filled < end_direct { - let dest_u64: &mut R::Results = unsafe { - ::core::mem::transmute(dest[filled..].as_mut_ptr()) - }; - self.core.generate(dest_u64); - filled += self.results.as_ref().len() * 8; - self.index = self.results.as_ref().len(); - } - - if len_remainder > 0 { - self.core.generate(&mut self.results); - let (consumed_u64, _) = - fill_via_u64_chunks(&mut self.results.as_ref(), - &mut dest[filled..]); - - self.index = consumed_u64; - } - } - - #[cfg(not(any(target_arch = "x86", target_arch = "x86_64")))] - fn fill_bytes(&mut self, dest: &mut [u8]) { - let mut read_len = 0; - self.half_used = false; - while read_len < dest.len() { - if self.index as usize >= self.results.as_ref().len() { - self.core.generate(&mut self.results); - self.index = 0; - } - - let (consumed_u64, filled_u8) = - fill_via_u64_chunks(&self.results.as_ref()[self.index as usize..], - &mut dest[read_len..]); - - self.index += consumed_u64; - read_len += filled_u8; - } - } - - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - Ok(self.fill_bytes(dest)) - } -} - -impl SeedableRng for BlockRng64 { - type Seed = R::Seed; - - fn from_seed(seed: Self::Seed) -> Self { - Self::new(R::from_seed(seed)) - } - - fn seed_from_u64(seed: u64) -> Self { - Self::new(R::seed_from_u64(seed)) - } - - fn from_rng(rng: S) -> Result { - Ok(Self::new(R::from_rng(rng)?)) - } -} - -impl CryptoRng for BlockRng {} diff --git a/vendor/registry-40351f815f426200/rand_core-0.3.1/src/error.rs b/vendor/registry-40351f815f426200/rand_core-0.3.1/src/error.rs deleted file mode 100644 index 5a8459ea8..000000000 --- a/vendor/registry-40351f815f426200/rand_core-0.3.1/src/error.rs +++ /dev/null @@ -1,177 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Error types - -use core::fmt; - -#[cfg(feature="std")] -use std::error::Error as stdError; -#[cfg(feature="std")] -use std::io; - -/// Error kind which can be matched over. -#[derive(PartialEq, Eq, Debug, Copy, Clone)] -pub enum ErrorKind { - /// Feature is not available; not recoverable. - /// - /// This is the most permanent failure type and implies the error cannot be - /// resolved simply by retrying (e.g. the feature may not exist in this - /// build of the application or on the current platform). - Unavailable, - /// General failure; there may be a chance of recovery on retry. - /// - /// This is the catch-all kind for errors from known and unknown sources - /// which do not have a more specific kind / handling method. - /// - /// It is suggested to retry a couple of times or retry later when - /// handling; some error sources may be able to resolve themselves, - /// although this is not likely. - Unexpected, - /// A transient failure which likely can be resolved or worked around. - /// - /// This error kind exists for a few specific cases where it is known that - /// the error likely can be resolved internally, but is reported anyway. - Transient, - /// Not ready yet: recommended to try again a little later. - /// - /// This error kind implies the generator needs more time or needs some - /// other part of the application to do something else first before it is - /// ready for use; for example this may be used by external generators - /// which require time for initialization. - NotReady, - #[doc(hidden)] - __Nonexhaustive, -} - -impl ErrorKind { - /// True if this kind of error may resolve itself on retry. - /// - /// See also `should_wait()`. - pub fn should_retry(self) -> bool { - self != ErrorKind::Unavailable - } - - /// True if we should retry but wait before retrying - /// - /// This implies `should_retry()` is true. - pub fn should_wait(self) -> bool { - self == ErrorKind::NotReady - } - - /// A description of this error kind - pub fn description(self) -> &'static str { - match self { - ErrorKind::Unavailable => "permanently unavailable", - ErrorKind::Unexpected => "unexpected failure", - ErrorKind::Transient => "transient failure", - ErrorKind::NotReady => "not ready yet", - ErrorKind::__Nonexhaustive => unreachable!(), - } - } -} - - -/// Error type of random number generators -/// -/// This is a relatively simple error type, designed for compatibility with and -/// without the Rust `std` library. It embeds a "kind" code, a message (static -/// string only), and an optional chained cause (`std` only). The `kind` and -/// `msg` fields can be accessed directly; cause can be accessed via -/// `std::error::Error::cause` or `Error::take_cause`. Construction can only be -/// done via `Error::new` or `Error::with_cause`. -#[derive(Debug)] -pub struct Error { - /// The error kind - pub kind: ErrorKind, - /// The error message - pub msg: &'static str, - #[cfg(feature="std")] - cause: Option>, -} - -impl Error { - /// Create a new instance, with specified kind and a message. - pub fn new(kind: ErrorKind, msg: &'static str) -> Self { - #[cfg(feature="std")] { - Error { kind, msg, cause: None } - } - #[cfg(not(feature="std"))] { - Error { kind, msg } - } - } - - /// Create a new instance, with specified kind, message, and a - /// chained cause. - /// - /// Note: `stdError` is an alias for `std::error::Error`. - /// - /// If not targetting `std` (i.e. `no_std`), this function is replaced by - /// another with the same prototype, except that there are no bounds on the - /// type `E` (because both `Box` and `stdError` are unavailable), and the - /// `cause` is ignored. - #[cfg(feature="std")] - pub fn with_cause(kind: ErrorKind, msg: &'static str, cause: E) -> Self - where E: Into> - { - Error { kind, msg, cause: Some(cause.into()) } - } - - /// Create a new instance, with specified kind, message, and a - /// chained cause. - /// - /// In `no_std` mode the *cause* is ignored. - #[cfg(not(feature="std"))] - pub fn with_cause(kind: ErrorKind, msg: &'static str, _cause: E) -> Self { - Error { kind, msg } - } - - /// Take the cause, if any. This allows the embedded cause to be extracted. - /// This uses `Option::take`, leaving `self` with no cause. - #[cfg(feature="std")] - pub fn take_cause(&mut self) -> Option> { - self.cause.take() - } -} - -impl fmt::Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - #[cfg(feature="std")] { - if let Some(ref cause) = self.cause { - return write!(f, "{} ({}); cause: {}", - self.msg, self.kind.description(), cause); - } - } - write!(f, "{} ({})", self.msg, self.kind.description()) - } -} - -#[cfg(feature="std")] -impl stdError for Error { - fn description(&self) -> &str { - self.msg - } - - fn cause(&self) -> Option<&stdError> { - self.cause.as_ref().map(|e| e.as_ref() as &stdError) - } -} - -#[cfg(feature="std")] -impl From for io::Error { - fn from(error: Error) -> Self { - use std::io::ErrorKind::*; - match error.kind { - ErrorKind::Unavailable => io::Error::new(NotFound, error), - ErrorKind::Unexpected | - ErrorKind::Transient => io::Error::new(Other, error), - ErrorKind::NotReady => io::Error::new(WouldBlock, error), - ErrorKind::__Nonexhaustive => unreachable!(), - } - } -} diff --git a/vendor/registry-40351f815f426200/rand_core-0.3.1/src/impls.rs b/vendor/registry-40351f815f426200/rand_core-0.3.1/src/impls.rs deleted file mode 100644 index 57bdd070d..000000000 --- a/vendor/registry-40351f815f426200/rand_core-0.3.1/src/impls.rs +++ /dev/null @@ -1,165 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Helper functions for implementing `RngCore` functions. -//! -//! For cross-platform reproducibility, these functions all use Little Endian: -//! least-significant part first. For example, `next_u64_via_u32` takes `u32` -//! values `x, y`, then outputs `(y << 32) | x`. To implement `next_u32` -//! from `next_u64` in little-endian order, one should use `next_u64() as u32`. -//! -//! Byte-swapping (like the std `to_le` functions) is only needed to convert -//! to/from byte sequences, and since its purpose is reproducibility, -//! non-reproducible sources (e.g. `OsRng`) need not bother with it. - -use core::intrinsics::transmute; -use core::ptr::copy_nonoverlapping; -use core::slice; -use core::cmp::min; -use core::mem::size_of; -use RngCore; - - -/// Implement `next_u64` via `next_u32`, little-endian order. -pub fn next_u64_via_u32(rng: &mut R) -> u64 { - // Use LE; we explicitly generate one value before the next. - let x = u64::from(rng.next_u32()); - let y = u64::from(rng.next_u32()); - (y << 32) | x -} - -/// Implement `fill_bytes` via `next_u64` and `next_u32`, little-endian order. -/// -/// The fastest way to fill a slice is usually to work as long as possible with -/// integers. That is why this method mostly uses `next_u64`, and only when -/// there are 4 or less bytes remaining at the end of the slice it uses -/// `next_u32` once. -pub fn fill_bytes_via_next(rng: &mut R, dest: &mut [u8]) { - let mut left = dest; - while left.len() >= 8 { - let (l, r) = {left}.split_at_mut(8); - left = r; - let chunk: [u8; 8] = unsafe { - transmute(rng.next_u64().to_le()) - }; - l.copy_from_slice(&chunk); - } - let n = left.len(); - if n > 4 { - let chunk: [u8; 8] = unsafe { - transmute(rng.next_u64().to_le()) - }; - left.copy_from_slice(&chunk[..n]); - } else if n > 0 { - let chunk: [u8; 4] = unsafe { - transmute(rng.next_u32().to_le()) - }; - left.copy_from_slice(&chunk[..n]); - } -} - -macro_rules! impl_uint_from_fill { - ($rng:expr, $ty:ty, $N:expr) => ({ - debug_assert!($N == size_of::<$ty>()); - - let mut int: $ty = 0; - unsafe { - let ptr = &mut int as *mut $ty as *mut u8; - let slice = slice::from_raw_parts_mut(ptr, $N); - $rng.fill_bytes(slice); - } - int - }); -} - -macro_rules! fill_via_chunks { - ($src:expr, $dst:expr, $ty:ty, $size:expr) => ({ - let chunk_size_u8 = min($src.len() * $size, $dst.len()); - let chunk_size = (chunk_size_u8 + $size - 1) / $size; - if cfg!(target_endian="little") { - unsafe { - copy_nonoverlapping( - $src.as_ptr() as *const u8, - $dst.as_mut_ptr(), - chunk_size_u8); - } - } else { - for (&n, chunk) in $src.iter().zip($dst.chunks_mut($size)) { - let tmp = n.to_le(); - let src_ptr = &tmp as *const $ty as *const u8; - unsafe { - copy_nonoverlapping(src_ptr, - chunk.as_mut_ptr(), - chunk.len()); - } - } - } - - (chunk_size, chunk_size_u8) - }); -} - -/// Implement `fill_bytes` by reading chunks from the output buffer of a block -/// based RNG. -/// -/// The return values are `(consumed_u32, filled_u8)`. -/// -/// `filled_u8` is the number of filled bytes in `dest`, which may be less than -/// the length of `dest`. -/// `consumed_u32` is the number of words consumed from `src`, which is the same -/// as `filled_u8 / 4` rounded up. -/// -/// # Example -/// (from `IsaacRng`) -/// -/// ```ignore -/// fn fill_bytes(&mut self, dest: &mut [u8]) { -/// let mut read_len = 0; -/// while read_len < dest.len() { -/// if self.index >= self.rsl.len() { -/// self.isaac(); -/// } -/// -/// let (consumed_u32, filled_u8) = -/// impls::fill_via_u32_chunks(&mut self.rsl[self.index..], -/// &mut dest[read_len..]); -/// -/// self.index += consumed_u32; -/// read_len += filled_u8; -/// } -/// } -/// ``` -pub fn fill_via_u32_chunks(src: &[u32], dest: &mut [u8]) -> (usize, usize) { - fill_via_chunks!(src, dest, u32, 4) -} - -/// Implement `fill_bytes` by reading chunks from the output buffer of a block -/// based RNG. -/// -/// The return values are `(consumed_u64, filled_u8)`. -/// `filled_u8` is the number of filled bytes in `dest`, which may be less than -/// the length of `dest`. -/// `consumed_u64` is the number of words consumed from `src`, which is the same -/// as `filled_u8 / 8` rounded up. -/// -/// See `fill_via_u32_chunks` for an example. -pub fn fill_via_u64_chunks(src: &[u64], dest: &mut [u8]) -> (usize, usize) { - fill_via_chunks!(src, dest, u64, 8) -} - -/// Implement `next_u32` via `fill_bytes`, little-endian order. -pub fn next_u32_via_fill(rng: &mut R) -> u32 { - impl_uint_from_fill!(rng, u32, 4) -} - -/// Implement `next_u64` via `fill_bytes`, little-endian order. -pub fn next_u64_via_fill(rng: &mut R) -> u64 { - impl_uint_from_fill!(rng, u64, 8) -} - -// TODO: implement tests for the above diff --git a/vendor/registry-40351f815f426200/rand_core-0.3.1/src/le.rs b/vendor/registry-40351f815f426200/rand_core-0.3.1/src/le.rs deleted file mode 100644 index 266651f10..000000000 --- a/vendor/registry-40351f815f426200/rand_core-0.3.1/src/le.rs +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Little-Endian utilities -//! -//! Little-Endian order has been chosen for internal usage; this makes some -//! useful functions available. - -use core::ptr; - -macro_rules! read_slice { - ($src:expr, $dst:expr, $size:expr, $which:ident) => {{ - assert_eq!($src.len(), $size * $dst.len()); - - unsafe { - ptr::copy_nonoverlapping( - $src.as_ptr(), - $dst.as_mut_ptr() as *mut u8, - $src.len()); - } - for v in $dst.iter_mut() { - *v = v.$which(); - } - }}; -} - -/// Reads unsigned 32 bit integers from `src` into `dst`. -/// Borrowed from the `byteorder` crate. -#[inline] -pub fn read_u32_into(src: &[u8], dst: &mut [u32]) { - read_slice!(src, dst, 4, to_le); -} - -/// Reads unsigned 64 bit integers from `src` into `dst`. -/// Borrowed from the `byteorder` crate. -#[inline] -pub fn read_u64_into(src: &[u8], dst: &mut [u64]) { - read_slice!(src, dst, 8, to_le); -} - -#[test] -fn test_read() { - let bytes = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]; - - let mut buf = [0u32; 4]; - read_u32_into(&bytes, &mut buf); - assert_eq!(buf[0], 0x04030201); - assert_eq!(buf[3], 0x100F0E0D); - - let mut buf = [0u32; 3]; - read_u32_into(&bytes[1..13], &mut buf); // unaligned - assert_eq!(buf[0], 0x05040302); - assert_eq!(buf[2], 0x0D0C0B0A); - - let mut buf = [0u64; 2]; - read_u64_into(&bytes, &mut buf); - assert_eq!(buf[0], 0x0807060504030201); - assert_eq!(buf[1], 0x100F0E0D0C0B0A09); - - let mut buf = [0u64; 1]; - read_u64_into(&bytes[7..15], &mut buf); // unaligned - assert_eq!(buf[0], 0x0F0E0D0C0B0A0908); -} diff --git a/vendor/registry-40351f815f426200/rand_core-0.3.1/src/lib.rs b/vendor/registry-40351f815f426200/rand_core-0.3.1/src/lib.rs deleted file mode 100644 index 892314225..000000000 --- a/vendor/registry-40351f815f426200/rand_core-0.3.1/src/lib.rs +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2017-2018 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Random number generation traits -//! -//! This version of `rand_core` is a compatibility shim around version 0.3. -//! -//! This crate is mainly of interest to crates publishing implementations of -//! [`RngCore`]. Other users are encouraged to use the [`rand`] crate instead -//! which re-exports the main traits and error types. -//! -//! [`RngCore`] is the core trait implemented by algorithmic pseudo-random number -//! generators and external random-number sources. -//! -//! [`SeedableRng`] is an extension trait for construction from fixed seeds and -//! other random number generators. -//! -//! [`Error`] is provided for error-handling. It is safe to use in `no_std` -//! environments. -//! -//! The [`impls`] and [`le`] sub-modules include a few small functions to assist -//! implementation of [`RngCore`]. -//! -//! [`rand`]: https://docs.rs/rand - -#![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk.png", - html_favicon_url = "https://www.rust-lang.org/favicon.ico", - html_root_url = "https://rust-random.github.io/rand/")] - -#![deny(missing_docs)] -#![deny(missing_debug_implementations)] -#![doc(test(attr(allow(unused_variables), deny(warnings))))] - -#![no_std] - -extern crate rand_core as core4; - -pub use core4::{ErrorKind, Error}; -pub use core4::{block, impls, le}; -pub use core4::{RngCore, CryptoRng, SeedableRng}; diff --git a/vendor/registry-40351f815f426200/rand_core/.cargo-checksum.json b/vendor/registry-40351f815f426200/rand_core/.cargo-checksum.json deleted file mode 100644 index 2979fb265..000000000 --- a/vendor/registry-40351f815f426200/rand_core/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"CHANGELOG.md":"93b4744c0355f232107547993a0d771bd276962c9233d4ea1cd4771d7c2f7f92","COPYRIGHT":"90eb64f0279b0d9432accfa6023ff803bc4965212383697eee27a0f426d5f8d5","Cargo.toml":"faab1bf947b13c78f97d87f0bd1ab5611b5fd9e128106282c50f03077b22cd2c","LICENSE-APACHE":"aaff376532ea30a0cd5330b9502ad4a4c8bf769c539c87ffe78819d188a18ebf","LICENSE-MIT":"209fbbe0ad52d9235e37badf9cadfe4dbdc87203179c0899e738b39ade42177b","README.md":"26d2c4a2f9c2c3016b76f27eed164adfffcc359b395ed8ec6df255c42eb9a117","src/block.rs":"43778ab70f0b650c3203a6da70b40bc33afa845a5e14ef88dd26c18a07b70f88","src/error.rs":"8403a968d7c9bd95cc9f23d9dc5cc4771ede8e81dda5a8fdd59d347590345d14","src/impls.rs":"c248ddd04a65c974768baaec028fa0d2a6117525fa27bce8a98f2ba2f352700a","src/le.rs":"cb187f58f7514877918f7f47633397e08e20392dcf072bc245d62c9e5238198c","src/lib.rs":"5b3d95e405bed6dc1e4525cc010f0afb2c9f0fc9fe8533f6a02e70ea112c22be"},"package":"d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/rand_core/CHANGELOG.md b/vendor/registry-40351f815f426200/rand_core/CHANGELOG.md deleted file mode 100644 index 7f2d7978f..000000000 --- a/vendor/registry-40351f815f426200/rand_core/CHANGELOG.md +++ /dev/null @@ -1,36 +0,0 @@ -# Changelog -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [0.4.0] - 2019-01-24 -- Disable the `std` feature by default (#702) - -## [0.3.0] - 2018-09-24 -- Add `SeedableRng::seed_from_u64` for convenient seeding. (#537) - -## [0.2.1] - 2018-06-08 -- References to a `CryptoRng` now also implement `CryptoRng`. (#470) - -## [0.2.0] - 2018-05-21 -- Enable the `std` feature by default. (#409) -- Remove `BlockRng{64}::inner` and `BlockRng::inner_mut`; instead making `core` public -- Add `BlockRng{64}::index` and `BlockRng{64}::generate_and_set`. (#374, #419) -- Change `BlockRngCore::Results` bound to also require `AsMut<[Self::Item]>`. (#419) -- Implement `std::io::Read` for RngCore. (#434) - -## [0.1.0] - 2018-04-17 -(Split out of the Rand crate, changes here are relative to rand 0.4.2) -- `RngCore` and `SeedableRng` are now part of `rand_core`. (#288) -- Add modules to help implementing RNGs `impl` and `le`. (#209, #228) -- Add `Error` and `ErrorKind`. (#225) -- Add `CryptoRng` marker trait. (#273) -- Add `BlockRngCore` trait. (#281) -- Add `BlockRng` and `BlockRng64` wrappers to help implementations. (#281, #325) -- Revise the `SeedableRng` trait. (#233) -- Remove default implementations for `RngCore::next_u64` and `RngCore::fill_bytes`. (#288) -- Add `RngCore::try_fill_bytes`. (#225) - -## [0.0.1] - 2017-09-14 (yanked) -Experimental version as part of the rand crate refactor. diff --git a/vendor/registry-40351f815f426200/rand_core/COPYRIGHT b/vendor/registry-40351f815f426200/rand_core/COPYRIGHT deleted file mode 100644 index 468d907ca..000000000 --- a/vendor/registry-40351f815f426200/rand_core/COPYRIGHT +++ /dev/null @@ -1,12 +0,0 @@ -Copyrights in the Rand project are retained by their contributors. No -copyright assignment is required to contribute to the Rand project. - -For full authorship information, see the version control history. - -Except as otherwise noted (below and/or in individual files), Rand is -licensed under the Apache License, Version 2.0 or - or the MIT license - or , at your option. - -The Rand project includes code from the Rust project -published under these same licenses. diff --git a/vendor/registry-40351f815f426200/rand_core/Cargo.toml b/vendor/registry-40351f815f426200/rand_core/Cargo.toml deleted file mode 100644 index aee2ec0b6..000000000 --- a/vendor/registry-40351f815f426200/rand_core/Cargo.toml +++ /dev/null @@ -1,41 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "rand_core" -version = "0.4.0" -authors = ["The Rand Project Developers", "The Rust Project Developers"] -description = "Core random number generator traits and tools for implementation.\n" -homepage = "https://crates.io/crates/rand_core" -documentation = "https://rust-random.github.io/rand/rand_core" -readme = "README.md" -keywords = ["random", "rng"] -categories = ["algorithms", "no-std"] -license = "MIT/Apache-2.0" -repository = "https://github.com/rust-random/rand" -[dependencies.serde] -version = "1" -optional = true - -[dependencies.serde_derive] -version = "^1.0.38" -optional = true - -[features] -alloc = [] -serde1 = ["serde", "serde_derive"] -std = ["alloc"] -[badges.appveyor] -repository = "rust-random/rand" - -[badges.travis-ci] -repository = "rust-random/rand" diff --git a/vendor/registry-40351f815f426200/rand_core/LICENSE-APACHE b/vendor/registry-40351f815f426200/rand_core/LICENSE-APACHE deleted file mode 100644 index 17d74680f..000000000 --- a/vendor/registry-40351f815f426200/rand_core/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/rand_core/LICENSE-MIT b/vendor/registry-40351f815f426200/rand_core/LICENSE-MIT deleted file mode 100644 index d93b5baf3..000000000 --- a/vendor/registry-40351f815f426200/rand_core/LICENSE-MIT +++ /dev/null @@ -1,26 +0,0 @@ -Copyright 2018 Developers of the Rand project -Copyright (c) 2014 The Rust Project Developers - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/rand_core/README.md b/vendor/registry-40351f815f426200/rand_core/README.md deleted file mode 100644 index ef076b99d..000000000 --- a/vendor/registry-40351f815f426200/rand_core/README.md +++ /dev/null @@ -1,66 +0,0 @@ -# rand_core - -[![Build Status](https://travis-ci.org/rust-random/rand.svg)](https://travis-ci.org/rust-random/rand) -[![Build Status](https://ci.appveyor.com/api/projects/status/github/rust-random/rand?svg=true)](https://ci.appveyor.com/project/rust-random/rand) -[![Latest version](https://img.shields.io/crates/v/rand_core.svg)](https://crates.io/crates/rand_core) -[![Book](https://img.shields.io/badge/book-master-yellow.svg)](https://rust-random.github.io/book/) -[![API](https://img.shields.io/badge/api-master-yellow.svg)](https://rust-random.github.io/rand/rand_core) -[![API](https://docs.rs/rand_core/badge.svg)](https://docs.rs/rand_core) -[![Minimum rustc version](https://img.shields.io/badge/rustc-1.22+-lightgray.svg)](https://github.com/rust-random/rand#rust-version-requirements) - -Core traits and error types of the [rand] library, plus tools for implementing -RNGs. - -This crate is intended for use when implementing the core trait, `RngCore`; it -defines the core traits to be implemented as well as several small functions to -aid in their implementation and types required for error handling. - -The main [rand] crate re-exports most items defined in this crate, along with -tools to convert the integer samples generated by `RngCore` to many different -applications (including sampling from restricted ranges, conversion to floating -point, list permutations and secure initialisation of RNGs). Most users should -prefer to use the main [rand] crate. - -Links: - -- [API documentation (master)](https://rust-random.github.io/rand/rand_core) -- [API documentation (docs.rs)](https://docs.rs/rand_core) -- [Changelog](CHANGELOG.md) - -[rand]: https://crates.io/crates/rand - - -## Functionality - -The `rand_core` crate provides: - -- base random number generator traits -- error-reporting types -- functionality to aid implementation of RNGs - -The traits and error types are also available via `rand`. - -## Crate Features - -`rand_core` supports `no_std` and `alloc`-only configurations, as well as full -`std` functionality. The differences between `no_std` and full `std` are small, -comprising `RngCore` support for `Box` types where `R: RngCore`, -`std::io::Read` support for types supporting `RngCore`, and -extensions to the `Error` type's functionality. - -The `std` feature is *not enabled by default*. This is primarily to avoid build -problems where one crate implicitly requires `rand_core` with `std` support and -another crate requires `rand` *without* `std` support. However, the `rand` crate -continues to enable `std` support by default, both for itself and `rand_core`. - -The `serde1` feature can be used to derive `Serialize` and `Deserialize` for RNG -implementations that use the `BlockRng` or `BlockRng64` wrappers. - - -# License - -`rand_core` is distributed under the terms of both the MIT license and the -Apache License (Version 2.0). - -See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT), and -[COPYRIGHT](COPYRIGHT) for details. diff --git a/vendor/registry-40351f815f426200/rand_core/src/block.rs b/vendor/registry-40351f815f426200/rand_core/src/block.rs deleted file mode 100644 index 3045b9482..000000000 --- a/vendor/registry-40351f815f426200/rand_core/src/block.rs +++ /dev/null @@ -1,499 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The `BlockRngCore` trait and implementation helpers -//! -//! The [`BlockRngCore`] trait exists to assist in the implementation of RNGs -//! which generate a block of data in a cache instead of returning generated -//! values directly. -//! -//! Usage of this trait is optional, but provides two advantages: -//! implementations only need to concern themselves with generation of the -//! block, not the various [`RngCore`] methods (especially [`fill_bytes`], where -//! the optimal implementations are not trivial), and this allows -//! `ReseedingRng` (see [`rand`](https://docs.rs/rand) crate) perform periodic -//! reseeding with very low overhead. -//! -//! # Example -//! -//! ```norun -//! use rand_core::block::{BlockRngCore, BlockRng}; -//! -//! struct MyRngCore; -//! -//! impl BlockRngCore for MyRngCore { -//! type Results = [u32; 16]; -//! -//! fn generate(&mut self, results: &mut Self::Results) { -//! unimplemented!() -//! } -//! } -//! -//! impl SeedableRng for MyRngCore { -//! type Seed = unimplemented!(); -//! fn from_seed(seed: Self::Seed) -> Self { -//! unimplemented!() -//! } -//! } -//! -//! // optionally, also implement CryptoRng for MyRngCore -//! -//! // Final RNG. -//! type MyRng = BlockRng; -//! ``` -//! -//! [`BlockRngCore`]: crate::block::BlockRngCore -//! [`fill_bytes`]: RngCore::fill_bytes - -use core::convert::AsRef; -use core::fmt; -use {RngCore, CryptoRng, SeedableRng, Error}; -use impls::{fill_via_u32_chunks, fill_via_u64_chunks}; - -/// A trait for RNGs which do not generate random numbers individually, but in -/// blocks (typically `[u32; N]`). This technique is commonly used by -/// cryptographic RNGs to improve performance. -/// -/// See the [module][crate::block] documentation for details. -pub trait BlockRngCore { - /// Results element type, e.g. `u32`. - type Item; - - /// Results type. This is the 'block' an RNG implementing `BlockRngCore` - /// generates, which will usually be an array like `[u32; 16]`. - type Results: AsRef<[Self::Item]> + AsMut<[Self::Item]> + Default; - - /// Generate a new block of results. - fn generate(&mut self, results: &mut Self::Results); -} - - -/// A wrapper type implementing [`RngCore`] for some type implementing -/// [`BlockRngCore`] with `u32` array buffer; i.e. this can be used to implement -/// a full RNG from just a `generate` function. -/// -/// The `core` field may be accessed directly but the results buffer may not. -/// PRNG implementations can simply use a type alias -/// (`pub type MyRng = BlockRng;`) but might prefer to use a -/// wrapper type (`pub struct MyRng(BlockRng);`); the latter must -/// re-implement `RngCore` but hides the implementation details and allows -/// extra functionality to be defined on the RNG -/// (e.g. `impl MyRng { fn set_stream(...){...} }`). -/// -/// `BlockRng` has heavily optimized implementations of the [`RngCore`] methods -/// reading values from the results buffer, as well as -/// calling [`BlockRngCore::generate`] directly on the output array when -/// [`fill_bytes`] / [`try_fill_bytes`] is called on a large array. These methods -/// also handle the bookkeeping of when to generate a new batch of values. -/// -/// No whole generated `u32` values are thown away and all values are consumed -/// in-order. [`next_u32`] simply takes the next available `u32` value. -/// [`next_u64`] is implemented by combining two `u32` values, least -/// significant first. [`fill_bytes`] and [`try_fill_bytes`] consume a whole -/// number of `u32` values, converting each `u32` to a byte slice in -/// little-endian order. If the requested byte length is not a multiple of 4, -/// some bytes will be discarded. -/// -/// See also [`BlockRng64`] which uses `u64` array buffers. Currently there is -/// no direct support for other buffer types. -/// -/// For easy initialization `BlockRng` also implements [`SeedableRng`]. -/// -/// [`next_u32`]: RngCore::next_u32 -/// [`next_u64`]: RngCore::next_u64 -/// [`fill_bytes`]: RngCore::fill_bytes -/// [`try_fill_bytes`]: RngCore::try_fill_bytes -#[derive(Clone)] -#[cfg_attr(feature="serde1", derive(Serialize, Deserialize))] -pub struct BlockRng { - results: R::Results, - index: usize, - /// The *core* part of the RNG, implementing the `generate` function. - pub core: R, -} - -// Custom Debug implementation that does not expose the contents of `results`. -impl fmt::Debug for BlockRng { - fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { - fmt.debug_struct("BlockRng") - .field("core", &self.core) - .field("result_len", &self.results.as_ref().len()) - .field("index", &self.index) - .finish() - } -} - -impl BlockRng { - /// Create a new `BlockRng` from an existing RNG implementing - /// `BlockRngCore`. Results will be generated on first use. - pub fn new(core: R) -> BlockRng{ - let results_empty = R::Results::default(); - BlockRng { - core, - index: results_empty.as_ref().len(), - results: results_empty, - } - } - - /// Get the index into the result buffer. - /// - /// If this is equal to or larger than the size of the result buffer then - /// the buffer is "empty" and `generate()` must be called to produce new - /// results. - pub fn index(&self) -> usize { - self.index - } - - /// Reset the number of available results. - /// This will force a new set of results to be generated on next use. - pub fn reset(&mut self) { - self.index = self.results.as_ref().len(); - } - - /// Generate a new set of results immediately, setting the index to the - /// given value. - pub fn generate_and_set(&mut self, index: usize) { - assert!(index < self.results.as_ref().len()); - self.core.generate(&mut self.results); - self.index = index; - } -} - -impl> RngCore for BlockRng -where ::Results: AsRef<[u32]> + AsMut<[u32]> -{ - #[inline(always)] - fn next_u32(&mut self) -> u32 { - if self.index >= self.results.as_ref().len() { - self.generate_and_set(0); - } - - let value = self.results.as_ref()[self.index]; - self.index += 1; - value - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - let read_u64 = |results: &[u32], index| { - if cfg!(any(target_arch = "x86", target_arch = "x86_64")) { - // requires little-endian CPU supporting unaligned reads: - unsafe { *(&results[index] as *const u32 as *const u64) } - } else { - let x = u64::from(results[index]); - let y = u64::from(results[index + 1]); - (y << 32) | x - } - }; - - let len = self.results.as_ref().len(); - - let index = self.index; - if index < len-1 { - self.index += 2; - // Read an u64 from the current index - read_u64(self.results.as_ref(), index) - } else if index >= len { - self.generate_and_set(2); - read_u64(self.results.as_ref(), 0) - } else { - let x = u64::from(self.results.as_ref()[len-1]); - self.generate_and_set(1); - let y = u64::from(self.results.as_ref()[0]); - (y << 32) | x - } - } - - // As an optimization we try to write directly into the output buffer. - // This is only enabled for little-endian platforms where unaligned writes - // are known to be safe and fast. - #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] - fn fill_bytes(&mut self, dest: &mut [u8]) { - let mut filled = 0; - - // Continue filling from the current set of results - if self.index < self.results.as_ref().len() { - let (consumed_u32, filled_u8) = - fill_via_u32_chunks(&self.results.as_ref()[self.index..], - dest); - - self.index += consumed_u32; - filled += filled_u8; - } - - let len_remainder = - (dest.len() - filled) % (self.results.as_ref().len() * 4); - let end_direct = dest.len() - len_remainder; - - while filled < end_direct { - let dest_u32: &mut R::Results = unsafe { - &mut *(dest[filled..].as_mut_ptr() as - *mut ::Results) - }; - self.core.generate(dest_u32); - filled += self.results.as_ref().len() * 4; - self.index = self.results.as_ref().len(); - } - - if len_remainder > 0 { - self.core.generate(&mut self.results); - let (consumed_u32, _) = - fill_via_u32_chunks(self.results.as_ref(), - &mut dest[filled..]); - - self.index = consumed_u32; - } - } - - #[cfg(not(any(target_arch = "x86", target_arch = "x86_64")))] - fn fill_bytes(&mut self, dest: &mut [u8]) { - let mut read_len = 0; - while read_len < dest.len() { - if self.index >= self.results.as_ref().len() { - self.generate_and_set(0); - } - let (consumed_u32, filled_u8) = - fill_via_u32_chunks(&self.results.as_ref()[self.index..], - &mut dest[read_len..]); - - self.index += consumed_u32; - read_len += filled_u8; - } - } - - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.fill_bytes(dest); - Ok(()) - } -} - -impl SeedableRng for BlockRng { - type Seed = R::Seed; - - fn from_seed(seed: Self::Seed) -> Self { - Self::new(R::from_seed(seed)) - } - - fn seed_from_u64(seed: u64) -> Self { - Self::new(R::seed_from_u64(seed)) - } - - fn from_rng(rng: S) -> Result { - Ok(Self::new(R::from_rng(rng)?)) - } -} - - - -/// A wrapper type implementing [`RngCore`] for some type implementing -/// [`BlockRngCore`] with `u64` array buffer; i.e. this can be used to implement -/// a full RNG from just a `generate` function. -/// -/// This is similar to [`BlockRng`], but specialized for algorithms that operate -/// on `u64` values. -/// -/// No whole generated `u64` values are thrown away and all values are consumed -/// in-order. [`next_u64`] simply takes the next available `u64` value. -/// [`next_u32`] is however a bit special: half of a `u64` is consumed, leaving -/// the other half in the buffer. If the next function called is [`next_u32`] -/// then the other half is then consumed, however both [`next_u64`] and -/// [`fill_bytes`] discard the rest of any half-consumed `u64`s when called. -/// -/// [`fill_bytes`] and [`try_fill_bytes`] consume a whole number of `u64` -/// values. If the requested length is not a multiple of 8, some bytes will be -/// discarded. -/// -/// [`next_u32`]: RngCore::next_u32 -/// [`next_u64`]: RngCore::next_u64 -/// [`fill_bytes`]: RngCore::fill_bytes -/// [`try_fill_bytes`]: RngCore::try_fill_bytes -#[derive(Clone)] -#[cfg_attr(feature="serde1", derive(Serialize, Deserialize))] -pub struct BlockRng64 { - results: R::Results, - index: usize, - half_used: bool, // true if only half of the previous result is used - /// The *core* part of the RNG, implementing the `generate` function. - pub core: R, -} - -// Custom Debug implementation that does not expose the contents of `results`. -impl fmt::Debug for BlockRng64 { - fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { - fmt.debug_struct("BlockRng64") - .field("core", &self.core) - .field("result_len", &self.results.as_ref().len()) - .field("index", &self.index) - .field("half_used", &self.half_used) - .finish() - } -} - -impl BlockRng64 { - /// Create a new `BlockRng` from an existing RNG implementing - /// `BlockRngCore`. Results will be generated on first use. - pub fn new(core: R) -> BlockRng64{ - let results_empty = R::Results::default(); - BlockRng64 { - core, - index: results_empty.as_ref().len(), - half_used: false, - results: results_empty, - } - } - - /// Get the index into the result buffer. - /// - /// If this is equal to or larger than the size of the result buffer then - /// the buffer is "empty" and `generate()` must be called to produce new - /// results. - pub fn index(&self) -> usize { - self.index - } - - /// Reset the number of available results. - /// This will force a new set of results to be generated on next use. - pub fn reset(&mut self) { - self.index = self.results.as_ref().len(); - self.half_used = false; - } - - /// Generate a new set of results immediately, setting the index to the - /// given value. - pub fn generate_and_set(&mut self, index: usize) { - assert!(index < self.results.as_ref().len()); - self.core.generate(&mut self.results); - self.index = index; - self.half_used = false; - } -} - -impl> RngCore for BlockRng64 -where ::Results: AsRef<[u64]> + AsMut<[u64]> -{ - #[inline(always)] - fn next_u32(&mut self) -> u32 { - let mut index = self.index * 2 - self.half_used as usize; - if index >= self.results.as_ref().len() * 2 { - self.core.generate(&mut self.results); - self.index = 0; - // `self.half_used` is by definition `false` - self.half_used = false; - index = 0; - } - - self.half_used = !self.half_used; - self.index += self.half_used as usize; - - // Index as if this is a u32 slice. - unsafe { - let results = - &*(self.results.as_ref() as *const [u64] as *const [u32]); - if cfg!(target_endian = "little") { - *results.get_unchecked(index) - } else { - *results.get_unchecked(index ^ 1) - } - } - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - if self.index >= self.results.as_ref().len() { - self.core.generate(&mut self.results); - self.index = 0; - } - - let value = self.results.as_ref()[self.index]; - self.index += 1; - self.half_used = false; - value - } - - // As an optimization we try to write directly into the output buffer. - // This is only enabled for little-endian platforms where unaligned writes - // are known to be safe and fast. - #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] - fn fill_bytes(&mut self, dest: &mut [u8]) { - let mut filled = 0; - self.half_used = false; - - // Continue filling from the current set of results - if self.index < self.results.as_ref().len() { - let (consumed_u64, filled_u8) = - fill_via_u64_chunks(&self.results.as_ref()[self.index..], - dest); - - self.index += consumed_u64; - filled += filled_u8; - } - - let len_remainder = - (dest.len() - filled) % (self.results.as_ref().len() * 8); - let end_direct = dest.len() - len_remainder; - - while filled < end_direct { - let dest_u64: &mut R::Results = unsafe { - ::core::mem::transmute(dest[filled..].as_mut_ptr()) - }; - self.core.generate(dest_u64); - filled += self.results.as_ref().len() * 8; - self.index = self.results.as_ref().len(); - } - - if len_remainder > 0 { - self.core.generate(&mut self.results); - let (consumed_u64, _) = - fill_via_u64_chunks(&mut self.results.as_ref(), - &mut dest[filled..]); - - self.index = consumed_u64; - } - } - - #[cfg(not(any(target_arch = "x86", target_arch = "x86_64")))] - fn fill_bytes(&mut self, dest: &mut [u8]) { - let mut read_len = 0; - self.half_used = false; - while read_len < dest.len() { - if self.index as usize >= self.results.as_ref().len() { - self.core.generate(&mut self.results); - self.index = 0; - } - - let (consumed_u64, filled_u8) = - fill_via_u64_chunks(&self.results.as_ref()[self.index as usize..], - &mut dest[read_len..]); - - self.index += consumed_u64; - read_len += filled_u8; - } - } - - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - Ok(self.fill_bytes(dest)) - } -} - -impl SeedableRng for BlockRng64 { - type Seed = R::Seed; - - fn from_seed(seed: Self::Seed) -> Self { - Self::new(R::from_seed(seed)) - } - - fn seed_from_u64(seed: u64) -> Self { - Self::new(R::seed_from_u64(seed)) - } - - fn from_rng(rng: S) -> Result { - Ok(Self::new(R::from_rng(rng)?)) - } -} - -impl CryptoRng for BlockRng {} diff --git a/vendor/registry-40351f815f426200/rand_core/src/error.rs b/vendor/registry-40351f815f426200/rand_core/src/error.rs deleted file mode 100644 index 5a8459ea8..000000000 --- a/vendor/registry-40351f815f426200/rand_core/src/error.rs +++ /dev/null @@ -1,177 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Error types - -use core::fmt; - -#[cfg(feature="std")] -use std::error::Error as stdError; -#[cfg(feature="std")] -use std::io; - -/// Error kind which can be matched over. -#[derive(PartialEq, Eq, Debug, Copy, Clone)] -pub enum ErrorKind { - /// Feature is not available; not recoverable. - /// - /// This is the most permanent failure type and implies the error cannot be - /// resolved simply by retrying (e.g. the feature may not exist in this - /// build of the application or on the current platform). - Unavailable, - /// General failure; there may be a chance of recovery on retry. - /// - /// This is the catch-all kind for errors from known and unknown sources - /// which do not have a more specific kind / handling method. - /// - /// It is suggested to retry a couple of times or retry later when - /// handling; some error sources may be able to resolve themselves, - /// although this is not likely. - Unexpected, - /// A transient failure which likely can be resolved or worked around. - /// - /// This error kind exists for a few specific cases where it is known that - /// the error likely can be resolved internally, but is reported anyway. - Transient, - /// Not ready yet: recommended to try again a little later. - /// - /// This error kind implies the generator needs more time or needs some - /// other part of the application to do something else first before it is - /// ready for use; for example this may be used by external generators - /// which require time for initialization. - NotReady, - #[doc(hidden)] - __Nonexhaustive, -} - -impl ErrorKind { - /// True if this kind of error may resolve itself on retry. - /// - /// See also `should_wait()`. - pub fn should_retry(self) -> bool { - self != ErrorKind::Unavailable - } - - /// True if we should retry but wait before retrying - /// - /// This implies `should_retry()` is true. - pub fn should_wait(self) -> bool { - self == ErrorKind::NotReady - } - - /// A description of this error kind - pub fn description(self) -> &'static str { - match self { - ErrorKind::Unavailable => "permanently unavailable", - ErrorKind::Unexpected => "unexpected failure", - ErrorKind::Transient => "transient failure", - ErrorKind::NotReady => "not ready yet", - ErrorKind::__Nonexhaustive => unreachable!(), - } - } -} - - -/// Error type of random number generators -/// -/// This is a relatively simple error type, designed for compatibility with and -/// without the Rust `std` library. It embeds a "kind" code, a message (static -/// string only), and an optional chained cause (`std` only). The `kind` and -/// `msg` fields can be accessed directly; cause can be accessed via -/// `std::error::Error::cause` or `Error::take_cause`. Construction can only be -/// done via `Error::new` or `Error::with_cause`. -#[derive(Debug)] -pub struct Error { - /// The error kind - pub kind: ErrorKind, - /// The error message - pub msg: &'static str, - #[cfg(feature="std")] - cause: Option>, -} - -impl Error { - /// Create a new instance, with specified kind and a message. - pub fn new(kind: ErrorKind, msg: &'static str) -> Self { - #[cfg(feature="std")] { - Error { kind, msg, cause: None } - } - #[cfg(not(feature="std"))] { - Error { kind, msg } - } - } - - /// Create a new instance, with specified kind, message, and a - /// chained cause. - /// - /// Note: `stdError` is an alias for `std::error::Error`. - /// - /// If not targetting `std` (i.e. `no_std`), this function is replaced by - /// another with the same prototype, except that there are no bounds on the - /// type `E` (because both `Box` and `stdError` are unavailable), and the - /// `cause` is ignored. - #[cfg(feature="std")] - pub fn with_cause(kind: ErrorKind, msg: &'static str, cause: E) -> Self - where E: Into> - { - Error { kind, msg, cause: Some(cause.into()) } - } - - /// Create a new instance, with specified kind, message, and a - /// chained cause. - /// - /// In `no_std` mode the *cause* is ignored. - #[cfg(not(feature="std"))] - pub fn with_cause(kind: ErrorKind, msg: &'static str, _cause: E) -> Self { - Error { kind, msg } - } - - /// Take the cause, if any. This allows the embedded cause to be extracted. - /// This uses `Option::take`, leaving `self` with no cause. - #[cfg(feature="std")] - pub fn take_cause(&mut self) -> Option> { - self.cause.take() - } -} - -impl fmt::Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - #[cfg(feature="std")] { - if let Some(ref cause) = self.cause { - return write!(f, "{} ({}); cause: {}", - self.msg, self.kind.description(), cause); - } - } - write!(f, "{} ({})", self.msg, self.kind.description()) - } -} - -#[cfg(feature="std")] -impl stdError for Error { - fn description(&self) -> &str { - self.msg - } - - fn cause(&self) -> Option<&stdError> { - self.cause.as_ref().map(|e| e.as_ref() as &stdError) - } -} - -#[cfg(feature="std")] -impl From for io::Error { - fn from(error: Error) -> Self { - use std::io::ErrorKind::*; - match error.kind { - ErrorKind::Unavailable => io::Error::new(NotFound, error), - ErrorKind::Unexpected | - ErrorKind::Transient => io::Error::new(Other, error), - ErrorKind::NotReady => io::Error::new(WouldBlock, error), - ErrorKind::__Nonexhaustive => unreachable!(), - } - } -} diff --git a/vendor/registry-40351f815f426200/rand_core/src/impls.rs b/vendor/registry-40351f815f426200/rand_core/src/impls.rs deleted file mode 100644 index 57bdd070d..000000000 --- a/vendor/registry-40351f815f426200/rand_core/src/impls.rs +++ /dev/null @@ -1,165 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Helper functions for implementing `RngCore` functions. -//! -//! For cross-platform reproducibility, these functions all use Little Endian: -//! least-significant part first. For example, `next_u64_via_u32` takes `u32` -//! values `x, y`, then outputs `(y << 32) | x`. To implement `next_u32` -//! from `next_u64` in little-endian order, one should use `next_u64() as u32`. -//! -//! Byte-swapping (like the std `to_le` functions) is only needed to convert -//! to/from byte sequences, and since its purpose is reproducibility, -//! non-reproducible sources (e.g. `OsRng`) need not bother with it. - -use core::intrinsics::transmute; -use core::ptr::copy_nonoverlapping; -use core::slice; -use core::cmp::min; -use core::mem::size_of; -use RngCore; - - -/// Implement `next_u64` via `next_u32`, little-endian order. -pub fn next_u64_via_u32(rng: &mut R) -> u64 { - // Use LE; we explicitly generate one value before the next. - let x = u64::from(rng.next_u32()); - let y = u64::from(rng.next_u32()); - (y << 32) | x -} - -/// Implement `fill_bytes` via `next_u64` and `next_u32`, little-endian order. -/// -/// The fastest way to fill a slice is usually to work as long as possible with -/// integers. That is why this method mostly uses `next_u64`, and only when -/// there are 4 or less bytes remaining at the end of the slice it uses -/// `next_u32` once. -pub fn fill_bytes_via_next(rng: &mut R, dest: &mut [u8]) { - let mut left = dest; - while left.len() >= 8 { - let (l, r) = {left}.split_at_mut(8); - left = r; - let chunk: [u8; 8] = unsafe { - transmute(rng.next_u64().to_le()) - }; - l.copy_from_slice(&chunk); - } - let n = left.len(); - if n > 4 { - let chunk: [u8; 8] = unsafe { - transmute(rng.next_u64().to_le()) - }; - left.copy_from_slice(&chunk[..n]); - } else if n > 0 { - let chunk: [u8; 4] = unsafe { - transmute(rng.next_u32().to_le()) - }; - left.copy_from_slice(&chunk[..n]); - } -} - -macro_rules! impl_uint_from_fill { - ($rng:expr, $ty:ty, $N:expr) => ({ - debug_assert!($N == size_of::<$ty>()); - - let mut int: $ty = 0; - unsafe { - let ptr = &mut int as *mut $ty as *mut u8; - let slice = slice::from_raw_parts_mut(ptr, $N); - $rng.fill_bytes(slice); - } - int - }); -} - -macro_rules! fill_via_chunks { - ($src:expr, $dst:expr, $ty:ty, $size:expr) => ({ - let chunk_size_u8 = min($src.len() * $size, $dst.len()); - let chunk_size = (chunk_size_u8 + $size - 1) / $size; - if cfg!(target_endian="little") { - unsafe { - copy_nonoverlapping( - $src.as_ptr() as *const u8, - $dst.as_mut_ptr(), - chunk_size_u8); - } - } else { - for (&n, chunk) in $src.iter().zip($dst.chunks_mut($size)) { - let tmp = n.to_le(); - let src_ptr = &tmp as *const $ty as *const u8; - unsafe { - copy_nonoverlapping(src_ptr, - chunk.as_mut_ptr(), - chunk.len()); - } - } - } - - (chunk_size, chunk_size_u8) - }); -} - -/// Implement `fill_bytes` by reading chunks from the output buffer of a block -/// based RNG. -/// -/// The return values are `(consumed_u32, filled_u8)`. -/// -/// `filled_u8` is the number of filled bytes in `dest`, which may be less than -/// the length of `dest`. -/// `consumed_u32` is the number of words consumed from `src`, which is the same -/// as `filled_u8 / 4` rounded up. -/// -/// # Example -/// (from `IsaacRng`) -/// -/// ```ignore -/// fn fill_bytes(&mut self, dest: &mut [u8]) { -/// let mut read_len = 0; -/// while read_len < dest.len() { -/// if self.index >= self.rsl.len() { -/// self.isaac(); -/// } -/// -/// let (consumed_u32, filled_u8) = -/// impls::fill_via_u32_chunks(&mut self.rsl[self.index..], -/// &mut dest[read_len..]); -/// -/// self.index += consumed_u32; -/// read_len += filled_u8; -/// } -/// } -/// ``` -pub fn fill_via_u32_chunks(src: &[u32], dest: &mut [u8]) -> (usize, usize) { - fill_via_chunks!(src, dest, u32, 4) -} - -/// Implement `fill_bytes` by reading chunks from the output buffer of a block -/// based RNG. -/// -/// The return values are `(consumed_u64, filled_u8)`. -/// `filled_u8` is the number of filled bytes in `dest`, which may be less than -/// the length of `dest`. -/// `consumed_u64` is the number of words consumed from `src`, which is the same -/// as `filled_u8 / 8` rounded up. -/// -/// See `fill_via_u32_chunks` for an example. -pub fn fill_via_u64_chunks(src: &[u64], dest: &mut [u8]) -> (usize, usize) { - fill_via_chunks!(src, dest, u64, 8) -} - -/// Implement `next_u32` via `fill_bytes`, little-endian order. -pub fn next_u32_via_fill(rng: &mut R) -> u32 { - impl_uint_from_fill!(rng, u32, 4) -} - -/// Implement `next_u64` via `fill_bytes`, little-endian order. -pub fn next_u64_via_fill(rng: &mut R) -> u64 { - impl_uint_from_fill!(rng, u64, 8) -} - -// TODO: implement tests for the above diff --git a/vendor/registry-40351f815f426200/rand_core/src/le.rs b/vendor/registry-40351f815f426200/rand_core/src/le.rs deleted file mode 100644 index 266651f10..000000000 --- a/vendor/registry-40351f815f426200/rand_core/src/le.rs +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Little-Endian utilities -//! -//! Little-Endian order has been chosen for internal usage; this makes some -//! useful functions available. - -use core::ptr; - -macro_rules! read_slice { - ($src:expr, $dst:expr, $size:expr, $which:ident) => {{ - assert_eq!($src.len(), $size * $dst.len()); - - unsafe { - ptr::copy_nonoverlapping( - $src.as_ptr(), - $dst.as_mut_ptr() as *mut u8, - $src.len()); - } - for v in $dst.iter_mut() { - *v = v.$which(); - } - }}; -} - -/// Reads unsigned 32 bit integers from `src` into `dst`. -/// Borrowed from the `byteorder` crate. -#[inline] -pub fn read_u32_into(src: &[u8], dst: &mut [u32]) { - read_slice!(src, dst, 4, to_le); -} - -/// Reads unsigned 64 bit integers from `src` into `dst`. -/// Borrowed from the `byteorder` crate. -#[inline] -pub fn read_u64_into(src: &[u8], dst: &mut [u64]) { - read_slice!(src, dst, 8, to_le); -} - -#[test] -fn test_read() { - let bytes = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]; - - let mut buf = [0u32; 4]; - read_u32_into(&bytes, &mut buf); - assert_eq!(buf[0], 0x04030201); - assert_eq!(buf[3], 0x100F0E0D); - - let mut buf = [0u32; 3]; - read_u32_into(&bytes[1..13], &mut buf); // unaligned - assert_eq!(buf[0], 0x05040302); - assert_eq!(buf[2], 0x0D0C0B0A); - - let mut buf = [0u64; 2]; - read_u64_into(&bytes, &mut buf); - assert_eq!(buf[0], 0x0807060504030201); - assert_eq!(buf[1], 0x100F0E0D0C0B0A09); - - let mut buf = [0u64; 1]; - read_u64_into(&bytes[7..15], &mut buf); // unaligned - assert_eq!(buf[0], 0x0F0E0D0C0B0A0908); -} diff --git a/vendor/registry-40351f815f426200/rand_core/src/lib.rs b/vendor/registry-40351f815f426200/rand_core/src/lib.rs deleted file mode 100644 index 4b0e6e48b..000000000 --- a/vendor/registry-40351f815f426200/rand_core/src/lib.rs +++ /dev/null @@ -1,477 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2017-2018 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Random number generation traits -//! -//! This crate is mainly of interest to crates publishing implementations of -//! [`RngCore`]. Other users are encouraged to use the [`rand`] crate instead -//! which re-exports the main traits and error types. -//! -//! [`RngCore`] is the core trait implemented by algorithmic pseudo-random number -//! generators and external random-number sources. -//! -//! [`SeedableRng`] is an extension trait for construction from fixed seeds and -//! other random number generators. -//! -//! [`Error`] is provided for error-handling. It is safe to use in `no_std` -//! environments. -//! -//! The [`impls`] and [`le`] sub-modules include a few small functions to assist -//! implementation of [`RngCore`]. -//! -//! [`rand`]: https://docs.rs/rand - -#![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk.png", - html_favicon_url = "https://www.rust-lang.org/favicon.ico", - html_root_url = "https://rust-random.github.io/rand/")] - -#![deny(missing_docs)] -#![deny(missing_debug_implementations)] -#![doc(test(attr(allow(unused_variables), deny(warnings))))] - -#![cfg_attr(not(feature="std"), no_std)] -#![cfg_attr(all(feature="alloc", not(feature="std")), feature(alloc))] - -#[cfg(feature="std")] extern crate core; -#[cfg(all(feature = "alloc", not(feature="std")))] extern crate alloc; -#[cfg(feature="serde1")] extern crate serde; -#[cfg(feature="serde1")] #[macro_use] extern crate serde_derive; - - -use core::default::Default; -use core::convert::AsMut; -use core::ptr::copy_nonoverlapping; - -#[cfg(all(feature="alloc", not(feature="std")))] use alloc::boxed::Box; - -pub use error::{ErrorKind, Error}; - - -mod error; -pub mod block; -pub mod impls; -pub mod le; - - -/// The core of a random number generator. -/// -/// This trait encapsulates the low-level functionality common to all -/// generators, and is the "back end", to be implemented by generators. -/// End users should normally use the `Rng` trait from the [`rand`] crate, -/// which is automatically implemented for every type implementing `RngCore`. -/// -/// Three different methods for generating random data are provided since the -/// optimal implementation of each is dependent on the type of generator. There -/// is no required relationship between the output of each; e.g. many -/// implementations of [`fill_bytes`] consume a whole number of `u32` or `u64` -/// values and drop any remaining unused bytes. -/// -/// The [`try_fill_bytes`] method is a variant of [`fill_bytes`] allowing error -/// handling; it is not deemed sufficiently useful to add equivalents for -/// [`next_u32`] or [`next_u64`] since the latter methods are almost always used -/// with algorithmic generators (PRNGs), which are normally infallible. -/// -/// Algorithmic generators implementing [`SeedableRng`] should normally have -/// *portable, reproducible* output, i.e. fix Endianness when converting values -/// to avoid platform differences, and avoid making any changes which affect -/// output (except by communicating that the release has breaking changes). -/// -/// Typically implementators will implement only one of the methods available -/// in this trait directly, then use the helper functions from the -/// [`impls`] module to implement the other methods. -/// -/// It is recommended that implementations also implement: -/// -/// - `Debug` with a custom implementation which *does not* print any internal -/// state (at least, [`CryptoRng`]s should not risk leaking state through -/// `Debug`). -/// - `Serialize` and `Deserialize` (from Serde), preferably making Serde -/// support optional at the crate level in PRNG libs. -/// - `Clone`, if possible. -/// - *never* implement `Copy` (accidental copies may cause repeated values). -/// - *do not* implement `Default` for pseudorandom generators, but instead -/// implement [`SeedableRng`], to guide users towards proper seeding. -/// External / hardware RNGs can choose to implement `Default`. -/// - `Eq` and `PartialEq` could be implemented, but are probably not useful. -/// -/// # Example -/// -/// A simple example, obviously not generating very *random* output: -/// -/// ``` -/// #![allow(dead_code)] -/// use rand_core::{RngCore, Error, impls}; -/// -/// struct CountingRng(u64); -/// -/// impl RngCore for CountingRng { -/// fn next_u32(&mut self) -> u32 { -/// self.next_u64() as u32 -/// } -/// -/// fn next_u64(&mut self) -> u64 { -/// self.0 += 1; -/// self.0 -/// } -/// -/// fn fill_bytes(&mut self, dest: &mut [u8]) { -/// impls::fill_bytes_via_next(self, dest) -/// } -/// -/// fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { -/// Ok(self.fill_bytes(dest)) -/// } -/// } -/// ``` -/// -/// [`rand`]: https://docs.rs/rand -/// [`try_fill_bytes`]: RngCore::try_fill_bytes -/// [`fill_bytes`]: RngCore::fill_bytes -/// [`next_u32`]: RngCore::next_u32 -/// [`next_u64`]: RngCore::next_u64 -pub trait RngCore { - /// Return the next random `u32`. - /// - /// RNGs must implement at least one method from this trait directly. In - /// the case this method is not implemented directly, it can be implemented - /// using `self.next_u64() as u32` or via - /// [`fill_bytes`][impls::next_u32_via_fill]. - fn next_u32(&mut self) -> u32; - - /// Return the next random `u64`. - /// - /// RNGs must implement at least one method from this trait directly. In - /// the case this method is not implemented directly, it can be implemented - /// via [`next_u32`][impls::next_u64_via_u32] or via - /// [`fill_bytes`][impls::next_u64_via_fill]. - fn next_u64(&mut self) -> u64; - - /// Fill `dest` with random data. - /// - /// RNGs must implement at least one method from this trait directly. In - /// the case this method is not implemented directly, it can be implemented - /// via [`next_u*`][impls::fill_bytes_via_next] or - /// via [`try_fill_bytes`][RngCore::try_fill_bytes]; if this generator can - /// fail the implementation must choose how best to handle errors here - /// (e.g. panic with a descriptive message or log a warning and retry a few - /// times). - /// - /// This method should guarantee that `dest` is entirely filled - /// with new data, and may panic if this is impossible - /// (e.g. reading past the end of a file that is being used as the - /// source of randomness). - fn fill_bytes(&mut self, dest: &mut [u8]); - - /// Fill `dest` entirely with random data. - /// - /// This is the only method which allows an RNG to report errors while - /// generating random data thus making this the primary method implemented - /// by external (true) RNGs (e.g. `OsRng`) which can fail. It may be used - /// directly to generate keys and to seed (infallible) PRNGs. - /// - /// Other than error handling, this method is identical to [`fill_bytes`]; - /// thus this may be implemented using `Ok(self.fill_bytes(dest))` or - /// `fill_bytes` may be implemented with - /// `self.try_fill_bytes(dest).unwrap()` or more specific error handling. - /// - /// [`fill_bytes`]: RngCore::fill_bytes - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>; -} - -/// A marker trait used to indicate that an [`RngCore`] or [`BlockRngCore`] -/// implementation is supposed to be cryptographically secure. -/// -/// *Cryptographically secure generators*, also known as *CSPRNGs*, should -/// satisfy an additional properties over other generators: given the first -/// *k* bits of an algorithm's output -/// sequence, it should not be possible using polynomial-time algorithms to -/// predict the next bit with probability significantly greater than 50%. -/// -/// Some generators may satisfy an additional property, however this is not -/// required by this trait: if the CSPRNG's state is revealed, it should not be -/// computationally-feasible to reconstruct output prior to this. Some other -/// generators allow backwards-computation and are consided *reversible*. -/// -/// Note that this trait is provided for guidance only and cannot guarantee -/// suitability for cryptographic applications. In general it should only be -/// implemented for well-reviewed code implementing well-regarded algorithms. -/// -/// Note also that use of a `CryptoRng` does not protect against other -/// weaknesses such as seeding from a weak entropy source or leaking state. -/// -/// [`BlockRngCore`]: block::BlockRngCore -pub trait CryptoRng {} - -/// A random number generator that can be explicitly seeded. -/// -/// This trait encapsulates the low-level functionality common to all -/// pseudo-random number generators (PRNGs, or algorithmic generators). -/// -/// The `FromEntropy` trait from the [`rand`] crate is automatically -/// implemented for every type implementing `SeedableRng`, providing -/// a convenient `from_entropy()` constructor. -/// -/// [`rand`]: https://docs.rs/rand -pub trait SeedableRng: Sized { - /// Seed type, which is restricted to types mutably-dereferencable as `u8` - /// arrays (we recommend `[u8; N]` for some `N`). - /// - /// It is recommended to seed PRNGs with a seed of at least circa 100 bits, - /// which means an array of `[u8; 12]` or greater to avoid picking RNGs with - /// partially overlapping periods. - /// - /// For cryptographic RNG's a seed of 256 bits is recommended, `[u8; 32]`. - /// - /// - /// # Implementing `SeedableRng` for RNGs with large seeds - /// - /// Note that the required traits `core::default::Default` and - /// `core::convert::AsMut` are not implemented for large arrays - /// `[u8; N]` with `N` > 32. To be able to implement the traits required by - /// `SeedableRng` for RNGs with such large seeds, the newtype pattern can be - /// used: - /// - /// ``` - /// use rand_core::SeedableRng; - /// - /// const N: usize = 64; - /// pub struct MyRngSeed(pub [u8; N]); - /// pub struct MyRng(MyRngSeed); - /// - /// impl Default for MyRngSeed { - /// fn default() -> MyRngSeed { - /// MyRngSeed([0; N]) - /// } - /// } - /// - /// impl AsMut<[u8]> for MyRngSeed { - /// fn as_mut(&mut self) -> &mut [u8] { - /// &mut self.0 - /// } - /// } - /// - /// impl SeedableRng for MyRng { - /// type Seed = MyRngSeed; - /// - /// fn from_seed(seed: MyRngSeed) -> MyRng { - /// MyRng(seed) - /// } - /// } - /// ``` - type Seed: Sized + Default + AsMut<[u8]>; - - /// Create a new PRNG using the given seed. - /// - /// PRNG implementations are allowed to assume that bits in the seed are - /// well distributed. That means usually that the number of one and zero - /// bits are about equal, and values like 0, 1 and (size - 1) are unlikely. - /// - /// PRNG implementations are recommended to be reproducible. A PRNG seeded - /// using this function with a fixed seed should produce the same sequence - /// of output in the future and on different architectures (with for example - /// different endianness). - /// - /// It is however not required that this function yield the same state as a - /// reference implementation of the PRNG given equivalent seed; if necessary - /// another constructor replicating behaviour from a reference - /// implementation can be added. - /// - /// PRNG implementations should make sure `from_seed` never panics. In the - /// case that some special values (like an all zero seed) are not viable - /// seeds it is preferable to map these to alternative constant value(s), - /// for example `0xBAD5EEDu32` or `0x0DDB1A5E5BAD5EEDu64` ("odd biases? bad - /// seed"). This is assuming only a small number of values must be rejected. - fn from_seed(seed: Self::Seed) -> Self; - - /// Create a new PRNG using a `u64` seed. - /// - /// This is a convenience-wrapper around `from_seed` to allow construction - /// of any `SeedableRng` from a simple `u64` value. It is designed such that - /// low Hamming Weight numbers like 0 and 1 can be used and should still - /// result in good, independent seeds to the PRNG which is returned. - /// - /// This **is not suitable for cryptography**, as should be clear given that - /// the input size is only 64 bits. - /// - /// Implementations for PRNGs *may* provide their own implementations of - /// this function, but the default implementation should be good enough for - /// all purposes. *Changing* the implementation of this function should be - /// considered a value-breaking change. - fn seed_from_u64(mut state: u64) -> Self { - // We use PCG32 to generate a u32 sequence, and copy to the seed - const MUL: u64 = 6364136223846793005; - const INC: u64 = 11634580027462260723; - - let mut seed = Self::Seed::default(); - for chunk in seed.as_mut().chunks_mut(4) { - // We advance the state first (to get away from the input value, - // in case it has low Hamming Weight). - state = state.wrapping_mul(MUL).wrapping_add(INC); - - // Use PCG output function with to_le to generate x: - let xorshifted = (((state >> 18) ^ state) >> 27) as u32; - let rot = (state >> 59) as u32; - let x = xorshifted.rotate_right(rot).to_le(); - - unsafe { - let p = &x as *const u32 as *const u8; - copy_nonoverlapping(p, chunk.as_mut_ptr(), chunk.len()); - } - } - - Self::from_seed(seed) - } - - /// Create a new PRNG seeded from another `Rng`. - /// - /// This is the recommended way to initialize PRNGs with fresh entropy. The - /// `FromEntropy` trait from the [`rand`] crate provides a convenient - /// `from_entropy` method based on `from_rng`. - /// - /// Usage of this method is not recommended when reproducibility is required - /// since implementing PRNGs are not required to fix Endianness and are - /// allowed to modify implementations in new releases. - /// - /// It is important to use a good source of randomness to initialize the - /// PRNG. Cryptographic PRNG may be rendered insecure when seeded from a - /// non-cryptographic PRNG or with insufficient entropy. - /// Many non-cryptographic PRNGs will show statistical bias in their first - /// results if their seed numbers are small or if there is a simple pattern - /// between them. - /// - /// Prefer to seed from a strong external entropy source like `OsRng` from - /// the [`rand_os`] crate or from a cryptographic PRNG; if creating a new - /// generator for cryptographic uses you *must* seed from a strong source. - /// - /// Seeding a small PRNG from another small PRNG is possible, but - /// something to be careful with. An extreme example of how this can go - /// wrong is seeding an Xorshift RNG from another Xorshift RNG, which - /// will effectively clone the generator. In general seeding from a - /// generator which is hard to predict is probably okay. - /// - /// PRNG implementations are allowed to assume that a good RNG is provided - /// for seeding, and that it is cryptographically secure when appropriate. - /// - /// [`rand`]: https://docs.rs/rand - /// [`rand_os`]: https://docs.rs/rand_os - fn from_rng(mut rng: R) -> Result { - let mut seed = Self::Seed::default(); - rng.try_fill_bytes(seed.as_mut())?; - Ok(Self::from_seed(seed)) - } -} - -// Implement `RngCore` for references to an `RngCore`. -// Force inlining all functions, so that it is up to the `RngCore` -// implementation and the optimizer to decide on inlining. -impl<'a, R: RngCore + ?Sized> RngCore for &'a mut R { - #[inline(always)] - fn next_u32(&mut self) -> u32 { - (**self).next_u32() - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - (**self).next_u64() - } - - #[inline(always)] - fn fill_bytes(&mut self, dest: &mut [u8]) { - (**self).fill_bytes(dest) - } - - #[inline(always)] - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - (**self).try_fill_bytes(dest) - } -} - -// Implement `RngCore` for boxed references to an `RngCore`. -// Force inlining all functions, so that it is up to the `RngCore` -// implementation and the optimizer to decide on inlining. -#[cfg(feature="alloc")] -impl RngCore for Box { - #[inline(always)] - fn next_u32(&mut self) -> u32 { - (**self).next_u32() - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - (**self).next_u64() - } - - #[inline(always)] - fn fill_bytes(&mut self, dest: &mut [u8]) { - (**self).fill_bytes(dest) - } - - #[inline(always)] - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - (**self).try_fill_bytes(dest) - } -} - -#[cfg(feature="std")] -impl std::io::Read for RngCore { - fn read(&mut self, buf: &mut [u8]) -> Result { - self.try_fill_bytes(buf)?; - Ok(buf.len()) - } -} - -// Implement `CryptoRng` for references to an `CryptoRng`. -impl<'a, R: CryptoRng + ?Sized> CryptoRng for &'a mut R {} - -// Implement `CryptoRng` for boxed references to an `CryptoRng`. -#[cfg(feature="alloc")] -impl CryptoRng for Box {} - -#[cfg(test)] -mod test { - use super::*; - - #[test] - fn test_seed_from_u64() { - struct SeedableNum(u64); - impl SeedableRng for SeedableNum { - type Seed = [u8; 8]; - fn from_seed(seed: Self::Seed) -> Self { - let mut x = [0u64; 1]; - le::read_u64_into(&seed, &mut x); - SeedableNum(x[0]) - } - } - - const N: usize = 8; - const SEEDS: [u64; N] = [0u64, 1, 2, 3, 4, 8, 16, -1i64 as u64]; - let mut results = [0u64; N]; - for (i, seed) in SEEDS.iter().enumerate() { - let SeedableNum(x) = SeedableNum::seed_from_u64(*seed); - results[i] = x; - } - - for (i1, r1) in results.iter().enumerate() { - let weight = r1.count_ones(); - // This is the binomial distribution B(64, 0.5), so chance of - // weight < 20 is binocdf(19, 64, 0.5) = 7.8e-4, and same for - // weight > 44. - assert!(weight >= 20 && weight <= 44); - - for (i2, r2) in results.iter().enumerate() { - if i1 == i2 { continue; } - let diff_weight = (r1 ^ r2).count_ones(); - assert!(diff_weight >= 20); - } - } - - // value-breakage test: - assert_eq!(results[0], 5029875928683246316); - } -} diff --git a/vendor/registry-40351f815f426200/rand_hc/.cargo-checksum.json b/vendor/registry-40351f815f426200/rand_hc/.cargo-checksum.json deleted file mode 100644 index 562cce313..000000000 --- a/vendor/registry-40351f815f426200/rand_hc/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"CHANGELOG.md":"f6dd960de06e087466066cd3e05bfd51288d144f917a62c591238697d7db1f49","COPYRIGHT":"90eb64f0279b0d9432accfa6023ff803bc4965212383697eee27a0f426d5f8d5","Cargo.toml":"467a2ecd73f7b32471fe00fe8042ef4dff756c05e6e4e6dd3a2e48d25867ef07","LICENSE-APACHE":"aaff376532ea30a0cd5330b9502ad4a4c8bf769c539c87ffe78819d188a18ebf","LICENSE-MIT":"a771e4354f6b3ad4c92da1a5c9a239b6c291527db869632ecea4f20e24ca1135","README.md":"98a46c583c11b36bf3cc30ba646c9598a7d051b22c10e6d408aa0b1aefc6062d","src/hc128.rs":"ec8a1122eff5d1b79efa721d97d8aabaadd3f9af504336ecd928c082a9a40b45","src/lib.rs":"959f8d7280fac5683e4d2bf1713b3742a0a3685bb0b7e19d06875d254751cffb"},"package":"7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/rand_hc/CHANGELOG.md b/vendor/registry-40351f815f426200/rand_hc/CHANGELOG.md deleted file mode 100644 index d0c4a2fcb..000000000 --- a/vendor/registry-40351f815f426200/rand_hc/CHANGELOG.md +++ /dev/null @@ -1,8 +0,0 @@ -# Changelog -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [0.1.0] - 2018-10-17 -- Pulled out of the Rand crate diff --git a/vendor/registry-40351f815f426200/rand_hc/COPYRIGHT b/vendor/registry-40351f815f426200/rand_hc/COPYRIGHT deleted file mode 100644 index 468d907ca..000000000 --- a/vendor/registry-40351f815f426200/rand_hc/COPYRIGHT +++ /dev/null @@ -1,12 +0,0 @@ -Copyrights in the Rand project are retained by their contributors. No -copyright assignment is required to contribute to the Rand project. - -For full authorship information, see the version control history. - -Except as otherwise noted (below and/or in individual files), Rand is -licensed under the Apache License, Version 2.0 or - or the MIT license - or , at your option. - -The Rand project includes code from the Rust project -published under these same licenses. diff --git a/vendor/registry-40351f815f426200/rand_hc/Cargo.toml b/vendor/registry-40351f815f426200/rand_hc/Cargo.toml deleted file mode 100644 index e08027473..000000000 --- a/vendor/registry-40351f815f426200/rand_hc/Cargo.toml +++ /dev/null @@ -1,32 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "rand_hc" -version = "0.1.0" -authors = ["The Rand Project Developers"] -description = "HC128 random number generator\n" -homepage = "https://crates.io/crates/rand_hc" -documentation = "https://docs.rs/rand_hc" -readme = "README.md" -keywords = ["random", "rng", "hc128"] -categories = ["algorithms", "no-std"] -license = "MIT/Apache-2.0" -repository = "https://github.com/rust-random/rand" -[dependencies.rand_core] -version = ">=0.2, <0.4" -default-features = false -[badges.appveyor] -repository = "rust-random/rand" - -[badges.travis-ci] -repository = "rust-random/rand" diff --git a/vendor/registry-40351f815f426200/rand_hc/LICENSE-APACHE b/vendor/registry-40351f815f426200/rand_hc/LICENSE-APACHE deleted file mode 100644 index 17d74680f..000000000 --- a/vendor/registry-40351f815f426200/rand_hc/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/rand_hc/LICENSE-MIT b/vendor/registry-40351f815f426200/rand_hc/LICENSE-MIT deleted file mode 100644 index cf656074c..000000000 --- a/vendor/registry-40351f815f426200/rand_hc/LICENSE-MIT +++ /dev/null @@ -1,25 +0,0 @@ -Copyright 2018 Developers of the Rand project - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/rand_hc/README.md b/vendor/registry-40351f815f426200/rand_hc/README.md deleted file mode 100644 index 9c1f5e122..000000000 --- a/vendor/registry-40351f815f426200/rand_hc/README.md +++ /dev/null @@ -1,44 +0,0 @@ -# rand_hc - -[![Build Status](https://travis-ci.org/rust-random/rand.svg)](https://travis-ci.org/rust-random/rand) -[![Build Status](https://ci.appveyor.com/api/projects/status/github/rust-random/rand?svg=true)](https://ci.appveyor.com/project/rust-random/rand) -[![Latest version](https://img.shields.io/crates/v/rand_hc.svg)](https://crates.io/crates/rand_hc) -[![Documentation](https://docs.rs/rand_hc/badge.svg)](https://docs.rs/rand_hc) -[![Minimum rustc version](https://img.shields.io/badge/rustc-1.22+-yellow.svg)](https://github.com/rust-random/rand#rust-version-requirements) -[![License](https://img.shields.io/crates/l/rand_hc.svg)](https://github.com/rust-random/rand/tree/master/rand_hc#license) - -A cryptographically secure random number generator that uses the HC-128 -algorithm. - -HC-128 is a stream cipher designed by Hongjun Wu[^1], that we use as an -RNG. It is selected as one of the "stream ciphers suitable for widespread -adoption" by eSTREAM[^2]. - -Documentation: -[master branch](https://rust-random.github.io/rand/rand_hc/index.html), -[by release](https://docs.rs/rand_hc) - -[Changelog](CHANGELOG.md) - -[rand]: https://crates.io/crates/rand -[^1]: Hongjun Wu (2008). ["The Stream Cipher HC-128"]( - http://www.ecrypt.eu.org/stream/p3ciphers/hc/hc128_p3.pdf). - *The eSTREAM Finalists*, LNCS 4986, pp. 39–47, Springer-Verlag. - -[^2]: [eSTREAM: the ECRYPT Stream Cipher Project]( - http://www.ecrypt.eu.org/stream/) - - -## Crate Features - -`rand_hc` is `no_std` compatible. It does not require any functionality -outside of the `core` lib, thus there are no features to configure. - - -# License - -`rand_hc` is distributed under the terms of both the MIT license and the -Apache License (Version 2.0). - -See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT), and -[COPYRIGHT](COPYRIGHT) for details. diff --git a/vendor/registry-40351f815f426200/rand_hc/src/hc128.rs b/vendor/registry-40351f815f426200/rand_hc/src/hc128.rs deleted file mode 100644 index d1dadcc90..000000000 --- a/vendor/registry-40351f815f426200/rand_hc/src/hc128.rs +++ /dev/null @@ -1,462 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The HC-128 random number generator. - -use core::fmt; -use rand_core::{CryptoRng, RngCore, SeedableRng, Error, le}; -use rand_core::block::{BlockRngCore, BlockRng}; - -const SEED_WORDS: usize = 8; // 128 bit key followed by 128 bit iv - -/// A cryptographically secure random number generator that uses the HC-128 -/// algorithm. -/// -/// HC-128 is a stream cipher designed by Hongjun Wu[^1], that we use as an -/// RNG. It is selected as one of the "stream ciphers suitable for widespread -/// adoption" by eSTREAM[^2]. -/// -/// HC-128 is an array based RNG. In this it is similar to RC-4 and ISAAC before -/// it, but those have never been proven cryptographically secure (or have even -/// been significantly compromised, as in the case of RC-4[^5]). -/// -/// Because HC-128 works with simple indexing into a large array and with a few -/// operations that parallelize well, it has very good performance. The size of -/// the array it needs, 4kb, can however be a disadvantage. -/// -/// This implementation is not based on the version of HC-128 submitted to the -/// eSTREAM contest, but on a later version by the author with a few small -/// improvements from December 15, 2009[^3]. -/// -/// HC-128 has no known weaknesses that are easier to exploit than doing a -/// brute-force search of 2128. A very comprehensive analysis of the -/// current state of known attacks / weaknesses of HC-128 is given in *Some -/// Results On Analysis And Implementation Of HC-128 Stream Cipher*[^4]. -/// -/// The average cycle length is expected to be -/// 21024*32+10-1 = 232777. -/// We support seeding with a 256-bit array, which matches the 128-bit key -/// concatenated with a 128-bit IV from the stream cipher. -/// -/// This implementation uses an output buffer of sixteen `u32` words, and uses -/// [`BlockRng`] to implement the [`RngCore`] methods. -/// -/// ## References -/// [^1]: Hongjun Wu (2008). ["The Stream Cipher HC-128"]( -/// http://www.ecrypt.eu.org/stream/p3ciphers/hc/hc128_p3.pdf). -/// *The eSTREAM Finalists*, LNCS 4986, pp. 39–47, Springer-Verlag. -/// -/// [^2]: [eSTREAM: the ECRYPT Stream Cipher Project]( -/// http://www.ecrypt.eu.org/stream/) -/// -/// [^3]: Hongjun Wu, [Stream Ciphers HC-128 and HC-256]( -/// https://www.ntu.edu.sg/home/wuhj/research/hc/index.html) -/// -/// [^4]: Shashwat Raizada (January 2015),["Some Results On Analysis And -/// Implementation Of HC-128 Stream Cipher"]( -/// http://library.isical.ac.in:8080/jspui/bitstream/123456789/6636/1/TH431.pdf). -/// -/// [^5]: Internet Engineering Task Force (February 2015), -/// ["Prohibiting RC4 Cipher Suites"](https://tools.ietf.org/html/rfc7465). -/// -/// [`BlockRng`]: ../rand_core/block/struct.BlockRng.html -/// [`RngCore`]: ../rand_core/trait.RngCore.html -#[derive(Clone, Debug)] -pub struct Hc128Rng(BlockRng); - -impl RngCore for Hc128Rng { - #[inline(always)] - fn next_u32(&mut self) -> u32 { - self.0.next_u32() - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - self.0.next_u64() - } - - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.0.fill_bytes(dest) - } - - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -impl SeedableRng for Hc128Rng { - type Seed = ::Seed; - - fn from_seed(seed: Self::Seed) -> Self { - Hc128Rng(BlockRng::::from_seed(seed)) - } - - fn from_rng(rng: R) -> Result { - BlockRng::::from_rng(rng).map(Hc128Rng) - } -} - -impl CryptoRng for Hc128Rng {} - -/// The core of `Hc128Rng`, used with `BlockRng`. -#[derive(Clone)] -pub struct Hc128Core { - t: [u32; 1024], - counter1024: usize, -} - -// Custom Debug implementation that does not expose the internal state -impl fmt::Debug for Hc128Core { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "Hc128Core {{}}") - } -} - -impl BlockRngCore for Hc128Core { - type Item = u32; - type Results = [u32; 16]; - - fn generate(&mut self, results: &mut Self::Results) { - assert!(self.counter1024 % 16 == 0); - - let cc = self.counter1024 % 512; - let dd = (cc + 16) % 512; - let ee = cc.wrapping_sub(16) % 512; - - if self.counter1024 & 512 == 0 { - // P block - results[0] = self.step_p(cc+0, cc+1, ee+13, ee+6, ee+4); - results[1] = self.step_p(cc+1, cc+2, ee+14, ee+7, ee+5); - results[2] = self.step_p(cc+2, cc+3, ee+15, ee+8, ee+6); - results[3] = self.step_p(cc+3, cc+4, cc+0, ee+9, ee+7); - results[4] = self.step_p(cc+4, cc+5, cc+1, ee+10, ee+8); - results[5] = self.step_p(cc+5, cc+6, cc+2, ee+11, ee+9); - results[6] = self.step_p(cc+6, cc+7, cc+3, ee+12, ee+10); - results[7] = self.step_p(cc+7, cc+8, cc+4, ee+13, ee+11); - results[8] = self.step_p(cc+8, cc+9, cc+5, ee+14, ee+12); - results[9] = self.step_p(cc+9, cc+10, cc+6, ee+15, ee+13); - results[10] = self.step_p(cc+10, cc+11, cc+7, cc+0, ee+14); - results[11] = self.step_p(cc+11, cc+12, cc+8, cc+1, ee+15); - results[12] = self.step_p(cc+12, cc+13, cc+9, cc+2, cc+0); - results[13] = self.step_p(cc+13, cc+14, cc+10, cc+3, cc+1); - results[14] = self.step_p(cc+14, cc+15, cc+11, cc+4, cc+2); - results[15] = self.step_p(cc+15, dd+0, cc+12, cc+5, cc+3); - } else { - // Q block - results[0] = self.step_q(cc+0, cc+1, ee+13, ee+6, ee+4); - results[1] = self.step_q(cc+1, cc+2, ee+14, ee+7, ee+5); - results[2] = self.step_q(cc+2, cc+3, ee+15, ee+8, ee+6); - results[3] = self.step_q(cc+3, cc+4, cc+0, ee+9, ee+7); - results[4] = self.step_q(cc+4, cc+5, cc+1, ee+10, ee+8); - results[5] = self.step_q(cc+5, cc+6, cc+2, ee+11, ee+9); - results[6] = self.step_q(cc+6, cc+7, cc+3, ee+12, ee+10); - results[7] = self.step_q(cc+7, cc+8, cc+4, ee+13, ee+11); - results[8] = self.step_q(cc+8, cc+9, cc+5, ee+14, ee+12); - results[9] = self.step_q(cc+9, cc+10, cc+6, ee+15, ee+13); - results[10] = self.step_q(cc+10, cc+11, cc+7, cc+0, ee+14); - results[11] = self.step_q(cc+11, cc+12, cc+8, cc+1, ee+15); - results[12] = self.step_q(cc+12, cc+13, cc+9, cc+2, cc+0); - results[13] = self.step_q(cc+13, cc+14, cc+10, cc+3, cc+1); - results[14] = self.step_q(cc+14, cc+15, cc+11, cc+4, cc+2); - results[15] = self.step_q(cc+15, dd+0, cc+12, cc+5, cc+3); - } - self.counter1024 = self.counter1024.wrapping_add(16); - } -} - -impl Hc128Core { - // One step of HC-128, update P and generate 32 bits keystream - #[inline(always)] - fn step_p(&mut self, i: usize, i511: usize, i3: usize, i10: usize, i12: usize) - -> u32 - { - let (p, q) = self.t.split_at_mut(512); - // FIXME: it would be great if we the bounds checks here could be - // optimized out, and we would not need unsafe. - // This improves performance by about 7%. - unsafe { - let temp0 = p.get_unchecked(i511).rotate_right(23); - let temp1 = p.get_unchecked(i3).rotate_right(10); - let temp2 = p.get_unchecked(i10).rotate_right(8); - *p.get_unchecked_mut(i) = p.get_unchecked(i) - .wrapping_add(temp2) - .wrapping_add(temp0 ^ temp1); - let temp3 = { - // The h1 function in HC-128 - let a = *p.get_unchecked(i12) as u8; - let c = (p.get_unchecked(i12) >> 16) as u8; - q[a as usize].wrapping_add(q[256 + c as usize]) - }; - temp3 ^ p.get_unchecked(i) - } - } - - // One step of HC-128, update Q and generate 32 bits keystream - // Similar to `step_p`, but `p` and `q` are swapped, and the rotates are to - // the left instead of to the right. - #[inline(always)] - fn step_q(&mut self, i: usize, i511: usize, i3: usize, i10: usize, i12: usize) - -> u32 - { - let (p, q) = self.t.split_at_mut(512); - unsafe { - let temp0 = q.get_unchecked(i511).rotate_left(23); - let temp1 = q.get_unchecked(i3).rotate_left(10); - let temp2 = q.get_unchecked(i10).rotate_left(8); - *q.get_unchecked_mut(i) = q.get_unchecked(i) - .wrapping_add(temp2) - .wrapping_add(temp0 ^ temp1); - let temp3 = { - // The h2 function in HC-128 - let a = *q.get_unchecked(i12) as u8; - let c = (q.get_unchecked(i12) >> 16) as u8; - p[a as usize].wrapping_add(p[256 + c as usize]) - }; - temp3 ^ q.get_unchecked(i) - } - } - - fn sixteen_steps(&mut self) { - assert!(self.counter1024 % 16 == 0); - - let cc = self.counter1024 % 512; - let dd = (cc + 16) % 512; - let ee = cc.wrapping_sub(16) % 512; - - if self.counter1024 < 512 { - // P block - self.t[cc+0] = self.step_p(cc+0, cc+1, ee+13, ee+6, ee+4); - self.t[cc+1] = self.step_p(cc+1, cc+2, ee+14, ee+7, ee+5); - self.t[cc+2] = self.step_p(cc+2, cc+3, ee+15, ee+8, ee+6); - self.t[cc+3] = self.step_p(cc+3, cc+4, cc+0, ee+9, ee+7); - self.t[cc+4] = self.step_p(cc+4, cc+5, cc+1, ee+10, ee+8); - self.t[cc+5] = self.step_p(cc+5, cc+6, cc+2, ee+11, ee+9); - self.t[cc+6] = self.step_p(cc+6, cc+7, cc+3, ee+12, ee+10); - self.t[cc+7] = self.step_p(cc+7, cc+8, cc+4, ee+13, ee+11); - self.t[cc+8] = self.step_p(cc+8, cc+9, cc+5, ee+14, ee+12); - self.t[cc+9] = self.step_p(cc+9, cc+10, cc+6, ee+15, ee+13); - self.t[cc+10] = self.step_p(cc+10, cc+11, cc+7, cc+0, ee+14); - self.t[cc+11] = self.step_p(cc+11, cc+12, cc+8, cc+1, ee+15); - self.t[cc+12] = self.step_p(cc+12, cc+13, cc+9, cc+2, cc+0); - self.t[cc+13] = self.step_p(cc+13, cc+14, cc+10, cc+3, cc+1); - self.t[cc+14] = self.step_p(cc+14, cc+15, cc+11, cc+4, cc+2); - self.t[cc+15] = self.step_p(cc+15, dd+0, cc+12, cc+5, cc+3); - } else { - // Q block - self.t[cc+512+0] = self.step_q(cc+0, cc+1, ee+13, ee+6, ee+4); - self.t[cc+512+1] = self.step_q(cc+1, cc+2, ee+14, ee+7, ee+5); - self.t[cc+512+2] = self.step_q(cc+2, cc+3, ee+15, ee+8, ee+6); - self.t[cc+512+3] = self.step_q(cc+3, cc+4, cc+0, ee+9, ee+7); - self.t[cc+512+4] = self.step_q(cc+4, cc+5, cc+1, ee+10, ee+8); - self.t[cc+512+5] = self.step_q(cc+5, cc+6, cc+2, ee+11, ee+9); - self.t[cc+512+6] = self.step_q(cc+6, cc+7, cc+3, ee+12, ee+10); - self.t[cc+512+7] = self.step_q(cc+7, cc+8, cc+4, ee+13, ee+11); - self.t[cc+512+8] = self.step_q(cc+8, cc+9, cc+5, ee+14, ee+12); - self.t[cc+512+9] = self.step_q(cc+9, cc+10, cc+6, ee+15, ee+13); - self.t[cc+512+10] = self.step_q(cc+10, cc+11, cc+7, cc+0, ee+14); - self.t[cc+512+11] = self.step_q(cc+11, cc+12, cc+8, cc+1, ee+15); - self.t[cc+512+12] = self.step_q(cc+12, cc+13, cc+9, cc+2, cc+0); - self.t[cc+512+13] = self.step_q(cc+13, cc+14, cc+10, cc+3, cc+1); - self.t[cc+512+14] = self.step_q(cc+14, cc+15, cc+11, cc+4, cc+2); - self.t[cc+512+15] = self.step_q(cc+15, dd+0, cc+12, cc+5, cc+3); - } - self.counter1024 += 16; - } - - // Initialize an HC-128 random number generator. The seed has to be - // 256 bits in length (`[u32; 8]`), matching the 128 bit `key` followed by - // 128 bit `iv` when HC-128 where to be used as a stream cipher. - fn init(seed: [u32; SEED_WORDS]) -> Self { - #[inline] - fn f1(x: u32) -> u32 { - x.rotate_right(7) ^ x.rotate_right(18) ^ (x >> 3) - } - - #[inline] - fn f2(x: u32) -> u32 { - x.rotate_right(17) ^ x.rotate_right(19) ^ (x >> 10) - } - - let mut t = [0u32; 1024]; - - // Expand the key and iv into P and Q - let (key, iv) = seed.split_at(4); - t[..4].copy_from_slice(key); - t[4..8].copy_from_slice(key); - t[8..12].copy_from_slice(iv); - t[12..16].copy_from_slice(iv); - - // Generate the 256 intermediate values W[16] ... W[256+16-1], and - // copy the last 16 generated values to the start op P. - for i in 16..256+16 { - t[i] = f2(t[i-2]).wrapping_add(t[i-7]).wrapping_add(f1(t[i-15])) - .wrapping_add(t[i-16]).wrapping_add(i as u32); - } - { - let (p1, p2) = t.split_at_mut(256); - p1[0..16].copy_from_slice(&p2[0..16]); - } - - // Generate both the P and Q tables - for i in 16..1024 { - t[i] = f2(t[i-2]).wrapping_add(t[i-7]).wrapping_add(f1(t[i-15])) - .wrapping_add(t[i-16]).wrapping_add(256 + i as u32); - } - - let mut core = Self { t, counter1024: 0 }; - - // run the cipher 1024 steps - for _ in 0..64 { core.sixteen_steps() }; - core.counter1024 = 0; - core - } -} - -impl SeedableRng for Hc128Core { - type Seed = [u8; SEED_WORDS*4]; - - /// Create an HC-128 random number generator with a seed. The seed has to be - /// 256 bits in length, matching the 128 bit `key` followed by 128 bit `iv` - /// when HC-128 where to be used as a stream cipher. - fn from_seed(seed: Self::Seed) -> Self { - let mut seed_u32 = [0u32; SEED_WORDS]; - le::read_u32_into(&seed, &mut seed_u32); - Self::init(seed_u32) - } -} - -impl CryptoRng for Hc128Core {} - -#[cfg(test)] -mod test { - use ::rand_core::{RngCore, SeedableRng}; - use super::Hc128Rng; - - #[test] - // Test vector 1 from the paper "The Stream Cipher HC-128" - fn test_hc128_true_values_a() { - let seed = [0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // key - 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; // iv - let mut rng = Hc128Rng::from_seed(seed); - - let mut results = [0u32; 16]; - for i in results.iter_mut() { *i = rng.next_u32(); } - let expected = [0x73150082, 0x3bfd03a0, 0xfb2fd77f, 0xaa63af0e, - 0xde122fc6, 0xa7dc29b6, 0x62a68527, 0x8b75ec68, - 0x9036db1e, 0x81896005, 0x00ade078, 0x491fbf9a, - 0x1cdc3013, 0x6c3d6e24, 0x90f664b2, 0x9cd57102]; - assert_eq!(results, expected); - } - - #[test] - // Test vector 2 from the paper "The Stream Cipher HC-128" - fn test_hc128_true_values_b() { - let seed = [0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // key - 1,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; // iv - let mut rng = Hc128Rng::from_seed(seed); - - let mut results = [0u32; 16]; - for i in results.iter_mut() { *i = rng.next_u32(); } - let expected = [0xc01893d5, 0xb7dbe958, 0x8f65ec98, 0x64176604, - 0x36fc6724, 0xc82c6eec, 0x1b1c38a7, 0xc9b42a95, - 0x323ef123, 0x0a6a908b, 0xce757b68, 0x9f14f7bb, - 0xe4cde011, 0xaeb5173f, 0x89608c94, 0xb5cf46ca]; - assert_eq!(results, expected); - } - - #[test] - // Test vector 3 from the paper "The Stream Cipher HC-128" - fn test_hc128_true_values_c() { - let seed = [0x55,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // key - 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; // iv - let mut rng = Hc128Rng::from_seed(seed); - - let mut results = [0u32; 16]; - for i in results.iter_mut() { *i = rng.next_u32(); } - let expected = [0x518251a4, 0x04b4930a, 0xb02af931, 0x0639f032, - 0xbcb4a47a, 0x5722480b, 0x2bf99f72, 0xcdc0e566, - 0x310f0c56, 0xd3cc83e8, 0x663db8ef, 0x62dfe07f, - 0x593e1790, 0xc5ceaa9c, 0xab03806f, 0xc9a6e5a0]; - assert_eq!(results, expected); - } - - #[test] - fn test_hc128_true_values_u64() { - let seed = [0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // key - 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; // iv - let mut rng = Hc128Rng::from_seed(seed); - - let mut results = [0u64; 8]; - for i in results.iter_mut() { *i = rng.next_u64(); } - let expected = [0x3bfd03a073150082, 0xaa63af0efb2fd77f, - 0xa7dc29b6de122fc6, 0x8b75ec6862a68527, - 0x818960059036db1e, 0x491fbf9a00ade078, - 0x6c3d6e241cdc3013, 0x9cd5710290f664b2]; - assert_eq!(results, expected); - - // The RNG operates in a P block of 512 results and next a Q block. - // After skipping 2*800 u32 results we end up somewhere in the Q block - // of the second round - for _ in 0..800 { rng.next_u64(); } - - for i in results.iter_mut() { *i = rng.next_u64(); } - let expected = [0xd8c4d6ca84d0fc10, 0xf16a5d91dc66e8e7, - 0xd800de5bc37a8653, 0x7bae1f88c0dfbb4c, - 0x3bfe1f374e6d4d14, 0x424b55676be3fa06, - 0xe3a1e8758cbff579, 0x417f7198c5652bcd]; - assert_eq!(results, expected); - } - - #[test] - fn test_hc128_true_values_bytes() { - let seed = [0x55,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // key - 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; // iv - let mut rng = Hc128Rng::from_seed(seed); - let expected = [0x31, 0xf9, 0x2a, 0xb0, 0x32, 0xf0, 0x39, 0x06, - 0x7a, 0xa4, 0xb4, 0xbc, 0x0b, 0x48, 0x22, 0x57, - 0x72, 0x9f, 0xf9, 0x2b, 0x66, 0xe5, 0xc0, 0xcd, - 0x56, 0x0c, 0x0f, 0x31, 0xe8, 0x83, 0xcc, 0xd3, - 0xef, 0xb8, 0x3d, 0x66, 0x7f, 0xe0, 0xdf, 0x62, - 0x90, 0x17, 0x3e, 0x59, 0x9c, 0xaa, 0xce, 0xc5, - 0x6f, 0x80, 0x03, 0xab, 0xa0, 0xe5, 0xa6, 0xc9, - 0x60, 0x95, 0x84, 0x7a, 0xa5, 0x68, 0x5a, 0x84, - 0xea, 0xd5, 0xf3, 0xea, 0x73, 0xa9, 0xad, 0x01, - 0x79, 0x7d, 0xbe, 0x9f, 0xea, 0xe3, 0xf9, 0x74, - 0x0e, 0xda, 0x2f, 0xa0, 0xe4, 0x7b, 0x4b, 0x1b, - 0xdd, 0x17, 0x69, 0x4a, 0xfe, 0x9f, 0x56, 0x95, - 0xad, 0x83, 0x6b, 0x9d, 0x60, 0xa1, 0x99, 0x96, - 0x90, 0x00, 0x66, 0x7f, 0xfa, 0x7e, 0x65, 0xe9, - 0xac, 0x8b, 0x92, 0x34, 0x77, 0xb4, 0x23, 0xd0, - 0xb9, 0xab, 0xb1, 0x47, 0x7d, 0x4a, 0x13, 0x0a]; - - // Pick a somewhat large buffer so we can test filling with the - // remainder from `state.results`, directly filling the buffer, and - // filling the remainder of the buffer. - let mut buffer = [0u8; 16*4*2]; - // Consume a value so that we have a remainder. - assert!(rng.next_u64() == 0x04b4930a518251a4); - rng.fill_bytes(&mut buffer); - - // [u8; 128] doesn't implement PartialEq - assert_eq!(buffer.len(), expected.len()); - for (b, e) in buffer.iter().zip(expected.iter()) { - assert_eq!(b, e); - } - } - - #[test] - fn test_hc128_clone() { - let seed = [0x55,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // key - 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; // iv - let mut rng1 = Hc128Rng::from_seed(seed); - let mut rng2 = rng1.clone(); - for _ in 0..16 { - assert_eq!(rng1.next_u32(), rng2.next_u32()); - } - } -} diff --git a/vendor/registry-40351f815f426200/rand_hc/src/lib.rs b/vendor/registry-40351f815f426200/rand_hc/src/lib.rs deleted file mode 100644 index 15ca34ebe..000000000 --- a/vendor/registry-40351f815f426200/rand_hc/src/lib.rs +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The HC128 random number generator. - -#![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk.png", - html_favicon_url = "https://www.rust-lang.org/favicon.ico", - html_root_url = "https://docs.rs/rand_hc/0.1.0")] - -#![deny(missing_docs)] -#![deny(missing_debug_implementations)] -#![doc(test(attr(allow(unused_variables), deny(warnings))))] - -#![no_std] - -extern crate rand_core; - -mod hc128; - -pub use hc128::{Hc128Rng, Hc128Core}; diff --git a/vendor/registry-40351f815f426200/rand_isaac/.cargo-checksum.json b/vendor/registry-40351f815f426200/rand_isaac/.cargo-checksum.json deleted file mode 100644 index c5527188f..000000000 --- a/vendor/registry-40351f815f426200/rand_isaac/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"CHANGELOG.md":"1f98689d52278352079e5235ffe00537bd3b64c1807a87d5707e3e74c7fce1d8","COPYRIGHT":"90eb64f0279b0d9432accfa6023ff803bc4965212383697eee27a0f426d5f8d5","Cargo.toml":"c3fb66104a60aa0dd91b83645be897023e7eb001aa6be108a1948999e86d2512","LICENSE-APACHE":"aaff376532ea30a0cd5330b9502ad4a4c8bf769c539c87ffe78819d188a18ebf","LICENSE-MIT":"209fbbe0ad52d9235e37badf9cadfe4dbdc87203179c0899e738b39ade42177b","README.md":"9a1c416b5930337e94fe559673a32a136d3ddd513f19dbd1b37039f8fc3501a1","src/isaac.rs":"40b00c02dc1ce29786c2e5e4c4d642588709397d6bf276a1610743b9b76ab9c6","src/isaac64.rs":"61a11f4a34dc2f009771d41c8d200c1c4815cdc23dfbe96aec03219cfeee4daa","src/isaac_array.rs":"89d20f07eb4dacd42f4cdc25b59796d51bca708f218e6e6dd4a445113b5123d6","src/lib.rs":"840a9c5a5ef2150cc4fb4a3edf34bda7e48bfaa49a3ee7ef8b182743aeaf73dd"},"package":"ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/rand_isaac/CHANGELOG.md b/vendor/registry-40351f815f426200/rand_isaac/CHANGELOG.md deleted file mode 100644 index fb1ab3f3c..000000000 --- a/vendor/registry-40351f815f426200/rand_isaac/CHANGELOG.md +++ /dev/null @@ -1,12 +0,0 @@ -# Changelog -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [0.1.1] - 2018-11-26 -- Fix `rand_core` version requirement -- Fix doc links - -## [0.1.0] - 2018-10-17 -- Pulled out of the Rand crate diff --git a/vendor/registry-40351f815f426200/rand_isaac/COPYRIGHT b/vendor/registry-40351f815f426200/rand_isaac/COPYRIGHT deleted file mode 100644 index 468d907ca..000000000 --- a/vendor/registry-40351f815f426200/rand_isaac/COPYRIGHT +++ /dev/null @@ -1,12 +0,0 @@ -Copyrights in the Rand project are retained by their contributors. No -copyright assignment is required to contribute to the Rand project. - -For full authorship information, see the version control history. - -Except as otherwise noted (below and/or in individual files), Rand is -licensed under the Apache License, Version 2.0 or - or the MIT license - or , at your option. - -The Rand project includes code from the Rust project -published under these same licenses. diff --git a/vendor/registry-40351f815f426200/rand_isaac/Cargo.toml b/vendor/registry-40351f815f426200/rand_isaac/Cargo.toml deleted file mode 100644 index 79a541dec..000000000 --- a/vendor/registry-40351f815f426200/rand_isaac/Cargo.toml +++ /dev/null @@ -1,45 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "rand_isaac" -version = "0.1.1" -authors = ["The Rand Project Developers", "The Rust Project Developers"] -description = "ISAAC random number generator\n" -homepage = "https://crates.io/crates/rand_isaac" -documentation = "https://rust-random.github.io/rand/rand_isaac" -readme = "README.md" -keywords = ["random", "rng", "isaac"] -categories = ["algorithms", "no-std"] -license = "MIT/Apache-2.0" -repository = "https://github.com/rust-random/rand" -[dependencies.rand_core] -version = "0.3" -default-features = false - -[dependencies.serde] -version = "1" -optional = true - -[dependencies.serde_derive] -version = "^1.0.38" -optional = true -[dev-dependencies.bincode] -version = "1" - -[features] -serde1 = ["serde", "serde_derive", "rand_core/serde1"] -[badges.appveyor] -repository = "rust-random/rand" - -[badges.travis-ci] -repository = "rust-random/rand" diff --git a/vendor/registry-40351f815f426200/rand_isaac/LICENSE-APACHE b/vendor/registry-40351f815f426200/rand_isaac/LICENSE-APACHE deleted file mode 100644 index 17d74680f..000000000 --- a/vendor/registry-40351f815f426200/rand_isaac/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/rand_isaac/LICENSE-MIT b/vendor/registry-40351f815f426200/rand_isaac/LICENSE-MIT deleted file mode 100644 index d93b5baf3..000000000 --- a/vendor/registry-40351f815f426200/rand_isaac/LICENSE-MIT +++ /dev/null @@ -1,26 +0,0 @@ -Copyright 2018 Developers of the Rand project -Copyright (c) 2014 The Rust Project Developers - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/rand_isaac/README.md b/vendor/registry-40351f815f426200/rand_isaac/README.md deleted file mode 100644 index 02d123033..000000000 --- a/vendor/registry-40351f815f426200/rand_isaac/README.md +++ /dev/null @@ -1,47 +0,0 @@ -# rand_isaac - -[![Build Status](https://travis-ci.org/rust-random/rand.svg)](https://travis-ci.org/rust-random/rand) -[![Build Status](https://ci.appveyor.com/api/projects/status/github/rust-random/rand?svg=true)](https://ci.appveyor.com/project/rust-random/rand) -[![Latest version](https://img.shields.io/crates/v/rand_isaac.svg)](https://crates.io/crates/rand_isaac) -[![Book](https://img.shields.io/badge/book-master-yellow.svg)](https://rust-random.github.io/book/) -[![API](https://img.shields.io/badge/api-master-yellow.svg)](https://rust-random.github.io/rand/rand_isaac) -[![API](https://docs.rs/rand_isaac/badge.svg)](https://docs.rs/rand_isaac) -[![Minimum rustc version](https://img.shields.io/badge/rustc-1.22+-lightgray.svg)](https://github.com/rust-random/rand#rust-version-requirements) - -Implements the ISAAC and ISAAC-64 random number generators. - -ISAAC stands for "Indirection, Shift, Accumulate, Add, and Count" which are -the principal bitwise operations employed. It is the most advanced of a -series of array based random number generator designed by Robert Jenkins -in 1996[^1][^2]. - -ISAAC is notably fast and produces excellent quality random numbers for -non-cryptographic applications. - -Links: - -- [API documentation (master)](https://rust-random.github.io/rand/rand_isaac) -- [API documentation (docs.rs)](https://docs.rs/rand_isaac) -- [Changelog](CHANGELOG.md) - -[rand]: https://crates.io/crates/rand -[^1]: Bob Jenkins, [*ISAAC: A fast cryptographic random number generator*](http://burtleburtle.net/bob/rand/isaacafa.html) -[^2]: Bob Jenkins, [*ISAAC and RC4*](http://burtleburtle.net/bob/rand/isaac.html) - - -## Crate Features - -`rand_isaac` is `no_std` compatible. It does not require any functionality -outside of the `core` lib, thus there are no features to configure. - -The `serde1` feature includes implementations of `Serialize` and `Deserialize` -for the included RNGs. - - -# License - -`rand_isaac` is distributed under the terms of both the MIT license and the -Apache License (Version 2.0). - -See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT), and -[COPYRIGHT](COPYRIGHT) for details. diff --git a/vendor/registry-40351f815f426200/rand_isaac/src/isaac.rs b/vendor/registry-40351f815f426200/rand_isaac/src/isaac.rs deleted file mode 100644 index 2bfdd9435..000000000 --- a/vendor/registry-40351f815f426200/rand_isaac/src/isaac.rs +++ /dev/null @@ -1,484 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2013-2018 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The ISAAC random number generator. - -use core::{fmt, slice}; -use core::num::Wrapping as w; -use rand_core::{RngCore, SeedableRng, Error, le}; -use rand_core::block::{BlockRngCore, BlockRng}; -use isaac_array::IsaacArray; - -#[allow(non_camel_case_types)] -type w32 = w; - -const RAND_SIZE_LEN: usize = 8; -const RAND_SIZE: usize = 1 << RAND_SIZE_LEN; - -/// A random number generator that uses the ISAAC algorithm. -/// -/// ISAAC stands for "Indirection, Shift, Accumulate, Add, and Count" which are -/// the principal bitwise operations employed. It is the most advanced of a -/// series of array based random number generator designed by Robert Jenkins -/// in 1996[^1][^2]. -/// -/// ISAAC is notably fast and produces excellent quality random numbers for -/// non-cryptographic applications. -/// -/// In spite of being designed with cryptographic security in mind, ISAAC hasn't -/// been stringently cryptanalyzed and thus cryptographers do not not -/// consensually trust it to be secure. When looking for a secure RNG, prefer -/// [`Hc128Rng`] instead, which, like ISAAC, is an array-based RNG and one of -/// the stream-ciphers selected the by eSTREAM contest. -/// -/// In 2006 an improvement to ISAAC was suggested by Jean-Philippe Aumasson, -/// named ISAAC+[^3]. But because the specification is not complete, because -/// there is no good implementation, and because the suggested bias may not -/// exist, it is not implemented here. -/// -/// ## Overview of the ISAAC algorithm: -/// (in pseudo-code) -/// -/// ```text -/// Input: a, b, c, s[256] // state -/// Output: r[256] // results -/// -/// mix(a,i) = a ^ a << 13 if i = 0 mod 4 -/// a ^ a >> 6 if i = 1 mod 4 -/// a ^ a << 2 if i = 2 mod 4 -/// a ^ a >> 16 if i = 3 mod 4 -/// -/// c = c + 1 -/// b = b + c -/// -/// for i in 0..256 { -/// x = s_[i] -/// a = f(a,i) + s[i+128 mod 256] -/// y = a + b + s[x>>2 mod 256] -/// s[i] = y -/// b = x + s[y>>10 mod 256] -/// r[i] = b -/// } -/// ``` -/// -/// Numbers are generated in blocks of 256. This means the function above only -/// runs once every 256 times you ask for a next random number. In all other -/// circumstances the last element of the results array is returned. -/// -/// ISAAC therefore needs a lot of memory, relative to other non-crypto RNGs. -/// 2 * 256 * 4 = 2 kb to hold the state and results. -/// -/// This implementation uses [`BlockRng`] to implement the [`RngCore`] methods. -/// -/// ## References -/// [^1]: Bob Jenkins, [*ISAAC: A fast cryptographic random number generator*]( -/// http://burtleburtle.net/bob/rand/isaacafa.html) -/// -/// [^2]: Bob Jenkins, [*ISAAC and RC4*]( -/// http://burtleburtle.net/bob/rand/isaac.html) -/// -/// [^3]: Jean-Philippe Aumasson, [*On the pseudo-random generator ISAAC*]( -/// https://eprint.iacr.org/2006/438) -/// -/// [`Hc128Rng`]: ../../rand_hc/struct.Hc128Rng.html -/// [`BlockRng`]: ../../rand_core/block/struct.BlockRng.html -/// [`RngCore`]: ../../rand_core/trait.RngCore.html -#[derive(Clone, Debug)] -#[cfg_attr(feature="serde1", derive(Serialize, Deserialize))] -pub struct IsaacRng(BlockRng); - -impl RngCore for IsaacRng { - #[inline(always)] - fn next_u32(&mut self) -> u32 { - self.0.next_u32() - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - self.0.next_u64() - } - - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.0.fill_bytes(dest) - } - - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -impl SeedableRng for IsaacRng { - type Seed = ::Seed; - - fn from_seed(seed: Self::Seed) -> Self { - IsaacRng(BlockRng::::from_seed(seed)) - } - - /// Create an ISAAC random number generator using an `u64` as seed. - /// If `seed == 0` this will produce the same stream of random numbers as - /// the reference implementation when used unseeded. - fn seed_from_u64(seed: u64) -> Self { - IsaacRng(BlockRng::::seed_from_u64(seed)) - } - - fn from_rng(rng: S) -> Result { - BlockRng::::from_rng(rng).map(|rng| IsaacRng(rng)) - } -} - -impl IsaacRng { - /// Create an ISAAC random number generator using an `u64` as seed. - /// If `seed == 0` this will produce the same stream of random numbers as - /// the reference implementation when used unseeded. - #[deprecated(since="0.6.0", note="use SeedableRng::seed_from_u64 instead")] - pub fn new_from_u64(seed: u64) -> Self { - Self::seed_from_u64(seed) - } -} - -/// The core of `IsaacRng`, used with `BlockRng`. -#[derive(Clone)] -#[cfg_attr(feature="serde1", derive(Serialize, Deserialize))] -pub struct IsaacCore { - #[cfg_attr(feature="serde1",serde(with="super::isaac_array::isaac_array_serde"))] - mem: [w32; RAND_SIZE], - a: w32, - b: w32, - c: w32, -} - -// Custom Debug implementation that does not expose the internal state -impl fmt::Debug for IsaacCore { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "IsaacCore {{}}") - } -} - -impl BlockRngCore for IsaacCore { - type Item = u32; - type Results = IsaacArray; - - /// Refills the output buffer, `results`. See also the pseudocode desciption - /// of the algorithm in the [`IsaacRng`] documentation. - /// - /// Optimisations used (similar to the reference implementation): - /// - /// - The loop is unrolled 4 times, once for every constant of mix(). - /// - The contents of the main loop are moved to a function `rngstep`, to - /// reduce code duplication. - /// - We use local variables for a and b, which helps with optimisations. - /// - We split the main loop in two, one that operates over 0..128 and one - /// over 128..256. This way we can optimise out the addition and modulus - /// from `s[i+128 mod 256]`. - /// - We maintain one index `i` and add `m` or `m2` as base (m2 for the - /// `s[i+128 mod 256]`), relying on the optimizer to turn it into pointer - /// arithmetic. - /// - We fill `results` backwards. The reference implementation reads values - /// from `results` in reverse. We read them in the normal direction, to - /// make `fill_bytes` a memcopy. To maintain compatibility we fill in - /// reverse. - /// - /// [`IsaacRng`]: struct.IsaacRng.html - fn generate(&mut self, results: &mut IsaacArray) { - self.c += w(1); - // abbreviations - let mut a = self.a; - let mut b = self.b + self.c; - const MIDPOINT: usize = RAND_SIZE / 2; - - #[inline] - fn ind(mem:&[w32; RAND_SIZE], v: w32, amount: usize) -> w32 { - let index = (v >> amount).0 as usize % RAND_SIZE; - mem[index] - } - - #[inline] - fn rngstep(mem: &mut [w32; RAND_SIZE], - results: &mut [u32; RAND_SIZE], - mix: w32, - a: &mut w32, - b: &mut w32, - base: usize, - m: usize, - m2: usize) { - let x = mem[base + m]; - *a = mix + mem[base + m2]; - let y = *a + *b + ind(&mem, x, 2); - mem[base + m] = y; - *b = x + ind(&mem, y, 2 + RAND_SIZE_LEN); - results[RAND_SIZE - 1 - base - m] = (*b).0; - } - - let mut m = 0; - let mut m2 = MIDPOINT; - for i in (0..MIDPOINT/4).map(|i| i * 4) { - rngstep(&mut self.mem, results, a ^ (a << 13), &mut a, &mut b, i + 0, m, m2); - rngstep(&mut self.mem, results, a ^ (a >> 6 ), &mut a, &mut b, i + 1, m, m2); - rngstep(&mut self.mem, results, a ^ (a << 2 ), &mut a, &mut b, i + 2, m, m2); - rngstep(&mut self.mem, results, a ^ (a >> 16), &mut a, &mut b, i + 3, m, m2); - } - - m = MIDPOINT; - m2 = 0; - for i in (0..MIDPOINT/4).map(|i| i * 4) { - rngstep(&mut self.mem, results, a ^ (a << 13), &mut a, &mut b, i + 0, m, m2); - rngstep(&mut self.mem, results, a ^ (a >> 6 ), &mut a, &mut b, i + 1, m, m2); - rngstep(&mut self.mem, results, a ^ (a << 2 ), &mut a, &mut b, i + 2, m, m2); - rngstep(&mut self.mem, results, a ^ (a >> 16), &mut a, &mut b, i + 3, m, m2); - } - - self.a = a; - self.b = b; - } -} - -impl IsaacCore { - /// Create a new ISAAC random number generator. - /// - /// The author Bob Jenkins describes how to best initialize ISAAC here: - /// - /// The answer is included here just in case: - /// - /// "No, you don't need a full 8192 bits of seed data. Normal key sizes will - /// do fine, and they should have their expected strength (eg a 40-bit key - /// will take as much time to brute force as 40-bit keys usually will). You - /// could fill the remainder with 0, but set the last array element to the - /// length of the key provided (to distinguish keys that differ only by - /// different amounts of 0 padding). You do still need to call `randinit()` - /// to make sure the initial state isn't uniform-looking." - /// "After publishing ISAAC, I wanted to limit the key to half the size of - /// `r[]`, and repeat it twice. That would have made it hard to provide a - /// key that sets the whole internal state to anything convenient. But I'd - /// already published it." - /// - /// And his answer to the question "For my code, would repeating the key - /// over and over to fill 256 integers be a better solution than - /// zero-filling, or would they essentially be the same?": - /// "If the seed is under 32 bytes, they're essentially the same, otherwise - /// repeating the seed would be stronger. randinit() takes a chunk of 32 - /// bytes, mixes it, and combines that with the next 32 bytes, et cetera. - /// Then loops over all the elements the same way a second time." - #[inline] - fn init(mut mem: [w32; RAND_SIZE], rounds: u32) -> Self { - fn mix(a: &mut w32, b: &mut w32, c: &mut w32, d: &mut w32, - e: &mut w32, f: &mut w32, g: &mut w32, h: &mut w32) { - *a ^= *b << 11; *d += *a; *b += *c; - *b ^= *c >> 2; *e += *b; *c += *d; - *c ^= *d << 8; *f += *c; *d += *e; - *d ^= *e >> 16; *g += *d; *e += *f; - *e ^= *f << 10; *h += *e; *f += *g; - *f ^= *g >> 4; *a += *f; *g += *h; - *g ^= *h << 8; *b += *g; *h += *a; - *h ^= *a >> 9; *c += *h; *a += *b; - } - - // These numbers are the result of initializing a...h with the - // fractional part of the golden ratio in binary (0x9e3779b9) - // and applying mix() 4 times. - let mut a = w(0x1367df5a); - let mut b = w(0x95d90059); - let mut c = w(0xc3163e4b); - let mut d = w(0x0f421ad8); - let mut e = w(0xd92a4a78); - let mut f = w(0xa51a3c49); - let mut g = w(0xc4efea1b); - let mut h = w(0x30609119); - - // Normally this should do two passes, to make all of the seed effect - // all of `mem` - for _ in 0..rounds { - for i in (0..RAND_SIZE/8).map(|i| i * 8) { - a += mem[i ]; b += mem[i+1]; - c += mem[i+2]; d += mem[i+3]; - e += mem[i+4]; f += mem[i+5]; - g += mem[i+6]; h += mem[i+7]; - mix(&mut a, &mut b, &mut c, &mut d, - &mut e, &mut f, &mut g, &mut h); - mem[i ] = a; mem[i+1] = b; - mem[i+2] = c; mem[i+3] = d; - mem[i+4] = e; mem[i+5] = f; - mem[i+6] = g; mem[i+7] = h; - } - } - - Self { mem, a: w(0), b: w(0), c: w(0) } - } -} - -impl SeedableRng for IsaacCore { - type Seed = [u8; 32]; - - fn from_seed(seed: Self::Seed) -> Self { - let mut seed_u32 = [0u32; 8]; - le::read_u32_into(&seed, &mut seed_u32); - // Convert the seed to `Wrapping` and zero-extend to `RAND_SIZE`. - let mut seed_extended = [w(0); RAND_SIZE]; - for (x, y) in seed_extended.iter_mut().zip(seed_u32.iter()) { - *x = w(*y); - } - Self::init(seed_extended, 2) - } - - /// Create an ISAAC random number generator using an `u64` as seed. - /// If `seed == 0` this will produce the same stream of random numbers as - /// the reference implementation when used unseeded. - fn seed_from_u64(seed: u64) -> Self { - let mut key = [w(0); RAND_SIZE]; - key[0] = w(seed as u32); - key[1] = w((seed >> 32) as u32); - // Initialize with only one pass. - // A second pass does not improve the quality here, because all of the - // seed was already available in the first round. - // Not doing the second pass has the small advantage that if - // `seed == 0` this method produces exactly the same state as the - // reference implementation when used unseeded. - Self::init(key, 1) - } - - fn from_rng(mut rng: R) -> Result { - // Custom `from_rng` implementation that fills a seed with the same size - // as the entire state. - let mut seed = [w(0u32); RAND_SIZE]; - unsafe { - let ptr = seed.as_mut_ptr() as *mut u8; - - let slice = slice::from_raw_parts_mut(ptr, RAND_SIZE * 4); - rng.try_fill_bytes(slice)?; - } - for i in seed.iter_mut() { - *i = w(i.0.to_le()); - } - - Ok(Self::init(seed, 2)) - } -} - -#[cfg(test)] -mod test { - use rand_core::{RngCore, SeedableRng}; - use super::IsaacRng; - - #[test] - fn test_isaac_construction() { - // Test that various construction techniques produce a working RNG. - let seed = [1,0,0,0, 23,0,0,0, 200,1,0,0, 210,30,0,0, - 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; - let mut rng1 = IsaacRng::from_seed(seed); - assert_eq!(rng1.next_u32(), 2869442790); - - let mut rng2 = IsaacRng::from_rng(rng1).unwrap(); - assert_eq!(rng2.next_u32(), 3094074039); - } - - #[test] - fn test_isaac_true_values_32() { - let seed = [1,0,0,0, 23,0,0,0, 200,1,0,0, 210,30,0,0, - 57,48,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; - let mut rng1 = IsaacRng::from_seed(seed); - let mut results = [0u32; 10]; - for i in results.iter_mut() { *i = rng1.next_u32(); } - let expected = [ - 2558573138, 873787463, 263499565, 2103644246, 3595684709, - 4203127393, 264982119, 2765226902, 2737944514, 3900253796]; - assert_eq!(results, expected); - - let seed = [57,48,0,0, 50,9,1,0, 49,212,0,0, 148,38,0,0, - 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; - let mut rng2 = IsaacRng::from_seed(seed); - // skip forward to the 10000th number - for _ in 0..10000 { rng2.next_u32(); } - - for i in results.iter_mut() { *i = rng2.next_u32(); } - let expected = [ - 3676831399, 3183332890, 2834741178, 3854698763, 2717568474, - 1576568959, 3507990155, 179069555, 141456972, 2478885421]; - assert_eq!(results, expected); - } - - #[test] - fn test_isaac_true_values_64() { - // As above, using little-endian versions of above values - let seed = [1,0,0,0, 23,0,0,0, 200,1,0,0, 210,30,0,0, - 57,48,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; - let mut rng = IsaacRng::from_seed(seed); - let mut results = [0u64; 5]; - for i in results.iter_mut() { *i = rng.next_u64(); } - let expected = [ - 3752888579798383186, 9035083239252078381,18052294697452424037, - 11876559110374379111, 16751462502657800130]; - assert_eq!(results, expected); - } - - #[test] - fn test_isaac_true_bytes() { - let seed = [1,0,0,0, 23,0,0,0, 200,1,0,0, 210,30,0,0, - 57,48,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; - let mut rng = IsaacRng::from_seed(seed); - let mut results = [0u8; 32]; - rng.fill_bytes(&mut results); - // Same as first values in test_isaac_true_values as bytes in LE order - let expected = [82, 186, 128, 152, 71, 240, 20, 52, - 45, 175, 180, 15, 86, 16, 99, 125, - 101, 203, 81, 214, 97, 162, 134, 250, - 103, 78, 203, 15, 150, 3, 210, 164]; - assert_eq!(results, expected); - } - - #[test] - fn test_isaac_new_uninitialized() { - // Compare the results from initializing `IsaacRng` with - // `seed_from_u64(0)`, to make sure it is the same as the reference - // implementation when used uninitialized. - // Note: We only test the first 16 integers, not the full 256 of the - // first block. - let mut rng = IsaacRng::seed_from_u64(0); - let mut results = [0u32; 16]; - for i in results.iter_mut() { *i = rng.next_u32(); } - let expected: [u32; 16] = [ - 0x71D71FD2, 0xB54ADAE7, 0xD4788559, 0xC36129FA, - 0x21DC1EA9, 0x3CB879CA, 0xD83B237F, 0xFA3CE5BD, - 0x8D048509, 0xD82E9489, 0xDB452848, 0xCA20E846, - 0x500F972E, 0x0EEFF940, 0x00D6B993, 0xBC12C17F]; - assert_eq!(results, expected); - } - - #[test] - fn test_isaac_clone() { - let seed = [1,0,0,0, 23,0,0,0, 200,1,0,0, 210,30,0,0, - 57,48,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; - let mut rng1 = IsaacRng::from_seed(seed); - let mut rng2 = rng1.clone(); - for _ in 0..16 { - assert_eq!(rng1.next_u32(), rng2.next_u32()); - } - } - - #[test] - #[cfg(feature="serde1")] - fn test_isaac_serde() { - use bincode; - use std::io::{BufWriter, BufReader}; - - let seed = [1,0,0,0, 23,0,0,0, 200,1,0,0, 210,30,0,0, - 57,48,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; - let mut rng = IsaacRng::from_seed(seed); - - let buf: Vec = Vec::new(); - let mut buf = BufWriter::new(buf); - bincode::serialize_into(&mut buf, &rng).expect("Could not serialize"); - - let buf = buf.into_inner().unwrap(); - let mut read = BufReader::new(&buf[..]); - let mut deserialized: IsaacRng = bincode::deserialize_from(&mut read).expect("Could not deserialize"); - - for _ in 0..300 { // more than the 256 buffered results - assert_eq!(rng.next_u32(), deserialized.next_u32()); - } - } -} diff --git a/vendor/registry-40351f815f426200/rand_isaac/src/isaac64.rs b/vendor/registry-40351f815f426200/rand_isaac/src/isaac64.rs deleted file mode 100644 index 2712762ab..000000000 --- a/vendor/registry-40351f815f426200/rand_isaac/src/isaac64.rs +++ /dev/null @@ -1,481 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2013-2018 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The ISAAC-64 random number generator. - -use core::{fmt, slice}; -use core::num::Wrapping as w; -use rand_core::{RngCore, SeedableRng, Error, le}; -use rand_core::block::{BlockRngCore, BlockRng64}; -use isaac_array::IsaacArray; - -#[allow(non_camel_case_types)] -type w64 = w; - -const RAND_SIZE_LEN: usize = 8; -const RAND_SIZE: usize = 1 << RAND_SIZE_LEN; - -/// A random number generator that uses ISAAC-64, the 64-bit variant of the -/// ISAAC algorithm. -/// -/// ISAAC stands for "Indirection, Shift, Accumulate, Add, and Count" which are -/// the principal bitwise operations employed. It is the most advanced of a -/// series of array based random number generator designed by Robert Jenkins -/// in 1996[^1]. -/// -/// ISAAC-64 is mostly similar to ISAAC. Because it operates on 64-bit integers -/// instead of 32-bit, it uses twice as much memory to hold its state and -/// results. Also it uses different constants for shifts and indirect indexing, -/// optimized to give good results for 64bit arithmetic. -/// -/// ISAAC-64 is notably fast and produces excellent quality random numbers for -/// non-cryptographic applications. -/// -/// In spite of being designed with cryptographic security in mind, ISAAC hasn't -/// been stringently cryptanalyzed and thus cryptographers do not not -/// consensually trust it to be secure. When looking for a secure RNG, prefer -/// [`Hc128Rng`] instead, which, like ISAAC, is an array-based RNG and one of -/// the stream-ciphers selected the by eSTREAM contest. -/// -/// ## Overview of the ISAAC-64 algorithm: -/// (in pseudo-code) -/// -/// ```text -/// Input: a, b, c, s[256] // state -/// Output: r[256] // results -/// -/// mix(a,i) = !(a ^ a << 21) if i = 0 mod 4 -/// a ^ a >> 5 if i = 1 mod 4 -/// a ^ a << 12 if i = 2 mod 4 -/// a ^ a >> 33 if i = 3 mod 4 -/// -/// c = c + 1 -/// b = b + c -/// -/// for i in 0..256 { -/// x = s_[i] -/// a = mix(a,i) + s[i+128 mod 256] -/// y = a + b + s[x>>3 mod 256] -/// s[i] = y -/// b = x + s[y>>11 mod 256] -/// r[i] = b -/// } -/// ``` -/// -/// This implementation uses [`BlockRng64`] to implement the [`RngCore`] methods. -/// -/// See for more information the documentation of [`IsaacRng`]. -/// -/// [^1]: Bob Jenkins, [*ISAAC and RC4*]( -/// http://burtleburtle.net/bob/rand/isaac.html) -/// -/// [`IsaacRng`]: ../isaac/struct.IsaacRng.html -/// [`Hc128Rng`]: ../../rand_hc/struct.Hc128Rng.html -/// [`BlockRng64`]: ../../rand_core/block/struct.BlockRng64.html -/// [`RngCore`]: ../../rand_core/trait.RngCore.html -#[derive(Clone, Debug)] -#[cfg_attr(feature="serde1", derive(Serialize, Deserialize))] -pub struct Isaac64Rng(BlockRng64); - -impl RngCore for Isaac64Rng { - #[inline(always)] - fn next_u32(&mut self) -> u32 { - self.0.next_u32() - } - - #[inline(always)] - fn next_u64(&mut self) -> u64 { - self.0.next_u64() - } - - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.0.fill_bytes(dest) - } - - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.0.try_fill_bytes(dest) - } -} - -impl SeedableRng for Isaac64Rng { - type Seed = ::Seed; - - fn from_seed(seed: Self::Seed) -> Self { - Isaac64Rng(BlockRng64::::from_seed(seed)) - } - - /// Create an ISAAC random number generator using an `u64` as seed. - /// If `seed == 0` this will produce the same stream of random numbers as - /// the reference implementation when used unseeded. - fn seed_from_u64(seed: u64) -> Self { - Isaac64Rng(BlockRng64::::seed_from_u64(seed)) - } - - fn from_rng(rng: S) -> Result { - BlockRng64::::from_rng(rng).map(|rng| Isaac64Rng(rng)) - } -} - -impl Isaac64Rng { - /// Create an ISAAC-64 random number generator using an `u64` as seed. - /// If `seed == 0` this will produce the same stream of random numbers as - /// the reference implementation when used unseeded. - #[deprecated(since="0.6.0", note="use SeedableRng::seed_from_u64 instead")] - pub fn new_from_u64(seed: u64) -> Self { - Self::seed_from_u64(seed) - } -} - -/// The core of `Isaac64Rng`, used with `BlockRng`. -#[derive(Clone)] -#[cfg_attr(feature="serde1", derive(Serialize, Deserialize))] -pub struct Isaac64Core { - #[cfg_attr(feature="serde1",serde(with="super::isaac_array::isaac_array_serde"))] - mem: [w64; RAND_SIZE], - a: w64, - b: w64, - c: w64, -} - -// Custom Debug implementation that does not expose the internal state -impl fmt::Debug for Isaac64Core { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "Isaac64Core {{}}") - } -} - -impl BlockRngCore for Isaac64Core { - type Item = u64; - type Results = IsaacArray; - - /// Refills the output buffer, `results`. See also the pseudocode desciption - /// of the algorithm in the [`Isaac64Rng`] documentation. - /// - /// Optimisations used (similar to the reference implementation): - /// - /// - The loop is unrolled 4 times, once for every constant of mix(). - /// - The contents of the main loop are moved to a function `rngstep`, to - /// reduce code duplication. - /// - We use local variables for a and b, which helps with optimisations. - /// - We split the main loop in two, one that operates over 0..128 and one - /// over 128..256. This way we can optimise out the addition and modulus - /// from `s[i+128 mod 256]`. - /// - We maintain one index `i` and add `m` or `m2` as base (m2 for the - /// `s[i+128 mod 256]`), relying on the optimizer to turn it into pointer - /// arithmetic. - /// - We fill `results` backwards. The reference implementation reads values - /// from `results` in reverse. We read them in the normal direction, to - /// make `fill_bytes` a memcopy. To maintain compatibility we fill in - /// reverse. - /// - /// [`Isaac64Rng`]: struct.Isaac64Rng.html - fn generate(&mut self, results: &mut IsaacArray) { - self.c += w(1); - // abbreviations - let mut a = self.a; - let mut b = self.b + self.c; - const MIDPOINT: usize = RAND_SIZE / 2; - - #[inline] - fn ind(mem:&[w64; RAND_SIZE], v: w64, amount: usize) -> w64 { - let index = (v >> amount).0 as usize % RAND_SIZE; - mem[index] - } - - #[inline] - fn rngstep(mem: &mut [w64; RAND_SIZE], - results: &mut [u64; RAND_SIZE], - mix: w64, - a: &mut w64, - b: &mut w64, - base: usize, - m: usize, - m2: usize) { - let x = mem[base + m]; - *a = mix + mem[base + m2]; - let y = *a + *b + ind(&mem, x, 3); - mem[base + m] = y; - *b = x + ind(&mem, y, 3 + RAND_SIZE_LEN); - results[RAND_SIZE - 1 - base - m] = (*b).0; - } - - let mut m = 0; - let mut m2 = MIDPOINT; - for i in (0..MIDPOINT/4).map(|i| i * 4) { - rngstep(&mut self.mem, results, !(a ^ (a << 21)), &mut a, &mut b, i + 0, m, m2); - rngstep(&mut self.mem, results, a ^ (a >> 5 ), &mut a, &mut b, i + 1, m, m2); - rngstep(&mut self.mem, results, a ^ (a << 12), &mut a, &mut b, i + 2, m, m2); - rngstep(&mut self.mem, results, a ^ (a >> 33), &mut a, &mut b, i + 3, m, m2); - } - - m = MIDPOINT; - m2 = 0; - for i in (0..MIDPOINT/4).map(|i| i * 4) { - rngstep(&mut self.mem, results, !(a ^ (a << 21)), &mut a, &mut b, i + 0, m, m2); - rngstep(&mut self.mem, results, a ^ (a >> 5 ), &mut a, &mut b, i + 1, m, m2); - rngstep(&mut self.mem, results, a ^ (a << 12), &mut a, &mut b, i + 2, m, m2); - rngstep(&mut self.mem, results, a ^ (a >> 33), &mut a, &mut b, i + 3, m, m2); - } - - self.a = a; - self.b = b; - } -} - -impl Isaac64Core { - /// Create a new ISAAC-64 random number generator. - fn init(mut mem: [w64; RAND_SIZE], rounds: u32) -> Self { - fn mix(a: &mut w64, b: &mut w64, c: &mut w64, d: &mut w64, - e: &mut w64, f: &mut w64, g: &mut w64, h: &mut w64) { - *a -= *e; *f ^= *h >> 9; *h += *a; - *b -= *f; *g ^= *a << 9; *a += *b; - *c -= *g; *h ^= *b >> 23; *b += *c; - *d -= *h; *a ^= *c << 15; *c += *d; - *e -= *a; *b ^= *d >> 14; *d += *e; - *f -= *b; *c ^= *e << 20; *e += *f; - *g -= *c; *d ^= *f >> 17; *f += *g; - *h -= *d; *e ^= *g << 14; *g += *h; - } - - // These numbers are the result of initializing a...h with the - // fractional part of the golden ratio in binary (0x9e3779b97f4a7c13) - // and applying mix() 4 times. - let mut a = w(0x647c4677a2884b7c); - let mut b = w(0xb9f8b322c73ac862); - let mut c = w(0x8c0ea5053d4712a0); - let mut d = w(0xb29b2e824a595524); - let mut e = w(0x82f053db8355e0ce); - let mut f = w(0x48fe4a0fa5a09315); - let mut g = w(0xae985bf2cbfc89ed); - let mut h = w(0x98f5704f6c44c0ab); - - // Normally this should do two passes, to make all of the seed effect - // all of `mem` - for _ in 0..rounds { - for i in (0..RAND_SIZE/8).map(|i| i * 8) { - a += mem[i ]; b += mem[i+1]; - c += mem[i+2]; d += mem[i+3]; - e += mem[i+4]; f += mem[i+5]; - g += mem[i+6]; h += mem[i+7]; - mix(&mut a, &mut b, &mut c, &mut d, - &mut e, &mut f, &mut g, &mut h); - mem[i ] = a; mem[i+1] = b; - mem[i+2] = c; mem[i+3] = d; - mem[i+4] = e; mem[i+5] = f; - mem[i+6] = g; mem[i+7] = h; - } - } - - Self { mem, a: w(0), b: w(0), c: w(0) } - } - - /// Create an ISAAC-64 random number generator using an `u64` as seed. - /// If `seed == 0` this will produce the same stream of random numbers as - /// the reference implementation when used unseeded. - #[deprecated(since="0.6.0", note="use SeedableRng::seed_from_u64 instead")] - pub fn new_from_u64(seed: u64) -> Self { - Self::seed_from_u64(seed) - } -} - -impl SeedableRng for Isaac64Core { - type Seed = [u8; 32]; - - fn from_seed(seed: Self::Seed) -> Self { - let mut seed_u64 = [0u64; 4]; - le::read_u64_into(&seed, &mut seed_u64); - // Convert the seed to `Wrapping` and zero-extend to `RAND_SIZE`. - let mut seed_extended = [w(0); RAND_SIZE]; - for (x, y) in seed_extended.iter_mut().zip(seed_u64.iter()) { - *x = w(*y); - } - Self::init(seed_extended, 2) - } - - fn seed_from_u64(seed: u64) -> Self { - let mut key = [w(0); RAND_SIZE]; - key[0] = w(seed); - // Initialize with only one pass. - // A second pass does not improve the quality here, because all of the - // seed was already available in the first round. - // Not doing the second pass has the small advantage that if - // `seed == 0` this method produces exactly the same state as the - // reference implementation when used unseeded. - Self::init(key, 1) - } - - fn from_rng(mut rng: R) -> Result { - // Custom `from_rng` implementation that fills a seed with the same size - // as the entire state. - let mut seed = [w(0u64); RAND_SIZE]; - unsafe { - let ptr = seed.as_mut_ptr() as *mut u8; - let slice = slice::from_raw_parts_mut(ptr, RAND_SIZE * 8); - rng.try_fill_bytes(slice)?; - } - for i in seed.iter_mut() { - *i = w(i.0.to_le()); - } - - Ok(Self::init(seed, 2)) - } -} - -#[cfg(test)] -mod test { - use rand_core::{RngCore, SeedableRng}; - use super::Isaac64Rng; - - #[test] - fn test_isaac64_construction() { - // Test that various construction techniques produce a working RNG. - let seed = [1,0,0,0, 23,0,0,0, 200,1,0,0, 210,30,0,0, - 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; - let mut rng1 = Isaac64Rng::from_seed(seed); - assert_eq!(rng1.next_u64(), 14964555543728284049); - - let mut rng2 = Isaac64Rng::from_rng(rng1).unwrap(); - assert_eq!(rng2.next_u64(), 919595328260451758); - } - - #[test] - fn test_isaac64_true_values_64() { - let seed = [1,0,0,0, 0,0,0,0, 23,0,0,0, 0,0,0,0, - 200,1,0,0, 0,0,0,0, 210,30,0,0, 0,0,0,0]; - let mut rng1 = Isaac64Rng::from_seed(seed); - let mut results = [0u64; 10]; - for i in results.iter_mut() { *i = rng1.next_u64(); } - let expected = [ - 15071495833797886820, 7720185633435529318, - 10836773366498097981, 5414053799617603544, - 12890513357046278984, 17001051845652595546, - 9240803642279356310, 12558996012687158051, - 14673053937227185542, 1677046725350116783]; - assert_eq!(results, expected); - - let seed = [57,48,0,0, 0,0,0,0, 50,9,1,0, 0,0,0,0, - 49,212,0,0, 0,0,0,0, 148,38,0,0, 0,0,0,0]; - let mut rng2 = Isaac64Rng::from_seed(seed); - // skip forward to the 10000th number - for _ in 0..10000 { rng2.next_u64(); } - - for i in results.iter_mut() { *i = rng2.next_u64(); } - let expected = [ - 18143823860592706164, 8491801882678285927, 2699425367717515619, - 17196852593171130876, 2606123525235546165, 15790932315217671084, - 596345674630742204, 9947027391921273664, 11788097613744130851, - 10391409374914919106]; - assert_eq!(results, expected); - } - - #[test] - fn test_isaac64_true_values_32() { - let seed = [1,0,0,0, 0,0,0,0, 23,0,0,0, 0,0,0,0, - 200,1,0,0, 0,0,0,0, 210,30,0,0, 0,0,0,0]; - let mut rng = Isaac64Rng::from_seed(seed); - let mut results = [0u32; 12]; - for i in results.iter_mut() { *i = rng.next_u32(); } - // Subset of above values, as an LE u32 sequence - let expected = [ - 3477963620, 3509106075, - 687845478, 1797495790, - 227048253, 2523132918, - 4044335064, 1260557630, - 4079741768, 3001306521, - 69157722, 3958365844]; - assert_eq!(results, expected); - } - - #[test] - fn test_isaac64_true_values_mixed() { - let seed = [1,0,0,0, 0,0,0,0, 23,0,0,0, 0,0,0,0, - 200,1,0,0, 0,0,0,0, 210,30,0,0, 0,0,0,0]; - let mut rng = Isaac64Rng::from_seed(seed); - // Test alternating between `next_u64` and `next_u32` works as expected. - // Values are the same as `test_isaac64_true_values` and - // `test_isaac64_true_values_32`. - assert_eq!(rng.next_u64(), 15071495833797886820); - assert_eq!(rng.next_u32(), 687845478); - assert_eq!(rng.next_u32(), 1797495790); - assert_eq!(rng.next_u64(), 10836773366498097981); - assert_eq!(rng.next_u32(), 4044335064); - // Skip one u32 - assert_eq!(rng.next_u64(), 12890513357046278984); - assert_eq!(rng.next_u32(), 69157722); - } - - #[test] - fn test_isaac64_true_bytes() { - let seed = [1,0,0,0, 0,0,0,0, 23,0,0,0, 0,0,0,0, - 200,1,0,0, 0,0,0,0, 210,30,0,0, 0,0,0,0]; - let mut rng = Isaac64Rng::from_seed(seed); - let mut results = [0u8; 32]; - rng.fill_bytes(&mut results); - // Same as first values in test_isaac64_true_values as bytes in LE order - let expected = [100, 131, 77, 207, 155, 181, 40, 209, - 102, 176, 255, 40, 238, 155, 35, 107, - 61, 123, 136, 13, 246, 243, 99, 150, - 216, 167, 15, 241, 62, 149, 34, 75]; - assert_eq!(results, expected); - } - - #[test] - fn test_isaac64_new_uninitialized() { - // Compare the results from initializing `IsaacRng` with - // `seed_from_u64(0)`, to make sure it is the same as the reference - // implementation when used uninitialized. - // Note: We only test the first 16 integers, not the full 256 of the - // first block. - let mut rng = Isaac64Rng::seed_from_u64(0); - let mut results = [0u64; 16]; - for i in results.iter_mut() { *i = rng.next_u64(); } - let expected: [u64; 16] = [ - 0xF67DFBA498E4937C, 0x84A5066A9204F380, 0xFEE34BD5F5514DBB, - 0x4D1664739B8F80D6, 0x8607459AB52A14AA, 0x0E78BC5A98529E49, - 0xFE5332822AD13777, 0x556C27525E33D01A, 0x08643CA615F3149F, - 0xD0771FAF3CB04714, 0x30E86F68A37B008D, 0x3074EBC0488A3ADF, - 0x270645EA7A2790BC, 0x5601A0A8D3763C6A, 0x2F83071F53F325DD, - 0xB9090F3D42D2D2EA]; - assert_eq!(results, expected); - } - - #[test] - fn test_isaac64_clone() { - let seed = [1,0,0,0, 0,0,0,0, 23,0,0,0, 0,0,0,0, - 200,1,0,0, 0,0,0,0, 210,30,0,0, 0,0,0,0]; - let mut rng1 = Isaac64Rng::from_seed(seed); - let mut rng2 = rng1.clone(); - for _ in 0..16 { - assert_eq!(rng1.next_u64(), rng2.next_u64()); - } - } - - #[test] - #[cfg(feature="serde1")] - fn test_isaac64_serde() { - use bincode; - use std::io::{BufWriter, BufReader}; - - let seed = [1,0,0,0, 23,0,0,0, 200,1,0,0, 210,30,0,0, - 57,48,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; - let mut rng = Isaac64Rng::from_seed(seed); - - let buf: Vec = Vec::new(); - let mut buf = BufWriter::new(buf); - bincode::serialize_into(&mut buf, &rng).expect("Could not serialize"); - - let buf = buf.into_inner().unwrap(); - let mut read = BufReader::new(&buf[..]); - let mut deserialized: Isaac64Rng = bincode::deserialize_from(&mut read).expect("Could not deserialize"); - - for _ in 0..300 { // more than the 256 buffered results - assert_eq!(rng.next_u64(), deserialized.next_u64()); - } - } -} diff --git a/vendor/registry-40351f815f426200/rand_isaac/src/isaac_array.rs b/vendor/registry-40351f815f426200/rand_isaac/src/isaac_array.rs deleted file mode 100644 index 0fa614707..000000000 --- a/vendor/registry-40351f815f426200/rand_isaac/src/isaac_array.rs +++ /dev/null @@ -1,136 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2017-2018 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! ISAAC helper functions for 256-element arrays. - -// Terrible workaround because arrays with more than 32 elements do not -// implement `AsRef`, `Default`, `Serialize`, `Deserialize`, or any other -// traits for that matter. - -#[cfg(feature="serde1")] use serde::{Serialize, Deserialize}; - -const RAND_SIZE_LEN: usize = 8; -const RAND_SIZE: usize = 1 << RAND_SIZE_LEN; - - -#[derive(Copy, Clone)] -#[allow(missing_debug_implementations)] -#[cfg_attr(feature="serde1", derive(Serialize, Deserialize))] -pub struct IsaacArray { - #[cfg_attr(feature="serde1",serde(with="isaac_array_serde"))] - #[cfg_attr(feature="serde1", serde(bound( - serialize = "T: Serialize", - deserialize = "T: Deserialize<'de> + Copy + Default")))] - inner: [T; RAND_SIZE] -} - -impl ::core::convert::AsRef<[T]> for IsaacArray { - #[inline(always)] - fn as_ref(&self) -> &[T] { - &self.inner[..] - } -} - -impl ::core::convert::AsMut<[T]> for IsaacArray { - #[inline(always)] - fn as_mut(&mut self) -> &mut [T] { - &mut self.inner[..] - } -} - -impl ::core::ops::Deref for IsaacArray { - type Target = [T; RAND_SIZE]; - #[inline(always)] - fn deref(&self) -> &Self::Target { - &self.inner - } -} - -impl ::core::ops::DerefMut for IsaacArray { - #[inline(always)] - fn deref_mut(&mut self) -> &mut [T; RAND_SIZE] { - &mut self.inner - } -} - -impl ::core::default::Default for IsaacArray where T: Copy + Default { - fn default() -> IsaacArray { - IsaacArray { inner: [T::default(); RAND_SIZE] } - } -} - - -#[cfg(feature="serde1")] -pub(super) mod isaac_array_serde { - const RAND_SIZE_LEN: usize = 8; - const RAND_SIZE: usize = 1 << RAND_SIZE_LEN; - - use serde::{Deserialize, Deserializer, Serialize, Serializer}; - use serde::de::{Visitor,SeqAccess}; - use serde::de; - - use core::fmt; - - pub fn serialize(arr: &[T;RAND_SIZE], ser: S) -> Result - where - T: Serialize, - S: Serializer - { - use serde::ser::SerializeTuple; - - let mut seq = ser.serialize_tuple(RAND_SIZE)?; - - for e in arr.iter() { - seq.serialize_element(&e)?; - } - - seq.end() - } - - #[inline] - pub fn deserialize<'de, T, D>(de: D) -> Result<[T;RAND_SIZE], D::Error> - where - T: Deserialize<'de>+Default+Copy, - D: Deserializer<'de>, - { - use core::marker::PhantomData; - struct ArrayVisitor { - _pd: PhantomData, - }; - impl<'de,T> Visitor<'de> for ArrayVisitor - where - T: Deserialize<'de>+Default+Copy - { - type Value = [T; RAND_SIZE]; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("Isaac state array") - } - - #[inline] - fn visit_seq(self, mut seq: A) -> Result<[T; RAND_SIZE], A::Error> - where - A: SeqAccess<'de>, - { - let mut out = [Default::default();RAND_SIZE]; - - for i in 0..RAND_SIZE { - match seq.next_element()? { - Some(val) => out[i] = val, - None => return Err(de::Error::invalid_length(i, &self)), - }; - } - - Ok(out) - } - } - - de.deserialize_tuple(RAND_SIZE, ArrayVisitor{_pd: PhantomData}) - } -} diff --git a/vendor/registry-40351f815f426200/rand_isaac/src/lib.rs b/vendor/registry-40351f815f426200/rand_isaac/src/lib.rs deleted file mode 100644 index ec82d8e7b..000000000 --- a/vendor/registry-40351f815f426200/rand_isaac/src/lib.rs +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The ISAAC and ISAAC-64 random number generators. - -#![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk.png", - html_favicon_url = "https://www.rust-lang.org/favicon.ico", - html_root_url = "https://rust-random.github.io/rand/")] - -#![deny(missing_docs)] -#![deny(missing_debug_implementations)] -#![doc(test(attr(allow(unused_variables), deny(warnings))))] - -#![cfg_attr(not(all(feature="serde1", test)), no_std)] - -extern crate rand_core; - -#[cfg(feature="serde1")] extern crate serde; -#[cfg(feature="serde1")] #[macro_use] extern crate serde_derive; - -// To test serialization we need bincode and the standard library -#[cfg(all(feature="serde1", test))] extern crate bincode; -#[cfg(all(feature="serde1", test))] extern crate std as core; - -pub mod isaac; -pub mod isaac64; - -mod isaac_array; - -pub use self::isaac::IsaacRng; -pub use self::isaac64::Isaac64Rng; diff --git a/vendor/registry-40351f815f426200/rand_jitter/.cargo-checksum.json b/vendor/registry-40351f815f426200/rand_jitter/.cargo-checksum.json deleted file mode 100644 index bf9633612..000000000 --- a/vendor/registry-40351f815f426200/rand_jitter/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"CHANGELOG.md":"dd1714225c7cca47c349ddbca2b5ab8a546e0c7b1c52cf05cafca1e05c48f2b0","COPYRIGHT":"90eb64f0279b0d9432accfa6023ff803bc4965212383697eee27a0f426d5f8d5","Cargo.toml":"d524ddfe62a9ca58ff86d9ad37532081bae35bfcca2a1e68ca0ffaf0e981d477","LICENSE-APACHE":"aaff376532ea30a0cd5330b9502ad4a4c8bf769c539c87ffe78819d188a18ebf","LICENSE-MIT":"209fbbe0ad52d9235e37badf9cadfe4dbdc87203179c0899e738b39ade42177b","README.md":"7b685b3204fc1bb9a09b40eb586bf55358f076b276866c1c2afb20f57e8357b2","benches/mod.rs":"caea9aa8c327d4af18eeabe798cf7919d5f64225c3e5f4685814592a1595b9bf","src/dummy_log.rs":"4e26589c18de568b7da7f0ccc9b77bb430961739a6510c2b043a43dee300c6fa","src/error.rs":"e632a67e30528bed8c2a74b04b04e4e67f6c184d21234d74cc28f5f292e47666","src/lib.rs":"6655eb8d1fba653dda788c885ae380b017e6482baa6e2885019d33dbd829b0e6","src/platform.rs":"8c7b75567a28391176de17a3df2a8c6b3517f2c1f044b792db50de19844e9660","tests/mod.rs":"f3f99c64b250b2ddea43e724c47497de3d68cbaf05a0a8a255d360861cd979ec"},"package":"1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/rand_jitter/CHANGELOG.md b/vendor/registry-40351f815f426200/rand_jitter/CHANGELOG.md deleted file mode 100644 index bbb21dcbf..000000000 --- a/vendor/registry-40351f815f426200/rand_jitter/CHANGELOG.md +++ /dev/null @@ -1,21 +0,0 @@ -# Changelog -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [0.1.4] - 2019-05-02 -- Change error conversion code to partially fix #738 - -## [0.1.3] - 2019-02-05 -- Use libc in `no_std` mode to fix #723 - -## [0.1.2] - 2019-01-31 -- Fix for older rustc compilers on Windows (#722) - -## [0.1.1] - 2019-01-29 -- Fix for older rustc compilers on Mac OSX / iOS (#720) -- Misc. doc fixes - -## [0.1.0] - 2019-01-24 -Initial release. diff --git a/vendor/registry-40351f815f426200/rand_jitter/COPYRIGHT b/vendor/registry-40351f815f426200/rand_jitter/COPYRIGHT deleted file mode 100644 index 468d907ca..000000000 --- a/vendor/registry-40351f815f426200/rand_jitter/COPYRIGHT +++ /dev/null @@ -1,12 +0,0 @@ -Copyrights in the Rand project are retained by their contributors. No -copyright assignment is required to contribute to the Rand project. - -For full authorship information, see the version control history. - -Except as otherwise noted (below and/or in individual files), Rand is -licensed under the Apache License, Version 2.0 or - or the MIT license - or , at your option. - -The Rand project includes code from the Rust project -published under these same licenses. diff --git a/vendor/registry-40351f815f426200/rand_jitter/Cargo.toml b/vendor/registry-40351f815f426200/rand_jitter/Cargo.toml deleted file mode 100644 index 387b8073f..000000000 --- a/vendor/registry-40351f815f426200/rand_jitter/Cargo.toml +++ /dev/null @@ -1,42 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g., crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "rand_jitter" -version = "0.1.4" -authors = ["The Rand Project Developers"] -description = "Random number generator based on timing jitter" -documentation = "https://docs.rs/rand_jitter" -readme = "README.md" -keywords = ["random", "rng", "os"] -license = "MIT OR Apache-2.0" -repository = "https://github.com/rust-random/rand" -[dependencies.log] -version = "0.4" -optional = true - -[dependencies.rand_core] -version = "0.4" - -[features] -std = ["rand_core/std"] -[target."cfg(any(target_os = \"macos\", target_os = \"ios\"))".dependencies.libc] -version = "0.2" -default_features = false -[target."cfg(target_os = \"windows\")".dependencies.winapi] -version = "0.3" -features = ["profileapi"] -[badges.appveyor] -repository = "rust-random/rand" - -[badges.travis-ci] -repository = "rust-random/rand" diff --git a/vendor/registry-40351f815f426200/rand_jitter/LICENSE-APACHE b/vendor/registry-40351f815f426200/rand_jitter/LICENSE-APACHE deleted file mode 100644 index 17d74680f..000000000 --- a/vendor/registry-40351f815f426200/rand_jitter/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/rand_jitter/LICENSE-MIT b/vendor/registry-40351f815f426200/rand_jitter/LICENSE-MIT deleted file mode 100644 index d93b5baf3..000000000 --- a/vendor/registry-40351f815f426200/rand_jitter/LICENSE-MIT +++ /dev/null @@ -1,26 +0,0 @@ -Copyright 2018 Developers of the Rand project -Copyright (c) 2014 The Rust Project Developers - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/rand_jitter/README.md b/vendor/registry-40351f815f426200/rand_jitter/README.md deleted file mode 100644 index 8e0805fae..000000000 --- a/vendor/registry-40351f815f426200/rand_jitter/README.md +++ /dev/null @@ -1,104 +0,0 @@ -# rand_jitter -[![Build Status](https://travis-ci.org/rust-random/rand.svg?branch=master)](https://travis-ci.org/rust-random/rand) -[![Build Status](https://ci.appveyor.com/api/projects/status/github/rust-random/rand?svg=true)](https://ci.appveyor.com/project/rust-random/rand) -[![Latest version](https://img.shields.io/crates/v/rand_jitter.svg)](https://crates.io/crates/rand_jitter) -[![Book](https://img.shields.io/badge/book-master-yellow.svg)](https://rust-random.github.io/book/) -[![API](https://img.shields.io/badge/api-master-yellow.svg)](https://rust-random.github.io/rand/rand_jitter) -[![API](https://docs.rs/rand_jitter/badge.svg)](https://docs.rs/rand_jitter) -[![Minimum rustc version](https://img.shields.io/badge/rustc-1.32+-lightgray.svg)](https://github.com/rust-random/rand#rust-version-requirements) - -Non-physical true random number generator based on timing jitter. - -This crate depends on [rand_core](https://crates.io/crates/rand_core) and is -part of the [Rand project](https://github.com/rust-random/rand). - -This crate aims to support all of Rust's `std` platforms with a system-provided -entropy source. Unlike other Rand crates, this crate does not support `no_std` -(handling this gracefully is a current discussion topic). - -Links: - -- [API documentation (master)](https://rust-random.github.io/rand/rand_jitter) -- [API documentation (docs.rs)](https://docs.rs/rand_jitter) -- [Changelog](CHANGELOG.md) - -## Features - -This crate has optional `std` support which is *disabled by default*; -this feature is required to provide the `JitterRng::new` function; -without `std` support a timer must be supplied via `JitterRng::new_with_timer`. - -## Quality testing - -`JitterRng::new()` has build-in, but limited, quality testing, however -before using `JitterRng` on untested hardware, or after changes that could -effect how the code is optimized (such as a new LLVM version), it is -recommend to run the much more stringent -[NIST SP 800-90B Entropy Estimation Suite](https://github.com/usnistgov/SP800-90B_EntropyAssessment). - -Use the following code using `timer_stats` to collect the data: - -```rust -use rand_jitter::JitterRng; - -use std::error::Error; -use std::fs::File; -use std::io::Write; - -fn main() -> Result<(), Box> { - let mut rng = JitterRng::new()?; - - // 1_000_000 results are required for the - // NIST SP 800-90B Entropy Estimation Suite - const ROUNDS: usize = 1_000_000; - let mut deltas_variable: Vec = Vec::with_capacity(ROUNDS); - let mut deltas_minimal: Vec = Vec::with_capacity(ROUNDS); - - for _ in 0..ROUNDS { - deltas_variable.push(rng.timer_stats(true) as u8); - deltas_minimal.push(rng.timer_stats(false) as u8); - } - - // Write out after the statistics collection loop, to not disturb the - // test results. - File::create("jitter_rng_var.bin")?.write(&deltas_variable)?; - File::create("jitter_rng_min.bin")?.write(&deltas_minimal)?; - Ok(()) -} -``` - -This will produce two files: `jitter_rng_var.bin` and `jitter_rng_min.bin`. -Run the Entropy Estimation Suite in three configurations, as outlined below. -Every run has two steps. One step to produce an estimation, another to -validate the estimation. - -1. Estimate the expected amount of entropy that is at least available with - each round of the entropy collector. This number should be greater than - the amount estimated with `64 / test_timer()`. - ```sh - python noniid_main.py -v jitter_rng_var.bin 8 - restart.py -v jitter_rng_var.bin 8 - ``` -2. Estimate the expected amount of entropy that is available in the last 4 - bits of the timer delta after running noice sources. Note that a value of - `3.70` is the minimum estimated entropy for true randomness. - ```sh - python noniid_main.py -v -u 4 jitter_rng_var.bin 4 - restart.py -v -u 4 jitter_rng_var.bin 4 - ``` -3. Estimate the expected amount of entropy that is available to the entropy - collector if both noise sources only run their minimal number of times. - This measures the absolute worst-case, and gives a lower bound for the - available entropy. - ```sh - python noniid_main.py -v -u 4 jitter_rng_min.bin 4 - restart.py -v -u 4 jitter_rng_min.bin 4 - ``` - -## License - -`rand_jitter` is distributed under the terms of both the MIT license and the -Apache License (Version 2.0). - -See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT), and -[COPYRIGHT](COPYRIGHT) for details. diff --git a/vendor/registry-40351f815f426200/rand_jitter/benches/mod.rs b/vendor/registry-40351f815f426200/rand_jitter/benches/mod.rs deleted file mode 100644 index 23b34472b..000000000 --- a/vendor/registry-40351f815f426200/rand_jitter/benches/mod.rs +++ /dev/null @@ -1,18 +0,0 @@ -#![feature(test)] -extern crate test; -extern crate rand_jitter; - -use test::Bencher; -use rand_jitter::rand_core::RngCore; - -#[bench] -fn bench_add_two(b: &mut Bencher) { - let mut rng = rand_jitter::JitterRng::new().unwrap(); - let mut buf = [0u8; 1024]; - b.iter(|| { - rng.fill_bytes(&mut buf[..]); - test::black_box(&buf); - }); - b.bytes = buf.len() as u64; -} - diff --git a/vendor/registry-40351f815f426200/rand_jitter/src/dummy_log.rs b/vendor/registry-40351f815f426200/rand_jitter/src/dummy_log.rs deleted file mode 100644 index ccfe4baef..000000000 --- a/vendor/registry-40351f815f426200/rand_jitter/src/dummy_log.rs +++ /dev/null @@ -1,10 +0,0 @@ -#[allow(unused)] -macro_rules! trace { ($($x:tt)*) => () } -#[allow(unused)] -macro_rules! debug { ($($x:tt)*) => () } -#[allow(unused)] -macro_rules! info { ($($x:tt)*) => () } -#[allow(unused)] -macro_rules! warn { ($($x:tt)*) => () } -#[allow(unused)] -macro_rules! error { ($($x:tt)*) => () } diff --git a/vendor/registry-40351f815f426200/rand_jitter/src/error.rs b/vendor/registry-40351f815f426200/rand_jitter/src/error.rs deleted file mode 100644 index a3483e84d..000000000 --- a/vendor/registry-40351f815f426200/rand_jitter/src/error.rs +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2013-2015 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -use rand_core::{Error, ErrorKind}; -use core::fmt; - -/// An error that can occur when [`JitterRng::test_timer`] fails. -/// -/// [`JitterRng::test_timer`]: crate::JitterRng::test_timer -#[derive(Debug, Clone, PartialEq, Eq)] -pub enum TimerError { - /// No timer available. - NoTimer, - /// Timer too coarse to use as an entropy source. - CoarseTimer, - /// Timer is not monotonically increasing. - NotMonotonic, - /// Variations of deltas of time too small. - TinyVariantions, - /// Too many stuck results (indicating no added entropy). - TooManyStuck, - #[doc(hidden)] - __Nonexhaustive, -} - -impl TimerError { - fn description(&self) -> &'static str { - match *self { - TimerError::NoTimer => "no timer available", - TimerError::CoarseTimer => "coarse timer", - TimerError::NotMonotonic => "timer not monotonic", - TimerError::TinyVariantions => "time delta variations too small", - TimerError::TooManyStuck => "too many stuck results", - TimerError::__Nonexhaustive => unreachable!(), - } - } -} - -impl fmt::Display for TimerError { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "{}", self.description()) - } -} - -#[cfg(feature = "std")] -impl ::std::error::Error for TimerError { - fn description(&self) -> &str { - self.description() - } -} - -impl From for Error { - fn from(err: TimerError) -> Error { - // Timer check is already quite permissive of failures so we don't - // expect false-positive failures, i.e. any error is irrecoverable. - #[cfg(feature = "std")] { - Error::with_cause(ErrorKind::Unavailable, "timer jitter failed basic quality tests", err) - } - #[cfg(not(feature = "std"))] { - Error::new(ErrorKind::Unavailable, "timer jitter failed basic quality tests") - } - } -} - diff --git a/vendor/registry-40351f815f426200/rand_jitter/src/lib.rs b/vendor/registry-40351f815f426200/rand_jitter/src/lib.rs deleted file mode 100644 index 338a6b966..000000000 --- a/vendor/registry-40351f815f426200/rand_jitter/src/lib.rs +++ /dev/null @@ -1,718 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. -// -// Based on jitterentropy-library, http://www.chronox.de/jent.html. -// Copyright Stephan Mueller , 2014 - 2017. -// -// With permission from Stephan Mueller to relicense the Rust translation under -// the MIT license. - -//! Non-physical true random number generator based on timing jitter. -//! -//! This is a true random number generator, as opposed to pseudo-random -//! generators. Random numbers generated by `JitterRng` can be seen as fresh -//! entropy. A consequence is that it is orders of magnitude slower than `OsRng` -//! and PRNGs (about 103..106 slower). -//! -//! There are very few situations where using this RNG is appropriate. Only very -//! few applications require true entropy. A normal PRNG can be statistically -//! indistinguishable, and a cryptographic PRNG should also be as impossible to -//! predict. -//! -//! Use of `JitterRng` is recommended for initializing cryptographic PRNGs when -//! `OsRng` is not available. -//! -//! `JitterRng` can be used without the standard library, but not conveniently, -//! you must provide a high-precision timer and carefully have to follow the -//! instructions of [`JitterRng::new_with_timer`]. -//! -//! This implementation is based on [Jitterentropy] version 2.1.0. -//! -//! Note: There is no accurate timer available on WASM platforms, to help -//! prevent fingerprinting or timing side-channel attacks. Therefore -//! [`JitterRng::new()`] is not available on WASM. It is also unavailable -//! with disabled `std` feature. -//! -//! [Jitterentropy]: http://www.chronox.de/jent.html - -#![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk.png", - html_favicon_url = "https://www.rust-lang.org/favicon.ico", - html_root_url = "https://rust-random.github.io/rand/")] - -#![deny(missing_docs)] -#![deny(missing_debug_implementations)] -#![doc(test(attr(allow(unused_variables), deny(warnings))))] - -// Note: the C implementation of `Jitterentropy` relies on being compiled -// without optimizations. This implementation goes through lengths to make the -// compiler not optimize out code which does influence timing jitter, but is -// technically dead code. -#![no_std] -pub extern crate rand_core; -#[cfg(feature = "std")] -extern crate std; -#[cfg(feature = "log")] -#[macro_use] extern crate log; -#[cfg(any(target_os = "macos", target_os = "ios"))] -extern crate libc; -#[cfg(target_os = "windows")] -extern crate winapi; - - -#[cfg(not(feature = "log"))] -#[macro_use] mod dummy_log; -#[cfg(feature = "std")] -mod platform; -mod error; - -use rand_core::{RngCore, CryptoRng, Error, impls}; -pub use error::TimerError; - -use core::{fmt, mem, ptr}; -#[cfg(feature = "std")] -use std::sync::atomic::{AtomicUsize, Ordering}; -#[cfg(feature = "std")] -#[allow(deprecated)] // Required for compatibility with Rust < 1.24. -use std::sync::atomic::ATOMIC_USIZE_INIT; - -const MEMORY_BLOCKS: usize = 64; -const MEMORY_BLOCKSIZE: usize = 32; -const MEMORY_SIZE: usize = MEMORY_BLOCKS * MEMORY_BLOCKSIZE; - -/// A true random number generator based on jitter in the CPU execution time, -/// and jitter in memory access time. -pub struct JitterRng { - data: u64, // Actual random number - // Number of rounds to run the entropy collector per 64 bits - rounds: u8, - // Timer used by `measure_jitter` - timer: fn() -> u64, - // Memory for the Memory Access noise source - mem_prev_index: u16, - // Make `next_u32` not waste 32 bits - data_half_used: bool, -} - -// Note: `JitterRng` maintains a small 64-bit entropy pool. With every -// `generate` 64 new bits should be integrated in the pool. If a round of -// `generate` were to collect less than the expected 64 bit, then the returned -// value, and the new state of the entropy pool, would be in some way related to -// the initial state. It is therefore better if the initial state of the entropy -// pool is different on each call to `generate`. This has a few implications: -// - `generate` should be called once before using `JitterRng` to produce the -// first usable value (this is done by default in `new`); -// - We do not zero the entropy pool after generating a result. The reference -// implementation also does not support zeroing, but recommends generating a -// new value without using it if you want to protect a previously generated -// 'secret' value from someone inspecting the memory; -// - Implementing `Clone` seems acceptable, as it would not cause the systematic -// bias a constant might cause. Only instead of one value that could be -// potentially related to the same initial state, there are now two. - -// Entropy collector state. -// These values are not necessary to preserve across runs. -struct EcState { - // Previous time stamp to determine the timer delta - prev_time: u64, - // Deltas used for the stuck test - last_delta: i32, - last_delta2: i32, - // Memory for the Memory Access noise source - mem: [u8; MEMORY_SIZE], -} - -impl EcState { - // Stuck test by checking the: - // - 1st derivation of the jitter measurement (time delta) - // - 2nd derivation of the jitter measurement (delta of time deltas) - // - 3rd derivation of the jitter measurement (delta of delta of time - // deltas) - // - // All values must always be non-zero. - // This test is a heuristic to see whether the last measurement holds - // entropy. - fn stuck(&mut self, current_delta: i32) -> bool { - let delta2 = self.last_delta - current_delta; - let delta3 = delta2 - self.last_delta2; - - self.last_delta = current_delta; - self.last_delta2 = delta2; - - current_delta == 0 || delta2 == 0 || delta3 == 0 - } -} - -// Custom Debug implementation that does not expose the internal state -impl fmt::Debug for JitterRng { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "JitterRng {{}}") - } -} - -impl Clone for JitterRng { - fn clone(&self) -> JitterRng { - JitterRng { - data: self.data, - rounds: self.rounds, - timer: self.timer, - mem_prev_index: self.mem_prev_index, - // The 32 bits that may still be unused from the previous round are - // for the original to use, not for the clone. - data_half_used: false, - } - } -} - -// Initialise to zero; must be positive -#[cfg(all(feature = "std", not(target_arch = "wasm32")))] -#[allow(deprecated)] -static JITTER_ROUNDS: AtomicUsize = ATOMIC_USIZE_INIT; - -impl JitterRng { - /// Create a new `JitterRng`. Makes use of `std::time` for a timer, or a - /// platform-specific function with higher accuracy if necessary and - /// available. - /// - /// During initialization CPU execution timing jitter is measured a few - /// hundred times. If this does not pass basic quality tests, an error is - /// returned. The test result is cached to make subsequent calls faster. - #[cfg(all(feature = "std", not(target_arch = "wasm32")))] - pub fn new() -> Result { - if cfg!(target_arch = "wasm32") { - return Err(TimerError::NoTimer); - } - let mut state = JitterRng::new_with_timer(platform::get_nstime); - let mut rounds = JITTER_ROUNDS.load(Ordering::Relaxed) as u8; - if rounds == 0 { - // No result yet: run test. - // This allows the timer test to run multiple times; we don't care. - rounds = state.test_timer()?; - JITTER_ROUNDS.store(rounds as usize, Ordering::Relaxed); - info!("JitterRng: using {} rounds per u64 output", rounds); - } - state.set_rounds(rounds); - - // Fill `data` with a non-zero value. - state.gen_entropy(); - Ok(state) - } - - /// Create a new `JitterRng`. - /// A custom timer can be supplied, making it possible to use `JitterRng` in - /// `no_std` environments. - /// - /// The timer must have nanosecond precision. - /// - /// This method is more low-level than `new()`. It is the responsibility of - /// the caller to run [`test_timer`] before using any numbers generated with - /// `JitterRng`, and optionally call [`set_rounds`]. Also it is important to - /// consume at least one `u64` before using the first result to initialize - /// the entropy collection pool. - /// - /// # Example - /// - /// ``` - /// # use rand_jitter::rand_core::{RngCore, Error}; - /// use rand_jitter::JitterRng; - /// - /// # fn try_inner() -> Result<(), Error> { - /// fn get_nstime() -> u64 { - /// use std::time::{SystemTime, UNIX_EPOCH}; - /// - /// let dur = SystemTime::now().duration_since(UNIX_EPOCH).unwrap(); - /// // The correct way to calculate the current time is - /// // `dur.as_secs() * 1_000_000_000 + dur.subsec_nanos() as u64` - /// // But this is faster, and the difference in terms of entropy is - /// // negligible (log2(10^9) == 29.9). - /// dur.as_secs() << 30 | dur.subsec_nanos() as u64 - /// } - /// - /// let mut rng = JitterRng::new_with_timer(get_nstime); - /// let rounds = rng.test_timer()?; - /// rng.set_rounds(rounds); // optional - /// let _ = rng.next_u64(); - /// - /// // Ready for use - /// let v: u64 = rng.next_u64(); - /// # Ok(()) - /// # } - /// - /// # let _ = try_inner(); - /// ``` - /// - /// [`test_timer`]: JitterRng::test_timer - /// [`set_rounds`]: JitterRng::set_rounds - pub fn new_with_timer(timer: fn() -> u64) -> JitterRng { - JitterRng { - data: 0, - rounds: 64, - timer, - mem_prev_index: 0, - data_half_used: false, - } - } - - /// Configures how many rounds are used to generate each 64-bit value. - /// This must be greater than zero, and has a big impact on performance - /// and output quality. - /// - /// [`new_with_timer`] conservatively uses 64 rounds, but often less rounds - /// can be used. The `test_timer()` function returns the minimum number of - /// rounds required for full strength (platform dependent), so one may use - /// `rng.set_rounds(rng.test_timer()?);` or cache the value. - /// - /// [`new_with_timer`]: JitterRng::new_with_timer - pub fn set_rounds(&mut self, rounds: u8) { - assert!(rounds > 0); - self.rounds = rounds; - } - - // Calculate a random loop count used for the next round of an entropy - // collection, based on bits from a fresh value from the timer. - // - // The timer is folded to produce a number that contains at most `n_bits` - // bits. - // - // Note: A constant should be added to the resulting random loop count to - // prevent loops that run 0 times. - #[inline(never)] - fn random_loop_cnt(&mut self, n_bits: u32) -> u32 { - let mut rounds = 0; - - let mut time = (self.timer)(); - // Mix with the current state of the random number balance the random - // loop counter a bit more. - time ^= self.data; - - // We fold the time value as much as possible to ensure that as many - // bits of the time stamp are included as possible. - let folds = (64 + n_bits - 1) / n_bits; - let mask = (1 << n_bits) - 1; - for _ in 0..folds { - rounds ^= time & mask; - time >>= n_bits; - } - - rounds as u32 - } - - // CPU jitter noise source - // Noise source based on the CPU execution time jitter - // - // This function injects the individual bits of the time value into the - // entropy pool using an LFSR. - // - // The code is deliberately inefficient with respect to the bit shifting. - // This function not only acts as folding operation, but this function's - // execution is used to measure the CPU execution time jitter. Any change to - // the loop in this function implies that careful retesting must be done. - #[inline(never)] - fn lfsr_time(&mut self, time: u64, var_rounds: bool) { - fn lfsr(mut data: u64, time: u64) -> u64{ - for i in 1..65 { - let mut tmp = time << (64 - i); - tmp >>= 64 - 1; - - // Fibonacci LSFR with polynomial of - // x^64 + x^61 + x^56 + x^31 + x^28 + x^23 + 1 which is - // primitive according to - // http://poincare.matf.bg.ac.rs/~ezivkovm/publications/primpol1.pdf - // (the shift values are the polynomial values minus one - // due to counting bits from 0 to 63). As the current - // position is always the LSB, the polynomial only needs - // to shift data in from the left without wrap. - data ^= tmp; - data ^= (data >> 63) & 1; - data ^= (data >> 60) & 1; - data ^= (data >> 55) & 1; - data ^= (data >> 30) & 1; - data ^= (data >> 27) & 1; - data ^= (data >> 22) & 1; - data = data.rotate_left(1); - } - data - } - - // Note: in the reference implementation only the last round effects - // `self.data`, all the other results are ignored. To make sure the - // other rounds are not optimised out, we first run all but the last - // round on a throw-away value instead of the real `self.data`. - let mut lfsr_loop_cnt = 0; - if var_rounds { lfsr_loop_cnt = self.random_loop_cnt(4) }; - - let mut throw_away: u64 = 0; - for _ in 0..lfsr_loop_cnt { - throw_away = lfsr(throw_away, time); - } - black_box(throw_away); - - self.data = lfsr(self.data, time); - } - - // Memory Access noise source - // This is a noise source based on variations in memory access times - // - // This function performs memory accesses which will add to the timing - // variations due to an unknown amount of CPU wait states that need to be - // added when accessing memory. The memory size should be larger than the L1 - // caches as outlined in the documentation and the associated testing. - // - // The L1 cache has a very high bandwidth, albeit its access rate is usually - // slower than accessing CPU registers. Therefore, L1 accesses only add - // minimal variations as the CPU has hardly to wait. Starting with L2, - // significant variations are added because L2 typically does not belong to - // the CPU any more and therefore a wider range of CPU wait states is - // necessary for accesses. L3 and real memory accesses have even a wider - // range of wait states. However, to reliably access either L3 or memory, - // the `self.mem` memory must be quite large which is usually not desirable. - #[inline(never)] - fn memaccess(&mut self, mem: &mut [u8; MEMORY_SIZE], var_rounds: bool) { - let mut acc_loop_cnt = 128; - if var_rounds { acc_loop_cnt += self.random_loop_cnt(4) }; - - let mut index = self.mem_prev_index as usize; - for _ in 0..acc_loop_cnt { - // Addition of memblocksize - 1 to index with wrap around logic to - // ensure that every memory location is hit evenly. - // The modulus also allows the compiler to remove the indexing - // bounds check. - index = (index + MEMORY_BLOCKSIZE - 1) % MEMORY_SIZE; - - // memory access: just add 1 to one byte - // memory access implies read from and write to memory location - mem[index] = mem[index].wrapping_add(1); - } - self.mem_prev_index = index as u16; - } - - // This is the heart of the entropy generation: calculate time deltas and - // use the CPU jitter in the time deltas. The jitter is injected into the - // entropy pool. - // - // Ensure that `ec.prev_time` is primed before using the output of this - // function. This can be done by calling this function and not using its - // result. - fn measure_jitter(&mut self, ec: &mut EcState) -> Option<()> { - // Invoke one noise source before time measurement to add variations - self.memaccess(&mut ec.mem, true); - - // Get time stamp and calculate time delta to previous - // invocation to measure the timing variations - let time = (self.timer)(); - // Note: wrapping_sub combined with a cast to `i64` generates a correct - // delta, even in the unlikely case this is a timer that is not strictly - // monotonic. - let current_delta = time.wrapping_sub(ec.prev_time) as i64 as i32; - ec.prev_time = time; - - // Call the next noise source which also injects the data - self.lfsr_time(current_delta as u64, true); - - // Check whether we have a stuck measurement (i.e. does the last - // measurement holds entropy?). - if ec.stuck(current_delta) { return None }; - - // Rotate the data buffer by a prime number (any odd number would - // do) to ensure that every bit position of the input time stamp - // has an even chance of being merged with a bit position in the - // entropy pool. We do not use one here as the adjacent bits in - // successive time deltas may have some form of dependency. The - // chosen value of 7 implies that the low 7 bits of the next - // time delta value is concatenated with the current time delta. - self.data = self.data.rotate_left(7); - - Some(()) - } - - // Shuffle the pool a bit by mixing some value with a bijective function - // (XOR) into the pool. - // - // The function generates a mixer value that depends on the bits set and - // the location of the set bits in the random number generated by the - // entropy source. Therefore, based on the generated random number, this - // mixer value can have 2^64 different values. That mixer value is - // initialized with the first two SHA-1 constants. After obtaining the - // mixer value, it is XORed into the random number. - // - // The mixer value is not assumed to contain any entropy. But due to the - // XOR operation, it can also not destroy any entropy present in the - // entropy pool. - #[inline(never)] - fn stir_pool(&mut self) { - // This constant is derived from the first two 32 bit initialization - // vectors of SHA-1 as defined in FIPS 180-4 section 5.3.1 - // The order does not really matter as we do not rely on the specific - // numbers. We just pick the SHA-1 constants as they have a good mix of - // bit set and unset. - const CONSTANT: u64 = 0x67452301efcdab89; - - // The start value of the mixer variable is derived from the third - // and fourth 32 bit initialization vector of SHA-1 as defined in - // FIPS 180-4 section 5.3.1 - let mut mixer = 0x98badcfe10325476; - - // This is a constant time function to prevent leaking timing - // information about the random number. - // The normal code is: - // ``` - // for i in 0..64 { - // if ((self.data >> i) & 1) == 1 { mixer ^= CONSTANT; } - // } - // ``` - // This is a bit fragile, as LLVM really wants to use branches here, and - // we rely on it to not recognise the opportunity. - for i in 0..64 { - let apply = (self.data >> i) & 1; - let mask = !apply.wrapping_sub(1); - mixer ^= CONSTANT & mask; - mixer = mixer.rotate_left(1); - } - - self.data ^= mixer; - } - - fn gen_entropy(&mut self) -> u64 { - trace!("JitterRng: collecting entropy"); - - // Prime `ec.prev_time`, and run the noice sources to make sure the - // first loop round collects the expected entropy. - let mut ec = EcState { - prev_time: (self.timer)(), - last_delta: 0, - last_delta2: 0, - mem: [0; MEMORY_SIZE], - }; - let _ = self.measure_jitter(&mut ec); - - for _ in 0..self.rounds { - // If a stuck measurement is received, repeat measurement - // Note: we do not guard against an infinite loop, that would mean - // the timer suddenly became broken. - while self.measure_jitter(&mut ec).is_none() {} - } - - // Do a single read from `self.mem` to make sure the Memory Access noise - // source is not optimised out. - black_box(ec.mem[0]); - - self.stir_pool(); - self.data - } - - /// Basic quality tests on the timer, by measuring CPU timing jitter a few - /// hundred times. - /// - /// If successful, this will return the estimated number of rounds necessary - /// to collect 64 bits of entropy. Otherwise a [`TimerError`] with the cause - /// of the failure will be returned. - pub fn test_timer(&mut self) -> Result { - debug!("JitterRng: testing timer ..."); - // We could add a check for system capabilities such as `clock_getres` - // or check for `CONFIG_X86_TSC`, but it does not make much sense as the - // following sanity checks verify that we have a high-resolution timer. - - let mut delta_sum = 0; - let mut old_delta = 0; - - let mut time_backwards = 0; - let mut count_mod = 0; - let mut count_stuck = 0; - - let mut ec = EcState { - prev_time: (self.timer)(), - last_delta: 0, - last_delta2: 0, - mem: [0; MEMORY_SIZE], - }; - - // TESTLOOPCOUNT needs some loops to identify edge systems. - // 100 is definitely too little. - const TESTLOOPCOUNT: u64 = 300; - const CLEARCACHE: u64 = 100; - - for i in 0..(CLEARCACHE + TESTLOOPCOUNT) { - // Measure time delta of core entropy collection logic - let time = (self.timer)(); - self.memaccess(&mut ec.mem, true); - self.lfsr_time(time, true); - let time2 = (self.timer)(); - - // Test whether timer works - if time == 0 || time2 == 0 { - return Err(TimerError::NoTimer); - } - let delta = time2.wrapping_sub(time) as i64 as i32; - - // Test whether timer is fine grained enough to provide delta even - // when called shortly after each other -- this implies that we also - // have a high resolution timer - if delta == 0 { - return Err(TimerError::CoarseTimer); - } - - // Up to here we did not modify any variable that will be - // evaluated later, but we already performed some work. Thus we - // already have had an impact on the caches, branch prediction, - // etc. with the goal to clear it to get the worst case - // measurements. - if i < CLEARCACHE { continue; } - - if ec.stuck(delta) { count_stuck += 1; } - - // Test whether we have an increasing timer. - if !(time2 > time) { time_backwards += 1; } - - // Count the number of times the counter increases in steps of 100ns - // or greater. - if (delta % 100) == 0 { count_mod += 1; } - - // Ensure that we have a varying delta timer which is necessary for - // the calculation of entropy -- perform this check only after the - // first loop is executed as we need to prime the old_delta value - delta_sum += (delta - old_delta).abs() as u64; - old_delta = delta; - } - - // Do a single read from `self.mem` to make sure the Memory Access noise - // source is not optimised out. - black_box(ec.mem[0]); - - // We allow the time to run backwards for up to three times. - // This can happen if the clock is being adjusted by NTP operations. - // If such an operation just happens to interfere with our test, it - // should not fail. The value of 3 should cover the NTP case being - // performed during our test run. - if time_backwards > 3 { - return Err(TimerError::NotMonotonic); - } - - // Test that the available amount of entropy per round does not get to - // low. We expect 1 bit of entropy per round as a reasonable minimum - // (although less is possible, it means the collector loop has to run - // much more often). - // `assert!(delta_average >= log2(1))` - // `assert!(delta_sum / TESTLOOPCOUNT >= 1)` - // `assert!(delta_sum >= TESTLOOPCOUNT)` - if delta_sum < TESTLOOPCOUNT { - return Err(TimerError::TinyVariantions); - } - - // Ensure that we have variations in the time stamp below 100 for at - // least 10% of all checks -- on some platforms, the counter increments - // in multiples of 100, but not always - if count_mod > (TESTLOOPCOUNT * 9 / 10) { - return Err(TimerError::CoarseTimer); - } - - // If we have more than 90% stuck results, then this Jitter RNG is - // likely to not work well. - if count_stuck > (TESTLOOPCOUNT * 9 / 10) { - return Err(TimerError::TooManyStuck); - } - - // Estimate the number of `measure_jitter` rounds necessary for 64 bits - // of entropy. - // - // We don't try very hard to come up with a good estimate of the - // available bits of entropy per round here for two reasons: - // 1. Simple estimates of the available bits (like Shannon entropy) are - // too optimistic. - // 2. Unless we want to waste a lot of time during intialization, there - // only a small number of samples are available. - // - // Therefore we use a very simple and conservative estimate: - // `let bits_of_entropy = log2(delta_average) / 2`. - // - // The number of rounds `measure_jitter` should run to collect 64 bits - // of entropy is `64 / bits_of_entropy`. - let delta_average = delta_sum / TESTLOOPCOUNT; - - if delta_average >= 16 { - let log2 = 64 - delta_average.leading_zeros(); - // Do something similar to roundup(64/(log2/2)): - Ok( ((64u32 * 2 + log2 - 1) / log2) as u8) - } else { - // For values < 16 the rounding error becomes too large, use a - // lookup table. - // Values 0 and 1 are invalid, and filtered out by the - // `delta_sum < TESTLOOPCOUNT` test above. - let log2_lookup = [0, 0, 128, 81, 64, 56, 50, 46, - 43, 41, 39, 38, 36, 35, 34, 33]; - Ok(log2_lookup[delta_average as usize]) - } - } - - /// Statistical test: return the timer delta of one normal run of the - /// `JitterRng` entropy collector. - /// - /// Setting `var_rounds` to `true` will execute the memory access and the - /// CPU jitter noice sources a variable amount of times (just like a real - /// `JitterRng` round). - /// - /// Setting `var_rounds` to `false` will execute the noice sources the - /// minimal number of times. This can be used to measure the minimum amount - /// of entropy one round of the entropy collector can collect in the worst - /// case. - /// - /// See this crate's README on how to use `timer_stats` to test the quality - /// of `JitterRng`. - pub fn timer_stats(&mut self, var_rounds: bool) -> i64 { - let mut mem = [0; MEMORY_SIZE]; - - let time = (self.timer)(); - self.memaccess(&mut mem, var_rounds); - self.lfsr_time(time, var_rounds); - let time2 = (self.timer)(); - time2.wrapping_sub(time) as i64 - } -} - -// A function that is opaque to the optimizer to assist in avoiding dead-code -// elimination. Taken from `bencher`. -fn black_box(dummy: T) -> T { - unsafe { - let ret = ptr::read_volatile(&dummy); - mem::forget(dummy); - ret - } -} - -impl RngCore for JitterRng { - fn next_u32(&mut self) -> u32 { - // We want to use both parts of the generated entropy - if self.data_half_used { - self.data_half_used = false; - (self.data >> 32) as u32 - } else { - self.data = self.next_u64(); - self.data_half_used = true; - self.data as u32 - } - } - - fn next_u64(&mut self) -> u64 { - self.data_half_used = false; - self.gen_entropy() - } - - fn fill_bytes(&mut self, dest: &mut [u8]) { - // Fill using `next_u32`. This is faster for filling small slices (four - // bytes or less), while the overhead is negligible. - // - // This is done especially for wrappers that implement `next_u32` - // themselves via `fill_bytes`. - impls::fill_bytes_via_next(self, dest) - } - - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - Ok(self.fill_bytes(dest)) - } -} - -impl CryptoRng for JitterRng {} - diff --git a/vendor/registry-40351f815f426200/rand_jitter/src/platform.rs b/vendor/registry-40351f815f426200/rand_jitter/src/platform.rs deleted file mode 100644 index 8e3d0fb22..000000000 --- a/vendor/registry-40351f815f426200/rand_jitter/src/platform.rs +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2013-2015 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -#[cfg(not(any(target_os = "macos", target_os = "ios", target_os = "windows")))] -pub fn get_nstime() -> u64 { - use std::time::{SystemTime, UNIX_EPOCH}; - - let dur = SystemTime::now().duration_since(UNIX_EPOCH).unwrap(); - // The correct way to calculate the current time is - // `dur.as_secs() * 1_000_000_000 + dur.subsec_nanos() as u64` - // But this is faster, and the difference in terms of entropy is - // negligible (log2(10^9) == 29.9). - dur.as_secs() << 30 | dur.subsec_nanos() as u64 -} - -#[cfg(any(target_os = "macos", target_os = "ios"))] -pub fn get_nstime() -> u64 { - use libc; - - // On Mac OS and iOS std::time::SystemTime only has 1000ns resolution. - // We use `mach_absolute_time` instead. This provides a CPU dependent - // unit, to get real nanoseconds the result should by multiplied by - // numer/denom from `mach_timebase_info`. - // But we are not interested in the exact nanoseconds, just entropy. So - // we use the raw result. - unsafe { libc::mach_absolute_time() } -} - -#[cfg(target_os = "windows")] -pub fn get_nstime() -> u64 { - use winapi; - - unsafe { - let mut t = super::mem::zeroed(); - winapi::um::profileapi::QueryPerformanceCounter(&mut t); - *t.QuadPart() as u64 - } -} diff --git a/vendor/registry-40351f815f426200/rand_jitter/tests/mod.rs b/vendor/registry-40351f815f426200/rand_jitter/tests/mod.rs deleted file mode 100644 index 6820c2080..000000000 --- a/vendor/registry-40351f815f426200/rand_jitter/tests/mod.rs +++ /dev/null @@ -1,31 +0,0 @@ -extern crate rand_jitter; -extern crate rand_core; - -use rand_jitter::JitterRng; -#[cfg(feature = "std")] -use rand_core::RngCore; - -#[cfg(feature = "std")] -#[test] -fn test_jitter_init() { - // Because this is a debug build, measurements here are not representive - // of the final release build. - // Don't fail this test if initializing `JitterRng` fails because of a - // bad timer (the timer from the standard library may not have enough - // accuracy on all platforms). - match JitterRng::new() { - Ok(ref mut rng) => { - // false positives are possible, but extremely unlikely - assert!(rng.next_u32() | rng.next_u32() != 0); - }, - Err(_) => {}, - } -} - -#[test] -fn test_jitter_bad_timer() { - fn bad_timer() -> u64 { 0 } - let mut rng = JitterRng::new_with_timer(bad_timer); - assert!(rng.test_timer().is_err()); -} - diff --git a/vendor/registry-40351f815f426200/rand_os/.cargo-checksum.json b/vendor/registry-40351f815f426200/rand_os/.cargo-checksum.json deleted file mode 100644 index 6adb38d12..000000000 --- a/vendor/registry-40351f815f426200/rand_os/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"CHANGELOG.md":"b109ac9f2501be2151402585c5278ba9db30d1b880139f0f67aadcd7a9f85506","COPYRIGHT":"90eb64f0279b0d9432accfa6023ff803bc4965212383697eee27a0f426d5f8d5","Cargo.toml":"cb81ac6d2ae3ccec84cb897d1c2c4fe53986065424b46fea3ca4e15bca47db05","LICENSE-APACHE":"aaff376532ea30a0cd5330b9502ad4a4c8bf769c539c87ffe78819d188a18ebf","LICENSE-MIT":"209fbbe0ad52d9235e37badf9cadfe4dbdc87203179c0899e738b39ade42177b","README.md":"91ccce04b8ea75d26b78f155b578b92be283b2e740d94192ade9eaa3d59c8c27","src/cloudabi.rs":"4f9f9991a1ef7dc330e81ee5208fcc23ad6acc2c73c257b019a3aa488f3a1291","src/dragonfly_haiku_emscripten.rs":"8e693952f38b2576ce7c454cc51d0209917ec40f2a3224ff0f138f798d2c82b3","src/dummy_log.rs":"4e26589c18de568b7da7f0ccc9b77bb430961739a6510c2b043a43dee300c6fa","src/freebsd.rs":"6b1e0a3735d798d8297a9426721e01672424cc289707dae86e336a207cd43436","src/fuchsia.rs":"61159ae3fa469a40214b7ad2f9b0445ed952944c0d5738cd3b7c045eb3e5034a","src/lib.rs":"7d5bd0b5565f7dff4dc352608ab2fb95737dba9b5576fe70b57dcd90e1f11411","src/linux_android.rs":"24b113ef388a2b734ac7a47e045527edac4fe5f29e5ca7948c9a6edf3f69a111","src/macos.rs":"17ccfd5a69068db0580480f680398e20d9ed5219abd726c90e5d9db509539608","src/netbsd.rs":"1b00923bd48673e709cc3f4efd47111093d5bfb86643c8647dd30aeaf5aa6fce","src/openbsd_bitrig.rs":"b9601aa0c6cc0129913341adba838aa0fadd698563eca7f0b046e31c97f0ac92","src/random_device.rs":"bc9cf2470619a90bb8444a632a873e431f801cc3230977851e20d54d86093321","src/redox.rs":"c3fd6f418f085d3b5ffaa6ff4540380cf437cbd65c8b87f89c1dbe16222539e4","src/sgx.rs":"140cf6529ebbf28a19c112e6f325ecd9d84427cc962895795e427cb5b1fa8500","src/solarish.rs":"2c39d2b28a4b9568a378b78b2021bf633fef505d9c5fed2e0a50e90ed9711359","src/wasm32_bindgen.rs":"befe5b8a90ed23c2b3adf40281651966a5ee15ae520101704b68890ec4fb4529","src/wasm32_stdweb.rs":"8684b8ce392941c9d7864d45f82e5a4577fc63b0f0bb709fa627f8b9c9e154a6","src/windows.rs":"d72d555013440aeffe764d961a0a095f8a11417d28a13c2a8882abce2dc000f0","tests/mod.rs":"b8a6caeb5aafd13de775488168b0b46592336568ded37be713e422f724f6f086"},"package":"7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/rand_os/CHANGELOG.md b/vendor/registry-40351f815f426200/rand_os/CHANGELOG.md deleted file mode 100644 index 1ce36fc6c..000000000 --- a/vendor/registry-40351f815f426200/rand_os/CHANGELOG.md +++ /dev/null @@ -1,22 +0,0 @@ -# Changelog -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - - -## [0.1.3] - 2019-03-05 -### Changes -- Fix support for Illumos (#730) -- Fix deprecation warnings from atomic init (#739) - -## [0.1.2] - 2019-01-28 -### Changes -- Fuchsia: Replaced fuchsia-zircon with fuchsia-cprng - -## [0.1.1] - 2019-01-08 -### Additions -- Add support for x86_64-fortanix-unknown-sgx target (#670) - -## [0.1.0] - 2019-01-04 -Initial release. diff --git a/vendor/registry-40351f815f426200/rand_os/COPYRIGHT b/vendor/registry-40351f815f426200/rand_os/COPYRIGHT deleted file mode 100644 index 468d907ca..000000000 --- a/vendor/registry-40351f815f426200/rand_os/COPYRIGHT +++ /dev/null @@ -1,12 +0,0 @@ -Copyrights in the Rand project are retained by their contributors. No -copyright assignment is required to contribute to the Rand project. - -For full authorship information, see the version control history. - -Except as otherwise noted (below and/or in individual files), Rand is -licensed under the Apache License, Version 2.0 or - or the MIT license - or , at your option. - -The Rand project includes code from the Rust project -published under these same licenses. diff --git a/vendor/registry-40351f815f426200/rand_os/Cargo.toml b/vendor/registry-40351f815f426200/rand_os/Cargo.toml deleted file mode 100644 index d0f1dfe7a..000000000 --- a/vendor/registry-40351f815f426200/rand_os/Cargo.toml +++ /dev/null @@ -1,53 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g., crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "rand_os" -version = "0.1.3" -authors = ["The Rand Project Developers"] -description = "OS backed Random Number Generator" -homepage = "https://crates.io/crates/rand_os" -documentation = "https://docs.rs/rand_os" -readme = "README.md" -keywords = ["random", "rng", "os"] -license = "MIT/Apache-2.0" -repository = "https://github.com/rust-random/rand" -[dependencies.log] -version = "0.4" -optional = true - -[dependencies.rand_core] -version = "0.4" -features = ["std"] -[target."cfg(target_env = \"sgx\")".dependencies.rdrand] -version = "0.4.0" -[target."cfg(target_os = \"cloudabi\")".dependencies.cloudabi] -version = "0.0.3" -[target."cfg(target_os = \"fuchsia\")".dependencies.fuchsia-cprng] -version = "0.1.0" -[target."cfg(unix)".dependencies.libc] -version = "0.2" -[target."cfg(windows)".dependencies.winapi] -version = "0.3" -features = ["minwindef", "ntsecapi", "winnt"] -[target.wasm32-unknown-unknown.dependencies.stdweb] -version = "0.4" -optional = true - -[target.wasm32-unknown-unknown.dependencies.wasm-bindgen] -version = "0.2.12" -optional = true -[badges.appveyor] -repository = "rust-random/rand" - -[badges.travis-ci] -repository = "rust-random/rand" diff --git a/vendor/registry-40351f815f426200/rand_os/LICENSE-APACHE b/vendor/registry-40351f815f426200/rand_os/LICENSE-APACHE deleted file mode 100644 index 17d74680f..000000000 --- a/vendor/registry-40351f815f426200/rand_os/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/rand_os/LICENSE-MIT b/vendor/registry-40351f815f426200/rand_os/LICENSE-MIT deleted file mode 100644 index d93b5baf3..000000000 --- a/vendor/registry-40351f815f426200/rand_os/LICENSE-MIT +++ /dev/null @@ -1,26 +0,0 @@ -Copyright 2018 Developers of the Rand project -Copyright (c) 2014 The Rust Project Developers - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/rand_os/README.md b/vendor/registry-40351f815f426200/rand_os/README.md deleted file mode 100644 index 4f48b63de..000000000 --- a/vendor/registry-40351f815f426200/rand_os/README.md +++ /dev/null @@ -1,33 +0,0 @@ -# rand_os - -[![Build Status](https://travis-ci.org/rust-random/rand.svg?branch=master)](https://travis-ci.org/rust-random/rand) -[![Build Status](https://ci.appveyor.com/api/projects/status/github/rust-random/rand?svg=true)](https://ci.appveyor.com/project/rust-random/rand) -[![Latest version](https://img.shields.io/crates/v/rand_os.svg)](https://crates.io/crates/rand_os) -[![Book](https://img.shields.io/badge/book-master-yellow.svg)](https://rust-random.github.io/book/) -[![API](https://img.shields.io/badge/api-master-yellow.svg)](https://rust-random.github.io/rand/rand_os) -[![API](https://docs.rs/rand_os/badge.svg)](https://docs.rs/rand_os) -[![Minimum rustc version](https://img.shields.io/badge/rustc-1.22+-lightgray.svg)](https://github.com/rust-random/rand#rust-version-requirements) - -A random number generator that retrieves randomness straight from the -operating system. - -This crate depends on [rand_core](https://crates.io/crates/rand_core) and is -part of the [Rand project](https://github.com/rust-random/rand). - -This crate aims to support all of Rust's `std` platforms with a system-provided -entropy source. Unlike other Rand crates, this crate does not support `no_std` -(handling this gracefully is a current discussion topic). - -Links: - -- [API documentation (master)](https://rust-random.github.io/rand/rand_os) -- [API documentation (docs.rs)](https://docs.rs/rand_os) -- [Changelog](CHANGELOG.md) - -## License - -`rand_os` is distributed under the terms of both the MIT license and the -Apache License (Version 2.0). - -See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT), and -[COPYRIGHT](COPYRIGHT) for details. diff --git a/vendor/registry-40351f815f426200/rand_os/src/cloudabi.rs b/vendor/registry-40351f815f426200/rand_os/src/cloudabi.rs deleted file mode 100644 index 8b96a2bc9..000000000 --- a/vendor/registry-40351f815f426200/rand_os/src/cloudabi.rs +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Implementation for CloudABI - -extern crate cloudabi; - -use std::io; -use rand_core::{Error, ErrorKind}; -use super::OsRngImpl; - -#[derive(Clone, Debug)] -pub struct OsRng; - -impl OsRngImpl for OsRng { - fn new() -> Result { Ok(OsRng) } - - fn fill_chunk(&mut self, dest: &mut [u8]) -> Result<(), Error> { - let errno = unsafe { cloudabi::random_get(dest) }; - if errno == cloudabi::errno::SUCCESS { - Ok(()) - } else { - // Cloudlibc provides its own `strerror` implementation so we - // can use `from_raw_os_error` here. - Err(Error::with_cause( - ErrorKind::Unavailable, - "random_get() system call failed", - io::Error::from_raw_os_error(errno as i32), - )) - } - } - - fn method_str(&self) -> &'static str { "cloudabi::random_get" } -} diff --git a/vendor/registry-40351f815f426200/rand_os/src/dragonfly_haiku_emscripten.rs b/vendor/registry-40351f815f426200/rand_os/src/dragonfly_haiku_emscripten.rs deleted file mode 100644 index 6132d7ac3..000000000 --- a/vendor/registry-40351f815f426200/rand_os/src/dragonfly_haiku_emscripten.rs +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Implementation for DragonFly / Haiku / Emscripten - -use rand_core::Error; -use super::random_device; -use super::OsRngImpl; -use std::fs::File; - -#[derive(Clone, Debug)] -pub struct OsRng(); - -impl OsRngImpl for OsRng { - fn new() -> Result { - random_device::open("/dev/random", &|p| File::open(p))?; - Ok(OsRng()) - } - - fn fill_chunk(&mut self, dest: &mut [u8]) -> Result<(), Error> { - random_device::read(dest) - } - - #[cfg(target_os = "emscripten")] - fn max_chunk_size(&self) -> usize { - // `Crypto.getRandomValues` documents `dest` should be at most 65536 - // bytes. `crypto.randomBytes` documents: "To minimize threadpool - // task length variation, partition large randomBytes requests when - // doing so as part of fulfilling a client request. - 65536 - } - - fn method_str(&self) -> &'static str { "/dev/random" } -} diff --git a/vendor/registry-40351f815f426200/rand_os/src/dummy_log.rs b/vendor/registry-40351f815f426200/rand_os/src/dummy_log.rs deleted file mode 100644 index ccfe4baef..000000000 --- a/vendor/registry-40351f815f426200/rand_os/src/dummy_log.rs +++ /dev/null @@ -1,10 +0,0 @@ -#[allow(unused)] -macro_rules! trace { ($($x:tt)*) => () } -#[allow(unused)] -macro_rules! debug { ($($x:tt)*) => () } -#[allow(unused)] -macro_rules! info { ($($x:tt)*) => () } -#[allow(unused)] -macro_rules! warn { ($($x:tt)*) => () } -#[allow(unused)] -macro_rules! error { ($($x:tt)*) => () } diff --git a/vendor/registry-40351f815f426200/rand_os/src/freebsd.rs b/vendor/registry-40351f815f426200/rand_os/src/freebsd.rs deleted file mode 100644 index 6b8e6728a..000000000 --- a/vendor/registry-40351f815f426200/rand_os/src/freebsd.rs +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Implementation for FreeBSD - -extern crate libc; - -use rand_core::{Error, ErrorKind}; -use super::OsRngImpl; - -use std::ptr; -use std::io; - -#[derive(Clone, Debug)] -pub struct OsRng; - -impl OsRngImpl for OsRng { - fn new() -> Result { Ok(OsRng) } - - fn fill_chunk(&mut self, dest: &mut [u8]) -> Result<(), Error> { - let mib = [libc::CTL_KERN, libc::KERN_ARND]; - let mut len = dest.len(); - let ret = unsafe { - libc::sysctl(mib.as_ptr(), mib.len() as libc::c_uint, - dest.as_mut_ptr() as *mut _, &mut len, - ptr::null(), 0) - }; - if ret == -1 || len != dest.len() { - return Err(Error::with_cause( - ErrorKind::Unavailable, - "kern.arandom sysctl failed", - io::Error::last_os_error())); - } - Ok(()) - } - - fn max_chunk_size(&self) -> usize { 256 } - - fn method_str(&self) -> &'static str { "kern.arandom" } -} diff --git a/vendor/registry-40351f815f426200/rand_os/src/fuchsia.rs b/vendor/registry-40351f815f426200/rand_os/src/fuchsia.rs deleted file mode 100644 index ada367761..000000000 --- a/vendor/registry-40351f815f426200/rand_os/src/fuchsia.rs +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Implementation for Fuchsia Zircon - -extern crate fuchsia_cprng; - -use rand_core::Error; -use super::OsRngImpl; - -#[derive(Clone, Debug)] -pub struct OsRng; - -impl OsRngImpl for OsRng { - fn new() -> Result { Ok(OsRng) } - - fn fill_chunk(&mut self, dest: &mut [u8]) -> Result<(), Error> { - fuchsia_cprng::cprng_draw(dest); - Ok(()) - } - - fn method_str(&self) -> &'static str { "cprng_draw" } -} diff --git a/vendor/registry-40351f815f426200/rand_os/src/lib.rs b/vendor/registry-40351f815f426200/rand_os/src/lib.rs deleted file mode 100644 index 1b9cb2548..000000000 --- a/vendor/registry-40351f815f426200/rand_os/src/lib.rs +++ /dev/null @@ -1,440 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2013-2015 The Rust Project Developers. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Interface to the random number generator of the operating system. -//! -//! [`OsRng`] is the preferred external source of entropy for most applications. -//! Commonly it is used to initialize a user-space RNG, which can then be used -//! to generate random values with much less overhead than `OsRng`. -//! -//! You may prefer to use [`EntropyRng`] instead of `OsRng`. It is unlikely, but -//! not entirely theoretical, for `OsRng` to fail. In such cases [`EntropyRng`] -//! falls back on a good alternative entropy source. -//! -//! [`OsRng::new()`] is guaranteed to be very cheap (after the first successful -//! call), and will never consume more than one file handle per process. -//! -//! # Usage example -//! ``` -//! use rand_os::OsRng; -//! use rand_os::rand_core::RngCore; -//! -//! let mut os_rng = OsRng::new().unwrap(); -//! let mut key = [0u8; 16]; -//! os_rng.fill_bytes(&mut key); -//! let random_u64 = os_rng.next_u64(); -//! ``` -//! -//! # Platform sources -//! -//! | OS | interface -//! |------------------|--------------------------------------------------------- -//! | Linux, Android | [`getrandom`][1] system call if available, otherwise [`/dev/urandom`][2] after reading from `/dev/random` once -//! | Windows | [`RtlGenRandom`][3] -//! | macOS, iOS | [`SecRandomCopyBytes`][4] -//! | FreeBSD | [`kern.arandom`][5] -//! | OpenBSD, Bitrig | [`getentropy`][6] -//! | NetBSD | [`/dev/urandom`][7] after reading from `/dev/random` once -//! | Dragonfly BSD | [`/dev/random`][8] -//! | Solaris, illumos | [`getrandom`][9] system call if available, otherwise [`/dev/random`][10] -//! | Fuchsia OS | [`cprng_draw`][11] -//! | Redox | [`rand:`][12] -//! | CloudABI | [`random_get`][13] -//! | Haiku | `/dev/random` (identical to `/dev/urandom`) -//! | Web browsers | [`Crypto.getRandomValues`][14] (see [Support for WebAssembly and ams.js][14]) -//! | Node.js | [`crypto.randomBytes`][15] (see [Support for WebAssembly and ams.js][16]) -//! -//! Rand doesn't have a blanket implementation for all Unix-like operating -//! systems that reads from `/dev/urandom`. This ensures all supported operating -//! systems are using the recommended interface and respect maximum buffer -//! sizes. -//! -//! ## Support for WebAssembly and ams.js -//! -//! The three Emscripten targets `asmjs-unknown-emscripten`, -//! `wasm32-unknown-emscripten` and `wasm32-experimental-emscripten` use -//! Emscripten's emulation of `/dev/random` on web browsers and Node.js. -//! -//! The bare WASM target `wasm32-unknown-unknown` tries to call the javascript -//! methods directly, using either `stdweb` or `wasm-bindgen` depending on what -//! features are activated for this crate. Note that if both features are -//! enabled `wasm-bindgen` will be used. -//! -//! ## Early boot -//! -//! It is possible that early in the boot process the OS hasn't had enough time -//! yet to collect entropy to securely seed its RNG, especially on virtual -//! machines. -//! -//! Some operating systems always block the thread until the RNG is securely -//! seeded. This can take anywhere from a few seconds to more than a minute. -//! Others make a best effort to use a seed from before the shutdown and don't -//! document much. -//! -//! A few, Linux, NetBSD and Solaris, offer a choice between blocking, and -//! getting an error. With `try_fill_bytes` we choose to get the error -//! ([`ErrorKind::NotReady`]), while the other methods use a blocking interface. -//! -//! On Linux (when the `genrandom` system call is not available) and on NetBSD -//! reading from `/dev/urandom` never blocks, even when the OS hasn't collected -//! enough entropy yet. As a countermeasure we try to do a single read from -//! `/dev/random` until we know the OS RNG is initialized (and store this in a -//! global static). -//! -//! # Panics and error handling -//! -//! We cannot guarantee that `OsRng` will fail, but if it does, it will likely -//! be either when `OsRng::new()` is first called or when data is first read. -//! If you wish to catch errors early, then test reading of at least one byte -//! from `OsRng` via [`try_fill_bytes`]. If this succeeds, it is extremely -//! unlikely that any further errors will occur. -//! -//! Only [`try_fill_bytes`] is able to report the cause of an error; the other -//! [`RngCore`] methods may (depending on the error kind) retry several times, -//! but must eventually panic if the error persists. -//! -//! [`EntropyRng`]: ../rand/rngs/struct.EntropyRng.html -//! [`try_fill_bytes`]: RngCore::try_fill_bytes -//! [`ErrorKind::NotReady`]: rand_core::ErrorKind -//! -//! [1]: http://man7.org/linux/man-pages/man2/getrandom.2.html -//! [2]: http://man7.org/linux/man-pages/man4/urandom.4.html -//! [3]: https://msdn.microsoft.com/en-us/library/windows/desktop/aa387694.aspx -//! [4]: https://developer.apple.com/documentation/security/1399291-secrandomcopybytes?language=objc -//! [5]: https://www.freebsd.org/cgi/man.cgi?query=random&sektion=4 -//! [6]: https://man.openbsd.org/getentropy.2 -//! [7]: http://netbsd.gw.com/cgi-bin/man-cgi?random+4+NetBSD-current -//! [8]: https://leaf.dragonflybsd.org/cgi/web-man?command=random§ion=4 -//! [9]: https://docs.oracle.com/cd/E88353_01/html/E37841/getrandom-2.html -//! [10]: https://docs.oracle.com/cd/E86824_01/html/E54777/random-7d.html -//! [11]: https://fuchsia.googlesource.com/zircon/+/HEAD/docs/syscalls/cprng_draw.md -//! [12]: https://github.com/redox-os/randd/blob/master/src/main.rs -//! [13]: https://github.com/NuxiNL/cloudabi/blob/v0.20/cloudabi.txt#L1826 -//! [14]: https://www.w3.org/TR/WebCryptoAPI/#Crypto-method-getRandomValues -//! [15]: https://nodejs.org/api/crypto.html#crypto_crypto_randombytes_size_callback -//! [16]: #support-for-webassembly-and-amsjs -#![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk.png", - html_favicon_url = "https://www.rust-lang.org/favicon.ico", - html_root_url = "https://rust-random.github.io/rand/")] -#![deny(missing_docs)] -#![deny(missing_debug_implementations)] -#![doc(test(attr(allow(unused_variables), deny(warnings))))] - -#![cfg_attr(feature = "stdweb", recursion_limit="128")] - -pub extern crate rand_core; -#[cfg(feature = "log")] -#[macro_use] extern crate log; - -// We have to do it here because we load macros -#[cfg(all(target_arch = "wasm32", not(target_os = "emscripten"), - feature = "wasm-bindgen"))] -extern crate wasm_bindgen; -#[cfg(all(target_arch = "wasm32", not(target_os = "emscripten"), - not(feature = "wasm-bindgen"), - feature = "stdweb"))] -#[macro_use] extern crate stdweb; - -#[cfg(target_env = "sgx")] -extern crate rdrand; - -#[cfg(not(feature = "log"))] -#[macro_use] -mod dummy_log; - -use std::fmt; -use rand_core::{CryptoRng, RngCore, Error, impls}; - -/// A random number generator that retrieves randomness straight from the -/// operating system. -#[derive(Clone)] -pub struct OsRng(imp::OsRng); - -impl fmt::Debug for OsRng { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - self.0.fmt(f) - } -} - -impl OsRng { - /// Create a new `OsRng`. - pub fn new() -> Result { - imp::OsRng::new().map(OsRng) - } -} - -impl CryptoRng for OsRng {} - -impl RngCore for OsRng { - fn next_u32(&mut self) -> u32 { - impls::next_u32_via_fill(self) - } - - fn next_u64(&mut self) -> u64 { - impls::next_u64_via_fill(self) - } - - fn fill_bytes(&mut self, dest: &mut [u8]) { - use std::{time, thread}; - - // We cannot return Err(..), so we try to handle before panicking. - const MAX_RETRY_PERIOD: u32 = 10; // max 10s - const WAIT_DUR_MS: u32 = 100; // retry every 100ms - let wait_dur = time::Duration::from_millis(WAIT_DUR_MS as u64); - const RETRY_LIMIT: u32 = (MAX_RETRY_PERIOD * 1000) / WAIT_DUR_MS; - const TRANSIENT_RETRIES: u32 = 8; - let mut err_count = 0; - let mut error_logged = false; - - // Maybe block until the OS RNG is initialized - let mut read = 0; - if let Ok(n) = self.0.test_initialized(dest, true) { read = n }; - let dest = &mut dest[read..]; - - loop { - if let Err(e) = self.try_fill_bytes(dest) { - if err_count >= RETRY_LIMIT { - error!("OsRng failed too many times; last error: {}", e); - panic!("OsRng failed too many times; last error: {}", e); - } - - if e.kind.should_wait() { - if !error_logged { - warn!("OsRng failed; waiting up to {}s and retrying. Error: {}", - MAX_RETRY_PERIOD, e); - error_logged = true; - } - err_count += 1; - thread::sleep(wait_dur); - continue; - } else if e.kind.should_retry() { - if !error_logged { - warn!("OsRng failed; retrying up to {} times. Error: {}", - TRANSIENT_RETRIES, e); - error_logged = true; - } - err_count += (RETRY_LIMIT + TRANSIENT_RETRIES - 1) - / TRANSIENT_RETRIES; // round up - continue; - } else { - error!("OsRng failed: {}", e); - panic!("OsRng fatal error: {}", e); - } - } - - break; - } - } - - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - // Some systems do not support reading 0 random bytes. - // (And why waste a system call?) - if dest.len() == 0 { return Ok(()); } - - let read = self.0.test_initialized(dest, false)?; - let dest = &mut dest[read..]; - - let max = self.0.max_chunk_size(); - if dest.len() <= max { - trace!("OsRng: reading {} bytes via {}", - dest.len(), self.0.method_str()); - } else { - trace!("OsRng: reading {} bytes via {} in {} chunks of {} bytes", - dest.len(), self.0.method_str(), (dest.len() + max) / max, max); - } - for slice in dest.chunks_mut(max) { - self.0.fill_chunk(slice)?; - } - Ok(()) - } -} - -trait OsRngImpl where Self: Sized { - // Create a new `OsRng` platform interface. - fn new() -> Result; - - // Fill a chunk with random bytes. - fn fill_chunk(&mut self, dest: &mut [u8]) -> Result<(), Error>; - - // Test whether the OS RNG is initialized. This method may not be possible - // to support cheaply (or at all) on all operating systems. - // - // If `blocking` is set, this will cause the OS the block execution until - // its RNG is initialized. - // - // Random values that are read while this are stored in `dest`, the amount - // of read bytes is returned. - fn test_initialized(&mut self, _dest: &mut [u8], _blocking: bool) - -> Result { Ok(0) } - - // Maximum chunk size supported. - fn max_chunk_size(&self) -> usize { ::std::usize::MAX } - - // Name of the OS interface (used for logging). - fn method_str(&self) -> &'static str; -} - -#[cfg(any(target_os = "linux", target_os = "android", - target_os = "netbsd", target_os = "dragonfly", - target_os = "solaris", target_os = "redox", - target_os = "haiku", target_os = "emscripten", - target_os = "illumos"))] -mod random_device; - -macro_rules! mod_use { - ($cond:meta, $module:ident) => { - #[$cond] - mod $module; - #[$cond] - use $module as imp; - } -} - -mod_use!(cfg(target_os = "android"), linux_android); -mod_use!(cfg(target_os = "bitrig"), openbsd_bitrig); -mod_use!(cfg(target_os = "cloudabi"), cloudabi); -mod_use!(cfg(target_os = "dragonfly"), dragonfly_haiku_emscripten); -mod_use!(cfg(target_os = "emscripten"), dragonfly_haiku_emscripten); -mod_use!(cfg(target_os = "freebsd"), freebsd); -mod_use!(cfg(target_os = "fuchsia"), fuchsia); -mod_use!(cfg(target_os = "haiku"), dragonfly_haiku_emscripten); -mod_use!(cfg(target_os = "ios"), macos); -mod_use!(cfg(target_os = "linux"), linux_android); -mod_use!(cfg(target_os = "macos"), macos); -mod_use!(cfg(target_os = "netbsd"), netbsd); -mod_use!(cfg(target_os = "openbsd"), openbsd_bitrig); -mod_use!(cfg(target_os = "redox"), redox); -mod_use!(cfg(any(target_os = "solaris", target_os = "illumos")), solarish); -mod_use!(cfg(windows), windows); -mod_use!(cfg(target_env = "sgx"), sgx); - -mod_use!( - cfg(all( - target_arch = "wasm32", - not(target_os = "emscripten"), - feature = "wasm-bindgen" - )), - wasm32_bindgen -); - -mod_use!( - cfg(all( - target_arch = "wasm32", - not(target_os = "emscripten"), - not(feature = "wasm-bindgen"), - feature = "stdweb", - )), - wasm32_stdweb -); - -/// Per #678 we use run-time failure where WASM bindings are missing -#[cfg(all( - target_arch = "wasm32", - not(target_os = "emscripten"), - not(feature = "wasm-bindgen"), - not(feature = "stdweb"), -))] -mod imp { - use rand_core::{Error, ErrorKind}; - use super::OsRngImpl; - - #[derive(Clone, Debug)] - pub struct OsRng; - - impl OsRngImpl for OsRng { - fn new() -> Result { - Err(Error::new(ErrorKind::Unavailable, - "OsRng: support for wasm32 requires emscripten, stdweb or wasm-bindgen")) - } - - fn fill_chunk(&mut self, _dest: &mut [u8]) -> Result<(), Error> { - unimplemented!() - } - - fn method_str(&self) -> &'static str { unimplemented!() } - } -} - -#[cfg(not(any( - target_os = "android", - target_os = "bitrig", - target_os = "cloudabi", - target_os = "dragonfly", - target_os = "emscripten", - target_os = "freebsd", - target_os = "fuchsia", - target_os = "haiku", - target_os = "ios", - target_os = "linux", - target_os = "macos", - target_os = "netbsd", - target_os = "openbsd", - target_os = "redox", - target_os = "solaris", - target_os = "illumos", - windows, - target_arch = "wasm32", - target_env = "sgx" -)))] -compile_error!("OS RNG support is not available for this platform"); - -// Due to rustwasm/wasm-bindgen#201 this can't be defined in the inner os -// modules, so hack around it for now and place it at the root. -#[cfg(all(feature = "wasm-bindgen", target_arch = "wasm32"))] -#[doc(hidden)] -#[allow(missing_debug_implementations)] -pub mod __wbg_shims { - - // `extern { type Foo; }` isn't supported on 1.22 syntactically, so use a - // macro to work around that. - macro_rules! rust_122_compat { - ($($t:tt)*) => ($($t)*) - } - - rust_122_compat! { - extern crate wasm_bindgen; - - pub use wasm_bindgen::prelude::*; - - #[wasm_bindgen] - extern "C" { - pub type Function; - #[wasm_bindgen(constructor)] - pub fn new(s: &str) -> Function; - #[wasm_bindgen(method)] - pub fn call(this: &Function, self_: &JsValue) -> JsValue; - - pub type This; - #[wasm_bindgen(method, getter, structural, js_name = self)] - pub fn self_(me: &This) -> JsValue; - #[wasm_bindgen(method, getter, structural)] - pub fn crypto(me: &This) -> JsValue; - - #[derive(Clone, Debug)] - pub type BrowserCrypto; - - // TODO: these `structural` annotations here ideally wouldn't be here to - // avoid a JS shim, but for now with feature detection they're - // unavoidable. - #[wasm_bindgen(method, js_name = getRandomValues, structural, getter)] - pub fn get_random_values_fn(me: &BrowserCrypto) -> JsValue; - #[wasm_bindgen(method, js_name = getRandomValues, structural)] - pub fn get_random_values(me: &BrowserCrypto, buf: &mut [u8]); - - #[wasm_bindgen(js_name = require)] - pub fn node_require(s: &str) -> NodeCrypto; - - #[derive(Clone, Debug)] - pub type NodeCrypto; - - #[wasm_bindgen(method, js_name = randomFillSync, structural)] - pub fn random_fill_sync(me: &NodeCrypto, buf: &mut [u8]); - } - } -} diff --git a/vendor/registry-40351f815f426200/rand_os/src/linux_android.rs b/vendor/registry-40351f815f426200/rand_os/src/linux_android.rs deleted file mode 100644 index 255c22002..000000000 --- a/vendor/registry-40351f815f426200/rand_os/src/linux_android.rs +++ /dev/null @@ -1,186 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Implementation for Linux / Android - -extern crate libc; - -use rand_core::{Error, ErrorKind}; -use super::random_device; -use super::OsRngImpl; - -use std::io; -use std::io::Read; -use std::fs::{File, OpenOptions}; -use std::os::unix::fs::OpenOptionsExt; -use std::sync::atomic::{AtomicBool, Ordering}; -#[allow(deprecated)] // Required for compatibility with Rust < 1.24. -use std::sync::atomic::ATOMIC_BOOL_INIT; -use std::sync::{Once, ONCE_INIT}; - -#[derive(Clone, Debug)] -pub struct OsRng { - method: OsRngMethod, - initialized: bool, -} - -#[derive(Clone, Debug)] -enum OsRngMethod { - GetRandom, - RandomDevice, -} - -impl OsRngImpl for OsRng { - fn new() -> Result { - if is_getrandom_available() { - return Ok(OsRng { method: OsRngMethod::GetRandom, - initialized: false }); - } - random_device::open("/dev/urandom", &|p| File::open(p))?; - Ok(OsRng { method: OsRngMethod::RandomDevice, initialized: false }) - } - - fn fill_chunk(&mut self, dest: &mut [u8]) -> Result<(), Error> { - match self.method { - OsRngMethod::GetRandom => getrandom_try_fill(dest, false), - OsRngMethod::RandomDevice => random_device::read(dest), - } - } - - fn test_initialized(&mut self, dest: &mut [u8], blocking: bool) - -> Result - { - #[allow(deprecated)] - static OS_RNG_INITIALIZED: AtomicBool = ATOMIC_BOOL_INIT; - if !self.initialized { - self.initialized = OS_RNG_INITIALIZED.load(Ordering::Relaxed); - } - if self.initialized { return Ok(0); } - - let result = match self.method { - OsRngMethod::GetRandom => { - getrandom_try_fill(dest, blocking)?; - Ok(dest.len()) - } - OsRngMethod::RandomDevice => { - info!("OsRng: testing random device /dev/random"); - let mut file = OpenOptions::new() - .read(true) - .custom_flags(if blocking { 0 } else { libc::O_NONBLOCK }) - .open("/dev/random") - .map_err(random_device::map_err)?; - file.read(&mut dest[..1]).map_err(random_device::map_err)?; - Ok(1) - } - }; - OS_RNG_INITIALIZED.store(true, Ordering::Relaxed); - self.initialized = true; - result - } - - fn method_str(&self) -> &'static str { - match self.method { - OsRngMethod::GetRandom => "getrandom", - OsRngMethod::RandomDevice => "/dev/urandom", - } - } -} - -#[cfg(target_arch = "x86_64")] -const NR_GETRANDOM: libc::c_long = 318; -#[cfg(target_arch = "x86")] -const NR_GETRANDOM: libc::c_long = 355; -#[cfg(target_arch = "arm")] -const NR_GETRANDOM: libc::c_long = 384; -#[cfg(target_arch = "aarch64")] -const NR_GETRANDOM: libc::c_long = 278; - #[cfg(target_arch = "s390x")] -const NR_GETRANDOM: libc::c_long = 349; -#[cfg(target_arch = "powerpc")] -const NR_GETRANDOM: libc::c_long = 359; -#[cfg(target_arch = "powerpc64")] -const NR_GETRANDOM: libc::c_long = 359; -#[cfg(target_arch = "mips")] // old ABI -const NR_GETRANDOM: libc::c_long = 4353; -#[cfg(target_arch = "mips64")] -const NR_GETRANDOM: libc::c_long = 5313; -#[cfg(target_arch = "sparc")] -const NR_GETRANDOM: libc::c_long = 347; -#[cfg(target_arch = "sparc64")] -const NR_GETRANDOM: libc::c_long = 347; -#[cfg(not(any(target_arch = "x86_64", target_arch = "x86", - target_arch = "arm", target_arch = "aarch64", - target_arch = "s390x", target_arch = "powerpc", - target_arch = "powerpc64", target_arch = "mips", - target_arch = "mips64", target_arch = "sparc", - target_arch = "sparc64")))] -const NR_GETRANDOM: libc::c_long = 0; - -fn getrandom(buf: &mut [u8], blocking: bool) -> libc::c_long { - const GRND_NONBLOCK: libc::c_uint = 0x0001; - - if NR_GETRANDOM == 0 { return -1 }; - - unsafe { - libc::syscall(NR_GETRANDOM, buf.as_mut_ptr(), buf.len(), - if blocking { 0 } else { GRND_NONBLOCK }) - } -} - -fn getrandom_try_fill(dest: &mut [u8], blocking: bool) -> Result<(), Error> { - let mut read = 0; - while read < dest.len() { - let result = getrandom(&mut dest[read..], blocking); - if result == -1 { - let err = io::Error::last_os_error(); - let kind = err.kind(); - if kind == io::ErrorKind::Interrupted { - continue; - } else if kind == io::ErrorKind::WouldBlock { - return Err(Error::with_cause( - ErrorKind::NotReady, - "getrandom not ready", - err, - )); - } else { - return Err(Error::with_cause( - ErrorKind::Unavailable, - "unexpected getrandom error", - err, - )); - } - } else { - read += result as usize; - } - } - Ok(()) -} - -fn is_getrandom_available() -> bool { - static CHECKER: Once = ONCE_INIT; - #[allow(deprecated)] - static AVAILABLE: AtomicBool = ATOMIC_BOOL_INIT; - - if NR_GETRANDOM == 0 { return false }; - - CHECKER.call_once(|| { - debug!("OsRng: testing getrandom"); - let mut buf: [u8; 0] = []; - let result = getrandom(&mut buf, false); - let available = if result == -1 { - let err = io::Error::last_os_error().raw_os_error(); - err != Some(libc::ENOSYS) - } else { - true - }; - AVAILABLE.store(available, Ordering::Relaxed); - info!("OsRng: using {}", if available { "getrandom" } else { "/dev/urandom" }); - }); - - AVAILABLE.load(Ordering::Relaxed) -} diff --git a/vendor/registry-40351f815f426200/rand_os/src/macos.rs b/vendor/registry-40351f815f426200/rand_os/src/macos.rs deleted file mode 100644 index 6c67251c0..000000000 --- a/vendor/registry-40351f815f426200/rand_os/src/macos.rs +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Implementation for MacOS / iOS - -extern crate libc; - -use rand_core::{Error, ErrorKind}; -use super::OsRngImpl; - -use std::io; -use self::libc::{c_int, size_t}; - -#[derive(Clone, Debug)] -pub struct OsRng; - -enum SecRandom {} - -#[allow(non_upper_case_globals)] -const kSecRandomDefault: *const SecRandom = 0 as *const SecRandom; - -#[link(name = "Security", kind = "framework")] -extern { - fn SecRandomCopyBytes(rnd: *const SecRandom, - count: size_t, bytes: *mut u8) -> c_int; -} - -impl OsRngImpl for OsRng { - fn new() -> Result { Ok(OsRng) } - - fn fill_chunk(&mut self, dest: &mut [u8]) -> Result<(), Error> { - let ret = unsafe { - SecRandomCopyBytes(kSecRandomDefault, - dest.len() as size_t, - dest.as_mut_ptr()) - }; - if ret == -1 { - Err(Error::with_cause( - ErrorKind::Unavailable, - "couldn't generate random bytes", - io::Error::last_os_error())) - } else { - Ok(()) - } - } - - fn method_str(&self) -> &'static str { "SecRandomCopyBytes" } -} diff --git a/vendor/registry-40351f815f426200/rand_os/src/netbsd.rs b/vendor/registry-40351f815f426200/rand_os/src/netbsd.rs deleted file mode 100644 index 34517bfeb..000000000 --- a/vendor/registry-40351f815f426200/rand_os/src/netbsd.rs +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Implementation for NetBSD - -use rand_core::Error; -use super::random_device; -use super::OsRngImpl; - -use std::fs::File; -use std::io::Read; -use std::sync::atomic::{AtomicBool, Ordering}; -#[allow(deprecated)] // Required for compatibility with Rust < 1.24. -use std::sync::atomic::ATOMIC_BOOL_INIT; - -#[derive(Clone, Debug)] -pub struct OsRng { initialized: bool } - -impl OsRngImpl for OsRng { - fn new() -> Result { - random_device::open("/dev/urandom", &|p| File::open(p))?; - Ok(OsRng { initialized: false }) - } - - fn fill_chunk(&mut self, dest: &mut [u8]) -> Result<(), Error> { - random_device::read(dest) - } - - // Read a single byte from `/dev/random` to determine if the OS RNG is - // already seeded. NetBSD always blocks if not yet ready. - fn test_initialized(&mut self, dest: &mut [u8], _blocking: bool) - -> Result - { - #[allow(deprecated)] - static OS_RNG_INITIALIZED: AtomicBool = ATOMIC_BOOL_INIT; - if !self.initialized { - self.initialized = OS_RNG_INITIALIZED.load(Ordering::Relaxed); - } - if self.initialized { return Ok(0); } - - info!("OsRng: testing random device /dev/random"); - let mut file = - File::open("/dev/random").map_err(random_device::map_err)?; - file.read(&mut dest[..1]).map_err(random_device::map_err)?; - - OS_RNG_INITIALIZED.store(true, Ordering::Relaxed); - self.initialized = true; - Ok(1) - } - - fn method_str(&self) -> &'static str { "/dev/urandom" } -} diff --git a/vendor/registry-40351f815f426200/rand_os/src/openbsd_bitrig.rs b/vendor/registry-40351f815f426200/rand_os/src/openbsd_bitrig.rs deleted file mode 100644 index c9b35a6c5..000000000 --- a/vendor/registry-40351f815f426200/rand_os/src/openbsd_bitrig.rs +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Implementation for OpenBSD / Bitrig - -extern crate libc; - -use rand_core::{Error, ErrorKind}; -use super::OsRngImpl; - -use std::io; - -#[derive(Clone, Debug)] -pub struct OsRng; - -impl OsRngImpl for OsRng { - fn new() -> Result { Ok(OsRng) } - - fn fill_chunk(&mut self, dest: &mut [u8]) -> Result<(), Error> { - let ret = unsafe { - libc::getentropy(dest.as_mut_ptr() as *mut libc::c_void, dest.len()) - }; - if ret == -1 { - return Err(Error::with_cause( - ErrorKind::Unavailable, - "getentropy failed", - io::Error::last_os_error())); - } - Ok(()) - } - - fn max_chunk_size(&self) -> usize { 256 } - - fn method_str(&self) -> &'static str { "getentropy" } -} diff --git a/vendor/registry-40351f815f426200/rand_os/src/random_device.rs b/vendor/registry-40351f815f426200/rand_os/src/random_device.rs deleted file mode 100644 index 5da91940f..000000000 --- a/vendor/registry-40351f815f426200/rand_os/src/random_device.rs +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Helper functions to read from a random device such as `/dev/urandom`. -//! -//! All instances use a single internal file handle, to prevent possible -//! exhaustion of file descriptors. -use rand_core::{Error, ErrorKind}; -use std::fs::File; -use std::io; -use std::io::Read; -use std::sync::{Once, Mutex, ONCE_INIT}; - -// TODO: remove outer Option when `Mutex::new(None)` is a constant expression -static mut READ_RNG_FILE: Option>> = None; -static READ_RNG_ONCE: Once = ONCE_INIT; - -#[allow(unused)] -pub fn open(path: &'static str, open_fn: F) -> Result<(), Error> - where F: Fn(&'static str) -> Result -{ - READ_RNG_ONCE.call_once(|| { - unsafe { READ_RNG_FILE = Some(Mutex::new(None)) } - }); - - // We try opening the file outside the `call_once` fn because we cannot - // clone the error, thus we must retry on failure. - - let mutex = unsafe { READ_RNG_FILE.as_ref().unwrap() }; - let mut guard = mutex.lock().unwrap(); - if (*guard).is_none() { - info!("OsRng: opening random device {}", path); - let file = open_fn(path).map_err(map_err)?; - *guard = Some(file); - }; - Ok(()) -} - -pub fn read(dest: &mut [u8]) -> Result<(), Error> { - // We expect this function only to be used after `random_device::open` - // was succesful. Therefore we can assume that our memory was set with a - // valid object. - let mutex = unsafe { READ_RNG_FILE.as_ref().unwrap() }; - let mut guard = mutex.lock().unwrap(); - let file = (*guard).as_mut().unwrap(); - - // Use `std::io::read_exact`, which retries on `ErrorKind::Interrupted`. - file.read_exact(dest).map_err(|err| { - Error::with_cause(ErrorKind::Unavailable, - "error reading random device", err) - }) - -} - -pub fn map_err(err: io::Error) -> Error { - match err.kind() { - io::ErrorKind::Interrupted => - Error::new(ErrorKind::Transient, "interrupted"), - io::ErrorKind::WouldBlock => - Error::with_cause(ErrorKind::NotReady, - "OS RNG not yet seeded", err), - _ => Error::with_cause(ErrorKind::Unavailable, - "error while opening random device", err) - } -} diff --git a/vendor/registry-40351f815f426200/rand_os/src/redox.rs b/vendor/registry-40351f815f426200/rand_os/src/redox.rs deleted file mode 100644 index 36fae2666..000000000 --- a/vendor/registry-40351f815f426200/rand_os/src/redox.rs +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Implementation for Redox - -use rand_core::Error; -use super::random_device; -use super::OsRngImpl; -use std::fs::File; - -#[derive(Clone, Debug)] -pub struct OsRng(); - -impl OsRngImpl for OsRng { - fn new() -> Result { - random_device::open("rand:", &|p| File::open(p))?; - Ok(OsRng()) - } - - fn fill_chunk(&mut self, dest: &mut [u8]) -> Result<(), Error> { - random_device::read(dest) - } - - fn method_str(&self) -> &'static str { "'rand:'" } -} diff --git a/vendor/registry-40351f815f426200/rand_os/src/sgx.rs b/vendor/registry-40351f815f426200/rand_os/src/sgx.rs deleted file mode 100644 index 43ae0ef79..000000000 --- a/vendor/registry-40351f815f426200/rand_os/src/sgx.rs +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -use super::OsRngImpl; -use Error; -use rdrand::RdRand; -use rand_core::RngCore; -use std::fmt::{Debug, Formatter, Result as FmtResult}; - -#[derive(Clone)] -pub struct OsRng{ - gen: RdRand -} - -impl OsRngImpl for OsRng { - fn new() -> Result { - let rng = RdRand::new()?; - Ok(OsRng{ gen: rng }) - } - - fn fill_chunk(&mut self, dest: &mut [u8]) -> Result<(), Error> { - self.gen.try_fill_bytes(dest) - } - - fn method_str(&self) -> &'static str { "RDRAND" } -} - -impl Debug for OsRng { - fn fmt(&self, f: &mut Formatter) -> FmtResult { - f.debug_struct("OsRng") - .finish() - } -} diff --git a/vendor/registry-40351f815f426200/rand_os/src/solarish.rs b/vendor/registry-40351f815f426200/rand_os/src/solarish.rs deleted file mode 100644 index 471768adc..000000000 --- a/vendor/registry-40351f815f426200/rand_os/src/solarish.rs +++ /dev/null @@ -1,195 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Implementation for the Solaris family -//! -//! Read from `/dev/random`, with chunks of limited size (1040 bytes). -//! `/dev/random` uses the Hash_DRBG with SHA512 algorithm from NIST SP 800-90A. -//! `/dev/urandom` uses the FIPS 186-2 algorithm, which is considered less -//! secure. We choose to read from `/dev/random`. -//! -//! Since Solaris 11.3 the `getrandom` syscall is available. To make sure we can -//! compile on both Solaris and on OpenSolaris derivatives, that do not have the -//! function, we do a direct syscall instead of calling a library function. -//! -//! We have no way to differentiate between Solaris, illumos, SmartOS, etc. -extern crate libc; - -use rand_core::{Error, ErrorKind}; -use super::random_device; -use super::OsRngImpl; - -use std::io; -use std::io::Read; -use std::fs::{File, OpenOptions}; -use std::os::unix::fs::OpenOptionsExt; -use std::sync::atomic::{AtomicBool, Ordering, AtomicUsize}; -#[allow(deprecated)] // Required for compatibility with Rust < 1.24. -use std::sync::atomic::ATOMIC_BOOL_INIT; -use std::cmp; -use std::mem; - -#[derive(Clone, Debug)] -pub struct OsRng { - method: OsRngMethod, - initialized: bool, -} - -#[derive(Clone, Debug)] -enum OsRngMethod { - GetRandom, - RandomDevice, -} - -impl OsRngImpl for OsRng { - fn new() -> Result { - if is_getrandom_available() { - return Ok(OsRng { method: OsRngMethod::GetRandom, - initialized: false }); - } - let open = |p| OpenOptions::new() - .read(true) - .custom_flags(libc::O_NONBLOCK) - .open(p); - random_device::open("/dev/random", &open)?; - Ok(OsRng { method: OsRngMethod::RandomDevice, initialized: false }) - } - - fn fill_chunk(&mut self, dest: &mut [u8]) -> Result<(), Error> { - match self.method { - OsRngMethod::GetRandom => getrandom_try_fill(dest, false), - OsRngMethod::RandomDevice => random_device::read(dest), - } - } - - fn test_initialized(&mut self, dest: &mut [u8], blocking: bool) - -> Result - { - #[allow(deprecated)] - static OS_RNG_INITIALIZED: AtomicBool = ATOMIC_BOOL_INIT; - if !self.initialized { - self.initialized = OS_RNG_INITIALIZED.load(Ordering::Relaxed); - } - if self.initialized { return Ok(0); } - - let chunk_len = cmp::min(1024, dest.len()); - let dest = &mut dest[..chunk_len]; - - match self.method { - OsRngMethod::GetRandom => getrandom_try_fill(dest, blocking)?, - OsRngMethod::RandomDevice => { - if blocking { - info!("OsRng: testing random device /dev/random"); - // We already have a non-blocking handle, but now need a - // blocking one. Not much choice except opening it twice - let mut file = File::open("/dev/random") - .map_err(random_device::map_err)?; - file.read(dest).map_err(random_device::map_err)?; - } else { - self.fill_chunk(dest)?; - } - } - }; - OS_RNG_INITIALIZED.store(true, Ordering::Relaxed); - self.initialized = true; - Ok(chunk_len) - } - - fn max_chunk_size(&self) -> usize { - // This is the largest size that's guaranteed to not block across - // all the Solarish platforms, though some may allow for larger - // sizes. - 256 - } - - fn method_str(&self) -> &'static str { - match self.method { - OsRngMethod::GetRandom => "getrandom", - OsRngMethod::RandomDevice => "/dev/random", - } - } -} - -#[cfg(target_os = "illumos")] -type GetRandomFn = unsafe extern fn(*mut u8, libc::size_t, libc::c_uint) - -> libc::ssize_t; -#[cfg(target_os = "solaris")] -type GetRandomFn = unsafe extern fn(*mut u8, libc::size_t, libc::c_uint) - -> libc::c_int; - -// Use dlsym to determine if getrandom(2) is present in libc. On Solarish -// systems, the syscall interface is not stable and can change between -// updates. Even worse, issuing unsupported syscalls will cause the system -// to generate a SIGSYS signal (usually terminating the program). -// Instead the stable APIs are exposed via libc. Cache the result of the -// lookup for future calls. This is loosely modeled after the -// libstd::sys::unix::weak macro which unfortunately is not exported. -fn fetch() -> Option { - static FPTR: AtomicUsize = AtomicUsize::new(1); - - if FPTR.load(Ordering::SeqCst) == 1 { - let name = "getrandom\0"; - let addr = unsafe { - libc::dlsym(libc::RTLD_DEFAULT, name.as_ptr() as *const _) as usize - }; - FPTR.store(addr, Ordering::SeqCst); - } - - let ptr = FPTR.load(Ordering::SeqCst); - unsafe { - mem::transmute::>(ptr) - } -} - -fn getrandom(buf: &mut [u8], blocking: bool) -> libc::ssize_t { - const GRND_NONBLOCK: libc::c_uint = 0x0001; - const GRND_RANDOM: libc::c_uint = 0x0002; - - if let Some(rand) = fetch() { - let flag = if blocking { 0 } else { GRND_NONBLOCK } | GRND_RANDOM; - unsafe { - rand(buf.as_mut_ptr(), buf.len(), flag) as libc::ssize_t - } - } else { - -1 - } -} - -fn getrandom_try_fill(dest: &mut [u8], blocking: bool) -> Result<(), Error> { - let result = getrandom(dest, blocking); - if result == -1 || result == 0 { - let err = io::Error::last_os_error(); - let kind = err.kind(); - if kind == io::ErrorKind::WouldBlock { - return Err(Error::with_cause( - ErrorKind::NotReady, - "getrandom not ready", - err, - )); - } else { - return Err(Error::with_cause( - ErrorKind::Unavailable, - "unexpected getrandom error", - err, - )); - } - } else if result != dest.len() as libc::ssize_t { - return Err(Error::new(ErrorKind::Unavailable, - "unexpected getrandom error")); - } - Ok(()) -} - -fn is_getrandom_available() -> bool { - let available = match fetch() { - Some(_) => true, - None => false, - }; - info!("OsRng: using {}", if available { "getrandom" } else { "/dev/random" }); - available -} diff --git a/vendor/registry-40351f815f426200/rand_os/src/wasm32_bindgen.rs b/vendor/registry-40351f815f426200/rand_os/src/wasm32_bindgen.rs deleted file mode 100644 index 5ab2d8417..000000000 --- a/vendor/registry-40351f815f426200/rand_os/src/wasm32_bindgen.rs +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Implementation for WASM via wasm-bindgen - -use rand_core::{Error, ErrorKind}; -use super::OsRngImpl; -use super::__wbg_shims::*; - -use wasm_bindgen::prelude::*; - - -#[derive(Clone, Debug)] -pub enum OsRng { - Node(NodeCrypto), - Browser(BrowserCrypto), -} - -impl OsRngImpl for OsRng { - fn new() -> Result { - // First up we need to detect if we're running in node.js or a - // browser. To do this we get ahold of the `this` object (in a bit - // of a roundabout fashion). - // - // Once we have `this` we look at its `self` property, which is - // only defined on the web (either a main window or web worker). - let this = Function::new("return this").call(&JsValue::undefined()); - assert!(this != JsValue::undefined()); - let this = This::from(this); - let is_browser = this.self_() != JsValue::undefined(); - - if !is_browser { - return Ok(OsRng::Node(node_require("crypto"))) - } - - // If `self` is defined then we're in a browser somehow (main window - // or web worker). Here we want to try to use - // `crypto.getRandomValues`, but if `crypto` isn't defined we assume - // we're in an older web browser and the OS RNG isn't available. - let crypto = this.crypto(); - if crypto.is_undefined() { - let msg = "self.crypto is undefined"; - return Err(Error::new(ErrorKind::Unavailable, msg)) - } - - // Test if `crypto.getRandomValues` is undefined as well - let crypto: BrowserCrypto = crypto.into(); - if crypto.get_random_values_fn().is_undefined() { - let msg = "crypto.getRandomValues is undefined"; - return Err(Error::new(ErrorKind::Unavailable, msg)) - } - - // Ok! `self.crypto.getRandomValues` is a defined value, so let's - // assume we can do browser crypto. - Ok(OsRng::Browser(crypto)) - } - - fn fill_chunk(&mut self, dest: &mut [u8]) -> Result<(), Error> { - match *self { - OsRng::Node(ref n) => n.random_fill_sync(dest), - OsRng::Browser(ref n) => n.get_random_values(dest), - } - Ok(()) - } - - fn max_chunk_size(&self) -> usize { - match *self { - OsRng::Node(_) => usize::max_value(), - OsRng::Browser(_) => { - // see https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues - // - // where it says: - // - // > A QuotaExceededError DOMException is thrown if the - // > requested length is greater than 65536 bytes. - 65536 - } - } - } - - fn method_str(&self) -> &'static str { - match *self { - OsRng::Node(_) => "crypto.randomFillSync", - OsRng::Browser(_) => "crypto.getRandomValues", - } - } -} diff --git a/vendor/registry-40351f815f426200/rand_os/src/wasm32_stdweb.rs b/vendor/registry-40351f815f426200/rand_os/src/wasm32_stdweb.rs deleted file mode 100644 index 3be0ce6a6..000000000 --- a/vendor/registry-40351f815f426200/rand_os/src/wasm32_stdweb.rs +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Implementation for WASM via stdweb - -use std::mem; -use stdweb::unstable::TryInto; -use stdweb::web::error::Error as WebError; -use rand_core::{Error, ErrorKind}; -use super::OsRngImpl; - -#[derive(Clone, Debug)] -enum OsRngMethod { - Browser, - Node -} - -#[derive(Clone, Debug)] -pub struct OsRng(OsRngMethod); - -impl OsRngImpl for OsRng { - fn new() -> Result { - let result = js! { - try { - if ( - typeof self === "object" && - typeof self.crypto === "object" && - typeof self.crypto.getRandomValues === "function" - ) { - return { success: true, ty: 1 }; - } - - if (typeof require("crypto").randomBytes === "function") { - return { success: true, ty: 2 }; - } - - return { success: false, error: new Error("not supported") }; - } catch(err) { - return { success: false, error: err }; - } - }; - - if js!{ return @{ result.as_ref() }.success } == true { - let ty = js!{ return @{ result }.ty }; - - if ty == 1 { Ok(OsRng(OsRngMethod::Browser)) } - else if ty == 2 { Ok(OsRng(OsRngMethod::Node)) } - else { unreachable!() } - } else { - let err: WebError = js!{ return @{ result }.error }.try_into().unwrap(); - Err(Error::with_cause(ErrorKind::Unavailable, "WASM Error", err)) - } - } - - - fn fill_chunk(&mut self, dest: &mut [u8]) -> Result<(), Error> { - assert_eq!(mem::size_of::(), 4); - - let len = dest.len() as u32; - let ptr = dest.as_mut_ptr() as i32; - - let result = match self.0 { - OsRngMethod::Browser => js! { - try { - let array = new Uint8Array(@{ len }); - self.crypto.getRandomValues(array); - HEAPU8.set(array, @{ ptr }); - - return { success: true }; - } catch(err) { - return { success: false, error: err }; - } - }, - OsRngMethod::Node => js! { - try { - let bytes = require("crypto").randomBytes(@{ len }); - HEAPU8.set(new Uint8Array(bytes), @{ ptr }); - - return { success: true }; - } catch(err) { - return { success: false, error: err }; - } - } - }; - - if js!{ return @{ result.as_ref() }.success } == true { - Ok(()) - } else { - let err: WebError = js!{ return @{ result }.error }.try_into().unwrap(); - Err(Error::with_cause(ErrorKind::Unexpected, "WASM Error", err)) - } - } - - fn max_chunk_size(&self) -> usize { 65536 } - - fn method_str(&self) -> &'static str { - match self.0 { - OsRngMethod::Browser => "Crypto.getRandomValues", - OsRngMethod::Node => "crypto.randomBytes", - } - } -} diff --git a/vendor/registry-40351f815f426200/rand_os/src/windows.rs b/vendor/registry-40351f815f426200/rand_os/src/windows.rs deleted file mode 100644 index 6b06c7abf..000000000 --- a/vendor/registry-40351f815f426200/rand_os/src/windows.rs +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Implementation for Windows - -extern crate winapi; - -use rand_core::{Error, ErrorKind}; -use super::OsRngImpl; - -use std::io; - -use self::winapi::shared::minwindef::ULONG; -use self::winapi::um::ntsecapi::RtlGenRandom; -use self::winapi::um::winnt::PVOID; - -#[derive(Clone, Debug)] -pub struct OsRng; - -impl OsRngImpl for OsRng { - fn new() -> Result { Ok(OsRng) } - - fn fill_chunk(&mut self, dest: &mut [u8]) -> Result<(), Error> { - let ret = unsafe { - RtlGenRandom(dest.as_mut_ptr() as PVOID, dest.len() as ULONG) - }; - if ret == 0 { - return Err(Error::with_cause( - ErrorKind::Unavailable, - "couldn't generate random bytes", - io::Error::last_os_error())); - } - Ok(()) - } - - fn max_chunk_size(&self) -> usize { ::max_value() as usize } - - fn method_str(&self) -> &'static str { "RtlGenRandom" } -} diff --git a/vendor/registry-40351f815f426200/rand_os/tests/mod.rs b/vendor/registry-40351f815f426200/rand_os/tests/mod.rs deleted file mode 100644 index 2130e169b..000000000 --- a/vendor/registry-40351f815f426200/rand_os/tests/mod.rs +++ /dev/null @@ -1,80 +0,0 @@ -extern crate rand_os; - -use rand_os::rand_core::RngCore; -use rand_os::OsRng; - -#[test] -fn test_os_rng() { - let mut r = OsRng::new().unwrap(); - - r.next_u32(); - r.next_u64(); - - let mut v1 = [0u8; 1000]; - r.fill_bytes(&mut v1); - - let mut v2 = [0u8; 1000]; - r.fill_bytes(&mut v2); - - let mut n_diff_bits = 0; - for i in 0..v1.len() { - n_diff_bits += (v1[i] ^ v2[i]).count_ones(); - } - - // Check at least 1 bit per byte differs. p(failure) < 1e-1000 with random input. - assert!(n_diff_bits >= v1.len() as u32); -} - -#[test] -fn test_os_rng_empty() { - let mut r = OsRng::new().unwrap(); - - let mut empty = [0u8; 0]; - r.fill_bytes(&mut empty); -} - -#[test] -fn test_os_rng_huge() { - let mut r = OsRng::new().unwrap(); - - let mut huge = [0u8; 100_000]; - r.fill_bytes(&mut huge); -} - -#[cfg(not(any(target_arch = "wasm32", target_arch = "asmjs")))] -#[test] -fn test_os_rng_tasks() { - use std::sync::mpsc::channel; - use std::thread; - - let mut txs = vec!(); - for _ in 0..20 { - let (tx, rx) = channel(); - txs.push(tx); - - thread::spawn(move|| { - // wait until all the tasks are ready to go. - rx.recv().unwrap(); - - // deschedule to attempt to interleave things as much - // as possible (XXX: is this a good test?) - let mut r = OsRng::new().unwrap(); - thread::yield_now(); - let mut v = [0u8; 1000]; - - for _ in 0..100 { - r.next_u32(); - thread::yield_now(); - r.next_u64(); - thread::yield_now(); - r.fill_bytes(&mut v); - thread::yield_now(); - } - }); - } - - // start all the tasks - for tx in txs.iter() { - tx.send(()).unwrap(); - } -} diff --git a/vendor/registry-40351f815f426200/rand_pcg/.cargo-checksum.json b/vendor/registry-40351f815f426200/rand_pcg/.cargo-checksum.json deleted file mode 100644 index a21533e56..000000000 --- a/vendor/registry-40351f815f426200/rand_pcg/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"CHANGELOG.md":"f95c32b93b4ba4aac59fcf1d28b1818a8551a450198c075cf5720e71a5db17ef","COPYRIGHT":"90eb64f0279b0d9432accfa6023ff803bc4965212383697eee27a0f426d5f8d5","Cargo.toml":"82101af38b08afd05d0b09aae70b578f3d08d7fdc98ed643498e52175d85c09c","LICENSE-APACHE":"aaff376532ea30a0cd5330b9502ad4a4c8bf769c539c87ffe78819d188a18ebf","LICENSE-MIT":"2234e3cefee876aeb686ad89e978bdb07bf118a1186ab1cf161bcdf69d4b4f57","README.md":"8da8a3dce4abed17df07963b65637cc150093d04d1d7354450afdcee26b0af4f","build.rs":"003108281c4f4bd7a40a93529012acc9d2555c7a4f4b3bfc3ab81d0ed92b8864","src/lib.rs":"443c6e23da72f86d4c0b24698c0d188ee984fce69e4f52d633191399b0051c6c","src/pcg128.rs":"71bc1063e56b0b906aab333438178bb3e636dd1fcdbae2c2452af9143aea5855","src/pcg64.rs":"0b36d28ec2e1cdd630473530785b3143966a4657e52f032e020bb5524be2e044","tests/lcg64xsh32.rs":"5770fb1dd2cce4843de89dccb05f79ffce9c0b8dc68487d09b30b376e8e982e3","tests/mcg128xsl64.rs":"8276f9ce83df0f76b0a242ec35fbbd6a6fcd5aacd9cd9a3b0812b538dc5a70f0"},"package":"abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/rand_pcg/CHANGELOG.md b/vendor/registry-40351f815f426200/rand_pcg/CHANGELOG.md deleted file mode 100644 index 695722480..000000000 --- a/vendor/registry-40351f815f426200/rand_pcg/CHANGELOG.md +++ /dev/null @@ -1,19 +0,0 @@ -# Changelog -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [0.1.2] - 2019-02-23 -- require `bincode` 1.1.2 for i128 auto-detection -- make `bincode` a dev-dependency again #663 -- clean up tests and Serde support - -## [0.1.1] - 2018-10-04 -- make `bincode` an explicit dependency when using Serde - -## [0.1.0] - 2018-10-04 -Initial release, including: - -- `Lcg64Xsh32` aka `Pcg32` -- `Mcg128Xsl64` aka `Pcg64Mcg` diff --git a/vendor/registry-40351f815f426200/rand_pcg/COPYRIGHT b/vendor/registry-40351f815f426200/rand_pcg/COPYRIGHT deleted file mode 100644 index 468d907ca..000000000 --- a/vendor/registry-40351f815f426200/rand_pcg/COPYRIGHT +++ /dev/null @@ -1,12 +0,0 @@ -Copyrights in the Rand project are retained by their contributors. No -copyright assignment is required to contribute to the Rand project. - -For full authorship information, see the version control history. - -Except as otherwise noted (below and/or in individual files), Rand is -licensed under the Apache License, Version 2.0 or - or the MIT license - or , at your option. - -The Rand project includes code from the Rust project -published under these same licenses. diff --git a/vendor/registry-40351f815f426200/rand_pcg/Cargo.toml b/vendor/registry-40351f815f426200/rand_pcg/Cargo.toml deleted file mode 100644 index 346f2f7bc..000000000 --- a/vendor/registry-40351f815f426200/rand_pcg/Cargo.toml +++ /dev/null @@ -1,47 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "rand_pcg" -version = "0.1.2" -authors = ["The Rand Project Developers"] -build = "build.rs" -description = "Selected PCG random number generators\n" -homepage = "https://crates.io/crates/rand_pcg" -documentation = "https://rust-random.github.io/rand/rand_pcg" -readme = "README.md" -keywords = ["random", "rng", "pcg"] -categories = ["algorithms", "no-std"] -license = "MIT/Apache-2.0" -repository = "https://github.com/rust-random/rand" -[dependencies.rand_core] -version = "0.4" - -[dependencies.serde] -version = "1" -optional = true - -[dependencies.serde_derive] -version = "^1.0.38" -optional = true -[dev-dependencies.bincode] -version = "1.1.2" -[build-dependencies.autocfg] -version = "0.1" - -[features] -serde1 = ["serde", "serde_derive"] -[badges.appveyor] -repository = "rust-random/rand" - -[badges.travis-ci] -repository = "rust-random/rand" diff --git a/vendor/registry-40351f815f426200/rand_pcg/LICENSE-APACHE b/vendor/registry-40351f815f426200/rand_pcg/LICENSE-APACHE deleted file mode 100644 index 17d74680f..000000000 --- a/vendor/registry-40351f815f426200/rand_pcg/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/rand_pcg/LICENSE-MIT b/vendor/registry-40351f815f426200/rand_pcg/LICENSE-MIT deleted file mode 100644 index d46f058e9..000000000 --- a/vendor/registry-40351f815f426200/rand_pcg/LICENSE-MIT +++ /dev/null @@ -1,26 +0,0 @@ -Copyright (c) 2014-2017 Melissa O'Neill and PCG Project contributors -Copyright 2018 Developers of the Rand project - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/rand_pcg/README.md b/vendor/registry-40351f815f426200/rand_pcg/README.md deleted file mode 100644 index ae583a1a4..000000000 --- a/vendor/registry-40351f815f426200/rand_pcg/README.md +++ /dev/null @@ -1,43 +0,0 @@ -# rand_pcg - -[![Build Status](https://travis-ci.org/rust-random/rand.svg?branch=master)](https://travis-ci.org/rust-random/rand) -[![Build Status](https://ci.appveyor.com/api/projects/status/github/rust-random/rand?svg=true)](https://ci.appveyor.com/project/rust-random/rand) -[![Latest version](https://img.shields.io/crates/v/rand_pcg.svg)](https://crates.io/crates/rand_pcg) -[[![Book](https://img.shields.io/badge/book-master-yellow.svg)](https://rust-random.github.io/book/) -[![API](https://img.shields.io/badge/api-master-yellow.svg)](https://rust-random.github.io/rand/rand_pcg) -[![API](https://docs.rs/rand_pcg/badge.svg)](https://docs.rs/rand_pcg) -[![Minimum rustc version](https://img.shields.io/badge/rustc-1.22+-lightgray.svg)](https://github.com/rust-random/rand#rust-version-requirements) - -Implements a selection of PCG random number generators. - -> PCG is a family of simple fast space-efficient statistically good algorithms -> for random number generation. [Melissa O'Neill, Harvey Mudd College, 2014]. - -The PCG algorithms are not suitable for cryptographic uses, but perform well -in statistical tests, use little memory and are fairly fast. -See the [pcg-random website](http://www.pcg-random.org/). - -This crate depends on [rand_core](https://crates.io/crates/rand_core) and is -part of the [Rand project](https://github.com/rust-random/rand). - -Links: - -- [API documentation (master)](https://rust-random.github.io/rand/rand_pcg) -- [API documentation (docs.rs)](https://docs.rs/rand_pcg) -- [Changelog](CHANGELOG.md) - - -## Crate Features - -`rand_pcg` is `no_std` compatible by default. - -The `serde1` feature includes implementations of `Serialize` and `Deserialize` -for the included RNGs. - -## License - -`rand_pcg` is distributed under the terms of both the MIT license and the -Apache License (Version 2.0). - -See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT), and -[COPYRIGHT](COPYRIGHT) for details. diff --git a/vendor/registry-40351f815f426200/rand_pcg/build.rs b/vendor/registry-40351f815f426200/rand_pcg/build.rs deleted file mode 100644 index 06e12a47b..000000000 --- a/vendor/registry-40351f815f426200/rand_pcg/build.rs +++ /dev/null @@ -1,7 +0,0 @@ -extern crate autocfg; - -fn main() { - println!("cargo:rerun-if-changed=build.rs"); - let ac = autocfg::new(); - ac.emit_rustc_version(1, 26); -} diff --git a/vendor/registry-40351f815f426200/rand_pcg/src/lib.rs b/vendor/registry-40351f815f426200/rand_pcg/src/lib.rs deleted file mode 100644 index 9648e85d2..000000000 --- a/vendor/registry-40351f815f426200/rand_pcg/src/lib.rs +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The PCG random number generators. -//! -//! This is a native Rust implementation of a small selection of PCG generators. -//! The primary goal of this crate is simple, minimal, well-tested code; in -//! other words it is explicitly not a goal to re-implement all of PCG. -//! -//! This crate provides: -//! -//! - `Pcg32` aka `Lcg64Xsh32`, officially known as `pcg32`, a general -//! purpose RNG. This is a good choice on both 32-bit and 64-bit CPUs -//! (for 32-bit output). -//! - `Pcg64Mcg` aka `Mcg128Xsl64`, officially known as `mcg_xsl_rr_128_64`, -//! a general purpose RNG using 128-bit multiplications. This has poor -//! performance on 32-bit CPUs but is a good choice on 64-bit CPUs for -//! both 32-bit and 64-bit output. (Note: this RNG is only available using -//! Rust 1.26 or later.) -//! -//! Both of these use 16 bytes of state and 128-bit seeds, and are considered -//! value-stable (i.e. any change affecting the output given a fixed seed would -//! be considered a breaking change to the crate). - -#![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk.png", - html_favicon_url = "https://www.rust-lang.org/favicon.ico", - html_root_url = "https://rust-random.github.io/rand/")] - -#![deny(missing_docs)] -#![deny(missing_debug_implementations)] - -#![no_std] - -pub extern crate rand_core; - -#[cfg(feature="serde1")] extern crate serde; -#[cfg(feature="serde1")] #[macro_use] extern crate serde_derive; - -mod pcg64; -#[cfg(all(rustc_1_26, not(target_os = "emscripten")))] mod pcg128; - -pub use self::pcg64::{Pcg32, Lcg64Xsh32}; -#[cfg(all(rustc_1_26, not(target_os = "emscripten")))] pub use self::pcg128::{Pcg64Mcg, Mcg128Xsl64}; diff --git a/vendor/registry-40351f815f426200/rand_pcg/src/pcg128.rs b/vendor/registry-40351f815f426200/rand_pcg/src/pcg128.rs deleted file mode 100644 index 9aff50607..000000000 --- a/vendor/registry-40351f815f426200/rand_pcg/src/pcg128.rs +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2017 Paul Dicker. -// Copyright 2014-2017 Melissa O'Neill and PCG Project contributors -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! PCG random number generators - -// This is the default multiplier used by PCG for 64-bit state. -const MULTIPLIER: u128 = 0x2360_ED05_1FC6_5DA4_4385_DF64_9FCC_F645; - -use core::fmt; -use core::mem::transmute; -use rand_core::{RngCore, SeedableRng, Error, le}; - -/// A PCG random number generator (XSL 128/64 (MCG) variant). -/// -/// Permuted Congruential Generator with 128-bit state, internal Multiplicative -/// Congruential Generator, and 64-bit output via "xorshift low (bits), -/// random rotation" output function. -/// -/// This is a 128-bit MCG with the PCG-XSL-RR output function. -/// Note that compared to the standard `pcg64` (128-bit LCG with PCG-XSL-RR -/// output function), this RNG is faster, also has a long cycle, and still has -/// good performance on statistical tests. -/// -/// Note: this RNG is only available using Rust 1.26 or later. -#[derive(Clone)] -#[cfg_attr(feature="serde1", derive(Serialize,Deserialize))] -pub struct Mcg128Xsl64 { - state: u128, -} - -/// A friendly name for `Mcg128Xsl64`. -pub type Pcg64Mcg = Mcg128Xsl64; - -impl Mcg128Xsl64 { - /// Construct an instance compatible with PCG seed. - /// - /// Note that PCG specifies a default value for the parameter: - /// - /// - `state = 0xcafef00dd15ea5e5` - pub fn new(state: u128) -> Self { - // Force low bit to 1, as in C version (C++ uses `state | 3` instead). - Mcg128Xsl64 { state: state | 1 } - } -} - -// Custom Debug implementation that does not expose the internal state -impl fmt::Debug for Mcg128Xsl64 { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "Mcg128Xsl64 {{}}") - } -} - -/// We use a single 126-bit seed to initialise the state and select a stream. -/// Two `seed` bits (lowest order of last byte) are ignored. -impl SeedableRng for Mcg128Xsl64 { - type Seed = [u8; 16]; - - fn from_seed(seed: Self::Seed) -> Self { - // Read as if a little-endian u128 value: - let mut seed_u64 = [0u64; 2]; - le::read_u64_into(&seed, &mut seed_u64); - let state = (seed_u64[0] as u128) | - (seed_u64[1] as u128) << 64; - Mcg128Xsl64::new(state) - } -} - -impl RngCore for Mcg128Xsl64 { - #[inline] - fn next_u32(&mut self) -> u32 { - self.next_u64() as u32 - } - - #[inline] - fn next_u64(&mut self) -> u64 { - // prepare the LCG for the next round - let state = self.state.wrapping_mul(MULTIPLIER); - self.state = state; - - // Output function XSL RR ("xorshift low (bits), random rotation") - // Constants are for 128-bit state, 64-bit output - const XSHIFT: u32 = 64; // (128 - 64 + 64) / 2 - const ROTATE: u32 = 122; // 128 - 6 - - let rot = (state >> ROTATE) as u32; - let xsl = ((state >> XSHIFT) as u64) ^ (state as u64); - xsl.rotate_right(rot) - } - - #[inline] - fn fill_bytes(&mut self, dest: &mut [u8]) { - // specialisation of impls::fill_bytes_via_next; approx 3x faster - let mut left = dest; - while left.len() >= 8 { - let (l, r) = {left}.split_at_mut(8); - left = r; - let chunk: [u8; 8] = unsafe { - transmute(self.next_u64().to_le()) - }; - l.copy_from_slice(&chunk); - } - let n = left.len(); - if n > 0 { - let chunk: [u8; 8] = unsafe { - transmute(self.next_u64().to_le()) - }; - left.copy_from_slice(&chunk[..n]); - } - } - - #[inline] - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - Ok(self.fill_bytes(dest)) - } -} diff --git a/vendor/registry-40351f815f426200/rand_pcg/src/pcg64.rs b/vendor/registry-40351f815f426200/rand_pcg/src/pcg64.rs deleted file mode 100644 index 9177ec248..000000000 --- a/vendor/registry-40351f815f426200/rand_pcg/src/pcg64.rs +++ /dev/null @@ -1,141 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// Copyright 2017 Paul Dicker. -// Copyright 2014-2017 Melissa O'Neill and PCG Project contributors -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! PCG random number generators - -use core::fmt; -use core::mem::transmute; -use rand_core::{RngCore, SeedableRng, Error, le, impls}; - -// This is the default multiplier used by PCG for 64-bit state. -const MULTIPLIER: u64 = 6364136223846793005; - -/// A PCG random number generator (XSH RR 64/32 (LCG) variant). -/// -/// Permuted Congruential Generator with 64-bit state, internal Linear -/// Congruential Generator, and 32-bit output via "xorshift high (bits), -/// random rotation" output function. -/// -/// This is a 64-bit LCG with explicitly chosen stream with the PCG-XSH-RR -/// output function. This combination is the standard `pcg32`. -/// -/// Despite the name, this implementation uses 16 bytes (128 bit) space -/// comprising 64 bits of state and 64 bits stream selector. These are both set -/// by `SeedableRng`, using a 128-bit seed. -#[derive(Clone)] -#[cfg_attr(feature="serde1", derive(Serialize,Deserialize))] -pub struct Lcg64Xsh32 { - state: u64, - increment: u64, -} - -/// `Lcg64Xsh32` is also officially known as `pcg32`. -pub type Pcg32 = Lcg64Xsh32; - -impl Lcg64Xsh32 { - /// Construct an instance compatible with PCG seed and stream. - /// - /// Note that PCG specifies default values for both parameters: - /// - /// - `state = 0xcafef00dd15ea5e5` - /// - `stream = 721347520444481703` - pub fn new(state: u64, stream: u64) -> Self { - // The increment must be odd, hence we discard one bit: - let increment = (stream << 1) | 1; - Lcg64Xsh32::from_state_incr(state, increment) - } - - #[inline] - fn from_state_incr(state: u64, increment: u64) -> Self { - let mut pcg = Lcg64Xsh32 { state, increment }; - // Move away from inital value: - pcg.state = pcg.state.wrapping_add(pcg.increment); - pcg.step(); - pcg - } - - #[inline] - fn step(&mut self) { - // prepare the LCG for the next round - self.state = self.state - .wrapping_mul(MULTIPLIER) - .wrapping_add(self.increment); - } -} - -// Custom Debug implementation that does not expose the internal state -impl fmt::Debug for Lcg64Xsh32 { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "Lcg64Xsh32 {{}}") - } -} - -/// We use a single 127-bit seed to initialise the state and select a stream. -/// One `seed` bit (lowest bit of `seed[8]`) is ignored. -impl SeedableRng for Lcg64Xsh32 { - type Seed = [u8; 16]; - - fn from_seed(seed: Self::Seed) -> Self { - let mut seed_u64 = [0u64; 2]; - le::read_u64_into(&seed, &mut seed_u64); - - // The increment must be odd, hence we discard one bit: - Lcg64Xsh32::from_state_incr(seed_u64[0], seed_u64[1] | 1) - } -} - -impl RngCore for Lcg64Xsh32 { - #[inline] - fn next_u32(&mut self) -> u32 { - let state = self.state; - self.step(); - - // Output function XSH RR: xorshift high (bits), followed by a random rotate - // Constants are for 64-bit state, 32-bit output - const ROTATE: u32 = 59; // 64 - 5 - const XSHIFT: u32 = 18; // (5 + 32) / 2 - const SPARE: u32 = 27; // 64 - 32 - 5 - - let rot = (state >> ROTATE) as u32; - let xsh = (((state >> XSHIFT) ^ state) >> SPARE) as u32; - xsh.rotate_right(rot) - } - - #[inline] - fn next_u64(&mut self) -> u64 { - impls::next_u64_via_u32(self) - } - - #[inline] - fn fill_bytes(&mut self, dest: &mut [u8]) { - // specialisation of impls::fill_bytes_via_next; approx 40% faster - let mut left = dest; - while left.len() >= 4 { - let (l, r) = {left}.split_at_mut(4); - left = r; - let chunk: [u8; 4] = unsafe { - transmute(self.next_u32().to_le()) - }; - l.copy_from_slice(&chunk); - } - let n = left.len(); - if n > 0 { - let chunk: [u8; 4] = unsafe { - transmute(self.next_u32().to_le()) - }; - left.copy_from_slice(&chunk[..n]); - } - } - - #[inline] - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - Ok(self.fill_bytes(dest)) - } -} diff --git a/vendor/registry-40351f815f426200/rand_pcg/tests/lcg64xsh32.rs b/vendor/registry-40351f815f426200/rand_pcg/tests/lcg64xsh32.rs deleted file mode 100644 index 775b12c99..000000000 --- a/vendor/registry-40351f815f426200/rand_pcg/tests/lcg64xsh32.rs +++ /dev/null @@ -1,58 +0,0 @@ -extern crate rand_pcg; -extern crate rand_core; -#[cfg(all(feature="serde1", test))] extern crate bincode; - -use rand_core::{RngCore, SeedableRng}; -use rand_pcg::{Lcg64Xsh32, Pcg32}; - -#[test] -fn test_lcg64xsh32_construction() { - // Test that various construction techniques produce a working RNG. - let seed = [1,2,3,4, 5,6,7,8, 9,10,11,12, 13,14,15,16]; - let mut rng1 = Lcg64Xsh32::from_seed(seed); - assert_eq!(rng1.next_u64(), 1204678643940597513); - - let mut rng2 = Lcg64Xsh32::from_rng(&mut rng1).unwrap(); - assert_eq!(rng2.next_u64(), 12384929573776311845); - - let mut rng3 = Lcg64Xsh32::seed_from_u64(0); - assert_eq!(rng3.next_u64(), 18195738587432868099); - - // This is the same as Lcg64Xsh32, so we only have a single test: - let mut rng4 = Pcg32::seed_from_u64(0); - assert_eq!(rng4.next_u64(), 18195738587432868099); -} - -#[test] -fn test_lcg64xsh32_true_values() { - // Numbers copied from official test suite. - let mut rng = Lcg64Xsh32::new(42, 54); - - let mut results = [0u32; 6]; - for i in results.iter_mut() { *i = rng.next_u32(); } - let expected: [u32; 6] = [0xa15c02b7, 0x7b47f409, 0xba1d3330, - 0x83d2f293, 0xbfa4784b, 0xcbed606e]; - assert_eq!(results, expected); -} - -#[cfg(feature="serde1")] -#[test] -fn test_lcg64xsh32_serde() { - use bincode; - use std::io::{BufWriter, BufReader}; - - let mut rng = Lcg64Xsh32::seed_from_u64(0); - - let buf: Vec = Vec::new(); - let mut buf = BufWriter::new(buf); - bincode::serialize_into(&mut buf, &rng).expect("Could not serialize"); - - let buf = buf.into_inner().unwrap(); - let mut read = BufReader::new(&buf[..]); - let mut deserialized: Lcg64Xsh32 = bincode::deserialize_from(&mut read) - .expect("Could not deserialize"); - - for _ in 0..16 { - assert_eq!(rng.next_u64(), deserialized.next_u64()); - } -} diff --git a/vendor/registry-40351f815f426200/rand_pcg/tests/mcg128xsl64.rs b/vendor/registry-40351f815f426200/rand_pcg/tests/mcg128xsl64.rs deleted file mode 100644 index 3279536fc..000000000 --- a/vendor/registry-40351f815f426200/rand_pcg/tests/mcg128xsl64.rs +++ /dev/null @@ -1,59 +0,0 @@ -#![cfg(rustc_1_26)] -extern crate rand_pcg; -extern crate rand_core; -#[cfg(all(feature="serde1", test))] extern crate bincode; - -use rand_core::{RngCore, SeedableRng}; -use rand_pcg::{Mcg128Xsl64, Pcg64Mcg}; - -#[test] -fn test_mcg128xsl64_construction() { - // Test that various construction techniques produce a working RNG. - let seed = [1,2,3,4, 5,6,7,8, 9,10,11,12, 13,14,15,16]; - let mut rng1 = Mcg128Xsl64::from_seed(seed); - assert_eq!(rng1.next_u64(), 7071994460355047496); - - let mut rng2 = Mcg128Xsl64::from_rng(&mut rng1).unwrap(); - assert_eq!(rng2.next_u64(), 12300796107712034932); - - let mut rng3 = Mcg128Xsl64::seed_from_u64(0); - assert_eq!(rng3.next_u64(), 6198063878555692194); - - // This is the same as Mcg128Xsl64, so we only have a single test: - let mut rng4 = Pcg64Mcg::seed_from_u64(0); - assert_eq!(rng4.next_u64(), 6198063878555692194); -} - -#[test] -fn test_mcg128xsl64_true_values() { - // Numbers copied from official test suite (C version). - let mut rng = Mcg128Xsl64::new(42); - - let mut results = [0u64; 6]; - for i in results.iter_mut() { *i = rng.next_u64(); } - let expected: [u64; 6] = [0x63b4a3a813ce700a, 0x382954200617ab24, - 0xa7fd85ae3fe950ce, 0xd715286aa2887737, 0x60c92fee2e59f32c, 0x84c4e96beff30017]; - assert_eq!(results, expected); -} - -#[cfg(feature="serde1")] -#[test] -fn test_mcg128xsl64_serde() { - use bincode; - use std::io::{BufWriter, BufReader}; - - let mut rng = Mcg128Xsl64::seed_from_u64(0); - - let buf: Vec = Vec::new(); - let mut buf = BufWriter::new(buf); - bincode::serialize_into(&mut buf, &rng).expect("Could not serialize"); - - let buf = buf.into_inner().unwrap(); - let mut read = BufReader::new(&buf[..]); - let mut deserialized: Mcg128Xsl64 = bincode::deserialize_from(&mut read) - .expect("Could not deserialize"); - - for _ in 0..16 { - assert_eq!(rng.next_u64(), deserialized.next_u64()); - } -} diff --git a/vendor/registry-40351f815f426200/rand_xorshift/.cargo-checksum.json b/vendor/registry-40351f815f426200/rand_xorshift/.cargo-checksum.json deleted file mode 100644 index ce75b5971..000000000 --- a/vendor/registry-40351f815f426200/rand_xorshift/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"CHANGELOG.md":"8b36d20dea31334f1dabb3c4ef2c5d4f373432e5fc4f16ea247f0c8550f21e1a","COPYRIGHT":"90eb64f0279b0d9432accfa6023ff803bc4965212383697eee27a0f426d5f8d5","Cargo.toml":"3fdcb1949fd24244fb3e608a0bb950f3466799207f6f93759addc26fa89cea68","LICENSE-APACHE":"aaff376532ea30a0cd5330b9502ad4a4c8bf769c539c87ffe78819d188a18ebf","LICENSE-MIT":"209fbbe0ad52d9235e37badf9cadfe4dbdc87203179c0899e738b39ade42177b","README.md":"d15ff53ca6f8a7d4791343836e29fe86ce7528029a05f9f327064aaaa01a5368","src/lib.rs":"642ec47c3419708550926cc03f26ca4915e6471dd796d1f1e83b675fb5633649","tests/mod.rs":"533eb0d703ff6154c21d9655c863223e79f81da026dc4abf79c24d2705ae3813"},"package":"cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/rand_xorshift/CHANGELOG.md b/vendor/registry-40351f815f426200/rand_xorshift/CHANGELOG.md deleted file mode 100644 index 539af4131..000000000 --- a/vendor/registry-40351f815f426200/rand_xorshift/CHANGELOG.md +++ /dev/null @@ -1,11 +0,0 @@ -# Changelog -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [0.1.1] - 2019-01-04 -- Reorganise code and tests; tweak doc - -## [0.1.0] - 2018-07-16 -- Pulled out of the Rand crate diff --git a/vendor/registry-40351f815f426200/rand_xorshift/COPYRIGHT b/vendor/registry-40351f815f426200/rand_xorshift/COPYRIGHT deleted file mode 100644 index 468d907ca..000000000 --- a/vendor/registry-40351f815f426200/rand_xorshift/COPYRIGHT +++ /dev/null @@ -1,12 +0,0 @@ -Copyrights in the Rand project are retained by their contributors. No -copyright assignment is required to contribute to the Rand project. - -For full authorship information, see the version control history. - -Except as otherwise noted (below and/or in individual files), Rand is -licensed under the Apache License, Version 2.0 or - or the MIT license - or , at your option. - -The Rand project includes code from the Rust project -published under these same licenses. diff --git a/vendor/registry-40351f815f426200/rand_xorshift/Cargo.toml b/vendor/registry-40351f815f426200/rand_xorshift/Cargo.toml deleted file mode 100644 index 26aa48129..000000000 --- a/vendor/registry-40351f815f426200/rand_xorshift/Cargo.toml +++ /dev/null @@ -1,45 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "rand_xorshift" -version = "0.1.1" -authors = ["The Rand Project Developers", "The Rust Project Developers"] -description = "Xorshift random number generator\n" -homepage = "https://crates.io/crates/rand_xorshift" -documentation = "https://rust-random.github.io/rand/rand_xorshift" -readme = "README.md" -keywords = ["random", "rng", "xorshift"] -categories = ["algorithms", "no-std"] -license = "MIT/Apache-2.0" -repository = "https://github.com/rust-random/rand" -[dependencies.rand_core] -version = ">=0.2, <0.4" -default-features = false - -[dependencies.serde] -version = "1" -optional = true - -[dependencies.serde_derive] -version = "^1.0.38" -optional = true -[dev-dependencies.bincode] -version = "1" - -[features] -serde1 = ["serde", "serde_derive"] -[badges.appveyor] -repository = "rust-random/rand" - -[badges.travis-ci] -repository = "rust-random/rand" diff --git a/vendor/registry-40351f815f426200/rand_xorshift/LICENSE-APACHE b/vendor/registry-40351f815f426200/rand_xorshift/LICENSE-APACHE deleted file mode 100644 index 17d74680f..000000000 --- a/vendor/registry-40351f815f426200/rand_xorshift/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/rand_xorshift/LICENSE-MIT b/vendor/registry-40351f815f426200/rand_xorshift/LICENSE-MIT deleted file mode 100644 index d93b5baf3..000000000 --- a/vendor/registry-40351f815f426200/rand_xorshift/LICENSE-MIT +++ /dev/null @@ -1,26 +0,0 @@ -Copyright 2018 Developers of the Rand project -Copyright (c) 2014 The Rust Project Developers - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/rand_xorshift/README.md b/vendor/registry-40351f815f426200/rand_xorshift/README.md deleted file mode 100644 index 573ee1231..000000000 --- a/vendor/registry-40351f815f426200/rand_xorshift/README.md +++ /dev/null @@ -1,45 +0,0 @@ -# rand_xorshift - -[![Build Status](https://travis-ci.org/rust-random/rand.svg)](https://travis-ci.org/rust-random/rand) -[![Build Status](https://ci.appveyor.com/api/projects/status/github/rust-random/rand?svg=true)](https://ci.appveyor.com/project/rust-random/rand) -[![Latest version](https://img.shields.io/crates/v/rand_xorshift.svg)](https://crates.io/crates/rand_xorshift) -[![Book](https://img.shields.io/badge/book-master-yellow.svg)](https://rust-random.github.io/book/) -[![API](https://img.shields.io/badge/api-master-yellow.svg)](https://rust-random.github.io/rand/rand_xorshift) -[![API](https://docs.rs/rand_xorshift/badge.svg)](https://docs.rs/rand_xorshift) -[![Minimum rustc version](https://img.shields.io/badge/rustc-1.22+-lightgray.svg)](https://github.com/rust-random/rand#rust-version-requirements) - -Implements the Xorshift random number generator. - -The Xorshift[^1] algorithm is not suitable for cryptographic purposes -but is very fast. If you do not know for sure that it fits your -requirements, use a more secure one such as `StdRng` or `OsRng`. - -[^1]: Marsaglia, George (July 2003). - ["Xorshift RNGs"](https://www.jstatsoft.org/v08/i14/paper). - *Journal of Statistical Software*. Vol. 8 (Issue 14). - -Links: - -- [API documentation (master)](https://rust-random.github.io/rand/rand_xorshift) -- [API documentation (docs.rs)](https://docs.rs/rand_xorshift) -- [Changelog](CHANGELOG.md) - -[rand]: https://crates.io/crates/rand - - -## Crate Features - -`rand_xorshift` is `no_std` compatible. It does not require any functionality -outside of the `core` lib, thus there are no features to configure. - -The `serde1` feature includes implementations of `Serialize` and `Deserialize` -for the included RNGs. - - -## License - -`rand_xorshift` is distributed under the terms of both the MIT license and the -Apache License (Version 2.0). - -See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT), and -[COPYRIGHT](COPYRIGHT) for details. diff --git a/vendor/registry-40351f815f426200/rand_xorshift/src/lib.rs b/vendor/registry-40351f815f426200/rand_xorshift/src/lib.rs deleted file mode 100644 index aad74e49f..000000000 --- a/vendor/registry-40351f815f426200/rand_xorshift/src/lib.rs +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The xorshift random number generator. - -#![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk.png", - html_favicon_url = "https://www.rust-lang.org/favicon.ico", - html_root_url = "https://rust-random.github.io/rand/")] - -#![deny(missing_docs)] -#![deny(missing_debug_implementations)] - -#![no_std] - -extern crate rand_core; - -#[cfg(feature="serde1")] extern crate serde; -#[cfg(feature="serde1")] #[macro_use] extern crate serde_derive; - -use core::num::Wrapping as w; -use core::{fmt, slice}; -use rand_core::{RngCore, SeedableRng, Error, impls, le}; - -/// An Xorshift random number generator. -/// -/// The Xorshift[^1] algorithm is not suitable for cryptographic purposes -/// but is very fast. If you do not know for sure that it fits your -/// requirements, use a more secure one such as `StdRng` or `OsRng`. -/// -/// [^1]: Marsaglia, George (July 2003). -/// ["Xorshift RNGs"](https://www.jstatsoft.org/v08/i14/paper). -/// *Journal of Statistical Software*. Vol. 8 (Issue 14). -#[derive(Clone)] -#[cfg_attr(feature="serde1", derive(Serialize,Deserialize))] -pub struct XorShiftRng { - x: w, - y: w, - z: w, - w: w, -} - -// Custom Debug implementation that does not expose the internal state -impl fmt::Debug for XorShiftRng { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "XorShiftRng {{}}") - } -} - -impl RngCore for XorShiftRng { - #[inline] - fn next_u32(&mut self) -> u32 { - let x = self.x; - let t = x ^ (x << 11); - self.x = self.y; - self.y = self.z; - self.z = self.w; - let w_ = self.w; - self.w = w_ ^ (w_ >> 19) ^ (t ^ (t >> 8)); - self.w.0 - } - - #[inline] - fn next_u64(&mut self) -> u64 { - impls::next_u64_via_u32(self) - } - - #[inline] - fn fill_bytes(&mut self, dest: &mut [u8]) { - impls::fill_bytes_via_next(self, dest) - } - - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { - Ok(self.fill_bytes(dest)) - } -} - -impl SeedableRng for XorShiftRng { - type Seed = [u8; 16]; - - fn from_seed(seed: Self::Seed) -> Self { - let mut seed_u32 = [0u32; 4]; - le::read_u32_into(&seed, &mut seed_u32); - - // Xorshift cannot be seeded with 0 and we cannot return an Error, but - // also do not wish to panic (because a random seed can legitimately be - // 0); our only option is therefore to use a preset value. - if seed_u32.iter().all(|&x| x == 0) { - seed_u32 = [0xBAD_5EED, 0xBAD_5EED, 0xBAD_5EED, 0xBAD_5EED]; - } - - XorShiftRng { - x: w(seed_u32[0]), - y: w(seed_u32[1]), - z: w(seed_u32[2]), - w: w(seed_u32[3]), - } - } - - fn from_rng(mut rng: R) -> Result { - let mut seed_u32 = [0u32; 4]; - loop { - unsafe { - let ptr = seed_u32.as_mut_ptr() as *mut u8; - - let slice = slice::from_raw_parts_mut(ptr, 4 * 4); - rng.try_fill_bytes(slice)?; - } - if !seed_u32.iter().all(|&x| x == 0) { break; } - } - - Ok(XorShiftRng { - x: w(seed_u32[0]), - y: w(seed_u32[1]), - z: w(seed_u32[2]), - w: w(seed_u32[3]), - }) - } -} diff --git a/vendor/registry-40351f815f426200/rand_xorshift/tests/mod.rs b/vendor/registry-40351f815f426200/rand_xorshift/tests/mod.rs deleted file mode 100644 index 8374b6410..000000000 --- a/vendor/registry-40351f815f426200/rand_xorshift/tests/mod.rs +++ /dev/null @@ -1,92 +0,0 @@ -extern crate rand_core; -extern crate rand_xorshift; -#[cfg(all(feature="serde1", test))] extern crate bincode; - -use rand_core::{RngCore, SeedableRng}; -use rand_xorshift::XorShiftRng; - -#[test] -fn test_xorshift_construction() { - // Test that various construction techniques produce a working RNG. - let seed = [1,2,3,4, 5,6,7,8, 9,10,11,12, 13,14,15,16]; - let mut rng1 = XorShiftRng::from_seed(seed); - assert_eq!(rng1.next_u64(), 4325440999699518727); - - let _rng2 = XorShiftRng::from_rng(rng1).unwrap(); - // Note: we cannot test the state of _rng2 because from_rng does not - // fix Endianness. This is allowed in the trait specification. -} - -#[test] -fn test_xorshift_true_values() { - let seed = [16,15,14,13, 12,11,10,9, 8,7,6,5, 4,3,2,1]; - let mut rng = XorShiftRng::from_seed(seed); - - let mut results = [0u32; 9]; - for i in results.iter_mut() { *i = rng.next_u32(); } - let expected: [u32; 9] = [ - 2081028795, 620940381, 269070770, 16943764, 854422573, 29242889, - 1550291885, 1227154591, 271695242]; - assert_eq!(results, expected); - - let mut results = [0u64; 9]; - for i in results.iter_mut() { *i = rng.next_u64(); } - let expected: [u64; 9] = [ - 9247529084182843387, 8321512596129439293, 14104136531997710878, - 6848554330849612046, 343577296533772213, 17828467390962600268, - 9847333257685787782, 7717352744383350108, 1133407547287910111]; - assert_eq!(results, expected); - - let mut results = [0u8; 32]; - rng.fill_bytes(&mut results); - let expected = [102, 57, 212, 16, 233, 130, 49, 183, - 158, 187, 44, 203, 63, 149, 45, 17, - 117, 129, 131, 160, 70, 121, 158, 155, - 224, 209, 192, 53, 10, 62, 57, 72]; - assert_eq!(results, expected); -} - -#[test] -fn test_xorshift_zero_seed() { - // Xorshift does not work with an all zero seed. - // Assert it does not panic. - let seed = [0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; - let mut rng = XorShiftRng::from_seed(seed); - let a = rng.next_u64(); - let b = rng.next_u64(); - assert!(a != 0); - assert!(b != a); -} - -#[test] -fn test_xorshift_clone() { - let seed = [1,2,3,4, 5,5,7,8, 8,7,6,5, 4,3,2,1]; - let mut rng1 = XorShiftRng::from_seed(seed); - let mut rng2 = rng1.clone(); - for _ in 0..16 { - assert_eq!(rng1.next_u64(), rng2.next_u64()); - } -} - -#[cfg(feature="serde1")] -#[test] -fn test_xorshift_serde() { - use bincode; - use std::io::{BufWriter, BufReader}; - - let seed = [1,2,3,4, 5,6,7,8, 9,10,11,12, 13,14,15,16]; - let mut rng = XorShiftRng::from_seed(seed); - - let buf: Vec = Vec::new(); - let mut buf = BufWriter::new(buf); - bincode::serialize_into(&mut buf, &rng).expect("Could not serialize"); - - let buf = buf.into_inner().unwrap(); - let mut read = BufReader::new(&buf[..]); - let mut deserialized: XorShiftRng = bincode::deserialize_from(&mut read) - .expect("Could not deserialize"); - - for _ in 0..16 { - assert_eq!(rng.next_u64(), deserialized.next_u64()); - } -} diff --git a/vendor/registry-40351f815f426200/rdrand/.cargo-checksum.json b/vendor/registry-40351f815f426200/rdrand/.cargo-checksum.json deleted file mode 100644 index c7b5a11ac..000000000 --- a/vendor/registry-40351f815f426200/rdrand/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"f11ed31fc1b481c7d0e24251d7d60d34442f1d25747c887c49dc9fbad7e13e59","LICENSE":"00d7b0c8bf95ea93162fccc84da96b906b15add708eade04f7ee6141f7b53141","README.mkd":"93853e9e773543ed0d0cf696b5fb151b15bddc1ad9c39996c9eb11b20a3c7ff6","appveyor.yml":"f502d8a0755b98e904a40b07e8ba270bccd729045b03c24a7db0dfbb4047b515","benches/rdrand.rs":"f3684c360d43bc8a780868c0a3af43b20d56975e03575122cee87277787cc8d0","benches/rdseed.rs":"520097b15a3f11c0c6a357e6cd23add598be22f37839bbc71040b827b05d1064","benches/std.rs":"6a5b52b070b2a594e735aa617f16fc6a861e64534634cdb61801c3297444f6fe","src/changelog.rs":"644e08c06836ecdf94f9a43aec109e9f05f9d85f00541683c72d0d3893ff8d6a","src/lib.rs":"8fc306db8a304d24c28fcefaec1849c0d8bbca97417420af7b81449c352b2e92"},"package":"678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/rdrand/Cargo.toml b/vendor/registry-40351f815f426200/rdrand/Cargo.toml deleted file mode 100644 index 6b3c80a87..000000000 --- a/vendor/registry-40351f815f426200/rdrand/Cargo.toml +++ /dev/null @@ -1,28 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "rdrand" -version = "0.4.0" -authors = ["Simonas Kazlauskas "] -description = "An implementation of random number generator based on rdrand and rdseed instructions" -documentation = "https://docs.rs/rdrand/0.4.0/" -keywords = ["rand", "rdrand", "rdseed", "random"] -license = "ISC" -repository = "https://github.com/nagisa/rust_rdrand/" -[dependencies.rand_core] -version = "0.3" -default-features = false - -[features] -default = ["std"] -std = [] diff --git a/vendor/registry-40351f815f426200/rdrand/LICENSE b/vendor/registry-40351f815f426200/rdrand/LICENSE deleted file mode 100644 index 4d6f40d43..000000000 --- a/vendor/registry-40351f815f426200/rdrand/LICENSE +++ /dev/null @@ -1,12 +0,0 @@ -Copyright © 2014, Simonas Kazlauskas - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without -fee is hereby granted, provided that the above copyright notice and this permission notice appear -in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS -SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE -AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, -NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. diff --git a/vendor/registry-40351f815f426200/rdrand/README.mkd b/vendor/registry-40351f815f426200/rdrand/README.mkd deleted file mode 100644 index 55ab48b8e..000000000 --- a/vendor/registry-40351f815f426200/rdrand/README.mkd +++ /dev/null @@ -1,8 +0,0 @@ -An implementation of random number generators based on `rdrand` and `rdseed` instructions. - -The random number generators provided by this crate are fairly slow (the latency for these -instructions is pretty high), but provide high quality random bits. Caveat is: neither AMD’s -nor Intel’s designs are public and therefore are not verifiable for lack of backdoors. - -Unless you know what you are doing, use the random number generators provided by the `rand` -crate (such as `EntropyRng`) instead. diff --git a/vendor/registry-40351f815f426200/rdrand/appveyor.yml b/vendor/registry-40351f815f426200/rdrand/appveyor.yml deleted file mode 100644 index 2e915cf4f..000000000 --- a/vendor/registry-40351f815f426200/rdrand/appveyor.yml +++ /dev/null @@ -1,27 +0,0 @@ -environment: - matrix: - - TARGET: 1.30.0-x86_64-pc-windows-msvc - - TARGET: 1.30.0-i686-pc-windows-msvc - - TARGET: 1.30.0-x86_64-pc-windows-gnu - - TARGET: 1.30.0-i686-pc-windows-gnu - - TARGET: nightly-x86_64-pc-windows-msvc - - TARGET: nightly-i686-pc-windows-msvc -install: - - ps: Start-FileDownload "https://static.rust-lang.org/dist/rust-${env:TARGET}.exe" -FileName "rust.exe" - - ps: .\rust.exe /VERYSILENT /NORESTART /DIR="C:\rust" | Out-Null - - ps: $env:PATH="$env:PATH;C:\rust\bin" - - rustc -vV - - cargo -vV -build: off - -test_script: -- cargo test -- cargo test --no-default-features - -for: -- matrix: - only: - - TARGET: nightly-x86_64-pc-windows-msvc - - TARGET: nightly-i686-pc-windows-msvc - test_script: - - cargo bench diff --git a/vendor/registry-40351f815f426200/rdrand/benches/rdrand.rs b/vendor/registry-40351f815f426200/rdrand/benches/rdrand.rs deleted file mode 100644 index 7e70c233e..000000000 --- a/vendor/registry-40351f815f426200/rdrand/benches/rdrand.rs +++ /dev/null @@ -1,49 +0,0 @@ -#![feature(test)] -extern crate rand_core; -extern crate rdrand; -extern crate test; - -use rand_core::RngCore; -use test::Bencher; - -#[bench] -fn bench_u16(b : &mut Bencher) { - if let Ok(gen) = rdrand::RdRand::new() { - b.bytes = 2; - b.iter(|| { - gen.try_next_u16().unwrap() - }); - } -} - -#[bench] -fn bench_u32(b : &mut Bencher) { - if let Ok(mut gen) = rdrand::RdRand::new() { - b.bytes = 4; - b.iter(|| { - gen.next_u32() - }); - } -} - -#[bench] -fn bench_u64(b : &mut Bencher) { - if let Ok(mut gen) = rdrand::RdRand::new() { - b.bytes = 8; - b.iter(|| { - gen.next_u64() - }); - } -} - -#[bench] -fn bench_fill(b : &mut Bencher) { - if let Ok(mut gen) = rdrand::RdRand::new() { - let mut buffer = [0; 128]; - b.bytes = 128; - b.iter(|| { - gen.fill_bytes(&mut buffer); - buffer - }); - } -} diff --git a/vendor/registry-40351f815f426200/rdrand/benches/rdseed.rs b/vendor/registry-40351f815f426200/rdrand/benches/rdseed.rs deleted file mode 100644 index 6bf8cebf9..000000000 --- a/vendor/registry-40351f815f426200/rdrand/benches/rdseed.rs +++ /dev/null @@ -1,49 +0,0 @@ -#![feature(test)] -extern crate rand_core; -extern crate rdrand; -extern crate test; - -use rand_core::RngCore; -use test::Bencher; - -#[bench] -fn bench_rdseed_u16(b : &mut Bencher) { - if let Ok(gen) = rdrand::RdSeed::new() { - b.bytes = 2; - b.iter(|| { - gen.try_next_u16().unwrap() - }); - } -} - -#[bench] -fn bench_rdseed_u32(b : &mut Bencher) { - if let Ok(mut gen) = rdrand::RdSeed::new() { - b.bytes = 4; - b.iter(|| { - gen.next_u32() - }); - } -} - -#[bench] -fn bench_rdseed_u64(b : &mut Bencher) { - if let Ok(mut gen) = rdrand::RdSeed::new() { - b.bytes = 8; - b.iter(|| { - gen.next_u64() - }); - } -} - -#[bench] -fn bench_fill(b : &mut Bencher) { - if let Ok(mut gen) = rdrand::RdSeed::new() { - let mut buffer = [0; 128]; - b.bytes = 128; - b.iter(|| { - gen.fill_bytes(&mut buffer); - buffer - }); - } -} diff --git a/vendor/registry-40351f815f426200/rdrand/benches/std.rs b/vendor/registry-40351f815f426200/rdrand/benches/std.rs deleted file mode 100644 index 3fa8fadd9..000000000 --- a/vendor/registry-40351f815f426200/rdrand/benches/std.rs +++ /dev/null @@ -1,31 +0,0 @@ -// #![feature(test)] -// extern crate rand; -// extern crate test; -// -// use test::Bencher; -// use test::black_box; -// use rand::Rng; -// use rand::StdRng; -// use rand::OsRng; -// -// // OsRng is supposed to be the default for crypto uses. -// #[bench] -// fn bench_osrng_u64(b : &mut Bencher) { -// if let Ok(mut gen) = OsRng::new() { -// b.bytes = 8; -// b.iter(|| { -// black_box(gen.next_u64()); -// }); -// } -// } -// -// // StdRng is the default for everything else. -// #[bench] -// fn bench_stdrng_u64(b : &mut Bencher) { -// if let Ok(mut gen) = StdRng::new() { -// b.bytes = 8; -// b.iter(|| { -// gen.next_u64(); -// }); -// } -// } diff --git a/vendor/registry-40351f815f426200/rdrand/src/changelog.rs b/vendor/registry-40351f815f426200/rdrand/src/changelog.rs deleted file mode 100644 index 503f73810..000000000 --- a/vendor/registry-40351f815f426200/rdrand/src/changelog.rs +++ /dev/null @@ -1,25 +0,0 @@ -//! Project changelog - -/// ## Breaking changes -/// -/// Crate gained an enabled-by-default `std` feature. If you relied on rdrand being `core`-able -/// change your dependency to appear as such: -/// -/// ```toml -/// rdrand = { version = "0.4", default-features = false } -/// ``` -/// -/// This is done so that an advantage of the common feature detection functionality could be -/// employed by users that are not constrained by `core`. This functionality is faster, caches the -/// results and is shared between all users of the functionality. -/// -/// For `core` usage the feature detection has also been improved and will not be done if e.g. -/// crate is built with `rdrand` instructions enabled globally. -pub mod r0_4_0 {} - -/// Crate now works on stable! -/// -/// ## Breaking changes -/// -/// * Updated to `rand_core = ^0.3`. -pub mod r0_3_0 {} diff --git a/vendor/registry-40351f815f426200/rdrand/src/lib.rs b/vendor/registry-40351f815f426200/rdrand/src/lib.rs deleted file mode 100644 index 423ae2139..000000000 --- a/vendor/registry-40351f815f426200/rdrand/src/lib.rs +++ /dev/null @@ -1,472 +0,0 @@ -// Copyright © 2014, Simonas Kazlauskas -// -// Permission to use, copy, modify, and/or distribute this software for any purpose with or without -// fee is hereby granted, provided that the above copyright notice and this permission notice -// appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS -// SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE -// AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, -// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE -// OF THIS SOFTWARE. -//! An implementation of random number generators based on `rdrand` and `rdseed` instructions. -//! -//! The random number generators provided by this crate are fairly slow (the latency for these -//! instructions is pretty high), but provide high quality random bits. Caveat is: neither AMD’s -//! nor Intel’s designs are public and therefore are not verifiable for lack of backdoors. -//! -//! Unless you know what you are doing, use the random number generators provided by the `rand` -//! crate (such as `OsRng`) instead. -//! -//! Here are a measurements for select processor architectures. Check [Agner’s instruction tables] -//! for up-to-date listings. -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//! -//!
ArchitectureLatency (cycles)Maximum throughput (per core)
u16u32u64
AMD Ryzen~1200~1200~2500~12MB/s @ 3.7GHz
Intel Skylake460460460~72MB/s @ 4.2GHz
Intel Haswell320320320~110MB/s @ 4.4GHz
-//! -//! [Agner’s instruction tables]: http://agner.org/optimize/ -#![cfg_attr(not(feature = "std"), no_std)] - -extern crate rand_core; - -#[cfg(feature = "std")] -extern crate core; - -pub mod changelog; - -use rand_core::{RngCore, CryptoRng, Error, ErrorKind}; -use core::slice; - -const RETRY_LIMIT: u8 = 127; - -#[cold] -#[inline(never)] -pub(crate) fn busy_loop_fail() -> ! { - panic!("hardware generator failure"); -} - -/// A cryptographically secure statistically uniform, non-periodic and non-deterministic random bit -/// generator. -/// -/// Note that this generator may be implemented using a deterministic algorithm that is reseeded -/// routinely from a non-deterministic entropy source to achieve the desirable properties. -/// -/// This generator is a viable replacement to any generator, however, since nobody has audited -/// Intel or AMD hardware yet, the usual disclaimers as to their suitability apply. -/// -/// It is potentially faster than `OsRng`, but is only supported on more recent Intel (Ivy Bridge -/// and later) and AMD (Ryzen and later) processors. -#[derive(Clone, Copy)] -pub struct RdRand(()); - -/// A cryptographically secure non-deterministic random bit generator. -/// -/// This generator produces high-entropy output and is suited to seed other pseudo-random -/// generators. -/// -/// This instruction currently is only available in Intel Broadwell (and later) and AMD Ryzen -/// processors. -/// -/// This generator is not intended for general random number generation purposes and should be used -/// to seed other generators implementing [rand_core::SeedableRng]. -#[derive(Clone, Copy)] -pub struct RdSeed(()); - -impl CryptoRng for RdRand {} -impl CryptoRng for RdSeed {} - -mod arch { - #[cfg(target_arch = "x86_64")] - pub use core::arch::x86_64::*; - #[cfg(target_arch = "x86")] - pub use core::arch::x86::*; - - #[cfg(target_arch = "x86")] - pub(crate) unsafe fn _rdrand64_step(dest: &mut u64) -> i32 { - let mut ret1: u32 = ::core::mem::uninitialized(); - let mut ret2: u32 = ::core::mem::uninitialized(); - if _rdrand32_step(&mut ret1) != 0 && _rdrand32_step(&mut ret2) != 0 { - *dest = (ret1 as u64) << 32 | (ret2 as u64); - 1 - } else { - 0 - } - } - - #[cfg(target_arch = "x86")] - pub(crate) unsafe fn _rdseed64_step(dest: &mut u64) -> i32 { - let mut ret1: u32 = ::core::mem::uninitialized(); - let mut ret2: u32 = ::core::mem::uninitialized(); - if _rdseed32_step(&mut ret1) != 0 && _rdseed32_step(&mut ret2) != 0 { - *dest = (ret1 as u64) << 32 | (ret2 as u64); - 1 - } else { - 0 - } - } -} - -#[cfg(not(feature = "std"))] -macro_rules! is_x86_feature_detected { - ("rdrand") => {{ - if cfg!(target_feature="rdrand") { - true - } else if cfg!(target_env = "sgx") { - false - } else { - const FLAG : u32 = 1 << 30; - unsafe { ::arch::__cpuid(1).ecx & FLAG == FLAG } - } - }}; - ("rdseed") => {{ - if cfg!(target_feature = "rdseed") { - true - } else if cfg!(target_env = "sgx") { - false - } else { - const FLAG : u32 = 1 << 18; - unsafe { ::arch::__cpuid(7).ebx & FLAG == FLAG } - } - }}; -} - -macro_rules! loop_rand { - ($el: ty, $step: path) => { { - let mut idx = 0; - loop { - let mut el: $el = ::core::mem::uninitialized(); - if $step(&mut el) != 0 { - break Some(el); - } else if idx == RETRY_LIMIT { - break None; - } - idx += 1; - } - } } -} - -macro_rules! impl_rand { - ($gen:ident, $feat:tt, $step16: path, $step32:path, $step64:path, - maxstep = $maxstep:path, maxty = $maxty: ty) => { - impl $gen { - /// Create a new instance of the random number generator. - /// - /// This constructor checks whether the CPU the program is running on supports the - /// instruction necessary for this generator to operate. If the instruction is not - /// supported, an error is returned. - pub fn new() -> Result { - if is_x86_feature_detected!($feat) { - Ok($gen(())) - } else { - Err(Error::new(rand_core::ErrorKind::Unavailable, - "the instruction is not supported")) - } - } - - /// Generate a single random `u16` value. - /// - /// The underlying instruction may fail for variety reasons (such as actual hardware - /// failure or exhausted entropy), however the exact reason for the failure is not - /// usually exposed. - /// - /// This method will retry calling the instruction a few times, however if all the - /// attempts fail, it will return `None`. - /// - /// In case `None` is returned, the caller should assume that an non-recoverable - /// hardware failure has occured and use another random number genrator instead. - #[inline(always)] - pub fn try_next_u16(&self) -> Option { - #[target_feature(enable = $feat)] - unsafe fn imp() - -> Option { - loop_rand!(u16, $step16) - } - unsafe { imp() } - } - - /// Generate a single random `u32` value. - /// - /// The underlying instruction may fail for variety reasons (such as actual hardware - /// failure or exhausted entropy), however the exact reason for the failure is not - /// usually exposed. - /// - /// This method will retry calling the instruction a few times, however if all the - /// attempts fail, it will return `None`. - /// - /// In case `None` is returned, the caller should assume that an non-recoverable - /// hardware failure has occured and use another random number genrator instead. - #[inline(always)] - pub fn try_next_u32(&self) -> Option { - #[target_feature(enable = $feat)] - unsafe fn imp() - -> Option { - loop_rand!(u32, $step32) - } - unsafe { imp() } - } - - /// Generate a single random `u64` value. - /// - /// The underlying instruction may fail for variety reasons (such as actual hardware - /// failure or exhausted entropy), however the exact reason for the failure is not - /// usually exposed. - /// - /// This method will retry calling the instruction a few times, however if all the - /// attempts fail, it will return `None`. - /// - /// In case `None` is returned, the caller should assume that an non-recoverable - /// hardware failure has occured and use another random number genrator instead. - /// - /// Note, that on 32-bit targets, there’s no underlying instruction to generate a - /// 64-bit number, so it is emulated with the 32-bit version of the instruction. - #[inline(always)] - pub fn try_next_u64(&self) -> Option { - #[target_feature(enable = $feat)] - unsafe fn imp() - -> Option { - loop_rand!(u64, $step64) - } - unsafe { imp() } - } - } - - impl RngCore for $gen { - /// Generate a single random `u32` value. - /// - /// The underlying instruction may fail for variety reasons (such as actual hardware - /// failure or exhausted entropy), however the exact reason for the failure is not - /// usually exposed. - /// - /// # Panic - /// - /// This method will retry calling the instruction a few times, however if all the - /// attempts fail, it will `panic`. - /// - /// In case `panic` occurs, the caller should assume that an non-recoverable - /// hardware failure has occured and use another random number genrator instead. - #[inline(always)] - fn next_u32(&mut self) -> u32 { - if let Some(result) = self.try_next_u32() { - result - } else { - busy_loop_fail() - } - } - - /// Generate a single random `u64` value. - /// - /// The underlying instruction may fail for variety reasons (such as actual hardware - /// failure or exhausted entropy), however the exact reason for the failure is not - /// usually exposed. - /// - /// Note, that on 32-bit targets, there’s no underlying instruction to generate a - /// 64-bit number, so it is emulated with the 32-bit version of the instruction. - /// - /// # Panic - /// - /// This method will retry calling the instruction a few times, however if all the - /// attempts fail, it will `panic`. - /// - /// In case `panic` occurs, the caller should assume that an non-recoverable - /// hardware failure has occured and use another random number genrator instead. - #[inline(always)] - fn next_u64(&mut self) -> u64 { - if let Some(result) = self.try_next_u64() { - result - } else { - busy_loop_fail() - } - } - - /// Fill a buffer `dest` with random data. - /// - /// See `try_fill_bytes` for a more extensive documentation. - /// - /// # Panic - /// - /// This method will panic any time `try_fill_bytes` would return an error. - #[inline(always)] - fn fill_bytes(&mut self, dest: &mut [u8]) { - if let Err(_) = self.try_fill_bytes(dest) { - busy_loop_fail() - } - } - - /// Fill a buffer `dest` with random data. - /// - /// This method will use the most appropriate variant of the instruction available on - /// the machine to achieve the greatest single-core throughput, however it has a - /// slightly higher setup cost than the plain `next_u32` or `next_u64` methods. - /// - /// The underlying instruction may fail for variety reasons (such as actual hardware - /// failure or exhausted entropy), however the exact reason for the failure is not - /// usually exposed. - /// - /// This method will retry calling the instruction a few times, however if all the - /// attempts fail, it will return an error. - /// - /// If an error is returned, the caller should assume that an non-recoverable hardware - /// failure has occured and use another random number genrator instead. - #[inline(always)] - fn try_fill_bytes(&mut self, dest: &mut [u8]) - -> Result<(), Error> { - #[target_feature(enable = $feat)] - unsafe fn imp(dest: &mut [u8]) - -> Result<(), Error> - { - unsafe fn imp_less_fast(mut dest: &mut [u8], word: &mut $maxty, - buffer: &mut &[u8]) - -> Result<(), Error> - { - while !dest.is_empty() { - if buffer.is_empty() { - if let Some(w) = loop_rand!($maxty, $maxstep) { - *word = w; - *buffer = slice::from_raw_parts( - word as *const _ as *const u8, - ::core::mem::size_of::<$maxty>() - ); - } else { - return Err(Error::new(ErrorKind::Unexpected, - "hardware generator failure")); - } - } - - let len = dest.len().min(buffer.len()); - let (copy_src, leftover) = buffer.split_at(len); - let (copy_dest, dest_leftover) = { dest }.split_at_mut(len); - *buffer = leftover; - dest = dest_leftover; - ::core::ptr::copy_nonoverlapping( - copy_src.as_ptr(), copy_dest.as_mut_ptr(), len - ); - } - Ok(()) - } - - let destlen = dest.len(); - if destlen > ::core::mem::size_of::<$maxty>() { - let (left, mid, right) = dest.align_to_mut(); - let mut word = 0; - let mut buffer: &[u8] = &[]; - - for el in mid { - if let Some(val) = loop_rand!($maxty, $maxstep) { - *el = val; - } else { - return Err(Error::new(ErrorKind::Unexpected, - "hardware generator failure")); - } - } - - imp_less_fast(left, &mut word, &mut buffer)?; - imp_less_fast(right, &mut word, &mut buffer) - } else { - let mut word = 0; - let mut buffer: &[u8] = &[]; - imp_less_fast(dest, &mut word, &mut buffer) - } - } - unsafe { imp(dest) } - } - } - } -} - -#[cfg(target_arch = "x86_64")] -impl_rand!(RdRand, "rdrand", - ::arch::_rdrand16_step, ::arch::_rdrand32_step, ::arch::_rdrand64_step, - maxstep = ::arch::_rdrand64_step, maxty = u64); -#[cfg(target_arch = "x86_64")] -impl_rand!(RdSeed, "rdseed", - ::arch::_rdseed16_step, ::arch::_rdseed32_step, ::arch::_rdseed64_step, - maxstep = ::arch::_rdseed64_step, maxty = u64); -#[cfg(target_arch = "x86")] -impl_rand!(RdRand, "rdrand", - ::arch::_rdrand16_step, ::arch::_rdrand32_step, ::arch::_rdrand64_step, - maxstep = ::arch::_rdrand32_step, maxty = u32); -#[cfg(target_arch = "x86")] -impl_rand!(RdSeed, "rdseed", - ::arch::_rdseed16_step, ::arch::_rdseed32_step, ::arch::_rdseed64_step, - maxstep = ::arch::_rdseed32_step, maxty = u32); - -#[test] -fn rdrand_works() { - let _ = RdRand::new().map(|mut r| { - r.next_u32(); - r.next_u64(); - }); -} - -#[test] -fn fill_fills_all_bytes() { - let _ = RdRand::new().map(|mut r| { - let mut peach; - let mut banana; - let mut start = 0; - let mut end = 128; - 'outer: while start < end { - banana = [0; 128]; - for _ in 0..512 { - peach = [0; 128]; - r.fill_bytes(&mut peach[start..end]); - for (b, p) in banana.iter_mut().zip(peach.iter()) { - *b = *b | *p; - } - if (&banana[start..end]).iter().all(|x| *x != 0) { - assert!(banana[..start].iter().all(|x| *x == 0), "all other values must be 0"); - assert!(banana[end..].iter().all(|x| *x == 0), "all other values must be 0"); - if start < 17 { - start += 1; - } else { - end -= 3; - } - continue 'outer; - } - } - panic!("wow, we broke it? {} {} {:?}", start, end, &banana[..]) - } - }); -} - -#[test] -fn rdseed_works() { - let _ = RdSeed::new().map(|mut r| { - r.next_u32(); - r.next_u64(); - }); -} diff --git a/vendor/registry-40351f815f426200/redox_syscall/.cargo-checksum.json b/vendor/registry-40351f815f426200/redox_syscall/.cargo-checksum.json deleted file mode 100644 index 2fcd6e78d..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"d8dffae2831afa4bff1b9bce7178c0628e310c3757afb52aff2a79d949ca443d","LICENSE":"efcfee7981ff72431fffb06925cad00a23dce079ed4354f61030ad5abdb78829","README.md":"9161f18ba7f69b4ca51e844aee8ffb8237513a468c5c3b1f3a5f989044f895ac","src/arch/aarch64.rs":"3c36537214f8e10331d42ce4c7ac57a472db49fed029193c31982279d08bdad5","src/arch/arm.rs":"44ed9097879fce0ebe85d29e25ba378fb3ee7fcd649b569207495ed601c42a1c","src/arch/x86.rs":"e72a7f653c25b1ea5595af7ce991fe0e5c96547e127fc67e4967d60abbe1d3bd","src/arch/x86_64.rs":"4b809fde77985b335b2f53057d0f13debeb3edae2bc3b18bcc7eb0af4b6d8aef","src/call.rs":"b3e8bb24bf8a845e5b72e98671041c315743cac64208dfb8fffee964ae9a29a8","src/data.rs":"6296b1938b0d681c945c8a19933415968683630fabc7d8dc6f7fd7e2fc52d59c","src/error.rs":"d832a641ccb1baf10315e2e1ce59b12c30d605a526fc65a31f63bb3a92c3a2f7","src/flag.rs":"a5695709723fa1ef54b8ae2fd825ca7cf715f81677e99febaa0bdde43fc38d6e","src/io/dma.rs":"740cd441f844718a14f77c2fe292d29b7c468d686505810d8b3281f9528a6fe7","src/io/io.rs":"1bcb36d1867e9bab6a8186cd6928efe70ae2655e9f9d0dd3def20bc0fb6a82f6","src/io/mmio.rs":"b9fdb37d37a25a48106d60f1a977c541cb5162b20b12507c7dcd6eb3dff0a2c8","src/io/mod.rs":"4df12af3e82e6b5fe22112c9f51552112ee4811b7d1131d2a43d608d8d1cac09","src/io/pio.rs":"219fcd317d6c490a14794ec4db9de3e305c722dda720043c67076bda60632bb8","src/lib.rs":"9241e87a8ae552935268b2eecda4bcbc63134325bccf4b3d4bdacd9068794c34","src/number.rs":"4718baa58a0f3e6b9b66d1f328cb2a145e9b1f807654c3079a13b226c4085a29","src/scheme/generate.sh":"b022adacb74f2af1470e691341c37acc1582f428e9b8b6b9dccb790dde594b40","src/scheme/mod.rs":"2679272397bf0247e1a4695853465243ca02960feb4ced1124969f67ebd3e3ce","src/scheme/scheme.rs":"879728e4d4e7d8f3057df5a3a6af1636079135652594ee50ca1b665e876be595","src/scheme/scheme_block.rs":"a8ea17b1101548e9b36f6c9000f68fd5438a796069252f948bde7dda44088a7f","src/scheme/scheme_block_mut.rs":"8b881f84a54e2477967d43eb68dac7c578ff6451dba59eba0d517037b2ac4def","src/scheme/scheme_mut.rs":"30f9b0750437b7f55d5bb24da546fd4afcb3c27b0af06d5f681b8f1c4877e7b4"},"package":"12229c14a0f65c4f1cb046a3b52047cdd9da1f4b30f8a39c5063c8bae515e252"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/redox_syscall/Cargo.toml b/vendor/registry-40351f815f426200/redox_syscall/Cargo.toml deleted file mode 100644 index d7bd8cc6c..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/Cargo.toml +++ /dev/null @@ -1,23 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g., crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "redox_syscall" -version = "0.1.54" -authors = ["Jeremy Soller "] -description = "A Rust library to access raw Redox system calls" -documentation = "https://docs.rs/redox_syscall" -license = "MIT" -repository = "https://gitlab.redox-os.org/redox-os/syscall" - -[lib] -name = "syscall" diff --git a/vendor/registry-40351f815f426200/redox_syscall/LICENSE b/vendor/registry-40351f815f426200/redox_syscall/LICENSE deleted file mode 100644 index 1292bb7fb..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2017 Redox OS Developers - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/redox_syscall/README.md b/vendor/registry-40351f815f426200/redox_syscall/README.md deleted file mode 100644 index 244c90861..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# syscall -[Redox OS](https://gitlab.redox-os.org/redox-os/redox)'s syscall API - -[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE) -[![crates.io](http://meritbadge.herokuapp.com/redox_syscall)](https://crates.io/crates/redox_syscall) -[![docs.rs](https://docs.rs/redox_syscall/badge.svg)](https://docs.rs/redox_syscall) diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/arch/aarch64.rs b/vendor/registry-40351f815f426200/redox_syscall/src/arch/aarch64.rs deleted file mode 100644 index 662f428d0..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/arch/aarch64.rs +++ /dev/null @@ -1,77 +0,0 @@ -use super::error::{Error, Result}; - -pub unsafe fn syscall0(mut a: usize) -> Result { - asm!("svc 0" - : "={x0}"(a) - : "{x8}"(a) - : "x0", "x8" - : "volatile"); - - Error::demux(a) -} - -pub unsafe fn syscall1(mut a: usize, b: usize) -> Result { - asm!("svc 0" - : "={x0}"(a) - : "{x8}"(a), "{x0}"(b) - : "x0", "x8" - : "volatile"); - - Error::demux(a) -} - -// Clobbers all registers - special for clone -pub unsafe fn syscall1_clobber(mut a: usize, b: usize) -> Result { - asm!("svc 0" - : "={x0}"(a) - : "{x8}"(a), "{x0}"(b) - : "memory", - "x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7", - "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", - "x16", "x17","x18", "x19", "x20", "x21", "x22", "x23", - "x24", "x25", "x26", "x27", "x28", "x29", "x30" - : "volatile"); - - Error::demux(a) -} - -pub unsafe fn syscall2(mut a: usize, b: usize, c: usize) -> Result { - asm!("svc 0" - : "={x0}"(a) - : "{x8}"(a), "{x0}"(b), "{x1}"(c) - : "x0", "x1", "x8" - : "volatile"); - - Error::demux(a) -} - -pub unsafe fn syscall3(mut a: usize, b: usize, c: usize, d: usize) -> Result { - asm!("svc 0" - : "={x0}"(a) - : "{x8}"(a), "{x0}"(b), "{x1}"(c), "{x2}"(d) - : "x0", "x1", "x2", "x8" - : "volatile"); - - Error::demux(a) -} - -pub unsafe fn syscall4(mut a: usize, b: usize, c: usize, d: usize, e: usize) -> Result { - asm!("svc 0" - : "={x0}"(a) - : "{x8}"(a), "{x0}"(b), "{x1}"(c), "{x2}"(d), "{x3}"(e) - : "x0", "x1", "x2", "x3", "x8" - : "volatile"); - - Error::demux(a) -} - -pub unsafe fn syscall5(mut a: usize, b: usize, c: usize, d: usize, e: usize, f: usize) - -> Result { - asm!("svc 0" - : "={x0}"(a) - : "{x8}"(a), "{x0}"(b), "{x1}"(c), "{x2}"(d), "{x3}"(e), "{x4}"(f) - : "x0", "x1", "x2", "x3", "x4", "x8" - : "volatile"); - - Error::demux(a) -} diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/arch/arm.rs b/vendor/registry-40351f815f426200/redox_syscall/src/arch/arm.rs deleted file mode 100644 index e640f7ed3..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/arch/arm.rs +++ /dev/null @@ -1,73 +0,0 @@ -use super::error::{Error, Result}; - -pub unsafe fn syscall0(mut a: usize) -> Result { - asm!("swi $$0" - : "={r0}"(a) - : "{r7}"(a) - : "memory" - : "volatile"); - - Error::demux(a) -} - -pub unsafe fn syscall1(mut a: usize, b: usize) -> Result { - asm!("swi $$0" - : "={r0}"(a) - : "{r7}"(a), "{r0}"(b) - : "memory" - : "volatile"); - - Error::demux(a) -} - -// Clobbers all registers - special for clone -pub unsafe fn syscall1_clobber(mut a: usize, b: usize) -> Result { - asm!("swi $$0" - : "={r0}"(a) - : "{r7}"(a), "{r0}"(b) - : "memory", "r0", "r1", "r2", "r3", "r4" - : "volatile"); - - Error::demux(a) -} - -pub unsafe fn syscall2(mut a: usize, b: usize, c: usize) -> Result { - asm!("swi $$0" - : "={r0}"(a) - : "{r7}"(a), "{r0}"(b), "{r1}"(c) - : "memory" - : "volatile"); - - Error::demux(a) -} - -pub unsafe fn syscall3(mut a: usize, b: usize, c: usize, d: usize) -> Result { - asm!("swi $$0" - : "={r0}"(a) - : "{r7}"(a), "{r0}"(b), "{r1}"(c), "{r2}"(d) - : "memory" - : "volatile"); - - Error::demux(a) -} - -pub unsafe fn syscall4(mut a: usize, b: usize, c: usize, d: usize, e: usize) -> Result { - asm!("swi $$0" - : "={r0}"(a) - : "{r7}"(a), "{r0}"(b), "{r1}"(c), "{r2}"(d), "{r3}"(e) - : "memory" - : "volatile"); - - Error::demux(a) -} - -pub unsafe fn syscall5(mut a: usize, b: usize, c: usize, d: usize, e: usize, f: usize) - -> Result { - asm!("swi $$0" - : "={r0}"(a) - : "{r7}"(a), "{r0}"(b), "{r1}"(c), "{r2}"(d), "{r3}"(e), "{r4}"(f) - : "memory" - : "volatile"); - - Error::demux(a) -} diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/arch/x86.rs b/vendor/registry-40351f815f426200/redox_syscall/src/arch/x86.rs deleted file mode 100644 index 0cd6409bb..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/arch/x86.rs +++ /dev/null @@ -1,73 +0,0 @@ -use super::error::{Error, Result}; - -pub unsafe fn syscall0(mut a: usize) -> Result { - asm!("int 0x80" - : "={eax}"(a) - : "{eax}"(a) - : "memory" - : "intel", "volatile"); - - Error::demux(a) -} - -pub unsafe fn syscall1(mut a: usize, b: usize) -> Result { - asm!("int 0x80" - : "={eax}"(a) - : "{eax}"(a), "{ebx}"(b) - : "memory" - : "intel", "volatile"); - - Error::demux(a) -} - -// Clobbers all registers - special for clone -pub unsafe fn syscall1_clobber(mut a: usize, b: usize) -> Result { - asm!("int 0x80" - : "={eax}"(a) - : "{eax}"(a), "{ebx}"(b) - : "memory", "ebx", "ecx", "edx", "esi", "edi" - : "intel", "volatile"); - - Error::demux(a) -} - -pub unsafe fn syscall2(mut a: usize, b: usize, c: usize) -> Result { - asm!("int 0x80" - : "={eax}"(a) - : "{eax}"(a), "{ebx}"(b), "{ecx}"(c) - : "memory" - : "intel", "volatile"); - - Error::demux(a) -} - -pub unsafe fn syscall3(mut a: usize, b: usize, c: usize, d: usize) -> Result { - asm!("int 0x80" - : "={eax}"(a) - : "{eax}"(a), "{ebx}"(b), "{ecx}"(c), "{edx}"(d) - : "memory" - : "intel", "volatile"); - - Error::demux(a) -} - -pub unsafe fn syscall4(mut a: usize, b: usize, c: usize, d: usize, e: usize) -> Result { - asm!("int 0x80" - : "={eax}"(a) - : "{eax}"(a), "{ebx}"(b), "{ecx}"(c), "{edx}"(d), "{esi}"(e) - : "memory" - : "intel", "volatile"); - - Error::demux(a) -} - -pub unsafe fn syscall5(mut a: usize, b: usize, c: usize, d: usize, e: usize, f: usize) - -> Result { - asm!("int 0x80" - : "={eax}"(a) - : "{eax}"(a), "{ebx}"(b), "{ecx}"(c), "{edx}"(d), "{esi}"(e), "{edi}"(f) - : "memory" - : "intel", "volatile"); - - Error::demux(a) -} diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/arch/x86_64.rs b/vendor/registry-40351f815f426200/redox_syscall/src/arch/x86_64.rs deleted file mode 100644 index 76c3da130..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/arch/x86_64.rs +++ /dev/null @@ -1,74 +0,0 @@ -use super::error::{Error, Result}; - -pub unsafe fn syscall0(mut a: usize) -> Result { - asm!("syscall" - : "={rax}"(a) - : "{rax}"(a) - : "rcx", "r11", "memory" - : "intel", "volatile"); - - Error::demux(a) -} - -pub unsafe fn syscall1(mut a: usize, b: usize) -> Result { - asm!("syscall" - : "={rax}"(a) - : "{rax}"(a), "{rdi}"(b) - : "rcx", "r11", "memory" - : "intel", "volatile"); - - Error::demux(a) -} - -// Clobbers all registers - special for clone -pub unsafe fn syscall1_clobber(mut a: usize, b: usize) -> Result { - asm!("syscall" - : "={rax}"(a) - : "{rax}"(a), "{rdi}"(b) - : "memory", "rbx", "rcx", "rdx", "rsi", "rdi", "r8", - "r9", "r10", "r11", "r12", "r13", "r14", "r15" - : "intel", "volatile"); - - Error::demux(a) -} - -pub unsafe fn syscall2(mut a: usize, b: usize, c: usize) -> Result { - asm!("syscall" - : "={rax}"(a) - : "{rax}"(a), "{rdi}"(b), "{rsi}"(c) - : "rcx", "r11", "memory" - : "intel", "volatile"); - - Error::demux(a) -} - -pub unsafe fn syscall3(mut a: usize, b: usize, c: usize, d: usize) -> Result { - asm!("syscall" - : "={rax}"(a) - : "{rax}"(a), "{rdi}"(b), "{rsi}"(c), "{rdx}"(d) - : "rcx", "r11", "memory" - : "intel", "volatile"); - - Error::demux(a) -} - -pub unsafe fn syscall4(mut a: usize, b: usize, c: usize, d: usize, e: usize) -> Result { - asm!("syscall" - : "={rax}"(a) - : "{rax}"(a), "{rdi}"(b), "{rsi}"(c), "{rdx}"(d), "{r10}"(e) - : "rcx", "r11", "memory" - : "intel", "volatile"); - - Error::demux(a) -} - -pub unsafe fn syscall5(mut a: usize, b: usize, c: usize, d: usize, e: usize, f: usize) - -> Result { - asm!("syscall" - : "={rax}"(a) - : "{rax}"(a), "{rdi}"(b), "{rsi}"(c), "{rdx}"(d), "{r10}"(e), "{r8}"(f) - : "rcx", "r11", "memory" - : "intel", "volatile"); - - Error::demux(a) -} diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/call.rs b/vendor/registry-40351f815f426200/redox_syscall/src/call.rs deleted file mode 100644 index aff381a9b..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/call.rs +++ /dev/null @@ -1,389 +0,0 @@ -use super::arch::*; -use super::data::{Map, SigAction, Stat, StatVfs, TimeSpec}; -use super::error::Result; -use super::number::*; - -use core::{mem, ptr}; - -// Signal restorer -extern "C" fn restorer() -> ! { - sigreturn().unwrap(); - unreachable!(); -} - -/// Set the end of the process's heap -/// -/// When `addr` is `0`, this function will return the current break. -/// -/// When `addr` is nonzero, this function will attempt to set the end of the process's -/// heap to `addr` and return the new program break. The new program break should be -/// checked by the allocator, it may not be exactly `addr`, as it may be aligned to a page -/// boundary. -/// -/// On error, `Err(ENOMEM)` will be returned indicating that no memory is available -pub unsafe fn brk(addr: usize) -> Result { - syscall1(SYS_BRK, addr) -} - -/// Change the process's working directory -/// -/// This function will attempt to set the process's working directory to `path`, which can be -/// either a relative, scheme relative, or absolute path. -/// -/// On success, `Ok(0)` will be returned. On error, one of the following errors will be returned. -/// -/// # Errors -/// -/// * `EACCES` - permission is denied for one of the components of `path`, or `path` -/// * `EFAULT` - `path` does not point to the process's addressible memory -/// * `EIO` - an I/O error occurred -/// * `ENOENT` - `path` does not exit -/// * `ENOTDIR` - `path` is not a directory -pub fn chdir>(path: T) -> Result { - unsafe { syscall2(SYS_CHDIR, path.as_ref().as_ptr() as usize, path.as_ref().len()) } -} - -pub fn chmod>(path: T, mode: usize) -> Result { - unsafe { syscall3(SYS_CHMOD, path.as_ref().as_ptr() as usize, path.as_ref().len(), mode) } -} - -/// Produce a fork of the current process, or a new process thread -pub unsafe fn clone(flags: usize) -> Result { - syscall1_clobber(SYS_CLONE, flags) -} - -/// Close a file -pub fn close(fd: usize) -> Result { - unsafe { syscall1(SYS_CLOSE, fd) } -} - -/// Get the current system time -pub fn clock_gettime(clock: usize, tp: &mut TimeSpec) -> Result { - unsafe { syscall2(SYS_CLOCK_GETTIME, clock, tp as *mut TimeSpec as usize) } -} - -/// Copy and transform a file descriptor -pub fn dup(fd: usize, buf: &[u8]) -> Result { - unsafe { syscall3(SYS_DUP, fd, buf.as_ptr() as usize, buf.len()) } -} - -/// Copy and transform a file descriptor -pub fn dup2(fd: usize, newfd: usize, buf: &[u8]) -> Result { - unsafe { syscall4(SYS_DUP2, fd, newfd, buf.as_ptr() as usize, buf.len()) } -} - -/// Exit the current process -pub fn exit(status: usize) -> Result { - unsafe { syscall1(SYS_EXIT, status) } -} - -/// Change file permissions -pub fn fchmod(fd: usize, mode: u16) -> Result { - unsafe { syscall2(SYS_FCHMOD, fd, mode as usize) } - -} - -/// Change file ownership -pub fn fchown(fd: usize, uid: u32, gid: u32) -> Result { - unsafe { syscall3(SYS_FCHOWN, fd, uid as usize, gid as usize) } - -} - -/// Change file descriptor flags -pub fn fcntl(fd: usize, cmd: usize, arg: usize) -> Result { - unsafe { syscall3(SYS_FCNTL, fd, cmd, arg) } -} - -/// Replace the current process with a new executable -pub fn fexec(fd: usize, args: &[[usize; 2]], vars: &[[usize; 2]]) -> Result { - unsafe { syscall5(SYS_FEXEC, fd, args.as_ptr() as usize, args.len(), vars.as_ptr() as usize, vars.len()) } -} - -/// Map a file into memory -pub unsafe fn fmap(fd: usize, map: &Map) -> Result { - syscall3(SYS_FMAP, fd, map as *const Map as usize, mem::size_of::()) -} - -/// Unmap a memory-mapped file -pub unsafe fn funmap(addr: usize) -> Result { - syscall1(SYS_FUNMAP, addr) -} - -/// Retrieve the canonical path of a file -pub fn fpath(fd: usize, buf: &mut [u8]) -> Result { - unsafe { syscall3(SYS_FPATH, fd, buf.as_mut_ptr() as usize, buf.len()) } -} - -/// Rename a file -pub fn frename>(fd: usize, path: T) -> Result { - unsafe { syscall3(SYS_FRENAME, fd, path.as_ref().as_ptr() as usize, path.as_ref().len()) } -} - -/// Get metadata about a file -pub fn fstat(fd: usize, stat: &mut Stat) -> Result { - unsafe { syscall3(SYS_FSTAT, fd, stat as *mut Stat as usize, mem::size_of::()) } -} - -/// Get metadata about a filesystem -pub fn fstatvfs(fd: usize, stat: &mut StatVfs) -> Result { - unsafe { syscall3(SYS_FSTATVFS, fd, stat as *mut StatVfs as usize, mem::size_of::()) } -} - -/// Sync a file descriptor to its underlying medium -pub fn fsync(fd: usize) -> Result { - unsafe { syscall1(SYS_FSYNC, fd) } -} - -/// Truncate or extend a file to a specified length -pub fn ftruncate(fd: usize, len: usize) -> Result { - unsafe { syscall2(SYS_FTRUNCATE, fd, len) } -} - -// Change modify and/or access times -pub fn futimens(fd: usize, times: &[TimeSpec]) -> Result { - unsafe { syscall3(SYS_FUTIMENS, fd, times.as_ptr() as usize, times.len() * mem::size_of::()) } -} - -/// Fast userspace mutex -pub unsafe fn futex(addr: *mut i32, op: usize, val: i32, val2: usize, addr2: *mut i32) - -> Result { - syscall5(SYS_FUTEX, addr as usize, op, (val as isize) as usize, val2, addr2 as usize) -} - -/// Get the current working directory -pub fn getcwd(buf: &mut [u8]) -> Result { - unsafe { syscall2(SYS_GETCWD, buf.as_mut_ptr() as usize, buf.len()) } -} - -/// Get the effective group ID -pub fn getegid() -> Result { - unsafe { syscall0(SYS_GETEGID) } -} - -/// Get the effective namespace -pub fn getens() -> Result { - unsafe { syscall0(SYS_GETENS) } -} - -/// Get the effective user ID -pub fn geteuid() -> Result { - unsafe { syscall0(SYS_GETEUID) } -} - -/// Get the current group ID -pub fn getgid() -> Result { - unsafe { syscall0(SYS_GETGID) } -} - -/// Get the current namespace -pub fn getns() -> Result { - unsafe { syscall0(SYS_GETNS) } -} - -/// Get the current process ID -pub fn getpid() -> Result { - unsafe { syscall0(SYS_GETPID) } -} - -/// Get the process group ID -pub fn getpgid(pid: usize) -> Result { - unsafe { syscall1(SYS_GETPGID, pid) } -} - -/// Get the parent process ID -pub fn getppid() -> Result { - unsafe { syscall0(SYS_GETPPID) } -} - -/// Get the current user ID -pub fn getuid() -> Result { - unsafe { syscall0(SYS_GETUID) } -} - -/// Set the I/O privilege level -/// -/// # Errors -/// -/// * `EPERM` - `uid != 0` -/// * `EINVAL` - `level > 3` -pub unsafe fn iopl(level: usize) -> Result { - syscall1(SYS_IOPL, level) -} - -/// Send a signal `sig` to the process identified by `pid` -pub fn kill(pid: usize, sig: usize) -> Result { - unsafe { syscall2(SYS_KILL, pid, sig) } -} - -/// Create a link to a file -pub unsafe fn link(old: *const u8, new: *const u8) -> Result { - syscall2(SYS_LINK, old as usize, new as usize) -} - -/// Seek to `offset` bytes in a file descriptor -pub fn lseek(fd: usize, offset: isize, whence: usize) -> Result { - unsafe { syscall3(SYS_LSEEK, fd, offset as usize, whence) } -} - -/// Make a new scheme namespace -pub fn mkns(schemes: &[[usize; 2]]) -> Result { - unsafe { syscall2(SYS_MKNS, schemes.as_ptr() as usize, schemes.len()) } -} - -/// Change mapping flags -pub unsafe fn mprotect(addr: usize, size: usize, flags: usize) -> Result { - syscall3(SYS_MPROTECT, addr, size, flags) -} - -/// Sleep for the time specified in `req` -pub fn nanosleep(req: &TimeSpec, rem: &mut TimeSpec) -> Result { - unsafe { syscall2(SYS_NANOSLEEP, req as *const TimeSpec as usize, - rem as *mut TimeSpec as usize) } -} - -/// Open a file -pub fn open>(path: T, flags: usize) -> Result { - unsafe { syscall3(SYS_OPEN, path.as_ref().as_ptr() as usize, path.as_ref().len(), flags) } -} - -/// Allocate pages, linearly in physical memory -/// -/// # Errors -/// -/// * `EPERM` - `uid != 0` -/// * `ENOMEM` - the system has run out of available memory -pub unsafe fn physalloc(size: usize) -> Result { - syscall1(SYS_PHYSALLOC, size) -} - -/// Free physically allocated pages -/// -/// # Errors -/// -/// * `EPERM` - `uid != 0` -pub unsafe fn physfree(physical_address: usize, size: usize) -> Result { - syscall2(SYS_PHYSFREE, physical_address, size) -} - -/// Map physical memory to virtual memory -/// -/// # Errors -/// -/// * `EPERM` - `uid != 0` -pub unsafe fn physmap(physical_address: usize, size: usize, flags: usize) -> Result { - syscall3(SYS_PHYSMAP, physical_address, size, flags) -} - -/// Unmap previously mapped physical memory -/// -/// # Errors -/// -/// * `EPERM` - `uid != 0` -/// * `EFAULT` - `virtual_address` has not been mapped -pub unsafe fn physunmap(virtual_address: usize) -> Result { - syscall1(SYS_PHYSUNMAP, virtual_address) -} - -/// Create a pair of file descriptors referencing the read and write ends of a pipe -pub fn pipe2(fds: &mut [usize; 2], flags: usize) -> Result { - unsafe { syscall2(SYS_PIPE2, fds.as_ptr() as usize, flags) } -} - -/// Read from a file descriptor into a buffer -pub fn read(fd: usize, buf: &mut [u8]) -> Result { - unsafe { syscall3(SYS_READ, fd, buf.as_mut_ptr() as usize, buf.len()) } -} - -/// Remove a directory -pub fn rmdir>(path: T) -> Result { - unsafe { syscall2(SYS_RMDIR, path.as_ref().as_ptr() as usize, path.as_ref().len()) } -} - -/// Set the process group ID -pub fn setpgid(pid: usize, pgid: usize) -> Result { - unsafe { syscall2(SYS_SETPGID, pid, pgid) } -} - -/// Set the current process group IDs -pub fn setregid(rgid: usize, egid: usize) -> Result { - unsafe { syscall2(SYS_SETREGID, rgid, egid) } -} - -/// Make a new scheme namespace -pub fn setrens(rns: usize, ens: usize) -> Result { - unsafe { syscall2(SYS_SETRENS, rns, ens) } -} - -/// Set the current process user IDs -pub fn setreuid(ruid: usize, euid: usize) -> Result { - unsafe { syscall2(SYS_SETREUID, ruid, euid) } -} - -/// Set up a signal handler -pub fn sigaction(sig: usize, act: Option<&SigAction>, oldact: Option<&mut SigAction>) -> Result { - unsafe { syscall4(SYS_SIGACTION, sig, - act.map(|x| x as *const _).unwrap_or_else(ptr::null) as usize, - oldact.map(|x| x as *mut _).unwrap_or_else(ptr::null_mut) as usize, - restorer as usize) } -} - -/// Get and/or set signal masks -pub fn sigprocmask(how: usize, set: Option<&[u64; 2]>, oldset: Option<&mut [u64; 2]>) -> Result { - unsafe { syscall3(SYS_SIGPROCMASK, how, - set.map(|x| x as *const _).unwrap_or_else(ptr::null) as usize, - oldset.map(|x| x as *mut _).unwrap_or_else(ptr::null_mut) as usize) } -} - -// Return from signal handler -pub fn sigreturn() -> Result { - unsafe { syscall0(SYS_SIGRETURN) } -} - -/// Set the file mode creation mask -pub fn umask(mask: usize) -> Result { - unsafe { syscall1(SYS_UMASK, mask) } -} - -/// Remove a file -pub fn unlink>(path: T) -> Result { - unsafe { syscall2(SYS_UNLINK, path.as_ref().as_ptr() as usize, path.as_ref().len()) } -} - -/// Convert a virtual address to a physical one -/// -/// # Errors -/// -/// * `EPERM` - `uid != 0` -pub unsafe fn virttophys(virtual_address: usize) -> Result { - syscall1(SYS_VIRTTOPHYS, virtual_address) -} - -/// Check if a child process has exited or received a signal -pub fn waitpid(pid: usize, status: &mut usize, options: usize) -> Result { - unsafe { syscall3(SYS_WAITPID, pid, status as *mut usize as usize, options) } -} - -/// Write a buffer to a file descriptor -/// -/// The kernel will attempt to write the bytes in `buf` to the file descriptor `fd`, returning -/// either an `Err`, explained below, or `Ok(count)` where `count` is the number of bytes which -/// were written. -/// -/// # Errors -/// -/// * `EAGAIN` - the file descriptor was opened with `O_NONBLOCK` and writing would block -/// * `EBADF` - the file descriptor is not valid or is not open for writing -/// * `EFAULT` - `buf` does not point to the process's addressible memory -/// * `EIO` - an I/O error occurred -/// * `ENOSPC` - the device containing the file descriptor has no room for data -/// * `EPIPE` - the file descriptor refers to a pipe or socket whose reading end is closed -pub fn write(fd: usize, buf: &[u8]) -> Result { - unsafe { syscall3(SYS_WRITE, fd, buf.as_ptr() as usize, buf.len()) } -} - -/// Yield the process's time slice to the kernel -/// -/// This function will return Ok(0) on success -pub fn sched_yield() -> Result { - unsafe { syscall0(SYS_YIELD) } -} diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/data.rs b/vendor/registry-40351f815f426200/redox_syscall/src/data.rs deleted file mode 100644 index 89e3b9efa..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/data.rs +++ /dev/null @@ -1,219 +0,0 @@ -use core::ops::{Deref, DerefMut}; -use core::{mem, slice}; - -#[derive(Copy, Clone, Debug, Default)] -#[repr(C)] -pub struct Event { - pub id: usize, - pub flags: usize, - pub data: usize -} - -impl Deref for Event { - type Target = [u8]; - fn deref(&self) -> &[u8] { - unsafe { - slice::from_raw_parts(self as *const Event as *const u8, mem::size_of::()) as &[u8] - } - } -} - -impl DerefMut for Event { - fn deref_mut(&mut self) -> &mut [u8] { - unsafe { - slice::from_raw_parts_mut(self as *mut Event as *mut u8, mem::size_of::()) as &mut [u8] - } - } -} - -#[derive(Copy, Clone, Debug, Default)] -#[repr(C)] -pub struct ITimerSpec { - pub it_interval: TimeSpec, - pub it_value: TimeSpec, -} - -impl Deref for ITimerSpec { - type Target = [u8]; - fn deref(&self) -> &[u8] { - unsafe { - slice::from_raw_parts(self as *const ITimerSpec as *const u8, - mem::size_of::()) as &[u8] - } - } -} - -impl DerefMut for ITimerSpec { - fn deref_mut(&mut self) -> &mut [u8] { - unsafe { - slice::from_raw_parts_mut(self as *mut ITimerSpec as *mut u8, - mem::size_of::()) as &mut [u8] - } - } -} - -#[derive(Copy, Clone, Debug, Default)] -#[repr(C)] -pub struct Map { - pub offset: usize, - pub size: usize, - pub flags: usize, -} - -impl Deref for Map { - type Target = [u8]; - fn deref(&self) -> &[u8] { - unsafe { - slice::from_raw_parts(self as *const Map as *const u8, mem::size_of::()) as &[u8] - } - } -} - -impl DerefMut for Map { - fn deref_mut(&mut self) -> &mut [u8] { - unsafe { - slice::from_raw_parts_mut(self as *mut Map as *mut u8, mem::size_of::()) as &mut [u8] - } - } -} - -#[derive(Copy, Clone, Debug, Default)] -#[repr(C)] -pub struct Packet { - pub id: u64, - pub pid: usize, - pub uid: u32, - pub gid: u32, - pub a: usize, - pub b: usize, - pub c: usize, - pub d: usize -} - -impl Deref for Packet { - type Target = [u8]; - fn deref(&self) -> &[u8] { - unsafe { - slice::from_raw_parts(self as *const Packet as *const u8, mem::size_of::()) as &[u8] - } - } -} - -impl DerefMut for Packet { - fn deref_mut(&mut self) -> &mut [u8] { - unsafe { - slice::from_raw_parts_mut(self as *mut Packet as *mut u8, mem::size_of::()) as &mut [u8] - } - } -} - -#[derive(Copy, Clone, Debug)] -#[repr(C)] -pub struct SigAction { - pub sa_handler: extern "C" fn(usize), - pub sa_mask: [u64; 2], - pub sa_flags: usize, -} - -impl Default for SigAction { - fn default() -> Self { - Self { - sa_handler: unsafe { mem::transmute(0usize) }, - sa_mask: [0; 2], - sa_flags: 0, - } - } -} - -#[derive(Copy, Clone, Debug, Default)] -#[repr(C)] -pub struct Stat { - pub st_dev: u64, - pub st_ino: u64, - pub st_mode: u16, - pub st_nlink: u32, - pub st_uid: u32, - pub st_gid: u32, - pub st_size: u64, - pub st_blksize: u32, - pub st_blocks: u64, - pub st_mtime: u64, - pub st_mtime_nsec: u32, - pub st_atime: u64, - pub st_atime_nsec: u32, - pub st_ctime: u64, - pub st_ctime_nsec: u32, -} - -impl Deref for Stat { - type Target = [u8]; - fn deref(&self) -> &[u8] { - unsafe { - slice::from_raw_parts(self as *const Stat as *const u8, - mem::size_of::()) as &[u8] - } - } -} - -impl DerefMut for Stat { - fn deref_mut(&mut self) -> &mut [u8] { - unsafe { - slice::from_raw_parts_mut(self as *mut Stat as *mut u8, - mem::size_of::()) as &mut [u8] - } - } -} - -#[derive(Copy, Clone, Debug, Default)] -#[repr(C)] -pub struct StatVfs { - pub f_bsize: u32, - pub f_blocks: u64, - pub f_bfree: u64, - pub f_bavail: u64, -} - -impl Deref for StatVfs { - type Target = [u8]; - fn deref(&self) -> &[u8] { - unsafe { - slice::from_raw_parts(self as *const StatVfs as *const u8, - mem::size_of::()) as &[u8] - } - } -} - -impl DerefMut for StatVfs { - fn deref_mut(&mut self) -> &mut [u8] { - unsafe { - slice::from_raw_parts_mut(self as *mut StatVfs as *mut u8, - mem::size_of::()) as &mut [u8] - } - } -} - -#[derive(Copy, Clone, Debug, Default)] -#[repr(C)] -pub struct TimeSpec { - pub tv_sec: i64, - pub tv_nsec: i32, -} - -impl Deref for TimeSpec { - type Target = [u8]; - fn deref(&self) -> &[u8] { - unsafe { - slice::from_raw_parts(self as *const TimeSpec as *const u8, - mem::size_of::()) as &[u8] - } - } -} - -impl DerefMut for TimeSpec { - fn deref_mut(&mut self) -> &mut [u8] { - unsafe { - slice::from_raw_parts_mut(self as *mut TimeSpec as *mut u8, - mem::size_of::()) as &mut [u8] - } - } -} diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/error.rs b/vendor/registry-40351f815f426200/redox_syscall/src/error.rs deleted file mode 100644 index fde4796a4..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/error.rs +++ /dev/null @@ -1,311 +0,0 @@ -use core::{fmt, result}; - -#[derive(Eq, PartialEq)] -pub struct Error { - pub errno: i32, -} - -pub type Result = result::Result; - -impl Error { - pub fn new(errno: i32) -> Error { - Error { errno: errno } - } - - pub fn mux(result: Result) -> usize { - match result { - Ok(value) => value, - Err(error) => -error.errno as usize, - } - } - - pub fn demux(value: usize) -> Result { - let errno = -(value as i32); - if errno >= 1 && errno < STR_ERROR.len() as i32 { - Err(Error::new(errno)) - } else { - Ok(value) - } - } - - pub fn text(&self) -> &'static str { - STR_ERROR.get(self.errno as usize).map(|&x| x).unwrap_or("Unknown Error") - } -} - -impl fmt::Debug for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> result::Result<(), fmt::Error> { - f.write_str(self.text()) - } -} - -impl fmt::Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> result::Result<(), fmt::Error> { - f.write_str(self.text()) - } -} - -pub const EPERM: i32 = 1; /* Operation not permitted */ -pub const ENOENT: i32 = 2; /* No such file or directory */ -pub const ESRCH: i32 = 3; /* No such process */ -pub const EINTR: i32 = 4; /* Interrupted system call */ -pub const EIO: i32 = 5; /* I/O error */ -pub const ENXIO: i32 = 6; /* No such device or address */ -pub const E2BIG: i32 = 7; /* Argument list too long */ -pub const ENOEXEC: i32 = 8; /* Exec format error */ -pub const EBADF: i32 = 9; /* Bad file number */ -pub const ECHILD: i32 = 10; /* No child processes */ -pub const EAGAIN: i32 = 11; /* Try again */ -pub const ENOMEM: i32 = 12; /* Out of memory */ -pub const EACCES: i32 = 13; /* Permission denied */ -pub const EFAULT: i32 = 14; /* Bad address */ -pub const ENOTBLK: i32 = 15; /* Block device required */ -pub const EBUSY: i32 = 16; /* Device or resource busy */ -pub const EEXIST: i32 = 17; /* File exists */ -pub const EXDEV: i32 = 18; /* Cross-device link */ -pub const ENODEV: i32 = 19; /* No such device */ -pub const ENOTDIR: i32 = 20; /* Not a directory */ -pub const EISDIR: i32 = 21; /* Is a directory */ -pub const EINVAL: i32 = 22; /* Invalid argument */ -pub const ENFILE: i32 = 23; /* File table overflow */ -pub const EMFILE: i32 = 24; /* Too many open files */ -pub const ENOTTY: i32 = 25; /* Not a typewriter */ -pub const ETXTBSY: i32 = 26; /* Text file busy */ -pub const EFBIG: i32 = 27; /* File too large */ -pub const ENOSPC: i32 = 28; /* No space left on device */ -pub const ESPIPE: i32 = 29; /* Illegal seek */ -pub const EROFS: i32 = 30; /* Read-only file system */ -pub const EMLINK: i32 = 31; /* Too many links */ -pub const EPIPE: i32 = 32; /* Broken pipe */ -pub const EDOM: i32 = 33; /* Math argument out of domain of func */ -pub const ERANGE: i32 = 34; /* Math result not representable */ -pub const EDEADLK: i32 = 35; /* Resource deadlock would occur */ -pub const ENAMETOOLONG: i32 = 36; /* File name too long */ -pub const ENOLCK: i32 = 37; /* No record locks available */ -pub const ENOSYS: i32 = 38; /* Function not implemented */ -pub const ENOTEMPTY: i32 = 39; /* Directory not empty */ -pub const ELOOP: i32 = 40; /* Too many symbolic links encountered */ -pub const EWOULDBLOCK: i32 = 41; /* Operation would block */ -pub const ENOMSG: i32 = 42; /* No message of desired type */ -pub const EIDRM: i32 = 43; /* Identifier removed */ -pub const ECHRNG: i32 = 44; /* Channel number out of range */ -pub const EL2NSYNC: i32 = 45; /* Level 2 not synchronized */ -pub const EL3HLT: i32 = 46; /* Level 3 halted */ -pub const EL3RST: i32 = 47; /* Level 3 reset */ -pub const ELNRNG: i32 = 48; /* Link number out of range */ -pub const EUNATCH: i32 = 49; /* Protocol driver not attached */ -pub const ENOCSI: i32 = 50; /* No CSI structure available */ -pub const EL2HLT: i32 = 51; /* Level 2 halted */ -pub const EBADE: i32 = 52; /* Invalid exchange */ -pub const EBADR: i32 = 53; /* Invalid request descriptor */ -pub const EXFULL: i32 = 54; /* Exchange full */ -pub const ENOANO: i32 = 55; /* No anode */ -pub const EBADRQC: i32 = 56; /* Invalid request code */ -pub const EBADSLT: i32 = 57; /* Invalid slot */ -pub const EDEADLOCK: i32 = 58; /* Resource deadlock would occur */ -pub const EBFONT: i32 = 59; /* Bad font file format */ -pub const ENOSTR: i32 = 60; /* Device not a stream */ -pub const ENODATA: i32 = 61; /* No data available */ -pub const ETIME: i32 = 62; /* Timer expired */ -pub const ENOSR: i32 = 63; /* Out of streams resources */ -pub const ENONET: i32 = 64; /* Machine is not on the network */ -pub const ENOPKG: i32 = 65; /* Package not installed */ -pub const EREMOTE: i32 = 66; /* Object is remote */ -pub const ENOLINK: i32 = 67; /* Link has been severed */ -pub const EADV: i32 = 68; /* Advertise error */ -pub const ESRMNT: i32 = 69; /* Srmount error */ -pub const ECOMM: i32 = 70; /* Communication error on send */ -pub const EPROTO: i32 = 71; /* Protocol error */ -pub const EMULTIHOP: i32 = 72; /* Multihop attempted */ -pub const EDOTDOT: i32 = 73; /* RFS specific error */ -pub const EBADMSG: i32 = 74; /* Not a data message */ -pub const EOVERFLOW: i32 = 75; /* Value too large for defined data type */ -pub const ENOTUNIQ: i32 = 76; /* Name not unique on network */ -pub const EBADFD: i32 = 77; /* File descriptor in bad state */ -pub const EREMCHG: i32 = 78; /* Remote address changed */ -pub const ELIBACC: i32 = 79; /* Can not access a needed shared library */ -pub const ELIBBAD: i32 = 80; /* Accessing a corrupted shared library */ -pub const ELIBSCN: i32 = 81; /* .lib section in a.out corrupted */ -pub const ELIBMAX: i32 = 82; /* Attempting to link in too many shared libraries */ -pub const ELIBEXEC: i32 = 83; /* Cannot exec a shared library directly */ -pub const EILSEQ: i32 = 84; /* Illegal byte sequence */ -pub const ERESTART: i32 = 85; /* Interrupted system call should be restarted */ -pub const ESTRPIPE: i32 = 86; /* Streams pipe error */ -pub const EUSERS: i32 = 87; /* Too many users */ -pub const ENOTSOCK: i32 = 88; /* Socket operation on non-socket */ -pub const EDESTADDRREQ: i32 = 89; /* Destination address required */ -pub const EMSGSIZE: i32 = 90; /* Message too long */ -pub const EPROTOTYPE: i32 = 91; /* Protocol wrong type for socket */ -pub const ENOPROTOOPT: i32 = 92; /* Protocol not available */ -pub const EPROTONOSUPPORT: i32 = 93; /* Protocol not supported */ -pub const ESOCKTNOSUPPORT: i32 = 94; /* Socket type not supported */ -pub const EOPNOTSUPP: i32 = 95; /* Operation not supported on transport endpoint */ -pub const EPFNOSUPPORT: i32 = 96; /* Protocol family not supported */ -pub const EAFNOSUPPORT: i32 = 97; /* Address family not supported by protocol */ -pub const EADDRINUSE: i32 = 98; /* Address already in use */ -pub const EADDRNOTAVAIL: i32 = 99; /* Cannot assign requested address */ -pub const ENETDOWN: i32 = 100; /* Network is down */ -pub const ENETUNREACH: i32 = 101; /* Network is unreachable */ -pub const ENETRESET: i32 = 102; /* Network dropped connection because of reset */ -pub const ECONNABORTED: i32 = 103; /* Software caused connection abort */ -pub const ECONNRESET: i32 = 104; /* Connection reset by peer */ -pub const ENOBUFS: i32 = 105; /* No buffer space available */ -pub const EISCONN: i32 = 106; /* Transport endpoint is already connected */ -pub const ENOTCONN: i32 = 107; /* Transport endpoint is not connected */ -pub const ESHUTDOWN: i32 = 108; /* Cannot send after transport endpoint shutdown */ -pub const ETOOMANYREFS: i32 = 109; /* Too many references: cannot splice */ -pub const ETIMEDOUT: i32 = 110; /* Connection timed out */ -pub const ECONNREFUSED: i32 = 111; /* Connection refused */ -pub const EHOSTDOWN: i32 = 112; /* Host is down */ -pub const EHOSTUNREACH: i32 = 113; /* No route to host */ -pub const EALREADY: i32 = 114; /* Operation already in progress */ -pub const EINPROGRESS: i32 = 115; /* Operation now in progress */ -pub const ESTALE: i32 = 116; /* Stale NFS file handle */ -pub const EUCLEAN: i32 = 117; /* Structure needs cleaning */ -pub const ENOTNAM: i32 = 118; /* Not a XENIX named type file */ -pub const ENAVAIL: i32 = 119; /* No XENIX semaphores available */ -pub const EISNAM: i32 = 120; /* Is a named type file */ -pub const EREMOTEIO: i32 = 121; /* Remote I/O error */ -pub const EDQUOT: i32 = 122; /* Quota exceeded */ -pub const ENOMEDIUM: i32 = 123; /* No medium found */ -pub const EMEDIUMTYPE: i32 = 124; /* Wrong medium type */ -pub const ECANCELED: i32 = 125; /* Operation Canceled */ -pub const ENOKEY: i32 = 126; /* Required key not available */ -pub const EKEYEXPIRED: i32 = 127; /* Key has expired */ -pub const EKEYREVOKED: i32 = 128; /* Key has been revoked */ -pub const EKEYREJECTED: i32 = 129; /* Key was rejected by service */ -pub const EOWNERDEAD: i32 = 130; /* Owner died */ -pub const ENOTRECOVERABLE: i32 = 131; /* State not recoverable */ - -pub static STR_ERROR: [&'static str; 132] = ["Success", - "Operation not permitted", - "No such file or directory", - "No such process", - "Interrupted system call", - "I/O error", - "No such device or address", - "Argument list too long", - "Exec format error", - "Bad file number", - "No child processes", - "Try again", - "Out of memory", - "Permission denied", - "Bad address", - "Block device required", - "Device or resource busy", - "File exists", - "Cross-device link", - "No such device", - "Not a directory", - "Is a directory", - "Invalid argument", - "File table overflow", - "Too many open files", - "Not a typewriter", - "Text file busy", - "File too large", - "No space left on device", - "Illegal seek", - "Read-only file system", - "Too many links", - "Broken pipe", - "Math argument out of domain of func", - "Math result not representable", - "Resource deadlock would occur", - "File name too long", - "No record locks available", - "Function not implemented", - "Directory not empty", - "Too many symbolic links encountered", - "Operation would block", - "No message of desired type", - "Identifier removed", - "Channel number out of range", - "Level 2 not synchronized", - "Level 3 halted", - "Level 3 reset", - "Link number out of range", - "Protocol driver not attached", - "No CSI structure available", - "Level 2 halted", - "Invalid exchange", - "Invalid request descriptor", - "Exchange full", - "No anode", - "Invalid request code", - "Invalid slot", - "Resource deadlock would occur", - "Bad font file format", - "Device not a stream", - "No data available", - "Timer expired", - "Out of streams resources", - "Machine is not on the network", - "Package not installed", - "Object is remote", - "Link has been severed", - "Advertise error", - "Srmount error", - "Communication error on send", - "Protocol error", - "Multihop attempted", - "RFS specific error", - "Not a data message", - "Value too large for defined data type", - "Name not unique on network", - "File descriptor in bad state", - "Remote address changed", - "Can not access a needed shared library", - "Accessing a corrupted shared library", - ".lib section in a.out corrupted", - "Attempting to link in too many shared libraries", - "Cannot exec a shared library directly", - "Illegal byte sequence", - "Interrupted system call should be restarted", - "Streams pipe error", - "Too many users", - "Socket operation on non-socket", - "Destination address required", - "Message too long", - "Protocol wrong type for socket", - "Protocol not available", - "Protocol not supported", - "Socket type not supported", - "Operation not supported on transport endpoint", - "Protocol family not supported", - "Address family not supported by protocol", - "Address already in use", - "Cannot assign requested address", - "Network is down", - "Network is unreachable", - "Network dropped connection because of reset", - "Software caused connection abort", - "Connection reset by peer", - "No buffer space available", - "Transport endpoint is already connected", - "Transport endpoint is not connected", - "Cannot send after transport endpoint shutdown", - "Too many references: cannot splice", - "Connection timed out", - "Connection refused", - "Host is down", - "No route to host", - "Operation already in progress", - "Operation now in progress", - "Stale NFS file handle", - "Structure needs cleaning", - "Not a XENIX named type file", - "No XENIX semaphores available", - "Is a named type file", - "Remote I/O error", - "Quota exceeded", - "No medium found", - "Wrong medium type", - "Operation Canceled", - "Required key not available", - "Key has expired", - "Key has been revoked", - "Key was rejected by service", - "Owner died", - "State not recoverable"]; diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/flag.rs b/vendor/registry-40351f815f426200/redox_syscall/src/flag.rs deleted file mode 100644 index 6a03793b8..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/flag.rs +++ /dev/null @@ -1,162 +0,0 @@ -pub const CLONE_VM: usize = 0x100; -pub const CLONE_FS: usize = 0x200; -pub const CLONE_FILES: usize = 0x400; -pub const CLONE_SIGHAND: usize = 0x800; -pub const CLONE_VFORK: usize = 0x4000; -pub const CLONE_THREAD: usize = 0x10000; -pub const CLONE_STACK: usize = 0x1000_0000; - -pub const CLOCK_REALTIME: usize = 1; -pub const CLOCK_MONOTONIC: usize = 4; - -pub const EVENT_NONE: usize = 0; -pub const EVENT_READ: usize = 1; -pub const EVENT_WRITE: usize = 2; - -pub const F_DUPFD: usize = 0; -pub const F_GETFD: usize = 1; -pub const F_SETFD: usize = 2; -pub const F_GETFL: usize = 3; -pub const F_SETFL: usize = 4; - -pub const FUTEX_WAIT: usize = 0; -pub const FUTEX_WAKE: usize = 1; -pub const FUTEX_REQUEUE: usize = 2; - -pub const MAP_SHARED: usize = 0x0001; -pub const MAP_PRIVATE: usize = 0x0002; - -pub const MODE_TYPE: u16 = 0xF000; -pub const MODE_DIR: u16 = 0x4000; -pub const MODE_FILE: u16 = 0x8000; -pub const MODE_SYMLINK: u16 = 0xA000; -pub const MODE_FIFO: u16 = 0x1000; -pub const MODE_CHR: u16 = 0x2000; - -pub const MODE_PERM: u16 = 0x0FFF; -pub const MODE_SETUID: u16 = 0o4000; -pub const MODE_SETGID: u16 = 0o2000; - -pub const O_RDONLY: usize = 0x0001_0000; -pub const O_WRONLY: usize = 0x0002_0000; -pub const O_RDWR: usize = 0x0003_0000; -pub const O_NONBLOCK: usize = 0x0004_0000; -pub const O_APPEND: usize = 0x0008_0000; -pub const O_SHLOCK: usize = 0x0010_0000; -pub const O_EXLOCK: usize = 0x0020_0000; -pub const O_ASYNC: usize = 0x0040_0000; -pub const O_FSYNC: usize = 0x0080_0000; -pub const O_CLOEXEC: usize = 0x0100_0000; -pub const O_CREAT: usize = 0x0200_0000; -pub const O_TRUNC: usize = 0x0400_0000; -pub const O_EXCL: usize = 0x0800_0000; -pub const O_DIRECTORY: usize = 0x1000_0000; -pub const O_STAT: usize = 0x2000_0000; -pub const O_SYMLINK: usize = 0x4000_0000; -pub const O_NOFOLLOW: usize = 0x8000_0000; -pub const O_ACCMODE: usize = O_RDONLY | O_WRONLY | O_RDWR; - -pub const PHYSMAP_WRITE: usize = 0x0000_0001; -pub const PHYSMAP_WRITE_COMBINE: usize = 0x0000_0002; -pub const PHYSMAP_NO_CACHE: usize = 0x0000_0004; - -pub const PROT_NONE: usize = 0x0000_0000; -pub const PROT_EXEC: usize = 0x0001_0000; -pub const PROT_WRITE: usize = 0x0002_0000; -pub const PROT_READ: usize = 0x0004_0000; - -pub const SEEK_SET: usize = 0; -pub const SEEK_CUR: usize = 1; -pub const SEEK_END: usize = 2; - -pub const SIGHUP: usize = 1; -pub const SIGINT: usize = 2; -pub const SIGQUIT: usize = 3; -pub const SIGILL: usize = 4; -pub const SIGTRAP: usize = 5; -pub const SIGABRT: usize = 6; -pub const SIGBUS: usize = 7; -pub const SIGFPE: usize = 8; -pub const SIGKILL: usize = 9; -pub const SIGUSR1: usize = 10; -pub const SIGSEGV: usize = 11; -pub const SIGUSR2: usize = 12; -pub const SIGPIPE: usize = 13; -pub const SIGALRM: usize = 14; -pub const SIGTERM: usize = 15; -pub const SIGSTKFLT: usize= 16; -pub const SIGCHLD: usize = 17; -pub const SIGCONT: usize = 18; -pub const SIGSTOP: usize = 19; -pub const SIGTSTP: usize = 20; -pub const SIGTTIN: usize = 21; -pub const SIGTTOU: usize = 22; -pub const SIGURG: usize = 23; -pub const SIGXCPU: usize = 24; -pub const SIGXFSZ: usize = 25; -pub const SIGVTALRM: usize= 26; -pub const SIGPROF: usize = 27; -pub const SIGWINCH: usize = 28; -pub const SIGIO: usize = 29; -pub const SIGPWR: usize = 30; -pub const SIGSYS: usize = 31; - -pub const SIG_DFL: usize = 0; -pub const SIG_IGN: usize = 1; - -pub const SIG_BLOCK: usize = 0; -pub const SIG_UNBLOCK: usize = 1; -pub const SIG_SETMASK: usize = 2; - -pub const SA_NOCLDSTOP: usize = 0x00000001; -pub const SA_NOCLDWAIT: usize = 0x00000002; -pub const SA_SIGINFO: usize = 0x00000004; -pub const SA_RESTORER: usize = 0x04000000; -pub const SA_ONSTACK: usize = 0x08000000; -pub const SA_RESTART: usize = 0x10000000; -pub const SA_NODEFER: usize = 0x40000000; -pub const SA_RESETHAND: usize = 0x80000000; - -pub const WNOHANG: usize = 0x01; -pub const WUNTRACED: usize = 0x02; -pub const WCONTINUED: usize = 0x08; - -/// True if status indicates the child is stopped. -pub fn wifstopped(status: usize) -> bool { - (status & 0xff) == 0x7f -} - -/// If wifstopped(status), the signal that stopped the child. -pub fn wstopsig(status: usize) -> usize { - (status >> 8) & 0xff -} - -/// True if status indicates the child continued after a stop. -pub fn wifcontinued(status: usize) -> bool { - status == 0xffff -} - -/// True if STATUS indicates termination by a signal. -pub fn wifsignaled(status: usize) -> bool { - ((status & 0x7f) + 1) as i8 >= 2 -} - -/// If wifsignaled(status), the terminating signal. -pub fn wtermsig(status: usize) -> usize { - status & 0x7f -} - -/// True if status indicates normal termination. -pub fn wifexited(status: usize) -> bool { - wtermsig(status) == 0 -} - -/// If wifexited(status), the exit status. -pub fn wexitstatus(status: usize) -> usize { - (status >> 8) & 0xff -} - -/// True if status indicates a core dump was created. -pub fn wcoredump(status: usize) -> bool { - (status & 0x80) != 0 -} diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/io/dma.rs b/vendor/registry-40351f815f426200/redox_syscall/src/io/dma.rs deleted file mode 100644 index d5334b843..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/io/dma.rs +++ /dev/null @@ -1,76 +0,0 @@ -use core::{mem, ptr}; -use core::ops::{Deref, DerefMut}; - -use Result; - -struct PhysBox { - address: usize, - size: usize -} - -impl PhysBox { - fn new(size: usize) -> Result { - let address = unsafe { ::physalloc(size)? }; - Ok(PhysBox { - address: address, - size: size - }) - } -} - -impl Drop for PhysBox { - fn drop(&mut self) { - let _ = unsafe { ::physfree(self.address, self.size) }; - } -} - -pub struct Dma { - phys: PhysBox, - virt: *mut T -} - -impl Dma { - pub fn new(value: T) -> Result> { - let phys = PhysBox::new(mem::size_of::())?; - let virt = unsafe { ::physmap(phys.address, phys.size, ::PHYSMAP_WRITE)? } as *mut T; - unsafe { ptr::write(virt, value); } - Ok(Dma { - phys: phys, - virt: virt - }) - } - - pub fn zeroed() -> Result> { - let phys = PhysBox::new(mem::size_of::())?; - let virt = unsafe { ::physmap(phys.address, phys.size, ::PHYSMAP_WRITE)? } as *mut T; - unsafe { ptr::write_bytes(virt as *mut u8, 0, phys.size); } - Ok(Dma { - phys: phys, - virt: virt - }) - } - - pub fn physical(&self) -> usize { - self.phys.address - } -} - -impl Deref for Dma { - type Target = T; - fn deref(&self) -> &T { - unsafe { &*self.virt } - } -} - -impl DerefMut for Dma { - fn deref_mut(&mut self) -> &mut T { - unsafe { &mut *self.virt } - } -} - -impl Drop for Dma { - fn drop(&mut self) { - unsafe { drop(ptr::read(self.virt)); } - let _ = unsafe { ::physunmap(self.virt as usize) }; - } -} diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/io/io.rs b/vendor/registry-40351f815f426200/redox_syscall/src/io/io.rs deleted file mode 100644 index fb866b581..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/io/io.rs +++ /dev/null @@ -1,67 +0,0 @@ -use core::cmp::PartialEq; -use core::ops::{BitAnd, BitOr, Not}; - -pub trait Io { - type Value: Copy + PartialEq + BitAnd + BitOr + Not; - - fn read(&self) -> Self::Value; - fn write(&mut self, value: Self::Value); - - #[inline(always)] - fn readf(&self, flags: Self::Value) -> bool { - (self.read() & flags) as Self::Value == flags - } - - #[inline(always)] - fn writef(&mut self, flags: Self::Value, value: bool) { - let tmp: Self::Value = match value { - true => self.read() | flags, - false => self.read() & !flags, - }; - self.write(tmp); - } -} - -pub struct ReadOnly { - inner: I -} - -impl ReadOnly { - pub const fn new(inner: I) -> ReadOnly { - ReadOnly { - inner: inner - } - } - - #[inline(always)] - pub fn read(&self) -> I::Value { - self.inner.read() - } - - #[inline(always)] - pub fn readf(&self, flags: I::Value) -> bool { - self.inner.readf(flags) - } -} - -pub struct WriteOnly { - inner: I -} - -impl WriteOnly { - pub const fn new(inner: I) -> WriteOnly { - WriteOnly { - inner: inner - } - } - - #[inline(always)] - pub fn write(&mut self, value: I::Value) { - self.inner.write(value) - } - - #[inline(always)] - pub fn writef(&mut self, flags: I::Value, value: bool) { - self.inner.writef(flags, value) - } -} diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/io/mmio.rs b/vendor/registry-40351f815f426200/redox_syscall/src/io/mmio.rs deleted file mode 100644 index b8e7727d3..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/io/mmio.rs +++ /dev/null @@ -1,31 +0,0 @@ -use core::ptr::{read_volatile, write_volatile}; -use core::mem::uninitialized; -use core::ops::{BitAnd, BitOr, Not}; - -use super::io::Io; - -#[repr(packed)] -pub struct Mmio { - value: T, -} - -impl Mmio { - /// Create a new Mmio without initializing - pub fn new() -> Self { - Mmio { - value: unsafe { uninitialized() } - } - } -} - -impl Io for Mmio where T: Copy + PartialEq + BitAnd + BitOr + Not { - type Value = T; - - fn read(&self) -> T { - unsafe { read_volatile(&self.value) } - } - - fn write(&mut self, value: T) { - unsafe { write_volatile(&mut self.value, value) }; - } -} diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/io/mod.rs b/vendor/registry-40351f815f426200/redox_syscall/src/io/mod.rs deleted file mode 100644 index a35456e30..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/io/mod.rs +++ /dev/null @@ -1,11 +0,0 @@ -//! I/O functions - -pub use self::dma::*; -pub use self::io::*; -pub use self::mmio::*; -pub use self::pio::*; - -mod dma; -mod io; -mod mmio; -mod pio; diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/io/pio.rs b/vendor/registry-40351f815f426200/redox_syscall/src/io/pio.rs deleted file mode 100644 index 91ae310b6..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/io/pio.rs +++ /dev/null @@ -1,89 +0,0 @@ -use core::marker::PhantomData; - -use super::io::Io; - -/// Generic PIO -#[derive(Copy, Clone)] -pub struct Pio { - port: u16, - value: PhantomData, -} - -impl Pio { - /// Create a PIO from a given port - pub const fn new(port: u16) -> Self { - Pio:: { - port: port, - value: PhantomData, - } - } -} - -/// Read/Write for byte PIO -impl Io for Pio { - type Value = u8; - - /// Read - #[inline(always)] - fn read(&self) -> u8 { - let value: u8; - unsafe { - asm!("in $0, $1" : "={al}"(value) : "{dx}"(self.port) : "memory" : "intel", "volatile"); - } - value - } - - /// Write - #[inline(always)] - fn write(&mut self, value: u8) { - unsafe { - asm!("out $1, $0" : : "{al}"(value), "{dx}"(self.port) : "memory" : "intel", "volatile"); - } - } -} - -/// Read/Write for word PIO -impl Io for Pio { - type Value = u16; - - /// Read - #[inline(always)] - fn read(&self) -> u16 { - let value: u16; - unsafe { - asm!("in $0, $1" : "={ax}"(value) : "{dx}"(self.port) : "memory" : "intel", "volatile"); - } - value - } - - /// Write - #[inline(always)] - fn write(&mut self, value: u16) { - unsafe { - asm!("out $1, $0" : : "{ax}"(value), "{dx}"(self.port) : "memory" : "intel", "volatile"); - } - } -} - -/// Read/Write for doubleword PIO -impl Io for Pio { - type Value = u32; - - /// Read - #[inline(always)] - fn read(&self) -> u32 { - let value: u32; - unsafe { - asm!("in $0, $1" : "={eax}"(value) : "{dx}"(self.port) : "memory" : "intel", "volatile"); - } - value - } - - /// Write - #[inline(always)] - fn write(&mut self, value: u32) { - unsafe { - asm!("out $1, $0" : : "{eax}"(value), "{dx}"(self.port) : "memory" : "intel", "volatile"); - } - } -} diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/lib.rs b/vendor/registry-40351f815f426200/redox_syscall/src/lib.rs deleted file mode 100644 index 8851fbb79..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/lib.rs +++ /dev/null @@ -1,49 +0,0 @@ -#![feature(asm)] -#![feature(const_fn)] -#![no_std] - -pub use self::arch::*; -pub use self::call::*; -pub use self::data::*; -pub use self::error::*; -pub use self::flag::*; -pub use self::io::*; -pub use self::number::*; -pub use self::scheme::*; - -#[cfg(target_arch = "arm")] -#[path="arch/arm.rs"] -mod arch; - -#[cfg(target_arch = "aarch64")] -#[path="arch/aarch64.rs"] -mod arch; - -#[cfg(target_arch = "x86")] -#[path="arch/x86.rs"] -mod arch; - -#[cfg(target_arch = "x86_64")] -#[path="arch/x86_64.rs"] -mod arch; - -/// Function definitions -pub mod call; - -/// Complex structures that are used for some system calls -pub mod data; - -/// All errors that can be generated by a system call -pub mod error; - -/// Flags used as an argument to many system calls -pub mod flag; - -/// Functions for low level hardware control -pub mod io; - -/// Call numbers used by each system call -pub mod number; - -/// A trait useful for scheme handlers -pub mod scheme; diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/number.rs b/vendor/registry-40351f815f426200/redox_syscall/src/number.rs deleted file mode 100644 index ec9acfaac..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/number.rs +++ /dev/null @@ -1,76 +0,0 @@ -pub const SYS_CLASS: usize = 0xF000_0000; -pub const SYS_CLASS_PATH: usize=0x1000_0000; -pub const SYS_CLASS_FILE: usize=0x2000_0000; - -pub const SYS_ARG: usize = 0x0F00_0000; -pub const SYS_ARG_SLICE: usize =0x0100_0000; -pub const SYS_ARG_MSLICE: usize=0x0200_0000; -pub const SYS_ARG_PATH: usize = 0x0300_0000; - -pub const SYS_RET: usize = 0x00F0_0000; -pub const SYS_RET_FILE: usize = 0x0010_0000; - -pub const SYS_LINK: usize = SYS_CLASS_PATH | SYS_ARG_PATH | 9; -pub const SYS_OPEN: usize = SYS_CLASS_PATH | SYS_RET_FILE | 5; -pub const SYS_CHMOD: usize = SYS_CLASS_PATH | 15; -pub const SYS_RMDIR: usize = SYS_CLASS_PATH | 84; -pub const SYS_UNLINK: usize = SYS_CLASS_PATH | 10; - -pub const SYS_CLOSE: usize = SYS_CLASS_FILE | 6; -pub const SYS_DUP: usize = SYS_CLASS_FILE | SYS_RET_FILE | 41; -pub const SYS_DUP2: usize = SYS_CLASS_FILE | SYS_RET_FILE | 63; -pub const SYS_READ: usize = SYS_CLASS_FILE | SYS_ARG_MSLICE | 3; -pub const SYS_WRITE: usize = SYS_CLASS_FILE | SYS_ARG_SLICE | 4; -pub const SYS_LSEEK: usize = SYS_CLASS_FILE | 19; -pub const SYS_FCHMOD: usize = SYS_CLASS_FILE | 94; -pub const SYS_FCHOWN: usize = SYS_CLASS_FILE | 207; -pub const SYS_FCNTL: usize = SYS_CLASS_FILE | 55; -pub const SYS_FEVENT: usize = SYS_CLASS_FILE | 927; -pub const SYS_FEXEC: usize = SYS_CLASS_FILE | 11; -pub const SYS_FMAP: usize = SYS_CLASS_FILE | SYS_ARG_SLICE | 90; -pub const SYS_FUNMAP: usize = SYS_CLASS_FILE | 91; -pub const SYS_FPATH: usize = SYS_CLASS_FILE | SYS_ARG_MSLICE | 928; -pub const SYS_FRENAME: usize = SYS_CLASS_FILE | SYS_ARG_PATH | 38; -pub const SYS_FSTAT: usize = SYS_CLASS_FILE | SYS_ARG_MSLICE | 28; -pub const SYS_FSTATVFS: usize = SYS_CLASS_FILE | SYS_ARG_MSLICE | 100; -pub const SYS_FSYNC: usize = SYS_CLASS_FILE | 118; -pub const SYS_FTRUNCATE: usize =SYS_CLASS_FILE | 93; -pub const SYS_FUTIMENS: usize = SYS_CLASS_FILE | SYS_ARG_SLICE | 320; - -pub const SYS_BRK: usize = 45; -pub const SYS_CHDIR: usize = 12; -pub const SYS_CLOCK_GETTIME: usize = 265; -pub const SYS_CLONE: usize = 120; -pub const SYS_EXIT: usize = 1; -pub const SYS_FUTEX: usize = 240; -pub const SYS_GETCWD: usize = 183; -pub const SYS_GETEGID: usize = 202; -pub const SYS_GETENS: usize = 951; -pub const SYS_GETEUID: usize = 201; -pub const SYS_GETGID: usize = 200; -pub const SYS_GETNS: usize = 950; -pub const SYS_GETPID: usize = 20; -pub const SYS_GETPGID: usize = 132; -pub const SYS_GETPPID: usize = 64; -pub const SYS_GETUID: usize = 199; -pub const SYS_IOPL: usize = 110; -pub const SYS_KILL: usize = 37; -pub const SYS_MPROTECT: usize = 125; -pub const SYS_MKNS: usize = 984; -pub const SYS_NANOSLEEP: usize =162; -pub const SYS_PHYSALLOC: usize =945; -pub const SYS_PHYSFREE: usize = 946; -pub const SYS_PHYSMAP: usize = 947; -pub const SYS_PHYSUNMAP: usize =948; -pub const SYS_VIRTTOPHYS: usize=949; -pub const SYS_PIPE2: usize = 331; -pub const SYS_SETPGID: usize = 57; -pub const SYS_SETREGID: usize = 204; -pub const SYS_SETRENS: usize = 952; -pub const SYS_SETREUID: usize = 203; -pub const SYS_SIGACTION: usize =67; -pub const SYS_SIGPROCMASK:usize=126; -pub const SYS_SIGRETURN: usize =119; -pub const SYS_UMASK: usize = 60; -pub const SYS_WAITPID: usize = 7; -pub const SYS_YIELD: usize = 158; diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/scheme/generate.sh b/vendor/registry-40351f815f426200/redox_syscall/src/scheme/generate.sh deleted file mode 100755 index e5d11ae30..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/scheme/generate.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash - -set -e - -echo "Generating SchemeMut from Scheme" -sed 's/trait Scheme/trait SchemeMut/' scheme.rs \ -| sed 's/\&self/\&mut self/g' \ -> scheme_mut.rs - -echo "Generating SchemeBlock from Scheme" -sed 's/trait Scheme/trait SchemeBlock/' scheme.rs \ -| sed 's/fn handle(\&self, packet: \&mut Packet)/fn handle(\&self, packet: \&Packet) -> Option/' \ -| sed 's/packet.a = Error::mux(res);/res.transpose().map(Error::mux)/' \ -| sed 's/Result/Result>/g' \ -> scheme_block.rs - -echo "Generating SchemeBlockMut from SchemeBlock" -sed 's/trait SchemeBlock/trait SchemeBlockMut/' scheme_block.rs \ -| sed 's/\&self/\&mut self/g' \ -> scheme_block_mut.rs diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/scheme/mod.rs b/vendor/registry-40351f815f426200/redox_syscall/src/scheme/mod.rs deleted file mode 100644 index 66f8fc76d..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/scheme/mod.rs +++ /dev/null @@ -1,9 +0,0 @@ -pub use self::scheme::Scheme; -pub use self::scheme_mut::SchemeMut; -pub use self::scheme_block::SchemeBlock; -pub use self::scheme_block_mut::SchemeBlockMut; - -mod scheme; -mod scheme_mut; -mod scheme_block; -mod scheme_block_mut; diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/scheme/scheme.rs b/vendor/registry-40351f815f426200/redox_syscall/src/scheme/scheme.rs deleted file mode 100644 index c047e9683..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/scheme/scheme.rs +++ /dev/null @@ -1,167 +0,0 @@ -use core::{mem, slice}; - -use data::*; -use error::*; -use number::*; - -pub trait Scheme { - fn handle(&self, packet: &mut Packet) { - let res = match packet.a { - SYS_OPEN => self.open(unsafe { slice::from_raw_parts(packet.b as *const u8, packet.c) }, packet.d, packet.uid, packet.gid), - SYS_CHMOD => self.chmod(unsafe { slice::from_raw_parts(packet.b as *const u8, packet.c) }, packet.d as u16, packet.uid, packet.gid), - SYS_RMDIR => self.rmdir(unsafe { slice::from_raw_parts(packet.b as *const u8, packet.c) }, packet.uid, packet.gid), - SYS_UNLINK => self.unlink(unsafe { slice::from_raw_parts(packet.b as *const u8, packet.c) }, packet.uid, packet.gid), - - SYS_DUP => self.dup(packet.b, unsafe { slice::from_raw_parts(packet.c as *const u8, packet.d) }), - SYS_READ => self.read(packet.b, unsafe { slice::from_raw_parts_mut(packet.c as *mut u8, packet.d) }), - SYS_WRITE => self.write(packet.b, unsafe { slice::from_raw_parts(packet.c as *const u8, packet.d) }), - SYS_LSEEK => self.seek(packet.b, packet.c, packet.d), - SYS_FCHMOD => self.fchmod(packet.b, packet.c as u16), - SYS_FCHOWN => self.fchown(packet.b, packet.c as u32, packet.d as u32), - SYS_FCNTL => self.fcntl(packet.b, packet.c, packet.d), - SYS_FEVENT => self.fevent(packet.b, packet.c), - SYS_FMAP => if packet.d >= mem::size_of::() { - self.fmap(packet.b, unsafe { &*(packet.c as *const Map) }) - } else { - Err(Error::new(EFAULT)) - }, - SYS_FUNMAP => self.funmap(packet.b), - SYS_FPATH => self.fpath(packet.b, unsafe { slice::from_raw_parts_mut(packet.c as *mut u8, packet.d) }), - SYS_FRENAME => self.frename(packet.b, unsafe { slice::from_raw_parts(packet.c as *const u8, packet.d) }, packet.uid, packet.gid), - SYS_FSTAT => if packet.d >= mem::size_of::() { - self.fstat(packet.b, unsafe { &mut *(packet.c as *mut Stat) }) - } else { - Err(Error::new(EFAULT)) - }, - SYS_FSTATVFS => if packet.d >= mem::size_of::() { - self.fstatvfs(packet.b, unsafe { &mut *(packet.c as *mut StatVfs) }) - } else { - Err(Error::new(EFAULT)) - }, - SYS_FSYNC => self.fsync(packet.b), - SYS_FTRUNCATE => self.ftruncate(packet.b, packet.c), - SYS_FUTIMENS => if packet.d >= mem::size_of::() { - self.futimens(packet.b, unsafe { slice::from_raw_parts(packet.c as *const TimeSpec, packet.d / mem::size_of::()) }) - } else { - Err(Error::new(EFAULT)) - }, - SYS_CLOSE => self.close(packet.b), - _ => Err(Error::new(ENOSYS)) - }; - - packet.a = Error::mux(res); - } - - /* Scheme operations */ - - #[allow(unused_variables)] - fn open(&self, path: &[u8], flags: usize, uid: u32, gid: u32) -> Result { - Err(Error::new(ENOENT)) - } - - #[allow(unused_variables)] - fn chmod(&self, path: &[u8], mode: u16, uid: u32, gid: u32) -> Result { - Err(Error::new(ENOENT)) - } - - #[allow(unused_variables)] - fn rmdir(&self, path: &[u8], uid: u32, gid: u32) -> Result { - Err(Error::new(ENOENT)) - } - - #[allow(unused_variables)] - fn unlink(&self, path: &[u8], uid: u32, gid: u32) -> Result { - Err(Error::new(ENOENT)) - } - - /* Resource operations */ - #[allow(unused_variables)] - fn dup(&self, old_id: usize, buf: &[u8]) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn read(&self, id: usize, buf: &mut [u8]) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn write(&self, id: usize, buf: &[u8]) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn seek(&self, id: usize, pos: usize, whence: usize) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fchmod(&self, id: usize, mode: u16) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fchown(&self, id: usize, uid: u32, gid: u32) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fcntl(&self, id: usize, cmd: usize, arg: usize) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fevent(&self, id: usize, flags: usize) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fmap(&self, id: usize, map: &Map) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn funmap(&self, address: usize) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fpath(&self, id: usize, buf: &mut [u8]) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn frename(&self, id: usize, path: &[u8], uid: u32, gid: u32) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fstat(&self, id: usize, stat: &mut Stat) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fstatvfs(&self, id: usize, stat: &mut StatVfs) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fsync(&self, id: usize) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn ftruncate(&self, id: usize, len: usize) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn futimens(&self, id: usize, times: &[TimeSpec]) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn close(&self, id: usize) -> Result { - Err(Error::new(EBADF)) - } -} diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/scheme/scheme_block.rs b/vendor/registry-40351f815f426200/redox_syscall/src/scheme/scheme_block.rs deleted file mode 100644 index 0407dde61..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/scheme/scheme_block.rs +++ /dev/null @@ -1,167 +0,0 @@ -use core::{mem, slice}; - -use data::*; -use error::*; -use number::*; - -pub trait SchemeBlock { - fn handle(&self, packet: &Packet) -> Option { - let res = match packet.a { - SYS_OPEN => self.open(unsafe { slice::from_raw_parts(packet.b as *const u8, packet.c) }, packet.d, packet.uid, packet.gid), - SYS_CHMOD => self.chmod(unsafe { slice::from_raw_parts(packet.b as *const u8, packet.c) }, packet.d as u16, packet.uid, packet.gid), - SYS_RMDIR => self.rmdir(unsafe { slice::from_raw_parts(packet.b as *const u8, packet.c) }, packet.uid, packet.gid), - SYS_UNLINK => self.unlink(unsafe { slice::from_raw_parts(packet.b as *const u8, packet.c) }, packet.uid, packet.gid), - - SYS_DUP => self.dup(packet.b, unsafe { slice::from_raw_parts(packet.c as *const u8, packet.d) }), - SYS_READ => self.read(packet.b, unsafe { slice::from_raw_parts_mut(packet.c as *mut u8, packet.d) }), - SYS_WRITE => self.write(packet.b, unsafe { slice::from_raw_parts(packet.c as *const u8, packet.d) }), - SYS_LSEEK => self.seek(packet.b, packet.c, packet.d), - SYS_FCHMOD => self.fchmod(packet.b, packet.c as u16), - SYS_FCHOWN => self.fchown(packet.b, packet.c as u32, packet.d as u32), - SYS_FCNTL => self.fcntl(packet.b, packet.c, packet.d), - SYS_FEVENT => self.fevent(packet.b, packet.c), - SYS_FMAP => if packet.d >= mem::size_of::() { - self.fmap(packet.b, unsafe { &*(packet.c as *const Map) }) - } else { - Err(Error::new(EFAULT)) - }, - SYS_FUNMAP => self.funmap(packet.b), - SYS_FPATH => self.fpath(packet.b, unsafe { slice::from_raw_parts_mut(packet.c as *mut u8, packet.d) }), - SYS_FRENAME => self.frename(packet.b, unsafe { slice::from_raw_parts(packet.c as *const u8, packet.d) }, packet.uid, packet.gid), - SYS_FSTAT => if packet.d >= mem::size_of::() { - self.fstat(packet.b, unsafe { &mut *(packet.c as *mut Stat) }) - } else { - Err(Error::new(EFAULT)) - }, - SYS_FSTATVFS => if packet.d >= mem::size_of::() { - self.fstatvfs(packet.b, unsafe { &mut *(packet.c as *mut StatVfs) }) - } else { - Err(Error::new(EFAULT)) - }, - SYS_FSYNC => self.fsync(packet.b), - SYS_FTRUNCATE => self.ftruncate(packet.b, packet.c), - SYS_FUTIMENS => if packet.d >= mem::size_of::() { - self.futimens(packet.b, unsafe { slice::from_raw_parts(packet.c as *const TimeSpec, packet.d / mem::size_of::()) }) - } else { - Err(Error::new(EFAULT)) - }, - SYS_CLOSE => self.close(packet.b), - _ => Err(Error::new(ENOSYS)) - }; - - res.transpose().map(Error::mux) - } - - /* Scheme operations */ - - #[allow(unused_variables)] - fn open(&self, path: &[u8], flags: usize, uid: u32, gid: u32) -> Result> { - Err(Error::new(ENOENT)) - } - - #[allow(unused_variables)] - fn chmod(&self, path: &[u8], mode: u16, uid: u32, gid: u32) -> Result> { - Err(Error::new(ENOENT)) - } - - #[allow(unused_variables)] - fn rmdir(&self, path: &[u8], uid: u32, gid: u32) -> Result> { - Err(Error::new(ENOENT)) - } - - #[allow(unused_variables)] - fn unlink(&self, path: &[u8], uid: u32, gid: u32) -> Result> { - Err(Error::new(ENOENT)) - } - - /* Resource operations */ - #[allow(unused_variables)] - fn dup(&self, old_id: usize, buf: &[u8]) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn read(&self, id: usize, buf: &mut [u8]) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn write(&self, id: usize, buf: &[u8]) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn seek(&self, id: usize, pos: usize, whence: usize) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fchmod(&self, id: usize, mode: u16) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fchown(&self, id: usize, uid: u32, gid: u32) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fcntl(&self, id: usize, cmd: usize, arg: usize) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fevent(&self, id: usize, flags: usize) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fmap(&self, id: usize, map: &Map) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn funmap(&self, address: usize) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fpath(&self, id: usize, buf: &mut [u8]) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn frename(&self, id: usize, path: &[u8], uid: u32, gid: u32) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fstat(&self, id: usize, stat: &mut Stat) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fstatvfs(&self, id: usize, stat: &mut StatVfs) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fsync(&self, id: usize) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn ftruncate(&self, id: usize, len: usize) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn futimens(&self, id: usize, times: &[TimeSpec]) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn close(&self, id: usize) -> Result> { - Err(Error::new(EBADF)) - } -} diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/scheme/scheme_block_mut.rs b/vendor/registry-40351f815f426200/redox_syscall/src/scheme/scheme_block_mut.rs deleted file mode 100644 index 411035f42..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/scheme/scheme_block_mut.rs +++ /dev/null @@ -1,167 +0,0 @@ -use core::{mem, slice}; - -use data::*; -use error::*; -use number::*; - -pub trait SchemeBlockMut { - fn handle(&mut self, packet: &Packet) -> Option { - let res = match packet.a { - SYS_OPEN => self.open(unsafe { slice::from_raw_parts(packet.b as *const u8, packet.c) }, packet.d, packet.uid, packet.gid), - SYS_CHMOD => self.chmod(unsafe { slice::from_raw_parts(packet.b as *const u8, packet.c) }, packet.d as u16, packet.uid, packet.gid), - SYS_RMDIR => self.rmdir(unsafe { slice::from_raw_parts(packet.b as *const u8, packet.c) }, packet.uid, packet.gid), - SYS_UNLINK => self.unlink(unsafe { slice::from_raw_parts(packet.b as *const u8, packet.c) }, packet.uid, packet.gid), - - SYS_DUP => self.dup(packet.b, unsafe { slice::from_raw_parts(packet.c as *const u8, packet.d) }), - SYS_READ => self.read(packet.b, unsafe { slice::from_raw_parts_mut(packet.c as *mut u8, packet.d) }), - SYS_WRITE => self.write(packet.b, unsafe { slice::from_raw_parts(packet.c as *const u8, packet.d) }), - SYS_LSEEK => self.seek(packet.b, packet.c, packet.d), - SYS_FCHMOD => self.fchmod(packet.b, packet.c as u16), - SYS_FCHOWN => self.fchown(packet.b, packet.c as u32, packet.d as u32), - SYS_FCNTL => self.fcntl(packet.b, packet.c, packet.d), - SYS_FEVENT => self.fevent(packet.b, packet.c), - SYS_FMAP => if packet.d >= mem::size_of::() { - self.fmap(packet.b, unsafe { &*(packet.c as *const Map) }) - } else { - Err(Error::new(EFAULT)) - }, - SYS_FUNMAP => self.funmap(packet.b), - SYS_FPATH => self.fpath(packet.b, unsafe { slice::from_raw_parts_mut(packet.c as *mut u8, packet.d) }), - SYS_FRENAME => self.frename(packet.b, unsafe { slice::from_raw_parts(packet.c as *const u8, packet.d) }, packet.uid, packet.gid), - SYS_FSTAT => if packet.d >= mem::size_of::() { - self.fstat(packet.b, unsafe { &mut *(packet.c as *mut Stat) }) - } else { - Err(Error::new(EFAULT)) - }, - SYS_FSTATVFS => if packet.d >= mem::size_of::() { - self.fstatvfs(packet.b, unsafe { &mut *(packet.c as *mut StatVfs) }) - } else { - Err(Error::new(EFAULT)) - }, - SYS_FSYNC => self.fsync(packet.b), - SYS_FTRUNCATE => self.ftruncate(packet.b, packet.c), - SYS_FUTIMENS => if packet.d >= mem::size_of::() { - self.futimens(packet.b, unsafe { slice::from_raw_parts(packet.c as *const TimeSpec, packet.d / mem::size_of::()) }) - } else { - Err(Error::new(EFAULT)) - }, - SYS_CLOSE => self.close(packet.b), - _ => Err(Error::new(ENOSYS)) - }; - - res.transpose().map(Error::mux) - } - - /* Scheme operations */ - - #[allow(unused_variables)] - fn open(&mut self, path: &[u8], flags: usize, uid: u32, gid: u32) -> Result> { - Err(Error::new(ENOENT)) - } - - #[allow(unused_variables)] - fn chmod(&mut self, path: &[u8], mode: u16, uid: u32, gid: u32) -> Result> { - Err(Error::new(ENOENT)) - } - - #[allow(unused_variables)] - fn rmdir(&mut self, path: &[u8], uid: u32, gid: u32) -> Result> { - Err(Error::new(ENOENT)) - } - - #[allow(unused_variables)] - fn unlink(&mut self, path: &[u8], uid: u32, gid: u32) -> Result> { - Err(Error::new(ENOENT)) - } - - /* Resource operations */ - #[allow(unused_variables)] - fn dup(&mut self, old_id: usize, buf: &[u8]) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn read(&mut self, id: usize, buf: &mut [u8]) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn write(&mut self, id: usize, buf: &[u8]) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn seek(&mut self, id: usize, pos: usize, whence: usize) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fchmod(&mut self, id: usize, mode: u16) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fchown(&mut self, id: usize, uid: u32, gid: u32) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fcntl(&mut self, id: usize, cmd: usize, arg: usize) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fevent(&mut self, id: usize, flags: usize) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fmap(&mut self, id: usize, map: &Map) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn funmap(&mut self, address: usize) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fpath(&mut self, id: usize, buf: &mut [u8]) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn frename(&mut self, id: usize, path: &[u8], uid: u32, gid: u32) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fstat(&mut self, id: usize, stat: &mut Stat) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fstatvfs(&mut self, id: usize, stat: &mut StatVfs) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fsync(&mut self, id: usize) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn ftruncate(&mut self, id: usize, len: usize) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn futimens(&mut self, id: usize, times: &[TimeSpec]) -> Result> { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn close(&mut self, id: usize) -> Result> { - Err(Error::new(EBADF)) - } -} diff --git a/vendor/registry-40351f815f426200/redox_syscall/src/scheme/scheme_mut.rs b/vendor/registry-40351f815f426200/redox_syscall/src/scheme/scheme_mut.rs deleted file mode 100644 index abd2e88e5..000000000 --- a/vendor/registry-40351f815f426200/redox_syscall/src/scheme/scheme_mut.rs +++ /dev/null @@ -1,167 +0,0 @@ -use core::{mem, slice}; - -use data::*; -use error::*; -use number::*; - -pub trait SchemeMut { - fn handle(&mut self, packet: &mut Packet) { - let res = match packet.a { - SYS_OPEN => self.open(unsafe { slice::from_raw_parts(packet.b as *const u8, packet.c) }, packet.d, packet.uid, packet.gid), - SYS_CHMOD => self.chmod(unsafe { slice::from_raw_parts(packet.b as *const u8, packet.c) }, packet.d as u16, packet.uid, packet.gid), - SYS_RMDIR => self.rmdir(unsafe { slice::from_raw_parts(packet.b as *const u8, packet.c) }, packet.uid, packet.gid), - SYS_UNLINK => self.unlink(unsafe { slice::from_raw_parts(packet.b as *const u8, packet.c) }, packet.uid, packet.gid), - - SYS_DUP => self.dup(packet.b, unsafe { slice::from_raw_parts(packet.c as *const u8, packet.d) }), - SYS_READ => self.read(packet.b, unsafe { slice::from_raw_parts_mut(packet.c as *mut u8, packet.d) }), - SYS_WRITE => self.write(packet.b, unsafe { slice::from_raw_parts(packet.c as *const u8, packet.d) }), - SYS_LSEEK => self.seek(packet.b, packet.c, packet.d), - SYS_FCHMOD => self.fchmod(packet.b, packet.c as u16), - SYS_FCHOWN => self.fchown(packet.b, packet.c as u32, packet.d as u32), - SYS_FCNTL => self.fcntl(packet.b, packet.c, packet.d), - SYS_FEVENT => self.fevent(packet.b, packet.c), - SYS_FMAP => if packet.d >= mem::size_of::() { - self.fmap(packet.b, unsafe { &*(packet.c as *const Map) }) - } else { - Err(Error::new(EFAULT)) - }, - SYS_FUNMAP => self.funmap(packet.b), - SYS_FPATH => self.fpath(packet.b, unsafe { slice::from_raw_parts_mut(packet.c as *mut u8, packet.d) }), - SYS_FRENAME => self.frename(packet.b, unsafe { slice::from_raw_parts(packet.c as *const u8, packet.d) }, packet.uid, packet.gid), - SYS_FSTAT => if packet.d >= mem::size_of::() { - self.fstat(packet.b, unsafe { &mut *(packet.c as *mut Stat) }) - } else { - Err(Error::new(EFAULT)) - }, - SYS_FSTATVFS => if packet.d >= mem::size_of::() { - self.fstatvfs(packet.b, unsafe { &mut *(packet.c as *mut StatVfs) }) - } else { - Err(Error::new(EFAULT)) - }, - SYS_FSYNC => self.fsync(packet.b), - SYS_FTRUNCATE => self.ftruncate(packet.b, packet.c), - SYS_FUTIMENS => if packet.d >= mem::size_of::() { - self.futimens(packet.b, unsafe { slice::from_raw_parts(packet.c as *const TimeSpec, packet.d / mem::size_of::()) }) - } else { - Err(Error::new(EFAULT)) - }, - SYS_CLOSE => self.close(packet.b), - _ => Err(Error::new(ENOSYS)) - }; - - packet.a = Error::mux(res); - } - - /* Scheme operations */ - - #[allow(unused_variables)] - fn open(&mut self, path: &[u8], flags: usize, uid: u32, gid: u32) -> Result { - Err(Error::new(ENOENT)) - } - - #[allow(unused_variables)] - fn chmod(&mut self, path: &[u8], mode: u16, uid: u32, gid: u32) -> Result { - Err(Error::new(ENOENT)) - } - - #[allow(unused_variables)] - fn rmdir(&mut self, path: &[u8], uid: u32, gid: u32) -> Result { - Err(Error::new(ENOENT)) - } - - #[allow(unused_variables)] - fn unlink(&mut self, path: &[u8], uid: u32, gid: u32) -> Result { - Err(Error::new(ENOENT)) - } - - /* Resource operations */ - #[allow(unused_variables)] - fn dup(&mut self, old_id: usize, buf: &[u8]) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn read(&mut self, id: usize, buf: &mut [u8]) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn write(&mut self, id: usize, buf: &[u8]) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn seek(&mut self, id: usize, pos: usize, whence: usize) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fchmod(&mut self, id: usize, mode: u16) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fchown(&mut self, id: usize, uid: u32, gid: u32) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fcntl(&mut self, id: usize, cmd: usize, arg: usize) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fevent(&mut self, id: usize, flags: usize) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fmap(&mut self, id: usize, map: &Map) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn funmap(&mut self, address: usize) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fpath(&mut self, id: usize, buf: &mut [u8]) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn frename(&mut self, id: usize, path: &[u8], uid: u32, gid: u32) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fstat(&mut self, id: usize, stat: &mut Stat) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fstatvfs(&mut self, id: usize, stat: &mut StatVfs) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn fsync(&mut self, id: usize) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn ftruncate(&mut self, id: usize, len: usize) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn futimens(&mut self, id: usize, times: &[TimeSpec]) -> Result { - Err(Error::new(EBADF)) - } - - #[allow(unused_variables)] - fn close(&mut self, id: usize) -> Result { - Err(Error::new(EBADF)) - } -} diff --git a/vendor/registry-40351f815f426200/redox_termios/.cargo-checksum.json b/vendor/registry-40351f815f426200/redox_termios/.cargo-checksum.json deleted file mode 100644 index cfb655d32..000000000 --- a/vendor/registry-40351f815f426200/redox_termios/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"e7d20b4132bf22e2c98a5f846f8c16e7628a9181d485fd131b97127ea8719130","LICENSE":"cb46b697c3fd9d27d7bfe1b1ad48f8a58a284984504c6eb215ae2164538df7cb","README.md":"c62ac3d33174db7977cfc7fc77605885f5445c0c9c7d1310dcbe3564c2854edb","src/lib.rs":"af5bc7c59c695880fef0352f9e0f9e9f8682c262a9b1c0fce725b10553647b4e"},"package":"7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/redox_termios/Cargo.toml b/vendor/registry-40351f815f426200/redox_termios/Cargo.toml deleted file mode 100644 index a89b0e89c..000000000 --- a/vendor/registry-40351f815f426200/redox_termios/Cargo.toml +++ /dev/null @@ -1,26 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "redox_termios" -version = "0.1.1" -authors = ["Jeremy Soller "] -description = "A Rust library to access Redox termios functions" -documentation = "https://docs.rs/redox_termios" -license = "MIT" -repository = "https://github.com/redox-os/termios" - -[lib] -name = "redox_termios" -path = "src/lib.rs" -[dependencies.redox_syscall] -version = "0.1" diff --git a/vendor/registry-40351f815f426200/redox_termios/LICENSE b/vendor/registry-40351f815f426200/redox_termios/LICENSE deleted file mode 100644 index 5deeece4f..000000000 --- a/vendor/registry-40351f815f426200/redox_termios/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2017 Redox OS - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/vendor/registry-40351f815f426200/redox_termios/README.md b/vendor/registry-40351f815f426200/redox_termios/README.md deleted file mode 100644 index 24156cb95..000000000 --- a/vendor/registry-40351f815f426200/redox_termios/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# termios -Redox Rust termios library diff --git a/vendor/registry-40351f815f426200/redox_termios/src/lib.rs b/vendor/registry-40351f815f426200/redox_termios/src/lib.rs deleted file mode 100644 index b1c904502..000000000 --- a/vendor/registry-40351f815f426200/redox_termios/src/lib.rs +++ /dev/null @@ -1,218 +0,0 @@ -#![allow(non_camel_case_types)] -#![no_std] - -extern crate syscall; - -use core::{mem, slice}; -use core::ops::{Deref, DerefMut}; - -pub type tcflag_t = u32; -pub type cc_t = u8; - -/* c_cc { */ -pub const VEOF: usize = 0; -pub const VEOL: usize = 1; -pub const VEOL2: usize = 2; -pub const VERASE: usize = 3; -pub const VWERASE: usize = 4; -pub const VKILL: usize = 5; -pub const VREPRINT: usize = 6; -pub const VSWTC: usize = 7; -pub const VINTR: usize = 8; -pub const VQUIT: usize = 9; -pub const VSUSP: usize = 10; -pub const VSTART: usize = 12; -pub const VSTOP: usize = 13; -pub const VLNEXT: usize = 14; -pub const VDISCARD: usize = 15; -pub const VMIN: usize = 16; -pub const VTIME: usize = 17; -pub const NCCS: usize = 32; -/* } c_cc */ - -/* c_iflag { */ -pub const IGNBRK: tcflag_t = 0o000001; -pub const BRKINT: tcflag_t = 0o000002; -pub const IGNPAR: tcflag_t = 0o000004; -pub const PARMRK: tcflag_t = 0o000010; -pub const INPCK: tcflag_t = 0o000020; -pub const ISTRIP: tcflag_t = 0o000040; -pub const INLCR: tcflag_t = 0o000100; -pub const IGNCR: tcflag_t = 0o000200; -pub const ICRNL: tcflag_t = 0o000400; -pub const IXON: tcflag_t = 0o001000; -pub const IXOFF: tcflag_t = 0o002000; -/* } c_iflag */ - -/* c_oflag { */ -pub const OPOST: tcflag_t = 0o000001; -pub const ONLCR: tcflag_t = 0o000002; -pub const OLCUC: tcflag_t = 0o000004; - -pub const OCRNL: tcflag_t = 0o000010; -pub const ONOCR: tcflag_t = 0o000020; -pub const ONLRET: tcflag_t = 0o000040; - -pub const OFILL: tcflag_t = 0o0000100; -pub const OFDEL: tcflag_t = 0o0000200; -/* } c_oflag */ - -/* c_cflag { */ -pub const B0: tcflag_t = 0o000000; -pub const B50: tcflag_t = 0o000001; -pub const B75: tcflag_t = 0o000002; -pub const B110: tcflag_t = 0o000003; -pub const B134: tcflag_t = 0o000004; -pub const B150: tcflag_t = 0o000005; -pub const B200: tcflag_t = 0o000006; -pub const B300: tcflag_t = 0o000007; -pub const B600: tcflag_t = 0o000010; -pub const B1200: tcflag_t = 0o000011; -pub const B1800: tcflag_t = 0o000012; -pub const B2400: tcflag_t = 0o000013; -pub const B4800: tcflag_t = 0o000014; -pub const B9600: tcflag_t = 0o000015; -pub const B19200: tcflag_t = 0o000016; -pub const B38400: tcflag_t = 0o000017; -pub const B57600: tcflag_t = 0o0020; -pub const B115200: tcflag_t = 0o0021; -pub const B230400: tcflag_t = 0o0022; -pub const B460800: tcflag_t = 0o0023; -pub const B500000: tcflag_t = 0o0024; -pub const B576000: tcflag_t = 0o0025; -pub const B921600: tcflag_t = 0o0026; -pub const B1000000: tcflag_t = 0o0027; -pub const B1152000: tcflag_t = 0o0030; -pub const B1500000: tcflag_t = 0o0031; -pub const B2000000: tcflag_t = 0o0032; -pub const B2500000: tcflag_t = 0o0033; -pub const B3000000: tcflag_t = 0o0034; -pub const B3500000: tcflag_t = 0o0035; -pub const B4000000: tcflag_t = 0o0036; - -pub const __MAX_BAUD: tcflag_t = B4000000; - -pub const CSIZE: tcflag_t = 0o0001400; -pub const CS5: tcflag_t = 0o0000000; -pub const CS6: tcflag_t = 0o0000400; -pub const CS7: tcflag_t = 0o0001000; -pub const CS8: tcflag_t = 0o0001400; - -pub const CSTOPB: tcflag_t = 0o0002000; -pub const CREAD: tcflag_t = 0o0004000; -pub const PARENB: tcflag_t = 0o0010000; -pub const PARODD: tcflag_t = 0o0020000; -pub const HUPCL: tcflag_t = 0o0040000; - -pub const CLOCAL: tcflag_t = 0o0100000; -/* } c_clfag */ - -/* c_lflag { */ -pub const ISIG: tcflag_t = 0x00000080; -pub const ICANON: tcflag_t = 0x00000100; -pub const ECHO: tcflag_t = 0x00000008; -pub const ECHOE: tcflag_t = 0x00000002; -pub const ECHOK: tcflag_t = 0x00000004; -pub const ECHONL: tcflag_t = 0x00000010; -pub const NOFLSH: tcflag_t = 0x80000000; -pub const TOSTOP: tcflag_t = 0x00400000; -pub const IEXTEN: tcflag_t = 0x00000400; -/* } c_lflag */ - -#[derive(Clone, Copy, Debug)] -#[repr(C)] -pub struct Termios { - pub c_iflag: tcflag_t, - pub c_oflag: tcflag_t, - pub c_cflag: tcflag_t, - pub c_lflag: tcflag_t, - pub c_cc: [cc_t; 32] -} - -impl Default for Termios { - fn default() -> Termios { - let mut termios = Termios { - c_iflag: ICRNL | IXON, - c_oflag: OPOST | ONLCR, - c_cflag: B38400 | CS8 | CREAD | HUPCL, - c_lflag: ISIG | ICANON | ECHO | ECHOE | ECHOK | IEXTEN, - c_cc: [0; 32] - }; - - { - let mut cc = |i: usize, b: cc_t| { - termios.c_cc[i] = b; - }; - - cc(VEOF, 0o004); // CTRL-D - cc(VEOL, 0o000); // NUL - cc(VEOL2, 0o000); // NUL - cc(VERASE, 0o177); // DEL - cc(VWERASE, 0o027); // CTRL-W - cc(VKILL, 0o025); // CTRL-U - cc(VREPRINT, 0o022);// CTRL-R - cc(VINTR, 0o003); // CTRL-C - cc(VQUIT, 0o034); // CTRL-\ - cc(VSUSP, 0o032); // CTRL-Z - cc(VSTART, 0o021); // CTRL-Q - cc(VSTOP, 0o023); // CTRL-S - cc(VLNEXT, 0o026); // CTRL-V - cc(VDISCARD, 0o017);// CTRL-U - cc(VMIN, 1); - cc(VTIME, 0); - } - - termios - } -} - -impl Termios { - pub fn make_raw(&mut self) { - self.c_iflag &= !(IGNBRK | BRKINT | PARMRK | ISTRIP | INLCR | IGNCR | ICRNL | IXON); - self.c_oflag &= !OPOST; - self.c_cflag &= !(CSIZE | PARENB); - self.c_cflag |= CS8; - self.c_lflag &= !(ECHO | ECHONL | ICANON | ISIG | IEXTEN); - } -} - -impl Deref for Termios { - type Target = [u8]; - fn deref(&self) -> &[u8] { - unsafe { - slice::from_raw_parts(self as *const Termios as *const u8, mem::size_of::()) as &[u8] - } - } -} - -impl DerefMut for Termios { - fn deref_mut(&mut self) -> &mut [u8] { - unsafe { - slice::from_raw_parts_mut(self as *mut Termios as *mut u8, mem::size_of::()) as &mut [u8] - } - } -} - -#[derive(Clone, Copy, Debug, Default)] -#[repr(C)] -pub struct Winsize { - pub ws_row: u16, - pub ws_col: u16 -} - -impl Deref for Winsize { - type Target = [u8]; - fn deref(&self) -> &[u8] { - unsafe { - slice::from_raw_parts(self as *const Winsize as *const u8, mem::size_of::()) as &[u8] - } - } -} - -impl DerefMut for Winsize { - fn deref_mut(&mut self) -> &mut [u8] { - unsafe { - slice::from_raw_parts_mut(self as *mut Winsize as *mut u8, mem::size_of::()) as &mut [u8] - } - } -} diff --git a/vendor/registry-40351f815f426200/remain/.cargo-checksum.json b/vendor/registry-40351f815f426200/remain/.cargo-checksum.json deleted file mode 100644 index 674c455ed..000000000 --- a/vendor/registry-40351f815f426200/remain/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"d0838b7a04d0227945245ca894dbd409d9ad1d1d1fc426d51511015f0b431f4b","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"4a0cd9b5971cc01dc325f7efd3bd3eaad7b92f5d2db4f53b97b6c54b86db29a4","src/check.rs":"0817a7877fdb0048f3a4f95743ceac87ba9edc10a0e85e6f6720e78e88a5fa4f","src/compare.rs":"b4749ef0a9fd590bcdae0e88c1c85c4387d67e00cef5ce42f3c79c5962b8d5af","src/emit.rs":"9f169a4609c452e1bf84e904e36348c59d3756af6be10f7b52aaac3a71e84efc","src/format.rs":"dfad2eff460c631b8b6a604db4d8c4f232973c4a52bcad409820652eec231a6d","src/lib.rs":"f34d2ee3d2993b7ec9fa38b12691d74d254b83c8812a81732e6adccacc9264eb","src/parse.rs":"c9052bf88265866010ffde62f3de121ce51a3697e2a84e86039698b974704783","src/visit.rs":"589ffe2d53c72057cedb65186f9ce73d6240f3267269d47cd968cd776118bcb4","tests/compiletest.rs":"798a092a2e6f7e7085f08f9b6a022fcf4550f027af596cb04e27fbd33a3b6f70","tests/stable.rs":"bf11f85194e48b7b3120c089c3c04bdf5b17e486f2bb2658f330a58d2a25b07d","tests/ui/enum.rs":"2e12d32637ce23201698bded6d888e2ea83145a887c97cbb8b0aa16e09fecc33","tests/ui/enum.stderr":"6b5e3a7961ffbb851411de6dddce1b2fed5b633d2e904cd6b5cf2900a01c7fa6","tests/ui/let-stable.rs":"45d40796a720591d57b8490f28aea2e41d69c5450e75f337312e59c9469b288d","tests/ui/let-stable.stderr":"1e913d626d709e9f437aaf8b2451a33d110a9a9e8a18e69d99629630a866659c","tests/ui/let-unstable.rs":"5cc32e47dfa844c756ba9c305272e5ad3e5415919b8a4dda6577a1a6d2cc5f02","tests/ui/let-unstable.stderr":"ee565f0e54729fe3353ca373c5c4945c3329c7107d551f9ad63df9e5b01145b0","tests/ui/match-stable.rs":"8d9422074a364db27a3ae9f4b0c7869f5b374738315536cf4c1a0a52d4731379","tests/ui/match-stable.stderr":"27da2da6d4ae09b0bddf3d6c07f8185869597fed0d99daf513166c2ccc7e146c","tests/ui/match-unstable.rs":"374b606c355ce781406115c9920447bdf517dfd6a5bc9199fd5a1899bfd9b3bf","tests/ui/match-unstable.stderr":"df4451390bd42eeb25d96b8a97ea384c7c0b81ac4d0088ee9011613215ca4815","tests/ui/struct.rs":"2d74dbe91a8af8da4a0f0267d34483dda63274d21f96a8d139d4a890571c233c","tests/ui/struct.stderr":"f037fc85e16f6bfa24a9939bd7cc332804448d3d8bd12c7bdd29d43bfec0c210","tests/ui/unnamed-fields.rs":"aae1255b0e4e4f2f283d9112478e67ea271783685575db446a7041734043041b","tests/ui/unnamed-fields.stderr":"9bd8dacb7570a28e8d709fccb31eca833b705b355a198d125a45f5f8c61b0cc5","tests/ui/unsupported.rs":"ce4252df7a1c6801a0a4e4d962454013f7f137c30f92e501db409a15fdb35dde","tests/ui/unsupported.stderr":"cbeb5037d82ee5bf4230085a727f554f3bebef5d748ab55e210f1fa0f2c8a914","tests/unstable.rs":"e9b3226bd548194cdbf295db40218b082df4131735d9d4f5eee49af9406df77e"},"package":"725c14cd936029b13547500781bd45284848e8e3970b7ef4179ecb202a150d64"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/remain/Cargo.toml b/vendor/registry-40351f815f426200/remain/Cargo.toml deleted file mode 100644 index 4134e6754..000000000 --- a/vendor/registry-40351f815f426200/remain/Cargo.toml +++ /dev/null @@ -1,39 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g., crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -edition = "2018" -name = "remain" -version = "0.1.3" -authors = ["David Tolnay "] -description = "Compile-time checks that an enum, struct, or match is written in sorted order." -documentation = "https://docs.rs/remain" -readme = "README.md" -license = "MIT OR Apache-2.0" -repository = "https://github.com/dtolnay/remain" - -[lib] -proc-macro = true -[dependencies.proc-macro2] -version = "0.4" - -[dependencies.quote] -version = "0.6" - -[dependencies.syn] -version = "0.15" -features = ["full", "visit-mut"] -[dev-dependencies.select-rustc] -version = "0.1" - -[dev-dependencies.trybuild] -version = "1.0" diff --git a/vendor/registry-40351f815f426200/remain/LICENSE-APACHE b/vendor/registry-40351f815f426200/remain/LICENSE-APACHE deleted file mode 100644 index 16fe87b06..000000000 --- a/vendor/registry-40351f815f426200/remain/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/remain/LICENSE-MIT b/vendor/registry-40351f815f426200/remain/LICENSE-MIT deleted file mode 100644 index 31aa79387..000000000 --- a/vendor/registry-40351f815f426200/remain/LICENSE-MIT +++ /dev/null @@ -1,23 +0,0 @@ -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/remain/README.md b/vendor/registry-40351f815f426200/remain/README.md deleted file mode 100644 index c3a48779b..000000000 --- a/vendor/registry-40351f815f426200/remain/README.md +++ /dev/null @@ -1,135 +0,0 @@ -Remain sorted -============= - -[![Build Status](https://api.travis-ci.com/dtolnay/remain.svg?branch=master)](https://travis-ci.com/dtolnay/remain) -[![Latest Version](https://img.shields.io/crates/v/remain.svg)](https://crates.io/crates/remain) -[![Rust Documentation](https://img.shields.io/badge/api-rustdoc-blue.svg)](https://docs.rs/remain) - -This crate provides an attribute macro to check at compile time that the -variants of an enum or the arms of a match expression are written in sorted -order. - -```toml -[dependencies] -remain = "0.1" -``` - -## Syntax - -Place a `#[remain::sorted]` attribute on enums, structs, match-expressions, or -let-statements whose value is a match-expression. - -Alternatively, import as `use remain::sorted;` and use `#[sorted]` as the -attribute. - -```rust -#[remain::sorted] -#[derive(Debug)] -pub enum Error { - BlockSignal(signal::Error), - CreateCrasClient(libcras::Error), - CreateEventFd(sys_util::Error), - CreateSignalFd(sys_util::SignalFdError), - CreateSocket(io::Error), - DetectImageType(qcow::Error), - DeviceJail(io_jail::Error), - NetDeviceNew(virtio::NetError), - SpawnVcpu(io::Error), -} - -#[remain::sorted] -#[derive(Debug)] -pub enum Registers { - ax: u16, - cx: u16, - di: u16, - si: u16, - sp: u16, -} - -impl Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - use self::Error::*; - - #[remain::sorted] - match self { - BlockSignal(e) => write!(f, "failed to block signal: {}", e), - CreateCrasClient(e) => write!(f, "failed to create cras client: {}", e), - CreateEventFd(e) => write!(f, "failed to create eventfd: {}", e), - CreateSignalFd(e) => write!(f, "failed to create signalfd: {}", e), - CreateSocket(e) => write!(f, "failed to create socket: {}", e), - DetectImageType(e) => write!(f, "failed to detect disk image type: {}", e), - DeviceJail(e) => write!(f, "failed to jail device: {}", e), - NetDeviceNew(e) => write!(f, "failed to set up virtio networking: {}", e), - SpawnVcpu(e) => write!(f, "failed to spawn VCPU thread: {}", e), - } - } -} -``` - -If an enum variant, struct field, or match arm is inserted out of order, - -```diff - NetDeviceNew(virtio::NetError), - SpawnVcpu(io::Error), -+ AaaUhOh(Box), - } -``` - -then the macro produces a compile error. - -```console -error: AaaUhOh should sort before BlockSignal - --> tests/stable.rs:49:5 - | -49 | AaaUhOh(Box), - | ^^^^^^^ -``` - -## Compiler support - -The attribute on enums and structs is supported on any rustc version 1.31+. - -Rust does not yet have stable support for user-defined attributes within a -function body, so the attribute on match-expressions and let-statements requires -a nightly compiler and the following two features enabled: - -```rust -#![feature(proc_macro_hygiene, stmt_expr_attributes)] -``` - -As a stable alternative, this crate provides a function-level attribute called -`#[remain::check]` which makes match-expression and let-statement attributes -work on any rustc version 1.31+. Place this attribute on any function containing -`#[sorted]` to make them work on a stable compiler. - -```rust -impl Display for Error { - #[remain::check] - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - use self::Error::*; - - #[sorted] - match self { - /* ... */ - } - } -} -``` - -
- -#### License - - -Licensed under either of
Apache License, Version -2.0 or MIT license at your option. - - -
- - -Unless you explicitly state otherwise, any contribution intentionally submitted -for inclusion in this crate by you, as defined in the Apache-2.0 license, shall -be dual licensed as above, without any additional terms or conditions. - diff --git a/vendor/registry-40351f815f426200/remain/src/check.rs b/vendor/registry-40351f815f426200/remain/src/check.rs deleted file mode 100644 index 0995078b4..000000000 --- a/vendor/registry-40351f815f426200/remain/src/check.rs +++ /dev/null @@ -1,83 +0,0 @@ -use syn::{Arm, Ident, Result, Variant}; -use syn::{Error, Field, Pat, PatIdent}; - -use crate::compare::Path; -use crate::format; -use crate::parse::Input::{self, *}; - -pub fn sorted(input: Input) -> Result<()> { - let paths = match input { - Enum(item) => collect_paths(item.variants)?, - Struct(fields) => collect_paths(fields.named)?, - Match(expr) | Let(expr) => collect_paths(expr.arms)?, - }; - - for i in 1..paths.len() { - let cur = &paths[i]; - if *cur < paths[i - 1] { - let lesser = cur; - let correct_pos = paths[..i - 1].binary_search(cur).unwrap_err(); - let greater = &paths[correct_pos]; - return Err(format::error(lesser, greater)); - } - } - - Ok(()) -} - -fn collect_paths(iter: I) -> Result> -where - I: IntoIterator, - I::Item: IntoPath, -{ - iter.into_iter().map(IntoPath::into_path).collect() -} - -trait IntoPath { - fn into_path(self) -> Result; -} - -impl IntoPath for Variant { - fn into_path(self) -> Result { - Ok(Path { - segments: vec![self.ident], - }) - } -} - -impl IntoPath for Field { - fn into_path(self) -> Result { - Ok(Path { - segments: vec![self.ident.expect("must be named field")], - }) - } -} - -impl IntoPath for Arm { - fn into_path(self) -> Result { - // Sort by just the first pat. - let pat = self.pats.into_iter().next().expect("at least one pat"); - - let segments = match pat { - Pat::Wild(pat) => vec![Ident::from(pat.underscore_token)], - Pat::Path(pat) => idents_of_path(pat.path), - Pat::Struct(pat) => idents_of_path(pat.path), - Pat::TupleStruct(pat) => idents_of_path(pat.path), - Pat::Ident(ref pat) if is_just_ident(pat) => vec![pat.ident.clone()], - other => { - let msg = "unsupported by #[remain::sorted]"; - return Err(Error::new_spanned(other, msg)); - } - }; - - Ok(Path { segments }) - } -} - -fn idents_of_path(path: syn::Path) -> Vec { - path.segments.into_iter().map(|seg| seg.ident).collect() -} - -fn is_just_ident(pat: &PatIdent) -> bool { - pat.by_ref.is_none() && pat.mutability.is_none() && pat.subpat.is_none() -} diff --git a/vendor/registry-40351f815f426200/remain/src/compare.rs b/vendor/registry-40351f815f426200/remain/src/compare.rs deleted file mode 100644 index 59f997d23..000000000 --- a/vendor/registry-40351f815f426200/remain/src/compare.rs +++ /dev/null @@ -1,45 +0,0 @@ -use proc_macro2::Ident; -use std::cmp::Ordering; - -#[derive(PartialEq, Eq)] -pub struct Path { - pub segments: Vec, -} - -impl PartialOrd for Path { - fn partial_cmp(&self, other: &Path) -> Option { - Some(self.cmp(other)) - } -} - -impl Ord for Path { - fn cmp(&self, other: &Path) -> Ordering { - // Lexicographic ordering across path segments. - for (lhs, rhs) in self.segments.iter().zip(&other.segments) { - match cmp(&lhs.to_string(), &rhs.to_string()) { - Ordering::Equal => {} - non_eq => return non_eq, - } - } - - self.segments.len().cmp(&other.segments.len()) - } -} - -// TODO: more intelligent comparison -// for example to handle numeric cases like E9 < E10. -fn cmp(lhs: &str, rhs: &str) -> Ordering { - // Sort `_` last. - match (lhs == "_", rhs == "_") { - (true, true) => return Ordering::Equal, - (true, false) => return Ordering::Greater, - (false, true) => return Ordering::Less, - (false, false) => {} - } - - let lhs = lhs.to_ascii_lowercase(); - let rhs = rhs.to_ascii_lowercase(); - - // For now: asciibetical ordering. - lhs.cmp(&rhs) -} diff --git a/vendor/registry-40351f815f426200/remain/src/emit.rs b/vendor/registry-40351f815f426200/remain/src/emit.rs deleted file mode 100644 index d1ddda8f6..000000000 --- a/vendor/registry-40351f815f426200/remain/src/emit.rs +++ /dev/null @@ -1,39 +0,0 @@ -use proc_macro::TokenStream; -use proc_macro2::Span; -use quote::quote; -use syn::Error; - -#[derive(Copy, Clone)] -pub enum Kind { - Enum, - Match, - Struct, - Let, -} - -pub fn emit(err: Error, kind: Kind, original: TokenStream) -> TokenStream { - let mut err = err; - if !probably_has_spans(kind) { - // Otherwise the error is printed without any line number. - err = Error::new(Span::call_site(), &err.to_string()); - } - - let err = err.to_compile_error(); - let original = proc_macro2::TokenStream::from(original); - - let expanded = match kind { - Kind::Enum | Kind::Let | Kind::Struct => quote!(#err #original), - Kind::Match => quote!({ #err #original }), - }; - - TokenStream::from(expanded) -} - -// Rustc is so bad at spans. -// https://github.com/rust-lang/rust/issues/43081 -fn probably_has_spans(kind: Kind) -> bool { - match kind { - Kind::Enum | Kind::Struct => true, - Kind::Match | Kind::Let => false, - } -} diff --git a/vendor/registry-40351f815f426200/remain/src/format.rs b/vendor/registry-40351f815f426200/remain/src/format.rs deleted file mode 100644 index 583264372..000000000 --- a/vendor/registry-40351f815f426200/remain/src/format.rs +++ /dev/null @@ -1,27 +0,0 @@ -use proc_macro2::TokenStream; -use quote::TokenStreamExt; -use std::fmt::{self, Display}; -use syn::Error; - -use crate::compare::Path; - -impl Display for Path { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - for (i, segment) in self.segments.iter().enumerate() { - if i > 0 { - formatter.write_str("::")?; - } - segment.fmt(formatter)?; - } - Ok(()) - } -} - -pub fn error(lesser: &Path, greater: &Path) -> Error { - let mut spans = TokenStream::new(); - spans.append_all(&lesser.segments); - - let msg = format!("{} should sort before {}", lesser, greater); - - Error::new_spanned(spans, msg) -} diff --git a/vendor/registry-40351f815f426200/remain/src/lib.rs b/vendor/registry-40351f815f426200/remain/src/lib.rs deleted file mode 100644 index 967143e50..000000000 --- a/vendor/registry-40351f815f426200/remain/src/lib.rs +++ /dev/null @@ -1,176 +0,0 @@ -//! This crate provides an attribute macro to check at compile time that the -//! variants of an enum or the arms of a match expression are written in sorted -//! order. -//! -//! # Syntax -//! -//! Place a `#[remain::sorted]` attribute on enums, structs, match-expressions, -//! or let-statements whose value is a match-expression. -//! -//! Alternatively, import as `use remain::sorted;` and use `#[sorted]` as the -//! attribute. -//! -//! ``` -//! # use std::error::Error as StdError; -//! # use std::fmt::{self, Display}; -//! # use std::io; -//! # -//! #[remain::sorted] -//! #[derive(Debug)] -//! pub enum Error { -//! BlockSignal(signal::Error), -//! CreateCrasClient(libcras::Error), -//! CreateEventFd(sys_util::Error), -//! CreateSignalFd(sys_util::SignalFdError), -//! CreateSocket(io::Error), -//! DetectImageType(qcow::Error), -//! DeviceJail(io_jail::Error), -//! NetDeviceNew(virtio::NetError), -//! SpawnVcpu(io::Error), -//! } -//! -//! impl Display for Error { -//! # #[remain::check] -//! fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { -//! use self::Error::*; -//! -//! #[remain::sorted] -//! match self { -//! BlockSignal(e) => write!(f, "failed to block signal: {}", e), -//! CreateCrasClient(e) => write!(f, "failed to create cras client: {}", e), -//! CreateEventFd(e) => write!(f, "failed to create eventfd: {}", e), -//! CreateSignalFd(e) => write!(f, "failed to create signalfd: {}", e), -//! CreateSocket(e) => write!(f, "failed to create socket: {}", e), -//! DetectImageType(e) => write!(f, "failed to detect disk image type: {}", e), -//! DeviceJail(e) => write!(f, "failed to jail device: {}", e), -//! NetDeviceNew(e) => write!(f, "failed to set up virtio networking: {}", e), -//! SpawnVcpu(e) => write!(f, "failed to spawn VCPU thread: {}", e), -//! } -//! } -//! } -//! # -//! # mod signal { -//! # pub use std::io::Error; -//! # } -//! # -//! # mod libcras { -//! # pub use std::io::Error; -//! # } -//! # -//! # mod sys_util { -//! # pub use std::io::{Error, Error as SignalFdError}; -//! # } -//! # -//! # mod qcow { -//! # pub use std::io::Error; -//! # } -//! # -//! # mod io_jail { -//! # pub use std::io::Error; -//! # } -//! # -//! # mod virtio { -//! # pub use std::io::Error as NetError; -//! # } -//! # -//! # fn main() {} -//! ``` -//! -//! If an enum variant, struct field, or match arm is inserted out of order,\ -//! -//! ```diff -//! NetDeviceNew(virtio::NetError), -//! SpawnVcpu(io::Error), -//! + AaaUhOh(Box), -//! } -//! ``` -//! -//! then the macro produces a compile error. -//! -//! ```console -//! error: AaaUhOh should sort before BlockSignal -//! --> tests/stable.rs:49:5 -//! | -//! 49 | AaaUhOh(Box), -//! | ^^^^^^^ -//! ``` -//! -//! # Compiler support -//! -//! The attribute on enums is supported on any rustc version 1.31+. -//! -//! Rust does not yet have stable support for user-defined attributes within a -//! function body, so the attribute on match-expressions and let-statements -//! requires a nightly compiler and the following two features enabled: -//! -//! ``` -//! # const IGNORE: &str = stringify! { -//! #![feature(proc_macro_hygiene, stmt_expr_attributes)] -//! # }; -//! ``` -//! -//! As a stable alternative, this crate provides a function-level attribute -//! called `#[remain::check]` which makes match-expression and let-statement -//! attributes work on any rustc version 1.31+. Place this attribute on any -//! function containing `#[sorted]` to make them work on a stable compiler. -//! -//! ``` -//! # use std::fmt::{self, Display}; -//! # -//! # enum Error {} -//! # -//! impl Display for Error { -//! #[remain::check] -//! fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { -//! use self::Error::*; -//! -//! #[sorted] -//! match self { -//! /* ... */ -//! # _ => unimplemented!(), -//! } -//! } -//! } -//! # -//! # fn main() {} -//! ``` - -extern crate proc_macro; - -mod check; -mod compare; -mod emit; -mod format; -mod parse; -mod visit; - -use proc_macro::TokenStream; -use quote::quote; -use syn::{parse_macro_input, ItemFn}; - -use crate::emit::emit; -use crate::parse::{Input, Nothing}; - -#[proc_macro_attribute] -pub fn sorted(args: TokenStream, input: TokenStream) -> TokenStream { - let original = input.clone(); - - let _ = parse_macro_input!(args as Nothing); - let input = parse_macro_input!(input as Input); - let kind = input.kind(); - - match check::sorted(input) { - Ok(()) => original, - Err(err) => emit(err, kind, original), - } -} - -#[proc_macro_attribute] -pub fn check(args: TokenStream, input: TokenStream) -> TokenStream { - let _ = parse_macro_input!(args as Nothing); - let mut input = parse_macro_input!(input as ItemFn); - - visit::check(&mut input); - - TokenStream::from(quote!(#input)) -} diff --git a/vendor/registry-40351f815f426200/remain/src/parse.rs b/vendor/registry-40351f815f426200/remain/src/parse.rs deleted file mode 100644 index 97bd9f8f3..000000000 --- a/vendor/registry-40351f815f426200/remain/src/parse.rs +++ /dev/null @@ -1,80 +0,0 @@ -use proc_macro2::Span; -use syn::parse::{Parse, ParseStream}; -use syn::{Attribute, Error, Expr, Fields, Result, Stmt, Token, Visibility}; - -use crate::emit::Kind; - -pub struct Nothing; - -impl Parse for Nothing { - fn parse(_input: ParseStream) -> Result { - Ok(Nothing) - } -} - -pub enum Input { - Enum(syn::ItemEnum), - Match(syn::ExprMatch), - Struct(syn::FieldsNamed), - Let(syn::ExprMatch), -} - -impl Input { - pub fn kind(&self) -> Kind { - match self { - Input::Enum(_) => Kind::Enum, - Input::Match(_) => Kind::Match, - Input::Struct(_) => Kind::Struct, - Input::Let(_) => Kind::Let, - } - } -} - -impl Parse for Input { - fn parse(input: ParseStream) -> Result { - let _ = input.call(Attribute::parse_outer)?; - - if input.peek(Token![match]) { - let expr = match input.parse()? { - Expr::Match(expr) => expr, - _ => unreachable!("expected match"), - }; - return Ok(Input::Match(expr)); - } - - if input.peek(Token![let]) { - let stmt = match input.parse()? { - Stmt::Local(stmt) => stmt, - _ => unreachable!("expected let"), - }; - let init = match stmt.init { - Some((_, init)) => *init, - None => return Err(unexpected()), - }; - let expr = match init { - Expr::Match(expr) => expr, - _ => return Err(unexpected()), - }; - return Ok(Input::Let(expr)); - } - - let ahead = input.fork(); - let _: Visibility = ahead.parse()?; - if ahead.peek(Token![enum]) { - return input.parse().map(Input::Enum); - } else if ahead.peek(Token![struct]) { - let input: syn::ItemStruct = input.parse()?; - if let Fields::Named(fields) = input.fields { - return Ok(Input::Struct(fields)); - } - } - - Err(unexpected()) - } -} - -fn unexpected() -> Error { - let span = Span::call_site(); - let msg = "expected enum, struct, or match expression"; - Error::new(span, msg) -} diff --git a/vendor/registry-40351f815f426200/remain/src/visit.rs b/vendor/registry-40351f815f426200/remain/src/visit.rs deleted file mode 100644 index f681aa9af..000000000 --- a/vendor/registry-40351f815f426200/remain/src/visit.rs +++ /dev/null @@ -1,77 +0,0 @@ -use quote::quote; -use syn::visit_mut::{self, VisitMut}; -use syn::{parse_quote, Attribute, Expr, ExprMatch, ItemFn, Local}; - -use crate::parse::Input; - -pub fn check(input: &mut ItemFn) { - Checker.visit_item_fn_mut(input); -} - -struct Checker; - -impl VisitMut for Checker { - fn visit_expr_mut(&mut self, expr: &mut Expr) { - visit_mut::visit_expr_mut(self, expr); - - let expr_match = match expr { - Expr::Match(expr) => expr, - _ => return, - }; - - if !take_sorted_attr(&mut expr_match.attrs) { - return; - } - - let input = expr_match.clone(); - check_and_insert_error(input, expr); - } - - fn visit_local_mut(&mut self, local: &mut Local) { - visit_mut::visit_local_mut(self, local); - - let init = match &local.init { - Some((_, init)) => init, - None => return, - }; - - let expr_match = match init.as_ref() { - Expr::Match(expr) => expr, - _ => return, - }; - - if !take_sorted_attr(&mut local.attrs) { - return; - } - - let input = expr_match.clone(); - let expr = local.init.as_mut().unwrap().1.as_mut(); - check_and_insert_error(input, expr); - } -} - -fn take_sorted_attr(attrs: &mut Vec) -> bool { - for i in 0..attrs.len() { - let path = &attrs[i].path; - let path = quote!(#path).to_string(); - if path == "sorted" || path == "remain :: sorted" { - attrs.remove(i); - return true; - } - } - - false -} - -fn check_and_insert_error(input: ExprMatch, out: &mut Expr) { - let original = quote!(#input); - let input = Input::Match(input); - - if let Err(err) = crate::check::sorted(input) { - let err = err.to_compile_error(); - *out = parse_quote!({ - #err - #original - }); - } -} diff --git a/vendor/registry-40351f815f426200/remain/tests/compiletest.rs b/vendor/registry-40351f815f426200/remain/tests/compiletest.rs deleted file mode 100644 index 2e861bf67..000000000 --- a/vendor/registry-40351f815f426200/remain/tests/compiletest.rs +++ /dev/null @@ -1,6 +0,0 @@ -#[rustc::attr(not(nightly), ignore)] -#[test] -fn ui() { - let t = trybuild::TestCases::new(); - t.compile_fail("tests/ui/*.rs"); -} diff --git a/vendor/registry-40351f815f426200/remain/tests/stable.rs b/vendor/registry-40351f815f426200/remain/tests/stable.rs deleted file mode 100644 index a3b6a7bb0..000000000 --- a/vendor/registry-40351f815f426200/remain/tests/stable.rs +++ /dev/null @@ -1,45 +0,0 @@ -#![allow(dead_code)] - -#[remain::sorted] -pub enum TestEnum { - A, - B, - C, - D, -} - -#[remain::sorted] -pub struct TestStruct { - a: usize, - b: usize, - c: usize, - d: usize, -} - -#[test] -#[remain::check] -fn test_match() { - let value = TestEnum::A; - - #[sorted] - let _ = match value { - TestEnum::A => {} - TestEnum::B => {} - TestEnum::C => {} - _ => {} - }; -} - -#[test] -#[remain::check] -fn test_let() { - let value = TestEnum::A; - - #[sorted] - match value { - TestEnum::A => {} - TestEnum::B => {} - TestEnum::C => {} - _ => {} - } -} diff --git a/vendor/registry-40351f815f426200/remain/tests/ui/enum.rs b/vendor/registry-40351f815f426200/remain/tests/ui/enum.rs deleted file mode 100644 index dc98475b0..000000000 --- a/vendor/registry-40351f815f426200/remain/tests/ui/enum.rs +++ /dev/null @@ -1,11 +0,0 @@ -use remain::sorted; - -#[sorted] -enum E { - Aaa, - Ccc(u8), - Ddd { u: u8 }, - Bbb(u8, u8), -} - -fn main() {} diff --git a/vendor/registry-40351f815f426200/remain/tests/ui/enum.stderr b/vendor/registry-40351f815f426200/remain/tests/ui/enum.stderr deleted file mode 100644 index 50ffa8c6c..000000000 --- a/vendor/registry-40351f815f426200/remain/tests/ui/enum.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: Bbb should sort before Ccc - --> $DIR/enum.rs:8:5 - | -8 | Bbb(u8, u8), - | ^^^ diff --git a/vendor/registry-40351f815f426200/remain/tests/ui/let-stable.rs b/vendor/registry-40351f815f426200/remain/tests/ui/let-stable.rs deleted file mode 100644 index b05d3e38a..000000000 --- a/vendor/registry-40351f815f426200/remain/tests/ui/let-stable.rs +++ /dev/null @@ -1,19 +0,0 @@ -enum E { - Aaa, - Bbb(u8, u8), - Ccc(u8), - Ddd { u: u8 }, -} - -#[remain::check] -fn main() { - let value = E::Aaa; - - #[sorted] - let _ = match value { - E::Aaa => {} - E::Ccc(_) => {} - E::Ddd { u: _ } => {} - E::Bbb(_, _) => {} - }; -} diff --git a/vendor/registry-40351f815f426200/remain/tests/ui/let-stable.stderr b/vendor/registry-40351f815f426200/remain/tests/ui/let-stable.stderr deleted file mode 100644 index 90737505f..000000000 --- a/vendor/registry-40351f815f426200/remain/tests/ui/let-stable.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: E::Bbb should sort before E::Ccc - --> $DIR/let-stable.rs:17:9 - | -17 | E::Bbb(_, _) => {} - | ^^^^^^ diff --git a/vendor/registry-40351f815f426200/remain/tests/ui/let-unstable.rs b/vendor/registry-40351f815f426200/remain/tests/ui/let-unstable.rs deleted file mode 100644 index 8d65c52bb..000000000 --- a/vendor/registry-40351f815f426200/remain/tests/ui/let-unstable.rs +++ /dev/null @@ -1,22 +0,0 @@ -#![feature(proc_macro_hygiene, stmt_expr_attributes)] - -use remain::sorted; - -enum E { - Aaa, - Bbb(u8, u8), - Ccc(u8), - Ddd { u: u8 }, -} - -fn main() { - let value = E::Aaa; - - #[sorted] - let _ = match value { - E::Aaa => {} - E::Ccc(_) => {} - E::Ddd { u: _ } => {} - E::Bbb(_, _) => {} - }; -} diff --git a/vendor/registry-40351f815f426200/remain/tests/ui/let-unstable.stderr b/vendor/registry-40351f815f426200/remain/tests/ui/let-unstable.stderr deleted file mode 100644 index 97c5ba1d5..000000000 --- a/vendor/registry-40351f815f426200/remain/tests/ui/let-unstable.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: E::Bbb should sort before E::Ccc - --> $DIR/let-unstable.rs:15:5 - | -15 | #[sorted] - | ^^^^^^^^^ diff --git a/vendor/registry-40351f815f426200/remain/tests/ui/match-stable.rs b/vendor/registry-40351f815f426200/remain/tests/ui/match-stable.rs deleted file mode 100644 index 6bdade497..000000000 --- a/vendor/registry-40351f815f426200/remain/tests/ui/match-stable.rs +++ /dev/null @@ -1,19 +0,0 @@ -enum E { - Aaa, - Bbb(u8, u8), - Ccc(u8), - Ddd { u: u8 }, -} - -#[remain::check] -fn main() { - let value = E::Aaa; - - #[sorted] - match value { - E::Aaa => {} - E::Ccc(_) => {} - E::Ddd { u: _ } => {} - E::Bbb(_, _) => {} - } -} diff --git a/vendor/registry-40351f815f426200/remain/tests/ui/match-stable.stderr b/vendor/registry-40351f815f426200/remain/tests/ui/match-stable.stderr deleted file mode 100644 index 183daa98b..000000000 --- a/vendor/registry-40351f815f426200/remain/tests/ui/match-stable.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: E::Bbb should sort before E::Ccc - --> $DIR/match-stable.rs:17:9 - | -17 | E::Bbb(_, _) => {} - | ^^^^^^ diff --git a/vendor/registry-40351f815f426200/remain/tests/ui/match-unstable.rs b/vendor/registry-40351f815f426200/remain/tests/ui/match-unstable.rs deleted file mode 100644 index db047f187..000000000 --- a/vendor/registry-40351f815f426200/remain/tests/ui/match-unstable.rs +++ /dev/null @@ -1,22 +0,0 @@ -#![feature(proc_macro_hygiene, stmt_expr_attributes)] - -use remain::sorted; - -enum E { - Aaa, - Bbb(u8, u8), - Ccc(u8), - Ddd { u: u8 }, -} - -fn main() { - let value = E::Aaa; - - #[sorted] - match value { - E::Aaa => {} - E::Ccc(_) => {} - E::Ddd { u: _ } => {} - E::Bbb(_, _) => {} - } -} diff --git a/vendor/registry-40351f815f426200/remain/tests/ui/match-unstable.stderr b/vendor/registry-40351f815f426200/remain/tests/ui/match-unstable.stderr deleted file mode 100644 index b2bdea0ee..000000000 --- a/vendor/registry-40351f815f426200/remain/tests/ui/match-unstable.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: E::Bbb should sort before E::Ccc - --> $DIR/match-unstable.rs:15:5 - | -15 | #[sorted] - | ^^^^^^^^^ diff --git a/vendor/registry-40351f815f426200/remain/tests/ui/struct.rs b/vendor/registry-40351f815f426200/remain/tests/ui/struct.rs deleted file mode 100644 index 5f2cd4151..000000000 --- a/vendor/registry-40351f815f426200/remain/tests/ui/struct.rs +++ /dev/null @@ -1,11 +0,0 @@ -use remain::sorted; - -#[sorted] -struct TestStruct { - d: usize, - c: usize, - a: usize, - b: usize, -} - -fn main() {} diff --git a/vendor/registry-40351f815f426200/remain/tests/ui/struct.stderr b/vendor/registry-40351f815f426200/remain/tests/ui/struct.stderr deleted file mode 100644 index 2ead15b72..000000000 --- a/vendor/registry-40351f815f426200/remain/tests/ui/struct.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: c should sort before d - --> $DIR/struct.rs:6:5 - | -6 | c: usize, - | ^ diff --git a/vendor/registry-40351f815f426200/remain/tests/ui/unnamed-fields.rs b/vendor/registry-40351f815f426200/remain/tests/ui/unnamed-fields.rs deleted file mode 100644 index 2fcfda9fc..000000000 --- a/vendor/registry-40351f815f426200/remain/tests/ui/unnamed-fields.rs +++ /dev/null @@ -1,7 +0,0 @@ -#[remain::sorted] -struct TupleStruct(usize, usize, usize); - -#[remain::sorted] -struct UnitStruct; - -fn main() {} diff --git a/vendor/registry-40351f815f426200/remain/tests/ui/unnamed-fields.stderr b/vendor/registry-40351f815f426200/remain/tests/ui/unnamed-fields.stderr deleted file mode 100644 index b7e28f523..000000000 --- a/vendor/registry-40351f815f426200/remain/tests/ui/unnamed-fields.stderr +++ /dev/null @@ -1,11 +0,0 @@ -error: expected enum, struct, or match expression - --> $DIR/unnamed-fields.rs:1:1 - | -1 | #[remain::sorted] - | ^^^^^^^^^^^^^^^^^ - -error: expected enum, struct, or match expression - --> $DIR/unnamed-fields.rs:4:1 - | -4 | #[remain::sorted] - | ^^^^^^^^^^^^^^^^^ diff --git a/vendor/registry-40351f815f426200/remain/tests/ui/unsupported.rs b/vendor/registry-40351f815f426200/remain/tests/ui/unsupported.rs deleted file mode 100644 index b11c9749e..000000000 --- a/vendor/registry-40351f815f426200/remain/tests/ui/unsupported.rs +++ /dev/null @@ -1,10 +0,0 @@ -#[remain::check] -fn main() { - let value = 0; - - #[sorted] - match value { - 0..=20 => {} - _ => {} - } -} diff --git a/vendor/registry-40351f815f426200/remain/tests/ui/unsupported.stderr b/vendor/registry-40351f815f426200/remain/tests/ui/unsupported.stderr deleted file mode 100644 index e471e1eaf..000000000 --- a/vendor/registry-40351f815f426200/remain/tests/ui/unsupported.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: unsupported by #[remain::sorted] - --> $DIR/unsupported.rs:7:9 - | -7 | 0..=20 => {} - | ^^^^^^ diff --git a/vendor/registry-40351f815f426200/remain/tests/unstable.rs b/vendor/registry-40351f815f426200/remain/tests/unstable.rs deleted file mode 100644 index 78dbd08ed..000000000 --- a/vendor/registry-40351f815f426200/remain/tests/unstable.rs +++ /dev/null @@ -1,45 +0,0 @@ -#![allow(dead_code)] -#![cfg(not(remain_stable_testing))] -#![feature(proc_macro_hygiene, stmt_expr_attributes)] - -#[remain::sorted] -pub enum TestEnum { - A, - B, - C, - D, -} - -#[remain::sorted] -pub struct TestStruct { - a: usize, - b: usize, - c: usize, - d: usize, -} - -#[test] -fn test_match() { - let value = TestEnum::A; - - #[remain::sorted] - let _ = match value { - TestEnum::A => {} - TestEnum::B => {} - TestEnum::C => {} - _ => {} - }; -} - -#[test] -fn test_let() { - let value = TestEnum::A; - - #[remain::sorted] - match value { - TestEnum::A => {} - TestEnum::B => {} - TestEnum::C => {} - _ => {} - } -} diff --git a/vendor/registry-40351f815f426200/remove_dir_all/.cargo-checksum.json b/vendor/registry-40351f815f426200/remove_dir_all/.cargo-checksum.json deleted file mode 100644 index 87c20b6d2..000000000 --- a/vendor/registry-40351f815f426200/remove_dir_all/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"98438ca5f5f5250e387979caec56f688beee15585c33fb7a2931d72aa3397b1e","LICENCE-APACHE":"c6c8c9dbe29fb4d68d829c7a402f9f6baae3472ecf107cc2a57c75a9a8d1b85c","LICENCE-MIT":"db264505cb1856383e255c8373da9e5aeadc1cd92b570fcc94fd1fb7d892db78","src/fs.rs":"a76e48978d35d611d35367cb95b342e2dcc6590c2ae750579dee00f86da6d509","src/lib.rs":"80fc8332b0a6303915417a996a6c3001a067add3022f0f278b2f67c676759beb"},"package":"3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/remove_dir_all/Cargo.toml b/vendor/registry-40351f815f426200/remove_dir_all/Cargo.toml deleted file mode 100644 index 88d3cace7..000000000 --- a/vendor/registry-40351f815f426200/remove_dir_all/Cargo.toml +++ /dev/null @@ -1,26 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "remove_dir_all" -version = "0.5.1" -authors = ["Aaronepower "] -include = ["Cargo.toml", "LICENCE-APACHE", "LICENCE-MIT", "src/**/*"] -description = "A safe, reliable implementation of remove_dir_all for Windows" -readme = "README.md" -keywords = ["utility", "filesystem", "remove_dir", "windows"] -categories = ["filesystem"] -license = "MIT/Apache-2.0" -repository = "https://github.com/Aaronepower/remove_dir_all.git" -[target."cfg(windows)".dependencies.winapi] -version = "0.3" -features = ["std", "errhandlingapi", "winerror", "fileapi", "winbase"] diff --git a/vendor/registry-40351f815f426200/remove_dir_all/LICENCE-APACHE b/vendor/registry-40351f815f426200/remove_dir_all/LICENCE-APACHE deleted file mode 100644 index 01de39235..000000000 --- a/vendor/registry-40351f815f426200/remove_dir_all/LICENCE-APACHE +++ /dev/null @@ -1,191 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -Copyright 2017 Aaron Power - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - diff --git a/vendor/registry-40351f815f426200/remove_dir_all/LICENCE-MIT b/vendor/registry-40351f815f426200/remove_dir_all/LICENCE-MIT deleted file mode 100644 index 627895f4e..000000000 --- a/vendor/registry-40351f815f426200/remove_dir_all/LICENCE-MIT +++ /dev/null @@ -1,26 +0,0 @@ -Copyright (c) 2017 Aaron Power - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - diff --git a/vendor/registry-40351f815f426200/remove_dir_all/src/fs.rs b/vendor/registry-40351f815f426200/remove_dir_all/src/fs.rs deleted file mode 100644 index 730582b8a..000000000 --- a/vendor/registry-40351f815f426200/remove_dir_all/src/fs.rs +++ /dev/null @@ -1,265 +0,0 @@ -use std::ffi::OsString; -use std::fs::{self, File, OpenOptions}; -use std::{io, ptr}; -use std::os::windows::prelude::*; -use std::path::{Path, PathBuf}; - -use winapi::shared::minwindef::*; -use winapi::shared::winerror::*; -use winapi::um::errhandlingapi::*; -use winapi::um::fileapi::*; -use winapi::um::minwinbase::*; -use winapi::um::winbase::*; -use winapi::um::winnt::*; - -pub const VOLUME_NAME_DOS: DWORD = 0x0; - -struct RmdirContext<'a> { - base_dir: &'a Path, - readonly: bool, - counter: u64, -} - -/// Reliably removes directory and all of it's children. -/// ```rust -/// extern crate remove_dir_all; -/// -/// use remove_dir_all::*; -/// -/// fn main() { -/// remove_dir_all("./temp/").unwrap(); -/// } -/// ``` -pub fn remove_dir_all>(path: P) -> io::Result<()> { - // On Windows it is not enough to just recursively remove the contents of a - // directory and then the directory itself. Deleting does not happen - // instantaneously, but is scheduled. - // To work around this, we move the file or directory to some `base_dir` - // right before deletion to avoid races. - // - // As `base_dir` we choose the parent dir of the directory we want to - // remove. We very probably have permission to create files here, as we - // already need write permission in this dir to delete the directory. And it - // should be on the same volume. - // - // To handle files with names like `CON` and `morse .. .`, and when a - // directory structure is so deep it needs long path names the path is first - // converted to a `//?/`-path with `get_path()`. - // - // To make sure we don't leave a moved file laying around if the process - // crashes before we can delete the file, we do all operations on an file - // handle. By opening a file with `FILE_FLAG_DELETE_ON_CLOSE` Windows will - // always delete the file when the handle closes. - // - // All files are renamed to be in the `base_dir`, and have their name - // changed to "rm-". After every rename the counter is increased. - // Rename should not overwrite possibly existing files in the base dir. So - // if it fails with `AlreadyExists`, we just increase the counter and try - // again. - // - // For read-only files and directories we first have to remove the read-only - // attribute before we can move or delete them. This also removes the - // attribute from possible hardlinks to the file, so just before closing we - // restore the read-only attribute. - // - // If 'path' points to a directory symlink or junction we should not - // recursively remove the target of the link, but only the link itself. - // - // Moving and deleting is guaranteed to succeed if we are able to open the - // file with `DELETE` permission. If others have the file open we only have - // `DELETE` permission if they have specified `FILE_SHARE_DELETE`. We can - // also delete the file now, but it will not disappear until all others have - // closed the file. But no-one can open the file after we have flagged it - // for deletion. - - // Open the path once to get the canonical path, file type and attributes. - let (path, metadata) = { - let path = path.as_ref(); - let mut opts = OpenOptions::new(); - opts.access_mode(FILE_READ_ATTRIBUTES); - opts.custom_flags(FILE_FLAG_BACKUP_SEMANTICS | - FILE_FLAG_OPEN_REPARSE_POINT); - let file = opts.open(path)?; - (get_path(&file)?, path.metadata()?) - }; - - let mut ctx = RmdirContext { - base_dir: match path.parent() { - Some(dir) => dir, - None => return Err(io::Error::new(io::ErrorKind::PermissionDenied, - "Can't delete root directory")) - }, - readonly: metadata.permissions().readonly(), - counter: 0, - }; - - let filetype = metadata.file_type(); - if filetype.is_dir() { - if !filetype.is_symlink() { - remove_dir_all_recursive(path.as_ref(), &mut ctx) - } else { - remove_item(path.as_ref(), &mut ctx) - } - } else { - Err(io::Error::new(io::ErrorKind::PermissionDenied, "Not a directory")) - } -} - -fn remove_item(path: &Path, ctx: &mut RmdirContext) -> io::Result<()> { - if ctx.readonly { - // remove read-only permision - let mut permissions = path.metadata()?.permissions(); - permissions.set_readonly(false); - - fs::set_permissions(path, permissions)?; - } - - let mut opts = OpenOptions::new(); - opts.access_mode(DELETE); - opts.custom_flags(FILE_FLAG_BACKUP_SEMANTICS | // delete directory - FILE_FLAG_OPEN_REPARSE_POINT | // delete symlink - FILE_FLAG_DELETE_ON_CLOSE); - let file = opts.open(path)?; - move_item(&file, ctx)?; - - if ctx.readonly { - // restore read-only flag just in case there are other hard links - match fs::metadata(&path) { - Ok(metadata) => { - let mut perm = metadata.permissions(); - perm.set_readonly(true); - fs::set_permissions(&path, perm)?; - }, - Err(ref err) if err.kind() == io::ErrorKind::NotFound => {}, - err => return err.map(|_| ()), - } - } - - Ok(()) -} - -fn move_item(file: &File, ctx: &mut RmdirContext) -> io::Result<()> { - let mut tmpname = ctx.base_dir.join(format!{"rm-{}", ctx.counter}); - ctx.counter += 1; - - // Try to rename the file. If it already exists, just retry with an other - // filename. - while let Err(err) = rename(file, &tmpname, false) { - if err.kind() != io::ErrorKind::AlreadyExists { return Err(err) }; - tmpname = ctx.base_dir.join(format!("rm-{}", ctx.counter)); - ctx.counter += 1; - } - - Ok(()) -} - -fn rename(file: &File, new: &Path, replace: bool) -> io::Result<()> { - // &self must be opened with DELETE permission - use std::iter; - #[cfg(target_arch = "x86")] - const STRUCT_SIZE: usize = 12; - #[cfg(target_arch = "x86_64")] - const STRUCT_SIZE: usize = 20; - - // FIXME: check for internal NULs in 'new' - let mut data: Vec = iter::repeat(0u16).take(STRUCT_SIZE/2) - .chain(new.as_os_str().encode_wide()) - .collect(); - data.push(0); - let size = data.len() * 2; - - unsafe { - // Thanks to alignment guarantees on Windows this works - // (8 for 32-bit and 16 for 64-bit) - let info = data.as_mut_ptr() as *mut FILE_RENAME_INFO; - // The type of ReplaceIfExists is BOOL, but it actually expects a - // BOOLEAN. This means true is -1, not c::TRUE. - (*info).ReplaceIfExists = if replace { -1 } else { FALSE }; - (*info).RootDirectory = ptr::null_mut(); - (*info).FileNameLength = (size - STRUCT_SIZE) as DWORD; - let result = SetFileInformationByHandle(file.as_raw_handle(), - FileRenameInfo, - data.as_mut_ptr() as *mut _ as *mut _, - size as DWORD); - - if result == 0 { - Err(io::Error::last_os_error()) - } else { - Ok(()) - } - } -} - -fn get_path(f: &File) -> io::Result { - - fill_utf16_buf(|buf, sz| unsafe { - GetFinalPathNameByHandleW(f.as_raw_handle(), buf, sz, VOLUME_NAME_DOS) - }, |buf| { - PathBuf::from(OsString::from_wide(buf)) - }) -} - -fn remove_dir_all_recursive(path: &Path, ctx: &mut RmdirContext) - -> io::Result<()> { - let dir_readonly = ctx.readonly; - for child in try!(fs::read_dir(path)) { - let child = try!(child); - let child_type = try!(child.file_type()); - ctx.readonly = try!(child.metadata()).permissions().readonly(); - if child_type.is_dir() { - try!(remove_dir_all_recursive(&child.path(), ctx)); - } else { - try!(remove_item(&child.path().as_ref(), ctx)); - } - } - ctx.readonly = dir_readonly; - remove_item(path, ctx) -} - -fn fill_utf16_buf(mut f1: F1, f2: F2) -> io::Result - where F1: FnMut(*mut u16, DWORD) -> DWORD, - F2: FnOnce(&[u16]) -> T -{ - // Start off with a stack buf but then spill over to the heap if we end up - // needing more space. - let mut stack_buf = [0u16; 512]; - let mut heap_buf = Vec::new(); - unsafe { - let mut n = stack_buf.len(); - - loop { - let buf = if n <= stack_buf.len() { - &mut stack_buf[..] - } else { - let extra = n - heap_buf.len(); - heap_buf.reserve(extra); - heap_buf.set_len(n); - &mut heap_buf[..] - }; - - // This function is typically called on windows API functions which - // will return the correct length of the string, but these functions - // also return the `0` on error. In some cases, however, the - // returned "correct length" may actually be 0! - // - // To handle this case we call `SetLastError` to reset it to 0 and - // then check it again if we get the "0 error value". If the "last - // error" is still 0 then we interpret it as a 0 length buffer and - // not an actual error. - SetLastError(0); - let k = match f1(buf.as_mut_ptr(), n as DWORD) { - 0 if GetLastError() == 0 => 0, - 0 => return Err(io::Error::last_os_error()), - n => n, - } as usize; - if k == n && GetLastError() == ERROR_INSUFFICIENT_BUFFER { - n *= 2; - } else if k >= n { - n = k; - } else { - return Ok(f2(&buf[..k])) - } - } - } -} - diff --git a/vendor/registry-40351f815f426200/remove_dir_all/src/lib.rs b/vendor/registry-40351f815f426200/remove_dir_all/src/lib.rs deleted file mode 100644 index 367d44e16..000000000 --- a/vendor/registry-40351f815f426200/remove_dir_all/src/lib.rs +++ /dev/null @@ -1,12 +0,0 @@ -#[cfg(windows)] -extern crate winapi; - -#[cfg(windows)] -mod fs; - -#[cfg(windows)] -pub use self::fs::remove_dir_all; - -#[cfg(not(windows))] -pub use std::fs::remove_dir_all; - diff --git a/vendor/registry-40351f815f426200/serde/.cargo-checksum.json b/vendor/registry-40351f815f426200/serde/.cargo-checksum.json deleted file mode 100644 index 855da1633..000000000 --- a/vendor/registry-40351f815f426200/serde/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"9f1e33b4b64aefd1513f71b767ce2c8d77b3ad0ec94490f4258a111e0380c587","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"3760f279854d1ca296894756ebd4d8bc91fe164874aa4c17db522843a9725f8e","build.rs":"36983e7377af4e76eba9c8745e0d58c1668afaf651abf4ba53d203f985593f32","crates-io.md":"131dee2d4beaf83485aed22942b98815ef65af9bcfb65f02b5b90c59b8bc7b8b","src/de/from_primitive.rs":"058fa17313ed3a9c29ec04c6ec67f21a756f6f28cdeb4b0dfcd7012b3e702d0b","src/de/ignored_any.rs":"3c199f3e4c3f8775ab30439c6868b61aa0a32fa23232b218afb94d1aadb15f0a","src/de/impls.rs":"75a798b149c690ef197d3f190c95f42a2bc0a8f7b3bd9f689f7faae02c0e9403","src/de/mod.rs":"76161f9f86b1589495681da619a6785561b587c27c62724fe960b630be69c564","src/de/utf8.rs":"f17524ee0af98ec3abcfd7d0b812fbd1033263bd8e2ce2f57c1e1999ce153558","src/de/value.rs":"a878f6bdd57d25b0b93bfc6288ed1e46c50870dc8703748b6fbb8c0965a6b586","src/export.rs":"1519d8bf2d18368eb0a394e1aceff74e092922902a966f388b74fddecdbeb5f9","src/integer128.rs":"f8298a559f1fae7579819cb68f6cba8c01cdda11737cf1fb498bf52810c130b6","src/lib.rs":"cdb28f42ebc35a886f5b380190f8339d315cf8c75e356fd5d60264fa4497bcac","src/macros.rs":"f18fc25c5fb857238bf119cdee5c7987a8584dea69c51f27ca718b7dfd871d0f","src/private/de.rs":"2a4b0b7145135b1116f7b0af4adebe74b7d3aa4cc96896584066a654aa4b6c6c","src/private/macros.rs":"ebb6affd4c89e3b5f9a42e03f8b7d966bc588875e9b44e962d0b7aba7f80a10f","src/private/mod.rs":"f8f2cd5edbfc26c268b34cdb89db1b34e6348f81384f03d18532e7568575006d","src/private/ser.rs":"946bf9910bb646a4c1732fd17f8c98db2515fe23edeb6e622e3618ff4de46b33","src/ser/impls.rs":"1a6598433a22d2672f743619e4ec99c55378d9283f26783ade02dd2ce4acf892","src/ser/impossible.rs":"3dd0e165b88fc67e698e675f16569b91fab9e054caa4c3e1997f929ba364fe90","src/ser/mod.rs":"6fac442413315d14b60fb62d9298c857d2b93276dc8d03729db44bf8fb9a1ec5"},"package":"32746bf0f26eab52f06af0d0aa1984f641341d06d8d673c693871da2d188c9be"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/serde/Cargo.toml b/vendor/registry-40351f815f426200/serde/Cargo.toml deleted file mode 100644 index 572c27db5..000000000 --- a/vendor/registry-40351f815f426200/serde/Cargo.toml +++ /dev/null @@ -1,46 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g., crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "serde" -version = "1.0.92" -authors = ["Erick Tryzelaar ", "David Tolnay "] -build = "build.rs" -include = ["Cargo.toml", "build.rs", "src/**/*.rs", "crates-io.md", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] -description = "A generic serialization/deserialization framework" -homepage = "https://serde.rs" -documentation = "https://docs.serde.rs/serde/" -readme = "crates-io.md" -keywords = ["serde", "serialization", "no_std"] -categories = ["encoding"] -license = "MIT OR Apache-2.0" -repository = "https://github.com/serde-rs/serde" -[package.metadata.playground] -features = ["derive", "rc"] -[dependencies.serde_derive] -version = "1.0" -optional = true -[dev-dependencies.serde_derive] -version = "1.0" - -[features] -alloc = ["unstable"] -default = ["std"] -derive = ["serde_derive"] -rc = [] -std = [] -unstable = [] -[badges.appveyor] -repository = "serde-rs/serde" - -[badges.travis-ci] -repository = "serde-rs/serde" diff --git a/vendor/registry-40351f815f426200/serde/LICENSE-APACHE b/vendor/registry-40351f815f426200/serde/LICENSE-APACHE deleted file mode 100644 index 16fe87b06..000000000 --- a/vendor/registry-40351f815f426200/serde/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/serde/LICENSE-MIT b/vendor/registry-40351f815f426200/serde/LICENSE-MIT deleted file mode 100644 index 31aa79387..000000000 --- a/vendor/registry-40351f815f426200/serde/LICENSE-MIT +++ /dev/null @@ -1,23 +0,0 @@ -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/serde/README.md b/vendor/registry-40351f815f426200/serde/README.md deleted file mode 100644 index db5fa09d7..000000000 --- a/vendor/registry-40351f815f426200/serde/README.md +++ /dev/null @@ -1,99 +0,0 @@ -# Serde   [![Build Status]][travis] [![Latest Version]][crates.io] [![Rustc Version 1.13+]][rustc] - -[Build Status]: https://api.travis-ci.org/serde-rs/serde.svg?branch=master -[travis]: https://travis-ci.org/serde-rs/serde -[Latest Version]: https://img.shields.io/crates/v/serde.svg -[crates.io]: https://crates.io/crates/serde -[Rustc Version 1.13+]: https://img.shields.io/badge/rustc-1.13+-lightgray.svg -[rustc]: https://blog.rust-lang.org/2016/11/10/Rust-1.13.html - -**Serde is a framework for *ser*ializing and *de*serializing Rust data structures efficiently and generically.** - ---- - -You may be looking for: - -- [An overview of Serde](https://serde.rs/) -- [Data formats supported by Serde](https://serde.rs/#data-formats) -- [Setting up `#[derive(Serialize, Deserialize)]`](https://serde.rs/derive.html) -- [Examples](https://serde.rs/examples.html) -- [API documentation](https://docs.serde.rs/serde/) -- [Release notes](https://github.com/serde-rs/serde/releases) - -## Serde in action - -
- -Click to show Cargo.toml. -Run this code in the playground. - - -```toml -[dependencies] - -# The core APIs, including the Serialize and Deserialize traits. Always -# required when using Serde. The "derive" feature is only required when -# using #[derive(Serialize, Deserialize)] to make Serde work with structs -# and enums defined in your crate. -serde = { version = "1.0", features = ["derive"] } - -# Each data format lives in its own crate; the sample code below uses JSON -# but you may be using a different one. -serde_json = "1.0" -``` - -
-

- -```rust -use serde::{Serialize, Deserialize}; - -#[derive(Serialize, Deserialize, Debug)] -struct Point { - x: i32, - y: i32, -} - -fn main() { - let point = Point { x: 1, y: 2 }; - - // Convert the Point to a JSON string. - let serialized = serde_json::to_string(&point).unwrap(); - - // Prints serialized = {"x":1,"y":2} - println!("serialized = {}", serialized); - - // Convert the JSON string back to a Point. - let deserialized: Point = serde_json::from_str(&serialized).unwrap(); - - // Prints deserialized = Point { x: 1, y: 2 } - println!("deserialized = {:?}", deserialized); -} -``` - -## Getting help - -Serde developers live in the #serde channel on [`irc.mozilla.org`][irc]. The -\#rust channel is also a good resource with generally faster response time but -less specific knowledge about Serde. If IRC is not your thing or you don't get a -good response, we are happy to respond to [GitHub issues][issues] as well. - -[irc]: https://wiki.mozilla.org/IRC -[issues]: https://github.com/serde-rs/serde/issues/new/choose - -
- -#### License - - -Licensed under either of Apache License, Version -2.0 or MIT license at your option. - - -
- - -Unless you explicitly state otherwise, any contribution intentionally submitted -for inclusion in Serde by you, as defined in the Apache-2.0 license, shall be -dual licensed as above, without any additional terms or conditions. - diff --git a/vendor/registry-40351f815f426200/serde/build.rs b/vendor/registry-40351f815f426200/serde/build.rs deleted file mode 100644 index e27e2f34f..000000000 --- a/vendor/registry-40351f815f426200/serde/build.rs +++ /dev/null @@ -1,100 +0,0 @@ -use std::env; -use std::process::Command; -use std::str::{self, FromStr}; - -// The rustc-cfg strings below are *not* public API. Please let us know by -// opening a GitHub issue if your build environment requires some way to enable -// these cfgs other than by executing our build script. -fn main() { - let minor = match rustc_minor_version() { - Some(minor) => minor, - None => return, - }; - - let target = env::var("TARGET").unwrap(); - let emscripten = target == "asmjs-unknown-emscripten" || target == "wasm32-unknown-emscripten"; - - // std::collections::Bound was stabilized in Rust 1.17 - // but it was moved to core::ops later in Rust 1.26: - // https://doc.rust-lang.org/core/ops/enum.Bound.html - if minor >= 26 { - println!("cargo:rustc-cfg=ops_bound"); - } else if minor >= 17 && cfg!(feature = "std") { - println!("cargo:rustc-cfg=collections_bound"); - } - - // core::cmp::Reverse stabilized in Rust 1.19: - // https://doc.rust-lang.org/stable/core/cmp/struct.Reverse.html - if minor >= 19 { - println!("cargo:rustc-cfg=core_reverse"); - } - - // CString::into_boxed_c_str stabilized in Rust 1.20: - // https://doc.rust-lang.org/std/ffi/struct.CString.html#method.into_boxed_c_str - if minor >= 20 { - println!("cargo:rustc-cfg=de_boxed_c_str"); - } - - // From> for Rc / Arc stabilized in Rust 1.21: - // https://doc.rust-lang.org/std/rc/struct.Rc.html#impl-From> - // https://doc.rust-lang.org/std/sync/struct.Arc.html#impl-From> - if minor >= 21 { - println!("cargo:rustc-cfg=de_rc_dst"); - } - - // Duration available in core since Rust 1.25: - // https://blog.rust-lang.org/2018/03/29/Rust-1.25.html#library-stabilizations - if minor >= 25 { - println!("cargo:rustc-cfg=core_duration"); - } - - // 128-bit integers stabilized in Rust 1.26: - // https://blog.rust-lang.org/2018/05/10/Rust-1.26.html - // - // Disabled on Emscripten targets as Emscripten doesn't - // currently support integers larger than 64 bits. - if minor >= 26 && !emscripten { - println!("cargo:rustc-cfg=integer128"); - } - - // Inclusive ranges methods stabilized in Rust 1.27: - // https://github.com/rust-lang/rust/pull/50758 - if minor >= 27 { - println!("cargo:rustc-cfg=range_inclusive"); - } - - // Non-zero integers stabilized in Rust 1.28: - // https://github.com/rust-lang/rust/pull/50808 - if minor >= 28 { - println!("cargo:rustc-cfg=num_nonzero"); - } -} - -fn rustc_minor_version() -> Option { - let rustc = match env::var_os("RUSTC") { - Some(rustc) => rustc, - None => return None, - }; - - let output = match Command::new(rustc).arg("--version").output() { - Ok(output) => output, - Err(_) => return None, - }; - - let version = match str::from_utf8(&output.stdout) { - Ok(version) => version, - Err(_) => return None, - }; - - let mut pieces = version.split('.'); - if pieces.next() != Some("rustc 1") { - return None; - } - - let next = match pieces.next() { - Some(next) => next, - None => return None, - }; - - u32::from_str(next).ok() -} diff --git a/vendor/registry-40351f815f426200/serde/crates-io.md b/vendor/registry-40351f815f426200/serde/crates-io.md deleted file mode 100644 index 3c6caa1a1..000000000 --- a/vendor/registry-40351f815f426200/serde/crates-io.md +++ /dev/null @@ -1,52 +0,0 @@ - - -**Serde is a framework for *ser*ializing and *de*serializing Rust data structures efficiently and generically.** - ---- - -You may be looking for: - -- [An overview of Serde](https://serde.rs/) -- [Data formats supported by Serde](https://serde.rs/#data-formats) -- [Setting up `#[derive(Serialize, Deserialize)]`](https://serde.rs/derive.html) -- [Examples](https://serde.rs/examples.html) -- [API documentation](https://docs.serde.rs/serde/) -- [Release notes](https://github.com/serde-rs/serde/releases) - -## Serde in action - -```rust -use serde::{Serialize, Deserialize}; - -#[derive(Serialize, Deserialize, Debug)] -struct Point { - x: i32, - y: i32, -} - -fn main() { - let point = Point { x: 1, y: 2 }; - - // Convert the Point to a JSON string. - let serialized = serde_json::to_string(&point).unwrap(); - - // Prints serialized = {"x":1,"y":2} - println!("serialized = {}", serialized); - - // Convert the JSON string back to a Point. - let deserialized: Point = serde_json::from_str(&serialized).unwrap(); - - // Prints deserialized = Point { x: 1, y: 2 } - println!("deserialized = {:?}", deserialized); -} -``` - -## Getting help - -Serde developers live in the #serde channel on [`irc.mozilla.org`][irc]. The -\#rust channel is also a good resource with generally faster response time but -less specific knowledge about Serde. If IRC is not your thing or you don't get a -good response, we are happy to respond to [GitHub issues][issues] as well. - -[irc]: https://wiki.mozilla.org/IRC -[issues]: https://github.com/serde-rs/serde/issues/new/choose diff --git a/vendor/registry-40351f815f426200/serde/src/de/from_primitive.rs b/vendor/registry-40351f815f426200/serde/src/de/from_primitive.rs deleted file mode 100644 index 544f3f1b8..000000000 --- a/vendor/registry-40351f815f426200/serde/src/de/from_primitive.rs +++ /dev/null @@ -1,260 +0,0 @@ -use lib::*; - -macro_rules! int_to_int { - ($dst:ident, $n:ident) => { - if $dst::min_value() as i64 <= $n as i64 && $n as i64 <= $dst::max_value() as i64 { - Some($n as $dst) - } else { - None - } - }; -} - -macro_rules! int_to_uint { - ($dst:ident, $n:ident) => { - if 0 <= $n && $n as u64 <= $dst::max_value() as u64 { - Some($n as $dst) - } else { - None - } - }; -} - -macro_rules! uint_to { - ($dst:ident, $n:ident) => { - if $n as u64 <= $dst::max_value() as u64 { - Some($n as $dst) - } else { - None - } - }; -} - -pub trait FromPrimitive: Sized { - fn from_i8(n: i8) -> Option; - fn from_i16(n: i16) -> Option; - fn from_i32(n: i32) -> Option; - fn from_i64(n: i64) -> Option; - fn from_u8(n: u8) -> Option; - fn from_u16(n: u16) -> Option; - fn from_u32(n: u32) -> Option; - fn from_u64(n: u64) -> Option; -} - -macro_rules! impl_from_primitive_for_int { - ($t:ident) => { - impl FromPrimitive for $t { - #[inline] - fn from_i8(n: i8) -> Option { - int_to_int!($t, n) - } - #[inline] - fn from_i16(n: i16) -> Option { - int_to_int!($t, n) - } - #[inline] - fn from_i32(n: i32) -> Option { - int_to_int!($t, n) - } - #[inline] - fn from_i64(n: i64) -> Option { - int_to_int!($t, n) - } - #[inline] - fn from_u8(n: u8) -> Option { - uint_to!($t, n) - } - #[inline] - fn from_u16(n: u16) -> Option { - uint_to!($t, n) - } - #[inline] - fn from_u32(n: u32) -> Option { - uint_to!($t, n) - } - #[inline] - fn from_u64(n: u64) -> Option { - uint_to!($t, n) - } - } - }; -} - -macro_rules! impl_from_primitive_for_uint { - ($t:ident) => { - impl FromPrimitive for $t { - #[inline] - fn from_i8(n: i8) -> Option { - int_to_uint!($t, n) - } - #[inline] - fn from_i16(n: i16) -> Option { - int_to_uint!($t, n) - } - #[inline] - fn from_i32(n: i32) -> Option { - int_to_uint!($t, n) - } - #[inline] - fn from_i64(n: i64) -> Option { - int_to_uint!($t, n) - } - #[inline] - fn from_u8(n: u8) -> Option { - uint_to!($t, n) - } - #[inline] - fn from_u16(n: u16) -> Option { - uint_to!($t, n) - } - #[inline] - fn from_u32(n: u32) -> Option { - uint_to!($t, n) - } - #[inline] - fn from_u64(n: u64) -> Option { - uint_to!($t, n) - } - } - }; -} - -macro_rules! impl_from_primitive_for_float { - ($t:ident) => { - impl FromPrimitive for $t { - #[inline] - fn from_i8(n: i8) -> Option { - Some(n as Self) - } - #[inline] - fn from_i16(n: i16) -> Option { - Some(n as Self) - } - #[inline] - fn from_i32(n: i32) -> Option { - Some(n as Self) - } - #[inline] - fn from_i64(n: i64) -> Option { - Some(n as Self) - } - #[inline] - fn from_u8(n: u8) -> Option { - Some(n as Self) - } - #[inline] - fn from_u16(n: u16) -> Option { - Some(n as Self) - } - #[inline] - fn from_u32(n: u32) -> Option { - Some(n as Self) - } - #[inline] - fn from_u64(n: u64) -> Option { - Some(n as Self) - } - } - }; -} - -impl_from_primitive_for_int!(isize); -impl_from_primitive_for_int!(i8); -impl_from_primitive_for_int!(i16); -impl_from_primitive_for_int!(i32); -impl_from_primitive_for_int!(i64); -impl_from_primitive_for_uint!(usize); -impl_from_primitive_for_uint!(u8); -impl_from_primitive_for_uint!(u16); -impl_from_primitive_for_uint!(u32); -impl_from_primitive_for_uint!(u64); -impl_from_primitive_for_float!(f32); -impl_from_primitive_for_float!(f64); - -serde_if_integer128! { - impl FromPrimitive for i128 { - #[inline] - fn from_i8(n: i8) -> Option { - Some(n as i128) - } - #[inline] - fn from_i16(n: i16) -> Option { - Some(n as i128) - } - #[inline] - fn from_i32(n: i32) -> Option { - Some(n as i128) - } - #[inline] - fn from_i64(n: i64) -> Option { - Some(n as i128) - } - #[inline] - fn from_u8(n: u8) -> Option { - Some(n as i128) - } - #[inline] - fn from_u16(n: u16) -> Option { - Some(n as i128) - } - #[inline] - fn from_u32(n: u32) -> Option { - Some(n as i128) - } - #[inline] - fn from_u64(n: u64) -> Option { - Some(n as i128) - } - } - - impl FromPrimitive for u128 { - #[inline] - fn from_i8(n: i8) -> Option { - if n >= 0 { - Some(n as u128) - } else { - None - } - } - #[inline] - fn from_i16(n: i16) -> Option { - if n >= 0 { - Some(n as u128) - } else { - None - } - } - #[inline] - fn from_i32(n: i32) -> Option { - if n >= 0 { - Some(n as u128) - } else { - None - } - } - #[inline] - fn from_i64(n: i64) -> Option { - if n >= 0 { - Some(n as u128) - } else { - None - } - } - #[inline] - fn from_u8(n: u8) -> Option { - Some(n as u128) - } - #[inline] - fn from_u16(n: u16) -> Option { - Some(n as u128) - } - #[inline] - fn from_u32(n: u32) -> Option { - Some(n as u128) - } - #[inline] - fn from_u64(n: u64) -> Option { - Some(n as u128) - } - } -} diff --git a/vendor/registry-40351f815f426200/serde/src/de/ignored_any.rs b/vendor/registry-40351f815f426200/serde/src/de/ignored_any.rs deleted file mode 100644 index 855d68e1a..000000000 --- a/vendor/registry-40351f815f426200/serde/src/de/ignored_any.rs +++ /dev/null @@ -1,218 +0,0 @@ -use lib::*; - -use de::{Deserialize, Deserializer, Error, MapAccess, SeqAccess, Visitor}; - -/// An efficient way of discarding data from a deserializer. -/// -/// Think of this like `serde_json::Value` in that it can be deserialized from -/// any type, except that it does not store any information about the data that -/// gets deserialized. -/// -/// ```edition2018 -/// use std::fmt; -/// use std::marker::PhantomData; -/// -/// use serde::de::{ -/// self, Deserialize, DeserializeSeed, Deserializer, IgnoredAny, SeqAccess, Visitor, -/// }; -/// -/// /// A seed that can be used to deserialize only the `n`th element of a sequence -/// /// while efficiently discarding elements of any type before or after index `n`. -/// /// -/// /// For example to deserialize only the element at index 3: -/// /// -/// /// ``` -/// /// NthElement::new(3).deserialize(deserializer) -/// /// ``` -/// pub struct NthElement { -/// n: usize, -/// marker: PhantomData, -/// } -/// -/// impl NthElement { -/// pub fn new(n: usize) -> Self { -/// NthElement { -/// n: n, -/// marker: PhantomData, -/// } -/// } -/// } -/// -/// impl<'de, T> Visitor<'de> for NthElement -/// where -/// T: Deserialize<'de>, -/// { -/// type Value = T; -/// -/// fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { -/// write!( -/// formatter, -/// "a sequence in which we care about element {}", -/// self.n -/// ) -/// } -/// -/// fn visit_seq(self, mut seq: A) -> Result -/// where -/// A: SeqAccess<'de>, -/// { -/// // Skip over the first `n` elements. -/// for i in 0..self.n { -/// // It is an error if the sequence ends before we get to element `n`. -/// if seq.next_element::()?.is_none() { -/// return Err(de::Error::invalid_length(i, &self)); -/// } -/// } -/// -/// // Deserialize the one we care about. -/// let nth = match seq.next_element()? { -/// Some(nth) => nth, -/// None => { -/// return Err(de::Error::invalid_length(self.n, &self)); -/// } -/// }; -/// -/// // Skip over any remaining elements in the sequence after `n`. -/// while let Some(IgnoredAny) = seq.next_element()? { -/// // ignore -/// } -/// -/// Ok(nth) -/// } -/// } -/// -/// impl<'de, T> DeserializeSeed<'de> for NthElement -/// where -/// T: Deserialize<'de>, -/// { -/// type Value = T; -/// -/// fn deserialize(self, deserializer: D) -> Result -/// where -/// D: Deserializer<'de>, -/// { -/// deserializer.deserialize_seq(self) -/// } -/// } -/// -/// # fn example<'de, D>(deserializer: D) -> Result<(), D::Error> -/// # where -/// # D: Deserializer<'de>, -/// # { -/// // Deserialize only the sequence element at index 3 from this deserializer. -/// // The element at index 3 is required to be a string. Elements before and -/// // after index 3 are allowed to be of any type. -/// let s: String = NthElement::new(3).deserialize(deserializer)?; -/// # Ok(()) -/// # } -/// ``` -#[derive(Copy, Clone, Debug, Default)] -pub struct IgnoredAny; - -impl<'de> Visitor<'de> for IgnoredAny { - type Value = IgnoredAny; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("anything at all") - } - - #[inline] - fn visit_bool(self, x: bool) -> Result { - let _ = x; - Ok(IgnoredAny) - } - - #[inline] - fn visit_i64(self, x: i64) -> Result { - let _ = x; - Ok(IgnoredAny) - } - - #[inline] - fn visit_u64(self, x: u64) -> Result { - let _ = x; - Ok(IgnoredAny) - } - - #[inline] - fn visit_f64(self, x: f64) -> Result { - let _ = x; - Ok(IgnoredAny) - } - - #[inline] - fn visit_str(self, s: &str) -> Result - where - E: Error, - { - let _ = s; - Ok(IgnoredAny) - } - - #[inline] - fn visit_none(self) -> Result { - Ok(IgnoredAny) - } - - #[inline] - fn visit_some(self, deserializer: D) -> Result - where - D: Deserializer<'de>, - { - IgnoredAny::deserialize(deserializer) - } - - #[inline] - fn visit_newtype_struct(self, deserializer: D) -> Result - where - D: Deserializer<'de>, - { - IgnoredAny::deserialize(deserializer) - } - - #[inline] - fn visit_unit(self) -> Result { - Ok(IgnoredAny) - } - - #[inline] - fn visit_seq(self, mut seq: A) -> Result - where - A: SeqAccess<'de>, - { - while let Some(IgnoredAny) = try!(seq.next_element()) { - // Gobble - } - Ok(IgnoredAny) - } - - #[inline] - fn visit_map(self, mut map: A) -> Result - where - A: MapAccess<'de>, - { - while let Some((IgnoredAny, IgnoredAny)) = try!(map.next_entry()) { - // Gobble - } - Ok(IgnoredAny) - } - - #[inline] - fn visit_bytes(self, bytes: &[u8]) -> Result - where - E: Error, - { - let _ = bytes; - Ok(IgnoredAny) - } -} - -impl<'de> Deserialize<'de> for IgnoredAny { - #[inline] - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - deserializer.deserialize_ignored_any(IgnoredAny) - } -} diff --git a/vendor/registry-40351f815f426200/serde/src/de/impls.rs b/vendor/registry-40351f815f426200/serde/src/de/impls.rs deleted file mode 100644 index 1d4c31878..000000000 --- a/vendor/registry-40351f815f426200/serde/src/de/impls.rs +++ /dev/null @@ -1,2545 +0,0 @@ -use lib::*; - -use de::{ - Deserialize, Deserializer, EnumAccess, Error, SeqAccess, Unexpected, VariantAccess, Visitor, -}; - -#[cfg(any(core_duration, feature = "std", feature = "alloc"))] -use de::MapAccess; - -use de::from_primitive::FromPrimitive; -use private::de::InPlaceSeed; - -#[cfg(any(feature = "std", feature = "alloc"))] -use private::de::size_hint; - -//////////////////////////////////////////////////////////////////////////////// - -struct UnitVisitor; - -impl<'de> Visitor<'de> for UnitVisitor { - type Value = (); - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("unit") - } - - fn visit_unit(self) -> Result - where - E: Error, - { - Ok(()) - } -} - -impl<'de> Deserialize<'de> for () { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - deserializer.deserialize_unit(UnitVisitor) - } -} - -#[cfg(feature = "unstable")] -impl<'de> Deserialize<'de> for ! { - fn deserialize(_deserializer: D) -> Result - where - D: Deserializer<'de>, - { - Err(Error::custom("cannot deserialize `!`")) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -struct BoolVisitor; - -impl<'de> Visitor<'de> for BoolVisitor { - type Value = bool; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("a boolean") - } - - fn visit_bool(self, v: bool) -> Result - where - E: Error, - { - Ok(v) - } -} - -impl<'de> Deserialize<'de> for bool { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - deserializer.deserialize_bool(BoolVisitor) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -macro_rules! visit_integer_method { - ($src_ty:ident, $method:ident, $from_method:ident, $group:ident, $group_ty:ident) => { - #[inline] - fn $method(self, v: $src_ty) -> Result - where - E: Error, - { - match FromPrimitive::$from_method(v) { - Some(v) => Ok(v), - None => Err(Error::invalid_value(Unexpected::$group(v as $group_ty), &self)), - } - } - } -} - -macro_rules! visit_float_method { - ($src_ty:ident, $method:ident) => { - #[inline] - fn $method(self, v: $src_ty) -> Result - where - E: Error, - { - Ok(v as Self::Value) - } - } -} - -macro_rules! impl_deserialize_num { - ($ty:ident, $method:ident, $($visit:ident),*) => { - impl<'de> Deserialize<'de> for $ty { - #[inline] - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - struct PrimitiveVisitor; - - impl<'de> Visitor<'de> for PrimitiveVisitor { - type Value = $ty; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str(stringify!($ty)) - } - - $( - impl_deserialize_num!($visit $ty); - )* - } - - deserializer.$method(PrimitiveVisitor) - } - } - }; - - (integer $ty:ident) => { - visit_integer_method!(i8, visit_i8, from_i8, Signed, i64); - visit_integer_method!(i16, visit_i16, from_i16, Signed, i64); - visit_integer_method!(i32, visit_i32, from_i32, Signed, i64); - visit_integer_method!(i64, visit_i64, from_i64, Signed, i64); - - visit_integer_method!(u8, visit_u8, from_u8, Unsigned, u64); - visit_integer_method!(u16, visit_u16, from_u16, Unsigned, u64); - visit_integer_method!(u32, visit_u32, from_u32, Unsigned, u64); - visit_integer_method!(u64, visit_u64, from_u64, Unsigned, u64); - }; - - (float $ty:ident) => { - visit_float_method!(f32, visit_f32); - visit_float_method!(f64, visit_f64); - }; -} - -impl_deserialize_num!(i8, deserialize_i8, integer); -impl_deserialize_num!(i16, deserialize_i16, integer); -impl_deserialize_num!(i32, deserialize_i32, integer); -impl_deserialize_num!(i64, deserialize_i64, integer); -impl_deserialize_num!(isize, deserialize_i64, integer); - -impl_deserialize_num!(u8, deserialize_u8, integer); -impl_deserialize_num!(u16, deserialize_u16, integer); -impl_deserialize_num!(u32, deserialize_u32, integer); -impl_deserialize_num!(u64, deserialize_u64, integer); -impl_deserialize_num!(usize, deserialize_u64, integer); - -impl_deserialize_num!(f32, deserialize_f32, integer, float); -impl_deserialize_num!(f64, deserialize_f64, integer, float); - -serde_if_integer128! { - impl<'de> Deserialize<'de> for i128 { - #[inline] - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - struct PrimitiveVisitor; - - impl<'de> Visitor<'de> for PrimitiveVisitor { - type Value = i128; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("i128") - } - - impl_deserialize_num!(integer i128); - - #[inline] - fn visit_i128(self, v: i128) -> Result - where - E: Error, - { - Ok(v) - } - - #[inline] - fn visit_u128(self, v: u128) -> Result - where - E: Error, - { - if v <= i128::max_value() as u128 { - Ok(v as i128) - } else { - Err(Error::invalid_value(Unexpected::Other("u128"), &self)) - } - } - } - - deserializer.deserialize_i128(PrimitiveVisitor) - } - } - - impl<'de> Deserialize<'de> for u128 { - #[inline] - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - struct PrimitiveVisitor; - - impl<'de> Visitor<'de> for PrimitiveVisitor { - type Value = u128; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("u128") - } - - impl_deserialize_num!(integer u128); - - #[inline] - fn visit_i128(self, v: i128) -> Result - where - E: Error, - { - if v >= 0 { - Ok(v as u128) - } else { - Err(Error::invalid_value(Unexpected::Other("i128"), &self)) - } - } - - #[inline] - fn visit_u128(self, v: u128) -> Result - where - E: Error, - { - Ok(v) - } - } - - deserializer.deserialize_u128(PrimitiveVisitor) - } - } -} - -//////////////////////////////////////////////////////////////////////////////// - -struct CharVisitor; - -impl<'de> Visitor<'de> for CharVisitor { - type Value = char; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("a character") - } - - #[inline] - fn visit_char(self, v: char) -> Result - where - E: Error, - { - Ok(v) - } - - #[inline] - fn visit_str(self, v: &str) -> Result - where - E: Error, - { - let mut iter = v.chars(); - match (iter.next(), iter.next()) { - (Some(c), None) => Ok(c), - _ => Err(Error::invalid_value(Unexpected::Str(v), &self)), - } - } -} - -impl<'de> Deserialize<'de> for char { - #[inline] - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - deserializer.deserialize_char(CharVisitor) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(any(feature = "std", feature = "alloc"))] -struct StringVisitor; -#[cfg(any(feature = "std", feature = "alloc"))] -struct StringInPlaceVisitor<'a>(&'a mut String); - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'de> Visitor<'de> for StringVisitor { - type Value = String; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("a string") - } - - fn visit_str(self, v: &str) -> Result - where - E: Error, - { - Ok(v.to_owned()) - } - - fn visit_string(self, v: String) -> Result - where - E: Error, - { - Ok(v) - } - - fn visit_bytes(self, v: &[u8]) -> Result - where - E: Error, - { - match str::from_utf8(v) { - Ok(s) => Ok(s.to_owned()), - Err(_) => Err(Error::invalid_value(Unexpected::Bytes(v), &self)), - } - } - - fn visit_byte_buf(self, v: Vec) -> Result - where - E: Error, - { - match String::from_utf8(v) { - Ok(s) => Ok(s), - Err(e) => Err(Error::invalid_value( - Unexpected::Bytes(&e.into_bytes()), - &self, - )), - } - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'a, 'de> Visitor<'de> for StringInPlaceVisitor<'a> { - type Value = (); - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("a string") - } - - fn visit_str(self, v: &str) -> Result - where - E: Error, - { - self.0.clear(); - self.0.push_str(v); - Ok(()) - } - - fn visit_string(self, v: String) -> Result - where - E: Error, - { - *self.0 = v; - Ok(()) - } - - fn visit_bytes(self, v: &[u8]) -> Result - where - E: Error, - { - match str::from_utf8(v) { - Ok(s) => { - self.0.clear(); - self.0.push_str(s); - Ok(()) - } - Err(_) => Err(Error::invalid_value(Unexpected::Bytes(v), &self)), - } - } - - fn visit_byte_buf(self, v: Vec) -> Result - where - E: Error, - { - match String::from_utf8(v) { - Ok(s) => { - *self.0 = s; - Ok(()) - } - Err(e) => Err(Error::invalid_value( - Unexpected::Bytes(&e.into_bytes()), - &self, - )), - } - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'de> Deserialize<'de> for String { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - deserializer.deserialize_string(StringVisitor) - } - - fn deserialize_in_place(deserializer: D, place: &mut Self) -> Result<(), D::Error> - where - D: Deserializer<'de>, - { - deserializer.deserialize_string(StringInPlaceVisitor(place)) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -struct StrVisitor; - -impl<'a> Visitor<'a> for StrVisitor { - type Value = &'a str; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("a borrowed string") - } - - fn visit_borrowed_str(self, v: &'a str) -> Result - where - E: Error, - { - Ok(v) // so easy - } - - fn visit_borrowed_bytes(self, v: &'a [u8]) -> Result - where - E: Error, - { - str::from_utf8(v).map_err(|_| Error::invalid_value(Unexpected::Bytes(v), &self)) - } -} - -impl<'de: 'a, 'a> Deserialize<'de> for &'a str { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - deserializer.deserialize_str(StrVisitor) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -struct BytesVisitor; - -impl<'a> Visitor<'a> for BytesVisitor { - type Value = &'a [u8]; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("a borrowed byte array") - } - - fn visit_borrowed_bytes(self, v: &'a [u8]) -> Result - where - E: Error, - { - Ok(v) - } - - fn visit_borrowed_str(self, v: &'a str) -> Result - where - E: Error, - { - Ok(v.as_bytes()) - } -} - -impl<'de: 'a, 'a> Deserialize<'de> for &'a [u8] { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - deserializer.deserialize_bytes(BytesVisitor) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(feature = "std")] -struct CStringVisitor; - -#[cfg(feature = "std")] -impl<'de> Visitor<'de> for CStringVisitor { - type Value = CString; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("byte array") - } - - fn visit_seq(self, mut seq: A) -> Result - where - A: SeqAccess<'de>, - { - let len = size_hint::cautious(seq.size_hint()); - let mut values = Vec::with_capacity(len); - - while let Some(value) = try!(seq.next_element()) { - values.push(value); - } - - CString::new(values).map_err(Error::custom) - } - - fn visit_bytes(self, v: &[u8]) -> Result - where - E: Error, - { - CString::new(v).map_err(Error::custom) - } - - fn visit_byte_buf(self, v: Vec) -> Result - where - E: Error, - { - CString::new(v).map_err(Error::custom) - } - - fn visit_str(self, v: &str) -> Result - where - E: Error, - { - CString::new(v).map_err(Error::custom) - } - - fn visit_string(self, v: String) -> Result - where - E: Error, - { - CString::new(v).map_err(Error::custom) - } -} - -#[cfg(feature = "std")] -impl<'de> Deserialize<'de> for CString { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - deserializer.deserialize_byte_buf(CStringVisitor) - } -} - -macro_rules! forwarded_impl { - ( - $(#[doc = $doc:tt])* - ( $($id: ident),* ), $ty: ty, $func: expr - ) => { - $(#[doc = $doc])* - impl<'de $(, $id : Deserialize<'de>,)*> Deserialize<'de> for $ty { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - Deserialize::deserialize(deserializer).map($func) - } - } - } -} - -#[cfg(all(feature = "std", de_boxed_c_str))] -forwarded_impl!((), Box, CString::into_boxed_c_str); - -#[cfg(core_reverse)] -forwarded_impl!((T), Reverse, Reverse); - -//////////////////////////////////////////////////////////////////////////////// - -struct OptionVisitor { - marker: PhantomData, -} - -impl<'de, T> Visitor<'de> for OptionVisitor -where - T: Deserialize<'de>, -{ - type Value = Option; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("option") - } - - #[inline] - fn visit_unit(self) -> Result - where - E: Error, - { - Ok(None) - } - - #[inline] - fn visit_none(self) -> Result - where - E: Error, - { - Ok(None) - } - - #[inline] - fn visit_some(self, deserializer: D) -> Result - where - D: Deserializer<'de>, - { - T::deserialize(deserializer).map(Some) - } - - #[doc(hidden)] - fn __private_visit_untagged_option(self, deserializer: D) -> Result - where - D: Deserializer<'de>, - { - Ok(T::deserialize(deserializer).ok()) - } -} - -impl<'de, T> Deserialize<'de> for Option -where - T: Deserialize<'de>, -{ - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - deserializer.deserialize_option(OptionVisitor { - marker: PhantomData, - }) - } - - // The Some variant's repr is opaque, so we can't play cute tricks with its - // tag to have deserialize_in_place build the content in place unconditionally. - // - // FIXME: investigate whether branching on the old value being Some to - // deserialize_in_place the value is profitable (probably data-dependent?) -} - -//////////////////////////////////////////////////////////////////////////////// - -struct PhantomDataVisitor { - marker: PhantomData, -} - -impl<'de, T: ?Sized> Visitor<'de> for PhantomDataVisitor { - type Value = PhantomData; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("unit") - } - - #[inline] - fn visit_unit(self) -> Result - where - E: Error, - { - Ok(PhantomData) - } -} - -impl<'de, T: ?Sized> Deserialize<'de> for PhantomData { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - let visitor = PhantomDataVisitor { - marker: PhantomData, - }; - deserializer.deserialize_unit_struct("PhantomData", visitor) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(any(feature = "std", feature = "alloc"))] -macro_rules! seq_impl { - ( - $ty:ident < T $(: $tbound1:ident $(+ $tbound2:ident)*)* $(, $typaram:ident : $bound1:ident $(+ $bound2:ident)*)* >, - $access:ident, - $clear:expr, - $with_capacity:expr, - $reserve:expr, - $insert:expr - ) => { - impl<'de, T $(, $typaram)*> Deserialize<'de> for $ty - where - T: Deserialize<'de> $(+ $tbound1 $(+ $tbound2)*)*, - $($typaram: $bound1 $(+ $bound2)*,)* - { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - struct SeqVisitor { - marker: PhantomData<$ty>, - } - - impl<'de, T $(, $typaram)*> Visitor<'de> for SeqVisitor - where - T: Deserialize<'de> $(+ $tbound1 $(+ $tbound2)*)*, - $($typaram: $bound1 $(+ $bound2)*,)* - { - type Value = $ty; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("a sequence") - } - - #[inline] - fn visit_seq(self, mut $access: A) -> Result - where - A: SeqAccess<'de>, - { - let mut values = $with_capacity; - - while let Some(value) = try!($access.next_element()) { - $insert(&mut values, value); - } - - Ok(values) - } - } - - let visitor = SeqVisitor { marker: PhantomData }; - deserializer.deserialize_seq(visitor) - } - - fn deserialize_in_place(deserializer: D, place: &mut Self) -> Result<(), D::Error> - where - D: Deserializer<'de>, - { - struct SeqInPlaceVisitor<'a, T: 'a $(, $typaram: 'a)*>(&'a mut $ty); - - impl<'a, 'de, T $(, $typaram)*> Visitor<'de> for SeqInPlaceVisitor<'a, T $(, $typaram)*> - where - T: Deserialize<'de> $(+ $tbound1 $(+ $tbound2)*)*, - $($typaram: $bound1 $(+ $bound2)*,)* - { - type Value = (); - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("a sequence") - } - - #[inline] - fn visit_seq(mut self, mut $access: A) -> Result - where - A: SeqAccess<'de>, - { - $clear(&mut self.0); - $reserve(&mut self.0, size_hint::cautious($access.size_hint())); - - // FIXME: try to overwrite old values here? (Vec, VecDeque, LinkedList) - while let Some(value) = try!($access.next_element()) { - $insert(&mut self.0, value); - } - - Ok(()) - } - } - - deserializer.deserialize_seq(SeqInPlaceVisitor(place)) - } - } - } -} - -// Dummy impl of reserve -#[cfg(any(feature = "std", feature = "alloc"))] -fn nop_reserve(_seq: T, _n: usize) {} - -#[cfg(any(feature = "std", feature = "alloc"))] -seq_impl!( - BinaryHeap, - seq, - BinaryHeap::clear, - BinaryHeap::with_capacity(size_hint::cautious(seq.size_hint())), - BinaryHeap::reserve, - BinaryHeap::push); - -#[cfg(any(feature = "std", feature = "alloc"))] -seq_impl!( - BTreeSet, - seq, - BTreeSet::clear, - BTreeSet::new(), - nop_reserve, - BTreeSet::insert); - -#[cfg(any(feature = "std", feature = "alloc"))] -seq_impl!( - LinkedList, - seq, - LinkedList::clear, - LinkedList::new(), - nop_reserve, - LinkedList::push_back -); - -#[cfg(feature = "std")] -seq_impl!( - HashSet, - seq, - HashSet::clear, - HashSet::with_capacity_and_hasher(size_hint::cautious(seq.size_hint()), S::default()), - HashSet::reserve, - HashSet::insert); - -#[cfg(any(feature = "std", feature = "alloc"))] -seq_impl!( - VecDeque, - seq, - VecDeque::clear, - VecDeque::with_capacity(size_hint::cautious(seq.size_hint())), - VecDeque::reserve, - VecDeque::push_back -); - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'de, T> Deserialize<'de> for Vec -where - T: Deserialize<'de>, -{ - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - struct VecVisitor { - marker: PhantomData, - } - - impl<'de, T> Visitor<'de> for VecVisitor - where - T: Deserialize<'de>, - { - type Value = Vec; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("a sequence") - } - - fn visit_seq(self, mut seq: A) -> Result - where - A: SeqAccess<'de>, - { - let mut values = Vec::with_capacity(size_hint::cautious(seq.size_hint())); - - while let Some(value) = try!(seq.next_element()) { - values.push(value); - } - - Ok(values) - } - } - - let visitor = VecVisitor { - marker: PhantomData, - }; - deserializer.deserialize_seq(visitor) - } - - fn deserialize_in_place(deserializer: D, place: &mut Self) -> Result<(), D::Error> - where - D: Deserializer<'de>, - { - struct VecInPlaceVisitor<'a, T: 'a>(&'a mut Vec); - - impl<'a, 'de, T> Visitor<'de> for VecInPlaceVisitor<'a, T> - where - T: Deserialize<'de>, - { - type Value = (); - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("a sequence") - } - - fn visit_seq(self, mut seq: A) -> Result - where - A: SeqAccess<'de>, - { - let hint = size_hint::cautious(seq.size_hint()); - if let Some(additional) = hint.checked_sub(self.0.len()) { - self.0.reserve(additional); - } - - for i in 0..self.0.len() { - let next = { - let next_place = InPlaceSeed(&mut self.0[i]); - try!(seq.next_element_seed(next_place)) - }; - if next.is_none() { - self.0.truncate(i); - return Ok(()); - } - } - - while let Some(value) = try!(seq.next_element()) { - self.0.push(value); - } - - Ok(()) - } - } - - deserializer.deserialize_seq(VecInPlaceVisitor(place)) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -struct ArrayVisitor { - marker: PhantomData, -} -struct ArrayInPlaceVisitor<'a, A: 'a>(&'a mut A); - -impl ArrayVisitor { - fn new() -> Self { - ArrayVisitor { - marker: PhantomData, - } - } -} - -impl<'de, T> Visitor<'de> for ArrayVisitor<[T; 0]> { - type Value = [T; 0]; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("an empty array") - } - - #[inline] - fn visit_seq(self, _: A) -> Result - where - A: SeqAccess<'de>, - { - Ok([]) - } -} - -// Does not require T: Deserialize<'de>. -impl<'de, T> Deserialize<'de> for [T; 0] { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - deserializer.deserialize_tuple(0, ArrayVisitor::<[T; 0]>::new()) - } -} - -macro_rules! array_impls { - ($($len:expr => ($($n:tt)+))+) => { - $( - impl<'de, T> Visitor<'de> for ArrayVisitor<[T; $len]> - where - T: Deserialize<'de>, - { - type Value = [T; $len]; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str(concat!("an array of length ", $len)) - } - - #[inline] - fn visit_seq(self, mut seq: A) -> Result - where - A: SeqAccess<'de>, - { - Ok([$( - match try!(seq.next_element()) { - Some(val) => val, - None => return Err(Error::invalid_length($n, &self)), - } - ),+]) - } - } - - impl<'a, 'de, T> Visitor<'de> for ArrayInPlaceVisitor<'a, [T; $len]> - where - T: Deserialize<'de>, - { - type Value = (); - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str(concat!("an array of length ", $len)) - } - - #[inline] - fn visit_seq(self, mut seq: A) -> Result - where - A: SeqAccess<'de>, - { - let mut fail_idx = None; - for (idx, dest) in self.0[..].iter_mut().enumerate() { - if try!(seq.next_element_seed(InPlaceSeed(dest))).is_none() { - fail_idx = Some(idx); - break; - } - } - if let Some(idx) = fail_idx { - return Err(Error::invalid_length(idx, &self)); - } - Ok(()) - } - } - - impl<'de, T> Deserialize<'de> for [T; $len] - where - T: Deserialize<'de>, - { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - deserializer.deserialize_tuple($len, ArrayVisitor::<[T; $len]>::new()) - } - - fn deserialize_in_place(deserializer: D, place: &mut Self) -> Result<(), D::Error> - where - D: Deserializer<'de>, - { - deserializer.deserialize_tuple($len, ArrayInPlaceVisitor(place)) - } - } - )+ - } -} - -array_impls! { - 1 => (0) - 2 => (0 1) - 3 => (0 1 2) - 4 => (0 1 2 3) - 5 => (0 1 2 3 4) - 6 => (0 1 2 3 4 5) - 7 => (0 1 2 3 4 5 6) - 8 => (0 1 2 3 4 5 6 7) - 9 => (0 1 2 3 4 5 6 7 8) - 10 => (0 1 2 3 4 5 6 7 8 9) - 11 => (0 1 2 3 4 5 6 7 8 9 10) - 12 => (0 1 2 3 4 5 6 7 8 9 10 11) - 13 => (0 1 2 3 4 5 6 7 8 9 10 11 12) - 14 => (0 1 2 3 4 5 6 7 8 9 10 11 12 13) - 15 => (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14) - 16 => (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) - 17 => (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16) - 18 => (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17) - 19 => (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18) - 20 => (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19) - 21 => (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20) - 22 => (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21) - 23 => (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22) - 24 => (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23) - 25 => (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24) - 26 => (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25) - 27 => (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26) - 28 => (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27) - 29 => (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28) - 30 => (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29) - 31 => (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30) - 32 => (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31) -} - -//////////////////////////////////////////////////////////////////////////////// - -macro_rules! tuple_impls { - ($($len:tt => ($($n:tt $name:ident)+))+) => { - $( - impl<'de, $($name: Deserialize<'de>),+> Deserialize<'de> for ($($name,)+) { - #[inline] - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - struct TupleVisitor<$($name,)+> { - marker: PhantomData<($($name,)+)>, - } - - impl<'de, $($name: Deserialize<'de>),+> Visitor<'de> for TupleVisitor<$($name,)+> { - type Value = ($($name,)+); - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str(concat!("a tuple of size ", $len)) - } - - #[inline] - #[allow(non_snake_case)] - fn visit_seq(self, mut seq: A) -> Result - where - A: SeqAccess<'de>, - { - $( - let $name = match try!(seq.next_element()) { - Some(value) => value, - None => return Err(Error::invalid_length($n, &self)), - }; - )+ - - Ok(($($name,)+)) - } - } - - deserializer.deserialize_tuple($len, TupleVisitor { marker: PhantomData }) - } - - #[inline] - fn deserialize_in_place(deserializer: D, place: &mut Self) -> Result<(), D::Error> - where - D: Deserializer<'de>, - { - struct TupleInPlaceVisitor<'a, $($name: 'a,)+>(&'a mut ($($name,)+)); - - impl<'a, 'de, $($name: Deserialize<'de>),+> Visitor<'de> for TupleInPlaceVisitor<'a, $($name,)+> { - type Value = (); - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str(concat!("a tuple of size ", $len)) - } - - #[inline] - #[allow(non_snake_case)] - fn visit_seq(self, mut seq: A) -> Result - where - A: SeqAccess<'de>, - { - $( - if try!(seq.next_element_seed(InPlaceSeed(&mut (self.0).$n))).is_none() { - return Err(Error::invalid_length($n, &self)); - } - )+ - - Ok(()) - } - } - - deserializer.deserialize_tuple($len, TupleInPlaceVisitor(place)) - } - } - )+ - } -} - -tuple_impls! { - 1 => (0 T0) - 2 => (0 T0 1 T1) - 3 => (0 T0 1 T1 2 T2) - 4 => (0 T0 1 T1 2 T2 3 T3) - 5 => (0 T0 1 T1 2 T2 3 T3 4 T4) - 6 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5) - 7 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5 6 T6) - 8 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5 6 T6 7 T7) - 9 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5 6 T6 7 T7 8 T8) - 10 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5 6 T6 7 T7 8 T8 9 T9) - 11 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5 6 T6 7 T7 8 T8 9 T9 10 T10) - 12 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5 6 T6 7 T7 8 T8 9 T9 10 T10 11 T11) - 13 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5 6 T6 7 T7 8 T8 9 T9 10 T10 11 T11 12 T12) - 14 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5 6 T6 7 T7 8 T8 9 T9 10 T10 11 T11 12 T12 13 T13) - 15 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5 6 T6 7 T7 8 T8 9 T9 10 T10 11 T11 12 T12 13 T13 14 T14) - 16 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5 6 T6 7 T7 8 T8 9 T9 10 T10 11 T11 12 T12 13 T13 14 T14 15 T15) -} - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(any(feature = "std", feature = "alloc"))] -macro_rules! map_impl { - ( - $ty:ident < K $(: $kbound1:ident $(+ $kbound2:ident)*)*, V $(, $typaram:ident : $bound1:ident $(+ $bound2:ident)*)* >, - $access:ident, - $with_capacity:expr - ) => { - impl<'de, K, V $(, $typaram)*> Deserialize<'de> for $ty - where - K: Deserialize<'de> $(+ $kbound1 $(+ $kbound2)*)*, - V: Deserialize<'de>, - $($typaram: $bound1 $(+ $bound2)*),* - { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - struct MapVisitor { - marker: PhantomData<$ty>, - } - - impl<'de, K, V $(, $typaram)*> Visitor<'de> for MapVisitor - where - K: Deserialize<'de> $(+ $kbound1 $(+ $kbound2)*)*, - V: Deserialize<'de>, - $($typaram: $bound1 $(+ $bound2)*),* - { - type Value = $ty; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("a map") - } - - #[inline] - fn visit_map(self, mut $access: A) -> Result - where - A: MapAccess<'de>, - { - let mut values = $with_capacity; - - while let Some((key, value)) = try!($access.next_entry()) { - values.insert(key, value); - } - - Ok(values) - } - } - - let visitor = MapVisitor { marker: PhantomData }; - deserializer.deserialize_map(visitor) - } - } - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -map_impl!( - BTreeMap, - map, - BTreeMap::new()); - -#[cfg(feature = "std")] -map_impl!( - HashMap, - map, - HashMap::with_capacity_and_hasher(size_hint::cautious(map.size_hint()), S::default())); - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(feature = "std")] -macro_rules! parse_ip_impl { - ($expecting:tt $ty:ty; $size:tt) => { - impl<'de> Deserialize<'de> for $ty { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - if deserializer.is_human_readable() { - struct IpAddrVisitor; - - impl<'de> Visitor<'de> for IpAddrVisitor { - type Value = $ty; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str($expecting) - } - - fn visit_str(self, s: &str) -> Result - where - E: Error, - { - s.parse().map_err(Error::custom) - } - } - - deserializer.deserialize_str(IpAddrVisitor) - } else { - <[u8; $size]>::deserialize(deserializer).map(<$ty>::from) - } - } - } - }; -} - -#[cfg(feature = "std")] -macro_rules! variant_identifier { - ( - $name_kind: ident ( $($variant: ident; $bytes: expr; $index: expr),* ) - $expecting_message: expr, - $variants_name: ident - ) => { - enum $name_kind { - $( $variant ),* - } - - static $variants_name: &'static [&'static str] = &[ $( stringify!($variant) ),*]; - - impl<'de> Deserialize<'de> for $name_kind { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - struct KindVisitor; - - impl<'de> Visitor<'de> for KindVisitor { - type Value = $name_kind; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str($expecting_message) - } - - fn visit_u32(self, value: u32) -> Result - where - E: Error, - { - match value { - $( - $index => Ok($name_kind :: $variant), - )* - _ => Err(Error::invalid_value(Unexpected::Unsigned(value as u64), &self),), - } - } - - fn visit_str(self, value: &str) -> Result - where - E: Error, - { - match value { - $( - stringify!($variant) => Ok($name_kind :: $variant), - )* - _ => Err(Error::unknown_variant(value, $variants_name)), - } - } - - fn visit_bytes(self, value: &[u8]) -> Result - where - E: Error, - { - match value { - $( - $bytes => Ok($name_kind :: $variant), - )* - _ => { - match str::from_utf8(value) { - Ok(value) => Err(Error::unknown_variant(value, $variants_name)), - Err(_) => Err(Error::invalid_value(Unexpected::Bytes(value), &self)), - } - } - } - } - } - - deserializer.deserialize_identifier(KindVisitor) - } - } - } -} - -#[cfg(feature = "std")] -macro_rules! deserialize_enum { - ( - $name: ident $name_kind: ident ( $($variant: ident; $bytes: expr; $index: expr),* ) - $expecting_message: expr, - $deserializer: expr - ) => { - variant_identifier!{ - $name_kind ( $($variant; $bytes; $index),* ) - $expecting_message, - VARIANTS - } - - struct EnumVisitor; - impl<'de> Visitor<'de> for EnumVisitor { - type Value = $name; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str(concat!("a ", stringify!($name))) - } - - - fn visit_enum(self, data: A) -> Result - where - A: EnumAccess<'de>, - { - match try!(data.variant()) { - $( - ($name_kind :: $variant, v) => v.newtype_variant().map($name :: $variant), - )* - } - } - } - $deserializer.deserialize_enum(stringify!($name), VARIANTS, EnumVisitor) - } -} - -#[cfg(feature = "std")] -impl<'de> Deserialize<'de> for net::IpAddr { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - if deserializer.is_human_readable() { - struct IpAddrVisitor; - - impl<'de> Visitor<'de> for IpAddrVisitor { - type Value = net::IpAddr; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("IP address") - } - - fn visit_str(self, s: &str) -> Result - where - E: Error, - { - s.parse().map_err(Error::custom) - } - } - - deserializer.deserialize_str(IpAddrVisitor) - } else { - use lib::net::IpAddr; - deserialize_enum! { - IpAddr IpAddrKind (V4; b"V4"; 0, V6; b"V6"; 1) - "`V4` or `V6`", - deserializer - } - } - } -} - -#[cfg(feature = "std")] -parse_ip_impl!("IPv4 address" net::Ipv4Addr; 4); - -#[cfg(feature = "std")] -parse_ip_impl!("IPv6 address" net::Ipv6Addr; 16); - -#[cfg(feature = "std")] -macro_rules! parse_socket_impl { - ($expecting:tt $ty:ty, $new:expr) => { - impl<'de> Deserialize<'de> for $ty { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - if deserializer.is_human_readable() { - struct SocketAddrVisitor; - - impl<'de> Visitor<'de> for SocketAddrVisitor { - type Value = $ty; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str($expecting) - } - - fn visit_str(self, s: &str) -> Result - where - E: Error, - { - s.parse().map_err(Error::custom) - } - } - - deserializer.deserialize_str(SocketAddrVisitor) - } else { - <(_, u16)>::deserialize(deserializer).map(|(ip, port)| $new(ip, port)) - } - } - } - }; -} - -#[cfg(feature = "std")] -impl<'de> Deserialize<'de> for net::SocketAddr { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - if deserializer.is_human_readable() { - struct SocketAddrVisitor; - - impl<'de> Visitor<'de> for SocketAddrVisitor { - type Value = net::SocketAddr; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("socket address") - } - - fn visit_str(self, s: &str) -> Result - where - E: Error, - { - s.parse().map_err(Error::custom) - } - } - - deserializer.deserialize_str(SocketAddrVisitor) - } else { - use lib::net::SocketAddr; - deserialize_enum! { - SocketAddr SocketAddrKind (V4; b"V4"; 0, V6; b"V6"; 1) - "`V4` or `V6`", - deserializer - } - } - } -} - -#[cfg(feature = "std")] -parse_socket_impl!("IPv4 socket address" net::SocketAddrV4, net::SocketAddrV4::new); - -#[cfg(feature = "std")] -parse_socket_impl!("IPv6 socket address" net::SocketAddrV6, |ip, port| net::SocketAddrV6::new( - ip, port, 0, 0 -)); - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(feature = "std")] -struct PathVisitor; - -#[cfg(feature = "std")] -impl<'a> Visitor<'a> for PathVisitor { - type Value = &'a Path; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("a borrowed path") - } - - fn visit_borrowed_str(self, v: &'a str) -> Result - where - E: Error, - { - Ok(v.as_ref()) - } - - fn visit_borrowed_bytes(self, v: &'a [u8]) -> Result - where - E: Error, - { - str::from_utf8(v) - .map(AsRef::as_ref) - .map_err(|_| Error::invalid_value(Unexpected::Bytes(v), &self)) - } -} - -#[cfg(feature = "std")] -impl<'de: 'a, 'a> Deserialize<'de> for &'a Path { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - deserializer.deserialize_str(PathVisitor) - } -} - -#[cfg(feature = "std")] -struct PathBufVisitor; - -#[cfg(feature = "std")] -impl<'de> Visitor<'de> for PathBufVisitor { - type Value = PathBuf; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("path string") - } - - fn visit_str(self, v: &str) -> Result - where - E: Error, - { - Ok(From::from(v)) - } - - fn visit_string(self, v: String) -> Result - where - E: Error, - { - Ok(From::from(v)) - } -} - -#[cfg(feature = "std")] -impl<'de> Deserialize<'de> for PathBuf { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - deserializer.deserialize_string(PathBufVisitor) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -// If this were outside of the serde crate, it would just use: -// -// #[derive(Deserialize)] -// #[serde(variant_identifier)] -#[cfg(all(feature = "std", any(unix, windows)))] -variant_identifier! { - OsStringKind (Unix; b"Unix"; 0, Windows; b"Windows"; 1) - "`Unix` or `Windows`", - OSSTR_VARIANTS -} - -#[cfg(all(feature = "std", any(unix, windows)))] -struct OsStringVisitor; - -#[cfg(all(feature = "std", any(unix, windows)))] -impl<'de> Visitor<'de> for OsStringVisitor { - type Value = OsString; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("os string") - } - - #[cfg(unix)] - fn visit_enum(self, data: A) -> Result - where - A: EnumAccess<'de>, - { - use std::os::unix::ffi::OsStringExt; - - match try!(data.variant()) { - (OsStringKind::Unix, v) => v.newtype_variant().map(OsString::from_vec), - (OsStringKind::Windows, _) => Err(Error::custom( - "cannot deserialize Windows OS string on Unix", - )), - } - } - - #[cfg(windows)] - fn visit_enum(self, data: A) -> Result - where - A: EnumAccess<'de>, - { - use std::os::windows::ffi::OsStringExt; - - match try!(data.variant()) { - (OsStringKind::Windows, v) => v - .newtype_variant::>() - .map(|vec| OsString::from_wide(&vec)), - (OsStringKind::Unix, _) => Err(Error::custom( - "cannot deserialize Unix OS string on Windows", - )), - } - } -} - -#[cfg(all(feature = "std", any(unix, windows)))] -impl<'de> Deserialize<'de> for OsString { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - deserializer.deserialize_enum("OsString", OSSTR_VARIANTS, OsStringVisitor) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(any(feature = "std", feature = "alloc"))] -forwarded_impl!((T), Box, Box::new); - -#[cfg(any(feature = "std", feature = "alloc"))] -forwarded_impl!((T), Box<[T]>, Vec::into_boxed_slice); - -#[cfg(any(feature = "std", feature = "alloc"))] -forwarded_impl!((), Box, String::into_boxed_str); - -#[cfg(all( - not(de_rc_dst), - feature = "rc", - any(feature = "std", feature = "alloc") -))] -forwarded_impl! { - /// This impl requires the [`"rc"`] Cargo feature of Serde. - /// - /// Deserializing a data structure containing `Arc` will not attempt to - /// deduplicate `Arc` references to the same data. Every deserialized `Arc` - /// will end up with a strong count of 1. - /// - /// [`"rc"`]: https://serde.rs/feature-flags.html#-features-rc - (T), Arc, Arc::new -} - -#[cfg(all( - not(de_rc_dst), - feature = "rc", - any(feature = "std", feature = "alloc") -))] -forwarded_impl! { - /// This impl requires the [`"rc"`] Cargo feature of Serde. - /// - /// Deserializing a data structure containing `Rc` will not attempt to - /// deduplicate `Rc` references to the same data. Every deserialized `Rc` - /// will end up with a strong count of 1. - /// - /// [`"rc"`]: https://serde.rs/feature-flags.html#-features-rc - (T), Rc, Rc::new -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'de, 'a, T: ?Sized> Deserialize<'de> for Cow<'a, T> -where - T: ToOwned, - T::Owned: Deserialize<'de>, -{ - #[inline] - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - T::Owned::deserialize(deserializer).map(Cow::Owned) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -/// This impl requires the [`"rc"`] Cargo feature of Serde. The resulting -/// `Weak` has a reference count of 0 and cannot be upgraded. -/// -/// [`"rc"`]: https://serde.rs/feature-flags.html#-features-rc -#[cfg(all(feature = "rc", any(feature = "std", feature = "alloc")))] -impl<'de, T: ?Sized> Deserialize<'de> for RcWeak -where - T: Deserialize<'de>, -{ - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - try!(Option::::deserialize(deserializer)); - Ok(RcWeak::new()) - } -} - -/// This impl requires the [`"rc"`] Cargo feature of Serde. The resulting -/// `Weak` has a reference count of 0 and cannot be upgraded. -/// -/// [`"rc"`]: https://serde.rs/feature-flags.html#-features-rc -#[cfg(all(feature = "rc", any(feature = "std", feature = "alloc")))] -impl<'de, T: ?Sized> Deserialize<'de> for ArcWeak -where - T: Deserialize<'de>, -{ - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - try!(Option::::deserialize(deserializer)); - Ok(ArcWeak::new()) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(all(de_rc_dst, feature = "rc", any(feature = "std", feature = "alloc")))] -macro_rules! box_forwarded_impl { - ( - $(#[doc = $doc:tt])* - $t:ident - ) => { - $(#[doc = $doc])* - impl<'de, T: ?Sized> Deserialize<'de> for $t - where - Box: Deserialize<'de>, - { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - Box::deserialize(deserializer).map(Into::into) - } - } - }; -} - -#[cfg(all(de_rc_dst, feature = "rc", any(feature = "std", feature = "alloc")))] -box_forwarded_impl! { - /// This impl requires the [`"rc"`] Cargo feature of Serde. - /// - /// Deserializing a data structure containing `Rc` will not attempt to - /// deduplicate `Rc` references to the same data. Every deserialized `Rc` - /// will end up with a strong count of 1. - /// - /// [`"rc"`]: https://serde.rs/feature-flags.html#-features-rc - Rc -} - -#[cfg(all(de_rc_dst, feature = "rc", any(feature = "std", feature = "alloc")))] -box_forwarded_impl! { - /// This impl requires the [`"rc"`] Cargo feature of Serde. - /// - /// Deserializing a data structure containing `Arc` will not attempt to - /// deduplicate `Arc` references to the same data. Every deserialized `Arc` - /// will end up with a strong count of 1. - /// - /// [`"rc"`]: https://serde.rs/feature-flags.html#-features-rc - Arc -} - -//////////////////////////////////////////////////////////////////////////////// - -impl<'de, T> Deserialize<'de> for Cell -where - T: Deserialize<'de> + Copy, -{ - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - T::deserialize(deserializer).map(Cell::new) - } -} - -forwarded_impl!((T), RefCell, RefCell::new); - -#[cfg(feature = "std")] -forwarded_impl!((T), Mutex, Mutex::new); - -#[cfg(feature = "std")] -forwarded_impl!((T), RwLock, RwLock::new); - -//////////////////////////////////////////////////////////////////////////////// - -// This is a cleaned-up version of the impl generated by: -// -// #[derive(Deserialize)] -// #[serde(deny_unknown_fields)] -// struct Duration { -// secs: u64, -// nanos: u32, -// } -#[cfg(any(core_duration, feature = "std"))] -impl<'de> Deserialize<'de> for Duration { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - // If this were outside of the serde crate, it would just use: - // - // #[derive(Deserialize)] - // #[serde(field_identifier, rename_all = "lowercase")] - enum Field { - Secs, - Nanos, - }; - - impl<'de> Deserialize<'de> for Field { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - struct FieldVisitor; - - impl<'de> Visitor<'de> for FieldVisitor { - type Value = Field; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("`secs` or `nanos`") - } - - fn visit_str(self, value: &str) -> Result - where - E: Error, - { - match value { - "secs" => Ok(Field::Secs), - "nanos" => Ok(Field::Nanos), - _ => Err(Error::unknown_field(value, FIELDS)), - } - } - - fn visit_bytes(self, value: &[u8]) -> Result - where - E: Error, - { - match value { - b"secs" => Ok(Field::Secs), - b"nanos" => Ok(Field::Nanos), - _ => { - let value = ::export::from_utf8_lossy(value); - Err(Error::unknown_field(&value, FIELDS)) - } - } - } - } - - deserializer.deserialize_identifier(FieldVisitor) - } - } - - struct DurationVisitor; - - impl<'de> Visitor<'de> for DurationVisitor { - type Value = Duration; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("struct Duration") - } - - fn visit_seq(self, mut seq: A) -> Result - where - A: SeqAccess<'de>, - { - let secs: u64 = match try!(seq.next_element()) { - Some(value) => value, - None => { - return Err(Error::invalid_length(0, &self)); - } - }; - let nanos: u32 = match try!(seq.next_element()) { - Some(value) => value, - None => { - return Err(Error::invalid_length(1, &self)); - } - }; - Ok(Duration::new(secs, nanos)) - } - - fn visit_map(self, mut map: A) -> Result - where - A: MapAccess<'de>, - { - let mut secs: Option = None; - let mut nanos: Option = None; - while let Some(key) = try!(map.next_key()) { - match key { - Field::Secs => { - if secs.is_some() { - return Err(::duplicate_field("secs")); - } - secs = Some(try!(map.next_value())); - } - Field::Nanos => { - if nanos.is_some() { - return Err(::duplicate_field("nanos")); - } - nanos = Some(try!(map.next_value())); - } - } - } - let secs = match secs { - Some(secs) => secs, - None => return Err(::missing_field("secs")), - }; - let nanos = match nanos { - Some(nanos) => nanos, - None => return Err(::missing_field("nanos")), - }; - Ok(Duration::new(secs, nanos)) - } - } - - const FIELDS: &'static [&'static str] = &["secs", "nanos"]; - deserializer.deserialize_struct("Duration", FIELDS, DurationVisitor) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(feature = "std")] -impl<'de> Deserialize<'de> for SystemTime { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - // Reuse duration - enum Field { - Secs, - Nanos, - }; - - impl<'de> Deserialize<'de> for Field { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - struct FieldVisitor; - - impl<'de> Visitor<'de> for FieldVisitor { - type Value = Field; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("`secs_since_epoch` or `nanos_since_epoch`") - } - - fn visit_str(self, value: &str) -> Result - where - E: Error, - { - match value { - "secs_since_epoch" => Ok(Field::Secs), - "nanos_since_epoch" => Ok(Field::Nanos), - _ => Err(Error::unknown_field(value, FIELDS)), - } - } - - fn visit_bytes(self, value: &[u8]) -> Result - where - E: Error, - { - match value { - b"secs_since_epoch" => Ok(Field::Secs), - b"nanos_since_epoch" => Ok(Field::Nanos), - _ => { - let value = String::from_utf8_lossy(value); - Err(Error::unknown_field(&value, FIELDS)) - } - } - } - } - - deserializer.deserialize_identifier(FieldVisitor) - } - } - - struct DurationVisitor; - - impl<'de> Visitor<'de> for DurationVisitor { - type Value = Duration; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("struct SystemTime") - } - - fn visit_seq(self, mut seq: A) -> Result - where - A: SeqAccess<'de>, - { - let secs: u64 = match try!(seq.next_element()) { - Some(value) => value, - None => { - return Err(Error::invalid_length(0, &self)); - } - }; - let nanos: u32 = match try!(seq.next_element()) { - Some(value) => value, - None => { - return Err(Error::invalid_length(1, &self)); - } - }; - Ok(Duration::new(secs, nanos)) - } - - fn visit_map(self, mut map: A) -> Result - where - A: MapAccess<'de>, - { - let mut secs: Option = None; - let mut nanos: Option = None; - while let Some(key) = try!(map.next_key()) { - match key { - Field::Secs => { - if secs.is_some() { - return Err(::duplicate_field( - "secs_since_epoch", - )); - } - secs = Some(try!(map.next_value())); - } - Field::Nanos => { - if nanos.is_some() { - return Err(::duplicate_field( - "nanos_since_epoch", - )); - } - nanos = Some(try!(map.next_value())); - } - } - } - let secs = match secs { - Some(secs) => secs, - None => return Err(::missing_field("secs_since_epoch")), - }; - let nanos = match nanos { - Some(nanos) => nanos, - None => return Err(::missing_field("nanos_since_epoch")), - }; - Ok(Duration::new(secs, nanos)) - } - } - - const FIELDS: &'static [&'static str] = &["secs_since_epoch", "nanos_since_epoch"]; - let duration = try!(deserializer.deserialize_struct("SystemTime", FIELDS, DurationVisitor)); - Ok(UNIX_EPOCH + duration) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -// Similar to: -// -// #[derive(Deserialize)] -// #[serde(deny_unknown_fields)] -// struct Range { -// start: u64, -// end: u32, -// } -impl<'de, Idx> Deserialize<'de> for Range -where - Idx: Deserialize<'de>, -{ - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - let (start, end) = deserializer.deserialize_struct( - "Range", - range::FIELDS, - range::RangeVisitor { - expecting: "struct Range", - phantom: PhantomData, - }, - )?; - Ok(start..end) - } -} - -#[cfg(range_inclusive)] -impl<'de, Idx> Deserialize<'de> for RangeInclusive -where - Idx: Deserialize<'de>, -{ - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - let (start, end) = deserializer.deserialize_struct( - "RangeInclusive", - range::FIELDS, - range::RangeVisitor { - expecting: "struct RangeInclusive", - phantom: PhantomData, - }, - )?; - Ok(RangeInclusive::new(start, end)) - } -} - -mod range { - use lib::*; - - use de::{Deserialize, Deserializer, Error, MapAccess, SeqAccess, Visitor}; - - pub const FIELDS: &'static [&'static str] = &["start", "end"]; - - // If this were outside of the serde crate, it would just use: - // - // #[derive(Deserialize)] - // #[serde(field_identifier, rename_all = "lowercase")] - enum Field { - Start, - End, - } - - impl<'de> Deserialize<'de> for Field { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - struct FieldVisitor; - - impl<'de> Visitor<'de> for FieldVisitor { - type Value = Field; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("`start` or `end`") - } - - fn visit_str(self, value: &str) -> Result - where - E: Error, - { - match value { - "start" => Ok(Field::Start), - "end" => Ok(Field::End), - _ => Err(Error::unknown_field(value, FIELDS)), - } - } - - fn visit_bytes(self, value: &[u8]) -> Result - where - E: Error, - { - match value { - b"start" => Ok(Field::Start), - b"end" => Ok(Field::End), - _ => { - let value = ::export::from_utf8_lossy(value); - Err(Error::unknown_field(&value, FIELDS)) - } - } - } - } - - deserializer.deserialize_identifier(FieldVisitor) - } - } - - pub struct RangeVisitor { - pub expecting: &'static str, - pub phantom: PhantomData, - } - - impl<'de, Idx> Visitor<'de> for RangeVisitor - where - Idx: Deserialize<'de>, - { - type Value = (Idx, Idx); - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str(self.expecting) - } - - fn visit_seq(self, mut seq: A) -> Result - where - A: SeqAccess<'de>, - { - let start: Idx = match try!(seq.next_element()) { - Some(value) => value, - None => { - return Err(Error::invalid_length(0, &self)); - } - }; - let end: Idx = match try!(seq.next_element()) { - Some(value) => value, - None => { - return Err(Error::invalid_length(1, &self)); - } - }; - Ok((start, end)) - } - - fn visit_map(self, mut map: A) -> Result - where - A: MapAccess<'de>, - { - let mut start: Option = None; - let mut end: Option = None; - while let Some(key) = try!(map.next_key()) { - match key { - Field::Start => { - if start.is_some() { - return Err(::duplicate_field("start")); - } - start = Some(try!(map.next_value())); - } - Field::End => { - if end.is_some() { - return Err(::duplicate_field("end")); - } - end = Some(try!(map.next_value())); - } - } - } - let start = match start { - Some(start) => start, - None => return Err(::missing_field("start")), - }; - let end = match end { - Some(end) => end, - None => return Err(::missing_field("end")), - }; - Ok((start, end)) - } - } -} - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(any(ops_bound, collections_bound))] -impl<'de, T> Deserialize<'de> for Bound -where - T: Deserialize<'de>, -{ - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - enum Field { - Unbounded, - Included, - Excluded, - } - - impl<'de> Deserialize<'de> for Field { - #[inline] - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - struct FieldVisitor; - - impl<'de> Visitor<'de> for FieldVisitor { - type Value = Field; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("`Unbounded`, `Included` or `Excluded`") - } - - fn visit_u32(self, value: u32) -> Result - where - E: Error, - { - match value { - 0 => Ok(Field::Unbounded), - 1 => Ok(Field::Included), - 2 => Ok(Field::Excluded), - _ => Err(Error::invalid_value( - Unexpected::Unsigned(value as u64), - &self, - )), - } - } - - fn visit_str(self, value: &str) -> Result - where - E: Error, - { - match value { - "Unbounded" => Ok(Field::Unbounded), - "Included" => Ok(Field::Included), - "Excluded" => Ok(Field::Excluded), - _ => Err(Error::unknown_variant(value, VARIANTS)), - } - } - - fn visit_bytes(self, value: &[u8]) -> Result - where - E: Error, - { - match value { - b"Unbounded" => Ok(Field::Unbounded), - b"Included" => Ok(Field::Included), - b"Excluded" => Ok(Field::Excluded), - _ => match str::from_utf8(value) { - Ok(value) => Err(Error::unknown_variant(value, VARIANTS)), - Err(_) => { - Err(Error::invalid_value(Unexpected::Bytes(value), &self)) - } - }, - } - } - } - - deserializer.deserialize_identifier(FieldVisitor) - } - } - - struct BoundVisitor(PhantomData>); - - impl<'de, T> Visitor<'de> for BoundVisitor - where - T: Deserialize<'de>, - { - type Value = Bound; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("enum Bound") - } - - fn visit_enum(self, data: A) -> Result - where - A: EnumAccess<'de>, - { - match try!(data.variant()) { - (Field::Unbounded, v) => v.unit_variant().map(|()| Bound::Unbounded), - (Field::Included, v) => v.newtype_variant().map(Bound::Included), - (Field::Excluded, v) => v.newtype_variant().map(Bound::Excluded), - } - } - } - - const VARIANTS: &'static [&'static str] = &["Unbounded", "Included", "Excluded"]; - - deserializer.deserialize_enum("Bound", VARIANTS, BoundVisitor(PhantomData)) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -macro_rules! nonzero_integers { - ( $( $T: ident, )+ ) => { - $( - #[cfg(num_nonzero)] - impl<'de> Deserialize<'de> for num::$T { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - let value = try!(Deserialize::deserialize(deserializer)); - match ::new(value) { - Some(nonzero) => Ok(nonzero), - None => Err(Error::custom("expected a non-zero value")), - } - } - } - )+ - }; -} - -nonzero_integers! { - // Not including signed NonZeroI* since they might be removed - NonZeroU8, - NonZeroU16, - NonZeroU32, - NonZeroU64, - NonZeroUsize, -} - -// Currently 128-bit integers do not work on Emscripten targets so we need an -// additional `#[cfg]` -serde_if_integer128! { - nonzero_integers! { - NonZeroU128, - } -} - -//////////////////////////////////////////////////////////////////////////////// - -impl<'de, T, E> Deserialize<'de> for Result -where - T: Deserialize<'de>, - E: Deserialize<'de>, -{ - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - // If this were outside of the serde crate, it would just use: - // - // #[derive(Deserialize)] - // #[serde(variant_identifier)] - enum Field { - Ok, - Err, - } - - impl<'de> Deserialize<'de> for Field { - #[inline] - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - struct FieldVisitor; - - impl<'de> Visitor<'de> for FieldVisitor { - type Value = Field; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("`Ok` or `Err`") - } - - fn visit_u32(self, value: u32) -> Result - where - E: Error, - { - match value { - 0 => Ok(Field::Ok), - 1 => Ok(Field::Err), - _ => Err(Error::invalid_value( - Unexpected::Unsigned(value as u64), - &self, - )), - } - } - - fn visit_str(self, value: &str) -> Result - where - E: Error, - { - match value { - "Ok" => Ok(Field::Ok), - "Err" => Ok(Field::Err), - _ => Err(Error::unknown_variant(value, VARIANTS)), - } - } - - fn visit_bytes(self, value: &[u8]) -> Result - where - E: Error, - { - match value { - b"Ok" => Ok(Field::Ok), - b"Err" => Ok(Field::Err), - _ => match str::from_utf8(value) { - Ok(value) => Err(Error::unknown_variant(value, VARIANTS)), - Err(_) => { - Err(Error::invalid_value(Unexpected::Bytes(value), &self)) - } - }, - } - } - } - - deserializer.deserialize_identifier(FieldVisitor) - } - } - - struct ResultVisitor(PhantomData>); - - impl<'de, T, E> Visitor<'de> for ResultVisitor - where - T: Deserialize<'de>, - E: Deserialize<'de>, - { - type Value = Result; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("enum Result") - } - - fn visit_enum(self, data: A) -> Result - where - A: EnumAccess<'de>, - { - match try!(data.variant()) { - (Field::Ok, v) => v.newtype_variant().map(Ok), - (Field::Err, v) => v.newtype_variant().map(Err), - } - } - } - - const VARIANTS: &'static [&'static str] = &["Ok", "Err"]; - - deserializer.deserialize_enum("Result", VARIANTS, ResultVisitor(PhantomData)) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(feature = "std")] -impl<'de, T> Deserialize<'de> for Wrapping -where - T: Deserialize<'de>, -{ - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - Deserialize::deserialize(deserializer).map(Wrapping) - } -} diff --git a/vendor/registry-40351f815f426200/serde/src/de/mod.rs b/vendor/registry-40351f815f426200/serde/src/de/mod.rs deleted file mode 100644 index 896b1a600..000000000 --- a/vendor/registry-40351f815f426200/serde/src/de/mod.rs +++ /dev/null @@ -1,2269 +0,0 @@ -//! Generic data structure deserialization framework. -//! -//! The two most important traits in this module are [`Deserialize`] and -//! [`Deserializer`]. -//! -//! - **A type that implements `Deserialize` is a data structure** that can be -//! deserialized from any data format supported by Serde, and conversely -//! - **A type that implements `Deserializer` is a data format** that can -//! deserialize any data structure supported by Serde. -//! -//! # The Deserialize trait -//! -//! Serde provides [`Deserialize`] implementations for many Rust primitive and -//! standard library types. The complete list is below. All of these can be -//! deserialized using Serde out of the box. -//! -//! Additionally, Serde provides a procedural macro called [`serde_derive`] to -//! automatically generate [`Deserialize`] implementations for structs and enums -//! in your program. See the [derive section of the manual] for how to use this. -//! -//! In rare cases it may be necessary to implement [`Deserialize`] manually for -//! some type in your program. See the [Implementing `Deserialize`] section of -//! the manual for more about this. -//! -//! Third-party crates may provide [`Deserialize`] implementations for types -//! that they expose. For example the [`linked-hash-map`] crate provides a -//! [`LinkedHashMap`] type that is deserializable by Serde because the -//! crate provides an implementation of [`Deserialize`] for it. -//! -//! # The Deserializer trait -//! -//! [`Deserializer`] implementations are provided by third-party crates, for -//! example [`serde_json`], [`serde_yaml`] and [`bincode`]. -//! -//! A partial list of well-maintained formats is given on the [Serde -//! website][data formats]. -//! -//! # Implementations of Deserialize provided by Serde -//! -//! This is a slightly different set of types than what is supported for -//! serialization. Some types can be serialized by Serde but not deserialized. -//! One example is `OsStr`. -//! -//! - **Primitive types**: -//! - bool -//! - i8, i16, i32, i64, i128, isize -//! - u8, u16, u32, u64, u128, usize -//! - f32, f64 -//! - char -//! - **Compound types**: -//! - \[T; 0\] through \[T; 32\] -//! - tuples up to size 16 -//! - **Common standard library types**: -//! - String -//! - Option\ -//! - Result\ -//! - PhantomData\ -//! - **Wrapper types**: -//! - Box\ -//! - Box\<\[T\]\> -//! - Box\ -//! - Cow\<'a, T\> -//! - Cell\ -//! - RefCell\ -//! - Mutex\ -//! - RwLock\ -//! - Rc\ *(if* features = ["rc"] *is enabled)* -//! - Arc\ *(if* features = ["rc"] *is enabled)* -//! - **Collection types**: -//! - BTreeMap\ -//! - BTreeSet\ -//! - BinaryHeap\ -//! - HashMap\ -//! - HashSet\ -//! - LinkedList\ -//! - VecDeque\ -//! - Vec\ -//! - **Zero-copy types**: -//! - &str -//! - &\[u8\] -//! - **FFI types**: -//! - CString -//! - Box\ -//! - OsString -//! - **Miscellaneous standard library types**: -//! - Duration -//! - SystemTime -//! - Path -//! - PathBuf -//! - Range\ -//! - RangeInclusive\ -//! - Bound\ -//! - num::NonZero* -//! - `!` *(unstable)* -//! - **Net types**: -//! - IpAddr -//! - Ipv4Addr -//! - Ipv6Addr -//! - SocketAddr -//! - SocketAddrV4 -//! - SocketAddrV6 -//! -//! [Implementing `Deserialize`]: https://serde.rs/impl-deserialize.html -//! [`Deserialize`]: ../trait.Deserialize.html -//! [`Deserializer`]: ../trait.Deserializer.html -//! [`LinkedHashMap`]: https://docs.rs/linked-hash-map/*/linked_hash_map/struct.LinkedHashMap.html -//! [`bincode`]: https://github.com/TyOverby/bincode -//! [`linked-hash-map`]: https://crates.io/crates/linked-hash-map -//! [`serde_derive`]: https://crates.io/crates/serde_derive -//! [`serde_json`]: https://github.com/serde-rs/json -//! [`serde_yaml`]: https://github.com/dtolnay/serde-yaml -//! [derive section of the manual]: https://serde.rs/derive.html -//! [data formats]: https://serde.rs/#data-formats - -use lib::*; - -//////////////////////////////////////////////////////////////////////////////// - -pub mod value; - -mod from_primitive; -mod ignored_any; -mod impls; -mod utf8; - -pub use self::ignored_any::IgnoredAny; - -//////////////////////////////////////////////////////////////////////////////// - -macro_rules! declare_error_trait { - (Error: Sized $(+ $($supertrait:ident)::+)*) => { - /// The `Error` trait allows `Deserialize` implementations to create descriptive - /// error messages belonging to the `Deserializer` against which they are - /// currently running. - /// - /// Every `Deserializer` declares an `Error` type that encompasses both - /// general-purpose deserialization errors as well as errors specific to the - /// particular deserialization format. For example the `Error` type of - /// `serde_json` can represent errors like an invalid JSON escape sequence or an - /// unterminated string literal, in addition to the error cases that are part of - /// this trait. - /// - /// Most deserializers should only need to provide the `Error::custom` method - /// and inherit the default behavior for the other methods. - /// - /// # Example implementation - /// - /// The [example data format] presented on the website shows an error - /// type appropriate for a basic JSON data format. - /// - /// [example data format]: https://serde.rs/data-format.html - pub trait Error: Sized $(+ $($supertrait)::+)* { - /// Raised when there is general error when deserializing a type. - /// - /// The message should not be capitalized and should not end with a period. - /// - /// ```edition2018 - /// # use std::str::FromStr; - /// # - /// # struct IpAddr; - /// # - /// # impl FromStr for IpAddr { - /// # type Err = String; - /// # - /// # fn from_str(_: &str) -> Result { - /// # unimplemented!() - /// # } - /// # } - /// # - /// use serde::de::{self, Deserialize, Deserializer}; - /// - /// impl<'de> Deserialize<'de> for IpAddr { - /// fn deserialize(deserializer: D) -> Result - /// where - /// D: Deserializer<'de>, - /// { - /// let s = String::deserialize(deserializer)?; - /// s.parse().map_err(de::Error::custom) - /// } - /// } - /// ``` - fn custom(msg: T) -> Self - where - T: Display; - - /// Raised when a `Deserialize` receives a type different from what it was - /// expecting. - /// - /// The `unexp` argument provides information about what type was received. - /// This is the type that was present in the input file or other source data - /// of the Deserializer. - /// - /// The `exp` argument provides information about what type was being - /// expected. This is the type that is written in the program. - /// - /// For example if we try to deserialize a String out of a JSON file - /// containing an integer, the unexpected type is the integer and the - /// expected type is the string. - #[cold] - fn invalid_type(unexp: Unexpected, exp: &Expected) -> Self { - Error::custom(format_args!("invalid type: {}, expected {}", unexp, exp)) - } - - /// Raised when a `Deserialize` receives a value of the right type but that - /// is wrong for some other reason. - /// - /// The `unexp` argument provides information about what value was received. - /// This is the value that was present in the input file or other source - /// data of the Deserializer. - /// - /// The `exp` argument provides information about what value was being - /// expected. This is the type that is written in the program. - /// - /// For example if we try to deserialize a String out of some binary data - /// that is not valid UTF-8, the unexpected value is the bytes and the - /// expected value is a string. - #[cold] - fn invalid_value(unexp: Unexpected, exp: &Expected) -> Self { - Error::custom(format_args!("invalid value: {}, expected {}", unexp, exp)) - } - - /// Raised when deserializing a sequence or map and the input data contains - /// too many or too few elements. - /// - /// The `len` argument is the number of elements encountered. The sequence - /// or map may have expected more arguments or fewer arguments. - /// - /// The `exp` argument provides information about what data was being - /// expected. For example `exp` might say that a tuple of size 6 was - /// expected. - #[cold] - fn invalid_length(len: usize, exp: &Expected) -> Self { - Error::custom(format_args!("invalid length {}, expected {}", len, exp)) - } - - /// Raised when a `Deserialize` enum type received a variant with an - /// unrecognized name. - #[cold] - fn unknown_variant(variant: &str, expected: &'static [&'static str]) -> Self { - if expected.is_empty() { - Error::custom(format_args!( - "unknown variant `{}`, there are no variants", - variant - )) - } else { - Error::custom(format_args!( - "unknown variant `{}`, expected {}", - variant, - OneOf { names: expected } - )) - } - } - - /// Raised when a `Deserialize` struct type received a field with an - /// unrecognized name. - #[cold] - fn unknown_field(field: &str, expected: &'static [&'static str]) -> Self { - if expected.is_empty() { - Error::custom(format_args!( - "unknown field `{}`, there are no fields", - field - )) - } else { - Error::custom(format_args!( - "unknown field `{}`, expected {}", - field, - OneOf { names: expected } - )) - } - } - - /// Raised when a `Deserialize` struct type expected to receive a required - /// field with a particular name but that field was not present in the - /// input. - #[cold] - fn missing_field(field: &'static str) -> Self { - Error::custom(format_args!("missing field `{}`", field)) - } - - /// Raised when a `Deserialize` struct type received more than one of the - /// same field. - #[cold] - fn duplicate_field(field: &'static str) -> Self { - Error::custom(format_args!("duplicate field `{}`", field)) - } - } - } -} - -#[cfg(feature = "std")] -declare_error_trait!(Error: Sized + error::Error); - -#[cfg(not(feature = "std"))] -declare_error_trait!(Error: Sized + Debug + Display); - -/// `Unexpected` represents an unexpected invocation of any one of the `Visitor` -/// trait methods. -/// -/// This is used as an argument to the `invalid_type`, `invalid_value`, and -/// `invalid_length` methods of the `Error` trait to build error messages. -/// -/// ```edition2018 -/// # use std::fmt; -/// # -/// # use serde::de::{self, Unexpected, Visitor}; -/// # -/// # struct Example; -/// # -/// # impl<'de> Visitor<'de> for Example { -/// # type Value = (); -/// # -/// # fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { -/// # write!(formatter, "definitely not a boolean") -/// # } -/// # -/// fn visit_bool(self, v: bool) -> Result -/// where -/// E: de::Error, -/// { -/// Err(de::Error::invalid_type(Unexpected::Bool(v), &self)) -/// } -/// # } -/// ``` -#[derive(Copy, Clone, PartialEq, Debug)] -pub enum Unexpected<'a> { - /// The input contained a boolean value that was not expected. - Bool(bool), - - /// The input contained an unsigned integer `u8`, `u16`, `u32` or `u64` that - /// was not expected. - Unsigned(u64), - - /// The input contained a signed integer `i8`, `i16`, `i32` or `i64` that - /// was not expected. - Signed(i64), - - /// The input contained a floating point `f32` or `f64` that was not - /// expected. - Float(f64), - - /// The input contained a `char` that was not expected. - Char(char), - - /// The input contained a `&str` or `String` that was not expected. - Str(&'a str), - - /// The input contained a `&[u8]` or `Vec` that was not expected. - Bytes(&'a [u8]), - - /// The input contained a unit `()` that was not expected. - Unit, - - /// The input contained an `Option` that was not expected. - Option, - - /// The input contained a newtype struct that was not expected. - NewtypeStruct, - - /// The input contained a sequence that was not expected. - Seq, - - /// The input contained a map that was not expected. - Map, - - /// The input contained an enum that was not expected. - Enum, - - /// The input contained a unit variant that was not expected. - UnitVariant, - - /// The input contained a newtype variant that was not expected. - NewtypeVariant, - - /// The input contained a tuple variant that was not expected. - TupleVariant, - - /// The input contained a struct variant that was not expected. - StructVariant, - - /// A message stating what uncategorized thing the input contained that was - /// not expected. - /// - /// The message should be a noun or noun phrase, not capitalized and without - /// a period. An example message is "unoriginal superhero". - Other(&'a str), -} - -impl<'a> fmt::Display for Unexpected<'a> { - fn fmt(&self, formatter: &mut fmt::Formatter) -> Result<(), fmt::Error> { - use self::Unexpected::*; - match *self { - Bool(b) => write!(formatter, "boolean `{}`", b), - Unsigned(i) => write!(formatter, "integer `{}`", i), - Signed(i) => write!(formatter, "integer `{}`", i), - Float(f) => write!(formatter, "floating point `{}`", f), - Char(c) => write!(formatter, "character `{}`", c), - Str(s) => write!(formatter, "string {:?}", s), - Bytes(_) => write!(formatter, "byte array"), - Unit => write!(formatter, "unit value"), - Option => write!(formatter, "Option value"), - NewtypeStruct => write!(formatter, "newtype struct"), - Seq => write!(formatter, "sequence"), - Map => write!(formatter, "map"), - Enum => write!(formatter, "enum"), - UnitVariant => write!(formatter, "unit variant"), - NewtypeVariant => write!(formatter, "newtype variant"), - TupleVariant => write!(formatter, "tuple variant"), - StructVariant => write!(formatter, "struct variant"), - Other(other) => formatter.write_str(other), - } - } -} - -/// `Expected` represents an explanation of what data a `Visitor` was expecting -/// to receive. -/// -/// This is used as an argument to the `invalid_type`, `invalid_value`, and -/// `invalid_length` methods of the `Error` trait to build error messages. The -/// message should be a noun or noun phrase that completes the sentence "This -/// Visitor expects to receive ...", for example the message could be "an -/// integer between 0 and 64". The message should not be capitalized and should -/// not end with a period. -/// -/// Within the context of a `Visitor` implementation, the `Visitor` itself -/// (`&self`) is an implementation of this trait. -/// -/// ```edition2018 -/// # use std::fmt; -/// # -/// # use serde::de::{self, Unexpected, Visitor}; -/// # -/// # struct Example; -/// # -/// # impl<'de> Visitor<'de> for Example { -/// # type Value = (); -/// # -/// # fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { -/// # write!(formatter, "definitely not a boolean") -/// # } -/// # -/// fn visit_bool(self, v: bool) -> Result -/// where -/// E: de::Error, -/// { -/// Err(de::Error::invalid_type(Unexpected::Bool(v), &self)) -/// } -/// # } -/// ``` -/// -/// Outside of a `Visitor`, `&"..."` can be used. -/// -/// ```edition2018 -/// # use serde::de::{self, Unexpected}; -/// # -/// # fn example() -> Result<(), E> -/// # where -/// # E: de::Error, -/// # { -/// # let v = true; -/// return Err(de::Error::invalid_type(Unexpected::Bool(v), &"a negative integer")); -/// # } -/// ``` -pub trait Expected { - /// Format an explanation of what data was being expected. Same signature as - /// the `Display` and `Debug` traits. - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result; -} - -impl<'de, T> Expected for T -where - T: Visitor<'de>, -{ - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - self.expecting(formatter) - } -} - -impl<'a> Expected for &'a str { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str(self) - } -} - -impl<'a> Display for Expected + 'a { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - Expected::fmt(self, formatter) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -/// A **data structure** that can be deserialized from any data format supported -/// by Serde. -/// -/// Serde provides `Deserialize` implementations for many Rust primitive and -/// standard library types. The complete list is [here][de]. All of these can -/// be deserialized using Serde out of the box. -/// -/// Additionally, Serde provides a procedural macro called `serde_derive` to -/// automatically generate `Deserialize` implementations for structs and enums -/// in your program. See the [derive section of the manual][derive] for how to -/// use this. -/// -/// In rare cases it may be necessary to implement `Deserialize` manually for -/// some type in your program. See the [Implementing -/// `Deserialize`][impl-deserialize] section of the manual for more about this. -/// -/// Third-party crates may provide `Deserialize` implementations for types that -/// they expose. For example the `linked-hash-map` crate provides a -/// `LinkedHashMap` type that is deserializable by Serde because the crate -/// provides an implementation of `Deserialize` for it. -/// -/// [de]: https://docs.serde.rs/serde/de/index.html -/// [derive]: https://serde.rs/derive.html -/// [impl-deserialize]: https://serde.rs/impl-deserialize.html -/// -/// # Lifetime -/// -/// The `'de` lifetime of this trait is the lifetime of data that may be -/// borrowed by `Self` when deserialized. See the page [Understanding -/// deserializer lifetimes] for a more detailed explanation of these lifetimes. -/// -/// [Understanding deserializer lifetimes]: https://serde.rs/lifetimes.html -pub trait Deserialize<'de>: Sized { - /// Deserialize this value from the given Serde deserializer. - /// - /// See the [Implementing `Deserialize`][impl-deserialize] section of the - /// manual for more information about how to implement this method. - /// - /// [impl-deserialize]: https://serde.rs/impl-deserialize.html - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>; - - /// Deserializes a value into `self` from the given Deserializer. - /// - /// The purpose of this method is to allow the deserializer to reuse - /// resources and avoid copies. As such, if this method returns an error, - /// `self` will be in an indeterminate state where some parts of the struct - /// have been overwritten. Although whatever state that is will be - /// memory-safe. - /// - /// This is generally useful when repeatedly deserializing values that - /// are processed one at a time, where the value of `self` doesn't matter - /// when the next deserialization occurs. - /// - /// If you manually implement this, your recursive deserializations should - /// use `deserialize_in_place`. - /// - /// This method is stable and an official public API, but hidden from the - /// documentation because it is almost never what newbies are looking for. - /// Showing it in rustdoc would cause it to be featured more prominently - /// than it deserves. - #[doc(hidden)] - fn deserialize_in_place(deserializer: D, place: &mut Self) -> Result<(), D::Error> - where - D: Deserializer<'de>, - { - // Default implementation just delegates to `deserialize` impl. - *place = Deserialize::deserialize(deserializer)?; - Ok(()) - } -} - -/// A data structure that can be deserialized without borrowing any data from -/// the deserializer. -/// -/// This is primarily useful for trait bounds on functions. For example a -/// `from_str` function may be able to deserialize a data structure that borrows -/// from the input string, but a `from_reader` function may only deserialize -/// owned data. -/// -/// ```edition2018 -/// # use serde::de::{Deserialize, DeserializeOwned}; -/// # use std::io::{Read, Result}; -/// # -/// # trait Ignore { -/// fn from_str<'a, T>(s: &'a str) -> Result -/// where -/// T: Deserialize<'a>; -/// -/// fn from_reader(rdr: R) -> Result -/// where -/// R: Read, -/// T: DeserializeOwned; -/// # } -/// ``` -/// -/// # Lifetime -/// -/// The relationship between `Deserialize` and `DeserializeOwned` in trait -/// bounds is explained in more detail on the page [Understanding deserializer -/// lifetimes]. -/// -/// [Understanding deserializer lifetimes]: https://serde.rs/lifetimes.html -pub trait DeserializeOwned: for<'de> Deserialize<'de> {} -impl DeserializeOwned for T where T: for<'de> Deserialize<'de> {} - -/// `DeserializeSeed` is the stateful form of the `Deserialize` trait. If you -/// ever find yourself looking for a way to pass data into a `Deserialize` impl, -/// this trait is the way to do it. -/// -/// As one example of stateful deserialization consider deserializing a JSON -/// array into an existing buffer. Using the `Deserialize` trait we could -/// deserialize a JSON array into a `Vec` but it would be a freshly allocated -/// `Vec`; there is no way for `Deserialize` to reuse a previously allocated -/// buffer. Using `DeserializeSeed` instead makes this possible as in the -/// example code below. -/// -/// The canonical API for stateless deserialization looks like this: -/// -/// ```edition2018 -/// # use serde::Deserialize; -/// # -/// # enum Error {} -/// # -/// fn func<'de, T: Deserialize<'de>>() -> Result -/// # { -/// # unimplemented!() -/// # } -/// ``` -/// -/// Adjusting an API like this to support stateful deserialization is a matter -/// of accepting a seed as input: -/// -/// ```edition2018 -/// # use serde::de::DeserializeSeed; -/// # -/// # enum Error {} -/// # -/// fn func_seed<'de, T: DeserializeSeed<'de>>(seed: T) -> Result -/// # { -/// # let _ = seed; -/// # unimplemented!() -/// # } -/// ``` -/// -/// In practice the majority of deserialization is stateless. An API expecting a -/// seed can be appeased by passing `std::marker::PhantomData` as a seed in the -/// case of stateless deserialization. -/// -/// # Lifetime -/// -/// The `'de` lifetime of this trait is the lifetime of data that may be -/// borrowed by `Self::Value` when deserialized. See the page [Understanding -/// deserializer lifetimes] for a more detailed explanation of these lifetimes. -/// -/// [Understanding deserializer lifetimes]: https://serde.rs/lifetimes.html -/// -/// # Example -/// -/// Suppose we have JSON that looks like `[[1, 2], [3, 4, 5], [6]]` and we need -/// to deserialize it into a flat representation like `vec![1, 2, 3, 4, 5, 6]`. -/// Allocating a brand new `Vec` for each subarray would be slow. Instead we -/// would like to allocate a single `Vec` and then deserialize each subarray -/// into it. This requires stateful deserialization using the `DeserializeSeed` -/// trait. -/// -/// ```edition2018 -/// use std::fmt; -/// use std::marker::PhantomData; -/// -/// use serde::de::{Deserialize, DeserializeSeed, Deserializer, SeqAccess, Visitor}; -/// -/// // A DeserializeSeed implementation that uses stateful deserialization to -/// // append array elements onto the end of an existing vector. The preexisting -/// // state ("seed") in this case is the Vec. The `deserialize` method of -/// // `ExtendVec` will be traversing the inner arrays of the JSON input and -/// // appending each integer into the existing Vec. -/// struct ExtendVec<'a, T: 'a>(&'a mut Vec); -/// -/// impl<'de, 'a, T> DeserializeSeed<'de> for ExtendVec<'a, T> -/// where -/// T: Deserialize<'de>, -/// { -/// // The return type of the `deserialize` method. This implementation -/// // appends onto an existing vector but does not create any new data -/// // structure, so the return type is (). -/// type Value = (); -/// -/// fn deserialize(self, deserializer: D) -> Result -/// where -/// D: Deserializer<'de>, -/// { -/// // Visitor implementation that will walk an inner array of the JSON -/// // input. -/// struct ExtendVecVisitor<'a, T: 'a>(&'a mut Vec); -/// -/// impl<'de, 'a, T> Visitor<'de> for ExtendVecVisitor<'a, T> -/// where -/// T: Deserialize<'de>, -/// { -/// type Value = (); -/// -/// fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { -/// write!(formatter, "an array of integers") -/// } -/// -/// fn visit_seq(self, mut seq: A) -> Result<(), A::Error> -/// where -/// A: SeqAccess<'de>, -/// { -/// // Visit each element in the inner array and push it onto -/// // the existing vector. -/// while let Some(elem) = seq.next_element()? { -/// self.0.push(elem); -/// } -/// Ok(()) -/// } -/// } -/// -/// deserializer.deserialize_seq(ExtendVecVisitor(self.0)) -/// } -/// } -/// -/// // Visitor implementation that will walk the outer array of the JSON input. -/// struct FlattenedVecVisitor(PhantomData); -/// -/// impl<'de, T> Visitor<'de> for FlattenedVecVisitor -/// where -/// T: Deserialize<'de>, -/// { -/// // This Visitor constructs a single Vec to hold the flattened -/// // contents of the inner arrays. -/// type Value = Vec; -/// -/// fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { -/// write!(formatter, "an array of arrays") -/// } -/// -/// fn visit_seq(self, mut seq: A) -> Result, A::Error> -/// where -/// A: SeqAccess<'de>, -/// { -/// // Create a single Vec to hold the flattened contents. -/// let mut vec = Vec::new(); -/// -/// // Each iteration through this loop is one inner array. -/// while let Some(()) = seq.next_element_seed(ExtendVec(&mut vec))? { -/// // Nothing to do; inner array has been appended into `vec`. -/// } -/// -/// // Return the finished vec. -/// Ok(vec) -/// } -/// } -/// -/// # fn example<'de, D>(deserializer: D) -> Result<(), D::Error> -/// # where -/// # D: Deserializer<'de>, -/// # { -/// let visitor = FlattenedVecVisitor(PhantomData); -/// let flattened: Vec = deserializer.deserialize_seq(visitor)?; -/// # Ok(()) -/// # } -/// ``` -pub trait DeserializeSeed<'de>: Sized { - /// The type produced by using this seed. - type Value; - - /// Equivalent to the more common `Deserialize::deserialize` method, except - /// with some initial piece of data (the seed) passed in. - fn deserialize(self, deserializer: D) -> Result - where - D: Deserializer<'de>; -} - -impl<'de, T> DeserializeSeed<'de> for PhantomData -where - T: Deserialize<'de>, -{ - type Value = T; - - #[inline] - fn deserialize(self, deserializer: D) -> Result - where - D: Deserializer<'de>, - { - T::deserialize(deserializer) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -/// A **data format** that can deserialize any data structure supported by -/// Serde. -/// -/// The role of this trait is to define the deserialization half of the [Serde -/// data model], which is a way to categorize every Rust data type into one of -/// 29 possible types. Each method of the `Serializer` trait corresponds to one -/// of the types of the data model. -/// -/// Implementations of `Deserialize` map themselves into this data model by -/// passing to the `Deserializer` a `Visitor` implementation that can receive -/// these various types. -/// -/// The types that make up the Serde data model are: -/// -/// - **14 primitive types** -/// - bool -/// - i8, i16, i32, i64, i128 -/// - u8, u16, u32, u64, u128 -/// - f32, f64 -/// - char -/// - **string** -/// - UTF-8 bytes with a length and no null terminator. -/// - When serializing, all strings are handled equally. When deserializing, -/// there are three flavors of strings: transient, owned, and borrowed. -/// - **byte array** - \[u8\] -/// - Similar to strings, during deserialization byte arrays can be -/// transient, owned, or borrowed. -/// - **option** -/// - Either none or some value. -/// - **unit** -/// - The type of `()` in Rust. It represents an anonymous value containing -/// no data. -/// - **unit_struct** -/// - For example `struct Unit` or `PhantomData`. It represents a named -/// value containing no data. -/// - **unit_variant** -/// - For example the `E::A` and `E::B` in `enum E { A, B }`. -/// - **newtype_struct** -/// - For example `struct Millimeters(u8)`. -/// - **newtype_variant** -/// - For example the `E::N` in `enum E { N(u8) }`. -/// - **seq** -/// - A variably sized heterogeneous sequence of values, for example `Vec` -/// or `HashSet`. When serializing, the length may or may not be known -/// before iterating through all the data. When deserializing, the length -/// is determined by looking at the serialized data. -/// - **tuple** -/// - A statically sized heterogeneous sequence of values for which the -/// length will be known at deserialization time without looking at the -/// serialized data, for example `(u8,)` or `(String, u64, Vec)` or -/// `[u64; 10]`. -/// - **tuple_struct** -/// - A named tuple, for example `struct Rgb(u8, u8, u8)`. -/// - **tuple_variant** -/// - For example the `E::T` in `enum E { T(u8, u8) }`. -/// - **map** -/// - A heterogeneous key-value pairing, for example `BTreeMap`. -/// - **struct** -/// - A heterogeneous key-value pairing in which the keys are strings and -/// will be known at deserialization time without looking at the serialized -/// data, for example `struct S { r: u8, g: u8, b: u8 }`. -/// - **struct_variant** -/// - For example the `E::S` in `enum E { S { r: u8, g: u8, b: u8 } }`. -/// -/// The `Deserializer` trait supports two entry point styles which enables -/// different kinds of deserialization. -/// -/// 1. The `deserialize` method. Self-describing data formats like JSON are able -/// to look at the serialized data and tell what it represents. For example -/// the JSON deserializer may see an opening curly brace (`{`) and know that -/// it is seeing a map. If the data format supports -/// `Deserializer::deserialize_any`, it will drive the Visitor using whatever -/// type it sees in the input. JSON uses this approach when deserializing -/// `serde_json::Value` which is an enum that can represent any JSON -/// document. Without knowing what is in a JSON document, we can deserialize -/// it to `serde_json::Value` by going through -/// `Deserializer::deserialize_any`. -/// -/// 2. The various `deserialize_*` methods. Non-self-describing formats like -/// Bincode need to be told what is in the input in order to deserialize it. -/// The `deserialize_*` methods are hints to the deserializer for how to -/// interpret the next piece of input. Non-self-describing formats are not -/// able to deserialize something like `serde_json::Value` which relies on -/// `Deserializer::deserialize_any`. -/// -/// When implementing `Deserialize`, you should avoid relying on -/// `Deserializer::deserialize_any` unless you need to be told by the -/// Deserializer what type is in the input. Know that relying on -/// `Deserializer::deserialize_any` means your data type will be able to -/// deserialize from self-describing formats only, ruling out Bincode and many -/// others. -/// -/// [Serde data model]: https://serde.rs/data-model.html -/// -/// # Lifetime -/// -/// The `'de` lifetime of this trait is the lifetime of data that may be -/// borrowed from the input when deserializing. See the page [Understanding -/// deserializer lifetimes] for a more detailed explanation of these lifetimes. -/// -/// [Understanding deserializer lifetimes]: https://serde.rs/lifetimes.html -/// -/// # Example implementation -/// -/// The [example data format] presented on the website contains example code for -/// a basic JSON `Deserializer`. -/// -/// [example data format]: https://serde.rs/data-format.html -pub trait Deserializer<'de>: Sized { - /// The error type that can be returned if some error occurs during - /// deserialization. - type Error: Error; - - /// Require the `Deserializer` to figure out how to drive the visitor based - /// on what data type is in the input. - /// - /// When implementing `Deserialize`, you should avoid relying on - /// `Deserializer::deserialize_any` unless you need to be told by the - /// Deserializer what type is in the input. Know that relying on - /// `Deserializer::deserialize_any` means your data type will be able to - /// deserialize from self-describing formats only, ruling out Bincode and - /// many others. - fn deserialize_any(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting a `bool` value. - fn deserialize_bool(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting an `i8` value. - fn deserialize_i8(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting an `i16` value. - fn deserialize_i16(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting an `i32` value. - fn deserialize_i32(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting an `i64` value. - fn deserialize_i64(self, visitor: V) -> Result - where - V: Visitor<'de>; - - serde_if_integer128! { - /// Hint that the `Deserialize` type is expecting an `i128` value. - /// - /// This method is available only on Rust compiler versions >=1.26. The - /// default behavior unconditionally returns an error. - fn deserialize_i128(self, visitor: V) -> Result - where - V: Visitor<'de> - { - let _ = visitor; - Err(Error::custom("i128 is not supported")) - } - } - - /// Hint that the `Deserialize` type is expecting a `u8` value. - fn deserialize_u8(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting a `u16` value. - fn deserialize_u16(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting a `u32` value. - fn deserialize_u32(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting a `u64` value. - fn deserialize_u64(self, visitor: V) -> Result - where - V: Visitor<'de>; - - serde_if_integer128! { - /// Hint that the `Deserialize` type is expecting an `u128` value. - /// - /// This method is available only on Rust compiler versions >=1.26. The - /// default behavior unconditionally returns an error. - fn deserialize_u128(self, visitor: V) -> Result - where - V: Visitor<'de> - { - let _ = visitor; - Err(Error::custom("u128 is not supported")) - } - } - - /// Hint that the `Deserialize` type is expecting a `f32` value. - fn deserialize_f32(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting a `f64` value. - fn deserialize_f64(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting a `char` value. - fn deserialize_char(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting a string value and does - /// not benefit from taking ownership of buffered data owned by the - /// `Deserializer`. - /// - /// If the `Visitor` would benefit from taking ownership of `String` data, - /// indiciate this to the `Deserializer` by using `deserialize_string` - /// instead. - fn deserialize_str(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting a string value and would - /// benefit from taking ownership of buffered data owned by the - /// `Deserializer`. - /// - /// If the `Visitor` would not benefit from taking ownership of `String` - /// data, indicate that to the `Deserializer` by using `deserialize_str` - /// instead. - fn deserialize_string(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting a byte array and does not - /// benefit from taking ownership of buffered data owned by the - /// `Deserializer`. - /// - /// If the `Visitor` would benefit from taking ownership of `Vec` data, - /// indicate this to the `Deserializer` by using `deserialize_byte_buf` - /// instead. - fn deserialize_bytes(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting a byte array and would - /// benefit from taking ownership of buffered data owned by the - /// `Deserializer`. - /// - /// If the `Visitor` would not benefit from taking ownership of `Vec` - /// data, indicate that to the `Deserializer` by using `deserialize_bytes` - /// instead. - fn deserialize_byte_buf(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting an optional value. - /// - /// This allows deserializers that encode an optional value as a nullable - /// value to convert the null value into `None` and a regular value into - /// `Some(value)`. - fn deserialize_option(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting a unit value. - fn deserialize_unit(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting a unit struct with a - /// particular name. - fn deserialize_unit_struct( - self, - name: &'static str, - visitor: V, - ) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting a newtype struct with a - /// particular name. - fn deserialize_newtype_struct( - self, - name: &'static str, - visitor: V, - ) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting a sequence of values. - fn deserialize_seq(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting a sequence of values and - /// knows how many values there are without looking at the serialized data. - fn deserialize_tuple(self, len: usize, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting a tuple struct with a - /// particular name and number of fields. - fn deserialize_tuple_struct( - self, - name: &'static str, - len: usize, - visitor: V, - ) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting a map of key-value pairs. - fn deserialize_map(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting a struct with a particular - /// name and fields. - fn deserialize_struct( - self, - name: &'static str, - fields: &'static [&'static str], - visitor: V, - ) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting an enum value with a - /// particular name and possible variants. - fn deserialize_enum( - self, - name: &'static str, - variants: &'static [&'static str], - visitor: V, - ) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type is expecting the name of a struct - /// field or the discriminant of an enum variant. - fn deserialize_identifier(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Hint that the `Deserialize` type needs to deserialize a value whose type - /// doesn't matter because it is ignored. - /// - /// Deserializers for non-self-describing formats may not support this mode. - fn deserialize_ignored_any(self, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Determine whether `Deserialize` implementations should expect to - /// deserialize their human-readable form. - /// - /// Some types have a human-readable form that may be somewhat expensive to - /// construct, as well as a binary form that is compact and efficient. - /// Generally text-based formats like JSON and YAML will prefer to use the - /// human-readable one and binary formats like Bincode will prefer the - /// compact one. - /// - /// ```edition2018 - /// # use std::ops::Add; - /// # use std::str::FromStr; - /// # - /// # struct Timestamp; - /// # - /// # impl Timestamp { - /// # const EPOCH: Timestamp = Timestamp; - /// # } - /// # - /// # impl FromStr for Timestamp { - /// # type Err = String; - /// # fn from_str(_: &str) -> Result { - /// # unimplemented!() - /// # } - /// # } - /// # - /// # struct Duration; - /// # - /// # impl Duration { - /// # fn seconds(_: u64) -> Self { unimplemented!() } - /// # } - /// # - /// # impl Add for Timestamp { - /// # type Output = Timestamp; - /// # fn add(self, _: Duration) -> Self::Output { - /// # unimplemented!() - /// # } - /// # } - /// # - /// use serde::de::{self, Deserialize, Deserializer}; - /// - /// impl<'de> Deserialize<'de> for Timestamp { - /// fn deserialize(deserializer: D) -> Result - /// where - /// D: Deserializer<'de>, - /// { - /// if deserializer.is_human_readable() { - /// // Deserialize from a human-readable string like "2015-05-15T17:01:00Z". - /// let s = String::deserialize(deserializer)?; - /// Timestamp::from_str(&s).map_err(de::Error::custom) - /// } else { - /// // Deserialize from a compact binary representation, seconds since - /// // the Unix epoch. - /// let n = u64::deserialize(deserializer)?; - /// Ok(Timestamp::EPOCH + Duration::seconds(n)) - /// } - /// } - /// } - /// ``` - /// - /// The default implementation of this method returns `true`. Data formats - /// may override this to `false` to request a compact form for types that - /// support one. Note that modifying this method to change a format from - /// human-readable to compact or vice versa should be regarded as a breaking - /// change, as a value serialized in human-readable mode is not required to - /// deserialize from the same data in compact mode. - #[inline] - fn is_human_readable(&self) -> bool { - true - } -} - -//////////////////////////////////////////////////////////////////////////////// - -/// This trait represents a visitor that walks through a deserializer. -/// -/// # Lifetime -/// -/// The `'de` lifetime of this trait is the requirement for lifetime of data -/// that may be borrowed by `Self::Value`. See the page [Understanding -/// deserializer lifetimes] for a more detailed explanation of these lifetimes. -/// -/// [Understanding deserializer lifetimes]: https://serde.rs/lifetimes.html -/// -/// # Example -/// -/// ```edition2018 -/// # use std::fmt; -/// # -/// # use serde::de::{self, Unexpected, Visitor}; -/// # -/// /// A visitor that deserializes a long string - a string containing at least -/// /// some minimum number of bytes. -/// struct LongString { -/// min: usize, -/// } -/// -/// impl<'de> Visitor<'de> for LongString { -/// type Value = String; -/// -/// fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { -/// write!(formatter, "a string containing at least {} bytes", self.min) -/// } -/// -/// fn visit_str(self, s: &str) -> Result -/// where -/// E: de::Error, -/// { -/// if s.len() >= self.min { -/// Ok(s.to_owned()) -/// } else { -/// Err(de::Error::invalid_value(Unexpected::Str(s), &self)) -/// } -/// } -/// } -/// ``` -pub trait Visitor<'de>: Sized { - /// The value produced by this visitor. - type Value; - - /// Format a message stating what data this Visitor expects to receive. - /// - /// This is used in error messages. The message should complete the sentence - /// "This Visitor expects to receive ...", for example the message could be - /// "an integer between 0 and 64". The message should not be capitalized and - /// should not end with a period. - /// - /// ```edition2018 - /// # use std::fmt; - /// # - /// # struct S { - /// # max: usize, - /// # } - /// # - /// # impl<'de> serde::de::Visitor<'de> for S { - /// # type Value = (); - /// # - /// fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - /// write!(formatter, "an integer between 0 and {}", self.max) - /// } - /// # } - /// ``` - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result; - - /// The input contains a boolean. - /// - /// The default implementation fails with a type error. - fn visit_bool(self, v: bool) -> Result - where - E: Error, - { - Err(Error::invalid_type(Unexpected::Bool(v), &self)) - } - - /// The input contains an `i8`. - /// - /// The default implementation forwards to [`visit_i64`]. - /// - /// [`visit_i64`]: #method.visit_i64 - fn visit_i8(self, v: i8) -> Result - where - E: Error, - { - self.visit_i64(v as i64) - } - - /// The input contains an `i16`. - /// - /// The default implementation forwards to [`visit_i64`]. - /// - /// [`visit_i64`]: #method.visit_i64 - fn visit_i16(self, v: i16) -> Result - where - E: Error, - { - self.visit_i64(v as i64) - } - - /// The input contains an `i32`. - /// - /// The default implementation forwards to [`visit_i64`]. - /// - /// [`visit_i64`]: #method.visit_i64 - fn visit_i32(self, v: i32) -> Result - where - E: Error, - { - self.visit_i64(v as i64) - } - - /// The input contains an `i64`. - /// - /// The default implementation fails with a type error. - fn visit_i64(self, v: i64) -> Result - where - E: Error, - { - Err(Error::invalid_type(Unexpected::Signed(v), &self)) - } - - serde_if_integer128! { - /// The input contains a `i128`. - /// - /// This method is available only on Rust compiler versions >=1.26. The - /// default implementation fails with a type error. - fn visit_i128(self, v: i128) -> Result - where - E: Error, - { - let _ = v; - Err(Error::invalid_type(Unexpected::Other("i128"), &self)) - } - } - - /// The input contains a `u8`. - /// - /// The default implementation forwards to [`visit_u64`]. - /// - /// [`visit_u64`]: #method.visit_u64 - fn visit_u8(self, v: u8) -> Result - where - E: Error, - { - self.visit_u64(v as u64) - } - - /// The input contains a `u16`. - /// - /// The default implementation forwards to [`visit_u64`]. - /// - /// [`visit_u64`]: #method.visit_u64 - fn visit_u16(self, v: u16) -> Result - where - E: Error, - { - self.visit_u64(v as u64) - } - - /// The input contains a `u32`. - /// - /// The default implementation forwards to [`visit_u64`]. - /// - /// [`visit_u64`]: #method.visit_u64 - fn visit_u32(self, v: u32) -> Result - where - E: Error, - { - self.visit_u64(v as u64) - } - - /// The input contains a `u64`. - /// - /// The default implementation fails with a type error. - fn visit_u64(self, v: u64) -> Result - where - E: Error, - { - Err(Error::invalid_type(Unexpected::Unsigned(v), &self)) - } - - serde_if_integer128! { - /// The input contains a `u128`. - /// - /// This method is available only on Rust compiler versions >=1.26. The - /// default implementation fails with a type error. - fn visit_u128(self, v: u128) -> Result - where - E: Error, - { - let _ = v; - Err(Error::invalid_type(Unexpected::Other("u128"), &self)) - } - } - - /// The input contains an `f32`. - /// - /// The default implementation forwards to [`visit_f64`]. - /// - /// [`visit_f64`]: #method.visit_f64 - fn visit_f32(self, v: f32) -> Result - where - E: Error, - { - self.visit_f64(v as f64) - } - - /// The input contains an `f64`. - /// - /// The default implementation fails with a type error. - fn visit_f64(self, v: f64) -> Result - where - E: Error, - { - Err(Error::invalid_type(Unexpected::Float(v), &self)) - } - - /// The input contains a `char`. - /// - /// The default implementation forwards to [`visit_str`] as a one-character - /// string. - /// - /// [`visit_str`]: #method.visit_str - #[inline] - fn visit_char(self, v: char) -> Result - where - E: Error, - { - self.visit_str(utf8::encode(v).as_str()) - } - - /// The input contains a string. The lifetime of the string is ephemeral and - /// it may be destroyed after this method returns. - /// - /// This method allows the `Deserializer` to avoid a copy by retaining - /// ownership of any buffered data. `Deserialize` implementations that do - /// not benefit from taking ownership of `String` data should indicate that - /// to the deserializer by using `Deserializer::deserialize_str` rather than - /// `Deserializer::deserialize_string`. - /// - /// It is never correct to implement `visit_string` without implementing - /// `visit_str`. Implement neither, both, or just `visit_str`. - fn visit_str(self, v: &str) -> Result - where - E: Error, - { - Err(Error::invalid_type(Unexpected::Str(v), &self)) - } - - /// The input contains a string that lives at least as long as the - /// `Deserializer`. - /// - /// This enables zero-copy deserialization of strings in some formats. For - /// example JSON input containing the JSON string `"borrowed"` can be - /// deserialized with zero copying into a `&'a str` as long as the input - /// data outlives `'a`. - /// - /// The default implementation forwards to `visit_str`. - #[inline] - fn visit_borrowed_str(self, v: &'de str) -> Result - where - E: Error, - { - self.visit_str(v) - } - - /// The input contains a string and ownership of the string is being given - /// to the `Visitor`. - /// - /// This method allows the `Visitor` to avoid a copy by taking ownership of - /// a string created by the `Deserializer`. `Deserialize` implementations - /// that benefit from taking ownership of `String` data should indicate that - /// to the deserializer by using `Deserializer::deserialize_string` rather - /// than `Deserializer::deserialize_str`, although not every deserializer - /// will honor such a request. - /// - /// It is never correct to implement `visit_string` without implementing - /// `visit_str`. Implement neither, both, or just `visit_str`. - /// - /// The default implementation forwards to `visit_str` and then drops the - /// `String`. - #[inline] - #[cfg(any(feature = "std", feature = "alloc"))] - fn visit_string(self, v: String) -> Result - where - E: Error, - { - self.visit_str(&v) - } - - /// The input contains a byte array. The lifetime of the byte array is - /// ephemeral and it may be destroyed after this method returns. - /// - /// This method allows the `Deserializer` to avoid a copy by retaining - /// ownership of any buffered data. `Deserialize` implementations that do - /// not benefit from taking ownership of `Vec` data should indicate that - /// to the deserializer by using `Deserializer::deserialize_bytes` rather - /// than `Deserializer::deserialize_byte_buf`. - /// - /// It is never correct to implement `visit_byte_buf` without implementing - /// `visit_bytes`. Implement neither, both, or just `visit_bytes`. - fn visit_bytes(self, v: &[u8]) -> Result - where - E: Error, - { - let _ = v; - Err(Error::invalid_type(Unexpected::Bytes(v), &self)) - } - - /// The input contains a byte array that lives at least as long as the - /// `Deserializer`. - /// - /// This enables zero-copy deserialization of bytes in some formats. For - /// example Bincode data containing bytes can be deserialized with zero - /// copying into a `&'a [u8]` as long as the input data outlives `'a`. - /// - /// The default implementation forwards to `visit_bytes`. - #[inline] - fn visit_borrowed_bytes(self, v: &'de [u8]) -> Result - where - E: Error, - { - self.visit_bytes(v) - } - - /// The input contains a byte array and ownership of the byte array is being - /// given to the `Visitor`. - /// - /// This method allows the `Visitor` to avoid a copy by taking ownership of - /// a byte buffer created by the `Deserializer`. `Deserialize` - /// implementations that benefit from taking ownership of `Vec` data - /// should indicate that to the deserializer by using - /// `Deserializer::deserialize_byte_buf` rather than - /// `Deserializer::deserialize_bytes`, although not every deserializer will - /// honor such a request. - /// - /// It is never correct to implement `visit_byte_buf` without implementing - /// `visit_bytes`. Implement neither, both, or just `visit_bytes`. - /// - /// The default implementation forwards to `visit_bytes` and then drops the - /// `Vec`. - #[cfg(any(feature = "std", feature = "alloc"))] - fn visit_byte_buf(self, v: Vec) -> Result - where - E: Error, - { - self.visit_bytes(&v) - } - - /// The input contains an optional that is absent. - /// - /// The default implementation fails with a type error. - fn visit_none(self) -> Result - where - E: Error, - { - Err(Error::invalid_type(Unexpected::Option, &self)) - } - - /// The input contains an optional that is present. - /// - /// The default implementation fails with a type error. - fn visit_some(self, deserializer: D) -> Result - where - D: Deserializer<'de>, - { - let _ = deserializer; - Err(Error::invalid_type(Unexpected::Option, &self)) - } - - /// The input contains a unit `()`. - /// - /// The default implementation fails with a type error. - fn visit_unit(self) -> Result - where - E: Error, - { - Err(Error::invalid_type(Unexpected::Unit, &self)) - } - - /// The input contains a newtype struct. - /// - /// The content of the newtype struct may be read from the given - /// `Deserializer`. - /// - /// The default implementation fails with a type error. - fn visit_newtype_struct(self, deserializer: D) -> Result - where - D: Deserializer<'de>, - { - let _ = deserializer; - Err(Error::invalid_type(Unexpected::NewtypeStruct, &self)) - } - - /// The input contains a sequence of elements. - /// - /// The default implementation fails with a type error. - fn visit_seq(self, seq: A) -> Result - where - A: SeqAccess<'de>, - { - let _ = seq; - Err(Error::invalid_type(Unexpected::Seq, &self)) - } - - /// The input contains a key-value map. - /// - /// The default implementation fails with a type error. - fn visit_map(self, map: A) -> Result - where - A: MapAccess<'de>, - { - let _ = map; - Err(Error::invalid_type(Unexpected::Map, &self)) - } - - /// The input contains an enum. - /// - /// The default implementation fails with a type error. - fn visit_enum(self, data: A) -> Result - where - A: EnumAccess<'de>, - { - let _ = data; - Err(Error::invalid_type(Unexpected::Enum, &self)) - } - - // Used when deserializing a flattened Option field. Not public API. - #[doc(hidden)] - fn __private_visit_untagged_option(self, _: D) -> Result - where - D: Deserializer<'de>, - { - Err(()) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -/// Provides a `Visitor` access to each element of a sequence in the input. -/// -/// This is a trait that a `Deserializer` passes to a `Visitor` implementation, -/// which deserializes each item in a sequence. -/// -/// # Lifetime -/// -/// The `'de` lifetime of this trait is the lifetime of data that may be -/// borrowed by deserialized sequence elements. See the page [Understanding -/// deserializer lifetimes] for a more detailed explanation of these lifetimes. -/// -/// [Understanding deserializer lifetimes]: https://serde.rs/lifetimes.html -/// -/// # Example implementation -/// -/// The [example data format] presented on the website demonstrates an -/// implementation of `SeqAccess` for a basic JSON data format. -/// -/// [example data format]: https://serde.rs/data-format.html -pub trait SeqAccess<'de> { - /// The error type that can be returned if some error occurs during - /// deserialization. - type Error: Error; - - /// This returns `Ok(Some(value))` for the next value in the sequence, or - /// `Ok(None)` if there are no more remaining items. - /// - /// `Deserialize` implementations should typically use - /// `SeqAccess::next_element` instead. - fn next_element_seed(&mut self, seed: T) -> Result, Self::Error> - where - T: DeserializeSeed<'de>; - - /// This returns `Ok(Some(value))` for the next value in the sequence, or - /// `Ok(None)` if there are no more remaining items. - /// - /// This method exists as a convenience for `Deserialize` implementations. - /// `SeqAccess` implementations should not override the default behavior. - #[inline] - fn next_element(&mut self) -> Result, Self::Error> - where - T: Deserialize<'de>, - { - self.next_element_seed(PhantomData) - } - - /// Returns the number of elements remaining in the sequence, if known. - #[inline] - fn size_hint(&self) -> Option { - None - } -} - -impl<'de, 'a, A> SeqAccess<'de> for &'a mut A -where - A: SeqAccess<'de>, -{ - type Error = A::Error; - - #[inline] - fn next_element_seed(&mut self, seed: T) -> Result, Self::Error> - where - T: DeserializeSeed<'de>, - { - (**self).next_element_seed(seed) - } - - #[inline] - fn next_element(&mut self) -> Result, Self::Error> - where - T: Deserialize<'de>, - { - (**self).next_element() - } - - #[inline] - fn size_hint(&self) -> Option { - (**self).size_hint() - } -} - -//////////////////////////////////////////////////////////////////////////////// - -/// Provides a `Visitor` access to each entry of a map in the input. -/// -/// This is a trait that a `Deserializer` passes to a `Visitor` implementation. -/// -/// # Lifetime -/// -/// The `'de` lifetime of this trait is the lifetime of data that may be -/// borrowed by deserialized map entries. See the page [Understanding -/// deserializer lifetimes] for a more detailed explanation of these lifetimes. -/// -/// [Understanding deserializer lifetimes]: https://serde.rs/lifetimes.html -/// -/// # Example implementation -/// -/// The [example data format] presented on the website demonstrates an -/// implementation of `MapAccess` for a basic JSON data format. -/// -/// [example data format]: https://serde.rs/data-format.html -pub trait MapAccess<'de> { - /// The error type that can be returned if some error occurs during - /// deserialization. - type Error: Error; - - /// This returns `Ok(Some(key))` for the next key in the map, or `Ok(None)` - /// if there are no more remaining entries. - /// - /// `Deserialize` implementations should typically use - /// `MapAccess::next_key` or `MapAccess::next_entry` instead. - fn next_key_seed(&mut self, seed: K) -> Result, Self::Error> - where - K: DeserializeSeed<'de>; - - /// This returns a `Ok(value)` for the next value in the map. - /// - /// `Deserialize` implementations should typically use - /// `MapAccess::next_value` instead. - /// - /// # Panics - /// - /// Calling `next_value_seed` before `next_key_seed` is incorrect and is - /// allowed to panic or return bogus results. - fn next_value_seed(&mut self, seed: V) -> Result - where - V: DeserializeSeed<'de>; - - /// This returns `Ok(Some((key, value)))` for the next (key-value) pair in - /// the map, or `Ok(None)` if there are no more remaining items. - /// - /// `MapAccess` implementations should override the default behavior if a - /// more efficient implementation is possible. - /// - /// `Deserialize` implementations should typically use - /// `MapAccess::next_entry` instead. - #[inline] - fn next_entry_seed( - &mut self, - kseed: K, - vseed: V, - ) -> Result, Self::Error> - where - K: DeserializeSeed<'de>, - V: DeserializeSeed<'de>, - { - match try!(self.next_key_seed(kseed)) { - Some(key) => { - let value = try!(self.next_value_seed(vseed)); - Ok(Some((key, value))) - } - None => Ok(None), - } - } - - /// This returns `Ok(Some(key))` for the next key in the map, or `Ok(None)` - /// if there are no more remaining entries. - /// - /// This method exists as a convenience for `Deserialize` implementations. - /// `MapAccess` implementations should not override the default behavior. - #[inline] - fn next_key(&mut self) -> Result, Self::Error> - where - K: Deserialize<'de>, - { - self.next_key_seed(PhantomData) - } - - /// This returns a `Ok(value)` for the next value in the map. - /// - /// This method exists as a convenience for `Deserialize` implementations. - /// `MapAccess` implementations should not override the default behavior. - /// - /// # Panics - /// - /// Calling `next_value` before `next_key` is incorrect and is allowed to - /// panic or return bogus results. - #[inline] - fn next_value(&mut self) -> Result - where - V: Deserialize<'de>, - { - self.next_value_seed(PhantomData) - } - - /// This returns `Ok(Some((key, value)))` for the next (key-value) pair in - /// the map, or `Ok(None)` if there are no more remaining items. - /// - /// This method exists as a convenience for `Deserialize` implementations. - /// `MapAccess` implementations should not override the default behavior. - #[inline] - fn next_entry(&mut self) -> Result, Self::Error> - where - K: Deserialize<'de>, - V: Deserialize<'de>, - { - self.next_entry_seed(PhantomData, PhantomData) - } - - /// Returns the number of entries remaining in the map, if known. - #[inline] - fn size_hint(&self) -> Option { - None - } -} - -impl<'de, 'a, A> MapAccess<'de> for &'a mut A -where - A: MapAccess<'de>, -{ - type Error = A::Error; - - #[inline] - fn next_key_seed(&mut self, seed: K) -> Result, Self::Error> - where - K: DeserializeSeed<'de>, - { - (**self).next_key_seed(seed) - } - - #[inline] - fn next_value_seed(&mut self, seed: V) -> Result - where - V: DeserializeSeed<'de>, - { - (**self).next_value_seed(seed) - } - - #[inline] - fn next_entry_seed( - &mut self, - kseed: K, - vseed: V, - ) -> Result, Self::Error> - where - K: DeserializeSeed<'de>, - V: DeserializeSeed<'de>, - { - (**self).next_entry_seed(kseed, vseed) - } - - #[inline] - fn next_entry(&mut self) -> Result, Self::Error> - where - K: Deserialize<'de>, - V: Deserialize<'de>, - { - (**self).next_entry() - } - - #[inline] - fn next_key(&mut self) -> Result, Self::Error> - where - K: Deserialize<'de>, - { - (**self).next_key() - } - - #[inline] - fn next_value(&mut self) -> Result - where - V: Deserialize<'de>, - { - (**self).next_value() - } - - #[inline] - fn size_hint(&self) -> Option { - (**self).size_hint() - } -} - -//////////////////////////////////////////////////////////////////////////////// - -/// Provides a `Visitor` access to the data of an enum in the input. -/// -/// `EnumAccess` is created by the `Deserializer` and passed to the -/// `Visitor` in order to identify which variant of an enum to deserialize. -/// -/// # Lifetime -/// -/// The `'de` lifetime of this trait is the lifetime of data that may be -/// borrowed by the deserialized enum variant. See the page [Understanding -/// deserializer lifetimes] for a more detailed explanation of these lifetimes. -/// -/// [Understanding deserializer lifetimes]: https://serde.rs/lifetimes.html -/// -/// # Example implementation -/// -/// The [example data format] presented on the website demonstrates an -/// implementation of `EnumAccess` for a basic JSON data format. -/// -/// [example data format]: https://serde.rs/data-format.html -pub trait EnumAccess<'de>: Sized { - /// The error type that can be returned if some error occurs during - /// deserialization. - type Error: Error; - /// The `Visitor` that will be used to deserialize the content of the enum - /// variant. - type Variant: VariantAccess<'de, Error = Self::Error>; - - /// `variant` is called to identify which variant to deserialize. - /// - /// `Deserialize` implementations should typically use `EnumAccess::variant` - /// instead. - fn variant_seed(self, seed: V) -> Result<(V::Value, Self::Variant), Self::Error> - where - V: DeserializeSeed<'de>; - - /// `variant` is called to identify which variant to deserialize. - /// - /// This method exists as a convenience for `Deserialize` implementations. - /// `EnumAccess` implementations should not override the default behavior. - #[inline] - fn variant(self) -> Result<(V, Self::Variant), Self::Error> - where - V: Deserialize<'de>, - { - self.variant_seed(PhantomData) - } -} - -/// `VariantAccess` is a visitor that is created by the `Deserializer` and -/// passed to the `Deserialize` to deserialize the content of a particular enum -/// variant. -/// -/// # Lifetime -/// -/// The `'de` lifetime of this trait is the lifetime of data that may be -/// borrowed by the deserialized enum variant. See the page [Understanding -/// deserializer lifetimes] for a more detailed explanation of these lifetimes. -/// -/// [Understanding deserializer lifetimes]: https://serde.rs/lifetimes.html -/// -/// # Example implementation -/// -/// The [example data format] presented on the website demonstrates an -/// implementation of `VariantAccess` for a basic JSON data format. -/// -/// [example data format]: https://serde.rs/data-format.html -pub trait VariantAccess<'de>: Sized { - /// The error type that can be returned if some error occurs during - /// deserialization. Must match the error type of our `EnumAccess`. - type Error: Error; - - /// Called when deserializing a variant with no values. - /// - /// If the data contains a different type of variant, the following - /// `invalid_type` error should be constructed: - /// - /// ```edition2018 - /// # use serde::de::{self, value, DeserializeSeed, Visitor, VariantAccess, Unexpected}; - /// # - /// # struct X; - /// # - /// # impl<'de> VariantAccess<'de> for X { - /// # type Error = value::Error; - /// # - /// fn unit_variant(self) -> Result<(), Self::Error> { - /// // What the data actually contained; suppose it is a tuple variant. - /// let unexp = Unexpected::TupleVariant; - /// Err(de::Error::invalid_type(unexp, &"unit variant")) - /// } - /// # - /// # fn newtype_variant_seed(self, _: T) -> Result - /// # where - /// # T: DeserializeSeed<'de>, - /// # { unimplemented!() } - /// # - /// # fn tuple_variant(self, _: usize, _: V) -> Result - /// # where - /// # V: Visitor<'de>, - /// # { unimplemented!() } - /// # - /// # fn struct_variant(self, _: &[&str], _: V) -> Result - /// # where - /// # V: Visitor<'de>, - /// # { unimplemented!() } - /// # } - /// ``` - fn unit_variant(self) -> Result<(), Self::Error>; - - /// Called when deserializing a variant with a single value. - /// - /// `Deserialize` implementations should typically use - /// `VariantAccess::newtype_variant` instead. - /// - /// If the data contains a different type of variant, the following - /// `invalid_type` error should be constructed: - /// - /// ```edition2018 - /// # use serde::de::{self, value, DeserializeSeed, Visitor, VariantAccess, Unexpected}; - /// # - /// # struct X; - /// # - /// # impl<'de> VariantAccess<'de> for X { - /// # type Error = value::Error; - /// # - /// # fn unit_variant(self) -> Result<(), Self::Error> { - /// # unimplemented!() - /// # } - /// # - /// fn newtype_variant_seed(self, _seed: T) -> Result - /// where - /// T: DeserializeSeed<'de>, - /// { - /// // What the data actually contained; suppose it is a unit variant. - /// let unexp = Unexpected::UnitVariant; - /// Err(de::Error::invalid_type(unexp, &"newtype variant")) - /// } - /// # - /// # fn tuple_variant(self, _: usize, _: V) -> Result - /// # where - /// # V: Visitor<'de>, - /// # { unimplemented!() } - /// # - /// # fn struct_variant(self, _: &[&str], _: V) -> Result - /// # where - /// # V: Visitor<'de>, - /// # { unimplemented!() } - /// # } - /// ``` - fn newtype_variant_seed(self, seed: T) -> Result - where - T: DeserializeSeed<'de>; - - /// Called when deserializing a variant with a single value. - /// - /// This method exists as a convenience for `Deserialize` implementations. - /// `VariantAccess` implementations should not override the default - /// behavior. - #[inline] - fn newtype_variant(self) -> Result - where - T: Deserialize<'de>, - { - self.newtype_variant_seed(PhantomData) - } - - /// Called when deserializing a tuple-like variant. - /// - /// The `len` is the number of fields expected in the tuple variant. - /// - /// If the data contains a different type of variant, the following - /// `invalid_type` error should be constructed: - /// - /// ```edition2018 - /// # use serde::de::{self, value, DeserializeSeed, Visitor, VariantAccess, Unexpected}; - /// # - /// # struct X; - /// # - /// # impl<'de> VariantAccess<'de> for X { - /// # type Error = value::Error; - /// # - /// # fn unit_variant(self) -> Result<(), Self::Error> { - /// # unimplemented!() - /// # } - /// # - /// # fn newtype_variant_seed(self, _: T) -> Result - /// # where - /// # T: DeserializeSeed<'de>, - /// # { unimplemented!() } - /// # - /// fn tuple_variant( - /// self, - /// _len: usize, - /// _visitor: V, - /// ) -> Result - /// where - /// V: Visitor<'de>, - /// { - /// // What the data actually contained; suppose it is a unit variant. - /// let unexp = Unexpected::UnitVariant; - /// Err(de::Error::invalid_type(unexp, &"tuple variant")) - /// } - /// # - /// # fn struct_variant(self, _: &[&str], _: V) -> Result - /// # where - /// # V: Visitor<'de>, - /// # { unimplemented!() } - /// # } - /// ``` - fn tuple_variant(self, len: usize, visitor: V) -> Result - where - V: Visitor<'de>; - - /// Called when deserializing a struct-like variant. - /// - /// The `fields` are the names of the fields of the struct variant. - /// - /// If the data contains a different type of variant, the following - /// `invalid_type` error should be constructed: - /// - /// ```edition2018 - /// # use serde::de::{self, value, DeserializeSeed, Visitor, VariantAccess, Unexpected}; - /// # - /// # struct X; - /// # - /// # impl<'de> VariantAccess<'de> for X { - /// # type Error = value::Error; - /// # - /// # fn unit_variant(self) -> Result<(), Self::Error> { - /// # unimplemented!() - /// # } - /// # - /// # fn newtype_variant_seed(self, _: T) -> Result - /// # where - /// # T: DeserializeSeed<'de>, - /// # { unimplemented!() } - /// # - /// # fn tuple_variant(self, _: usize, _: V) -> Result - /// # where - /// # V: Visitor<'de>, - /// # { unimplemented!() } - /// # - /// fn struct_variant( - /// self, - /// _fields: &'static [&'static str], - /// _visitor: V, - /// ) -> Result - /// where - /// V: Visitor<'de>, - /// { - /// // What the data actually contained; suppose it is a unit variant. - /// let unexp = Unexpected::UnitVariant; - /// Err(de::Error::invalid_type(unexp, &"struct variant")) - /// } - /// # } - /// ``` - fn struct_variant( - self, - fields: &'static [&'static str], - visitor: V, - ) -> Result - where - V: Visitor<'de>; -} - -//////////////////////////////////////////////////////////////////////////////// - -/// Converts an existing value into a `Deserializer` from which other values can -/// be deserialized. -/// -/// # Lifetime -/// -/// The `'de` lifetime of this trait is the lifetime of data that may be -/// borrowed from the resulting `Deserializer`. See the page [Understanding -/// deserializer lifetimes] for a more detailed explanation of these lifetimes. -/// -/// [Understanding deserializer lifetimes]: https://serde.rs/lifetimes.html -/// -/// # Example -/// -/// ```edition2018 -/// use std::str::FromStr; -/// use serde::Deserialize; -/// use serde::de::{value, IntoDeserializer}; -/// -/// #[derive(Deserialize)] -/// enum Setting { -/// On, -/// Off, -/// } -/// -/// impl FromStr for Setting { -/// type Err = value::Error; -/// -/// fn from_str(s: &str) -> Result { -/// Self::deserialize(s.into_deserializer()) -/// } -/// } -/// ``` -pub trait IntoDeserializer<'de, E: Error = value::Error> { - /// The type of the deserializer being converted into. - type Deserializer: Deserializer<'de, Error = E>; - - /// Convert this value into a deserializer. - fn into_deserializer(self) -> Self::Deserializer; -} - -//////////////////////////////////////////////////////////////////////////////// - -/// Used in error messages. -/// -/// - expected `a` -/// - expected `a` or `b` -/// - expected one of `a`, `b`, `c` -/// -/// The slice of names must not be empty. -struct OneOf { - names: &'static [&'static str], -} - -impl Display for OneOf { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - match self.names.len() { - 0 => panic!(), // special case elsewhere - 1 => write!(formatter, "`{}`", self.names[0]), - 2 => write!(formatter, "`{}` or `{}`", self.names[0], self.names[1]), - _ => { - try!(write!(formatter, "one of ")); - for (i, alt) in self.names.iter().enumerate() { - if i > 0 { - try!(write!(formatter, ", ")); - } - try!(write!(formatter, "`{}`", alt)); - } - Ok(()) - } - } - } -} diff --git a/vendor/registry-40351f815f426200/serde/src/de/utf8.rs b/vendor/registry-40351f815f426200/serde/src/de/utf8.rs deleted file mode 100644 index 576fd03cf..000000000 --- a/vendor/registry-40351f815f426200/serde/src/de/utf8.rs +++ /dev/null @@ -1,46 +0,0 @@ -use lib::*; - -const TAG_CONT: u8 = 0b1000_0000; -const TAG_TWO_B: u8 = 0b1100_0000; -const TAG_THREE_B: u8 = 0b1110_0000; -const TAG_FOUR_B: u8 = 0b1111_0000; -const MAX_ONE_B: u32 = 0x80; -const MAX_TWO_B: u32 = 0x800; -const MAX_THREE_B: u32 = 0x10000; - -#[inline] -pub fn encode(c: char) -> Encode { - let code = c as u32; - let mut buf = [0; 4]; - let pos = if code < MAX_ONE_B { - buf[3] = code as u8; - 3 - } else if code < MAX_TWO_B { - buf[2] = (code >> 6 & 0x1F) as u8 | TAG_TWO_B; - buf[3] = (code & 0x3F) as u8 | TAG_CONT; - 2 - } else if code < MAX_THREE_B { - buf[1] = (code >> 12 & 0x0F) as u8 | TAG_THREE_B; - buf[2] = (code >> 6 & 0x3F) as u8 | TAG_CONT; - buf[3] = (code & 0x3F) as u8 | TAG_CONT; - 1 - } else { - buf[0] = (code >> 18 & 0x07) as u8 | TAG_FOUR_B; - buf[1] = (code >> 12 & 0x3F) as u8 | TAG_CONT; - buf[2] = (code >> 6 & 0x3F) as u8 | TAG_CONT; - buf[3] = (code & 0x3F) as u8 | TAG_CONT; - 0 - }; - Encode { buf: buf, pos: pos } -} - -pub struct Encode { - buf: [u8; 4], - pos: usize, -} - -impl Encode { - pub fn as_str(&self) -> &str { - str::from_utf8(&self.buf[self.pos..]).unwrap() - } -} diff --git a/vendor/registry-40351f815f426200/serde/src/de/value.rs b/vendor/registry-40351f815f426200/serde/src/de/value.rs deleted file mode 100644 index d0a185da2..000000000 --- a/vendor/registry-40351f815f426200/serde/src/de/value.rs +++ /dev/null @@ -1,1497 +0,0 @@ -//! Building blocks for deserializing basic values using the `IntoDeserializer` -//! trait. -//! -//! ```edition2018 -//! use std::str::FromStr; -//! use serde::Deserialize; -//! use serde::de::{value, IntoDeserializer}; -//! -//! #[derive(Deserialize)] -//! enum Setting { -//! On, -//! Off, -//! } -//! -//! impl FromStr for Setting { -//! type Err = value::Error; -//! -//! fn from_str(s: &str) -> Result { -//! Self::deserialize(s.into_deserializer()) -//! } -//! } -//! ``` - -use lib::*; - -use self::private::{First, Second}; -use de::{self, Expected, IntoDeserializer, SeqAccess}; -use private::de::size_hint; -use ser; - -//////////////////////////////////////////////////////////////////////////////// - -// For structs that contain a PhantomData. We do not want the trait -// bound `E: Clone` inferred by derive(Clone). -macro_rules! impl_copy_clone { - ($ty:ident $(<$lifetime:tt>)*) => { - impl<$($lifetime,)* E> Copy for $ty<$($lifetime,)* E> {} - - impl<$($lifetime,)* E> Clone for $ty<$($lifetime,)* E> { - fn clone(&self) -> Self { - *self - } - } - }; -} - -//////////////////////////////////////////////////////////////////////////////// - -/// A minimal representation of all possible errors that can occur using the -/// `IntoDeserializer` trait. -#[derive(Clone, Debug, PartialEq)] -pub struct Error { - err: ErrorImpl, -} - -#[cfg(any(feature = "std", feature = "alloc"))] -type ErrorImpl = Box; -#[cfg(not(any(feature = "std", feature = "alloc")))] -type ErrorImpl = (); - -impl de::Error for Error { - #[cfg(any(feature = "std", feature = "alloc"))] - #[cold] - fn custom(msg: T) -> Self - where - T: Display, - { - Error { - err: msg.to_string().into_boxed_str(), - } - } - - #[cfg(not(any(feature = "std", feature = "alloc")))] - #[cold] - fn custom(msg: T) -> Self - where - T: Display, - { - let _ = msg; - Error { err: () } - } -} - -impl ser::Error for Error { - #[cold] - fn custom(msg: T) -> Self - where - T: Display, - { - de::Error::custom(msg) - } -} - -impl Display for Error { - #[cfg(any(feature = "std", feature = "alloc"))] - fn fmt(&self, formatter: &mut fmt::Formatter) -> Result<(), fmt::Error> { - formatter.write_str(&self.err) - } - - #[cfg(not(any(feature = "std", feature = "alloc")))] - fn fmt(&self, formatter: &mut fmt::Formatter) -> Result<(), fmt::Error> { - formatter.write_str("Serde deserialization error") - } -} - -#[cfg(feature = "std")] -impl error::Error for Error { - fn description(&self) -> &str { - &self.err - } -} - -//////////////////////////////////////////////////////////////////////////////// - -impl<'de, E> IntoDeserializer<'de, E> for () -where - E: de::Error, -{ - type Deserializer = UnitDeserializer; - - fn into_deserializer(self) -> UnitDeserializer { - UnitDeserializer { - marker: PhantomData, - } - } -} - -/// A deserializer holding a `()`. -#[derive(Debug)] -pub struct UnitDeserializer { - marker: PhantomData, -} - -impl_copy_clone!(UnitDeserializer); - -impl<'de, E> de::Deserializer<'de> for UnitDeserializer -where - E: de::Error, -{ - type Error = E; - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string - bytes byte_buf unit unit_struct newtype_struct seq tuple tuple_struct - map struct enum identifier ignored_any - } - - fn deserialize_any(self, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - visitor.visit_unit() - } - - fn deserialize_option(self, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - visitor.visit_none() - } -} - -//////////////////////////////////////////////////////////////////////////////// - -/// A deserializer that cannot be instantiated. -#[cfg(feature = "unstable")] -pub struct NeverDeserializer { - never: !, - marker: PhantomData, -} - -#[cfg(feature = "unstable")] -impl<'de, E> IntoDeserializer<'de, E> for ! -where - E: de::Error, -{ - type Deserializer = NeverDeserializer; - - fn into_deserializer(self) -> Self::Deserializer { - self - } -} - -#[cfg(feature = "unstable")] -impl<'de, E> de::Deserializer<'de> for NeverDeserializer -where - E: de::Error, -{ - type Error = E; - - fn deserialize_any(self, _visitor: V) -> Result - where - V: de::Visitor<'de>, - { - self.never - } - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string - bytes byte_buf option unit unit_struct newtype_struct seq tuple - tuple_struct map struct enum identifier ignored_any - } -} - -//////////////////////////////////////////////////////////////////////////////// - -macro_rules! primitive_deserializer { - ($ty:ty, $doc:tt, $name:ident, $method:ident $($cast:tt)*) => { - #[doc = "A deserializer holding"] - #[doc = $doc] - #[derive(Debug)] - pub struct $name { - value: $ty, - marker: PhantomData - } - - impl_copy_clone!($name); - - impl<'de, E> IntoDeserializer<'de, E> for $ty - where - E: de::Error, - { - type Deserializer = $name; - - fn into_deserializer(self) -> $name { - $name { - value: self, - marker: PhantomData, - } - } - } - - impl<'de, E> de::Deserializer<'de> for $name - where - E: de::Error, - { - type Error = E; - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str - string bytes byte_buf option unit unit_struct newtype_struct seq - tuple tuple_struct map struct enum identifier ignored_any - } - - fn deserialize_any(self, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - visitor.$method(self.value $($cast)*) - } - } - } -} - -primitive_deserializer!(bool, "a `bool`.", BoolDeserializer, visit_bool); -primitive_deserializer!(i8, "an `i8`.", I8Deserializer, visit_i8); -primitive_deserializer!(i16, "an `i16`.", I16Deserializer, visit_i16); -primitive_deserializer!(i32, "an `i32`.", I32Deserializer, visit_i32); -primitive_deserializer!(i64, "an `i64`.", I64Deserializer, visit_i64); -primitive_deserializer!(isize, "an `isize`.", IsizeDeserializer, visit_i64 as i64); -primitive_deserializer!(u8, "a `u8`.", U8Deserializer, visit_u8); -primitive_deserializer!(u16, "a `u16`.", U16Deserializer, visit_u16); -primitive_deserializer!(u64, "a `u64`.", U64Deserializer, visit_u64); -primitive_deserializer!(usize, "a `usize`.", UsizeDeserializer, visit_u64 as u64); -primitive_deserializer!(f32, "an `f32`.", F32Deserializer, visit_f32); -primitive_deserializer!(f64, "an `f64`.", F64Deserializer, visit_f64); -primitive_deserializer!(char, "a `char`.", CharDeserializer, visit_char); - -serde_if_integer128! { - primitive_deserializer!(i128, "an `i128`.", I128Deserializer, visit_i128); - primitive_deserializer!(u128, "a `u128`.", U128Deserializer, visit_u128); -} - -/// A deserializer holding a `u32`. -#[derive(Debug)] -pub struct U32Deserializer { - value: u32, - marker: PhantomData, -} - -impl_copy_clone!(U32Deserializer); - -impl<'de, E> IntoDeserializer<'de, E> for u32 -where - E: de::Error, -{ - type Deserializer = U32Deserializer; - - fn into_deserializer(self) -> U32Deserializer { - U32Deserializer { - value: self, - marker: PhantomData, - } - } -} - -impl<'de, E> de::Deserializer<'de> for U32Deserializer -where - E: de::Error, -{ - type Error = E; - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string - bytes byte_buf option unit unit_struct newtype_struct seq tuple - tuple_struct map struct identifier ignored_any - } - - fn deserialize_any(self, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - visitor.visit_u32(self.value) - } - - fn deserialize_enum( - self, - name: &str, - variants: &'static [&'static str], - visitor: V, - ) -> Result - where - V: de::Visitor<'de>, - { - let _ = name; - let _ = variants; - visitor.visit_enum(self) - } -} - -impl<'de, E> de::EnumAccess<'de> for U32Deserializer -where - E: de::Error, -{ - type Error = E; - type Variant = private::UnitOnly; - - fn variant_seed(self, seed: T) -> Result<(T::Value, Self::Variant), Self::Error> - where - T: de::DeserializeSeed<'de>, - { - seed.deserialize(self).map(private::unit_only) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -/// A deserializer holding a `&str`. -#[derive(Debug)] -pub struct StrDeserializer<'a, E> { - value: &'a str, - marker: PhantomData, -} - -impl_copy_clone!(StrDeserializer<'de>); - -impl<'de, 'a, E> IntoDeserializer<'de, E> for &'a str -where - E: de::Error, -{ - type Deserializer = StrDeserializer<'a, E>; - - fn into_deserializer(self) -> StrDeserializer<'a, E> { - StrDeserializer { - value: self, - marker: PhantomData, - } - } -} - -impl<'de, 'a, E> de::Deserializer<'de> for StrDeserializer<'a, E> -where - E: de::Error, -{ - type Error = E; - - fn deserialize_any(self, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - visitor.visit_str(self.value) - } - - fn deserialize_enum( - self, - name: &str, - variants: &'static [&'static str], - visitor: V, - ) -> Result - where - V: de::Visitor<'de>, - { - let _ = name; - let _ = variants; - visitor.visit_enum(self) - } - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string - bytes byte_buf option unit unit_struct newtype_struct seq tuple - tuple_struct map struct identifier ignored_any - } -} - -impl<'de, 'a, E> de::EnumAccess<'de> for StrDeserializer<'a, E> -where - E: de::Error, -{ - type Error = E; - type Variant = private::UnitOnly; - - fn variant_seed(self, seed: T) -> Result<(T::Value, Self::Variant), Self::Error> - where - T: de::DeserializeSeed<'de>, - { - seed.deserialize(self).map(private::unit_only) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -/// A deserializer holding a `&str` with a lifetime tied to another -/// deserializer. -#[derive(Debug)] -pub struct BorrowedStrDeserializer<'de, E> { - value: &'de str, - marker: PhantomData, -} - -impl_copy_clone!(BorrowedStrDeserializer<'de>); - -impl<'de, E> BorrowedStrDeserializer<'de, E> { - /// Create a new borrowed deserializer from the given string. - pub fn new(value: &'de str) -> BorrowedStrDeserializer<'de, E> { - BorrowedStrDeserializer { - value: value, - marker: PhantomData, - } - } -} - -impl<'de, E> de::Deserializer<'de> for BorrowedStrDeserializer<'de, E> -where - E: de::Error, -{ - type Error = E; - - fn deserialize_any(self, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - visitor.visit_borrowed_str(self.value) - } - - fn deserialize_enum( - self, - name: &str, - variants: &'static [&'static str], - visitor: V, - ) -> Result - where - V: de::Visitor<'de>, - { - let _ = name; - let _ = variants; - visitor.visit_enum(self) - } - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string - bytes byte_buf option unit unit_struct newtype_struct seq tuple - tuple_struct map struct identifier ignored_any - } -} - -impl<'de, E> de::EnumAccess<'de> for BorrowedStrDeserializer<'de, E> -where - E: de::Error, -{ - type Error = E; - type Variant = private::UnitOnly; - - fn variant_seed(self, seed: T) -> Result<(T::Value, Self::Variant), Self::Error> - where - T: de::DeserializeSeed<'de>, - { - seed.deserialize(self).map(private::unit_only) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -/// A deserializer holding a `String`. -#[cfg(any(feature = "std", feature = "alloc"))] -#[derive(Debug)] -pub struct StringDeserializer { - value: String, - marker: PhantomData, -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl Clone for StringDeserializer { - fn clone(&self) -> Self { - StringDeserializer { - value: self.value.clone(), - marker: PhantomData, - } - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'de, E> IntoDeserializer<'de, E> for String -where - E: de::Error, -{ - type Deserializer = StringDeserializer; - - fn into_deserializer(self) -> StringDeserializer { - StringDeserializer { - value: self, - marker: PhantomData, - } - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'de, E> de::Deserializer<'de> for StringDeserializer -where - E: de::Error, -{ - type Error = E; - - fn deserialize_any(self, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - visitor.visit_string(self.value) - } - - fn deserialize_enum( - self, - name: &str, - variants: &'static [&'static str], - visitor: V, - ) -> Result - where - V: de::Visitor<'de>, - { - let _ = name; - let _ = variants; - visitor.visit_enum(self) - } - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string - bytes byte_buf option unit unit_struct newtype_struct seq tuple - tuple_struct map struct identifier ignored_any - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'de, 'a, E> de::EnumAccess<'de> for StringDeserializer -where - E: de::Error, -{ - type Error = E; - type Variant = private::UnitOnly; - - fn variant_seed(self, seed: T) -> Result<(T::Value, Self::Variant), Self::Error> - where - T: de::DeserializeSeed<'de>, - { - seed.deserialize(self).map(private::unit_only) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -/// A deserializer holding a `Cow`. -#[cfg(any(feature = "std", feature = "alloc"))] -#[derive(Debug)] -pub struct CowStrDeserializer<'a, E> { - value: Cow<'a, str>, - marker: PhantomData, -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'a, E> Clone for CowStrDeserializer<'a, E> { - fn clone(&self) -> Self { - CowStrDeserializer { - value: self.value.clone(), - marker: PhantomData, - } - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'de, 'a, E> IntoDeserializer<'de, E> for Cow<'a, str> -where - E: de::Error, -{ - type Deserializer = CowStrDeserializer<'a, E>; - - fn into_deserializer(self) -> CowStrDeserializer<'a, E> { - CowStrDeserializer { - value: self, - marker: PhantomData, - } - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'de, 'a, E> de::Deserializer<'de> for CowStrDeserializer<'a, E> -where - E: de::Error, -{ - type Error = E; - - fn deserialize_any(self, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - match self.value { - Cow::Borrowed(string) => visitor.visit_str(string), - Cow::Owned(string) => visitor.visit_string(string), - } - } - - fn deserialize_enum( - self, - name: &str, - variants: &'static [&'static str], - visitor: V, - ) -> Result - where - V: de::Visitor<'de>, - { - let _ = name; - let _ = variants; - visitor.visit_enum(self) - } - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string - bytes byte_buf option unit unit_struct newtype_struct seq tuple - tuple_struct map struct identifier ignored_any - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'de, 'a, E> de::EnumAccess<'de> for CowStrDeserializer<'a, E> -where - E: de::Error, -{ - type Error = E; - type Variant = private::UnitOnly; - - fn variant_seed(self, seed: T) -> Result<(T::Value, Self::Variant), Self::Error> - where - T: de::DeserializeSeed<'de>, - { - seed.deserialize(self).map(private::unit_only) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -/// A deserializer holding a `&[u8]` with a lifetime tied to another -/// deserializer. -#[derive(Debug)] -pub struct BorrowedBytesDeserializer<'de, E> { - value: &'de [u8], - marker: PhantomData, -} - -impl_copy_clone!(BorrowedBytesDeserializer<'de>); - -impl<'de, E> BorrowedBytesDeserializer<'de, E> { - /// Create a new borrowed deserializer from the given byte slice. - pub fn new(value: &'de [u8]) -> BorrowedBytesDeserializer<'de, E> { - BorrowedBytesDeserializer { - value: value, - marker: PhantomData, - } - } -} - -impl<'de, E> de::Deserializer<'de> for BorrowedBytesDeserializer<'de, E> -where - E: de::Error, -{ - type Error = E; - - fn deserialize_any(self, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - visitor.visit_borrowed_bytes(self.value) - } - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string - bytes byte_buf option unit unit_struct newtype_struct seq tuple - tuple_struct map struct identifier ignored_any enum - } -} - -//////////////////////////////////////////////////////////////////////////////// - -/// A deserializer that iterates over a sequence. -#[derive(Clone, Debug)] -pub struct SeqDeserializer { - iter: iter::Fuse, - count: usize, - marker: PhantomData, -} - -impl SeqDeserializer -where - I: Iterator, -{ - /// Construct a new `SeqDeserializer`. - pub fn new(iter: I) -> Self { - SeqDeserializer { - iter: iter.fuse(), - count: 0, - marker: PhantomData, - } - } -} - -impl SeqDeserializer -where - I: Iterator, - E: de::Error, -{ - /// Check for remaining elements after passing a `SeqDeserializer` to - /// `Visitor::visit_seq`. - pub fn end(self) -> Result<(), E> { - let remaining = self.iter.count(); - if remaining == 0 { - Ok(()) - } else { - // First argument is the number of elements in the data, second - // argument is the number of elements expected by the Deserialize. - Err(de::Error::invalid_length( - self.count + remaining, - &ExpectedInSeq(self.count), - )) - } - } -} - -impl<'de, I, T, E> de::Deserializer<'de> for SeqDeserializer -where - I: Iterator, - T: IntoDeserializer<'de, E>, - E: de::Error, -{ - type Error = E; - - fn deserialize_any(mut self, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - let v = try!(visitor.visit_seq(&mut self)); - try!(self.end()); - Ok(v) - } - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string - bytes byte_buf option unit unit_struct newtype_struct seq tuple - tuple_struct map struct enum identifier ignored_any - } -} - -impl<'de, I, T, E> de::SeqAccess<'de> for SeqDeserializer -where - I: Iterator, - T: IntoDeserializer<'de, E>, - E: de::Error, -{ - type Error = E; - - fn next_element_seed(&mut self, seed: V) -> Result, Self::Error> - where - V: de::DeserializeSeed<'de>, - { - match self.iter.next() { - Some(value) => { - self.count += 1; - seed.deserialize(value.into_deserializer()).map(Some) - } - None => Ok(None), - } - } - - fn size_hint(&self) -> Option { - size_hint::from_bounds(&self.iter) - } -} - -struct ExpectedInSeq(usize); - -impl Expected for ExpectedInSeq { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - if self.0 == 1 { - write!(formatter, "1 element in sequence") - } else { - write!(formatter, "{} elements in sequence", self.0) - } - } -} - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'de, T, E> IntoDeserializer<'de, E> for Vec -where - T: IntoDeserializer<'de, E>, - E: de::Error, -{ - type Deserializer = SeqDeserializer<::IntoIter, E>; - - fn into_deserializer(self) -> Self::Deserializer { - SeqDeserializer::new(self.into_iter()) - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'de, T, E> IntoDeserializer<'de, E> for BTreeSet -where - T: IntoDeserializer<'de, E> + Eq + Ord, - E: de::Error, -{ - type Deserializer = SeqDeserializer<::IntoIter, E>; - - fn into_deserializer(self) -> Self::Deserializer { - SeqDeserializer::new(self.into_iter()) - } -} - -#[cfg(feature = "std")] -impl<'de, T, S, E> IntoDeserializer<'de, E> for HashSet -where - T: IntoDeserializer<'de, E> + Eq + Hash, - S: BuildHasher, - E: de::Error, -{ - type Deserializer = SeqDeserializer<::IntoIter, E>; - - fn into_deserializer(self) -> Self::Deserializer { - SeqDeserializer::new(self.into_iter()) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -/// A deserializer holding a `SeqAccess`. -#[derive(Clone, Debug)] -pub struct SeqAccessDeserializer { - seq: A, -} - -impl SeqAccessDeserializer { - /// Construct a new `SeqAccessDeserializer`. - pub fn new(seq: A) -> Self { - SeqAccessDeserializer { seq: seq } - } -} - -impl<'de, A> de::Deserializer<'de> for SeqAccessDeserializer -where - A: de::SeqAccess<'de>, -{ - type Error = A::Error; - - fn deserialize_any(self, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - visitor.visit_seq(self.seq) - } - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string - bytes byte_buf option unit unit_struct newtype_struct seq tuple - tuple_struct map struct enum identifier ignored_any - } -} - -//////////////////////////////////////////////////////////////////////////////// - -/// A deserializer that iterates over a map. -pub struct MapDeserializer<'de, I, E> -where - I: Iterator, - I::Item: private::Pair, -{ - iter: iter::Fuse, - value: Option>, - count: usize, - lifetime: PhantomData<&'de ()>, - error: PhantomData, -} - -impl<'de, I, E> MapDeserializer<'de, I, E> -where - I: Iterator, - I::Item: private::Pair, -{ - /// Construct a new `MapDeserializer`. - pub fn new(iter: I) -> Self { - MapDeserializer { - iter: iter.fuse(), - value: None, - count: 0, - lifetime: PhantomData, - error: PhantomData, - } - } -} - -impl<'de, I, E> MapDeserializer<'de, I, E> -where - I: Iterator, - I::Item: private::Pair, - E: de::Error, -{ - /// Check for remaining elements after passing a `MapDeserializer` to - /// `Visitor::visit_map`. - pub fn end(self) -> Result<(), E> { - let remaining = self.iter.count(); - if remaining == 0 { - Ok(()) - } else { - // First argument is the number of elements in the data, second - // argument is the number of elements expected by the Deserialize. - Err(de::Error::invalid_length( - self.count + remaining, - &ExpectedInMap(self.count), - )) - } - } -} - -impl<'de, I, E> MapDeserializer<'de, I, E> -where - I: Iterator, - I::Item: private::Pair, -{ - fn next_pair(&mut self) -> Option<(First, Second)> { - match self.iter.next() { - Some(kv) => { - self.count += 1; - Some(private::Pair::split(kv)) - } - None => None, - } - } -} - -impl<'de, I, E> de::Deserializer<'de> for MapDeserializer<'de, I, E> -where - I: Iterator, - I::Item: private::Pair, - First: IntoDeserializer<'de, E>, - Second: IntoDeserializer<'de, E>, - E: de::Error, -{ - type Error = E; - - fn deserialize_any(mut self, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - let value = try!(visitor.visit_map(&mut self)); - try!(self.end()); - Ok(value) - } - - fn deserialize_seq(mut self, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - let value = try!(visitor.visit_seq(&mut self)); - try!(self.end()); - Ok(value) - } - - fn deserialize_tuple(self, len: usize, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - let _ = len; - self.deserialize_seq(visitor) - } - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string - bytes byte_buf option unit unit_struct newtype_struct tuple_struct map - struct enum identifier ignored_any - } -} - -impl<'de, I, E> de::MapAccess<'de> for MapDeserializer<'de, I, E> -where - I: Iterator, - I::Item: private::Pair, - First: IntoDeserializer<'de, E>, - Second: IntoDeserializer<'de, E>, - E: de::Error, -{ - type Error = E; - - fn next_key_seed(&mut self, seed: T) -> Result, Self::Error> - where - T: de::DeserializeSeed<'de>, - { - match self.next_pair() { - Some((key, value)) => { - self.value = Some(value); - seed.deserialize(key.into_deserializer()).map(Some) - } - None => Ok(None), - } - } - - fn next_value_seed(&mut self, seed: T) -> Result - where - T: de::DeserializeSeed<'de>, - { - let value = self.value.take(); - // Panic because this indicates a bug in the program rather than an - // expected failure. - let value = value.expect("MapAccess::visit_value called before visit_key"); - seed.deserialize(value.into_deserializer()) - } - - fn next_entry_seed( - &mut self, - kseed: TK, - vseed: TV, - ) -> Result, Self::Error> - where - TK: de::DeserializeSeed<'de>, - TV: de::DeserializeSeed<'de>, - { - match self.next_pair() { - Some((key, value)) => { - let key = try!(kseed.deserialize(key.into_deserializer())); - let value = try!(vseed.deserialize(value.into_deserializer())); - Ok(Some((key, value))) - } - None => Ok(None), - } - } - - fn size_hint(&self) -> Option { - size_hint::from_bounds(&self.iter) - } -} - -impl<'de, I, E> de::SeqAccess<'de> for MapDeserializer<'de, I, E> -where - I: Iterator, - I::Item: private::Pair, - First: IntoDeserializer<'de, E>, - Second: IntoDeserializer<'de, E>, - E: de::Error, -{ - type Error = E; - - fn next_element_seed(&mut self, seed: T) -> Result, Self::Error> - where - T: de::DeserializeSeed<'de>, - { - match self.next_pair() { - Some((k, v)) => { - let de = PairDeserializer(k, v, PhantomData); - seed.deserialize(de).map(Some) - } - None => Ok(None), - } - } - - fn size_hint(&self) -> Option { - size_hint::from_bounds(&self.iter) - } -} - -// Cannot #[derive(Clone)] because of the bound `Second: Clone`. -impl<'de, I, E> Clone for MapDeserializer<'de, I, E> -where - I: Iterator + Clone, - I::Item: private::Pair, - Second: Clone, -{ - fn clone(&self) -> Self { - MapDeserializer { - iter: self.iter.clone(), - value: self.value.clone(), - count: self.count, - lifetime: self.lifetime, - error: self.error, - } - } -} - -// Cannot #[derive(Debug)] because of the bound `Second: Debug`. -impl<'de, I, E> Debug for MapDeserializer<'de, I, E> -where - I: Iterator + Debug, - I::Item: private::Pair, - Second: Debug, -{ - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter - .debug_struct("MapDeserializer") - .field("iter", &self.iter) - .field("value", &self.value) - .field("count", &self.count) - .field("lifetime", &self.lifetime) - .field("error", &self.error) - .finish() - } -} - -// Used in the `impl SeqAccess for MapDeserializer` to visit the map as a -// sequence of pairs. -struct PairDeserializer(A, B, PhantomData); - -impl<'de, A, B, E> de::Deserializer<'de> for PairDeserializer -where - A: IntoDeserializer<'de, E>, - B: IntoDeserializer<'de, E>, - E: de::Error, -{ - type Error = E; - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string - bytes byte_buf option unit unit_struct newtype_struct tuple_struct map - struct enum identifier ignored_any - } - - fn deserialize_any(self, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - self.deserialize_seq(visitor) - } - - fn deserialize_seq(self, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - let mut pair_visitor = PairVisitor(Some(self.0), Some(self.1), PhantomData); - let pair = try!(visitor.visit_seq(&mut pair_visitor)); - if pair_visitor.1.is_none() { - Ok(pair) - } else { - let remaining = pair_visitor.size_hint().unwrap(); - // First argument is the number of elements in the data, second - // argument is the number of elements expected by the Deserialize. - Err(de::Error::invalid_length(2, &ExpectedInSeq(2 - remaining))) - } - } - - fn deserialize_tuple(self, len: usize, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - if len == 2 { - self.deserialize_seq(visitor) - } else { - // First argument is the number of elements in the data, second - // argument is the number of elements expected by the Deserialize. - Err(de::Error::invalid_length(2, &ExpectedInSeq(len))) - } - } -} - -struct PairVisitor(Option, Option, PhantomData); - -impl<'de, A, B, E> de::SeqAccess<'de> for PairVisitor -where - A: IntoDeserializer<'de, E>, - B: IntoDeserializer<'de, E>, - E: de::Error, -{ - type Error = E; - - fn next_element_seed(&mut self, seed: T) -> Result, Self::Error> - where - T: de::DeserializeSeed<'de>, - { - if let Some(k) = self.0.take() { - seed.deserialize(k.into_deserializer()).map(Some) - } else if let Some(v) = self.1.take() { - seed.deserialize(v.into_deserializer()).map(Some) - } else { - Ok(None) - } - } - - fn size_hint(&self) -> Option { - if self.0.is_some() { - Some(2) - } else if self.1.is_some() { - Some(1) - } else { - Some(0) - } - } -} - -struct ExpectedInMap(usize); - -impl Expected for ExpectedInMap { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - if self.0 == 1 { - write!(formatter, "1 element in map") - } else { - write!(formatter, "{} elements in map", self.0) - } - } -} - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'de, K, V, E> IntoDeserializer<'de, E> for BTreeMap -where - K: IntoDeserializer<'de, E> + Eq + Ord, - V: IntoDeserializer<'de, E>, - E: de::Error, -{ - type Deserializer = MapDeserializer<'de, ::IntoIter, E>; - - fn into_deserializer(self) -> Self::Deserializer { - MapDeserializer::new(self.into_iter()) - } -} - -#[cfg(feature = "std")] -impl<'de, K, V, S, E> IntoDeserializer<'de, E> for HashMap -where - K: IntoDeserializer<'de, E> + Eq + Hash, - V: IntoDeserializer<'de, E>, - S: BuildHasher, - E: de::Error, -{ - type Deserializer = MapDeserializer<'de, ::IntoIter, E>; - - fn into_deserializer(self) -> Self::Deserializer { - MapDeserializer::new(self.into_iter()) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -/// A deserializer holding a `MapAccess`. -#[derive(Clone, Debug)] -pub struct MapAccessDeserializer { - map: A, -} - -impl MapAccessDeserializer { - /// Construct a new `MapAccessDeserializer`. - pub fn new(map: A) -> Self { - MapAccessDeserializer { map: map } - } -} - -impl<'de, A> de::Deserializer<'de> for MapAccessDeserializer -where - A: de::MapAccess<'de>, -{ - type Error = A::Error; - - fn deserialize_any(self, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - visitor.visit_map(self.map) - } - - fn deserialize_enum( - self, - _name: &str, - _variants: &'static [&'static str], - visitor: V, - ) -> Result - where - V: de::Visitor<'de>, - { - visitor.visit_enum(self) - } - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string - bytes byte_buf option unit unit_struct newtype_struct seq tuple - tuple_struct map struct identifier ignored_any - } -} - -impl<'de, A> de::EnumAccess<'de> for MapAccessDeserializer -where - A: de::MapAccess<'de>, -{ - type Error = A::Error; - type Variant = private::MapAsEnum; - - fn variant_seed(mut self, seed: T) -> Result<(T::Value, Self::Variant), Self::Error> - where - T: de::DeserializeSeed<'de>, - { - match self.map.next_key_seed(seed)? { - Some(key) => Ok((key, private::map_as_enum(self.map))), - None => Err(de::Error::invalid_type(de::Unexpected::Map, &"enum")), - } - } -} - -//////////////////////////////////////////////////////////////////////////////// - -mod private { - use lib::*; - - use de::{self, DeserializeSeed, Deserializer, MapAccess, Unexpected, VariantAccess, Visitor}; - - #[derive(Clone, Debug)] - pub struct UnitOnly { - marker: PhantomData, - } - - pub fn unit_only(t: T) -> (T, UnitOnly) { - ( - t, - UnitOnly { - marker: PhantomData, - }, - ) - } - - impl<'de, E> de::VariantAccess<'de> for UnitOnly - where - E: de::Error, - { - type Error = E; - - fn unit_variant(self) -> Result<(), Self::Error> { - Ok(()) - } - - fn newtype_variant_seed(self, _seed: T) -> Result - where - T: de::DeserializeSeed<'de>, - { - Err(de::Error::invalid_type( - Unexpected::UnitVariant, - &"newtype variant", - )) - } - - fn tuple_variant(self, _len: usize, _visitor: V) -> Result - where - V: de::Visitor<'de>, - { - Err(de::Error::invalid_type( - Unexpected::UnitVariant, - &"tuple variant", - )) - } - - fn struct_variant( - self, - _fields: &'static [&'static str], - _visitor: V, - ) -> Result - where - V: de::Visitor<'de>, - { - Err(de::Error::invalid_type( - Unexpected::UnitVariant, - &"struct variant", - )) - } - } - - #[derive(Clone, Debug)] - pub struct MapAsEnum { - map: A, - } - - pub fn map_as_enum(map: A) -> MapAsEnum { - MapAsEnum { map: map } - } - - impl<'de, A> VariantAccess<'de> for MapAsEnum - where - A: MapAccess<'de>, - { - type Error = A::Error; - - fn unit_variant(mut self) -> Result<(), Self::Error> { - self.map.next_value() - } - - fn newtype_variant_seed(mut self, seed: T) -> Result - where - T: DeserializeSeed<'de>, - { - self.map.next_value_seed(seed) - } - - fn tuple_variant(mut self, len: usize, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.map.next_value_seed(SeedTupleVariant { - len: len, - visitor: visitor, - }) - } - - fn struct_variant( - mut self, - _fields: &'static [&'static str], - visitor: V, - ) -> Result - where - V: Visitor<'de>, - { - self.map - .next_value_seed(SeedStructVariant { visitor: visitor }) - } - } - - struct SeedTupleVariant { - len: usize, - visitor: V, - } - - impl<'de, V> DeserializeSeed<'de> for SeedTupleVariant - where - V: Visitor<'de>, - { - type Value = V::Value; - - fn deserialize(self, deserializer: D) -> Result - where - D: Deserializer<'de>, - { - deserializer.deserialize_tuple(self.len, self.visitor) - } - } - - struct SeedStructVariant { - visitor: V, - } - - impl<'de, V> DeserializeSeed<'de> for SeedStructVariant - where - V: Visitor<'de>, - { - type Value = V::Value; - - fn deserialize(self, deserializer: D) -> Result - where - D: Deserializer<'de>, - { - deserializer.deserialize_map(self.visitor) - } - } - - /// Avoid having to restate the generic types on `MapDeserializer`. The - /// `Iterator::Item` contains enough information to figure out K and V. - pub trait Pair { - type First; - type Second; - fn split(self) -> (Self::First, Self::Second); - } - - impl Pair for (A, B) { - type First = A; - type Second = B; - fn split(self) -> (A, B) { - self - } - } - - pub type First = ::First; - pub type Second = ::Second; -} diff --git a/vendor/registry-40351f815f426200/serde/src/export.rs b/vendor/registry-40351f815f426200/serde/src/export.rs deleted file mode 100644 index 80dcb7f5a..000000000 --- a/vendor/registry-40351f815f426200/serde/src/export.rs +++ /dev/null @@ -1,36 +0,0 @@ -pub use lib::clone::Clone; -pub use lib::convert::{From, Into}; -pub use lib::default::Default; -pub use lib::fmt::{self, Formatter}; -pub use lib::marker::PhantomData; -pub use lib::option::Option::{self, None, Some}; -pub use lib::result::Result::{self, Err, Ok}; - -pub use self::string::from_utf8_lossy; - -#[cfg(any(feature = "alloc", feature = "std"))] -pub use lib::{ToString, Vec}; - -mod string { - use lib::*; - - #[cfg(any(feature = "std", feature = "alloc"))] - pub fn from_utf8_lossy(bytes: &[u8]) -> Cow { - String::from_utf8_lossy(bytes) - } - - // The generated code calls this like: - // - // let value = &_serde::export::from_utf8_lossy(bytes); - // Err(_serde::de::Error::unknown_variant(value, VARIANTS)) - // - // so it is okay for the return type to be different from the std case as long - // as the above works. - #[cfg(not(any(feature = "std", feature = "alloc")))] - pub fn from_utf8_lossy(bytes: &[u8]) -> &str { - // Three unicode replacement characters if it fails. They look like a - // white-on-black question mark. The user will recognize it as invalid - // UTF-8. - str::from_utf8(bytes).unwrap_or("\u{fffd}\u{fffd}\u{fffd}") - } -} diff --git a/vendor/registry-40351f815f426200/serde/src/integer128.rs b/vendor/registry-40351f815f426200/serde/src/integer128.rs deleted file mode 100644 index 7a24e50ad..000000000 --- a/vendor/registry-40351f815f426200/serde/src/integer128.rs +++ /dev/null @@ -1,82 +0,0 @@ -/// Conditional compilation depending on whether Serde is built with support for -/// 128-bit integers. -/// -/// Data formats that wish to support Rust compiler versions older than 1.26 may -/// place the i128 / u128 methods of their Serializer and Deserializer behind -/// this macro. -/// -/// Data formats that require a minimum Rust compiler version of at least 1.26 -/// do not need to bother with this macro and may assume support for 128-bit -/// integers. -/// -/// ```edition2018 -/// # use serde::private::ser::Error; -/// # -/// # struct MySerializer; -/// # -/// use serde::{serde_if_integer128, Serializer}; -/// -/// impl Serializer for MySerializer { -/// type Ok = (); -/// type Error = Error; -/// -/// fn serialize_i64(self, v: i64) -> Result { -/// /* ... */ -/// # unimplemented!() -/// } -/// -/// /* ... */ -/// -/// serde_if_integer128! { -/// fn serialize_i128(self, v: i128) -> Result { -/// /* ... */ -/// # unimplemented!() -/// } -/// -/// fn serialize_u128(self, v: u128) -> Result { -/// /* ... */ -/// # unimplemented!() -/// } -/// } -/// # -/// # serde::__serialize_unimplemented! { -/// # bool i8 i16 i32 u8 u16 u32 u64 f32 f64 char str bytes none some -/// # unit unit_struct unit_variant newtype_struct newtype_variant seq -/// # tuple tuple_struct tuple_variant map struct struct_variant -/// # } -/// } -/// ``` -/// -/// When Serde is built with support for 128-bit integers, this macro expands -/// transparently into just the input tokens. -/// -/// ```edition2018 -/// macro_rules! serde_if_integer128 { -/// ($($tt:tt)*) => { -/// $($tt)* -/// }; -/// } -/// ``` -/// -/// When built without support for 128-bit integers, this macro expands to -/// nothing. -/// -/// ```edition2018 -/// macro_rules! serde_if_integer128 { -/// ($($tt:tt)*) => {}; -/// } -/// ``` -#[cfg(integer128)] -#[macro_export] -macro_rules! serde_if_integer128 { - ($($tt:tt)*) => { - $($tt)* - }; -} - -#[cfg(not(integer128))] -#[macro_export] -#[doc(hidden)] -macro_rules! serde_if_integer128 { - ($($tt:tt)*) => {}; -} diff --git a/vendor/registry-40351f815f426200/serde/src/lib.rs b/vendor/registry-40351f815f426200/serde/src/lib.rs deleted file mode 100644 index 4133c1436..000000000 --- a/vendor/registry-40351f815f426200/serde/src/lib.rs +++ /dev/null @@ -1,255 +0,0 @@ -//! # Serde -//! -//! Serde is a framework for ***ser***ializing and ***de***serializing Rust data -//! structures efficiently and generically. -//! -//! The Serde ecosystem consists of data structures that know how to serialize -//! and deserialize themselves along with data formats that know how to -//! serialize and deserialize other things. Serde provides the layer by which -//! these two groups interact with each other, allowing any supported data -//! structure to be serialized and deserialized using any supported data format. -//! -//! See the Serde website [https://serde.rs/] for additional documentation and -//! usage examples. -//! -//! [https://serde.rs/]: https://serde.rs/ -//! -//! ## Design -//! -//! Where many other languages rely on runtime reflection for serializing data, -//! Serde is instead built on Rust's powerful trait system. A data structure -//! that knows how to serialize and deserialize itself is one that implements -//! Serde's `Serialize` and `Deserialize` traits (or uses Serde's derive -//! attribute to automatically generate implementations at compile time). This -//! avoids any overhead of reflection or runtime type information. In fact in -//! many situations the interaction between data structure and data format can -//! be completely optimized away by the Rust compiler, leaving Serde -//! serialization to perform the same speed as a handwritten serializer for the -//! specific selection of data structure and data format. -//! -//! ## Data formats -//! -//! The following is a partial list of data formats that have been implemented -//! for Serde by the community. -//! -//! - [JSON], the ubiquitous JavaScript Object Notation used by many HTTP APIs. -//! - [Bincode], a compact binary format -//! used for IPC within the Servo rendering engine. -//! - [CBOR], a Concise Binary Object Representation designed for small message -//! size without the need for version negotiation. -//! - [YAML], a popular human-friendly configuration language that ain't markup -//! language. -//! - [MessagePack], an efficient binary format that resembles a compact JSON. -//! - [TOML], a minimal configuration format used by [Cargo]. -//! - [Pickle], a format common in the Python world. -//! - [RON], a Rusty Object Notation. -//! - [BSON], the data storage and network transfer format used by MongoDB. -//! - [Avro], a binary format used within Apache Hadoop, with support for schema -//! definition. -//! - [JSON5], A superset of JSON including some productions from ES5. -//! - [URL], the x-www-form-urlencoded format. -//! - [Envy], a way to deserialize environment variables into Rust structs. -//! *(deserialization only)* -//! - [Envy Store], a way to deserialize [AWS Parameter Store] parameters into -//! Rust structs. *(deserialization only)* -//! -//! [JSON]: https://github.com/serde-rs/json -//! [Bincode]: https://github.com/TyOverby/bincode -//! [CBOR]: https://github.com/pyfisch/cbor -//! [YAML]: https://github.com/dtolnay/serde-yaml -//! [MessagePack]: https://github.com/3Hren/msgpack-rust -//! [TOML]: https://github.com/alexcrichton/toml-rs -//! [Pickle]: https://github.com/birkenfeld/serde-pickle -//! [RON]: https://github.com/ron-rs/ron -//! [BSON]: https://github.com/zonyitoo/bson-rs -//! [Avro]: https://github.com/flavray/avro-rs -//! [JSON5]: https://github.com/callum-oakley/json5-rs -//! [URL]: https://github.com/nox/serde_urlencoded -//! [Envy]: https://github.com/softprops/envy -//! [Envy Store]: https://github.com/softprops/envy-store -//! [Cargo]: http://doc.crates.io/manifest.html -//! [AWS Parameter Store]: https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-paramstore.html - -//////////////////////////////////////////////////////////////////////////////// - -// Serde types in rustdoc of other crates get linked to here. -#![doc(html_root_url = "https://docs.rs/serde/1.0.92")] -// Support using Serde without the standard library! -#![cfg_attr(not(feature = "std"), no_std)] -// Unstable functionality only if the user asks for it. For tracking and -// discussion of these features please refer to this issue: -// -// https://github.com/serde-rs/serde/issues/812 -#![cfg_attr(feature = "unstable", feature(specialization, never_type))] -#![cfg_attr(feature = "alloc", feature(alloc))] -#![allow(unknown_lints, bare_trait_objects)] -#![cfg_attr(feature = "cargo-clippy", allow(renamed_and_removed_lints))] -#![cfg_attr(feature = "cargo-clippy", deny(clippy, clippy_pedantic))] -// Ignored clippy and clippy_pedantic lints -#![cfg_attr( - feature = "cargo-clippy", - allow( - // not available in our oldest supported compiler - const_static_lifetime, - empty_enum, - redundant_field_names, - // integer and float ser/de requires these sorts of casts - cast_possible_truncation, - cast_possible_wrap, - cast_precision_loss, - cast_sign_loss, - // things are often more readable this way - cast_lossless, - module_name_repetitions, - single_match_else, - type_complexity, - use_self, - zero_prefixed_literal, - // not practical - needless_pass_by_value, - similar_names, - // preference - doc_markdown, - ) -)] -// Rustc lints. -#![deny(missing_docs, unused_imports)] - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(feature = "alloc")] -extern crate alloc; - -/// A facade around all the types we need from the `std`, `core`, and `alloc` -/// crates. This avoids elaborate import wrangling having to happen in every -/// module. -mod lib { - mod core { - #[cfg(not(feature = "std"))] - pub use core::*; - #[cfg(feature = "std")] - pub use std::*; - } - - pub use self::core::{cmp, iter, mem, num, slice, str}; - pub use self::core::{f32, f64}; - pub use self::core::{i16, i32, i64, i8, isize}; - pub use self::core::{u16, u32, u64, u8, usize}; - - pub use self::core::cell::{Cell, RefCell}; - pub use self::core::clone::{self, Clone}; - pub use self::core::convert::{self, From, Into}; - pub use self::core::default::{self, Default}; - pub use self::core::fmt::{self, Debug, Display}; - pub use self::core::marker::{self, PhantomData}; - pub use self::core::ops::Range; - pub use self::core::option::{self, Option}; - pub use self::core::result::{self, Result}; - - #[cfg(all(feature = "alloc", not(feature = "std")))] - pub use alloc::borrow::{Cow, ToOwned}; - #[cfg(feature = "std")] - pub use std::borrow::{Cow, ToOwned}; - - #[cfg(all(feature = "alloc", not(feature = "std")))] - pub use alloc::string::{String, ToString}; - #[cfg(feature = "std")] - pub use std::string::{String, ToString}; - - #[cfg(all(feature = "alloc", not(feature = "std")))] - pub use alloc::vec::Vec; - #[cfg(feature = "std")] - pub use std::vec::Vec; - - #[cfg(all(feature = "alloc", not(feature = "std")))] - pub use alloc::boxed::Box; - #[cfg(feature = "std")] - pub use std::boxed::Box; - - #[cfg(all(feature = "rc", feature = "alloc", not(feature = "std")))] - pub use alloc::rc::{Rc, Weak as RcWeak}; - #[cfg(all(feature = "rc", feature = "std"))] - pub use std::rc::{Rc, Weak as RcWeak}; - - #[cfg(all(feature = "rc", feature = "alloc", not(feature = "std")))] - pub use alloc::sync::{Arc, Weak as ArcWeak}; - #[cfg(all(feature = "rc", feature = "std"))] - pub use std::sync::{Arc, Weak as ArcWeak}; - - #[cfg(all(feature = "alloc", not(feature = "std")))] - pub use alloc::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; - #[cfg(feature = "std")] - pub use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; - - #[cfg(feature = "std")] - pub use std::{error, net}; - - #[cfg(feature = "std")] - pub use std::collections::{HashMap, HashSet}; - #[cfg(feature = "std")] - pub use std::ffi::{CStr, CString, OsStr, OsString}; - #[cfg(feature = "std")] - pub use std::hash::{BuildHasher, Hash}; - #[cfg(feature = "std")] - pub use std::io::Write; - #[cfg(feature = "std")] - pub use std::num::Wrapping; - #[cfg(feature = "std")] - pub use std::path::{Path, PathBuf}; - #[cfg(feature = "std")] - pub use std::sync::{Mutex, RwLock}; - #[cfg(feature = "std")] - pub use std::time::{SystemTime, UNIX_EPOCH}; - - #[cfg(all(feature = "std", collections_bound))] - pub use std::collections::Bound; - - #[cfg(core_reverse)] - pub use self::core::cmp::Reverse; - - #[cfg(ops_bound)] - pub use self::core::ops::Bound; - - #[cfg(range_inclusive)] - pub use self::core::ops::RangeInclusive; - - #[cfg(any(core_duration, feature = "std"))] - pub use self::core::time::Duration; -} - -//////////////////////////////////////////////////////////////////////////////// - -#[macro_use] -mod macros; - -#[macro_use] -mod integer128; - -pub mod de; -pub mod ser; - -#[doc(inline)] -pub use de::{Deserialize, Deserializer}; -#[doc(inline)] -pub use ser::{Serialize, Serializer}; - -// Generated code uses these to support no_std. Not public API. -#[doc(hidden)] -pub mod export; - -// Helpers used by generated code and doc tests. Not public API. -#[doc(hidden)] -pub mod private; - -// Re-export #[derive(Serialize, Deserialize)]. -// -// The reason re-exporting is not enabled by default is that disabling it would -// be annoying for crates that provide handwritten impls or data formats. They -// would need to disable default features and then explicitly re-enable std. -#[cfg(feature = "serde_derive")] -#[allow(unused_imports)] -#[macro_use] -extern crate serde_derive; -#[cfg(feature = "serde_derive")] -#[doc(hidden)] -pub use serde_derive::*; diff --git a/vendor/registry-40351f815f426200/serde/src/macros.rs b/vendor/registry-40351f815f426200/serde/src/macros.rs deleted file mode 100644 index 57600a535..000000000 --- a/vendor/registry-40351f815f426200/serde/src/macros.rs +++ /dev/null @@ -1,236 +0,0 @@ -// Super explicit first paragraph because this shows up at the top level and -// trips up people who are just looking for basic Serialize / Deserialize -// documentation. -// -/// Helper macro when implementing the `Deserializer` part of a new data format -/// for Serde. -/// -/// Some [`Deserializer`] implementations for self-describing formats do not -/// care what hint the [`Visitor`] gives them, they just want to blindly call -/// the [`Visitor`] method corresponding to the data they can tell is in the -/// input. This requires repetitive implementations of all the [`Deserializer`] -/// trait methods. -/// -/// ```edition2018 -/// # use serde::forward_to_deserialize_any; -/// # use serde::de::{value, Deserializer, Visitor}; -/// # -/// # struct MyDeserializer; -/// # -/// # impl<'de> Deserializer<'de> for MyDeserializer { -/// # type Error = value::Error; -/// # -/// # fn deserialize_any(self, _: V) -> Result -/// # where -/// # V: Visitor<'de>, -/// # { -/// # unimplemented!() -/// # } -/// # -/// #[inline] -/// fn deserialize_bool(self, visitor: V) -> Result -/// where -/// V: Visitor<'de>, -/// { -/// self.deserialize_any(visitor) -/// } -/// # -/// # forward_to_deserialize_any! { -/// # i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string -/// # bytes byte_buf option unit unit_struct newtype_struct seq tuple -/// # tuple_struct map struct enum identifier ignored_any -/// # } -/// # } -/// ``` -/// -/// The `forward_to_deserialize_any!` macro implements these simple forwarding -/// methods so that they forward directly to [`Deserializer::deserialize_any`]. -/// You can choose which methods to forward. -/// -/// ```edition2018 -/// # use serde::forward_to_deserialize_any; -/// # use serde::de::{value, Deserializer, Visitor}; -/// # -/// # struct MyDeserializer; -/// # -/// impl<'de> Deserializer<'de> for MyDeserializer { -/// # type Error = value::Error; -/// # -/// fn deserialize_any(self, visitor: V) -> Result -/// where -/// V: Visitor<'de>, -/// { -/// /* ... */ -/// # let _ = visitor; -/// # unimplemented!() -/// } -/// -/// forward_to_deserialize_any! { -/// bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string -/// bytes byte_buf option unit unit_struct newtype_struct seq tuple -/// tuple_struct map struct enum identifier ignored_any -/// } -/// } -/// ``` -/// -/// The macro assumes the convention that your `Deserializer` lifetime parameter -/// is called `'de` and that the `Visitor` type parameters on each method are -/// called `V`. A different type parameter and a different lifetime can be -/// specified explicitly if necessary. -/// -/// ```edition2018 -/// # use std::marker::PhantomData; -/// # -/// # use serde::forward_to_deserialize_any; -/// # use serde::de::{value, Deserializer, Visitor}; -/// # -/// # struct MyDeserializer(PhantomData); -/// # -/// # impl<'q, V> Deserializer<'q> for MyDeserializer { -/// # type Error = value::Error; -/// # -/// # fn deserialize_any(self, visitor: W) -> Result -/// # where -/// # W: Visitor<'q>, -/// # { -/// # unimplemented!() -/// # } -/// # -/// forward_to_deserialize_any! { -/// > -/// bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string -/// bytes byte_buf option unit unit_struct newtype_struct seq tuple -/// tuple_struct map struct enum identifier ignored_any -/// } -/// # } -/// ``` -/// -/// [`Deserializer`]: trait.Deserializer.html -/// [`Visitor`]: de/trait.Visitor.html -/// [`Deserializer::deserialize_any`]: trait.Deserializer.html#tymethod.deserialize_any -#[macro_export(local_inner_macros)] -macro_rules! forward_to_deserialize_any { - (<$visitor:ident: Visitor<$lifetime:tt>> $($func:ident)*) => { - $(forward_to_deserialize_any_helper!{$func<$lifetime, $visitor>})* - }; - // This case must be after the previous one. - ($($func:ident)*) => { - $(forward_to_deserialize_any_helper!{$func<'de, V>})* - }; -} - -#[doc(hidden)] -#[macro_export] -macro_rules! forward_to_deserialize_any_method { - ($func:ident<$l:tt, $v:ident>($($arg:ident : $ty:ty),*)) => { - #[inline] - fn $func<$v>(self, $($arg: $ty,)* visitor: $v) -> $crate::export::Result<$v::Value, Self::Error> - where - $v: $crate::de::Visitor<$l>, - { - $( - let _ = $arg; - )* - self.deserialize_any(visitor) - } - }; -} - -#[doc(hidden)] -#[macro_export(local_inner_macros)] -macro_rules! forward_to_deserialize_any_helper { - (bool<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_bool<$l, $v>()} - }; - (i8<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_i8<$l, $v>()} - }; - (i16<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_i16<$l, $v>()} - }; - (i32<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_i32<$l, $v>()} - }; - (i64<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_i64<$l, $v>()} - }; - (i128<$l:tt, $v:ident>) => { - serde_if_integer128! { - forward_to_deserialize_any_method!{deserialize_i128<$l, $v>()} - } - }; - (u8<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_u8<$l, $v>()} - }; - (u16<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_u16<$l, $v>()} - }; - (u32<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_u32<$l, $v>()} - }; - (u64<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_u64<$l, $v>()} - }; - (u128<$l:tt, $v:ident>) => { - serde_if_integer128! { - forward_to_deserialize_any_method!{deserialize_u128<$l, $v>()} - } - }; - (f32<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_f32<$l, $v>()} - }; - (f64<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_f64<$l, $v>()} - }; - (char<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_char<$l, $v>()} - }; - (str<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_str<$l, $v>()} - }; - (string<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_string<$l, $v>()} - }; - (bytes<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_bytes<$l, $v>()} - }; - (byte_buf<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_byte_buf<$l, $v>()} - }; - (option<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_option<$l, $v>()} - }; - (unit<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_unit<$l, $v>()} - }; - (unit_struct<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_unit_struct<$l, $v>(name: &'static str)} - }; - (newtype_struct<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_newtype_struct<$l, $v>(name: &'static str)} - }; - (seq<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_seq<$l, $v>()} - }; - (tuple<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_tuple<$l, $v>(len: usize)} - }; - (tuple_struct<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_tuple_struct<$l, $v>(name: &'static str, len: usize)} - }; - (map<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_map<$l, $v>()} - }; - (struct<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_struct<$l, $v>(name: &'static str, fields: &'static [&'static str])} - }; - (enum<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_enum<$l, $v>(name: &'static str, variants: &'static [&'static str])} - }; - (identifier<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_identifier<$l, $v>()} - }; - (ignored_any<$l:tt, $v:ident>) => { - forward_to_deserialize_any_method!{deserialize_ignored_any<$l, $v>()} - }; -} diff --git a/vendor/registry-40351f815f426200/serde/src/private/de.rs b/vendor/registry-40351f815f426200/serde/src/private/de.rs deleted file mode 100644 index feb3d4c7b..000000000 --- a/vendor/registry-40351f815f426200/serde/src/private/de.rs +++ /dev/null @@ -1,2935 +0,0 @@ -use lib::*; - -use de::{Deserialize, DeserializeSeed, Deserializer, Error, IntoDeserializer, Visitor}; - -#[cfg(any(feature = "std", feature = "alloc"))] -use de::{MapAccess, Unexpected}; - -#[cfg(any(feature = "std", feature = "alloc"))] -pub use self::content::{ - Content, ContentDeserializer, ContentRefDeserializer, EnumDeserializer, - InternallyTaggedUnitVisitor, TagContentOtherField, TagContentOtherFieldVisitor, - TagOrContentField, TagOrContentFieldVisitor, TaggedContentVisitor, UntaggedUnitVisitor, -}; - -/// If the missing field is of type `Option` then treat is as `None`, -/// otherwise it is an error. -pub fn missing_field<'de, V, E>(field: &'static str) -> Result -where - V: Deserialize<'de>, - E: Error, -{ - struct MissingFieldDeserializer(&'static str, PhantomData); - - impl<'de, E> Deserializer<'de> for MissingFieldDeserializer - where - E: Error, - { - type Error = E; - - fn deserialize_any(self, _visitor: V) -> Result - where - V: Visitor<'de>, - { - Err(Error::missing_field(self.0)) - } - - fn deserialize_option(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - visitor.visit_none() - } - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string - bytes byte_buf unit unit_struct newtype_struct seq tuple - tuple_struct map struct enum identifier ignored_any - } - } - - let deserializer = MissingFieldDeserializer(field, PhantomData); - Deserialize::deserialize(deserializer) -} - -#[cfg(any(feature = "std", feature = "alloc"))] -pub fn borrow_cow_str<'de: 'a, 'a, D>(deserializer: D) -> Result, D::Error> -where - D: Deserializer<'de>, -{ - struct CowStrVisitor; - - impl<'a> Visitor<'a> for CowStrVisitor { - type Value = Cow<'a, str>; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("a string") - } - - fn visit_str(self, v: &str) -> Result - where - E: Error, - { - Ok(Cow::Owned(v.to_owned())) - } - - fn visit_borrowed_str(self, v: &'a str) -> Result - where - E: Error, - { - Ok(Cow::Borrowed(v)) - } - - fn visit_string(self, v: String) -> Result - where - E: Error, - { - Ok(Cow::Owned(v)) - } - - fn visit_bytes(self, v: &[u8]) -> Result - where - E: Error, - { - match str::from_utf8(v) { - Ok(s) => Ok(Cow::Owned(s.to_owned())), - Err(_) => Err(Error::invalid_value(Unexpected::Bytes(v), &self)), - } - } - - fn visit_borrowed_bytes(self, v: &'a [u8]) -> Result - where - E: Error, - { - match str::from_utf8(v) { - Ok(s) => Ok(Cow::Borrowed(s)), - Err(_) => Err(Error::invalid_value(Unexpected::Bytes(v), &self)), - } - } - - fn visit_byte_buf(self, v: Vec) -> Result - where - E: Error, - { - match String::from_utf8(v) { - Ok(s) => Ok(Cow::Owned(s)), - Err(e) => Err(Error::invalid_value( - Unexpected::Bytes(&e.into_bytes()), - &self, - )), - } - } - } - - deserializer.deserialize_str(CowStrVisitor) -} - -#[cfg(any(feature = "std", feature = "alloc"))] -pub fn borrow_cow_bytes<'de: 'a, 'a, D>(deserializer: D) -> Result, D::Error> -where - D: Deserializer<'de>, -{ - struct CowBytesVisitor; - - impl<'a> Visitor<'a> for CowBytesVisitor { - type Value = Cow<'a, [u8]>; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("a byte array") - } - - fn visit_str(self, v: &str) -> Result - where - E: Error, - { - Ok(Cow::Owned(v.as_bytes().to_vec())) - } - - fn visit_borrowed_str(self, v: &'a str) -> Result - where - E: Error, - { - Ok(Cow::Borrowed(v.as_bytes())) - } - - fn visit_string(self, v: String) -> Result - where - E: Error, - { - Ok(Cow::Owned(v.into_bytes())) - } - - fn visit_bytes(self, v: &[u8]) -> Result - where - E: Error, - { - Ok(Cow::Owned(v.to_vec())) - } - - fn visit_borrowed_bytes(self, v: &'a [u8]) -> Result - where - E: Error, - { - Ok(Cow::Borrowed(v)) - } - - fn visit_byte_buf(self, v: Vec) -> Result - where - E: Error, - { - Ok(Cow::Owned(v)) - } - } - - deserializer.deserialize_bytes(CowBytesVisitor) -} - -pub mod size_hint { - use lib::*; - - pub fn from_bounds(iter: &I) -> Option - where - I: Iterator, - { - helper(iter.size_hint()) - } - - #[inline] - pub fn cautious(hint: Option) -> usize { - cmp::min(hint.unwrap_or(0), 4096) - } - - fn helper(bounds: (usize, Option)) -> Option { - match bounds { - (lower, Some(upper)) if lower == upper => Some(upper), - _ => None, - } - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -mod content { - // This module is private and nothing here should be used outside of - // generated code. - // - // We will iterate on the implementation for a few releases and only have to - // worry about backward compatibility for the `untagged` and `tag` attributes - // rather than for this entire mechanism. - // - // This issue is tracking making some of this stuff public: - // https://github.com/serde-rs/serde/issues/741 - - use lib::*; - - use super::size_hint; - use de::{ - self, Deserialize, DeserializeSeed, Deserializer, EnumAccess, Expected, IgnoredAny, - MapAccess, SeqAccess, Unexpected, Visitor, - }; - - /// Used from generated code to buffer the contents of the Deserializer when - /// deserializing untagged enums and internally tagged enums. - /// - /// Not public API. Use serde-value instead. - #[derive(Debug)] - pub enum Content<'de> { - Bool(bool), - - U8(u8), - U16(u16), - U32(u32), - U64(u64), - - I8(i8), - I16(i16), - I32(i32), - I64(i64), - - F32(f32), - F64(f64), - - Char(char), - String(String), - Str(&'de str), - ByteBuf(Vec), - Bytes(&'de [u8]), - - None, - Some(Box>), - - Unit, - Newtype(Box>), - Seq(Vec>), - Map(Vec<(Content<'de>, Content<'de>)>), - } - - impl<'de> Content<'de> { - pub fn as_str(&self) -> Option<&str> { - match *self { - Content::Str(x) => Some(x), - Content::String(ref x) => Some(x), - Content::Bytes(x) => str::from_utf8(x).ok(), - Content::ByteBuf(ref x) => str::from_utf8(x).ok(), - _ => None, - } - } - - #[cold] - fn unexpected(&self) -> Unexpected { - match *self { - Content::Bool(b) => Unexpected::Bool(b), - Content::U8(n) => Unexpected::Unsigned(n as u64), - Content::U16(n) => Unexpected::Unsigned(n as u64), - Content::U32(n) => Unexpected::Unsigned(n as u64), - Content::U64(n) => Unexpected::Unsigned(n), - Content::I8(n) => Unexpected::Signed(n as i64), - Content::I16(n) => Unexpected::Signed(n as i64), - Content::I32(n) => Unexpected::Signed(n as i64), - Content::I64(n) => Unexpected::Signed(n), - Content::F32(f) => Unexpected::Float(f as f64), - Content::F64(f) => Unexpected::Float(f), - Content::Char(c) => Unexpected::Char(c), - Content::String(ref s) => Unexpected::Str(s), - Content::Str(s) => Unexpected::Str(s), - Content::ByteBuf(ref b) => Unexpected::Bytes(b), - Content::Bytes(b) => Unexpected::Bytes(b), - Content::None | Content::Some(_) => Unexpected::Option, - Content::Unit => Unexpected::Unit, - Content::Newtype(_) => Unexpected::NewtypeStruct, - Content::Seq(_) => Unexpected::Seq, - Content::Map(_) => Unexpected::Map, - } - } - } - - impl<'de> Deserialize<'de> for Content<'de> { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - // Untagged and internally tagged enums are only supported in - // self-describing formats. - let visitor = ContentVisitor { value: PhantomData }; - deserializer.deserialize_any(visitor) - } - } - - struct ContentVisitor<'de> { - value: PhantomData>, - } - - impl<'de> ContentVisitor<'de> { - fn new() -> Self { - ContentVisitor { value: PhantomData } - } - } - - impl<'de> Visitor<'de> for ContentVisitor<'de> { - type Value = Content<'de>; - - fn expecting(&self, fmt: &mut fmt::Formatter) -> fmt::Result { - fmt.write_str("any value") - } - - fn visit_bool(self, value: bool) -> Result - where - F: de::Error, - { - Ok(Content::Bool(value)) - } - - fn visit_i8(self, value: i8) -> Result - where - F: de::Error, - { - Ok(Content::I8(value)) - } - - fn visit_i16(self, value: i16) -> Result - where - F: de::Error, - { - Ok(Content::I16(value)) - } - - fn visit_i32(self, value: i32) -> Result - where - F: de::Error, - { - Ok(Content::I32(value)) - } - - fn visit_i64(self, value: i64) -> Result - where - F: de::Error, - { - Ok(Content::I64(value)) - } - - fn visit_u8(self, value: u8) -> Result - where - F: de::Error, - { - Ok(Content::U8(value)) - } - - fn visit_u16(self, value: u16) -> Result - where - F: de::Error, - { - Ok(Content::U16(value)) - } - - fn visit_u32(self, value: u32) -> Result - where - F: de::Error, - { - Ok(Content::U32(value)) - } - - fn visit_u64(self, value: u64) -> Result - where - F: de::Error, - { - Ok(Content::U64(value)) - } - - fn visit_f32(self, value: f32) -> Result - where - F: de::Error, - { - Ok(Content::F32(value)) - } - - fn visit_f64(self, value: f64) -> Result - where - F: de::Error, - { - Ok(Content::F64(value)) - } - - fn visit_char(self, value: char) -> Result - where - F: de::Error, - { - Ok(Content::Char(value)) - } - - fn visit_str(self, value: &str) -> Result - where - F: de::Error, - { - Ok(Content::String(value.into())) - } - - fn visit_borrowed_str(self, value: &'de str) -> Result - where - F: de::Error, - { - Ok(Content::Str(value)) - } - - fn visit_string(self, value: String) -> Result - where - F: de::Error, - { - Ok(Content::String(value)) - } - - fn visit_bytes(self, value: &[u8]) -> Result - where - F: de::Error, - { - Ok(Content::ByteBuf(value.into())) - } - - fn visit_borrowed_bytes(self, value: &'de [u8]) -> Result - where - F: de::Error, - { - Ok(Content::Bytes(value)) - } - - fn visit_byte_buf(self, value: Vec) -> Result - where - F: de::Error, - { - Ok(Content::ByteBuf(value)) - } - - fn visit_unit(self) -> Result - where - F: de::Error, - { - Ok(Content::Unit) - } - - fn visit_none(self) -> Result - where - F: de::Error, - { - Ok(Content::None) - } - - fn visit_some(self, deserializer: D) -> Result - where - D: Deserializer<'de>, - { - Deserialize::deserialize(deserializer).map(|v| Content::Some(Box::new(v))) - } - - fn visit_newtype_struct(self, deserializer: D) -> Result - where - D: Deserializer<'de>, - { - Deserialize::deserialize(deserializer).map(|v| Content::Newtype(Box::new(v))) - } - - fn visit_seq(self, mut visitor: V) -> Result - where - V: SeqAccess<'de>, - { - let mut vec = Vec::with_capacity(size_hint::cautious(visitor.size_hint())); - while let Some(e) = try!(visitor.next_element()) { - vec.push(e); - } - Ok(Content::Seq(vec)) - } - - fn visit_map(self, mut visitor: V) -> Result - where - V: MapAccess<'de>, - { - let mut vec = Vec::with_capacity(size_hint::cautious(visitor.size_hint())); - while let Some(kv) = try!(visitor.next_entry()) { - vec.push(kv); - } - Ok(Content::Map(vec)) - } - - fn visit_enum(self, _visitor: V) -> Result - where - V: EnumAccess<'de>, - { - Err(de::Error::custom( - "untagged and internally tagged enums do not support enum input", - )) - } - } - - /// This is the type of the map keys in an internally tagged enum. - /// - /// Not public API. - pub enum TagOrContent<'de> { - Tag, - Content(Content<'de>), - } - - struct TagOrContentVisitor<'de> { - name: &'static str, - value: PhantomData>, - } - - impl<'de> TagOrContentVisitor<'de> { - fn new(name: &'static str) -> Self { - TagOrContentVisitor { - name: name, - value: PhantomData, - } - } - } - - impl<'de> DeserializeSeed<'de> for TagOrContentVisitor<'de> { - type Value = TagOrContent<'de>; - - fn deserialize(self, deserializer: D) -> Result - where - D: Deserializer<'de>, - { - // Internally tagged enums are only supported in self-describing - // formats. - deserializer.deserialize_any(self) - } - } - - impl<'de> Visitor<'de> for TagOrContentVisitor<'de> { - type Value = TagOrContent<'de>; - - fn expecting(&self, fmt: &mut fmt::Formatter) -> fmt::Result { - write!(fmt, "a type tag `{}` or any other value", self.name) - } - - fn visit_bool(self, value: bool) -> Result - where - F: de::Error, - { - ContentVisitor::new() - .visit_bool(value) - .map(TagOrContent::Content) - } - - fn visit_i8(self, value: i8) -> Result - where - F: de::Error, - { - ContentVisitor::new() - .visit_i8(value) - .map(TagOrContent::Content) - } - - fn visit_i16(self, value: i16) -> Result - where - F: de::Error, - { - ContentVisitor::new() - .visit_i16(value) - .map(TagOrContent::Content) - } - - fn visit_i32(self, value: i32) -> Result - where - F: de::Error, - { - ContentVisitor::new() - .visit_i32(value) - .map(TagOrContent::Content) - } - - fn visit_i64(self, value: i64) -> Result - where - F: de::Error, - { - ContentVisitor::new() - .visit_i64(value) - .map(TagOrContent::Content) - } - - fn visit_u8(self, value: u8) -> Result - where - F: de::Error, - { - ContentVisitor::new() - .visit_u8(value) - .map(TagOrContent::Content) - } - - fn visit_u16(self, value: u16) -> Result - where - F: de::Error, - { - ContentVisitor::new() - .visit_u16(value) - .map(TagOrContent::Content) - } - - fn visit_u32(self, value: u32) -> Result - where - F: de::Error, - { - ContentVisitor::new() - .visit_u32(value) - .map(TagOrContent::Content) - } - - fn visit_u64(self, value: u64) -> Result - where - F: de::Error, - { - ContentVisitor::new() - .visit_u64(value) - .map(TagOrContent::Content) - } - - fn visit_f32(self, value: f32) -> Result - where - F: de::Error, - { - ContentVisitor::new() - .visit_f32(value) - .map(TagOrContent::Content) - } - - fn visit_f64(self, value: f64) -> Result - where - F: de::Error, - { - ContentVisitor::new() - .visit_f64(value) - .map(TagOrContent::Content) - } - - fn visit_char(self, value: char) -> Result - where - F: de::Error, - { - ContentVisitor::new() - .visit_char(value) - .map(TagOrContent::Content) - } - - fn visit_str(self, value: &str) -> Result - where - F: de::Error, - { - if value == self.name { - Ok(TagOrContent::Tag) - } else { - ContentVisitor::new() - .visit_str(value) - .map(TagOrContent::Content) - } - } - - fn visit_borrowed_str(self, value: &'de str) -> Result - where - F: de::Error, - { - if value == self.name { - Ok(TagOrContent::Tag) - } else { - ContentVisitor::new() - .visit_borrowed_str(value) - .map(TagOrContent::Content) - } - } - - fn visit_string(self, value: String) -> Result - where - F: de::Error, - { - if value == self.name { - Ok(TagOrContent::Tag) - } else { - ContentVisitor::new() - .visit_string(value) - .map(TagOrContent::Content) - } - } - - fn visit_bytes(self, value: &[u8]) -> Result - where - F: de::Error, - { - if value == self.name.as_bytes() { - Ok(TagOrContent::Tag) - } else { - ContentVisitor::new() - .visit_bytes(value) - .map(TagOrContent::Content) - } - } - - fn visit_borrowed_bytes(self, value: &'de [u8]) -> Result - where - F: de::Error, - { - if value == self.name.as_bytes() { - Ok(TagOrContent::Tag) - } else { - ContentVisitor::new() - .visit_borrowed_bytes(value) - .map(TagOrContent::Content) - } - } - - fn visit_byte_buf(self, value: Vec) -> Result - where - F: de::Error, - { - if value == self.name.as_bytes() { - Ok(TagOrContent::Tag) - } else { - ContentVisitor::new() - .visit_byte_buf(value) - .map(TagOrContent::Content) - } - } - - fn visit_unit(self) -> Result - where - F: de::Error, - { - ContentVisitor::new() - .visit_unit() - .map(TagOrContent::Content) - } - - fn visit_none(self) -> Result - where - F: de::Error, - { - ContentVisitor::new() - .visit_none() - .map(TagOrContent::Content) - } - - fn visit_some(self, deserializer: D) -> Result - where - D: Deserializer<'de>, - { - ContentVisitor::new() - .visit_some(deserializer) - .map(TagOrContent::Content) - } - - fn visit_newtype_struct(self, deserializer: D) -> Result - where - D: Deserializer<'de>, - { - ContentVisitor::new() - .visit_newtype_struct(deserializer) - .map(TagOrContent::Content) - } - - fn visit_seq(self, visitor: V) -> Result - where - V: SeqAccess<'de>, - { - ContentVisitor::new() - .visit_seq(visitor) - .map(TagOrContent::Content) - } - - fn visit_map(self, visitor: V) -> Result - where - V: MapAccess<'de>, - { - ContentVisitor::new() - .visit_map(visitor) - .map(TagOrContent::Content) - } - - fn visit_enum(self, visitor: V) -> Result - where - V: EnumAccess<'de>, - { - ContentVisitor::new() - .visit_enum(visitor) - .map(TagOrContent::Content) - } - } - - /// Used by generated code to deserialize an internally tagged enum. - /// - /// Not public API. - pub struct TaggedContent<'de, T> { - pub tag: T, - pub content: Content<'de>, - } - - /// Not public API. - pub struct TaggedContentVisitor<'de, T> { - tag_name: &'static str, - value: PhantomData>, - } - - impl<'de, T> TaggedContentVisitor<'de, T> { - /// Visitor for the content of an internally tagged enum with the given - /// tag name. - pub fn new(name: &'static str) -> Self { - TaggedContentVisitor { - tag_name: name, - value: PhantomData, - } - } - } - - impl<'de, T> DeserializeSeed<'de> for TaggedContentVisitor<'de, T> - where - T: Deserialize<'de>, - { - type Value = TaggedContent<'de, T>; - - fn deserialize(self, deserializer: D) -> Result - where - D: Deserializer<'de>, - { - // Internally tagged enums are only supported in self-describing - // formats. - deserializer.deserialize_any(self) - } - } - - impl<'de, T> Visitor<'de> for TaggedContentVisitor<'de, T> - where - T: Deserialize<'de>, - { - type Value = TaggedContent<'de, T>; - - fn expecting(&self, fmt: &mut fmt::Formatter) -> fmt::Result { - fmt.write_str("internally tagged enum") - } - - fn visit_seq(self, mut seq: S) -> Result - where - S: SeqAccess<'de>, - { - let tag = match try!(seq.next_element()) { - Some(tag) => tag, - None => { - return Err(de::Error::missing_field(self.tag_name)); - } - }; - let rest = de::value::SeqAccessDeserializer::new(seq); - Ok(TaggedContent { - tag: tag, - content: try!(Content::deserialize(rest)), - }) - } - - fn visit_map(self, mut map: M) -> Result - where - M: MapAccess<'de>, - { - let mut tag = None; - let mut vec = Vec::with_capacity(size_hint::cautious(map.size_hint())); - while let Some(k) = try!(map.next_key_seed(TagOrContentVisitor::new(self.tag_name))) { - match k { - TagOrContent::Tag => { - if tag.is_some() { - return Err(de::Error::duplicate_field(self.tag_name)); - } - tag = Some(try!(map.next_value())); - } - TagOrContent::Content(k) => { - let v = try!(map.next_value()); - vec.push((k, v)); - } - } - } - match tag { - None => Err(de::Error::missing_field(self.tag_name)), - Some(tag) => Ok(TaggedContent { - tag: tag, - content: Content::Map(vec), - }), - } - } - } - - /// Used by generated code to deserialize an adjacently tagged enum. - /// - /// Not public API. - pub enum TagOrContentField { - Tag, - Content, - } - - /// Not public API. - pub struct TagOrContentFieldVisitor { - pub tag: &'static str, - pub content: &'static str, - } - - impl<'de> DeserializeSeed<'de> for TagOrContentFieldVisitor { - type Value = TagOrContentField; - - fn deserialize(self, deserializer: D) -> Result - where - D: Deserializer<'de>, - { - deserializer.deserialize_str(self) - } - } - - impl<'de> Visitor<'de> for TagOrContentFieldVisitor { - type Value = TagOrContentField; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - write!(formatter, "{:?} or {:?}", self.tag, self.content) - } - - fn visit_str(self, field: &str) -> Result - where - E: de::Error, - { - if field == self.tag { - Ok(TagOrContentField::Tag) - } else if field == self.content { - Ok(TagOrContentField::Content) - } else { - Err(de::Error::invalid_value(Unexpected::Str(field), &self)) - } - } - } - - /// Used by generated code to deserialize an adjacently tagged enum when - /// ignoring unrelated fields is allowed. - /// - /// Not public API. - pub enum TagContentOtherField { - Tag, - Content, - Other, - } - - /// Not public API. - pub struct TagContentOtherFieldVisitor { - pub tag: &'static str, - pub content: &'static str, - } - - impl<'de> DeserializeSeed<'de> for TagContentOtherFieldVisitor { - type Value = TagContentOtherField; - - fn deserialize(self, deserializer: D) -> Result - where - D: Deserializer<'de>, - { - deserializer.deserialize_str(self) - } - } - - impl<'de> Visitor<'de> for TagContentOtherFieldVisitor { - type Value = TagContentOtherField; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - write!( - formatter, - "{:?}, {:?}, or other ignored fields", - self.tag, self.content - ) - } - - fn visit_str(self, field: &str) -> Result - where - E: de::Error, - { - if field == self.tag { - Ok(TagContentOtherField::Tag) - } else if field == self.content { - Ok(TagContentOtherField::Content) - } else { - Ok(TagContentOtherField::Other) - } - } - } - - /// Not public API - pub struct ContentDeserializer<'de, E> { - content: Content<'de>, - err: PhantomData, - } - - impl<'de, E> ContentDeserializer<'de, E> - where - E: de::Error, - { - #[cold] - fn invalid_type(self, exp: &Expected) -> E { - de::Error::invalid_type(self.content.unexpected(), exp) - } - - fn deserialize_integer(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match self.content { - Content::U8(v) => visitor.visit_u8(v), - Content::U16(v) => visitor.visit_u16(v), - Content::U32(v) => visitor.visit_u32(v), - Content::U64(v) => visitor.visit_u64(v), - Content::I8(v) => visitor.visit_i8(v), - Content::I16(v) => visitor.visit_i16(v), - Content::I32(v) => visitor.visit_i32(v), - Content::I64(v) => visitor.visit_i64(v), - _ => Err(self.invalid_type(&visitor)), - } - } - } - - fn visit_content_seq<'de, V, E>(content: Vec>, visitor: V) -> Result - where - V: Visitor<'de>, - E: de::Error, - { - let seq = content.into_iter().map(ContentDeserializer::new); - let mut seq_visitor = de::value::SeqDeserializer::new(seq); - let value = try!(visitor.visit_seq(&mut seq_visitor)); - try!(seq_visitor.end()); - Ok(value) - } - - fn visit_content_map<'de, V, E>( - content: Vec<(Content<'de>, Content<'de>)>, - visitor: V, - ) -> Result - where - V: Visitor<'de>, - E: de::Error, - { - let map = content - .into_iter() - .map(|(k, v)| (ContentDeserializer::new(k), ContentDeserializer::new(v))); - let mut map_visitor = de::value::MapDeserializer::new(map); - let value = try!(visitor.visit_map(&mut map_visitor)); - try!(map_visitor.end()); - Ok(value) - } - - /// Used when deserializing an internally tagged enum because the content - /// will be used exactly once. - impl<'de, E> Deserializer<'de> for ContentDeserializer<'de, E> - where - E: de::Error, - { - type Error = E; - - fn deserialize_any(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match self.content { - Content::Bool(v) => visitor.visit_bool(v), - Content::U8(v) => visitor.visit_u8(v), - Content::U16(v) => visitor.visit_u16(v), - Content::U32(v) => visitor.visit_u32(v), - Content::U64(v) => visitor.visit_u64(v), - Content::I8(v) => visitor.visit_i8(v), - Content::I16(v) => visitor.visit_i16(v), - Content::I32(v) => visitor.visit_i32(v), - Content::I64(v) => visitor.visit_i64(v), - Content::F32(v) => visitor.visit_f32(v), - Content::F64(v) => visitor.visit_f64(v), - Content::Char(v) => visitor.visit_char(v), - Content::String(v) => visitor.visit_string(v), - Content::Str(v) => visitor.visit_borrowed_str(v), - Content::ByteBuf(v) => visitor.visit_byte_buf(v), - Content::Bytes(v) => visitor.visit_borrowed_bytes(v), - Content::Unit => visitor.visit_unit(), - Content::None => visitor.visit_none(), - Content::Some(v) => visitor.visit_some(ContentDeserializer::new(*v)), - Content::Newtype(v) => visitor.visit_newtype_struct(ContentDeserializer::new(*v)), - Content::Seq(v) => visit_content_seq(v, visitor), - Content::Map(v) => visit_content_map(v, visitor), - } - } - - fn deserialize_bool(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match self.content { - Content::Bool(v) => visitor.visit_bool(v), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_i8(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_integer(visitor) - } - - fn deserialize_i16(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_integer(visitor) - } - - fn deserialize_i32(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_integer(visitor) - } - - fn deserialize_i64(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_integer(visitor) - } - - fn deserialize_u8(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_integer(visitor) - } - - fn deserialize_u16(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_integer(visitor) - } - - fn deserialize_u32(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_integer(visitor) - } - - fn deserialize_u64(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_integer(visitor) - } - - fn deserialize_f32(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match self.content { - Content::F32(v) => visitor.visit_f32(v), - Content::F64(v) => visitor.visit_f64(v), - Content::U64(v) => visitor.visit_u64(v), - Content::I64(v) => visitor.visit_i64(v), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_f64(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match self.content { - Content::F64(v) => visitor.visit_f64(v), - Content::U64(v) => visitor.visit_u64(v), - Content::I64(v) => visitor.visit_i64(v), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_char(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match self.content { - Content::Char(v) => visitor.visit_char(v), - Content::String(v) => visitor.visit_string(v), - Content::Str(v) => visitor.visit_borrowed_str(v), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_str(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_string(visitor) - } - - fn deserialize_string(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match self.content { - Content::String(v) => visitor.visit_string(v), - Content::Str(v) => visitor.visit_borrowed_str(v), - Content::ByteBuf(v) => visitor.visit_byte_buf(v), - Content::Bytes(v) => visitor.visit_borrowed_bytes(v), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_bytes(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_byte_buf(visitor) - } - - fn deserialize_byte_buf(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match self.content { - Content::String(v) => visitor.visit_string(v), - Content::Str(v) => visitor.visit_borrowed_str(v), - Content::ByteBuf(v) => visitor.visit_byte_buf(v), - Content::Bytes(v) => visitor.visit_borrowed_bytes(v), - Content::Seq(v) => visit_content_seq(v, visitor), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_option(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match self.content { - Content::None => visitor.visit_none(), - Content::Some(v) => visitor.visit_some(ContentDeserializer::new(*v)), - Content::Unit => visitor.visit_unit(), - _ => visitor.visit_some(self), - } - } - - fn deserialize_unit(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match self.content { - Content::Unit => visitor.visit_unit(), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_unit_struct( - self, - _name: &'static str, - visitor: V, - ) -> Result - where - V: Visitor<'de>, - { - match self.content { - // As a special case, allow deserializing untagged newtype - // variant containing unit struct. - // - // #[derive(Deserialize)] - // struct Info; - // - // #[derive(Deserialize)] - // #[serde(tag = "topic")] - // enum Message { - // Info(Info), - // } - // - // We want {"topic":"Info"} to deserialize even though - // ordinarily unit structs do not deserialize from empty map. - Content::Map(ref v) if v.is_empty() => visitor.visit_unit(), - _ => self.deserialize_any(visitor), - } - } - - fn deserialize_newtype_struct( - self, - _name: &str, - visitor: V, - ) -> Result - where - V: Visitor<'de>, - { - match self.content { - Content::Newtype(v) => visitor.visit_newtype_struct(ContentDeserializer::new(*v)), - _ => visitor.visit_newtype_struct(self), - } - } - - fn deserialize_seq(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match self.content { - Content::Seq(v) => visit_content_seq(v, visitor), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_tuple(self, _len: usize, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_seq(visitor) - } - - fn deserialize_tuple_struct( - self, - _name: &'static str, - _len: usize, - visitor: V, - ) -> Result - where - V: Visitor<'de>, - { - self.deserialize_seq(visitor) - } - - fn deserialize_map(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match self.content { - Content::Map(v) => visit_content_map(v, visitor), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_struct( - self, - _name: &'static str, - _fields: &'static [&'static str], - visitor: V, - ) -> Result - where - V: Visitor<'de>, - { - match self.content { - Content::Seq(v) => visit_content_seq(v, visitor), - Content::Map(v) => visit_content_map(v, visitor), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_enum( - self, - _name: &str, - _variants: &'static [&'static str], - visitor: V, - ) -> Result - where - V: Visitor<'de>, - { - let (variant, value) = match self.content { - Content::Map(value) => { - let mut iter = value.into_iter(); - let (variant, value) = match iter.next() { - Some(v) => v, - None => { - return Err(de::Error::invalid_value( - de::Unexpected::Map, - &"map with a single key", - )); - } - }; - // enums are encoded in json as maps with a single key:value pair - if iter.next().is_some() { - return Err(de::Error::invalid_value( - de::Unexpected::Map, - &"map with a single key", - )); - } - (variant, Some(value)) - } - s @ Content::String(_) | s @ Content::Str(_) => (s, None), - other => { - return Err(de::Error::invalid_type( - other.unexpected(), - &"string or map", - )); - } - }; - - visitor.visit_enum(EnumDeserializer::new(variant, value)) - } - - fn deserialize_identifier(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match self.content { - Content::String(v) => visitor.visit_string(v), - Content::Str(v) => visitor.visit_borrowed_str(v), - Content::ByteBuf(v) => visitor.visit_byte_buf(v), - Content::Bytes(v) => visitor.visit_borrowed_bytes(v), - Content::U8(v) => visitor.visit_u8(v), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_ignored_any(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - drop(self); - visitor.visit_unit() - } - } - - impl<'de, E> ContentDeserializer<'de, E> { - /// private API, don't use - pub fn new(content: Content<'de>) -> Self { - ContentDeserializer { - content: content, - err: PhantomData, - } - } - } - - pub struct EnumDeserializer<'de, E> - where - E: de::Error, - { - variant: Content<'de>, - value: Option>, - err: PhantomData, - } - - impl<'de, E> EnumDeserializer<'de, E> - where - E: de::Error, - { - pub fn new(variant: Content<'de>, value: Option>) -> EnumDeserializer<'de, E> { - EnumDeserializer { - variant: variant, - value: value, - err: PhantomData, - } - } - } - - impl<'de, E> de::EnumAccess<'de> for EnumDeserializer<'de, E> - where - E: de::Error, - { - type Error = E; - type Variant = VariantDeserializer<'de, Self::Error>; - - fn variant_seed(self, seed: V) -> Result<(V::Value, Self::Variant), E> - where - V: de::DeserializeSeed<'de>, - { - let visitor = VariantDeserializer { - value: self.value, - err: PhantomData, - }; - seed.deserialize(ContentDeserializer::new(self.variant)) - .map(|v| (v, visitor)) - } - } - - pub struct VariantDeserializer<'de, E> - where - E: de::Error, - { - value: Option>, - err: PhantomData, - } - - impl<'de, E> de::VariantAccess<'de> for VariantDeserializer<'de, E> - where - E: de::Error, - { - type Error = E; - - fn unit_variant(self) -> Result<(), E> { - match self.value { - Some(value) => de::Deserialize::deserialize(ContentDeserializer::new(value)), - None => Ok(()), - } - } - - fn newtype_variant_seed(self, seed: T) -> Result - where - T: de::DeserializeSeed<'de>, - { - match self.value { - Some(value) => seed.deserialize(ContentDeserializer::new(value)), - None => Err(de::Error::invalid_type( - de::Unexpected::UnitVariant, - &"newtype variant", - )), - } - } - - fn tuple_variant(self, _len: usize, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - match self.value { - Some(Content::Seq(v)) => { - de::Deserializer::deserialize_any(SeqDeserializer::new(v), visitor) - } - Some(other) => Err(de::Error::invalid_type( - other.unexpected(), - &"tuple variant", - )), - None => Err(de::Error::invalid_type( - de::Unexpected::UnitVariant, - &"tuple variant", - )), - } - } - - fn struct_variant( - self, - _fields: &'static [&'static str], - visitor: V, - ) -> Result - where - V: de::Visitor<'de>, - { - match self.value { - Some(Content::Map(v)) => { - de::Deserializer::deserialize_any(MapDeserializer::new(v), visitor) - } - Some(Content::Seq(v)) => { - de::Deserializer::deserialize_any(SeqDeserializer::new(v), visitor) - } - Some(other) => Err(de::Error::invalid_type( - other.unexpected(), - &"struct variant", - )), - _ => Err(de::Error::invalid_type( - de::Unexpected::UnitVariant, - &"struct variant", - )), - } - } - } - - struct SeqDeserializer<'de, E> - where - E: de::Error, - { - iter: > as IntoIterator>::IntoIter, - err: PhantomData, - } - - impl<'de, E> SeqDeserializer<'de, E> - where - E: de::Error, - { - fn new(vec: Vec>) -> Self { - SeqDeserializer { - iter: vec.into_iter(), - err: PhantomData, - } - } - } - - impl<'de, E> de::Deserializer<'de> for SeqDeserializer<'de, E> - where - E: de::Error, - { - type Error = E; - - #[inline] - fn deserialize_any(mut self, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - let len = self.iter.len(); - if len == 0 { - visitor.visit_unit() - } else { - let ret = try!(visitor.visit_seq(&mut self)); - let remaining = self.iter.len(); - if remaining == 0 { - Ok(ret) - } else { - Err(de::Error::invalid_length(len, &"fewer elements in array")) - } - } - } - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string - bytes byte_buf option unit unit_struct newtype_struct seq tuple - tuple_struct map struct enum identifier ignored_any - } - } - - impl<'de, E> de::SeqAccess<'de> for SeqDeserializer<'de, E> - where - E: de::Error, - { - type Error = E; - - fn next_element_seed(&mut self, seed: T) -> Result, Self::Error> - where - T: de::DeserializeSeed<'de>, - { - match self.iter.next() { - Some(value) => seed.deserialize(ContentDeserializer::new(value)).map(Some), - None => Ok(None), - } - } - - fn size_hint(&self) -> Option { - size_hint::from_bounds(&self.iter) - } - } - - struct MapDeserializer<'de, E> - where - E: de::Error, - { - iter: , Content<'de>)> as IntoIterator>::IntoIter, - value: Option>, - err: PhantomData, - } - - impl<'de, E> MapDeserializer<'de, E> - where - E: de::Error, - { - fn new(map: Vec<(Content<'de>, Content<'de>)>) -> Self { - MapDeserializer { - iter: map.into_iter(), - value: None, - err: PhantomData, - } - } - } - - impl<'de, E> de::MapAccess<'de> for MapDeserializer<'de, E> - where - E: de::Error, - { - type Error = E; - - fn next_key_seed(&mut self, seed: T) -> Result, Self::Error> - where - T: de::DeserializeSeed<'de>, - { - match self.iter.next() { - Some((key, value)) => { - self.value = Some(value); - seed.deserialize(ContentDeserializer::new(key)).map(Some) - } - None => Ok(None), - } - } - - fn next_value_seed(&mut self, seed: T) -> Result - where - T: de::DeserializeSeed<'de>, - { - match self.value.take() { - Some(value) => seed.deserialize(ContentDeserializer::new(value)), - None => Err(de::Error::custom("value is missing")), - } - } - - fn size_hint(&self) -> Option { - size_hint::from_bounds(&self.iter) - } - } - - impl<'de, E> de::Deserializer<'de> for MapDeserializer<'de, E> - where - E: de::Error, - { - type Error = E; - - #[inline] - fn deserialize_any(self, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - visitor.visit_map(self) - } - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string - bytes byte_buf option unit unit_struct newtype_struct seq tuple - tuple_struct map struct enum identifier ignored_any - } - } - - /// Not public API. - pub struct ContentRefDeserializer<'a, 'de: 'a, E> { - content: &'a Content<'de>, - err: PhantomData, - } - - impl<'a, 'de, E> ContentRefDeserializer<'a, 'de, E> - where - E: de::Error, - { - #[cold] - fn invalid_type(self, exp: &Expected) -> E { - de::Error::invalid_type(self.content.unexpected(), exp) - } - - fn deserialize_integer(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match *self.content { - Content::U8(v) => visitor.visit_u8(v), - Content::U16(v) => visitor.visit_u16(v), - Content::U32(v) => visitor.visit_u32(v), - Content::U64(v) => visitor.visit_u64(v), - Content::I8(v) => visitor.visit_i8(v), - Content::I16(v) => visitor.visit_i16(v), - Content::I32(v) => visitor.visit_i32(v), - Content::I64(v) => visitor.visit_i64(v), - _ => Err(self.invalid_type(&visitor)), - } - } - } - - fn visit_content_seq_ref<'a, 'de, V, E>( - content: &'a [Content<'de>], - visitor: V, - ) -> Result - where - V: Visitor<'de>, - E: de::Error, - { - let seq = content.iter().map(ContentRefDeserializer::new); - let mut seq_visitor = de::value::SeqDeserializer::new(seq); - let value = try!(visitor.visit_seq(&mut seq_visitor)); - try!(seq_visitor.end()); - Ok(value) - } - - fn visit_content_map_ref<'a, 'de, V, E>( - content: &'a [(Content<'de>, Content<'de>)], - visitor: V, - ) -> Result - where - V: Visitor<'de>, - E: de::Error, - { - let map = content.iter().map(|&(ref k, ref v)| { - ( - ContentRefDeserializer::new(k), - ContentRefDeserializer::new(v), - ) - }); - let mut map_visitor = de::value::MapDeserializer::new(map); - let value = try!(visitor.visit_map(&mut map_visitor)); - try!(map_visitor.end()); - Ok(value) - } - - /// Used when deserializing an untagged enum because the content may need - /// to be used more than once. - impl<'de, 'a, E> Deserializer<'de> for ContentRefDeserializer<'a, 'de, E> - where - E: de::Error, - { - type Error = E; - - fn deserialize_any(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match *self.content { - Content::Bool(v) => visitor.visit_bool(v), - Content::U8(v) => visitor.visit_u8(v), - Content::U16(v) => visitor.visit_u16(v), - Content::U32(v) => visitor.visit_u32(v), - Content::U64(v) => visitor.visit_u64(v), - Content::I8(v) => visitor.visit_i8(v), - Content::I16(v) => visitor.visit_i16(v), - Content::I32(v) => visitor.visit_i32(v), - Content::I64(v) => visitor.visit_i64(v), - Content::F32(v) => visitor.visit_f32(v), - Content::F64(v) => visitor.visit_f64(v), - Content::Char(v) => visitor.visit_char(v), - Content::String(ref v) => visitor.visit_str(v), - Content::Str(v) => visitor.visit_borrowed_str(v), - Content::ByteBuf(ref v) => visitor.visit_bytes(v), - Content::Bytes(v) => visitor.visit_borrowed_bytes(v), - Content::Unit => visitor.visit_unit(), - Content::None => visitor.visit_none(), - Content::Some(ref v) => visitor.visit_some(ContentRefDeserializer::new(v)), - Content::Newtype(ref v) => { - visitor.visit_newtype_struct(ContentRefDeserializer::new(v)) - } - Content::Seq(ref v) => visit_content_seq_ref(v, visitor), - Content::Map(ref v) => visit_content_map_ref(v, visitor), - } - } - - fn deserialize_bool(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match *self.content { - Content::Bool(v) => visitor.visit_bool(v), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_i8(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_integer(visitor) - } - - fn deserialize_i16(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_integer(visitor) - } - - fn deserialize_i32(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_integer(visitor) - } - - fn deserialize_i64(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_integer(visitor) - } - - fn deserialize_u8(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_integer(visitor) - } - - fn deserialize_u16(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_integer(visitor) - } - - fn deserialize_u32(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_integer(visitor) - } - - fn deserialize_u64(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_integer(visitor) - } - - fn deserialize_f32(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match *self.content { - Content::F32(v) => visitor.visit_f32(v), - Content::F64(v) => visitor.visit_f64(v), - Content::U64(v) => visitor.visit_u64(v), - Content::I64(v) => visitor.visit_i64(v), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_f64(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match *self.content { - Content::F64(v) => visitor.visit_f64(v), - Content::U64(v) => visitor.visit_u64(v), - Content::I64(v) => visitor.visit_i64(v), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_char(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match *self.content { - Content::Char(v) => visitor.visit_char(v), - Content::String(ref v) => visitor.visit_str(v), - Content::Str(v) => visitor.visit_borrowed_str(v), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_str(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match *self.content { - Content::String(ref v) => visitor.visit_str(v), - Content::Str(v) => visitor.visit_borrowed_str(v), - Content::ByteBuf(ref v) => visitor.visit_bytes(v), - Content::Bytes(v) => visitor.visit_borrowed_bytes(v), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_string(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_str(visitor) - } - - fn deserialize_bytes(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match *self.content { - Content::String(ref v) => visitor.visit_str(v), - Content::Str(v) => visitor.visit_borrowed_str(v), - Content::ByteBuf(ref v) => visitor.visit_bytes(v), - Content::Bytes(v) => visitor.visit_borrowed_bytes(v), - Content::Seq(ref v) => visit_content_seq_ref(v, visitor), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_byte_buf(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_bytes(visitor) - } - - fn deserialize_option(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match *self.content { - Content::None => visitor.visit_none(), - Content::Some(ref v) => visitor.visit_some(ContentRefDeserializer::new(v)), - Content::Unit => visitor.visit_unit(), - _ => visitor.visit_some(self), - } - } - - fn deserialize_unit(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match *self.content { - Content::Unit => visitor.visit_unit(), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_unit_struct( - self, - _name: &'static str, - visitor: V, - ) -> Result - where - V: Visitor<'de>, - { - self.deserialize_unit(visitor) - } - - fn deserialize_newtype_struct(self, _name: &str, visitor: V) -> Result - where - V: Visitor<'de>, - { - match *self.content { - Content::Newtype(ref v) => { - visitor.visit_newtype_struct(ContentRefDeserializer::new(v)) - } - _ => visitor.visit_newtype_struct(self), - } - } - - fn deserialize_seq(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match *self.content { - Content::Seq(ref v) => visit_content_seq_ref(v, visitor), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_tuple(self, _len: usize, visitor: V) -> Result - where - V: Visitor<'de>, - { - self.deserialize_seq(visitor) - } - - fn deserialize_tuple_struct( - self, - _name: &'static str, - _len: usize, - visitor: V, - ) -> Result - where - V: Visitor<'de>, - { - self.deserialize_seq(visitor) - } - - fn deserialize_map(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match *self.content { - Content::Map(ref v) => visit_content_map_ref(v, visitor), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_struct( - self, - _name: &'static str, - _fields: &'static [&'static str], - visitor: V, - ) -> Result - where - V: Visitor<'de>, - { - match *self.content { - Content::Seq(ref v) => visit_content_seq_ref(v, visitor), - Content::Map(ref v) => visit_content_map_ref(v, visitor), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_enum( - self, - _name: &str, - _variants: &'static [&'static str], - visitor: V, - ) -> Result - where - V: Visitor<'de>, - { - let (variant, value) = match *self.content { - Content::Map(ref value) => { - let mut iter = value.iter(); - let &(ref variant, ref value) = match iter.next() { - Some(v) => v, - None => { - return Err(de::Error::invalid_value( - de::Unexpected::Map, - &"map with a single key", - )); - } - }; - // enums are encoded in json as maps with a single key:value pair - if iter.next().is_some() { - return Err(de::Error::invalid_value( - de::Unexpected::Map, - &"map with a single key", - )); - } - (variant, Some(value)) - } - ref s @ Content::String(_) | ref s @ Content::Str(_) => (s, None), - ref other => { - return Err(de::Error::invalid_type( - other.unexpected(), - &"string or map", - )); - } - }; - - visitor.visit_enum(EnumRefDeserializer { - variant: variant, - value: value, - err: PhantomData, - }) - } - - fn deserialize_identifier(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match *self.content { - Content::String(ref v) => visitor.visit_str(v), - Content::Str(v) => visitor.visit_borrowed_str(v), - Content::ByteBuf(ref v) => visitor.visit_bytes(v), - Content::Bytes(v) => visitor.visit_borrowed_bytes(v), - Content::U8(v) => visitor.visit_u8(v), - _ => Err(self.invalid_type(&visitor)), - } - } - - fn deserialize_ignored_any(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - visitor.visit_unit() - } - } - - impl<'a, 'de, E> ContentRefDeserializer<'a, 'de, E> { - /// private API, don't use - pub fn new(content: &'a Content<'de>) -> Self { - ContentRefDeserializer { - content: content, - err: PhantomData, - } - } - } - - struct EnumRefDeserializer<'a, 'de: 'a, E> - where - E: de::Error, - { - variant: &'a Content<'de>, - value: Option<&'a Content<'de>>, - err: PhantomData, - } - - impl<'de, 'a, E> de::EnumAccess<'de> for EnumRefDeserializer<'a, 'de, E> - where - E: de::Error, - { - type Error = E; - type Variant = VariantRefDeserializer<'a, 'de, Self::Error>; - - fn variant_seed(self, seed: V) -> Result<(V::Value, Self::Variant), Self::Error> - where - V: de::DeserializeSeed<'de>, - { - let visitor = VariantRefDeserializer { - value: self.value, - err: PhantomData, - }; - seed.deserialize(ContentRefDeserializer::new(self.variant)) - .map(|v| (v, visitor)) - } - } - - struct VariantRefDeserializer<'a, 'de: 'a, E> - where - E: de::Error, - { - value: Option<&'a Content<'de>>, - err: PhantomData, - } - - impl<'de, 'a, E> de::VariantAccess<'de> for VariantRefDeserializer<'a, 'de, E> - where - E: de::Error, - { - type Error = E; - - fn unit_variant(self) -> Result<(), E> { - match self.value { - Some(value) => de::Deserialize::deserialize(ContentRefDeserializer::new(value)), - None => Ok(()), - } - } - - fn newtype_variant_seed(self, seed: T) -> Result - where - T: de::DeserializeSeed<'de>, - { - match self.value { - Some(value) => seed.deserialize(ContentRefDeserializer::new(value)), - None => Err(de::Error::invalid_type( - de::Unexpected::UnitVariant, - &"newtype variant", - )), - } - } - - fn tuple_variant(self, _len: usize, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - match self.value { - Some(&Content::Seq(ref v)) => { - de::Deserializer::deserialize_any(SeqRefDeserializer::new(v), visitor) - } - Some(other) => Err(de::Error::invalid_type( - other.unexpected(), - &"tuple variant", - )), - None => Err(de::Error::invalid_type( - de::Unexpected::UnitVariant, - &"tuple variant", - )), - } - } - - fn struct_variant( - self, - _fields: &'static [&'static str], - visitor: V, - ) -> Result - where - V: de::Visitor<'de>, - { - match self.value { - Some(&Content::Map(ref v)) => { - de::Deserializer::deserialize_any(MapRefDeserializer::new(v), visitor) - } - Some(&Content::Seq(ref v)) => { - de::Deserializer::deserialize_any(SeqRefDeserializer::new(v), visitor) - } - Some(other) => Err(de::Error::invalid_type( - other.unexpected(), - &"struct variant", - )), - _ => Err(de::Error::invalid_type( - de::Unexpected::UnitVariant, - &"struct variant", - )), - } - } - } - - struct SeqRefDeserializer<'a, 'de: 'a, E> - where - E: de::Error, - { - iter: <&'a [Content<'de>] as IntoIterator>::IntoIter, - err: PhantomData, - } - - impl<'a, 'de, E> SeqRefDeserializer<'a, 'de, E> - where - E: de::Error, - { - fn new(slice: &'a [Content<'de>]) -> Self { - SeqRefDeserializer { - iter: slice.iter(), - err: PhantomData, - } - } - } - - impl<'de, 'a, E> de::Deserializer<'de> for SeqRefDeserializer<'a, 'de, E> - where - E: de::Error, - { - type Error = E; - - #[inline] - fn deserialize_any(mut self, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - let len = self.iter.len(); - if len == 0 { - visitor.visit_unit() - } else { - let ret = try!(visitor.visit_seq(&mut self)); - let remaining = self.iter.len(); - if remaining == 0 { - Ok(ret) - } else { - Err(de::Error::invalid_length(len, &"fewer elements in array")) - } - } - } - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string - bytes byte_buf option unit unit_struct newtype_struct seq tuple - tuple_struct map struct enum identifier ignored_any - } - } - - impl<'de, 'a, E> de::SeqAccess<'de> for SeqRefDeserializer<'a, 'de, E> - where - E: de::Error, - { - type Error = E; - - fn next_element_seed(&mut self, seed: T) -> Result, Self::Error> - where - T: de::DeserializeSeed<'de>, - { - match self.iter.next() { - Some(value) => seed - .deserialize(ContentRefDeserializer::new(value)) - .map(Some), - None => Ok(None), - } - } - - fn size_hint(&self) -> Option { - size_hint::from_bounds(&self.iter) - } - } - - struct MapRefDeserializer<'a, 'de: 'a, E> - where - E: de::Error, - { - iter: <&'a [(Content<'de>, Content<'de>)] as IntoIterator>::IntoIter, - value: Option<&'a Content<'de>>, - err: PhantomData, - } - - impl<'a, 'de, E> MapRefDeserializer<'a, 'de, E> - where - E: de::Error, - { - fn new(map: &'a [(Content<'de>, Content<'de>)]) -> Self { - MapRefDeserializer { - iter: map.iter(), - value: None, - err: PhantomData, - } - } - } - - impl<'de, 'a, E> de::MapAccess<'de> for MapRefDeserializer<'a, 'de, E> - where - E: de::Error, - { - type Error = E; - - fn next_key_seed(&mut self, seed: T) -> Result, Self::Error> - where - T: de::DeserializeSeed<'de>, - { - match self.iter.next() { - Some(&(ref key, ref value)) => { - self.value = Some(value); - seed.deserialize(ContentRefDeserializer::new(key)).map(Some) - } - None => Ok(None), - } - } - - fn next_value_seed(&mut self, seed: T) -> Result - where - T: de::DeserializeSeed<'de>, - { - match self.value.take() { - Some(value) => seed.deserialize(ContentRefDeserializer::new(value)), - None => Err(de::Error::custom("value is missing")), - } - } - - fn size_hint(&self) -> Option { - size_hint::from_bounds(&self.iter) - } - } - - impl<'de, 'a, E> de::Deserializer<'de> for MapRefDeserializer<'a, 'de, E> - where - E: de::Error, - { - type Error = E; - - #[inline] - fn deserialize_any(self, visitor: V) -> Result - where - V: de::Visitor<'de>, - { - visitor.visit_map(self) - } - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string - bytes byte_buf option unit unit_struct newtype_struct seq tuple - tuple_struct map struct enum identifier ignored_any - } - } - - impl<'de, E> de::IntoDeserializer<'de, E> for ContentDeserializer<'de, E> - where - E: de::Error, - { - type Deserializer = Self; - - fn into_deserializer(self) -> Self { - self - } - } - - impl<'de, 'a, E> de::IntoDeserializer<'de, E> for ContentRefDeserializer<'a, 'de, E> - where - E: de::Error, - { - type Deserializer = Self; - - fn into_deserializer(self) -> Self { - self - } - } - - /// Visitor for deserializing an internally tagged unit variant. - /// - /// Not public API. - pub struct InternallyTaggedUnitVisitor<'a> { - type_name: &'a str, - variant_name: &'a str, - } - - impl<'a> InternallyTaggedUnitVisitor<'a> { - /// Not public API. - pub fn new(type_name: &'a str, variant_name: &'a str) -> Self { - InternallyTaggedUnitVisitor { - type_name: type_name, - variant_name: variant_name, - } - } - } - - impl<'de, 'a> Visitor<'de> for InternallyTaggedUnitVisitor<'a> { - type Value = (); - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - write!( - formatter, - "unit variant {}::{}", - self.type_name, self.variant_name - ) - } - - fn visit_seq(self, _: S) -> Result<(), S::Error> - where - S: SeqAccess<'de>, - { - Ok(()) - } - - fn visit_map(self, mut access: M) -> Result<(), M::Error> - where - M: MapAccess<'de>, - { - while let Some(_) = try!(access.next_entry::()) {} - Ok(()) - } - } - - /// Visitor for deserializing an untagged unit variant. - /// - /// Not public API. - pub struct UntaggedUnitVisitor<'a> { - type_name: &'a str, - variant_name: &'a str, - } - - impl<'a> UntaggedUnitVisitor<'a> { - /// Not public API. - pub fn new(type_name: &'a str, variant_name: &'a str) -> Self { - UntaggedUnitVisitor { - type_name: type_name, - variant_name: variant_name, - } - } - } - - impl<'de, 'a> Visitor<'de> for UntaggedUnitVisitor<'a> { - type Value = (); - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - write!( - formatter, - "unit variant {}::{}", - self.type_name, self.variant_name - ) - } - - fn visit_unit(self) -> Result<(), E> - where - E: de::Error, - { - Ok(()) - } - } -} - -//////////////////////////////////////////////////////////////////////////////// - -// Like `IntoDeserializer` but also implemented for `&[u8]`. This is used for -// the newtype fallthrough case of `field_identifier`. -// -// #[derive(Deserialize)] -// #[serde(field_identifier)] -// enum F { -// A, -// B, -// Other(String), // deserialized using IdentifierDeserializer -// } -pub trait IdentifierDeserializer<'de, E: Error> { - type Deserializer: Deserializer<'de, Error = E>; - - fn from(self) -> Self::Deserializer; -} - -impl<'de, E> IdentifierDeserializer<'de, E> for u32 -where - E: Error, -{ - type Deserializer = >::Deserializer; - - fn from(self) -> Self::Deserializer { - self.into_deserializer() - } -} - -pub struct StrDeserializer<'a, E> { - value: &'a str, - marker: PhantomData, -} - -impl<'a, E> IdentifierDeserializer<'a, E> for &'a str -where - E: Error, -{ - type Deserializer = StrDeserializer<'a, E>; - - fn from(self) -> Self::Deserializer { - StrDeserializer { - value: self, - marker: PhantomData, - } - } -} - -impl<'de, 'a, E> Deserializer<'de> for StrDeserializer<'a, E> -where - E: Error, -{ - type Error = E; - - fn deserialize_any(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - visitor.visit_str(self.value) - } - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string - bytes byte_buf option unit unit_struct newtype_struct seq tuple - tuple_struct map struct enum identifier ignored_any - } -} - -pub struct BytesDeserializer<'a, E> { - value: &'a [u8], - marker: PhantomData, -} - -impl<'a, E> IdentifierDeserializer<'a, E> for &'a [u8] -where - E: Error, -{ - type Deserializer = BytesDeserializer<'a, E>; - - fn from(self) -> Self::Deserializer { - BytesDeserializer { - value: self, - marker: PhantomData, - } - } -} - -impl<'de, 'a, E> Deserializer<'de> for BytesDeserializer<'a, E> -where - E: Error, -{ - type Error = E; - - fn deserialize_any(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - visitor.visit_bytes(self.value) - } - - forward_to_deserialize_any! { - bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 char str string - bytes byte_buf option unit unit_struct newtype_struct seq tuple - tuple_struct map struct enum identifier ignored_any - } -} - -/// A DeserializeSeed helper for implementing deserialize_in_place Visitors. -/// -/// Wraps a mutable reference and calls deserialize_in_place on it. -pub struct InPlaceSeed<'a, T: 'a>(pub &'a mut T); - -impl<'a, 'de, T> DeserializeSeed<'de> for InPlaceSeed<'a, T> -where - T: Deserialize<'de>, -{ - type Value = (); - fn deserialize(self, deserializer: D) -> Result - where - D: Deserializer<'de>, - { - T::deserialize_in_place(deserializer, self.0) - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -pub struct FlatMapDeserializer<'a, 'de: 'a, E>( - pub &'a mut Vec, Content<'de>)>>, - pub PhantomData, -); - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'a, 'de, E> FlatMapDeserializer<'a, 'de, E> -where - E: Error, -{ - fn deserialize_other() -> Result { - Err(Error::custom("can only flatten structs and maps")) - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -macro_rules! forward_to_deserialize_other { - ($($func:ident ( $($arg:ty),* ))*) => { - $( - fn $func(self, $(_: $arg,)* _visitor: V) -> Result - where - V: Visitor<'de>, - { - Self::deserialize_other() - } - )* - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'a, 'de, E> Deserializer<'de> for FlatMapDeserializer<'a, 'de, E> -where - E: Error, -{ - type Error = E; - - fn deserialize_any(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - visitor.visit_map(FlatInternallyTaggedAccess { - iter: self.0.iter_mut(), - pending: None, - _marker: PhantomData, - }) - } - - fn deserialize_enum( - self, - name: &'static str, - variants: &'static [&'static str], - visitor: V, - ) -> Result - where - V: Visitor<'de>, - { - for item in self.0.iter_mut() { - // items in the vector are nulled out when used. So we can only use - // an item if it's still filled in and if the field is one we care - // about. - let use_item = match *item { - None => false, - Some((ref c, _)) => c.as_str().map_or(false, |x| variants.contains(&x)), - }; - - if use_item { - let (key, value) = item.take().unwrap(); - return visitor.visit_enum(EnumDeserializer::new(key, Some(value))); - } - } - - Err(Error::custom(format_args!( - "no variant of enum {} found in flattened data", - name - ))) - } - - fn deserialize_map(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - visitor.visit_map(FlatMapAccess::new(self.0.iter())) - } - - fn deserialize_struct( - self, - _: &'static str, - fields: &'static [&'static str], - visitor: V, - ) -> Result - where - V: Visitor<'de>, - { - visitor.visit_map(FlatStructAccess::new(self.0.iter_mut(), fields)) - } - - fn deserialize_newtype_struct(self, _name: &str, visitor: V) -> Result - where - V: Visitor<'de>, - { - visitor.visit_newtype_struct(self) - } - - fn deserialize_option(self, visitor: V) -> Result - where - V: Visitor<'de>, - { - match visitor.__private_visit_untagged_option(self) { - Ok(value) => Ok(value), - Err(()) => Self::deserialize_other(), - } - } - - forward_to_deserialize_other! { - deserialize_bool() - deserialize_i8() - deserialize_i16() - deserialize_i32() - deserialize_i64() - deserialize_u8() - deserialize_u16() - deserialize_u32() - deserialize_u64() - deserialize_f32() - deserialize_f64() - deserialize_char() - deserialize_str() - deserialize_string() - deserialize_bytes() - deserialize_byte_buf() - deserialize_unit() - deserialize_unit_struct(&'static str) - deserialize_seq() - deserialize_tuple(usize) - deserialize_tuple_struct(&'static str, usize) - deserialize_identifier() - deserialize_ignored_any() - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -pub struct FlatMapAccess<'a, 'de: 'a, E> { - iter: slice::Iter<'a, Option<(Content<'de>, Content<'de>)>>, - pending_content: Option<&'a Content<'de>>, - _marker: PhantomData, -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'a, 'de, E> FlatMapAccess<'a, 'de, E> { - fn new( - iter: slice::Iter<'a, Option<(Content<'de>, Content<'de>)>>, - ) -> FlatMapAccess<'a, 'de, E> { - FlatMapAccess { - iter: iter, - pending_content: None, - _marker: PhantomData, - } - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'a, 'de, E> MapAccess<'de> for FlatMapAccess<'a, 'de, E> -where - E: Error, -{ - type Error = E; - - fn next_key_seed(&mut self, seed: T) -> Result, Self::Error> - where - T: DeserializeSeed<'de>, - { - while let Some(item) = self.iter.next() { - // Items in the vector are nulled out when used by a struct. - if let Some((ref key, ref content)) = *item { - self.pending_content = Some(content); - return seed.deserialize(ContentRefDeserializer::new(key)).map(Some); - } - } - Ok(None) - } - - fn next_value_seed(&mut self, seed: T) -> Result - where - T: DeserializeSeed<'de>, - { - match self.pending_content.take() { - Some(value) => seed.deserialize(ContentRefDeserializer::new(value)), - None => Err(Error::custom("value is missing")), - } - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -pub struct FlatStructAccess<'a, 'de: 'a, E> { - iter: slice::IterMut<'a, Option<(Content<'de>, Content<'de>)>>, - pending_content: Option>, - fields: &'static [&'static str], - _marker: PhantomData, -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'a, 'de, E> FlatStructAccess<'a, 'de, E> { - fn new( - iter: slice::IterMut<'a, Option<(Content<'de>, Content<'de>)>>, - fields: &'static [&'static str], - ) -> FlatStructAccess<'a, 'de, E> { - FlatStructAccess { - iter: iter, - pending_content: None, - fields: fields, - _marker: PhantomData, - } - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'a, 'de, E> MapAccess<'de> for FlatStructAccess<'a, 'de, E> -where - E: Error, -{ - type Error = E; - - fn next_key_seed(&mut self, seed: T) -> Result, Self::Error> - where - T: DeserializeSeed<'de>, - { - while let Some(item) = self.iter.next() { - // items in the vector are nulled out when used. So we can only use - // an item if it's still filled in and if the field is one we care - // about. In case we do not know which fields we want, we take them all. - let use_item = match *item { - None => false, - Some((ref c, _)) => c.as_str().map_or(false, |key| self.fields.contains(&key)), - }; - - if use_item { - let (key, content) = item.take().unwrap(); - self.pending_content = Some(content); - return seed.deserialize(ContentDeserializer::new(key)).map(Some); - } - } - Ok(None) - } - - fn next_value_seed(&mut self, seed: T) -> Result - where - T: DeserializeSeed<'de>, - { - match self.pending_content.take() { - Some(value) => seed.deserialize(ContentDeserializer::new(value)), - None => Err(Error::custom("value is missing")), - } - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -pub struct FlatInternallyTaggedAccess<'a, 'de: 'a, E> { - iter: slice::IterMut<'a, Option<(Content<'de>, Content<'de>)>>, - pending: Option<&'a Content<'de>>, - _marker: PhantomData, -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'a, 'de, E> MapAccess<'de> for FlatInternallyTaggedAccess<'a, 'de, E> -where - E: Error, -{ - type Error = E; - - fn next_key_seed(&mut self, seed: T) -> Result, Self::Error> - where - T: DeserializeSeed<'de>, - { - while let Some(item) = self.iter.next() { - if let Some((ref key, ref content)) = *item { - // Do not take(), instead borrow this entry. The internally tagged - // enum does its own buffering so we can't tell whether this entry - // is going to be consumed. Borrowing here leaves the entry - // available for later flattened fields. - self.pending = Some(content); - return seed.deserialize(ContentRefDeserializer::new(key)).map(Some); - } - } - Ok(None) - } - - fn next_value_seed(&mut self, seed: T) -> Result - where - T: DeserializeSeed<'de>, - { - match self.pending.take() { - Some(value) => seed.deserialize(ContentRefDeserializer::new(value)), - None => panic!("value is missing"), - } - } -} diff --git a/vendor/registry-40351f815f426200/serde/src/private/macros.rs b/vendor/registry-40351f815f426200/serde/src/private/macros.rs deleted file mode 100644 index 4f7054f5d..000000000 --- a/vendor/registry-40351f815f426200/serde/src/private/macros.rs +++ /dev/null @@ -1,140 +0,0 @@ -#[doc(hidden)] -#[macro_export] -macro_rules! __private_serialize { - () => { - trait Serialize { - fn serialize(&self, serializer: S) -> Result - where - S: $crate::Serializer; - } - }; -} - -#[doc(hidden)] -#[macro_export] -macro_rules! __private_deserialize { - () => { - trait Deserialize<'de>: Sized { - fn deserialize(deserializer: D) -> Result - where - D: $crate::Deserializer<'de>; - } - }; -} - -/// Used only by Serde doc tests. Not public API. -#[doc(hidden)] -#[macro_export(local_inner_macros)] -macro_rules! __serialize_unimplemented { - ($($func:ident)*) => { - $( - __serialize_unimplemented_helper!($func); - )* - }; -} - -#[doc(hidden)] -#[macro_export] -macro_rules! __serialize_unimplemented_method { - ($func:ident $(<$t:ident>)* ($($arg:ty),*) -> $ret:ident) => { - fn $func $(<$t: ?Sized + $crate::Serialize>)* (self $(, _: $arg)*) -> $crate::export::Result { - unimplemented!() - } - }; -} - -#[doc(hidden)] -#[macro_export(local_inner_macros)] -macro_rules! __serialize_unimplemented_helper { - (bool) => { - __serialize_unimplemented_method!(serialize_bool(bool) -> Ok); - }; - (i8) => { - __serialize_unimplemented_method!(serialize_i8(i8) -> Ok); - }; - (i16) => { - __serialize_unimplemented_method!(serialize_i16(i16) -> Ok); - }; - (i32) => { - __serialize_unimplemented_method!(serialize_i32(i32) -> Ok); - }; - (i64) => { - __serialize_unimplemented_method!(serialize_i64(i64) -> Ok); - }; - (u8) => { - __serialize_unimplemented_method!(serialize_u8(u8) -> Ok); - }; - (u16) => { - __serialize_unimplemented_method!(serialize_u16(u16) -> Ok); - }; - (u32) => { - __serialize_unimplemented_method!(serialize_u32(u32) -> Ok); - }; - (u64) => { - __serialize_unimplemented_method!(serialize_u64(u64) -> Ok); - }; - (f32) => { - __serialize_unimplemented_method!(serialize_f32(f32) -> Ok); - }; - (f64) => { - __serialize_unimplemented_method!(serialize_f64(f64) -> Ok); - }; - (char) => { - __serialize_unimplemented_method!(serialize_char(char) -> Ok); - }; - (str) => { - __serialize_unimplemented_method!(serialize_str(&str) -> Ok); - }; - (bytes) => { - __serialize_unimplemented_method!(serialize_bytes(&[u8]) -> Ok); - }; - (none) => { - __serialize_unimplemented_method!(serialize_none() -> Ok); - }; - (some) => { - __serialize_unimplemented_method!(serialize_some(&T) -> Ok); - }; - (unit) => { - __serialize_unimplemented_method!(serialize_unit() -> Ok); - }; - (unit_struct) => { - __serialize_unimplemented_method!(serialize_unit_struct(&str) -> Ok); - }; - (unit_variant) => { - __serialize_unimplemented_method!(serialize_unit_variant(&str, u32, &str) -> Ok); - }; - (newtype_struct) => { - __serialize_unimplemented_method!(serialize_newtype_struct(&str, &T) -> Ok); - }; - (newtype_variant) => { - __serialize_unimplemented_method!(serialize_newtype_variant(&str, u32, &str, &T) -> Ok); - }; - (seq) => { - type SerializeSeq = $crate::ser::Impossible; - __serialize_unimplemented_method!(serialize_seq(Option) -> SerializeSeq); - }; - (tuple) => { - type SerializeTuple = $crate::ser::Impossible; - __serialize_unimplemented_method!(serialize_tuple(usize) -> SerializeTuple); - }; - (tuple_struct) => { - type SerializeTupleStruct = $crate::ser::Impossible; - __serialize_unimplemented_method!(serialize_tuple_struct(&str, usize) -> SerializeTupleStruct); - }; - (tuple_variant) => { - type SerializeTupleVariant = $crate::ser::Impossible; - __serialize_unimplemented_method!(serialize_tuple_variant(&str, u32, &str, usize) -> SerializeTupleVariant); - }; - (map) => { - type SerializeMap = $crate::ser::Impossible; - __serialize_unimplemented_method!(serialize_map(Option) -> SerializeMap); - }; - (struct) => { - type SerializeStruct = $crate::ser::Impossible; - __serialize_unimplemented_method!(serialize_struct(&str, usize) -> SerializeStruct); - }; - (struct_variant) => { - type SerializeStructVariant = $crate::ser::Impossible; - __serialize_unimplemented_method!(serialize_struct_variant(&str, u32, &str, usize) -> SerializeStructVariant); - }; -} diff --git a/vendor/registry-40351f815f426200/serde/src/private/mod.rs b/vendor/registry-40351f815f426200/serde/src/private/mod.rs deleted file mode 100644 index 79e0a7d00..000000000 --- a/vendor/registry-40351f815f426200/serde/src/private/mod.rs +++ /dev/null @@ -1,4 +0,0 @@ -mod macros; - -pub mod de; -pub mod ser; diff --git a/vendor/registry-40351f815f426200/serde/src/private/ser.rs b/vendor/registry-40351f815f426200/serde/src/private/ser.rs deleted file mode 100644 index 05f7e40af..000000000 --- a/vendor/registry-40351f815f426200/serde/src/private/ser.rs +++ /dev/null @@ -1,1326 +0,0 @@ -use lib::*; - -use ser::{self, Impossible, Serialize, SerializeMap, SerializeStruct, Serializer}; - -#[cfg(any(feature = "std", feature = "alloc"))] -use self::content::{ - Content, ContentSerializer, SerializeStructVariantAsMapValue, SerializeTupleVariantAsMapValue, -}; - -/// Used to check that serde(getter) attributes return the expected type. -/// Not public API. -pub fn constrain(t: &T) -> &T { - t -} - -/// Not public API. -pub fn serialize_tagged_newtype( - serializer: S, - type_ident: &'static str, - variant_ident: &'static str, - tag: &'static str, - variant_name: &'static str, - value: &T, -) -> Result -where - S: Serializer, - T: Serialize, -{ - value.serialize(TaggedSerializer { - type_ident: type_ident, - variant_ident: variant_ident, - tag: tag, - variant_name: variant_name, - delegate: serializer, - }) -} - -struct TaggedSerializer { - type_ident: &'static str, - variant_ident: &'static str, - tag: &'static str, - variant_name: &'static str, - delegate: S, -} - -enum Unsupported { - Boolean, - Integer, - Float, - Char, - String, - ByteArray, - Optional, - Unit, - #[cfg(any(feature = "std", feature = "alloc"))] - UnitStruct, - Sequence, - Tuple, - TupleStruct, - Enum, -} - -impl Display for Unsupported { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - match *self { - Unsupported::Boolean => formatter.write_str("a boolean"), - Unsupported::Integer => formatter.write_str("an integer"), - Unsupported::Float => formatter.write_str("a float"), - Unsupported::Char => formatter.write_str("a char"), - Unsupported::String => formatter.write_str("a string"), - Unsupported::ByteArray => formatter.write_str("a byte array"), - Unsupported::Optional => formatter.write_str("an optional"), - Unsupported::Unit => formatter.write_str("unit"), - #[cfg(any(feature = "std", feature = "alloc"))] - Unsupported::UnitStruct => formatter.write_str("unit struct"), - Unsupported::Sequence => formatter.write_str("a sequence"), - Unsupported::Tuple => formatter.write_str("a tuple"), - Unsupported::TupleStruct => formatter.write_str("a tuple struct"), - Unsupported::Enum => formatter.write_str("an enum"), - } - } -} - -impl TaggedSerializer -where - S: Serializer, -{ - fn bad_type(self, what: Unsupported) -> S::Error { - ser::Error::custom(format_args!( - "cannot serialize tagged newtype variant {}::{} containing {}", - self.type_ident, self.variant_ident, what - )) - } -} - -impl Serializer for TaggedSerializer -where - S: Serializer, -{ - type Ok = S::Ok; - type Error = S::Error; - - type SerializeSeq = Impossible; - type SerializeTuple = Impossible; - type SerializeTupleStruct = Impossible; - type SerializeMap = S::SerializeMap; - type SerializeStruct = S::SerializeStruct; - - #[cfg(not(any(feature = "std", feature = "alloc")))] - type SerializeTupleVariant = Impossible; - #[cfg(any(feature = "std", feature = "alloc"))] - type SerializeTupleVariant = SerializeTupleVariantAsMapValue; - - #[cfg(not(any(feature = "std", feature = "alloc")))] - type SerializeStructVariant = Impossible; - #[cfg(any(feature = "std", feature = "alloc"))] - type SerializeStructVariant = SerializeStructVariantAsMapValue; - - fn serialize_bool(self, _: bool) -> Result { - Err(self.bad_type(Unsupported::Boolean)) - } - - fn serialize_i8(self, _: i8) -> Result { - Err(self.bad_type(Unsupported::Integer)) - } - - fn serialize_i16(self, _: i16) -> Result { - Err(self.bad_type(Unsupported::Integer)) - } - - fn serialize_i32(self, _: i32) -> Result { - Err(self.bad_type(Unsupported::Integer)) - } - - fn serialize_i64(self, _: i64) -> Result { - Err(self.bad_type(Unsupported::Integer)) - } - - fn serialize_u8(self, _: u8) -> Result { - Err(self.bad_type(Unsupported::Integer)) - } - - fn serialize_u16(self, _: u16) -> Result { - Err(self.bad_type(Unsupported::Integer)) - } - - fn serialize_u32(self, _: u32) -> Result { - Err(self.bad_type(Unsupported::Integer)) - } - - fn serialize_u64(self, _: u64) -> Result { - Err(self.bad_type(Unsupported::Integer)) - } - - fn serialize_f32(self, _: f32) -> Result { - Err(self.bad_type(Unsupported::Float)) - } - - fn serialize_f64(self, _: f64) -> Result { - Err(self.bad_type(Unsupported::Float)) - } - - fn serialize_char(self, _: char) -> Result { - Err(self.bad_type(Unsupported::Char)) - } - - fn serialize_str(self, _: &str) -> Result { - Err(self.bad_type(Unsupported::String)) - } - - fn serialize_bytes(self, _: &[u8]) -> Result { - Err(self.bad_type(Unsupported::ByteArray)) - } - - fn serialize_none(self) -> Result { - Err(self.bad_type(Unsupported::Optional)) - } - - fn serialize_some(self, _: &T) -> Result - where - T: Serialize, - { - Err(self.bad_type(Unsupported::Optional)) - } - - fn serialize_unit(self) -> Result { - Err(self.bad_type(Unsupported::Unit)) - } - - fn serialize_unit_struct(self, _: &'static str) -> Result { - let mut map = try!(self.delegate.serialize_map(Some(1))); - try!(map.serialize_entry(self.tag, self.variant_name)); - map.end() - } - - fn serialize_unit_variant( - self, - _: &'static str, - _: u32, - inner_variant: &'static str, - ) -> Result { - let mut map = try!(self.delegate.serialize_map(Some(2))); - try!(map.serialize_entry(self.tag, self.variant_name)); - try!(map.serialize_entry(inner_variant, &())); - map.end() - } - - fn serialize_newtype_struct( - self, - _: &'static str, - value: &T, - ) -> Result - where - T: Serialize, - { - value.serialize(self) - } - - fn serialize_newtype_variant( - self, - _: &'static str, - _: u32, - inner_variant: &'static str, - inner_value: &T, - ) -> Result - where - T: Serialize, - { - let mut map = try!(self.delegate.serialize_map(Some(2))); - try!(map.serialize_entry(self.tag, self.variant_name)); - try!(map.serialize_entry(inner_variant, inner_value)); - map.end() - } - - fn serialize_seq(self, _: Option) -> Result { - Err(self.bad_type(Unsupported::Sequence)) - } - - fn serialize_tuple(self, _: usize) -> Result { - Err(self.bad_type(Unsupported::Tuple)) - } - - fn serialize_tuple_struct( - self, - _: &'static str, - _: usize, - ) -> Result { - Err(self.bad_type(Unsupported::TupleStruct)) - } - - #[cfg(not(any(feature = "std", feature = "alloc")))] - fn serialize_tuple_variant( - self, - _: &'static str, - _: u32, - _: &'static str, - _: usize, - ) -> Result { - // Lack of push-based serialization means we need to buffer the content - // of the tuple variant, so it requires std. - Err(self.bad_type(Unsupported::Enum)) - } - - #[cfg(any(feature = "std", feature = "alloc"))] - fn serialize_tuple_variant( - self, - _: &'static str, - _: u32, - inner_variant: &'static str, - len: usize, - ) -> Result { - let mut map = try!(self.delegate.serialize_map(Some(2))); - try!(map.serialize_entry(self.tag, self.variant_name)); - try!(map.serialize_key(inner_variant)); - Ok(SerializeTupleVariantAsMapValue::new( - map, - inner_variant, - len, - )) - } - - fn serialize_map(self, len: Option) -> Result { - let mut map = try!(self.delegate.serialize_map(len.map(|len| len + 1))); - try!(map.serialize_entry(self.tag, self.variant_name)); - Ok(map) - } - - fn serialize_struct( - self, - name: &'static str, - len: usize, - ) -> Result { - let mut state = try!(self.delegate.serialize_struct(name, len + 1)); - try!(state.serialize_field(self.tag, self.variant_name)); - Ok(state) - } - - #[cfg(not(any(feature = "std", feature = "alloc")))] - fn serialize_struct_variant( - self, - _: &'static str, - _: u32, - _: &'static str, - _: usize, - ) -> Result { - // Lack of push-based serialization means we need to buffer the content - // of the struct variant, so it requires std. - Err(self.bad_type(Unsupported::Enum)) - } - - #[cfg(any(feature = "std", feature = "alloc"))] - fn serialize_struct_variant( - self, - _: &'static str, - _: u32, - inner_variant: &'static str, - len: usize, - ) -> Result { - let mut map = try!(self.delegate.serialize_map(Some(2))); - try!(map.serialize_entry(self.tag, self.variant_name)); - try!(map.serialize_key(inner_variant)); - Ok(SerializeStructVariantAsMapValue::new( - map, - inner_variant, - len, - )) - } - - #[cfg(not(any(feature = "std", feature = "alloc")))] - fn collect_str(self, _: &T) -> Result - where - T: Display, - { - Err(self.bad_type(Unsupported::String)) - } -} - -/// Used only by Serde doc tests. Not public API. -#[doc(hidden)] -#[derive(Debug)] -pub struct Error; - -impl ser::Error for Error { - fn custom(_: T) -> Self - where - T: Display, - { - unimplemented!() - } -} - -#[cfg(feature = "std")] -impl error::Error for Error { - fn description(&self) -> &str { - unimplemented!() - } -} - -impl Display for Error { - fn fmt(&self, _: &mut fmt::Formatter) -> fmt::Result { - unimplemented!() - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -mod content { - use lib::*; - - use ser::{self, Serialize, Serializer}; - - pub struct SerializeTupleVariantAsMapValue { - map: M, - name: &'static str, - fields: Vec, - } - - impl SerializeTupleVariantAsMapValue { - pub fn new(map: M, name: &'static str, len: usize) -> Self { - SerializeTupleVariantAsMapValue { - map: map, - name: name, - fields: Vec::with_capacity(len), - } - } - } - - impl ser::SerializeTupleVariant for SerializeTupleVariantAsMapValue - where - M: ser::SerializeMap, - { - type Ok = M::Ok; - type Error = M::Error; - - fn serialize_field(&mut self, value: &T) -> Result<(), M::Error> - where - T: Serialize, - { - let value = try!(value.serialize(ContentSerializer::::new())); - self.fields.push(value); - Ok(()) - } - - fn end(mut self) -> Result { - try!(self - .map - .serialize_value(&Content::TupleStruct(self.name, self.fields))); - self.map.end() - } - } - - pub struct SerializeStructVariantAsMapValue { - map: M, - name: &'static str, - fields: Vec<(&'static str, Content)>, - } - - impl SerializeStructVariantAsMapValue { - pub fn new(map: M, name: &'static str, len: usize) -> Self { - SerializeStructVariantAsMapValue { - map: map, - name: name, - fields: Vec::with_capacity(len), - } - } - } - - impl ser::SerializeStructVariant for SerializeStructVariantAsMapValue - where - M: ser::SerializeMap, - { - type Ok = M::Ok; - type Error = M::Error; - - fn serialize_field( - &mut self, - key: &'static str, - value: &T, - ) -> Result<(), M::Error> - where - T: Serialize, - { - let value = try!(value.serialize(ContentSerializer::::new())); - self.fields.push((key, value)); - Ok(()) - } - - fn end(mut self) -> Result { - try!(self - .map - .serialize_value(&Content::Struct(self.name, self.fields))); - self.map.end() - } - } - - #[derive(Debug)] - pub enum Content { - Bool(bool), - - U8(u8), - U16(u16), - U32(u32), - U64(u64), - - I8(i8), - I16(i16), - I32(i32), - I64(i64), - - F32(f32), - F64(f64), - - Char(char), - String(String), - Bytes(Vec), - - None, - Some(Box), - - Unit, - UnitStruct(&'static str), - UnitVariant(&'static str, u32, &'static str), - NewtypeStruct(&'static str, Box), - NewtypeVariant(&'static str, u32, &'static str, Box), - - Seq(Vec), - Tuple(Vec), - TupleStruct(&'static str, Vec), - TupleVariant(&'static str, u32, &'static str, Vec), - Map(Vec<(Content, Content)>), - Struct(&'static str, Vec<(&'static str, Content)>), - StructVariant( - &'static str, - u32, - &'static str, - Vec<(&'static str, Content)>, - ), - } - - impl Serialize for Content { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - match *self { - Content::Bool(b) => serializer.serialize_bool(b), - Content::U8(u) => serializer.serialize_u8(u), - Content::U16(u) => serializer.serialize_u16(u), - Content::U32(u) => serializer.serialize_u32(u), - Content::U64(u) => serializer.serialize_u64(u), - Content::I8(i) => serializer.serialize_i8(i), - Content::I16(i) => serializer.serialize_i16(i), - Content::I32(i) => serializer.serialize_i32(i), - Content::I64(i) => serializer.serialize_i64(i), - Content::F32(f) => serializer.serialize_f32(f), - Content::F64(f) => serializer.serialize_f64(f), - Content::Char(c) => serializer.serialize_char(c), - Content::String(ref s) => serializer.serialize_str(s), - Content::Bytes(ref b) => serializer.serialize_bytes(b), - Content::None => serializer.serialize_none(), - Content::Some(ref c) => serializer.serialize_some(&**c), - Content::Unit => serializer.serialize_unit(), - Content::UnitStruct(n) => serializer.serialize_unit_struct(n), - Content::UnitVariant(n, i, v) => serializer.serialize_unit_variant(n, i, v), - Content::NewtypeStruct(n, ref c) => serializer.serialize_newtype_struct(n, &**c), - Content::NewtypeVariant(n, i, v, ref c) => { - serializer.serialize_newtype_variant(n, i, v, &**c) - } - Content::Seq(ref elements) => elements.serialize(serializer), - Content::Tuple(ref elements) => { - use ser::SerializeTuple; - let mut tuple = try!(serializer.serialize_tuple(elements.len())); - for e in elements { - try!(tuple.serialize_element(e)); - } - tuple.end() - } - Content::TupleStruct(n, ref fields) => { - use ser::SerializeTupleStruct; - let mut ts = try!(serializer.serialize_tuple_struct(n, fields.len())); - for f in fields { - try!(ts.serialize_field(f)); - } - ts.end() - } - Content::TupleVariant(n, i, v, ref fields) => { - use ser::SerializeTupleVariant; - let mut tv = try!(serializer.serialize_tuple_variant(n, i, v, fields.len())); - for f in fields { - try!(tv.serialize_field(f)); - } - tv.end() - } - Content::Map(ref entries) => { - use ser::SerializeMap; - let mut map = try!(serializer.serialize_map(Some(entries.len()))); - for &(ref k, ref v) in entries { - try!(map.serialize_entry(k, v)); - } - map.end() - } - Content::Struct(n, ref fields) => { - use ser::SerializeStruct; - let mut s = try!(serializer.serialize_struct(n, fields.len())); - for &(k, ref v) in fields { - try!(s.serialize_field(k, v)); - } - s.end() - } - Content::StructVariant(n, i, v, ref fields) => { - use ser::SerializeStructVariant; - let mut sv = try!(serializer.serialize_struct_variant(n, i, v, fields.len())); - for &(k, ref v) in fields { - try!(sv.serialize_field(k, v)); - } - sv.end() - } - } - } - } - - pub struct ContentSerializer { - error: PhantomData, - } - - impl ContentSerializer { - pub fn new() -> Self { - ContentSerializer { error: PhantomData } - } - } - - impl Serializer for ContentSerializer - where - E: ser::Error, - { - type Ok = Content; - type Error = E; - - type SerializeSeq = SerializeSeq; - type SerializeTuple = SerializeTuple; - type SerializeTupleStruct = SerializeTupleStruct; - type SerializeTupleVariant = SerializeTupleVariant; - type SerializeMap = SerializeMap; - type SerializeStruct = SerializeStruct; - type SerializeStructVariant = SerializeStructVariant; - - fn serialize_bool(self, v: bool) -> Result { - Ok(Content::Bool(v)) - } - - fn serialize_i8(self, v: i8) -> Result { - Ok(Content::I8(v)) - } - - fn serialize_i16(self, v: i16) -> Result { - Ok(Content::I16(v)) - } - - fn serialize_i32(self, v: i32) -> Result { - Ok(Content::I32(v)) - } - - fn serialize_i64(self, v: i64) -> Result { - Ok(Content::I64(v)) - } - - fn serialize_u8(self, v: u8) -> Result { - Ok(Content::U8(v)) - } - - fn serialize_u16(self, v: u16) -> Result { - Ok(Content::U16(v)) - } - - fn serialize_u32(self, v: u32) -> Result { - Ok(Content::U32(v)) - } - - fn serialize_u64(self, v: u64) -> Result { - Ok(Content::U64(v)) - } - - fn serialize_f32(self, v: f32) -> Result { - Ok(Content::F32(v)) - } - - fn serialize_f64(self, v: f64) -> Result { - Ok(Content::F64(v)) - } - - fn serialize_char(self, v: char) -> Result { - Ok(Content::Char(v)) - } - - fn serialize_str(self, value: &str) -> Result { - Ok(Content::String(value.to_owned())) - } - - fn serialize_bytes(self, value: &[u8]) -> Result { - Ok(Content::Bytes(value.to_owned())) - } - - fn serialize_none(self) -> Result { - Ok(Content::None) - } - - fn serialize_some(self, value: &T) -> Result - where - T: Serialize, - { - Ok(Content::Some(Box::new(try!(value.serialize(self))))) - } - - fn serialize_unit(self) -> Result { - Ok(Content::Unit) - } - - fn serialize_unit_struct(self, name: &'static str) -> Result { - Ok(Content::UnitStruct(name)) - } - - fn serialize_unit_variant( - self, - name: &'static str, - variant_index: u32, - variant: &'static str, - ) -> Result { - Ok(Content::UnitVariant(name, variant_index, variant)) - } - - fn serialize_newtype_struct( - self, - name: &'static str, - value: &T, - ) -> Result - where - T: Serialize, - { - Ok(Content::NewtypeStruct( - name, - Box::new(try!(value.serialize(self))), - )) - } - - fn serialize_newtype_variant( - self, - name: &'static str, - variant_index: u32, - variant: &'static str, - value: &T, - ) -> Result - where - T: Serialize, - { - Ok(Content::NewtypeVariant( - name, - variant_index, - variant, - Box::new(try!(value.serialize(self))), - )) - } - - fn serialize_seq(self, len: Option) -> Result { - Ok(SerializeSeq { - elements: Vec::with_capacity(len.unwrap_or(0)), - error: PhantomData, - }) - } - - fn serialize_tuple(self, len: usize) -> Result { - Ok(SerializeTuple { - elements: Vec::with_capacity(len), - error: PhantomData, - }) - } - - fn serialize_tuple_struct( - self, - name: &'static str, - len: usize, - ) -> Result { - Ok(SerializeTupleStruct { - name: name, - fields: Vec::with_capacity(len), - error: PhantomData, - }) - } - - fn serialize_tuple_variant( - self, - name: &'static str, - variant_index: u32, - variant: &'static str, - len: usize, - ) -> Result { - Ok(SerializeTupleVariant { - name: name, - variant_index: variant_index, - variant: variant, - fields: Vec::with_capacity(len), - error: PhantomData, - }) - } - - fn serialize_map(self, len: Option) -> Result { - Ok(SerializeMap { - entries: Vec::with_capacity(len.unwrap_or(0)), - key: None, - error: PhantomData, - }) - } - - fn serialize_struct( - self, - name: &'static str, - len: usize, - ) -> Result { - Ok(SerializeStruct { - name: name, - fields: Vec::with_capacity(len), - error: PhantomData, - }) - } - - fn serialize_struct_variant( - self, - name: &'static str, - variant_index: u32, - variant: &'static str, - len: usize, - ) -> Result { - Ok(SerializeStructVariant { - name: name, - variant_index: variant_index, - variant: variant, - fields: Vec::with_capacity(len), - error: PhantomData, - }) - } - } - - pub struct SerializeSeq { - elements: Vec, - error: PhantomData, - } - - impl ser::SerializeSeq for SerializeSeq - where - E: ser::Error, - { - type Ok = Content; - type Error = E; - - fn serialize_element(&mut self, value: &T) -> Result<(), E> - where - T: Serialize, - { - let value = try!(value.serialize(ContentSerializer::::new())); - self.elements.push(value); - Ok(()) - } - - fn end(self) -> Result { - Ok(Content::Seq(self.elements)) - } - } - - pub struct SerializeTuple { - elements: Vec, - error: PhantomData, - } - - impl ser::SerializeTuple for SerializeTuple - where - E: ser::Error, - { - type Ok = Content; - type Error = E; - - fn serialize_element(&mut self, value: &T) -> Result<(), E> - where - T: Serialize, - { - let value = try!(value.serialize(ContentSerializer::::new())); - self.elements.push(value); - Ok(()) - } - - fn end(self) -> Result { - Ok(Content::Tuple(self.elements)) - } - } - - pub struct SerializeTupleStruct { - name: &'static str, - fields: Vec, - error: PhantomData, - } - - impl ser::SerializeTupleStruct for SerializeTupleStruct - where - E: ser::Error, - { - type Ok = Content; - type Error = E; - - fn serialize_field(&mut self, value: &T) -> Result<(), E> - where - T: Serialize, - { - let value = try!(value.serialize(ContentSerializer::::new())); - self.fields.push(value); - Ok(()) - } - - fn end(self) -> Result { - Ok(Content::TupleStruct(self.name, self.fields)) - } - } - - pub struct SerializeTupleVariant { - name: &'static str, - variant_index: u32, - variant: &'static str, - fields: Vec, - error: PhantomData, - } - - impl ser::SerializeTupleVariant for SerializeTupleVariant - where - E: ser::Error, - { - type Ok = Content; - type Error = E; - - fn serialize_field(&mut self, value: &T) -> Result<(), E> - where - T: Serialize, - { - let value = try!(value.serialize(ContentSerializer::::new())); - self.fields.push(value); - Ok(()) - } - - fn end(self) -> Result { - Ok(Content::TupleVariant( - self.name, - self.variant_index, - self.variant, - self.fields, - )) - } - } - - pub struct SerializeMap { - entries: Vec<(Content, Content)>, - key: Option, - error: PhantomData, - } - - impl ser::SerializeMap for SerializeMap - where - E: ser::Error, - { - type Ok = Content; - type Error = E; - - fn serialize_key(&mut self, key: &T) -> Result<(), E> - where - T: Serialize, - { - let key = try!(key.serialize(ContentSerializer::::new())); - self.key = Some(key); - Ok(()) - } - - fn serialize_value(&mut self, value: &T) -> Result<(), E> - where - T: Serialize, - { - let key = self - .key - .take() - .expect("serialize_value called before serialize_key"); - let value = try!(value.serialize(ContentSerializer::::new())); - self.entries.push((key, value)); - Ok(()) - } - - fn end(self) -> Result { - Ok(Content::Map(self.entries)) - } - - fn serialize_entry(&mut self, key: &K, value: &V) -> Result<(), E> - where - K: Serialize, - V: Serialize, - { - let key = try!(key.serialize(ContentSerializer::::new())); - let value = try!(value.serialize(ContentSerializer::::new())); - self.entries.push((key, value)); - Ok(()) - } - } - - pub struct SerializeStruct { - name: &'static str, - fields: Vec<(&'static str, Content)>, - error: PhantomData, - } - - impl ser::SerializeStruct for SerializeStruct - where - E: ser::Error, - { - type Ok = Content; - type Error = E; - - fn serialize_field(&mut self, key: &'static str, value: &T) -> Result<(), E> - where - T: Serialize, - { - let value = try!(value.serialize(ContentSerializer::::new())); - self.fields.push((key, value)); - Ok(()) - } - - fn end(self) -> Result { - Ok(Content::Struct(self.name, self.fields)) - } - } - - pub struct SerializeStructVariant { - name: &'static str, - variant_index: u32, - variant: &'static str, - fields: Vec<(&'static str, Content)>, - error: PhantomData, - } - - impl ser::SerializeStructVariant for SerializeStructVariant - where - E: ser::Error, - { - type Ok = Content; - type Error = E; - - fn serialize_field(&mut self, key: &'static str, value: &T) -> Result<(), E> - where - T: Serialize, - { - let value = try!(value.serialize(ContentSerializer::::new())); - self.fields.push((key, value)); - Ok(()) - } - - fn end(self) -> Result { - Ok(Content::StructVariant( - self.name, - self.variant_index, - self.variant, - self.fields, - )) - } - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -pub struct FlatMapSerializer<'a, M: 'a>(pub &'a mut M); - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'a, M> FlatMapSerializer<'a, M> -where - M: SerializeMap + 'a, -{ - fn bad_type(self, what: Unsupported) -> M::Error { - ser::Error::custom(format_args!( - "can only flatten structs and maps (got {})", - what - )) - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'a, M> Serializer for FlatMapSerializer<'a, M> -where - M: SerializeMap + 'a, -{ - type Ok = (); - type Error = M::Error; - - type SerializeSeq = Impossible; - type SerializeTuple = Impossible; - type SerializeTupleStruct = Impossible; - type SerializeMap = FlatMapSerializeMap<'a, M>; - type SerializeStruct = FlatMapSerializeStruct<'a, M>; - type SerializeTupleVariant = Impossible; - type SerializeStructVariant = FlatMapSerializeStructVariantAsMapValue<'a, M>; - - fn serialize_bool(self, _: bool) -> Result { - Err(self.bad_type(Unsupported::Boolean)) - } - - fn serialize_i8(self, _: i8) -> Result { - Err(self.bad_type(Unsupported::Integer)) - } - - fn serialize_i16(self, _: i16) -> Result { - Err(self.bad_type(Unsupported::Integer)) - } - - fn serialize_i32(self, _: i32) -> Result { - Err(self.bad_type(Unsupported::Integer)) - } - - fn serialize_i64(self, _: i64) -> Result { - Err(self.bad_type(Unsupported::Integer)) - } - - fn serialize_u8(self, _: u8) -> Result { - Err(self.bad_type(Unsupported::Integer)) - } - - fn serialize_u16(self, _: u16) -> Result { - Err(self.bad_type(Unsupported::Integer)) - } - - fn serialize_u32(self, _: u32) -> Result { - Err(self.bad_type(Unsupported::Integer)) - } - - fn serialize_u64(self, _: u64) -> Result { - Err(self.bad_type(Unsupported::Integer)) - } - - fn serialize_f32(self, _: f32) -> Result { - Err(self.bad_type(Unsupported::Float)) - } - - fn serialize_f64(self, _: f64) -> Result { - Err(self.bad_type(Unsupported::Float)) - } - - fn serialize_char(self, _: char) -> Result { - Err(self.bad_type(Unsupported::Char)) - } - - fn serialize_str(self, _: &str) -> Result { - Err(self.bad_type(Unsupported::String)) - } - - fn serialize_bytes(self, _: &[u8]) -> Result { - Err(self.bad_type(Unsupported::ByteArray)) - } - - fn serialize_none(self) -> Result { - Ok(()) - } - - fn serialize_some(self, value: &T) -> Result - where - T: Serialize, - { - value.serialize(self) - } - - fn serialize_unit(self) -> Result { - Err(self.bad_type(Unsupported::Unit)) - } - - fn serialize_unit_struct(self, _: &'static str) -> Result { - Err(self.bad_type(Unsupported::UnitStruct)) - } - - fn serialize_unit_variant( - self, - _: &'static str, - _: u32, - _: &'static str, - ) -> Result { - Err(self.bad_type(Unsupported::Enum)) - } - - fn serialize_newtype_struct( - self, - _: &'static str, - value: &T, - ) -> Result - where - T: Serialize, - { - value.serialize(self) - } - - fn serialize_newtype_variant( - self, - _: &'static str, - _: u32, - variant: &'static str, - value: &T, - ) -> Result - where - T: Serialize, - { - try!(self.0.serialize_key(variant)); - self.0.serialize_value(value) - } - - fn serialize_seq(self, _: Option) -> Result { - Err(self.bad_type(Unsupported::Sequence)) - } - - fn serialize_tuple(self, _: usize) -> Result { - Err(self.bad_type(Unsupported::Tuple)) - } - - fn serialize_tuple_struct( - self, - _: &'static str, - _: usize, - ) -> Result { - Err(self.bad_type(Unsupported::TupleStruct)) - } - - fn serialize_tuple_variant( - self, - _: &'static str, - _: u32, - _: &'static str, - _: usize, - ) -> Result { - Err(self.bad_type(Unsupported::Enum)) - } - - fn serialize_map(self, _: Option) -> Result { - Ok(FlatMapSerializeMap(self.0)) - } - - fn serialize_struct( - self, - _: &'static str, - _: usize, - ) -> Result { - Ok(FlatMapSerializeStruct(self.0)) - } - - fn serialize_struct_variant( - self, - _: &'static str, - _: u32, - inner_variant: &'static str, - _: usize, - ) -> Result { - try!(self.0.serialize_key(inner_variant)); - Ok(FlatMapSerializeStructVariantAsMapValue::new( - self.0, - inner_variant, - )) - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -pub struct FlatMapSerializeMap<'a, M: 'a>(&'a mut M); - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'a, M> ser::SerializeMap for FlatMapSerializeMap<'a, M> -where - M: SerializeMap + 'a, -{ - type Ok = (); - type Error = M::Error; - - fn serialize_key(&mut self, key: &T) -> Result<(), Self::Error> - where - T: Serialize, - { - self.0.serialize_key(key) - } - - fn serialize_value(&mut self, value: &T) -> Result<(), Self::Error> - where - T: Serialize, - { - self.0.serialize_value(value) - } - - fn end(self) -> Result<(), Self::Error> { - Ok(()) - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -pub struct FlatMapSerializeStruct<'a, M: 'a>(&'a mut M); - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'a, M> ser::SerializeStruct for FlatMapSerializeStruct<'a, M> -where - M: SerializeMap + 'a, -{ - type Ok = (); - type Error = M::Error; - - fn serialize_field( - &mut self, - key: &'static str, - value: &T, - ) -> Result<(), Self::Error> - where - T: Serialize, - { - self.0.serialize_entry(key, value) - } - - fn end(self) -> Result<(), Self::Error> { - Ok(()) - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -pub struct FlatMapSerializeStructVariantAsMapValue<'a, M: 'a> { - map: &'a mut M, - name: &'static str, - fields: Vec<(&'static str, Content)>, -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'a, M> FlatMapSerializeStructVariantAsMapValue<'a, M> -where - M: SerializeMap + 'a, -{ - fn new(map: &'a mut M, name: &'static str) -> FlatMapSerializeStructVariantAsMapValue<'a, M> { - FlatMapSerializeStructVariantAsMapValue { - map: map, - name: name, - fields: Vec::new(), - } - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl<'a, M> ser::SerializeStructVariant for FlatMapSerializeStructVariantAsMapValue<'a, M> -where - M: SerializeMap + 'a, -{ - type Ok = (); - type Error = M::Error; - - fn serialize_field( - &mut self, - key: &'static str, - value: &T, - ) -> Result<(), Self::Error> - where - T: Serialize, - { - let value = try!(value.serialize(ContentSerializer::::new())); - self.fields.push((key, value)); - Ok(()) - } - - fn end(self) -> Result<(), Self::Error> { - try!(self - .map - .serialize_value(&Content::Struct(self.name, self.fields))); - Ok(()) - } -} diff --git a/vendor/registry-40351f815f426200/serde/src/ser/impls.rs b/vendor/registry-40351f815f426200/serde/src/ser/impls.rs deleted file mode 100644 index 49b7477a4..000000000 --- a/vendor/registry-40351f815f426200/serde/src/ser/impls.rs +++ /dev/null @@ -1,840 +0,0 @@ -use lib::*; - -use ser::{Error, Serialize, SerializeTuple, Serializer}; - -//////////////////////////////////////////////////////////////////////////////// - -macro_rules! primitive_impl { - ($ty:ident, $method:ident $($cast:tt)*) => { - impl Serialize for $ty { - #[inline] - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - serializer.$method(*self $($cast)*) - } - } - } -} - -primitive_impl!(bool, serialize_bool); -primitive_impl!(isize, serialize_i64 as i64); -primitive_impl!(i8, serialize_i8); -primitive_impl!(i16, serialize_i16); -primitive_impl!(i32, serialize_i32); -primitive_impl!(i64, serialize_i64); -primitive_impl!(usize, serialize_u64 as u64); -primitive_impl!(u8, serialize_u8); -primitive_impl!(u16, serialize_u16); -primitive_impl!(u32, serialize_u32); -primitive_impl!(u64, serialize_u64); -primitive_impl!(f32, serialize_f32); -primitive_impl!(f64, serialize_f64); -primitive_impl!(char, serialize_char); - -serde_if_integer128! { - primitive_impl!(i128, serialize_i128); - primitive_impl!(u128, serialize_u128); -} - -//////////////////////////////////////////////////////////////////////////////// - -impl Serialize for str { - #[inline] - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - serializer.serialize_str(self) - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -impl Serialize for String { - #[inline] - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - serializer.serialize_str(self) - } -} - -impl<'a> Serialize for fmt::Arguments<'a> { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - serializer.collect_str(self) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(feature = "std")] -impl Serialize for CStr { - #[inline] - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - serializer.serialize_bytes(self.to_bytes()) - } -} - -#[cfg(feature = "std")] -impl Serialize for CString { - #[inline] - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - serializer.serialize_bytes(self.to_bytes()) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -impl Serialize for Option -where - T: Serialize, -{ - #[inline] - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - match *self { - Some(ref value) => serializer.serialize_some(value), - None => serializer.serialize_none(), - } - } -} - -//////////////////////////////////////////////////////////////////////////////// - -impl Serialize for PhantomData { - #[inline] - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - serializer.serialize_unit_struct("PhantomData") - } -} - -//////////////////////////////////////////////////////////////////////////////// - -// Does not require T: Serialize. -impl Serialize for [T; 0] { - #[inline] - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - try!(serializer.serialize_tuple(0)).end() - } -} - -macro_rules! array_impls { - ($($len:tt)+) => { - $( - impl Serialize for [T; $len] - where - T: Serialize, - { - #[inline] - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - let mut seq = try!(serializer.serialize_tuple($len)); - for e in self { - try!(seq.serialize_element(e)); - } - seq.end() - } - } - )+ - } -} - -array_impls! { - 01 02 03 04 05 06 07 08 09 10 - 11 12 13 14 15 16 17 18 19 20 - 21 22 23 24 25 26 27 28 29 30 - 31 32 -} - -//////////////////////////////////////////////////////////////////////////////// - -impl Serialize for [T] -where - T: Serialize, -{ - #[inline] - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - serializer.collect_seq(self) - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -macro_rules! seq_impl { - ($ty:ident < T $(: $tbound1:ident $(+ $tbound2:ident)*)* $(, $typaram:ident : $bound:ident)* >) => { - impl Serialize for $ty - where - T: Serialize $(+ $tbound1 $(+ $tbound2)*)*, - $($typaram: $bound,)* - { - #[inline] - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - serializer.collect_seq(self) - } - } - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -seq_impl!(BinaryHeap); - -#[cfg(any(feature = "std", feature = "alloc"))] -seq_impl!(BTreeSet); - -#[cfg(feature = "std")] -seq_impl!(HashSet); - -#[cfg(any(feature = "std", feature = "alloc"))] -seq_impl!(LinkedList); - -#[cfg(any(feature = "std", feature = "alloc"))] -seq_impl!(Vec); - -#[cfg(any(feature = "std", feature = "alloc"))] -seq_impl!(VecDeque); - -//////////////////////////////////////////////////////////////////////////////// - -impl Serialize for Range -where - Idx: Serialize, -{ - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - use super::SerializeStruct; - let mut state = try!(serializer.serialize_struct("Range", 2)); - try!(state.serialize_field("start", &self.start)); - try!(state.serialize_field("end", &self.end)); - state.end() - } -} - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(range_inclusive)] -impl Serialize for RangeInclusive -where - Idx: Serialize, -{ - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - use super::SerializeStruct; - let mut state = try!(serializer.serialize_struct("RangeInclusive", 2)); - try!(state.serialize_field("start", &self.start())); - try!(state.serialize_field("end", &self.end())); - state.end() - } -} - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(any(ops_bound, collections_bound))] -impl Serialize for Bound -where - T: Serialize, -{ - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - match *self { - Bound::Unbounded => serializer.serialize_unit_variant("Bound", 0, "Unbounded"), - Bound::Included(ref value) => { - serializer.serialize_newtype_variant("Bound", 1, "Included", value) - } - Bound::Excluded(ref value) => { - serializer.serialize_newtype_variant("Bound", 2, "Excluded", value) - } - } - } -} - -//////////////////////////////////////////////////////////////////////////////// - -impl Serialize for () { - #[inline] - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - serializer.serialize_unit() - } -} - -#[cfg(feature = "unstable")] -impl Serialize for ! { - fn serialize(&self, _serializer: S) -> Result - where - S: Serializer, - { - *self - } -} - -//////////////////////////////////////////////////////////////////////////////// - -macro_rules! tuple_impls { - ($($len:expr => ($($n:tt $name:ident)+))+) => { - $( - impl<$($name),+> Serialize for ($($name,)+) - where - $($name: Serialize,)+ - { - #[inline] - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - let mut tuple = try!(serializer.serialize_tuple($len)); - $( - try!(tuple.serialize_element(&self.$n)); - )+ - tuple.end() - } - } - )+ - } -} - -tuple_impls! { - 1 => (0 T0) - 2 => (0 T0 1 T1) - 3 => (0 T0 1 T1 2 T2) - 4 => (0 T0 1 T1 2 T2 3 T3) - 5 => (0 T0 1 T1 2 T2 3 T3 4 T4) - 6 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5) - 7 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5 6 T6) - 8 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5 6 T6 7 T7) - 9 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5 6 T6 7 T7 8 T8) - 10 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5 6 T6 7 T7 8 T8 9 T9) - 11 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5 6 T6 7 T7 8 T8 9 T9 10 T10) - 12 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5 6 T6 7 T7 8 T8 9 T9 10 T10 11 T11) - 13 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5 6 T6 7 T7 8 T8 9 T9 10 T10 11 T11 12 T12) - 14 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5 6 T6 7 T7 8 T8 9 T9 10 T10 11 T11 12 T12 13 T13) - 15 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5 6 T6 7 T7 8 T8 9 T9 10 T10 11 T11 12 T12 13 T13 14 T14) - 16 => (0 T0 1 T1 2 T2 3 T3 4 T4 5 T5 6 T6 7 T7 8 T8 9 T9 10 T10 11 T11 12 T12 13 T13 14 T14 15 T15) -} - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(any(feature = "std", feature = "alloc"))] -macro_rules! map_impl { - ($ty:ident < K $(: $kbound1:ident $(+ $kbound2:ident)*)*, V $(, $typaram:ident : $bound:ident)* >) => { - impl Serialize for $ty - where - K: Serialize $(+ $kbound1 $(+ $kbound2)*)*, - V: Serialize, - $($typaram: $bound,)* - { - #[inline] - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - serializer.collect_map(self) - } - } - } -} - -#[cfg(any(feature = "std", feature = "alloc"))] -map_impl!(BTreeMap); - -#[cfg(feature = "std")] -map_impl!(HashMap); - -//////////////////////////////////////////////////////////////////////////////// - -macro_rules! deref_impl { - ( - $(#[doc = $doc:tt])* - <$($desc:tt)+ - ) => { - $(#[doc = $doc])* - impl <$($desc)+ { - #[inline] - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - (**self).serialize(serializer) - } - } - }; -} - -deref_impl!(<'a, T: ?Sized> Serialize for &'a T where T: Serialize); -deref_impl!(<'a, T: ?Sized> Serialize for &'a mut T where T: Serialize); - -#[cfg(any(feature = "std", feature = "alloc"))] -deref_impl!( Serialize for Box where T: Serialize); - -#[cfg(all(feature = "rc", any(feature = "std", feature = "alloc")))] -deref_impl! { - /// This impl requires the [`"rc"`] Cargo feature of Serde. - /// - /// Serializing a data structure containing `Rc` will serialize a copy of - /// the contents of the `Rc` each time the `Rc` is referenced within the - /// data structure. Serialization will not attempt to deduplicate these - /// repeated data. - /// - /// [`"rc"`]: https://serde.rs/feature-flags.html#-features-rc - Serialize for Rc where T: Serialize -} - -#[cfg(all(feature = "rc", any(feature = "std", feature = "alloc")))] -deref_impl! { - /// This impl requires the [`"rc"`] Cargo feature of Serde. - /// - /// Serializing a data structure containing `Arc` will serialize a copy of - /// the contents of the `Arc` each time the `Arc` is referenced within the - /// data structure. Serialization will not attempt to deduplicate these - /// repeated data. - /// - /// [`"rc"`]: https://serde.rs/feature-flags.html#-features-rc - Serialize for Arc where T: Serialize -} - -#[cfg(any(feature = "std", feature = "alloc"))] -deref_impl!(<'a, T: ?Sized> Serialize for Cow<'a, T> where T: Serialize + ToOwned); - -//////////////////////////////////////////////////////////////////////////////// - -/// This impl requires the [`"rc"`] Cargo feature of Serde. -/// -/// [`"rc"`]: https://serde.rs/feature-flags.html#-features-rc -#[cfg(all(feature = "rc", any(feature = "std", feature = "alloc")))] -impl Serialize for RcWeak -where - T: Serialize, -{ - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - self.upgrade().serialize(serializer) - } -} - -/// This impl requires the [`"rc"`] Cargo feature of Serde. -/// -/// [`"rc"`]: https://serde.rs/feature-flags.html#-features-rc -#[cfg(all(feature = "rc", any(feature = "std", feature = "alloc")))] -impl Serialize for ArcWeak -where - T: Serialize, -{ - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - self.upgrade().serialize(serializer) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -macro_rules! nonzero_integers { - ( $( $T: ident, )+ ) => { - $( - #[cfg(num_nonzero)] - impl Serialize for num::$T { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - self.get().serialize(serializer) - } - } - )+ - } -} - -nonzero_integers! { - // Not including signed NonZeroI* since they might be removed - NonZeroU8, - NonZeroU16, - NonZeroU32, - NonZeroU64, - NonZeroUsize, -} - -// Currently 128-bit integers do not work on Emscripten targets so we need an -// additional `#[cfg]` -serde_if_integer128! { - nonzero_integers! { - NonZeroU128, - } -} - -impl Serialize for Cell -where - T: Serialize + Copy, -{ - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - self.get().serialize(serializer) - } -} - -impl Serialize for RefCell -where - T: Serialize, -{ - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - match self.try_borrow() { - Ok(value) => value.serialize(serializer), - Err(_) => Err(S::Error::custom("already mutably borrowed")), - } - } -} - -#[cfg(feature = "std")] -impl Serialize for Mutex -where - T: Serialize, -{ - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - match self.lock() { - Ok(locked) => locked.serialize(serializer), - Err(_) => Err(S::Error::custom("lock poison error while serializing")), - } - } -} - -#[cfg(feature = "std")] -impl Serialize for RwLock -where - T: Serialize, -{ - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - match self.read() { - Ok(locked) => locked.serialize(serializer), - Err(_) => Err(S::Error::custom("lock poison error while serializing")), - } - } -} - -//////////////////////////////////////////////////////////////////////////////// - -impl Serialize for Result -where - T: Serialize, - E: Serialize, -{ - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - match *self { - Result::Ok(ref value) => serializer.serialize_newtype_variant("Result", 0, "Ok", value), - Result::Err(ref value) => { - serializer.serialize_newtype_variant("Result", 1, "Err", value) - } - } - } -} - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(any(core_duration, feature = "std"))] -impl Serialize for Duration { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - use super::SerializeStruct; - let mut state = try!(serializer.serialize_struct("Duration", 2)); - try!(state.serialize_field("secs", &self.as_secs())); - try!(state.serialize_field("nanos", &self.subsec_nanos())); - state.end() - } -} - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(feature = "std")] -impl Serialize for SystemTime { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - use super::SerializeStruct; - let duration_since_epoch = self - .duration_since(UNIX_EPOCH) - .expect("SystemTime must be later than UNIX_EPOCH"); - let mut state = try!(serializer.serialize_struct("SystemTime", 2)); - try!(state.serialize_field("secs_since_epoch", &duration_since_epoch.as_secs())); - try!(state.serialize_field("nanos_since_epoch", &duration_since_epoch.subsec_nanos())); - state.end() - } -} - -//////////////////////////////////////////////////////////////////////////////// - -/// Serialize a value that implements `Display` as a string, when that string is -/// statically known to never have more than a constant `MAX_LEN` bytes. -/// -/// Panics if the `Display` impl tries to write more than `MAX_LEN` bytes. -#[cfg(feature = "std")] -macro_rules! serialize_display_bounded_length { - ($value:expr, $max:expr, $serializer:expr) => {{ - let mut buffer: [u8; $max] = unsafe { mem::uninitialized() }; - let remaining_len = { - let mut remaining = &mut buffer[..]; - write!(remaining, "{}", $value).unwrap(); - remaining.len() - }; - let written_len = buffer.len() - remaining_len; - let written = &buffer[..written_len]; - - // write! only provides fmt::Formatter to Display implementations, which - // has methods write_str and write_char but no method to write arbitrary - // bytes. Therefore `written` must be valid UTF-8. - let written_str = unsafe { str::from_utf8_unchecked(written) }; - $serializer.serialize_str(written_str) - }}; -} - -#[cfg(feature = "std")] -impl Serialize for net::IpAddr { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - if serializer.is_human_readable() { - match *self { - net::IpAddr::V4(ref a) => a.serialize(serializer), - net::IpAddr::V6(ref a) => a.serialize(serializer), - } - } else { - match *self { - net::IpAddr::V4(ref a) => { - serializer.serialize_newtype_variant("IpAddr", 0, "V4", a) - } - net::IpAddr::V6(ref a) => { - serializer.serialize_newtype_variant("IpAddr", 1, "V6", a) - } - } - } - } -} - -#[cfg(feature = "std")] -impl Serialize for net::Ipv4Addr { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - if serializer.is_human_readable() { - const MAX_LEN: usize = 15; - debug_assert_eq!(MAX_LEN, "101.102.103.104".len()); - serialize_display_bounded_length!(self, MAX_LEN, serializer) - } else { - self.octets().serialize(serializer) - } - } -} - -#[cfg(feature = "std")] -impl Serialize for net::Ipv6Addr { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - if serializer.is_human_readable() { - const MAX_LEN: usize = 39; - debug_assert_eq!(MAX_LEN, "1001:1002:1003:1004:1005:1006:1007:1008".len()); - serialize_display_bounded_length!(self, MAX_LEN, serializer) - } else { - self.octets().serialize(serializer) - } - } -} - -#[cfg(feature = "std")] -impl Serialize for net::SocketAddr { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - if serializer.is_human_readable() { - match *self { - net::SocketAddr::V4(ref addr) => addr.serialize(serializer), - net::SocketAddr::V6(ref addr) => addr.serialize(serializer), - } - } else { - match *self { - net::SocketAddr::V4(ref addr) => { - serializer.serialize_newtype_variant("SocketAddr", 0, "V4", addr) - } - net::SocketAddr::V6(ref addr) => { - serializer.serialize_newtype_variant("SocketAddr", 1, "V6", addr) - } - } - } - } -} - -#[cfg(feature = "std")] -impl Serialize for net::SocketAddrV4 { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - if serializer.is_human_readable() { - const MAX_LEN: usize = 21; - debug_assert_eq!(MAX_LEN, "101.102.103.104:65000".len()); - serialize_display_bounded_length!(self, MAX_LEN, serializer) - } else { - (self.ip(), self.port()).serialize(serializer) - } - } -} - -#[cfg(feature = "std")] -impl Serialize for net::SocketAddrV6 { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - if serializer.is_human_readable() { - const MAX_LEN: usize = 47; - debug_assert_eq!( - MAX_LEN, - "[1001:1002:1003:1004:1005:1006:1007:1008]:65000".len() - ); - serialize_display_bounded_length!(self, MAX_LEN, serializer) - } else { - (self.ip(), self.port()).serialize(serializer) - } - } -} - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(feature = "std")] -impl Serialize for Path { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - match self.to_str() { - Some(s) => s.serialize(serializer), - None => Err(Error::custom("path contains invalid UTF-8 characters")), - } - } -} - -#[cfg(feature = "std")] -impl Serialize for PathBuf { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - self.as_path().serialize(serializer) - } -} - -#[cfg(all(feature = "std", any(unix, windows)))] -impl Serialize for OsStr { - #[cfg(unix)] - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - use std::os::unix::ffi::OsStrExt; - serializer.serialize_newtype_variant("OsString", 0, "Unix", self.as_bytes()) - } - - #[cfg(windows)] - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - use std::os::windows::ffi::OsStrExt; - let val = self.encode_wide().collect::>(); - serializer.serialize_newtype_variant("OsString", 1, "Windows", &val) - } -} - -#[cfg(all(feature = "std", any(unix, windows)))] -impl Serialize for OsString { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - self.as_os_str().serialize(serializer) - } -} - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(feature = "std")] -impl Serialize for Wrapping -where - T: Serialize, -{ - #[inline] - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - self.0.serialize(serializer) - } -} - -#[cfg(core_reverse)] -impl Serialize for Reverse -where - T: Serialize, -{ - #[inline] - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - self.0.serialize(serializer) - } -} diff --git a/vendor/registry-40351f815f426200/serde/src/ser/impossible.rs b/vendor/registry-40351f815f426200/serde/src/ser/impossible.rs deleted file mode 100644 index 90bab29a0..000000000 --- a/vendor/registry-40351f815f426200/serde/src/ser/impossible.rs +++ /dev/null @@ -1,216 +0,0 @@ -//! This module contains `Impossible` serializer and its implementations. - -use lib::*; - -use ser::{ - self, Serialize, SerializeMap, SerializeSeq, SerializeStruct, SerializeStructVariant, - SerializeTuple, SerializeTupleStruct, SerializeTupleVariant, -}; - -/// Helper type for implementing a `Serializer` that does not support -/// serializing one of the compound types. -/// -/// This type cannot be instantiated, but implements every one of the traits -/// corresponding to the [`Serializer`] compound types: [`SerializeSeq`], -/// [`SerializeTuple`], [`SerializeTupleStruct`], [`SerializeTupleVariant`], -/// [`SerializeMap`], [`SerializeStruct`], and [`SerializeStructVariant`]. -/// -/// ```edition2018 -/// # use serde::ser::{Serializer, Impossible}; -/// # use serde::private::ser::Error; -/// # -/// # struct MySerializer; -/// # -/// impl Serializer for MySerializer { -/// type Ok = (); -/// type Error = Error; -/// -/// type SerializeSeq = Impossible<(), Error>; -/// /* other associated types */ -/// -/// /// This data format does not support serializing sequences. -/// fn serialize_seq(self, -/// len: Option) -/// -> Result { -/// // Given Impossible cannot be instantiated, the only -/// // thing we can do here is to return an error. -/// # stringify! { -/// Err(...) -/// # }; -/// # unimplemented!() -/// } -/// -/// /* other Serializer methods */ -/// # serde::__serialize_unimplemented! { -/// # bool i8 i16 i32 i64 u8 u16 u32 u64 f32 f64 char str bytes none some -/// # unit unit_struct unit_variant newtype_struct newtype_variant -/// # tuple tuple_struct tuple_variant map struct struct_variant -/// # } -/// } -/// ``` -/// -/// [`Serializer`]: trait.Serializer.html -/// [`SerializeSeq`]: trait.SerializeSeq.html -/// [`SerializeTuple`]: trait.SerializeTuple.html -/// [`SerializeTupleStruct`]: trait.SerializeTupleStruct.html -/// [`SerializeTupleVariant`]: trait.SerializeTupleVariant.html -/// [`SerializeMap`]: trait.SerializeMap.html -/// [`SerializeStruct`]: trait.SerializeStruct.html -/// [`SerializeStructVariant`]: trait.SerializeStructVariant.html -pub struct Impossible { - void: Void, - ok: PhantomData, - error: PhantomData, -} - -enum Void {} - -impl SerializeSeq for Impossible -where - Error: ser::Error, -{ - type Ok = Ok; - type Error = Error; - - fn serialize_element(&mut self, value: &T) -> Result<(), Error> - where - T: Serialize, - { - let _ = value; - match self.void {} - } - - fn end(self) -> Result { - match self.void {} - } -} - -impl SerializeTuple for Impossible -where - Error: ser::Error, -{ - type Ok = Ok; - type Error = Error; - - fn serialize_element(&mut self, value: &T) -> Result<(), Error> - where - T: Serialize, - { - let _ = value; - match self.void {} - } - - fn end(self) -> Result { - match self.void {} - } -} - -impl SerializeTupleStruct for Impossible -where - Error: ser::Error, -{ - type Ok = Ok; - type Error = Error; - - fn serialize_field(&mut self, value: &T) -> Result<(), Error> - where - T: Serialize, - { - let _ = value; - match self.void {} - } - - fn end(self) -> Result { - match self.void {} - } -} - -impl SerializeTupleVariant for Impossible -where - Error: ser::Error, -{ - type Ok = Ok; - type Error = Error; - - fn serialize_field(&mut self, value: &T) -> Result<(), Error> - where - T: Serialize, - { - let _ = value; - match self.void {} - } - - fn end(self) -> Result { - match self.void {} - } -} - -impl SerializeMap for Impossible -where - Error: ser::Error, -{ - type Ok = Ok; - type Error = Error; - - fn serialize_key(&mut self, key: &T) -> Result<(), Error> - where - T: Serialize, - { - let _ = key; - match self.void {} - } - - fn serialize_value(&mut self, value: &T) -> Result<(), Error> - where - T: Serialize, - { - let _ = value; - match self.void {} - } - - fn end(self) -> Result { - match self.void {} - } -} - -impl SerializeStruct for Impossible -where - Error: ser::Error, -{ - type Ok = Ok; - type Error = Error; - - fn serialize_field(&mut self, key: &'static str, value: &T) -> Result<(), Error> - where - T: Serialize, - { - let _ = key; - let _ = value; - match self.void {} - } - - fn end(self) -> Result { - match self.void {} - } -} - -impl SerializeStructVariant for Impossible -where - Error: ser::Error, -{ - type Ok = Ok; - type Error = Error; - - fn serialize_field(&mut self, key: &'static str, value: &T) -> Result<(), Error> - where - T: Serialize, - { - let _ = key; - let _ = value; - match self.void {} - } - - fn end(self) -> Result { - match self.void {} - } -} diff --git a/vendor/registry-40351f815f426200/serde/src/ser/mod.rs b/vendor/registry-40351f815f426200/serde/src/ser/mod.rs deleted file mode 100644 index 318b3799a..000000000 --- a/vendor/registry-40351f815f426200/serde/src/ser/mod.rs +++ /dev/null @@ -1,1988 +0,0 @@ -//! Generic data structure serialization framework. -//! -//! The two most important traits in this module are [`Serialize`] and -//! [`Serializer`]. -//! -//! - **A type that implements `Serialize` is a data structure** that can be -//! serialized to any data format supported by Serde, and conversely -//! - **A type that implements `Serializer` is a data format** that can -//! serialize any data structure supported by Serde. -//! -//! # The Serialize trait -//! -//! Serde provides [`Serialize`] implementations for many Rust primitive and -//! standard library types. The complete list is below. All of these can be -//! serialized using Serde out of the box. -//! -//! Additionally, Serde provides a procedural macro called [`serde_derive`] to -//! automatically generate [`Serialize`] implementations for structs and enums -//! in your program. See the [derive section of the manual] for how to use this. -//! -//! In rare cases it may be necessary to implement [`Serialize`] manually for -//! some type in your program. See the [Implementing `Serialize`] section of the -//! manual for more about this. -//! -//! Third-party crates may provide [`Serialize`] implementations for types that -//! they expose. For example the [`linked-hash-map`] crate provides a -//! [`LinkedHashMap`] type that is serializable by Serde because the crate -//! provides an implementation of [`Serialize`] for it. -//! -//! # The Serializer trait -//! -//! [`Serializer`] implementations are provided by third-party crates, for -//! example [`serde_json`], [`serde_yaml`] and [`bincode`]. -//! -//! A partial list of well-maintained formats is given on the [Serde -//! website][data formats]. -//! -//! # Implementations of Serialize provided by Serde -//! -//! - **Primitive types**: -//! - bool -//! - i8, i16, i32, i64, i128, isize -//! - u8, u16, u32, u64, u128, usize -//! - f32, f64 -//! - char -//! - str -//! - &T and &mut T -//! - **Compound types**: -//! - \[T\] -//! - \[T; 0\] through \[T; 32\] -//! - tuples up to size 16 -//! - **Common standard library types**: -//! - String -//! - Option\ -//! - Result\ -//! - PhantomData\ -//! - **Wrapper types**: -//! - Box\ -//! - Cow\<'a, T\> -//! - Cell\ -//! - RefCell\ -//! - Mutex\ -//! - RwLock\ -//! - Rc\ *(if* features = ["rc"] *is enabled)* -//! - Arc\ *(if* features = ["rc"] *is enabled)* -//! - **Collection types**: -//! - BTreeMap\ -//! - BTreeSet\ -//! - BinaryHeap\ -//! - HashMap\ -//! - HashSet\ -//! - LinkedList\ -//! - VecDeque\ -//! - Vec\ -//! - **FFI types**: -//! - CStr -//! - CString -//! - OsStr -//! - OsString -//! - **Miscellaneous standard library types**: -//! - Duration -//! - SystemTime -//! - Path -//! - PathBuf -//! - Range\ -//! - RangeInclusive\ -//! - Bound\ -//! - num::NonZero* -//! - `!` *(unstable)* -//! - **Net types**: -//! - IpAddr -//! - Ipv4Addr -//! - Ipv6Addr -//! - SocketAddr -//! - SocketAddrV4 -//! - SocketAddrV6 -//! -//! [Implementing `Serialize`]: https://serde.rs/impl-serialize.html -//! [`LinkedHashMap`]: https://docs.rs/linked-hash-map/*/linked_hash_map/struct.LinkedHashMap.html -//! [`Serialize`]: ../trait.Serialize.html -//! [`Serializer`]: ../trait.Serializer.html -//! [`bincode`]: https://github.com/TyOverby/bincode -//! [`linked-hash-map`]: https://crates.io/crates/linked-hash-map -//! [`serde_derive`]: https://crates.io/crates/serde_derive -//! [`serde_json`]: https://github.com/serde-rs/json -//! [`serde_yaml`]: https://github.com/dtolnay/serde-yaml -//! [derive section of the manual]: https://serde.rs/derive.html -//! [data formats]: https://serde.rs/#data-formats - -use lib::*; - -mod impls; -mod impossible; - -pub use self::impossible::Impossible; - -//////////////////////////////////////////////////////////////////////////////// - -macro_rules! declare_error_trait { - (Error: Sized $(+ $($supertrait:ident)::+)*) => { - /// Trait used by `Serialize` implementations to generically construct - /// errors belonging to the `Serializer` against which they are - /// currently running. - /// - /// # Example implementation - /// - /// The [example data format] presented on the website shows an error - /// type appropriate for a basic JSON data format. - /// - /// [example data format]: https://serde.rs/data-format.html - pub trait Error: Sized $(+ $($supertrait)::+)* { - /// Used when a [`Serialize`] implementation encounters any error - /// while serializing a type. - /// - /// The message should not be capitalized and should not end with a - /// period. - /// - /// For example, a filesystem [`Path`] may refuse to serialize - /// itself if it contains invalid UTF-8 data. - /// - /// ```edition2018 - /// # struct Path; - /// # - /// # impl Path { - /// # fn to_str(&self) -> Option<&str> { - /// # unimplemented!() - /// # } - /// # } - /// # - /// use serde::ser::{self, Serialize, Serializer}; - /// - /// impl Serialize for Path { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// match self.to_str() { - /// Some(s) => serializer.serialize_str(s), - /// None => Err(ser::Error::custom("path contains invalid UTF-8 characters")), - /// } - /// } - /// } - /// ``` - /// - /// [`Path`]: https://doc.rust-lang.org/std/path/struct.Path.html - /// [`Serialize`]: ../trait.Serialize.html - fn custom(msg: T) -> Self - where - T: Display; - } - } -} - -#[cfg(feature = "std")] -declare_error_trait!(Error: Sized + error::Error); - -#[cfg(not(feature = "std"))] -declare_error_trait!(Error: Sized + Debug + Display); - -//////////////////////////////////////////////////////////////////////////////// - -/// A **data structure** that can be serialized into any data format supported -/// by Serde. -/// -/// Serde provides `Serialize` implementations for many Rust primitive and -/// standard library types. The complete list is [here][ser]. All of these can -/// be serialized using Serde out of the box. -/// -/// Additionally, Serde provides a procedural macro called [`serde_derive`] to -/// automatically generate `Serialize` implementations for structs and enums in -/// your program. See the [derive section of the manual] for how to use this. -/// -/// In rare cases it may be necessary to implement `Serialize` manually for some -/// type in your program. See the [Implementing `Serialize`] section of the -/// manual for more about this. -/// -/// Third-party crates may provide `Serialize` implementations for types that -/// they expose. For example the [`linked-hash-map`] crate provides a -/// [`LinkedHashMap`] type that is serializable by Serde because the crate -/// provides an implementation of `Serialize` for it. -/// -/// [Implementing `Serialize`]: https://serde.rs/impl-serialize.html -/// [`LinkedHashMap`]: https://docs.rs/linked-hash-map/*/linked_hash_map/struct.LinkedHashMap.html -/// [`linked-hash-map`]: https://crates.io/crates/linked-hash-map -/// [`serde_derive`]: https://crates.io/crates/serde_derive -/// [derive section of the manual]: https://serde.rs/derive.html -/// [ser]: https://docs.serde.rs/serde/ser/index.html -pub trait Serialize { - /// Serialize this value into the given Serde serializer. - /// - /// See the [Implementing `Serialize`] section of the manual for more - /// information about how to implement this method. - /// - /// ```edition2018 - /// use serde::ser::{Serialize, SerializeStruct, Serializer}; - /// - /// struct Person { - /// name: String, - /// age: u8, - /// phones: Vec, - /// } - /// - /// // This is what #[derive(Serialize)] would generate. - /// impl Serialize for Person { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// let mut s = serializer.serialize_struct("Person", 3)?; - /// s.serialize_field("name", &self.name)?; - /// s.serialize_field("age", &self.age)?; - /// s.serialize_field("phones", &self.phones)?; - /// s.end() - /// } - /// } - /// ``` - /// - /// [Implementing `Serialize`]: https://serde.rs/impl-serialize.html - fn serialize(&self, serializer: S) -> Result - where - S: Serializer; -} - -//////////////////////////////////////////////////////////////////////////////// - -/// A **data format** that can serialize any data structure supported by Serde. -/// -/// The role of this trait is to define the serialization half of the [Serde -/// data model], which is a way to categorize every Rust data structure into one -/// of 29 possible types. Each method of the `Serializer` trait corresponds to -/// one of the types of the data model. -/// -/// Implementations of `Serialize` map themselves into this data model by -/// invoking exactly one of the `Serializer` methods. -/// -/// The types that make up the Serde data model are: -/// -/// - **14 primitive types** -/// - bool -/// - i8, i16, i32, i64, i128 -/// - u8, u16, u32, u64, u128 -/// - f32, f64 -/// - char -/// - **string** -/// - UTF-8 bytes with a length and no null terminator. -/// - When serializing, all strings are handled equally. When deserializing, -/// there are three flavors of strings: transient, owned, and borrowed. -/// - **byte array** - \[u8\] -/// - Similar to strings, during deserialization byte arrays can be -/// transient, owned, or borrowed. -/// - **option** -/// - Either none or some value. -/// - **unit** -/// - The type of `()` in Rust. It represents an anonymous value containing -/// no data. -/// - **unit_struct** -/// - For example `struct Unit` or `PhantomData`. It represents a named -/// value containing no data. -/// - **unit_variant** -/// - For example the `E::A` and `E::B` in `enum E { A, B }`. -/// - **newtype_struct** -/// - For example `struct Millimeters(u8)`. -/// - **newtype_variant** -/// - For example the `E::N` in `enum E { N(u8) }`. -/// - **seq** -/// - A variably sized heterogeneous sequence of values, for example -/// `Vec` or `HashSet`. When serializing, the length may or may not -/// be known before iterating through all the data. When deserializing, -/// the length is determined by looking at the serialized data. -/// - **tuple** -/// - A statically sized heterogeneous sequence of values for which the -/// length will be known at deserialization time without looking at the -/// serialized data, for example `(u8,)` or `(String, u64, Vec)` or -/// `[u64; 10]`. -/// - **tuple_struct** -/// - A named tuple, for example `struct Rgb(u8, u8, u8)`. -/// - **tuple_variant** -/// - For example the `E::T` in `enum E { T(u8, u8) }`. -/// - **map** -/// - A heterogeneous key-value pairing, for example `BTreeMap`. -/// - **struct** -/// - A heterogeneous key-value pairing in which the keys are strings and -/// will be known at deserialization time without looking at the -/// serialized data, for example `struct S { r: u8, g: u8, b: u8 }`. -/// - **struct_variant** -/// - For example the `E::S` in `enum E { S { r: u8, g: u8, b: u8 } }`. -/// -/// Many Serde serializers produce text or binary data as output, for example -/// JSON or Bincode. This is not a requirement of the `Serializer` trait, and -/// there are serializers that do not produce text or binary output. One example -/// is the `serde_json::value::Serializer` (distinct from the main `serde_json` -/// serializer) that produces a `serde_json::Value` data structure in memory as -/// output. -/// -/// [Serde data model]: https://serde.rs/data-model.html -/// -/// # Example implementation -/// -/// The [example data format] presented on the website contains example code for -/// a basic JSON `Serializer`. -/// -/// [example data format]: https://serde.rs/data-format.html -pub trait Serializer: Sized { - /// The output type produced by this `Serializer` during successful - /// serialization. Most serializers that produce text or binary output - /// should set `Ok = ()` and serialize into an [`io::Write`] or buffer - /// contained within the `Serializer` instance. Serializers that build - /// in-memory data structures may be simplified by using `Ok` to propagate - /// the data structure around. - /// - /// [`io::Write`]: https://doc.rust-lang.org/std/io/trait.Write.html - type Ok; - - /// The error type when some error occurs during serialization. - type Error: Error; - - /// Type returned from [`serialize_seq`] for serializing the content of the - /// sequence. - /// - /// [`serialize_seq`]: #tymethod.serialize_seq - type SerializeSeq: SerializeSeq; - - /// Type returned from [`serialize_tuple`] for serializing the content of - /// the tuple. - /// - /// [`serialize_tuple`]: #tymethod.serialize_tuple - type SerializeTuple: SerializeTuple; - - /// Type returned from [`serialize_tuple_struct`] for serializing the - /// content of the tuple struct. - /// - /// [`serialize_tuple_struct`]: #tymethod.serialize_tuple_struct - type SerializeTupleStruct: SerializeTupleStruct; - - /// Type returned from [`serialize_tuple_variant`] for serializing the - /// content of the tuple variant. - /// - /// [`serialize_tuple_variant`]: #tymethod.serialize_tuple_variant - type SerializeTupleVariant: SerializeTupleVariant; - - /// Type returned from [`serialize_map`] for serializing the content of the - /// map. - /// - /// [`serialize_map`]: #tymethod.serialize_map - type SerializeMap: SerializeMap; - - /// Type returned from [`serialize_struct`] for serializing the content of - /// the struct. - /// - /// [`serialize_struct`]: #tymethod.serialize_struct - type SerializeStruct: SerializeStruct; - - /// Type returned from [`serialize_struct_variant`] for serializing the - /// content of the struct variant. - /// - /// [`serialize_struct_variant`]: #tymethod.serialize_struct_variant - type SerializeStructVariant: SerializeStructVariant; - - /// Serialize a `bool` value. - /// - /// ```edition2018 - /// # use serde::Serializer; - /// # - /// # serde::__private_serialize!(); - /// # - /// impl Serialize for bool { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.serialize_bool(*self) - /// } - /// } - /// ``` - fn serialize_bool(self, v: bool) -> Result; - - /// Serialize an `i8` value. - /// - /// If the format does not differentiate between `i8` and `i64`, a - /// reasonable implementation would be to cast the value to `i64` and - /// forward to `serialize_i64`. - /// - /// ```edition2018 - /// # use serde::Serializer; - /// # - /// # serde::__private_serialize!(); - /// # - /// impl Serialize for i8 { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.serialize_i8(*self) - /// } - /// } - /// ``` - fn serialize_i8(self, v: i8) -> Result; - - /// Serialize an `i16` value. - /// - /// If the format does not differentiate between `i16` and `i64`, a - /// reasonable implementation would be to cast the value to `i64` and - /// forward to `serialize_i64`. - /// - /// ```edition2018 - /// # use serde::Serializer; - /// # - /// # serde::__private_serialize!(); - /// # - /// impl Serialize for i16 { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.serialize_i16(*self) - /// } - /// } - /// ``` - fn serialize_i16(self, v: i16) -> Result; - - /// Serialize an `i32` value. - /// - /// If the format does not differentiate between `i32` and `i64`, a - /// reasonable implementation would be to cast the value to `i64` and - /// forward to `serialize_i64`. - /// - /// ```edition2018 - /// # use serde::Serializer; - /// # - /// # serde::__private_serialize!(); - /// # - /// impl Serialize for i32 { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.serialize_i32(*self) - /// } - /// } - /// ``` - fn serialize_i32(self, v: i32) -> Result; - - /// Serialize an `i64` value. - /// - /// ```edition2018 - /// # use serde::Serializer; - /// # - /// # serde::__private_serialize!(); - /// # - /// impl Serialize for i64 { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.serialize_i64(*self) - /// } - /// } - /// ``` - fn serialize_i64(self, v: i64) -> Result; - - serde_if_integer128! { - /// Serialize an `i128` value. - /// - /// ```edition2018 - /// # use serde::Serializer; - /// # - /// # serde::__private_serialize!(); - /// # - /// impl Serialize for i128 { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.serialize_i128(*self) - /// } - /// } - /// ``` - /// - /// This method is available only on Rust compiler versions >=1.26. The - /// default behavior unconditionally returns an error. - fn serialize_i128(self, v: i128) -> Result { - let _ = v; - Err(Error::custom("i128 is not supported")) - } - } - - /// Serialize a `u8` value. - /// - /// If the format does not differentiate between `u8` and `u64`, a - /// reasonable implementation would be to cast the value to `u64` and - /// forward to `serialize_u64`. - /// - /// ```edition2018 - /// # use serde::Serializer; - /// # - /// # serde::__private_serialize!(); - /// # - /// impl Serialize for u8 { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.serialize_u8(*self) - /// } - /// } - /// ``` - fn serialize_u8(self, v: u8) -> Result; - - /// Serialize a `u16` value. - /// - /// If the format does not differentiate between `u16` and `u64`, a - /// reasonable implementation would be to cast the value to `u64` and - /// forward to `serialize_u64`. - /// - /// ```edition2018 - /// # use serde::Serializer; - /// # - /// # serde::__private_serialize!(); - /// # - /// impl Serialize for u16 { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.serialize_u16(*self) - /// } - /// } - /// ``` - fn serialize_u16(self, v: u16) -> Result; - - /// Serialize a `u32` value. - /// - /// If the format does not differentiate between `u32` and `u64`, a - /// reasonable implementation would be to cast the value to `u64` and - /// forward to `serialize_u64`. - /// - /// ```edition2018 - /// # use serde::Serializer; - /// # - /// # serde::__private_serialize!(); - /// # - /// impl Serialize for u32 { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.serialize_u32(*self) - /// } - /// } - /// ``` - fn serialize_u32(self, v: u32) -> Result; - - /// Serialize a `u64` value. - /// - /// ```edition2018 - /// # use serde::Serializer; - /// # - /// # serde::__private_serialize!(); - /// # - /// impl Serialize for u64 { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.serialize_u64(*self) - /// } - /// } - /// ``` - fn serialize_u64(self, v: u64) -> Result; - - serde_if_integer128! { - /// Serialize a `u128` value. - /// - /// ```edition2018 - /// # use serde::Serializer; - /// # - /// # serde::__private_serialize!(); - /// # - /// impl Serialize for u128 { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.serialize_u128(*self) - /// } - /// } - /// ``` - /// - /// This method is available only on Rust compiler versions >=1.26. The - /// default behavior unconditionally returns an error. - fn serialize_u128(self, v: u128) -> Result { - let _ = v; - Err(Error::custom("u128 is not supported")) - } - } - - /// Serialize an `f32` value. - /// - /// If the format does not differentiate between `f32` and `f64`, a - /// reasonable implementation would be to cast the value to `f64` and - /// forward to `serialize_f64`. - /// - /// ```edition2018 - /// # use serde::Serializer; - /// # - /// # serde::__private_serialize!(); - /// # - /// impl Serialize for f32 { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.serialize_f32(*self) - /// } - /// } - /// ``` - fn serialize_f32(self, v: f32) -> Result; - - /// Serialize an `f64` value. - /// - /// ```edition2018 - /// # use serde::Serializer; - /// # - /// # serde::__private_serialize!(); - /// # - /// impl Serialize for f64 { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.serialize_f64(*self) - /// } - /// } - /// ``` - fn serialize_f64(self, v: f64) -> Result; - - /// Serialize a character. - /// - /// If the format does not support characters, it is reasonable to serialize - /// it as a single element `str` or a `u32`. - /// - /// ```edition2018 - /// # use serde::Serializer; - /// # - /// # serde::__private_serialize!(); - /// # - /// impl Serialize for char { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.serialize_char(*self) - /// } - /// } - /// ``` - fn serialize_char(self, v: char) -> Result; - - /// Serialize a `&str`. - /// - /// ```edition2018 - /// # use serde::Serializer; - /// # - /// # serde::__private_serialize!(); - /// # - /// impl Serialize for str { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.serialize_str(self) - /// } - /// } - /// ``` - fn serialize_str(self, v: &str) -> Result; - - /// Serialize a chunk of raw byte data. - /// - /// Enables serializers to serialize byte slices more compactly or more - /// efficiently than other types of slices. If no efficient implementation - /// is available, a reasonable implementation would be to forward to - /// `serialize_seq`. If forwarded, the implementation looks usually just - /// like this: - /// - /// ```edition2018 - /// # use serde::ser::{Serializer, SerializeSeq}; - /// # use serde::private::ser::Error; - /// # - /// # struct MySerializer; - /// # - /// # impl Serializer for MySerializer { - /// # type Ok = (); - /// # type Error = Error; - /// # - /// fn serialize_bytes(self, v: &[u8]) -> Result { - /// let mut seq = self.serialize_seq(Some(v.len()))?; - /// for b in v { - /// seq.serialize_element(b)?; - /// } - /// seq.end() - /// } - /// # - /// # serde::__serialize_unimplemented! { - /// # bool i8 i16 i32 i64 u8 u16 u32 u64 f32 f64 char str none some - /// # unit unit_struct unit_variant newtype_struct newtype_variant - /// # seq tuple tuple_struct tuple_variant map struct struct_variant - /// # } - /// # } - /// ``` - fn serialize_bytes(self, v: &[u8]) -> Result; - - /// Serialize a [`None`] value. - /// - /// ```edition2018 - /// # use serde::{Serialize, Serializer}; - /// # - /// # enum Option { - /// # Some(T), - /// # None, - /// # } - /// # - /// # use self::Option::{Some, None}; - /// # - /// impl Serialize for Option - /// where - /// T: Serialize, - /// { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// match *self { - /// Some(ref value) => serializer.serialize_some(value), - /// None => serializer.serialize_none(), - /// } - /// } - /// } - /// # - /// # fn main() {} - /// ``` - /// - /// [`None`]: https://doc.rust-lang.org/std/option/enum.Option.html#variant.None - fn serialize_none(self) -> Result; - - /// Serialize a [`Some(T)`] value. - /// - /// ```edition2018 - /// # use serde::{Serialize, Serializer}; - /// # - /// # enum Option { - /// # Some(T), - /// # None, - /// # } - /// # - /// # use self::Option::{Some, None}; - /// # - /// impl Serialize for Option - /// where - /// T: Serialize, - /// { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// match *self { - /// Some(ref value) => serializer.serialize_some(value), - /// None => serializer.serialize_none(), - /// } - /// } - /// } - /// # - /// # fn main() {} - /// ``` - /// - /// [`Some(T)`]: https://doc.rust-lang.org/std/option/enum.Option.html#variant.Some - fn serialize_some(self, value: &T) -> Result - where - T: Serialize; - - /// Serialize a `()` value. - /// - /// ```edition2018 - /// # use serde::Serializer; - /// # - /// # serde::__private_serialize!(); - /// # - /// impl Serialize for () { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.serialize_unit() - /// } - /// } - /// ``` - fn serialize_unit(self) -> Result; - - /// Serialize a unit struct like `struct Unit` or `PhantomData`. - /// - /// A reasonable implementation would be to forward to `serialize_unit`. - /// - /// ```edition2018 - /// use serde::{Serialize, Serializer}; - /// - /// struct Nothing; - /// - /// impl Serialize for Nothing { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.serialize_unit_struct("Nothing") - /// } - /// } - /// ``` - fn serialize_unit_struct(self, name: &'static str) -> Result; - - /// Serialize a unit variant like `E::A` in `enum E { A, B }`. - /// - /// The `name` is the name of the enum, the `variant_index` is the index of - /// this variant within the enum, and the `variant` is the name of the - /// variant. - /// - /// ```edition2018 - /// use serde::{Serialize, Serializer}; - /// - /// enum E { - /// A, - /// B, - /// } - /// - /// impl Serialize for E { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// match *self { - /// E::A => serializer.serialize_unit_variant("E", 0, "A"), - /// E::B => serializer.serialize_unit_variant("E", 1, "B"), - /// } - /// } - /// } - /// ``` - fn serialize_unit_variant( - self, - name: &'static str, - variant_index: u32, - variant: &'static str, - ) -> Result; - - /// Serialize a newtype struct like `struct Millimeters(u8)`. - /// - /// Serializers are encouraged to treat newtype structs as insignificant - /// wrappers around the data they contain. A reasonable implementation would - /// be to forward to `value.serialize(self)`. - /// - /// ```edition2018 - /// use serde::{Serialize, Serializer}; - /// - /// struct Millimeters(u8); - /// - /// impl Serialize for Millimeters { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.serialize_newtype_struct("Millimeters", &self.0) - /// } - /// } - /// ``` - fn serialize_newtype_struct( - self, - name: &'static str, - value: &T, - ) -> Result - where - T: Serialize; - - /// Serialize a newtype variant like `E::N` in `enum E { N(u8) }`. - /// - /// The `name` is the name of the enum, the `variant_index` is the index of - /// this variant within the enum, and the `variant` is the name of the - /// variant. The `value` is the data contained within this newtype variant. - /// - /// ```edition2018 - /// use serde::{Serialize, Serializer}; - /// - /// enum E { - /// M(String), - /// N(u8), - /// } - /// - /// impl Serialize for E { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// match *self { - /// E::M(ref s) => serializer.serialize_newtype_variant("E", 0, "M", s), - /// E::N(n) => serializer.serialize_newtype_variant("E", 1, "N", &n), - /// } - /// } - /// } - /// ``` - fn serialize_newtype_variant( - self, - name: &'static str, - variant_index: u32, - variant: &'static str, - value: &T, - ) -> Result - where - T: Serialize; - - /// Begin to serialize a variably sized sequence. This call must be - /// followed by zero or more calls to `serialize_element`, then a call to - /// `end`. - /// - /// The argument is the number of elements in the sequence, which may or may - /// not be computable before the sequence is iterated. Some serializers only - /// support sequences whose length is known up front. - /// - /// ```edition2018 - /// # use std::marker::PhantomData; - /// # - /// # struct Vec(PhantomData); - /// # - /// # impl Vec { - /// # fn len(&self) -> usize { - /// # unimplemented!() - /// # } - /// # } - /// # - /// # impl<'a, T> IntoIterator for &'a Vec { - /// # type Item = &'a T; - /// # type IntoIter = Box>; - /// # - /// # fn into_iter(self) -> Self::IntoIter { - /// # unimplemented!() - /// # } - /// # } - /// # - /// use serde::ser::{Serialize, Serializer, SerializeSeq}; - /// - /// impl Serialize for Vec - /// where - /// T: Serialize, - /// { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// let mut seq = serializer.serialize_seq(Some(self.len()))?; - /// for element in self { - /// seq.serialize_element(element)?; - /// } - /// seq.end() - /// } - /// } - /// ``` - fn serialize_seq(self, len: Option) -> Result; - - /// Begin to serialize a statically sized sequence whose length will be - /// known at deserialization time without looking at the serialized data. - /// This call must be followed by zero or more calls to `serialize_element`, - /// then a call to `end`. - /// - /// ```edition2018 - /// use serde::ser::{Serialize, Serializer, SerializeTuple}; - /// - /// # mod fool { - /// # trait Serialize {} - /// impl Serialize for (A, B, C) - /// # {} - /// # } - /// # - /// # struct Tuple3(A, B, C); - /// # - /// # impl Serialize for Tuple3 - /// where - /// A: Serialize, - /// B: Serialize, - /// C: Serialize, - /// { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// let mut tup = serializer.serialize_tuple(3)?; - /// tup.serialize_element(&self.0)?; - /// tup.serialize_element(&self.1)?; - /// tup.serialize_element(&self.2)?; - /// tup.end() - /// } - /// } - /// ``` - /// - /// ```edition2018 - /// use serde::ser::{Serialize, SerializeTuple, Serializer}; - /// - /// const VRAM_SIZE: usize = 386; - /// struct Vram([u16; VRAM_SIZE]); - /// - /// impl Serialize for Vram { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// let mut seq = serializer.serialize_tuple(VRAM_SIZE)?; - /// for element in &self.0[..] { - /// seq.serialize_element(element)?; - /// } - /// seq.end() - /// } - /// } - /// ``` - fn serialize_tuple(self, len: usize) -> Result; - - /// Begin to serialize a tuple struct like `struct Rgb(u8, u8, u8)`. This - /// call must be followed by zero or more calls to `serialize_field`, then a - /// call to `end`. - /// - /// The `name` is the name of the tuple struct and the `len` is the number - /// of data fields that will be serialized. - /// - /// ```edition2018 - /// use serde::ser::{Serialize, SerializeTupleStruct, Serializer}; - /// - /// struct Rgb(u8, u8, u8); - /// - /// impl Serialize for Rgb { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// let mut ts = serializer.serialize_tuple_struct("Rgb", 3)?; - /// ts.serialize_field(&self.0)?; - /// ts.serialize_field(&self.1)?; - /// ts.serialize_field(&self.2)?; - /// ts.end() - /// } - /// } - /// ``` - fn serialize_tuple_struct( - self, - name: &'static str, - len: usize, - ) -> Result; - - /// Begin to serialize a tuple variant like `E::T` in `enum E { T(u8, u8) - /// }`. This call must be followed by zero or more calls to - /// `serialize_field`, then a call to `end`. - /// - /// The `name` is the name of the enum, the `variant_index` is the index of - /// this variant within the enum, the `variant` is the name of the variant, - /// and the `len` is the number of data fields that will be serialized. - /// - /// ```edition2018 - /// use serde::ser::{Serialize, SerializeTupleVariant, Serializer}; - /// - /// enum E { - /// T(u8, u8), - /// U(String, u32, u32), - /// } - /// - /// impl Serialize for E { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// match *self { - /// E::T(ref a, ref b) => { - /// let mut tv = serializer.serialize_tuple_variant("E", 0, "T", 2)?; - /// tv.serialize_field(a)?; - /// tv.serialize_field(b)?; - /// tv.end() - /// } - /// E::U(ref a, ref b, ref c) => { - /// let mut tv = serializer.serialize_tuple_variant("E", 1, "U", 3)?; - /// tv.serialize_field(a)?; - /// tv.serialize_field(b)?; - /// tv.serialize_field(c)?; - /// tv.end() - /// } - /// } - /// } - /// } - /// ``` - fn serialize_tuple_variant( - self, - name: &'static str, - variant_index: u32, - variant: &'static str, - len: usize, - ) -> Result; - - /// Begin to serialize a map. This call must be followed by zero or more - /// calls to `serialize_key` and `serialize_value`, then a call to `end`. - /// - /// The argument is the number of elements in the map, which may or may not - /// be computable before the map is iterated. Some serializers only support - /// maps whose length is known up front. - /// - /// ```edition2018 - /// # use std::marker::PhantomData; - /// # - /// # struct HashMap(PhantomData, PhantomData); - /// # - /// # impl HashMap { - /// # fn len(&self) -> usize { - /// # unimplemented!() - /// # } - /// # } - /// # - /// # impl<'a, K, V> IntoIterator for &'a HashMap { - /// # type Item = (&'a K, &'a V); - /// # type IntoIter = Box>; - /// # - /// # fn into_iter(self) -> Self::IntoIter { - /// # unimplemented!() - /// # } - /// # } - /// # - /// use serde::ser::{Serialize, Serializer, SerializeMap}; - /// - /// impl Serialize for HashMap - /// where - /// K: Serialize, - /// V: Serialize, - /// { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// let mut map = serializer.serialize_map(Some(self.len()))?; - /// for (k, v) in self { - /// map.serialize_entry(k, v)?; - /// } - /// map.end() - /// } - /// } - /// ``` - fn serialize_map(self, len: Option) -> Result; - - /// Begin to serialize a struct like `struct Rgb { r: u8, g: u8, b: u8 }`. - /// This call must be followed by zero or more calls to `serialize_field`, - /// then a call to `end`. - /// - /// The `name` is the name of the struct and the `len` is the number of - /// data fields that will be serialized. - /// - /// ```edition2018 - /// use serde::ser::{Serialize, SerializeStruct, Serializer}; - /// - /// struct Rgb { - /// r: u8, - /// g: u8, - /// b: u8, - /// } - /// - /// impl Serialize for Rgb { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// let mut rgb = serializer.serialize_struct("Rgb", 3)?; - /// rgb.serialize_field("r", &self.r)?; - /// rgb.serialize_field("g", &self.g)?; - /// rgb.serialize_field("b", &self.b)?; - /// rgb.end() - /// } - /// } - /// ``` - fn serialize_struct( - self, - name: &'static str, - len: usize, - ) -> Result; - - /// Begin to serialize a struct variant like `E::S` in `enum E { S { r: u8, - /// g: u8, b: u8 } }`. This call must be followed by zero or more calls to - /// `serialize_field`, then a call to `end`. - /// - /// The `name` is the name of the enum, the `variant_index` is the index of - /// this variant within the enum, the `variant` is the name of the variant, - /// and the `len` is the number of data fields that will be serialized. - /// - /// ```edition2018 - /// use serde::ser::{Serialize, SerializeStructVariant, Serializer}; - /// - /// enum E { - /// S { r: u8, g: u8, b: u8 }, - /// } - /// - /// impl Serialize for E { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// match *self { - /// E::S { - /// ref r, - /// ref g, - /// ref b, - /// } => { - /// let mut sv = serializer.serialize_struct_variant("E", 0, "S", 3)?; - /// sv.serialize_field("r", r)?; - /// sv.serialize_field("g", g)?; - /// sv.serialize_field("b", b)?; - /// sv.end() - /// } - /// } - /// } - /// } - /// ``` - fn serialize_struct_variant( - self, - name: &'static str, - variant_index: u32, - variant: &'static str, - len: usize, - ) -> Result; - - /// Collect an iterator as a sequence. - /// - /// The default implementation serializes each item yielded by the iterator - /// using [`serialize_seq`]. Implementors should not need to override this - /// method. - /// - /// ```edition2018 - /// use serde::{Serialize, Serializer}; - /// - /// struct SecretlyOneHigher { - /// data: Vec, - /// } - /// - /// impl Serialize for SecretlyOneHigher { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.collect_seq(self.data.iter().map(|x| x + 1)) - /// } - /// } - /// ``` - /// - /// [`serialize_seq`]: #tymethod.serialize_seq - fn collect_seq(self, iter: I) -> Result - where - I: IntoIterator, - ::Item: Serialize, - { - let iter = iter.into_iter(); - let mut serializer = try!(self.serialize_seq(iter.len_hint())); - for item in iter { - try!(serializer.serialize_element(&item)); - } - serializer.end() - } - - /// Collect an iterator as a map. - /// - /// The default implementation serializes each pair yielded by the iterator - /// using [`serialize_map`]. Implementors should not need to override this - /// method. - /// - /// ```edition2018 - /// use serde::{Serialize, Serializer}; - /// use std::collections::BTreeSet; - /// - /// struct MapToUnit { - /// keys: BTreeSet, - /// } - /// - /// // Serializes as a map in which the values are all unit. - /// impl Serialize for MapToUnit { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.collect_map(self.keys.iter().map(|k| (k, ()))) - /// } - /// } - /// ``` - /// - /// [`serialize_map`]: #tymethod.serialize_map - fn collect_map(self, iter: I) -> Result - where - K: Serialize, - V: Serialize, - I: IntoIterator, - { - let iter = iter.into_iter(); - let mut serializer = try!(self.serialize_map(iter.len_hint())); - for (key, value) in iter { - try!(serializer.serialize_entry(&key, &value)); - } - serializer.end() - } - - /// Serialize a string produced by an implementation of `Display`. - /// - /// The default implementation builds a heap-allocated [`String`] and - /// delegates to [`serialize_str`]. Serializers are encouraged to provide a - /// more efficient implementation if possible. - /// - /// ```edition2018 - /// # struct DateTime; - /// # - /// # impl DateTime { - /// # fn naive_local(&self) -> () { () } - /// # fn offset(&self) -> () { () } - /// # } - /// # - /// use serde::{Serialize, Serializer}; - /// - /// impl Serialize for DateTime { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.collect_str(&format_args!("{:?}{:?}", - /// self.naive_local(), - /// self.offset())) - /// } - /// } - /// ``` - /// - /// [`String`]: https://doc.rust-lang.org/std/string/struct.String.html - /// [`serialize_str`]: #tymethod.serialize_str - #[cfg(any(feature = "std", feature = "alloc"))] - fn collect_str(self, value: &T) -> Result - where - T: Display, - { - use lib::fmt::Write; - let mut string = String::new(); - write!(string, "{}", value).unwrap(); - self.serialize_str(&string) - } - - /// Serialize a string produced by an implementation of `Display`. - /// - /// Serializers that use `no_std` are required to provide an implementation - /// of this method. If no more sensible behavior is possible, the - /// implementation is expected to return an error. - /// - /// ```edition2018 - /// # struct DateTime; - /// # - /// # impl DateTime { - /// # fn naive_local(&self) -> () { () } - /// # fn offset(&self) -> () { () } - /// # } - /// # - /// use serde::{Serialize, Serializer}; - /// - /// impl Serialize for DateTime { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// serializer.collect_str(&format_args!("{:?}{:?}", - /// self.naive_local(), - /// self.offset())) - /// } - /// } - /// ``` - #[cfg(not(any(feature = "std", feature = "alloc")))] - fn collect_str(self, value: &T) -> Result - where - T: Display; - - /// Determine whether `Serialize` implementations should serialize in - /// human-readable form. - /// - /// Some types have a human-readable form that may be somewhat expensive to - /// construct, as well as a binary form that is compact and efficient. - /// Generally text-based formats like JSON and YAML will prefer to use the - /// human-readable one and binary formats like Bincode will prefer the - /// compact one. - /// - /// ```edition2018 - /// # use std::fmt::{self, Display}; - /// # - /// # struct Timestamp; - /// # - /// # impl Timestamp { - /// # fn seconds_since_epoch(&self) -> u64 { unimplemented!() } - /// # } - /// # - /// # impl Display for Timestamp { - /// # fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - /// # unimplemented!() - /// # } - /// # } - /// # - /// use serde::{Serialize, Serializer}; - /// - /// impl Serialize for Timestamp { - /// fn serialize(&self, serializer: S) -> Result - /// where - /// S: Serializer, - /// { - /// if serializer.is_human_readable() { - /// // Serialize to a human-readable string "2015-05-15T17:01:00Z". - /// self.to_string().serialize(serializer) - /// } else { - /// // Serialize to a compact binary representation. - /// self.seconds_since_epoch().serialize(serializer) - /// } - /// } - /// } - /// ``` - /// - /// The default implementation of this method returns `true`. Data formats - /// may override this to `false` to request a compact form for types that - /// support one. Note that modifying this method to change a format from - /// human-readable to compact or vice versa should be regarded as a breaking - /// change, as a value serialized in human-readable mode is not required to - /// deserialize from the same data in compact mode. - #[inline] - fn is_human_readable(&self) -> bool { - true - } -} - -/// Returned from `Serializer::serialize_seq`. -/// -/// # Example use -/// -/// ```edition2018 -/// # use std::marker::PhantomData; -/// # -/// # struct Vec(PhantomData); -/// # -/// # impl Vec { -/// # fn len(&self) -> usize { -/// # unimplemented!() -/// # } -/// # } -/// # -/// # impl<'a, T> IntoIterator for &'a Vec { -/// # type Item = &'a T; -/// # type IntoIter = Box>; -/// # fn into_iter(self) -> Self::IntoIter { -/// # unimplemented!() -/// # } -/// # } -/// # -/// use serde::ser::{Serialize, Serializer, SerializeSeq}; -/// -/// impl Serialize for Vec -/// where -/// T: Serialize, -/// { -/// fn serialize(&self, serializer: S) -> Result -/// where -/// S: Serializer, -/// { -/// let mut seq = serializer.serialize_seq(Some(self.len()))?; -/// for element in self { -/// seq.serialize_element(element)?; -/// } -/// seq.end() -/// } -/// } -/// ``` -/// -/// # Example implementation -/// -/// The [example data format] presented on the website demonstrates an -/// implementation of `SerializeSeq` for a basic JSON data format. -/// -/// [example data format]: https://serde.rs/data-format.html -pub trait SerializeSeq { - /// Must match the `Ok` type of our `Serializer`. - type Ok; - - /// Must match the `Error` type of our `Serializer`. - type Error: Error; - - /// Serialize a sequence element. - fn serialize_element(&mut self, value: &T) -> Result<(), Self::Error> - where - T: Serialize; - - /// Finish serializing a sequence. - fn end(self) -> Result; -} - -/// Returned from `Serializer::serialize_tuple`. -/// -/// # Example use -/// -/// ```edition2018 -/// use serde::ser::{Serialize, Serializer, SerializeTuple}; -/// -/// # mod fool { -/// # trait Serialize {} -/// impl Serialize for (A, B, C) -/// # {} -/// # } -/// # -/// # struct Tuple3(A, B, C); -/// # -/// # impl Serialize for Tuple3 -/// where -/// A: Serialize, -/// B: Serialize, -/// C: Serialize, -/// { -/// fn serialize(&self, serializer: S) -> Result -/// where -/// S: Serializer, -/// { -/// let mut tup = serializer.serialize_tuple(3)?; -/// tup.serialize_element(&self.0)?; -/// tup.serialize_element(&self.1)?; -/// tup.serialize_element(&self.2)?; -/// tup.end() -/// } -/// } -/// ``` -/// -/// ```edition2018 -/// # use std::marker::PhantomData; -/// # -/// # struct Array(PhantomData); -/// # -/// # impl Array { -/// # fn len(&self) -> usize { -/// # unimplemented!() -/// # } -/// # } -/// # -/// # impl<'a, T> IntoIterator for &'a Array { -/// # type Item = &'a T; -/// # type IntoIter = Box>; -/// # fn into_iter(self) -> Self::IntoIter { -/// # unimplemented!() -/// # } -/// # } -/// # -/// use serde::ser::{Serialize, Serializer, SerializeTuple}; -/// -/// # mod fool { -/// # trait Serialize {} -/// impl Serialize for [T; 16] -/// # {} -/// # } -/// # -/// # impl Serialize for Array -/// where -/// T: Serialize, -/// { -/// fn serialize(&self, serializer: S) -> Result -/// where -/// S: Serializer, -/// { -/// let mut seq = serializer.serialize_tuple(16)?; -/// for element in self { -/// seq.serialize_element(element)?; -/// } -/// seq.end() -/// } -/// } -/// ``` -/// -/// # Example implementation -/// -/// The [example data format] presented on the website demonstrates an -/// implementation of `SerializeTuple` for a basic JSON data format. -/// -/// [example data format]: https://serde.rs/data-format.html -pub trait SerializeTuple { - /// Must match the `Ok` type of our `Serializer`. - type Ok; - - /// Must match the `Error` type of our `Serializer`. - type Error: Error; - - /// Serialize a tuple element. - fn serialize_element(&mut self, value: &T) -> Result<(), Self::Error> - where - T: Serialize; - - /// Finish serializing a tuple. - fn end(self) -> Result; -} - -/// Returned from `Serializer::serialize_tuple_struct`. -/// -/// # Example use -/// -/// ```edition2018 -/// use serde::ser::{Serialize, SerializeTupleStruct, Serializer}; -/// -/// struct Rgb(u8, u8, u8); -/// -/// impl Serialize for Rgb { -/// fn serialize(&self, serializer: S) -> Result -/// where -/// S: Serializer, -/// { -/// let mut ts = serializer.serialize_tuple_struct("Rgb", 3)?; -/// ts.serialize_field(&self.0)?; -/// ts.serialize_field(&self.1)?; -/// ts.serialize_field(&self.2)?; -/// ts.end() -/// } -/// } -/// ``` -/// -/// # Example implementation -/// -/// The [example data format] presented on the website demonstrates an -/// implementation of `SerializeTupleStruct` for a basic JSON data format. -/// -/// [example data format]: https://serde.rs/data-format.html -pub trait SerializeTupleStruct { - /// Must match the `Ok` type of our `Serializer`. - type Ok; - - /// Must match the `Error` type of our `Serializer`. - type Error: Error; - - /// Serialize a tuple struct field. - fn serialize_field(&mut self, value: &T) -> Result<(), Self::Error> - where - T: Serialize; - - /// Finish serializing a tuple struct. - fn end(self) -> Result; -} - -/// Returned from `Serializer::serialize_tuple_variant`. -/// -/// # Example use -/// -/// ```edition2018 -/// use serde::ser::{Serialize, SerializeTupleVariant, Serializer}; -/// -/// enum E { -/// T(u8, u8), -/// U(String, u32, u32), -/// } -/// -/// impl Serialize for E { -/// fn serialize(&self, serializer: S) -> Result -/// where -/// S: Serializer, -/// { -/// match *self { -/// E::T(ref a, ref b) => { -/// let mut tv = serializer.serialize_tuple_variant("E", 0, "T", 2)?; -/// tv.serialize_field(a)?; -/// tv.serialize_field(b)?; -/// tv.end() -/// } -/// E::U(ref a, ref b, ref c) => { -/// let mut tv = serializer.serialize_tuple_variant("E", 1, "U", 3)?; -/// tv.serialize_field(a)?; -/// tv.serialize_field(b)?; -/// tv.serialize_field(c)?; -/// tv.end() -/// } -/// } -/// } -/// } -/// ``` -/// -/// # Example implementation -/// -/// The [example data format] presented on the website demonstrates an -/// implementation of `SerializeTupleVariant` for a basic JSON data format. -/// -/// [example data format]: https://serde.rs/data-format.html -pub trait SerializeTupleVariant { - /// Must match the `Ok` type of our `Serializer`. - type Ok; - - /// Must match the `Error` type of our `Serializer`. - type Error: Error; - - /// Serialize a tuple variant field. - fn serialize_field(&mut self, value: &T) -> Result<(), Self::Error> - where - T: Serialize; - - /// Finish serializing a tuple variant. - fn end(self) -> Result; -} - -/// Returned from `Serializer::serialize_map`. -/// -/// # Example use -/// -/// ```edition2018 -/// # use std::marker::PhantomData; -/// # -/// # struct HashMap(PhantomData, PhantomData); -/// # -/// # impl HashMap { -/// # fn len(&self) -> usize { -/// # unimplemented!() -/// # } -/// # } -/// # -/// # impl<'a, K, V> IntoIterator for &'a HashMap { -/// # type Item = (&'a K, &'a V); -/// # type IntoIter = Box>; -/// # -/// # fn into_iter(self) -> Self::IntoIter { -/// # unimplemented!() -/// # } -/// # } -/// # -/// use serde::ser::{Serialize, Serializer, SerializeMap}; -/// -/// impl Serialize for HashMap -/// where -/// K: Serialize, -/// V: Serialize, -/// { -/// fn serialize(&self, serializer: S) -> Result -/// where -/// S: Serializer, -/// { -/// let mut map = serializer.serialize_map(Some(self.len()))?; -/// for (k, v) in self { -/// map.serialize_entry(k, v)?; -/// } -/// map.end() -/// } -/// } -/// ``` -/// -/// # Example implementation -/// -/// The [example data format] presented on the website demonstrates an -/// implementation of `SerializeMap` for a basic JSON data format. -/// -/// [example data format]: https://serde.rs/data-format.html -pub trait SerializeMap { - /// Must match the `Ok` type of our `Serializer`. - type Ok; - - /// Must match the `Error` type of our `Serializer`. - type Error: Error; - - /// Serialize a map key. - /// - /// If possible, `Serialize` implementations are encouraged to use - /// `serialize_entry` instead as it may be implemented more efficiently in - /// some formats compared to a pair of calls to `serialize_key` and - /// `serialize_value`. - fn serialize_key(&mut self, key: &T) -> Result<(), Self::Error> - where - T: Serialize; - - /// Serialize a map value. - /// - /// # Panics - /// - /// Calling `serialize_value` before `serialize_key` is incorrect and is - /// allowed to panic or produce bogus results. - fn serialize_value(&mut self, value: &T) -> Result<(), Self::Error> - where - T: Serialize; - - /// Serialize a map entry consisting of a key and a value. - /// - /// Some [`Serialize`] types are not able to hold a key and value in memory - /// at the same time so `SerializeMap` implementations are required to - /// support [`serialize_key`] and [`serialize_value`] individually. The - /// `serialize_entry` method allows serializers to optimize for the case - /// where key and value are both available. [`Serialize`] implementations - /// are encouraged to use `serialize_entry` if possible. - /// - /// The default implementation delegates to [`serialize_key`] and - /// [`serialize_value`]. This is appropriate for serializers that do not - /// care about performance or are not able to optimize `serialize_entry` any - /// better than this. - /// - /// [`Serialize`]: ../trait.Serialize.html - /// [`serialize_key`]: #tymethod.serialize_key - /// [`serialize_value`]: #tymethod.serialize_value - fn serialize_entry( - &mut self, - key: &K, - value: &V, - ) -> Result<(), Self::Error> - where - K: Serialize, - V: Serialize, - { - try!(self.serialize_key(key)); - self.serialize_value(value) - } - - /// Finish serializing a map. - fn end(self) -> Result; -} - -/// Returned from `Serializer::serialize_struct`. -/// -/// # Example use -/// -/// ```edition2018 -/// use serde::ser::{Serialize, SerializeStruct, Serializer}; -/// -/// struct Rgb { -/// r: u8, -/// g: u8, -/// b: u8, -/// } -/// -/// impl Serialize for Rgb { -/// fn serialize(&self, serializer: S) -> Result -/// where -/// S: Serializer, -/// { -/// let mut rgb = serializer.serialize_struct("Rgb", 3)?; -/// rgb.serialize_field("r", &self.r)?; -/// rgb.serialize_field("g", &self.g)?; -/// rgb.serialize_field("b", &self.b)?; -/// rgb.end() -/// } -/// } -/// ``` -/// -/// # Example implementation -/// -/// The [example data format] presented on the website demonstrates an -/// implementation of `SerializeStruct` for a basic JSON data format. -/// -/// [example data format]: https://serde.rs/data-format.html -pub trait SerializeStruct { - /// Must match the `Ok` type of our `Serializer`. - type Ok; - - /// Must match the `Error` type of our `Serializer`. - type Error: Error; - - /// Serialize a struct field. - fn serialize_field( - &mut self, - key: &'static str, - value: &T, - ) -> Result<(), Self::Error> - where - T: Serialize; - - /// Indicate that a struct field has been skipped. - #[inline] - fn skip_field(&mut self, key: &'static str) -> Result<(), Self::Error> { - let _ = key; - Ok(()) - } - - /// Finish serializing a struct. - fn end(self) -> Result; -} - -/// Returned from `Serializer::serialize_struct_variant`. -/// -/// # Example use -/// -/// ```edition2018 -/// use serde::ser::{Serialize, SerializeStructVariant, Serializer}; -/// -/// enum E { -/// S { r: u8, g: u8, b: u8 }, -/// } -/// -/// impl Serialize for E { -/// fn serialize(&self, serializer: S) -> Result -/// where -/// S: Serializer, -/// { -/// match *self { -/// E::S { -/// ref r, -/// ref g, -/// ref b, -/// } => { -/// let mut sv = serializer.serialize_struct_variant("E", 0, "S", 3)?; -/// sv.serialize_field("r", r)?; -/// sv.serialize_field("g", g)?; -/// sv.serialize_field("b", b)?; -/// sv.end() -/// } -/// } -/// } -/// } -/// ``` -/// -/// # Example implementation -/// -/// The [example data format] presented on the website demonstrates an -/// implementation of `SerializeStructVariant` for a basic JSON data format. -/// -/// [example data format]: https://serde.rs/data-format.html -pub trait SerializeStructVariant { - /// Must match the `Ok` type of our `Serializer`. - type Ok; - - /// Must match the `Error` type of our `Serializer`. - type Error: Error; - - /// Serialize a struct variant field. - fn serialize_field( - &mut self, - key: &'static str, - value: &T, - ) -> Result<(), Self::Error> - where - T: Serialize; - - /// Indicate that a struct variant field has been skipped. - #[inline] - fn skip_field(&mut self, key: &'static str) -> Result<(), Self::Error> { - let _ = key; - Ok(()) - } - - /// Finish serializing a struct variant. - fn end(self) -> Result; -} - -trait LenHint: Iterator { - fn len_hint(&self) -> Option; -} - -impl LenHint for I -where - I: Iterator, -{ - #[cfg(not(feature = "unstable"))] - fn len_hint(&self) -> Option { - iterator_len_hint(self) - } - - #[cfg(feature = "unstable")] - default fn len_hint(&self) -> Option { - iterator_len_hint(self) - } -} - -#[cfg(feature = "unstable")] -impl LenHint for I -where - I: ExactSizeIterator, -{ - fn len_hint(&self) -> Option { - Some(self.len()) - } -} - -fn iterator_len_hint(iter: &I) -> Option -where - I: Iterator, -{ - match iter.size_hint() { - (lo, Some(hi)) if lo == hi => Some(lo), - _ => None, - } -} diff --git a/vendor/registry-40351f815f426200/strsim/.cargo-checksum.json b/vendor/registry-40351f815f426200/strsim/.cargo-checksum.json deleted file mode 100644 index 34f406bf3..000000000 --- a/vendor/registry-40351f815f426200/strsim/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"CHANGELOG.md":"5f3e55f36768b2d2e40ee54702d6298175b7736e9b8918ca03592011f053c25f","Cargo.toml":"ff9b4b5bd80560ed36b14313261763d321cfb9e3f212896ec565fb872e26c3f0","LICENSE":"9b60c5838cbe7953b84bb2206835cb2bc898802da4c449e4442cf23e3ad4841e","README.md":"1778e287c6788197322a352721414f7ceab0c84ee0918513bb9f5382d3e40bc6","appveyor.yml":"b41eae9798a9bb250f6046509d9bbd6e63bac9ad2655d342b3d9c8975584f0c0","dev":"498932c7296d8abeb9e432e797a579787a85a052fa514325b873c4fe3200ec67","src/lib.rs":"a79164ec2334c477ca9d25e10c161e0e9bb8ae8670eb22976948c2a574b40985","tests/lib.rs":"43c707f9c9d35fafa07b34f61418ac877687daba5a0790d87e47b3d2c8bad274"},"package":"b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c3694"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/strsim/CHANGELOG.md b/vendor/registry-40351f815f426200/strsim/CHANGELOG.md deleted file mode 100644 index 2570cbdc9..000000000 --- a/vendor/registry-40351f815f426200/strsim/CHANGELOG.md +++ /dev/null @@ -1,103 +0,0 @@ -# Change Log -This project attempts to adhere to [Semantic Versioning](http://semver.org). - -## [0.6.0] - (2016-12-26) -### Added -- Add optimal string alignment distance - -### Fixed -- Fix Damerau-Levenshtein implementation (previous implementation was actually -optimal string alignment; see this [Damerau-Levenshtein explanation]) - -## [0.5.2] - (2016-11-21) -### Changed -- Remove Cargo generated documentation in favor of a [docs.rs] link - -## [0.5.1] - (2016-08-23) -### Added -- Add Cargo generated documentation - -### Fixed -- Fix panic when Jaro or Jaro-Winkler are given strings both with a length of -one - -## [0.5.0] - (2016-08-11) -### Changed -- Make Hamming faster (thanks @IBUzPE9) when the two strings have the same -length but slower when they have different lengths - -## [0.4.1] - (2016-04-18) -### Added -- Add Vagrant setup for development -- Add AppVeyor configuration for Windows CI - -### Fixed -- Fix metrics when given strings with multibyte characters (thanks @WanzenBug) - -## [0.4.0] - (2015-06-10) -### Added -- For each metric, add a function that takes a vector of strings and returns a -vector of results (thanks @ovarene) - -## [0.3.0] - (2015-04-30) -### Changed -- Remove usage of unstable Rust features - -## [0.2.5] - (2015-04-24) -### Fixed -- Remove unnecessary `Float` import from doc tests - -## [0.2.4] - (2015-04-15) -### Fixed -- Remove unused `core` feature flag - -## [0.2.3] - (2015-04-01) -### Fixed -- Remove now unnecessary `Float` import - -## [0.2.2] - (2015-03-29) -### Fixed -- Remove usage of `char_at` (marked as unstable) - -## [0.2.1] - (2015-02-20) -### Fixed -- Update bit vector import to match Rust update - -## [0.2.0] - (2015-02-19) -### Added -- Implement Damerau-Levenshtein -- Add tests in docs - -## [0.1.1] - (2015-02-10) -### Added -- Configure Travis for CI -- Add rustdoc comments - -### Fixed -- Limit Jaro-Winkler return value to a maximum of 1.0 -- Fix float comparsions in tests - -## [0.1.0] - (2015-02-09) -### Added -- Implement Hamming, Jaro, Jaro-Winkler, and Levenshtein - -[Unreleased]: https://github.com/dguo/strsim-rs/compare/0.6.0...HEAD -[0.6.0]: https://github.com/dguo/strsim-rs/compare/0.5.2...0.6.0 -[0.5.2]: https://github.com/dguo/strsim-rs/compare/0.5.1...0.5.2 -[0.5.1]: https://github.com/dguo/strsim-rs/compare/0.5.0...0.5.1 -[0.5.0]: https://github.com/dguo/strsim-rs/compare/0.4.1...0.5.0 -[0.4.1]: https://github.com/dguo/strsim-rs/compare/0.4.0...0.4.1 -[0.4.0]: https://github.com/dguo/strsim-rs/compare/0.3.0...0.4.0 -[0.3.0]: https://github.com/dguo/strsim-rs/compare/0.2.5...0.3.0 -[0.2.5]: https://github.com/dguo/strsim-rs/compare/0.2.4...0.2.5 -[0.2.4]: https://github.com/dguo/strsim-rs/compare/0.2.3...0.2.4 -[0.2.3]: https://github.com/dguo/strsim-rs/compare/0.2.2...0.2.3 -[0.2.2]: https://github.com/dguo/strsim-rs/compare/0.2.1...0.2.2 -[0.2.1]: https://github.com/dguo/strsim-rs/compare/0.2.0...0.2.1 -[0.2.0]: https://github.com/dguo/strsim-rs/compare/0.1.1...0.2.0 -[0.1.1]: https://github.com/dguo/strsim-rs/compare/0.1.0...0.1.1 -[0.1.0]: https://github.com/dguo/strsim-rs/compare/fabad4...0.1.0 -[docs.rs]: https://docs.rs/strsim/ -[Damerau-Levenshtein explanation]: -http://scarcitycomputing.blogspot.com/2013/04/damerau-levenshtein-edit-distance.html - diff --git a/vendor/registry-40351f815f426200/strsim/Cargo.toml b/vendor/registry-40351f815f426200/strsim/Cargo.toml deleted file mode 100644 index 1db488204..000000000 --- a/vendor/registry-40351f815f426200/strsim/Cargo.toml +++ /dev/null @@ -1,17 +0,0 @@ -[package] - -name = "strsim" -version = "0.6.0" -authors = ["Danny Guo "] -description = """ -Implementations of string similarity metrics. -Includes Hamming, Levenshtein, Damerau-Levenshtein, Jaro, and Jaro-Winkler. -""" -license = "MIT" -readme = "README.md" -keywords = ["string", "similarity", "Hamming", - "Levenshtein", "Jaro"] -homepage = "https://github.com/dguo/strsim-rs" -repository = "https://github.com/dguo/strsim-rs" -documentation = "http://dannyguo.com/strsim-rs/" - diff --git a/vendor/registry-40351f815f426200/strsim/LICENSE b/vendor/registry-40351f815f426200/strsim/LICENSE deleted file mode 100644 index d35e62c38..000000000 --- a/vendor/registry-40351f815f426200/strsim/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 Danny Guo - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/vendor/registry-40351f815f426200/strsim/README.md b/vendor/registry-40351f815f426200/strsim/README.md deleted file mode 100644 index dc0a1e33e..000000000 --- a/vendor/registry-40351f815f426200/strsim/README.md +++ /dev/null @@ -1,95 +0,0 @@ -# strsim-rs [![Crates.io](https://img.shields.io/crates/v/strsim.svg)](https://crates.io/crates/strsim) [![Crates.io](https://img.shields.io/crates/l/strsim.svg?maxAge=2592000)](https://github.com/dguo/strsim-rs/blob/master/LICENSE) [![Linux build status](https://travis-ci.org/dguo/strsim-rs.svg?branch=master)](https://travis-ci.org/dguo/strsim-rs) [![Windows build status](https://ci.appveyor.com/api/projects/status/ggue6i785618a39w?svg=true)](https://ci.appveyor.com/project/dguo/strsim-rs) - -[Rust](https://www.rust-lang.org) implementations of [string similarity metrics]: - - [Hamming] - - [Levenshtein] - - [Optimal string alignment] - - [Damerau-Levenshtein] - - [Jaro and Jaro-Winkler] - this implementation of Jaro-Winkler does not limit the common prefix length - -### Installation -```toml -# Cargo.toml -[dependencies] -strsim = "0.6.0" -``` - -### [Documentation](https://docs.rs/strsim/) -You can change the version in the url to see the documentation for an older -version in the -[changelog](https://github.com/dguo/strsim-rs/blob/master/CHANGELOG.md). - -### Usage -```rust -extern crate strsim; - -use strsim::{hamming, levenshtein, osa_distance, damerau_levenshtein, jaro, - jaro_winkler, levenshtein_against_vec, osa_distance_against_vec, - damerau_levenshtein_against_vec, jaro_against_vec, - jaro_winkler_against_vec}; - -fn main() { - match hamming("hamming", "hammers") { - Ok(distance) => assert_eq!(3, distance), - Err(why) => panic!("{:?}", why) - } - - assert_eq!(3, levenshtein("kitten", "sitting")); - - assert_eq!(3, osa_distance("ac", "cba")); - - assert_eq!(2, damerau_levenshtein("ac", "cba")); - - assert!((0.392 - jaro("Friedrich Nietzsche", "Jean-Paul Sartre")).abs() < - 0.001); - - assert!((0.911 - jaro_winkler("cheeseburger", "cheese fries")).abs() < - 0.001); - - // get vectors of values back - let v = vec!["test", "test1", "test12", "test123", "", "tset", "tsvet"]; - - assert_eq!(levenshtein_against_vec("test", &v), - vec![0, 1, 2, 3, 4, 2, 3]); - - assert_eq!(osa_distance_against_vec("test", &v), - vec![0, 1, 2, 3, 4, 1, 3]); - - assert_eq!(damerau_levenshtein_against_vec("test", &v), - vec![0, 1, 2, 3, 4, 1, 2]); - - let jaro_distances = jaro_against_vec("test", &v); - let jaro_expected = vec![1.0, 0.933333, 0.888889, 0.857143, 0.0, 0.916667]; - let jaro_delta: f64 = jaro_distances.iter() - .zip(jaro_expected.iter()) - .map(|(x, y)| (x - y).abs() as f64) - .fold(0.0, |x, y| x + y as f64); - assert!(jaro_delta < 0.0001); - - let jaro_winkler_distances = jaro_winkler_against_vec("test", &v); - let jaro_winkler_expected = vec![1.0, 0.96, 0.933333, 0.914286, 0.0, 0.925]; - let jaro_winkler_delta = jaro_winkler_distances.iter() - .zip(jaro_winkler_expected.iter()) - .map(|(x, y)| (x - y).abs() as f64) - .fold(0.0, |x, y| x + y as f64); - assert!(jaro_winkler_delta < 0.0001); -} -``` - -### Development -If you don't want to install Rust itself, you can install [Docker], and run -`$ ./dev`. This should bring up a temporary container from which you can run -[cargo] commands. - -### License -[MIT](https://github.com/dguo/strsim-rs/blob/master/LICENSE) - -[string similarity metrics]:http://en.wikipedia.org/wiki/String_metric -[Damerau-Levenshtein]:http://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance -[Jaro and Jaro-Winkler]:http://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance -[Levenshtein]:http://en.wikipedia.org/wiki/Levenshtein_distance -[Hamming]:http://en.wikipedia.org/wiki/Hamming_distance -[Optimal string alignment]:https://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance#Optimal_string_alignment_distance -[Docker]:https://docs.docker.com/engine/installation/ -[cargo]:https://github.com/rust-lang/cargo - diff --git a/vendor/registry-40351f815f426200/strsim/appveyor.yml b/vendor/registry-40351f815f426200/strsim/appveyor.yml deleted file mode 100644 index fb992db82..000000000 --- a/vendor/registry-40351f815f426200/strsim/appveyor.yml +++ /dev/null @@ -1,13 +0,0 @@ -install: - - ps: Start-FileDownload 'https://static.rust-lang.org/dist/rust-beta-x86_64-pc-windows-gnu.exe' - - rust-beta-x86_64-pc-windows-gnu.exe /VERYSILENT /NORESTART /DIR="C:\Program Files (x86)\Rust" - - SET PATH=%PATH%;C:\Program Files (x86)\Rust\bin - - rustc -V - - cargo -V - -build: false - -test_script: - - cargo build - - cargo test --verbose - diff --git a/vendor/registry-40351f815f426200/strsim/dev b/vendor/registry-40351f815f426200/strsim/dev deleted file mode 100755 index 0e32354d0..000000000 --- a/vendor/registry-40351f815f426200/strsim/dev +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env python - -from __future__ import print_function - -import os -from subprocess import call -import sys - -try: - call(['docker', 'run', '-it', '--rm', '-v', os.getcwd() + ':/source', - 'jimmycuadra/rust:1.14.0']) -except OSError: - print('Please install Docker.', file=sys.stderr) - diff --git a/vendor/registry-40351f815f426200/strsim/src/lib.rs b/vendor/registry-40351f815f426200/strsim/src/lib.rs deleted file mode 100644 index 3cf285bbe..000000000 --- a/vendor/registry-40351f815f426200/strsim/src/lib.rs +++ /dev/null @@ -1,911 +0,0 @@ -//! This library implements string similarity metrics. - -use std::char; -use std::cmp::{max, min}; -use std::collections::HashMap; - -#[derive(Debug, PartialEq)] -pub enum StrSimError { - DifferentLengthArgs -} - -pub type HammingResult = Result; - -/// Calculates the number of positions in the two strings where the characters -/// differ. Returns an error if the strings have different lengths. -/// -/// ``` -/// use strsim::hamming; -/// -/// match hamming("hamming", "hammers") { -/// Ok(distance) => assert_eq!(3, distance), -/// Err(why) => panic!("{:?}", why) -/// } -/// ``` -pub fn hamming(a: &str, b: &str) -> HammingResult { - let (mut ita, mut itb, mut count) = (a.chars(), b.chars(), 0); - loop { - match (ita.next(), itb.next()){ - (Some(x), Some(y)) => if x != y { count += 1 }, - (None, None) => return Ok(count), - _ => return Err(StrSimError::DifferentLengthArgs), - } - } -} - -/// Calculates the Jaro similarity between two strings. The returned value -/// is between 0.0 and 1.0 (higher value means more similar). -/// -/// ``` -/// use strsim::jaro; -/// -/// assert!((0.392 - jaro("Friedrich Nietzsche", "Jean-Paul Sartre")).abs() < -/// 0.001); -/// ``` -pub fn jaro(a: &str, b: &str) -> f64 { - if a == b { return 1.0; } - - let a_len = a.chars().count(); - let b_len = b.chars().count(); - - // The check for lengths of one here is to prevent integer overflow when - // calculating the search range. - if a_len == 0 || b_len == 0 || (a_len == 1 && b_len == 1) { - return 0.0; - } - - let search_range = (max(a_len, b_len) / 2) - 1; - - let mut b_consumed = Vec::with_capacity(b_len); - for _ in 0..b_len { - b_consumed.push(false); - } - let mut matches = 0.0; - - let mut transpositions = 0.0; - let mut b_match_index = 0; - - for (i, a_char) in a.chars().enumerate() { - let min_bound = - // prevent integer wrapping - if i > search_range { - max(0, i - search_range) - } else { - 0 - }; - - let max_bound = min(b_len - 1, i + search_range); - - if min_bound > max_bound { - continue; - } - - for (j, b_char) in b.chars().enumerate() { - if min_bound <= j && j <= max_bound && a_char == b_char && - !b_consumed[j] { - b_consumed[j] = true; - matches += 1.0; - - if j < b_match_index { - transpositions += 1.0; - } - b_match_index = j; - - break; - } - } - } - - if matches == 0.0 { - 0.0 - } else { - (1.0 / 3.0) * ((matches / a_len as f64) + - (matches / b_len as f64) + - ((matches - transpositions) / matches)) - } -} - -/// Calculates the Jaro distance between a string and each string in a vector. -/// Returns a vector of corresponding values between 0.0 and 1.0 (higher value -/// means more similar). -/// -/// ``` -/// use strsim::jaro_against_vec; -/// -/// let v = vec!["test", "test1", "test12", "test123", "", "tset"]; -/// let result = jaro_against_vec("test", &v); -/// let expected = vec![1.0, 0.933333, 0.888889, 0.857143, 0.0, 0.916667]; -/// let delta: f64 = result.iter() -/// .zip(expected.iter()) -/// .map(|(x, y)| (x - y).abs() as f64) -/// .fold(0.0, |x, y| x + y as f64); -/// assert!(delta.abs() < 0.0001); -/// ``` -pub fn jaro_against_vec(a: &str, v: &[&str]) -> Vec { - v.iter().map(|b| jaro(a, b)).collect() -} - -/// Like Jaro but gives a boost to strings that have a common prefix. -/// -/// ``` -/// use strsim::jaro_winkler; -/// -/// assert!((0.911 - jaro_winkler("cheeseburger", "cheese fries")).abs() < -/// 0.001); -/// ``` -pub fn jaro_winkler(a: &str, b: &str) -> f64 { - let jaro_distance = jaro(a, b); - - // Don't limit the length of the common prefix - let prefix_length = a.chars() - .zip(b.chars()) - .take_while(|&(a_char, b_char)| a_char == b_char) - .count(); - - let jaro_winkler_distance = - jaro_distance + (0.1 * prefix_length as f64 * (1.0 - jaro_distance)); - - if jaro_winkler_distance <= 1.0 { - jaro_winkler_distance - } else { - 1.0 - } -} - -/// Calculates the Jaro-Winkler distances between a string and each string -/// in a vector. Returns a vector of corresponding values. -/// -/// ``` -/// use strsim::jaro_winkler_against_vec; -/// -/// let v = vec!["test", "test1", "test12", "test123", "", "tset"]; -/// let result = jaro_winkler_against_vec("test", &v); -/// let expected = vec![1.0, 0.96, 0.933333, 0.914286, 0.0, 0.925]; -/// let delta: f64 = result.iter() -/// .zip(expected.iter()) -/// .map(|(x, y)| (x - y).abs() as f64) -/// .fold(0.0, |x, y| x + y as f64); -/// assert!(delta.abs() < 0.0001); -/// ``` -pub fn jaro_winkler_against_vec(a: &str, v: &[&str]) -> Vec { - v.iter().map(|b| jaro_winkler(a, b)).collect() -} - -/// Calculates the minimum number of insertions, deletions, and substitutions -/// required to change one string into the other. -/// -/// ``` -/// use strsim::levenshtein; -/// -/// assert_eq!(3, levenshtein("kitten", "sitting")); -/// ``` -pub fn levenshtein(a: &str, b: &str) -> usize { - let a_len = a.chars().count(); - let b_len = b.chars().count(); - if a == b { return 0; } - else if a_len == 0 { return b_len; } - else if b_len == 0 { return a_len; } - - let mut prev_distances: Vec = Vec::with_capacity(b_len + 1); - let mut curr_distances: Vec = Vec::with_capacity(b_len + 1); - - for i in 0..(b_len + 1) { - prev_distances.push(i); - curr_distances.push(0); - } - - for (i, a_char) in a.chars().enumerate() { - curr_distances[0] = i + 1; - - for (j, b_char) in b.chars().enumerate() { - let cost = if a_char == b_char { 0 } else { 1 }; - curr_distances[j + 1] = min(curr_distances[j] + 1, - min(prev_distances[j + 1] + 1, - prev_distances[j] + cost)); - } - - prev_distances.clone_from(&curr_distances); - } - - curr_distances[b_len] -} - -/// Calculates the Levenshtein distance between a string and each string in a -/// vector. Returns a vector of corresponding values. -/// -/// ``` -/// use strsim::levenshtein_against_vec; -/// -/// let v = vec!["test", "test1", "test12", "test123", "", "tset"]; -/// let result = levenshtein_against_vec("test", &v); -/// let expected = vec![0, 1, 2, 3, 4, 2]; -/// assert_eq!(expected, result); -/// ``` -pub fn levenshtein_against_vec(a: &str, v: &[&str]) -> Vec { - v.iter().map(|b| levenshtein(a, b)).collect() -} - -/// Like Levenshtein but allows for adjacent transpositions. Each substring can -/// only be edited once. -/// -/// ``` -/// use strsim::osa_distance; -/// -/// assert_eq!(3, osa_distance("ab", "bca")); -/// ``` -pub fn osa_distance(a: &str, b: &str) -> usize { - let a_len = a.chars().count(); - let b_len = b.chars().count(); - if a == b { return 0; } - else if a_len == 0 { return b_len; } - else if b_len == 0 { return a_len; } - - let mut prev_two_distances: Vec = Vec::with_capacity(b_len + 1); - let mut prev_distances: Vec = Vec::with_capacity(b_len + 1); - let mut curr_distances: Vec = Vec::with_capacity(b_len + 1); - - let mut prev_a_char = char::MAX; - let mut prev_b_char = char::MAX; - - for i in 0..(b_len + 1) { - prev_two_distances.push(i); - prev_distances.push(i); - curr_distances.push(0); - } - - for (i, a_char) in a.chars().enumerate() { - curr_distances[0] = i + 1; - - for (j, b_char) in b.chars().enumerate() { - let cost = if a_char == b_char { 0 } else { 1 }; - curr_distances[j + 1] = min(curr_distances[j] + 1, - min(prev_distances[j + 1] + 1, - prev_distances[j] + cost)); - if i > 0 && j > 0 && a_char != b_char && - a_char == prev_b_char && b_char == prev_a_char { - curr_distances[j + 1] = min(curr_distances[j + 1], - prev_two_distances[j - 1] + 1); - } - - prev_b_char = b_char; - } - - prev_two_distances.clone_from(&prev_distances); - prev_distances.clone_from(&curr_distances); - prev_a_char = a_char; - } - - curr_distances[b_len] - -} - -/// Calculates the optimal string alignment distance between a string and each -/// string in a vector. Returns a vector of corresponding values. -/// -/// ``` -/// use strsim::osa_distance_against_vec; -/// -/// let v = vec!["test", "test1", "test12", "test123", "", "tset"]; -/// let result = osa_distance_against_vec("test", &v); -/// let expected = vec![0, 1, 2, 3, 4, 1]; -/// assert_eq!(expected, result); -/// ``` -pub fn osa_distance_against_vec(a: &str, v: &[&str]) -> Vec { - v.iter().map(|b| osa_distance(a, b)).collect() -} - -/// Like optimal string alignment, but substrings can be edited an unlimited -/// number of times, and the triangle inequality holds. -/// -/// ``` -/// use strsim::damerau_levenshtein; -/// -/// assert_eq!(2, damerau_levenshtein("ab", "bca")); -/// ``` -pub fn damerau_levenshtein(a: &str, b: &str) -> usize { - if a == b { return 0; } - - let a_chars: Vec = a.chars().collect(); - let b_chars: Vec = b.chars().collect(); - let a_len = a_chars.len(); - let b_len = b_chars.len(); - - if a_len == 0 { return b_len; } - if b_len == 0 { return a_len; } - - let mut distances = vec![vec![0; b_len + 2]; a_len + 2]; - let max_distance = a_len + b_len; - distances[0][0] = max_distance; - - for i in 0..(a_len + 1) { - distances[i + 1][0] = max_distance; - distances[i + 1][1] = i; - } - - for j in 0..(b_len + 1) { - distances[0][j + 1] = max_distance; - distances[1][j + 1] = j; - } - - let mut chars: HashMap = HashMap::new(); - - for i in 1..(a_len + 1) { - let mut db = 0; - - for j in 1..(b_len + 1) { - let k = match chars.get(&b_chars[j - 1]) { - Some(value) => value.clone(), - None => 0 - }; - - let l = db; - - let mut cost = 1; - if a_chars[i - 1] == b_chars[j - 1] { - cost = 0; - db = j; - } - - let substitution_cost = distances[i][j] + cost; - let insertion_cost = distances[i][j + 1] + 1; - let deletion_cost = distances[i + 1][j] + 1; - let transposition_cost = distances[k][l] + (i - k - 1) + 1 + - (j - l - 1); - - distances[i + 1][j + 1] = min(substitution_cost, - min(insertion_cost, - min(deletion_cost, - transposition_cost))); - } - - chars.insert(a_chars[i - 1], i); - } - - distances[a_len + 1][b_len + 1] -} - -/// Calculates the Damerau-Levenshtein distance between a string and each string -/// in a vector. Returns a vector of corresponding values. -/// -/// ``` -/// use strsim::damerau_levenshtein_against_vec; -/// -/// let v = vec!["test", "test1", "test12", "test123", "", "tset"]; -/// let result = damerau_levenshtein_against_vec("test", &v); -/// let expected = vec![0, 1, 2, 3, 4, 1]; -/// assert_eq!(expected, result); -/// ``` -pub fn damerau_levenshtein_against_vec(a: &str, v: &[&str]) -> Vec { - v.iter().map(|b| damerau_levenshtein(a, b)).collect() -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn hamming_empty() { - match hamming("", "") { - Ok(distance) => { assert_eq!(0, distance); }, - Err(why) => { panic!("{:?}", why); } - } - } - - #[test] - fn hamming_same() { - match hamming("hamming", "hamming") { - Ok(distance) => { assert_eq!(0, distance); }, - Err(why) => { panic!("{:?}", why); } - } - } - - #[test] - fn hamming_diff() { - match hamming("hamming", "hammers") { - Ok(distance) => { assert_eq!(3, distance); }, - Err(why) => { panic!("{:?}", why); } - } - } - - #[test] - fn hamming_diff_multibyte() { - match hamming("hamming", "h香mmüng") { - Ok(distance) => { assert_eq!(2, distance); }, - Err(why) => { panic!("{:?}", why); } - } - } - - #[test] - fn hamming_unequal_length() { - match hamming("ham", "hamming") { - Ok(_) => { panic!(); }, - Err(why) => { assert_eq!(why, StrSimError::DifferentLengthArgs); } - } - } - - #[test] - fn hamming_names() { - match hamming("Friedrich Nietzs", "Jean-Paul Sartre") { - Ok(distance) => { assert_eq!(14, distance); }, - Err(why) => { panic!("{:?}", why); } - } - } - - #[test] - fn jaro_both_empty() { - assert_eq!(1.0, jaro("", "")); - } - - #[test] - fn jaro_first_empty() { - assert_eq!(0.0, jaro("", "jaro")); - } - - #[test] - fn jaro_second_empty() { - assert_eq!(0.0, jaro("distance", "")); - } - - #[test] - fn jaro_same() { - assert_eq!(1.0, jaro("jaro", "jaro")); - } - - #[test] - fn jaro_multibyte() { - assert!((0.818 - jaro("testabctest", "testöঙ香test")) < 0.001); - assert!((0.818 - jaro("testöঙ香test", "testabctest")) < 0.001); - } - - #[test] - fn jaro_diff_short() { - assert!((0.767 - jaro("dixon", "dicksonx")).abs() < 0.001); - } - - #[test] - fn jaro_diff_one_character() { - assert_eq!(0.0, jaro("a", "b")); - } - - #[test] - fn jaro_diff_one_and_two() { - assert!((0.83 - jaro("a", "ab")).abs() < 0.01); - } - - #[test] - fn jaro_diff_two_and_one() { - assert!((0.83 - jaro("ab", "a")).abs() < 0.01); - } - - #[test] - fn jaro_diff_no_transposition() { - assert!((0.822 - jaro("dwayne", "duane")).abs() < 0.001); - } - - #[test] - fn jaro_diff_with_transposition() { - assert!((0.944 - jaro("martha", "marhta")).abs() < 0.001); - } - - #[test] - fn jaro_names() { - assert!((0.392 - jaro("Friedrich Nietzsche", - "Jean-Paul Sartre")).abs() < 0.001); - } - - #[test] - fn jaro_winkler_both_empty() { - assert_eq!(1.0, jaro_winkler("", "")); - } - - #[test] - fn jaro_winkler_first_empty() { - assert_eq!(0.0, jaro_winkler("", "jaro-winkler")); - } - - #[test] - fn jaro_winkler_second_empty() { - assert_eq!(0.0, jaro_winkler("distance", "")); - } - - #[test] - fn jaro_winkler_same() { - assert_eq!(1.0, jaro_winkler("Jaro-Winkler", "Jaro-Winkler")); - } - - #[test] - fn jaro_winkler_multibyte() { - assert!((0.89 - jaro_winkler("testabctest", "testöঙ香test")).abs() < - 0.001); - assert!((0.89 - jaro_winkler("testöঙ香test", "testabctest")).abs() < - 0.001); - } - - #[test] - fn jaro_winkler_diff_short() { - assert!((0.813 - jaro_winkler("dixon", "dicksonx")).abs() < 0.001); - assert!((0.813 - jaro_winkler("dicksonx", "dixon")).abs() < 0.001); - } - - #[test] - fn jaro_winkler_diff_one_character() { - assert_eq!(0.0, jaro_winkler("a", "b")); - } - - #[test] - fn jaro_winkler_diff_no_transposition() { - assert!((0.840 - jaro_winkler("dwayne", "duane")).abs() < 0.001); - } - - #[test] - fn jaro_winkler_diff_with_transposition() { - assert!((0.961 - jaro_winkler("martha", "marhta")).abs() < 0.001); - } - - #[test] - fn jaro_winkler_names() { - assert!((0.562 - jaro_winkler("Friedrich Nietzsche", - "Fran-Paul Sartre")).abs() < 0.001); - } - - #[test] - fn jaro_winkler_long_prefix() { - assert!((0.911 - jaro_winkler("cheeseburger", "cheese fries")).abs() < - 0.001); - } - - #[test] - fn jaro_winkler_more_names() { - assert!((0.868 - jaro_winkler("Thorkel", "Thorgier")).abs() < 0.001); - } - - #[test] - fn jaro_winkler_length_of_one() { - assert!((0.738 - jaro_winkler("Dinsdale", "D")).abs() < 0.001); - } - - #[test] - fn jaro_winkler_very_long_prefix() { - assert!((1.0 - jaro_winkler("thequickbrownfoxjumpedoverx", - "thequickbrownfoxjumpedovery")).abs() < - 0.001); - } - - #[test] - fn levenshtein_empty() { - assert_eq!(0, levenshtein("", "")); - } - - #[test] - fn levenshtein_same() { - assert_eq!(0, levenshtein("levenshtein", "levenshtein")); - } - - #[test] - fn levenshtein_diff_short() { - assert_eq!(3, levenshtein("kitten", "sitting")); - } - - #[test] - fn levenshtein_diff_with_space() { - assert_eq!(5, levenshtein("hello, world", "bye, world")); - } - - #[test] - fn levenshtein_diff_multibyte() { - assert_eq!(3, levenshtein("öঙ香", "abc")); - assert_eq!(3, levenshtein("abc", "öঙ香")); - } - - #[test] - fn levenshtein_diff_longer() { - let a = "The quick brown fox jumped over the angry dog."; - let b = "Lorem ipsum dolor sit amet, dicta latine an eam."; - assert_eq!(37, levenshtein(a, b)); - } - - #[test] - fn levenshtein_first_empty() { - assert_eq!(7, levenshtein("", "sitting")); - } - - #[test] - fn levenshtein_second_empty() { - assert_eq!(6, levenshtein("kitten", "")); - } - - #[test] - fn osa_distance_empty() { - assert_eq!(0, osa_distance("", "")); - } - - #[test] - fn osa_distance_same() { - assert_eq!(0, osa_distance("damerau", "damerau")); - } - - #[test] - fn osa_distance_first_empty() { - assert_eq!(7, osa_distance("", "damerau")); - } - - #[test] - fn osa_distance_second_empty() { - assert_eq!(7, osa_distance("damerau", "")); - } - - #[test] - fn osa_distance_diff() { - assert_eq!(3, osa_distance("ca", "abc")); - } - - #[test] - fn osa_distance_diff_short() { - assert_eq!(3, osa_distance("damerau", "aderua")); - } - - #[test] - fn osa_distance_diff_reversed() { - assert_eq!(3, osa_distance("aderua", "damerau")); - } - - #[test] - fn osa_distance_diff_multibyte() { - assert_eq!(3, osa_distance("öঙ香", "abc")); - assert_eq!(3, osa_distance("abc", "öঙ香")); - } - - #[test] - fn osa_distance_diff_unequal_length() { - assert_eq!(6, osa_distance("damerau", "aderuaxyz")); - } - - #[test] - fn osa_distance_diff_unequal_length_reversed() { - assert_eq!(6, osa_distance("aderuaxyz", "damerau")); - } - - #[test] - fn osa_distance_diff_comedians() { - assert_eq!(5, osa_distance("Stewart", "Colbert")); - } - - #[test] - fn osa_distance_many_transpositions() { - assert_eq!(4, osa_distance("abcdefghijkl", "bacedfgihjlk")); - } - - #[test] - fn osa_distance_diff_longer() { - let a = "The quick brown fox jumped over the angry dog."; - let b = "Lehem ipsum dolor sit amet, dicta latine an eam."; - assert_eq!(36, osa_distance(a, b)); - } - - #[test] - fn osa_distance_beginning_transposition() { - assert_eq!(1, osa_distance("foobar", "ofobar")); - } - - #[test] - fn osa_distance_end_transposition() { - assert_eq!(1, osa_distance("specter", "spectre")); - } - - #[test] - fn osa_distance_restricted_edit() { - assert_eq!(4, osa_distance("a cat", "an abct")); - } - - #[test] - fn damerau_levenshtein_empty() { - assert_eq!(0, damerau_levenshtein("", "")); - } - - #[test] - fn damerau_levenshtein_same() { - assert_eq!(0, damerau_levenshtein("damerau", "damerau")); - } - - #[test] - fn damerau_levenshtein_first_empty() { - assert_eq!(7, damerau_levenshtein("", "damerau")); - } - - #[test] - fn damerau_levenshtein_second_empty() { - assert_eq!(7, damerau_levenshtein("damerau", "")); - } - - #[test] - fn damerau_levenshtein_diff() { - assert_eq!(2, damerau_levenshtein("ca", "abc")); - } - - #[test] - fn damerau_levenshtein_diff_short() { - assert_eq!(3, damerau_levenshtein("damerau", "aderua")); - } - - #[test] - fn damerau_levenshtein_diff_reversed() { - assert_eq!(3, damerau_levenshtein("aderua", "damerau")); - } - - #[test] - fn damerau_levenshtein_diff_multibyte() { - assert_eq!(3, damerau_levenshtein("öঙ香", "abc")); - assert_eq!(3, damerau_levenshtein("abc", "öঙ香")); - } - - #[test] - fn damerau_levenshtein_diff_unequal_length() { - assert_eq!(6, damerau_levenshtein("damerau", "aderuaxyz")); - } - - #[test] - fn damerau_levenshtein_diff_unequal_length_reversed() { - assert_eq!(6, damerau_levenshtein("aderuaxyz", "damerau")); - } - - #[test] - fn damerau_levenshtein_diff_comedians() { - assert_eq!(5, damerau_levenshtein("Stewart", "Colbert")); - } - - #[test] - fn damerau_levenshtein_many_transpositions() { - assert_eq!(4, damerau_levenshtein("abcdefghijkl", "bacedfgihjlk")); - } - - #[test] - fn damerau_levenshtein_diff_longer() { - let a = "The quick brown fox jumped over the angry dog."; - let b = "Lehem ipsum dolor sit amet, dicta latine an eam."; - assert_eq!(36, damerau_levenshtein(a, b)); - } - - #[test] - fn damerau_levenshtein_beginning_transposition() { - assert_eq!(1, damerau_levenshtein("foobar", "ofobar")); - } - - #[test] - fn damerau_levenshtein_end_transposition() { - assert_eq!(1, damerau_levenshtein("specter", "spectre")); - } - - #[test] - fn damerau_levenshtein_unrestricted_edit() { - assert_eq!(3, damerau_levenshtein("a cat", "an abct")); - } - - #[test] - fn levenshtein_against_vec_empty() { - let v = Vec::new(); - let result = levenshtein_against_vec("test", &v); - let expected: Vec = Vec::new(); - assert_eq!(expected, result); - } - - #[test] - fn levenshtein_against_vec_one() { - let v = vec!["testy"]; - let result = levenshtein_against_vec("test", &v); - let expected = vec![1]; - assert_eq!(expected, result); - } - - #[test] - fn levenshtein_against_vec_many() { - let v = vec!["test", "test1", "test12", "test123", "", "tset"]; - let result = levenshtein_against_vec("test", &v); - let expected = vec![0, 1, 2, 3, 4, 2]; - assert_eq!(expected, result); - } - - #[test] - fn osa_distance_against_vec_empty() { - let v = Vec::new(); - let result = osa_distance_against_vec("test", &v); - let expected: Vec = Vec::new(); - assert_eq!(expected, result); - } - - #[test] - fn osa_distance_against_vec_one() { - let v = vec!["etst"]; - let result = osa_distance_against_vec("test", &v); - let expected = vec![1]; - assert_eq!(expected, result); - } - - #[test] - fn osa_distance_against_vec_many() { - let v = vec!["test", "test1", "test12", "test123", "", "tsvet"]; - let result = osa_distance_against_vec("test", &v); - let expected = vec![0, 1, 2, 3, 4, 3]; - assert_eq!(expected, result); - } - - #[test] - fn damerau_levenshtein_against_vec_empty() { - let v = Vec::new(); - let result = damerau_levenshtein_against_vec("test", &v); - let expected: Vec = Vec::new(); - assert_eq!(expected, result); - } - - #[test] - fn damerau_levenshtein_against_vec_one() { - let v = vec!["etst"]; - let result = damerau_levenshtein_against_vec("test", &v); - let expected = vec![1]; - assert_eq!(expected, result); - } - - #[test] - fn damerau_levenshtein_against_vec_many() { - let v = vec!["test", "test1", "test12", "test123", "", "tsvet"]; - let result = damerau_levenshtein_against_vec("test", &v); - let expected = vec![0, 1, 2, 3, 4, 2]; - assert_eq!(expected, result); - } - - fn equal_float_vecs(a: Vec, b: Vec) -> bool { - let delta: f64 = a.iter() - .zip(b.iter()) - .map(|(x, y)| (x - y).abs() as f64) - .fold(0.0, |x, y| x + y as f64); - delta < 0.0001 - } - - #[test] - fn jaro_against_vec_empty() { - let v = Vec::new(); - let result = jaro_against_vec("test", &v); - let expected: Vec = Vec::new(); - assert_eq!(expected, result); - } - - #[test] - fn jaro_against_vec_one() { - let v = vec!["test1"]; - let result = jaro_against_vec("test", &v); - let expected = vec![0.93333]; - assert!(equal_float_vecs(result, expected)); - } - - #[test] - fn jaro_against_vec_many() { - let v = vec!["test", "test1", "test12", "test123", "", "tset"]; - let result = jaro_against_vec("test", &v); - let expected = vec![1.0, 0.933333, 0.888889, 0.857143, 0.0, 0.916667]; - assert!(equal_float_vecs(result, expected)); - } - - #[test] - fn jaro_winkler_against_vec_empty() { - let v = Vec::new(); - let result = jaro_winkler_against_vec("test", &v); - let expected: Vec = Vec::new(); - assert_eq!(expected, result); - } - - #[test] - fn jaro_winkler_against_vec_one() { - let v = vec!["test123"]; - let result = jaro_winkler_against_vec("test", &v); - let expected = vec![0.914286]; - assert!(equal_float_vecs(result, expected)); - } - - #[test] - fn jaro_winkler_against_vec_many() { - let v = vec!["test", "test1", "test12", "test123", "", "tset"]; - let result = jaro_winkler_against_vec("test", &v); - let expected = vec![1.0, 0.96, 0.933333, 0.914286, 0.0, 0.925]; - assert!(equal_float_vecs(result, expected)); - } -} - diff --git a/vendor/registry-40351f815f426200/strsim/tests/lib.rs b/vendor/registry-40351f815f426200/strsim/tests/lib.rs deleted file mode 100644 index 956d0f567..000000000 --- a/vendor/registry-40351f815f426200/strsim/tests/lib.rs +++ /dev/null @@ -1,89 +0,0 @@ -extern crate strsim; - -use strsim::{hamming, levenshtein, osa_distance, damerau_levenshtein, jaro, - jaro_winkler, levenshtein_against_vec, osa_distance_against_vec, - damerau_levenshtein_against_vec, jaro_against_vec, - jaro_winkler_against_vec}; - -#[test] -fn hamming_works() { - match hamming("hamming", "hammers") { - Ok(distance) => assert_eq!(3, distance), - Err(why) => panic!("{:?}", why) - } -} - -#[test] -fn levenshtein_works() { - assert_eq!(3, levenshtein("kitten", "sitting")); -} - -#[test] -fn osa_distance_works() { - assert_eq!(3, osa_distance("ac", "cba")); -} - -#[test] -fn damerau_levenshtein_works() { - assert_eq!(2, damerau_levenshtein("ac", "cba")); -} - -#[test] -fn jaro_works() { - assert!((0.392 - jaro("Friedrich Nietzsche", "Jean-Paul Sartre")).abs() < - 0.001); -} - -#[test] -fn jaro_winkler_works() { - assert!((0.911 - jaro_winkler("cheeseburger", "cheese fries")).abs() < - 0.001); -} - -#[test] -fn levenshtein_against_vec_works() { - let v = vec!["test", "test1", "test12", "test123", "", "tset", "tsvet"]; - let result = levenshtein_against_vec("test", &v); - let expected = vec![0, 1, 2, 3, 4, 2, 3]; - assert_eq!(expected, result); -} - -#[test] -fn osa_distance_against_vec_works() { - let v = vec!["test", "test1", "test12", "test123", "", "tset", "tsvet"]; - let result = osa_distance_against_vec("test", &v); - let expected = vec![0, 1, 2, 3, 4, 1, 3]; - assert_eq!(expected, result); -} - -#[test] -fn damerau_levenshtein_against_vec_works() { - let v = vec!["test", "test1", "test12", "test123", "", "tset", "tsvet"]; - let result = damerau_levenshtein_against_vec("test", &v); - let expected = vec![0, 1, 2, 3, 4, 1, 2]; - assert_eq!(expected, result); -} - -#[test] -fn jaro_against_vec_works() { - let v = vec!["test", "test1", "test12", "test123", "", "tset"]; - let result = jaro_against_vec("test", &v); - let expected = vec![1.0, 0.933333, 0.888889, 0.857143, 0.0, 0.916667]; - let delta: f64 = result.iter() - .zip(expected.iter()) - .map(|(x, y)| (x - y).abs() as f64) - .fold(0.0, |x, y| x + y as f64); - assert!(delta.abs() < 0.0001); -} - -#[test] -fn jaro_winkler_against_vec_works() { - let v = vec!["test", "test1", "test12", "test123", "", "tset"]; - let result = jaro_winkler_against_vec("test", &v); - let expected = vec![1.0, 0.96, 0.933333, 0.914286, 0.0, 0.925]; - let delta: f64 = result.iter() - .zip(expected.iter()) - .map(|(x, y)| (x - y).abs() as f64) - .fold(0.0, |x, y| x + y as f64); - assert!(delta.abs() < 0.0001); -} diff --git a/vendor/registry-40351f815f426200/syn/.cargo-checksum.json b/vendor/registry-40351f815f426200/syn/.cargo-checksum.json deleted file mode 100644 index ff5013296..000000000 --- a/vendor/registry-40351f815f426200/syn/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"652fc79e709ad760ee389ed3d4c18b624f7b8004a65297db26e9ce8ca31de559","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"3f3d105c0f1bae3bdb5ed3cc32a8e5a02f3de6f62a9f17f5ba03af3f813d0881","build.rs":"17c8493aed4032c8cd0d2f2ab8929b7e49e8e2664953658ba3d96a54324902ce","src/attr.rs":"2eb9cf2f094f861fff0ae339e378f6aea8683d2dcfad99700d5287989f458378","src/buffer.rs":"fac77febe022ab4982078c73ca502f9d698a402b3eca0f8e9c7a2796af01e5f4","src/custom_keyword.rs":"f68d4b9c0aa97a481154d4df763099c2ad81fd1993111543ecfc59d766f3044f","src/custom_punctuation.rs":"f1944db8df2d2958ebf285eee3ec5ecdfcd4802e827e08ebf6f1873bb10a0fa7","src/data.rs":"54ee54c3c650bc5e200d4bea947d6e89093a39f2444cd43e8861f5852975e0bc","src/derive.rs":"eb041b47a73bace73c2872cd9a8e190de7e2b3b57cd57213770f088ec19ab3c6","src/error.rs":"aac440c1d58549036343be2cc844d5322aafd917db58bc882d5a48efc5864a23","src/export.rs":"1f7e017dac9426e91c796445e733c390c408c808ba9c21cb7df7799b67352fde","src/expr.rs":"6dc3dcdf4e3e93e5d8762c155f0a895f0f742989fcfe8b191f69f031769c9f30","src/ext.rs":"49d40f09ad2d2748bc3d1a200026886d1c5997000c3b027bdd066605689e15e5","src/file.rs":"abb9f5e71a8a6b52649c15da21d3f99e25a727d87c2f87d2744ac3970c1d683f","src/gen/fold.rs":"5507dde16c41e4f11b8903938a5f442fff9f94468afccbf0a37a4fa14f2eddde","src/gen/visit.rs":"4c8f499d1fd988b9c9ff820ef76c0c93b1e5ee91e6a94e0892298f5e6f424893","src/gen/visit_mut.rs":"d1f905b2b5afd685ace07532b6cbc67175e2d104508c7ed86ed4e9d1567c7c7b","src/gen_helper.rs":"644b1d31987919c0239891d8f90c09f3bf541a71fb85e744438e4814cc6dff89","src/generics.rs":"6ee5bba532b95f7de7c6bbe8caadabc6a71c45e7f8d7636d823075ff27f28937","src/group.rs":"03487f75d0abd302f06e50eb09d14ab83fb60c67e1f2602be53ca3f28a833b90","src/ident.rs":"bd7884de0031d942c556f929905532dd8799f8ca2450e65b8e4e8dfa78cf4fee","src/item.rs":"80251894ac0421f96579afe7fe3189ad429892e3fbb942c42fd0efc1e19dd984","src/keyword.rs":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","src/lib.rs":"b097487be9b790712e0b6d020bc52d0d840abc6b9204a4df3bb62621cd78b274","src/lifetime.rs":"7912a4c77ee805e912fb28c7f434836ea82540263d549877cd5edfbe32d1bf95","src/lit.rs":"bc034e4443a32f2066b41f62e05946143f60397fbbd05016c0020c4818e0a0f8","src/lookahead.rs":"5a6a4adf75c442ec9a312e64ee9dca75da4772e774a7f095bdb2f91fc790178e","src/mac.rs":"a91623ed9c1de7b18ef752db79a242002e95156497a52a1790a75069915d22ee","src/macros.rs":"2f91e07a1aec4b385986c0a0f66274e8de1c1aa81f95d398a5cd364b3c451bb4","src/op.rs":"01edb1e07b6d60b266797ca4b30788b0a511452228e04073a11f0b61f106a0e7","src/parse.rs":"f9250de07bc32e8278a3063bb705018d32994787f9afc697bcfa9e97ce4d5fb5","src/parse_macro_input.rs":"8df7b4c1b361171f3fefb0490dec570ad29c024c04e35184b296725f97f2002c","src/parse_quote.rs":"d5784e14e0b2954077ce4fe4628af8e7bf9176b74dc0b2c2627abb26c5ac9fc1","src/path.rs":"822ec427f134df85b65677f0a0f1743ba6b21a35478773e9a2e42919c06adf3a","src/print.rs":"7ebb68123898f2ebbae12abf028747c05bea7b08f1e96b17164f1dcebdab7355","src/punctuated.rs":"ccfd763c273fd1e6b6a7a551669e8aad47da6d13f700a53ad55b9f58f2f396da","src/sealed.rs":"896a495a5340eec898527f18bd4ddca408ea03ea0ee3af30074ff48deace778d","src/span.rs":"748c51c6feb223c26d3b1701f5bb98aee823666c775c98106cfa24fe29d8cec1","src/spanned.rs":"83b4ab1e2138ac9340eaa8234ad1d9f7468b450ddf3a852e574cac18e4f766b8","src/thread.rs":"ac3f4aa972b0dee5b9ae5202c5cd6bef46823fc91ff83787a3fe1bdfb8f79135","src/token.rs":"5009af54aff85a5019c8532b63cc3e9419d00fb85ac6849d86fd8cb1e4dcd78d","src/tt.rs":"b3d99cbd68cd50749f26f4afa138e6366d327099ed566b30c315ccb58fa26ded","src/ty.rs":"52cea4f3b094d36f3be7f94c63f1eff1add168d036fce8a0dcacfb6ab5c54926"},"package":"a1393e4a97a19c01e900df2aec855a29f71cf02c402e2f443b8d2747c25c5dbe"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/syn/Cargo.toml b/vendor/registry-40351f815f426200/syn/Cargo.toml deleted file mode 100644 index f71d675a5..000000000 --- a/vendor/registry-40351f815f426200/syn/Cargo.toml +++ /dev/null @@ -1,68 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g., crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "syn" -version = "0.15.34" -authors = ["David Tolnay "] -include = ["/build.rs", "/Cargo.toml", "/LICENSE-APACHE", "/LICENSE-MIT", "/README.md", "/src/**/*.rs"] -description = "Parser for Rust source code" -documentation = "https://docs.rs/syn" -readme = "README.md" -categories = ["development-tools::procedural-macro-helpers"] -license = "MIT/Apache-2.0" -repository = "https://github.com/dtolnay/syn" -[package.metadata.docs.rs] -all-features = true - -[package.metadata.playground] -all-features = true -[dependencies.proc-macro2] -version = "0.4.4" -default-features = false - -[dependencies.quote] -version = "0.6" -optional = true -default-features = false - -[dependencies.unicode-xid] -version = "0.1" -[dev-dependencies.colored] -version = "1.7" - -[dev-dependencies.insta] -version = "0.7" - -[dev-dependencies.rayon] -version = "1.0" - -[dev-dependencies.regex] -version = "1.0" - -[dev-dependencies.walkdir] -version = "2.1" - -[features] -clone-impls = [] -default = ["derive", "parsing", "printing", "clone-impls", "proc-macro"] -derive = [] -extra-traits = [] -fold = [] -full = [] -parsing = [] -printing = ["quote"] -proc-macro = ["proc-macro2/proc-macro", "quote/proc-macro"] -visit = [] -visit-mut = [] -[badges.travis-ci] -repository = "dtolnay/syn" diff --git a/vendor/registry-40351f815f426200/syn/LICENSE-APACHE b/vendor/registry-40351f815f426200/syn/LICENSE-APACHE deleted file mode 100644 index 16fe87b06..000000000 --- a/vendor/registry-40351f815f426200/syn/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/syn/LICENSE-MIT b/vendor/registry-40351f815f426200/syn/LICENSE-MIT deleted file mode 100644 index 31aa79387..000000000 --- a/vendor/registry-40351f815f426200/syn/LICENSE-MIT +++ /dev/null @@ -1,23 +0,0 @@ -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/syn/README.md b/vendor/registry-40351f815f426200/syn/README.md deleted file mode 100644 index ecc6eb878..000000000 --- a/vendor/registry-40351f815f426200/syn/README.md +++ /dev/null @@ -1,256 +0,0 @@ -Parser for Rust source code -=========================== - -[![Build Status](https://api.travis-ci.org/dtolnay/syn.svg?branch=master)](https://travis-ci.org/dtolnay/syn) -[![Latest Version](https://img.shields.io/crates/v/syn.svg)](https://crates.io/crates/syn) -[![Rust Documentation](https://img.shields.io/badge/api-rustdoc-blue.svg)](https://docs.rs/syn/0.15/syn/) -[![Rustc Version 1.15+](https://img.shields.io/badge/rustc-1.15+-lightgray.svg)](https://blog.rust-lang.org/2017/02/02/Rust-1.15.html) - -Syn is a parsing library for parsing a stream of Rust tokens into a syntax tree -of Rust source code. - -Currently this library is geared toward use in Rust procedural macros, but -contains some APIs that may be useful more generally. - -[custom derive]: https://github.com/rust-lang/rfcs/blob/master/text/1681-macros-1.1.md - -- **Data structures** — Syn provides a complete syntax tree that can represent - any valid Rust source code. The syntax tree is rooted at [`syn::File`] which - represents a full source file, but there are other entry points that may be - useful to procedural macros including [`syn::Item`], [`syn::Expr`] and - [`syn::Type`]. - -- **Custom derives** — Of particular interest to custom derives is - [`syn::DeriveInput`] which is any of the three legal input items to a derive - macro. An example below shows using this type in a library that can derive - implementations of a trait of your own. - -- **Parsing** — Parsing in Syn is built around [parser functions] with the - signature `fn(ParseStream) -> Result`. Every syntax tree node defined by - Syn is individually parsable and may be used as a building block for custom - syntaxes, or you may dream up your own brand new syntax without involving any - of our syntax tree types. - -- **Location information** — Every token parsed by Syn is associated with a - `Span` that tracks line and column information back to the source of that - token. These spans allow a procedural macro to display detailed error messages - pointing to all the right places in the user's code. There is an example of - this below. - -- **Feature flags** — Functionality is aggressively feature gated so your - procedural macros enable only what they need, and do not pay in compile time - for all the rest. - -[`syn::File`]: https://docs.rs/syn/0.15/syn/struct.File.html -[`syn::Item`]: https://docs.rs/syn/0.15/syn/enum.Item.html -[`syn::Expr`]: https://docs.rs/syn/0.15/syn/enum.Expr.html -[`syn::Type`]: https://docs.rs/syn/0.15/syn/enum.Type.html -[`syn::DeriveInput`]: https://docs.rs/syn/0.15/syn/struct.DeriveInput.html -[parser functions]: https://docs.rs/syn/0.15/syn/parse/index.html - -If you get stuck with anything involving procedural macros in Rust I am happy to -provide help even if the issue is not related to Syn. Please file a ticket in -this repo. - -*Version requirement: Syn supports any compiler version back to Rust's very -first support for procedural macros in Rust 1.15.0. Some features especially -around error reporting are only available in newer compilers or on the nightly -channel.* - -[*Release notes*](https://github.com/dtolnay/syn/releases) - -## Example of a custom derive - -The canonical custom derive using Syn looks like this. We write an ordinary Rust -function tagged with a `proc_macro_derive` attribute and the name of the trait -we are deriving. Any time that derive appears in the user's code, the Rust -compiler passes their data structure as tokens into our macro. We get to execute -arbitrary Rust code to figure out what to do with those tokens, then hand some -tokens back to the compiler to compile into the user's crate. - -[`TokenStream`]: https://doc.rust-lang.org/proc_macro/struct.TokenStream.html - -```toml -[dependencies] -syn = "0.15" -quote = "0.6" - -[lib] -proc-macro = true -``` - -```rust -extern crate proc_macro; - -use proc_macro::TokenStream; -use quote::quote; -use syn::{parse_macro_input, DeriveInput}; - -#[proc_macro_derive(MyMacro)] -pub fn my_macro(input: TokenStream) -> TokenStream { - // Parse the input tokens into a syntax tree - let input = parse_macro_input!(input as DeriveInput); - - // Build the output, possibly using quasi-quotation - let expanded = quote! { - // ... - }; - - // Hand the output tokens back to the compiler - TokenStream::from(expanded) -} -``` - -The [`heapsize`] example directory shows a complete working Macros 1.1 -implementation of a custom derive. It works on any Rust compiler 1.15+. The -example derives a `HeapSize` trait which computes an estimate of the amount of -heap memory owned by a value. - -[`heapsize`]: examples/heapsize - -```rust -pub trait HeapSize { - /// Total number of bytes of heap memory owned by `self`. - fn heap_size_of_children(&self) -> usize; -} -``` - -The custom derive allows users to write `#[derive(HeapSize)]` on data structures -in their program. - -```rust -#[derive(HeapSize)] -struct Demo<'a, T: ?Sized> { - a: Box, - b: u8, - c: &'a str, - d: String, -} -``` - -## Spans and error reporting - -The token-based procedural macro API provides great control over where the -compiler's error messages are displayed in user code. Consider the error the -user sees if one of their field types does not implement `HeapSize`. - -```rust -#[derive(HeapSize)] -struct Broken { - ok: String, - bad: std::thread::Thread, -} -``` - -By tracking span information all the way through the expansion of a procedural -macro as shown in the `heapsize` example, token-based macros in Syn are able to -trigger errors that directly pinpoint the source of the problem. - -``` -error[E0277]: the trait bound `std::thread::Thread: HeapSize` is not satisfied - --> src/main.rs:7:5 - | -7 | bad: std::thread::Thread, - | ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `HeapSize` is not implemented for `std::thread::Thread` -``` - -## Parsing a custom syntax - -The [`lazy-static`] example directory shows the implementation of a -`functionlike!(...)` procedural macro in which the input tokens are parsed using -Syn's parsing API. - -[`lazy-static`]: examples/lazy-static - -The example reimplements the popular `lazy_static` crate from crates.io as a -procedural macro. - -``` -lazy_static! { - static ref USERNAME: Regex = Regex::new("^[a-z0-9_-]{3,16}$").unwrap(); -} -``` - -The implementation shows how to trigger custom warnings and error messages on -the macro input. - -``` -warning: come on, pick a more creative name - --> src/main.rs:10:16 - | -10 | static ref FOO: String = "lazy_static".to_owned(); - | ^^^ -``` - -## Debugging - -When developing a procedural macro it can be helpful to look at what the -generated code looks like. Use `cargo rustc -- -Zunstable-options ---pretty=expanded` or the [`cargo expand`] subcommand. - -[`cargo expand`]: https://github.com/dtolnay/cargo-expand - -To show the expanded code for some crate that uses your procedural macro, run -`cargo expand` from that crate. To show the expanded code for one of your own -test cases, run `cargo expand --test the_test_case` where the last argument is -the name of the test file without the `.rs` extension. - -This write-up by Brandon W Maister discusses debugging in more detail: -[Debugging Rust's new Custom Derive system][debugging]. - -[debugging]: https://quodlibetor.github.io/posts/debugging-rusts-new-custom-derive-system/ - -## Optional features - -Syn puts a lot of functionality behind optional features in order to optimize -compile time for the most common use cases. The following features are -available. - -- **`derive`** *(enabled by default)* — Data structures for representing the - possible input to a custom derive, including structs and enums and types. -- **`full`** — Data structures for representing the syntax tree of all valid - Rust source code, including items and expressions. -- **`parsing`** *(enabled by default)* — Ability to parse input tokens into a - syntax tree node of a chosen type. -- **`printing`** *(enabled by default)* — Ability to print a syntax tree node as - tokens of Rust source code. -- **`visit`** — Trait for traversing a syntax tree. -- **`visit-mut`** — Trait for traversing and mutating in place a syntax tree. -- **`fold`** — Trait for transforming an owned syntax tree. -- **`clone-impls`** *(enabled by default)* — Clone impls for all syntax tree - types. -- **`extra-traits`** — Debug, Eq, PartialEq, Hash impls for all syntax tree - types. -- **`proc-macro`** *(enabled by default)* — Runtime dependency on the dynamic - library libproc_macro from rustc toolchain. - -## Proc macro shim - -Syn uses the [proc-macro2] crate to emulate the compiler's procedural macro API -in a stable way that works all the way back to Rust 1.15.0. This shim makes it -possible to write code without regard for whether the current compiler version -supports the features we use. - -In general all of your code should be written against proc-macro2 rather than -proc-macro. The one exception is in the signatures of procedural macro entry -points, which are required by the language to use `proc_macro::TokenStream`. - -The proc-macro2 crate will automatically detect and use the compiler's data -structures on sufficiently new compilers. - -[proc-macro2]: https://github.com/alexcrichton/proc-macro2 - -## License - -Licensed under either of - - * Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0) - * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT) - -at your option. - -### Contribution - -Unless you explicitly state otherwise, any contribution intentionally submitted -for inclusion in this crate by you, as defined in the Apache-2.0 license, shall -be dual licensed as above, without any additional terms or conditions. diff --git a/vendor/registry-40351f815f426200/syn/build.rs b/vendor/registry-40351f815f426200/syn/build.rs deleted file mode 100644 index 2b2a41964..000000000 --- a/vendor/registry-40351f815f426200/syn/build.rs +++ /dev/null @@ -1,72 +0,0 @@ -use std::env; -use std::process::Command; -use std::str::{self, FromStr}; - -// The rustc-cfg strings below are *not* public API. Please let us know by -// opening a GitHub issue if your build environment requires some way to enable -// these cfgs other than by executing our build script. -fn main() { - let compiler = match rustc_version() { - Some(compiler) => compiler, - None => return, - }; - - if compiler.minor >= 19 { - println!("cargo:rustc-cfg=syn_can_use_thread_id"); - } - - if compiler.minor >= 20 { - println!("cargo:rustc-cfg=syn_can_use_associated_constants"); - } - - // Macro modularization allows re-exporting the `quote!` macro in 1.30+. - if compiler.minor >= 30 { - println!("cargo:rustc-cfg=syn_can_call_macro_by_path"); - } - - if !compiler.nightly { - println!("cargo:rustc-cfg=syn_disable_nightly_tests"); - } -} - -struct Compiler { - minor: u32, - nightly: bool, -} - -fn rustc_version() -> Option { - let rustc = match env::var_os("RUSTC") { - Some(rustc) => rustc, - None => return None, - }; - - let output = match Command::new(rustc).arg("--version").output() { - Ok(output) => output, - Err(_) => return None, - }; - - let version = match str::from_utf8(&output.stdout) { - Ok(version) => version, - Err(_) => return None, - }; - - let mut pieces = version.split('.'); - if pieces.next() != Some("rustc 1") { - return None; - } - - let next = match pieces.next() { - Some(next) => next, - None => return None, - }; - - let minor = match u32::from_str(next) { - Ok(minor) => minor, - Err(_) => return None, - }; - - Some(Compiler { - minor: minor, - nightly: version.contains("nightly"), - }) -} diff --git a/vendor/registry-40351f815f426200/syn/src/attr.rs b/vendor/registry-40351f815f426200/syn/src/attr.rs deleted file mode 100644 index ae90eaa3a..000000000 --- a/vendor/registry-40351f815f426200/syn/src/attr.rs +++ /dev/null @@ -1,681 +0,0 @@ -use super::*; -use punctuated::Punctuated; - -use std::iter; - -use proc_macro2::TokenStream; -#[cfg(not(feature = "parsing"))] -use proc_macro2::{Delimiter, Spacing, TokenTree}; - -#[cfg(feature = "parsing")] -use parse::{ParseStream, Result}; -#[cfg(feature = "extra-traits")] -use std::hash::{Hash, Hasher}; -#[cfg(feature = "extra-traits")] -use tt::TokenStreamHelper; - -ast_struct! { - /// An attribute like `#[repr(transparent)]`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - /// - /// # Syntax - /// - /// Rust has six types of attributes. - /// - /// - Outer attributes like `#[repr(transparent)]`. These appear outside or - /// in front of the item they describe. - /// - Inner attributes like `#![feature(proc_macro)]`. These appear inside - /// of the item they describe, usually a module. - /// - Outer doc comments like `/// # Example`. - /// - Inner doc comments like `//! Please file an issue`. - /// - Outer block comments `/** # Example */`. - /// - Inner block comments `/*! Please file an issue */`. - /// - /// The `style` field of type `AttrStyle` distinguishes whether an attribute - /// is outer or inner. Doc comments and block comments are promoted to - /// attributes, as this is how they are processed by the compiler and by - /// `macro_rules!` macros. - /// - /// The `path` field gives the possibly colon-delimited path against which - /// the attribute is resolved. It is equal to `"doc"` for desugared doc - /// comments. The `tts` field contains the rest of the attribute body as - /// tokens. - /// - /// ```text - /// #[derive(Copy)] #[crate::precondition x < 5] - /// ^^^^^^~~~~~~ ^^^^^^^^^^^^^^^^^^^ ~~~~~ - /// path tts path tts - /// ``` - /// - /// Use the [`parse_meta`] method to try parsing the tokens of an attribute - /// into the structured representation that is used by convention across - /// most Rust libraries. - /// - /// [`parse_meta`]: #method.parse_meta - /// - /// # Parsing - /// - /// This type does not implement the [`Parse`] trait and thus cannot be - /// parsed directly by [`ParseStream::parse`]. Instead use - /// [`ParseStream::call`] with one of the two parser functions - /// [`Attribute::parse_outer`] or [`Attribute::parse_inner`] depending on - /// which you intend to parse. - /// - /// [`Parse`]: parse/trait.Parse.html - /// [`ParseStream::parse`]: parse/struct.ParseBuffer.html#method.parse - /// [`ParseStream::call`]: parse/struct.ParseBuffer.html#method.call - /// [`Attribute::parse_outer`]: #method.parse_outer - /// [`Attribute::parse_inner`]: #method.parse_inner - /// - /// ```edition2018 - /// use syn::{Attribute, Ident, Result, Token}; - /// use syn::parse::{Parse, ParseStream}; - /// - /// // Parses a unit struct with attributes. - /// // - /// // #[path = "s.tmpl"] - /// // struct S; - /// struct UnitStruct { - /// attrs: Vec, - /// struct_token: Token![struct], - /// name: Ident, - /// semi_token: Token![;], - /// } - /// - /// impl Parse for UnitStruct { - /// fn parse(input: ParseStream) -> Result { - /// Ok(UnitStruct { - /// attrs: input.call(Attribute::parse_outer)?, - /// struct_token: input.parse()?, - /// name: input.parse()?, - /// semi_token: input.parse()?, - /// }) - /// } - /// } - /// ``` - pub struct Attribute #manual_extra_traits { - pub pound_token: Token![#], - pub style: AttrStyle, - pub bracket_token: token::Bracket, - pub path: Path, - pub tts: TokenStream, - } -} - -#[cfg(feature = "extra-traits")] -impl Eq for Attribute {} - -#[cfg(feature = "extra-traits")] -impl PartialEq for Attribute { - fn eq(&self, other: &Self) -> bool { - self.style == other.style - && self.pound_token == other.pound_token - && self.bracket_token == other.bracket_token - && self.path == other.path - && TokenStreamHelper(&self.tts) == TokenStreamHelper(&other.tts) - } -} - -#[cfg(feature = "extra-traits")] -impl Hash for Attribute { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - self.style.hash(state); - self.pound_token.hash(state); - self.bracket_token.hash(state); - self.path.hash(state); - TokenStreamHelper(&self.tts).hash(state); - } -} - -impl Attribute { - /// Parses the content of the attribute, consisting of the path and tts, as - /// a [`Meta`](enum.Meta.html) if possible. - /// - /// Deprecated; use `parse_meta` instead. - #[doc(hidden)] - pub fn interpret_meta(&self) -> Option { - #[cfg(feature = "parsing")] - { - self.parse_meta().ok() - } - - #[cfg(not(feature = "parsing"))] - { - let name = if self.path.segments.len() == 1 { - &self.path.segments.first().unwrap().value().ident - } else { - return None; - }; - - if self.tts.is_empty() { - return Some(Meta::Word(name.clone())); - } - - let tts = self.tts.clone().into_iter().collect::>(); - - if tts.len() == 1 { - if let Some(meta) = Attribute::extract_meta_list(name.clone(), &tts[0]) { - return Some(meta); - } - } - - if tts.len() == 2 { - if let Some(meta) = Attribute::extract_name_value(name.clone(), &tts[0], &tts[1]) { - return Some(meta); - } - } - - None - } - } - - /// Parses the content of the attribute, consisting of the path and tts, as - /// a [`Meta`](enum.Meta.html) if possible. - #[cfg(feature = "parsing")] - pub fn parse_meta(&self) -> Result { - if let Some(ref colon) = self.path.leading_colon { - return Err(Error::new(colon.spans[0], "expected meta identifier")); - } - - let first_segment = self - .path - .segments - .first() - .expect("paths have at least one segment"); - if let Some(colon) = first_segment.punct() { - return Err(Error::new(colon.spans[0], "expected meta value")); - } - let ident = first_segment.value().ident.clone(); - - let parser = |input: ParseStream| parsing::parse_meta_after_ident(ident, input); - parse::Parser::parse2(parser, self.tts.clone()) - } - - /// Parses zero or more outer attributes from the stream. - /// - /// *This function is available if Syn is built with the `"parsing"` - /// feature.* - #[cfg(feature = "parsing")] - pub fn parse_outer(input: ParseStream) -> Result> { - let mut attrs = Vec::new(); - while input.peek(Token![#]) { - attrs.push(input.call(parsing::single_parse_outer)?); - } - Ok(attrs) - } - - /// Parses zero or more inner attributes from the stream. - /// - /// *This function is available if Syn is built with the `"parsing"` - /// feature.* - #[cfg(feature = "parsing")] - pub fn parse_inner(input: ParseStream) -> Result> { - let mut attrs = Vec::new(); - while input.peek(Token![#]) && input.peek2(Token![!]) { - attrs.push(input.call(parsing::single_parse_inner)?); - } - Ok(attrs) - } - - #[cfg(not(feature = "parsing"))] - fn extract_meta_list(ident: Ident, tt: &TokenTree) -> Option { - let g = match *tt { - TokenTree::Group(ref g) => g, - _ => return None, - }; - if g.delimiter() != Delimiter::Parenthesis { - return None; - } - let tokens = g.stream().clone().into_iter().collect::>(); - let nested = match list_of_nested_meta_items_from_tokens(&tokens) { - Some(n) => n, - None => return None, - }; - Some(Meta::List(MetaList { - paren_token: token::Paren(g.span()), - ident: ident, - nested: nested, - })) - } - - #[cfg(not(feature = "parsing"))] - fn extract_name_value(ident: Ident, a: &TokenTree, b: &TokenTree) -> Option { - let a = match *a { - TokenTree::Punct(ref o) => o, - _ => return None, - }; - if a.spacing() != Spacing::Alone { - return None; - } - if a.as_char() != '=' { - return None; - } - - match *b { - TokenTree::Literal(ref l) if !l.to_string().starts_with('/') => { - Some(Meta::NameValue(MetaNameValue { - ident: ident, - eq_token: Token![=]([a.span()]), - lit: Lit::new(l.clone()), - })) - } - TokenTree::Ident(ref v) => match &v.to_string()[..] { - v @ "true" | v @ "false" => Some(Meta::NameValue(MetaNameValue { - ident: ident, - eq_token: Token![=]([a.span()]), - lit: Lit::Bool(LitBool { - value: v == "true", - span: b.span(), - }), - })), - _ => None, - }, - _ => None, - } - } -} - -#[cfg(not(feature = "parsing"))] -fn nested_meta_item_from_tokens(tts: &[TokenTree]) -> Option<(NestedMeta, &[TokenTree])> { - assert!(!tts.is_empty()); - - match tts[0] { - TokenTree::Literal(ref lit) => { - if lit.to_string().starts_with('/') { - None - } else { - let lit = Lit::new(lit.clone()); - Some((NestedMeta::Literal(lit), &tts[1..])) - } - } - - TokenTree::Ident(ref ident) => { - if tts.len() >= 3 { - if let Some(meta) = Attribute::extract_name_value(ident.clone(), &tts[1], &tts[2]) { - return Some((NestedMeta::Meta(meta), &tts[3..])); - } - } - - if tts.len() >= 2 { - if let Some(meta) = Attribute::extract_meta_list(ident.clone(), &tts[1]) { - return Some((NestedMeta::Meta(meta), &tts[2..])); - } - } - - let nested_meta = if ident == "true" || ident == "false" { - NestedMeta::Literal(Lit::Bool(LitBool { - value: ident == "true", - span: ident.span(), - })) - } else { - NestedMeta::Meta(Meta::Word(ident.clone())) - }; - Some((nested_meta, &tts[1..])) - } - - _ => None, - } -} - -#[cfg(not(feature = "parsing"))] -fn list_of_nested_meta_items_from_tokens( - mut tts: &[TokenTree], -) -> Option> { - let mut nested_meta_items = Punctuated::new(); - let mut first = true; - - while !tts.is_empty() { - let prev_comma = if first { - first = false; - None - } else if let TokenTree::Punct(ref op) = tts[0] { - if op.spacing() != Spacing::Alone { - return None; - } - if op.as_char() != ',' { - return None; - } - let tok = Token![,]([op.span()]); - tts = &tts[1..]; - if tts.is_empty() { - break; - } - Some(tok) - } else { - return None; - }; - let (nested, rest) = match nested_meta_item_from_tokens(tts) { - Some(pair) => pair, - None => return None, - }; - if let Some(comma) = prev_comma { - nested_meta_items.push_punct(comma); - } - nested_meta_items.push_value(nested); - tts = rest; - } - - Some(nested_meta_items) -} - -ast_enum! { - /// Distinguishes between attributes that decorate an item and attributes - /// that are contained within an item. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - /// - /// # Outer attributes - /// - /// - `#[repr(transparent)]` - /// - `/// # Example` - /// - `/** Please file an issue */` - /// - /// # Inner attributes - /// - /// - `#![feature(proc_macro)]` - /// - `//! # Example` - /// - `/*! Please file an issue */` - #[cfg_attr(feature = "clone-impls", derive(Copy))] - pub enum AttrStyle { - Outer, - Inner(Token![!]), - } -} - -ast_enum_of_structs! { - /// Content of a compile-time structured attribute. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - /// - /// ## Word - /// - /// A meta word is like the `test` in `#[test]`. - /// - /// ## List - /// - /// A meta list is like the `derive(Copy)` in `#[derive(Copy)]`. - /// - /// ## NameValue - /// - /// A name-value meta is like the `path = "..."` in `#[path = - /// "sys/windows.rs"]`. - /// - /// # Syntax tree enum - /// - /// This type is a [syntax tree enum]. - /// - /// [syntax tree enum]: enum.Expr.html#syntax-tree-enums - pub enum Meta { - pub Word(Ident), - /// A structured list within an attribute, like `derive(Copy, Clone)`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub List(MetaList { - pub ident: Ident, - pub paren_token: token::Paren, - pub nested: Punctuated, - }), - /// A name-value pair within an attribute, like `feature = "nightly"`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub NameValue(MetaNameValue { - pub ident: Ident, - pub eq_token: Token![=], - pub lit: Lit, - }), - } -} - -impl Meta { - /// Returns the identifier that begins this structured meta item. - /// - /// For example this would return the `test` in `#[test]`, the `derive` in - /// `#[derive(Copy)]`, and the `path` in `#[path = "sys/windows.rs"]`. - pub fn name(&self) -> Ident { - match *self { - Meta::Word(ref meta) => meta.clone(), - Meta::List(ref meta) => meta.ident.clone(), - Meta::NameValue(ref meta) => meta.ident.clone(), - } - } -} - -ast_enum_of_structs! { - /// Element of a compile-time attribute list. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub enum NestedMeta { - /// A structured meta item, like the `Copy` in `#[derive(Copy)]` which - /// would be a nested `Meta::Word`. - pub Meta(Meta), - - /// A Rust literal, like the `"new_name"` in `#[rename("new_name")]`. - pub Literal(Lit), - } -} - -/// Conventional argument type associated with an invocation of an attribute -/// macro. -/// -/// For example if we are developing an attribute macro that is intended to be -/// invoked on function items as follows: -/// -/// ```edition2018 -/// # const IGNORE: &str = stringify! { -/// #[my_attribute(path = "/v1/refresh")] -/// # }; -/// pub fn refresh() { -/// /* ... */ -/// } -/// ``` -/// -/// The implementation of this macro would want to parse its attribute arguments -/// as type `AttributeArgs`. -/// -/// ```edition2018 -/// extern crate proc_macro; -/// -/// use proc_macro::TokenStream; -/// use syn::{parse_macro_input, AttributeArgs, ItemFn}; -/// -/// # const IGNORE: &str = stringify! { -/// #[proc_macro_attribute] -/// # }; -/// pub fn my_attribute(args: TokenStream, input: TokenStream) -> TokenStream { -/// let args = parse_macro_input!(args as AttributeArgs); -/// let input = parse_macro_input!(input as ItemFn); -/// -/// /* ... */ -/// # "".parse().unwrap() -/// } -/// ``` -pub type AttributeArgs = Vec; - -pub trait FilterAttrs<'a> { - type Ret: Iterator; - - fn outer(self) -> Self::Ret; - fn inner(self) -> Self::Ret; -} - -impl<'a, T> FilterAttrs<'a> for T -where - T: IntoIterator, -{ - type Ret = iter::Filter bool>; - - fn outer(self) -> Self::Ret { - #[cfg_attr(feature = "cargo-clippy", allow(trivially_copy_pass_by_ref))] - fn is_outer(attr: &&Attribute) -> bool { - match attr.style { - AttrStyle::Outer => true, - _ => false, - } - } - self.into_iter().filter(is_outer) - } - - fn inner(self) -> Self::Ret { - #[cfg_attr(feature = "cargo-clippy", allow(trivially_copy_pass_by_ref))] - fn is_inner(attr: &&Attribute) -> bool { - match attr.style { - AttrStyle::Inner(_) => true, - _ => false, - } - } - self.into_iter().filter(is_inner) - } -} - -#[cfg(feature = "parsing")] -pub mod parsing { - use super::*; - - use ext::IdentExt; - use parse::{Parse, ParseStream, Result}; - #[cfg(feature = "full")] - use private; - - pub fn single_parse_inner(input: ParseStream) -> Result { - let content; - Ok(Attribute { - pound_token: input.parse()?, - style: AttrStyle::Inner(input.parse()?), - bracket_token: bracketed!(content in input), - path: content.call(Path::parse_mod_style)?, - tts: content.parse()?, - }) - } - - pub fn single_parse_outer(input: ParseStream) -> Result { - let content; - Ok(Attribute { - pound_token: input.parse()?, - style: AttrStyle::Outer, - bracket_token: bracketed!(content in input), - path: content.call(Path::parse_mod_style)?, - tts: content.parse()?, - }) - } - - #[cfg(feature = "full")] - impl private { - pub fn attrs(outer: Vec, inner: Vec) -> Vec { - let mut attrs = outer; - attrs.extend(inner); - attrs - } - } - - impl Parse for Meta { - fn parse(input: ParseStream) -> Result { - let ident = input.call(Ident::parse_any)?; - parse_meta_after_ident(ident, input) - } - } - - impl Parse for MetaList { - fn parse(input: ParseStream) -> Result { - let ident = input.call(Ident::parse_any)?; - parse_meta_list_after_ident(ident, input) - } - } - - impl Parse for MetaNameValue { - fn parse(input: ParseStream) -> Result { - let ident = input.call(Ident::parse_any)?; - parse_meta_name_value_after_ident(ident, input) - } - } - - impl Parse for NestedMeta { - fn parse(input: ParseStream) -> Result { - let ahead = input.fork(); - - if ahead.peek(Lit) && !(ahead.peek(LitBool) && ahead.peek2(Token![=])) { - input.parse().map(NestedMeta::Literal) - } else if ahead.call(Ident::parse_any).is_ok() { - input.parse().map(NestedMeta::Meta) - } else { - Err(input.error("expected identifier or literal")) - } - } - } - - pub fn parse_meta_after_ident(ident: Ident, input: ParseStream) -> Result { - if input.peek(token::Paren) { - parse_meta_list_after_ident(ident, input).map(Meta::List) - } else if input.peek(Token![=]) { - parse_meta_name_value_after_ident(ident, input).map(Meta::NameValue) - } else { - Ok(Meta::Word(ident)) - } - } - - fn parse_meta_list_after_ident(ident: Ident, input: ParseStream) -> Result { - let content; - Ok(MetaList { - ident: ident, - paren_token: parenthesized!(content in input), - nested: content.parse_terminated(NestedMeta::parse)?, - }) - } - - fn parse_meta_name_value_after_ident( - ident: Ident, - input: ParseStream, - ) -> Result { - Ok(MetaNameValue { - ident: ident, - eq_token: input.parse()?, - lit: input.parse()?, - }) - } -} - -#[cfg(feature = "printing")] -mod printing { - use super::*; - use proc_macro2::TokenStream; - use quote::ToTokens; - - impl ToTokens for Attribute { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.pound_token.to_tokens(tokens); - if let AttrStyle::Inner(ref b) = self.style { - b.to_tokens(tokens); - } - self.bracket_token.surround(tokens, |tokens| { - self.path.to_tokens(tokens); - self.tts.to_tokens(tokens); - }); - } - } - - impl ToTokens for MetaList { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.ident.to_tokens(tokens); - self.paren_token.surround(tokens, |tokens| { - self.nested.to_tokens(tokens); - }) - } - } - - impl ToTokens for MetaNameValue { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.ident.to_tokens(tokens); - self.eq_token.to_tokens(tokens); - self.lit.to_tokens(tokens); - } - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/buffer.rs b/vendor/registry-40351f815f426200/syn/src/buffer.rs deleted file mode 100644 index 8c326451e..000000000 --- a/vendor/registry-40351f815f426200/syn/src/buffer.rs +++ /dev/null @@ -1,366 +0,0 @@ -//! A stably addressed token buffer supporting efficient traversal based on a -//! cheaply copyable cursor. -//! -//! *This module is available if Syn is built with the `"parsing"` feature.* - -// This module is heavily commented as it contains most of the unsafe code in -// Syn, and caution should be used when editing it. The public-facing interface -// is 100% safe but the implementation is fragile internally. - -#[cfg(all( - not(all(target_arch = "wasm32", target_os = "unknown")), - feature = "proc-macro" -))] -use proc_macro as pm; -use proc_macro2::{Delimiter, Group, Ident, Literal, Punct, Spacing, Span, TokenStream, TokenTree}; - -use std::marker::PhantomData; -use std::ptr; - -use private; -use Lifetime; - -/// Internal type which is used instead of `TokenTree` to represent a token tree -/// within a `TokenBuffer`. -enum Entry { - // Mimicking types from proc-macro. - Group(Group, TokenBuffer), - Ident(Ident), - Punct(Punct), - Literal(Literal), - // End entries contain a raw pointer to the entry from the containing - // token tree, or null if this is the outermost level. - End(*const Entry), -} - -/// A buffer that can be efficiently traversed multiple times, unlike -/// `TokenStream` which requires a deep copy in order to traverse more than -/// once. -/// -/// *This type is available if Syn is built with the `"parsing"` feature.* -pub struct TokenBuffer { - // NOTE: Do not derive clone on this - there are raw pointers inside which - // will be messed up. Moving the `TokenBuffer` itself is safe as the actual - // backing slices won't be moved. - data: Box<[Entry]>, -} - -impl TokenBuffer { - // NOTE: DO NOT MUTATE THE `Vec` RETURNED FROM THIS FUNCTION ONCE IT - // RETURNS, THE ADDRESS OF ITS BACKING MEMORY MUST REMAIN STABLE. - fn inner_new(stream: TokenStream, up: *const Entry) -> TokenBuffer { - // Build up the entries list, recording the locations of any Groups - // in the list to be processed later. - let mut entries = Vec::new(); - let mut seqs = Vec::new(); - for tt in stream { - match tt { - TokenTree::Ident(sym) => { - entries.push(Entry::Ident(sym)); - } - TokenTree::Punct(op) => { - entries.push(Entry::Punct(op)); - } - TokenTree::Literal(l) => { - entries.push(Entry::Literal(l)); - } - TokenTree::Group(g) => { - // Record the index of the interesting entry, and store an - // `End(null)` there temporarially. - seqs.push((entries.len(), g)); - entries.push(Entry::End(ptr::null())); - } - } - } - // Add an `End` entry to the end with a reference to the enclosing token - // stream which was passed in. - entries.push(Entry::End(up)); - - // NOTE: This is done to ensure that we don't accidentally modify the - // length of the backing buffer. The backing buffer must remain at a - // constant address after this point, as we are going to store a raw - // pointer into it. - let mut entries = entries.into_boxed_slice(); - for (idx, group) in seqs { - // We know that this index refers to one of the temporary - // `End(null)` entries, and we know that the last entry is - // `End(up)`, so the next index is also valid. - let seq_up = &entries[idx + 1] as *const Entry; - - // The end entry stored at the end of this Entry::Group should - // point to the Entry which follows the Group in the list. - let inner = Self::inner_new(group.stream(), seq_up); - entries[idx] = Entry::Group(group, inner); - } - - TokenBuffer { data: entries } - } - - /// Creates a `TokenBuffer` containing all the tokens from the input - /// `TokenStream`. - /// - /// *This method is available if Syn is built with both the `"parsing"` and - /// `"proc-macro"` features.* - #[cfg(all( - not(all(target_arch = "wasm32", target_os = "unknown")), - feature = "proc-macro" - ))] - pub fn new(stream: pm::TokenStream) -> TokenBuffer { - Self::new2(stream.into()) - } - - /// Creates a `TokenBuffer` containing all the tokens from the input - /// `TokenStream`. - pub fn new2(stream: TokenStream) -> TokenBuffer { - Self::inner_new(stream, ptr::null()) - } - - /// Creates a cursor referencing the first token in the buffer and able to - /// traverse until the end of the buffer. - pub fn begin(&self) -> Cursor { - unsafe { Cursor::create(&self.data[0], &self.data[self.data.len() - 1]) } - } -} - -/// A cheaply copyable cursor into a `TokenBuffer`. -/// -/// This cursor holds a shared reference into the immutable data which is used -/// internally to represent a `TokenStream`, and can be efficiently manipulated -/// and copied around. -/// -/// An empty `Cursor` can be created directly, or one may create a `TokenBuffer` -/// object and get a cursor to its first token with `begin()`. -/// -/// Two cursors are equal if they have the same location in the same input -/// stream, and have the same scope. -/// -/// *This type is available if Syn is built with the `"parsing"` feature.* -#[derive(Copy, Clone, Eq, PartialEq)] -pub struct Cursor<'a> { - // The current entry which the `Cursor` is pointing at. - ptr: *const Entry, - // This is the only `Entry::End(..)` object which this cursor is allowed to - // point at. All other `End` objects are skipped over in `Cursor::create`. - scope: *const Entry, - // Cursor is covariant in 'a. This field ensures that our pointers are still - // valid. - marker: PhantomData<&'a Entry>, -} - -impl<'a> Cursor<'a> { - /// Creates a cursor referencing a static empty TokenStream. - pub fn empty() -> Self { - // It's safe in this situation for us to put an `Entry` object in global - // storage, despite it not actually being safe to send across threads - // (`Ident` is a reference into a thread-local table). This is because - // this entry never includes a `Ident` object. - // - // This wrapper struct allows us to break the rules and put a `Sync` - // object in global storage. - struct UnsafeSyncEntry(Entry); - unsafe impl Sync for UnsafeSyncEntry {} - static EMPTY_ENTRY: UnsafeSyncEntry = UnsafeSyncEntry(Entry::End(0 as *const Entry)); - - Cursor { - ptr: &EMPTY_ENTRY.0, - scope: &EMPTY_ENTRY.0, - marker: PhantomData, - } - } - - /// This create method intelligently exits non-explicitly-entered - /// `None`-delimited scopes when the cursor reaches the end of them, - /// allowing for them to be treated transparently. - unsafe fn create(mut ptr: *const Entry, scope: *const Entry) -> Self { - // NOTE: If we're looking at a `End(..)`, we want to advance the cursor - // past it, unless `ptr == scope`, which means that we're at the edge of - // our cursor's scope. We should only have `ptr != scope` at the exit - // from None-delimited groups entered with `ignore_none`. - while let Entry::End(exit) = *ptr { - if ptr == scope { - break; - } - ptr = exit; - } - - Cursor { - ptr: ptr, - scope: scope, - marker: PhantomData, - } - } - - /// Get the current entry. - fn entry(self) -> &'a Entry { - unsafe { &*self.ptr } - } - - /// Bump the cursor to point at the next token after the current one. This - /// is undefined behavior if the cursor is currently looking at an - /// `Entry::End`. - unsafe fn bump(self) -> Cursor<'a> { - Cursor::create(self.ptr.offset(1), self.scope) - } - - /// If the cursor is looking at a `None`-delimited group, move it to look at - /// the first token inside instead. If the group is empty, this will move - /// the cursor past the `None`-delimited group. - /// - /// WARNING: This mutates its argument. - fn ignore_none(&mut self) { - if let Entry::Group(ref group, ref buf) = *self.entry() { - if group.delimiter() == Delimiter::None { - // NOTE: We call `Cursor::create` here to make sure that - // situations where we should immediately exit the span after - // entering it are handled correctly. - unsafe { - *self = Cursor::create(&buf.data[0], self.scope); - } - } - } - } - - /// Checks whether the cursor is currently pointing at the end of its valid - /// scope. - #[inline] - pub fn eof(self) -> bool { - // We're at eof if we're at the end of our scope. - self.ptr == self.scope - } - - /// If the cursor is pointing at a `Group` with the given delimiter, returns - /// a cursor into that group and one pointing to the next `TokenTree`. - pub fn group(mut self, delim: Delimiter) -> Option<(Cursor<'a>, Span, Cursor<'a>)> { - // If we're not trying to enter a none-delimited group, we want to - // ignore them. We have to make sure to _not_ ignore them when we want - // to enter them, of course. For obvious reasons. - if delim != Delimiter::None { - self.ignore_none(); - } - - if let Entry::Group(ref group, ref buf) = *self.entry() { - if group.delimiter() == delim { - return Some((buf.begin(), group.span(), unsafe { self.bump() })); - } - } - - None - } - - /// If the cursor is pointing at a `Ident`, returns it along with a cursor - /// pointing at the next `TokenTree`. - pub fn ident(mut self) -> Option<(Ident, Cursor<'a>)> { - self.ignore_none(); - match *self.entry() { - Entry::Ident(ref ident) => Some((ident.clone(), unsafe { self.bump() })), - _ => None, - } - } - - /// If the cursor is pointing at an `Punct`, returns it along with a cursor - /// pointing at the next `TokenTree`. - pub fn punct(mut self) -> Option<(Punct, Cursor<'a>)> { - self.ignore_none(); - match *self.entry() { - Entry::Punct(ref op) if op.as_char() != '\'' => { - Some((op.clone(), unsafe { self.bump() })) - } - _ => None, - } - } - - /// If the cursor is pointing at a `Literal`, return it along with a cursor - /// pointing at the next `TokenTree`. - pub fn literal(mut self) -> Option<(Literal, Cursor<'a>)> { - self.ignore_none(); - match *self.entry() { - Entry::Literal(ref lit) => Some((lit.clone(), unsafe { self.bump() })), - _ => None, - } - } - - /// If the cursor is pointing at a `Lifetime`, returns it along with a - /// cursor pointing at the next `TokenTree`. - pub fn lifetime(mut self) -> Option<(Lifetime, Cursor<'a>)> { - self.ignore_none(); - match *self.entry() { - Entry::Punct(ref op) if op.as_char() == '\'' && op.spacing() == Spacing::Joint => { - let next = unsafe { self.bump() }; - match next.ident() { - Some((ident, rest)) => { - let lifetime = Lifetime { - apostrophe: op.span(), - ident: ident, - }; - Some((lifetime, rest)) - } - None => None, - } - } - _ => None, - } - } - - /// Copies all remaining tokens visible from this cursor into a - /// `TokenStream`. - pub fn token_stream(self) -> TokenStream { - let mut tts = Vec::new(); - let mut cursor = self; - while let Some((tt, rest)) = cursor.token_tree() { - tts.push(tt); - cursor = rest; - } - tts.into_iter().collect() - } - - /// If the cursor is pointing at a `TokenTree`, returns it along with a - /// cursor pointing at the next `TokenTree`. - /// - /// Returns `None` if the cursor has reached the end of its stream. - /// - /// This method does not treat `None`-delimited groups as transparent, and - /// will return a `Group(None, ..)` if the cursor is looking at one. - pub fn token_tree(self) -> Option<(TokenTree, Cursor<'a>)> { - let tree = match *self.entry() { - Entry::Group(ref group, _) => group.clone().into(), - Entry::Literal(ref lit) => lit.clone().into(), - Entry::Ident(ref ident) => ident.clone().into(), - Entry::Punct(ref op) => op.clone().into(), - Entry::End(..) => { - return None; - } - }; - - Some((tree, unsafe { self.bump() })) - } - - /// Returns the `Span` of the current token, or `Span::call_site()` if this - /// cursor points to eof. - pub fn span(self) -> Span { - match *self.entry() { - Entry::Group(ref group, _) => group.span(), - Entry::Literal(ref l) => l.span(), - Entry::Ident(ref t) => t.span(), - Entry::Punct(ref o) => o.span(), - Entry::End(..) => Span::call_site(), - } - } -} - -impl private { - #[cfg(procmacro2_semver_exempt)] - pub fn open_span_of_group(cursor: Cursor) -> Span { - match *cursor.entry() { - Entry::Group(ref group, _) => group.span_open(), - _ => cursor.span(), - } - } - - #[cfg(procmacro2_semver_exempt)] - pub fn close_span_of_group(cursor: Cursor) -> Span { - match *cursor.entry() { - Entry::Group(ref group, _) => group.span_close(), - _ => cursor.span(), - } - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/custom_keyword.rs b/vendor/registry-40351f815f426200/syn/src/custom_keyword.rs deleted file mode 100644 index ab3d5b64f..000000000 --- a/vendor/registry-40351f815f426200/syn/src/custom_keyword.rs +++ /dev/null @@ -1,252 +0,0 @@ -/// Define a type that supports parsing and printing a given identifier as if it -/// were a keyword. -/// -/// # Usage -/// -/// As a convention, it is recommended that this macro be invoked within a -/// module called `kw` or `keyword` and that the resulting parser be invoked -/// with a `kw::` or `keyword::` prefix. -/// -/// ```edition2018 -/// mod kw { -/// syn::custom_keyword!(whatever); -/// } -/// ``` -/// -/// The generated syntax tree node supports the following operations just like -/// any built-in keyword token. -/// -/// - [Peeking] — `input.peek(kw::whatever)` -/// -/// - [Parsing] — `input.parse::()?` -/// -/// - [Printing] — `quote!( ... #whatever_token ... )` -/// -/// - Construction from a [`Span`] — `let whatever_token = kw::whatever(sp)` -/// -/// - Field access to its span — `let sp = whatever_token.span` -/// -/// [Peeking]: parse/struct.ParseBuffer.html#method.peek -/// [Parsing]: parse/struct.ParseBuffer.html#method.parse -/// [Printing]: https://docs.rs/quote/0.6/quote/trait.ToTokens.html -/// [`Span`]: https://docs.rs/proc-macro2/0.4/proc_macro2/struct.Span.html -/// -/// # Example -/// -/// This example parses input that looks like `bool = true` or `str = "value"`. -/// The key must be either the identifier `bool` or the identifier `str`. If -/// `bool`, the value may be either `true` or `false`. If `str`, the value may -/// be any string literal. -/// -/// The symbols `bool` and `str` are not reserved keywords in Rust so these are -/// not considered keywords in the `syn::token` module. Like any other -/// identifier that is not a keyword, these can be declared as custom keywords -/// by crates that need to use them as such. -/// -/// ```edition2018 -/// use syn::{LitBool, LitStr, Result, Token}; -/// use syn::parse::{Parse, ParseStream}; -/// -/// mod kw { -/// syn::custom_keyword!(bool); -/// syn::custom_keyword!(str); -/// } -/// -/// enum Argument { -/// Bool { -/// bool_token: kw::bool, -/// eq_token: Token![=], -/// value: LitBool, -/// }, -/// Str { -/// str_token: kw::str, -/// eq_token: Token![=], -/// value: LitStr, -/// }, -/// } -/// -/// impl Parse for Argument { -/// fn parse(input: ParseStream) -> Result { -/// let lookahead = input.lookahead1(); -/// if lookahead.peek(kw::bool) { -/// Ok(Argument::Bool { -/// bool_token: input.parse::()?, -/// eq_token: input.parse()?, -/// value: input.parse()?, -/// }) -/// } else if lookahead.peek(kw::str) { -/// Ok(Argument::Str { -/// str_token: input.parse::()?, -/// eq_token: input.parse()?, -/// value: input.parse()?, -/// }) -/// } else { -/// Err(lookahead.error()) -/// } -/// } -/// } -/// ``` -#[macro_export(local_inner_macros)] -macro_rules! custom_keyword { - ($ident:ident) => { - #[allow(non_camel_case_types)] - pub struct $ident { - pub span: $crate::export::Span, - } - - #[doc(hidden)] - #[allow(non_snake_case)] - pub fn $ident<__S: $crate::export::IntoSpans<[$crate::export::Span; 1]>>( - span: __S, - ) -> $ident { - $ident { - span: $crate::export::IntoSpans::into_spans(span)[0], - } - } - - impl $crate::export::Default for $ident { - fn default() -> Self { - $ident { - span: $crate::export::Span::call_site(), - } - } - } - - impl_parse_for_custom_keyword!($ident); - impl_to_tokens_for_custom_keyword!($ident); - impl_clone_for_custom_keyword!($ident); - impl_extra_traits_for_custom_keyword!($ident); - }; -} - -// Not public API. -#[cfg(feature = "parsing")] -#[doc(hidden)] -#[macro_export] -macro_rules! impl_parse_for_custom_keyword { - ($ident:ident) => { - // For peek. - impl $crate::token::CustomToken for $ident { - fn peek(cursor: $crate::buffer::Cursor) -> $crate::export::bool { - if let Some((ident, _rest)) = cursor.ident() { - ident == stringify!($ident) - } else { - false - } - } - - fn display() -> &'static $crate::export::str { - concat!("`", stringify!($ident), "`") - } - } - - impl $crate::parse::Parse for $ident { - fn parse(input: $crate::parse::ParseStream) -> $crate::parse::Result<$ident> { - input.step(|cursor| { - if let $crate::export::Some((ident, rest)) = cursor.ident() { - if ident == stringify!($ident) { - return $crate::export::Ok(($ident { span: ident.span() }, rest)); - } - } - $crate::export::Err(cursor.error(concat!( - "expected `", - stringify!($ident), - "`" - ))) - }) - } - } - }; -} - -// Not public API. -#[cfg(not(feature = "parsing"))] -#[doc(hidden)] -#[macro_export] -macro_rules! impl_parse_for_custom_keyword { - ($ident:ident) => {}; -} - -// Not public API. -#[cfg(feature = "printing")] -#[doc(hidden)] -#[macro_export] -macro_rules! impl_to_tokens_for_custom_keyword { - ($ident:ident) => { - impl $crate::export::ToTokens for $ident { - fn to_tokens(&self, tokens: &mut $crate::export::TokenStream2) { - let ident = $crate::Ident::new(stringify!($ident), self.span); - $crate::export::TokenStreamExt::append(tokens, ident); - } - } - }; -} - -// Not public API. -#[cfg(not(feature = "printing"))] -#[doc(hidden)] -#[macro_export] -macro_rules! impl_to_tokens_for_custom_keyword { - ($ident:ident) => {}; -} - -// Not public API. -#[cfg(feature = "clone-impls")] -#[doc(hidden)] -#[macro_export] -macro_rules! impl_clone_for_custom_keyword { - ($ident:ident) => { - impl $crate::export::Copy for $ident {} - - impl $crate::export::Clone for $ident { - fn clone(&self) -> Self { - *self - } - } - }; -} - -// Not public API. -#[cfg(not(feature = "clone-impls"))] -#[doc(hidden)] -#[macro_export] -macro_rules! impl_clone_for_custom_keyword { - ($ident:ident) => {}; -} - -// Not public API. -#[cfg(feature = "extra-traits")] -#[doc(hidden)] -#[macro_export] -macro_rules! impl_extra_traits_for_custom_keyword { - ($ident:ident) => { - impl $crate::export::Debug for $ident { - fn fmt(&self, f: &mut $crate::export::Formatter) -> $crate::export::fmt::Result { - $crate::export::Formatter::write_str( - f, - concat!("Keyword [", stringify!($ident), "]"), - ) - } - } - - impl $crate::export::Eq for $ident {} - - impl $crate::export::PartialEq for $ident { - fn eq(&self, _other: &Self) -> $crate::export::bool { - true - } - } - - impl $crate::export::Hash for $ident { - fn hash<__H: $crate::export::Hasher>(&self, _state: &mut __H) {} - } - }; -} - -// Not public API. -#[cfg(not(feature = "extra-traits"))] -#[doc(hidden)] -#[macro_export] -macro_rules! impl_extra_traits_for_custom_keyword { - ($ident:ident) => {}; -} diff --git a/vendor/registry-40351f815f426200/syn/src/custom_punctuation.rs b/vendor/registry-40351f815f426200/syn/src/custom_punctuation.rs deleted file mode 100644 index 8d7d4443f..000000000 --- a/vendor/registry-40351f815f426200/syn/src/custom_punctuation.rs +++ /dev/null @@ -1,309 +0,0 @@ -/// Define a type that supports parsing and printing a multi-character symbol -/// as if it were a punctuation token. -/// -/// # Usage -/// -/// ```edition2018 -/// syn::custom_punctuation!(LeftRightArrow, <=>); -/// ``` -/// -/// The generated syntax tree node supports the following operations just like -/// any built-in punctuation token. -/// -/// - [Peeking] — `input.peek(LeftRightArrow)` -/// -/// - [Parsing] — `input.parse::()?` -/// -/// - [Printing] — `quote!( ... #lrarrow ... )` -/// -/// - Construction from a [`Span`] — `let lrarrow = LeftRightArrow(sp)` -/// -/// - Construction from multiple [`Span`] — `let lrarrow = LeftRightArrow([sp, sp, sp])` -/// -/// - Field access to its spans — `let spans = lrarrow.spans` -/// -/// [Peeking]: parse/struct.ParseBuffer.html#method.peek -/// [Parsing]: parse/struct.ParseBuffer.html#method.parse -/// [Printing]: https://docs.rs/quote/0.6/quote/trait.ToTokens.html -/// [`Span`]: https://docs.rs/proc-macro2/0.4/proc_macro2/struct.Span.html -/// -/// # Example -/// -/// ```edition2018 -/// use proc_macro2::{TokenStream, TokenTree}; -/// use syn::parse::{Parse, ParseStream, Peek, Result}; -/// use syn::punctuated::Punctuated; -/// use syn::Expr; -/// -/// syn::custom_punctuation!(PathSeparator, ); -/// -/// // expr expr expr ... -/// struct PathSegments { -/// segments: Punctuated, -/// } -/// -/// impl Parse for PathSegments { -/// fn parse(input: ParseStream) -> Result { -/// let mut segments = Punctuated::new(); -/// -/// let first = parse_until(input, PathSeparator)?; -/// segments.push_value(syn::parse2(first)?); -/// -/// while input.peek(PathSeparator) { -/// segments.push_punct(input.parse()?); -/// -/// let next = parse_until(input, PathSeparator)?; -/// segments.push_value(syn::parse2(next)?); -/// } -/// -/// Ok(PathSegments { segments }) -/// } -/// } -/// -/// fn parse_until(input: ParseStream, end: E) -> Result { -/// let mut tokens = TokenStream::new(); -/// while !input.is_empty() && !input.peek(end) { -/// let next: TokenTree = input.parse()?; -/// tokens.extend(Some(next)); -/// } -/// Ok(tokens) -/// } -/// -/// fn main() { -/// let input = r#" a::b c::d::e "#; -/// let _: PathSegments = syn::parse_str(input).unwrap(); -/// } -/// ``` -#[macro_export(local_inner_macros)] -macro_rules! custom_punctuation { - ($ident:ident, $($tt:tt)+) => { - pub struct $ident { - pub spans: custom_punctuation_repr!($($tt)+), - } - - #[doc(hidden)] - #[allow(non_snake_case)] - pub fn $ident<__S: $crate::export::IntoSpans>( - spans: __S, - ) -> $ident { - let _validate_len = 0 $(+ custom_punctuation_len!(strict, $tt))*; - $ident { - spans: $crate::export::IntoSpans::into_spans(spans) - } - } - - impl $crate::export::Default for $ident { - fn default() -> Self { - $ident($crate::export::Span::call_site()) - } - } - - impl_parse_for_custom_punctuation!($ident, $($tt)+); - impl_to_tokens_for_custom_punctuation!($ident, $($tt)+); - impl_clone_for_custom_punctuation!($ident, $($tt)+); - impl_extra_traits_for_custom_punctuation!($ident, $($tt)+); - }; -} - -// Not public API. -#[cfg(feature = "parsing")] -#[doc(hidden)] -#[macro_export(local_inner_macros)] -macro_rules! impl_parse_for_custom_punctuation { - ($ident:ident, $($tt:tt)+) => { - impl $crate::token::CustomToken for $ident { - fn peek(cursor: $crate::buffer::Cursor) -> bool { - $crate::token::parsing::peek_punct(cursor, stringify_punct!($($tt)+)) - } - - fn display() -> &'static $crate::export::str { - custom_punctuation_concat!("`", stringify_punct!($($tt)+), "`") - } - } - - impl $crate::parse::Parse for $ident { - fn parse(input: $crate::parse::ParseStream) -> $crate::parse::Result<$ident> { - let spans: custom_punctuation_repr!($($tt)+) = - $crate::token::parsing::punct(input, stringify_punct!($($tt)+))?; - Ok($ident(spans)) - } - } - }; -} - -// Not public API. -#[cfg(not(feature = "parsing"))] -#[doc(hidden)] -#[macro_export] -macro_rules! impl_parse_for_custom_punctuation { - ($ident:ident, $($tt:tt)+) => {}; -} - -// Not public API. -#[cfg(feature = "printing")] -#[doc(hidden)] -#[macro_export(local_inner_macros)] -macro_rules! impl_to_tokens_for_custom_punctuation { - ($ident:ident, $($tt:tt)+) => { - impl $crate::export::ToTokens for $ident { - fn to_tokens(&self, tokens: &mut $crate::export::TokenStream2) { - $crate::token::printing::punct(stringify_punct!($($tt)+), &self.spans, tokens) - } - } - }; -} - -// Not public API. -#[cfg(not(feature = "printing"))] -#[doc(hidden)] -#[macro_export] -macro_rules! impl_to_tokens_for_custom_punctuation { - ($ident:ident, $($tt:tt)+) => {}; -} - -// Not public API. -#[cfg(feature = "clone-impls")] -#[doc(hidden)] -#[macro_export] -macro_rules! impl_clone_for_custom_punctuation { - ($ident:ident, $($tt:tt)+) => { - impl $crate::export::Copy for $ident {} - - impl $crate::export::Clone for $ident { - fn clone(&self) -> Self { - *self - } - } - }; -} - -// Not public API. -#[cfg(not(feature = "clone-impls"))] -#[doc(hidden)] -#[macro_export] -macro_rules! impl_clone_for_custom_punctuation { - ($ident:ident, $($tt:tt)+) => {}; -} - -// Not public API. -#[cfg(feature = "extra-traits")] -#[doc(hidden)] -#[macro_export] -macro_rules! impl_extra_traits_for_custom_punctuation { - ($ident:ident, $($tt:tt)+) => { - impl $crate::export::Debug for $ident { - fn fmt(&self, f: &mut $crate::export::Formatter) -> $crate::export::fmt::Result { - $crate::export::Formatter::write_str(f, stringify!($ident)) - } - } - - impl $crate::export::Eq for $ident {} - - impl $crate::export::PartialEq for $ident { - fn eq(&self, _other: &Self) -> $crate::export::bool { - true - } - } - - impl $crate::export::Hash for $ident { - fn hash<__H: $crate::export::Hasher>(&self, _state: &mut __H) {} - } - }; -} - -// Not public API. -#[cfg(not(feature = "extra-traits"))] -#[doc(hidden)] -#[macro_export] -macro_rules! impl_extra_traits_for_custom_punctuation { - ($ident:ident, $($tt:tt)+) => {}; -} - -// Not public API. -#[doc(hidden)] -#[macro_export(local_inner_macros)] -macro_rules! custom_punctuation_repr { - ($($tt:tt)+) => { - [$crate::export::Span; 0 $(+ custom_punctuation_len!(lenient, $tt))+] - }; -} - -// Not public API. -#[doc(hidden)] -#[macro_export(local_inner_macros)] -#[cfg_attr(rustfmt, rustfmt_skip)] -macro_rules! custom_punctuation_len { - ($mode:ident, +) => { 1 }; - ($mode:ident, +=) => { 2 }; - ($mode:ident, &) => { 1 }; - ($mode:ident, &&) => { 2 }; - ($mode:ident, &=) => { 2 }; - ($mode:ident, @) => { 1 }; - ($mode:ident, !) => { 1 }; - ($mode:ident, ^) => { 1 }; - ($mode:ident, ^=) => { 2 }; - ($mode:ident, :) => { 1 }; - ($mode:ident, ::) => { 2 }; - ($mode:ident, ,) => { 1 }; - ($mode:ident, /) => { 1 }; - ($mode:ident, /=) => { 2 }; - ($mode:ident, .) => { 1 }; - ($mode:ident, ..) => { 2 }; - ($mode:ident, ...) => { 3 }; - ($mode:ident, ..=) => { 3 }; - ($mode:ident, =) => { 1 }; - ($mode:ident, ==) => { 2 }; - ($mode:ident, >=) => { 2 }; - ($mode:ident, >) => { 1 }; - ($mode:ident, <=) => { 2 }; - ($mode:ident, <) => { 1 }; - ($mode:ident, *=) => { 2 }; - ($mode:ident, !=) => { 2 }; - ($mode:ident, |) => { 1 }; - ($mode:ident, |=) => { 2 }; - ($mode:ident, ||) => { 2 }; - ($mode:ident, #) => { 1 }; - ($mode:ident, ?) => { 1 }; - ($mode:ident, ->) => { 2 }; - ($mode:ident, <-) => { 2 }; - ($mode:ident, %) => { 1 }; - ($mode:ident, %=) => { 2 }; - ($mode:ident, =>) => { 2 }; - ($mode:ident, ;) => { 1 }; - ($mode:ident, <<) => { 2 }; - ($mode:ident, <<=) => { 3 }; - ($mode:ident, >>) => { 2 }; - ($mode:ident, >>=) => { 3 }; - ($mode:ident, *) => { 1 }; - ($mode:ident, -) => { 1 }; - ($mode:ident, -=) => { 2 }; - ($mode:ident, ~) => { 1 }; - (lenient, $tt:tt) => { 0 }; - (strict, $tt:tt) => {{ custom_punctuation_unexpected!($tt); 0 }}; -} - -// Not public API. -#[doc(hidden)] -#[macro_export] -macro_rules! custom_punctuation_unexpected { - () => {}; -} - -// Not public API. -#[doc(hidden)] -#[macro_export] -macro_rules! stringify_punct { - ($($tt:tt)+) => { - concat!($(stringify!($tt)),+) - }; -} - -// Not public API. -// Without this, local_inner_macros breaks when looking for concat! -#[doc(hidden)] -#[macro_export] -macro_rules! custom_punctuation_concat { - ($($tt:tt)*) => { - concat!($($tt)*) - }; -} diff --git a/vendor/registry-40351f815f426200/syn/src/data.rs b/vendor/registry-40351f815f426200/syn/src/data.rs deleted file mode 100644 index f54f5b9af..000000000 --- a/vendor/registry-40351f815f426200/syn/src/data.rs +++ /dev/null @@ -1,384 +0,0 @@ -use super::*; -use punctuated::Punctuated; - -ast_struct! { - /// An enum variant. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub struct Variant { - /// Attributes tagged on the variant. - pub attrs: Vec, - - /// Name of the variant. - pub ident: Ident, - - /// Content stored in the variant. - pub fields: Fields, - - /// Explicit discriminant: `Variant = 1` - pub discriminant: Option<(Token![=], Expr)>, - } -} - -ast_enum_of_structs! { - /// Data stored within an enum variant or struct. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - /// - /// # Syntax tree enum - /// - /// This type is a [syntax tree enum]. - /// - /// [syntax tree enum]: enum.Expr.html#syntax-tree-enums - pub enum Fields { - /// Named fields of a struct or struct variant such as `Point { x: f64, - /// y: f64 }`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Named(FieldsNamed { - pub brace_token: token::Brace, - pub named: Punctuated, - }), - - /// Unnamed fields of a tuple struct or tuple variant such as `Some(T)`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Unnamed(FieldsUnnamed { - pub paren_token: token::Paren, - pub unnamed: Punctuated, - }), - - /// Unit struct or unit variant such as `None`. - pub Unit, - } -} - -impl Fields { - /// Get an iterator over the borrowed [`Field`] items in this object. This - /// iterator can be used to iterate over a named or unnamed struct or - /// variant's fields uniformly. - /// - /// [`Field`]: struct.Field.html - pub fn iter(&self) -> punctuated::Iter { - match *self { - Fields::Unit => private::empty_punctuated_iter(), - Fields::Named(ref f) => f.named.iter(), - Fields::Unnamed(ref f) => f.unnamed.iter(), - } - } - - /// Get an iterator over the mutably borrowed [`Field`] items in this - /// object. This iterator can be used to iterate over a named or unnamed - /// struct or variant's fields uniformly. - /// - /// [`Field`]: struct.Field.html - pub fn iter_mut(&mut self) -> punctuated::IterMut { - match *self { - Fields::Unit => private::empty_punctuated_iter_mut(), - Fields::Named(ref mut f) => f.named.iter_mut(), - Fields::Unnamed(ref mut f) => f.unnamed.iter_mut(), - } - } -} - -impl<'a> IntoIterator for &'a Fields { - type Item = &'a Field; - type IntoIter = punctuated::Iter<'a, Field>; - - fn into_iter(self) -> Self::IntoIter { - self.iter() - } -} - -impl<'a> IntoIterator for &'a mut Fields { - type Item = &'a mut Field; - type IntoIter = punctuated::IterMut<'a, Field>; - - fn into_iter(self) -> Self::IntoIter { - self.iter_mut() - } -} - -ast_struct! { - /// A field of a struct or enum variant. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub struct Field { - /// Attributes tagged on the field. - pub attrs: Vec, - - /// Visibility of the field. - pub vis: Visibility, - - /// Name of the field, if any. - /// - /// Fields of tuple structs have no names. - pub ident: Option, - - pub colon_token: Option, - - /// Type of the field. - pub ty: Type, - } -} - -ast_enum_of_structs! { - /// The visibility level of an item: inherited or `pub` or - /// `pub(restricted)`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - /// - /// # Syntax tree enum - /// - /// This type is a [syntax tree enum]. - /// - /// [syntax tree enum]: enum.Expr.html#syntax-tree-enums - pub enum Visibility { - /// A public visibility level: `pub`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Public(VisPublic { - pub pub_token: Token![pub], - }), - - /// A crate-level visibility: `crate`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Crate(VisCrate { - pub crate_token: Token![crate], - }), - - /// A visibility level restricted to some path: `pub(self)` or - /// `pub(super)` or `pub(crate)` or `pub(in some::module)`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Restricted(VisRestricted { - pub pub_token: Token![pub], - pub paren_token: token::Paren, - pub in_token: Option, - pub path: Box, - }), - - /// An inherited visibility, which usually means private. - pub Inherited, - } -} - -#[cfg(feature = "parsing")] -pub mod parsing { - use super::*; - - use ext::IdentExt; - use parse::{Parse, ParseStream, Result}; - - impl Parse for Variant { - fn parse(input: ParseStream) -> Result { - Ok(Variant { - attrs: input.call(Attribute::parse_outer)?, - ident: input.parse()?, - fields: { - if input.peek(token::Brace) { - Fields::Named(input.parse()?) - } else if input.peek(token::Paren) { - Fields::Unnamed(input.parse()?) - } else { - Fields::Unit - } - }, - discriminant: { - if input.peek(Token![=]) { - let eq_token: Token![=] = input.parse()?; - let discriminant: Expr = input.parse()?; - Some((eq_token, discriminant)) - } else { - None - } - }, - }) - } - } - - impl Parse for FieldsNamed { - fn parse(input: ParseStream) -> Result { - let content; - Ok(FieldsNamed { - brace_token: braced!(content in input), - named: content.parse_terminated(Field::parse_named)?, - }) - } - } - - impl Parse for FieldsUnnamed { - fn parse(input: ParseStream) -> Result { - let content; - Ok(FieldsUnnamed { - paren_token: parenthesized!(content in input), - unnamed: content.parse_terminated(Field::parse_unnamed)?, - }) - } - } - - impl Field { - /// Parses a named (braced struct) field. - pub fn parse_named(input: ParseStream) -> Result { - Ok(Field { - attrs: input.call(Attribute::parse_outer)?, - vis: input.parse()?, - ident: Some(input.parse()?), - colon_token: Some(input.parse()?), - ty: input.parse()?, - }) - } - - /// Parses an unnamed (tuple struct) field. - pub fn parse_unnamed(input: ParseStream) -> Result { - Ok(Field { - attrs: input.call(Attribute::parse_outer)?, - vis: input.parse()?, - ident: None, - colon_token: None, - ty: input.parse()?, - }) - } - } - - impl Parse for Visibility { - fn parse(input: ParseStream) -> Result { - if input.peek(Token![pub]) { - Self::parse_pub(input) - } else if input.peek(Token![crate]) { - Self::parse_crate(input) - } else { - Ok(Visibility::Inherited) - } - } - } - - impl Visibility { - fn parse_pub(input: ParseStream) -> Result { - let pub_token = input.parse::()?; - - if input.peek(token::Paren) { - let ahead = input.fork(); - let mut content; - parenthesized!(content in ahead); - - if content.peek(Token![crate]) - || content.peek(Token![self]) - || content.peek(Token![super]) - { - return Ok(Visibility::Restricted(VisRestricted { - pub_token: pub_token, - paren_token: parenthesized!(content in input), - in_token: None, - path: Box::new(Path::from(content.call(Ident::parse_any)?)), - })); - } else if content.peek(Token![in]) { - return Ok(Visibility::Restricted(VisRestricted { - pub_token: pub_token, - paren_token: parenthesized!(content in input), - in_token: Some(content.parse()?), - path: Box::new(content.call(Path::parse_mod_style)?), - })); - } - } - - Ok(Visibility::Public(VisPublic { - pub_token: pub_token, - })) - } - - fn parse_crate(input: ParseStream) -> Result { - if input.peek2(Token![::]) { - Ok(Visibility::Inherited) - } else { - Ok(Visibility::Crate(VisCrate { - crate_token: input.parse()?, - })) - } - } - } -} - -#[cfg(feature = "printing")] -mod printing { - use super::*; - - use proc_macro2::TokenStream; - use quote::{ToTokens, TokenStreamExt}; - - use print::TokensOrDefault; - - impl ToTokens for Variant { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(&self.attrs); - self.ident.to_tokens(tokens); - self.fields.to_tokens(tokens); - if let Some((ref eq_token, ref disc)) = self.discriminant { - eq_token.to_tokens(tokens); - disc.to_tokens(tokens); - } - } - } - - impl ToTokens for FieldsNamed { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.brace_token.surround(tokens, |tokens| { - self.named.to_tokens(tokens); - }); - } - } - - impl ToTokens for FieldsUnnamed { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.paren_token.surround(tokens, |tokens| { - self.unnamed.to_tokens(tokens); - }); - } - } - - impl ToTokens for Field { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(&self.attrs); - self.vis.to_tokens(tokens); - if let Some(ref ident) = self.ident { - ident.to_tokens(tokens); - TokensOrDefault(&self.colon_token).to_tokens(tokens); - } - self.ty.to_tokens(tokens); - } - } - - impl ToTokens for VisPublic { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.pub_token.to_tokens(tokens) - } - } - - impl ToTokens for VisCrate { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.crate_token.to_tokens(tokens); - } - } - - impl ToTokens for VisRestricted { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.pub_token.to_tokens(tokens); - self.paren_token.surround(tokens, |tokens| { - // TODO: If we have a path which is not "self" or "super" or - // "crate", automatically add the "in" token. - self.in_token.to_tokens(tokens); - self.path.to_tokens(tokens); - }); - } - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/derive.rs b/vendor/registry-40351f815f426200/syn/src/derive.rs deleted file mode 100644 index 48ae7e46e..000000000 --- a/vendor/registry-40351f815f426200/syn/src/derive.rs +++ /dev/null @@ -1,255 +0,0 @@ -use super::*; -use punctuated::Punctuated; - -ast_struct! { - /// Data structure sent to a `proc_macro_derive` macro. - /// - /// *This type is available if Syn is built with the `"derive"` feature.* - pub struct DeriveInput { - /// Attributes tagged on the whole struct or enum. - pub attrs: Vec, - - /// Visibility of the struct or enum. - pub vis: Visibility, - - /// Name of the struct or enum. - pub ident: Ident, - - /// Generics required to complete the definition. - pub generics: Generics, - - /// Data within the struct or enum. - pub data: Data, - } -} - -ast_enum_of_structs! { - /// The storage of a struct, enum or union data structure. - /// - /// *This type is available if Syn is built with the `"derive"` feature.* - /// - /// # Syntax tree enum - /// - /// This type is a [syntax tree enum]. - /// - /// [syntax tree enum]: enum.Expr.html#syntax-tree-enums - pub enum Data { - /// A struct input to a `proc_macro_derive` macro. - /// - /// *This type is available if Syn is built with the `"derive"` - /// feature.* - pub Struct(DataStruct { - pub struct_token: Token![struct], - pub fields: Fields, - pub semi_token: Option, - }), - - /// An enum input to a `proc_macro_derive` macro. - /// - /// *This type is available if Syn is built with the `"derive"` - /// feature.* - pub Enum(DataEnum { - pub enum_token: Token![enum], - pub brace_token: token::Brace, - pub variants: Punctuated, - }), - - /// A tagged union input to a `proc_macro_derive` macro. - /// - /// *This type is available if Syn is built with the `"derive"` - /// feature.* - pub Union(DataUnion { - pub union_token: Token![union], - pub fields: FieldsNamed, - }), - } - - do_not_generate_to_tokens -} - -#[cfg(feature = "parsing")] -pub mod parsing { - use super::*; - - use parse::{Parse, ParseStream, Result}; - - impl Parse for DeriveInput { - fn parse(input: ParseStream) -> Result { - let attrs = input.call(Attribute::parse_outer)?; - let vis = input.parse::()?; - - let lookahead = input.lookahead1(); - if lookahead.peek(Token![struct]) { - let struct_token = input.parse::()?; - let ident = input.parse::()?; - let generics = input.parse::()?; - let (where_clause, fields, semi) = data_struct(input)?; - Ok(DeriveInput { - attrs: attrs, - vis: vis, - ident: ident, - generics: Generics { - where_clause: where_clause, - ..generics - }, - data: Data::Struct(DataStruct { - struct_token: struct_token, - fields: fields, - semi_token: semi, - }), - }) - } else if lookahead.peek(Token![enum]) { - let enum_token = input.parse::()?; - let ident = input.parse::()?; - let generics = input.parse::()?; - let (where_clause, brace, variants) = data_enum(input)?; - Ok(DeriveInput { - attrs: attrs, - vis: vis, - ident: ident, - generics: Generics { - where_clause: where_clause, - ..generics - }, - data: Data::Enum(DataEnum { - enum_token: enum_token, - brace_token: brace, - variants: variants, - }), - }) - } else if lookahead.peek(Token![union]) { - let union_token = input.parse::()?; - let ident = input.parse::()?; - let generics = input.parse::()?; - let (where_clause, fields) = data_union(input)?; - Ok(DeriveInput { - attrs: attrs, - vis: vis, - ident: ident, - generics: Generics { - where_clause: where_clause, - ..generics - }, - data: Data::Union(DataUnion { - union_token: union_token, - fields: fields, - }), - }) - } else { - Err(lookahead.error()) - } - } - } - - pub fn data_struct( - input: ParseStream, - ) -> Result<(Option, Fields, Option)> { - let mut lookahead = input.lookahead1(); - let mut where_clause = None; - if lookahead.peek(Token![where]) { - where_clause = Some(input.parse()?); - lookahead = input.lookahead1(); - } - - if where_clause.is_none() && lookahead.peek(token::Paren) { - let fields = input.parse()?; - - lookahead = input.lookahead1(); - if lookahead.peek(Token![where]) { - where_clause = Some(input.parse()?); - lookahead = input.lookahead1(); - } - - if lookahead.peek(Token![;]) { - let semi = input.parse()?; - Ok((where_clause, Fields::Unnamed(fields), Some(semi))) - } else { - Err(lookahead.error()) - } - } else if lookahead.peek(token::Brace) { - let fields = input.parse()?; - Ok((where_clause, Fields::Named(fields), None)) - } else if lookahead.peek(Token![;]) { - let semi = input.parse()?; - Ok((where_clause, Fields::Unit, Some(semi))) - } else { - Err(lookahead.error()) - } - } - - pub fn data_enum( - input: ParseStream, - ) -> Result<( - Option, - token::Brace, - Punctuated, - )> { - let where_clause = input.parse()?; - - let content; - let brace = braced!(content in input); - let variants = content.parse_terminated(Variant::parse)?; - - Ok((where_clause, brace, variants)) - } - - pub fn data_union(input: ParseStream) -> Result<(Option, FieldsNamed)> { - let where_clause = input.parse()?; - let fields = input.parse()?; - Ok((where_clause, fields)) - } -} - -#[cfg(feature = "printing")] -mod printing { - use super::*; - - use proc_macro2::TokenStream; - use quote::ToTokens; - - use attr::FilterAttrs; - use print::TokensOrDefault; - - impl ToTokens for DeriveInput { - fn to_tokens(&self, tokens: &mut TokenStream) { - for attr in self.attrs.outer() { - attr.to_tokens(tokens); - } - self.vis.to_tokens(tokens); - match self.data { - Data::Struct(ref d) => d.struct_token.to_tokens(tokens), - Data::Enum(ref d) => d.enum_token.to_tokens(tokens), - Data::Union(ref d) => d.union_token.to_tokens(tokens), - } - self.ident.to_tokens(tokens); - self.generics.to_tokens(tokens); - match self.data { - Data::Struct(ref data) => match data.fields { - Fields::Named(ref fields) => { - self.generics.where_clause.to_tokens(tokens); - fields.to_tokens(tokens); - } - Fields::Unnamed(ref fields) => { - fields.to_tokens(tokens); - self.generics.where_clause.to_tokens(tokens); - TokensOrDefault(&data.semi_token).to_tokens(tokens); - } - Fields::Unit => { - self.generics.where_clause.to_tokens(tokens); - TokensOrDefault(&data.semi_token).to_tokens(tokens); - } - }, - Data::Enum(ref data) => { - self.generics.where_clause.to_tokens(tokens); - data.brace_token.surround(tokens, |tokens| { - data.variants.to_tokens(tokens); - }); - } - Data::Union(ref data) => { - self.generics.where_clause.to_tokens(tokens); - data.fields.to_tokens(tokens); - } - } - } - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/error.rs b/vendor/registry-40351f815f426200/syn/src/error.rs deleted file mode 100644 index 097a6b84a..000000000 --- a/vendor/registry-40351f815f426200/syn/src/error.rs +++ /dev/null @@ -1,221 +0,0 @@ -use std; -use std::fmt::{self, Debug, Display}; -use std::iter::FromIterator; - -use proc_macro2::{ - Delimiter, Group, Ident, LexError, Literal, Punct, Spacing, Span, TokenStream, TokenTree, -}; -#[cfg(feature = "printing")] -use quote::ToTokens; - -#[cfg(feature = "parsing")] -use buffer::Cursor; -#[cfg(all(procmacro2_semver_exempt, feature = "parsing"))] -use private; -use thread::ThreadBound; - -/// The result of a Syn parser. -pub type Result = std::result::Result; - -/// Error returned when a Syn parser cannot parse the input tokens. -/// -/// Refer to the [module documentation] for details about parsing in Syn. -/// -/// [module documentation]: index.html -/// -/// *This type is available if Syn is built with the `"parsing"` feature.* -pub struct Error { - // Span is implemented as an index into a thread-local interner to keep the - // size small. It is not safe to access from a different thread. We want - // errors to be Send and Sync to play nicely with the Failure crate, so pin - // the span we're given to its original thread and assume it is - // Span::call_site if accessed from any other thread. - start_span: ThreadBound, - end_span: ThreadBound, - message: String, -} - -#[cfg(test)] -struct _Test -where - Error: Send + Sync; - -impl Error { - /// Usually the [`ParseStream::error`] method will be used instead, which - /// automatically uses the correct span from the current position of the - /// parse stream. - /// - /// Use `Error::new` when the error needs to be triggered on some span other - /// than where the parse stream is currently positioned. - /// - /// [`ParseStream::error`]: struct.ParseBuffer.html#method.error - /// - /// # Example - /// - /// ```edition2018 - /// use syn::{Error, Ident, LitStr, Result, Token}; - /// use syn::parse::ParseStream; - /// - /// // Parses input that looks like `name = "string"` where the key must be - /// // the identifier `name` and the value may be any string literal. - /// // Returns the string literal. - /// fn parse_name(input: ParseStream) -> Result { - /// let name_token: Ident = input.parse()?; - /// if name_token != "name" { - /// // Trigger an error not on the current position of the stream, - /// // but on the position of the unexpected identifier. - /// return Err(Error::new(name_token.span(), "expected `name`")); - /// } - /// input.parse::()?; - /// let s: LitStr = input.parse()?; - /// Ok(s) - /// } - /// ``` - pub fn new(span: Span, message: T) -> Self { - Error { - start_span: ThreadBound::new(span), - end_span: ThreadBound::new(span), - message: message.to_string(), - } - } - - /// Creates an error with the specified message spanning the given syntax - /// tree node. - /// - /// Unlike the `Error::new` constructor, this constructor takes an argument - /// `tokens` which is a syntax tree node. This allows the resulting `Error` - /// to attempt to span all tokens inside of `tokens`. While you would - /// typically be able to use the `Spanned` trait with the above `Error::new` - /// constructor, implementation limitations today mean that - /// `Error::new_spanned` may provide a higher-quality error message on - /// stable Rust. - /// - /// When in doubt it's recommended to stick to `Error::new` (or - /// `ParseStream::error`)! - #[cfg(feature = "printing")] - pub fn new_spanned(tokens: T, message: U) -> Self { - let mut iter = tokens.into_token_stream().into_iter(); - let start = iter.next().map_or_else(Span::call_site, |t| t.span()); - let end = iter.last().map_or(start, |t| t.span()); - Error { - start_span: ThreadBound::new(start), - end_span: ThreadBound::new(end), - message: message.to_string(), - } - } - - /// The source location of the error. - /// - /// Spans are not thread-safe so this function returns `Span::call_site()` - /// if called from a different thread than the one on which the `Error` was - /// originally created. - pub fn span(&self) -> Span { - let start = match self.start_span.get() { - Some(span) => *span, - None => return Span::call_site(), - }; - - #[cfg(procmacro2_semver_exempt)] - { - let end = match self.end_span.get() { - Some(span) => *span, - None => return Span::call_site(), - }; - start.join(end).unwrap_or(start) - } - #[cfg(not(procmacro2_semver_exempt))] - { - start - } - } - - /// Render the error as an invocation of [`compile_error!`]. - /// - /// The [`parse_macro_input!`] macro provides a convenient way to invoke - /// this method correctly in a procedural macro. - /// - /// [`compile_error!`]: https://doc.rust-lang.org/std/macro.compile_error.html - /// [`parse_macro_input!`]: ../macro.parse_macro_input.html - pub fn to_compile_error(&self) -> TokenStream { - let start = self - .start_span - .get() - .cloned() - .unwrap_or_else(Span::call_site); - let end = self.end_span.get().cloned().unwrap_or_else(Span::call_site); - - // compile_error!($message) - TokenStream::from_iter(vec![ - TokenTree::Ident(Ident::new("compile_error", start)), - TokenTree::Punct({ - let mut punct = Punct::new('!', Spacing::Alone); - punct.set_span(start); - punct - }), - TokenTree::Group({ - let mut group = Group::new(Delimiter::Brace, { - TokenStream::from_iter(vec![TokenTree::Literal({ - let mut string = Literal::string(&self.message); - string.set_span(end); - string - })]) - }); - group.set_span(end); - group - }), - ]) - } -} - -#[cfg(feature = "parsing")] -pub fn new_at(scope: Span, cursor: Cursor, message: T) -> Error { - if cursor.eof() { - Error::new(scope, format!("unexpected end of input, {}", message)) - } else { - #[cfg(procmacro2_semver_exempt)] - let span = private::open_span_of_group(cursor); - #[cfg(not(procmacro2_semver_exempt))] - let span = cursor.span(); - Error::new(span, message) - } -} - -impl Debug for Error { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.debug_tuple("Error").field(&self.message).finish() - } -} - -impl Display for Error { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str(&self.message) - } -} - -impl Clone for Error { - fn clone(&self) -> Self { - let start = self - .start_span - .get() - .cloned() - .unwrap_or_else(Span::call_site); - let end = self.end_span.get().cloned().unwrap_or_else(Span::call_site); - Error { - start_span: ThreadBound::new(start), - end_span: ThreadBound::new(end), - message: self.message.clone(), - } - } -} - -impl std::error::Error for Error { - fn description(&self) -> &str { - "parse error" - } -} - -impl From for Error { - fn from(err: LexError) -> Self { - Error::new(Span::call_site(), format!("{:?}", err)) - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/export.rs b/vendor/registry-40351f815f426200/syn/src/export.rs deleted file mode 100644 index 8e270bd01..000000000 --- a/vendor/registry-40351f815f426200/syn/src/export.rs +++ /dev/null @@ -1,35 +0,0 @@ -pub use std::clone::Clone; -pub use std::cmp::{Eq, PartialEq}; -pub use std::convert::From; -pub use std::default::Default; -pub use std::fmt::{self, Debug, Formatter}; -pub use std::hash::{Hash, Hasher}; -pub use std::marker::Copy; -pub use std::option::Option::{None, Some}; -pub use std::result::Result::{Err, Ok}; - -#[cfg(feature = "printing")] -pub extern crate quote; - -pub use proc_macro2::{Span, TokenStream as TokenStream2}; - -pub use span::IntoSpans; - -#[cfg(all( - not(all(target_arch = "wasm32", target_os = "unknown")), - feature = "proc-macro" -))] -pub use proc_macro::TokenStream; - -#[cfg(feature = "printing")] -pub use quote::{ToTokens, TokenStreamExt}; - -#[allow(non_camel_case_types)] -pub type bool = help::Bool; -#[allow(non_camel_case_types)] -pub type str = help::Str; - -mod help { - pub type Bool = bool; - pub type Str = str; -} diff --git a/vendor/registry-40351f815f426200/syn/src/expr.rs b/vendor/registry-40351f815f426200/syn/src/expr.rs deleted file mode 100644 index 8889be886..000000000 --- a/vendor/registry-40351f815f426200/syn/src/expr.rs +++ /dev/null @@ -1,3816 +0,0 @@ -use super::*; -use proc_macro2::{Span, TokenStream}; -use punctuated::Punctuated; -#[cfg(feature = "extra-traits")] -use std::hash::{Hash, Hasher}; -#[cfg(all(feature = "parsing", feature = "full"))] -use std::mem; -#[cfg(feature = "extra-traits")] -use tt::TokenStreamHelper; - -ast_enum_of_structs! { - /// A Rust expression. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - /// - /// # Syntax tree enums - /// - /// This type is a syntax tree enum. In Syn this and other syntax tree enums - /// are designed to be traversed using the following rebinding idiom. - /// - /// ```edition2018 - /// # use syn::Expr; - /// # - /// # fn example(expr: Expr) { - /// # const IGNORE: &str = stringify! { - /// let expr: Expr = /* ... */; - /// # }; - /// match expr { - /// Expr::MethodCall(expr) => { - /// /* ... */ - /// } - /// Expr::Cast(expr) => { - /// /* ... */ - /// } - /// Expr::If(expr) => { - /// /* ... */ - /// } - /// - /// /* ... */ - /// # _ => {} - /// # } - /// # } - /// ``` - /// - /// We begin with a variable `expr` of type `Expr` that has no fields - /// (because it is an enum), and by matching on it and rebinding a variable - /// with the same name `expr` we effectively imbue our variable with all of - /// the data fields provided by the variant that it turned out to be. So for - /// example above if we ended up in the `MethodCall` case then we get to use - /// `expr.receiver`, `expr.args` etc; if we ended up in the `If` case we get - /// to use `expr.cond`, `expr.then_branch`, `expr.else_branch`. - /// - /// This approach avoids repeating the variant names twice on every line. - /// - /// ```edition2018 - /// # use syn::{Expr, ExprMethodCall}; - /// # - /// # fn example(expr: Expr) { - /// // Repetitive; recommend not doing this. - /// match expr { - /// Expr::MethodCall(ExprMethodCall { method, args, .. }) => { - /// # } - /// # _ => {} - /// # } - /// # } - /// ``` - /// - /// In general, the name to which a syntax tree enum variant is bound should - /// be a suitable name for the complete syntax tree enum type. - /// - /// ```edition2018 - /// # use syn::{Expr, ExprField}; - /// # - /// # fn example(discriminant: ExprField) { - /// // Binding is called `base` which is the name I would use if I were - /// // assigning `*discriminant.base` without an `if let`. - /// if let Expr::Tuple(base) = *discriminant.base { - /// # } - /// # } - /// ``` - /// - /// A sign that you may not be choosing the right variable names is if you - /// see names getting repeated in your code, like accessing - /// `receiver.receiver` or `pat.pat` or `cond.cond`. - pub enum Expr { - /// A box expression: `box f`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Box(ExprBox #full { - pub attrs: Vec, - pub box_token: Token![box], - pub expr: Box, - }), - - /// A placement expression: `place <- value`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub InPlace(ExprInPlace #full { - pub attrs: Vec, - pub place: Box, - pub arrow_token: Token![<-], - pub value: Box, - }), - - /// A slice literal expression: `[a, b, c, d]`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Array(ExprArray #full { - pub attrs: Vec, - pub bracket_token: token::Bracket, - pub elems: Punctuated, - }), - - /// A function call expression: `invoke(a, b)`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Call(ExprCall { - pub attrs: Vec, - pub func: Box, - pub paren_token: token::Paren, - pub args: Punctuated, - }), - - /// A method call expression: `x.foo::(a, b)`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub MethodCall(ExprMethodCall #full { - pub attrs: Vec, - pub receiver: Box, - pub dot_token: Token![.], - pub method: Ident, - pub turbofish: Option, - pub paren_token: token::Paren, - pub args: Punctuated, - }), - - /// A tuple expression: `(a, b, c, d)`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Tuple(ExprTuple #full { - pub attrs: Vec, - pub paren_token: token::Paren, - pub elems: Punctuated, - }), - - /// A binary operation: `a + b`, `a * b`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Binary(ExprBinary { - pub attrs: Vec, - pub left: Box, - pub op: BinOp, - pub right: Box, - }), - - /// A unary operation: `!x`, `*x`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Unary(ExprUnary { - pub attrs: Vec, - pub op: UnOp, - pub expr: Box, - }), - - /// A literal in place of an expression: `1`, `"foo"`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Lit(ExprLit { - pub attrs: Vec, - pub lit: Lit, - }), - - /// A cast expression: `foo as f64`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Cast(ExprCast { - pub attrs: Vec, - pub expr: Box, - pub as_token: Token![as], - pub ty: Box, - }), - - /// A type ascription expression: `foo: f64`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Type(ExprType #full { - pub attrs: Vec, - pub expr: Box, - pub colon_token: Token![:], - pub ty: Box, - }), - - /// A `let` guard: `let Some(x) = opt`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Let(ExprLet #full { - pub attrs: Vec, - pub let_token: Token![let], - pub pats: Punctuated, - pub eq_token: Token![=], - pub expr: Box, - }), - - /// An `if` expression with an optional `else` block: `if expr { ... } - /// else { ... }`. - /// - /// The `else` branch expression may only be an `If` or `Block` - /// expression, not any of the other types of expression. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub If(ExprIf #full { - pub attrs: Vec, - pub if_token: Token![if], - pub cond: Box, - pub then_branch: Block, - pub else_branch: Option<(Token![else], Box)>, - }), - - /// A while loop: `while expr { ... }`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub While(ExprWhile #full { - pub attrs: Vec, - pub label: Option::B::C` and `::B::C` can only legally refer to - /// associated constants. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Path(PatPath { - pub qself: Option, - pub path: Path, - }), - - /// A tuple pattern: `(a, b)`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Tuple(PatTuple { - pub paren_token: token::Paren, - pub front: Punctuated, - pub dot2_token: Option, - pub comma_token: Option, - pub back: Punctuated, - }), - - /// A box pattern: `box v`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Box(PatBox { - pub box_token: Token![box], - pub pat: Box, - }), - - /// A reference pattern: `&mut (first, second)`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Ref(PatRef { - pub and_token: Token![&], - pub mutability: Option, - pub pat: Box, - }), - - /// A literal pattern: `0`. - /// - /// This holds an `Expr` rather than a `Lit` because negative numbers - /// are represented as an `Expr::Unary`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Lit(PatLit { - pub expr: Box, - }), - - /// A range pattern: `1..=2`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Range(PatRange { - pub lo: Box, - pub limits: RangeLimits, - pub hi: Box, - }), - - /// A dynamically sized slice pattern: `[a, b, i.., y, z]`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Slice(PatSlice { - pub bracket_token: token::Bracket, - pub front: Punctuated, - pub middle: Option>, - pub dot2_token: Option, - pub comma_token: Option, - pub back: Punctuated, - }), - - /// A macro in expression position. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Macro(PatMacro { - pub mac: Macro, - }), - - /// Tokens in pattern position not interpreted by Syn. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Verbatim(PatVerbatim #manual_extra_traits { - pub tts: TokenStream, - }), - } -} - -#[cfg(all(feature = "full", feature = "extra-traits"))] -impl Eq for PatVerbatim {} - -#[cfg(all(feature = "full", feature = "extra-traits"))] -impl PartialEq for PatVerbatim { - fn eq(&self, other: &Self) -> bool { - TokenStreamHelper(&self.tts) == TokenStreamHelper(&other.tts) - } -} - -#[cfg(all(feature = "full", feature = "extra-traits"))] -impl Hash for PatVerbatim { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - TokenStreamHelper(&self.tts).hash(state); - } -} - -#[cfg(feature = "full")] -ast_struct! { - /// One arm of a `match` expression: `0...10 => { return true; }`. - /// - /// As in: - /// - /// ```edition2018 - /// # fn f() -> bool { - /// # let n = 0; - /// match n { - /// 0...10 => { - /// return true; - /// } - /// // ... - /// # _ => {} - /// } - /// # false - /// # } - /// ``` - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub struct Arm { - pub attrs: Vec, - pub leading_vert: Option, - pub pats: Punctuated, - pub guard: Option<(Token![if], Box)>, - pub fat_arrow_token: Token![=>], - pub body: Box, - pub comma: Option, - } -} - -#[cfg(feature = "full")] -ast_enum! { - /// Limit types of a range, inclusive or exclusive. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - #[cfg_attr(feature = "clone-impls", derive(Copy))] - pub enum RangeLimits { - /// Inclusive at the beginning, exclusive at the end. - HalfOpen(Token![..]), - /// Inclusive at the beginning and end. - Closed(Token![..=]), - } -} - -#[cfg(feature = "full")] -ast_struct! { - /// A single field in a struct pattern. - /// - /// Patterns like the fields of Foo `{ x, ref y, ref mut z }` are treated - /// the same as `x: x, y: ref y, z: ref mut z` but there is no colon token. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub struct FieldPat { - pub attrs: Vec, - pub member: Member, - pub colon_token: Option, - pub pat: Box, - } -} - -#[cfg(any(feature = "parsing", feature = "printing"))] -#[cfg(feature = "full")] -fn requires_terminator(expr: &Expr) -> bool { - // see https://github.com/rust-lang/rust/blob/eb8f2586e/src/libsyntax/parse/classify.rs#L17-L37 - match *expr { - Expr::Unsafe(..) - | Expr::Block(..) - | Expr::If(..) - | Expr::Match(..) - | Expr::While(..) - | Expr::Loop(..) - | Expr::ForLoop(..) - | Expr::Async(..) - | Expr::TryBlock(..) => false, - _ => true, - } -} - -#[cfg(feature = "parsing")] -pub mod parsing { - use super::*; - - #[cfg(feature = "full")] - use ext::IdentExt; - use parse::{Parse, ParseStream, Result}; - use path; - - // When we're parsing expressions which occur before blocks, like in an if - // statement's condition, we cannot parse a struct literal. - // - // Struct literals are ambiguous in certain positions - // https://github.com/rust-lang/rfcs/pull/92 - #[derive(Copy, Clone)] - pub struct AllowStruct(bool); - - #[derive(Copy, Clone, PartialEq, PartialOrd)] - enum Precedence { - Any, - Assign, - Placement, - Range, - Or, - And, - Compare, - BitOr, - BitXor, - BitAnd, - Shift, - Arithmetic, - Term, - Cast, - } - - impl Precedence { - fn of(op: &BinOp) -> Self { - match *op { - BinOp::Add(_) | BinOp::Sub(_) => Precedence::Arithmetic, - BinOp::Mul(_) | BinOp::Div(_) | BinOp::Rem(_) => Precedence::Term, - BinOp::And(_) => Precedence::And, - BinOp::Or(_) => Precedence::Or, - BinOp::BitXor(_) => Precedence::BitXor, - BinOp::BitAnd(_) => Precedence::BitAnd, - BinOp::BitOr(_) => Precedence::BitOr, - BinOp::Shl(_) | BinOp::Shr(_) => Precedence::Shift, - BinOp::Eq(_) - | BinOp::Lt(_) - | BinOp::Le(_) - | BinOp::Ne(_) - | BinOp::Ge(_) - | BinOp::Gt(_) => Precedence::Compare, - BinOp::AddEq(_) - | BinOp::SubEq(_) - | BinOp::MulEq(_) - | BinOp::DivEq(_) - | BinOp::RemEq(_) - | BinOp::BitXorEq(_) - | BinOp::BitAndEq(_) - | BinOp::BitOrEq(_) - | BinOp::ShlEq(_) - | BinOp::ShrEq(_) => Precedence::Assign, - } - } - } - - impl Parse for Expr { - fn parse(input: ParseStream) -> Result { - ambiguous_expr(input, AllowStruct(true)) - } - } - - #[cfg(feature = "full")] - fn expr_no_struct(input: ParseStream) -> Result { - ambiguous_expr(input, AllowStruct(false)) - } - - #[cfg(feature = "full")] - fn parse_expr( - input: ParseStream, - mut lhs: Expr, - allow_struct: AllowStruct, - base: Precedence, - ) -> Result { - loop { - if input - .fork() - .parse::() - .ok() - .map_or(false, |op| Precedence::of(&op) >= base) - { - let op: BinOp = input.parse()?; - let precedence = Precedence::of(&op); - let mut rhs = unary_expr(input, allow_struct)?; - loop { - let next = peek_precedence(input); - if next > precedence || next == precedence && precedence == Precedence::Assign { - rhs = parse_expr(input, rhs, allow_struct, next)?; - } else { - break; - } - } - lhs = if precedence == Precedence::Assign { - Expr::AssignOp(ExprAssignOp { - attrs: Vec::new(), - left: Box::new(lhs), - op: op, - right: Box::new(rhs), - }) - } else { - Expr::Binary(ExprBinary { - attrs: Vec::new(), - left: Box::new(lhs), - op: op, - right: Box::new(rhs), - }) - }; - } else if Precedence::Assign >= base - && input.peek(Token![=]) - && !input.peek(Token![==]) - && !input.peek(Token![=>]) - { - let eq_token: Token![=] = input.parse()?; - let mut rhs = unary_expr(input, allow_struct)?; - loop { - let next = peek_precedence(input); - if next >= Precedence::Assign { - rhs = parse_expr(input, rhs, allow_struct, next)?; - } else { - break; - } - } - lhs = Expr::Assign(ExprAssign { - attrs: Vec::new(), - left: Box::new(lhs), - eq_token: eq_token, - right: Box::new(rhs), - }); - } else if Precedence::Placement >= base && input.peek(Token![<-]) { - let arrow_token: Token![<-] = input.parse()?; - let mut rhs = unary_expr(input, allow_struct)?; - loop { - let next = peek_precedence(input); - if next > Precedence::Placement { - rhs = parse_expr(input, rhs, allow_struct, next)?; - } else { - break; - } - } - lhs = Expr::InPlace(ExprInPlace { - attrs: Vec::new(), - place: Box::new(lhs), - arrow_token: arrow_token, - value: Box::new(rhs), - }); - } else if Precedence::Range >= base && input.peek(Token![..]) { - let limits: RangeLimits = input.parse()?; - let rhs = if input.is_empty() - || input.peek(Token![,]) - || input.peek(Token![;]) - || !allow_struct.0 && input.peek(token::Brace) - { - None - } else { - let mut rhs = unary_expr(input, allow_struct)?; - loop { - let next = peek_precedence(input); - if next > Precedence::Range { - rhs = parse_expr(input, rhs, allow_struct, next)?; - } else { - break; - } - } - Some(rhs) - }; - lhs = Expr::Range(ExprRange { - attrs: Vec::new(), - from: Some(Box::new(lhs)), - limits: limits, - to: rhs.map(Box::new), - }); - } else if Precedence::Cast >= base && input.peek(Token![as]) { - let as_token: Token![as] = input.parse()?; - let ty = input.call(Type::without_plus)?; - lhs = Expr::Cast(ExprCast { - attrs: Vec::new(), - expr: Box::new(lhs), - as_token: as_token, - ty: Box::new(ty), - }); - } else if Precedence::Cast >= base && input.peek(Token![:]) && !input.peek(Token![::]) { - let colon_token: Token![:] = input.parse()?; - let ty = input.call(Type::without_plus)?; - lhs = Expr::Type(ExprType { - attrs: Vec::new(), - expr: Box::new(lhs), - colon_token: colon_token, - ty: Box::new(ty), - }); - } else { - break; - } - } - Ok(lhs) - } - - #[cfg(not(feature = "full"))] - fn parse_expr( - input: ParseStream, - mut lhs: Expr, - allow_struct: AllowStruct, - base: Precedence, - ) -> Result { - loop { - if input - .fork() - .parse::() - .ok() - .map_or(false, |op| Precedence::of(&op) >= base) - { - let op: BinOp = input.parse()?; - let precedence = Precedence::of(&op); - let mut rhs = unary_expr(input, allow_struct)?; - loop { - let next = peek_precedence(input); - if next > precedence || next == precedence && precedence == Precedence::Assign { - rhs = parse_expr(input, rhs, allow_struct, next)?; - } else { - break; - } - } - lhs = Expr::Binary(ExprBinary { - attrs: Vec::new(), - left: Box::new(lhs), - op: op, - right: Box::new(rhs), - }); - } else if Precedence::Cast >= base && input.peek(Token![as]) { - let as_token: Token![as] = input.parse()?; - let ty = input.call(Type::without_plus)?; - lhs = Expr::Cast(ExprCast { - attrs: Vec::new(), - expr: Box::new(lhs), - as_token: as_token, - ty: Box::new(ty), - }); - } else { - break; - } - } - Ok(lhs) - } - - fn peek_precedence(input: ParseStream) -> Precedence { - if let Ok(op) = input.fork().parse() { - Precedence::of(&op) - } else if input.peek(Token![=]) && !input.peek(Token![=>]) { - Precedence::Assign - } else if input.peek(Token![<-]) { - Precedence::Placement - } else if input.peek(Token![..]) { - Precedence::Range - } else if input.peek(Token![as]) || input.peek(Token![:]) && !input.peek(Token![::]) { - Precedence::Cast - } else { - Precedence::Any - } - } - - // Parse an arbitrary expression. - fn ambiguous_expr(input: ParseStream, allow_struct: AllowStruct) -> Result { - let lhs = unary_expr(input, allow_struct)?; - parse_expr(input, lhs, allow_struct, Precedence::Any) - } - - // - // & - // &mut - // box - #[cfg(feature = "full")] - fn unary_expr(input: ParseStream, allow_struct: AllowStruct) -> Result { - let ahead = input.fork(); - ahead.call(Attribute::parse_outer)?; - if ahead.peek(Token![&]) - || ahead.peek(Token![box]) - || ahead.peek(Token![*]) - || ahead.peek(Token![!]) - || ahead.peek(Token![-]) - { - let attrs = input.call(Attribute::parse_outer)?; - if input.peek(Token![&]) { - Ok(Expr::Reference(ExprReference { - attrs: attrs, - and_token: input.parse()?, - mutability: input.parse()?, - expr: Box::new(unary_expr(input, allow_struct)?), - })) - } else if input.peek(Token![box]) { - Ok(Expr::Box(ExprBox { - attrs: attrs, - box_token: input.parse()?, - expr: Box::new(unary_expr(input, allow_struct)?), - })) - } else { - Ok(Expr::Unary(ExprUnary { - attrs: attrs, - op: input.parse()?, - expr: Box::new(unary_expr(input, allow_struct)?), - })) - } - } else { - trailer_expr(input, allow_struct) - } - } - - #[cfg(not(feature = "full"))] - fn unary_expr(input: ParseStream, allow_struct: AllowStruct) -> Result { - let ahead = input.fork(); - ahead.call(Attribute::parse_outer)?; - if ahead.peek(Token![*]) || ahead.peek(Token![!]) || ahead.peek(Token![-]) { - Ok(Expr::Unary(ExprUnary { - attrs: input.call(Attribute::parse_outer)?, - op: input.parse()?, - expr: Box::new(unary_expr(input, allow_struct)?), - })) - } else { - trailer_expr(input, allow_struct) - } - } - - // (..) ... - // . (..) ... - // . ... - // . ... - // [ ] ... - // ? ... - #[cfg(feature = "full")] - fn trailer_expr(input: ParseStream, allow_struct: AllowStruct) -> Result { - if input.peek(token::Group) { - return input.call(expr_group).map(Expr::Group); - } - - let outer_attrs = input.call(Attribute::parse_outer)?; - - let atom = atom_expr(input, allow_struct)?; - let mut e = trailer_helper(input, atom)?; - - let inner_attrs = e.replace_attrs(Vec::new()); - let attrs = private::attrs(outer_attrs, inner_attrs); - e.replace_attrs(attrs); - Ok(e) - } - - #[cfg(feature = "full")] - fn trailer_helper(input: ParseStream, mut e: Expr) -> Result { - loop { - if input.peek(token::Paren) { - let content; - e = Expr::Call(ExprCall { - attrs: Vec::new(), - func: Box::new(e), - paren_token: parenthesized!(content in input), - args: content.parse_terminated(Expr::parse)?, - }); - } else if input.peek(Token![.]) && !input.peek(Token![..]) { - let dot_token: Token![.] = input.parse()?; - let member: Member = input.parse()?; - let turbofish = if member.is_named() && input.peek(Token![::]) { - Some(MethodTurbofish { - colon2_token: input.parse()?, - lt_token: input.parse()?, - args: { - let mut args = Punctuated::new(); - loop { - if input.peek(Token![>]) { - break; - } - let value = input.call(generic_method_argument)?; - args.push_value(value); - if input.peek(Token![>]) { - break; - } - let punct = input.parse()?; - args.push_punct(punct); - } - args - }, - gt_token: input.parse()?, - }) - } else { - None - }; - - if turbofish.is_some() || input.peek(token::Paren) { - if let Member::Named(method) = member { - let content; - e = Expr::MethodCall(ExprMethodCall { - attrs: Vec::new(), - receiver: Box::new(e), - dot_token: dot_token, - method: method, - turbofish: turbofish, - paren_token: parenthesized!(content in input), - args: content.parse_terminated(Expr::parse)?, - }); - continue; - } - } - - e = Expr::Field(ExprField { - attrs: Vec::new(), - base: Box::new(e), - dot_token: dot_token, - member: member, - }); - } else if input.peek(token::Bracket) { - let content; - e = Expr::Index(ExprIndex { - attrs: Vec::new(), - expr: Box::new(e), - bracket_token: bracketed!(content in input), - index: content.parse()?, - }); - } else if input.peek(Token![?]) { - e = Expr::Try(ExprTry { - attrs: Vec::new(), - expr: Box::new(e), - question_token: input.parse()?, - }); - } else { - break; - } - } - Ok(e) - } - - #[cfg(not(feature = "full"))] - fn trailer_expr(input: ParseStream, allow_struct: AllowStruct) -> Result { - let mut e = atom_expr(input, allow_struct)?; - - loop { - if input.peek(token::Paren) { - let content; - e = Expr::Call(ExprCall { - attrs: Vec::new(), - func: Box::new(e), - paren_token: parenthesized!(content in input), - args: content.parse_terminated(Expr::parse)?, - }); - } else if input.peek(Token![.]) { - e = Expr::Field(ExprField { - attrs: Vec::new(), - base: Box::new(e), - dot_token: input.parse()?, - member: input.parse()?, - }); - } else if input.peek(token::Bracket) { - let content; - e = Expr::Index(ExprIndex { - attrs: Vec::new(), - expr: Box::new(e), - bracket_token: bracketed!(content in input), - index: content.parse()?, - }); - } else { - break; - } - } - - Ok(e) - } - - // Parse all atomic expressions which don't have to worry about precedence - // interactions, as they are fully contained. - #[cfg(feature = "full")] - fn atom_expr(input: ParseStream, allow_struct: AllowStruct) -> Result { - if input.peek(token::Group) { - input.call(expr_group).map(Expr::Group) - } else if input.peek(Lit) { - input.parse().map(Expr::Lit) - } else if input.peek(Token![async]) - && (input.peek2(token::Brace) || input.peek2(Token![move]) && input.peek3(token::Brace)) - { - input.call(expr_async).map(Expr::Async) - } else if input.peek(Token![try]) && input.peek2(token::Brace) { - input.call(expr_try_block).map(Expr::TryBlock) - } else if input.peek(Token![|]) - || input.peek(Token![async]) && (input.peek2(Token![|]) || input.peek2(Token![move])) - || input.peek(Token![static]) - || input.peek(Token![move]) - { - expr_closure(input, allow_struct).map(Expr::Closure) - } else if input.peek(Ident) - || input.peek(Token![::]) - || input.peek(Token![<]) - || input.peek(Token![self]) - || input.peek(Token![Self]) - || input.peek(Token![super]) - || input.peek(Token![extern]) - || input.peek(Token![crate]) - { - path_or_macro_or_struct(input, allow_struct) - } else if input.peek(token::Paren) { - paren_or_tuple(input) - } else if input.peek(Token![break]) { - expr_break(input, allow_struct).map(Expr::Break) - } else if input.peek(Token![continue]) { - input.call(expr_continue).map(Expr::Continue) - } else if input.peek(Token![return]) { - expr_ret(input, allow_struct).map(Expr::Return) - } else if input.peek(token::Bracket) { - array_or_repeat(input) - } else if input.peek(Token![let]) { - input.call(expr_let).map(Expr::Let) - } else if input.peek(Token![if]) { - input.parse().map(Expr::If) - } else if input.peek(Token![while]) { - input.parse().map(Expr::While) - } else if input.peek(Token![for]) { - input.parse().map(Expr::ForLoop) - } else if input.peek(Token![loop]) { - input.parse().map(Expr::Loop) - } else if input.peek(Token![match]) { - input.parse().map(Expr::Match) - } else if input.peek(Token![yield]) { - input.call(expr_yield).map(Expr::Yield) - } else if input.peek(Token![unsafe]) { - input.call(expr_unsafe).map(Expr::Unsafe) - } else if input.peek(token::Brace) { - input.call(expr_block).map(Expr::Block) - } else if input.peek(Token![..]) { - expr_range(input, allow_struct).map(Expr::Range) - } else if input.peek(Lifetime) { - let the_label: Label = input.parse()?; - let mut expr = if input.peek(Token![while]) { - Expr::While(input.parse()?) - } else if input.peek(Token![for]) { - Expr::ForLoop(input.parse()?) - } else if input.peek(Token![loop]) { - Expr::Loop(input.parse()?) - } else if input.peek(token::Brace) { - Expr::Block(input.call(expr_block)?) - } else { - return Err(input.error("expected loop or block expression")); - }; - match expr { - Expr::While(ExprWhile { ref mut label, .. }) - | Expr::ForLoop(ExprForLoop { ref mut label, .. }) - | Expr::Loop(ExprLoop { ref mut label, .. }) - | Expr::Block(ExprBlock { ref mut label, .. }) => *label = Some(the_label), - _ => unreachable!(), - } - Ok(expr) - } else { - Err(input.error("expected expression")) - } - } - - #[cfg(not(feature = "full"))] - fn atom_expr(input: ParseStream, _allow_struct: AllowStruct) -> Result { - if input.peek(Lit) { - input.parse().map(Expr::Lit) - } else if input.peek(token::Paren) { - input.call(expr_paren).map(Expr::Paren) - } else if input.peek(Ident) - || input.peek(Token![::]) - || input.peek(Token![<]) - || input.peek(Token![self]) - || input.peek(Token![Self]) - || input.peek(Token![super]) - || input.peek(Token![extern]) - || input.peek(Token![crate]) - { - input.parse().map(Expr::Path) - } else { - Err(input.error("unsupported expression; enable syn's features=[\"full\"]")) - } - } - - #[cfg(feature = "full")] - fn path_or_macro_or_struct(input: ParseStream, allow_struct: AllowStruct) -> Result { - let expr: ExprPath = input.parse()?; - if expr.qself.is_some() { - return Ok(Expr::Path(expr)); - } - - if input.peek(Token![!]) && !input.peek(Token![!=]) { - let mut contains_arguments = false; - for segment in &expr.path.segments { - match segment.arguments { - PathArguments::None => {} - PathArguments::AngleBracketed(_) | PathArguments::Parenthesized(_) => { - contains_arguments = true; - } - } - } - - if !contains_arguments { - let bang_token: Token![!] = input.parse()?; - let (delimiter, tts) = mac::parse_delimiter(input)?; - return Ok(Expr::Macro(ExprMacro { - attrs: Vec::new(), - mac: Macro { - path: expr.path, - bang_token: bang_token, - delimiter: delimiter, - tts: tts, - }, - })); - } - } - - if allow_struct.0 && input.peek(token::Brace) { - let outer_attrs = Vec::new(); - expr_struct_helper(input, outer_attrs, expr.path).map(Expr::Struct) - } else { - Ok(Expr::Path(expr)) - } - } - - #[cfg(feature = "full")] - fn paren_or_tuple(input: ParseStream) -> Result { - let content; - let paren_token = parenthesized!(content in input); - let inner_attrs = content.call(Attribute::parse_inner)?; - if content.is_empty() { - return Ok(Expr::Tuple(ExprTuple { - attrs: inner_attrs, - paren_token: paren_token, - elems: Punctuated::new(), - })); - } - - let first: Expr = content.parse()?; - if content.is_empty() { - return Ok(Expr::Paren(ExprParen { - attrs: inner_attrs, - paren_token: paren_token, - expr: Box::new(first), - })); - } - - let mut elems = Punctuated::new(); - elems.push_value(first); - while !content.is_empty() { - let punct = content.parse()?; - elems.push_punct(punct); - if content.is_empty() { - break; - } - let value = content.parse()?; - elems.push_value(value); - } - Ok(Expr::Tuple(ExprTuple { - attrs: inner_attrs, - paren_token: paren_token, - elems: elems, - })) - } - - #[cfg(feature = "full")] - fn array_or_repeat(input: ParseStream) -> Result { - let content; - let bracket_token = bracketed!(content in input); - let inner_attrs = content.call(Attribute::parse_inner)?; - if content.is_empty() { - return Ok(Expr::Array(ExprArray { - attrs: inner_attrs, - bracket_token: bracket_token, - elems: Punctuated::new(), - })); - } - - let first: Expr = content.parse()?; - if content.is_empty() || content.peek(Token![,]) { - let mut elems = Punctuated::new(); - elems.push_value(first); - while !content.is_empty() { - let punct = content.parse()?; - elems.push_punct(punct); - if content.is_empty() { - break; - } - let value = content.parse()?; - elems.push_value(value); - } - Ok(Expr::Array(ExprArray { - attrs: inner_attrs, - bracket_token: bracket_token, - elems: elems, - })) - } else if content.peek(Token![;]) { - let semi_token: Token![;] = content.parse()?; - let len: Expr = content.parse()?; - Ok(Expr::Repeat(ExprRepeat { - attrs: inner_attrs, - bracket_token: bracket_token, - expr: Box::new(first), - semi_token: semi_token, - len: Box::new(len), - })) - } else { - Err(content.error("expected `,` or `;`")) - } - } - - #[cfg(feature = "full")] - fn expr_early(input: ParseStream) -> Result { - let mut attrs = input.call(Attribute::parse_outer)?; - let mut expr = if input.peek(Token![if]) { - Expr::If(input.parse()?) - } else if input.peek(Token![while]) { - Expr::While(input.parse()?) - } else if input.peek(Token![for]) { - Expr::ForLoop(input.parse()?) - } else if input.peek(Token![loop]) { - Expr::Loop(input.parse()?) - } else if input.peek(Token![match]) { - Expr::Match(input.parse()?) - } else if input.peek(Token![try]) && input.peek2(token::Brace) { - Expr::TryBlock(input.call(expr_try_block)?) - } else if input.peek(Token![unsafe]) { - Expr::Unsafe(input.call(expr_unsafe)?) - } else if input.peek(token::Brace) { - Expr::Block(input.call(expr_block)?) - } else { - let allow_struct = AllowStruct(true); - let mut expr = unary_expr(input, allow_struct)?; - - attrs.extend(expr.replace_attrs(Vec::new())); - expr.replace_attrs(attrs); - - return parse_expr(input, expr, allow_struct, Precedence::Any); - }; - - if input.peek(Token![.]) || input.peek(Token![?]) { - expr = trailer_helper(input, expr)?; - - attrs.extend(expr.replace_attrs(Vec::new())); - expr.replace_attrs(attrs); - - let allow_struct = AllowStruct(true); - return parse_expr(input, expr, allow_struct, Precedence::Any); - } - - attrs.extend(expr.replace_attrs(Vec::new())); - expr.replace_attrs(attrs); - Ok(expr) - } - - impl Parse for ExprLit { - fn parse(input: ParseStream) -> Result { - Ok(ExprLit { - attrs: Vec::new(), - lit: input.parse()?, - }) - } - } - - #[cfg(feature = "full")] - fn expr_group(input: ParseStream) -> Result { - let group = private::parse_group(input)?; - Ok(ExprGroup { - attrs: Vec::new(), - group_token: group.token, - expr: group.content.parse()?, - }) - } - - #[cfg(not(feature = "full"))] - fn expr_paren(input: ParseStream) -> Result { - let content; - Ok(ExprParen { - attrs: Vec::new(), - paren_token: parenthesized!(content in input), - expr: content.parse()?, - }) - } - - #[cfg(feature = "full")] - fn generic_method_argument(input: ParseStream) -> Result { - // TODO parse const generics as well - input.parse().map(GenericMethodArgument::Type) - } - - #[cfg(feature = "full")] - fn expr_let(input: ParseStream) -> Result { - Ok(ExprLet { - attrs: Vec::new(), - let_token: input.parse()?, - pats: { - let mut pats = Punctuated::new(); - input.parse::>()?; - let value: Pat = input.parse()?; - pats.push_value(value); - while input.peek(Token![|]) && !input.peek(Token![||]) && !input.peek(Token![|=]) { - let punct = input.parse()?; - pats.push_punct(punct); - let value: Pat = input.parse()?; - pats.push_value(value); - } - pats - }, - eq_token: input.parse()?, - expr: Box::new(input.call(expr_no_struct)?), - }) - } - - #[cfg(feature = "full")] - impl Parse for ExprIf { - fn parse(input: ParseStream) -> Result { - Ok(ExprIf { - attrs: Vec::new(), - if_token: input.parse()?, - cond: Box::new(input.call(expr_no_struct)?), - then_branch: input.parse()?, - else_branch: { - if input.peek(Token![else]) { - Some(input.call(else_block)?) - } else { - None - } - }, - }) - } - } - - #[cfg(feature = "full")] - fn else_block(input: ParseStream) -> Result<(Token![else], Box)> { - let else_token: Token![else] = input.parse()?; - - let lookahead = input.lookahead1(); - let else_branch = if input.peek(Token![if]) { - input.parse().map(Expr::If)? - } else if input.peek(token::Brace) { - Expr::Block(ExprBlock { - attrs: Vec::new(), - label: None, - block: input.parse()?, - }) - } else { - return Err(lookahead.error()); - }; - - Ok((else_token, Box::new(else_branch))) - } - - #[cfg(feature = "full")] - impl Parse for ExprForLoop { - fn parse(input: ParseStream) -> Result { - let label: OptionTypeParam> - /// over the type parameters in `self.params`. - pub fn type_params(&self) -> TypeParams { - TypeParams(self.params.iter()) - } - - /// Returns an - /// Iterator<Item = &mut TypeParam> - /// over the type parameters in `self.params`. - pub fn type_params_mut(&mut self) -> TypeParamsMut { - TypeParamsMut(self.params.iter_mut()) - } - - /// Returns an - /// Iterator<Item = &LifetimeDef> - /// over the lifetime parameters in `self.params`. - pub fn lifetimes(&self) -> Lifetimes { - Lifetimes(self.params.iter()) - } - - /// Returns an - /// Iterator<Item = &mut LifetimeDef> - /// over the lifetime parameters in `self.params`. - pub fn lifetimes_mut(&mut self) -> LifetimesMut { - LifetimesMut(self.params.iter_mut()) - } - - /// Returns an - /// Iterator<Item = &ConstParam> - /// over the constant parameters in `self.params`. - pub fn const_params(&self) -> ConstParams { - ConstParams(self.params.iter()) - } - - /// Returns an - /// Iterator<Item = &mut ConstParam> - /// over the constant parameters in `self.params`. - pub fn const_params_mut(&mut self) -> ConstParamsMut { - ConstParamsMut(self.params.iter_mut()) - } - - /// Initializes an empty `where`-clause if there is not one present already. - pub fn make_where_clause(&mut self) -> &mut WhereClause { - // This is Option::get_or_insert_with in Rust 1.20. - if self.where_clause.is_none() { - self.where_clause = Some(WhereClause { - where_token: ::default(), - predicates: Punctuated::new(), - }); - } - match self.where_clause { - Some(ref mut where_clause) => where_clause, - None => unreachable!(), - } - } -} - -pub struct TypeParams<'a>(Iter<'a, GenericParam>); - -impl<'a> Iterator for TypeParams<'a> { - type Item = &'a TypeParam; - - fn next(&mut self) -> Option { - let next = match self.0.next() { - Some(item) => item, - None => return None, - }; - if let GenericParam::Type(ref type_param) = *next { - Some(type_param) - } else { - self.next() - } - } -} - -pub struct TypeParamsMut<'a>(IterMut<'a, GenericParam>); - -impl<'a> Iterator for TypeParamsMut<'a> { - type Item = &'a mut TypeParam; - - fn next(&mut self) -> Option { - let next = match self.0.next() { - Some(item) => item, - None => return None, - }; - if let GenericParam::Type(ref mut type_param) = *next { - Some(type_param) - } else { - self.next() - } - } -} - -pub struct Lifetimes<'a>(Iter<'a, GenericParam>); - -impl<'a> Iterator for Lifetimes<'a> { - type Item = &'a LifetimeDef; - - fn next(&mut self) -> Option { - let next = match self.0.next() { - Some(item) => item, - None => return None, - }; - if let GenericParam::Lifetime(ref lifetime) = *next { - Some(lifetime) - } else { - self.next() - } - } -} - -pub struct LifetimesMut<'a>(IterMut<'a, GenericParam>); - -impl<'a> Iterator for LifetimesMut<'a> { - type Item = &'a mut LifetimeDef; - - fn next(&mut self) -> Option { - let next = match self.0.next() { - Some(item) => item, - None => return None, - }; - if let GenericParam::Lifetime(ref mut lifetime) = *next { - Some(lifetime) - } else { - self.next() - } - } -} - -pub struct ConstParams<'a>(Iter<'a, GenericParam>); - -impl<'a> Iterator for ConstParams<'a> { - type Item = &'a ConstParam; - - fn next(&mut self) -> Option { - let next = match self.0.next() { - Some(item) => item, - None => return None, - }; - if let GenericParam::Const(ref const_param) = *next { - Some(const_param) - } else { - self.next() - } - } -} - -pub struct ConstParamsMut<'a>(IterMut<'a, GenericParam>); - -impl<'a> Iterator for ConstParamsMut<'a> { - type Item = &'a mut ConstParam; - - fn next(&mut self) -> Option { - let next = match self.0.next() { - Some(item) => item, - None => return None, - }; - if let GenericParam::Const(ref mut const_param) = *next { - Some(const_param) - } else { - self.next() - } - } -} - -/// Returned by `Generics::split_for_impl`. -/// -/// *This type is available if Syn is built with the `"derive"` or `"full"` -/// feature and the `"printing"` feature.* -#[cfg(feature = "printing")] -#[cfg_attr(feature = "extra-traits", derive(Debug, Eq, PartialEq, Hash))] -#[cfg_attr(feature = "clone-impls", derive(Clone))] -pub struct ImplGenerics<'a>(&'a Generics); - -/// Returned by `Generics::split_for_impl`. -/// -/// *This type is available if Syn is built with the `"derive"` or `"full"` -/// feature and the `"printing"` feature.* -#[cfg(feature = "printing")] -#[cfg_attr(feature = "extra-traits", derive(Debug, Eq, PartialEq, Hash))] -#[cfg_attr(feature = "clone-impls", derive(Clone))] -pub struct TypeGenerics<'a>(&'a Generics); - -/// Returned by `TypeGenerics::as_turbofish`. -/// -/// *This type is available if Syn is built with the `"derive"` or `"full"` -/// feature and the `"printing"` feature.* -#[cfg(feature = "printing")] -#[cfg_attr(feature = "extra-traits", derive(Debug, Eq, PartialEq, Hash))] -#[cfg_attr(feature = "clone-impls", derive(Clone))] -pub struct Turbofish<'a>(&'a Generics); - -#[cfg(feature = "printing")] -impl Generics { - /// Split a type's generics into the pieces required for impl'ing a trait - /// for that type. - /// - /// ```edition2018 - /// # use proc_macro2::{Span, Ident}; - /// # use quote::quote; - /// # - /// # fn main() { - /// # let generics: syn::Generics = Default::default(); - /// # let name = Ident::new("MyType", Span::call_site()); - /// # - /// let (impl_generics, ty_generics, where_clause) = generics.split_for_impl(); - /// quote! { - /// impl #impl_generics MyTrait for #name #ty_generics #where_clause { - /// // ... - /// } - /// } - /// # ; - /// # } - /// ``` - /// - /// *This method is available if Syn is built with the `"derive"` or - /// `"full"` feature and the `"printing"` feature.* - pub fn split_for_impl(&self) -> (ImplGenerics, TypeGenerics, Option<&WhereClause>) { - ( - ImplGenerics(self), - TypeGenerics(self), - self.where_clause.as_ref(), - ) - } -} - -#[cfg(feature = "printing")] -impl<'a> TypeGenerics<'a> { - /// Turn a type's generics like `` into a turbofish like `::`. - /// - /// *This method is available if Syn is built with the `"derive"` or - /// `"full"` feature and the `"printing"` feature.* - pub fn as_turbofish(&self) -> Turbofish { - Turbofish(self.0) - } -} - -ast_struct! { - /// A set of bound lifetimes: `for<'a, 'b, 'c>`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - #[derive(Default)] - pub struct BoundLifetimes { - pub for_token: Token![for], - pub lt_token: Token![<], - pub lifetimes: Punctuated, - pub gt_token: Token![>], - } -} - -impl LifetimeDef { - pub fn new(lifetime: Lifetime) -> Self { - LifetimeDef { - attrs: Vec::new(), - lifetime: lifetime, - colon_token: None, - bounds: Punctuated::new(), - } - } -} - -impl From for TypeParam { - fn from(ident: Ident) -> Self { - TypeParam { - attrs: vec![], - ident: ident, - colon_token: None, - bounds: Punctuated::new(), - eq_token: None, - default: None, - } - } -} - -ast_enum_of_structs! { - /// A trait or lifetime used as a bound on a type parameter. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub enum TypeParamBound { - pub Trait(TraitBound), - pub Lifetime(Lifetime), - } -} - -ast_struct! { - /// A trait used as a bound on a type parameter. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub struct TraitBound { - pub paren_token: Option, - pub modifier: TraitBoundModifier, - /// The `for<'a>` in `for<'a> Foo<&'a T>` - pub lifetimes: Option, - /// The `Foo<&'a T>` in `for<'a> Foo<&'a T>` - pub path: Path, - } -} - -ast_enum! { - /// A modifier on a trait bound, currently only used for the `?` in - /// `?Sized`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - #[cfg_attr(feature = "clone-impls", derive(Copy))] - pub enum TraitBoundModifier { - None, - Maybe(Token![?]), - } -} - -ast_struct! { - /// A `where` clause in a definition: `where T: Deserialize<'de>, D: - /// 'static`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub struct WhereClause { - pub where_token: Token![where], - pub predicates: Punctuated, - } -} - -ast_enum_of_structs! { - /// A single predicate in a `where` clause: `T: Deserialize<'de>`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - /// - /// # Syntax tree enum - /// - /// This type is a [syntax tree enum]. - /// - /// [syntax tree enum]: enum.Expr.html#syntax-tree-enums - pub enum WherePredicate { - /// A type predicate in a `where` clause: `for<'c> Foo<'c>: Trait<'c>`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Type(PredicateType { - /// Any lifetimes from a `for` binding - pub lifetimes: Option, - /// The type being bounded - pub bounded_ty: Type, - pub colon_token: Token![:], - /// Trait and lifetime bounds (`Clone+Send+'static`) - pub bounds: Punctuated, - }), - - /// A lifetime predicate in a `where` clause: `'a: 'b + 'c`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Lifetime(PredicateLifetime { - pub lifetime: Lifetime, - pub colon_token: Token![:], - pub bounds: Punctuated, - }), - - /// An equality predicate in a `where` clause (unsupported). - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Eq(PredicateEq { - pub lhs_ty: Type, - pub eq_token: Token![=], - pub rhs_ty: Type, - }), - } -} - -#[cfg(feature = "parsing")] -pub mod parsing { - use super::*; - - use parse::{Parse, ParseStream, Result}; - - impl Parse for Generics { - fn parse(input: ParseStream) -> Result { - if !input.peek(Token![<]) { - return Ok(Generics::default()); - } - - let lt_token: Token![<] = input.parse()?; - - let mut params = Punctuated::new(); - let mut has_type_param = false; - loop { - if input.peek(Token![>]) { - break; - } - - let attrs = input.call(Attribute::parse_outer)?; - let lookahead = input.lookahead1(); - if !has_type_param && lookahead.peek(Lifetime) { - params.push_value(GenericParam::Lifetime(LifetimeDef { - attrs: attrs, - ..input.parse()? - })); - } else if lookahead.peek(Ident) { - has_type_param = true; - params.push_value(GenericParam::Type(TypeParam { - attrs: attrs, - ..input.parse()? - })); - } else { - return Err(lookahead.error()); - } - - if input.peek(Token![>]) { - break; - } - let punct = input.parse()?; - params.push_punct(punct); - } - - let gt_token: Token![>] = input.parse()?; - - Ok(Generics { - lt_token: Some(lt_token), - params: params, - gt_token: Some(gt_token), - where_clause: None, - }) - } - } - - impl Parse for GenericParam { - fn parse(input: ParseStream) -> Result { - let attrs = input.call(Attribute::parse_outer)?; - - let lookahead = input.lookahead1(); - if lookahead.peek(Ident) { - Ok(GenericParam::Type(TypeParam { - attrs: attrs, - ..input.parse()? - })) - } else if lookahead.peek(Lifetime) { - Ok(GenericParam::Lifetime(LifetimeDef { - attrs: attrs, - ..input.parse()? - })) - } else if lookahead.peek(Token![const]) { - Ok(GenericParam::Const(ConstParam { - attrs: attrs, - ..input.parse()? - })) - } else { - Err(lookahead.error()) - } - } - } - - impl Parse for LifetimeDef { - fn parse(input: ParseStream) -> Result { - let has_colon; - Ok(LifetimeDef { - attrs: input.call(Attribute::parse_outer)?, - lifetime: input.parse()?, - colon_token: { - if input.peek(Token![:]) { - has_colon = true; - Some(input.parse()?) - } else { - has_colon = false; - None - } - }, - bounds: { - let mut bounds = Punctuated::new(); - if has_colon { - loop { - if input.peek(Token![,]) || input.peek(Token![>]) { - break; - } - let value = input.parse()?; - bounds.push_value(value); - if !input.peek(Token![+]) { - break; - } - let punct = input.parse()?; - bounds.push_punct(punct); - } - } - bounds - }, - }) - } - } - - impl Parse for BoundLifetimes { - fn parse(input: ParseStream) -> Result { - Ok(BoundLifetimes { - for_token: input.parse()?, - lt_token: input.parse()?, - lifetimes: { - let mut lifetimes = Punctuated::new(); - while !input.peek(Token![>]) { - lifetimes.push_value(input.parse()?); - if input.peek(Token![>]) { - break; - } - lifetimes.push_punct(input.parse()?); - } - lifetimes - }, - gt_token: input.parse()?, - }) - } - } - - impl Parse for Option { - fn parse(input: ParseStream) -> Result { - if input.peek(Token![for]) { - input.parse().map(Some) - } else { - Ok(None) - } - } - } - - impl Parse for TypeParam { - fn parse(input: ParseStream) -> Result { - let has_colon; - let has_default; - Ok(TypeParam { - attrs: input.call(Attribute::parse_outer)?, - ident: input.parse()?, - colon_token: { - if input.peek(Token![:]) { - has_colon = true; - Some(input.parse()?) - } else { - has_colon = false; - None - } - }, - bounds: { - let mut bounds = Punctuated::new(); - if has_colon { - loop { - if input.peek(Token![,]) - || input.peek(Token![>]) - || input.peek(Token![=]) - { - break; - } - let value = input.parse()?; - bounds.push_value(value); - if !input.peek(Token![+]) { - break; - } - let punct = input.parse()?; - bounds.push_punct(punct); - } - } - bounds - }, - eq_token: { - if input.peek(Token![=]) { - has_default = true; - Some(input.parse()?) - } else { - has_default = false; - None - } - }, - default: { - if has_default { - Some(input.parse()?) - } else { - None - } - }, - }) - } - } - - impl Parse for TypeParamBound { - fn parse(input: ParseStream) -> Result { - if input.peek(Lifetime) { - return input.parse().map(TypeParamBound::Lifetime); - } - - if input.peek(token::Paren) { - let content; - let paren_token = parenthesized!(content in input); - let mut bound: TraitBound = content.parse()?; - bound.paren_token = Some(paren_token); - return Ok(TypeParamBound::Trait(bound)); - } - - input.parse().map(TypeParamBound::Trait) - } - } - - impl Parse for TraitBound { - fn parse(input: ParseStream) -> Result { - let modifier: TraitBoundModifier = input.parse()?; - let lifetimes: Option = input.parse()?; - - let mut path: Path = input.parse()?; - if path.segments.last().unwrap().value().arguments.is_empty() - && input.peek(token::Paren) - { - let parenthesized = PathArguments::Parenthesized(input.parse()?); - path.segments.last_mut().unwrap().value_mut().arguments = parenthesized; - } - - Ok(TraitBound { - paren_token: None, - modifier: modifier, - lifetimes: lifetimes, - path: path, - }) - } - } - - impl Parse for TraitBoundModifier { - fn parse(input: ParseStream) -> Result { - if input.peek(Token![?]) { - input.parse().map(TraitBoundModifier::Maybe) - } else { - Ok(TraitBoundModifier::None) - } - } - } - - impl Parse for ConstParam { - fn parse(input: ParseStream) -> Result { - let mut default = None; - Ok(ConstParam { - attrs: input.call(Attribute::parse_outer)?, - const_token: input.parse()?, - ident: input.parse()?, - colon_token: input.parse()?, - ty: input.parse()?, - eq_token: { - if input.peek(Token![=]) { - let eq_token = input.parse()?; - default = Some(input.parse::()?); - Some(eq_token) - } else { - None - } - }, - default: default, - }) - } - } - - impl Parse for WhereClause { - fn parse(input: ParseStream) -> Result { - Ok(WhereClause { - where_token: input.parse()?, - predicates: { - let mut predicates = Punctuated::new(); - loop { - if input.is_empty() - || input.peek(token::Brace) - || input.peek(Token![,]) - || input.peek(Token![;]) - || input.peek(Token![:]) && !input.peek(Token![::]) - || input.peek(Token![=]) - { - break; - } - let value = input.parse()?; - predicates.push_value(value); - if !input.peek(Token![,]) { - break; - } - let punct = input.parse()?; - predicates.push_punct(punct); - } - predicates - }, - }) - } - } - - impl Parse for Option { - fn parse(input: ParseStream) -> Result { - if input.peek(Token![where]) { - input.parse().map(Some) - } else { - Ok(None) - } - } - } - - impl Parse for WherePredicate { - fn parse(input: ParseStream) -> Result { - if input.peek(Lifetime) && input.peek2(Token![:]) { - Ok(WherePredicate::Lifetime(PredicateLifetime { - lifetime: input.parse()?, - colon_token: input.parse()?, - bounds: { - let mut bounds = Punctuated::new(); - loop { - if input.peek(token::Brace) - || input.peek(Token![,]) - || input.peek(Token![;]) - || input.peek(Token![:]) - || input.peek(Token![=]) - { - break; - } - let value = input.parse()?; - bounds.push_value(value); - if !input.peek(Token![+]) { - break; - } - let punct = input.parse()?; - bounds.push_punct(punct); - } - bounds - }, - })) - } else { - Ok(WherePredicate::Type(PredicateType { - lifetimes: input.parse()?, - bounded_ty: input.parse()?, - colon_token: input.parse()?, - bounds: { - let mut bounds = Punctuated::new(); - loop { - if input.peek(token::Brace) - || input.peek(Token![,]) - || input.peek(Token![;]) - || input.peek(Token![:]) && !input.peek(Token![::]) - || input.peek(Token![=]) - { - break; - } - let value = input.parse()?; - bounds.push_value(value); - if !input.peek(Token![+]) { - break; - } - let punct = input.parse()?; - bounds.push_punct(punct); - } - bounds - }, - })) - } - } - } -} - -#[cfg(feature = "printing")] -mod printing { - use super::*; - - use proc_macro2::TokenStream; - use quote::{ToTokens, TokenStreamExt}; - - use attr::FilterAttrs; - use print::TokensOrDefault; - - impl ToTokens for Generics { - fn to_tokens(&self, tokens: &mut TokenStream) { - if self.params.is_empty() { - return; - } - - TokensOrDefault(&self.lt_token).to_tokens(tokens); - - // Print lifetimes before types and consts, regardless of their - // order in self.params. - // - // TODO: ordering rules for const parameters vs type parameters have - // not been settled yet. https://github.com/rust-lang/rust/issues/44580 - let mut trailing_or_empty = true; - for param in self.params.pairs() { - if let GenericParam::Lifetime(_) = **param.value() { - param.to_tokens(tokens); - trailing_or_empty = param.punct().is_some(); - } - } - for param in self.params.pairs() { - match **param.value() { - GenericParam::Type(_) | GenericParam::Const(_) => { - if !trailing_or_empty { - ::default().to_tokens(tokens); - trailing_or_empty = true; - } - param.to_tokens(tokens); - } - GenericParam::Lifetime(_) => {} - } - } - - TokensOrDefault(&self.gt_token).to_tokens(tokens); - } - } - - impl<'a> ToTokens for ImplGenerics<'a> { - fn to_tokens(&self, tokens: &mut TokenStream) { - if self.0.params.is_empty() { - return; - } - - TokensOrDefault(&self.0.lt_token).to_tokens(tokens); - - // Print lifetimes before types and consts, regardless of their - // order in self.params. - // - // TODO: ordering rules for const parameters vs type parameters have - // not been settled yet. https://github.com/rust-lang/rust/issues/44580 - let mut trailing_or_empty = true; - for param in self.0.params.pairs() { - if let GenericParam::Lifetime(_) = **param.value() { - param.to_tokens(tokens); - trailing_or_empty = param.punct().is_some(); - } - } - for param in self.0.params.pairs() { - if let GenericParam::Lifetime(_) = **param.value() { - continue; - } - if !trailing_or_empty { - ::default().to_tokens(tokens); - trailing_or_empty = true; - } - match **param.value() { - GenericParam::Lifetime(_) => unreachable!(), - GenericParam::Type(ref param) => { - // Leave off the type parameter defaults - tokens.append_all(param.attrs.outer()); - param.ident.to_tokens(tokens); - if !param.bounds.is_empty() { - TokensOrDefault(¶m.colon_token).to_tokens(tokens); - param.bounds.to_tokens(tokens); - } - } - GenericParam::Const(ref param) => { - // Leave off the const parameter defaults - tokens.append_all(param.attrs.outer()); - param.const_token.to_tokens(tokens); - param.ident.to_tokens(tokens); - param.colon_token.to_tokens(tokens); - param.ty.to_tokens(tokens); - } - } - param.punct().to_tokens(tokens); - } - - TokensOrDefault(&self.0.gt_token).to_tokens(tokens); - } - } - - impl<'a> ToTokens for TypeGenerics<'a> { - fn to_tokens(&self, tokens: &mut TokenStream) { - if self.0.params.is_empty() { - return; - } - - TokensOrDefault(&self.0.lt_token).to_tokens(tokens); - - // Print lifetimes before types and consts, regardless of their - // order in self.params. - // - // TODO: ordering rules for const parameters vs type parameters have - // not been settled yet. https://github.com/rust-lang/rust/issues/44580 - let mut trailing_or_empty = true; - for param in self.0.params.pairs() { - if let GenericParam::Lifetime(ref def) = **param.value() { - // Leave off the lifetime bounds and attributes - def.lifetime.to_tokens(tokens); - param.punct().to_tokens(tokens); - trailing_or_empty = param.punct().is_some(); - } - } - for param in self.0.params.pairs() { - if let GenericParam::Lifetime(_) = **param.value() { - continue; - } - if !trailing_or_empty { - ::default().to_tokens(tokens); - trailing_or_empty = true; - } - match **param.value() { - GenericParam::Lifetime(_) => unreachable!(), - GenericParam::Type(ref param) => { - // Leave off the type parameter defaults - param.ident.to_tokens(tokens); - } - GenericParam::Const(ref param) => { - // Leave off the const parameter defaults - param.ident.to_tokens(tokens); - } - } - param.punct().to_tokens(tokens); - } - - TokensOrDefault(&self.0.gt_token).to_tokens(tokens); - } - } - - impl<'a> ToTokens for Turbofish<'a> { - fn to_tokens(&self, tokens: &mut TokenStream) { - if !self.0.params.is_empty() { - ::default().to_tokens(tokens); - TypeGenerics(self.0).to_tokens(tokens); - } - } - } - - impl ToTokens for BoundLifetimes { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.for_token.to_tokens(tokens); - self.lt_token.to_tokens(tokens); - self.lifetimes.to_tokens(tokens); - self.gt_token.to_tokens(tokens); - } - } - - impl ToTokens for LifetimeDef { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.lifetime.to_tokens(tokens); - if !self.bounds.is_empty() { - TokensOrDefault(&self.colon_token).to_tokens(tokens); - self.bounds.to_tokens(tokens); - } - } - } - - impl ToTokens for TypeParam { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.ident.to_tokens(tokens); - if !self.bounds.is_empty() { - TokensOrDefault(&self.colon_token).to_tokens(tokens); - self.bounds.to_tokens(tokens); - } - if self.default.is_some() { - TokensOrDefault(&self.eq_token).to_tokens(tokens); - self.default.to_tokens(tokens); - } - } - } - - impl ToTokens for TraitBound { - fn to_tokens(&self, tokens: &mut TokenStream) { - let to_tokens = |tokens: &mut TokenStream| { - self.modifier.to_tokens(tokens); - self.lifetimes.to_tokens(tokens); - self.path.to_tokens(tokens); - }; - match self.paren_token { - Some(ref paren) => paren.surround(tokens, to_tokens), - None => to_tokens(tokens), - } - } - } - - impl ToTokens for TraitBoundModifier { - fn to_tokens(&self, tokens: &mut TokenStream) { - match *self { - TraitBoundModifier::None => {} - TraitBoundModifier::Maybe(ref t) => t.to_tokens(tokens), - } - } - } - - impl ToTokens for ConstParam { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.const_token.to_tokens(tokens); - self.ident.to_tokens(tokens); - self.colon_token.to_tokens(tokens); - self.ty.to_tokens(tokens); - if self.default.is_some() { - TokensOrDefault(&self.eq_token).to_tokens(tokens); - self.default.to_tokens(tokens); - } - } - } - - impl ToTokens for WhereClause { - fn to_tokens(&self, tokens: &mut TokenStream) { - if !self.predicates.is_empty() { - self.where_token.to_tokens(tokens); - self.predicates.to_tokens(tokens); - } - } - } - - impl ToTokens for PredicateType { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.lifetimes.to_tokens(tokens); - self.bounded_ty.to_tokens(tokens); - self.colon_token.to_tokens(tokens); - self.bounds.to_tokens(tokens); - } - } - - impl ToTokens for PredicateLifetime { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.lifetime.to_tokens(tokens); - self.colon_token.to_tokens(tokens); - self.bounds.to_tokens(tokens); - } - } - - impl ToTokens for PredicateEq { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.lhs_ty.to_tokens(tokens); - self.eq_token.to_tokens(tokens); - self.rhs_ty.to_tokens(tokens); - } - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/group.rs b/vendor/registry-40351f815f426200/syn/src/group.rs deleted file mode 100644 index 272e435f2..000000000 --- a/vendor/registry-40351f815f426200/syn/src/group.rs +++ /dev/null @@ -1,283 +0,0 @@ -use proc_macro2::{Delimiter, Span}; - -use error::Result; -use parse::{ParseBuffer, ParseStream}; -use private; -use token; - -// Not public API. -#[doc(hidden)] -pub struct Parens<'a> { - pub token: token::Paren, - pub content: ParseBuffer<'a>, -} - -// Not public API. -#[doc(hidden)] -pub struct Braces<'a> { - pub token: token::Brace, - pub content: ParseBuffer<'a>, -} - -// Not public API. -#[doc(hidden)] -pub struct Brackets<'a> { - pub token: token::Bracket, - pub content: ParseBuffer<'a>, -} - -// Not public API. -#[cfg(any(feature = "full", feature = "derive"))] -#[doc(hidden)] -pub struct Group<'a> { - pub token: token::Group, - pub content: ParseBuffer<'a>, -} - -// Not public API. -#[doc(hidden)] -pub fn parse_parens(input: ParseStream) -> Result { - parse_delimited(input, Delimiter::Parenthesis).map(|(span, content)| Parens { - token: token::Paren(span), - content: content, - }) -} - -// Not public API. -#[doc(hidden)] -pub fn parse_braces(input: ParseStream) -> Result { - parse_delimited(input, Delimiter::Brace).map(|(span, content)| Braces { - token: token::Brace(span), - content: content, - }) -} - -// Not public API. -#[doc(hidden)] -pub fn parse_brackets(input: ParseStream) -> Result { - parse_delimited(input, Delimiter::Bracket).map(|(span, content)| Brackets { - token: token::Bracket(span), - content: content, - }) -} - -#[cfg(any(feature = "full", feature = "derive"))] -impl private { - pub fn parse_group(input: ParseStream) -> Result { - parse_delimited(input, Delimiter::None).map(|(span, content)| Group { - token: token::Group(span), - content: content, - }) - } -} - -fn parse_delimited(input: ParseStream, delimiter: Delimiter) -> Result<(Span, ParseBuffer)> { - input.step(|cursor| { - if let Some((content, span, rest)) = cursor.group(delimiter) { - #[cfg(procmacro2_semver_exempt)] - let scope = private::close_span_of_group(*cursor); - #[cfg(not(procmacro2_semver_exempt))] - let scope = span; - let nested = private::advance_step_cursor(cursor, content); - let unexpected = private::get_unexpected(input); - let content = private::new_parse_buffer(scope, nested, unexpected); - Ok(((span, content), rest)) - } else { - let message = match delimiter { - Delimiter::Parenthesis => "expected parentheses", - Delimiter::Brace => "expected curly braces", - Delimiter::Bracket => "expected square brackets", - Delimiter::None => "expected invisible group", - }; - Err(cursor.error(message)) - } - }) -} - -/// Parse a set of parentheses and expose their content to subsequent parsers. -/// -/// # Example -/// -/// ```edition2018 -/// # use quote::quote; -/// # -/// use syn::{parenthesized, token, Ident, Result, Token, Type}; -/// use syn::parse::{Parse, ParseStream}; -/// use syn::punctuated::Punctuated; -/// -/// // Parse a simplified tuple struct syntax like: -/// // -/// // struct S(A, B); -/// struct TupleStruct { -/// struct_token: Token![struct], -/// ident: Ident, -/// paren_token: token::Paren, -/// fields: Punctuated, -/// semi_token: Token![;], -/// } -/// -/// impl Parse for TupleStruct { -/// fn parse(input: ParseStream) -> Result { -/// let content; -/// Ok(TupleStruct { -/// struct_token: input.parse()?, -/// ident: input.parse()?, -/// paren_token: parenthesized!(content in input), -/// fields: content.parse_terminated(Type::parse)?, -/// semi_token: input.parse()?, -/// }) -/// } -/// } -/// # -/// # fn main() { -/// # let input = quote! { -/// # struct S(A, B); -/// # }; -/// # syn::parse2::(input).unwrap(); -/// # } -/// ``` -#[macro_export] -macro_rules! parenthesized { - ($content:ident in $cursor:expr) => { - match $crate::group::parse_parens(&$cursor) { - $crate::export::Ok(parens) => { - $content = parens.content; - parens.token - } - $crate::export::Err(error) => { - return $crate::export::Err(error); - } - } - }; -} - -/// Parse a set of curly braces and expose their content to subsequent parsers. -/// -/// # Example -/// -/// ```edition2018 -/// # use quote::quote; -/// # -/// use syn::{braced, token, Ident, Result, Token, Type}; -/// use syn::parse::{Parse, ParseStream}; -/// use syn::punctuated::Punctuated; -/// -/// // Parse a simplified struct syntax like: -/// // -/// // struct S { -/// // a: A, -/// // b: B, -/// // } -/// struct Struct { -/// struct_token: Token![struct], -/// ident: Ident, -/// brace_token: token::Brace, -/// fields: Punctuated, -/// } -/// -/// struct Field { -/// name: Ident, -/// colon_token: Token![:], -/// ty: Type, -/// } -/// -/// impl Parse for Struct { -/// fn parse(input: ParseStream) -> Result { -/// let content; -/// Ok(Struct { -/// struct_token: input.parse()?, -/// ident: input.parse()?, -/// brace_token: braced!(content in input), -/// fields: content.parse_terminated(Field::parse)?, -/// }) -/// } -/// } -/// -/// impl Parse for Field { -/// fn parse(input: ParseStream) -> Result { -/// Ok(Field { -/// name: input.parse()?, -/// colon_token: input.parse()?, -/// ty: input.parse()?, -/// }) -/// } -/// } -/// # -/// # fn main() { -/// # let input = quote! { -/// # struct S { -/// # a: A, -/// # b: B, -/// # } -/// # }; -/// # syn::parse2::(input).unwrap(); -/// # } -/// ``` -#[macro_export] -macro_rules! braced { - ($content:ident in $cursor:expr) => { - match $crate::group::parse_braces(&$cursor) { - $crate::export::Ok(braces) => { - $content = braces.content; - braces.token - } - $crate::export::Err(error) => { - return $crate::export::Err(error); - } - } - }; -} - -/// Parse a set of square brackets and expose their content to subsequent -/// parsers. -/// -/// # Example -/// -/// ```edition2018 -/// # use quote::quote; -/// # -/// use proc_macro2::TokenStream; -/// use syn::{bracketed, token, Result, Token}; -/// use syn::parse::{Parse, ParseStream}; -/// -/// // Parse an outer attribute like: -/// // -/// // #[repr(C, packed)] -/// struct OuterAttribute { -/// pound_token: Token![#], -/// bracket_token: token::Bracket, -/// content: TokenStream, -/// } -/// -/// impl Parse for OuterAttribute { -/// fn parse(input: ParseStream) -> Result { -/// let content; -/// Ok(OuterAttribute { -/// pound_token: input.parse()?, -/// bracket_token: bracketed!(content in input), -/// content: content.parse()?, -/// }) -/// } -/// } -/// # -/// # fn main() { -/// # let input = quote! { -/// # #[repr(C, packed)] -/// # }; -/// # syn::parse2::(input).unwrap(); -/// # } -/// ``` -#[macro_export] -macro_rules! bracketed { - ($content:ident in $cursor:expr) => { - match $crate::group::parse_brackets(&$cursor) { - $crate::export::Ok(brackets) => { - $content = brackets.content; - brackets.token - } - $crate::export::Err(error) => { - return $crate::export::Err(error); - } - } - }; -} diff --git a/vendor/registry-40351f815f426200/syn/src/ident.rs b/vendor/registry-40351f815f426200/syn/src/ident.rs deleted file mode 100644 index f5a76a1de..000000000 --- a/vendor/registry-40351f815f426200/syn/src/ident.rs +++ /dev/null @@ -1,86 +0,0 @@ -#[cfg(feature = "parsing")] -use buffer::Cursor; -#[cfg(feature = "parsing")] -use lookahead; -#[cfg(feature = "parsing")] -use parse::{Parse, ParseStream, Result}; -#[cfg(feature = "parsing")] -use token::Token; - -pub use proc_macro2::Ident; - -#[cfg(feature = "parsing")] -#[doc(hidden)] -#[allow(non_snake_case)] -pub fn Ident(marker: lookahead::TokenMarker) -> Ident { - match marker {} -} - -#[cfg(feature = "parsing")] -fn accept_as_ident(ident: &Ident) -> bool { - match ident.to_string().as_str() { - "_" - // Based on https://doc.rust-lang.org/grammar.html#keywords - // and https://github.com/rust-lang/rfcs/blob/master/text/2421-unreservations-2018.md - // and https://github.com/rust-lang/rfcs/blob/master/text/2420-unreserve-proc.md - | "abstract" | "as" | "become" | "box" | "break" | "const" - | "continue" | "crate" | "do" | "else" | "enum" | "extern" | "false" | "final" - | "fn" | "for" | "if" | "impl" | "in" | "let" | "loop" | "macro" | "match" - | "mod" | "move" | "mut" | "override" | "priv" | "pub" - | "ref" | "return" | "Self" | "self" | "static" | "struct" - | "super" | "trait" | "true" | "type" | "typeof" | "unsafe" | "unsized" | "use" - | "virtual" | "where" | "while" | "yield" => false, - _ => true, - } -} - -#[cfg(feature = "parsing")] -impl Parse for Ident { - fn parse(input: ParseStream) -> Result { - input.step(|cursor| { - if let Some((ident, rest)) = cursor.ident() { - if accept_as_ident(&ident) { - return Ok((ident, rest)); - } - } - Err(cursor.error("expected identifier")) - }) - } -} - -#[cfg(feature = "parsing")] -impl Token for Ident { - fn peek(cursor: Cursor) -> bool { - if let Some((ident, _rest)) = cursor.ident() { - accept_as_ident(&ident) - } else { - false - } - } - - fn display() -> &'static str { - "identifier" - } -} - -macro_rules! ident_from_token { - ($token:ident) => { - impl From for Ident { - fn from(token: Token![$token]) -> Ident { - Ident::new(stringify!($token), token.span) - } - } - }; -} - -ident_from_token!(self); -ident_from_token!(Self); -ident_from_token!(super); -ident_from_token!(crate); -ident_from_token!(extern); - -impl From for Ident { - fn from(token: Token![_]) -> Ident { - Ident::new("_", token.span) - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/item.rs b/vendor/registry-40351f815f426200/syn/src/item.rs deleted file mode 100644 index 118ed4e17..000000000 --- a/vendor/registry-40351f815f426200/syn/src/item.rs +++ /dev/null @@ -1,2677 +0,0 @@ -use super::*; -use derive::{Data, DeriveInput}; -use proc_macro2::TokenStream; -use punctuated::Punctuated; -use token::{Brace, Paren}; - -#[cfg(feature = "extra-traits")] -use std::hash::{Hash, Hasher}; -#[cfg(feature = "extra-traits")] -use tt::TokenStreamHelper; - -ast_enum_of_structs! { - /// Things that can appear directly inside of a module or scope. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - /// - /// # Syntax tree enum - /// - /// This type is a [syntax tree enum]. - /// - /// [syntax tree enum]: enum.Expr.html#syntax-tree-enums - pub enum Item { - /// An `extern crate` item: `extern crate serde`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub ExternCrate(ItemExternCrate { - pub attrs: Vec, - pub vis: Visibility, - pub extern_token: Token![extern], - pub crate_token: Token![crate], - pub ident: Ident, - pub rename: Option<(Token![as], Ident)>, - pub semi_token: Token![;], - }), - - /// A use declaration: `use std::collections::HashMap`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Use(ItemUse { - pub attrs: Vec, - pub vis: Visibility, - pub use_token: Token![use], - pub leading_colon: Option, - pub tree: UseTree, - pub semi_token: Token![;], - }), - - /// A static item: `static BIKE: Shed = Shed(42)`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Static(ItemStatic { - pub attrs: Vec, - pub vis: Visibility, - pub static_token: Token![static], - pub mutability: Option, - pub ident: Ident, - pub colon_token: Token![:], - pub ty: Box, - pub eq_token: Token![=], - pub expr: Box, - pub semi_token: Token![;], - }), - - /// A constant item: `const MAX: u16 = 65535`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Const(ItemConst { - pub attrs: Vec, - pub vis: Visibility, - pub const_token: Token![const], - pub ident: Ident, - pub colon_token: Token![:], - pub ty: Box, - pub eq_token: Token![=], - pub expr: Box, - pub semi_token: Token![;], - }), - - /// A free-standing function: `fn process(n: usize) -> Result<()> { ... - /// }`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Fn(ItemFn { - pub attrs: Vec, - pub vis: Visibility, - pub constness: Option, - pub unsafety: Option, - pub asyncness: Option, - pub abi: Option, - pub ident: Ident, - pub decl: Box, - pub block: Box, - }), - - /// A module or module declaration: `mod m` or `mod m { ... }`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Mod(ItemMod { - pub attrs: Vec, - pub vis: Visibility, - pub mod_token: Token![mod], - pub ident: Ident, - pub content: Option<(token::Brace, Vec)>, - pub semi: Option, - }), - - /// A block of foreign items: `extern "C" { ... }`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub ForeignMod(ItemForeignMod { - pub attrs: Vec, - pub abi: Abi, - pub brace_token: token::Brace, - pub items: Vec, - }), - - /// A type alias: `type Result = std::result::Result`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Type(ItemType { - pub attrs: Vec, - pub vis: Visibility, - pub type_token: Token![type], - pub ident: Ident, - pub generics: Generics, - pub eq_token: Token![=], - pub ty: Box, - pub semi_token: Token![;], - }), - - /// An existential type: `existential type Iter: Iterator`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Existential(ItemExistential { - pub attrs: Vec, - pub vis: Visibility, - pub existential_token: Token![existential], - pub type_token: Token![type], - pub ident: Ident, - pub generics: Generics, - pub colon_token: Option, - pub bounds: Punctuated, - pub semi_token: Token![;], - }), - - /// A struct definition: `struct Foo { x: A }`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Struct(ItemStruct { - pub attrs: Vec, - pub vis: Visibility, - pub struct_token: Token![struct], - pub ident: Ident, - pub generics: Generics, - pub fields: Fields, - pub semi_token: Option, - }), - - /// An enum definition: `enum Foo { C, D }`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Enum(ItemEnum { - pub attrs: Vec, - pub vis: Visibility, - pub enum_token: Token![enum], - pub ident: Ident, - pub generics: Generics, - pub brace_token: token::Brace, - pub variants: Punctuated, - }), - - /// A union definition: `union Foo { x: A, y: B }`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Union(ItemUnion { - pub attrs: Vec, - pub vis: Visibility, - pub union_token: Token![union], - pub ident: Ident, - pub generics: Generics, - pub fields: FieldsNamed, - }), - - /// A trait definition: `pub trait Iterator { ... }`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Trait(ItemTrait { - pub attrs: Vec, - pub vis: Visibility, - pub unsafety: Option, - pub auto_token: Option, - pub trait_token: Token![trait], - pub ident: Ident, - pub generics: Generics, - pub colon_token: Option, - pub supertraits: Punctuated, - pub brace_token: token::Brace, - pub items: Vec, - }), - - /// A trait alias: `pub trait SharableIterator = Iterator + Sync`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub TraitAlias(ItemTraitAlias { - pub attrs: Vec, - pub vis: Visibility, - pub trait_token: Token![trait], - pub ident: Ident, - pub generics: Generics, - pub eq_token: Token![=], - pub bounds: Punctuated, - pub semi_token: Token![;], - }), - - /// An impl block providing trait or associated items: `impl Trait - /// for Data { ... }`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Impl(ItemImpl { - pub attrs: Vec, - pub defaultness: Option, - pub unsafety: Option, - pub impl_token: Token![impl], - pub generics: Generics, - /// Trait this impl implements. - pub trait_: Option<(Option, Path, Token![for])>, - /// The Self type of the impl. - pub self_ty: Box, - pub brace_token: token::Brace, - pub items: Vec, - }), - - /// A macro invocation, which includes `macro_rules!` definitions. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Macro(ItemMacro { - pub attrs: Vec, - /// The `example` in `macro_rules! example { ... }`. - pub ident: Option, - pub mac: Macro, - pub semi_token: Option, - }), - - /// A 2.0-style declarative macro introduced by the `macro` keyword. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Macro2(ItemMacro2 #manual_extra_traits { - pub attrs: Vec, - pub vis: Visibility, - pub macro_token: Token![macro], - pub ident: Ident, - pub paren_token: Paren, - pub args: TokenStream, - pub brace_token: Brace, - pub body: TokenStream, - }), - - /// Tokens forming an item not interpreted by Syn. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Verbatim(ItemVerbatim #manual_extra_traits { - pub tts: TokenStream, - }), - } -} - -#[cfg(feature = "extra-traits")] -impl Eq for ItemMacro2 {} - -#[cfg(feature = "extra-traits")] -impl PartialEq for ItemMacro2 { - fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs - && self.vis == other.vis - && self.macro_token == other.macro_token - && self.ident == other.ident - && self.paren_token == other.paren_token - && TokenStreamHelper(&self.args) == TokenStreamHelper(&other.args) - && self.brace_token == other.brace_token - && TokenStreamHelper(&self.body) == TokenStreamHelper(&other.body) - } -} - -#[cfg(feature = "extra-traits")] -impl Hash for ItemMacro2 { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - self.attrs.hash(state); - self.vis.hash(state); - self.macro_token.hash(state); - self.ident.hash(state); - self.paren_token.hash(state); - TokenStreamHelper(&self.args).hash(state); - self.brace_token.hash(state); - TokenStreamHelper(&self.body).hash(state); - } -} - -#[cfg(feature = "extra-traits")] -impl Eq for ItemVerbatim {} - -#[cfg(feature = "extra-traits")] -impl PartialEq for ItemVerbatim { - fn eq(&self, other: &Self) -> bool { - TokenStreamHelper(&self.tts) == TokenStreamHelper(&other.tts) - } -} - -#[cfg(feature = "extra-traits")] -impl Hash for ItemVerbatim { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - TokenStreamHelper(&self.tts).hash(state); - } -} - -impl From for Item { - fn from(input: DeriveInput) -> Item { - match input.data { - Data::Struct(data) => Item::Struct(ItemStruct { - attrs: input.attrs, - vis: input.vis, - struct_token: data.struct_token, - ident: input.ident, - generics: input.generics, - fields: data.fields, - semi_token: data.semi_token, - }), - Data::Enum(data) => Item::Enum(ItemEnum { - attrs: input.attrs, - vis: input.vis, - enum_token: data.enum_token, - ident: input.ident, - generics: input.generics, - brace_token: data.brace_token, - variants: data.variants, - }), - Data::Union(data) => Item::Union(ItemUnion { - attrs: input.attrs, - vis: input.vis, - union_token: data.union_token, - ident: input.ident, - generics: input.generics, - fields: data.fields, - }), - } - } -} - -ast_enum_of_structs! { - /// A suffix of an import tree in a `use` item: `Type as Renamed` or `*`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - /// - /// # Syntax tree enum - /// - /// This type is a [syntax tree enum]. - /// - /// [syntax tree enum]: enum.Expr.html#syntax-tree-enums - pub enum UseTree { - /// A path prefix of imports in a `use` item: `std::...`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Path(UsePath { - pub ident: Ident, - pub colon2_token: Token![::], - pub tree: Box, - }), - - /// An identifier imported by a `use` item: `HashMap`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Name(UseName { - pub ident: Ident, - }), - - /// An renamed identifier imported by a `use` item: `HashMap as Map`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Rename(UseRename { - pub ident: Ident, - pub as_token: Token![as], - pub rename: Ident, - }), - - /// A glob import in a `use` item: `*`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Glob(UseGlob { - pub star_token: Token![*], - }), - - /// A braced group of imports in a `use` item: `{A, B, C}`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Group(UseGroup { - pub brace_token: token::Brace, - pub items: Punctuated, - }), - } -} - -ast_enum_of_structs! { - /// An item within an `extern` block. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - /// - /// # Syntax tree enum - /// - /// This type is a [syntax tree enum]. - /// - /// [syntax tree enum]: enum.Expr.html#syntax-tree-enums - pub enum ForeignItem { - /// A foreign function in an `extern` block. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Fn(ForeignItemFn { - pub attrs: Vec, - pub vis: Visibility, - pub ident: Ident, - pub decl: Box, - pub semi_token: Token![;], - }), - - /// A foreign static item in an `extern` block: `static ext: u8`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Static(ForeignItemStatic { - pub attrs: Vec, - pub vis: Visibility, - pub static_token: Token![static], - pub mutability: Option, - pub ident: Ident, - pub colon_token: Token![:], - pub ty: Box, - pub semi_token: Token![;], - }), - - /// A foreign type in an `extern` block: `type void`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Type(ForeignItemType { - pub attrs: Vec, - pub vis: Visibility, - pub type_token: Token![type], - pub ident: Ident, - pub semi_token: Token![;], - }), - - /// A macro invocation within an extern block. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Macro(ForeignItemMacro { - pub attrs: Vec, - pub mac: Macro, - pub semi_token: Option, - }), - - /// Tokens in an `extern` block not interpreted by Syn. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Verbatim(ForeignItemVerbatim #manual_extra_traits { - pub tts: TokenStream, - }), - } -} - -#[cfg(feature = "extra-traits")] -impl Eq for ForeignItemVerbatim {} - -#[cfg(feature = "extra-traits")] -impl PartialEq for ForeignItemVerbatim { - fn eq(&self, other: &Self) -> bool { - TokenStreamHelper(&self.tts) == TokenStreamHelper(&other.tts) - } -} - -#[cfg(feature = "extra-traits")] -impl Hash for ForeignItemVerbatim { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - TokenStreamHelper(&self.tts).hash(state); - } -} - -ast_enum_of_structs! { - /// An item declaration within the definition of a trait. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - /// - /// # Syntax tree enum - /// - /// This type is a [syntax tree enum]. - /// - /// [syntax tree enum]: enum.Expr.html#syntax-tree-enums - pub enum TraitItem { - /// An associated constant within the definition of a trait. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Const(TraitItemConst { - pub attrs: Vec, - pub const_token: Token![const], - pub ident: Ident, - pub colon_token: Token![:], - pub ty: Type, - pub default: Option<(Token![=], Expr)>, - pub semi_token: Token![;], - }), - - /// A trait method within the definition of a trait. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Method(TraitItemMethod { - pub attrs: Vec, - pub sig: MethodSig, - pub default: Option, - pub semi_token: Option, - }), - - /// An associated type within the definition of a trait. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Type(TraitItemType { - pub attrs: Vec, - pub type_token: Token![type], - pub ident: Ident, - pub generics: Generics, - pub colon_token: Option, - pub bounds: Punctuated, - pub default: Option<(Token![=], Type)>, - pub semi_token: Token![;], - }), - - /// A macro invocation within the definition of a trait. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Macro(TraitItemMacro { - pub attrs: Vec, - pub mac: Macro, - pub semi_token: Option, - }), - - /// Tokens within the definition of a trait not interpreted by Syn. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Verbatim(TraitItemVerbatim #manual_extra_traits { - pub tts: TokenStream, - }), - } -} - -#[cfg(feature = "extra-traits")] -impl Eq for TraitItemVerbatim {} - -#[cfg(feature = "extra-traits")] -impl PartialEq for TraitItemVerbatim { - fn eq(&self, other: &Self) -> bool { - TokenStreamHelper(&self.tts) == TokenStreamHelper(&other.tts) - } -} - -#[cfg(feature = "extra-traits")] -impl Hash for TraitItemVerbatim { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - TokenStreamHelper(&self.tts).hash(state); - } -} - -ast_enum_of_structs! { - /// An item within an impl block. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - /// - /// # Syntax tree enum - /// - /// This type is a [syntax tree enum]. - /// - /// [syntax tree enum]: enum.Expr.html#syntax-tree-enums - pub enum ImplItem { - /// An associated constant within an impl block. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Const(ImplItemConst { - pub attrs: Vec, - pub vis: Visibility, - pub defaultness: Option, - pub const_token: Token![const], - pub ident: Ident, - pub colon_token: Token![:], - pub ty: Type, - pub eq_token: Token![=], - pub expr: Expr, - pub semi_token: Token![;], - }), - - /// A method within an impl block. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Method(ImplItemMethod { - pub attrs: Vec, - pub vis: Visibility, - pub defaultness: Option, - pub sig: MethodSig, - pub block: Block, - }), - - /// An associated type within an impl block. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Type(ImplItemType { - pub attrs: Vec, - pub vis: Visibility, - pub defaultness: Option, - pub type_token: Token![type], - pub ident: Ident, - pub generics: Generics, - pub eq_token: Token![=], - pub ty: Type, - pub semi_token: Token![;], - }), - - /// An existential type within an impl block. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Existential(ImplItemExistential { - pub attrs: Vec, - pub existential_token: Token![existential], - pub type_token: Token![type], - pub ident: Ident, - pub generics: Generics, - pub colon_token: Option, - pub bounds: Punctuated, - pub semi_token: Token![;], - }), - - /// A macro invocation within an impl block. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Macro(ImplItemMacro { - pub attrs: Vec, - pub mac: Macro, - pub semi_token: Option, - }), - - /// Tokens within an impl block not interpreted by Syn. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Verbatim(ImplItemVerbatim #manual_extra_traits { - pub tts: TokenStream, - }), - } -} - -#[cfg(feature = "extra-traits")] -impl Eq for ImplItemVerbatim {} - -#[cfg(feature = "extra-traits")] -impl PartialEq for ImplItemVerbatim { - fn eq(&self, other: &Self) -> bool { - TokenStreamHelper(&self.tts) == TokenStreamHelper(&other.tts) - } -} - -#[cfg(feature = "extra-traits")] -impl Hash for ImplItemVerbatim { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - TokenStreamHelper(&self.tts).hash(state); - } -} - -ast_struct! { - /// A method's signature in a trait or implementation: `unsafe fn - /// initialize(&self)`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub struct MethodSig { - pub constness: Option, - pub unsafety: Option, - pub asyncness: Option, - pub abi: Option, - pub ident: Ident, - pub decl: FnDecl, - } -} - -ast_struct! { - /// Header of a function declaration, without including the body. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub struct FnDecl { - pub fn_token: Token![fn], - pub generics: Generics, - pub paren_token: token::Paren, - pub inputs: Punctuated, - pub variadic: Option, - pub output: ReturnType, - } -} - -ast_enum_of_structs! { - /// An argument in a function signature: the `n: usize` in `fn f(n: usize)`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - /// - /// # Syntax tree enum - /// - /// This type is a [syntax tree enum]. - /// - /// [syntax tree enum]: enum.Expr.html#syntax-tree-enums - pub enum FnArg { - /// Self captured by reference in a function signature: `&self` or `&mut - /// self`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub SelfRef(ArgSelfRef { - pub and_token: Token![&], - pub lifetime: Option, - pub mutability: Option, - pub self_token: Token![self], - }), - - /// Self captured by value in a function signature: `self` or `mut - /// self`. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub SelfValue(ArgSelf { - pub mutability: Option, - pub self_token: Token![self], - }), - - /// An explicitly typed pattern captured by a function signature. - /// - /// *This type is available if Syn is built with the `"full"` feature.* - pub Captured(ArgCaptured { - pub pat: Pat, - pub colon_token: Token![:], - pub ty: Type, - }), - - /// A pattern whose type is inferred captured by a function signature. - pub Inferred(Pat), - /// A type not bound to any pattern in a function signature. - pub Ignored(Type), - } -} - -#[cfg(feature = "parsing")] -pub mod parsing { - use super::*; - - use ext::IdentExt; - use parse::{Parse, ParseStream, Result}; - use proc_macro2::{Punct, Spacing, TokenTree}; - use std::iter::FromIterator; - - impl Parse for Item { - fn parse(input: ParseStream) -> Result { - let ahead = input.fork(); - ahead.call(Attribute::parse_outer)?; - let vis: Visibility = ahead.parse()?; - - let lookahead = ahead.lookahead1(); - if lookahead.peek(Token![extern]) { - ahead.parse::()?; - let lookahead = ahead.lookahead1(); - if lookahead.peek(Token![crate]) { - input.parse().map(Item::ExternCrate) - } else if lookahead.peek(Token![fn]) { - input.parse().map(Item::Fn) - } else if lookahead.peek(token::Brace) { - input.parse().map(Item::ForeignMod) - } else if lookahead.peek(LitStr) { - ahead.parse::()?; - let lookahead = ahead.lookahead1(); - if lookahead.peek(token::Brace) { - input.parse().map(Item::ForeignMod) - } else if lookahead.peek(Token![fn]) { - input.parse().map(Item::Fn) - } else { - Err(lookahead.error()) - } - } else { - Err(lookahead.error()) - } - } else if lookahead.peek(Token![use]) { - input.parse().map(Item::Use) - } else if lookahead.peek(Token![static]) { - input.parse().map(Item::Static) - } else if lookahead.peek(Token![const]) { - ahead.parse::()?; - let lookahead = ahead.lookahead1(); - if lookahead.peek(Ident) || lookahead.peek(Token![_]) { - input.parse().map(Item::Const) - } else if lookahead.peek(Token![unsafe]) - || lookahead.peek(Token![async]) - || lookahead.peek(Token![extern]) - || lookahead.peek(Token![fn]) - { - input.parse().map(Item::Fn) - } else { - Err(lookahead.error()) - } - } else if lookahead.peek(Token![unsafe]) { - ahead.parse::()?; - let lookahead = ahead.lookahead1(); - if lookahead.peek(Token![trait]) - || lookahead.peek(Token![auto]) && ahead.peek2(Token![trait]) - { - input.parse().map(Item::Trait) - } else if lookahead.peek(Token![impl]) { - input.parse().map(Item::Impl) - } else if lookahead.peek(Token![async]) - || lookahead.peek(Token![extern]) - || lookahead.peek(Token![fn]) - { - input.parse().map(Item::Fn) - } else { - Err(lookahead.error()) - } - } else if lookahead.peek(Token![async]) || lookahead.peek(Token![fn]) { - input.parse().map(Item::Fn) - } else if lookahead.peek(Token![mod]) { - input.parse().map(Item::Mod) - } else if lookahead.peek(Token![type]) { - input.parse().map(Item::Type) - } else if lookahead.peek(Token![existential]) { - input.parse().map(Item::Existential) - } else if lookahead.peek(Token![struct]) { - input.parse().map(Item::Struct) - } else if lookahead.peek(Token![enum]) { - input.parse().map(Item::Enum) - } else if lookahead.peek(Token![union]) && ahead.peek2(Ident) { - input.parse().map(Item::Union) - } else if lookahead.peek(Token![trait]) { - input.call(parse_trait_or_trait_alias) - } else if lookahead.peek(Token![auto]) && ahead.peek2(Token![trait]) { - input.parse().map(Item::Trait) - } else if lookahead.peek(Token![impl]) - || lookahead.peek(Token![default]) && !ahead.peek2(Token![!]) - { - input.parse().map(Item::Impl) - } else if lookahead.peek(Token![macro]) { - input.parse().map(Item::Macro2) - } else if vis.is_inherited() - && (lookahead.peek(Ident) - || lookahead.peek(Token![self]) - || lookahead.peek(Token![super]) - || lookahead.peek(Token![extern]) - || lookahead.peek(Token![crate]) - || lookahead.peek(Token![::])) - { - input.parse().map(Item::Macro) - } else { - Err(lookahead.error()) - } - } - } - - impl Parse for ItemMacro { - fn parse(input: ParseStream) -> Result { - let attrs = input.call(Attribute::parse_outer)?; - let path = input.call(Path::parse_mod_style)?; - let bang_token: Token![!] = input.parse()?; - let ident: Option = input.parse()?; - let (delimiter, tts) = input.call(mac::parse_delimiter)?; - let semi_token: Option = if !delimiter.is_brace() { - Some(input.parse()?) - } else { - None - }; - Ok(ItemMacro { - attrs: attrs, - ident: ident, - mac: Macro { - path: path, - bang_token: bang_token, - delimiter: delimiter, - tts: tts, - }, - semi_token: semi_token, - }) - } - } - - // TODO: figure out the actual grammar; is body required to be braced? - impl Parse for ItemMacro2 { - fn parse(input: ParseStream) -> Result { - let attrs = input.call(Attribute::parse_outer)?; - let vis: Visibility = input.parse()?; - let macro_token: Token![macro] = input.parse()?; - let ident: Ident = input.parse()?; - - let paren_token; - let args; - let brace_token; - let body; - let lookahead = input.lookahead1(); - if lookahead.peek(token::Paren) { - let paren_content; - paren_token = parenthesized!(paren_content in input); - args = paren_content.parse()?; - - let brace_content; - brace_token = braced!(brace_content in input); - body = brace_content.parse()?; - } else if lookahead.peek(token::Brace) { - // Hack: the ItemMacro2 syntax tree will need to change so that - // we can store None for the args. - // - // https://github.com/dtolnay/syn/issues/548 - // - // For now, store some sentinel tokens that are otherwise - // illegal. - paren_token = token::Paren::default(); - args = TokenStream::from_iter(vec![ - TokenTree::Punct(Punct::new('$', Spacing::Alone)), - TokenTree::Punct(Punct::new('$', Spacing::Alone)), - ]); - - let brace_content; - brace_token = braced!(brace_content in input); - body = brace_content.parse()?; - } else { - return Err(lookahead.error()); - } - - Ok(ItemMacro2 { - attrs: attrs, - vis: vis, - macro_token: macro_token, - ident: ident, - paren_token: paren_token, - args: args, - brace_token: brace_token, - body: body, - }) - } - } - - impl Parse for ItemExternCrate { - fn parse(input: ParseStream) -> Result { - Ok(ItemExternCrate { - attrs: input.call(Attribute::parse_outer)?, - vis: input.parse()?, - extern_token: input.parse()?, - crate_token: input.parse()?, - ident: { - if input.peek(Token![self]) { - input.call(Ident::parse_any)? - } else { - input.parse()? - } - }, - rename: { - if input.peek(Token![as]) { - let as_token: Token![as] = input.parse()?; - let rename: Ident = input.parse()?; - Some((as_token, rename)) - } else { - None - } - }, - semi_token: input.parse()?, - }) - } - } - - impl Parse for ItemUse { - fn parse(input: ParseStream) -> Result { - Ok(ItemUse { - attrs: input.call(Attribute::parse_outer)?, - vis: input.parse()?, - use_token: input.parse()?, - leading_colon: input.parse()?, - tree: input.parse()?, - semi_token: input.parse()?, - }) - } - } - - impl Parse for UseTree { - fn parse(input: ParseStream) -> Result { - let lookahead = input.lookahead1(); - if lookahead.peek(Ident) - || lookahead.peek(Token![self]) - || lookahead.peek(Token![super]) - || lookahead.peek(Token![crate]) - || lookahead.peek(Token![extern]) - { - let ident = input.call(Ident::parse_any)?; - if input.peek(Token![::]) { - Ok(UseTree::Path(UsePath { - ident: ident, - colon2_token: input.parse()?, - tree: Box::new(input.parse()?), - })) - } else if input.peek(Token![as]) { - Ok(UseTree::Rename(UseRename { - ident: ident, - as_token: input.parse()?, - rename: { - if input.peek(Ident) { - input.parse()? - } else if input.peek(Token![_]) { - Ident::from(input.parse::()?) - } else { - return Err(input.error("expected identifier or underscore")); - } - }, - })) - } else { - Ok(UseTree::Name(UseName { ident: ident })) - } - } else if lookahead.peek(Token![*]) { - Ok(UseTree::Glob(UseGlob { - star_token: input.parse()?, - })) - } else if lookahead.peek(token::Brace) { - let content; - Ok(UseTree::Group(UseGroup { - brace_token: braced!(content in input), - items: content.parse_terminated(UseTree::parse)?, - })) - } else { - Err(lookahead.error()) - } - } - } - - impl Parse for ItemStatic { - fn parse(input: ParseStream) -> Result { - Ok(ItemStatic { - attrs: input.call(Attribute::parse_outer)?, - vis: input.parse()?, - static_token: input.parse()?, - mutability: input.parse()?, - ident: input.parse()?, - colon_token: input.parse()?, - ty: input.parse()?, - eq_token: input.parse()?, - expr: input.parse()?, - semi_token: input.parse()?, - }) - } - } - - impl Parse for ItemConst { - fn parse(input: ParseStream) -> Result { - Ok(ItemConst { - attrs: input.call(Attribute::parse_outer)?, - vis: input.parse()?, - const_token: input.parse()?, - ident: { - let lookahead = input.lookahead1(); - if lookahead.peek(Ident) || lookahead.peek(Token![_]) { - input.call(Ident::parse_any)? - } else { - return Err(lookahead.error()); - } - }, - colon_token: input.parse()?, - ty: input.parse()?, - eq_token: input.parse()?, - expr: input.parse()?, - semi_token: input.parse()?, - }) - } - } - - impl Parse for ItemFn { - fn parse(input: ParseStream) -> Result { - let outer_attrs = input.call(Attribute::parse_outer)?; - let vis: Visibility = input.parse()?; - let constness: Option = input.parse()?; - let unsafety: Option = input.parse()?; - let asyncness: Option = input.parse()?; - let abi: Option = input.parse()?; - let fn_token: Token![fn] = input.parse()?; - let ident: Ident = input.parse()?; - let generics: Generics = input.parse()?; - - let content; - let paren_token = parenthesized!(content in input); - let inputs = content.parse_terminated(FnArg::parse)?; - let variadic: Option = match inputs.last() { - Some(punctuated::Pair::End(&FnArg::Captured(ArgCaptured { - ty: Type::Verbatim(TypeVerbatim { ref tts }), - .. - }))) => parse2(tts.clone()).ok(), - _ => None, - }; - - let output: ReturnType = input.parse()?; - let where_clause: Option = input.parse()?; - - let content; - let brace_token = braced!(content in input); - let inner_attrs = content.call(Attribute::parse_inner)?; - let stmts = content.call(Block::parse_within)?; - - Ok(ItemFn { - attrs: private::attrs(outer_attrs, inner_attrs), - vis: vis, - constness: constness, - unsafety: unsafety, - asyncness: asyncness, - abi: abi, - ident: ident, - decl: Box::new(FnDecl { - fn_token: fn_token, - paren_token: paren_token, - inputs: inputs, - output: output, - variadic: variadic, - generics: Generics { - where_clause: where_clause, - ..generics - }, - }), - block: Box::new(Block { - brace_token: brace_token, - stmts: stmts, - }), - }) - } - } - - impl Parse for FnArg { - fn parse(input: ParseStream) -> Result { - if input.peek(Token![&]) { - let ahead = input.fork(); - if ahead.call(arg_self_ref).is_ok() && !ahead.peek(Token![:]) { - return input.call(arg_self_ref).map(FnArg::SelfRef); - } - } - - if input.peek(Token![mut]) || input.peek(Token![self]) { - let ahead = input.fork(); - if ahead.call(arg_self).is_ok() && !ahead.peek(Token![:]) { - return input.call(arg_self).map(FnArg::SelfValue); - } - } - - let ahead = input.fork(); - let err = match ahead.call(arg_captured) { - Ok(_) => return input.call(arg_captured).map(FnArg::Captured), - Err(err) => err, - }; - - let ahead = input.fork(); - if ahead.parse::().is_ok() { - return input.parse().map(FnArg::Ignored); - } - - Err(err) - } - } - - fn arg_self_ref(input: ParseStream) -> Result { - Ok(ArgSelfRef { - and_token: input.parse()?, - lifetime: input.parse()?, - mutability: input.parse()?, - self_token: input.parse()?, - }) - } - - fn arg_self(input: ParseStream) -> Result { - Ok(ArgSelf { - mutability: input.parse()?, - self_token: input.parse()?, - }) - } - - fn arg_captured(input: ParseStream) -> Result { - Ok(ArgCaptured { - pat: input.parse()?, - colon_token: input.parse()?, - ty: match input.parse::() { - Ok(dot3) => { - let args = vec![ - TokenTree::Punct(Punct::new('.', Spacing::Joint)), - TokenTree::Punct(Punct::new('.', Spacing::Joint)), - TokenTree::Punct(Punct::new('.', Spacing::Alone)), - ]; - let tokens = TokenStream::from_iter(args.into_iter().zip(&dot3.spans).map( - |(mut arg, span)| { - arg.set_span(*span); - arg - }, - )); - Type::Verbatim(TypeVerbatim { tts: tokens }) - } - Err(_) => input.parse()?, - }, - }) - } - - impl Parse for ItemMod { - fn parse(input: ParseStream) -> Result { - let outer_attrs = input.call(Attribute::parse_outer)?; - let vis: Visibility = input.parse()?; - let mod_token: Token![mod] = input.parse()?; - let ident: Ident = input.parse()?; - - let lookahead = input.lookahead1(); - if lookahead.peek(Token![;]) { - Ok(ItemMod { - attrs: outer_attrs, - vis: vis, - mod_token: mod_token, - ident: ident, - content: None, - semi: Some(input.parse()?), - }) - } else if lookahead.peek(token::Brace) { - let content; - let brace_token = braced!(content in input); - let inner_attrs = content.call(Attribute::parse_inner)?; - - let mut items = Vec::new(); - while !content.is_empty() { - items.push(content.parse()?); - } - - Ok(ItemMod { - attrs: private::attrs(outer_attrs, inner_attrs), - vis: vis, - mod_token: mod_token, - ident: ident, - content: Some((brace_token, items)), - semi: None, - }) - } else { - Err(lookahead.error()) - } - } - } - - impl Parse for ItemForeignMod { - fn parse(input: ParseStream) -> Result { - let outer_attrs = input.call(Attribute::parse_outer)?; - let abi: Abi = input.parse()?; - - let content; - let brace_token = braced!(content in input); - let inner_attrs = content.call(Attribute::parse_inner)?; - let mut items = Vec::new(); - while !content.is_empty() { - items.push(content.parse()?); - } - - Ok(ItemForeignMod { - attrs: private::attrs(outer_attrs, inner_attrs), - abi: abi, - brace_token: brace_token, - items: items, - }) - } - } - - impl Parse for ForeignItem { - fn parse(input: ParseStream) -> Result { - let ahead = input.fork(); - ahead.call(Attribute::parse_outer)?; - let vis: Visibility = ahead.parse()?; - - let lookahead = ahead.lookahead1(); - if lookahead.peek(Token![fn]) { - input.parse().map(ForeignItem::Fn) - } else if lookahead.peek(Token![static]) { - input.parse().map(ForeignItem::Static) - } else if lookahead.peek(Token![type]) { - input.parse().map(ForeignItem::Type) - } else if vis.is_inherited() - && (lookahead.peek(Ident) - || lookahead.peek(Token![self]) - || lookahead.peek(Token![super]) - || lookahead.peek(Token![extern]) - || lookahead.peek(Token![crate]) - || lookahead.peek(Token![::])) - { - input.parse().map(ForeignItem::Macro) - } else { - Err(lookahead.error()) - } - } - } - - impl Parse for ForeignItemFn { - fn parse(input: ParseStream) -> Result { - let attrs = input.call(Attribute::parse_outer)?; - let vis: Visibility = input.parse()?; - let fn_token: Token![fn] = input.parse()?; - let ident: Ident = input.parse()?; - let generics: Generics = input.parse()?; - - let content; - let paren_token = parenthesized!(content in input); - let mut inputs = Punctuated::new(); - while !content.is_empty() && !content.peek(Token![...]) { - inputs.push_value(content.parse()?); - if content.is_empty() { - break; - } - inputs.push_punct(content.parse()?); - } - let variadic: Option = if inputs.empty_or_trailing() { - content.parse()? - } else { - None - }; - - let output: ReturnType = input.parse()?; - let where_clause: Option = input.parse()?; - let semi_token: Token![;] = input.parse()?; - - Ok(ForeignItemFn { - attrs: attrs, - vis: vis, - ident: ident, - decl: Box::new(FnDecl { - fn_token: fn_token, - paren_token: paren_token, - inputs: inputs, - output: output, - variadic: variadic, - generics: Generics { - where_clause: where_clause, - ..generics - }, - }), - semi_token: semi_token, - }) - } - } - - impl Parse for ForeignItemStatic { - fn parse(input: ParseStream) -> Result { - Ok(ForeignItemStatic { - attrs: input.call(Attribute::parse_outer)?, - vis: input.parse()?, - static_token: input.parse()?, - mutability: input.parse()?, - ident: input.parse()?, - colon_token: input.parse()?, - ty: input.parse()?, - semi_token: input.parse()?, - }) - } - } - - impl Parse for ForeignItemType { - fn parse(input: ParseStream) -> Result { - Ok(ForeignItemType { - attrs: input.call(Attribute::parse_outer)?, - vis: input.parse()?, - type_token: input.parse()?, - ident: input.parse()?, - semi_token: input.parse()?, - }) - } - } - - impl Parse for ForeignItemMacro { - fn parse(input: ParseStream) -> Result { - let attrs = input.call(Attribute::parse_outer)?; - let mac: Macro = input.parse()?; - let semi_token: Option = if mac.delimiter.is_brace() { - None - } else { - Some(input.parse()?) - }; - Ok(ForeignItemMacro { - attrs: attrs, - mac: mac, - semi_token: semi_token, - }) - } - } - - impl Parse for ItemType { - fn parse(input: ParseStream) -> Result { - Ok(ItemType { - attrs: input.call(Attribute::parse_outer)?, - vis: input.parse()?, - type_token: input.parse()?, - ident: input.parse()?, - generics: { - let mut generics: Generics = input.parse()?; - generics.where_clause = input.parse()?; - generics - }, - eq_token: input.parse()?, - ty: input.parse()?, - semi_token: input.parse()?, - }) - } - } - - impl Parse for ItemExistential { - fn parse(input: ParseStream) -> Result { - Ok(ItemExistential { - attrs: input.call(Attribute::parse_outer)?, - vis: input.parse()?, - existential_token: input.parse()?, - type_token: input.parse()?, - ident: input.parse()?, - generics: { - let mut generics: Generics = input.parse()?; - generics.where_clause = input.parse()?; - generics - }, - colon_token: Some(input.parse()?), - bounds: { - let mut bounds = Punctuated::new(); - while !input.peek(Token![;]) { - if !bounds.is_empty() { - bounds.push_punct(input.parse()?); - } - bounds.push_value(input.parse()?); - } - bounds - }, - semi_token: input.parse()?, - }) - } - } - - impl Parse for ItemStruct { - fn parse(input: ParseStream) -> Result { - let attrs = input.call(Attribute::parse_outer)?; - let vis = input.parse::()?; - let struct_token = input.parse::()?; - let ident = input.parse::()?; - let generics = input.parse::()?; - let (where_clause, fields, semi_token) = derive::parsing::data_struct(input)?; - Ok(ItemStruct { - attrs: attrs, - vis: vis, - struct_token: struct_token, - ident: ident, - generics: Generics { - where_clause: where_clause, - ..generics - }, - fields: fields, - semi_token: semi_token, - }) - } - } - - impl Parse for ItemEnum { - fn parse(input: ParseStream) -> Result { - let attrs = input.call(Attribute::parse_outer)?; - let vis = input.parse::()?; - let enum_token = input.parse::()?; - let ident = input.parse::()?; - let generics = input.parse::()?; - let (where_clause, brace_token, variants) = derive::parsing::data_enum(input)?; - Ok(ItemEnum { - attrs: attrs, - vis: vis, - enum_token: enum_token, - ident: ident, - generics: Generics { - where_clause: where_clause, - ..generics - }, - brace_token: brace_token, - variants: variants, - }) - } - } - - impl Parse for ItemUnion { - fn parse(input: ParseStream) -> Result { - let attrs = input.call(Attribute::parse_outer)?; - let vis = input.parse::()?; - let union_token = input.parse::()?; - let ident = input.parse::()?; - let generics = input.parse::()?; - let (where_clause, fields) = derive::parsing::data_union(input)?; - Ok(ItemUnion { - attrs: attrs, - vis: vis, - union_token: union_token, - ident: ident, - generics: Generics { - where_clause: where_clause, - ..generics - }, - fields: fields, - }) - } - } - - fn parse_trait_or_trait_alias(input: ParseStream) -> Result { - let (attrs, vis, trait_token, ident, generics) = parse_start_of_trait_alias(input)?; - let lookahead = input.lookahead1(); - if lookahead.peek(token::Brace) - || lookahead.peek(Token![:]) - || lookahead.peek(Token![where]) - { - let unsafety = None; - let auto_token = None; - parse_rest_of_trait( - input, - attrs, - vis, - unsafety, - auto_token, - trait_token, - ident, - generics, - ) - .map(Item::Trait) - } else if lookahead.peek(Token![=]) { - parse_rest_of_trait_alias(input, attrs, vis, trait_token, ident, generics) - .map(Item::TraitAlias) - } else { - Err(lookahead.error()) - } - } - - impl Parse for ItemTrait { - fn parse(input: ParseStream) -> Result { - let attrs = input.call(Attribute::parse_outer)?; - let vis: Visibility = input.parse()?; - let unsafety: Option = input.parse()?; - let auto_token: Option = input.parse()?; - let trait_token: Token![trait] = input.parse()?; - let ident: Ident = input.parse()?; - let generics: Generics = input.parse()?; - parse_rest_of_trait( - input, - attrs, - vis, - unsafety, - auto_token, - trait_token, - ident, - generics, - ) - } - } - - fn parse_rest_of_trait( - input: ParseStream, - attrs: Vec, - vis: Visibility, - unsafety: Option, - auto_token: Option, - trait_token: Token![trait], - ident: Ident, - mut generics: Generics, - ) -> Result { - let colon_token: Option = input.parse()?; - - let mut supertraits = Punctuated::new(); - if colon_token.is_some() { - loop { - supertraits.push_value(input.parse()?); - if input.peek(Token![where]) || input.peek(token::Brace) { - break; - } - supertraits.push_punct(input.parse()?); - if input.peek(Token![where]) || input.peek(token::Brace) { - break; - } - } - } - - generics.where_clause = input.parse()?; - - let content; - let brace_token = braced!(content in input); - let mut items = Vec::new(); - while !content.is_empty() { - items.push(content.parse()?); - } - - Ok(ItemTrait { - attrs: attrs, - vis: vis, - unsafety: unsafety, - auto_token: auto_token, - trait_token: trait_token, - ident: ident, - generics: generics, - colon_token: colon_token, - supertraits: supertraits, - brace_token: brace_token, - items: items, - }) - } - - impl Parse for ItemTraitAlias { - fn parse(input: ParseStream) -> Result { - let (attrs, vis, trait_token, ident, generics) = parse_start_of_trait_alias(input)?; - parse_rest_of_trait_alias(input, attrs, vis, trait_token, ident, generics) - } - } - - fn parse_start_of_trait_alias( - input: ParseStream, - ) -> Result<(Vec, Visibility, Token![trait], Ident, Generics)> { - let attrs = input.call(Attribute::parse_outer)?; - let vis: Visibility = input.parse()?; - let trait_token: Token![trait] = input.parse()?; - let ident: Ident = input.parse()?; - let generics: Generics = input.parse()?; - Ok((attrs, vis, trait_token, ident, generics)) - } - - fn parse_rest_of_trait_alias( - input: ParseStream, - attrs: Vec, - vis: Visibility, - trait_token: Token![trait], - ident: Ident, - mut generics: Generics, - ) -> Result { - let eq_token: Token![=] = input.parse()?; - - let mut bounds = Punctuated::new(); - loop { - if input.peek(Token![where]) || input.peek(Token![;]) { - break; - } - bounds.push_value(input.parse()?); - if input.peek(Token![where]) || input.peek(Token![;]) { - break; - } - bounds.push_punct(input.parse()?); - } - - generics.where_clause = input.parse()?; - let semi_token: Token![;] = input.parse()?; - - Ok(ItemTraitAlias { - attrs: attrs, - vis: vis, - trait_token: trait_token, - ident: ident, - generics: generics, - eq_token: eq_token, - bounds: bounds, - semi_token: semi_token, - }) - } - - impl Parse for TraitItem { - fn parse(input: ParseStream) -> Result { - let ahead = input.fork(); - ahead.call(Attribute::parse_outer)?; - - let lookahead = ahead.lookahead1(); - if lookahead.peek(Token![const]) { - ahead.parse::()?; - let lookahead = ahead.lookahead1(); - if lookahead.peek(Ident) { - input.parse().map(TraitItem::Const) - } else if lookahead.peek(Token![unsafe]) - || lookahead.peek(Token![extern]) - || lookahead.peek(Token![fn]) - { - input.parse().map(TraitItem::Method) - } else { - Err(lookahead.error()) - } - } else if lookahead.peek(Token![unsafe]) - || lookahead.peek(Token![extern]) - || lookahead.peek(Token![fn]) - { - input.parse().map(TraitItem::Method) - } else if lookahead.peek(Token![type]) { - input.parse().map(TraitItem::Type) - } else if lookahead.peek(Ident) - || lookahead.peek(Token![self]) - || lookahead.peek(Token![super]) - || lookahead.peek(Token![extern]) - || lookahead.peek(Token![crate]) - || lookahead.peek(Token![::]) - { - input.parse().map(TraitItem::Macro) - } else { - Err(lookahead.error()) - } - } - } - - impl Parse for TraitItemConst { - fn parse(input: ParseStream) -> Result { - Ok(TraitItemConst { - attrs: input.call(Attribute::parse_outer)?, - const_token: input.parse()?, - ident: input.parse()?, - colon_token: input.parse()?, - ty: input.parse()?, - default: { - if input.peek(Token![=]) { - let eq_token: Token![=] = input.parse()?; - let default: Expr = input.parse()?; - Some((eq_token, default)) - } else { - None - } - }, - semi_token: input.parse()?, - }) - } - } - - impl Parse for TraitItemMethod { - fn parse(input: ParseStream) -> Result { - let outer_attrs = input.call(Attribute::parse_outer)?; - let constness: Option = input.parse()?; - let unsafety: Option = input.parse()?; - let abi: Option = input.parse()?; - let fn_token: Token![fn] = input.parse()?; - let ident: Ident = input.parse()?; - let generics: Generics = input.parse()?; - - let content; - let paren_token = parenthesized!(content in input); - let inputs = content.parse_terminated(FnArg::parse)?; - - let output: ReturnType = input.parse()?; - let where_clause: Option = input.parse()?; - - let lookahead = input.lookahead1(); - let (brace_token, inner_attrs, stmts, semi_token) = if lookahead.peek(token::Brace) { - let content; - let brace_token = braced!(content in input); - let inner_attrs = content.call(Attribute::parse_inner)?; - let stmts = content.call(Block::parse_within)?; - (Some(brace_token), inner_attrs, stmts, None) - } else if lookahead.peek(Token![;]) { - let semi_token: Token![;] = input.parse()?; - (None, Vec::new(), Vec::new(), Some(semi_token)) - } else { - return Err(lookahead.error()); - }; - - Ok(TraitItemMethod { - attrs: private::attrs(outer_attrs, inner_attrs), - sig: MethodSig { - constness: constness, - unsafety: unsafety, - asyncness: None, - abi: abi, - ident: ident, - decl: FnDecl { - fn_token: fn_token, - paren_token: paren_token, - inputs: inputs, - output: output, - variadic: None, - generics: Generics { - where_clause: where_clause, - ..generics - }, - }, - }, - default: brace_token.map(|brace_token| Block { - brace_token: brace_token, - stmts: stmts, - }), - semi_token: semi_token, - }) - } - } - - impl Parse for TraitItemType { - fn parse(input: ParseStream) -> Result { - let attrs = input.call(Attribute::parse_outer)?; - let type_token: Token![type] = input.parse()?; - let ident: Ident = input.parse()?; - let mut generics: Generics = input.parse()?; - let colon_token: Option = input.parse()?; - - let mut bounds = Punctuated::new(); - if colon_token.is_some() { - while !input.peek(Token![where]) && !input.peek(Token![=]) && !input.peek(Token![;]) - { - if !bounds.is_empty() { - bounds.push_punct(input.parse()?); - } - bounds.push_value(input.parse()?); - } - } - - generics.where_clause = input.parse()?; - let default = if input.peek(Token![=]) { - let eq_token: Token![=] = input.parse()?; - let default: Type = input.parse()?; - Some((eq_token, default)) - } else { - None - }; - let semi_token: Token![;] = input.parse()?; - - Ok(TraitItemType { - attrs: attrs, - type_token: type_token, - ident: ident, - generics: generics, - colon_token: colon_token, - bounds: bounds, - default: default, - semi_token: semi_token, - }) - } - } - - impl Parse for TraitItemMacro { - fn parse(input: ParseStream) -> Result { - let attrs = input.call(Attribute::parse_outer)?; - let mac: Macro = input.parse()?; - let semi_token: Option = if mac.delimiter.is_brace() { - None - } else { - Some(input.parse()?) - }; - Ok(TraitItemMacro { - attrs: attrs, - mac: mac, - semi_token: semi_token, - }) - } - } - - impl Parse for ItemImpl { - fn parse(input: ParseStream) -> Result { - let outer_attrs = input.call(Attribute::parse_outer)?; - let defaultness: Option = input.parse()?; - let unsafety: Option = input.parse()?; - let impl_token: Token![impl] = input.parse()?; - - let has_generics = input.peek(Token![<]) - && (input.peek2(Token![>]) - || input.peek2(Token![#]) - || (input.peek2(Ident) || input.peek2(Lifetime)) - && (input.peek3(Token![:]) - || input.peek3(Token![,]) - || input.peek3(Token![>]))); - let generics: Generics = if has_generics { - input.parse()? - } else { - Generics::default() - }; - - let trait_ = { - let ahead = input.fork(); - if ahead.parse::>().is_ok() - && ahead.parse::().is_ok() - && ahead.parse::().is_ok() - { - let polarity: Option = input.parse()?; - let path: Path = input.parse()?; - let for_token: Token![for] = input.parse()?; - Some((polarity, path, for_token)) - } else { - None - } - }; - let self_ty: Type = input.parse()?; - let where_clause: Option = input.parse()?; - - let content; - let brace_token = braced!(content in input); - let inner_attrs = content.call(Attribute::parse_inner)?; - - let mut items = Vec::new(); - while !content.is_empty() { - items.push(content.parse()?); - } - - Ok(ItemImpl { - attrs: private::attrs(outer_attrs, inner_attrs), - defaultness: defaultness, - unsafety: unsafety, - impl_token: impl_token, - generics: Generics { - where_clause: where_clause, - ..generics - }, - trait_: trait_, - self_ty: Box::new(self_ty), - brace_token: brace_token, - items: items, - }) - } - } - - impl Parse for ImplItem { - fn parse(input: ParseStream) -> Result { - let ahead = input.fork(); - ahead.call(Attribute::parse_outer)?; - let vis: Visibility = ahead.parse()?; - - let mut lookahead = ahead.lookahead1(); - let defaultness = if lookahead.peek(Token![default]) && !ahead.peek2(Token![!]) { - let defaultness: Token![default] = ahead.parse()?; - lookahead = ahead.lookahead1(); - Some(defaultness) - } else { - None - }; - - if lookahead.peek(Token![const]) { - ahead.parse::()?; - let lookahead = ahead.lookahead1(); - if lookahead.peek(Ident) { - input.parse().map(ImplItem::Const) - } else if lookahead.peek(Token![unsafe]) - || lookahead.peek(Token![async]) - || lookahead.peek(Token![extern]) - || lookahead.peek(Token![fn]) - { - input.parse().map(ImplItem::Method) - } else { - Err(lookahead.error()) - } - } else if lookahead.peek(Token![unsafe]) - || lookahead.peek(Token![async]) - || lookahead.peek(Token![extern]) - || lookahead.peek(Token![fn]) - { - input.parse().map(ImplItem::Method) - } else if lookahead.peek(Token![type]) { - input.parse().map(ImplItem::Type) - } else if vis.is_inherited() - && defaultness.is_none() - && lookahead.peek(Token![existential]) - { - input.parse().map(ImplItem::Existential) - } else if vis.is_inherited() - && defaultness.is_none() - && (lookahead.peek(Ident) - || lookahead.peek(Token![self]) - || lookahead.peek(Token![super]) - || lookahead.peek(Token![extern]) - || lookahead.peek(Token![crate]) - || lookahead.peek(Token![::])) - { - input.parse().map(ImplItem::Macro) - } else { - Err(lookahead.error()) - } - } - } - - impl Parse for ImplItemConst { - fn parse(input: ParseStream) -> Result { - Ok(ImplItemConst { - attrs: input.call(Attribute::parse_outer)?, - vis: input.parse()?, - defaultness: input.parse()?, - const_token: input.parse()?, - ident: input.parse()?, - colon_token: input.parse()?, - ty: input.parse()?, - eq_token: input.parse()?, - expr: input.parse()?, - semi_token: input.parse()?, - }) - } - } - - impl Parse for ImplItemMethod { - fn parse(input: ParseStream) -> Result { - let outer_attrs = input.call(Attribute::parse_outer)?; - let vis: Visibility = input.parse()?; - let defaultness: Option = input.parse()?; - let constness: Option = input.parse()?; - let unsafety: Option = input.parse()?; - let asyncness: Option = input.parse()?; - let abi: Option = input.parse()?; - let fn_token: Token![fn] = input.parse()?; - let ident: Ident = input.parse()?; - let generics: Generics = input.parse()?; - - let content; - let paren_token = parenthesized!(content in input); - let inputs = content.parse_terminated(FnArg::parse)?; - - let output: ReturnType = input.parse()?; - let where_clause: Option = input.parse()?; - - let content; - let brace_token = braced!(content in input); - let inner_attrs = content.call(Attribute::parse_inner)?; - let stmts = content.call(Block::parse_within)?; - - Ok(ImplItemMethod { - attrs: private::attrs(outer_attrs, inner_attrs), - vis: vis, - defaultness: defaultness, - sig: MethodSig { - constness: constness, - unsafety: unsafety, - asyncness: asyncness, - abi: abi, - ident: ident, - decl: FnDecl { - fn_token: fn_token, - paren_token: paren_token, - inputs: inputs, - output: output, - variadic: None, - generics: Generics { - where_clause: where_clause, - ..generics - }, - }, - }, - block: Block { - brace_token: brace_token, - stmts: stmts, - }, - }) - } - } - - impl Parse for ImplItemType { - fn parse(input: ParseStream) -> Result { - Ok(ImplItemType { - attrs: input.call(Attribute::parse_outer)?, - vis: input.parse()?, - defaultness: input.parse()?, - type_token: input.parse()?, - ident: input.parse()?, - generics: { - let mut generics: Generics = input.parse()?; - generics.where_clause = input.parse()?; - generics - }, - eq_token: input.parse()?, - ty: input.parse()?, - semi_token: input.parse()?, - }) - } - } - - impl Parse for ImplItemExistential { - fn parse(input: ParseStream) -> Result { - let ety: ItemExistential = input.parse()?; - Ok(ImplItemExistential { - attrs: ety.attrs, - existential_token: ety.existential_token, - type_token: ety.type_token, - ident: ety.ident, - generics: ety.generics, - colon_token: ety.colon_token, - bounds: ety.bounds, - semi_token: ety.semi_token, - }) - } - } - - impl Parse for ImplItemMacro { - fn parse(input: ParseStream) -> Result { - let attrs = input.call(Attribute::parse_outer)?; - let mac: Macro = input.parse()?; - let semi_token: Option = if mac.delimiter.is_brace() { - None - } else { - Some(input.parse()?) - }; - Ok(ImplItemMacro { - attrs: attrs, - mac: mac, - semi_token: semi_token, - }) - } - } - - impl Visibility { - fn is_inherited(&self) -> bool { - match *self { - Visibility::Inherited => true, - _ => false, - } - } - } - - impl MacroDelimiter { - fn is_brace(&self) -> bool { - match *self { - MacroDelimiter::Brace(_) => true, - MacroDelimiter::Paren(_) | MacroDelimiter::Bracket(_) => false, - } - } - } -} - -#[cfg(feature = "printing")] -mod printing { - use super::*; - - use proc_macro2::TokenStream; - use quote::{ToTokens, TokenStreamExt}; - - use attr::FilterAttrs; - use print::TokensOrDefault; - - impl ToTokens for ItemExternCrate { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.vis.to_tokens(tokens); - self.extern_token.to_tokens(tokens); - self.crate_token.to_tokens(tokens); - self.ident.to_tokens(tokens); - if let Some((ref as_token, ref rename)) = self.rename { - as_token.to_tokens(tokens); - rename.to_tokens(tokens); - } - self.semi_token.to_tokens(tokens); - } - } - - impl ToTokens for ItemUse { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.vis.to_tokens(tokens); - self.use_token.to_tokens(tokens); - self.leading_colon.to_tokens(tokens); - self.tree.to_tokens(tokens); - self.semi_token.to_tokens(tokens); - } - } - - impl ToTokens for ItemStatic { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.vis.to_tokens(tokens); - self.static_token.to_tokens(tokens); - self.mutability.to_tokens(tokens); - self.ident.to_tokens(tokens); - self.colon_token.to_tokens(tokens); - self.ty.to_tokens(tokens); - self.eq_token.to_tokens(tokens); - self.expr.to_tokens(tokens); - self.semi_token.to_tokens(tokens); - } - } - - impl ToTokens for ItemConst { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.vis.to_tokens(tokens); - self.const_token.to_tokens(tokens); - self.ident.to_tokens(tokens); - self.colon_token.to_tokens(tokens); - self.ty.to_tokens(tokens); - self.eq_token.to_tokens(tokens); - self.expr.to_tokens(tokens); - self.semi_token.to_tokens(tokens); - } - } - - impl ToTokens for ItemFn { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.vis.to_tokens(tokens); - self.constness.to_tokens(tokens); - self.unsafety.to_tokens(tokens); - self.asyncness.to_tokens(tokens); - self.abi.to_tokens(tokens); - NamedDecl(&self.decl, &self.ident).to_tokens(tokens); - self.block.brace_token.surround(tokens, |tokens| { - tokens.append_all(self.attrs.inner()); - tokens.append_all(&self.block.stmts); - }); - } - } - - impl ToTokens for ItemMod { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.vis.to_tokens(tokens); - self.mod_token.to_tokens(tokens); - self.ident.to_tokens(tokens); - if let Some((ref brace, ref items)) = self.content { - brace.surround(tokens, |tokens| { - tokens.append_all(self.attrs.inner()); - tokens.append_all(items); - }); - } else { - TokensOrDefault(&self.semi).to_tokens(tokens); - } - } - } - - impl ToTokens for ItemForeignMod { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.abi.to_tokens(tokens); - self.brace_token.surround(tokens, |tokens| { - tokens.append_all(self.attrs.inner()); - tokens.append_all(&self.items); - }); - } - } - - impl ToTokens for ItemType { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.vis.to_tokens(tokens); - self.type_token.to_tokens(tokens); - self.ident.to_tokens(tokens); - self.generics.to_tokens(tokens); - self.generics.where_clause.to_tokens(tokens); - self.eq_token.to_tokens(tokens); - self.ty.to_tokens(tokens); - self.semi_token.to_tokens(tokens); - } - } - - impl ToTokens for ItemExistential { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.vis.to_tokens(tokens); - self.existential_token.to_tokens(tokens); - self.type_token.to_tokens(tokens); - self.ident.to_tokens(tokens); - self.generics.to_tokens(tokens); - self.generics.where_clause.to_tokens(tokens); - if !self.bounds.is_empty() { - TokensOrDefault(&self.colon_token).to_tokens(tokens); - self.bounds.to_tokens(tokens); - } - self.semi_token.to_tokens(tokens); - } - } - - impl ToTokens for ItemEnum { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.vis.to_tokens(tokens); - self.enum_token.to_tokens(tokens); - self.ident.to_tokens(tokens); - self.generics.to_tokens(tokens); - self.generics.where_clause.to_tokens(tokens); - self.brace_token.surround(tokens, |tokens| { - self.variants.to_tokens(tokens); - }); - } - } - - impl ToTokens for ItemStruct { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.vis.to_tokens(tokens); - self.struct_token.to_tokens(tokens); - self.ident.to_tokens(tokens); - self.generics.to_tokens(tokens); - match self.fields { - Fields::Named(ref fields) => { - self.generics.where_clause.to_tokens(tokens); - fields.to_tokens(tokens); - } - Fields::Unnamed(ref fields) => { - fields.to_tokens(tokens); - self.generics.where_clause.to_tokens(tokens); - TokensOrDefault(&self.semi_token).to_tokens(tokens); - } - Fields::Unit => { - self.generics.where_clause.to_tokens(tokens); - TokensOrDefault(&self.semi_token).to_tokens(tokens); - } - } - } - } - - impl ToTokens for ItemUnion { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.vis.to_tokens(tokens); - self.union_token.to_tokens(tokens); - self.ident.to_tokens(tokens); - self.generics.to_tokens(tokens); - self.generics.where_clause.to_tokens(tokens); - self.fields.to_tokens(tokens); - } - } - - impl ToTokens for ItemTrait { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.vis.to_tokens(tokens); - self.unsafety.to_tokens(tokens); - self.auto_token.to_tokens(tokens); - self.trait_token.to_tokens(tokens); - self.ident.to_tokens(tokens); - self.generics.to_tokens(tokens); - if !self.supertraits.is_empty() { - TokensOrDefault(&self.colon_token).to_tokens(tokens); - self.supertraits.to_tokens(tokens); - } - self.generics.where_clause.to_tokens(tokens); - self.brace_token.surround(tokens, |tokens| { - tokens.append_all(&self.items); - }); - } - } - - impl ToTokens for ItemTraitAlias { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.vis.to_tokens(tokens); - self.trait_token.to_tokens(tokens); - self.ident.to_tokens(tokens); - self.generics.to_tokens(tokens); - self.eq_token.to_tokens(tokens); - self.bounds.to_tokens(tokens); - self.generics.where_clause.to_tokens(tokens); - self.semi_token.to_tokens(tokens); - } - } - - impl ToTokens for ItemImpl { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.defaultness.to_tokens(tokens); - self.unsafety.to_tokens(tokens); - self.impl_token.to_tokens(tokens); - self.generics.to_tokens(tokens); - if let Some((ref polarity, ref path, ref for_token)) = self.trait_ { - polarity.to_tokens(tokens); - path.to_tokens(tokens); - for_token.to_tokens(tokens); - } - self.self_ty.to_tokens(tokens); - self.generics.where_clause.to_tokens(tokens); - self.brace_token.surround(tokens, |tokens| { - tokens.append_all(self.attrs.inner()); - tokens.append_all(&self.items); - }); - } - } - - impl ToTokens for ItemMacro { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.mac.path.to_tokens(tokens); - self.mac.bang_token.to_tokens(tokens); - self.ident.to_tokens(tokens); - match self.mac.delimiter { - MacroDelimiter::Paren(ref paren) => { - paren.surround(tokens, |tokens| self.mac.tts.to_tokens(tokens)); - } - MacroDelimiter::Brace(ref brace) => { - brace.surround(tokens, |tokens| self.mac.tts.to_tokens(tokens)); - } - MacroDelimiter::Bracket(ref bracket) => { - bracket.surround(tokens, |tokens| self.mac.tts.to_tokens(tokens)); - } - } - self.semi_token.to_tokens(tokens); - } - } - - impl ToTokens for ItemMacro2 { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.vis.to_tokens(tokens); - self.macro_token.to_tokens(tokens); - self.ident.to_tokens(tokens); - - // Hack: see comment in impl Parse for ItemMacro2. - if self.args.to_string() != "$ $" { - self.paren_token.surround(tokens, |tokens| { - self.args.to_tokens(tokens); - }); - } - - self.brace_token.surround(tokens, |tokens| { - self.body.to_tokens(tokens); - }); - } - } - - impl ToTokens for ItemVerbatim { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.tts.to_tokens(tokens); - } - } - - impl ToTokens for UsePath { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.ident.to_tokens(tokens); - self.colon2_token.to_tokens(tokens); - self.tree.to_tokens(tokens); - } - } - - impl ToTokens for UseName { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.ident.to_tokens(tokens); - } - } - - impl ToTokens for UseRename { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.ident.to_tokens(tokens); - self.as_token.to_tokens(tokens); - self.rename.to_tokens(tokens); - } - } - - impl ToTokens for UseGlob { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.star_token.to_tokens(tokens); - } - } - - impl ToTokens for UseGroup { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.brace_token.surround(tokens, |tokens| { - self.items.to_tokens(tokens); - }); - } - } - - impl ToTokens for TraitItemConst { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.const_token.to_tokens(tokens); - self.ident.to_tokens(tokens); - self.colon_token.to_tokens(tokens); - self.ty.to_tokens(tokens); - if let Some((ref eq_token, ref default)) = self.default { - eq_token.to_tokens(tokens); - default.to_tokens(tokens); - } - self.semi_token.to_tokens(tokens); - } - } - - impl ToTokens for TraitItemMethod { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.sig.to_tokens(tokens); - match self.default { - Some(ref block) => { - block.brace_token.surround(tokens, |tokens| { - tokens.append_all(self.attrs.inner()); - tokens.append_all(&block.stmts); - }); - } - None => { - TokensOrDefault(&self.semi_token).to_tokens(tokens); - } - } - } - } - - impl ToTokens for TraitItemType { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.type_token.to_tokens(tokens); - self.ident.to_tokens(tokens); - self.generics.to_tokens(tokens); - if !self.bounds.is_empty() { - TokensOrDefault(&self.colon_token).to_tokens(tokens); - self.bounds.to_tokens(tokens); - } - self.generics.where_clause.to_tokens(tokens); - if let Some((ref eq_token, ref default)) = self.default { - eq_token.to_tokens(tokens); - default.to_tokens(tokens); - } - self.semi_token.to_tokens(tokens); - } - } - - impl ToTokens for TraitItemMacro { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.mac.to_tokens(tokens); - self.semi_token.to_tokens(tokens); - } - } - - impl ToTokens for TraitItemVerbatim { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.tts.to_tokens(tokens); - } - } - - impl ToTokens for ImplItemConst { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.vis.to_tokens(tokens); - self.defaultness.to_tokens(tokens); - self.const_token.to_tokens(tokens); - self.ident.to_tokens(tokens); - self.colon_token.to_tokens(tokens); - self.ty.to_tokens(tokens); - self.eq_token.to_tokens(tokens); - self.expr.to_tokens(tokens); - self.semi_token.to_tokens(tokens); - } - } - - impl ToTokens for ImplItemMethod { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.vis.to_tokens(tokens); - self.defaultness.to_tokens(tokens); - self.sig.to_tokens(tokens); - self.block.brace_token.surround(tokens, |tokens| { - tokens.append_all(self.attrs.inner()); - tokens.append_all(&self.block.stmts); - }); - } - } - - impl ToTokens for ImplItemType { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.vis.to_tokens(tokens); - self.defaultness.to_tokens(tokens); - self.type_token.to_tokens(tokens); - self.ident.to_tokens(tokens); - self.generics.to_tokens(tokens); - self.generics.where_clause.to_tokens(tokens); - self.eq_token.to_tokens(tokens); - self.ty.to_tokens(tokens); - self.semi_token.to_tokens(tokens); - } - } - - impl ToTokens for ImplItemExistential { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.existential_token.to_tokens(tokens); - self.type_token.to_tokens(tokens); - self.ident.to_tokens(tokens); - self.generics.to_tokens(tokens); - self.generics.where_clause.to_tokens(tokens); - if !self.bounds.is_empty() { - TokensOrDefault(&self.colon_token).to_tokens(tokens); - self.bounds.to_tokens(tokens); - } - self.semi_token.to_tokens(tokens); - } - } - - impl ToTokens for ImplItemMacro { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.mac.to_tokens(tokens); - self.semi_token.to_tokens(tokens); - } - } - - impl ToTokens for ImplItemVerbatim { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.tts.to_tokens(tokens); - } - } - - impl ToTokens for ForeignItemFn { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.vis.to_tokens(tokens); - NamedDecl(&self.decl, &self.ident).to_tokens(tokens); - self.semi_token.to_tokens(tokens); - } - } - - impl ToTokens for ForeignItemStatic { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.vis.to_tokens(tokens); - self.static_token.to_tokens(tokens); - self.mutability.to_tokens(tokens); - self.ident.to_tokens(tokens); - self.colon_token.to_tokens(tokens); - self.ty.to_tokens(tokens); - self.semi_token.to_tokens(tokens); - } - } - - impl ToTokens for ForeignItemType { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.vis.to_tokens(tokens); - self.type_token.to_tokens(tokens); - self.ident.to_tokens(tokens); - self.semi_token.to_tokens(tokens); - } - } - - impl ToTokens for ForeignItemMacro { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.attrs.outer()); - self.mac.to_tokens(tokens); - self.semi_token.to_tokens(tokens); - } - } - - impl ToTokens for ForeignItemVerbatim { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.tts.to_tokens(tokens); - } - } - - impl ToTokens for MethodSig { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.constness.to_tokens(tokens); - self.unsafety.to_tokens(tokens); - self.asyncness.to_tokens(tokens); - self.abi.to_tokens(tokens); - NamedDecl(&self.decl, &self.ident).to_tokens(tokens); - } - } - - struct NamedDecl<'a>(&'a FnDecl, &'a Ident); - - impl<'a> ToTokens for NamedDecl<'a> { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.0.fn_token.to_tokens(tokens); - self.1.to_tokens(tokens); - self.0.generics.to_tokens(tokens); - self.0.paren_token.surround(tokens, |tokens| { - self.0.inputs.to_tokens(tokens); - if self.0.variadic.is_some() && !self.0.inputs.empty_or_trailing() { - ::default().to_tokens(tokens); - } - self.0.variadic.to_tokens(tokens); - }); - self.0.output.to_tokens(tokens); - self.0.generics.where_clause.to_tokens(tokens); - } - } - - impl ToTokens for ArgSelfRef { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.and_token.to_tokens(tokens); - self.lifetime.to_tokens(tokens); - self.mutability.to_tokens(tokens); - self.self_token.to_tokens(tokens); - } - } - - impl ToTokens for ArgSelf { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.mutability.to_tokens(tokens); - self.self_token.to_tokens(tokens); - } - } - - impl ToTokens for ArgCaptured { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.pat.to_tokens(tokens); - self.colon_token.to_tokens(tokens); - self.ty.to_tokens(tokens); - } - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/keyword.rs b/vendor/registry-40351f815f426200/syn/src/keyword.rs deleted file mode 100644 index e69de29bb..000000000 diff --git a/vendor/registry-40351f815f426200/syn/src/lib.rs b/vendor/registry-40351f815f426200/syn/src/lib.rs deleted file mode 100644 index bfd6db871..000000000 --- a/vendor/registry-40351f815f426200/syn/src/lib.rs +++ /dev/null @@ -1,727 +0,0 @@ -//! Syn is a parsing library for parsing a stream of Rust tokens into a syntax -//! tree of Rust source code. -//! -//! Currently this library is geared toward use in Rust procedural macros, but -//! contains some APIs that may be useful more generally. -//! -//! - **Data structures** — Syn provides a complete syntax tree that can -//! represent any valid Rust source code. The syntax tree is rooted at -//! [`syn::File`] which represents a full source file, but there are other -//! entry points that may be useful to procedural macros including -//! [`syn::Item`], [`syn::Expr`] and [`syn::Type`]. -//! -//! - **Custom derives** — Of particular interest to custom derives is -//! [`syn::DeriveInput`] which is any of the three legal input items to a -//! derive macro. An example below shows using this type in a library that can -//! derive implementations of a trait of your own. -//! -//! - **Parsing** — Parsing in Syn is built around [parser functions] with the -//! signature `fn(ParseStream) -> Result`. Every syntax tree node defined -//! by Syn is individually parsable and may be used as a building block for -//! custom syntaxes, or you may dream up your own brand new syntax without -//! involving any of our syntax tree types. -//! -//! - **Location information** — Every token parsed by Syn is associated with a -//! `Span` that tracks line and column information back to the source of that -//! token. These spans allow a procedural macro to display detailed error -//! messages pointing to all the right places in the user's code. There is an -//! example of this below. -//! -//! - **Feature flags** — Functionality is aggressively feature gated so your -//! procedural macros enable only what they need, and do not pay in compile -//! time for all the rest. -//! -//! [`syn::File`]: struct.File.html -//! [`syn::Item`]: enum.Item.html -//! [`syn::Expr`]: enum.Expr.html -//! [`syn::Type`]: enum.Type.html -//! [`syn::DeriveInput`]: struct.DeriveInput.html -//! [parser functions]: parse/index.html -//! -//! *Version requirement: Syn supports any compiler version back to Rust's very -//! first support for procedural macros in Rust 1.15.0. Some features especially -//! around error reporting are only available in newer compilers or on the -//! nightly channel.* -//! -//! ## Example of a custom derive -//! -//! The canonical custom derive using Syn looks like this. We write an ordinary -//! Rust function tagged with a `proc_macro_derive` attribute and the name of -//! the trait we are deriving. Any time that derive appears in the user's code, -//! the Rust compiler passes their data structure as tokens into our macro. We -//! get to execute arbitrary Rust code to figure out what to do with those -//! tokens, then hand some tokens back to the compiler to compile into the -//! user's crate. -//! -//! [`TokenStream`]: https://doc.rust-lang.org/proc_macro/struct.TokenStream.html -//! -//! ```toml -//! [dependencies] -//! syn = "0.15" -//! quote = "0.6" -//! -//! [lib] -//! proc-macro = true -//! ``` -//! -//! ```edition2018 -//! extern crate proc_macro; -//! -//! use proc_macro::TokenStream; -//! use quote::quote; -//! use syn::{parse_macro_input, DeriveInput}; -//! -//! # const IGNORE_TOKENS: &str = stringify! { -//! #[proc_macro_derive(MyMacro)] -//! # }; -//! pub fn my_macro(input: TokenStream) -> TokenStream { -//! // Parse the input tokens into a syntax tree -//! let input = parse_macro_input!(input as DeriveInput); -//! -//! // Build the output, possibly using quasi-quotation -//! let expanded = quote! { -//! // ... -//! }; -//! -//! // Hand the output tokens back to the compiler -//! TokenStream::from(expanded) -//! } -//! ``` -//! -//! The [`heapsize`] example directory shows a complete working Macros 1.1 -//! implementation of a custom derive. It works on any Rust compiler 1.15+. -//! The example derives a `HeapSize` trait which computes an estimate of the -//! amount of heap memory owned by a value. -//! -//! [`heapsize`]: https://github.com/dtolnay/syn/tree/master/examples/heapsize -//! -//! ```edition2018 -//! pub trait HeapSize { -//! /// Total number of bytes of heap memory owned by `self`. -//! fn heap_size_of_children(&self) -> usize; -//! } -//! ``` -//! -//! The custom derive allows users to write `#[derive(HeapSize)]` on data -//! structures in their program. -//! -//! ```edition2018 -//! # const IGNORE_TOKENS: &str = stringify! { -//! #[derive(HeapSize)] -//! # }; -//! struct Demo<'a, T: ?Sized> { -//! a: Box, -//! b: u8, -//! c: &'a str, -//! d: String, -//! } -//! ``` -//! -//! ## Spans and error reporting -//! -//! The token-based procedural macro API provides great control over where the -//! compiler's error messages are displayed in user code. Consider the error the -//! user sees if one of their field types does not implement `HeapSize`. -//! -//! ```edition2018 -//! # const IGNORE_TOKENS: &str = stringify! { -//! #[derive(HeapSize)] -//! # }; -//! struct Broken { -//! ok: String, -//! bad: std::thread::Thread, -//! } -//! ``` -//! -//! By tracking span information all the way through the expansion of a -//! procedural macro as shown in the `heapsize` example, token-based macros in -//! Syn are able to trigger errors that directly pinpoint the source of the -//! problem. -//! -//! ```text -//! error[E0277]: the trait bound `std::thread::Thread: HeapSize` is not satisfied -//! --> src/main.rs:7:5 -//! | -//! 7 | bad: std::thread::Thread, -//! | ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `HeapSize` is not implemented for `Thread` -//! ``` -//! -//! ## Parsing a custom syntax -//! -//! The [`lazy-static`] example directory shows the implementation of a -//! `functionlike!(...)` procedural macro in which the input tokens are parsed -//! using Syn's parsing API. -//! -//! [`lazy-static`]: https://github.com/dtolnay/syn/tree/master/examples/lazy-static -//! -//! The example reimplements the popular `lazy_static` crate from crates.io as a -//! procedural macro. -//! -//! ```edition2018 -//! # macro_rules! lazy_static { -//! # ($($tt:tt)*) => {} -//! # } -//! # -//! lazy_static! { -//! static ref USERNAME: Regex = Regex::new("^[a-z0-9_-]{3,16}$").unwrap(); -//! } -//! ``` -//! -//! The implementation shows how to trigger custom warnings and error messages -//! on the macro input. -//! -//! ```text -//! warning: come on, pick a more creative name -//! --> src/main.rs:10:16 -//! | -//! 10 | static ref FOO: String = "lazy_static".to_owned(); -//! | ^^^ -//! ``` -//! -//! ## Debugging -//! -//! When developing a procedural macro it can be helpful to look at what the -//! generated code looks like. Use `cargo rustc -- -Zunstable-options -//! --pretty=expanded` or the [`cargo expand`] subcommand. -//! -//! [`cargo expand`]: https://github.com/dtolnay/cargo-expand -//! -//! To show the expanded code for some crate that uses your procedural macro, -//! run `cargo expand` from that crate. To show the expanded code for one of -//! your own test cases, run `cargo expand --test the_test_case` where the last -//! argument is the name of the test file without the `.rs` extension. -//! -//! This write-up by Brandon W Maister discusses debugging in more detail: -//! [Debugging Rust's new Custom Derive system][debugging]. -//! -//! [debugging]: https://quodlibetor.github.io/posts/debugging-rusts-new-custom-derive-system/ -//! -//! ## Optional features -//! -//! Syn puts a lot of functionality behind optional features in order to -//! optimize compile time for the most common use cases. The following features -//! are available. -//! -//! - **`derive`** *(enabled by default)* — Data structures for representing the -//! possible input to a custom derive, including structs and enums and types. -//! - **`full`** — Data structures for representing the syntax tree of all valid -//! Rust source code, including items and expressions. -//! - **`parsing`** *(enabled by default)* — Ability to parse input tokens into -//! a syntax tree node of a chosen type. -//! - **`printing`** *(enabled by default)* — Ability to print a syntax tree -//! node as tokens of Rust source code. -//! - **`visit`** — Trait for traversing a syntax tree. -//! - **`visit-mut`** — Trait for traversing and mutating in place a syntax -//! tree. -//! - **`fold`** — Trait for transforming an owned syntax tree. -//! - **`clone-impls`** *(enabled by default)* — Clone impls for all syntax tree -//! types. -//! - **`extra-traits`** — Debug, Eq, PartialEq, Hash impls for all syntax tree -//! types. -//! - **`proc-macro`** *(enabled by default)* — Runtime dependency on the -//! dynamic library libproc_macro from rustc toolchain. - -// Syn types in rustdoc of other crates get linked to here. -#![doc(html_root_url = "https://docs.rs/syn/0.15.34")] -#![cfg_attr(feature = "cargo-clippy", allow(renamed_and_removed_lints))] -#![cfg_attr(feature = "cargo-clippy", deny(clippy, clippy_pedantic))] -// Ignored clippy lints. -#![cfg_attr( - feature = "cargo-clippy", - allow( - block_in_if_condition_stmt, - cognitive_complexity, - const_static_lifetime, - deprecated_cfg_attr, - doc_markdown, - eval_order_dependence, - large_enum_variant, - needless_pass_by_value, - never_loop, - redundant_field_names, - too_many_arguments, - ) -)] -// Ignored clippy_pedantic lints. -#![cfg_attr( - feature = "cargo-clippy", - allow( - cast_possible_truncation, - cast_possible_wrap, - empty_enum, - if_not_else, - items_after_statements, - module_name_repetitions, - shadow_unrelated, - similar_names, - single_match_else, - unseparated_literal_suffix, - use_self, - used_underscore_binding, - ) -)] - -#[cfg(all( - not(all(target_arch = "wasm32", target_os = "unknown")), - feature = "proc-macro" -))] -extern crate proc_macro; -extern crate proc_macro2; -extern crate unicode_xid; - -#[cfg(feature = "printing")] -extern crate quote; - -#[macro_use] -mod macros; - -// Not public API. -#[cfg(feature = "parsing")] -#[doc(hidden)] -#[macro_use] -pub mod group; - -#[macro_use] -pub mod token; - -mod ident; -pub use ident::Ident; - -#[cfg(any(feature = "full", feature = "derive"))] -mod attr; -#[cfg(any(feature = "full", feature = "derive"))] -pub use attr::{AttrStyle, Attribute, AttributeArgs, Meta, MetaList, MetaNameValue, NestedMeta}; - -#[cfg(any(feature = "full", feature = "derive"))] -mod data; -#[cfg(any(feature = "full", feature = "derive"))] -pub use data::{ - Field, Fields, FieldsNamed, FieldsUnnamed, Variant, VisCrate, VisPublic, VisRestricted, - Visibility, -}; - -#[cfg(any(feature = "full", feature = "derive"))] -mod expr; -#[cfg(any(feature = "full", feature = "derive"))] -pub use expr::{ - Expr, ExprArray, ExprAssign, ExprAssignOp, ExprAsync, ExprBinary, ExprBlock, ExprBox, - ExprBreak, ExprCall, ExprCast, ExprClosure, ExprContinue, ExprField, ExprForLoop, ExprGroup, - ExprIf, ExprInPlace, ExprIndex, ExprLet, ExprLit, ExprLoop, ExprMacro, ExprMatch, - ExprMethodCall, ExprParen, ExprPath, ExprRange, ExprReference, ExprRepeat, ExprReturn, - ExprStruct, ExprTry, ExprTryBlock, ExprTuple, ExprType, ExprUnary, ExprUnsafe, ExprVerbatim, - ExprWhile, ExprYield, Index, Member, -}; - -#[cfg(feature = "full")] -pub use expr::{ - Arm, Block, FieldPat, FieldValue, GenericMethodArgument, Label, Local, MethodTurbofish, Pat, - PatBox, PatIdent, PatLit, PatMacro, PatPath, PatRange, PatRef, PatSlice, PatStruct, PatTuple, - PatTupleStruct, PatVerbatim, PatWild, RangeLimits, Stmt, -}; - -#[cfg(any(feature = "full", feature = "derive"))] -mod generics; -#[cfg(any(feature = "full", feature = "derive"))] -pub use generics::{ - BoundLifetimes, ConstParam, GenericParam, Generics, LifetimeDef, PredicateEq, - PredicateLifetime, PredicateType, TraitBound, TraitBoundModifier, TypeParam, TypeParamBound, - WhereClause, WherePredicate, -}; -#[cfg(all(any(feature = "full", feature = "derive"), feature = "printing"))] -pub use generics::{ImplGenerics, Turbofish, TypeGenerics}; - -#[cfg(feature = "full")] -mod item; -#[cfg(feature = "full")] -pub use item::{ - ArgCaptured, ArgSelf, ArgSelfRef, FnArg, FnDecl, ForeignItem, ForeignItemFn, ForeignItemMacro, - ForeignItemStatic, ForeignItemType, ForeignItemVerbatim, ImplItem, ImplItemConst, - ImplItemExistential, ImplItemMacro, ImplItemMethod, ImplItemType, ImplItemVerbatim, Item, - ItemConst, ItemEnum, ItemExistential, ItemExternCrate, ItemFn, ItemForeignMod, ItemImpl, - ItemMacro, ItemMacro2, ItemMod, ItemStatic, ItemStruct, ItemTrait, ItemTraitAlias, ItemType, - ItemUnion, ItemUse, ItemVerbatim, MethodSig, TraitItem, TraitItemConst, TraitItemMacro, - TraitItemMethod, TraitItemType, TraitItemVerbatim, UseGlob, UseGroup, UseName, UsePath, - UseRename, UseTree, -}; - -#[cfg(feature = "full")] -mod file; -#[cfg(feature = "full")] -pub use file::File; - -mod lifetime; -pub use lifetime::Lifetime; - -#[cfg(any(feature = "full", feature = "derive"))] -mod lit; -#[cfg(any(feature = "full", feature = "derive"))] -pub use lit::{ - FloatSuffix, IntSuffix, Lit, LitBool, LitByte, LitByteStr, LitChar, LitFloat, LitInt, LitStr, - LitVerbatim, StrStyle, -}; - -#[cfg(any(feature = "full", feature = "derive"))] -mod mac; -#[cfg(any(feature = "full", feature = "derive"))] -pub use mac::{Macro, MacroDelimiter}; - -#[cfg(any(feature = "full", feature = "derive"))] -mod derive; -#[cfg(feature = "derive")] -pub use derive::{Data, DataEnum, DataStruct, DataUnion, DeriveInput}; - -#[cfg(any(feature = "full", feature = "derive"))] -mod op; -#[cfg(any(feature = "full", feature = "derive"))] -pub use op::{BinOp, UnOp}; - -#[cfg(any(feature = "full", feature = "derive"))] -mod ty; -#[cfg(any(feature = "full", feature = "derive"))] -pub use ty::{ - Abi, BareFnArg, BareFnArgName, ReturnType, Type, TypeArray, TypeBareFn, TypeGroup, - TypeImplTrait, TypeInfer, TypeMacro, TypeNever, TypeParen, TypePath, TypePtr, TypeReference, - TypeSlice, TypeTraitObject, TypeTuple, TypeVerbatim, -}; - -#[cfg(any(feature = "full", feature = "derive"))] -mod path; -#[cfg(any(feature = "full", feature = "derive"))] -pub use path::{ - AngleBracketedGenericArguments, Binding, Constraint, GenericArgument, - ParenthesizedGenericArguments, Path, PathArguments, PathSegment, QSelf, -}; - -#[cfg(feature = "parsing")] -pub mod buffer; -#[cfg(feature = "parsing")] -pub mod ext; -pub mod punctuated; -#[cfg(all(any(feature = "full", feature = "derive"), feature = "extra-traits"))] -mod tt; - -// Not public API except the `parse_quote!` macro. -#[cfg(feature = "parsing")] -#[doc(hidden)] -pub mod parse_quote; - -// Not public API except the `parse_macro_input!` macro. -#[cfg(all( - not(all(target_arch = "wasm32", target_os = "unknown")), - feature = "parsing", - feature = "proc-macro" -))] -#[doc(hidden)] -pub mod parse_macro_input; - -#[cfg(all(feature = "parsing", feature = "printing"))] -pub mod spanned; - -mod gen { - /// Syntax tree traversal to walk a shared borrow of a syntax tree. - /// - /// Each method of the [`Visit`] trait is a hook that can be overridden to - /// customize the behavior when visiting the corresponding type of node. By - /// default, every method recursively visits the substructure of the input - /// by invoking the right visitor method of each of its fields. - /// - /// [`Visit`]: trait.Visit.html - /// - /// ```edition2018 - /// # use syn::{Attribute, BinOp, Expr, ExprBinary}; - /// # - /// pub trait Visit<'ast> { - /// /* ... */ - /// - /// fn visit_expr_binary(&mut self, node: &'ast ExprBinary) { - /// for attr in &node.attrs { - /// self.visit_attribute(attr); - /// } - /// self.visit_expr(&*node.left); - /// self.visit_bin_op(&node.op); - /// self.visit_expr(&*node.right); - /// } - /// - /// /* ... */ - /// # fn visit_attribute(&mut self, node: &'ast Attribute); - /// # fn visit_expr(&mut self, node: &'ast Expr); - /// # fn visit_bin_op(&mut self, node: &'ast BinOp); - /// } - /// ``` - /// - /// *This module is available if Syn is built with the `"visit"` feature.* - #[cfg(feature = "visit")] - pub mod visit; - - /// Syntax tree traversal to mutate an exclusive borrow of a syntax tree in - /// place. - /// - /// Each method of the [`VisitMut`] trait is a hook that can be overridden - /// to customize the behavior when mutating the corresponding type of node. - /// By default, every method recursively visits the substructure of the - /// input by invoking the right visitor method of each of its fields. - /// - /// [`VisitMut`]: trait.VisitMut.html - /// - /// ```edition2018 - /// # use syn::{Attribute, BinOp, Expr, ExprBinary}; - /// # - /// pub trait VisitMut { - /// /* ... */ - /// - /// fn visit_expr_binary_mut(&mut self, node: &mut ExprBinary) { - /// for attr in &mut node.attrs { - /// self.visit_attribute_mut(attr); - /// } - /// self.visit_expr_mut(&mut *node.left); - /// self.visit_bin_op_mut(&mut node.op); - /// self.visit_expr_mut(&mut *node.right); - /// } - /// - /// /* ... */ - /// # fn visit_attribute_mut(&mut self, node: &mut Attribute); - /// # fn visit_expr_mut(&mut self, node: &mut Expr); - /// # fn visit_bin_op_mut(&mut self, node: &mut BinOp); - /// } - /// ``` - /// - /// *This module is available if Syn is built with the `"visit-mut"` - /// feature.* - #[cfg(feature = "visit-mut")] - pub mod visit_mut; - - /// Syntax tree traversal to transform the nodes of an owned syntax tree. - /// - /// Each method of the [`Fold`] trait is a hook that can be overridden to - /// customize the behavior when transforming the corresponding type of node. - /// By default, every method recursively visits the substructure of the - /// input by invoking the right visitor method of each of its fields. - /// - /// [`Fold`]: trait.Fold.html - /// - /// ```edition2018 - /// # use syn::{Attribute, BinOp, Expr, ExprBinary}; - /// # - /// pub trait Fold { - /// /* ... */ - /// - /// fn fold_expr_binary(&mut self, node: ExprBinary) -> ExprBinary { - /// ExprBinary { - /// attrs: node.attrs - /// .into_iter() - /// .map(|attr| self.fold_attribute(attr)) - /// .collect(), - /// left: Box::new(self.fold_expr(*node.left)), - /// op: self.fold_bin_op(node.op), - /// right: Box::new(self.fold_expr(*node.right)), - /// } - /// } - /// - /// /* ... */ - /// # fn fold_attribute(&mut self, node: Attribute) -> Attribute; - /// # fn fold_expr(&mut self, node: Expr) -> Expr; - /// # fn fold_bin_op(&mut self, node: BinOp) -> BinOp; - /// } - /// ``` - /// - /// *This module is available if Syn is built with the `"fold"` feature.* - #[cfg(feature = "fold")] - pub mod fold; - - #[cfg(any(feature = "full", feature = "derive"))] - #[path = "../gen_helper.rs"] - mod helper; -} -pub use gen::*; - -// Not public API. -#[doc(hidden)] -pub mod export; - -mod custom_keyword; -mod custom_punctuation; -mod sealed; - -#[cfg(feature = "parsing")] -mod lookahead; - -#[cfg(feature = "parsing")] -pub mod parse; - -mod span; - -#[cfg(all(any(feature = "full", feature = "derive"), feature = "printing"))] -mod print; - -mod thread; - -//////////////////////////////////////////////////////////////////////////////// - -#[cfg(any(feature = "parsing", feature = "full", feature = "derive"))] -#[allow(non_camel_case_types)] -struct private; - -//////////////////////////////////////////////////////////////////////////////// - -mod error; -pub use error::{Error, Result}; - -/// Parse tokens of source code into the chosen syntax tree node. -/// -/// This is preferred over parsing a string because tokens are able to preserve -/// information about where in the user's code they were originally written (the -/// "span" of the token), possibly allowing the compiler to produce better error -/// messages. -/// -/// This function parses a `proc_macro::TokenStream` which is the type used for -/// interop with the compiler in a procedural macro. To parse a -/// `proc_macro2::TokenStream`, use [`syn::parse2`] instead. -/// -/// [`syn::parse2`]: fn.parse2.html -/// -/// *This function is available if Syn is built with both the `"parsing"` and -/// `"proc-macro"` features.* -/// -/// # Examples -/// -/// ```edition2018 -/// extern crate proc_macro; -/// -/// use proc_macro::TokenStream; -/// use quote::quote; -/// use syn::DeriveInput; -/// -/// # const IGNORE_TOKENS: &str = stringify! { -/// #[proc_macro_derive(MyMacro)] -/// # }; -/// pub fn my_macro(input: TokenStream) -> TokenStream { -/// // Parse the tokens into a syntax tree -/// let ast: DeriveInput = syn::parse(input).unwrap(); -/// -/// // Build the output, possibly using quasi-quotation -/// let expanded = quote! { -/// /* ... */ -/// }; -/// -/// // Convert into a token stream and return it -/// expanded.into() -/// } -/// ``` -#[cfg(all( - not(all(target_arch = "wasm32", target_os = "unknown")), - feature = "parsing", - feature = "proc-macro" -))] -pub fn parse(tokens: proc_macro::TokenStream) -> Result { - parse::Parser::parse(T::parse, tokens) -} - -/// Parse a proc-macro2 token stream into the chosen syntax tree node. -/// -/// This function parses a `proc_macro2::TokenStream` which is commonly useful -/// when the input comes from a node of the Syn syntax tree, for example the tts -/// of a [`Macro`] node. When in a procedural macro parsing the -/// `proc_macro::TokenStream` provided by the compiler, use [`syn::parse`] -/// instead. -/// -/// [`Macro`]: struct.Macro.html -/// [`syn::parse`]: fn.parse.html -/// -/// *This function is available if Syn is built with the `"parsing"` feature.* -#[cfg(feature = "parsing")] -pub fn parse2(tokens: proc_macro2::TokenStream) -> Result { - parse::Parser::parse2(T::parse, tokens) -} - -/// Parse a string of Rust code into the chosen syntax tree node. -/// -/// *This function is available if Syn is built with the `"parsing"` feature.* -/// -/// # Hygiene -/// -/// Every span in the resulting syntax tree will be set to resolve at the macro -/// call site. -/// -/// # Examples -/// -/// ```edition2018 -/// use syn::{Expr, Result}; -/// -/// fn run() -> Result<()> { -/// let code = "assert_eq!(u8::max_value(), 255)"; -/// let expr = syn::parse_str::(code)?; -/// println!("{:#?}", expr); -/// Ok(()) -/// } -/// # -/// # fn main() { -/// # run().unwrap(); -/// # } -/// ``` -#[cfg(feature = "parsing")] -pub fn parse_str(s: &str) -> Result { - parse::Parser::parse_str(T::parse, s) -} - -// FIXME the name parse_file makes it sound like you might pass in a path to a -// file, rather than the content. -/// Parse the content of a file of Rust code. -/// -/// This is different from `syn::parse_str::(content)` in two ways: -/// -/// - It discards a leading byte order mark `\u{FEFF}` if the file has one. -/// - It preserves the shebang line of the file, such as `#!/usr/bin/env rustx`. -/// -/// If present, either of these would be an error using `from_str`. -/// -/// *This function is available if Syn is built with the `"parsing"` and -/// `"full"` features.* -/// -/// # Examples -/// -/// ```edition2018,no_run -/// use std::error::Error; -/// use std::fs::File; -/// use std::io::Read; -/// -/// fn run() -> Result<(), Box> { -/// let mut file = File::open("path/to/code.rs")?; -/// let mut content = String::new(); -/// file.read_to_string(&mut content)?; -/// -/// let ast = syn::parse_file(&content)?; -/// if let Some(shebang) = ast.shebang { -/// println!("{}", shebang); -/// } -/// println!("{} items", ast.items.len()); -/// -/// Ok(()) -/// } -/// # -/// # fn main() { -/// # run().unwrap(); -/// # } -/// ``` -#[cfg(all(feature = "parsing", feature = "full"))] -pub fn parse_file(mut content: &str) -> Result { - // Strip the BOM if it is present - const BOM: &'static str = "\u{feff}"; - if content.starts_with(BOM) { - content = &content[BOM.len()..]; - } - - let mut shebang = None; - if content.starts_with("#!") && !content.starts_with("#![") { - if let Some(idx) = content.find('\n') { - shebang = Some(content[..idx].to_string()); - content = &content[idx..]; - } else { - shebang = Some(content.to_string()); - content = ""; - } - } - - let mut file: File = parse_str(content)?; - file.shebang = shebang; - Ok(file) -} diff --git a/vendor/registry-40351f815f426200/syn/src/lifetime.rs b/vendor/registry-40351f815f426200/syn/src/lifetime.rs deleted file mode 100644 index 461560c91..000000000 --- a/vendor/registry-40351f815f426200/syn/src/lifetime.rs +++ /dev/null @@ -1,155 +0,0 @@ -use std::cmp::Ordering; -use std::fmt::{self, Display}; -use std::hash::{Hash, Hasher}; - -use proc_macro2::{Ident, Span}; -use unicode_xid::UnicodeXID; - -#[cfg(feature = "parsing")] -use lookahead; - -/// A Rust lifetime: `'a`. -/// -/// Lifetime names must conform to the following rules: -/// -/// - Must start with an apostrophe. -/// - Must not consist of just an apostrophe: `'`. -/// - Character after the apostrophe must be `_` or a Unicode code point with -/// the XID_Start property. -/// - All following characters must be Unicode code points with the XID_Continue -/// property. -/// -/// *This type is available if Syn is built with the `"derive"` or `"full"` -/// feature.* -#[cfg_attr(feature = "extra-traits", derive(Debug))] -#[derive(Clone)] -pub struct Lifetime { - pub apostrophe: Span, - pub ident: Ident, -} - -impl Lifetime { - /// # Panics - /// - /// Panics if the lifetime does not conform to the bulleted rules above. - /// - /// # Invocation - /// - /// ```edition2018 - /// # use proc_macro2::Span; - /// # use syn::Lifetime; - /// # - /// # fn f() -> Lifetime { - /// Lifetime::new("'a", Span::call_site()) - /// # } - /// ``` - pub fn new(symbol: &str, span: Span) -> Self { - if !symbol.starts_with('\'') { - panic!( - "lifetime name must start with apostrophe as in \"'a\", got {:?}", - symbol - ); - } - - if symbol == "'" { - panic!("lifetime name must not be empty"); - } - - fn xid_ok(symbol: &str) -> bool { - let mut chars = symbol.chars(); - let first = chars.next().unwrap(); - if !(UnicodeXID::is_xid_start(first) || first == '_') { - return false; - } - for ch in chars { - if !UnicodeXID::is_xid_continue(ch) { - return false; - } - } - true - } - - if !xid_ok(&symbol[1..]) { - panic!("{:?} is not a valid lifetime name", symbol); - } - - Lifetime { - apostrophe: span, - ident: Ident::new(&symbol[1..], span), - } - } -} - -impl Display for Lifetime { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - "'".fmt(formatter)?; - self.ident.fmt(formatter) - } -} - -impl PartialEq for Lifetime { - fn eq(&self, other: &Lifetime) -> bool { - self.ident.eq(&other.ident) - } -} - -impl Eq for Lifetime {} - -impl PartialOrd for Lifetime { - fn partial_cmp(&self, other: &Lifetime) -> Option { - Some(self.cmp(other)) - } -} - -impl Ord for Lifetime { - fn cmp(&self, other: &Lifetime) -> Ordering { - self.ident.cmp(&other.ident) - } -} - -impl Hash for Lifetime { - fn hash(&self, h: &mut H) { - self.ident.hash(h) - } -} - -#[cfg(feature = "parsing")] -#[doc(hidden)] -#[allow(non_snake_case)] -pub fn Lifetime(marker: lookahead::TokenMarker) -> Lifetime { - match marker {} -} - -#[cfg(feature = "parsing")] -pub mod parsing { - use super::*; - - use parse::{Parse, ParseStream, Result}; - - impl Parse for Lifetime { - fn parse(input: ParseStream) -> Result { - input.step(|cursor| { - cursor - .lifetime() - .ok_or_else(|| cursor.error("expected lifetime")) - }) - } - } -} - -#[cfg(feature = "printing")] -mod printing { - use super::*; - - use proc_macro2::{Punct, Spacing, TokenStream}; - use quote::{ToTokens, TokenStreamExt}; - - impl ToTokens for Lifetime { - fn to_tokens(&self, tokens: &mut TokenStream) { - let mut apostrophe = Punct::new('\'', Spacing::Joint); - apostrophe.set_span(self.apostrophe); - tokens.append(apostrophe); - self.ident.to_tokens(tokens); - } - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/lit.rs b/vendor/registry-40351f815f426200/syn/src/lit.rs deleted file mode 100644 index 3a66cb763..000000000 --- a/vendor/registry-40351f815f426200/syn/src/lit.rs +++ /dev/null @@ -1,1103 +0,0 @@ -use proc_macro2::{Literal, Span}; -use std::str; - -#[cfg(feature = "printing")] -use proc_macro2::Ident; - -#[cfg(feature = "parsing")] -use proc_macro2::TokenStream; - -use proc_macro2::TokenTree; - -#[cfg(feature = "extra-traits")] -use std::hash::{Hash, Hasher}; - -#[cfg(feature = "parsing")] -use lookahead; -#[cfg(feature = "parsing")] -use parse::{Parse, Parser, Result}; - -ast_enum_of_structs! { - /// A Rust literal such as a string or integer or boolean. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - /// - /// # Syntax tree enum - /// - /// This type is a [syntax tree enum]. - /// - /// [syntax tree enum]: enum.Expr.html#syntax-tree-enums - pub enum Lit { - /// A UTF-8 string literal: `"foo"`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Str(LitStr #manual_extra_traits { - token: Literal, - }), - - /// A byte string literal: `b"foo"`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub ByteStr(LitByteStr #manual_extra_traits { - token: Literal, - }), - - /// A byte literal: `b'f'`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Byte(LitByte #manual_extra_traits { - token: Literal, - }), - - /// A character literal: `'a'`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Char(LitChar #manual_extra_traits { - token: Literal, - }), - - /// An integer literal: `1` or `1u16`. - /// - /// Holds up to 64 bits of data. Use `LitVerbatim` for any larger - /// integer literal. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Int(LitInt #manual_extra_traits { - token: Literal, - }), - - /// A floating point literal: `1f64` or `1.0e10f64`. - /// - /// Must be finite. May not be infinte or NaN. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Float(LitFloat #manual_extra_traits { - token: Literal, - }), - - /// A boolean literal: `true` or `false`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Bool(LitBool #manual_extra_traits { - pub value: bool, - pub span: Span, - }), - - /// A raw token literal not interpreted by Syn, possibly because it - /// represents an integer larger than 64 bits. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Verbatim(LitVerbatim #manual_extra_traits { - pub token: Literal, - }), - } -} - -impl LitStr { - pub fn new(value: &str, span: Span) -> Self { - let mut lit = Literal::string(value); - lit.set_span(span); - LitStr { token: lit } - } - - pub fn value(&self) -> String { - value::parse_lit_str(&self.token.to_string()) - } - - /// Parse a syntax tree node from the content of this string literal. - /// - /// All spans in the syntax tree will point to the span of this `LitStr`. - /// - /// # Example - /// - /// ```edition2018 - /// use proc_macro2::Span; - /// use syn::{Attribute, Error, Ident, Lit, Meta, MetaNameValue, Path, Result}; - /// - /// // Parses the path from an attribute that looks like: - /// // - /// // #[path = "a::b::c"] - /// // - /// // or returns `None` if the input is some other attribute. - /// fn get_path(attr: &Attribute) -> Result> { - /// if !attr.path.is_ident("path") { - /// return Ok(None); - /// } - /// - /// match attr.parse_meta()? { - /// Meta::NameValue(MetaNameValue { lit: Lit::Str(lit_str), .. }) => { - /// lit_str.parse().map(Some) - /// } - /// _ => { - /// let message = "expected #[path = \"...\"]"; - /// Err(Error::new_spanned(attr, message)) - /// } - /// } - /// } - /// ``` - #[cfg(feature = "parsing")] - pub fn parse(&self) -> Result { - self.parse_with(T::parse) - } - - /// Invoke parser on the content of this string literal. - /// - /// All spans in the syntax tree will point to the span of this `LitStr`. - /// - /// # Example - /// - /// ```edition2018 - /// # use proc_macro2::Span; - /// # use syn::{LitStr, Result}; - /// # - /// # fn main() -> Result<()> { - /// # let lit_str = LitStr::new("a::b::c", Span::call_site()); - /// # - /// # const IGNORE: &str = stringify! { - /// let lit_str: LitStr = /* ... */; - /// # }; - /// - /// // Parse a string literal like "a::b::c" into a Path, not allowing - /// // generic arguments on any of the path segments. - /// let basic_path = lit_str.parse_with(syn::Path::parse_mod_style)?; - /// # - /// # Ok(()) - /// # } - /// ``` - #[cfg(feature = "parsing")] - pub fn parse_with(&self, parser: F) -> Result { - use proc_macro2::Group; - - // Token stream with every span replaced by the given one. - fn respan_token_stream(stream: TokenStream, span: Span) -> TokenStream { - stream - .into_iter() - .map(|token| respan_token_tree(token, span)) - .collect() - } - - // Token tree with every span replaced by the given one. - fn respan_token_tree(mut token: TokenTree, span: Span) -> TokenTree { - match token { - TokenTree::Group(ref mut g) => { - let stream = respan_token_stream(g.stream().clone(), span); - *g = Group::new(g.delimiter(), stream); - g.set_span(span); - } - ref mut other => other.set_span(span), - } - token - } - - // Parse string literal into a token stream with every span equal to the - // original literal's span. - let mut tokens = ::parse_str(&self.value())?; - tokens = respan_token_stream(tokens, self.span()); - - parser.parse2(tokens) - } - - pub fn span(&self) -> Span { - self.token.span() - } - - pub fn set_span(&mut self, span: Span) { - self.token.set_span(span) - } -} - -impl LitByteStr { - pub fn new(value: &[u8], span: Span) -> Self { - let mut token = Literal::byte_string(value); - token.set_span(span); - LitByteStr { token: token } - } - - pub fn value(&self) -> Vec { - value::parse_lit_byte_str(&self.token.to_string()) - } - - pub fn span(&self) -> Span { - self.token.span() - } - - pub fn set_span(&mut self, span: Span) { - self.token.set_span(span) - } -} - -impl LitByte { - pub fn new(value: u8, span: Span) -> Self { - let mut token = Literal::u8_suffixed(value); - token.set_span(span); - LitByte { token: token } - } - - pub fn value(&self) -> u8 { - value::parse_lit_byte(&self.token.to_string()) - } - - pub fn span(&self) -> Span { - self.token.span() - } - - pub fn set_span(&mut self, span: Span) { - self.token.set_span(span) - } -} - -impl LitChar { - pub fn new(value: char, span: Span) -> Self { - let mut token = Literal::character(value); - token.set_span(span); - LitChar { token: token } - } - - pub fn value(&self) -> char { - value::parse_lit_char(&self.token.to_string()) - } - - pub fn span(&self) -> Span { - self.token.span() - } - - pub fn set_span(&mut self, span: Span) { - self.token.set_span(span) - } -} - -impl LitInt { - pub fn new(value: u64, suffix: IntSuffix, span: Span) -> Self { - let mut token = match suffix { - IntSuffix::Isize => Literal::isize_suffixed(value as isize), - IntSuffix::I8 => Literal::i8_suffixed(value as i8), - IntSuffix::I16 => Literal::i16_suffixed(value as i16), - IntSuffix::I32 => Literal::i32_suffixed(value as i32), - IntSuffix::I64 => Literal::i64_suffixed(value as i64), - IntSuffix::I128 => value::to_literal(&format!("{}i128", value)), - IntSuffix::Usize => Literal::usize_suffixed(value as usize), - IntSuffix::U8 => Literal::u8_suffixed(value as u8), - IntSuffix::U16 => Literal::u16_suffixed(value as u16), - IntSuffix::U32 => Literal::u32_suffixed(value as u32), - IntSuffix::U64 => Literal::u64_suffixed(value), - IntSuffix::U128 => value::to_literal(&format!("{}u128", value)), - IntSuffix::None => Literal::u64_unsuffixed(value), - }; - token.set_span(span); - LitInt { token: token } - } - - pub fn value(&self) -> u64 { - value::parse_lit_int(&self.token.to_string()).unwrap() - } - - pub fn suffix(&self) -> IntSuffix { - let value = self.token.to_string(); - for (s, suffix) in vec![ - ("i8", IntSuffix::I8), - ("i16", IntSuffix::I16), - ("i32", IntSuffix::I32), - ("i64", IntSuffix::I64), - ("i128", IntSuffix::I128), - ("isize", IntSuffix::Isize), - ("u8", IntSuffix::U8), - ("u16", IntSuffix::U16), - ("u32", IntSuffix::U32), - ("u64", IntSuffix::U64), - ("u128", IntSuffix::U128), - ("usize", IntSuffix::Usize), - ] { - if value.ends_with(s) { - return suffix; - } - } - IntSuffix::None - } - - pub fn span(&self) -> Span { - self.token.span() - } - - pub fn set_span(&mut self, span: Span) { - self.token.set_span(span) - } -} - -impl LitFloat { - pub fn new(value: f64, suffix: FloatSuffix, span: Span) -> Self { - let mut token = match suffix { - FloatSuffix::F32 => Literal::f32_suffixed(value as f32), - FloatSuffix::F64 => Literal::f64_suffixed(value), - FloatSuffix::None => Literal::f64_unsuffixed(value), - }; - token.set_span(span); - LitFloat { token: token } - } - - pub fn value(&self) -> f64 { - value::parse_lit_float(&self.token.to_string()) - } - - pub fn suffix(&self) -> FloatSuffix { - let value = self.token.to_string(); - for (s, suffix) in vec![("f32", FloatSuffix::F32), ("f64", FloatSuffix::F64)] { - if value.ends_with(s) { - return suffix; - } - } - FloatSuffix::None - } - - pub fn span(&self) -> Span { - self.token.span() - } - - pub fn set_span(&mut self, span: Span) { - self.token.set_span(span) - } -} - -macro_rules! lit_extra_traits { - ($ty:ident, $field:ident) => { - #[cfg(feature = "extra-traits")] - impl Eq for $ty {} - - #[cfg(feature = "extra-traits")] - impl PartialEq for $ty { - fn eq(&self, other: &Self) -> bool { - self.$field.to_string() == other.$field.to_string() - } - } - - #[cfg(feature = "extra-traits")] - impl Hash for $ty { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - self.$field.to_string().hash(state); - } - } - - #[cfg(feature = "parsing")] - #[doc(hidden)] - #[allow(non_snake_case)] - pub fn $ty(marker: lookahead::TokenMarker) -> $ty { - match marker {} - } - }; -} - -impl LitVerbatim { - pub fn span(&self) -> Span { - self.token.span() - } - - pub fn set_span(&mut self, span: Span) { - self.token.set_span(span) - } -} - -lit_extra_traits!(LitStr, token); -lit_extra_traits!(LitByteStr, token); -lit_extra_traits!(LitByte, token); -lit_extra_traits!(LitChar, token); -lit_extra_traits!(LitInt, token); -lit_extra_traits!(LitFloat, token); -lit_extra_traits!(LitBool, value); -lit_extra_traits!(LitVerbatim, token); - -ast_enum! { - /// The style of a string literal, either plain quoted or a raw string like - /// `r##"data"##`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub enum StrStyle #no_visit { - /// An ordinary string like `"data"`. - Cooked, - /// A raw string like `r##"data"##`. - /// - /// The unsigned integer is the number of `#` symbols used. - Raw(usize), - } -} - -ast_enum! { - /// The suffix on an integer literal if any, like the `u8` in `127u8`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub enum IntSuffix #no_visit { - I8, - I16, - I32, - I64, - I128, - Isize, - U8, - U16, - U32, - U64, - U128, - Usize, - None, - } -} - -ast_enum! { - /// The suffix on a floating point literal if any, like the `f32` in - /// `1.0f32`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub enum FloatSuffix #no_visit { - F32, - F64, - None, - } -} - -#[cfg(feature = "parsing")] -#[doc(hidden)] -#[allow(non_snake_case)] -pub fn Lit(marker: lookahead::TokenMarker) -> Lit { - match marker {} -} - -#[cfg(feature = "parsing")] -pub mod parsing { - use super::*; - use parse::{Parse, ParseStream, Result}; - - impl Parse for Lit { - fn parse(input: ParseStream) -> Result { - input.step(|cursor| { - if let Some((lit, rest)) = cursor.literal() { - return Ok((Lit::new(lit), rest)); - } - while let Some((ident, rest)) = cursor.ident() { - let value = if ident == "true" { - true - } else if ident == "false" { - false - } else { - break; - }; - let lit_bool = LitBool { - value: value, - span: ident.span(), - }; - return Ok((Lit::Bool(lit_bool), rest)); - } - Err(cursor.error("expected literal")) - }) - } - } - - impl Parse for LitStr { - fn parse(input: ParseStream) -> Result { - let head = input.fork(); - match input.parse()? { - Lit::Str(lit) => Ok(lit), - _ => Err(head.error("expected string literal")), - } - } - } - - impl Parse for LitByteStr { - fn parse(input: ParseStream) -> Result { - let head = input.fork(); - match input.parse()? { - Lit::ByteStr(lit) => Ok(lit), - _ => Err(head.error("expected byte string literal")), - } - } - } - - impl Parse for LitByte { - fn parse(input: ParseStream) -> Result { - let head = input.fork(); - match input.parse()? { - Lit::Byte(lit) => Ok(lit), - _ => Err(head.error("expected byte literal")), - } - } - } - - impl Parse for LitChar { - fn parse(input: ParseStream) -> Result { - let head = input.fork(); - match input.parse()? { - Lit::Char(lit) => Ok(lit), - _ => Err(head.error("expected character literal")), - } - } - } - - impl Parse for LitInt { - fn parse(input: ParseStream) -> Result { - let head = input.fork(); - match input.parse()? { - Lit::Int(lit) => Ok(lit), - _ => Err(head.error("expected integer literal")), - } - } - } - - impl Parse for LitFloat { - fn parse(input: ParseStream) -> Result { - let head = input.fork(); - match input.parse()? { - Lit::Float(lit) => Ok(lit), - _ => Err(head.error("expected floating point literal")), - } - } - } - - impl Parse for LitBool { - fn parse(input: ParseStream) -> Result { - let head = input.fork(); - match input.parse()? { - Lit::Bool(lit) => Ok(lit), - _ => Err(head.error("expected boolean literal")), - } - } - } -} - -#[cfg(feature = "printing")] -mod printing { - use super::*; - use proc_macro2::TokenStream; - use quote::{ToTokens, TokenStreamExt}; - - impl ToTokens for LitStr { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.token.to_tokens(tokens); - } - } - - impl ToTokens for LitByteStr { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.token.to_tokens(tokens); - } - } - - impl ToTokens for LitByte { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.token.to_tokens(tokens); - } - } - - impl ToTokens for LitChar { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.token.to_tokens(tokens); - } - } - - impl ToTokens for LitInt { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.token.to_tokens(tokens); - } - } - - impl ToTokens for LitFloat { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.token.to_tokens(tokens); - } - } - - impl ToTokens for LitBool { - fn to_tokens(&self, tokens: &mut TokenStream) { - let s = if self.value { "true" } else { "false" }; - tokens.append(Ident::new(s, self.span)); - } - } - - impl ToTokens for LitVerbatim { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.token.to_tokens(tokens); - } - } -} - -mod value { - use super::*; - use proc_macro2::TokenStream; - use std::char; - use std::ops::{Index, RangeFrom}; - - impl Lit { - /// Interpret a Syn literal from a proc-macro2 literal. - /// - /// Not all proc-macro2 literals are valid Syn literals. In particular, - /// doc comments are considered by proc-macro2 to be literals but in Syn - /// they are [`Attribute`]. - /// - /// [`Attribute`]: struct.Attribute.html - /// - /// # Panics - /// - /// Panics if the input is a doc comment literal. - pub fn new(token: Literal) -> Self { - let value = token.to_string(); - - match value::byte(&value, 0) { - b'"' | b'r' => return Lit::Str(LitStr { token: token }), - b'b' => match value::byte(&value, 1) { - b'"' | b'r' => return Lit::ByteStr(LitByteStr { token: token }), - b'\'' => return Lit::Byte(LitByte { token: token }), - _ => {} - }, - b'\'' => return Lit::Char(LitChar { token: token }), - b'0'...b'9' => { - if number_is_int(&value) { - return Lit::Int(LitInt { token: token }); - } else if number_is_float(&value) { - return Lit::Float(LitFloat { token: token }); - } else { - // number overflow - return Lit::Verbatim(LitVerbatim { token: token }); - } - } - _ => { - if value == "true" || value == "false" { - return Lit::Bool(LitBool { - value: value == "true", - span: token.span(), - }); - } - } - } - - panic!("Unrecognized literal: {}", value); - } - } - - fn number_is_int(value: &str) -> bool { - if number_is_float(value) { - false - } else { - value::parse_lit_int(value).is_some() - } - } - - fn number_is_float(value: &str) -> bool { - if value.contains('.') { - true - } else if value.starts_with("0x") || value.ends_with("size") { - false - } else { - value.contains('e') || value.contains('E') - } - } - - /// Get the byte at offset idx, or a default of `b'\0'` if we're looking - /// past the end of the input buffer. - pub fn byte + ?Sized>(s: &S, idx: usize) -> u8 { - let s = s.as_ref(); - if idx < s.len() { - s[idx] - } else { - 0 - } - } - - fn next_chr(s: &str) -> char { - s.chars().next().unwrap_or('\0') - } - - pub fn parse_lit_str(s: &str) -> String { - match byte(s, 0) { - b'"' => parse_lit_str_cooked(s), - b'r' => parse_lit_str_raw(s), - _ => unreachable!(), - } - } - - // Clippy false positive - // https://github.com/rust-lang-nursery/rust-clippy/issues/2329 - #[cfg_attr(feature = "cargo-clippy", allow(needless_continue))] - fn parse_lit_str_cooked(mut s: &str) -> String { - assert_eq!(byte(s, 0), b'"'); - s = &s[1..]; - - let mut out = String::new(); - 'outer: loop { - let ch = match byte(s, 0) { - b'"' => break, - b'\\' => { - let b = byte(s, 1); - s = &s[2..]; - match b { - b'x' => { - let (byte, rest) = backslash_x(s); - s = rest; - assert!(byte <= 0x80, "Invalid \\x byte in string literal"); - char::from_u32(u32::from(byte)).unwrap() - } - b'u' => { - let (chr, rest) = backslash_u(s); - s = rest; - chr - } - b'n' => '\n', - b'r' => '\r', - b't' => '\t', - b'\\' => '\\', - b'0' => '\0', - b'\'' => '\'', - b'"' => '"', - b'\r' | b'\n' => loop { - let ch = next_chr(s); - if ch.is_whitespace() { - s = &s[ch.len_utf8()..]; - } else { - continue 'outer; - } - }, - b => panic!("unexpected byte {:?} after \\ character in byte literal", b), - } - } - b'\r' => { - assert_eq!(byte(s, 1), b'\n', "Bare CR not allowed in string"); - s = &s[2..]; - '\n' - } - _ => { - let ch = next_chr(s); - s = &s[ch.len_utf8()..]; - ch - } - }; - out.push(ch); - } - - assert_eq!(s, "\""); - out - } - - fn parse_lit_str_raw(mut s: &str) -> String { - assert_eq!(byte(s, 0), b'r'); - s = &s[1..]; - - let mut pounds = 0; - while byte(s, pounds) == b'#' { - pounds += 1; - } - assert_eq!(byte(s, pounds), b'"'); - assert_eq!(byte(s, s.len() - pounds - 1), b'"'); - for end in s[s.len() - pounds..].bytes() { - assert_eq!(end, b'#'); - } - - s[pounds + 1..s.len() - pounds - 1].to_owned() - } - - pub fn parse_lit_byte_str(s: &str) -> Vec { - assert_eq!(byte(s, 0), b'b'); - match byte(s, 1) { - b'"' => parse_lit_byte_str_cooked(s), - b'r' => parse_lit_byte_str_raw(s), - _ => unreachable!(), - } - } - - // Clippy false positive - // https://github.com/rust-lang-nursery/rust-clippy/issues/2329 - #[cfg_attr(feature = "cargo-clippy", allow(needless_continue))] - fn parse_lit_byte_str_cooked(mut s: &str) -> Vec { - assert_eq!(byte(s, 0), b'b'); - assert_eq!(byte(s, 1), b'"'); - s = &s[2..]; - - // We're going to want to have slices which don't respect codepoint boundaries. - let mut s = s.as_bytes(); - - let mut out = Vec::new(); - 'outer: loop { - let byte = match byte(s, 0) { - b'"' => break, - b'\\' => { - let b = byte(s, 1); - s = &s[2..]; - match b { - b'x' => { - let (b, rest) = backslash_x(s); - s = rest; - b - } - b'n' => b'\n', - b'r' => b'\r', - b't' => b'\t', - b'\\' => b'\\', - b'0' => b'\0', - b'\'' => b'\'', - b'"' => b'"', - b'\r' | b'\n' => loop { - let byte = byte(s, 0); - let ch = char::from_u32(u32::from(byte)).unwrap(); - if ch.is_whitespace() { - s = &s[1..]; - } else { - continue 'outer; - } - }, - b => panic!("unexpected byte {:?} after \\ character in byte literal", b), - } - } - b'\r' => { - assert_eq!(byte(s, 1), b'\n', "Bare CR not allowed in string"); - s = &s[2..]; - b'\n' - } - b => { - s = &s[1..]; - b - } - }; - out.push(byte); - } - - assert_eq!(s, b"\""); - out - } - - fn parse_lit_byte_str_raw(s: &str) -> Vec { - assert_eq!(byte(s, 0), b'b'); - parse_lit_str_raw(&s[1..]).into_bytes() - } - - pub fn parse_lit_byte(s: &str) -> u8 { - assert_eq!(byte(s, 0), b'b'); - assert_eq!(byte(s, 1), b'\''); - - // We're going to want to have slices which don't respect codepoint boundaries. - let mut s = s[2..].as_bytes(); - - let b = match byte(s, 0) { - b'\\' => { - let b = byte(s, 1); - s = &s[2..]; - match b { - b'x' => { - let (b, rest) = backslash_x(s); - s = rest; - b - } - b'n' => b'\n', - b'r' => b'\r', - b't' => b'\t', - b'\\' => b'\\', - b'0' => b'\0', - b'\'' => b'\'', - b'"' => b'"', - b => panic!("unexpected byte {:?} after \\ character in byte literal", b), - } - } - b => { - s = &s[1..]; - b - } - }; - - assert_eq!(byte(s, 0), b'\''); - b - } - - pub fn parse_lit_char(mut s: &str) -> char { - assert_eq!(byte(s, 0), b'\''); - s = &s[1..]; - - let ch = match byte(s, 0) { - b'\\' => { - let b = byte(s, 1); - s = &s[2..]; - match b { - b'x' => { - let (byte, rest) = backslash_x(s); - s = rest; - assert!(byte <= 0x80, "Invalid \\x byte in string literal"); - char::from_u32(u32::from(byte)).unwrap() - } - b'u' => { - let (chr, rest) = backslash_u(s); - s = rest; - chr - } - b'n' => '\n', - b'r' => '\r', - b't' => '\t', - b'\\' => '\\', - b'0' => '\0', - b'\'' => '\'', - b'"' => '"', - b => panic!("unexpected byte {:?} after \\ character in byte literal", b), - } - } - _ => { - let ch = next_chr(s); - s = &s[ch.len_utf8()..]; - ch - } - }; - assert_eq!(s, "\'", "Expected end of char literal"); - ch - } - - fn backslash_x(s: &S) -> (u8, &S) - where - S: Index, Output = S> + AsRef<[u8]> + ?Sized, - { - let mut ch = 0; - let b0 = byte(s, 0); - let b1 = byte(s, 1); - ch += 0x10 - * match b0 { - b'0'...b'9' => b0 - b'0', - b'a'...b'f' => 10 + (b0 - b'a'), - b'A'...b'F' => 10 + (b0 - b'A'), - _ => panic!("unexpected non-hex character after \\x"), - }; - ch += match b1 { - b'0'...b'9' => b1 - b'0', - b'a'...b'f' => 10 + (b1 - b'a'), - b'A'...b'F' => 10 + (b1 - b'A'), - _ => panic!("unexpected non-hex character after \\x"), - }; - (ch, &s[2..]) - } - - fn backslash_u(mut s: &str) -> (char, &str) { - if byte(s, 0) != b'{' { - panic!("expected {{ after \\u"); - } - s = &s[1..]; - - let mut ch = 0; - for _ in 0..6 { - let b = byte(s, 0); - match b { - b'0'...b'9' => { - ch *= 0x10; - ch += u32::from(b - b'0'); - s = &s[1..]; - } - b'a'...b'f' => { - ch *= 0x10; - ch += u32::from(10 + b - b'a'); - s = &s[1..]; - } - b'A'...b'F' => { - ch *= 0x10; - ch += u32::from(10 + b - b'A'); - s = &s[1..]; - } - b'}' => break, - _ => panic!("unexpected non-hex character after \\u"), - } - } - assert!(byte(s, 0) == b'}'); - s = &s[1..]; - - if let Some(ch) = char::from_u32(ch) { - (ch, s) - } else { - panic!("character code {:x} is not a valid unicode character", ch); - } - } - - pub fn parse_lit_int(mut s: &str) -> Option { - let base = match (byte(s, 0), byte(s, 1)) { - (b'0', b'x') => { - s = &s[2..]; - 16 - } - (b'0', b'o') => { - s = &s[2..]; - 8 - } - (b'0', b'b') => { - s = &s[2..]; - 2 - } - (b'0'...b'9', _) => 10, - _ => unreachable!(), - }; - - let mut value = 0u64; - loop { - let b = byte(s, 0); - let digit = match b { - b'0'...b'9' => u64::from(b - b'0'), - b'a'...b'f' if base > 10 => 10 + u64::from(b - b'a'), - b'A'...b'F' if base > 10 => 10 + u64::from(b - b'A'), - b'_' => { - s = &s[1..]; - continue; - } - // NOTE: Looking at a floating point literal, we don't want to - // consider these integers. - b'.' if base == 10 => return None, - b'e' | b'E' if base == 10 => return None, - _ => break, - }; - - if digit >= base { - panic!("Unexpected digit {:x} out of base range", digit); - } - - value = match value.checked_mul(base) { - Some(value) => value, - None => return None, - }; - value = match value.checked_add(digit) { - Some(value) => value, - None => return None, - }; - s = &s[1..]; - } - - Some(value) - } - - pub fn parse_lit_float(input: &str) -> f64 { - // Rust's floating point literals are very similar to the ones parsed by - // the standard library, except that rust's literals can contain - // ignorable underscores. Let's remove those underscores. - let mut bytes = input.to_owned().into_bytes(); - let mut write = 0; - for read in 0..bytes.len() { - if bytes[read] == b'_' { - continue; // Don't increase write - } - if write != read { - let x = bytes[read]; - bytes[write] = x; - } - write += 1; - } - bytes.truncate(write); - let input = String::from_utf8(bytes).unwrap(); - let end = input.find('f').unwrap_or_else(|| input.len()); - input[..end].parse().unwrap() - } - - pub fn to_literal(s: &str) -> Literal { - let stream = s.parse::().unwrap(); - match stream.into_iter().next().unwrap() { - TokenTree::Literal(l) => l, - _ => unreachable!(), - } - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/lookahead.rs b/vendor/registry-40351f815f426200/syn/src/lookahead.rs deleted file mode 100644 index 0f5afe189..000000000 --- a/vendor/registry-40351f815f426200/syn/src/lookahead.rs +++ /dev/null @@ -1,168 +0,0 @@ -use std::cell::RefCell; - -use proc_macro2::{Delimiter, Span}; - -use buffer::Cursor; -use error::{self, Error}; -use sealed::lookahead::Sealed; -use span::IntoSpans; -use token::Token; - -/// Support for checking the next token in a stream to decide how to parse. -/// -/// An important advantage over [`ParseStream::peek`] is that here we -/// automatically construct an appropriate error message based on the token -/// alternatives that get peeked. If you are producing your own error message, -/// go ahead and use `ParseStream::peek` instead. -/// -/// Use [`ParseStream::lookahead1`] to construct this object. -/// -/// [`ParseStream::peek`]: struct.ParseBuffer.html#method.peek -/// [`ParseStream::lookahead1`]: struct.ParseBuffer.html#method.lookahead1 -/// -/// # Example -/// -/// ```edition2018 -/// use syn::{ConstParam, Ident, Lifetime, LifetimeDef, Result, Token, TypeParam}; -/// use syn::parse::{Parse, ParseStream}; -/// -/// // A generic parameter, a single one of the comma-separated elements inside -/// // angle brackets in: -/// // -/// // fn f() { ... } -/// // -/// // On invalid input, lookahead gives us a reasonable error message. -/// // -/// // error: expected one of: identifier, lifetime, `const` -/// // | -/// // 5 | fn f() {} -/// // | ^ -/// enum GenericParam { -/// Type(TypeParam), -/// Lifetime(LifetimeDef), -/// Const(ConstParam), -/// } -/// -/// impl Parse for GenericParam { -/// fn parse(input: ParseStream) -> Result { -/// let lookahead = input.lookahead1(); -/// if lookahead.peek(Ident) { -/// input.parse().map(GenericParam::Type) -/// } else if lookahead.peek(Lifetime) { -/// input.parse().map(GenericParam::Lifetime) -/// } else if lookahead.peek(Token![const]) { -/// input.parse().map(GenericParam::Const) -/// } else { -/// Err(lookahead.error()) -/// } -/// } -/// } -/// ``` -pub struct Lookahead1<'a> { - scope: Span, - cursor: Cursor<'a>, - comparisons: RefCell>, -} - -pub fn new(scope: Span, cursor: Cursor) -> Lookahead1 { - Lookahead1 { - scope: scope, - cursor: cursor, - comparisons: RefCell::new(Vec::new()), - } -} - -fn peek_impl( - lookahead: &Lookahead1, - peek: fn(Cursor) -> bool, - display: fn() -> &'static str, -) -> bool { - if peek(lookahead.cursor) { - return true; - } - lookahead.comparisons.borrow_mut().push(display()); - false -} - -impl<'a> Lookahead1<'a> { - /// Looks at the next token in the parse stream to determine whether it - /// matches the requested type of token. - /// - /// # Syntax - /// - /// Note that this method does not use turbofish syntax. Pass the peek type - /// inside of parentheses. - /// - /// - `input.peek(Token![struct])` - /// - `input.peek(Token![==])` - /// - `input.peek(Ident)` *(does not accept keywords)* - /// - `input.peek(Ident::peek_any)` - /// - `input.peek(Lifetime)` - /// - `input.peek(token::Brace)` - pub fn peek(&self, token: T) -> bool { - let _ = token; - peek_impl(self, T::Token::peek, T::Token::display) - } - - /// Triggers an error at the current position of the parse stream. - /// - /// The error message will identify all of the expected token types that - /// have been peeked against this lookahead instance. - pub fn error(self) -> Error { - let comparisons = self.comparisons.borrow(); - match comparisons.len() { - 0 => { - if self.cursor.eof() { - Error::new(self.scope, "unexpected end of input") - } else { - Error::new(self.cursor.span(), "unexpected token") - } - } - 1 => { - let message = format!("expected {}", comparisons[0]); - error::new_at(self.scope, self.cursor, message) - } - 2 => { - let message = format!("expected {} or {}", comparisons[0], comparisons[1]); - error::new_at(self.scope, self.cursor, message) - } - _ => { - let join = comparisons.join(", "); - let message = format!("expected one of: {}", join); - error::new_at(self.scope, self.cursor, message) - } - } - } -} - -/// Types that can be parsed by looking at just one token. -/// -/// Use [`ParseStream::peek`] to peek one of these types in a parse stream -/// without consuming it from the stream. -/// -/// This trait is sealed and cannot be implemented for types outside of Syn. -/// -/// [`ParseStream::peek`]: struct.ParseBuffer.html#method.peek -pub trait Peek: Sealed { - // Not public API. - #[doc(hidden)] - type Token: Token; -} - -impl T, T: Token> Peek for F { - type Token = T; -} - -pub enum TokenMarker {} - -impl IntoSpans for TokenMarker { - fn into_spans(self) -> S { - match self {} - } -} - -pub fn is_delimiter(cursor: Cursor, delimiter: Delimiter) -> bool { - cursor.group(delimiter).is_some() -} - -impl T, T: Token> Sealed for F {} diff --git a/vendor/registry-40351f815f426200/syn/src/mac.rs b/vendor/registry-40351f815f426200/syn/src/mac.rs deleted file mode 100644 index 46dc5dd57..000000000 --- a/vendor/registry-40351f815f426200/syn/src/mac.rs +++ /dev/null @@ -1,131 +0,0 @@ -use super::*; -use proc_macro2::TokenStream; -#[cfg(feature = "parsing")] -use proc_macro2::{Delimiter, TokenTree}; -use token::{Brace, Bracket, Paren}; - -#[cfg(feature = "parsing")] -use parse::{ParseStream, Result}; -#[cfg(feature = "extra-traits")] -use std::hash::{Hash, Hasher}; -#[cfg(feature = "extra-traits")] -use tt::TokenStreamHelper; - -ast_struct! { - /// A macro invocation: `println!("{}", mac)`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub struct Macro #manual_extra_traits { - pub path: Path, - pub bang_token: Token![!], - pub delimiter: MacroDelimiter, - pub tts: TokenStream, - } -} - -ast_enum! { - /// A grouping token that surrounds a macro body: `m!(...)` or `m!{...}` or `m![...]`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub enum MacroDelimiter { - Paren(Paren), - Brace(Brace), - Bracket(Bracket), - } -} - -#[cfg(feature = "extra-traits")] -impl Eq for Macro {} - -#[cfg(feature = "extra-traits")] -impl PartialEq for Macro { - fn eq(&self, other: &Self) -> bool { - self.path == other.path - && self.bang_token == other.bang_token - && self.delimiter == other.delimiter - && TokenStreamHelper(&self.tts) == TokenStreamHelper(&other.tts) - } -} - -#[cfg(feature = "extra-traits")] -impl Hash for Macro { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - self.path.hash(state); - self.bang_token.hash(state); - self.delimiter.hash(state); - TokenStreamHelper(&self.tts).hash(state); - } -} - -#[cfg(feature = "parsing")] -pub fn parse_delimiter(input: ParseStream) -> Result<(MacroDelimiter, TokenStream)> { - input.step(|cursor| { - if let Some((TokenTree::Group(g), rest)) = cursor.token_tree() { - let span = g.span(); - let delimiter = match g.delimiter() { - Delimiter::Parenthesis => MacroDelimiter::Paren(Paren(span)), - Delimiter::Brace => MacroDelimiter::Brace(Brace(span)), - Delimiter::Bracket => MacroDelimiter::Bracket(Bracket(span)), - Delimiter::None => { - return Err(cursor.error("expected delimiter")); - } - }; - Ok(((delimiter, g.stream().clone()), rest)) - } else { - Err(cursor.error("expected delimiter")) - } - }) -} - -#[cfg(feature = "parsing")] -pub mod parsing { - use super::*; - - use parse::{Parse, ParseStream, Result}; - - impl Parse for Macro { - fn parse(input: ParseStream) -> Result { - let tts; - Ok(Macro { - path: input.call(Path::parse_mod_style)?, - bang_token: input.parse()?, - delimiter: { - let (delimiter, content) = parse_delimiter(input)?; - tts = content; - delimiter - }, - tts: tts, - }) - } - } -} - -#[cfg(feature = "printing")] -mod printing { - use super::*; - use proc_macro2::TokenStream; - use quote::ToTokens; - - impl ToTokens for Macro { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.path.to_tokens(tokens); - self.bang_token.to_tokens(tokens); - match self.delimiter { - MacroDelimiter::Paren(ref paren) => { - paren.surround(tokens, |tokens| self.tts.to_tokens(tokens)); - } - MacroDelimiter::Brace(ref brace) => { - brace.surround(tokens, |tokens| self.tts.to_tokens(tokens)); - } - MacroDelimiter::Bracket(ref bracket) => { - bracket.surround(tokens, |tokens| self.tts.to_tokens(tokens)); - } - } - } - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/macros.rs b/vendor/registry-40351f815f426200/syn/src/macros.rs deleted file mode 100644 index bb59063a6..000000000 --- a/vendor/registry-40351f815f426200/syn/src/macros.rs +++ /dev/null @@ -1,165 +0,0 @@ -#[cfg(any(feature = "full", feature = "derive"))] -macro_rules! ast_struct { - ( - $(#[$attr:meta])* - pub struct $name:ident #full $($rest:tt)* - ) => { - #[cfg(feature = "full")] - $(#[$attr])* - #[cfg_attr(feature = "extra-traits", derive(Debug, Eq, PartialEq, Hash))] - #[cfg_attr(feature = "clone-impls", derive(Clone))] - pub struct $name $($rest)* - - #[cfg(not(feature = "full"))] - $(#[$attr])* - #[cfg_attr(feature = "extra-traits", derive(Debug, Eq, PartialEq, Hash))] - #[cfg_attr(feature = "clone-impls", derive(Clone))] - pub struct $name { - _noconstruct: (), - } - }; - - ( - $(#[$attr:meta])* - pub struct $name:ident #manual_extra_traits $($rest:tt)* - ) => { - $(#[$attr])* - #[cfg_attr(feature = "extra-traits", derive(Debug))] - #[cfg_attr(feature = "clone-impls", derive(Clone))] - pub struct $name $($rest)* - }; - - ( - $(#[$attr:meta])* - pub struct $name:ident $($rest:tt)* - ) => { - $(#[$attr])* - #[cfg_attr(feature = "extra-traits", derive(Debug, Eq, PartialEq, Hash))] - #[cfg_attr(feature = "clone-impls", derive(Clone))] - pub struct $name $($rest)* - }; -} - -#[cfg(any(feature = "full", feature = "derive"))] -macro_rules! ast_enum { - ( - $(#[$enum_attr:meta])* - pub enum $name:ident $(# $tags:ident)* { $($variants:tt)* } - ) => ( - $(#[$enum_attr])* - #[cfg_attr(feature = "extra-traits", derive(Debug, Eq, PartialEq, Hash))] - #[cfg_attr(feature = "clone-impls", derive(Clone))] - pub enum $name { - $($variants)* - } - ) -} - -#[cfg(any(feature = "full", feature = "derive"))] -macro_rules! ast_enum_of_structs { - ( - $(#[$enum_attr:meta])* - pub enum $name:ident { - $( - $(#[$variant_attr:meta])* - pub $variant:ident $( ($member:ident $($rest:tt)*) )*, - )* - } - - $($remaining:tt)* - ) => ( - ast_enum! { - $(#[$enum_attr])* - pub enum $name { - $( - $(#[$variant_attr])* - $variant $( ($member) )*, - )* - } - } - - $( - maybe_ast_struct! { - $(#[$variant_attr])* - $( - pub struct $member $($rest)* - )* - } - - $( - impl From<$member> for $name { - fn from(e: $member) -> $name { - $name::$variant(e) - } - } - )* - )* - - #[cfg(feature = "printing")] - generate_to_tokens! { - $($remaining)* - () - tokens - $name { $($variant $( [$($rest)*] )*,)* } - } - ) -} - -#[cfg(all(feature = "printing", any(feature = "full", feature = "derive")))] -macro_rules! generate_to_tokens { - (do_not_generate_to_tokens $($foo:tt)*) => (); - - (($($arms:tt)*) $tokens:ident $name:ident { $variant:ident, $($next:tt)*}) => { - generate_to_tokens!( - ($($arms)* $name::$variant => {}) - $tokens $name { $($next)* } - ); - }; - - (($($arms:tt)*) $tokens:ident $name:ident { $variant:ident [$($rest:tt)*], $($next:tt)*}) => { - generate_to_tokens!( - ($($arms)* $name::$variant(ref _e) => to_tokens_call!(_e, $tokens, $($rest)*),) - $tokens $name { $($next)* } - ); - }; - - (($($arms:tt)*) $tokens:ident $name:ident {}) => { - impl ::quote::ToTokens for $name { - fn to_tokens(&self, $tokens: &mut ::proc_macro2::TokenStream) { - match *self { - $($arms)* - } - } - } - }; -} - -#[cfg(all(feature = "printing", feature = "full"))] -macro_rules! to_tokens_call { - ($e:ident, $tokens:ident, $($rest:tt)*) => { - $e.to_tokens($tokens) - }; -} - -#[cfg(all(feature = "printing", feature = "derive", not(feature = "full")))] -macro_rules! to_tokens_call { - // If the variant is marked as #full, don't auto-generate to-tokens for it. - ($e:ident, $tokens:ident, #full $($rest:tt)*) => { - unreachable!() - }; - ($e:ident, $tokens:ident, $($rest:tt)*) => { - $e.to_tokens($tokens) - }; -} - -#[cfg(any(feature = "full", feature = "derive"))] -macro_rules! maybe_ast_struct { - ( - $(#[$attr:meta])* - $( - pub struct $name:ident - )* - ) => (); - - ($($rest:tt)*) => (ast_struct! { $($rest)* }); -} diff --git a/vendor/registry-40351f815f426200/syn/src/op.rs b/vendor/registry-40351f815f426200/syn/src/op.rs deleted file mode 100644 index 96d8c9958..000000000 --- a/vendor/registry-40351f815f426200/syn/src/op.rs +++ /dev/null @@ -1,231 +0,0 @@ -ast_enum! { - /// A binary operator: `+`, `+=`, `&`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - #[cfg_attr(feature = "clone-impls", derive(Copy))] - pub enum BinOp { - /// The `+` operator (addition) - Add(Token![+]), - /// The `-` operator (subtraction) - Sub(Token![-]), - /// The `*` operator (multiplication) - Mul(Token![*]), - /// The `/` operator (division) - Div(Token![/]), - /// The `%` operator (modulus) - Rem(Token![%]), - /// The `&&` operator (logical and) - And(Token![&&]), - /// The `||` operator (logical or) - Or(Token![||]), - /// The `^` operator (bitwise xor) - BitXor(Token![^]), - /// The `&` operator (bitwise and) - BitAnd(Token![&]), - /// The `|` operator (bitwise or) - BitOr(Token![|]), - /// The `<<` operator (shift left) - Shl(Token![<<]), - /// The `>>` operator (shift right) - Shr(Token![>>]), - /// The `==` operator (equality) - Eq(Token![==]), - /// The `<` operator (less than) - Lt(Token![<]), - /// The `<=` operator (less than or equal to) - Le(Token![<=]), - /// The `!=` operator (not equal to) - Ne(Token![!=]), - /// The `>=` operator (greater than or equal to) - Ge(Token![>=]), - /// The `>` operator (greater than) - Gt(Token![>]), - /// The `+=` operator - AddEq(Token![+=]), - /// The `-=` operator - SubEq(Token![-=]), - /// The `*=` operator - MulEq(Token![*=]), - /// The `/=` operator - DivEq(Token![/=]), - /// The `%=` operator - RemEq(Token![%=]), - /// The `^=` operator - BitXorEq(Token![^=]), - /// The `&=` operator - BitAndEq(Token![&=]), - /// The `|=` operator - BitOrEq(Token![|=]), - /// The `<<=` operator - ShlEq(Token![<<=]), - /// The `>>=` operator - ShrEq(Token![>>=]), - } -} - -ast_enum! { - /// A unary operator: `*`, `!`, `-`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - #[cfg_attr(feature = "clone-impls", derive(Copy))] - pub enum UnOp { - /// The `*` operator for dereferencing - Deref(Token![*]), - /// The `!` operator for logical inversion - Not(Token![!]), - /// The `-` operator for negation - Neg(Token![-]), - } -} - -#[cfg(feature = "parsing")] -pub mod parsing { - use super::*; - - use parse::{Parse, ParseStream, Result}; - - fn parse_binop(input: ParseStream) -> Result { - if input.peek(Token![&&]) { - input.parse().map(BinOp::And) - } else if input.peek(Token![||]) { - input.parse().map(BinOp::Or) - } else if input.peek(Token![<<]) { - input.parse().map(BinOp::Shl) - } else if input.peek(Token![>>]) { - input.parse().map(BinOp::Shr) - } else if input.peek(Token![==]) { - input.parse().map(BinOp::Eq) - } else if input.peek(Token![<=]) { - input.parse().map(BinOp::Le) - } else if input.peek(Token![!=]) { - input.parse().map(BinOp::Ne) - } else if input.peek(Token![>=]) { - input.parse().map(BinOp::Ge) - } else if input.peek(Token![+]) { - input.parse().map(BinOp::Add) - } else if input.peek(Token![-]) { - input.parse().map(BinOp::Sub) - } else if input.peek(Token![*]) { - input.parse().map(BinOp::Mul) - } else if input.peek(Token![/]) { - input.parse().map(BinOp::Div) - } else if input.peek(Token![%]) { - input.parse().map(BinOp::Rem) - } else if input.peek(Token![^]) { - input.parse().map(BinOp::BitXor) - } else if input.peek(Token![&]) { - input.parse().map(BinOp::BitAnd) - } else if input.peek(Token![|]) { - input.parse().map(BinOp::BitOr) - } else if input.peek(Token![<]) { - input.parse().map(BinOp::Lt) - } else if input.peek(Token![>]) { - input.parse().map(BinOp::Gt) - } else { - Err(input.error("expected binary operator")) - } - } - - impl Parse for BinOp { - #[cfg(not(feature = "full"))] - fn parse(input: ParseStream) -> Result { - parse_binop(input) - } - - #[cfg(feature = "full")] - fn parse(input: ParseStream) -> Result { - if input.peek(Token![+=]) { - input.parse().map(BinOp::AddEq) - } else if input.peek(Token![-=]) { - input.parse().map(BinOp::SubEq) - } else if input.peek(Token![*=]) { - input.parse().map(BinOp::MulEq) - } else if input.peek(Token![/=]) { - input.parse().map(BinOp::DivEq) - } else if input.peek(Token![%=]) { - input.parse().map(BinOp::RemEq) - } else if input.peek(Token![^=]) { - input.parse().map(BinOp::BitXorEq) - } else if input.peek(Token![&=]) { - input.parse().map(BinOp::BitAndEq) - } else if input.peek(Token![|=]) { - input.parse().map(BinOp::BitOrEq) - } else if input.peek(Token![<<=]) { - input.parse().map(BinOp::ShlEq) - } else if input.peek(Token![>>=]) { - input.parse().map(BinOp::ShrEq) - } else { - parse_binop(input) - } - } - } - - impl Parse for UnOp { - fn parse(input: ParseStream) -> Result { - let lookahead = input.lookahead1(); - if lookahead.peek(Token![*]) { - input.parse().map(UnOp::Deref) - } else if lookahead.peek(Token![!]) { - input.parse().map(UnOp::Not) - } else if lookahead.peek(Token![-]) { - input.parse().map(UnOp::Neg) - } else { - Err(lookahead.error()) - } - } - } -} - -#[cfg(feature = "printing")] -mod printing { - use super::*; - use proc_macro2::TokenStream; - use quote::ToTokens; - - impl ToTokens for BinOp { - fn to_tokens(&self, tokens: &mut TokenStream) { - match *self { - BinOp::Add(ref t) => t.to_tokens(tokens), - BinOp::Sub(ref t) => t.to_tokens(tokens), - BinOp::Mul(ref t) => t.to_tokens(tokens), - BinOp::Div(ref t) => t.to_tokens(tokens), - BinOp::Rem(ref t) => t.to_tokens(tokens), - BinOp::And(ref t) => t.to_tokens(tokens), - BinOp::Or(ref t) => t.to_tokens(tokens), - BinOp::BitXor(ref t) => t.to_tokens(tokens), - BinOp::BitAnd(ref t) => t.to_tokens(tokens), - BinOp::BitOr(ref t) => t.to_tokens(tokens), - BinOp::Shl(ref t) => t.to_tokens(tokens), - BinOp::Shr(ref t) => t.to_tokens(tokens), - BinOp::Eq(ref t) => t.to_tokens(tokens), - BinOp::Lt(ref t) => t.to_tokens(tokens), - BinOp::Le(ref t) => t.to_tokens(tokens), - BinOp::Ne(ref t) => t.to_tokens(tokens), - BinOp::Ge(ref t) => t.to_tokens(tokens), - BinOp::Gt(ref t) => t.to_tokens(tokens), - BinOp::AddEq(ref t) => t.to_tokens(tokens), - BinOp::SubEq(ref t) => t.to_tokens(tokens), - BinOp::MulEq(ref t) => t.to_tokens(tokens), - BinOp::DivEq(ref t) => t.to_tokens(tokens), - BinOp::RemEq(ref t) => t.to_tokens(tokens), - BinOp::BitXorEq(ref t) => t.to_tokens(tokens), - BinOp::BitAndEq(ref t) => t.to_tokens(tokens), - BinOp::BitOrEq(ref t) => t.to_tokens(tokens), - BinOp::ShlEq(ref t) => t.to_tokens(tokens), - BinOp::ShrEq(ref t) => t.to_tokens(tokens), - } - } - } - - impl ToTokens for UnOp { - fn to_tokens(&self, tokens: &mut TokenStream) { - match *self { - UnOp::Deref(ref t) => t.to_tokens(tokens), - UnOp::Not(ref t) => t.to_tokens(tokens), - UnOp::Neg(ref t) => t.to_tokens(tokens), - } - } - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/parse.rs b/vendor/registry-40351f815f426200/syn/src/parse.rs deleted file mode 100644 index c5786e740..000000000 --- a/vendor/registry-40351f815f426200/syn/src/parse.rs +++ /dev/null @@ -1,1111 +0,0 @@ -//! Parsing interface for parsing a token stream into a syntax tree node. -//! -//! Parsing in Syn is built on parser functions that take in a [`ParseStream`] -//! and produce a [`Result`] where `T` is some syntax tree node. Underlying -//! these parser functions is a lower level mechanism built around the -//! [`Cursor`] type. `Cursor` is a cheaply copyable cursor over a range of -//! tokens in a token stream. -//! -//! [`ParseStream`]: type.ParseStream.html -//! [`Result`]: type.Result.html -//! [`Cursor`]: ../buffer/index.html -//! -//! # Example -//! -//! Here is a snippet of parsing code to get a feel for the style of the -//! library. We define data structures for a subset of Rust syntax including -//! enums (not shown) and structs, then provide implementations of the [`Parse`] -//! trait to parse these syntax tree data structures from a token stream. -//! -//! Once `Parse` impls have been defined, they can be called conveniently from a -//! procedural macro through [`parse_macro_input!`] as shown at the bottom of -//! the snippet. If the caller provides syntactically invalid input to the -//! procedural macro, they will receive a helpful compiler error message -//! pointing out the exact token that triggered the failure to parse. -//! -//! [`parse_macro_input!`]: ../macro.parse_macro_input.html -//! -//! ```edition2018 -//! extern crate proc_macro; -//! -//! use proc_macro::TokenStream; -//! use syn::{braced, parse_macro_input, token, Field, Ident, Result, Token}; -//! use syn::parse::{Parse, ParseStream}; -//! use syn::punctuated::Punctuated; -//! -//! enum Item { -//! Struct(ItemStruct), -//! Enum(ItemEnum), -//! } -//! -//! struct ItemStruct { -//! struct_token: Token![struct], -//! ident: Ident, -//! brace_token: token::Brace, -//! fields: Punctuated, -//! } -//! # -//! # enum ItemEnum {} -//! -//! impl Parse for Item { -//! fn parse(input: ParseStream) -> Result { -//! let lookahead = input.lookahead1(); -//! if lookahead.peek(Token![struct]) { -//! input.parse().map(Item::Struct) -//! } else if lookahead.peek(Token![enum]) { -//! input.parse().map(Item::Enum) -//! } else { -//! Err(lookahead.error()) -//! } -//! } -//! } -//! -//! impl Parse for ItemStruct { -//! fn parse(input: ParseStream) -> Result { -//! let content; -//! Ok(ItemStruct { -//! struct_token: input.parse()?, -//! ident: input.parse()?, -//! brace_token: braced!(content in input), -//! fields: content.parse_terminated(Field::parse_named)?, -//! }) -//! } -//! } -//! # -//! # impl Parse for ItemEnum { -//! # fn parse(input: ParseStream) -> Result { -//! # unimplemented!() -//! # } -//! # } -//! -//! # const IGNORE: &str = stringify! { -//! #[proc_macro] -//! # }; -//! pub fn my_macro(tokens: TokenStream) -> TokenStream { -//! let input = parse_macro_input!(tokens as Item); -//! -//! /* ... */ -//! # "".parse().unwrap() -//! } -//! ``` -//! -//! # The `syn::parse*` functions -//! -//! The [`syn::parse`], [`syn::parse2`], and [`syn::parse_str`] functions serve -//! as an entry point for parsing syntax tree nodes that can be parsed in an -//! obvious default way. These functions can return any syntax tree node that -//! implements the [`Parse`] trait, which includes most types in Syn. -//! -//! [`syn::parse`]: ../fn.parse.html -//! [`syn::parse2`]: ../fn.parse2.html -//! [`syn::parse_str`]: ../fn.parse_str.html -//! [`Parse`]: trait.Parse.html -//! -//! ```edition2018 -//! use syn::Type; -//! -//! # fn run_parser() -> syn::Result<()> { -//! let t: Type = syn::parse_str("std::collections::HashMap")?; -//! # Ok(()) -//! # } -//! # -//! # fn main() { -//! # run_parser().unwrap(); -//! # } -//! ``` -//! -//! The [`parse_quote!`] macro also uses this approach. -//! -//! [`parse_quote!`]: ../macro.parse_quote.html -//! -//! # The `Parser` trait -//! -//! Some types can be parsed in several ways depending on context. For example -//! an [`Attribute`] can be either "outer" like `#[...]` or "inner" like -//! `#![...]` and parsing the wrong one would be a bug. Similarly [`Punctuated`] -//! may or may not allow trailing punctuation, and parsing it the wrong way -//! would either reject valid input or accept invalid input. -//! -//! [`Attribute`]: ../struct.Attribute.html -//! [`Punctuated`]: ../punctuated/index.html -//! -//! The `Parse` trait is not implemented in these cases because there is no good -//! behavior to consider the default. -//! -//! ```edition2018,compile_fail -//! # extern crate proc_macro; -//! # -//! # use syn::punctuated::Punctuated; -//! # use syn::{PathSegment, Result, Token}; -//! # -//! # fn f(tokens: proc_macro::TokenStream) -> Result<()> { -//! # -//! // Can't parse `Punctuated` without knowing whether trailing punctuation -//! // should be allowed in this context. -//! let path: Punctuated = syn::parse(tokens)?; -//! # -//! # Ok(()) -//! # } -//! ``` -//! -//! In these cases the types provide a choice of parser functions rather than a -//! single `Parse` implementation, and those parser functions can be invoked -//! through the [`Parser`] trait. -//! -//! [`Parser`]: trait.Parser.html -//! -//! ```edition2018 -//! extern crate proc_macro; -//! -//! use proc_macro::TokenStream; -//! use syn::parse::Parser; -//! use syn::punctuated::Punctuated; -//! use syn::{Attribute, Expr, PathSegment, Result, Token}; -//! -//! fn call_some_parser_methods(input: TokenStream) -> Result<()> { -//! // Parse a nonempty sequence of path segments separated by `::` punctuation -//! // with no trailing punctuation. -//! let tokens = input.clone(); -//! let parser = Punctuated::::parse_separated_nonempty; -//! let _path = parser.parse(tokens)?; -//! -//! // Parse a possibly empty sequence of expressions terminated by commas with -//! // an optional trailing punctuation. -//! let tokens = input.clone(); -//! let parser = Punctuated::::parse_terminated; -//! let _args = parser.parse(tokens)?; -//! -//! // Parse zero or more outer attributes but not inner attributes. -//! let tokens = input.clone(); -//! let parser = Attribute::parse_outer; -//! let _attrs = parser.parse(tokens)?; -//! -//! Ok(()) -//! } -//! ``` -//! -//! --- -//! -//! *This module is available if Syn is built with the `"parsing"` feature.* - -use std::cell::Cell; -use std::fmt::{self, Debug, Display}; -use std::marker::PhantomData; -use std::mem; -use std::ops::Deref; -use std::rc::Rc; -use std::str::FromStr; - -#[cfg(all( - not(all(target_arch = "wasm32", target_os = "unknown")), - feature = "proc-macro" -))] -use proc_macro; -use proc_macro2::{self, Delimiter, Group, Literal, Punct, Span, TokenStream, TokenTree}; - -use buffer::{Cursor, TokenBuffer}; -use error; -use lookahead; -use private; -use punctuated::Punctuated; -use token::Token; - -pub use error::{Error, Result}; -pub use lookahead::{Lookahead1, Peek}; - -/// Parsing interface implemented by all types that can be parsed in a default -/// way from a token stream. -pub trait Parse: Sized { - fn parse(input: ParseStream) -> Result; -} - -/// Input to a Syn parser function. -/// -/// See the methods of this type under the documentation of [`ParseBuffer`]. For -/// an overview of parsing in Syn, refer to the [module documentation]. -/// -/// [module documentation]: index.html -pub type ParseStream<'a> = &'a ParseBuffer<'a>; - -/// Cursor position within a buffered token stream. -/// -/// This type is more commonly used through the type alias [`ParseStream`] which -/// is an alias for `&ParseBuffer`. -/// -/// `ParseStream` is the input type for all parser functions in Syn. They have -/// the signature `fn(ParseStream) -> Result`. -/// -/// ## Calling a parser function -/// -/// There is no public way to construct a `ParseBuffer`. Instead, if you are -/// looking to invoke a parser function that requires `ParseStream` as input, -/// you will need to go through one of the public parsing entry points. -/// -/// - The [`parse_macro_input!`] macro if parsing input of a procedural macro; -/// - One of [the `syn::parse*` functions][syn-parse]; or -/// - A method of the [`Parser`] trait. -/// -/// [`parse_macro_input!`]: ../macro.parse_macro_input.html -/// [syn-parse]: index.html#the-synparse-functions -pub struct ParseBuffer<'a> { - scope: Span, - // Instead of Cell> so that ParseBuffer<'a> is covariant in 'a. - // The rest of the code in this module needs to be careful that only a - // cursor derived from this `cell` is ever assigned to this `cell`. - // - // Cell> cannot be covariant in 'a because then we could take a - // ParseBuffer<'a>, upcast to ParseBuffer<'short> for some lifetime shorter - // than 'a, and then assign a Cursor<'short> into the Cell. - // - // By extension, it would not be safe to expose an API that accepts a - // Cursor<'a> and trusts that it lives as long as the cursor currently in - // the cell. - cell: Cell>, - marker: PhantomData>, - unexpected: Rc>>, -} - -impl<'a> Drop for ParseBuffer<'a> { - fn drop(&mut self) { - if !self.is_empty() && self.unexpected.get().is_none() { - self.unexpected.set(Some(self.cursor().span())); - } - } -} - -impl<'a> Display for ParseBuffer<'a> { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - Display::fmt(&self.cursor().token_stream(), f) - } -} - -impl<'a> Debug for ParseBuffer<'a> { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - Debug::fmt(&self.cursor().token_stream(), f) - } -} - -/// Cursor state associated with speculative parsing. -/// -/// This type is the input of the closure provided to [`ParseStream::step`]. -/// -/// [`ParseStream::step`]: struct.ParseBuffer.html#method.step -/// -/// # Example -/// -/// ```edition2018 -/// use proc_macro2::TokenTree; -/// use syn::Result; -/// use syn::parse::ParseStream; -/// -/// // This function advances the stream past the next occurrence of `@`. If -/// // no `@` is present in the stream, the stream position is unchanged and -/// // an error is returned. -/// fn skip_past_next_at(input: ParseStream) -> Result<()> { -/// input.step(|cursor| { -/// let mut rest = *cursor; -/// while let Some((tt, next)) = rest.token_tree() { -/// match &tt { -/// TokenTree::Punct(punct) if punct.as_char() == '@' => { -/// return Ok(((), next)); -/// } -/// _ => rest = next, -/// } -/// } -/// Err(cursor.error("no `@` was found after this point")) -/// }) -/// } -/// # -/// # fn remainder_after_skipping_past_next_at( -/// # input: ParseStream, -/// # ) -> Result { -/// # skip_past_next_at(input)?; -/// # input.parse() -/// # } -/// # -/// # fn main() { -/// # use syn::parse::Parser; -/// # let remainder = remainder_after_skipping_past_next_at -/// # .parse_str("a @ b c") -/// # .unwrap(); -/// # assert_eq!(remainder.to_string(), "b c"); -/// # } -/// ``` -#[derive(Copy, Clone)] -pub struct StepCursor<'c, 'a> { - scope: Span, - // This field is covariant in 'c. - cursor: Cursor<'c>, - // This field is contravariant in 'c. Together these make StepCursor - // invariant in 'c. Also covariant in 'a. The user cannot cast 'c to a - // different lifetime but can upcast into a StepCursor with a shorter - // lifetime 'a. - // - // As long as we only ever construct a StepCursor for which 'c outlives 'a, - // this means if ever a StepCursor<'c, 'a> exists we are guaranteed that 'c - // outlives 'a. - marker: PhantomData) -> Cursor<'a>>, -} - -impl<'c, 'a> Deref for StepCursor<'c, 'a> { - type Target = Cursor<'c>; - - fn deref(&self) -> &Self::Target { - &self.cursor - } -} - -impl<'c, 'a> StepCursor<'c, 'a> { - /// Triggers an error at the current position of the parse stream. - /// - /// The `ParseStream::step` invocation will return this same error without - /// advancing the stream state. - pub fn error(self, message: T) -> Error { - error::new_at(self.scope, self.cursor, message) - } -} - -impl private { - pub fn advance_step_cursor<'c, 'a>(proof: StepCursor<'c, 'a>, to: Cursor<'c>) -> Cursor<'a> { - // Refer to the comments within the StepCursor definition. We use the - // fact that a StepCursor<'c, 'a> exists as proof that 'c outlives 'a. - // Cursor is covariant in its lifetime parameter so we can cast a - // Cursor<'c> to one with the shorter lifetime Cursor<'a>. - let _ = proof; - unsafe { mem::transmute::, Cursor<'a>>(to) } - } -} - -fn skip(input: ParseStream) -> bool { - input - .step(|cursor| { - if let Some((_lifetime, rest)) = cursor.lifetime() { - Ok((true, rest)) - } else if let Some((_token, rest)) = cursor.token_tree() { - Ok((true, rest)) - } else { - Ok((false, *cursor)) - } - }) - .unwrap() -} - -impl private { - pub fn new_parse_buffer( - scope: Span, - cursor: Cursor, - unexpected: Rc>>, - ) -> ParseBuffer { - ParseBuffer { - scope: scope, - // See comment on `cell` in the struct definition. - cell: Cell::new(unsafe { mem::transmute::>(cursor) }), - marker: PhantomData, - unexpected: unexpected, - } - } - - pub fn get_unexpected(buffer: &ParseBuffer) -> Rc>> { - buffer.unexpected.clone() - } -} - -impl<'a> ParseBuffer<'a> { - /// Parses a syntax tree node of type `T`, advancing the position of our - /// parse stream past it. - pub fn parse(&self) -> Result { - T::parse(self) - } - - /// Calls the given parser function to parse a syntax tree node of type `T` - /// from this stream. - /// - /// # Example - /// - /// The parser below invokes [`Attribute::parse_outer`] to parse a vector of - /// zero or more outer attributes. - /// - /// [`Attribute::parse_outer`]: ../struct.Attribute.html#method.parse_outer - /// - /// ```edition2018 - /// use syn::{Attribute, Ident, Result, Token}; - /// use syn::parse::{Parse, ParseStream}; - /// - /// // Parses a unit struct with attributes. - /// // - /// // #[path = "s.tmpl"] - /// // struct S; - /// struct UnitStruct { - /// attrs: Vec, - /// struct_token: Token![struct], - /// name: Ident, - /// semi_token: Token![;], - /// } - /// - /// impl Parse for UnitStruct { - /// fn parse(input: ParseStream) -> Result { - /// Ok(UnitStruct { - /// attrs: input.call(Attribute::parse_outer)?, - /// struct_token: input.parse()?, - /// name: input.parse()?, - /// semi_token: input.parse()?, - /// }) - /// } - /// } - /// ``` - pub fn call(&self, function: fn(ParseStream) -> Result) -> Result { - function(self) - } - - /// Looks at the next token in the parse stream to determine whether it - /// matches the requested type of token. - /// - /// Does not advance the position of the parse stream. - /// - /// # Syntax - /// - /// Note that this method does not use turbofish syntax. Pass the peek type - /// inside of parentheses. - /// - /// - `input.peek(Token![struct])` - /// - `input.peek(Token![==])` - /// - `input.peek(Ident)` *(does not accept keywords)* - /// - `input.peek(Ident::peek_any)` - /// - `input.peek(Lifetime)` - /// - `input.peek(token::Brace)` - /// - /// # Example - /// - /// In this example we finish parsing the list of supertraits when the next - /// token in the input is either `where` or an opening curly brace. - /// - /// ```edition2018 - /// use syn::{braced, token, Generics, Ident, Result, Token, TypeParamBound}; - /// use syn::parse::{Parse, ParseStream}; - /// use syn::punctuated::Punctuated; - /// - /// // Parses a trait definition containing no associated items. - /// // - /// // trait Marker<'de, T>: A + B<'de> where Box: Clone {} - /// struct MarkerTrait { - /// trait_token: Token![trait], - /// ident: Ident, - /// generics: Generics, - /// colon_token: Option, - /// supertraits: Punctuated, - /// brace_token: token::Brace, - /// } - /// - /// impl Parse for MarkerTrait { - /// fn parse(input: ParseStream) -> Result { - /// let trait_token: Token![trait] = input.parse()?; - /// let ident: Ident = input.parse()?; - /// let mut generics: Generics = input.parse()?; - /// let colon_token: Option = input.parse()?; - /// - /// let mut supertraits = Punctuated::new(); - /// if colon_token.is_some() { - /// loop { - /// supertraits.push_value(input.parse()?); - /// if input.peek(Token![where]) || input.peek(token::Brace) { - /// break; - /// } - /// supertraits.push_punct(input.parse()?); - /// } - /// } - /// - /// generics.where_clause = input.parse()?; - /// let content; - /// let empty_brace_token = braced!(content in input); - /// - /// Ok(MarkerTrait { - /// trait_token: trait_token, - /// ident: ident, - /// generics: generics, - /// colon_token: colon_token, - /// supertraits: supertraits, - /// brace_token: empty_brace_token, - /// }) - /// } - /// } - /// ``` - pub fn peek(&self, token: T) -> bool { - let _ = token; - T::Token::peek(self.cursor()) - } - - /// Looks at the second-next token in the parse stream. - /// - /// This is commonly useful as a way to implement contextual keywords. - /// - /// # Example - /// - /// This example needs to use `peek2` because the symbol `union` is not a - /// keyword in Rust. We can't use just `peek` and decide to parse a union if - /// the very next token is `union`, because someone is free to write a `mod - /// union` and a macro invocation that looks like `union::some_macro! { ... - /// }`. In other words `union` is a contextual keyword. - /// - /// ```edition2018 - /// use syn::{Ident, ItemUnion, Macro, Result, Token}; - /// use syn::parse::{Parse, ParseStream}; - /// - /// // Parses either a union or a macro invocation. - /// enum UnionOrMacro { - /// // union MaybeUninit { uninit: (), value: T } - /// Union(ItemUnion), - /// // lazy_static! { ... } - /// Macro(Macro), - /// } - /// - /// impl Parse for UnionOrMacro { - /// fn parse(input: ParseStream) -> Result { - /// if input.peek(Token![union]) && input.peek2(Ident) { - /// input.parse().map(UnionOrMacro::Union) - /// } else { - /// input.parse().map(UnionOrMacro::Macro) - /// } - /// } - /// } - /// ``` - pub fn peek2(&self, token: T) -> bool { - let ahead = self.fork(); - skip(&ahead) && ahead.peek(token) - } - - /// Looks at the third-next token in the parse stream. - pub fn peek3(&self, token: T) -> bool { - let ahead = self.fork(); - skip(&ahead) && skip(&ahead) && ahead.peek(token) - } - - /// Parses zero or more occurrences of `T` separated by punctuation of type - /// `P`, with optional trailing punctuation. - /// - /// Parsing continues until the end of this parse stream. The entire content - /// of this parse stream must consist of `T` and `P`. - /// - /// # Example - /// - /// ```edition2018 - /// # use quote::quote; - /// # - /// use syn::{parenthesized, token, Ident, Result, Token, Type}; - /// use syn::parse::{Parse, ParseStream}; - /// use syn::punctuated::Punctuated; - /// - /// // Parse a simplified tuple struct syntax like: - /// // - /// // struct S(A, B); - /// struct TupleStruct { - /// struct_token: Token![struct], - /// ident: Ident, - /// paren_token: token::Paren, - /// fields: Punctuated, - /// semi_token: Token![;], - /// } - /// - /// impl Parse for TupleStruct { - /// fn parse(input: ParseStream) -> Result { - /// let content; - /// Ok(TupleStruct { - /// struct_token: input.parse()?, - /// ident: input.parse()?, - /// paren_token: parenthesized!(content in input), - /// fields: content.parse_terminated(Type::parse)?, - /// semi_token: input.parse()?, - /// }) - /// } - /// } - /// # - /// # fn main() { - /// # let input = quote! { - /// # struct S(A, B); - /// # }; - /// # syn::parse2::(input).unwrap(); - /// # } - /// ``` - pub fn parse_terminated( - &self, - parser: fn(ParseStream) -> Result, - ) -> Result> { - Punctuated::parse_terminated_with(self, parser) - } - - /// Returns whether there are tokens remaining in this stream. - /// - /// This method returns true at the end of the content of a set of - /// delimiters, as well as at the very end of the complete macro input. - /// - /// # Example - /// - /// ```edition2018 - /// use syn::{braced, token, Ident, Item, Result, Token}; - /// use syn::parse::{Parse, ParseStream}; - /// - /// // Parses a Rust `mod m { ... }` containing zero or more items. - /// struct Mod { - /// mod_token: Token![mod], - /// name: Ident, - /// brace_token: token::Brace, - /// items: Vec, - /// } - /// - /// impl Parse for Mod { - /// fn parse(input: ParseStream) -> Result { - /// let content; - /// Ok(Mod { - /// mod_token: input.parse()?, - /// name: input.parse()?, - /// brace_token: braced!(content in input), - /// items: { - /// let mut items = Vec::new(); - /// while !content.is_empty() { - /// items.push(content.parse()?); - /// } - /// items - /// }, - /// }) - /// } - /// } - /// ``` - pub fn is_empty(&self) -> bool { - self.cursor().eof() - } - - /// Constructs a helper for peeking at the next token in this stream and - /// building an error message if it is not one of a set of expected tokens. - /// - /// # Example - /// - /// ```edition2018 - /// use syn::{ConstParam, Ident, Lifetime, LifetimeDef, Result, Token, TypeParam}; - /// use syn::parse::{Parse, ParseStream}; - /// - /// // A generic parameter, a single one of the comma-separated elements inside - /// // angle brackets in: - /// // - /// // fn f() { ... } - /// // - /// // On invalid input, lookahead gives us a reasonable error message. - /// // - /// // error: expected one of: identifier, lifetime, `const` - /// // | - /// // 5 | fn f() {} - /// // | ^ - /// enum GenericParam { - /// Type(TypeParam), - /// Lifetime(LifetimeDef), - /// Const(ConstParam), - /// } - /// - /// impl Parse for GenericParam { - /// fn parse(input: ParseStream) -> Result { - /// let lookahead = input.lookahead1(); - /// if lookahead.peek(Ident) { - /// input.parse().map(GenericParam::Type) - /// } else if lookahead.peek(Lifetime) { - /// input.parse().map(GenericParam::Lifetime) - /// } else if lookahead.peek(Token![const]) { - /// input.parse().map(GenericParam::Const) - /// } else { - /// Err(lookahead.error()) - /// } - /// } - /// } - /// ``` - pub fn lookahead1(&self) -> Lookahead1<'a> { - lookahead::new(self.scope, self.cursor()) - } - - /// Forks a parse stream so that parsing tokens out of either the original - /// or the fork does not advance the position of the other. - /// - /// # Performance - /// - /// Forking a parse stream is a cheap fixed amount of work and does not - /// involve copying token buffers. Where you might hit performance problems - /// is if your macro ends up parsing a large amount of content more than - /// once. - /// - /// ```edition2018 - /// # use syn::{Expr, Result}; - /// # use syn::parse::ParseStream; - /// # - /// # fn bad(input: ParseStream) -> Result { - /// // Do not do this. - /// if input.fork().parse::().is_ok() { - /// return input.parse::(); - /// } - /// # unimplemented!() - /// # } - /// ``` - /// - /// As a rule, avoid parsing an unbounded amount of tokens out of a forked - /// parse stream. Only use a fork when the amount of work performed against - /// the fork is small and bounded. - /// - /// For a lower level but occasionally more performant way to perform - /// speculative parsing, consider using [`ParseStream::step`] instead. - /// - /// [`ParseStream::step`]: #method.step - /// - /// # Example - /// - /// The parse implementation shown here parses possibly restricted `pub` - /// visibilities. - /// - /// - `pub` - /// - `pub(crate)` - /// - `pub(self)` - /// - `pub(super)` - /// - `pub(in some::path)` - /// - /// To handle the case of visibilities inside of tuple structs, the parser - /// needs to distinguish parentheses that specify visibility restrictions - /// from parentheses that form part of a tuple type. - /// - /// ```edition2018 - /// # struct A; - /// # struct B; - /// # struct C; - /// # - /// struct S(pub(crate) A, pub (B, C)); - /// ``` - /// - /// In this example input the first tuple struct element of `S` has - /// `pub(crate)` visibility while the second tuple struct element has `pub` - /// visibility; the parentheses around `(B, C)` are part of the type rather - /// than part of a visibility restriction. - /// - /// The parser uses a forked parse stream to check the first token inside of - /// parentheses after the `pub` keyword. This is a small bounded amount of - /// work performed against the forked parse stream. - /// - /// ```edition2018 - /// use syn::{parenthesized, token, Ident, Path, Result, Token}; - /// use syn::ext::IdentExt; - /// use syn::parse::{Parse, ParseStream}; - /// - /// struct PubVisibility { - /// pub_token: Token![pub], - /// restricted: Option, - /// } - /// - /// struct Restricted { - /// paren_token: token::Paren, - /// in_token: Option, - /// path: Path, - /// } - /// - /// impl Parse for PubVisibility { - /// fn parse(input: ParseStream) -> Result { - /// let pub_token: Token![pub] = input.parse()?; - /// - /// if input.peek(token::Paren) { - /// let ahead = input.fork(); - /// let mut content; - /// parenthesized!(content in ahead); - /// - /// if content.peek(Token![crate]) - /// || content.peek(Token![self]) - /// || content.peek(Token![super]) - /// { - /// return Ok(PubVisibility { - /// pub_token: pub_token, - /// restricted: Some(Restricted { - /// paren_token: parenthesized!(content in input), - /// in_token: None, - /// path: Path::from(content.call(Ident::parse_any)?), - /// }), - /// }); - /// } else if content.peek(Token![in]) { - /// return Ok(PubVisibility { - /// pub_token: pub_token, - /// restricted: Some(Restricted { - /// paren_token: parenthesized!(content in input), - /// in_token: Some(content.parse()?), - /// path: content.call(Path::parse_mod_style)?, - /// }), - /// }); - /// } - /// } - /// - /// Ok(PubVisibility { - /// pub_token: pub_token, - /// restricted: None, - /// }) - /// } - /// } - /// ``` - pub fn fork(&self) -> Self { - ParseBuffer { - scope: self.scope, - cell: self.cell.clone(), - marker: PhantomData, - // Not the parent's unexpected. Nothing cares whether the clone - // parses all the way. - unexpected: Rc::new(Cell::new(None)), - } - } - - /// Triggers an error at the current position of the parse stream. - /// - /// # Example - /// - /// ```edition2018 - /// use syn::{Expr, Result, Token}; - /// use syn::parse::{Parse, ParseStream}; - /// - /// // Some kind of loop: `while` or `for` or `loop`. - /// struct Loop { - /// expr: Expr, - /// } - /// - /// impl Parse for Loop { - /// fn parse(input: ParseStream) -> Result { - /// if input.peek(Token![while]) - /// || input.peek(Token![for]) - /// || input.peek(Token![loop]) - /// { - /// Ok(Loop { - /// expr: input.parse()?, - /// }) - /// } else { - /// Err(input.error("expected some kind of loop")) - /// } - /// } - /// } - /// ``` - pub fn error(&self, message: T) -> Error { - error::new_at(self.scope, self.cursor(), message) - } - - /// Speculatively parses tokens from this parse stream, advancing the - /// position of this stream only if parsing succeeds. - /// - /// This is a powerful low-level API used for defining the `Parse` impls of - /// the basic built-in token types. It is not something that will be used - /// widely outside of the Syn codebase. - /// - /// # Example - /// - /// ```edition2018 - /// use proc_macro2::TokenTree; - /// use syn::Result; - /// use syn::parse::ParseStream; - /// - /// // This function advances the stream past the next occurrence of `@`. If - /// // no `@` is present in the stream, the stream position is unchanged and - /// // an error is returned. - /// fn skip_past_next_at(input: ParseStream) -> Result<()> { - /// input.step(|cursor| { - /// let mut rest = *cursor; - /// while let Some((tt, next)) = rest.token_tree() { - /// match &tt { - /// TokenTree::Punct(punct) if punct.as_char() == '@' => { - /// return Ok(((), next)); - /// } - /// _ => rest = next, - /// } - /// } - /// Err(cursor.error("no `@` was found after this point")) - /// }) - /// } - /// # - /// # fn remainder_after_skipping_past_next_at( - /// # input: ParseStream, - /// # ) -> Result { - /// # skip_past_next_at(input)?; - /// # input.parse() - /// # } - /// # - /// # fn main() { - /// # use syn::parse::Parser; - /// # let remainder = remainder_after_skipping_past_next_at - /// # .parse_str("a @ b c") - /// # .unwrap(); - /// # assert_eq!(remainder.to_string(), "b c"); - /// # } - /// ``` - pub fn step(&self, function: F) -> Result - where - F: for<'c> FnOnce(StepCursor<'c, 'a>) -> Result<(R, Cursor<'c>)>, - { - // Since the user's function is required to work for any 'c, we know - // that the Cursor<'c> they return is either derived from the input - // StepCursor<'c, 'a> or from a Cursor<'static>. - // - // It would not be legal to write this function without the invariant - // lifetime 'c in StepCursor<'c, 'a>. If this function were written only - // in terms of 'a, the user could take our ParseBuffer<'a>, upcast it to - // a ParseBuffer<'short> which some shorter lifetime than 'a, invoke - // `step` on their ParseBuffer<'short> with a closure that returns - // Cursor<'short>, and we would wrongly write that Cursor<'short> into - // the Cell intended to hold Cursor<'a>. - // - // In some cases it may be necessary for R to contain a Cursor<'a>. - // Within Syn we solve this using `private::advance_step_cursor` which - // uses the existence of a StepCursor<'c, 'a> as proof that it is safe - // to cast from Cursor<'c> to Cursor<'a>. If needed outside of Syn, it - // would be safe to expose that API as a method on StepCursor. - let (node, rest) = function(StepCursor { - scope: self.scope, - cursor: self.cell.get(), - marker: PhantomData, - })?; - self.cell.set(rest); - Ok(node) - } - - /// Provides low-level access to the token representation underlying this - /// parse stream. - /// - /// Cursors are immutable so no operations you perform against the cursor - /// will affect the state of this parse stream. - pub fn cursor(&self) -> Cursor<'a> { - self.cell.get() - } - - fn check_unexpected(&self) -> Result<()> { - match self.unexpected.get() { - Some(span) => Err(Error::new(span, "unexpected token")), - None => Ok(()), - } - } -} - -impl Parse for Box { - fn parse(input: ParseStream) -> Result { - input.parse().map(Box::new) - } -} - -impl Parse for Option { - fn parse(input: ParseStream) -> Result { - if T::peek(input.cursor()) { - Ok(Some(input.parse()?)) - } else { - Ok(None) - } - } -} - -impl Parse for TokenStream { - fn parse(input: ParseStream) -> Result { - input.step(|cursor| Ok((cursor.token_stream(), Cursor::empty()))) - } -} - -impl Parse for TokenTree { - fn parse(input: ParseStream) -> Result { - input.step(|cursor| match cursor.token_tree() { - Some((tt, rest)) => Ok((tt, rest)), - None => Err(cursor.error("expected token tree")), - }) - } -} - -impl Parse for Group { - fn parse(input: ParseStream) -> Result { - input.step(|cursor| { - for delim in &[Delimiter::Parenthesis, Delimiter::Brace, Delimiter::Bracket] { - if let Some((inside, span, rest)) = cursor.group(*delim) { - let mut group = Group::new(*delim, inside.token_stream()); - group.set_span(span); - return Ok((group, rest)); - } - } - Err(cursor.error("expected group token")) - }) - } -} - -impl Parse for Punct { - fn parse(input: ParseStream) -> Result { - input.step(|cursor| match cursor.punct() { - Some((punct, rest)) => Ok((punct, rest)), - None => Err(cursor.error("expected punctuation token")), - }) - } -} - -impl Parse for Literal { - fn parse(input: ParseStream) -> Result { - input.step(|cursor| match cursor.literal() { - Some((literal, rest)) => Ok((literal, rest)), - None => Err(cursor.error("expected literal token")), - }) - } -} - -/// Parser that can parse Rust tokens into a particular syntax tree node. -/// -/// Refer to the [module documentation] for details about parsing in Syn. -/// -/// [module documentation]: index.html -/// -/// *This trait is available if Syn is built with the `"parsing"` feature.* -pub trait Parser: Sized { - type Output; - - /// Parse a proc-macro2 token stream into the chosen syntax tree node. - /// - /// This function will check that the input is fully parsed. If there are - /// any unparsed tokens at the end of the stream, an error is returned. - fn parse2(self, tokens: TokenStream) -> Result; - - /// Parse tokens of source code into the chosen syntax tree node. - /// - /// This function will check that the input is fully parsed. If there are - /// any unparsed tokens at the end of the stream, an error is returned. - /// - /// *This method is available if Syn is built with both the `"parsing"` and - /// `"proc-macro"` features.* - #[cfg(all( - not(all(target_arch = "wasm32", target_os = "unknown")), - feature = "proc-macro" - ))] - fn parse(self, tokens: proc_macro::TokenStream) -> Result { - self.parse2(proc_macro2::TokenStream::from(tokens)) - } - - /// Parse a string of Rust code into the chosen syntax tree node. - /// - /// This function will check that the input is fully parsed. If there are - /// any unparsed tokens at the end of the string, an error is returned. - /// - /// # Hygiene - /// - /// Every span in the resulting syntax tree will be set to resolve at the - /// macro call site. - fn parse_str(self, s: &str) -> Result { - self.parse2(proc_macro2::TokenStream::from_str(s)?) - } -} - -fn tokens_to_parse_buffer(tokens: &TokenBuffer) -> ParseBuffer { - let scope = Span::call_site(); - let cursor = tokens.begin(); - let unexpected = Rc::new(Cell::new(None)); - private::new_parse_buffer(scope, cursor, unexpected) -} - -impl Parser for F -where - F: FnOnce(ParseStream) -> Result, -{ - type Output = T; - - fn parse2(self, tokens: TokenStream) -> Result { - let buf = TokenBuffer::new2(tokens); - let state = tokens_to_parse_buffer(&buf); - let node = self(&state)?; - state.check_unexpected()?; - if state.is_empty() { - Ok(node) - } else { - Err(state.error("unexpected token")) - } - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/parse_macro_input.rs b/vendor/registry-40351f815f426200/syn/src/parse_macro_input.rs deleted file mode 100644 index 9d8f6aea2..000000000 --- a/vendor/registry-40351f815f426200/syn/src/parse_macro_input.rs +++ /dev/null @@ -1,103 +0,0 @@ -/// Parse the input TokenStream of a macro, triggering a compile error if the -/// tokens fail to parse. -/// -/// Refer to the [`parse` module] documentation for more details about parsing -/// in Syn. -/// -/// [`parse` module]: parse/index.html -/// -/// # Intended usage -/// -/// ```edition2018 -/// extern crate proc_macro; -/// -/// use proc_macro::TokenStream; -/// use syn::{parse_macro_input, Result}; -/// use syn::parse::{Parse, ParseStream}; -/// -/// struct MyMacroInput { -/// /* ... */ -/// } -/// -/// impl Parse for MyMacroInput { -/// fn parse(input: ParseStream) -> Result { -/// /* ... */ -/// # Ok(MyMacroInput {}) -/// } -/// } -/// -/// # const IGNORE: &str = stringify! { -/// #[proc_macro] -/// # }; -/// pub fn my_macro(tokens: TokenStream) -> TokenStream { -/// let input = parse_macro_input!(tokens as MyMacroInput); -/// -/// /* ... */ -/// # "".parse().unwrap() -/// } -/// ``` -#[macro_export(local_inner_macros)] -macro_rules! parse_macro_input { - ($tokenstream:ident as $ty:ty) => { - match $crate::parse_macro_input::parse::<$ty>($tokenstream) { - $crate::export::Ok(data) => data, - $crate::export::Err(err) => { - return $crate::export::TokenStream::from(err.to_compile_error()); - } - } - }; - ($tokenstream:ident) => { - parse_macro_input!($tokenstream as _) - }; -} - -//////////////////////////////////////////////////////////////////////////////// -// Can parse any type that implements Parse. - -use parse::{Parse, ParseStream, Parser, Result}; -use proc_macro::TokenStream; - -// Not public API. -#[doc(hidden)] -pub fn parse(token_stream: TokenStream) -> Result { - T::parse.parse(token_stream) -} - -// Not public API. -#[doc(hidden)] -pub trait ParseMacroInput: Sized { - fn parse(input: ParseStream) -> Result; -} - -impl ParseMacroInput for T { - fn parse(input: ParseStream) -> Result { - ::parse(input) - } -} - -//////////////////////////////////////////////////////////////////////////////// -// Any other types that we want `parse_macro_input!` to be able to parse. - -#[cfg(any(feature = "full", feature = "derive"))] -use AttributeArgs; - -#[cfg(any(feature = "full", feature = "derive"))] -impl ParseMacroInput for AttributeArgs { - fn parse(input: ParseStream) -> Result { - let mut metas = Vec::new(); - - loop { - if input.is_empty() { - break; - } - let value = input.parse()?; - metas.push(value); - if input.is_empty() { - break; - } - input.parse::()?; - } - - Ok(metas) - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/parse_quote.rs b/vendor/registry-40351f815f426200/syn/src/parse_quote.rs deleted file mode 100644 index 08012f5e8..000000000 --- a/vendor/registry-40351f815f426200/syn/src/parse_quote.rs +++ /dev/null @@ -1,144 +0,0 @@ -/// Quasi-quotation macro that accepts input like the [`quote!`] macro but uses -/// type inference to figure out a return type for those tokens. -/// -/// [`quote!`]: https://docs.rs/quote/0.6/quote/index.html -/// -/// The return type can be any syntax tree node that implements the [`Parse`] -/// trait. -/// -/// [`Parse`]: parse/trait.Parse.html -/// -/// ```edition2018 -/// use quote::quote; -/// use syn::{parse_quote, Stmt}; -/// -/// fn main() { -/// let name = quote!(v); -/// let ty = quote!(u8); -/// -/// let stmt: Stmt = parse_quote! { -/// let #name: #ty = Default::default(); -/// }; -/// -/// println!("{:#?}", stmt); -/// } -/// ``` -/// -/// *This macro is available if Syn is built with the `"parsing"` feature, -/// although interpolation of syntax tree nodes into the quoted tokens is only -/// supported if Syn is built with the `"printing"` feature as well.* -/// -/// # Example -/// -/// The following helper function adds a bound `T: HeapSize` to every type -/// parameter `T` in the input generics. -/// -/// ```edition2018 -/// use syn::{parse_quote, Generics, GenericParam}; -/// -/// // Add a bound `T: HeapSize` to every type parameter T. -/// fn add_trait_bounds(mut generics: Generics) -> Generics { -/// for param in &mut generics.params { -/// if let GenericParam::Type(type_param) = param { -/// type_param.bounds.push(parse_quote!(HeapSize)); -/// } -/// } -/// generics -/// } -/// ``` -/// -/// # Special cases -/// -/// This macro can parse the following additional types as a special case even -/// though they do not implement the `Parse` trait. -/// -/// - [`Attribute`] — parses one attribute, allowing either outer like `#[...]` -/// or inner like `#![...]` -/// - [`Punctuated`] — parses zero or more `T` separated by punctuation -/// `P` with optional trailing punctuation -/// -/// [`Attribute`]: struct.Attribute.html -/// [`Punctuated`]: punctuated/struct.Punctuated.html -/// -/// # Panics -/// -/// Panics if the tokens fail to parse as the expected syntax tree type. The -/// caller is responsible for ensuring that the input tokens are syntactically -/// valid. -#[macro_export(local_inner_macros)] -macro_rules! parse_quote { - ($($tt:tt)*) => { - $crate::parse_quote::parse($crate::export::From::from(quote_impl!($($tt)*))) - }; -} - -#[cfg(not(syn_can_call_macro_by_path))] -#[doc(hidden)] -#[macro_export] -macro_rules! quote_impl { - ($($tt:tt)*) => { - // Require caller to have their own `#[macro_use] extern crate quote`. - quote!($($tt)*) - }; -} - -#[cfg(syn_can_call_macro_by_path)] -#[doc(hidden)] -#[macro_export] -macro_rules! quote_impl { - ($($tt:tt)*) => { - $crate::export::quote::quote!($($tt)*) - }; -} - -//////////////////////////////////////////////////////////////////////////////// -// Can parse any type that implements Parse. - -use parse::{Parse, ParseStream, Parser, Result}; -use proc_macro2::TokenStream; - -// Not public API. -#[doc(hidden)] -pub fn parse(token_stream: TokenStream) -> T { - let parser = T::parse; - match parser.parse2(token_stream) { - Ok(t) => t, - Err(err) => panic!("{}", err), - } -} - -// Not public API. -#[doc(hidden)] -pub trait ParseQuote: Sized { - fn parse(input: ParseStream) -> Result; -} - -impl ParseQuote for T { - fn parse(input: ParseStream) -> Result { - ::parse(input) - } -} - -//////////////////////////////////////////////////////////////////////////////// -// Any other types that we want `parse_quote!` to be able to parse. - -use punctuated::Punctuated; -#[cfg(any(feature = "full", feature = "derive"))] -use {attr, Attribute}; - -#[cfg(any(feature = "full", feature = "derive"))] -impl ParseQuote for Attribute { - fn parse(input: ParseStream) -> Result { - if input.peek(Token![#]) && input.peek2(Token![!]) { - attr::parsing::single_parse_inner(input) - } else { - attr::parsing::single_parse_outer(input) - } - } -} - -impl ParseQuote for Punctuated { - fn parse(input: ParseStream) -> Result { - Self::parse_terminated(input) - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/path.rs b/vendor/registry-40351f815f426200/syn/src/path.rs deleted file mode 100644 index afdecc2ee..000000000 --- a/vendor/registry-40351f815f426200/syn/src/path.rs +++ /dev/null @@ -1,704 +0,0 @@ -use super::*; -use punctuated::Punctuated; - -ast_struct! { - /// A path at which a named item is exported: `std::collections::HashMap`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub struct Path { - pub leading_colon: Option, - pub segments: Punctuated, - } -} - -impl From for Path -where - T: Into, -{ - fn from(segment: T) -> Self { - let mut path = Path { - leading_colon: None, - segments: Punctuated::new(), - }; - path.segments.push_value(segment.into()); - path - } -} - -ast_struct! { - /// A segment of a path together with any path arguments on that segment. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub struct PathSegment { - pub ident: Ident, - pub arguments: PathArguments, - } -} - -impl From for PathSegment -where - T: Into, -{ - fn from(ident: T) -> Self { - PathSegment { - ident: ident.into(), - arguments: PathArguments::None, - } - } -} - -ast_enum! { - /// Angle bracketed or parenthesized arguments of a path segment. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - /// - /// ## Angle bracketed - /// - /// The `<'a, T>` in `std::slice::iter<'a, T>`. - /// - /// ## Parenthesized - /// - /// The `(A, B) -> C` in `Fn(A, B) -> C`. - pub enum PathArguments { - None, - /// The `<'a, T>` in `std::slice::iter<'a, T>`. - AngleBracketed(AngleBracketedGenericArguments), - /// The `(A, B) -> C` in `Fn(A, B) -> C`. - Parenthesized(ParenthesizedGenericArguments), - } -} - -impl Default for PathArguments { - fn default() -> Self { - PathArguments::None - } -} - -impl PathArguments { - pub fn is_empty(&self) -> bool { - match *self { - PathArguments::None => true, - PathArguments::AngleBracketed(ref bracketed) => bracketed.args.is_empty(), - PathArguments::Parenthesized(_) => false, - } - } - - #[cfg(feature = "parsing")] - fn is_none(&self) -> bool { - match *self { - PathArguments::None => true, - PathArguments::AngleBracketed(_) | PathArguments::Parenthesized(_) => false, - } - } -} - -ast_enum! { - /// An individual generic argument, like `'a`, `T`, or `Item = T`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub enum GenericArgument { - /// A lifetime argument. - Lifetime(Lifetime), - /// A type argument. - Type(Type), - /// A binding (equality constraint) on an associated type: the `Item = - /// u8` in `Iterator`. - Binding(Binding), - /// An associated type bound: `Iterator`. - Constraint(Constraint), - /// A const expression. Must be inside of a block. - /// - /// NOTE: Identity expressions are represented as Type arguments, as - /// they are indistinguishable syntactically. - Const(Expr), - } -} - -ast_struct! { - /// Angle bracketed arguments of a path segment: the `` in `HashMap`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub struct AngleBracketedGenericArguments { - pub colon2_token: Option, - pub lt_token: Token![<], - pub args: Punctuated, - pub gt_token: Token![>], - } -} - -ast_struct! { - /// A binding (equality constraint) on an associated type: `Item = u8`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub struct Binding { - pub ident: Ident, - pub eq_token: Token![=], - pub ty: Type, - } -} - -ast_struct! { - /// An associated type bound: `Iterator`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub struct Constraint { - pub ident: Ident, - pub colon_token: Token![:], - pub bounds: Punctuated, - } -} - -ast_struct! { - /// Arguments of a function path segment: the `(A, B) -> C` in `Fn(A,B) -> - /// C`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub struct ParenthesizedGenericArguments { - pub paren_token: token::Paren, - /// `(A, B)` - pub inputs: Punctuated, - /// `C` - pub output: ReturnType, - } -} - -ast_struct! { - /// The explicit Self type in a qualified path: the `T` in `::fmt`. - /// - /// The actual path, including the trait and the associated item, is stored - /// separately. The `position` field represents the index of the associated - /// item qualified with this Self type. - /// - /// ```text - /// as a::b::Trait>::AssociatedItem - /// ^~~~~~ ~~~~~~~~~~~~~~^ - /// ty position = 3 - /// - /// >::AssociatedItem - /// ^~~~~~ ^ - /// ty position = 0 - /// ``` - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub struct QSelf { - pub lt_token: Token![<], - pub ty: Box, - pub position: usize, - pub as_token: Option, - pub gt_token: Token![>], - } -} - -#[cfg(feature = "parsing")] -pub mod parsing { - use super::*; - - #[cfg(feature = "full")] - use expr; - use ext::IdentExt; - use parse::{Parse, ParseStream, Result}; - - impl Parse for Path { - fn parse(input: ParseStream) -> Result { - Self::parse_helper(input, false) - } - } - - impl Parse for GenericArgument { - fn parse(input: ParseStream) -> Result { - if input.peek(Lifetime) && !input.peek2(Token![+]) { - return Ok(GenericArgument::Lifetime(input.parse()?)); - } - - if input.peek(Ident) && input.peek2(Token![=]) { - return Ok(GenericArgument::Binding(input.parse()?)); - } - - #[cfg(feature = "full")] - { - if input.peek(Ident) && input.peek2(Token![:]) && !input.peek2(Token![::]) { - return Ok(GenericArgument::Constraint(input.parse()?)); - } - - if input.peek(Lit) { - let lit = input.parse()?; - return Ok(GenericArgument::Const(Expr::Lit(lit))); - } - - if input.peek(token::Brace) { - let block = input.call(expr::parsing::expr_block)?; - return Ok(GenericArgument::Const(Expr::Block(block))); - } - } - - input.parse().map(GenericArgument::Type) - } - } - - impl Parse for AngleBracketedGenericArguments { - fn parse(input: ParseStream) -> Result { - Ok(AngleBracketedGenericArguments { - colon2_token: input.parse()?, - lt_token: input.parse()?, - args: { - let mut args = Punctuated::new(); - loop { - if input.peek(Token![>]) { - break; - } - let value = input.parse()?; - args.push_value(value); - if input.peek(Token![>]) { - break; - } - let punct = input.parse()?; - args.push_punct(punct); - } - args - }, - gt_token: input.parse()?, - }) - } - } - - impl Parse for ParenthesizedGenericArguments { - fn parse(input: ParseStream) -> Result { - let content; - Ok(ParenthesizedGenericArguments { - paren_token: parenthesized!(content in input), - inputs: content.parse_terminated(Type::parse)?, - output: input.call(ReturnType::without_plus)?, - }) - } - } - - impl Parse for PathSegment { - fn parse(input: ParseStream) -> Result { - Self::parse_helper(input, false) - } - } - - impl PathSegment { - fn parse_helper(input: ParseStream, expr_style: bool) -> Result { - if input.peek(Token![super]) - || input.peek(Token![self]) - || input.peek(Token![Self]) - || input.peek(Token![crate]) - || input.peek(Token![extern]) - { - let ident = input.call(Ident::parse_any)?; - return Ok(PathSegment::from(ident)); - } - - let ident = input.parse()?; - if !expr_style && input.peek(Token![<]) && !input.peek(Token![<=]) - || input.peek(Token![::]) && input.peek3(Token![<]) - { - Ok(PathSegment { - ident: ident, - arguments: PathArguments::AngleBracketed(input.parse()?), - }) - } else { - Ok(PathSegment::from(ident)) - } - } - } - - impl Parse for Binding { - fn parse(input: ParseStream) -> Result { - Ok(Binding { - ident: input.parse()?, - eq_token: input.parse()?, - ty: input.parse()?, - }) - } - } - - #[cfg(feature = "full")] - impl Parse for Constraint { - fn parse(input: ParseStream) -> Result { - Ok(Constraint { - ident: input.parse()?, - colon_token: input.parse()?, - bounds: { - let mut bounds = Punctuated::new(); - loop { - if input.peek(Token![,]) || input.peek(Token![>]) { - break; - } - let value = input.parse()?; - bounds.push_value(value); - if !input.peek(Token![+]) { - break; - } - let punct = input.parse()?; - bounds.push_punct(punct); - } - bounds - }, - }) - } - } - - impl Path { - /// Parse a `Path` containing no path arguments on any of its segments. - /// - /// *This function is available if Syn is built with the `"parsing"` - /// feature.* - /// - /// # Example - /// - /// ```edition2018 - /// use syn::{Path, Result, Token}; - /// use syn::parse::{Parse, ParseStream}; - /// - /// // A simplified single `use` statement like: - /// // - /// // use std::collections::HashMap; - /// // - /// // Note that generic parameters are not allowed in a `use` statement - /// // so the following must not be accepted. - /// // - /// // use a::::c; - /// struct SingleUse { - /// use_token: Token![use], - /// path: Path, - /// } - /// - /// impl Parse for SingleUse { - /// fn parse(input: ParseStream) -> Result { - /// Ok(SingleUse { - /// use_token: input.parse()?, - /// path: input.call(Path::parse_mod_style)?, - /// }) - /// } - /// } - /// ``` - pub fn parse_mod_style(input: ParseStream) -> Result { - Ok(Path { - leading_colon: input.parse()?, - segments: { - let mut segments = Punctuated::new(); - loop { - if !input.peek(Ident) - && !input.peek(Token![super]) - && !input.peek(Token![self]) - && !input.peek(Token![Self]) - && !input.peek(Token![crate]) - && !input.peek(Token![extern]) - { - break; - } - let ident = Ident::parse_any(input)?; - segments.push_value(PathSegment::from(ident)); - if !input.peek(Token![::]) { - break; - } - let punct = input.parse()?; - segments.push_punct(punct); - } - if segments.is_empty() { - return Err(input.error("expected path")); - } else if segments.trailing_punct() { - return Err(input.error("expected path segment")); - } - segments - }, - }) - } - - /// Determines whether this is a path of length 1 equal to the given - /// ident. - /// - /// For them to compare equal, it must be the case that: - /// - /// - the path has no leading colon, - /// - the number of path segments is 1, - /// - the first path segment has no angle bracketed or parenthesized - /// path arguments - /// - and the ident of the first path segment is equal to the given one. - /// - /// *This function is available if Syn is built with the `"parsing"` - /// feature.* - pub fn is_ident(&self, ident: I) -> bool - where - Ident: PartialEq, - { - self.leading_colon.is_none() - && self.segments.len() == 1 - && self.segments[0].arguments.is_none() - && self.segments[0].ident == ident - } - - fn parse_helper(input: ParseStream, expr_style: bool) -> Result { - if input.peek(Token![dyn]) { - return Err(input.error("expected path")); - } - - Ok(Path { - leading_colon: input.parse()?, - segments: { - let mut segments = Punctuated::new(); - let value = PathSegment::parse_helper(input, expr_style)?; - segments.push_value(value); - while input.peek(Token![::]) { - let punct: Token![::] = input.parse()?; - segments.push_punct(punct); - let value = PathSegment::parse_helper(input, expr_style)?; - segments.push_value(value); - } - segments - }, - }) - } - } - - pub fn qpath(input: ParseStream, expr_style: bool) -> Result<(Option, Path)> { - if input.peek(Token![<]) { - let lt_token: Token![<] = input.parse()?; - let this: Type = input.parse()?; - let path = if input.peek(Token![as]) { - let as_token: Token![as] = input.parse()?; - let path: Path = input.parse()?; - Some((as_token, path)) - } else { - None - }; - let gt_token: Token![>] = input.parse()?; - let colon2_token: Token![::] = input.parse()?; - let mut rest = Punctuated::new(); - loop { - let path = PathSegment::parse_helper(input, expr_style)?; - rest.push_value(path); - if !input.peek(Token![::]) { - break; - } - let punct: Token![::] = input.parse()?; - rest.push_punct(punct); - } - let (position, as_token, path) = match path { - Some((as_token, mut path)) => { - let pos = path.segments.len(); - path.segments.push_punct(colon2_token); - path.segments.extend(rest.into_pairs()); - (pos, Some(as_token), path) - } - None => { - let path = Path { - leading_colon: Some(colon2_token), - segments: rest, - }; - (0, None, path) - } - }; - let qself = QSelf { - lt_token: lt_token, - ty: Box::new(this), - position: position, - as_token: as_token, - gt_token: gt_token, - }; - Ok((Some(qself), path)) - } else { - let path = Path::parse_helper(input, expr_style)?; - Ok((None, path)) - } - } -} - -#[cfg(feature = "printing")] -mod printing { - use super::*; - - use proc_macro2::TokenStream; - use quote::ToTokens; - - use print::TokensOrDefault; - - impl ToTokens for Path { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.leading_colon.to_tokens(tokens); - self.segments.to_tokens(tokens); - } - } - - impl ToTokens for PathSegment { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.ident.to_tokens(tokens); - self.arguments.to_tokens(tokens); - } - } - - impl ToTokens for PathArguments { - fn to_tokens(&self, tokens: &mut TokenStream) { - match *self { - PathArguments::None => {} - PathArguments::AngleBracketed(ref arguments) => { - arguments.to_tokens(tokens); - } - PathArguments::Parenthesized(ref arguments) => { - arguments.to_tokens(tokens); - } - } - } - } - - impl ToTokens for GenericArgument { - #[cfg_attr(feature = "cargo-clippy", allow(match_same_arms))] - fn to_tokens(&self, tokens: &mut TokenStream) { - match *self { - GenericArgument::Lifetime(ref lt) => lt.to_tokens(tokens), - GenericArgument::Type(ref ty) => ty.to_tokens(tokens), - GenericArgument::Binding(ref tb) => tb.to_tokens(tokens), - GenericArgument::Constraint(ref tc) => tc.to_tokens(tokens), - GenericArgument::Const(ref e) => match *e { - Expr::Lit(_) => e.to_tokens(tokens), - - // NOTE: We should probably support parsing blocks with only - // expressions in them without the full feature for const - // generics. - #[cfg(feature = "full")] - Expr::Block(_) => e.to_tokens(tokens), - - // ERROR CORRECTION: Add braces to make sure that the - // generated code is valid. - _ => token::Brace::default().surround(tokens, |tokens| { - e.to_tokens(tokens); - }), - }, - } - } - } - - impl ToTokens for AngleBracketedGenericArguments { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.colon2_token.to_tokens(tokens); - self.lt_token.to_tokens(tokens); - - // Print lifetimes before types and consts, all before bindings, - // regardless of their order in self.args. - // - // TODO: ordering rules for const arguments vs type arguments have - // not been settled yet. https://github.com/rust-lang/rust/issues/44580 - let mut trailing_or_empty = true; - for param in self.args.pairs() { - match **param.value() { - GenericArgument::Lifetime(_) => { - param.to_tokens(tokens); - trailing_or_empty = param.punct().is_some(); - } - GenericArgument::Type(_) - | GenericArgument::Binding(_) - | GenericArgument::Constraint(_) - | GenericArgument::Const(_) => {} - } - } - for param in self.args.pairs() { - match **param.value() { - GenericArgument::Type(_) | GenericArgument::Const(_) => { - if !trailing_or_empty { - ::default().to_tokens(tokens); - } - param.to_tokens(tokens); - trailing_or_empty = param.punct().is_some(); - } - GenericArgument::Lifetime(_) - | GenericArgument::Binding(_) - | GenericArgument::Constraint(_) => {} - } - } - for param in self.args.pairs() { - match **param.value() { - GenericArgument::Binding(_) | GenericArgument::Constraint(_) => { - if !trailing_or_empty { - ::default().to_tokens(tokens); - trailing_or_empty = true; - } - param.to_tokens(tokens); - } - GenericArgument::Lifetime(_) - | GenericArgument::Type(_) - | GenericArgument::Const(_) => {} - } - } - - self.gt_token.to_tokens(tokens); - } - } - - impl ToTokens for Binding { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.ident.to_tokens(tokens); - self.eq_token.to_tokens(tokens); - self.ty.to_tokens(tokens); - } - } - - impl ToTokens for Constraint { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.ident.to_tokens(tokens); - self.colon_token.to_tokens(tokens); - self.bounds.to_tokens(tokens); - } - } - - impl ToTokens for ParenthesizedGenericArguments { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.paren_token.surround(tokens, |tokens| { - self.inputs.to_tokens(tokens); - }); - self.output.to_tokens(tokens); - } - } - - impl private { - pub fn print_path(tokens: &mut TokenStream, qself: &Option, path: &Path) { - let qself = match *qself { - Some(ref qself) => qself, - None => { - path.to_tokens(tokens); - return; - } - }; - qself.lt_token.to_tokens(tokens); - qself.ty.to_tokens(tokens); - - let pos = if qself.position > 0 && qself.position >= path.segments.len() { - path.segments.len() - 1 - } else { - qself.position - }; - let mut segments = path.segments.pairs(); - if pos > 0 { - TokensOrDefault(&qself.as_token).to_tokens(tokens); - path.leading_colon.to_tokens(tokens); - for (i, segment) in segments.by_ref().take(pos).enumerate() { - if i + 1 == pos { - segment.value().to_tokens(tokens); - qself.gt_token.to_tokens(tokens); - segment.punct().to_tokens(tokens); - } else { - segment.to_tokens(tokens); - } - } - } else { - qself.gt_token.to_tokens(tokens); - path.leading_colon.to_tokens(tokens); - } - for segment in segments { - segment.to_tokens(tokens); - } - } - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/print.rs b/vendor/registry-40351f815f426200/syn/src/print.rs deleted file mode 100644 index 90570a040..000000000 --- a/vendor/registry-40351f815f426200/syn/src/print.rs +++ /dev/null @@ -1,16 +0,0 @@ -use proc_macro2::TokenStream; -use quote::ToTokens; - -pub struct TokensOrDefault<'a, T: 'a>(pub &'a Option); - -impl<'a, T> ToTokens for TokensOrDefault<'a, T> -where - T: ToTokens + Default, -{ - fn to_tokens(&self, tokens: &mut TokenStream) { - match *self.0 { - Some(ref t) => t.to_tokens(tokens), - None => T::default().to_tokens(tokens), - } - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/punctuated.rs b/vendor/registry-40351f815f426200/syn/src/punctuated.rs deleted file mode 100644 index 5aa519ffe..000000000 --- a/vendor/registry-40351f815f426200/syn/src/punctuated.rs +++ /dev/null @@ -1,836 +0,0 @@ -//! A punctuated sequence of syntax tree nodes separated by punctuation. -//! -//! Lots of things in Rust are punctuated sequences. -//! -//! - The fields of a struct are `Punctuated`. -//! - The segments of a path are `Punctuated`. -//! - The bounds on a generic parameter are `Punctuated`. -//! - The arguments to a function call are `Punctuated`. -//! -//! This module provides a common representation for these punctuated sequences -//! in the form of the [`Punctuated`] type. We store a vector of pairs of -//! syntax tree node + punctuation, where every node in the sequence is followed -//! by punctuation except for possibly the final one. -//! -//! [`Punctuated`]: struct.Punctuated.html -//! -//! ```text -//! a_function_call(arg1, arg2, arg3); -//! ^^^^^ ~~~~~ ^^^^ -//! ``` - -#[cfg(feature = "extra-traits")] -use std::fmt::{self, Debug}; -#[cfg(any(feature = "full", feature = "derive"))] -use std::iter; -use std::iter::FromIterator; -use std::marker::PhantomData; -use std::ops::{Index, IndexMut}; -use std::option; -use std::slice; -use std::vec; - -#[cfg(feature = "parsing")] -use parse::{Parse, ParseStream, Result}; -#[cfg(any(feature = "full", feature = "derive"))] -use private; -#[cfg(feature = "parsing")] -use token::Token; - -/// A punctuated sequence of syntax tree nodes of type `T` separated by -/// punctuation of type `P`. -/// -/// Refer to the [module documentation] for details about punctuated sequences. -/// -/// [module documentation]: index.html -#[cfg_attr(feature = "extra-traits", derive(Eq, PartialEq, Hash))] -#[cfg_attr(feature = "clone-impls", derive(Clone))] -pub struct Punctuated { - inner: Vec<(T, P)>, - last: Option>, -} - -impl Punctuated { - /// Creates an empty punctuated sequence. - pub fn new() -> Punctuated { - Punctuated { - inner: Vec::new(), - last: None, - } - } - - /// Determines whether this punctuated sequence is empty, meaning it - /// contains no syntax tree nodes or punctuation. - pub fn is_empty(&self) -> bool { - self.inner.len() == 0 && self.last.is_none() - } - - /// Returns the number of syntax tree nodes in this punctuated sequence. - /// - /// This is the number of nodes of type `T`, not counting the punctuation of - /// type `P`. - pub fn len(&self) -> usize { - self.inner.len() + if self.last.is_some() { 1 } else { 0 } - } - - /// Borrows the first punctuated pair in this sequence. - pub fn first(&self) -> Option> { - self.pairs().next() - } - - /// Borrows the last punctuated pair in this sequence. - pub fn last(&self) -> Option> { - if self.last.is_some() { - self.last.as_ref().map(|t| Pair::End(t.as_ref())) - } else { - self.inner - .last() - .map(|&(ref t, ref d)| Pair::Punctuated(t, d)) - } - } - - /// Mutably borrows the last punctuated pair in this sequence. - pub fn last_mut(&mut self) -> Option> { - if self.last.is_some() { - self.last.as_mut().map(|t| Pair::End(t.as_mut())) - } else { - self.inner - .last_mut() - .map(|&mut (ref mut t, ref mut d)| Pair::Punctuated(t, d)) - } - } - - /// Returns an iterator over borrowed syntax tree nodes of type `&T`. - pub fn iter(&self) -> Iter { - Iter { - inner: Box::new(PrivateIter { - inner: self.inner.iter(), - last: self.last.as_ref().map(Box::as_ref).into_iter(), - }), - } - } - - /// Returns an iterator over mutably borrowed syntax tree nodes of type - /// `&mut T`. - pub fn iter_mut(&mut self) -> IterMut { - IterMut { - inner: Box::new(PrivateIterMut { - inner: self.inner.iter_mut(), - last: self.last.as_mut().map(Box::as_mut).into_iter(), - }), - } - } - - /// Returns an iterator over the contents of this sequence as borrowed - /// punctuated pairs. - pub fn pairs(&self) -> Pairs { - Pairs { - inner: self.inner.iter(), - last: self.last.as_ref().map(Box::as_ref).into_iter(), - } - } - - /// Returns an iterator over the contents of this sequence as mutably - /// borrowed punctuated pairs. - pub fn pairs_mut(&mut self) -> PairsMut { - PairsMut { - inner: self.inner.iter_mut(), - last: self.last.as_mut().map(Box::as_mut).into_iter(), - } - } - - /// Returns an iterator over the contents of this sequence as owned - /// punctuated pairs. - pub fn into_pairs(self) -> IntoPairs { - IntoPairs { - inner: self.inner.into_iter(), - last: self.last.map(|t| *t).into_iter(), - } - } - - /// Appends a syntax tree node onto the end of this punctuated sequence. The - /// sequence must previously have a trailing punctuation. - /// - /// Use [`push`] instead if the punctuated sequence may or may not already - /// have trailing punctuation. - /// - /// [`push`]: #method.push - /// - /// # Panics - /// - /// Panics if the sequence does not already have a trailing punctuation when - /// this method is called. - pub fn push_value(&mut self, value: T) { - assert!(self.empty_or_trailing()); - self.last = Some(Box::new(value)); - } - - /// Appends a trailing punctuation onto the end of this punctuated sequence. - /// The sequence must be non-empty and must not already have trailing - /// punctuation. - /// - /// # Panics - /// - /// Panics if the sequence is empty or already has a trailing punctuation. - pub fn push_punct(&mut self, punctuation: P) { - assert!(self.last.is_some()); - let last = self.last.take().unwrap(); - self.inner.push((*last, punctuation)); - } - - /// Removes the last punctuated pair from this sequence, or `None` if the - /// sequence is empty. - pub fn pop(&mut self) -> Option> { - if self.last.is_some() { - self.last.take().map(|t| Pair::End(*t)) - } else { - self.inner.pop().map(|(t, d)| Pair::Punctuated(t, d)) - } - } - - /// Determines whether this punctuated sequence ends with a trailing - /// punctuation. - pub fn trailing_punct(&self) -> bool { - self.last.is_none() && !self.is_empty() - } - - /// Returns true if either this `Punctuated` is empty, or it has a trailing - /// punctuation. - /// - /// Equivalent to `punctuated.is_empty() || punctuated.trailing_punct()`. - pub fn empty_or_trailing(&self) -> bool { - self.last.is_none() - } - - /// Appends a syntax tree node onto the end of this punctuated sequence. - /// - /// If there is not a trailing punctuation in this sequence when this method - /// is called, the default value of punctuation type `P` is inserted before - /// the given value of type `T`. - pub fn push(&mut self, value: T) - where - P: Default, - { - if !self.empty_or_trailing() { - self.push_punct(Default::default()); - } - self.push_value(value); - } - - /// Inserts an element at position `index`. - /// - /// # Panics - /// - /// Panics if `index` is greater than the number of elements previously in - /// this punctuated sequence. - pub fn insert(&mut self, index: usize, value: T) - where - P: Default, - { - assert!(index <= self.len()); - - if index == self.len() { - self.push(value); - } else { - self.inner.insert(index, (value, Default::default())); - } - } - - /// Parses zero or more occurrences of `T` separated by punctuation of type - /// `P`, with optional trailing punctuation. - /// - /// Parsing continues until the end of this parse stream. The entire content - /// of this parse stream must consist of `T` and `P`. - /// - /// *This function is available if Syn is built with the `"parsing"` - /// feature.* - #[cfg(feature = "parsing")] - pub fn parse_terminated(input: ParseStream) -> Result - where - T: Parse, - P: Parse, - { - Self::parse_terminated_with(input, T::parse) - } - - /// Parses zero or more occurrences of `T` using the given parse function, - /// separated by punctuation of type `P`, with optional trailing - /// punctuation. - /// - /// Like [`parse_terminated`], the entire content of this stream is expected - /// to be parsed. - /// - /// [`parse_terminated`]: #method.parse_terminated - /// - /// *This function is available if Syn is built with the `"parsing"` - /// feature.* - #[cfg(feature = "parsing")] - pub fn parse_terminated_with( - input: ParseStream, - parser: fn(ParseStream) -> Result, - ) -> Result - where - P: Parse, - { - let mut punctuated = Punctuated::new(); - - loop { - if input.is_empty() { - break; - } - let value = parser(input)?; - punctuated.push_value(value); - if input.is_empty() { - break; - } - let punct = input.parse()?; - punctuated.push_punct(punct); - } - - Ok(punctuated) - } - - /// Parses one or more occurrences of `T` separated by punctuation of type - /// `P`, not accepting trailing punctuation. - /// - /// Parsing continues as long as punctuation `P` is present at the head of - /// the stream. This method returns upon parsing a `T` and observing that it - /// is not followed by a `P`, even if there are remaining tokens in the - /// stream. - /// - /// *This function is available if Syn is built with the `"parsing"` - /// feature.* - #[cfg(feature = "parsing")] - pub fn parse_separated_nonempty(input: ParseStream) -> Result - where - T: Parse, - P: Token + Parse, - { - Self::parse_separated_nonempty_with(input, T::parse) - } - - /// Parses one or more occurrences of `T` using the given parse function, - /// separated by punctuation of type `P`, not accepting trailing - /// punctuation. - /// - /// Like [`parse_separated_nonempty`], may complete early without parsing - /// the entire content of this stream. - /// - /// [`parse_separated_nonempty`]: #method.parse_separated_nonempty - /// - /// *This function is available if Syn is built with the `"parsing"` - /// feature.* - #[cfg(feature = "parsing")] - pub fn parse_separated_nonempty_with( - input: ParseStream, - parser: fn(ParseStream) -> Result, - ) -> Result - where - P: Token + Parse, - { - let mut punctuated = Punctuated::new(); - - loop { - let value = parser(input)?; - punctuated.push_value(value); - if !P::peek(input.cursor()) { - break; - } - let punct = input.parse()?; - punctuated.push_punct(punct); - } - - Ok(punctuated) - } -} - -#[cfg(feature = "extra-traits")] -impl Debug for Punctuated { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let mut list = f.debug_list(); - for &(ref t, ref p) in &self.inner { - list.entry(t); - list.entry(p); - } - if let Some(ref last) = self.last { - list.entry(last); - } - list.finish() - } -} - -impl FromIterator for Punctuated -where - P: Default, -{ - fn from_iter>(i: I) -> Self { - let mut ret = Punctuated::new(); - ret.extend(i); - ret - } -} - -impl Extend for Punctuated -where - P: Default, -{ - fn extend>(&mut self, i: I) { - for value in i { - self.push(value); - } - } -} - -impl FromIterator> for Punctuated { - fn from_iter>>(i: I) -> Self { - let mut ret = Punctuated::new(); - ret.extend(i); - ret - } -} - -impl Extend> for Punctuated { - fn extend>>(&mut self, i: I) { - assert!(self.empty_or_trailing()); - let mut nomore = false; - for pair in i { - if nomore { - panic!("Punctuated extended with items after a Pair::End"); - } - match pair { - Pair::Punctuated(a, b) => self.inner.push((a, b)), - Pair::End(a) => { - self.last = Some(Box::new(a)); - nomore = true; - } - } - } - } -} - -impl IntoIterator for Punctuated { - type Item = T; - type IntoIter = IntoIter; - - fn into_iter(self) -> Self::IntoIter { - let mut elements = Vec::with_capacity(self.len()); - elements.extend(self.inner.into_iter().map(|pair| pair.0)); - elements.extend(self.last.map(|t| *t)); - - IntoIter { - inner: elements.into_iter(), - marker: PhantomData, - } - } -} - -impl<'a, T, P> IntoIterator for &'a Punctuated { - type Item = &'a T; - type IntoIter = Iter<'a, T>; - - fn into_iter(self) -> Self::IntoIter { - Punctuated::iter(self) - } -} - -impl<'a, T, P> IntoIterator for &'a mut Punctuated { - type Item = &'a mut T; - type IntoIter = IterMut<'a, T>; - - fn into_iter(self) -> Self::IntoIter { - Punctuated::iter_mut(self) - } -} - -impl Default for Punctuated { - fn default() -> Self { - Punctuated::new() - } -} - -/// An iterator over borrowed pairs of type `Pair<&T, &P>`. -/// -/// Refer to the [module documentation] for details about punctuated sequences. -/// -/// [module documentation]: index.html -pub struct Pairs<'a, T: 'a, P: 'a> { - inner: slice::Iter<'a, (T, P)>, - last: option::IntoIter<&'a T>, -} - -impl<'a, T, P> Iterator for Pairs<'a, T, P> { - type Item = Pair<&'a T, &'a P>; - - fn next(&mut self) -> Option { - self.inner - .next() - .map(|&(ref t, ref p)| Pair::Punctuated(t, p)) - .or_else(|| self.last.next().map(Pair::End)) - } -} - -impl<'a, T, P> ExactSizeIterator for Pairs<'a, T, P> { - fn len(&self) -> usize { - self.inner.len() + self.last.len() - } -} - -// No Clone bound on T or P. -impl<'a, T, P> Clone for Pairs<'a, T, P> { - fn clone(&self) -> Self { - Pairs { - inner: self.inner.clone(), - last: self.last.clone(), - } - } -} - -/// An iterator over mutably borrowed pairs of type `Pair<&mut T, &mut P>`. -/// -/// Refer to the [module documentation] for details about punctuated sequences. -/// -/// [module documentation]: index.html -pub struct PairsMut<'a, T: 'a, P: 'a> { - inner: slice::IterMut<'a, (T, P)>, - last: option::IntoIter<&'a mut T>, -} - -impl<'a, T, P> Iterator for PairsMut<'a, T, P> { - type Item = Pair<&'a mut T, &'a mut P>; - - fn next(&mut self) -> Option { - self.inner - .next() - .map(|&mut (ref mut t, ref mut p)| Pair::Punctuated(t, p)) - .or_else(|| self.last.next().map(Pair::End)) - } -} - -impl<'a, T, P> ExactSizeIterator for PairsMut<'a, T, P> { - fn len(&self) -> usize { - self.inner.len() + self.last.len() - } -} - -/// An iterator over owned pairs of type `Pair`. -/// -/// Refer to the [module documentation] for details about punctuated sequences. -/// -/// [module documentation]: index.html -#[derive(Clone)] -pub struct IntoPairs { - inner: vec::IntoIter<(T, P)>, - last: option::IntoIter, -} - -impl Iterator for IntoPairs { - type Item = Pair; - - fn next(&mut self) -> Option { - self.inner - .next() - .map(|(t, p)| Pair::Punctuated(t, p)) - .or_else(|| self.last.next().map(Pair::End)) - } -} - -impl ExactSizeIterator for IntoPairs { - fn len(&self) -> usize { - self.inner.len() + self.last.len() - } -} - -/// An iterator over owned values of type `T`. -/// -/// Refer to the [module documentation] for details about punctuated sequences. -/// -/// [module documentation]: index.html -#[derive(Clone)] -pub struct IntoIter { - inner: vec::IntoIter, - - // TODO: remove P type parameter in the next breaking change - marker: PhantomData

, -} - -impl Iterator for IntoIter { - type Item = T; - - fn next(&mut self) -> Option { - self.inner.next() - } -} - -impl ExactSizeIterator for IntoIter { - fn len(&self) -> usize { - self.inner.len() - } -} - -/// An iterator over borrowed values of type `&T`. -/// -/// Refer to the [module documentation] for details about punctuated sequences. -/// -/// [module documentation]: index.html -pub struct Iter<'a, T: 'a> { - // The `Item = &'a T` needs to be specified to support rustc 1.31 and older. - // On modern compilers we would be able to write just IterTrait<'a, T> where - // Item can be inferred unambiguously from the supertrait. - inner: Box + 'a>, -} - -trait IterTrait<'a, T: 'a>: ExactSizeIterator { - fn clone_box(&self) -> Box + 'a>; -} - -struct PrivateIter<'a, T: 'a, P: 'a> { - inner: slice::Iter<'a, (T, P)>, - last: option::IntoIter<&'a T>, -} - -#[cfg(any(feature = "full", feature = "derive"))] -impl private { - pub fn empty_punctuated_iter<'a, T>() -> Iter<'a, T> { - Iter { - inner: Box::new(iter::empty()), - } - } -} - -// No Clone bound on T. -impl<'a, T> Clone for Iter<'a, T> { - fn clone(&self) -> Self { - Iter { - inner: self.inner.clone_box(), - } - } -} - -impl<'a, T> Iterator for Iter<'a, T> { - type Item = &'a T; - - fn next(&mut self) -> Option { - self.inner.next() - } -} - -impl<'a, T> ExactSizeIterator for Iter<'a, T> { - fn len(&self) -> usize { - self.inner.len() - } -} - -impl<'a, T, P> Iterator for PrivateIter<'a, T, P> { - type Item = &'a T; - - fn next(&mut self) -> Option { - self.inner - .next() - .map(|pair| &pair.0) - .or_else(|| self.last.next()) - } -} - -impl<'a, T, P> ExactSizeIterator for PrivateIter<'a, T, P> { - fn len(&self) -> usize { - self.inner.len() + self.last.len() - } -} - -// No Clone bound on T or P. -impl<'a, T, P> Clone for PrivateIter<'a, T, P> { - fn clone(&self) -> Self { - PrivateIter { - inner: self.inner.clone(), - last: self.last.clone(), - } - } -} - -impl<'a, T: 'a, I: 'a> IterTrait<'a, T> for I -where - I: ExactSizeIterator + Clone, -{ - fn clone_box(&self) -> Box + 'a> { - Box::new(self.clone()) - } -} - -/// An iterator over mutably borrowed values of type `&mut T`. -/// -/// Refer to the [module documentation] for details about punctuated sequences. -/// -/// [module documentation]: index.html -pub struct IterMut<'a, T: 'a> { - inner: Box + 'a>, -} - -struct PrivateIterMut<'a, T: 'a, P: 'a> { - inner: slice::IterMut<'a, (T, P)>, - last: option::IntoIter<&'a mut T>, -} - -#[cfg(any(feature = "full", feature = "derive"))] -impl private { - pub fn empty_punctuated_iter_mut<'a, T>() -> IterMut<'a, T> { - IterMut { - inner: Box::new(iter::empty()), - } - } -} - -impl<'a, T> Iterator for IterMut<'a, T> { - type Item = &'a mut T; - - fn next(&mut self) -> Option { - self.inner.next() - } -} - -impl<'a, T> ExactSizeIterator for IterMut<'a, T> { - fn len(&self) -> usize { - self.inner.len() - } -} - -impl<'a, T, P> Iterator for PrivateIterMut<'a, T, P> { - type Item = &'a mut T; - - fn next(&mut self) -> Option { - self.inner - .next() - .map(|pair| &mut pair.0) - .or_else(|| self.last.next()) - } -} - -impl<'a, T, P> ExactSizeIterator for PrivateIterMut<'a, T, P> { - fn len(&self) -> usize { - self.inner.len() + self.last.len() - } -} - -/// A single syntax tree node of type `T` followed by its trailing punctuation -/// of type `P` if any. -/// -/// Refer to the [module documentation] for details about punctuated sequences. -/// -/// [module documentation]: index.html -#[cfg_attr(feature = "clone-impls", derive(Clone))] -pub enum Pair { - Punctuated(T, P), - End(T), -} - -impl Pair { - /// Extracts the syntax tree node from this punctuated pair, discarding the - /// following punctuation. - pub fn into_value(self) -> T { - match self { - Pair::Punctuated(t, _) | Pair::End(t) => t, - } - } - - /// Borrows the syntax tree node from this punctuated pair. - pub fn value(&self) -> &T { - match *self { - Pair::Punctuated(ref t, _) | Pair::End(ref t) => t, - } - } - - /// Mutably borrows the syntax tree node from this punctuated pair. - pub fn value_mut(&mut self) -> &mut T { - match *self { - Pair::Punctuated(ref mut t, _) | Pair::End(ref mut t) => t, - } - } - - /// Borrows the punctuation from this punctuated pair, unless this pair is - /// the final one and there is no trailing punctuation. - pub fn punct(&self) -> Option<&P> { - match *self { - Pair::Punctuated(_, ref d) => Some(d), - Pair::End(_) => None, - } - } - - /// Creates a punctuated pair out of a syntax tree node and an optional - /// following punctuation. - pub fn new(t: T, d: Option

) -> Self { - match d { - Some(d) => Pair::Punctuated(t, d), - None => Pair::End(t), - } - } - - /// Produces this punctuated pair as a tuple of syntax tree node and - /// optional following punctuation. - pub fn into_tuple(self) -> (T, Option

) { - match self { - Pair::Punctuated(t, d) => (t, Some(d)), - Pair::End(t) => (t, None), - } - } -} - -impl Index for Punctuated { - type Output = T; - - fn index(&self, index: usize) -> &Self::Output { - if index == self.len() - 1 { - match self.last { - Some(ref t) => t, - None => &self.inner[index].0, - } - } else { - &self.inner[index].0 - } - } -} - -impl IndexMut for Punctuated { - fn index_mut(&mut self, index: usize) -> &mut Self::Output { - if index == self.len() - 1 { - match self.last { - Some(ref mut t) => t, - None => &mut self.inner[index].0, - } - } else { - &mut self.inner[index].0 - } - } -} - -#[cfg(feature = "printing")] -mod printing { - use super::*; - use proc_macro2::TokenStream; - use quote::{ToTokens, TokenStreamExt}; - - impl ToTokens for Punctuated - where - T: ToTokens, - P: ToTokens, - { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append_all(self.pairs()) - } - } - - impl ToTokens for Pair - where - T: ToTokens, - P: ToTokens, - { - fn to_tokens(&self, tokens: &mut TokenStream) { - match *self { - Pair::Punctuated(ref a, ref b) => { - a.to_tokens(tokens); - b.to_tokens(tokens); - } - Pair::End(ref a) => a.to_tokens(tokens), - } - } - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/sealed.rs b/vendor/registry-40351f815f426200/syn/src/sealed.rs deleted file mode 100644 index 0b11bc99a..000000000 --- a/vendor/registry-40351f815f426200/syn/src/sealed.rs +++ /dev/null @@ -1,4 +0,0 @@ -#[cfg(feature = "parsing")] -pub mod lookahead { - pub trait Sealed: Copy {} -} diff --git a/vendor/registry-40351f815f426200/syn/src/span.rs b/vendor/registry-40351f815f426200/syn/src/span.rs deleted file mode 100644 index 27a7fe846..000000000 --- a/vendor/registry-40351f815f426200/syn/src/span.rs +++ /dev/null @@ -1,67 +0,0 @@ -use proc_macro2::Span; - -pub trait IntoSpans { - fn into_spans(self) -> S; -} - -impl IntoSpans<[Span; 1]> for Span { - fn into_spans(self) -> [Span; 1] { - [self] - } -} - -impl IntoSpans<[Span; 2]> for Span { - fn into_spans(self) -> [Span; 2] { - [self, self] - } -} - -impl IntoSpans<[Span; 3]> for Span { - fn into_spans(self) -> [Span; 3] { - [self, self, self] - } -} - -impl IntoSpans<[Span; 1]> for [Span; 1] { - fn into_spans(self) -> [Span; 1] { - self - } -} - -impl IntoSpans<[Span; 2]> for [Span; 2] { - fn into_spans(self) -> [Span; 2] { - self - } -} - -impl IntoSpans<[Span; 3]> for [Span; 3] { - fn into_spans(self) -> [Span; 3] { - self - } -} - -#[cfg(feature = "parsing")] -pub trait FromSpans: Sized { - fn from_spans(spans: &[Span]) -> Self; -} - -#[cfg(feature = "parsing")] -impl FromSpans for [Span; 1] { - fn from_spans(spans: &[Span]) -> Self { - [spans[0]] - } -} - -#[cfg(feature = "parsing")] -impl FromSpans for [Span; 2] { - fn from_spans(spans: &[Span]) -> Self { - [spans[0], spans[1]] - } -} - -#[cfg(feature = "parsing")] -impl FromSpans for [Span; 3] { - fn from_spans(spans: &[Span]) -> Self { - [spans[0], spans[1], spans[2]] - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/spanned.rs b/vendor/registry-40351f815f426200/syn/src/spanned.rs deleted file mode 100644 index 79e23dfbb..000000000 --- a/vendor/registry-40351f815f426200/syn/src/spanned.rs +++ /dev/null @@ -1,144 +0,0 @@ -//! A trait that can provide the `Span` of the complete contents of a syntax -//! tree node. -//! -//! *This module is available if Syn is built with both the `"parsing"` and -//! `"printing"` features.* -//! -//! # Example -//! -//! Suppose in a procedural macro we have a [`Type`] that we want to assert -//! implements the [`Sync`] trait. Maybe this is the type of one of the fields -//! of a struct for which we are deriving a trait implementation, and we need to -//! be able to pass a reference to one of those fields across threads. -//! -//! [`Type`]: ../enum.Type.html -//! [`Sync`]: https://doc.rust-lang.org/std/marker/trait.Sync.html -//! -//! If the field type does *not* implement `Sync` as required, we want the -//! compiler to report an error pointing out exactly which type it was. -//! -//! The following macro code takes a variable `ty` of type `Type` and produces a -//! static assertion that `Sync` is implemented for that type. -//! -//! ```edition2018 -//! # extern crate proc_macro; -//! # -//! use proc_macro::TokenStream; -//! use proc_macro2::Span; -//! use quote::quote_spanned; -//! use syn::Type; -//! use syn::spanned::Spanned; -//! -//! # const IGNORE_TOKENS: &str = stringify! { -//! #[proc_macro_derive(MyMacro)] -//! # }; -//! pub fn my_macro(input: TokenStream) -> TokenStream { -//! # let ty = get_a_type(); -//! /* ... */ -//! -//! let assert_sync = quote_spanned! {ty.span()=> -//! struct _AssertSync where #ty: Sync; -//! }; -//! -//! /* ... */ -//! # input -//! } -//! # -//! # fn get_a_type() -> Type { -//! # unimplemented!() -//! # } -//! ``` -//! -//! By inserting this `assert_sync` fragment into the output code generated by -//! our macro, the user's code will fail to compile if `ty` does not implement -//! `Sync`. The errors they would see look like the following. -//! -//! ```text -//! error[E0277]: the trait bound `*const i32: std::marker::Sync` is not satisfied -//! --> src/main.rs:10:21 -//! | -//! 10 | bad_field: *const i32, -//! | ^^^^^^^^^^ `*const i32` cannot be shared between threads safely -//! ``` -//! -//! In this technique, using the `Type`'s span for the error message makes the -//! error appear in the correct place underlining the right type. - -use proc_macro2::{Span, TokenStream}; -use quote::ToTokens; - -/// A trait that can provide the `Span` of the complete contents of a syntax -/// tree node. -/// -/// This trait is automatically implemented for all types that implement -/// [`ToTokens`] from the `quote` crate. It is sealed and cannot be implemented -/// outside of the Syn crate other than by implementing `ToTokens`. -/// -/// [`ToTokens`]: https://docs.rs/quote/0.6/quote/trait.ToTokens.html -/// -/// See the [module documentation] for an example. -/// -/// [module documentation]: index.html -/// -/// *This trait is available if Syn is built with both the `"parsing"` and -/// `"printing"` features.* -pub trait Spanned: private::Sealed { - /// Returns a `Span` covering the complete contents of this syntax tree - /// node, or [`Span::call_site()`] if this node is empty. - /// - /// [`Span::call_site()`]: https://docs.rs/proc-macro2/0.4/proc_macro2/struct.Span.html#method.call_site - fn span(&self) -> Span; -} - -mod private { - use quote::ToTokens; - pub trait Sealed {} - impl Sealed for T {} -} - -impl Spanned for T -where - T: ToTokens, -{ - fn span(&self) -> Span { - join_spans(self.into_token_stream()) - } -} - -fn join_spans(tokens: TokenStream) -> Span { - let mut iter = tokens.into_iter().filter_map(|tt| { - // FIXME: This shouldn't be required, since optimally spans should - // never be invalid. This filter_map can probably be removed when - // https://github.com/rust-lang/rust/issues/43081 is resolved. - let span = tt.span(); - let debug = format!("{:?}", span); - if debug.ends_with("bytes(0..0)") { - None - } else { - Some(span) - } - }); - - let mut joined = match iter.next() { - Some(span) => span, - None => return Span::call_site(), - }; - - #[cfg(procmacro2_semver_exempt)] - { - for next in iter { - if let Some(span) = joined.join(next) { - joined = span; - } - } - } - - #[cfg(not(procmacro2_semver_exempt))] - { - // We can't join spans without procmacro2_semver_exempt so just grab the - // first one. - joined = joined; - } - - joined -} diff --git a/vendor/registry-40351f815f426200/syn/src/thread.rs b/vendor/registry-40351f815f426200/syn/src/thread.rs deleted file mode 100644 index ff47e4af4..000000000 --- a/vendor/registry-40351f815f426200/syn/src/thread.rs +++ /dev/null @@ -1,83 +0,0 @@ -use std::fmt::{self, Debug}; - -use self::thread_id::ThreadId; - -/// ThreadBound is a Sync-maker and Send-maker that allows accessing a value -/// of type T only from the original thread on which the ThreadBound was -/// constructed. -pub struct ThreadBound { - value: T, - thread_id: ThreadId, -} - -unsafe impl Sync for ThreadBound {} - -// Send bound requires Copy, as otherwise Drop could run in the wrong place. -unsafe impl Send for ThreadBound {} - -impl ThreadBound { - pub fn new(value: T) -> Self { - ThreadBound { - value: value, - thread_id: thread_id::current(), - } - } - - pub fn get(&self) -> Option<&T> { - if thread_id::current() == self.thread_id { - Some(&self.value) - } else { - None - } - } -} - -impl Debug for ThreadBound { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - match self.get() { - Some(value) => Debug::fmt(value, formatter), - None => formatter.write_str("unknown"), - } - } -} - -#[cfg(syn_can_use_thread_id)] -mod thread_id { - use std::thread; - - pub use std::thread::ThreadId; - - pub fn current() -> ThreadId { - thread::current().id() - } -} - -#[cfg(not(syn_can_use_thread_id))] -mod thread_id { - #[allow(deprecated)] - use std::sync::atomic::{AtomicUsize, Ordering, ATOMIC_USIZE_INIT}; - - thread_local! { - static THREAD_ID: usize = { - #[allow(deprecated)] - static NEXT_THREAD_ID: AtomicUsize = ATOMIC_USIZE_INIT; - - // Ordering::Relaxed because our only requirement for the ids is - // that they are unique. It is okay for the compiler to rearrange - // other memory reads around this fetch. It's still an atomic - // fetch_add, so no two threads will be able to read the same value - // from it. - // - // The main thing which these orderings affect is other memory reads - // around the atomic read, which for our case are irrelevant as this - // atomic guards nothing. - NEXT_THREAD_ID.fetch_add(1, Ordering::Relaxed) - }; - } - - pub type ThreadId = usize; - - pub fn current() -> ThreadId { - THREAD_ID.with(|id| *id) - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/token.rs b/vendor/registry-40351f815f426200/syn/src/token.rs deleted file mode 100644 index 55264133e..000000000 --- a/vendor/registry-40351f815f426200/syn/src/token.rs +++ /dev/null @@ -1,950 +0,0 @@ -//! Tokens representing Rust punctuation, keywords, and delimiters. -//! -//! The type names in this module can be difficult to keep straight, so we -//! prefer to use the [`Token!`] macro instead. This is a type-macro that -//! expands to the token type of the given token. -//! -//! [`Token!`]: ../macro.Token.html -//! -//! # Example -//! -//! The [`ItemStatic`] syntax tree node is defined like this. -//! -//! [`ItemStatic`]: ../struct.ItemStatic.html -//! -//! ```edition2018 -//! # use syn::{Attribute, Expr, Ident, Token, Type, Visibility}; -//! # -//! pub struct ItemStatic { -//! pub attrs: Vec, -//! pub vis: Visibility, -//! pub static_token: Token![static], -//! pub mutability: Option, -//! pub ident: Ident, -//! pub colon_token: Token![:], -//! pub ty: Box, -//! pub eq_token: Token![=], -//! pub expr: Box, -//! pub semi_token: Token![;], -//! } -//! ``` -//! -//! # Parsing -//! -//! Keywords and punctuation can be parsed through the [`ParseStream::parse`] -//! method. Delimiter tokens are parsed using the [`parenthesized!`], -//! [`bracketed!`] and [`braced!`] macros. -//! -//! [`ParseStream::parse`]: ../parse/struct.ParseBuffer.html#method.parse -//! [`parenthesized!`]: ../macro.parenthesized.html -//! [`bracketed!`]: ../macro.bracketed.html -//! [`braced!`]: ../macro.braced.html -//! -//! ```edition2018 -//! use syn::{Attribute, Result}; -//! use syn::parse::{Parse, ParseStream}; -//! # -//! # enum ItemStatic {} -//! -//! // Parse the ItemStatic struct shown above. -//! impl Parse for ItemStatic { -//! fn parse(input: ParseStream) -> Result { -//! # use syn::ItemStatic; -//! # fn parse(input: ParseStream) -> Result { -//! Ok(ItemStatic { -//! attrs: input.call(Attribute::parse_outer)?, -//! vis: input.parse()?, -//! static_token: input.parse()?, -//! mutability: input.parse()?, -//! ident: input.parse()?, -//! colon_token: input.parse()?, -//! ty: input.parse()?, -//! eq_token: input.parse()?, -//! expr: input.parse()?, -//! semi_token: input.parse()?, -//! }) -//! # } -//! # unimplemented!() -//! } -//! } -//! ``` -//! -//! # Other operations -//! -//! Every keyword and punctuation token supports the following operations. -//! -//! - [Peeking] — `input.peek(Token![...])` -//! -//! - [Parsing] — `input.parse::()?` -//! -//! - [Printing] — `quote!( ... #the_token ... )` -//! -//! - Construction from a [`Span`] — `let the_token = Token![...](sp)` -//! -//! - Field access to its span — `let sp = the_token.span` -//! -//! [Peeking]: ../parse/struct.ParseBuffer.html#method.peek -//! [Parsing]: ../parse/struct.ParseBuffer.html#method.parse -//! [Printing]: https://docs.rs/quote/0.6/quote/trait.ToTokens.html -//! [`Span`]: https://docs.rs/proc-macro2/0.4/proc_macro2/struct.Span.html - -use std; -#[cfg(feature = "extra-traits")] -use std::cmp; -#[cfg(feature = "extra-traits")] -use std::fmt::{self, Debug}; -#[cfg(feature = "extra-traits")] -use std::hash::{Hash, Hasher}; -use std::ops::{Deref, DerefMut}; - -#[cfg(feature = "parsing")] -use proc_macro2::Delimiter; -#[cfg(any(feature = "parsing", feature = "printing"))] -use proc_macro2::Ident; -use proc_macro2::Span; -#[cfg(feature = "printing")] -use proc_macro2::TokenStream; -#[cfg(feature = "printing")] -use quote::{ToTokens, TokenStreamExt}; - -use self::private::WithSpan; -#[cfg(feature = "parsing")] -use buffer::Cursor; -#[cfg(feature = "parsing")] -use error::Result; -#[cfg(any(feature = "full", feature = "derive"))] -#[cfg(feature = "parsing")] -use lifetime::Lifetime; -#[cfg(any(feature = "full", feature = "derive"))] -#[cfg(feature = "parsing")] -use lit::{Lit, LitBool, LitByte, LitByteStr, LitChar, LitFloat, LitInt, LitStr}; -#[cfg(feature = "parsing")] -use lookahead; -#[cfg(feature = "parsing")] -use parse::{Parse, ParseStream}; -use span::IntoSpans; - -/// Marker trait for types that represent single tokens. -/// -/// This trait is sealed and cannot be implemented for types outside of Syn. -#[cfg(feature = "parsing")] -pub trait Token: private::Sealed { - // Not public API. - #[doc(hidden)] - fn peek(cursor: Cursor) -> bool; - - // Not public API. - #[doc(hidden)] - fn display() -> &'static str; -} - -mod private { - use proc_macro2::Span; - - #[cfg(feature = "parsing")] - pub trait Sealed {} - - /// Support writing `token.span` rather than `token.spans[0]` on tokens that - /// hold a single span. - #[repr(C)] - pub struct WithSpan { - pub span: Span, - } -} - -#[cfg(feature = "parsing")] -impl private::Sealed for Ident {} - -#[cfg(any(feature = "full", feature = "derive"))] -#[cfg(feature = "parsing")] -fn peek_impl(cursor: Cursor, peek: fn(ParseStream) -> bool) -> bool { - use std::cell::Cell; - use std::rc::Rc; - - let scope = Span::call_site(); - let unexpected = Rc::new(Cell::new(None)); - let buffer = ::private::new_parse_buffer(scope, cursor, unexpected); - peek(&buffer) -} - -#[cfg(any(feature = "full", feature = "derive"))] -macro_rules! impl_token { - ($name:ident $display:expr) => { - #[cfg(feature = "parsing")] - impl Token for $name { - fn peek(cursor: Cursor) -> bool { - fn peek(input: ParseStream) -> bool { - <$name as Parse>::parse(input).is_ok() - } - peek_impl(cursor, peek) - } - - fn display() -> &'static str { - $display - } - } - - #[cfg(feature = "parsing")] - impl private::Sealed for $name {} - }; -} - -#[cfg(any(feature = "full", feature = "derive"))] -impl_token!(Lifetime "lifetime"); -#[cfg(any(feature = "full", feature = "derive"))] -impl_token!(Lit "literal"); -#[cfg(any(feature = "full", feature = "derive"))] -impl_token!(LitStr "string literal"); -#[cfg(any(feature = "full", feature = "derive"))] -impl_token!(LitByteStr "byte string literal"); -#[cfg(any(feature = "full", feature = "derive"))] -impl_token!(LitByte "byte literal"); -#[cfg(any(feature = "full", feature = "derive"))] -impl_token!(LitChar "character literal"); -#[cfg(any(feature = "full", feature = "derive"))] -impl_token!(LitInt "integer literal"); -#[cfg(any(feature = "full", feature = "derive"))] -impl_token!(LitFloat "floating point literal"); -#[cfg(any(feature = "full", feature = "derive"))] -impl_token!(LitBool "boolean literal"); - -// Not public API. -#[doc(hidden)] -#[cfg(feature = "parsing")] -pub trait CustomToken { - fn peek(cursor: Cursor) -> bool; - fn display() -> &'static str; -} - -#[cfg(feature = "parsing")] -impl private::Sealed for T {} - -#[cfg(feature = "parsing")] -impl Token for T { - fn peek(cursor: Cursor) -> bool { - ::peek(cursor) - } - - fn display() -> &'static str { - ::display() - } -} - -macro_rules! define_keywords { - ($($token:tt pub struct $name:ident #[$doc:meta])*) => { - $( - #[cfg_attr(feature = "clone-impls", derive(Copy, Clone))] - #[$doc] - /// - /// Don't try to remember the name of this type -- use the [`Token!`] - /// macro instead. - /// - /// [`Token!`]: index.html - pub struct $name { - pub span: Span, - } - - #[doc(hidden)] - #[allow(non_snake_case)] - pub fn $name>(span: S) -> $name { - $name { - span: span.into_spans()[0], - } - } - - impl std::default::Default for $name { - fn default() -> Self { - $name { - span: Span::call_site(), - } - } - } - - #[cfg(feature = "extra-traits")] - impl Debug for $name { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str(stringify!($name)) - } - } - - #[cfg(feature = "extra-traits")] - impl cmp::Eq for $name {} - - #[cfg(feature = "extra-traits")] - impl PartialEq for $name { - fn eq(&self, _other: &$name) -> bool { - true - } - } - - #[cfg(feature = "extra-traits")] - impl Hash for $name { - fn hash(&self, _state: &mut H) {} - } - - #[cfg(feature = "printing")] - impl ToTokens for $name { - fn to_tokens(&self, tokens: &mut TokenStream) { - printing::keyword($token, self.span, tokens); - } - } - - #[cfg(feature = "parsing")] - impl Parse for $name { - fn parse(input: ParseStream) -> Result { - Ok($name { - span: parsing::keyword(input, $token)?, - }) - } - } - - #[cfg(feature = "parsing")] - impl Token for $name { - fn peek(cursor: Cursor) -> bool { - parsing::peek_keyword(cursor, $token) - } - - fn display() -> &'static str { - concat!("`", $token, "`") - } - } - - #[cfg(feature = "parsing")] - impl private::Sealed for $name {} - )* - }; -} - -macro_rules! impl_deref_if_len_is_1 { - ($name:ident/1) => { - impl Deref for $name { - type Target = WithSpan; - - fn deref(&self) -> &Self::Target { - unsafe { &*(self as *const Self as *const WithSpan) } - } - } - - impl DerefMut for $name { - fn deref_mut(&mut self) -> &mut Self::Target { - unsafe { &mut *(self as *mut Self as *mut WithSpan) } - } - } - }; - - ($name:ident/$len:tt) => {}; -} - -macro_rules! define_punctuation_structs { - ($($token:tt pub struct $name:ident/$len:tt #[$doc:meta])*) => { - $( - #[cfg_attr(feature = "clone-impls", derive(Copy, Clone))] - #[repr(C)] - #[$doc] - /// - /// Don't try to remember the name of this type -- use the [`Token!`] - /// macro instead. - /// - /// [`Token!`]: index.html - pub struct $name { - pub spans: [Span; $len], - } - - #[doc(hidden)] - #[allow(non_snake_case)] - pub fn $name>(spans: S) -> $name { - $name { - spans: spans.into_spans(), - } - } - - impl std::default::Default for $name { - fn default() -> Self { - $name { - spans: [Span::call_site(); $len], - } - } - } - - #[cfg(feature = "extra-traits")] - impl Debug for $name { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str(stringify!($name)) - } - } - - #[cfg(feature = "extra-traits")] - impl cmp::Eq for $name {} - - #[cfg(feature = "extra-traits")] - impl PartialEq for $name { - fn eq(&self, _other: &$name) -> bool { - true - } - } - - #[cfg(feature = "extra-traits")] - impl Hash for $name { - fn hash(&self, _state: &mut H) {} - } - - impl_deref_if_len_is_1!($name/$len); - )* - }; -} - -macro_rules! define_punctuation { - ($($token:tt pub struct $name:ident/$len:tt #[$doc:meta])*) => { - $( - define_punctuation_structs! { - $token pub struct $name/$len #[$doc] - } - - #[cfg(feature = "printing")] - impl ToTokens for $name { - fn to_tokens(&self, tokens: &mut TokenStream) { - printing::punct($token, &self.spans, tokens); - } - } - - #[cfg(feature = "parsing")] - impl Parse for $name { - fn parse(input: ParseStream) -> Result { - Ok($name { - spans: parsing::punct(input, $token)?, - }) - } - } - - #[cfg(feature = "parsing")] - impl Token for $name { - fn peek(cursor: Cursor) -> bool { - parsing::peek_punct(cursor, $token) - } - - fn display() -> &'static str { - concat!("`", $token, "`") - } - } - - #[cfg(feature = "parsing")] - impl private::Sealed for $name {} - )* - }; -} - -macro_rules! define_delimiters { - ($($token:tt pub struct $name:ident #[$doc:meta])*) => { - $( - #[cfg_attr(feature = "clone-impls", derive(Copy, Clone))] - #[$doc] - pub struct $name { - pub span: Span, - } - - #[doc(hidden)] - #[allow(non_snake_case)] - pub fn $name>(span: S) -> $name { - $name { - span: span.into_spans()[0], - } - } - - impl std::default::Default for $name { - fn default() -> Self { - $name { - span: Span::call_site(), - } - } - } - - #[cfg(feature = "extra-traits")] - impl Debug for $name { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str(stringify!($name)) - } - } - - #[cfg(feature = "extra-traits")] - impl cmp::Eq for $name {} - - #[cfg(feature = "extra-traits")] - impl PartialEq for $name { - fn eq(&self, _other: &$name) -> bool { - true - } - } - - #[cfg(feature = "extra-traits")] - impl Hash for $name { - fn hash(&self, _state: &mut H) {} - } - - impl $name { - #[cfg(feature = "printing")] - pub fn surround(&self, tokens: &mut TokenStream, f: F) - where - F: FnOnce(&mut TokenStream), - { - printing::delim($token, self.span, tokens, f); - } - } - - #[cfg(feature = "parsing")] - impl private::Sealed for $name {} - )* - }; -} - -define_punctuation_structs! { - "_" pub struct Underscore/1 /// `_` -} - -#[cfg(feature = "printing")] -impl ToTokens for Underscore { - fn to_tokens(&self, tokens: &mut TokenStream) { - tokens.append(Ident::new("_", self.span)); - } -} - -#[cfg(feature = "parsing")] -impl Parse for Underscore { - fn parse(input: ParseStream) -> Result { - input.step(|cursor| { - if let Some((ident, rest)) = cursor.ident() { - if ident == "_" { - return Ok((Underscore(ident.span()), rest)); - } - } - if let Some((punct, rest)) = cursor.punct() { - if punct.as_char() == '_' { - return Ok((Underscore(punct.span()), rest)); - } - } - Err(cursor.error("expected `_`")) - }) - } -} - -#[cfg(feature = "parsing")] -impl Token for Underscore { - fn peek(cursor: Cursor) -> bool { - if let Some((ident, _rest)) = cursor.ident() { - return ident == "_"; - } - if let Some((punct, _rest)) = cursor.punct() { - return punct.as_char() == '_'; - } - false - } - - fn display() -> &'static str { - "`_`" - } -} - -#[cfg(feature = "parsing")] -impl private::Sealed for Underscore {} - -#[cfg(feature = "parsing")] -impl Token for Paren { - fn peek(cursor: Cursor) -> bool { - lookahead::is_delimiter(cursor, Delimiter::Parenthesis) - } - - fn display() -> &'static str { - "parentheses" - } -} - -#[cfg(feature = "parsing")] -impl Token for Brace { - fn peek(cursor: Cursor) -> bool { - lookahead::is_delimiter(cursor, Delimiter::Brace) - } - - fn display() -> &'static str { - "curly braces" - } -} - -#[cfg(feature = "parsing")] -impl Token for Bracket { - fn peek(cursor: Cursor) -> bool { - lookahead::is_delimiter(cursor, Delimiter::Bracket) - } - - fn display() -> &'static str { - "square brackets" - } -} - -#[cfg(feature = "parsing")] -impl Token for Group { - fn peek(cursor: Cursor) -> bool { - lookahead::is_delimiter(cursor, Delimiter::None) - } - - fn display() -> &'static str { - "invisible group" - } -} - -define_keywords! { - "abstract" pub struct Abstract /// `abstract` - "as" pub struct As /// `as` - "async" pub struct Async /// `async` - "auto" pub struct Auto /// `auto` - "become" pub struct Become /// `become` - "box" pub struct Box /// `box` - "break" pub struct Break /// `break` - "const" pub struct Const /// `const` - "continue" pub struct Continue /// `continue` - "crate" pub struct Crate /// `crate` - "default" pub struct Default /// `default` - "do" pub struct Do /// `do` - "dyn" pub struct Dyn /// `dyn` - "else" pub struct Else /// `else` - "enum" pub struct Enum /// `enum` - "existential" pub struct Existential /// `existential` - "extern" pub struct Extern /// `extern` - "final" pub struct Final /// `final` - "fn" pub struct Fn /// `fn` - "for" pub struct For /// `for` - "if" pub struct If /// `if` - "impl" pub struct Impl /// `impl` - "in" pub struct In /// `in` - "let" pub struct Let /// `let` - "loop" pub struct Loop /// `loop` - "macro" pub struct Macro /// `macro` - "match" pub struct Match /// `match` - "mod" pub struct Mod /// `mod` - "move" pub struct Move /// `move` - "mut" pub struct Mut /// `mut` - "override" pub struct Override /// `override` - "priv" pub struct Priv /// `priv` - "pub" pub struct Pub /// `pub` - "ref" pub struct Ref /// `ref` - "return" pub struct Return /// `return` - "Self" pub struct SelfType /// `Self` - "self" pub struct SelfValue /// `self` - "static" pub struct Static /// `static` - "struct" pub struct Struct /// `struct` - "super" pub struct Super /// `super` - "trait" pub struct Trait /// `trait` - "try" pub struct Try /// `try` - "type" pub struct Type /// `type` - "typeof" pub struct Typeof /// `typeof` - "union" pub struct Union /// `union` - "unsafe" pub struct Unsafe /// `unsafe` - "unsized" pub struct Unsized /// `unsized` - "use" pub struct Use /// `use` - "virtual" pub struct Virtual /// `virtual` - "where" pub struct Where /// `where` - "while" pub struct While /// `while` - "yield" pub struct Yield /// `yield` -} - -define_punctuation! { - "+" pub struct Add/1 /// `+` - "+=" pub struct AddEq/2 /// `+=` - "&" pub struct And/1 /// `&` - "&&" pub struct AndAnd/2 /// `&&` - "&=" pub struct AndEq/2 /// `&=` - "@" pub struct At/1 /// `@` - "!" pub struct Bang/1 /// `!` - "^" pub struct Caret/1 /// `^` - "^=" pub struct CaretEq/2 /// `^=` - ":" pub struct Colon/1 /// `:` - "::" pub struct Colon2/2 /// `::` - "," pub struct Comma/1 /// `,` - "/" pub struct Div/1 /// `/` - "/=" pub struct DivEq/2 /// `/=` - "$" pub struct Dollar/1 /// `$` - "." pub struct Dot/1 /// `.` - ".." pub struct Dot2/2 /// `..` - "..." pub struct Dot3/3 /// `...` - "..=" pub struct DotDotEq/3 /// `..=` - "=" pub struct Eq/1 /// `=` - "==" pub struct EqEq/2 /// `==` - ">=" pub struct Ge/2 /// `>=` - ">" pub struct Gt/1 /// `>` - "<=" pub struct Le/2 /// `<=` - "<" pub struct Lt/1 /// `<` - "*=" pub struct MulEq/2 /// `*=` - "!=" pub struct Ne/2 /// `!=` - "|" pub struct Or/1 /// `|` - "|=" pub struct OrEq/2 /// `|=` - "||" pub struct OrOr/2 /// `||` - "#" pub struct Pound/1 /// `#` - "?" pub struct Question/1 /// `?` - "->" pub struct RArrow/2 /// `->` - "<-" pub struct LArrow/2 /// `<-` - "%" pub struct Rem/1 /// `%` - "%=" pub struct RemEq/2 /// `%=` - "=>" pub struct FatArrow/2 /// `=>` - ";" pub struct Semi/1 /// `;` - "<<" pub struct Shl/2 /// `<<` - "<<=" pub struct ShlEq/3 /// `<<=` - ">>" pub struct Shr/2 /// `>>` - ">>=" pub struct ShrEq/3 /// `>>=` - "*" pub struct Star/1 /// `*` - "-" pub struct Sub/1 /// `-` - "-=" pub struct SubEq/2 /// `-=` - "~" pub struct Tilde/1 /// `~` -} - -define_delimiters! { - "{" pub struct Brace /// `{...}` - "[" pub struct Bracket /// `[...]` - "(" pub struct Paren /// `(...)` - " " pub struct Group /// None-delimited group -} - -/// A type-macro that expands to the name of the Rust type representation of a -/// given token. -/// -/// See the [token module] documentation for details and examples. -/// -/// [token module]: token/index.html -// Unfortunate duplication due to a rustdoc bug. -// https://github.com/rust-lang/rust/issues/45939 -#[macro_export] -#[cfg_attr(rustfmt, rustfmt_skip)] -macro_rules! Token { - (abstract) => { $crate::token::Abstract }; - (as) => { $crate::token::As }; - (async) => { $crate::token::Async }; - (auto) => { $crate::token::Auto }; - (become) => { $crate::token::Become }; - (box) => { $crate::token::Box }; - (break) => { $crate::token::Break }; - (const) => { $crate::token::Const }; - (continue) => { $crate::token::Continue }; - (crate) => { $crate::token::Crate }; - (default) => { $crate::token::Default }; - (do) => { $crate::token::Do }; - (dyn) => { $crate::token::Dyn }; - (else) => { $crate::token::Else }; - (enum) => { $crate::token::Enum }; - (existential) => { $crate::token::Existential }; - (extern) => { $crate::token::Extern }; - (final) => { $crate::token::Final }; - (fn) => { $crate::token::Fn }; - (for) => { $crate::token::For }; - (if) => { $crate::token::If }; - (impl) => { $crate::token::Impl }; - (in) => { $crate::token::In }; - (let) => { $crate::token::Let }; - (loop) => { $crate::token::Loop }; - (macro) => { $crate::token::Macro }; - (match) => { $crate::token::Match }; - (mod) => { $crate::token::Mod }; - (move) => { $crate::token::Move }; - (mut) => { $crate::token::Mut }; - (override) => { $crate::token::Override }; - (priv) => { $crate::token::Priv }; - (pub) => { $crate::token::Pub }; - (ref) => { $crate::token::Ref }; - (return) => { $crate::token::Return }; - (Self) => { $crate::token::SelfType }; - (self) => { $crate::token::SelfValue }; - (static) => { $crate::token::Static }; - (struct) => { $crate::token::Struct }; - (super) => { $crate::token::Super }; - (trait) => { $crate::token::Trait }; - (try) => { $crate::token::Try }; - (type) => { $crate::token::Type }; - (typeof) => { $crate::token::Typeof }; - (union) => { $crate::token::Union }; - (unsafe) => { $crate::token::Unsafe }; - (unsized) => { $crate::token::Unsized }; - (use) => { $crate::token::Use }; - (virtual) => { $crate::token::Virtual }; - (where) => { $crate::token::Where }; - (while) => { $crate::token::While }; - (yield) => { $crate::token::Yield }; - (+) => { $crate::token::Add }; - (+=) => { $crate::token::AddEq }; - (&) => { $crate::token::And }; - (&&) => { $crate::token::AndAnd }; - (&=) => { $crate::token::AndEq }; - (@) => { $crate::token::At }; - (!) => { $crate::token::Bang }; - (^) => { $crate::token::Caret }; - (^=) => { $crate::token::CaretEq }; - (:) => { $crate::token::Colon }; - (::) => { $crate::token::Colon2 }; - (,) => { $crate::token::Comma }; - (/) => { $crate::token::Div }; - (/=) => { $crate::token::DivEq }; - (.) => { $crate::token::Dot }; - (..) => { $crate::token::Dot2 }; - (...) => { $crate::token::Dot3 }; - (..=) => { $crate::token::DotDotEq }; - (=) => { $crate::token::Eq }; - (==) => { $crate::token::EqEq }; - (>=) => { $crate::token::Ge }; - (>) => { $crate::token::Gt }; - (<=) => { $crate::token::Le }; - (<) => { $crate::token::Lt }; - (*=) => { $crate::token::MulEq }; - (!=) => { $crate::token::Ne }; - (|) => { $crate::token::Or }; - (|=) => { $crate::token::OrEq }; - (||) => { $crate::token::OrOr }; - (#) => { $crate::token::Pound }; - (?) => { $crate::token::Question }; - (->) => { $crate::token::RArrow }; - (<-) => { $crate::token::LArrow }; - (%) => { $crate::token::Rem }; - (%=) => { $crate::token::RemEq }; - (=>) => { $crate::token::FatArrow }; - (;) => { $crate::token::Semi }; - (<<) => { $crate::token::Shl }; - (<<=) => { $crate::token::ShlEq }; - (>>) => { $crate::token::Shr }; - (>>=) => { $crate::token::ShrEq }; - (*) => { $crate::token::Star }; - (-) => { $crate::token::Sub }; - (-=) => { $crate::token::SubEq }; - (~) => { $crate::token::Tilde }; - (_) => { $crate::token::Underscore }; -} - -// Old names. TODO: remove these re-exports in a breaking change. -// https://github.com/dtolnay/syn/issues/486 -#[doc(hidden)] -pub use self::SelfType as CapSelf; -#[doc(hidden)] -pub use self::SelfValue as Self_; - -// Not public API. -#[doc(hidden)] -#[cfg(feature = "parsing")] -pub mod parsing { - use proc_macro2::{Spacing, Span}; - - use buffer::Cursor; - use error::{Error, Result}; - use parse::ParseStream; - use span::FromSpans; - - pub fn keyword(input: ParseStream, token: &str) -> Result { - input.step(|cursor| { - if let Some((ident, rest)) = cursor.ident() { - if ident == token { - return Ok((ident.span(), rest)); - } - } - Err(cursor.error(format!("expected `{}`", token))) - }) - } - - pub fn peek_keyword(cursor: Cursor, token: &str) -> bool { - if let Some((ident, _rest)) = cursor.ident() { - ident == token - } else { - false - } - } - - pub fn punct(input: ParseStream, token: &str) -> Result { - let mut spans = [input.cursor().span(); 3]; - punct_helper(input, token, &mut spans)?; - Ok(S::from_spans(&spans)) - } - - fn punct_helper(input: ParseStream, token: &str, spans: &mut [Span; 3]) -> Result<()> { - input.step(|cursor| { - let mut cursor = *cursor; - assert!(token.len() <= spans.len()); - - for (i, ch) in token.chars().enumerate() { - match cursor.punct() { - Some((punct, rest)) => { - spans[i] = punct.span(); - if punct.as_char() != ch { - break; - } else if i == token.len() - 1 { - return Ok(((), rest)); - } else if punct.spacing() != Spacing::Joint { - break; - } - cursor = rest; - } - None => break, - } - } - - Err(Error::new(spans[0], format!("expected `{}`", token))) - }) - } - - pub fn peek_punct(mut cursor: Cursor, token: &str) -> bool { - for (i, ch) in token.chars().enumerate() { - match cursor.punct() { - Some((punct, rest)) => { - if punct.as_char() != ch { - break; - } else if i == token.len() - 1 { - return true; - } else if punct.spacing() != Spacing::Joint { - break; - } - cursor = rest; - } - None => break, - } - } - false - } -} - -// Not public API. -#[doc(hidden)] -#[cfg(feature = "printing")] -pub mod printing { - use proc_macro2::{Delimiter, Group, Ident, Punct, Spacing, Span, TokenStream}; - use quote::TokenStreamExt; - - pub fn punct(s: &str, spans: &[Span], tokens: &mut TokenStream) { - assert_eq!(s.len(), spans.len()); - - let mut chars = s.chars(); - let mut spans = spans.iter(); - let ch = chars.next_back().unwrap(); - let span = spans.next_back().unwrap(); - for (ch, span) in chars.zip(spans) { - let mut op = Punct::new(ch, Spacing::Joint); - op.set_span(*span); - tokens.append(op); - } - - let mut op = Punct::new(ch, Spacing::Alone); - op.set_span(*span); - tokens.append(op); - } - - pub fn keyword(s: &str, span: Span, tokens: &mut TokenStream) { - tokens.append(Ident::new(s, span)); - } - - pub fn delim(s: &str, span: Span, tokens: &mut TokenStream, f: F) - where - F: FnOnce(&mut TokenStream), - { - let delim = match s { - "(" => Delimiter::Parenthesis, - "[" => Delimiter::Bracket, - "{" => Delimiter::Brace, - " " => Delimiter::None, - _ => panic!("unknown delimiter: {}", s), - }; - let mut inner = TokenStream::new(); - f(&mut inner); - let mut g = Group::new(delim, inner); - g.set_span(span); - tokens.append(g); - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/tt.rs b/vendor/registry-40351f815f426200/syn/src/tt.rs deleted file mode 100644 index 72bc3c11e..000000000 --- a/vendor/registry-40351f815f426200/syn/src/tt.rs +++ /dev/null @@ -1,110 +0,0 @@ -use std::hash::{Hash, Hasher}; - -use proc_macro2::{Delimiter, TokenStream, TokenTree}; - -pub struct TokenTreeHelper<'a>(pub &'a TokenTree); - -impl<'a> PartialEq for TokenTreeHelper<'a> { - fn eq(&self, other: &Self) -> bool { - use proc_macro2::Spacing; - - match (self.0, other.0) { - (&TokenTree::Group(ref g1), &TokenTree::Group(ref g2)) => { - match (g1.delimiter(), g2.delimiter()) { - (Delimiter::Parenthesis, Delimiter::Parenthesis) - | (Delimiter::Brace, Delimiter::Brace) - | (Delimiter::Bracket, Delimiter::Bracket) - | (Delimiter::None, Delimiter::None) => {} - _ => return false, - } - - let s1 = g1.stream().clone().into_iter(); - let mut s2 = g2.stream().clone().into_iter(); - - for item1 in s1 { - let item2 = match s2.next() { - Some(item) => item, - None => return false, - }; - if TokenTreeHelper(&item1) != TokenTreeHelper(&item2) { - return false; - } - } - s2.next().is_none() - } - (&TokenTree::Punct(ref o1), &TokenTree::Punct(ref o2)) => { - o1.as_char() == o2.as_char() - && match (o1.spacing(), o2.spacing()) { - (Spacing::Alone, Spacing::Alone) | (Spacing::Joint, Spacing::Joint) => true, - _ => false, - } - } - (&TokenTree::Literal(ref l1), &TokenTree::Literal(ref l2)) => { - l1.to_string() == l2.to_string() - } - (&TokenTree::Ident(ref s1), &TokenTree::Ident(ref s2)) => s1 == s2, - _ => false, - } - } -} - -impl<'a> Hash for TokenTreeHelper<'a> { - fn hash(&self, h: &mut H) { - use proc_macro2::Spacing; - - match *self.0 { - TokenTree::Group(ref g) => { - 0u8.hash(h); - match g.delimiter() { - Delimiter::Parenthesis => 0u8.hash(h), - Delimiter::Brace => 1u8.hash(h), - Delimiter::Bracket => 2u8.hash(h), - Delimiter::None => 3u8.hash(h), - } - - for item in g.stream().clone() { - TokenTreeHelper(&item).hash(h); - } - 0xffu8.hash(h); // terminator w/ a variant we don't normally hash - } - TokenTree::Punct(ref op) => { - 1u8.hash(h); - op.as_char().hash(h); - match op.spacing() { - Spacing::Alone => 0u8.hash(h), - Spacing::Joint => 1u8.hash(h), - } - } - TokenTree::Literal(ref lit) => (2u8, lit.to_string()).hash(h), - TokenTree::Ident(ref word) => (3u8, word).hash(h), - } - } -} - -pub struct TokenStreamHelper<'a>(pub &'a TokenStream); - -impl<'a> PartialEq for TokenStreamHelper<'a> { - fn eq(&self, other: &Self) -> bool { - let left = self.0.clone().into_iter().collect::>(); - let right = other.0.clone().into_iter().collect::>(); - if left.len() != right.len() { - return false; - } - for (a, b) in left.into_iter().zip(right) { - if TokenTreeHelper(&a) != TokenTreeHelper(&b) { - return false; - } - } - true - } -} - -impl<'a> Hash for TokenStreamHelper<'a> { - fn hash(&self, state: &mut H) { - let tts = self.0.clone().into_iter().collect::>(); - tts.len().hash(state); - for tt in tts { - TokenTreeHelper(&tt).hash(state); - } - } -} diff --git a/vendor/registry-40351f815f426200/syn/src/ty.rs b/vendor/registry-40351f815f426200/syn/src/ty.rs deleted file mode 100644 index d4852f6be..000000000 --- a/vendor/registry-40351f815f426200/syn/src/ty.rs +++ /dev/null @@ -1,994 +0,0 @@ -use super::*; -use proc_macro2::TokenStream; -use punctuated::Punctuated; -#[cfg(feature = "extra-traits")] -use std::hash::{Hash, Hasher}; -#[cfg(feature = "extra-traits")] -use tt::TokenStreamHelper; - -ast_enum_of_structs! { - /// The possible types that a Rust value could have. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - /// - /// # Syntax tree enum - /// - /// This type is a [syntax tree enum]. - /// - /// [syntax tree enum]: enum.Expr.html#syntax-tree-enums - pub enum Type { - /// A dynamically sized slice type: `[T]`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Slice(TypeSlice { - pub bracket_token: token::Bracket, - pub elem: Box, - }), - - /// A fixed size array type: `[T; n]`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Array(TypeArray { - pub bracket_token: token::Bracket, - pub elem: Box, - pub semi_token: Token![;], - pub len: Expr, - }), - - /// A raw pointer type: `*const T` or `*mut T`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Ptr(TypePtr { - pub star_token: Token![*], - pub const_token: Option, - pub mutability: Option, - pub elem: Box, - }), - - /// A reference type: `&'a T` or `&'a mut T`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Reference(TypeReference { - pub and_token: Token![&], - pub lifetime: Option, - pub mutability: Option, - pub elem: Box, - }), - - /// A bare function type: `fn(usize) -> bool`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub BareFn(TypeBareFn { - pub lifetimes: Option, - pub unsafety: Option, - pub abi: Option, - pub fn_token: Token![fn], - pub paren_token: token::Paren, - pub inputs: Punctuated, - pub variadic: Option, - pub output: ReturnType, - }), - - /// The never type: `!`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Never(TypeNever { - pub bang_token: Token![!], - }), - - /// A tuple type: `(A, B, C, String)`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Tuple(TypeTuple { - pub paren_token: token::Paren, - pub elems: Punctuated, - }), - - /// A path like `std::slice::Iter`, optionally qualified with a - /// self-type as in ` as SomeTrait>::Associated`. - /// - /// Type arguments are stored in the Path itself. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Path(TypePath { - pub qself: Option, - pub path: Path, - }), - - /// A trait object type `Bound1 + Bound2 + Bound3` where `Bound` is a - /// trait or a lifetime. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub TraitObject(TypeTraitObject { - pub dyn_token: Option, - pub bounds: Punctuated, - }), - - /// An `impl Bound1 + Bound2 + Bound3` type where `Bound` is a trait or - /// a lifetime. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub ImplTrait(TypeImplTrait { - pub impl_token: Token![impl], - pub bounds: Punctuated, - }), - - /// A parenthesized type equivalent to the inner type. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Paren(TypeParen { - pub paren_token: token::Paren, - pub elem: Box, - }), - - /// A type contained within invisible delimiters. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Group(TypeGroup { - pub group_token: token::Group, - pub elem: Box, - }), - - /// Indication that a type should be inferred by the compiler: `_`. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Infer(TypeInfer { - pub underscore_token: Token![_], - }), - - /// A macro in the type position. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Macro(TypeMacro { - pub mac: Macro, - }), - - /// Tokens in type position not interpreted by Syn. - /// - /// *This type is available if Syn is built with the `"derive"` or - /// `"full"` feature.* - pub Verbatim(TypeVerbatim #manual_extra_traits { - pub tts: TokenStream, - }), - } -} - -#[cfg(feature = "extra-traits")] -impl Eq for TypeVerbatim {} - -#[cfg(feature = "extra-traits")] -impl PartialEq for TypeVerbatim { - fn eq(&self, other: &Self) -> bool { - TokenStreamHelper(&self.tts) == TokenStreamHelper(&other.tts) - } -} - -#[cfg(feature = "extra-traits")] -impl Hash for TypeVerbatim { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - TokenStreamHelper(&self.tts).hash(state); - } -} - -ast_struct! { - /// The binary interface of a function: `extern "C"`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub struct Abi { - pub extern_token: Token![extern], - pub name: Option, - } -} - -ast_struct! { - /// An argument in a function type: the `usize` in `fn(usize) -> bool`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub struct BareFnArg { - pub name: Option<(BareFnArgName, Token![:])>, - pub ty: Type, - } -} - -ast_enum! { - /// Name of an argument in a function type: the `n` in `fn(n: usize)`. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub enum BareFnArgName { - /// Argument given a name. - Named(Ident), - /// Argument not given a name, matched with `_`. - Wild(Token![_]), - } -} - -ast_enum! { - /// Return type of a function signature. - /// - /// *This type is available if Syn is built with the `"derive"` or `"full"` - /// feature.* - pub enum ReturnType { - /// Return type is not specified. - /// - /// Functions default to `()` and closures default to type inference. - Default, - /// A particular type is returned. - Type(Token![->], Box), - } -} - -#[cfg(feature = "parsing")] -pub mod parsing { - use super::*; - - use parse::{Parse, ParseStream, Result}; - use path; - - impl Parse for Type { - fn parse(input: ParseStream) -> Result { - ambig_ty(input, true) - } - } - - impl Type { - /// In some positions, types may not contain the `+` character, to - /// disambiguate them. For example in the expression `1 as T`, T may not - /// contain a `+` character. - /// - /// This parser does not allow a `+`, while the default parser does. - pub fn without_plus(input: ParseStream) -> Result { - ambig_ty(input, false) - } - } - - fn ambig_ty(input: ParseStream, allow_plus: bool) -> Result { - if input.peek(token::Group) { - return input.parse().map(Type::Group); - } - - let mut lifetimes = None::; - let mut lookahead = input.lookahead1(); - if lookahead.peek(Token![for]) { - lifetimes = input.parse()?; - lookahead = input.lookahead1(); - if !lookahead.peek(Ident) - && !lookahead.peek(Token![fn]) - && !lookahead.peek(Token![unsafe]) - && !lookahead.peek(Token![extern]) - && !lookahead.peek(Token![super]) - && !lookahead.peek(Token![self]) - && !lookahead.peek(Token![Self]) - && !lookahead.peek(Token![crate]) - { - return Err(lookahead.error()); - } - } - - if lookahead.peek(token::Paren) { - let content; - let paren_token = parenthesized!(content in input); - if content.is_empty() { - return Ok(Type::Tuple(TypeTuple { - paren_token: paren_token, - elems: Punctuated::new(), - })); - } - if content.peek(Lifetime) { - return Ok(Type::Paren(TypeParen { - paren_token: paren_token, - elem: Box::new(Type::TraitObject(content.parse()?)), - })); - } - if content.peek(Token![?]) { - return Ok(Type::TraitObject(TypeTraitObject { - dyn_token: None, - bounds: { - let mut bounds = Punctuated::new(); - bounds.push_value(TypeParamBound::Trait(TraitBound { - paren_token: Some(paren_token), - ..content.parse()? - })); - while let Some(plus) = input.parse()? { - bounds.push_punct(plus); - bounds.push_value(input.parse()?); - } - bounds - }, - })); - } - let first: Type = content.parse()?; - if content.peek(Token![,]) { - return Ok(Type::Tuple(TypeTuple { - paren_token: paren_token, - elems: { - let mut elems = Punctuated::new(); - elems.push_value(first); - elems.push_punct(content.parse()?); - let rest: Punctuated = - content.parse_terminated(Parse::parse)?; - elems.extend(rest); - elems - }, - })); - } - if allow_plus && input.peek(Token![+]) { - loop { - let first = match first { - Type::Path(TypePath { qself: None, path }) => { - TypeParamBound::Trait(TraitBound { - paren_token: Some(paren_token), - modifier: TraitBoundModifier::None, - lifetimes: None, - path: path, - }) - } - Type::TraitObject(TypeTraitObject { - dyn_token: None, - ref bounds, - }) => { - if bounds.len() > 1 || bounds.trailing_punct() { - break; - } - match first { - Type::TraitObject(TypeTraitObject { bounds, .. }) => { - match bounds.into_iter().next().unwrap() { - TypeParamBound::Trait(trait_bound) => { - TypeParamBound::Trait(TraitBound { - paren_token: Some(paren_token), - ..trait_bound - }) - } - other => other, - } - } - _ => unreachable!(), - } - } - _ => break, - }; - return Ok(Type::TraitObject(TypeTraitObject { - dyn_token: None, - bounds: { - let mut bounds = Punctuated::new(); - bounds.push_value(first); - while let Some(plus) = input.parse()? { - bounds.push_punct(plus); - bounds.push_value(input.parse()?); - } - bounds - }, - })); - } - } - Ok(Type::Paren(TypeParen { - paren_token: paren_token, - elem: Box::new(first), - })) - } else if lookahead.peek(Token![fn]) - || lookahead.peek(Token![unsafe]) - || lookahead.peek(Token![extern]) && !input.peek2(Token![::]) - { - let mut bare_fn: TypeBareFn = input.parse()?; - bare_fn.lifetimes = lifetimes; - Ok(Type::BareFn(bare_fn)) - } else if lookahead.peek(Ident) - || input.peek(Token![super]) - || input.peek(Token![self]) - || input.peek(Token![Self]) - || input.peek(Token![crate]) - || input.peek(Token![extern]) - || lookahead.peek(Token![::]) - || lookahead.peek(Token![<]) - { - if input.peek(Token![dyn]) { - let mut trait_object: TypeTraitObject = input.parse()?; - if lifetimes.is_some() { - match *trait_object.bounds.iter_mut().next().unwrap() { - TypeParamBound::Trait(ref mut trait_bound) => { - trait_bound.lifetimes = lifetimes; - } - TypeParamBound::Lifetime(_) => unreachable!(), - } - } - return Ok(Type::TraitObject(trait_object)); - } - - let ty: TypePath = input.parse()?; - if ty.qself.is_some() { - return Ok(Type::Path(ty)); - } - - if input.peek(Token![!]) && !input.peek(Token![!=]) { - let mut contains_arguments = false; - for segment in &ty.path.segments { - match segment.arguments { - PathArguments::None => {} - PathArguments::AngleBracketed(_) | PathArguments::Parenthesized(_) => { - contains_arguments = true; - } - } - } - - if !contains_arguments { - let bang_token: Token![!] = input.parse()?; - let (delimiter, tts) = mac::parse_delimiter(input)?; - return Ok(Type::Macro(TypeMacro { - mac: Macro { - path: ty.path, - bang_token: bang_token, - delimiter: delimiter, - tts: tts, - }, - })); - } - } - - if lifetimes.is_some() || allow_plus && input.peek(Token![+]) { - let mut bounds = Punctuated::new(); - bounds.push_value(TypeParamBound::Trait(TraitBound { - paren_token: None, - modifier: TraitBoundModifier::None, - lifetimes: lifetimes, - path: ty.path, - })); - if allow_plus { - while input.peek(Token![+]) { - bounds.push_punct(input.parse()?); - if input.peek(Token![>]) { - break; - } - bounds.push_value(input.parse()?); - } - } - return Ok(Type::TraitObject(TypeTraitObject { - dyn_token: None, - bounds: bounds, - })); - } - - Ok(Type::Path(ty)) - } else if lookahead.peek(token::Bracket) { - let content; - let bracket_token = bracketed!(content in input); - let elem: Type = content.parse()?; - if content.peek(Token![;]) { - Ok(Type::Array(TypeArray { - bracket_token: bracket_token, - elem: Box::new(elem), - semi_token: content.parse()?, - len: content.parse()?, - })) - } else { - Ok(Type::Slice(TypeSlice { - bracket_token: bracket_token, - elem: Box::new(elem), - })) - } - } else if lookahead.peek(Token![*]) { - input.parse().map(Type::Ptr) - } else if lookahead.peek(Token![&]) { - input.parse().map(Type::Reference) - } else if lookahead.peek(Token![!]) && !input.peek(Token![=]) { - input.parse().map(Type::Never) - } else if lookahead.peek(Token![impl]) { - input.parse().map(Type::ImplTrait) - } else if lookahead.peek(Token![_]) { - input.parse().map(Type::Infer) - } else if lookahead.peek(Lifetime) { - input.parse().map(Type::TraitObject) - } else { - Err(lookahead.error()) - } - } - - impl Parse for TypeSlice { - fn parse(input: ParseStream) -> Result { - let content; - Ok(TypeSlice { - bracket_token: bracketed!(content in input), - elem: content.parse()?, - }) - } - } - - impl Parse for TypeArray { - fn parse(input: ParseStream) -> Result { - let content; - Ok(TypeArray { - bracket_token: bracketed!(content in input), - elem: content.parse()?, - semi_token: content.parse()?, - len: content.parse()?, - }) - } - } - - impl Parse for TypePtr { - fn parse(input: ParseStream) -> Result { - let star_token: Token![*] = input.parse()?; - - let lookahead = input.lookahead1(); - let (const_token, mutability) = if lookahead.peek(Token![const]) { - (Some(input.parse()?), None) - } else if lookahead.peek(Token![mut]) { - (None, Some(input.parse()?)) - } else { - return Err(lookahead.error()); - }; - - Ok(TypePtr { - star_token: star_token, - const_token: const_token, - mutability: mutability, - elem: Box::new(input.call(Type::without_plus)?), - }) - } - } - - impl Parse for TypeReference { - fn parse(input: ParseStream) -> Result { - Ok(TypeReference { - and_token: input.parse()?, - lifetime: input.parse()?, - mutability: input.parse()?, - // & binds tighter than +, so we don't allow + here. - elem: Box::new(input.call(Type::without_plus)?), - }) - } - } - - impl Parse for TypeBareFn { - fn parse(input: ParseStream) -> Result { - let args; - let allow_variadic; - Ok(TypeBareFn { - lifetimes: input.parse()?, - unsafety: input.parse()?, - abi: input.parse()?, - fn_token: input.parse()?, - paren_token: parenthesized!(args in input), - inputs: { - let mut inputs = Punctuated::new(); - while !args.is_empty() && !args.peek(Token![...]) { - inputs.push_value(args.parse()?); - if args.is_empty() { - break; - } - inputs.push_punct(args.parse()?); - } - allow_variadic = inputs.empty_or_trailing(); - inputs - }, - variadic: { - if allow_variadic && args.peek(Token![...]) { - Some(args.parse()?) - } else { - None - } - }, - output: input.call(ReturnType::without_plus)?, - }) - } - } - - impl Parse for TypeNever { - fn parse(input: ParseStream) -> Result { - Ok(TypeNever { - bang_token: input.parse()?, - }) - } - } - - impl Parse for TypeInfer { - fn parse(input: ParseStream) -> Result { - Ok(TypeInfer { - underscore_token: input.parse()?, - }) - } - } - - impl Parse for TypeTuple { - fn parse(input: ParseStream) -> Result { - let content; - Ok(TypeTuple { - paren_token: parenthesized!(content in input), - elems: content.parse_terminated(Type::parse)?, - }) - } - } - - impl Parse for TypeMacro { - fn parse(input: ParseStream) -> Result { - Ok(TypeMacro { - mac: input.parse()?, - }) - } - } - - impl Parse for TypePath { - fn parse(input: ParseStream) -> Result { - let (qself, mut path) = path::parsing::qpath(input, false)?; - - if path.segments.last().unwrap().value().arguments.is_empty() - && input.peek(token::Paren) - { - let args: ParenthesizedGenericArguments = input.parse()?; - let parenthesized = PathArguments::Parenthesized(args); - path.segments.last_mut().unwrap().value_mut().arguments = parenthesized; - } - - Ok(TypePath { - qself: qself, - path: path, - }) - } - } - - impl ReturnType { - pub fn without_plus(input: ParseStream) -> Result { - Self::parse(input, false) - } - - pub fn parse(input: ParseStream, allow_plus: bool) -> Result { - if input.peek(Token![->]) { - let arrow = input.parse()?; - let ty = ambig_ty(input, allow_plus)?; - Ok(ReturnType::Type(arrow, Box::new(ty))) - } else { - Ok(ReturnType::Default) - } - } - } - - impl Parse for ReturnType { - fn parse(input: ParseStream) -> Result { - Self::parse(input, true) - } - } - - impl Parse for TypeTraitObject { - fn parse(input: ParseStream) -> Result { - Self::parse(input, true) - } - } - - fn at_least_one_type(bounds: &Punctuated) -> bool { - for bound in bounds { - if let TypeParamBound::Trait(_) = *bound { - return true; - } - } - false - } - - impl TypeTraitObject { - pub fn without_plus(input: ParseStream) -> Result { - Self::parse(input, false) - } - - // Only allow multiple trait references if allow_plus is true. - pub fn parse(input: ParseStream, allow_plus: bool) -> Result { - Ok(TypeTraitObject { - dyn_token: input.parse()?, - bounds: { - let mut bounds = Punctuated::new(); - if allow_plus { - loop { - bounds.push_value(input.parse()?); - if !input.peek(Token![+]) { - break; - } - bounds.push_punct(input.parse()?); - if input.peek(Token![>]) { - break; - } - } - } else { - bounds.push_value(input.parse()?); - } - // Just lifetimes like `'a + 'b` is not a TraitObject. - if !at_least_one_type(&bounds) { - return Err(input.error("expected at least one type")); - } - bounds - }, - }) - } - } - - impl Parse for TypeImplTrait { - fn parse(input: ParseStream) -> Result { - Ok(TypeImplTrait { - impl_token: input.parse()?, - // NOTE: rust-lang/rust#34511 includes discussion about whether - // or not + should be allowed in ImplTrait directly without (). - bounds: { - let mut bounds = Punctuated::new(); - loop { - bounds.push_value(input.parse()?); - if !input.peek(Token![+]) { - break; - } - bounds.push_punct(input.parse()?); - } - bounds - }, - }) - } - } - - impl Parse for TypeGroup { - fn parse(input: ParseStream) -> Result { - let group = private::parse_group(input)?; - Ok(TypeGroup { - group_token: group.token, - elem: group.content.parse()?, - }) - } - } - - impl Parse for TypeParen { - fn parse(input: ParseStream) -> Result { - Self::parse(input, false) - } - } - - impl TypeParen { - fn parse(input: ParseStream, allow_plus: bool) -> Result { - let content; - Ok(TypeParen { - paren_token: parenthesized!(content in input), - elem: Box::new(ambig_ty(&content, allow_plus)?), - }) - } - } - - impl Parse for BareFnArg { - fn parse(input: ParseStream) -> Result { - Ok(BareFnArg { - name: { - if (input.peek(Ident) || input.peek(Token![_])) - && !input.peek2(Token![::]) - && input.peek2(Token![:]) - { - let name: BareFnArgName = input.parse()?; - let colon: Token![:] = input.parse()?; - Some((name, colon)) - } else { - None - } - }, - ty: input.parse()?, - }) - } - } - - impl Parse for BareFnArgName { - fn parse(input: ParseStream) -> Result { - let lookahead = input.lookahead1(); - if lookahead.peek(Ident) { - input.parse().map(BareFnArgName::Named) - } else if lookahead.peek(Token![_]) { - input.parse().map(BareFnArgName::Wild) - } else { - Err(lookahead.error()) - } - } - } - - impl Parse for Abi { - fn parse(input: ParseStream) -> Result { - Ok(Abi { - extern_token: input.parse()?, - name: input.parse()?, - }) - } - } - - impl Parse for Option { - fn parse(input: ParseStream) -> Result { - if input.peek(Token![extern]) { - input.parse().map(Some) - } else { - Ok(None) - } - } - } -} - -#[cfg(feature = "printing")] -mod printing { - use super::*; - - use proc_macro2::TokenStream; - use quote::ToTokens; - - use print::TokensOrDefault; - - impl ToTokens for TypeSlice { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.bracket_token.surround(tokens, |tokens| { - self.elem.to_tokens(tokens); - }); - } - } - - impl ToTokens for TypeArray { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.bracket_token.surround(tokens, |tokens| { - self.elem.to_tokens(tokens); - self.semi_token.to_tokens(tokens); - self.len.to_tokens(tokens); - }); - } - } - - impl ToTokens for TypePtr { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.star_token.to_tokens(tokens); - match self.mutability { - Some(ref tok) => tok.to_tokens(tokens), - None => { - TokensOrDefault(&self.const_token).to_tokens(tokens); - } - } - self.elem.to_tokens(tokens); - } - } - - impl ToTokens for TypeReference { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.and_token.to_tokens(tokens); - self.lifetime.to_tokens(tokens); - self.mutability.to_tokens(tokens); - self.elem.to_tokens(tokens); - } - } - - impl ToTokens for TypeBareFn { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.lifetimes.to_tokens(tokens); - self.unsafety.to_tokens(tokens); - self.abi.to_tokens(tokens); - self.fn_token.to_tokens(tokens); - self.paren_token.surround(tokens, |tokens| { - self.inputs.to_tokens(tokens); - if let Some(ref variadic) = self.variadic { - if !self.inputs.empty_or_trailing() { - let span = variadic.spans[0]; - Token![,](span).to_tokens(tokens); - } - variadic.to_tokens(tokens); - } - }); - self.output.to_tokens(tokens); - } - } - - impl ToTokens for TypeNever { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.bang_token.to_tokens(tokens); - } - } - - impl ToTokens for TypeTuple { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.paren_token.surround(tokens, |tokens| { - self.elems.to_tokens(tokens); - }); - } - } - - impl ToTokens for TypePath { - fn to_tokens(&self, tokens: &mut TokenStream) { - private::print_path(tokens, &self.qself, &self.path); - } - } - - impl ToTokens for TypeTraitObject { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.dyn_token.to_tokens(tokens); - self.bounds.to_tokens(tokens); - } - } - - impl ToTokens for TypeImplTrait { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.impl_token.to_tokens(tokens); - self.bounds.to_tokens(tokens); - } - } - - impl ToTokens for TypeGroup { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.group_token.surround(tokens, |tokens| { - self.elem.to_tokens(tokens); - }); - } - } - - impl ToTokens for TypeParen { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.paren_token.surround(tokens, |tokens| { - self.elem.to_tokens(tokens); - }); - } - } - - impl ToTokens for TypeInfer { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.underscore_token.to_tokens(tokens); - } - } - - impl ToTokens for TypeMacro { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.mac.to_tokens(tokens); - } - } - - impl ToTokens for TypeVerbatim { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.tts.to_tokens(tokens); - } - } - - impl ToTokens for ReturnType { - fn to_tokens(&self, tokens: &mut TokenStream) { - match *self { - ReturnType::Default => {} - ReturnType::Type(ref arrow, ref ty) => { - arrow.to_tokens(tokens); - ty.to_tokens(tokens); - } - } - } - } - - impl ToTokens for BareFnArg { - fn to_tokens(&self, tokens: &mut TokenStream) { - if let Some((ref name, ref colon)) = self.name { - name.to_tokens(tokens); - colon.to_tokens(tokens); - } - self.ty.to_tokens(tokens); - } - } - - impl ToTokens for BareFnArgName { - fn to_tokens(&self, tokens: &mut TokenStream) { - match *self { - BareFnArgName::Named(ref t) => t.to_tokens(tokens), - BareFnArgName::Wild(ref t) => t.to_tokens(tokens), - } - } - } - - impl ToTokens for Abi { - fn to_tokens(&self, tokens: &mut TokenStream) { - self.extern_token.to_tokens(tokens); - self.name.to_tokens(tokens); - } - } -} diff --git a/vendor/registry-40351f815f426200/tempfile/.cargo-checksum.json b/vendor/registry-40351f815f426200/tempfile/.cargo-checksum.json deleted file mode 100644 index 3bc554819..000000000 --- a/vendor/registry-40351f815f426200/tempfile/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"7da847910390d693f2232fa47d024deeae18bfc5dc41c20fcb2c92cd1b319611","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"8b427f5bc501764575e52ba4f9d95673cf8f6d80a86d0d06599852e1a9a20a36","NEWS":"16c2b8b65937c914480bb13b3b63ef6a0bde7b6f9cc8de39f4d081f162f16fe9","README.md":"f78af02dbd4504af71d9b5a39cc71f310a64433dbaf1aefce33cd690a8af172a","src/dir.rs":"70e85b0910671f63822645546e9c86d6446305da128f1d9f171137ba2299c852","src/error.rs":"34eb148cbc4c34ebe03555bbdce67387288e78ff879e9de867d8963ad4625f86","src/file/imp/mod.rs":"bec50fb99c14cb4a49402bdbb7c5e6b5b8ff785b06b6fcb13267f35df8f3c8c2","src/file/imp/other.rs":"6cffd765cb3a2f86ab30d15c77b913b9cdabc7145c1083fc56fca3fe77c68c81","src/file/imp/unix.rs":"05c3adbf845fd4e7a9be8a1f6071227a2a0df2e3fbda9fd7c0c3c9009b145e74","src/file/imp/windows.rs":"cf8c2f8403de08d9444b9b67f71582d640c7cb8b0aa0e27e47378e0f2a8d8717","src/file/mod.rs":"a35604953b99d544298be24b3d899727cdd9b80bb5cbb000e25c752e371f121b","src/lib.rs":"fbd890783af33638103607aeb7c93d06b95a261f53e5dc8831543295722e3dac","src/spooled.rs":"2c73567461cea354bbdd5bda737548a050d20b19c82bce709e42c43831bd35dd","src/util.rs":"6f5761e876f088c8b45518131fec5d506f316f52a4a59678351719c94192092b","tests/namedtempfile.rs":"9ffae38a4a9e82a4bbca51274d5b4cc51c501026286b2ec630cebe1368f3dda2","tests/spooled.rs":"0698dacfe5628d931b3a657efe539025c63868d248dd4596f887a6653bdded74","tests/tempdir.rs":"0e9e3c9d8b03729cafd4537097317d0865da475c5e82b75e9e00ef9dfb4cf358","tests/tempfile.rs":"20e92c7e967f171589d9812d68e4599ebd41bbac22f0bc48c3bdb65c9ee9cc2b"},"package":"7dc4738f2e68ed2855de5ac9cdbe05c9216773ecde4739b2f095002ab03a13ef"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/tempfile/Cargo.toml b/vendor/registry-40351f815f426200/tempfile/Cargo.toml deleted file mode 100644 index ff4c9d3e5..000000000 --- a/vendor/registry-40351f815f426200/tempfile/Cargo.toml +++ /dev/null @@ -1,38 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g., crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "tempfile" -version = "3.0.8" -authors = ["Steven Allen ", "The Rust Project Developers", "Ashley Mannix ", "Jason White "] -exclude = ["/.travis.yml", "/appveyor.yml"] -description = "A library for managing temporary files and directories.\n" -homepage = "http://stebalien.com/projects/tempfile-rs" -documentation = "https://docs.rs/tempfile" -keywords = ["tempfile", "tmpfile", "filesystem"] -license = "MIT/Apache-2.0" -repository = "https://github.com/Stebalien/tempfile" -[dependencies.cfg-if] -version = "0.1" - -[dependencies.rand] -version = "0.6" - -[dependencies.remove_dir_all] -version = "0.5" -[target."cfg(target_os = \"redox\")".dependencies.redox_syscall] -version = "0.1" -[target."cfg(unix)".dependencies.libc] -version = "0.2.27" -[target."cfg(windows)".dependencies.winapi] -version = "0.3" -features = ["fileapi", "winbase", "handleapi"] diff --git a/vendor/registry-40351f815f426200/tempfile/LICENSE-APACHE b/vendor/registry-40351f815f426200/tempfile/LICENSE-APACHE deleted file mode 100644 index 16fe87b06..000000000 --- a/vendor/registry-40351f815f426200/tempfile/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/tempfile/LICENSE-MIT b/vendor/registry-40351f815f426200/tempfile/LICENSE-MIT deleted file mode 100644 index 0c3270fdd..000000000 --- a/vendor/registry-40351f815f426200/tempfile/LICENSE-MIT +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) 2015 Steven Allen - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/tempfile/NEWS b/vendor/registry-40351f815f426200/tempfile/NEWS deleted file mode 100644 index d274bc9b9..000000000 --- a/vendor/registry-40351f815f426200/tempfile/NEWS +++ /dev/null @@ -1,153 +0,0 @@ -3.0.8 -===== - -This is a bugfix release. - -Fixes: - -* Export `PathPersistError`. -* Fix a bug where flushing a `SpooledTempFile` to disk could fail to write part - of the file in some rare, yet-to-reproduced cases. - -3.0.7 -===== - -Breaking: - -* `Builder::prefix` and `Builder::suffix` now accept a generic `&AsRef`. - This could affect type inference. -* Temporary files (except unnamed temporary files on Windows and Linux >= 3.11) - now use absolute path names. This will break programs that create temporary - files relative to their current working directory when they don't have the - search permission (x) on some ancestor directory. This is only likely to - affect programs with strange chroot-less filesystem sandboxes. If you believe - you're affected by this issue, please comment on #40. - -Features: - -* Accept anything implementing `&AsRef` in the builder: &OsStr, &OsString, &Path, etc. - -Fixes: - -* Fix LFS support. -* Use absolute paths for named temporary files to guard against changes in the - current directory. -* Use absolute paths when creating unnamed temporary files on platforms that - can't create unlinked or auto-deleted temporary files. This fixes a very - unlikely race where the current directory could change while the temporary - file is being created. - -Misc: - -* Use modern stdlib features to avoid custom unsafe code. This reduces the - number of unsafe blocks from 12 to 4. - -3.0.6 -===== - -* Don't hide temporary files on windows, fixing #66 and #69. - -3.0.5 -===== - -Features: - -* Added a spooled temporary file implementation. This temporary file variant - starts out as an in-memory temporary file but "rolls-over" onto disk when it - grows over a specified size (#68). -* Errors are now annotated with paths to make debugging easier (#73). - -Misc: - -* The rand version has been bumped to 0.6 (#74). - -Bugs: - -* Tempfile compiles again on Redox (#75). - -3.0.4 -===== - -* Now compiles on unsupported platforms. - -3.0.3 -===== - -* update rand to 0.5 - -3.0.2 -===== - -* Actually *delete* temporary files on non-Linux unix systems (thanks to -@oliverhenshaw for the fix and a test case). - -3.0.1 -===== - -* Restore NamedTempFile::new_in - -3.0.0 -===== - -* Adds temporary directory support (@KodrAus) -* Allow closing named temporary files without deleting them (@jasonwhite) - -2.2.0 -===== - -* Redox Support - -2.1.6 -===== - -* Remove build script and bump minimum rustc version to 1.9.0 - -2.1.5 -===== - -* Don't build platform-specific dependencies on all platforms. -* Cleanup some documentation. - -2.1.4 -===== - -* Fix crates.io tags. No interesting changes. - -2.1.3 -===== - -Export `PersistError`. - -2.1.2 -===== - -Add `Read`/`Write`/`Seek` impls on `&NamedTempFile`. This mirrors the -implementations on `&File`. One can currently just deref to a `&File` but these -implementations are more discoverable. - -2.1.1 -===== - -Add LFS Support. - -2.1.0 -===== - -* Implement `AsRef` for `NamedTempFile` allowing named temporary files to - be borrowed as `File`s. -* Add a method to convert a `NamedTempFile` to an unnamed temporary `File`. - -2.0.1 -===== - -* Arm bugfix - -2.0.0 -===== - -This release replaces `TempFile` with a `tempfile()` function that returnes -`std::fs::File` objects. These are significantly more useful because most rust -libraries expect normal `File` objects. - -To continue supporting shared temporary files, this new version adds a -`reopen()` method to `NamedTempFile`. diff --git a/vendor/registry-40351f815f426200/tempfile/README.md b/vendor/registry-40351f815f426200/tempfile/README.md deleted file mode 100644 index 81f6258ec..000000000 --- a/vendor/registry-40351f815f426200/tempfile/README.md +++ /dev/null @@ -1,52 +0,0 @@ -tempfile -======== - -[![Crate](https://img.shields.io/crates/v/tempfile.svg)](https://crates.io/crates/tempfile) -[![Build Status](https://travis-ci.org/Stebalien/tempfile.svg?branch=master)](https://travis-ci.org/Stebalien/tempfile) -[![Build status](https://ci.appveyor.com/api/projects/status/5q00b8rvvg46i5tf/branch/master?svg=true)](https://ci.appveyor.com/project/Stebalien/tempfile/branch/master) - -A secure, cross-platform, temporary file library for Rust. In addition to creating -temporary files, this library also allows users to securely open multiple -independent references to the same temporary file (useful for consumer/producer -patterns and surprisingly difficult to implement securely). - -[Documentation](https://docs.rs/tempfile/) - -Usage ------ - -Minimum required Rust version: 1.24.0 - -Add this to your `Cargo.toml`: -```toml -[dependencies] -tempfile = "3" -``` - -...and this to your crate root: -```rust -extern crate tempfile; -``` - -Example -------- - -```rust -extern crate tempfile; -use std::fs::File; -use std::io::{Write, Read, Seek, SeekFrom}; - -fn main() { - // Write - let mut tmpfile: File = tempfile::tempfile().unwrap(); - write!(tmpfile, "Hello World!").unwrap(); - - // Seek to start - tmpfile.seek(SeekFrom::Start(0)).unwrap(); - - // Read - let mut buf = String::new(); - tmpfile.read_to_string(&mut buf).unwrap(); - assert_eq!("Hello World!", buf); -} -``` diff --git a/vendor/registry-40351f815f426200/tempfile/src/dir.rs b/vendor/registry-40351f815f426200/tempfile/src/dir.rs deleted file mode 100644 index 90507a70b..000000000 --- a/vendor/registry-40351f815f426200/tempfile/src/dir.rs +++ /dev/null @@ -1,408 +0,0 @@ -// Copyright 2015 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -use remove_dir_all::remove_dir_all; -use std::path::{self, Path, PathBuf}; -use std::{fmt, fs, io}; - -use error::IoResultExt; -use Builder; - -/// Create a new temporary directory. -/// -/// The `tempdir` function creates a directory in the file system -/// and returns a [`TempDir`]. -/// The directory will be automatically deleted when the `TempDir`s -/// desctructor is run. -/// -/// # Resource Leaking -/// -/// See [the resource leaking][resource-leaking] docs on `TempDir`. -/// -/// # Errors -/// -/// If the directory can not be created, `Err` is returned. -/// -/// # Examples -/// -/// ``` -/// # extern crate tempfile; -/// use tempfile::tempdir; -/// use std::fs::File; -/// use std::io::{self, Write}; -/// -/// # fn main() { -/// # if let Err(_) = run() { -/// # ::std::process::exit(1); -/// # } -/// # } -/// # fn run() -> Result<(), io::Error> { -/// // Create a directory inside of `std::env::temp_dir()` -/// let dir = tempdir()?; -/// -/// let file_path = dir.path().join("my-temporary-note.txt"); -/// let mut file = File::create(file_path)?; -/// writeln!(file, "Brian was here. Briefly.")?; -/// -/// // `tmp_dir` goes out of scope, the directory as well as -/// // `tmp_file` will be deleted here. -/// drop(file); -/// dir.close()?; -/// # Ok(()) -/// # } -/// ``` -/// -/// [`TempDir`]: struct.TempDir.html -/// [resource-leaking]: struct.TempDir.html#resource-leaking -pub fn tempdir() -> io::Result { - TempDir::new() -} - -/// Create a new temporary directory. -/// -/// The `tempdir` function creates a directory in the file system -/// and returns a [`TempDir`]. -/// The directory will be automatically deleted when the `TempDir`s -/// desctructor is run. -/// -/// # Resource Leaking -/// -/// See [the resource leaking][resource-leaking] docs on `TempDir`. -/// -/// # Errors -/// -/// If the directory can not be created, `Err` is returned. -/// -/// # Examples -/// -/// ``` -/// # extern crate tempfile; -/// use tempfile::tempdir; -/// use std::fs::File; -/// use std::io::{self, Write}; -/// -/// # fn main() { -/// # if let Err(_) = run() { -/// # ::std::process::exit(1); -/// # } -/// # } -/// # fn run() -> Result<(), io::Error> { -/// // Create a directory inside of `std::env::temp_dir()`, -/// let dir = tempdir()?; -/// -/// let file_path = dir.path().join("my-temporary-note.txt"); -/// let mut file = File::create(file_path)?; -/// writeln!(file, "Brian was here. Briefly.")?; -/// -/// // `tmp_dir` goes out of scope, the directory as well as -/// // `tmp_file` will be deleted here. -/// drop(file); -/// dir.close()?; -/// # Ok(()) -/// # } -/// ``` -/// -/// [`TempDir`]: struct.TempDir.html -/// [resource-leaking]: struct.TempDir.html#resource-leaking -pub fn tempdir_in>(dir: P) -> io::Result { - TempDir::new_in(dir) -} - -/// A directory in the filesystem that is automatically deleted when -/// it goes out of scope. -/// -/// The [`TempDir`] type creates a directory on the file system that -/// is deleted once it goes out of scope. At construction, the -/// `TempDir` creates a new directory with a randomly generated name. -/// -/// The default constructor, [`TempDir::new()`], creates directories in -/// the location returned by [`std::env::temp_dir()`], but `TempDir` -/// can be configured to manage a temporary directory in any location -/// by constructing with a [`Builder`]. -/// -/// After creating a `TempDir`, work with the file system by doing -/// standard [`std::fs`] file system operations on its [`Path`], -/// which can be retrieved with [`TempDir::path()`]. Once the `TempDir` -/// value is dropped, the directory at the path will be deleted, along -/// with any files and directories it contains. It is your responsibility -/// to ensure that no further file system operations are attempted -/// inside the temporary directory once it has been deleted. -/// -/// # Resource Leaking -/// -/// Various platform-specific conditions may cause `TempDir` to fail -/// to delete the underlying directory. It's important to ensure that -/// handles (like [`File`] and [`ReadDir`]) to files inside the -/// directory are dropped before the `TempDir` goes out of scope. The -/// `TempDir` destructor will silently ignore any errors in deleting -/// the directory; to instead handle errors call [`TempDir::close()`]. -/// -/// Note that if the program exits before the `TempDir` destructor is -/// run, such as via [`std::process::exit()`], by segfaulting, or by -/// receiving a signal like `SIGINT`, then the temporary directory -/// will not be deleted. -/// -/// # Examples -/// -/// Create a temporary directory with a generated name: -/// -/// ``` -/// use std::fs::File; -/// use std::io::Write; -/// use tempfile::TempDir; -/// -/// # use std::io; -/// # fn run() -> Result<(), io::Error> { -/// // Create a directory inside of `std::env::temp_dir()` -/// let tmp_dir = TempDir::new()?; -/// # Ok(()) -/// # } -/// ``` -/// -/// Create a temporary directory with a prefix in its name: -/// -/// ``` -/// use std::fs::File; -/// use std::io::Write; -/// use tempfile::Builder; -/// -/// # use std::io; -/// # fn run() -> Result<(), io::Error> { -/// // Create a directory inside of `std::env::temp_dir()`, -/// // whose name will begin with 'example'. -/// let tmp_dir = Builder::new().prefix("example").tempdir()?; -/// # Ok(()) -/// # } -/// ``` -/// -/// [`File`]: http://doc.rust-lang.org/std/fs/struct.File.html -/// [`Path`]: http://doc.rust-lang.org/std/path/struct.Path.html -/// [`ReadDir`]: http://doc.rust-lang.org/std/fs/struct.ReadDir.html -/// [`Builder`]: struct.Builder.html -/// [`TempDir::close()`]: struct.TempDir.html#method.close -/// [`TempDir::new()`]: struct.TempDir.html#method.new -/// [`TempDir::path()`]: struct.TempDir.html#method.path -/// [`TempDir`]: struct.TempDir.html -/// [`std::env::temp_dir()`]: https://doc.rust-lang.org/std/env/fn.temp_dir.html -/// [`std::fs`]: http://doc.rust-lang.org/std/fs/index.html -/// [`std::process::exit()`]: http://doc.rust-lang.org/std/process/fn.exit.html -pub struct TempDir { - path: Option, -} - -impl TempDir { - /// Attempts to make a temporary directory inside of `env::temp_dir()`. - /// - /// See [`Builder`] for more configuration. - /// - /// The directory and everything inside it will be automatically deleted - /// once the returned `TempDir` is destroyed. - /// - /// # Errors - /// - /// If the directory can not be created, `Err` is returned. - /// - /// # Examples - /// - /// ``` - /// use std::fs::File; - /// use std::io::Write; - /// use tempfile::TempDir; - /// - /// # use std::io; - /// # fn run() -> Result<(), io::Error> { - /// // Create a directory inside of `std::env::temp_dir()` - /// let tmp_dir = TempDir::new()?; - /// - /// let file_path = tmp_dir.path().join("my-temporary-note.txt"); - /// let mut tmp_file = File::create(file_path)?; - /// writeln!(tmp_file, "Brian was here. Briefly.")?; - /// - /// // `tmp_dir` goes out of scope, the directory as well as - /// // `tmp_file` will be deleted here. - /// # Ok(()) - /// # } - /// ``` - /// - /// [`Builder`]: struct.Builder.html - pub fn new() -> io::Result { - Builder::new().tempdir() - } - - /// Attempts to make a temporary directory inside of `dir`. - /// The directory and everything inside it will be automatically - /// deleted once the returned `TempDir` is destroyed. - /// - /// # Errors - /// - /// If the directory can not be created, `Err` is returned. - /// - /// # Examples - /// - /// ``` - /// use std::fs::{self, File}; - /// use std::io::Write; - /// use tempfile::TempDir; - /// - /// # use std::io; - /// # fn run() -> Result<(), io::Error> { - /// // Create a directory inside of the current directory - /// let tmp_dir = TempDir::new_in(".")?; - /// let file_path = tmp_dir.path().join("my-temporary-note.txt"); - /// let mut tmp_file = File::create(file_path)?; - /// writeln!(tmp_file, "Brian was here. Briefly.")?; - /// # Ok(()) - /// # } - /// ``` - pub fn new_in>(dir: P) -> io::Result { - Builder::new().tempdir_in(dir) - } - - /// Accesses the [`Path`] to the temporary directory. - /// - /// [`Path`]: http://doc.rust-lang.org/std/path/struct.Path.html - /// - /// # Examples - /// - /// ``` - /// use tempfile::TempDir; - /// - /// # use std::io; - /// # fn run() -> Result<(), io::Error> { - /// let tmp_path; - /// - /// { - /// let tmp_dir = TempDir::new()?; - /// tmp_path = tmp_dir.path().to_owned(); - /// - /// // Check that the temp directory actually exists. - /// assert!(tmp_path.exists()); - /// - /// // End of `tmp_dir` scope, directory will be deleted - /// } - /// - /// // Temp directory should be deleted by now - /// assert_eq!(tmp_path.exists(), false); - /// # Ok(()) - /// # } - /// ``` - pub fn path(&self) -> &path::Path { - self.path.as_ref().unwrap() - } - - /// Persist the temporary directory to disk, returning the [`PathBuf`] where it is located. - /// - /// This consumes the [`TempDir`] without deleting directory on the filesystem, meaning that - /// the directory will no longer be automatically deleted. - /// - /// [`TempDir`]: struct.TempDir.html - /// [`PathBuf`]: http://doc.rust-lang.org/std/path/struct.PathBuf.html - /// - /// # Examples - /// - /// ``` - /// use std::fs; - /// use tempfile::TempDir; - /// - /// # use std::io; - /// # fn run() -> Result<(), io::Error> { - /// let tmp_dir = TempDir::new()?; - /// - /// // Persist the temporary directory to disk, - /// // getting the path where it is. - /// let tmp_path = tmp_dir.into_path(); - /// - /// // Delete the temporary directory ourselves. - /// fs::remove_dir_all(tmp_path)?; - /// # Ok(()) - /// # } - /// ``` - pub fn into_path(mut self) -> PathBuf { - self.path.take().unwrap() - } - - /// Closes and removes the temporary directory, returing a `Result`. - /// - /// Although `TempDir` removes the directory on drop, in the destructor - /// any errors are ignored. To detect errors cleaning up the temporary - /// directory, call `close` instead. - /// - /// # Errors - /// - /// This function may return a variety of [`std::io::Error`]s that result from deleting - /// the files and directories contained with the temporary directory, - /// as well as from deleting the temporary directory itself. These errors - /// may be platform specific. - /// - /// [`std::io::Error`]: http://doc.rust-lang.org/std/io/struct.Error.html - /// - /// # Examples - /// - /// ``` - /// use std::fs::File; - /// use std::io::Write; - /// use tempfile::TempDir; - /// - /// # use std::io; - /// # fn run() -> Result<(), io::Error> { - /// // Create a directory inside of `std::env::temp_dir()`. - /// let tmp_dir = TempDir::new()?; - /// let file_path = tmp_dir.path().join("my-temporary-note.txt"); - /// let mut tmp_file = File::create(file_path)?; - /// writeln!(tmp_file, "Brian was here. Briefly.")?; - /// - /// // By closing the `TempDir` explicitly we can check that it has - /// // been deleted successfully. If we don't close it explicitly, - /// // the directory will still be deleted when `tmp_dir` goes out - /// // of scope, but we won't know whether deleting the directory - /// // succeeded. - /// drop(tmp_file); - /// tmp_dir.close()?; - /// # Ok(()) - /// # } - /// ``` - pub fn close(mut self) -> io::Result<()> { - let result = remove_dir_all(self.path()).with_err_path(|| self.path()); - - // Prevent the Drop impl from removing the dir a second time. - self.path = None; - - result - } -} - -impl AsRef for TempDir { - fn as_ref(&self) -> &Path { - self.path() - } -} - -impl fmt::Debug for TempDir { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.debug_struct("TempDir") - .field("path", &self.path()) - .finish() - } -} - -impl Drop for TempDir { - fn drop(&mut self) { - // Path is `None` if `close()` or `into_path()` has been called. - if let Some(ref p) = self.path { - let _ = remove_dir_all(p); - } - } -} - -pub(crate) fn create(path: PathBuf) -> io::Result { - fs::create_dir(&path) - .with_err_path(|| &path) - .map(|_| TempDir { path: Some(path) }) -} diff --git a/vendor/registry-40351f815f426200/tempfile/src/error.rs b/vendor/registry-40351f815f426200/tempfile/src/error.rs deleted file mode 100644 index a5805568a..000000000 --- a/vendor/registry-40351f815f426200/tempfile/src/error.rs +++ /dev/null @@ -1,50 +0,0 @@ -use std::path::PathBuf; -use std::{error, fmt, io}; - -#[derive(Debug)] -struct PathError { - path: PathBuf, - err: io::Error, -} - -impl fmt::Display for PathError { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "{} at path {:?}", self.err, self.path) - } -} - -impl error::Error for PathError { - fn description(&self) -> &str { - self.err.description() - } - - #[allow(deprecated)] - fn cause(&self) -> Option<&error::Error> { - self.err.cause() - } -} - -pub(crate) trait IoResultExt { - fn with_err_path(self, path: F) -> Self - where - F: FnOnce() -> P, - P: Into; -} - -impl IoResultExt for Result { - fn with_err_path(self, path: F) -> Self - where - F: FnOnce() -> P, - P: Into, - { - self.map_err(|e| { - io::Error::new( - e.kind(), - PathError { - path: path().into(), - err: e, - }, - ) - }) - } -} diff --git a/vendor/registry-40351f815f426200/tempfile/src/file/imp/mod.rs b/vendor/registry-40351f815f426200/tempfile/src/file/imp/mod.rs deleted file mode 100644 index 31e872886..000000000 --- a/vendor/registry-40351f815f426200/tempfile/src/file/imp/mod.rs +++ /dev/null @@ -1,12 +0,0 @@ -cfg_if! { - if #[cfg(any(unix, target_os = "redox"))] { - mod unix; - pub use self::unix::*; - } else if #[cfg(windows)] { - mod windows; - pub use self::windows::*; - } else { - mod other; - pub use self::other::*; - } -} diff --git a/vendor/registry-40351f815f426200/tempfile/src/file/imp/other.rs b/vendor/registry-40351f815f426200/tempfile/src/file/imp/other.rs deleted file mode 100644 index 095ff40d9..000000000 --- a/vendor/registry-40351f815f426200/tempfile/src/file/imp/other.rs +++ /dev/null @@ -1,30 +0,0 @@ -use std::fs::File; -use std::io; -use std::path::Path; - -fn not_supported() -> io::Result { - Err(io::Error::new( - io::ErrorKind::Other, - "operation not supported on this platform", - )) -} - -pub fn create_named(_path: &Path) -> io::Result { - not_supported() -} - -pub fn create(_dir: &Path) -> io::Result { - not_supported() -} - -pub fn reopen(_file: &File, _path: &Path) -> io::Result { - not_supported() -} - -pub fn persist(_old_path: &Path, _new_path: &Path, _overwrite: bool) -> io::Result<()> { - not_supported() -} - -pub fn keep(path: &Path) -> io::Result<()> { - not_supported() -} diff --git a/vendor/registry-40351f815f426200/tempfile/src/file/imp/unix.rs b/vendor/registry-40351f815f426200/tempfile/src/file/imp/unix.rs deleted file mode 100644 index eb76e612c..000000000 --- a/vendor/registry-40351f815f426200/tempfile/src/file/imp/unix.rs +++ /dev/null @@ -1,137 +0,0 @@ -use std::env; -use std::ffi::{CString, OsStr}; -use std::fs::{self, File, OpenOptions}; -use std::io; -use std::os::unix::ffi::OsStrExt; -use std::os::unix::fs::{MetadataExt, OpenOptionsExt}; -use std::path::Path; -use util; - -#[cfg(not(target_os = "redox"))] -use libc::{c_char, c_int, link, rename, unlink}; - -#[cfg(not(target_os = "redox"))] -#[inline(always)] -pub fn cvt_err(result: c_int) -> io::Result { - if result == -1 { - Err(io::Error::last_os_error()) - } else { - Ok(result) - } -} - -#[cfg(target_os = "redox")] -#[inline(always)] -pub fn cvt_err(result: Result) -> io::Result { - result.map_err(|err| io::Error::from_raw_os_error(err.errno)) -} - -// Stolen from std. -pub fn cstr(path: &Path) -> io::Result { - CString::new(path.as_os_str().as_bytes()) - .map_err(|_| io::Error::new(io::ErrorKind::InvalidInput, "path contained a null")) -} - -pub fn create_named(path: &Path) -> io::Result { - OpenOptions::new() - .read(true) - .write(true) - .create_new(true) - .mode(0o600) - .open(path) -} - -fn create_unlinked(path: &Path) -> io::Result { - let tmp; - // shadow this to decrease the lifetime. It can't live longer than `tmp`. - let mut path = path; - if !path.is_absolute() { - let cur_dir = env::current_dir()?; - tmp = cur_dir.join(path); - path = &tmp; - } - - let f = create_named(path)?; - // don't care whether the path has already been unlinked, - // but perhaps there are some IO error conditions we should send up? - let _ = fs::remove_file(path); - Ok(f) -} - -#[cfg(target_os = "linux")] -pub fn create(dir: &Path) -> io::Result { - use libc::{EISDIR, ENOENT, EOPNOTSUPP, O_EXCL, O_TMPFILE}; - OpenOptions::new() - .read(true) - .write(true) - .custom_flags(O_TMPFILE | O_EXCL) // do not mix with `create_new(true)` - .open(dir) - .or_else(|e| { - match e.raw_os_error() { - // These are the three "not supported" error codes for O_TMPFILE. - Some(EOPNOTSUPP) | Some(EISDIR) | Some(ENOENT) => create_unix(dir), - _ => Err(e), - } - }) -} - -#[cfg(not(target_os = "linux"))] -pub fn create(dir: &Path) -> io::Result { - create_unix(dir) -} - -fn create_unix(dir: &Path) -> io::Result { - util::create_helper( - dir, - OsStr::new(".tmp"), - OsStr::new(""), - ::NUM_RAND_CHARS, - |path| create_unlinked(&path), - ) -} - -pub fn reopen(file: &File, path: &Path) -> io::Result { - let new_file = OpenOptions::new().read(true).write(true).open(path)?; - let old_meta = file.metadata()?; - let new_meta = new_file.metadata()?; - if old_meta.dev() != new_meta.dev() || old_meta.ino() != new_meta.ino() { - return Err(io::Error::new( - io::ErrorKind::NotFound, - "original tempfile has been replaced", - )); - } - Ok(new_file) -} - -#[cfg(not(target_os = "redox"))] -pub fn persist(old_path: &Path, new_path: &Path, overwrite: bool) -> io::Result<()> { - unsafe { - let old_path = cstr(old_path)?; - let new_path = cstr(new_path)?; - if overwrite { - cvt_err(rename( - old_path.as_ptr() as *const c_char, - new_path.as_ptr() as *const c_char, - ))?; - } else { - cvt_err(link( - old_path.as_ptr() as *const c_char, - new_path.as_ptr() as *const c_char, - ))?; - // Ignore unlink errors. Can we do better? - // On recent linux, we can use renameat2 to do this atomically. - let _ = unlink(old_path.as_ptr() as *const c_char); - } - Ok(()) - } -} - -#[cfg(target_os = "redox")] -pub fn persist(old_path: &Path, new_path: &Path, overwrite: bool) -> io::Result<()> { - // XXX implement when possible - Err(io::Error::from_raw_os_error(syscall::ENOSYS)) -} - -pub fn keep(_: &Path) -> io::Result<()> { - Ok(()) -} diff --git a/vendor/registry-40351f815f426200/tempfile/src/file/imp/windows.rs b/vendor/registry-40351f815f426200/tempfile/src/file/imp/windows.rs deleted file mode 100644 index 3b35f5c72..000000000 --- a/vendor/registry-40351f815f426200/tempfile/src/file/imp/windows.rs +++ /dev/null @@ -1,108 +0,0 @@ -use std::ffi::OsStr; -use std::fs::{File, OpenOptions}; -use std::os::windows::ffi::OsStrExt; -use std::os::windows::fs::OpenOptionsExt; -use std::os::windows::io::{AsRawHandle, FromRawHandle, RawHandle}; -use std::path::Path; -use std::{io, iter}; - -use winapi::um::fileapi::SetFileAttributesW; -use winapi::um::handleapi::INVALID_HANDLE_VALUE; -use winapi::um::winbase::{MoveFileExW, ReOpenFile}; -use winapi::um::winbase::{FILE_FLAG_DELETE_ON_CLOSE, MOVEFILE_REPLACE_EXISTING}; -use winapi::um::winnt::{FILE_ATTRIBUTE_NORMAL, FILE_ATTRIBUTE_TEMPORARY}; -use winapi::um::winnt::{FILE_GENERIC_READ, FILE_GENERIC_WRITE, HANDLE}; -use winapi::um::winnt::{FILE_SHARE_DELETE, FILE_SHARE_READ, FILE_SHARE_WRITE}; - -use util; - -fn to_utf16(s: &Path) -> Vec { - s.as_os_str().encode_wide().chain(iter::once(0)).collect() -} - -pub fn create_named(path: &Path) -> io::Result { - OpenOptions::new() - .create_new(true) - .read(true) - .write(true) - .custom_flags(FILE_ATTRIBUTE_TEMPORARY) - .open(path) -} - -pub fn create(dir: &Path) -> io::Result { - util::create_helper( - dir, - OsStr::new(".tmp"), - OsStr::new(""), - ::NUM_RAND_CHARS, - |path| { - OpenOptions::new() - .create_new(true) - .read(true) - .write(true) - .share_mode(0) - .custom_flags(FILE_ATTRIBUTE_TEMPORARY | FILE_FLAG_DELETE_ON_CLOSE) - .open(path) - }, - ) -} - -pub fn reopen(file: &File, _path: &Path) -> io::Result { - let handle = file.as_raw_handle(); - unsafe { - let handle = ReOpenFile( - handle as HANDLE, - FILE_GENERIC_READ | FILE_GENERIC_WRITE, - FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE, - 0, - ); - if handle == INVALID_HANDLE_VALUE { - Err(io::Error::last_os_error()) - } else { - Ok(FromRawHandle::from_raw_handle(handle as RawHandle)) - } - } -} - -pub fn keep(path: &Path) -> io::Result<()> { - unsafe { - let path_w = to_utf16(path); - if SetFileAttributesW(path_w.as_ptr(), FILE_ATTRIBUTE_NORMAL) == 0 { - Err(io::Error::last_os_error()) - } else { - Ok(()) - } - } -} - -pub fn persist(old_path: &Path, new_path: &Path, overwrite: bool) -> io::Result<()> { - // TODO: We should probably do this in one-shot using SetFileInformationByHandle but the API is - // really painful. - - unsafe { - let old_path_w = to_utf16(old_path); - let new_path_w = to_utf16(new_path); - - // Don't succeed if this fails. We don't want to claim to have successfully persisted a file - // still marked as temporary because this file won't have the same consistency guarantees. - if SetFileAttributesW(old_path_w.as_ptr(), FILE_ATTRIBUTE_NORMAL) == 0 { - return Err(io::Error::last_os_error()); - } - - let mut flags = 0; - - if overwrite { - flags |= MOVEFILE_REPLACE_EXISTING; - } - - if MoveFileExW(old_path_w.as_ptr(), new_path_w.as_ptr(), flags) == 0 { - let e = io::Error::last_os_error(); - // If this fails, the temporary file is now un-hidden and no longer marked temporary - // (slightly less efficient) but it will still work. - let _ = SetFileAttributesW(old_path_w.as_ptr(), FILE_ATTRIBUTE_TEMPORARY); - Err(e) - } else { - Ok(()) - } - } -} diff --git a/vendor/registry-40351f815f426200/tempfile/src/file/mod.rs b/vendor/registry-40351f815f426200/tempfile/src/file/mod.rs deleted file mode 100644 index ee1c4f211..000000000 --- a/vendor/registry-40351f815f426200/tempfile/src/file/mod.rs +++ /dev/null @@ -1,910 +0,0 @@ -use std; -use std::env; -use std::error; -use std::ffi::OsStr; -use std::fmt; -use std::fs::{self, File}; -use std::io::{self, Read, Seek, SeekFrom, Write}; -use std::mem; -use std::ops::Deref; -use std::path::{Path, PathBuf}; - -use error::IoResultExt; -use Builder; - -mod imp; - -/// Create a new temporary file. -/// -/// The file will be created in the location returned by [`std::env::temp_dir()`]. -/// -/// # Security -/// -/// This variant is secure/reliable in the presence of a pathological temporary file cleaner. -/// -/// # Resource Leaking -/// -/// The temporary file will be automatically removed by the OS when the last handle to it is closed. -/// This doesn't rely on Rust destructors being run, so will (almost) never fail to clean up the temporary file. -/// -/// # Errors -/// -/// If the file can not be created, `Err` is returned. -/// -/// # Examples -/// -/// ``` -/// # extern crate tempfile; -/// use tempfile::tempfile; -/// use std::io::{self, Write}; -/// -/// # fn main() { -/// # if let Err(_) = run() { -/// # ::std::process::exit(1); -/// # } -/// # } -/// # fn run() -> Result<(), io::Error> { -/// // Create a file inside of `std::env::temp_dir()`. -/// let mut file = tempfile()?; -/// -/// writeln!(file, "Brian was here. Briefly.")?; -/// # Ok(()) -/// # } -/// ``` -/// -/// [`std::env::temp_dir()`]: https://doc.rust-lang.org/std/env/fn.temp_dir.html -pub fn tempfile() -> io::Result { - tempfile_in(&env::temp_dir()) -} - -/// Create a new temporary file in the specified directory. -/// -/// # Security -/// -/// This variant is secure/reliable in the presence of a pathological temporary file cleaner. -/// If the temporary file isn't created in [`std::env::temp_dir()`] then temporary file cleaners aren't an issue. -/// -/// # Resource Leaking -/// -/// The temporary file will be automatically removed by the OS when the last handle to it is closed. -/// This doesn't rely on Rust destructors being run, so will (almost) never fail to clean up the temporary file. -/// -/// # Errors -/// -/// If the file can not be created, `Err` is returned. -/// -/// # Examples -/// -/// ``` -/// # extern crate tempfile; -/// use tempfile::tempfile_in; -/// use std::io::{self, Write}; -/// -/// # fn main() { -/// # if let Err(_) = run() { -/// # ::std::process::exit(1); -/// # } -/// # } -/// # fn run() -> Result<(), io::Error> { -/// // Create a file inside of the current working directory -/// let mut file = tempfile_in("./")?; -/// -/// writeln!(file, "Brian was here. Briefly.")?; -/// # Ok(()) -/// # } -/// ``` -/// -/// [`std::env::temp_dir()`]: https://doc.rust-lang.org/std/env/fn.temp_dir.html -pub fn tempfile_in>(dir: P) -> io::Result { - imp::create(dir.as_ref()) -} - -/// Error returned when persisting a temporary file path fails. -#[derive(Debug)] -pub struct PathPersistError { - /// The underlying IO error. - pub error: io::Error, - /// The temporary file path that couldn't be persisted. - pub path: TempPath, -} - -impl From for io::Error { - #[inline] - fn from(error: PathPersistError) -> io::Error { - error.error - } -} - -impl From for TempPath { - #[inline] - fn from(error: PathPersistError) -> TempPath { - error.path - } -} - -impl fmt::Display for PathPersistError { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "failed to persist temporary file path: {}", self.error) - } -} - -impl error::Error for PathPersistError { - fn description(&self) -> &str { - "failed to persist temporary file path" - } - - fn cause(&self) -> Option<&error::Error> { - Some(&self.error) - } -} - -/// A path to a named temporary file without an open file handle. -/// -/// This is useful when the temporary file needs to be used by a child process, -/// for example. -/// -/// When dropped, the temporary file is deleted. -pub struct TempPath { - path: PathBuf, -} - -impl TempPath { - /// Close and remove the temporary file. - /// - /// Use this if you want to detect errors in deleting the file. - /// - /// # Errors - /// - /// If the file cannot be deleted, `Err` is returned. - /// - /// # Examples - /// - /// ```no_run - /// # extern crate tempfile; - /// # use std::io; - /// use tempfile::NamedTempFile; - /// - /// # fn main() { - /// # if let Err(_) = run() { - /// # ::std::process::exit(1); - /// # } - /// # } - /// # fn run() -> Result<(), io::Error> { - /// let file = NamedTempFile::new()?; - /// - /// // Close the file, but keep the path to it around. - /// let path = file.into_temp_path(); - /// - /// // By closing the `TempPath` explicitly, we can check that it has - /// // been deleted successfully. If we don't close it explicitly, the - /// // file will still be deleted when `file` goes out of scope, but we - /// // won't know whether deleting the file succeeded. - /// path.close()?; - /// # Ok(()) - /// # } - /// ``` - pub fn close(mut self) -> io::Result<()> { - let result = fs::remove_file(&self.path).with_err_path(|| &self.path); - mem::replace(&mut self.path, PathBuf::new()); - mem::forget(self); - result - } - - /// Persist the temporary file at the target path. - /// - /// If a file exists at the target path, persist will atomically replace it. - /// If this method fails, it will return `self` in the resulting - /// [`PathPersistError`]. - /// - /// Note: Temporary files cannot be persisted across filesystems. - /// - /// # Security - /// - /// Only use this method if you're positive that a temporary file cleaner - /// won't have deleted your file. Otherwise, you might end up persisting an - /// attacker controlled file. - /// - /// # Errors - /// - /// If the file cannot be moved to the new location, `Err` is returned. - /// - /// # Examples - /// - /// ```no_run - /// # use std::io::{self, Write}; - /// # extern crate tempfile; - /// use tempfile::NamedTempFile; - /// - /// # fn main() { - /// # if let Err(_) = run() { - /// # ::std::process::exit(1); - /// # } - /// # } - /// # fn run() -> Result<(), io::Error> { - /// let mut file = NamedTempFile::new()?; - /// writeln!(file, "Brian was here. Briefly.")?; - /// - /// let path = file.into_temp_path(); - /// path.persist("./saved_file.txt")?; - /// # Ok(()) - /// # } - /// ``` - /// - /// [`PathPersistError`]: struct.PathPersistError.html - pub fn persist>(mut self, new_path: P) -> Result<(), PathPersistError> { - match imp::persist(&self.path, new_path.as_ref(), true) { - Ok(_) => { - // Don't drop `self`. We don't want to try deleting the old - // temporary file path. (It'll fail, but the failure is never - // seen.) - mem::replace(&mut self.path, PathBuf::new()); - mem::forget(self); - Ok(()) - } - Err(e) => Err(PathPersistError { - error: e, - path: self, - }), - } - } - - /// Persist the temporary file at the target path iff no file exists there. - /// - /// If a file exists at the target path, fail. If this method fails, it will - /// return `self` in the resulting [`PathPersistError`]. - /// - /// Note: Temporary files cannot be persisted across filesystems. Also Note: - /// This method is not atomic. It can leave the original link to the - /// temporary file behind. - /// - /// # Security - /// - /// Only use this method if you're positive that a temporary file cleaner - /// won't have deleted your file. Otherwise, you might end up persisting an - /// attacker controlled file. - /// - /// # Errors - /// - /// If the file cannot be moved to the new location or a file already exists - /// there, `Err` is returned. - /// - /// # Examples - /// - /// ```no_run - /// # use std::io::{self, Write}; - /// # extern crate tempfile; - /// use tempfile::NamedTempFile; - /// - /// # fn main() { - /// # if let Err(_) = run() { - /// # ::std::process::exit(1); - /// # } - /// # } - /// # fn run() -> Result<(), io::Error> { - /// let mut file = NamedTempFile::new()?; - /// writeln!(file, "Brian was here. Briefly.")?; - /// - /// let path = file.into_temp_path(); - /// path.persist_noclobber("./saved_file.txt")?; - /// # Ok(()) - /// # } - /// ``` - /// - /// [`PathPersistError`]: struct.PathPersistError.html - pub fn persist_noclobber>( - mut self, - new_path: P, - ) -> Result<(), PathPersistError> { - match imp::persist(&self.path, new_path.as_ref(), false) { - Ok(_) => { - // Don't drop `self`. We don't want to try deleting the old - // temporary file path. (It'll fail, but the failure is never - // seen.) - mem::replace(&mut self.path, PathBuf::new()); - mem::forget(self); - Ok(()) - } - Err(e) => Err(PathPersistError { - error: e, - path: self, - }), - } - } - - /// Keep the temporary file from being deleted. This function will turn the - /// temporary file into a non-temporary file without moving it. - /// - /// - /// # Errors - /// - /// On some platforms (e.g., Windows), we need to mark the file as - /// non-temporary. This operation could fail. - /// - /// # Examples - /// - /// ```no_run - /// # use std::io::{self, Write}; - /// # extern crate tempfile; - /// use tempfile::NamedTempFile; - /// - /// # fn main() { - /// # if let Err(_) = run() { - /// # ::std::process::exit(1); - /// # } - /// # } - /// # fn run() -> Result<(), io::Error> { - /// let mut file = NamedTempFile::new()?; - /// writeln!(file, "Brian was here. Briefly.")?; - /// - /// let path = file.into_temp_path(); - /// let path = path.keep()?; - /// # Ok(()) - /// # } - /// ``` - /// - /// [`PathPersistError`]: struct.PathPersistError.html - pub fn keep(mut self) -> Result { - match imp::keep(&self.path) { - Ok(_) => { - // Don't drop `self`. We don't want to try deleting the old - // temporary file path. (It'll fail, but the failure is never - // seen.) - let mut path = PathBuf::new(); - mem::swap(&mut self.path, &mut path); - mem::forget(self); - Ok(path) - } - Err(e) => Err(PathPersistError { - error: e, - path: self, - }), - } - } -} - -impl fmt::Debug for TempPath { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - self.path.fmt(f) - } -} - -impl Drop for TempPath { - fn drop(&mut self) { - let _ = fs::remove_file(&self.path); - } -} - -impl Deref for TempPath { - type Target = Path; - - fn deref(&self) -> &Path { - &self.path - } -} - -impl AsRef for TempPath { - fn as_ref(&self) -> &Path { - &self.path - } -} - -impl AsRef for TempPath { - fn as_ref(&self) -> &OsStr { - self.path.as_os_str() - } -} - -/// A named temporary file. -/// -/// The default constructor, [`NamedTempFile::new()`], creates files in -/// the location returned by [`std::env::temp_dir()`], but `NamedTempFile` -/// can be configured to manage a temporary file in any location -/// by constructing with [`NamedTempFile::new_in()`]. -/// -/// # Security -/// -/// This variant is *NOT* secure/reliable in the presence of a pathological temporary file cleaner. -/// -/// # Resource Leaking -/// -/// If the program exits before the `NamedTempFile` destructor is -/// run, such as via [`std::process::exit()`], by segfaulting, or by -/// receiving a signal like `SIGINT`, then the temporary file -/// will not be deleted. -/// -/// Use the [`tempfile()`] function unless you absolutely need a named file. -/// -/// [`tempfile()`]: fn.tempfile.html -/// [`NamedTempFile::new()`]: #method.new -/// [`NamedTempFile::new_in()`]: #method.new_in -/// [`std::env::temp_dir()`]: https://doc.rust-lang.org/std/env/fn.temp_dir.html -/// [`std::process::exit()`]: http://doc.rust-lang.org/std/process/fn.exit.html -pub struct NamedTempFile { - path: TempPath, - file: File, -} - -impl fmt::Debug for NamedTempFile { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "NamedTempFile({:?})", self.path) - } -} - -impl AsRef for NamedTempFile { - #[inline] - fn as_ref(&self) -> &Path { - self.path() - } -} - -/// Error returned when persisting a temporary file fails. -#[derive(Debug)] -pub struct PersistError { - /// The underlying IO error. - pub error: io::Error, - /// The temporary file that couldn't be persisted. - pub file: NamedTempFile, -} - -impl From for io::Error { - #[inline] - fn from(error: PersistError) -> io::Error { - error.error - } -} - -impl From for NamedTempFile { - #[inline] - fn from(error: PersistError) -> NamedTempFile { - error.file - } -} - -impl fmt::Display for PersistError { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "failed to persist temporary file: {}", self.error) - } -} - -impl error::Error for PersistError { - fn description(&self) -> &str { - "failed to persist temporary file" - } - fn cause(&self) -> Option<&error::Error> { - Some(&self.error) - } -} - -impl NamedTempFile { - /// Create a new named temporary file. - /// - /// See [`Builder`] for more configuration. - /// - /// # Security - /// - /// This will create a temporary file in the default temporary file - /// directory (platform dependent). These directories are often patrolled by temporary file - /// cleaners so only use this method if you're *positive* that the temporary file cleaner won't - /// delete your file. - /// - /// Reasons to use this method: - /// - /// 1. The file has a short lifetime and your temporary file cleaner is - /// sane (doesn't delete recently accessed files). - /// - /// 2. You trust every user on your system (i.e. you are the only user). - /// - /// 3. You have disabled your system's temporary file cleaner or verified - /// that your system doesn't have a temporary file cleaner. - /// - /// Reasons not to use this method: - /// - /// 1. You'll fix it later. No you won't. - /// - /// 2. You don't care about the security of the temporary file. If none of - /// the "reasons to use this method" apply, referring to a temporary - /// file by name may allow an attacker to create/overwrite your - /// non-temporary files. There are exceptions but if you don't already - /// know them, don't use this method. - /// - /// # Errors - /// - /// If the file can not be created, `Err` is returned. - /// - /// # Examples - /// - /// Create a named temporary file and write some data to it: - /// - /// ```no_run - /// # use std::io::{self, Write}; - /// # extern crate tempfile; - /// use tempfile::NamedTempFile; - /// - /// # fn main() { - /// # if let Err(_) = run() { - /// # ::std::process::exit(1); - /// # } - /// # } - /// # fn run() -> Result<(), ::std::io::Error> { - /// let mut file = NamedTempFile::new()?; - /// - /// writeln!(file, "Brian was here. Briefly.")?; - /// # Ok(()) - /// # } - /// ``` - /// - /// [`Builder`]: struct.Builder.html - pub fn new() -> io::Result { - Builder::new().tempfile() - } - - /// Create a new named temporary file in the specified directory. - /// - /// See [`NamedTempFile::new()`] for details. - /// - /// [`NamedTempFile::new()`]: #method.new_in - pub fn new_in>(dir: P) -> io::Result { - Builder::new().tempfile_in(dir) - } - - /// Get the temporary file's path. - /// - /// # Security - /// - /// Only use this method if you're positive that a - /// temporary file cleaner won't have deleted your file. Otherwise, the path - /// returned by this method may refer to an attacker controlled file. - /// - /// # Examples - /// - /// ```no_run - /// # use std::io::{self, Write}; - /// # extern crate tempfile; - /// use tempfile::NamedTempFile; - /// - /// # fn main() { - /// # if let Err(_) = run() { - /// # ::std::process::exit(1); - /// # } - /// # } - /// # fn run() -> Result<(), ::std::io::Error> { - /// let file = NamedTempFile::new()?; - /// - /// println!("{:?}", file.path()); - /// # Ok(()) - /// # } - /// ``` - #[inline] - pub fn path(&self) -> &Path { - &self.path - } - - /// Close and remove the temporary file. - /// - /// Use this if you want to detect errors in deleting the file. - /// - /// # Errors - /// - /// If the file cannot be deleted, `Err` is returned. - /// - /// # Examples - /// - /// ```no_run - /// # extern crate tempfile; - /// # use std::io; - /// use tempfile::NamedTempFile; - /// - /// # fn main() { - /// # if let Err(_) = run() { - /// # ::std::process::exit(1); - /// # } - /// # } - /// # fn run() -> Result<(), io::Error> { - /// let file = NamedTempFile::new()?; - /// - /// // By closing the `NamedTempFile` explicitly, we can check that it has - /// // been deleted successfully. If we don't close it explicitly, - /// // the file will still be deleted when `file` goes out - /// // of scope, but we won't know whether deleting the file - /// // succeeded. - /// file.close()?; - /// # Ok(()) - /// # } - /// ``` - pub fn close(self) -> io::Result<()> { - let NamedTempFile { path, .. } = self; - path.close() - } - - /// Persist the temporary file at the target path. - /// - /// If a file exists at the target path, persist will atomically replace it. - /// If this method fails, it will return `self` in the resulting - /// [`PersistError`]. - /// - /// Note: Temporary files cannot be persisted across filesystems. - /// - /// # Security - /// - /// Only use this method if you're positive that a - /// temporary file cleaner won't have deleted your file. Otherwise, you - /// might end up persisting an attacker controlled file. - /// - /// # Errors - /// - /// If the file cannot be moved to the new location, `Err` is returned. - /// - /// # Examples - /// - /// ```no_run - /// # use std::io::{self, Write}; - /// # extern crate tempfile; - /// use tempfile::NamedTempFile; - /// - /// # fn main() { - /// # if let Err(_) = run() { - /// # ::std::process::exit(1); - /// # } - /// # } - /// # fn run() -> Result<(), io::Error> { - /// let file = NamedTempFile::new()?; - /// - /// let mut persisted_file = file.persist("./saved_file.txt")?; - /// writeln!(persisted_file, "Brian was here. Briefly.")?; - /// # Ok(()) - /// # } - /// ``` - /// - /// [`PersistError`]: struct.PersistError.html - pub fn persist>(self, new_path: P) -> Result { - let NamedTempFile { path, file } = self; - match path.persist(new_path) { - Ok(_) => Ok(file), - Err(err) => { - let PathPersistError { error, path } = err; - Err(PersistError { - file: NamedTempFile { path, file }, - error, - }) - } - } - } - - /// Persist the temporary file at the target path iff no file exists there. - /// - /// If a file exists at the target path, fail. If this method fails, it will - /// return `self` in the resulting PersistError. - /// - /// Note: Temporary files cannot be persisted across filesystems. Also Note: - /// This method is not atomic. It can leave the original link to the - /// temporary file behind. - /// - /// # Security - /// - /// Only use this method if you're positive that a - /// temporary file cleaner won't have deleted your file. Otherwise, you - /// might end up persisting an attacker controlled file. - /// - /// # Errors - /// - /// If the file cannot be moved to the new location or a file already exists there, - /// `Err` is returned. - /// - /// # Examples - /// - /// ```no_run - /// # use std::io::{self, Write}; - /// # extern crate tempfile; - /// use tempfile::NamedTempFile; - /// - /// # fn main() { - /// # if let Err(_) = run() { - /// # ::std::process::exit(1); - /// # } - /// # } - /// # fn run() -> Result<(), io::Error> { - /// let file = NamedTempFile::new()?; - /// - /// let mut persisted_file = file.persist_noclobber("./saved_file.txt")?; - /// writeln!(persisted_file, "Brian was here. Briefly.")?; - /// # Ok(()) - /// # } - /// ``` - pub fn persist_noclobber>(self, new_path: P) -> Result { - let NamedTempFile { path, file } = self; - match path.persist_noclobber(new_path) { - Ok(_) => Ok(file), - Err(err) => { - let PathPersistError { error, path } = err; - Err(PersistError { - file: NamedTempFile { path, file }, - error, - }) - } - } - } - - /// Keep the temporary file from being deleted. This function will turn the - /// temporary file into a non-temporary file without moving it. - /// - /// - /// # Errors - /// - /// On some platforms (e.g., Windows), we need to mark the file as - /// non-temporary. This operation could fail. - /// - /// # Examples - /// - /// ```no_run - /// # use std::io::{self, Write}; - /// # extern crate tempfile; - /// use tempfile::NamedTempFile; - /// - /// # fn main() { - /// # if let Err(_) = run() { - /// # ::std::process::exit(1); - /// # } - /// # } - /// # fn run() -> Result<(), io::Error> { - /// let mut file = NamedTempFile::new()?; - /// writeln!(file, "Brian was here. Briefly.")?; - /// - /// let (file, path) = file.keep()?; - /// # Ok(()) - /// # } - /// ``` - /// - /// [`PathPersistError`]: struct.PathPersistError.html - pub fn keep(self) -> Result<(File, PathBuf), PersistError> { - let (file, path) = (self.file, self.path); - match path.keep() { - Ok(path) => Ok((file, path)), - Err(PathPersistError { error, path }) => Err(PersistError { - file: NamedTempFile { path, file }, - error, - }), - } - } - - /// Reopen the temporary file. - /// - /// This function is useful when you need multiple independent handles to - /// the same file. It's perfectly fine to drop the original `NamedTempFile` - /// while holding on to `File`s returned by this function; the `File`s will - /// remain usable. However, they may not be nameable. - /// - /// # Errors - /// - /// If the file cannot be reopened, `Err` is returned. - /// - /// # Examples - /// - /// ```no_run - /// # use std::io; - /// # extern crate tempfile; - /// use tempfile::NamedTempFile; - /// - /// # fn main() { - /// # if let Err(_) = run() { - /// # ::std::process::exit(1); - /// # } - /// # } - /// # fn run() -> Result<(), io::Error> { - /// let file = NamedTempFile::new()?; - /// - /// let another_handle = file.reopen()?; - /// # Ok(()) - /// # } - /// ``` - pub fn reopen(&self) -> io::Result { - imp::reopen(self.as_file(), NamedTempFile::path(self)) - .with_err_path(|| NamedTempFile::path(self)) - } - - /// Get a reference to the underlying file. - pub fn as_file(&self) -> &File { - &self.file - } - - /// Get a mutable reference to the underlying file. - pub fn as_file_mut(&mut self) -> &mut File { - &mut self.file - } - - /// Convert the temporary file into a `std::fs::File`. - /// - /// The inner file will be deleted. - pub fn into_file(self) -> File { - self.file - } - - /// Closes the file, leaving only the temporary file path. - /// - /// This is useful when another process must be able to open the temporary - /// file. - pub fn into_temp_path(self) -> TempPath { - self.path - } - - /// Converts the named temporary file into its constituent parts. - /// - /// Note: When the path is dropped, the file is deleted but the file handle - /// is still usable. - pub fn into_parts(self) -> (File, TempPath) { - (self.file, self.path) - } -} - -impl Read for NamedTempFile { - fn read(&mut self, buf: &mut [u8]) -> io::Result { - self.as_file_mut().read(buf).with_err_path(|| self.path()) - } -} - -impl<'a> Read for &'a NamedTempFile { - fn read(&mut self, buf: &mut [u8]) -> io::Result { - self.as_file().read(buf).with_err_path(|| self.path()) - } -} - -impl Write for NamedTempFile { - fn write(&mut self, buf: &[u8]) -> io::Result { - self.as_file_mut().write(buf).with_err_path(|| self.path()) - } - #[inline] - fn flush(&mut self) -> io::Result<()> { - self.as_file_mut().flush().with_err_path(|| self.path()) - } -} - -impl<'a> Write for &'a NamedTempFile { - fn write(&mut self, buf: &[u8]) -> io::Result { - self.as_file().write(buf).with_err_path(|| self.path()) - } - #[inline] - fn flush(&mut self) -> io::Result<()> { - self.as_file().flush().with_err_path(|| self.path()) - } -} - -impl Seek for NamedTempFile { - fn seek(&mut self, pos: SeekFrom) -> io::Result { - self.as_file_mut().seek(pos).with_err_path(|| self.path()) - } -} - -impl<'a> Seek for &'a NamedTempFile { - fn seek(&mut self, pos: SeekFrom) -> io::Result { - self.as_file().seek(pos).with_err_path(|| self.path()) - } -} - -#[cfg(unix)] -impl std::os::unix::io::AsRawFd for NamedTempFile { - #[inline] - fn as_raw_fd(&self) -> std::os::unix::io::RawFd { - self.as_file().as_raw_fd() - } -} - -#[cfg(windows)] -impl std::os::windows::io::AsRawHandle for NamedTempFile { - #[inline] - fn as_raw_handle(&self) -> std::os::windows::io::RawHandle { - self.as_file().as_raw_handle() - } -} - -pub(crate) fn create_named(mut path: PathBuf) -> io::Result { - // Make the path absolute. Otherwise, changing directories could cause us to - // delete the wrong file. - if !path.is_absolute() { - path = env::current_dir()?.join(path) - } - imp::create_named(&path) - .with_err_path(|| path.clone()) - .map(|file| NamedTempFile { - path: TempPath { path }, - file, - }) -} diff --git a/vendor/registry-40351f815f426200/tempfile/src/lib.rs b/vendor/registry-40351f815f426200/tempfile/src/lib.rs deleted file mode 100644 index df04d0798..000000000 --- a/vendor/registry-40351f815f426200/tempfile/src/lib.rs +++ /dev/null @@ -1,455 +0,0 @@ -//! Temporary files and directories. -//! -//! - Use the [`tempfile()`] function for temporary files -//! - Use the [`tempdir()`] function for temporary directories. -//! -//! # Design -//! -//! This crate provides several approaches to creating temporary files and directories. -//! [`tempfile()`] relies on the OS to remove the temporary file once the last handle is closed. -//! [`TempDir`] and [`NamedTempFile`] both rely on Rust destructors for cleanup. -//! -//! When choosing between the temporary file variants, prefer `tempfile` -//! unless you either need to know the file's path or to be able to persist it. -//! -//! ## Resource Leaking -//! -//! `tempfile` will (almost) never fail to cleanup temporary resources, but `TempDir` and `NamedTempFile` will if -//! their destructors don't run. This is because `tempfile` relies on the OS to cleanup the -//! underlying file, while `TempDir` and `NamedTempFile` rely on their destructors to do so. -//! -//! ## Security -//! -//! In the presence of pathological temporary file cleaner, relying on file paths is unsafe because -//! a temporary file cleaner could delete the temporary file which an attacker could then replace. -//! -//! `tempfile` doesn't rely on file paths so this isn't an issue. However, `NamedTempFile` does -//! rely on file paths. -//! -//! ## Examples -//! -//! Create a temporary file and write some data into it: -//! -//! ``` -//! # extern crate tempfile; -//! use tempfile::tempfile; -//! use std::io::{self, Write}; -//! -//! # fn main() { -//! # if let Err(_) = run() { -//! # ::std::process::exit(1); -//! # } -//! # } -//! # fn run() -> Result<(), io::Error> { -//! // Create a file inside of `std::env::temp_dir()`. -//! let mut file = tempfile()?; -//! -//! writeln!(file, "Brian was here. Briefly.")?; -//! # Ok(()) -//! # } -//! ``` -//! -//! Create a temporary directory and add a file to it: -//! -//! ``` -//! # extern crate tempfile; -//! use tempfile::tempdir; -//! use std::fs::File; -//! use std::io::{self, Write}; -//! -//! # fn main() { -//! # if let Err(_) = run() { -//! # ::std::process::exit(1); -//! # } -//! # } -//! # fn run() -> Result<(), io::Error> { -//! // Create a directory inside of `std::env::temp_dir()`. -//! let dir = tempdir()?; -//! -//! let file_path = dir.path().join("my-temporary-note.txt"); -//! let mut file = File::create(file_path)?; -//! writeln!(file, "Brian was here. Briefly.")?; -//! -//! // By closing the `TempDir` explicitly, we can check that it has -//! // been deleted successfully. If we don't close it explicitly, -//! // the directory will still be deleted when `dir` goes out -//! // of scope, but we won't know whether deleting the directory -//! // succeeded. -//! drop(file); -//! dir.close()?; -//! # Ok(()) -//! # } -//! ``` -//! -//! [`tempfile()`]: fn.tempfile.html -//! [`tempdir()`]: fn.tempdir.html -//! [`TempDir`]: struct.TempDir.html -//! [`NamedTempFile`]: struct.NamedTempFile.html -//! [`std::env::temp_dir()`]: https://doc.rust-lang.org/std/env/fn.temp_dir.html - -#![doc( - html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png", - html_favicon_url = "https://www.rust-lang.org/favicon.ico", - html_root_url = "https://docs.rs/tempfile/2.2.0" -)] -#![cfg_attr(test, deny(warnings))] - -#[macro_use] -extern crate cfg_if; -extern crate rand; -extern crate remove_dir_all; - -#[cfg(unix)] -extern crate libc; - -#[cfg(windows)] -extern crate winapi; - -#[cfg(target_os = "redox")] -extern crate syscall; - -const NUM_RETRIES: u32 = 1 << 31; -const NUM_RAND_CHARS: usize = 6; - -use std::ffi::OsStr; -use std::path::Path; -use std::{env, io}; - -mod dir; -mod error; -mod file; -mod spooled; -mod util; - -pub use dir::{tempdir, tempdir_in, TempDir}; -pub use file::{tempfile, tempfile_in, NamedTempFile, PathPersistError, PersistError, TempPath}; -pub use spooled::{spooled_tempfile, SpooledTempFile}; - -/// Create a new temporary file or directory with custom parameters. -#[derive(Debug, Clone, Eq, PartialEq)] -pub struct Builder<'a, 'b> { - random_len: usize, - prefix: &'a OsStr, - suffix: &'b OsStr, -} - -impl<'a, 'b> Default for Builder<'a, 'b> { - fn default() -> Self { - Builder { - random_len: ::NUM_RAND_CHARS, - prefix: OsStr::new(".tmp"), - suffix: OsStr::new(""), - } - } -} - -impl<'a, 'b> Builder<'a, 'b> { - /// Create a new `Builder`. - /// - /// # Examples - /// - /// Create a named temporary file and write some data into it: - /// - /// ``` - /// # extern crate tempfile; - /// # use std::io; - /// # use std::ffi::OsStr; - /// # fn main() { - /// # if let Err(_) = run() { - /// # ::std::process::exit(1); - /// # } - /// # } - /// # fn run() -> Result<(), io::Error> { - /// use tempfile::Builder; - /// - /// let named_tempfile = Builder::new() - /// .prefix("my-temporary-note") - /// .suffix(".txt") - /// .rand_bytes(5) - /// .tempfile()?; - /// - /// let name = named_tempfile - /// .path() - /// .file_name().and_then(OsStr::to_str); - /// - /// if let Some(name) = name { - /// assert!(name.starts_with("my-temporary-note")); - /// assert!(name.ends_with(".txt")); - /// assert_eq!(name.len(), "my-temporary-note.txt".len() + 5); - /// } - /// # Ok(()) - /// # } - /// ``` - /// - /// Create a temporary directory and add a file to it: - /// - /// ``` - /// # extern crate tempfile; - /// # use std::io::{self, Write}; - /// # use std::fs::File; - /// # use std::ffi::OsStr; - /// # fn main() { - /// # if let Err(_) = run() { - /// # ::std::process::exit(1); - /// # } - /// # } - /// # fn run() -> Result<(), io::Error> { - /// use tempfile::Builder; - /// - /// let dir = Builder::new() - /// .prefix("my-temporary-dir") - /// .rand_bytes(5) - /// .tempdir()?; - /// - /// let file_path = dir.path().join("my-temporary-note.txt"); - /// let mut file = File::create(file_path)?; - /// writeln!(file, "Brian was here. Briefly.")?; - /// - /// // By closing the `TempDir` explicitly, we can check that it has - /// // been deleted successfully. If we don't close it explicitly, - /// // the directory will still be deleted when `dir` goes out - /// // of scope, but we won't know whether deleting the directory - /// // succeeded. - /// drop(file); - /// dir.close()?; - /// # Ok(()) - /// # } - /// ``` - pub fn new() -> Self { - Self::default() - } - - /// Set a custom filename prefix. - /// - /// Path separators are legal but not advisable. - /// Default: `.tmp`. - /// - /// # Examples - /// - /// ``` - /// # extern crate tempfile; - /// # use std::io; - /// # fn main() { - /// # if let Err(_) = run() { - /// # ::std::process::exit(1); - /// # } - /// # } - /// # fn run() -> Result<(), io::Error> { - /// # use tempfile::Builder; - /// let named_tempfile = Builder::new() - /// .prefix("my-temporary-note") - /// .tempfile()?; - /// # Ok(()) - /// # } - /// ``` - pub fn prefix + ?Sized>(&mut self, prefix: &'a S) -> &mut Self { - self.prefix = prefix.as_ref(); - self - } - - /// Set a custom filename suffix. - /// - /// Path separators are legal but not advisable. - /// Default: empty. - /// - /// # Examples - /// - /// ``` - /// # extern crate tempfile; - /// # use std::io; - /// # fn main() { - /// # if let Err(_) = run() { - /// # ::std::process::exit(1); - /// # } - /// # } - /// # fn run() -> Result<(), io::Error> { - /// # use tempfile::Builder; - /// let named_tempfile = Builder::new() - /// .suffix(".txt") - /// .tempfile()?; - /// # Ok(()) - /// # } - /// ``` - pub fn suffix + ?Sized>(&mut self, suffix: &'b S) -> &mut Self { - self.suffix = suffix.as_ref(); - self - } - - /// Set the number of random bytes. - /// - /// Default: `6`. - /// - /// # Examples - /// - /// ``` - /// # extern crate tempfile; - /// # use std::io; - /// # fn main() { - /// # if let Err(_) = run() { - /// # ::std::process::exit(1); - /// # } - /// # } - /// # fn run() -> Result<(), io::Error> { - /// # use tempfile::Builder; - /// let named_tempfile = Builder::new() - /// .rand_bytes(5) - /// .tempfile()?; - /// # Ok(()) - /// # } - /// ``` - pub fn rand_bytes(&mut self, rand: usize) -> &mut Self { - self.random_len = rand; - self - } - - /// Create the named temporary file. - /// - /// # Security - /// - /// See [the security][security] docs on `NamedTempFile`. - /// - /// # Resource leaking - /// - /// See [the resource leaking][resource-leaking] docs on `NamedTempFile`. - /// - /// # Errors - /// - /// If the file cannot be created, `Err` is returned. - /// - /// # Examples - /// - /// ``` - /// # extern crate tempfile; - /// # use std::io; - /// # fn main() { - /// # if let Err(_) = run() { - /// # ::std::process::exit(1); - /// # } - /// # } - /// # fn run() -> Result<(), io::Error> { - /// # use tempfile::Builder; - /// let tempfile = Builder::new().tempfile()?; - /// # Ok(()) - /// # } - /// ``` - /// - /// [security]: struct.NamedTempFile.html#security - /// [resource-leaking]: struct.NamedTempFile.html#resource-leaking - pub fn tempfile(&self) -> io::Result { - self.tempfile_in(&env::temp_dir()) - } - - /// Create the named temporary file in the specified directory. - /// - /// # Security - /// - /// See [the security][security] docs on `NamedTempFile`. - /// - /// # Resource leaking - /// - /// See [the resource leaking][resource-leaking] docs on `NamedTempFile`. - /// - /// # Errors - /// - /// If the file cannot be created, `Err` is returned. - /// - /// # Examples - /// - /// ``` - /// # extern crate tempfile; - /// # use std::io; - /// # fn main() { - /// # if let Err(_) = run() { - /// # ::std::process::exit(1); - /// # } - /// # } - /// # fn run() -> Result<(), io::Error> { - /// # use tempfile::Builder; - /// let tempfile = Builder::new().tempfile_in("./")?; - /// # Ok(()) - /// # } - /// ``` - /// - /// [security]: struct.NamedTempFile.html#security - /// [resource-leaking]: struct.NamedTempFile.html#resource-leaking - pub fn tempfile_in>(&self, dir: P) -> io::Result { - util::create_helper( - dir.as_ref(), - self.prefix, - self.suffix, - self.random_len, - file::create_named, - ) - } - - /// Attempts to make a temporary directory inside of `env::temp_dir()` whose - /// name will have the prefix, `prefix`. The directory and - /// everything inside it will be automatically deleted once the - /// returned `TempDir` is destroyed. - /// - /// # Resource leaking - /// - /// See [the resource leaking][resource-leaking] docs on `TempDir`. - /// - /// # Errors - /// - /// If the directory can not be created, `Err` is returned. - /// - /// # Examples - /// - /// ``` - /// use std::fs::File; - /// use std::io::Write; - /// use tempfile::Builder; - /// - /// # use std::io; - /// # fn run() -> Result<(), io::Error> { - /// let tmp_dir = Builder::new().tempdir()?; - /// # Ok(()) - /// # } - /// ``` - /// - /// [resource-leaking]: struct.TempDir.html#resource-leaking - pub fn tempdir(&self) -> io::Result { - self.tempdir_in(&env::temp_dir()) - } - - /// Attempts to make a temporary directory inside of `dir`. - /// The directory and everything inside it will be automatically - /// deleted once the returned `TempDir` is destroyed. - /// - /// # Resource leaking - /// - /// See [the resource leaking][resource-leaking] docs on `TempDir`. - /// - /// # Errors - /// - /// If the directory can not be created, `Err` is returned. - /// - /// # Examples - /// - /// ``` - /// use std::fs::{self, File}; - /// use std::io::Write; - /// use tempfile::Builder; - /// - /// # use std::io; - /// # fn run() -> Result<(), io::Error> { - /// let tmp_dir = Builder::new().tempdir_in("./")?; - /// # Ok(()) - /// # } - /// ``` - /// - /// [resource-leaking]: struct.TempDir.html#resource-leaking - pub fn tempdir_in>(&self, dir: P) -> io::Result { - let storage; - let mut dir = dir.as_ref(); - if !dir.is_absolute() { - let cur_dir = env::current_dir()?; - storage = cur_dir.join(dir); - dir = &storage; - } - - util::create_helper(dir, self.prefix, self.suffix, self.random_len, dir::create) - } -} diff --git a/vendor/registry-40351f815f426200/tempfile/src/spooled.rs b/vendor/registry-40351f815f426200/tempfile/src/spooled.rs deleted file mode 100644 index 093477b8c..000000000 --- a/vendor/registry-40351f815f426200/tempfile/src/spooled.rs +++ /dev/null @@ -1,153 +0,0 @@ -use file::tempfile; -use std::fs::File; -use std::io::{self, Cursor, Read, Seek, SeekFrom, Write}; - -#[derive(Debug)] -enum SpooledInner { - InMemory(Cursor>), - OnDisk(File), -} - -/// An object that behaves like a regular temporary file, but keeps data in -/// memory until it reaches a configured size, at which point the data is -/// written to a temporary file on disk, and further operations use the file -/// on disk. -#[derive(Debug)] -pub struct SpooledTempFile { - max_size: usize, - inner: SpooledInner, -} - -/// Create a new spooled temporary file. -/// -/// # Security -/// -/// This variant is secure/reliable in the presence of a pathological temporary -/// file cleaner. -/// -/// # Resource Leaking -/// -/// The temporary file will be automatically removed by the OS when the last -/// handle to it is closed. This doesn't rely on Rust destructors being run, so -/// will (almost) never fail to clean up the temporary file. -/// -/// # Examples -/// -/// ``` -/// # extern crate tempfile; -/// use tempfile::spooled_tempfile; -/// use std::io::{self, Write}; -/// -/// # fn main() { -/// # if let Err(_) = run() { -/// # ::std::process::exit(1); -/// # } -/// # } -/// # fn run() -> Result<(), io::Error> { -/// let mut file = spooled_tempfile(15); -/// -/// writeln!(file, "short line")?; -/// assert!(!file.is_rolled()); -/// -/// // as a result of this write call, the size of the data will exceed -/// // `max_size` (15), so it will be written to a temporary file on disk, -/// // and the in-memory buffer will be dropped -/// writeln!(file, "marvin gardens")?; -/// assert!(file.is_rolled()); -/// -/// # Ok(()) -/// # } -/// ``` -#[inline] -pub fn spooled_tempfile(max_size: usize) -> SpooledTempFile { - SpooledTempFile::new(max_size) -} - -impl SpooledTempFile { - pub fn new(max_size: usize) -> SpooledTempFile { - SpooledTempFile { - max_size: max_size, - inner: SpooledInner::InMemory(Cursor::new(Vec::new())), - } - } - - /// Returns true if the file has been rolled over to disk. - pub fn is_rolled(&self) -> bool { - match self.inner { - SpooledInner::InMemory(_) => false, - SpooledInner::OnDisk(_) => true, - } - } - - /// Rolls over to a file on disk, regardless of current size. Does nothing - /// if already rolled over. - pub fn roll(&mut self) -> io::Result<()> { - if !self.is_rolled() { - let mut file = tempfile()?; - if let SpooledInner::InMemory(ref mut cursor) = self.inner { - file.write_all(cursor.get_ref())?; - file.seek(SeekFrom::Start(cursor.position()))?; - } - self.inner = SpooledInner::OnDisk(file); - } - Ok(()) - } - - pub fn set_len(&mut self, size: u64) -> Result<(), io::Error> { - if size as usize > self.max_size { - self.roll()?; // does nothing if already rolled over - } - match self.inner { - SpooledInner::InMemory(ref mut cursor) => { - cursor.get_mut().resize(size as usize, 0); - Ok(()) - } - SpooledInner::OnDisk(ref mut file) => file.set_len(size), - } - } -} - -impl Read for SpooledTempFile { - fn read(&mut self, buf: &mut [u8]) -> io::Result { - match self.inner { - SpooledInner::InMemory(ref mut cursor) => cursor.read(buf), - SpooledInner::OnDisk(ref mut file) => file.read(buf), - } - } -} - -impl Write for SpooledTempFile { - fn write(&mut self, buf: &[u8]) -> io::Result { - // roll over to file if necessary - let mut rolling = false; - if let SpooledInner::InMemory(ref mut cursor) = self.inner { - rolling = cursor.position() as usize + buf.len() > self.max_size; - } - if rolling { - self.roll()?; - } - - // write the bytes - match self.inner { - SpooledInner::InMemory(ref mut cursor) => cursor.write(buf), - SpooledInner::OnDisk(ref mut file) => file.write(buf), - } - } - - #[inline] - fn flush(&mut self) -> io::Result<()> { - match self.inner { - SpooledInner::InMemory(ref mut cursor) => cursor.flush(), - SpooledInner::OnDisk(ref mut file) => file.flush(), - } - } -} - -impl Seek for SpooledTempFile { - fn seek(&mut self, pos: SeekFrom) -> io::Result { - match self.inner { - SpooledInner::InMemory(ref mut cursor) => cursor.seek(pos), - SpooledInner::OnDisk(ref mut file) => file.seek(pos), - } - } -} diff --git a/vendor/registry-40351f815f426200/tempfile/src/util.rs b/vendor/registry-40351f815f426200/tempfile/src/util.rs deleted file mode 100644 index 42d1eeded..000000000 --- a/vendor/registry-40351f815f426200/tempfile/src/util.rs +++ /dev/null @@ -1,51 +0,0 @@ -use rand::distributions::Alphanumeric; -use rand::{self, Rng}; -use std::ffi::{OsStr, OsString}; -use std::path::{Path, PathBuf}; -use std::{io, str}; - -use error::IoResultExt; - -fn tmpname(prefix: &OsStr, suffix: &OsStr, rand_len: usize) -> OsString { - let mut buf = OsString::with_capacity(prefix.len() + suffix.len() + rand_len); - buf.push(prefix); - - // Push each character in one-by-one. Unfortunately, this is the only - // safe(ish) simple way to do this without allocating a temporary - // String/Vec. - unsafe { - rand::thread_rng() - .sample_iter(&Alphanumeric) - .take(rand_len) - .for_each(|b| buf.push(str::from_utf8_unchecked(&[b as u8]))) - } - buf.push(suffix); - buf -} - -pub fn create_helper( - base: &Path, - prefix: &OsStr, - suffix: &OsStr, - random_len: usize, - f: F, -) -> io::Result -where - F: Fn(PathBuf) -> io::Result, -{ - let num_retries = if random_len != 0 { ::NUM_RETRIES } else { 1 }; - - for _ in 0..num_retries { - let path = base.join(tmpname(prefix, suffix, random_len)); - return match f(path) { - Err(ref e) if e.kind() == io::ErrorKind::AlreadyExists => continue, - res => res, - }; - } - - Err(io::Error::new( - io::ErrorKind::AlreadyExists, - "too many temporary files exist", - )) - .with_err_path(|| base) -} diff --git a/vendor/registry-40351f815f426200/tempfile/tests/namedtempfile.rs b/vendor/registry-40351f815f426200/tempfile/tests/namedtempfile.rs deleted file mode 100644 index 2294285a5..000000000 --- a/vendor/registry-40351f815f426200/tempfile/tests/namedtempfile.rs +++ /dev/null @@ -1,269 +0,0 @@ -extern crate tempfile; -use std::env; -use std::fs::File; -use std::io::{Read, Seek, SeekFrom, Write}; -use std::path::Path; -use tempfile::{Builder, NamedTempFile}; - -fn exists>(path: P) -> bool { - std::fs::metadata(path.as_ref()).is_ok() -} - -#[test] -fn test_basic() { - let mut tmpfile = NamedTempFile::new().unwrap(); - write!(tmpfile, "abcde").unwrap(); - tmpfile.seek(SeekFrom::Start(0)).unwrap(); - let mut buf = String::new(); - tmpfile.read_to_string(&mut buf).unwrap(); - assert_eq!("abcde", buf); -} - -#[test] -fn test_deleted() { - let tmpfile = NamedTempFile::new().unwrap(); - let path = tmpfile.path().to_path_buf(); - assert!(exists(&path)); - drop(tmpfile); - assert!(!exists(&path)); -} - -#[test] -fn test_persist() { - let mut tmpfile = NamedTempFile::new().unwrap(); - let old_path = tmpfile.path().to_path_buf(); - let persist_path = env::temp_dir().join("persisted_temporary_file"); - write!(tmpfile, "abcde").unwrap(); - { - assert!(exists(&old_path)); - let mut f = tmpfile.persist(&persist_path).unwrap(); - assert!(!exists(&old_path)); - - // Check original file - f.seek(SeekFrom::Start(0)).unwrap(); - let mut buf = String::new(); - f.read_to_string(&mut buf).unwrap(); - assert_eq!("abcde", buf); - } - - { - // Try opening it at the new path. - let mut f = File::open(&persist_path).unwrap(); - f.seek(SeekFrom::Start(0)).unwrap(); - let mut buf = String::new(); - f.read_to_string(&mut buf).unwrap(); - assert_eq!("abcde", buf); - } - std::fs::remove_file(&persist_path).unwrap(); -} - -#[test] -fn test_persist_noclobber() { - let mut tmpfile = NamedTempFile::new().unwrap(); - let old_path = tmpfile.path().to_path_buf(); - let persist_target = NamedTempFile::new().unwrap(); - let persist_path = persist_target.path().to_path_buf(); - write!(tmpfile, "abcde").unwrap(); - assert!(exists(&old_path)); - { - tmpfile = tmpfile.persist_noclobber(&persist_path).unwrap_err().into(); - assert!(exists(&old_path)); - std::fs::remove_file(&persist_path).unwrap(); - drop(persist_target); - } - tmpfile.persist_noclobber(&persist_path).unwrap(); - // Try opening it at the new path. - let mut f = File::open(&persist_path).unwrap(); - f.seek(SeekFrom::Start(0)).unwrap(); - let mut buf = String::new(); - f.read_to_string(&mut buf).unwrap(); - assert_eq!("abcde", buf); - std::fs::remove_file(&persist_path).unwrap(); -} - -#[test] -fn test_customnamed() { - let tmpfile = Builder::new() - .prefix("tmp") - .suffix(&".rs".to_string()) - .rand_bytes(12) - .tempfile() - .unwrap(); - let name = tmpfile.path().file_name().unwrap().to_str().unwrap(); - assert!(name.starts_with("tmp")); - assert!(name.ends_with(".rs")); - assert_eq!(name.len(), 18); -} - -#[test] -fn test_reopen() { - let source = NamedTempFile::new().unwrap(); - let mut first = source.reopen().unwrap(); - let mut second = source.reopen().unwrap(); - drop(source); - - write!(first, "abcde").expect("write failed"); - let mut buf = String::new(); - second.read_to_string(&mut buf).unwrap(); - assert_eq!("abcde", buf); -} - -#[test] -fn test_into_file() { - let mut file = NamedTempFile::new().unwrap(); - let path = file.path().to_owned(); - write!(file, "abcde").expect("write failed"); - - assert!(path.exists()); - let mut file = file.into_file(); - assert!(!path.exists()); - - file.seek(SeekFrom::Start(0)).unwrap(); - let mut buf = String::new(); - file.read_to_string(&mut buf).unwrap(); - assert_eq!("abcde", buf); -} - -#[test] -fn test_immut() { - let tmpfile = NamedTempFile::new().unwrap(); - (&tmpfile).write_all(b"abcde").unwrap(); - (&tmpfile).seek(SeekFrom::Start(0)).unwrap(); - let mut buf = String::new(); - (&tmpfile).read_to_string(&mut buf).unwrap(); - assert_eq!("abcde", buf); -} - -#[test] -fn test_temppath() { - let mut tmpfile = NamedTempFile::new().unwrap(); - write!(tmpfile, "abcde").unwrap(); - - let path = tmpfile.into_temp_path(); - assert!(path.is_file()); -} - -#[test] -fn test_temppath_persist() { - let mut tmpfile = NamedTempFile::new().unwrap(); - write!(tmpfile, "abcde").unwrap(); - - let tmppath = tmpfile.into_temp_path(); - - let old_path = tmppath.to_path_buf(); - let persist_path = env::temp_dir().join("persisted_temppath_file"); - - { - assert!(exists(&old_path)); - tmppath.persist(&persist_path).unwrap(); - assert!(!exists(&old_path)); - } - - { - // Try opening it at the new path. - let mut f = File::open(&persist_path).unwrap(); - f.seek(SeekFrom::Start(0)).unwrap(); - let mut buf = String::new(); - f.read_to_string(&mut buf).unwrap(); - assert_eq!("abcde", buf); - } - - std::fs::remove_file(&persist_path).unwrap(); -} - -#[test] -fn test_temppath_persist_noclobber() { - let mut tmpfile = NamedTempFile::new().unwrap(); - write!(tmpfile, "abcde").unwrap(); - - let mut tmppath = tmpfile.into_temp_path(); - - let old_path = tmppath.to_path_buf(); - let persist_target = NamedTempFile::new().unwrap(); - let persist_path = persist_target.path().to_path_buf(); - - assert!(exists(&old_path)); - - { - tmppath = tmppath.persist_noclobber(&persist_path).unwrap_err().into(); - assert!(exists(&old_path)); - std::fs::remove_file(&persist_path).unwrap(); - drop(persist_target); - } - - tmppath.persist_noclobber(&persist_path).unwrap(); - - // Try opening it at the new path. - let mut f = File::open(&persist_path).unwrap(); - f.seek(SeekFrom::Start(0)).unwrap(); - let mut buf = String::new(); - f.read_to_string(&mut buf).unwrap(); - assert_eq!("abcde", buf); - std::fs::remove_file(&persist_path).unwrap(); -} - -#[test] -fn test_write_after_close() { - let path = NamedTempFile::new().unwrap().into_temp_path(); - File::create(path).unwrap().write_all(b"test").unwrap(); -} - -#[test] -fn test_change_dir() { - env::set_current_dir(env::temp_dir()).unwrap(); - let tmpfile = NamedTempFile::new_in(".").unwrap(); - let path = env::current_dir().unwrap().join(tmpfile.path()); - env::set_current_dir("/").unwrap(); - drop(tmpfile); - assert!(!exists(path)) -} - -#[test] -fn test_into_parts() { - let mut file = NamedTempFile::new().unwrap(); - write!(file, "abcd").expect("write failed"); - - let (mut file, temp_path) = file.into_parts(); - - let path = temp_path.to_path_buf(); - - assert!(path.exists()); - drop(temp_path); - assert!(!path.exists()); - - write!(file, "efgh").expect("write failed"); - - file.seek(SeekFrom::Start(0)).unwrap(); - let mut buf = String::new(); - file.read_to_string(&mut buf).unwrap(); - assert_eq!("abcdefgh", buf); -} - -#[test] -fn test_keep() { - let mut tmpfile = NamedTempFile::new().unwrap(); - write!(tmpfile, "abcde").unwrap(); - let (mut f, temp_path) = tmpfile.into_parts(); - let path; - { - assert!(exists(&temp_path)); - path = temp_path.keep().unwrap(); - assert!(exists(&path)); - - // Check original file - f.seek(SeekFrom::Start(0)).unwrap(); - let mut buf = String::new(); - f.read_to_string(&mut buf).unwrap(); - assert_eq!("abcde", buf); - } - - { - // Try opening it again. - let mut f = File::open(&path).unwrap(); - f.seek(SeekFrom::Start(0)).unwrap(); - let mut buf = String::new(); - f.read_to_string(&mut buf).unwrap(); - assert_eq!("abcde", buf); - } - std::fs::remove_file(&path).unwrap(); -} diff --git a/vendor/registry-40351f815f426200/tempfile/tests/spooled.rs b/vendor/registry-40351f815f426200/tempfile/tests/spooled.rs deleted file mode 100644 index 8481936bd..000000000 --- a/vendor/registry-40351f815f426200/tempfile/tests/spooled.rs +++ /dev/null @@ -1,307 +0,0 @@ -extern crate tempfile; - -use std::io::{Read, Seek, SeekFrom, Write}; - -use tempfile::{spooled_tempfile, SpooledTempFile}; - -#[test] -fn test_automatic_rollover() { - let mut t = spooled_tempfile(10); - let mut buf = Vec::new(); - - assert!(!t.is_rolled()); - assert_eq!(t.seek(SeekFrom::Current(0)).unwrap(), 0); - assert_eq!(t.read_to_end(&mut buf).unwrap(), 0); - assert_eq!(buf.as_slice(), b""); - buf.clear(); - - assert_eq!(t.write(b"abcde").unwrap(), 5); - - assert!(!t.is_rolled()); - assert_eq!(t.seek(SeekFrom::Start(0)).unwrap(), 0); - assert_eq!(t.read_to_end(&mut buf).unwrap(), 5); - assert_eq!(buf.as_slice(), b"abcde"); - - assert_eq!(t.write(b"fghijklmno").unwrap(), 10); - - assert_eq!(t.seek(SeekFrom::Current(0)).unwrap(), 15); - assert!(t.is_rolled()); -} - -#[test] -fn test_explicit_rollover() { - let mut t = SpooledTempFile::new(100); - assert_eq!(t.write(b"abcdefghijklmnopqrstuvwxyz").unwrap(), 26); - assert_eq!(t.seek(SeekFrom::Current(0)).unwrap(), 26); - assert!(!t.is_rolled()); - - // roll over explicitly - assert!(t.roll().is_ok()); - assert!(t.is_rolled()); - assert_eq!(t.seek(SeekFrom::Current(0)).unwrap(), 26); - - let mut buf = Vec::new(); - assert_eq!(t.read_to_end(&mut buf).unwrap(), 0); - assert_eq!(buf.as_slice(), b""); - buf.clear(); - - assert_eq!(t.seek(SeekFrom::Start(0)).unwrap(), 0); - assert_eq!(t.read_to_end(&mut buf).unwrap(), 26); - assert_eq!(buf.as_slice(), b"abcdefghijklmnopqrstuvwxyz"); - assert_eq!(t.seek(SeekFrom::Current(0)).unwrap(), 26); -} - -// called by test_seek_{buffer, file} -// assumes t is empty and offset is 0 to start -fn test_seek(t: &mut SpooledTempFile) { - assert_eq!(t.write(b"abcdefghijklmnopqrstuvwxyz").unwrap(), 26); - - assert_eq!(t.seek(SeekFrom::Current(0)).unwrap(), 26); // tell() - assert_eq!(t.seek(SeekFrom::Current(-1)).unwrap(), 25); - assert_eq!(t.seek(SeekFrom::Current(1)).unwrap(), 26); - assert_eq!(t.seek(SeekFrom::Current(1)).unwrap(), 27); - assert_eq!(t.seek(SeekFrom::Current(-27)).unwrap(), 0); - assert!(t.seek(SeekFrom::Current(-1)).is_err()); - assert!(t.seek(SeekFrom::Current(-1245)).is_err()); - - assert_eq!(t.seek(SeekFrom::Start(0)).unwrap(), 0); - assert_eq!(t.seek(SeekFrom::Start(1)).unwrap(), 1); - assert_eq!(t.seek(SeekFrom::Start(26)).unwrap(), 26); - assert_eq!(t.seek(SeekFrom::Start(27)).unwrap(), 27); - // // these are build errors - // assert!(t.seek(SeekFrom::Start(-1)).is_err()); - // assert!(t.seek(SeekFrom::Start(-1000)).is_err()); - - assert_eq!(t.seek(SeekFrom::End(0)).unwrap(), 26); - assert_eq!(t.seek(SeekFrom::End(-1)).unwrap(), 25); - assert_eq!(t.seek(SeekFrom::End(-26)).unwrap(), 0); - assert!(t.seek(SeekFrom::End(-27)).is_err()); - assert!(t.seek(SeekFrom::End(-99)).is_err()); - assert_eq!(t.seek(SeekFrom::End(1)).unwrap(), 27); - assert_eq!(t.seek(SeekFrom::End(1)).unwrap(), 27); -} - -#[test] -fn test_seek_buffer() { - let mut t = spooled_tempfile(100); - test_seek(&mut t); -} - -#[test] -fn test_seek_file() { - let mut t = SpooledTempFile::new(10); - test_seek(&mut t); -} - -fn test_seek_read(t: &mut SpooledTempFile) { - assert_eq!(t.write(b"abcdefghijklmnopqrstuvwxyz").unwrap(), 26); - - let mut buf = Vec::new(); - - // we're at the end - assert_eq!(t.read_to_end(&mut buf).unwrap(), 0); - assert_eq!(buf.as_slice(), b""); - buf.clear(); - - // seek to start, read whole thing - assert_eq!(t.seek(SeekFrom::Start(0)).unwrap(), 0); - assert_eq!(t.read_to_end(&mut buf).unwrap(), 26); - assert_eq!(buf.as_slice(), b"abcdefghijklmnopqrstuvwxyz"); - buf.clear(); - - // now we're at the end again - assert_eq!(t.seek(SeekFrom::Current(0)).unwrap(), 26); // tell() - assert_eq!(t.read_to_end(&mut buf).unwrap(), 0); - assert_eq!(buf.as_slice(), b""); - buf.clear(); - - // seek to somewhere in the middle, read a bit - assert_eq!(t.seek(SeekFrom::Start(5)).unwrap(), 5); - let mut buf = [0; 5]; - assert!(t.read_exact(&mut buf).is_ok()); - assert_eq!(buf, *b"fghij"); - - // read again from current spot - assert_eq!(t.seek(SeekFrom::Current(0)).unwrap(), 10); // tell() - assert!(t.read_exact(&mut buf).is_ok()); - assert_eq!(buf, *b"klmno"); - - let mut buf = [0; 15]; - // partial read - assert_eq!(t.read(&mut buf).unwrap(), 11); - assert_eq!(buf[0..11], *b"pqrstuvwxyz"); - - // try to read off the end: UnexpectedEof - assert!(t.read_exact(&mut buf).is_err()); -} - -#[test] -fn test_seek_read_buffer() { - let mut t = spooled_tempfile(100); - test_seek_read(&mut t); -} - -#[test] -fn test_seek_read_file() { - let mut t = SpooledTempFile::new(10); - test_seek_read(&mut t); -} - -fn test_overwrite_middle(t: &mut SpooledTempFile) { - assert_eq!(t.write(b"abcdefghijklmnopqrstuvwxyz").unwrap(), 26); - - assert_eq!(t.seek(SeekFrom::Start(10)).unwrap(), 10); - assert_eq!(t.write(b"0123456789").unwrap(), 10); - assert_eq!(t.seek(SeekFrom::Start(0)).unwrap(), 0); - - let mut buf = Vec::new(); - assert_eq!(t.read_to_end(&mut buf).unwrap(), 26); - assert_eq!(buf.as_slice(), b"abcdefghij0123456789uvwxyz"); -} - -#[test] -fn test_overwrite_middle_of_buffer() { - let mut t = spooled_tempfile(100); - test_overwrite_middle(&mut t); -} - -#[test] -fn test_overwrite_middle_of_file() { - let mut t = SpooledTempFile::new(10); - test_overwrite_middle(&mut t); -} - -#[test] -fn test_overwrite_and_extend_buffer() { - let mut t = spooled_tempfile(100); - assert_eq!(t.write(b"abcdefghijklmnopqrstuvwxyz").unwrap(), 26); - assert_eq!(t.seek(SeekFrom::End(-5)).unwrap(), 21); - assert_eq!(t.write(b"0123456789").unwrap(), 10); - assert_eq!(t.seek(SeekFrom::Start(0)).unwrap(), 0); - let mut buf = Vec::new(); - assert_eq!(t.read_to_end(&mut buf).unwrap(), 31); - assert_eq!(buf.as_slice(), b"abcdefghijklmnopqrstu0123456789"); - assert!(!t.is_rolled()); -} - -#[test] -fn test_overwrite_and_extend_rollover() { - let mut t = SpooledTempFile::new(20); - assert_eq!(t.write(b"abcdefghijklmno").unwrap(), 15); - assert!(!t.is_rolled()); - assert_eq!(t.seek(SeekFrom::End(-5)).unwrap(), 10); - assert_eq!(t.seek(SeekFrom::Current(0)).unwrap(), 10); // tell() - assert!(!t.is_rolled()); - assert_eq!(t.write(b"0123456789)!@#$%^&*(").unwrap(), 20); - assert!(t.is_rolled()); - assert_eq!(t.seek(SeekFrom::Current(0)).unwrap(), 30); // tell() - let mut buf = Vec::new(); - assert_eq!(t.seek(SeekFrom::Start(0)).unwrap(), 0); - assert_eq!(t.read_to_end(&mut buf).unwrap(), 30); - assert_eq!(buf.as_slice(), b"abcdefghij0123456789)!@#$%^&*("); -} - -fn test_sparse(t: &mut SpooledTempFile) { - assert_eq!(t.write(b"abcde").unwrap(), 5); - assert_eq!(t.seek(SeekFrom::Current(5)).unwrap(), 10); - assert_eq!(t.write(b"klmno").unwrap(), 5); - assert_eq!(t.seek(SeekFrom::Start(0)).unwrap(), 0); - let mut buf = Vec::new(); - assert_eq!(t.read_to_end(&mut buf).unwrap(), 15); - assert_eq!(buf.as_slice(), b"abcde\0\0\0\0\0klmno"); -} - -#[test] -fn test_sparse_buffer() { - let mut t = spooled_tempfile(100); - test_sparse(&mut t); -} - -#[test] -fn test_sparse_file() { - let mut t = SpooledTempFile::new(1); - test_sparse(&mut t); -} - -#[test] -fn test_sparse_write_rollover() { - let mut t = spooled_tempfile(10); - assert_eq!(t.write(b"abcde").unwrap(), 5); - assert!(!t.is_rolled()); - assert_eq!(t.seek(SeekFrom::Current(5)).unwrap(), 10); - assert!(!t.is_rolled()); - assert_eq!(t.write(b"klmno").unwrap(), 5); - assert!(t.is_rolled()); - assert_eq!(t.seek(SeekFrom::Start(0)).unwrap(), 0); - let mut buf = Vec::new(); - assert_eq!(t.read_to_end(&mut buf).unwrap(), 15); - assert_eq!(buf.as_slice(), b"abcde\0\0\0\0\0klmno"); -} - -fn test_set_len(t: &mut SpooledTempFile) { - let mut buf: Vec = Vec::new(); - - assert_eq!(t.write(b"abcdefghijklmnopqrstuvwxyz").unwrap(), 26); - - // truncate to 10 bytes - assert!(t.set_len(10).is_ok()); - - // position should not have moved - assert_eq!(t.seek(SeekFrom::Current(0)).unwrap(), 26); // tell() - - assert_eq!(t.read_to_end(&mut buf).unwrap(), 0); - assert_eq!(buf.as_slice(), b""); - assert_eq!(t.seek(SeekFrom::Current(0)).unwrap(), 26); // tell() - buf.clear(); - - // read whole thing - assert_eq!(t.seek(SeekFrom::Start(0)).unwrap(), 0); - assert_eq!(t.read_to_end(&mut buf).unwrap(), 10); - assert_eq!(buf.as_slice(), b"abcdefghij"); - buf.clear(); - - // set_len to expand beyond the end - assert!(t.set_len(40).is_ok()); - assert_eq!(t.seek(SeekFrom::Current(0)).unwrap(), 10); // tell() - assert_eq!(t.seek(SeekFrom::Start(0)).unwrap(), 0); - assert_eq!(t.read_to_end(&mut buf).unwrap(), 40); - assert_eq!( - buf.as_slice(), - &b"abcdefghij\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[..] - ); -} - -#[test] -fn test_set_len_buffer() { - let mut t = spooled_tempfile(100); - test_set_len(&mut t); -} - -#[test] -fn test_set_len_file() { - let mut t = spooled_tempfile(100); - test_set_len(&mut t); -} - -#[test] -fn test_set_len_rollover() { - let mut buf: Vec = Vec::new(); - - let mut t = spooled_tempfile(10); - assert_eq!(t.write(b"abcde").unwrap(), 5); - assert!(!t.is_rolled()); - assert_eq!(t.seek(SeekFrom::Current(0)).unwrap(), 5); // tell() - - assert_eq!(t.seek(SeekFrom::Start(0)).unwrap(), 0); - assert_eq!(t.read_to_end(&mut buf).unwrap(), 5); - assert_eq!(buf.as_slice(), b"abcde"); - assert_eq!(t.seek(SeekFrom::Current(0)).unwrap(), 5); // tell() - buf.clear(); - - assert!(t.set_len(20).is_ok()); - assert!(t.is_rolled()); - assert_eq!(t.seek(SeekFrom::Current(0)).unwrap(), 5); // tell() - assert_eq!(t.seek(SeekFrom::Start(0)).unwrap(), 0); - assert_eq!(t.read_to_end(&mut buf).unwrap(), 20); - assert_eq!(buf.as_slice(), b"abcde\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"); -} diff --git a/vendor/registry-40351f815f426200/tempfile/tests/tempdir.rs b/vendor/registry-40351f815f426200/tempfile/tests/tempdir.rs deleted file mode 100644 index 9baccdccb..000000000 --- a/vendor/registry-40351f815f426200/tempfile/tests/tempdir.rs +++ /dev/null @@ -1,261 +0,0 @@ -// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -extern crate tempfile; - -use std::env; -use std::fs; -use std::path::Path; -use std::sync::mpsc::channel; -use std::thread; - -use tempfile::{Builder, TempDir}; - -macro_rules! t { - ($e:expr) => { - match $e { - Ok(n) => n, - Err(e) => panic!("error: {}", e), - } - }; -} - -trait PathExt { - fn exists(&self) -> bool; - fn is_dir(&self) -> bool; -} - -impl PathExt for Path { - fn exists(&self) -> bool { - fs::metadata(self).is_ok() - } - fn is_dir(&self) -> bool { - fs::metadata(self).map(|m| m.is_dir()).unwrap_or(false) - } -} - -fn test_tempdir() { - let path = { - let p = t!(Builder::new().prefix("foobar").tempdir_in(&Path::new("."))); - let p = p.path(); - assert!(p.to_str().unwrap().contains("foobar")); - p.to_path_buf() - }; - assert!(!path.exists()); -} - -#[test] -fn test_customnamed() { - let tmpfile = Builder::new() - .prefix("prefix") - .suffix("suffix") - .rand_bytes(12) - .tempdir() - .unwrap(); - let name = tmpfile.path().file_name().unwrap().to_str().unwrap(); - assert!(name.starts_with("prefix")); - assert!(name.ends_with("suffix")); - assert_eq!(name.len(), 24); -} - -fn test_rm_tempdir() { - let (tx, rx) = channel(); - let f = move || -> () { - let tmp = t!(TempDir::new()); - tx.send(tmp.path().to_path_buf()).unwrap(); - panic!("panic to unwind past `tmp`"); - }; - let _ = thread::spawn(f).join(); - let path = rx.recv().unwrap(); - assert!(!path.exists()); - - let tmp = t!(TempDir::new()); - let path = tmp.path().to_path_buf(); - let f = move || -> () { - let _tmp = tmp; - panic!("panic to unwind past `tmp`"); - }; - let _ = thread::spawn(f).join(); - assert!(!path.exists()); - - let path; - { - let f = move || t!(TempDir::new()); - - let tmp = thread::spawn(f).join().unwrap(); - path = tmp.path().to_path_buf(); - assert!(path.exists()); - } - assert!(!path.exists()); - - let path; - { - let tmp = t!(TempDir::new()); - path = tmp.into_path(); - } - assert!(path.exists()); - t!(fs::remove_dir_all(&path)); - assert!(!path.exists()); -} - -fn test_rm_tempdir_close() { - let (tx, rx) = channel(); - let f = move || -> () { - let tmp = t!(TempDir::new()); - tx.send(tmp.path().to_path_buf()).unwrap(); - t!(tmp.close()); - panic!("panic when unwinding past `tmp`"); - }; - let _ = thread::spawn(f).join(); - let path = rx.recv().unwrap(); - assert!(!path.exists()); - - let tmp = t!(TempDir::new()); - let path = tmp.path().to_path_buf(); - let f = move || -> () { - let tmp = tmp; - t!(tmp.close()); - panic!("panic when unwinding past `tmp`"); - }; - let _ = thread::spawn(f).join(); - assert!(!path.exists()); - - let path; - { - let f = move || t!(TempDir::new()); - - let tmp = thread::spawn(f).join().unwrap(); - path = tmp.path().to_path_buf(); - assert!(path.exists()); - t!(tmp.close()); - } - assert!(!path.exists()); - - let path; - { - let tmp = t!(TempDir::new()); - path = tmp.into_path(); - } - assert!(path.exists()); - t!(fs::remove_dir_all(&path)); - assert!(!path.exists()); -} - -// Ideally these would be in std::os but then core would need -// to depend on std -fn recursive_mkdir_rel() { - let path = Path::new("frob"); - let cwd = env::current_dir().unwrap(); - println!( - "recursive_mkdir_rel: Making: {} in cwd {} [{}]", - path.display(), - cwd.display(), - path.exists() - ); - t!(fs::create_dir(&path)); - assert!(path.is_dir()); - t!(fs::create_dir_all(&path)); - assert!(path.is_dir()); -} - -fn recursive_mkdir_dot() { - let dot = Path::new("."); - t!(fs::create_dir_all(&dot)); - let dotdot = Path::new(".."); - t!(fs::create_dir_all(&dotdot)); -} - -fn recursive_mkdir_rel_2() { - let path = Path::new("./frob/baz"); - let cwd = env::current_dir().unwrap(); - println!( - "recursive_mkdir_rel_2: Making: {} in cwd {} [{}]", - path.display(), - cwd.display(), - path.exists() - ); - t!(fs::create_dir_all(&path)); - assert!(path.is_dir()); - assert!(path.parent().unwrap().is_dir()); - let path2 = Path::new("quux/blat"); - println!( - "recursive_mkdir_rel_2: Making: {} in cwd {}", - path2.display(), - cwd.display() - ); - t!(fs::create_dir("quux")); - t!(fs::create_dir_all(&path2)); - assert!(path2.is_dir()); - assert!(path2.parent().unwrap().is_dir()); -} - -// Ideally this would be in core, but needs TempFile -pub fn test_remove_dir_all_ok() { - let tmpdir = t!(TempDir::new()); - let tmpdir = tmpdir.path(); - let root = tmpdir.join("foo"); - - println!("making {}", root.display()); - t!(fs::create_dir(&root)); - t!(fs::create_dir(&root.join("foo"))); - t!(fs::create_dir(&root.join("foo").join("bar"))); - t!(fs::create_dir(&root.join("foo").join("bar").join("blat"))); - t!(fs::remove_dir_all(&root)); - assert!(!root.exists()); - assert!(!root.join("bar").exists()); - assert!(!root.join("bar").join("blat").exists()); -} - -pub fn dont_double_panic() { - let r: Result<(), _> = thread::spawn(move || { - let tmpdir = TempDir::new().unwrap(); - // Remove the temporary directory so that TempDir sees - // an error on drop - t!(fs::remove_dir(tmpdir.path())); - // Panic. If TempDir panics *again* due to the rmdir - // error then the process will abort. - panic!(); - }) - .join(); - assert!(r.is_err()); -} - -fn in_tmpdir(f: F) -where - F: FnOnce(), -{ - let tmpdir = t!(TempDir::new()); - assert!(env::set_current_dir(tmpdir.path()).is_ok()); - - f(); -} - -pub fn pass_as_asref_path() { - let tempdir = t!(TempDir::new()); - takes_asref_path(&tempdir); - - fn takes_asref_path>(path: T) { - let path = path.as_ref(); - assert!(path.exists()); - } -} - -#[test] -fn main() { - in_tmpdir(test_tempdir); - in_tmpdir(test_rm_tempdir); - in_tmpdir(test_rm_tempdir_close); - in_tmpdir(recursive_mkdir_rel); - in_tmpdir(recursive_mkdir_dot); - in_tmpdir(recursive_mkdir_rel_2); - in_tmpdir(test_remove_dir_all_ok); - in_tmpdir(dont_double_panic); - in_tmpdir(pass_as_asref_path); -} diff --git a/vendor/registry-40351f815f426200/tempfile/tests/tempfile.rs b/vendor/registry-40351f815f426200/tempfile/tests/tempfile.rs deleted file mode 100644 index 4a19b29c6..000000000 --- a/vendor/registry-40351f815f426200/tempfile/tests/tempfile.rs +++ /dev/null @@ -1,62 +0,0 @@ -extern crate tempfile; -use std::fs; -use std::io::{Read, Seek, SeekFrom, Write}; -use std::sync::mpsc::{sync_channel, TryRecvError}; -use std::thread; - -#[test] -fn test_basic() { - let mut tmpfile = tempfile::tempfile().unwrap(); - write!(tmpfile, "abcde").unwrap(); - tmpfile.seek(SeekFrom::Start(0)).unwrap(); - let mut buf = String::new(); - tmpfile.read_to_string(&mut buf).unwrap(); - assert_eq!("abcde", buf); -} - -#[test] -fn test_cleanup() { - let tmpdir = tempfile::tempdir().unwrap(); - { - let mut tmpfile = tempfile::tempfile_in(&tmpdir).unwrap(); - write!(tmpfile, "abcde").unwrap(); - } - let num_files = fs::read_dir(&tmpdir).unwrap().count(); - assert!(num_files == 0); -} - -#[test] -fn test_pathological_cleaner() { - let tmpdir = tempfile::tempdir().unwrap(); - let (tx, rx) = sync_channel(0); - let cleaner_thread = thread::spawn(move || { - let tmp_path = rx.recv().unwrap(); - while rx.try_recv() == Err(TryRecvError::Empty) { - let files = fs::read_dir(&tmp_path).unwrap(); - for f in files { - // skip errors - if f.is_err() { - continue; - } - let f = f.unwrap(); - let _ = fs::remove_file(f.path()); - } - } - }); - - // block until cleaner_thread makes progress - tx.send(tmpdir.path().to_owned()).unwrap(); - // need 40-400 iterations to encounter race with cleaner on original system - for _ in 0..10000 { - let mut tmpfile = tempfile::tempfile_in(&tmpdir).unwrap(); - write!(tmpfile, "abcde").unwrap(); - tmpfile.seek(SeekFrom::Start(0)).unwrap(); - let mut buf = String::new(); - tmpfile.read_to_string(&mut buf).unwrap(); - assert_eq!("abcde", buf); - } - - // close the channel to make cleaner_thread exit - drop(tx); - cleaner_thread.join().expect("The cleaner thread failed"); -} diff --git a/vendor/registry-40351f815f426200/termion/.cargo-checksum.json b/vendor/registry-40351f815f426200/termion/.cargo-checksum.json deleted file mode 100644 index 3046fd7dc..000000000 --- a/vendor/registry-40351f815f426200/termion/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"d1a4b9ba6b396bb52a5040f430ee23a9c89b7abef8293c2698ec8fc30e5ad2ac","LICENSE":"6252f0c8d4a0df9b2dc0c6464cb2489dbe8859b0eb727e19c14e6af1ee432394","README.md":"24c722e29a22f6e4d1231f2ee48eaf93c58fb893c021a6dcb87c9a91edf58936","examples/alternate_screen.rs":"37978473e77331ad613843049b4f355e32a51a7b8ece9ee52efe02997391e4ec","examples/alternate_screen_raw.rs":"bfd68f86de929952aaed7e1e7175694d771be2a0b0943092fec4f58bf7473dc3","examples/async.rs":"2fdf5fe69edd3b407de3c1c8caf23f9e19a7f25b55578c84838e4305a9857c42","examples/click.rs":"bb3a76f4817292a82b00d92281a86a400038a8282b6c9d41a34dbaca84fb0caf","examples/color.rs":"48908188cfd7f9259167e0b7d2159459b9c0847c72eba9262ba006a21edd4ed6","examples/commie.rs":"7bb00a7f669c74ccb3a9e9c8ff39fd01aa984f7c38983e5c1cfe6940f90b0c73","examples/detect_color.rs":"764d6465c6879efc38aca8d980a433bac058c1f03d578ac764437af289931824","examples/is_tty.rs":"9a76bdfb11ea84e7b25f6efc06c8d3a8d13a03448bd826bd283b935852f409c7","examples/keys.rs":"cd89f31a21062486e7c014843b360cee35dcee07d8022fc0282eddc48e46bdc7","examples/mouse.rs":"eeccab8043cec987e40e175f03b63c9c6cdc7bcd5808f51a57d0e970cae1c04e","examples/rainbow.rs":"c015176eba7c7a81c6d302d6fc41abea8817935ee804af59d64e3098b127c333","examples/read.rs":"b95fb9b02d2cbf978096825b18ffa25772467df3417c3f3cf5edfe811181a67a","examples/rustc_fun.rs":"f39bd8dbe224cb592d58a0084d15d1eb80d86eade72423fe51acc455e0e1ea68","examples/simple.rs":"eac1aab0d251f884a7d7d7d0d017b6ac4854b38ffcfb244d6a80102ed7a981ab","examples/size.rs":"ae89e7b98a29040f1b641d75226f5738770e2e043cee3f49649accaaeaabbeac","examples/truecolor.rs":"67128ef4870e9e742b1090fa129097484633d82fb015009b1760295f7a24e6af","logo.svg":"09b7a6bca3185acddc217d3d3baab23627c5e03a192f815116e71cf00cb31ddc","src/async.rs":"465ec9b7c0fa2c5c731a1bc7ded6daef8dda5a75b9b301137552c7c232b24699","src/clear.rs":"a9cf9a9f92cef2430239dc33d8ecb4e291c46b650f1f71b63248d0a0215768ba","src/color.rs":"6b54aab96474cf21af7e2d9891f2c241255f23314da24cddba22db4e4c584e83","src/cursor.rs":"bdaf4d7d239ecbdf9553f988afb8d6372989e51f643eb89f83ca27cb317a0038","src/event.rs":"dd49cf87278ab48ccba1b930952473c12ab48cf4a32e1d12a998bdc86a813da1","src/input.rs":"708ea3849f83729f52c62b467a70ae4c95fb272ee62519e8a962494f3dc32f4c","src/lib.rs":"68ab5a9aefd7f35d3e68054a3f2da00b2d1863517af620a37a6b6c676d36acf6","src/macros.rs":"54818ebc9a374b1bf85fe16b64728b3f46dc0bba2cba4bec169f4e4be0c3d040","src/raw.rs":"95aa6dbf332cc1d56bb0c9aff860090160d77a3fe74c802419b2a7f69f8f51d6","src/screen.rs":"19a9a2c42abe2afdb75d4850dc6ee54f33808f6da7f59644668e683418cbce4a","src/scroll.rs":"d0ba08663127e09e111fafc9f84c1fe42662b74f9acbca6b5d26d0b335ee4136","src/style.rs":"b2c805d710cf553835a01482f014aff7395f79d5f71f1e5029ae679e002ac010","src/sys/redox/attr.rs":"834d21cc17090fb7989906ce885f4efed252d65086c05e32ecc05792eb69151a","src/sys/redox/mod.rs":"4066ba97f10c8b87a6ebf32257c89d36338366e1230781aeb5fca98bd5f5bae0","src/sys/redox/size.rs":"b892d0053f40c343eeb40ea06a10fb77abd2758eecda6a7cccb0b07c07fff6eb","src/sys/redox/tty.rs":"3a43c1f1a51fd96cac6eefb584b81d56013b44d50b4fa85c9c894ebee75b07d1","src/sys/unix/attr.rs":"7b17e4841eab69533d2561764506211e2967cd4d7464a309e6d2832473b75dd7","src/sys/unix/mod.rs":"8ddebce9f5b2dbbd419519beb7d41f6d6a7eaed40a70cd0d0676ee893549f7a7","src/sys/unix/size.rs":"d28d925d3ee70422e406c8e2fd79ce1f7f63be135acc1a4bbba2428718136710","src/sys/unix/tty.rs":"eeea0279f76838aa4badd807325403d32ab359334cf59f9574191afcbe86c811"},"package":"dde0593aeb8d47accea5392b39350015b5eccb12c0d98044d856983d89548dea"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/termion/Cargo.toml b/vendor/registry-40351f815f426200/termion/Cargo.toml deleted file mode 100644 index da11aad14..000000000 --- a/vendor/registry-40351f815f426200/termion/Cargo.toml +++ /dev/null @@ -1,32 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g., crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "termion" -version = "1.5.2" -authors = ["ticki ", "gycos ", "IGI-111 "] -exclude = ["target", "CHANGELOG.md", "image.png", "Cargo.lock"] -description = "A bindless library for manipulating terminals." -documentation = "https://docs.rs/termion" -keywords = ["tty", "color", "terminal", "password", "tui"] -license = "MIT" -repository = "https://gitlab.redox-os.org/redox-os/termion" -[dependencies.numtoa] -version = "0.1.0" -features = ["std"] -[target."cfg(not(target_os = \"redox\"))".dependencies.libc] -version = "0.2.8" -[target."cfg(target_os = \"redox\")".dependencies.redox_syscall] -version = "0.1" - -[target."cfg(target_os = \"redox\")".dependencies.redox_termios] -version = "0.1" diff --git a/vendor/registry-40351f815f426200/termion/LICENSE b/vendor/registry-40351f815f426200/termion/LICENSE deleted file mode 100644 index 3903091a1..000000000 --- a/vendor/registry-40351f815f426200/termion/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016 Ticki - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/vendor/registry-40351f815f426200/termion/README.md b/vendor/registry-40351f815f426200/termion/README.md deleted file mode 100644 index 25346d94c..000000000 --- a/vendor/registry-40351f815f426200/termion/README.md +++ /dev/null @@ -1,181 +0,0 @@ -

-Termion logo -

- -[![Build Status](https://travis-ci.org/redox-os/termion.svg?branch=master)](https://travis-ci.org/redox-os/termion) [![Latest Version](https://img.shields.io/crates/v/termion.svg)](https://crates.io/crates/termion) | [Documentation](https://docs.rs/termion) | [Examples](https://github.com/redox-os/termion/tree/master/examples) | [Changelog](https://github.com/redox-os/termion/tree/master/CHANGELOG.md) | [Tutorial](http://ticki.github.io/blog/making-terminal-applications-in-rust-with-termion/) -|----|----|----|----|---- - - -**Termion** is a pure Rust, bindless library for low-level handling, manipulating -and reading information about terminals. This provides a full-featured -alternative to Termbox. - -Termion aims to be simple and yet expressive. It is bindless, meaning that it -is not a front-end to some other library (e.g., ncurses or termbox), but a -standalone library directly talking to the TTY. - -Termion is quite convenient, due to its complete coverage of essential TTY -features, providing one consistent API. Termion is rather low-level containing -only abstraction aligned with what actually happens behind the scenes. For -something more high-level, refer to inquirer-rs, which uses Termion as backend. - -Termion generates escapes and API calls for the user. This makes it a whole lot -cleaner to use escapes. - -Supports Redox, Mac OS X, BSD, and Linux (or, in general, ANSI terminals). - -## A note on stability - -This crate is stable. - -## Cargo.toml - -```toml -[dependencies] -termion = "*" -``` - -## 0.1.0 to 1.0.0 guide - -This sample table gives an idea of how to go about converting to the new major -version of Termion. - -| 0.1.0 | 1.0.0 -|--------------------------------|--------------------------- -| `use termion::IntoRawMode` | `use termion::raw::IntoRawMode` -| `use termion::TermRead` | `use termion::input::TermRead` -| `stdout.color(color::Red);` | `write!(stdout, "{}", color::Fg(color::Red));` -| `stdout.color_bg(color::Red);` | `write!(stdout, "{}", color::Bg(color::Red));` -| `stdout.goto(x, y);` | `write!(stdout, "{}", cursor::Goto(x, y));` -| `color::rgb(r, g, b);` | `color::Rgb(r, g, b)` (truecolor) -| `x.with_mouse()` | `MouseTerminal::from(x)` - -## Features - -- Raw mode. -- TrueColor. -- 256-color mode. -- Cursor movement. -- Text formatting. -- Console size. -- TTY-only stream. -- Control sequences. -- Termios control. -- Password input. -- Redox support. -- Safe `isatty` wrapper. -- Panic-free error handling. -- Special keys events (modifiers, special keys, etc.). -- Allocation-free. -- Asynchronous key events. -- Mouse input. -- Carefully tested. -- Detailed documentation on every item. - -and much more. - -## Examples - -### Style and colors. - -```rust -extern crate termion; - -use termion::{color, style}; - -use std::io; - -fn main() { - println!("{}Red", color::Fg(color::Red)); - println!("{}Blue", color::Fg(color::Blue)); - println!("{}Blue'n'Bold{}", style::Bold, style::Reset); - println!("{}Just plain italic", style::Italic); -} -``` - -### Moving the cursor - -```rust -extern crate termion; - -fn main() { - print!("{}{}Stuff", termion::clear::All, termion::cursor::Goto(1, 1)); -} - -``` - -### Mouse - -```rust -extern crate termion; - -use termion::event::{Key, Event, MouseEvent}; -use termion::input::{TermRead, MouseTerminal}; -use termion::raw::IntoRawMode; -use std::io::{Write, stdout, stdin}; - -fn main() { - let stdin = stdin(); - let mut stdout = MouseTerminal::from(stdout().into_raw_mode().unwrap()); - - write!(stdout, "{}{}q to exit. Click, click, click!", termion::clear::All, termion::cursor::Goto(1, 1)).unwrap(); - stdout.flush().unwrap(); - - for c in stdin.events() { - let evt = c.unwrap(); - match evt { - Event::Key(Key::Char('q')) => break, - Event::Mouse(me) => { - match me { - MouseEvent::Press(_, x, y) => { - write!(stdout, "{}x", termion::cursor::Goto(x, y)).unwrap(); - }, - _ => (), - } - } - _ => {} - } - stdout.flush().unwrap(); - } -} -``` - -### Read a password - -```rust -extern crate termion; - -use termion::input::TermRead; -use std::io::{Write, stdout, stdin}; - -fn main() { - let stdout = stdout(); - let mut stdout = stdout.lock(); - let stdin = stdin(); - let mut stdin = stdin.lock(); - - stdout.write_all(b"password: ").unwrap(); - stdout.flush().unwrap(); - - let pass = stdin.read_passwd(&mut stdout); - - if let Ok(Some(pass)) = pass { - stdout.write_all(pass.as_bytes()).unwrap(); - stdout.write_all(b"\n").unwrap(); - } else { - stdout.write_all(b"Error\n").unwrap(); - } -} -``` - -## Usage - -See `examples/`, and the documentation, which can be rendered using `cargo doc`. - -For a more complete example, see [a minesweeper implementation](https://github.com/redox-os/games-for-redox/blob/master/src/minesweeper/main.rs), that I made for Redox using termion. - - - -## License - -MIT/X11. diff --git a/vendor/registry-40351f815f426200/termion/examples/alternate_screen.rs b/vendor/registry-40351f815f426200/termion/examples/alternate_screen.rs deleted file mode 100644 index 91d28b170..000000000 --- a/vendor/registry-40351f815f426200/termion/examples/alternate_screen.rs +++ /dev/null @@ -1,17 +0,0 @@ -extern crate termion; - -use termion::screen::*; -use std::io::{Write, stdout}; -use std::{time, thread}; - -fn main() { - { - let mut screen = AlternateScreen::from(stdout()); - write!(screen, "Welcome to the alternate screen.\n\nPlease wait patiently until we arrive back at the main screen in a about three seconds.").unwrap(); - screen.flush().unwrap(); - - thread::sleep(time::Duration::from_secs(3)); - } - - println!("Phew! We are back."); -} diff --git a/vendor/registry-40351f815f426200/termion/examples/alternate_screen_raw.rs b/vendor/registry-40351f815f426200/termion/examples/alternate_screen_raw.rs deleted file mode 100644 index 7ba788880..000000000 --- a/vendor/registry-40351f815f426200/termion/examples/alternate_screen_raw.rs +++ /dev/null @@ -1,40 +0,0 @@ -extern crate termion; - -use termion::event::Key; -use termion::input::TermRead; -use termion::raw::IntoRawMode; -use termion::screen::*; -use std::io::{Write, stdout, stdin}; - -fn write_alt_screen_msg(screen: &mut W) { - write!(screen, "{}{}Welcome to the alternate screen.{}Press '1' to switch to the main screen or '2' to switch to the alternate screen.{}Press 'q' to exit (and switch back to the main screen).", - termion::clear::All, - termion::cursor::Goto(1, 1), - termion::cursor::Goto(1, 3), - termion::cursor::Goto(1, 4)).unwrap(); -} - -fn main() { - let stdin = stdin(); - let mut screen = AlternateScreen::from(stdout().into_raw_mode().unwrap()); - write!(screen, "{}", termion::cursor::Hide).unwrap(); - write_alt_screen_msg(&mut screen); - - screen.flush().unwrap(); - - for c in stdin.keys() { - match c.unwrap() { - Key::Char('q') => break, - Key::Char('1') => { - write!(screen, "{}", ToMainScreen).unwrap(); - } - Key::Char('2') => { - write!(screen, "{}", ToAlternateScreen).unwrap(); - write_alt_screen_msg(&mut screen); - } - _ => {} - } - screen.flush().unwrap(); - } - write!(screen, "{}", termion::cursor::Show).unwrap(); -} diff --git a/vendor/registry-40351f815f426200/termion/examples/async.rs b/vendor/registry-40351f815f426200/termion/examples/async.rs deleted file mode 100644 index b16bb7861..000000000 --- a/vendor/registry-40351f815f426200/termion/examples/async.rs +++ /dev/null @@ -1,39 +0,0 @@ -extern crate termion; - -use termion::raw::IntoRawMode; -use termion::async_stdin; -use std::io::{Read, Write, stdout}; -use std::thread; -use std::time::Duration; - -fn main() { - let stdout = stdout(); - let mut stdout = stdout.lock().into_raw_mode().unwrap(); - let mut stdin = async_stdin().bytes(); - - write!(stdout, - "{}{}", - termion::clear::All, - termion::cursor::Goto(1, 1)) - .unwrap(); - - loop { - write!(stdout, "{}", termion::clear::CurrentLine).unwrap(); - - let b = stdin.next(); - write!(stdout, "\r{:?} <- This demonstrates the async read input char. Between each update a 100 ms. is waited, simply to demonstrate the async fashion. \n\r", b).unwrap(); - if let Some(Ok(b'q')) = b { - break; - } - - stdout.flush().unwrap(); - - thread::sleep(Duration::from_millis(50)); - stdout.write_all(b"# ").unwrap(); - stdout.flush().unwrap(); - thread::sleep(Duration::from_millis(50)); - stdout.write_all(b"\r #").unwrap(); - write!(stdout, "{}", termion::cursor::Goto(1, 1)).unwrap(); - stdout.flush().unwrap(); - } -} diff --git a/vendor/registry-40351f815f426200/termion/examples/click.rs b/vendor/registry-40351f815f426200/termion/examples/click.rs deleted file mode 100644 index fe903d837..000000000 --- a/vendor/registry-40351f815f426200/termion/examples/click.rs +++ /dev/null @@ -1,35 +0,0 @@ -extern crate termion; - -use termion::event::{Key, Event, MouseEvent}; -use termion::input::{TermRead, MouseTerminal}; -use termion::raw::IntoRawMode; -use std::io::{Write, stdout, stdin}; - -fn main() { - let stdin = stdin(); - let mut stdout = MouseTerminal::from(stdout().into_raw_mode().unwrap()); - - write!(stdout, - "{}{}q to exit. Click, click, click!", - termion::clear::All, - termion::cursor::Goto(1, 1)) - .unwrap(); - stdout.flush().unwrap(); - - for c in stdin.events() { - let evt = c.unwrap(); - match evt { - Event::Key(Key::Char('q')) => break, - Event::Mouse(me) => { - match me { - MouseEvent::Press(_, x, y) => { - write!(stdout, "{}x", termion::cursor::Goto(x, y)).unwrap(); - } - _ => (), - } - } - _ => {} - } - stdout.flush().unwrap(); - } -} diff --git a/vendor/registry-40351f815f426200/termion/examples/color.rs b/vendor/registry-40351f815f426200/termion/examples/color.rs deleted file mode 100644 index 72c521d70..000000000 --- a/vendor/registry-40351f815f426200/termion/examples/color.rs +++ /dev/null @@ -1,10 +0,0 @@ -extern crate termion; - -use termion::{color, style}; - -fn main() { - println!("{}Red", color::Fg(color::Red)); - println!("{}Blue", color::Fg(color::Blue)); - println!("{}Blue'n'Bold{}", style::Bold, style::Reset); - println!("{}Just plain italic{}", style::Italic, style::Reset); -} diff --git a/vendor/registry-40351f815f426200/termion/examples/commie.rs b/vendor/registry-40351f815f426200/termion/examples/commie.rs deleted file mode 100644 index 32f8820e5..000000000 --- a/vendor/registry-40351f815f426200/termion/examples/commie.rs +++ /dev/null @@ -1,51 +0,0 @@ -extern crate termion; - -use termion::{clear, color, cursor}; - -use std::{time, thread}; - -const COMMUNISM: &'static str = r#" - !######### # - !########! ##! - !########! ### - !########## #### - ######### ##### ###### - !###! !####! ###### - ! ##### ######! - !####! ####### - ##### ####### - !####! #######! - ####!######## - ## ########## - ,######! !############# - ,#### ########################!####! - ,####' ##################!' ##### - ,####' ####### !####! - ####' ##### - ~## ##~ -"#; - -fn main() { - let mut state = 0; - - println!("\n{}{}{}{}{}{}", - cursor::Hide, - clear::All, - cursor::Goto(1, 1), - color::Fg(color::Black), - color::Bg(color::Red), - COMMUNISM); - loop { - println!("{}{} ☭ GAY ☭ SPACE ☭ COMMUNISM ☭ ", - cursor::Goto(1, 1), - color::Bg(color::AnsiValue(state))); - println!("{}{} WILL PREVAIL, COMRADES! ", - cursor::Goto(1, 20), - color::Bg(color::AnsiValue(state))); - - state += 1; - state %= 8; - - thread::sleep(time::Duration::from_millis(90)); - } -} diff --git a/vendor/registry-40351f815f426200/termion/examples/detect_color.rs b/vendor/registry-40351f815f426200/termion/examples/detect_color.rs deleted file mode 100644 index ecfdd5b45..000000000 --- a/vendor/registry-40351f815f426200/termion/examples/detect_color.rs +++ /dev/null @@ -1,19 +0,0 @@ -extern crate termion; - -use termion::color::{DetectColors, AnsiValue, Bg}; -use termion::raw::IntoRawMode; -use std::io::stdout; - -fn main() { - let count; - { - let mut term = stdout().into_raw_mode().unwrap(); - count = term.available_colors().unwrap(); - } - - println!("This terminal supports {} colors.", count); - for i in 0..count { - print!("{} {}", Bg(AnsiValue(i as u8)), Bg(AnsiValue(0))); - } - println!(); -} diff --git a/vendor/registry-40351f815f426200/termion/examples/is_tty.rs b/vendor/registry-40351f815f426200/termion/examples/is_tty.rs deleted file mode 100644 index 52d1bc1d2..000000000 --- a/vendor/registry-40351f815f426200/termion/examples/is_tty.rs +++ /dev/null @@ -1,11 +0,0 @@ -extern crate termion; - -use std::fs; - -fn main() { - if termion::is_tty(&fs::File::create("/dev/stdout").unwrap()) { - println!("This is a TTY!"); - } else { - println!("This is not a TTY :("); - } -} diff --git a/vendor/registry-40351f815f426200/termion/examples/keys.rs b/vendor/registry-40351f815f426200/termion/examples/keys.rs deleted file mode 100644 index 272ffd1b9..000000000 --- a/vendor/registry-40351f815f426200/termion/examples/keys.rs +++ /dev/null @@ -1,44 +0,0 @@ -extern crate termion; - -use termion::event::Key; -use termion::input::TermRead; -use termion::raw::IntoRawMode; -use std::io::{Write, stdout, stdin}; - -fn main() { - let stdin = stdin(); - let mut stdout = stdout().into_raw_mode().unwrap(); - - write!(stdout, - "{}{}q to exit. Type stuff, use alt, and so on.{}", - termion::clear::All, - termion::cursor::Goto(1, 1), - termion::cursor::Hide) - .unwrap(); - stdout.flush().unwrap(); - - for c in stdin.keys() { - write!(stdout, - "{}{}", - termion::cursor::Goto(1, 1), - termion::clear::CurrentLine) - .unwrap(); - - match c.unwrap() { - Key::Char('q') => break, - Key::Char(c) => println!("{}", c), - Key::Alt(c) => println!("^{}", c), - Key::Ctrl(c) => println!("*{}", c), - Key::Esc => println!("ESC"), - Key::Left => println!("←"), - Key::Right => println!("→"), - Key::Up => println!("↑"), - Key::Down => println!("↓"), - Key::Backspace => println!("×"), - _ => {} - } - stdout.flush().unwrap(); - } - - write!(stdout, "{}", termion::cursor::Show).unwrap(); -} diff --git a/vendor/registry-40351f815f426200/termion/examples/mouse.rs b/vendor/registry-40351f815f426200/termion/examples/mouse.rs deleted file mode 100644 index cbe8baf46..000000000 --- a/vendor/registry-40351f815f426200/termion/examples/mouse.rs +++ /dev/null @@ -1,46 +0,0 @@ -extern crate termion; - -use termion::event::*; -use termion::cursor::{self, DetectCursorPos}; -use termion::input::{TermRead, MouseTerminal}; -use termion::raw::IntoRawMode; -use std::io::{self, Write}; - -fn main() { - let stdin = io::stdin(); - let mut stdout = MouseTerminal::from(io::stdout().into_raw_mode().unwrap()); - - writeln!(stdout, - "{}{}q to exit. Type stuff, use alt, click around...", - termion::clear::All, - termion::cursor::Goto(1, 1)) - .unwrap(); - - for c in stdin.events() { - let evt = c.unwrap(); - match evt { - Event::Key(Key::Char('q')) => break, - Event::Mouse(me) => { - match me { - MouseEvent::Press(_, a, b) | - MouseEvent::Release(a, b) | - MouseEvent::Hold(a, b) => { - write!(stdout, "{}", cursor::Goto(a, b)).unwrap(); - let (x, y) = stdout.cursor_pos().unwrap(); - write!(stdout, - "{}{}Cursor is at: ({},{}){}", - cursor::Goto(5, 5), - termion::clear::UntilNewline, - x, - y, - cursor::Goto(a, b)) - .unwrap(); - } - } - } - _ => {} - } - - stdout.flush().unwrap(); - } -} diff --git a/vendor/registry-40351f815f426200/termion/examples/rainbow.rs b/vendor/registry-40351f815f426200/termion/examples/rainbow.rs deleted file mode 100644 index 4ee4000d0..000000000 --- a/vendor/registry-40351f815f426200/termion/examples/rainbow.rs +++ /dev/null @@ -1,60 +0,0 @@ -extern crate termion; - -use termion::event::Key; -use termion::input::TermRead; -use termion::raw::IntoRawMode; -use std::io::{Write, stdout, stdin}; - -fn rainbow(stdout: &mut W, blue: u8) { - write!(stdout, - "{}{}", - termion::cursor::Goto(1, 1), - termion::clear::All) - .unwrap(); - - for red in 0..32 { - let red = red * 8; - for green in 0..64 { - let green = green * 4; - write!(stdout, - "{} ", - termion::color::Bg(termion::color::Rgb(red, green, blue))) - .unwrap(); - } - write!(stdout, "\n\r").unwrap(); - } - - writeln!(stdout, "{}b = {}", termion::style::Reset, blue).unwrap(); -} - -fn main() { - let stdin = stdin(); - let mut stdout = stdout().into_raw_mode().unwrap(); - - writeln!(stdout, - "{}{}{}Use the up/down arrow keys to change the blue in the rainbow.", - termion::clear::All, - termion::cursor::Goto(1, 1), - termion::cursor::Hide) - .unwrap(); - - let mut blue = 172u8; - - for c in stdin.keys() { - match c.unwrap() { - Key::Up => { - blue = blue.saturating_add(4); - rainbow(&mut stdout, blue); - } - Key::Down => { - blue = blue.saturating_sub(4); - rainbow(&mut stdout, blue); - } - Key::Char('q') => break, - _ => {} - } - stdout.flush().unwrap(); - } - - write!(stdout, "{}", termion::cursor::Show).unwrap(); -} diff --git a/vendor/registry-40351f815f426200/termion/examples/read.rs b/vendor/registry-40351f815f426200/termion/examples/read.rs deleted file mode 100644 index 8d53e1bf7..000000000 --- a/vendor/registry-40351f815f426200/termion/examples/read.rs +++ /dev/null @@ -1,23 +0,0 @@ -extern crate termion; - -use termion::input::TermRead; -use std::io::{Write, stdout, stdin}; - -fn main() { - let stdout = stdout(); - let mut stdout = stdout.lock(); - let stdin = stdin(); - let mut stdin = stdin.lock(); - - stdout.write_all(b"password: ").unwrap(); - stdout.flush().unwrap(); - - let pass = stdin.read_passwd(&mut stdout); - - if let Ok(Some(pass)) = pass { - stdout.write_all(pass.as_bytes()).unwrap(); - stdout.write_all(b"\n").unwrap(); - } else { - stdout.write_all(b"Error\n").unwrap(); - } -} diff --git a/vendor/registry-40351f815f426200/termion/examples/rustc_fun.rs b/vendor/registry-40351f815f426200/termion/examples/rustc_fun.rs deleted file mode 100644 index 734e89f42..000000000 --- a/vendor/registry-40351f815f426200/termion/examples/rustc_fun.rs +++ /dev/null @@ -1,24 +0,0 @@ -extern crate termion; - -use termion::{color, style}; - -fn main() { - println!("{lighgreen}-- src/test/ui/borrow-errors.rs at 82:18 --\n\ - {red}error: {reset}{bold}two closures require unique access to `vec` at the same time {reset}{bold}{magenta}[E0524]{reset}\n\ - {line_num_fg}{line_num_bg}79 {reset} let append = |e| {{\n\ - {line_num_fg}{line_num_bg}{info_line}{reset} {red}^^^{reset} {error_fg}first closure is constructed here\n\ - {line_num_fg}{line_num_bg}80 {reset} vec.push(e)\n\ - {line_num_fg}{line_num_bg}{info_line}{reset} {red}^^^{reset} {error_fg}previous borrow occurs due to use of `vec` in closure\n\ - {line_num_fg}{line_num_bg}84 {reset} }};\n\ - {line_num_fg}{line_num_bg}85 {reset} }}\n\ - {line_num_fg}{line_num_bg}{info_line}{reset} {red}^{reset} {error_fg}borrow from first closure ends here", - lighgreen = color::Fg(color::LightGreen), - red = color::Fg(color::Red), - bold = style::Bold, - reset = style::Reset, - magenta = color::Fg(color::Magenta), - line_num_bg = color::Bg(color::AnsiValue::grayscale(3)), - line_num_fg = color::Fg(color::AnsiValue::grayscale(18)), - info_line = "| ", - error_fg = color::Fg(color::AnsiValue::grayscale(17))) -} diff --git a/vendor/registry-40351f815f426200/termion/examples/simple.rs b/vendor/registry-40351f815f426200/termion/examples/simple.rs deleted file mode 100644 index 93ef1df3a..000000000 --- a/vendor/registry-40351f815f426200/termion/examples/simple.rs +++ /dev/null @@ -1,42 +0,0 @@ -extern crate termion; - -use termion::color; -use termion::raw::IntoRawMode; -use std::io::{Read, Write, stdout, stdin}; - -fn main() { - // Initialize 'em all. - let stdout = stdout(); - let mut stdout = stdout.lock().into_raw_mode().unwrap(); - let stdin = stdin(); - let stdin = stdin.lock(); - - write!(stdout, - "{}{}{}yo, 'q' will exit.{}{}", - termion::clear::All, - termion::cursor::Goto(5, 5), - termion::style::Bold, - termion::style::Reset, - termion::cursor::Goto(20, 10)) - .unwrap(); - stdout.flush().unwrap(); - - let mut bytes = stdin.bytes(); - loop { - let b = bytes.next().unwrap().unwrap(); - - match b { - // Quit - b'q' => return, - // Clear the screen - b'c' => write!(stdout, "{}", termion::clear::All), - // Set red color - b'r' => write!(stdout, "{}", color::Fg(color::Rgb(5, 0, 0))), - // Write it to stdout. - a => write!(stdout, "{}", a), - } - .unwrap(); - - stdout.flush().unwrap(); - } -} diff --git a/vendor/registry-40351f815f426200/termion/examples/size.rs b/vendor/registry-40351f815f426200/termion/examples/size.rs deleted file mode 100644 index e91fa5430..000000000 --- a/vendor/registry-40351f815f426200/termion/examples/size.rs +++ /dev/null @@ -1,7 +0,0 @@ -extern crate termion; - -use termion::terminal_size; - -fn main() { - println!("Size is {:?}", terminal_size().unwrap()) -} diff --git a/vendor/registry-40351f815f426200/termion/examples/truecolor.rs b/vendor/registry-40351f815f426200/termion/examples/truecolor.rs deleted file mode 100644 index ba5c8685b..000000000 --- a/vendor/registry-40351f815f426200/termion/examples/truecolor.rs +++ /dev/null @@ -1,12 +0,0 @@ -extern crate termion; - -use termion::{color, cursor, clear}; -use std::{thread, time}; - -fn main() { - for r in 0..255 { - let c = color::Rgb(r, !r, 2 * ((r % 128) as i8 - 64).abs() as u8); - println!("{}{}{}wow", cursor::Goto(1, 1), color::Bg(c), clear::All); - thread::sleep(time::Duration::from_millis(100)); - } -} diff --git a/vendor/registry-40351f815f426200/termion/logo.svg b/vendor/registry-40351f815f426200/termion/logo.svg deleted file mode 100644 index 39bc574b6..000000000 --- a/vendor/registry-40351f815f426200/termion/logo.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/vendor/registry-40351f815f426200/termion/src/async.rs b/vendor/registry-40351f815f426200/termion/src/async.rs deleted file mode 100644 index ea0248916..000000000 --- a/vendor/registry-40351f815f426200/termion/src/async.rs +++ /dev/null @@ -1,101 +0,0 @@ -use std::io::{self, Read}; -use std::sync::mpsc; -use std::thread; - -use sys::tty::get_tty; - -/// Construct an asynchronous handle to the TTY standard input, with a delimiter byte. -/// -/// This has the same advantages as async_stdin(), but also allows specifying a delimiter byte. The -/// reader will stop reading after consuming the delimiter byte. -pub fn async_stdin_until(delimiter: u8) -> AsyncReader { - let (send, recv) = mpsc::channel(); - - thread::spawn(move || for i in get_tty().unwrap().bytes() { - - match i { - Ok(byte) => { - let end_of_stream = &byte == &delimiter; - let send_error = send.send(Ok(byte)).is_err(); - - if end_of_stream || send_error { return; } - }, - Err(_) => { return; } - } - }); - - AsyncReader { recv: recv } -} - -/// Construct an asynchronous handle to the TTY standard input. -/// -/// This allows you to read from standard input _without blocking_ the current thread. -/// Specifically, it works by firing up another thread to handle the event stream, which will then -/// be buffered in a mpsc queue, which will eventually be read by the current thread. -/// -/// This will not read the piped standard input, but rather read from the TTY device, since reading -/// asyncronized from piped input would rarely make sense. In other words, if you pipe standard -/// output from another process, it won't be reflected in the stream returned by this function, as -/// this represents the TTY device, and not the piped standard input. -pub fn async_stdin() -> AsyncReader { - let (send, recv) = mpsc::channel(); - - thread::spawn(move || for i in get_tty().unwrap().bytes() { - if send.send(i).is_err() { - return; - } - }); - - AsyncReader { recv: recv } -} - -/// An asynchronous reader. -/// -/// This acts as any other stream, with the exception that reading from it won't block. Instead, -/// the buffer will only be partially updated based on how much the internal buffer holds. -pub struct AsyncReader { - /// The underlying mpsc receiver. - recv: mpsc::Receiver>, -} - -// FIXME: Allow constructing an async reader from an arbitrary stream. - -impl Read for AsyncReader { - /// Read from the byte stream. - /// - /// This will never block, but try to drain the event queue until empty. If the total number of - /// bytes written is lower than the buffer's length, the event queue is empty or that the event - /// stream halted. - fn read(&mut self, buf: &mut [u8]) -> io::Result { - let mut total = 0; - - loop { - if total >= buf.len() { - break; - } - - match self.recv.try_recv() { - Ok(Ok(b)) => { - buf[total] = b; - total += 1; - } - Ok(Err(e)) => return Err(e), - Err(_) => break, - } - } - - Ok(total) - } -} - -#[cfg(test)] -mod test { - use super::*; - use std::io::Read; - - #[test] - fn test_async_stdin() { - let stdin = async_stdin(); - stdin.bytes().next(); - } -} diff --git a/vendor/registry-40351f815f426200/termion/src/clear.rs b/vendor/registry-40351f815f426200/termion/src/clear.rs deleted file mode 100644 index d37f2c6b9..000000000 --- a/vendor/registry-40351f815f426200/termion/src/clear.rs +++ /dev/null @@ -1,9 +0,0 @@ -//! Clearing the screen. - -use std::fmt; - -derive_csi_sequence!("Clear the entire screen.", All, "2J"); -derive_csi_sequence!("Clear everything after the cursor.", AfterCursor, "J"); -derive_csi_sequence!("Clear everything before the cursor.", BeforeCursor, "1J"); -derive_csi_sequence!("Clear the current line.", CurrentLine, "2K"); -derive_csi_sequence!("Clear from cursor to newline.", UntilNewline, "K"); diff --git a/vendor/registry-40351f815f426200/termion/src/color.rs b/vendor/registry-40351f815f426200/termion/src/color.rs deleted file mode 100644 index 6c543b695..000000000 --- a/vendor/registry-40351f815f426200/termion/src/color.rs +++ /dev/null @@ -1,306 +0,0 @@ -//! Color managemement. -//! -//! # Example -//! -//! ```rust -//! use termion::color; -//! -//! fn main() { -//! println!("{}Red", color::Fg(color::Red)); -//! println!("{}Blue", color::Fg(color::Blue)); -//! println!("{}Back again", color::Fg(color::Reset)); -//! } -//! ``` - -use std::fmt; -use raw::CONTROL_SEQUENCE_TIMEOUT; -use std::io::{self, Write, Read}; -use std::time::{SystemTime, Duration}; -use async::async_stdin; -use std::env; -use std::fmt::Debug; -use numtoa::NumToA; - -/// A terminal color. -pub trait Color: Debug { - /// Write the foreground version of this color. - fn write_fg(&self, f: &mut fmt::Formatter) -> fmt::Result; - /// Write the background version of this color. - fn write_bg(&self, f: &mut fmt::Formatter) -> fmt::Result; -} - -macro_rules! derive_color { - ($doc:expr, $name:ident, $value:expr) => { - #[doc = $doc] - #[derive(Copy, Clone, Debug)] - pub struct $name; - - impl Color for $name { - #[inline] - fn write_fg(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str(self.fg_str()) - } - - #[inline] - fn write_bg(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str(self.bg_str()) - } - } - - impl $name { - #[inline] - /// Returns the ANSI escape sequence as a string. - pub fn fg_str(&self) -> &'static str { csi!("38;5;", $value, "m") } - - #[inline] - /// Returns the ANSI escape sequences as a string. - pub fn bg_str(&self) -> &'static str { csi!("48;5;", $value, "m") } - } - }; -} - -derive_color!("Black.", Black, "0"); -derive_color!("Red.", Red, "1"); -derive_color!("Green.", Green, "2"); -derive_color!("Yellow.", Yellow, "3"); -derive_color!("Blue.", Blue, "4"); -derive_color!("Magenta.", Magenta, "5"); -derive_color!("Cyan.", Cyan, "6"); -derive_color!("White.", White, "7"); -derive_color!("High-intensity light black.", LightBlack, "8"); -derive_color!("High-intensity light red.", LightRed, "9"); -derive_color!("High-intensity light green.", LightGreen, "10"); -derive_color!("High-intensity light yellow.", LightYellow, "11"); -derive_color!("High-intensity light blue.", LightBlue, "12"); -derive_color!("High-intensity light magenta.", LightMagenta, "13"); -derive_color!("High-intensity light cyan.", LightCyan, "14"); -derive_color!("High-intensity light white.", LightWhite, "15"); - -impl<'a> Color for &'a Color { - #[inline] - fn write_fg(&self, f: &mut fmt::Formatter) -> fmt::Result { - (*self).write_fg(f) - } - - #[inline] - fn write_bg(&self, f: &mut fmt::Formatter) -> fmt::Result { - (*self).write_bg(f) - } -} - -/// An arbitrary ANSI color value. -#[derive(Clone, Copy, Debug)] -pub struct AnsiValue(pub u8); - -impl AnsiValue { - /// 216-color (r, g, b ≤ 5) RGB. - pub fn rgb(r: u8, g: u8, b: u8) -> AnsiValue { - debug_assert!(r <= 5, - "Red color fragment (r = {}) is out of bound. Make sure r ≤ 5.", - r); - debug_assert!(g <= 5, - "Green color fragment (g = {}) is out of bound. Make sure g ≤ 5.", - g); - debug_assert!(b <= 5, - "Blue color fragment (b = {}) is out of bound. Make sure b ≤ 5.", - b); - - AnsiValue(16 + 36 * r + 6 * g + b) - } - - /// Grayscale color. - /// - /// There are 24 shades of gray. - pub fn grayscale(shade: u8) -> AnsiValue { - // Unfortunately, there are a little less than fifty shades. - debug_assert!(shade < 24, - "Grayscale out of bound (shade = {}). There are only 24 shades of \ - gray.", - shade); - - AnsiValue(0xE8 + shade) - } -} - -impl AnsiValue { - /// Returns the ANSI sequence as a string. - pub fn fg_string(self) -> String { - let mut x = [0u8; 20]; - let x = self.0.numtoa_str(10, &mut x); - [csi!("38;5;"), x, "m"].concat() - } - - /// Returns the ANSI sequence as a string. - pub fn bg_string(self) -> String { - let mut x = [0u8; 20]; - let x = self.0.numtoa_str(10, &mut x); - [csi!("48;5;"), x, "m"].concat() - } -} - -impl Color for AnsiValue { - #[inline] - fn write_fg(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str(&self.fg_string()) - } - - #[inline] - fn write_bg(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str(&self.bg_string()) - } -} - -/// A truecolor RGB. -#[derive(Debug, Clone, Copy, PartialEq)] -pub struct Rgb(pub u8, pub u8, pub u8); - -impl Rgb { - /// Returns the ANSI sequence as a string. - pub fn fg_string(self) -> String { - let (mut x, mut y, mut z) = ([0u8; 20], [0u8; 20], [0u8; 20]); - let (x, y, z) = ( - self.0.numtoa_str(10, &mut x), - self.1.numtoa_str(10, &mut y), - self.2.numtoa_str(10, &mut z), - ); - - [csi!("38;2;"), x, ";", y, ";", z, "m"].concat() - } - - /// Returns the ANSI sequence as a string. - pub fn bg_string(self) -> String { - let (mut x, mut y, mut z) = ([0u8; 20], [0u8; 20], [0u8; 20]); - let (x, y, z) = ( - self.0.numtoa_str(10, &mut x), - self.1.numtoa_str(10, &mut y), - self.2.numtoa_str(10, &mut z), - ); - - [csi!("48;2;"), x, ";", y, ";", z, "m"].concat() - } -} - -impl Color for Rgb { - #[inline] - fn write_fg(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str(&self.fg_string()) - } - - #[inline] - fn write_bg(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str(&self.bg_string()) - } -} - -/// Reset colors to defaults. -#[derive(Debug, Clone, Copy)] -pub struct Reset; - -const RESET_FG: &str = csi!("39m"); -const RESET_BG: &str = csi!("49m"); - -impl Reset { - /// Returns the ANSI sequence as a string. - pub fn fg_str(self) -> &'static str { RESET_FG } - /// Returns the ANSI sequence as a string. - pub fn bg_str(self) -> &'static str { RESET_BG } -} - -impl Color for Reset { - #[inline] - fn write_fg(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str(RESET_FG) - } - - #[inline] - fn write_bg(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str(RESET_BG) - } -} - -/// A foreground color. -#[derive(Debug, Clone, Copy)] -pub struct Fg(pub C); - -impl fmt::Display for Fg { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - self.0.write_fg(f) - } -} - -/// A background color. -#[derive(Debug, Clone, Copy)] -pub struct Bg(pub C); - -impl fmt::Display for Bg { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - self.0.write_bg(f) - } -} - -/// Types that allow detection of the colors they support. -pub trait DetectColors { - /// How many ANSI colors are supported (from 8 to 256)? - /// - /// Beware: the information given isn't authoritative, it's infered through escape codes or the - /// value of `TERM`, more colors may be available. - fn available_colors(&mut self) -> io::Result; -} - -impl DetectColors for W { - fn available_colors(&mut self) -> io::Result { - let mut stdin = async_stdin(); - - if detect_color(self, &mut stdin, 0)? { - // OSC 4 is supported, detect how many colors there are. - // Do a binary search of the last supported color. - let mut min = 8; - let mut max = 256; - let mut i; - while min + 1 < max { - i = (min + max) / 2; - if detect_color(self, &mut stdin, i)? { - min = i - } else { - max = i - } - } - Ok(max) - } else { - // OSC 4 is not supported, trust TERM contents. - Ok(match env::var_os("TERM") { - Some(val) => { - if val.to_str().unwrap_or("").contains("256color") { - 256 - } else { - 8 - } - } - None => 8, - }) - } - } -} - -/// Detect a color using OSC 4. -fn detect_color(stdout: &mut Write, stdin: &mut Read, color: u16) -> io::Result { - // Is the color available? - // Use `ESC ] 4 ; color ; ? BEL`. - write!(stdout, "\x1B]4;{};?\x07", color)?; - stdout.flush()?; - - let mut buf: [u8; 1] = [0]; - let mut total_read = 0; - - let timeout = Duration::from_millis(CONTROL_SEQUENCE_TIMEOUT); - let now = SystemTime::now(); - let bell = 7u8; - - // Either consume all data up to bell or wait for a timeout. - while buf[0] != bell && now.elapsed().unwrap() < timeout { - total_read += stdin.read(&mut buf)?; - } - - // If there was a response, the color is supported. - Ok(total_read > 0) -} diff --git a/vendor/registry-40351f815f426200/termion/src/cursor.rs b/vendor/registry-40351f815f426200/termion/src/cursor.rs deleted file mode 100644 index bbc039406..000000000 --- a/vendor/registry-40351f815f426200/termion/src/cursor.rs +++ /dev/null @@ -1,222 +0,0 @@ -//! Cursor movement. - -use std::fmt; -use std::ops; -use std::io::{self, Write, Error, ErrorKind, Read}; -use async::async_stdin_until; -use std::time::{SystemTime, Duration}; -use raw::CONTROL_SEQUENCE_TIMEOUT; -use numtoa::NumToA; - -derive_csi_sequence!("Hide the cursor.", Hide, "?25l"); -derive_csi_sequence!("Show the cursor.", Show, "?25h"); - -derive_csi_sequence!("Restore the cursor.", Restore, "u"); -derive_csi_sequence!("Save the cursor.", Save, "s"); - -/// Goto some position ((1,1)-based). -/// -/// # Why one-based? -/// -/// ANSI escapes are very poorly designed, and one of the many odd aspects is being one-based. This -/// can be quite strange at first, but it is not that big of an obstruction once you get used to -/// it. -/// -/// # Example -/// -/// ```rust -/// extern crate termion; -/// -/// fn main() { -/// print!("{}{}Stuff", termion::clear::All, termion::cursor::Goto(5, 3)); -/// } -/// ``` -#[derive(Copy, Clone, PartialEq, Eq)] -pub struct Goto(pub u16, pub u16); - -impl From for String { - fn from(this: Goto) -> String { - let (mut x, mut y) = ([0u8; 20], [0u8; 20]); - ["\x1B[", this.1.numtoa_str(10, &mut x), ";", this.0.numtoa_str(10, &mut y), "H"].concat() - } -} - -impl Default for Goto { - fn default() -> Goto { - Goto(1, 1) - } -} - -impl fmt::Display for Goto { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - debug_assert!(self != &Goto(0, 0), "Goto is one-based."); - f.write_str(&String::from(*self)) - } -} - -/// Move cursor left. -#[derive(Copy, Clone, PartialEq, Eq)] -pub struct Left(pub u16); - -impl From for String { - fn from(this: Left) -> String { - let mut buf = [0u8; 20]; - ["\x1B[", this.0.numtoa_str(10, &mut buf), "D"].concat() - } -} - -impl fmt::Display for Left { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str(&String::from(*self)) - } -} - -/// Move cursor right. -#[derive(Copy, Clone, PartialEq, Eq)] -pub struct Right(pub u16); - -impl From for String { - fn from(this: Right) -> String { - let mut buf = [0u8; 20]; - ["\x1B[", this.0.numtoa_str(10, &mut buf), "C"].concat() - } -} - -impl fmt::Display for Right { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str(&String::from(*self)) - } -} - -/// Move cursor up. -#[derive(Copy, Clone, PartialEq, Eq)] -pub struct Up(pub u16); - -impl From for String { - fn from(this: Up) -> String { - let mut buf = [0u8; 20]; - ["\x1B[", this.0.numtoa_str(10, &mut buf), "A"].concat() - } -} - -impl fmt::Display for Up { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str(&String::from(*self)) - } -} - -/// Move cursor down. -#[derive(Copy, Clone, PartialEq, Eq)] -pub struct Down(pub u16); - -impl From for String { - fn from(this: Down) -> String { - let mut buf = [0u8; 20]; - ["\x1B[", this.0.numtoa_str(10, &mut buf), "B"].concat() - } -} - -impl fmt::Display for Down { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str(&String::from(*self)) - } -} - -/// Types that allow detection of the cursor position. -pub trait DetectCursorPos { - /// Get the (1,1)-based cursor position from the terminal. - fn cursor_pos(&mut self) -> io::Result<(u16, u16)>; -} - -impl DetectCursorPos for W { - fn cursor_pos(&mut self) -> io::Result<(u16, u16)> { - let delimiter = b'R'; - let mut stdin = async_stdin_until(delimiter); - - // Where is the cursor? - // Use `ESC [ 6 n`. - write!(self, "\x1B[6n")?; - self.flush()?; - - let mut buf: [u8; 1] = [0]; - let mut read_chars = Vec::new(); - - let timeout = Duration::from_millis(CONTROL_SEQUENCE_TIMEOUT); - let now = SystemTime::now(); - - // Either consume all data up to R or wait for a timeout. - while buf[0] != delimiter && now.elapsed().unwrap() < timeout { - if stdin.read(&mut buf)? > 0 { - read_chars.push(buf[0]); - } - } - - if read_chars.is_empty() { - return Err(Error::new(ErrorKind::Other, "Cursor position detection timed out.")); - } - - // The answer will look like `ESC [ Cy ; Cx R`. - - read_chars.pop(); // remove trailing R. - let read_str = String::from_utf8(read_chars).unwrap(); - let beg = read_str.rfind('[').unwrap(); - let coords: String = read_str.chars().skip(beg + 1).collect(); - let mut nums = coords.split(';'); - - let cy = nums.next() - .unwrap() - .parse::() - .unwrap(); - let cx = nums.next() - .unwrap() - .parse::() - .unwrap(); - - Ok((cx, cy)) - } -} - -/// Hide the cursor for the lifetime of this struct. -/// It will hide the cursor on creation with from() and show it back on drop(). -pub struct HideCursor { - /// The output target. - output: W, -} - -impl HideCursor { - /// Create a hide cursor wrapper struct for the provided output and hides the cursor. - pub fn from(mut output: W) -> Self { - write!(output, "{}", Hide).expect("hide the cursor"); - HideCursor { output: output } - } -} - -impl Drop for HideCursor { - fn drop(&mut self) { - write!(self, "{}", Show).expect("show the cursor"); - } -} - -impl ops::Deref for HideCursor { - type Target = W; - - fn deref(&self) -> &W { - &self.output - } -} - -impl ops::DerefMut for HideCursor { - fn deref_mut(&mut self) -> &mut W { - &mut self.output - } -} - -impl Write for HideCursor { - fn write(&mut self, buf: &[u8]) -> io::Result { - self.output.write(buf) - } - - fn flush(&mut self) -> io::Result<()> { - self.output.flush() - } -} diff --git a/vendor/registry-40351f815f426200/termion/src/event.rs b/vendor/registry-40351f815f426200/termion/src/event.rs deleted file mode 100644 index 6e383a1cd..000000000 --- a/vendor/registry-40351f815f426200/termion/src/event.rs +++ /dev/null @@ -1,350 +0,0 @@ -//! Mouse and key events. - -use std::io::{Error, ErrorKind}; -use std::str; - -/// An event reported by the terminal. -#[derive(Debug, Clone, PartialEq, Eq, Hash)] -pub enum Event { - /// A key press. - Key(Key), - /// A mouse button press, release or wheel use at specific coordinates. - Mouse(MouseEvent), - /// An event that cannot currently be evaluated. - Unsupported(Vec), -} - -/// A mouse related event. -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum MouseEvent { - /// A mouse button was pressed. - /// - /// The coordinates are one-based. - Press(MouseButton, u16, u16), - /// A mouse button was released. - /// - /// The coordinates are one-based. - Release(u16, u16), - /// A mouse button is held over the given coordinates. - /// - /// The coordinates are one-based. - Hold(u16, u16), -} - -/// A mouse button. -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum MouseButton { - /// The left mouse button. - Left, - /// The right mouse button. - Right, - /// The middle mouse button. - Middle, - /// Mouse wheel is going up. - /// - /// This event is typically only used with Mouse::Press. - WheelUp, - /// Mouse wheel is going down. - /// - /// This event is typically only used with Mouse::Press. - WheelDown, -} - -/// A key. -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum Key { - /// Backspace. - Backspace, - /// Left arrow. - Left, - /// Right arrow. - Right, - /// Up arrow. - Up, - /// Down arrow. - Down, - /// Home key. - Home, - /// End key. - End, - /// Page Up key. - PageUp, - /// Page Down key. - PageDown, - /// Delete key. - Delete, - /// Insert key. - Insert, - /// Function keys. - /// - /// Only function keys 1 through 12 are supported. - F(u8), - /// Normal character. - Char(char), - /// Alt modified character. - Alt(char), - /// Ctrl modified character. - /// - /// Note that certain keys may not be modifiable with `ctrl`, due to limitations of terminals. - Ctrl(char), - /// Null byte. - Null, - /// Esc key. - Esc, - - #[doc(hidden)] - __IsNotComplete, -} - -/// Parse an Event from `item` and possibly subsequent bytes through `iter`. -pub fn parse_event(item: u8, iter: &mut I) -> Result - where I: Iterator> -{ - let error = Error::new(ErrorKind::Other, "Could not parse an event"); - match item { - b'\x1B' => { - // This is an escape character, leading a control sequence. - Ok(match iter.next() { - Some(Ok(b'O')) => { - match iter.next() { - // F1-F4 - Some(Ok(val @ b'P'...b'S')) => Event::Key(Key::F(1 + val - b'P')), - _ => return Err(error), - } - } - Some(Ok(b'[')) => { - // This is a CSI sequence. - parse_csi(iter).ok_or(error)? - } - Some(Ok(c)) => { - let ch = parse_utf8_char(c, iter); - Event::Key(Key::Alt(try!(ch))) - } - Some(Err(_)) | None => return Err(error), - }) - } - b'\n' | b'\r' => Ok(Event::Key(Key::Char('\n'))), - b'\t' => Ok(Event::Key(Key::Char('\t'))), - b'\x7F' => Ok(Event::Key(Key::Backspace)), - c @ b'\x01'...b'\x1A' => Ok(Event::Key(Key::Ctrl((c as u8 - 0x1 + b'a') as char))), - c @ b'\x1C'...b'\x1F' => Ok(Event::Key(Key::Ctrl((c as u8 - 0x1C + b'4') as char))), - b'\0' => Ok(Event::Key(Key::Null)), - c => { - Ok({ - let ch = parse_utf8_char(c, iter); - Event::Key(Key::Char(try!(ch))) - }) - } - } -} - -/// Parses a CSI sequence, just after reading ^[ -/// -/// Returns None if an unrecognized sequence is found. -fn parse_csi(iter: &mut I) -> Option - where I: Iterator> -{ - Some(match iter.next() { - Some(Ok(b'[')) => match iter.next() { - Some(Ok(val @ b'A'...b'E')) => Event::Key(Key::F(1 + val - b'A')), - _ => return None, - }, - Some(Ok(b'D')) => Event::Key(Key::Left), - Some(Ok(b'C')) => Event::Key(Key::Right), - Some(Ok(b'A')) => Event::Key(Key::Up), - Some(Ok(b'B')) => Event::Key(Key::Down), - Some(Ok(b'H')) => Event::Key(Key::Home), - Some(Ok(b'F')) => Event::Key(Key::End), - Some(Ok(b'M')) => { - // X10 emulation mouse encoding: ESC [ CB Cx Cy (6 characters only). - let mut next = || iter.next().unwrap().unwrap(); - - let cb = next() as i8 - 32; - // (1, 1) are the coords for upper left. - let cx = next().saturating_sub(32) as u16; - let cy = next().saturating_sub(32) as u16; - Event::Mouse(match cb & 0b11 { - 0 => { - if cb & 0x40 != 0 { - MouseEvent::Press(MouseButton::WheelUp, cx, cy) - } else { - MouseEvent::Press(MouseButton::Left, cx, cy) - } - } - 1 => { - if cb & 0x40 != 0 { - MouseEvent::Press(MouseButton::WheelDown, cx, cy) - } else { - MouseEvent::Press(MouseButton::Middle, cx, cy) - } - } - 2 => MouseEvent::Press(MouseButton::Right, cx, cy), - 3 => MouseEvent::Release(cx, cy), - _ => return None, - }) - } - Some(Ok(b'<')) => { - // xterm mouse encoding: - // ESC [ < Cb ; Cx ; Cy (;) (M or m) - let mut buf = Vec::new(); - let mut c = iter.next().unwrap().unwrap(); - while match c { - b'm' | b'M' => false, - _ => true, - } { - buf.push(c); - c = iter.next().unwrap().unwrap(); - } - let str_buf = String::from_utf8(buf).unwrap(); - let nums = &mut str_buf.split(';'); - - let cb = nums.next() - .unwrap() - .parse::() - .unwrap(); - let cx = nums.next() - .unwrap() - .parse::() - .unwrap(); - let cy = nums.next() - .unwrap() - .parse::() - .unwrap(); - - let event = match cb { - 0...2 | 64...65 => { - let button = match cb { - 0 => MouseButton::Left, - 1 => MouseButton::Middle, - 2 => MouseButton::Right, - 64 => MouseButton::WheelUp, - 65 => MouseButton::WheelDown, - _ => unreachable!(), - }; - match c { - b'M' => MouseEvent::Press(button, cx, cy), - b'm' => MouseEvent::Release(cx, cy), - _ => return None, - } - } - 32 => MouseEvent::Hold(cx, cy), - 3 => MouseEvent::Release(cx, cy), - _ => return None, - }; - - Event::Mouse(event) - } - Some(Ok(c @ b'0'...b'9')) => { - // Numbered escape code. - let mut buf = Vec::new(); - buf.push(c); - let mut c = iter.next().unwrap().unwrap(); - // The final byte of a CSI sequence can be in the range 64-126, so - // let's keep reading anything else. - while c < 64 || c > 126 { - buf.push(c); - c = iter.next().unwrap().unwrap(); - } - - match c { - // rxvt mouse encoding: - // ESC [ Cb ; Cx ; Cy ; M - b'M' => { - let str_buf = String::from_utf8(buf).unwrap(); - - let nums: Vec = str_buf.split(';').map(|n| n.parse().unwrap()).collect(); - - let cb = nums[0]; - let cx = nums[1]; - let cy = nums[2]; - - let event = match cb { - 32 => MouseEvent::Press(MouseButton::Left, cx, cy), - 33 => MouseEvent::Press(MouseButton::Middle, cx, cy), - 34 => MouseEvent::Press(MouseButton::Right, cx, cy), - 35 => MouseEvent::Release(cx, cy), - 64 => MouseEvent::Hold(cx, cy), - 96 | 97 => MouseEvent::Press(MouseButton::WheelUp, cx, cy), - _ => return None, - }; - - Event::Mouse(event) - } - // Special key code. - b'~' => { - let str_buf = String::from_utf8(buf).unwrap(); - - // This CSI sequence can be a list of semicolon-separated - // numbers. - let nums: Vec = str_buf.split(';').map(|n| n.parse().unwrap()).collect(); - - if nums.is_empty() { - return None; - } - - // TODO: handle multiple values for key modififiers (ex: values - // [3, 2] means Shift+Delete) - if nums.len() > 1 { - return None; - } - - match nums[0] { - 1 | 7 => Event::Key(Key::Home), - 2 => Event::Key(Key::Insert), - 3 => Event::Key(Key::Delete), - 4 | 8 => Event::Key(Key::End), - 5 => Event::Key(Key::PageUp), - 6 => Event::Key(Key::PageDown), - v @ 11...15 => Event::Key(Key::F(v - 10)), - v @ 17...21 => Event::Key(Key::F(v - 11)), - v @ 23...24 => Event::Key(Key::F(v - 12)), - _ => return None, - } - } - _ => return None, - } - } - _ => return None, - }) - -} - -/// Parse `c` as either a single byte ASCII char or a variable size UTF-8 char. -fn parse_utf8_char(c: u8, iter: &mut I) -> Result - where I: Iterator> -{ - let error = Err(Error::new(ErrorKind::Other, "Input character is not valid UTF-8")); - if c.is_ascii() { - Ok(c as char) - } else { - let bytes = &mut Vec::new(); - bytes.push(c); - - loop { - match iter.next() { - Some(Ok(next)) => { - bytes.push(next); - if let Ok(st) = str::from_utf8(bytes) { - return Ok(st.chars().next().unwrap()); - } - if bytes.len() >= 4 { - return error; - } - } - _ => return error, - } - } - } -} - -#[cfg(test)] -#[test] -fn test_parse_utf8() { - let st = "abcéŷ¤£€ù%323"; - let ref mut bytes = st.bytes().map(|x| Ok(x)); - let chars = st.chars(); - for c in chars { - let b = bytes.next().unwrap().unwrap(); - assert!(c == parse_utf8_char(b, bytes).unwrap()); - } -} diff --git a/vendor/registry-40351f815f426200/termion/src/input.rs b/vendor/registry-40351f815f426200/termion/src/input.rs deleted file mode 100644 index 5c8ecf466..000000000 --- a/vendor/registry-40351f815f426200/termion/src/input.rs +++ /dev/null @@ -1,388 +0,0 @@ -//! User input. - -use std::io::{self, Read, Write}; -use std::ops; - -use event::{self, Event, Key}; -use raw::IntoRawMode; - -/// An iterator over input keys. -pub struct Keys { - iter: Events, -} - -impl Iterator for Keys { - type Item = Result; - - fn next(&mut self) -> Option> { - loop { - match self.iter.next() { - Some(Ok(Event::Key(k))) => return Some(Ok(k)), - Some(Ok(_)) => continue, - e @ Some(Err(_)) => e, - None => return None, - }; - } - } -} - -/// An iterator over input events. -pub struct Events { - inner: EventsAndRaw -} - -impl Iterator for Events { - type Item = Result; - - fn next(&mut self) -> Option> { - self.inner.next().map(|tuple| tuple.map(|(event, _raw)| event)) - } -} - -/// An iterator over input events and the bytes that define them. -pub struct EventsAndRaw { - source: R, - leftover: Option, -} - -impl Iterator for EventsAndRaw { - type Item = Result<(Event, Vec), io::Error>; - - fn next(&mut self) -> Option), io::Error>> { - let source = &mut self.source; - - if let Some(c) = self.leftover { - // we have a leftover byte, use it - self.leftover = None; - return Some(parse_event(c, &mut source.bytes())); - } - - // Here we read two bytes at a time. We need to distinguish between single ESC key presses, - // and escape sequences (which start with ESC or a x1B byte). The idea is that if this is - // an escape sequence, we will read multiple bytes (the first byte being ESC) but if this - // is a single ESC keypress, we will only read a single byte. - let mut buf = [0u8; 2]; - let res = match source.read(&mut buf) { - Ok(0) => return None, - Ok(1) => { - match buf[0] { - b'\x1B' => Ok((Event::Key(Key::Esc), vec![b'\x1B'])), - c => parse_event(c, &mut source.bytes()), - } - } - Ok(2) => { - let mut option_iter = &mut Some(buf[1]).into_iter(); - let result = { - let mut iter = option_iter.map(|c| Ok(c)).chain(source.bytes()); - parse_event(buf[0], &mut iter) - }; - // If the option_iter wasn't consumed, keep the byte for later. - self.leftover = option_iter.next(); - result - } - Ok(_) => unreachable!(), - Err(e) => Err(e), - }; - - Some(res) - } -} - -fn parse_event(item: u8, iter: &mut I) -> Result<(Event, Vec), io::Error> - where I: Iterator> -{ - let mut buf = vec![item]; - let result = { - let mut iter = iter.inspect(|byte| if let &Ok(byte) = byte { - buf.push(byte); - }); - event::parse_event(item, &mut iter) - }; - result.or(Ok(Event::Unsupported(buf.clone()))).map(|e| (e, buf)) -} - - -/// Extension to `Read` trait. -pub trait TermRead { - /// An iterator over input events. - fn events(self) -> Events where Self: Sized; - - /// An iterator over key inputs. - fn keys(self) -> Keys where Self: Sized; - - /// Read a line. - /// - /// EOT and ETX will abort the prompt, returning `None`. Newline or carriage return will - /// complete the input. - fn read_line(&mut self) -> io::Result>; - - /// Read a password. - /// - /// EOT and ETX will abort the prompt, returning `None`. Newline or carriage return will - /// complete the input. - fn read_passwd(&mut self, writer: &mut W) -> io::Result> { - let _raw = try!(writer.into_raw_mode()); - self.read_line() - } -} - - -impl TermRead for R { - fn events(self) -> Events { - Events { - inner: self.events_and_raw() - } - } - fn keys(self) -> Keys { - Keys { iter: self.events() } - } - - fn read_line(&mut self) -> io::Result> { - let mut buf = Vec::with_capacity(30); - - for c in self.bytes() { - match c { - Err(e) => return Err(e), - Ok(0) | Ok(3) | Ok(4) => return Ok(None), - Ok(0x7f) => { - buf.pop(); - } - Ok(b'\n') | Ok(b'\r') => break, - Ok(c) => buf.push(c), - } - } - - let string = try!(String::from_utf8(buf) - .map_err(|e| io::Error::new(io::ErrorKind::InvalidData, e))); - Ok(Some(string)) - } -} - -/// Extension to `TermRead` trait. A separate trait in order to maintain backwards compatibility. -pub trait TermReadEventsAndRaw { - /// An iterator over input events and the bytes that define them. - fn events_and_raw(self) -> EventsAndRaw where Self: Sized; -} - -impl TermReadEventsAndRaw for R { - fn events_and_raw(self) -> EventsAndRaw { - EventsAndRaw { - source: self, - leftover: None, - } - } -} - -/// A sequence of escape codes to enable terminal mouse support. -const ENTER_MOUSE_SEQUENCE: &'static str = csi!("?1000h\x1b[?1002h\x1b[?1015h\x1b[?1006h"); - -/// A sequence of escape codes to disable terminal mouse support. -const EXIT_MOUSE_SEQUENCE: &'static str = csi!("?1006l\x1b[?1015l\x1b[?1002l\x1b[?1000l"); - -/// A terminal with added mouse support. -/// -/// This can be obtained through the `From` implementations. -pub struct MouseTerminal { - term: W, -} - -impl From for MouseTerminal { - fn from(mut from: W) -> MouseTerminal { - from.write_all(ENTER_MOUSE_SEQUENCE.as_bytes()).unwrap(); - - MouseTerminal { term: from } - } -} - -impl Drop for MouseTerminal { - fn drop(&mut self) { - self.term.write_all(EXIT_MOUSE_SEQUENCE.as_bytes()).unwrap(); - } -} - -impl ops::Deref for MouseTerminal { - type Target = W; - - fn deref(&self) -> &W { - &self.term - } -} - -impl ops::DerefMut for MouseTerminal { - fn deref_mut(&mut self) -> &mut W { - &mut self.term - } -} - -impl Write for MouseTerminal { - fn write(&mut self, buf: &[u8]) -> io::Result { - self.term.write(buf) - } - - fn flush(&mut self) -> io::Result<()> { - self.term.flush() - } -} - -#[cfg(test)] -mod test { - use super::*; - use std::io; - use event::{Key, Event, MouseEvent, MouseButton}; - - #[test] - fn test_keys() { - let mut i = b"\x1Bayo\x7F\x1B[D".keys(); - - assert_eq!(i.next().unwrap().unwrap(), Key::Alt('a')); - assert_eq!(i.next().unwrap().unwrap(), Key::Char('y')); - assert_eq!(i.next().unwrap().unwrap(), Key::Char('o')); - assert_eq!(i.next().unwrap().unwrap(), Key::Backspace); - assert_eq!(i.next().unwrap().unwrap(), Key::Left); - assert!(i.next().is_none()); - } - - #[test] - fn test_events() { - let mut i = - b"\x1B[\x00bc\x7F\x1B[D\ - \x1B[M\x00\x22\x24\x1B[<0;2;4;M\x1B[32;2;4M\x1B[<0;2;4;m\x1B[35;2;4Mb" - .events(); - - assert_eq!(i.next().unwrap().unwrap(), - Event::Unsupported(vec![0x1B, b'[', 0x00])); - assert_eq!(i.next().unwrap().unwrap(), Event::Key(Key::Char('b'))); - assert_eq!(i.next().unwrap().unwrap(), Event::Key(Key::Char('c'))); - assert_eq!(i.next().unwrap().unwrap(), Event::Key(Key::Backspace)); - assert_eq!(i.next().unwrap().unwrap(), Event::Key(Key::Left)); - assert_eq!(i.next().unwrap().unwrap(), - Event::Mouse(MouseEvent::Press(MouseButton::WheelUp, 2, 4))); - assert_eq!(i.next().unwrap().unwrap(), - Event::Mouse(MouseEvent::Press(MouseButton::Left, 2, 4))); - assert_eq!(i.next().unwrap().unwrap(), - Event::Mouse(MouseEvent::Press(MouseButton::Left, 2, 4))); - assert_eq!(i.next().unwrap().unwrap(), - Event::Mouse(MouseEvent::Release(2, 4))); - assert_eq!(i.next().unwrap().unwrap(), - Event::Mouse(MouseEvent::Release(2, 4))); - assert_eq!(i.next().unwrap().unwrap(), Event::Key(Key::Char('b'))); - assert!(i.next().is_none()); - } - - #[test] - fn test_events_and_raw() { - let input = b"\x1B[\x00bc\x7F\x1B[D\ - \x1B[M\x00\x22\x24\x1B[<0;2;4;M\x1B[32;2;4M\x1B[<0;2;4;m\x1B[35;2;4Mb"; - let mut output = Vec::::new(); - { - let mut i = input.events_and_raw().map(|res| res.unwrap()) - .inspect(|&(_, ref raw)| { output.extend(raw); }).map(|(event, _)| event); - - assert_eq!(i.next().unwrap(), - Event::Unsupported(vec![0x1B, b'[', 0x00])); - assert_eq!(i.next().unwrap(), Event::Key(Key::Char('b'))); - assert_eq!(i.next().unwrap(), Event::Key(Key::Char('c'))); - assert_eq!(i.next().unwrap(), Event::Key(Key::Backspace)); - assert_eq!(i.next().unwrap(), Event::Key(Key::Left)); - assert_eq!(i.next().unwrap(), - Event::Mouse(MouseEvent::Press(MouseButton::WheelUp, 2, 4))); - assert_eq!(i.next().unwrap(), - Event::Mouse(MouseEvent::Press(MouseButton::Left, 2, 4))); - assert_eq!(i.next().unwrap(), - Event::Mouse(MouseEvent::Press(MouseButton::Left, 2, 4))); - assert_eq!(i.next().unwrap(), - Event::Mouse(MouseEvent::Release(2, 4))); - assert_eq!(i.next().unwrap(), - Event::Mouse(MouseEvent::Release(2, 4))); - assert_eq!(i.next().unwrap(), Event::Key(Key::Char('b'))); - assert!(i.next().is_none()); - } - - assert_eq!(input.iter().map(|b| *b).collect::>(), output) - } - - #[test] - fn test_function_keys() { - let mut st = b"\x1BOP\x1BOQ\x1BOR\x1BOS".keys(); - for i in 1..5 { - assert_eq!(st.next().unwrap().unwrap(), Key::F(i)); - } - - let mut st = b"\x1B[11~\x1B[12~\x1B[13~\x1B[14~\x1B[15~\ - \x1B[17~\x1B[18~\x1B[19~\x1B[20~\x1B[21~\x1B[23~\x1B[24~" - .keys(); - for i in 1..13 { - assert_eq!(st.next().unwrap().unwrap(), Key::F(i)); - } - } - - #[test] - fn test_special_keys() { - let mut st = b"\x1B[2~\x1B[H\x1B[7~\x1B[5~\x1B[3~\x1B[F\x1B[8~\x1B[6~".keys(); - assert_eq!(st.next().unwrap().unwrap(), Key::Insert); - assert_eq!(st.next().unwrap().unwrap(), Key::Home); - assert_eq!(st.next().unwrap().unwrap(), Key::Home); - assert_eq!(st.next().unwrap().unwrap(), Key::PageUp); - assert_eq!(st.next().unwrap().unwrap(), Key::Delete); - assert_eq!(st.next().unwrap().unwrap(), Key::End); - assert_eq!(st.next().unwrap().unwrap(), Key::End); - assert_eq!(st.next().unwrap().unwrap(), Key::PageDown); - assert!(st.next().is_none()); - } - - #[test] - fn test_esc_key() { - let mut st = b"\x1B".keys(); - assert_eq!(st.next().unwrap().unwrap(), Key::Esc); - assert!(st.next().is_none()); - } - - fn line_match(a: &str, b: Option<&str>) { - let mut sink = io::sink(); - - let line = a.as_bytes().read_line().unwrap(); - let pass = a.as_bytes().read_passwd(&mut sink).unwrap(); - - // godammit rustc - - assert_eq!(line, pass); - - if let Some(l) = line { - assert_eq!(Some(l.as_str()), b); - } else { - assert!(b.is_none()); - } - } - - #[test] - fn test_read() { - let test1 = "this is the first test"; - let test2 = "this is the second test"; - - line_match(test1, Some(test1)); - line_match(test2, Some(test2)); - } - - #[test] - fn test_backspace() { - line_match("this is the\x7f first\x7f\x7f test", - Some("this is th fir test")); - line_match("this is the seco\x7fnd test\x7f", - Some("this is the secnd tes")); - } - - #[test] - fn test_end() { - line_match("abc\nhttps://www.youtube.com/watch?v=dQw4w9WgXcQ", - Some("abc")); - line_match("hello\rhttps://www.youtube.com/watch?v=yPYZpwSpKmA", - Some("hello")); - } - - #[test] - fn test_abort() { - line_match("abc\x03https://www.youtube.com/watch?v=dQw4w9WgXcQ", None); - line_match("hello\x04https://www.youtube.com/watch?v=yPYZpwSpKmA", None); - } - -} diff --git a/vendor/registry-40351f815f426200/termion/src/lib.rs b/vendor/registry-40351f815f426200/termion/src/lib.rs deleted file mode 100644 index 24917ad76..000000000 --- a/vendor/registry-40351f815f426200/termion/src/lib.rs +++ /dev/null @@ -1,63 +0,0 @@ -//! Termion is a pure Rust, bindless library for low-level handling, manipulating -//! and reading information about terminals. This provides a full-featured -//! alternative to Termbox. -//! -//! Termion aims to be simple and yet expressive. It is bindless, meaning that it -//! is not a front-end to some other library (e.g., ncurses or termbox), but a -//! standalone library directly talking to the TTY. -//! -//! Supports Redox, Mac OS X, and Linux (or, in general, ANSI terminals). -//! -//! For more information refer to the [README](https://github.com/redox-os/termion). -#![warn(missing_docs)] - -extern crate numtoa; - -#[cfg(target_os = "redox")] -#[path="sys/redox/mod.rs"] -mod sys; - -#[cfg(all(unix, not(target_os = "redox")))] -#[path="sys/unix/mod.rs"] -mod sys; - -pub use sys::size::terminal_size; -pub use sys::tty::{is_tty, get_tty}; - -mod async; -pub use async::{AsyncReader, async_stdin}; - -#[macro_use] -mod macros; -pub mod clear; -pub mod color; -pub mod cursor; -pub mod event; -pub mod input; -pub mod raw; -pub mod screen; -pub mod scroll; -pub mod style; - -#[cfg(test)] -mod test { - use super::sys; - - #[test] - fn test_get_terminal_attr() { - sys::attr::get_terminal_attr().unwrap(); - sys::attr::get_terminal_attr().unwrap(); - sys::attr::get_terminal_attr().unwrap(); - } - - #[test] - fn test_set_terminal_attr() { - let ios = sys::attr::get_terminal_attr().unwrap(); - sys::attr::set_terminal_attr(&ios).unwrap(); - } - - #[test] - fn test_size() { - sys::size::terminal_size().unwrap(); - } -} diff --git a/vendor/registry-40351f815f426200/termion/src/macros.rs b/vendor/registry-40351f815f426200/termion/src/macros.rs deleted file mode 100644 index 5fd70b933..000000000 --- a/vendor/registry-40351f815f426200/termion/src/macros.rs +++ /dev/null @@ -1,27 +0,0 @@ -/// Create a CSI-introduced sequence. -macro_rules! csi { - ($( $l:expr ),*) => { concat!("\x1B[", $( $l ),*) }; -} - -/// Derive a CSI sequence struct. -macro_rules! derive_csi_sequence { - ($doc:expr, $name:ident, $value:expr) => { - #[doc = $doc] - #[derive(Copy, Clone)] - pub struct $name; - - impl fmt::Display for $name { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, csi!($value)) - } - } - - impl AsRef<[u8]> for $name { - fn as_ref(&self) -> &'static [u8] { csi!($value).as_bytes() } - } - - impl AsRef for $name { - fn as_ref(&self) -> &'static str { csi!($value) } - } - }; -} diff --git a/vendor/registry-40351f815f426200/termion/src/raw.rs b/vendor/registry-40351f815f426200/termion/src/raw.rs deleted file mode 100644 index 0dbfb569e..000000000 --- a/vendor/registry-40351f815f426200/termion/src/raw.rs +++ /dev/null @@ -1,131 +0,0 @@ -//! Managing raw mode. -//! -//! Raw mode is a particular state a TTY can have. It signifies that: -//! -//! 1. No line buffering (the input is given byte-by-byte). -//! 2. The input is not written out, instead it has to be done manually by the programmer. -//! 3. The output is not canonicalized (for example, `\n` means "go one line down", not "line -//! break"). -//! -//! It is essential to design terminal programs. -//! -//! # Example -//! -//! ```rust,no_run -//! use termion::raw::IntoRawMode; -//! use std::io::{Write, stdout}; -//! -//! fn main() { -//! let mut stdout = stdout().into_raw_mode().unwrap(); -//! -//! write!(stdout, "Hey there.").unwrap(); -//! } -//! ``` - -use std::io::{self, Write}; -use std::ops; - -use sys::Termios; -use sys::attr::{get_terminal_attr, raw_terminal_attr, set_terminal_attr}; - -/// The timeout of an escape code control sequence, in milliseconds. -pub const CONTROL_SEQUENCE_TIMEOUT: u64 = 100; - -/// A terminal restorer, which keeps the previous state of the terminal, and restores it, when -/// dropped. -/// -/// Restoring will entirely bring back the old TTY state. -pub struct RawTerminal { - prev_ios: Termios, - output: W, -} - -impl Drop for RawTerminal { - fn drop(&mut self) { - set_terminal_attr(&self.prev_ios).unwrap(); - } -} - -impl ops::Deref for RawTerminal { - type Target = W; - - fn deref(&self) -> &W { - &self.output - } -} - -impl ops::DerefMut for RawTerminal { - fn deref_mut(&mut self) -> &mut W { - &mut self.output - } -} - -impl Write for RawTerminal { - fn write(&mut self, buf: &[u8]) -> io::Result { - self.output.write(buf) - } - - fn flush(&mut self) -> io::Result<()> { - self.output.flush() - } -} - -/// Types which can be converted into "raw mode". -/// -/// # Why is this type defined on writers and not readers? -/// -/// TTYs has their state controlled by the writer, not the reader. You use the writer to clear the -/// screen, move the cursor and so on, so naturally you use the writer to change the mode as well. -pub trait IntoRawMode: Write + Sized { - /// Switch to raw mode. - /// - /// Raw mode means that stdin won't be printed (it will instead have to be written manually by - /// the program). Furthermore, the input isn't canonicalised or buffered (that is, you can - /// read from stdin one byte of a time). The output is neither modified in any way. - fn into_raw_mode(self) -> io::Result>; -} - -impl IntoRawMode for W { - fn into_raw_mode(self) -> io::Result> { - let mut ios = get_terminal_attr()?; - let prev_ios = ios; - - raw_terminal_attr(&mut ios); - - set_terminal_attr(&ios)?; - - Ok(RawTerminal { - prev_ios: prev_ios, - output: self, - }) - } -} - -impl RawTerminal { - pub fn suspend_raw_mode(&self) -> io::Result<()> { - set_terminal_attr(&self.prev_ios)?; - Ok(()) - } - - pub fn activate_raw_mode(&self) -> io::Result<()> { - let mut ios = get_terminal_attr()?; - raw_terminal_attr(&mut ios); - set_terminal_attr(&ios)?; - Ok(()) - } -} - -#[cfg(test)] -mod test { - use super::*; - use std::io::{Write, stdout}; - - #[test] - fn test_into_raw_mode() { - let mut out = stdout().into_raw_mode().unwrap(); - - out.write_all(b"this is a test, muahhahahah\r\n").unwrap(); - - drop(out); - } -} diff --git a/vendor/registry-40351f815f426200/termion/src/screen.rs b/vendor/registry-40351f815f426200/termion/src/screen.rs deleted file mode 100644 index 822399e27..000000000 --- a/vendor/registry-40351f815f426200/termion/src/screen.rs +++ /dev/null @@ -1,91 +0,0 @@ -//! Managing switching between main and alternate screen buffers. -//! -//! Note that this implementation uses xterm's new escape sequences for screen switching and thus -//! only works for xterm compatible terminals (which should be most terminals nowadays). -//! -//! # Example -//! -//! ```rust -//! use termion::screen::AlternateScreen; -//! use std::io::{Write, stdout}; -//! -//! fn main() { -//! { -//! let mut screen = AlternateScreen::from(stdout()); -//! write!(screen, "Writing to alternate screen!").unwrap(); -//! screen.flush().unwrap(); -//! } -//! println!("Writing to main screen."); -//! } -//! ``` - -use std::io::{self, Write}; -use std::ops; -use std::fmt; - -/// Switch to the main screen buffer of the terminal. -pub struct ToMainScreen; - -impl fmt::Display for ToMainScreen { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, csi!("?1049l")) - } -} - -/// Switch to the alternate screen buffer of the terminal. -pub struct ToAlternateScreen; - -impl fmt::Display for ToAlternateScreen { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, csi!("?1049h")) - } -} - -/// A terminal restorer, which wraps a type implementing Write, and causes all writes to be written -/// to an alternate screen. -/// -/// This is achieved by switching the terminal to the alternate screen on creation and -/// automatically switching it back to the original screen on drop. -pub struct AlternateScreen { - /// The output target. - output: W, -} - -impl AlternateScreen { - /// Create an alternate screen wrapper struct for the provided output and switch the terminal - /// to the alternate screen. - pub fn from(mut output: W) -> Self { - write!(output, "{}", ToAlternateScreen).expect("switch to alternate screen"); - AlternateScreen { output: output } - } -} - -impl Drop for AlternateScreen { - fn drop(&mut self) { - write!(self, "{}", ToMainScreen).expect("switch to main screen"); - } -} - -impl ops::Deref for AlternateScreen { - type Target = W; - - fn deref(&self) -> &W { - &self.output - } -} - -impl ops::DerefMut for AlternateScreen { - fn deref_mut(&mut self) -> &mut W { - &mut self.output - } -} - -impl Write for AlternateScreen { - fn write(&mut self, buf: &[u8]) -> io::Result { - self.output.write(buf) - } - - fn flush(&mut self) -> io::Result<()> { - self.output.flush() - } -} diff --git a/vendor/registry-40351f815f426200/termion/src/scroll.rs b/vendor/registry-40351f815f426200/termion/src/scroll.rs deleted file mode 100644 index 2744507f3..000000000 --- a/vendor/registry-40351f815f426200/termion/src/scroll.rs +++ /dev/null @@ -1,23 +0,0 @@ -//! Scrolling. - -use std::fmt; - -/// Scroll up. -#[derive(Copy, Clone, PartialEq, Eq)] -pub struct Up(pub u16); - -impl fmt::Display for Up { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, csi!("{}S"), self.0) - } -} - -/// Scroll down. -#[derive(Copy, Clone, PartialEq, Eq)] -pub struct Down(pub u16); - -impl fmt::Display for Down { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, csi!("{}T"), self.0) - } -} diff --git a/vendor/registry-40351f815f426200/termion/src/style.rs b/vendor/registry-40351f815f426200/termion/src/style.rs deleted file mode 100644 index 58e9a78b8..000000000 --- a/vendor/registry-40351f815f426200/termion/src/style.rs +++ /dev/null @@ -1,22 +0,0 @@ -//! Text styling management. - -use std::fmt; - -derive_csi_sequence!("Reset SGR parameters.", Reset, "m"); -derive_csi_sequence!("Bold text.", Bold, "1m"); -derive_csi_sequence!("Fainted text (not widely supported).", Faint, "2m"); -derive_csi_sequence!("Italic text.", Italic, "3m"); -derive_csi_sequence!("Underlined text.", Underline, "4m"); -derive_csi_sequence!("Blinking text (not widely supported).", Blink, "5m"); -derive_csi_sequence!("Inverted colors (negative mode).", Invert, "7m"); -derive_csi_sequence!("Crossed out text (not widely supported).", CrossedOut, "9m"); -derive_csi_sequence!("Undo bold text.", NoBold, "21m"); -derive_csi_sequence!("Undo fainted text (not widely supported).", NoFaint, "22m"); -derive_csi_sequence!("Undo italic text.", NoItalic, "23m"); -derive_csi_sequence!("Undo underlined text.", NoUnderline, "24m"); -derive_csi_sequence!("Undo blinking text (not widely supported).", NoBlink, "25m"); -derive_csi_sequence!("Undo inverted colors (negative mode).", NoInvert, "27m"); -derive_csi_sequence!("Undo crossed out text (not widely supported).", - NoCrossedOut, - "29m"); -derive_csi_sequence!("Framed text (not widely supported).", Framed, "51m"); diff --git a/vendor/registry-40351f815f426200/termion/src/sys/redox/attr.rs b/vendor/registry-40351f815f426200/termion/src/sys/redox/attr.rs deleted file mode 100644 index c6489a510..000000000 --- a/vendor/registry-40351f815f426200/termion/src/sys/redox/attr.rs +++ /dev/null @@ -1,33 +0,0 @@ -use std::io; - -use super::{cvt, syscall, Termios}; - -pub fn get_terminal_attr() -> io::Result { - let mut termios = Termios::default(); - - let fd = cvt(syscall::dup(0, b"termios"))?; - let res = cvt(syscall::read(fd, &mut termios)); - let _ = syscall::close(fd); - - if res? == termios.len() { - Ok(termios) - } else { - Err(io::Error::new(io::ErrorKind::Other, "Unable to get the terminal attributes.")) - } -} - -pub fn set_terminal_attr(termios: &Termios) -> io::Result<()> { - let fd = cvt(syscall::dup(0, b"termios"))?; - let res = cvt(syscall::write(fd, termios)); - let _ = syscall::close(fd); - - if res? == termios.len() { - Ok(()) - } else { - Err(io::Error::new(io::ErrorKind::Other, "Unable to set the terminal attributes.")) - } -} - -pub fn raw_terminal_attr(ios: &mut Termios) { - ios.make_raw() -} diff --git a/vendor/registry-40351f815f426200/termion/src/sys/redox/mod.rs b/vendor/registry-40351f815f426200/termion/src/sys/redox/mod.rs deleted file mode 100644 index 2a9b875e3..000000000 --- a/vendor/registry-40351f815f426200/termion/src/sys/redox/mod.rs +++ /dev/null @@ -1,15 +0,0 @@ -extern crate redox_termios; -extern crate syscall; - -use std::io; - -pub use self::redox_termios::Termios; - -pub mod attr; -pub mod size; -pub mod tty; - -// Support function for converting syscall error to io error -fn cvt(result: Result) -> io::Result { - result.map_err(|err| io::Error::from_raw_os_error(err.errno)) -} diff --git a/vendor/registry-40351f815f426200/termion/src/sys/redox/size.rs b/vendor/registry-40351f815f426200/termion/src/sys/redox/size.rs deleted file mode 100644 index 07f64a243..000000000 --- a/vendor/registry-40351f815f426200/termion/src/sys/redox/size.rs +++ /dev/null @@ -1,18 +0,0 @@ -use std::io; - -use super::{cvt, redox_termios, syscall}; - -/// Get the size of the terminal. -pub fn terminal_size() -> io::Result<(u16, u16)> { - let mut winsize = redox_termios::Winsize::default(); - - let fd = cvt(syscall::dup(1, b"winsize"))?; - let res = cvt(syscall::read(fd, &mut winsize)); - let _ = syscall::close(fd); - - if res? == winsize.len() { - Ok((winsize.ws_col, winsize.ws_row)) - } else { - Err(io::Error::new(io::ErrorKind::Other, "Unable to get the terminal size.")) - } -} diff --git a/vendor/registry-40351f815f426200/termion/src/sys/redox/tty.rs b/vendor/registry-40351f815f426200/termion/src/sys/redox/tty.rs deleted file mode 100644 index 8e21ff8e5..000000000 --- a/vendor/registry-40351f815f426200/termion/src/sys/redox/tty.rs +++ /dev/null @@ -1,22 +0,0 @@ -use std::{env, fs, io}; -use std::os::unix::io::AsRawFd; - -use super::syscall; - -/// Is this stream a TTY? -pub fn is_tty(stream: &T) -> bool { - if let Ok(fd) = syscall::dup(stream.as_raw_fd() as _, b"termios") { - let _ = syscall::close(fd); - true - } else { - false - } -} - -/// Get the TTY device. -/// -/// This allows for getting stdio representing _only_ the TTY, and not other streams. -pub fn get_tty() -> io::Result { - let tty = try!(env::var("TTY").map_err(|x| io::Error::new(io::ErrorKind::NotFound, x))); - fs::OpenOptions::new().read(true).write(true).open(tty) -} diff --git a/vendor/registry-40351f815f426200/termion/src/sys/unix/attr.rs b/vendor/registry-40351f815f426200/termion/src/sys/unix/attr.rs deleted file mode 100644 index 5e21fbac8..000000000 --- a/vendor/registry-40351f815f426200/termion/src/sys/unix/attr.rs +++ /dev/null @@ -1,29 +0,0 @@ -use std::{io, mem}; - -use super::{cvt, Termios}; -use super::libc::c_int; - -pub fn get_terminal_attr() -> io::Result { - extern "C" { - pub fn tcgetattr(fd: c_int, termptr: *mut Termios) -> c_int; - } - unsafe { - let mut termios = mem::zeroed(); - cvt(tcgetattr(0, &mut termios))?; - Ok(termios) - } -} - -pub fn set_terminal_attr(termios: &Termios) -> io::Result<()> { - extern "C" { - pub fn tcsetattr(fd: c_int, opt: c_int, termptr: *const Termios) -> c_int; - } - cvt(unsafe { tcsetattr(0, 0, termios) }).and(Ok(())) -} - -pub fn raw_terminal_attr(termios: &mut Termios) { - extern "C" { - pub fn cfmakeraw(termptr: *mut Termios); - } - unsafe { cfmakeraw(termios) } -} diff --git a/vendor/registry-40351f815f426200/termion/src/sys/unix/mod.rs b/vendor/registry-40351f815f426200/termion/src/sys/unix/mod.rs deleted file mode 100644 index 08d73feb1..000000000 --- a/vendor/registry-40351f815f426200/termion/src/sys/unix/mod.rs +++ /dev/null @@ -1,33 +0,0 @@ -extern crate libc; - -use std::io; - -pub use self::libc::termios as Termios; - -pub mod attr; -pub mod size; -pub mod tty; - -// Support functions for converting libc return values to io errors { -trait IsMinusOne { - fn is_minus_one(&self) -> bool; -} - -macro_rules! impl_is_minus_one { - ($($t:ident)*) => ($(impl IsMinusOne for $t { - fn is_minus_one(&self) -> bool { - *self == -1 - } - })*) - } - -impl_is_minus_one! { i8 i16 i32 i64 isize } - -fn cvt(t: T) -> io::Result { - if t.is_minus_one() { - Err(io::Error::last_os_error()) - } else { - Ok(t) - } -} -// } End of support functions diff --git a/vendor/registry-40351f815f426200/termion/src/sys/unix/size.rs b/vendor/registry-40351f815f426200/termion/src/sys/unix/size.rs deleted file mode 100644 index 17f2515ae..000000000 --- a/vendor/registry-40351f815f426200/termion/src/sys/unix/size.rs +++ /dev/null @@ -1,20 +0,0 @@ -use std::{io, mem}; - -use super::cvt; -use super::libc::{c_ushort, ioctl, STDOUT_FILENO, TIOCGWINSZ}; - -#[repr(C)] -struct TermSize { - row: c_ushort, - col: c_ushort, - _x: c_ushort, - _y: c_ushort, -} -/// Get the size of the terminal. -pub fn terminal_size() -> io::Result<(u16, u16)> { - unsafe { - let mut size: TermSize = mem::zeroed(); - cvt(ioctl(STDOUT_FILENO, TIOCGWINSZ.into(), &mut size as *mut _))?; - Ok((size.col as u16, size.row as u16)) - } -} diff --git a/vendor/registry-40351f815f426200/termion/src/sys/unix/tty.rs b/vendor/registry-40351f815f426200/termion/src/sys/unix/tty.rs deleted file mode 100644 index 2be936347..000000000 --- a/vendor/registry-40351f815f426200/termion/src/sys/unix/tty.rs +++ /dev/null @@ -1,17 +0,0 @@ -use std::{fs, io}; -use std::os::unix::io::AsRawFd; - -use super::libc; - - -/// Is this stream a TTY? -pub fn is_tty(stream: &T) -> bool { - unsafe { libc::isatty(stream.as_raw_fd()) == 1 } -} - -/// Get the TTY device. -/// -/// This allows for getting stdio representing _only_ the TTY, and not other streams. -pub fn get_tty() -> io::Result { - fs::OpenOptions::new().read(true).write(true).open("/dev/tty") -} diff --git a/vendor/registry-40351f815f426200/textwrap/.cargo-checksum.json b/vendor/registry-40351f815f426200/textwrap/.cargo-checksum.json deleted file mode 100644 index fef68eef8..000000000 --- a/vendor/registry-40351f815f426200/textwrap/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"cb72f8ac90e87d794252acfe2e957fbe0effe937ab2eded759af1daad4bc052d","LICENSE":"ce93600c49fbb3e14df32efe752264644f6a2f8e08a735ba981725799e5309ef","README.md":"9cd343e0b056f823677521bfe96b3ff1440d6a5e4455179ae3fe28cd6c4038da","benches/linear.rs":"0484029d32f3f0e8e0d61085db9cdae610019241a73f05485f9b9a9a7a5e1c53","examples/layout.rs":"7758e5526a8b1718c7a69748a4f63703545b6ac13042d753a6d14de0a1b3edcf","examples/termwidth.rs":"f969e869802d21daf59d1ae23c668539bfb493d5b9ef9c7cbc9de30ce315a529","src/lib.rs":"2c42a300a12236d36d855c2799dae69b1a9de69de97e655d4ced409e814d5c7b","tests/version-numbers.rs":"0d75532e72e9054cb8c8c12b8851e55fad7319ed14482b562f6806872f18dd0f"},"package":"c0b59b6b4b44d867f1370ef1bd91bfb262bf07bf0ae65c202ea2fbc16153b693"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/textwrap/Cargo.toml b/vendor/registry-40351f815f426200/textwrap/Cargo.toml deleted file mode 100644 index 73e8d0f8c..000000000 --- a/vendor/registry-40351f815f426200/textwrap/Cargo.toml +++ /dev/null @@ -1,49 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "textwrap" -version = "0.9.0" -authors = ["Martin Geisler "] -exclude = [".dir-locals.el"] -description = "Textwrap is a small library for word wrapping, indenting, and\ndedenting strings.\n\nYou can use it to format strings (such as help and error messages) for\ndisplay in commandline applications. It is designed to be efficient\nand handle Unicode characters correctly.\n" -documentation = "https://docs.rs/textwrap/" -readme = "README.md" -keywords = ["text", "formatting", "wrap", "typesetting", "hyphenation"] -categories = ["text-processing", "command-line-interface"] -license = "MIT" -repository = "https://github.com/mgeisler/textwrap" -[package.metadata.docs.rs] -all-features = true -[dependencies.unicode-width] -version = "0.1.3" - -[dependencies.hyphenation] -version = "0.6.1" -optional = true - -[dependencies.term_size] -version = "0.3.0" -optional = true -[dev-dependencies.lipsum] -version = "0.3" - -[dev-dependencies.version-sync] -version = "0.2" - -[dev-dependencies.rand] -version = "0.3" -[badges.appveyor] -repository = "mgeisler/textwrap" - -[badges.travis-ci] -repository = "mgeisler/textwrap" diff --git a/vendor/registry-40351f815f426200/textwrap/LICENSE b/vendor/registry-40351f815f426200/textwrap/LICENSE deleted file mode 100644 index 0d37ec389..000000000 --- a/vendor/registry-40351f815f426200/textwrap/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2016 Martin Geisler - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/vendor/registry-40351f815f426200/textwrap/README.md b/vendor/registry-40351f815f426200/textwrap/README.md deleted file mode 100644 index 7cdfb6006..000000000 --- a/vendor/registry-40351f815f426200/textwrap/README.md +++ /dev/null @@ -1,323 +0,0 @@ -# Textwrap - -[![](https://img.shields.io/crates/v/textwrap.svg)][crates-io] -[![](https://docs.rs/textwrap/badge.svg)][api-docs] -[![](https://travis-ci.org/mgeisler/textwrap.svg?branch=master)][travis-ci] -[![](https://ci.appveyor.com/api/projects/status/yo6iak55nraupjw3/branch/master?svg=true)][appveyor] - -Textwrap is a small Rust crate for word wrapping text. You can use it -to format strings for display in commandline applications. The crate -name and interface is inspired by -the [Python textwrap module][py-textwrap]. - -## Usage - -Add this to your `Cargo.toml`: -```toml -[dependencies] -textwrap = "0.9" -``` - -and this to your crate root: -```rust -extern crate textwrap; -``` - -If you would like to have automatic hyphenation, specify the -dependency as: -```toml -[dependencies] -textwrap = { version = "0.9", features = ["hyphenation"] } -``` - -To conveniently wrap text at the current terminal width, enable the -`term_size` feature: - -```toml -[dependencies] -textwrap = { version = "0.9", features = ["term_size"] } -``` - -## Documentation - -**[API documentation][api-docs]** - -## Getting Started - -Word wrapping single strings is easy using the `fill` function: -```rust -extern crate textwrap; -use textwrap::fill; - -fn main() { - let text = "textwrap: a small library for wrapping text."; - println!("{}", fill(text, 18)); -} -``` -The output is -``` -textwrap: a small -library for -wrapping text. -``` - -With the `hyphenation` feature, you can get automatic hyphenation -for [about 70 languages][patterns]. Your program must load and -configure the hyphenation patterns to use: -```rust -extern crate hyphenation; -extern crate textwrap; - -use hyphenation::Language; -use textwrap::Wrapper; - -fn main() { - let corpus = hyphenation::load(Language::English_US).unwrap(); - let wrapper = Wrapper::with_splitter(18, corpus); - let text = "textwrap: a small library for wrapping text."; - println!("{}", wrapper.fill(text)) -} -``` - -The output now looks like this: -``` -textwrap: a small -library for wrap- -ping text. -``` - -The hyphenation uses high-quality TeX hyphenation patterns. - -## Examples - -The library comes with some small example programs that shows various -features. - -### Layout Example - -The `layout` example shows how a fixed example string is wrapped at -different widths. Run the example with: - -```shell -$ cargo run --features hyphenation --example layout -``` - -The program will use the following string: - -> Memory safety without garbage collection. Concurrency without data -> races. Zero-cost abstractions. - -The string is wrapped at all widths between 15 and 60 columns. With -narrow columns the output looks like this: - -``` -.--- Width: 15 ---. -| Memory safety | -| without garbage | -| collection. | -| Concurrency | -| without data | -| races. Zero- | -| cost abstrac- | -| tions. | -.--- Width: 16 ----. -| Memory safety | -| without garbage | -| collection. Con- | -| currency without | -| data races. Ze- | -| ro-cost abstrac- | -| tions. | -``` - -Later, longer lines are used and the output now looks like this: - -``` -.-------------------- Width: 49 --------------------. -| Memory safety without garbage collection. Concur- | -| rency without data races. Zero-cost abstractions. | -.---------------------- Width: 53 ----------------------. -| Memory safety without garbage collection. Concurrency | -| without data races. Zero-cost abstractions. | -.------------------------- Width: 59 -------------------------. -| Memory safety without garbage collection. Concurrency with- | -| out data races. Zero-cost abstractions. | -``` - -Notice how words are split at hyphens (such as "zero-cost") but also -how words are hyphenated using automatic/machine hyphenation. - -### Terminal Width Example - -The `termwidth` example simply shows how the width can be set -automatically to the current terminal width. Run it with this command: - -``` -$ cargo run --example termwidth -``` - -If you run it in a narrow terminal, you'll see output like this: -``` -Formatted in within 60 columns: ----- -Memory safety without garbage collection. Concurrency -without data races. Zero-cost abstractions. ----- -``` - -If `stdout` is not connected to the terminal, the program will use a -default of 80 columns for the width: - -``` -$ cargo run --example termwidth | cat -Formatted in within 80 columns: ----- -Memory safety without garbage collection. Concurrency without data races. Zero- -cost abstractions. ----- -``` - -## Release History - -This section lists the largest changes per release. - -### Version 0.9.0 — October 5th, 2017 - -The dependency on `term_size` is now optional, and by default this -feature is not enabled. This is a *breaking change* for users of -`Wrapper::with_termwidth`. Enable the `term_size` feature to restore -the old functionality. - -Added a regression test for case where width is set to usize::MAX. -Thanks @Fraser999! All public structs now implement `Debug`. - -Issues closed: - -* Fixed [#101][issue-101]: Remove `term_size` as a (hard required) - dependency. - -### Version 0.8.0 — September 4th, 2017 - -The `Wrapper` stuct is now generic over the type of word splitter -being used. This means less boxing and a nicer API. The -`Wrapper::word_splitter` method has been removed. This is a *breaking -API change* if you used the method to change the word splitter. - -The `Wrapper` struct has two new methods that will wrap the input text -lazily: `Wrapper::wrap_iter` and `Wrapper::into_wrap_iter`. Use those -if you will be iterating over the wrapped lines one by one. - -Issues closed: - -* Fixed [#59][issue-59]: `wrap` could return an iterator. Thanks - @hcpl! - -* Fixed [#81][issue-81]: Set `html_root_url` - -### Version 0.7.0 — July 20th, 2017 - -Version 0.7.0 changes the return type of `Wrapper::wrap` from -`Vec` to `Vec>`. This means that the output lines -borrow data from the input string. This is a *breaking API change* if -you relied on the exact return type of `Wrapper::wrap`. Callers of the -`textwrap::fill` convenience function will see no breakage. - -The above change and other optimizations makes version 0.7.0 roughly -15-30% faster than version 0.6.0. - -The `squeeze_whitespace` option has been removed since it was -complicating the above optimization. Let us know if this option is -important for you so we can provide a work around. - -Issues closed: - -* Fixed [#58][issue-58]: Add a "fast_wrap" function that reuses the - input string - -* Fixed [#61][issue-61]: Documentation errors - -### Version 0.6.0 — May 22nd, 2017 - -Version 0.6.0 adds builder methods to `Wrapper` for easy one-line -initialization and configuration: - -```rust -let wrapper = Wrapper::new(60).break_words(false); -``` - -It also add a new `NoHyphenation` word splitter that will never split -words, not even at existing hyphens. - -Issues closed: - -* Fixed [#28][issue-28]: Support not squeezing whitespace - -### Version 0.5.0 — May 15th, 2017 - -Version 0.5.0 has *breaking API changes*. However, this only affects -code using the hyphenation feature. The feature is now optional, so -you will first need to enable the `hyphenation` feature as described -above. Afterwards, please change your code from -```rust -wrapper.corpus = Some(&corpus); -``` -to -```rust -wrapper.splitter = Box::new(corpus); -``` - -Other changes include optimizations, so version 0.5.0 is roughly -10-15% faster than version 0.4.0. - -Issues closed: - -* Fixed [#19][issue-19]: Add support for finding terminal size -* Fixed [#25][issue-25]: Handle words longer than `self.width` -* Fixed [#26][issue-26]: Support custom indentation -* Fixed [#36][issue-36]: Support building without `hyphenation` -* Fixed [#39][issue-39]: Respect non-breaking spaces - -### Version 0.4.0 — January 24th, 2017 - -Documented complexities and tested these via `cargo bench`. - -* Fixed [#13][issue-13]: Immediatedly add word if it fits -* Fixed [#14][issue-14]: Avoid splitting on initial hyphens in `--foo-bar` - -### Version 0.3.0 — January 7th, 2017 - -Added support for automatic hyphenation. - -### Version 0.2.0 — December 28th, 2016 - -Introduced `Wrapper` struct. Added support for wrapping on hyphens. - -### Version 0.1.0 — December 17th, 2016 - -First public release with support for wrapping strings on whitespace. - -## License - -Textwrap can be distributed according to the [MIT license][mit]. -Contributions will be accepted under the same license. - -[crates-io]: https://crates.io/crates/textwrap -[travis-ci]: https://travis-ci.org/mgeisler/textwrap -[appveyor]: https://ci.appveyor.com/project/mgeisler/textwrap -[py-textwrap]: https://docs.python.org/library/textwrap -[patterns]: https://github.com/tapeinosyne/hyphenation/tree/master/patterns-tex -[api-docs]: https://docs.rs/textwrap/ -[issue-13]: https://github.com/mgeisler/textwrap/issues/13 -[issue-14]: https://github.com/mgeisler/textwrap/issues/14 -[issue-19]: https://github.com/mgeisler/textwrap/issues/19 -[issue-25]: https://github.com/mgeisler/textwrap/issues/25 -[issue-26]: https://github.com/mgeisler/textwrap/issues/26 -[issue-28]: https://github.com/mgeisler/textwrap/issues/28 -[issue-36]: https://github.com/mgeisler/textwrap/issues/36 -[issue-39]: https://github.com/mgeisler/textwrap/issues/39 -[issue-58]: https://github.com/mgeisler/textwrap/issues/58 -[issue-59]: https://github.com/mgeisler/textwrap/issues/59 -[issue-61]: https://github.com/mgeisler/textwrap/issues/61 -[issue-81]: https://github.com/mgeisler/textwrap/issues/81 -[issue-101]: https://github.com/mgeisler/textwrap/issues/101 -[mit]: LICENSE diff --git a/vendor/registry-40351f815f426200/textwrap/benches/linear.rs b/vendor/registry-40351f815f426200/textwrap/benches/linear.rs deleted file mode 100644 index cc805474d..000000000 --- a/vendor/registry-40351f815f426200/textwrap/benches/linear.rs +++ /dev/null @@ -1,122 +0,0 @@ -#![feature(test)] - -// The benchmarks here verify that the complexity grows as O(*n*) -// where *n* is the number of characters in the text to be wrapped. - -extern crate test; -extern crate rand; -extern crate lipsum; -extern crate textwrap; -#[cfg(feature = "hyphenation")] -extern crate hyphenation; - -use test::Bencher; -#[cfg(feature = "hyphenation")] -use hyphenation::Language; -#[cfg(feature = "hyphenation")] -use textwrap::Wrapper; -use rand::XorShiftRng; -use lipsum::MarkovChain; - -const LINE_LENGTH: usize = 60; - -/// Generate a lorem ipsum text with the given number of characters. -fn lorem_ipsum(length: usize) -> String { - // The average word length in the lorem ipsum text is somewhere - // between 6 and 7. So we conservatively divide by 5 to have a - // long enough text that we can truncate below. - let rng = XorShiftRng::new_unseeded(); - let mut chain = MarkovChain::new_with_rng(rng); - chain.learn(lipsum::LOREM_IPSUM); - chain.learn(lipsum::LIBER_PRIMUS); - - let mut text = chain.generate_from(length / 5, ("Lorem", "ipsum")); - text.truncate(length); - text -} - -#[bench] -fn fill_100(b: &mut Bencher) { - let text = &lorem_ipsum(100); - b.iter(|| textwrap::fill(text, LINE_LENGTH)) -} - -#[bench] -fn fill_200(b: &mut Bencher) { - let text = &lorem_ipsum(200); - b.iter(|| textwrap::fill(text, LINE_LENGTH)) -} - -#[bench] -fn fill_400(b: &mut Bencher) { - let text = &lorem_ipsum(400); - b.iter(|| textwrap::fill(text, LINE_LENGTH)) -} - -#[bench] -fn fill_800(b: &mut Bencher) { - let text = &lorem_ipsum(800); - b.iter(|| textwrap::fill(text, LINE_LENGTH)) -} - - -#[bench] -fn wrap_100(b: &mut Bencher) { - let text = &lorem_ipsum(100); - b.iter(|| textwrap::wrap(text, LINE_LENGTH)) -} - -#[bench] -fn wrap_200(b: &mut Bencher) { - let text = &lorem_ipsum(200); - b.iter(|| textwrap::wrap(text, LINE_LENGTH)) -} - -#[bench] -fn wrap_400(b: &mut Bencher) { - let text = &lorem_ipsum(400); - b.iter(|| textwrap::wrap(text, LINE_LENGTH)) -} - -#[bench] -fn wrap_800(b: &mut Bencher) { - let text = &lorem_ipsum(800); - b.iter(|| textwrap::wrap(text, LINE_LENGTH)) -} - - -#[bench] -#[cfg(feature = "hyphenation")] -fn hyphenation_fill_100(b: &mut Bencher) { - let text = &lorem_ipsum(100); - let corpus = hyphenation::load(Language::Latin).unwrap(); - let wrapper = Wrapper::with_splitter(LINE_LENGTH, corpus); - b.iter(|| wrapper.fill(text)) -} - -#[bench] -#[cfg(feature = "hyphenation")] -fn hyphenation_fill_200(b: &mut Bencher) { - let text = &lorem_ipsum(200); - let corpus = hyphenation::load(Language::Latin).unwrap(); - let wrapper = Wrapper::with_splitter(LINE_LENGTH, corpus); - b.iter(|| wrapper.fill(text)) -} - -#[bench] -#[cfg(feature = "hyphenation")] -fn hyphenation_fill_400(b: &mut Bencher) { - let text = &lorem_ipsum(400); - let corpus = hyphenation::load(Language::Latin).unwrap(); - let wrapper = Wrapper::with_splitter(LINE_LENGTH, corpus); - b.iter(|| wrapper.fill(text)) -} - -#[bench] -#[cfg(feature = "hyphenation")] -fn hyphenation_fill_800(b: &mut Bencher) { - let text = &lorem_ipsum(800); - let corpus = hyphenation::load(Language::Latin).unwrap(); - let wrapper = Wrapper::with_splitter(LINE_LENGTH, corpus); - b.iter(|| wrapper.fill(text)) -} diff --git a/vendor/registry-40351f815f426200/textwrap/examples/layout.rs b/vendor/registry-40351f815f426200/textwrap/examples/layout.rs deleted file mode 100644 index 6d3d10242..000000000 --- a/vendor/registry-40351f815f426200/textwrap/examples/layout.rs +++ /dev/null @@ -1,39 +0,0 @@ -#[cfg(feature = "hyphenation")] -extern crate hyphenation; -extern crate textwrap; - -#[cfg(feature = "hyphenation")] -use hyphenation::Language; -use textwrap::Wrapper; - - -#[cfg(not(feature = "hyphenation"))] -fn new_wrapper<'a>() -> Wrapper<'a, textwrap::HyphenSplitter> { - Wrapper::new(0) -} - -#[cfg(feature = "hyphenation")] -fn new_wrapper<'a>() -> Wrapper<'a, hyphenation::Corpus> { - let corpus = hyphenation::load(Language::English_US).unwrap(); - Wrapper::with_splitter(0, corpus) -} - -fn main() { - let example = "Memory safety without garbage collection. \ - Concurrency without data races. \ - Zero-cost abstractions."; - let mut prev_lines = vec![]; - let mut wrapper = new_wrapper(); - for width in 15..60 { - wrapper.width = width; - let lines = wrapper.wrap(example); - if lines != prev_lines { - let title = format!(" Width: {} ", width); - println!(".{:-^1$}.", title, width + 2); - for line in &lines { - println!("| {:1$} |", line, width); - } - prev_lines = lines; - } - } -} diff --git a/vendor/registry-40351f815f426200/textwrap/examples/termwidth.rs b/vendor/registry-40351f815f426200/textwrap/examples/termwidth.rs deleted file mode 100644 index 7d81a5c65..000000000 --- a/vendor/registry-40351f815f426200/textwrap/examples/termwidth.rs +++ /dev/null @@ -1,21 +0,0 @@ -#[cfg(feature = "term_size")] -extern crate textwrap; - -#[cfg(not(feature = "term_size"))] -fn main() { - println!("Please enable the term_size feature to run this example."); -} - -#[cfg(feature = "term_size")] -fn main() { - let example = "Memory safety without garbage collection. \ - Concurrency without data races. \ - Zero-cost abstractions."; - // Create a new Wrapper -- automatically set the width to the - // current terminal width. - let wrapper = textwrap::Wrapper::with_termwidth(); - println!("Formatted in within {} columns:", wrapper.width); - println!("----"); - println!("{}", wrapper.fill(example)); - println!("----"); -} diff --git a/vendor/registry-40351f815f426200/textwrap/src/lib.rs b/vendor/registry-40351f815f426200/textwrap/src/lib.rs deleted file mode 100644 index 14476b36c..000000000 --- a/vendor/registry-40351f815f426200/textwrap/src/lib.rs +++ /dev/null @@ -1,1216 +0,0 @@ -//! `textwrap` provides functions for word wrapping and filling text. -//! -//! Wrapping text can be very useful in commandline programs where you -//! want to format dynamic output nicely so it looks good in a -//! terminal. A quick example: -//! -//! ```no_run -//! extern crate textwrap; -//! use textwrap::fill; -//! -//! fn main() { -//! let text = "textwrap: a small library for wrapping text."; -//! println!("{}", fill(text, 18)); -//! } -//! ``` -//! -//! This will display the following output: -//! -//! ```text -//! textwrap: a small -//! library for -//! wrapping text. -//! ``` -//! -//! # Displayed Width vs Byte Size -//! -//! To word wrap text, one must know the width of each word so one can -//! know when to break lines. This library measures the width of text -//! using the [displayed width][unicode-width], not the size in bytes. -//! -//! This is important for non-ASCII text. ASCII characters such as `a` -//! and `!` are simple and take up one column each. This means that -//! the displayed width is equal to the string length in bytes. -//! However, non-ASCII characters and symbols take up more than one -//! byte when UTF-8 encoded: `é` is `0xc3 0xa9` (two bytes) and `⚙` is -//! `0xe2 0x9a 0x99` (three bytes) in UTF-8, respectively. -//! -//! This is why we take care to use the displayed width instead of the -//! byte count when computing line lengths. All functions in this -//! library handle Unicode characters like this. -//! -//! [unicode-width]: https://docs.rs/unicode-width/ - -#![doc(html_root_url = "https://docs.rs/textwrap/0.9.0")] -#![deny(missing_docs)] -#![deny(missing_debug_implementations)] - -extern crate unicode_width; -#[cfg(feature = "term_size")] -extern crate term_size; -#[cfg(feature = "hyphenation")] -extern crate hyphenation; - -use std::fmt; -use std::borrow::Cow; -use std::str::CharIndices; - -use unicode_width::UnicodeWidthStr; -use unicode_width::UnicodeWidthChar; -#[cfg(feature = "hyphenation")] -use hyphenation::{Hyphenation, Corpus}; - -/// A non-breaking space. -const NBSP: char = '\u{a0}'; - -/// An interface for splitting words. -/// -/// When the [`wrap_iter`] method will try to fit text into a line, it -/// will eventually find a word that it too large the current text -/// width. It will then call the currently configured `WordSplitter` to -/// have it attempt to split the word into smaller parts. This trait -/// describes that functionality via the [`split`] method. -/// -/// If the `textwrap` crate has been compiled with the `hyphenation` -/// feature enabled, you will find an implementation of `WordSplitter` -/// by the `hyphenation::language::Corpus` struct. Use this struct for -/// language-aware hyphenation. See the [`hyphenation` documentation] -/// for details. -/// -/// [`wrap_iter`]: struct.Wrapper.html#method.wrap_iter -/// [`split`]: #tymethod.split -/// [`hyphenation` documentation]: https://docs.rs/hyphenation/ -pub trait WordSplitter { - /// Return all possible splits of word. Each split is a triple - /// with a head, a hyphen, and a tail where `head + &hyphen + - /// &tail == word`. The hyphen can be empty if there is already a - /// hyphen in the head. - /// - /// The splits should go from smallest to longest and should - /// include no split at all. So the word "technology" could be - /// split into - /// - /// ```no_run - /// vec![("tech", "-", "nology"), - /// ("technol", "-", "ogy"), - /// ("technolo", "-", "gy"), - /// ("technology", "", "")]; - /// ``` - fn split<'w>(&self, word: &'w str) -> Vec<(&'w str, &'w str, &'w str)>; -} - -/// Use this as a [`Wrapper.splitter`] to avoid any kind of -/// hyphenation: -/// -/// ``` -/// use textwrap::{Wrapper, NoHyphenation}; -/// -/// let wrapper = Wrapper::with_splitter(8, NoHyphenation); -/// assert_eq!(wrapper.wrap("foo bar-baz"), vec!["foo", "bar-baz"]); -/// ``` -/// -/// [`Wrapper.splitter`]: struct.Wrapper.html#structfield.splitter -#[derive(Clone, Debug)] -pub struct NoHyphenation; - -/// `NoHyphenation` implements `WordSplitter` by not splitting the -/// word at all. -impl WordSplitter for NoHyphenation { - fn split<'w>(&self, word: &'w str) -> Vec<(&'w str, &'w str, &'w str)> { - vec![(word, "", "")] - } -} - -/// Simple and default way to split words: splitting on existing -/// hyphens only. -/// -/// You probably don't need to use this type since it's already used -/// by default by `Wrapper::new`. -#[derive(Clone, Debug)] -pub struct HyphenSplitter; - -/// `HyphenSplitter` is the default `WordSplitter` used by -/// `Wrapper::new`. It will split words on any existing hyphens in the -/// word. -/// -/// It will only use hyphens that are surrounded by alphanumeric -/// characters, which prevents a word like "--foo-bar" from being -/// split on the first or second hyphen. -impl WordSplitter for HyphenSplitter { - fn split<'w>(&self, word: &'w str) -> Vec<(&'w str, &'w str, &'w str)> { - let mut triples = Vec::new(); - // Split on hyphens, smallest split first. We only use hyphens - // that are surrounded by alphanumeric characters. This is to - // avoid splitting on repeated hyphens, such as those found in - // --foo-bar. - let mut char_indices = word.char_indices(); - // Early return if the word is empty. - let mut prev = match char_indices.next() { - None => return vec![(word, "", "")], - Some((_, ch)) => ch, - }; - - // Find current word, or return early if the word only has a - // single character. - let (mut idx, mut cur) = match char_indices.next() { - None => return vec![(word, "", "")], - Some((idx, cur)) => (idx, cur), - }; - - for (i, next) in char_indices { - if prev.is_alphanumeric() && cur == '-' && next.is_alphanumeric() { - let (head, tail) = word.split_at(idx + 1); - triples.push((head, "", tail)); - } - prev = cur; - idx = i; - cur = next; - } - - // Finally option is no split at all. - triples.push((word, "", "")); - - triples - } -} - -/// A hyphenation Corpus can be used to do language-specific -/// hyphenation using patterns from the hyphenation crate. -#[cfg(feature = "hyphenation")] -impl WordSplitter for Corpus { - fn split<'w>(&self, word: &'w str) -> Vec<(&'w str, &'w str, &'w str)> { - // Find splits based on language corpus. - let mut triples = Vec::new(); - for n in word.opportunities(self) { - let (head, tail) = word.split_at(n); - let hyphen = if head.ends_with('-') { "" } else { "-" }; - triples.push((head, hyphen, tail)); - } - // Finally option is no split at all. - triples.push((word, "", "")); - - triples - } -} - -/// Backport of the `AddAssign` trait implementation from Rust 1.14. -fn cow_add_assign<'a>(lhs: &mut Cow<'a, str>, rhs: &'a str) { - if lhs.is_empty() { - *lhs = Cow::Borrowed(rhs) - } else if rhs.is_empty() { - return; - } else { - if let Cow::Borrowed(inner) = *lhs { - let mut s = String::with_capacity(lhs.len() + rhs.len()); - s.push_str(inner); - *lhs = Cow::Owned(s); - } - lhs.to_mut().push_str(rhs); - } -} - - -/// A Wrapper holds settings for wrapping and filling text. Use it -/// when the convenience [`wrap_iter`], [`wrap`] and [`fill`] functions -/// are not flexible enough. -/// -/// [`wrap_iter`]: fn.wrap_iter.html -/// [`wrap`]: fn.wrap.html -/// [`fill`]: fn.fill.html -/// -/// The algorithm used by the `WrapIter` iterator (returned from the -/// `wrap_iter` method) works by doing successive partial scans over -/// words in the input string (where each single scan yields a single -/// line) so that the overall time and memory complexity is O(*n*) where -/// *n* is the length of the input string. -#[derive(Clone, Debug)] -pub struct Wrapper<'a, S: WordSplitter> { - /// The width in columns at which the text will be wrapped. - pub width: usize, - /// Indentation used for the first line of output. - pub initial_indent: &'a str, - /// Indentation used for subsequent lines of output. - pub subsequent_indent: &'a str, - /// Allow long words to be broken if they cannot fit on a line. - /// When set to `false`, some lines may be longer than - /// `self.width`. - pub break_words: bool, - /// The method for splitting words. If the `hyphenation` feature - /// is enabled, you can use a `hyphenation::language::Corpus` here - /// to get language-aware hyphenation. - pub splitter: S, -} - -impl<'a> Wrapper<'a, HyphenSplitter> { - /// Create a new Wrapper for wrapping at the specified width. By - /// default, we allow words longer than `width` to be broken. A - /// [`HyphenSplitter`] will be used by default for splitting - /// words. See the [`WordSplitter`] trait for other options. - /// - /// [`HyphenSplitter`]: struct.HyphenSplitter.html - /// [`WordSplitter`]: trait.WordSplitter.html - pub fn new(width: usize) -> Wrapper<'a, HyphenSplitter> { - Wrapper::with_splitter(width, HyphenSplitter) - } - - /// Create a new Wrapper for wrapping text at the current terminal - /// width. If the terminal width cannot be determined (typically - /// because the standard input and output is not connected to a - /// terminal), a width of 80 characters will be used. Other - /// settings use the same defaults as `Wrapper::new`. - /// - /// Equivalent to: - /// - /// ```no_run - /// # #![allow(unused_variables)] - /// use textwrap::{Wrapper, termwidth}; - /// - /// let wrapper = Wrapper::new(termwidth()); - /// ``` - #[cfg(feature = "term_size")] - pub fn with_termwidth() -> Wrapper<'a, HyphenSplitter> { - Wrapper::new(termwidth()) - } -} - -impl<'w, 'a: 'w, S: WordSplitter> Wrapper<'a, S> { - /// Use the given [`WordSplitter`] to create a new Wrapper for - /// wrapping at the specified width. By default, we allow words - /// longer than `width` to be broken. - /// - /// [`WordSplitter`]: trait.WordSplitter.html - pub fn with_splitter(width: usize, splitter: S) -> Wrapper<'a, S> { - Wrapper { - width: width, - initial_indent: "", - subsequent_indent: "", - break_words: true, - splitter: splitter, - } - } - - /// Change [`self.initial_indent`]. The initial indentation is - /// used on the very first line of output. - /// - /// # Examples - /// - /// Classic paragraph indentation can be achieved by specifying an - /// initial indentation and wrapping each paragraph by itself: - /// - /// ```no_run - /// # #![allow(unused_variables)] - /// use textwrap::Wrapper; - /// - /// let wrapper = Wrapper::new(15).initial_indent(" "); - /// ``` - /// - /// [`self.initial_indent`]: #structfield.initial_indent - pub fn initial_indent(self, indent: &'a str) -> Wrapper<'a, S> { - Wrapper { initial_indent: indent, ..self } - } - - /// Change [`self.subsequent_indent`]. The subsequent indentation - /// is used on lines following the first line of output. - /// - /// # Examples - /// - /// Combining initial and subsequent indentation lets you format a - /// single paragraph as a bullet list: - /// - /// ```no_run - /// # #![allow(unused_variables)] - /// use textwrap::Wrapper; - /// - /// let wrapper = Wrapper::new(15) - /// .initial_indent("* ") - /// .subsequent_indent(" "); - /// ``` - /// - /// [`self.subsequent_indent`]: #structfield.subsequent_indent - pub fn subsequent_indent(self, indent: &'a str) -> Wrapper<'a, S> { - Wrapper { subsequent_indent: indent, ..self } - } - - /// Change [`self.break_words`]. This controls if words longer - /// than `self.width` can be broken, or if they will be left - /// sticking out into the right margin. - /// - /// [`self.break_words`]: #structfield.break_words - pub fn break_words(self, setting: bool) -> Wrapper<'a, S> { - Wrapper { break_words: setting, ..self } - } - - /// Fill a line of text at `self.width` characters. Strings are - /// wrapped based on their displayed width, not their size in - /// bytes. - /// - /// The result is a string with newlines between each line. Use - /// the `wrap` method if you need access to the individual lines. - /// - /// # Complexities - /// - /// This method simply joins the lines produced by `wrap_iter`. As - /// such, it inherits the O(*n*) time and memory complexity where - /// *n* is the input string length. - /// - /// # Examples - /// - /// ``` - /// use textwrap::Wrapper; - /// - /// let wrapper = Wrapper::new(15); - /// assert_eq!(wrapper.fill("Memory safety without garbage collection."), - /// "Memory safety\nwithout garbage\ncollection."); - /// ``` - pub fn fill(&self, s: &str) -> String { - // This will avoid reallocation in simple cases (no - // indentation, no hyphenation). - let mut result = String::with_capacity(s.len()); - - for (i, line) in self.wrap_iter(s).enumerate() { - if i > 0 { - result.push('\n'); - } - result.push_str(&line); - } - - result - } - - /// Wrap a line of text at `self.width` characters. Strings are - /// wrapped based on their displayed width, not their size in - /// bytes. - /// - /// # Complexities - /// - /// This method simply collects the lines produced by `wrap_iter`. - /// As such, it inherits the O(*n*) overall time and memory - /// complexity where *n* is the input string length. - /// - /// # Examples - /// - /// ``` - /// use textwrap::Wrapper; - /// - /// let wrap15 = Wrapper::new(15); - /// assert_eq!(wrap15.wrap("Concurrency without data races."), - /// vec!["Concurrency", - /// "without data", - /// "races."]); - /// - /// let wrap20 = Wrapper::new(20); - /// assert_eq!(wrap20.wrap("Concurrency without data races."), - /// vec!["Concurrency without", - /// "data races."]); - /// ``` - pub fn wrap(&self, s: &'a str) -> Vec> { - self.wrap_iter(s).collect::>() - } - - /// Lazily wrap a line of text at `self.width` characters. Strings - /// are wrapped based on their displayed width, not their size in - /// bytes. - /// - /// The [`WordSplitter`] stored in [`self.splitter`] is used - /// whenever when a word is too large to fit on the current line. - /// By changing the field, different hyphenation strategies can be - /// implemented. - /// - /// # Complexities - /// - /// This method returns a [`WrapIter`] iterator which borrows this - /// `Wrapper`. The algorithm used has a linear complexity, so - /// getting the next line from the iterator will take O(*w*) time, - /// where *w* is the wrapping width. Fully processing the iterator - /// will take O(*n*) time for an input string of length *n*. - /// - /// When no indentation is used, each line returned is a slice of - /// the input string and the memory overhead is thus constant. - /// Otherwise new memory is allocated for each line returned. - /// - /// # Examples - /// - /// ``` - /// use std::borrow::Cow; - /// use textwrap::Wrapper; - /// - /// let wrap20 = Wrapper::new(20); - /// let mut wrap20_iter = wrap20.wrap_iter("Zero-cost abstractions."); - /// assert_eq!(wrap20_iter.next(), Some(Cow::from("Zero-cost"))); - /// assert_eq!(wrap20_iter.next(), Some(Cow::from("abstractions."))); - /// assert_eq!(wrap20_iter.next(), None); - /// - /// let wrap25 = Wrapper::new(25); - /// let mut wrap25_iter = wrap25.wrap_iter("Zero-cost abstractions."); - /// assert_eq!(wrap25_iter.next(), Some(Cow::from("Zero-cost abstractions."))); - /// assert_eq!(wrap25_iter.next(), None); - /// ``` - /// - /// [`self.splitter`]: #structfield.splitter - /// [`WordSplitter`]: trait.WordSplitter.html - /// [`WrapIter`]: struct.WrapIter.html - pub fn wrap_iter(&'w self, s: &'a str) -> WrapIter<'w, 'a, S> { - WrapIter { - wrapper: self, - wrap_iter_impl: WrapIterImpl::new(self, s), - } - } - - /// Lazily wrap a line of text at `self.width` characters. Strings - /// are wrapped based on their displayed width, not their size in - /// bytes. - /// - /// The [`WordSplitter`] stored in [`self.splitter`] is used - /// whenever when a word is too large to fit on the current line. - /// By changing the field, different hyphenation strategies can be - /// implemented. - /// - /// # Complexities - /// - /// This method consumes the `Wrapper` and returns a - /// [`IntoWrapIter`] iterator. Fully processing the iterator has - /// the same O(*n*) time complexity as [`wrap_iter`], where *n* is - /// the length of the input string. - /// - /// # Examples - /// - /// ``` - /// use std::borrow::Cow; - /// use textwrap::Wrapper; - /// - /// let wrap20 = Wrapper::new(20); - /// let mut wrap20_iter = wrap20.into_wrap_iter("Zero-cost abstractions."); - /// assert_eq!(wrap20_iter.next(), Some(Cow::from("Zero-cost"))); - /// assert_eq!(wrap20_iter.next(), Some(Cow::from("abstractions."))); - /// assert_eq!(wrap20_iter.next(), None); - /// ``` - /// - /// [`self.splitter`]: #structfield.splitter - /// [`WordSplitter`]: trait.WordSplitter.html - /// [`IntoWrapIter`]: struct.IntoWrapIter.html - /// [`wrap_iter`]: #method.wrap_iter - pub fn into_wrap_iter(self, s: &'a str) -> IntoWrapIter<'a, S> { - let wrap_iter_impl = WrapIterImpl::new(&self, s); - - IntoWrapIter { - wrapper: self, - wrap_iter_impl: wrap_iter_impl, - } - } -} - - -/// An iterator over the lines of the input string which owns a -/// `Wrapper`. An instance of `IntoWrapIter` is typically obtained -/// through either [`wrap_iter`] or [`Wrapper::into_wrap_iter`]. -/// -/// Each call of `.next()` method yields a line wrapped in `Some` if the -/// input hasn't been fully processed yet. Otherwise it returns `None`. -/// -/// [`wrap_iter`]: fn.wrap_iter.html -/// [`Wrapper::into_wrap_iter`]: struct.Wrapper.html#method.into_wrap_iter -#[derive(Debug)] -pub struct IntoWrapIter<'a, S: WordSplitter> { - wrapper: Wrapper<'a, S>, - wrap_iter_impl: WrapIterImpl<'a>, -} - -impl<'a, S: WordSplitter> Iterator for IntoWrapIter<'a, S> { - type Item = Cow<'a, str>; - - fn next(&mut self) -> Option> { - self.wrap_iter_impl.impl_next(&self.wrapper) - } -} - -/// An iterator over the lines of the input string which borrows a -/// `Wrapper`. An instance of `WrapIter` is typically obtained -/// through the [`Wrapper::wrap_iter`] method. -/// -/// Each call of `.next()` method yields a line wrapped in `Some` if the -/// input hasn't been fully processed yet. Otherwise it returns `None`. -/// -/// [`Wrapper::wrap_iter`]: struct.Wrapper.html#method.wrap_iter -#[derive(Debug)] -pub struct WrapIter<'w, 'a: 'w, S: WordSplitter + 'w> { - wrapper: &'w Wrapper<'a, S>, - wrap_iter_impl: WrapIterImpl<'a>, -} - -impl<'w, 'a: 'w, S: WordSplitter> Iterator for WrapIter<'w, 'a, S> { - type Item = Cow<'a, str>; - - fn next(&mut self) -> Option> { - self.wrap_iter_impl.impl_next(self.wrapper) - } -} - -struct WrapIterImpl<'a> { - // String to wrap. - source: &'a str, - // CharIndices iterator over self.source. - char_indices: CharIndices<'a>, - // Is the next element the first one ever produced? - is_next_first: bool, - // Byte index where the current line starts. - start: usize, - // Byte index of the last place where the string can be split. - split: usize, - // Size in bytes of the character at self.source[self.split]. - split_len: usize, - // Width of self.source[self.start..idx]. - line_width: usize, - // Width of self.source[self.start..self.split]. - line_width_at_split: usize, - // Tracking runs of whitespace characters. - in_whitespace: bool, - // Has iterator finished producing elements? - finished: bool, -} - -impl<'a> fmt::Debug for WrapIterImpl<'a> { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.debug_struct("WrapIterImpl") - .field("source", &self.source) - .field("char_indices", &"CharIndices { ... }") - .field("is_next_first", &self.is_next_first) - .field("start", &self.start) - .field("split", &self.split) - .field("split_len", &self.split_len) - .field("line_width", &self.line_width) - .field("line_width_at_split", &self.line_width_at_split) - .field("in_whitespace", &self.in_whitespace) - .field("finished", &self.finished) - .finish() - } -} - -impl<'a> WrapIterImpl<'a> { - fn new(wrapper: &Wrapper<'a, S>, s: &'a str) -> WrapIterImpl<'a> { - WrapIterImpl { - source: s, - char_indices: s.char_indices(), - is_next_first: true, - start: 0, - split: 0, - split_len: 0, - line_width: wrapper.initial_indent.width(), - line_width_at_split: wrapper.initial_indent.width(), - in_whitespace: false, - finished: false, - } - } - - fn create_result_line(&mut self, wrapper: &Wrapper<'a, S>) -> Cow<'a, str> { - if self.is_next_first { - self.is_next_first = false; - Cow::from(wrapper.initial_indent) - } else { - Cow::from(wrapper.subsequent_indent) - } - } - - fn impl_next(&mut self, wrapper: &Wrapper<'a, S>) -> Option> { - if self.finished { - return None; - } - - while let Some((idx, ch)) = self.char_indices.next() { - let char_width = ch.width().unwrap_or(0); - let char_len = ch.len_utf8(); - if ch.is_whitespace() && ch != NBSP { - // Extend the previous split or create a new one. - if self.in_whitespace { - self.split_len += char_len; - } else { - self.split = idx; - self.split_len = char_len; - } - self.line_width_at_split = self.line_width + char_width; - self.in_whitespace = true; - } else if self.line_width + char_width > wrapper.width { - // There is no room for this character on the current - // line. Try to split the final word. - let remaining_text = &self.source[self.split + self.split_len..]; - let final_word = match remaining_text - .find(|ch: char| ch.is_whitespace() && ch != NBSP) { - Some(i) => &remaining_text[..i], - None => remaining_text, - }; - - let mut hyphen = ""; - let splits = wrapper.splitter.split(final_word); - for &(head, hyp, _) in splits.iter().rev() { - if self.line_width_at_split + head.width() + hyp.width() <= wrapper.width { - self.split += head.len(); - self.split_len = 0; - hyphen = hyp; - break; - } - } - - if self.start >= self.split { - // The word is too big to fit on a single line, so we - // need to split it at the current index. - if wrapper.break_words { - // Break work at current index. - self.split = idx; - self.split_len = 0; - self.line_width_at_split = self.line_width; - } else { - // Add smallest split. - self.split = self.start + splits[0].0.len(); - self.split_len = 0; - self.line_width_at_split = self.line_width; - } - } - - if self.start < self.split { - let mut result_line = self.create_result_line(wrapper); - cow_add_assign(&mut result_line, &self.source[self.start..self.split]); - cow_add_assign(&mut result_line, hyphen); - - self.start = self.split + self.split_len; - self.line_width += wrapper.subsequent_indent.width(); - self.line_width -= self.line_width_at_split; - self.line_width += char_width; - - return Some(result_line); - } - } else { - self.in_whitespace = false; - } - self.line_width += char_width; - } - - // Add final line. - let final_line = if self.start < self.source.len() { - let mut result_line = self.create_result_line(wrapper); - cow_add_assign(&mut result_line, &self.source[self.start..]); - - Some(result_line) - } else { - None - }; - - self.finished = true; - - final_line - } -} - - -/// Return the current terminal width. If the terminal width cannot be -/// determined (typically because the standard output is not connected -/// to a terminal), a default width of 80 characters will be used. -/// -/// # Examples -/// -/// Create a `Wrapper` for the current terminal with a two column -/// margin: -/// -/// ```no_run -/// # #![allow(unused_variables)] -/// use textwrap::{Wrapper, NoHyphenation, termwidth}; -/// -/// let width = termwidth() - 4; // Two columns on each side. -/// let wrapper = Wrapper::with_splitter(width, NoHyphenation) -/// .initial_indent(" ") -/// .subsequent_indent(" "); -/// ``` -#[cfg(feature = "term_size")] -pub fn termwidth() -> usize { - term_size::dimensions_stdout().map_or(80, |(w, _)| w) -} - -/// Fill a line of text at `width` characters. Strings are wrapped -/// based on their displayed width, not their size in bytes. -/// -/// The result is a string with newlines between each line. Use -/// [`wrap`] if you need access to the individual lines or -/// [`wrap_iter`] for its iterator counterpart. -/// -/// ``` -/// use textwrap::fill; -/// -/// assert_eq!(fill("Memory safety without garbage collection.", 15), -/// "Memory safety\nwithout garbage\ncollection."); -/// ``` -/// -/// This function creates a Wrapper on the fly with default settings. -/// If you need to set a language corpus for automatic hyphenation, or -/// need to fill many strings, then it is suggested to create a Wrapper -/// and call its [`fill` method]. -/// -/// [`wrap`]: fn.wrap.html -/// [`wrap_iter`]: fn.wrap_iter.html -/// [`fill` method]: struct.Wrapper.html#method.fill -pub fn fill(s: &str, width: usize) -> String { - Wrapper::new(width).fill(s) -} - -/// Wrap a line of text at `width` characters. Strings are wrapped -/// based on their displayed width, not their size in bytes. -/// -/// This function creates a Wrapper on the fly with default settings. -/// If you need to set a language corpus for automatic hyphenation, or -/// need to wrap many strings, then it is suggested to create a Wrapper -/// and call its [`wrap` method]. -/// -/// The result is a vector of strings. Use [`wrap_iter`] if you need an -/// iterator version. -/// -/// # Examples -/// -/// ``` -/// use textwrap::wrap; -/// -/// assert_eq!(wrap("Concurrency without data races.", 15), -/// vec!["Concurrency", -/// "without data", -/// "races."]); -/// -/// assert_eq!(wrap("Concurrency without data races.", 20), -/// vec!["Concurrency without", -/// "data races."]); -/// ``` -/// -/// [`wrap_iter`]: fn.wrap_iter.html -/// [`wrap` method]: struct.Wrapper.html#method.wrap -pub fn wrap(s: &str, width: usize) -> Vec> { - Wrapper::new(width).wrap(s) -} - -/// Lazily wrap a line of text at `self.width` characters. Strings are -/// wrapped based on their displayed width, not their size in bytes. -/// -/// This function creates a Wrapper on the fly with default settings. -/// It then calls the [`into_wrap_iter`] method. Hence, the return -/// value is an [`IntoWrapIter`], not a [`WrapIter`] as the function -/// name would otherwise suggest. -/// -/// If you need to set a language corpus for automatic hyphenation, or -/// need to wrap many strings, then it is suggested to create a Wrapper -/// and call its [`wrap_iter`] or [`into_wrap_iter`] methods. -/// -/// # Examples -/// -/// ``` -/// use std::borrow::Cow; -/// use textwrap::wrap_iter; -/// -/// let mut wrap20_iter = wrap_iter("Zero-cost abstractions.", 20); -/// assert_eq!(wrap20_iter.next(), Some(Cow::from("Zero-cost"))); -/// assert_eq!(wrap20_iter.next(), Some(Cow::from("abstractions."))); -/// assert_eq!(wrap20_iter.next(), None); -/// -/// let mut wrap25_iter = wrap_iter("Zero-cost abstractions.", 25); -/// assert_eq!(wrap25_iter.next(), Some(Cow::from("Zero-cost abstractions."))); -/// assert_eq!(wrap25_iter.next(), None); -/// ``` -/// -/// [`wrap_iter`]: struct.Wrapper.html#method.wrap_iter -/// [`into_wrap_iter`]: struct.Wrapper.html#method.into_wrap_iter -/// [`IntoWrapIter`]: struct.IntoWrapIter.html -/// [`WrapIter`]: struct.WrapIter.html -pub fn wrap_iter(s: &str, width: usize) -> IntoWrapIter { - Wrapper::new(width).into_wrap_iter(s) -} - -/// Add prefix to each non-empty line. -/// -/// ``` -/// use textwrap::indent; -/// -/// assert_eq!(indent("Foo\nBar\n", " "), " Foo\n Bar\n"); -/// ``` -/// -/// Empty lines (lines consisting only of whitespace) are not indented -/// and the whitespace is replaced by a single newline (`\n`): -/// -/// ``` -/// use textwrap::indent; -/// -/// assert_eq!(indent("Foo\n\nBar\n \t \nBaz\n", " "), -/// " Foo\n\n Bar\n\n Baz\n"); -/// ``` -/// -/// Leading and trailing whitespace on non-empty lines is kept -/// unchanged: -/// -/// ``` -/// use textwrap::indent; -/// -/// assert_eq!(indent(" \t Foo ", " "), " \t Foo \n"); -/// ``` -pub fn indent(s: &str, prefix: &str) -> String { - let mut result = String::new(); - for line in s.lines() { - if line.chars().any(|c| !c.is_whitespace()) { - result.push_str(prefix); - result.push_str(line); - } - result.push('\n'); - } - result -} - -/// Removes common leading whitespace from each line. -/// -/// This will look at each non-empty line and determine the maximum -/// amount of whitespace that can be removed from the line. -/// -/// ``` -/// use textwrap::dedent; -/// -/// assert_eq!(dedent(" 1st line\n 2nd line\n"), -/// "1st line\n2nd line\n"); -/// ``` -pub fn dedent(s: &str) -> String { - let mut prefix = String::new(); - let mut lines = s.lines(); - - // We first search for a non-empty line to find a prefix. - for line in &mut lines { - let whitespace = line.chars() - .take_while(|c| c.is_whitespace()) - .collect::(); - // Check if the line had anything but whitespace - if whitespace.len() < line.len() { - prefix = whitespace; - break; - } - } - - // We then continue looking through the remaining lines to - // possibly shorten the prefix. - for line in &mut lines { - let whitespace = line.chars() - .zip(prefix.chars()) - .take_while(|&(a, b)| a == b) - .map(|(_, b)| b) - .collect::(); - // Check if we have found a shorter prefix - if whitespace.len() < prefix.len() { - prefix = whitespace; - } - } - - // We now go over the lines a second time to build the result. - let mut result = String::new(); - for line in s.lines() { - if line.starts_with(&prefix) && line.chars().any(|c| !c.is_whitespace()) { - let (_, tail) = line.split_at(prefix.len()); - result.push_str(tail); - } - result.push('\n'); - } - result -} - -#[cfg(test)] -mod tests { - #[cfg(feature = "hyphenation")] - extern crate hyphenation; - - #[cfg(feature = "hyphenation")] - use hyphenation::Language; - use super::*; - - /// Add newlines. Ensures that the final line in the vector also - /// has a newline. - fn add_nl(lines: &[&str]) -> String { - lines.join("\n") + "\n" - } - - #[test] - fn no_wrap() { - assert_eq!(wrap("foo", 10), vec!["foo"]); - } - - #[test] - fn simple() { - assert_eq!(wrap("foo bar baz", 5), vec!["foo", "bar", "baz"]); - } - - #[test] - fn multi_word_on_line() { - assert_eq!(wrap("foo bar baz", 10), vec!["foo bar", "baz"]); - } - - #[test] - fn long_word() { - assert_eq!(wrap("foo", 0), vec!["f", "o", "o"]); - } - - #[test] - fn long_words() { - assert_eq!(wrap("foo bar", 0), vec!["f", "o", "o", "b", "a", "r"]); - } - - #[test] - fn max_width() { - assert_eq!(wrap("foo bar", usize::max_value()), vec!["foo bar"]); - } - - #[test] - fn leading_whitespace() { - assert_eq!(wrap(" foo bar", 6), vec![" foo", "bar"]); - } - - #[test] - fn trailing_whitespace() { - assert_eq!(wrap("foo bar ", 6), vec!["foo", "bar "]); - } - - #[test] - fn interior_whitespace() { - assert_eq!(wrap("foo: bar baz", 10), vec!["foo: bar", "baz"]); - } - - #[test] - fn extra_whitespace_start_of_line() { - // Whitespace is only significant inside a line. After a line - // gets too long and is broken, the first word starts in - // column zero and is not indented. The line before might end - // up with trailing whitespace. - assert_eq!(wrap("foo bar", 5), vec!["foo", "bar"]); - } - - #[test] - fn wide_character_handling() { - assert_eq!(wrap("Hello, World!", 15), vec!["Hello, World!"]); - assert_eq!(wrap("Hello, World!", 15), - vec!["Hello,", "World!"]); - } - - #[test] - fn indent_empty() { - let wrapper = Wrapper::new(10).initial_indent("!!!"); - assert_eq!(wrapper.fill(""), ""); - } - - #[test] - fn indent_single_line() { - let wrapper = Wrapper::new(10).initial_indent(">>>"); // No trailing space - assert_eq!(wrapper.fill("foo"), ">>>foo"); - } - - #[test] - fn indent_multiple_lines() { - let wrapper = Wrapper::new(6).initial_indent("* ").subsequent_indent(" "); - assert_eq!(wrapper.wrap("foo bar baz"), vec!["* foo", " bar", " baz"]); - } - - #[test] - fn indent_break_words() { - let wrapper = Wrapper::new(5).initial_indent("* ").subsequent_indent(" "); - assert_eq!(wrapper.wrap("foobarbaz"), vec!["* foo", " bar", " baz"]); - } - - #[test] - fn hyphens() { - assert_eq!(wrap("foo-bar", 5), vec!["foo-", "bar"]); - } - - #[test] - fn trailing_hyphen() { - let wrapper = Wrapper::new(5).break_words(false); - assert_eq!(wrapper.wrap("foobar-"), vec!["foobar-"]); - } - - #[test] - fn multiple_hyphens() { - assert_eq!(wrap("foo-bar-baz", 5), vec!["foo-", "bar-", "baz"]); - } - - #[test] - fn hyphens_flag() { - let wrapper = Wrapper::new(5).break_words(false); - assert_eq!(wrapper.wrap("The --foo-bar flag."), - vec!["The", "--foo-", "bar", "flag."]); - } - - #[test] - fn repeated_hyphens() { - let wrapper = Wrapper::new(4).break_words(false); - assert_eq!(wrapper.wrap("foo--bar"), vec!["foo--bar"]); - } - - #[test] - fn hyphens_alphanumeric() { - assert_eq!(wrap("Na2-CH4", 5), vec!["Na2-", "CH4"]); - } - - #[test] - fn hyphens_non_alphanumeric() { - let wrapper = Wrapper::new(5).break_words(false); - assert_eq!(wrapper.wrap("foo(-)bar"), vec!["foo(-)bar"]); - } - - #[test] - fn multiple_splits() { - assert_eq!(wrap("foo-bar-baz", 9), vec!["foo-bar-", "baz"]); - } - - #[test] - fn forced_split() { - let wrapper = Wrapper::new(5).break_words(false); - assert_eq!(wrapper.wrap("foobar-baz"), vec!["foobar-", "baz"]); - } - - #[test] - fn no_hyphenation() { - let wrapper = Wrapper::with_splitter(8, NoHyphenation); - assert_eq!(wrapper.wrap("foo bar-baz"), vec!["foo", "bar-baz"]); - } - - #[test] - #[cfg(feature = "hyphenation")] - fn auto_hyphenation() { - let corpus = hyphenation::load(Language::English_US).unwrap(); - let wrapper = Wrapper::new(10); - assert_eq!(wrapper.wrap("Internationalization"), - vec!["Internatio", "nalization"]); - - let wrapper = Wrapper::with_splitter(10, corpus); - assert_eq!(wrapper.wrap("Internationalization"), - vec!["Interna-", "tionaliza-", "tion"]); - } - - #[test] - #[cfg(feature = "hyphenation")] - fn borrowed_lines() { - // Lines that end with an extra hyphen are owned, the final - // line is borrowed. - use std::borrow::Cow::{Borrowed, Owned}; - let corpus = hyphenation::load(Language::English_US).unwrap(); - let wrapper = Wrapper::with_splitter(10, corpus); - let lines = wrapper.wrap("Internationalization"); - if let Borrowed(s) = lines[0] { - assert!(false, "should not have been borrowed: {:?}", s); - } - if let Borrowed(s) = lines[1] { - assert!(false, "should not have been borrowed: {:?}", s); - } - if let Owned(ref s) = lines[2] { - assert!(false, "should not have been owned: {:?}", s); - } - } - - #[test] - #[cfg(feature = "hyphenation")] - fn auto_hyphenation_with_hyphen() { - let corpus = hyphenation::load(Language::English_US).unwrap(); - let wrapper = Wrapper::new(8).break_words(false); - assert_eq!(wrapper.wrap("over-caffinated"), vec!["over-", "caffinated"]); - - let wrapper = Wrapper::with_splitter(8, corpus).break_words(false); - assert_eq!(wrapper.wrap("over-caffinated"), - vec!["over-", "caffi-", "nated"]); - } - - #[test] - fn break_words() { - assert_eq!(wrap("foobarbaz", 3), vec!["foo", "bar", "baz"]); - } - - #[test] - fn break_words_wide_characters() { - assert_eq!(wrap("Hello", 5), vec!["He", "ll", "o"]); - } - - #[test] - fn break_words_zero_width() { - assert_eq!(wrap("foobar", 0), vec!["f", "o", "o", "b", "a", "r"]); - } - - #[test] - fn test_non_breaking_space() { - let wrapper = Wrapper::new(5).break_words(false); - assert_eq!(wrapper.fill("foo bar baz"), "foo bar baz"); - } - - #[test] - fn test_non_breaking_hyphen() { - let wrapper = Wrapper::new(5).break_words(false); - assert_eq!(wrapper.fill("foo‑bar‑baz"), "foo‑bar‑baz"); - } - - #[test] - fn test_fill() { - assert_eq!(fill("foo bar baz", 10), "foo bar\nbaz"); - } - - #[test] - fn test_indent_empty() { - assert_eq!(indent("\n", " "), "\n"); - } - - #[test] - #[cfg_attr(rustfmt, rustfmt_skip)] - fn test_indent_nonempty() { - let x = vec![" foo", - "bar", - " baz"]; - let y = vec!["// foo", - "//bar", - "// baz"]; - assert_eq!(indent(&add_nl(&x), "//"), add_nl(&y)); - } - - #[test] - #[cfg_attr(rustfmt, rustfmt_skip)] - fn test_indent_empty_line() { - let x = vec![" foo", - "bar", - "", - " baz"]; - let y = vec!["// foo", - "//bar", - "", - "// baz"]; - assert_eq!(indent(&add_nl(&x), "//"), add_nl(&y)); - } - - #[test] - fn test_dedent_empty() { - assert_eq!(dedent(""), ""); - } - - #[test] - #[cfg_attr(rustfmt, rustfmt_skip)] - fn test_dedent_multi_line() { - let x = vec![" foo", - " bar", - " baz"]; - let y = vec![" foo", - "bar", - " baz"]; - assert_eq!(dedent(&add_nl(&x)), add_nl(&y)); - } - - #[test] - #[cfg_attr(rustfmt, rustfmt_skip)] - fn test_dedent_empty_line() { - let x = vec![" foo", - " bar", - " ", - " baz"]; - let y = vec![" foo", - "bar", - "", - " baz"]; - assert_eq!(dedent(&add_nl(&x)), add_nl(&y)); - } - - #[test] - #[cfg_attr(rustfmt, rustfmt_skip)] - fn test_dedent_mixed_whitespace() { - let x = vec!["\tfoo", - " bar"]; - let y = vec!["\tfoo", - " bar"]; - assert_eq!(dedent(&add_nl(&x)), add_nl(&y)); - } -} diff --git a/vendor/registry-40351f815f426200/textwrap/tests/version-numbers.rs b/vendor/registry-40351f815f426200/textwrap/tests/version-numbers.rs deleted file mode 100644 index 411eea548..000000000 --- a/vendor/registry-40351f815f426200/textwrap/tests/version-numbers.rs +++ /dev/null @@ -1,12 +0,0 @@ -#[macro_use] -extern crate version_sync; - -#[test] -fn test_readme_deps() { - assert_markdown_deps_updated!("README.md"); -} - -#[test] -fn test_html_root_url() { - assert_html_root_url_updated!("src/lib.rs"); -} diff --git a/vendor/registry-40351f815f426200/unicode-width/.cargo-checksum.json b/vendor/registry-40351f815f426200/unicode-width/.cargo-checksum.json deleted file mode 100644 index 573a196e6..000000000 --- a/vendor/registry-40351f815f426200/unicode-width/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"COPYRIGHT":"23860c2a7b5d96b21569afedf033469bab9fe14a1b24a35068b8641c578ce24d","Cargo.toml":"3c986dc1e4bf274721f92020fed64b0314ac8f3e0149ca4ae72c8694935d0482","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"7b63ecd5f1902af1b63729947373683c32745c16a10e8e6292e2e2dcd7e90ae0","README.md":"03829a3c35812ff0bbf047fd156bde5f7d5cc55b5dd67c0a95ede6009f8b5f11","scripts/unicode.py":"ba4b17f8715364e2a06e28f26c46a840757891716a835fce1663370c774dc570","src/lib.rs":"38c44436eac069bd8d11203f31ecfef8adfe92da1fce19ba00bdd25aa3fbbe20","src/tables.rs":"2f8eaf78bdab8e67108211c2617a3ea96d0eed259f9bdd9d78814af00601d32c","src/tests.rs":"b8ca0b224a70f0c12ae5f533c25f8ee1c6a445a6e615d64027f486b8e100f7f2"},"package":"882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/unicode-width/COPYRIGHT b/vendor/registry-40351f815f426200/unicode-width/COPYRIGHT deleted file mode 100644 index b286ec16a..000000000 --- a/vendor/registry-40351f815f426200/unicode-width/COPYRIGHT +++ /dev/null @@ -1,7 +0,0 @@ -Licensed under the Apache License, Version 2.0 - or the MIT -license , -at your option. All files in the project carrying such -notice may not be copied, modified, or distributed except -according to those terms. diff --git a/vendor/registry-40351f815f426200/unicode-width/Cargo.toml b/vendor/registry-40351f815f426200/unicode-width/Cargo.toml deleted file mode 100644 index 0b15c461c..000000000 --- a/vendor/registry-40351f815f426200/unicode-width/Cargo.toml +++ /dev/null @@ -1,29 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "unicode-width" -version = "0.1.5" -authors = ["kwantam "] -exclude = ["target/*", "Cargo.lock"] -description = "Determine displayed width of `char` and `str` types\naccording to Unicode Standard Annex #11 rules.\n" -homepage = "https://github.com/unicode-rs/unicode-width" -documentation = "https://unicode-rs.github.io/unicode-width" -readme = "README.md" -keywords = ["text", "width", "unicode"] -license = "MIT/Apache-2.0" -repository = "https://github.com/unicode-rs/unicode-width" - -[features] -bench = [] -default = [] -no_std = [] diff --git a/vendor/registry-40351f815f426200/unicode-width/LICENSE-APACHE b/vendor/registry-40351f815f426200/unicode-width/LICENSE-APACHE deleted file mode 100644 index 16fe87b06..000000000 --- a/vendor/registry-40351f815f426200/unicode-width/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/unicode-width/LICENSE-MIT b/vendor/registry-40351f815f426200/unicode-width/LICENSE-MIT deleted file mode 100644 index e69282e38..000000000 --- a/vendor/registry-40351f815f426200/unicode-width/LICENSE-MIT +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) 2015 The Rust Project Developers - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/unicode-width/README.md b/vendor/registry-40351f815f426200/unicode-width/README.md deleted file mode 100644 index 53a096d77..000000000 --- a/vendor/registry-40351f815f426200/unicode-width/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# unicode-width - -Determine displayed width of `char` and `str` types according to -[Unicode Standard Annex #11](http://www.unicode.org/reports/tr11/) -rules. - -[![Build Status](https://travis-ci.org/unicode-rs/unicode-width.svg)](https://travis-ci.org/unicode-rs/unicode-width) - -[Documentation](https://unicode-rs.github.io/unicode-width/unicode_width/index.html) - -```rust -extern crate unicode_width; - -use unicode_width::UnicodeWidthStr; - -fn main() { - let teststr = "Hello, world!"; - let width = UnicodeWidthStr::width(teststr); - println!("{}", teststr); - println!("The above string is {} columns wide.", width); - let width = teststr.width_cjk(); - println!("The above string is {} columns wide (CJK).", width); -} -``` - -## features - -unicode-width does not depend on libstd, so it can be used in crates -with the `#![no_std]` attribute. - -## crates.io - -You can use this package in your project by adding the following -to your `Cargo.toml`: - -```toml -[dependencies] -unicode-width = "0.1.5" -``` diff --git a/vendor/registry-40351f815f426200/unicode-width/scripts/unicode.py b/vendor/registry-40351f815f426200/unicode-width/scripts/unicode.py deleted file mode 100755 index 203e16afa..000000000 --- a/vendor/registry-40351f815f426200/unicode-width/scripts/unicode.py +++ /dev/null @@ -1,321 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2011-2015 The Rust Project Developers. See the COPYRIGHT -# file at the top-level directory of this distribution and at -# http://rust-lang.org/COPYRIGHT. -# -# Licensed under the Apache License, Version 2.0 or the MIT license -# , at your -# option. This file may not be copied, modified, or distributed -# except according to those terms. - -# This script uses the following Unicode tables: -# - EastAsianWidth.txt -# - ReadMe.txt -# - UnicodeData.txt -# -# Since this should not require frequent updates, we just store this -# out-of-line and check the unicode.rs file into git. - -import fileinput, re, os, sys, operator - -preamble = '''// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -// NOTE: The following code was generated by "scripts/unicode.py", do not edit directly - -#![allow(missing_docs, non_upper_case_globals, non_snake_case)] -''' - -# Mapping taken from Table 12 from: -# http://www.unicode.org/reports/tr44/#General_Category_Values -expanded_categories = { - 'Lu': ['LC', 'L'], 'Ll': ['LC', 'L'], 'Lt': ['LC', 'L'], - 'Lm': ['L'], 'Lo': ['L'], - 'Mn': ['M'], 'Mc': ['M'], 'Me': ['M'], - 'Nd': ['N'], 'Nl': ['N'], 'No': ['No'], - 'Pc': ['P'], 'Pd': ['P'], 'Ps': ['P'], 'Pe': ['P'], - 'Pi': ['P'], 'Pf': ['P'], 'Po': ['P'], - 'Sm': ['S'], 'Sc': ['S'], 'Sk': ['S'], 'So': ['S'], - 'Zs': ['Z'], 'Zl': ['Z'], 'Zp': ['Z'], - 'Cc': ['C'], 'Cf': ['C'], 'Cs': ['C'], 'Co': ['C'], 'Cn': ['C'], -} - -# these are the surrogate codepoints, which are not valid rust characters -surrogate_codepoints = (0xd800, 0xdfff) - -def fetch(f): - if not os.path.exists(os.path.basename(f)): - os.system("curl -O http://www.unicode.org/Public/UNIDATA/%s" - % f) - - if not os.path.exists(os.path.basename(f)): - sys.stderr.write("cannot load %s" % f) - exit(1) - -def is_surrogate(n): - return surrogate_codepoints[0] <= n <= surrogate_codepoints[1] - -def load_unicode_data(f): - fetch(f) - gencats = {} - - udict = {}; - range_start = -1; - for line in fileinput.input(f): - data = line.split(';'); - if len(data) != 15: - continue - cp = int(data[0], 16); - if is_surrogate(cp): - continue - if range_start >= 0: - for i in xrange(range_start, cp): - udict[i] = data; - range_start = -1; - if data[1].endswith(", First>"): - range_start = cp; - continue; - udict[cp] = data; - - for code in udict: - [code_org, name, gencat, combine, bidi, - decomp, deci, digit, num, mirror, - old, iso, upcase, lowcase, titlecase ] = udict[code]; - - # place letter in categories as appropriate - for cat in [gencat, "Assigned"] + expanded_categories.get(gencat, []): - if cat not in gencats: - gencats[cat] = [] - gencats[cat].append(code) - - gencats = group_cats(gencats) - - return gencats - -def group_cats(cats): - cats_out = {} - for cat in cats: - cats_out[cat] = group_cat(cats[cat]) - return cats_out - -def group_cat(cat): - cat_out = [] - letters = sorted(set(cat)) - cur_start = letters.pop(0) - cur_end = cur_start - for letter in letters: - assert letter > cur_end, \ - "cur_end: %s, letter: %s" % (hex(cur_end), hex(letter)) - if letter == cur_end + 1: - cur_end = letter - else: - cat_out.append((cur_start, cur_end)) - cur_start = cur_end = letter - cat_out.append((cur_start, cur_end)) - return cat_out - -def format_table_content(f, content, indent): - line = " "*indent - first = True - for chunk in content.split(","): - if len(line) + len(chunk) < 98: - if first: - line += chunk - else: - line += ", " + chunk - first = False - else: - f.write(line + ",\n") - line = " "*indent + chunk - f.write(line) - -# load all widths of want_widths, except those in except_cats -def load_east_asian_width(want_widths, except_cats): - f = "EastAsianWidth.txt" - fetch(f) - widths = {} - re1 = re.compile("^([0-9A-F]+);(\w+) +# (\w+)") - re2 = re.compile("^([0-9A-F]+)\.\.([0-9A-F]+);(\w+) +# (\w+)") - - for line in fileinput.input(f): - width = None - d_lo = 0 - d_hi = 0 - cat = None - m = re1.match(line) - if m: - d_lo = m.group(1) - d_hi = m.group(1) - width = m.group(2) - cat = m.group(3) - else: - m = re2.match(line) - if m: - d_lo = m.group(1) - d_hi = m.group(2) - width = m.group(3) - cat = m.group(4) - else: - continue - if cat in except_cats or width not in want_widths: - continue - d_lo = int(d_lo, 16) - d_hi = int(d_hi, 16) - if width not in widths: - widths[width] = [] - widths[width].append((d_lo, d_hi)) - return widths - -def escape_char(c): - return "'\\u{%x}'" % c - -def emit_table(f, name, t_data, t_type = "&'static [(char, char)]", is_pub=True, - pfun=lambda x: "(%s,%s)" % (escape_char(x[0]), escape_char(x[1])), is_const=True): - pub_string = "const" - if not is_const: - pub_string = "let" - if is_pub: - pub_string = "pub " + pub_string - f.write(" %s %s: %s = &[\n" % (pub_string, name, t_type)) - data = "" - first = True - for dat in t_data: - if not first: - data += "," - first = False - data += pfun(dat) - format_table_content(f, data, 8) - f.write("\n ];\n\n") - -def emit_charwidth_module(f, width_table): - f.write("pub mod charwidth {") - f.write(""" - use core::option::Option::{self, Some, None}; - use core::result::Result::{Ok, Err}; - - #[inline] - fn bsearch_range_value_table(c: char, is_cjk: bool, r: &'static [(char, char, u8, u8)]) -> u8 { - use core::cmp::Ordering::{Equal, Less, Greater}; - match r.binary_search_by(|&(lo, hi, _, _)| { - if lo <= c && c <= hi { Equal } - else if hi < c { Less } - else { Greater } - }) { - Ok(idx) => { - let (_, _, r_ncjk, r_cjk) = r[idx]; - if is_cjk { r_cjk } else { r_ncjk } - } - Err(_) => 1 - } - } -""") - - f.write(""" - #[inline] - pub fn width(c: char, is_cjk: bool) -> Option { - match c as usize { - _c @ 0 => Some(0), // null is zero width - cu if cu < 0x20 => None, // control sequences have no width - cu if cu < 0x7F => Some(1), // ASCII - cu if cu < 0xA0 => None, // more control sequences - _ => Some(bsearch_range_value_table(c, is_cjk, charwidth_table) as usize) - } - } - -""") - - f.write(" // character width table. Based on Markus Kuhn's free wcwidth() implementation,\n") - f.write(" // http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c\n") - emit_table(f, "charwidth_table", width_table, "&'static [(char, char, u8, u8)]", is_pub=False, - pfun=lambda x: "(%s,%s,%s,%s)" % (escape_char(x[0]), escape_char(x[1]), x[2], x[3])) - f.write("}\n\n") - -def remove_from_wtable(wtable, val): - wtable_out = [] - while wtable: - if wtable[0][1] < val: - wtable_out.append(wtable.pop(0)) - elif wtable[0][0] > val: - break - else: - (wt_lo, wt_hi, width, width_cjk) = wtable.pop(0) - if wt_lo == wt_hi == val: - continue - elif wt_lo == val: - wtable_out.append((wt_lo+1, wt_hi, width, width_cjk)) - elif wt_hi == val: - wtable_out.append((wt_lo, wt_hi-1, width, width_cjk)) - else: - wtable_out.append((wt_lo, val-1, width, width_cjk)) - wtable_out.append((val+1, wt_hi, width, width_cjk)) - if wtable: - wtable_out.extend(wtable) - return wtable_out - - - -def optimize_width_table(wtable): - wtable_out = [] - w_this = wtable.pop(0) - while wtable: - if w_this[1] == wtable[0][0] - 1 and w_this[2:3] == wtable[0][2:3]: - w_tmp = wtable.pop(0) - w_this = (w_this[0], w_tmp[1], w_tmp[2], w_tmp[3]) - else: - wtable_out.append(w_this) - w_this = wtable.pop(0) - wtable_out.append(w_this) - return wtable_out - -if __name__ == "__main__": - r = "tables.rs" - if os.path.exists(r): - os.remove(r) - with open(r, "w") as rf: - # write the file's preamble - rf.write(preamble) - - # download and parse all the data - fetch("ReadMe.txt") - with open("ReadMe.txt") as readme: - pattern = "for Version (\d+)\.(\d+)\.(\d+) of the Unicode" - unicode_version = re.search(pattern, readme.read()).groups() - rf.write(""" -/// The version of [Unicode](http://www.unicode.org/) -/// that this version of unicode-width is based on. -pub const UNICODE_VERSION: (u64, u64, u64) = (%s, %s, %s); - -""" % unicode_version) - gencats = load_unicode_data("UnicodeData.txt") - - ### character width module - width_table = [] - for zwcat in ["Me", "Mn", "Cf"]: - width_table.extend(map(lambda (lo, hi): (lo, hi, 0, 0), gencats[zwcat])) - width_table.append((4448, 4607, 0, 0)) - - # get widths, except those that are explicitly marked zero-width above - ea_widths = load_east_asian_width(["W", "F", "A"], ["Me", "Mn", "Cf"]) - # these are doublewidth - for dwcat in ["W", "F"]: - width_table.extend(map(lambda (lo, hi): (lo, hi, 2, 2), ea_widths[dwcat])) - width_table.extend(map(lambda (lo, hi): (lo, hi, 1, 2), ea_widths["A"])) - - width_table.sort(key=lambda w: w[0]) - - # soft hyphen is not zero width in preformatted text; it's used to indicate - # a hyphen inserted to facilitate a linebreak. - width_table = remove_from_wtable(width_table, 173) - - # optimize the width table by collapsing adjacent entities when possible - width_table = optimize_width_table(width_table) - emit_charwidth_module(rf, width_table) diff --git a/vendor/registry-40351f815f426200/unicode-width/src/lib.rs b/vendor/registry-40351f815f426200/unicode-width/src/lib.rs deleted file mode 100644 index 1ee35c85d..000000000 --- a/vendor/registry-40351f815f426200/unicode-width/src/lib.rs +++ /dev/null @@ -1,131 +0,0 @@ -// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Determine displayed width of `char` and `str` types according to -//! [Unicode Standard Annex #11](http://www.unicode.org/reports/tr11/) -//! rules. -//! -//! ```rust -//! extern crate unicode_width; -//! -//! use unicode_width::UnicodeWidthStr; -//! -//! fn main() { -//! let teststr = "Hello, world!"; -//! let width = UnicodeWidthStr::width(teststr); -//! println!("{}", teststr); -//! println!("The above string is {} columns wide.", width); -//! let width = teststr.width_cjk(); -//! println!("The above string is {} columns wide (CJK).", width); -//! } -//! ``` -//! -//! # features -//! -//! unicode-width supports a `no_std` feature. This eliminates dependence -//! on std, and instead uses equivalent functions from core. -//! -//! # crates.io -//! -//! You can use this package in your project by adding the following -//! to your `Cargo.toml`: -//! -//! ```toml -//! [dependencies] -//! unicode-width = "0.1.5" -//! ``` - -#![deny(missing_docs, unsafe_code)] -#![doc(html_logo_url = "https://unicode-rs.github.io/unicode-rs_sm.png", - html_favicon_url = "https://unicode-rs.github.io/unicode-rs_sm.png")] - -#![cfg_attr(feature = "bench", feature(test))] -#![no_std] - -#[cfg(test)] -#[macro_use] -extern crate std; - -#[cfg(feature = "bench")] -extern crate test; - -use tables::charwidth as cw; -pub use tables::UNICODE_VERSION; - -use core::ops::Add; - -mod tables; - -#[cfg(test)] -mod tests; - -/// Methods for determining displayed width of Unicode characters. -pub trait UnicodeWidthChar { - /// Returns the character's displayed width in columns, or `None` if the - /// character is a control character other than `'\x00'`. - /// - /// This function treats characters in the Ambiguous category according - /// to [Unicode Standard Annex #11](http://www.unicode.org/reports/tr11/) - /// as 1 column wide. This is consistent with the recommendations for non-CJK - /// contexts, or when the context cannot be reliably determined. - fn width(self) -> Option; - - /// Returns the character's displayed width in columns, or `None` if the - /// character is a control character other than `'\x00'`. - /// - /// This function treats characters in the Ambiguous category according - /// to [Unicode Standard Annex #11](http://www.unicode.org/reports/tr11/) - /// as 2 columns wide. This is consistent with the recommendations for - /// CJK contexts. - fn width_cjk(self) -> Option; -} - -impl UnicodeWidthChar for char { - #[inline] - fn width(self) -> Option { cw::width(self, false) } - - #[inline] - fn width_cjk(self) -> Option { cw::width(self, true) } -} - -/// Methods for determining displayed width of Unicode strings. -pub trait UnicodeWidthStr { - /// Returns the string's displayed width in columns. - /// - /// Control characters are treated as having zero width. - /// - /// This function treats characters in the Ambiguous category according - /// to [Unicode Standard Annex #11](http://www.unicode.org/reports/tr11/) - /// as 1 column wide. This is consistent with the recommendations for - /// non-CJK contexts, or when the context cannot be reliably determined. - fn width<'a>(&'a self) -> usize; - - /// Returns the string's displayed width in columns. - /// - /// Control characters are treated as having zero width. - /// - /// This function treats characters in the Ambiguous category according - /// to [Unicode Standard Annex #11](http://www.unicode.org/reports/tr11/) - /// as 2 column wide. This is consistent with the recommendations for - /// CJK contexts. - fn width_cjk<'a>(&'a self) -> usize; -} - -impl UnicodeWidthStr for str { - #[inline] - fn width(&self) -> usize { - self.chars().map(|c| cw::width(c, false).unwrap_or(0)).fold(0, Add::add) - } - - #[inline] - fn width_cjk(&self) -> usize { - self.chars().map(|c| cw::width(c, true).unwrap_or(0)).fold(0, Add::add) - } -} diff --git a/vendor/registry-40351f815f426200/unicode-width/src/tables.rs b/vendor/registry-40351f815f426200/unicode-width/src/tables.rs deleted file mode 100644 index 3acb93212..000000000 --- a/vendor/registry-40351f815f426200/unicode-width/src/tables.rs +++ /dev/null @@ -1,273 +0,0 @@ -// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -// NOTE: The following code was generated by "scripts/unicode.py", do not edit directly - -#![allow(missing_docs, non_upper_case_globals, non_snake_case)] - -/// The version of [Unicode](http://www.unicode.org/) -/// that this version of unicode-width is based on. -pub const UNICODE_VERSION: (u64, u64, u64) = (10, 0, 0); - -pub mod charwidth { - use core::option::Option::{self, Some, None}; - use core::result::Result::{Ok, Err}; - - #[inline] - fn bsearch_range_value_table(c: char, is_cjk: bool, r: &'static [(char, char, u8, u8)]) -> u8 { - use core::cmp::Ordering::{Equal, Less, Greater}; - match r.binary_search_by(|&(lo, hi, _, _)| { - if lo <= c && c <= hi { Equal } - else if hi < c { Less } - else { Greater } - }) { - Ok(idx) => { - let (_, _, r_ncjk, r_cjk) = r[idx]; - if is_cjk { r_cjk } else { r_ncjk } - } - Err(_) => 1 - } - } - - #[inline] - pub fn width(c: char, is_cjk: bool) -> Option { - match c as usize { - _c @ 0 => Some(0), // null is zero width - cu if cu < 0x20 => None, // control sequences have no width - cu if cu < 0x7F => Some(1), // ASCII - cu if cu < 0xA0 => None, // more control sequences - _ => Some(bsearch_range_value_table(c, is_cjk, charwidth_table) as usize) - } - } - - // character width table. Based on Markus Kuhn's free wcwidth() implementation, - // http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c - const charwidth_table: &'static [(char, char, u8, u8)] = &[ - ('\u{a1}', '\u{a1}', 1, 2), ('\u{a4}', '\u{a4}', 1, 2), ('\u{a7}', '\u{a8}', 1, 2), - ('\u{aa}', '\u{aa}', 1, 2), ('\u{ae}', '\u{ae}', 1, 2), ('\u{b0}', '\u{b4}', 1, 2), - ('\u{b6}', '\u{ba}', 1, 2), ('\u{bc}', '\u{bf}', 1, 2), ('\u{c6}', '\u{c6}', 1, 2), - ('\u{d0}', '\u{d0}', 1, 2), ('\u{d7}', '\u{d8}', 1, 2), ('\u{de}', '\u{e1}', 1, 2), - ('\u{e6}', '\u{e6}', 1, 2), ('\u{e8}', '\u{ea}', 1, 2), ('\u{ec}', '\u{ed}', 1, 2), - ('\u{f0}', '\u{f0}', 1, 2), ('\u{f2}', '\u{f3}', 1, 2), ('\u{f7}', '\u{fa}', 1, 2), - ('\u{fc}', '\u{fc}', 1, 2), ('\u{fe}', '\u{fe}', 1, 2), ('\u{101}', '\u{101}', 1, 2), - ('\u{111}', '\u{111}', 1, 2), ('\u{113}', '\u{113}', 1, 2), ('\u{11b}', '\u{11b}', 1, 2), - ('\u{126}', '\u{127}', 1, 2), ('\u{12b}', '\u{12b}', 1, 2), ('\u{131}', '\u{133}', 1, 2), - ('\u{138}', '\u{138}', 1, 2), ('\u{13f}', '\u{142}', 1, 2), ('\u{144}', '\u{144}', 1, 2), - ('\u{148}', '\u{14b}', 1, 2), ('\u{14d}', '\u{14d}', 1, 2), ('\u{152}', '\u{153}', 1, 2), - ('\u{166}', '\u{167}', 1, 2), ('\u{16b}', '\u{16b}', 1, 2), ('\u{1ce}', '\u{1ce}', 1, 2), - ('\u{1d0}', '\u{1d0}', 1, 2), ('\u{1d2}', '\u{1d2}', 1, 2), ('\u{1d4}', '\u{1d4}', 1, 2), - ('\u{1d6}', '\u{1d6}', 1, 2), ('\u{1d8}', '\u{1d8}', 1, 2), ('\u{1da}', '\u{1da}', 1, 2), - ('\u{1dc}', '\u{1dc}', 1, 2), ('\u{251}', '\u{251}', 1, 2), ('\u{261}', '\u{261}', 1, 2), - ('\u{2c4}', '\u{2c4}', 1, 2), ('\u{2c7}', '\u{2c7}', 1, 2), ('\u{2c9}', '\u{2cb}', 1, 2), - ('\u{2cd}', '\u{2cd}', 1, 2), ('\u{2d0}', '\u{2d0}', 1, 2), ('\u{2d8}', '\u{2db}', 1, 2), - ('\u{2dd}', '\u{2dd}', 1, 2), ('\u{2df}', '\u{2df}', 1, 2), ('\u{300}', '\u{36f}', 0, 0), - ('\u{391}', '\u{3a1}', 1, 2), ('\u{3a3}', '\u{3a9}', 1, 2), ('\u{3b1}', '\u{3c1}', 1, 2), - ('\u{3c3}', '\u{3c9}', 1, 2), ('\u{401}', '\u{401}', 1, 2), ('\u{410}', '\u{44f}', 1, 2), - ('\u{451}', '\u{451}', 1, 2), ('\u{483}', '\u{489}', 0, 0), ('\u{591}', '\u{5bd}', 0, 0), - ('\u{5bf}', '\u{5bf}', 0, 0), ('\u{5c1}', '\u{5c2}', 0, 0), ('\u{5c4}', '\u{5c5}', 0, 0), - ('\u{5c7}', '\u{5c7}', 0, 0), ('\u{600}', '\u{605}', 0, 0), ('\u{610}', '\u{61a}', 0, 0), - ('\u{61c}', '\u{61c}', 0, 0), ('\u{64b}', '\u{65f}', 0, 0), ('\u{670}', '\u{670}', 0, 0), - ('\u{6d6}', '\u{6dd}', 0, 0), ('\u{6df}', '\u{6e4}', 0, 0), ('\u{6e7}', '\u{6e8}', 0, 0), - ('\u{6ea}', '\u{6ed}', 0, 0), ('\u{70f}', '\u{70f}', 0, 0), ('\u{711}', '\u{711}', 0, 0), - ('\u{730}', '\u{74a}', 0, 0), ('\u{7a6}', '\u{7b0}', 0, 0), ('\u{7eb}', '\u{7f3}', 0, 0), - ('\u{816}', '\u{819}', 0, 0), ('\u{81b}', '\u{823}', 0, 0), ('\u{825}', '\u{827}', 0, 0), - ('\u{829}', '\u{82d}', 0, 0), ('\u{859}', '\u{85b}', 0, 0), ('\u{8d4}', '\u{902}', 0, 0), - ('\u{93a}', '\u{93a}', 0, 0), ('\u{93c}', '\u{93c}', 0, 0), ('\u{941}', '\u{948}', 0, 0), - ('\u{94d}', '\u{94d}', 0, 0), ('\u{951}', '\u{957}', 0, 0), ('\u{962}', '\u{963}', 0, 0), - ('\u{981}', '\u{981}', 0, 0), ('\u{9bc}', '\u{9bc}', 0, 0), ('\u{9c1}', '\u{9c4}', 0, 0), - ('\u{9cd}', '\u{9cd}', 0, 0), ('\u{9e2}', '\u{9e3}', 0, 0), ('\u{a01}', '\u{a02}', 0, 0), - ('\u{a3c}', '\u{a3c}', 0, 0), ('\u{a41}', '\u{a42}', 0, 0), ('\u{a47}', '\u{a48}', 0, 0), - ('\u{a4b}', '\u{a4d}', 0, 0), ('\u{a51}', '\u{a51}', 0, 0), ('\u{a70}', '\u{a71}', 0, 0), - ('\u{a75}', '\u{a75}', 0, 0), ('\u{a81}', '\u{a82}', 0, 0), ('\u{abc}', '\u{abc}', 0, 0), - ('\u{ac1}', '\u{ac5}', 0, 0), ('\u{ac7}', '\u{ac8}', 0, 0), ('\u{acd}', '\u{acd}', 0, 0), - ('\u{ae2}', '\u{ae3}', 0, 0), ('\u{afa}', '\u{aff}', 0, 0), ('\u{b01}', '\u{b01}', 0, 0), - ('\u{b3c}', '\u{b3c}', 0, 0), ('\u{b3f}', '\u{b3f}', 0, 0), ('\u{b41}', '\u{b44}', 0, 0), - ('\u{b4d}', '\u{b4d}', 0, 0), ('\u{b56}', '\u{b56}', 0, 0), ('\u{b62}', '\u{b63}', 0, 0), - ('\u{b82}', '\u{b82}', 0, 0), ('\u{bc0}', '\u{bc0}', 0, 0), ('\u{bcd}', '\u{bcd}', 0, 0), - ('\u{c00}', '\u{c00}', 0, 0), ('\u{c3e}', '\u{c40}', 0, 0), ('\u{c46}', '\u{c48}', 0, 0), - ('\u{c4a}', '\u{c4d}', 0, 0), ('\u{c55}', '\u{c56}', 0, 0), ('\u{c62}', '\u{c63}', 0, 0), - ('\u{c81}', '\u{c81}', 0, 0), ('\u{cbc}', '\u{cbc}', 0, 0), ('\u{cbf}', '\u{cbf}', 0, 0), - ('\u{cc6}', '\u{cc6}', 0, 0), ('\u{ccc}', '\u{ccd}', 0, 0), ('\u{ce2}', '\u{ce3}', 0, 0), - ('\u{d00}', '\u{d01}', 0, 0), ('\u{d3b}', '\u{d3c}', 0, 0), ('\u{d41}', '\u{d44}', 0, 0), - ('\u{d4d}', '\u{d4d}', 0, 0), ('\u{d62}', '\u{d63}', 0, 0), ('\u{dca}', '\u{dca}', 0, 0), - ('\u{dd2}', '\u{dd4}', 0, 0), ('\u{dd6}', '\u{dd6}', 0, 0), ('\u{e31}', '\u{e31}', 0, 0), - ('\u{e34}', '\u{e3a}', 0, 0), ('\u{e47}', '\u{e4e}', 0, 0), ('\u{eb1}', '\u{eb1}', 0, 0), - ('\u{eb4}', '\u{eb9}', 0, 0), ('\u{ebb}', '\u{ebc}', 0, 0), ('\u{ec8}', '\u{ecd}', 0, 0), - ('\u{f18}', '\u{f19}', 0, 0), ('\u{f35}', '\u{f35}', 0, 0), ('\u{f37}', '\u{f37}', 0, 0), - ('\u{f39}', '\u{f39}', 0, 0), ('\u{f71}', '\u{f7e}', 0, 0), ('\u{f80}', '\u{f84}', 0, 0), - ('\u{f86}', '\u{f87}', 0, 0), ('\u{f8d}', '\u{f97}', 0, 0), ('\u{f99}', '\u{fbc}', 0, 0), - ('\u{fc6}', '\u{fc6}', 0, 0), ('\u{102d}', '\u{1030}', 0, 0), ('\u{1032}', '\u{1037}', 0, - 0), ('\u{1039}', '\u{103a}', 0, 0), ('\u{103d}', '\u{103e}', 0, 0), ('\u{1058}', '\u{1059}', - 0, 0), ('\u{105e}', '\u{1060}', 0, 0), ('\u{1071}', '\u{1074}', 0, 0), ('\u{1082}', - '\u{1082}', 0, 0), ('\u{1085}', '\u{1086}', 0, 0), ('\u{108d}', '\u{108d}', 0, 0), - ('\u{109d}', '\u{109d}', 0, 0), ('\u{1100}', '\u{115f}', 2, 2), ('\u{1160}', '\u{11ff}', 0, - 0), ('\u{135d}', '\u{135f}', 0, 0), ('\u{1712}', '\u{1714}', 0, 0), ('\u{1732}', '\u{1734}', - 0, 0), ('\u{1752}', '\u{1753}', 0, 0), ('\u{1772}', '\u{1773}', 0, 0), ('\u{17b4}', - '\u{17b5}', 0, 0), ('\u{17b7}', '\u{17bd}', 0, 0), ('\u{17c6}', '\u{17c6}', 0, 0), - ('\u{17c9}', '\u{17d3}', 0, 0), ('\u{17dd}', '\u{17dd}', 0, 0), ('\u{180b}', '\u{180e}', 0, - 0), ('\u{1885}', '\u{1886}', 0, 0), ('\u{18a9}', '\u{18a9}', 0, 0), ('\u{1920}', '\u{1922}', - 0, 0), ('\u{1927}', '\u{1928}', 0, 0), ('\u{1932}', '\u{1932}', 0, 0), ('\u{1939}', - '\u{193b}', 0, 0), ('\u{1a17}', '\u{1a18}', 0, 0), ('\u{1a1b}', '\u{1a1b}', 0, 0), - ('\u{1a56}', '\u{1a56}', 0, 0), ('\u{1a58}', '\u{1a5e}', 0, 0), ('\u{1a60}', '\u{1a60}', 0, - 0), ('\u{1a62}', '\u{1a62}', 0, 0), ('\u{1a65}', '\u{1a6c}', 0, 0), ('\u{1a73}', '\u{1a7c}', - 0, 0), ('\u{1a7f}', '\u{1a7f}', 0, 0), ('\u{1ab0}', '\u{1abe}', 0, 0), ('\u{1b00}', - '\u{1b03}', 0, 0), ('\u{1b34}', '\u{1b34}', 0, 0), ('\u{1b36}', '\u{1b3a}', 0, 0), - ('\u{1b3c}', '\u{1b3c}', 0, 0), ('\u{1b42}', '\u{1b42}', 0, 0), ('\u{1b6b}', '\u{1b73}', 0, - 0), ('\u{1b80}', '\u{1b81}', 0, 0), ('\u{1ba2}', '\u{1ba5}', 0, 0), ('\u{1ba8}', '\u{1ba9}', - 0, 0), ('\u{1bab}', '\u{1bad}', 0, 0), ('\u{1be6}', '\u{1be6}', 0, 0), ('\u{1be8}', - '\u{1be9}', 0, 0), ('\u{1bed}', '\u{1bed}', 0, 0), ('\u{1bef}', '\u{1bf1}', 0, 0), - ('\u{1c2c}', '\u{1c33}', 0, 0), ('\u{1c36}', '\u{1c37}', 0, 0), ('\u{1cd0}', '\u{1cd2}', 0, - 0), ('\u{1cd4}', '\u{1ce0}', 0, 0), ('\u{1ce2}', '\u{1ce8}', 0, 0), ('\u{1ced}', '\u{1ced}', - 0, 0), ('\u{1cf4}', '\u{1cf4}', 0, 0), ('\u{1cf8}', '\u{1cf9}', 0, 0), ('\u{1dc0}', - '\u{1df9}', 0, 0), ('\u{1dfb}', '\u{1dff}', 0, 0), ('\u{200b}', '\u{200f}', 0, 0), - ('\u{2010}', '\u{2010}', 1, 2), ('\u{2013}', '\u{2016}', 1, 2), ('\u{2018}', '\u{2019}', 1, - 2), ('\u{201c}', '\u{201d}', 1, 2), ('\u{2020}', '\u{2022}', 1, 2), ('\u{2024}', '\u{2027}', - 1, 2), ('\u{202a}', '\u{202e}', 0, 0), ('\u{2030}', '\u{2030}', 1, 2), ('\u{2032}', - '\u{2033}', 1, 2), ('\u{2035}', '\u{2035}', 1, 2), ('\u{203b}', '\u{203b}', 1, 2), - ('\u{203e}', '\u{203e}', 1, 2), ('\u{2060}', '\u{2064}', 0, 0), ('\u{2066}', '\u{206f}', 0, - 0), ('\u{2074}', '\u{2074}', 1, 2), ('\u{207f}', '\u{207f}', 1, 2), ('\u{2081}', '\u{2084}', - 1, 2), ('\u{20ac}', '\u{20ac}', 1, 2), ('\u{20d0}', '\u{20f0}', 0, 0), ('\u{2103}', - '\u{2103}', 1, 2), ('\u{2105}', '\u{2105}', 1, 2), ('\u{2109}', '\u{2109}', 1, 2), - ('\u{2113}', '\u{2113}', 1, 2), ('\u{2116}', '\u{2116}', 1, 2), ('\u{2121}', '\u{2122}', 1, - 2), ('\u{2126}', '\u{2126}', 1, 2), ('\u{212b}', '\u{212b}', 1, 2), ('\u{2153}', '\u{2154}', - 1, 2), ('\u{215b}', '\u{215e}', 1, 2), ('\u{2160}', '\u{216b}', 1, 2), ('\u{2170}', - '\u{2179}', 1, 2), ('\u{2189}', '\u{2189}', 1, 2), ('\u{2190}', '\u{2199}', 1, 2), - ('\u{21b8}', '\u{21b9}', 1, 2), ('\u{21d2}', '\u{21d2}', 1, 2), ('\u{21d4}', '\u{21d4}', 1, - 2), ('\u{21e7}', '\u{21e7}', 1, 2), ('\u{2200}', '\u{2200}', 1, 2), ('\u{2202}', '\u{2203}', - 1, 2), ('\u{2207}', '\u{2208}', 1, 2), ('\u{220b}', '\u{220b}', 1, 2), ('\u{220f}', - '\u{220f}', 1, 2), ('\u{2211}', '\u{2211}', 1, 2), ('\u{2215}', '\u{2215}', 1, 2), - ('\u{221a}', '\u{221a}', 1, 2), ('\u{221d}', '\u{2220}', 1, 2), ('\u{2223}', '\u{2223}', 1, - 2), ('\u{2225}', '\u{2225}', 1, 2), ('\u{2227}', '\u{222c}', 1, 2), ('\u{222e}', '\u{222e}', - 1, 2), ('\u{2234}', '\u{2237}', 1, 2), ('\u{223c}', '\u{223d}', 1, 2), ('\u{2248}', - '\u{2248}', 1, 2), ('\u{224c}', '\u{224c}', 1, 2), ('\u{2252}', '\u{2252}', 1, 2), - ('\u{2260}', '\u{2261}', 1, 2), ('\u{2264}', '\u{2267}', 1, 2), ('\u{226a}', '\u{226b}', 1, - 2), ('\u{226e}', '\u{226f}', 1, 2), ('\u{2282}', '\u{2283}', 1, 2), ('\u{2286}', '\u{2287}', - 1, 2), ('\u{2295}', '\u{2295}', 1, 2), ('\u{2299}', '\u{2299}', 1, 2), ('\u{22a5}', - '\u{22a5}', 1, 2), ('\u{22bf}', '\u{22bf}', 1, 2), ('\u{2312}', '\u{2312}', 1, 2), - ('\u{231a}', '\u{231b}', 2, 2), ('\u{2329}', '\u{232a}', 2, 2), ('\u{23e9}', '\u{23ec}', 2, - 2), ('\u{23f0}', '\u{23f0}', 2, 2), ('\u{23f3}', '\u{23f3}', 2, 2), ('\u{2460}', '\u{24e9}', - 1, 2), ('\u{24eb}', '\u{254b}', 1, 2), ('\u{2550}', '\u{2573}', 1, 2), ('\u{2580}', - '\u{258f}', 1, 2), ('\u{2592}', '\u{2595}', 1, 2), ('\u{25a0}', '\u{25a1}', 1, 2), - ('\u{25a3}', '\u{25a9}', 1, 2), ('\u{25b2}', '\u{25b3}', 1, 2), ('\u{25b6}', '\u{25b7}', 1, - 2), ('\u{25bc}', '\u{25bd}', 1, 2), ('\u{25c0}', '\u{25c1}', 1, 2), ('\u{25c6}', '\u{25c8}', - 1, 2), ('\u{25cb}', '\u{25cb}', 1, 2), ('\u{25ce}', '\u{25d1}', 1, 2), ('\u{25e2}', - '\u{25e5}', 1, 2), ('\u{25ef}', '\u{25ef}', 1, 2), ('\u{25fd}', '\u{25fe}', 2, 2), - ('\u{2605}', '\u{2606}', 1, 2), ('\u{2609}', '\u{2609}', 1, 2), ('\u{260e}', '\u{260f}', 1, - 2), ('\u{2614}', '\u{2615}', 2, 2), ('\u{261c}', '\u{261c}', 1, 2), ('\u{261e}', '\u{261e}', - 1, 2), ('\u{2640}', '\u{2640}', 1, 2), ('\u{2642}', '\u{2642}', 1, 2), ('\u{2648}', - '\u{2653}', 2, 2), ('\u{2660}', '\u{2661}', 1, 2), ('\u{2663}', '\u{2665}', 1, 2), - ('\u{2667}', '\u{266a}', 1, 2), ('\u{266c}', '\u{266d}', 1, 2), ('\u{266f}', '\u{266f}', 1, - 2), ('\u{267f}', '\u{267f}', 2, 2), ('\u{2693}', '\u{2693}', 2, 2), ('\u{269e}', '\u{269f}', - 1, 2), ('\u{26a1}', '\u{26a1}', 2, 2), ('\u{26aa}', '\u{26ab}', 2, 2), ('\u{26bd}', - '\u{26be}', 2, 2), ('\u{26bf}', '\u{26bf}', 1, 2), ('\u{26c4}', '\u{26c5}', 2, 2), - ('\u{26c6}', '\u{26cd}', 1, 2), ('\u{26ce}', '\u{26ce}', 2, 2), ('\u{26cf}', '\u{26d3}', 1, - 2), ('\u{26d4}', '\u{26d4}', 2, 2), ('\u{26d5}', '\u{26e1}', 1, 2), ('\u{26e3}', '\u{26e3}', - 1, 2), ('\u{26e8}', '\u{26e9}', 1, 2), ('\u{26ea}', '\u{26ea}', 2, 2), ('\u{26eb}', - '\u{26f1}', 1, 2), ('\u{26f2}', '\u{26f3}', 2, 2), ('\u{26f4}', '\u{26f4}', 1, 2), - ('\u{26f5}', '\u{26f5}', 2, 2), ('\u{26f6}', '\u{26f9}', 1, 2), ('\u{26fa}', '\u{26fa}', 2, - 2), ('\u{26fb}', '\u{26fc}', 1, 2), ('\u{26fd}', '\u{26fd}', 2, 2), ('\u{26fe}', '\u{26ff}', - 1, 2), ('\u{2705}', '\u{2705}', 2, 2), ('\u{270a}', '\u{270b}', 2, 2), ('\u{2728}', - '\u{2728}', 2, 2), ('\u{273d}', '\u{273d}', 1, 2), ('\u{274c}', '\u{274c}', 2, 2), - ('\u{274e}', '\u{274e}', 2, 2), ('\u{2753}', '\u{2755}', 2, 2), ('\u{2757}', '\u{2757}', 2, - 2), ('\u{2776}', '\u{277f}', 1, 2), ('\u{2795}', '\u{2797}', 2, 2), ('\u{27b0}', '\u{27b0}', - 2, 2), ('\u{27bf}', '\u{27bf}', 2, 2), ('\u{2b1b}', '\u{2b1c}', 2, 2), ('\u{2b50}', - '\u{2b50}', 2, 2), ('\u{2b55}', '\u{2b55}', 2, 2), ('\u{2b56}', '\u{2b59}', 1, 2), - ('\u{2cef}', '\u{2cf1}', 0, 0), ('\u{2d7f}', '\u{2d7f}', 0, 0), ('\u{2de0}', '\u{2dff}', 0, - 0), ('\u{2e80}', '\u{2e99}', 2, 2), ('\u{2e9b}', '\u{2ef3}', 2, 2), ('\u{2f00}', '\u{2fd5}', - 2, 2), ('\u{2ff0}', '\u{2ffb}', 2, 2), ('\u{3000}', '\u{3029}', 2, 2), ('\u{302a}', - '\u{302d}', 0, 0), ('\u{302e}', '\u{303e}', 2, 2), ('\u{3041}', '\u{3096}', 2, 2), - ('\u{3099}', '\u{309a}', 0, 0), ('\u{309b}', '\u{30ff}', 2, 2), ('\u{3105}', '\u{312e}', 2, - 2), ('\u{3131}', '\u{318e}', 2, 2), ('\u{3190}', '\u{31ba}', 2, 2), ('\u{31c0}', '\u{31e3}', - 2, 2), ('\u{31f0}', '\u{321e}', 2, 2), ('\u{3220}', '\u{3247}', 2, 2), ('\u{3248}', - '\u{324f}', 1, 2), ('\u{3250}', '\u{32fe}', 2, 2), ('\u{3300}', '\u{4dbf}', 2, 2), - ('\u{4e00}', '\u{a48c}', 2, 2), ('\u{a490}', '\u{a4c6}', 2, 2), ('\u{a66f}', '\u{a672}', 0, - 0), ('\u{a674}', '\u{a67d}', 0, 0), ('\u{a69e}', '\u{a69f}', 0, 0), ('\u{a6f0}', '\u{a6f1}', - 0, 0), ('\u{a802}', '\u{a802}', 0, 0), ('\u{a806}', '\u{a806}', 0, 0), ('\u{a80b}', - '\u{a80b}', 0, 0), ('\u{a825}', '\u{a826}', 0, 0), ('\u{a8c4}', '\u{a8c5}', 0, 0), - ('\u{a8e0}', '\u{a8f1}', 0, 0), ('\u{a926}', '\u{a92d}', 0, 0), ('\u{a947}', '\u{a951}', 0, - 0), ('\u{a960}', '\u{a97c}', 2, 2), ('\u{a980}', '\u{a982}', 0, 0), ('\u{a9b3}', '\u{a9b3}', - 0, 0), ('\u{a9b6}', '\u{a9b9}', 0, 0), ('\u{a9bc}', '\u{a9bc}', 0, 0), ('\u{a9e5}', - '\u{a9e5}', 0, 0), ('\u{aa29}', '\u{aa2e}', 0, 0), ('\u{aa31}', '\u{aa32}', 0, 0), - ('\u{aa35}', '\u{aa36}', 0, 0), ('\u{aa43}', '\u{aa43}', 0, 0), ('\u{aa4c}', '\u{aa4c}', 0, - 0), ('\u{aa7c}', '\u{aa7c}', 0, 0), ('\u{aab0}', '\u{aab0}', 0, 0), ('\u{aab2}', '\u{aab4}', - 0, 0), ('\u{aab7}', '\u{aab8}', 0, 0), ('\u{aabe}', '\u{aabf}', 0, 0), ('\u{aac1}', - '\u{aac1}', 0, 0), ('\u{aaec}', '\u{aaed}', 0, 0), ('\u{aaf6}', '\u{aaf6}', 0, 0), - ('\u{abe5}', '\u{abe5}', 0, 0), ('\u{abe8}', '\u{abe8}', 0, 0), ('\u{abed}', '\u{abed}', 0, - 0), ('\u{ac00}', '\u{d7a3}', 2, 2), ('\u{e000}', '\u{f8ff}', 1, 2), ('\u{f900}', '\u{faff}', - 2, 2), ('\u{fb1e}', '\u{fb1e}', 0, 0), ('\u{fe00}', '\u{fe0f}', 0, 0), ('\u{fe10}', - '\u{fe19}', 2, 2), ('\u{fe20}', '\u{fe2f}', 0, 0), ('\u{fe30}', '\u{fe52}', 2, 2), - ('\u{fe54}', '\u{fe66}', 2, 2), ('\u{fe68}', '\u{fe6b}', 2, 2), ('\u{feff}', '\u{feff}', 0, - 0), ('\u{ff01}', '\u{ff60}', 2, 2), ('\u{ffe0}', '\u{ffe6}', 2, 2), ('\u{fff9}', '\u{fffb}', - 0, 0), ('\u{fffd}', '\u{fffd}', 1, 2), ('\u{101fd}', '\u{101fd}', 0, 0), ('\u{102e0}', - '\u{102e0}', 0, 0), ('\u{10376}', '\u{1037a}', 0, 0), ('\u{10a01}', '\u{10a03}', 0, 0), - ('\u{10a05}', '\u{10a06}', 0, 0), ('\u{10a0c}', '\u{10a0f}', 0, 0), ('\u{10a38}', - '\u{10a3a}', 0, 0), ('\u{10a3f}', '\u{10a3f}', 0, 0), ('\u{10ae5}', '\u{10ae6}', 0, 0), - ('\u{11001}', '\u{11001}', 0, 0), ('\u{11038}', '\u{11046}', 0, 0), ('\u{1107f}', - '\u{11081}', 0, 0), ('\u{110b3}', '\u{110b6}', 0, 0), ('\u{110b9}', '\u{110ba}', 0, 0), - ('\u{110bd}', '\u{110bd}', 0, 0), ('\u{11100}', '\u{11102}', 0, 0), ('\u{11127}', - '\u{1112b}', 0, 0), ('\u{1112d}', '\u{11134}', 0, 0), ('\u{11173}', '\u{11173}', 0, 0), - ('\u{11180}', '\u{11181}', 0, 0), ('\u{111b6}', '\u{111be}', 0, 0), ('\u{111ca}', - '\u{111cc}', 0, 0), ('\u{1122f}', '\u{11231}', 0, 0), ('\u{11234}', '\u{11234}', 0, 0), - ('\u{11236}', '\u{11237}', 0, 0), ('\u{1123e}', '\u{1123e}', 0, 0), ('\u{112df}', - '\u{112df}', 0, 0), ('\u{112e3}', '\u{112ea}', 0, 0), ('\u{11300}', '\u{11301}', 0, 0), - ('\u{1133c}', '\u{1133c}', 0, 0), ('\u{11340}', '\u{11340}', 0, 0), ('\u{11366}', - '\u{1136c}', 0, 0), ('\u{11370}', '\u{11374}', 0, 0), ('\u{11438}', '\u{1143f}', 0, 0), - ('\u{11442}', '\u{11444}', 0, 0), ('\u{11446}', '\u{11446}', 0, 0), ('\u{114b3}', - '\u{114b8}', 0, 0), ('\u{114ba}', '\u{114ba}', 0, 0), ('\u{114bf}', '\u{114c0}', 0, 0), - ('\u{114c2}', '\u{114c3}', 0, 0), ('\u{115b2}', '\u{115b5}', 0, 0), ('\u{115bc}', - '\u{115bd}', 0, 0), ('\u{115bf}', '\u{115c0}', 0, 0), ('\u{115dc}', '\u{115dd}', 0, 0), - ('\u{11633}', '\u{1163a}', 0, 0), ('\u{1163d}', '\u{1163d}', 0, 0), ('\u{1163f}', - '\u{11640}', 0, 0), ('\u{116ab}', '\u{116ab}', 0, 0), ('\u{116ad}', '\u{116ad}', 0, 0), - ('\u{116b0}', '\u{116b5}', 0, 0), ('\u{116b7}', '\u{116b7}', 0, 0), ('\u{1171d}', - '\u{1171f}', 0, 0), ('\u{11722}', '\u{11725}', 0, 0), ('\u{11727}', '\u{1172b}', 0, 0), - ('\u{11a01}', '\u{11a06}', 0, 0), ('\u{11a09}', '\u{11a0a}', 0, 0), ('\u{11a33}', - '\u{11a38}', 0, 0), ('\u{11a3b}', '\u{11a3e}', 0, 0), ('\u{11a47}', '\u{11a47}', 0, 0), - ('\u{11a51}', '\u{11a56}', 0, 0), ('\u{11a59}', '\u{11a5b}', 0, 0), ('\u{11a8a}', - '\u{11a96}', 0, 0), ('\u{11a98}', '\u{11a99}', 0, 0), ('\u{11c30}', '\u{11c36}', 0, 0), - ('\u{11c38}', '\u{11c3d}', 0, 0), ('\u{11c3f}', '\u{11c3f}', 0, 0), ('\u{11c92}', - '\u{11ca7}', 0, 0), ('\u{11caa}', '\u{11cb0}', 0, 0), ('\u{11cb2}', '\u{11cb3}', 0, 0), - ('\u{11cb5}', '\u{11cb6}', 0, 0), ('\u{11d31}', '\u{11d36}', 0, 0), ('\u{11d3a}', - '\u{11d3a}', 0, 0), ('\u{11d3c}', '\u{11d3d}', 0, 0), ('\u{11d3f}', '\u{11d45}', 0, 0), - ('\u{11d47}', '\u{11d47}', 0, 0), ('\u{16af0}', '\u{16af4}', 0, 0), ('\u{16b30}', - '\u{16b36}', 0, 0), ('\u{16f8f}', '\u{16f92}', 0, 0), ('\u{16fe0}', '\u{16fe1}', 2, 2), - ('\u{17000}', '\u{187ec}', 2, 2), ('\u{18800}', '\u{18af2}', 2, 2), ('\u{1b000}', - '\u{1b11e}', 2, 2), ('\u{1b170}', '\u{1b2fb}', 2, 2), ('\u{1bc9d}', '\u{1bc9e}', 0, 0), - ('\u{1bca0}', '\u{1bca3}', 0, 0), ('\u{1d167}', '\u{1d169}', 0, 0), ('\u{1d173}', - '\u{1d182}', 0, 0), ('\u{1d185}', '\u{1d18b}', 0, 0), ('\u{1d1aa}', '\u{1d1ad}', 0, 0), - ('\u{1d242}', '\u{1d244}', 0, 0), ('\u{1da00}', '\u{1da36}', 0, 0), ('\u{1da3b}', - '\u{1da6c}', 0, 0), ('\u{1da75}', '\u{1da75}', 0, 0), ('\u{1da84}', '\u{1da84}', 0, 0), - ('\u{1da9b}', '\u{1da9f}', 0, 0), ('\u{1daa1}', '\u{1daaf}', 0, 0), ('\u{1e000}', - '\u{1e006}', 0, 0), ('\u{1e008}', '\u{1e018}', 0, 0), ('\u{1e01b}', '\u{1e021}', 0, 0), - ('\u{1e023}', '\u{1e024}', 0, 0), ('\u{1e026}', '\u{1e02a}', 0, 0), ('\u{1e8d0}', - '\u{1e8d6}', 0, 0), ('\u{1e944}', '\u{1e94a}', 0, 0), ('\u{1f004}', '\u{1f004}', 2, 2), - ('\u{1f0cf}', '\u{1f0cf}', 2, 2), ('\u{1f100}', '\u{1f10a}', 1, 2), ('\u{1f110}', - '\u{1f12d}', 1, 2), ('\u{1f130}', '\u{1f169}', 1, 2), ('\u{1f170}', '\u{1f18d}', 1, 2), - ('\u{1f18e}', '\u{1f18e}', 2, 2), ('\u{1f18f}', '\u{1f190}', 1, 2), ('\u{1f191}', - '\u{1f19a}', 2, 2), ('\u{1f19b}', '\u{1f1ac}', 1, 2), ('\u{1f200}', '\u{1f202}', 2, 2), - ('\u{1f210}', '\u{1f23b}', 2, 2), ('\u{1f240}', '\u{1f248}', 2, 2), ('\u{1f250}', - '\u{1f251}', 2, 2), ('\u{1f260}', '\u{1f265}', 2, 2), ('\u{1f300}', '\u{1f320}', 2, 2), - ('\u{1f32d}', '\u{1f335}', 2, 2), ('\u{1f337}', '\u{1f37c}', 2, 2), ('\u{1f37e}', - '\u{1f393}', 2, 2), ('\u{1f3a0}', '\u{1f3ca}', 2, 2), ('\u{1f3cf}', '\u{1f3d3}', 2, 2), - ('\u{1f3e0}', '\u{1f3f0}', 2, 2), ('\u{1f3f4}', '\u{1f3f4}', 2, 2), ('\u{1f3f8}', - '\u{1f43e}', 2, 2), ('\u{1f440}', '\u{1f440}', 2, 2), ('\u{1f442}', '\u{1f4fc}', 2, 2), - ('\u{1f4ff}', '\u{1f53d}', 2, 2), ('\u{1f54b}', '\u{1f54e}', 2, 2), ('\u{1f550}', - '\u{1f567}', 2, 2), ('\u{1f57a}', '\u{1f57a}', 2, 2), ('\u{1f595}', '\u{1f596}', 2, 2), - ('\u{1f5a4}', '\u{1f5a4}', 2, 2), ('\u{1f5fb}', '\u{1f64f}', 2, 2), ('\u{1f680}', - '\u{1f6c5}', 2, 2), ('\u{1f6cc}', '\u{1f6cc}', 2, 2), ('\u{1f6d0}', '\u{1f6d2}', 2, 2), - ('\u{1f6eb}', '\u{1f6ec}', 2, 2), ('\u{1f6f4}', '\u{1f6f8}', 2, 2), ('\u{1f910}', - '\u{1f93e}', 2, 2), ('\u{1f940}', '\u{1f94c}', 2, 2), ('\u{1f950}', '\u{1f96b}', 2, 2), - ('\u{1f980}', '\u{1f997}', 2, 2), ('\u{1f9c0}', '\u{1f9c0}', 2, 2), ('\u{1f9d0}', - '\u{1f9e6}', 2, 2), ('\u{20000}', '\u{2fffd}', 2, 2), ('\u{30000}', '\u{3fffd}', 2, 2), - ('\u{e0001}', '\u{e0001}', 0, 0), ('\u{e0020}', '\u{e007f}', 0, 0), ('\u{e0100}', - '\u{e01ef}', 0, 0), ('\u{f0000}', '\u{ffffd}', 1, 2), ('\u{100000}', '\u{10fffd}', 1, 2) - ]; - -} - diff --git a/vendor/registry-40351f815f426200/unicode-width/src/tests.rs b/vendor/registry-40351f815f426200/unicode-width/src/tests.rs deleted file mode 100644 index 2ba1e23d7..000000000 --- a/vendor/registry-40351f815f426200/unicode-width/src/tests.rs +++ /dev/null @@ -1,156 +0,0 @@ -// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -#[cfg(feature = "bench")] -use std::iter; -#[cfg(feature = "bench")] -use test::{self, Bencher}; -#[cfg(feature = "bench")] -use super::UnicodeWidthChar; - -use std::prelude::v1::*; - -#[cfg(feature = "bench")] -#[bench] -fn cargo(b: &mut Bencher) { - let string = iter::repeat('a').take(4096).collect::(); - - b.iter(|| { - for c in string.chars() { - test::black_box(UnicodeWidthChar::width(c)); - } - }); -} - -#[cfg(feature = "bench")] -#[bench] -#[allow(deprecated)] -fn stdlib(b: &mut Bencher) { - let string = iter::repeat('a').take(4096).collect::(); - - b.iter(|| { - for c in string.chars() { - test::black_box(c.width()); - } - }); -} - -#[cfg(feature = "bench")] -#[bench] -fn simple_if(b: &mut Bencher) { - let string = iter::repeat('a').take(4096).collect::(); - - b.iter(|| { - for c in string.chars() { - test::black_box(simple_width_if(c)); - } - }); -} - -#[cfg(feature = "bench")] -#[bench] -fn simple_match(b: &mut Bencher) { - let string = iter::repeat('a').take(4096).collect::(); - - b.iter(|| { - for c in string.chars() { - test::black_box(simple_width_match(c)); - } - }); -} - -#[cfg(feature = "bench")] -#[inline] -fn simple_width_if(c: char) -> Option { - let cu = c as u32; - if cu < 127 { - if cu > 31 { - Some(1) - } else if cu == 0 { - Some(0) - } else { - None - } - } else { - UnicodeWidthChar::width(c) - } -} - -#[cfg(feature = "bench")] -#[inline] -fn simple_width_match(c: char) -> Option { - match c as u32 { - cu if cu == 0 => Some(0), - cu if cu < 0x20 => None, - cu if cu < 0x7f => Some(1), - _ => UnicodeWidthChar::width(c) - } -} - -#[test] -fn test_str() { - use super::UnicodeWidthStr; - - assert_eq!(UnicodeWidthStr::width("hello"), 10); - assert_eq!("hello".width_cjk(), 10); - assert_eq!(UnicodeWidthStr::width("\0\0\0\x01\x01"), 0); - assert_eq!("\0\0\0\x01\x01".width_cjk(), 0); - assert_eq!(UnicodeWidthStr::width(""), 0); - assert_eq!("".width_cjk(), 0); - assert_eq!(UnicodeWidthStr::width("\u{2081}\u{2082}\u{2083}\u{2084}"), 4); - assert_eq!("\u{2081}\u{2082}\u{2083}\u{2084}".width_cjk(), 8); -} - -#[test] -fn test_char() { - use super::UnicodeWidthChar; - #[cfg(feature = "no_std")] - use core::option::Option::{Some, None}; - - assert_eq!(UnicodeWidthChar::width('h'), Some(2)); - assert_eq!('h'.width_cjk(), Some(2)); - assert_eq!(UnicodeWidthChar::width('\x00'), Some(0)); - assert_eq!('\x00'.width_cjk(), Some(0)); - assert_eq!(UnicodeWidthChar::width('\x01'), None); - assert_eq!('\x01'.width_cjk(), None); - assert_eq!(UnicodeWidthChar::width('\u{2081}'), Some(1)); - assert_eq!('\u{2081}'.width_cjk(), Some(2)); -} - -#[test] -fn test_char2() { - use super::UnicodeWidthChar; - #[cfg(feature = "no_std")] - use core::option::Option::{Some, None}; - - assert_eq!(UnicodeWidthChar::width('\x00'),Some(0)); - assert_eq!('\x00'.width_cjk(),Some(0)); - - assert_eq!(UnicodeWidthChar::width('\x0A'),None); - assert_eq!('\x0A'.width_cjk(),None); - - assert_eq!(UnicodeWidthChar::width('w'),Some(1)); - assert_eq!('w'.width_cjk(),Some(1)); - - assert_eq!(UnicodeWidthChar::width('h'),Some(2)); - assert_eq!('h'.width_cjk(),Some(2)); - - assert_eq!(UnicodeWidthChar::width('\u{AD}'),Some(1)); - assert_eq!('\u{AD}'.width_cjk(),Some(1)); - - assert_eq!(UnicodeWidthChar::width('\u{1160}'),Some(0)); - assert_eq!('\u{1160}'.width_cjk(),Some(0)); - - assert_eq!(UnicodeWidthChar::width('\u{a1}'),Some(1)); - assert_eq!('\u{a1}'.width_cjk(),Some(2)); - - assert_eq!(UnicodeWidthChar::width('\u{300}'),Some(0)); - assert_eq!('\u{300}'.width_cjk(),Some(0)); -} diff --git a/vendor/registry-40351f815f426200/unicode-xid/.cargo-checksum.json b/vendor/registry-40351f815f426200/unicode-xid/.cargo-checksum.json deleted file mode 100644 index 60faf25bf..000000000 --- a/vendor/registry-40351f815f426200/unicode-xid/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"COPYRIGHT":"23860c2a7b5d96b21569afedf033469bab9fe14a1b24a35068b8641c578ce24d","Cargo.toml":"aafcae4002bee71546a6aa40a97b9124a69f169ee7e3a9e3262338e32b4c2b9b","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"7b63ecd5f1902af1b63729947373683c32745c16a10e8e6292e2e2dcd7e90ae0","README.md":"67998486b32f4fe46abbbaa411b92528750e7f0e22452dc8a5b95d87d80fde75","scripts/unicode.py":"762eea92dd51238c6bf877570bde1149932ba15cf87be1618fc21cd53e941733","src/lib.rs":"4a89fadf452ae7c53536eaa4496f951a3153f8189dd1cbc532648731d30f0b11","src/tables.rs":"0643459b6ebeeed83aecd7604f0ea29c06bea7ce6c1cd9acd4988d27ace1ec53","src/tests.rs":"35a459382e190197e7b9a78832ae79f310b48a02a5b4227bf9bbc89d46c8deac"},"package":"fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/unicode-xid/COPYRIGHT b/vendor/registry-40351f815f426200/unicode-xid/COPYRIGHT deleted file mode 100644 index b286ec16a..000000000 --- a/vendor/registry-40351f815f426200/unicode-xid/COPYRIGHT +++ /dev/null @@ -1,7 +0,0 @@ -Licensed under the Apache License, Version 2.0 - or the MIT -license , -at your option. All files in the project carrying such -notice may not be copied, modified, or distributed except -according to those terms. diff --git a/vendor/registry-40351f815f426200/unicode-xid/Cargo.toml b/vendor/registry-40351f815f426200/unicode-xid/Cargo.toml deleted file mode 100644 index b9b69b293..000000000 --- a/vendor/registry-40351f815f426200/unicode-xid/Cargo.toml +++ /dev/null @@ -1,26 +0,0 @@ -[package] - -name = "unicode-xid" -version = "0.1.0" -authors = ["erick.tryzelaar ", - "kwantam ", - ] - -homepage = "https://github.com/unicode-rs/unicode-xid" -repository = "https://github.com/unicode-rs/unicode-xid" -documentation = "https://unicode-rs.github.io/unicode-xid" -license = "MIT/Apache-2.0" -keywords = ["text", "unicode", "xid"] -readme = "README.md" -description = """ -Determine whether characters have the XID_Start -or XID_Continue properties according to -Unicode Standard Annex #31. -""" - -exclude = [ "target/*", "Cargo.lock" ] - -[features] -default = [] -no_std = [] -bench = [] diff --git a/vendor/registry-40351f815f426200/unicode-xid/LICENSE-APACHE b/vendor/registry-40351f815f426200/unicode-xid/LICENSE-APACHE deleted file mode 100644 index 16fe87b06..000000000 --- a/vendor/registry-40351f815f426200/unicode-xid/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/unicode-xid/LICENSE-MIT b/vendor/registry-40351f815f426200/unicode-xid/LICENSE-MIT deleted file mode 100644 index e69282e38..000000000 --- a/vendor/registry-40351f815f426200/unicode-xid/LICENSE-MIT +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) 2015 The Rust Project Developers - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/unicode-xid/README.md b/vendor/registry-40351f815f426200/unicode-xid/README.md deleted file mode 100644 index 3a2be472d..000000000 --- a/vendor/registry-40351f815f426200/unicode-xid/README.md +++ /dev/null @@ -1,34 +0,0 @@ -# unicode-xid - -Determine if a `char` is a valid identifier for a parser and/or lexer according to -[Unicode Standard Annex #31](http://www.unicode.org/reports/tr31/) rules. - -[![Build Status](https://travis-ci.org/unicode-rs/unicode-xid.svg)](https://travis-ci.org/unicode-rs/unicode-xid) - -[Documentation](https://unicode-rs.github.io/unicode-xid/unicode_xid/index.html) - -```rust -extern crate unicode_xid; - -use unicode_xid::UnicodeXID; - -fn main() { - let ch = 'a'; - println!("Is {} a valid start of an identifier? {}", ch, UnicodeXID::is_xid_start(ch)); -} -``` - -# features - -unicode-xid supports a `no_std` feature. This eliminates dependence -on std, and instead uses equivalent functions from core. - -# crates.io - -You can use this package in your project by adding the following -to your `Cargo.toml`: - -```toml -[dependencies] -unicode-xid = "0.0.4" -``` diff --git a/vendor/registry-40351f815f426200/unicode-xid/scripts/unicode.py b/vendor/registry-40351f815f426200/unicode-xid/scripts/unicode.py deleted file mode 100755 index a30d2f2a7..000000000 --- a/vendor/registry-40351f815f426200/unicode-xid/scripts/unicode.py +++ /dev/null @@ -1,187 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2011-2015 The Rust Project Developers. See the COPYRIGHT -# file at the top-level directory of this distribution and at -# http://rust-lang.org/COPYRIGHT. -# -# Licensed under the Apache License, Version 2.0 or the MIT license -# , at your -# option. This file may not be copied, modified, or distributed -# except according to those terms. - -# This script uses the following Unicode tables: -# - DerivedCoreProperties.txt -# - ReadMe.txt -# -# Since this should not require frequent updates, we just store this -# out-of-line and check the unicode.rs file into git. - -import fileinput, re, os, sys - -preamble = '''// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -// NOTE: The following code was generated by "scripts/unicode.py", do not edit directly - -#![allow(missing_docs, non_upper_case_globals, non_snake_case)] -''' - -def fetch(f): - if not os.path.exists(os.path.basename(f)): - os.system("curl -O http://www.unicode.org/Public/UNIDATA/%s" - % f) - - if not os.path.exists(os.path.basename(f)): - sys.stderr.write("cannot load %s" % f) - exit(1) - -def group_cat(cat): - cat_out = [] - letters = sorted(set(cat)) - cur_start = letters.pop(0) - cur_end = cur_start - for letter in letters: - assert letter > cur_end, \ - "cur_end: %s, letter: %s" % (hex(cur_end), hex(letter)) - if letter == cur_end + 1: - cur_end = letter - else: - cat_out.append((cur_start, cur_end)) - cur_start = cur_end = letter - cat_out.append((cur_start, cur_end)) - return cat_out - -def ungroup_cat(cat): - cat_out = [] - for (lo, hi) in cat: - while lo <= hi: - cat_out.append(lo) - lo += 1 - return cat_out - -def format_table_content(f, content, indent): - line = " "*indent - first = True - for chunk in content.split(","): - if len(line) + len(chunk) < 98: - if first: - line += chunk - else: - line += ", " + chunk - first = False - else: - f.write(line + ",\n") - line = " "*indent + chunk - f.write(line) - -def load_properties(f, interestingprops): - fetch(f) - props = {} - re1 = re.compile("^ *([0-9A-F]+) *; *(\w+)") - re2 = re.compile("^ *([0-9A-F]+)\.\.([0-9A-F]+) *; *(\w+)") - - for line in fileinput.input(os.path.basename(f)): - prop = None - d_lo = 0 - d_hi = 0 - m = re1.match(line) - if m: - d_lo = m.group(1) - d_hi = m.group(1) - prop = m.group(2) - else: - m = re2.match(line) - if m: - d_lo = m.group(1) - d_hi = m.group(2) - prop = m.group(3) - else: - continue - if interestingprops and prop not in interestingprops: - continue - d_lo = int(d_lo, 16) - d_hi = int(d_hi, 16) - if prop not in props: - props[prop] = [] - props[prop].append((d_lo, d_hi)) - - # optimize if possible - for prop in props: - props[prop] = group_cat(ungroup_cat(props[prop])) - - return props - -def escape_char(c): - return "'\\u{%x}'" % c - -def emit_bsearch_range_table(f): - f.write(""" -fn bsearch_range_table(c: char, r: &'static [(char,char)]) -> bool { - use core::cmp::Ordering::{Equal, Less, Greater}; - - r.binary_search_by(|&(lo,hi)| { - if lo <= c && c <= hi { Equal } - else if hi < c { Less } - else { Greater } - }).is_ok() -}\n -""") - -def emit_table(f, name, t_data, t_type = "&'static [(char, char)]", is_pub=True, - pfun=lambda x: "(%s,%s)" % (escape_char(x[0]), escape_char(x[1])), is_const=True): - pub_string = "const" - if not is_const: - pub_string = "let" - if is_pub: - pub_string = "pub " + pub_string - f.write(" %s %s: %s = &[\n" % (pub_string, name, t_type)) - data = "" - first = True - for dat in t_data: - if not first: - data += "," - first = False - data += pfun(dat) - format_table_content(f, data, 8) - f.write("\n ];\n\n") - -def emit_property_module(f, mod, tbl, emit): - f.write("pub mod %s {\n" % mod) - for cat in sorted(emit): - emit_table(f, "%s_table" % cat, tbl[cat]) - f.write(" pub fn %s(c: char) -> bool {\n" % cat) - f.write(" super::bsearch_range_table(c, %s_table)\n" % cat) - f.write(" }\n\n") - f.write("}\n\n") - -if __name__ == "__main__": - r = "tables.rs" - if os.path.exists(r): - os.remove(r) - with open(r, "w") as rf: - # write the file's preamble - rf.write(preamble) - - # download and parse all the data - fetch("ReadMe.txt") - with open("ReadMe.txt") as readme: - pattern = "for Version (\d+)\.(\d+)\.(\d+) of the Unicode" - unicode_version = re.search(pattern, readme.read()).groups() - rf.write(""" -/// The version of [Unicode](http://www.unicode.org/) -/// that this version of unicode-xid is based on. -pub const UNICODE_VERSION: (u64, u64, u64) = (%s, %s, %s); -""" % unicode_version) - emit_bsearch_range_table(rf) - - want_derived = ["XID_Start", "XID_Continue"] - derived = load_properties("DerivedCoreProperties.txt", want_derived) - emit_property_module(rf, "derived_property", derived, want_derived) diff --git a/vendor/registry-40351f815f426200/unicode-xid/src/lib.rs b/vendor/registry-40351f815f426200/unicode-xid/src/lib.rs deleted file mode 100644 index 09faf9726..000000000 --- a/vendor/registry-40351f815f426200/unicode-xid/src/lib.rs +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Determine if a `char` is a valid identifier for a parser and/or lexer according to -//! [Unicode Standard Annex #31](http://www.unicode.org/reports/tr31/) rules. -//! -//! ```rust -//! extern crate unicode_xid; -//! -//! use unicode_xid::UnicodeXID; -//! -//! fn main() { -//! let ch = 'a'; -//! println!("Is {} a valid start of an identifier? {}", ch, UnicodeXID::is_xid_start(ch)); -//! } -//! ``` -//! -//! # features -//! -//! unicode-xid supports a `no_std` feature. This eliminates dependence -//! on std, and instead uses equivalent functions from core. -//! -//! # crates.io -//! -//! You can use this package in your project by adding the following -//! to your `Cargo.toml`: -//! -//! ```toml -//! [dependencies] -//! unicode-xid = "0.0.4" -//! ``` - -#![deny(missing_docs, unsafe_code)] -#![doc(html_logo_url = "https://unicode-rs.github.io/unicode-rs_sm.png", - html_favicon_url = "https://unicode-rs.github.io/unicode-rs_sm.png")] - -#![no_std] -#![cfg_attr(feature = "bench", feature(test, unicode))] - -#[cfg(test)] -#[macro_use] -extern crate std; - -#[cfg(feature = "bench")] -extern crate test; - -use tables::derived_property; -pub use tables::UNICODE_VERSION; - -mod tables; - -#[cfg(test)] -mod tests; - -/// Methods for determining if a character is a valid identifier character. -pub trait UnicodeXID { - /// Returns whether the specified character satisfies the 'XID_Start' - /// Unicode property. - /// - /// 'XID_Start' is a Unicode Derived Property specified in - /// [UAX #31](http://unicode.org/reports/tr31/#NFKC_Modifications), - /// mostly similar to ID_Start but modified for closure under NFKx. - fn is_xid_start(self) -> bool; - - /// Returns whether the specified `char` satisfies the 'XID_Continue' - /// Unicode property. - /// - /// 'XID_Continue' is a Unicode Derived Property specified in - /// [UAX #31](http://unicode.org/reports/tr31/#NFKC_Modifications), - /// mostly similar to 'ID_Continue' but modified for closure under NFKx. - fn is_xid_continue(self) -> bool; -} - -impl UnicodeXID for char { - #[inline] - fn is_xid_start(self) -> bool { derived_property::XID_Start(self) } - - #[inline] - fn is_xid_continue(self) -> bool { derived_property::XID_Continue(self) } -} diff --git a/vendor/registry-40351f815f426200/unicode-xid/src/tables.rs b/vendor/registry-40351f815f426200/unicode-xid/src/tables.rs deleted file mode 100644 index 3fe0d3d11..000000000 --- a/vendor/registry-40351f815f426200/unicode-xid/src/tables.rs +++ /dev/null @@ -1,426 +0,0 @@ -// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -// NOTE: The following code was generated by "scripts/unicode.py", do not edit directly - -#![allow(missing_docs, non_upper_case_globals, non_snake_case)] - -/// The version of [Unicode](http://www.unicode.org/) -/// that this version of unicode-xid is based on. -pub const UNICODE_VERSION: (u64, u64, u64) = (9, 0, 0); - -fn bsearch_range_table(c: char, r: &'static [(char,char)]) -> bool { - use core::cmp::Ordering::{Equal, Less, Greater}; - - r.binary_search_by(|&(lo,hi)| { - if lo <= c && c <= hi { Equal } - else if hi < c { Less } - else { Greater } - }).is_ok() -} - -pub mod derived_property { - pub const XID_Continue_table: &'static [(char, char)] = &[ - ('\u{30}', '\u{39}'), ('\u{41}', '\u{5a}'), ('\u{5f}', '\u{5f}'), ('\u{61}', '\u{7a}'), - ('\u{aa}', '\u{aa}'), ('\u{b5}', '\u{b5}'), ('\u{b7}', '\u{b7}'), ('\u{ba}', '\u{ba}'), - ('\u{c0}', '\u{d6}'), ('\u{d8}', '\u{f6}'), ('\u{f8}', '\u{2c1}'), ('\u{2c6}', '\u{2d1}'), - ('\u{2e0}', '\u{2e4}'), ('\u{2ec}', '\u{2ec}'), ('\u{2ee}', '\u{2ee}'), ('\u{300}', - '\u{374}'), ('\u{376}', '\u{377}'), ('\u{37b}', '\u{37d}'), ('\u{37f}', '\u{37f}'), - ('\u{386}', '\u{38a}'), ('\u{38c}', '\u{38c}'), ('\u{38e}', '\u{3a1}'), ('\u{3a3}', - '\u{3f5}'), ('\u{3f7}', '\u{481}'), ('\u{483}', '\u{487}'), ('\u{48a}', '\u{52f}'), - ('\u{531}', '\u{556}'), ('\u{559}', '\u{559}'), ('\u{561}', '\u{587}'), ('\u{591}', - '\u{5bd}'), ('\u{5bf}', '\u{5bf}'), ('\u{5c1}', '\u{5c2}'), ('\u{5c4}', '\u{5c5}'), - ('\u{5c7}', '\u{5c7}'), ('\u{5d0}', '\u{5ea}'), ('\u{5f0}', '\u{5f2}'), ('\u{610}', - '\u{61a}'), ('\u{620}', '\u{669}'), ('\u{66e}', '\u{6d3}'), ('\u{6d5}', '\u{6dc}'), - ('\u{6df}', '\u{6e8}'), ('\u{6ea}', '\u{6fc}'), ('\u{6ff}', '\u{6ff}'), ('\u{710}', - '\u{74a}'), ('\u{74d}', '\u{7b1}'), ('\u{7c0}', '\u{7f5}'), ('\u{7fa}', '\u{7fa}'), - ('\u{800}', '\u{82d}'), ('\u{840}', '\u{85b}'), ('\u{8a0}', '\u{8b4}'), ('\u{8b6}', - '\u{8bd}'), ('\u{8d4}', '\u{8e1}'), ('\u{8e3}', '\u{963}'), ('\u{966}', '\u{96f}'), - ('\u{971}', '\u{983}'), ('\u{985}', '\u{98c}'), ('\u{98f}', '\u{990}'), ('\u{993}', - '\u{9a8}'), ('\u{9aa}', '\u{9b0}'), ('\u{9b2}', '\u{9b2}'), ('\u{9b6}', '\u{9b9}'), - ('\u{9bc}', '\u{9c4}'), ('\u{9c7}', '\u{9c8}'), ('\u{9cb}', '\u{9ce}'), ('\u{9d7}', - '\u{9d7}'), ('\u{9dc}', '\u{9dd}'), ('\u{9df}', '\u{9e3}'), ('\u{9e6}', '\u{9f1}'), - ('\u{a01}', '\u{a03}'), ('\u{a05}', '\u{a0a}'), ('\u{a0f}', '\u{a10}'), ('\u{a13}', - '\u{a28}'), ('\u{a2a}', '\u{a30}'), ('\u{a32}', '\u{a33}'), ('\u{a35}', '\u{a36}'), - ('\u{a38}', '\u{a39}'), ('\u{a3c}', '\u{a3c}'), ('\u{a3e}', '\u{a42}'), ('\u{a47}', - '\u{a48}'), ('\u{a4b}', '\u{a4d}'), ('\u{a51}', '\u{a51}'), ('\u{a59}', '\u{a5c}'), - ('\u{a5e}', '\u{a5e}'), ('\u{a66}', '\u{a75}'), ('\u{a81}', '\u{a83}'), ('\u{a85}', - '\u{a8d}'), ('\u{a8f}', '\u{a91}'), ('\u{a93}', '\u{aa8}'), ('\u{aaa}', '\u{ab0}'), - ('\u{ab2}', '\u{ab3}'), ('\u{ab5}', '\u{ab9}'), ('\u{abc}', '\u{ac5}'), ('\u{ac7}', - '\u{ac9}'), ('\u{acb}', '\u{acd}'), ('\u{ad0}', '\u{ad0}'), ('\u{ae0}', '\u{ae3}'), - ('\u{ae6}', '\u{aef}'), ('\u{af9}', '\u{af9}'), ('\u{b01}', '\u{b03}'), ('\u{b05}', - '\u{b0c}'), ('\u{b0f}', '\u{b10}'), ('\u{b13}', '\u{b28}'), ('\u{b2a}', '\u{b30}'), - ('\u{b32}', '\u{b33}'), ('\u{b35}', '\u{b39}'), ('\u{b3c}', '\u{b44}'), ('\u{b47}', - '\u{b48}'), ('\u{b4b}', '\u{b4d}'), ('\u{b56}', '\u{b57}'), ('\u{b5c}', '\u{b5d}'), - ('\u{b5f}', '\u{b63}'), ('\u{b66}', '\u{b6f}'), ('\u{b71}', '\u{b71}'), ('\u{b82}', - '\u{b83}'), ('\u{b85}', '\u{b8a}'), ('\u{b8e}', '\u{b90}'), ('\u{b92}', '\u{b95}'), - ('\u{b99}', '\u{b9a}'), ('\u{b9c}', '\u{b9c}'), ('\u{b9e}', '\u{b9f}'), ('\u{ba3}', - '\u{ba4}'), ('\u{ba8}', '\u{baa}'), ('\u{bae}', '\u{bb9}'), ('\u{bbe}', '\u{bc2}'), - ('\u{bc6}', '\u{bc8}'), ('\u{bca}', '\u{bcd}'), ('\u{bd0}', '\u{bd0}'), ('\u{bd7}', - '\u{bd7}'), ('\u{be6}', '\u{bef}'), ('\u{c00}', '\u{c03}'), ('\u{c05}', '\u{c0c}'), - ('\u{c0e}', '\u{c10}'), ('\u{c12}', '\u{c28}'), ('\u{c2a}', '\u{c39}'), ('\u{c3d}', - '\u{c44}'), ('\u{c46}', '\u{c48}'), ('\u{c4a}', '\u{c4d}'), ('\u{c55}', '\u{c56}'), - ('\u{c58}', '\u{c5a}'), ('\u{c60}', '\u{c63}'), ('\u{c66}', '\u{c6f}'), ('\u{c80}', - '\u{c83}'), ('\u{c85}', '\u{c8c}'), ('\u{c8e}', '\u{c90}'), ('\u{c92}', '\u{ca8}'), - ('\u{caa}', '\u{cb3}'), ('\u{cb5}', '\u{cb9}'), ('\u{cbc}', '\u{cc4}'), ('\u{cc6}', - '\u{cc8}'), ('\u{cca}', '\u{ccd}'), ('\u{cd5}', '\u{cd6}'), ('\u{cde}', '\u{cde}'), - ('\u{ce0}', '\u{ce3}'), ('\u{ce6}', '\u{cef}'), ('\u{cf1}', '\u{cf2}'), ('\u{d01}', - '\u{d03}'), ('\u{d05}', '\u{d0c}'), ('\u{d0e}', '\u{d10}'), ('\u{d12}', '\u{d3a}'), - ('\u{d3d}', '\u{d44}'), ('\u{d46}', '\u{d48}'), ('\u{d4a}', '\u{d4e}'), ('\u{d54}', - '\u{d57}'), ('\u{d5f}', '\u{d63}'), ('\u{d66}', '\u{d6f}'), ('\u{d7a}', '\u{d7f}'), - ('\u{d82}', '\u{d83}'), ('\u{d85}', '\u{d96}'), ('\u{d9a}', '\u{db1}'), ('\u{db3}', - '\u{dbb}'), ('\u{dbd}', '\u{dbd}'), ('\u{dc0}', '\u{dc6}'), ('\u{dca}', '\u{dca}'), - ('\u{dcf}', '\u{dd4}'), ('\u{dd6}', '\u{dd6}'), ('\u{dd8}', '\u{ddf}'), ('\u{de6}', - '\u{def}'), ('\u{df2}', '\u{df3}'), ('\u{e01}', '\u{e3a}'), ('\u{e40}', '\u{e4e}'), - ('\u{e50}', '\u{e59}'), ('\u{e81}', '\u{e82}'), ('\u{e84}', '\u{e84}'), ('\u{e87}', - '\u{e88}'), ('\u{e8a}', '\u{e8a}'), ('\u{e8d}', '\u{e8d}'), ('\u{e94}', '\u{e97}'), - ('\u{e99}', '\u{e9f}'), ('\u{ea1}', '\u{ea3}'), ('\u{ea5}', '\u{ea5}'), ('\u{ea7}', - '\u{ea7}'), ('\u{eaa}', '\u{eab}'), ('\u{ead}', '\u{eb9}'), ('\u{ebb}', '\u{ebd}'), - ('\u{ec0}', '\u{ec4}'), ('\u{ec6}', '\u{ec6}'), ('\u{ec8}', '\u{ecd}'), ('\u{ed0}', - '\u{ed9}'), ('\u{edc}', '\u{edf}'), ('\u{f00}', '\u{f00}'), ('\u{f18}', '\u{f19}'), - ('\u{f20}', '\u{f29}'), ('\u{f35}', '\u{f35}'), ('\u{f37}', '\u{f37}'), ('\u{f39}', - '\u{f39}'), ('\u{f3e}', '\u{f47}'), ('\u{f49}', '\u{f6c}'), ('\u{f71}', '\u{f84}'), - ('\u{f86}', '\u{f97}'), ('\u{f99}', '\u{fbc}'), ('\u{fc6}', '\u{fc6}'), ('\u{1000}', - '\u{1049}'), ('\u{1050}', '\u{109d}'), ('\u{10a0}', '\u{10c5}'), ('\u{10c7}', '\u{10c7}'), - ('\u{10cd}', '\u{10cd}'), ('\u{10d0}', '\u{10fa}'), ('\u{10fc}', '\u{1248}'), ('\u{124a}', - '\u{124d}'), ('\u{1250}', '\u{1256}'), ('\u{1258}', '\u{1258}'), ('\u{125a}', '\u{125d}'), - ('\u{1260}', '\u{1288}'), ('\u{128a}', '\u{128d}'), ('\u{1290}', '\u{12b0}'), ('\u{12b2}', - '\u{12b5}'), ('\u{12b8}', '\u{12be}'), ('\u{12c0}', '\u{12c0}'), ('\u{12c2}', '\u{12c5}'), - ('\u{12c8}', '\u{12d6}'), ('\u{12d8}', '\u{1310}'), ('\u{1312}', '\u{1315}'), ('\u{1318}', - '\u{135a}'), ('\u{135d}', '\u{135f}'), ('\u{1369}', '\u{1371}'), ('\u{1380}', '\u{138f}'), - ('\u{13a0}', '\u{13f5}'), ('\u{13f8}', '\u{13fd}'), ('\u{1401}', '\u{166c}'), ('\u{166f}', - '\u{167f}'), ('\u{1681}', '\u{169a}'), ('\u{16a0}', '\u{16ea}'), ('\u{16ee}', '\u{16f8}'), - ('\u{1700}', '\u{170c}'), ('\u{170e}', '\u{1714}'), ('\u{1720}', '\u{1734}'), ('\u{1740}', - '\u{1753}'), ('\u{1760}', '\u{176c}'), ('\u{176e}', '\u{1770}'), ('\u{1772}', '\u{1773}'), - ('\u{1780}', '\u{17d3}'), ('\u{17d7}', '\u{17d7}'), ('\u{17dc}', '\u{17dd}'), ('\u{17e0}', - '\u{17e9}'), ('\u{180b}', '\u{180d}'), ('\u{1810}', '\u{1819}'), ('\u{1820}', '\u{1877}'), - ('\u{1880}', '\u{18aa}'), ('\u{18b0}', '\u{18f5}'), ('\u{1900}', '\u{191e}'), ('\u{1920}', - '\u{192b}'), ('\u{1930}', '\u{193b}'), ('\u{1946}', '\u{196d}'), ('\u{1970}', '\u{1974}'), - ('\u{1980}', '\u{19ab}'), ('\u{19b0}', '\u{19c9}'), ('\u{19d0}', '\u{19da}'), ('\u{1a00}', - '\u{1a1b}'), ('\u{1a20}', '\u{1a5e}'), ('\u{1a60}', '\u{1a7c}'), ('\u{1a7f}', '\u{1a89}'), - ('\u{1a90}', '\u{1a99}'), ('\u{1aa7}', '\u{1aa7}'), ('\u{1ab0}', '\u{1abd}'), ('\u{1b00}', - '\u{1b4b}'), ('\u{1b50}', '\u{1b59}'), ('\u{1b6b}', '\u{1b73}'), ('\u{1b80}', '\u{1bf3}'), - ('\u{1c00}', '\u{1c37}'), ('\u{1c40}', '\u{1c49}'), ('\u{1c4d}', '\u{1c7d}'), ('\u{1c80}', - '\u{1c88}'), ('\u{1cd0}', '\u{1cd2}'), ('\u{1cd4}', '\u{1cf6}'), ('\u{1cf8}', '\u{1cf9}'), - ('\u{1d00}', '\u{1df5}'), ('\u{1dfb}', '\u{1f15}'), ('\u{1f18}', '\u{1f1d}'), ('\u{1f20}', - '\u{1f45}'), ('\u{1f48}', '\u{1f4d}'), ('\u{1f50}', '\u{1f57}'), ('\u{1f59}', '\u{1f59}'), - ('\u{1f5b}', '\u{1f5b}'), ('\u{1f5d}', '\u{1f5d}'), ('\u{1f5f}', '\u{1f7d}'), ('\u{1f80}', - '\u{1fb4}'), ('\u{1fb6}', '\u{1fbc}'), ('\u{1fbe}', '\u{1fbe}'), ('\u{1fc2}', '\u{1fc4}'), - ('\u{1fc6}', '\u{1fcc}'), ('\u{1fd0}', '\u{1fd3}'), ('\u{1fd6}', '\u{1fdb}'), ('\u{1fe0}', - '\u{1fec}'), ('\u{1ff2}', '\u{1ff4}'), ('\u{1ff6}', '\u{1ffc}'), ('\u{203f}', '\u{2040}'), - ('\u{2054}', '\u{2054}'), ('\u{2071}', '\u{2071}'), ('\u{207f}', '\u{207f}'), ('\u{2090}', - '\u{209c}'), ('\u{20d0}', '\u{20dc}'), ('\u{20e1}', '\u{20e1}'), ('\u{20e5}', '\u{20f0}'), - ('\u{2102}', '\u{2102}'), ('\u{2107}', '\u{2107}'), ('\u{210a}', '\u{2113}'), ('\u{2115}', - '\u{2115}'), ('\u{2118}', '\u{211d}'), ('\u{2124}', '\u{2124}'), ('\u{2126}', '\u{2126}'), - ('\u{2128}', '\u{2128}'), ('\u{212a}', '\u{2139}'), ('\u{213c}', '\u{213f}'), ('\u{2145}', - '\u{2149}'), ('\u{214e}', '\u{214e}'), ('\u{2160}', '\u{2188}'), ('\u{2c00}', '\u{2c2e}'), - ('\u{2c30}', '\u{2c5e}'), ('\u{2c60}', '\u{2ce4}'), ('\u{2ceb}', '\u{2cf3}'), ('\u{2d00}', - '\u{2d25}'), ('\u{2d27}', '\u{2d27}'), ('\u{2d2d}', '\u{2d2d}'), ('\u{2d30}', '\u{2d67}'), - ('\u{2d6f}', '\u{2d6f}'), ('\u{2d7f}', '\u{2d96}'), ('\u{2da0}', '\u{2da6}'), ('\u{2da8}', - '\u{2dae}'), ('\u{2db0}', '\u{2db6}'), ('\u{2db8}', '\u{2dbe}'), ('\u{2dc0}', '\u{2dc6}'), - ('\u{2dc8}', '\u{2dce}'), ('\u{2dd0}', '\u{2dd6}'), ('\u{2dd8}', '\u{2dde}'), ('\u{2de0}', - '\u{2dff}'), ('\u{3005}', '\u{3007}'), ('\u{3021}', '\u{302f}'), ('\u{3031}', '\u{3035}'), - ('\u{3038}', '\u{303c}'), ('\u{3041}', '\u{3096}'), ('\u{3099}', '\u{309a}'), ('\u{309d}', - '\u{309f}'), ('\u{30a1}', '\u{30fa}'), ('\u{30fc}', '\u{30ff}'), ('\u{3105}', '\u{312d}'), - ('\u{3131}', '\u{318e}'), ('\u{31a0}', '\u{31ba}'), ('\u{31f0}', '\u{31ff}'), ('\u{3400}', - '\u{4db5}'), ('\u{4e00}', '\u{9fd5}'), ('\u{a000}', '\u{a48c}'), ('\u{a4d0}', '\u{a4fd}'), - ('\u{a500}', '\u{a60c}'), ('\u{a610}', '\u{a62b}'), ('\u{a640}', '\u{a66f}'), ('\u{a674}', - '\u{a67d}'), ('\u{a67f}', '\u{a6f1}'), ('\u{a717}', '\u{a71f}'), ('\u{a722}', '\u{a788}'), - ('\u{a78b}', '\u{a7ae}'), ('\u{a7b0}', '\u{a7b7}'), ('\u{a7f7}', '\u{a827}'), ('\u{a840}', - '\u{a873}'), ('\u{a880}', '\u{a8c5}'), ('\u{a8d0}', '\u{a8d9}'), ('\u{a8e0}', '\u{a8f7}'), - ('\u{a8fb}', '\u{a8fb}'), ('\u{a8fd}', '\u{a8fd}'), ('\u{a900}', '\u{a92d}'), ('\u{a930}', - '\u{a953}'), ('\u{a960}', '\u{a97c}'), ('\u{a980}', '\u{a9c0}'), ('\u{a9cf}', '\u{a9d9}'), - ('\u{a9e0}', '\u{a9fe}'), ('\u{aa00}', '\u{aa36}'), ('\u{aa40}', '\u{aa4d}'), ('\u{aa50}', - '\u{aa59}'), ('\u{aa60}', '\u{aa76}'), ('\u{aa7a}', '\u{aac2}'), ('\u{aadb}', '\u{aadd}'), - ('\u{aae0}', '\u{aaef}'), ('\u{aaf2}', '\u{aaf6}'), ('\u{ab01}', '\u{ab06}'), ('\u{ab09}', - '\u{ab0e}'), ('\u{ab11}', '\u{ab16}'), ('\u{ab20}', '\u{ab26}'), ('\u{ab28}', '\u{ab2e}'), - ('\u{ab30}', '\u{ab5a}'), ('\u{ab5c}', '\u{ab65}'), ('\u{ab70}', '\u{abea}'), ('\u{abec}', - '\u{abed}'), ('\u{abf0}', '\u{abf9}'), ('\u{ac00}', '\u{d7a3}'), ('\u{d7b0}', '\u{d7c6}'), - ('\u{d7cb}', '\u{d7fb}'), ('\u{f900}', '\u{fa6d}'), ('\u{fa70}', '\u{fad9}'), ('\u{fb00}', - '\u{fb06}'), ('\u{fb13}', '\u{fb17}'), ('\u{fb1d}', '\u{fb28}'), ('\u{fb2a}', '\u{fb36}'), - ('\u{fb38}', '\u{fb3c}'), ('\u{fb3e}', '\u{fb3e}'), ('\u{fb40}', '\u{fb41}'), ('\u{fb43}', - '\u{fb44}'), ('\u{fb46}', '\u{fbb1}'), ('\u{fbd3}', '\u{fc5d}'), ('\u{fc64}', '\u{fd3d}'), - ('\u{fd50}', '\u{fd8f}'), ('\u{fd92}', '\u{fdc7}'), ('\u{fdf0}', '\u{fdf9}'), ('\u{fe00}', - '\u{fe0f}'), ('\u{fe20}', '\u{fe2f}'), ('\u{fe33}', '\u{fe34}'), ('\u{fe4d}', '\u{fe4f}'), - ('\u{fe71}', '\u{fe71}'), ('\u{fe73}', '\u{fe73}'), ('\u{fe77}', '\u{fe77}'), ('\u{fe79}', - '\u{fe79}'), ('\u{fe7b}', '\u{fe7b}'), ('\u{fe7d}', '\u{fe7d}'), ('\u{fe7f}', '\u{fefc}'), - ('\u{ff10}', '\u{ff19}'), ('\u{ff21}', '\u{ff3a}'), ('\u{ff3f}', '\u{ff3f}'), ('\u{ff41}', - '\u{ff5a}'), ('\u{ff66}', '\u{ffbe}'), ('\u{ffc2}', '\u{ffc7}'), ('\u{ffca}', '\u{ffcf}'), - ('\u{ffd2}', '\u{ffd7}'), ('\u{ffda}', '\u{ffdc}'), ('\u{10000}', '\u{1000b}'), - ('\u{1000d}', '\u{10026}'), ('\u{10028}', '\u{1003a}'), ('\u{1003c}', '\u{1003d}'), - ('\u{1003f}', '\u{1004d}'), ('\u{10050}', '\u{1005d}'), ('\u{10080}', '\u{100fa}'), - ('\u{10140}', '\u{10174}'), ('\u{101fd}', '\u{101fd}'), ('\u{10280}', '\u{1029c}'), - ('\u{102a0}', '\u{102d0}'), ('\u{102e0}', '\u{102e0}'), ('\u{10300}', '\u{1031f}'), - ('\u{10330}', '\u{1034a}'), ('\u{10350}', '\u{1037a}'), ('\u{10380}', '\u{1039d}'), - ('\u{103a0}', '\u{103c3}'), ('\u{103c8}', '\u{103cf}'), ('\u{103d1}', '\u{103d5}'), - ('\u{10400}', '\u{1049d}'), ('\u{104a0}', '\u{104a9}'), ('\u{104b0}', '\u{104d3}'), - ('\u{104d8}', '\u{104fb}'), ('\u{10500}', '\u{10527}'), ('\u{10530}', '\u{10563}'), - ('\u{10600}', '\u{10736}'), ('\u{10740}', '\u{10755}'), ('\u{10760}', '\u{10767}'), - ('\u{10800}', '\u{10805}'), ('\u{10808}', '\u{10808}'), ('\u{1080a}', '\u{10835}'), - ('\u{10837}', '\u{10838}'), ('\u{1083c}', '\u{1083c}'), ('\u{1083f}', '\u{10855}'), - ('\u{10860}', '\u{10876}'), ('\u{10880}', '\u{1089e}'), ('\u{108e0}', '\u{108f2}'), - ('\u{108f4}', '\u{108f5}'), ('\u{10900}', '\u{10915}'), ('\u{10920}', '\u{10939}'), - ('\u{10980}', '\u{109b7}'), ('\u{109be}', '\u{109bf}'), ('\u{10a00}', '\u{10a03}'), - ('\u{10a05}', '\u{10a06}'), ('\u{10a0c}', '\u{10a13}'), ('\u{10a15}', '\u{10a17}'), - ('\u{10a19}', '\u{10a33}'), ('\u{10a38}', '\u{10a3a}'), ('\u{10a3f}', '\u{10a3f}'), - ('\u{10a60}', '\u{10a7c}'), ('\u{10a80}', '\u{10a9c}'), ('\u{10ac0}', '\u{10ac7}'), - ('\u{10ac9}', '\u{10ae6}'), ('\u{10b00}', '\u{10b35}'), ('\u{10b40}', '\u{10b55}'), - ('\u{10b60}', '\u{10b72}'), ('\u{10b80}', '\u{10b91}'), ('\u{10c00}', '\u{10c48}'), - ('\u{10c80}', '\u{10cb2}'), ('\u{10cc0}', '\u{10cf2}'), ('\u{11000}', '\u{11046}'), - ('\u{11066}', '\u{1106f}'), ('\u{1107f}', '\u{110ba}'), ('\u{110d0}', '\u{110e8}'), - ('\u{110f0}', '\u{110f9}'), ('\u{11100}', '\u{11134}'), ('\u{11136}', '\u{1113f}'), - ('\u{11150}', '\u{11173}'), ('\u{11176}', '\u{11176}'), ('\u{11180}', '\u{111c4}'), - ('\u{111ca}', '\u{111cc}'), ('\u{111d0}', '\u{111da}'), ('\u{111dc}', '\u{111dc}'), - ('\u{11200}', '\u{11211}'), ('\u{11213}', '\u{11237}'), ('\u{1123e}', '\u{1123e}'), - ('\u{11280}', '\u{11286}'), ('\u{11288}', '\u{11288}'), ('\u{1128a}', '\u{1128d}'), - ('\u{1128f}', '\u{1129d}'), ('\u{1129f}', '\u{112a8}'), ('\u{112b0}', '\u{112ea}'), - ('\u{112f0}', '\u{112f9}'), ('\u{11300}', '\u{11303}'), ('\u{11305}', '\u{1130c}'), - ('\u{1130f}', '\u{11310}'), ('\u{11313}', '\u{11328}'), ('\u{1132a}', '\u{11330}'), - ('\u{11332}', '\u{11333}'), ('\u{11335}', '\u{11339}'), ('\u{1133c}', '\u{11344}'), - ('\u{11347}', '\u{11348}'), ('\u{1134b}', '\u{1134d}'), ('\u{11350}', '\u{11350}'), - ('\u{11357}', '\u{11357}'), ('\u{1135d}', '\u{11363}'), ('\u{11366}', '\u{1136c}'), - ('\u{11370}', '\u{11374}'), ('\u{11400}', '\u{1144a}'), ('\u{11450}', '\u{11459}'), - ('\u{11480}', '\u{114c5}'), ('\u{114c7}', '\u{114c7}'), ('\u{114d0}', '\u{114d9}'), - ('\u{11580}', '\u{115b5}'), ('\u{115b8}', '\u{115c0}'), ('\u{115d8}', '\u{115dd}'), - ('\u{11600}', '\u{11640}'), ('\u{11644}', '\u{11644}'), ('\u{11650}', '\u{11659}'), - ('\u{11680}', '\u{116b7}'), ('\u{116c0}', '\u{116c9}'), ('\u{11700}', '\u{11719}'), - ('\u{1171d}', '\u{1172b}'), ('\u{11730}', '\u{11739}'), ('\u{118a0}', '\u{118e9}'), - ('\u{118ff}', '\u{118ff}'), ('\u{11ac0}', '\u{11af8}'), ('\u{11c00}', '\u{11c08}'), - ('\u{11c0a}', '\u{11c36}'), ('\u{11c38}', '\u{11c40}'), ('\u{11c50}', '\u{11c59}'), - ('\u{11c72}', '\u{11c8f}'), ('\u{11c92}', '\u{11ca7}'), ('\u{11ca9}', '\u{11cb6}'), - ('\u{12000}', '\u{12399}'), ('\u{12400}', '\u{1246e}'), ('\u{12480}', '\u{12543}'), - ('\u{13000}', '\u{1342e}'), ('\u{14400}', '\u{14646}'), ('\u{16800}', '\u{16a38}'), - ('\u{16a40}', '\u{16a5e}'), ('\u{16a60}', '\u{16a69}'), ('\u{16ad0}', '\u{16aed}'), - ('\u{16af0}', '\u{16af4}'), ('\u{16b00}', '\u{16b36}'), ('\u{16b40}', '\u{16b43}'), - ('\u{16b50}', '\u{16b59}'), ('\u{16b63}', '\u{16b77}'), ('\u{16b7d}', '\u{16b8f}'), - ('\u{16f00}', '\u{16f44}'), ('\u{16f50}', '\u{16f7e}'), ('\u{16f8f}', '\u{16f9f}'), - ('\u{16fe0}', '\u{16fe0}'), ('\u{17000}', '\u{187ec}'), ('\u{18800}', '\u{18af2}'), - ('\u{1b000}', '\u{1b001}'), ('\u{1bc00}', '\u{1bc6a}'), ('\u{1bc70}', '\u{1bc7c}'), - ('\u{1bc80}', '\u{1bc88}'), ('\u{1bc90}', '\u{1bc99}'), ('\u{1bc9d}', '\u{1bc9e}'), - ('\u{1d165}', '\u{1d169}'), ('\u{1d16d}', '\u{1d172}'), ('\u{1d17b}', '\u{1d182}'), - ('\u{1d185}', '\u{1d18b}'), ('\u{1d1aa}', '\u{1d1ad}'), ('\u{1d242}', '\u{1d244}'), - ('\u{1d400}', '\u{1d454}'), ('\u{1d456}', '\u{1d49c}'), ('\u{1d49e}', '\u{1d49f}'), - ('\u{1d4a2}', '\u{1d4a2}'), ('\u{1d4a5}', '\u{1d4a6}'), ('\u{1d4a9}', '\u{1d4ac}'), - ('\u{1d4ae}', '\u{1d4b9}'), ('\u{1d4bb}', '\u{1d4bb}'), ('\u{1d4bd}', '\u{1d4c3}'), - ('\u{1d4c5}', '\u{1d505}'), ('\u{1d507}', '\u{1d50a}'), ('\u{1d50d}', '\u{1d514}'), - ('\u{1d516}', '\u{1d51c}'), ('\u{1d51e}', '\u{1d539}'), ('\u{1d53b}', '\u{1d53e}'), - ('\u{1d540}', '\u{1d544}'), ('\u{1d546}', '\u{1d546}'), ('\u{1d54a}', '\u{1d550}'), - ('\u{1d552}', '\u{1d6a5}'), ('\u{1d6a8}', '\u{1d6c0}'), ('\u{1d6c2}', '\u{1d6da}'), - ('\u{1d6dc}', '\u{1d6fa}'), ('\u{1d6fc}', '\u{1d714}'), ('\u{1d716}', '\u{1d734}'), - ('\u{1d736}', '\u{1d74e}'), ('\u{1d750}', '\u{1d76e}'), ('\u{1d770}', '\u{1d788}'), - ('\u{1d78a}', '\u{1d7a8}'), ('\u{1d7aa}', '\u{1d7c2}'), ('\u{1d7c4}', '\u{1d7cb}'), - ('\u{1d7ce}', '\u{1d7ff}'), ('\u{1da00}', '\u{1da36}'), ('\u{1da3b}', '\u{1da6c}'), - ('\u{1da75}', '\u{1da75}'), ('\u{1da84}', '\u{1da84}'), ('\u{1da9b}', '\u{1da9f}'), - ('\u{1daa1}', '\u{1daaf}'), ('\u{1e000}', '\u{1e006}'), ('\u{1e008}', '\u{1e018}'), - ('\u{1e01b}', '\u{1e021}'), ('\u{1e023}', '\u{1e024}'), ('\u{1e026}', '\u{1e02a}'), - ('\u{1e800}', '\u{1e8c4}'), ('\u{1e8d0}', '\u{1e8d6}'), ('\u{1e900}', '\u{1e94a}'), - ('\u{1e950}', '\u{1e959}'), ('\u{1ee00}', '\u{1ee03}'), ('\u{1ee05}', '\u{1ee1f}'), - ('\u{1ee21}', '\u{1ee22}'), ('\u{1ee24}', '\u{1ee24}'), ('\u{1ee27}', '\u{1ee27}'), - ('\u{1ee29}', '\u{1ee32}'), ('\u{1ee34}', '\u{1ee37}'), ('\u{1ee39}', '\u{1ee39}'), - ('\u{1ee3b}', '\u{1ee3b}'), ('\u{1ee42}', '\u{1ee42}'), ('\u{1ee47}', '\u{1ee47}'), - ('\u{1ee49}', '\u{1ee49}'), ('\u{1ee4b}', '\u{1ee4b}'), ('\u{1ee4d}', '\u{1ee4f}'), - ('\u{1ee51}', '\u{1ee52}'), ('\u{1ee54}', '\u{1ee54}'), ('\u{1ee57}', '\u{1ee57}'), - ('\u{1ee59}', '\u{1ee59}'), ('\u{1ee5b}', '\u{1ee5b}'), ('\u{1ee5d}', '\u{1ee5d}'), - ('\u{1ee5f}', '\u{1ee5f}'), ('\u{1ee61}', '\u{1ee62}'), ('\u{1ee64}', '\u{1ee64}'), - ('\u{1ee67}', '\u{1ee6a}'), ('\u{1ee6c}', '\u{1ee72}'), ('\u{1ee74}', '\u{1ee77}'), - ('\u{1ee79}', '\u{1ee7c}'), ('\u{1ee7e}', '\u{1ee7e}'), ('\u{1ee80}', '\u{1ee89}'), - ('\u{1ee8b}', '\u{1ee9b}'), ('\u{1eea1}', '\u{1eea3}'), ('\u{1eea5}', '\u{1eea9}'), - ('\u{1eeab}', '\u{1eebb}'), ('\u{20000}', '\u{2a6d6}'), ('\u{2a700}', '\u{2b734}'), - ('\u{2b740}', '\u{2b81d}'), ('\u{2b820}', '\u{2cea1}'), ('\u{2f800}', '\u{2fa1d}'), - ('\u{e0100}', '\u{e01ef}') - ]; - - pub fn XID_Continue(c: char) -> bool { - super::bsearch_range_table(c, XID_Continue_table) - } - - pub const XID_Start_table: &'static [(char, char)] = &[ - ('\u{41}', '\u{5a}'), ('\u{61}', '\u{7a}'), ('\u{aa}', '\u{aa}'), ('\u{b5}', '\u{b5}'), - ('\u{ba}', '\u{ba}'), ('\u{c0}', '\u{d6}'), ('\u{d8}', '\u{f6}'), ('\u{f8}', '\u{2c1}'), - ('\u{2c6}', '\u{2d1}'), ('\u{2e0}', '\u{2e4}'), ('\u{2ec}', '\u{2ec}'), ('\u{2ee}', - '\u{2ee}'), ('\u{370}', '\u{374}'), ('\u{376}', '\u{377}'), ('\u{37b}', '\u{37d}'), - ('\u{37f}', '\u{37f}'), ('\u{386}', '\u{386}'), ('\u{388}', '\u{38a}'), ('\u{38c}', - '\u{38c}'), ('\u{38e}', '\u{3a1}'), ('\u{3a3}', '\u{3f5}'), ('\u{3f7}', '\u{481}'), - ('\u{48a}', '\u{52f}'), ('\u{531}', '\u{556}'), ('\u{559}', '\u{559}'), ('\u{561}', - '\u{587}'), ('\u{5d0}', '\u{5ea}'), ('\u{5f0}', '\u{5f2}'), ('\u{620}', '\u{64a}'), - ('\u{66e}', '\u{66f}'), ('\u{671}', '\u{6d3}'), ('\u{6d5}', '\u{6d5}'), ('\u{6e5}', - '\u{6e6}'), ('\u{6ee}', '\u{6ef}'), ('\u{6fa}', '\u{6fc}'), ('\u{6ff}', '\u{6ff}'), - ('\u{710}', '\u{710}'), ('\u{712}', '\u{72f}'), ('\u{74d}', '\u{7a5}'), ('\u{7b1}', - '\u{7b1}'), ('\u{7ca}', '\u{7ea}'), ('\u{7f4}', '\u{7f5}'), ('\u{7fa}', '\u{7fa}'), - ('\u{800}', '\u{815}'), ('\u{81a}', '\u{81a}'), ('\u{824}', '\u{824}'), ('\u{828}', - '\u{828}'), ('\u{840}', '\u{858}'), ('\u{8a0}', '\u{8b4}'), ('\u{8b6}', '\u{8bd}'), - ('\u{904}', '\u{939}'), ('\u{93d}', '\u{93d}'), ('\u{950}', '\u{950}'), ('\u{958}', - '\u{961}'), ('\u{971}', '\u{980}'), ('\u{985}', '\u{98c}'), ('\u{98f}', '\u{990}'), - ('\u{993}', '\u{9a8}'), ('\u{9aa}', '\u{9b0}'), ('\u{9b2}', '\u{9b2}'), ('\u{9b6}', - '\u{9b9}'), ('\u{9bd}', '\u{9bd}'), ('\u{9ce}', '\u{9ce}'), ('\u{9dc}', '\u{9dd}'), - ('\u{9df}', '\u{9e1}'), ('\u{9f0}', '\u{9f1}'), ('\u{a05}', '\u{a0a}'), ('\u{a0f}', - '\u{a10}'), ('\u{a13}', '\u{a28}'), ('\u{a2a}', '\u{a30}'), ('\u{a32}', '\u{a33}'), - ('\u{a35}', '\u{a36}'), ('\u{a38}', '\u{a39}'), ('\u{a59}', '\u{a5c}'), ('\u{a5e}', - '\u{a5e}'), ('\u{a72}', '\u{a74}'), ('\u{a85}', '\u{a8d}'), ('\u{a8f}', '\u{a91}'), - ('\u{a93}', '\u{aa8}'), ('\u{aaa}', '\u{ab0}'), ('\u{ab2}', '\u{ab3}'), ('\u{ab5}', - '\u{ab9}'), ('\u{abd}', '\u{abd}'), ('\u{ad0}', '\u{ad0}'), ('\u{ae0}', '\u{ae1}'), - ('\u{af9}', '\u{af9}'), ('\u{b05}', '\u{b0c}'), ('\u{b0f}', '\u{b10}'), ('\u{b13}', - '\u{b28}'), ('\u{b2a}', '\u{b30}'), ('\u{b32}', '\u{b33}'), ('\u{b35}', '\u{b39}'), - ('\u{b3d}', '\u{b3d}'), ('\u{b5c}', '\u{b5d}'), ('\u{b5f}', '\u{b61}'), ('\u{b71}', - '\u{b71}'), ('\u{b83}', '\u{b83}'), ('\u{b85}', '\u{b8a}'), ('\u{b8e}', '\u{b90}'), - ('\u{b92}', '\u{b95}'), ('\u{b99}', '\u{b9a}'), ('\u{b9c}', '\u{b9c}'), ('\u{b9e}', - '\u{b9f}'), ('\u{ba3}', '\u{ba4}'), ('\u{ba8}', '\u{baa}'), ('\u{bae}', '\u{bb9}'), - ('\u{bd0}', '\u{bd0}'), ('\u{c05}', '\u{c0c}'), ('\u{c0e}', '\u{c10}'), ('\u{c12}', - '\u{c28}'), ('\u{c2a}', '\u{c39}'), ('\u{c3d}', '\u{c3d}'), ('\u{c58}', '\u{c5a}'), - ('\u{c60}', '\u{c61}'), ('\u{c80}', '\u{c80}'), ('\u{c85}', '\u{c8c}'), ('\u{c8e}', - '\u{c90}'), ('\u{c92}', '\u{ca8}'), ('\u{caa}', '\u{cb3}'), ('\u{cb5}', '\u{cb9}'), - ('\u{cbd}', '\u{cbd}'), ('\u{cde}', '\u{cde}'), ('\u{ce0}', '\u{ce1}'), ('\u{cf1}', - '\u{cf2}'), ('\u{d05}', '\u{d0c}'), ('\u{d0e}', '\u{d10}'), ('\u{d12}', '\u{d3a}'), - ('\u{d3d}', '\u{d3d}'), ('\u{d4e}', '\u{d4e}'), ('\u{d54}', '\u{d56}'), ('\u{d5f}', - '\u{d61}'), ('\u{d7a}', '\u{d7f}'), ('\u{d85}', '\u{d96}'), ('\u{d9a}', '\u{db1}'), - ('\u{db3}', '\u{dbb}'), ('\u{dbd}', '\u{dbd}'), ('\u{dc0}', '\u{dc6}'), ('\u{e01}', - '\u{e30}'), ('\u{e32}', '\u{e32}'), ('\u{e40}', '\u{e46}'), ('\u{e81}', '\u{e82}'), - ('\u{e84}', '\u{e84}'), ('\u{e87}', '\u{e88}'), ('\u{e8a}', '\u{e8a}'), ('\u{e8d}', - '\u{e8d}'), ('\u{e94}', '\u{e97}'), ('\u{e99}', '\u{e9f}'), ('\u{ea1}', '\u{ea3}'), - ('\u{ea5}', '\u{ea5}'), ('\u{ea7}', '\u{ea7}'), ('\u{eaa}', '\u{eab}'), ('\u{ead}', - '\u{eb0}'), ('\u{eb2}', '\u{eb2}'), ('\u{ebd}', '\u{ebd}'), ('\u{ec0}', '\u{ec4}'), - ('\u{ec6}', '\u{ec6}'), ('\u{edc}', '\u{edf}'), ('\u{f00}', '\u{f00}'), ('\u{f40}', - '\u{f47}'), ('\u{f49}', '\u{f6c}'), ('\u{f88}', '\u{f8c}'), ('\u{1000}', '\u{102a}'), - ('\u{103f}', '\u{103f}'), ('\u{1050}', '\u{1055}'), ('\u{105a}', '\u{105d}'), ('\u{1061}', - '\u{1061}'), ('\u{1065}', '\u{1066}'), ('\u{106e}', '\u{1070}'), ('\u{1075}', '\u{1081}'), - ('\u{108e}', '\u{108e}'), ('\u{10a0}', '\u{10c5}'), ('\u{10c7}', '\u{10c7}'), ('\u{10cd}', - '\u{10cd}'), ('\u{10d0}', '\u{10fa}'), ('\u{10fc}', '\u{1248}'), ('\u{124a}', '\u{124d}'), - ('\u{1250}', '\u{1256}'), ('\u{1258}', '\u{1258}'), ('\u{125a}', '\u{125d}'), ('\u{1260}', - '\u{1288}'), ('\u{128a}', '\u{128d}'), ('\u{1290}', '\u{12b0}'), ('\u{12b2}', '\u{12b5}'), - ('\u{12b8}', '\u{12be}'), ('\u{12c0}', '\u{12c0}'), ('\u{12c2}', '\u{12c5}'), ('\u{12c8}', - '\u{12d6}'), ('\u{12d8}', '\u{1310}'), ('\u{1312}', '\u{1315}'), ('\u{1318}', '\u{135a}'), - ('\u{1380}', '\u{138f}'), ('\u{13a0}', '\u{13f5}'), ('\u{13f8}', '\u{13fd}'), ('\u{1401}', - '\u{166c}'), ('\u{166f}', '\u{167f}'), ('\u{1681}', '\u{169a}'), ('\u{16a0}', '\u{16ea}'), - ('\u{16ee}', '\u{16f8}'), ('\u{1700}', '\u{170c}'), ('\u{170e}', '\u{1711}'), ('\u{1720}', - '\u{1731}'), ('\u{1740}', '\u{1751}'), ('\u{1760}', '\u{176c}'), ('\u{176e}', '\u{1770}'), - ('\u{1780}', '\u{17b3}'), ('\u{17d7}', '\u{17d7}'), ('\u{17dc}', '\u{17dc}'), ('\u{1820}', - '\u{1877}'), ('\u{1880}', '\u{18a8}'), ('\u{18aa}', '\u{18aa}'), ('\u{18b0}', '\u{18f5}'), - ('\u{1900}', '\u{191e}'), ('\u{1950}', '\u{196d}'), ('\u{1970}', '\u{1974}'), ('\u{1980}', - '\u{19ab}'), ('\u{19b0}', '\u{19c9}'), ('\u{1a00}', '\u{1a16}'), ('\u{1a20}', '\u{1a54}'), - ('\u{1aa7}', '\u{1aa7}'), ('\u{1b05}', '\u{1b33}'), ('\u{1b45}', '\u{1b4b}'), ('\u{1b83}', - '\u{1ba0}'), ('\u{1bae}', '\u{1baf}'), ('\u{1bba}', '\u{1be5}'), ('\u{1c00}', '\u{1c23}'), - ('\u{1c4d}', '\u{1c4f}'), ('\u{1c5a}', '\u{1c7d}'), ('\u{1c80}', '\u{1c88}'), ('\u{1ce9}', - '\u{1cec}'), ('\u{1cee}', '\u{1cf1}'), ('\u{1cf5}', '\u{1cf6}'), ('\u{1d00}', '\u{1dbf}'), - ('\u{1e00}', '\u{1f15}'), ('\u{1f18}', '\u{1f1d}'), ('\u{1f20}', '\u{1f45}'), ('\u{1f48}', - '\u{1f4d}'), ('\u{1f50}', '\u{1f57}'), ('\u{1f59}', '\u{1f59}'), ('\u{1f5b}', '\u{1f5b}'), - ('\u{1f5d}', '\u{1f5d}'), ('\u{1f5f}', '\u{1f7d}'), ('\u{1f80}', '\u{1fb4}'), ('\u{1fb6}', - '\u{1fbc}'), ('\u{1fbe}', '\u{1fbe}'), ('\u{1fc2}', '\u{1fc4}'), ('\u{1fc6}', '\u{1fcc}'), - ('\u{1fd0}', '\u{1fd3}'), ('\u{1fd6}', '\u{1fdb}'), ('\u{1fe0}', '\u{1fec}'), ('\u{1ff2}', - '\u{1ff4}'), ('\u{1ff6}', '\u{1ffc}'), ('\u{2071}', '\u{2071}'), ('\u{207f}', '\u{207f}'), - ('\u{2090}', '\u{209c}'), ('\u{2102}', '\u{2102}'), ('\u{2107}', '\u{2107}'), ('\u{210a}', - '\u{2113}'), ('\u{2115}', '\u{2115}'), ('\u{2118}', '\u{211d}'), ('\u{2124}', '\u{2124}'), - ('\u{2126}', '\u{2126}'), ('\u{2128}', '\u{2128}'), ('\u{212a}', '\u{2139}'), ('\u{213c}', - '\u{213f}'), ('\u{2145}', '\u{2149}'), ('\u{214e}', '\u{214e}'), ('\u{2160}', '\u{2188}'), - ('\u{2c00}', '\u{2c2e}'), ('\u{2c30}', '\u{2c5e}'), ('\u{2c60}', '\u{2ce4}'), ('\u{2ceb}', - '\u{2cee}'), ('\u{2cf2}', '\u{2cf3}'), ('\u{2d00}', '\u{2d25}'), ('\u{2d27}', '\u{2d27}'), - ('\u{2d2d}', '\u{2d2d}'), ('\u{2d30}', '\u{2d67}'), ('\u{2d6f}', '\u{2d6f}'), ('\u{2d80}', - '\u{2d96}'), ('\u{2da0}', '\u{2da6}'), ('\u{2da8}', '\u{2dae}'), ('\u{2db0}', '\u{2db6}'), - ('\u{2db8}', '\u{2dbe}'), ('\u{2dc0}', '\u{2dc6}'), ('\u{2dc8}', '\u{2dce}'), ('\u{2dd0}', - '\u{2dd6}'), ('\u{2dd8}', '\u{2dde}'), ('\u{3005}', '\u{3007}'), ('\u{3021}', '\u{3029}'), - ('\u{3031}', '\u{3035}'), ('\u{3038}', '\u{303c}'), ('\u{3041}', '\u{3096}'), ('\u{309d}', - '\u{309f}'), ('\u{30a1}', '\u{30fa}'), ('\u{30fc}', '\u{30ff}'), ('\u{3105}', '\u{312d}'), - ('\u{3131}', '\u{318e}'), ('\u{31a0}', '\u{31ba}'), ('\u{31f0}', '\u{31ff}'), ('\u{3400}', - '\u{4db5}'), ('\u{4e00}', '\u{9fd5}'), ('\u{a000}', '\u{a48c}'), ('\u{a4d0}', '\u{a4fd}'), - ('\u{a500}', '\u{a60c}'), ('\u{a610}', '\u{a61f}'), ('\u{a62a}', '\u{a62b}'), ('\u{a640}', - '\u{a66e}'), ('\u{a67f}', '\u{a69d}'), ('\u{a6a0}', '\u{a6ef}'), ('\u{a717}', '\u{a71f}'), - ('\u{a722}', '\u{a788}'), ('\u{a78b}', '\u{a7ae}'), ('\u{a7b0}', '\u{a7b7}'), ('\u{a7f7}', - '\u{a801}'), ('\u{a803}', '\u{a805}'), ('\u{a807}', '\u{a80a}'), ('\u{a80c}', '\u{a822}'), - ('\u{a840}', '\u{a873}'), ('\u{a882}', '\u{a8b3}'), ('\u{a8f2}', '\u{a8f7}'), ('\u{a8fb}', - '\u{a8fb}'), ('\u{a8fd}', '\u{a8fd}'), ('\u{a90a}', '\u{a925}'), ('\u{a930}', '\u{a946}'), - ('\u{a960}', '\u{a97c}'), ('\u{a984}', '\u{a9b2}'), ('\u{a9cf}', '\u{a9cf}'), ('\u{a9e0}', - '\u{a9e4}'), ('\u{a9e6}', '\u{a9ef}'), ('\u{a9fa}', '\u{a9fe}'), ('\u{aa00}', '\u{aa28}'), - ('\u{aa40}', '\u{aa42}'), ('\u{aa44}', '\u{aa4b}'), ('\u{aa60}', '\u{aa76}'), ('\u{aa7a}', - '\u{aa7a}'), ('\u{aa7e}', '\u{aaaf}'), ('\u{aab1}', '\u{aab1}'), ('\u{aab5}', '\u{aab6}'), - ('\u{aab9}', '\u{aabd}'), ('\u{aac0}', '\u{aac0}'), ('\u{aac2}', '\u{aac2}'), ('\u{aadb}', - '\u{aadd}'), ('\u{aae0}', '\u{aaea}'), ('\u{aaf2}', '\u{aaf4}'), ('\u{ab01}', '\u{ab06}'), - ('\u{ab09}', '\u{ab0e}'), ('\u{ab11}', '\u{ab16}'), ('\u{ab20}', '\u{ab26}'), ('\u{ab28}', - '\u{ab2e}'), ('\u{ab30}', '\u{ab5a}'), ('\u{ab5c}', '\u{ab65}'), ('\u{ab70}', '\u{abe2}'), - ('\u{ac00}', '\u{d7a3}'), ('\u{d7b0}', '\u{d7c6}'), ('\u{d7cb}', '\u{d7fb}'), ('\u{f900}', - '\u{fa6d}'), ('\u{fa70}', '\u{fad9}'), ('\u{fb00}', '\u{fb06}'), ('\u{fb13}', '\u{fb17}'), - ('\u{fb1d}', '\u{fb1d}'), ('\u{fb1f}', '\u{fb28}'), ('\u{fb2a}', '\u{fb36}'), ('\u{fb38}', - '\u{fb3c}'), ('\u{fb3e}', '\u{fb3e}'), ('\u{fb40}', '\u{fb41}'), ('\u{fb43}', '\u{fb44}'), - ('\u{fb46}', '\u{fbb1}'), ('\u{fbd3}', '\u{fc5d}'), ('\u{fc64}', '\u{fd3d}'), ('\u{fd50}', - '\u{fd8f}'), ('\u{fd92}', '\u{fdc7}'), ('\u{fdf0}', '\u{fdf9}'), ('\u{fe71}', '\u{fe71}'), - ('\u{fe73}', '\u{fe73}'), ('\u{fe77}', '\u{fe77}'), ('\u{fe79}', '\u{fe79}'), ('\u{fe7b}', - '\u{fe7b}'), ('\u{fe7d}', '\u{fe7d}'), ('\u{fe7f}', '\u{fefc}'), ('\u{ff21}', '\u{ff3a}'), - ('\u{ff41}', '\u{ff5a}'), ('\u{ff66}', '\u{ff9d}'), ('\u{ffa0}', '\u{ffbe}'), ('\u{ffc2}', - '\u{ffc7}'), ('\u{ffca}', '\u{ffcf}'), ('\u{ffd2}', '\u{ffd7}'), ('\u{ffda}', '\u{ffdc}'), - ('\u{10000}', '\u{1000b}'), ('\u{1000d}', '\u{10026}'), ('\u{10028}', '\u{1003a}'), - ('\u{1003c}', '\u{1003d}'), ('\u{1003f}', '\u{1004d}'), ('\u{10050}', '\u{1005d}'), - ('\u{10080}', '\u{100fa}'), ('\u{10140}', '\u{10174}'), ('\u{10280}', '\u{1029c}'), - ('\u{102a0}', '\u{102d0}'), ('\u{10300}', '\u{1031f}'), ('\u{10330}', '\u{1034a}'), - ('\u{10350}', '\u{10375}'), ('\u{10380}', '\u{1039d}'), ('\u{103a0}', '\u{103c3}'), - ('\u{103c8}', '\u{103cf}'), ('\u{103d1}', '\u{103d5}'), ('\u{10400}', '\u{1049d}'), - ('\u{104b0}', '\u{104d3}'), ('\u{104d8}', '\u{104fb}'), ('\u{10500}', '\u{10527}'), - ('\u{10530}', '\u{10563}'), ('\u{10600}', '\u{10736}'), ('\u{10740}', '\u{10755}'), - ('\u{10760}', '\u{10767}'), ('\u{10800}', '\u{10805}'), ('\u{10808}', '\u{10808}'), - ('\u{1080a}', '\u{10835}'), ('\u{10837}', '\u{10838}'), ('\u{1083c}', '\u{1083c}'), - ('\u{1083f}', '\u{10855}'), ('\u{10860}', '\u{10876}'), ('\u{10880}', '\u{1089e}'), - ('\u{108e0}', '\u{108f2}'), ('\u{108f4}', '\u{108f5}'), ('\u{10900}', '\u{10915}'), - ('\u{10920}', '\u{10939}'), ('\u{10980}', '\u{109b7}'), ('\u{109be}', '\u{109bf}'), - ('\u{10a00}', '\u{10a00}'), ('\u{10a10}', '\u{10a13}'), ('\u{10a15}', '\u{10a17}'), - ('\u{10a19}', '\u{10a33}'), ('\u{10a60}', '\u{10a7c}'), ('\u{10a80}', '\u{10a9c}'), - ('\u{10ac0}', '\u{10ac7}'), ('\u{10ac9}', '\u{10ae4}'), ('\u{10b00}', '\u{10b35}'), - ('\u{10b40}', '\u{10b55}'), ('\u{10b60}', '\u{10b72}'), ('\u{10b80}', '\u{10b91}'), - ('\u{10c00}', '\u{10c48}'), ('\u{10c80}', '\u{10cb2}'), ('\u{10cc0}', '\u{10cf2}'), - ('\u{11003}', '\u{11037}'), ('\u{11083}', '\u{110af}'), ('\u{110d0}', '\u{110e8}'), - ('\u{11103}', '\u{11126}'), ('\u{11150}', '\u{11172}'), ('\u{11176}', '\u{11176}'), - ('\u{11183}', '\u{111b2}'), ('\u{111c1}', '\u{111c4}'), ('\u{111da}', '\u{111da}'), - ('\u{111dc}', '\u{111dc}'), ('\u{11200}', '\u{11211}'), ('\u{11213}', '\u{1122b}'), - ('\u{11280}', '\u{11286}'), ('\u{11288}', '\u{11288}'), ('\u{1128a}', '\u{1128d}'), - ('\u{1128f}', '\u{1129d}'), ('\u{1129f}', '\u{112a8}'), ('\u{112b0}', '\u{112de}'), - ('\u{11305}', '\u{1130c}'), ('\u{1130f}', '\u{11310}'), ('\u{11313}', '\u{11328}'), - ('\u{1132a}', '\u{11330}'), ('\u{11332}', '\u{11333}'), ('\u{11335}', '\u{11339}'), - ('\u{1133d}', '\u{1133d}'), ('\u{11350}', '\u{11350}'), ('\u{1135d}', '\u{11361}'), - ('\u{11400}', '\u{11434}'), ('\u{11447}', '\u{1144a}'), ('\u{11480}', '\u{114af}'), - ('\u{114c4}', '\u{114c5}'), ('\u{114c7}', '\u{114c7}'), ('\u{11580}', '\u{115ae}'), - ('\u{115d8}', '\u{115db}'), ('\u{11600}', '\u{1162f}'), ('\u{11644}', '\u{11644}'), - ('\u{11680}', '\u{116aa}'), ('\u{11700}', '\u{11719}'), ('\u{118a0}', '\u{118df}'), - ('\u{118ff}', '\u{118ff}'), ('\u{11ac0}', '\u{11af8}'), ('\u{11c00}', '\u{11c08}'), - ('\u{11c0a}', '\u{11c2e}'), ('\u{11c40}', '\u{11c40}'), ('\u{11c72}', '\u{11c8f}'), - ('\u{12000}', '\u{12399}'), ('\u{12400}', '\u{1246e}'), ('\u{12480}', '\u{12543}'), - ('\u{13000}', '\u{1342e}'), ('\u{14400}', '\u{14646}'), ('\u{16800}', '\u{16a38}'), - ('\u{16a40}', '\u{16a5e}'), ('\u{16ad0}', '\u{16aed}'), ('\u{16b00}', '\u{16b2f}'), - ('\u{16b40}', '\u{16b43}'), ('\u{16b63}', '\u{16b77}'), ('\u{16b7d}', '\u{16b8f}'), - ('\u{16f00}', '\u{16f44}'), ('\u{16f50}', '\u{16f50}'), ('\u{16f93}', '\u{16f9f}'), - ('\u{16fe0}', '\u{16fe0}'), ('\u{17000}', '\u{187ec}'), ('\u{18800}', '\u{18af2}'), - ('\u{1b000}', '\u{1b001}'), ('\u{1bc00}', '\u{1bc6a}'), ('\u{1bc70}', '\u{1bc7c}'), - ('\u{1bc80}', '\u{1bc88}'), ('\u{1bc90}', '\u{1bc99}'), ('\u{1d400}', '\u{1d454}'), - ('\u{1d456}', '\u{1d49c}'), ('\u{1d49e}', '\u{1d49f}'), ('\u{1d4a2}', '\u{1d4a2}'), - ('\u{1d4a5}', '\u{1d4a6}'), ('\u{1d4a9}', '\u{1d4ac}'), ('\u{1d4ae}', '\u{1d4b9}'), - ('\u{1d4bb}', '\u{1d4bb}'), ('\u{1d4bd}', '\u{1d4c3}'), ('\u{1d4c5}', '\u{1d505}'), - ('\u{1d507}', '\u{1d50a}'), ('\u{1d50d}', '\u{1d514}'), ('\u{1d516}', '\u{1d51c}'), - ('\u{1d51e}', '\u{1d539}'), ('\u{1d53b}', '\u{1d53e}'), ('\u{1d540}', '\u{1d544}'), - ('\u{1d546}', '\u{1d546}'), ('\u{1d54a}', '\u{1d550}'), ('\u{1d552}', '\u{1d6a5}'), - ('\u{1d6a8}', '\u{1d6c0}'), ('\u{1d6c2}', '\u{1d6da}'), ('\u{1d6dc}', '\u{1d6fa}'), - ('\u{1d6fc}', '\u{1d714}'), ('\u{1d716}', '\u{1d734}'), ('\u{1d736}', '\u{1d74e}'), - ('\u{1d750}', '\u{1d76e}'), ('\u{1d770}', '\u{1d788}'), ('\u{1d78a}', '\u{1d7a8}'), - ('\u{1d7aa}', '\u{1d7c2}'), ('\u{1d7c4}', '\u{1d7cb}'), ('\u{1e800}', '\u{1e8c4}'), - ('\u{1e900}', '\u{1e943}'), ('\u{1ee00}', '\u{1ee03}'), ('\u{1ee05}', '\u{1ee1f}'), - ('\u{1ee21}', '\u{1ee22}'), ('\u{1ee24}', '\u{1ee24}'), ('\u{1ee27}', '\u{1ee27}'), - ('\u{1ee29}', '\u{1ee32}'), ('\u{1ee34}', '\u{1ee37}'), ('\u{1ee39}', '\u{1ee39}'), - ('\u{1ee3b}', '\u{1ee3b}'), ('\u{1ee42}', '\u{1ee42}'), ('\u{1ee47}', '\u{1ee47}'), - ('\u{1ee49}', '\u{1ee49}'), ('\u{1ee4b}', '\u{1ee4b}'), ('\u{1ee4d}', '\u{1ee4f}'), - ('\u{1ee51}', '\u{1ee52}'), ('\u{1ee54}', '\u{1ee54}'), ('\u{1ee57}', '\u{1ee57}'), - ('\u{1ee59}', '\u{1ee59}'), ('\u{1ee5b}', '\u{1ee5b}'), ('\u{1ee5d}', '\u{1ee5d}'), - ('\u{1ee5f}', '\u{1ee5f}'), ('\u{1ee61}', '\u{1ee62}'), ('\u{1ee64}', '\u{1ee64}'), - ('\u{1ee67}', '\u{1ee6a}'), ('\u{1ee6c}', '\u{1ee72}'), ('\u{1ee74}', '\u{1ee77}'), - ('\u{1ee79}', '\u{1ee7c}'), ('\u{1ee7e}', '\u{1ee7e}'), ('\u{1ee80}', '\u{1ee89}'), - ('\u{1ee8b}', '\u{1ee9b}'), ('\u{1eea1}', '\u{1eea3}'), ('\u{1eea5}', '\u{1eea9}'), - ('\u{1eeab}', '\u{1eebb}'), ('\u{20000}', '\u{2a6d6}'), ('\u{2a700}', '\u{2b734}'), - ('\u{2b740}', '\u{2b81d}'), ('\u{2b820}', '\u{2cea1}'), ('\u{2f800}', '\u{2fa1d}') - ]; - - pub fn XID_Start(c: char) -> bool { - super::bsearch_range_table(c, XID_Start_table) - } - -} - diff --git a/vendor/registry-40351f815f426200/unicode-xid/src/tests.rs b/vendor/registry-40351f815f426200/unicode-xid/src/tests.rs deleted file mode 100644 index f4333967f..000000000 --- a/vendor/registry-40351f815f426200/unicode-xid/src/tests.rs +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -#[cfg(feature = "bench")] -use std::iter; -#[cfg(feature = "bench")] -use test::Bencher; -#[cfg(feature = "bench")] -use std::prelude::v1::*; - -use super::UnicodeXID; - -#[cfg(feature = "bench")] -#[bench] -fn cargo_is_xid_start(b: &mut Bencher) { - let string = iter::repeat('a').take(4096).collect::(); - - b.bytes = string.len() as u64; - b.iter(|| { - string.chars().all(UnicodeXID::is_xid_start) - }); -} - -#[cfg(feature = "bench")] -#[bench] -fn stdlib_is_xid_start(b: &mut Bencher) { - let string = iter::repeat('a').take(4096).collect::(); - - b.bytes = string.len() as u64; - b.iter(|| { - string.chars().all(char::is_xid_start) - }); -} - -#[cfg(feature = "bench")] -#[bench] -fn cargo_xid_continue(b: &mut Bencher) { - let string = iter::repeat('a').take(4096).collect::(); - - b.bytes = string.len() as u64; - b.iter(|| { - string.chars().all(UnicodeXID::is_xid_continue) - }); -} - -#[cfg(feature = "bench")] -#[bench] -fn stdlib_xid_continue(b: &mut Bencher) { - let string = iter::repeat('a').take(4096).collect::(); - - b.bytes = string.len() as u64; - b.iter(|| { - string.chars().all(char::is_xid_continue) - }); -} - -#[test] -fn test_is_xid_start() { - let chars = [ - 'A', 'Z', 'a', 'z', - '\u{1000d}', '\u{10026}', - ]; - - for ch in &chars { - assert!(UnicodeXID::is_xid_start(*ch), "{}", ch); - } -} - -#[test] -fn test_is_not_xid_start() { - let chars = [ - '\x00', '\x01', - '0', '9', - ' ', '[', '<', '{', '(', - '\u{02c2}', '\u{ffff}', - ]; - - for ch in &chars { - assert!(!UnicodeXID::is_xid_start(*ch), "{}", ch); - } -} - -#[test] -fn test_is_xid_continue() { - let chars = [ - '0', '9', 'A', 'Z', 'a', 'z', '_', - '\u{1000d}', '\u{10026}', - ]; - - for ch in &chars { - assert!(UnicodeXID::is_xid_continue(*ch), "{}", ch); - } -} - -#[test] -fn test_is_not_xid_continue() { - let chars = [ - '\x00', '\x01', - ' ', '[', '<', '{', '(', - '\u{02c2}', '\u{ffff}', - ]; - - for &ch in &chars { - assert!(!UnicodeXID::is_xid_continue(ch), "{}", ch); - } -} diff --git a/vendor/registry-40351f815f426200/vec_map/.cargo-checksum.json b/vendor/registry-40351f815f426200/vec_map/.cargo-checksum.json deleted file mode 100644 index d0277836f..000000000 --- a/vendor/registry-40351f815f426200/vec_map/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"22996d0c0b9d6988865764445f041d7735cf5946d1878a71c4147ea1677fc032","LICENSE-APACHE":"1ac50a5abd5cff5331d59928d83369b66b0099a88f0111dc2175526b3c666dec","LICENSE-MIT":"fceec72e827b021cda4ce5e838aaa6c8eaf35ce199af802437bbe4ee70bbb7c0","README.md":"227ab82c9b6041cdb44eee84a0d6c59fdc5cab1e6e7109da3d20c5f2c9da5ce1","deploy-docs.sh":"18cd5862144f5391879aa74b1aaafd0546550aa356a7bdc0dedbdd6993d5076f","src/lib.rs":"b82ca5572cb6e0b6ff49e7f07f24af7a8f474528b753d6dee180e58c59033089"},"package":"05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/vec_map/Cargo.toml b/vendor/registry-40351f815f426200/vec_map/Cargo.toml deleted file mode 100644 index 14691db92..000000000 --- a/vendor/registry-40351f815f426200/vec_map/Cargo.toml +++ /dev/null @@ -1,30 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "vec_map" -version = "0.8.1" -authors = ["Alex Crichton ", "Jorge Aparicio ", "Alexis Beingessner ", "Brian Anderson <>", "tbu- <>", "Manish Goregaokar <>", "Aaron Turon ", "Adolfo Ochagavía <>", "Niko Matsakis <>", "Steven Fackler <>", "Chase Southwood ", "Eduard Burtescu <>", "Florian Wilkens <>", "Félix Raimundo <>", "Tibor Benke <>", "Markus Siemens ", "Josh Branchaud ", "Huon Wilson ", "Corey Farwell ", "Aaron Liblong <>", "Nick Cameron ", "Patrick Walton ", "Felix S Klock II <>", "Andrew Paseltiner ", "Sean McArthur ", "Vadim Petrochenkov <>"] -description = "A simple map based on a vector for small integer keys" -homepage = "https://github.com/contain-rs/vec-map" -documentation = "https://contain-rs.github.io/vec-map/vec_map" -readme = "README.md" -keywords = ["data-structures", "collections", "vecmap", "vec_map", "contain-rs"] -license = "MIT/Apache-2.0" -repository = "https://github.com/contain-rs/vec-map" -[dependencies.serde] -version = "1.0" -features = ["derive"] -optional = true - -[features] -eders = ["serde"] diff --git a/vendor/registry-40351f815f426200/vec_map/LICENSE-APACHE b/vendor/registry-40351f815f426200/vec_map/LICENSE-APACHE deleted file mode 100644 index 583bd5a98..000000000 --- a/vendor/registry-40351f815f426200/vec_map/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/registry-40351f815f426200/vec_map/LICENSE-MIT b/vendor/registry-40351f815f426200/vec_map/LICENSE-MIT deleted file mode 100644 index bf85e629c..000000000 --- a/vendor/registry-40351f815f426200/vec_map/LICENSE-MIT +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) 2015 The Rust Project Developers - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/registry-40351f815f426200/vec_map/README.md b/vendor/registry-40351f815f426200/vec_map/README.md deleted file mode 100644 index 82394df8c..000000000 --- a/vendor/registry-40351f815f426200/vec_map/README.md +++ /dev/null @@ -1,15 +0,0 @@ -**WARNING: THIS PROJECT IS IN MAINTENANCE MODE, DUE TO INSUFFICIENT MAINTAINER RESOURCES** - -It works fine, but will generally no longer be improved. - -We are currently only accepting changes which: - -* keep this compiling with the latest versions of Rust or its dependencies. -* have minimal review requirements, such as documentation changes (so not totally new APIs). - ------- - - -A simple map based on a vector for small integer keys. - -Documentation is available at https://contain-rs.github.io/vec-map/vec_map. diff --git a/vendor/registry-40351f815f426200/vec_map/deploy-docs.sh b/vendor/registry-40351f815f426200/vec_map/deploy-docs.sh deleted file mode 100644 index 305be53e6..000000000 --- a/vendor/registry-40351f815f426200/vec_map/deploy-docs.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -set -o errexit -o nounset - -rev=$(git rev-parse --short HEAD) - -cd target/doc - -git init -git config user.email 'FlashCat@users.noreply.github.com' -git config user.name 'FlashCat' -git remote add upstream "https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git" -git fetch upstream gh-pages -git reset upstream/gh-pages - -touch . - -git add -A . -git commit -m "rebuild pages at ${rev}" -git push -q upstream HEAD:gh-pages diff --git a/vendor/registry-40351f815f426200/vec_map/src/lib.rs b/vendor/registry-40351f815f426200/vec_map/src/lib.rs deleted file mode 100644 index 2bb7b3c96..000000000 --- a/vendor/registry-40351f815f426200/vec_map/src/lib.rs +++ /dev/null @@ -1,1623 +0,0 @@ -// Copyright 2012-2018 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -#![deny(missing_docs)] - -//! A simple map based on a vector for small integer keys. Space requirements -//! are O(highest integer key). - -// optional serde support -#[cfg(feature = "serde")] -#[macro_use] -extern crate serde; - -use self::Entry::*; - -use std::cmp::{Ordering, max}; -use std::fmt; -use std::hash::{Hash, Hasher}; -use std::iter::{Enumerate, FilterMap, FromIterator}; -use std::mem::{replace, swap}; -use std::ops::{Index, IndexMut}; -use std::slice; -use std::vec; - -/// A map optimized for small integer keys. -/// -/// # Examples -/// -/// ``` -/// use vec_map::VecMap; -/// -/// let mut months = VecMap::new(); -/// months.insert(1, "Jan"); -/// months.insert(2, "Feb"); -/// months.insert(3, "Mar"); -/// -/// if !months.contains_key(12) { -/// println!("The end is near!"); -/// } -/// -/// assert_eq!(months.get(1), Some(&"Jan")); -/// -/// if let Some(value) = months.get_mut(3) { -/// *value = "Venus"; -/// } -/// -/// assert_eq!(months.get(3), Some(&"Venus")); -/// -/// // Print out all months -/// for (key, value) in &months { -/// println!("month {} is {}", key, value); -/// } -/// -/// months.clear(); -/// assert!(months.is_empty()); -/// ``` -#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -pub struct VecMap { - n: usize, - v: Vec>, -} - -/// A view into a single entry in a map, which may either be vacant or occupied. -pub enum Entry<'a, V: 'a> { - /// A vacant Entry - Vacant(VacantEntry<'a, V>), - - /// An occupied Entry - Occupied(OccupiedEntry<'a, V>), -} - -/// A vacant Entry. -pub struct VacantEntry<'a, V: 'a> { - map: &'a mut VecMap, - index: usize, -} - -/// An occupied Entry. -pub struct OccupiedEntry<'a, V: 'a> { - map: &'a mut VecMap, - index: usize, -} - -impl Default for VecMap { - #[inline] - fn default() -> Self { Self::new() } -} - -impl Hash for VecMap { - fn hash(&self, state: &mut H) { - // In order to not traverse the `VecMap` twice, count the elements - // during iteration. - let mut count: usize = 0; - for elt in self { - elt.hash(state); - count += 1; - } - count.hash(state); - } -} - -impl VecMap { - /// Creates an empty `VecMap`. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// let mut map: VecMap<&str> = VecMap::new(); - /// ``` - pub fn new() -> Self { VecMap { n: 0, v: vec![] } } - - /// Creates an empty `VecMap` with space for at least `capacity` - /// elements before resizing. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// let mut map: VecMap<&str> = VecMap::with_capacity(10); - /// ``` - pub fn with_capacity(capacity: usize) -> Self { - VecMap { n: 0, v: Vec::with_capacity(capacity) } - } - - /// Returns the number of elements the `VecMap` can hold without - /// reallocating. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// let map: VecMap = VecMap::with_capacity(10); - /// assert!(map.capacity() >= 10); - /// ``` - #[inline] - pub fn capacity(&self) -> usize { - self.v.capacity() - } - - /// Reserves capacity for the given `VecMap` to contain `len` distinct keys. - /// In the case of `VecMap` this means reallocations will not occur as long - /// as all inserted keys are less than `len`. - /// - /// The collection may reserve more space to avoid frequent reallocations. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// let mut map: VecMap<&str> = VecMap::new(); - /// map.reserve_len(10); - /// assert!(map.capacity() >= 10); - /// ``` - pub fn reserve_len(&mut self, len: usize) { - let cur_len = self.v.len(); - if len >= cur_len { - self.v.reserve(len - cur_len); - } - } - - /// Reserves the minimum capacity for the given `VecMap` to contain `len` distinct keys. - /// In the case of `VecMap` this means reallocations will not occur as long as all inserted - /// keys are less than `len`. - /// - /// Note that the allocator may give the collection more space than it requests. - /// Therefore capacity cannot be relied upon to be precisely minimal. Prefer - /// `reserve_len` if future insertions are expected. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// let mut map: VecMap<&str> = VecMap::new(); - /// map.reserve_len_exact(10); - /// assert!(map.capacity() >= 10); - /// ``` - pub fn reserve_len_exact(&mut self, len: usize) { - let cur_len = self.v.len(); - if len >= cur_len { - self.v.reserve_exact(len - cur_len); - } - } - - /// Trims the `VecMap` of any excess capacity. - /// - /// The collection may reserve more space to avoid frequent reallocations. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// let mut map: VecMap<&str> = VecMap::with_capacity(10); - /// map.shrink_to_fit(); - /// assert_eq!(map.capacity(), 0); - /// ``` - pub fn shrink_to_fit(&mut self) { - // strip off trailing `None`s - if let Some(idx) = self.v.iter().rposition(Option::is_some) { - self.v.truncate(idx + 1); - } else { - self.v.clear(); - } - - self.v.shrink_to_fit() - } - - /// Returns an iterator visiting all keys in ascending order of the keys. - /// The iterator's element type is `usize`. - pub fn keys(&self) -> Keys { - Keys { iter: self.iter() } - } - - /// Returns an iterator visiting all values in ascending order of the keys. - /// The iterator's element type is `&'r V`. - pub fn values(&self) -> Values { - Values { iter: self.iter() } - } - - /// Returns an iterator visiting all values in ascending order of the keys. - /// The iterator's element type is `&'r mut V`. - pub fn values_mut(&mut self) -> ValuesMut { - ValuesMut { iter_mut: self.iter_mut() } - } - - /// Returns an iterator visiting all key-value pairs in ascending order of the keys. - /// The iterator's element type is `(usize, &'r V)`. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// - /// let mut map = VecMap::new(); - /// map.insert(1, "a"); - /// map.insert(3, "c"); - /// map.insert(2, "b"); - /// - /// // Print `1: a` then `2: b` then `3: c` - /// for (key, value) in map.iter() { - /// println!("{}: {}", key, value); - /// } - /// ``` - pub fn iter(&self) -> Iter { - Iter { - front: 0, - back: self.v.len(), - n: self.n, - yielded: 0, - iter: self.v.iter() - } - } - - /// Returns an iterator visiting all key-value pairs in ascending order of the keys, - /// with mutable references to the values. - /// The iterator's element type is `(usize, &'r mut V)`. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// - /// let mut map = VecMap::new(); - /// map.insert(1, "a"); - /// map.insert(2, "b"); - /// map.insert(3, "c"); - /// - /// for (key, value) in map.iter_mut() { - /// *value = "x"; - /// } - /// - /// for (key, value) in &map { - /// assert_eq!(value, &"x"); - /// } - /// ``` - pub fn iter_mut(&mut self) -> IterMut { - IterMut { - front: 0, - back: self.v.len(), - n: self.n, - yielded: 0, - iter: self.v.iter_mut() - } - } - - /// Moves all elements from `other` into the map while overwriting existing keys. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// - /// let mut a = VecMap::new(); - /// a.insert(1, "a"); - /// a.insert(2, "b"); - /// - /// let mut b = VecMap::new(); - /// b.insert(3, "c"); - /// b.insert(4, "d"); - /// - /// a.append(&mut b); - /// - /// assert_eq!(a.len(), 4); - /// assert_eq!(b.len(), 0); - /// assert_eq!(a[1], "a"); - /// assert_eq!(a[2], "b"); - /// assert_eq!(a[3], "c"); - /// assert_eq!(a[4], "d"); - /// ``` - pub fn append(&mut self, other: &mut Self) { - self.extend(other.drain()); - } - - /// Splits the collection into two at the given key. - /// - /// Returns a newly allocated `Self`. `self` contains elements `[0, at)`, - /// and the returned `Self` contains elements `[at, max_key)`. - /// - /// Note that the capacity of `self` does not change. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// - /// let mut a = VecMap::new(); - /// a.insert(1, "a"); - /// a.insert(2, "b"); - /// a.insert(3, "c"); - /// a.insert(4, "d"); - /// - /// let b = a.split_off(3); - /// - /// assert_eq!(a[1], "a"); - /// assert_eq!(a[2], "b"); - /// - /// assert_eq!(b[3], "c"); - /// assert_eq!(b[4], "d"); - /// ``` - pub fn split_off(&mut self, at: usize) -> Self { - let mut other = VecMap::new(); - - if at == 0 { - // Move all elements to other - // The swap will also fix .n - swap(self, &mut other); - return other - } else if at >= self.v.len() { - // No elements to copy - return other; - } - - // Look up the index of the first non-None item - let first_index = self.v.iter().position(|el| el.is_some()); - let start_index = match first_index { - Some(index) => max(at, index), - None => { - // self has no elements - return other; - } - }; - - // Fill the new VecMap with `None`s until `start_index` - other.v.extend((0..start_index).map(|_| None)); - - // Move elements beginning with `start_index` from `self` into `other` - let mut taken = 0; - other.v.extend(self.v[start_index..].iter_mut().map(|el| { - let el = el.take(); - if el.is_some() { - taken += 1; - } - el - })); - other.n = taken; - self.n -= taken; - - other - } - - /// Returns an iterator visiting all key-value pairs in ascending order of - /// the keys, emptying (but not consuming) the original `VecMap`. - /// The iterator's element type is `(usize, &'r V)`. Keeps the allocated memory for reuse. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// - /// let mut map = VecMap::new(); - /// map.insert(1, "a"); - /// map.insert(3, "c"); - /// map.insert(2, "b"); - /// - /// let vec: Vec<(usize, &str)> = map.drain().collect(); - /// - /// assert_eq!(vec, [(1, "a"), (2, "b"), (3, "c")]); - /// ``` - pub fn drain(&mut self) -> Drain { - fn filter
((i, v): (usize, Option)) -> Option<(usize, A)> { - v.map(|v| (i, v)) - } - let filter: fn((usize, Option)) -> Option<(usize, V)> = filter; // coerce to fn ptr - - self.n = 0; - Drain { iter: self.v.drain(..).enumerate().filter_map(filter) } - } - - /// Returns the number of elements in the map. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// - /// let mut a = VecMap::new(); - /// assert_eq!(a.len(), 0); - /// a.insert(1, "a"); - /// assert_eq!(a.len(), 1); - /// ``` - pub fn len(&self) -> usize { - self.n - } - - /// Returns true if the map contains no elements. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// - /// let mut a = VecMap::new(); - /// assert!(a.is_empty()); - /// a.insert(1, "a"); - /// assert!(!a.is_empty()); - /// ``` - pub fn is_empty(&self) -> bool { - self.n == 0 - } - - /// Clears the map, removing all key-value pairs. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// - /// let mut a = VecMap::new(); - /// a.insert(1, "a"); - /// a.clear(); - /// assert!(a.is_empty()); - /// ``` - pub fn clear(&mut self) { self.n = 0; self.v.clear() } - - /// Returns a reference to the value corresponding to the key. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// - /// let mut map = VecMap::new(); - /// map.insert(1, "a"); - /// assert_eq!(map.get(1), Some(&"a")); - /// assert_eq!(map.get(2), None); - /// ``` - pub fn get(&self, key: usize) -> Option<&V> { - if key < self.v.len() { - self.v[key].as_ref() - } else { - None - } - } - - /// Returns true if the map contains a value for the specified key. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// - /// let mut map = VecMap::new(); - /// map.insert(1, "a"); - /// assert_eq!(map.contains_key(1), true); - /// assert_eq!(map.contains_key(2), false); - /// ``` - #[inline] - pub fn contains_key(&self, key: usize) -> bool { - self.get(key).is_some() - } - - /// Returns a mutable reference to the value corresponding to the key. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// - /// let mut map = VecMap::new(); - /// map.insert(1, "a"); - /// if let Some(x) = map.get_mut(1) { - /// *x = "b"; - /// } - /// assert_eq!(map[1], "b"); - /// ``` - pub fn get_mut(&mut self, key: usize) -> Option<&mut V> { - if key < self.v.len() { - self.v[key].as_mut() - } else { - None - } - } - - /// Inserts a key-value pair into the map. If the key already had a value - /// present in the map, that value is returned. Otherwise, `None` is returned. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// - /// let mut map = VecMap::new(); - /// assert_eq!(map.insert(37, "a"), None); - /// assert_eq!(map.is_empty(), false); - /// - /// map.insert(37, "b"); - /// assert_eq!(map.insert(37, "c"), Some("b")); - /// assert_eq!(map[37], "c"); - /// ``` - pub fn insert(&mut self, key: usize, value: V) -> Option { - let len = self.v.len(); - if len <= key { - self.v.extend((0..key - len + 1).map(|_| None)); - } - let was = replace(&mut self.v[key], Some(value)); - if was.is_none() { - self.n += 1; - } - was - } - - /// Removes a key from the map, returning the value at the key if the key - /// was previously in the map. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// - /// let mut map = VecMap::new(); - /// map.insert(1, "a"); - /// assert_eq!(map.remove(1), Some("a")); - /// assert_eq!(map.remove(1), None); - /// ``` - pub fn remove(&mut self, key: usize) -> Option { - if key >= self.v.len() { - return None; - } - let result = &mut self.v[key]; - let was = result.take(); - if was.is_some() { - self.n -= 1; - } - was - } - - /// Gets the given key's corresponding entry in the map for in-place manipulation. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// - /// let mut count: VecMap = VecMap::new(); - /// - /// // count the number of occurrences of numbers in the vec - /// for x in vec![1, 2, 1, 2, 3, 4, 1, 2, 4] { - /// *count.entry(x).or_insert(0) += 1; - /// } - /// - /// assert_eq!(count[1], 3); - /// ``` - pub fn entry(&mut self, key: usize) -> Entry { - // FIXME(Gankro): this is basically the dumbest implementation of - // entry possible, because weird non-lexical borrows issues make it - // completely insane to do any other way. That said, Entry is a border-line - // useless construct on VecMap, so it's hardly a big loss. - if self.contains_key(key) { - Occupied(OccupiedEntry { - map: self, - index: key, - }) - } else { - Vacant(VacantEntry { - map: self, - index: key, - }) - } - } - - /// Retains only the elements specified by the predicate. - /// - /// In other words, remove all pairs `(k, v)` such that `f(&k, &mut v)` returns `false`. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// - /// let mut map: VecMap = (0..8).map(|x|(x, x*10)).collect(); - /// map.retain(|k, _| k % 2 == 0); - /// assert_eq!(map.len(), 4); - /// ``` - pub fn retain(&mut self, mut f: F) - where F: FnMut(usize, &mut V) -> bool - { - for (i, e) in self.v.iter_mut().enumerate() { - let remove = match *e { - Some(ref mut value) => !f(i, value), - None => false, - }; - if remove { - *e = None; - self.n -= 1; - } - } - } -} - -impl<'a, V> Entry<'a, V> { - /// Ensures a value is in the entry by inserting the default if empty, and - /// returns a mutable reference to the value in the entry. - pub fn or_insert(self, default: V) -> &'a mut V { - match self { - Occupied(entry) => entry.into_mut(), - Vacant(entry) => entry.insert(default), - } - } - - /// Ensures a value is in the entry by inserting the result of the default - /// function if empty, and returns a mutable reference to the value in the - /// entry. - pub fn or_insert_with V>(self, default: F) -> &'a mut V { - match self { - Occupied(entry) => entry.into_mut(), - Vacant(entry) => entry.insert(default()), - } - } -} - -impl<'a, V> VacantEntry<'a, V> { - /// Sets the value of the entry with the VacantEntry's key, - /// and returns a mutable reference to it. - pub fn insert(self, value: V) -> &'a mut V { - let index = self.index; - self.map.insert(index, value); - &mut self.map[index] - } -} - -impl<'a, V> OccupiedEntry<'a, V> { - /// Gets a reference to the value in the entry. - pub fn get(&self) -> &V { - let index = self.index; - &self.map[index] - } - - /// Gets a mutable reference to the value in the entry. - pub fn get_mut(&mut self) -> &mut V { - let index = self.index; - &mut self.map[index] - } - - /// Converts the entry into a mutable reference to its value. - pub fn into_mut(self) -> &'a mut V { - let index = self.index; - &mut self.map[index] - } - - /// Sets the value of the entry with the OccupiedEntry's key, - /// and returns the entry's old value. - pub fn insert(&mut self, value: V) -> V { - let index = self.index; - self.map.insert(index, value).unwrap() - } - - /// Takes the value of the entry out of the map, and returns it. - pub fn remove(self) -> V { - let index = self.index; - self.map.remove(index).unwrap() - } -} - -impl Clone for VecMap { - #[inline] - fn clone(&self) -> Self { - VecMap { n: self.n, v: self.v.clone() } - } - - #[inline] - fn clone_from(&mut self, source: &Self) { - self.v.clone_from(&source.v); - self.n = source.n; - } -} - -impl PartialEq for VecMap { - fn eq(&self, other: &Self) -> bool { - self.n == other.n && self.iter().eq(other.iter()) - } -} - -impl Eq for VecMap {} - -impl PartialOrd for VecMap { - #[inline] - fn partial_cmp(&self, other: &Self) -> Option { - self.iter().partial_cmp(other.iter()) - } -} - -impl Ord for VecMap { - #[inline] - fn cmp(&self, other: &Self) -> Ordering { - self.iter().cmp(other.iter()) - } -} - -impl fmt::Debug for VecMap { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.debug_map().entries(self).finish() - } -} - -impl FromIterator<(usize, V)> for VecMap { - fn from_iter>(iter: I) -> Self { - let mut map = Self::new(); - map.extend(iter); - map - } -} - -impl IntoIterator for VecMap { - type Item = (usize, T); - type IntoIter = IntoIter; - - /// Returns an iterator visiting all key-value pairs in ascending order of - /// the keys, consuming the original `VecMap`. - /// The iterator's element type is `(usize, &'r V)`. - /// - /// # Examples - /// - /// ``` - /// use vec_map::VecMap; - /// - /// let mut map = VecMap::new(); - /// map.insert(1, "a"); - /// map.insert(3, "c"); - /// map.insert(2, "b"); - /// - /// let vec: Vec<(usize, &str)> = map.into_iter().collect(); - /// - /// assert_eq!(vec, [(1, "a"), (2, "b"), (3, "c")]); - /// ``` - fn into_iter(self) -> IntoIter { - IntoIter { - n: self.n, - yielded: 0, - iter: self.v.into_iter().enumerate() - } - } -} - -impl<'a, T> IntoIterator for &'a VecMap { - type Item = (usize, &'a T); - type IntoIter = Iter<'a, T>; - - fn into_iter(self) -> Iter<'a, T> { - self.iter() - } -} - -impl<'a, T> IntoIterator for &'a mut VecMap { - type Item = (usize, &'a mut T); - type IntoIter = IterMut<'a, T>; - - fn into_iter(self) -> IterMut<'a, T> { - self.iter_mut() - } -} - -impl Extend<(usize, V)> for VecMap { - fn extend>(&mut self, iter: I) { - for (k, v) in iter { - self.insert(k, v); - } - } -} - -impl<'a, V: Copy> Extend<(usize, &'a V)> for VecMap { - fn extend>(&mut self, iter: I) { - self.extend(iter.into_iter().map(|(key, &value)| (key, value))); - } -} - -impl Index for VecMap { - type Output = V; - - #[inline] - fn index(&self, i: usize) -> &V { - self.get(i).expect("key not present") - } -} - -impl<'a, V> Index<&'a usize> for VecMap { - type Output = V; - - #[inline] - fn index(&self, i: &usize) -> &V { - self.get(*i).expect("key not present") - } -} - -impl IndexMut for VecMap { - #[inline] - fn index_mut(&mut self, i: usize) -> &mut V { - self.get_mut(i).expect("key not present") - } -} - -impl<'a, V> IndexMut<&'a usize> for VecMap { - #[inline] - fn index_mut(&mut self, i: &usize) -> &mut V { - self.get_mut(*i).expect("key not present") - } -} - -macro_rules! iterator { - (impl $name:ident -> $elem:ty, $($getter:ident),+) => { - impl<'a, V> Iterator for $name<'a, V> { - type Item = $elem; - - #[inline] - fn next(&mut self) -> Option<$elem> { - while self.front < self.back { - if let Some(elem) = self.iter.next() { - if let Some(x) = elem$(. $getter ())+ { - let index = self.front; - self.front += 1; - self.yielded += 1; - return Some((index, x)); - } - } - self.front += 1; - } - None - } - - #[inline] - fn size_hint(&self) -> (usize, Option) { - (self.n - self.yielded, Some(self.n - self.yielded)) - } - } - } -} - -macro_rules! double_ended_iterator { - (impl $name:ident -> $elem:ty, $($getter:ident),+) => { - impl<'a, V> DoubleEndedIterator for $name<'a, V> { - #[inline] - fn next_back(&mut self) -> Option<$elem> { - while self.front < self.back { - if let Some(elem) = self.iter.next_back() { - if let Some(x) = elem$(. $getter ())+ { - self.back -= 1; - return Some((self.back, x)); - } - } - self.back -= 1; - } - None - } - } - } -} - -/// An iterator over the key-value pairs of a map. -pub struct Iter<'a, V: 'a> { - front: usize, - back: usize, - n: usize, - yielded: usize, - iter: slice::Iter<'a, Option> -} - -// FIXME(#19839) Remove in favor of `#[derive(Clone)]` -impl<'a, V> Clone for Iter<'a, V> { - fn clone(&self) -> Iter<'a, V> { - Iter { - front: self.front, - back: self.back, - n: self.n, - yielded: self.yielded, - iter: self.iter.clone() - } - } -} - -iterator! { impl Iter -> (usize, &'a V), as_ref } -impl<'a, V> ExactSizeIterator for Iter<'a, V> {} -double_ended_iterator! { impl Iter -> (usize, &'a V), as_ref } - -/// An iterator over the key-value pairs of a map, with the -/// values being mutable. -pub struct IterMut<'a, V: 'a> { - front: usize, - back: usize, - n: usize, - yielded: usize, - iter: slice::IterMut<'a, Option> -} - -iterator! { impl IterMut -> (usize, &'a mut V), as_mut } -impl<'a, V> ExactSizeIterator for IterMut<'a, V> {} -double_ended_iterator! { impl IterMut -> (usize, &'a mut V), as_mut } - -/// An iterator over the keys of a map. -pub struct Keys<'a, V: 'a> { - iter: Iter<'a, V>, -} - -// FIXME(#19839) Remove in favor of `#[derive(Clone)]` -impl<'a, V> Clone for Keys<'a, V> { - fn clone(&self) -> Keys<'a, V> { - Keys { - iter: self.iter.clone() - } - } -} - -/// An iterator over the values of a map. -pub struct Values<'a, V: 'a> { - iter: Iter<'a, V>, -} - -// FIXME(#19839) Remove in favor of `#[derive(Clone)]` -impl<'a, V> Clone for Values<'a, V> { - fn clone(&self) -> Values<'a, V> { - Values { - iter: self.iter.clone() - } - } -} - -/// An iterator over the values of a map. -pub struct ValuesMut<'a, V: 'a> { - iter_mut: IterMut<'a, V>, -} - -/// A consuming iterator over the key-value pairs of a map. -pub struct IntoIter { - n: usize, - yielded: usize, - iter: Enumerate>>, -} - -/// A draining iterator over the key-value pairs of a map. -pub struct Drain<'a, V: 'a> { - iter: FilterMap< - Enumerate>>, - fn((usize, Option)) -> Option<(usize, V)>> -} - -impl<'a, V> Iterator for Drain<'a, V> { - type Item = (usize, V); - - fn next(&mut self) -> Option<(usize, V)> { self.iter.next() } - fn size_hint(&self) -> (usize, Option) { self.iter.size_hint() } -} - -impl<'a, V> ExactSizeIterator for Drain<'a, V> {} - -impl<'a, V> DoubleEndedIterator for Drain<'a, V> { - fn next_back(&mut self) -> Option<(usize, V)> { self.iter.next_back() } -} - -impl<'a, V> Iterator for Keys<'a, V> { - type Item = usize; - - fn next(&mut self) -> Option { self.iter.next().map(|e| e.0) } - fn size_hint(&self) -> (usize, Option) { self.iter.size_hint() } -} - -impl<'a, V> ExactSizeIterator for Keys<'a, V> {} - -impl<'a, V> DoubleEndedIterator for Keys<'a, V> { - fn next_back(&mut self) -> Option { self.iter.next_back().map(|e| e.0) } -} - -impl<'a, V> Iterator for Values<'a, V> { - type Item = &'a V; - - fn next(&mut self) -> Option<(&'a V)> { self.iter.next().map(|e| e.1) } - fn size_hint(&self) -> (usize, Option) { self.iter.size_hint() } -} - -impl<'a, V> ExactSizeIterator for Values<'a, V> {} - -impl<'a, V> DoubleEndedIterator for Values<'a, V> { - fn next_back(&mut self) -> Option<(&'a V)> { self.iter.next_back().map(|e| e.1) } -} - -impl<'a, V> Iterator for ValuesMut<'a, V> { - type Item = &'a mut V; - - fn next(&mut self) -> Option<(&'a mut V)> { self.iter_mut.next().map(|e| e.1) } - fn size_hint(&self) -> (usize, Option) { self.iter_mut.size_hint() } -} - -impl<'a, V> ExactSizeIterator for ValuesMut<'a, V> {} - -impl<'a, V> DoubleEndedIterator for ValuesMut<'a, V> { - fn next_back(&mut self) -> Option<&'a mut V> { self.iter_mut.next_back().map(|e| e.1) } -} - -impl Iterator for IntoIter { - type Item = (usize, V); - - fn next(&mut self) -> Option<(usize, V)> { - loop { - match self.iter.next() { - None => return None, - Some((i, Some(value))) => { - self.yielded += 1; - return Some((i, value)) - }, - _ => {} - } - } - } - - fn size_hint(&self) -> (usize, Option) { - (self.n - self.yielded, Some(self.n - self.yielded)) - } -} - -impl ExactSizeIterator for IntoIter {} - -impl DoubleEndedIterator for IntoIter { - fn next_back(&mut self) -> Option<(usize, V)> { - loop { - match self.iter.next_back() { - None => return None, - Some((i, Some(value))) => return Some((i, value)), - _ => {} - } - } - } -} - -#[allow(dead_code)] -fn assert_properties() { - fn vec_map_covariant<'a, T>(map: VecMap<&'static T>) -> VecMap<&'a T> { map } - - fn into_iter_covariant<'a, T>(iter: IntoIter<&'static T>) -> IntoIter<&'a T> { iter } - - fn iter_covariant<'i, 'a, T>(iter: Iter<'i, &'static T>) -> Iter<'i, &'a T> { iter } - - fn keys_covariant<'i, 'a, T>(iter: Keys<'i, &'static T>) -> Keys<'i, &'a T> { iter } - - fn values_covariant<'i, 'a, T>(iter: Values<'i, &'static T>) -> Values<'i, &'a T> { iter } -} - -#[cfg(test)] -mod test { - use super::VecMap; - use super::Entry::{Occupied, Vacant}; - use std::hash::{Hash, Hasher}; - use std::collections::hash_map::DefaultHasher; - - #[test] - fn test_get_mut() { - let mut m = VecMap::new(); - assert!(m.insert(1, 12).is_none()); - assert!(m.insert(2, 8).is_none()); - assert!(m.insert(5, 14).is_none()); - let new = 100; - match m.get_mut(5) { - None => panic!(), Some(x) => *x = new - } - assert_eq!(m.get(5), Some(&new)); - } - - #[test] - fn test_len() { - let mut map = VecMap::new(); - assert_eq!(map.len(), 0); - assert!(map.is_empty()); - assert!(map.insert(5, 20).is_none()); - assert_eq!(map.len(), 1); - assert!(!map.is_empty()); - assert!(map.insert(11, 12).is_none()); - assert_eq!(map.len(), 2); - assert!(!map.is_empty()); - assert!(map.insert(14, 22).is_none()); - assert_eq!(map.len(), 3); - assert!(!map.is_empty()); - } - - #[test] - fn test_clear() { - let mut map = VecMap::new(); - assert!(map.insert(5, 20).is_none()); - assert!(map.insert(11, 12).is_none()); - assert!(map.insert(14, 22).is_none()); - map.clear(); - assert!(map.is_empty()); - assert!(map.get(5).is_none()); - assert!(map.get(11).is_none()); - assert!(map.get(14).is_none()); - } - - #[test] - fn test_insert() { - let mut m = VecMap::new(); - assert_eq!(m.insert(1, 2), None); - assert_eq!(m.insert(1, 3), Some(2)); - assert_eq!(m.insert(1, 4), Some(3)); - } - - #[test] - fn test_remove() { - let mut m = VecMap::new(); - m.insert(1, 2); - assert_eq!(m.remove(1), Some(2)); - assert_eq!(m.remove(1), None); - } - - #[test] - fn test_keys() { - let mut map = VecMap::new(); - map.insert(1, 'a'); - map.insert(2, 'b'); - map.insert(3, 'c'); - let keys: Vec<_> = map.keys().collect(); - assert_eq!(keys.len(), 3); - assert!(keys.contains(&1)); - assert!(keys.contains(&2)); - assert!(keys.contains(&3)); - } - - #[test] - fn test_values() { - let mut map = VecMap::new(); - map.insert(1, 'a'); - map.insert(2, 'b'); - map.insert(3, 'c'); - let values: Vec<_> = map.values().cloned().collect(); - assert_eq!(values.len(), 3); - assert!(values.contains(&'a')); - assert!(values.contains(&'b')); - assert!(values.contains(&'c')); - } - - #[test] - fn test_iterator() { - let mut m = VecMap::new(); - - assert!(m.insert(0, 1).is_none()); - assert!(m.insert(1, 2).is_none()); - assert!(m.insert(3, 5).is_none()); - assert!(m.insert(6, 10).is_none()); - assert!(m.insert(10, 11).is_none()); - - let mut it = m.iter(); - assert_eq!(it.size_hint(), (5, Some(5))); - assert_eq!(it.next().unwrap(), (0, &1)); - assert_eq!(it.size_hint(), (4, Some(4))); - assert_eq!(it.next().unwrap(), (1, &2)); - assert_eq!(it.size_hint(), (3, Some(3))); - assert_eq!(it.next().unwrap(), (3, &5)); - assert_eq!(it.size_hint(), (2, Some(2))); - assert_eq!(it.next().unwrap(), (6, &10)); - assert_eq!(it.size_hint(), (1, Some(1))); - assert_eq!(it.next().unwrap(), (10, &11)); - assert_eq!(it.size_hint(), (0, Some(0))); - assert!(it.next().is_none()); - } - - #[test] - fn test_iterator_size_hints() { - let mut m = VecMap::new(); - - assert!(m.insert(0, 1).is_none()); - assert!(m.insert(1, 2).is_none()); - assert!(m.insert(3, 5).is_none()); - assert!(m.insert(6, 10).is_none()); - assert!(m.insert(10, 11).is_none()); - - assert_eq!(m.iter().size_hint(), (5, Some(5))); - assert_eq!(m.iter().rev().size_hint(), (5, Some(5))); - assert_eq!(m.iter_mut().size_hint(), (5, Some(5))); - assert_eq!(m.iter_mut().rev().size_hint(), (5, Some(5))); - } - - #[test] - fn test_mut_iterator() { - let mut m = VecMap::new(); - - assert!(m.insert(0, 1).is_none()); - assert!(m.insert(1, 2).is_none()); - assert!(m.insert(3, 5).is_none()); - assert!(m.insert(6, 10).is_none()); - assert!(m.insert(10, 11).is_none()); - - for (k, v) in &mut m { - *v += k as isize; - } - - let mut it = m.iter(); - assert_eq!(it.next().unwrap(), (0, &1)); - assert_eq!(it.next().unwrap(), (1, &3)); - assert_eq!(it.next().unwrap(), (3, &8)); - assert_eq!(it.next().unwrap(), (6, &16)); - assert_eq!(it.next().unwrap(), (10, &21)); - assert!(it.next().is_none()); - } - - #[test] - fn test_rev_iterator() { - let mut m = VecMap::new(); - - assert!(m.insert(0, 1).is_none()); - assert!(m.insert(1, 2).is_none()); - assert!(m.insert(3, 5).is_none()); - assert!(m.insert(6, 10).is_none()); - assert!(m.insert(10, 11).is_none()); - - let mut it = m.iter().rev(); - assert_eq!(it.next().unwrap(), (10, &11)); - assert_eq!(it.next().unwrap(), (6, &10)); - assert_eq!(it.next().unwrap(), (3, &5)); - assert_eq!(it.next().unwrap(), (1, &2)); - assert_eq!(it.next().unwrap(), (0, &1)); - assert!(it.next().is_none()); - } - - #[test] - fn test_mut_rev_iterator() { - let mut m = VecMap::new(); - - assert!(m.insert(0, 1).is_none()); - assert!(m.insert(1, 2).is_none()); - assert!(m.insert(3, 5).is_none()); - assert!(m.insert(6, 10).is_none()); - assert!(m.insert(10, 11).is_none()); - - for (k, v) in m.iter_mut().rev() { - *v += k as isize; - } - - let mut it = m.iter(); - assert_eq!(it.next().unwrap(), (0, &1)); - assert_eq!(it.next().unwrap(), (1, &3)); - assert_eq!(it.next().unwrap(), (3, &8)); - assert_eq!(it.next().unwrap(), (6, &16)); - assert_eq!(it.next().unwrap(), (10, &21)); - assert!(it.next().is_none()); - } - - #[test] - fn test_move_iter() { - let mut m: VecMap> = VecMap::new(); - m.insert(1, Box::new(2)); - let mut called = false; - for (k, v) in m { - assert!(!called); - called = true; - assert_eq!(k, 1); - assert_eq!(v, Box::new(2)); - } - assert!(called); - } - - #[test] - fn test_drain_iterator() { - let mut map = VecMap::new(); - map.insert(1, "a"); - map.insert(3, "c"); - map.insert(2, "b"); - - let vec: Vec<_> = map.drain().collect(); - - assert_eq!(vec, [(1, "a"), (2, "b"), (3, "c")]); - assert_eq!(map.len(), 0); - } - - #[test] - fn test_append() { - let mut a = VecMap::new(); - a.insert(1, "a"); - a.insert(2, "b"); - a.insert(3, "c"); - - let mut b = VecMap::new(); - b.insert(3, "d"); // Overwrite element from a - b.insert(4, "e"); - b.insert(5, "f"); - - a.append(&mut b); - - assert_eq!(a.len(), 5); - assert_eq!(b.len(), 0); - // Capacity shouldn't change for possible reuse - assert!(b.capacity() >= 4); - - assert_eq!(a[1], "a"); - assert_eq!(a[2], "b"); - assert_eq!(a[3], "d"); - assert_eq!(a[4], "e"); - assert_eq!(a[5], "f"); - } - - #[test] - fn test_split_off() { - // Split within the key range - let mut a = VecMap::new(); - a.insert(1, "a"); - a.insert(2, "b"); - a.insert(3, "c"); - a.insert(4, "d"); - - let b = a.split_off(3); - - assert_eq!(a.len(), 2); - assert_eq!(b.len(), 2); - - assert_eq!(a[1], "a"); - assert_eq!(a[2], "b"); - - assert_eq!(b[3], "c"); - assert_eq!(b[4], "d"); - - // Split at 0 - a.clear(); - a.insert(1, "a"); - a.insert(2, "b"); - a.insert(3, "c"); - a.insert(4, "d"); - - let b = a.split_off(0); - - assert_eq!(a.len(), 0); - assert_eq!(b.len(), 4); - assert_eq!(b[1], "a"); - assert_eq!(b[2], "b"); - assert_eq!(b[3], "c"); - assert_eq!(b[4], "d"); - - // Split behind max_key - a.clear(); - a.insert(1, "a"); - a.insert(2, "b"); - a.insert(3, "c"); - a.insert(4, "d"); - - let b = a.split_off(5); - - assert_eq!(a.len(), 4); - assert_eq!(b.len(), 0); - assert_eq!(a[1], "a"); - assert_eq!(a[2], "b"); - assert_eq!(a[3], "c"); - assert_eq!(a[4], "d"); - } - - #[test] - fn test_show() { - let mut map = VecMap::new(); - let empty = VecMap::::new(); - - map.insert(1, 2); - map.insert(3, 4); - - let map_str = format!("{:?}", map); - assert!(map_str == "{1: 2, 3: 4}" || map_str == "{3: 4, 1: 2}"); - assert_eq!(format!("{:?}", empty), "{}"); - } - - #[test] - fn test_clone() { - let mut a = VecMap::new(); - - a.insert(1, 'x'); - a.insert(4, 'y'); - a.insert(6, 'z'); - - assert_eq!(a.clone().iter().collect::>(), [(1, &'x'), (4, &'y'), (6, &'z')]); - } - - #[test] - fn test_eq() { - let mut a = VecMap::new(); - let mut b = VecMap::new(); - - assert!(a == b); - assert!(a.insert(0, 5).is_none()); - assert!(a != b); - assert!(b.insert(0, 4).is_none()); - assert!(a != b); - assert!(a.insert(5, 19).is_none()); - assert!(a != b); - assert!(!b.insert(0, 5).is_none()); - assert!(a != b); - assert!(b.insert(5, 19).is_none()); - assert!(a == b); - - a = VecMap::new(); - b = VecMap::with_capacity(1); - assert!(a == b); - } - - #[test] - fn test_lt() { - let mut a = VecMap::new(); - let mut b = VecMap::new(); - - assert!(!(a < b) && !(b < a)); - assert!(b.insert(2, 5).is_none()); - assert!(a < b); - assert!(a.insert(2, 7).is_none()); - assert!(!(a < b) && b < a); - assert!(b.insert(1, 0).is_none()); - assert!(b < a); - assert!(a.insert(0, 6).is_none()); - assert!(a < b); - assert!(a.insert(6, 2).is_none()); - assert!(a < b && !(b < a)); - } - - #[test] - fn test_ord() { - let mut a = VecMap::new(); - let mut b = VecMap::new(); - - assert!(a <= b && a >= b); - assert!(a.insert(1, 1).is_none()); - assert!(a > b && a >= b); - assert!(b < a && b <= a); - assert!(b.insert(2, 2).is_none()); - assert!(b > a && b >= a); - assert!(a < b && a <= b); - } - - #[test] - fn test_hash() { - fn hash(t: &T) -> u64 { - let mut s = DefaultHasher::new(); - t.hash(&mut s); - s.finish() - } - - let mut x = VecMap::new(); - let mut y = VecMap::new(); - - assert!(hash(&x) == hash(&y)); - x.insert(1, 'a'); - x.insert(2, 'b'); - x.insert(3, 'c'); - - y.insert(3, 'c'); - y.insert(2, 'b'); - y.insert(1, 'a'); - - assert!(hash(&x) == hash(&y)); - - x.insert(1000, 'd'); - x.remove(1000); - - assert!(hash(&x) == hash(&y)); - } - - #[test] - fn test_from_iter() { - let xs = [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e')]; - - let map: VecMap<_> = xs.iter().cloned().collect(); - - for &(k, v) in &xs { - assert_eq!(map.get(k), Some(&v)); - } - } - - #[test] - fn test_index() { - let mut map = VecMap::new(); - - map.insert(1, 2); - map.insert(2, 1); - map.insert(3, 4); - - assert_eq!(map[3], 4); - } - - #[test] - #[should_panic] - fn test_index_nonexistent() { - let mut map = VecMap::new(); - - map.insert(1, 2); - map.insert(2, 1); - map.insert(3, 4); - - map[4]; - } - - #[test] - fn test_entry() { - let xs = [(1, 10), (2, 20), (3, 30), (4, 40), (5, 50), (6, 60)]; - - let mut map: VecMap<_> = xs.iter().cloned().collect(); - - // Existing key (insert) - match map.entry(1) { - Vacant(_) => unreachable!(), - Occupied(mut view) => { - assert_eq!(view.get(), &10); - assert_eq!(view.insert(100), 10); - } - } - - assert_eq!(map.get(1).unwrap(), &100); - assert_eq!(map.len(), 6); - - // Existing key (update) - match map.entry(2) { - Vacant(_) => unreachable!(), - Occupied(mut view) => { - let v = view.get_mut(); - *v *= 10; - } - } - - assert_eq!(map.get(2).unwrap(), &200); - assert_eq!(map.len(), 6); - - // Existing key (take) - match map.entry(3) { - Vacant(_) => unreachable!(), - Occupied(view) => { - assert_eq!(view.remove(), 30); - } - } - - assert_eq!(map.get(3), None); - assert_eq!(map.len(), 5); - - // Inexistent key (insert) - match map.entry(10) { - Occupied(_) => unreachable!(), - Vacant(view) => { - assert_eq!(*view.insert(1000), 1000); - } - } - - assert_eq!(map.get(10).unwrap(), &1000); - assert_eq!(map.len(), 6); - } - - #[test] - fn test_extend_ref() { - let mut a = VecMap::new(); - a.insert(1, "one"); - let mut b = VecMap::new(); - b.insert(2, "two"); - b.insert(3, "three"); - - a.extend(&b); - - assert_eq!(a.len(), 3); - assert_eq!(a[&1], "one"); - assert_eq!(a[&2], "two"); - assert_eq!(a[&3], "three"); - } - - #[test] - #[cfg(feature = "serde")] - fn test_serde() { - use serde::{Serialize, Deserialize}; - fn impls_serde_traits<'de, S: Serialize + Deserialize<'de>>() {} - - impls_serde_traits::>(); - } - - #[test] - fn test_retain() { - let mut map = VecMap::new(); - map.insert(1, "one"); - map.insert(2, "two"); - map.insert(3, "three"); - map.retain(|k, v| match k { - 1 => false, - 2 => { - *v = "two changed"; - true - }, - 3 => false, - _ => panic!(), - }); - - assert_eq!(map.len(), 1); - assert_eq!(map.get(1), None); - assert_eq!(map[2], "two changed"); - assert_eq!(map.get(3), None); - } -} diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/.cargo-checksum.json b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/.cargo-checksum.json deleted file mode 100644 index a17fa1b9e..000000000 --- a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"9652222664ffc7e2a26fdcdebdce0917a455b39d8fbcbf451bf0b011a3067bf7","build.rs":"4344ce95f51197e1377429cd9ef7a8e3f97d39546776705857991f2f9416f545","lib/libwinapi_aclui.a":"0fbe9d7eba9a106e90db5b015ed7751761c67f239dc6514a2cfad4e530f92490","lib/libwinapi_activeds.a":"68625fcfe4d6a203982fc319b5cc11e6ad07a57ecac442d07f0240e0aac5b28c","lib/libwinapi_advapi32.a":"9ac26b513ab07aed0435d7fe264d811a3d221619d70a34e49261fe0fa78c2cb0","lib/libwinapi_advpack.a":"52b75cb9f96fbe517c52b64bdfc12c928cfc427f4448151828e3c74460334c4d","lib/libwinapi_amsi.a":"72601859db74036937fdb75b8e7f3323f88c52261f4b49f55d1796e8f18e258f","lib/libwinapi_api-ms-win-net-isolation-l1-1-0.a":"8be3322ca57f3b37c8a5f77455fde9f901eebc1533b3aea5783312cbecf1f7e4","lib/libwinapi_apidll.a":"5e8500ef8566b8057585cc9a442feb62487f92cd3ab44831375455138a34d824","lib/libwinapi_appmgmts.a":"c1abfaadf53df46e9e8cc53aa857ffa94f2018b2ac43d9eb9af5fb6351824aa8","lib/libwinapi_appnotify.a":"2aa211c2947c93f913e0d820adc988902664d501c6c19f024bf0c9631e237f4a","lib/libwinapi_asycfilt.a":"dcfb20c70c45f5effccea72ca1cf0ec7169437b666e08d0e6d1a1c9b1246f43e","lib/libwinapi_audioeng.a":"8fd59a757df15225867ed3a9da1fd0e89bb8510da0d864dfe7ee19c6cf8f128e","lib/libwinapi_authz.a":"c5f91aa9ed03b794b760f468122e38c321a936b851ee3127934bb7e5b3480373","lib/libwinapi_avifil32.a":"abb571ed8955cc629b21049cc26a9268d2a4b026d445472b9df13079362b7ae2","lib/libwinapi_avrt.a":"d5ffc07ffb0bcd8708982137d7707941d775d50dae8f8a48a7f34019593e32cd","lib/libwinapi_basesrv.a":"97947ae129d72d598ab1048621ed66ffdf8015c3ed48a4043b399ca5c39348f7","lib/libwinapi_bcrypt.a":"e326aa515c54b84398aefbb1f89cc25aa8e015e6de5aa9657bd520b571a3dbf8","lib/libwinapi_bluetoothapis.a":"fd0c6920651b1d2cc58aba2bd5dc2fdce24008311de9c2a64d214e759d0b5daf","lib/libwinapi_bthprops.a":"210d9ae0b3f8b5d541d247ce9f5dcc9f6f76fa742c679feddac7e734c1f67428","lib/libwinapi_cabinet.a":"0a939ce654b1da5e476ba96e3133ca91005d754ace0b8731192cef71c2aba610","lib/libwinapi_certadm.a":"fde5cbb6c17d881e9910ff1f92f6c7398fce6d9ac86e9953c22517f6efa3a95d","lib/libwinapi_certpoleng.a":"f10c0228d72cdd0d90c74710438f32874e2abc790b2147c553da0f66811b7597","lib/libwinapi_cfgmgr32.a":"d03afff062eb551659da083557e12ff0a475a910216aedf0b62c66ab2b12bca3","lib/libwinapi_chakrart.a":"68f5267b9fc1c58343c60767afac09353fed9072b1ec90de6af7ae148c588064","lib/libwinapi_cldapi.a":"f9d6edbbf01a27ebee6202a33031df41c25a0dddf4f883f5424a7e6992fe31e1","lib/libwinapi_clfsw32.a":"2e06e28b09b1e33711f3f8b26201841098c3b21b2a798c5e1f06d43d57d2dfed","lib/libwinapi_clusapi.a":"c9ff19d78cdb9ee4840c9670c50876dd592f13c1270fb47bff56ca639631a3a6","lib/libwinapi_comctl32.a":"ac22f45bcfa30dc99aca01f7bbdcc74e8c5c42174fed2433d72ab9394d874965","lib/libwinapi_comdlg32.a":"8627efe7eae1299973356102941d37717014a209d057e72a7ab0d939dac7c4df","lib/libwinapi_comppkgsup.a":"0b23a6896cbb77be7b61e2803dc813fd8045e55cebd404dafb906fd0490ef349","lib/libwinapi_compstui.a":"51d0b2a1f59132521a02e10af2456b39ad717b69584fd455f53897666a3135d2","lib/libwinapi_comsvcs.a":"850811393316175ba229824303af68b79d5e5298d139ff72739611fb6b0b51e8","lib/libwinapi_coremessaging.a":"e7f09278971204cd768d87aeaf360762a577e61487efbd506edfe98c532e5a00","lib/libwinapi_credui.a":"20f8d03a576e27450836d417d68bd2efbd95a24dd48747d628ac1f961d59dcf0","lib/libwinapi_crypt32.a":"d6636245cfaebc8dc5231782b89d720665e87c41cabce1f8bec8d16b22d3f29e","lib/libwinapi_cryptdll.a":"82c5078c0c1597a78c8ceb57b56c32c950903c30feb896811abdc56fd07dfb98","lib/libwinapi_cryptnet.a":"641416ef4ca071ecebea4df802ce962d2fa66d7d4d6fd79ebb4a5bed5a272df7","lib/libwinapi_cryptui.a":"b6cda968797c29c01fb18866cf572e07dadbba84536e57971b4f3f952111d6b4","lib/libwinapi_cryptxml.a":"a0549ca925339de1147171c3ea7a0290d5b25c11c2ba81e88967aceb6edb2bb8","lib/libwinapi_cscapi.a":"ee700f192690598942164bb7b68401941209d32a4ff7d337c4975f921b12dedf","lib/libwinapi_cscdll.a":"2c3102f7b9ece5bf5e76f31450b68f2918a49b38f423cfec4008b17926c15d1b","lib/libwinapi_d2d1.a":"2c5ef4461d9a423a70754b352df2c482a87fa9095de45117da6de9947313fa0f","lib/libwinapi_d3d10.a":"f4ab0d6f2f5fbb00b0695f2caa571fd4cfefedef0875c4dc9ec5d46b9394589e","lib/libwinapi_d3d10_1.a":"bbe5b92965a987c5ed5dd860218bc51cf2e1c8fffda4314ff608283655e53d73","lib/libwinapi_d3d11.a":"90e6d40c9faaecb427cc835b6d35f9c97b03fa6343b96254877ba1e0c5fc5be0","lib/libwinapi_d3d12.a":"78576e2db7b47ed1690d825e853e3d1674bf61b860da0efd4a4e14bd6aacbc61","lib/libwinapi_d3d9.a":"213ac512f39f2ffd714160465b86d75fba2a06fe62808c2a957f2d92b54d306e","lib/libwinapi_d3dcompiler.a":"424680ef712001ce3b9af808ceabd54c3510c3cc35a7fb65505994a3ea6f8406","lib/libwinapi_d3dcsx.a":"f85eed17ab41d79f7ffef10e586359a90ad70cecbff80cdeb51015f1440df91f","lib/libwinapi_d3dcsxd.a":"6d5e5c53acfe3eb8e292188aa2f777e07c2161fd1740d1eada9d8b0c271b3453","lib/libwinapi_davclnt.a":"0a99a29e6292f55e14a7c2d403b35d5b4de7125d77dc0ccb218f9d58de0d0f94","lib/libwinapi_dbgeng.a":"77eee9c92f9ebd54fdf746df2af14b8cc744f3e8c729d68ad7fc38af85f70fc5","lib/libwinapi_dbghelp.a":"f0ae8d1d66bee0b1d13e8699da7118a0556ba6912976544fbccaeb2d7b0a2f1c","lib/libwinapi_dciman32.a":"f22380ae622f6228d0062931ba26c5a8d6f82db059a3ef935cf568bec711734c","lib/libwinapi_dcomp.a":"2fbcba609dfbbf5be4698488c4576a6b672d05c7f7ee3596b4c7b0eaa7b5aeb2","lib/libwinapi_ddraw.a":"6c48b9705f4d8bd99c72fb046289403161e1cda68e20833c9976fbb2e7c2ad85","lib/libwinapi_deviceaccess.a":"3b304c6f3a7f608ced8ca1c1d12f80451c5c3e5c38a31ad6afbe1331def5da8c","lib/libwinapi_devmgr.a":"582335b229c0c41f117ecb231f2a3f454c1e4101a748006df5e48174063309ef","lib/libwinapi_dflayout.a":"ee4d80b5babc4e5c86a5a42c2ac81db97968b2ff0c4f90ae290893f575c0ccc3","lib/libwinapi_dhcpcsvc.a":"b56ecceb638e762306f5f1f211efdd18b00a50ff68043db24129008d22757732","lib/libwinapi_dhcpcsvc6.a":"4fcdb0360d94492060e8ff6447ac457ef574111c2ad609c93044a8e122ee9a80","lib/libwinapi_dhcpsapi.a":"d3ff30b18ba039ba0dbbb5b6ec1d72b1cb3f4dae9cbab0225ea6140e2006f58f","lib/libwinapi_difxapi.a":"bf7d9dcd82e317a49838ba62fe7a2f14bf7ac0c8532f37005eed70d3ac0a40df","lib/libwinapi_dinput8.a":"34110fbc33a44cba74d4ca6d6d929ad2ae966d94910f0219413e8940da3b2729","lib/libwinapi_dmprocessxmlfiltered.a":"44c65bfa21a4f02cb9da6ca37c6f0a9b96e8b4fa38a41ca579e89514d8c1af47","lib/libwinapi_dnsapi.a":"aa56f391dc111521f4fa1ab4f30f3ee865b62c6be8a0de8a4734058829651896","lib/libwinapi_dnsperf.a":"aefb3a4844da409f0400434521411f962865504ea7da7aa8f5d438adc518f8c5","lib/libwinapi_dnsrslvr.a":"ac9bb5a3501088c341e883bc9d57280cc27634e07f23910240cf72d190344be5","lib/libwinapi_dpx.a":"e6cee99989005e4437765d62d559abf7020c28eb153811af3044ec86472c86c9","lib/libwinapi_drt.a":"2d34b2d341f315055c4995616c3e403a512f9a082107328e0d4de3f2dfef19be","lib/libwinapi_drtprov.a":"6d843ca33dbf724a9144560c9ac102f93040aa4f497871b35b2b9f04742ec17c","lib/libwinapi_drttransport.a":"359e0e38a56303c810d0c0cde22ebb79c1d4d35b4ef05666ea4cc63b7db1b6a8","lib/libwinapi_dsound.a":"ca4ef310b1a647ac8ce805440fbec9b6ff5fa2c4cb182c9f036d5b1f722917b1","lib/libwinapi_dsprop.a":"9b6388208daa1fd6b3a9cf3b824562c080a33b3700f9ab0e900ec65bb72ac84c","lib/libwinapi_dssec.a":"67ad35bc06b48ae9fbff63ebb557ae659221ca205adc87ea0794673db3b2f5f1","lib/libwinapi_dststlog.a":"2c21e4394caba6685c241269a969e691aba2002a3a0d5231b9593e35b39ae09a","lib/libwinapi_dsuiext.a":"bffa87caa660df48f451c042bd508a0ebf42164e0d21b2fc28fa257e3176e9e3","lib/libwinapi_dwmapi.a":"90bfb9cc29ab4c1727ad5ce3d2377f4de3844a33fdef9c4fc8c1884a352366e0","lib/libwinapi_dwrite.a":"25175cc1f319922defc1250458235fc928220dc8c83ca47debc8c394c530272c","lib/libwinapi_dxgi.a":"a34fbbffc722a65e3dee7bd343922410bd967ee83312a51d012197719cebe914","lib/libwinapi_dxva2.a":"7e1e4970e62fcdd79e4da6c115cf86958f8b700d10cfe866cbf6de295b066927","lib/libwinapi_eappcfg.a":"f44b33f18ab48d02c0d0b3959d4e4b74e274ee7f16a0b379ecd2630060600eda","lib/libwinapi_eappprxy.a":"ef3613d4431002f745dfef5c86bff39bc46cfdb1a2613c08dc3bcd1c92f9cae1","lib/libwinapi_easregprov.a":"167ddbd0c62e76c61c20376abc5f3bd0a2e9a10b69b9ab406d43bb33375d15b2","lib/libwinapi_efswrt.a":"40de24aca17035eab38f9635c72304599b58df37c3ff1fabf62aefc036f31a5f","lib/libwinapi_elscore.a":"8790f716c925482c8f3a90e9f102e1cbd2a98a95d2da74e6ecb40cb213f98f72","lib/libwinapi_esent.a":"84fd8fd3a6a0a230a1932dbeded85e32e353eaa35bfbca14cb45de1c80f73bf1","lib/libwinapi_evr.a":"488b674f133d784acd30eb724f364f2ab95967be96f5644084d8909f573178ba","lib/libwinapi_faultrep.a":"a95e078bb07fe9e06a891013bcbd55eaeaba2fd08c79554803cd7f83e3a294e2","lib/libwinapi_feclient.a":"ca0dae89be31ef2cc4da0256882fb7807ef6b73d87eedd44a9199b85c19e1dae","lib/libwinapi_fhsvcctl.a":"31dd77b721e1f7e45231538d587984a2315b7e2881ae74ab078107f4ec344378","lib/libwinapi_fltlib.a":"75bc50b732fbfc074dc20a6807400d007697840414402d44f7efd8b6d80c6c3a","lib/libwinapi_fontsub.a":"32428decf64e4fc27eecd8f251ccbbfb4d5141f652f879998dbbd7bb259265ef","lib/libwinapi_framedyd.a":"bb0ab50255f033944d8193fd470344c00b8f780e37fe96a56b5e801debb2241a","lib/libwinapi_framedyn.a":"8f6c42e8c79b4e19e214136706aa4f8e45f89f46eeaefce9d3f1f37637dbc451","lib/libwinapi_fwpuclnt.a":"6f06cca6905ce91d0486dcfc14c3d855c8b04082e0d3b86995a4a54a408a9bea","lib/libwinapi_fxsutility.a":"86e20adbecb1ff711df062069687e1604ce8eedd8dc3e08e63610b60aa2e50d1","lib/libwinapi_gdi32.a":"090e67291731b23a6d72d905cfd2638007158413beba4857d822a13a99f90cbf","lib/libwinapi_gdiplus.a":"d74fc74cd1d29c5cd280a7e95a5a4d445af7bd91ab22641f3ae6299a47d1e3e0","lib/libwinapi_glmf32.a":"9906033164f6ea75e0f04794b4999584713a0fb368e026888a66650b10b99460","lib/libwinapi_glu32.a":"eff06b5b5ade0f732f52a989eb530bb4c40113272297d481187e554dc4742fdd","lib/libwinapi_gpedit.a":"a5dfaa48f7e5119fdb3aeecba3f054c3cba02bcd37976438b3214a6b383b2f3b","lib/libwinapi_hbaapi.a":"866f67233b72526add51607300951699f3898f89d6819b4aa17cc6632056588e","lib/libwinapi_hid.a":"153a556c5c938350af4a2bc4df1f365292450fd8f8587c94a397e9e2dfc10f68","lib/libwinapi_hlink.a":"2b9768209993f82cc588b9c5747834bb98332e5e2c0fe36360357e74b6477438","lib/libwinapi_hrtfapo.a":"737fab6f539c737dd6e3bc954646cd0544f779571832ee210bd6d480a2fe4a61","lib/libwinapi_httpapi.a":"06bd3ad3b5c053c25068b3a7e94f5e7f3d78640de81f2aa1ff47405eb39ce0d1","lib/libwinapi_iashlpr.a":"cd2f12894d85028c6d4f10ab126ec7e5232625ca9e5e5970d0afce9062193ece","lib/libwinapi_icm32.a":"fcfa09d72832a65d156b2bb368643cf8aad7305e503cc2a78f700fbda0585aba","lib/libwinapi_icmui.a":"b27fc55b65dd7e25ee29d164c2d419917c9d9051ed8d6ab1a014bfb44223c1ec","lib/libwinapi_icuin.a":"597ed6d86344cb2edebb6fb49a289a8c57bd2b7aef461a82e59b12fe7e7ca06e","lib/libwinapi_icuuc.a":"813ec6598db79798351b2360106b874e74891c864d238cbc2223ddba2c445a4f","lib/libwinapi_imagehlp.a":"052721c9e7c20fc720f99440b022ea8078423541e62c0ea29c977caf5c442309","lib/libwinapi_imgutil.a":"6c7e2e560c7af9de94e1564940cffebc461879f0e3ff584cdf7b455cf721d529","lib/libwinapi_imm32.a":"cd915a1cd725b687422819b3c0ae2ce44b5c7888464ff0d2ff1676688adfd60b","lib/libwinapi_infocardapi.a":"4f18800709730f89f173de9326d81d06e2073aa27c7baf8311cd7f8e6d5dd667","lib/libwinapi_inkobjcore.a":"33e0db4e11e77ed4bc6114d45ca529939b3b77bab57cf87118c9c76e6bc02cf0","lib/libwinapi_inseng.a":"d195b7f2386197d31441b3c38a54984a645af9f1bdc55478ac0203b69c694573","lib/libwinapi_iphlpapi.a":"744eb5929f23063698b334b0215366127b56355245cd13b54ca3aad43538a782","lib/libwinapi_iprop.a":"0fb9770f187923cdab0a3651073ca541c1fbe73235648bd5de294b16416a84eb","lib/libwinapi_irprops.a":"23fdc1e1a97503d3ecb0e80e2ec2dd26b976a81f314d4f68f17fd7ae0baea612","lib/libwinapi_iscsidsc.a":"6eb819c654e9e5fff54eec5bb8a92b39d83e99735279ad619d21049ba021a66c","lib/libwinapi_jsrt.a":"7c763e81a81b50fa22fa4ee8ee7c0aca94a5b4cd5dd1a3ada92a0af9a92ee191","lib/libwinapi_kernel32.a":"0388f0d48e65b04acca610f1810bef501c45d73a2262214d78ef849dfc01587d","lib/libwinapi_ksproxy.a":"542c343abc37f44ed008029b6225a45a450dea4dd44914e2f3f31b2b776d42af","lib/libwinapi_ksuser.a":"66e034242fcf78b7855ee275a55fbab76f7601b20bdc6523792f5d5728685d32","lib/libwinapi_ktmw32.a":"cb3ea9233bf46cbf14b498678af82aa5b3334629babda943ae145d35c9b9a4eb","lib/libwinapi_loadperf.a":"58ad561fcfdb9cba315222570c314e2f4ca35b385a4d50495a44ce367552b1c5","lib/libwinapi_lz32.a":"c67ea712f48e6f585fdbaca006a1a5735992d341f14f368f7a0e291ea082bdce","lib/libwinapi_magnification.a":"dc6703ab97d304c5382be388b985e22b2e1b46f32b3b522b79d7efc1935f1709","lib/libwinapi_mapi32.a":"886643d423fd9dbfb68f33cead4f3b170eb1bea241d504545dcd3e8e573c6fa4","lib/libwinapi_mciole32.a":"b698d2060864952d2bf8014aa372e664cbbf198e893768cd6739f1469fa3d149","lib/libwinapi_mdmlocalmanagement.a":"9b0c642332bff843e4ab02eec8cd00d5d08c7d2d1047b203b022601ef6785760","lib/libwinapi_mdmregistration.a":"065d25244ce5c866a3489e54b8b7772d8a1e92cd95ea39e13b838ef2d6109c31","lib/libwinapi_mf.a":"136eff680a3ed1d47826286ee61a0a77ee7776b6cbf78751ae4e7683dddcf23a","lib/libwinapi_mfcore.a":"8d086314d9f2a5d8e1facd389304de147c064b428874ec1834adebc71581614a","lib/libwinapi_mfplat.a":"f4ef284f7c5acda4ad72ea27389485b386fe1f76405981695d4387323235a6e2","lib/libwinapi_mfplay.a":"5db7d76cd8a3d4689381055685b4d2d9b03ad1e346de02fa998dd0c46d630f8f","lib/libwinapi_mfreadwrite.a":"ce1ba6835835b16445a2dea51cb8957d1fb1fe3f26c2501c4aedacf40eed2d13","lib/libwinapi_mfsensorgroup.a":"641454e135aa030f835088d98b42c1b5ed9ca1d605fe9f30da94de9bd7624e7c","lib/libwinapi_mfsrcsnk.a":"edc08719f808d2d56157647e991573222112856f1e1d26f6bc91e00bfdbb302a","lib/libwinapi_mgmtapi.a":"9605a3306379c2857226758b2feb1bfb9db5bd6ddd3c959eac818b633438c1f6","lib/libwinapi_mi.a":"2a0dca38bb4338a37c77f5b8dd964a33392db42b8d2c7b91db0ed9c3443d01f0","lib/libwinapi_mincore-api-ms-win-core-com-l1-1-0.a":"0a768dd0f0cdfee293589a8d63e9831a7c0f35a3e8d21a537ea6860f924769f5","lib/libwinapi_mincore-api-ms-win-core-com-l1-1-1.a":"edbeed560863d20918f95425c1ad2f2036bd0c638cd391b13685049b34761e10","lib/libwinapi_mincore-api-ms-win-core-com-l1-1-2.a":"b9832dd7d7405f7a10170555afa6d34bd4589eba680da1e4e9418ab3e5dffc5c","lib/libwinapi_mincore-api-ms-win-core-com-midlproxystub-l1-1-0.a":"6dfc0a2c4d89b578d665551a7f4edf4d1f518821e74081a3cbcd79e10eb60f4c","lib/libwinapi_mincore-api-ms-win-core-comm-l1-1-0.a":"ddb31dfe647ed2edbbc9be435aefe222aadb9742af5986928c7d439dbd2aaa43","lib/libwinapi_mincore-api-ms-win-core-comm-l1-1-1.a":"b778aea784de837bbc7c5909cb30935d088aa952ff6d032ec14ff935cf6fd561","lib/libwinapi_mincore-api-ms-win-core-console-l1-1-0.a":"69f925fccd8af3f57b671bf3a0df5766d9152044ee1e7417b6846241464ae914","lib/libwinapi_mincore-api-ms-win-core-console-l2-1-0.a":"8cc653f70efe3f0429365811f1b135eedd70b07c485c6483dbfec4d3faf25b22","lib/libwinapi_mincore-api-ms-win-core-datetime-l1-1-0.a":"fd818a070d14bb364d6c880ea2ff48ccb60e63739eb9be6c86c5f54d2ad000f2","lib/libwinapi_mincore-api-ms-win-core-datetime-l1-1-1.a":"dd45c010f178a8b81c8c6c778d9e59ff2952b2cfd37caca1060b4165637936d9","lib/libwinapi_mincore-api-ms-win-core-datetime-l1-1-2.a":"cbadd8bab30baa53143b4083ab0b51a4782585eedd34687840ac5e7b409ed0bb","lib/libwinapi_mincore-api-ms-win-core-debug-l1-1-0.a":"a6e126bb0f223f14951a2cd6fefc3724c94936901653d2f4054bb37723725aad","lib/libwinapi_mincore-api-ms-win-core-debug-l1-1-1.a":"7fe5fb93c165948f5c364d856fb247f028d001990532fac5e738cf7952e6d86b","lib/libwinapi_mincore-api-ms-win-core-debug-l1-1-2.a":"3881a5490d4fda0b41991ed9205b536cb2520a79855599168bbe2520612a6958","lib/libwinapi_mincore-api-ms-win-core-delayload-l1-1-0.a":"ec0a01289b7f908e2162791e2eecb2ef36b93ed51921ec70ff2ea3231551202d","lib/libwinapi_mincore-api-ms-win-core-delayload-l1-1-1.a":"6f2e56ef3a7715a5d2916749b87004e87f483be10f847c9ebcd1bb983cb46638","lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-0.a":"05c6265c3d0a1fdfb345cbdafeec960ead6595fe1b0d065131dd43fd8adab78e","lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-1.a":"d02379934fb212ec84e9df5d3b0f21b7728775134509b55b595a3c91f26d03cf","lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-2.a":"682afd441ce478b1b7792b058934ef98690e096f3d944f7b2a52bc1158c021ec","lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-3.a":"fa8ed8f3f501b8d87437fd1689edbc3a1b3ca5f87b007e30cb998249eb03c1c7","lib/libwinapi_mincore-api-ms-win-core-fibers-l1-1-0.a":"406eef3acd78a7d0ed3a882a72dd5e3ecccdebaf72de13a376288525c8b5b67e","lib/libwinapi_mincore-api-ms-win-core-fibers-l1-1-1.a":"aaf79b1f6cdc1078564041ac49e438f2603aaf432b8cfc219190994c7d23b37f","lib/libwinapi_mincore-api-ms-win-core-file-l1-1-0.a":"63bebd6f1cb8a22715e72ed90ee2b5ea2d3b0eb400273775de4a6bb1533eadc8","lib/libwinapi_mincore-api-ms-win-core-file-l1-2-0.a":"bae933701c0c334170e98e8d495ed06de8b0d8843cba538ab63e4f66cc27a47d","lib/libwinapi_mincore-api-ms-win-core-file-l1-2-1.a":"ab106bafb84360fa31fd4326d5a1aed6cbc694682ca0997f6e780d43d0422505","lib/libwinapi_mincore-api-ms-win-core-file-l1-2-2.a":"810cc1400bd09c037ebcead50b625edc80025ae4325d652af14efce21c982d3f","lib/libwinapi_mincore-api-ms-win-core-file-l2-1-0.a":"1732b133cb5e7f1825546daddeccfc9848575ba92837d8fe420c06015aca4bee","lib/libwinapi_mincore-api-ms-win-core-file-l2-1-1.a":"d083935f4238714d013811a5c064b0fadcffe770e37c89054fbd8467b1b28c2d","lib/libwinapi_mincore-api-ms-win-core-file-l2-1-2.a":"148e266b040b29ce152a4d7627fea8081b30df0386dcf1d88be4c8bd0ff477b2","lib/libwinapi_mincore-api-ms-win-core-file-l2-1-3.a":"076f2e6cb81e13f8e81df3f59c8c3b7bcfb1a1e954f3ced5684e925100e73ae7","lib/libwinapi_mincore-api-ms-win-core-firmware-l1-1-0.a":"b60822892e24eca9a137c60b9919f6fabafd797284736e1033ea468502bf20f7","lib/libwinapi_mincore-api-ms-win-core-handle-l1-1-0.a":"66714b765c428ba3d48a87cb388572abe76eb370a726a201fee6ffae6b58c58a","lib/libwinapi_mincore-api-ms-win-core-heap-l1-1-0.a":"c0e31d6801d3ab01cbf7150b3cbd9b1f0d3de949064ac1c91cb315f199c9789c","lib/libwinapi_mincore-api-ms-win-core-heap-l2-1-0.a":"fe494eef68d5369999f3f955e543033ee66bddb10b220bf6752a9a1152d4e7ed","lib/libwinapi_mincore-api-ms-win-core-interlocked-l1-1-0.a":"b7655e26bd63619c3c441fc8909be9f7901bf66e68ea89744ac1b6bdc1bdd888","lib/libwinapi_mincore-api-ms-win-core-interlocked-l1-2-0.a":"0c08a4eb795089082da5f02100855804486f6456fc6490045ea2be6e8f78ffb6","lib/libwinapi_mincore-api-ms-win-core-io-l1-1-0.a":"f1ae60c245a584968603acafcf39291df60575ae54a6af91346f3cd55dbe60c7","lib/libwinapi_mincore-api-ms-win-core-io-l1-1-1.a":"a3c4ae167b393d11c804dfe1023011bad0355ba64dd1855764249ebd09d9546c","lib/libwinapi_mincore-api-ms-win-core-job-l1-1-0.a":"e9fde2a40ec9b032fc4a368e8c20310d6381cc7cb75461c7f765b3256723b48f","lib/libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-0.a":"90380759dce4dc4f4d79f313313883b79ad05dcf458ca6ae707a4c5135fc62b8","lib/libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-1.a":"aa6b6648ccd5ed03b82f95ce236f0e515b3370389791f32c768ea5b1e9cd698b","lib/libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-2.a":"9f8425260a2ea46de8c1ac47f3066cb9034320713d6c0256f600e5a68fc9025d","lib/libwinapi_mincore-api-ms-win-core-libraryloader-l2-1-0.a":"b80d4fe131e88cd1b7aff511f9a8801a24e8979d36ddbefd6af38e90c8b0f340","lib/libwinapi_mincore-api-ms-win-core-localization-l1-2-0.a":"2b8e6b1e236d1446210ae3c04478333be3b05affc61f2d87f79cc746cf3061b7","lib/libwinapi_mincore-api-ms-win-core-localization-l1-2-1.a":"9db8557b6d16de78ddb17aeda7a9ee53f5bab317bf8d6eda670af140613cea41","lib/libwinapi_mincore-api-ms-win-core-localization-l1-2-2.a":"cf24d229ed67439ba165ca88690733f6749cf96e6fc3389101744b213ce329db","lib/libwinapi_mincore-api-ms-win-core-localization-l2-1-0.a":"4a27c7bc16d1457f4958c11d811356b2ca8031d1294b49b0403e956476f649ff","lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-0.a":"bba88f3d4b15ebcddea1d24e5960e4b672a1ba98efa1aa4eea80cea6497ddba6","lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-1.a":"887438b3d8e0442cbc7249ebd56858914393aff5a450343355c56d2c58ec83be","lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-2.a":"9f3dab5af0070cd7803478647dfc1a302613af901bdb901012def3869e59ad0b","lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-3.a":"e821d0e25650112acbd7b4eb9e386a5a332328035b830f5cec134eacb0c86865","lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-4.a":"0db1359bfd1dccb45542ffd01cf506d3566d5c2373c3cfd2072beb3c1e6458db","lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-5.a":"fbd3c250b3903d847f12d6b532f42d55845a90f98d9ae824b4f6abea63c157f2","lib/libwinapi_mincore-api-ms-win-core-namedpipe-l1-1-0.a":"d174eee6bea84eef6ec5ae42bd6b22e238914d9fa5c78debc4dd0bd1f77d3419","lib/libwinapi_mincore-api-ms-win-core-namedpipe-l1-2-1.a":"93055270f2a4f829c54e6da5d183488c6e34b2f908a86c1b7b4f88cb2f7e4caf","lib/libwinapi_mincore-api-ms-win-core-namedpipe-l1-2-2.a":"520bbec5c993575fb8bbcab7f0e5324d1cad7b25b02ae9e9d4c2e1a37efcb0b9","lib/libwinapi_mincore-api-ms-win-core-namespace-l1-1-0.a":"3adce79118ad0d94c87d593ffe1d27cbe119671dc27e610d1d8376b0d228176d","lib/libwinapi_mincore-api-ms-win-core-path-l1-1-0.a":"84d2733438369fd440a732bb3a253a45f36489a3b91dbbce8bcf2adbc1af64f6","lib/libwinapi_mincore-api-ms-win-core-processenvironment-l1-1-0.a":"a769055d3f0d668d259b201a7cf7e5eca2ddc660c356abd3f2fd0e85cb4b2f72","lib/libwinapi_mincore-api-ms-win-core-processenvironment-l1-2-0.a":"5fcf5cc4bfecb5f85d3724f6ce0efc16ebef41cfc70afe7abcfbd18741d4ce50","lib/libwinapi_mincore-api-ms-win-core-processsnapshot-l1-1-0.a":"2de13a8f3b4c2ee0a255979e098c20b2a887b579aa14025d4b11af1462137fbc","lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-0.a":"6b41760bf3765dd0f23cc2e3ec7e47791c9fcd22b91bab90d6a4dff5b70ce7de","lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-1.a":"daba67d5d58df11f17ab5ba338527d9072b50a5c993d7dfac7cf9dfa00f28252","lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-2.a":"90ca7e44d4348b1fb7f748bdd555ebd46a13a4ed9ca5c2fcff013759a99d6bb1","lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-3.a":"99b6b7d260adbb22cfbde40c0cf4861687683fa0d466eb987c2fc45bf034dc33","lib/libwinapi_mincore-api-ms-win-core-processtopology-l1-1-0.a":"f284ac99690d0dba0c71a130ba2b76c7b3e8613c39a4bb24d3950ce86152dfcd","lib/libwinapi_mincore-api-ms-win-core-profile-l1-1-0.a":"5353045a09d71f476ebc7b5bfe997f771ed9ea5175aad5d71349fd0d9b1c82f4","lib/libwinapi_mincore-api-ms-win-core-psapi-l1-1-0.a":"3c68ee1e3dc7d727cfe7a59713388e15caf6c0bc815727687ff85c9e94fe938b","lib/libwinapi_mincore-api-ms-win-core-quirks-l1-1-0.a":"a41d662b9aa2b75d2850a4767df778c04dc2d84a6df30bf1f54bab12ee575635","lib/libwinapi_mincore-api-ms-win-core-quirks-l1-1-1.a":"399dca0788789249e60b9dd864d71d8492bf2fb4a40e3b7c7f1ef75e90e07a37","lib/libwinapi_mincore-api-ms-win-core-realtime-l1-1-0.a":"5ab31736b264962e259667cbbc562f3806a565997da9f6a4a856ec61b45cba35","lib/libwinapi_mincore-api-ms-win-core-realtime-l1-1-1.a":"dc73efb3037801cb681734dfa2bde7df449234f36cb8d96d50c8f717f20b423d","lib/libwinapi_mincore-api-ms-win-core-realtime-l1-1-2.a":"d5a4ddca6419ef157f40bcd53e586246f9ba406792c2099bdd018ff007992c68","lib/libwinapi_mincore-api-ms-win-core-registry-l1-1-0.a":"0f9f5987025d2a73d7bbb781bf5ee107a9a69d334ade820e762ff825d81e36a1","lib/libwinapi_mincore-api-ms-win-core-registry-l1-1-1.a":"6fc2f7bcd71a503b86ca4280100db839fd7323aa54a4213626d8b39d45ae98ff","lib/libwinapi_mincore-api-ms-win-core-registry-l1-1-2.a":"89eefb0e50e7742bc6449e92964588c149eb709bfd66e1c650177ca7e57abaac","lib/libwinapi_mincore-api-ms-win-core-rtlsupport-l1-1-0.a":"1e1d445734682622d17a01c68878c0e701394fb60b67ba5ac9048406a870bb86","lib/libwinapi_mincore-api-ms-win-core-rtlsupport-l1-2-0.a":"00bda2cb8e87172c51f64c9e561e083342cffa5e25f47a2af9cb3ce647063aea","lib/libwinapi_mincore-api-ms-win-core-shutdown-l1-1-0.a":"1be72599a305d240d3db2a5b2d14215dc6bd7523bb50f51581318c9a8142d9a0","lib/libwinapi_mincore-api-ms-win-core-shutdown-l1-1-1.a":"8cef705b7c111f4b419b1e3501fc8238ac8fb20e23e30a58ec8003a6841822aa","lib/libwinapi_mincore-api-ms-win-core-string-l1-1-0.a":"d50c3141fe9565a3d6840032fda736e661e5df6104c83747666cd48e02072138","lib/libwinapi_mincore-api-ms-win-core-string-l2-1-0.a":"453e9e4a96badb784e0d78c034bd6c762b54c9fd3a868337c5ee9b867003f889","lib/libwinapi_mincore-api-ms-win-core-string-l2-1-1.a":"396fc7787a3f8ed7229f764d7bef572e03ed177fbf240281e9feee523808803f","lib/libwinapi_mincore-api-ms-win-core-synch-l1-1-0.a":"7fe7823e6d066aee13460c2a29b7b1d87ac50c3434c03d178eb251516660becb","lib/libwinapi_mincore-api-ms-win-core-synch-l1-2-0.a":"13d8aaa16280287bda16a94140174e0f120acdd74d5ce9060a1af6258bb4e60f","lib/libwinapi_mincore-api-ms-win-core-synch-l1-2-1.a":"5bf2000f1448a7d9769a456262eed663762a757ebf9f32dc239044213e9b641c","lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-1-0.a":"e96433e23e06f4bb679d6597611b29f7b5ccbc5e2017d1cccb9476611f8ee7ed","lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-0.a":"d726f97fb99d6afe1d1b571531a91acb651ba72d6c5a88692348502c9b69fe9b","lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-1.a":"cb3bf9f785a332aaf67b35671dede4f0c5151fc01ee12ec2c24a1d065e201615","lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-2.a":"e14e1da2967718d7af259cc05bc92690effce83c2eff95de28201c9441df3352","lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-3.a":"c7629e320ce40ba12d269f5d0a0e7b42c1c77c247a54609842bc935dcc289481","lib/libwinapi_mincore-api-ms-win-core-systemtopology-l1-1-0.a":"7e48665fe920c9274ad9ad32efebf2cdd7c494f4e02a51a94b5c3c1fee37953a","lib/libwinapi_mincore-api-ms-win-core-systemtopology-l1-1-1.a":"3933565c0fa91f18e579aa50d13f3957983e785d8fc86cab1ea4e0c32004164a","lib/libwinapi_mincore-api-ms-win-core-threadpool-l1-2-0.a":"38978f8427f5ce000c303ef76be6c8c3b53bd77232f09d57c1fd09cca3b10a96","lib/libwinapi_mincore-api-ms-win-core-timezone-l1-1-0.a":"deb71b00625e45b52c77a86b20b6ded210231cd8393f408aca36b53f87d14777","lib/libwinapi_mincore-api-ms-win-core-util-l1-1-0.a":"39430cbe7717727cf39c10d6daa268b2c6d2bd4edafb321aa47804471152894c","lib/libwinapi_mincore-api-ms-win-core-util-l1-1-1.a":"023c1d785eb7eb05f68b09cdd4e705f726dcfe12132ba591ecd49a978009392a","lib/libwinapi_mincore-api-ms-win-core-version-l1-1-0.a":"e3231d5b7ed82b40539d6cce58770f486be5e540e1b34074fbb71dc8434ee684","lib/libwinapi_mincore-api-ms-win-core-version-l1-1-1.a":"b56a474c026fd90945b5c87ec250715abc675db7efbc9de72f05e2b81f8bb8e0","lib/libwinapi_mincore-api-ms-win-core-winrt-error-l1-1-0.a":"c1bd6e9c3070c8bc1ccec1a070fb0fe4845e26f2f9319ef8d5ce2f296eeef376","lib/libwinapi_mincore-api-ms-win-core-winrt-error-l1-1-1.a":"d4c9658171d702015fe1f09d189773d08f92287572ff60d9c9b5880818ed6a79","lib/libwinapi_mincore-api-ms-win-core-winrt-l1-1-0.a":"8bc675d80fcf0c76eabbaad929696820993e8033039681bdf587e42d274bef0c","lib/libwinapi_mincore-api-ms-win-core-winrt-string-l1-1-0.a":"f4f83aa4ca2fa88a9e5f30ec1a249bc3345b113b250193b5516fe0d363221b12","lib/libwinapi_mincore-api-ms-win-core-winrt-string-l1-1-1.a":"96bc5168f805d40107ffcfb3240fb91cb0cc8f543f8d11fc2f44ba9b68d016f2","lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-0.a":"961ea44da0db20c1fc5fc3b55c38ff42a21bab671e8f3c28718a81ee7d0443cb","lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-1.a":"d741c43543343760166a79eb8ef5053f5bd3722d9b0018130352e187a3246c7f","lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-2.a":"aceef78b2dd9a72d3166068015a5f3df6697701ff7044524af691a209e466eea","lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-0.a":"9f67b5ecd99ebf53c56456d6ec1e8a9c8985417a0dc51b8be68980a1b8a83ae6","lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-1.a":"24ec470de618f9dfc426e450a07cb85cab05235d81077f3477f1ffe7ce0c9e5b","lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-2.a":"4399c090ea8eaeb449e06419afc8287ed6a56e44f0971e25d4ac6b9b0b216f4d","lib/libwinapi_mincore-api-ms-win-core-xstate-l2-1-0.a":"5a91eb1a242a21befd15584e5a4741e25d83186a42c58aa921630d2937da1bb6","lib/libwinapi_mincore-api-ms-win-devices-config-l1-1-1.a":"cf9810fec10165072812b8e31a3a951e73be581720ed19a562ad82cf465c056a","lib/libwinapi_mincore-api-ms-win-devices-config-l1-1-2.a":"780cfad93f3fc5e95ebec5181045ccb1426bc385253ce2668c483efa39c1b404","lib/libwinapi_mincore-api-ms-win-devices-swdevice-l1-1-0.a":"d837d7329ed6767d0487c814916fef36335a460fe1f62fdb85b46d36747c8d6a","lib/libwinapi_mincore-api-ms-win-devices-swdevice-l1-1-1.a":"3f85f22ca21b5df8e6173522085649e67ce84da16b77e9cae3d80c9f0e3ecf66","lib/libwinapi_mincore-api-ms-win-eventing-classicprovider-l1-1-0.a":"22e024a0968fd319b5b65df792f93e15116b50575911c0f7f1502dc1d8c70bd5","lib/libwinapi_mincore-api-ms-win-eventing-consumer-l1-1-0.a":"6cb298bb1a9908a2912c331e19774fc19bf80ead0f4cb63c3fc659f79035617c","lib/libwinapi_mincore-api-ms-win-eventing-consumer-l1-1-1.a":"2c6898a3d5bf294ec96de606bc608827dde28e3d3a185b741915ed9045564dd5","lib/libwinapi_mincore-api-ms-win-eventing-controller-l1-1-0.a":"a39ed9b36bb3cc0552d79ef532fc7e3cedfd67e9936e8bc08192b9c0aca2a9fb","lib/libwinapi_mincore-api-ms-win-eventing-provider-l1-1-0.a":"a27242e68654421c9b4dba80b1ff3389854dcf112258cbaeb20e5476a125d752","lib/libwinapi_mincore-api-ms-win-power-base-l1-1-0.a":"d136c5fe2c00a2318b5417bacd8eca2497e3d2446fb17e88af179588110f59ff","lib/libwinapi_mincore-api-ms-win-power-setting-l1-1-0.a":"5f15aea882f82ee5dc2d8d754a362ea04c5a4f862f03a00f7e74b0abbae984df","lib/libwinapi_mincore-api-ms-win-security-appcontainer-l1-1-0.a":"db86b02c2a0aff2984244461868a6b071b98765f4ab0b51b82c9e041eecb913f","lib/libwinapi_mincore-api-ms-win-security-base-l1-1-0.a":"2c5d63db76b846b908ce0b2d3baf783c140a536030d0baf7c658ae11b3fb1d1b","lib/libwinapi_mincore-api-ms-win-security-base-l1-2-0.a":"34f3af57df1e30cdaf70db34222df8e00ca72865be76b7242304aebb69c75465","lib/libwinapi_mincore-api-ms-win-security-base-l1-2-1.a":"8f2a38ea004085ebc2a424842ba7bc2c8ce9b15856823ce3cef74b165be9a06a","lib/libwinapi_mincore-api-ms-win-security-base-l1-2-2.a":"318c666ff4a8cd75cecb55526d5b42215f7020562c8577aa01276372e4ff213d","lib/libwinapi_mincore-api-ms-win-security-credentials-l1-1-0.a":"a1694e7a1b3d1a3fb5b22f93f4c06f400c017fed99e137521ca02e263b70c829","lib/libwinapi_mincore-api-ms-win-security-lsalookup-l2-1-0.a":"a68cd2ecff6a805f1f85200d5c2cd90e5a89745f8a78e57bfadb7442723cdbf4","lib/libwinapi_mincore-api-ms-win-security-lsalookup-l2-1-1.a":"add16314ad45f91498b7a7c2da6a34c6475455c0a866f7631b8ca5326153722c","lib/libwinapi_mincore-api-ms-win-security-sddl-l1-1-0.a":"c9eb0c4a5b7350b06e37638dcb4335cf7fe77261a89ea1a90201d066f85b1d1b","lib/libwinapi_mincore-api-ms-win-service-core-l1-1-0.a":"81a070d545cf9f7f9f8923c5de7368276fc061eecba8535c5437632d96f613d6","lib/libwinapi_mincore-api-ms-win-service-core-l1-1-1.a":"3bf1941875d31d4d2c7095647d366883efb613c23a983695f38de69905e22a0f","lib/libwinapi_mincore-api-ms-win-service-core-l1-1-2.a":"13ec744c7560f2a192b50b5bf23ed4faa59325f1048377f7a9844a47e2087dac","lib/libwinapi_mincore-api-ms-win-service-management-l1-1-0.a":"b8b7db62594b714406368918089a48868ca3b1cbfbf5e8440911a13b5bf28594","lib/libwinapi_mincore-api-ms-win-service-management-l2-1-0.a":"2ee6f8b431124f281650c94b544fd734c7719071b491d7b0fafaf71a9e1fdbe2","lib/libwinapi_mincore-api-ms-win-service-winsvc-l1-1-0.a":"16a711568a8a1ee771c8eac1508a27605f240dfce72e9162f620474c3b186ffb","lib/libwinapi_mincore-authz.a":"e99db6195035386f6848a397f465d23201e5f6c132901ab2e29b179467fdea7b","lib/libwinapi_mincore-bcrypt.a":"5f4d9f4146e24ac50ac50e846bf62088f99d23b5e55cb03e6a32661057822fa4","lib/libwinapi_mincore-cabinet.a":"c1b3263b233e95742a438e628644a7ab4014ff4e3b01547850d0832f4eea2674","lib/libwinapi_mincore-crypt32.a":"e84423856f2d7b5dda7dafd0843c4d1fdfa656f1b61677bd68edfcfa3fa84658","lib/libwinapi_mincore-cryptbase.a":"3566bd4fa7a9b4f441a6ba4af984ac0567e024d01efce922b503176f0a56ea97","lib/libwinapi_mincore-cryptnet.a":"92a5d8dfb436ab9792312d397e98d91f9b95771af48cf925fd3d867ca73d2823","lib/libwinapi_mincore-dfscli.a":"da814011c527a253e71a397b76595ac7a387c86c1bdfeed8e01209a260dd4fdd","lib/libwinapi_mincore-dnsapi.a":"14a2b0ceee12116cda15871aa7e0292c35452d7e6406a51e1708b4c8484ca5df","lib/libwinapi_mincore-dsparse.a":"11cc209fd1b87a1b2a68c7124e1d89da2a4221b591cbf6ce67e338b1183baab4","lib/libwinapi_mincore-dsrole.a":"61fcffb3afee81be3f3615d9ec09e875d5a5529c2f63c182a59b6c6fcc529158","lib/libwinapi_mincore-iphlpapi.a":"835004f7cb51eca876d2f85bbe6ad43260da907e10b03e019c188ee951de1fbb","lib/libwinapi_mincore-logoncli.a":"e5dc889da62fc4baad78290998d9bd22b843e7cf119fd7845c7b9e9fe1a77e65","lib/libwinapi_mincore-mpr.a":"dd07ae245db6f88c8d29f1397b0df0e9c44b2422be551e16dcb01c5a895636bb","lib/libwinapi_mincore-mswsock.a":"f48d2a370a9d62d46cf272a08629c3713eff8b9ecd2c16052e1cb5961f10a0cf","lib/libwinapi_mincore-ncrypt.a":"9c37a0e796b74654ee8ff25ae005ffa314a845255c74ff9e2c491fcfb8ef321d","lib/libwinapi_mincore-netutils.a":"68ad06d0fb08607b070f053286fecfff083ebbb456d631b209c62db4ad117134","lib/libwinapi_mincore-oleaut32.a":"fcec9caba52ef935cc1d0aa3f5e05aa56851446f2e6a864a7c152d4ec1afd978","lib/libwinapi_mincore-rpcrt4.a":"c1e4586166db2f2a082ef1c0018c6739c58bd343962048aaf4dce07ccc47ddd8","lib/libwinapi_mincore-samcli.a":"f5063f8c04cccf85db4782020c4cb4642e66850a259f7d63ac1c3d08909a827c","lib/libwinapi_mincore-schedcli.a":"2e84730fb110f1a0c83756145ac627b80450f847a64eca8652e5ca3044c5d5b0","lib/libwinapi_mincore-srvcli.a":"a79012855d575dcc1330d2619778b26e1956dc3e7bc0f4b3684e178a7be3088a","lib/libwinapi_mincore-sspicli.a":"5541c31892701510763c94b9eec15348a3886c7f6704f7c761ed759c2782a539","lib/libwinapi_mincore-userenv.a":"f3ca99855c0220cba5a1ff522d059f88ce269ea9d3726badafd73b40e3d44883","lib/libwinapi_mincore-websocket.a":"f5ee7e537a4f7d7c1bdafb5287aa437d5411010b41fb8a8eb6205b4aacca6458","lib/libwinapi_mincore-winhttp.a":"04a5911f093e885a5f14e0907d5ab3edbcaf43b4b060d45216ea435e52b23fed","lib/libwinapi_mincore-wkscli.a":"cbaf2dbc36dc6d77889dae85012523d40aa755f1489c4687eb7054ca6b6f8048","lib/libwinapi_mincore-wldap32.a":"fa72998300a3430697b64b3cbe4bade361ac705d5dc429572e1259e66c703eba","lib/libwinapi_mincore-ws2_32.a":"9e3911f8a7bff472e039fd91fe9acdc181aed3bde9a902ecb739e56ad48c699e","lib/libwinapi_mincore.a":"6825a9caee041465fd378b5107dafca1ac6cec81e60f0de331912985da0edbb3","lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-advapi32-l1-1-0.a":"753630af44454ec3c92ebfb3c29d85a9590118608a111bac7657f0f06e36ed80","lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-advapi32-l2-1-0.a":"f40742474b39a3aa908e3c15dab78de4f73fde4b4ed9ff9cc8f38a4a3e6bb776","lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-normaliz-l1-1-0.a":"521d37a4d77b558db157129ec34f1a9cec364f82021f7f2c9a4c42ff6d9ea8b5","lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-ole32-l1-1-0.a":"21afab5e6b411cf9f1b8839c352314229aa89af03a16cfe9d1428ba0a8941ade","lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-shell32-l1-1-0.a":"c66675b5475c93e63dcbd4e3001a0e7ceb41eeeba74e3619935ba27c7511d59e","lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-shlwapi-l1-1-0.a":"ebc30c785e96e1b2b802ca1e997fd1ec6966adfc150ef5b97c761f8aa49b7359","lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-shlwapi-l2-1-0.a":"a5c180c4f39d4922449fc20bc72f1cf8bd30d768a56c00b12b19050ab52ce99a","lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-user32-l1-1-0.a":"f3aa55bc305ed82258dc9d21fee4395f85a3aed1de0db1931817c3e75fc70f81","lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-version-l1-1-0.a":"2f0fceb87948246ec375e2496fea888e2c99bddc0b953a06c953666ed3082688","lib/libwinapi_mincore_downlevel.a":"3d70f323b3fca7aef18d833b72ca3fbe60d376af109a1b4a919e6bcec22d860c","lib/libwinapi_mmdevapi.a":"2d79710fe620fd4f3ed41becab17a6c4923fcd1c0929700fed0d18d6d3514e02","lib/libwinapi_mpr.a":"680c8e016f20cb6e22a2849368e55643551f0206235b668d3893fa42d2144090","lib/libwinapi_mprapi.a":"3bae5791f784d3bf157d27c021c8e594964d4651ccef317822d4b2a17b9a04ee","lib/libwinapi_mprsnap.a":"5aac04f6244a965e8c3fffdf28de78a09fd9313c69b9e127528f174eacf057ba","lib/libwinapi_mqrt.a":"ca0c39e4301366ebede9384432054b7bc69cbbb0714af59c94ccab4ded35ca00","lib/libwinapi_mrmsupport.a":"4c877ee85c1c91721983488eb58ed617f672aa007e5ca631075889c845d95e8f","lib/libwinapi_msacm32.a":"93d5738ee1d7ea8239408436b074c43d5fbfd8f459543cb730d3c79d21ef59a2","lib/libwinapi_msajapi.a":"645e84f8175f03112007c3af7b06cfe11962d8b8dda6267ee9de8239a9543019","lib/libwinapi_mscms.a":"47fe5dd1a3a5d7c3c262701341a8228c3bae0a5e7aa132a58d4e583032997054","lib/libwinapi_msctfmonitor.a":"9fd55476a28cd5fb3329d79a0c4876222187944093fbdeece837f0123dead523","lib/libwinapi_msdelta.a":"037e08c128576a4801ebe10d5399b5932698e4c50e0885e9b6555b3f97d04afe","lib/libwinapi_msdmo.a":"bfcdeaeb2ebcfacf5d77c7985b4e647601bb018c737f8778c37562dae755bd96","lib/libwinapi_msdrm.a":"66f327106d29dadebfe6263fa5f734a3c3036d989e68cf739521a5ff66bb06b1","lib/libwinapi_msi.a":"98e5ea9ec823ed5e1b44f8732d5a897ab6e5d7de1d87411d2d4a8ae6ee4db5fc","lib/libwinapi_msimg32.a":"2f2d8c1fe1cd2fcc9e0689210e8a992423e32ea50ca030f92dab5f38e28377df","lib/libwinapi_mspatcha.a":"bf373ec37fe1f869b803cae997cb9d1304e9d2014b2f36677937f4adb5728bec","lib/libwinapi_mspatchc.a":"2fef8c9ec3f4185c20d4b8c20bdf97e97c5a890b874f2e2afd927e374079e3eb","lib/libwinapi_msports.a":"bf82dbc15ac2c02eb19e32b9dd6fa7ff840e85bff591ef63c69b3f4cf1fc1aa3","lib/libwinapi_msrating.a":"45df5b0e0f916e71d591195d6e896f21075d3ee2d455bb2b6400c0c050c44453","lib/libwinapi_mstask.a":"e5722cf20ff19d01ecbad869a1f609934e17b9ae350d424c5e3c5e73d5bd779e","lib/libwinapi_msv1_0.a":"62f3792e17ee38d086f544f0e750c5a1f537b128281c1ac4f5e687e636977e59","lib/libwinapi_msvfw32.a":"742e7b83ca4abbdfe708e1f5a5028bb033b3bf7c8004f8b7b9ee5dd0827ffa3e","lib/libwinapi_mswsock.a":"fdf2482eb3b9876986d8fb8b76d98da74f2abe2e65b1ddbdb9e76a3a2ba9faf6","lib/libwinapi_mtx.a":"97ce797761704ecdb75986c0cdfec06cd942af626da3d98ca614fe90cf1b1783","lib/libwinapi_mtxdm.a":"80f87abded3d644a60c25ccb693189f785e0eba3d831d97481ac7b91970da6b3","lib/libwinapi_ncrypt.a":"64b382c756d3047a29c5cb9af53003ea639c2f216298b2a7fa867eda4147c932","lib/libwinapi_nddeapi.a":"3c316dd45fe6bb0d26a6bc18d0859654bc8ecf7a2115d0623fca8dfb3f892bf3","lib/libwinapi_ndfapi.a":"618fe36ac1a948165c197df523696e4fdfb7cbb40da53c68eb349daafb947124","lib/libwinapi_netapi32.a":"bad05df64806485c12fe425b62cd56dca9757195db23383a28f2e80a3033f0eb","lib/libwinapi_netsh.a":"93011663fee375bd21bf79955495acea760ce0982da464983ce741afc94563ba","lib/libwinapi_newdev.a":"4b4c90a7ac3abb42db40b26a4c02b4eb58ae62ff3cd58af1cc15d4349a95bdbb","lib/libwinapi_ninput.a":"ab64698e33cb680fbb68d70de33615932dc10c16d436c8097dda7ad0cd662da7","lib/libwinapi_normaliz.a":"d6feb9a233918d62f9454a71a1b7984182bd243491be1729d4f75c9e4148ad7d","lib/libwinapi_ntdll.a":"1592142cd1e0bb1d7a67e4dd5aa6d08317db172674abe24e00b4562d272fdb35","lib/libwinapi_ntdsa.a":"eac08fe7f827b4a46b19957629228c4d070e8f38592c07cd6a17d6a60ec0cf3e","lib/libwinapi_ntdsapi.a":"f304dddd7a4b9cd1c3d43f1fae4931e7512bf31f752f7e44539721b75b9ccc14","lib/libwinapi_ntdsatq.a":"9771992eaae766af41ec3f7ce6dc573542126db45bb9221f6f788ec08efaced6","lib/libwinapi_ntdsetup.a":"1f81ab7713b55bdf9ef1ad78a97cd73b2d66b4dd633282f7dfe0329d6f35ff54","lib/libwinapi_ntfrsapi.a":"2dc8b0078f2c7351acebe9b9c86c55f125a9472855c4209b07cddf71e60ba077","lib/libwinapi_ntlanman.a":"ef144c29c940a04bb2dab839b5f00cc319273e6e2f611aee2acca8e8a16c0af1","lib/libwinapi_ntmarta.a":"5e5174c266e8189fb3799666aee9a1bc1c455f36dc38b26c326fcae61c3140c2","lib/libwinapi_ntquery.a":"bfab792990bde5de31c62b4f13cbc641cac611cc9ae5245c3adb166207ec52db","lib/libwinapi_ntvdm.a":"bd6d965ab94264566b978b6e1b814ad077a4ae79cb4c0c48c4b2f4e7cfcb7d4c","lib/libwinapi_odbc32.a":"70ade3b90849ecfb16285ce0dd664d0994fe17df23438d17da4214b34e8c2013","lib/libwinapi_odbcbcp.a":"a4286035e5d4bbef4dd81f7625bf7f8dc08e18893204091d9b4ca57ee45debb2","lib/libwinapi_oemlicense.a":"0b7a4c869927a60159e6fb52e0a770edcc762d78a8527d7c13d97b315caab8e3","lib/libwinapi_ole32.a":"7b6f2c7046748c82132ef02c85e66f32d98c05f50aeae8343dd9b85cc387dcbe","lib/libwinapi_oleacc.a":"d2fa43b88db071e48699116521e257246abcfc821f5996707d60214b9df9f75a","lib/libwinapi_oleaut32.a":"5f382f9501450e65108816190e1edf8661de0b83e76476732710f6bbd080c391","lib/libwinapi_olecli32.a":"9e69e6423b631c566735c8b696d3b65d0aa81411b8fbd08c079c9b539f591cc4","lib/libwinapi_oledlg.a":"eb5b1dc4a96444011e21ab25e1ecc8346e46255ab012b8f50d340fbe1f4947d6","lib/libwinapi_olepro32.a":"c2bb05450b0d75ddb2cfd724fc2353ad052e1e6398af67ff47090d6d63ae1cb8","lib/libwinapi_olesvr32.a":"8118417ac2b6266fb92873af089a55a9a8b52b64ac61ce5a156d4bb6064a3bb5","lib/libwinapi_ondemandconnroutehelper.a":"d5f4267a2f92a18b0a9c9a62c399466dd2b5e5c6c8383d41961992f23fd89888","lib/libwinapi_onecore-api-ms-win-core-atoms-l1-1-0.a":"7ce33ab13f8df12229ca991e33fed617cd4f9aaa9d190af14f975ae07c44062b","lib/libwinapi_onecore-api-ms-win-core-calendar-l1-1-0.a":"9ae8b55b700c97e5c327e6b39cbcfaa66648876dbefe21b7eb5e2b159a9f18b9","lib/libwinapi_onecore-api-ms-win-core-com-l1-1-0.a":"f3e4312912dc7cbb61414318a4c2966a7b0c80551be23679e0f58548864d7955","lib/libwinapi_onecore-api-ms-win-core-com-l1-1-1.a":"e314b1f3fab2a56d2d6112400cd932bb7cd3e95a09be144bc665e0be5480dc43","lib/libwinapi_onecore-api-ms-win-core-com-l1-1-2.a":"6aa14e1c117d293d295ee1568a3e6a81d21f15a0f155646c10c5cfa2224ae645","lib/libwinapi_onecore-api-ms-win-core-com-midlproxystub-l1-1-0.a":"a949240ab052c52430aa5349a284bbab08e790a8aad25f37cf9467537616583d","lib/libwinapi_onecore-api-ms-win-core-comm-l1-1-0.a":"98bd85008746e5c33aa8de5a40171fa578e33950c6c4645a965833f4c1cdd062","lib/libwinapi_onecore-api-ms-win-core-comm-l1-1-1.a":"b61e46a85881068c3bb64ebe00623482dc1bc96476130f9ae2b4248fdf8d1fd6","lib/libwinapi_onecore-api-ms-win-core-console-ansi-l2-1-0.a":"fff26f99c7f76b1e074671efc4ceba790e555fec74a8f34c725736060c200082","lib/libwinapi_onecore-api-ms-win-core-console-l1-1-0.a":"b82d11e22cb47b53cae43f7f0ddeddebcce8e7436e6353dd955ffa1b36feafe8","lib/libwinapi_onecore-api-ms-win-core-console-l2-1-0.a":"9c2c3c24387d5a46885802bb080c0baa05bec2ab1b41e0f3ed003136023ab534","lib/libwinapi_onecore-api-ms-win-core-console-l3-1-0.a":"97dedb121055645fd946238998374d81a8dfab4d8495a2e3e6581aa4827e88b0","lib/libwinapi_onecore-api-ms-win-core-datetime-l1-1-0.a":"370c50c9d69d0dea47756ee9129c0358a5a0730cfd9cf16cb3bf38a293d270e2","lib/libwinapi_onecore-api-ms-win-core-datetime-l1-1-1.a":"9164e60e37d8bc70987abce632fb608c4e804581070a244abb1e8e2c477bca91","lib/libwinapi_onecore-api-ms-win-core-datetime-l1-1-2.a":"2032dde8a93b2fff4427eb79d561dd67ed550cafb00f066f823e4f686ebc87da","lib/libwinapi_onecore-api-ms-win-core-debug-l1-1-0.a":"c825d6d04a0e302786c8ed95b9a2c2da747d3eb13f90afc96b671a356d982f09","lib/libwinapi_onecore-api-ms-win-core-debug-l1-1-1.a":"76c7ef02046d20f400874ccbb68eb9e1653fdbf1b095cb42f95d665eabce099c","lib/libwinapi_onecore-api-ms-win-core-debug-l1-1-2.a":"ea26792152225541f2649c57be0431ed4c444b56121a9d30e56c9913f235ba71","lib/libwinapi_onecore-api-ms-win-core-delayload-l1-1-0.a":"3072b4a9bad48fdd1f3ada0787b455580665f677493630e152aa6fd9d48a1af9","lib/libwinapi_onecore-api-ms-win-core-delayload-l1-1-1.a":"2abf03e85a577726e4ab1b5daa83bb6b7d0e909857d22dd14199180b809aa463","lib/libwinapi_onecore-api-ms-win-core-enclave-l1-1-0.a":"0439a0a7bc74a01589f3c55f2d149976c51c80fa021e72379dcfd7174fad3cbd","lib/libwinapi_onecore-api-ms-win-core-enclave-l1-1-1.a":"584da1dfd8c18c4bb67768da13ccaf85831df644f64a6fb30e5c9a3463ddb728","lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-0.a":"b5de61d47e252cdc6c268777c9fdd3300a1ccdb62d3049e299d986d2070773e4","lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-1.a":"c17226cb3dc4da0b2f16ed8cc538f2f666ba5341a0a506e99ad982147a6fe278","lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-2.a":"757fcd24354081b7d79ff164e865c1427f49de3b20948ea4170c453c460c018e","lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-3.a":"a2db8dca687000a7e1cee4382428fb8e325a9d76edd9bdef1e0d231dce42b48a","lib/libwinapi_onecore-api-ms-win-core-featurestaging-l1-1-0.a":"5d6e77c87c0429e8a22b69045b1c11be1818a1b656734bc5f84d3da355b0effe","lib/libwinapi_onecore-api-ms-win-core-featurestaging-l1-1-1.a":"6b9373447d69641afa916ce0f5ddec0f29c56e20d78f8873a65d61a70b1de500","lib/libwinapi_onecore-api-ms-win-core-fibers-l1-1-0.a":"66ca30c41fde5c4a99abfe5cc2146636e5b719d557af9abd77a90f8dc9b00032","lib/libwinapi_onecore-api-ms-win-core-fibers-l1-1-1.a":"eb51ac48674d0f9d338cd12156a216fcc3904c9efd058c3d2a579609f3c04987","lib/libwinapi_onecore-api-ms-win-core-fibers-l2-1-0.a":"fecea4e014a4034a23084021f068a6918ccb99f4ad495fcf93f16ab7d6c1a04a","lib/libwinapi_onecore-api-ms-win-core-fibers-l2-1-1.a":"d126b04f4561358fe1040eeec70186530de9e6667d9eb39b8a6a87e2488c354b","lib/libwinapi_onecore-api-ms-win-core-file-ansi-l1-1-0.a":"1ae79be5539951386656160661d39f0b4eef82464336a91443a7cbec41f7f3f7","lib/libwinapi_onecore-api-ms-win-core-file-ansi-l2-1-0.a":"5b1251a929535a44ddf256f4c5bbe607bb1ed66d444c6630c0e936598293e21e","lib/libwinapi_onecore-api-ms-win-core-file-l1-1-0.a":"2148eba5a06d1348001981c08cc4066ba7d65f4432b8aa88f0c422b80f19b36d","lib/libwinapi_onecore-api-ms-win-core-file-l1-2-0.a":"6a68a5ec48ea223c786f5bcddca1e04358f63b536217f2b014554388e392dd72","lib/libwinapi_onecore-api-ms-win-core-file-l1-2-1.a":"771cfff31cb38327610579cdb123522ac32432794be9f601bc4f83bfc2aac4ff","lib/libwinapi_onecore-api-ms-win-core-file-l1-2-2.a":"0c3fcfa360a3163168fa0951c3f61772ea7b50cd521539ea5424e897085b7412","lib/libwinapi_onecore-api-ms-win-core-file-l2-1-0.a":"c27e89c1639e2380837b01edba5fc3cbaf4bb3078c8e7a661e008a1a7ab0cda2","lib/libwinapi_onecore-api-ms-win-core-file-l2-1-1.a":"ea3d8cc0c78d730a56b0d4b9ab93fc6afbf1309f2e481bd8b590d3a128011faf","lib/libwinapi_onecore-api-ms-win-core-file-l2-1-2.a":"3de9d7a4ad6acc06f2a522ca536959f50ef35eb072f71991ab7e2bacf8a012eb","lib/libwinapi_onecore-api-ms-win-core-file-l2-1-3.a":"d1c4172bd2996b5ef4340bdc1ad96787ced73baac1d949d6cf35d2c2a38bf31a","lib/libwinapi_onecore-api-ms-win-core-firmware-l1-1-0.a":"0aae856a71f3126972c06a184e4550586744d0e88eda0a4007f1e2e87da984b3","lib/libwinapi_onecore-api-ms-win-core-handle-l1-1-0.a":"1968042df145c916017c3a7933e0014ecbd5f93e5c9065435f5e2bfcbb907820","lib/libwinapi_onecore-api-ms-win-core-heap-l1-1-0.a":"feffc41ff97440175ea1e188eb31a504d1e8b6e581ca2c6155f3fb859ccab2f1","lib/libwinapi_onecore-api-ms-win-core-heap-l2-1-0.a":"dbadd682960ea85e36d9d785684ac1bae01ad71a175d62247caec06045eda86a","lib/libwinapi_onecore-api-ms-win-core-heap-obsolete-l1-1-0.a":"6c0414ae95319079f2deff62274cac9e41b8c677dd59c6f8db128ac395d7d89e","lib/libwinapi_onecore-api-ms-win-core-interlocked-l1-1-0.a":"34d058aa1622e922dfbb8ebcee6f64070191fd1116c85d8ab409298e9e216a1d","lib/libwinapi_onecore-api-ms-win-core-interlocked-l1-2-0.a":"bcb0745904648e1ca6c4ab1c9dc7f4222c877bfefa3f1d064a79cd7bc83cf262","lib/libwinapi_onecore-api-ms-win-core-io-l1-1-0.a":"441dfb6c4d99734a6ed891497eb938d0296f40cf42a8eda197bd50c6885e163d","lib/libwinapi_onecore-api-ms-win-core-io-l1-1-1.a":"cf941cffa0d3b8a888bbed9752c9f5b0c03d553b6d199ff6258c19f1452d59b1","lib/libwinapi_onecore-api-ms-win-core-job-l1-1-0.a":"b293df0ca91ae8c286b46e06ad2969d8041be6fe20d5052fc20c0d57dd46bbd5","lib/libwinapi_onecore-api-ms-win-core-job-l2-1-0.a":"f29e41ba33e081765dba0ff04a961d7bc0673f9cf7e49351aa3ebc2446596cb3","lib/libwinapi_onecore-api-ms-win-core-job-l2-1-1.a":"4b4460884be3397e693d3ec6eae9e98e39405eb16028c2b09f7f90886d04cf38","lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a":"3ac3369f2a9603d9c71b2e560c94436b58f50d144753a13cff85e1a410fd5fba","lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-0.a":"5ca6ed6ff56a1c79a55399467bd3378a2033e438a5caae478a98c4993c3ef5fd","lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-1.a":"6a493082455ec79ee94c2ec8855dbc7009f9ee0001bd0aed5e58042d6fc75efd","lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-2.a":"88fdddb5f66280d31962782a02c4763196d6e518475ba573fb1d3f069bff30df","lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-3.a":"d4a5e8cc328af09f59246f0c9b7e3d35cf0f4343946a622f39e3f920294a37db","lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-4.a":"53e09de7b3daad97ae55823d82a3b7835926499c8c05e693b6c050c39e9e69bd","lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-5.a":"510c0da995c955e2bb644eaa9216f23aaac0112feee526a0546757be2409729e","lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-6.a":"debe275148636bfb197070e7fe2c50cdf09da53ebfb5d4ee997e925157f3bcac","lib/libwinapi_onecore-api-ms-win-core-largeinteger-l1-1-0.a":"595390057644c4a29afee502797c5db21cd470aee631b79e4c45320607c46b4a","lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-0.a":"181e309b5e204ae6f024bb0179a87202b60403eda9984be1924116cfc474f212","lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-1.a":"4c8c0b639bbfb3601c206405408fc9eee0317c50b9a4966a2dd46c87702559e0","lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-2.a":"361bdc6179d8dd066c66e8f5c43be9f85d5119c55cd4622c61869bd94168c80c","lib/libwinapi_onecore-api-ms-win-core-libraryloader-l2-1-0.a":"0db1bc8a5f3b4bef33e5443c991d3ece14833e2b28e925777ab48c5b4b716b5b","lib/libwinapi_onecore-api-ms-win-core-localization-ansi-l1-1-0.a":"a954ea83bb16f191fcd6c1ffa4954437c1aa587ddc370c6d0717a05aef6b3839","lib/libwinapi_onecore-api-ms-win-core-localization-l1-2-0.a":"ff332e34ef131f3f0fb62304e6671a507ba984be58a75ab26f52267ac6231d97","lib/libwinapi_onecore-api-ms-win-core-localization-l1-2-1.a":"f51f7ca530a6edd45a0bb824064a52894a511bf9bcc1cf1e81514c1e9ede7821","lib/libwinapi_onecore-api-ms-win-core-localization-l1-2-2.a":"e210ce2302727ea65ce9e3d651a908ddcddf0a160567fa00c0083c0f9f90aafd","lib/libwinapi_onecore-api-ms-win-core-localization-l2-1-0.a":"396c2c716fe85d651568681d6bc39b75754cd62d1d252a39ae3a4cc5fa50dd0e","lib/libwinapi_onecore-api-ms-win-core-localization-obsolete-l1-2-0.a":"4d6dd4f6456cbfd5f5ab3b77a308f23dec9a13968b7e4f6cfda037708ea379d4","lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-0.a":"6457c46d1f8d693178159c9392e0fe56a4b50e27fb39b3ccfa8881e015e4306c","lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-1.a":"c0e5ae12c989f02ce1bf2057f8979afdc2627ad108848045ce5f473b475084c5","lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-2.a":"eda30a9d8d2b844e18f8e5839ca97065ae88acb569d2e060e3260ad5476f29bc","lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-3.a":"aef9dbd4d28af47fd00d96aa20d2fefa14fba4cd56b1317b03214404dfa7df3e","lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-4.a":"c3c5482c182529e3e5c8b07b40e4bc368b8eff21fa0b83342a30eca4d1bca2c4","lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-5.a":"4df545b80104e32455474f20acff7f9da59257a5d4f3c74bf1124d4f8b5d8de9","lib/libwinapi_onecore-api-ms-win-core-namedpipe-ansi-l1-1-0.a":"5db78ea3889742c53e0e3882f4857d15e7db0e8e9db41bdd637d633c42d5b17e","lib/libwinapi_onecore-api-ms-win-core-namedpipe-ansi-l1-1-1.a":"849fc1d4f4d82a04d496e659d2ec52521f77e20ba93744d8277ae91ba2db1a65","lib/libwinapi_onecore-api-ms-win-core-namedpipe-l1-1-0.a":"4eb71e08030eca03ea393f2688f4e43899e226165348c8b0a239184fdabbf53c","lib/libwinapi_onecore-api-ms-win-core-namedpipe-l1-2-1.a":"8ce5c4d7569414b3d17a92516d6b10e2a2e9d3496d36a835ea78f999d70fc909","lib/libwinapi_onecore-api-ms-win-core-namedpipe-l1-2-2.a":"54293fbd0e570b6f37da02a14b02586f4c3cf1a3ed89d85e5f0aea7f4cd15c2c","lib/libwinapi_onecore-api-ms-win-core-namespace-ansi-l1-1-0.a":"99cab897df8772fd9e5573bf8c2c9bba8ca0c89796bb22e3ea1a7d521924a50e","lib/libwinapi_onecore-api-ms-win-core-namespace-l1-1-0.a":"1456c0f4ab7ccb9a9c67b0bb8bc6ae2ca37900f63eafc1f35cd6faa6c3f803f5","lib/libwinapi_onecore-api-ms-win-core-normalization-l1-1-0.a":"7fc88257b8e2569f3688b52c6f796ea3e733147a951b1c3c7214e130e6f7f8aa","lib/libwinapi_onecore-api-ms-win-core-path-l1-1-0.a":"61ad59ac5e91f6c99daab8495f3d0b0b977bc4bfdfa0fe4d11057a0f909783f8","lib/libwinapi_onecore-api-ms-win-core-perfcounters-l1-1-0.a":"71b0dc0c564b008e7bca39ae7b68f073fe17294846c80080c5d2787d64292af1","lib/libwinapi_onecore-api-ms-win-core-privateprofile-l1-1-0.a":"4d19c8751472e2cc17a367fa1c2aa3ceeb6ec2980e126e020b110e0ef7e593e9","lib/libwinapi_onecore-api-ms-win-core-privateprofile-l1-1-1.a":"b5c2cb75007b2b0f0ee1f9c9222ac9b7a96d3dbf4d2cc8934541c88c9455fae1","lib/libwinapi_onecore-api-ms-win-core-processenvironment-ansi-l1-1-0.a":"4c7549d5194f12429ed5caaf9e48a34f71a25bbed1de17f346fb42eeea9622f7","lib/libwinapi_onecore-api-ms-win-core-processenvironment-l1-1-0.a":"171d55c0a02aac157754b2f5dae64f31759d7f72fe34b3da3ef020bb6b772daa","lib/libwinapi_onecore-api-ms-win-core-processenvironment-l1-2-0.a":"a6e0932b840ffbcf397b498a73f03b08b3c364b0bee2ccb950a3d1f6256e4fd1","lib/libwinapi_onecore-api-ms-win-core-processsnapshot-l1-1-0.a":"d18f7d9b576d7f132ee979199aaf01b9888a6780be17a4884c068457cb461070","lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-0.a":"6bd979768806ef4ad76f4587e11e1fb03af221e58db6bfc4e21f3458cbdf902f","lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-1.a":"9b6e58a775abe1934b2eee8bfb3f119f868133416f40ca64ee3b21626d26c651","lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-2.a":"401b925ff83dc5a3a351b2bdfd2806a76901a1c8a6bb55ddcfab8428dcf20106","lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-3.a":"2b4b44dbdf98db7949e21bd950328a2513f1be268413fc732820bb1d81394c56","lib/libwinapi_onecore-api-ms-win-core-processtopology-l1-1-0.a":"f583a535849b8f45978bbe38f3ae80cd6c53dccec5e3e2425ebddd67ba15dbff","lib/libwinapi_onecore-api-ms-win-core-processtopology-obsolete-l1-1-0.a":"43e5b5bbb7dbecace68a4f4a0d4b4f39df4aff180ec328dcfc0a5b37b5f5619e","lib/libwinapi_onecore-api-ms-win-core-processtopology-obsolete-l1-1-1.a":"f87bf26cff6015b4b95107506627aa85da9ae63183494bdf37724cff2dc489d3","lib/libwinapi_onecore-api-ms-win-core-profile-l1-1-0.a":"7a2356a7e5b902f95e9d275ee11ff71be319dda03853d62d485fa38e2e4fcf54","lib/libwinapi_onecore-api-ms-win-core-psapi-ansi-l1-1-0.a":"287444f91238567da77e5b65005df039a26ea955e753a1b396abf0b52843954d","lib/libwinapi_onecore-api-ms-win-core-psapi-l1-1-0.a":"7478bf6e874171709669abbb4a8d6b9176995f749a66bd0916ef791ec0518421","lib/libwinapi_onecore-api-ms-win-core-quirks-l1-1-0.a":"d9d46d5045f1729d5cca3f4e5134038307783e3c5b6e84c840c13e04861a5c93","lib/libwinapi_onecore-api-ms-win-core-quirks-l1-1-1.a":"1e46ac200bdf5dd373e987cbec26b4eddc382dda60bde84bfe11785aeddaea37","lib/libwinapi_onecore-api-ms-win-core-realtime-l1-1-0.a":"ca985d1b45f7cd6daa4502a4919af7312b6caf9b721c77aaaffdc30245dff83f","lib/libwinapi_onecore-api-ms-win-core-realtime-l1-1-1.a":"31a042b0553caa596949da48b89446b8049fd41a55b5c51c81c338f64c9d82a2","lib/libwinapi_onecore-api-ms-win-core-realtime-l1-1-2.a":"42e4da8ce6a813cde55035c7e44b18b3d3f12250a12489a54a89dec7cffcd163","lib/libwinapi_onecore-api-ms-win-core-registry-l1-1-0.a":"0e4b0dbd290409ae848f63e56286490f0b2b2ac4ed76fb65c81745c52046e460","lib/libwinapi_onecore-api-ms-win-core-registry-l1-1-1.a":"799fe6984e2413f28889bf497c659fc993f04939570652614322ef67fd606cab","lib/libwinapi_onecore-api-ms-win-core-registry-l1-1-2.a":"0c13cd0f1731b933452e94e5a3010a38084946d5068ea32e3e54a9e67448e585","lib/libwinapi_onecore-api-ms-win-core-registry-l2-1-0.a":"a62258830da75dad67ba90a38e697666eea061730b680c6f1f35ea1929e8bb60","lib/libwinapi_onecore-api-ms-win-core-rtlsupport-l1-1-0.a":"38cc3759687a82153c13704b82148e297439bd72427f6bfb0c0fb79a04ded5ad","lib/libwinapi_onecore-api-ms-win-core-rtlsupport-l1-2-0.a":"ce35d7cdebedb07195bca23616bab8d7cb209a712ef1d306b01806229e514097","lib/libwinapi_onecore-api-ms-win-core-shutdown-ansi-l1-1-0.a":"bf1b67c53946eafbe27b895a37194fe33abb697506fb2ca8deaa38f8b354633b","lib/libwinapi_onecore-api-ms-win-core-shutdown-l1-1-0.a":"008c0f90de663907480e3433d7e500907d0ceeaa8d3e08eadf029db1c632642b","lib/libwinapi_onecore-api-ms-win-core-shutdown-l1-1-1.a":"fb8f227a8978db53b29a1506dbd460f2fac8a3a09e808234772c2196ea608ab7","lib/libwinapi_onecore-api-ms-win-core-sidebyside-ansi-l1-1-0.a":"ebe918eb1ee104f12c95753cfe2862caaf1bae2a8ccb4da7f35273a5dec9f31c","lib/libwinapi_onecore-api-ms-win-core-sidebyside-l1-1-0.a":"72f07cfc1e27a4166d10c1737b246d4dc722018f785c64581689860af90cb089","lib/libwinapi_onecore-api-ms-win-core-string-l1-1-0.a":"f13eae10c3f7a9a0bb1023e9d3426cba9b606782bd151aded523086eeba7652b","lib/libwinapi_onecore-api-ms-win-core-string-l2-1-0.a":"e059034de6817aa5ddc8c2dcbf0a0efd7453f48111f84d787c77b70e0185e834","lib/libwinapi_onecore-api-ms-win-core-string-l2-1-1.a":"ee3935afebd0bad19b9013de25cdec58e1d923a5ad5763cb0715233564f0a6d0","lib/libwinapi_onecore-api-ms-win-core-string-obsolete-l1-1-0.a":"166374b396d5767b0d405c9d4956a35eba6c817effb4f5fed5f905b41a7217da","lib/libwinapi_onecore-api-ms-win-core-string-obsolete-l1-1-1.a":"c3d5f969f191e92c9cffb4e454b23d75dafa859dc88c01749e169ff50e250baa","lib/libwinapi_onecore-api-ms-win-core-stringansi-l1-1-0.a":"683862e54edec7a9ef7760889cc464ddcfc85f2d032ac3539699696722ae8b31","lib/libwinapi_onecore-api-ms-win-core-synch-ansi-l1-1-0.a":"0c9e4393920eb49b1d9f93374313285b4687431eac6b36c298de9b2cd63d161d","lib/libwinapi_onecore-api-ms-win-core-synch-l1-1-0.a":"68333d231f6b90f6abcd887cfabf61264c4676083c0bcfabff09d2552565495a","lib/libwinapi_onecore-api-ms-win-core-synch-l1-2-0.a":"d45becb8167e3fd123eb7352ab70adca4c6fdea53ee8d7f632f623e39dc4975a","lib/libwinapi_onecore-api-ms-win-core-synch-l1-2-1.a":"2cdd52a7baf3a5649174cc5a1e27e209f856c7e671c738ce643a5a31a9abf973","lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-1-0.a":"f7cf60bb402b7ab962a814b4706c925d5f8f36c2e9aca12de5e75797583f4a3e","lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-0.a":"fbd3a3877515f1be804ed8bee1e8f61a7dc722de70bc9da1414f4308d45dce5d","lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-1.a":"2d6ffeb92f9161d9e27242422705f8db162caba86f387b75fa476c71963518ab","lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-2.a":"788419c2f5c2dbd75676d27fbb34d5a898ce0c14c196dd79abcd355e9f3a7c5a","lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-3.a":"a3219664f76e064b676e8657ebc24bb26f0ed84da68381e38d3b547fcd5c3be3","lib/libwinapi_onecore-api-ms-win-core-systemtopology-l1-1-0.a":"fc793505ed82f5e9eb13382a895c95bbf0e189c8944af6f8110eb9205b7178c8","lib/libwinapi_onecore-api-ms-win-core-systemtopology-l1-1-1.a":"086b22b1bf1e6da2497362368a0e38c5092a0753d2f442d6dfd49efe058315b3","lib/libwinapi_onecore-api-ms-win-core-threadpool-l1-2-0.a":"263492b035f0d42f54997bd840d07415dcc84bf462901a20e06d337be29c3202","lib/libwinapi_onecore-api-ms-win-core-threadpool-legacy-l1-1-0.a":"0feabb26b0cff391271fd23d6c3cede97dfdd16af797ba3dd9b7c1b1285a8366","lib/libwinapi_onecore-api-ms-win-core-timezone-l1-1-0.a":"af55dace54c25f147137e747f444f348c7ac78b0b602f41b136e24e22d9fb47a","lib/libwinapi_onecore-api-ms-win-core-toolhelp-l1-1-0.a":"257c0445150a7da2c6c690f1d5d9a00eeb47b96b68a4b0ab9baa363063632c12","lib/libwinapi_onecore-api-ms-win-core-toolhelp-l1-1-1.a":"f634288c210ec13680ce347935e75a272f66787c3627d1c6fe3846d991c631ac","lib/libwinapi_onecore-api-ms-win-core-url-l1-1-0.a":"cd389802670d9cc261bcb07c7272c905da572f4365e87f8e691db8cd4d477d04","lib/libwinapi_onecore-api-ms-win-core-util-l1-1-0.a":"f76e77406c82761f9667a810e6338d815381990de372e41304663540ad56866d","lib/libwinapi_onecore-api-ms-win-core-util-l1-1-1.a":"a82268f0b237601994c56ce203191bdbbff0fb479539c569e0f2741c196b0cfc","lib/libwinapi_onecore-api-ms-win-core-version-l1-1-0.a":"8f3ac9011b2a26b62d97e2ebc8f39024c31f007e2871e61c029ca65a05471bf7","lib/libwinapi_onecore-api-ms-win-core-version-l1-1-1.a":"f70ab9ef523347c2b22803443fa70ccd73d45b7308c3e88832a19d7690cead78","lib/libwinapi_onecore-api-ms-win-core-versionansi-l1-1-0.a":"e5779c9294450ab4f479406bdbe01c5ec33aa3fe8ae9b9f61876b7997829a3f0","lib/libwinapi_onecore-api-ms-win-core-versionansi-l1-1-1.a":"70aa42246b091ef8d716dc90414a588b9aa25f8c77470d8bea57e5de97e9d79b","lib/libwinapi_onecore-api-ms-win-core-windowsceip-l1-1-0.a":"2d6fbe48c4083874933887f0d22efcc2e30a8395da48d959593ce0d7d1e6642f","lib/libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-0.a":"9e3c56f2154799a69add217cd9c77a86e6a1bde64bbf33460d4e70e3687d8b9f","lib/libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-1.a":"525df54260b84f1b9269c87f1144f1e5a0cd89fafd65360a62c601d6ba6ddbc2","lib/libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-2.a":"55e4cee223037780a42484456c77eb1e9770edc17045827e81b8e919cbb85737","lib/libwinapi_onecore-api-ms-win-core-winrt-error-l1-1-0.a":"5da39d2b1e8010cdf9b43227ab568c1756d0147b3dab8cb80167f5e78ededee6","lib/libwinapi_onecore-api-ms-win-core-winrt-error-l1-1-1.a":"faf697a2ae01bc6b761292fcadce0560e7c53022db2bd0ae6a0f3c875fbbe435","lib/libwinapi_onecore-api-ms-win-core-winrt-l1-1-0.a":"44bc68cde89ed432570a3a333d3ca70f6d10598075352fb81d8417caec5b51de","lib/libwinapi_onecore-api-ms-win-core-winrt-registration-l1-1-0.a":"d1f598a6e5f679f1c5cbf39d7aa943cedf5a6c55292e00ae18661de492f32709","lib/libwinapi_onecore-api-ms-win-core-winrt-robuffer-l1-1-0.a":"6966b4c35904d9615bbee8696aba3f00162f9384ce72fb7295a4a7f5b3a7c036","lib/libwinapi_onecore-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a":"c2992ea72fab9b721807c5c31dc0e94569540290af864d5c5bbe7adf9a154e5e","lib/libwinapi_onecore-api-ms-win-core-winrt-string-l1-1-0.a":"a922f544b8205ff46043f3143b267efbbb838c8a9f13ea088c6999ff78f67eb3","lib/libwinapi_onecore-api-ms-win-core-winrt-string-l1-1-1.a":"33123c82b4e595ad6a687831cf3ba94089be31bbfd23e63aaeef3fc869297399","lib/libwinapi_onecore-api-ms-win-core-wow64-l1-1-0.a":"91fcc265a2126384e079dfab0816ef424043138880e89aa779441444271d6ff8","lib/libwinapi_onecore-api-ms-win-core-wow64-l1-1-1.a":"46e4dcc37b939b91dfcfe917ba6f9d9ee6e607a55ff9b6bedcccf75e3c1905a6","lib/libwinapi_onecore-api-ms-win-core-wow64-l1-1-2.a":"2d344bb7c91132a539d488ce16a683e8146c6f4ef61c5e85c3d9501b42b6d930","lib/libwinapi_onecore-api-ms-win-core-xstate-l2-1-0.a":"6e090e7f7a713f5678abd290b2f43db5d97a4fda54dce7b1219667424292de71","lib/libwinapi_onecore-api-ms-win-devices-config-l1-1-1.a":"58e6da81b7f5632de81c1e1df8cba71ff4af193b930686f06613593e44f534a6","lib/libwinapi_onecore-api-ms-win-devices-config-l1-1-2.a":"d631fce3bf17a13ddd797a70b9cf63a144ba179511f451ab5c0bb8339970404b","lib/libwinapi_onecore-api-ms-win-devices-swdevice-l1-1-0.a":"a3a5179693fd5c8125c1709c0f7da0840e357352fd2675c285a80b4d340c6072","lib/libwinapi_onecore-api-ms-win-devices-swdevice-l1-1-1.a":"b3f42576a838eee69fad89e4d98bc59e6094f7e4fcb211960176f57a355e22b5","lib/libwinapi_onecore-api-ms-win-eventing-classicprovider-l1-1-0.a":"ad9e71140c583e5a06e73fd60079e4be8a4ce5a176de88f4c92c2a73a8044d5b","lib/libwinapi_onecore-api-ms-win-eventing-consumer-l1-1-0.a":"35b30ec4b0654649148fdc900550d903ba7ca6bb2557e12c2be816c2b8c402f5","lib/libwinapi_onecore-api-ms-win-eventing-consumer-l1-1-1.a":"1691aea951f9e97a5630606af45ecef1d35e0405ea1732d15bd4c169b41ee819","lib/libwinapi_onecore-api-ms-win-eventing-controller-l1-1-0.a":"edff320a89daf18d86701107d734c1b0b4a8ccd1ec46d50cbd16ba9b7a0c1173","lib/libwinapi_onecore-api-ms-win-eventing-legacy-l1-1-0.a":"9ced4f3c4f2336f28fa00f3f5cb5ba1dbe847f8cd60419368975a00fbc451097","lib/libwinapi_onecore-api-ms-win-eventing-obsolete-l1-1-0.a":"c2657a0b8af03da164208aeb2e1d1fcf81c109ab1346a48b00f60425d89a05a1","lib/libwinapi_onecore-api-ms-win-eventing-provider-l1-1-0.a":"47b3e6bc27ddc5c087a416678ea1793a30f348b3c41d6e07db7cdc9c22831c03","lib/libwinapi_onecore-api-ms-win-eventing-tdh-l1-1-0.a":"0f11e4cf0225f263288544cb9a7f0ab6f591ee1be60fc42cf9406de04854c5ca","lib/libwinapi_onecore-api-ms-win-gaming-deviceinformation-l1-1-0.a":"be96a1a7edf036cd8722f9e6726463687198706db532c800ecf7c81813b66903","lib/libwinapi_onecore-api-ms-win-mm-time-l1-1-0.a":"94f97eb87b5bf72bf96fd7d504bfa1fde396bb34fb52b5b14b03f8a72502b6df","lib/libwinapi_onecore-api-ms-win-oobe-notification-l1-1-0.a":"c3c2475a9324e792dcd4a813c6611d1c56c8fc15b093b55095f7be62eacf3f48","lib/libwinapi_onecore-api-ms-win-perf-legacy-l1-1-0.a":"d05aa84c6342b405a1667e69545c45da23511c7395091434cb86433123905f27","lib/libwinapi_onecore-api-ms-win-power-base-l1-1-0.a":"c099b2534f8225c5f459f006cef2079fe69eefc5c5c0814ad65b6266dfce6d5b","lib/libwinapi_onecore-api-ms-win-power-limitsmanagement-l1-1-0.a":"906dcd96ef83bc1ec4960208f28d20c11d3c4b4a9285457829ea9615d5f3ebdc","lib/libwinapi_onecore-api-ms-win-power-setting-l1-1-0.a":"8fc5951fb7aeffe7b26121a7b5e2843def7ef2022c177280ade4d1dc5edadf6b","lib/libwinapi_onecore-api-ms-win-ro-typeresolution-l1-1-0.a":"3b62535868ee933138b5f51622609f2ef6993f696854353d7a32417efd4c1357","lib/libwinapi_onecore-api-ms-win-security-appcontainer-l1-1-0.a":"843241145aa98032ad2607c3ff4882773dbac60c52087c107bc94ce553ae41f4","lib/libwinapi_onecore-api-ms-win-security-base-ansi-l1-1-0.a":"d825cd08215e04a66d6c2b0a2bf22a8fdd459c79df96d0900de1c9357f07670e","lib/libwinapi_onecore-api-ms-win-security-base-l1-1-0.a":"991613a90774d30321847f229737037e980ee4e1cf2530591bc15dd7136bd19c","lib/libwinapi_onecore-api-ms-win-security-base-l1-2-0.a":"1bde30f5f2bdee0463b0a6f218760866c7d8cbbd5caa195b592366fd5c696d39","lib/libwinapi_onecore-api-ms-win-security-base-l1-2-1.a":"007f08d1eb7eced643f122ddb82440bbe76e2ab2d7bc53c72fecf3715cbfb01c","lib/libwinapi_onecore-api-ms-win-security-base-l1-2-2.a":"2cbbc75286c357dbb97e043ad4cb4bcd5648db803634de04e213a482f72357f3","lib/libwinapi_onecore-api-ms-win-security-credentials-l1-1-0.a":"3ce050b1f472132076a4fc3f20355b6ed1e21d2729acc8b18f807077227287c5","lib/libwinapi_onecore-api-ms-win-security-cryptoapi-l1-1-0.a":"ae00a17a300e44df9e056f31676341cc3bdf008435b3ff13f2ce1509c428fdd0","lib/libwinapi_onecore-api-ms-win-security-isolatedcontainer-l1-1-0.a":"2e93b45b7e4ca0758ba473edcc4a75b068b9651187914ef4cd34623b9c04df25","lib/libwinapi_onecore-api-ms-win-security-lsalookup-ansi-l2-1-0.a":"6000fdc93f1a6a6a3be35c77764f06fe25c242e84c97459199b89ef39905a9ca","lib/libwinapi_onecore-api-ms-win-security-lsalookup-l2-1-0.a":"a8386c72dab1edd4001c38a8d81711bbe3fc376064b9eec14a56af3eb743e76b","lib/libwinapi_onecore-api-ms-win-security-lsalookup-l2-1-1.a":"ac9524bb45b8c7ced98b7ff5884f6949b7861be9a555938c28aaafd9e838bb44","lib/libwinapi_onecore-api-ms-win-security-provider-ansi-l1-1-0.a":"af68dc5e041cbeaef887e4ba3fa9aeb15155f99f90fca1860c1d5fc6cf744877","lib/libwinapi_onecore-api-ms-win-security-provider-l1-1-0.a":"4d155455dadec07a3b3e9927d5ebc15339b74d08cbb269ac4257832e2de17654","lib/libwinapi_onecore-api-ms-win-security-sddl-ansi-l1-1-0.a":"5444fff280642dd147181d1831dc1864a12175d928d10a1d1c66ea765771d61b","lib/libwinapi_onecore-api-ms-win-security-sddl-l1-1-0.a":"741a704b4e6b31b07a62bb662bd762ac23d991c7287ce5eed9e68593a533dc1c","lib/libwinapi_onecore-api-ms-win-security-systemfunctions-l1-1-0.a":"532d5bdbf0a544f46135549a09993232c88f25702d994dbb067cdc1883e75ec4","lib/libwinapi_onecore-api-ms-win-service-core-ansi-l1-1-0.a":"a7e67d849fa4be88b88f8fedd848fe139ab771520d9cab10fa3856ee121dfc21","lib/libwinapi_onecore-api-ms-win-service-core-ansi-l1-1-1.a":"cd9d6e3bce83e2c81a825337285fdae77d9d59016b8dccecc9d81e7c72e0b7c7","lib/libwinapi_onecore-api-ms-win-service-core-l1-1-0.a":"7bbffec6a893991136217e7677c88670faf88cc1ff6ea299bbfcbc3a442463b5","lib/libwinapi_onecore-api-ms-win-service-core-l1-1-1.a":"2d24e67d5e1d8cf53cf536565eb1d2a2c66b77bfc3d86dd7d41b25f9abaa5ee5","lib/libwinapi_onecore-api-ms-win-service-core-l1-1-2.a":"dc3cfa35578e93cc3c12fa34202491ff32833567d0a890390453e5ea99587c01","lib/libwinapi_onecore-api-ms-win-service-management-l1-1-0.a":"19990b2d2df2193e1a11aaaf1cbd7e14627ab764428c6a3e1425f25ce36f3145","lib/libwinapi_onecore-api-ms-win-service-management-l2-1-0.a":"dc8c68d4c9609d4e10432ea73d2ae81657cf4b3a46df476bc09bb8f935ed8c9d","lib/libwinapi_onecore-api-ms-win-service-winsvc-l1-1-0.a":"f0d2373f6692424d3552dea976a0a4b4a8ac4a51a9f1cbe98dfb8d4aada03741","lib/libwinapi_onecore-api-ms-win-shcore-path-l1-1-0.a":"6068069825c12832d9238011a47b6029c26a8e4f9327fd0822fc101628669115","lib/libwinapi_onecore-api-ms-win-shcore-registry-l1-1-0.a":"b7668ae7c15d01fe3bc580ef64af32458281c249873c048c9e874d7af428643c","lib/libwinapi_onecore-api-ms-win-shcore-registry-l1-1-1.a":"43fc980cf389793c54845afa83d4cbf1d89a8b24b3a4149e8064f8072df20d57","lib/libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-0.a":"9f54ad31643cfc61c7ddea1b66cb04cd60c0ee0a3c16845534d52dbe4af753e5","lib/libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-1.a":"1a02a3670ff8446f475bb6bd060f117a6b9ced76cb7ca859ba8b7f4a0768a11c","lib/libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-2.a":"8e8d97698699baa2d0a4a3c6d3b7b197145b1bfd97247080bf6ba58990567ede","lib/libwinapi_onecore-api-ms-win-shcore-stream-winrt-l1-1-0.a":"f64cb18ac2baf4b1b9bc3a6fac1cca5829ebb958b2ea1864170f113e2ce085f0","lib/libwinapi_onecore-api-ms-win-shcore-sysinfo-l1-1-0.a":"c8f7c2be5391623d4384b2e6e0c375a4fe355ab359db707aa61ec3cca651ff7f","lib/libwinapi_onecore-api-ms-win-shcore-unicodeansi-l1-1-0.a":"1f300cfb0b58d4bddf27e03b81968076f229cbab10132746c8356d62fce4b36e","lib/libwinapi_onecore-api-ms-win-shell-shdirectory-l1-1-0.a":"a027bcccec10f79a351e65285830cdf50d46aaa5dd8c3af0aca6116f1ab7bad7","lib/libwinapi_onecore-authz.a":"c89f36c61fc7e48696568a3d2986c52e3071457b3a742b514900ce5f22c05e55","lib/libwinapi_onecore-bcrypt.a":"f9084f955c2614f3c478590a22a3e325e9f544138f7349d3d449d1366a0893be","lib/libwinapi_onecore-cabinet.a":"ee558f2fd9798a054ab5a1968ea301321417dd2bfca9f62527564111c54866de","lib/libwinapi_onecore-crypt32.a":"cddc073ca75649a707f804d9f1b11a2a8b3b4692309348ce6d55111577b5f4da","lib/libwinapi_onecore-cryptbase.a":"287fd63dc36f7037000e56c1da96dc6bf9836d7b484b21c6d8a0484b9bcadd4d","lib/libwinapi_onecore-cryptnet.a":"9e8ea0194d504ec9d80d9b83ee75d0596a9c183429b7913a8ac9e7fe8733aa9a","lib/libwinapi_onecore-dfscli.a":"30325d84bf52b50e784bf19b367141d85efbc278271015608335b680e3dc0580","lib/libwinapi_onecore-dnsapi.a":"e707bbf995c6648d1f89bf13f1852c2e7d8c4e355d821bc7cd0f1135d7b38a8a","lib/libwinapi_onecore-dsparse.a":"a5273bdcc29806fcc3313a4fbb6a756f1f2e5eb40a966fd8bbf3890cac674981","lib/libwinapi_onecore-dsrole.a":"28303cd4189df6a713db163e3ff2d838474d7092bfe5041a4fe92d1ff2a55da6","lib/libwinapi_onecore-fltlib.a":"44152e55ca753ba58a7e368511d38460410ce3be226ad63bd677ce2a549ebfa5","lib/libwinapi_onecore-iphlpapi.a":"4f6960e63e756adda1a5dcf96e7d6f68af9180ea6f8053dae6d442dd830a4e86","lib/libwinapi_onecore-logoncli.a":"4b52c029e23daa9a599294ebe808a9fb5a03d9eb35f3a7de3dc5611a6d1d7589","lib/libwinapi_onecore-mpr.a":"68822897ad26a22e8f260e65b9fe32bc09d8a9365ecc700b3217e911893734df","lib/libwinapi_onecore-mswsock.a":"ecb16deaa836f5b044c00764d787f6085933c618f0b28767aca5193f68795625","lib/libwinapi_onecore-ncrypt.a":"724065809a811e15848f2bde0900ea72623104ea952702864075cd4dd2af12c8","lib/libwinapi_onecore-netutils.a":"55b8269a1d66d70b7737568010a9b1ec5b8cb40cd9ddfc11ba3afa932cca74af","lib/libwinapi_onecore-ntdll.a":"9713c2aba3f363c0896ce9b41452e33b89ee086cbaf4bac5767f1cb7f3063f26","lib/libwinapi_onecore-oleaut32.a":"c1e9036ef62d38e665b262a84cbda4700347f81b7c51ef34366e41349664f234","lib/libwinapi_onecore-powrprof.a":"46d90ce9de053c665ababf56198282b837da18f6baafaa23fb31ecea0006c64c","lib/libwinapi_onecore-profapi.a":"df82267198948d81c4ca40e9ad63e5a7070fda8952136aabc51ed06645262181","lib/libwinapi_onecore-rpcrt4.a":"1e09fc72e60b15ccd9bd63a9ad1157f6fd1b493b45f74bb7438fe4e1f01808e4","lib/libwinapi_onecore-samcli.a":"4084b9afc3d3fc538bb3dc38ac4e51f237358ba468170c2cc31fd676d75ad3d4","lib/libwinapi_onecore-schedcli.a":"5153ef0da92bfb66a2fd1afe65bca65e31c7197e72731d3c6ece693f6253d571","lib/libwinapi_onecore-srvcli.a":"8697381d4fc81b6b1b7495219a8222ecff52bc3a5494dbe491bc209dd30baa65","lib/libwinapi_onecore-sspicli.a":"d85433520cdb952ef3145e6b097f9da6e5aba2c4126a1aa48b77b54325deebc3","lib/libwinapi_onecore-tokenbinding.a":"e6d97f0b962ba9447e201ee8f496c619e5e4d0bc813fbcf079c0c4180eb0c6bb","lib/libwinapi_onecore-userenv.a":"f087f66aca67f1a15ff3d151f3641be41b8986f8c4a38d2530ab2762f03263d8","lib/libwinapi_onecore-websocket.a":"87b2be52bc1c38c2e3009b47d17cbb929f6b4eeba2686de82da8754e4e869ebb","lib/libwinapi_onecore-winhttp.a":"c559378240c38cbb1d5921c1f77b07d6a94ac3683ad2b58689cd7f429b76dcf4","lib/libwinapi_onecore-wkscli.a":"550d7d3456b98551ddbd0f807873a31e4277bc9ece242011a01f7fbf44f9fcc0","lib/libwinapi_onecore-wldap32.a":"503951e442826910c99adfaffad67058c7d1f5b912a7e0ab5832a95272019ee3","lib/libwinapi_onecore-ws2_32.a":"fe9591008ba78154904c03e942f3c3e80910fa8642bc3cd786a749fccf995fff","lib/libwinapi_onecore-xmllite.a":"d2c04f0a5904f91a5d738039459c3fab2a913e06a9da77d6efd3e688d2fb948b","lib/libwinapi_onecore.a":"79f5ca419b388bf58352e9a4e988306e353a07ecd8a303ae4b75b71148dc477a","lib/libwinapi_onecore_downlevel-advapi32.a":"9a1470de3f901ff6d7346be7df21c2f6ecbb7f8c7b76725529aa7e485749da19","lib/libwinapi_onecore_downlevel-apphelp.a":"0924884d9445e27828f0e9c3e60f3a66e0270eda43122e52108b37b6234128da","lib/libwinapi_onecore_downlevel-comctl32.a":"af493e0072a3bb5ef7dc58f69b96926e0381b5f71df8f7397ae24285fa4b9f68","lib/libwinapi_onecore_downlevel-comdlg32.a":"90c4c25cf1bb25540a0c8a9c9713584e4882c25bf9a0e7e706d58383faf8e57b","lib/libwinapi_onecore_downlevel-d3d10.a":"d5d6ab17b1a35597ee630ac91fdac4f34d70be9321f099c01f193a80c05f1901","lib/libwinapi_onecore_downlevel-d3d9.a":"f5afd3767aff431bf2b96d5b716e4f0171bdd50e08e76520ded95d4b0105d8a7","lib/libwinapi_onecore_downlevel-d3dx10_47.a":"1a7c23582aef6cc6a4237a4fbe47e2bd5768bc405f33822e62d89c8b2b767ed9","lib/libwinapi_onecore_downlevel-difxapi.a":"f1042623f702d415ff8ecb33ac6dfb2467139c0f469b1cd1af349018bff2ae81","lib/libwinapi_onecore_downlevel-gdi32.a":"cfe9846de5dd823bacc40a1dcc7647a47cdc3547338b79c73c70f56b582cd60b","lib/libwinapi_onecore_downlevel-input.a":"0ee64638a356f8d225de89e88a0e5e0500c748f3cd3fc34bd74401e654eb63fd","lib/libwinapi_onecore_downlevel-kernel32.a":"f12a7e4f4d3cb78c42c2465ec74ecf2175ade86e59a7c6465765c636cca842ce","lib/libwinapi_onecore_downlevel-msi.a":"2233db7b130a7d98f178e924bdbdc495d25854bf35a9af2e46d413bb67d38da8","lib/libwinapi_onecore_downlevel-newdev.a":"3e98c28ddb2b78644d0823dfc234f28d33e6e5609268f86f5e1a918ee6ad7427","lib/libwinapi_onecore_downlevel-ole32.a":"e73a2282f0d79562ac9c676276548d7cc65099cfa59dddf6890c96640fce5afc","lib/libwinapi_onecore_downlevel-oleacc.a":"167aaea317be2a53f866cfde4ac381df3cc14349b05a5f45b8025ea6dfafc504","lib/libwinapi_onecore_downlevel-oleaut32.a":"3c09885c10a0e9f5b242716cb8c54c98d84d56ecec477376294d813e98070643","lib/libwinapi_onecore_downlevel-oledlg.a":"a5058dcf256384272424dfeaebb7dfb68a0156c51a7c4cf0a4aa5509a80c3137","lib/libwinapi_onecore_downlevel-pdh.a":"c08012da446bcc019dd4677ca81c8fe8c84a690d35910858b8d5c33bd43df784","lib/libwinapi_onecore_downlevel-psapi.a":"ce0f455594f25fb5ccd1780a42bea521c497e3979ee6e38aab5ca4c5b51e56d5","lib/libwinapi_onecore_downlevel-resutils.a":"eb85ead723be66a8bcd679153240809ce3eaca19f5e09fb50916389b2ec44bf9","lib/libwinapi_onecore_downlevel-rstrtmgr.a":"5b71806cce0ef47a12f04512af24068e0b28dbf8c73c821d33f40fc53afe8185","lib/libwinapi_onecore_downlevel-secur32.a":"b9b3c0dbf3453119cf38b030f9ac7c2c8b05c9a50064e83e647604bfc2716751","lib/libwinapi_onecore_downlevel-setupapi.a":"b4f8966901324fb3dc3542b5e3b1b9b61dcae54bfa3429e36b8dd8b9ed23b0ff","lib/libwinapi_onecore_downlevel-shell32.a":"750024575945363851dd13ef5ed07085f0d393d851b5b6182d0167da93e2d9ad","lib/libwinapi_onecore_downlevel-shlwapi.a":"bdda84057a267a2c96e92ab9902ee2c106a92ae8a2d9d6f6057c70004684e8f6","lib/libwinapi_onecore_downlevel-tdh.a":"9c0ef09e849e277b0dfc7d7cd8050e656b8f8b71226d46e332bc510f68fdf8af","lib/libwinapi_onecore_downlevel-twinapi.a":"da6071d2f9383b1918bca8f8e43e068f6110e0279bd4c2bb550aa51623740196","lib/libwinapi_onecore_downlevel-user32.a":"45162b307e5d0bd8558fc9d1546c0e74a8eaba61372ac3cd645944bbe385e62b","lib/libwinapi_onecore_downlevel-uxtheme.a":"64c40a49a0f21ecb41a1192c64ef00815b785e6ee4030575ae5b1d203666a832","lib/libwinapi_onecore_downlevel-version.a":"42dbd6b1186fd4e6da3bfde88c51199414f7c2980da46da12f9d6c760fa2686a","lib/libwinapi_onecore_downlevel-winmm.a":"2a17d8e31a4131334d59ed41e0f7a7763772be02454f12ca75254d3852ed2e21","lib/libwinapi_onecore_downlevel-winspool.a":"061b6216f3b343307d156833364f433116305f5e4d3e85de6bc146d65464702c","lib/libwinapi_onecore_downlevel-wtsapi32.a":"27cfe4b37a87e4e5c15fb61e400ec5ca949999bbcb18472864d14927c88ea6dc","lib/libwinapi_onecore_downlevel-xinput1_4.a":"c68a20b83e6c2ac77d7f98be2b4fad1601aa33d8996b613caabb02bc77e02ea1","lib/libwinapi_onecore_downlevel.a":"b970765271ccbbf0a2843dfb757f678f6b6fec0404914e861f24e289656335e8","lib/libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-0.a":"d3c86590ac61e5d3b0d4d429a93632c2cbcb5842d84b8449e5b0a6807ba5c475","lib/libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-1.a":"48415e10ec3ab60fcd7185def0b8e69cf7d4f81a3b7ae0edcf4c0eb4f9aad10a","lib/libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-2.a":"267bdee09d1c9ebe8785ce68b65f5ca5a8664d29d0878286ce19eb145362837e","lib/libwinapi_onecoreuap-api-ms-win-core-atoms-l1-1-0.a":"4e3ee6e74bd59cabee0f82fb6764378d26bfc5ae3aec39de0a02e64d83bd7e69","lib/libwinapi_onecoreuap-api-ms-win-core-calendar-l1-1-0.a":"679c9a2425099afe8c74612d35969364b47dcad3773055c7854be1f495f6f5a2","lib/libwinapi_onecoreuap-api-ms-win-core-com-l1-1-0.a":"3f1a775d67835415d1afdb0f4034ca71bac4b51439690ec03f1b389e1b775120","lib/libwinapi_onecoreuap-api-ms-win-core-com-l1-1-1.a":"980b79f176613805271d73fd7ad35f763763858dbca5f564d2fa814a2bf31c0b","lib/libwinapi_onecoreuap-api-ms-win-core-com-l1-1-2.a":"00c8b599b3383b705a3d4c9c49ddbbd56371b4ce2b416da26219a8611e666585","lib/libwinapi_onecoreuap-api-ms-win-core-com-l2-1-1.a":"23324345965bff97ef1234889beff115969ddc2277338b22b0264deacd81e380","lib/libwinapi_onecoreuap-api-ms-win-core-com-midlproxystub-l1-1-0.a":"c81a1d129ead2cdd57f0a8957983e63d1f88ce29877823f16d24af2999218734","lib/libwinapi_onecoreuap-api-ms-win-core-comm-l1-1-0.a":"c1cb62129b8fdfa7e8fc585af0aa3737b177d2752825d9606ddb646ba5b567e3","lib/libwinapi_onecoreuap-api-ms-win-core-comm-l1-1-1.a":"125a0152d091e2e3d5a5b310332e001bcd0dd8d642144bbaf3d50904c0aa3637","lib/libwinapi_onecoreuap-api-ms-win-core-console-ansi-l2-1-0.a":"1c832fbd6f8f8c5c25164afaee442578e9fa3635bb49797d7634e75a897fd3a9","lib/libwinapi_onecoreuap-api-ms-win-core-console-l1-1-0.a":"f7b1bcdc025d31db9d43b8b6c8658ae9a66eaa9aa32454cd1547fdd917634d3a","lib/libwinapi_onecoreuap-api-ms-win-core-console-l2-1-0.a":"42cc06853f79b623e08556f05ca526610fa445d6023de2595c3ec49ac0c9fd14","lib/libwinapi_onecoreuap-api-ms-win-core-console-l3-1-0.a":"68a5a7b1d92129979588aa31c42fb97958461b928dfd2f7a045d70204311f0cb","lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-0.a":"3b7b10e05a546839a77d7c5084a78a30bff0925c90e2a4ae6d92c478027cc4a5","lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-1.a":"7881818a8ee239d8aac81b5b2911ebe648c44cc236dbaac2173455912a5a2b88","lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-2.a":"f3cd722d06cf0357e7c028053f40e9153e2793b201bce822dd3581d3a046e88e","lib/libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-0.a":"556fb78c433cfd083c07c74ca3925176f4d8b48c9a58e03daa62d19fd935397c","lib/libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-1.a":"011e563fbe9356ca9917ae2dc9aafd8aea4735d166aba189fe29341f3537215f","lib/libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-2.a":"cfbf8d52bad634cda3fc5441a5dffb72f12fc89da4a5620f390c9c70a22a2b2b","lib/libwinapi_onecoreuap-api-ms-win-core-delayload-l1-1-0.a":"eb7db447807c59b3f3c4a4896d16ce15e6bc4f1eee3bd6f53d1ef5e17ea5ac54","lib/libwinapi_onecoreuap-api-ms-win-core-delayload-l1-1-1.a":"36f22ac58c2fb1e420284e3fde54ccb0d9ca8a3eff842aa339ecea7edc51d220","lib/libwinapi_onecoreuap-api-ms-win-core-enclave-l1-1-0.a":"a31ad417ae86adacb47880039736845ddb7c318dd955f5f309ccb946706a8800","lib/libwinapi_onecoreuap-api-ms-win-core-enclave-l1-1-1.a":"db5331242f77516456e0fde1f53b3ae98cb5c9363a8e286cbf9b66c01495259a","lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-0.a":"34789245073349fc68aa33a8ede222c967a551aadf31b3f86d56fb3915570f81","lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-1.a":"8fde5f5f7a1a8b7bcda0b509a222c1d0ca75d97ad1b398159b3ebfecbfc603d9","lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-2.a":"369d289445328091c31e346e78970619e77c4af3e50edd5425bc0203215b4462","lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-3.a":"7f9093cf4d44540d295d6adbf96ec90b8ce3298aba899aad5d682ac7f4bc2fc5","lib/libwinapi_onecoreuap-api-ms-win-core-featurestaging-l1-1-0.a":"29d814a804f4778ef6fd4d1619a555c5644e5aaf7bf37ab7ad119addd721d5f4","lib/libwinapi_onecoreuap-api-ms-win-core-featurestaging-l1-1-1.a":"2f28d21147401dd8fbba19bfa040c215e7a6c62314305f527443bdb5ddf56ca3","lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l1-1-0.a":"981daa2b794228cc1b0f5c83c08f1d2836e03ac460558fa58a3e7742f8cd2e5a","lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l1-1-1.a":"b6e7b745b8b588189b817363e576a019067f2e30e7d00f0f941eb66078f687af","lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l2-1-0.a":"b128dd7fb6ada26dd227ce86a98a7a096782f96178ec278be06cd04b4042b8d8","lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l2-1-1.a":"9bb377627f9c2443f33a43c6cc3820106075cf950a9fcc02b3daf791f1ef219e","lib/libwinapi_onecoreuap-api-ms-win-core-file-ansi-l1-1-0.a":"d50709c46fbc52669a7d9896789cf4da085aba50bb1f2139f6e23b49d8100016","lib/libwinapi_onecoreuap-api-ms-win-core-file-ansi-l2-1-0.a":"ff2c9d565b71bb16f7e5bc730cfee673a469e6ff5a1ed83f33ede97c705c4fa6","lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-1-0.a":"0eab57ca33867b10954c19bb791eef9d02b60edeba765f7f277301ecd5ad8659","lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-2-0.a":"ea73055041fe18e9709b1094fb0c31b11b271ffb95b3a2e15fb249777adfd568","lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-2-1.a":"0ae8a2d85d00854e933f163707e7773a14d49b4ede621d87d3bc5097c6378b74","lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-2-2.a":"7a47049dee70562ee2070ace79a8212ec6f863c5dbcfe21aebb4fd7c1b69d9d5","lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-0.a":"dd4beceb423668b7f214dc32e66c60575112d7dd3d51a60517318427f23baa1e","lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-1.a":"aa8f1713e5696b03737c2591d84d23c5f0ed5143dcd198da14c67987e3711d3a","lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-2.a":"85f8439e5786e36b585a2e2d94c4b81f23a8bc56dffcbc62270fb37066c5ab4f","lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-3.a":"7aa9b32763e55c5c7a43b836a515b59d650ec6c09725a3b2670518bf787f77b2","lib/libwinapi_onecoreuap-api-ms-win-core-firmware-l1-1-0.a":"2674c264db3753cedd4c411d7b487fada1b6efbb0be8ca2d115d6f63fc1e7a31","lib/libwinapi_onecoreuap-api-ms-win-core-handle-l1-1-0.a":"8173abd5dfa36041c40923e65a16f02d9d6ca1397d6989e163239ef0b02bbe7b","lib/libwinapi_onecoreuap-api-ms-win-core-heap-l1-1-0.a":"3fcb04bce35545010b408f9ff4eb0ed16a0bf10be5d144f020299f87561748be","lib/libwinapi_onecoreuap-api-ms-win-core-heap-l2-1-0.a":"e39429d77525812669745c72a9574f93a431a8de9477771e1b7a1c312ef48335","lib/libwinapi_onecoreuap-api-ms-win-core-heap-obsolete-l1-1-0.a":"091ad5944fcc5136bc162915bdf64d58381ca8ea9a63ce839348ffc53ee330c6","lib/libwinapi_onecoreuap-api-ms-win-core-interlocked-l1-1-0.a":"0f52705fdbfdce70ba03c5c036ac5d0c0079ef3b3b4b35d2f672e64932962575","lib/libwinapi_onecoreuap-api-ms-win-core-interlocked-l1-2-0.a":"51a677e70953b1999902ad9aa8547a0eded32a2fab3dc307ff787d00e8d61377","lib/libwinapi_onecoreuap-api-ms-win-core-io-l1-1-0.a":"bcf91b892cbf3678c6b2706e8cb7dc6797b47fc77cd449a0ffdd922e437d3c03","lib/libwinapi_onecoreuap-api-ms-win-core-io-l1-1-1.a":"4c197c4be209f216dce71d520d21261634874b54e23bc0c24cb2892e5a011137","lib/libwinapi_onecoreuap-api-ms-win-core-job-l1-1-0.a":"4d7be6925bbb3d7c0d1916fb417613e0dab2b57e6c0f2c4be0b564fbf12c51c7","lib/libwinapi_onecoreuap-api-ms-win-core-job-l2-1-0.a":"4b1a622cda0d57fe752d78c09c333883f290625f3015f7497bcb7857063a09ff","lib/libwinapi_onecoreuap-api-ms-win-core-job-l2-1-1.a":"74f765a2a11db158c10c3348adc510f29c27c725f29e3bb1069eed17c4784a0a","lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a":"bc31126b29484275b43c947596bf2e08f5fef6f2d83df78a299d2962165814f9","lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-0.a":"94d5af97c1664a9e53cc2d3b85d2d02ad28231b89ed50847a90c29d21fd815ec","lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-1.a":"75eb1e9161df1fc6e58d8183c9a63016d28c28d5adcb5872875ce51662f546b2","lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-2.a":"c353ce2dd1f7c3411d83b0683215fadd3585d88667ddec2a6a8bd381ba1c2603","lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-3.a":"21b13e0ecdc7c3a14512dbdf2846f86996cc16de0797f90e0472a97201e47fa2","lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-4.a":"42b846000ee1b172d2f1520e308f3877bf60dd8fe4eb5ec71b208dd0efa98866","lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-5.a":"dfa6f81a89f7e5e8019715b74145be5fd9ae68be722d93fb0ee93c04f3045326","lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-6.a":"383b0645ed61362b0c07a7c4cfb2509eca3351b22e2bf3684d426c7622aab6c2","lib/libwinapi_onecoreuap-api-ms-win-core-largeinteger-l1-1-0.a":"3b23a209df9ab14d089bb2b5844e05b97db3a6f7b82cacf6dec70d7686e25d3d","lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-0.a":"fcd6d6b4641fa4fc9e098218ac5e5394f4d73cb27bb008b08cce6e7f643f2ba7","lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-1.a":"72a96e6532a6a27bae67a5ef133f03e30fb84ebdc36f4c900ad39d3e07ca3844","lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-2.a":"d4f534c0b116466c6899ab60a86ed81983a40db61e2e92d3a37e688cddd5ad0d","lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l2-1-0.a":"df036740da839181843676ade50cf20603b3479aefce6e793df39707a6fdf173","lib/libwinapi_onecoreuap-api-ms-win-core-localization-ansi-l1-1-0.a":"8c1da62a7dae359d4bd22d63683cf0d32f4857b3ae99f68d38738efcdecef988","lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-0.a":"1c3870806e36a4e9c588899e28f4e5c4de8106dc329d79ef90da99c863e4152d","lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-1.a":"3fa775366f4b011dd6361cd2cebf12f9624782b69f573dce0e50102fff96b44e","lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-2.a":"15411409b7eb5d2a1d3eec112d987a3c6d5ab106e5241f83d58c88cffd8ece0f","lib/libwinapi_onecoreuap-api-ms-win-core-localization-l2-1-0.a":"325684e8db77a522ad2afba966f4a2b49f0acea66b2aed43d9ae325cfdaabb4a","lib/libwinapi_onecoreuap-api-ms-win-core-localization-obsolete-l1-2-0.a":"22b7c413f185dab06cffd0be7771cc721fbf6f83fbc2cea0dae7e65337f6055a","lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-0.a":"0ce9df0fc760bf6cc1aef4bfe066a76705a83066a5bec486a8514beefaaee6c3","lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-1.a":"6fdb709c20b1d43029298b014d56ab4c06b2d395a88e7518caad576b4f88398d","lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-2.a":"243cd4c16e8dc7ec9fd644013c10b4949aad0af52dd8e3db3dafb5cb2bd8eabf","lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-3.a":"f24c7f20b0ab73a80201b20f6a1eccd48b9cba236725c059c2312fce629212e4","lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-4.a":"1934abec8171e72074d5c24208313b3ec344593fbed1161176bfd125d683e620","lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-5.a":"d980764c22793fb004b9d6ad38cba6f24df6a602375d9880ebcfbdcc7379223d","lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-ansi-l1-1-0.a":"1cb14815487346aef5a3dbbd3a2b0d30940cce6bc9971f67959c5e9be379daaf","lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-ansi-l1-1-1.a":"c5de9ae7e429fbf795a23d062c52c5727137a963abdd0dc84841b31b63a636aa","lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-1-0.a":"486b3f95eeb2683798486d68d11d4eecbc6c280087e41125290ca393d80a8222","lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-2-1.a":"0c17ff9e0d8a23dff2fe3050b9fbb195be65b7427c04b2212b6ccee8aaf5ee60","lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-2-2.a":"4b8dc31f16b2949308ed19af7cb9aca027e7895502498e545d50ebacd99366a3","lib/libwinapi_onecoreuap-api-ms-win-core-namespace-ansi-l1-1-0.a":"2fef444f0abe8c0920f31cce744e644ef7eb12e499d912595a7ed14222ad85d1","lib/libwinapi_onecoreuap-api-ms-win-core-namespace-l1-1-0.a":"4c76d9807883478f3120cd07b6cbefbdface7395579f97e0fed6f6b3a24ecc4c","lib/libwinapi_onecoreuap-api-ms-win-core-normalization-l1-1-0.a":"29609814bc5f82d39f4d7bb54194422bd2157e453222d19e0a6f506d08c107d4","lib/libwinapi_onecoreuap-api-ms-win-core-path-l1-1-0.a":"2f75edf68e1c98f473116442cf5d9eb2b423b9837e5adc86f92341a9ce211680","lib/libwinapi_onecoreuap-api-ms-win-core-perfcounters-l1-1-0.a":"9315a89cd14353866fd275198f8de1d1cf4f6b65061c5cc14bfdcea77e63de43","lib/libwinapi_onecoreuap-api-ms-win-core-privateprofile-l1-1-0.a":"10c02c555b6dbdda7b9ad0d92b84246e3b1184c6cbbb2d0f7084895345c05fea","lib/libwinapi_onecoreuap-api-ms-win-core-privateprofile-l1-1-1.a":"f92d83afc6664e46a881ac5fac52d4fb6964e96eee2e30cff6322cea97c0bef7","lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-ansi-l1-1-0.a":"09464dc83a12cd3c2d0853677087466a4204f31bda5dbb281988626b5e40e199","lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-l1-1-0.a":"545f03e2c75ed3c32169a6c434613a48b62302ff7331c473fb91b17b605e6cc5","lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-l1-2-0.a":"ee3e0e9a02a6ca01167b1dc76d9fb3424189407e4a847e11627d3864159bcac1","lib/libwinapi_onecoreuap-api-ms-win-core-processsnapshot-l1-1-0.a":"df1b934538dc0a4f882494a1c8abdf48b0d53a4e438178efd467e1cfc4a4d81d","lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-0.a":"ccc89a05d8d0c99105e6d0ad1fbf2bc38f2892892ae9d15f9fff407311571246","lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-1.a":"d4cb12d32b81cf5705686ad082f02029d92db818d7efd8b207d36541764637dc","lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-2.a":"8fd3d7ea7a813f933a361328faca0e38c8b0b16b1d5520aa267662718b1b7c57","lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-3.a":"2f155c81b6e30343acdc75c552555dca1f9a8926c032c6b3acee14cff972f960","lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-l1-1-0.a":"5ce093dc8df1636e4cf347f5d51b8538ac857bf2d9722d3d99511143e781fd04","lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-obsolete-l1-1-0.a":"38880be551d3f1f978c331e1ca5d8cc8b55cafa1e1871ee67fb739b9c612d04a","lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-obsolete-l1-1-1.a":"76ef29dad970a16e1c40549ff34b0ee0b86bd584527f2a137b21be768ff7933b","lib/libwinapi_onecoreuap-api-ms-win-core-profile-l1-1-0.a":"dcfd4b505c08ffe79a5757fa94e09a77b1d4de56495422f057871ba4aefbb210","lib/libwinapi_onecoreuap-api-ms-win-core-psapi-ansi-l1-1-0.a":"ddd3168ed388af231eec3856534213d48bab350fa7bf4066029b0467dceebe6d","lib/libwinapi_onecoreuap-api-ms-win-core-psapi-l1-1-0.a":"41455407280d072f955e31fe23e35cb4fc5d21b1fede9c75414a9d18533a6bdc","lib/libwinapi_onecoreuap-api-ms-win-core-psm-appnotify-l1-1-0.a":"d606d6b977ec5743cffa24a78023cd1689e9a49f980f384257e1f26c45202f86","lib/libwinapi_onecoreuap-api-ms-win-core-quirks-l1-1-0.a":"51837092eefa3cf79f2bce33634edfd16f6c2e7afc1e126b8fb2ce544eb7e598","lib/libwinapi_onecoreuap-api-ms-win-core-quirks-l1-1-1.a":"e5238ceec5d73cabc0dd3eafe895c225cc486ea1a50d8a06f41b841d1a10a95c","lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-0.a":"4d6a1d3393cd4148b33d03bfabf78e4192d0b36c757b608e207a407c7e51258d","lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-1.a":"4c0ac153ed29cbf086eba2a213618dc1bd160bc10600651a62699e71574970e0","lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-2.a":"48b271dffbe9fd590c75a03b07b95d296846b74865a985952571a3ed767230d6","lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-0.a":"8e5364b76783a2a057e65bde14fefef76e45d75980f95bdf73f1ae85ce0a4c2f","lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-1.a":"c249ee18479948017c89cdc72319f06936766f6f4b67c44ca45f345846009253","lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-2.a":"fcd5e36aa26ff5956633691bf2fcc29597e208cbf7d990f63aab6740237e3b3b","lib/libwinapi_onecoreuap-api-ms-win-core-registry-l2-1-0.a":"5870b00b573a1af4c9027bbf4d85fe8a7d399567a0b12a37003c2f4c61483117","lib/libwinapi_onecoreuap-api-ms-win-core-rtlsupport-l1-1-0.a":"2781431bfaf5ce5ebefcca998dd8795cbf8fcd5146c116a7c987a1354f77103d","lib/libwinapi_onecoreuap-api-ms-win-core-rtlsupport-l1-2-0.a":"202e861a1b520b3240b2a29392ab6533685a4961577278d03e4a7edeb8b2ef0f","lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-ansi-l1-1-0.a":"d7658dbb5857d59b26239394cae3febae0bb3f42d08127fff44fa4ad3ecc9f6d","lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-l1-1-0.a":"aaef3a002e3861a9fde26b62a8212343c6edf5fa40133be2a559dbb5e53c9a12","lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-l1-1-1.a":"680ab1e2bc0ac585b7ea087dde64235a96e7b4f88bf9a09be2bff9705f6842ac","lib/libwinapi_onecoreuap-api-ms-win-core-sidebyside-ansi-l1-1-0.a":"f5bbe60a885264a82aa4d77b4615326038f66911a063f45859ef11a9aaec90df","lib/libwinapi_onecoreuap-api-ms-win-core-sidebyside-l1-1-0.a":"e6f0c4062d080c0a04b203b9bdb1444a19cff033fa605b90a419dc0881c4fc13","lib/libwinapi_onecoreuap-api-ms-win-core-slapi-l1-1-0.a":"215a69c1cbb52b067e37292b95b86de28a0648d89388ef5a15e8c40cca10f1b7","lib/libwinapi_onecoreuap-api-ms-win-core-string-l1-1-0.a":"451780a4598e947d000ff30b7eb10e360091b563bf70e20af2c94c7eec51a9c8","lib/libwinapi_onecoreuap-api-ms-win-core-string-l2-1-0.a":"1d4394e37606fa4baea5d0f6bce1da43775524b0b045d7963926e110180cc6cc","lib/libwinapi_onecoreuap-api-ms-win-core-string-l2-1-1.a":"d05d1992c5bcd95cd2ce7501625e634992c11a7211dd38c27e73a91502be2c4a","lib/libwinapi_onecoreuap-api-ms-win-core-string-obsolete-l1-1-0.a":"6ea0a007e81fa48e1fa2588944deda7385ad7c095828effb01b862c31da50a43","lib/libwinapi_onecoreuap-api-ms-win-core-string-obsolete-l1-1-1.a":"d9bb5b58d9300e8c02a6308ea5f00b8c4262bff684dad472a1cc2b29ea7e077f","lib/libwinapi_onecoreuap-api-ms-win-core-stringansi-l1-1-0.a":"a86890ba722cf2d6d004566cfcec8b4af09fd47b12816312a082b36c6bf075c2","lib/libwinapi_onecoreuap-api-ms-win-core-synch-ansi-l1-1-0.a":"4352877cd0720a1603f8075146fde3f099066f58aa0ec8302281321cd3d4b98d","lib/libwinapi_onecoreuap-api-ms-win-core-synch-l1-1-0.a":"5f0218f025935c7e4b65961e11eeed266492bd1f0301ce6c25ac24d002b22b62","lib/libwinapi_onecoreuap-api-ms-win-core-synch-l1-2-0.a":"e725dc6a2ef1d60d775efa4d343293909aa5517750cca04164bcb61d46e5916f","lib/libwinapi_onecoreuap-api-ms-win-core-synch-l1-2-1.a":"ac297b8eb54fc34eafa7b759bfed04dc18c93daa7f93e7f0f2cea3a7c475a7d6","lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-1-0.a":"98c68375875558c4f411a88bad4dd37a340d6e4163fc032293d711d4db0d9284","lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-0.a":"2a2fdc4266fe6b331347d856efbed6c31aef1095a2395958dfb138a22e7e0593","lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-1.a":"32db6c6d93a4d037b50116bcc7910c6225d6e8d2a3608cd394284e1823f62808","lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-2.a":"67dbe9be1cdf2767f1d3b3bec1a2c9df8f3c5eb0a975524e7556b9b0ea78a2aa","lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-3.a":"8b1afcca9eaef220bbd5d8f0cdb6e88aa9036e90fc1ee9de96c2c1111c409bc8","lib/libwinapi_onecoreuap-api-ms-win-core-systemtopology-l1-1-0.a":"47cff5f175894c712e6d20d1c404090459d35d4dae53b3497d9242ef2f2d73e3","lib/libwinapi_onecoreuap-api-ms-win-core-systemtopology-l1-1-1.a":"f1d4efcd0ec7d87bc7c8dda10663fe8240c8d48aa07197bec6652ed525690649","lib/libwinapi_onecoreuap-api-ms-win-core-threadpool-l1-2-0.a":"b19ac8221162a0f9566c9eb87ce2b86e87a1910fe2a7881820211f38ee3aeba7","lib/libwinapi_onecoreuap-api-ms-win-core-threadpool-legacy-l1-1-0.a":"ad138cfa5e31068274a952129ef479bb7119d3b42b34374644dd41e49458ad27","lib/libwinapi_onecoreuap-api-ms-win-core-timezone-l1-1-0.a":"f21e218279a75c78afc87c40d2a2b754342da2bd0cc8af897f95f8af5a288d3b","lib/libwinapi_onecoreuap-api-ms-win-core-toolhelp-l1-1-0.a":"f00cc735cc566b693c5b742bfb2d2d354108bbcfe586c65614f014170d6dffa9","lib/libwinapi_onecoreuap-api-ms-win-core-toolhelp-l1-1-1.a":"68359a6e23bc3f7e0b28649b2043636878b3ab9b51d2ea654af5cc0dd121d3a5","lib/libwinapi_onecoreuap-api-ms-win-core-url-l1-1-0.a":"be126eccd520e8277bfc8d6a19c4c46ba1fff311c26cd06edb74f9051ad99893","lib/libwinapi_onecoreuap-api-ms-win-core-util-l1-1-0.a":"42c356e09939dda837beb51b64ba7f97166eeeda2f266cdcb6df896a04de3aaf","lib/libwinapi_onecoreuap-api-ms-win-core-util-l1-1-1.a":"ba0fea23ced4dac28a60163c4e8fd09f21e01f50b7f530b54ae011052a168bc9","lib/libwinapi_onecoreuap-api-ms-win-core-version-l1-1-0.a":"052ed9804659bd50c539cde044099ef780c243485a9115a69b8f63072db7a982","lib/libwinapi_onecoreuap-api-ms-win-core-version-l1-1-1.a":"d9e70d125b57d17914aa6bc13eb016d7ab4f91e7000a2c7080b8e87e295707c0","lib/libwinapi_onecoreuap-api-ms-win-core-versionansi-l1-1-0.a":"bbc4afbd98ce59031aee26fa274422ad398495992645d1cfced87c9190814275","lib/libwinapi_onecoreuap-api-ms-win-core-versionansi-l1-1-1.a":"1db4d7b4c6533b76908e02d0f10c503a462cdfab31943f0dd5977cdaebe80efe","lib/libwinapi_onecoreuap-api-ms-win-core-windowsceip-l1-1-0.a":"71083395675d6a70737a536740c738fc5a78fd994f2765e805114c7abf967145","lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-0.a":"815bde766214e8c587755e7a64b414e8c36ef5254271d349c8ccd83f572c2554","lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-1.a":"0a81e3a58b0eea1700b4c34aa134a6331d4676af07cb95d743629486410db5f6","lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-2.a":"d247c358caad935a249046662bd264177bc64c42bf7ee5fff3800c3bbe5a5cb4","lib/libwinapi_onecoreuap-api-ms-win-core-winrt-error-l1-1-0.a":"4efad1a7223a869ac244611db554b0aedd7d71b3eceb5b1a05ca86ac227f18d9","lib/libwinapi_onecoreuap-api-ms-win-core-winrt-error-l1-1-1.a":"18a5899b0514067a826165a2dc8b7269af1215fb6ebcb73f6d66ba5ac8cc6126","lib/libwinapi_onecoreuap-api-ms-win-core-winrt-l1-1-0.a":"89fb7e6c8a71f2bd94e8b2c8582e364cb2c16bbc7ac6ccfd09a3d4928bc8e155","lib/libwinapi_onecoreuap-api-ms-win-core-winrt-registration-l1-1-0.a":"3018bc64cbcad0a5e4f2971d9809fde825354fd0ae26687cc3e60360305f3eb9","lib/libwinapi_onecoreuap-api-ms-win-core-winrt-robuffer-l1-1-0.a":"31ac7ba09d20175054ff31f9af80c08ad85c0a29be39cfc1635ed2b27e81eddb","lib/libwinapi_onecoreuap-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a":"636c8cd23dc6562b21eb38c5f669b24f35e6bdbcbbaa98b307e59c4f0f0a275f","lib/libwinapi_onecoreuap-api-ms-win-core-winrt-string-l1-1-0.a":"b48880147bd2d1a80250763917d241d22f5a8e3a6f6e166794981b25f844d2bc","lib/libwinapi_onecoreuap-api-ms-win-core-winrt-string-l1-1-1.a":"b610a885501f6cc752b489604dcba7263369c9d5bd77b2da2cab13f53b6bbb35","lib/libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-0.a":"d142984bd3e767cdc58fcac0424531a2c2d9b9a144a980f915f4284201853376","lib/libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-1.a":"4085cab48e40967e5e1e8e97e434b71ee99f6b61d37e0de094cf75e1aaac48f9","lib/libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-2.a":"59db977a01e378e44b99b1948c48ac05629ade8d7a765eb9bf5b907417dda47d","lib/libwinapi_onecoreuap-api-ms-win-core-xstate-l2-1-0.a":"673a6cd40adcdec372e4f19137bbd7313590d2b15968beeba81f621c614b0ebb","lib/libwinapi_onecoreuap-api-ms-win-devices-config-l1-1-1.a":"2005e03b1501f8132abdcefcc57f67bb035980921ce5a2fd1b3b562a09317fe5","lib/libwinapi_onecoreuap-api-ms-win-devices-config-l1-1-2.a":"c2c12007510ddebfd1bd0e728b5d2c22f7f3b2f1709e3292fdbef51272ea0e62","lib/libwinapi_onecoreuap-api-ms-win-devices-swdevice-l1-1-0.a":"39c656589749fdf35c69a1766d78e72f7d8752bb0160ecfb420dcd90b88aa641","lib/libwinapi_onecoreuap-api-ms-win-devices-swdevice-l1-1-1.a":"4b88fc33d145f75980a2c41c9e388a4b7306a188864bba2d691ef8e7b3b11be5","lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-0.a":"678c64c107c4bc675c560beafd5825486b6df2a2fc188edd8486a557ad4dfabd","lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-1.a":"bb05f6eb1f0653bb73a95f81e4ca4372cdfc4d8d5c1fd2bac77e42bcb1bba309","lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-2.a":"4d3e3af73a57347050bcaf7fc41e6d808764fa76e4a376285bc80eb59148d7ed","lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-3.a":"081c8645869cb668c6ad3afee70e2c34f195385415e709e9ae7535932f4da08a","lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-4.a":"0bb03b24f02b1c7ba97178ee8e8f3b39e6bfa55afcade1f8bd8939f3b67f55f4","lib/libwinapi_onecoreuap-api-ms-win-eventing-classicprovider-l1-1-0.a":"db1288414b42cdc7044406f9921a81c5fb186bc73312e468749f156f6f03c40f","lib/libwinapi_onecoreuap-api-ms-win-eventing-consumer-l1-1-0.a":"2c79559696b2f870e4908288fa5408c847beb64b8dc73beb08cdcf0b1a40f6cd","lib/libwinapi_onecoreuap-api-ms-win-eventing-consumer-l1-1-1.a":"9e94fe7e1ffb578ca39bc43b0e0101205be66e6ac43a725f07f6548ed087300b","lib/libwinapi_onecoreuap-api-ms-win-eventing-controller-l1-1-0.a":"2a063c56d77f0addd6a16e8ea6d88e1462c023c702c991b2b86736f002ffebe0","lib/libwinapi_onecoreuap-api-ms-win-eventing-legacy-l1-1-0.a":"d4cd460dcb927feceb0dce96ae90d1642c82dc529cb3ccb4589a915b25fe1c34","lib/libwinapi_onecoreuap-api-ms-win-eventing-obsolete-l1-1-0.a":"025b8bcdca89ed47485c49dde4853e5970f7ed786f69b0ab5807ec06e7bba366","lib/libwinapi_onecoreuap-api-ms-win-eventing-provider-l1-1-0.a":"7876289ee5040a3f11148aefb7b01fa202ca79cb9069da5b8caf86737b437426","lib/libwinapi_onecoreuap-api-ms-win-eventing-tdh-l1-1-0.a":"89667e7ec7dae91e79ed5fa13d891c37a8e286bb45dd8de9a8dd448a2f736dce","lib/libwinapi_onecoreuap-api-ms-win-gaming-deviceinformation-l1-1-0.a":"5fd19100b3260241e8878141cd5bd8f3617ed4c48d6b6452e14aaf08cdd27089","lib/libwinapi_onecoreuap-api-ms-win-gaming-expandedresources-l1-1-0.a":"5e1cdc4cd8cec594d30db4914b729ebe6583a6f5af036ff93a177f099ad9ee53","lib/libwinapi_onecoreuap-api-ms-win-gaming-gamemonitor-l1-1-0.a":"38dfcc7ed83bcfe38b7e905561133b27cf594dfc1fbb96fa03b80feba76ca16c","lib/libwinapi_onecoreuap-api-ms-win-gaming-gamemonitor-l1-1-1.a":"38af3947214e5d665c024c29f9f39414c943707cd9c86b87dc2fb18d2295b0bb","lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-0.a":"da3d65e5bd1915f53eec24d849e20091633a6b13f5a8d1be73388b0213e3439c","lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-1.a":"0bd2282616214fb725aeda88bd59b7091059f6f5002d52ae2e8d754d7d06ae6f","lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-2.a":"92a3e07e323a2f1614cdb421cfd140d427ec9703f8edfd2a114677246286c705","lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-3.a":"9f93f9d9abe2634fbbec022e66b9d8adc281cbcfac531c9431e041c5cf9a89b6","lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-4.a":"489159c1464d80c3fb0969411fab3f43b9aa1c285099a2975b61b28bb1875b64","lib/libwinapi_onecoreuap-api-ms-win-mm-misc-l1-1-0.a":"297a027aba604387f23060466cd5304cced64d47052f338bc86c2af9cf687b64","lib/libwinapi_onecoreuap-api-ms-win-mm-misc-l1-1-1.a":"fdc97903a1bacbec67e55d45b07b23bef41f4cc03a8616c5a648bf487a70e0a4","lib/libwinapi_onecoreuap-api-ms-win-mm-mme-l1-1-0.a":"a46a947a4eb895937163b34da1636c7409db1b1abd7062a48a36f3c35e8eabd9","lib/libwinapi_onecoreuap-api-ms-win-mm-playsound-l1-1-0.a":"c6aa65feeda4b5f202beadaaf82e6653dfbfe50262e3945d3d82136ab3b97f11","lib/libwinapi_onecoreuap-api-ms-win-mm-time-l1-1-0.a":"81d7edf1275352ac2fdd63d5ed7f7345fd264e352c9f52757de771e668b6e7a0","lib/libwinapi_onecoreuap-api-ms-win-ntuser-sysparams-l1-1-0.a":"7ca93f87be1e2a1d3216727b40f54af4877408697b366d7a8775fd3f0932ba05","lib/libwinapi_onecoreuap-api-ms-win-oobe-notification-l1-1-0.a":"5013e2276a50c14ee76197c6975d5e7e49477b9b94b7731b324528a43c8d8149","lib/libwinapi_onecoreuap-api-ms-win-perf-legacy-l1-1-0.a":"302d3b509146b4f79224111a98537bc5312f2b7462431b78041fd20180370ba2","lib/libwinapi_onecoreuap-api-ms-win-power-base-l1-1-0.a":"de568a8e22d5641b02b1ce215f40d928a994b5a812f7ddc6073ef990d14395de","lib/libwinapi_onecoreuap-api-ms-win-power-limitsmanagement-l1-1-0.a":"c571b5c61c89101d79153fd5e325e529746a4f935009502eccf49be2639fbcd0","lib/libwinapi_onecoreuap-api-ms-win-power-setting-l1-1-0.a":"ba367b58b92a4849b9d42358e114975fa77ae61db6566ad17b64b117767b7ac2","lib/libwinapi_onecoreuap-api-ms-win-ro-typeresolution-l1-1-0.a":"588c8f8e2a29ab4f8f42592a1a4b1bae39952e5e048ba009bb455241d94b9d6e","lib/libwinapi_onecoreuap-api-ms-win-security-appcontainer-l1-1-0.a":"91e9d15d917625efb826adbe249caf52b9374b73b69a3705590f9449f7a9728c","lib/libwinapi_onecoreuap-api-ms-win-security-base-ansi-l1-1-0.a":"e99e7d5084b34115b5857a0b0da2312c3b3bb35a19124a0fa9b6fb158df7a827","lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-1-0.a":"29177671bb7aa2dc730255cc4e9e5a776d33627908d6fa804f613d502288fb1a","lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-2-0.a":"3ccde6785b18b4ccb9954c58fcdfcbdc9ac956510fd3b6b5f673916e822a284f","lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-2-1.a":"bdd276e8ee3b5bbcd4c963a125b7aeb41f09ba78f9393b9a782e75d701202cc5","lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-2-2.a":"d73d1b267be96b03a77b62a0f0109ed57ca963d263c40cf0b8392376b7019737","lib/libwinapi_onecoreuap-api-ms-win-security-credentials-l1-1-0.a":"7db8b25fe27e4118a11ee1ce592ebc1ec02f311f24e4ad728a52c14bd57b5388","lib/libwinapi_onecoreuap-api-ms-win-security-cryptoapi-l1-1-0.a":"e78d3845b2d2a998071316cf02b84cf8768b4cec8c07f61ea6529b047c02e8bb","lib/libwinapi_onecoreuap-api-ms-win-security-isolatedcontainer-l1-1-0.a":"b39deb635c9b75ad994434ccb40a34ffa5a009537da8f2daa24be9e5f2e5b52f","lib/libwinapi_onecoreuap-api-ms-win-security-lsalookup-ansi-l2-1-0.a":"0e053bcb2dfedf93db1f0d1cc10fa6376291c74fe42d0632e446e651d4bdbfdd","lib/libwinapi_onecoreuap-api-ms-win-security-lsalookup-l2-1-0.a":"ea06cd6eb2ef5f91ce5842db474e25d932f6ea9a2308beed0987b1d87cecbe33","lib/libwinapi_onecoreuap-api-ms-win-security-lsalookup-l2-1-1.a":"7ff8b66d0cae038647b654a51971c03cb68dd2d276367494a42e12c68329e43a","lib/libwinapi_onecoreuap-api-ms-win-security-provider-ansi-l1-1-0.a":"55a1489c8a5fdc42c9c8837e9a60fb8ca846437bec53f15a622c273b5383ebfc","lib/libwinapi_onecoreuap-api-ms-win-security-provider-l1-1-0.a":"90fb932b6acfb04c18ad578d21e92d650bf85a533011cd0a475d0ec82a59bc2d","lib/libwinapi_onecoreuap-api-ms-win-security-sddl-ansi-l1-1-0.a":"a473d99ce6bb8322d7e689b15984663c800d7c1f3e67d1b3c5ccd9d96b959c88","lib/libwinapi_onecoreuap-api-ms-win-security-sddl-l1-1-0.a":"0ee760ace08e164fab85f820006ce8815044fc433231d68b6e9c3d159443acf6","lib/libwinapi_onecoreuap-api-ms-win-security-systemfunctions-l1-1-0.a":"b5c6e51d36999fc72d7522530cc2bbb0f217828aa95b32bc6c08392ab66e8af6","lib/libwinapi_onecoreuap-api-ms-win-service-core-ansi-l1-1-0.a":"00237c5c1db6884ce4838160ed785152cb40c41375e7b1629c681aea13adcd60","lib/libwinapi_onecoreuap-api-ms-win-service-core-ansi-l1-1-1.a":"80b7b1504cc24abe588f7ecd0790eedcb8b2c211ca663cce314c076f09a1b670","lib/libwinapi_onecoreuap-api-ms-win-service-core-l1-1-0.a":"db753a291d09fe4ec26112375fb6373b0aabed532d410b70c6ed24f23a51308c","lib/libwinapi_onecoreuap-api-ms-win-service-core-l1-1-1.a":"a781ed18c9c34337d5a4371c8a462b6113513e948421ff05c66aa6e75a769ea9","lib/libwinapi_onecoreuap-api-ms-win-service-core-l1-1-2.a":"034bc5dc8aca49021307759180266ae2356027122e448881c2802950afcbfd41","lib/libwinapi_onecoreuap-api-ms-win-service-management-l1-1-0.a":"a519ae4dc74c73a907c6eacc0a139c6d711dc197bd7ca20156d0b1b0fe3fff22","lib/libwinapi_onecoreuap-api-ms-win-service-management-l2-1-0.a":"aab7256caa9592403af60bb53576826db02ab98ee3ad159f28d7cc07b3b26ff7","lib/libwinapi_onecoreuap-api-ms-win-service-winsvc-l1-1-0.a":"e5cdb3ca221f979bf4a95b18fb6e10f37c8b5528ea2307a3aab168f05ef7d78c","lib/libwinapi_onecoreuap-api-ms-win-shcore-path-l1-1-0.a":"25745fd8cccea13271fb1e5bb77ce8e586fb6373083fa85c7643ca889c826cd5","lib/libwinapi_onecoreuap-api-ms-win-shcore-registry-l1-1-0.a":"83d9460385c14ca2b1c2d31cfba4a6f458c26b50ae6a881f69a2ada5438c0d8b","lib/libwinapi_onecoreuap-api-ms-win-shcore-registry-l1-1-1.a":"afc589549c805deb270fba1858895303b8c85009a5ea6f8a8ee851f2ec1fc435","lib/libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-0.a":"b55fe6d9d8fc9ae5caaf6dcd600d9e85e2565a5fd7d2ad935ac718ad071b66a8","lib/libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-1.a":"cff41a245275ce4997a00cbe133530bd53a2d1e11478bb0916216e04d9f3770c","lib/libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-2.a":"0789a760a1eff7954397e0c0bbf6a4361d207e768ebe7462408efa2bfe230245","lib/libwinapi_onecoreuap-api-ms-win-shcore-stream-winrt-l1-1-0.a":"912b8527edc807990ebe2e9b2d897f8999d2f46afa0f18a40a1f95bbb4da7260","lib/libwinapi_onecoreuap-api-ms-win-shcore-sysinfo-l1-1-0.a":"f93089f8d3b65e117a7e2da3a070c21020f17ba7fd4896007b49f835db63ec65","lib/libwinapi_onecoreuap-api-ms-win-shcore-unicodeansi-l1-1-0.a":"09a8c1c51c429f9d1372fa8da39e5347b04936ae4b91c9b42d5b7717289575b7","lib/libwinapi_onecoreuap-api-ms-win-shell-namespace-l1-1-0.a":"818744fc89764f3cede4ce7705477aa08f9b5fae7c268f7fda7a51632eb4ba4e","lib/libwinapi_onecoreuap-api-ms-win-shell-shdirectory-l1-1-0.a":"d9eae63e869b060ca7baf0d11636cd364ffed32d82e539ca49910708ac070ace","lib/libwinapi_onecoreuap-authz.a":"b0087e02bdc1ba5a6b604507ca7a0b4adc4911898edad9313fbbbe31ab5148f8","lib/libwinapi_onecoreuap-bcrypt.a":"4dfc5046f245c441eb73374f223191a4d31fe9e298f9da0c250deddf7e63fded","lib/libwinapi_onecoreuap-cabinet.a":"997c70e81fe1ee8aae77a783f8c22d113e0942364b79e6fee59ba98e88a6e28c","lib/libwinapi_onecoreuap-chakra.a":"4da85e72edbc4ab7f5f203f4721d062fa292706cb8a8e20553e5cb3f29f311d5","lib/libwinapi_onecoreuap-coremessaging.a":"e6bf985ee95bfa007e76fe4af6e692864afe304b598e284666ea99fb3e0c2e70","lib/libwinapi_onecoreuap-crypt32.a":"8f2f9990ef20feac1f86fc2fd53d0446e3bbff05e89a5db3d5040df557e129d7","lib/libwinapi_onecoreuap-cryptbase.a":"85deea089b92e7af4eb762b2d2ec37be6b7cf7becaeffbcb55b98b7e5158a959","lib/libwinapi_onecoreuap-cryptnet.a":"898938fde8b3a27249816d93ac806bdee05000fb4d154da57b66bcd9f0ef5c49","lib/libwinapi_onecoreuap-d2d1.a":"3f5e8bd1c3efed072f2b800c597b883e911a3688e008b3f61bf65329e001e230","lib/libwinapi_onecoreuap-d3d11.a":"16286d720860c65476daf0e1a2edd456a53e794881edfc9132f8f672cb6de336","lib/libwinapi_onecoreuap-d3d12.a":"275cf82ad1dadc157f6451a6e1e005115c99503a005b4b81f3c11c7e82aedc65","lib/libwinapi_onecoreuap-d3dcompiler_47.a":"69e4e84582ceda25cb6ced4da20a35f0714a174621a04eb781eb66a296ef900a","lib/libwinapi_onecoreuap-deviceaccess.a":"7e623da399c5b7ffcb22585fab44f19e9c6883730d58eaad12da4e62e683047f","lib/libwinapi_onecoreuap-dfscli.a":"ca27fe9acf7b684586eeb5adee70e3481da216d8a50fd040fa2cb90f03d8c3bc","lib/libwinapi_onecoreuap-dhcpcsvc.a":"189dc2186e79e0d69ba477ac57997d358697b6875e39068d28bb25e7487da647","lib/libwinapi_onecoreuap-dhcpcsvc6.a":"3cf7fa8066a4705acdfddf0b8807811eda2504d37e3cda9d4844b5307d0004bb","lib/libwinapi_onecoreuap-dnsapi.a":"0b23ce68f4dc3215ecd833f8fba9c0ae9dc3b65ef52eeca247dc2733c7858545","lib/libwinapi_onecoreuap-dsparse.a":"b1f3525fcc509959f68094b613f24fffa1ca79a0421e5e0700fa743fc22382e9","lib/libwinapi_onecoreuap-dsrole.a":"56a7e387412285e2be1aa2a9abeb58dea338d2fb952ca45653ed404edef4f6e5","lib/libwinapi_onecoreuap-dwrite.a":"7d70b0cea50eedc373bb21b0aedf0d37ca2073cf165a7a20024a3d8ec4b6f040","lib/libwinapi_onecoreuap-dxgi.a":"296c5520cad1dff933e00a3cce5f0c04a9bcbac7eedca01410f3cd5270cefa12","lib/libwinapi_onecoreuap-esent.a":"ca9b7ef4d8260391d985d6faa9778880d2923d5dff5808581ca15ef851c16a80","lib/libwinapi_onecoreuap-ext-ms-win-core-iuri-l1-1-0.a":"c21683fb91594c9e41a64bf85427e4dc2841817cf28af76db288109bb98f1607","lib/libwinapi_onecoreuap-ext-ms-win-gaming-xinput-l1-1-0.a":"0d6c985cb498bbad3aa7b8e4d838ce6b2e198ce51b62c411c557fd32d7ea7822","lib/libwinapi_onecoreuap-ext-ms-win-networking-wlanapi-l1-1-0.a":"daeeee3af2d3fc5604db26ae3944d5da419c2fe36682835199a7d67b0e9335e3","lib/libwinapi_onecoreuap-ext-ms-win-shell32-shellfolders-l1-1-0.a":"6db0f416b2e2b41c16c13083acf107c966f878736d669f0b6bb4e434fbe56e5c","lib/libwinapi_onecoreuap-ext-ms-win-shell32-shellfolders-l1-1-1.a":"f1a8b3c486a9deebe4ceaf19b5e6abe2854e7583565a52d00dff0e90efb82b40","lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-0.a":"af6153478f9ecd5351c8177172037b5b88717c8cf3af620c8ad0f36655fc0fe1","lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-1.a":"42e77d1277a6c9d8338d228776e773baa7402126ea3414e0578ca4c2812e1f83","lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-2.a":"b0bfe4bdf945ceafd3e2555f933c6ed2890558094573b56c641468089ee2d0f8","lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-3.a":"02f0d2d6e6389be7367468eb30d1dc8c096b6bdfcf7150799a1ec05a88094274","lib/libwinapi_onecoreuap-fltlib.a":"b888de58402865fc62b30e12161819e454edeeb81469aceb8bb537954e64ea7c","lib/libwinapi_onecoreuap-hid.a":"e721b5f6b4a14311c2989b3061daa6ac4846ef52f20ea0aa8c1cea8d452e9af1","lib/libwinapi_onecoreuap-hrtfapo.a":"e508ba82ef44b6eb4d598e7541b54f3a1d2f7dc09792b68fe9698b41844bba38","lib/libwinapi_onecoreuap-inkobjcore.a":"1e322dd27abaf96975a65c5a192ef8ee781964a15f0ce874b3c846720d768a5c","lib/libwinapi_onecoreuap-iphlpapi.a":"af8e1d386d8c772e58656d2ca189e35be48485bdd4cca82d0f0986d7cb256544","lib/libwinapi_onecoreuap-logoncli.a":"2b9fd321ddede7d228d2827338aea5f96ae3fc029791a5667389e4be89298934","lib/libwinapi_onecoreuap-mf.a":"a7eb11455bbdc1cbce6e76ae8deba2ff2063fa522378f2a6ee7fd51af60e2ec6","lib/libwinapi_onecoreuap-mfplat.a":"0c29638fd4287f7ecd0e50e3deb7f90c6ec742606301c648426b511f811e74da","lib/libwinapi_onecoreuap-mfreadwrite.a":"a8a5a490c6f5c0c65c86d0ec5b8d5e85a9490f95cb6d394270512ebd729984eb","lib/libwinapi_onecoreuap-mfsensorgroup.a":"f520843b4b52d97669beeb7ab1b909ad28d486468eeaa322692e7e46131097f6","lib/libwinapi_onecoreuap-mmdevapi.a":"45b7bf35c10cfc14a5e583befee0ea1b941f21284c1fd1e151dcc63a8dd2c0ea","lib/libwinapi_onecoreuap-mpr.a":"97a29ac8014e56c94128d495f833128fc82ec324f4a6422c9904f7be563669ac","lib/libwinapi_onecoreuap-msajapi.a":"387e2374ef7c7811f9b2fad493715bc2b4222a61c51780736ae1ff5161cf8227","lib/libwinapi_onecoreuap-mswsock.a":"fffb40fc34f6d1c814c708a8538cae9a063609ff00d303af8282f5bde64392ed","lib/libwinapi_onecoreuap-ncrypt.a":"92784794cde4bd1740b5a05c64dcc5cef5d74f9b0de75e5896f7fb93fb71793a","lib/libwinapi_onecoreuap-netutils.a":"479cb4ec40e4cfdd8922d2faeecac43574878a6aac4b79a40dab9ca4e06e8136","lib/libwinapi_onecoreuap-ntdll.a":"1d595844847f342d4aea12a72244b6a026c59cc1bcc53a22f897851ba3d7d78e","lib/libwinapi_onecoreuap-oleaut32.a":"b7cd9486d641252ff347d2789b5056eaf5e6aca133abf55f038d03bbe30b5cdd","lib/libwinapi_onecoreuap-powrprof.a":"ecbba8769819c8e4b875e811e6b16431ae72823eb1ecdc44ef6c0edd20ba251d","lib/libwinapi_onecoreuap-profapi.a":"6ca6834e6f360fba79663814de78f063cc66c91097a5022d38487d9ebeb17418","lib/libwinapi_onecoreuap-propsys.a":"06693d40f11365d3c5d02820a12438a28bb6bc303ba963de8e3db794db8b6d0a","lib/libwinapi_onecoreuap-rometadata.a":"5ce482d52f176128e7e21e21496e3a792b9aab7257d86833052f2a4d438d1881","lib/libwinapi_onecoreuap-rpcrt4.a":"a2201586d6b38834a9b5d6365f1370c223464dd00f02b4cd64f35cd6a818fdd7","lib/libwinapi_onecoreuap-samcli.a":"42de91bef47de2bacc6bbc87d8eb08539755679946a0e90b0063d85fd3271427","lib/libwinapi_onecoreuap-schedcli.a":"9b02171c8ff00202939861898e19d8b2179253174c2b13d5aa1cf7bf442136b1","lib/libwinapi_onecoreuap-srvcli.a":"5f4200132e924a3eacf5062efce801cfb013936cc2367dab171259a690aae9f8","lib/libwinapi_onecoreuap-sspicli.a":"0cb8421e125bf93af55e64d181013a57f319d6a2e789eaa01cd9bf77272ba0f1","lib/libwinapi_onecoreuap-tokenbinding.a":"4cd364aebc64795031bf77ace65846ff78b9a9b276ff98ee470ee446d2e4cc08","lib/libwinapi_onecoreuap-uiautomationcore.a":"2a3d7e26b81d7c5c16a430080a5b770ac4f29644f7fb881e073c3b5d26764105","lib/libwinapi_onecoreuap-urlmon.a":"174501cb43a18a7f888b1199f59e65417d63c77a548d0dda237ecffd5c324d17","lib/libwinapi_onecoreuap-userenv.a":"53949d2d08e0281903b926ece14d552864384875c0c2910f4b78013c59d30d78","lib/libwinapi_onecoreuap-webservices.a":"d4c2dafbd1940dd63a0650defdfe1295a52ee6578faacdfd5291f89770417e6b","lib/libwinapi_onecoreuap-websocket.a":"ef3391e989003ca6f0b2f5564cf50c96f7b7137d6a4a2f35646beba83368f474","lib/libwinapi_onecoreuap-windows.data.pdf.a":"1dd8dfa235ad8ac7dfc5bb180677a684de59f5db8ed5bc1f971504cdc2c296fd","lib/libwinapi_onecoreuap-windows.networking.a":"0efeb95876b2cdbca86d0ca4bd9f9779356a99b8ce6b79c082eb081d0ea6cb10","lib/libwinapi_onecoreuap-windowscodecs.a":"27283a7ecf13a918f0eb64dc8661098b8f4c99dd19418f23813c1f051ec16bd8","lib/libwinapi_onecoreuap-winhttp.a":"cee254504e5d88ac2fdac8a27aff6cdab52007e25ba9a88288d9e1e10b06badf","lib/libwinapi_onecoreuap-wintrust.a":"c310ffc6b7dbd2f2d94ba4f2b9be475a93e4ae2ee58fa4d0a3d01de3c12d12ef","lib/libwinapi_onecoreuap-wkscli.a":"e8831fd954aa9673eb5183d09160fd55aeee64d57ce99d93d33558d67973f371","lib/libwinapi_onecoreuap-wlanapi.a":"943692ec7c733dd0bd784f7fbc11d62d5e2f6d7372cea44d16054e92b78e650a","lib/libwinapi_onecoreuap-wldap32.a":"e589d481a5145ea87bb59092696c1208334333174e1b5e263ceaa0e4467a0cd3","lib/libwinapi_onecoreuap-wpprecorderum.a":"e79472031220317c981ee91825bab52852a0abd28cda89384cba1eb35b5c2cc6","lib/libwinapi_onecoreuap-ws2_32.a":"01d39c4c553d30d52266a44e0f6cd51aa13a4455d2ebd5ffd8aac506a572124b","lib/libwinapi_onecoreuap-xaudio2_9.a":"c26f6eb5ffcb6a9d0f6fcb1a0094940bc158bc983e18b2c4a68c78fb11921f2c","lib/libwinapi_onecoreuap-xmllite.a":"87e3282045b56f24691c48f3f317dfa1e75ccf2590cc3e64d6da0f93b9a9a961","lib/libwinapi_onecoreuap.a":"f2e1e86ce76b7aa86b93da35edf53d1811e8d52a10fe14de3c561d863834b116","lib/libwinapi_onecoreuap_downlevel-advapi32.a":"25951e37054b4a39380286855db8e8adc0faf7eaf77047129d9368fa195143d6","lib/libwinapi_onecoreuap_downlevel-apphelp.a":"08116313490555530b7b58cc3f830f95e0d8ae65dd645086be4dd379e97ca945","lib/libwinapi_onecoreuap_downlevel-comctl32.a":"86c35f513051d4f485822b57b0ff902738b818b6c6bdc1224c75db56d0a34225","lib/libwinapi_onecoreuap_downlevel-comdlg32.a":"b748579f6f3ab5976261d45247af5a3fa9295ac420d54c092cfbc97f7a207bd8","lib/libwinapi_onecoreuap_downlevel-d3d10.a":"bac5b376a858f0f2a4b95b21c44f251b114a767e58c09b8cf572fa66f93f31a3","lib/libwinapi_onecoreuap_downlevel-d3d9.a":"3824e7e31b12918efee786e170d200a1b920e19dae6a5d9e39c646cd8d3eb2c2","lib/libwinapi_onecoreuap_downlevel-d3dx10_47.a":"81e84968bdcce883ede84bad6d495bebc3303adb1ca7d70fed9e3d74c191413a","lib/libwinapi_onecoreuap_downlevel-difxapi.a":"1bfcf44f7098ba291c6899ea4bddb95ba2f7b0b93c4ad285bc83c7bef51e0243","lib/libwinapi_onecoreuap_downlevel-gdi32.a":"62fe9be7e7ccd0e47f415567240aa3fef909a6875145987c1ab4fc331a1e0106","lib/libwinapi_onecoreuap_downlevel-input.a":"fc7400b5de73bdb9f6bf313ef474b93364cddcdfeefae79d5eec744ccf6c20f6","lib/libwinapi_onecoreuap_downlevel-kernel32.a":"56bf726b936fd50ea3050f49eb1bbd156329b492b1dc9c843b1ffdda80a9057b","lib/libwinapi_onecoreuap_downlevel-msi.a":"d15452e3e099c2a5991c0b91760f4aac5eac944fe69f286bc3c63024826263f9","lib/libwinapi_onecoreuap_downlevel-newdev.a":"4210387641e4c1bc745ff9db429c1c572c81f8014cd4379bc00d8a1c6496bb10","lib/libwinapi_onecoreuap_downlevel-ole32.a":"e67f5790d85b1ee77263149e62a0f5b661b386c1da7f240058a4518354aa9edf","lib/libwinapi_onecoreuap_downlevel-oleacc.a":"ff9536113d3213fde19cbc9d0084fe031949d9705ed28a5338c5001f0401037c","lib/libwinapi_onecoreuap_downlevel-oleaut32.a":"2706f1dee8865df8adae8719b067b89ecbc974b5778c459c109cbc08162319bd","lib/libwinapi_onecoreuap_downlevel-oledlg.a":"eecb3aab1378d1c45d7e9aa7729e43c1b5717791770de9192230347cca902eb0","lib/libwinapi_onecoreuap_downlevel-pdh.a":"73820b4cc0348960c714080473696ceb67d89f0f570258ce93d52441e029b7a2","lib/libwinapi_onecoreuap_downlevel-psapi.a":"570746d0a825bdeaa71a7dfea67bb32657a27f5afe1624944750d209329c14c0","lib/libwinapi_onecoreuap_downlevel-resutils.a":"397de845de00297801c927c5d82d0b91bbcb2a0cda70066c817fbc5236123db9","lib/libwinapi_onecoreuap_downlevel-rstrtmgr.a":"827d5635d748a418dc1731ba057aa468725e907bfc9e60d6724adb1ce9bbd2c8","lib/libwinapi_onecoreuap_downlevel-secur32.a":"9a70ba1ced874cda827fe98af149b3d451adfb360c88c31862ed306a998f5f76","lib/libwinapi_onecoreuap_downlevel-setupapi.a":"0c82ad883260fef3f91ec1d7c2c5cb4677d26d091487fec4936f9f988462e720","lib/libwinapi_onecoreuap_downlevel-shell32.a":"bc7513e499984e3f43c2f9486f9ab68c9acb905e5f97bdfadb0f5ebbba1c4a46","lib/libwinapi_onecoreuap_downlevel-shlwapi.a":"e2b37f5820ac99c7532245623b5d16f5db7befb2e6b806070b80833ab74f1bd2","lib/libwinapi_onecoreuap_downlevel-tdh.a":"13dc97358c731f00d2a6ee35fa4cb0982b45dd4d2714048a4804d7f58e76a49d","lib/libwinapi_onecoreuap_downlevel-twinapi.a":"b86c1a5e36f38a9c0f31e682dc7f9fda58959ec0ed42cfeb9c566404c302d598","lib/libwinapi_onecoreuap_downlevel-user32.a":"c3179b1306b79d96f0b9b6c6c5626e17980514a87b805a4ccfc2857b187b92b3","lib/libwinapi_onecoreuap_downlevel-uxtheme.a":"7162baa362708a6f74d57bb41176537632aee62a1f21114e74e0d3137e28709b","lib/libwinapi_onecoreuap_downlevel-version.a":"250eb5e293a7615f14527959102ff12ba330964b81396d27c53c56231a955ed6","lib/libwinapi_onecoreuap_downlevel-winmm.a":"f5ada9831b7910c5a8242e24bd8cd212b522badfc4bfb264b703e0963a1225ae","lib/libwinapi_onecoreuap_downlevel-winspool.a":"f141ba828f5e27d4db6cb679d3bcdb27a558ee47ac1534b6ba89c199e776fd27","lib/libwinapi_onecoreuap_downlevel-wtsapi32.a":"5329f116b8eeb756c67230eb4a0e596d0a9e1ab0f13c934a0ba73f2dfb8debfd","lib/libwinapi_onecoreuap_downlevel-xinput1_4.a":"6608aab2240b67bb31862a6937f30a444f31d241ac7879db950903ea9a4dc946","lib/libwinapi_onecoreuap_downlevel.a":"27eea31922cb3fd8d246e99c301bc944cc7b533b4a7cbdf5df3576bce26f27a2","lib/libwinapi_opengl32.a":"a21d2c9027b5e12b0a301d91a342d1e0c4e09f1b17c0e9993516d6afbb8588bd","lib/libwinapi_p2p.a":"e326c9adf1a6a7463a07ab3d12d892b6e1742a68ba310bb0c79a3a3f15455336","lib/libwinapi_p2pgraph.a":"00450a6a4d2150ee58a953aff26c2aace3164774003634df2cc6cd4ed77d5917","lib/libwinapi_pathcch.a":"1afac1bcecb5829d4cdb6578781c90cd0df0e2bea8451eeae90530ef3d4572cc","lib/libwinapi_pdh.a":"d6c7f04fe2c3644b991b01158a2c4adfd7be1dbe92586a4f23a06399a6463d62","lib/libwinapi_peerdist.a":"8d76c8fdf7ce8ac440e870f58b41b6dcf40f76195f47dfe9af73dc56e14a9407","lib/libwinapi_powrprof.a":"229503fca740daf72ab00d667382ba9c7fece889e3cd1a71a3489acb75d72ddd","lib/libwinapi_prntvpt.a":"9ebba37677a82b045e82158a83c97b9f0e85c35b22d4685d56d39aa39c2b6d0c","lib/libwinapi_propsys.a":"772ef5cdd2543d6154e5ccd3e0e56238418cc26439668129a89a08018d07d323","lib/libwinapi_psapi.a":"6229c9845a705e1cf162d4d4c7d1c6963ed6984699295956e98c4c1387547328","lib/libwinapi_quartz.a":"e696d2cd3294d2440bbab92718f63af882414f7cb1df2b5a9e13a8900f327e76","lib/libwinapi_query.a":"f7db7da06e63f535f0af57a9b45e8d15c366b362afac56177765c137f46bdaa5","lib/libwinapi_qwave.a":"5454630cdf31cdd56e607f2c7bff2bba2d24ba2e00e0195e334418a7108e6f83","lib/libwinapi_rasapi32.a":"c4fac15981c0415e61104ee04de7a020735fb1ae53e684a7ced3f4be3ed95928","lib/libwinapi_rasdlg.a":"ed56000994e9e730e3926719d077e5882c316ddb440326ef7fbd77739a3f6c35","lib/libwinapi_resutils.a":"0dc8ca17810cc24f67330e7a60884a5603eac4b2701c3d7145e72ce26063523f","lib/libwinapi_rometadata.a":"112b0138a0d51f185ad2c8d7a996a96407b43509137223b9c09bf564df8d8990","lib/libwinapi_rpcexts.a":"b6ede0532c9e73afff9f4671c3047a33d43491088be0f65a9180f1e37641cec3","lib/libwinapi_rpcns4.a":"37c556274e43e069010547feecd4aabda21dba5d4ebc6ac44f8181bc72c082db","lib/libwinapi_rpcproxy.a":"081bebf46536fcc39e5a3502271c699f6954ed73ef5df0039f21b198053403b0","lib/libwinapi_rpcrt4.a":"ffa2d37f78b279cb94983f4b5bcf119b2eafc0b0eec6e454b3d314ccd79e58ea","lib/libwinapi_rstrtmgr.a":"628be186aafdaa96bc203f45a5c5f44418158886522fe48fc1c58ca2c11b1615","lib/libwinapi_rtm.a":"8e7d04db58dbb4e482fd83fb704afb44f79bb306a2671bb1cf795d75badeb52e","lib/libwinapi_rtutils.a":"4192a21edf7cbc36c094a91ad176e380ec7bd678419be3d2bc82a417485f559b","lib/libwinapi_rtworkq.a":"cf81238e5438972bee626c9a220c037f0fea65b13ab364617c35f00a2623a61a","lib/libwinapi_runtimeobject-api-ms-win-core-winrt-error-l1-1-0.a":"c4e388681f040fbe1ab6553fb23004b647b5cf6162b41e2d00976a033d1288c2","lib/libwinapi_runtimeobject-api-ms-win-core-winrt-error-l1-1-1.a":"1cb7108bd745cb6976f17119a2a4cf7c6e394aacb041946e9392185919589043","lib/libwinapi_runtimeobject-api-ms-win-core-winrt-l1-1-0.a":"ea568779a9686d229b704fc0b55b09c01d231474bba2e3da89f0ac984f5c925e","lib/libwinapi_runtimeobject-api-ms-win-core-winrt-registration-l1-1-0.a":"3ab533f82dc0809199c2f5832c4990479dd318595db52ffd6454b4163efc043c","lib/libwinapi_runtimeobject-api-ms-win-core-winrt-robuffer-l1-1-0.a":"7a072baf8e59a84da283db866eae3759fd5b7b189b95c6fd9ddef1fc09b29b4d","lib/libwinapi_runtimeobject-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a":"d99870cde4fc641fe7fa82d9407cdf545c8418be12fc8a23c743970efbd8a458","lib/libwinapi_runtimeobject-api-ms-win-core-winrt-string-l1-1-0.a":"e0a04ed845ee40af3ed6dafb8ccd6d5a4a02b62cb3fe711244c245482b168769","lib/libwinapi_runtimeobject-api-ms-win-ro-typeresolution-l1-1-0.a":"0374718fe78077f795409e34ddd72ecd859531db0b8299e32fca799133cdc611","lib/libwinapi_runtimeobject.a":"72696bdf24b57c25bb32bd8c4d2673625b5c7ee72c7933e4b95f907198b85b55","lib/libwinapi_samlib.a":"60d825306f7f501eec0c814dd5083f25cdd60eea31557a158708861ce87cd9fc","lib/libwinapi_samsrv.a":"7fe3c2d10a98985f2798360f4e54dd8acf4f0cc6c595f41b6b9c349669eaf3e2","lib/libwinapi_sas.a":"671ce72d72339636993a558b07c77706a99ffa568fb9146a93dfd08c1afb79fc","lib/libwinapi_scarddlg.a":"067d27d48528d706acb69b3c5c65f54350ff60c4aba6dadd15a84ec073e5225d","lib/libwinapi_scecli.a":"6ee7ee37fe3b701239a7fd68a251926e436dcce30738911096c023923f7a5fec","lib/libwinapi_scesrv.a":"506ad42e7752933622d402b9f2a93b2df9594e72803e0b5a3d0fa59408b998e6","lib/libwinapi_schannel.a":"191033c5eba0a29d3fede1a466cce4d2e5f7ab092b26405996e4305e33e14556","lib/libwinapi_secur32.a":"da204b8aeafe5d279a7a0a0951525685316cbb9a42055d129e2e245e10b65ec1","lib/libwinapi_security.a":"1be744253e860d65ccc2e692b572b7049b86d9211a7605da32ba6d3c64519a1a","lib/libwinapi_sens.a":"693fe45c5e369acc65b45b4a9674b766e1a898169791ede962c0995e532dce3e","lib/libwinapi_sensapi.a":"4f0596c3eed566208b21900679770ad1efb8eb566f5537feb31d68d43a15bf79","lib/libwinapi_sensorsutils.a":"2ba2441022e5ec201e4241cab6231441576ec078039052a75c4e10fbe2e0fe3a","lib/libwinapi_setupapi.a":"063417b0069302c187ede7df0f60b230941d4689addcfc0485795aeda5dedd18","lib/libwinapi_sfc.a":"1e78e5a5d401237b38560a9ff6b1a8533d6090c8b3d215d81e049477698e2520","lib/libwinapi_shcore-api-ms-win-core-featurestaging-l1-1-0.a":"98344bc027a9dd80dbf08a575dd1b6fc97d97e02c539c1e20f22c757a68504eb","lib/libwinapi_shcore-api-ms-win-core-featurestaging-l1-1-1.a":"04c2e6d47229324177b05cbd600190d5b2abf3ed228ee6e03fafef2db892e7b1","lib/libwinapi_shcore-api-ms-win-shcore-scaling-l1-1-0.a":"19eef865f78baddb60fc1f47289df74a07b72083d28ca68b85941c99ca550c80","lib/libwinapi_shcore-api-ms-win-shcore-scaling-l1-1-1.a":"e166a6ec67a36b3f2918be018977a8159b8635491b55605cb5dd3167386d7e8a","lib/libwinapi_shcore-api-ms-win-shcore-scaling-l1-1-2.a":"adf03c5853efb9b41d617cec9ebce4078cde77070c0bc2b3d325afd335a7fc6a","lib/libwinapi_shcore-api-ms-win-shcore-stream-winrt-l1-1-0.a":"632993df8e26c359cc5204b9e8daa13387a0aec8764f17556e41967550e4dc4b","lib/libwinapi_shcore.a":"0aae36b16b6c0fdba17f39f73cfae64d856ba9aaa06b4f1fca2437aa11c1c4c5","lib/libwinapi_shdocvw.a":"4bc14620d0cbe176991915bff0860601f62fa19fd08799b577eadf8b7587fdf6","lib/libwinapi_shell32.a":"8986ca544482cb3fa6fa4dbd0fbfa0fbd675d84623b902a6b107ff6983d0be74","lib/libwinapi_shfolder.a":"40b4ef0df707e9fe84490a5517b397bbf35df2f11845c00fd65ea5ebe327e0af","lib/libwinapi_shlwapi.a":"56f5b4b9aa857e7e2abec5e29e90cb604c30e0e378a217f5c63d0749ace2c378","lib/libwinapi_slc.a":"d1e968e1e2cd1f5517a0cb292d1bed0de352c3eb7f08a03bc256b6c9898bffde","lib/libwinapi_slcext.a":"3f435fb66d862b437381e155de17116bd25dfc3cdabbbb979e52e9f17eafcf6b","lib/libwinapi_slwga.a":"0daa0bb484b78fda78b198b0a1fe8e1ff01f2103155fb96396f76735540a392d","lib/libwinapi_snmpapi.a":"5fb36e79337358e343d2691a27e04e47b584c21869da9c4ea0cc04fecb851b4b","lib/libwinapi_spoolss.a":"4728dabac3364039ff2b3df5be911003ba6074b4022127f72b86b6d6bf792a3e","lib/libwinapi_sporder.a":"33bfc4229b72197bb74020eca4ccde0770512deb3eac0fb814cda40203969473","lib/libwinapi_srpapi.a":"2d074a6570ac4994014d7aa4f84f22353340541bdacb0d2033cea4fcac7d9f71","lib/libwinapi_ssdpapi.a":"2186218218995a2454dc5ffea0a3949f97dd4faad038ad2f22e09ad93e8e152e","lib/libwinapi_sti.a":"42835149c10ef8bb50e7e562af45009551003fc127278e9218d624d86a1ffc33","lib/libwinapi_swdevice.a":"16fa5d455edc79db45808633411d6eae89f65b6da1f99f775fb8c26e9edaa120","lib/libwinapi_synchronization.a":"46e1da98de3f92e2b8cf7d135e35978c418d4887080a4848a047eda81703c4ab","lib/libwinapi_t2embed.a":"f538b7f0a9add3796fa6bc18651c926c7ba0746f10d806f579cb98e734070d70","lib/libwinapi_tapi32.a":"bbc8dc40668a19af85e1782de0e994a55b2e2f4d3b073b75a687be4240448856","lib/libwinapi_tbs.a":"8bc36c289fcaf79f4c49ce8f10c28eb1e363c3ef63c6994b139b7c1ba95763b0","lib/libwinapi_tdh.a":"0dbd6204b039e117793145a6fbaed7109caa57fff41cec835977491ec280b538","lib/libwinapi_thunk32.a":"fdc3b4eaaf945bacdb88cbe5666c8717a0348f041858cad0f15d31d7bd83b6cc","lib/libwinapi_tokenbinding.a":"2067fb7f60368fe9ba420f13d508601e8c94e1c2abb5c7b831508fc54255e057","lib/libwinapi_traffic.a":"425d4da6b2df282bd8d0ca1e9626e419b2bc12d29e577bb3dc5a15dd1ddb9053","lib/libwinapi_tsec.a":"39071d6abdf019105c61f85eca91d578d2a0d480282856668ef0d62dcb12d9e1","lib/libwinapi_twain_32.a":"78d7b81b0353e749c36bcc8c07b3f4d1680f55fc43ee949d5ab84461f9ccbb14","lib/libwinapi_txfw32.a":"5e79373cfb16e47823a157305ca001420ba1f2f4cab5f52a79b71a3e93985c91","lib/libwinapi_ualapi.a":"48a778d2a2197f1921207badb2b07b6051e5ef2965dc816dc469b94eefe5044b","lib/libwinapi_uiautomationcore.a":"2247d182ec3eb1dc784f54c1bda305f9940b449047ab3c43f0dfddd308a22059","lib/libwinapi_umpdddi.a":"535ca1121764955e8c528ad0c8642d4c357afa5fa0ba28dbaf5e03cf5c60ddc5","lib/libwinapi_urlmon.a":"55be74bd0f8384c0bf84527cbb8b27601dc45b7c423809bc52760b729a5f86ef","lib/libwinapi_user32.a":"9d218297f1a130912c318391d3b159a487e6650c524aeff4656f4ac702dab2fc","lib/libwinapi_userenv.a":"8ff2850ba4437cd5fcf879d1dfcc9cbc5aef50ef205d9d397dd1a4700ae210da","lib/libwinapi_usp10.a":"e223cdb9e7a913eb3bc038f1a963c2cb4c669b084828bcf92539bd0595b62fde","lib/libwinapi_uxtheme.a":"d622c584adad49beeffe2d2641b72a31065340b16c16687cde46e7c41ac67b5f","lib/libwinapi_vdmdbg.a":"4f9390d8cda1b21a470724f85312e92a39edd5038621c0a1f051f2e83d776a7c","lib/libwinapi_version.a":"af226c499d3ec2f3aa9c128554b1a10a1d2c3658322f3137be0a5d4505d28c9a","lib/libwinapi_vfw32-avicap32.a":"516f00894b2cd61dc26b8a5d5ea59cbdf93c66a471f5aa5ab035d9629f187401","lib/libwinapi_vfw32-avifil32.a":"c356e4a74fbdc381143c6b84dc3edd117c43ad11b324d48619a40ab05e406b94","lib/libwinapi_vfw32-msvfw32.a":"4a3d662b600beddb1f973fea167e804965e1dd5cacb52a1433e1356e0418673d","lib/libwinapi_vfw32.a":"1f7bf15b2c0d637ef6a424ea0173f26d9adabb2bfbcc5711a95b408e060a7d96","lib/libwinapi_virtdisk.a":"f1e7237e523eef73b73cab8c7f9ee40b3df68f3003fd39dab9fb8bfd6d9a54bd","lib/libwinapi_vssapi.a":"0e0cbbeae26ab962bb1b7e738049e1b6d5cacafa01026aea553a37496bfd91fa","lib/libwinapi_wcmapi.a":"6d2f7593ba8c626b50f76072f07e1a49c249b14a3a8444e49d1932e2bad33f88","lib/libwinapi_wdsbp.a":"e904217b4f2b189b2d4cb2ef8f64896812e8a856ae3cb4eface35f1e38d3854d","lib/libwinapi_wdsclientapi.a":"47e5fcbbba5ad750586d102985f1f67cae7e7360fca331cbc866fff05ecebc00","lib/libwinapi_wdsmc.a":"97277aa23d70ff2b7d5d2f0ffbd70e6dabbe48d53fce30504a5176d6940d958e","lib/libwinapi_wdspxe.a":"a0668a171b4930c900c321d1d9d11e968fa4b2de32d36fa4238af8ebeeaf855f","lib/libwinapi_wdstptc.a":"ecd1ec06a48e3b98266d99a88797801a75bdc14956f92df90ec2d934d234fad4","lib/libwinapi_webservices.a":"889091e71202e8448edfaa7b02b299e9ffa8641635410eb85d41d4a41c592b59","lib/libwinapi_websocket.a":"b6d9f28c222fe4593b2587e95ab5f21a55ff16f96988a7843281b1d56548b105","lib/libwinapi_wecapi.a":"b206762c19af9ae83c0776754405b364f1aecc659d063b82f0f85a90e9ec39a2","lib/libwinapi_wer.a":"e69b6439516ddea86a7957de563719bc7a7e0794b70733659aed29d835ed26f1","lib/libwinapi_wevtapi.a":"da8dabe5e4a11e6a467c6b42c0bd193a7e097a2ff91c3b3743df8143e24dfe05","lib/libwinapi_wiaservc.a":"98af80f5e16013bc1f4a3da5a58debd00b879885d92a5c0fc90029229d20dd70","lib/libwinapi_winbio.a":"2f6275f01c300f097331fd3df333641453d855ec56d4cdf26586bd69b258bcfb","lib/libwinapi_windows.data.pdf.a":"78fc20ab685d930e28e113c2f26b8d8f137956d00c7a8406686543387a0a5dee","lib/libwinapi_windows.networking.a":"8e3c12ab2e0014c62c1d628fedf1fd2d7a5199a5b0324afb8d7c5715725ed59c","lib/libwinapi_windows.ui.a":"bd1c725946cabc374fdf6640c9e23550c05ec4309150e7cc7446cd13cddeff32","lib/libwinapi_windowsapp-api-ms-win-appmodel-runtime-l1-1-0.a":"c5b0f910c4f44a2b4ccbc4f1e5e7fe61441f3035c0f654b71022c3be347f1744","lib/libwinapi_windowsapp-api-ms-win-appmodel-runtime-l1-1-1.a":"921b323d3e681629b679b7afc1c83fd1c4cf8dd7b7331c59bbcaae5e42545b99","lib/libwinapi_windowsapp-api-ms-win-core-com-l1-1-0.a":"d2677e3f095cc9b75de682c89ad058e3030ed6d572b3d4d173d8a2280ef7728b","lib/libwinapi_windowsapp-api-ms-win-core-com-l1-1-1.a":"747263417baca3be11cd9746ecdc4a5204bae67f4e18bcb01989cd8fbcef33e4","lib/libwinapi_windowsapp-api-ms-win-core-com-l2-1-1.a":"8911d4bef439812de4e56f48f6a1e7fb45f345d0d165ac73e37a396675886e7e","lib/libwinapi_windowsapp-api-ms-win-core-com-midlproxystub-l1-1-0.a":"3887370abb1c93d8086c19b79e64a20be3fd0cbe0cd18e521932a66dd29991e4","lib/libwinapi_windowsapp-api-ms-win-core-comm-l1-1-0.a":"0fed3d2349d58b01779bdccb151389118c253fc3788eb22da84e74d4f7fe1659","lib/libwinapi_windowsapp-api-ms-win-core-comm-l1-1-1.a":"79a9cc1cfc7e68b9d5fa2413887dbaa06b174c63bf70445803f9f4edbccaa5d6","lib/libwinapi_windowsapp-api-ms-win-core-console-l1-1-0.a":"19490ac714cb91b47a0675babc6fb04b89917643fcbe748263dfb292fb3d2afa","lib/libwinapi_windowsapp-api-ms-win-core-console-l2-1-0.a":"b7df6615a287a325a92d6aeee71b8900e56b366a06f34653be04a20803e08b68","lib/libwinapi_windowsapp-api-ms-win-core-datetime-l1-1-1.a":"ef8097217b975f461e84bc49c995421e4655fa5905f45fd6ffab5b66a0a23e50","lib/libwinapi_windowsapp-api-ms-win-core-datetime-l1-1-2.a":"35f73c31046c03d050648d08d33448ae03df778fbfa209fdace98e0881a97998","lib/libwinapi_windowsapp-api-ms-win-core-debug-l1-1-0.a":"9b84a711d2f9062a84a8ae10847fc6dbb55a43fef4aae5bf822513d8e86995a0","lib/libwinapi_windowsapp-api-ms-win-core-delayload-l1-1-0.a":"0ea1333d7f77f97935d48cf5310fc09e21761a6bbe2ca16bf83884ab8bfabb75","lib/libwinapi_windowsapp-api-ms-win-core-delayload-l1-1-1.a":"61bd430910acb86c226ef8f25922ed18e181f5ea3961e8d437199de0b93c27d2","lib/libwinapi_windowsapp-api-ms-win-core-enclave-l1-1-0.a":"aae4fc49d326bcf224af545c5acc2ca73a882ee99823c010c2ce7fa4f3463934","lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-0.a":"b91bd32bb31b3bbc11d7879afbfa3835fb9e37dd95eb3a70aeecd5d5b3fb88e8","lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-2.a":"c7800772191799c701373b1057abef0884ad2b35d6361870c319a1929b579ca7","lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-3.a":"f7af10fa4da9fb9784d46078d3358caed4e5fb076a4f9e4b87faf4d69d1b1f2a","lib/libwinapi_windowsapp-api-ms-win-core-featurestaging-l1-1-0.a":"1dd99452503b5ae1b1887e6d3f4fb83b33ecd3d782a65acd776aefb208d98aa8","lib/libwinapi_windowsapp-api-ms-win-core-featurestaging-l1-1-1.a":"c106369ed8b7893b66af9822394181cab93cd05323bf770a6d6f21e4cf61f22e","lib/libwinapi_windowsapp-api-ms-win-core-fibers-l1-1-0.a":"30fca3d3c91ecba19fdfa03c07f1d0b34011c032b0f8fe4d35d6a26981a7280b","lib/libwinapi_windowsapp-api-ms-win-core-fibers-l1-1-1.a":"62fec7d91958134636b0eb473d0606709a222567c7c23c3661aea9b014d84d06","lib/libwinapi_windowsapp-api-ms-win-core-fibers-l2-1-0.a":"0aa99edd2c9ccfe972b8433a8d1489563ebc573524af956332257fabd8a9c162","lib/libwinapi_windowsapp-api-ms-win-core-fibers-l2-1-1.a":"29990a25dc42702f3b0cb7de68616c1d95bccb352c2438e7a1fa659f0056fd4c","lib/libwinapi_windowsapp-api-ms-win-core-file-ansi-l1-1-0.a":"4e3ad6c8b2c40e3fc18fbbf50ddac70e4dcbf8384def7004212eb1082aa717ab","lib/libwinapi_windowsapp-api-ms-win-core-file-ansi-l2-1-0.a":"a88c1593ae4c736332b59c35d4706f08f5a3a723234f13ccf1b88e4c1f4c573f","lib/libwinapi_windowsapp-api-ms-win-core-file-l1-1-0.a":"f79d009d3d96ec1e6141c366eab82ec9b2393a9a53d24573da11f92bdb64d8e1","lib/libwinapi_windowsapp-api-ms-win-core-file-l1-2-0.a":"cb43ae3737d19690c7590deaaec247296b4619e297d0f10a3c675cdbfb5b0b14","lib/libwinapi_windowsapp-api-ms-win-core-file-l1-2-2.a":"ec97314860cb28f6ac8e1c86be3d792753654b95cb97c01382719114e6bed03c","lib/libwinapi_windowsapp-api-ms-win-core-file-l2-1-0.a":"1b901ed918a4185500efd56d6b256f6ac1f533b95588e8bd91d039cc901dd8d8","lib/libwinapi_windowsapp-api-ms-win-core-file-l2-1-2.a":"c193e49f907ed28eadf228f1eec4f87f94ff1ded7aea62f7971ce400d9410c02","lib/libwinapi_windowsapp-api-ms-win-core-handle-l1-1-0.a":"c8965920439c950f8f5aa10d96fb47dabce00cfb583771ba3a004dcf81339d2f","lib/libwinapi_windowsapp-api-ms-win-core-heap-l1-1-0.a":"97bc9f0aabb84ac3d4f1eaccb2611ebc4c4e641057ae321823fce5bab135bb24","lib/libwinapi_windowsapp-api-ms-win-core-heap-l2-1-0.a":"f6653db4e2db6cdcf3dd5c67378a4960585b4f9d2d756d37bde43493030d6dde","lib/libwinapi_windowsapp-api-ms-win-core-heap-obsolete-l1-1-0.a":"6e0c202293a3a4d82db8e7761b3be4873934e23be1cbb5ca034e16a9c5a95516","lib/libwinapi_windowsapp-api-ms-win-core-interlocked-l1-1-0.a":"0db40d463c43faf20da093c8adf7bcfc694d60ad39c703840bb3dfe41d87d867","lib/libwinapi_windowsapp-api-ms-win-core-interlocked-l1-2-0.a":"4249e889356ddb2e03c71847d5a279aa9d55ab71c33af0841a174396df75c70b","lib/libwinapi_windowsapp-api-ms-win-core-io-l1-1-0.a":"139c4d1d6d7701c92c7235212ea18d8d41e3c80814d0009e7d2208456e19d88d","lib/libwinapi_windowsapp-api-ms-win-core-io-l1-1-1.a":"5b3679ae87db26dcfd813fba6e7219127e0be4164174e767dea31344dc7ab2fe","lib/libwinapi_windowsapp-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a":"ae2f6723973befc952038c82c5ecf1ab298a12d5a67e42cbe412ecd2cc3cb237","lib/libwinapi_windowsapp-api-ms-win-core-kernel32-legacy-l1-1-0.a":"bcc7ff242a65f295251e799c3981ad9ecfffa94122bc5acfb806f12368dbdfb9","lib/libwinapi_windowsapp-api-ms-win-core-largeinteger-l1-1-0.a":"7c95358ed9d08491fe9b4dcc2abe44f33a32731152aebf85600908b817aa5cdd","lib/libwinapi_windowsapp-api-ms-win-core-libraryloader-l1-2-0.a":"5f13a5baf504172298384a4f5894c4f015181c05cff13e7649b6d91709abc173","lib/libwinapi_windowsapp-api-ms-win-core-libraryloader-l2-1-0.a":"efc29ecfc1c177eae1b371304d809cd4c04e8c882bc9e8517315cc3024ca559d","lib/libwinapi_windowsapp-api-ms-win-core-localization-ansi-l1-1-0.a":"84a3683b612de399923e1ca199f504c5b6f07724ba1eb7cf31629a0ecf124b20","lib/libwinapi_windowsapp-api-ms-win-core-localization-l1-2-0.a":"70a9205a700f6f4692b76897a4b2af9d962b2bef4f8985a3f8d497d3fcb42df3","lib/libwinapi_windowsapp-api-ms-win-core-localization-l1-2-1.a":"5d6da3f78c52fc78b6e0e38202e7d0a14337c4e9645fcc1409d6fa8a284c340b","lib/libwinapi_windowsapp-api-ms-win-core-localization-l1-2-2.a":"dd10409d20098123b9ce8cbed2b84cd80422e7c915cc6aa558f9159918e68c25","lib/libwinapi_windowsapp-api-ms-win-core-localization-l2-1-0.a":"9477d17fd1a7fa542469845ea465551f48208d1e7a20508772eec708127171a8","lib/libwinapi_windowsapp-api-ms-win-core-localization-obsolete-l1-2-0.a":"c6aa11d3471a2ac848e7f4cd166aa5c27ec40a8ee236a3041819ab95860c5ff3","lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-0.a":"ff78df5353763aadbab865dc35fb8d341108934ecb836e4aeed6d6ed239051ed","lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-1.a":"cb79f0638f79e94417b9260b05a511dff38a65484662facff84b90c3ab944dba","lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-2.a":"c6af86f6b2d53ad5e919598485e76db5c573b1723c8e8aeafd987669d83a1be0","lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-3.a":"04954fbf299df7f7a82afdfd43de1c38f3570a0e418a5d2bd15fb468641e3da8","lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-ansi-l1-1-0.a":"7390ed65bd34f830f34193e07a47a3386f2ea786adc752e9af9e667b3eae566d","lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-ansi-l1-1-1.a":"3e7d32bfe57a7abc58a6bab31ebfdb2135583a08779038169ae953b379813a21","lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-1-0.a":"fec51f0b6ccf8fff21613039a69d7521e6086cfcaae762a8e5eef8ac8cccfcb9","lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-2-1.a":"8de55da9f36c953a8eadd98ddbf1de68b6be21800117f5d81cd94ead505f9bc6","lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-2-2.a":"22c4a7796605757145ce1ad6346f80d34f2b85ba948b6f7cf099cf8034a044e2","lib/libwinapi_windowsapp-api-ms-win-core-namespace-ansi-l1-1-0.a":"abeec4e5001de5abaf99087505ad1d9db334f216d6b6f0a086f949705607aa18","lib/libwinapi_windowsapp-api-ms-win-core-namespace-l1-1-0.a":"2a27d24879f73c7cf97f062d62948f92d3481cd3328af42f50fe3b9fd4593424","lib/libwinapi_windowsapp-api-ms-win-core-normalization-l1-1-0.a":"9e39a5fd470276e47d539c8363e41a2990a1177b7ef50ffc8572a8901bab2daf","lib/libwinapi_windowsapp-api-ms-win-core-path-l1-1-0.a":"9ad56c85293c2b75a8bf6f7bbc27d20cddfaf4a7f4a1864b572963717d0af10d","lib/libwinapi_windowsapp-api-ms-win-core-processenvironment-l1-1-0.a":"dd1dbd548a66b9544931f37af2bbe883360de543ba2682e0a252308127ad16a0","lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-0.a":"fb9f08901b2f4bd4788054ed67a5802a16b449a7ae7c8bdcef99e7baaf78958d","lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-1.a":"a5639c7a442b6832cd55097454a35c011204919e903e69d951d959b53dcde57e","lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-2.a":"b096b4581ece69959a8d5ebfd72fd0dfb036653f9710ad2de49952418a2769b2","lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-3.a":"68a523bb89aa76d957a6273bd8cd3e74ae272663086125f6596d87b54f73579c","lib/libwinapi_windowsapp-api-ms-win-core-processtopology-obsolete-l1-1-0.a":"cdc0393343eb169ef12f81fa31beb0351656dc915c93b8f23e27f08b8a1c11d5","lib/libwinapi_windowsapp-api-ms-win-core-profile-l1-1-0.a":"9316cdffcbf672f173d567f7a92d2466824140c7eb2384953107d81d3c3f348d","lib/libwinapi_windowsapp-api-ms-win-core-psapi-ansi-l1-1-0.a":"301062e0fb6842804778b03340600c8ec456b88c5556926d493d8a04d5596d1b","lib/libwinapi_windowsapp-api-ms-win-core-psapi-l1-1-0.a":"dddea56f7b9ce98346e62d212732813f2cb1814e55bd46b1a9590f012c9655d0","lib/libwinapi_windowsapp-api-ms-win-core-psm-appnotify-l1-1-0.a":"e09456eb053d27e437f93b6cce33e53ee84235ec4bd178eede7183f914b23bbc","lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-0.a":"ea4282c8e630531123f26680eeb0106e47151a8cc3eed133fd287579d0d6187b","lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-1.a":"560b6d11f2bdc6cac22e1a48898c0715fa5f115fdf7ec968431fcc079fc0378c","lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-2.a":"b1afb018e3339b40964c892a60ad60420f3be0ed09c9e881c38e4e51c0c80d8c","lib/libwinapi_windowsapp-api-ms-win-core-rtlsupport-l1-1-0.a":"8b680a4624d674a535b8c2c15a0ffda9e8895b5c8d166ba96dfe4c8a480c9705","lib/libwinapi_windowsapp-api-ms-win-core-rtlsupport-l1-2-0.a":"c3620f180a6f35812cea5cfac3b7de6a539220622a45b1b3e9142bc4ae3067f3","lib/libwinapi_windowsapp-api-ms-win-core-slapi-l1-1-0.a":"29e9e940b3a2734479127e3ea4ab5d802cd8247fb203ed8524331e238ad788f6","lib/libwinapi_windowsapp-api-ms-win-core-string-l1-1-0.a":"0e00bce3914402e978d4b002b7a97fb2088cc22777541cf57a4709d75d619279","lib/libwinapi_windowsapp-api-ms-win-core-synch-ansi-l1-1-0.a":"aa18983363e672d6ba0e02edca860ec3e49327890920590fa84afa41cfadc966","lib/libwinapi_windowsapp-api-ms-win-core-synch-l1-1-0.a":"a4fa5e25373c7c20b4055cce63617dc5b55088fe3b791b956c66bd962dde002c","lib/libwinapi_windowsapp-api-ms-win-core-synch-l1-2-0.a":"e3339a7e092b42f837b920bd9bdbe925c2aa96524bade80249122090b93aab26","lib/libwinapi_windowsapp-api-ms-win-core-synch-l1-2-1.a":"2a61c5c41d4f8bd0a1b2a018bb598b4105694b234cb779dd043d2b6f001fee64","lib/libwinapi_windowsapp-api-ms-win-core-sysinfo-l1-1-0.a":"07921deba9927172e88c9d7d247fafd36a80bfc3d7f56ca50e75494945b7387c","lib/libwinapi_windowsapp-api-ms-win-core-sysinfo-l1-2-0.a":"8ef0f417775f5f71aad900bf1d88428135e78dcc2453119a13e8276940172a91","lib/libwinapi_windowsapp-api-ms-win-core-sysinfo-l1-2-3.a":"3f77471cc4f5d6236f05afdd38d3aaec2537c73c0f77ae656a733d972c092bd2","lib/libwinapi_windowsapp-api-ms-win-core-threadpool-l1-2-0.a":"245f6cc49e7f28d23621cddde69613d08fcc3e9cdcb0f30f7bebb7f50a274601","lib/libwinapi_windowsapp-api-ms-win-core-timezone-l1-1-0.a":"3584394f9ee238a7b232e129f3761f48ed6dc08a1357840960b18dac87915e81","lib/libwinapi_windowsapp-api-ms-win-core-url-l1-1-0.a":"c93ba0c9b773af99e804414ae0cd5669edcd6d871c4422083586143a05694e6f","lib/libwinapi_windowsapp-api-ms-win-core-util-l1-1-0.a":"186cf4a8e6c5f48844488ef3e55b8b971fc487a4cae5f9f4306a36a384c31831","lib/libwinapi_windowsapp-api-ms-win-core-version-l1-1-0.a":"ea2abf3263cab4a37afe88804808c52e24f25a39bead22213448d383816bcf48","lib/libwinapi_windowsapp-api-ms-win-core-versionansi-l1-1-0.a":"e3a25f12131eb8efbbde17a6957b6ac91db0f218f81012bfb579c3491e600cd5","lib/libwinapi_windowsapp-api-ms-win-core-windowsceip-l1-1-0.a":"788f5b224086241ef514a46acd048402c26d0248ba010e5751b4dbf2739fbabc","lib/libwinapi_windowsapp-api-ms-win-core-windowserrorreporting-l1-1-0.a":"d70660ee6f87669d5a5be3d30498a0f8db90d47e213ef4673c9b22489aa8b8e3","lib/libwinapi_windowsapp-api-ms-win-core-windowserrorreporting-l1-1-1.a":"792d5c8d2f043151c658a150a2275243ad6f01eea274dbcd13c811cbd74fa023","lib/libwinapi_windowsapp-api-ms-win-core-windowserrorreporting-l1-1-2.a":"aedb7ca0091ecbf259e56a8ebcc191390b8a2751d6421f887f39d00522ef7348","lib/libwinapi_windowsapp-api-ms-win-core-winrt-error-l1-1-0.a":"992628a35f6cdc4e80e85b4994f0def4c4faf5b9e4065d66c180e903bfe99f69","lib/libwinapi_windowsapp-api-ms-win-core-winrt-error-l1-1-1.a":"f47f0a3c6ccf57afb975dd87be54d9a084d3758fb719f443e759bf0ae26f5be3","lib/libwinapi_windowsapp-api-ms-win-core-winrt-l1-1-0.a":"164925079d2aa31bc8d188ef464d5acaa04f557558ad227002d5ea3142498411","lib/libwinapi_windowsapp-api-ms-win-core-winrt-registration-l1-1-0.a":"abf0c280fcfd0e0a4bad6242e7684e80fbfa72aa663481a116f9b1f9b3cf2ea8","lib/libwinapi_windowsapp-api-ms-win-core-winrt-robuffer-l1-1-0.a":"c4f3a9e897910b6a82605e83d186294172f235db39364d22b82694f609d37e17","lib/libwinapi_windowsapp-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a":"dff3886a90efc4b7ed3c9c70b00353a882005e26129bb19c115ca010ebc68ff8","lib/libwinapi_windowsapp-api-ms-win-core-winrt-string-l1-1-0.a":"a1a4c84bc894e63abef803b40aaad5e5893fc3eb270e943fcefcb4eb386f5b56","lib/libwinapi_windowsapp-api-ms-win-core-wow64-l1-1-0.a":"683ecee0f94d0c6b85b8a378575bf0fdf51a6c0c6c69d3fa862beb847868b13a","lib/libwinapi_windowsapp-api-ms-win-core-xstate-l2-1-0.a":"3642f35e4c5a55deda3a44986e2481d27b3d9e546ee8950ec27c3122840556ab","lib/libwinapi_windowsapp-api-ms-win-eventing-classicprovider-l1-1-0.a":"e4043cd19d71c8a127fe349f024f8d61c3e73184bfc24c0826797aa94b5707d3","lib/libwinapi_windowsapp-api-ms-win-eventing-consumer-l1-1-0.a":"6e2ab9f1b1530861419b0e33f5f3d668248d86bebc9e0c4f2245f8d3834053e8","lib/libwinapi_windowsapp-api-ms-win-eventing-controller-l1-1-0.a":"b527178f285e0cb4697239812bd440550c256a283bd748c2cb410fae2adf0f92","lib/libwinapi_windowsapp-api-ms-win-eventing-legacy-l1-1-0.a":"3014d8d9ded6a717b207db72a80c6fc1f1b3f1f3f3f29c876da8771d43dd00c9","lib/libwinapi_windowsapp-api-ms-win-eventing-provider-l1-1-0.a":"e5944795e4f2884876ad23d27f91219357f10c7487dd814f93ea4b28c0f220ea","lib/libwinapi_windowsapp-api-ms-win-gaming-deviceinformation-l1-1-0.a":"05ee4a354736be759019d34b80abaacdd3e5f0baead949283ebb7568ab337e0f","lib/libwinapi_windowsapp-api-ms-win-gaming-expandedresources-l1-1-0.a":"16496885611e587698b8e92908770c4cd2554a0b9e69a7c813a27c907ff15aca","lib/libwinapi_windowsapp-api-ms-win-gaming-gamemonitor-l1-1-0.a":"38a138b8bc2778de5f9dec25b0a617a58de6c1edf0aaeb03255c21fa694b291b","lib/libwinapi_windowsapp-api-ms-win-gaming-gamemonitor-l1-1-1.a":"7be997fc4193df0e92a143c5059093518215f294c3c8c32860834f9acc39511f","lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-0.a":"81a29ddddfa1ae233ee03e8f8155a30291730d2cc6d3eb2df735026efb199c7e","lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-1.a":"057258f17e45d83448ed3bf0f4dcf0c6b8f41b6f935e05595ca8e92da5b1e5c8","lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-2.a":"ea2d90390134f09f9fdb25db1a912cc386b7e3b7cb9cd97ecf2570624f54dc6d","lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-3.a":"03f6c50bc09e454a5988aa1e42eddf3efc8eb8024332feb02b066940b142a193","lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-4.a":"68142802477c61b59281344bc37a8f9ad74c2c3af99f3043b214ffea1751b0a5","lib/libwinapi_windowsapp-api-ms-win-ro-typeresolution-l1-1-0.a":"a823078b3d1fc528b7950b508573fdd3c5536ed59d6cb15d93daf01e0d09088a","lib/libwinapi_windowsapp-api-ms-win-security-base-l1-1-0.a":"a49fe302203c43b070ce7caac2ec2714b80f4f3349c3b763e011b2b97d347478","lib/libwinapi_windowsapp-api-ms-win-security-base-l1-2-0.a":"88c3548c16f1d4a6904675ddc2397a20a3da0974ad020244309181b6410fcca7","lib/libwinapi_windowsapp-api-ms-win-security-base-l1-2-1.a":"15574beb90cd18fff8d4ad3caf30eae1726b0d910b7271b7fec7251274a3f45e","lib/libwinapi_windowsapp-api-ms-win-security-cryptoapi-l1-1-0.a":"bac4066bc55c1c4ffaf883bbe621858625503b3557f252e50a87668e79f1d824","lib/libwinapi_windowsapp-api-ms-win-security-isolatedcontainer-l1-1-0.a":"5b5457ebf554266f90dfe8d1d802d0148ecee08fc32ddb26e4395de15d86c186","lib/libwinapi_windowsapp-api-ms-win-security-lsalookup-ansi-l2-1-0.a":"2872f87618c9802b02c02dd526f985ba6cde3f6e7cb40c9fb020bffa40a86874","lib/libwinapi_windowsapp-api-ms-win-security-lsalookup-l2-1-0.a":"f071517edb870d01283ff286076c4c69df68c3c3cb829bd0c7f9a963601cc09a","lib/libwinapi_windowsapp-api-ms-win-security-provider-ansi-l1-1-0.a":"cd4f492580f823ab76f767eeac8d83831f800dc7e8a7f7e3ebbe43f3a54c89b6","lib/libwinapi_windowsapp-api-ms-win-security-provider-l1-1-0.a":"67d89ae227bff24b8d9e642db5b8e0998c8904e076e3b31c5a930141a8f00b17","lib/libwinapi_windowsapp-api-ms-win-security-sddl-ansi-l1-1-0.a":"b680af515fe0218cf7e604c284e2d2cc3480cd42481dfd879cef7ee70da266b7","lib/libwinapi_windowsapp-api-ms-win-security-sddl-l1-1-0.a":"4854167c5d9c7b8d34f74c3b44d6b2dba2acce0b8cdc0d109a1e469b3acc5608","lib/libwinapi_windowsapp-api-ms-win-shcore-stream-winrt-l1-1-0.a":"6d403a8601eed410c7a7f88d6748b409510f7e97b6e3a8c90289491a5c34e4eb","lib/libwinapi_windowsapp-bcrypt.a":"973d55bc8d0b6e2e122270ae600bbb18fdcb19b358dfd2272d391fdb1dd36b39","lib/libwinapi_windowsapp-cabinet.a":"e84848066eb95f124eebff7da387586edabe953d3a57f410189bd7bdb77805ef","lib/libwinapi_windowsapp-chakra.a":"63ea1fc35871431493a0a316d91c3dd5bfe8a7d8f4717520a45beb9e936c3207","lib/libwinapi_windowsapp-coremessaging.a":"b2128fc3272977ce1d2698fa32b1392074853065c99b06fa4b8c96f5d6a5483f","lib/libwinapi_windowsapp-crypt32.a":"493f49ce5c585348fc7d3b7ea08fe0af317179b5d8978e43a4a8240589470924","lib/libwinapi_windowsapp-d2d1.a":"d19873d7c58bdbb34f5b047745e9c8a1461c5704a50f826621642c9076f7292a","lib/libwinapi_windowsapp-d3d11.a":"248e78e5913704107d3d2d04a6d949eba042eddb37a7a8823e2b9fea4cc755b5","lib/libwinapi_windowsapp-d3d12.a":"b43672fff645cdc5efbba81fe586aa71e9f4382e8f18490bca8c6a6626f80c8d","lib/libwinapi_windowsapp-d3dcompiler_47.a":"1ca1d96fe7cb943aa00d403ae96920ffe27b638b092ebe6975111c07a6481268","lib/libwinapi_windowsapp-deviceaccess.a":"e9be49e0cf5cc6e5c9eab3c31663cf6878320de064dca1fb9f91c0a24ec61363","lib/libwinapi_windowsapp-dhcpcsvc.a":"9b5f1fbaab5da120ddc0c3372d3fcdec309c6fae14c1f51480a89a39b551446e","lib/libwinapi_windowsapp-dhcpcsvc6.a":"13f15a4fd529f6fc68d910b50a7ae98a8be86a6d9d8af612cea977c610d234d1","lib/libwinapi_windowsapp-dwrite.a":"ee0478385c40b02c2b1df0d79ccc2aa224dab79f44c0db04bfcdcd5ae9af48ff","lib/libwinapi_windowsapp-dxgi.a":"d6a739e1bfa9fcb0f89717af65cce753e29d8bfc59017e2f846887805c0697bf","lib/libwinapi_windowsapp-esent.a":"037e46482a2b46da13b75048f73807cfa56d5d24ef36065ed50b279bae6ad246","lib/libwinapi_windowsapp-ext-ms-win-core-iuri-l1-1-0.a":"edeec625207e515fdb625b07e7e2b38c2cd73667c6b452f4456605b326a95864","lib/libwinapi_windowsapp-ext-ms-win-gaming-xinput-l1-1-0.a":"d5433d65cfa7cfe7b171d9f917a30c35cee237a807e92659f545b08d5ee8caea","lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-0.a":"35260db55143ab8d0247cd7621a1d915f3c91dc1408aceddb77a42f5666e2285","lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-1.a":"0ee840c8dcbddaa9ee9e48e89828c35e28b3d4bf80f699154d3ac445360feb82","lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-2.a":"dea5a78aaf77341c658b482b907537469263e2f10c1e4270ca2ef7c3ad75e139","lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-3.a":"6d302c7da5ba17b2d45c55a0937697545477d728adb6cdd9911fcc7d3f7fbf03","lib/libwinapi_windowsapp-hrtfapo.a":"1b02cfbe7eb71cecdd5da34b456f781f75c6eaf3e65eaed64bb786eb44c22823","lib/libwinapi_windowsapp-inkobjcore.a":"4ebaaa0305eee0c2edc21adb68da23869d6ee9ce0fe44578e650ad83369887f8","lib/libwinapi_windowsapp-iphlpapi.a":"e75029d637f81f91e51bab5b619dec0f0c58ee1dd18859d1b72290f35984f347","lib/libwinapi_windowsapp-mf.a":"2ae013b2f8c6c95fa29aaeb71781dfb5e25c87aabd5590eadbabe25556ced7d3","lib/libwinapi_windowsapp-mfplat.a":"20a7d1940ae503602322aaa57d74ed7e5f3ff344e193085d4d9eeb43e90bd759","lib/libwinapi_windowsapp-mfreadwrite.a":"9fd47afbfb271049090e26cf0d9767e2111ef74e6915ce19a417606255a80184","lib/libwinapi_windowsapp-mfsensorgroup.a":"abc64f326a4f5834dedd23e1ce3aca75c567e4afcff9a3e131837a5937e6763a","lib/libwinapi_windowsapp-mmdevapi.a":"66958af2e7ad7e872e0051440c618aede0ee623c2e3a2e1d194af18c0218a6b2","lib/libwinapi_windowsapp-msajapi.a":"e5c98e56b11c7bda04ad12acdafedd3760fe5cfd4a7162c947cba91e1e21d387","lib/libwinapi_windowsapp-mswsock.a":"9ea5245062abab4d6f986a8c22c7c8b82d253087ed16df5697aa0779dc7d2cab","lib/libwinapi_windowsapp-ncrypt.a":"26f25244ddbc526e1c09f746066b63d8c6e35ae8fa04a6c17496ecb923277710","lib/libwinapi_windowsapp-ntdll.a":"fa8044cf86e4874eee74c9469627d9c3d4b3e75b39c0a38f6cb541c778041b76","lib/libwinapi_windowsapp-oleaut32.a":"915fbe29c0d10e02ae07ce448b8e30d840dbbb9300e877419f6dd135ba1d400f","lib/libwinapi_windowsapp-propsys.a":"051a77cba76c77027e48073af393029330ae3e67910bb1bb2ab084dd0c2e1141","lib/libwinapi_windowsapp-rometadata.a":"562dac0a8fccf405618a18bbf52e12805ad2891cddef9826cf025544aef16bdb","lib/libwinapi_windowsapp-rpcrt4.a":"8f27df2bad159eefbf5220fe431a97d3b9992f11aca355468d80275a942e4065","lib/libwinapi_windowsapp-sspicli.a":"4fef993264ee3b667928d716aa7226386f8b400b9488544eae37f751dafe4db1","lib/libwinapi_windowsapp-uiautomationcore.a":"225604ed82687fd285341fd13e50a3f12ffb4fcc72e26a9a6fac89b52ff492ef","lib/libwinapi_windowsapp-urlmon.a":"107de902b8071750b28ccd2191b0fffc2e7a0d10df269debc53d6be3a218a500","lib/libwinapi_windowsapp-webservices.a":"fedf002ca88c8808428dba5e9a02e3582bd614638518bdfd450e00dff51b10fb","lib/libwinapi_windowsapp-windows.data.pdf.a":"6a5610f4886b3f3647f1ffe3aa9ef7af27e99cc35a7d819f8af4757203707440","lib/libwinapi_windowsapp-windows.networking.a":"315b0b15a77f52a734fe128cdebd993bce6370d4c08c4f9e3ddfd6788699ad1a","lib/libwinapi_windowsapp-windowscodecs.a":"5c76fcb37ebb0fb3cb9a16211d477e59c0d3550d21c169dff733cfbd8005640e","lib/libwinapi_windowsapp-ws2_32.a":"362558ef21906aa66e1e827152ef53b227667e033bcebbde8eb1216086d50889","lib/libwinapi_windowsapp-xaudio2_9.a":"b93cb26bb1c5c49b4b835ab7115695e914fbdfa8fef19bc00c998667dfb28ecb","lib/libwinapi_windowsapp-xmllite.a":"82a0624f77b63748c2cc456408ffd9da0516dfb0e23d24b06fdaf9c29b53183f","lib/libwinapi_windowsapp.a":"dfddd13a1be53af64a03d5d473a6c2c80c747fc7999e1cad7e7aad50d887a813","lib/libwinapi_windowsapp_downlevel-advapi32.a":"b15b64350cd697ed96ebd6c59716536c69c78cb589989058c83a5d2f4e8be98c","lib/libwinapi_windowsapp_downlevel-api-ms-win-core-localization-l1-2-0.a":"565299f3aea03821f84e8052b1142225a8ac05d71808aa660e2aec78b115a3f5","lib/libwinapi_windowsapp_downlevel-api-ms-win-core-winrt-l1-1-0.a":"f4d80cc039da4a39579155f7b30298e46ace98a936a387db47dbd64eb917d064","lib/libwinapi_windowsapp_downlevel-api-ms-win-core-winrt-robuffer-l1-1-0.a":"c941a5cfd8d2148bb8ec06c9a9b3c8a70723b37fc2634575e36c1c49d1df73cc","lib/libwinapi_windowsapp_downlevel-cabinet.a":"89a12c6584e2cdc05364aef6f6e17f77d0083769633adfab47b5d6793ad884e6","lib/libwinapi_windowsapp_downlevel-d2d1.a":"bda9d05a33ca5e056cf5937fef2a52a59b6700fe45578131391116ca4a4c5b31","lib/libwinapi_windowsapp_downlevel-d3d11.a":"151c55f421ac527340a812b669da6b35faf8e9b45d1e2d0e08deb982063a24e8","lib/libwinapi_windowsapp_downlevel-d3dcompiler_47.a":"b1377cd66a4f5e603f7713d253a8257da5942b4cdeb124f6172cc22573ec4f37","lib/libwinapi_windowsapp_downlevel-deviceaccess.a":"dae3ef67aedc2f6be5934edd881e94f0f1d557157eb120603033c3b33056b790","lib/libwinapi_windowsapp_downlevel-dhcpcsvc.a":"71c09c6b4a7957e41326568aa5c3843e3b801e64b8402fe29c39ef722de2f2cd","lib/libwinapi_windowsapp_downlevel-dhcpcsvc6.a":"1b2e5fe6ebe47482a817032559f7f7fef399e0af20c8a65263976efa41cfad30","lib/libwinapi_windowsapp_downlevel-dwrite.a":"8ec12a94050fb6be30d9ce89e9a3a3fdf229aef3ef851e934fac59a8c805c34d","lib/libwinapi_windowsapp_downlevel-dxgi.a":"5b399ce9491ac65f985c474bf8a12c052bceaeb9ef4287f1b52276652afed04f","lib/libwinapi_windowsapp_downlevel-esent.a":"b1410b4797fa48ff20422267b1be926d59cc4857aa7b95fb6e52f4f9ce7994ff","lib/libwinapi_windowsapp_downlevel-kernel32.a":"7a7c838ea5b0cdc182a1a6d258d70817dfc160c074258ce680a2db2cf7c10578","lib/libwinapi_windowsapp_downlevel-mf.a":"fe2d036c4a667eeb030566ce65f3f89b989c1fc1abe5f83945ca44fdc0b70c13","lib/libwinapi_windowsapp_downlevel-mfplat.a":"e5bee9fab643169b89c88cf568045bac6e6f016faf293f8aa30284f88a256238","lib/libwinapi_windowsapp_downlevel-mfreadwrite.a":"c5de9e0ce1202e8352f16d8b67f9a6fe1be12fbafa0daf61538225f499f69605","lib/libwinapi_windowsapp_downlevel-mmdevapi.a":"9c981c2a505652b7ce2455ba30ee8574427948ee7b67571bf5d09a8dc97ea375","lib/libwinapi_windowsapp_downlevel-msajapi.a":"7e59dbf0b6e104a79ecdbac529f45e44b0ddcbee1d38863d8aa7cf2674eaad67","lib/libwinapi_windowsapp_downlevel-mscoree.a":"1b062a2632e68b73495c1247e5279839e3033e3de02b5f5db104cbbc68af2be4","lib/libwinapi_windowsapp_downlevel-mswsock.a":"3f58e0deac30f5a96f3f2a6b4d1a80f2496dd6b1dbbd01235bf0755d51afe986","lib/libwinapi_windowsapp_downlevel-ole32.a":"e4b79dfc1813ee67f496b671e596cc01d2e0ba1c79f0d4d6ae2d7201f56a760d","lib/libwinapi_windowsapp_downlevel-oleaut32.a":"69308892c1dea408b9384284943e45f2147da04e74caacf4ab44de11cc2d364f","lib/libwinapi_windowsapp_downlevel-propsys.a":"b8b6552d2b28a7018468994d3394519b8a7101534b3f4e50173aa1813201f853","lib/libwinapi_windowsapp_downlevel-rpcrt4.a":"8eed742ab752bd17b586d1603e796339c5555e0b0bec3ee1f1d9532521c6e52d","lib/libwinapi_windowsapp_downlevel-uiautomationcore.a":"8d467b3c25c5e390893a47b1e3f8770776e2a36372a8bf0531c25a492f1125a0","lib/libwinapi_windowsapp_downlevel-urlmon.a":"42ad1a91664810df9c2908cdbf8050729db56f14e36125fbc71cf463243f7806","lib/libwinapi_windowsapp_downlevel-webservices.a":"89fadc0f43b06e47b373e9a44632c61b14b4f7a2f2e9ee82136c3e0bbdaf1f80","lib/libwinapi_windowsapp_downlevel-windows.data.pdf.a":"731707bc16a683848d60aa38954b1938900f089acb91a15c7e3613fa34784dfc","lib/libwinapi_windowsapp_downlevel-windows.networking.a":"3f03402c0a4dfef0d0064915f17f88604c8526edf7f03864ffc2a07838311407","lib/libwinapi_windowsapp_downlevel-windowscodecs.a":"f57a96186c4180602cdcb4ff71b3195cec7159d7f6fc32e4ef842d2616a8164d","lib/libwinapi_windowsapp_downlevel-ws2_32.a":"fbf4bee29fefae79bddfca5f7d26ef4b3fba39cd4ca38c69999ddf3b16ffc352","lib/libwinapi_windowsapp_downlevel-xaudio2_8.a":"575a6971d93bb159b37c4910495669d337e6644bae4d7b6f4148ace23d7bb89f","lib/libwinapi_windowsapp_downlevel-xinput1_4.a":"8ebe2d1cf4cc25f05f3f6cfafa9084295e07d022fb7849c655d3d29f40c65b78","lib/libwinapi_windowsapp_downlevel-xmllite.a":"499ea167ece4491d8a1e9a52344c4ba7edd04bdff77a6c79e32dacf57808a33f","lib/libwinapi_windowsapp_downlevel.a":"2194d9b733835788488e418bcb32fad827b37be22f4c4bf60ab2a9a79909b61e","lib/libwinapi_windowscodecs.a":"1d9a617d8619f0f754bd96735db2f21efec8f7c7bc4a14c5815e454b1b316d16","lib/libwinapi_winfax.a":"98cf3f776b3f05ea74eaf7fe7dc767db42e76bd07b4d253eb007349358f3cc80","lib/libwinapi_winhttp.a":"cce6f8284c2f68dd07b5cf7c5a4d1573f8a15645f8bfa465968709d2dd721920","lib/libwinapi_wininet.a":"01d3a33678e0b27ab1c07d0a160bf2382ef9069545f8a54a91e11d5c5f504228","lib/libwinapi_winmm.a":"edc07d91a9cfdb84393c2a1fd148ce6374c4c5cb8a8de8c3dbb6df0f9bf0a4aa","lib/libwinapi_winscard.a":"55058b121a5930e72c4e9b5c67b7d39b4da0af64cccc9d67e04604c1b6c6ff2d","lib/libwinapi_winspool.a":"cdb1f6a9d6b85f15e912b1e9d5cc20851297d0421bcace0f8f47ec200825055c","lib/libwinapi_winsqlite3.a":"a089b8a8083e37e93d77d3f8f94039157c7f4389026d19563cf6cc868cf1a1bb","lib/libwinapi_winsta.a":"618c97b3204cd65b588ec2c3821207207596170b7cc7bbba3f3c59db4d746d8c","lib/libwinapi_wintrust.a":"79e2228fb8ea93e0565c7b9db89bd35cbb6824ba4d384d295460495c21cad6a7","lib/libwinapi_winusb.a":"80e1e8b3ea87e67eba6d82026c611ca46e481134f65dc0a65e7cb8ab6b3cdf84","lib/libwinapi_wlanapi.a":"5efb1954fdface46feef7639ed76d1b13c0f9f38ff5d2879fc4cb7e26940466d","lib/libwinapi_wlanui.a":"990c834c28a1087962948e556e0427fd6c31e79e1dc81b34c6f744ef67c0f9be","lib/libwinapi_wldap32.a":"4c399e2d32d3d53359361a89ef059d4751412d8c68f5a0c2396462b34681e7bb","lib/libwinapi_wmip.a":"318d6e8f08041e59a05d82eb2a70e8794d123c91cd71339a65a1bff0d7b990be","lib/libwinapi_wmvcore.a":"df64a1a7af862fe93cf2cb3301504417148e5fad917e0182a41df0b3bb3dae83","lib/libwinapi_wofutil.a":"330612632e94d06d2ab63ba3e85db69e4c689b02fa14bd4602505be088c6b8b3","lib/libwinapi_wow32.a":"49bf68f714be90aa6cef22241be0b55f6553ff6405ca147824fc5653a60fda1b","lib/libwinapi_ws2_32.a":"b02a3fb740261e1e72cc6d88ae06f228565d39a253198122c23ac965b606982b","lib/libwinapi_wscapi.a":"4a9236b6557411c5bcef90c4f3062aef4377e0421fcf6f6fc7d3483014edeb92","lib/libwinapi_wsclient.a":"b3be16fa22186b2e36537feba46f81c70ec66978459d715a03600c1fa10c4baa","lib/libwinapi_wsdapi.a":"c8824e6b5d4aef2e8695b674905960fcaf1af8881965915235454d25bbb5c667","lib/libwinapi_wsmsvc.a":"11d5e8f6c72b2a16eddf3fe8c4db08932c3f70398808e57c9a797ef9ce8f548d","lib/libwinapi_wsnmp32.a":"4c8dbbe49a58aa683655b84952ec5e5dd6bc68cc4d062cdf6d000daa31a36aa2","lib/libwinapi_wsock32.a":"204c14be3fe2cc95e1ab464b4f4d86e59e56bcebd054dbda55cef49d676ea037","lib/libwinapi_wtsapi32.a":"6b0541ecba6bb1a20571ac9cf3cc6e3909c7592214128e9fe5259d8a520353b8","lib/libwinapi_xaudio2.a":"7ed568b3851cf3dea6d2a2a88b2d5f4c56899dbc8d7f6d8126a06ca7ee2ae139","lib/libwinapi_xaudio2_8.a":"d6717d6e560fa321413dba473d5b741c6d44d3730145c7089de3b996279494d8","lib/libwinapi_xinput.a":"b0edd4a52d698ca8b714ba86dc185ff75e1aa4c9179150dfdd5e01b766f93a36","lib/libwinapi_xinput9_1_0.a":"455441428a9a0bed23abf9cbf316e27bfbdb545d2eb5e7f4319eea8a02938512","lib/libwinapi_xinputuap.a":"7b9cbe2a468180055aea890071308a802d938ccdb81d324e4f904020820f29d1","lib/libwinapi_xmllite.a":"33792fc30a0332b48e0d93d90ac0cb08bcc6331c10d8d9813a5c27dff101b12f","lib/libwinapi_xolehlp.a":"23f63c0a9df8909599f487b90cbdb747781642f4fa60f2b1a2fb24beba4a01d6","lib/libwinapi_xpsdocumenttargetprint.a":"6880144760502cc9643ab5841befa150f05d59dc81be1ed530dcb582d31e6b93","lib/libwinapi_xpsprint.a":"55aef7583e713244611d79c87ff9c955760cdb9060a081fa8e28dc9cc58f27cd","src/lib.rs":"79212a91f610f8a77aa6ed4cc77212c2531eeb35630388bf07323cc328fcca42"},"package":"ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/Cargo.toml b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/Cargo.toml deleted file mode 100644 index e3bd0c6be..000000000 --- a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/Cargo.toml +++ /dev/null @@ -1,22 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -authors = ["Peter Atashian "] -build = "build.rs" -include = ["src/*", "lib/*", "Cargo.toml", "build.rs"] -description = "Import libraries for the i686-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead." -keywords = ["windows"] -license = "MIT/Apache-2.0" -repository = "https://github.com/retep998/winapi-rs" diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/build.rs b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/build.rs deleted file mode 100644 index 7130b307e..000000000 --- a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/build.rs +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright © 2016-2018 winapi-rs developers -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -fn main() { - use std::env::var; - use std::path::Path; - println!("cargo:rerun-if-env-changed=WINAPI_NO_BUNDLED_LIBRARIES"); - if var("WINAPI_NO_BUNDLED_LIBRARIES").is_ok() { - return; - } - if var("TARGET").map(|target| target == "i686-pc-windows-gnu").unwrap_or(false) { - let dir = var("CARGO_MANIFEST_DIR").unwrap(); - println!("cargo:rustc-link-search=native={}", Path::new(&dir).join("lib").display()); - } -} diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_aclui.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_aclui.a deleted file mode 100644 index 5ccf8e52a404e08a59141c9fbcedd4a870e40c3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6530 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 Z1=g~4ENKmfS#L2(P5o4824A_G{tsCoa5Mk_ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_advapi32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_advapi32.a deleted file mode 100644 index 6c52a36b644253876133c032256899788e027116..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 638848 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
7_$NH=e)-k#2%}M0&-K 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%0DPp* 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 BZTbKJ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_advpack.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_advpack.a deleted file mode 100644 index e7eae3cdf440a2c3a5e31dd1e437153e4baa5943..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59044 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 T7n*XT@$fZ}vmlqYi)H+Os8|G! diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_amsi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_amsi.a deleted file mode 100644 index 971e59798cd5338199b211b54a46837de8630135..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8748 zcmeI1-HzKt6vt1T-R`oKQa-e_0*N4%8-!9P-F323g#wF^kSeHHDpg$I^(IbZHJdC+ zN?XK5C0?MHJOq!xMIVJHp`8Dju|57s*1HK?Ma@Vvw$J%{?3wxbcs%~(wl`|`zSz21 zNv7Iv&8azdb8oj&vBhPUl?prc35Q!m^gfaG7t#6;M4LU8-~5IM`ASvgcUXq}-ajgD z|4oE^{ZExYnh+s>{2j9E?z`^2u|FEScm0V!a`%TF-+demypzCXW8gF$w;voKYpZuW z4qVS=$+1ta+w;B7c`G6JORntRAQ%Lb!0QLU`K=wUGB`eQb3LN=+A~hbI`ugRZEw)3 zIf>f6c4XD6Z>Qae*G{^i$H@niQ80MWs@rD8DMzUN>QT4rk6QIa6QMO6(0+g74-WkC zI2aCEO|#yV16t#*64Im{%KiRu?B`aS@=)h#@N`lgMyO6>v}W6m!+1KiX2j^7(j{h( z=vs;BZP{BdRVV%v25x4mkbPL~coT1?il{~Qi|WyMe2R>oK^LIH8#|$Pjd#}gzRV=` zDcx>phi-Gat`X`k^UmcQUFb)zS3CVaj;r0E?`y}uFNq$My57UkpzUTqq1tk)Zph3& zvZiT_{wYt>7=45GmP;s;N%x=h%R0MeXrxat^5xPS$x8H5SUWTpea+>(kq4Ca&Om9S zzL%lY;U2y!cewVdDXr^{LWmbi@dP1Z1oJ2rXR0uC5%npF97308hYeJ3NQvinL;B|} z*(<_uPu>bF=OjE(chY+_c&IEw5xoM=rFRwQ=wI|{oXj|(?m0ugh(m_4#j{7WFQqCh z`h$1oeIK6pO{!nVTX-tQHm9a~G)|4(ja$Z3u^~J58HDftzo(7}MP-NOv{M$BaY2Q z(tTuHcNX3Kd|ig_U-NYl-P_#0me%mDPWg0iD7upqY(4|5EGyw3>K4a@H?;*Diym{S z2v0UU^_7z2oa?J7=G-aBxl_wT@h3d4r*VGQ;Nv1W|H-)SEY3Umx(w%od|kx(6&}Z; zoL>q#$CsHQ zXpC%8qSr&B<3)j`j@s8X!!gxSKwytWSR4qcj+>l`*(uk8BKA&EzOxZ~HSfL=@%`=@ z_+Asf<3%^%vCOlQ56}QkG2gZ_NNLfKx59VaVQB diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_api-ms-win-net-isolation-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_api-ms-win-net-isolation-l1-1-0.a deleted file mode 100644 index 70f11d704c3259d6474e7b14ad296f9f26df81b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9332 zcmeHMPm3Hy6n`_bn~h6?8UhiC&}FH+*k1>LYXB?v0M>2-toKE{dICW4gq)y^mSKB5!xpW!~c;^v8jRm4VxKy+QDh zqO7HsVN4h=WQiBVqk*3UqtF{Tp5xh`?_uvD1JCO-zgxoi;C;lB$D`=*emeDoFk%Nm zjO*VUMR&*J-BFnMLCB)rz8@a2xU+?;35H{Dp`O#Teae!fu{z5=eBmg-X`1c4d1m)9 z%%F~suhR<-I7mnWVVzXH*fg`I!@2^0ZYt_GH*mKe0toyh%t5G8JlZ_PLKC~ zcr-jcp3}?|gBd$L;(LLA5RPJo+ZM7%$(|n!jv{t9?BYA#4|}8hjV#a;x;`5xjZt=h zLE+& z*)dihICZCPH@brXG1tDR5=@m{H4mf6t(J#TWJYqR zRVY0jq+GeYRy3v z&2Fahyp9FZ>{p~_(C(TvJH@NHg3Fkqwx?ynrRC}T3RbKErNsF)E}yHsR7Ah~+?XRA z1J@PkCHF46$J^{F&J!kg_RG3@kd5NJatrcmTj$l!D7tyP z8c1EE>^yn(l``)vUOhGAG+zB+#$~*^h40sq7%a+Q=G7&QSGl(;u7}IYr_^zn@Tr#y z2J3hN=v)GXB=u3reOMFQbc{MPk3)S$_s)|;kuvWr4t;ILX&m~_ zjLSIm2I@mm4y~Fvq+Wl;w}z$WPaWk!VZxs;Lf8Efd2Ey|h|jWx4Bh>@a^C$y{wob$xwyAu%t0)wn#ev z>*Heiw&-?2R$bU4t_69lI*To;X{<7S1YT+;Eo6&~V#v2e`S8+hQL`XxTHxn ztO~zks@Wb*1o?mb%+S)A;uK|ye%HBR%H~2$sc1~m{@*P%Q{Ixim@wsYSwmSBe#2B_ ziY9{2S$}ty?~B<5xpMK%n(wzTF8U3J%urFQ0vcE5{fl1i8_q)Ctmla&-$g6bvn(6* EA1K1;DgXcg diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_apidll.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_apidll.a deleted file mode 100644 index 12f8738854d24d02bf3e78d400272c8f7b459e6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2414 zcmc&$!EVz)5FN*9Q$i7y;K0#Ha6`sv8Yf5l$<NsYj|EDL$>z3 zS~D~+bgD#D=Ju1w{Z6#`15K$zrQW6SG*w4&7EjgTX+Kt5oP#QVcqYNvUBR_5VH$2bjcTo|=v1WTIwW>c_oaH}g;PH5aY576f6)%M5q*+C8sR zZ9AL1RH6qC(Ot1N96yV{WMUU9kAjZhkFuy3A|nSBocrB0y#hvGflCnZ(O!{{x*U0_AZ5891Ic}Sc?G?Cu{Ke6mm+iLCn?~dhl2L31eq9iKa0bzF?l68kPYCNS z#RkmIQK<-H<;N|;Sh>M^T?cwmO#UP<8$9#}jN}A6?>e^^gP2|(9hefmX1)Fi5S|XN z&(mhTK0A{+Peab}j(lVJrg^$+QbqUK08ep-AlSoIJe9#EW#MMLUxG*%xK)1m!0U== zoZyP&=Z;v{VewF^6T?}A5j4n#pT@`9BRrxTV7g>iGadOwPUm7*3jNKOxG&(G#dzZM z5xo+vRf)c_@ek_qx>rM0PDUC)sf8!#lrtjNaMV z+y^VaS2ag42RKD^i<{0Z`nF}~7t^?x>pa=Fo>X-*9F^=~7JkdR$;?T!>ihz;Wo`Hd gcm5;5JSeyF40o-3;K>z>% diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_appmgmts.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_appmgmts.a deleted file mode 100644 index 1b6c97addc7db728311e2f40cba65775d507c31e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14600 zcmeI3>yFz*6o5~>+ittGrJ|)2T1r|i0-+L|y*OD^RavEFS=5TC7YS7euQ%)6xXmU} z?Cph1DS{s$1nLv;5IjM}6Y!H~;2|jI%-EiZFUh3qu4E}A&Dc3}?D5Qeb9_8AIe*FO zH(QryKPnD}@>1C-8+vtlsaVummYf!gWqrBIuUMZ2fC~WAzXQx%0+_wS6uaC4ZCeyuHCSj_pEJut+UmwEe5K|d4tj`wr4r* zv};7Jf7ME_SGPQSyW4+6WnFVzFLrH;PNUy#+OE6W@9y>*-L}(w^!dhJyXm=CAJ!K2 z;F(8ht*u=#*XnJ{byqfboKA3AOuTA$>^?rJR9tO7EF~?s?%wY7?QN`;-IuB%syIZU z?oxl*{Z-pz&v(=7_U&4EK6u3R{JMK%c$q2Lb$6hwhUK*cCn=c`ajHIL2;G$?b)DP{ zLCGSAX^Td4?5KV$ukK#$?Czl0mAWP(th@ETjr}M!X*d)T^I&uP{sXVn4UJKn6)Nkx zVHm}tF^>rg>$BGiXk0LyEdadA&JGkxp8e2c=jllitw?Fp@~m_fmQw@$S!u&{N2tLQ z(sSsBbBlrQG@eZ3bIF0-kLxW3a?(4Lu2%{4j^oLZ1ic`CrO~*)di~bT(q_9&veK5* zw*Acio&#(bwyb-Bz?aKyMYo=c+@I9scGA*xq&AvL(~;VT>O57TbTIgB$lB%rW)0C{ z?LxgjRX93$6aQCmchb?|Q%tjXPY|uGF=(wURARIm*vizK#E0AiOq7tkL|W&A;!d)s z0XXdwK)skmYoIS5CB2Y-IX^fjz2H20Jc5E5pp?e(3~L|i*BK>_TkIW<>KGUku;sOO zJNLMRkpyx}?-T2+bvf(QzSO27$o7IibBunb9B@oW8h-$*Eaiy?zv4+2-pgKmAK!_Z zrP1N)x?W!5Lu8~aHx{JPF~h3#5Icw5%cRkPZX{g9{Dw~{9bV$-2yHL5{UR22M=BSD z%^$GkRn*x`)(b}m-R~0WbdvQ9%w_>yWvKZ&z6cM+XV2fIUr(P38I2ps|HKSpg~}ne z01jj1?MuJqv)H(ZTYQk;fy};x&njynDrG8=2-_VjX4fAl>xH!ARGc#HM*`Z# z978xiMR4TVcey|nz#ypqgbP@z!7q3Ws86VV%+9CjWHGk*Yhpf#!>HqTax|U&-cJr zQn|z41FdAe*n6O#tQU@g*RXe0{rg#nE(GM8{MUWT1^E|4?x|+<@nS}+>@O6>#o1YS zeOZz1YTUbtS@N%w^+HQdGZm_q{1BupwdS1ockuZs2#a20zj>m;k9dL$ zuP?p~ouLP#S5&!=`|%SiFZ}p%=51z>`-FW2xwi83B~L*xf0+wds=*Iox1%j z+{>0B>#FOmmH2w=WIjgN_HpK8rlYJg8uGi=`Uc^QL2#~f0ZTQYjeSwhQyFI&8S<^V z%36ur@(JI9?~~Yvs9NAWJtK; z%BnHhF+-gQd^#q+k6;{cMdO5vMMK=zP4~{Tx1zLTX8i5!S$>BquAmx|{f-1E4WqKUz4aju#|1)&&JhQE6y`$BZ L-SEV`y_5bwL4p6j diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_appnotify.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_appnotify.a deleted file mode 100644 index 5bd2147ef0fa06736cf552ec656ee3c68b06c278..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3514 zcmeHJ-)j>=5S~j?Q$s}``rzXUDvG^$*EH7@ibV3FP(+l1__Dbsm)_C*xaLk&@S#t> z33>2Q`nU8iv(C)!C7UKODNQMY12;Q2``zx|>^D36VAtz6f)|D7=D0Xz$8}u0vQsuq zo4a&vnx&GfKByM};1+=K6ChUy$e+lka0*a36{04@e(d*S@zziLzNqz@zW5w=y(kpu z4Bd(=+Tj5`%Iif@x0i&iufh|E>-Zo<;Csz0jRa!9+xHK{7}xMJiryz);@1MNd+5KR zxx$8*guQNc3+D&g-f&B1?S*68u8Z5?mT{9<>V-W6 zw*sYN0NiD3#V98JmxS%v$^^S!Y@o z#g}3_68$uhYo6dggHt9`OBo38inUZ3_<_b!3d)u0k*aK*AF++%$RwF})^C?8T7KmD zrv}JDD#FA_eb>mdiq8i22a2cEnAdmK56@RrzK=3s{!b> zlh1xoEau43EclgH4^=K|)nJVK{NJ<&nJe@?3C%9KPc@Q+#*vvX4`Ujl~0IUEwTLA74fVH3W2+m3?OoDFJxk0Nmrzs^e$!OUC13<3Z5z`*9W*LwKeI!KL3# z(*-a%CtN}SA8#8h9u%zLciD~ODO}C?3AbL1s~g;X9Bky^%>2u@AKSZo`|teza7aEM zPgv^7UsnL1oP+q#IJDp9ibA{B;uFl~sZ@lqIC6_H7C*FS*C9LGG>6R1Do*_Y!@SVx zyUyL&Ao|TjCrk-mqg_U(kXi@-pw{~H`kY!LWSLHr^kJU>yK>AesQxrQ-otF@$4dO~64mI2|1-4=V|5 zrvH=HnO&uI;+Hs`HoIP^Z=O>>gN=@i12mzrIE)lpSe6O{K`f zTD}un*-_>#o#WxqMVFTy>*#%o^B=TIsk_DOnABe4ej69-TI<5J=Fimf24aT!xJho0Pf(Uc&2xIG?yRql^^W8 zkn22X%`#K8ifcU68g4wi`x&M4KIt1&X3+1c(T0`MAM!f@Ww7!zwTHSAd_!CK&tkzJ Jk0sf375ybu>CCLxUK1Or_>el1ch|GeyWY2NX7}YSXo zmsvW_@(Oma^%?;10KoD9>|faYt)BTafcY~aHiY;xk>iQjl8GFPjZrAY_h=X#MgpCY z-|c=-^NkUEIGO$D^Gf zk=;%KW4IyQ31#ArGPgUBSrpl&eNuaG@-q)03LB`)^ZbhoN&9kaKP)iVUPsX z5bo)Mcj|6WCRf1V2jLH z=k7+aOgsOa1N5!kU|%~@zsVI1ZC@ClU?xwsDvZIAU4=3Dp*7nUl|@TAWNv1$>k4Wz^;r+dnO z1Moam0PSL#S~cFR4P2&vvtPFfr`s3n1$5MbN{Zt;^F#Yuzm|>%oYfGH#+rcLWNf#e&CSdg>Yu07&tR=%sww^eK5(gu8vMk@ZRGQtoCfK!(xB*= zcxX)(B3I_}cH4-KIxi`~&7lLZEIQ`UyM+ClsYcY>rnEdP$7Nck6YsiO n2Bl?vO=KPXuX=t)vPH}Fyrdjl)?kFS(z9M}^=0`M@_gejJ5k&X diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_authz.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_authz.a deleted file mode 100644 index ace31de74aef850f5ad232caa30ad95b6095edee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32246 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_avrt.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_avrt.a deleted file mode 100644 index 263dc0deb3faa33611fdc677184b7825a550c83f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18480 zcmeHPjc*i16o0oZ6lxJfG>Fk0T0{xfz0&SolLqfBL?j>x6*Mt!x4kX5aJ@En+oSa> zL`~GFk;MPQzkxr@i0{qp$L#IbT)UKPx|7W8-prfXotfY7z4_WZJ#TbZS{KJZC|<5#$UsCy#M| z>R$lzZ(?@xr$@P;JOM!d>?HT+Fc10n@fqaR^W0xh0my50?&od-ke|nAlK*g-`;R^a zAb**8U0=}k&wFOKr{6Sfv#T$xH%$(YZT{?anr%>|>gVzvVrW6}q6 z)+^J((*l`TQlo#{w6AZrZEMYJTE=y3pL)&D5t+#ItnsSd>{{zx%ibQ$6_Fgsx6m@W z#tQa{)w8XY-rbn|QDRBuG~~)*Voo{NjV)f4(6hw0qn21p7ELLy5$KD=^0;WDf6KmW zSoV#MgQ9K|o2zs0(Ah6sifF)HVpY4pw1Vv?k&l&kAj~4F?<&M$b4DdZB*~xc%yJwqgx6IzgdZ%ag&5qgYiF{+Z^?pygSs@;G;AYY zgr(F$eKNJ&>!panBa*YIz{wd`7EK?F;(LjXmB-~~-FT8a6fakGG#yC)i#}k|DFQeE3Fz2+z2OLY$qyqWT0#k6Wd6MlM&iyBu++X8>;U}iNc_B z+K;u%0ZdAeVQoS^KTIX#FPm+s@r#M3O7z>HNW2}9SusazHx7hd%#nCZ5 zz^dKa>^$Hx3`Ou9aL!tn4+%d7!{gc(dD)>rThK z&cJz`SkY5ewKB)4k*d3ERe=>_tSXNXdE@LZ%!)%8e;(7naL`GY^0U+3p01@fpTUPM z3(o~##|LzG4Q1NVavm$Fym^%AN6TrL%-l%~>yC^Qg_rV^r)TKbWiS?PvA7M`1g_*S%B2=U!$IS=tCus3B9|56C? zTqEWc>90As_L1&2AEqckQ>+lu19Qh9$azvm_|_!xT?=dUN7(0S_}(w0msf|t_c6qG zXxWh=A-~%Eb$owvKE`W2f`tk^#4BPvRBdr_B|0%9oX^VQycnfZmvMFOt?YPue3()C zQ3vM(3+1Ts@{4oHQ94`u=Bt@QY#(GbN}rL#dbLssjahz`(CJHpt>4Qr%YEUwNn;i} zTFx`NG>)Jd=?~Fz9@fh!Cp%_&F^KiSjh0+v{tUJQIbXM5;}I-W;CH+_x;=UYf0(VW ztT=F?-~e?Ghq$N5pD729Byym!zd10>wry4%n3m+gba-t42LdN;Y~K|0=U&=@j_}+h zJFpck7vjK=(Q=+0m_#1Q+JOm|1F;+F`JT(ZM@j{qZwnTA1Pc}T8?UY{h;4$v+?EZM zQbaSF15^q=P&aY7$J>M~`S3y-9~uQ8hCVivm3>ep`B2Ogn06cBjb|Uqm?~=@#*q&R zhne=n7%8Fp;=+EKST;66mE66ps&mC$Icz(2#DT+%192zu@@)@jtVqruA6?}UEL7k( zyyEyMi{pwJSpijYPq$zI@5neSK>L}pR^Sk0K+IWFEGN$^q|ywCseWK`kbKlOD+WmJ z@fPc)$qXnD!GJNwfY<}jxn_XmdTBPt#Ixdn|lE;%Et%kCVj;nSnV=*QRl!>o~(T&zcZZjFq}v(A6p(eJ*_ zzv9HuMS)*1M4g}bwYfVdP8P}t|B^e!S~ZOS;wu;*|0l3tWyd{$_#gPsfLvpqzIh|( aW8Rw-VXOk17$W8esvOu2h)mlZ!v6<%6$oDd diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_basesrv.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_basesrv.a deleted file mode 100644 index 3694b3fa1010e7db8b005506138fbad4b0114a09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6636 zcmeI0?{C{g7{{MDEiGk?pDG9;@X+8D3Qm_enKYrW4kn~(ni__9fpDGX(s=WdVtb{X z5SkD|;|Ji47FVgcX*QejwP_w~0l-B7<1WDZy8xS3e7yD<038>xj*hpmj*fSp#m6?D zx1TxAuH)PZMG!i-MI-`ecib1wFW$&K_8c^NcH4G*uSbWp_S{f}!HMHKsJbt}afZU} zFVGG+T@jp!;D+yiJMtpW^}UB~O$Zd~0yF>mCk8r=9dUSC$F(#z*SYYAV~70`LZx z)+@D0oJL$O&P=clYUpCOSi&_Ou%6a>VK_$yk4WcHgO?kLb`1+__*`n@_F`Q#v6F7I zSl3E)7qD2D4mUWb7~Ww2yw0UE z91nT1M>!^D0tV6W!RTIWVUpklu+H9%SttLJPqU=174b9Y=x1@lF`X&?0KVZo&J6eq z3rl#-E%1(%@7g#vLJL!q17z+hezmQ{#s&}Q59E(F4Md|lV`SOH<8!S4Q8G#=^Z#4L z(^Z!|-@wiWO23e;_7kgk8#TvzT^bwI-Zj)b)az`l=JWyP9jTEfJeg0Qe@a(Ro@6%M zT|vP<1w}*+^+}WgyoyKcYr0lTs=uk*YJTkp^-ahtJxFTVTht5QrM%r_>?v#i1nWFj zdWJYQ=zdDnd(8UBd`;s^EFEc~lL5bDK5GXycZ;_029e(gOnsvq_3cKE`bRk6dDQ

2*2If79#I$uw~u z%W_^#IM;s{t~BrbGDBZvyzk*vk_`A8iwW=g;s1xv;w7&3JEfw)ZsnukS0rOz6nv-9 zbDmM~lhW_3C>ZK>xhM$qx-<&j#@Q_!1%?s@{8t0-UFDVjJqdY6KK>p{lK}yi74ql* z$XO!Y^-^@Vto#oC2Q#iVP8 zKee|h)+}$2W0mB8C%2b>`30Nt{~^w6S^k0f*Zv}2Y4$G>_?R;GZ^Q=94fqq!%)WN$ MlY5(D$)e={3mc&=;Q#;t diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_bcrypt.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_bcrypt.a deleted file mode 100644 index 4e38eb04ff8dc2e003e18aa5361754d8c402812c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46134 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_bluetoothapis.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_bluetoothapis.a deleted file mode 100644 index 4a73919f98a7c0ae44fbafe40a64ac0a9d3b709b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83674 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_bthprops.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_bthprops.a deleted file mode 100644 index 17ddc90c5f9bde2298ba7f52f2b1d19485fc43e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35596 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_cabinet.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_cabinet.a deleted file mode 100644 index 7d55bc2b78917d0e58b1c64385f5ec10f3f53ce6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22048 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_clfsw32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_clfsw32.a deleted file mode 100644 index 6879e86a48153a06baa9c1a7419f255258bcd3b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51152 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 Hp6mYuyP_Lo diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_comdlg32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_comdlg32.a deleted file mode 100644 index 9cfdcf660fe87296236b019680ab9dc2ad8cd2f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17976 zcmeI4PjB2r6u{qZ(xzRS{x6C|g|;XlK+)E_Nt~oAXjj`b2o)O9LJ>lBHd!aTWdDSX zTXF!Y2gC&q{S+Md1c+0QocRohkHE3zy&3;`wr6+k#*Jj+k!Ebac{}#Z{O0+2#@=f; z8-uOZhlT4!e<&}O^|G!ludEb{n#kg5u~;rIROBx<3IH$%F!=|-R12W+lZ?|}15i9) zk@4bl0E$=sl5yr&0E%x6WPI~u0E*Y%l5uttfZ{v<$oSr$02JqblkxhG02C_^Wn6q8 zfa21>GT!(bfZ_+g%UJydfMR`9d@FC&^c6S$m?kAnDLt z@z}iG?wFrqyR(Z|2Ri`}w%V41z9*<2kA`h%+GT-mVPdaK{xH*fcQ9MXW$ zJ7nh$2<2hD-{}unF9xOTI8>DQElHu--Lw^M$Y4r`-{VLGgRsLm5PO8voZL(w)TFl&U4Xcy}JiQKfm5c|j}opkc> z5vEDpD~Q%s3|g1wmqN7a*vizK#0T#IAyOo-kXF2>%WxStMC*)A0QI7ZR$JY-VR|n8 zJ_Y-L^i*<^oxwOIQX0ooqJ5}ery_CO68CXb#~_%1ZL9UDw<{%rB;YMgl{^C0Me9n| zseP$Uy}<2-yyg)7LfPS%wlw|#)XTCWpvaTdps% z(J>{ebby^x5PRX#aSG*gn7?jQN}E?WI$YaJZNGpg`-+_xJe%*c<;$qkRO`8;gUY*! zIz6?Xj@crRm8jY}wg@-HXD{BSqo+?j8Ng*=-sJvHhon^w2c(&V-h+6vy7xklSkRyVAPk|~b38&FQfkv*B-~)jh^3cWokaMke zxexE#yHuA~GODQ)B#>&4CuyoLajI*_i)!XHv!N}ehkj!9s9ugp^TlF~uB|2yrfTcZD3L*Jt1p7{?EOI4x3t>n3wA9%J3Z@E z9JhJc!PIc8>dkogMG3OJ6p>|pKJz=UZzQg+C3jgqi+NF5zTmQqQ%|DT@ks)=Y4kfT z;dN8+cz#z3M4AVBpm2E}HT{;P*P&-jQ}YK{4cX^$zH}U>&oicLcy97Rj|tPv>2R#{ z>OtZ@$6`dLGoORd53=vt={P>eIhW~Ls(Fs(b0}y|oaKdxEbDwGP(FcYa~-oT%W>v9 z&H`U^O1BSvMT~InbIjQi+T@{+so|?G^P|}kn_P%V(3hUixTYRBtltrb>uDd?>9*6c zx#qT-ahh>x%Ml)36dRo6*426`YPb3yWUA0vZs7xr+elkHrb){B{f?W{{!-qeg*`jUIqgk$-cfVf9kpJF<;QA0*W;i$fvT+| z28T%0bJ~-j`pPQZvwm0YN_+F#H@s#*pZW(p!Y?de=F_tzy^zQ&li6E-)O`|YcOKlO zJ1LYVFreUhBZ{xUB);Q5MNiWEh`RQeQ7w9Jn5B+GHU86w Y_~!!ouK~x4>X4~+|2iRouYL>v0YF`DUjP6A diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_comppkgsup.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_comppkgsup.a deleted file mode 100644 index 081ae6c9e77a8a6765b4d00469d9dd222849e985..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9324 zcmeHNTW=dh6h2<(QlcPGRiL6!Ttp>=ifg;h+L5BlkTfVLt*o?_c&ON{?TNiOS)1K; z8c?aiRR|#wBqW}B;D7X&QO=pYjk9C#v~ew2Fw$H+^X**DeBaFMtgoz@PP21!>3VM1 z6<3OSQ7=?iS97@nFA~FCu39Pw59}@hzy*NpBY=f#059F~{qiON`B(bBKi>c#|JnoJ zU&MU!mv(%A*#jVd%A5;9$L29w+zg*^r~*`TMhC-ZnJmL z?|0kopl_H40uLA%Mu(ZLvsDGgecNGe%f(*YWzHdUHhWI}cD+`{>aBx5c5`I;4*POo zIqVMe9`>B>#=x=c_HEX(%zLKWUB~|JGtcVTwQ5+^Gd!>(>r=55*CgpO6>qt`2OqPJ zd1&>VTejKQXRTUM51$+Z*s@*Ev^~r881=qqGuzvAdIxp0*)`j&7B{bg{DgT!292yB zDZnh=?OR74vt6_qwtq0Nt)@u^+%%hB&-p5z5@mP@jD`~oWy{{{3ByT+edMr>!xoXW z>4qjPgcg+-LaS*v8(zK_YHyV0iiLu%>$#j>sz#dI&Mctp0N%==x_D|nllRyW3TUj$ zL18!FGCgxF3ZMpsC;5i!roiBsa28egUOB|hVPX#ZB|2W8k6Q`z33qNZt`g#2#l*4% z7nal9)w}JxgMNNvdmA9XXYI3~@Smpu?aZFp4Ksp#(N7lZ0-W@4emw(2WTE;d=2qpEZ`#ki{)XOaAEp%yo?!(Kq1ZNBDc@W zJf*_q4&Uhzj*hbe_Pox(?)o{LOCVZ$N^IxW_1RALC7Z@hTrvDUC-~37A(JU41p;jG z&<`~D4HJ{uso+n3x_8EVf{{|o>`#Cp*9Evpf9>Xz5(6l4!Bu>Zz?<-2YuauL#{{x4d z#`}GNFVp1xq0sI)-XF_x3EuxA$3?vV0OwSd_luzT(!kj=yE?dz{U;aeV3+^)0}cMh zgrR7P=X&9quu^m-rRb|S5<3L3EKMn&2@IR2QW`?LTfGD3NgQZC}Gt14vy zm6CiZp6%V??LY&uD%OG=iZu8ZLsUg_*uu;0=;8_7o(OxxiW1{11@W!n|1(i=x`-J6 zEN7y5kYDEb+?d_H;2jzOx|sDf{@V{U_z@Fly6BqlT3=RUeyNgJ>wi^P>s!K_JI%G; z7TOio@Wk7|ksOy;>%WuZBIdt~v#Pq*&q2x!B-S;{Zw2rBR2LM0*XWVc;7?2&DJBrM z043yPcY_;Bn$RmrO*}%Lq@92630#_{CO#M19jA$o9GB39BgaLWIFIwJs);P%HMV%; zj?d1r2Hptx9`6E$AcrCi1{fNrh8&;#Wd)OEcu9%j!?&dVdFKRYJ&oZagQm&w5sXZ% z`lM2FekA`&KzBet$#D_GX{A$TxJC?5|4ua1tpAW(RXqFP2i3@F@E4|u_337Kj?ZNi zJ{J|$6jDs?0Y4*a(iE~QFl(9$`9f%S+#cY`afvc+1?MX z1}cd61N;~mISqctbfgT~@Pz|WD4@}>$?g>eB_-(9i|5 kERWC6@`>nD!1h=H)gXr=4Zgw9kPN$)@>hk4d}CYs7gpyLcK`qY diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_compstui.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_compstui.a deleted file mode 100644 index f47a63865718e6c232092af400a2349fedae3e13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4940 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_coremessaging.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_coremessaging.a deleted file mode 100644 index b4a6f022407623b8c3365244243ec58e9102a612..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24934 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_credui.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_credui.a deleted file mode 100644 index 10a1e5b7c18087b03beb5e56c8b6b79872e52603..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20262 zcmeHPTW=gS6m~Xg)23J2Qk7e^fff*#Fq6wBK~dRlpb%7*s8N&(Ax*Z~+3wKIZnV3h z71s!H6-ZR#iGR~y!4KexCxj4>h;okYo$-wA8E-PA8g;DLGix7v#`gEw$3C8nFH}1l zjZ0&%6~oS+u}gNznzyWC5&po5VX+0!h?`WPW(f{@Yo2^lL8a_nj5PaY)%{psV( zp9MMePaI_aslN$9fBrY-$NwS({Y5AP{R@9E|I)97pnvsG=4~hg{WO$|e)bgeufuDg zUx0k*-}s&R%TPZ0xBg*%=`11WubxNmIE#+6+I2f!XW8w!9cQs!bDcY0tGeYm5b2fX zN>026Y;X^?P;A zYt`C!x){q5C^f@UqHtoFQe(uGDYl3I=+FyJ`&}J*vLvNXuar$nVN$#l;G2tM#x>yo zS~28?RVtN=#nL33VT;A}v8zKc zNrF2!M92wxcVK7&hjn_d4~oQEpMZ&^su!UtWn$f*xY_L{h>;zX^RU1R(|y?yxEX=> z5*;m%$<6fRQSOjlZniH6DgrsGkn5*!K#y#D6SZa&)Qq~;X?SYe(5Mv zAXgyVyZ(YWZ47|Z*{La}_z5^IK^vc>?>O?XaXQJHikyKP#3^zJ9rmFLr!+AV2y#B| zBO>%C%BkWp4skt7LuBwMZJ%TG&IH8`s#}6MIEn~T?=`ktw^)D7j_r$W z8aQ#JVDBtpp9=R;j8|kI=;btIL4kY=H+$ErcdwCi#eNK#(X}jV(q{BX9Kq*pff=K; zIy-2B zM{2neBvW?|!ZMfPQE(~Ve{d0h-MbgW5%M@e-CkN1QM};u5MP8G2G80Ve~Wh#H{>y& zh%+D^;R(kpZ7F=pa6cv(z56k=_92whdg41UR$zW~SYd{8Sa4E@>}4^Rcnn?&L6 z7JEsH!M(0S1H4;ic%QZACA@zJ)lI_tx`31Y#QTTBbK~&dQ_D$s|6DES;~o3k6z^vk z-j&OAh7K4(;3kW>e-0}EF2MaeEP{pw@;zJ`?v>Ry-^xgh0rtEp14LbjjXz%jDv}uR zfq541ldbV+Ne23{WmI>1df%^gqk79-#jUkHHJqc63{4 z=9_ToVSg^iKK2ZQwtD@G+D@9-Kc&Tf<E5ngy+WT z^mo;Al1~4nTF%$$QJ*by8DtN0>Rp@@gj##_mR87&J0V#`{)@c!!8m`N$Ka(veumIV zXaZyNFt^91#)s*g57&bp%CRn<(Lz*Y8S77SSO-}5n}*ix4ul-*Vzr~EkEFEJ#&ko=ZTL(B z+sD6WFs3({@<4Tn{nYt8!gJ$v{!i6%lFt8)TF&px=b;}>$Mho{=l)K<;$$JhCd;^g z87lxT!2JytLBj(11+E%s8rjNi!76M^ zYlk$gW21czgubxJHujCIW7I~lv>d9oU>(yZr#9l}w%~n7`#}}jVW`jYNWWXON58FF z4U>T}_+!jEAPi-24ZNXpD4q^)! z?jt|uqi}p$mNlLMYymOfvCIE#Az3)JIl<5xoHHXmW)zZ{0V{!=8O^S23y5Jx+O_~w z`>{PEoe9cq0l_+<2uL=y9}iJx=>E6HTBhd;oIBA4wt#Caf`$e16I|(9L0kRErci=h nYBPkXwK(Si?MdCLp$Ms_JRq?=$o9%%&pe237wLGA(!SAuQQ0|u diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_crypt32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_crypt32.a deleted file mode 100644 index 48f43dfeab836ebfc279daeaa78acac74af3b1fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201352 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_cryptdll.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_cryptdll.a deleted file mode 100644 index 71752c19060bbd5f710593351f2f2e333d244b5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17408 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_cryptxml.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_cryptxml.a deleted file mode 100644 index e1d472523ef7cb662dfadb7908a5280c5b5eaef9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17188 zcmeI3>yFb#6o5~%EW0dFE~0`~v<(O(q@vW>i?fR;3S_ydAXe-a(F)aM6K9i>n;dUp zt5&5_tE%cBR8{@aN9Z&32T#xk=_B+<={Ym@cW#*$?_$VwC%z|kw8HHTVU{SK4%N6DpOrGNL3;9U9qgPWqsPWoxZhVyS8JMyEWT-+U!(%O$!5?=Avn}n(O4e(5kc5 zbDyeZGwhflmuq(BlJP52ZJ@jF_^}u$T^{v(BMyKL#I(Dfri;r)%d-$E(NceG- zt~9445y3*vc5mIiT3)rQj_qpRv8u%TDev{{&RX|+r;5c?nq7>3oDv;Qw`}ut^ZImB zw4d&FyVrHxmCf~5v-*j>rTJE!grEAR?XEeMPQTuD+WnI9RwY_Wx9VaA^h-((F-;I9 z%Zn=0CXr*MRQK(=?bw~Ft$k4_R!X(pt(LnT*M8<|lZB(DbXQv&U8m_b+P6FPuBIq4 zZ>or&{zkJ?i^Q7IYShd4Pq^OMY!7>aUM6_L0DgQRv5I}!<>rRncY`8STar$~PhEEG zifad{=ajtaBt+^~w{NSwmHl8}?rN=eZ~aTV>Xv2|I74wz>-U;&zAM!6AU#|#4AVpn zY|eUWIQMwwPG&#qQ`DvzfFtZ`GLt8I*!5s92gc)kt>RV&i?Emy7%%hd{r(U!cusOn zdf>TvUv?i}?8EPp5B5ARx8R49-1K0%qA!P?2prPL`SIoZpRKGtyn82KYhizYJx0CR zvc1UvUIA=m>Xj#cfEO;86+L<)@_Z7L%PBiZMk=F;K{8VLP@X3;#YB} z6YOgMPI&}SE$V3X<>j*^C+L^s{cDo*ucPNf7%&CoQ#+nw@j{qJk*sShL9N7&M>zrc#dzeKrra;^I(UYe9!CC( zM9glI|GD(u?Z~g`I~6gicxLqAzF{qu=m2 zItWgXYcnR-OLK}we~xuMjO&LI54*|ry7b=dxNhm?6t2J0%L%SeVg1GB`e?wlJZr(U z;J9k@_X%S>0={vwN*r1E9XM3+3~O? z!<&N~ouEZC7mxRJjLOwjq+JO8KFS#Nu;4wiwt=tMGh@_9)-`sGRw6<2XXBA?E~S=@ zrbiIuk7COo66A-L=Ej=(kt~}~w$%kBH9A4w3o&^wE-7QzZ&2+G8@sM?)yOP|-5k4q zA-#9Iv1>ywr;J@4y`13v1U81aW7mT+?|fN#tXY4DcY@NmRTLlVyPl#i#;pi*u#z6O zXu?qmGH%3Vd{JdQ9j(6JXmuvUxW5l#ye*m23g?%+5ISYyTl7Pm``Om+*Pxk5zT1bk zjwDCBv6RwI^}!YP?u=Cr$h3>?BYTT>k!>yQ;n)OekGYzf+UwLNlvW|^mr?BXX_@w5 z+u2y#Fr(V*LAJHHN1_wtJ?0u}(NNc#(%l1rEkk{ITzh>=<~_8PalAGB8Kx2B^`>Pn zgicxb34Pg~31wX~HG}rMMkGP@W3ICnjRj?_nzH|T?C%%sE4zHhTHl}bNDo$?Zg?Sd z%EHg+3-*<)mkP?p-~loT(jRlpHKm_dWW@d#md+@ee^St|>`>o3^eb7{&_6&XLHgsa zz!p{ApUzVTy8k#fj<|NuK8b$%1B2StIIl#Vr!>3}o-_KDLFjzx-;(ewr5uqU z-|31gtBZ)%78A*|rz`1Q!4rb-$Ui~&u5so($4XMR>#unsbc*Z>j$~b9)@vmaBtPbg zYr5BfS7M}v2)kyKy#`r9e&l~P#>XDn4M|QviZ%@dxo(vrWAj9l`vJ=;$ys T3tQ+5TU}&%*bmi7th4?PjG@$} diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_cscapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_cscapi.a deleted file mode 100644 index 5c12838ffc5b108d16b9d33f61803d2de9543e60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6646 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d3d10_1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d3d10_1.a deleted file mode 100644 index 9b97e07206aef58a85747f0759eb2e0c7d451a87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26034 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 OT{9$eBT@Qr%=jOaWw{3c diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d3d12.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d3d12.a deleted file mode 100644 index af625e99de4ba9252ba9fa87780be2a8a1760dae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10262 zcmeHN-EJF26h2<(k0|`8DhN+gzq<23+^D_1Dm_J(bLF=T_G{TcJvz~1P$nf;a9bBxBGo> z$35sd-tmAn%_?@}9v<1n;qi78%~|T^(kR}_$INT7z2k#VdT612=RRxJWA&Bgyyj-l z+3T{+lOue;L)P=0?njKj(XeU8pCJdyTiY05{yH(RQB?8M{u z*@+IuZl&#bPBw&>G{JaY*&7aXVDOZ1E;YEk7GP)aW(J>24!k{qTMzOHw~&pi1-K== zSyJGFa_)R8?QRz{D*JAi`33*J05~Y^I}d{lKVP;JHCs-!O)%L;S{6pKPdN)C*@oV? zT%t4{eEV^`%wo|947Ul5e7QtZKsp4i6GnqgOwaAj7m25xF?d>A#R-gu-Nk^X7TWj? z{Xb1PL)r2#OryUl7i>CeO~2vMOfV7 zQ!Tz$ zFEY-&KJiyMTo*$FLqmuo&wtle(TRt;nCCBZirf=QPU`{}ckm&WcYJ=*MgRZ&cj#}) z>TB59KGR zp8^>`aQ-I$4M18JId}aWx@hnlrp4F3V=k4?xrC=VgKMK+P#dP$>*zYo8DeC9L{sEx zV^`wTMQY=L)bA*5cxqfq8&A}@P#f>zSQpjCLP8s{H8^Ju&U<*BMolc^b5n>k@u|q* zsRlpcHKB>v>nArDp#xE%&bNsT6;Lat0IL!0?gIsUhpfm`z+H(s7pZ`KsozlwI8x(M z3V5u>g$lr$~Kyw%caZ#TZ z(eB`9H7-mw4(KF7eRz_f;NEtnDZ;@#5JKhLo6g5XuC*#$dkZRTns^)S} z%?CQ6u7DIU&YpTkR!wX@ET8jF_dHU3Pc2xVX$G}Oa^Mrv#%eKbShad;eMM(Ac{9rA zk|(~%8ReeT@2K^ad>$s@QtPXX^Q%xBS5Y}dXOyz64e`}zs%H(_O;LzujnFKZtHC2o zUX_@l~nulC2& PfLP6(_3u3A{T}@v6hoUQ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d3d9.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d3d9.a deleted file mode 100644 index 639ac8d042fc7fbacb2da2d6f06a9df7401bab49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10368 zcmeHN-EJF26h5|-CJp7kqNS?Df?9+SGVA=TZK*<5V+jJ*yi z;-Uy1px0dT99;B@YaW1W9)ohunc3OdA3K}aq_XOfW_Eqfw==tEzWH`$)*s&TdXJi4 zEPZZ8Q)#W_lpMQimn_R>mswg?d39M`u(JdJR{;v20?hvfu=tP6ul)%?`HkOYe!B}m z`EpI>D;5CdYZqj`j@MEC;BT2f`U8OS&EF`y?z-!K(-*zIyCr`3v@P~qhaKY%(_9Ar ztFDjuzHyV`1%}VK;;z>_5WUnELRWzQdLVjFwnY~scc+J)QM2_UsCLp2!PQ?1|DNyp zgMRX|h%3NvbQ&8+qT?swrYAt(#!z)6KI~9+R}mjHo_Kq^e(^9EDZ@rc$+jKGu`H)l z(IaFtha|^zH3#q}pUvlrzBu;ze0X7jy;E#>zBe4go*LNCi@W{)2{3p{xE57-V>Q6e z;mI7{mzlUeiCYWogj*brD+jnscycKP7x-yd78~t0{Vwjc+Cn-0eF3na+w%?rgR+}( zqG}7Vx(Q~+C_fBi#HTO}W5kA@w~(VUnpFHaF7xObf#H}?&lhqRqm`&%LG6UeLmkU; zb&gru%+AvCay7wH2P6Cz-{IWLX6dpD6kNs=VkwOvO4NgCEM;e`FmRgnF$n)8T$-J1 z#OehuY5Xp5d|v0XEF5m~I|$*Jm=Cb$HwT>qX<-(@OW-+2SMr?VOEC?TsT1;^6U=9D zz+pPl*aKMSQWkmm1y9C(`=0f^tzQ01JSzIOZI^5w8YgOZdCeFV3;ZZQA@gXeLp(J5 ziY$wmKSTe0#ZEd{|DSeit)-Z+Vq@PK?Lw&W5$&!ZrkRe@qk`(Yg_vGC&OtXPVoOb7 zlnD>k^A|Vi*RyA#jbav?3vC=TPpB>86#!|Yj4}N-&&)VebA_bRgZbVg1|vqQI7f+E z(UwrN0}MZTgx&m%bPsYg(Djt4b;<7c`8UpWwMB=IE%XvjpA(LlE{-=l4f$Mkzk_|4mERZR{8qe}R(@Z>`==E0+m;3{^KgjAIKPdRLv)?QjQZZE-SYeAy|3x z+H|UQo5nPykk=ne1DAOac+9XApO{jYGqTy7pG&2lvH8ZC*u0?GEVoSPeLk%!{jTC} z$mUO!g${Yx$5OL-)V9&Y`0Qlk^K53#{Uk+N@5X38pJrx#0fJpDz2`U83Y~3c9d1o# z+UA@Xzt^(yyONw)KgG^IY4-8Jcx#{M>|@txchu~oosLV)K916Hn&0ms`?JnI=1qR9 zeP|jy)2!Rqc=VgI5FHwRvH_N^F|3X4ceQ*B`EU9rHOF4f#`2kpb3aP5kEh~uCd=i= zlc{F-X;nP@UX&oX;hGe`SF-WDnp{Kvik*FuihpaU-+8L|p3&|o74N3w5-R>(caC+QvWOp4tZzgf;!p4@}O)cZ6mPtfcR{{uvozcMS&@UfHs@rwDz GWBGp;*$;;R diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d3dcompiler.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d3dcompiler.a deleted file mode 100644 index 1fd8e8ab13e18e51f5dc3392e81903b73ed63455..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23522 zcmeHP-EJGl6+T+ok)t|4b!^8;+LSIFqX-gZNlGMz8U|A5P!vTj(x6vGFLKof=o91-`T#{Ap_jP|lAbd&-1*xjm-SY`LOa0BkY~=! z?96`W%$c8^i&wm0@8Ih48ztS9*UGhW&0TjZrIO2%)UZ@4*K3$U?%py0Gys+^13dXJ zfT!>;`Dgya{h5CPkU#ei?l1fmfc#63xPSRB0Qrkoxxe%x0Qt*basR3VK>l^%T`Ze? z^#b>6UjvYD{G0oqVqN5~VtwS_{5$s>UjUH5{yFzQ4*|&E{FwV~d?6#2Dtu<<`UU!$gpth^+y}{wI+e2=z zg`9^zv|0zg*M7{hptVum_*Kvi{h##)yLSegSVgm3!NR+T!&Xuv=D8gP-Qn#6uk8oT za!uhk6NuLjsq}3x2%D9L%4;Mb?~WgigZ`%1?TrJ!tUpRj8q3k?`Fr73cQ^2Y-|G*v z<6CJmM=UENG9Ir@opEPCkKRGt=p2j1{NlOmooi7hI} zl0KeqLMA?=MVdB>OB8ufxHp5rA=7wORfAC;Gg0Pgu4?V)yo@M$D$TW+0vQ$B?++e? zD}!i|j7G<@K020Nw^pl_O0{a04~{rGZY?~4qZL4D0mno3>*T^p=s&=rXR0fKdvB%f zh2B&yfF`(KuI!FRGuYrE@pY-dOE{`=cLJjm_*|-E<#E2X37z;(CG*uMd}r~;=@`CA zI`#Igo7*?G-r8xc)>qoS9>7Wm-NgD(T}WuPGZs&9@aO6fW?L9^g_hHN$JGnz}pyRWNR!FY7gc>ZGF{7 zZ4G<+S@xtSzH8K0M27*Pj8J<)pn%?F9BL>0YOL@@QlO?!eiPs1w;7*C!V*wO^1Q_Q zhb-QuR9HS>h9I(|W4M4$crfnY=M;t}_zv*SdY9v!`j`4tI#qA*XSO7OF;B2eG07lW z*ev9M1AoRJ8JWP3X+sNpoXN<@b=^vh3reKfjd@R`+1L3zh~_<83rnnF4-tnn2_jUg zZ;mLZ(7%T1cLi1{D*gX7d!&i!4Xk2iyGp$vM*vN;H;|_n&lkxEm3IYsK8WY5VKQ^) zF>DGRLBgo?<+rcUzt29CG=LWY#{**?L+OMZs*jL{b4v8QpXtB)OYLi_a?u_GKph#G z#s`61)>Bjq=2AvGA%Dskpy8dhlb(Ug2jwS6wR60`#Qp#qyeamFx zNFxG6`&vr0*Bgo*!~6atZ0szw-w_C)=qSCaOG&`G4boWMc{KERmPB9tcUlXoj2i=~kW;j0D0=|yk=$6NlS&$C4M z1%_}rHK+RXtjkj)TsB!>53ttIGDUbbCBhr4g$}nRA=2Sw?WWb?&lAG+70p~D9GBUd zlR7-=7Nk4y5r(A0^(N~pS8-{X;=EGeoLl%4bd)yvua$bI+2rkbKFcQW$MZ#s>uHpgwEFy=5bM^V9 zNzWA9^>o;-SL|J%KO!Jz+1&ROTlFYy?)Q{>r`gia^O=8g&f2* zUDy981BpDD;y>k{Xx+8fUkdz78-5=AKO^vOA3@FcTFga(c8UKDL7~WjKVc~FZ#Uh7 ze-cZk=uf#{TCdtO*iTU-&eHzs>fTXm{{*YtI{!kmaB@6Kw(=jv^F`YK5|)ux`#-Is zKmOcwu1A4aS&ypL&^v-ckpq9jP?duCE{GS0X}p=rMe1EvdxlV~U&>Koo|7_93Au>A z2ViK)@0l?CP>DG?8bn7~S<4<^DC8h&vW0phB~y&2-C-?GgR%E$j1iIUp9kZo1;!_z zu~5Nz-hE1YRtBy4Nt5-@ZLEY$5uSE$b=^KI^AKP6EbHd3Vig>vb#v6Gdr6a}wQjyg z2vJnR|JJ32OeQan%ru(@yS;Fw`!RpKJC71q0`wL%tEIx8;Iwa z$gka!R;Mdy*LAv;kR`(1w0o}W_IgdB)1_rTk4}HmK)CqIHP@EQ%S`@NoqknNxcq*C zk)hMok9(sJpcSxd>6v0aRh!ty;67zKKHLV?U%EY|*Je#8~F;A;$-B0uF$ZLP52*$YgvXXerNOAPtu^#aGlf;XFOSn%=5 znIhiYk4?I3ps?VlB7UA#nI{PG>h%~{@^M&|QJXyVs*p@iO}gfeYXZXSW&6ZIar#DD zGbKc6T5IN{M0ngaF1begD@+fl7R{ERP~^bp7?MRZ{T7?Zu9?A>sjfG7UlSyuR=0PV ziu1!#66QH$c|uA8tw`q@`R4@Ar7i!OpityMfT2YG*}OB}OBwYhVe zh-!OQTG-;!7M};zcr!D<6BLzM1!0|MOXVzyB|2$~PtHLS)qx>~%ogXjkWRUFG@G09 F{tMSoTJ`_{ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d3dcsx.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d3dcsx.a deleted file mode 100644 index 064611726dcd1b38ac1ddaf897cf9cee405e9fcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9064 zcmeI1&u`O66vtnZmUhFB1%$MKSY!};S)pJ%sZ%6`A~o9+2gDDF1HyG1mqes#l>}O? zR=XTPTsd&sKVkn0&K&tGIPfF7INETEzBhA>J_njI0`7_UB`^qh^ztz57 zzF|a@wPHDzW8O4v!!X&TmxfWVp@Gvz834`!lzs(R{0Ol8S>)rN04SgOAo7`i04SgP zTjZbK0Z_j9O5~sa1fXp6D7)^O>pmR#{egSeANqZFZMWsS`<-&Gff^?V(M!1p6_)V_G(5O&7Nqvw!5>}^$$ih)+Mp_wj8;Z zF|uY)v{c<@H`XPw_Ldwu%TJm;(NcAr-B^=AYyV(>SlLw*C2NLQrs+72VK}y!F@~{G zzEe1clLX*=0pLg8TP#$D{=tyvjY`WKdf5`TG{Agc*&GbU$lxXEI@IB{TA*FP zodrBEJ#l|Rw-VHoZaG_54|FGR=R}Gwu#0J0X?42*mF-T~mxh1806Z;hd(VOjS+Dzv zx-G@}CYkP|VwOhpPbo{I`G&5yRG>1Nr2p72i)b35VV}^QFBOhQJCR30@1!ZhI+oMN zJ>s-I0jKq9RYmfEQwM!~n$L0Jdvj__SJ5MeIi)#7iSA( zxL)FtX7CdG=Opjtp}5V@B$Q)fB4B&ie%^Z~YM3MV4y3bp1?l8p@@bg#NFmNS!9I%v zifK!;58yX0MNxz|xHJ9J`0JnKazRk0nK3Xit%~U}E`rxheP%52<-9`r%Dk7H8OvCI z9qo@Lp|mmnzX+}(F8RHNgKcZ$LKx{I5quRjd+9ngGpN5?sQEoz=b)L>B`h0KBdc&@ zy#MkG9ld=U*5Q)_^yhD6HO0)(n8X;s5156o=~&-O%#UQ;2mL9?Q640->@6Cl6x4(f zJg8w0L`dgrrE?H7gW6M~ix#9`}^5|A{v4DE8awx&-_Ebe&?KqGew8m!jt>So`D*=|;(e0U`a+U-`6=vhuUxK3!b9ep5$0c~GOxY@W`9|YNM=TUH6QuT zJks-B6ahcEl9?pZm*V7$Z`VgI(rcgWQzN}@pBe9VKHle%UIeWy-Y1Fl#U$@XHqzTo z6~^=ZjGEn787m+8^GH9M{7E8xAx^&dS9s(iz4nVVHPY+$nMHatAMf)>KbrSRB0VH| TKeCbD3L|~4pZ`<;y(<3)-6Csv diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d3dcsxd.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_d3dcsxd.a deleted file mode 100644 index 25e1db1e2441cb77eb83e78c028a821a3889aaf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9070 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dbgeng.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dbgeng.a deleted file mode 100644 index e23a4e6620e1cad4e63404fcec0b6b20e673b2de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4798 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 R6K~ZE(g^e@;QhRb{(m?Ju3`WH diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dciman32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dciman32.a deleted file mode 100644 index 0c4f056d3bfd5da2693e210053b264df0a0df787..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17464 zcmeI4Pj4GV6u`$$+O(nnC{S9cz(ob5s+hHtI1W^mgM$iEXd_x^g%BIpUe`+(!aYLdAZLc_fz3XnSx&yyfs>Bb7Yr~^f+}3r!;cpGyCfjYpys0UVl>eWSx+rIrORz z--~>wWSx-8#;t~JtII)x9lPfBx80WG)huEfSAgxiy{(N}nHot6*S40MO=mDrof4PA z=M}GUFJcf1PzROt`a4mzl7U6ta~i(0<^k#6PL0+~(@5)U+m6?5P%0BuO4x1>nx2Ea z)2fOKT#G327=%hTpu9tpG$4Bi$m#{H6lutqg0)ZMA*^u_ZI#1=WjHaLsdD|QS)h;%?U9k73az~>l z2|k5qN1Hr*56U!tX^_^=7_=_VEe1d1iq;CWGWI6&L3@CU5{f5CYdO5!v;5mIb~+#c zdohXD(4KCIour@Y!+o?1_v70mAedoT;(a{B+Xwq~#)#t%j{?9P5@&+7{mxeJu8?q& z7;Wi&Vx70HU>(~R+f*g$FT{7&=;y{E$GFA&kFhJf6h)r>06S^KKYNLuf-r0r?~Z|G zS*0a$i;VQ;l?8Hl%(*zZOu6nKN%>htAQsLXl^aF%4MM|yQvDgZ?rv0flI=9Ay<|H{ z^-1VGQ>sr&s>Op9LV!eMmF(xS0+1BhmJskV&oI=KWRqvfDBM)B=O!Iq@B)lWt{ZW+z-&G zMGgn^nr%U8$EqBqoHmBgq)2$#knn0rdm5b(t_a7mG}HL}2!mOq=&Ws~eK|gxU{bM) zyzxPrXFE{ZT9wIj=n!3sl$R!yV-Llm5$!2-)R^Kpls^?vPF5QHUnnP4CZ1eSuIW;w z+%lwmac<(v^}9hjt#P82*?{tJbqwBRS&qx`xdfB)B22IbC&5gniq;ydDlg3Db9OZrt_W)y7%^>vqz1T zuL>Y|46vUg-0HRgH=>*2wSke#RO5y=w3n^qFa#ae#9y-aNpL&oaySbc{)P=huXQmwD#G zmb0v0v`{z`S&BrP&Ph&YX?PzEi#Ns@-J3?DBk#y$n`)z3ns}8XBOj5*;F=T(H=c*o zS5Zx7X;kbn4&hUZ@ZgQFY!iMa@Y2d}%SUU_geYL9+7Gfmb_=OZT(3-7fw zB9H1Trb#hkF`kQ@yv2iv4xk!eDlNZ17yjk|-rn5Dq N%F%xl&=h;;`yX+eN6r8M diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dcomp.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dcomp.a deleted file mode 100644 index e38ec83f431aa313d1898cadfaf85492188a6111..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6814 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 C&R%{1 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_deviceaccess.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_deviceaccess.a deleted file mode 100644 index 70a1ae3a9536218bbaaacbcc165aa7f87d559b83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4240 zcmeHKUvJYe5Wl1y9n~g4;$aU61sHFrBwLqtXhKCp2*e~N1cEm=ZM`*H|4d03JfXqU zUJ#S`Dtv%_GRB?lv`(9Jg%u_wPKxcEf3|by-}#(d>t4`kJuKe0lH#m5uH)Kk_OfN! zqDwC=YuT-+0kt9k%mNtS0rI;5g=6^?KLgM+e?$*s8;rdUc@VNK9`S%}^qQQ#_q*P{ z&rs>R6_>UBIz39;0^g68v*ws{#cmyNSKC*$m=$E)me(C7!QKxPQ4SA zdi^cS+AGJlUDvfNce&i(t4-q)ZWn-M09+BR8KV^O50PkR7Z%vHQqzmPY>4Qof_+k| zhv6A8I3%1;6E2oxY#tkV{4QO@d=j@3>j^iTja!Xz*Re5|f{Xigf|Z)>Ht9>-ew!=6 zk5hmhW82${6-uxBi>A*FtwAu|S7sJQ^HVMhqxp#J&KXoDMfp+qX9l~*V1#do0XgGZ zauW3x&rTQdwF`;`w3BJ9jq!S| z;rdaa_s4C*#qHsG4iyEUlH$1_{4+0FlW@5uPE~}X2wuQ;)Oy$5lN!M$xB$Kj?@GRt zf61o<(a#O}%_9*Yz%iGprWgcxE=pOL@C_T&$|vW|NGiP*DM~^cWl4t0nP>YNCTJnG z;-*m$rX3;^DJc^#^}QnvCTh5c{cjapsj~ju+1@{kX%EV{SY2Be200*cwpS3-PRI45 zgyvgE%t1QN#cm-BSXLEAsj#w6PVds&G2T@MVnQ;%%Uglu4y{LA1GtQj^fSHdE#23& zWNtJIfSw!0nGcG)!c(*gj?(g-ia;$3Bp5I3q;HTBLgPtjb;4jF(lIRBqYg(ywqN)%cDmG5MiA@tHvYphF ziwYD0f``H{;E5-GM1KrI2qB($;E8h1%dGk^_ZL%aeOs6xmvlh>>G6?{$0*w6uF!3Y6kzcq!{xbmi zQ$KNk`T+p>XLh(hdmDiKxjgsjMF8>_u5tge1wj6_Def;G2OvNF5BHhB0Lah&%6;}X z0P>gr=KhU80m$cnCvV#ew*79ysWue4J5?Jat5(jkH><1UMQqvG z+uEqxB^!md9I)+*Q!4jg4A_g#UUkh`s&DT&^=8#+*f)1;i`TC&=Q9?TUftTU!$kt} z7rN)?BAxleD&}dOIf||2{EQj&vTmxHs}P!tr*`HFYgR{lRyUp6a`j%RUJmQh04c9t zC0+Xl0a9`)Tl`(H3ulzB!t8CyntWJoSU#TImhYC+YHA0DYV#A7JlbJ#^T?xeqf{$x zpwbju&f0F%QGufs;PrJRshz47;CUD7PO0f!!-2h9syj>g4#k#&_CTSaG8T3l&Fw7( zl4?1UU{G24T>B8Kg^&c#T`2FBYHLo}X8;uBgyq-FQBoA;V1#p7hjisiWh&py39HhZqnJ$-_rC<@3k_YqA^lGEg zMGWqfT$Ku(nssGI@n#g?OLnY0E;r}KliWnGT-KF4iZ@3!a&G!!@x2>w-<(F`#(8MH zy6K37e;)&Eq}EG!+z1gb_Y)O6(or^v$$ex5$w>V(5+oz_4YhY9MPa)W{m1%c43k1+ zSf9|ykED*Y7b2eA(n-dEs~8SG&oZ1=qT@7s2~8B{e4JX?$0yl4jy`Fe&WNsp(|AKT zB^@G1W2nO^OY8_FIS=<8BJ7dmbnz5NxE^OAY4AAfpJVJU3W_Vt210Rk3=y#2tnAkA z@EC?8cmhagy~~kK{Y!o7JDDl?J1f{{!Y+#GO4_!@5pxBmLK9EAZo$uy&3 znr0@))T0}NXU&YH8RM)u4-kE1uoD*L@uHXs^cOMxwm>Ld(*GZWdyGr{K8uyDOZ9@! z^lc2DLzx}DoTnL7-W8O&r%D#7qcj0=wiTE7>0k9MEGzS^vg*?es+j_91#v$y)6_s@=paJzi@DouYSZR zydXpdTr-f6Z$(1Bm7P~O{}Y5uH_pGsA;pljpPc`JRBssPSM+iU=hyXe9_N#lkQXv| zE1aJ5Pb$b?W~`Z1u0JbU>vO%=Etq1!T?`ejSHJarsEf4tFg_OzXELjzifcuk^BLv|fGALo~O1PcxL z7_SP>-Nj42Ipd|qhxOSZ)^Qv-l!GmqII(_QgY^Qw16jfc4C~sJU$HGwY>CwPuzo2T z)`zwWB2m!^kJo##U5+VOFC-f0ec3KyW_s-Q`Aj5?XEW-W%r{7a-E5Z?Y0lqI+vP*4 z-Z0yxsh3l1m(TQa9>$+X{71E2j`|o^cIA?8!%Q(IkZqWEL=0UF_zpwghEbcZ?2@6? z9wZeX&u4}@faAg;9&FRZsRKtsbfCbHl3d$nKpoJszoG-N&jV&89k6ohI?a6qPPcjB zpnSugLF`7I2PWHez&&1(Y`gv(wx68;4SR)0u+V@{@!H1!ZnMJ=kB9>Yu`#|mKSVo@ zL^sCo_7&R;+7Ii{j#QuIuh@Rkj^y3_s8oErPiC}zS1UI+T%T06!n5&vS)ZI}M>{*r zMiiK2v_DG?K<9INjz_T2fRFIn&h7pgzK-QdG-sp(ela3F+CJ+L>3rZi_`fftkE=*W zRzHYH*Dg-FNRNAM(u}yTI&)RtrM>eXpGZLr){P!XP zOp>+W6>0!F-|AW75iB&|2fPMqf%J!!{AH_Zf-D%HHbmRAwdU3NU}*dM^Fc4?=#4;a zNVXQF1?GJ%cuU04#egp{4Ag>XKM}^bx)X7qmVW+bj{dCTe=-bl-yiN%0{80QnaMs= zOfw-lANN;z1PjH#Q$atkM*saaM(ju1pUn=j&qk0NLf%;h&jRX&^C1xX$v%@d5cbur ME0r3A%%Jwpf9FjKQ2+n{ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dflayout.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dflayout.a deleted file mode 100644 index 90f7f495cead357fb6c082bec3e9e713a676d738..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2516 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dhcpsapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dhcpsapi.a deleted file mode 100644 index 9b5f149ed9cc7e0ed1ef31c51bf2423c341ea4e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173528 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 fs|i zmeNBGxfFWn2k5DvqQ`!wet>r0n;A(XYa}_fHYHdCBgymL%xK>H=IME)+nd(t+2BF> zo)%8k^{P=d^rl|dG@Xg$qoy_MHBn)|3;;I(N?!n$J^)<##PjM$0Ls6-Xr{Sknvci!Xl!dY*zPvAx_f-EWeta2>)GL6tAPzW z&ri%aVYE&=sSXovkDM3wsDtfW2lnG5=Vil9iPzik z^j7g=RiWp}#SBz>!y#1q&d?TuuipR;3VrL)D-h+fov7K;MBAh$+o%|)BiW}Erz6>h z##<`TF`R_`m|Yf8l%T_GLNi|~kX53|Yn^n8@Cc6?_~|kubuc}t8~4{Eq#9`DtL%ms zel)2y&u+is1(8ath!V}Bic}_?I7oUv`4cMaC+Vrmsf^}unH^~jFEji6%&w;4c)%W_ zsE&y-0eyGy@6jPIVI;v1V4Yc)vrhIUn+8et75ttf^fP6TV>;9N19-@e{7{6qc#%Q) zFhlGiVi>+Q#=5Rot89U!dhrIja+dbXyM<*opi|_Jf;Xa3o-ry}!F(6xPXwcM(*8d$ z?t5Lbd>uRMO8r9M?L%I?fjUFAp1(Gzy-n14q1H1{%+l|8YzZAvgeUFuw?FCE`}aW^ zz)uj3<@Qj4h@t+7FpPmQb34;-`AW7mbyN zw@Z2qTV^@H`#9hYKNC#sNkm}yvFOe$Tl(TojKTMPXR`{o|BHVz#&z~KUtGr zR*>GtdzeGgrPw;U`nhn{zm-1edUGn$H+24=T+;%deuj9Y`Shn8Ax6?g`t-ikZ<0?x zQR_u~`fIhG@6&NpVrrj$1w#Mgg8$l=oOTWGpHkr0|KrMyoUEr={vZO-7fN-g3!p0`;DA?oU2*6{{!1-iDv@M zJx}TwemTs&w7)rT+)G0b_M<~jgh`F;xHod{5z>p~ekqQ7bole-?*po(&_0IytmFIj zskk?q!8^8m&&H33{P_MluAOQ9{bHDV@14=5X8x9V!UZwT15rY!BAnte9NT-tj*INW z^6dP4J?9I?fK+AHlh!`0M2fwQoo<`e!;w#!n}L$=jV)fZ`dgx zABfKyvh(k?oc9any{P1U-u(NyKDNowzfbwjwHbZqn(xoA`SJUC_U8+r{NjmTyUu}+ wSAEPSeQ~HZ4cpDh&c{#r_BCgokerP5zl(WLGmkqp^UA!uQ=?iF+3eH&2LWz5Q~&?~ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dinput8.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dinput8.a deleted file mode 100644 index 0def510a7b132b0fe185e4efd64e76d1274e4d01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2498 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dnsperf.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dnsperf.a deleted file mode 100644 index e980e4befb0d2c6e50b9899bfcbd6627b4a1c6f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4178 zcmeHKQE$^Q5Wch>9n~gy-~k~70l^z8$<}6_G)bC80 zlc{ZcyR&0F~8!Dnhh`_!!AiB=%%1N1`?8Nbxo3`@=w> zG4L9m2!jJE+S=(yLpkaSUm)sOf)G9FcNXvi;=@q(clyyDx*d#;{r;ic@ngSPL*K#i zP|Rp=4Z=_!#u=SmFX=rS(+UTX%;@i=-E#rZk)L~Ub&xJn-s-rH<9VKKduwjGI=j|A zTp)nQ7Qh3pEm_rAev7%DuWWGI)eeRyAHpq7aL%d+QFI9mP6!u}!&kKgTf#~S=Vc1} zQ@DC!C){#AZX?01U}Yr(m$Yk2RXbq_)ou_<-SGDu;FHz$j}n8nn{gty#VOweGhFL-;%*a0b2}7)*F^OdW_pzv0)4N$S<4waBFXnzQPeRW0pjpe&qEWDyak}ZfXXO3~ zuJgCj9Ms;R{vFM7>%KfY4dw`t(E%bkz^Zj$2KgpQ;O@3FZ06(xIaz4E|$FJt%H>H2QGM3i> diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dnsrslvr.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dnsrslvr.a deleted file mode 100644 index 98fd6ec20549217eaad375403285e6726c70cc52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4908 zcmdUz@oUpS6vtoN&CasvP{I8$Ap-?}keaSr+QE>@Ci901#VLpkZ|Rb*VOd(5tQ#V@ z9|Q&cVSm#8GUt1DNpo$Iw$g5}gS@-E`}QvP?sIo(RyOs{LGxAarP7}Y>jkZ#sT=CL zqNuz|wu(|Li+e@c&jA2lsY`$v2O#@LT)AK9#%p0uT#HqJ#VTW4jD2*?j>~GMXLi_D z%P`rg<>+mTq0`dJ8ndlBUB1_F+>UE^J4|ONJ2ru_rl}i~Gz4t7d(dpTUhTwf?wXyh zbztt;t-5Zzl{IYNI&QP!68}f8A=_@DwOkzOYeR2i7OE4gt1aEw zsl7S#OvklaPWVL83NTJ>*UPth)0Z@F1y$8FO;NN}G(7F+s;N6TbpXpLfcv~Oo639U zna9h?Mges{Z|I($Ea5d3P%ra!*Bv2)bJAJV;M280JA;K8d@ech_JnRd@RM#XSyu{l zi&&VC(FOGZWO>83$(L_fw&_>?y#hE)HT0vv;rr!SQPY`$_DLqkDV?N|Vw6eJNb#XD zXHsPQlOIDKn^~+HqTz9&+0UdF`Wx}@g4RishPP;^v2uyl=6}#yDwZO&Y8YjjP2xkI z0q%-1*GTJX(A^{cGyqFJ0W^zov<7-PmvlY)<@%sZx}ZFm&!Zy?WN95|d3xlK;Wba3BjMpBfgI@@Vx319d>-<>9(-`)YJ%d;s^m|G) zXhHi5zXzaIEIix3hq5&ML_7RVXN;Gj$=}C9_E*PaU(=%OpW(1av0w9fpzJ2u|19-8 zjC~_s7h&It*Y()HhvOTU{WM5#vz!XtJuttGyg$U}rWEr2TsXK*108Bi8gBSHKIokI zKSs!OVN9ks3X%Q%9Oroy)1M?3Zj$M`)bB8+?RZ^;>2AEP$Mh1;-MCDrAolMS-ve(e z+fRIwL$)`44`pfij+Vs^JET0hdWyWOWAa|Yj|)7}e^GIgenSRE@%};L*G&gZzi0}Ol|;6&Wsef%*#Kc$d$RXDg!1ASCr14AD6p=1j0__=>o C=KK5r diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dpx.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dpx.a deleted file mode 100644 index 11596b424911cd17c0a3c1b1071a284497e812ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5510 zcmeI0-EPw`6vt26j*e>MV;a(~P>{wAno82O>5wK=F~$WdXhOgRLb&ac(Qe&ZwLuFK z7w`sq7_PY56Y&U)b8IJZmUPY5v8fW4V!Oxx*v;|J$4(xsHwWA8r-jFQG?^9CGA-kY zQPFjSH>tU7Jjh^kW!_Gmo-(hI%SZfyRc3N~vtKIillc8eY0mj-+)4pIIz@GQLH_p)Q4V;&~ z)}~i8OW0#)zt0j|BI?>&qLj?2d+i)1^cb-Qsz^^lB71o;aGY1pesA!#R#rxfn8Dum z`fjloOx&m$GY!MCEM2$E)nLZz+6|mEfJF`Ggx6-YqU(4ruaC}jFd9X>={848cuNh8 z<6>(#93zA8r0YpiaVXI zBaMGf06uFw%{|{B?W&Kc%j~IsNv8TIGfJcQCOb-__=TP|t5F_J(s$e^GuU*7hWmqN zJ*$yN;>quwG#S{ye8M$aAVS;cAhcSl#t600!*}?f&0RO4CEsU@SRq1}T2j_T zoC7qEMYFve4RI!S=V3O)B(%7qx>ZOCB%dV4sw6A&l;ksJ(`ocCs#56V%^2 zY6i(V3!8abz`Q0k(u9S6eDaWf9UX->^cF;R@=XsLi4q!%r~1I3Hn~KO_AIu@>llN;JA)dx`%BpnilU2vOXE2eI=W zbtXDiQM~7Ducl<%inHzE|)d!7oqD)WV^};{azXO ztO(sm*2N<9Zn7@mna<#8dDcRnr<&!vlH8ExWoe-z11-!$mLril{K#=R6dNfi{(sKk kGbCURzPJPwpXZzbL~-~bYN|<2d(H?Scl77D$=)je0)&hxH~;_u diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_drt.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_drt.a deleted file mode 100644 index d73c32ca60a80d11f19f9442d70500ef67843b79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14256 zcmeI3-HzKt6o5~%zg@NkRRxyvBU1_zRh2qv*2$u(ir5x}sLHCP2qA>myYV)msW(cz z%To2CNIXEr1&_cZaNSF;c>=Du>JxB5IcLTmk3ExQ(luK}n~`Sh%sDgTnfZKtJmb83 z#p`Xit}b1&(xJRscFK;uX0KY7%|vo)S!LU<@)Da%0B{aq)&`jW6X3+(JTCtZK=I{Y zcs$(!p!n)1Jg#6lif8}f@$J6=C|ZB;_}*^-6hHWt#}6L@P`tRsU=Ca+|%-^<31r?}O{Me6RVO zb%1-V7vAYMz0m*M|FKcW+S>QKu98byLC?S2?&AfLW>wbAN>KZD=wag1Of@QUwOIk` z-jeDqJ5t420qTCy^@B!AN#vmPQ$K3+mfzp>yxd{8XO?$kmdKaz(n1Ofe>u%WQaI zYj9h#G+SywJ5)q!<+Gq4dcn4T6X#pkj!w>7k|j!8ijbGNzV8R&H81pZO)0`m8Kn_X zAnwogpc!!?GnC53I@foDupR9A8dX(9`kmdrpQ19(fo9v^-U>^*vAq~%C(u4Pj$>I) z`Eq1fHkWP`=FwCDoGGA1U}tlMQs^Iq?0j%yfxTJ6yUH7^!Xyo_pOm)x{Sj*Li1gZ2 z;rVK;JBuf?cwKT}^>Mw`IG^+u2kX^hy+u4(*679ZW-lx?I~^$Pv^##3`R_A;yM-O^ zUYrr-%VR`U&SdH(HF6i=BPZgjV7)JA)@g=t?yEG=n-qV}1E3=?UUx zd3;WK@p<;Rj2R0+Dc!pZY`U$a6!Q;r#?Bi(xdAG4GvMfeF%4(V7tr$-WbHT<6F+qPX^WjDr1tL<=a&$7sB zFR+drAa~^I5ry(hQ4ZbP7g4?uu}KH(|Fhb{%F>8ev9WKYb|JCuDXU#aou*z-+!Iva z71RmzdJc+NAluN0bfPRgSWlk4Prn{NPV(q(!6&Nl3OOOv4iSZ(GDbeW^jkiY$C#R$ zQEfcPPdjGOAtIEG5VeA(q$gN(pGh`8#Wm|6T?4-ls5}K~opVk12nDK#=UiaFc~XQH zo+$3F-U&XGqs?qQ-%0HbT0C-5QiLw1jA^;cDd$*ynLEr&WWx4kL$+00J!Sj6VEgnK zY@Z~yrI%_#gY4X-+UwV;0~iu}ZSxG479qeRu`P9Z_yR*tR=YAK8%LfSW&OJ-c_E{$ z_BdoO6WP)d5CL!;$dkM8`5+9DE*PIq;`k-Bb$0X z#UJ@zuP1Cajf1H_@)D6v>y{HvG`&+$NNn{vp25;0Y~qn@wOFDResz+Q55u+@!)vNf z{WH$%D2Bh4=Kd%d-jUiJ#&B1!r!f3LuO}Eji}Pj5@DeecSs14UW19L&w$krV2QVZ| z5n;)|FQN zrj#ddleAi3O8H`n@_6TRvMGNnVmhJxqbP?CML57TMS0w9y**D!^WnT^#(7QUe7b6q za6Zn8;DW;WWHbIoM0CQqco;IqdpgDk*m3dkK~BDkV@CJXH)nImT^6yzB7Bu`eDnE; zZutX`W9FM@yPmb>T6sR!+;G2g>YESceH`C>PQyD@eoTCGnPtVMtHOLJH{8XXQl1;- zvk~Rui@M099}~(`-OieGRhSRuru&)dI?L2EPdxK+c70~Dlux)FH{GkpH5LJ}V#G6& zeAqVJ(VTu)HPnLB9*F7cN|D$WUph~=e?o8D6p}a23p|6R$#+$vyQ%L_(z*HYY`Bj( zT}5FtH0V8ZoK=(p@tpn~f1-VE(^Zsoms4PCMETHdxWhT!r5{Q+eG6`Ct%1=^|0|hn UOKrMKAOB${`3qQ*a~OvI1Ehj|%>V!Z diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_drtprov.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_drtprov.a deleted file mode 100644 index e99a635976d1e3f13804a246ea763233d9bb010f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9422 zcmeHNPj4GV6n|dlPlww5r)4 z?fwUA@7ZTlbF=9-UFUsg)3zOM(o5U!bi}i5@2>&Cs{r-i0am^Qc;SJ_>yH2^zw}t- zSAGVd{Mv6KzwrkE<;$lczxgKs4=Y2r z<9dVefU>Ohqj(&Rj=i3TsJj7pUO(vhGsppNCyIB10rtN)jK&|1M)4$$dgD)n$!KsK zMBO&_5#Akp6>v(@&7;BKv*7ko6vp@WaJZpw6qE;3a(0H3Dg(-crE-EOJP!O%g8LOl zwNnU2ncGp&%hOiN(bQE2RI>6Ep%gD9<-wF3qavEE%#d<%sib@*nB*0s4N|+E?4Xno zYy>|X1qX3slyEkWt4+soUDvkVR#TFDe{Hw6f^4J0GIG9XIVDOM|Aql+JPOwXOvxMW)6U!60&7_`im-2C232q&4)(yC%-4_c+ z!ygQwaTpE)+3@!hfUjzYy*o*Ttk?BKV(U|~38w4F%EM^-spnxd-OzmNH7d_0sXx}s zGBy=pSSR%6>ow9!HYL&tW5LH*&S3>!V@vHe5!kJ0`p{32`A-x$?g!h9XueQBd~vH!hQT&=pK`8IYo)cS>V zwLi0pcMx;Wj8ohoc{dRAy&30XGpDOqb|pqu;l)0E@)kXvoTPQ68}z#cksV>ldZ=%* zHjHR73!T%mey8i5y02$_0O%f(SA3Ax%UYve@K>6blN{81z!{t8Inx*fN9gyIsCQxW zZ}T$%$q_X-Wer^{AZ1htT2+iypehc6XAQL3PcRp@s&S#&*8GHc8$aOm%eb&F?Sn4o z$%U`Aev7yen{gQ~d}qcfF4#D~uEgN2OlB^urd%)u(QH49$^)i8&OYVAZlVmlTJRH= zDGyB3H|+6pVe?~wd%*&HGs1w)`vmd`^JKwF$^z34@PEVt)AS82$c4?11)J4au#xoz zCukjIzMwDHN4lJ+FNm~$i+sViW?aS>JTl{yFQ8bUsxMg9SfGv^rq6{?-Xh0F@8b9= zr9R=7sNm9qU+|jxgyIvgsQ{@2JU?c%t1+Y1%0x*QJBDkD8CUU5S7pW$F{9wnl8k4O zS@8}{08`3}JyF4>1$c1JtSC@H_o)teXFi-y_Y51=*l@9D;CCt9g^H>a8*FT?%7%K% z22(V=&`hYhXDI&epgcnfY<@nWRgnewL4XsTuwLw(<*CavvA{}MV2Xwpngvx)kc4@g zrr$Mv3^RSSWZe9C(5%LTjVuo?b`5E4^fbGMn#P0w>aO8B`%XPR`a;&w#e!e4q+NsL zL#`T(tSCXxj~h-UZs1=lGCtxVh7Dyq>RZ}Q^gMUe2U@>HJL-WMm)TJtn{moVypHd> nYNP}vZm`8H?$?FOIDSg$UIG7J)2XWgJre+K0T?kr`_K|5z{rtab4H4+|5SD^sa$Kqge*PU2d%yb`pF_ zxLsUW;Ph08?~T59lsc4O=ZmHjL`8;KT4pdRR?x1A1q6rQV5O;&f{Ixgqy_DFPUrYME+^L4em>%Ay26u(7PHaNWG3 zl9WkNGI7vqGE}ZQ+gnaci;^mT+E-K}rBu?T{_n`MiqA9bf2Y(+mG$?|_UtUCf6&0i z`r5iM%>grK`xaux`M4}fXuci9e9p(Y*v{s2XIbD{vz*)2RR7MR`rrPqfBb(^;@O?*kMs|u|NMLBKdt{q dBy+T>{$EN5mnHa)HR(V9)7uMP%a@c%%wOT|Ca3@a diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dsound.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dsound.a deleted file mode 100644 index e9bfe421e0d19fda89226236555d7ca592af0c38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9906 zcmeHNUvC>l5Fgw5M+pB!RH{PJ6;g=@WX_3mzDN;r6gLQjpi*0bD#XQ!FZihA82j7? z1gH<7BJt7>gAflq^qCLBXW)r4v%9_<-|d~xjY(zIEA8HT=eN7Jv%i^}+w+y}diSvT z{_=aqa4Kz^{*yvfd z<+Qv5%Br=|JL$I@PTfJ!u?vpVbnA^L9|oKcT)*bt^$y(+YgHS^^Nu@Cw6W%O-9!Hd z&AiudwQBuN%RSxgx^>^Jmd!z@Q79(A*6ts>UF`l@IA@|*C)i2vC&a9uy4TXW=3bdB z*2Au*bdf^dr{3}VU3bLdc6F$fQS?iVjuKn3oP{k;?reM_21ybose#WSFwi)5zwwJF zfx#tNTFEpm%Q6gWU0R-D>@RMC)`ppt}?)_U}Z&v8^~)nKE3rxt=MR_ z0E$Om%T+2yWb?9Hpk#;Wn&|FA`EzHp^je`_c-^odAhDt1*=#g zo{|kwqCM2{R0tyl!v(yLK*UeN>DsA{c)ch}vfxFbpBF?e3yYiLnTBvof)Q}!H~Z~7 zvPJL+o&wW_b|uqEzogSJaZe%dImUef9eLh}%>NJ}jT~jrsZ^c8m4VJxFVy{*-8T$?jLhZvYxc zw!EWS=#mEy%V?ab4L;8r;f9R1voX3-iZl8bT-Yc^@2g#=%Xu>TYc_8hqkTOt#^@jQ zxPZ}b;`*uzgH@IEj9vm3Q%2t%u;(;0d`+!9WcWt|Wr&siilvjX{4rjgCT9bcY&Kxo zTQRSGANPEe4SdeHbDlPEz~)V}ftDT@vw^#MTwntiac{HQz#_MS@a1r-xqn$PJ>>qj zYN1OWe!!A*KU{YDi@Q7zIOCZ{=<%%?+i5=}ne}hA6vIrC?F(AA?>w7q*Pq=4#vsKL zWBX=CwpZf5{d;7=DBpgQ`NZ?|?O(Ea(|mhVkBj;Ct{xZo_Eof)tiFAovt6E~O*PZ; zh+Cx4uLo+u_B`CflKXXbco;ulln2D(1a)E@FK6VqjYs<;(Yd00SDM8yYr$q-zAZi8`+pXds~&8CY^c^;{;4M zP@I+Ng(0R#ztc=NCT0WcGaDdwN4On}XhxmbjAH}&G#l7?wrxNk z&PQ!v!cl!GqYaqxQ_G)_IHRKaFC@7H$IdgVKVtKyMfDv$E@lJY>2bkx;Ege!138Ti zsNjC8qn<0|OfZE}Pfa$6G7mrFbtvlLANUjg3K54)%=?>Jna{t?%2y|CZu;$o#z_=08Ydep1-asXw9U|38`3JT?FT diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dsprop.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dsprop.a deleted file mode 100644 index 4b0706bb001f0f67dd5efd22d23604e821115436..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9802 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dwmapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dwmapi.a deleted file mode 100644 index 3daa809c68f70b270fe82bf4210fd026dbb28974..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26370 zcmeHP-E-Ww5nr9`SdpDC*G(KJX)lS>nNBtCDyT2&79<$9yusIAl*)oP6uiD|XESYK}O8awjTe5ngS@zOevue||4v3j1zH|GE-zV&Y&zl_aN{K~(0T=)k7#rj`)TzU*Z zvH4FP-~KxQ#jl64{TBd=tAFNk{civiH^R7ybQIsm_9))@6_0m+3qbLM9*^I>13>Y^ zO&+ZV0LAV_ik;4Cr*n5``@_y{JFxxEs@JtUhmLC z#9>4&wU@;D`f{wf?OX292^`OT|IoF&-*()tcPRCpN

EL;*}+!~FC`<2;mNt&@Bbi1|sI`Z929%XC7}-K{^-nz@PEQ9ok95q%>3}Ih|&Y3YI^Z9Wr$W^tsCk+F?753xsy+~{dxqz_91s>%j zM0WYR6A(}LPcY=fA$O^q6dCP4OP7;t*V?U{%H2oMM!Q+{z^m;P0GaC%?Zn7#n8zR# znkE&eh4yFK&_2I0(LSGxc9H83?X%Qa?X09xUK`Ks9DxRJz71-04yFd6| z(OoL@ITzv-{Hd_F!gn$vup%9sfG8A_)uT)h^QiTO^uIo#Mi z1#g16nQA)OEvKhYcs)u5F%lf4f(r%rg(*I%bhJ=JDxT_)3T`WtrIw0EVL!?2rj=3T*72 zLTQ4rLSgWFlnP=Ty1L!;KZO;Oa-@x?SW^8@-;+qizNmZ0Xa!tO{i9p9a|Vr>S~8lv!fln`S4Iqah%Ua+fYD6)^rlMD$t&|Hm#Siq!< zQd>o|nR&u*nj&4PzS%=0T102^Cj&FosB}2phzo%a8F*rj49stA88D}0SOmrQ%#0ao z40^`gODLT1B`u{Q{lJBW42U@ysOiey4`74^KXOLubs~X(SJ>;}*RYV3>gU)+2A9X4 zfEslUQo!G%kDlPWbEKf`J;9@tf_ah@#9SVwfEr~E_K-IzxWFL=Vt(ER91{pF&#Uhq z6X;AHWq=w}o;D)|!5%t2d*}%c8Neth3R;VI66M>Y+ zqXbYR$iWukZ_Lmg z3Y5uXC6|KJ@{cOjcXtFjlSdgKMvrU37V_2;oNvg0oGXSmDRWP7TDFj^zFPz|9*+`0 zjU$H%_@BVoAzMkMg>3cDMA7wuJ7@NR7y z-+G-G@eMmNiWlh8>qY!NlQHV+4Hfj|*6p(Ri)zw*)6?&v#pB_xEuZ>V@XvPPAvxTRk*tF5%+%Qd|3^)APnRgR^F)JNl=~{X$MI7|@eQ2?v<-M#c0OaL z_O6{T-Hq-7D398AFa~`^y^$VUP-Z!}2pbbVa!i1Jv*c4@J@|7`t*(l9r4>Z-qsR5X E0N9tU4*&oF diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_iprop.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_iprop.a deleted file mode 100644 index 9a7ef164b57299bd4afe0ed7b42c7108cf97143f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7970 zcmeHM&2G~`5S}G+*NZQ5;5<*1naO&0{LSaFec`(8y=dN;yJ{w-Qmt4Ot9-3e zH_bAe)ZR3!RWz_{%mKgxfZ+j5p97d(lXvA^o74iW+x0qKVGH!xbwG%wV>fVqZT$MCFo?(F(^8>%m^CtG+ik9&Rd_y{W}xN8>NQr+x=bG zvI6D3(q^xBfE#=yKbI!FxE%UU;b02ar3%j{{i>m!{AT<6)k43cI5?W&7uxTxJ$$fM zYP4FYC~dhdCop{92iPub**l>k(5rExX^W}3$xV%s(a%STPqCkm5*ylYu|R!Ng7|S< zrqT2hAC3uK`C@^{Mwf7Q@-g5x_Cxc?9O1M%08VR56%D5r#(18WJN375imWWHMYvD7@K5r~(vyyGJ;Oa^@C?W27?1LxxXC1s?kJ21*z%jN+B;Ii zID)@`bdIh>I>nb_8jH#la?Kj{**Qcp9Vz<&ZgDR=13uwk=-b;b-x-7ZE9XV8j8c=y zaUg#aiL-3X-7C!SWtkG~_nrKm6C$(}3cg_!3P{9Q+% zX0~6H7c}2>^zpL&EHtw$V80Uh1S&k3d;6E@*XPf%ja>R_JUG>b;M-9Rj3sl;|wQP!scZsNtO_@XdRqHOPFR|C7*WCB7+FNGNZm<}&}5 zodGX#pp{Ybc$lP{-@jkW@p}d?E<+TZq(`D>ep$x*~09oJH{sSJ**mj6<`ns9^6geEie*g<8 B#Y_MI diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_irprops.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_irprops.a deleted file mode 100644 index 20aeab6a73f85d55d6e30dc5dacb169f6b33fede..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31162 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 NP3OOwJNQ2({TC@c)wBQr diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_iscsidsc.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_iscsidsc.a deleted file mode 100644 index d399a3c2d1c2c639e0370496ebaa3ea8a7b14881..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68212 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_jsrt.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_jsrt.a deleted file mode 100644 index 7e51deff62e03d0be817b2d072fba37431486106..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75092 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_kernel32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_kernel32.a deleted file mode 100644 index 69a7f7dde954d8092c7c4996e90cd2c23af92656..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1061514 zcmeEv51d?8b^p!oX0zFBHYp-Sr5Gq8MNE?oYywi6{gc3A{;a!8f|Rn%?!L`VGCMQO zpOB>#DMh5Hm?A}_6p>P-6evYY5h)@?q==NFrD`cEMWu)oksm5W{hf2qeea(8=e>EW zBcIPSv!8rtGUwmB_r7!QJ@?PM?~vm&rOBBSI)8hG`M3I*)xE2GR~_54YQ+lp2Y>u? z#fo*SR`vEu`k9?VbRI7j9NR7yyyH`1!3mEM`mPoW5QEc%6IY4_h@n>rn;sGi5L>Sx zjGQSJAWk`wu>D1`0CCzqgx|kJEI^z&MwmQUEI;?e0>oKeg!1EJ z0b=(xgt;lP0C6s)331-bgg=7oAuha_@V;TO0CC9?gb%ie1&9y5K)CElu>kRB4->Au zODsVA`3;0?ZW0R+AHS7w{q14_;uCieZn|46K-_X4;kN6=0>mdFABa0nB7FK#u>f)R za>8d16blgdtss2lJOSxLeB&Cz zQ#XhOh;PF^MLcsZ;d?v90>tw{8!=Du`h~IjUaMa_X z1@YTY6M9|}Er?@YA*_2&v>@K`Rl*5h5iN+mhY5psiWbC)R})U&Em{zpAy0_mF~aE4 zq6M)H(t$Yj1;Xz=Dq0X{Tu;cHCt46wpoiG8p0IO;XhGzDOejEl5hc(?RBs~exl*(s z{s69xIPXltAN7kC#D#|u-UsD_xCGLK_}~GA54|K>5Fc(MT+u075Fb5~aCNt6L0t1Z z;o}d87R2>e5k7IbXhGZr=|S9bH{rJXL<{1RcMr%oVz8~%@YrjzjO zQ=$d&eMleTg&PS!{D5ddygWwu$%tq{yb3;s_&Jmlpmo7hgtkXTD`L?#gwDO96|wYO z!tygkE8=xq2nQT5S`lwJi14OYMJwXquM-ZrO|&8o`xN1=*NRrekyjAjexYbZtlCLf zbDC&H^ll^^dy;5H9Dg$5cSl4kqW=WKhF;N%IH`y5&Lc!CVoMj{T?dF(#OTX}ZQl{C zh<86tIQ*85xXuTzV3;T|FWwx4kO@uC&+_bUl^t`eZ>>6aEEwh{xbwBK~bJ;j4MkiujN72~S=jS`ps@JBX+6A$<2b(TaE$(vJB4>4X>7 zi&n%B4^G?E{6QT|AmQx8wY!PjUx54!gD~}?qhHE0$yg=xMYaot&f^hsJ zq7Cu8cN6+=5^abL*Aq^dan5;!Kb#S5i1SAXf4p9_Auc+U@Fy*z z4e|c35-z=2v?2cVBEsd6HpE9j2XPgo4e=LnUl1RAj&R+5q7Cs^4-jsANVFmT<~qWy zMbU=%JIFiYQ!5Go&>`9oceN4jenzw*K6?-0zH3Dr;`5Lm#DfJjxMAsRFWqGj>vELx!^#_TChy#xzys1|#L>zoP z;Sl&g;;<74Z(T1IB8~)mh_`PdtlB6RBG!N%L~l1?-BV&A;vKgVPPkSqMD$%n7%Yi} zh!epU;^Zm9=AB|8Vi?kj7(I=!4X%xN_u+)!`29$QaXHvW zeB?aBRTqebh`)gRA+7~o#9tmx_$$Z*;>PC*e{+{uh`99wgujDpAU-uh_=inmA>uCh zjrd1M6XM=O3I7E56!Cx{Joubgi1^~8ghy@@3laZ%E#WI45DO9i4rxYw{Zzt#t`Z9o z-&{_33et!8_Wgus?hp$R-@AhF{P|)b;s=mN#7j`Nh#x^2B3?Oy@Y8Ow5YR66C$yd* z+7a!m2#XID?TD^}2+Ix^?TG!B6ZU^av?G4~JA^krCfX6daRXt+C88bio7)J7_lkDJ zZyi8*+jF8FvGNJR>W4);;^>D6Yp)UQh~r9x-x(3@i1j^$0kDJE0BJy+^cdltpo7>_ zBD`y(Xh)2J9%6e3;WQy2q!;a{f0HnNpJ+!+fE`5e6k+C3(T>=4B_R)aLY#Fjp>mRF zM?kzFan50)9Rcxz#Ct#&alzGu_f|wZ;^LDD?>|DcBQAxsAojjM`0$gW9dX6IgpXb& z+7VY@OZeDc(T=!on($Z0iFU+|?Sz|N677gv9w*#(lW0eLayQ`)xIO~LXcC`!UbG|b zfiggR?oz`2XNq>j7fvNSv{JMqz9b0$0_B8w>_Ni6LD?g|dI{k_P8aQnC!y>S-`bDx zUoVPw#CJds@!ya(#B-pB_@CPeFG7A1|8EcB$0MR0@xMnBe%3A80gJ@X2(8bGMTqtv z6Ba)y79qOsB`mv3EJExDzY(v0fN@j0;wQGS@P8}f~q zyP9zBxndFGJ&*hp!Tg5LXllABDUkuI?p# ztV=9HT(_L?SMYztjU9x)0lSD>ULf4|O|b~^$;SzI+$RX(ogl~c`ApYxe!gnqZixB@k zO?d81u?X=$>j*Elh((B(piB@yx|#3_=pcT&MWRC-CnQ>ziw;D)Aapz=IuJ{)Aaw5( z9f)5$fw2F6q62ZjHwkaJU34H0+DmwIQFI^<-AH)LfuaNP*5?UF-X}T`Z@-cN%=hKvbce5PNPS`~mzQaUSpx ze+2nNTzD(teb zY$Cn{_Zso&jf5|MKy)A;zk=|!-J%2W#5Ca>6QTq0R4?J%M~M!^Glvqs*Cjd---o;* zUU-7=L%0UwWw>96pX3Oy4vP-N&ySE;+|nr|+FlTg5sRKBbUrN>BbI)Lu>2XZ81cFX z2?snb79-y92;m^0Bi?*1;m|9@V#HhEH{ys(32&PgixDf&Agtad79)=CC#+p579);Z zMfjZ_u^6%b2m-_oixC?IVW>?kM!fSy!j{LxV#K@dAdFol79+NwLpTkti}?Mc31{vv z79%EJA_QL%ixD%Bcf_uT2>IK@V#HZs7g6~X;cT#tIOlxAALhhj#QCQZ{&<~OjJW7P z!o@!pixKbt8R0`MVlm=R;Wy&)rwAXpUo1vk1=mOX#eIZpA#aGke4KCt$RPe2(uBDA zdcxmAei65yM)-S31L967N5p3iCERncSd92w7vcUku^90HqyzEKPZA#fx>$_(7q~9s zF-QaA-yS7=^_yZb;y+#>Jo&s>jQAGN5Kn_F;=538h-V)md>?3t7vMMIhqn@5zEmtm z`~-Xj@#+ZS=lxvs|cwunx| z#*+y{8$~B#6Z}SO1s(#{CL~TNiB80+Q-t3GS;QGD2$>eqiI{wzF#UDWiOAkf$lWM9 z5zyXBlx`KBi0U1LJ-3NY#2;KnI1kc}_@i?O7oI0N5$}WiAT9wO;)53w_D+jV#D~uy zT(M1bB0kznxcWfRiMZy+gpWTWIuX}jPxu6+4RI5s4{^%{gxgLPorq7aBHYm~IuUn1 zOMqCn6LHUrgwH)LIuZBZLHNRhq7(7ZlY}q5BsvlQ3N{d5X(RkQlpW%0po@3{`~mR| z$RFYA>j=*rC^`|}gYri_e<Zvh%5M@@-zSzJj=r9-_7brKaoipP`0NtI`b~s^bz%u(ELo7jLw-9pc#S%o}C_?E7u>?_t z--tbLB>Vy732|Nv;ry4x62yh=go~aLOAvqZ6~YG~O^6TOO1KQl8}Vl)!j({lh(F&% zxMoBwL3|u&i0cOlpI9lDAZ|K>aLb`$3F0orHTX6-yAG zgZv}zuMobF7fTQioksZ531SK2QOGmm%PR?wuM$fTUptuaM2lF0c=Bn&w;mNs5KrGt z`0h1g3F6ty3E#g_EJ3^gd<4V@5-(pSmLPsoB0zh)1OagZqN}Bg(Dt(ELM(cS(0RS+ zLM*+Quskoi5U(2{955)l5N|k$@TQkU7vkW135Q%Gx)6t*OL*&;=t3NM6yfb{q6@LA zg|G(Ff#?N$h+{zxar}XV-#u7#A^Hy>3_c;c5GOuPIQc=*h1d+&L=0a-7`;+-A+}vc zc=xpELY#gEVSJnDLQEV<2s%X&!<9?^xE+etWgljuUc z2g(Legcu@v!!=LiSgFP0+Sd^O?FtHe^oTdpJ=u~RHXybbIlRvtlE^|DxsSo1T& z+IF!NaqP1MSesai_}$wH{a_EV;atK=(_$&&onwS8U>otS;|XKOiKU3`hZ9cg5K9ri z-$odJQ7lDFe3KA7ES4f>?k4QISu925;hKoEE+kYcVkzS6DZ)9!VkzPep}Y|14-#N) zVkzRHb%Z~GGDLjfXu^jM6iX48L3$9ELs}3Yd6IC|ePSu%FK#4Udxcnv_{)n3H$WN? ze|;L^<}<`n#NTcr+z!`5{5{+&#GPG)yPg(H5&!r&;odvNQp7*qM0f!1BjTU0B|Hq* zNBj$v1>&(Q3I7J^Kz#KE!he7c;z{5mzI6`a>5^EA_%8SW;@Q&)-`^;fB3?Lx@I&w~ z#LJLo#7{a2|NDwqiul>H65R{#5fW{eiEhNA3kaR(if+WxErjLAi*Cg0RuB$o6Wxdd zUm(2cLD7vk_N=km%J#t z5g&Y=xaKFSZjNX%XFsN1rEr8SXdY@v8`5 ztB7vI6DJeCaj57A(;ic=uG6c-;O1yHDScdrN`4Y>;g+c=MkS#~F ze}J&~T(KO{bsk~a95eoPD(jtMkkD{YQkxS z*@^7*T;F76pt48XcF5bYB*rquU^Y{N)c1yd=h7u*xKxR5edcGfE!iY1_}9Wgttw%mbIkf`5vD!vP0J*DQRUR zIO&O*%1ltQ3)A96(i`^pBo#H1^2tb=lo%-F%Y|IvIDtXul3S~lV%2pTCC|C8*1$}r zl$nH%HtuqyZiyw>as19mMr4P1o*~dzfkt7X3hk;@1rns()Fdauz4lOE7NF&+>XMAf zuO!KicXJ)))ruUKE|sFf*}X@PR?E;iOpQ?^97P}7y*#1@6_SRFRDwOMe~4vE#z?R` zC{^TtHQ}U%?N45;Le59JMWM_j7dnSV-_J^AbQ`KC+ z(wk1$uu0urf37gO%Se;HswH7)V@n#N7P1U^NP4b16--$+DMn8tX~+yz%ay|H=Ae?9 z%2YBj>2QS%8-2y%rov<_4;zT8me&; z+cVk978rI<4QGoGwCKb+bVHKI)Lc^1QF3FUMBQ4kP{?gBly(hda=D4jB!Ej7+$Yz2E24ZzldL-j}E-rQb6er1{2jC8+HeI%%|aK-~=|)(Miw<^EXhKot5^j zQZ(t?$3~&r!Js(18|xbe>!UF2gC=}vigf@rq_$;Cm1-t;N?vxHQEnWvBD|{#eLmja zXf)+va1zUcLskUnZz|+8I@tEIOro0xWk@oVEOd#xbctI;^>bq>fKbFW$LLJb%@E2- zs*-{xsxY}>&z9D3oyB%@0Xtm z(xwg{Q^YWdJUUs*7As|*bZLvzK@viNsA=DvDf9W6I4;mPW%4_!nH>Q(?R<*H%d&_x zgr<>|i@-vzIR4$l`hF4$!23@e*U_j244QynoPiW^x!bj1@-bVAM8? z|HpPR8ZD-its#}(o|GIb&5c$kX0vLt0i&|$p0bqHkOC_(JpgeN%ou~8X@0Bd~IyhJrMHVlG!pYAjcV_I_I?S7oDmiwHjLrlM?W_<(lTe6IwJ21*`9VWoJh!T(EUfHZ4k?p%MCI%!N4H)r(7>)RIh7N9JyGHlLlX&azs}^G)ex zGCm8LJ+&=p8N&ip;>lh7#zcK+O|eMel%a4uXt*CG-DE~O^13HhVSNz-KGVHP&lS+R zaw#d88YotQR`%UsT5U2#B7In>ER-HA4~@&2t#!#c#}I^ zijj*f$*|v7PMQ(P^4sb0W1Fq@rh;gh0T$}`m?BvwhU+P%A>$H8S)EuaREvGn(@-5M ze1R}B?g~UKTvw~&z*hE29xrqSv~H2Rm$r3uU=lWHrk+CzOWTH;en|Y@bAVlLs0)MC_Z|2`gi> zFw<&eKTg2VHSUepKyoBETsRvhrZBqj*f*Jx4u-S?naP;|VV2?Q|PtWxx^Ox-m^B%`m1A z)FPXq^6ZfDNzC1ld$fE)+J@b_+R3o_T5~X%&cNcow^vi;;1OZ^8-`V~xz~l7oT+uf zc7*0UomNmO`=wkfPGe>1hkU6?eeggoQ)X*+J`T{Li4v-<)HWDhTdV}vX0yF|B+IOu ze9+ts)eNS&alisKZ3tFRVg9thW_OZhkekWo%DF-XZ@bZO*bI=Rt{f%#oVtf$kobJM zhY^x61~nRAd9{!lNTilOA%!?F?=AJLPM&O8l5SWWK(5U85A{Hw!B$64EeA|AW=?a z1Q?j>wFqU(WSK;BRLTs6BT^&{6}IjUO1Vt27)*`8>Yf!t#fzwGF^}(`Bd2w*8z-b} zs5LYQtNB_Lc1mUsfr+Uht1R|IaCdfgsxkv}WkCtHQe()jR|soKDSp%~l-(O^@f?kC zIzO1Q+H}l>R<^|w>{#u6oE;K#?6|I`6TyA0ub3^56}E2Jte50MTbyIi`nHS?#fXP2 zke6F1w$B9laDiw9W)@3%^A;xwg*J?Kk~U`0C_<0gcpzj@(T1=6D1}seDkV`!=5pU=S$8MEst7PVpNbCoXclsvy<4^B~8~Qi=mxdZcy$Q zh6f$Yyg3|8+RP7^mK>C(AephU&^qw)ip~xE?m#1n3Q$afTU_E+9k++%XeS>Qql?^rJ1+P;#krc+M8vjUrGnZm6M2k72Er+Mcx)UV%#DiIq`|M@$*}^4+$X^{9N6c;t+_0a-wcoAs4MHX z(WL_gtmb@@79Au9GDTc-2N#~))enHd!z7H?c%tJ)v_81AT#$$w4lfHvPOy+pYjV1E zvZ?SJ`i{UeZ{y2DZYmJMJ>1Y%~&~ro^O;1ZP#DsPLhRYH<_HUgcrVU*CWjuF@I| zc4uKjtkiXsZ01M+o$@5E<5c95&?&I2W|US8Tj`;X^CrL{GXie}95N#qG4OT+Hi}V)Bu3SFMmu@q9ECl z?%s!cK5@$$?+jUIoJzEo5bLT_iINZ-QyD&q*|T{{!!yeBaV#32?9dIU^nhrTWXZ%@ zaI)&LAZ08IEY9$8MqrCUrVMu#_5{PMUf`RrVC{KIY1^t%AI%F&Rw(b^&>F`z>7K2u z2?C0>87BYt`0~tdmrQSxAh*SV707sJJU(iFA8BII;72Vt-^;h!Xtw9DGhLn?M> zqp(5 z%TAXFD{)lzjK{9x96aIYF=|YaglX9d2TsT^jaOWQIFiYhgN?Axy%E=E!@~o3-xe<* zb(xNKK-4iAa@Q&DiN!rFL-6DayM&(?QTv7me8M3aQEqkB zEpW1oL*a6cB6(+ESt}%)ew^G!9rP$xb1SVIHokM3NbH_q=`e)aQw>5 z=q8wsx0;_pgCS)pZidd$thAiW}=I3a8ImvmGXF z7&a+pa=S+1e8%!jp~AX8A4kzP!zpn=X)J)rohVOUmO+H1yXy!^5*9DmHCE_{fHaTu zrMlQ_NjdzOG>_uJeUKePek72yjnU*r4AUUPvw1c0X-OE`;X``lfL@kC94Nu#J!}_l z3=_!G$)X#r+bb^%h?tT{oZn}g0kVTtdhA#$=msp74UBLSG;}{BRX(O_cZR0m*;?q@ zV6zCE*`O0gJ(|N+TJ%sOo62$N2E{R~pNfp+3gN12>ZrxpEzr? z;L!tvDj!9FiB5C4#flCeRq*m@XLe9gvz06p{y%w&{xy!zAkXOx`(ecv42M$Obz5q#~AVakQ1dnR@W!t)eckPxxQh;kfSl2 zJZUC8yfpG@KhL4ESxG++2VTbGlYEIahUt)b5E8>gvRd=ex4*W7$~b+Ny{jwl9W916aBATgvArq^2V}#3^pkp z%a#mP8z4sSpEG=kT8?BHcw!m(GK{tJ&WMqWohm7#(u13W ztZp-UAbP8x$&ZfFQKwCn!^=7S3?WVSu|_{ZfLQWD=*>GytPDJiEjVA1gNKQz{W31# za<&A}w_2OqV0IfGwZq4s*e0$Ng2^JRSxg}qouD~Z2oKI=?h(fY`e1f9D<4MK3@c#h zF59z}8E7+hlpr|d^O5m+Zm& z>fgMQ*wpYhYads1r;(WKQ5kq_vS6O6ho+T2_~CP+Wsi6b-GJK5Ymi4T#8C zMTun_jPMw;sKbooT6BJ|csg*!0Pdn89hWFc2T2SchiB%>c+k!;M1){v5%>I17_jCUTrC<=}&DKr=}4 z2W^Nj3O}QEIwDcZn6m{2iGG*|%bGO$1-B2klhd9l`4o*=lz4w#0jZ0_w#+1(0<)>| zH+~4N&qHeD$1Dvd6{XZDV`@`&q6E*^afk9U zQHNS2Q&iJXLRn*7txaXW&BoiqFi5-!_b?cVbwe{aac>Md*_!H2E%`l646G-yom zKx^1;Qr4pc4`WjRHm$AbiTf4iq2Lo`6~%L9Sz`vEH4Mjnx=Y<;lNkXTHdZ29P|=wr z@1z|vwouScMQs*$b06!SYkK5toqjYNE~p#*ShmYZ)RIilp##b>s#L=*h!MBLyfAL2 ziyFh)av%XSo7>B3q1#Tfhi7S+iRJQPN^$0tzlTF^9ybamR)VgjwB^DCwrn_%>EWwu8XV6xJ$%xnb*Dji+e%OhOWO6ac&T_Rkcw!) zT1(31hvk!;7E>zTN^)94Dpf-RvQclgSees3g3&U2ctddd2)tB7mAKA^OE)P! z?AG`=igqGS@Nb6WT(bFKv|22}bJcK^XH;0Vq=w4!0q-rFM&W>AT*fi3>f=4 zlb2->dBUV|GK1t$PMw!5k1%q@ZLZS7x7*>!Oy3L-W2mgRonR!5CpvQlKR49sqvIN* z(=c56P?^rpfjAeQ1L&*58!_N9>Pa1)B?t_am4g&Y>YPAWT`J?bL9BEWL?ZnmoOCp9 zqSDfgNH&ZLc`++#&KfF5vt4S8VA%IEK?m{<`_yNq;HVlS7Y+ktH;uwmq2R%xeLb9r zVGfm5v^+LfWPZ;ID~>+|yAj~{`yDW(S0&7DsfPvf{R5*A=}zIRW+0eib<5?L(){Le zS)>n@VSA~3T4K1uo{n+Il0eZi2(ot2!!Sv#4fHT12{*U7muFNdby5`$cERU5Tv3}9 z$uk=iO!+vHChIN~0lRllGK?y>ndM-V4o5##%QLv!LvH!Nz%~k8l7-gCv9*O{5lepq zzM6^looIK!-EcaYrU=(B6d6zFnyK3oOnWE~kB7+v#eA9umuYRxLBU!3WMbKj0ow}Y zZdrJj3iErNQj71=OjJWA(-{ns@@8Jy5$(R(zT(5NXklrL8@ zx!i_LeVYg1O<;6%ygb5_`E;U;9{7#Un9+V+crx@y5a4lkM{tEE)iZQO*=0_SOsu)k90 zpc`Y}T2irmSoQZj*`HcGR?t_rRt8Xn>8s}td2<(*2R@L6M}#BK(1?3~Q4JwvZ-srL zTFgwY%L_H=L&L0;^+l1~B^`XC@1GvDRpkiqqf zxDih`TbzRbmtiYz_0o0HAtS+_<~C{gYqUCxCx}^wI8{oSr!*QQ`NKGeixo!<6UosW zc+`E`RQxTczWDTpj>=-$$bguhO{jAU{$Ea&n`IY~kPnA~!Xahsu{w*0KWWR8Rd9?b zWz?j2)IVE9{An)`m^A#QcA7?9t?AL!6LW=$ zOl~_oSE%c!Nuyu3AKKLL_jH!Mnb;zRKYdp_B_C2rDqN?b?3pzB6?tDYgW}SOLOa4~ zFB&xI(Orn+y7VL+n)36qQPaq=P3JOR?qffDM(qI5z09C-C*+ic3d| zJbI`cJsHRI8pHKy@jSa)k_%e&mI2)Eg0-UzD;q?yCxcUo))0bv6m@K=L>(bMF&o2l z$VTn8Gfd1#2Xh@20e|&^Ztv5{){^ojD(31|8d=ZJpOuWR=m*h?{d>qj7btE5BfZ{bAz>Tlow^+l(4j6A{J80%LMZmYDQd33wMab=_sD55x&$z zH^N2|85{MYw=1A;veBcT2UMH}whr)vYWZ&1I?sa3+H!sg!~Hy0lJN(n0WJ!2#juTn zdn~GOhPn!oARLMjRvbf`uZnvZk~9h1^6^Yvet*WYjLM~8hQupJbd;2D?9g|_6!$PA z9n3a=8KZ|0k>XyJo*-bc*o!ZCWu@dh@5TU;NZ&bWJ?ffC+2K2yrh~{b36(KP+yf6;9~5X=5Ce z4rYtAeb|uXR3>FcX`yZyo#Ah`KyJ8}!%|j5c?cWg4o9@^8> z4L(jtV{hLul3~4>gK7aS(8&ean5Z{a0T58PU~H7TT3bIAfr%jJF&KMg`TXUOB^3O%tYosjJ_m5|ecHwiT2xv}2O2S{2Fz z9m-OgdsnppTkv?Tis46Bh;4bJI!_j2<+P>njV|!?9j_`%-{eMGGTw2;Lvkbs(?{|| ze3}L|>MdQs6=1sl_r@d$M6AThW-?tJpMys_re`Nd#*{^`jJ_(Jnrz0t)?EyvTqA;Z zEJQJIjCRC#H0>zaNVnW&4Ly+7ir!bk`z58rd65RaH-&fLMpH|wexb-lU$KZARo@xF z{55ZPN!j9}Rt0u!@4(f17+V_(7Q>LmL7bVkNIGO$^8AqzFUugtN)scJg~K(iSA=_6 zlBnL3WY*s3-A5F~$cF(p7IJtnrd1lSw7?kBA{A^Y-B)kvSk{NA}GuxDEl%Vbm^V z#48kM!Ct{lLE(jXO8qKjv?2y6bT7GGy zYAIa%^JXJrn6k!DUZns3~@R`$B;tWZP0wk%qt__5qSr~XF=qnH6zl90BM6obZxsiwYlyL50X8Cq73jLpbI zpD-a4&t&=GDh^o_JjYVRFc~>IB*ls|C^hVq88xG!3IYaLaFB@HBRDk0&*{;oJtDx| zx;uJz8EjL};ahKvVu;~;G|i&6^}_Oo_hP}jJa~*8QNZSw>g+^N+B&Tc1cH^&a?oF` zRN%~1qqnRf=US3S3&|5F%m&>uWQj#~__9khd?#JbvgGZt2v<-%OT%h;xkA+90x<)9 z3B0%*-uAo&9&`Xxd~Pa+PggQEll73RwJ6$-zn;zaY5K0G_1N|BGAg2gH%w>ByF7V} zkx|!mxX!h`5=>haKAcmaHv8Cxj0Su{%En3A9W$_ZO-tDxobgI1?Y`Y`EG%wLq?Q=1 zc*-DFD&C4y4jvofosf@gP=_EJNZuXLV;d$DuL?UEriQaHy$^2<#7AnJ!{BNNxoqVK zu;gRh0rNtJ5VzsB>`@XU7MG`+Ehl6kj`Lp85sA@Xthi)xYb437Mf=LlzA8$Q$w$rTc{Zp- zW-e@wAsr_hj_~ObMe+x8GS1K4b$m4OsX*z6caZd|8QfgPh+M@FMvG$B^A;FmH)s%#M3Y;C4p|7Di z7LBHO`Lo9f0)CdccEyvTjEC!2wBUrL1~t;WPqcsw3#n)^db>D}>kX=uf&h})B zcHzd`V`ZJkL&|8Iwcb^0v=SS$u`)6}9ehs*+L* zIXtq)SVNPUoKe+7Db)|)&&{U{VcD2*y3J7bKo(mBH-Vg?WLawymbu+V;8o(q;_WzD z@)%(`tnnUqb)8r##g77N==^wGgqg5-js|aZoSUnaZLtJ9j`Q(EXgjP9Z~-UsHZu{j zo$F&2H6nIfkJyf$8G)Nh;oAF#Jz3}&r^1&-a^H4YaD|YlMsJ2sczCE$D#1(&T*Bxw z4XTvN;2=PTx6$DX#!cH$ijhEV{r>fBnNk*KFRbB2tb||NDsYc>ROXBqg=xI6jp3Wu zjbgB5%|5l7=Grt1R~Lse9O+@vOqmb#SgJ7+kly5%$Vc5*vKZQ_mSi{{?H||gzl!5J zbn_Vu)1u^|1|GLW8+~}wVUoF=Sz#i%u&(eIDwMO<6UiY<&QMUfdDSVXTEfD`=L`zX+y zd?~8Ql;r6QECj#|%q&d9!)u$ZIvlRiT6~|TRev4LsP@9vG2_t&?Zp-YuM&}kTLJ_jZ6j*s%r;S7-sF0;%(l_i3TGu0T`kXT zgrg=ftkutLM|H@R(AQ+VTDp?2HQ5p-K3#_448Fp{Q&{nm%$oJ$R39gzP0sO!zNmeo z0x_A64z^Qn^$e91*U_@tEAvXa%~G$ElpFlbYGrfq3Pc;rRxmU(%FX6j(w2WP>Bu*T zM$bs$3xII2WMn%=Kwk;A)doSnzltaRqdF9gCyjoocq?gapp3SlS}A#IjVA#XTkFxA zN38X2Rpy+>G)h@`a~96A#odvujzo;M_YN7_)}4~00Z;Zqy1vdyaH0joPjPqDVrxBY zAmkLE=PI11H6VeK~x)C5(K{ zhK{`1U^+URg8UBSg$_v)F+4LIR%uk1CHrAyZ1Sw&%g3~?Xw5Wp4PsgHaD%Cf0%+iRs4JYatx1*=h6E7g?@&b*rvOItAk1%MnYalP{Q>zG!hQ z>2TtK+1Cmo)6sG6GS?xdrDNw?E9gAW7IEt%9nXsu*zPO5e03dDQ%}b@^~W}1i`KB` z$$8wRjdC!B+|uyyDJ8S8YjzVHO1a(YX5rK(#xP}V2aRO4SI*AjQc9s}k27F=#Tm-3 z+?ZhXXtT2sRY^e)Rm7v`;K6Cj1@Wj~#!~Xw-by3zl$oty@j?yQl;esjqLP6c2g66Z z*$ju3QEUgxS^24qY`m=}-Ul2OT4qFyos9IlJWIols+fX~so?lrnElG`z&BcM3U&uM zD}M9y@k+xKw%ERIkeQtA!%9y3t0b7^9Ff3IKg15DIhtJI!CWLWz(#kj6X z28-U4jchWLv+^3MM|q72*^N#&K?bj+H$jfTN+Ues6uy?#oL{LSXIq+tcNmrC!0mDq zFsd|{@C;KPL9zuEp^|}?qa=5zY@OH%^HH?!z&k*&l_+T0>NAeji(w*p5)a;0F>CB5 zi9{*aO0)qY>a8pTkpSvi5wZGxVgMxqvoNY-9;lRZa)%~&yLbtlro%yCxP@81h=;W` z@qFZff5_KQ>j8>Q#ox3IC3-oVDePgQPWWb#nIIp!%t%nFmS6{KR6}daF$p+z5~uXl z6DB?zjs(*-(;U7;1ww0-aVN0Z@=k()pTz>z1Oa5JJFfdti%3K5%@BgXQa|5?=V2Hm zXu@>?$^9nE2r)>O)mc7^pr>GKis1v9G^NiU^{}b>H(Wic=r&az#jD?o#he7s=rtKq zR@G#AtQQTH*)EnO3CY8K{v~)u1qSE?*p2ZTgBSGjr6#Uih1ZLQW0zqe3z)AqEj-(5Lt{BLeW~95}8VQD8BAijE@F=Wq?= z3T199Nkr?%YDEl`B|q9)g40VfJkId*kQ%mKJjihAoD!})P-E@mm^A27dL$zTmYeV0C#AZ!6sKv`g>Ux5i+1VB%TeqHw;*Yyw6LpKqNhqbgQ4&x8uYT z?0Eg#wWB>;c6zRW*<>ULVOpY&Q@dY8LVk2;tL8_fkk6x3r6Ng^FIR-rneo&*837*3 z$BD$~8=;?HpF|w}6RTPNcKUce-1eM`rqm+C3><M8SLkFJHX4l@ zER%-6)G$Sti$&Z}o`fUWaF@x(YF>^<^sVyqVCz{qz?0+Hn8l>w%fsZ9g1p2086sT0 ziTZ(>VhI9JOlji6hp$kB0*cz+IIf58 zy&sXy=#GSAS)9UlZiR=5S2D;l&Wd8RShk13yR}%h!?16*kr;iKL$bWdcH84&^6N+) zGk%O^dl--}-7K@>Qf7(m=t0trcFjm5F}cnrRRiFj=}|<2fR`onXgF7R)yRA(5~B~9 zsijXMUVUJBJtw+437~FBl5IxRw3$T~FB50ME_9y-UG{o=qf=8H7G9ANu^7#U!^3oR zoR-*7VlA;jhXh9(!W@&tw8#k>TAnZa*%iv=;T1Sl7J%X4KCY_;nKWyYsixSj9;7?r zYQ(j*l5|212XJ;YV-;|o}*#(2$qKG z4<=z5ntIRSLKf4>qQ|_K32*-bofv6G-jK%)^|Xcpk?Ax%be!K|RR1{sV3kf*3Ft{d z*5LR!Fn+*=Js6zO!3X$*SG{;X8+nWs!T|@XO7Z-`eEFn8xsu133pn~r@8>WsoGcV; z!)!Tfip2_m14pew4I$X%HCf2#VT}~KEP0rO_JbHEk~5{LZCN&&b`K~NMa}hXF1u$O>a$(N;1qG5X=v6tHJ#E<7~9;9STr zLE1PeXeTVBfkb9*Qz0|85f0#~mV%QC1-8*Cjth^r!2S+wqvb<2M$7ACS@K5fXvz}{ zUUnMaH^wlD%sN5p;vKSl$uX?Dsu`Pi!tC5uIHZBkX(ftCW~)lAYt-e3TALZ0*o1_vred*X6%lgbF})q|U@4O>Kd@!@ime6=WtsZO~>WnfF$R+wu;wT9{NNE10+nvISevLeunH!5(*Pa)4nMR8oBkIv0b z6yQWd*l)YbtvoK*)#AOO9*fnMOOkLa6iHhOd_k^2STN2 zR>#9IND!^~Wr-2W%I-nVpV4!{dMJ}5;pe$Npw8!w>~lZBlk^-9h=_EBXq3cXs^?`{ zME(jrFN=tq;Q%;e{>ULSg0IJt2114*>w1xr z%DDm_gdff1_&6rblObh?=LmL`LcHblCX7s0qn)R0w#CP>Xe^BPafpUv#MvUec@>)F zVR&1ElTEJx>7E2bZGX#ba!hI6KDuQZ>e(`J7Tj`nE$|W#xj>7iAxzuEAsP*?>{vuo zwG>aU-IUmaF68?(-A2gN6PwNsj{0-w*oZ+>)2swmRbSCL| z77caL-$+VsZg*Xuk(pfBT=KG(k|D#8b*qDt<#j-kVk8Z@{A4b(J8(K{m}`ybbanHo za-LL^V@dN$V>hmmqAe6_!_AS$2G3u_mPKhb2M*J^u6YVj4AUYz?QwJw$suXAgNHxd z?08$LL~#sha;DJ5nElYpBnhh!PCu{-88XZnU{{^Wsh z(31#q3PzWxpD8zXG98>>iPcd|ONXXj;*=t;r3KS2aVo^J06p%Z{vIQ8`vdTEGGSreH@VH@J0l-C&`z2Kpu4+@OApgkKxlj2hY` zA+XvZ^HXg}F%~&}E{y>l| z4wbhSVSQ^T&!#?Y@<1j(8RU%FdFCd5Ch6Fz(jAD@^01X&G<#|^Eu>`eNF!WXgx8=lR+2(mC}C$*wP!LVYT+ugE2tJng0rgd0JSY1BN8r@Z_dn(RP%TmI9H@a zbd!e~Y}SeeZZ5-+1xI9AWJZY5U(M#Gu%#Fr=x4F7L*@i{coy#*p1;7u%|wwHChrIn zMGU6CX$~2lxu4?GFkwlvwkA=eKY+u9V)yODaXoZ45QyXU2SJf#Mg8iBE!!~Fg=c|p z8Kd?)YUcesq{8E!(mm)&`DnDH-KvIAKXgCUqI^P@IgCxE-=jeQ&-AlIp=v}VnUNp^ zk77igXAxm_AD*Oz__AEcu~k8b+y}2h*^yVX)MJHca!;39l0;uAz_6{am@W5h86DCs zoQDBZE#cdsMquF>k1rU)3-5r=hV3M&DdrJ?$566mI2}XZiyA_}J{9ig)=_we!ZwJF zpz9cewgoIi<(Vh~%wb#!ngb)-p*|GOhPf|1lO$&tNRZ(cD4-n5!)jC}mpw=JWb$Zg zo|wp1k~FspFQ`2m8pj}qN2@>>y(16%v9go?1SSY`o1vcsrCE3~7<=5!L1m_37F(3k zBx!DSb1;?7Y?PZP(BuG=<0Ni&z};}(BB-IjZEwm>2a|J?I6;|*?e()pSd&7Ki_lDg zbofbpLzF*pJ}JXW4&%mRhJ{zL?7mzM-rrqu&y>I^Q5F`~mW!2O&33Yk*|moA+@Jz>WVdqsKKZp zC8sv}aX=4q70@GWoxS3s&M>qWpjS#|p9P%$2YMJQFV> zIqSu$dsj}B%QeKr`6!n~gNGd*%C^CO+8|y0Pue57V?sL0b;Qf94ds@@f4V$!A^)8l zMz(C&w5Dg}R4#|KmD3PmDdx|9F2s%n(=Z+irRkfO6`F3f?4uMfrv(G~lrr8;^bdXq zB+2vfEA-Z$@N)ah)Ch5)@&LSxK5q@>`8Sh`yr1*K|D#;^fBU-&2#W-MVm)3Y%Lni4 zqEvo7Bkv7}!=LmCFghY*Q{D6t4P?E_dpZwZOe~Y!)nJOnWYNc zoKE>aw{~;@{V3pXQeKK*zrxxPwY^yON5jRovFi%m<{NGKI*>WjFBjDgw0Atn?DWg^ z0$cuJeORw#6bZgo-23yl;IF-VH4XZ}g}E|p=neAQ$xrYa=vP8422k1JZ~i~0PPnbT z;QgO$+lBH|Svq)?){vsx?T{jKYWG31M1@+W|F*{T1FwT))M7V6i|OHB7pym zhgsDThC%tIYXkG-wM|ck5+^70M>+NO6UiVI;N5^O?igKlEfU*vMnQ)N>f%$$Gzq za%4%UpC9)edu&QSZpO(;emtK!jMtGL&laC0)?`kKC6FJIm- z^5w>!!I+mX+u;THa=qh=o@1Mv7JBkNGkY;xbi<4KM;B?=`kJ#B zNuE5P*^BPblfmG=F?%t~o?Mi(7m85N5ntL>zGjP@?SU+H+SEA-@jCbq~_?ARit)YFsGuJJWv3y;S~GPa_QB03vgiOmh65z>jqbHH0yhnQT@#00`#kn#ZNd?z!e(WvUDs>2 z$o2B%R`BF~XU0Ni)o|or&5T9LRlQ#Kgn&ITK*BMO?`*E{^r2xIM9Hz#YkB(6Y3#a5 zrw>i}<(#oz-Y*wL$T;pf~0A{p{$w$s$(?R9^m zWo^o}$aU^aOEYfQBhvZA?XO1Oj_;D87nNXDYGiMJlWYt4K9O~bLOJ^b_=@6ooo)6~ zmC)I3W<6W>bnBICSG%+07efeJYm9m(g}DO1Udu6R%o*g)ndTLiJ~ozh#;E7{<)Ww^ zcL1$dGI)3C&p)g9zoDp;2{)@B{3Umf^yd>z=A`vGuon9z*gsqOCvv`{_k zK)Th~wX5BIU(NA=9{bKG7W$F54n)(N4c!lfr(Nsuz{%8j$j=t>LHG{Gz(%MaPGqj` zfoCbQv&He+QuV9_=~ix=wV-}I!OID?0K0-l9ufSKwZOBs<*6%mfA2w0Z^{+jweCFV zxiCnqH8(T{GWdsIujSm(8SJ`j&c~S>n(@myb3-M+Tr@X??`KInH}wCg7T{~OPs~(i zf)eO9vghOa9{%a}U%oz)h>)`?{Eu38on?Cx$mZ0so$pP#ired+^4i>crlTEvA~LOq zzob2U!yeFUWbfWz`LXuyBNYX|TEr}TYVY2#$LHB0wVqy`a<%ptx8271@LKJ5^F5__ zcg^>d{!n{$Lwj_pcZtd2D7MNzeDFF*o4ab{9i%YZU3bDeoHqLSf#KO(tCeC^ zF1j{y6q0@qnet?n?HE5dxb^h*w5zOctlgYh)Uo!8d3gH^9&aC*$&@mam7vt%J15^F z+XUXOZ&DQeY7rlTPl~+_uh-d6bbni{p7kK@N^7$o;GK+X^;ZBdZL9x3N%f$wvB#jl zY&~%H8~CeB{dXMnrd@4qt~4dpgZZp9J@2UpeHC~}YNFck=Om_|V>cW;%6?*ZU`f@p zH%PbM+8hI59f#DuYo%MC|_U8<5AIhr%Z$o=~ z`knQvt*30;J8C@4I=1Y`q+C61`g+}b{d=yjLv-KRE&DI#>(1^m?(2$KPhU^Fj_RIt z&|F8=b35~yqkq=$^~Qc<=Dg?V#NLS6gg?Cs)k_5V*&^oPd)&>oK7uKRSI;&)iYMtOQrAuoqcx)SWEG<0nK8_KV>ryp;4`g^peTiIqu8p!(ZW7pH))2+U) zUG28)&Gjhl?XZXO=%fj|5F)UsMq z^{fTyR%Lse(GOOF*jg~3=;zy3E!elBpUC@Fwyo&L%dV%tr(Jz*Mn6gZz5%o6fJs8ZEV=4mJYUBv$a4b;x(<9(5M3A2?;!ok5=6Yg_ zz^V+%a`mhYDc5I@ace^*MQzwuo*cnh-?X*iskZIe{DwWjB9Z3O{bn+GA5@&f0$q{CFzBeY0bQ&DC5b+dtRvd&<)7tar1$evLl0 zAdXv4Z%?=Sx^|W8?ai4?J(D?~8JusnZ4XMtp?tQI%~XPsV77ptlLeUA#0i{+Zpks0 z!#^FrY$SsGY!QC~-{bMwXR%9c5lNYP)_`=Yv}@P6quISF+IxNyz-t-B$DAzSMDcjq z0{+og^n{cX#b4x?i=udpT+_xa-@qDhO1>2A$d=)0l96h@lAR4U?3oOTcrN$m!c;XE zfW1bJY2Jo~3V*sLoJs`w*&_ZNzOg3MDh3wsq!g}a-AK2tyLOcu(_fgPZk*11>b0yJ z)9kwJc~_@y6#a5e-8jcD7u5}n1=7}yC(XJ+#~JtM3X|~C;6||ZTF?Ja)AR9=fQI(?H=tv~pY8#o zh6AWA;%xXdJzk!RaCCHN8E@|+Ry}<@3s%2Uqf5P-}2zheVsbGpV zWR2a*9|2{7f7<6qh#)^(#Gk>p>GPfkbl)pDgUyE&+2rZSZbT&9s@o^+>q^Jd=6eoRI12-UL=q+H!y9tUzJkaC3P8hR4jos$s z$RGc7T{wXV^0P(!5q$Hyz_RYG05-p#UY~B=x3_shy}Wl6thsYNcTi{ zvArFiSinE+?Ygh5?_=CJU_SHsk76x==dkysdHgWDMtoxs>*>?!R%)AP zE>Hs%=hO2!bKzgwwr6$)aO423&~D3=viJ~gLr3!IPMq>(o5eD*?0Wipy0zHmPW)tl zpU>#^5$W%Jxt#0r4ej$QsEAk;)2}G_74F0br}kytbo*F|I(mLjx)s~rwQdaG+=;Ja z`1#D!e+fK4TiKGC4W@>(MR~&hjO0|;{ zX*l-@lnL6`gOpaHWKrm_wMfCMfDBROGdUPGkyPlxwd|@0Ry4E{>UxcRy@;cOM#V}INSY>GBx{z+I%B~A6`w11nma1nhNVj6!d#qav&WFIF)-xxkQt%;T zkk|5=lL>a+q!UMSemN&b+U=K%p1_^Yy#5!$S}>Z;@5lvPCw9Vt;v4of^q4r^K4kKK zGu!+O@pyhcJwD~?Z1Y`j(6T$Dhsfh`79?%E|A5cqLBEmP`*iPmb3NK==6Q9H%zFBI zx>eie9!&J~cwe8-D%R&iUzZ1K7Q^Z=~bL z`Tcz2n|})ZelVD*?%1$9$YVU;*zNs%;v1fAC%$o*_4M_$tGVtz`{rH+J%_VD_-fi% z{yx{&8#=B@cWNLt-P)BCyu98q{OWXTy1l)wkMDuTt=0_9zH%zaeBRgmIqBmAh1prz zmN&G2V?Ty}dJlcfUYsbq){KlruV?F>a(%Wr126AjT%@uBxM^GOd)u~;jlv%BzR5~< zH|{Mi7jnTU9Qy=EKn+bbcEply20kJC>;SY{QuV9_>DFa?d)?DOn(e!eVdm4mf3|H~ zwp6KRa;N0wLEnu$5BYl8Ht_cSC`G}q7EyrDaU;7rc5%t|^y_r%tG#R8(~g_5x%TV% z?6kZm^y_z3;oT;32-?uG%daa>*0IYfMZvEYft%|>-&R>>^DWA|4MsivJLSr0v)z{W zEG~MPPrLn(hJQD9v@)M|Te>g{%eiM0xt@NVa(%SukwZ4;kc7wOp zIMTpBJxg*V5#(o!n1%0fmIOW69Y|_wJ-s^Rx@B`8io8#8^CR=whw=}hSHn3Gg~<(j zwp3>`XuOeQkyQIoRJ+Zxy}l=UuU{Oqp1z)LC9^r6l&)Tv@#GzruQ$4%&u2WT{M?-} zF&Opq@8%jM`j^#4J5LGaNx+ti=1b-id;h)R-;Ldd&u6Y%y09C1GjcusI^`N=Ge(gO zx8?tlU(Y8-`BdAspp>1SgHO5XBtKo)-so+2x){aDHuv%vW<7m9<$7h)*X!o%pLBh_ zZ{PIwz9e5)%zFBI$~Da9Tw$WG&nI5FUHSUxWGP#$lpA`?iTxS==@}Kzo>}U~RCakN zE}L?LUQf?XxpKMA-3@*|bl(3`*`8)J%ct2uvEa~PaL$RZkyJ zxx(3e_hX`u&u72Yt!<|i;f&{CBq$fErAc|HbR+vXp0I>}I%4S|g8Xa|Rrnsavdk8N zyqtP^c*@nzriaV>6&I<@$HQ;2JRBPFhHk}w0T1ts^>D?hr-!Fo<6OJS-KEler=8xV zGM}@AZdM)++e9bncBYA-?W{QF9kcY zJo2u_MLhGFo4LuV5siMPT)K$IXaqLw(VNXpk5`;}dU(ne)8@Nk5*?L;)=1Yj-v^NB-5ATJjc9IU-rb*>+8oRlN^@HZmF#qOGE;#g zSQ^~hQ@syBd%L#?eC{7FSkL;9Ze_LkJ^)!AV)r<%m`8p11gj75TJoH#1u$h<$&@OM z-SVe8jY!u8H~acDqMB0mtOe;-T-UB~_ZRGi5VzL;f*CdT!>`wJe?f^|mp#dR4EZvh zOuG(b@Z=f%qp#>RTxX~6MSi(n(iQ^8c4>Qs8{%rgWMMZP;}X6fqoL!Vx2uBDW8Krk zqJr-h@iF*hV_l;*n8i@DT6o0kSU=V^S8MUc)v6yc^)0F&^BML271WQ}OmSN_ID6~# z#%!+9pF~ZyBf-fsANE?MAzAhG@wBV8?p$Z{6GiPt5&a|zcV{GEx>ov3(?$l zpktBw>^k^3`1DLBKa~rnHtd-Uia0R|?KZ5!HnxASkY2%e9rP;-ezl1A!Y7PD{aNS1 zNrFT@JwM(0>e?Q6CZ@ULKzsgtb{t&WHg?WvF_^^pcsRl;lfyUAjul4dU<<-5{=dP` zKnl-=(X%kyj2iG!tN}HPfNdO3DO=B4k#0@4xeteKtTj&)#qRT2wfb1CS^<}8qh^rC!2HUhV_SdwHmF7mP6SLX>&)%DW$8j8o{_CY; z$ByG1mgP8(V@Q^KD2@Vxy;% zCysNxy!Z0*?)$!<-+kZrec$(eKmV(`XQq3mduFSlGX80y=le8EbvFU_&aY~!tE#J0 znU=XX9uEsYz2DM6id!{IUzddXFNt3YXwlnn+GF#3!R55apFt@&JA!q=axzFEc01gF z+SUGNF_2DsteLu6CNvG;)c&-1ZQ!1d`=3Vcdt1*;2T8nf=_=N`-Pnl|Oh@+G4x(~z zn|g`++5wE*cWH6h?!37={v?dhzOm)^=+j?$-pz`joXDhBbYhl+&WNA@3NUV|_M)izV|DcU=aD%}zYr zJF##nj{3NP6wW}E`S|cVe70n0{+s&gYhm4nFNrML+*kQg4&!Mm)wOf-gS96 zff8O3q7{B2;|`qLI^D zp~YW2r%an1eHOF)F6T6V#bNqgu4uov$?u~3g|u;o-=)TnQy8E4JuGFvQ__!jdmV%y zL#FYF78v2Pj{b&hqRJMZ%UbZG-P(ftwQQ;-mc{Wjc$^0($F!(v=hO)!uPkt^)|Rh^ zXGZ1t3&^pkmA;yCvnVr#pFa*7NhG&oWf<#2&i&CZD84gCw%>fyqLMkr*_17S z>ph$roEnuhcSqj=EM|E?p2)lc_;HvXkWKCPYMu?FLdMWO&LI4zeOzI0-vjeo%Eq9? z$jj~l`K%)RvGL}`&8H#H5Xbwh#c7erobqDY7S79koTL*YlVJyvfLFq7t}I=4ApOW) zYO~Shv1QZ2QP_br^DEGD%!y+;rGgfz3_FmdMz50!^qEoh|7T`Nh3D@A(hj5iZSvam z?c)ru&B#8k@Y=X={i(Y)rjxyR)X$XmOP_0fx*FF;Gbh)?IBBrG8}+q|?fpsMy1e!O z>NtS|fqmwiW_w$vtz&L}DWaE=_EXg8sk!Sj>TX%yjP*<9txN8H8u}d9}buQM% zUXxC$zH3Zb!@T-!urp4KpoR?FMvd;0Vf*pBHimJ$hsP;-%{D2+Hk+#EG?8-`4V=1~ z7AFnoMGB0?%0aW>3ya&Oa^uG&$IIhU9}2RJM^~a`5N!^zN`=>4-zUE!&0k{KoiDhy zO?~NjC(ps1F@}?VV(fI@%r6ghOO>VKLjOl==wIIOTdUt|(7%$k;77al3AkUglfAs5 zhlNnj8v>FK;bfl{A?=(vY3!}o1OLM;U(2JKkK!)T~_=bgKtl*AP5%iUeC3CH&rUP_0*RW^uwyETB%YsFM`^E#hC zdw$g^V(jv?xt6>GifooWeN-~eU1B^RLYkidH*gxS#!)&=;>r1Fa>Hw~u|g7FitKmG z261n`kNZnH1&5NUg>WaYvqGTJX$E|FvMiSM7YDfCjN~X--`If z67lcPh_6grEB|JGC$f`~^^+l{i4Ub>aU0$e&K+|fFj)87DyPLXE8@MhfF)I=JH^_? z$v82l8CIV{KUHL*BO2l6V!`|nGJa(|obJZw$J0@|J|2wHtA2A%%TlpSTl2Ei^>Wfq zi+pwh?QFEa-$r}yXwu$mq+RxM(oTzXhKd$ai`VIP7r*(liuQBSW;_J7?zNpxs%TNX z&g7IWkZT>Bd=sOYU30&G$T?JNQ5U}VD|~|@KWcp2l(^uVUw?WE61*H&y?XRVx6)8d=m<7O4+aQc<9NnFm1xGAWvIUQWE;BU3W zw`5E!Kl!6s3x2d)pN2a|hGrj*K5G!C3=pHDiy=mYPqAX(6q+61-Al3)hh>+&4%ZZA zK*WaLGmWP*N`!yGXAMt{5mlyL_MTfiIaw#hLr@?t9FO9)(e^mm zjk3dSz2=>o1%OCbre3mb>iQX}KS7L)20yyc+8i2wBB&QdR&cK;2FAVL6-SL4sV%N@ z+Ir3+y!I+zitOd2of;!GZTjG6R5~74Y*c$DF=_W&x07m$q6t@Gxt!f)>*J)H7#lrp zQho;%T*zetMrEX5% ziP6!pN)^wK!-mLM>MX%4sVo>5ujIJGx_JEO z2cyC6bk}$0?-Lq9_r2S8{g-sSKK)XHfc73R#&BwTS}Zk4fPA!d+TKM1Mpg-kZXan0 zkkfCL0BsDX1kmEG-Q#AqOn3*VcfcG72z3>^Tb2OWw6t|YcUbyt=RaV)1I}eF_|a~C z7Vc#`zdHRIA+QePlml9XwiE1r@jUC^1TN93p^}5g*Um+w>(l5urq=k(znk5!rd@W` z3zMhP$;mn~5_{UT`$Kd}>3o;y)D6YD&}5HHqa+%o-k%ZuW}yvqn|~>5!H;(9BXC#x zzC3jc^Ogae+|#16-B9C8Ji|I2?^5IIX^s1M2*-fM{pGzWIQk}j>-l@dH>7iKtMQeu zbvMdWw>j{wLm1g#AjW1xMnWU|E;@gp*k4Zu<7ANTpBazgpkBCqwsFWA3BrsiP2FPL zoBf>B6JxYp)6xksT4m|D#AtU+>b<6&x>s9zEOVM0Ko?z{jME~t-Q#AiS@7T}#^*pQ zQ$0A>b;jfEI7#BZTCPpJ<~^^Tq;iWd;0r6e+O5yQpOi(vo|x0OnK$+0I3)WzG?B=PRPY+NzsvvI$v zxPK%WPxpG;+mMo$?&B{wI^370Zd3V|0i4{2s4VhUS(To|HoWeF{~m_UXXSwExMF{- zi@uK(_h)a%TT|RG2qDPS_f@Q$zAsPRvYNFF;N+ebmF+B=R{kAeA?z>_;?Z)+ym?CF zK1s&O`EehS_gdGZ+~cJz{6Zx_YrBOnGv&8Dn@`(f-jw?oNk2}E!G`^@_#kUFyo>+l znj(EAo@^z9J-H{`XRF3-f2=lb3+vThPTHxlS2HdZVz0`3;}Uy)pQ0VkjZ5R(kZa&G z=_u)VDV@F`8^pccn!=~j>DiPml5$FyH=6FiOU@`W$n`-geX^^@A~ zZ93<=Zy#rP*hltpg}v@lTlo9S+!do+R-^CCTJWRY8p9n|qYCAcFTK*t$u%)z z8uqS==Oyueac2cTp}1Zj--?r$Lez-5cU6L{rft#Vl}=99LzEODt}txqaLy>{RmJ-1 zU>Gk)TRSnH1CRd>pVy*pwo7U1WpiB$gk=CH_rxe^$Zba~tMXCUE-t>8D}wv9|7bMo z4`csNSEc5*Z>T9(IIngv@;y(CjfQhS8u@my%^xrE?YAz!TYM{eq{x2mN5OX4Xvx7A zt(;U-W1wOGX_MB*r@NG`O0x$IANDg3E(@yTDB0RskJ25H+Tyd7LfwD5QJQjj>$mdQO1jBg<0ur(tU1vS>k!@-vKxw_QVXJy)D3&q;W$vQ0p8qRT& zTDp#PmwJ(xGS+b$($#TtV=%goJ~mi?`frg_&vD9jVO6JJ-jCNfh*Jh=G15>)saXbG zcICaNRtEgG+V7QLk>*jiS5dN}ZD@W|L&zbV?9(Er-Qy?buQ8Mt6Z3g>OZCBLY?r2PgWnv$$vrL3+FdZU|MLLBter}FeEu-= z2WsN|rv$uk!<~1F@bAYQ2)rsh8?mS7?Bj}+?tSnxsM`NRiF>ow5dM37=KpOt0k~9# z`?_op_jc>^@Tt84>dPn%cK5E426D;+EfyPA!}5_<&9C(e|Cv0lJw<)J=Xdh?16K>ka6*Azm z2jrY416uhZuipdInyQ%{q)prE1Ty;hh@U@Ai_`}HPqWr{@&A0EM*K>=9ZiSnk*cDd zQD2_ARo~l&aI#N~=Z099fL|*87nf=In9ly$^}^Kg+3I(Qb)i#pC7*UFs+$W%sgsj+ zT3k2yI-B+U9CTAxyK5Tj`9{vi_xezfMpo$XnR!QFr#XF_yQgLprxeg4zMXJxLZila z@pV3Gkpi*F8-9b&65wd#=WOHDo7gYg72h%fo2m z`3X7H+8w#aUQD^dx%Op<9!|oEk=%K6r+26=tO$3}>#Iok1=!==UmxtnGOPZjux|=2 zJiL?-|BP%9_jc=J@QJQ@+tkb6oB9!)ua57mgOhJ!Ts7?e7J%1T=q|gzmkPeIAerB~8~vziQ>oBuM4}XDnr7@aM_PzWe)o3#!4dyc;F^%j4ZW zaJ3}pW&j(-XA6ZIK@~jPre8A0n@4d<0WE?W@(3i?6=^w;6ui4h3VKId3VI|dkfS)I zfEZB?7LE{uIw^3maK1-KK{QFlfi8YiPquLK>6R^=QY$Cb#3?mPs)h3~QoT051W93dtVJ>&YRTS@ zjW;iDJ`Ght{H8sxtE%kzC&l+HZ|&C4z#lN8I`eBN>3Z5|PU)aUTDu{~Ks?xr6cy6p zl4J1QLOQ@7ne2+4QJO$_ZTrtj^tBc4nXCmrRE~j77nE}h>PK*rPm8#QlX2ujtRvqg z$KYK^zD%mo92qcCJe0NIN4xb5+|lNdFpDXdZ2W3FC*8E@YIngrp*7S!P;_J72-V78M7mc8$?mNv ziO-I14wCT*j|;gHC4*>lh^|bpX~z{0UW)chvO(P2tsjF=q`m1YDBCr&M>0x8mlluh zE|_&)gG4BaK#w+6BDymq;_U6KUQ0wCu~HIor6dtwnk^CV6_j%;8)Tvw%PAGKC~lAn z`C#j;eiy0e%#?~=kcyszRAgg0rGgj*4%U+pi#n-rv7S!NkcuAsCZ8k04Av9m@N~2+ z{DwD0Hj+~!Xc6H~*R-C(YFSxN7!#sePbZ~B4C5=&aL`|g(#UTKpjO4lLwSlRm%T!k zE>6ZnycgAZMVlLuv6|Y0h42404ve438J7udUTb)iZM@WKAYUI~YrC}zcey?u#v-Au zqRsVIPO53~-k`bhDH-$^RJ&;Ig`Db*opB=ekovvOb_ z@#6;Ley>^&#CSO|t;9HcHd>b$pA8l`n;xIf8DAd{Mv#zPKMFmUfjPFjjqRjbAGQh<+Ro2O4cGJ_!IDvuQrXTn_iWgA&l&Ii1F9s zX7#3U4v%8rrJ~1o7VN9+$}{^i>qJr_Pl|ZCAm^2Em**bg|LcExD2;EYVvJlLA8S1X z1unrIDK30lK+7gpKa#JBU*Th|$&)rv4AP_euud3eTVFMSo{51GuYj7^j2r z=)yQ1Y-3#;_%jx172Nu4^W=U;<$0{jLm0vagxascaM;Wm%PASeh-)~dO=!Q0kG}9y zy1X5}BbSUb(WrlG&`)DdYlvi_a2)`51U9iFiylh`Tza4c`v7=`SsuEJa$I zMsZ33G0M7Vu7B?U60Z`oyX$58`x=|R7XEuD^dFUzN$!F9Qr`~`=2B49x|?94rq}f2 z?i;)m{e^;n)^=+j?)ln4o3^363f685IOQ6|i!M&aiILn8%|gU$8F%ql-j9r*y$L&NukOU7sM+tt8V%w*G=OfMj1Foi|BSvnbE8il-?|Fkv4E{ZN*=uFKrH}!?dB>V?cqxC)eX>E^ z+pQQr(O)A_F4as>Eu19N;|1$`1U5=O1_wSYs;@)n37(OfdKA(Eowo&T7)X%ByX%W;w zy?lTi)PK93dQ|paYx{#!-Bb;y3B!73(OQ zZiR2Xm6K{(Y&2xUH0$y?=%#uUzYVEg*&ju_gDtE|@#J`<@0ajepFbeKCe4bmXNA>I zzl8maVVrV6ji81c0er-D+TA6B`bHrK!{N#xfwLIK$-d_qk<=W46@AKO+>IVi!fEl- zPB#$FMfkT?2?u-KXWz_02rt{|I{WMv`bk=JG@K+NU($6t+-0x#8wBC;b~GKP+Or+t z4nLnspOasaX2+b#TJS@iB(h?gdReE}j$qX7CyCM2(`H`49l&5#Ucgb=#f18eYQ=wx zMn3G?+=XMNwg=b!t~y5b#$?oM(=Ko3sO#q>o*HQl#G}Tl)AcUIzuro`-!;e%OnhbA zhCw|4evOmF80(^$TM%@-$}Mmq{vITLd731U0r^r{rJ{9*mx?pJOE!pmyY&J1#5j{N z?UGev@8#6*#K>x(T|74q{r)-|?LEKk_=D13UbR+f=U=(fBC28KDpge-?JoH zCup(Ou+vE>q^cwoI^1Q&`VBhaP#(Cbm;%4TXI)O+@sZgrm-VTa?ez?JV*sOOKS7JM zcIQnme5j(QyznmT)z@g;Z)_!TJUTPo-j0)v!LyJP>^J-ON%f%FF{@dNoY|+~L$hP5 z)3@Po9m6RBw8(2W)D0F-vSI@jntu*@mof`q3=}te4T7()kpNt?`hG$VwQg{x{dKzK z^k>O{Hi}aUsL@!nn(7^R>LKGsGJlVQ6uerKf{W91Z<;Qz<4^I~_Cfm(FSU*>6a=)Y zy1^O!`Lt~-*-{@T>BLBE*UYpD)$^3a<8ngO*J-57S{;5 zK#jSY=eY)-qw>VKtX028Cp=At@+8;9YklsxR$W%pwxV9?=H#6gYYjDmh51s|{DmXg zrQ*_EI`80J_j!$q`EhtDucN(2aBi)y+gvfrvXztS5I@DIGRsc+pd3&gS5Q3%KVvBy zgFjDR_W0>Bjp`ocyWfoUFrwd-JH}7V>D#EU8O13D#Q15bMkBzkNJ}9FE;+z$DFwR_ zIE|AF(QbT1>Mh}!+QpPBv{!pL2`9!)!})rRgk$WGs^?!;CH(B|BXhE_PB~1wVyY|7 z^FB_}i80hbIveRNlk^_`aG&jUdM=DkbGhhySqj+ey)O`>r@^DnM*3HdVKEBr6@K>i z0xET%NvC_%b{>9^q# z&)R#jE-?`A^TRv^^-1mbHl2dnw~sq15QbZR3hKx{uJ9ec2F6l7EB`yE`g}CG0e{bD zs$ZLZQ7SI<_N)az+AW-4uCZ~t2Gm6(C)3ner@5~*Fs&>R7ft=Ya;6~w2&H?yW*WVu zcqyjqc39+7FP+RJfTyfZ}cda?t?P7z7=~g2= zyQ-B_UsL0kroIj*NcII3>1DW_FOubuwV!hE61XAI($0a^?*$N--V{HJ;u zKt+FqWdKzCY#GP~G0MO^HR5TW-5a7q%G>A?9r};QE~UdK<79k3-h~Q9UNiqXsTwp- z<2$n!Da~;3LF-y+x+>;rHgj@KjC!6jxlX~|HY<{U4#wbxABP#qzoPx#rbzx%_Hl(9 zIFIB%Z68-e@?Q<}Tgt}ZeC1`|3-=$8>&Hj8;Lr=NnZ}$myi~;Vt+GMf+pPh7BGYoJ znwO>0#z`|V(i!~a;u%R`%}A$}L&Ffp2$E$;3{Ae8YW54(2lla*(_)<6c{5-3qwtcRWo5rtvrZ4w%HGy~ZLqLGR*ZJj6Z`-U_>hexJ1; z!o_m=SH~{Jlj&}Jc?U9V`+j@GalMU~@}yYmWa-n@(AK^L(aK3RE%q69AIqm#p}(+N zT)Zj&5~+rI{PDSHlAcYHapE`Gq}|8WDVOLjeHrY8(;}OlMYEn~$RSt06c@t(1rk0U z-i*(U;qdbqt6+I;n~-Xz7*p0)p4G2|dH>J+>C?2>WmtVS>v5OW=ReOWUy0$ciF4zq zKUq!2yDP(?-};=k`jkW)Q#YZn8Nz160QoV@YmTeF4^V(%wRw6_tw|E*7Bt6 z@=VJYP>X46d5R7FoWxUOprN7)B40fS`YQ3G?EQMLZD@Hf(3fSbqwy%GQdIicd-fcZ;F;v*n&Qi zqU9vE;BPHj#Ht(r4fwO<-^Wjsa+JtciJ18r_Jed*`4~&}eJlZ>>$LX=t0a&baxd@cLXpf74>2okcU_@D4osS+US3 zBpyQI4>K0Jsr}xjSm@9`PG~a3JI^@0X&+a374LzuOW7D97UE{lIQ&OB?JM!k!4{Y( z$UKbq*+zL|HfiNEUsPWM%*@0foJ`{R7( zoVH6sino|<$+;r<)|xr>I586130&h#Sehkf4vP!de_!XiceJ?9wlNQO_pX5nQ*fO% zb8=0Le}+B#!nUmA+Qpah_jIn|r~0g~?-t*R?kBY7trP&;)wOJ8q*Vxr0}ZHYOFAyvyUrQnD@cYpsq0gE>OJ-8zip8 zTbQuXKYM#C-oxX@^W!?#r?G!{H|E#}LHGH2N#+6n=@si7i2;^Vo@$K>ScoY#Krm3i`00nxqi3< zfXrGygm^8=(hDz0iIVrfk;w$43$F|kv80CF1ix3%#5{Ra`1-V~=8@6Isr`x3+HfMe zz_d>LqgRk>5&iX?^c-`~BUl)z#!Fd13$j7n+pQ^lW)@H(*;ft5i!Vd;a1u_7&vxfe z&&lhlSDkyA%;*cgAZ7ErR5Sf+Rl=bL!Dtd~rEwov_gklJdZ_jc=3@L8o@ zn|{^MFC?NmhEoD)k=!5w@JMV&XlF{xC2YaE>|xaLU1I$Agz4FQ0Ur0P73+>fLPV4fGvbwK zzqcvF7eg^&o*3QhYp_G(K9L*^mw0LkQ)MFA)wjxD^bhzmMzhp>< z-;zM9$5fGo2JG4Mkh`>4Zzt@iYGm9c@BS|qj9B>xHCh`odhqGhSu*IupmP7`bMDViVQ=?K&&DTa^a!0^_Z8@F z&DjGv<$)Nf4cYuC4z=>&vPf7cZVUiwT&+7y`2Ri+r};iPlTgS5WfO%pS-o55&mqanoxbaud`l zb`BV(TJwLpBoC|OWCMXvwrJ+;*KqaxG{b0ph;bA)Qsbl1X_f)d)!>t z21!to;F6>8r^3Ozlxl!@LI2~*cwj$ic?lt`n$gfG$|JEJ5l5OksO%bRc z#wiE1C~nBrY?cETJLr!Wa?sn`8)o!FrQZ~aso`(&`7LmtAqUoMWhn>d^mVs>;}}i} zphb4OA(Kr!+qyS_OD5YNvrE7h>`O}a^Mp3fC4rd9W}&?NHR#6)X6uKN+}K8QN(U|e z8?t<);;WMmmn@$@3evGPj0U?`21z=N@?&GYelHNSe9URr>W34`m&czZAe|LBUWVDGafG$$2;wj!{uhpkgD1qd2OaFS1q0EbiB8p(Ib zSpLI;d|-Yno=jc>XM+=WpGW=DluHo+Yab`&w0LkhZBr_*I%~$|+@3!qD94h)8{p@G zurT~+pY=L%UslxDrd(m%=;0)s7UAu5%(xcTw4AjsYh5BC^12RlU)Gb_?`_(brPmGB z#+}Sw#>L4GHFZ9VohL5UX8&M8ID~UOr~9?p7p1)TZ_mFvF*B?t2VQ(h_u1PPu=7Sv zrfIR-&MC7x4pyd|#q>Fit;1yciuQXoR*mYKPua&AOxINFESP>ZJUgnd{>uf^erxM* z%IH-*=aE|MXt%Dzz2MnGvut8y`4lbU+6iZ6iYF)0FZS0KEW7wq{(xY)*b2S86OFFN z6ThnfV!Qz_#r3;ogSfX_ABIoCwK46b6AP_t*RrzrQNO02lXzmJHTYD-v#TTC#i#Q7 zt;C6Wv<5Q_p4O3q_(P`qo7{N(CEwK0!WIxt@%V z%1J#@Kc8;JeknI|a!revhSLS5x~kLY_dqw*9{;^M*B7TLq>OoA*^GF)V8M4bZ9C>Gj!xDppb%W6sHu>Vx-;UX109TGorHPU8LZ5 znNrY8(`2v-r4dlne3pW@2wkDCW*^O31w;#)m)EXRe9)UioxOD!bgs zsjG=`(@<-*QCGWU4E&a3m!iQWUX2FB)o22BX|kimedn82Yt=e+eG^8*08Z|San-Jw z=ZNPK%*u1TES(WT2OeggYt&xg1sM7@}@uG5k8N(U$3v{-5_Ho8~^`?DXv0ioA z%k=AXc__+d_$>pZ+Atd0#k8&9mwP#Br^ZPG?Wq1G^ycc-h4x>o)4sgFHH@X@zp<-dxIsTGJ9QU|J4QUSpKNcV_thF-z0Q_?tOnaYr&6p z>qBtACM+4?xioDPce9(5_i}`_j`!|@$@}y0VxMKX>s43|({it=>S9>#x9t|WVYxqN zA6HoJE-TqzRpPz3y*(HW(*4Kx`cWF6ANRfY=a9|<(b+e@0=p2@jN_Dsa@@668s^QK zN#PU(rTx*erTTS#WhM=AB0M>xt#~zwpP9xZFnD~n?(aoK57*bge>jg;Yen4Ut=;+r z{2_Y-Sf*ZaYOdD};bgxYldWSvoNFwfpnM^it6G;_n_pqDzdW9zYaf1v&+LzjZ5{W)m*332iv{${CHJz@DV%pOo+evy=>!nJ`KSBx>%W4E2{dCM zr#zISyS4Ig(mWaP3!oHdtq62q`C+aIYJBg;iU3#fcvbYfu_E|k`?z97@F4sQstxq> zQXbaEmtYA1`+w48Jk%mvkBv9wA%Xbs^7*~+T{r=_luh)M_T{Hc1@>{Zx z=P25~COM8%63WrwdPy)nsG$~!dJni{!~N1GNdSrR`CUM&1=1i1m34z%48$Nt8CWRC zh=UA(FF(59STlTZ#+t!J27ZZ@fz|17n5nt7-ROFJA=-_-uLnq%0qgXuYlDVCoH9U* z9EX}v!XT=yuM3OFMFxIxy$tm5w;YZ4fDLcGq=I-^Gz{XD0a`RUoT}3-11|d(e^$!C z%6PI8-yCcSWt!~}xLijJL z5RR(-h!GCzyf~{tsPlsGtcR0uVjMW^Jr{^`5dJe6;qhL&vvF=PNj)c=wD(+cTuiwV z_gyJ>aPm!y_l8}$%^KWgSME46mnF!>wC$W%x;c5L z#b3i&fX%$SoCWxk$JVFGb;wZI^}BWm=`6rvs>-8YZsKH_7ESGR%oq}8u+Pf5S(nOA z_}mUN=jIpkS*>3JmWNQ|=w>`ZbK7g3jjL(Al+Ps3!N=BiYXJ9aYP!nQuC#FyO^b>K zKM6h|BipR-hP(Jle&X2rWO6kc-q;vLdy}29@2g0XC$KVQEf>bx!$|mXTFkT4HFtrB z8htA6e>c!i&4Br0PWbsKxe+Iq57TocM-x*3V=u_|a~C4DMytwW-%2 zUmd|oJ}r_NPWzJ&v5x#X=%#A-AFGld-?%(J6JH;UM&MWRn|{(cXC+O)5tpW~+3dQ~ zw~gYI0&27~*f=N$byDDB<9xxCf+J?*Ak(!9KkMRToEYy6=a?blwT#~beN;{V`7+~| z;#-4JAO612aUs$ag_=e4QVsQ2m! zPV$M-(crCVB;Uo7`COTNDC-e>t>N9hH8|xO{a$o&GER($21}-qaTiPGg)-yINenx< z;in%hOGZw+MyYF^oU9Wgra_-KvhJeKKZ~r36ebm5@|kn0J}*sK+gnuqHe?qk5{r&w8Acv1priIa$E?R@iH1%+sQ&onW6g^6p}vKaadGM|`e$O7AI`j^6P$x!2@X5HXmsUOTz|KXhW6AKsO+bQh2@SAjetKp?ce@Hfn zd%N`veCDKQQ#Kga+c|YPF+$ogD?*0sbVawzj=4{j>GoQOlXlEyI$RQ512((XrbR*ToT!%Ni_9jLinZNqjll^F7LmkuSWIy^R&S z^Q+z3g+GG5T})T2z+$v=>TF_M^R%h6?|=fEwG;FSspN#NJItM+zmQK-{TNcc9j9A6 zR|ZKsjfS$;zSnvitLWjS=zh0s5chWL!|;i8o72|ag!TQL#D^#+K9q{}aZ)@exZMT+ zJq(?RCb_MadG3sh75>p<>*HH-0^4UU;ZaLRqux+u%9@!{{w|p9l*QA;DCeSSrv#0z z>=c)%&qpNRGV@3w?zKk8bEWW78oeVM#J$~u<6%LgBg&;|Yw3sfK0Zypc$ygB3^`fi znN>7?@i<*_vYyLGAI4FVgYNTsla`YuNY6a2am`TWSt_SG#$BpBe;62_ zq>zO-jr&k~Xm1$fZs?6PN~aV2Ek5&3s&rmIecf2E{f@Zv5*JSsqn#adS7`9OD2v7= z9(3o}I_!$X;{N^h0r*~gW}fC#)Tg_&a568USo#`dJEwLhMmiVGI$R-+ugG?>U_K`Q` zPReP~&rrdI&r<)uvGpjK#JxS4Uk+CKRyh0}cT>A&y--t+5+Knk{QWM^^pM*a2a z=5R3CiIcVdYBJtkjdlmaeKh6aFZgWf%x4o;9?8x8D-bjLdANf_kiLqNbU6GC&i6%# zyyD}lcx;R~RLwcsh4<1WWBvWPq-2r-XW0q4@L4Kokyj}de0kb>PK_kq*3U@%A}tmh>K_TtE$&8V(S-NL-_wD0cHDN5Z{};wOgNqKjgN*TJVVFPxj)QB?I}_B*$?| z0xg2u3HdnUVb)0kMscW;aO>E`X$qeGm3VV{eIrevoUix$^+2jSbYh$~ zkj_T>O_TH<{&1h|`-73*Yam_ragt7r+nPI6?|_1v<>fpoS@SMBeR}NTUOc)Q4bo_H z7+)Uj#)ci zI_7SukZGp!aa{KJO$6(gcc79fhHSmITwaS4fJ?1X-!2=(z1_M2pVts$Io*mL*Bd$Y zH!UI?&JB}~s!o5qx*Q6|Yqs!U6&nU*dW}9?2ZvpVq ze4ZFwZsKH_7$pr=VuTn-q+i_r)IG^^yc_N9jFZ^=btS1vi~zWpa>W+esB|#$-KE7u zLlvZEd&Fh`^|;J;4}Y@H9zu7%tLw;uZ~ir8mlpZ#ggP;e`rBmPIXp^OSa-}M)lw(tRpdZYqA$@fpOxq z<|frnmvmRAU0zMDC$?@*-ifiyz&ji7Lo4ro?^`-B@4aT;Wj819w1{SR-t?e+6qMbp zh~|5xLOgU2%C`1;9c_Hl*>#&FnumAHv7|p{`1o`zU{rg zg&g;h)2$$`H*zu^VwnhQg;hhNk7j6e7p4b_=^p-WpDlGarmOxH!Sq+bw?d6&npR4v zm!abGF22JZ!SrL}&5N5)$6NlNdqMUcswr3Wb+v<2XA|R?A@+mnwW`|-E8Kt(*Z z*W2!VS9N#6_g6uGQ)8QEb%3D1mHtK_@ls~D2tg1x`+m4>!T0K57@v>!_T)|opY0NI zE{Zl<7f7LKV^}0LKjAX5MrFJR*=zb=G5K9C}+qc6c$IF?smx|+$y;CTW6E=2$5-v zJtCVpStdp>gHOAWWf%Y7reOK(&3NR$pM>oHlhdsbtv7NqO^Z^7{W${ZTHD%%=}0jR zR<++c+KuU|MJ<^AD%jG**yEyUOW%PP@T|!D6Y?c3SUAkR3x|CIm&;z_r;c6R-j0*< z@mrp=P1|2-Ok3C6HJzOLn;Mfe<2Pa5c(8TjwPP1Ao;jPHV-fqUztJazm&z=$<;H5$ z)oMaiTREvFMkP<19>0(~rKonP^7g)C7slyed;jsZbJ6Jf6pG(2@4z2`Z@&qDGfn_5 zMfj5Ve|c-SJ_3KZW}muN(za;;C-)&*iO;3t1u-&AI8Rdi!HoO! zHHA;m=cOr^6uG5`k?>QrSY>y?tatJ}VeQ%f|7q=6lhbGHo5wW;Ub8g#bM|pXzR7*? zGnTS3;s=VGJs$r9$1cQhuG}<9z)QF?NFb+bob0cTle4$u^(fuJWLTdy`rEQEKoP&L zz7m+(=i&dZ&G-tG*-jbADG#)`W{?N@NGo!4AbEIlhCKA(R~>PA&`KLN%L99z!&Ag~ z=%Tr@y#sIr-=vfi7vJRfA3HxCrh_y4X?%Hnbg0%K+|*!b`mq-X$Bvz1{i% zd|tCmTMPTw_Ht@}V#M^6c^YG=BBbnnlzOT)^aRqrGPsE#_)PdW-~`}OgwKipm$!Cn z3;uwF!&J5PtKPuLF)>OS&RG$Ur_PFT*{gr`*!l6z7*jj04$>Vc!f-u_ClkN->XS|u zvQArD!8Y`B5>Jew2IAR>zhWic@7?+bCcZa=_^h9kcw!_qWGXfi?~*b`K7()%!5F2TC$=JPA(0*2wR`J=dLdy8c zIfm)#&Xr7;7p;s`pQOc2Lyb=Xbv3?P#ED#}evd}A@4DNOYCREMvCf}~ev%gb?1VLC zqpo&YQ?3_O`|UY#T2pGZ4Rf5?>lvOTMlL&M?pDY&SFs$I9m*Gh<^FUSpIEpM--Zov zKHD9n9m=KY>V6XKTM*5hmIpCL8SLps9qq#Pg%a0($0>=HhXUA+H9OVBh-KHzLkyX= zN?W^R+MX|{UL7P8|Mx4S_Y*G_fqzIghNgUGhx6?-*2ZyE2GxUEIcGlhtIr+uPgo+a@8^ z$hS>f54u~v71_23u72A|iKw8)JP zw4C3MEK@FfI0>i5Ce7Uq z!AGbFcd^SKEfemw9;dB1b%yH<7IsVJ1T8+8e!< z{I=Jr>r+GcXJF6IJ2mDRs%s(eb-cUSGiQ&T8*kmX6i>#}WGnWYb5d+bpRU@bZ?tl1 zacacVv}J;ouB>#IT&op9H98p2-bP9B+1o;@`HB3>>1xZ*Y9lAp#CT`Ov_kx9HML8o z)pEhK-#n8tt#Wj=1!uX5lVxIbGwf$*WZA_leg;{FL&2ZeNa4O3N9i;H9)}j4wpHP!i?b^4f~uq?5ej$g)0V71Fo%a1u_8 za)xsw8VPr?x0fX0kB^36hkCBZsrGg>l+!IOB1?^&OcP_7!QO6U+Qr`fUdi+ZRPyxN zE}`1n(GaIvp}A<{WSJVZ4E_*=xz5YyqMzTLvAmNEMn^|KZ;0tu3=gf5k?93mys{HA zWE=Ifi|6`#B-5AT-Vm$~zb$IgZXIDaXVa}L8i%E3POga&$Y6Iga_wSwJS@3}r+wpy z*c~|4irrB(ak5N}E(W`U%kKDY$?~Jos6X`Gzeise%IQ{!)*3mPCdL+nerD6p?~+Wf zCh<{O7vfYaG#5>rEE8jj9kY6Ih?5^IPJTLLc^F-vpn&)sC&#^`c&Qw}x5@@_Z?^{U zc}>{Rt2o^%&_x?3(ZtANI9E+PqdHHA%eiWc8PSmXae08@7R-vkKf!PCnQqd#YLaea z>J<-2{*9>bhI?P-0x`xIYCJS@@8S*VO78KPOsIwFH|x|qzG#?Dx1!7SR!(hBjVlKG z1hKBu<}QBgj-)#C@cB(O-98c1ttf5P#z{0Wsu*%X8uheG)sj;{bkvte1D=T{vF|mD ziMb%9DK8!Gq?z)tk}9RZ)d#dW2F2zHToF#&ES))vrJsgUtdZIenXC)LE* zJ2P`w^) z-GIHn{d0rOBuY@f`K-U+h+h_5N`EiP261n<-VdKbe^;hmhTPW4$vQPQY1%2l_pR&{ zm$l__!MZG{hbZ{WIB{(m_2qQSXlrepL=z*E!3QYxkW}`?+n_KpU2KwhL3F0IVPWYr z(L^6$l)t2|>OR0qD<{>&7-iSAw8MH*>1h{_$#>~g<6_ctUHy6?@47uQpS8%DVIWr6 zBbgxMg7Nr*zL>0baPm!zSO&huGpp0uE_^>!=DQ~;koNt{#cz2f++QL7g#WMq>7f(~ z)r%gvsy)_vs2`5?BYqW{Ba!?j0?S-Lq@#teKN*YTVP* z*dgwzxV{_o6V>j10JvUTfqH>OAw9p@enY0C)jG6T-V3dL3+~sdQ`S?(E8hltuJ}AL z_8CrF5Koe0ZF&E(?>n*Zo@t!yUmYhm2BYg6af%hYeYQ?Wr!Cl~tws6kyE%0_F%}x~ zYa4k-Ym}wT#VTljI9{`HzT zz2RTSwFO@Cqwoh7FW@|v{5ku$!oPkW{0u7V_aW;TI~qhoC@i_2jJM*+WObZeom`F5 ztsVUL_{@D?T|(J27jR11)oy(b{&cPRD^T7wH>FwG*;p8Yy?likYiY4nNsv9Z$-NsZd_e zI5*+l)3j)4ciyyWJ_<^0mR0j!%^EmNt7cpKy-hph_Uz*ftL9nzxI&M+)E9blMtEk< zoR4?M$^P1Cd+a&sb3zB`KJ_zM3x2d)AA>tuGoZ7LsT;)CjNr3ix~FN8(QrPje27v2 z3cJ4`-{pMRZ!eR-whLQCv6K{^Y65{$ul4->@@vxeh(4CJ;74{oY>EEz^y?(RHi}aU zXmQja1@d8XNWq&Lq@X8Q@ptFOiTlNiE>`~=Gv4J^c|;wc$8=%O zHU6CZiZr{Y*6KH=u7zeL_BA6o$)`nV1NnU9e`|^S+}@Yluzl9{&g5%TuOZ(U!AU+X zRvXCYBmWIGL0l3ojL|eYb27_jc>U@R|8Hr5#gDyN3BnKPU0T=xiWf zJUc1Crf<`Q_}5#B?|JRhJTUQfT0STKtDxhFk=j5!8}aw##7BF3aX){7`(3Hmh4}Kc zO&xFRXVmeFw8(9+Y6S4rytN{J<)Y(XXC?mV==c)R79DTv=OjKvY?0-PwPNHdd{A4D zXt@ss@u=gLvN2LN@NTbgaCb)hN_=y$6|W?Nn{lEv{gH{-TBmPBY#T;#N z55A`(_%6u#ZhjY3MsZ33EvDP)hMnb2?*f;-DBp-uaCS7^&GK|(C~@X9`J|oY)hU;i ze(BqgU7U=E=&glaL(_BS>3>6oaT(OXT~~gyK8If#d-m)4If*AmZ-YG}G*(42 z3gTVtnXfO1&$gsY{ElNe*)zqIOIgSQ^l}#`vG0*FP-OWQ|hh~RM@3yo9k0cHz)73_-tp< zJYga5t}6W911v8|qees99-n=c;C**5)vBN2U-H=(L#+#Pwmj`pB^+BHC+V~pY^Q7b z-9s%)MY>B}kXIgCn_L~=>YU6xj=oclQjVAM!dNO0m#3^u7fU-Q-L%+hsCpxxVBPxD zh3>Dd(7gaZ+Gib(-X^>h-8iHCYPY8F$7^MZ7c_Il+QUhBh@0ZGsE}*;6lZ0U&B4#0 zS}L!|34df7Ptxql`)0WoeGYWShBRHfxW ze#V!B6kLH~mi-IoHm=0U1owaYtmjF#x-sRFrmuV*?2*$hEpi&N0|ewOlz&Z5xmI}I zXUa*Q#*A_`Wwju+cX4WRVvIDL^3=fKbJAITIp6xUP0Wp6PTHw4QPY1Oyov|&Dz(*%x!iYM_X^;)~%i+IDOVx%jwLEPJ|PrxT|Uo&;xm}wfq$v!P= z+UbV%DL%qF``yK&`M-+&wb5haP5ik&TQtP=X$G{Iaw%A3c5w1djE9Dtbi}ZhZov-e*@zeu-ZGGVcFkE z6F8(8f4I+joOEKVIqi}zuYM=&k^c@cDjMvSM%G>ImH&mT!R=xBFNUQfO1+{<1ep7k9tPQ(5p@l~{3bou{8zRzu}#M_X)c*Jyh zW!hRP0P{PMot&%_W22`{)`QuHQPHR0+U7bzQaF zz8cZbNc|~d#5Al(8!Z@@73qHm>Q~~;>GkVz@>1|J5?7>^DeHc9TNfwe)HtcB*+bTg z((Epb|2Jg(%<{%L$O|~LpT=0y$mi84ako)<%DU6V(!)tOF;*Hf0UEWq%R2PGRtU!* z>@(rSOaPr@-BvN$Iq9ZFL^~n(ype8~-1Gkebf1a(SHWW*ucwLEWD|4Gwdv}LyV}gj zb%=H%u$3t0NdYn3?t=dwhR#F|sE+I8<6N}%f0kTJ7de3KdsS(o_YfdfQ?Afm>EPs> z8tn|xd}O&I2M6N&KUMhd!O!*CDmeh(TKz5Y4lDR(ufBDP80qYoeBXwLJI)pT~`lw_pV93j)?0$oP-mjnZY&@Z`(S;U2Kzo zCkYpO8;_1{l1*3l1p@PWDY0=8=akJiSIE_fzCNAeQ{@eE2D2Zh-j?VmM>QwC_!%&IN7H~LA&#&?Gy47mF?rA_y1Li{qdf9xPI&XIYaNC$y)HE-TD~ZOYG}Y z*DQSvePaYC`NTMBsOln~Vx7g~Qq|>O>g2DDwvu=^hRx7kYkXQ&7sYfjZ7cERUQXJH zQPb0=p1%W+epXZ|oaur>Qa;n=U+A>24q=h&zkNeG(?zrG)wHd+SGqZQCq_}jzKcff z?y~RVpX0 zj0|yF<*S?ncB$6QKW>nL4&-F|ECUaq5W}T1CC|wQac{Ri3!l2bvVwQ#q+Us&RtoZA zoN_>o)tb4KK@OB0xV#Jg5y-(LjfTUs=X&Rt<0KtyL(Q)=UK?$X5f`83;6A~-E(fbw zi=5e~-~;5KZu+_%)HsGy0*DdY1vAs~d4e}n&p|)T9Qm4@_EY)ez`aY0@bAAZ&6{cl zCFo;$<$Ii-vyUq>E$@fn)HlID1POpbccK{B#{Ot)CmD|h&qB$h@#svHBm=Bk?XwiT zBm3^u+u(B6f*>|ogPMM%Za>IFH^07+McyZas|3H_COIP76p&MSy z04>8_$$*@){sJhN*Sa_vr^akey?+NDc!*+2_Fep&e_v-D6Eq)%T~b0L%DuEN7eDfq zaF-R@@c;EcJ(R|`A;c>#l(}QAhx$<(Wi9x|fR@b(9`GWrV{nI-0S>yqi%s}8D_X?6 z5Os9XBHnuVTZ$8t&q zF|HfV{uK`ub)L4{wy^x~hE}TO|93U1$co2#Ed{i*e+w%on{vt7lfM~CeVmlj;<(-8 z=4lyX?U+}5chWLXW_G68uYJ0&v(dQ2^Fz0 zhI7gXF(w?&bP`XtB1eUMxa98tt$O+J+9tX;lK>?XD_IMEx+UHz8&I4LJadc)52M#^2*0e_=R zc^}^EUrxRP8p!ZdOM3|*3TVKd$U#nPe|2x z=&OKD?e}UP8egC?r;soCA^m*9y|l-j27x$B$3gbJB@B5(g>HRhxFjva$AZ(oT%!hBHDM zX?L;U|7t-y<}wcB6j1kBr<3y)kmY>J6=$Z|#mP7^h8wCYG&1h83-PZMjGu|G4@M;e z#%I>bgSEze{v_)%0>kXpSmb&F=Vj^HGp7^e-VD~P8kjdwE}&81S{Ul!!|((&$P zu~zk&_Sa=>D}UrWvljelw=n5i_~?u2mJRiCGbh)y$ZY478JSJtAk(y37X`^zAcr2Z8$GwZNg5j2&8Mr`-DWc<*R-f; zr(;&S!F?68H1xWr*$z`fANKhPuL10-8u~8?t{)#^IaibxpDhnO_XjVfrQa$W#J$}b zz^BmCa=OawK&Z7gMxu`sW1XSuws=N$n%afvKQD;hnC|XI$v*s4pNU2f5nhVu2W5k} zXD5Onz1egtin`RwNi{9D**Rs#b%G_WavWVO=|3l_9z5&0?eR?+zl!KQ!x1~$t?O_X zI(h@9TE)3&;$)c`qYV3!@CnsvXqOn}pOq}fDQ>||cEv_i{MkNhYSO+Wp{YyL*4%q_ zot&%_qm;oKK^$vYcd ze$O;c_Dee4XAMrOkBUmVI&E!xQGGWj@3hEd@M8tmNMY8FZm9yT+$uu?27?{Qc||iIAC=)2(P}y^)h?YK$>3&BgQ|lT2e7-mMgVsL!iJI@5Bx6?}S1n~@1p4A;KilOGXGCM+x0eFd7+=Lp#myg*4dUKzJp-R&eRyIapK{sssI+s^ zO^hmb&1{fBx3WH5=>9_*-K&EHY8(1(Rlh!CS3!!OCW%`pfM{ zhU3j>cy*9K^u=$DOsD zPaCbAREM}C;##pPjJ0FU`76cR(Z%}s{RP$AgWI0#X_CJ>=NG11Rn(7<@KhtNb9V}|G zH|Au%N|f5WXyYTgbD9`e?3|vH*Hf=L_cD2cOwiK@)6>5vBRbzP;4{%ApS7g7*c(vz zJ}m8=WD{eIpAiFljsnAL{wj_|Ifu&@;fr3AB{$REFAB%&UWx>%js6Nwbsf>H8J|Q zXlAV50TgCsL_HyK5!4)JM$|9l%J9EEqxz9J#S)7bqTTo^N|w)bld3LAi$tHcmd0Aw z$;mn~E*V%y9IKkXSZlgi-@nady@x;h=&{~wVm<5RWSttV3_kEC)?MuH-}&M%QuX(5$oO7~@f-8Ig5H7Rw2*s*#gvVq7v*Y7p<%I;LH$?O&TS-7glCUh8X& zQ{knok%wf1xM!6bq`vNDQ?A+~rFKrbiIK=)Yl~-9N4JZu{cFl}pS=yv5}((S4z_ki zF-%#NYAA7^_iz$Uj6Vj#*$DsDRl>nta?}X#)e=w{UBU1Iby?67R)-NiTfE0FiA$smodM(Ng$*PPQdxjx;c1?3zx+d0W5#x27R z%SN(YH2E(VWJ4f&d~31-We>Je*l6kbdXu)p5=gF2yQIkNy_~cYqnLqqHrjvQM!V;0 z&x6vguRl#$U|)lFX%Wrtf*H|#9-L~kcJK6I3|{zgn7emsYDk?D{}{O41^+F=KMJF= zc*&0<*Tkqv^_+cNNB-?r3s1gX%EshvFyk+OQz5!^_&>$1?u~uZ~Kr-=j zvt**@x1WYXCSZ$Cr-++2YmjUxr%Vu|sbS}v5Q;jPz*QdgJ@HFTnSd35-*Q0P;e!3IG8$d%|6iBb0uq$68$CkQ1*Y_S71~5&0{&=0JO+#kP7)= z>#Q9YsrcEMQqc=iVSPE&NX1v-T|tfLnpwhk0Fha~q9-IqE&Mo4U(sP#dU1&Z{30b4 zYoqOPvKys?@yPG@!?#PNp=DLRJ8Qv@cI(4%SMLXX+Dj)?P0`#mGW!|d107mSw|m_5 zj(!p_o<;mqh&o*OahSwEt^M9stMGan-cdYJ6fgNvj5EBWAGD7vJVA5tGnTS3`19mt z_m2LImH0FJvUru>zd9yOx^#a_IsOjzaF{M#u>W5 zCel_A?~>2+Q-b(7nShOh>GeKG!DxH^z=|oRt8E=InmM_qMSMGfYgFX5n%sr!pDc0h zw+46ST2DCExMt5c?$DyPolq~jk!zPdtY6Z&#vkglzQ$bycq!XFx7M+>-5S7M*yd7S zFU{+rSgnmyQ`2Iu-Q%Xs9af*pH;*&xa+)GUH7Ae)#ZD&Ro-E)F1NMctF0Oh z&*GkaoUyum);_LSU1F9kRk#0mPW4K>9ZiR+((HZ{J_p|cUW)KDvO(P2t&hQHuGfvJ zm+Tm%-9Cbod}3@hkT0H}6oA6_ejxIHtU^8g1|5vt7=?v};+<`#4Fb#zswB{tmp}XGMxaUJNo^-b3}H71CjiCd?V1 zJ&@E&2bx~brd?;s=-r&W6CyUk%l+)s*A@@r> zQ1NUvk592qor7*Fx;X|go_q$zRFTNSwGe4iT;77ZKCKr0+g5<)ThT2PfaexN4}cDxMkIt~UF| zh40Ul`96CaexlFX96hmkDVt_NHi&zET8GZ}+1qu1=RKT+(_*YagUg4;LHP4!!h86W zeJ0#pgZJtH&pJ5yrbSXaAu~n*UdOjfX3VE0-&;49akIAHY@`1PFQvWhnK73K*>p=j z^>QmG)x;=isERF~ULDmgcF7NysO|`Vp3hnvV`g|MvTf&fpk0!Y-8pGzJ8Ng8`y@3g zYWh;{z@rYaBKc%pqN1M?bnhf_q$TshkMWssY8|D^m1&nTw{>!|PK=8N4~l@ALz90} zv5vk25!3ORbF%#{P!>}z2Z^KrXdRq<6XT$#&Du%9FMcq;_$L(K8*t<)mc>3hN|SvQ zAfGvZv(Ny##j=#O;77al5x5Iaq2RnU^-5T%ZU86u#K`Epxi2Yjuef)~UH^EM`?$Zn zH{FO+(C|KUe{V*)veZSwTGrZbeZsB&q48XjF!9vL9lh_;4z=idZpXJ7$VJ z44t#~ZMeijKc?7UPX=Q+?qmPVcsv2`i{I>%W1&K&m!@7y_>$n8{hZWOW1*&{6EeP( z#z&7EH3Q(ICiPxx`Zu7s!lg8Qp){bi-MR&LW#QyBmxKN#K@eS>jML(wA>Rw1qVWbe zP`=kkbjB_Ft$ns^$oXCw)aLYU=8bJzx*W$T2_bH3A-qsmxs8)ZBdBT%6_ViMfqza( zg4}-w{{Wxqck|oGDO-G#S_dcJ#JFiVnG(gImT#ARcpp}LYk9qXGfv&FA?P*kzowCQ7k|wijrV>W4cC+LRy>)2xAL~vdfm-mvsRh9W!Y*S!pQy!V!X9u z`YJ;eN40WwsS5TXoqdofpY52}3XPzzTHl_v;77Z41MX_oy4JU>SF=V=ripRYupdJ_ ztBS9(u+Lq5kRQ~TzPKKb`h(H+)nRm9QsD1CJU1WYnm%=#GB^4;si#I;&CHn)byAw# zh58RD>K{qQ)4ksI_Fx3=_oGF9Y3dg0&3;bmX|dK&MMJ3i+O?`nzSs{b>dz+0I5|J= z$G#JfQjeGNz89}SXl=Jpq?H|0Oxxm;Dfe-bPK>OE>PYw?Ye{$U%Di8Zz7kKilEEIH zF5|bwPOXk4y)xRgEt0R8JCFavx@fR@kkcM@Of=Y-hC$`Oxctz zlH=e7FWWp~oPAUxjP!*k`Y`mM)Nvhh+DOU>@2e7a?_ORbz#6Jw)c z&z*RBb-ouDs&DI5_l_3TJuB6+m6K{>M6?_7yAbO-s$Hy+TRGLM16hjKbA3(D?*h$S zOt}&XHM=+&r$s?Kf$>Jo?ZWuYD&wAO?}IQ7$MANvqhc;=jAvbpj4x25o#v`CL_5{0 z(#1NN3dWBQ@3C-rQv%f)od@y>EHC)dP?XQ)-wsJmS<64RXP_3>mN-GW}T zP4<=m#QBsfTS<)`PQr=N%}`Ufk#HC5WKs|wC2$l*3WvCPO*lEmgB%xAu9zp5K2FMM z(adf*`=ya`mrTS2Dc{(ir19?6@vY9ul|dr5P49cY-kcNPknSHmleOT7I`zmp^^#Ym zegr4^wCH9aUp~Y-4~q-=&(x9c`6_fyenpyRoKAk(pJ*eW-M6?vi*$D9P2XZT#Z;|H zT~0CG)5sr;`r}&@UF-YpLBG$Se>H2tk9O-*aK}uRjP2_5ZJOUYhEw;`BB4P7ds0bcT>IIHxeY*kfZp0kfD zQc>~UzLbs0|8A=__vNoVfd5xM0c^L-H*AdG8cgEe1Y?W%^zm=B;XmB1jb{`2c0v-h zet^Q-_zFtS`B~#QrGXe}4R!GZmldfgq`_sU#;`06B{A?>3aEAQ6y0j-HTYKsFmivK z7JUsq9)W%JZE+y(Z&bMNKRunKyD^q#_geeU$*+j${CnmM^9MrFfJYoV{|xOTB*28!!T@%6z3iu=B2 zI+n+k`fSNicUnuvOH;S_EX{sS>WNX>^|lgkUTb%^m8@<0 zc3Pyi z6Rh|~+Fh*pZACj)fb*JiH!B{eYr(r{=H!|df9(W+WFyxuR(!0uUL7R6x1uDz9BmH0 z_sYBZBTG}a88MatoZJ(mu7P_t?)y6T!+1H`+KD#?&mKAMwW-_Okr<>az8g7!lY3e; zwzFuiU+;hmV^%cw3F+n#UcAGM#%^lAw<#Jsw2w2Qu{Z7G3P1ckAQja0>z3lalxpU) z$A)^wp0wK4v@PzMN+&1l#8_)!y-~-zu)b+wy$3)22(oTVCM#HH&mxqzvUh-W45PN6 zr^Q)ACb4|991`%9Ap!DGiVLu15Pyr$TK_;2pr&s#bfg4S#&AkNh{z&!6|xQ6p7Z>@ zYo-Li8(>Ww)aWz)ZV}l`|KrPVZKYoKYyF(m(;~7V4u!H|NJnA$xWu8}XHvh6%==8d zTO2AU9;V&Ed)~`QJ2mQhYEE8Hz3SY{ULl_R9Z-zHe%x>a=9BR7Bz!7Wq=r+4LLUASyn9n!nSeI_CKIxptrZT5~b1i#i;Im zX5Y=WQPZ}CWvjiMv=d{pVJB=O?JhfEpA@vG2^`sUd4Dg4x;K84{(AAv=zh!jtVPaj z0v|%lt0`9?uXb?qO^m&UDy!m|)oJs)p_dwa{r)oFXK#C6*@;?Zb)&!-rd+XI%q~vG zi80r}I2+?nR2lF2t-}w(c(0!Etc#EFQ>SUM)=scf8X0%7Q?8a72g3bk+}%#8CH$+v zH!YGHs=*7qtMR5{)#+lVTv2>)h_lAPQ1yAm>88W8Dcf{-sf$yG6Jw>}teQq0?y{fb zamjf9(P-4iYv4ZQ+PVR`>39I@nf=x2aQITl(|wy%1)3$kp0(gdyY+dv%ZLw5-ToC+cHyNn z26D;+G2$6cwh_;?&R%!%w5$tx*cm4&$^lBiRj>6uIg_h2RODKxJnQ46oEG`)9ye{9kguq08<%{=3rP8UrtviHFOPTkhB2PSCyOGT zy)EAU{?@p@U+4ne!}wU%f*F<>$fLQq*W_^Ke?e{j-7ud6pJDEQ^thoL#jG46u$>l7k^Yv2Twa&*?4qnQ~Zr_7y zXS*CsY8t~yKQVF|EFJM=rLdU0uwCr=b4dSsGTw%=DKhKnXxQ`RDVJ%t^>I>8jGYF` z*(m=$gYu(c&zDH9q`=tvI4LK_QbYBaM#^3GUOc8#4kxjKHILyYudNtrrKFtZY})0e ztF@Dpbz)pKu+GN%n#p?aXtG{$)0A1~_tPwf7%OsCvAvBIY9a?z#}(O)E-}_eHP+Wg zsrNdanj@2;j8nGibJfAA%V{yzkV7C;ISb#9l==2vkGu12*WtkTS3!RhW2PYoOaNZd z^9R!3s~O+@=~jw4VEBWNLXHgR?|jOJgQeWTslRE_(hx^#*5591q_Y{{Tk&KvPO{<- z`&-3fsXnt#jUxf;*6ACDOT#EmDWFDEL-iMwgE}qmA_Xg&6kHuAH=riKMx0`Wb`ebV zTH{lzzhqKSoqjpPy>Squ40NfnR5PO>#8Op8flDlPxmE`Jws`K9FH0?!3g!BWtKIqp z{28+etY}+b0c8=9Lpa$dMp8o^0r3>;^uJ3a^^C^;l{lGz_uXrqPu+u>F`rGjlnZa^ z;$)l{N9~$tar_WG@L9Psmn9U!HaN^&nfGbGw<%X<$3E_>>WS=WjN{4BSP#f&>mIAN z;-zwA7G#6Cw_8*A)bzTTvays!i(c#DB%BsQ4QpBX(4;_^`7m?Py_89d9Etb2FMs6$ z{CwdByyw@FM)=0gH0_UXjn<3-AhxRy1iU#iNUDfgODoKirHu7KS_(+oh@7;5P?wa!-r2hTVQrch_-$A9Pc- z|GP`v$J=p|#C>%v4VpV%^H1IFSMYCs1y*0qVVszKs!NN^hKknB^5Ejr{2omn&JWVT z^$3&7UK%yr9etYB>09N%K8W+3K#bmoiq=91>fQ-1r*%B6$-vrpc|0BYzY?HUw9eiG zYT7m5Ihr>(ls{@pt5kgJgF3YG7*)q`(5yp)&c-LgU4 z+pQ17r{?9+PHnI%d840`cv{>xoW>*{AcuZ`mri{D;`Zg8B#!!i+xf2gy_mMmeZN-j zWu(1Bi_msL6-j}69qlevBu|%U_nUHz&f%r>`h&7T+}o{P_|)}!-%ht^<)oS#do}lP zhq#o=J8;R6U(~36G>-Osk4rgZ5M%U7Oxb3ds}4@Ssc~1+Di3@gjPGuRZ&YwT`{8j{ zBVI~#KO`H(z1?~SJ~hpa7?;k@%hshuJ15<=m}}>>nK>EOoQiIjHD^bsTU56eUKXzj ze^bV@BK+YJ;UB6HuBL6(eeJl%Lq>LiSgBW(~b$`EAn0PgHLMYXJ zthqPiT#?_HA6%Zg)yZfZ!pS}@mKyww^1;@5URW>X@Y%+3%plXJZiU_)z{x!^e%duHoZzWZ z7LJQ2@_5dDuisC=HRn6;E}oif%Ekg#Z|9_&7Ax%r`@K=CyV&pZlJ3DxIHL%Ba9Pnv zC~E*UX?)h|bo<>h_3DO@+98bWpQ1%h1N#E~R-HxT!v1&FvEMto>>DK|P4@ZES3O0G zuLkz{*nh~%K2$h3s(K%%UM>+2TS3ZiMKy#|@6%$hfqg#qzq5}0qpJ4-Y*6a@@d!5d zvmu=9(;~CsYy>{`-)Uh#FD&e{y?>wlinRO#``HK;u#4it9qnw8rZJrK6XUeu>_72r z>nwhJ^3>gc-%(3Ho_jU{+sALqpS~NgWZFn6kY7R7r#WLFr#uj&w?Q7*sIp zsLO*<$F)u#`0Ki!qD6FrbtJ@r#Uu2NT6ysMbdeWj9Rb-ht)pxV=i7i9;WZ;&A!}1b zx?Hk0-)_<`iqreNE}-ue)D^p|Ltjt5>gOb$7~2hdV;k)s7vkS$CEjmce_-Mp^}MWH zj}pO2JT2ba3HAOOiFc`K`PPhhQ2=Ur7-2qx&-xvu9WRxqSy%5**1Qr^uIw7D_AnBD zk{H!JVOlXSfWu=}y#u{s=v214u?)z+-H1LxV`Z_#96JxX`Z?5|FTLv(%n{YJPKzeu>$ z8=+>uibT6S^@`8Geh4S~wAgPrl}$d^ii{MNkxM4?eHHfcC;M#slWQs{pewG-Y6mCZ zwCHZ&n~(2%HNKD3scaHsoU+x9Q5~Fo)1tMVj(JwYZBS;jR<`R>;R)N|FjuxuYQMMX ztcJdQoUyVU*~b<7+ojUeoX)rB^~_!;#a^>l-kG)FN4tebDvA|s#&+LoqpW4koLtkQ zuAOl5w|HI>@4~ZFaD5N-QrD$#*0@&IxZk!3`ILLfcRp<^<>gLJ)~PX8(+6`09{emF z9;&gTh?Gww`F5Rk;d$|Y?MbeTld)b*+fI9>o0E51gf-;a3)Nor%M`lZWslXHG~RoA zdqZ%_W5M~gzUOhLd*xT8*)NU$mh#lCt5DkzPWFkh){tEwo@||6h==ZvxuX5vCV$LR_Hl+k=4t!5!nS!e(7Ke3k#d1| zd#1s+3fj+}Utaf{aP&dprD8|-$p&$6w;(hod@&bss->!}s)dteVpMd&T$Mf#Pj1$# zRQKE+rf0Fn6KLejpm!86`B8XQ43eL-k1I&VXGkUa4M_5Z>F#EnT-;tBk0#?`e11Hg z#Al{y3jd4$9-nnM<`3be2)`g3#J%169DJg;vEeHy<;u(&$0-f8IBEB|S$jU@$*4S; zIe5ZUY4{e4G^~yGrs>(6@hF{mEeQ_@;&n+lm$l$WyY*SPTO>i7eyJE#MG&gPIOTvE zPdz;+ucuyh?q#nKa|@NvlpNd*-w0I>Ua#a}RU8}Td2Nt42pV+uiuh^u$Y9I)y<9t?d>jdR7@fd%GU;ypNM| zVuZCDG&w%W$~vHUoGzODbydoHe%td0(d3m1H@YV0uWWOI8d){7V?rf*rO93D6W^UN z9zhw)+k;&=eBr{lAA>rF%jdN#)#DC8SEpVz)vf)Unw=J34IX!7vR<>h#F$=drQUDi zsUCNO_-5WkFDLEPh-%RBO|-k{_;1!|$7Axw$&u9Y`qXXA8~u#bFNCP7h33MMa2Iqw z3?}={8Qysp9sf;M>W`F;S421S&aLAYXi?Sfyt!5l-gjlkyX;c^#+-Ik?b)%A;{;C{ z@!yuu4z!S$VZlHxmFKIWsN{f((tvu`5%2u|{8vDof$ zGoLbOf2IBBKrpEJ2CvS^@7;_B!)Oz7&_uN+lmN8-efHwtFBOCqmwha2!H;(9GjPx1 zvXOQAhWf7`#VG}}SZ!GU%7Q-su&)A$k=(E!T!=uO z1l$9?)c3%vgap7o!JDxx+Lsmc@LB&;_k&-kOuKCO*g842JuQCQ4K?{1S$EO)uavCs z#{KodUc3<}uw8HiB3ojQEc_OqnJ2G!|G)Om1U!!9I?T;kS+W#GmZK|*BMZA)$+9fd z07%XN%0|WzAa}V2xiG;!vQfkx08OxWXQr_|JzPMxBucU_ONv&pJ?O9vrWIM?%M`&$^b2@ z8)QI;K%>9YMFzgsA_Ilv{|c13IgK(wa>E=1i@tB4x?w;HFp#n_ZlYQzN^keOSyzkC#G zz8!ll5Ulhg>>PdSYs)Lz(St2RIN7JhbOZZ%Yn#@zF6@6z6Z?I??VFdvKBV2xW4{=} z$$p6HT9`KS*FGYlZ)D%azJEo9{qN$iR9!g2D=M zhK4UJ1H6`lcMENy=eJ!iTJWtCeHpHmg{_o>%1=-&iCHcO8b@+U1ToedBtqQPrl*37 zM4Xu;5q-gpzwurMi73uhHk?AHL=+=AC4w0H4K*`cCBkK|OH`4Fex7H^4m=;celDP$ zh%c4(|9;sZuAS&(@LqW?l+&)(%q*Vd}4-*~3XVExz0Bnmf7<;dalfF1RI;5Pp-BtSJAl?~$BiJpgdq038#o7iS2dyyKoHTR>3>QQP%>k_s7zex7g zbZ3dAi|pal=Cp`w(B|!gyI3y&QxSeS8OE~!lh>5HSuW+YZI(-|laqB?WHqqP$NK*; zSwCf#%M53$y4V-o?t%=e?u>$+#lcgGgR%H_Mc3Q<&+Fs>@=KPB5!O>f=bC)fNrW} z{5K&P11Nqx9Tj;~Y4&iIP7l`8={Wb=@)3#vehVcL_H#?FHcr2CaMhe)oN_>msD=tU z?Q-CfYyV$uav(*(YZ*XYfG;Hj7iELEs`_blxW&|~&w`qis1cmx6C3Dx@ zkl!wRIzIa?srzIrQ?B}REM1(8(_*fn9)f%nH)(N~y(0gq&iIXNFrEx{^LWqu*ei9f zhz_+j{pz90t%EpafEJ4lGQcMT|FKyH`uHtA>-?7{1K{E8YCFd5GEfZSlmTjtHrP7I zXVY`QB}V%n>M{W2`^^1uY@M1vU#Gq3;$)l_rR^=7E7q_lP}%cX>y+xV{P&Xa{bYAA zEPa-^a?M6i>`tb``^@||qcVV(^4Z*w4dU8~eh}W#lfRj^`~-D-f9_CDnV>~;d&_1O z{2&ubCLVzMOqGd$H%BHA9iL?aqkZ^NGI32dh-)YM61>lmiOQDo7TFQwIHiFW?+ux1 z@`iF)LH|~hhK&qr!a{V{XZoo=&4Ow<CCw%c+L{rcU@a z?0OyVPte)pGwE-aN&R$vrJj8@QLZut~GKaR09x zxQAu#Y305@k9#?QlY45E)~tgQVpvMwyF_XKmE;~)yfLnHz4z(AMXCf%&o34&_|}Oq z9Z%}{a>{idX03yf?-go{*7WHFzK_TEzpV0oYAPCRrZbE$9X0_z>)|Av7NPC-f(A!@ z)MUB1Xz+hgB^(VFuPqjL4Q@oCX6W-ro>pkl*KXJ3J5=mY8vOOZDAfb`&r7~%ECsYtybNdP^rK z>%@5IiWx1s3k$J%`(K}ui#5T>N$!8$(Z08B|Lf2`?z|*h*6n==#@w-wD|h)}OmM9j zGyAtu!~WNQjI7IQV_Ke!-+CT*ci~If=88`G}1%k90Kv=d{a!Dbit zO#)r+3NLAY9rRLZ|3^ss!*M!ul=~bHrLIJ0)2;4gsZVR3Rl$K1-~-~_^hCNt(lW+Vq`ODYjM9gwDmvGxbBO)@9)_K zj@lYdDqGaHWfWK!t&CLnsPRnG;tuglrLFPqQf-jGk5pft4u_{~&uL}K)qtj@i<5C$ zL^JHS6N)=((%ddy#J^W(T-$Vs-{P~~P4yz`P;1k#D)!bvoH9U*dIlNblYzh6ECXoF zoMIWM88>zrco}RRVvIDLLobA&={ewH>-?R%3;_8)>wfBg5Y}MfpKreN@`nPnx zFOBacSvnrUncGhcvShFW=>hOrKI?Sqsgg6SZ9hS6Ia^3Z^GHsKpv6pk%cch>?5I{A z9G5Bse{+sR;Gs4?OT;XrQN>T6kdI4oRrP{fBmxh(sdz9cV>zXQ7F!KcA#ZGxt?wcg ze`Bsx^n+B?m%hzUic5zt!wQ%dn+?`eyHvPXPk()mRG=%!=Vt|j^;BOVH_HV7Zjc@= zs@q#McY}ob1j>4Hsi*zdq(qFNLQ_$6_2QAtwes6)Lal%=Wi?%v4dU8~J`3-dxo|nL zO})N?Xdc68C3R`h-$1{-kxf>T3;ln!k$%6eqnAX#@dU8Y&#(Ktw777$Yo4|fGS!ss zcger}E0X@ye5tA!t`G* znHHN{y|(75S!#F$n%Kr#DIQ#H<)oSzxeYnR0_!HKU3Rzrr5V+@?+=oSeO{wdbBd8) zIo--ekXkb**TiUTus~Y5cG1>5U4VZ; z&9M1%GrsYL7AF0fVo8YQcr?MWrMhOqA$Sv%wKMs{@U{Snu*^$it#ycffgg}u9)`FU9b`6 z*+WlhcEm~ALnmF6=FM<-srJyHo=HJJhocL2rgDpFNzbzgY%U@BgP2aTqTZVDU z0WF3awI*H#R*@<(;b6}P>mi<5C$+&1_rg)(pS-neMF^*&D0X_48GpHIK{1q6ObN(I?@G z9+yj*IrXa3y?F#9`R8d7)?OfA+{GrpiwpUGP>_G`)pA-8zmOhfZ6Mz=^{V^DUb_h$ zG@RrUBd&pbHuAsHKt8%*e9kX>3FOxtj~4RzeUIm9G1l&?c}hsIc8+K5{DB(z($w)k zvj#Iv@uf0r-Y*-(wG({|-i5WJbpCAWRm;AipHtscBdURVym=g!&hNKVkLuoQeSduF z`*Wz5{hZW?xT=L_V@C<+seZrDPQBN}Q{$?d{Zi=pIlzlnE>)F& zujC!e5$`>Ju%P)vuNVjd8*0YwW*RXFI!AU+X&Kfc&USqHyUP@W}sM7c=6s{>POkZqLH zt=cZtW=5{h(W0+`Yx(Hq;QDt|xc0m5uQS)x#NQHk_MG2ywAgC5XZqTMRdPJ5iF&Fx}$ z|F$~eeZNU0;{f3t;lFkDU}?U2dXLVMB6Njohf+6@*=EA1{e`foC5_uIpAEDNS~&SXWa^Peku zjvDVYeJvs0seCOiI{h~a%Huo9ZoHMg5N9Ik#dDqh4MGR#{+5-Z1>ZW+cfnQoTWZs; zE=X;ioEn`N?OZjhq6XF#>*#q{lcqf0+~T$Hm9L7Vj~8E@wcz`2kgVStOovcTU^H4! z$G4Jwzt^SI{N0VXKJDs0rKWyP;)#*ZK)isqX?^NK{I9nX@3$RuY~pMClMLedcPA|q zW1>B?=5L4{DIM=}hRv@N#AD*F$lZd-k>Bf6>KQg0YRc6D*G31UMqduGQRJ(psf`^O zSz({l#&z-E;>(5aUt8td``kowY&2+aB$LVq>#y*|ydc$~|EcHnc_eQq-u zB{^&}@|yK`ps>PAWx6~f8^pB}eGcBy^U^f^iU+235T^`KnO*|vCTqqeiu5ZD(*35KYOhyFZf2Z& z&-5}aP8#ePsk561cd=)Fg+_Q$sWZ*4O-DO%=Kbo_(Vj7;U)g(6h=hF*r`zr^Gn4@LKycWRDIm3N$WHLty?pObiEgf&>~t;D-n?7!GTJi6aclf^Do zI2h$C+NPx%?y{4Ubz-zNcxGBzck#^pB9ryY)8P=0>hPL(SI>;(eKz$L>MKJy*{4NW zgJ)i#-)PCZc;V=-y|Kvu8%RC77YK!=e6uYF>{qgd9i50H+Ak_ z!E|Nn)m?qfBRKUuG3FY4mf|ip#avzV{Eyhl_nLY~pQT3qJmzITC-Jn%Yj4@i82&um z{&^Y0dxiePw}oi&nX`L?d?46qzN|%yUpc!o!36Tw*IgW!;0Hd~n+<#g{NX%&*%-eN zUh=IRcR{vB5sq7d&O`e+W8c%q?c>UQPY=T9QFZ;#*NE>Q91N3PQK9|uNi2>M9%9OY z&pQ9z#gD9X{`J|<4)2}l%W%~)ZR|gR&Ax9L$tV$v#5irpEEadQCSj#Sxa1=Iur3k1 z`Faj!kIxc-&p&)A39wg5Eo_>;n6fRwQtRO)oEVu6aVl{an+SJ_Q~i)4eD~-c+0X5k zSyoQFx+74EK&_LLb!tr3%q+VLH-4Ud^OR;6oTPoTqkV6r>>$Iw8QRAg_RYML_FP#1 zL6ddw*RgJ%n;Fiyi(B9RT7`Yq%Sk&eD%%a3olUdJt!r2J_zB=Jxt@v!K9Eb2)JXIr{J(jvi zi=}o~&Gl!9r5-Pq`tvlxx8ot4yOgA3kq7TL>2H^YoaR+rD_Zca6MX`%!mloQu1vk^ zTx=S^so80f)ZUW0b30UHQrs`VJ*CE#zNB-%3uo1gFHUdWiZetX9WXv?d5o{&OL^2E zl?~$BiM{~uI{U`-Z8pueeH5n@5TmP$ruGj~prpVhQ~1ReDL`0!mVyTa?Yb0PE?VTw zJ_~OxQb3UbF@{e9&aD!osbSZvxRcUdU*;>6UK+G=sn3BgY7$WF*xyVhx!2^AcfCr} zMw_+``g%7f@6_0;nNJhqO-kdt#G8Ju#`|N_{9u}|Z%KV9^L$<@BQ%Ji=@u7$aLm3=Zv-vPDGO@LS6kA=mi-fS)D* zFYz6vAHOe($QAe`@3U#!e3O+vPSRk$*MaixC*K5zyxF(Xv6y4quA+v$8>4JJIv-uB~Bl z$~FyOwsY!rV!So1RmHt(((5j3)$i5legqb&X?Em&#Tv)8sy1z#m%iT3$vZLnx)Ro^ z2z(RoE^F1#YP{nHzwP8h-fMKnwd!ozHmzRi<0PFLg*Dfz!7HQe78lL_8I5!}YxiI{ zI1=WI&$f%BX4j@|)9m$bPTpzJ*HEuO7&48T-G%p0YrI41>m(I%SHEp_a@M=_%cyDF zbbGCrlXhB^wc9oAm_vA|&)eg%B_I5Pl9Sxy@wE26ZF@ZQJ+|67V~<|FMmcyr z{I^zor<4o4+Upg3N~ayX?LKRD%n!wvT9Lj-Hi&B{8o|4^B3<9IdD)9rMygkck<+l3 zL)<3`t{FLXvCcoKQQaRVgGoGr{9nK6Chz5tI(#a=GWPAkM_TmgrbMo9zgHJPjsceFV+P|qb z<=Wb{-or^aEz%mi?(!}+X>k{?`-kd;UphQRSp|w^n0DRkZt3J?ofcaStn;ycWU>x6 zi{JJ+J;J2pY($tWot&%_qp87i5wJJubr=9$AtGxyJ zdge8oXJnm+P)Se4P+d+XdtpX+7EdPe-sNN%gtrzn7Okkterfyj3wth~%PK&Dc zmQCuz`Amv>tRF|s9Jphr{zf(!PX@bryyy7}^_#^LP+y_mC|dBX6a64uWxjize(fhP zE%~Y-7(+Q_f*5-ZG9m73lda<-6VrJz;koU@Arlshzey&Fp`0>7i^g_?b<`>oF4j?Q zmkE#rzt_9Rw~ox!Kve+v*961}Y|q^J7xF5Vb>vcyW>Qc;8jSZgld)I~_#AzGi_izU zHMCf?NIAx1NDFJIoN_JMU{vkk)auljYv3F2R+FXU!gp5V8`b$KVcn{wTWGpckj>hCTw+8QboAl{Ao+odwW!HnGXav4gEz0I-?p&mmkDgp2QQc$);z5 zjYew92Hv$UPR5Dx)KD9*m2sCmnemKqtP>{m*%XZvuQ{jJ#v6^aX&a!|`#4D_##Os! zP2W&GN%>G-2c%LXOrw(Y!Q?s534a5MD7=)7@^0B6uAKM*8eI zA=}*=$d?Y+mRA}epY?H4PK{lfHcFuUc$6n~$|1PpGv&w8)NEy_pU5DM?&q(|QVnnlR=Ie%)r_$;!E6;sF{FXfC+H>3d zO@(SuE6?}Nlm)zZq7<&en=+ejZQ)sM=H!|h$qZcM4U>xBtVZp^^(~$2zTcLLE7$d0 z+JbBTyx9xHSmp&Y10{!>JkLVelpvhAh4O^fLwH;QJ%Jy){7TiOY zFTy#z+0l)o1OIo%Q9a+Y+4{LbnjN_?&Amh>@RVrySk%6 z(apY-;Q}>c8SHDMu!(LL`+BEJx7TD-?Q2DFgW6`dNr>^v;15BpS-2h`*Zn*l-2>IM zs9cxRt@=Z1&79T<;oI9X~#aGtBoKUfJ`S@dt$D>seIxn&y4$)N6{oWelfQr^PFKOQse6 z88Aubc>{HC+eyYN8@zWHiW^kME77BgubOpjcmqFTA6I$<7vMA2iZS?k@@4l1ey~RW z^>~sGvV1$vbBJB~z02WU#mtq5@Y?LhfcH-HCAgx8P?Lb#^sB{h=Z#~Og!8mGW^dW_ zC5E~~>N$WqkSYm3$B=~G^iG@|tq+F7oxv_9QhWV8_$HhHyp%L-$p&%lMBfMRhBQ=v zg0*G+po@w)*amXS11d`>4SqF%lY3%h_Poh`$PiQ9qi>9A={zO4Ul+?mpDldc6OJ#% z`7DziTRYJJu7dORt*TBh{?17;Ee_jTH22g6?X4(w@#{Yc6vL_&st|#7I!TA|dY%n0 z-HCm-UltHvcqytc$_8=mM4yCrpxQolJ?)@n1Sk2#NNw1IB<^3+O4a3*#wX5P&f*y3 zSX;M`CJ@#dZVmQ5uUItG+=}}5SE&COQg5BM7RhSq=OmsM!|jHubFIX?*jHyLcRL2&%8fqcl5u zG~JP|cldap=_Yv`k>lF5tB~6|8CgF^jlP=JdWgO%YyAOWmAdBK7OZb3I~nZdc=C2U zo`qen$N4lHdtZr;l#77eH~$36b|;MElm=q#HLP8Q>TlBgE^F88x-|61dzTKA{KoAp z9_;z8{TIY9G-vIq(OsFkm49;tC;7xEYpBiGO1?{N#_!b0hfnp{)*;nq)M&5TIK_iN zG;%Uci>7u%9I2IQmpIavVEWSdPLieL5jY^X^9++Kp;(63e3Rlx$hT$cRo0sZaB?5w zrwDY-Ix%vKKO_g#$CVjmF5ExXztq|In63(>qT<&ZIhm$KQ@i2ZxmKoKY7tyLb2-gMgZwJwf)%oEt!>)TH@bSw`a4lr;iV#`o3cS%JJA>6z0l?M>1+Ay zlKi$|oN_>nsfJ7eaVMMfyo+uAD9FKZPdZ?H_rK6G1=Mu4?Mm8@AX^!!UZzD)L;j0Y zQXEuY(Wpk##b>X%Bh_G?l$%l&)kP~O)wC#RSaY^h?P8NZa^~`II=THs62I`+t;@*} z61%)6o3`exPFV|jS~@uSro}o#hI%{SE>Zr6CEvvkyC<_Gk1tMd-HJ1CKKQJ`7vxW* z+2a?B7JMr*)P-nUrmi^<5%{JNoa9p@qUQe6yYTRyS9Rto`G6Om<&&&B^Aq`$jLVYz zE8|I?O<@OR3h7>OHiXyI(=ybN>H4(w4E5%IPU4BN(4JXmDO9Rf{ui`Vss5Ksl6bUY z?g<@_`%&biBZpxvS7{JLrF)|vW{jJ=)cof%x`w7&`dtxx0`o2P?Mf=rs z_0?(l8;C|uriszez%(1v7m;bGjCh)uo=sQR+2wB_8abJ!ML@e3%pFFds)e$^U8-92 zk!egy^4uQzIw9q{<-Jg};9Do!g)3OzVyYFEaqjFK6C;=xOy5c1SaIxfe%Bgu+#e28 zxY0h_)wsVKUup&UfNT)gPK0ub9E+(|Kvpe`8hMEpwd^gLB!>zuiewl6_qU(9oQ(IL zNQcu=d=(4JZKcULUmvCuzdeEX7aS|HH!5U*T9Dl|bq)2_A)M@o*e2efnis^_8+nX-2Nc|#v3<-|B<*Q}Iy2%2qP9CJ(4ekU2n zd|LZnP3sz`XYAR>8Cra7A6MQ^m%2j_3Cd?Bcb@dx9)C094KGFbS=k`2o#=UZ7lfD7 z)#H{xeyyF8>=3WSn;^k0&lEMt=Cn_KMuqH4hrZ{^(&CjG#V}<(E!@__NjNcH86xsR z8`UJC)ZH%Gh3~5o-iJ^2*`IO@!r}b7ZglfzGCH_f(d?HFiyltGsgcQGomg~zNw|x3 zvRWa$?={`d)`@;(Bii0G>xBQz#wA*OGMrB#RCnEqDapqCIchf5iXeLnPUXVFwil0z zKV2S-k|D0deAeTn^C^(%hUx3uIOmPx)bGTIX0Tv{7;soHJs}0x;=^3}&`*txu1&eN z1~qy(38%$6!`Zy;dfp{M)U6S&qC|fCT4s?>{6%VnH0+o_?ayJ|oUhS;YWy>b=w{Ym2EvIk z(ol1V&3->u5)MJbcrfzaekbPuAmPQ7wG8sY+|fHY?H6iv)YRZ1I;!j!7ysjO$v5uw z^4ns6lU&qj(b4x7E%?@nQn(5qIO#dR-p*E*2hUXF+SQ2+8Z%%qTEG$FIFh`d&TLjz590UEt@&HrbR`2i)K_b zR6QL`R6Pe=ES+zz%K(t? zv+h5RrBic5YOr&AB9~W*@zI{?i424vkMMUZ!pj5zp9z1fc>d`-NXspX;+gdVT$Ob* zi}P2vAPK}PU7VH-Emj&V8F?c)ESYbrGkzl*j38W8a`<|~= zUkdw`b3|u$4L$^vc(9)+y1Yt^v96f@nY#eOyxK=kNmxV#=Ok+%o%9(l_+(!z=31yf zcw6|&SKo<$d+|lp7DexR# zBzAJ@d0NypoSrLhoy57UnpD;sSb%OS>kpW$D{ThrSf7~}q7A==V%~OouCB-tYi;_r zb?i(ujA4v&utJN?c7w-K2ttz_xcKDnugZZa3+6NXZXQd78q0z$pVx~fmD;}S;$)l_ zdku^W#D#sP)rc&0y$j-Xa@4hDJ?<3$%I9YwQN#(O~@kqYC$~X}2 zH{Ez`H9Eg)8%sUKUL8gi?LakgvP_G*2A1WGYw|+6u>8{m%l$lsib+1}ZZgYas#Q&`nmAb|Mp1)a7BF+L z{MM3XzbkAwvD`OVmQ9>26QiWzJjYg+U9w?*s$_XLU(XM><6SJM0ZFgPc;9oM%l-1v zrP&+}nP7d()N9ev<{^yi_h^yPkO|gqlen<|mL~Q+_p`hd_90YMDY9WCB&^ z$bVG)V)D|7z5ss!@*AgL;eXC3PAQ=pqGgY>|Tg>6U`3>C+?yFN5_% zjk1P%HK@-xo&|3(rJ$d~vUg{i$M_vSKMRP_r5fMm^xGZ){1lXd_(lSG;pz6#B#%eZ(b5*zu}p#~SF=_3qbev~Q-ngW-$<_za)5{o4iEI`L~o3%+%tPry|pzA|+i^yUCg z?ul{N;O7zdu*uSK(ekg?xZg-88-rZvKChW4`gvx0T$^?!k+QL$llTywMU-nKmnDW? z0eufa=d*G^eO$R0#3j?<>&{#r1 z?7Nt{w5V!0`?{TLmyCkfp1E{*Fc|M$8sAB>bUcd3cxEDG(@gx<-4Dp0Nb{>$&c1G( zx@L9H8N;d7i4oRCGhaRUSd@>&h5nz^NWb42{w2|`Z(3@ipTG8Xmlj#=cFma5A*{vb zWz=kG>$Q`tt@O0^y;?rNg+e_=xSm{rF?;rL#=3KCA6KqBUk9H@^)S8$=uh$+x8YRa zJ^cUi*{g{A(($GI=wh|%!wHL`M|w5yi_Y%B zBCcpb34xX!AugirKG~Aspa*-{gwH4#BU{9i3z;li#4`%NwQLbjBm95B&yxQh-|^<+ z_eBxuEMRlm%DvLi$4NRd;(5WW^%!=KD(&s!2Y=O>OW9x&-vHRX*4#8(WHwcOtyyj3 zq?s1S4E14zdTR6-EZW+7vXxdZTf5KJdXLpIOTvA-3)RdZ>KcJ%q;c==%&iS*R;t&|8&a%xKYZQzAbW4 z4C9moVq`Q_H5G!;BnNMFkb_qUIe7faCL9Mp9qfDm3?Nl}M5y&C>&A|?i;?jQ#3*TC zoQ?7O>Wq7?-;cw1#eH67oZoAHffg|hm3sx^jds0@9`6XoG4uR#nvDjz@3uUdaec}) zJ#Kb!>Tz0Jw7X(PhC=0D<%w}&{7jwkONU;sS84u6P}UmAmkw*jxuuVja$@{5SSxJS zN>r!(v{)+|$#rYR?BZmc7!h3w(IbSsY1N5!$f@3!uSU28le^`F8&a%0{r0+$wRv^g zTJ*^HNkktf>C`ys>VkYd^P0^wGHQ1hZhMH63MC)8kpBNn(!px+n{?9dP(#2C%cUX* zvtCZxiLuh4*9F!bdj0>Jw1f5HH|@vM>soTUAqngm>KBM{)R3dwO1evq?*GwAFMQ_@ zXX*6dRAi_tOQkyXnggcL@U}6WdY%|P4fM0o|GyjQKMfh`4fNL+tv32!246cdW*Sca zZKdDErvG0W{SU{fNS(nC_c^bZbo#HdWMsK~B=NxN(;7jGNFUtmT?L<>}7dc{5djrZ>Hku%x^>7kSi=2k))$*n_tyx_x`TwC2 z4(Hj9UKnJM?7K6JVXKDE8vXu)YehQB?(EfxJ`I1=NUu)aio9(IC;QZhYVc0tU2J0C zrK-_?*VtcA_u{R4AOp~s_v)%Z{(ZM|sV}82hTpb3>0~6`U{Ob|JP0IgOzhCa>p#}gW*1p{bC3w`_!1LnL8FvDNr$2 z7klSl+1Us3{bv98_6}gZ*sAr50i4{^Vz1$B8a|!>F9r9rC%M@3SC%mFS?50>e8C|v1O4(wa#;KSqLKbnvh&YIcHOztGKQ0WVr(|l zW)k=}(eF}$?4Jwz@$lbMR%K70axI(E?BZmc7?TaTHm!`i8Z|C!Fg7HsZ2kx_Hxo5qOpi^%_=!B(1r`1 zZiFYg-;o3AG4CC?MAiFZYmHK@;Ho4MXWy&?r zqot2ilhb0X-C(1)YH}B==+MK*=Tc=qpNGnNX)?QB9sZrIilNE7q(&;W4 z@&CX=J1$9mrk%XAugWtlNvj#c_HItzY0=c6-P>w!J{Exd!N?lten)b3!Dw`ljG zmy>o{^fXxP?XfK4YyIBR)`E?3wU?7bu4# zg}0B!ySKA+oP21IC+Ya&Aj^_CgMa6FY(t+6QrJ zdTJEa%#OSZ_k5lVJf*R7k}|NPeQ%o#4DI6#8JOp5cd_IDj+BA*EXkAI!Eig?MH%p$ zeWG0hSl6b#rfu|V=w+mRi5f=@=Q*M3lEP6w8A^@sV#WV$pndQ0gFQ%$nPr4S^(DV) zC)zgkY3mB!+Q&&cHHI2U=OX=YnWXnmC+U?6k~PxV>qjmTBd8${3}Ix^>3&0494@Gzfet#4`8@JU+hPix=XX07kp z#~If8*gmebUtSNaQdg{hqhNhTxzCKh2^9dm)C%>zvO!!sQ3~&{LPd;=>DKAin>o2A z#!gqyh0`bD9!b1SyWC|J`qzPLJj&q4?JOSbZDr}LWSETiz1HFAiNcrS`~9*(TszUn z;2rq3OuMo@ud$z#cw+ptXKM0rUX9w7>T+JqUyC-T2SaeV zMoT{@@x-WUAfAo*zkNl)g!P`cviLFE-0TAHT(CIe2N$0!S7s_h&asK{1F^2B=Y2)2nkAfSBi>KP}lb zF8Kw2A=*eLyXklgX*6gA?QJCozI%2^u_(*5mAAgBlaqC7+%;s5p)PLH_bxvBKQCAx zWP48}Sw0;Mug0S^JMvr4lQPE;=lZl&HcewMC+)PzYww&%`-=q4ep})pC^^Zi~ zTjUjE4i<`ymF}nP<4Wu1-S8n)>*miP?SsiA-A%y3vp&tTc$~{{)#WT5!Iq!l&S3XB zudSSKl|QRy?SG(X!M9HIV{pAm`WY&^fBvr~hI7gXHG*qeKB3C0S_QjQS^cv@J}e|mG~3>UH{YBJU+}tk9j!ArnZSAX@^znVNpR4E zJ#53>1TaRnh&=|laxGhghQMzvTZAsa{|Edm`S0-^6$gG_6w&;jpc>4nSB0RVpObo8 z6gSk>7B{xh20|Nv`c(KcRq8jBootXD;lp6!^^@R!`4eeRf{mgD-#XE!;VPa4CDr=W z8^AY)aI#N~?}iKpaUZ2&WajL+WH9{cXd}Lp?8aBX?LW@5bSTL1SJTrn7^+iVJEt5w zwjNHxsqtLX<_|W_@obtu1%wadJboe_PDk<8bUMyO${~ifeD-FND#tfWUDNIM--g|m zr$u$U;e@DG&F*5$|H%gK`=^)t{ygsG08V{Ri{y4g{!T0RE*{N4QE-n*JK1+m3YK4X5%jsD?gH(utATuv%@^?Qeu$s;B0U8KnDd!xLAlxO`ER*NvE34=3TYcx-RU z+(Q-e(9~*m!GZ8US`gk;&c^2z>w`iM=y_<57A^SJiM{~Wn^JGvr(Y+(WfZ3r5aYBV z8&llPCa>fI^iuWwA1R~&_7LvM@N7TNvt$R-k~fn{?zLq@%f=M8dc*YVV$e2>Qx1sn z*sl3BI3!s1r)8)3>m20Z4;ONPn^1iBSH3}L2VMJP=Em&RiJpT$7TRA-w@$fgkURarPL{+U0dF?}N&j3*f*UC8A#DTk#)6yz2-WqI{R^DA~mak~M_u*50Ua>mbEJl0@ zwK;c8X=#-hOASo3G5rThrgyxrO6J5gOxLu-XN{b82{ld{>~Msd!!G=F?axnApQ z2fL&;?KIkr?-Eye=|ljUPqya?(zVhIYg0!UFdu+Fi0!ffpIp*e^;Gxa2=jD#w!(OsuIs$S7vF282Jom9JDg- zlBfGSfpMdrKYY5+oYU&cnA6q`bK^G=ot!ocG3pu4IA~?v<&1;hQLuh$&Nz^wtsiEP zj1F$XQnY^b0VmhA=w_%DAh2%qn!9)re>-r!Gu_{gbIiJfirC+g42O@6FC8X+XC>Y* zef%sVBxf!=7k_vXOchU(0W{Q13hO z#68h<;@fEFw#s|NSZLT2-AcNPRsNfRbl5_X+<}Uwpvl(rL%*#S;-2X0l=T>>rH50O z6XTyD`?i&E7n}SyM(cStyq->T2!g_=`fQVvvTwEND&<{outP?la>6|=cFo( z7O2IkO5K^mrELHw_ry48;GT{9UuWkYvRh6o_mIlc&V4a}lY3g6H0<&h*f;uLT)QwY>F?rX!>70BmcD3+bx)`PJ3;+ ztU%h*&q#ci7*P!#_g3OvJnp~BAl`2sPx83eX;#?+)*ep6iP6*GooprCMW_GD8R56V zNx63bHqDc1=K20Q2kTvyoSaSD@J`ygIe90>Py_F5y#ET5cks*mt<{gmJ50Nc_p+Ol zcVa{}*z9b)|8j$OQAFJ9$SNrxtguze$C{XS3-DS$C-KC1YuJ0&O1w)x*e^4PzmnpI z`*Qpe7HbV>2nf_0eeVm%#+R#s57rm-&nVn&jMoipl z$#?P6luT>sVubyBtJyOWZQ0DJxoNS~P~A)3t|raxVypk+8P|h@cx#a5NuH!*_;{b~7E*Puf^U7= zrm=4Ja?(zWpRSnaQ{RPKA5L$SQs6@SFDhu?J{s+$!(?|e89(RySuYN>SEg-vVl2Ik zv|pgbPJ2t{Zq#tTovKB;0MJv{raxw({a!f*W>$$**)Z3nIuO@R^d)#NY#5zuZTg0` zZym=e3A7k%kOX-{o2;A#=%z}-FKm?rzt4wx$&z3u3EL%sKUeqyG5Q)TAR!7(lHg(i z{isC}`ta$e#NOA*HdBQyy_|ZV7<&y>lv-(b@k{=K8SU|CaBw@#@L)%uNheiNk}KQo za>}NmQ|sbnJVaX&-kPR9FMx*2E8xF}p!1F#P#@QwjdRiHKT>D>9@y#U5N$0v$6bDP zKc(5p$vQ3C+6|cn0_&Pg9EZ=}Xu(8sO7 znA`SohF;I?<4V?DY?mLdv)=cc^W)eqmZj;;c6k|Aqr|9c$ORVSAyF@7t7P0I_x*>Ie@zSB+oIB(KSEs#pZn+v|wRLmqbZWHK^vK_Zn?FydKc(rylho-u+V{5U z^r3y6q0>2S^&hnGj>2?G>=zwqWAmQb$;mn~*4n$UAYaeCX7kLegq{obi;6yBm0POM z{Raxxi!!JfX7!r$w+I^a)9@CH7CAFCM2m>iY|3lr%QC;xDO2rWcraxPu>EP1*1**1I?vC&ons<7|w-SZ5qemD9#} zznSr(i<5C;JT&aUYh~PJ2i_M8#;;EE_|S75?yv(-PS;p?>dl;76JwykkJ!q!iy!gl z>RjIgxmyl?L;*48ZPlw(S35ZQCdNDi-)ww;p~^QpQM|TI-1#=MSPH)Rb6Cz3HFIQy`#^4LzPBK?ztbK1= zuF9c(oRO>Yar?M3Hw!EJP~-QXn{f@fS=rI`c#=-D-S}FXC%2N_fh-f?^BVKrc*EhP zc933|4dU8~z6|e0JpXFrPf)MGM9?Cl-B9I7+)pVOFD>H#y)%gzB*V!t&0!Jh zwI$=~c%BHDa?cpSx7WoW>3&6#*OM8ZtI^Sh2`q>)c{nJOd#aJ&0=eO3+Q6rpY z1}<6z^Q@XJ%^EmKtLAC#do?1BT@||3rHwPJng%PWB;3VX|4c#nqv_6eocpc69jtXZ zUBip0H*;!kYLwIDI%M0bY+IKo=cg6dkL^4g@1k+yvvuxZn*hYclmj6RmF zGy^NeZ_*vk?X6GUSZ>+}aB@$LfCkNuTsCp`@xi^mCq@NZc4fM+!DTTna++FDZ zcq9FOS6+Nc^qYQ0lYV}W<1#Id8hq;Q^t)I$AFI*d7n;%EeWJ&(Zh+%jX^R=_MGvEX zUna&yyQXy$eCo>g=(20*ZbA6vWa$0wQ1nRQOJxPTM>dFSCmO+fVbO@`8f7fBR!*vk zvCwdCqqt8^RtxH`wZg6!1I5LDve!p7sx_n4YkS?{+(zVBo3^pl-`dYfJTW#Jh-V}I zBUa-5w$YDGyjk3$N<4p!i)CWeG}IGqCH~FOOV#lo)`-74I5mYudj9y_LwV?xYNgSdU=#y5xu-={dyD6c`imjvq`WdNUiS}~++WVp zQUBn;Z|?6$!G)Ld&}_&CaqUE(hIh?FQ>gP|>TOm|We6wxw0LVcCqUlD+OwgIx4PK% zM<)B;>-*!`_2xMNny%+RCt#TtUF`<%yMVokbr97c{DuPZ!n8Ys9U8wv!bC1RL2cmy@!U zlWJl_G}Lx!rP@Vb=LOZ5?!;r?chouT7M0UA(sT7@POgb@&rp-Am1~!r#EH)J>8d#= zAhy+g)GQQmX;I4{1M*f%Q80HpyU4((SqA#}EvHuo zOsm}@1N=7pA~D7p_EZQVXp#Y!+^b<-2JQj>qC@UgiM8-C*0w#Hot*lf81)RSv$6i1 z$-4J?{&=i|>TYJe=;UOb7z+(6*jCnERBq}Szg4i`-_6%^I9S(bo8BRppqOs` z0583nQ>POnt|3Q8DD^YqYWm_`a%AEP*M949XRe_-QFVvEAWu9z8LcY%a?G(V-$a*|mCJKFcQ z(LA(|GibhJA6L@s5-r*-Y1ZQ9aOZutLeS@gFGcqIWP`YNq7TD+Nwzj^y(~+?xY5f= zJ2f^MXvZ5Tp*L+37ut6$wD;k&Pa*AuIF<<#NCIB1|++`T3p?n3o58r8n*Zbzy?D_f{8S~;nv z#XiHTQb66Pt6f%=H%qGh_LMlSDl17Vg_dT|Raso6#WDlUd^CTsqW=*) z5#yT9c8+Db==PsAqkSX3HJA?b&2)D#j86~km1!Hg-R$M0y%x({Sy)&UJNxBzX>qaJ z?Jg{Y8v8=E*QMfEk^85R_BGp1cxq}G2E_AHf^S|qcH z^|1F%z+QU-l&oXyV@-C7aq?n63-n23eGG+Lt_?=<-d1wpxmKs`eXC8mvO2B&7@~($ zo7bY6jf9(LIDa?X(Rq1TH;TKCZzq|D^+D}>+w!n(+s7HUOJ*Ne67EtF^a&t*bTG)` z?L4~|PC=wqOsq_~65P~(3)#WRcP+lz#P_OMo#-yy^Lc!qmOMij+x+n=-;ZT`$#^jI z+gf>B@!V25DGzB+vQG3-_#5OIYA6@e*0*#vc60Jxi-0!q9xN7d|D;+sGYwtz`Hd>? z!maMJWlpqMG}bR2uAS?an;>+|XFZ&R*P^10ga?ZS5$7O$yGnQ;Ki6l%-7S`CI+lh$ ze@50yEj}9f9^``uUsj9!`iyVf>T@F*!IJaT@I9NdzT^~qS2{TLcP$dy#P^D6k%twh zivPR#RK64W9)VxwR&Em zP<|{e?n3#NLAl@gwa22onrB<3oIl^TSBrc$Qf}sQ1@DT|lEW`T;X*zr|&7OmQ;gA-J8UrJp;9(n zPH%a%O*Y_bd|u7cPB3c5yz!}^%YqohDFY#@igef5E+68rfWC*Iv*CGD%79DWz?HfT zc+Nd7s#@i~k#%;yiBZ+A8Fe~@`##V9*^=N0eooT^?WxkFShxrG9I1 zT4tkwSxvd7%eQJhjD&ZI(bVoa<0Rc+qbNV5i;Z$g68^|wyocLIy|z)_Amm=RQQlp& z;9DocD6#a#$m!O=)*3mPCPqzrrr$C6))mt(>&gvaIv!-0|8yzKQivh>%{6gdsZY7$ zPc%C?`6fn6d#26~d>@bRb;b8ZC})If&1=2=W}E=L)Y|f_Y!KH@^gO(S-Yzf}Q`S|t z(auRXF*3SpMn*%eE=9LXt*(pF`t5l4xf|(o@wf;Q-A)etuhsSTf@wwhTG4`Uo#+#A zy=kBN+LGE_Wc_XA08Z{{(b8`4t%!Tb;allz+^-J~20O_x$sv*3=SUFEw^AalrmfpA zjoqBQ6Cz)KD#cFx-@7k5y9cTE_*ZzL z^gzqbL}VIZ%YCvX!9fr9umxjVFh;hB-v)Jb*&==g{MNEX%oqP3@U!H<$9Md8{Jto9 zKwNc;=5o=3Z=L9~aFx2=I(^Nti10U$;gkSc{Ij=c#)pEXb39Au+oc4c8+|k09}G7h z+g{m7^K(xMM*O9J0sjB-r7WF`vO!!s(I??u(r->(FBgF9H;v#VpB5PnY2Br!zF_H zGbQ<#hA~7?lXQG(JlGk=dtOsdxAN=L*4#LVytSK?cWMMR_~I>cQCj&fzW9e~yyNHk ztl??C_zKK*#a>b_I~e)CK#ZTRn!fnEpakcwVxN+VQs~Q*T*aRBnW8TG{AU2)gYmv7 znvs3yG@i;odCfTOQ~}$xD~?Lb&%*Afyg-buhO^F5@zyP!Qlq<^b^g9+Jx&g;OddPP zyc1)qE9NRR@UA@VF1o!p<6Rv8g+*gvyEVLgUWwAG zBT1mOY1dV|s-wfd=lTLIsv1tpkah`&71J$9-#!}e-ptf`@JYyecM28x3Y)ZS_PR_LMqhlw0l#|6(n!Ocaq)s$-#5+^x%5@ z{4}2AUR&Mw7ZX=xZ>XOFX7*|LTS2yE>UE2xX$U9##F%GTZHoIS@iwztTvnUQ!2WQ! z1N$Ve4vwx*$D8SRA3xk@8=Sb>tWR49-rC1V`gvmXGwif$CEX>uza&V<96fPR9VRY% zO*t*P55ldcytcej9{ghI;N+Va>kNFe@x55(yMOxlhNMF~-$e%}-^7?_h~>BP?GnrX zw&>zC8Sddu>5cV^exHd!ise_PtDGoiGbh)y_-0sr3ao`cNb}2-eiWD0=h+I^{qY_~ z{L*PY0Sm=vE1b0Y)M3`AuI;I7AHvB#E!G*>=VSj{o7e~I<+QS|9}3gJKL6P;=ZVqJ zV9&7GGw-dk?=|nv_DtVy&&Xy@olc8%2A$5Q)4wIUn2h(Xq+qBY3}f6kH1jZ?2A$q8 zb={t69m2^zF(w+$g=y94F1d>Di7v+b$@uXD*svd8k0_3Qu}xc3@s=M& z^m5Wpi<@=>?QFDvvyFDoE%)Qnt{XHa?fiBPF;aTY%n~>_Ge6(u5g3Cnd^^c}m+RX1 zYJL?X-{k}LaYnw&E&I6APxG}fKWdi1yMgxjz!zP96aQyH$Knfr1YAw4>MtrIV3x~; zy`AWBxZb>(j1F$j{{79Hj5_)pG3puO`*=IVebc0%q}CqnF7{!4ywx@*hl zOM_fUwrb>LnilyCObetNtrZuh-%&7qJs#}gr~0g^9hk=H8j4yqaxxtvn#fg6{~8{W zd1uJEWN1AQ_49nNdwV?{Pf|Fc#b>5T5zWeUm5psSb8=0MXqpu$!u}v-Rl8(p-5>QQ zlVpFqm8HA!WO5^YG~JQwOTYE@0xAf2DR1CK*&wb(?c1iQtLRSa2u|{e@yw7@F797V z^OxR3mpu~;Q9p|>C&RdZkWBj5wy(e^`>fSTdnRgAR#miY9h`jABAC4;(_a$m`YX-8 z0F16l_=OzEi+$(k+oS%$!7$ks1!5E+pi>samoQLwi$fq@^&`qc^BXLH`?UjaxzXPx1rv%-#VYUNKapnTTdDvw zPF*wen|>YcOs-{O>@=KjB&=Cm0laQgBzL1RfucmwP5WmD{oBsiW zf6Mts&C{<4K*LYOE&;U2Y44m_QTIi_VO}+(+Y%Y!8$8MEu1x!0Ew9DM?!vQH@g?8N z*pcD8{FHrMxzfcGm8mO%Z>UIsEHrp!oaD)1n0!bq4{jVC#C}V{tX{NQ5j-t^XL;#F zKMH@q6+uaP)6Za+iPq7awh=7?+dF5jlY?}qb@IC$q~oVmq+|Pb`T|q~iihbzoNXk7 z{c$?UlU?{cpPv)oBE>+nlb$MC@U0X52wW@D(eN|ag`;gSr)e|A#??5#ox&p8XW4Lmay0!6cHw9p%_$wUm~ijBX;*zepfb;{8fx~) zN!nF+wC`=RtM1yz8Ftn8+Q*gBfq7U|yXvP_q~mJ5mkcha(=qIi!i|BjzS!MN2YayA z5IWZ1)AYVgDirPM@l4TzZ=LAJ;aYimwEPryA({6NIOT*GV_r6QmwX=BnI|WE8eb0)``9kt`+&P`~-HnXd1{V546a0Z^@L05Sddejs>{KRC#!FMIP3(7&g?3 zK=dxAVEAoKJqW)8zSKJWQQ07_o#+ejUXg|R^zDLR9mOdHwD@#))yzD)3z~A?Qz4w# zhqwR57X<{xhVc>UFV$#_+x)*AFHth!NE8U#DQ{&L)Y9VO-<7xdjM*ZP1 zg>;Pg@kyL*-9DN?ZpLs6OrXiN>1Y6Ug1;*S^ta(lY5i-mL0mi0m*D+o>-4n~D+%Km zC1HsgjW#{5A?H*{f=e{|4b76^wG`l*2wzGHY|*$TC7_kjX_NpthLe6;Ji6O8=@0uD z75y$d34V&Cf3}gpYvM`!7zNG6bhU(2lmoq$lWJm&dC9cqgLR{*cFD5)`l!FR_k`Gx z9`9W`+>H;=3Hr!jyf=(9(1|`gt1iY33nr)--u1()60=6-n52hV1!1S~)=)wB6^C;{8??lg<9#v`ar zvJP7&<9nkNj{a)#?{3@loxb*P;Z>Y9d34ge=*a=CM%v zUemvT;tMb3(Yz=d#C5id-ad7$6iUO7BS&zOPmJOQZ>G3^O}37UH}fY+@^AHb^Y#4D zZ(UFGW+LsybSoBpwUv`f&UNqS@PfGJAOOs2Tp8^htfQlFewSF1YZ%ECbZEkp;W zHAIW@c6+A&$DQc&^#2VBgwPBpxtryK+V^Ta8oOEa=aV*0XgnktHRD6@Sq;1MOTKaC zM_n7d68SC?SNg+b;QLv&Z^a)9UdqQ){(R8diC%y!>iWu*^<*_`7boMiIBsAZ@1n7@ z>sX9`O`Y++v1RWa zKVu(PDx#Slf7U*(Wc;oe1Jc z$sKUF&*Djb6aD5w4J+MzcBYu&y%RkT*PGQTYYvmjPr>dPA;wC>nX=-JHR)-Wys$Gs z_w!RYwr%_RlMpd^Zu|Bi!xFSUTOYXZ3tx)x_sIrv?L;4jcOcxHwx++EdO3ADEr!}% zHT@(ZCr0UVmz&mE1@@-jWA>k}=L}sNg|5}H?18&WSxOJWVc;K+ZO2B`Ap_g)Gp9GhIACvw zzmC1Ve&BolD7?>(+&#AGdr{yIy3Gzw;2sX`X`t=!F$?{{5qr#@kKBOueu$#L-5o_N z>?&hS1Z{`E44HSI?K`7EB)+3-Hq#F%Zru*ISoAaYaEAl-$n_pLdyyZEe~Q>)*fp)R z`xKZMhxJ_N$#{qg7+F5y6 zJBLIAxK;!Bg4Y&njffpbyk1`DVC*z{PUMtBcuNy}7e$*d%2SUP`1fPNHT)Tqnq+il$np9sQzB$K!4vu+D zPqIIN2fP%82CuO)hof$Wb5fqS+%`f3Q%e}gG%wyZMeLyKxCLyS zSpe;gAa8M8G;a%7Kno}hqB&3g^A=FL{K`KX^Rs|E)hxj3bd>l=c%oNGn`vjjZ-QE! zVW090*j478bOsEHak(?#s2G==0c*(IuEdZD|a#ypx;?3D%Ec%a@A diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ksuser.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ksuser.a deleted file mode 100644 index 5f0e47bd91ee429886bfdbd7dffac28d9cf8a97a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8030 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 PDE6DIqB~T+Rc!wknwDxj diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_loadperf.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_loadperf.a deleted file mode 100644 index f8512d0d74d6a526f897a554d597e3c4a80a0ee5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13324 zcmeHNYi}Dx6uq{SIyI??0HGq4;+9lG0-4=B)((o0-9+J`P(^tVKA>(k@g`p4*k*T~ zmWoF{AOS*%{sw+Ye;MW8nSG4C&m`MOCLU>K*E7d6J2U5=dEQ&r%!AgarH{*lPF|E1 zS&^3JWZrFSh{Jc8@jEV>Pok%t51xM z)-zO$G?bd6wvB!APHelYHG8^wsA?+0PIOS!maa7~lM$#py{2aC8<_1Q%yP|W>(*{v zRxoelq=#P^l^l}Li2ol?-sw;^sJxYKzk?Ou)}Pv2wrO;Zu;7|kZW1gmpGLZT7;Hm-`NNvoJ)uSy%1lD7_crym zu37pQ9n03*ZOt~iov-?~{bZ?==p-?;B=(4sn?EG<}!=icS`qG6Cc?0nur- z-A3Zhxh)WuG8l(^j6n00huXn$zeicSoweN^>Z&*hG@m>>wJTjuprVvXmLx?{%4KB^ z1LpQh>$w{!PN*+AfY;gEWUhieY_s?1pbXMp1r1t@hOm@6NG~e;mX!d5Gr}2^;p~Eo zoxqm~{4UY4{5WpWjVIhxG_LC6P!3@_1m~u=9oefi+ii-g9HPBAiT}O?ILaMr$8LlZ zFSZqBT^P!rU}8JvqcB1n6{0Xg`%s+=ISL1z(}t{VCNU`n!`g*n&f`Xq z=koA3zN@j-Pq&r9w+}A88|3T0G`0ikCQjjK-OthvO0jm(xZZXkYzf7g3x{QA2hvhH zJ5Xv%f$`uB$&)l5jOY7gWrOqmn-H>pI^y&FJ5)_{{y2aK2cFBrPx!8eRoj>U$kYtk zUK_KWIweW9@FGAeu)@ZYS z*3olcuKkX5AhI>BJ;@ASHbCPB~No(EnSimG&K-B#L`WD&~ z|DRhxRP{v*h{a?$1}vns06BQ7H68;lHU>;U^wkzz?2fbryiX>K&L0ElmV)b?liir= z`xBugP=+>;@?^I8VsTmoNb8xWSl(Ke9zia70QZ&kee!_V4( zL_#F(c5ZXhu$jhHo_;+R%8fhyYK7whr(b3`&a;6xkh^Ku0(ls`l{o6!Pd7Wr`P%PY z#lqM;^f6S2svLO{)49-@p~|N`-&Mv8r%oJR6I_Vlxgmx(FyB$0-(P^?Nmq@tT+OCE zxs`&un!lp1C29D#g7#gdh93&$#%Xvj92d~=XW=-H;k1XHR>J`zFM^LW)9;Z4p!2nS Xl}E5J55M74jjXyqi;ss~Ufur#kyndI diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_lz32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_lz32.a deleted file mode 100644 index 9b75f05303ee823e85c543e226e0fc86974f2b90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12284 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mapi32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mapi32.a deleted file mode 100644 index 74373c36dcb5cdb66618c3cab63b72c9505c3bb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123408 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

pmKa~*s)2hG!Ys5n*?5_%#NfY~9Lb-9+clCM- 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-3.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-3.a deleted file mode 100644 index ce77384f5e83af2655d4f0e87f828b1243e5245b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6064 zcmeHL%Wl&^6un7WT0(hA6{-+I2Fi{EJ87L%s;ZQN5E3t`AXp%#ZsRl-c@aC%R$Z{* z11hnA9SeSh9e+i+cV_HN61#Dc5)_G%=HWZXGoCx=_>O&J)oSll*V1>j-efErreW$U z`J$%jyh|-LZP^glnzoe&fH{EVJ%H((0JDc8pTnB+h0h{i#+vf{H_D7{F!s{5+b(-< zdv=>`G|M*o=rpXB!_erMMU&N>ZOYPGcN#m*w#^7pcL~e*wY%>+jY^Z%43=YgW-%P3 zZUbXg+bWN48ep5Yx6!P(I{5fcamH7rC7jf$w^(RTANs-GdZ`$JmwkPAtVfQ|dmh@} zGxv$r=v1s7uhVuKyHC)i-Fu?@vFB04vv=E;XP56gZmVYPZ#oCP_eLS0+}VHcWt#zk zqL^dox@nr4W)`sEX)FCWaR$i)peFz>^44@B>)CrAZ$}pz=v&#ckQF4BWazf z8JS!rpDovF0NILDv*iuHj{$ZQ73-aEkapF7G+nB1PJ*evOGaT7zonuuiqFUosRWh1 zN&1!hYZ|*wz;Is?BT|W5y@SXre{{kmp@QY;-y_8D>M8hLSSbwf+r&M%#MdzOulb#m zu7r7P5Wg2BKWLA``0eA>TEPW+QTzQi;rw=gjUfYOC~$D)&v5^o=e9U3ukv@i7?U#w zDqgkIcqc5JXYdb{z`ZM!K>j74c9Z&s5zjoJ4G#8MPBp0$K$UnBexYUb(QR~*QwHcX zDa+L{EeUxIiyQ@ARn`pm%ptOu4j{y3b-&3ni}?=rzmN>4N*i6|2;TIxZ%a7YTV-D8 zMwp(+QAA8N92Y2y##=>9I~-?XH&4X4lEg?8R@%?w+jMnw)U~0vpzn0?N^p(lB5nel z#VmYG*J?}kGfkHoj3=N*T^>C^a-DmLX2H9ZNGcVp#FHL{@HNsi2u0ETlxTLLkOh8? zC(ytWyy&>)3znhBvgiZbsLzjG{^w)z-&j^6i`bD*=z?MVe=Rvd)j0XTt;~B8|7+p6 z0semo#|8Yqg6k_u3^rv7=YOi7|9Ix68;DJls)4I=#a#^quHh^DieQ!MDwt#q{7oDf@?kwb{u?p*pBp>}eMT}2ivw>2VR+OW zXB?;~^PUt3TH&~XIB*b-3;0j(!MJfC0pb5eNMMt!gX{bap`M42ZD; zjZYJLOikpCfwR$nO)LhQxQ6>3R}(;*2>stT*_zOZ`k1=sqkF=@%Ow23nlur*^d412 KBS!qsIsFH&4+5v+ct;*v5VAq{%)PB1zu{qWkiwQOCCk;~txUQ8T;=+Z`@4ng}P{<7uOIZhR2} zn#ZD>Rg?aKjXNpNb$vP{f8Fb!)Ru(@g;KWwZb@y-H@;Hp)JMu@_ zqHb7c5Ak02M&sSbv$!qyQn~7Q zf2LdtcTk~tzpLVe&blbxHQuZZT%SK?zt#z-_4D--8s>pY`V!1b|J;xd03D(h0HL(zuHv$hafY}f_e<}PbB)H6 z(CRsN9?CWV&68VRDGOC4_=)9&3)3{0su^AXC>u$ZxKpxZrEc85^0WGi&Y8rL_bPIz znk7qG#<~}=q*sg^VacarT%RTPaDNSjK~+gHOF*+^Bb} diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-systemtopology-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-systemtopology-l1-1-1.a deleted file mode 100644 index 98be2bcd2536b5b56b03e7ea1231e56de3113608..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2774 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-timezone-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-timezone-l1-1-0.a deleted file mode 100644 index 9da785206ffadee300620fc92aa8e25402fce868..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13410 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 TqQFnQj?qQRKYm931(N><+5l@> diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-version-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-version-l1-1-1.a deleted file mode 100644 index f22c0fd55f10b8033c415b02ce55ff79230e7151..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3570 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 SVifwqEuVTqi=6f{c=0d$)Vrtv diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-error-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-error-l1-1-1.a deleted file mode 100644 index ccf64b8efe7afc3a6fc9129d5d2259884c737937..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8858 zcmeHMTWcFf6h4xCNsUWO2q7(@Sr?aF-H;&dgp$-iy{yZxHo}x$MlhGdpL_x8KZakg`^s#wN z(XXADR?l{rPKb$1Se;*E!SQtFIJTpY>pJ}m9XpyZ(De~B`j9GUD8lDivVz}D2C{2^$-J)&uQxKSVVAj{WA;4Xp8TmK%gjf1?cFgm9I+bGbY^S!T@E;O z?5Tm)NBiwr#xX8OC%h#K0{y3b*Q?nfvC4`J1DInsQ{WKBO4mXxDw^fuB9wI;2a2?*|^H_S*e%|oS2{*7netygM5nAUYKM(M7F5yDn z$n8Oya6$QezK#{EKq68;g0Zg8Xqzr#!p%{g~+#Q6!Sy>~7xhjUXpxHbnX>ZjfhOKh5 zJV!64jT-s1yzW$U4dZ9n{;lunlqr{|B;lK%){hi!AdL%=;>;+?He#m9xR7Dg-(AFf zmyFY}nTPi=?f4kK3Nz*9>yPN_#fzwpco*!&W_NLfA>X4h$yagDi&5B`uH}+!ZyL4| z*BFr1m@5kSzR#^iqu^bV!ukxBG-ie|e6I8if?;$&1sYv2<^z5WK>diCdwvaNW%w1- zj1B6%4Qvtn>xdWH6)$Mjgi9yy*#2u?tc1LnJ%iA5{BL+MJM}!rvtoJC%E^o7PE0R; zLT8$%7e~V3xZf427f+;dv-HAC#>MpF`(#|G7Yh1x$H$O=i;%1r%gBrLqxE8QgUcgM zKGKYXz!;d9;SWqvGt#Gjkq;2XGNqZ5DO>FrQ?7Pan;}#1(_U_-EFn{pKOikOOE!E? zL@asW*HBi5-!Vm&Bu_o>=e1(lv6Yh@t+6kfQ;!Id4Jm>h F{{n219O(c6 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-l1-1-0.a deleted file mode 100644 index 2810b8ee571c9387d51fcc9cc2dd26edf33eb4b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9580 zcmeHNTaVjB6h3kGQdWyVRkZ?CQMW7?ArkCt;$)>2N~u&>gwQIb5~>hhZ{jp&6MJ#o zZK*0$As#>isV_Vuo_IpQKd8i?;ECVC6Xl#4Una4g3=eS?X-Aq%jz4=mXTHy8JkI4k z%kK`}*?3!>OnO5%bVJ*%wNzDOhs07k@oU5 zr)!#F7^-SC6U}{CT0_|ZXeCq^Yps^5fqgGv?fgOo?XcRj0xKWFj9rS?#t=O0%H6nMIeSp4dylKCAK6nBEm3FOsIv8neKtBi_WJ+y>qp^ z!F~hKQ-E7=IUXkk{=l}>a#em|yVzB@pq8ebS~OjVL43X*po8YA<>Qb+R28X~&xC$w zsb!FjOR2@r#>HwmkK>b7%Q{m_@^(T*B33P{I<{y4m=bkVxq+1m{D3u6M>6DDFKUG` z-;iVe&TfkN-y$34G5=6tOp(n0TSLAZBY%g9 zGiiAv#p^TxOi83T;09JI@Eg`lBl#|v*m9b?$yQh_smp1l-Z+aTILADs#QS5hR#ZGD ztCbZ&E7SXqxTm|+vE()M1EoYKA8`XK75EivK_?l*Z~vbS^<#dS;Qch-ta+&K_%sTEhwn|`bk+V_)HNf}j=dzQ5x8FZP3|@1G6gAo5pw z&A`79b{pHFkC|a@x#qXS4T>VS6LvRyQQ#9tr%${-yT+3!_WN-ZcF+55&-eU_-|+EH zodA5l6*QVxxi0Wu3cJnTh5orH?5weNti_Eeu6tE%K-k&#M==;>Pjs83N=mXQx3;sv zyZ%xbx7N0U&2TFWnx}*A`M6d0YC{be%RPKovnA>lj3oJ4uTM7mCpsHJvl%qc?6lkU z<>A`XxWrvngY9->GvFdL8*h?DxwBEP(~Cv9CwI2Cg2<>lg-6{XXtdkC&BoAOj3;EMQ$-tn>Qr$j2yjb+TY7{fbqTJJgD6`tQkkWNK%W!#A8KbeP zq#%ki$9J~dVInI-))u-f8MG1Yypy7}!#zE2WwDeuTC0~NqA0V1k4)CN8lY|j-Oa$% zu5>obeN0&B#dTz?^tvc1snWwQ1cNH;>UFjokr34LQ4`;0ZA+bLTqoDgt)4pbG<(6m z*zGi;eruq7I$fu%h3}%ARFkbFJ@dJd_2^W+)KgIqBpPI)Kr?(Zi06CCWTx3luTrVi z&`Q>p7lm`8aqxX6NZi87k}Z%|_fvXJM2&RIbc#^!sDj z;3Dybbi+dnl6M!L?80{Gf!&YuEy{f2+mp_>B>5i3lf4!`Nk_vu*Xhq)2)lD+IO!yc z=lblWJlFQ-yt&GJv)zXIt*{-4LVx}RaDHm5@rKM0`MM0L%ITqciA|SZDUC;y-E zKkL-4|60?lQnm;1gf#tDp(XUBZJI9m^`pk8kfYP(Iq}K!;p1M+m;p-Z9WcY>vyYv* z=z5E}lE{vM=?!eft(`6@1_q{W@E_oTNtfe+GGy(r%gKpxoQ|XQlbzO6??6TnuSqx*z z`Y>d8j>xErDT#7|jEg9gamaXCXbT;(M8<|z?#4WZa7Vs|y}H6~T^- zTTEo&KtJE8xJ&ey(8W=4ObUVJT*lNyg`D3=nK)78Oc7CWM8s0nuoah31I8hurD;-@ zh={a$MOfvo$=(g!jS;(0pqUMN* z1=D{jEXN^*2;45=Y&rHzL|9gi33fE1C5uHfMR}XAx{tM4w;WH296FTXJ4~hJuyo(B z8)-b5Vr0<~Ba5bY^$EU0$Bi+Xnpcvgch%ME9pzoUZRaz*s}Jma3L~T&uHMxR2}Z2j zBDgl?7bg!<2QVZa7H)7-p#(qSd4dzG2+R@4s4XO!Y*&)=yxxK%VydQ9xrkac4l%_% zFR9Al3dr>mF$4R6@@-9UQy~ipN*)tAbSS}Bm`aokblcd$V^TA4T()axYb#vW$d8z4C~QT7hDr8Q%}O*3?YQT9lV4jw z^K=vvTk$y0U}*`y#-l{UP}dDZVWVehB`U6K-$x1`iXLy;sA3Wy>RN>h<71LsTZ&11 zDE(`gi9WT-)M`{**Tk!))hK+Z#A;09L+!Dl1CjTC@u75N7*kLNF;iRNy7IlqzYZ>I zJ8z41z61?r)MnQa#f(IQ{so`$U|C1~pSWxUOv%du>PJVUitFyAnK@e=o>6E+*M)yOQ=>hJjC-(z!CliSwGbIXhL1 zzmpNiBztYALI2Bz`aegm{V1myTWhy9%Q1qUDJEQ3y^F7vM%s=^zE&y?V1oWUlkahb z)7MJ6zPtQvC)=4>=hf|EcOb#w-xy&}4WK~$F)8PslhX)WM}q#NDDE+(QZuy*uIt;L zxl&Pl!CgSoMn}%q_uZnEJzAPFA$7lq@jtH|40< AtpET3 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-string-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-string-l1-1-1.a deleted file mode 100644 index 53a2fd9516ed72ee64d69c18bcf1ba21c0f9f0cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2754 zcmc&$!EVz)5FIBeDNzv|dguum2_z2K*dcL@R8^6B0&ze>2yPoEb`n#^iEKkS_7nOM zocV_S0zX8V8LyK~6B9Tjoyfc6+2>v7?VBAxIrWmk_^k0#Up2dJJGNuJe$~=-i-*)! z*PAX5u=N@MPy^6<*u4d)|D;QZb0I#aL6VC1K^7$9eCh{c9>(4*6c`L0*AY?Jr%OgB zVLX^7fgr>rC9L3kbdpS@SrW!05!r%%p1_$V0SGY;Jb%Y)f%p{0{&b$ciPKpy$Ug9^ zG`md~*AFK%Q9cg-XgJTz>4M%eUTw>A97oq3x4q!?opukY1!!pi57|4=%q;kxv0vWk zVD(Jj%e-<3k95JhHv4J11qPRd3u(fqtpbZ14mEr))p))f*Dm6OJ1oa_3fyyajyB+m zaTJ9yNe$G3L82fh$&6eSMr0fKGyNz6a~MW}eCYQLz(^Z<7ezqERSs#%>aBGNrt()Q z!zkQU%PFxOJ_ix`FX(J zzi55T$0WkhST``t#$RI+1{$jk?jRqS-8>(NU*dFW>RFS&^IC>5xX?QFl%oJ&xXqgi z{6c3>1!Bh)NLD+}vD6~V6Kz{H=`>v>$LdVXCF+<;HmO?Od5Rq3^#aE~ORZC<@2;9G zPJh}#s&aj0U07C~m1^Q5CfbZ!ig;r~hRkmnaY hPe!Zf`SO_W^K&4NoXH4v75IT|`Nz$+kDvYI-XE9x;XMEV diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-0.a deleted file mode 100644 index a35e1439c9ccaf6e88f771f3fbc56c248332704c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4448 zcmdT{&2G~`5FRHfEus7fA=IOb3MUfmk~*zap-4qYNENCo5I44N>=4uZ6x)y<5JH?d zfYkRuyh8=A!gEk&W^HHF*hx6J6)SmnJo|aqJNtc}_420eH`|ZO5A@Muu9=o;85^s0 zT{pN(t#!R-TG0c0WdK+J(0&7yexkV~uPd7XbX{xFCB&8xF9O#O#Eu)fzS!zJt{8Yd z`_L2U^sIGDbi94KB5&90HT%9R2+<7)EBJoUA6PZfF@-4%VGA6h>w*w%*LL!n1jI|4 zbk}|F`XQT7f?e0~e76~T{a&Mn^LyPxF&)MaKlTE9zvE6FXd>=uz|Zga{iYiPjrI5y z#{A&CZF*s~pKNi~-kOGCS-7oMy_W3lwsr}(7r@W}uCq0#RYUhEWIMak!Pu)hc4%iq zxTgWeNp(L6roiA6;XE2}r50mLXq521)WYLQ+*<4>+(I_49^+QfSWLmi{Yb=0H>e;H zD@4S~fH+a`NZz_Kd`&L@o|To4K|7qr?ijDO3NBHL+8^75i|w=RB0A=QYSR5Y$LA_rvv9o4 zUuA@2VZJ~sY`^OrNDs3NE8Gd}4_o=335OanXVu7tl6mA#eZ|mB(})xChMM!# zNKct}l17fwabp_!oQ_L0atGHpt41`bk<1e^F^c&0zv|>3Eda|jM11R_Y`( z1ZVzACgXDbdm1Xmm{BQ)Ii{2k$ew9Rd9E<*JeBfFnRk*>+UdA4rTFQ%L@76M_h(fK lz~~<#5$Jzb#%)>vmZ37L(!q5BzF{jymptL;IOlU(`7i$C^I8A^ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-1.a deleted file mode 100644 index 685f805f2811397545feee44d854d057fc382608..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7040 zcmeHM%Wl&^6uog;TB`C80;vlY29*U83C_!Hr3$4`fsjB#q9_~0V3G;3nnz{3YKvGP z#F9nXvthv(ut$~nBR&AQcgBxNV<#>mK~+1|JbdTOjD6=E-*I|v)pF{sJ9D@7{#2+G z%z|mGluTVWM3-9Xx>+jw176MnzDo^X#l>|U?I*^b?{wrqw*+gvtT+kQpaw|4Aqz2|U7h>lBGCa!mSJ7$@+ z3yl6OhEsGnFxKK$V_b^>tI?uQxwp}BaGiDDw6@#cgKh45kF9#k?(%9G@4@bDv2@Uf zu9)$O)2nmWEmjM~V0c{51MWTDb3NV>gVt?_*S(&zSF0`uqlO_8`qoB{7Knt=#hP-@ z!!b#{YbjOfLp}Id<-t= zM=9kxZVsiCBPr#ClydDt4*&9vcAIedrrqZLfM34>UT2!tW?=B`s{d%Y?4dOYrut4x z!YF>rCSeqxksq=dD*Kb~SK+T|>>7d*z9L3sGuQej@vnl}38O&+%W=QEh~2FtuzP8x z6uy%KcAK~Z7sV4y{cm;`eMiD&Y!JH_e0IInheP@s@}y2*)J&0!^>A-QAQH!7}&{IuPEKIw1d&Pot#1U*tUxC_{h)j#EwA z1gMKr78?A(#<(NuxMH<`AebXnxdx_+l-8)2u~exjs+tk5_=wDEnwT;X9u8tc;6wm31MCEqyU#88N%@xKLFz-zs9>$K&uMC(|NURUZ@B@QDw8 z-=M4g{m6#rLl}8p61=0eiKhT(F-xD*wc1ksPRnNpBMYeUmlS~*88w90XqC_s#fShS zJkh5X@yv7&Qe8Bj60I)Pa#LK>a|V_T-$IoJ->^(~4m`qK92fW!26~Y=_5Q8 zpjCrUSh7Qptb7c__KfxWE@FQvCHspj1JU9GGGY|_pDV1HB>S7ny2IGN6^|QW|C@MR z$o{Li!)e){g@iA}ntZz+R~6{!14@w!?n;9wHTZ%xOM3K?ALsJpe?qD#o~nX2O_DzT zJD$!^|56oNk}B3tt}0UgWHqUiQX!=(O6vEzJlmeeip9T*6`3Se6l-{{IKC&Q>-2iT v6vc}B(jZC=zG9seD~|9}?4*=ooGODhZj$i=5|y!ba+Q(#UkqdZwQKGVIFPm+ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-2.a deleted file mode 100644 index 3ada2fbd74ac9b5bc97d760b58eb322a4d172014..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2740 zcmc&$O>fgc5FIBiDNzv|IB;~Oa>Kz+Qzw-wRH+99DiRVx+}OCWLrn9f*ikqkjvOog z1^=QF|BEtj)=oA}(v(BgkvzMeeco~2zVT%5I2g4$ugWj&dGiiE-}Bw01JAZySu(wC zR~yyrfo7SAwur3HJRB31e&JH;RH=_iG)mO_D2+zybPz^r68D2)tT-6^4PSNRb6i=p z7x!C(QKW$ACBQ1VpA05`O?5rxsj3PTZ_$fLsZJDxn@U3JP4Wq8Uyq|CeHXMkaX$NGXXVwEImdLe;9?NXos-)4k zROYLlO>VOi25GPwA}c54URBPMWDSgd02gD!{aTLY)qak8&QUYhlmxt`HrOu8I5tt#wy%$V=XaXv4L+3Zg;jE=zDSJ%%m zUS7h_?6$tIHHW;=DA7Z{G~c*4XC~)JU0m!cWcFTE17mc@5XO*Y8kzNn93w2uRf_yx oyo0VRJP$*5T`Bu=PlPXkj=aqx7z*^8{klIicl+D3;R-DO13&xK9{>OV diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-0.a deleted file mode 100644 index f124666347f1efb6990534a8ffb2faa4de6b66d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8830 zcmeI1O^@3|7{{L^`_ir!fhvSrRIzT^aw5UbW}RKBsv;H^kb;Cj+>mCSWOn1-ysTnZ zYyh!RMen&%D^<#77EdaOyP-+2edgc3PLaBtmiO?+00|uMxO&?UG8<})(fz2!`^p1{QN59gAVT; zb1!^2;=$KmaM5t8*uCGsWV1xrMswK4w{P+@ul?v~I0*Sw*f=mA&!~@{9D9Le-}2!! z2|oYTzz=<|=Rf9Jp!-j}|8yC)^F@XgYQ`w0Xp$|cS7`FVS=db&!f0Ybq}mvGtsd{_ z(dbVy(Mq-q+c_FuKGH3u+9N{%9sjJ|3M)fRSQc51ZM&{(S#EtlBCA>0K)3+x0x~3W z>xBxrg2-n_7T711ju(2_5>e9t`$eS{1T$ptlyp8dxLecOHO#ExdznGBCw2R}oOIW+ zb#<-V#msh!PS+#e<$h2`yvu}lS>j#pIc2A8S312O3M;36kE;j%dkJt>IQ1@cfhsrc zN8Odi`XrfYyJD8cuv;lhW7v%BP%2QI49c#;Uh7yjMI&rQ9#JaXO*W$LbnB!k0u6lb zzo%Qmzq|SUyM8$7-!6WGcf=Uh-n4&Ll_}v}%#eTIRQ^HVIL*Jc-b@W$#EV(4^Q6=H z@pKytHi2Rye^c1!Es@LP_I4>X*C}SG#ygd(*v{Gi^>?mnLTx zFy~(}kAU)eVKM3jpEBlD#jY{4Bv=vSrFW2Q(eo6jcgf0!;vRt7ktJWM5=x5j2gbA3 zr@0ofb6#kRc}MW!=HsJ^iz^XgKAxdjX7TZZ@)=4N$;YYD?=(Ix({&SkJWkg|e7uk2 z%ge_G@sY9v!6t-HEh`)J8$lsvpTD_AfYIaVcdWWQrVjARVIk@K*4VKYcI zA04Z`xcJI)%kg@26vyaD9P(o?%S=b!y|_U~V)%(o$5hdxW)CMPAFCA>0g}asg>`vX zSOv{T`rlVe%}3r97P)@<@FxhFB3l$Ac0NX`lPj#%c~!g%d6n}jAVyODpd|*EdH&d; e0bq!CAPsRZqayr@8CqSX3_ZE`$P~<%iT?r52NE>^ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-1.a deleted file mode 100644 index 2face461e92ff1fe59bd06bd14bdd610010e223a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2682 zcmc&$O>fgc5FIBeDNzv!A;Hn0!U-EYBu*+-C{iR&91wylTeo(wRp*1)h$11xPv}qT zg}+6aw_Yck#-?zvx{-HhXPh_MhK(r}rIw_z48#dscs;%hwf7qMVx>CxlQ;?04ZkmmJ{c4Lv~VcD&L6@xufzmQ=dMwO(RgcCVKmObL(@RN z*%YsmuN_|c3r2DUMKp~ko13Uvu{$sg!i(3QYaQr2`VV~%4z~5}@fqBc@6ftweRma= z^neZM`;pQI&bUn91zsOD+$vx6^}+_Ou&<7L>}V5uWPV%nb4ObLqVh<72pP^zDuyOm z^ksIMd!)|j1~Ngin`Z*}1*hw#e_`@x-pUOLE>w;Y*+~@0KJOazi;db#KyB4U)i9Y? zse_g$*L8Jc;PkY*(UxRIar#pP4X&d=9ASeq3d9w-g5piH9MeB~Tt zu3I|K2-n=MCZyL~SvyE6U9yBIe3w>7RlaJ~WFtT1JK`Dge8T-`h@R)iLpdkHKDozH T9t;h_%a{Cjsr*w@cXs^&&3?eW diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-2.a deleted file mode 100644 index a5e1060cb1e20bc3de3a8e90327cbd55d4ef1412..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2734 zcmc&$&2G~`5FRHfDNzv|IB?)#P`P1ahr~&x2t}&ssRx9_tO%tc(V09($&dz?`vA_Ms<5wMj-XDIby))OF+jKqGbB^i_({y-A z?@hDbPUoiCs{ud-z&OL915o`%mk`H7e2L{e7N2Ay=i+!8Nbx}*o}c;^zAaSr%P({ICUMz^E}h^T1|Bbz1peq2x$dy41lL>?HP6= z7YW<>oe56Q4*bN=hww@loNN0$j_-iM55k4C;b9}g;$cGtpG$ANUy5sHe!}hN<60T+ z5RHQ^xNIE-VU1%81!0jOtW*$I4VOAo4zx=K5DpSzUb?jO}NayJszN=3e;2P zSDBwDY~4rYL;gG>92+YJ2FdVZGDI>m;k# zg{A6Y51csl!~s=3@GE-krJO5%0KcMV%6o6d&SX7K%ps{FbtKP>-+bfoJb&N3vHj7u zKRoE(So_Q#Pj1uoT+i8BZ`!uQO?qzI%~nHo*jodD^8nTJxdq^%npg=by{t zy}tqIxbTlWF1-M_^g@UoA-;=)VJvP2NiY;UgH9lR4*ULbD9{*so1TcmeL9r27xoVZ z!$1(C7ZX8Sij2?Nr!|4PW&A z{V3>+-DBK#w62ASox$-h*&SxyIAeuQFSwi32O0f}c;`Bf=Xtj6wUCgU_SSYQZy@ym zoC?4@TwAWx$s=4Z&TMe@>K#Aviy_?72IpygKaQus;FNG7UGVBgie19W65f}d_<9o8 zOznhQEylG{+*PccGvLy86ho~S*H8>K5<^Xjp%yi2Zq2E8q6mTY!!Qa|hksuJ{8%~k zk5YrO>;9wRs%OR|nC?5P2&4I}T7=PjMt-PPC?8MCuk5d7Y?^>!UlAj!m5;|SqR!H* z6UG9X_{>+IHR5;ofAG7tmFKsI&){92!_uqfcSE@nE?|ZDeOd8?p0SDFDPAu%T&5Sj zJ*^Wit)DH=prb03t9X2h?Y9-bsjz1kH?nn}p4tWuwy%u~qxdowH#QLynQ@t}=z80T`N@p) zu$j|k%-ag1Ojy`YUw%So4x%W?AT^Cga?=#zV6=ZI~77KpIT;!%a^>ut+3TTv6KqIe!Q)I<71-#xF5k1Ct zMiv-9rYy7yKBQ@48pVQbY2e&~M_3BuwA<4^G0jU0Zb>by=e6)_2`&7ft)lac28Y_X zlcK?~8JCL&_szI$*`s|y*=SH9Ef~KJ${qHiMg^OBuj}D+Wud}?KQSjg7^hzD)9Jia z;gnN_x3!UbTR1_cOp6dVH8#yt72j*)PEtk3jLWH_Z^mV+z@HzbRRN%V0cXA}?pp%w a4JnNx!!>E(+=Ab*#Q!-Zegn+K+cec+?RVq`bp@bxu<|kFf=4`Lyqvx}^ zJBPHOC{%!|3W*><2oMj52S5lR1Uvu|ss!Qz{sA5l;(-SqctSk2e7`fhJ2N}8yR!&S zv}DJc+4anKX6MKEGvAr{&deQrw%uP^eQxaOnra%;jaH*oKhd13)#@xrc5AifiJ2CU zadiv;769)18^8m91lWCy+r6g&$nL+w?SYp8$Uc6X+k<}qAba?)+#cHlK=!HQ+)lg* zK(?{L?bNpc$j%Rj)cIhE*S55(t?ew_qz6C&b{S9vWm>05}f9CeaKLN;o_V3)@{09Kp z&;N_tFCGOT`{pcJ-=FvWi-Vv)@E3w%(D&!pmjnMZonCvRs~ zwB8SVqF5Uct-l;x?<@rae`&q9(z)h$8$SKDeN1L80N-B?+RIz{A@JwV`WJis;96%u zg*dl9?5uQ_+QZIzZ*B@R&{^BSl4jDd&`xhKY91qtcbZ;C9WY9W1SC%n;XU$ zS_r2mTC6VrBR$OPN*mu6`s*7(fB4$vxu%?3jGspcvzb2Pm_?gN zF*|E4A(bSIKi_Q+2FCm(OPEQiq^5o-Zd581PediaxV%1+9MNb=RgzAE@jt#9U}b)& zw~Q&RtzQrP^P7to`aysVC0A=U8K(2Gji9GDVq^O%6jF;RRaG>XOR zh<{XW1Qsa~h;h!gH|F~n)-QK@lg$_UeFY1KFpP0#9U&J)P`EtTXiD{L3dA@c#>P9} zS?qRt*HrpsKuEjL?gzc0PAd6_l&L85u?hy5JDCgUYc>(`(oP^aGg(fXmf{)g%CKf$ zM_$X%X@WQ_%>>68b4bZ?x0~MCm>HF2C`u#2pBuwf zQ^QBz;djz|b6J*B`7m zSZ)v7=_D*<4(e}DEDi=aWN?e82xpqT88HHxtnv!@#)yO0Cm+O!| zIhyz`k;(PvrO`-rH=0Hx)f?5t=m@#03G0^C*>()dpkehzTroOwL`@|8FG`(gJXl57 z#q5T0`Kmpa&(<3nm$$GLaJq+P+nwg}Cd&podsuF84jpm`wX%uJBYOEM(Z#5d!=rbi zi{6t@oIb-2AeZpJgVoRd?9GPHSJ})H$)L50?(c7`g`adVO-1K`c*(%uLDX+QF*i zP2}J)_NJq2C;A`9@T(!0)1$U^G9>QvsqIL%eMbcn)TC5_swfOmlS%6mHIsIznVi-}TVFtK%9Ay(NPV~M??TCuUkMlHey*GK8vSjI`^9fy&|h>RGAy~I73>%lMa8DS)? z3UsJsQ@TVq<_Q%safeC_RpuGX6I1{+0x5Isf9`njeSA@o z5*IxUAPEAOxTss=q8epU`|`n7Jco%TNs&?3ub63afCV$G(v8i;U3KO;HUT`xsh6Yb-JEI<`O5i zdURbcQsLyk!^vZWlW1qQy78ZO@RfRebu>hUz{xoUCqD~ul3sijD0y@)ky7c?sVNhq zC~ZwEPoKUI)3B8&2V|tMWg7$t#xL^>#8#gkaeh>6b^2irb%_Q`eR@Ne8@G^!@>Y1S za5iJy=5mGC_3n})Xm~V6L%gl}G9j|eXgELxKqKS@9z%?c2j9VW8douX7sWP!AsOfr z3znMohCbJ*upq`zMX>M)VIgtqjM%2kSfKSeG6D*Fz5(}0(@VYJ)svU`y>O& z2;QII9?bRNtN4s~Upnj`pTZ#4m;GIGzNNl;MxPsh-GcMwlMOEC#wja18t2oTh75ni z`ZkU8-!jw1oKL$;Z8?8$#QCXPNBJ!el&>;Ngr}(hXap**vj4f`!SC=TLPbths9HOM zi&X@dII`4lS3A~O^C$2YLkGE`LuFDg1V|QcD%Oe}asVD$j8b z=6diwd?uxebg7&&+mFUza=1%GSZc(lbVO7;slCIUF6Dxy7QNDeWR91L=svnqd)(L$VSG9jp%teaqU%Xdf1Aj)O+<4fl;o*4bLk|zWg05JwF=i^F@7_jyul@vOsaKpH;a!5XLn_|nk0Bm>6I~i7 zsYO<QsQM^d9~g5ktntT1XGwxBv@*> zr}cdw)t%@<8WdS`@)!~_eo46GsCYlY8jaXLyTCn|>%q_QNzy_5z_ET6qY9CXx?+Sb z@nWgpuJ%c>)=rZgMfORJsCZ$@DY}iY%#y=)pOnBzRBUy3d0MzjL|AIFtDC1X5m96; d1rj3oGD`Vx=d`_fD&+XM*d|G#25vnT{sW-YJIw$9 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-devices-config-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-devices-config-l1-1-2.a deleted file mode 100644 index 019825e968eecd6e6276e76924bf3b1ea0db21dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14264 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-devices-swdevice-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-devices-swdevice-l1-1-1.a deleted file mode 100644 index 7c6a174f8b6aa7de7eb9618aa0629d39eca96b27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3578 zcmeHK&2G~`5FRHfDOM325JKW&BoG`(u$#m+QiUQFiAxVi6%x0tlWd5oom8=Ddf?DU z=z%Nm(l_7@c!E9yWoCbp&5u)%NP2*cygQ!xcGsTy#!qcFqysM)M~z(aA*U-Edc8)KshO91QcRb@mwm0Z-Hj4V; zal}v=`GL>ks7063CQ-jV7;;94Bqc2C@RO*`QW9J4&5p7VCuoM|I;2B$|^bubP|UMxJ<^?eM3AJoUO*takg z*y`O4ye}z1Z;k#lU#_${YqG(Y+-IQ;I&oeC#1|Fe*aT~!oAo~TkEBL$4Q?PCgm+~&kblXilV*Nt zF-rqkf8u9A$u{1iW`a4lnBm{gppN)jL@UW^-O7_GO9n3KggAI+jY zz`m(4N`-@SarKn$&d(=0JP(1c{l<9#0mM7nk9Z1j8!zc+x;G`$*R*AEzP^B2iA6O5 z#e3l?+68AB)m3G$QD3IAMZ70HgUl|PPmOk$+44x-1JF8B6DSQ01^9-2-brZbF=-v= rw@Eg*|FePOC5gQFoc6b~0mj*29Cig~{*i1jUVHve!>n-)|7Pr8>-A?| diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-classicprovider-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-classicprovider-l1-1-0.a deleted file mode 100644 index 75c617016c2e118bb8832dbd1978d27a537ef19e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8650 zcmeHMTaVjB6h3iwyCqsKT5c;9RYn5D14-@du9Kn)MXE}9Sfr|IOT`1TPCT2KI?iIJ zOObfkC!Q-I9^nn~2l@m0PvDVXK{;o}mvL+-E|)}6cci)a%x911`1^cj?02u(!C>@B zw0NS4bn|}bjbX(@_uK_5(I+c0n1Ywxp z^kv@t0f6$QUu3@g1mN-$#;!AVH{?OcZt*D(*!79S*|)B5pSTQ-uGO`e=k_T_*0Jjk zCIM%J7>9&q{FM7s*B`QhXNRFXI0+`Fu7g+eOlC5J*$gi@=D^s9+s<-^1a{XC_|Oe; zR(Aq>z;8Zuov_!%n{dY`IO&pJf&H9^p*`gH>|T36KB1sPH5I{t3B(O@PtR;;AgS?o z?k>OR?Iqx{-kW?XE`B%}4temI?K>XtB{y5v8{2RAcHiTN_~5+MB_*9%^QWFYRNPqH z3C?!|r$22?VxE`r+cXTzLTYym$#-2pY8=)sAjJW$)sV@ewOMOT`6DFu+@ynX)N<^p zJr@Pg1LJ9{ABGEHa7H+nF8JPljNQP-2HuyN#PuZZAhr|kVmYo8;|y$U7vSQ46j^f| zHc@2FSY*u^ku^QDX*P|P<9PtBW7p%+$$vcq7}k#M2eBcttG=Y6>oemMO!cEyhEaT2 zFT*JQBcIf3RAy7;W8u3^?3#lSej|3&Yge)tiH_o{6Gnpo%jLe|1n)=HdEag03tyy^ z_ZB{n*Tj4_R?Yi%!IX_Cl5&vPFK>nr0z8j&)Qri&P_7?&uHu168|v>0b$w@ABK_99GV!b*So?0q_V z{5Z9d4vSV%l7}=N@fKI7n5CcTSZ%4krXlP3xC3gW7EuNw9SBd+D0r3Ws!EacWE*|GEEtk3aRdiuh(}mf|>Ee5I%OYLe ziMT@5GIjBlGVVNGjEZqNT?ECrL>D_azpA>p0P4=*o{gspcCD)>-lhp)N;N_2);MYK zGdAT`r{czGMM^lRrUYXzr-Vnyjzvnir7&ojO88P4cb*cQVq8uMeladl0MeM5)1#SZ7p_+3!cnSngU(i30l-xqooZeSD5m0?GbA;r=VwSC#u4 zlKbLA4^f2H7wZ}UUZ)9QO1b}`G>B4zpRlg(d{=I7KKi?aO=UK-7x3IS=`|D8f z7sqE3*_Vs-*YRX|8mc)LHx;F{c`^T=%Q%ai+@h^TdlP diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-consumer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-consumer-l1-1-0.a deleted file mode 100644 index fb632e15f3957846434ae096cc3ad8a7b7c43b59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4306 zcmeHK&2G~`5FRHfDNzdufyB{BfH>5_ZW}k1DikSKBzgcLaoM=ZwlTGxDt4i8;sH2R zJOWSBSKtMB08TssWoCckO%v1f&{Uv~;@#QV&%4>#Z+6xXw}N4}|Gf6h9v83S`JV4? zuDQ02KNPdH?X`w%+jgf00E++_&@$#VhQ9uB%ZOmgNk;>b6wx}ZQE}))K+$CFRUB5IRNVxz-^%|SoMq_WkN45Y;ZgEUXTUF5Yf{D z_oTj)rsu%mGvPuS@X@-)R#2(n|1w34CvgpJC){E&ZbRdqqOvpvr~8pcPMkVOBS+K7 z(KK=*&+#0$-isor?}iaqFa16R*t2$neQi*7(}y%=`OLfoGyPX8!Wh0Q7hw#)kuS;? zmE)p(D}1(qU4Ov{e-SIn7I|z^^yq{s!9JFAirpG9y?+6wH{Fd1ru(=Pcf_J9SIzWQ z?b~~(5Yrzhme5X5W4gwhwSgN&j@hqu!fE|%y@ZA;P)TP%RrqIFXtQv=FAi3OqX^!> zZq`3ch!`k>ZEywgAiOK%f&5E8&BZ)xfd|Mhr9W4U%y*4>1(r zCO*=?)HXHK$23)WGPi)4g+(R-#dzT%ng!o7GOLPPBe#sjiC7=~2N_rNJ_*e(@6E=1e-kfLLg*fK&3wh45%X{14$sPb3-Vj9 zET{cNI1iA2 W$I;xxmH(Ra`Epy+KV|20lllX}`pSL) diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-consumer-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-consumer-l1-1-1.a deleted file mode 100644 index 3579e9ead1859ae81a5a1bc42a6d6f8912fe1993..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2782 zcmc&$O>f#j5FG<4DN5BIa_FgY)mG}Eb`1eTq^Ls5C5IkTDLpR+FTsg1k!|{QsCw)% zzoh3L^B4Mun$E0u%@T0o0vY7p@$B=idHZI^&yT!#FnU*eYtCD}Rd?&Ib9m4;O-Bsr zt!Xw6oAQBP4FD~j!#R{_Id;C5UV27S6@ zbR0y3Nz54`#tC5=|HPv-h|bwy5+&0yP7~G{{XB*<##7 zJQ?sL!FM|GB0uEag9g4tFur0dK;S3eynbp=6w^fv*B!@oUDI?st(@Wa#sef7plJX+ z7T%6wr~FGQ{Nlz0r)T?K>J>x8NEe(NyPqU0VDN)*0ZsU_sj#^9P{H@oP0W|!S}IPs z-C|r@;a;P&w*;rgQ6APfu}~hCl82?_VTE-If3_cnU=M?k%ZL8n0-PH|?@|S1T<4IM zEZ&Q1q5oh6U!;n%L5wY$nw>BuxWsl#Iaw1* zAFZ$Sj)RAcuwG3m-Nl`FBK}n6zLnlk-0q`8N`ER*3tS%9GD146S{$6I+{i#3^buOxQBcY>}L5u{1T@#)6bghofk4h zfR)y%ryK>qVw776{-D35QnBG$BpM@8 zUA*4lcu#7bI&*W?BtQLW2dTdaM>4r0>fxID*bz9YnZUygHeSlBacyAmTq z*qJxCujuajdKM$E_MP&h*0fI4F1)tI? xt;}Ps*39LN_`mcHS)S4JWVCvgH!s9}b{=Gr6B(hd1i!Fd@ujoY=g@Yt@gGx|?4AGs diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-controller-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-controller-l1-1-0.a deleted file mode 100644 index e677121f167e3734dc7d52d18a175709354aca71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11062 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 A?*IS* diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-power-base-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-power-base-l1-1-0.a deleted file mode 100644 index c14203cfc4dd5ea4fd564cffc7eb5318b0e40213..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6304 zcmeHLTZ`L96h4-ByBo8mr8J@Br3!3cO6*9ES56=l!={vk5|%B2J`~3CdK{}OU$C^< z(1)@QA%u{JJT%XJEA&@1A^)O3rs+9nbQ!OtwYFe~g$~SUbmr4s&U~NFNZ0PTvxDI` zwHxMqvUhC9cC6dYwrN`2q?e}Y*y`RiyEOpV0xX;v`KM{cYbXXl|M0Qwg^fwf(js=+mgP7Ova{Wa z=-jP+U-<|L3Sd=`hg@5)G(!0#Q=bxn>m;4JZ`bX*)#&>^;Ti+a zm(c_Nya#wx8MueBA+qcKqv5Kj#w3{TJEI7r`K?-n(R@aJs8*<)Pmy2QU+dU(28Mk_ zjHp(w&36*r#k~{8fIgPXepfNOhvnJbzI`*pZU=YZQ(nQ^hh}#(awL3?6=L@n5j$vy z^Vl8Z^{a+U)S|b?b;8B<(^m{iutA}Tb-%&>`Iv2GI6mY!qWWaMz#tqRjSrQDSq2|K z2kc#?1M)BVG)?;ZMa?;*3rz>d_;DAe281N1&%Z{MSip|jhpvI~SEKDty)}olv zZsSph6UB@TcExYVTsqzmkM+GK%O>XQ*zQN{ri;0}n325WY0p|X*kf&6NMp-f%(#V^ zlYCsFD(deJVqWCq9Bk%v9m`IHiA;Dg-@N~d?q0o0ZRjoFIA7v?r1(d3Aie@z!mNBx z_j*nDKTV^WjWD3cVNwQSRPSYsAXp~^c)GbC=zuQ>6m+~j6^?c!f{bG4qLIpo*Y+R)Z2HLn9 zyE9)b(|lY;1;6CulC35dlvM#h{_jWZ0{L=rmGC7k08^@j4&ST7fZwqq@|WHz^J{j= Ie+g>;0*y*&3IG5A diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-power-setting-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-power-setting-l1-1-0.a deleted file mode 100644 index 1b632592892a34d69c5438bd336c1ad35b5faa07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8748 zcmeI1&x_ke6vv-(KSiximW=5X*&W!Z*K6)eh)4lez z)Bk$oD#n8-73b-JaWN`|fzuYQ#=q zu2!A#u5Lcd)=iix4d%Pm@!e<6y-wd5I<1}L6vMq_jY0g$XJ|x){>ZOHrdbNw| zzjgfNy2{N;_d@r0((`NM5S=V$EYq}Y#1P!uXwI3~4NvugS z)pq49jbgV-mPWA|*`ZRRGM=PexxH4gYleo~iaerHB5S2nFgt0=aD-(6Ps$DQ@ctP* zyt%uZ@^BmP0zUFFt-Ngyuk+Ku;u1d_fXmWD=q~F#JkYDPq6>*p`-5ZB1;@#H6C2in zN@9PV+vk0Ll*iBeJdB|n6ZaYD`TeJ(C!&RW8oUJ-xOD{!WM8srl+nZC(6lG%3V+S=8y)I;n=G#NfbG^>SZk|5IvL!XL2`l5( z>(A)dDegq0v<^Jtr*>$hAg`k}$xCr3i&@y3eyc|*!qTw?)CkNY2}rN!)}mD^K}!@R zf);Lp7%Ti*=^O-GG@cS&v|!~L{|!LT0MXKtEmW1^4=iWxJ(c}V$~I#6y6CMlMI26r zeNF}4GvUzsJ=&Y5Vojk!eYK$Tc!#J^FJ1e}mKGF7#dc0A?1r)r6Hl#EbftN*qA#DH zR23O3rpmgrV#QB-T`E@mqSuA7;&Z&dmei1Ui=>YgtAdJ|Z^|@&nF;w)S|ExW4`qwE zvcItsabu<#&iZj-;U8kcXwt~Z&Gt@;n_tmS=5fq2g} z&=2x*vl8P*_d#g6nfXEz5;1dMwop}uzp#ukqccJ4jGxbnBj!d_vCF*6* z|0rA>3-z2VSZNk$$1;zF`-%@0$-keArrs->?)MD3`4J+amT4NMY|C);R%m_XIH6Z{u&0fKo(&eBpeT2#}Yo vBOumQ7y)KZ0?zkC1WJ;WFb14uKLmn+#6PdgO+o(sP~x%^`ypNLqFMMK%)0Ed diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-appcontainer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-appcontainer-l1-1-0.a deleted file mode 100644 index 32a362f362cc37382fbdc0d0820b33d61f31d9e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2830 zcmc&$!EVz)5FIBeDNzv|df;dfh)ZqkG;vd@LP0rjL68gQjT3LMsqI9uD+(vXnM1#a zQ$GWKhBC9>O*T#3h6CwJ-W|_A@2uax@%YJ!KO2Rw8ZXV|=C)nW^_=6wmT5X-O7Bhc z&@JvwbI<^Q8i4T?hZvy#i!R1`jD5)XEMtA1^BL<+0?s~1sXvVvIwP;+u{aviCA~?M zjwUnC2$5ujWf>ox&7%AZ`lh2vn)^|TOT{j8nZtaBt0f#53%MU`As(`SXuI1Q49D_ZMVlE&2a|Q6x82hKnA^kd! z6t;RTHo9C{({0cf4V)0Z9^D)1Bg4gP>O{#DvuhW-UD(EcF+ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-base-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-base-l1-1-0.a deleted file mode 100644 index ab6bd64c871a56a0620b1c1b99a76343f21495e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82690 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-base-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-base-l1-2-1.a deleted file mode 100644 index f5e489014b0aaa1079efcff697e8eb856af29f89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2682 zcmc&$O>fgc5FIBeDNzv|ip0@KMdDB!J8GOns!*f|PCfL3khpA}c+*&Qk}7sXxpCl( z`jdL)Pf=#ZyUFIm6b@-e^6q%{dB=V;v*Xvt;j}+|UwdaSi{J1AKk(Z1mTh~yWRA97 zZ{PyUSq%Ux0MNoiS+~t1n?|?=dA5mZYHlY){6%lyfZfn zv#=P#D;@A|-CmmB1B35`i)q7yBaOwdLIvN;6y7h#HME^@yT!Ps#vP!tw*jZuG4#$T zbujdf4!uL6cM{*JJH8tw3Alqek?MipcL3+sAiU59WjFaFcjXnI1T(oS6=4kC%0(E1 zGvc9a(YP#%SLSO6m;Qobt|%kQ7O}N1dUwK<;2g&XsI?kp`0zh6yxDHAWq5#5c)=f3 zdF%|YYhL$Jp$vbeGK8YMDZ@41oDJN(V$5}|6He=^^Bx+iKqJ+DmHBzb+P~!akPkwH zqj1i^ARAtdFLDcK8azTRFuQpz5WmFfLd-KJf9JL8V6e_}nyEek20Z3N34WpS04-pP z{YCXLuC3G~$qVe>?$KWK-V>|Jgj{3(QX{5pHX}}!UAzu){Z!>RP4@P>$NaRX$Q_}x zFNR-ObeW~@(LzkL88@#j+V2=KP*S={wVo3L< z>2>9Q(;Tz_paEcvv3U>B{6!aIea1fLJj>ZfUhs_dCn0C&@o6xP8Ft40zR!|)NLSgL z#;2o6#u*{foUknCqq8h7zOiADbC$Tw!(YH~mXrfy5f8!*t^@2X&*CqKaL7}G9$T)UDt7Z9~t*Mo$@#atwZAh5)9xN0FOnq zW!MG(T8OyXncxiUFerj*h#2XCb7>Frd<_hK5H6+(ciRe!#|{nLmu_M{iQ7~Cgxjvh zbrfzFgPj#PHICA-(%eF6SV|feNyAE9%dzUHp>B|0w31iB*A@=lfDv4gBI*XQwQOp3!qngh{T<|DixeLH zhr&DE?vlcNJcTFXfg1O%a8L326a!NDvr-{+%BvKv@OrD^W*MW8tC(;qzTWO&M-#|X z?l%QLk3@7Eok!wDiEuQb85kGQ+3AVw5lVx5$OXZ!%mw0?IGvmRj*)v_$_@cmI;WQM z6JRX7bT#;c!5x%{4c4Es&WYU09Wt3<>#9emjU_}FRgb11?5XFjhp2b&3Ay9@2hb>4hu8U_ezZHA#Yw@ zy`c8ug8bZW`Ua57qjgEC01xq!eA9nD(mAK4>&x{8^eQZ>36#ngjL|B1msVNJ{MG8q rLcWOSr9H^}qWj5cb(t^Xaq%C`BYO@pQdWcC7_R-cx#cI&<}>jhn^EF= diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-credentials-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-credentials-l1-1-0.a deleted file mode 100644 index 70740248c221d59b88bc743f08425241a39643b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26312 zcmeHP-H#l_5wF{`Idd5EWw0?MEMP2!_>P(N-R_-a!L4l^97yB@JBJWqZhbq)E$r@{ zcGi4EQG_BMkn#{qNgkp+MT#P!C<-6{fFJUNc;JoyA&T+`^J?Ux7t{(*FAPiJ=g30s^8=#Hs%4~ zEWq4NfccLBj-24>zWV_v9etLkV{ZabI&qDs?`#85st7R5Yk2Alrfz7w?JQn?gYynLqiDO+ryslz(p_+Mn8A`!KHYdr zdD-%xqD)|gO|?mqMm5kc+W;6vGMF--fiE%r8JsD8hOLO?xSWj8lG+@NOivO790VI5 zCllX~rj1MngS9NarY6`%SH9S`cO7J z`Icik@g2(MYsGx0@#3(BFTRgTd0`MOpi*9lmGZ)7B5%<`-(T<-yv1(653sn^>xZJ? z|GoxzV`i)KR!k6dwI8Y4*;L)cruJbii%03d*(@HV@2Ed!XXvaSqJLSx9mHD`cvzp2 zWX#TdUw?@B6+fMLYJlb&&e}y;LnQCpIplrCKV!&y6UX9S)|LbNE$fnIzNnrIiNGm1aqu^?q*jm(!R|sRb>$lD$GYcTl;(MMWg-n-H8_p;FAIsMtp4q3mP8ZKI4)sjuPXI|)IgeM zA-iV~W%kF@?2SLknvky#q%Vm8XLm%F%+K0N6pZ z0H>T16v}GwTRf-SOq=Ujlou@JzU3zOt!3Yk`wy}C)8u|bk(VOn{!OLcNpe57^BHpg zD?48z_us|wb(Q-^q}-ccDU+7+;@~8{KOGVWKjZ{a>(K;=!=oW zO0&WW4I_tw-J2mDaVxQMVggp$_%3DE8Q%~qX@}X46~R?FR+inc(p;_VDGR0&y^_bC zdRStGpiydU-Lv8cTTgXt{@K`loe@Dy{^GP_oHcp&StpDjWr8 zDiqLQaUsvPlx`&oj_D|9Q~kFW3Z?`!i}$S?jwo0%ed`ZUbf)Qo*OWQ5NL{d{)H_KR z?ArMZUGNJ#U!n^hMM-wm1rG@n42xo;5kO#96(!PBWl6Ivn2-z<`+H*rlb9LGHK1<&=r|FQFxactn zEK-O3OsRL04%x8t89F56dvBscDCXy?Lyj_puysbIwxFDSXt|_H#v~M4(OSV@b(8tl zlKJhZibNKQ z3MqWRxiU%YtUV#+{%oYQsg~OpDQF^TD-Nx25=@2b6vsGsWk*d$N*+7vz62@lQllc5 z9c2T-e#yLRyxKE;hiXlew4-PhrK|67FO&IrQGdC$!GnA%Q0%7DflpN(pkZInm)?@^^6t)Vj8LV2Zs;vaU3mwwkc^qH3N-KdH^ z$hjZ?=IK25A7RpO{B>%b;8kWMJjUh+)qh?S6v}Gw5uTYIFq@u=JY+Ext{YtA(-k_{ zNN4GWJm|RFj*im%%zH-%x&_)l-VAgIhQiU|8n^aMzoA;gBz4D8#Ez@qaG0S(`A;lr zjWX+u<80ngbw)!_D67Gr@XU0E+GPD-w8ovnao`%Au5iG{HcLz7!NFZ=9F*LP*b5F) zt63Es?9ZB3-!TT=S~7i!Djp~GL7sTryug953AFtX_zYU!{|G(7W(!p}Toe@EvVUME zbc3z=`W6b=+d&lWb9=6F>xOAJy^oXUw6z+q@Cg9jg%jAh27kt!;X`kB%A2s=EZTzdT;tOfBG}k+ zV3_ggJcu}CBBD(XFS9qXH$5!IE>{}4E2EV~Gvy|eE*5vxu zgi^S?yT+x@n5$c>$efh-Jh6v^T;9$7^O%&B*ORW}`_m!i{~RZ8Ztf z=JtSMFTld_;T*ZH@Ik|zAx@?V?CqdB4dXE+2j-)(l-i6fpd&n-5ImmXG83Qmwao@ zgMyllg3^Cg%8!DyQbP#)O_MfS_?8|0LIoZ+>_ddl|n#r?P8 E|9)^*e*gdg diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-lsalookup-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-lsalookup-l2-1-0.a deleted file mode 100644 index d6a7109969ee5a6e86b4f773cea2c5d1bee3116a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7068 zcmeHMUyIvD5Fg8Tz0_R)5R!1Tq^R`zP>3B#@#%bU1eaW)grfwSHhJov&ep}s$@U@1 zX#=H%KJ_6F`2wYZ(&y5Cf_#U5pC&WAD`{m(XC-h7hFjP_-ubOYJDQ(nR{nI?2?nE^ zt?PQWm|Lc8+QyExrRxS4sjaTtmL(S)v;g3J0PSCZ)#m{3z9Z^-2Y~7ad!k;v4?y+u zucB@|1=x7X*e%As3*8`OcihMg*sbZ%Wj}fo=fq<;>DfJ-`Q9N_IXm_ygK6M0LX1Pg zvd|sO0xx>Z{Lt~I)8p9*^DSmFgEDcimVc#s!67>Umjag;ZC(BoV@JdNeqUI@8!=%RJRI z4BNKRQ+I^t>iR)zzk$w)rPn~8oN3%g~wn+PO zyRD+=6b!c+c}BDGMfM`{SA2ECXh0^Z>%GOjeN^4sd&W-kUXH!p#wYP1-^t3`_I67e z6fWU_ynRD@2|ei|Z;$b6uiz5)sPcGBxOhC@uj9lTP)qNDHEy5x_^67nk0umTMB#n| zN6~0DITkbA+u$wmfm>Jbf$U2*O^f=z5%-*92nWZ$PCaoHKyHhVHTVzvx}xb>$7`7! zv^dK`1Iret+M<}U-Q8ALw#F^<8+tOOLgd%#v!|I0Sg)b{KzciM`q{;lBnHqk?4q)V zie5-#PbQ{NOpJx^hwqo}K`@QhQz7kw zIiK<0w8wbnYdJ%m27hC_C>yMlGS-vbDm>{{gwdlp`!OR zp7_PM98Vq<;}V{1;Qsm&gF{)0d9ng?S-LnEEHyvqJwYYq$4xQ8TMhogo)vDp(s8JE zR@|t_ihT4qXT|0lv7$N83Vu*r?x=B9av){JZiW?q7O+B`k1HJYYv+VjjT7B`q&Uy0 zQck>1My1VjLj6*MzO&33)n<+xw=>-Mr+^#k_SLU&3qEJn&J?p6Q_Oty_!)DEMLE@7 zB^RkPr}{zBds%#RW5)@uZ1G4 I<-erXD{(l|WwFn1Y(#0E3>FKoy7T9nPfpS9-mB8nRwFWUm$s_VMJ06q9DBKU?dN+;4l~k z$I<&Ze9M6kgEWmt#~s(>M~H{1T!x^qHyGuu@r>juc3sEueP0OQVE4ef#{?7YT0{?( zwQ9BU=u58b>Q0c;ZG}M|R72EChn%z4QI=f;qwm1Q*znm_iRELb6@D(Wsr?GvcIgLh zts1ve;x^e>Uw|vuSsL~*vsoH;DGhrj4Lk8{*LGWBk^tZ8$4R7b{BurpZ1sba(xLq( zj|f}86dN#;!&()_;ICeVF}MRCbqoD`)BGylR(WX&MsWsZ)U6luo9J1&J1{i@CAXE6 zQ2XFN)V}Mq^~S}%50v#US|6zQCBwNX-B3RtOh+e$N2!hOARiRFMLvLEaC*_q_f7H4 zS29F_ORZx>juPp=rR*C0=JB>F#ZA{DUHF>Fvdlp%Qti5$vh#{dxoXI=hGOOiD;eb* zx;D=qo;AKUdHs`CI|gxcHDy)MS-Y&0N-~|B7cQvJCg5A$pND0#k0-r|`T{^P;QKPd1i)=v@CPbW2&-{0o^3 B=O+LF diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-sddl-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-sddl-l1-1-0.a deleted file mode 100644 index 4d123f23d28c60315c42d88c707629c78de33ca1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5596 zcmeHL&2G~`5FRHjEujchaX=i9k;;t(J8hjrDpjO%>;b8uNC;`0AE&XJKiMu6!~r3W z9D3rwsgKetZ@`Hs;29`0>s@CP+xd}5tBS7V-OcQ`JL~cHdDeNfRdwsF?aWhsxR{%! zWm-mQy`bv`A5v>w-z*iyg#8Qv;FbCgu=o*R`Dbw5`VBzWo!7y&+67qcGPc9mE6;X4 z_QLjUm+kZ#HhbrEt9^%|(XomaYdbZ%gtg;z>pjavlFY^BRpdYn#ku z2CFh$rDFqQExX#7qaVOcci-BszvsJ7_h8RyyzF6BDHqYV)9K?qCXNq}h}(E>dv(|8 z`#l#Iir6Y;(~4g>0!^MS{qnuaZO805Ixc6%ISUqwj8w{bV|2$65bkx{bZB_Bdd<)E zBr}s3X&Q!QS-Nf&kgB}wXLhw4NJ;=hL+f%3lv|9>7c0Zm|)Klb#SocIkluufF`elDg{5Va{=jd zj=5Q!0RnA#29|X$uu0jYkRP09cC{rQkT1wzI@}PO)hAAtWxSr?_#44-YV`SKkMM0z zPi_O9H5I=w$TCCOqllP(JTBB0t+$1k5Aiq)hk1E`by;A92^;ZM6Q>xCNt!qo zJfY?yHSt;TJ5Cc{<8cv9e2d40nkeG^l?4X7qQq+=HKK{Q<8Z`Qx!QVpCL%J>3w|Dk zB?Z5*KcbgN2$H{O;^Z{T^m%_I4%B8&rMBw~6i_1&RQTN#s%@4Gq=jl5{+=Zd|4jxO yzV+yz6EWi#rwL;!OXxVL1|Uolr(FEeGJS;F!U{@|Mbch+A4s1=p~ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-core-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-core-l1-1-0.a deleted file mode 100644 index ee666ae80181ce3de321ff2672711eaece25ff6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4460 zcmeHK&2G~`5FRHfEus7zIP`=JEu3($L+Z3rg(9^`Js^ZAs5dqy+0>>^TG=l2fDlKH zm3RtHyh3mAC_DvaX1#VciSyHgTUBBu@2+RR-LYrC&$GV2;RG%BS^0@RSgcjcwrq3# zsio_t7*cCpuT|rFU2m2FU;#k;15o;n-3Re?V+(+;TjFADld-oU4?^~eM?7Gg2W`$i zc|GUQV`%j3HJka~d%C2x>-Aa(0cV8hhJD9bZyA!VW)z2_M)hEkaTW2J!=VWn5i4RuQCl8dMBXK<6Q%$itn*ht@!LHI zzw7Ju5q{ga2Y19flrEd!RT)aSiyh+klH>>NaTdQ5yxJnB6tRupac=!SP2wgifO;7UzqrrN30*YL=YW{!CgnQzEmIwla8)%_+59v$E@ zjyEO4snPSx9O;*y_N|7_J}7>npJ4_v#~NayY+R}=T5kg}U$SvF4vTUR>xRTg6E^zk z*+aTJIqBPoR};=02qfN-U*ajib-dzu)4keLV@|G%qqzmt3@kDUNZyNxkr$k$WL2qN zCASQyMZ7OPL#!^EPlde4YFQTd0JKhQ*_IY+3h)E#X{V`~j$C=43;PPOW>ko&=AL+; zK4V~}Dddf04K)|3kavpTNeXeZaU%)|vT>8m0=3ZS(B z-?3)HuRQrD;^O#k&dC4TDF6Rwh?SK8I_~kT{0Er$?}v=Jx*6gTK0B4Z7GA~%Q5WDR Qwrt|-pXV1j_p@609|JlClK=n! diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-core-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-core-l1-1-1.a deleted file mode 100644 index 7103b2c67787eb73861ec4dc42549b992cd610e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4476 zcmdT{PjAyO6n|+uHp=*O;4pE307Gz~B`ICHNz+tm+X0Eg&;;Xvi0PPPz?l+px!so_20D5jU=wWP=v9~_&`D}*=yvH^> z4riZS&+fVmovyWNv6fq-M|#_?SMT&VBShOLEW`GPZk;pXZ<&mKHp5QZ92jeI+nL=k zz~1zE?|3)-gso#7)UChr8l7I-4&07cHB0ynZoA9U0JptQ0zpjJ#Ljv!>}w|V5>4*<=5IZTxbA81Gp`$ zIjtD*qd?f>GaZcmqGJd4c!;Q}f^k-?`Ti6boDj~X4wuUjHit$Ize`P`zYw<)`3bi$ z9#@HQ%V;bn;G%k@WTEXBkdg&S$pTTb&@v17D>|(fK(XPrxNPwE9N?qYun!`K^sDis z;j$OTB$yhz%s7k^x9m8K5;KZJR-=40$+(Jm&0*C9jEEI6BC9z(I9>=Nq*28C-FPNtEGY)=tZrM zY{EtM#c~lH^FTQ%e_q7rrm)hmyeal)gkutnfkx2mdk3LM@C>d%2_m|o5-7eD(_vC~ znDCop+7RG~1p=O9y(1Y;g+9BJW3bcHx|MM-PZ<}6C(Ovnv5J_ZWZXbm)ZaQ{z9i!;tQP4J z=2eN2E-du3^C$FndOGwGuO{C-2us|fv5Bhy*YOEsPVcIv#+`=G#?Kc}PhoMIfaJc2 z8jXUjl#^8|SUF!t6eH$L-w-N{+Eb#@L&ZE5?*P0 z)5GUv+&~ZaaJ|#&0fZjne+Y>{|MRKwfF^)xsEMk053>yXKtpIEKJ`?8mS=uz%l`vK CAPb%V diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-core-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-core-l1-1-2.a deleted file mode 100644 index ad5dbab1d3f2faf70585a5d2391dc72b284fb793..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3566 zcmdT{O>fgc5FIBeDNzv|Dum#G5#@%1owQCWRVY%CIDilmLU2IZI*HR*b=oL4<>S-? zKcELL9Qh}`apT-yLz!9c#*@TJb1@Ywd3QbgcE_H5&$E88WO23}*KzIb zx?`HQ9OAWU*6XgCuvYt0Ui+~>61zuTUwjG< zyD#RPk=+Vx^@Aqt=c_F1(ZMVG+fgm3{ZxUs3RCG3>& zxpwo>+6_a1YA*Q_E#3FeHSD*wL-9!l# zUy5m3_!lO5<{52Bux2^6q)q@X@dErpOa6HzzZ|7fVMQt{vavW)UYBK#hQpOrmXSF@ z_EJhGF7y2+%PL-vas0hvI5lQ|nPdE=r+wQ*XKm&e(hM_^Ihu$GvvFf((Rw?GInKtp zI4sL;tXm4BOxT!b7mw)f^fa~M`3KURug?iIPJAPO#7}_hcqMVBd*0)*CYQz8oB}-a z$_xUE?=n*41!u8rs#MEz%7jYfd(tx`s-pQ+$a|uad-5KD)=4Z)Wuc}3Kd_#60$O-H z%KOa5lwdEXgxWUCG0DDs!$4f7gb#`x)ci{&^qAj8N*HG2W|Z(X8#h+MU3|Zm!eCdG qY$X6w0zcf+r2knB_tjgcYG^47H3j&IHB$qB^~@iJSwPNzGL^r~3tw{p diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-management-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-management-l1-1-0.a deleted file mode 100644 index fb03fd94f35ea88416ef1af78b781a07e345613d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7672 zcmeHM%}?A$6o2c5LO1EBD2Z}%r1VgU-P*t!kWjSJrcw`yfVgty|1<_b5y1$o2Qffy0Pn6cR7P z_mA9thmCCCe(j7LKVqKAOlB~f;ZP$77#lkF;JPORwjJ3)v@Mpi(=(TGVs~`N3h2)d z9lwAvN9Kh7GrqGx9kQU~iQ}OV<*2>Yc=8;%A2@cxx6|t;%Pi>VkNqeZdveepj&TWA zJaBPe-y4VVB7U^}f#;-4DeQwm7(|_Mip4S%nucLn2taE?pi?NDH_ovK9JGuvj{=nOoM_&W!#=g1fT{Q&T~abUlR z36ieLk)~~4n48#C8ER!biu{^oJc{f{9?b@o*(Bx5u=j)~(24x-^N{u@EzXoDNj2QFQq4++D-?SrMmZ=sfj1}00Y+EqSf&FCsxHpeA% zj7X+1r%21@k-CKaTN3S5>DT8|5+6WkxQdhgq|6Jc@5%TS@`;0DzC_DtyiMfsi}@_< z=83FLPx43-R{HseZ|UjmETxhDWa1!>Ihuzs3h*grAzyk{TRHv8dlyiBG4~}PG0!DL zvovE$>L+3f-*rY)`2J`OLbK?7O0-d-DU19WW88$&krb*l_yfy=@UATEt0xXk(BG|$ zehm0|qKN7i{Ss3jh5lJkgLr|XX+{4x66-1Ymn4NM4SvUxsoPcVJb7|0cd!Ket5vaY znmO#BpaHnb^1o0lW}TM*XJy{YEdQ{WFK79KV!j0XU*j29wfr*z`^kM(palIVHm1?~ z-=hs+O7U+90xvaqi?zUivgL~!aG|4K9ayQV1IDfWry~`rklf@G9hfBgX+q|M3y&kF z75|m&e`dSsx1Kz?UhFSd#s01R=hmzY`;*vz4YHpQX<&+@rxpK|?0%iJ=41_o>(*gSSQZ)u@K<>NvRO`S4+&iT-21?u_QZ@J!OZ;y$>2HFXHNmK=3CsE0 zz$wDws@uRT0UeH@I&TAe%Dk7|2E1av+-=~fm@hf;?py|x+l3ZF#i8`2pP%W?z?R>k-9nQy@C3R=t z8@0L*E1#I@WbfFn?OJvz0m@B)jT*pPKa0HeCjjMl{u256 zKM2FTZHWB-HUQ}x;tN9A%-y3+Re%~L2tmiPBScxN^`r)Ct zn6FMA`z`#@nv8<*S<`m#8iM{An+^G9;*Xxm84g1)oQywv+H|aFY^GQhTv}N_S_4w& zI2aB(!Rb-cc6Cdu(&d zYXo>z$+DSpXnT|Mur`e8lf@g`vRv0SO?OZ5$TW{DUz9eGIsm&RWC(AqmujK^H015< z!UXHM*7ia#8^R?`uwK53FkEM38RgQ)=}F|TXm-LFKq@KfsY%w} zUBKFRt-aVwMAq)&op_h;WbI8`yCW3}?_qy3;yqkML@(;9~Zu@~BO?sC~KK z!j4U#lAZ&bTt9E~RvugLa*u{^Ox$ju6Lu$qC!&X28@vHNaP0~{kbX(0Nm8FT;+m%z z!oiWPQ%xKNklW&I1OCRkC|`cn(Si(3D#Ws}g{dK^HqWOt?yD@@rEtvu{vTOC; zQ_nTb_fY=5w05e@tMe(b51@Nk$Hh9zx{&yulusd_c&5k2ETj4M5%XM+b5YFGO)Q%d zBfGFNU%mc_e!YB|^bz;6A~s=vv?kdr#<-Y;uIabhQuR&CmZv=psD7FI6_EDNwMDDo zD8<)G7Au}6#Tvd>x(2~A8c&H<7p%F%e*@4wqUTfDLzMx)V>vq#%@M2?6H_PraC7p* zX((Pu+^Gvx%{+d5N9w~wRgwHSQP!QskDeYk#gB76F6PG#++R~-Xul%q`LO|Nd>@@i zmYW;5_tk_bKoOrCP zJBt&c9yi5_7kXUGi4X9e=jFtDiWBLBG#L^-ZlyKv7(ZNdt{=hoLjr8_2 z7@`9e%#(Ufo;W)z-+}j7&?SCP5c6akWqEnBmg0$gJ%i(ynI9BeQcC#oKy>iZfM2jq z@gsUGHUC9g(b3fXyo{Lk92aOF^E}5Ynj(`(pEk-GMmR^y&4`7gsnlCwamrAGt+cpc zFX80m#44KN&$}!yu}Cy!K=w<1T4b5MMXqQnd;7{4iFu%cd1B|}$?7CNlP8Ou#7m(0 zD)oQx9lC8dbA040I-aufa$@@J?JAzS8=o*1;RNV7fdSPr`wa4(l#&w${$V0c2KBh7g7=Go(U^M3Q*n{i%R zw+7qY8|Aku;iNC?hHhwUOUspt#+u}^Qqk-62ESvo3;-_!%$^6B`wQUQ2G18=0Lstw zd0zMqfbyl^c)s!n0OhNH@?7~Ffb!xz&#&WSDZeRlbrFEFCh`(CP&PzfyAH5+-89># z`O(lG49yMOwFhQss<{qWSiL-50MX3nxNmg!X$@-`b_A z4<<3D;nu$E?1Ts1?ppm_TfQ%asXeeQ*Y@9R*;ksF29%OJ*zXBuHp{-e;@iShX*4kn z{ME(7v7Jpw!`J=9=9mVQc_6sNcIY@(XUnbaduw6R8mMcUVHlN)v04|4=4Scb!Wmqr z02&2=r&w*aP;>2LTmZ+W3TT_Pj^$coxd57=J*aIBhbe4uLVONAaIxX>&R}H*-%C#H zd7N+AqZ8kJGT(~F_XbwZ$MAXWxR6%&hE-fht3$qmQ5_f3YEQ4~Rjt+c&tEuRDmw6V*j*00E?6}>-{yk1%ng)*n z3rxBk3nX8XX^`Y~hQD(J9gNx2bGi~f5$UYtMG=0-N)|rVX?kqJH7ql94K+>Eml?#; zY{*JuNkZ2g6Uo=8!DUv9q6?j4xQ6YULd)q=IXxTVulY20WZOQI`h~#Oglxzv^0@JQ zKDy|6>&Wv}JfDHhEWLZRmS0$brxm=r>YVdJHD;0UApDbc_=VqRgtG0O5OHwA?* zMfe5Fw0J-%XgK}YM#4x#4I?27#AoUlMU#e+4N14M#K4bFw)93CY~qN#}r_q#tEz}!nb%0VL}cA%Ef{9tb+jVViv)DW{7Mfer3X0rNEx`~;oAEhfIWg2VHWG5kI5^Hj93{qOy#}jN#)Hmrf#fYYc z5q%|MO-@i@(qfH|xl%FR$}-m2lKLGNYxLszBC*C%JfH7zk-33Ykjmq*=GBrN*VJqZ%dhL9i*vzWf* zcSq_4e1A#-67T@tPeu3<>mej~XL#v{s#)3vZB-EsQQv8bh5!whakf?M!h8%G>aBd+ zg{wmI12nArSfG*p6pseAj|DQt!-^6fjJ0UgJ>8QH@G!}q>>S9SedHSl&qZ)>Erf$_ z2nX_Tr7tt0Zy&0!O|nyh#3ffc$#-yDA|bckeg#a z!p$@`P&~EPqp|YTM+#zt1yo{HAE^Z4PowjG3a7Mx8X2|@t7<(`Y9v}`6c!ZE=n?PTmPzrXBZg2uCi|{jE Q%@{nW{kbiJ|5ud%1>osJa{vGU diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-authz.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-authz.a deleted file mode 100644 index c30bf233b57494967dfb8dbcf0058e9c31dc5338..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32574 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-bcrypt.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-bcrypt.a deleted file mode 100644 index 96f403f617a829b6d91e601568cc9ae0494f90a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46606 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 Ns#_XS5=mMd@IS$%f589% diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-cabinet.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-cabinet.a deleted file mode 100644 index 91af31b2856ca9d82f1aeb0abbe84f92d996849c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22296 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-dnsapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-dnsapi.a deleted file mode 100644 index 9071743b391af30b963fd38de314002036610d70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224436 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-dsparse.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-dsparse.a deleted file mode 100644 index 2465dcb636181aec256a30f853de34394003b634..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17672 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 Z76wHfXL9ffTcw5JCr><-&#ju2egWdRCvX4& diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-iphlpapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-iphlpapi.a deleted file mode 100644 index 4fed4d080a697077401787202e43d7a15d101428..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234364 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

SYi*1VeOAKT;@Yj}4je`W&WDOXZ#7nudQ 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 Xqs9%$_YNV??ET2yLMrxW-Y4{b>B#7w diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-mpr.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-mpr.a deleted file mode 100644 index 7a5443738d5629d10120faf58f0e7af9497b7430..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36858 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®ftP7U) ziEBHqb;b5<$GXt(*w(FXuQljeNbH(*(^~H?Q}(GF-Cn!z*w%)7%k8(XTP+K@H*B!1 zHM`Zxpgpi$+gt0q9yQyjW5eBzffXmZ*1&e0z9TV66vwgM%|YMs8neOwBP7S(vfGWS zs0@EQ?TwCH5&Z1-Y|p}ctM6PFjmD{~wud~+x7n?St;eaIo@H+hT0Oi_Ik>$jZE>Ob zvEAOB-)dCMfFnw~>a=?9M%R0%yKXnCVJ{`f3%0jlJDc6My(ozlr;6WAB^Re&zH+hO z>RiTQSs1k1w%e#wgPT)UUFxnnEze%;_6R8#`n{Fz>P@6{`#qFQ$Ud4cg+scDQC#oZ z-qqU!`}}PZVNoC_NsmyPLpT{7ITuhk+nXmeUb0=cwTf+rV?Vr}YQm8T2QW?*zi|u{ zT%3wrB-8oZB;TUcC5nm&sX2_7S0Hb*)4|E)2Awt=B34}&r#2hI|H13%AMLh1@aDIu zCtG+uw{a#!*3jzt-p!3GPT%Xd`|GYOv!WtGl4Vv@1UDnygG_?XjT_6$-b_Du#teJ5 zRLW)3G)pD3de(m!ElpjV*awtOPTUCB7~-IE~L5p75apd+@&G#M9_+ z>oBu|YRs?r`yYVSiIvv%fZ)^Rexhb4V{H?g+(*VR9;tsOhw(^#L-I~eP#H~r|FM4A zi&ZH+tWRjQu8H{{gs+8L^f&vhR=hieo`a*6a@ZizERCB02$S%1HtiVz&e&zAgXYi zB9yF_2?U^h+mej(92Pn`>HlwZ~NZ~`k0@bHMM4mx3_ZP3h>0^8XC+<;K8h3l+tjDziCuqs6dcLBC#afRuepk{A9 zm-Vo1;${Gr#L8Xa4+_0K&ickt2;n68{H zFpYgbN?&KWX7?n7J1+kJm<~l9y5S^y8>CX#!*ngFrwjX9=;?86kS9RiAe3(#FX*GfTvOLBQ zwY*13T;;Ysf6HI?*w&077Aqr&zHG4lxP|w|Xks0=_Qkx%uThDO zioIOrijL{Kos7L)ldhWal@fva%hbJoGT=u%vr@&E)>Ab2vY!un(aKsixi6}i z55ga%n6vJDIGi>gu$??xInzG!#e8_*r_jNGAFxcD57Gl6Wj1iG?B{}J?6aPn3xyRV z<^ruJ>&}HkfUmkp?Q$EOJ6ig!ZkKJtw9U@xK2=Wmfnelp-bo{>IRh%Tc4 zDfOA__p)Zpv{zi;w1P!R;QbX&V5Pr*i|{=9CGPC? zdRaGiT11y`|^8P4z#&CA~#o=yIXU$rjc1Klc*KqhIaGHOk5NrX+NE=$atafV)_dE{}?w^4TH$ zIum`wD0{5y#Z%3Cfpr|Rp*HzASl^StdUN+-ee@@`wgKyUu~PGF66<&IQ9f#2@iYFo zXBgSZb;V`rx@o&)*42E8b;V6JU#P%N;ylpR>yr%Y?bw&n@@>I9ONs!K(CzqX$}kyl z56_uykBcpRoQ+h!x;lFeuNxIDJX0D(4*qawO^Et&Y<2@8pXj4)y}8!#TApcCWXUsC zRb-EH-MDCh@~luk5k+}(_n}<&Od}}YHqTTqGHRMhloxM_3eR+$w?qMg2X(%6xYk#L O0#PMPB}&RlZ~qHGzFWBf diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-ncrypt.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-ncrypt.a deleted file mode 100644 index 82ec8517087c2f9906476415b60007676a8ddb64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65180 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-oleaut32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-oleaut32.a deleted file mode 100644 index e85bdfe4c1cd343c9f558d5d537c9bab1c826f83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318008 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

rGnb1)*q*s8DBfq83XN~(by50q9<#31 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-rpcrt4.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-rpcrt4.a deleted file mode 100644 index 76331925d37897e9aa9cdd32cc2a267af6b7b5c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432018 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

uA&%xhU$vhp;yzp>Ff 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 aoY$FApxg96JmDkES$%yfbe3EwefTe4lXxuv diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-schedcli.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-schedcli.a deleted file mode 100644 index 4038590b4a37a46f802a3a90f1a6c84f9372d2bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5000 zcmeHL&2G~`5FRHjDN!qWK&S$Qf&@1doIf{}sw$`;1VT^=kT|hT;tjFtBvs;44jhU& zaqGFf0uR6m^*MML%FKG#UMF@Eq@+?sSMu(9=G$F+=9}5I?{3!n&GuIIVJ=zKVJLL0s>NKVL6?+voNlw%=WNhybGzv}tj-YL;lNm%*X>zM2<#>I zUeo*sE`Q!@JmucAZmU--6mb!!v(Lupqa&Ym4?4ACIeu86jE;HC-NcoYE;{0oZ6}V9 zIV7i@BNf^yW=_HJ1AA0AsL3Ol98w%SjqG}9A z*oC~GHddmO$U8MVVN$Sz^(N@iS7v@imB$v+M-(Sx_BCZ zHOU0>W*lo3UT-yA5Cytk^$Dl?!|gH(GC(!Ob4J*Q{F|AI&ux)!5spQ016p4Dpu6Ww z1fxK=^f_@}Sl8z~*_Uh@7CmqH&pZ+Z0<8E?YoB_m$(2%SY+cwDqBq4WXj-$~X|GskENax(d%jEgn2bs^jfB00W_ z7&jglL<`NgiI|V^I1AOHtYKY~7%9RgcY1c8?vC+v6P7eY_hfly5FDcQh;sl}@$&6V z_j+$6UPgBW(Dz7@|3PwCSc+CjD@mB!l|;OKg!$q<=^6Y;q48Acg?;AV5%&NT(Y|C$ zN~lS}H>}4Tg(e-9W_Ml-nO~fa`PN3|lKJR8pWMNzDq#K%)J@C$)DZLOSc}62V=gN5 zZ_x{237KE@1)@&DS8RuvADrgnXdfzP_Kgy9zAz={s~aPn|BM8fl_YSXrr@>C_rNTuNx>Jahxo2OMdRom=;pw7 h^OEi4ET7Cl=AJ9tVTkScPvL)K`xL)eX82W*{R?|d8pi+t diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-srvcli.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-srvcli.a deleted file mode 100644 index 6c9a31b3e0aa95fe7132fa4550a2eaa7c248289b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40282 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 DB@L;5 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-userenv.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-userenv.a deleted file mode 100644 index 0252b877c49ae1dfa586ec94fa91681747313c80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61414 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 cH_;0|%OdE$MqYtdQFm1Ej6 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-wldap32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-wldap32.a deleted file mode 100644 index 9a2fcaf80e7f42950e913e1a03ba6c0392e97b16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 195518 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 T3@aX~U^XlAg-ew03giDDtla8g diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore.a deleted file mode 100644 index 1d283d8ab..000000000 --- a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore.a +++ /dev/null @@ -1,167 +0,0 @@ -INPUT( -libwinapi_mincore-dfscli.a -libwinapi_mincore-api-ms-win-core-version-l1-1-1.a -libwinapi_mincore-api-ms-win-core-processthreads-l1-1-1.a -libwinapi_mincore-api-ms-win-core-winrt-error-l1-1-0.a -libwinapi_mincore-api-ms-win-devices-config-l1-1-1.a -libwinapi_mincore-api-ms-win-core-xstate-l1-1-2.a -libwinapi_mincore-api-ms-win-service-management-l2-1-0.a -libwinapi_mincore-api-ms-win-core-rtlsupport-l1-1-0.a -libwinapi_mincore-ncrypt.a -libwinapi_mincore-api-ms-win-core-profile-l1-1-0.a -libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-1.a -libwinapi_mincore-api-ms-win-core-memory-l1-1-3.a -libwinapi_mincore-api-ms-win-core-debug-l1-1-0.a -libwinapi_mincore-api-ms-win-core-io-l1-1-0.a -libwinapi_mincore-api-ms-win-security-lsalookup-l2-1-0.a -libwinapi_mincore-api-ms-win-core-threadpool-l1-2-0.a -libwinapi_mincore-api-ms-win-core-winrt-error-l1-1-1.a -libwinapi_mincore-dsparse.a -libwinapi_mincore-api-ms-win-core-fibers-l1-1-0.a -libwinapi_mincore-cabinet.a -libwinapi_mincore-api-ms-win-core-processthreads-l1-1-2.a -libwinapi_mincore-api-ms-win-core-string-l1-1-0.a -libwinapi_mincore-wldap32.a -libwinapi_mincore-api-ms-win-core-quirks-l1-1-1.a -libwinapi_mincore-api-ms-win-core-file-l1-2-0.a -libwinapi_mincore-api-ms-win-devices-config-l1-1-2.a -libwinapi_mincore-websocket.a -libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-2.a -libwinapi_mincore-api-ms-win-core-string-l2-1-0.a -libwinapi_mincore-api-ms-win-power-setting-l1-1-0.a -libwinapi_mincore-api-ms-win-core-file-l1-2-1.a -libwinapi_mincore-api-ms-win-core-quirks-l1-1-0.a -libwinapi_mincore-api-ms-win-core-delayload-l1-1-0.a -libwinapi_mincore-api-ms-win-core-path-l1-1-0.a -libwinapi_mincore-dsrole.a -libwinapi_mincore-api-ms-win-core-job-l1-1-0.a -libwinapi_mincore-api-ms-win-core-wow64-l1-1-0.a -libwinapi_mincore-api-ms-win-devices-swdevice-l1-1-0.a -libwinapi_mincore-api-ms-win-core-string-l2-1-1.a -libwinapi_mincore-api-ms-win-core-io-l1-1-1.a -libwinapi_mincore-api-ms-win-core-datetime-l1-1-2.a -libwinapi_mincore-api-ms-win-security-lsalookup-l2-1-1.a -libwinapi_mincore-api-ms-win-power-base-l1-1-0.a -libwinapi_mincore-api-ms-win-service-core-l1-1-1.a -libwinapi_mincore-api-ms-win-core-registry-l1-1-1.a -libwinapi_mincore-api-ms-win-core-processtopology-l1-1-0.a -libwinapi_mincore-api-ms-win-core-processenvironment-l1-2-0.a -libwinapi_mincore-api-ms-win-core-file-l1-2-2.a -libwinapi_mincore-api-ms-win-core-systemtopology-l1-1-1.a -libwinapi_mincore-sspicli.a -libwinapi_mincore-api-ms-win-core-winrt-l1-1-0.a -libwinapi_mincore-api-ms-win-core-com-midlproxystub-l1-1-0.a -libwinapi_mincore-api-ms-win-security-base-l1-2-1.a -libwinapi_mincore-wkscli.a -libwinapi_mincore-logoncli.a -libwinapi_mincore-netutils.a -libwinapi_mincore-api-ms-win-core-delayload-l1-1-1.a -libwinapi_mincore-api-ms-win-core-localization-l1-2-2.a -libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-0.a -libwinapi_mincore-api-ms-win-eventing-controller-l1-1-0.a -libwinapi_mincore-api-ms-win-core-registry-l1-1-0.a -libwinapi_mincore-api-ms-win-core-localization-l1-2-1.a -libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-2.a -libwinapi_mincore-api-ms-win-core-version-l1-1-0.a -libwinapi_mincore-api-ms-win-security-credentials-l1-1-0.a -libwinapi_mincore-api-ms-win-core-debug-l1-1-2.a -libwinapi_mincore-api-ms-win-core-shutdown-l1-1-1.a -libwinapi_mincore-api-ms-win-core-timezone-l1-1-0.a -libwinapi_mincore-api-ms-win-core-realtime-l1-1-2.a -libwinapi_mincore-api-ms-win-security-base-l1-2-0.a -libwinapi_mincore-api-ms-win-core-realtime-l1-1-0.a -libwinapi_mincore-api-ms-win-core-firmware-l1-1-0.a -libwinapi_mincore-userenv.a -libwinapi_mincore-api-ms-win-core-heap-l2-1-0.a -libwinapi_mincore-ws2_32.a -libwinapi_mincore-api-ms-win-eventing-consumer-l1-1-0.a -libwinapi_mincore-mpr.a -libwinapi_mincore-api-ms-win-core-memory-l1-1-5.a -libwinapi_mincore-api-ms-win-core-file-l2-1-2.a -libwinapi_mincore-api-ms-win-security-base-l1-1-0.a -libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-3.a -libwinapi_mincore-api-ms-win-core-file-l2-1-0.a -libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-1.a -libwinapi_mincore-api-ms-win-core-synch-l1-2-1.a -libwinapi_mincore-samcli.a -libwinapi_mincore-api-ms-win-core-debug-l1-1-1.a -libwinapi_mincore-api-ms-win-core-processthreads-l1-1-0.a -libwinapi_mincore-api-ms-win-service-core-l1-1-2.a -libwinapi_mincore-api-ms-win-core-synch-l1-1-0.a -libwinapi_mincore-api-ms-win-core-wow64-l1-1-2.a -libwinapi_mincore-api-ms-win-eventing-classicprovider-l1-1-0.a -libwinapi_mincore-api-ms-win-core-synch-l1-2-0.a -libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-2.a -libwinapi_mincore-api-ms-win-core-psapi-l1-1-0.a -libwinapi_mincore-api-ms-win-core-interlocked-l1-1-0.a -libwinapi_mincore-api-ms-win-core-processthreads-l1-1-3.a -libwinapi_mincore-api-ms-win-core-xstate-l1-1-1.a -libwinapi_mincore-api-ms-win-service-core-l1-1-0.a -libwinapi_mincore-iphlpapi.a -libwinapi_mincore-api-ms-win-core-realtime-l1-1-1.a -libwinapi_mincore-api-ms-win-core-xstate-l1-1-0.a -libwinapi_mincore-api-ms-win-core-memory-l1-1-2.a -libwinapi_mincore-api-ms-win-core-file-l2-1-1.a -libwinapi_mincore-authz.a -libwinapi_mincore-api-ms-win-devices-swdevice-l1-1-1.a -libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-0.a -libwinapi_mincore-dnsapi.a -libwinapi_mincore-api-ms-win-service-management-l1-1-0.a -libwinapi_mincore-api-ms-win-core-localization-l1-2-0.a -libwinapi_mincore-api-ms-win-eventing-provider-l1-1-0.a -libwinapi_mincore-api-ms-win-core-fibers-l1-1-1.a -libwinapi_mincore-api-ms-win-core-memory-l1-1-0.a -libwinapi_mincore-api-ms-win-core-util-l1-1-1.a -libwinapi_mincore-api-ms-win-core-winrt-string-l1-1-0.a -libwinapi_mincore-api-ms-win-core-file-l2-1-3.a -libwinapi_mincore-api-ms-win-security-appcontainer-l1-1-0.a -libwinapi_mincore-api-ms-win-core-handle-l1-1-0.a -libwinapi_mincore-api-ms-win-core-winrt-string-l1-1-1.a -libwinapi_mincore-api-ms-win-core-namedpipe-l1-2-1.a -libwinapi_mincore-api-ms-win-core-comm-l1-1-1.a -libwinapi_mincore-api-ms-win-core-console-l1-1-0.a -libwinapi_mincore-api-ms-win-core-util-l1-1-0.a -libwinapi_mincore-cryptbase.a -libwinapi_mincore-mswsock.a -libwinapi_mincore-api-ms-win-core-com-l1-1-1.a -libwinapi_mincore-schedcli.a -libwinapi_mincore-winhttp.a -libwinapi_mincore-bcrypt.a -libwinapi_mincore-api-ms-win-core-sysinfo-l1-1-0.a -libwinapi_mincore-api-ms-win-core-xstate-l2-1-0.a -libwinapi_mincore-api-ms-win-core-processenvironment-l1-1-0.a -libwinapi_mincore-api-ms-win-core-processsnapshot-l1-1-0.a -libwinapi_mincore-cryptnet.a -libwinapi_mincore-api-ms-win-service-winsvc-l1-1-0.a -libwinapi_mincore-api-ms-win-core-comm-l1-1-0.a -libwinapi_mincore-crypt32.a -libwinapi_mincore-api-ms-win-security-base-l1-2-2.a -libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-1.a -libwinapi_mincore-api-ms-win-core-file-l1-1-0.a -libwinapi_mincore-api-ms-win-core-libraryloader-l2-1-0.a -libwinapi_mincore-api-ms-win-core-wow64-l1-1-1.a -libwinapi_mincore-api-ms-win-core-namespace-l1-1-0.a -libwinapi_mincore-srvcli.a -libwinapi_mincore-api-ms-win-core-localization-l2-1-0.a -libwinapi_mincore-api-ms-win-core-interlocked-l1-2-0.a -libwinapi_mincore-api-ms-win-core-namedpipe-l1-2-2.a -libwinapi_mincore-api-ms-win-core-memory-l1-1-1.a -libwinapi_mincore-api-ms-win-core-memory-l1-1-4.a -libwinapi_mincore-api-ms-win-security-sddl-l1-1-0.a -libwinapi_mincore-api-ms-win-core-datetime-l1-1-0.a -libwinapi_mincore-api-ms-win-eventing-consumer-l1-1-1.a -libwinapi_mincore-api-ms-win-core-rtlsupport-l1-2-0.a -libwinapi_mincore-api-ms-win-core-systemtopology-l1-1-0.a -libwinapi_mincore-api-ms-win-core-shutdown-l1-1-0.a -libwinapi_mincore-api-ms-win-core-com-l1-1-2.a -libwinapi_mincore-oleaut32.a -libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-0.a -libwinapi_mincore-api-ms-win-core-registry-l1-1-2.a -libwinapi_mincore-api-ms-win-core-heap-l1-1-0.a -libwinapi_mincore-api-ms-win-core-datetime-l1-1-1.a -libwinapi_mincore-api-ms-win-core-com-l1-1-0.a -libwinapi_mincore-api-ms-win-core-console-l2-1-0.a -libwinapi_mincore-api-ms-win-core-namedpipe-l1-1-0.a -libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-3.a -libwinapi_mincore-rpcrt4.a -) diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-advapi32-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-advapi32-l1-1-0.a deleted file mode 100644 index 7c2897d37c4e1a67116f8c348bf03beafbc51657..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125780 zcmeHQ4Ui;BRnG1^I5>|V`8ob!?r!fq&fB%;XJ>bh6{dG)=Wgz1@0OWe<^;UHp6;BP z+O4UctL~oNIRRHd1U%tH1^H1_KtM!5{zQV{LPEkH!obi_3<-=dR8A!fH4KAL1AH&D zsxq@Ot2%3AoV1v#h^(4!UXc7Tu@wh6f@AmoLQ@^bJ>La;QR!pkHau}nXWmtze=upECS zFE9B;La?0pBVJDa4hE^D17J-cJaYv!CJRUN{fSEB=I+`~Ha#EbV{g zrTd?RVA+6s!g3z&1xs)fFAp3d1j}HWmkV=*V0mzfmsfWQ!E$Mvm)E_K5G-$a7cXym zgb*wb{Q)m;{VE|?-u5UjZ+|i&Sl)Snm-iec1j~Dm^YUvmgkbr=-MoD0m4smV$SN#eCjp4eD)25VENs*@bZPX6N2TDU*_dYa1U6%{0(0I@LPmn`O3F>`RbK~ zVEHq6E?E8o?hngfP4V*eIYO}f&7Hjb?IIyq{yya8(GL-V<)1&p%fEb?5G?=pHD3PX z-wDA2KgY^{!x77OZegWXyM?fF<#AHOa@8C!S6?JGEKj(^%ah+jYFM878D6gaDyd<4 z*0*?h-cv{o%NSe_%MJ6q+_Xh%SY8O{V!8Eeyfm&RH7t|Id6^DK4a>22@p2rljpZf( z#mkBBkQ$cxn|N6`N@`dZ7kRno1gT+J0veXHckpuWDyd<4#ekRlwn+_3`}MqZA0jm@ z>%YOvxsQ_?md!usW$P=XhNb^CUbg>%)UfP)o0nHVmejCZx{a6DO_3UwH{8w3o1jiu z9)jP%@-WC^`MDSK^7fF_u)OmeFYoy>sbP8V-|_OkI;mm#^)X&PJWpy^eshbLk3CFk zSbqEcynOmoq=w~pzRt_%;Xbi^@fu!!53Ysf_iyFp5AGy2EPvePogtEur=H3($)np zXm5EfAbQhBr(3?aiY20MdO@cb(pI;3A@J!o^;;;r*~hbFVs{(plM^j}yfxlxwAwAW z=q4qt)&^~N_wHv&>ueCxb*~S#I}^4$^!B0G?av&A8}T-`pz;}9CVPtZ`|Wl5vi8ix zRD6PgA(KpEq{SpoZqr~eGd`h+2;wpwoavpX!9uXs3pd*XuNTaWPshSpT%a%0&M@=_ zJ9D((3B9dBFI;YSeD&NM8RHd}PR;g$LD=&}OO2K@O5AfHprKUj5kf}x?O|`YHR>8d z$asx8i#ADQj8}+TL_EQfVv<0!(}CV}s@*?tY*LjC=iNoafcp2Wo}-=Q39C(zDFJ8C zdp?by`HFg)&I0*n$It9{2Hp|?KZNeOO#QW)M%+i!)FlmfD>IWx_s`-2{cNz+|kKWPI)A;IbLqYxM243K^4kcKjr z^Mv5n=BN+WW>j0blcgD|tooLhWaIZdC!Gl?RTW2yo?I0rO&3k*iDcAT%Ikw)RpO}9 z(68m5AxU!%NY93}J&5(eq%5s*RB3n`8Pc4C(!H%6-VzElRWi!?y*}Q8(l=!ydril^ zT{Tm<37sQwI`p=|5?QC+Wg2dK9oigry+PA&hns-L@v9w`O_`0fVvmvV6x0A!26 z`MhbAH)Wa%{~Ntz~;j1#4D5@Fs8y7OMx zA0VySp#sGw4jW@yfj0$(mtoLf1K&fK_8Ck;=Kh1^3maL2DCzYSk^L(M+{8^A7>oqw z2^+YRbhu7u6j0&YUYCaamEBF>gNe<~i{*t9(a4O@?0~X|SM5SK?(2!R%I2SZVA%HY z5eiv}!nj~YuXz`B8HLUy=X#rMFF;A@Uh#4&V{W+RdmVrk(=1??i;+tsOC?IzHZWj- z5rzbJ%%Duv&nPKw2rHddA#u}ph5G(o0gN%T8YjkX29uM8Rl-dWbDX1rN4ug5>W#4anM6|ON4J@H#hGlK zAt}fVW_MqKC1kI{NO^b8~)C26XndnUr=F`}QzMYFEp&w=(r-$7D@7&Uo!;8&;7~8ly2;A68E-VEr>Dopjx?fV8_2d&5OTZD0DNaK-1tNs26F>(pzJiOom$Q0q*m2kKc?n~a- z^|;*On2vIf%a%J5%iRipTw{=n`4EUdxY<7l0s4bU)c#;Q3eX?)#}AGlY#i$PKFS|j z0~HaS_?_<(vR+$*(X04M{3y30{_GX0-$p694eMDlQu|$zB_p*Rw#OAU+^bvEzO3CI z1FRew)@IliOhy!G>*5$~+_Qf_8oBZbC_pD)s3CF!2kBC-6hHTGw zb@EO4WA8I}_8fRuGvxIfjq#}|2EUOSXY#OwysKDqU4q_yHTz3P-s6CNEAa1)5P*lV z|2vJ7Xb60+Q}AP}((e+XnG}tK8q+t+CCJ0;9S50hv)nYW+4fA>&qOj22@YeAeD_BD z@8O394gMoyXowBkvrH}CAMy9F{}S?eD7>BVfB7#Bd%6xHvc_f_heUW_Erq{wMNARe zB&M+1D=1?1#CzbV!}D>&3Ud@am;Fx&z8yH_wupj;IpY*$V*w`@3Y1jzOatSt`0?*zS8*e2H5lKEG?>(SR;g2%n z;u%;0*aR*boWS;V@~d#g5@Kme-Y@+|)%n58?C+~!# zRrA)9Zepy!^UCV zS9m>ilu_2vD38$2qb;+XW*t3fmP@n)_6=KX{4`?2oIO=)d|c1o9l} zmDif(60Bf9vBk=p%~(nD1o3{#tW#oNLReQYZ93WNw8E^CmNPSY|ACu`=W42CM*V z0ylSX0^8Tg=iq3@O*%2y2pUPq9b%>{#K2SJfXLQ1yNQ@Lni0b?sIX)0PsF5C*o}yh zgxn$Kuq9$DUj}<~3R#JcDdNlglo>HN8==%_K^qk}p=Fo$_pW`nEdd^@tAB{7AS)nZ1=UxPROPLQZf3+tw7 zRbUuc?hs)ap`Xw-M}>&XL&R$l5$bICQfmyBu*Mo>*Ry5M~$IYS&cfHc+M~} zVHuep*FE$qZ&6^PNZ#U45P5~fa%%|Gj<^Xt+`g zU5zvW2PeBjfo0^on(>#5f+92iUX3UKf08Yd3k&$-h0AOsJ%hE3tPcz`{?sZC+7UsowL9&kJjH!-$)h!fbpPTmVg z^qnm~CgX5?)iM%Y;eb8a-SD1w6daV>doGNF)F(F*d_;72`oK2+tjF4___NRlMf~TB zhyz>@I{Gpe0&G9{&r+3D14&~zL&Lab8uy6cl(dj`2Bp>!s-V71L z9U3fS&{eixE*gsX&)bLw_SGsex>{!4V3n^DTDMp$J;xE^C2w~Rtph}bnm3=%}dpP}7Hh={A4{gGYxMh<=o!JXA)8&J;omlRhK3_ z(nruDK*)4=IH)4j*uhi%dx~{>*x_o*$AOu#cHwj^S0uZ8OToeZh|DE801rC(uAPj7 zi0%#tmJ#YnJu-I*`bV|m21f$E7j0(%^Z-|3h!R0{hXKndc7*}namG zS0fZb!-k3mR0{hH4XIFsK!fX8M8h^VU9Gr;y*A4}DiV`hM>O0Xt+D}5LYeI&+ZC6R z>Zq#MVo6)AHtQDpq6iWA)s;0GTK~aucA`O)CxsBgbpI$WH8)hsTk#sG}~scit4H>6sPI#a9|l>u5hqx zI9OG1Q10k*VH`9wa1hbm;lMVktk3zW))^Dggd+N&9peBDB3zcW%ob4*9PsMuIFRY? za9|r*u5hqhcG3L`4)%{eVEx^o4`jMK99Tw|59^tC)mL|gK6pNWWQK3I zM*QpHhb1CuAr9ueetXrYr$gGMYhFORv+d3XJ$VrX%d8)6h$+c0A`$5O7-FbT2Q>1j%Z(D-e2h7% z%F4tajo}UrmJ#SGAAam+Rnt;ZXxTs>h; z710f^6lgdTQVJOvT1dudsl9b~iM`D^x6?Vkos{D2@e_ zVn8go)(e(#=m|YTsnQFVrx#u>u)qf#OOAzSBA8(lp7jJLuzj7p501>UWz2hgJpEO!o#lN;a*HUdRsfus8X4AgY7(@*|@suVgMkxI>9$OnO>hF{8?964uff^l;mpre$(E^tL^puG8)^4Y$1xZ4SHM zpy{{6&63ZOW+`0I7GmUe5&ny}I{5hObmBuu#8?;BT&1BhL;jt&-%;;jLCM-^v=_u9B_$M+As6``=dI9K~KQS6R{zW|lKV9I=dH zPwHc`m%wnMPiTdq7tV!A_yZ8Tf=zbjoKbVZRY*t;1rnydYuKOB4ypu)Y7fJTsN7zF}gx zLxW{3yP?mpt73No4Mn0Br^rGdCJK4oWv|QMqWt?@k7aMx$HV?A_80yy|8;0UFAf-o z=i^>M4t3juc0@rf1C-T%KO(??jN+ltfg?!8*-s$DDTk4QqecmZ&62`jO(<+W6y5_~ zi=U5299_WQBLv?9xQWrHn>c~(>*O79Y>DcMphb%2uK!!cuBY@o@aik0qW?b^p0ll; zw3zgN+8Ku4U}ui@JE6BV=!K=Wm9C3=zQ6)A{~~Igd|JkWR&^a3W)XKtv5jw6ngSm= zz9R`~JQBTa*_#w8MKr}-F;bcxAI~kbCs9OGKy@`Z#58yP-!i&AQH?QSU(M?OMaG!! zg#OQlmX>IL5PF>f?Uot?R%1+Bm1QWTT7$9NA;L0}U9DP%fXGBdk-WbJvJiL!54?v5 zDY_43)(BSf=alM7!%7CaI~-WXrVr~rM3vDYe26i?h^-HChl~TwP%gKnbO2u#un9ln zPEKI^I{7>tTT=hmsxK0tMoPKEjAaD7(jDxnXIWE4bjR%yX3(M7N4f)@hw+Jcwy8ix zLU)G)%gFVl?p0iZPEp0__^T1K8EkdOJb_i<&xGv`UF@x|)9{XV(DiA#bq0>V;U;v( zZJfaNb@CB7woKI)&P68I88)V?7&bn>)VrUJ(jy&5^N#~_n+v4nk`X7gvu&|)GQq~l z09OE9q}vpSp31B%tYX-4@0Y4A%&07;J7ieKu&eA2=(`$%E(;lRDP+w1?R5;b?K5Ps zYG)xsFx?@;GM-)8Q@e(YS%wTuiCqZRdf_IdKK06;9cyh*rK&AWra+}(!uRMhLzoa1$PR(lkJ=lMlikJ@OO)6w}JYbEiEl_siWVha zZkId;c)f;{`G|stI{7T@nT2Jnx-^#+(Uc?O4l9;1@@YNe_8|*Tq$|Y@#z^CSc{YL6 zkjkGkn9(ZDF;JM&KbJ)2E1P+MER0u7!EXlA?@Af6Y(7FPcNAoBehF^;kYv(o@sHP< zySvob_3kG4Y^jWy^>@P`>QNfW3ZiiR6i&K-6v z5yPvmdNP`tk%ZhK#xe?DA!gSQbDJ44w}-vq7XHZo)G@63qjZcUhZW0ceYH*~LM0O`W5BcZ{*RimlKB2* z)-E?H(Nt|o%zh`2+FWjudex5aQ|cGS$1)4Xf3_wrtjF27v*-MrCddGuS7 z(?*vwMyrz%vLZ9ErV%OJbA|ABxzX`74IQ^c6gqvUXQR; z(MS=EERqp<7%^}c4Fl?@l|`w&_c84DunGI>1Shb4oqQ6GhzC>ERb`Pa;SML3QTuA` z6ZW*Z3Q8iDiLStRrmZhBg*cgqZx+O%>6LQp3#+wH(p6T0p|l2PxkH3yY<@!59MvkK zLUR;B#3UjDW^Bu|Ov>z$+hz!>RaQr?Ogwj(u#34*AJZ{0u<$4rCCh#V}hdEDKi$HgcX2ISWjc@f4-}epM^irdTMs4Iu4Z( zob~!CySRDP>-n?fonN<&iuC$%G9Oa5{?$I{^-)!Y`z#aO^?J+Lcl8At*6p);eG&Vo zLFT=nJMV@40d@g+^Od{zTYZ5hU1gDdXymxVgJop9T9F|a57z?M*7o@!a&jByeyqTp zS_;eg1pT%0=NVe9RiamWX5whPxK$R@9WpHA*wxrkE;5Q}ibE1ImSN%CV7=U$!fNbD zbbMarnTh0!8)lX}L|DeCt1pG;BBIDj>IWr6;6=;qD_eajTy%M93^h%3hXBjibM-aX zTm%&P2Ggw^0cV4du6z9fGnLAWf@iRnkw=Ug5d{x*@~g0Ku?{b)ESv`u!yOtdqtMk_ zxa zxCEVIR7TRhyyFl&>}C95Rr=k$_6Wn37P)?oePCV?HvaqoB&z6DTN>v3D~^L9+v&G=}917rM!O zh;sYUIJX@)fruA#0^8Tg$Kc2jp;bNQNSOJ~FfwTykv=xYxBIVNtnn|6R(Ti#BiF$5 zw~a;o06F=(&X>mCo>V!70+sF#3zqTdYJ`=&*|; zwe^^_y)hQScCb!8Nb?BH4SSlsn8=My(tA`T^A_lkm2S zj51vZnDOa=rGA%Lb9}#sj~Fo=AHM*HR#H{rV5=l|J>ND?t;ZlPfrVYgsrlnClIuN2 zW zT|2;8r{(s}UlcWfh;hTvbh6dSKf>Rw7#{Y`qNyI^z(z)!@{`>m&oXj8t$Q?Ygq}9a zqq$$|v3rTUjFmPtO zCMQ%o&IqPh&K+(nqwLkVF~Td2uLL(mzB2QiJlw!biD45VphH>K@+(_ZZky7q3 zV;75`KBilF)wr=3BS4*Nt81Q3W_w#ZJSC;f_^`@OjH)Vy8WoDWes39ZH}w0T2fJgG zjU~?>+DjWNV>XgzV_h=aPMVGNX0u$PD{$6=ZNGmO^!s3&hJ!Ob_&97Y@?ngoM5*=0 z1hffmLT{{b0^8TgU&66v-4wDGv28wnjyr5w#_y|fHP$0I#1cOz!B&xR=Vy}H4ca-+ z2AfaO%~cxqH@vNK+h2C$YKCgd$|jTT4jq<}`U)MphK^^DW=NaCPP2o9&a{6!tWO1@ znNn*RD|8sEEh6~YY4=>javP-^}00;XMMFJ&g8;Gs@F0sB@))kQ*N zo`5@)SjP3Mua2=No~1*IeAn`62}+tlcOmcwUfcH`g3a~ zPf(Jsx)k4!abgy6hLmx;82^zfLySH3ETk0i)SpV4-E+e}41%4f0SC^A#=DKb9TSF+2E4Xf|UNPVAI*^CRB=MEE=QTFOv z1G$(eGMD}P0TbO*?V#Hp^gI(Z-LTd68b%fT5r?(kq2 zK|eC3k62Yc`Q`cKPewd6hg}c8K!hW@{L_`?$Hf?Sf7k>rPH+O-M_;YXsJfK!m@DB9 zCzcWSNqy`Jqt&A#?)P%zoQ;U?WyF22*Au-K`hso5{YfdD077u#hf?bf9F@RLVB|JV zVEa1x2pmy&NUsN0ZRw*NnOt|+u#A{jeg=EWS$=pCKjVoyHcE{POFtup3&qbc^4wv< zE>2#3$&bJOvM^C3Gw}%w6U@CRH5RPCUx``(zF#@fh*R5Tg1cUC8ULkwc+s4gn&G?G7E5G4SdOn7QaE;%#4TKnGsD%;>OM6@?j2O81vmMag11 zLq@|g=6zUSDXSW<72~x1WMCr11=++ZGdiwk?+$q^YCfWH+J}{wz=3SGQ;+9c!{$`L=4a{!`8YfW~P&6xC)-*4qJAy^rMCx ztoMMCGAfpiD?8wZhrNuYXRPR>&0fb{rYjeJ$Ps<44cA{BrKh^m`+YC zA&LIc^pw2Dr6i~6sf;x#6U^W^ldYb*LdQ(X@+&uPZf0*6B1JWqA_^Yrbb&6%&zlz`FVxma=rY2)T zeLm-t6F!b9ej~7Q F{{mGUBRl{A diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-advapi32-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-advapi32-l2-1-0.a deleted file mode 100644 index 0894bd9e32613f2d8eca992a51cb2ed1b8c98193..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13942 zcmeHO?TZ^l7=N;N?OkJAU#PYem1t|BayfUCyIf9cIk+lCDps%BBBguV%iP`CO>%B> zX)8ra5fKq7C@P4cpZwqlKZ}0of8!_r1F=5O%)ZQKHpxVA@ugBSSc_K8s+r5x zP<$NAC?1&;@hIjLkFSgP%vAu2r7uK0@d*IMQ(uXA`da{sbH9sdz6?OIdX1uOuiExI z9p-oJi>%9hd$rwQ_D#3t?6@`x-CDh7d+v3LfwbwiHrhV38||AdkM)>mlWwy^cgey= z59QU0?Nw~cHf_hoN}CL9dz(3p?3xAptzG8dUSodG-C(Qj)~364dBv*XgSgEddtm9C zJFFGlgzA-0T@iD^>KjhW*v+rcG=~XdRSpn7X3QcZaQv@ezI2Ab-a#T z^(ZYWe;chV_cJLAf2B1OnP!9%6~E>)wz44iC6rLZgu(f;G_iR`h3IbI)hbs$qJYc=C5};Bh=t7>A6(l$%RmN z8ZV~tx#Ym>6MBoGob+Y~>n(+PICR3n6uqz<2d#3mQ^vup9F1^gCm77iUZrf6&H0As zk^cOq>#^X*zaIi@6*iq4p&*dUcBE#f`r0Nn*@ng-9m#%EgLEX@kv*mglqN%9Uv9U3 zSTsb3+l)M8s&G14N$@MIopcQ7VVXUkkl$~Q;rI0lQZf&*-`DV+JjVMpJ!!wM1g3=} zctL)DEbte4=V^W)>dU#L7vV@Q53fltyzb8rqF@Fnr4eC<+vgC!(((Fj&h@B{fqM{a zcDHw1H-v=y9ZUcj+`0l8WM8sr9ORKlJhOrot{i$j<%Cv%U7m`>fIsje`&mwQGpb-B zS0vUBJe! zOYK6;ObNyz#`MzlBIHqhXHch?u2;ii9-hKsoKiUmWX9%<0|6emrKlCWOJd;w)e;9KP{jL5&md4o_fw$O z1&W^LzX7NoA;D!z6b$$ouLn-ohfn6SUUS6QsAyutsw&vHg{B#Wjf;W5P?jY&-jmuL zhK)wLo`Q{5x?Y40VrN}!90YlhmTycv8TfyU37Wr#!GQ1a(w4hBY^gdq6j+)ls8|XL z?x1IkLct};d$L5qHL2ZUDA-QdQ&8Zi>qRJd0^hbS3LX(Ch&CX|XY$MrN2voCVkDSC zz*7T$#9SaD>T*98`U*1Mhl)AD)I@{1q@ZDs6HZ2GIE-&x7Y#+AJtndDMh=r_B+w{8 zAx6R}A>gS2-(YUX-5s>mI59Rbmo@!=aar;IPjQ4C#RlurD4Hc3yf3voj19W!dI}qS zl&%-~KOPEb`~QL1|J5yDtS8TSILZB9#>4A@gfatu!!*W&+I@*8BGe4hniOZ4bxq8e z>N)9KM)|d|w?2#i*L!eWnxC0Sxi{>AVo|)PP?x=X^nUP`lrElsQak zVr)^z0^{s6O>;B^UoGVv2}k%CAv3{?frK&xzQdHyljM)IVm3%fCx!vtv*`tO-Tbk} zy7{WKe$8^-yeYLSt%sGf>78^vW!?N?x?aQx$MIe3uA8SI{O&FMjqjs zQHa+KXN7>L2K<6Ken0zfKT@3B`daghx?WW=@&o$KsJ$iP5(<=MiIIC!yTdT@dAgp0 zk+0MBB8=3rf4Uek`Y@vRQE9$sR9jZy=C!qir~E&ahI?XMS^f9qTP2f8S3QUCw| diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-normaliz-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-normaliz-l1-1-0.a deleted file mode 100644 index d683aa686cad4e5622305b4e3baa3acd1a6db688..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3594 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-shlwapi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-shlwapi-l1-1-0.a deleted file mode 100644 index d72679f186fed581cad0a8b4c90fdd45a89ca7db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129802 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel.a deleted file mode 100644 index 9b663e34c..000000000 --- a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore_downlevel.a +++ /dev/null @@ -1,11 +0,0 @@ -INPUT( -libwinapi_mincore_downlevel-api-ms-win-downlevel-advapi32-l1-1-0.a -libwinapi_mincore_downlevel-api-ms-win-downlevel-advapi32-l2-1-0.a -libwinapi_mincore_downlevel-api-ms-win-downlevel-normaliz-l1-1-0.a -libwinapi_mincore_downlevel-api-ms-win-downlevel-version-l1-1-0.a -libwinapi_mincore_downlevel-api-ms-win-downlevel-ole32-l1-1-0.a -libwinapi_mincore_downlevel-api-ms-win-downlevel-shlwapi-l2-1-0.a -libwinapi_mincore_downlevel-api-ms-win-downlevel-user32-l1-1-0.a -libwinapi_mincore_downlevel-api-ms-win-downlevel-shlwapi-l1-1-0.a -libwinapi_mincore_downlevel-api-ms-win-downlevel-shell32-l1-1-0.a -) diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mmdevapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mmdevapi.a deleted file mode 100644 index a4f7bbdd35e3e236814ca9d5c7d0c38b27c6e7f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26384 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mpr.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mpr.a deleted file mode 100644 index 5c41254a8dbcf6fefdcb10b980fdce3fe527a8f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36474 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 bYewn~Ft9gdJErQTH%Rf-LA~MdvDW_qUfQ|A diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mprapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mprapi.a deleted file mode 100644 index f343e2a572210550ec6fed7cf9c14105975a4bc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135866 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 G(*Hj|Uhnq+ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mprsnap.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mprsnap.a deleted file mode 100644 index 34f2f4cdcaea356c0eade17c903bdc05cad83315..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38338 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 XrU+HGSgiI$Ff?6QE?EqBi~9cpNZ?%i diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mqrt.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mqrt.a deleted file mode 100644 index f3b36dc8c12c1008c19ed9751a25071ca4664041..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38392 zcmeI5PjeK<6~J37Fj&SmF*XJpn>7ZTV500wVzo+9jzEHdiv_LNq=?JKGH6HA!tRbd zyOJRxHcnh+S1PGcaaGPag6aD~I(vf{hp=n7ldHifU;rgf6UU>EkZEe zg}TCY?>&}2IYbDiPyfTxXMZ6C)8}wJOuvLjgs+DG^eG^k4?SAMFnobi`x-Mxp*IlRes0Sg<<;FE< zW$*)cu-I6bpMk@*yBkeOy4+ZHyWWN00A-IjFtX?n4cP z=ZK#`&RcF=*>HOod$3E->Cmehc)mM7RpJ+>*H~^`^46~O!jt0e;sq)*mm3%Ri!PkB z<@N>(oi?oJg_9{Wmm5&GVUhatwzmO}{<3E0j%>$;C^)w*fWYcKiG;>vB=vYt`I- z-&u1LCyC2zb@6tFCE``C&&QkCr#XA~lIPvt+_>19pN{U>2&H89kUeQut-iGB zuer1id9^2{@V7HqzYI;i;hp#Vt~0>jv1-sN)auATJ3+Y;f|r!m>NRNDVg2&fBg;Xu z)KchKb5>X$qO_Og3t5ZfUk z4)xCUT4E(Ltw0#+oCOQi6WW|CuhlR1`U9u8qQ4tjgpHg@%plTic15n zV7KUBk0h?uY3pkEPOlFR2i{siS(R6-pXqdH8|U@Gyc1Op$QJu(3AJWYlTTXSx^r_d z>4hG&&T}r8N|j2bSge$*fvbIE;?met1eXJ2ggj4w?HrrL21y=L^?I|R-X8d|N1+$yqgy)J z>U8k$$<=np4Klv^8vN_ARp)jn2;^ct;bF%U$3``=jtV**p?=17IzruGdB?|a9bba_ zqxG^AvWDo;I>9?XKK69{Ai-bZ(NU*B7GeFkem|T#?xOYcEd6D|@H%}419ey^ z4`g+)zS+CYB$OiZ4RB6tmvN5ui*?Eu(N3^ymdK~dA;Y-EwnxYUU9(kz`~rSF?$hU^ zKDP!BzZ0}o^h>4E%qiM5M%wNQbcfIdZTBu(lsiBkJc`32w~E~$Jqh_s0iC!h{{L)u zWNWd`XW(S-3+E-=#>Z@T6?9r^y{J{-@lJzIPpwyhY`UOzm=AOU5p0SNzdnY4J$S%n z(5FMhz5~Vxo(GvC1nnZLU;JDACAA0H$`kQ_9@0Bb0!C>K;aMUHx7VQ#Ep?1+T0Xo6 z))H`kT(F>wY-}aCV2fpv6ZCJkDv&n(kUB-wT_um#A0rSwV@7m!S|a*B6l@gH*8~!_ zljxhmd500*QR_)WZ>jYnqW8m{GbQ>Y5FPKCf_^U8ABo5+*{{O21UaMt_$Q-*aGRwq6=O3Lp5yK_L3R(xra{g z9fLpWr;MmiW804d^-^dSj-F-PZs?&)#TFeHb*3fGr{{9cfw2U?l6ANFB>FaRF1=3h zWNsu}0Avag;$iE>~41>n@wi+Kw;htO*DehloIX762CRy_A@M zt_#G2EqE_tk%e%)D#MlypEYD#_Rw>-IooM^S&lKb#aFX3&9>n)D6lOSIp&iq^K21b zF(bTsN_qy(ds;Z**q3H%y^jLn@*9TPw&3t0FI~6=hgXQBr9ke&Z?NEUu|;=WlWU7~ zvsmYBNw(!*fD=2ax8(+NbO~;@v$y4zaNc3PEd#Zl){CAy;Wc$*(%%HqwXeg% zakBjU`6gUHE}ZxaOhDHK@;PjQcx~}T@P{ke;y;g!;;mtLNBt=h|2CgTj}ZQLcK9kP zUPG3-H|lqhi!J!;x=dS~8%9QRj|Ndpwui{hr}1ds5IE;=0%x0ZBaeoo%!@6)92^ez zNaWfg-7rd8k$w04?Je%Rr+Is;NJ)>z&t%$?V*~*g?!inl0bLhJ7q(3#JSuL&h$rN> zs5Xp>R_F33Qn*72f98?w_hFz~F$OHtbmMahE}ZUnnSibfHprSo-Lpp0;Kj21YHt*yKkIGq%RJVRSSfVL|Vr&c3Jd(GLONe2jRu*~WH_ z3-@A9Facc$BP_(?@@_>*YRO}nGK`7N$rd|*Ymr;*G;b}wibN~sGe8Kk?5!LQSmt!k z2NK*A$S1G{%dIMU%t_ZP*kax=N}5}7djE7*{5i;-XPH!wt<>Y>UIFH#c{o5Z%bXip z@u;}-`e{e3`6Xu2&`RESNFmh`oyIRY2t*5W#$=jk!@fhIxWXGPv1(v)TXxzo#+g%X zjp_qPHJ{(;iJ+PnH|B;2)xhMos5XpfR^+jsd7OuP+-Yp}%K_DF(yeTJA1^UCOL&Ha zX%wTSKyca(@UoF!VUDqI&Y+~&7So2Y%RI_M@08B}NE4;sk4($+!e!cG8%B8)#g1EU zxmxU6aKo5pZo!Arp2mW|1hn%>4W9@L&Wjs^J1Mqh!ObFc}7Kc=MXZq@2aB5h}SFFV%{)z zncMfF%%`#M&nuaKBJ8`2^9b5mwk_5TBbxbaSwmUJr!&(xPo86}$3E4Ob=z(@Y70d4Vgbz>qX<+j)0!2Mc>0n*MBbwj+Nz} znYZEkapCXLE-?XJ7szj53s0)RwY~}x4Pb<#t+rqo7tK9+dM6WYCTa_5to}2sEhNA9 zm1+JBduo9HWUY96f7}c zGK{I__I)VxY3%#cz`Ww)iJ9iz(7r2*E!uZowk_5TBdz%up`om&d4FJcz&iWVWwvd) z;TR!=SpKkQLTZa>!#HaG)}l3{cLCADM`|-|wGH1p7m6!d>!jEg(}wZV{4FnQOg{xo zvl%XF-*TpzHhjxVC~j;lrzE#UwP8fGBKIlgv#9WQansDfzcZqmeZ(7^OO~H0Q<2R- zcODKCVq^<)TVxx?KXb3zn!VnEWJlky&oQa{|}#`ae@E< diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mrmsupport.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mrmsupport.a deleted file mode 100644 index d3318cbcf8264959e24723b00280354d85d27bd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4962 zcmeI0?`zXQ7{{Nqo1JCDy$~595<%ZdO>38JFh*e_OcaJ9hzPgLTy0r@k)*Ef)zH0n ze}#X?{s{jb=kwep?WMW28S4fU4{~>T?wh;ZbDw)I?W0Y{``p+nJ~QK~yjr%)wzW~M zn5HF~)Z8?ymb^F3y&?eMW&8%1I{_&Cl2`FNn(I7?)hw&2i#-Z zU6-@NX29?=u$lEA9LK6d4?ou1Os}u14B9tjytisY&!Fb*qt`bPMUawMe&&l|_v% zYJcOk-%0RFZmR`Qsv|35zgPnseTu zJf1=y3g66Q(*%w13$1?MkSibW34I?LNRxwCn9pW66R(X6@VZtlCwR5d&$OOIh`I*C zq{*(3*Ge?pUGX*mD@|A^&Q7R3}|jA1@ctPyotlJqyA=OQM#A^jvO}sS$lm-5~`rtpP3&9o4!WvVhj7*uEQ*O2rlKkYNNS|5tIa zkIJ|(iu|#NzK$AKuN&?V>TeS@9lg%RW|1gT)Iv>Y!ooZ|e?oVsrz0B?7W+;RywEtr z7r<@2q<`sNttIwGGVX(V5{f7fA+N$iG)g|Qj3Rhs5wng_F6Kw?Aa?~lPl+ZfDZeM~ z0ciJ1ODVKakpnuGHJ?9epGC9y3LCLq$;kG`h7$dy$4_vI)7bu`Fmau1*OhT6vE9?_ z5^NvobwjrA;~HjVI|uqNS4o3B@oysM4`~9JMx1X+gUEC6152i#dX|s+*>Ydb%Kd7B z`(tEb8uuR*Uaph-eP!H9+_&_)1ovO{x*_)~xTaaTHzMxizq>?Cys5GMBFx99o$2T3 oY?-(IGf$yNBCY?WOW!fGWFA2KkHNpsyms0O^Ap-<@Gn#GFVuY%OaK4? diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msacm32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msacm32.a deleted file mode 100644 index 71095a966c3b8baed80ad68f412d213889c70824..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36536 zcmeI5&2JmW6~Lb;J9bnhas3s?`J!8=NnJxBDT$I%!=NBJsR6qYWV<%fHZ*0eB*qje zkhEeOZDF*9fgnKPQ;+=%iXMCD$$vu+Ipo}Pk3~;S-<#Q;uN_je)>y%Uv%oB=_uejd zW`FbaX5Mgl=3=9Jck|N3hedrW&z7s@YU#pErC2O6mAWq$E3?&ke#D�QeMO;wr%8 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msdelta.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msdelta.a deleted file mode 100644 index 0f2648c61051915fa2933510404739ddfc121629..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13462 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 P_#=S-9}`V-x+vp60L{Zp diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msdrm.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msdrm.a deleted file mode 100644 index ab8eab3ff70313d491ce23f2221789f31c7ad00c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70802 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 Hdi?(b!Fkwt diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msimg32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msimg32.a deleted file mode 100644 index dddd689016a5ed8ea003d7ce96afb657597f419b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4018 zcmeHKOHbQC5FRI?p%Hzk54A^EYNZ~k)G@(;gsK!IP^BUvm0o)2VrmB)9242D;Lt;_ zz44RyDg7m-GqZkdhz+Sii;y~!$LpCd`C38;znZa&~e3)AKF7- zpwYLMED`v-^rY57><{+lO<@Z}4O|eyb8Tmeen4zTb{G%s$PJU#AnA3x*r`7liZaJW zWIH|r*Zm;qnK^RI{5BYR_G;jUj?&+#5uBsl{iJ=E2e~S`9mB9JOV=&4lWxaO>%Ddh z0}Sv~1GvYn8LgeT#|gKql@7*E+p!b78p56)7^m&sIKBi1-wEeahtIniwt8|KJ_Y$5*u1?T_ZgzY5X`YGw8Yi!!en^wYB!^mTGl z*oYaUXE*tXEi@Lf3*a_BGRE|+w#G7Jyyk;?0&<0il&u^k8l|3Dit3$Nc;zD;=QYwC zWKPiUNocW><4^b-fO1z_jMPG}8bqkeZY7o1m8maBRQZ|Roe9}Z7nQv7%XlB-0xx6t zmcojE$?i|exEHb8DaVbmJ1ocL?4}cNQg&;gUMp`lvmXxZ-el!DbSrGa$~_VF!>B8{ZXAmH+?% diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mspatcha.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mspatcha.a deleted file mode 100644 index a98c3198d4951dd869157502170289a5987ef686..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15060 zcmeHOeQ(=D7=PllYu9xHq-spl08>hNRj||4Y0)$#o%W&$O%)V%e;{0UahkBSjgl1F z2~c_Y0|ZDze4%|Hgb*KK<9Y6E=MtaoOY237nv?F%x%>I-d+zrs_SNcwZQM#ngM`$fXPn*rt$K^>pWh18Gzy|S9zRU0HFBl zWgf3C0#JMn@f7uUd3-AmKymSX9^b<@D1Pva$K2ll6wUv5Ec^>VvG@-~+rDYrpSRss z+g^7&Zp*&8Uvcek>U&PJZewBHTCwa#eVd|Jy4!9#org8Yc5H<0x?tNi*QuPQA+R^x zcBkBIHjdV*?T!80^@h7yGV|DYeYa`H)XVN%JG$%aRT^$Pp@m+Yyrs2+Y8Ay($`|6^ zW$j4B$yzEWybG_tzu($*8uiC63E=jAi;3g2`p%xyIcT}1g5ke}0`QL8p;mgE*eoqs zej70WX_YUoq$YZB5iN0X2^~ttNfG6wm*D^jw*oQ9>-tM?9c~I7h^h^jmt*hZwf%Sb z0&L$pjJdlX71>J3jO=UB2E&9~@L635*dLGSuSHfzKAY7+WvAk9cXIo_MUAqgreRo? zrR!E66Bf2+KFORz3kq;81Mm{Nn#|-n?qP>rM<+TMTe*tUaiSrtrUb^*+;+R20E1(~ z)v3XSf{&fRiwS%$F|hVHZrLv<+;lXq=;P3&!>k17*ZXEUS7|h;ELTO{_bQ(~2iVC} zokxCwS1!tmn$GsMPcTtVS`#{e2d8CyMg zPbT03_V)n1AB2;YQ`s!WDVCBRPciw>xK1hYxW@btgkxZwfNH09u=j|UFeZU0Y3k$< zxXz@@xlZyWnRbI{FZer$*w4T|k0~ep1GvLdo@nqJUZmlHoyLFj9Kji;9c{xf%w?t` ziMD)oNzjfd)}><{9CDFm+Cl#Ehgko>V<}}XP&)$KOR_KE!?uOzLf7W^*zy&`G~~EI zJE*|e>l;H4MjjK3sheBjYC#*8ZS7rmZ$nSb9G2Id<4iK&$NLH84;n|-)b&)@}3SQ={r zjt(cWd|p7dKTS=z7@-N??Cq>-f+s&I-h+d51yXis=|T|FqV-#pRa zC%mxbT~FE~@%DsLUZG0ocI1bZ=|`eG#i$3-|v2s z3iRUA)P$9>CLoLZ7#{ipq&XX&j?x4^A3U>~z`HLvLlGJy;?mTFqLLg#JX&w5U_)ForadUv092fcmwB)$J z7n(!Ps`^6bp#L1oXzzoO&Qs|6{()GqRD&Z-?NFCvj^5zWIy#nxMd27h20vhhOq2RIU)surm2<`xb73kVBzKAE5J8L#Dc zwSa7%supO`S}@Xff1Zerq3h+`<^?R(;8)C}H6X^X540qG|6Xxtcg%h^hEX2RAneab x*zX-_Ig9M~x?WQKD@v-iUvVFIyoM9Y{z2AoAjJOBKE-pQHJrr1Po=Sj^FP(ZtXu#9 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mspatchc.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mspatchc.a deleted file mode 100644 index d3b4abe51416385d68be4a02fa0a8fa87fcc6d78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13384 zcmeHNTW=dh6h5|-IyH%?L{(9!s8d=l0-0UMSvyjN?1r>?Kvg7y!UJNniPyCo=OTMU zO+lyvBr4H|A|619M;>_KC-Bf;Mmc9@FXP=E@5I?gvhYYVyF2sk%+8tbn>{nTi#M&_ zZu`T+2gTu_FYAVGXe*WFVo_s7Vp=TfdZohe*e(FT8vrx^0Oaoj6dv=q@EZWd3r~4` z<#zyzm;U7O@*e;cuONov)xUYX_7?!f8&7zAX8=I)y(W*PHULE(ul1&BuA1hjeY@8; zH*Cl5nX89Q+kDVDu#P$=W_FC4VRkz^6y4nY{*mSEws%d-MA*I!rrEZw=4mPd^X_49 z-|BWA+P6Dh`}SdPgPQoHbML@%j(c{!qG2nY{UcKac*l0AmfPv=K#|S`d(XFr6 zt%GLQPO4%EC#mVyajRwbgbpR+ViAp`hv9&=fzz{g9cGJl93{KAc}T|Ds@FVgjD*Mv zy{`6?>luQ|>T4v|!yv0Y+j98O@@|xUX2ceSGS>#kgR<9iNns=#O)0;J7l!Wf`@A-g z-x~(W>ZnWm=-0p?q5B*1`&bb)_Z-_P9r{z3Y|hd(%`l8&(I{iW!gk@~%sHI4aOTMX zyv)vKGbP6!IP6@W6hYfAH7&=ILs&^2v}dKAem?;Qj|kVH3a?i@>n-ELQZkO^(Efknr`0sOodzqHC=ViG0qOGXvT&RA6iFV4$ zFoKP8GK^p!>T@nb>2Ppu$ZRuUO-_3+|R!1?SK%e`~LdFSEdJZ9v9 zQqpmr*@wn8uf*dv^8gTzfpG#_PW$*^kLNHZfoSP7;ySY~=Q`P!Y#Ib{zTnRsVLtn@FWf2=QN&^>w*iK_3#>wv8o>CA$G;G#o02sI=D(5z!2!5 z&aQcqh41mijPH8VV$EHho_ZY}@LpHreN`8|Bt8>8MlK}rep}$nS@QnA(C#SSJMp*( z@4t=5`MfXUn5y#rrFhU;kSrjIsHbqA#Sas3~FU3z1$Tit*nGC-H^O$19;h^-uDe zV0>RlapO8o-q+N4U)7>(;^`XTy3hM7$XQiiXbxmM{aX{w`$ZBihF}fw5zk<07JkH| zDeZdlM-Kj7COz**t15E899;)Y_k#lNU&nD(<$hkueb2}3PqYT!br~OMVAIW^Ll%C; zRH^~r1j$+$hNh?qLs1jc_W>K%(8^(~_rW=-CK?m1g;Tu`R6lyB=?g8Zao?y$_d~xy zA|&k#ZE~`()#h353w|+k2|50?E7D4vx4XY z`R2otEIh!}40l=nGr|@xN^yR#C~~|O^?4rQxF>P^Gl3gt$?+Yb-BBFx#^d}!qCH63 z@%b_y=X3lL;#4_46XrPnX@j>bkKNzJspDTXvHKtr= zqsA%k?}CoS^<0$e4XS*S=k)QouJB`Anp{`>mRr^J$hX|-H?3eTi$5DH&+FMR*ZoD= z8vau}*_?lqI)EXV-|1g9FS!5rg!~wx`|3Y-rl|qd@4C~qD;r4Je1DR?%#2h6lg@>lMG`PS>t{U}fAt$=Vgd+(%DmlKq@<)~-oE(x>nbXyHFf C36eMf diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msports.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msports.a deleted file mode 100644 index 22712892fcdeccbba909e49f44c8ebbd1e19b2fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10614 zcmeI2eQ(=D7{H%6eOp!DrU4TJf~NYw!0{%ez5PXn*2>#;3FrMemFXz~fZ))fisVCjpdG7JO{+{Q~=UlyMxet1`mOoaL zL0{Jm-Ox5_>#C};EHPEp##%LaU~d@!E(4UG0xVPjE_})3$~FMSH+Ffv*aV>X_7;zq zHGB-?l{b0(;2!{r>fbzG`wM{LjbA95X3I41d$#MDZQHk9vo-A6=8w+68aXBk9iw5G zeWyb)kRE!Yq3e65Wun%h4W`+%t?ntx0dvQ89jo8QV%zR;)V2<6ydF7S+imJqtiU-O znMF#xj7`TI^{t;i?H*Z!2X=SI_I+n?;H8S0q(|-WT7Ap&z8HAE)$b>ok(b-HTv9FS zMWI@2c)0o5J==4R?M=(KI+kZQ8{rt_WCr5Cjmp%%)B}kerhRv051O?^xuJ;V-?shM zBiFSDJ{5T1!#QbIwS<123VXiQA7aCk6-2T?!*UK;Yjq=0E)Knr5$oQuANyOboz+A3 z$XGsf58O`2uM9&Q%(FdR(+tB9@nb7^8IQjJ?Bp$Z5{Y!ovd6y?kRH?Dh}fr| z9TWW--AGd?}PjJ02+S}|3dxEpv+k7w7J85sz%hpTnZQN|V$lqVW znUwYS^C9WcDfw(ujvtL!h$)W_6%*Ws5e zem=t-dL)`2$!k(1*R}YIZg?K~RD$I11X9kD{G}>IzG0+K;vXXoMLxVO5ObE~e=F2G ziTrN1UW)udwq8X3>o}{jmOnZ0|Nm2!Rm~z^qKMV+tJeEz* zlk0Lk*VB8F^F4R`c1iOp%X2B@IryswpZVEk`d#V(hL~xM3s|avi`S58@!u^8uoD^6 zqg(E~sj-oMqdecI#B{%hGbl?p2y~18N+K9$c?VA4jw!^H-{Jz6DsX~VfpW3yWAB$) Lf7m+x{|){F!kCb@ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msrating.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msrating.a deleted file mode 100644 index 4f0538f0f0124bfb16a1d772749b0e0c877715af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27912 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 CWk^l{ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msv1_0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_msv1_0.a deleted file mode 100644 index a3942de6728a82cb53db64a5e3828644b440ee7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14662 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mtxdm.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mtxdm.a deleted file mode 100644 index a2e9d8310fd7ffb3ce504eefd91493eaab7f1b37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2478 zcmc&$!EVz)5FN*9Q=%d`AXIKff*Ue6q;4Wrs8WNtG!h4pxNRJ~sjVhy8XKBpFWmbr zd_m8A6lG@Cb~dryLL=0XJYLT{uXmr{jQxDypM4GAHD6oH=I*+l>p7j4XIT!XbZ=R1 zr=8x=ZvsFaz`(Ql6JYZf9YP!m@i~^WSbUU;oQcEJK#KEd;!h)i!N_ZSViXPNNTcIq z9*l)A5Hpq_L@52>&a;5{Ad_wsPvry`(eo$%v7F(g(ReCKQxKd*gTy|~iKt@0bsWz_ zRy?VA_)LH2EZd8Z5VbU=LwIiodr(c4*bNghH&NpoGW_}$G5=Xf^ZQ{_@b3z z@zp>b*QFcJr*OMjoN!y!xV;Rwjf3qHT$b;BnssT$!6-I!CoCjK+^yh0(a7{h9{(WlQ;EUN$gw1BN-FH*b>oODvn6Fg19Oe(kzw zl1{^a(COY=x1duGIeyIRt>3p!-(<8s!2#)%YKV;9VVO=jx#BcjuKN`TUlOh?PBGGT zgFRJngZX*LqrXvc$W063XsierCgHcqiHfj};2xCD>?)-bzr^Xn^iHAHT+lv)GZoXB zst=&cUb!0lz`@$>`p%s`{a$cg#15G%j$8Y8TYb?itKU2_8oZec)Sjy3VqI(@;uYq< zr23?j_5b>J-fxNZ7CvmCJr@>zeyM-A5i=^s<#j>x?IY%UInKj0+f(!hDJBi!$-26J zNmrMbix`c{zP3s&^gL1*zymxK&vdPi3YAgp_@ICPxW7ZHR%VKxVrG#=@6IB;`z4L@ mK4}fACg^@L+OX32Grk6(+EtO9LXITpOaCNp_{mteO8x+=VszR7 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ncrypt.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ncrypt.a deleted file mode 100644 index 7fc769ea0f2aa6725a1395f0df9ac6c4cce16c94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107300 zcmeHQ4U8nmRj!?L{1@j3$8nrEKYPx_P8{blySJXX3x~6JyLa~a=d!-NGmbG?&+Yc^ zjy*dwnVDVR8Ygy4OiUb1973Xm03m=BK@>q00YV^I5JdqYfuisuB&0|nD@X_giiCuK z@Ls*@s_L$)nJT-usC_k3_3YMr)jd`Hz1OeadtJ5naBHx-dCTSRo-Tf7Zk}n(H0p=u z8q?EtPSTIl(+3+fR5AU)<%~^T#Ms{F8Qb>^V>f)6%8j3549mOLsnm}%hULJGR2usj z!*b{iR1VKFhUL9)q;ljx7{jvo9V)l}Ib&FE|0!&8N>1ybt-@PYR0g9dmoj*zLYU6fBQWufB!AUu>8YsQTZ;60hWLK1eNEZ|5*O{ zUMl|r=f(1Ga84}$4t>J%{clqF&%a{~%YS{F%K!WxV^F5pH>m9S8k@p$@t3Jw_7ygT z<%%y*dDYk16qYMLMdh_SYzoUYPf@uRzOlUd9F@IYHic#1fXWR|uqiBnSzg`+=f+b1 z4wVD{#HO$`zDMN{)MGjP9F_NekxgMa`e7=^me>@Q+vcd;0pD0oHmKZvJ)6RE`eG{g zJkO@Ey#HHN?uWi(S@{f=v(Qg08T0|mCj4$J4~?jFpJ7v2KKLk=(P=h?<>6bXJaQwO z!t$Z3s66(4HihMhzoGKvH`x@Hr@ltzX&47A&%pVxJPYT-^63VZ&tAu-uzbEw<(IE# zQ&_$T*ZAU%D=P~tD`$q;V7RiBjk3YYLT@cwdAQwe_1h~@*=`(ctaRFEv54C4>R`7& zT4}8S(^ke-RyMQN+6zAoTUj1g2jRT!t^SIO2yKx2w$^ZS z{=lrpT&M-E_w}>x(xA7~UdsmaGdib1k=*T_)+oCp+nt|jXlEw=0u5T++3P*D-Ct<; zH?zU=c6*ea=&twXXXmtrZkAH}JG1V_XmeQXz1~`9fVL;#R%BaQca(SVRJNWCvhHfO z(A(~g=Jg-p!HZ|y>h}htyIMnl0uI0deE@7k*#@}_y(aFw8u;*D-PY=^4L4g4!5yw^ zBV>|*|JF?Q3;Ng32BXpyTny9}uB@8r7lUSH8nw`F;?k+(_?wP&HhP2hXmhLBH8{g0 zUVg@IHUJh}ek7*yVhtIeg> z>O&bwrhY$;kw(=>z`vLk`1MPeB*E{i3-AOJc;So-gADGOlvu863te?F$hOBoDQmJw|uqm_+LEl&?x-C;*yuLF+?DJ*U}QI&(lzz67 zM5Sp+SqP$vKa|D8SSlquP1YXSUTcrw8E~Qt&w%yTs`;}rkaY`Beg*{4kqvmfps{0) zCSi!Q&Yw6+O*zRxfIbRbI$F9IpzVoa4~!O2ZOa+VBnFNXjO98y z!Af(}iE^ep5Kp{?UU$8{QLqB#5c=^FSHYb^O2a}BRaV=;PLs9pLr2-U(edpre~iLC z6)I3lh8L@3vf2@aAMUU<@-wVDYz;S^D5o;G|2y*eJJgiM7>1m*)!PB5O<^cBJ7*GC zPA6+;^1aXPB0DFYEw^vDH9-x)o57#l((d!&)OboAblz)z>2b{Nb5f7C^IuxRyzRth z3-jzn9`$_p;UpfkqvRt7IxcK9X(dkLB06Xvs|DqvQoZ!VEw$PM&6(n&mg=>cyNyD1 zIA30Djamk13k1b${0uo)CmztJ3Ld4qSf3h?#N|#7dWz&!8o2LrwV`E?$%Z| z8njpW6R)I)q|>gGZMuFdQUo{mYVaX0 z{~+>bNRs5wtv}w2(ilLSGMU;bTTfX*Hj1bND=^nY*;+0XLuC_9WK#^Pb-9DW_s0c} z+)5AwN!5?$>J;{=f)|6Kyq1jXg;A4^EUSTp3f-|55!4! zI^Cj@7ATQ){``W<=yp*>J-1dN@FyDP!etB@(7~*AFxt?ttu$JEtyY__=0^u~+fG zUN*HKO>6$Q`!LPw59|krY0J&RDf6uU-2St};RH7JIP$geg!|@l-izRmi{N+ZAAUaK zyE(5%zDwPF&72QXGT0RszMM`0mHlg-4rBY*+nr1h{`UuvLo&4v@yDE#zV&g!)9xvq z8@co`s=0Wy@!8|z(Z&Y*y9bkUN*^(Pd|X~Oo`;VK-uXRKFE5>i{>{&hJT-P4jxRpu zk2u{7z-jZq0g<+(aN2+|hV&BnT=c`n=`8;laJY*98j>Nb!+U7MDbmUxjZfmf%!B_U zpRFG25Z9ORBTDcke0*NP|MEfcCeOzJcKC2au=UaAcK0Ew;W%PH1f=uPC8Xo{;+U$B zt|{m@8`$T}Ig0TcrH`>={78oy`xyN3;xkcRcovIDhPfOiV_2`x%pN51n5e-I-mFQ+ zCA>S2gJfLJ|1u>561&(sJn5D_hfIFXKc!RsNu7`qG#jWhnQ z|7FOAsq>ls1mqf?3B2-=!mI4bYn1lRYk2PqDChme-#}7x|7Q%PmuetA zQGRM{7yfqTNYSj&91}7tUu4#nLVD8^=?(oEK;wQ6IywpIOBzDXC(`fJt~(CtYj!>Z z>0LXYMEWb?PWmGKF+_UqnuT^%MmRnb@S_lZBUSKYjp5@95uSHf^Q#)Q(JXE>2UT8AQv=(12k=Bqo1a7v`*nUUah=Xv*dfht=m zzVlT}*Nc7{Cqp#U`^HV1$p??9bfG>(uWt*~V=iY7_$s5_*9Q+^*1B9&>^537jC;mW zo3p0v@(H-%lYBCI?EQTDWE`=4!zY8Y3JZ4S!x!^C4g=2q zyqZa+HN3As25>!Q2n=OEkvE!5_{Lt7wPTYVDH9>q&X8onSZ)U|P-Xq^Z|xXeFAIQ! zAsXsEqp^)crnQrzv1%3@g8G4udVQU!ilcrS#TGtlHhYvR__4-*8otp_lfP@HcU^mV zXDmlF-229251P1t+`|I8SF;?>rv-Gr^MEm%%GUz=ppJXF$XT^D{hI{B73L3%8vLrU z55ZB#yzF*ysj*xnO5|v0_l&_dk_VpOJrZ6s^B}|n-$%5o1z##{&-i-aRd?09d4*Bn z)zMJx8$nH|j)v-9j%r%6=z>9Yd4(o{YOOjNs(quS$s!+%>JW>(i>Q{1BxtLm!WF7K z51r;CG}$7zb-iejyE$UvzU~`OP1<}c?n7*ptpe_=jdfoeMIu>S#X*<;xNqUrJ!7aT z+nrRE%kmD%cJFXh!y+~iODe8DU2TN#HMF@s+ugmYw#@e$!xBxOd&g1D7*ooRQJ%$+ zIO;<=^5x>_)keH;ehk7{cDeW}lZ6xw;hs^{#z7O|$%m*A9+JWPV2*GtE{JbzR@q9& zXB&Q$5Ai)z!H+feQ}B&GM1->5?P9)wof-}6zR}T??a1$%%Z>@r=54|{UlNQqp{O>_ z{k6H)<)WY5+>+zP?s6p8%c%QCLKDKHA$$`NE*7`DkPu$za?#OZAw|>So-xn#CLRYk zbLsGqH}N)dgpb+R2d`FT`^7i&3!yz`7z%IV`S3=Q3*YEy%KRFu`9nPJ>nIobN~L1& zIeg2Z>ayUQ`DN*P(VTZOL_@uA^z@MVUUr(js@ZEu227?n);& zWce}p!r3bUTJN^Dfc+SHG`y#{D!(r!tH#KApS12wh?ZYdcrWgg2fw7s7SA*vNgeY? zMGbzbOh>|evFpVIUpGf2+}98J##NJ^=l8HAA2P2!M9;5s+#7pdRvPo(dfw=EG0^JR z>NA!fr+&yY;+j@jB9-OBdx)MttKnVWh?TTqbyxZIw&ops(8_qL0KGmo^c;w$<$a^A zNy|sm@+}SZ+8)9el9t!HU0nayv9)qME$x?Vi#Bbwt@*t)L|XjS zo>$}E@w=?&i=#u55lz#3M`F!&-BVtT^4o;0fxW_!ukGm$h^g}Y^>qf~>!Jp~YV3n> zO3LBW>{!`J=?Hh$nb_~B`F6%vHw)z1^yZn~7=%_Nny=JS{ZfmpEG4yD7 z_l(Il(rPnf@g9;_^OFU<^S!Pst<7#{MsM~>`#hGze;olhct8j$LX^!FE#j=OT5?#ajZv2&G1JZ6&O zM_KMCse&JC?C0ToMF+LfeFyj*e9`20^*7$1D+ArX5I9|rwowZ!3-e>jc^r z{*M>%|1mrMMc1{&Ve?s0;E9HP&**C-y(`7`OWQl>@2xMyUwSvObbNOM$WpNGs* zmlej3Y_GLPu#(=1?kF3qw^l3foeZ(jvyst#!*Fr&M8kiIy4rNNVZp?VLY(C&|VgOjbT%Ip4j zb4{ZACm#?s_*G-S21ntaoHP{kGqaE`+1~1}1T~2ERPc<|HV>Fml6K=(R#C_rAWK3@ z?%vJ@xW5^?D{UfD<=H^KBdhXY-dB*2Us4h>b{LFjh6i^n*=Tx3chh=)bZhBBVtO^N z2D0xHw0zfYmthV#cljfQpK2yTjAaj?6v9umDeDX@;g`DL(- zS{oVMVZP04rDq5MGh<8F4TH$Z6Ak;Gk=sVY^bFz7k&|W$O9U2%U*~hCaG!QvZ3bY> z6!hIWH9lje;Mh%5&J;pcn!iiKK5j@~Wm^ZIZ}?HR&VH)k#~SOww=nJz%g|lJ>shFe zhHKxbY1=w+ekaIj@9NN*2@Wr@FSg#@vMveNyvxQ+)u6?~c*8e_n(P`5@)#IDCNQpcU$3?WA7Iz0 zE|;gNB}z1Wd&W&03E$E1y{O?^Y&&0RJ0=j{+8*;-+8E+nqeR2EZ)`NZ*%uAp3pu{q z-BzdlNQN`hD*Mv|{EV<5cHU*Rz9czk%A{xr_l=S!4L%m(A)c3`0^xG+bvSdC5gwqy zWtR=lONkN<-=0y?X8q7KeIB^{&Z$fIy-x2vDbHfadrwDle8UdCrOYmL!c`jUZ{^6) zy)L(j8tU24!k6&6;1kX{UGjFi?FoTzkex zlOK_8U`g9cT!+{wKPGU^6BoIcrP>-iU=}L7Z0v4OqC~^DcdRqn;E3=T_&zN0-N{BT z0elD8;ES2)a@mVmB*a4Z&Aw62WR-CB?Lv2mRq~?}-4~QqvIuKt?Dj{7RZ^&rhHKC0 zW^>leN=#W>%5xHuwe=o>YuX7~yz*OE9-!J*$~(w_)3UZsiyHi@v0sFv@E^K|!0;kY zVvQydp7GGM&m`Scm!=PSPx??%BC^2{7nfP%3AF-Z1~!uWNd zxqN-;%^c&ng0?3eov3I?QdCS-kLp0QT##7VIO>_fY zIzA*jYz|R>V%URiDZ#I^oDFuefe!sD>w5Hb;YV3Jw^Ic_ik+LrbiW9H*C0if0pHkb zS|^F$MVAbO*f|H-(FOElUvPWOTf41AVaL#;>3q*vZ1aFQ%S~(kDoZD1&EHvp_cPsr zSQ~qx*IjRK&H=nnDU*K>5MO^qt8;l1{F5+GJx))Isr zv}hRjjn1Zgg|Qe9$ya!{!Z?^TqwL)1_;#0XXaEjsT41BnnD@$8khpdXfnngo7HDHx zqe+Bk)HdyU#s$J@(}ehU_A7}nw*A7ZRN2PAj)qC|?^t#wmeOE!ziius7}$BD;omc& z+ep40erH`aeTZ-8T@wGR`u1Lx#=X}X*g5VC-PYC@8$*wVci)(8iein$dq@=PCV}@; z8Tj;fWvXoD zctx>tJ&DuXD zYVfPZegTdvxg5BLpltK!J7SuH6*YTp&NHgpO!C0*sq2}5Gd|yZo_7d&$Tw-^dzsPw z9=sHG1__V{=MWg)&}HjD{HFfMu^wxZ9*P!!&JG(7?@JDYjU+^A;9Zo?Y$IV1Q{bKhC2 z;773^VF~B+2O4Z;h3{)(r9{KGXT-RXa{c+;a@j2*_}(kriKMupW9J_bQ)ns1@e7;usw1#fHPL+}U8tedkl;+MO zUszjXZ8!?AB?8zmOjKnwM0-Ya)7vX}hvK}w@)m(;cwJittE!CZfVWq)E*mpUgBA_r zz7g8G8HY;##24mIe6zy%@pd2gf2YkH?&_^&C`VPs`*qj>_$V#z%+&`>8{IGG?KpX2 z;eXaQ4x4tW;`fz|A!!9kt0lyr{w9h4ZUzC@Yw$lEG!EJ*+WpZgfAjQoJNRdP^^ZW|L+D?J+C zJtL@T*OT#h5AniWtMGoR)m`gtRb0ylco_l9)MXpWbxJgR`$k8T7o7v#WzmGJx$p*o zZ?z$IwXK){e5)>(ZTAu-8oqraqG@;VX!w48j_-E2J={c3Teb1+wL3Uj>97U3=(3@} z%cN)s_l<+5HIT<5Jj5cuMj<@k48HOfxz`%V66Jcg)ecr}ax}DiM@7y3e$pNf$^#i< zkH1c!U2gw=;n?G{%Z96^M2UuP&$wuF#(W1VdDs=crvanBanY-De8Z-}`KzDVTAs2y zth9&mZTy+1d)V(3HTYFyKLv zezh(4fILQowd}TGyj!Tzu!;^!gTC> zMkdUTolknyL$H38hIM#R2XlxjzZTB5TodS;{-CJAuNuQ(nWpLUZfncgll6{JFA`%R zeI`Xu`5hr3%c!V<^bb!!dPwy2H73&Y#V;$5_<-oC25Q-TW0?atQ#1+ijGi_RnAUw- z;XqmUAuAkQ>6QTbyeAFG7-n5w%w_a4I9|g4!vFQZ^o&y!)IDrJrg(B*vX-Fc?2tL zjwTttan|I;B*M^x# znX=#2bKun=3%*{SS4*_>?ddCxa-8enN99fKrwV?ou^xO&Tc3A#ey(18Yw1{5tB;0j z-)L)^%kn$r(&8a=*;ff%FK+ic?NvySd{HZ_G7m^=MlC6*<$T}A|H*$ZaMkh)%e0#@0QzjT9 zJcjrD5{d6lHp=&isyN1j{483x%bC85S(z9O=_&q+04^h#XMSM4@9JM6@z0AT(l4m^ z=OTDccl#rYRj$=X!?kbxGx=8#=4Jf9AphaZ1g;kb83aEmBvfTfJix!Ax@?#zWl}VR zr?{sLxrXMBnXP_N0pTJy8-7KVQ64bgBq)n+8|ms6YBa2S#yy*}<{G7Gze*M3zYehK z8x7i%W1a6)xjo2D@;qxBg|EuEzX3Y{AC2s4W6#33$lLOCW-Y2R)RdZ$G{4P@VE zz*LU`Gz)I7Xfog#Q*G8wJLsdJ z1}D9tdOxX3j-B)QhU&U@T`h~nctf>s=QC{nN9=rZR*N>TuM99D14q`@gypL&pek$r fy$EyoDEnuTD)_O+o`i3Kf3xd`<>O*`vB>{Fqg>x; diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_nddeapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_nddeapi.a deleted file mode 100644 index 342763b351f49250e7eb11cb68354e6c9df5fe89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24260 zcmeI4Pj4GV6u_UIv}r?2LtD~N{>YVrKnUEmn>Y?sRZLS#QK>4@l8Pd>ZoFxhI*zd& zC{=}W=mm*GPkaVGMh|=djy>`L_y8Ob<-M8p?(EFi9w$Spm3O3B+wTHClVc{UeMh516MP;wUMO1YfFMB+A=E0pJXLGI2Z0DK5A@e{!0y8uU*d7hdB zpnPJM=jkZ`$}|7){Q92&l;8TD=QFo1;fKLfb^ z%yloi?#;H>YP;9Hj@NQ8Zq+>Z2ftBm`YsmwrEK4Eh#eAj!>$!qR7G;m%}#7V*jy@jmhL1*hbG9 zTo%^QT_EYo#dNiYPdnj)P)D>b^Zj`?eUpktkJ|c%#oA%pI3(iNGY)`O zOsz@+862%Rs295`vMs=h8o90}A3KqSlxuQ%Q1eo&wbfebwEV_B8Ck5SNYz?0u<=?< z3N`<`hn@UZc=PRb*DW|ssf2gpQn3)+rteH%%^U+g{(41Lsb@ zR_#>#Y5^>P^E7|A-5#I@JEZ5+4rlRh&(k=5jN@^MiS3W;&3DU5?@({Og{~gnj^T(# zuPdkCuQdI9tzL)xx?lGK!N1P|?q$}i_qzo_x!6y%+c9b1q$c)JwwI33KV!XggubEk z9m~)*o`U{k{c-?BeRNo#(3Ky{P_L+|yLZyb!e!iA@L48_)QurXT{t(dkXpiCo?-_) z{-Q}OcKhulej!q66j7q9s3VmLrH!B$k}s*SpQNWNr!u;R6KqRkc!KrMQTEM*;|=Ce zqBQOP09@1y)yz$ks>{y!@o zT3zb-Ic)5%&@M#QK4!(ss8iSLg=2&EcOG@V*Xxx~%+d^Qmja!j2tRU9pTAANo;-=l z@Cg#g_KOY)bF~>U)E*HAa2PZ1XZkIE6Z@K)98>K+h<8C|zCmjPH7gV1Twaz)m2T_)2KfL5ZP(mMB*uia|N4&_vQM!dc=^n}MhA9h=@H?~b(rHW6bXuu3*5^{z>5}Z#whzPljE40J9>WN-E?f3E z>$dIsIaAhykO#&*u4cFw`3M0SQ1 zPjS|TS^3pObAFnP1*XWRhuwmuS$Ke3Zqvn6mMyv}vu4kWDdTi~IKsVsb(@S&D~u=G zPu~^eiX|5qw{6D@DdYRi_^T1)7~o*B+7Ytj-Ba!p2*z*~1&OWMaVKSbzZpNNFg{9l zJYXDc^?=0=))+4=8Zy2xr_8gY{`hR@cpk@rV(O2dh#2P+=vX(&&z+~pNMMTmaa`gR zrYyAZd*qKBEYGn=cR8h-F2r6v@nPsb9;drP?T;4SS~omeP-c&A(->$;og;sMNDP`w zxz4d+^z7$c%2z_W{pM0?dOc+>rJ>ggZ8xoxFty#UM0C@-zeJNgO+yn?WViFYfNitT z#LviXhszwJm?v8c7M0uby9=hV&Xj9*r8wTTl zjaBa8O?i-iovtyY;SgVAc$9N3z4wspC&)M1s2Bb0^FaxHWC3613;b;9wB>h*v|?*k z+%#&L($214FRy!;6}3lnv{y!xcEt&g({9@rH;rGW>&LCp{!*9r_&a2Y_Q{RckK^05 z@zWmg!ej6%r8Vnr8p}+1x5oRVmiJ`)>bvG0?YF@TzSewq$26{)dNbB|Kg@VnUcgSY zeK+>qmDBG3dO3fE+?I8BOyis>?bc{Nq@_LC)_vEs>;Kb$IXv_q4P0!EcEh;mf}_sM zJT{n@`IE}C-BFCoWYjf)P${lQ+`S4Nk6y|EX$w`}iC zj5TGQUCUm+%rLBjhIMq@N0D`T0Zp8BOY3L;0|(~bWB>pF diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ndfapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ndfapi.a deleted file mode 100644 index 84cb302d831d9868278148788cbc741aaa6ad8b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16402 zcmeI3-EI>{6o8L62?^o16j5ktYY?=Riqf@{*bV~ZHX(=#MNy$@FHjvP-jIc`PHhK5 ze^W};UQmg?L9ct&N8qAQ(Pybj&zaesncW#XlVlsTl1G}^^_(-ap4o4X&;0nzrFv^= z<;v&>`FJQy7D|PZJ2g?x=UpaJ(|o=#Ua0UA3!?z=4#3b|fRSSW2QKh<_#^fZnqPyEH>sXqZIp8kW!w|@tqc=joe=br#je6Pdf`;P%AjxF<8SOB0nahu2T#{d*B z&hvQL1-R_iYSXpar){s*uFZQLuT`6FHoV$HKd7(yHO%x&l~QfhU!)l3290GB)@!JA z--B9h#j7`VUJcad8q1$}YjwYMJy`M^UeLL^Q7x3PV*mbHt*cZkRV@^|mSHk1an0-8 zYSov#S%1~5RuuK50Clf!cuVUYZ^p0R37T!c9n&`nu}rA!MJ=foUF9K0DVCaUdG(I> znIGJ2F5QzwCzPVyRb+W@F)Ewvz_7HYU@9AHrdE)oqSVcmddm;)L{Bx8G-!y@^FeD( z6pi&0f2t-ICFi`(bTbINrHAJh7cB2j-rCPiYR}r z)m&dwyUkF6QAgA;Gj~%wJqA60dQvRPMVrI}=#+I+qk2}GZ3%a*Xi`Gj^9d83oW6zKW zcVVni@6>y00aU?#KDO9yZ=nX8q~}wG=O!ZELA)8n@1+J-AJ?0V@=0%`yIwicJBT+2 z4SJD$Zf5qw`RijdH*V1H0NS}w@b3$NJGtfhy(lBhSNn;o9Z1woYHA-j-E@@x8R({? z^bNIlAV+CDg#E|*We7z*bXcFzn;*y>h*uJRifShv2WBzd{qG%dy0Q&U%j4sr>mWHT zVILo5-*NC|b6O0$3XbCqaY|!|0=+{Mr%aeg6g|OxLWO-KJySmA5!b^kr4c;L`sWb4 zv!Qr}`68%}fe``Aot5?A9?xMM!Al^W^)4r!`j`4t2GvsV@2s)Ulp~7iN}~_pDoc6d zz|VNIdoOI~9$e@Mj?&0zyRKU(^Wm|j1+Sp<%mR&!Vb+{Yq;Hhn=_6wV^Dm(M^N>)w zxq#;^<6@p2WGtzidi^;X*JXdv+$CC{^C4+ zdiG4_0lWhEdzmB8= z*2gGk?WFI(M+KFqKn>=UpJtzN<|J}1hB2~P7iud9(Frtk*t?2Suam%tbc<| z-HP>F3L|^T`WMP`d$GP^*3(#Tne_zgWF2i;KdQ5yY0h6KoH0nwMYmwC0}nCPIp1=+ zn;zqnwv4Nu4!16S#?OhDc?{p9E#pUsadlCGk&sHbe8Q6M%A{t&H_@tXWx@O23ccpIw{n>1PA;LLR+hb$H>jByB;ggF!BPhv z;gtwaHakYSQJ5O(L^hK$)!_KSZP_*L|^kmPxnu%ahHvSPW0k zXDQmTUUmzbRexe()o&~Q>|Xli%gS?m`Q>Y7JohB~CI5gzzPiaq zfMnUyzfBFmAjz+?&pdJ92fR_pSDPN+!3~Fou8)U8R$J}_cG%eQMDNEL;^fkx6g_jn7JHE|+$$H{UL$-O(Gi#t)_>aOIx;XG7 zrqaSEnr>j;q>&o;6y)8x*hRN|-|z2foKt zGOso}K7-{}UYDoFyX8J=xv2C0)Pna0cLIPedpU;|5{4>gzfEd97rBJM-EB$-eS;iELZ^H$%!L_m^Vae~X`_Z?7~v zew2(mKbkl-+HH4c3%aHM1%L3jTE$u5P65zmFK4xPmFM=F)ppE!njin2Sx@*ld2C-b z)WO>@m`?{gl6KRddope9&xb9S)Z-stL~!6&yqDCQnqSp-XuGPVHVSNaY0LVlv;LV% zY4eZc+qE49IW`K^|EXo$-qY_L1xdd6GY{rEKz~&nE}1Fnm9OZb0oMnxR} diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_netapi32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_netapi32.a deleted file mode 100644 index c91114872780bef3776e4c688e171cd07166f532..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172880 zcmeHw4U{EEbzaR|AqiOq8-x%b#7JHN5n??vJNsr9D`IA6cBEbJ&#*K5V_DYh+c!Ns zPy6QesNb8_t`O29gph=U7K1UrM#0#@3bwJ0WlXTG;GbYjFgP4L@kxAqoD+_d_#`JB zlK3bN+&OFNK?e`LbbRS$N(mQWp^e(7}^w8HBJp%1QdJJTd zo;c3vr*{#8^fOx-efWn6LHg+5GWx{V2|;@DGmL)zK0=Uw@ff3D+C~V{XW_b$e)VOH ze(gJiAblRrkMvu=&ghFDCIsns&M1Uv4J^>F?kiNdE(_9qBvpERp^f zoDb>m-@@qszM2rE@4bxD&=9}|Y0I;WF8;4%2K$YV>C_QMowtx7q`R(Q)Prk4It|x>boMKZ?)@woLc0Hbj2>7aLrCw2 zdw}%t)r=nf9vMP<{9BC9!?huO0O}%r=xIhDf#V>3e4WuJ?<7M=pMql|{lXlh&%kk! zp85`>Uxs^t^tmrE`VDwyNKb!?(QiLVhLFAl_XFwo;9eko8IFzghY6#v94A9ae*(`7 z>FaPlq;KwG^sQ}V2k_;jJhyTs!uL&7K`kQYv`p?ghA*8>B`-Sx1pq)tn z{ZU5$vqOfEzI!{P|8p}LLVEUcM*k1)KhpP~rBti^8KLx|&yyO`rH?WCffZ6iddba< ze)uXJ|)`@hTRfoDk#=^?`CVYp{V@BKSQ@B22XA-(_KG5X+FNe$^|zr^UHPmvnZC*V4e zo`kkN*Wjgs!teAJ7QrI~m+TDrT{X{@)Fps-b+tS_}&Cy>(8PSgYD_OYeL z5{RuuWNB$NYAipO1CgZz?Om^d88tv9{ zqZiFLy4}0uWO+Vrx0+|?k|@%iX|Y)Daa0K9or}sSM>qhOw$~FJkXAvZ;M8PD*;|r$ zW4)^%Iz5cSO6B**%Z+vyZms@|P+n(g@^Eu?EJ%6IO6B3-eQ~qVPS3nu1rS!U@MTT2 zE2UKgL(1}|sr@09R#>S#?FGiQh|*LFA)P&3T9!)8tTs9)1*XhfXyKdeM#jaDbq(kut07kZ6e ztJ`ZeyKuQW7EKn)uQrm1_izp928T9$M!qHFlrTyAYR7%N0qx94+NiGpkYaltoUKb4mV0^*hE(Q7Y=qC#|(c za&{(OTi<|}wa`bhPQDC1LbuzBJNzl=Pct%jvId3hcJ4LKF265%RXN|R3D_{O3im=et(36V&fwChE09b%TnQLAU$?HrnZyH8UoCj| z>C1&_P+$ppfu+oy5amL0w$(kAcgr=NsG;^4yrJsbgI$tE!djblNV7$1buJ?6Pq$l* zZr%m!OuY_&_L)0Et8kuPgP+@0gY&RPb2VDtXh(bF6ZXes=j%0Di&V>7Ijmsnb@)}w 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_netsh.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_netsh.a deleted file mode 100644 index 7d61716456c39068ab6f47fe0debdd397aeb1af7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19686 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 okDd2lexq(yJ( zcXNCT?&dHF1dz_^O5eaWgPx~AmF7r4zeAG|#43_5LYrGoq zA`rYH6~@#&B3)4%3Sn*d6cLi74YLA@)>9ka5#Af84Yr&wqz$*^e4aMYyojnc>;z|> zNVZyv1Kf7wg&cf^_c1!q-ByS6{GxG1Ezl-Ieo;>gd@bmvCwMGI3kWb- z?g^fC5btZjYfcWY*=Kl((E|02I_YV^n3@LYlVM-zHu?uizR*S)1LLMb<$hqhs{z4% zR+&b=(i)lL-2|&G3<6^4srfys>%t}6?8*Y|nBeOKG{>HV_csNfc|Cpqw}tn{`TpWM zhQJr{{Ug>LJiljm7kD3b@$PK_%(j((l8iY9-^zR9!`vJ!W9nLYugXaqBGa?zimSl- zL>S>ci|+e0d$AQ&J^O7S*|Ey7klp!xS_P-zqx@x_!O|SOi&sNZZDHSQBsDc_uDI&k zo5ANz$2$pc4a~FV-C%tP#2wJ=biySnJ78S7fBr5U#xb8Q$~Wn_cl|S9T%(Rab{{0>WKqJj)2Dy$%%o z*%j{qKj!9u{-OeBS6mo7zIN;%gQT|lsVT00mbCDGmfpE#>4aGchOZ%+SwwW7Fy4pEfJ@W zLjQO`dlxA1i?_zfZ}xTN4T-SPZ@<)OZFOV diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ninput.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ninput.a deleted file mode 100644 index 59c4f6dce193e49e681008ef22390bdb1634a2fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21960 zcmeHPTaO&Y6+YW*W3#pa2SXwhnK3vqvYcgRc6Zh*5o_=ggCnq4Yaw0`y|bQP@8I#w zYNppACE%S9{}>t{#*Ks?*ouu{eryfF1zmYV{bHe zS3KVvxy!?@=l-TQ=xp^|OzgEzx7>bjoxDmN^afkozT0t8=$Z$vyXkehcU}y*m;B+@ z`2kkmx$O6bgXJMUzv8#&vFP5lEjQ);CC^_O4Y$0J|65A|jb>OvrW}>jyFT=7#k9;~ zQiQOK=Z4#3?}bgz>#uZ1s2%K-twgh7{47|0w6KldmF-c7bQVn)>WlO~`aUzCs0p>& z>#)0Ve!!B)l9xxr@%U1|*Y(1}$I zxyg}KGH16pHoTG7T|qT?zOAj3rLuB7?fIAdj_+AosWqD+gs-uY+2csI97^yBEr+*U zSx`9I(M&FfmE_DPYGQHPsDUMqC0qC$ZQjHXkSohm-q;@vZ8Jg$uvC%dk!QzKm_1EG zf>zNo8S5IGIWj!i?J@?Z3@PXiU%lqf4nxx?$>wR)>#bI+R%Vnx&5=o|A(b)YoRa9lw(-BHpy2{`u_sc$^^yH%P8W1sPSAztVZt97O zot`M0#7rGINiv3hrjuk0-B5q0rzng%r9YvUz4$6cM(BjT{Pfg;Xd&vapmdUP;2efK zw=4;#n>ld0I5($^d5zN+>i9m<#yvkYPMbZmkiiv#yzY?Jg9C!mCcD~-Z^R<#%a?KDk#`Su=*_8Ci9Kn|s3});T-T5P; zkCw26Me}=6%6{~x@coMlp%m4=zY#nfaY^sB*nJv3q$P6m)36y!& zF4w}>!aamxTgj*-jB20X{u%vs>y}Ofco6LCRgxjhP@RM^fV`JKZJFm~Zefzu1Ul{!Q#|7UtI!4k+49%)e~Zn}&JcE*Hc6@9lCS=4;r$wvxd| z0j@}RyH8~ZCB z91nRw;~tj>M+6V-TYvA5uG4%WGRd(r^c`UH|h#!{oGs}T$sW}pCmurq} zL^$%X;s{R_QJ&<rgSx`ySkn-3J!C^3d+89efp-(H+;akJ$BL^8!(7UjrLcK}d9uAYA3x=*Ru#gjVs)jwogLYAl#H%yaL>>JC*ZZ}Qxs+ADdJbs4DC zd|}<85`4*0!z535@`YJo+!ON30!!sb9t&&_@xyWnC^|;UpS72HUCy<@SgMH9BuAFQ zn8H0hugC9_R5z&f?(R>KN8C00G$j73j8e}Y$HZ7-?&dzFQYdoZPZ+w1UDw;U=^}+8 zpLrVIT8iI8uaJLd$af&=zr2)tRbC^2qtok*vob-14*UUQH>v9y_^A?w;huZGUEKl^ zUoYvLBF`<5Dd7D>BC4>=wh`+V2u~G;Wt1mFVJzXEdN<;BQT0o3Jv-D8(OkO-Anm_w hm75uK8-|>oA$~0rMCiaf7`tiR*OzNErFP1J?*JxgbMgQH diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_normaliz.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_normaliz.a deleted file mode 100644 index 1d94079c7b171b02aeb924f472889c858200ce9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5660 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 z 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 VfS;9|xk|Yes%Vh^#g9)){vR5tPUrvt diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ntdsa.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ntdsa.a deleted file mode 100644 index 49ca435fde528ee83e5f84f453d8f2ba69ce8fbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118658 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 T8*G4ZR$S#xA1(h{E%*Nc7D1HN diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ntdsatq.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ntdsatq.a deleted file mode 100644 index 6693dddc4c1bd964f132940f15a33a5a2d2616a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37806 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ntlanman.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ntlanman.a deleted file mode 100644 index edc6cc8fec4739aa3105c0a54f1788a87b90bdce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16208 zcmeHOTW=Fb6h7V%0x1+I2tkF4p@5KDxobOKCskBA4Gl#C%LR%mRCTk&o5am#9oY^y zwG~oZdVArqKcwnYA5fqBP*wdA{S~F>%JG-7JOQcmj(#)*Se4gt!XU|;r+`QFW zS$}W(onq9LYh|Ns=ySD7v8b~oF)S9#l?oRWm!|>X62RmEfT>>rrvK*t@E-u=kN(O1 zag>uk`8)Tge*++Y=11<&J_I0te!%_3`vBxG-{t--EQ5UM1o!$s0OYHGac}$rKz{CL z?&qHZ%s(~FMbrGaZ}<9U%O2Q0bFtgD%?BOV+Ul4n>=?6#>2&Uq_oVK?vD{6|H7yfi zn>Lu{x^1<0lM$G=?7_m;)-|_3u-p}Uv44NbvDW&Has_kmY;KupfSYz7|Lr(J26wPQ zovzz&=>GplfNt7roj$fdo=2l1M&Z-3x!Z;JUw zgoq*1I$@2(Hp-n@io5?f#XH<#g8?m7v#? zQm;794Xc9#985Vu0&Q#K@u1WV)L@eSE9<&p7{#Jd!GO8t>Fb64r~*-o6#$N~r^!NT zU_V4fmgX9p*BwxD2zI<4_V(#Vp0l*^$U&uMB#8W6YrOwJ7F~V5W_6qNW|9l9k8`t zt;g7EU@y~X5G2MSAoc}x=A40(t zP)PH5iuDhT>y#3Y*O|3|aCD3lusT@Zb~m_$F$u(;-XpHF-sN1U{-r(*ov1H(on!20 zV4uen)BFRt%0eD!@Dn~{VJGdz%JR&$X__5%V!a@CC3G`gYuh4%wsvuz+~oL$FSjH zJP}64=PxeOuV>Ff8Ne}+Te^fH-cXsuGk}BWd0*3S@hLV(;@Tg?_aW2u;PICA7L_vL zOF}*FOIQy?*v{HYb>Opu{!fk?&DnmI{l-;JAZd6KiZu8d!!#Ryq>;b-HAcvLLyhRjQ3y3aRKk&z%fp6*X+zVae9%Q;XR&jA`CPI39VfOLPBbKnThfus!ts!N{rzv3K7YQC_fP3|KO z+Vx&j_#T*1n*+vd-2Qoj+!*y9_(ag3d-)!?CzPA^9&qHi*n8l<92dL?P9k?z-vh78 z=0MK5e}*P6x={bW%LOdd;7g2639W^#mc-Ny*G|t|e%wnve@7@c zP0ugOaWOrguzm=bPy0Tqdj1fw{dhW=$TibnBSNDKb^9eQV4(&bjLo2_f<_;bWyt2T zBAdrn3mYR&{=mWy*t`>~+u02i=D$8a$A&e&l7N40qyn)l=A7EoR}2SEr$t-^uE9%Hud*4MPUxSEC<`ar=TN zp-6)@3_XpWd@(LdE-Rj_j(61gFmbiLyS3?l+3i8f&(2j3nultj~{h z#WPgHh_6i_;?R$>PFliSeJ`z(yF$5X)=68A3tq2uON7o)T{$kWPF_Wvs&z7nY!5Eq z=A7lnvHs*j%j7Z_uuucK7>C+BXl~*KJd-V~8w|G&!<=E=kFd;i~7J?ujRRGC1WLS$l+bc>dPD!&BKCH`oqxGn{|RCfX|gc@QZO4Qvce;ge7AyX%N#_qNG@w_W%@ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ntmarta.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ntmarta.a deleted file mode 100644 index 4ae7a31b0d44021e51685dd1cdaa81bd0071275b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36872 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 p%`P;eq5WEOuu<&$B=8-Ol}HZuZaRn{Ioz zc5C)SGoFe|MZ0KQt4k%*v{;i|n&zr)2Y=X}1%S5!Ca|9R4dC4GJkR|KK>5{Ep68nY zlwVup`Qn=Zl;66-^Cb&_^5rtm3!4CxubDi*|0e+D>wi#ooQmUo+VR>QXVde&wo_?U zJ?BZi=^oY{6xQt(+iBEyC+kGI5p3$4$u!c8?9Z}_bRUMHd_0g z2j$Wt_F6wUbW&U5=-Wy(Z;7LoVAinFa;xiW^#&^9rL#b z={7#9H^Y9{+O2~vzwNmPQvdyNN<^#e?t4023811c9JhBDUugf%Vn{`AcUrrZjji=N z<&qU@M+aG1->Mz?)z*_{Ir?8*R$0I2J@(rE{nnP(*ppG+a)s8Tx20}Rv;@ji|1|c;VW-pS1A`O7)v3dU#SlAz7Zdnga$@~)+)^kf+>9Ex9OCBiVlD+2wlgPFs5TlX zDC{9OgNDDJ1MKJa+()4xkjr|aZu4Dz6HL~Tp~6V|$*VAuZfLyu9F_4D=#S}T5}SHp zm`>=;=X3NCNT#rN!Wi%gmKpf%S;o|wK2w)(EG3v~qn6LJ2cCG*Of7|ayMPzORI(yU z^cK^Y${M>02^TTH3&MU9E=^7{V)isE$%dzyeqLr*Iy|nik1E13F;2jqUps0(;u6Lr zcmZ5z+T~m){gO^al6?h#<^=m0IOH+aWPbo_tmK6OKjK9O;lu#3ND$L-+vr%9RV*FdRpMI5)0n`Q(07Wv2RIcXa+h`5gJ_XCbnW&V3!Jo37v`9-|h7t(z}c>9-67?R1=t%`DAhSq?CP2rKj1^Q-jh^i;^me&R9P18gL=(7lLV7#CyaI;P+9 zRl+ioJ|E;SAoK7Lu$5_v?vf8B!h44jHu4z9*%;{=xJ}UiDbZj#$1k$q0A#yd61gfS z@v%$|bk!m7z#%vD{fytmF~3p&oSNxTPuBc?sf*vY177@(_}y>PmLb0_O@1#*vCY_j z2OjYs`R~~-ej~j{+JC=61HdHwx5WjlG@y-jm;dg)%#a8B96Ah*z5)ot#5T7x)2yeCDw{2uajPT%JGhcEeZ4P17<-PW^%5^kBXv^^WHsQiT7 z=w}CVOfXD4P{bIC6&3nEQR0<)#`!cI7umrT>_gWMrqp)8HZJISM%mwAqXA$Nwy?7wQwv4hhyccj^Si`+Q zLX`o(V5zc(PzC+J4RK_4_OLj%2Yf%n{5nji>>=F4XRI0B_4h&SAymN`k1=F8Yq+6h z54O$E6`7`pmc}z-@qIYUOgInX#0gS=q`w98GyqKETM*70NNPY0OGgY>K28%mh?AXv z*WFJ|M*rjeRKaI@ue#B{fqa(FM)5a4y8c{i)iOS0nb)!^m^?dfYwo44Cb@lrAN+nZ z+lSJOaF{dO9qGQkR(KlexWo$2<8)j!v!(rVU2f+faaNDcR*tmKzC;F!N%-trT);{L zPOx@Thb^sR_Gr(J@0xq7tI6G`?~w!j`2M-XlVS3GPr7d}z8|LJ5`6zA9T)K(4{vMp k9g=+iPpsg)!?-PTz8pxXGTWw7NdN!< diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ntvdm.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ntvdm.a deleted file mode 100644 index 3e89f0401d9d006408c12fab3c902722c43f9dc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119370 zcmeI53ydU3d4Ox?j9(aI8`~IT%-WnCW1MAoZ*O*wT+BXZ_ikWsZ@FFWjAJ}EH`BK> zzInO3_iopKa~NYBFyQctfe1ll5r|Mw5J?buS$PnG@)AlAQXWD{gisP8q(o7oNRa>k ztEa20yJxp%yF5_YYU!Vu`m4I9tNZJ}|Ej;b`nJOrw_3mV%GZv_%lN_Z!gyiq(80-( zkul1OevXV34oz~!$muH?%S|)(^3#mndO2gajc|F@-!O)9=aXDseV8$n*ZhFX=(CKW zjNiv)@+!tq3V+Gv&|{3D94>IV_g@)9nf(-(BK#l9k=wbHzQq{I(lcC+LmtWr$VXZG z7cQqh%NWZ2buMqcn=zE~zjHbBX~s~TH7<3i6Usxs%ca$245hoDi~DWHP&S_8vN^*T z$|L{DB@#`2v z`6TQw%BQ~0 zy*y(mfACve{_r8jQ2yjrE`JL9i1LkJ;qn(J8AJK&o49-v@=*R3@=?BB!3XFIxgi2mP0vn376V;SPo_V%Um9M zl;u!bbuQhbEQjL3zM^dWkjv(GSq|lGU*YoTr&$i=ov^ zC?EVLmk)i7s+4s1k0g(@(C`Vx{u{hK65XZXD?+rl+S*j%jdtrawuQ;I+rhg zj^$9k^f;H_bXgAND-Uw{9XJjszkel{=l+r9Q2q$^2jy!}ACy1)DwjWhhUHNHY7?bg zo-dc*>^ZJiUU7WKEzfsqPWeKkUFkN;pllST3*~0x3`(GF`{!$|a-|GqS`I6h>rSP% z>#eY|=lJ(8&P>9F8m(?wBtgHrD(QI=^((TTlBh4qdP<^R-ab!)enr;vBZX+YYQ%JwaRYs>ZF zNz}{x!IPi|>lED$o&-G@%BY?vL63Ganh~TaM?Pd|H=!iu#8&C)V>^p>GgyP$P3ez9 z6>br%k(9~PloQ(vus6Xr!D2}3@HDOi*R+(w)07jdEnMZn*5Epo*5PSbC$?+ho`Io^ zuE3L6eo59-67_OL!g_$+l(s`jEH9s7o&E117=W&xI{OMj4(2W!A?t<<-?MzzwUimh#R<&)a4 z0AF{p(R9`tEoW|v^H2twr1J}__bUTiz^uhaySD6X%JjuEB4rmFuIJB;Pee{Yue8Vt z$`_p`v`wTP!m>gQ<>s3WIKvC*1uSgJ+f8OwyBp;y-Ku?lV-Gn<%c-_%^L3|sZp~?R z=>iKc*tDFePV91A3n!{shSOE9Ux0=b+%nybZuD^U&p%aZ_@%QYylTV!kackKR<}Gl z6my-;nF&!WnQ^k#T5~H^XW={?y~trp>Or$oaREoX&zIU~J96oiJXqscrMn2eoLn@j zgffVxv|-wFQMql4KxXmG`mFC)s8T{xAFt1r<5{A7vEv2%A6_VZGC}>O4aeQ0;}TxnaV?}vZO?~m0J|QJb~@)G zl=jIK>SIm|Y&fkY9nN5rv23wk>3H9DB3V?v+T5r)u%RfpxX+RvN-nxivRG6JWfnH2 zwYV#h)Pttz#E(kYg6NkU)kiBHJ@nybV+Eq?_6|VmdXY?6XV&vN)dpNi0_x~m>Djnm za3>cq3G3fCyO)tT7qqpWc6Gz+I_(DGtkx^F&V{1mRozC{huao-RSn0B?9jGlPB`91 zi|*QqDyL@k+GuchkZ&F-87CaxxTYP)TP?XE;&k=T@8v9Y+Uwh_n8-echZ^oMLHkks zRZ2$5o3EYdkk=t@urVcUu6TTPw%esW4=!rxIJEcckC_KStQt>Csxnuk@5z94jgZn3Y zWiNprm%x5S7up^#cd)0&a+minH`OZ#!5el}O1WM>b*7Ixn+_;O&%%`!Wc=_)jIHO+ zR?hVlfj)YiaI^bj+s0ziV+4V&^fHm-v#(#7$g#ot?#tn)yadOOj>`)mYnw83Oz_O_ z%UvmNBuMqPj%D&}0X{QFC$2jQ8)bznTfX#tKg1U6y0nniw(EFX5VfQ0!W$bK zKRC%Rjvei{bX{CVmFdED!LQ`xb#XbAxCio&2KEWRMxHXYziCnEpLgq@e{ z_cWAwAiZ38UEuZ(Lz%Pbn{fMphsGsi96htbXK$C269RfCwN(E`Cy+6}XOw1GBe zCoHqWX7(9kcEu!SahyXIX8E{@Y$I}nogKH#_RdDchj?CngI^+MOC~Xk17@-?%Lm-( zVs^|j+dCV>V)kRitV#YXjR4HTEFZk2iP_0Rmf2x5`%z?e#Uy5FbZQ1>`RG<%{_Nzm zWp>!iegv64ZW6OJaykREeB`w@W~UUHorHh|Ef}ldJuyBsws-35S_=Aq@N1ZTT_+>| z8@cBv`npc1mrMAw52cq2`?~Nr%miid8sJNMU)P6`Sr{#fWv~_gli%Nkd)n*W!bM08z2?)no_tM#11&m@~Z|!73kzm_fOXr3|8upNd1P{_% z`ynK_WKu5zj7!ecBBS-QhA6^bgvo=JS%fjhV#4a`j4=EnF>8{iKu<;mM`<^`wfxB{ zZJvUSily1l=at!~k=Y|AMHuK&xeUw(kJ@E(4TPPwQL&*j`$1%O(IjT+iP8+r@+VTY z*;&=7m~D}zu^sxegS5y#fXu>kaJa#}&>{;Sl@42Ey>vFS8@9+)V`P?KZ3Mrc6I|Lm z1k2B)2aot?G{PalHe!}W=JV?7KE(+(#Qx%(95j0b94FBu*6Sk^J!0F90OPYyWJEUf zbq}aU%&gT-V|!PA!~2L?=m>*lPxuW%H&}00n%=Z2di;h1s`0af6E+qR*qumhBP1Bd zp{vFs-b)12#0*9gd@Wvrun5b$pDXAy&uZ{ZHha72d@`Eip7(IT#?r14O9$Ml-`XHX<1n->|9G^x^^g#q^O$4h( z*et=?2!0O{Jim8rFigZG+2A0piD1=unTM+9|wsPh2ozuQQLmd*ze$*|G4G!_$9SLf)+$B0>zM(xn7lrvQxKg z7G||R%RZqRTeHk+WA^8X*`p@eS$x4p7H0ViI&|4t)o7Y!RvWXA60;^f?L%+L$-=DG z`4=Ws<7bvxZOpy{nT7C~IsFC{@XElfmVlXPgQ-T$EVJ5}eLFF0QojMcT`UW;dixDj zV`P?DZOp!nm^G>2fZlwUg;~A*2C7jp%d9qLA0cKB?d!CpzsSQSN0nfs$);8F)p7G zgAJWoADM;0wC4D;H2gJ#oz*gYR`|0v4mNaVJz~}*-vHiFpUKYB`ugmwje`xHS(lhK z$v2qI=o`@b`k1wGu%R>iFfnUV|LiRGufnq1=M-pteax!H!3vX!`D!+y3Omi6zrrWb zpxO>|?)>{B{~MWKCNXz@ExlYKrqE6=7moS92F|GJd^KHG?|6RMYqU0+@Va$F{90tT zH#Zm_4D`ksyMaEVbJpAwXz(k~n($ecsw>{5om6KVtk|2oW?VH+c4#`m^y5&qotTck zTXdLA_jy((!8E?V6&L;$&XS*C`jPZ+RTy1td2ca;dmjd@RY0Ym$H7tVmQLdoRJZr-@ zr#-B4jB#17hwL%cc-&NSPCZNZ{#}vX;$$yuHvF}^>r`;=Ig`nLX~3}{do0l4SDtm@ zlano~978*np^0tPxZPCJSFvmhwy%ftr)ssEob7qQ+IIrFO=kOML>Lyqc6iByHqXw( zCucia<(UcDJ4xngBHTv#@Z{|1jrZ~H!&5oP><#DGy5rw(Os@#-EVK)QqlDL@@Jt*@I=zcX2U4on2quco!JI4 zYs{!MWOgMZv$(!KJ8PqSLua;5%o;O$12S96$Skg}k69b#8#=S=#H>mF?CN4hW^sLe z%&JED?9*;(Z11WKb{3gkF^SogjLg#d`j}OX;#p?3G3y|+$4z4Pct&PveSOTT#^CI1 z(c3aR$U7%$$n3GzQ@BBsdvUL(BNFY!y*1GAnmq_#WnNWs4e0$7_K^j;V{(XZ+fz6gV~1>9Ese#*cpsfHiV87nl7C#v=pWPi`k1wG zwV^Y68ks#}Qe5o_#>HSk-)c9pU|L@vvo@|abY{!Q?4n7`E@otw*4M|ZYFy3sL!_}C zw&Diqhj!rm?*%zv1VI+0x$e z8-i}I(CTXG77MMeY6R|J@>wAt8k{>l`?QB*kCEqobO-);`e~tK?0zD6acS0=UIyIzP66xnR5 zs_gsUKymwk~@M1TaU>!q!d%nc9YJ|-atc~DPL@>NSXs_5{czuvWaFEtygH_{gmSAlJ zpCp1|`t`j+FigHK5gep75v&@0vjl4+_|2T)z0)HBQ@P6o>v+g5^df95E{)8Adn5*l z#jO#+FlF#wvB5B5utac>)?|ZKV{vwLWE$yVU&J7zBUh1N=!!6-9|C*DsPh2ok3BKF z8MULO^C666Oxx&N8jA_5t8;YZ31ZfyQ9H$q(KlLOTl8&OHTq`lY#Q6Uva@d@W{sJr z9qsHA-0ET3wVlQF^)ag&Z?nv5V|Im@HE9M1>ZZ-Ytd4Ho&^MS;jjdT`wK02~m^J3z z0%&KCX0)@ozBW5Mr5a7M%xYtHnV2={X`f=or+sLBeax!H&n&arm_3HfLio&_egg`4 zW$+EO1k8kQpc*l=%xYtHiI_F1-(WstzX7eU&(5mG$Skwkn0+HLYf`_#e8zqQT3;Wt zs!=h^tTtxfK+Kxd2Aj{=2BY=$F>B*sX)HdkF@+K_Yf>9*K4Tk<*4M|Zje`xH*`vrT z3;;8y4Msz@;5h9zrl4iWmuQ38IM~pcJwnWyG#e8Q+RDPLjzM06SsMo%Ipi#1BlS#v{BQ!!`FJ%I+l@~jD;WvRO2 zt=37kp6A61s&O*=4hcF}9NXmFHG{lE;`M^*Bk;yNr{Y%YM=R}G(=mH4n-Mxf(YK<^ z1seRyv&Z05@Exmq3hHSkG*Pb_X`32LSaSO&ckw3o>)?#4TJn1Z^$Ts^-QrAeJ9#N4 z*cBj`(JxF#e~tRircXKi?zoSQ)+&A_&|qH&XwG!qbxAAM3K1!cC@aRn9@y7Ez4LgPN0^-8ILOY%CQ65b%7y2mpJ||VOe^!t^-|Tpf zY|+iO>9^C-j8eWBXz(k~o`6q5d7}C$#HW|hM89HWZ)!X_qok!@*!2-OtE%)L7WB_H zo1JRKmoEUc&UkgAbv4b#-$DBvrGF{V;8&hK1)qZcwCbl^0DX(;xdsj@Mhd6KrxSO8 zr@$)ibO(sG0*84A=+ml9+yStqjmu7VfXC9yg?9k7e5%*L&)_w%3J-H^xUSRoiw)PQ z`W<%*JlLY!I1hfk*>{0Eu>!E5&xF@AW6Si(Kl1DY@B^=dZ4SZAbZ_=bg>ss%1jYE{ z)L7EXe_Y{8cpyU1Ft3C@^FSo7gl=U2BKFEG z?*z96yo)QKC|v=M2UkFP)g}11DWZvc)flGjr=)Yp@ekVyA@_syQyvPqpKm&q_D0ue z)^A9#p59LhAP3c@r>ALZVt(~U)tZ=Ajd4yVJ^PDrf_L(2?u*#KVcPODk^ha@=!7kA zrk6|D^7HBCLZ)wobF1prOe51JZ?)cW{gsMeU#_%__hfEPupJ&6$jP(w@QI#GtlE+R zPs`IpxoTAOP_p;NdMu*-if37s@+qVo+?AF3me;6On&hyrZFLcKliRMZg#E`wcq}uN z<{x=>5q==)X;qh6t$hn8%XXV_688Uu-m;wMNUC+v4%3GDKSO zUrgp6+wHgr?$diL0qeBt$IN+qqz^}ts&1}AJqPtnNg*g#u@GH+;_$?ez`?;jUI_Pty|pLzBue3w(J9dWz2 z$=5`?YIO5pa%7^l-@<-h4QEr8_Mc{_Dh9Y&VyV$H?FxqIkUlLepVYlxJG`wbY_$rI)%2)@-Kr7FR(MbCQ4?j)) z`m+alg6A&e8OMA|Mw>itquIVKAX%`T@&r%cs*A?t_C@sA@dK(+%7X3b#?#u5`$7Eg zpF-}7XVzzZzfuK5XYzoS%;*WrF*8m5dmHfuD`N^u(GnW{PiS8usY4-dz5ntW;1sN;09 zFZ&{#xt&P9FG9*NN&ZQGa`;t9@(IUx8_s!W+3!tmXf)N>hQ>v-A7956^qFUmz;`*N z+A`nqgTiw)k**w(OpC*5=0^G?Zqc&X7g`a&eX)YVyv=YV>Wc&`q}Y8V(+&i z=Wp6@+%4=gF}rsg?_anGzVGG=`V5{02nXY_qSH414hH=Uz?L=R%QUx7rI z+MW;3D7+b(SVudZbGUJn<2I_6J67$;NY~^s;hB0Y_k?O}aymIK(0VAsLmA{LoLeHC zA9GqTS28EvWX@kfRv>D@4+k241-~7>&_fA07uA-VnSHV~v921cwDUXAx$9@s2Wf4- zJi>bExcQu`_7Mgk^D3t@9?jCkw`$zdKDn?h--GlK-pu)~HaBVx7&W7P71ch%QoC1O z*$wbG)xGSYFqCM&HPpR^-QwxxQIcH~Qu>Y@|tIxyQ>tBy2DR9nnf zl6FuiR}<-~F-tp7{kEhJGEe=D66vDz0RO;b-$ZGi`Y6w$>atM}FNb&mP0ZUkW*Wr@-?ID;54YqDKe?F~;}^lVM6t42BP_!KhX{a7EQ5AnK?b?g^6n{n0gDfD_{sBQ|{p;i;ospJZkzBbBT3uf~+n{1^yeUjA{4`KGn(?q#yMDt+s$$9%ErWliDT6mrX5X4=cu3mF^IK( zF@uN04@`7nIv<$+VWmT}9n+a-^aS&z^iNm7=VkN@)6rj}K7TtJX5#+rW23c-U%@0S z*g6Hx8PB66rAX7jLi?vsdkJYrxrW|qi{o2iEv}*7BmCD;L+xkWhkYP?ef-9M$NytY zssALU+7Y^w$AmI9ajqKMwDZE!`RvE}ATym@&BB)yFSO5}thlgcllxATW;%&gSp>~W--CEAF9g2V8y?J!470fhFKIBDZzazqR^=$&(y`DupVhc( zRMWm`XIr)hiS%3vY}XpDQw8^>yKmth`oqdjw_H|?ZWJJKJ%O}-vWK4#;ZX%r7U zR%H;{uLx;h>a^GKoxKFR(X=bYHG4EitDORSGFubts&P&0wWM7W;dqrnyq3$^G3-)= zH#>w~ibiv;MqO5S|!M5l!&9JXq*H?H*DPo%n{ z4>7LP#ItHFvyhw%$j+23Vwr(OVp=t>X`hAI z)pCrXU0S6{u`ie3rMXzKD13SW43spd9f``s;Q^ zapA8I67kH7D`45VuvYP4{x_4U$39eC1oabKL7#bsV|4`eL6uWTkLGBiTRGloXI{pW z6}u0F_I(h#bAs-ob7o_G-KiN(w^BSmwAQ^UM|}0(-A>BV#J6h9(?0P-wx}Q9gY>pA hHrMP_&xOH!lPx!1*SHAFoiZbBw7LT8gf<(|{|9U0c*6hy diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_odbc32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_odbc32.a deleted file mode 100644 index fd23646fdfdc46d4eacd47a1a1a773a070f98d7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139488 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_odbcbcp.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_odbcbcp.a deleted file mode 100644 index 757bfe6d44466eceb3a7d649e4c4bf9bbe531635..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23320 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 F{~rs0lc4|r diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_oleacc.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_oleacc.a deleted file mode 100644 index 7798bcc462f9b3d759a22492a7cf2c20867617ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18098 zcmeHO&2Jk;6n}BjCQZK~l&XBlEvI%t9xv+wc5Pmm$f|;h(T5WixY(BWNy3EJXU;IbS z=7N8y%U-v<>t4mP=B#_(d`Y0Aa#=DJgXD5VzJ=YPsIpxw;Wktl;KKS)Pt*s~6{ps) zsCmC2 z)~`Bf+A38KN!hNvcns94^))Z!hA)D+H$c`f^7(u^ozL+%LOQ)LIy0~rUjhKf2LKMU zt33l54+lQGj!)8HEM#gGuM!VoB_%K(W)@qmE-<)HIGZXwJsx0(@L~v`OAf3)j++SN zgd2&+6$0D=yf~o11?AUfE>D%qnOdWP@2MrbVfh9BJOa2iuvEDd2z`;q7E3Q6YBZFf&J~3_`ibM36p{=m~Q|5OFXS_ zf~SS^=Y7{k@HCG)KEj@H=yCHj=c@|F@Pc?sV~7Ivp^B%ha6=;DLf&tHu%Coe$w@}M z9%d$-XFBPZbSi>uDflx-xX-`= ziz%nk2XL9CJW0Xlc(Hx2aO)nW@0gC#$Y>dck)7njqniaU7zJr$4728Zf$SS)SJ9C% zg7R}%zTh*Ivh;sv!9$BndLPG|-IneP!qT@{@FHS7H7*<(RNqC!e5A(Zv6zMDF)jHR zUxZou;iEJ3>%jvd19%eRy?VkCZ|J_nGk|>&v(hY zNs{A7AhO2y|L1t5$Oj%+apU~uZKI*~W!@lok$7dz`x081K9qGQE?08L$i`a2T zjSCGH&GB{Z_+h{mTd`u@)BHY01_Fby;TbMqX$oA-&9>%B+*ZgFkZ<>Se@&$n)JVu*7|_V>Z#qu>J7#^V0F^AI;+X*$>dmYU?k83&&r$R?!_#CQFbF^URW4v@3O>P{?6$J$dWTGsTN^Yqd0&jqDet2R z>^7%-o0~~yEq8KGxhUPY)10!Q#zp3och$JiM>&ptTJkZXv(>voqs05j8KK_hJdJw_ zg7X)+fTbz;0CVDeq}gI0D7G{y&&AN*0hP}NaDTjS4<;-u^JcJ{nJ>9u7AH5#A$D_?cH_`zNg2)S*}va*T3mYC`-XNn3`Qxu<1_$l6xO$ z?xPlr=vq(zB&3)JZ0027o(^Mzv!-{?#=Jlcz#!(n(_FyP6nu$!hw&i26ygUB2PO7a z(A;tDdqlh=lb8(*DMtYN4ymW#23oTL6|pz>3088}UvpQs&;8`MKd9tB`+{zFa({Cl z4<^Tb-M!ml^hCmajoH9%S?xcDLqm5qkdn9`eBMbTD}|B1s_4aUKc1lmU=SWpkqcOw zf_2O#k0)rhwCpKf2d_mks35ck#J(eDcGtDD|Fwe5u2F8BWhgLZkf diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_oleaut32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_oleaut32.a deleted file mode 100644 index c4ca15d878c17483f62c0f415ae01c193d8a5b91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314768 zcmeI54SZZzb>Oc?f`kx4ASQ$mf|EKSb%T*)eK}22$+De@Dz=ej69PmYNn?9rX~r3i z94iEH1L6B4d~8Z73oT25O`&B=VJT1=Xck(QQpy5lY0J`PFX3|XAR!Eoo1M-A(xIFReqzB~kzvOboeWVBEs^eUK>Zzm$WXpwI`ssc^w$goojL`jn zY&*u~+8am@$j@HFW#ZeU2V}>`xm-`{f;_ds`evHeTXj?(vGSB6$SCJl& zw|$GtJ3dHyK<;}jmv~&DkRFiteS^yf=ypLqbT5~W+)8>tK1%C@Ja7@0 zkAIW&fc(MlbNSSpNe{>$(en!O+1*?|zlrpK{K@yZeCac!2jtJ+$>l50BRwF0HN)j= zSCJl&um6C{-_yDv-@K2@Kb<5!Am6!}%fIxK9+2;!&E*GQAw3`uzMn~@@(RM_A@igH za`rV`9)3QlfIQ->T+aU>seoMYDlQk&x*(6cmdhoNCKZrNzrp3QkC6(~ovxm>rAR6xdQeUQmdbJ_JaQURHI9+&A^ zQUTd>HJ2IM29Virb9wq#NCo8Pk8^qUyGRA(;2m5R#z_U_(Aiv$e1=p&j=q^oqfIIx zx6wKv?en-C{}QQyto;_3J6}O6AkSaqau+>LAa`HL<;CA56_A%bz~z;1A{CH(=rIC$ z9X(DU_tIko@`fLB`K2$D3doz^&*fKMPbwg9JILi7TSx`uzCJGRqQ4#FH{Q(UH*X~s zkoO(n@_}ne1>{2)bNQX`kqXHDU*Ph4v^^jnr~3f;g9evR?IIPBKibIUkLh)19I2Z zT<-28y&y0C8W+lQFUTw3&gC9@yg?|-Ozx%o0eQn0xct)ZlU|TFzl+PSypi;Ryp8S) z^TK|b(hE+4v|^n!fk4O~7-w*~UR5|>XrmGpvq zax<4dq{jf{Gqf!rpQXngj6mq{PUr61#R*&9h8$fh@QdD0t5AIRprxIB5D^nvv6 z=CXB+^nr}@bJ_N2(g$*Fh0Ar{A$=edU*fXk0n!I@{d>4P^_NK>$c?YyviBJ21KGEi z%YlB<2l9;TxIAlw^nuI`a+#;?0;vsgIYRdha_e`wEPsadfgF1qmz5WiK9J+IJs@i> zE_W`GK9J|rV+V5AG?%;SzCm7cDVLX@L;65o`7JK@e2?^jypFaJt1Z{a+}x2`b@4~p5ScqrTWB|1yIRfV?JMop_!!-2 zefij2K!2dxs#hEB+4^#Awz+R@rCnQw_u~VD>N{O(Sl`~!T-i}=*Z9{*f?s#5i0@A| z>h19%=NnQf>P$9|txYu+jkfULW$2BX!D^tCb?8xVdAppHT3PEzwQ;yMyLPO$^ThaI zzw-kp-BRyc;{)zt(BENY^cy!dTlT@03R?E`TJ7j!b!|7r!rr}GKMO^BZBPY9-P%Iv`0e0oqaHiUW+xTLg`a*} zpzBVq1@|u0y59C?b1AfQsb@8ZI5pm3wDe|8_dtq@`bY|edniq{-k#(`*fZdmRg`*N z)8~d&G`Zmlmm5Q?x8`%hs+rtyMR04plNnnJ9u$KvzOCRPG3a8o6h!VJQ3ZOx0wb@c zK^NabE#)r9PB`sr8jH3hg($Cy0$~=k^3{Ho^5fU16`Khtm&RSQBfanp>Vsisn*+*6dAvf zRg`*N)2EA7H0k1s;14wDVzqp_Ots#tM;EW=wAQ1G*V6W!e|G6Iw0e&UBKMG}0;8_? z&&W1u{xfn#fG)d0Z_}rX)imj13Q3XsGo_wxakhE1)~Mf6+tq9>SKIWI)*FY%2es$j zr3U@>zSVjAKUyki*-Uel`n{Gzu2oPzCO(?Zrm19g_BL;~eaM+Hsbb~9t}!EgME-AY z)U&yh)g&qMv)wH$t+6ee6j_UDRV~>?)Cu6#q*~SE=sUGkf8bwoyMv`wTXH&ssARX$ z=?bEb>eN7Pm>=R_`)%HAsSUrOv_F1Ch z{5+{TJI%Ir^&~z+N$s#*!aviJ8&{X?7D)w^H5=_C?AqVDP`1^qp7ZZ;W0Nar*;K>+ zP2w|@EIZevQUPU)_2c%>QW_|={uI<1wbe#FyRXY?vaid}c1N(Z#0Zn~%kJv@JgJ7QvEJ_e57=s>o^x=;w-p=Wv%`j|HMZrjA!;c$*k_*& zORcu%vB9btZ1B&apRd_qb=?07ekk;Rh4>t5qWT{YbwUl)1hKs-QuHaZ^{Ry)LA;(O zh=2A8vh`|v9zm?0K@j^aQE`5rRKwQT<(yBDr8eq0r$AIw1c}ei;Wf3!wwwbjYAJ%) zXP+QTt+wV7#Htwt@z0^3uL)vxJc3NE+MnZX@WZIQ4e>G5Kur+aZh##OrB- z_-CIWTd%g~5ya{l1hLN&6-|((hOMznHlH9%ZPas4fvBbk5}zG{Os%mk=KzaZiXisc zC&*H(t$75oY6e04bLi)5f><4oAXBUM=Muy#*~h{Cr{i_lu~FLz5X7n}y{^ew(WjEv z(**I)K0&r#ZOi z)doM6jTx+r51OGb{tc&8eJdPbw^Xf`Fr0co{ zN9;~p9HH<`j-wY_bUGJQ;woM)dyVk6nSIcG{tyQ(GPE7YhtAL7^Pb@kYl(d4> zi5l}O?iMDv3d-qmV)!r8H#Bf=UA=}1-S60!p4K;5ky+nkPVQV3SaltWRaHfv(l{N` z)?3?j_)|4ipA;IuQ#u94R=sX1sv7-LYQjy@JyX={beR03F__MOcmb8kM2gc$j z*R+z=fqx}y9BXn-s#rPwQ=%uv*^5@HIzx8fnp}fATq)}Ww!&1b9RAy!-yv13JotAv zxn`=3dNzu(n&d`)wtJSPHMV6#BWuY%#XoyJ%2unbxxI;3(|t*N4*h)9k9Zxo7g<`h zKc@$YO7?MZdXK0h`;Pb+ItZ%Y@H&34arEj}xjjbIQ~gDJrpUWUu>VP^SKIS?3*UfL z^Lq5(%i#7i*|0U-)z+aX84PsNu z=$PBCy1hdv=yoBkPId!p?{0xr*XggiuIjT|HE6fmEwHvb(5WsjFzQn3gFjd3&6*v4 zEbS8F*vp^fnkq+cY*W}Kb+A=Uf14eePy3C#_YRGx9mT21`-%yh+`lR@ek=4B*nszA zWr0~2dPnfM!oQHTw{mavpC?#X=#A~N&J_F+szlV5*jm3i+?y2{%do7sz_< zzk#DS_U-&5sEYDGK`FwAi2qrb+Y28c_1_@3=l?r+CB|0We+X4q{YNN`{5R0J2_6{l z!nVrVt_SAm=`WaY^BbfB%G`?)sem%)GDKd3Ow3G8?4D(b*!vsHG%$FiYK7T4mLD)m z_R(Yx^PeMBWY)j2>we5q^IN-GwVL6{8at6C`x`U0!*!aN-GW5q>H0h!?ST|?!-#aP z;uUuLA}iBr;ImD7lx2Rn{+V4W&?4ITXzt5&t)cU)U9I}OeXU&!*EC9K?U@=)&0eYT zO%{Yf*mg=TBf`Au?HUb*?rsi_@CGmNi@0##SgyQ8+U(5fG!b2b7$ zF<8gjLb!SIyQ0+i)?$4*@DpchLa%D>U2X4Nsx8AnxY3Jblbllht#)hAAv#^7W?lev zDph(4Sm>-uwW@bL1G7!dVW0_iq4}Nt+nr3h4uz(=D+6>_cDeb@>27;73eE3?xuLsp zxuGgJD=Y9Hr8}ZLD^97ohc4$*d`q5b^IJP8EWzD~0#%oS+-^13y7C;X<82|#v;3~h zv(N{Aq*0>wG1;n74~9>YvIZ!-)d-e_`h>Z4R_=VW+a5)k^Nr4XakfwANHII7|1l&I zFilDp>8(>`pa(%+P^)_EKZG7gVWZ$js+lM2RO(b5*sZgdz%K|h!N2Dc!T-!cyJ3HS z_SW@3gn#5FtiqYvahm8mvCys`ukD$?mCm!%y9k$c@ZR(h>{7ugG7fvFMCz_+JZ6Dclh}IEarr{-aF5k0Mn{8DaD@(LHO*WUTschjgs@+#TUfWw=Xs@fwdpV|oi|ATgX=AzRGIJf>xFBK53REaRzZK4 zpJBCs&0*Ins&E(0e$-z!PaSWiSH7pZvr(O2s?o4LTprERD$sY}8BuXh zb^B_4Y4HH}d(E%9`aKi;=ZIcIho|&U4HW^(qON5|eZ8U4=iO1l$6%KY6in~kH?eEy z#LUdZGdf-wcdz4?I#0J2d!5$Y z8|d#J8KLX&jSSK!_BeRXbPruVjy^8wA>@(l-9vh|v}-5mqH$dx8%h7cEsNAu?^=tH zangVPmid*Hb*hn*P_GUf+(g%#Yd%W-l(j1K7Dg;pq?z> zGre*&@| zkJb@-l;LawALbcgs=(7}q;*j4ZUg%@gj^&DfU_8)Rn|9Oje3fHvs}K1dh)&ddM;I* zMc^6w@mcKnz#~41F z@4UX@TYX~w4>B811h4EU!Crc$M%!xrQ#u zsvZ?`8+{*GNQ!$I_Mu=-(~rEGl|lDd6y2l!10LNkqzzn;?q?ZPoJqP58T;)<_pxw2 zkM29d^%UI~(=!-L_p5r02(YvY!J(Islkxv%@k0$?>Hu=UCezD2FOmMEr-yt;cQXwy<&o=o+(~YZl3w^H& zCi^2%?2nB2?4O{Pa6PNP*RYmn((2!A?6;fMUkumttbQY0PqBXU9LGPoEdKZl@gQb;W(zVpU%z_M_Y~cD5g{V^p{Jf z#fqV@;Uar57qTN`avk#1y+u+jw2j46fAm#n4L^M-j_z!+yV9Lvv0rA=U2w8fEVj&5 z@vug}_S_oD^ssmBnY|G0fy4M~tQYc9#WbwTTx@H-!L!zzg$7= zr$)8ZgK<=kZS$x;N&l4B^Q~_(e9|-NThAN&?dDrAh3k2~_3>~$<%ht3aV*s@QB)i2 zhcgC>>tn-pH9WMBeGONz=L&f)eN}WD%{C(4;&M_ikWSNM*fc3juX`Ypc7OaZkB(~_ z4z?_o_80rKQ)^dT(qZfr9-4Gz1gN$`*66cOx<729Ip<}Vl=sI`KI~K8rgm;Un?7yW z!ZT^p4;cIHX44Ob>v=Z))^I&_I^j6PQvM>KoZh&Bex=ZK^IQ&-?v2nS@u-jm`VQ!p z_oz?~ic%nQJQf?v^gZrut+lmI86&wHI5uuB0w=!6*7~u6Ty3rUg@(5b5{!Unqsg{Q z;uT=>9T&|U8TEbd%(vz{#T$7c@NL}=r`UWy&f{DC&C!wyxn1yWHQ9DX0!5gN$Hgs2 zM$Bw2o*|J(O*G>vqb4t4jPnJ1>CJHpZNDGm@qM+>z)OWR=`+}Gy4WXQpu%3d!BJy! z9UGI(T*H~-uC^b)N#Xh~i|fI1acwUQqPXU2Os*s2lG$DZ)+k*6yv6lExwy6$vQb=f zH73`w5lP?I&VICf9Tzp~xeDFe(HOZL!1g zb_sCs!jUiehZ%1li;O^K|C*gW3~T*dgX*brS!;KNN&&l6V_NITm}9oqXk6cEay?io zYwfI_EwM%)4H=D$KxV4ZsD6$~^+36(4i1L!MSU@SkkQz|Mvk)rDn-Cfk!Hy#hpEWHiSdfiK5*R)Jxd@qH~VTyMTuN^EA$ydvI5LuAv5%Qt zQ=g~EqaqvFQHja%<6OHrex??a>KuOz(0W?^>!v|FYv-QnbS5**@D*B2s$-*$epEfrGtk*kDL%-uNp)#5S2@4IK|Ybs zib-{3%rV<)G+Vu7QeB$NRZewqhz~z=btE#@m@}ZdQk{|kb=07`T$!tk>`>;aQ-Eo; zbHwpXUpd}t@?DzDRgSPoQFX2yWkM?^*O3v&Y`4+ucHQK=`rb! zjXvgl5iF~Hh|@jD7i%m_=BjM2o4IQ1G0Dym$N;gYH3C_)$S%vOtAb!Rux_a_xsHuM zWxoYb%$&QUfW{ZtQ z_PjxMc`{cS!7@cvUp!iBOs*p%kvYB&SfgaFR!y!;lMBTG4m#NQt5Xi=_+x<9(|X-_ z(4e|JnX8OynWE}gYpKSx){*hYY^~9(^_Ag z4zWs5b;d<@r~*vBV}Ln~KP5kVzr}S~))E!~yTKYujmdRv3^IEnSX|Er>c zT($LxWN(d)LuQMOMfN^}?DAx;GJ^fgRZES@bz~$m$JYUCl+4u`lk3vtLUDkD4mN(~ z>ed{84A6R7uN$9cP+gwPRYtW;QPo3zmKxJqN5&tswMMhndrhv(Wv#u;RgN`!=IYki zsAJAt4OsP48V%WFQeB$NRnBj4Fa&?i)vb{+$84+7Z1rxF>e6Jca;n|TRa1-Ufkeg{ za|Tpbs#7voZ#1YbSLP~XIFz~S6kzh5BaQ(d}9T6YD}&pBaYc_ zquK4BGr2BR<|>C+C8#>%BBv#Db!%+oF~?^D_WhKuA)jjSU7pNU#*BGJa7Asa6M(UFQywF7j@)52-$f5gIB<(d+yOXLT&)M zXPZZBjrtw6UCq{VwN3LV>W#y+QjzcexKT9nA)+0GY!@1MsgS$r^IV6fj}MNKxjD&u z=-}`gnB+%BD2ILW+w@GYNB*=y%$X$rfU)0hw)}ztMi-( zLZG)k6h4rLQQ=kvKAZ1M%K|^8mzXvL`U}+<)}ohd47&h(p>?>1SpXnZX;_P4uS&z( z2EPHe#eXHd!rozjgglZxoA){0C^Ya=Aq(^wNT*G;6Sb8BljF#UbA`Y^5^&6#YLjfJFjTtiDVuyAJ#Vor?_?~G37U(|^96!l&GS`411}YFls+?_ zd2`1HMhvH8##CZ59T|np_L-e4j<)jb71Js9c?V~DZ}awI^BirT$7oZ>2m39Wl?s#P z$k^jZ9^(U;JF%Q{Z{A7HvYh5ftyppW=EtxeZu%Qn3k|$fNRvKu`z)I4_#9)F8k6hT zn4|AQXTL-H&?#JRH@T)BPLa9ZASl*;$7Z2{mkL>?&nDM)4)%<|8a=CTFf!tp^Pkw+ z!m!p8CeXZE1S$(z^(^kjE8MCbhtTCt_H>oa3R-fe8&g!$Zh*S?mMj5kbjb^KV zR#Oerb_?x+qB*taZwW-gTPm85lY&vS%GXq6e3TVj80i zBXX+o=Qa*RMh>%I-PKm7F#R){X_(qrXr|My7Tu|h9BQe>wA7Jt#B8b2sJ_;qx?Gmp znb;_xMjrtg$nivg)wu=))Yts1ExM?tDcV>oH73`w(Z!sP8sPtw{E#8W z^-#I;QDt+Td{kSF$#sq}26#>OLQ?GYR+DSGry|?yXfH$n?Bt_bT1={ABaAt7FF^k( zS?fWQ>aygc3Vxk@R7;CVb!?0=Q;kLSfJt>(@=*o9PC&-eVp1I&Wz3#67S;Wl>hk2H zGJaL!sk&mc)tFqzMjErV?#6Y>_})`A*KiY=5_#6{O=M;m)>4Z}b&fIyXidIeOrd&< zrn)>Csf=HldukhNsl}u^Hp-ai4g}~|*NZ7sKiQxfx=)cuL87zwIMty+5Rs;e$#iUd zF*A+D^wkE_rO8O;OoxU*&@)m8x5Y*mGt*d1|CGUWX);nd)1d(n^o-QOZLyKXoZ-}s z>68e}X3cbYGEy1SI`h=_skI)@0~y?wV~YV|ldlz1$o@%#?9ybUaRK^{>Z=T@OOuhx`Bj;xj=ffTOtN!)F+gmxy-pbgd6Fi(JQ=BsY?*s%b1k)) zROk322GuF{`btf8c`{NN)hhMW##*T{xsHu5=CP0f|H=8%Fh3pyt}}>vEOcY7g!3{^E~O};d+YW3n}B{q7DO|J%#Ue^b?HZ zYHOvodvzJ+46w|mVl(}C(P+KeFJ!gIM}<6xzJ=N5d+lc1>$3+7FmBYBrdWsjn8mVwIk3K`RcQYM{4RKCwlC!h_FN%V z`U-6CY1!slenupCEHbK?tu;G0ykq$H%}BA^8!vJeNUXJXnr+`3CRm8c zdStY5$RE9K(-Xg*wa)jV1B>Fm7b5H`_($JJw?FZnnqGdo0S&m=s4w7Bj^F9lK62 zd=uq!q+BOHkx^WO8?_bMN=H*%J8V-dK4VfG8A;5e9RM8)#g_ubH?A(h_KNIl#Ey2* zrrPeaQebi%8#nYvJ5EIS6lJ-WVoHSN35?@rqkUv|b-7k-mSflaxKTFO_Lv%f^!U42=LG`lgqh+Jy!_55MVKrDcV#AWTn9*IWqE>?&Kd0Q=g{D-o^%YR7@+qS!m!z-=kS_ZBGZc zwU|^#M*cF@>}+9J>kCb)OR^@Op`R<7BZYeGBW2FY1)A&9tck|~maE^%saUoa zlj_JgVZKjdS8JU@^`i}{VFWyj2UL8(U^XeW_qeDtA}x> zo%`8ZN=!Q)89~fUqcMHH!E{+x4-@!?E*0@t4;zh)CXV>|{Mn<{9(76#=8>A|(ySiF znbxa>**>+_V_NIj=wiNB1aplsUVWZHc3D;r6J$H9huK<0sz+jDi`iadQT+&m>awgJ zCiqpWggN$F=`qR9@x=hKUVdIN(G^>Yks?{=KHr7gw$#sq}26#=j)+t<{!?z&kA=Y5!x#%W+oZZI zxqE_NCwI@%Vp1I&W6V@zQGJ$4by;%v1iwx|#?oR^9UEoLSBzLxKU7m)p4>ggub;bT zt1-EbjWlL!-Hq#%@x6y=uFI3V#{l+n_be?Y)v-}Ve>QH8pX>N}3e|lE)iB^v!%~OnNc{gS?WNm2?E%k70d@);UEUGI8)uqWu z<@|<*K=AKpI~*Hb%uHi3-D5Canv7J=bZ7tsKO=QGHnNyAoVqcc5?Lgg>GEWxGNyIr zsqKGgJ*EeeV~YV|PixHlK?3XO@l#!zj8xfNdqq7e6JS za(-3jsbjB|9+T`GUknhNY_C(s_WoUyU7n0oMz+j7wYipBOsaEy5rgU!|M~}->hffy zGOAVTsg1Q#V{#oEU(9jy0RN}thx{AkdJyiGSe}ej*<2?h)mCG29UEcH(HJbQzi)C) z{hcC57&pK{p^tSlQU$ih5SCi_pWTXmyop6k$#iTkm z#+Yq&fc{hRLB3~FU6zbg!LJjLv9y>}$3_{mXN^Vmzi6t9pj;WLvbj!1s;$Q4IyS>OKVcY-*g+A8JNEHA(1J{-oljHPz+GNM-!`8L74!lk3<>W46}axK0`0`y0)5c`{NNz+OhGrNyK=Hp-ZDLa?a* znn5)Tj~DrRF*+la^BcNc#Lq|_jEym7OO3_!Uu&kzlab1p_A*i}Euy6!jEyg5ON~YK zR}HGmWvShaR1P&a-FSWN$w!E|ZX{pI+EhV}5*{T+;rEanWSZcL{{%>Pm| zU7n0o#&jSf)zM>G>l|AQ5DSh0d-T!gYiWpPy}LlCko^}1*`>)ye$#~ zw%35U6N5aZD9l$3s!NlR%K259rz*wC(PNUGCsf=osdTL{>)R^*-v zo4#C4%V+r?H~atINcs0{%^n{d@{GA#ib;E9Omb{sBYzw` zXS#=5m~79rJ>NjjW-RSr(zNfOg9)?s#G7%P=XAj9U)-zImIT^7TBI zY2zRNOnNQ{jQw`=Tn>iod7jIy;d+Ylb7>!lwdG&bloy(AxE_Irw&7QD1$(ZLI(^mN zO2|jyI!u})W0ga`AD(H}o(c5oSepNY(Of?PC%wqNH;nhgL(_aISFq;_snSvZ2GIIWponGVG1souDRay(_-G#+A~UyyCmr*l)KhzQu4o?}~4|e7=o&yi&o#Xkzv^*m>dx-S?YQSpH+d z@{OxYg=RUy-=IzPY_rl~(i|Br%$6CA=FbS4r)X+Zkw-HUEHiDYYni1AljX>m;D|rI zoPB5QWu#=G{*ho=E+AQCo-Y)Bh4wVI2o1bc$Zhml_|Brao`tsbm}E!B0Z05eU?%(2 z$o{lN_E4cM^c!hDJL#UtnsfKBjbtLTBBL(-#4g+A12i$xl@d^%E2MNDeMuxfo+kI#!;W@JbPSI4VgZ%bF>~XsAfy0 z((e}8UO$%oi(4 zB^d?9&9P49+gn~z@~sLm`Oc9?;LG8bUf1!5TwS7D_Dl9r1LIS&ob@W`6^XE&*WM*|B=^S{~%+T1{Ta*tq#`d#o3Gd^+|{F&4^>Q({uii!d3Fj4kHaIkQfkMyXR`=O3^bhrH`zGael~ zmmtd|Yct!PU+->TDSZETn{T$SB9CB4#~2mH&Qc4G9+U3K7-Np0 zLnm;1fr>Gv(EWa!?m^gYx#)HlTu^jluedNU78!NSbOVGabidE0o91Jejcz9=ThWc4 zl|2?2h0LBeK!`&3Z<%z%!VC0KWZRwUd8QyP*-rJk#dS&6T9p8Y zhyL)_VHk~!N@lLnxc+sE>yoUsD!C31`r)s{Fd7?;^s}dOMv2ZSNr~6I+vHj-#ZY7~ z`y$rk&CDqlf)d&aS*7pH%qhL%f;%#zOE5i>9Fc@maVF#K@3IK5!3}3ibsb6P+1QD% z!m3L>Cf$({$vi>=5W2lU#oJTHw13T{n=ZvrWZRuOrY+Z8a4omgW0IYtkpW^)Yo647 zCfQ;!h9c9Q8jVzoF1UEB0z|$?BBPOc4o+9gow6Fke+9lL*WiZIg|^zUb8uKw#|Qh# z+?*uZP+_th8-MiI&B^oE^;Klb{PlNomgViF3(fNdtcROdkXH!}yi~|h`V3c)lWXF} z(IXboh7yzM$k=1H&+J?|*O$t(PO;DL;7r5Kqzlb+ynTi{M-L2IG%FP*%dyeMY@Y$< zPAsR`=eKi~>D`ozKc6PvKC|Y!9*3dCWI8s|n3=|6`d2m6g`Y!{#`KUq&v$YSm=;P* zrX!<_+2=s>Io_t2E{o4W(G6H=uEJzFGP0OiMq~NEaF*#!@5{n6ZK~@(D-|Zokuk)a z{n3@>lqkzvIm`T(;B-cMk;kE9*Snrv6U}v*w$zwh$3_qHx|7{}=oGGh#pIfL(M9HZ z1MBVPxZP%aCJOp z77GD=?0vsdsD6_{HSDO!);d1s0%qBnWiC)hzgirQjU(nU5MbP4U*&nEF#SuKX%-wW zGSg{eAaW+TZK^8h=zTHnN!QG#1luFqnqrBum6}XiyJ-PWfj3>~1SEy(|71{27Y8Ub)rt0+HaC>s1oxZadQ7r&bTL5eX|>m{*JQI9 zPp@EkQfdyOHye-eekP1wWBcp|xV|I=>s;Xa{634G(99P@?Z1X<#P`34l z(dV<+JNRtA+tRL`U|*nm_zk^e3v^6Ym-hy$nO~t+owqegkZae;;09@6h`QiRQTK&JvdjOpYUCgZb`>?A&$YIAtaER{+P`SK2Kx zKN>b%WV;-@Ua8S!+iUg;5c%F3870hoqw)Q6n{Q?z%f+{|?vmykf9<8Mk+H(eHyYnB zv-xJXjVKr2gZ2oX=35kC+V9AiVdfi+@0Z$qL$Ybf{F8xBe2W51zGLHvIg1H6?Bsu^ zWHG(OigWYc-JL7Of0m}Eyr8Z+5wWZ!L(T`rp~*P@oGr;7N~V6!9R zj+tyUvR`PCUFl>8XARqQ5lgcw~Gsd*1+fN5WI$H_tZ-FUg(Er58f)SRQ0s>M_ZVj7*MZ+ue=q z6yM}|CfRHrdbw;jn{*y@PIL(-;jt0Qyoy;j!c*q(K35V>rvbt?i<~zVJBJr+w>Rt2 zQerY48=K5bV=;ZFV!HTq6Ox#g(-F+@&7@RfG94L}%sGI7bVnaM#S?iBW4hT~D%%_d z-DG<z2iJ zv1i_-dLqsp@D$hRBYy*tQOS|aH5S*mSzH%;-c2&s;XyzA````4Mk9T$b2L(4Ii^J0 zkC|MTY1WPKvh`i>Tt8cvV0zj)A{nsAr*%}jX%SxhSvRRM8~3hw(k+pCOuAzulG%O- zdcg?j;E`g#8y4LqnsX!Vx4H|SXTMbmBH{g!QOP_8$Vl!Kb59xDUN#9Y%bXiQH=SE! z-55dIZmGv4J2D=bSC#KdcFNrmmVoSu2EAuZvE%HqtIE@++Bho(CdZM{$ILMr$442* zaPOs(a7^#LWSM2S^Ah&mYWgFijYIzGtod#=dMqTx9^cA1hWjoRn`4+22M>L>noGHY zJy%GTzQWyV;3i9BWNuD+&hj&+HI9rdZu4_gPg3V`y?ZX*#2rkQ9dst|xioL=x7$6J zmcsSC@s8u+dg_W0){+?)b@ZtW-*c%>4ou8UP3)eX+rLt4?QbksTPsJZONGwlll*F; zuhWNtw(RE_(V=FWhPrb(Ch?Im$5G#I=P_(;w>KmZf5akwU;Pfc@JNyKRv#zW*0d{w zK}#y+c9(W&atF|L5hml2@y9Wr@od#K<1msNYt;{1jNd41da*gb#N+%Lp@EkQc`kjP zGylv)vpb+}m15GKqmpnwxci~*qo+(#>`G}V7X6S#`>s~4;1)e@EkMIRfhHTid8h=F z@VKbtXut2JzmQ_Fo|pbC;km-gne@^R8T;+#r5_8|^9a8qTu*uFV9#Rhd5!FE%+wCo zSK77K?Ao!~bbWqTvjrY|v2FTgU@GWC`z|}Uf<0Hri|OlJr=}YVOm(k<$$n(aa?HOg zaQ4@=FOy>37k&2WzkPA#Sh*P-d!rRi1y zll#c1=E$&j&-WAb-+n#MX0PE9oJr5-W@EqIJe$REJ5m-d@o_zJm~yT8Ea2KORdBIcWVWO7S-d7&rrSOmtO%3wxcKMDHa`Y* zlKxe%H%fSuF}ijpM+yHUXDL3@VO$QX6q)lUuzxmlwD4M?ftLz-K7EGKLIY+we4^5D zI~QZ}9vSn@>msxB*U1}CnWuTP!#gLUxKSXu?uLgR8Q;Pc?72d2qpuF@mcwH70c?+D zEHc)a@7ci46$ahUV014o&eRUcp~FIZEKw`Rf~hu|Y~$?~AX@LSxR~bXfFIL*Nrbm@ z@c)yya;vf5ZZS=m-2@N*qM|xpO!Il+dMf&}k#1vL)Pe2sM|e)fO=MrKO+)yT&BpOs zYo*?7Og9&*OEs!((>Q0LS-(QGTwC&Kc`)c}g}j}cNS(d{_qw@arktb0wCs^l&z!Bo z&XMyEpe%a|(FcI&ovl{0HPtxOEH=?`*(yeJjUg6Si%E54q%-^DU8zpF+T2g}RS(rB zTCM8Z{sxV99;I6@^2kb@KW;bK@Ja#&n0!aZHuLCVSH2;>7weDDntWFm7HTUi^cL&Y zLNgvWdZ%?^_86l3xp8R^{S$MSP7x%RtLa>@5;-l@AXQ(I`Z7P-GtY`Y#cuV4L@ zSxq;57uhHLa!l%DQlU!8H@Uc`s67Pv}9X8m$#0Db7um0euHo-5>~^mR^IcCYyX zmnK{Xvj;>*MRP_jJBOV{UsC+|y?ze>H@?v1$7SS7pG8tlo85(ZS&B&eXl#_!pYxyn z8Ex-V{Fyx_?TdAoJXUDZ<8lBr>9olKcV?z0^_X#yn5;*}Of&23+;tjj zNn!n|7VG=BH&=^)=ZR$2d9yt&6XQlxd$ z!{*&7$D}?oUYadDnuWi?qJFxZ7M?e|gM~K>F^0BYG~ z3IMx#iwdL~1(ZLilx4F612AqW zBJCrQkMwHF7V-8KqIaOG;kjq~@C@G`3sKwX)_ldd&}DAFhMh z10v(4*`MiZ;ZwZ#?S2m^Sze>0T4pZVm#Jvwsw1d^<<6F!m0%Jc7dsv8_t(A1^Y3*2OG-RxToXRos#V*y1GNP@ zNn_^;Ngp{Y-sb!svl8k_OUF^P|jqWZQz&(hGur+72hxx`Z|Ut}8(|8wxr-i*4ar&@7$ zIu$_TH19mo*}BUzOv+>9r+(&Rrd(5=G6wlGF6E4c;;u)U=CgCkJ6m)7QTE6P>Zm`v zIuou5PqE|I8iY5GtrdQKn7CEcl_xHm97y|`G>Z_e_;6(0G~WRO{*F6l38c)+_-UK* zLi;Ic^D+S94s0_uCf9Kh($N9m2hS^GXxp6l=r9xg#pY@oF*Zh#v(xDP&ABc^j`h6geIqE(D8BnpK>f1W@fijIbI%o$>ey9c} z`LWScf8DP<=BUX}$p#y9$!D?CVpE?s3d5NW$4>1sOwwZ`r#|WV8dZ~?G72+lkk0NH z!90NCj>4p6g7Ld&giJa+7U+I_T-=(fbxCS zJgbf?*REXF@1*dy#iv9VG=k2jAxYI~kS`W7I4x>;Qmq=PF{ zbkd_n*!^aY4-QH9rBflMRga98=Bv}LRz2nF^vMqEVAUZXtjJb9>gv?SnKyfU>tL96 zvlx^296be)ovTi7ym7rXz*21c)dAj1Xxjm3dc47?DN^~mUHo~_Zz^SWPM8Bd8HZFU$hx-E~&_Oco8Xvgtwcx-&s&w$Be zi~3qLh3}sPzNZ$NjoIepYHNkv#I(r1c`V;%lda(vuK?42$3;g+2mP`0S5PN*y}QLM zaz~f>yBkUW!7Ym-37c8N@Y6Wyzkkd8%1XFYYfnPGI&5&$sMPk+H$!xv4P(DV*BdtL zjnO)ACntFD7qvalAHOSHPen&Br`s48b=U^k)5iNByaL|bbC1>$aux8+rw;FJHILO= z?X_L4>T-?V`>WpiG0671QZ!cQzw9=eUm>rdpXRzB0=)`SL_Ngbur)SznzO**lsdge z^@fxzuqSos4Y2(pTm7gkurS@@L*@u%z*6uEnB2!jP)GayoPnJEsJ)z&d3jeF-1F#? zw*N)u{xaye^r5Z)4z6I&74l;GYFK}}=|--M?i!&gnCwT!Rdc=!JA<8Ue#!{^6`K8B z%|=^+Uu5p1@?{j%X0z=q0&ed8a!lgm;;W;BzO~Ojzqa-%KK~}Nr@FIIonNZ$t+6Ec zS(@+8(*ax6cD>o4eXGdyKZ)4})9UXP8hELY*U{&>bq>L}N*jx*h}j<^W3Z!sf5>Az zx<90h@%#ks58GGkON$3;trd=cq4|e+96YqwvxO_zbA{YSUn&1)lTF+`Jtp0e5!W1r zV&|%pf0Gi0x}5Bp;Q!+y6L_%L);%r?w6mu_!;*5`C z-fZl*+bE_v%4*c}Mlm~#imGv&lr_UHBakj8_%8U`rcu`0YOVoyK#xgwWPEkR_f0a{ z+BZ3m+V6en}z56D1 z?VOmInRvz=tRk?#v0QDf9H}l9+J3_r6Fl^F86*`>G1G6i1ZJ} z#!&r?f|JzZt>=s1WLU+GXE38+-q^3Xwk1x#>f)YEvev!rakB8@;?87LZJczngib;E9oHVapjYj)p$@C4? zl_LkLOM4FOrn5Zut*uPJ#)}+PidtF2Z?<`f>KzmOamdKXXMK&=1r7;=5BeW2Q!Y&MSb?8WKkLX|EQR%^HG zjl+c|{t9Lb%y`qZ(7;QDyqZ4Gb#1<$y0?BcOwT4Z=IZCkT8=xP|)E1hp z#i_=j=B`$A8PdVveWClnWrBD;3Lluk)UoM$P_la!MD_<_Bd-29O=e%SpAvz(z-RyZ z)%qfvvtDG+K5Evg2R3WEv2I?s3Ygr-MP5fneBUSMMr!U;vVI>8-0y6)nk{DL3vK7& z$_5_V&Tr-l_FN&$^c8#^)m+Q8+gePjBcrOL{_3ZB)Lm1Za^3nUpn77deIuQWdISb( zs2wk|6^Dp2JT%#K0*ZQ6$SQpgWLr(P==Mu636G4VX2RJy>y$T;lK*=?Biz2FSSbiM znrw{A0Q+7ECgE|B)4ZMrH%grdPq`X>B-zni*+FkcFk4@)%{J-yOugD@!-rzq@~ErP zPE9wE?_LFy{m6)Fp0U)`x~I%oI*;tAuN<3dzB}78E1PS~Rr1xCT;~`m zoB_xG7y=zUU^U5WY2kV^@lvie&y`$H?O5R%0V{>J*HJN20kLkfk;~Yj43qM>80kp1 z-i&&uH>f=I6zlzPM)_oQX=&GLW1%G0TQ=A6No+MH*Ksk=k-X{!8rSC#Yh9N@TW-kN zgohp_46IpXHP^VD4CoQb?vIRU=DP~8GuX*ur;HFj%qE)+7#I0EGHTUzi{imfc#8r| zz9S=-IXAH@-zk3g*@EwV?M3i7tL=p&g|^;NemCdaXtLpVcPPW8JT{W)$LDh-Q;(XY zSn;z2a!8RkC5h8IPJx!BIAw z?RhJHAtvi_5zRb?!cccd6i;akCS*cROOY_bN2oQR66flXb3DK#xgxWZW`)C|&7J@lbln z_IPI-Yj5|o zw|AC}0o(i~27<$193TV|$3WtQgbEZzDwG2$Dx|0+q+EfbAfZS?<%e<=Nh)zD3g^A< znf{rc8NIe!s%o~k>g~_#-r0RK-@JL#uYWGPy3uPcU$glYTg=Cfu^r<(#)o!}jc?g9 z#EbOjEn6lhM<&HLj%;SEw#3-wf5q4pCm6f(LqcA517j%Lw+Pu$XAEWJF(KoRFov@8 z0U=l4#u&=0$Aw(`Q^rtc9v5=mKQM-J!(Ry5_a}^@9C%R3p}QGFIefj4*IvaK%IlsG za@)5ULuq_j$l@0nLpl0UA-AtGhO#mzWOW;3C~MCVvJU?PhlP9)zJv1MT|z#x%oxhYZV>W`?Tn#3bf%Dp zzrz^Hr@t=b5!e>WXJB8TeD-}pKDWUb$`@`F@~5MWp?qnRkUwXPp?u{rAz%FzV<=zi z3HkZ~#!&tSejDW*PY8JoehcNBpBM6N_zucfd@$p7BL7|M^g3i-*88AEyUZ@JX!pJH6jdIzhaY&t09S=(3*<(wyk zock!Np`7<2As5`nYA6?N6>{<8tcG&wSA|^mFsq?#T@~`uaaKdwwnfOx&tx@}SNyY( z;m@)f${73yl*vUQuNq=Clxv_a%G9@nOn-sZQ1*OS$leaCq0H_Pvj0+6LxEkzW$xcu z4drI|4$7_Y8z^tMQOJ?4tcJ4iLm|oEu^P%U{3n!SCxmpSSPkX)W+7|eXEl_K&kMQp zAyz}V8|tIH_aP#(Bm$otP_HIxrR9h3)Q`zRl| zPYCc_L-_>kQ~7;@d+V+2ET>! z=wAx?%12oZ<*V@DP`(D=LHRm-2j#E-Q^+@9U!gn(wxfI#ehcN>hlP9>{u|0a!tbDb z|I0%D<$hK}`B$ii@*i-lQ69fQ$d5L$8p?nDSjhkUfYng`?^{BC@+DS7c@lmTq+ag{ zIqM*+qiotHBB-UTV?gjR_EuZ z=jU%)OL}Yb2a4!tTjo!_j#RI)=b85$UR+!fwO8Pe@CqVi$z1BuD zwPRS;EGXf%`!~YhRzGLz4lKN8J?Y)KtGnJ=T$`HAHfE_0EX;Nri+g(Al|%hr(pZ@q zk$sW`AO4S%Me z%(gnm@W1V8wZT%YW=V1Wd(-XK>eR4iz4<*^oPBR^XQQ>&T7VzZcZ2wnS(beR|J_`& zvf74!J2fH?T4}Lfz^$@>NE(bqdVT(Pi+@8FW%UdG3s*sTclFM>E`DL5+vqJSfC`KD zx09Pz7tuJ$wV}cfop!f*>`>C%NP1?iTmjStNaq^8qkvGd(P}0N%;GYkMGC~9*uUCu zbvqhW6%|C$_1!goo~&uS7L^EH4(yy#e4OsKyS+orf3BOJu*QFY4e13?_h7QoJ(d)2yr4{cBkA=^zmYHF-#EUWtO>WE z|DA)0q31Qx*Q#xswXHJw4P#FqOt2!VczHW%teJQoOr(z2INDl+i-P)9<%Ua(c|o(= z=_Jj*aX=0xnigttH#>LdstJRk&1xNL-BnO4(`L2OKYys-=&!FCKg~C473aRUFX=CL zwX?dkI9IT{*Xx?6ul{qgH2W4@&idVEw{094{tdk(tG$1{zkdl%F7q()>PC^QznXMx z)Ay&^tQNoisSBm0&J@{I1OQky-2ndwR&n+{;rG!UmwdCJg8VK&n-4=o0uF0RUb#w( zvw{L|!T+SvL(TmQw*!{b-41x%{?xGUFYF?yKdbz+e!`h*Ue5>xj1A|)1T2GZ>|L8_ z0&xxFVChPz0|7&|2QRB2zH9qrJpzF`yH6y|bwJA?L04j(Gfv5cKjr0C2?tjNK;`AK#0+!fpD&7mBgjb z-x5YGdK@CQXY2PZX_xA(lBU|XlyiProt%2#lI|0-O1f^}l04zFVyS>KdB>uzXL;?u zrQ9j4DfTVl!Bn89^13tX==n26wF!y zyRMl{4lQ@@P*$qX@Gj|>gxSSqTw5H@7Z!14Q9xc$z*RZdZ|e9bby*ZgHK&A+g(TYg zSqPM6(3ovYQ(?Il_^BG2a<(WK%qi24dXSWDi!-ekq;-u5$*63UWVMaZDW^<7+IuZ` zKFy{f#%#B9RJ*QP>P%sWB1I*$7z&gUR#e8nVNsx;*Rutee^Upa%!|LKfVTx_eqKA9 zznE)^+4NGaT{dMSKyevpjSGd04GRi{O8FJ_8Qz(f7EQt58a_wY!22SfW2tA0EGYw&#mRF)bPxeJP}f%oPmMN{D0+(pGu;fJC_Z0q5+F5kLisNjQnxzH5& zw)Au^DHQ7BOGa^-&=y@Zib{koM^;WLKIUCuUJIWK9DZI4pDnK~kSQw3bcWkDs~bhK zzTwjITKEis8Qc%%oVBf&8rxkL7J(A5FLBruS_{PoPho zDU|AxyW#S3qa=4XTwG>oxm7AHP+TUp+TF0J1E+wEoipvD5QFNes)B;)<)nE`=Bi|y zlBM3YQhZ9;`dus531z5utrVV4mU`EUe%^?a$<*yy$(>4?0^Sy!NO|q9mE38hDR!-x zCz1LL?{cS*u7USOCs1C^7T0>6{`Riy$WqpWWyjFa_&D@x86Sox{y4IEw)PC@3BlMU zHO8LH-g%ssJxRY_p1sF<+57zKvq5n-!)H8?&*u9FkL%eaj+Zfg2DS0QnP5x( z<@L@nq2VMkeNUez*7@EQtmFR0eX1V1zYzb~qMujJIL22z|DZP=e-=-5_AYqiqo>Ey z=_itQIN6M6$J)@)j)@6zik#G!j|^*P$JyMZRX8}%)eIi?*|7<_sPp>bdh+bR?OhFZmWu0*Lot6K7gK4SR0S_v9)0o({Pe&B zO2^nAGw7ZJ3SU3cSv1=2mo_d-_l-PdrAXdP0v=grB$@j5`_Ca~ch&lj_^F->ss0xwxK1b+5Rd zr26@A^r%#ShCwr;-uDr{8#39@5uQI3*)nY8maW6{e9mMo$5L4Gw0ov1!bgdOkMD?n z8;+C!UEZ%s!d?9K9}2>GKSV?$WV-Rp#)qQ&B|^cU>#PN@g6_)h$v%Dd2$g8tXU9ln zt0Wrlv8g`$517%BJZPd{kn*dDzADw=OPzJ$8MTlW<3Jgf+nSpI%~o^h(K})bzR|+<4GdNJ8h2dfh+LI zqK#X$tMuuNHWswst%^3<#r3RcW23m9j5e@^i^}n*fMdJ+PS{NUTuQHss;^Ep_)=$Y zfoC~zHyd4+8^cqySHuWskGxa!ijjAI`~>!PTb~Q>pR{<#?pXuKd#?5NBT9F81ivsTs@I4qnN-i&uZh;2lHPuvsUzgA31%Fz0&V z>zu11kBn1un2~XBjQ@_oc=%DeGvho2SK~%>##NC=#;N(tF}ufLY(-Sjxl69+wuC%KdH#(07_te{Gtq<^r(x z1~2l+I5nFY{dFbdF8=!C3}*ci1FnN+o8+&hsfuY+<&WhtY6f${jy+<_po%?Q`gQ*n zXIYy96wZ>6Gnp^sXSv=oIFxGerOt5JD^5B_o(|Pxo8TBVvpH$=9W$GX?+f4;;a^I&jhhH+bk&hEZ zs<0>EB>cBk?f+@Hek+H6S8+X=%)lc}CH*&3(yduMVH+WP^cTbb$A`MBoZ_FwQ=PpP z-k?W^liV^rk9=_jkK9vpn{i|sKYRjzJD2Yg!F)93Ud}!RTMn6b(#SNyyEIwrH(OZZ zk#K5Wb9}@a?+|;>su;#)WZFkk!g0nlJZ(az`#gT$>)!mzR3j|I=`B)ko|_;}fUT4s znU1+jehhNn*osz8HlEleclqIzX>FZ`pt&Zs6AFYilk@ROzQ`lv)ZAs938Ls+kP*4d zsE6N385gryhV8fU+{TBB!nX+pe@#tf1XD~dsVY1O0j?*Wqz2P~-Ge*v0+O3AMRa`~fF87qbo-v*+j{s*+$Wb@7RlIl} zP;}rxc(yM*k6Rm~W-w!`c%=__X%+tv@|{~(3^yJ!71}z31iIi)MAzo2-1&dYdnTdIbP53q3$?g;cxk< zv*Yj{TMBc_SBlBR3-li8re-&zALqxb?5@)#VtK!y8|OrZZqH%~R^0etL@b8cMx&uv zR!;5`&$0O^HJ=%K7gmz)(!20|iu9oAruHth7Dhyuj==k7nVh+_#~sJarHV;hGMB$5 zSmsOih3>6MGg@su21A^$>TIFHKA*7j7IK?@$wduag zi#_rlbC^XOTY37E&1UbC!+fvcy(yNR3Y&9k4zplML5_F26Fld4MyWZ>n3*r4U*<4f zsQy)?n$H!CD{c=4)zVz!{?XKW^wrd?Wu)30)$fs1<67_oL^YagQ!TX~six*CW5iua zwM)ePZb@~z_T-^{qrV>Z9J17in|o)&Y$J(NQtXfS5o*RV^6riIcjbBCm-Lsri$S*q zJ{8`D*`>T|#U6R5<}D}facgmerfMT}@$dKNd56WqyS=cZmrJ-e&~ulsOf~pYXK#XM z%w6gZoSR*WyDIfaJ2j6PN2~FpSC+?g={@@^l6F|XyWeeg+hLPV9j(Sm&rG&sb)&>1 z;ne(P>>uup@L!gM?_cllUxEQ!Nzkzibz~1GT$*ew(th|( z#rSH{3EP8HTg3(6U~U20nbsrK)ZAuVrKi$!yHNcON%f6<>G_cRR*_ce$s%wx*BnC6 zVOMI8TvKzHu|=hlYnMCBw@a?GWj=7`)Uds_Q;Ujjb^+&hu}9vi+0C7Hi%OgcNJS?u zGXcF#@~)=J7Q~0mJar}@?z~OY3#c!u;E{W3{xkY{Z+`x*ihJHg{BY7+Yjrz8-+emy zdC?6#HG67^&C9_M;*`+$3NQA^J2f*JNBmUs?lMaGKFNDF!$jErojT%&!(1@SL|*TY z?qO;kG`1sF((TexelOC!f8q9|*`MxqHej@3*mP6d5e<{4hDS9oUQpzbacb@}wzyO> z?$Y9N4>CU6Z5}(6^nmc7BNb|ki!#?p1Lf2nxu#}0<9dUYT)X)0w+OBqi?~YDp?)uE ztOU(Ab#95-u5PmFyo<^_Qclfu#(6m_DR&v&_GYAf@7hcg`XV)8t0A|SQ|IN(%r%lg zhSDR`)XZjVJFH~drS0%d$nuabDLwfpYB6v(vz)nGAlZqGJH9mtDGFxepg$)#9HO#NO8SU4lq37YA9Djo!g7+ z$&s5bv!mR_nLfVW2)y4cwi4k(&2DwMQ1ItE!xI+W@oqHL2tbs^BgxckWz632<0F86 zdh3?l$w}_4uZUJ%T$n8AJ4kBwX16lgY>65MR;F6m>ks)ZAo@LW<4;8HHdpHkC#yydr35O5>4aY6ddSHppQti$YxD=?zYD(oO;&r9+)%jvu~T+n{E>fW$jT+fO*Hj3*>uk6y#dmUL8-8!=_&3jty zut%R=nqGF)ed0B#24CvzUU$gqXGUG9;1YQ{458>}SWrQhIjllb7HcWS>u5vw50XmXKbH_JRyPR(IP%Dqv( zYEmA2#O_YHipH~UC+ZAPWgaP~<~PUeNIhoiRiy6Hve;FW2OXVL*L@HK7ey&T=aFV= zJ~OUARq3-`?mIi2=I-j9b6s>$3*AO<5jP(4eJ9y(n`Rr0=hFpc{zxC9<~HLDg_Wec zWbRio(lO-3cJ#n0$M#fws222Lq2SMTwhphnbp=SyOg2aEAme6@r&6c4Yb5X1}$8ZQNmdW^D7shl)A22?c+yvlV#7m?JaSj5kcJ zN2;m$%IKl_aq{7zTMW8)i}g%{jx}f=Ix|)4`f8{=vP{iKMh{)dGRBb9-1{=J%qLkI zlvUF-a}A{BPT*RPR8w<~k!o*LAC*)O%BpE8)pC6_k%P%=JyK20F~*styivU*sUDQM zyiMAO6`$rYF06hnylp7rFA-C`<4zhHj=q+I;|9JIpj7x%t7Hp-6?Jt3jSPY z$KiF}G+9L=1$vKkQ?rcmZjm1=A9st3KzF*_W6)HS?iQt~s%hF(d1HBKCpC{4Balj# zUG5f}z_KD1oY^a^!JJuj)52JTR z{B!in5$!JCc^;@vrx_Up@2n;jNxidDc=XQH%;BiLB3X)9#*5=L}G{X}?=F1JrVHJ&S9fvrfJaxo))E3ytQnJ?kC3=?~gdzmR(dJ>D2f zHNrBSRukh5&1BPITLm8ZCg%s^$Q3+V;&ia*dvfXTe=D0!ZdzUB9i&6{*`x?0GgU>> zhQ=Sslho{Bydy-AOG$QV*?29Gd}z6g6Q~C5p-Fdy!c^5tr+xNFF*O$$M};GFr4+l2 z3cm#@PWr+n?_cf1YSY2bbWIu+Zkuh;o!cdzTcRhadBV6FZzbuNXP8Q(bY77^70-Bm zvmkx0(K`yO1|=J{8*JS?Gk|;LZ%08bc<=Sfws0QeBVP-vyO3eOC{Yd@y9`+dtgSlNK^IZ>(qL# z^606lnZ_7>RI=<6eY}RV-0XHbNwW`I9f0WLV3L|^60IveGEL1cMy9 z)6!f$>@b!7n4X~K8DpDXCDSeu_5O_M1HEp)+w8Uj=bG52#}UpE~A41>8g*qPEJ)6`63oExE%X_wK8vl-KA>vhN;o7De0_1IcNH6P(+t37f} z%`ir;y>b0Zz%|Sf2~8ri-OkalBM~Ck%3LFNo>zP1nwo2jQFbNQE_abPNUo>5osFay zdW#=1$`%l(CTnw4XD7K);*oG_<}vnUtt8x~C+l7y9A>o{#Gb5qv-ReZ!ZMGfle3Vq z7ZjpimScCxLS8ROACz8DK(N&d%FubFnVN@;t1MRfZ5Nua1DbcANSf==@E7u3B(YCl zYN`=x8#<3PQ!|ibalV@>-|R9fY!A|We7zBRmWDJNS!${tZm8+W{Bb-^%{s<41uDI= zOZ(n#^amp1EN zNV&FhF>W~IJ49m7C*5Sjd)oyby*M@37-tZv43_dF7loY43-W}u= z%qcle%`C>4njf*U)@T=sr;uW?6nW6znb_jNO*Js~zY_V-I5mG5=SKC$@v8;LgE2QM zKV^-D$PJChxPqD=jD46YNp@+wy9P-fq`6UbbG5lqZM8?PshPsqkGhg;mwwd02wZ0? z%i~5vz856+qt47Vx-OYYk4#hZg_HKW0{1{DiBThCXV$j&lM~p#EPHH%H&;RVEh60H zeIQQfe7_6Y?^ezC+b*s*n%QwCytx|cY!ug%>tkTww5haC_Fcw`XC=FuL05*k#@eyN zq8abzR%a3Clnj~eOH!lN{opIrZUD>P1fS-M%vO1q(o%o4kCC&A_UykW;OL%=_5&Iv zr<3+uwco9xeX+QnMf=ItICAmeuL9aTFx@2Yx&#!2OgYJeD|59DA9o1B3jSPY$Ke&? zZQW$UVQag>b04QMYF06}lJH|y7LU02>j|Vg?H`XD9fTM=HP?)>4W&nqP0lge9y_kS zs64jI7=dwQI_*{+GS8${V=_|>AAKtNRgY1#j4?M;>78A2Gh>`&*{3*Y?@StBjxbsw+8miJ6Bv$6~SPkUjGA_#V+)H@2o4e5o^-q=&a| z@O7=V{?dpxTJPH@kCO9-c9uN0L96>em#BFMXIXV=3YlkWYn|%BrFCgSsO4_(z25UE zHG3GnH1|Mdt#vM5dWh}r_0k1#L#CSKrKPDV-Y`}EBIi+RrZ7g%l`Om51HJ-TPM5?D znPpPsoSLdyG<1bWj;Z;ct_$yFHXvR>3d2FfS{Son3rDh!K;D5kv ziSOep{yLtajFCo@3)XeB^Qc>89!aO>5aSG}{D_v3?$Ybys+4rOQY>saWRFgo0aZ{g zP1X|Rg(V&dC+8OJEO~4tQE`h)&ySa-gbz&bYQZp?Yk{ql9+{@*72`Z)m0sJWNivxQAIHNrMbHtr(r5`Tn`Q1g%z zb{;a098eLq3*j%7gv<5Wg1(2mh@bmvQ?2Sm-Y(TXH#R6vZcKw_@`)XuMu*VGG^ov z^0Ju3B}@79$T*DW%P;N~GUwEceBNy12D7lxqd%wSDdYIvN`LN>#km|=&lW_2t%l4v zX^tFat{JABqE(SbsF}&wGFZv9OYZ$LWLlrTJaDe5ErYtr+R%jD&hR}#VT78ejN>0G z33utoy@eAlroj%`W8*zFKGa+ymkR}duCoMQF-Mu32HVhhj6Y&-lJECi3@saJvl%IU z&e8W`BsrU66n;Hqn(;mwAByJUjC*FTHqENG6NJ_y)zsW%jH>z3%hAvKe`0}4RDCI% z={9ffEJ9|oiQf&GYEo3K%+-dE<(2-J9wuia$F_*akc^i zCt1$97_@gL%{+-TOLI-6O|{3UgPL269=g&)yUaTBLgac-W}Zw<)pCi3#v{q(9HQOc z5oftp9@>TE3y|bNnRzlb)oAEA1v5_$Q!|KhPP0mn>=HA-fO9+`GfyJNYMMztbih=3 z^vUGBVH`J5b^qrQHJ{H}mQyYU9W_&1>+&;9N~q;-@ICY74r=yr(vCJ_TeONcT*eKY z$7YhH*=}QTPp`XjsNYK(D?!sun)S&td1_>w&Cd(M^SeWo`Sag9s5!))cE;r%NT^{f z8Q0fk40~Tri3B6xBjTxeeck6H<Vacuq1X_Ti)F+_eeZ7ZyE1XD~WfxPkoL_eDKjb^*&WN@9c)9$g!Jc z9x110F(c*PC_l%fJot#+opK(Hm-us4=8vV$$f5S)5}To*o{elrq|jC`yP|jW6&^H^%%6({P@9$BX5GRI>CQWaslL?CAa%i0*hpuIFH0x`_howT+WxY{Gv)Qshr&2?-C zQIWNakA4Ploeh)>*+-MwL8PhLAjzE0BhA#DWL)>RGU9LRH)@=Mv5`a6oM9ZTj)$f+XXrw44Jj5wBZH)B?T)o(J9gVzZB}gSL9J14)hra& z%th0x*ET7-(q`SR)OW11g+{wJSXR|8S4J-etebWF_VwGXO4+e*)Ef6X>njBli>>Xp ztR6ZwN2yN^)`=Wz?dERFq28_s$`8mD%TfZn%BA*)DB4wfnfzN}UyC5qXuZ_O=qGT;1z@r?$Rp@T|o*LLzvkJNjydBHGD6M5X6 zWp>ZyHl}Z6UPD#}xR3!jDLzeP@{aw`5ubY}IWRWz$X(^$CPK3U#`FAUr!&9|o{(LQ z3cNVqwH?O~q(K)3Z4|>b6k9ig5s+1XV4sjKm=?%)xE|&mIxfdD?qv! zT}C>MFO8`mWTxOYYuFdYT@=%mRv-F;BIP6tKjDY{dvc?Dfvz(-O)H~g7{=@@FOPu? zUR;t^#-!-ZBSarL=Y&OhzDR;jGh9af7cN5Sl6!d!?lCTn`#e_mjZ`oAOdnwIMYO4g z+j%R4%3DU8cDS91Y7q!AE3SA*PV!V*@xV{!V z!WxFhXBgx1u12CUevU{2gU{o67Kk(pO}x6BF;O;nV#9V}DaAHT0lOFBcdc>zD6gy7 zF7a=BQhk(Bu-#`%GCpiCM#T1_d}qoY;S&VJApiR-293bZLHggDQoWMTq50qSa68R6 zxgT!l@ixuxifcn_g+sXiea6MMylYJMWHM!f$2Dh%;=b3}&gBOY^&Iw}- z(cT;$C(cjnI4@Bf4j<0d&2ky%tcwljW<;DXEogrDj|h%Ie16B}IJz7ppKnX`_T%$b zxShu5--p|Id`^58mCsKx&eb!v^`v9{E$RRU-ygri0+D9n2fVUBu614E^>BS`m|sXS zPgBB>?#=CSV*X?}=1bI$B=h^|m{&Po#eB>>KOYhEsozeJRM&>b^TYV$=#ueJ;g$2!1txCQiToxQ_G0^ZIBwS2d5BXzXwPMh;UG|Pkb5p)OZE2KbE$;eX+BCL z+|ENcJ>?dayQdl5?&GfOiAMHWTJjit-oDHNk!E2Rugu%s?kcPu5XZ&YM$}W!6xCv$ z7~J0O%Sfm`5ZFLi!S?=gLT9>xdHFrKA<1xfZ9 xPxO5hxyyb22*v$dmDo5t>KSJG9)4fW9tPu}VLaI13fwbSnf4UTI7@GgMzFTn1X0Q(bpyfp-%Q&g_Nfwwk78qU@;+ zra85(@kKfU^I&EldDeV6vwVBt&RoxEG_hmn>B7vZ!xlr=8Xr0%|J1XMrpDx}6{vkY za_2|x;M7}U-#w;Xtw8O-v+*_#J$GSy{nF?Q8W}t%okJad+zz!nc(H@`#gphy z>N;UL>Gtz=-B5?F2iG!mVg14I^TV$XTFv^yA$lV~ed5gQpz^<006$bF)|0RxDCf4K zuB$8klZ@L*$FNB5ED|^OYtUn4UrPFKljwtq$?b|rm_iS8XR%oCK0Inq5yub}pnXtI)W+&+p#-YZKYvxt&snCEQOinehV-#f;XcS=&; z?Oaigt0h5>c1qE5;>$s4%6Ex!w%x|2TTS^*ngFJla!nS9Tmjm866I{l#jhTlq_dcbn;5%HIgZx?Rdxf+P63 z%w5Wyja#%!Im_0i`2H*vzy#;{r&qEbG9z>2HLll z^#&!!8zd{+8}&b=31Eu7z!1M>roiubk>dsBK38s%`$jqLyISjtdt5h(e|i^x2kXjm zUt!!QKPGQ?^uH?sXWTywO6a7(pO`c5lT$ZJern$&`&v2n^?sWD=Lo{OnEx${m6sXw zPuRFcF@Kh=OU3*jvvpC-zlG~smVJoX=l_Ku9orl4KfrsZ6vz7qvOwet{EFw8dp_;t O-)`A|5pCe>X6=6~(v#-^ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_olesvr32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_olesvr32.a deleted file mode 100644 index 1a7bcc670898f760654b3f3e930b906bfd474f04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19820 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-atoms-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-atoms-l1-1-0.a deleted file mode 100644 index c2c4ee8637ac08ddbe44512d25276301c932c384..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15580 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-com-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-com-l1-1-1.a deleted file mode 100644 index 2ed3791a4f2a32d627bfe3c0e1e75aff7959baa8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3554 zcmdT{O>fgc5FIBeDNzv|5aNKqAh?lWlXjD$3Z;rvE*wxLByJlg*(4@*T*anvLOpWq z0f`^L|A3zQvnVs`b+T#fv74aGF%Z$u=fydCrf|L9Jf1DB)G zWlhFCw@a6@1{2W>rh*f~4++cVxEJ``vpM}7jtlq#I3Ee8pN|XR`@t&_?G9Z}?2Cbz zib+qjY=%x<|A1%Cwu5~!bVGdC-CpD#I*}Vp_FNCgt-M*P6?k&FLJ#Yx0Tolx1Nn_Bsdd08!5PC9tl+S!zvP}N(92nuX=VBf3?1cOsx%Y zYZds{8NkpOIOD{i?0W3TRq>oZg6VN9WMQ`hEpprGET&X zqVZsH5j9FyCrkmlSm&!&;`Qhcc-?4jFY%gT{BOzUFI_dSpQ|v!ZR`-Q?<#K4{-*Id z!RxJto9RTKPx^#Q`sdpXG?amAQhZs)=Z5TEhT$XmB}F(E$rczyqYsmDY>^y;D^P)q zZma@|FU53T^e;>N%uBkE;Dq7Sk}?4tS;tiYeqtxz9Fk9NQt7WkiV7_(b}XxlGDXAQ z(iByeVK_q8QVJ&y>-$WWb-XB(yi?4k#>_8M%)acjUz_NxtNDd_Mp?)dO~iQVxS678 zy&c3HrsEh+%W?K&uw_#ft2$B0*Ghik9Y}i9j`dfG}e21tjT3@ zIgfyzX=T;`#d8@c@`871*;A=i%OeZwknc&)5UYvqr$XLib=;F<09q%uyigWu3h)i< z%!AMBV^N+bwYd(gOX{G$tb;EYhKqF2QQV;BU+Un!=6972qIBGn4nC*jW;(c!@7Gco p?5dKk1Ay$)EZz7&>*0}l^SK`OlqG(%@7UmfG=F*E&ou*8ego%qTQmRw diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-com-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-com-l1-1-2.a deleted file mode 100644 index 8c3b0a557114c567a34e1a88dc7c35972e3a5d03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3470 zcmdT`O>fgc5FIBeDOM32K!OuSf?E^pG;tECLXlc3Rf-(wSl8LY-Eh6{K$Fy`3SD4!63uX^N8>=W0s-}x7v zI!1H7bNry&?t||8q?V@o(F;d{x( z*NbqC*iX3a<+x^y({Qkpfs5x+AQdmHpg<}l5Ny24#HbjRT6Hv;0942L`vmy+4Zx`~ zw$5UQ@XOp$sN$`71e19yEW=2g6_;TozKDaOLhYgnPB~XwIJE-9c_K9wmFJ6#h`V@o z!W3YDZNAw^x_16T*UeTtrE3%Uf5hLvbl1AB2^!%s4oKHeg*NE_X6ZV{%e{n4@{Bd}@y!}5P7&o*9ENqR!r)M@!uiezV}|5e9eAEmf3uP6(ZqJ@}IHZI91T5lgQ(`=lH z)7)rh=?IK)VW(Z+yrR1+Jh9A8frUcP^+j<=j{x`aiuk2_c_ed8p^EAH0dj@q)dGaR zIYSf$pOUJk$Wp0(EMx`$K6-~Ji|BbWiXLUf6Mhds>qMSi;i0Yo-?2@fYnB{$@;r0R z6|Zlm_@>@SDgG;d_&UX(2o+HGFBShuin~hjPBt#3_#hjXD4zD#O%)H2I>~ai{I9Bi bhTl#$SA9YsdJFIaTbBCd)ra?7tBLvt@}o9& diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-com-midlproxystub-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-com-midlproxystub-l1-1-0.a deleted file mode 100644 index a44583d61a936e39a0ad09a886c1985a3424474b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66136 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-comm-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-comm-l1-1-0.a deleted file mode 100644 index debbd8786e013d1670e64678cf53af27a45acd4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16372 zcmeI3-EZ7P5WwdyY14+5wiJ~XRpLNxRTXmBA@$`@g(9MYgjy+5%ZK`a>m*L^$bCdU zr}Tk`3L(S;LKWg~;DJAY=kkA{mYMyw*O%Bx=gNv#+O<79XM5MbogL5m-n|t>TfI*f zKWrtFd(-t?&*^&0t(L>8%(B&Toi5f;dbkJx*8t{!0a(}sSp1vk(|-X_KKm!n=YIpB zd;#?+UwXpxyl7y)OVLUv+rCeglB=`)~8yz6e0sz0C8IY11gMaDCTz{J_UE3`6k!UKni8=o;XE9rWXMyzK4A;V52nm+^Z2;hvu%zaIso$&hQW z_kw6`RqAHd+zaFVJvy;*&ZG>FsQ!L`7>@Vji9TIMg%I6~gE+Jll~icm4JNymk`xM^ z_3>z@|0sEHbT@`vXnq=n!S33MY-?J&u^&AOSvysCBt)N2Yh^}-5UKX?Cy|zlFl|wr9zWsw#o%}_jA5%hcX!KX&ZVmbE$yTt(y6Ch0(N^3akMzUI zu3I03K}3CeJBr4U@sKhqlqmI_EIDk4yL)katjy3f`{O!}=XtG`=XJUHLHl#3aU4w$ zzy}S0Gi>izqaBA&VzxiMXo2&vy&c5CbQM;!2F~;L=45h+8aySvKArH&iqxIQoq4=3 zGqLk=y_-@_dMBpqb);SkcTQ#K$$B(eOT)<$8m%QVT38H+O9OYwU2@vng8{U6`h!p? zzjz7osIe35N`a7@eMgs?OI?rD%zi^-o2_H?+1xZ8qra#R<{DHclju{{SI4mG03Fs( zM8jO8g{7V3*-57fTUgF`hFB!Bdj-hubX|*V51+tU)|mNMP4=?v(>HO4$i67(peLL~ zw$wMbhMpQJX1&}eJ-MIWoV9TVdPcH-XtXqQVEW$+5d z0qb2p4yb>rPjxbF3%_S;WH4pPIBjWc0&KF97ftvFcV_Ik%*Z1WUKblv6UTAf4j)*D z&K6yqGFYP7Vu5wU6XX`%MojjYI)PG}O*RDEv}w(5woulcp4bXr?16Dz(6dTnwpc}- z?QA_Yrs#aPP-m2_=V3KVWLwsRju7Fd_59^kI(qg@%K*+n!YgHj(RGMOfRmVc|I)F! zXN@L%4gqtPCHCh)5YBptuA(G*Hjp~3)roPz+DG@m#}WOW5;c^Miwo=+fW|wQw1tE= zP52ed3}<_q6F$?I0h&h`^IksYJI;#5{14dl!-T-x}9Fi1}W&p2d8Wt*4kL z`evygs^;=ELqdwhLnNpr8Jb(A-O2E3ncvVJkhteNGDuwwsaKK8v;oBbGhIE?)} z1~X-{|CMpwgV=wVt!J_SUACTLpS-5L?4JRAtLD)HBm-wl%vH4YZ{U4X(#&7u0#-KR zC*1m~sm6P4N>&QzEBQF@I3ftg-h%mTTif_6igSAAc{zWbIH$OVjCtX2tIYdbjBAs3 zM@VSX1PsM8-pwX!6QAk}R#6K1ALS$8li_EB{Mw_} zb`2(XPst_1L=ycFi0yv*CaeC^TvKaXZnGSAi>t8L+ncr>YHRxuK^v<%*zZcg4; zZQkn`jpn^bjOHY$&l)Oi-_LRLZrJxLLPDD+{D`HmnyTMclcG{6U(H8(9iib5aGEDm zBtmln#CI)6DMFKKvSvQ3q7?FTuesXxz4m9ceJ|p}FG%u_N`ywhtz$9lvqwu>3h%ks zTkUt&Iu@^aFS6cxT=K5JqpY-FbBRxahF_zW?3iEkJNY$&ZrxKfLvKd_V|z-YEL1k!b-jDei1v0k^1(bGfbL&1((7Kzc%t1)myV)VlL zCu8(!VJWodUV*j!o!Y;bdibWi6y|fT!q#36+4t!dzKEC8 z1pEI*bnYsz#^&;J>}G2(XG&cuV<6|+Y#q@gN~e#3A`#67sDHw-f78)swjp0oGY{)$M)~*2#@x7ijWVQe6dDbZSra6qom(&Grmkvfa?`m=JjOAXUYA4 DZWKL+ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-comm-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-comm-l1-1-1.a deleted file mode 100644 index 6173eda17c3af293b6f61a7bbd8a2880f894c0f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2654 zcmc&$!EV|>5FG<4DN5BIS}Dh^)ZT(?BQQaVA|$Sr%B7cH7K2T(VgtpFnq$vB<&)AM zYdSOQg(b#Kd$6)-XJ=<0JNDa|9lyQsH?zfM>x0;DZqM~x&l&XlLO8r+N+CKuH5X#i z0)Pg9b&10%Kr^N;+(Uf{_T`j}eY7z5=m!<~0QqShE=TBgyxL?#w}bAYWGxG32(G`)Gkdiq zuZ%U&6Czg>lqRUaApC#WbMeZv+yQky<7-zCU)RwemR6!hTz=U(=>eq z20sWF(T4B38jHsX4SX)M@qP-|({{ogm*e^xCr~*#fYa-ErXPKv`^hcf!Y5n1Nf`%rLq?~UuKQCDOml$90<%e)=94|1>7T3!wW#K4; zC&&Y4SLFfmOPubSdAF!%E@TFSb&S(Uxd||3sYDHap;Ga+Ur{~DYZm8J>QGaO^=P#i zbd8*9G7&czw^VQ`ip`TI%Q1GUCgVJ|X%N*_i|y@BC)P!0Uktynt15fd;v6x-Vca&S zXuk`@EDz&6T;@i1%P_~}CLF}w{d=0--tKIqnKfNS82O=y1bB{J@k?`4GdU(#^ zGhfnQ;D;zPv+HD&*c1*)NAm7?_IcNS`)0?_PlEX`npdKj{*pFT}@G&QtM0W^yk2$ykc(Xck;W0)vs?^+g<=)1{-y zOpcPd6oi0N@i&iV|ap4H6c*Npx0#s+uT z90yrY4&jj=xVO#oG`$A~-w7AdgfEVBEN(K?@V!jq`4q05#|gJzj_c&OSLhrR;PP=4 zf-_AW6oNxSz=nn3kPw`><#>+U9LF&{(66afjUr2XF#3#dBWbm zXg%bk5#ea88<=F_ml+8IjnxJZkPpnR$_L_?I9-}~)~I*h$PfnSTBn|J6yP(rs;R&) zbaqq}wp?{|h2tDcT{4wu_f?aQx2()(R-K9YhB~G)O{z9`o+A5ry~go@);e|e_NvL^ z^rs!9D)-4)7nW6LrJ8gR6BgqZIY#rHAZA{S^KqDswAa%Z9m3AOy?aS_H#f@|dFz#5 zsgBknl>$7*OL0v1rf2d@%T+h)3z(Ids|je;GfT7zK4nx_ox4VTS;-atMtTR8Tl72` et*&zAi0{=IpdyPSk1;>6E&8P?|Jm71uKfX{Qq$uA diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-console-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-console-l1-1-0.a deleted file mode 100644 index 513c3910d075e13f697c97b455dc160c0f8cb845..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13390 zcmeHNTW=dh6h5|dYe+=}B`S!EfkZ-3o82^7$0({C3<9b`BQ6Tc0~;saU?&?pvNt6U z2;~t8A^OG>KY{+<2tf%bBw~J7>P{%$b>ebF0=lY}{RZ zKi`|o4bw6$qr6eh=M7QBkNJGLwB|pszX$-Y1I*k2nEM-G@t(}rKLntB;{%yrv;ZhC ze3{mncq7Gpj-wZ;8myVY&Gj_sPZX&ZLU#+RHr zVA~C+Rv%wAVDEOCo>P^z?^f0ftg?A}W^3eJb2~;;%D-|v|BaucK`NWUJ5_lksd^pv z(^{+UIvw2ueZ^m*RWu*1h?(HC*4eqYTQRNRYxHIP((M6H$TIc>H;W?PahwzXo5i>A zH|xtjal9|iPY;~VgCqXn#}A#B*Nv<+R1FpU=O3JVXoc!dCG2N?StRZ4K~)|}^lz2Y zZP#rd`ri=M-6w_m;qir6Y=`b3&JUP|VOdr_Z|nw-R=-IxFo$My>Mkc(4E1H8T>Au#QUV)Mj$7>g?PPE zptph-OB%hP9Gy$yv|B*uQXuDo2jN@_u30b(MzQX?ndyam;pM?K z=>^yQ=Oq-(109L^^TIyY#Z?lNH^fMb>X-y#;K*y7w@#!);0&Gu6NGgo6Ue?~(S-`>F&{^NQQAX@W^mi;Ed`aTmoFfEbUA8{7T`JI+g$*amC01KF)=OsFqwH ziAIG$B3j+U4$(gP2FWIRo)R@wvSV4?0}$(_r07fNl!f2$s0oeZLgsNt?-B0Trnsjb zl91I$VE;GnmwIr&eYJ4UXF8nzzI@EH)(H1zGTfJpJBq*m5y3Ld-+%4n8Z5*(YabOz# z5K|Pcgbr_%=x2^|VEbxCKYaOzK|kfyA7djK>Zj4qVAPM|`Da1-SK--@ev~G&pF(2F zQuF-l2|2L7p{xS^j3L9YRiJ&gdXnZU&@rob&?=Cp*Hc!3e$wlOoK%=zAvFu7XHMeJ+S%Fs?cz?)L4>mU$|tdEV)GF3}eYvSu0(}-cQPs z9I>SDzcY!U$=xeRG*3{Q9sTkaQ)QI6D{x^8oz6_A7vS-rOkCQKaLJasCA-l9luT diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-console-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-console-l2-1-0.a deleted file mode 100644 index b855681d62d98dc871e1150fb03b8209f237966d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34426 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-console-l3-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-console-l3-1-0.a deleted file mode 100644 index 17292db496cfbf0b89e0e0aa27be0ce14f389fda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2716 zcmc&$&2G~`5FRHfDNzv|IP`*KM7d#Or>&hz5sH)pmmYcmiQC3WHpHqEm#q0Y_6bm5 zfOqMQx1!99*U2We374oNd4FaOInvy+$IXfc|;YrVDC%|G=6Kk&|i(6&8ZGF#hj zhi(1BpalR80P6#GCjiZ#^a#-x;-iuaB`#zp7owkzrT8AtqpMh;GY&d|Na7(q+MCYh zC|yWFh?yd+;Q1(>t2B`!ITpU~L?m#NnFJxGG8*qL42btK>*ujA7U@VTbsnp%*TKl~ z>`GKF!&uF~WNx~ow2DjL^MW9-?I6U4ZO}Tm9wD6oo(1rfM|+l=$sZYys~a1w?v`u@C+}J z4SffA2G966G#*;tZA~RS#{ud4Q0s%vxJ=&#-s}zBGGEN~VobPVyxAY1qY2bf<~Nz2 zCp`Kel~4IrL^v8N1}53`>-;kJu+HECGJ)C6GlBRePFH5$F!?v%%MAt>DyN>Z6TnRI z8vI7j?(4zsYK<;wEy^tAk>%;Nt#X8I-^i>cGjomVrIJiqHqV0#HKxv^w5s9>-Eg%9eehho%Qq0V0hSlQ(LjK;;nhU=erxtb=!8? zWcIe*@X)|=Py+yL)^C8yPk{Ml)$Y9jp!UF4ZE*=;aY=|BAwEWO7>N%umP4^KXiM=W zJPA%ify&Td_eC#kQPbMNi98$(r65E`T$}geP1P2%M!aL5Qvl+Eerc z;=PRb(DS>&uph+xTdNIp8um{`o*{$XF2X7UV&CFd<<2{9$Y96jO|fi%_F=2jitB@9 zm5Wx_b6wx}ZQE})N2|MQ-N6M0a4mp`JesrWvHTkIxVW>yJ*eXv1;r4yY=L`TZ$;51 zF!)ZmkS1JiB-jcLD)?Te@O%olmgosLUyN%eIHWEtzEEFmlhwOy;q0r`gfrGo;o*<5kb%wv0n_C3vUy4cgJ9;4l!R<420J{f)? ztumSFv5uH-K5mp-G~Xs-hWR)j%`A_x-_jVZ!i#-=@sjS&&Qcw5Gjo2}CmXSid=WbV z?qX9hrh9W_#+lreCu<6rm6t0BXtr~d$O}GYR8yU^Mor1&2!A8JgUTs-o`k%s9C^z3 z05p%%xLQM(68ykE?-W&dyqfx9k1GqafAyCAxH^is`Dd~J&HhrB{o9HoH;MgY2mAD| zLmQ_3tCO4g1(_gt8v-caHoc&#%FwBnq?k)Rg%zntS|Hkb7Dapt7{t3gh G+5Zfgc5FIBeDNzv!ap=)VtrlXCsQd15hsKd{Oo(FOv6};$PsjT0%wUO2oXrn-=H55A7pxrp5ITVv6sHP z=(pPFHH^#3 zEyGIXMaup1$^`qwLO#862#@r^o>_w=xd8^>2^Z3Yd+i)s!%hv?r5Bzr!|msG!flu1 zIyr6+J39rqd>rM{jFTqHrAcyW;%Znf&B$ruW%*GA)-a5udg1pKz{nVSXSqSyb^gd* zb;T#abnYr;7>&1T8Ajubc&HjwFBiot^Rv= zrr57DKaaR~8=VLI^F%ln)(i~O;LG?dv#`?O9%6yn&0>N0B~BMb|Hou&UW*O}=Q^jB z;uB!Vbyij27k2I-ZEP?nsoa;vR$^muIKXbo9vyp;w~vfE6Y>r9OG%v6tnWBkw()+6 z#g9`nCF?OYq3eb)TKBFijgk1k?@V%$8oXubo)Op9?Y4s&^mbzfnW2^({E z^@5%*FBdjE@xaQt00&8J;x}H-&&%B&LK&hQsA}{!smQ7X6 zYB^;oM)(_P4OvXl`&7t#79+d-3_$Z_mie!aEkCg?Jn)nsg*JXPmNw}`gvCA=3m#p{>lB;b%*=S=a@fiAWg{t diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-datetime-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-datetime-l1-1-2.a deleted file mode 100644 index 8f6cf0ba1fa972772dd6c034f5aeb0be6fb52d4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2718 zcmc&$O>fgc5FIBeDNzv|5aPhWNacouZCX1)6^c|oE-W|`r-Lc=k@%ZIlln*EGTW{>e=Iwfc7r5P^W81EnGJD(h zLticEw*a64V130Q0BHWEi?Myiz7;$#*cV>%ob6{L&VI$y=s0HRjDt?Vl6XLu@@7*$ z%yP~Mkrsqy;(ipByo^)M5|4SzXA#3)QVxtwcr;pL9AKY$`Qapw$~c>T%JMWSKc4p9 z`WQJ*k6G0$jD|l3gR-4zPOG@|TsH^;+YZ8T#^r(a0O)n+3;taK99rY(NIR6@Tgy%FPM8`TVt)sj*Afb!++N{fx4We908inG zc%jC9E8N$-K1G8R{#+@9PI;BWHQpQz+$>|vd2JI;+gHaebTol_%KfI`=aH~(qw|UQ zEFv76&r$;tFcdW6#89&$mjD|3PPB~Itf{Km*Uz~&4{!K53jkQPUjU__05cC|y`ck8onMx90sDnz#vPX%J3QbX+wM7> zeRjL{q03O{TI&{TyA7(LwAbZ(J&!X&bbP`xaqaL%zscGrGnv6`hEsGnFxKL>la~=- zulm7ZKX^{2Uk9GsZSK~qXw>Z-vLU+E9a|&r5V{w>n7_%r9gq9G8`O=+M5aohpLyIq zNPq(}aBSXa1eIR2%foipGz`nKbls{|Dya2E%}?)xD-Xos`d9pTkp!Nt*{>Z38?qVf5D4h7RdEyew`@Xt*# znuOym@jga47Qq+T4_f{1fs_cA!6n3j@UDyl@-O)`DeC)0K65HE1UTY2^%R=`d!m(1 z0e;{h?@W|ejtdj%tcWV#z_KbrYh2E#nQBx`3s)Q?bLn_MJXZIbBr{kaqyAmUZtC>> zaz^})r#-8pv4&z7lH4+oGu9E)&c?-2Me}VU=2JG#LbWLOu&sxfP=uX+diIE}PEHaT zu`+dP*d;x2jqDLO0j^_}ex_@6r23jn7Sq`T)SOFEfEbx6gr~?#EJ^Z0gb}MBh!C+( zdIlL$bUzicE+Yhwg`!a8OG)e+A^DE&kR#Nn<5j-rJtYcO{zn1skR)*SN$hV&K_MLl zTlfh7U=)n~WVo;>Fei%wqo$m&&6#t!UT)ctNS*V+hi}^o~dps%s0g`_iM4hXA2D(EFz>;u( VSqem3fUnrIWVs3H&&l#-`yY(}P6Pk| diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-debug-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-debug-l1-1-1.a deleted file mode 100644 index 42e2427a68c36b91e8c2b50fde6d9b794cd815d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6076 zcmeHLTWb?R6h7Isw$?j{cmY|Zf)6I{w#g=fluFeH@u7G@AH->zOq;byw(f4Lh)5rN z@KF%;N#Fb*g8xfBXJ#*x?j@;^l!6oHvS+@X$(;SZIkS7|X2Wf^7iO;O{mHDFmT4I` zs&!pAM3-9Xdey`Zkyd5^;3$B04`A{t!1Ozrk6=yt_(z#feF30+`a5ODmKb~Nao1zZ z+~+P^a$20dvU`n9o1xLR>K5zRtCRz))8kFY<%|$rkFZQ!xA^MTI_sE>ehr30bU85A z=8e{s`t~+ocAX~oyobKCxmXEr%I;70 zRNe@UG*_+t#_e>~gPfVYwJ+b@@xb>_kM$VvuPV zmSyR>RjWh{x?ebiBmyuB04GFivQYNJH)HCf{WCm_J?i4h3(xn1`e2_@F8?RCH!+t*oNVFTkQ36Ou-je^V?g! z4QUZ9gMH9}@UGMW`ImeeCv|_3|2d%y0S-A%HE9!|DN0#r@CzHGj&h@lpFxnGAys(> zrizr-pqNoJYKp3+ge%@6bLj{|JXW7IS*9^x!~RDByQ$Jg7c-(go}O6+Cws2U3vq1e ziy3vqw9|2ss%X5Mh;h?#7Iuq7Y+DR4fe9=9=btNd^$|~Eahia{8AkAo<|1AK9L6kt zOxJ2l^)pRZOhyt=<1HxwF)~UBFVQTKC5{OpMy$L~9b%32AEcV-eo8dERL41Sjc3rv z61h)UK4F=DHp@A-jrJ57^M8Iw{?Ant{C|%w7{vc)0Vk*$C;!)!dGq+cnU0GdV95VB z>9~mh=W%_*^1lellQo^mafk!0gNw8POtB6Yq(PJ#e8ZZhFFo(YB6?jJ>3dbIh`AvZ zVXEgWxkv3FO9m<8sludjDq>ZcH%}3rbX-Ca+v&JS5ohpe532|*MG-_A+FuW9RG=M! zQmlr^HE7k~GnOf8$Wwyo8kgRFuJv;a)83hL4z zN)5hZ{ZF5b#&te2hSb4)^8Mfg?vR6`!HTkrjx!p(Q0C2x27Wp&5e?p@<02i<*CRMfGO6)U1<=d20yT7*~^c=^$x&{HcI>jY6}AE diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-debug-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-debug-l1-1-2.a deleted file mode 100644 index d07ed0385d557bb47ec119f6d353ecf1158915eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2696 zcmc&$!EVz)5FIBeDNzv|5JKYOO67uZutVacQiURwa_WH#g4@=KoyMw@RIyvyTRx#T zey0-uMVYr=JDWCc;b3(Y@6OIX@7QnOc(T3c&4=SpjSuE(b2^Uexc07VnAh*T z+_t*ms6j+EBIA&UcSQ9CE+O`X_!bBASbPnVU@rD&ejt8^Q|~ks>zbz9U2=G6JYgD%Y=h{zv^I=p5?mzGF78aSkD9)h zc*PL8(kJ`6If&y2V6*@(#D+WV49ka0HGVF=$^BAXC-VchS&ZvuxE(gO*5I;r7JxO0 zEf#W|(*y?U6BIzX?Q1@%44xI2hb!T{e)NpyW=npICF8T{N$Qa*qesXC$!?kl;1`@OoBn-CpZQK^NN}ccjL1!*q3qMHLciH4 zyAG69VN@AwAgf{(Nn%so-x-gooj@w-mNC2*IZ-)W70|?nL?D@v#bjlM!x+@hRFBCGo%@X`_T|R f&5$>8PK3-)Jw4^YP@!Mk7yN&@_s>nqdDi#~NT9^~ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-delayload-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-delayload-l1-1-0.a deleted file mode 100644 index 65ddcb5f27e1df3d2003d613bcb005b020249c6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2728 zcmc&$!EVz)5FIBeDNzv|dgy_JkwD^rjUA;mggErT1;lOZ)EjKYiL2P9<$#ru#_O1-!y$b( z&2|?9JdRob&;T&L;L-^ zQ+b@sq#(p3C9L54K*s)$IPn7!yTTQY@C9x&ksw4U(YwY(Al_5*Lrng`kK)sr{Fo%; zK@U?$lM_)Dh2ZQw%j~2iwTeyGaXim6O|RE3**r8JAfW&q1K=@RTZWy<^Nj84$pq)f z4*blohHzv6&Xqk((>q{rLAZ!EeBLRrc+Aki_tFRNm*e&eKjF5kaoqy<5{;b|xFU{H zuqLU6Qm{x0Rw)H5b}iR(>>!Q_YmcH>s)znu1AH?^{FrB|z6-MK( zUWL(kBQEL&&5J{E%baat=oSp~MXIP9FBUgZcg606sX>VIChCt=9{z{Qdyc!Lat}}8 z3IB@5eXG2!$b?-qNacGCR9@iqRl}84qsI%IaD{zy-9bkaXr}saGCz;l`WKyt z{B1-y4%Q5evhZ{|&ONL&xQAL`cJo>weu>lh(7!YJJ1zMqXlf^^k5`udXIja)An__Dp)#&zwBlc)h~-SEX`V%=Pt<@|#a* zN4;&R<%M~#S?D1>#Kfy{Wp&YheZ+iUjq@d)gPMM|L$y{;#z+JR@l=C diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-delayload-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-delayload-l1-1-1.a deleted file mode 100644 index ff137d7b59c9dc859e16e9bf0a7288e5ec1569a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3604 zcmdT{!EVz)5FIBeDQOWLIP`#!D}ls;1UqfqAXQaRDpZzW^70qj&y;&!EiAuANO{r{$1VOyu45?DMWY``*rGdEM{tcQ-08>``+YuIGBr z%Qe@w9quwq+g@p?d)wZv0Kgpp>jyyT8$kKDx)urm3k4xIg?Jasek^w6K=#FE)Ry8T zIP{MKfzH5ddLj(==+fTkQ0_;4DG1Sv2`l)%Ekpk_jQq9;T|qxz;4nQ2LUbj1XE+gv zw=#~xW4T4|u#N8!zwSr9tuSo4b(}xw9f|3X@#kgx)y|t%eKqglv>)21@?=np(gn&} z8P{<<&$Df>S=URsTiLd7VbE4BfcxB*BAu#4r)o;4YUoz+ zS8InMVQZZrl=`7RmjEBFj(?CiwBL*&O<5e9mtbc6Pzu=?BX-3+j1f1AMbV;i)O2h) zW^>pz1;g3fzF`& z>F_{#m}zheTHxp^El_+Zrb9FL8THN+>R@ofbE-+7sB|t>QGj3AxQWa%%exvgW&3&UJ9 zl0%w^Im*VR>Z0-15%VP*=V3S7BP?4Qqg`0p7ni)Ho}UkWcrJqR+@G8s6z^zG;wivg zyi}~|-fWrirfG|l*#*oz%((SmD3qED!R;^wmyNsxXzm?uWsf(T`quG^OmiZol z#!;Rv?V+jwKe3#CCc4J4Y4#_(p*EarYNI}>jWZ0(RoZw@p+lqUCbh9=%sWjRVK#0; z8^_tWR2xh9eJzcl?^Twq4VcgdpL>~4|En$@>n|SaVj~Fx)&=;E<%BNM<9^P638R1J I|8**V0h4iT(f|Me diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-enclave-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-enclave-l1-1-0.a deleted file mode 100644 index 6fb51251fac76256bad29fe9bd246d4d3c649acc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5186 zcmeHL%Wl&^6uo(rmQWr=2vsbQ5oJe$oup19RaK+{QmZa1Q8oxMxb=is%}cQhrDDN? zJ(XCn*W3HI2?d(#P)?SzI^#+^~qT>>liD%y3Yg_L*Ya7g9I|)amqDV$X&vu{$68{KY}P-y3+`Zd8MJ()%~Mj^|iy z=ZMP@8f86vE3t2Vz%4ICSIPl8W(WJgb-Yq9-1fBnHgw%24w$v!es5*2;FbgE8GxIj zHIpfM{LmBa^g;vuZOKNDr9(td1N4*9uIrA0!DqrbG~iM-z~-@$$KRzUF`kcG4(x=R zOUKm$+!8kC6L3L4lCs!wi%7~Mk+LXBS!^3cqo|kcb{nA7blP0L@aGiZU8ZU62L@?Z z{YTT~&df->rY(cdcFv&$EEvChoy4v4;Fb^Bd1mKi$EK_`N9kL3^CUZwZf73NF-31Rx&> zmt-f~Jmy(ZlJaMTf3AzxBrI=<6B^-|1Y@A-wGO)bzD4j1EY)8*pv1k|W2q6bK>3op?u z_?8k$rDBzM5>bd)BmD+nQS?3~n%!5(qId?NaePa7&oEE6wP>DR4k-~NXDFHgw- za-9EP&;{f8|5|c_s`KQ3Q<--Z|NF_f82^uwaUuWj;rb@!e-@H&%Q(cP*1>&R0H&c1 z)_j8~v+x6Jmb~;yJ|xah6UKy^Fbw6k^*<)aGd0u%-9jeSLY&$#ePnRirNu#<7IxX?|;g_})Z pUXyA7Ao35#rRM)#TsNg5|4Y6>lv((SHH$2_G2)M&sef@4{sNp*VFCaE diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-enclave-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-enclave-l1-1-1.a deleted file mode 100644 index 99e1e1390bfb55766005d2aa899b0a097b8cf84a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5952 zcmeHL%}*0S6o36d5D_)O1aE7^i=lNF%eExMl%NL_4#c1&9voIWr48Gbv{f+i;N6&z z82=w`{!5<3_ukCzPTO5tjfD`IWQ z)>{=R4(m+dLQX{#xBTWu)_(dZCX@Uv|0`rZdAd`HmF6F5jif)F+7 zRmL|Bh%MP};9On#T)jcLgp<}A2O_p-qvcgJ@I}MhliLwIwyR&bmW=1FXVOPS2Cq^G zUS&YM?)iRza@+vcCxy!4(Z_DS71AP!4~}iSu4`Ft5evZ zy4+4KEU|xN|?h2@q1qLgZ4O%-vQpN4P0n1W`EEoT+r^X(GkET zxdXQRN!HIzmW{&l8lT*1OlAyJyS4YteI;R@!39_XYgbtU>6dgGCG&()?>t}|3=UXM zHCZQsY2s=4fs*n2tnv9n?RKZhvN|@Vf-ze*#=H=Dm>$njLQE|l7g`pLw~Cl{JkG^#PQZBB?%8YmVCo9HrPrI!^RyIM*M#=D*smu&vM0o&7Z&G ze+K%a=56N9W##`pW0knbY@Q%NW{A&-8 z9gj|&emI+w`; zn(?^M2hc66tTAL!D#gb@Dd_p+ajDsVSFbcW{}+SBW1WVtSc;zImXkmHoFD7$QCYt{ z5cyoOej#N2Ebi{8tOqc@;4wGoHgGwke!B5cidg?h3Ajwd7p#S`+;ZY)%(366r+)*2 C^3do2 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-0.a deleted file mode 100644 index 7ec7faea8c51f1810a91a17ebee0230e18f6d56a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7716 zcmeHML2uMX6n^VXNE)RAArMHdDx;PIh+XVt<0KNQRz(yJsT2XZAjHJUPO>JO-Dqvp zw5qBedg!4Cdg8{tr~ZZfhyD|O0O7qEdpr|+y^cg2Maf8G&%F88<9YtR_r~5^5B%X~ z_xqXqwprW-*K<8**_*d*M-1sl+xDEf_y_AV0B{AsdJi!9H^B4nO$UJLS9hs0_K>l)kPkz)$|F8x4+kC2eh&KnUck^8cuOAZ1shaj>!8m!2Sd&X zu^SSWi9R0=2g9!4@AQKHHtV^}We)QhUTT*EV_oidPI@w6YkhGCyz^*(lkY{rp#Njg z!*#V=cniVq9xk>3@r*}B!}0=SKsdbOhtVVQMmp-gGOSPiAmnN#ZP!Z{ zku&gEpVvu%N3GaTXV6i)6*|B0Zqytoa*kr9>o}h0AuE?9OKp37W~Fusi3zY&L;i`@ zWUU$T{YbP&A8c^en;k#$M?=I&8=QmYMi`EP!5@SR=z`z166^#vCh)%WBCaQK3yGa@ z)1z^V2@WL%vpKkA93|4&4I3zt21%sBb%`{3Zo_Rj%}%dJ_~us7(zNv>a}!MWp*0Gl`L8|-qxp{fQLoX_EU|xu-zIUW03&=x%&6Dym=}qA$<+yC z0lB2A*hFma9)s;m&a#TZ3EMq<5*T!`Oq@2`G1kj+P23Ge`4u6IS=KsXk`8`z4vZ~8mZBG?9}pa6d+!fXj||9Z^0mqmJM6aY`NE;FB+_j!7uk(&KfAS!Y!t-{QSf zNfq)$8pP3p|M1KTmT$b9j0z$GRLT2Ys*_epoj7hLi|iwJ#_42L<5!hBd7;f)q?1lQ zE~ArvK2GU`_N--fGC?{~@3v=K7uRAHq`JV*A*xvL54K4cYPp6GOl!r=pTA%}Jt#@+ z{C9lXKYdQ-*NOS+3(5IlzFMxqeA8Mn^XE!3-_6GS-;fdGV*Yb2R#qAFUup9e#r$qQ zE)(;I`8XBxucCU&#(WFRPmQF!v%DX=K?}f=#(n%0u8IZku+7XR7k_rG`u)Hysey}q zk9ew53Mxw|4IF3RQv>}g`q}1xseO;W+_wHFLAviDYsJyuxnMp~`Us;l(f@Pqdw`g) SQvUg1zFMxqeA8MD^FIOE-w^)* diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-1.a deleted file mode 100644 index fddd28338079ca8933ee89087e95d7cac1939385..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6292 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 D!Gj^@ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-featurestaging-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-featurestaging-l1-1-0.a deleted file mode 100644 index d16ed5bd0820c012e3eff7b784aa51936700fc2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6358 zcmeHL&1>976o0F=>%_RUlqQ4(!WPm?@ouHfM%h3J3nuL)l+a-4p)l5ZXLm*R!$@*d zdh#KsoN~yar_xi&DStr@Ifq>P?=*ey%}5$qQdTxt!H@yXjNZKYdV0V4JK~l7ZM+j-+_vFT4X^pwM^wu9*2ldbD)8ko(I(3euQ|q$~J+ zEWPM3kYVIa{KZ7f9N`FCcml_oOAulzz0sM^24Z&+9uC9(z#qyV)QTQOUL<#>-eMwu zT1NiZ-}fSaxft|tQU3e@_kWTuk1CGtbmQSq(&J~c?MN?tH}ocQ;JEQXC5;*J{UBHd zgMML`r0qu;=_&3nyx~la*hFcs(sme4f@#!QCT?2hpN?(2u8aP82OXEw-sXeGXXuXr z{RVm>*VY@INd6viy*z7yz1JCekyoz5Ed#LMbcSKLLJf{c&!+)z^kUsLtgPX>%*5j< zy<4%I^e&X^-H!FPv9eX57q=sL+VilD;As^U%wriY8iO2YmI9{~|;U4;m; zFWEFr=82=$oWlq!$KFmQp%j45fH+z3FIHktP@#0ajUV<|k?=I>* zE7o(dnbS7r1FfS)ShU`}|CZjKKTl<7EvOs-u}9Jx$b(gUsccX0X3exeEu)!dA27L^ zxdt>M*m^Vz_A>ZaQ9MgS2%L`9i!t!GSU(%EO>|c$zs7%gpW0a z!NgmPr<+yrguz-8r+vbc_PYd66q!`TQxhsi{Oomvzw?PF8`n)K#nVs;IJe*}mZG95 z2B-U7svAw+ifHQga%eijgJ=~y{i087D(YmXp)v1=*vVv1LodfpC2W_V=`!xGDw-_F z{NM6FF*z8W>E{(W*JuNnQsnfNfO8A}#!}?Bz4|JkZag?u@sQq9J!mL)`GkiXr@})c ziwC~bA-6ftc(_U%z?9-4F%3#Bz-!B6cu20YR0x*AO4?S>m17cX*%i@nGtUlB@dRGQ z4!;_wbe-%lHs&=>{oKFHL9t$r9sVfROFlVyLsfPFD88%2AlLnX>$*SqAJ?3EIRF3v diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-featurestaging-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-featurestaging-l1-1-1.a deleted file mode 100644 index b8f32c9bfa1c4295041b579bb1e909e81de40caf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2750 zcmc&$&2G~`5FRHfDNzv|dO)0v1Q%2ryK0?Os!*g#aOr^qa6)XHW)oZat87MA>OwOWrt+#fu`G z%-**5JNewUdo2KH09apfI0b0_p-YGpAwH)vNySH*$wZvY2U2{GXW@A)&>07vKuqF3 zUCKM3$+LMP1tF#>VFk~JGR!U#nP%ZAo{hxB7xW7S?lqMlL?pw(+M|K^AhY-RlY9x2 zIGkl&Kfvhm^jws$!C;)pe&)_Kw^f|_o)-jxZ3jobI)q;9)Ov)p0(2~Zr)+ImZYF>K66Irub#vws7ed40A@xs9SG}o2Z%IoiH_+V!yFWY_Z;>`|G{q zuj)O(vv|h;rSZ^u-&d5vE*hlw=SnAZ)@6Fvcylyxi~KRywM{r}-yC<)(FE%0P0(b1 zp0ITvwMYD#L^w894h*yCVm8h_tT%Xoj9_;2j39oA(`7T?IQcWLdK-H&?z2Zuy00OSk|9HU7@-dmE#t9M*AHjCMm}SxXg|8*Hswh!oj|}eoeE>%cYO3 zmG1yn9>pT10zAem=a}ZEW%5kn>Z?@-%$m$K1(focC5nP~8Fg0WuTf~eE=@K^%43AeTLGR{c+Zb1F2Mls90(LW0JjUkHUJ*;)|63={gart#}_8pjcU`2z3~t} zQV08@x*J8;z~Gc{0Zq8Dtgt0)l<>Xu#OD*Z6(uL!^myE=!YyE9CIhF&kx*7AvXD>~ z5y}#TvO>plEW6qaLj+b^LFmf|eqRE7GFsk&5=gnOKU%Ihv?jrH-4(`RG`$taVKkkQ z9*PE)=_K{a^)-bF@T(Z^MraH>6A&!C_TRFdVFxqfDOYZ8{XxqC%8 zCe9dW#qFc+fsk;X!7W$<*RHSx(l6A$y zM5_zic*6StG>?$HloF~6@CD1^6H(?dDd(da#SzZ;#e2Tf&IqbzpS%7w-wVWdb=>8w z`2YE?J~wr0PYLtAnk0O8Cggif-04hn;NN2;$#wpHOAv|k=_dXAj<)Vq{=Jcn8}aY^ z*|@~NlOF04L-r$5wtqK>?{s}b&|UWJ;!ddhc2j;gRRuW3l6fgc5FIBeDNzxqLWrY5<%W$@HBKv4D5wYti35jnW$V-qwwjO1HiAPB`~uXU z)C+%$GH<+2)=f-%iMq*t%|7qgZ{K+Q;xI^0kCdgMARa(-gCD@)V@Gf>PV?CS(Ik#bCgG^I+}%%`jJe7^F*;R@%Mc-PKK!3I-5qP zvoumbOfq1V%ty%(+l;#kzd-RGlZcdxqaa+H7g8Uy<2Yp(?>@l)z+;ce zVeZaK4(qtLIc+An(c@ zX4x$;`UPBq4R`iREFUVh_`b{{`xUreX$Nkz9@j5%EDqXQfh*Vf;GIe4@WDGcc&9jc zXWVu8=Z51k1Km+Fj`Rh8uZg}{qu{JGXuHWD+%<3b1kB{FQHL>jYt~^5&cH*{LR&4G zSK(`em;QqhuAqpf^|HE&o|U@;(;z(f+9Rza`i}3e@BYEEzI{G}C-Mxf`_}iarjnlW z0Q!Ee^?@^9rSB4N_6BYqFXnnV2Cf|6?6=s^CbWqBw(#>vMt4zpEU!U^a}mYRD38BS z&kBp^jP4;4gxw+%z%Mvm6!Q&J-1Aaw2)I-^dPFBtC~eU+=noIpo&eUCTXY61;wtk{ zB)D$N8+~ur$Qx}TTGJcqVfq>{D1=Z9&(d Q-`p;Ly3~ErtUI>;0UwXOVE_OC diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-fibers-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-fibers-l2-1-0.a deleted file mode 100644 index 0ec0998b4bfa37484f1499b2e6524d67a0199300..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5946 zcmeHL%}*0S6o1_o!HQoI6Am6$gT@$IcWc>#A*M-*Ck`ZHV!RB6ZtcppC2a+~aWuvQ zXa5>5{!gC7_ukCzPCu4b<3fl`Iv;)W+j%>0esA9FJY21Ib{em;&&~d1FWHXmSSyZY zn)t({m!?^Cmem7WSpb*?Fy;X=KLKVoWWKQmK>1ct=DSY-D9>4xg{TPew(EAfV#DpZ z9Z_l5TyfyFs(YS5q30|+!uPf*D`~ss?zB6uAVjlESi%46-Zl;67lbV=Q585w(*+?K zZnc(}77%X^yxvY@v;CUXmy4*-Ywn3*@tW)71P4$9!b-=j1{k{#3^gdNv|Iabr?=Ta zbZtm+T(6Sz3v9OK!(}VfA;%o-h1%zXkG*_5q(vMbY|C;S$26VNQpkt()HS38fRzHc z&8?|azULnHxE)`ZU~T1V)m}9o!aZfMPV(E`?id&x5zeCl7m$N8Ww6TNd+CYClenco zPPmzPTq(dUU}JU!F6c+H=9=9ck~K$U&DEK#Ilqvzb5_3Q`v}a}J>OLi{5l2rkg8XA z1A&t3_9J!a0i6WXZD+(`G`pqaFq+NC4(Sw?{YlxC?KOp6XJFV?#E5k2QU4(7Uobjh z44{c8zB^=z-;F=ucWGsq-wv+99iBtxqWN7=ri3|c5WnXYKWL3d@jJllwT27*Meh&V zgbUh(H3kBhrf|TXKh5^J$+AgU-r%iUj>(LHdav=RwJRmeGq?axVCzaxAp4R{qonUJ z@|}l#gTVpIsV46PsBtL^1Abs5@t~DhJXBGa{iCGR zI#dvo_0=ZH4CY1b-%$Lf%1kb9g!??LS`n4K*YrXZU;5(4GGc0@aiL$)c&mtMjmA0H z&58Dxvcf14R_4j+WBPY|9LdmH(03+bmXRJ}CBSve(!TUxZ|OEBRq5eK0(!jVxB-gg zY$4KuPiZk!`KlI4`h0`uNADngiJqrK+NE#Y=l=jSj+87a2~`Gs!*ckn6>|hj_$WxR zggO6WQqC8yIFIWmX&s)?LeAg9zDYTs2JI-#%pgCwoSeUh?@cM<{8K65(ts~m3vIg5 zN5`Nr*-xL4?}bVEUcBNvuHC=jy8+r)A&yCV<7MSLouw#6e19edTpI8dYoSfI9RF#2 zUOT)!8RJWKbUPB9YL0OE$DL~4Ns2I2&hu2Wt?51MRO64v4V`NCN8`dB9Sp6|Gyj3&dBpseNkTo@PZb-eIB`H6 zQJ;XP=o$6GYf)y#YiHBgZ9y^>Q+anh`|VD4_8ZUk(S|?WA8axd(VI#?mM_Wq zi=(b&l^k3;j+C)Rk%g48h%#0}8EfcTj^#9i;Shn%emInB!ml%c zw?^MTNDa!a$B*1q&-o;n9=l2rMvGgu2&2V};!riHofj2Xj@J?nU4Y?O5hJR`=7DnJ`AJx3eF@4+ANyS={1Zx7Gl4)39M-TZb{DB&(D#P9oxA9Tif{7&(Dui>(M z(Z^GraH)R2UqM41sHM!Wb9`>Gb`_Qn_ydY?6lM(coj?iZ8`< zCi)j9`OOQt!QhnT)Khi>1l%S~1%9GZdg&;wDyiDXc@^0xPLf=g){XU!RyXP#j3eYO zm2hIRe%fSN#^))HZ!3ONXO>qtvhO^d+8R20t@(vneVMBp9mE9rxGb+|y$!^S^Kl*y zv(WdYt1!xhoq2lpgx-#iXEwa=z}yXhSw?<{l>j&KN#aZIx~9jNTvZn<3F!5f>jo&6 zbA-qX&eCeA%2lnB%;g5}kA6dvOEjN^yeGMFkKX}koy5{q7V0YS4cnXxPtirFF|9APz3x3&^<~L>3Pi6oB diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-ansi-l1-1-0.a deleted file mode 100644 index 81cbf56a6ec1b4d97b47e42d4b601552f392d886..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9564 zcmeI2PmkL~6u@7S{Zm$pKvh+>fK-DP2@nbPHtS8LRh3nvz@qnZhWGRCS%7i4O73f+tf6ji{w(%S~?1Ndb|Mu*8pk*fVD$_*M1jy^A7;ZZ~P<{kj$ckYUOs|`T;y+@Q8yT{m8#7JnV|)Y4Xkc&o*e=E{M_=t?RY`Q zy0A~I{kE}<-P*%5rj&eYg%3UFd}tkY!@(gwV{qX4qK2;Ub~C=ckZMLret;ZdQcXQ3 z-GAntyWx>%yP>j)iMrV0eecvh={g!xXHn%UY; z__|+NL&N}@6(otDtyUT#8ik+d7aHh~8@+DW%~#=)Ht5eA$3ZYf4W5#oO$}}}W8D=z zS;6O$6K_xG?Zow@cO_qMH`ezCAI`&ILFB-_>UbR@fxEov1iM^j{5ZnISsP0-=? zBCn`b-XCowx{6yTohsm`8GU;GUsUq)!30b)b^?U+4CDou3u)^MOmzP9*L#&<_Xa?h{eN zJq=z03*5Sb1+p*MG)?k%Mm%$d4z3*gIUR{lB%PO{sKVcPQbwFF0j>?AE6_2u1Y*-- z$gX}zqHCR-D^Im`&#N3(pWPRLt3aa zQ0pahQG0u+7sI z%p6PoPGZJU>t&d^Q0pbkTt`1B%FJ4pnSFAnMUEVA(*Q7~oU}v*FRSn?9LNyYTiOmC>lXlh#J-A zD7LZ4QRG&{MoLRNs-Z&_e#4TYh-&DCHjc}jS=}zk#d1B)-?6|W*-K8im}Na)gR%X8 z?lrIYdVFliQmjx)N{kHKO9IHX$2>a|8K&(>UBfntMusXUK>oFBu_HpE9Vzm2dB|xf zP)bT9z$i$-a&APRjFXbYfLZ2770CI47TbU2=SDe0Zx{LTy3DzeUXTkTyJlGaR*|l> oXNe4eT=Yl&ov_$E+~i*jdB-UUteo^;uw>&ymL^AP(fnh>|7!SV5&!@I diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-ansi-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-ansi-l2-1-0.a deleted file mode 100644 index 1a28c1143d75f5da0f946be647d54b5ae340803e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6032 zcmeHLU2oGc6uoUXHpcjp2ATvyK^hW5Ye`C%wP->`1D=L7fe?rnFKe?kEN!MF?Bi{J z0N68#2mT4~{3qaE+iBb-*#c5KO`0X!$@Os@-<;!X=kAi_w>nRz9%_ThSTIb()Ej19 z({$dXmYP;;)MSUXDFB!TC{_W+X8|U6M84DmpnT;(FA ztYcg4VGacBmA&m+E&Bz&!_#K9hGRP2ZI(2@^maJttrK=ueQ(pZg8)0|QHSjIW#6_! z`}KZz-E*DRiqqSA+BB+BzpPeaf9CjhEA;&R=X=RciNi?P#Y zIj+qj&0s|=pOp-uubjqm2_L8wTwgT<0C_{WG&|WaP{0H)N&gevKbQGc9-epjx{h#6 zoHMWyc0TsDgoQH=PC*OYyFv@(U-D_3)OAL@b3z>)9PylL(kCjNm!c@bFT5Bp$j zl!1AQ)D`HMYC>Ws#*jusQP%`_$sRJ8wjRW1^_!Dr67xK^uS%9vr428J^w)g)b`;y* zE8{{OYX)LS9Wm{6Twh)Eyd}i+(s3p>^F*smQ(~kEEA8hWzN8)=#y0d8sCyQ{H5!Mw z32+g!@Gsq~SE`R`s8TYbfEs&w`~b;y?jafldnxf$DprXo0}A2uqjwOBqW+X9_>%chYfv-s5p2H}6Z3y2s{BI;;G@gY%~p^Z$u3@UjR$ux6>#&UN${r6Q_%6`}64 z#QJouh`GKZZsHejO4YU7NymzK9J>K$_8sq7%CvJFsYj^> zBc~dSeY0TZE`{mep`eaz9o>U0TGhGgT=|E$G(B|V=O z%*JA3uXKJ!h_!G9zjfZo0HFN!!+vL319T#%6l>stFz~VnpRmTi&pCd5j^Ok?^%t$c B>oWiV diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l1-1-0.a deleted file mode 100644 index 3e154d8318e9be69ad0bafbde8ca19f250b536d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63546 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 ZefeWDaua{I};SoiGJ{{Z$;xi0_! diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l1-2-0.a deleted file mode 100644 index 09521783072d57a18f4a5db8fde1de1ed3e3fc2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5256 zcmeHL&rcIU6n?ucf)!B`4jw$L2_7`I?yhA^6JnZ>U}DhpfRK0@7CN;nZI^VH$kBN6 z;DIB5f@k9&fd7<7@x7V-F{NEvObWp;$^6(i-_Gp5{l0lK`)I}O?Y3SPo*VtiTCyC= zF{>5JFig>c%}i|6Rjz&6!ODRw6hBX%e3P}li&+9!`4A}Pg(@a;0kmg zyeoA;{w1HLNnKmyGY=?3fMbqRP1*$55v442_=SxL2d@c5#VGO$O$8>V7gAWGqD5t? ztY~UlIN}@fmbMebV)aXtWd<`vlSagCs*K4+i)3}DFIL9My2`weMwPy3v5c6*;kZOo zG~Nngz6{4X*e%i`mbC~InXocWP9M|N(NSt6P9{5vjGc*O9nDQF1-Ok_`kb!Smg;w! zJ~tRwK#jbl2gJyjA-qPjB$hNn#2Dd;KCOs%re~1aqWdY)>{2UF#5Dk|0n)M&S*X(C z2bSaQxGu0co9I@OB9KsvJ+4}CgOx;}8?{7y`zN*Nsamr3(t>5zRV_~=ZKP`1j4V{? z@Ds~aEm#B_fd~ZsrHe$7qRfn%wk~Wgp%|1k54&TiizSEbH@)&-W jr`^;jzR%$p!2dhGKCGU=BKkwSJ-?y_~+4Ken?XB`tbG$gKj_bJg zhPz>!Hh1Z@Y1V8veqg^001E)dFM!eyG|{H()#N?Ik8%)r{l09z^SXz!?o@GVztb0&Lte^gr`PEZWEjdOjkN2Z$i4b{@^E&4 zYR~qRC#fHr$9}63S-oUsvsToxZP&%cbZM!%?3Z5~H*iq_o)`ejY|R-~BtJ)NXICcJ z`&QG7yle>f)WJTp8eupE244v0(}0g^3AThr3ExXEJf6a>CVs*#WaHKnoQcL_3NGnK z`c*n%1?g8I`c;U2mB6V~D~{C+0BB%>3i00&s-to1T8yFELz*EXC9X1llo zclcvUSIz8d64SeA5VP;a?4T7+V|IeqTMaiwOl1}7Y+mb3}b;96A$_=!f& zDJZAh7Uxf;snEt!WnoRr7HiMcdB8L&Tg-DHz9MhwFhDHUSDHL{AmD8BA?7wUW`5aX zxVzJe)o`+wHZP2_%2>8oM@&B*H`El3w~3gObexObTpnOuk1??e8}sb^G2NY>j(o(Z ztn-Cp8_h}V1h|QpiZ$KqmL6}Kwm6wjK+m|O1H`CY!O@~whMrMoNH83MF^%xI(mNTBf;HMa-|ED(>To z&#DRoQqR77iaWT+pz$xN0)LCRj8w4|d#EYEH>^ear%yTds~?Iye}qPQu&?!i>!ddL d^na9Dvc%u$0n+ubtyuFv>S31O;CxSIe*h70?+gF{ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l1-2-2.a deleted file mode 100644 index 41c50e019d03656c80e34d11dc8de0cd7a25e83a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10068 zcmeHNTW=dh6h5|dBMJglr35NfTPeICYG0Hh}+ga~!yaDXW!V}G9&pF=NnfbmmXJ>QwzBfGYJXrtSiYI5s zaUIv*b*q+TbCp?IR&A#)e{i}E0Ji{2UjVG!1bC+-@4t=k89NjoYp+xEq#|=k6ce;+Gd%T{#<#CYZq`*#&gNt!-tygpDP9E;I4_3A-I7 zC%d(5yPC4Iu(6S1r}RkEa&J^dnwE*C`lB}de6UPg*!_JHTb0OgbQ8Imt zc;*B%xUs@G)x=Ez3>tJQ!k^fl@>V^i7(m7uoKqtk)2<-aq}`%sZyTIi<#X{9;+BFf zLb18hBw52uyUCHnHdWU2b_?y@X~nj&vu8%X5bY|l-J*^*opd|RDZ1Z%v>B$`xv1ue zu-1?^QiPTD`pqYF_3Bk5!)O#@krl>a0%g<}p^_|!kCf=zY?<>+-IbF22$(x9;U8_p z9>HgcdeM?-M^H9=mH#c>G@J~hD14n3zD2Gf4R zv0u-NeGHd)I$eKUSYThG=^tT#EslMPYB^@+75g70u&-SQ$NsMg?8gK7m?zMxX}$z% z^w)Btzbf9eEh|F*C6a%V=YJ}_Ayu>V{AWhLS9$(!x}9D=LL_qzyJ@ zO85M$kopch*9^ELM;v+o2Wk?qF2WyJveaScIvSYGPT=O_g1d{yPh&g5OI-U&TsSZ= zG)pd=82w(wg;u&vlC zN=Rqo`*-r;y=E^WA6h{Hdwn*g@lNZW7w^jo@9O-oIp3Ji75PYX>mg4%vYm~$-_DEv zq_-<@;PG4||6_^s2>IF}pr#1FnaI~ep7=R!HlDwl7ypa6hnD%j zhv4L9_ON>qP$m aWB;&%_nl`3#DN3iT>df2do%u+UE90PVO_17k!Hqz^X&1={C@Afv3>QX z5mfui^lfJH-x~bJnT~#&SB$ujM)lL6`y=4Gc1t@v|3m*Vn_)X-M9{?yn_p8Vk zzXzav>1UBwzr)KgU;b0%D}Mt}zWSHQYySXHe)V_CjBPUZ$-s68Y}@v1mu>c2Hv7`) zSw{{-p<`A})^Qq?eQCdEH~X&5NTWL-UB=J%osP{q2Gg0wEQWXJ+Q3-bwpvr_1K5sz z)UlfOJJ|DX-Kb!9PWOn##XI;AZ#%Bt^!o0}X4~o=*n{2r4I{cBt$oM-@W}2_2X)Ivpyl@QZe0(bW>osF?a>3g*W2&AUCVR&y|+&8 zSiM%qzI`k`)kL*T*S0+Sqmyo<-*K8-PVZ3eHLX?1?^tdt`HJBdp&ick@W4_UH~U8? zG(b|07I9P>oEy?i4auO@ZQ2d5+z&XH#x-5jOcQBlnzfK?TZILr8^HAfvWg$g7s{S} z?D6CDLIrKF+_F3?U4^&QL3>ng3{TBfw8BZq4)o<((hHd)w+F|h z7aWh)D=1h5Dv9%pe14wcM_Dl5<}MD^F>$=WzSsVucPJzrW$*-ez-L$RfaaIxG)l5< z5zicB23HO+PBn28putN~DDW>HOxd|lDQfT|6Tzv0rfIsyi8aw%)G89E7WqURBW@{7 zBNWRkO_C+dOJsUpkkM?7qmJ+o ze1@o(P!f5AK!=Zdh!=c(^bCSWbUh{NUGU-(KL;Sb3(0j~LX`p-if0d0ry4GEFG7gd zYMBtfVTiqns*)EG>u`z#pM?0&d=yZXC*m7YzvB?!N!E)Y{(iDvh5C5d$ELJXWDw@#D!`mE||4A7tXE!TF8ZGajok1*U9y_9%7GXB!A2Z-&6iN6z_(Z;2ZG^B+x1c5G+&fNmVYA?+RrV&SVRHn za7P}Z{VbM$5rX$QyYl;?nMQpk%bz&xOs~aqvixQyE|@jrJnlz2q;cUamVY7S0>10x z_HlMCKkcn4MV9|{A>gF~53ptd2ZrB+#-#b!{`E|F->Ag#{s0$$Qq;fadw;6(jQT&9 z`W+Ybd&zpSsQ>F^z0mfnIKHfr&OD5JDL>nh&o!I}N)i6Ign*X{{DCzaH+(4;nyi)& zLn_%AB7LJf-xtTDqnB{yvod53623d(^|QPuc$qUmX2zSogenDo!jdHnTmG<>_Ngu( z9^A;r11ap5h{|b5%kQut3kmg7dwxSXAK%;*ro<_QnMW{$_bf z_Quk1$Nct_)4QOI-+-%et55sNNmhSLiWKsUcs`Z-9T)NJCF{i^o|L_I81c}b6j>u4 l2=Q*rw56vgk5XjmUl9UcD)0@~_*bR)#Vz&cwdwv#@jr8G_#*%S diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l2-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l2-1-1.a deleted file mode 100644 index 6e9102c94569dd27df999147d3a7cc9fb68041f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2654 zcmc&$O>fgc5FIBeDNzv|KX^bI>Qv@j!zqJ#OCnYp6~f?xARsAS8bV6h-O=_ zh3Geks77R+@^na4Pw+^2CgtZeTBPzkT1E?bHVY&9J)Q>hSh6wpkA0cM13Z~^HjRd} zMI?ckq`*qG9>qx{lcx0eFOYn~BqAxtQ4sFP2gy(KX!@SrzPtJm_L?nr7fd9LgGz7W3O&1mj7K3b2MIHDtq=&927EN2;AE|p#`1i5`D43SL) z;%bk#{(@0FAseceU|Agb>A+NI$a2T^)j(#C|0A;V|0H|48hCFvhD^sMt${0U8wKFJLo#X|6{r9A&5U&y$C*p-nWh@4>p%fpZX?PL|bVflp z5aZ~8F72I7<>4%rf)JC0u!8T8qOlZXUwFb7p}-X;5`-AZa9B|c5QA8TsoV|Y;a)U7 ze%AMVj2KN$a90I0gW1XF=lGCsOq}V1p`3h4+p|2`Wm)!IHwXgT4uW2uoeXEAu~C4_=8+oCByo@$4pGA)YB*!x@f^QB9FL(*4h{Zw0r1W`3Xd~~_M5q* zQ1wgk2xjK3R)#ThRxiUC`Jx=uEz*mkbIQ3|!>KDUoF`&K-Lg?HOSU>;YH*0U;yP>* zvqyix>`u>HVs?OU;0|x5@voWfXF0ux1~Ge6vxDAn5wkPAIU2aUQq1|xCR}D;9yid@ z1kzOVP0r6PwywkR5q~5Rj>3F_qjdCPdaOLmGWZ8|z}Z!GK>4Md&c*z;sApcP3WzY`$sotm8%9 zKNIN0YG z59#jobne5`3|#8)I7uv{Sj0+zn|P@l)4ge#d8TmnVLWr};p`-{k&lBkon)-!H~3asPcWF6TaVkiN#Csim0v0QpJwzvevEJIS2$kCcOT R4Zh=u|BtLVv{&0heglv%F~0x+ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l2-1-3.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l2-1-3.a deleted file mode 100644 index fed64c7d8548e50d81dc1b2369d7709a7b2aaa46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2710 zcmc&$&2G~`5FRHfDNzv|I3P}o1UGE#q;(RhLJ@%*2ZTUekhV^;sjcQuwkrxJgm{2H z0*_K&j50I!CYvTsdWkxccgM3|cARg&@%Y(s5ck8^wO3-OUka4pA!`)@`FlMEW6WzlHa09FpDGxBfsU#QPiU=k4`75 zKaG_n#5f_W?jAwkGT2UC|3P+8h`JG!Q@mW?=HS{ z8a`%@#xuDI0fX~1)k~eJ=Cp`Q&vkv@7sB`3b1vUo_mED2mlnW7_Vz3%RTnAy#e)F% z#2Ex>Pz>Rf4!BoNFG;q*;3wfC+VJ_I#^NDE1)s|_-Y>%)={Vu`i*Zej6X+bQ!Rd7r zf;~=b6oO4cut^B^sBU|9!x@Z5;7}k3|GNe_wT8i&4&-r@J4#i)k&j>|Z>1uP!CAQo zWAH^Blr0*UE$5WE+QX#{80Lx8P__h)tEP7+ObPlp?zrk|tnBdi%5Jv36=nN)0+0C5 zRPI{Yb{Im;rfGPr{}V0N=QAbyF{g_-Y`?3q_8gTY$kG*fK?^mxpM68uGH$IW0z zT_*2jSxqG_85h>JZqcl_jGC%45x-Hl)P_mL=1EgzA1~@AUvq8KBzD&==5Kd8u|rHY zH1fitt1NYk7Gh@War2s@{f-gyV?EBtWwxg{c5+M}!bx0Rzo5Iz%SDX5f=-Vsq&CV) z>IArtSH?Bno1V!xr7f@a6EHh2)d6C%UcqcpmU(2+88n6&SgH~Juk;LAP0{bkD0@~T cf^N~M_Or+vzR!jd{6S~aC(QPboZZ&ke|bd9$N&HU diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-firmware-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-firmware-l1-1-0.a deleted file mode 100644 index 6eba74957483d7da5b6cc522fab837aa9355119e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5500 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-heap-obsolete-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-heap-obsolete-l1-1-0.a deleted file mode 100644 index 4583e29c4a0252a7bc6d95e5e5501be080366759..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8336 zcmeHMOK;Oa5S}c1fH@LZ}D{IP`!(aNx3a6Sqn0#8n*x>Zx~x zCfh7XZrVK8t+e69DB) zA4Q(q2bkMu>^@`9d}rHdkDZRQ&F*`3hrMdH?X4z5VbfZ)nA=>XETvxCsd?KDBSgz5 zEaTS=$KGPzs_(ft5OYmtGK1L+hiW;%7>sD3pP}f)T%b6ocJ%Ggwz)9Yk$`m`! z>ke-ZE_5(figmkV4~FobB{04fSAG8g80-?RNdwN80&ET&IeacP@$m$%9LNbbGZDcf>EryF5!!7P1lh({`w8Do>{Xu1A&yQ zdZcNyU2_vm)uA>Bqv$U?2&3qZ^pVX_8BbEbTyIm@H3Y+TM$E`&uEz(FSHb9n(STHv zme(P+H%4IlqEQXKY`}I4-^3}tlH9*$`+`&`oWlmO{i0+Ez3F~z5AbTO;6m$B`-3*& zf_8U3i-KvOlKj9l*Uxd@O2YL9-w_awiSq{5I*pg@O(EfIgMVNTT)V;^NWY}hD5?HN zJadnQaB#qNs>wzH8$E-tD!QK%%`U9uG{44(Hk8au2~`@r!7?7n^$G6Mi7_L- zTS@tjK|N0tLy0%>8kc?$-ycg3P?aX%Unuhq<9oe7u7~gK{yi z+gNiRKjL_bIDb`2sM6pqmV)zLF+Df=NS4Z%RmA#oGS*j&UN1jk{d~xJiYb$_ehS2A zocJmoZ`M<6MJZza4I$vA2Jf+E>T(Bvgs1KAOUamTRVV(QUZ!yS;kSCo{89XUPBNcP zT4+p)7REKkN#ySZ^M@TQrOo==$yi@8%9AK(2bZR=OF70jld*mh;}2*3 zC_XuUFa0XxE58F!eDx0*m;M2u_~y$LZF|GEZ}gpB-`;UNr)O_; z>W=-H+pcw88!KI_V%bf1kD_1OX*>I!o@0|nt53SNICk53ezUWG9=rqlHrA8xySuUf`--B#CD3AUn}-8t?zuC=}1U3pd|IBTQ| z7k0Yr^sv!U8cep;-tRdrr_FA6n3UDO-^809=;cr`6I{Eq->9_@opbb= zPa`2aXVV$gx0sZjwb5yHYdt5pm8w}%JQ0=B@M~D*YRMRX6<=+u?Rsvl>E3h12wz9j zjciFRg!-XZ-}8!{fcIgXn}%UomabcsvOh8GE^g=M5OsiZ4&W(Kn#~nG=Z+`J!xJ5h z-D17w)rPAGNfnHT#l3!ij2hf0J(n(cr5xzaU||ODiwAK%skai;litE`z12YP4J@2h z=mm0|R0^$r0VkCLO)3R9;Y5B}JSF`Grv2putAWEJ_`>+y^DN5R!eM}u3KW;2ru zJ8z`7^NO*OuyYHa!+FtxG2T_100Rr`EGjEW*>6 zR(&163N!uTqa`|e@F1$AF&kJzqL6Hk+9DeTID=7+F&*;~A7^SVpY$!jy|C~k;M=?y zC29rFVxH9}m-&_$DWZ>b50Wf8p8~ZmNqJ5j1JHG3jp5f&rolIus#eECm(5wM<0Ar$ zwR8k5uO$8l!`Eo$rmqH$XcHjcnOiO~*!QIpI0(<7_(4bKGPzZkC>7kF`6> zb2Qa@3D0p`trxO^uOCx;j(N^T_*QGOxggI;A>smG!iGVE@3G9e2)nIhA}-CA2P-8H zNnbJLA@UU`;bD&R5WTOR=vCB9zU@am;D?AXXz&A;IS)~{l|T%Lvn66B9TCfB!b40~ zPZ1F>;1f@~x0vNb1h4n;O9UCvB=55ELz)N?6<7Tl$~5>9Q%(izx^iPND9@IQayl+b zNiL?IBI4o#KJ&C(%&52!mNU6;o?gWJrw}nwkrg7<;5*D!OpF9V2(zVOIVBC#eFQyN zxt$2VB0knWBF||EzY$NihdAjzBJ8$u*%X&%%R?z059Q=O;%hXHar^3Bwja%MUwwMzuKArG`-Nb4Om&cndp9*DU~UOBx+9l#KIiR-dLq#FE!IrkC+-B175 zkc_`um?OV diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-interlocked-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-interlocked-l1-2-0.a deleted file mode 100644 index 147347f5b8391f4d17ff85bf2fba4935d7f9c239..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2776 zcmc&$&2G~`5FRHfDNzv|IB-HnfZ%|Q9VJdGRVY%01X2%?5a*2(JJ^X6SFx-1ggA2S zi*Vry`UboaWoEoiHcd=&NxG7EXJ^0t@weZ2{Nlu&4T2A~_xf_No3>*+)^W?xb&H48 zTG#8xbvdC|1Aq#E7GTo_sQ#u$h*KfHCjKlDT|f0_;xzVraT!kC^H88OblQ%H!ahCH z8&CZ~Jo5!1CJA8$_rod9kK)1D_e5liy0C;RaG{A0LIl3+?RF~=pBD${UL?U;n518* z`gql`9XvxgITss1;9ZWqerm=!&qe&&mgP9exzldU`90GfAjJR;4d5|b2b!7sS1H@Y zl@3c7nO+nDn8Psg<)pv20N=EsJI)=_uX0FRmhbFKFqOYj z5k}#zT!c}0BQDAs)yqY4%bXqH(0?$@7pbDGy;)vF_VU#UQ-TrJ`-w=_d9c0C+g5W$ z=MLV(6Mm1%ee1j~>4c|fkj|e;jnF->(|L|pTLm|d8+AOl376Y<+aq*Tfol2!RGFVg zY;B|TfWMXq$HJFgRB_wG^QMA=g<| zfV$D`tCBx z{L4@GM;UIU>dYps9T%Kdykr?U1M!&gzO}*>ug^#S_ ze*qdL{n5UpSAd83WPDR!wN%b&>+))z0W~9YRspGhW{h^hSxT0bQLN;drKsWer88tv kM)RrA?pf5lcwDh4qHNoUML^_7aP=e-8xcDgXcg diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-io-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-io-l1-1-0.a deleted file mode 100644 index cb1ba6ef63552b3c0fae03b73e10419d8a1cbaf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7746 zcmeHMU60#D6uohF*=4nSr~Dlnz zy|?uFWFDKAX&G;~n!0X?TWYE6)^S5V(AxumrvbFT0k;1H*!?HW`_BMSeyS1XOCJJI ze)i)qA7GpE3pXh<)@AI5&!;{+;Q^nruGi=68)s}!9EL{6YFo^8PAN;PH|A&Flrut% ze8Mtu?Rd;JnaK=hGkku;fw3XC`zsj%*oo%{*Jpgj`(1A|ae3f)SQ71*H-20t|QP_vTU=N?1^Qmi3CcOVC_h)XPOd{{@d;Huv<5#_| zHx8zr+c|1Pqh;OcPPrWjbmXlQZ>kQn1kkm|XWYH&p-IgiJt zVOW-hJhoafkFQl8Ln;HjSwY5%)^?>H@QXmS^9vn}UcGMzc0NSh>40&se(L)LFt|fF zhdMlLM%XQEY~k-xljtwR9Y=P;?dIcJ5l+X(eg-bOkD{uL{2Gd?Mxv@YUd=UYX3ePg zT^B+1f#Y%s{`Wq>t;)c@9T}uu^&JgWT^NsGs^7FcjN-Fu9!BvO`Jh^%az06)3SVvG zttA-YCt^dj^3r@K@+#_`FdEocu5<<46TBXl=XI-{=Cy_X$Aucx*2CsC#)L3ofDpVs zkldj6o5gDhpQ{vHtdlu_ydYebooxG-d?>;T!Z8W9z#tgT#v>8pzq@w!fLtBHest&9svJei9V zZNvoGxL8lr-(|#npN+Hdwn(%}b|glcu+s0{f1R%G-c4+zl>9vt;fQTCF0m8fam=B= z=~`{2l$DMqpvGGfJ3z8sc#KA=MwTQlL>A$NIgN<<(r*YgMbA^BiH90_OS&f!NBHHe>q+GJ5vfuXIlh#uDOKx?90O(CWszf&jY~z2 zZ?kc+I$p&2btDFxGG#}Ot$cNCv@%|mvrd%pe&h(OHTVt7d}WmWykCndj>@UR#Dk@U z{nQ;~L6ItMDr{P(Do&Mgm#MhcWY? z$G2OS`4z}MGA9CUvI1VF31CWMKu27Mg$BQ3gJn-$2?NUjtNU9h`Gz)1=>h-VO6`X( zaCIz-1SiT0y3R=Og);84NYKy5r6R#N8yD;0NqpC3^#G9kCq!J?WDQURq?BmjjnE)U S4Sv9yCDYCMTWpo*wEqD-t{n~l diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-io-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-io-l1-1-1.a deleted file mode 100644 index 475dabda2e2a9df7f46200d48a65ba6bf15585e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4294 zcmeHKL2uJA6n<$tI;u@@Kxh&Y3J7krB;A&F(lk|?5Slaz1Ojn$v(}^8(xz(CZCub! zoOj^FkKi95?N@N-!0%wZXFILCCT%%%(~-6* z9c#ncFilHz>9uLDI%PGWUI2ha0OLDA?h8Qvr@RZl0O(%+O*doPjJ*qaFJ!NI#CvQz zXmWP!b=Mu>JuSSFsmfcZ9~%Vjve&4IBNcbjur0oY3( zy*lDO-|cpJ^9>LCe)Qs`R<>|euia%6`nTOqgZpnkbsDW+&Q1tC0UZtk*BdE0R`CNhjTmXDD_T9tSq5OL6XsPU_^$4cNEt7`PVwO$AXz`*L zWDTlEi;Ag;)dF@+z=${z8?wg3(Mi-(JUd}B;9@;j{T7JVt$*Nkr8>@Q2jhQNynpVx zd0kdvgnMWZuU8Z|Xn&J<9pm*@!wqzz_s2HjV*7HtgpNE=O^VNp_$&)+7KXRP#}(mN z1Y2M~YV|vZ(jzzq*PsFsU8w?!FU53N^e>Bi=P_LfaLjOONtpn3QOha=KhT(KTA53> zQu$EmDYUSZrKqOmiHcp-@v1p)#`?%AyD#3t+LoSXd z2HjL8JivFSGE_oUIz*j;uh_DLpFQ>9e-#?AX48OE8P5h0ehj8%gI)E7q~~jQo}h0nWhIqrHnf7jR#B}(QAX~v9xv!I}5&L(ymt~IU{@OXMR0It_;b! zw#R9D2aJ9I7h%JfhXs}olv?~|GpvmY|Q+N!lC>+cL>$I6%R0-w?-XCzxwP1LN|9he4-h!0V%iTh)oaUf94D_U&MConMA(SxoXfaHnw~3Z>OKAmeoN; zr4A%7tGhZy-*L5yYD*fvbJn8WB8T;JhG&-_bdnD$voV<4>lCY-9p`n(!9HnmY28su zonpY4uo}0jDC~F4n4}u#@v@YC)xzFXwSQx_T34MvdXu$U diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-job-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-job-l2-1-0.a deleted file mode 100644 index 9df1ae4bca8864ca45a6be015664280520d3708c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6890 zcmeHM%Z}4X6uoh}r+XTPmk^B*5@y8gNU+l#CrD@%XbEW$5+HiSED(j$sSraFw`}*! zfM&sBG&=+mAHaeiV8I@i^93we@g=~$<+5FAKiVu36sb$9hi{#7rLNDZTXxP~vc0Xr zuPYby$z(Q7%e0J(t){LUqDw7xz1eEZ0ryt`;1GcJAHd>0faNz~KJXTR@}d93eDo6l z<>Md2y!ruP^#fxYjQ#F&&u2Gzz&*C%_Bi{?8Qa?qL!)E0EjDzzl%>@j^DWooj1VKA zuuNP(bP?5HCNr4L@CG9ej19Qmo6Z!#Hn}&#c>;dT?cV4<r>#1IHaF!%Qn0SA@8=!@b9u;~Pdaz8G_3n6ndZSVqT&$JM3XN!FItbJ_Qu z2jiQbyTyHf(@mBZd!zsXz0ppu8`Ry1g?a2V4a2f5UAL@+eb*~LAOQi+R{#!+)?%d| z@V^7m&M$N@?$>*EVCO?bPX~PJb`Mt%(?Q6ovzP!hFaqh{8OdT%%csP~;Am*CG|03KBO_M^xk?W*r+ zs_L%!2&Vc?%fl!>tL9-8e~}NW6)Go_^r`UGB6byEgrA5F)ykR4o5-u^?u5~xi{*6p zAHnNEd0w~L7vo(u;l5%28uyw-8Dt}-tq5oID$v=KAR#>I-F`&~lJpV>GIyG1&I zWk+J92`l~mmtW}W#f!v-r#ncWc&MLvM)MIb0e-|B`kAiPmg;MovYL(~phj8|H9+!Q zc#3AhQA+fbYE|OMggV4J={JOGqVbey_D~(C#5Jugvc#?tmX}!O9OjA+dec02DjHZX zr-4Q*rGbCZ1$$}WuH*$(v(!LenYTy-+u6932A*W&;s;F}D64@5$T^`4w#=^%bo~94 z5*=I#4WiWG71k_g>78<~FEi4_S~*RurQ^cBCeFp0IE~M{tR||E`_?(vvEgT_fJ75l zrG+XDUSr8}m)PL z!)IPr7aB}{RtZ@%zcFH!7Jw+2oRoKQYaS`DRJxucb~&`^--w0=<)# zWqt*Ae@3`@<|1GB> ffV?l=^Q{40cu3v-Gu{yLmY!HZDnYgWDjXwizC diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-job-l2-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-job-l2-1-1.a deleted file mode 100644 index 28001702d2c94fd0a650b417e8e16ad0411a7b0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4532 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 PhF5`D*R8;pmbUmm@f-U- diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-1.a deleted file mode 100644 index fa8f4ca0bf3ec87218b59f0f41488cb0aa07d778..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13926 zcmeHO&2Jnv6n~kdO`EoSsiLKPXiHlpL^tdtn@xhEYD-G^P+LV%T7(dj$;N4h%pZCnSUr0uCGyLV&neocIs;PdHNEvpr*P#BiemY!BBwmn@JB~~T?;2D6iUjW9x1vqqA#D|bZ z@zE&}kG=#z@mN#D6UzV;pMF=w$_)UDr#=_)x!(aOKL3Y^Xa54ASUWD_^a8;2g5xYY z&f5_SBWIb#EOZuwHRjy(I_{R|Akk~gH5}htr6{REhqZ!`IV91JNY>%MH(A(W{`8dN zv+Hha$MJ24{#*wuYcp`14d$-h|K`BC%0h2_2h+$4I=|*2baBX+2j8YgzKb_DwfrS9Z3T8h8VPlYDkQjze#CJ7&?9 z(CtKSD`soDX7m+X@;Ym~m1NNmBCYkFBE-DRZW$EKo=Wtlw+wNy+fm;t@`Yfn72k>{ zgLJ{lTdC|?t$!OAow0AvcrIN$xBI+&JccSzqi_Mq=` zHkxc6l)g7`E*{~18GF$Bj^2O>M=>LPKQ8rz=Gvt1QoJkEW0$G|lQ*5i%s&ZeMneS-&p2tK+35j4IurYh(wj(Fz`M!0aI z?UWNr0optji3NY+LwVlN{r9+}gEv7)i)yu+JuTqY&$7%;&1gs)=fiUwwV51Z(rtbI ziE;qrS>(SXHJ-A{{j)5oC7^k%V`HmYyPzykmt`T#=$qwIq)~kfD09Os*FZK8k7L@D zGLnQ@N=_|lNjAESWxBjG$H8nY!wKbqyW^P$P>OUVT zY6VMa)>fievo&3);r*m{5GbSa6sUE9nkV^h0IEk&<|KtO3%((YVg z!Y+sjJ8LCAMg{3-C9Vi1;<{9(m3Uukx0jXJFw14EL}->vF+qMxQ_7^OkYgnd5hl9M zB?cQ0v>s4Ucu3u2q+0MLri6#CE~~QwBd2s6)QaLj-C%p^6)dxjI#0SpQW=>maN3%3EnchzC2nV;EWm zWfk_~9UYK((C$zM8VgSl5HKh#q|PN$E%*vki3P38yX?Z^ZdU0?m@SBe>Fhq?(*l;^ zJwbKA4kd5AQmpLd z9BPcPqJPK4wdj9-4z;VxYU^!cl#YU;ch@u7bEu)kP##qUHMyw87!@eU`9g27Eyfuf z2MWrox+n-dwct0*$zm+w2V(#E1I5zswQEK1wd+~`YPkPUXxYpD!-Cw8Owj`wT-$L{ z;zA+if}~Jp!H<|axm{OQq_;@v_N3@7cRg!Qh6wq02pQoBF@9-1&}2?%W(TuX9_I)FjpO5-Q7@`~ze7a~A*r diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-2.a deleted file mode 100644 index 3684462ca91026cb95e7dfa2e809a63f4a6b9992..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8550 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-4.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-4.a deleted file mode 100644 index 5bd0df1ae5aa842b98428e4426f03df8d645f46f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2748 zcmc&$!EVz)5FIBeDNzv!ap=)VaH2MLnmDOcp-4R-5J(*0!hx-uY-%fxUD>Vxi36X| zJHNpP^e^}u%FOQC*(5fFL(^5fJ3ITls|14za485VpqVR++ z+ei&s@ zlD~?l$*AjK@Nj;{s#aifJ`Qs`DT%FP)O8%s^Gwq_=$4GWG43F#07C=dzOc3oJLg|= zVb^yiILG$H&;5FcSQ&wHX`f`-H8A*2xR5q{(krld)X>7`(wo>%;`)W3aNG5`L4n&t zW2XXFtfL&Pd1j#;ERus&$ib3wup-xTt)4xJA^>|DMqJ(a`wHOHnEJEAq5L|J6t=k% zn_xPJjXI3RU$YLQaYuYK4eFPh;#cstg-d_I2+l|uP2<_}CTdpfPM8M7*l#WmN$xvv?r>OY64v-c^*sBQ!|wyGkc?)>V2h@cO9X%KXvS3!89-y*looqYc#4 zo1iWDxhJfDQF|cXkqE~olmpW|IFD!2BlHHhkP(7inGwVCp>`T6 zO9AGhmt6yXp|QE@aPt*N6}%2*TINub>2_UZ8Mu8d)7pZbZ>VM}+@x*&{K>P8*B-9F zSBj^>yt&F!RsuT59tQiQ#f3!$TBMoQKPzJ;Z*bFv^94d3p7e zW)~L=A6YA30q7y^Q7qCbz+Jo~$28Y1oo5QyT(2{rS7lLEKxtpFL{acAt`o}cz$4C^?6hO;j^)f>-+(KZP=0k diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-5.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-5.a deleted file mode 100644 index f92da9abbd56599cbb8cd832669e12acf5ed2e59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3614 zcmdT{O>fgc5FIBeDQOWLP*rikNN}PKc9S@%RG~;M;=%!`MO+YDH`&xyousl|`XLS+ zIHTT?xbrXiFZe5*C^PG|vq_w!9GZ$zyt|%#yKB$B=h-~jbb^-qvh+e9HmhdYmThj- zOD%^7_4<$ccEfiqGJ6kJvQ8YaVU;{R>}B#aWj{3MJL zJBmkMqjK0}d_~+AuxkoN#Eh7c*PahgBJYyf36p~!mh;mv@!kCgzBjDO7~gH&iwELe z3b)Pobs184hz;WVs^kgnbr#isd#dv(zhfMQKG5p0CJeO8&%cb^pn;h}RnSe~^r)O24_xl4b(h z$0{z?QPzb)1{%sNlo^k*ajDX1zD>lOXX9+_7WN3sro>1WR{G`DGrGID82Ip{1QSjW z2qF&Bn#5UvyLiR1rhB!e#+#PSkLMduv$M!9AT=POMXTT_CF4pZEBR(fIpSUE8Dgc; zcrsc&R?cH_4?y$8o~HCrm4lyHPCFaTJUq?ogf~!!c};a#wJ~*k#=y){$F5`yRr6HG zM`hh<>Tt7hW9kU9aj81!``nZmY)Z>k2f*k_`2SYLs(jmlD$-*C_T=C@mTdHur~WON ITRtlN1$~clzyJUM diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-6.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-6.a deleted file mode 100644 index b6a285639c767b5ca58b10141e9413552ba62117..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2788 zcmc&$L66cv6n+I(Rh&15{c{+7ee!9{d6O zKl~GW@IUx(T;H3S!mv=#1MDQ7dGqG$y!M;#_4V1Q7xzZ5E3eGu=A1aLS8C+v);JZ9af&)FA$;!S;qPTy_0EbuSr zQr>97dr{08A;N^POw7kTp75YvV*wv}y{{~An8RG=G2ATVz}Sd;{oRKH_Lisby-Pow zg=cZp<4F?5-DoyRI}LmYKb*2n2~E41kBi zIxwm!zf6Ul-aSNmS-wBhqchQ*_Y5e=3zAMh>xN{{c=NIX#+-ZM#?A}FPAq_vut<56kvk= z{_>LaKKc*6x19Ql-d#M4N8(*dcdhrDq7)vZL3)3pbV6snPVX6BA2r-OfAsatCR}FU z9*@vb2I}ccP!{|=5Z1q_eI&k_2*)Or1A}xln~bGL=nd{5BLurLBZyz(bkX!Lj(p~o z91-A5?KD!B0)(QMT>*ZhvA=4u`--FrV1+U*v8l;)+g4ec^|qF2WkJsmR5KNF(zbs7 zxaNwWa=@seEAT(@+-DQt1I-hf`6MRfs{1A;Azf_G^Z xS7owRZ%ag2 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-largeinteger-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-largeinteger-l1-1-0.a deleted file mode 100644 index 27329df3908ec1b1fe5ed3c3bd10e532b44c5243..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2682 zcmc&$!EVz)5FIBeDNzv|df;dzkT}%FjuJOW6^bawAaQ}~#%(r4j^g?0_+8_TyKG@QjKU~*+wQn-poZ+$b(`&$ zd7$4Qq8gF&p1T90`V}rAj)nM~$$2I|$z0CG@oXT)w`3Y$B!YuU)QLozoZvFi*;Jm+ z=28GL$$%B=K8@!inM`vz;%U-Qgdz~J;F%_pgc!?su;H~xe7sCQBwxE>lNU@T7s3kA zK*m|_&lUuhF&73w6h*EZb=nK&dd?#zkErDkJyqV0}~hb&{w^H(XuSlm_1Fcxp%qUxYs zHp8vrY=?*bf>C@y6;%g}ty(cVFcmuIc1yX|fYQhRq4Z90xT5rkcjB4)sMXC6XpGj*2n4~WH_7B4Gr`0 zWQYP6T1Sr@B|1~BZYuPPoh_As4c8b`&s2_O z0Zb>_{ndm^in4yA=hPK3IqMij8LGB-9+6$X4tTt0w2sc*Ts2vo{@6iOxi8kbbX#?n zs!4}2{q?v-j$ytd#+v@Ka@MLVOF5#x4ey|H3eUr^y3P^(C!up+M_d4m RRp=*s)*sBuFU@u`>JR$oz*YbN diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-0.a deleted file mode 100644 index eef9876c6569ee3b3cf938816482559aba42992d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26160 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 Nu_8+}=ooe|@Gsb#AO!#b diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-1.a deleted file mode 100644 index 1e80258dfad0334b0ffd289b9bf61a530d7686c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4340 zcmeHK!EVz)5FIBeDN!ppAjHu~Z~)cDPFp9HDwL`cryeRKREf*htzBZ(Nh&)P&5che z2X1@=-_U>HUpOJk%ve#4(>^1;k9>DklQ2UHxMP7~X0CX*Wqf3ZQA>O26l8Wtc7$#zK5QO4= z)c21ffy&5hdm@hZ=u+B2KinTAp&&#rC9L3kL?nJPiU)px>%^{T3Rn07m+FNeL^t$< z>ox{r3$1U-7uo5opxLN*Bqp>PYNHgz+E-COcpavL<77YF>A1~owFx~0qfu{Y5Aw~* zcd1p}CD(C0&ofPLP41d$?l!iJJGfB*Z3EyQOLK-j3{QqEPwz}{cJ06)`qLpi(*ftq z-b>S8z~BSnB3kgtN`|eWP{a4q8?PsEtC^l~^V4yy47Y^BLJ2OLM@m_})Iv&GL@BF4 zDJyoZrsdi}924F?h~iK^_~RVlopInFW(uX({YYl37i<$u_aTNzIY#qebs9$V9r>eb zP+x4yzwEa;oVo`Kq`)84*t8l%`c^2W= zm^W}R>>l?IrH0uCHxLi(T^SGLU-Id=>G?*!^F)L&IO95v6r%v@vskXcR~%#!^jMiI6OuroG;WRhOHXVggDjdwS^QUxodOFq-$Fvi| zj^rHKA&vsv#Y_5^?sZA`F`24PRu|A~G1n4MoM#V_6?{souPSo2>Qaal{yusK8Cmo^ zHL@-vg`$octs^zh`CfJv_=v*90jd1hG@CQrnECE4^J$kPY0FP%f1CM+&isx4i}{!Q z3e1}M&Q+PedYkhnBjk^AK0x8Wj&tR|n)4r0+Q2r>`L{lU3s< D6b;oT diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-2.a deleted file mode 100644 index 4d3d079bf4ff8f80239decf80246b4d1d16be231..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2752 zcmc&$&2G~`5FRHfDNzv|5JKW&Bsd_|#x|{!NEM1yaX|9suNeX!_Tdc z&^O=}c!a(K??agx?rad->R{6m)zheCYH!ZZ^f!aPjHVKNNGk7yd4L;{_W-|8{c=!thZZ!!(h;bMU*BuPRo9S%wG0c)# zdKA9Lz}e@X>tpn2av~}gVHjkiL2f6C+bT|7$MJpNH2v;^(|5)lq!plJ0NiJ5%dqqC zXU=wYXM)qWhd~}xLwKbJ&bd9vvTI;)O1OwNe72{sc-YXu=h7SRSK#)QpK#mNxVFOW zqOr3Ar`Ayr)+Dn~5Eco-Dha}hUCXmPdl<)rw?|PN${YV(0DLn>!Lf2kzs@6ttzU{w zFrC9%6-MK)UWL)PBR=W|_2nk{W!|=M=?V;UM#`ugFUp(9ncAH&H6Thhm5HqO@y*rV zak}!A({CxY`*;!$_@6XxTkW1C6ds~MYJV(MLMOdS?Fz4t8g8CF`ns|Sr|iq)4mz4Z zJ-r8-%+EcxZld)uzaT7amp{+(JGuyG1?_zr^XH>F=B3nU^wz!Ak2i zQjP-1zr}V9{^Gc)`mpW_B+Ffkvn+F{ajIQcQ`+7uEz6qB%qc3FiZY;FxOX8<~4xMa1VnGw79USJ*ApLH8Ea|n`asAcYv7ht8qRqb9;n+PhzAC2lM>m zInB<_7Cy3;zXHfh+M{@+Re-yA6+F{iw{)&4WPQ2HfL@cirhwEwGeuGGF0IbW4A!bl sDP#D5(lZnpM)y;r=tagn;W+^9Q+PVkLqiRIV_)%obLGd+hVriUA4+@OivR!s diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l2-1-0.a deleted file mode 100644 index 91f3c84969362716556960d400fb326adf0905de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3640 zcmdT{&rcIU6n@(liv^s=TyEi?{0ep6{;J z>$dHRF0;1n<<*87(5e8y9RTYWKB`T^?@AZ8aNuaDFF* zyxY#I{lP(vJ0Z_?ec!ije@&j4ZMQ0$79J3mh6Qk6STj~N<6kpjkFRWSTh%bgg7Fa1 z(**alx}ByIU~o*hh$dWE(by6iC44Wli1{RLRr?7yJ04fpxFs~^b8xyJY2|cN2WjOH zt(*~BIdRSL9JdR+-9)r3XF&uF{5a`7@b5t>DdWW01C;p^h|8;`~%w??%Lpcq}lG{Njwlc zDcv^PYbv1d5DjAcW5p6W={&Y;yxAJKfqKk-Z4*x07u$Jsl!0pc4wOZF?g{HUT6SI8WKxH)FI%2-%<9zHE(?4f3w zO4&Bny-F!@KJJoIKIh{GN_m9)Ybp$ys^lvLAm>VqBmQTFJW)FyDx{%YnHR^ MNq-Zjl%Xnr0ft|E#Q*>R diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-ansi-l1-1-0.a deleted file mode 100644 index 26ce43343b35e75d928668a285a6818487214f23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17052 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𝔖1vJnGhWdq6Wm6jDFLVBfF5$_f7@QP)8 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 F_&*u(7^?sP diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-l1-2-1.a deleted file mode 100644 index 83379f201b242d9ce1d9ea597ee18b7125f10067..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2746 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 L&}K+vyt?9FGVV{~ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-2.a deleted file mode 100644 index d5eff90e1d0b6c9b5dcb314a2d61431e0ca824e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11358 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-4.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-4.a deleted file mode 100644 index 13f8dac0703cf360de1752f9f3211a1999280365..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2754 zcmc&$&2G~`5FRHfDNzv|df;eK;e?GHB~B_;C{no~6$A&kZrs`-rv9mHN6-u6$gvN= zGw=+(@LH6a@jBTwaZ?UfNAm1?_Ve!g+iyI6a^R*X(^s9B`m))5+p!&Me=yW_i-%ON z>)jy^u#Gza&;rmrY+eJjf6*nxp%5Q4Kh4B@Klf8{n0UVU8pQ5dATSs>Lq~+cFx#3&h!kc)K zq>-BkNj&QIa0fwjCN|^1%i>vXCUc6bxV0_IaU5ND2K_m=N7_B47r@d09&&F>Gjso2 z&i!hqgEcliH+QQcJTe07(mc+x4KVmYxPT_y>y=nMbZFteRO9&yT)&JHZo3*cC~1S`E(Ya77^AN+(9NVyG14tzr^Xn)Gti2=at-GaH(=?DLVl? z_JwP}AMDg#AZn{Uvchp*WfobHT$}2~pohgn*5o6t&1C#U?NWgzC99`Rk!`$Q;P_bT zn;N~ox-tLG)2a1vu`kNHu&6Ifbz_K_d_8WSS2W)NV!p4(IXKLwqaR635h1T%UOl7s z;)49bZmj>TI$D=h3UD8Ge)c6Q%X&hxvNx`rCj0n or9Bk6MbDGb>P4v8Q}t2aC0lcmQX3- zcj?0GNn9hb6K;Jzu9@IAQQ64ACF4jLD~c_oj75~OBxS77u^g*W?S>%&t35nLHQ~<{ zz-Oc99VG^3*W*X-ir0J+Opje*9!85>aUMpC8O5P!P&+Lut{ks599n?kSP>(N#?$FV z)LXJTVG2MS&pk&g%zDwJ>^72@|p#Sc2;EPf|=z1MJQ zzUbqLPPjzB-fy6x4AfHQmpMLnSX+hVeg1(W9EBMJy>b6!a3n3vGq{0F;ONRsp!iZu zC!+shXXuTc8jIwbq z4zm#7+6tpg*qN7C&*<&^d}71<4qPw)l4<0NmPpJ+Y_d6)U|h~EKd9cf9!$CjViX5V-gT!wPKoN--Y z{@bhZ-@(fh%Ryz&kSB76Ay~%$kBSr2{Y(CLG{1}ZA7u-6>}8fF5O@C99C)mDJjsEUvQSrmU)YM-Z7;px=Ur+30{hTSsQ>@~ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-ansi-l1-1-0.a deleted file mode 100644 index 5856a2d3b5e844b23feb20f81fb2ba2b81cd1922..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4514 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 BWB>pF diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-l1-2-2.a deleted file mode 100644 index fbb9ae5789f2722db81b6fd66f74a6b6a973c83e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2704 zcmc&$O>fgc5FIBeDNzv!A;Hl|AaTIPcGFFeDikT#3iSZu#@1~%wN>Xsu@OCR;3rh# z5B1J}qRfof?wZ&X4oxTWe#}1aZr;Ax@$>y~brQYny|Jt2@A<+P-dnM2+a3>@rELeI zuU|Oo0YC@9I>0Ib=w8qx;L-`VW;4J%3H*0#D%)|BKFD zs~m5v+@4@XDu1RGLZ@7(at*Ik2Cj^n3P5)VSLY|+4nAEjDgL|6&jW7#i_Rmy5fP5Y znt^E+eVL!-9#$IMK`b!4c`OjW#Obw}_e{R$wdi1Qp>wJ!J~7g{%!?NM#KtCa!EI(5 zozi*~U8zTwhuBRyWZ(^q=;|^h-%!Dnlu6I#nUiN5pVv74L93i9`}T53dFRvFQEvNe ztP9t7ZPWpvSe`-oZ9;{*<~J;rjRG1`TdeR;)K>IHtQm{v{dG(vi#wMd@; z_wmU&roP!Sd8Xys>sbZN{L486wBDH|S_R)Sa;lD6Bdb)Rg#RP$A&)A0pNv+|qvR>~ a0cf7w<7p37E%1^>;Zg%s4S@TiwqTSZ{y7r$ z?92rFu+;P-FB>9SYG7ZK>R~tq24{rxX~3ryg)LyEfZwGjFERKFRmnUfL5`Blhw6(VHkf#;tIvZPC72p8I8Avn3Hszi_IdfU|y3LX~M$1 zxO_%$=jTHku`Km0BG^as5nBOn;}iRt-u0U9Ynn1Y9%(?2%Ob9TWWVqf&4RtOSSvNG zMVb-Ki2tN-h&4w2Dbeh)W}b+502(K@Y)K0hIrxTo_8Du+5o}IJL=k(0CY;$c@p5>k zR+{*VE}5o@1IZIA=BbI6Ht!@&4AOC9nmA3zC7O7I|2L~949GY|3-;g+gXO=d3lqPa z(oh%Mu|ecH_>LvZ`1RUsSB$xz>PT)ti8>zR%Fn6}km^XeM~dC{ iUscDd)WT35yV62M4t`)R)sgb+!^``mEA+h1Zhrw5yBNj* diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namespace-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namespace-l1-1-0.a deleted file mode 100644 index 37c928673475c77f269413a38d2368bb4ab728fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7052 zcmeHLTZ`91HPPB*RGDmaz=Q@pK@?_x{A2`2vN$+jT|Y_bF@XbRy5Dp%jD|M}!sp zJn_adnt5kZ1decoEj)qKj3o#$lHOpIia>lmlat$_f8UGcXUTiq>2*=JKc0!=?h_f{ zvTsfAO$J{0;6z4ep+AeKVXu=6EkhiK5*23kI_+e18AA1CbsO(p3ONp@QAT;X=ECle z27@m?Ir(y$)tnA4#lRpM_WN;bns{xIw>q}%y6C8Gw>|gPPirrr!vb__=$G8uthHkK zL(J{s!UFrWHSl7u7{Wb0u%EX2QM3dGj|k_}g!`QYyMc`jd@nQcdOC^aH5}{rwE!yV}sZn+UYrv>~Z% zT+mA}(|+|LjA6S*5yr3^*`iUSaxrP!vduQJs|3ULBClxF-dmhRKP9shrVb-4*YV$C zFCSI+@~-V%6VR%;LX~=%~@miCvCzd?Ths; z3bues;{O)g=Ou1c@$(VK6og}9pMhaKx;MG2BZ&-j=6ANeT2iDg?VwkDO0Y-9m526G$%?elCY(t@Lm zxT=|JM3x1n@H*)o6tieNCDN{#@-{!y+7ii;mQYoPU$89R2QJwru6_q=@S#(U4+mL3 zJVtXYDwRn1NqRIez}>g(Af=X1s}WRAoj33Qn*%2mN>d*UTtbdav5? zeyz-CS7gRvW)F20Gxq;e%&2Q-WN%UKTxw=qLsnBtW5$URa9M}nuok8FQfe<%4q5q) zps}BFs&V7$e8FG%LUfsP3os9?DST(xO<&^u&eQ*W8P+|)89|% z9LvrZr^RNX}Z6yK*4=`Qn5>RtY8nDOFc UEm14`9V=11{FEF^Fsok z7!GFp}JqerU zS@9xkLp-3@!of3~D-CC(vx=+lx>k47v3D@E(lnXw=awH#kz7Wa3mWbHL%-UIsFTGR zUDFK1P*r0w;E<|rjlC#cLD~Q;lmKq>-f*evTL(VxXJ1s%wyF)&H?tw!QwQy&y6t%b zU~oh@n+BYk4Y5Pm8N&CH3m-4Q&4qTtjb`KKL)J)dle*fg$P~gA#|ms zSM-WjZM0g1ukP9{OFa1J6kxBkYwm{zVVC1b)0X?@CYT&UB?}|PubhREVn^{Pm+0DC zM0|PNhS7BfhR2MUQ7%319YoxPqZ38}3Q18r39-HT4{Tr17NZ?9WV?aC#4Wy(p^IjF zO#~DsutRL06fB`%I*siiUT!5^q#oHH_6ZmE`&&#MFhU80?*k(|KG(S|57(P~mk-9| zyn$W6`PSJFESzm{0eaxk4fH_qrI^M=-fx0;PAG(fL#|Ux8U+x`;(Y~vV_Q^yJMRoC z()Adr%+s*U22vZ8Q|7ffNo6BEG6%?HI+PHv<=>txqgbcWzb4pDje34LCCUNx8_wcn zucdh*&OJRjg>qse9T%yL##=&+la4dc%?s@|b%7BkY}Av}M|5|LXSKKtLC-0MbB^XA zjsjf88pN0G<(?d4nyQ@4E+FS(o=ZS*o=1pg!KbABDwHc_mma0?_0c;7%A)6~(CmRy z?(%y)kw%uPuu!AG7rdq%&aw_|#hfBz_Rr*Gzdn;-|3?hMAogzvMo?2E``<|Op2hxV zIxfL}HyszT{|>G%FZ;_7owS2fFy{&GA=q9<1x(_5Q;8K2rF^t1@D;DDZ^_bELaL{b zZ>d-XwVW!bB~@^Q%owDCR}y=QRKd11?^!BnrQ;GRc$bcgR6u)SUKJ>i{HVmokuR55 z3HNCMSYjnC1O|Rp;5)V~x$OGD5AC9}f}U3o^NFnRUk_7}9%yIGtA`S#{atdo_3%Kj zKh^{Obr%%{eqf)aEn7+t+3tdKgqBkidh$Er|4Av<1bwCE)dWEQ-+`A~5BCK3V?9JE U7Cj1lBR%vlS<*tfs~8>p1;Bv`@c;k- diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-path-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-path-l1-1-0.a deleted file mode 100644 index d5ec99bc4af7c8ef15b6a0d75b838e30f6e66078..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20152 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 KhN&_SHv9+h0jnSY diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-privateprofile-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-privateprofile-l1-1-0.a deleted file mode 100644 index c315b803d3e6a3cf0211c88ac266d3a4622cb818..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13910 zcmeHN&2QsG6n}BrZ8zKHODlG@e8|fdB+w?z<~pYJt0nLPaF_Jh$E*SIPeefKk!$uyf-tpC-qG1R;{b38EIzhd2c-SoA;ad z-i&YDZVk3NcS>)Xqsd;j9ow;1otkM{j3k$)Y1_3b@3Bz=fR_Pg{sfr&1>n+iJU{go z0Oe;ldA{;J0OhMc@O=F-0Ogl{=h-{}pnUT$o?rVLfb#4A@?4$=plrRt^HKv~so}bJ zUH9XmHyFBWUf>PfyZyH3e&P38d%lZ}zEgMHuD?lHwDx=6R)65R#IZXhUYFhP4g80# zz}p-2xBaf?c5T;oEw|<3vvxgj-Hz94pZaLvt`GdcTjTGt#^2>$Fz|c#*BiEjui@|R zxoJ$=XEd`sgEOg~;cW$ezlZedxEGPR-t~e*A5pc!zG~Xx)@DQBgVUrQd}x$Z^nw~< zqFMeZ4KZ$hzZa;-hzKLR>SrS_Coo>7dxu3;8xfU`MbjUJlh&WJB>P8Vj1+D>PlC$j zpzj^gRXtHEV|y|>v>)uWH-kz)T)A{BmTg&%h(8?$}{`Umneqp<{6E=u; zS&lSp@zB`BCd<&!@ksJ3>UbpCkvxh8Do2x$FO%CWlE&~bnUQ7`3ut5%DSSHd7_f_F zZuY0d^u3c^-|Kc#-yNKbXV`bmoVC7JL-Ah03)1&%LQiO}Rr((C%eBN8;YX&2*TffI zAFda$VGgLIm0*s^=Q6v>qU{~#93VR;ra7=3bRP6}cni}vI0Hm5>2gGnd`YHpl2;u5 z&Iyb#=1|+ICX@ou8W1J}{=v)K+@e$Wyo8^}aW=Fp%U)t&OS3C0wYp?i=9qZCLtQ4f zm^53SeQH4$7H%PZL+CqI=IPm$$PUmf)^M=TrEwv)KO=U9>|&tii*QEIyNx{GsQDZu zvxK1mGz5=m!pb~&@+#dudK9+-Tn3fb$-Q6VBQ2zHNoxTvV&?Lud-+P1ISpM*S{#t= zGqW!sP{1TcqhK$|<_auJ7H0%I?0e}QIM%2?B^sS$=O()cpy%+G_e2X-24EO;GR}Wa zfeN!n3@6noPH^tHimUy(lg7z{9w$w%P3ILSa_pd8O9WFs0ey@UI~z`x`A&;zQk*ii zCt?jgmOZ(o#EICSV5{!r;$)G4jw!Y$AMgfN8t@0!%6%evdq%&TG{TiPQmkx9v6G(H z*SHL)d0rp!rJAkSd3s)-N#l<5ygF*Wgy%I-^F>G@&%YsfV%1Q4UL{~VF>LEoY&SA5 zWm3JZ>*9lBbVOo7iUB`i=_WpT%vR$%r{#5+3M4cha$Nl|BGdY#S`z zz)Ayt#9Fcq{0v)xgP4#v29~E7z&T2@32D*7Q7|w&ih+r@2S>+%+7=)N&d3hbvSFZ> z+-3b16(=oD_>?Ob)3H3`gl%cuadE<)nlBM2e5K}#?7)kNqpWel499@t_oT`8jc%}Y zU$zHtix#R3_!UcT4-}uC{__>?DAE5}dE1Drr`l6|&@6M9MDfM3@KMy^qj`Suk@@Gu z-0_k1G&>nbOzlS;M;yg|7z%uZ+f9=kTfagJ2&Oomc!xKz(tzKvR@jed%Srze?7b15 zye&w^bL^$01=+{tG|j_0FFUcz|UAG(ZOSD qJu+f?-l)iUW<5m(n_rz@bre*95*3quT6b(zV6;6J6@s1*D*gvXigd34 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-privateprofile-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-privateprofile-l1-1-1.a deleted file mode 100644 index e9ad789a58cfbe6458e37bcbb87a1b02422cb020..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3678 zcmdT{OK;Oa5FRHfEol)5ao~WELFIy)V3*WMr3eL80txjH387w)Hg2+M+~y_QJP(Ki z2af$695`^~)IY)Bq0HNOH(nach|F@ch|Gu=h;4}`eC#4EdRuwG_gD^ zhXF%p;8i@<4G!s2-a(%?2O(#K=tYEO;(izg@BNq$!$CXfa@KVj{d|UF^*Aur;ePAV zX9IQ+1~IS8wbbQWUh`%g4EhH(cN^Cc^oDFM>Lrg8$9P_IJw3)u475HSH4o$BK<`}I zj=7HGd7f>1yY6Vm_AT5nw2B3AQ?ypBV$46rqMcsY;53RYKlalhqNfJVS@AH6=D^@9 z;Q|_Pv!t;(Y~*lVrit++Zb$nGx0a48Yupw#HWF~UA8A(TMFpf;foN8kq*YNZ}4Pi0^k5 zPiU``_^$D0ZQw@wG5d9!aJqf5-ayAHP)T2cRS};XqO}OyJL2Pua5TXjXvdv*{S)aC ze1j`cgov(G1jUzPIyUo*BiB5o5dqe0rK;Hmu8TfN}WXxnk&RM zFRzq$I@MFRzU90PSK4Cp$Lgg>n9w z$Saf=<7C`OXEa_FF<+8#9(D`6k7Z3^lnX2S?EDekot}<;c!q)*rwarU3u#_rEx>iW zWW4F#Y?(2qsk74=2h98|@(U;xh=|cF_>_@zm6nZ+Goc;vzO)9ZHF}>!rc&C*yt9-t zOvX(q<#RG_q?CL3el>-`rm|$E0HmId1-t%Nl{{2$JyyvJ9SE#5@Dodx`s$1R^RTR} F^$)hfkJ|tM diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processenvironment-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processenvironment-ansi-l1-1-0.a deleted file mode 100644 index 194897fb8a417ddc638b7ebbd3b595a03b4508b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2836 zcmc&$&2G~`5FRHfDNzv|I3NzlNN~f(Zc`_fsw$}B)&o+-4Qb=Vo5pHlN4DD{P8@iE zz6r0;x8ceYP-e#KWZlH17t)dT$FrYj*Pp-f`1PTm497>U_h#ALeb;k6=b*D^nhr1N zy=m?_p1Psm0)Pg9aft)A=5K0391HO|l}Rc-$xJ5VI1Z$^3L}3O3Ur2E*AtU)Kuvk$ zNDkvf3PMa%!V12gCGk+Esf;eeB#x#s%7h=Kp_sVB6^`%)2AxU}Vl4e&bK8PAmD$I| zp-!_TjLy;zy*3^toX$k`It2167-V)_uwKQs>o}f=M0cF-ob40i5fTp2GXS3QY|F4S z`8DHtb!URpw*x=(t0BD71Lwvbr0E(Md?#E;0pGL>EXn{HcrM*IUXI%@{Dj-C#&rrD z1>RYKE7nme)-<(HDi%q_T9%4MQn4nkp;@9rKf>EFY5@{FIU@zDC;Rn)?BoRI!sD80}-U#0&7ua6pTo=^IEF(+IxzdP=r zqY2d0m!Zl0JmJ}WR6pkLD8kWLK`_e37twj{Vco$4WCpXFX9n?0oGwiN0_A63$`u9| zs;7~%72tyVysN=4oNT^=Y&`K=oO!83#_6}V^0e^>fUVy;F`7)*4^%f5ebTzF2l8xV zdxz^^R0hys{=dpIuN3rN+ql_C+ZPrUs#JNph?%X%%`=bU9U|u2YMh75Y%j5=N?bPc z=JqXluCL4f)qf0xAx+Yrq+x)^*mADvTA%5B)3){HIs|(4=BfiKCzvhT1@F=-vdV0& t4wW*ApOwy#XCB>8M!V;k^op+mC{FGOB>J1)?d&<1nU3* diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processenvironment-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processenvironment-l1-1-0.a deleted file mode 100644 index f9b92406ea3e2637ebd08be0b00c2befeff78664..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19826 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processsnapshot-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processsnapshot-l1-1-0.a deleted file mode 100644 index 1ce0f27d5b3ae7dd97d398c52ff9af63a523e49a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10418 zcmeI2&2QsG6u@7Ser;963Q*Y;bLoHq*xBQ?|p$ z3ZWkMfH>_HA*AKNi6j5O{ulfY9QgxS-kY(V8GkhHpqB8`DZx)%REc1Neo^E~Y8bw|F{H!Q=_E!)DA4H#Hfm)V`` z9}cWT&->Eu_l|-KY1efe+!>6mR7s%yneFzNd&K<1k>~i%XxMJWdZlW_db8ex(S3IA z42RC}yxqt+LqbbA%f~aXA*P}9{>Wu4W8hGv=pVSu_F2Ycr$X%W`GmROM~iBh(&UmN z)TiMhb$K!40@VF*GVVL4cp*^-<))>JvEP9`_9yPNmvU7pLg=tb=ftm#LLRd?G<4lG zO-(cR5Kx|u*FP<-Ac_F362PncXt`AL*>^ra&Mq|2k82&+KK1QP=gE7 zbLfOyjZk+950>z{^qOHi>8)k!?S^`H@n9oGFO(zv)qz(<_^SkeH3omRZ&Zz{ zUhDMx0JSrx&w`Hsy#P2bo!PyxA!wJ^k%q0r#wIm+4a-?N()v}hbfmST^{AAnR8z3N zeBG8&bcqgMGqQ|I>3#Ji!LRV_q*I0=mc>1FxxIJu+k4B{N!YuI_u?j>%hJoX_j<6T z@CF``z26G#gzj~ky@&d8E$K!4$nx-*^uptKy@3s@KqWm1R{8q8!jJM;dzX7eRL8_E z2hRNNWY`le+}_|N5W!bh5JBrpYdTHx6GvQgf)TD9T07N5DZqf2qA0`Pcu-s{aQ*Q{ z5Z;B#XW2EH5^1Y^d451^rf`pJTfYC)vWEFC${z$4PnC9ko+a`GbRQcy z*du9Nn0g?^vyf-(rt3wd(fRgK$4%EWQOpyDwa^Z9f+noA=P$PD*Hes!r|AY@EFi~x zC?eaVvB*|2V#X}in10Jg@;cLSm872m*(-Ce0)g%GRiaU_m*i;!f+atr5X0w4*B}U^ z{*-8RLCh`w8-UIuTA~LZZ}}C=)L=F{%q=SVmN;nT<6vhm!NC(;idh_d71#z#mBK^S4HyiwKVQ!eE8{l2|j*I*Ngbj@ZRU;V>Ql)vJ;AOIB1?q<2p9 z&56cWNakdgFOjC6;Y;Eg#q-h3$A__-@Fj~q$5zA#?RxY2l4X?-dZ~#|+4xVUKUmL)AgcT zNqbG&eSed#7m=`udU;7$Qb`aW4Yppe3K5}v6r1muDX(u(rrcIO#-)ggC!wB`1o<1t;>~REW;5~) zS9vpACKBWizR1`-M@et;XN2q*^q_^RGW>!i`2~5(%BCS9D4qf%9|iT~d)Y;VG~FxE zJNmp4Qi&)?{E1<{NqCzK9@8{J+7}JHEW;mI6A6iFtN+Kz5EoB{o|B5jzJYFVR+My= deFG2`u|Mh1x#!tGz diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-0.a deleted file mode 100644 index 7cc0145890f4063b4de7cee823f1c7c63749af29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42834 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 DDW{AY diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-2.a deleted file mode 100644 index f83978449c1e2c46c1514d12dad6dca0836f8213..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9554 zcmeI2PmkL~6u@7c{ZpbvpsGL%g$7hEs0nd)*PEhM6?G+0rAh?4l{g?~y@|82>co-l z1%f#2fe+9l2M!1!g!mAspMV=*g3o{`@6Gtncs)+MhjkSxqn)w+-m}N^{C<8j&c3^E zdi~M8+K2UY(RX!2H(Ga%R=tjYSmd@|-|Mu)6OL*Ca1EgPIl#t!fS3Ldb?Z+6s;~Sd z>eYV$sJ`~Es5jOCsNTFT>a8{a)%Oglj2$rc*ta~N^{l}1*nvB+*f;jXoZ1Y9w$U+| zV;@rurS8P)yPn0!V(gPGAeAaWCe%( z79LE7t~WLV+nscE18=|{Pg%Yi&+B<^VD$rQ&~qKTKkMpk=`58}oI|7TdA94>!R)^4 z`a!poK2K@z*{S8t&R;Y>F;Dvdd*W_Bz~1b>=_GwARiDiFMy@(heA=@n1AB7vv16Vj zo#pFM^JwM=*7(pKTfXE&g#tz4aB}>YZvcbS*(7MXF;ICV>8+Mw81=ewSC2`0SlK|B z06G<9hVQLcnt}Cg!1wc;I<$_O12Zu5O}M5Dt!K?+-(O$`XJlv71#j;}wumaM;eE-4 zUr*TWMsl*dl5e*c+1l2t8+xPN95@c1&>Y&16`uIt zbAXe|(0mdJLb>cm>b82WZ!(j8sO8y6{;THMNWLR~R4de`OXy$jw{=v_vEe?W$f#C6 zNM9s8impyJ8jP_m?fqG!cpqIL-aC3W-VJ;fukx|1z36zy3?vGsG#>BQ!#JU5t%~>1 zJhhSRVt!Hv;Q`sHBL{}T=ydW#NO-)#3m}4f zR}ew|C7&ime&dLH&M?A_qiClsQ3^osfT(EjH|~~})-QeL5YAILXMPJyN5Hlyuk5uu zQeN5Q?m5F)uJOGrXID^u2lZcs@lKoi<>i$)571NG!Oo7Qej&*}sk}mY(NWvQoYD36 z(dKKl9nLOA!D%OSLz_s3BYyV$eL8yjG?8IG1J&$JL?87>(TcNPtisQ9EbnDV%Vrvo z^D@sX5Jo@u6!lV#BuUPQBz*KKX81Vi9t2}_J{20UVCHRp3_$M!A=wWlw9(*KZ1ZQO z3nr~4O{yvPa3=POGO@E_0-vi0`*@BQGx0j=iZZcDOq^RM;ORV;mX(ROXaHCeCOSgE zTMd53EirL!*wSJmPg%|)Gv>i4$ip@+KzKQ-J*RFPyO@VJaePI2*a&&ZEUNJu^nP7dCT`)qQ%RWU@?+6x@H_5=Ok{?htjh%# zYJ-y5*e%FLJIlry#>*l$R`Vx{jP(3z9aP_qmYa*40sx7Nk3tD;H24KurW$qvMXt7F zB6bQAp=XKsz5o%2(p$F7Z1I)U@4Rd=Qrl&+g{QWQv&A)h;zhH?8e~3;E_If;K|zlt z$r7>qP^!UC*s{!!6BN{{k~!Ee$iZr5O^+G`4%t=2MOM~Tz)$I!-$j-?GZb1`tA;K8 z9F(svnTd8mCbqLH>(xr)cAOh7vXamwCgfkah`D86NxVY?z>?&MdqTil4SvHdO9EdW zdXgyS=u0L;FGz--{8ApRu~)OEgp8~B)QirVDny3#D=r1jG86Fz4FF3*L`w*GtHF=B zB_gCDOW&GQijo;<6=Y!boryouycyF)vI7tUs{c;F9+sJfLf@HkhMr0fD&KH}a@hDE D(g1aq diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-3.a deleted file mode 100644 index 8184fdb9c7230c0d90a72403058fb1f11deb05d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12298 zcmeHNPjB2r6o0#$H0jcc9x72)6dW}mfwGIe*>w^WRa+$z6mf_YkT_IwoUE5!y8pCx zDD;4G;J~pbJ^(_90|&&3W4{E54}yB6yf-uUjMw8`r)pfSx+BdW&wJzXdw#!p^TuA= zb;l>2JLM0Ic(NLnZQ16|R>Lq%Mp8?|u*^n{k2op=z)gUqBY>3yfbyR_U;PJw^0j|? zzJ3XS@*8jRd~+9vVZL>rXJY_B`Sy=IzxxD$@_T>tyzvxZ(JA)%O{<0v(e00%=`7Lsdo9oH9dMzB z=25lf25veFqcp*MQa$$l8EkMy zd|kTXdOhS_!p0Ilmzvo9IA0^|C%)BmzO9gN0~=Q~d?6hduS(yq;Nn%G#j7%kEnbzL zRk13Y)mE>E1FG$A&l3axdj{}jq3u2hJ4C;#N1C=YF*mWPIxME~DEcd<@hG|@eUu7R z#*@%5)7vtVrtmPGk!6$$@5gTxhi&2u+mrPb>{tORX(d=;`nk$lS**RoTspF2 zVwMB#pmRESz6dgWle*&YXHH;*F^ASpHK7!M)_^b-;V*3Fwwbx` z{gT+7F`W6PX<8Ns+bqAbRp}F8@Q5y~j3>|Dp{vJ_Wgoz6 z5bYZ$_N?3jX-=|OfXkS}o zV1Sz$A7zP;c*w=92v-}d=Mf)o<8xDz_-L|gUKHV1Y)E{>MVB#7w03A1@(H;^Y?wP4 zu~AE6;|!OLS-#^7T3Rqsm8b7GR_0Y~IpI5cdcK73_*%~wVdDnM*AzS?FHd^kaam$R ziNWXFZ;{Ctdtz=Fj*!pWd3A8FA7`#^Vc|$avhq_n#FfCBli=TPOe3m~Wh{ zqaG;9xcn2|!O9~1fi>YIRs5JIna-87N2z5*%HrgTy=(3?k}>*u_E<#)DX-MYl|+al zc0BkH*htWGM#bXmxX#)W`>YoknHLmP#E)<0+jp!nO{%^_b8;n-5f@zx4joI*_{jQo wyq1hZ&Tt8x6^AUo0Fu$f{~iI*{VY1)*tnIz#;)k0st7-0`Mkf-=JoH^|Hj{aR{#J2 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processtopology-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processtopology-l1-1-0.a deleted file mode 100644 index adacab8850ea0e3a76f1cc9f181c5cc7ec56bcc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4516 zcmeHL&2G~`5FRHfDWUuvI3NySBsftAJ8hgqs;WQ_l~50rfE&`*ZJgSw69?NBloN+O zK;Hr(UZQWol}F$SC^Nh3WYgMdKr~gQj^y3-?6w>&_uvjIA;DE_S1sZMumYv9++{ zvX6e>8TbsHzTLE0;BV60JDBz}~pYTQ9=J)}wHL@Uq+W`+joJwrcnces91g0oJp}Hq)W`{n)c9B9OQ2 z1O#+G><39T9By~sK3k?~+qSOTt=e#(H?$kL)c{Qm;4W{?Y1PF2l<;`Uy9mk87m3MQki&;L?61rO}HG zB&9*5G)|Gy2rR=g%xWhH0IFR-aOJ??Cjh%z*V#)Q(yzvmmMxxIn_y}T3wanNe#JbD z5<7}VQKNF)WPEwt=CEr5hR2MUQPiG~Pa^Nq*$GpCK9;ll8W7*TzuSj7JKlJQjO z7nfOvnSl0j85ip+>%u4ljb#?fjDu|4P-!&Z3SvHI<818a_7Kaq#7Gxb`tiv#x;r`= z`G{xPXA!~>2Wd^>EWk~?M6BsvZK?65Ws7I?4XD|fXBUtf;L)O0aFmj9rIM9=Go~E= zuJjB-X*8aURu{^7%aeC&NBvqIxVu6C!}H!h zsY8S8)3o5w)m6tMdI7YNI#z{)mj(EWHOqeW_7p!fX0Hu%T5YthwSjy4KePd)jjZ33 lIR91796CNf*+?6&goBp__>MJcBkR?bU+@zVGy0#Q@&~B~9rgeK diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processtopology-obsolete-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processtopology-obsolete-l1-1-0.a deleted file mode 100644 index 286451797c3f1367ed7c3d57488108616006a8b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6310 zcmeHLZEMp|6h2KmH_Jp32Sa>`px;bQ)-LU2jE;Q}L1CbRh;Y}JbPY?J(qx?RaeX6T~&AT0I&$4d;*vo04)3zdGR)iF<;*h`Q|$S%1ek@8ZfrS*c;F4 zdu-eCtv=gwn-)8?yS1LpP-vSKlR0*sav*iPR>SREj1V1?SpfU&k!Yff=qV6QCyb-RzVZnj!>*Y=NI*1WxH1(#xXdMvpa z`)!L|C3Z|`e>Uv-+}(2byQo?(nlPy~l8?-1tb{8)2Y^kR4c|Vnf)%-aK5w-o^-Tak zbGO^7`vo_&z9g$Nblo&fRW0jlftl{)Uu3SJ;Q>@LXkWZGmnrzx2cOrI3l;R8LbK-A zk|DgM3i?T*?s*enFd&>w13oN;*c?`JxGp*I@dR!)loM_t8CMQ*H1J{!E^J3iXdO>O zN@zq0?F=QfkP@0>XojX2nvMg7mhD)<0KZNFb~CNoUML9UvOa10?3pzXOxC56gpu@^ zO~ObzB)w!aRF0-V&s=|V*mMqt>y9iWn;9O<$Y9~Q}mV8Y4$;kbo97A}pnX#SMAj}_1W6V!KgRaA0SD-z{yXn8 z^cHloC7i4-%?pv28u30A#5nP|A@^v!b;KOR<4kPkX&FoM#-m9+IekQu<6~K#gV@-J zTO`d#77TC|v(PiW%QacoG-Y<&4}t8xxz~Y!5nNL=3-*#ca=>fJ4~_7M?~~Rbct`yy z(d>dpclkR;!9&SU$IP%`6h&fQx9IbXX5NArejA5uL?X-Y$nd?Gb(2iJKhHt zLyu{)qb1FI9y@yRxG{EojK>Yxfmfl_?8p*3Vj_GT;zBdz9&G?q#1On34wC}kuucq# z*?M$|Ij4Qv7rclgE9p2=#7oQ>jttOlCUNA_gOHJodJqMoOKEi1z1aM?6L2Bo$J0PU z4+Xwp$>O#hu_Li{cHA)1aicWOjZ6RW@Q?gQM&gG2M@Lu@#;RDkh!NI(+5o1AA65P? z3I)DnMdF9N^=hi0Su>2X^h=iD>4_jJ{*M~nLH=fx1;moLUz4~Fis=7$mc(s6&2QW3 H{~h=Z6~u0E diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processtopology-obsolete-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processtopology-obsolete-l1-1-1.a deleted file mode 100644 index bd182134435d7b62fd74aef4ad5ad46a2fd69468..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2870 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-psapi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-psapi-l1-1-0.a deleted file mode 100644 index 921994074f621523942bd60e0d589cf7800c118c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19748 zcmeHP&2Jnv6n8dh(}t9mQmU4ZvMnh>q6ssb%_c#iTG}S1g;qs;qzA-glbvL@-H&Kz zQ_>2d3UT02p(2Dh00&M8B>sm=T=^sT0}v<9l=p1UjJ@{EdaLY|QPz^}S-A0(;pIo@s(8;U)?4IZ>FY(%^q#)j*4KC*_^ zQA2)Mk>7t(DC3WK#jQ76w=Xr;n@TM`2Wv|ll%;CT9~e=zVHv zmp;LqASA4=l3Beg&GJ@_R)NaxYO^7zL>z}m^PgvNTU4kx4v}`QFw8KrTaBuzCdAl%SBPIXeEin`9<+*`lgbxUVXEDJDgo4l&dsS zcAM^Md#dT%q9_|=TUMb^$Yu+(d2X~;#@-p)OE6eNV0Gx#o}sC>yWOVO(MgtAD^ulC zyA;hrDMeyEm|FF`E^Op3@>TJM6JXC+07FDZ;JL&=@5lIN{Bq>m7tJ^8^G(3TxQ5TC zgE^Y4dy`Y(Gj6JXL??Xa1hSp0r{Q_Pt$`6|x?r0O) zMA>Dccm%l(NAU zN-#y-k5c&@pjRe3UZJZsV242Ug{-$LTaBBnglZXi3^<_DWjH|jqD;de&M)kl6=YCm zU&k>=Y!b3YQz_`BY^y9F9i8e=dfMWQSc2RGI`@~@k*3AHa)Cb6(ZVRL<8_J zi$NuZtpp{Zeeijx6eOh3{^Bz*WMO>_*g8YXOY}D(I0LYfw|EI=8S*ov-TW&fC#=7I zVu%lW-V7hMijTV>mTvgC&UFT}B=NB-v>S(ynx0R=$1OcyfRAI)zar;>OCI$2c$&Z( zSn;sajf)p}k3(E6_(Fg@L%xU9(REvPhZLzWa$omM1T4%MVqr$H6$30x1Xwrprb3I>xgHtfhrZ{*CaS*e^iK>%kOuUR8fDmHhDl4FAhWrLOVj@Na(l${y zzN9Qh!3-&uij+@5d%7XzeL=&LM9RlPyKzXV==l_+wDf!dQjWmrnbtSzh$inku2vKm370@(8euA8%Kp+4jorg2+5ftWU%W> zN1BIe8@=qhj{69aUyn&OGE8?}VdbQGD~O##u!WV5oD>#pGb{|&P_bC(WexQN z$Aa=k7@bdd#TrWKy8Mz9ASQw%DO4DqTMtmNW2hLDP~pEZ2yZ&>HdF{*k3faOkq{~@ z!_(@V>RH@{MMO7$`?}z#Ch2egpHHjzOQ;CmZB6yM2|X(ep+|9+70@(8euSKR6wC?) z-HyOR2R$h?7@k)T&_Ks^C%lM#J{sh=&UXzOS5PO+kIu%DTXU4gczPy5B6na?L{y9vU@cM2^I^`$}ZWL6?H%8ek?*d zxROGM>1j56{z?OWVZ`299-L-}Hl&yLIrbnzgm2PZ_?9Zos5nmN4$-#=jzcNlzkw8e z3#rR86f~ry^nY-kjl_PMIh^ptC$yDj9Ax47F@!$$IaWZ^ z@H|^k_Mq#AAG;>?jf7=*o;~oh>DYFl=aEk9hV`gOH6l!Rom51~es&Z+DH~yUc5MyT zNC<~0H1x7Y$^>W#KEY2l5_(!A1zqm)hXjdP1H<#`!MhtfW(|gX{TKbnl=}&$?{461 zFLhh>6*T0eY=Pk^wJrW<0rQs!=W(IGd=!vUWQKxbh9&y1M+wD({0}O~pJrdd^cx8E U&tdpKTA@EJi-dkH)L#_*2Sp_XdH?_b diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-quirks-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-quirks-l1-1-0.a deleted file mode 100644 index 01cbecd49d21616e1fd6c5997e8c5a42b2617859..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8514 zcmeHMUyIvD5Fg8Tx#YOg5}NiP<#5XNrNpkJ^T~G*iXmxAA%rWmFC}D8w&mEI&%Rg= z4IvMC$WsU<^fQEfj=Z!Vr5_{7%UiS!{?I+^3l#R914j({Ey_wd8hY)~ z*b{^}^$9EZ`r)Jg_{0|jOIX4buD~%)JrJVjxt+Pq0^(`q1zgGo!g`F(RkGM ze7|YgIC=l{OiYKQ?|0iL?gOuBIr;Z%ki7ftrd^*kfW*W{Xy)8S@;Gv@d5}E;cf_%F zt~z87qkr@!x7>-F7*><&C_5WQV(7G6-PWWw3Rs@UZp$^(l0|w6s*QWt@>j8ER8*BJndgAdUZa(0o-XnHH>VKkkQ9?B&u<4Nh2^|g*&Q!uP6Vnn(0b$k$Y6^u?8 z1L(!)zNT$5zk9{`-8fA1+re+}8Nb8Y$L6=KR0*GBgZRCz_(9(|i{AlWuQgm~FM5B_ zCS1@?)>|mp04mAyH&{QPaH|N*d+cx!j)@rq-AV7!@I*?OXYdg$fwe0wf%Ho{jgr2? z$Y)O327?2ZQ%%;1Yb=+tFyJq2%-z+_&5Ns8LE4pXVrsB)&GH+KJq(vP9dF(#ZLl() zBX=o8A|~r!nW>zk%6r@ad3 zzL$LnD8{q4XcoLn^QX#gHLnu06Mk2E25DDxKP8%7+Q~J(##lL&+)@&%40w%YBCv{H zJvVAfLgpLfvcF-wa8`DK-%CDXtPxxY;m#}sitJSIe`0e@nd;Qp+i3=3nw zRfzr0VS43%jB&uMnCD1~6&4xu{HD!2E#~QD<5DrtFdG-H{B%0qR2Xcklzn7~_|F&wEAj VJ7WCx7~@|i89(Lc@4Wv)d;o4whT;GK diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-quirks-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-quirks-l1-1-1.a deleted file mode 100644 index 1004cc7d377149a65f0317e8757abcfc3ad41324..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3602 zcmeHK&2G~`5FRHfDNzv|IB?)#P`Qy{H;L0q6^c|*38{y2;D)qy;!R`4`DvUA#EApq z+^6Vs^ulZK96eEHX4lE4iAj*KdVq<%JD&Y^$DaMhvw61fkK5hXrC0X6xOLZaJ!h{` zwQYxo%+|K6^_re=QUZW`0M;cy;Tu5lhq_AF0Htdo4up6g%W*7@s|f zp+IBk?Rp{#TXbpba3I^mu@r>p$AlGpe|8>@d$EXIK|f#M8hr^ubfq6;<^{w%a{D%Z zGw@rH3=W6mW53<=Pi3vS!g_jRgL6^|{E43q;gKddSCv*AuYkc9!iBWpb}hjcP$}SZ znZoNSTs^T9ZZjR%NO0SzY%Reh<4CD;KQ1Gs%0#KMqEtC@%lNAVQG~!sCyb{T3REKrLl{k>m4#wRKqDT-?AX?|pl<~2S jDh_9c^FK3a>lCS%pV0nxWY{jVR&tx diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-realtime-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-realtime-l1-1-0.a deleted file mode 100644 index d57a76262867026df4379fce518501e00fd59b0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6206 zcmeHL&2HO95FSx>?YL>104BoqOxb}^2ryDKKv1MW0`$~1WvwD6lw^=} z;{ZXBV~%-%Am^f|o_or*uh0kR6ZG74W_C%gDC#E#q`-g|*dNV)yUQJZA7@ve?fcPD z|J$wW_IPr4T+j8Ky;j4v9quwq+ureZ^?<`I0JsQXJpow%8DR4dmEZphfbxfbt94!-$kRo)2D;(hqoMj+Eh`#i@OI!!Uk0&yEd~etZ{8)Bx4RIgQ$#HTQAEw>J^@G8& zn1kUN?)GsH-Gj$Rq2#f29(Su7O5Hh%ve7qB+iqiQ-I=%< zGquMbzkC`5LH9)VI!S$$a&H>vT*vV|&$hi*E92bl%6mvV0H*@*5x3SW^+cW~+@4<8 z;2hSwe&SDua8DbY*Y!>u&w;@+!UZ(pb~DAUVPg%S%S=3~Z4lQ`5H%7+Efqv9bZc(SsdvK=>b)S8dcePL0Pa_M{=?Lu?WX@|xoTlef|JK(OqdPb}%(rVDq9!tEo;fwtcvDyRyL!d5-+0;|sCbeB)%<#QZh( zA8L+MWiKy!WM6xFb4^_Afw3;+QD!W9>>?&9$7R~0`Sua>v>fMQH>XdrY-@}*VP(I5 z^CkUy@gldOw}9h+>B)z1#5`J;mTU)hhMTG1i@>kFXp!p^sn6ahX1@;QrbggH4^v^-)#&D4g8Swl476 z#wpju4Q-*yf|pn-T@Bq@@;^mx zo}Ot{e1(3Xl&j(gW#H0+-?3Jzn6~}5`U`4>Cn#q@olHiJ^BYDUHQwfi0kd?1JUYua ej4!k*a-DpyEmT?X8CY1N6myP5sG>z(~R&w6RY4fb2Fi!aSVvsZ1$ zcC7Vk)if>c(o55H3k^mcq9M{ak^gv?U19l5S&$ z^MH7FD1$G1ox10SvhlWq>j(~e(JnsBP9XQaP;OT6F}!w9Ob6xhrWj`wWcdCI4=`{e z_CcfDI*7{Mbh}6Gvu#<9#ST4!wE1rA)H48F5`-n6|gGcbLqz8Dcow}C)~nlTs6ThV`DJ`m-HhkOYN|P zq%09BO9?4UzFop!x#9azZhF3qZ}@i(@X=_x2Z+z%M@)zbLm>#>_D2x`j{3whT zGm1mrpmNaSxN^Mauxkv4V?~U}8x*Z!OGYP54nAUe1#f{OF}!sNhF90uhZyeQE*aRtd~ zhM6zUu&k}nLR(P+o0L7OtNl~LwlU8E`HuXhBLlHn-*NKbF#=v-e zovYwv9c^CdXPJTQv4)tVY+R}>8gBzJU$b!zcC#&Gxfx?(7gpxk`7`==dfN99vnHNC zn0+)iu@&GpUMlAFUvKGgr|I*!aG>-D@#vZD2@C(c7PF0sUfX)2KNZE)LV^67=R~0QAsXhCKL7JqP4>60V zx=O_~wRy)Wrk9NyQp|BSE>+A^T;H^cF_dBk&cN|Gof&phm9m5}AnPmTjdF0AgP&L{ zrDQFA+!uoW6*KFPsZ<%(l*+L2bA*k)M3gd4kS&vx@m^!pRVt&d%{xvRel~7M8K1Io tsWKknu1~8B$WR86hu*t4RTWQY0cd?yq@h7?4t`*np^9;G;J#Vw;6KK}6srIL diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-realtime-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-realtime-l1-1-2.a deleted file mode 100644 index d0681f4140d5993ad5e87db32ecedf5353f015ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4694 zcmeHK!EVz)5FIBiEu{z!95@p(2&@)@?S#)Uk{0(3TUbI3m;| zUxE09UXl1F%FNoEY+|Q%5J^>umApHiecrLh?|Ie_Htb-p^K9vfKHSWzX_=N$x1Q>{ zA*R$`*Q;hFxnO4r02ToXF97CO(L9NdTi*fbxKp5mu_j}0LLP){i$^?QO~1w2q2t*H z4nwD7ty|1>cIimGzQ_0cfHOjLL&7p~9&p=@oGxds$xK#ZHp5lA92o0xyEVl)z+U%w zaQwV?ANZ8{$9gLlF%Z}{v5HZsLYnIGXrQC8|D7PJ#Cl~xa2Y9Qs?S1J;{A&Iv zTyZ2O!PMNLK(jGQ-iqTeO3o+`MUDF5mgH6BYaXXAz=&KCBZ?YjE8XPkgekyV>}T+0 zSt5paCSZ82UQaRH!nbf&JkZ=#GrS`6dJhd^`2B<-^p>+2F7fK9;QESD=cP?JX^)P} z=vV;iN&5>TKevUIhvyyf*+)1w!5L^rou0QJdj!+q3bY`y8*72`OF11h^&1o4b4nco zEO|~N=@XzW`nW5=Pc&vw@TOQzld3JW6&lzovA`~?9<}OV=dr0Rh=hDW{?ayt*sQ*B z^5E749^-r~;W!QY^r}byYfo=(4TE_~To_cDq3W@Yn4@f5Ut6@^24YUKaTZRC_7M9< zf=OIB=x67T=?eqf(tvzB*LH}wrD)ghr3 zGpAPSX{~(2^jxNugM>dc%u*{KmADsa<#RSJrIoMQxV~1(_0I2FEs^HQ+fV1@!qa;Et*7AdD8Ls KKkU=rH~s-89%)?w diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-registry-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-registry-l1-1-0.a deleted file mode 100644 index 6aa4e5e42548f9a0a3fc99455968360d63a8a2d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37102 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 aoSq3T(-R=>2{j_k_49=BAABbN-tiA<;$m3< diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-registry-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-registry-l1-1-2.a deleted file mode 100644 index 2220e0b5b11b703fc0fabab4d5af390ea9f3c1d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3600 zcmeHK&2G~`5FRHfDNzv|I3P}oRBkxfY2&m~g<5(A36P){q^;X*606RSY)4Q|9Qpu# z2E>E(%3JUlJyB+6?PSw9O_4}@fRVgAJNxafGxLpS^JL494m&R@&&8y;b=Pw}XR}ck z!r>{i6=JQf$3pB^0N@UQ^$nnO0#N>`pUOEv4VSOE7~Te7N&`kb&nyAj~*SDSv~&xY{KHaKV1gE*c8gRg`OXv5X@ z3|m5_gzsev@27F~%ucxF*|lTX7b~@EQ4`Xi+;UsbAS&OE`4}hJ8hh zC|cyLX~}jcOaa>1-a!6Vh~b?-V0dG5bBf^}M&SYfpwewKyq5X(Au7c1M=3)n%6SaW z@Mdq|Mj2zyXFB0B{c^v8hB8n~xnE}g++*!JJn!(w72zn%8E7S)Ved#=m}zhexxn7l zxj_CUpN_@+#^`sR$_@r+Jg1)W6QISdZVK=Nl^ZB43#?gbZRFgF9TZn5*rvZ|4Qf$cr6(kAE~TuK8zR@ipl;)%9{M diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-registry-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-registry-l2-1-0.a deleted file mode 100644 index ef780e1449684a88b109d666a0ff475226da1d97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24150 zcmeHP-)|H}9G_kbg$jcFC>0Gkl9~`g&%LAUwFb$ZMWaYUMX*GS%eJ>|FI=z9-W9?4 zz=My*5TAYU!T5LZ>WhDgPd*r94EX)d%+Aj2kKQb_LpHaQ%ES zyZ*}hm5F!DYN%eS+Ev?{x97@bizdm}a=BW!W?7DV6NHdCLiYbj$iY7dIeebQqh&%c z9-m}!68JDqJ!A2${|Lc&=3f@i{zC}H>AzV#S0V)CdH9d9vY*8&l!tK^%ED+vc^K#a zV)6Y$gkWqyUW^N;S^TI*2*yv&v3MPx4dV@Xc8oU{S-kx*AsFvmVe#%YLhfF3oCU|Z z-ShmOv*`6b-&xpfdCoWOuDjKCfY`R@Y^T#+#>lCgU2kR6_Z;Nd=pnB||NGuryVv(0 zIh~qQbu7nqpp*@dIL^A~w)U_d;@tGsKKJ@xxSefpsZq0_%J#;V6DLc2&161CMn3m} z_o?@2sZp)T#mUr=tC`5fsK9m8+v>P0yf|AbE}Ee5LiS`{mH@n;ZF~MB-fD$6nxODT z$_;r%xi=nozTa+ni@w+LR-qRfbJ9a6ra}!jw!Ch<#}sPFb<20VJ$I$=wP3)M(pf3d z^rW0HRy*co>0wT2pFEcQ$ru&5KJ0F9u;-V%U7?0tkxt}Xq6e?Gd+u_FcVN5gwHDl! zb*~{KGo1x$x$1R58tK!>O;pJ;pVD8m(rAe+QI6!?&}Rd3GY&a-Q-O!5kdlFK!S`I= z7N!3qbeU6r)>-*^M4l)|a_(khP;SN{=Z>I6)F^PWu(|cSO&t3)Z2rjnN1e%P;U3R9P6XQ3$#Vm+-a_j&`^$YbPdV}aAN0q+?67=!1M11*p7T?**P zcOadw9`H@Wk3$K3K{^<;nT_5I7_=EQXfr+^xtUIFraEI)TAdE5thPHI&+zOyA!{S6 z?)`wk>2m*Jb)%6wkxlM9Fy_fTQooI+@ko7!{V+O$S2gf{rTw)Jl6K&seT9e^9l_p; zhoE%iDUmg}8t@<{5aH_?5MH03k0IQKQ8-E)H1?_y4&E9IC*Xz%pW+C?QBFcQXIE|# zpO6@Zf&W3iBs$W-oh0M*in2dW`{ywIrGxWz>fQl61d185+F#%9-e(kwH1Y~$f%Yzw z1?*q!(=f<7hCOpkIw*61bG)N`60%CK>{24X!w&O=!tk8#=|4*|b0Wq}Zvtph;40O^Yy<9I9Yo%Imf9!G8#D*IBZmxNYEu^w~4(@N$O zvW4Yc2A*y*pAE@0ppI#99!`Q=`RVg_@ZXasA&rpJ1T4OoxiF+*J%~)0bwXtQi~r?c zF{z5%6Czt(YCQ-?I_)8>Wi+6KmLZ_fRx9#B+lSA<xDjh=CzYdbq(A4!)6!m=l2=bwh%&V?PzY0UB>(4U+y_U!iaHqOnUM>q& zy+SpH`HKbSad=)<(`Ui_DGBqS=!XgOk%b$+oXn}lFkjQdeBFxc`R@QIgM9j1T=(J4 zq)-2~RPRnc{dzKA%%}I0`GlT72JO?;^OJ~qX<;9-<{I~>umKQ4U2ic0y_U#Na7SG) zH92kL0+v8=Y26t5s|EUTkQlhref!-+|49}7O{_o9o=$f3gNm2;k3zBF3C7TG73epO z{u7A)a6@%zSkNyuSw(*=!4&$d^9A}%qyM;y{-M$RA;=@TKbBw&{d1b=ud&ll<#M=| z{}|kbL4N-o=2B44!ld87EY-V{-``2*i~0QzlKF(+KLsMB>-Qf+^vBM|mbhgXS)8ArEYDnOpR7@^BTup&xJx-b&d9i!5H!xFQ$%-XqBDCGGV240F~%cgNU@pBO4mNrYZf7S!)Y z)Qj(nEaloWnv7Y13a8+$M4rGEJ)^L>>c@DZbYt3HcW1cpg6MdrY5Oc*&^`tCp`jm^ z*@3{i)bxQLDq3P3#^geChqzwI#jeT4Sc+T>%j_UQE_6TOWzJ91+(oVze$tL|k;P9M zRpcVyvxCfjQsnG}kP%KdW)HM?l8ad}0zb`9%7Xh6#eMKu!F;cr>duO_KCWm^+w1Nn z7w^&RsO?ef>Fyv5?s2`4gc_;PpbJFfgc5FIBeEm8RpLI@-dt^^ealG<(Rrc#9>!m$SgEhogrO&nt4e8_eMLL4}7 z;?yHQfdfCH2d?}f4wRYk+TJ8ilS@-|CGW0h-|pD6?|Ig1d$!-~JS%SKqs81dEz>e~ zx2w8t@Q_;T`c}0fCp3xxumYg{1}OZ(?rL-u{{ql;^B!G7)P*<<96t~*ozU?`eb92m zN4IYeU4cf|s#?NxkLZ%tLEmW(d`A$X7Z6tPy&rnP@o+fsL*bdi6o#+`uG4csh>l~o zF4PlbVRoJ$Kns>Ij=b_)1hYT@-F+;(gy+{$#^PKDex6s2NuFD{ z54ZU}3YX3EO&LzOiyh+meaR8p=PaJbc(qkF(qt zwGq3La|JVvd=N7MuHzNOmhRP_8eejgpUfzr=3dSpAeqk5Aul*f$){4UN=6yc2frIV zL!>8~Pldck`nbdQ0JKhIS(g@Sa_}ANvEx$K5o!SkInE}`c5^Pa?`+}GiA&1%Z}{S~ z*#1^BfSN_Jy{-5?kL|;3+yvV{XX6sKKg9Q&m+cy{J@Wt@vF56>e+^?mC1wAM$iQ_D zequ}P&wTZHe-9R_4P!oSn41&Y_=0?yrHuoHQ;XEbJH_vL+UR8CCbZ#a;}UJq31nVv pfT9iglgD4utE!0yQUR$ZlJMb34t|VkBK@yT|E(u}c^7f!`VU;w=t}?q diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-rtlsupport-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-rtlsupport-l1-2-0.a deleted file mode 100644 index 90f300e88a4ce039191d572e4b0b25a4653a920c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4374 zcmeHKK~K~`6nIV4uH)LT);!a+ zxl6B2bH!__2REP3XDPpymI0QQh1eA0Ln@P0Y|Bh0Vl(bY@j2}I z{ZODYbUjx@;T~Pe8~0>8PNX12Hzlm#c9KQuQNJH2nTQe>{YHT40|x_R@3$489RAqye9-7T7u(b$lx20 zBh9RCY9Y-mqM0?MnH4!!)3O_#C_->!A6HU6^!p6pz}WW>3y1RSF{CML=jJ7t9>1A! z7%g_SaTqOb6pNZcb-Ae6a?ED2>jDhNi&#-Jo|OkttzvY-%s`0sRJ6UoJP$6YmL`jAQXW}%h9`h6V~&IJ6*)}D0b;bi>g2&A0=&TfUBz>{ znOB!b2Kzp(9_6=>+PpB#H>Et{AttEC4fI9hZ6GG8#<|$dg?QIe80Es7d3yGgS|=w% zAF*rXRKbj+xrm_vxADqjOl{rL<4n`lMl%cOIhgYZD8_S?Xcl}*%d1MaT4pKfgujvA zA=ec>PlaaBb@GVY05neS8HA5L-?6SfEnRSsn!@3Za|~<1xzPZwQBL3Lv)SL)fI%84 sABX=74U|85!q34}HDKRpV9FW*(m?4KFW*1^^*m7eQVc0kB5ocmMzZ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-shutdown-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-shutdown-ansi-l1-1-0.a deleted file mode 100644 index 6ce9bfe0baccab2bca02d9543409d95bacdf9e7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4500 zcmeHK&2G~`5FRHfEus7zI8=y(L2y8-gB?=0MHNa~frP{XsY2p_v~?PXnC7R7U0OI* zhzIB^aOA){^c}eJ3_Jp5W_Imt8oLRHrmDnB-d)dr`{UW~+gaaR^ZMJZXT`_naB`L$ z*KzGt*D+0-oAlf?D`i)8*eU|R9Dwl~pzsT;>+-qQ0HEi_7kY%)5aLbf_e1g8kNm#a z=rw$?A9TIlK%g;jS6tB!>hvgUuj_C3`o17UCnT)k_pr4WHG2D9;dR46v>o9HTX+J8 z>i8f;%l8`RJsF6X-5?6Q$lv@FMt)~gE$R6|ty-?&B7)AY7=uY40sGr$_m_xTz1NS1 zC$CkLnKN3Uu^)YiO1)&Wvv%3BZP&#Oc30)Do90&Wm2m|(8eqi$xXHB{qZIiE5!bUb z6YQ;0!;8FZ2)9(hJ}%Y6a10C%2^Y|S4=ORXfRzHSOHVwW#4W{k!p&vlmSfx^R_0T1 zaXV7d>Vy_j(jrP)F(oacq}6sT$FfU}cAM~}X3+Lk$3G_k?~SIn6C0FW_ajZ4KQ%YO zbRXujFq;4JSs2ZC=}wF6ccyTaf!-kyfwspPRF^}%;_%XRfSO| zEX?DRhxB%IG_VoJ(r*!X4`Ke%oWxgvtN2J?)4N{N{Y}&6MK_p#eqVc2^I2W z`M*MNhouOT+g_rOJJ>dyA cil3AQ%6KXboaf*hmLl!5$NoM~>E>4a3$wczTmS$7 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-shutdown-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-shutdown-l1-1-0.a deleted file mode 100644 index 689a9477b9e53d47ccfb10723f2fc01b741b8172..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3588 zcmdT{!EVz)5FIBeDNzv|dgy_JLFGn*ou*EUDiloiVd)rqUvrG--u zd_X?{app66_0QUfl9{{COfbws7RW1N37eZ_b@geetk$CUL-cW3Y9Zwwl z1NYDu==7a6M+APGF69je-d;HL1R?qnVFlkuy`#7j9uGud3tL#i6*x=Z10i~z+nM1y zAl?o9*mq-Z`%4si{cZIiZ%%ev^#-o*_YcJs%ITz0f%d4o0GRI zwq-dEZiv%trn|Cb;HIEi2EapZ%^9`WJBhiSUzlL+);ezN=0mur1=e}39Ys@Ma7s9z zCR}bL*b+8M_*}a2d=j^s_z5?kk838lWo#^D;F5l%QnepdkxEsfQZ=DcHL$C8)v9%Z z0BT)7@YH}mmjL@l*F8ua%CEj*4NlRuYOab<>yanx6h~d3|V0d$VeS+Z*?!qH}q0(J5yq?5$5gWwtCB+ch zAAX;;fFV_M;NrDu@ZqVZ(3y41>3z6YRrr01>jP*s4R zSWY<#-Q>75^CKPQ9oB|*Lv7UM`PVdeD~UEvF)Y)x@lo-Gs@v2?TU+-!Z3Nl432l7N y#--X=!uM+_3^tWzYXczbyes+izv_a%4P+x-yp#?u3-BFlk@ebBe*$Koi~a%w*l`;G diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-shutdown-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-shutdown-l1-1-1.a deleted file mode 100644 index f38473fe3c2912eaf7148965533d7c6a6d54ca33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2706 zcmc&$O>fgc5FN)UDNzv|I3P|&DmQHGs97gcg(CHY#Gw)(Zfu>}sjWIm6}u`z9QXyO zM}AJP{3*)Jc%7_?-S(1pqW$pf^N#cOjmNL{gT-J^xm?1 zVxVp~>H zQpzjGIi) zWc?b1+4o?aJM)syCLTT46+&2+@cku^AB;yxC4g%HJmuMz;pEY`oafD*1@4g(26@m7 z;gu1%SI#)gZh^s1!X>of?p}$-1BNy}mu|dYf$Nuk!fiL>{1Uf|lbsq|xsD>Rrx%a diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sidebyside-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sidebyside-ansi-l1-1-0.a deleted file mode 100644 index be660824cd6b0d4ce87fa75c8940b28441100c2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3606 zcmdT{&2G~`5FRHfDQOWLK{}Z^4^zq|EG3vTp3O9GZ%eygQ!#yc^GcpJ%hW6O1~&SGAXR*1QeR_k4HT zU$<>n44JKMuQ!|OfrAM1`>gGEK}UaT_{LxW!`JrpB$Ivz&v|<47cDkT^&rhlu1%h~yBF zoWAFHj$04=eSms5>T~trpG$xvs~a5afQp-Wq-D!j)+U&l!%`8($X~e#W8{wVQMRbf zn#!-p+X4>Fz=)g?Gs@PB>?G<=&rX;U#MsVH!Nm98Kk$9a!;h1&gPP{Mk9+Y*yi4V- z`QA_|g~#X+-&Yh*Xs`45uJLAX;Kuqf$F)y5?O*MeF;E3+=}S-*`FS9`o3OnnzOD#I z6U>2b+WQzE%ZT6`+<_uQcBLXHzm(I7nO_|Fo2N7)z?$vUlS%;wqLobvexWnJx^nxq zOO?tRDJ^l)JSn&9D$8cmGn7^p>G_ImrqWN`Hus+*i+HW!_y@&!>g?OAEaOT*``E^LY46(A2(JS&9{S?vwWP7!@{0o+fo=6!p^?9d`@@g=aU$olc4DQAUQ~D z5@!MK<0W%V_oip&o0ct4*Bdaav#2hhG$67?tKd^c#Z^i+>P<#D;$7)CNTt#9WVE_e z&Z@Wvpm}8EwTe(zf}hyVJ{R5K=rpf0-b5kp4He>UOey3PlXIOy_9%g9)Xh^N?~Qe5 zDJ0CtO(`VK$Bh+2HMylQ^uE&a6#|es3JW&qz5X`L- G)&2sw4{whE diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sidebyside-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sidebyside-l1-1-0.a deleted file mode 100644 index 81d1d55637e2cfa6019ac3146f8c9f6b7c148472..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10958 zcmeHN&2Jk;6n|dlt5FcBq9_tjZKOaEs?DyGY#b@7T&1Fy9!djBRaH#v?6_XVu_Jp^ zQpBML&Zy$Rx#GkTapKs20Ms)l#2-R=Z)QJcch=5EB3rrgNb|98-tKtb{C+cUX1uc9 z92|6REPiGtgS}xpwqtE=uA8PMs?^jp>vk=8VSf<-mI2Dg0CV>NF8wa!(yss%-~L6$ z%g+HQUO^ef<=8UCzGo zdd*{xq0n>c4(oa?ih;D>;|Ki#XQXj7BwZ$+hn~w@Pbg(wo7v1_O@`k&;=ovkH{A>$y^Immm0EzqjiTuqkZG3V+#H6|M62iRX@cIjX;V?%|-_@~i!jZ=-l-TbAQE zrs>qzBA(qT%^}qQ)=S7JQJO7PeSYeT^610_YrpC?{pM&DQPTkHMYS~?o}mU$NzbDX zuC9l=Ggz3x-=zleJ*l@5%1LiwwBBZ@_X!r3GW5cFBz5IzSV2-(h}4ys)RnGXu`5>9 z?RHVQ+V;9UcW5cfo+A& zX0d9Fj<6S@qFnko`H|o${5t6v;9*+GOu8s=-pP;ix~1dX!Ety;^ke3AcE6W#+}LBhkE1qetu8 z1EpPv*PFyTQb!#(TQA}leQz6edf9poR*OLMOe4?d zc$1)uFMit?wuGw54P_2e}@=3iw|EaI4Y74Un}j7<3lG~PvgTNTQA}R?Kc~N zj(~tjvi<%!NS}C4HWz3vpb&E*I_5yB0Y72N(p`?-pv;;g8L*L$0c&`SnpzRQ#}Pk^ z0S^`A6v=?L((X709B1ok4EQ!%FJiz4ILdh$FbmrGd~m)$*-ThL8&HUua7zkAY5-ng z0UOozakmqR+m9l-v7V0`HJuw%Z)r8+#(BJ@8J!z+H-+;kp08n?#M7ax0{<#6ZUhp_ z4EPySofpxSoIEDdcoWwb$%wUljF|dMVuatwGIx%{Pcmm6cR zp$pwX*YYu7dQ&i#0q40XFd*@Vf{9)Wa@`apx*Km5ba9b0znu&B&Q@L9Croe1VqfSy zxG#bF51GlH^=ZYU5bq5>l>(6(@B`*d?QRTvOVJAmo=P>lM^IJ$Xv#{kLy jdl5h;+53NwI)EWYepL!YYQT?}vt*ZJZzn^3@#y~#63-!a diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-string-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-string-l1-1-0.a deleted file mode 100644 index b7f3b32b1b476c4ccaff6bbfc5072ef8295dbaa0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8466 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-string-obsolete-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-string-obsolete-l1-1-0.a deleted file mode 100644 index 6f976165bfb016bbeb3341da7d7cc1bc28180a03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9842 zcmeHNPmj|^6n{x}*(K0Y5TaEjB)3p5kknpwy;%uW8*$x3FD=JeZ{j5e=Z|8ewzrBa zLLknZIQPIOKzxE;k@x`p2t5Mty_vBmv0cKdYqW|-n(_F(H#5$g-}~cnzPsg3dxM{v zKU%ZJ*>YURwRg51%d(keww8rVHDJF90G9yje*vsM2RMC7)-(SCQ2p{BS~vR-}xK-GFC>y?K9R~`y+TZmsGe;SFO{n($1+vC13ehWt4BoIgp+>R^4 z;DD;4jz@lPJoN=h3?q^id>_TrV02fE52A61Q;E7!AjcD5+}vffsa^&c{ zOphaRWgc%7wh%=AL#Ds)0Bp}B2dOa`H;jMtw9(i4p}D^x;J~KercITHokxv zjX9ct!aQq-R>4t5gjJSn#FrUM;onBjAT5i=Q=!$RrARM}IdDSxo&;2>!z1j?BzoD@ zudEC-#e1j1J8h7JYJO(+f8%{!fbMrqrj5-_iK{CZ5^KAmHm7ADxP|HgI3ZhL+az*3iGr@W%~G23Ff=YgZbhEr}F*$ z)}olN^7tIvIFg@V)tFzFJRW`e{6VFrlCLxuM_?s2tX@knlY8naRPj*)GNr=yWsgj?$%Fk&w z7DarO)8tsjk$ikzBYtUen&D(Vr_q$sJ-k!lJqO3fdKO>Pcwd&Y$=-01b?}l>I^OLH a?`7j1B;N7=B};M^-z)laO=(|sn;!t%BrVwh diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-string-obsolete-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-string-obsolete-l1-1-1.a deleted file mode 100644 index 8575b1785407c5c50350e7a9cdd376af44d5083b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3498 zcmeHJJ#*7Q5M9|04w^7fq@WZGR766`hvLj+7&B>8&_H{ZZP^x)KgJRRbo4a&J*iUj z2lzLH-Mu^eWLqQ!b_zI;?pAwGxAMEU+Iw~yO*?}(_G_ouf}6QT z_)E@qdFO!N^14wTl|y)@3I4U$&azuz@QrW@E%@S4V{2&C@V(5&>q*>^_7iTq9Cxg7 zduZ&e!0CAuhdaz%6o*UVaHTk0EeN?6GzIW_NgAsMf87A|tzLAY9m;R=NMWlB zu?c2!SSiC8{8h^^26x0q)uO)G6u->d7Eb*E!<>;as@ALGBI-`BPM8Xeu-{x(vfc-G z*Lx#4Skilld+~(-OYOe(zON{ST{KAVPnAw+uUF|^?-gRjm_1H_17a+{%p>)%*PgRy4_w`0wdGvOizw#rgBc&Hus-A+j#Ba{JBy* z4bJ*1%d8U6J|1GQ4@O*=SD->=p~~1=jhkf}t#^u;kE?MZPIIH&YATF!;ow}~yrjF! z%efEFKA_J8Qgal8Gz#z#FUc+4o0iEhg{dyr7ci?aR})a0XLcwGK4nx`mAOWJDP#)& zH+lz|S@b+LiY_xneq{k@9qD;a0M#n+9j(G)XZiTEsZ*GtcmKcMabKiVSD(!Ow%$SN R9nZA?ir&i(^c$-r_HUfGR2>S6T{MZGyecdb3i6k}f-4B5nWf&W|SF^&wQS-XTEdsIJfRLhG*?BH@`5V z$=bJU%Qg>f(=hOdNiPlKz^YD)YF+kxffVEwKYk$bR^$P&ycgHec{}q7phd;@D z1Lc%&K9>2DIsoNc$1-o<1EBm_N#-5wduLaOBOxAm&d?Jl&d3>xqkhv7&)i;P;0hGF zcEuJQ_mr}d_Iu7*f9ME8bUnffKKDjLxA&;g^IXxfge6ST5ZF)G0U_E>qj{+#f%wKd zYBz=t1_NhUtCn$0w>uCqsYD(3pCzC|sYKN}gLdQodDj`bXR$70joLNIV3r2=c<;Q` zs#Pogea7X1MC&aoqqCEt^YrU+t!mkNPrB4cO$-&3bmus?hUx=Q&Y_lYZ8cXK z;azfldSQTBFEtyZ#&ig`RKa{%I`zB@VDOx9E_JwF_OUBiS;70#6Za=^`@WoT8`E(I zKJIg@Y$f3Qc2v+}*DIoe7D+*ip@J4WR?#Y&rDmst;8M%&IO?K*UjaPIwHi-+fs*TU zNJADT#wD0OfB9(`ZSD%wFxtG)ToiItMw6Obp0ibKnt|c@B32Y~x1*h?GrxDjSCZ)`3d00P8$IZ*wgT)7$K_5RQpi1Fcc}y!S*(m}~F`w1H<=Y6HzL&1sl)OC#?& zrXLLUnNCO2P=GdaNY+&BS_7lZ(IvAJdM*_P~t4IFrdu?0@{Y}J=R1nil#s&IC{oO@OFBxZJGbge$ zRfSO^JQy!ueM)C9UW77$w?L1_B->~lVkgG4nC1M^xn9%fn1(9Ey$b05mwgB*w(|_p zD0r3TQz~hh^DrIj5BB8yw_(&beOvz=sdAC6 ze<340WNBP8aND+{0@t=^l8BKo{nTdp2}ks4cb*%n|o6 z&9%Lu*k)LUtUpM{`U4ZUjyQ!L;Af=3MIPW=Wfkd=r3d&y8+VomXeZ-h9$=V^3s`?0 zpD(QkSO?m{`|ZPWjQz`Z z-R*$=@8AljW&c{p{u+^Fk(p0gPbp;nZ7JX~55MCvWWHwc18tD94DJ1XTE;JTcW4o% z*^fs#^Dusu8Lz%FVV{f4_*792v0MMB7JjyhNHb)8IVI~Wan_HJ0vAO&$69odWt8)s zHtwt_r=E<9MLCa?aeLL0v=1zhIgH$1Y9555sc=`Oz{ zXUO$CDY?FUkL4AVl>dJgzQ9~p{{X;VuY`ry|L_n}J|fMK^?NB_HkSYZ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-synch-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-synch-ansi-l1-1-0.a deleted file mode 100644 index 81eb6fffaff7ef05f1aebee038c75963a52ebead..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7726 zcmeHMO>f*p7=G8AkPwCMQd%m&NG(E$UF^-q*-8-#intX~iB=$lI&rcNwz^+hZ=qBi za^T3JhpOtKhaP(FZ|EQ3?{K8N?>po1tnJ-(4{^27k>7nN8y(n zU)a;Z-F7|Kb1r+HZ980Lrnc?59d*OO1^~PXU_Aj?y$`Vdw~U(>0L3>{d<*Rq-+f)i za~}dwyzm)CA@+s19tY!CTn#3{SnLnGf%r8V_@hXmG4eW|=tYMVm324>j)vnv5TYLw zR`7NF+u$e^{veJ-&lRq4gfH+p{Q!gr1HXH!ErIxU6b!!iqltgm3$8`|VEomd+rp-! z{z%NKqdIPfRIR4=|JyqEN24xpgQY-wh-tk9jM z_FC=f_Hvb(d-6ThcW@PSgW;V?bEwHWi>0pPc*I< zOUl`N6Af!XDXjo&JU_2-sSMLYb|MJJz^sAeNqB2;Q(Bm7@B-Apvn$m=^GkD@26Ls6 zea`8F!3onTCxrrpoXW(4zpzk=`#e?eto8w{uh_xhNs%q`BReg*`?2kVjVrY^o|F^h zFl~K`^tF!G&$0do#dFH+)AJ*G-KV!l{_W6c7gB#S zt<)1s>L(HlkA6xkJWlF^)E3=Ofd(wKa)GaL|Enz>WueT1hnUXV`_0`LRI-foCl>Mls==Eo`TwKQ z?mYf?i*Y&r4~lV`|9HGF&HokVzdX1SMV8qIyh8)PkaC|+VM(yyPb@O`jdOas_M65E zIlono^E+Fu9OwT)9xUSgPX<@2oSN!*^a*7gmuj zP!-Fpi4T+lQcdhC3uP8O!n8;er9QY;sRy^L9$uc4>CH-ap}+HLKXDf8%Icw}^q_ad z{{bIS>YSYUDNyQ1LX}!@N@~H)@0nhnlP_v5oOuo{KvoM&?ibF}B7q_G3wq0mRtp|r Qs{DeM|DvB`ReYWO7hY`%_W%F@ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-synch-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-synch-l1-1-0.a deleted file mode 100644 index 9f7c44bcb0ed8dfb448d6de06e3da2dd5c31e45f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35956 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-1-0.a deleted file mode 100644 index 9502df40039eb380a015f08f9f5683e1b06de710..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20254 zcmeHPTW{P%6h7IcO&d~LN?KJEm2C+is&24z@g}H(Y(rZWg{o2mK^4N;WSwT)y+mt= zrU+FPLIQCSeMP*0K;jLaka+AH|AikxIcLU~8GF_{L0MO;-I2y)pE>sI%zWRRnKSmD zy;yE-Y`r!1MqUo)oN1Ysv0xSRd4pw%$9x|1r}-UgV*oG(aPR`a;cvsT(3%~Ms z5zi^UjrkNW{lnvxlK>R2jq$iV0kAw_+e^0nzU#DH`-bB=Eqke1aqN55MtQqxqp)ht zTXwCwPSKY(8_q_v<=CWAcS+Y~*Y16{+SqK`HPbe2!!FzSkh%l5z2%fE-75y{n~t~K z+$h&ps&!{^77MJ_x9x=VYOT3muD$2fo2~mdy|TCCUfzwg+vQ$$ywz%>(!A%sQ*AjL z9^SmVI3JYJE>|HhrQXGI@vaZBBdX2D<=s``r^UshUP-OT#F5^jA^c*$43eS7N_FGz zQgf%_Njj2L)UsyPdR&g0H}AWiQ%`TR6rHwDklRoFgrF69F2SMXUa8g`85m&^Nd-Bp za%ac&>JB!IIW4rG@N`*2x?Ad(=oS)(de@LH3cWxa>a~F$f2y3Byhqh=;XOf%EjMph zkwG_F%?-zOn=SeYt$NvGSd^>ZSrvaniju^G4tnfK31-Koc)irDZ|~snbsa|>B9GKz zs?5YarL=okCRBFHo9o_GGq4ryY=mhTmSyGhRuK;@tc@)X9YiyMBli$m1$K5|Xv%YT z(Fml5JQ!vm9shoo1f2Tslgx+8cpg1<`)?0H;oE|8Pnq4s*k zKyMOH#ua)&J{pcf-7TQuD3IYOxZH3QYG%PK7*my64Groh^47oM-zNaKhc?T11A#9W z+mDJHj+IGjV%z1~=?LvM+)hVmGirz7Av(&zZ&%h{2QVu|hqV5Hom9*rUabmFnpi#@j-p8!gruArh;C` z7coCLC%xc2p5mksMuCpR{883EN7$JT%D31o3e_<%#K5MvwbQuEB@Acq6qvwTmotId zm)bN6;t0ckbAlU8IY2q3#7+Q_;yL&mCEcGtcAZ#bj9IQ>7}F-BS4YdSFefl;l(oz* zq8F#`7?R97gwhL`f5S&OCHd}Ij&P)>ew)R@ZVBZ=WML%BF^@VGwO+_9dfr9UX{hxq z%w~Z`m_=X57h#fr{Nxq7dh{rg;hGD?^#R8jl|#716&pt0zH}{~B{-F|B_LW{W;wve zIcp&*WjK&TRw0nET1)I;^`qaw*+lnKpo(&K5Ys3S>$&7SyXJ=+e1j*6g^zkU)a_N7 zfO$g;^F?zZf%%76^-h@oP{2x-m|qvlO~ZUmt(U<3Cu+SA^QW+Hbum8ys`YGdWB)}T z=@Itd^d*$!;72^#s%i@>tadJdE_)~m~dV{lEo9 zwWY;(qET3Gc3hYra3NzZ99MCn)Sq0C{bF%0@Z9XUP}JgrC9Svz>jHna9nO*VvMzXz zxDff<*?hWJ*99kV9H9`+jV^EjJLcd!Ov&vWRacl4CB)gG-Ws4Dd#2NDXg^oO$0XF3 z`U~}Gn`POphs`-n)SHR*@W2N&8IJYOB6D=t!$$?w(~wBMlU^O`k5dIOL}UG{T)>Vw z_!3iLte3WHg{|KV@jk1G_kquox-e!9LcH%~Zu2bRJ>0|ZZMDu|H1O=dT0B9T}?xmtN+Z1KRf+0L9?v#S zl(FAaZx6UQ;0NnrPLpu2;D7PsnfClBQ6c@y57`T<=111PP|f|~>7@Pm0>RSBetaa1 zyII zu_COx{FbypiZiL*ofV858~ z97A(rjFbz2LVfT(5`U32^fZLx>`LNUU#w*5Eow7!NqkX5Z-h{Y zAv`e?`dqCSGGP**p=%RHhzTiQ?q1&QZC1R_T2!r^E_%bUka+N}tZ1?I6 zy}fK}@VzGM>zEY^t;=4#OF7OJ|6d<^+mcN942XDf-j`6~f3L|bNyk6A$nO0OLvw$6 zu*znA*$(r2Sz8Pd=3{?T!V%KDHbHll9jmrHZ&GGvH&fEwi5@Uv-x1QB$P= diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-0.a deleted file mode 100644 index 32bc9b527da0dec58963c849db23e37ac8be2979..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9452 zcmeHN&yU+g6n=5`M_DZbRV@^XAX^qrO|Y{YCyOc+y0i$1E-UQ<6++B%XmzA;w3xxT+g(3E!%9b2k?ZM-`YMpM(1qdcy640+-^zWO()Uz zu6*b1p?P4r=G*Q~t8d1;nv4q(H?5(4*BF|+#(v+F1~&$PP1{4Kb9~^vhi|1_SA&O6 zX+YBl?vBwluRD%+3mFjkBee;QTZU)dF@*kmHzVb|Us^!%0H`I@2tS%H)jadWz~I|u|5114kv<6~`%cNiNPa74VI-fCAIc>v zn^yj)ATP%mIL`)*|=JDYBOqV8mtleUs%J=BwC#+h;gcmFY!}aHgmC zwvL_cOZ`F=VPcV^g_wRiE>srX?;2w6q~mmK=IJ>s+djrOVO4qf=ruZf@F230Z&Frg z2q3;uf5cB*$6^+KrgQm7_BC}`PR10FBQK92;Pah(ih9ATq-g4^R*ESxmGE)WGYD1D z^^~Z0p^}&QIRM>9Sl;w4R4MQamYK`W@r%-FuazS$H1laek3|{rW=_x*leDny^Mk4) zweX45?>H@V(s2nb4AOC-7AV^0)xsjgJ}x+SW>o_haom(54O|rlUMlcC)+{#M=#wI8 zp7IxB#Ckm+>zi8RECS#g6yy)TSwhx7P6SvW){lH86G>({0=!5Az!b4RbPZY+_z6p5 z|H!Z>Z5$Lg`!{mxprIvn@Eww3((EtKu0_uN8MAd_B}5U7(g?p3v;SA=xbS6P!F%ML z{pSHUMxq_3#J&(c&n#==bs7MsNE2Jaz)J;w$C{0IK@=i#;0lWw>p8Vj-$-cX>l|A7 zRN`2XTIovtj$0`mrQ;G>`63+`YK7*^yjq!yv=ZAaBr46aMqZ%-V2U)-=I5eN;8#3| zG!h$nzD?iaBFI`!RjA38)O}>iqzJMrv8hN^d?xifP8Gd$TtXGYbX=&4^Z3T|s-jG) zkoNS6HM6XS=V<_#A~mSOz)J;wz?#$`4SD>}7{#%_o|pZ}m~h7a)sX!c@D1l>ze4Pf z|4KE}?0>=Mdc^*4^1v1ae)QQNA98Gol+sk#sz}SJ08RdtLhK)%;+!~X{=Y5Fn?=t5 z|L48b5-DKxcUR7p+1*RMoKQi_w@{_P&sb6n7#(&@2dRyPDM8JtgtfJ^?*n|BLfFYY sCE8Wb8w&uk{wgrrE20(j0i`G=ydw;}RNyzPS=P{V{*hwpzvwOf2Yw+$r~m)} diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-1.a deleted file mode 100644 index f7d3a71d84b36d2ddf33c942e63227ad009d2c88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6244 zcmeI0&u`pB6vy9s6B0rT2mwL}fhj2m#4fh8@g}IMwh9F*rKnO{$^mKOWM^5Y_BvWS zr9lYwfDq!8J10(@ICJd*iT{B=fIoxs-gs=!#y>giR*@KKX6!d#&v>5SXP>=qUvZ`f ziXuEB`?@p1Aq$v+D`z>hXAX8#Pzwq0H{9ycU)h3 z27u}-SE(|#!`R)BPeXQ#M|{e5f+1&LyA$WgWoUHmEt`4nK2>QACj20naz+Y2BrOx? z;YsLDMgj9oW-*gF3@7n9FgE7SaDK}GyUnB9Ct<|>JFd^K4G)jQ$mf%2u!U>8{t>GZ z;I%t}e{_sn{|xW;`a|p9z_gSL3rBBE!pQNw>$}%(?(k{kj@$z$;x};jgI;oNwdNBZ z-5R6A4se8#lQhOi!|znrT0pgr5dsL_WV0%-*%Sr8*f5dGH|W25BIcMWAUI zwr%UW-N#0hy|vvI1{M~h1@MA6T5feC{xA~9<&6%;UU%q3PPs&k48VBY-4DYW89XAL zOB1g5673QmEa82rMa&oLHWNGPR?Bt$M7NFy7YcOAIO5Uq!w%xnAv`(~kB(<{td7|o zdLBS`NL);qJ4$g^a2(r7TkcK*Ld6yM|j5a0dnelEUkdN2&jH2=J zBV@}WsbhJt&p`MJo7z9FTKc6EUV9(EUQ@G$MG*^gj1)_FLR{7^z__%xY$Tp7qSd9 zlR36fb5yKL$)fqLpyr!mosGkyypHWaYNQD}{qd8_bar~0+0a{1@)m?5iaA=7Vie$6 ztg)}@Ts>0#P0P0Pc?Hz$E3yd4m>1rnRq!e$qe^m>yfQNNNnTO#7@wi|rbERF@M zAqyLM7JkHMU&q3p5<`n*;ZRw(iiN0Hmt*0(VqMC@oA|7ovY{&7&CQzjFq@rBp*{{-6}r5 zE!O4u_@P*r^6@S{_ojTbp#Far3a9g&JKm!WV97Z7JT{0{gWs`d^=`;`X{cQoH%3El ydYd_J{?9AxDK|RCK~ru3s{T?u-@IHFT&TS4N(*%w{Dv*7+P?DARWF-2CI13kWJ%Ki diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-2.a deleted file mode 100644 index 96b44badac0332952f24ea76bd5daaaafe560707..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2752 zcmc&$!EVz)5FIBeDNzv|IB-Hngc~-tNu5-xP(%($h(jgdym68ZF}35$YgBSU969y_ z_yc~TH~xw;vtB2gHg0mUI*E5@XPaF$czGJeX9s4X}4SJ4ur<7a~bNE=0!T!D1Zo zPhrgau7?j0#%F9B3MS|C@hG#Cg5fe|UB~f#B-QV(nEhbfLvjHe1K^?b_6$4Y-!ti# zHzqhkdlF-^Dn^=o?)Oy{mv zhS7Mdmti!{h=;mC?Yb#mC0~0ubqhvvMT)2!&({}GqhfW!)L@Ej^?4}uJ=Atu|5TV@umcZ`@Hn{hr)OM8lKUtv@TJM;4D1&uB) zRx$E!ss1=ix}$wbrvUfy%K4_T?&+M<*7cjU1@sCmD+wswOU7syyi2R9DtoosvX(9K p_tG=u*+uu0(e8P+wB;Cp*2yF9RfM`4{K0nH-(1w diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-3.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-3.a deleted file mode 100644 index 0bcca4577f6c91aaa5fdbe0f35f2faddf96bbb27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6064 zcmeHLOK;Oa5S}D0E#WOy2qAg1*Y@z@R4+s#f7AO8W)_^h&wlX}gLi0v6d-+p_evYLQbeM5KLNF1Mg?zq82 z|Gv}e)ts%M*Y#T4_tB;Ody@OH=WZ)-x4TZ@R&RNJr{TPN?7bhnHwgjNSG}#xpx6!> zl*Am%G;P~947-d4r;Yr*%poKXfSCa}!L8X$F>v1o+)geGFgJ=-CvcJ>+*1MbM{(2l z$H3qN;XE2}aXG}!U}FZKOHVwW#I1yO!p$e+${}tM8%JYsVL#Hk(DVyP>jKfbplDra zScOtysaS0^0E#uQ;i?;c{RY_1)SR8rpzON;Xu90coCMQ-mrcTGe#<3cG@p?lav3TI zlkzM3YZklqz_71~5xLBz!9mnjI67gnP{VTa?-AyAJw3n6*UBUOws8+m@)~CTH@{2D zm9T&f;`bTF58C56eusFy)^L$t^!~6-xUfB3W5|Fx3LLEbIrh&nwxwZto!{|tOlAz! zf_ksDBQ4A`_zy~8?@A?*f61r)q`zV0GmmJ4!6D13CUpYn63@arl4^Flwu z3`CAq#MI+)k+NvK>xk*b<818aM2xE_j51+m{P=yDu0DP0+t6Dubh>yZxkhslHvtY~ zmOiFyy`}q^rpt}S6VRhBM-Nb3XD`t#c$XGQm14DcGN2G%BRzvu6x~mWW|s;%!`FBM zjV#fNjxC?Dj6IemAJ`^+e$@ECl#c(_iWXVqj(k8DjN|`v#R;mW$^T7l-o5zWh{uia z|8+br;{Rz}UqxZCsZu=ubHn_{GdJBpY}&6HIIC9N*FfYNUfCBchc%GmGh~W7D5cZE zK^)+nmQ;_vT%yhXn>dgi)&Z(uKWpG$;=q^>>nZZzO2_}w=sD;kl3`pNcp(YHQFEGc zpr*~cR~+cX<3{4Z`*>W$e|it5jRP5o|1UxU+s`^U&u<9*JhY}Pa%JDJ67fq<^UG+8 znlRI8V#yjg8y#q3G1A02-0!rS0MbP4|GxdL34^GQseeAYDGgj^;XBr(iP)tNs3I9L I;eXEgKOaQ{wEzGB diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-systemtopology-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-systemtopology-l1-1-0.a deleted file mode 100644 index 0b9b3448c6c0f26950fe54fced088e2947c3c28f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3662 zcmdT{&2G~`5FRHfDWwPw95^6k5L{3lY?`{MRH2B9pF^p7;fAzzn@wV3*OBegmILCz zfn%S6BL@yVL0^K`q0FpzlTBkc;m}l!DJ(_D64Ibdf20ImTTzW^%V0p_ty&kdU%#x@vxm+&}Y+dSnl+lX469s2uT z-)Cs_-G<8of0rI^SJyVeQ<98hcf0ha^+oB?!xzj6^q^Bwu4 zY*0BW(!auQbJ%qOM)-^(qij4GokX_O?1U*nh~><9y+HBa{fBsOIOFl|;#u4ld#PM? zyg!pJg*&KFyx)~^LT8;9?+UNi8g9TJyTNj4;XC$vsUQF|G1D?@*>xlWBk8`nG$bBrE5+hAmnWtxusdaKPwBg+eifl=&^(#tm9$V*f}dDUxG+s~shZLCkFt?qi9IDtmK)mbD?6*N=$uI`c`qY} zs#&t6t*v_zOZxe^F_wJF#|>C=5BJxU7*wU?vjh}N#_q-cH$zOh>mfs4C`Vvjf*)8a OhKy}}s-K2gWvjn6_8 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-threadpool-legacy-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-threadpool-legacy-l1-1-0.a deleted file mode 100644 index 072823889f45663c697d8b9238f1c26f9c238c99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7860 zcmeHM&2HO95FSZ(oC+=)6m4NNK)?d&tyD?bq7}dh1UNaQ=%E1;q^GWFYi$vxB!i+8 z2go6hkaK_@dhA=|&~siO?~-I@c1f*7Qlbk~f>156Kiv7qg?N&-I*po@-eSo6OR(yp}q)tfM*r+ybb+2iW`v;ESfp+Xn!YzxqYxue$)0zkROq z&Km&Ax8G70;!udEBN>gvZ!(sVI2?ARco7Wzi$Gv!;I%yw2FH|j?{FYbhLIG6=#L01 z_&DxG((hgjhoK1NnSb(9gsyOfBYc6E>q`)#hk!*42;%7=l4rpPXY|Yu;)hqAHVz;3 zFL1IsmdBU!Qj!;*4Wsi%vFvx;W`fVRJ&+-~>q*d;5d*kooKYg6MB%=BZm2xIuLR)jJ9M?R@lsGLmN$LzaJG|j-U--sQxiamJ| zeUx0CFjcs~a*^*dW__)Y;rhV>pkjaxjMjb*bQ6-r|zp2V3l)FS%8Q?>&w+2*ERFJU z9-2833p*O4yRfp}efp7(-rx#xoNmDMs!8#W#v;Dr$`iBlF&&#N)6X0 zLkX>NN@(I{f)lN_)=JP!`d3QWgv@?`Ikl=v_&%eA)Ge%pzeow0DH|J|0^7oNdWIVI z%Bf*@H=~Bv_-dFJ7k;PL2PUc(85fR?ac9MaFdvtR3(xa$>0_sNV@G3XzAEL%g$Vq|9V^C*WUVP!KY5V diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-timezone-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-timezone-l1-1-0.a deleted file mode 100644 index cc8d2d1cd53afb64f1d14e1bdd4f200532704774..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13410 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 PsM@*?1g9dVZ5RIo3uoUE diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-toolhelp-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-toolhelp-l1-1-1.a deleted file mode 100644 index 5be0ae24e258e4a462ae29e78c6403d515e55a78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5104 zcmeI0&u`N(6vtnGjE%Cvgb;8H(%^t-NxCjwr3qDmi|~1#10%d za^NuW$8g@2JAcl!@!qr3xNW)>q;?vbr`XQ(H+J*vUJkZ{4G)UcvGFR#yz!q+-htBUY^ss&spzeC_wbsGcJ2H%P6#waSBi z_N~x3JZ$bprA|DjS$($lxpKeClwe5^M8V$>ZnN3E>I);v4p2>GRL0nx0_I9V3(dV%fRig7B8>8&39uRYCN z1qb_}jSI;tGq8HBqo$Fr>&F)Lw}F~=y3WRCPIob{D~&Q?VVs;lrMu(f#71l;I}5TC zX*3Rz32+-P>0i3nYr2nVsNCp!0{W`Us|P63*+Vo6KBcXsDqgkqWFS8H{pdHyc%tVi z(daTha2v>p`jM7r%0fjJzF|JJX-eBjO?@-RYYFpSo{0CVSsCH|3%>ScyuVWnP%%s1 zKWgJ%#JiWS8{xf|uIuwo^FAr>S;c$2AI3+SmFvpE#P8F0A@}Els=UMoUr6OO#J@#KW I(?3D{0sc}wSpWb4 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-url-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-url-l1-1-0.a deleted file mode 100644 index 4fe81e60b14e001d1ef9d39b32b9518a16a4f253..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32470 zcmeHQUvC@75g$=@>^P1SCywnnPQoNg5VV$hq@^PjxP@5NZUhL4kwkHj7CE1&lf{@K zS&~Yfq$pgpMbU?%=|kI>_9Y)7U!XxB`_vE6$9{r76n$zsvwOF@cY8 z?Q>4ce*z$C{DISJcweG#cR8)S4?whjo70V50HTd|Ic?qmAbQi~^wui?L|Y4--os}j z`oVLYKDY!xRh$*X?W*h1`BGX!nPKM-uxZlJ(g2!LaLfYhKNB zJm13%_5<*|y};i&np=RkHSBKnf>GNa1h>{|F5a!PKfux?*$ShTF2~s@w=uf4)>JYI zuUX2Q1OG<{c&Fu9y24eYTB%Zu%cS1uzup;*`@@fu*~Js$vdK(^tjxESczSk?xxDU= z_OOoX%A-qGn2wc@Oy?|2|9&vO=?}-Z*6NOuMT{$@TB%Z;%cVB^ZGYV9_u{3;>|zOV z*?8#{*{Jk4I`<9+i9#wo%+AuM$l;UkAR3Mb%TrRcU>0w^67DOq@l~Rco45dU1uKT@yuhaIs zollaQrzcUaihQ!D+5l>)ao zkFI2U;r-S2&q&nRt!}s9R+@E!fS#n_Eh7h_NK`8v+uK@1M?fQ2kM#xv|j&3!dxF3nB z^;XG}QR-|yOGc?Ls)PAC+Q+xBPFYpykL@f@x zaMLyFByy=Ixfvpx4%MUUDTHOG_FBf9y|3ICWRDW-DViv=lP)JTit@XLGQD&;9KrI9 zEX!Ib6Y;RbUw-v6U48bMW|p4gopY_=y>5p0hNIi} zpCCx4`7iH;eL5X%`Y#_S_nqXw?4`?T{>w03PT2P+uzaTeOO@kYOtg_BQ)EBp0zN-& z(#AWS!S)sS4Ia6Tmqkv@WF``Oz|ufWgnNWP3*=OhNJ3d;)0nkSMZW^CZKxiuG4R4lmg+@jzHt-!&9q zk1?&F-Ecm&L_2T9MBGyNGkMVdlteqZGBbqs#L8dwRaz_SBI|~8sEwNL!`#QFpSEu1 zJq{1%_1auFv#s2B(z=;$x}3Id=A(2uf%fx=TGP1XIYPU9NtWJHrSN2-QU44T05|E+ zG&zIqEAV?fl8sLkTX`8aE769{uNls?mRi6Yl`Df-YjY?qcv9Db7Uf=KPv>x2kmv*A zDiS7I(E`(%*m8|LQ-drm$m97u!L%U!l10JMZyK|YeWF7+`f;umyq9ybX*kw=pK0&4 z=E3_}1@C0;i)`(4;yqk#5PgLy#CyoKg7!z`sGYs#_ zXWB55Q)Hj!X=Vx3IF4`!S?~2b+_N~2TI56&M^Cb1?G0yR8%~LSYUHfZYaaAJnnXXE z{8>YPGJ2z+-)8K_aE`X&=yCkg_DkEJXZ_h}Lcj7AO$y={8T}W@EZ`<%_;t=;`wILP zk7WDRBF9a?o?^xF8_w94*yqieW%=`9|B(dti|*?m0{aQWuVCM%-8Y=Sb(;;%=P%dh zNV}hBjC%@b%9ejAnKY`%Hs5F+nk=qdZk*uRu=9@LENzMP$#y;u)*qHwClfzISXUMp z3#{8)TkIIl#g;1)CSyI%x}1{?>vH-XUESGOmqYlD7h7@bvl6XXe8U;qMqQ8T`~uzF zX{*zI$X#LUtJ8Ls`%YS&Hb|EfAvyYDGfxA1j=!R?661Fa=Wxq@fj2ByjQ?+?+CwQCLAe)M8;n+}>Dn-< zU$8jpbxdb=%P-?FHOSI}Ja1kdM=c2dH>c3ZH~MCXD60I&usF+#_hUGp>y{{gU?@K( zP~Msylq;V&i%@RwD`$@BylqYQ@$aKyo95%s${Q#Y!8TpBFb`?}QdVq_<}$MZ>g?5P zA%_kX_#^JUv|>;H>oz-{z2OXQY3+HlJ_w(t0`wU$`d7YUW8cW9iHfTD@Nt$EpT=~q zwtU}^!8{A)dE%OLfS<=m{IO0lIspOt7u3k+v%%P7udTc1Y@AVmvW Qv#AA&zprb-(R=>?0~~Y`S^xk5 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-util-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-util-l1-1-0.a deleted file mode 100644 index 8540db9911dfe8d6e7783b3e19ee13fdae1daa5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5874 zcmeHLOK;Oa5FRHfEulPBDkLrj!3B|Em()$93Plto4n0&LB!rN*c{s$X^HA(Ux%JGc zCw@=)Bm5M~%PZx9Dv`ourSnIlO z@GiC0^;)eiZ`dsZz%oFg1W@_~u(T%XwK@RR8&5>NZ2(YRc}SJ9Eymt^_QYd5wr@|^ z)~IWT zoW=n5df36&efQ1t?ZM8-8R7(*H5}9#j9FTzxF-dzm|x*6Q=gsEDa^`4#GAy-FKv6= ztOqYDub^v>x^2HY3OJCq_NHN2mZj^K)d<&qTf2hG5Aak2xXI5Jw5o3(`20M*(ZSfQ zc3XZc9m0E>U>sN5o;L>uhlF$Jfsbkd76}O@d@r@|=Ly_;U?<#CI&LGt>3Fi7fD8JO zn3aK7L1I>jm=z*s#WgEt#i({&7pgtSwI%rX3BYHq*V+pV(yscBhAN&Kk6^0b3TYU{ zXT>y(;xF<+QKNRcNS|_FEnwFS4EGbUp{VKD#!K*Y!W5u`ZO&1k%$eQK&g_kb8DqAE zD{zZXrgYxS#>gtl3Lc2r_ar-Lg_D>q;Zp|%7b;~6ATJ1)WG5SjdsyTxX?~IW=Q=;j z!tp*2(Fn)F`2sz^zdzg)7S1v_2OV(l3LTJt$){0KV~cp_m@+sx;5Z#gn*eRzilzWR z@g(QXDW_de?yN#no`I#tg*9)t*f48~rWUy)4w1K%HV})|l_tv)R@zNINN&?X&u_N~ zqdTow4F_v0<3hBnOzjqR#JI`0P*e20O~iaj##z|S%PO`_iIFBe=*K6I>FVexvZ1#i zA@e{0F^$F}W&&KrD*Q~>>Y3_m8nPJQOF-RiNdt%x`vmtCjS^a-T_M2m*-z<%&y(Ik z=!x#9LZb_P+~?N-qcC`uK`eD^}L|E^?u#Qvw!LWcr;$5ygGmfpv| zDDwR1i5S0@iSd_lUo4~`e)x3~GJX}ivogK_2_Jr(AOCpVPndS}p`F%wHYzYPso*m1 z&sM?T#C=Vw;J=CcvHv$Izje+i(=oC!-V%Qbb$z$It%>Y&j6rZ-rt?P05Y95wd8>>& zE7SRujEiMDy<}V%_v!m4YupE*e{>fmzh}V@MVuiyL1gnm#vf%kcSK0wZ2@q4r+!H0 H`+fWe&ZoN2 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-util-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-util-l1-1-1.a deleted file mode 100644 index 4776cf04f3be175d96f1828497c038e65d8e121c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3528 zcmeHKO>fgc5FIBeDNzv|5aPhWNN~f(?uXN$3Pmd1dZ>_)xNV)-X{Gp8Q; zDICKeqs+{DolRr6AYoNPOyt?|?DOt=_Kj!rbkCm+$FDmt&1G?ST+j8KUU$nh9q!V# zX>M(L`2$BC0JsBSddXN;b0PMHc%O!|R2+s`I1~Fx5Q@*y)IW^`IwNn_ z6LB=4EB7YTaG1Z-Bu$;UXIF*|x&A&}iYhbm8$NZb$hEw_c6w zDx8VNMhQ;!BW*&gn|1Adv-Z8LjQ#q=Q>#O%j8J7|Z?n62=7tKo`F(fgH6IAvdLH_*`r(vW2n9W~XYyzX&Mr4EWK6YHjG(RCN~`oL&&AkLAuRJ@7B`c9K)9WSaTA98L} zW7bzKimyBE*fvf!(B_3jRavSQyNHR)aYaticzcNXRF3noo8=MeevZjq*qHOn=X7^* zvGCzZ2TINb2q31>e8fzEyLibs)4gu#v8E}TtF;95YD+nQ7+EJcQZ!59SyTmu;kRGP z4}MQtgUly-o`hzX`SFDB0VwaK=T+{ZrUBnjR~~q-KMvJ;M5EfmdEord1KKG`;qp`1 b-_8SolCvzcRZs>-# zRMk`!e^}&JRV$T6alv*T0I(`KfZQK|sTHqYSq7kbt>o324S<;q#?}~n?OI)zZCX96 z%hoz|i+#4+=AO;aXd8+x2zZL1eikA;adUR*x_Ur+a$V zZggJSN7j==oIbc{FeW-mSC=&3W#Ty0%}-XXSM2y4NLqVc(+tB*staP)#+(28}(0VpF|_Tfjq|gbVZ% z0*DjB#o5U=jdhZ@r2I)9pR4>R4a=K+w?;S?&KPL)n)~ft&%${I=b!{0T~7%VUy5nJ z$UBVppCj7fV4vmGlR5!pi7W6MEu+sz6vL<yP4b0qgJL>ZWCV2BL3q;ysb?nHP2Me<1kYSHQZkP^Z8zY+2&1r+!5qqc*g3+9;JH z&qK$^mtop?D{*R^+Neo>2Wi8J$3?Vp5RVJAF^lV-RvQqb4g3Ofp>=VO=#QnZ3;ehi T6a{|baf~ife)t*r8%X{i!&7S% diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-version-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-version-l1-1-1.a deleted file mode 100644 index cae8f2b4c560cc13c01d7bd0aaf28d3587b2b42b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3570 zcmdT{&2G~`5FRHfDOM325JCtEBg%~!yFX5XDrBh=2#Es{f^b0EIEhV6ogc*}pq_f* z0ea%Xi8twuD-Y0Tq0Fq;$)>iGaxfK}cy~Sf?M^)VeV)zzJ!jJGKUE)Vi^beEEz>fZ zmZ53*#Uj_5w!PgD6WS^OTmewN0aT^{)nD7&`E;D~TOEx5UpU@O?E z;O~+PUoXb(CU(ND=i}-LZWB8j8MtH|DO4MTHKb6DC{z;^ss&~ZKYA|+0CW%cR!sPP z2Jk`goP)$5>~j3bUHP0(g2}NfzQ-hC@p*JXXYrvhrYY z5pkESPM8vSSQoEZ;&=Zq_+4+-Q~b7Y4{q>hs9ZL`w?ru6CU%J5w*^0FkF)rl;N@1r z&GaIVCw;;t{qyYx8md4wDZk3&bB*^d!ty?UpCTL!XAF2z|I_dwws4-oB`ASMH&z10 zmts0E@*5`p%_(hgaKdtGNu2<)#7poKEyZV&;q!EkD{;xfnVO;7u_gU&jVUzlf@h0M`FOpuM6DT~(IL(DWA zXW=j}x3IPaMwqbCPR<_E-SP39x-^;{3OuuxNiA6RGTAvxLS{%4p23jQ~v{sGuAV+a5M diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-versionansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-versionansi-l1-1-0.a deleted file mode 100644 index 66013bb97088dbb377dc3e71d091457d0eca54f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5254 zcmdT|&2G~`5S}f*|v2`1VxOI}sPD`jb z^uPm@15dz_m*^YtGMp(h>$S6~?Zg~v)Rp$fv!8e3+3(x2b9cdTwwjCi$A!V7RW)7H z)p@;KD5!i&ZVQDXZX8L&YSwT)eiq0!Q7I0f7n_C^nWQ1tBgk}7C9~ZGYZKLg4%+{F3RAw+- zsAU3UP1C5Ktt((_rt@;obUv>c_MZ77<)!JoI6Np{0+VvI7M&xW+LJpdrnO(vl zoSyA@yU}@V9hgshxO{Naa7=iX?k=mo%h-9SyW72PsS{8kjsu#i>N;+}UaJHgc#*k) zGyte%0Iu@USfRXue~r75s#bmagT5?8G-ZXk*LL%TSTH3iKs=1s6|^VYDKkFw{3t@19w{7^ydWN zW2Ry3_y%E@V@NKur~DF3j-L{Tkz$vP!$@(XSY$KQ4i*tx9|*Z6bf{x{FdBAjpo2gLJf!4cZ$D4zRxxtDN( zZsd7?OgMjhy2k_n<3KH)0OLG9m-#3O)0_O{MmQGE8fbKzd+i<1!np?jK@B{*o*F2= z6w`i@Pa5wxhxEb0KGUfug#uW-^%@0!;UJxyb+$QCq~AO#%vG_>dNLc8N#@jfNnztW zEMJht^lCwzmiL`36If?({*7Qdb%nFbB*Do~`$rk>gX9&tsgQS1DYy7F0IlO$RAHe`f$!Kxy>Z39 zily;x*jGR~sRFc+0(uyPQ3_ZUte`GU1-z5|4pTrq8W&PPI~o@#fO2h81t_F|;I;aE zv;QVOHc-&etkuu!MKPi$H2qbL4!PFEjlLVc9y zLYd(ZIWtNh>k_Zh)W@decbGoxXk17i`_Z^SAJe$^N%a8{`oMoj&b2n~kOZ*wwXx_K Uc&oq<>?5?1@K2#szDn|c0oVR|UjP6A diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-versionansi-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-versionansi-l1-1-1.a deleted file mode 100644 index d75ae32c67471ce146a13c6222693bfd54d13f83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3602 zcmdT{&2G~`5FRHfDQOWL5JCtEBZ1&RQaefAfGU)#5(tR{5(05R+B)^7F?EtEHU;(6 z1LE8#fD`Z0H{dmR3d+oQoos67=h9Sc z)Tx@L#a()Bnzg#42JDmo;0l281EBC7p!g@gR&oF%um$~GffIEl2+@(Qcd<)> zcqyY7ejwk+&+)3)?!Wbq-*gUF%6I&yVbOv$pg6;ygg60qDnv6ok_c5TbASC zhB%G-a93U%xG7lb2EcW;mW)ayzea3Nu1v6YDxMp;lOf#G1nacY3d0#NI3}D=6F#UX z*a8{_d@jB4d@*i4@e^)&GHxTmJw{_S1DEt8mCD_)j8rNUmC72G%7I38u#nWsr^0VwazU(c(t2$Qx9T7ZqEM*%Ee5!En5Y z6?x;)_$2BsnVm2>_=NRh^vgW&%+K?NwVvX+gZprU-=lEZJg=&7!c8=Y=eHF{XrHrq zp5XOX!wq$#_a`>t68n6+ijE>sO<#Z_$LAVb^Dw=`-&TZUVb(x9>U{3)#~$VyT!I=n zy0IE4z7*3@(Z4kDGpF>y;DqVal0pG|uHz~PztLDsR=L=$r4nR`6&6}pY?j%qOtMj{ zX$mWHSiT{PDcKXJ^?fJLGG0%x|D$3$HRi=-lHr%1_Kz}LTU!@K8D}h$G!S!;jThY>y{pG zS~j1~F`#E-&M2U`&(We)aFmu|m4dY#Go~1RS9*q6VKkl!tsX1p9^V7dJh7*#Jk;di z7uM6xL^BUfi#XM3%CP2BMm4RBV+_hHWqeR2wlW|?8Cy8we^$j^^~NJrJWGPWZ}t=G3{}kWcVHp;sPqq-4sQAY diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-windowsceip-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-windowsceip-l1-1-0.a deleted file mode 100644 index e7bf92dddf13f127eb5628d1c9e9b0d90ee3edd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2704 zcmc&$&2G~`5FRHfDNzv|ip0@KAUM=!T_tXiDikTFN|ES=3zv->Z-}Y$qu3}t@(AU^ z^YjgPBg)Kpovf3X!XfQQ-W|_=-nGB|X2&m2gZW_eq4CZxn%DAt&lm4~&$a~*nXPRf z`%V2ozX1R>0IP>x6QKT+E-AZGeoE9lk>@H^bJ?ASN-m;FFpDGxBfss-IJ%%qN2e1t zn9h|X#5f_W0&=^`1ZXeMJ%dQ!+h;zVNwQjSy*?sh4VU0nGr`8Z2ecsA(>Ts0cc z@B`Pv5Jtfwb*D=z%Q*Ce@O|I5{q~B(p7jW61ZY|SPubhE+*Dnq?3Xt-h`t*JX;2Q~ zkq(F(_aaH|fWdddMKs|n+{?^xbD@UsWg5?y;aYi|aQo%BlN|RJor5j7d>jSfj1vd< z-5~*xlMBF!J;!r|8^$q!JB(tbANqX@@WmPimw7e{*lGx@8OVGQo7Wf+4u z;-YF%TQtorbGC;=f59+cq>8HbrZ|bd%V#G{1-@c?KUqgQAN_~U+oH8RD{`ItxDU_x zJ8BQD^J7gX9HK)yf1x!(`@Bu(Io|9I+%j*>@!Tg|?yvU;7^nlabOO|wpC|17i_%AY zA|f1(RRhCx^lfsPMObU_0NKFoX4yde5~nLOPnztVH}ZqQxzeep3-OQ)C~nBOE{1N~g}=T_stb z{Iq{m;XWJd!m8pFDoGnL;db0I!)U%!#7ws1d>m$@lcu9FI)t5lbNia^uCG@y@(P8W z^+xNEJ^>!%mGMjWre|_YOI0`P3YZm`s|aYlGefirK4nx@owY_?DP#$MAH74CRrEX= ht)6AcbG`?ld9uinj!;*DAJ}gE$CUiu+)I8n{s1BQ%FF-& diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-0.a deleted file mode 100644 index c1d76108fbd6582f7729e2d5e3811dc9b872f8c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12460 zcmeHN&2QX96o2a^O}dow6^Rl7av@MYy20Ki-UL-uXhh+VR#Dmtgbm(+d^~&qe z79oTXLL4~cfW#Sb=D-OFgs8-!68{Dl{tC)_>U&qpZ|M1CE}52T87s9*x^9RjUh2AO)T+@HTV(*41DFf}rUQWTKT$q=4uJ9# z>rtNl4uJC0zeaiPFT4!%b8$Y8dMM9djPivy0Vux~=Smx((zfk2+rHg#gO0u7hHhZ5 z`3={;b0HqT)owSvx!njT+yJbW03H)ZQ>BH_ zy^DiS-=u@Fwa{=vr!NZif^mOgyVDr}gD(i@k;3`K1UrcbllWXb34IZ6DUlOyrZ=vZ z;7IYA0$kFL16t*vQ^9epLIWBd$OBrXX;#dNvCwEX>AHm-WKFE#--iIZr5$`5iN>hr z_N3cSbUg#1xGl9_7-q+bUKnOWvdct?%6y9LEbKRhO?@!JcH|)wB{Q!iK1;L{Mg#Ji zVMi3<{d?-(zg%6Cyx+n%^0?^H?>~HrBu7VF{s`b)rPr($f#j2PU-Dsq)0iWB(>Xtq_$Nmp;IUi89Edp~EJk;k zNF-T2NhHDwIVOqz(lbQNqw6VA$0H`aD9!t}*74IW@g+!1 z-+nx57vm%zeOio5dGsv$g({C`@;qWYRO8JZ9c@4<#yZa(*7e-pVaBd* z#HgZ8O^qd0+{zb;cG0348jaM0SaOSb*DzV~5xZ|cmhfoEa1u*;M6Z-3v*-b;ESb); zg!W{|I_qbBj;t^yx6m|qT)4E#*`a+WxeybRl^5N_;_;8B&kbG1T9y7ix`ls;uDP>%EB@&2IgYU7XNRf0m7aVfJ zQN@ELHUF=flK+2;J~1dBaQ_;n|M&1$$^VJNl%lHmD-G>%eOZi4{eK>HsK$dS^8e%u zU5~ZLIIlcj6&B^3xD`vN(%?@li4*-zkXv^sKu5)&MK%5`%KSN5bkW{;>a8%Ji@r$}8M}w0u>RB|<(T`Q5K?%Blv&;S2hvVn? z@`1kkP|701jYuF$4SvVk?%RF#iBJJID%L1|SGVL{s*_cE#+nz<8&p{X5^M5*v66$0 hGjlFb2QX#K*@y(9)Zh=SCFbN!aI7DBhy2f2`9J@*#i0NI diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-1.a deleted file mode 100644 index 02beef3066ca680e5939894f24638906e583f042..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7356 zcmeHLQE%Kt5T5fTO^E_j0wF3@$c2D-;I4MKb5f~72LTBoimFN#FGw5byvdpP&cSxn zz(Z9b9#F+Y{|gU@2T=Jfyz>(%GrRWPZoIy8AMoj<%*nfZ>kf}!uI2UvxnitKMffwLvPPxQFus4u8k*r7$=+&Vw@6| ziT^kV;)iG|iIaq%#z_`Vj#=a~`uPk^jyW(k;(pN7q`HeIZ?I}B3fKx18Sg^@R8KPWYUa8512?fD-!}F{gPpMGF0oQRn&qEG4*a$h; z{IYcgX#g;2VYG|UdaIl9^GuAZ8ylR1F5SOsh&VF<=UMkKO&7r6G2ucoxZNwTYdBcL zb*UokNnF3s6Ygp?ZnwaZ;VlEMIFH2ajMEPCu|ve9L7AAH$nD^-8$=OZ*F6d&o*Vf0 zIlyu2$Ui9*xnA`rP2aw-27;-+w5l+QAKO(J#fRjVc8gkFaz6|It>dXV7~wmLkao+} zjpY9d>x8j@qNeF5BSrt{1)_g%r(cSG5AVn|v7@zRNB>UlSa=-=6#Z}J(L#6J6#WHW z?G@aVP3rk#Ot@lvvB$Is8$c~R7dC`{UKXP|F+UPn3*jgte&8q@olQ=pMnoMfffvHN zk{9G(^65;}=Z{=-i75hH#60!HRRHzzX2IX6X*ypwRT<>v$R@Eabx`_}dJA)ocUxiI zhVa@i7}->WQJkx>K$@#~e1PYJJo>4#|G%6w%@K4@dpOxdnHOfcNy|BVh&eaormQ1- zcM$WV8Ry|?A=}te4%Wqf_WWJaJbkL_*Fmd=4Aq&8OPZVF80%U*q|fQUI#T^k)3?i+ z2-N&7@($#@5MHBM@G2!I=j>K8k;W#mXIg_~A6-vEvr9H%u`Pt`NX`9RL!AYGVOy*0 ztY4ruTV2oC)2qpzzM8Y-{redmwun6koz|)#c24v;mYEXTFjO(OU2a_Bv-uE~uc58Mh?n>|8R3 zZm3KW=5Gyk>a-VOjz!Fw^9704v&z|~E_3F%U|{;lWhiI`Zb{5>Yci*YpPYrzS2bCq z{eP_6x z6KM3Do+EtkfF5NHCh{7gj>%4go$2Y*> zGvPcM@L4;<*055;b?J%6OL3jdPPmnFTsOnfz-tA#tR0Eg7{?9dSA&Q~m8(Q+_;$l? zw3-9or+&?$=SwxfuM2=9W9S}d24&a%Nz+#^t$|>=FDqpj&5zYGjOIh~OVyx!HYq=| z|CX@n8Vvi67*aLt*+JA>HacM{K&)A`(uw_}KVW~a)yYq+jQtMo$OHbO+HJGHr5pVo`BKAk50{7Kh*MJWug+W%%@_UgUy_tU`{c3Hks!a&&hIjrrQlDy=^cbX-?uVz+HS&U(>r@ z)BR1;RZH%_X;y)+SRtJheR_Y6ABqLXuKI5wrJj=j diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-error-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-error-l1-1-0.a deleted file mode 100644 index 5241405ac5abf82cee77763a27e3cc642ef5d853..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11324 zcmeHNTaVjB6h3kG)>SJiK&V9pOtsu3671cqH!H2Gs4EsBA%Q}xMX18--8dU>lXzvj zt&*Bh|=_FK9U-6d}u zuWjk;SvRnzwu^7ap53-jT`zEk$9sM2*iYUr57BmUU~d1uEg4_i?%JL`JhEHOEmLKdpL65!Qt~(6u&jL|u zd6>4lYn=x7JU%+f%^A)3P7+Bcy=JyU=X3WYsJk)kv-qxSnqe5KYBU=$-`}e&A>{!Y z6@aH$X|YnL;j(geqJnl%?^uDA4Ph-U&>qzfeSZQB9uUr<2d*_D>;e`R@V&&qp2u;U zQ9a>SvT<7x?sY6&l;EOvTwH1czlLi{jTRRwctOo3QrG%=O|NP7PQMRO?>c=uyy>6E z0LPWCbvLRA>qQw-m({U;2`0)<$-)S-t7c&YxsfcY6-q}#C|f48MQqB!FnN(yR4cEI zJ|w(~o=zAAPB1NJMJGM)O`+#aZ8N3k2F}A}HjafSt>^2ZIN@0=ke*)&b%f?wrsok} z%mrM`8?ikq6D}%`=NGYJ87QR{V42D15-Sza^d7Ue2*<#*2D(A--taE3VY&uSfDKH# zoDC#jl4%mem4?4_iXRLdX*%V^PymOeJW=3xER^GCoUb1fx=gFYFkjO&UE?&HWJ$I* zbb(>ZOe_yki^+{7ofhYvYF045iS2hnO{YvfKT8s?{4{@L;krVzG zjGniHm@niw1DjcR9@AEc39B$uA3c7BuFlSqI+B^(mn0179`#AO3UC13}7~M~SdgqLJkzE7Ob9l{-u!b@P ze#A7#O`haNm*M5dywJ7_@ezrwBh_B_i*h0{mRZ(s%AvX#f!s6OGySs@R2^B-alRLbEr3(ClIr5}{ z7{pWLqVQ4~v{{fr^SuU}`!S})44THrT0{noeo^>e>@~)QJmO?Y+e+m@qbLv3XHoOL zM&e~n!-Its4`$oD!cW>PBvvCne8+kPzQq)+#;C4~213$ODhDs9_)3n8{Ukc4FS^rEkQ-V5fgtsoC15`j@*~yVvdj>QIsPUF-H;&dgp$-iy`{ZxHp^bJ^K%XLinpJ}zIyN+6pz9-M^e?w7(7Se*O>M_}WQ`1~ zKW6!1xxHZ(leX`g>Ge!pvf?U+LxrN<5oYj|o5+1^=? zO+C}LI`u}>z#LfD-nZN->v<1H4w{O;`Mx!TdeT)ws zqsKZ8$qIfm8OW~vCG);Ayxz#PhF#`*j@k2kd-AuEEHfY3wRgwNaKvm#!4XMk@xqb;I+pnC4k!)8tSefj2s}PDBm&HFyJT;MNsvAp4R{ zqac52#5>3M!NGy2Q%(#8FnKDHGW>&uVif*zR}lVUWsNh;RWY&Ww_@5i?E3g$$$i?jq*< zWSoY#dH4X+j*s!HFjHQ<`k1bsKac8&cfne0b`?h$@;&O4d==Nc7=^9rS}w`dxODQ0?RE2FCFI5I9z=N0|AZH_L(j84E0`DC`FPRXiRs19 z=uGqU;z&3g_q!tX;)&F6mR@+txR_r2kcTFb3vj_!CpqjP&7OidFXkM*9vCGRz7xY$93cv{BF+Ek-qf(EmB7;soyLeIZMXHbmXUG zT*!`(aOU&sNF`!N^0_GYrNv!m(WxJWh$UT7!P7GQg?Yr1WD{KQ5V>H^G_E*^?Nm!-?y%IAABayX-eq#7ukIPr2cq|YxKokS8Z?$$s9=7eWVUOB1AT%2zLAj D7UCY^ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-l1-1-0.a deleted file mode 100644 index e04d55aa2f1e2c222e7e055f067ee007571b08df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9580 zcmeHNTaVjB6h3kGQdWyVRkZ?CQMW7?ArkCt;$)>2N~u&>gwQHb2~`NMH*p%XiM=@P zwp10W5Dy@M)EAx+Pdp*uA5`K`@Wk)niE_@2?U}@O;y%Pxq#f;Ca{SrjIrDu!dfM@>TdGj9t%Fq4H z^Z9=PC~s}^{Ne`ylrQe_e5nIK`AVO%X+b`vfbe0!R?^u-ErG>yai`;V&+29)g0Fe9Bb&@v)h_{?xelrb?j5`*uL5g zoKq`sJomcQ4Lskm$8wi5L3E87cdpk&_j7^bT4{Hr8_7#$;X2;F@POpKNo&V@&kka5 z@AuHzG}-Orjt_v9WS)o`|dcf+^*ejiP5DTgP!xH8&thmdRdy& zHO(*#RW+JIb03!0P<8-X3Dw0~tEFmS-wjwhyHG(ptoE$H%7(BbZO|T7kH+IUFnB;X zhc38XkFYD)Si$>}6T2SAH6lCV&Sm485e^?1u$h93j-%i!qj3dwULnC#!w)J$y`opN zYHv6sT($2E?eK*E9s}Ge^{wN`5ZYz`QFrC3J_#oKPRYVZek*5TB%hHV$|Wi%Q|MRb zuT?xW1H*hpj3}2bPhKSa6h`R7^I%ER#ii+%{l#P|aJ zU~t<#<`%{>cnUgT-sL(V|B_EdlAka9o)gMo;E3Z?lQsdmtmK6Pe_>@OUp|H&yE5Vn+Oor#Y)*XRg#Q zh}bd_Gg^qbn~sZBMc3Oy%s1&c0}r#bjb%H;geI)iM~`2nUk@J&8~JA5s*dxH`X-*@ zIv6weIsKMfvfruuax$`j9Dhj>h~ZI#d5wCBEh0ul80LuywXiYMJ#cl=`IM-4u9i30 zZvc7?&NSrI}MLnl8m4K416ILG#q|Nys3oid4(zQopm* zGDycI)Z(Y(Vzr#d@#R&^I#Y{yJ0T(wtCm$ATQmSnLLF6ZV5I^-V$IYchCJ&Z6g23}@@8?N}dIaNhIkW0mP6dxwcL zX?Y{X>ofpNB2pZ111lBy9c!kMY!^&yInCW{kKgkAiQ7YNVrxIggzl*9_>r@1^5n#$Uvl z&C7TN8K3?gYq{C4q7Ntu_P@&wtW@9^tdafcLzk5>15uDF^t`HQCRR&lst|7$FX4>m zRYfUO#q;Ad=vs+b=7#G6Fs$LpfjMp{ly=*h1Z5Af+Z zZ*BCc^n@)kQXEPB&WaSnbX+1*oTlUANU??UomUfpnwb9Y1LDmx>w%sLl!P8)*PvB_ TpRhzdOb>g`KV&TU+u+9k*cN@b diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-registration-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-registration-l1-1-0.a deleted file mode 100644 index 58090362f5704d9f065bc1199a047216b4a2d324..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3754 zcmdT{O>fgc5FIBeEol)PIB+ylK|;d8hSp7`3I+AR1tC=6ym6XMW9rz&Hl-(oIC0?6 z-@~atfFoD_3T0+?oo<>>4!B|^&yHuGckS8tGMl?QLAu|6T7P7ZHgD7OJ>T8ldScry z51H1sH(YgZ+wD34Tm!Iv0@Qv0tn8?3H3nFXh1eD1Z6?!9ypp+0#ctA-;$s*GN1?!A z=r?^4g&n$dG>PSYl1f2{K}J}?_voa#NaaD8jptLi%_2^?mFc*x0_UQ$HUU?RBLSU3<{Z_AxF5IpdumtB z`^P%1a2p-s{T;D$Of#|xiug@3tU!@x3-rC)?)&d&|@7GZp!f0_}F zjoAaey#FCSR1xMJT!AV$yGj+5U&`r4Gk+1hLxb!M59^c6Wx2MA)g$pVV3;Pnv4+nV>(+5fK24C?~z<_0eI z&R7>N>d{D@X(A?{j2r5W=A(N0X)?~oVQx0smd2$%fivutYG$S2@BV6(S=;^q DPoc6n diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-robuffer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-robuffer-l1-1-0.a deleted file mode 100644 index 4e2fc98d48caf93a3d2ec72afbfa783e6bb3023e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2762 zcmc&$!EVz)5FIBeDNzv|dgy_Jk>G-AV^^t@q6$Uyz@gh{R zXMUcs^$@j>_*02+Y^)p@=A(a*5!6Re@vs+{Y@k^Y}n)$^ko_Qfh7_8M!BV{Q7 zeFJo>z+W`iRwPzlhg8)o@+|YHakAZ4S6X{mT)1@`$5x%`xkN2f@g`-Pr%#?uymoQ^ zo67o(>$a74iWQXIWE9yZadg_6h^slu&;04 z(B0M5%tzL;e}O`M6pz#j@D#6tXSz2nlWPiDU92=<)@80Mpw!PyQ50Nd)LNCpMx~j{ q8GcWCh9bvkJvEA64`xj_kx%VH1Oyi~i diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a deleted file mode 100644 index 87546a3b083501978220dcf840bc48d5ab82257c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4754 zcmdT{&2G~`5FR@%Em091I3P|&Di_oQyR=R#RVY$RQBe<7`8l$2;%#G^#F6d(zyVd9 z5aQ4SkHewj!~^gWyaZ)tZ6_OSC(eOH9m%`n@#o$3`1?HT2OE~xXg)1I)&|X3HB7_Q z*UgHi>Ee>yYTBx?9NkbW0>C_gx&<)1jqZ=|Shx>B$L+UtFt*9qYoB{Q+v5TE*rsc9 zcItGjuEQ|sm}@3$IdwXssN3NU*W-*3ZJ)4AoTK9f%yYYzXSHc8=L5GL$7U^q8BAvu z!%^ED7;AFNp5VN|_T4>sQLo;2`LnaYv!3&S{FlyQ#|n-;UR}Y}IqfbR>yCXF$4N}E z)A0kV)8IQhTh(Q~KW-lEzPs&lo)}WBSzhB%6xc^6je1aaV-96;$Ix}tG&QZFulKmK ztK2~P08|xZiSTBXa=_05;b%7*=(VzK1y(jhT&aS7S+4v32pF6b&Y=MpS7Pi8Iy1N~ z*~EAuZZ(b*Zay1ViE%XWLJBUvjzllD{SxxKL_{aY3rb0%ms&>2DCuRp)q?VY)8f$p zf35%yl>_T24n%P|pEP~ppEVFn&ZU}#k@8r`!bmx!yc85_2QA98$lokp8iEnIBZd@| z-fI~cEFPUODx6|Fg)dD}D4>~N0c%f;gaS-_D|f`R%}iSX%W;bDqC*O}7cqw3dYS@a zyxdE;^j8;w2`Aqt`wMt72h`HHVNT@dmhkfMzA4H8!qEhW;2>xocaFk{U>;0C8zQ@* zHYmT8)4s{ypm5CzwFq#`d+JHA04Jgi8x?+|Glc>;!D<^-`A~bljXaw8O#Cwhd(_j26pa15Ger&Q`7~sPf7zPWuT7tkSEDpk zlejlY4ZV}*9j2im9hcD1$8=mzLmKiTuZ93Ml>Og&z3UNuOUU~Ac@YLgtHO8eQ9s#_ LpZn*2@_Wd?X2pTp diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-string-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-string-l1-1-0.a deleted file mode 100644 index 0a0efd3f77370fe41e5ceea5b71fb0060aa745de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21686 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-devices-config-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-devices-config-l1-1-2.a deleted file mode 100644 index 6d2cc7f7c148793c9852092d27af6321955baacb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14264 zcmeHO&2Jk;6o1|%O`4{FP(c-yidzM!T5NV5XX8i}a+C@Lgc90P^?*8Y;&tuTu_N0} zKZH<)5Xyl=u81RC5dy>kap|4^0P(l9yf-tuJKoPpMYgi=Nb}*@-_Gv5dB1sYcE)Ee z)_PmbcW2+p4+m?}vMt+OwwLmGlV4KPeBN3xE8>ogSpYZwK}z(7Q@PxU9nlawMkLdc00~ix92cIZ1)Mv>dtO!%jvVNZl}?@ z#o89LSc%mbHnZ&jV@;=4KgJNGk*m|$KVOQ^NUh6qd;MJ00*v=*5@#QDaLgJtEPdnz`FfB*#VO}Z_3 zN35=^11aA;2`k?rUV|%v0ZK$-YnPlh&L%Nhsy3Dag!;W+V{=gKy7Oz?ylR=IZQJ?0 zT`9?lcw=@gcLb+aoaJ%=FY?k zg;KHJZWFfHXtf=A)03wFw{nfz9k)W(t1_fVP6VDyFjanNgrYHu>?Yzcirh#R6FEwU zgOn|o*%V$%z;JnyR!rpH7;Z%Va$6^i0ZmM^u#jBKoBCQ_F|Cl6+c*j@@m@?mZ!IrL zVZsS4kd~j68bYHSrR6SO%@v%-8uhwcCY)Oi=IA=XG*C+XpXTy8&PzIa-sIj3!ZC22 zfySVDw{u6-a7}~fzy&T{!3B~p$nP6!-_{J-kP2e%N8>zpQF|8=^Hns?#>+g+V_KCMS%q2t@l!sf?(h3`0LKBnfn?8| z>mNOv^cCPJMj>4`tjrK=c%SJV1k31t z3iNcrn)CcOuHL*FTwZy>fIqOTx!^d+;^gpGR0?ZKdaPN*r7jQTd5u{kwajD9S=0nw z*37xAiSx6uEz-YHWes_&6nxfP5fwZ&;CIYj*2IaRT2dD|G{qz%5B(d2!Wc`BG3790 z_Hb%RvojlV?xieCJ9ArkZjzlDMB_qs=F4cD$Cy0!PnR*rh%vFBPDYz8+^nK3e73CN zFE<$QGZu+0vE3j3_LTz5k|(AnPnJWLWz3WLXX42$@g)As;7D7QHzg%}o?LcGg1G^| zNS?%Zf0!s~xD1(MF6%MH3Nz&q&a!D1<%Tj7XK7J3mFFf|ly)>OWKnjbaUN4%MGerk zC`Ub}2)}~9kdr!%vfp)zI)K4vNJUie)PV0XCrc9b?cZCTL|)923zab!aGZpyM}JwS zRs4U+g&E>PU~`95=KsKjK)2I3ys})In@f6Jpl#^D+I$~%B+V`~g_3by%hE3Nl;ctg=yk~x*OPWw_yFP!%^qP1?m6>-%i{R6+AWIPt3_qq=@0* z8@riu$JXOcIqXx7S0B%|`Z$uvot2TcC%UVTSk4^m;6kQMS=408V#vyjnc_1A4|!=@ znW-RC)H5g8&M13c^W2K4*5yN4Lzw|TVH&h9YWIg-FqKbXRF>zSvGQF64_njK+Ds7#>&DX31nUOICy)jqd))>(l`ZzW-I_zeQre z4_Jt1NYd#sezr{lvgC#4uDi7mvL58$r}5&NqEA`!;->Q4Bwna%Cy|g%!_TKyo50b)$j9~nlR gF>mp?MYS{QvW7APe#4Z!uOtyvRl=kK51%jp0!Luh8~^|S diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-devices-swdevice-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-devices-swdevice-l1-1-0.a deleted file mode 100644 index dbd9b16c1dfc2df551fc20712fe92339d2d48229..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7800 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-consumer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-consumer-l1-1-0.a deleted file mode 100644 index 864abc42fe03fb9a212c97e7f675e2a363b969a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4306 zcmeHK&2G~`5FRHfDNzdufyB{BfH>5_4vm{g6^fKA5JKW6bs2k?@=?mRc*aMpoAfz5 z3gh4)WM~Zimd~Pahl;W$G4CZK&ImC~3Cs8=9%o^^$9hSe9u9Gu$YUOJS-^0nAqU0= zJm_EXTEMnONsp)L+fmTt9nZ&Q!{Gs&HorOGu>igAtZUGuts5mNm-DnVV!{Uf!=pH> zC*ut&+8NJvec!ijztvP*xm|m0-NMZQShoP~3T?@%XZ$!5dU0igyIt=GSx^iSBOP#0 z>pN+B0SrD9E~E*ctZQrql?uL>DPlf}Yic{;mWy#48uuKPl^Hlajx=(Hse?3fG>sfh zBPa44&vEPhD1!QK7;*K`?=yfsYd6@}24y#WNK2N_txGV|f2AUf;k$AX#_${YqHIw; zDayCPXG=Kr7mV;1v7&5|$EHQkPM8wxW4)l*tr61)mtcC!-I!v!k2`Tsd{pJSncmR8 zeSiuv{gGk`?er|BYrNSSxN+o|<60-2*3Y*qXs80!bOuy~e^!My57!6cU`05J;0^3% zgTt7Jfg;!j*ANfFyD}cgzvR4AB=S& z&pH#?q=lINY}`1;XueIv#Itce4hx~PrlT;*gpGZA_LO=jC%KInX5Jel<7gdXD8Owj z(!bOfgc5FIBeDNzv|IB-HnfW!eCyChC3RVY#~J@inda^5)crg7`omF@6xK^!^u zmvH9TzrY`&%&d2lO%sz`l1}8^@$B=i^Y+b-UmW`BVDzE!&YU;5<$A8?9JF22bi|O} zn&$pNQ$EmZ06-1ExWMiVp#GaK#*P^Kl<_oUr#$B=J4yo1zJ#%V6*3HlUdLlm*r!WI zlb8>Zlrut%Gr}_dna6n;pR+*{XOl5b6S<6jKEs*D92gsMKiKeEz&=iR`t2zvjX(Z%lA{cHrlJIYf+f!MU;fS+)WOKL{7ngs++ki(3yhd@tR^dzgLqH0h(Z<1TV*$xi<2P60*Ra6aPY|+&0gsH$Kwp+@{hEV!w zeWiDt_JYzq+=(aRPu1>Q>HCV?r|6K^GJB>XniCOOoXEe-M}y(O=1!Tnot|uLp}(0i+mt{iPM?sXHD_W3mGE7O6$~9 zjsjpYnpy?^pueS3vEf=I>t2y#nL{QLZB;dCH?gD$>orb{y5Qy~>X?c*saoH8itOU` z7RP&1>(rT>t0vRapLUR{+=aF-%&N{@HR&KGUyhsR7|nNxnD5JR9u5n8j%`RC_5AWE1 zZ*X_@6FnWwEz>eBV`pne*A326Q(fX*J0Yyn2droicJB%bo0m(Aw#PPzR_n7s@Ug(cq7aMX-W-^1>4BHwxz}UdC z`>~&iP_CFjQu|h7d^~JH{KTXwZr|RYMABN*2Ui<5= zX+`1_#D}5nhmlY#5lT~e^Y>hr3kKL+ESbmIBc0#t^_(F1(ix3UoNoNGxh#dqn^T(4 zWhum6@l_Qy7BKg`2dQ7Kw?$-~Bg1t@mQk;LoNh!uMXi&J1|v)>n`2kW-Uk=3_l}vh zcMHG8RX&!5S8eYtsZw|g3uN!>(oX1G=h=HCujYzej31RBl}RotPv&b#SO!XICRpbB zd5xFKSo?rGKorNoEe8(6!Lj#5P`JIpD?kL-u0RComvov0b;c3zoWTeej;x(>LMZ^v z0a4K4FDzE(`Y(NTA=fe-XMtfDrXj#K&97{?(7Euizk0v6%++&-woFSrvTXJ16J-VC zZRCF=?VU3H^88Bd2k0xdv9klEUr78<%CC@Lbo1q6oKbssQ063G&O$a1*D>u%8A-xS zfBy0oJw1Dt&`4+8@uydKC_vUn{gJieN*SZjGd-&%RoB#IJ?m*e^~>C^fV6(DDe47l zDZW->Sn)I|%nEvYR{)A;Q=x ziHJ?H@6q)+A{2zhh`^0sX+&HRh?v}+a7&t1MBql1hXfIKC518#{=`%uVshBZc7sn8 z`TS}&qcJKvB~f8yQE`gX#56zgK+c_%Rp}?bRr*z|IO8Y!`EnUQ;pNN4sKBF)(x_O0 zWD}0nW*QA|(f}|dXxI=0o@zi2k|o0}K8UE=8*G=g`&MRsG`IVk|I6-|(eC4OCA5oK zUKi26ghFEX>YiJJpOA-k9}ibK)5=gQp7E`cmTxBKz0uC#2b=|`&G?U$nX<|m|2w7M z^Je@(zFcO;_w(gq%fE(Sxa`hg3AnFMPEfJ#EL%UV0VyQbA0LPyRfAtKWfMbI5Rl8M z7zJBpQIOpq&ry)f|1=MlMZqE{hx6jkz)YjyT^u`w1O@RVf>aHD!<1!)JmqId)$5@4 z90&9b#blrVKZDMRrg?*l;9x<;0iO$J+Z$XI2YkqiJ5V5^uqyTknLCnC5hMErGnO9m`InBW_6%kJEF0OK^ZevA!2sQ4DZ6t9NZlZtY5Tt} ctvy*GH6?{I4SvQH?|Smvn$s`RRds{oKYeIK9{>OV diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-legacy-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-legacy-l1-1-0.a deleted file mode 100644 index 4d50887bb672f867021a4e97ec40c0ae2af4c509..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13218 zcmeHN&2Jk;6o0n!Rg(fL6h#76TPYM&)n?aqHV&$gqbP8xL{VE6abU8EH?h@?9od^U zl{oZ_5UMzE&YbxJI3mh>GyCzpyLL88vz412X+HMN+xh&xH*Y>J zUbFgJ?GMWDX~WJ~GEBqNSImZ{=`xFln$~DwhIAWc0Js29`UPO-dw}wk^7H=!kbmVL z<MK>qw+$}jv0K>p3&l)vyh7K8rcugWj}1VH|sAC$lRGXVL@kIL(h0rba0tO;>@ zVD|^&hV9yYvDRzZ;(n)V?R5kaJ7&WaPG^(6N9}d(tzO?2#IZXdUSZ#}yKbkuBOH6j z+Ik=yLl{CAmcVj$Z4jbuTdfnV3B>KamgU;F`qq|xr)ij2X=is2`xYfL!fG;~BHwg- zd$Kgn6(Qbqt-k9s)%+@>)KB*9{)1SUwv7*Y5k1@X>y!HDK)j%wx!*6Gt&M3`V z(4Q!Et=Dz?JvBh9&6@6)7o$UK;NEwuy+CwF$*iI4rfF)L*|-|W?DfJ7iY-9BfYK>b z(}k*QAGk6-I?zDhs3K6U(JV5j3Hp=j=3sCL8$2Yw4i&gq_jyr)z!bKNJ6WFMTk`3| zH#eGZ+2?x~6Y~jtem*LK%I=_oilE{vf{IcE700L;6}{SW9AvI;cO2XM>A$A{JB4lQ zu21mjdV6f8;wP&K;f|S##WBmG-i$Ak>f?EC>1UZ7vg>S zr4vsPIv8f6eanRN_7QO2(Bn8aaUNck{g`^*IInrb39n;`oqBe(T-AMTw=(=uPRYG>yI7We)un%)jB`oFeVy){#K()9lgu_8F@e!u4io9cds>E155l zFDmaE@^q8=Ow5*!^i0#^@kkhHPoBO_UymMzG=Q_f?72G%ZB!4T6W|PbHNN!CQ+$l6 zs#1Ja0lxmqH3U4g%Mqel@GrKedNRval_43C{i8N0nWF#6QSC}b&dYBADo0VScod3? zKpl_Uvm?yh3`}lXS0wIhIqqqO6l9a_v1g6@d5-(l(}jD!2Vv6hkxzcB8Q|VXhkJ7c zHxJ%kKiBtxd<6RbWt5$?`u-&dx8Njmq$ej;-@is3Ko{zJ+G+W&2w!1RgxzI_6;Wb_ znAg){K0M#bF@HSFml5;9ITK=Hk}*$v3UVRlFDrr!i|{qZi20zq>;Nf7%?|bYN{)J( zpyOINN73|WAUyj-!~VrbJ?k!0^)YIOsBh$`&l>e}4E1Q%pC;6Evpz(9=2pGFoDTKN zM*I}#3sjJYo#Nb5N>u97EKhMhXZ4Od#c3z=#ZGbh$$WuTe-6=`)~cUXs1NV8CLH+- zq&ConR!(qejnpE1i=mJh54+4Poy43B^}d--0?d_qzOTiZRDy6k8-E7Eds!@UqV+yW zKDiM6mlQ#UMfeh95q7s3T;)b+86tiuE#mWCEluLHK>Rd>?*~qWeb2hf?E4rsL)6!E z)F+@hX6YPuUv-pS?G!`(Dpvl&pXG%3=JtJznjz}b-qO};G3(|bD!#+)`%jf}lsYm? z`+k$vJI=m$lKEn&zn9Dx*!OQBdYc{(Ns)5Nx3nclc>RSxOfvf4@_HOvIq!QEii+?Z zh9aTc%+4Q~o1rwMzPpV}L;hxAF_4C%yjdusG_W_16DUkU!?ha+au1d4IdC=lXse>W`xD Y0fye5Pc-UN>HDGXj(dWi#T(H70iQcovj6}9 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-obsolete-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-obsolete-l1-1-0.a deleted file mode 100644 index 3b1c82dad9b6093351fffc01d13f5fdca7978089..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4414 zcmeHLPjAyO6n|+uHp=*OKxh&if;1!!v?N`Zc4$IHJ8;mpImpm7U*D~B5xGlNi`hL@G?KkQ;v)4TksV!Tw+aJow4%N6rM&p*;^8)k}_j-Bg zwSyOpmCCqNYAdw855utBA8lsVF4~smIF4yLb=+RIo#Li(4L1^?Y5?5k(wtEa<)@I# z*@+3(PPy%dZZ?El8epB2n?W!I21kVRXu#!aj4fcHfbXRnj~C%q<9fm^WaDZv?lBe? zQ*d!RQm)huN=Ug}?2=V(`#zL+JzuI$zfJ-6j9qs>u2A*54{6H$nRyAO z`!AP;(R`QB!f1XYU*ru+Cr$a5eKvY>{($Lq ztCnE8gFA7D7ge}wrdML$-o*kjeMzx|b~=seF<#F#+(Q8a0Pl`??!qc|B_F~rk^#@J0}#v;F#-_lSTpF za~dT%_=$xXg`Z1~Zz`6u#sUki5(#ZuG^yDYO=I)yn9s;#x*!m%^_{00yfnZQY~NN~ zr_8*(XfiteX$L9Fz0>A}anzZJCUwMg(s3h=(Rk~K8KmPJY-S_wH55iwVP>A3KB8a8 z$KyI;*x5Tq#5$UbSPF0*pUB7bTQBK;rs?v@_yT$)=4b+n_3R~@1$$}HRcTj?FB4kf zHPSmo+M@nsG<&3#CH@_q0a4B9$YabGOj9pU+1IL>T=gifpXwG3hDNL0#2Q zmV>XDij-wHrhPEXRt?rg)iC}_+%%#y>c1M6|4I#jYDj$bF=zf=HQ-+bY-2S%Q#F+3 S;2Wl>hQzX`e+tj$CiWZgjPSew diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-provider-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-provider-l1-1-0.a deleted file mode 100644 index 71e1e7830470742ab0728f7747e5491f78a13368..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10184 zcmeHNO>f*p7=G8AFQV|FLPMZXxl)igbQjy*csD4j7KI!t^$^ikMF`4*BiVh z1jHc+&Zt7DLL5+qD#WoT&ixDgAX`sR8^a1OWd%x3;?SD)lUHy>Hx3&!sE&l0E(~w#p4ys zQ@r|^$F<)8C|>)U$Lmi4DBk#o$Mt6b>(4A}+p->v9Dii(I)UR`+ry4yedl`iv1_5x zHCv|DclRj@>(Fx!hQ4DFVlX1C<(xQP;ChGFu|GUt^D06LyB&72~(# z+53H`ldd4InB5oRbt6%MY-YGm4g&YY4ZgqA*&cdk5rVCSg01!SnqJfD zoqiwcUAOOuoBn$Na9HWuN1;L3H?RQFAYw=|~YNFmT9qx{^i#zGf*;6!;f2B{}a)ULA;) z2-Da|!?4MPcAhtB8iu5?Mb`x;|UT$Bi z7haj+}BiPHS1$Q_QuSkfM7oBDXInUl02-?ujFGAdSUIPci{S>`zcWE zTrbzyZ$1xjOG{YjqQD=Rj$3<9T$q-!WG0Wp)X*xZ2ECC{!;jb*=c(boU!`UEc@7pZ{OpG8%$D5+rQbh;IA z728cAR=`beV5tIlbR#QZ@&Q7*^S@b)`Q~PPE_JuUee;a@>k;!`!x1jZ`~`{mM38A- z1-(fPzz{QE-dij1GnPqnfBImFtq8fX)cJm+80(ulKb=)o+Glgt&sIG#>#yMG7G?cB zXMKFQiT6%3^WVnzrw}t=;|7*0@EEV0`Eip|r=F>TQWelBr~o6o?mxp-zk&20DtM2Yi6K_O$K1eD1)kuQt039zv?ItXEmaS<3hF`2>S4AHiao+b zb^ukbhwy9ERO?_>us+rSezJ{%0>5IO>mY1yd(ua_a`ym6LGBy)k&T6TH8k@DG56PS zjEk;@6wdwBht=u!1@8;K#~Rp*6hJNeGtxk+*=c8xTU@F)&&y8U%I1R z@kP8rg)2h*bzr)cQ2abd{-=a=8k#Vd%6zRL^KWHOLVqf-FZfbAK`iqmv@6v+=_K?x zAD1}^{UIM0G5=lEMNwY>ocWpmz>u`2d2eu?%?vmOaG_UlV1Tp4uqqmzSZ7 F{{beKuQdPw diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-tdh-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-tdh-l1-1-0.a deleted file mode 100644 index e60e2ca8a7ec1d5585a55452e0abfbcc22037147..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12222 zcmeHN&2Jk;6n|bPO=?)V`XjP8 zp{+PXDB{E+91sG*ffHvA95^8L#szUg{5h2OX7*#&JGKWQZ)M?;W@dNhH#0kL-f!M~ z>>C^P-d^*)!n?(!GpdGZnEJYD7K=K|62oHA(5n?*Vy6HAF9Xc&04!Jlg>Sh(`yBxJ zbANFE;_m?DFZ{**r9T14U)H!Uz6L=4>MHlw)&R&~-{gMz7-0F>wr|+>oxa=a+gq;h z_Us#7$F)E4I`w_e#zfCtGwqhQOFl^LcHF&g&$S8B?i1E_58aOMb?)1~)3jTLZP>b9 zx3QA83%1>K>(1nw0ejnN-s!Zub?0`y<2BsAZ>?ghUVGn`XCeN>1Go2RtJgjB9JjaW zxh>~|PNUmv*L|toCNZqI-8k@wh5wkFF=ma!^pLhl4T z%i!2h5I1RD#GV;uvg}A8uZz`jyS_iFnqe5B2C;ZWPku$}GYNoYH`$1U!m?JyVUgrv ziJP5+w%e=wZaB7mOO%#8TUIWm6A8(s>XE|5dP6~n-^IGzw~UG)iKy1$U~t^_-mYKn zhV#p?dBxCmlja(;h5>UsgbTa?6g_{<%ZXCg93j)1-PGU)E|TiLAoeEYA!#}Cc#A6;p8mG2y)90 z!w51XIplK`CS4#`Ca-zS8i8T5B8|xBt|lu9-on}mqd^11$y*Di-%WM>uC3Qn`fcJE zoMU~Md)E402}B9!@qzUFVxS*1#xng5@nS6CBEE?E;WOdF=fU_4CM*Dj#QX&&pR?>q zMa!Gak|P`)(->&@&4bPZp2GADo&gh>bU719z9iGwi8BoU<`g#=IMi~AiJbr<#Wna1 zQzpNLncVs)ScVlCv--NO8wR7-ILlGf*9B%RFv)z1+Dpq*(q(bHDP1o_nv9XVZb|JPf3CppDn5G;TF^lTkKuk}LGclVv(l{%?1W6bbpFDk&-cC;9 zG=S#-*8<5kD$_M;i*ysN4vAfvz(tQ7c$Vu%rQF1$&ZU z2IO z40#E^om|WiohPtRgD){AhKOBG9OR@jveW)GHSIUj_TmUtVVu3VE6lT5+KXMG-BI?U zCC8=g#i1M*Y5xTrVO8y4B<&Xtx9Fsd6lIzj@CtPRUCaPHj*XlK-{3PbV4&Mct02wH zjtMn2Cd}*r8&^(<|7Hgk2ADtNcZ@xiNtX=lS*)B$v{P1xcIEY#p9j02l6OaxZqY65998kn7}sH(ALCB0`j z#))&>s_CAv+Q@R%)DYSowQAaz<5H`p$8uc6mRC^&RM|2gu!XTCd1p7(HiKpiaxqIb zc>)VH_z~lPC6cbE2r?9t9XD3hxKT-;!Opl5TN3pN$bpI)2P$a}9N|i0+^XsSa@KSa$61vF8gU@{`6m2Br$5y^ zxQzWL7xQ3)C$Lb1?=dDGq`R%~!&HWBP`s-))9a)Y1vZFx!CCGhhTJWu?yAYEk>gQx zj+EL%d@jdDQ{UTIhbkL#QZ@|!;5OZBrV^8?$c}qK3Pl?HilLMpgJMW-EmCBX!?W9E zDBg3M=^gltJ@I<#8ft?od+`4kVNwlGVnUn3HlFPN$Z6hjyh9{G7u%M*Jb{H8{DN_U QJ#sPp>z`jI{ufr^A8{~OBme*a diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-gaming-deviceinformation-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-gaming-deviceinformation-l1-1-0.a deleted file mode 100644 index fc97f88cc08fb9540342310b28e8ad88ef89942f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2852 zcmc&$O>fgc5FIBeDNzv|IB+xw#09%{Nt_^6C{mFsB#?UHym8}AW7Qu`Y#_&qGl%{m zr2Z4`{0Pd-c%5vTgoFd>O5PpMKJTpGzVZ0!p+D{q-!}Hm`R2A<&-I))ZPzp%p3-~M zeC>MbfnEauY5>M14ikX-FS>*{65>-P$C)^hxg3k5G?3zJnD`f=KxgQ6JQ0PbbSZC| z$bLGOf)H^=SaIgZVR9w{`6cYjFd3xd*w4c>5s@og;Rs*gg0Tc4hSCqV6B5L+%#V3v z?|5Gy@y(+5v(0szxSue-5E}p?7>)AWPN(#*;@x!|&qK=FPH_&V*=u|-?jiL6hX%ky zwss6Vmy?|B)tw1W&kp?DUk%}zE;!frX_l>l!6o5BTJU+Z#G)XehWpYRuUFt&rJr!S zt8wiT=b*8-1Xs?ZXskH1P&8H{8f!r`R^(c)<=8pCFM zE?%#2K2XZ1!Tf)fW?C8OJewFS(c;3aBF$Br4q_(Danp>W^{AqLTaNQ^n%gt%y9%RR zIGEQrFX-;-YUU$r%|8PoNRt$sGz@SbuYz;B*DalQ3SV8UL7-P{t~j7_f?1;|_>@+O xRc327XfBiZooNq6=F#)iD0-1eFZmvT)+szE%0oj1eqg`B-_XXtO=#vc^e2sZ!# diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-mm-time-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-mm-time-l1-1-0.a deleted file mode 100644 index 96300ac191c2cfd4c1078fdfa9d968917919b3f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5874 zcmeI0OK;Oa5XUD@OG_!`{kk9{6^TO=?2#Csk~qNE|qD zK!^ih2#F8EC*c6hjCbvI9<4c~Ri&=956}MX_0InGVc&V=_qW@R=kDA2;I6oy>p2hW zo^3l^Wu~@Wt2NXOn{xm#4`59JO#K3wT}tA)n*bCSt|svk>L_0MO;LzdAzntZABlAt z%f49cwWN3-bp5?RpfT_op6CQy6qU8tmD|0(6r>0v(uyz?aS%$;afK@!;S0P!lpsV~ z`mKqy0Nmhn8E;^_O$VC_!aXr)q?ba?iw{vOLsm8hl=&*9e=6Ut`g>7xP;A&q`K;So zm;IpEYSzrB=FFsfBHskvQObM;w08S)E3Wo51LMZtbsWz_9z3s}j{REc3=TiQQVHM! zm!?bASnkJM9-r9YY*t%-?2nglO%t4-)vYKxLJ`HQ3b)Qgkgn7pwe+GZpEp#Ivo^McY=;o;y-@@-jsIyU2RZy z(|6QVd7wR#nSQgzX$+s0$7u|Ikq^oxO7lValzlagRR?I;PeenxbUXhLb)}z98Vh_( zC%OvEG1u+lT-O`JTzlyMi~Rmm$IbP!awFh^%3R-6Y|!|Q;#%v?+|Z@-#H`n4(&_SG zj*C6a(2~zHeun*Xo^3@4Z}SqJJdytc91Jy{REO>pjqHrDR+?ca>?5;uU?76c zQ6|eQM%qW#71xy6liMfKb)815hK;>4+J$UC$?X#j)U-zH()mQsdxVX8-(qm#)5l&ur)|P-lb<+*YuH=%RLrMu4*z6aUh+Su%Z0O_hgt4>0#v-YY=S z%^spw@GfJ|RCCnWJ#uq``$zAP%ptm;0=1sZi7R{!K+j1m_mqV)3qE5yc%mA4%$nda zkM|B{{Xrqt>rTx$6D1??5xaaC>lFKgDb zLo#!6QhC3HeW#G|p1KdM7SKf3yk}h=`U)7Rn%pN&#{P04_PvM0>-;JEiz)k;aeRxi zZ)x_`Hy_@5qS?Pr9l(&WUrh|0TJRNf&A#!On_KQp`%zHu7NmZ8XvIH0-DK3$S5r~y zOH6(G1LH&!e@*e75syE_(qO?CEHm+GcMtfDb0jAmrx5RTC;0v)MbVC~5D z*k?a>ZgOdun~FBk9<`(43x zs`RVNCd1R8c961MsLTsl))~nrO~jl`#tk(_<82`3>tvjb-P~5NYzd5TVWpp)Kc!!% zrXO{V>%sVa1s98|Kjb)jftTj{&-Dry{20;A>d9&3)H#@RS9WPP`FH1n_m8r|k K{Tn@>TiicX1{b0L diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-perf-legacy-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-perf-legacy-l1-1-0.a deleted file mode 100644 index 1f6c661ccced8cb3413b28cde121fa84816b5692..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9570 zcmeI2PmkL~6u@7S{Zm$pK!Bf z3vI<=g%BqWD^3V;;v*nVoOX0l>=V08jlchgikEN6_$t<=c*UdWIJ=JXX()!F^RXC-p|jifg!4@=a0fjHGkbQ+ zcKqHx#VEHQh=cx6I3#ftlB_cj!;a&NL-*jm<6Dm9n2zgU8%F{hrz>1m?g4<$rOC0vX(a;_B`oYbh({DFh_#C~Xfm2#K*(x_<*?G;V;$*!W?#OND z*Hgt*@1ubTcqAXVf#-|%#6xEkQl0mM<0FA174hhA2I0sJ4n){)n)>q=isrPJc>IiJ zSb}Qb5I!nV^eAE5YU=%G6jGgCzaI*H*qeH#tWv7=uIJ@+lPCf2tKR;o(O2N*5oejE zZQF)n6N()6);_GPAanp`1=-@e2J>NKKMV`R;DqFQ z)ZoVESQZh7C44SDaC=g2Yn)GV7xLw{$8sBZvz{S0E=Sz!M`0atuMcnm>Js<5Z`G~3 z+3MX!BOflhNjk=Al-hbTUNq z%Ja31MN?#Wu1F(ll`E5tM8C$ZlS~z8;4^=}u91Fs&!FGi*VFoK;~G56V_16J`rVAC zl1v@z_oYZbXpOV zI-~A!a98HAp21@vfoE5eK=Vs;8VCIiBcD0N1`Ch1oUTMCfXAs!s_+-y%-rnH%%h0> z7Un86F|;IHMRsGGjEAxtt2`N}sJrC0ktXY_O*t1ZUd8fmq~CNgW@k6ld!ANp6FVDf z{X%SCChSHFWxmapQ(RGdJ1Fx*ww#T{9NxgR9mzylcrhM6dYyiqp2m4JH)P`rygIBv z+DHA9wxTzTQO-O4*6;MWr$?xzEez;(nC%Hf+Rrmby3;IkB)+k_9X6 zQJvd`4P_TDB2Q)Q!ZNdvI7Gtwi|j$YOfM7+v0Z4%3{I=?GhW#)B!*phur@FMXtN{- zTWJn{#CK(pf8@!REx&W;=^q7JztjAqd)aa+|LD7HImN*Su5(!qmY9Q#GfZ`Ay4Xy- z84(aOaVN^5OBMdWl$n?|1!p}to)<6IO7e0oy`T6Vb*PA!FEl-yCodhX-)X!IvgJ~| zJjj+)yu5@uP?nck9xtp-i@W0;W zlKw?SlS}zYIbT4OMR*QZx~!iBOoH~`1FXBq)_~5ODZ~`053`tCg`Y5G3bY|7OhKw- Iwx>(~0btE@g8%>k diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-power-base-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-power-base-l1-1-0.a deleted file mode 100644 index 4984baf6e87a4c1efe5b5d97329fea46319d2a35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6304 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-power-setting-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-power-setting-l1-1-0.a deleted file mode 100644 index 15a75769b282763e5f5217558a8cdfb12d0be8b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8748 zcmeI1&x_ke6vvr_2}r zMH%LgKa%%4cRO~Jod)Cu_=KVdq-aOz5a+F`D3)`Y_Ev2E9NEz7Of6=Vk+Hw$Zs4S-!hI>gaxp%U=pKpamm zEU*tMEidqUN>h_PbmS`0owCQK9WU3L8|rZa-SCG_fYh zblVlDX*9c)rfD>rksV3}Dw9dsRoH74yJl#Ft;i!v1+rE;g|m~U2uE1v@TA-j9^T3B z;q~3!l!v=`7x0mfY2{secvYMR78k|Y09;ZYLU-BZ;h|oyHC;rE-X9*5EYKHDP7F ze)Bo~I>DW2oYp}^{L~JO6y$ZZCV46DWHC!y({KGKMOZqvfF6NGBmw31!dkRSDQtd%2hsmeb3A)m}SkY0> zPpa~a6(eokS+U}|S(l0xFU`6rR(yfi*H9YrZkf!nVpUQx^G%t?FLT`ZN?9O|8~0U< zyt2Qsl5u0E8BY6gVc{QQ;%HLK#?AIliknyHC-b;zY5tZcH+^m0S==0(bt!IsG3z33 zw$Kl=72Hg~KOp(NcQ|JR;2n~{On)1Hn*_5nKRORgpNcb(<|Qb>hf&3rHOL z2t9H@JOvNXGdEs{GBf_kCXSnMXeuN|^6q-}v)7*ezMb8BYqr1Jep-H_51P4RTBc>J z)=gbExJxZ{eQ7ni*Y)i(0L%esKLJWVu(=RjR~`V+b?p&dLaYn%CXjw0He@J$vF^2` z_~>-)o+HrdSPe_K&JJC%*Xzn%&zFJ_oq({y_eA))Cw&=s?m_5yUE!L-6o#+`zNsTY zh_dJv;ZVNDL4%&XE1OF-9Ng*jL|*5nw_*E%+`{jtr<$hnK(=Sodm+PD zGPIxBq5a%(WwU1V2N=-@t^Ia4ta|B0=FOmK7?x$}y46^Tr+mBoQoDqc2(YXHT<6w| zRt@E+klXo%4#sx1g7tolOJaKq8^rX5m?bpRqnMuH)mp)&%2E51HsO-?a6ONX zS)h{EfLV^uRc=kf^)@fS2uEYyz+Tus=n^r|m~C(Ydf@0rdZ74HO#7y;HPJU`6vE(y z>r|6Q0X}dU6$SW(jVYy`bIxsX9%YRM23jo=+PG{|uhkTd&2nIlkjJz+AXck0PafPb zz+>!x8*`m1{rs{?y86=$QkL6M#)W>?8OSCL#JHnzsmADiYlt}`+_E1%T?^x#ToX*@||8meJnf6RROca?z0BQ{c0 zq=a+>z@D#Iq7nvvdCXy9x*9Mh)c_tc*ywx_txx|ou$XFqb|aH&08j%%XFlf6znTs1 c;J=ggHIRk{y#@G&C2C;km&YA}r?Uh51J_^cvH$=8 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-appcontainer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-appcontainer-l1-1-0.a deleted file mode 100644 index b72174dad55fdd5d8c0ad17ed9ef14ca95f203c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2830 zcmc&$!EVz)5FIBeDNzv|df;dfh)ZqkHgQv_LP0rjL68gQjT3KbQ^$^CM-)zoGlzZ; zr+xL_tpAN$}jo0RKb6c+Gdd`X0G)+fL>Ah(l zxy8L{_8S0D12Def5ChbI)5Tbqu}>MFW~|3^K4slB;OtA3_>+jCGxFLVi=zQu(wioH zm`*t(#5f}?%lL3Mjq?j^lZrX?iC|@`(D4_r?Px9iVLh zJQmiDVdwlJ7j}7Pg44GHKljTaVx|Mml|9I^J7Dmga1kx|qN%Vb1*qY^^d{CTa4qF0 z+-^DUSm6%P*js~B^C%ZhWc4(Zo< zq_EW+u?ePgSSiD3{8h^^8h6A;)u4X4Nqz-yJ2-Ukwfk25q2hNR4O0A5sT4Zxb&6MbebjLC4ASS7O*m!W9QV*s z2kPltP#63>64oYq55-3m;n;+BV3dcm{ymOSHJKs6tECg{tGldfYtMXuVU!{8*3ka9XtI*mopGx^OVB zu3ysK<>kUh*6sfZgdjCiY*H`4L%a&k>0Y;V-YI-_wf2BssYRs$nGJ$9ih@sR)mP@U uR(qCmNW3%cp~yLUo*G3ja_E(~2cUHdPfvPisK77mH~0hE_*ZFr8Tt>$EB^cd diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-ansi-l1-1-0.a deleted file mode 100644 index 7479dcbd0717e5e40cf3fd7342afee94f951da66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3572 zcmeHJ!EVz)5FIBeDOM32dVrge;DA&IJ8j%Vs!&iRxNtx!T-i9u23vKK%60`v2=NKM z^E3Siet~1ZfiknZPByNcf<)2-jO5+*%=3;t^Tx9e5Bzu#JTsqKi{iFi&-I*6t7BP? zFzKUZ?d~?!13eP}ZUGo)0JSdw^&j#wF96I7#ts>KoA5YcuX)O2b~qh!_92}3Cm};+ z=(Rl-g?+k|b~@pMY0McR#tC6r!Uv~un0{h?KS9GJ30dSampRO5xYd{gV*&Svt9AzL zh^H^Yh##pJdfs)L=sO&ruwv88Jih5<_#zVwr@=UFOlRpR%Y*AUp66MX*O7U#te*MG zz%-z=4S>61wP7?;{xKEn^1%Y9*BJV#Uk(wLE;#3nev(`RgRg`OX~Rc*8McOt8ork< zVn2y%WqQJGmgDv_+zu|b3UHYn$zzWb8_8p5$DQ8Agj=wG5-hj^a@@Xj~K(UlF$rG%dl1m=QCo#*@WO z)LphaVJbi&Sy$B(+k-z~d)vX^k&rptJj7AopMBmD>JB0hJ->UX#vh(9XAQ3P*blm@4hW2q5rgBz#^5nWji z6km$zT=f5qeCI0_BET8fX{H(lP@g5%75I+xx_Zf~yOnBnXDyKsnq)XYVw>Fz-DJJ%xH=P>h>Z8SQs~ zn7A0{p;-vAud6Uhg_CuD`Izp`@EkN31M(*Z$vg5zJO#Lomy9vp>nlCZdl4n_f=_8ZR#mUoVHT=Id?USstS)+X{;aGeUT5?EQ o&)IEW2hRUGpfpMf7oXMsb{zoZkGuas9ppc`yZrFKroLnT0%h`JT>t<8 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-1-0.a deleted file mode 100644 index 5ff5c77f86cecbea7f6cca11c5105a50bc9a54cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82690 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 U-hiWQJ4y4*N}dN#z1lMW|B5f`-T(jq diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-2-0.a deleted file mode 100644 index 01ca929ef8e4d2bcebf1dce265f1cd2ee413fbd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7826 zcmeHMUvC>l5FeitQlcPG1yw~=IHd4~-Mfo(cBH6sFbI%>R1uJPKy1!;>-dzj&+=W` zrcZs~1N51P3L!p7#T(y(PePg5y+51y&bdmptAIz^Kc1Pr-JP4?&FuP5cmFgE0lx4?OT9r3v5xI^w8`6pw4d~(Pi@}O(lIJZBV zusQOt3P)P4bY!_4B?ps9FC52?KjzZ|mn##N2zx{Bo_-&m^6|HP)JLNa{mGY)m2qxi<7SxpcbQ+ChGE+_`gOaV`SoG#Ep%-FqlO+Vdh4}j%pb?1UtZ~8 z95+2DcFI+RqzlH2WnNI|BWy(;QLmA;W+{C->1c3*^%A~no5I6~)jhnu zw>RVAHogV?gd?rJX%Dx=GO&7ItOjF5;vw{wi#$BlS6f9dLyRg<`=polFSlFB*Z`^t z`y0YO?}%O%KOc&agX&1aXJ8Ny&&H>cBRmb>02YLGB^JoOWYe6~Z;V{?3_65z>gUuF zJ^==zmX!v7VP^@!c7c&R$rvQIA_K`50J|!Bw5^tctqoz2r|7?wA{All268_``HzW@ zQ==~~dSqXFdUGwDtgp-qd6c;jJvyip6zgT!qUY_S&ck9o8^wZdW8F=35*9Z4iG49-*c%n-U&J^O1*Qrin$`nSQIi8FbCY6;PwEh$4`9ys#9_QcpQ~gh)AJ_ZM&? z_DO4yxT5hyv|))8OpOH*{v`*K_v)fh6;?G=Sk~(NfNxcTBg?BYRJ_XhK~qqX-&9_2MBGjMKS#uV!l6ck=U6L< z$hTePf_917lDR?yzNt%IJ`*Ee=V`hIMHlS<12hzEyUO1VOGJZF4GlZ9v0;@lZD+CJ sRWc?ZG!*@3B)+28H)GOq{X}_u_*^nXt-&AIvXZTLttx-0E&g8jUzis+ZU6uP diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-2-1.a deleted file mode 100644 index 0b8c4544032c72cc637b54f92f32d05de48764f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2682 zcmc&$O;6iE5FIC>p%GPkXr&%qiAp_S*N%vjNT`YwwI>c-s!F{qPP`!&PJ&`X;no9Z z#82YdKUF$2-c2?iE?fd5d3QYfykoza+3|;iaM~Y!seQH=#c%k5A9(F%VA~!qnWJsj z8!h#~aSZ?}0M<90J^@s(=@OzV#P?KAQ*k6SIThVWB*m|I9G=Ajjd9QlL=yMtQr5{> z_9s&*2r)_tD^l4%pT^mh=!K~ii7)EH7oosiMiPV=$}rlX9}wLO`Sn7Mvmf{pveQDB z@#qXcZOIJLRVsU#JJBo_vFCeU5Fn#LvpHk$(0YLc0(cg{Yu2_bH&1f&-mx2n zSy&9=l@54!ZZAzAfWdFV#kAq>zQ$r$p@Q#a3h$TW8rn{{?P6S0<91QmS%cH-7&b5T0s-vYY&oyYiAxf|=ZviZBLm!(8A4HBm*E<3&IWE)G3L6~38(etc?S(uppk07%KW@y?J;>iK^9Qm2tB6e$RCs1Oq3ym8`9V(K)J?NYcPjvV_D zocV@c`6oowN24D@bc?VGcMHlB?&Oc=$&G-kAiKa?X*i2HcE-VBz>~O7SJ68? z6@zIiI3Xq(VR&y9pG<78h;Vpa2EFC1o!bV zj$z?a1dIi(R&gA?#9JiwSz-9U?f+hh^j?wt(u;lFclb~zk^(Ckiy6R zq3~9_y`t~{PvMDtpxS*a+}FH5#efw4tWXG@@;ZfUyxAJKdB&LIIwqWsueW>HQ3vvr z`*q3BBN^RB=VSSzL^zt%3=H$}+3AVukxGMm$OXx+$_3(=I9-_ej!}DF$qotDI;WQM z6JRL4auxW4!5x%{E!Ll+&dJ=$Tr!nlo2o~vi6ulDRgbzP?u!?ssF=5KpCxh5|5*;p4ARc5Jr93m!PkDKQf&3A;D@9S{^4ohR`I|WAdkY|@y zFQ~n^AiuDiz5$f-XkAh&z(c$g-}K*%OwMWP>S}!fvkJ><0)_G=W3&q1WmMK8e~tRG rlrQpmX%8yD=zcOT>MA#sGehtv{m3Yh8w?aZutqc{Y?A^ahc*v diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-credentials-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-credentials-l1-1-0.a deleted file mode 100644 index fea42bc5bd71cba51fc36cb393baf4ef02a82ed7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26312 zcmeHP-H#l_5wF{`Idd`QBL+K$gasT+Nqoo5`fm45vdFE!f&+=1#Lh)1VQzgp$1UF7 zJMF9!h$4g#50QAlQs5!VQ=}*oLMV{@1AfR8;(<5*2ZZtmOw*V-e`X^7{`#S)o)1UJ6 z^nU>;HU7iX@)rP>+#&Og}uu)44?eN*9|vJ^La6rRR2e`so`0lz#ROPgmar zptSxso?iGj0Hxo2%+m(G2c^wVCA!Key1A-zv~S-ak1`q~N>+Z*g+Ej3zlbzx`F=?&>py!HB;-!SrIaAiNG?erARl{}?w zd0R#!j%&l+(at#B9Ivl6JoN=rH#FXM7B9cSc?X?QwB6~`1#g3N6I>f+uw>*?TlUu$Crm&J84<9+%)o}TSChtTLHAOK{)Ern5bt;-OzZ`1th%kxfjAd zs*Q9vs8o6)zs6je2r5+QZf@NeFYYAjJ42R?K%APYzr7;`^wS7Y5M+D&>V(DKBg$@)j-h{RMx)TkQ7x0E=6_ekd~j z?@NG}X0|#vVuGNn?MTJWrphKZwGC@oJWBh`X7MO(N9{2?LwkJ_?aSKjAl{n5!`h4_ zV|L~T`a{H3{B+`}0h(_(Y8Pbl^X4sUP@lQ-B0M6lN7h@keRHkF$?;_!DiFv6H)X{RHh6kx#id{=|d@T52!y)dB7 z6Vf8j^BOB0Zqqf(s)DpR);zDEG|#g$6KUwG!D+mIMMyjy>R+E`Ni+fV;}RD3f>JI> z4Wwxn(u`d@UxGAx-dW@s+WFA? zfNeAiaLOq`p+gPc#(m1ow7H%|dBIZdTW)gSTJ{aO|07m^n%r+F@=~PSzpRuyN$$sX zK11$bv-2f#{~hdKSGj*w%Dw58GHEF<4o>3x(O}_hv{(+)1pQn1GcwzDt>P##h8j+F`b1MQ|04m1Q@qG*>Ho%7Upx zujH|(z9q3j&?q%F^4U|VPm2r*oL0EpFS*HmOY_*db^8Y#JEz%GSCNM{IuvP7y{MEs z$)4J_^BMNk$j+C@J@vn0CT%E>6WG26f5s!Tp=6b_LOCKH zR5%LGR4Aa%;zFKnDcwmF9Me(Irtkj4OM1O;wh>CZqjyomJ`^%1|Q*(*-l?|GGXB! zhVK})u8_hzoGX*W&e{`F9?C{an@YKRk%A_YHsjC=C&5&>PH~KLS9a87q~x)q9!!wZ zE;TB0*-y4REhu!T!MnI; zc2itk`!5R^gP=+8g^&1-5$IMW{j68BY@to z42A0k*Z6dW4%X9Ix*-ob?z5w#^gi?6(SdG(_Q#un4#7}3I$Yz{zUenqbC{&=IEvVD z^&1W|bSVGCqSh$0&N$A-4OM3}1ceSY_zUit&QPnY|3z!uDI5o`(dh~YtZ%clL>?S` zBaMTSdl7rVL25Ruf`k2;)9O3Mpj%6(FHyzgq&~YSh@8A#U^Q!mQw6n5VZzx z;htGa@j`2IerrN0T;5&d(r3)styN@B%6p#J!$B_Z=K6U|O3Ld=*YW*nlk$I#6WG26 z@8glnzghLvWIc0vK(Q8J;rMWlTvzy@ZqD)<^5Ek@20qAfD6`*Crv}1p5BNa;K%2~J z;zMv0jt|$^b+y6(>-#KxbZMy;-l zS*^1nR>4cYwdO%VO-DiLzbfTNL0Ty!DA+Gu;2NR!OcYczyrnOZXO*QHh61sMHIAcY zwvQ+>Pn)!lzRwA4UxPp4k@*kmlHJmW)~JPR0N1E=CHt&5v+STevJZ;vm)$qWDf>9W OYm@bq<>`z2x8eWzl2#r7 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-cryptoapi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-cryptoapi-l1-1-0.a deleted file mode 100644 index 05bc54f5874cd0e9feb1938f84ce807168c9d4df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34584 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 I>;@D62Vd3W{IN z`?cRy4@^1$&;qc|vHJ$l{!JHSBgQ@mz7Xt)7kt4+dBoZ0I15i>hR!$`1T2Y<=~CW2 z86i?ZSSI-NY!Me{9F&ZsCF86}#z}m~cRV*r5_-;^#R*pd{#*fkv}WOnb|}BeCoSK+ zu?K>gTsG=329M1;jKLxC(zK|pn&MgVw}Vr+U?g{>kf!BVgQzl+|A8VFp5lPi|4gZczW6%zYrNSTxMen(^Lk7;J-*rRp`#7d z(z(!<{5+DQyJ&tc&r^h>N&UdAn4e`QrAMj`?jbKEyJcPwzr^XandeWr=ao#6V6A!T zDOUl^3T20~PIzQx>TRq!y}prkZOPgXR5q1;(z&Sx^6cXE66YsM z{nXk2ujVXk1bx#kF80Y-7p`klrREF}Q>@1=vyS2&BIbNOF2HGNHnvoQt7czby&%uU zMb&@Xe?zHBT9-5o@DQ((Z@M=}Cg-$tbF~VAS-WM;0hJSyFv9S?yy6hoQ z5ZYa*71a6>-ST*5=(=Sg#jN%9h-Y_8hmdLj8zp2EZ!MN;f%7Wh?fhK@^sQRk4(xmg zk2FF5THE&hDKL0TIG0X%c{Ri?U}FKVOD+6-0#^_F3Adb&TMKbIHjZZC!Z?bc+V!g_ zf@&y&Y9xXxiJT+U!f~k4b@-Rvc z%Xt_jf0UDQiT2|~=9uSh5knI&Ja5E~a;Y|c5_uG!oiG}_!2L|$Kr6)i&L8l;VWfF) z;qy4b?`L7&yftG`8t+WA-ZWkvvz$|@tGx_r?<#yTHFxBRTfasGHzEf{zUSgs>;9f znaCIDX|CdA+seEU`_Y)sG!Wxu<08G$`N&WAvT+uMc{z*wro_lDtSVoBU7@4*@8dqq z79>_AVhzMuNb?bE0S@CP@=V8SOU*S+Sx&nSs6Nd-2BZpjrf3!%rFgH@vf?^p+Tr&} z*C4b;LOU1vF|KfvKl-bs!TWaCnf@g^G=>4M&vO^JyKk?j~-QWxsiDGsK0@IlqbWqI?lKJLWn zz&rbbM@fCCx8E%O2|o|D7zNd0rd{MUvSXTB9x5!GrCOdU^G;GrCmWYi%P<=ksfE`0 zMb%Q0YEk~j9B74{ODQBu3q~~f5GzEv<*C1?=Aj0?s2Upo*Hrjag(%W%sxufXss6%9UOTY836gjiAK{IOMnv-=VL8}t)K_W%F@ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-lsalookup-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-lsalookup-l2-1-0.a deleted file mode 100644 index ff570a4eeac5e80e2ed1d54a1a7380bfc106af38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7068 zcmeHMUu)b(5TDc8aeBB(DQz(=Eh=>%3c0JKoaHl^a3wC3VoD%slc%obJ2|IXcV{GB z+CV9xPkqQkzCdXqcQ5K6HbS-Et#0U^k~jm;LNboD+{>r)T$U=6i>fW$$$24yJ+22r&)` z%R+ZB3%uwd^Fzm|Y7))oA=(ab!+qZhzrRQat5pucWA&C%%GjAMqrisCpS*mFm zwr!)O?g-1(^@G-a1C0|?uYoqnTdR#u?HCko}DlnkV@)$Z;`c+&S335V<&kp$JTD+lX!>kWaUj;yCoG0 z?_qRH5-d(w8Os*@*&%DSiV z#4pC>c=Dham+)i*_t%#gY|2#3lNFeY(#5%8srf&F<>^AQK}1m{ Ne=QVYE&q~Q{{vg5(QyC( diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-lsalookup-l2-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-lsalookup-l2-1-1.a deleted file mode 100644 index 70171ff3da77706f4fac1912fc5a325194eb8c2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2776 zcmc&$&2G~`5FRHfDNzv|dO(~O2@XiLu|w-5QiURVZ4nZ1L)y5plUQ|ZD|W=si31PN z*WeX6^&NO0%FKE<*|c#2hoqBucXsykuKoENkDnfUlm6&+<0V@(=g4s#*Y3DBWB5nY zTgIB5V$4{t0RS}sV}RWUfch^wI6vY1V-`#@{w~Oa2|r2vfPW5SFAX^cL$~enC_JY_ zMw2+`CzF5^Vw@3{XF-2D3G=T!%DgB^E~Y7un%u#k$8o7~0Gy8k&)@WBz)v&p%!|EY z@ILh4;>KrQnuhVP>ooBa!g0!1A;8b#X>KJmlFQh2Y}<8R#$1ivQ{x^I4A3?J9tv;A zu=3zbF8uO_f!(uwFZaqJVx|lBm35wFYhdu5a3L-D>`-Cxu|o~7OEb=^R$dFdBc=GK|I@@liFXT{OwB;B5z|R$v5Yq>QTZVsQ~UQmYfD0z}ESa+1_O z`VY0Y?T&o;^cqU-EW9r~I4! z9tP?_ExiZof}aP%`xmW`#QPHAXhJtI$Vb!oqKF8!!5!p-V7JHz;+Hs`oBqBjuK8Am z2(Z#R^^~Ik^0tIuf#29~t5R&b7Rkcbpe)O5vLe;i)s)t&mX>98!ORa-GL>)Awf^iW zvWv$7&VQ0>r;cr|rp#&pJ;OuXY@qE6^V+jeQ>Z4U%W<=j>)csw+U?$2@sTv1)D=}z zHKkrHOOnEe#8Q%$>o~yEP7wew=M{k22LSV*y?o^x0Oe~xyu5e{uz1SY24k-r-FDau z-PLWjVRdx&&KNX@2E$H6t7*(MT9o}>YoNC+TW5smJA`G9-rlzj_dOfh)`8K%Wts!W zV5Z7crm!Z%<@!1>*3+AvEDQqM*4^i5v$O3#+18+ItvAXwdiSWC$N=fO1l5InERq91+f- z1@A2f*coih;B$$Iujk=bf_}oyC*!IC4#fZqF}PqH$t?FB8ObaMWR?Rm%S2|`RAp6G zN*&XrIi;>)>i*<=-R54<;rENaB-4dI>=R7%V?GHZ_^^D{@0$9BCiah+pMwam{izw=c?IKs3 zqhP9V$xVwf)k;NB+Z=b%5i*)CCd6-%1JpB*`5}(K_E}Gr^zUL!7!&ASE~BxQU>8QQ zXe`Fm5M##ULbcI)6iW}{aT*Tuw1j2D$M{`XNhfFb>DTe`sE^nhdz0ZDBzweJfXkRY zKhtlqCHk677NQXc#2C%v3-}t~o+2waONhI^l7)yfrX0RcdInEvG@lY#_mp#+|Hj*C z*t6#MP?d+TSWdX0O}oHlcgqx%QBJ1}wH{H%2XxFdWxVv+LRFT^cq7=Iq>NrXE}{%O z9v3Qu&gZns$dfY0uHzoRE~+YS;od2YR1vxld-L!GOH#$ymZyE3oQoFJbXxcyCFphY zb5YP%sD;0Y5;=(d%H-$mMb$&9C=t8uMw*ZBb5VwpP8lm|Buae3lXF^>*bz?GEThD( zU{_#rMc diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-provider-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-provider-l1-1-0.a deleted file mode 100644 index 44769ba8c2c507b43717491d16c2e17f5f5ab1ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6972 zcmeHMOK;Oa5S}D0E#-{>l?yTgBn~9lA#sC*P!QrJA%p}7PHfY}B?c#{Y?p_G5J!%P z6XML7-@sqsA8_DDZ~|ub;jCl3F^9Tp)s^;M}gx9?7kB^KD$2ZIqa1??5w#AJ6*eFGtXV2EPF>or#tc;Mu9u& zur+`5((U16Jd0V(WF3Z28aTjM-|6%=c`jfNobZ8M%AMirs9kU2%z)+O};NcB?5(cX{D%X%8ABK%)e3h__}-wa|GT z@^*G%fVo`jb;3?IgiG3Bey^*kb z$Hx8?oRT9ws)L}4^r$L&R24m{o>jG~X07LWP+N69M-KY)7vNcGwev!C$bMaiG-YLC zUV`cRLyD(kG~HFQFq+;-7nKr~@g#N2bvBEl4KQ3^WEGVXX)Kx4(+N|C7g!c_CM|GF z@8`GlmbsL$bQ|BqVZN!Et+w>K((N&9kfkq5E1@@?X6XvA*BUNjjxJYi!m0LTy&pT~ zfJ!<8=D2S`KkPHJ8w>H=UK5*>{K9GJ%r{kobHDb*PhH$X5 zb*hP@0MB_TiZcAbMnSG}lYO!D`+{SEiK)qnHqDzXS#^zLb6hcR(T*v|A*n&Z+G+ia>UqJW7+?#;3dafm!1xIP# zRdQGJFEOt0J<=Kkw`e>inq6>Zk^dHFfar;iJdXK{Won?89Rd~-mU2JCInc<*fqE;! zf%m9}X&iVW?SiTzIk2M5yAcPxbX0^=%_>-NQMbJKRQa?cAO1KwQL0^%zT_^;D^|W z=;#9;lGAPs%UYye=#y>dV*+>kbI>?Bs5A8ePu69*ok z;u+vQ`VPDdC(6wJBP2&u*CNx<_(jOMGkYA%{+!f4FX`SA9((v zCj(sm@NE#MM`;`mdq<)Fa)i~hRudNx4#v3KLc6l?KB{|8&lx-TZw9@zKAId+(b+h* z?YgdMx_jcROtW2kZs5^iX&L~xxwK-`)8Ku|<>JZ&yIuFa)GLN?OAGAt`f-xXfx#!j zg*4!!ZH29%P{DQSg^wq2J4#Qu)neSP!fm3ko`X|%B$PEsEF_er2xSqWEFzQ@IhJGD zbw7#-U+;!dAUpoN0O%QA??fr2UiTwSTfQ_m!E_&%iZGi0%0(E>cjS+r zpy>(>_ZcyxY&^*hBHz^Lged{JWLc3+Z14X8+ne^@!_##)$|>xa{t`o((iD+&%d$=$HI97-L!u? zJP{hsHn@g(;NBJSK>j74PK*A%5o?}_5Dr#cr$ zJmBvDG>*_5NDVb5_=fcr7o>R?sO8-7rjcR)j|@6DLF)Y5+ux21m_$bQ7EJ5-XCfoJ P_1RyG9Q#uKeQLh|!f1Ie diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-sddl-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-sddl-l1-1-0.a deleted file mode 100644 index c76980ea01c0f2189d23f21857c2ecb682134d85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5596 zcmeHL&2G~`5S}D0Eu{!laX=i9k;;t(J8hjrDpjO%>;b8uNC;`0#!h23aU$D=f;b?= zkwZ@$IQ3C_OjHtSxawYBtA8!X0# zVH&1hG1oLr=R<0(X&aTYn6S450C;7;1I&K}So|4Yw|)cAb?0?>t+)UyE@Rt_z4C3( zXD{r)_SkmUve`Swt@j*;M#n6htnKX6C9GZ7Zgf4H5u)Q0micz$$a8}C%(tvIYa7g9 zI;%5WrDFqQExT^b&=26I-M6+E>;|6W9_%{S%Pv;6Y8ibyogUs}>iFP@xQ*ww-|(DX z(DiVkn5|Yd%;be*(DdojFW;-&cEXP1<8o$_vv8rOWEW}Hu<)Z zH}ZPHYPX@#blSF<@aG)hAk(ZLN`tVg@gsM+A)f?OW0y_CC~?cBVU(Cr9C8_|2aAX+ zkJmg7jll3&5hHRLidMYH)d`b@1FSFLJ+(v(Z%x7QQl%1OxQS2UF2A9<%Vu~{#`PX{ zh~f7IL+B|dF4JzQO9MUaI!z#E~8-qs3z?%@c7*3y-9f9;z6(c7M$+&VgIDt@7# zWd^cG88N+NT%;{pZxb;el5r*u^YQ@es=x>nHrmSHI3RwmY@K97tmdcKu1XOH9-*&* zc#%E=M{c|cWoEo~Hg4P$2~r`tlGo$eZ+|lTeLI``TYlK-KdG+S)5YCzJ=YVDy{2so zZZd1zZit5Nuu}zq6#(lyK;;{nPm|}`O8|OqwCRy@Tgo?)3M2VK#VVBBB&LRrbm0nBh?v)N)loi5mrX3vmXZWp^OfrSPgsoqfQ)*N0A)3(v?E`5(gYA zkg~7*?qa3{`HC0wOfN<>+?HF%B?QAgSrNd#z@{6x;;egO92m*T(6- z7VW1igy(s-y(yCYwe6kibL$FjDZrKmaFeYis}`#dG26wJ4PvL(^<%#n!YwTj$F+78 z&4IyZ!UZ(ogGP$2pi#kfnT5woa2u(ga4W^Q%@illSe=1O+mU?EFmjN5PD(x}M?PoZ zI<6yX-N68$)(Zwocm8<-@XqS_yQxF_%~;aZ<=p%PGvin)!Wc0u7h#O}QB2Af)zd}C zm}9quO=n;@Zp4nVwKhG7{z^wDObJ4)7pr{cegFKtZ`R%H97}oc;eOoW-&470-q&?l z;Wiq?`#YK|wBNIMpW@B8fy;Dcwx>4XQak@%MaMEwO(()K$LBg*=V5%GPi2H-VfH{T z?(dIw6AyC^EUyA9Zm?uxN=2JRhaLRaklTrcRbDdNr_<_b^^U-4Ro=&w@ zR$L^o)LC|OGfjQnP~0+y=@YV=t`Wp>lLzF%s|7s5_Sc&E^s@h6rpYn`?Pmigduz-K zlZ-T#X_|=X&&Fknqwy%ChO==VHgh2+wlqe&@MRyLJfyFqqlu6Bmb(`;T;?FnMVtk= zicb<_`Zg^y&NN;5bj|@YOLK++tpSb_&4Rs*%&V1b+06I0>5|rN$KC1nT}Fs@Kv;(J_q`pL3415-m~SzQnap9hQriW_ zTCUSLXJ5cxy5XjHlvnPT*XVe)ZrSMEYxh{*U^3^07xa8*$h;I_y|dSr4uj3m3HO5a zgVlP~j9li9L&Nh9!*Vy?-n@OaOw+b)UAJqC@xE?oS8!_qsv5ve-kZ|Op?eVWetxBc zxm9jBp_32cBXuxO%G*IO0tQEf^Ju|G)d*X{P6?k&EqpzJTa4_4o5{y5MYt!}najXM z<48iI9T-SLLz2)S5*iMY(C{t8GR$(r_o3YMd{<8Ta|-ZLYdX7;LE66Iw9x3NP^pO-A5oz7x<8ZyjKg$Tm!g&MDu(j7AVqoEHgA33DkFL-I#g}556!lvpo;jru4vx4^Eol_s z6R$;8fM3{|P(nKAj3=`z*H~a;sR*Hs$|g&dCaH#|;&+%DdfB*?8V<8@u^R5;`;DsxO;Lk-T*f6XwIUwS3t%B- z2}RWDR+a+%z@DNA_0=Kik#S*QnL&*w4?e&? zg=ZgOU%?l0t*@sCnuP&9z!sVAp6aiE`1-4^d3fYcI{lZWXZE61Y89{Ixi7rBZM&+= zEN%O+;pqXb5)l=MtTtCCM8#itgg6%BeIzH5cq?N$5yzvh6kmeS9|wY+f!FZFAZX*! z-ccw!qlpwi3?pC#kN+HWq)7Z>6o^4Z;O7gTX(&mEzVy3WUW>$=a5{V~$1?27Fn*V8 zDtgsCtnvne;aIEzPKEEu!11wP%%M`88JU z?7}9uRqpz+pAAtxO>!^F?I_v+qwl~4nD9|G#qyC;f%j#anlHiCQa^C}*|>U&d%}%_ z6}YsYW#J4Xhh^btSvZh|dDkR+UWyO}PPL92 zF-r7Fl}VAK-`vd&i2j1?6zKUl{|+EBH5^6>2Q^OXBP zXsx5Nx0g+3w?9r0S*~ZSOY^L=kWCtl8L!68Vhr;gG3MK9oX6eD?sM7H813T9zPNmh zxAXJ453SYT0qBAHuqM<>bd#TiYrLB+lW#1WU(PdRW@MFBNULA5g;jWzk!5uZ8+m3S pX4HSh9+DWtco;jRDx diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-l1-1-0.a deleted file mode 100644 index 51823b6aa2faf3268f2180481dbf3c4278afb8e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4460 zcmeHK&2G~`5FRHfEul~j9C|{A7EUG+NI)8b=&uvlxBZQ16A zUD0(@45_uQSIW`7uGfnIumGU_1}OZ(?)~Vxu?;}iEpain#n_vG`vH5&L+-P!UX!yA zZr3?-85&)C-DaM9oBMmU3i@|DM{F8sm&YsMYTR-)94&$Vl~#Q>%Tuq1kOS}Eiw zq3DmVbTI3srV~2jA!4Kk=2>Y!2&TZ`3*lT^aJ3R+3)m^(bE!qF7va`oJK+|_g5a~K<>U5y{P%MbY^ zm>Rp>IE)gv{5XsfGm1lAqk6E&xQckq;m`z(h!rs+udNI&BJbkW36p~s*4e9{_}xz9 z_mjczSIqC~Ms(P1EP^r63fsrs!^k3d2A7}&5#2}$6km#Izo=iB=$S{f zA;2-qsU>v+s1nb?Pqbv8ld{WqGOZR#S%HbA9LZ~1=BQRIMOpJAGGCFsbW9*FtNTqB zJUYN59Is1;Q=?~>Ig&3u?OO$%y;J-`Kf?@Uj&;O@>9|B$wB9CSKBwbs92Vs+)-{Qd zCT#Sx^9OWydfK-UuO^&15Jv%=+rhB!g#++Q|M{^6P8CYZzkh~WWBQH2h z$*NMlN^TiYi+EpphDcpBp9*=8)UqP(0cf4bvLh|jOi63ejNrM18eYv5fCdrLT(Q zD1g=+e8ZXzzw+dth>PRDIV1loqx}D$AyyOq>$u0W@*iO0zaKK@>Sl@c-K{oOvoG}FWR^_J zw2bA_lCB$~O3ih>Sg>S+oh$&%0cd{!GQZJ$7CblJ0nl@+P7h;ijJ@@E*JGR9=Uuke zu5tF+aqW)7(CJu97Hc}Y^hj^p<<)kVGeWdH!ZK{X?^HPx{-(+3XEW@i#euN~w`E#LNg-p0XprD%j* zjIO7eb>87_jk|u>#df7oRGY>Fptg7P$fXQvu^Nzw3DuU~o)0hdNv=hS&@m8T>9aiT(myDfAO= zZZxhO;ug`EkHLlYNXcBw%ONFml9D;1WUguE@RzSOn*jN`)8w+j-!p)ZTHW3Y9n!DH zkA_R18{6pJO5D<;FiOlQ4rz_@;UwcK;x&U+V=y9C#E7)^c(@b!7WPh<6yPR+ z{G9e4K>Tj}2fxe9<^C=f^4r2SxFhC}xomzHWGLY-8pQ7f$q!oNIDUtCwN!9@y{Pq} zO}NlLU(Tar7APm>&x-im6jlcQ5b=p1~z3K}0uD0>zhNI!Njc z6MS<-8v-1%oJvwBfGY76{6f$4Po}90D@)4q3`~VUUXxCaa_Oa_tXUD6Z^&M{ED)E~ z^(GHqAmBOH*CfNK(5H8D^mlq%w;~SaD&xZ7gc&+HmJo9gkLxRo`ddNFmw23o)gnE@ zydp8ug@t~4_JrO}P6j^W)%cqSVTpS*HgOf;IzB0PzdxYO|I==lQbDJ)JCklYth zqfxMxabPK%DCgy(u~JN)UqFs>#Jn}=U0&!G-Zlciw3cGXThwi zs*w9~#sh_{hC#qG1>Z4evC~fUm*V2|U?kPUa^&>*it9f~4<8gBU8ElB%DCh7(22)I z^l%i9>+9hju6I&BfY3wq4e>_1XT B3oZZv diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-l1-1-2.a deleted file mode 100644 index 08da8f9092fcce13c5dfa2149dfbcc90e12e11fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3566 zcmdT{!EVz)5FIBeDNzv|5JGUkh;qZhPFp9DDioi z4Sj(|-)*=e@b~D_*1>_?AB?0RL_Z{~!1;&%z7)zHIKmM%;R#%%FF}Z|^xFBk0r5;m zuj2=JE{|TK&$lhdMZbQ3DCP~ObDsL)Fz^=4n+8DpDC|Ym!FWsN?S*68u8Z5?*3-Rs zVc=F^u?>Lhs<&cPBl#IOW??bG-mSL1$Xkd4Xn}oN-3!AdFgPZhPYbSZCfE{oO88v7 zsP$spR$?dI>U>;1!L4IwEd!T~BY~`bXd!_tO(2U1WCf1pShZ?92mq=bKahID?{k0; zM#t+V25sl@BX`9qp9JHvE6l^NxE1GNSj;F6MT6?eqT{OKwSq$nFe+BWh@$aeauI!( ztWKB$bg<4}vBdB0U+}x$tdGAn3BO(3gB$7{N|(*=nhqu0#18TMw&n-zaTdQ5JZ~9p ztQS6>^a+>rr`t6&l!0neep$umn(AGIOU zG6-nCt4NU-oW-)KRxQgZ6Dm>fNzV|gisn-x@3Bhms(S!hC$==Sg_;6<$9mogXyNfF z?=xGf1p9(Ys5M!RiTC9z24a~K-fMPH^DmXqVSX1WVVI4ZQNovO+*k>B@cmjEgI!&+ ql>kf${BTQ?{%1AZ({G)sp`|U<6yOKeObz_iGk+Ln0XhH4RQ>=#;9ofa diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-management-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-management-l1-1-0.a deleted file mode 100644 index 26e05950bd02b4d83c2475e23767f25a419b7915..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7672 zcmeHMPjB2r6o2bYNV*gXsQ=WHk>G%o-P&o^Nu&y`v>^2WqEbOc9GE!SNq1GRH?mEe zLl6A~Ri&!p#CPd;;K~7U?1!Lz@6FgA$KH(timO0Inm>N?^Za@9dv9j!PjCCt-uTPT zO}iM}zU#T3v+cRI?QoTu+ID}-(=Y6F0N^74>lwiE6M)sfRDAzW0E!>}q2k9_rg#~j zDPF@e#T&0F3NaMohge3jxGNJGiQ#M{#p6lnA4~)aC*GDPg2^sLEuDpOZx%^Gh-pk% zf$u+>>`5{8L;r!C$}kauD_r3SUtm*H2||peKRWHsK-^3GD7mMGbARBjW5<)}fvAvw zcOb(GU`fn^;kP`q$ZWEr;wu@T5_PMCjkNQUco<1P!`&bBvtd?L3};~y%>v!%*M~R+ zFKxKGZWzqsbP#v^a1_XVD3x_E!nN5=db5;`^H}IQj^`l(y=}!x+urGX(|QjmY_$L` zacQ~LOXOj~<@t#X&Q5RSC;og0*9^dU)!U8ZV_@)ml?P{h3lts z!mZB7ZKk+2EL^O>rS)hM-D%uKljz2ZgWcRDx`EquyH0Nu1cdMHPXei5{QC{SgVw(P zFcoOIsYmLzeWY)KnL4!QVGRAX=V1)pkv`fjN{d13m-V)cRSPhzGh#-&^+mA}{gk#& z7z;=xP5B~b`?x;ax18cNZ}CV%|$YbDlLs zy|hzFzE7kQo^`=ecz!enWm)t-1)8X`l&k!VXWUHE(-O)oc!_Dn@owI+ubFeG!Tx?t z_TM^ZKdz)Acy^NeN9KllGc{khyfiT}5t_z98P{m=XV;*=MEPHp`B@7A<| z&GR$R0vn)jFLlpAEhv2#KhrjFgNztMeh0{ohA6e*H%#%r%}IX~G;Rq_Jxf?G-v*xI zvEaDdz>mf$y2;zXuF>zJ+dxo_E8PYjRpYWHzly6}*Af8A|9kND|A94}^cPq|Utc?K E0kpIMi2wiq diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-management-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-management-l2-1-0.a deleted file mode 100644 index 627d39a12ffea0da6a312aa2d37ac4c8590adc64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8808 zcmeHNOK;mo5FSZ>B!Y_;L1Cmo+AwH(C=jV6BU5%^1OnUwJrsS!DBMGVH6>9N6Fpps z%A<$Eha7Uup?{z#dg`H<{(u~N?;q(eXgaeGYH2Mc`d|h^w7@>J^X)EoI3H)0)UADg z)au?Ve_|z*v*UP0F>YUTjXp1 zA`J6(QRMfw0VvxE6q zvUfNLTEkJm2+^7d1EjjtMb&ERl2gS7 z0bbQ~*;F~Sf1EU%QFW;Jlg1mzwmr|YEN@Tn$g+;hUlulyIsm%`WC(Aq7phV4B;xJ# z!UFra+V&$q9l|9IuwPc2L=WlbX;BG?qFlf zfKzfLZ>2x3AbBg2yp<_=D?PX3RP1WI*CTwj6ZQf*@V{38CxwpxP<6D<}` z({+dsB{N3TUnvcv>5lYKDo~kBQomep>nNIo;W{JBC>1_VP9lG)*$GnwQb}GXVo z?AE?(@5Nq1S-XdK;vK$|wbyO!u2d+ziw&~&>(WZ-PMfS<;q_X>#q81Ls!cf6K3{KP z$0kro&w)*@pSO4`i>-ILM?*L!Za2`0x|6{}(Zj6`UIQPvb_E|uzogS?(w{ftnr9fo z!OGUDCXNEgZSi&y{=qsgUw+xqf(%W{oMmGhQ=L<7kx!}L)mgU5HS-KDnF2GiYyI9+ z&lSvfQ2v9ocB-t)^C__ppnF)u#X8!$F!enNpF%$I)QpQ+M)U0><|i}GLorV`uxv<- z?83@=`RXJ3_2R{}kGPi>u?hR5HOXEv#>FgjO~3V)u5VhlH0x>Khl#2@`O(zYoyU)!88^d^M`m2ikL$R+e#4TPww-dUQCbn=T+W#qCw8)NqBhHk=V$|qIB~4mQl6Z6 zpshQP6OkD=!-=2GxR?_k;62aEiS-00k_TxrBzoR1tKayLHh^i$jW0w8FN^Re)(LJT zx1Yig6DV(<)Uxr!-C6k#yvKqr@q2=pC)+5?%9FJOPvq+v9KX!`pxBbqlpmjp4qg`F zSF98KP;aFczevkHn!1~j5wo7-49#Pa=U7EkWD?2KM#;bk_h`8pap7nx@fKK|GW1|8 zDbCwVxY;LfmwCl@)1 z7r^jU>P_$+rfoMeeB{eLp0YD?V)pIrDxSI>pD-@M2{3U21FB{A8RR=DO-~s3hlw~9 S;dg8^11GY5z|QI0N%?;x=mNq3 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-winsvc-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-winsvc-l1-1-0.a deleted file mode 100644 index 1565aec048a483d68caec9a471f347ca798d21be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15436 zcmeHO&5zqe6n{x}yW8}G4=uE+CdR0Lo6OZCJ)kE`SCo4@$d}NemmD5MQ4jxL$F1m$0&g?2cy@8eUA$(3dE~Lf%Nf8&);)JhYRL6z1I8cjfQ7N?t1L7@p`UBIx z>7R!H-Au>0=MZeVC`0NpH`On(iSo-v@d&cZMezu7BU$7!RQi)GTPCw*Y?{Htt<~ zF1qM>TgdZOIG={iEWLz=K14kI$Pl*Q35%UWBjZv0MxoK1A zl7(NejEe`Pf`-$NZ3K)|hE=I@_ z%VOlB4I)AF^*0J51#FYG4(DfJ1owARjgi+- z4wO7=af=gJnT22RszqCNln8oxZ zy*pAb;QLeZkbnp9Zpy-sSoa~pIm3%TR87(@C^bnm1bwFk8ay;y#@Uv&3#%b$C^yq> z7p~fx@1bGK#R84&r*JgLeJqeD9;#A!(CWdcd$A|$;bERV*%c5!`$#tqo(tgMnhyux z5DvuQ3SVXf$w_)env~vGm0*1ECHl;9@xh0JU!7!p@Tt)6toWc8&KHOe#^HRfSM)5- zudE$7!}Z?%x``Ae&9T8H8UQBG1}L1s$}D`3SFZc+kf*hOsv$}JUz}IdG;#HIPZ|RH z|6iV0FGKXlc=Rr5#)8y&b@cEBT*NUYi4ocJ>V=I6!O|nyh$ZlUc$#)xNZAPgkQ*~U z!c8I7a zGu;@F+A$3qc0=M%K#6)qk|)dM&Be*`40|vS9v}=4c!ZE6r`yLXc7NM_IsIH8F6N?XnU=9^ zS-NiUklN~cty+yHY)%6JR_!-H=@-D%6IpL908qVCk#!dPvkOA33h_R0`hi$?LZ>fQ zyDdlTd%Jee6DahoB}@3;7S%}F-F3FReMbUDY|V{BwbbIc4LqZzOEJiqm}+YL7wOX~W=@*!k1 z14(jdwZ8^orJFc9%fqH&Smbr9zL$yWE@5Dxvcw@`C5!EVW))8r50XK;ud2$;ij^2^%ysgotYF|JdQLhcY-p~ zuq{iUe zC^jQI6g6sxOJrBJ*8~oY!LY4}5k(DyJ*C8}6Q%(4;it>0a%rwkDOu(ToCW-sSuO5!=~Pqy=XwxipGdC8G?*2)`#igN!Mf zPldG074{S3&q{e+@<^0)4*@dH^dL0GiKuO^Aud(xvg2HGNH0c?x zUKE^qaJZ-_FwYnT#^98=rpcY@8&c=AT<}iPi&=J&x!|LscU&%T({UrYpr4LQHoW`D z;zooaM$3|(3p9>`!Re2%|8oS)MQ=OE1NfsLDFyhBea-`eSI#)z$^&w~$NpshH?Ema cPLia}-v7^&`7q4LjRwgf?QUBGj^lpi0HvBu;nR%_iF2 zltkiCaYP7J6+(z3;)oDJ2ysF^aD_8}4duQ0u;19;WLy$g*4oP0-Z#%<&&=&iy1(`Dey3S-^wo!mlDZzcGes z8lJ;+>3fmh{*EzB?>rW1?hD2+RX!K#8eB2GFVl?;#xUJ%i8SA44AZR#BHg~n*zJ3+ zd)akA?0D^td)@1LZTIr(lIMQfXw}vlE)W~el;buV3z#HzwdF0Ywmla)RyxS*cIuqc z_U<-1-S(#2v|Zb^+?osJta!|I>t1bXSKq|kYNhIRKdLp?z4@8(33z8?WzCIH1FqRv zE&S7az& z-Z`W?f>BWk*X&Fj7pE$&xs|oa9tM zY-w?6d7(SDs_aoOJ7imy<2a>~Gj&0jq0*h<_X>N#6frhY0L#Pg_7ujt-bR<-_db=F zb!Tj;)~)qs;W;zRdNQ`q>1@Ns9wJ`@3p_iacn9HT5Wb5Zygb2oQPGiaUvIui#rHbg zjKuJ%d@wfUl};IqO<5S5vNAU1rd_tn*4R?B3Cv^5jix6b`u8bgcMHq4`-&jxv<>l< z1EKdK8*RU0FCNl%1HE`iyJ1@l6!5GcvTb>r?SZTV?Q(s&wQjvId+} zvGBtj=XG#h5O!m-AlgEa8g71Dt1i)|VlRMUuW zj>rdRR!GMyN+@G>eio-9`wMPTaXfd`uazFOkgtwqS>uyj$hNg3(^JHb4Dm+U01V^c z1`$nr9Vz=DornDE66bg+?VcU+^*;6<+P7Qey)3XdnjM(}o~3v`U%s%sOTg2L=W`&N zA1}grM)F7!TuM)#zJk9V!PqZ2PP1UtFb`xz8@>n831dV^qJ8lS&`r$VSnZoDsz_$w-L3zUi%Mp}w{I@t2*;jBA88j)s zDm1{_{XreKDjfArj(X@B0oZtNY^PCwilBZL-rYy2*9UJ3^^%$<>Mt6he$tXtSA5Kn z>w2j#eO-?}rKzqz38*J?JefxQai}*Qfvz7D1b!~E$8ZH*PpaEv0!vP%q>22A9Qn{Y z|5x89LH?+Q{Mr6OKIrx>rfyT1z79N{3x>##`uCp!T(-e8Vm}J@8PmX^PM^VFEf`6HjCjMLZ3_x-gyy2=m8 zY2tp$4EJ_)toslQ|8`^DkA-uGg-AQJB zUIIy=YY1`LC(BYW8j%9N%tBI&>>D8kT9tb)sFVvc)3gO<5#C$^M28A>AN7HfNWh_x z1k6IweI@}g1|W-hscgucG$p_=+MC+|E&@9t0SA=?sFmS;Bmt_*TI7o^d`~~>Ya2#= za|zfn33xFi0sUkHqy*^mKvV)`PMS8rEc)x@t2?)pfF!Fs4}b*t;m(Zf|D(KB=uA-T z>Q2A9n)ef;rips9m~W1H(Y?JqpCqUsA*j!~&QFMX-RD=Re-8e>X{0wg=aaAG59WN5 z#JgSq)Cd1$neEZ8;jDj9U2Tm|n4G4zH;wb=xJP~8OWP;G{V>HnsQWC>@+8GQD0cE+ z#6IpNIYr!Cd6YK>&yi@?POfj*FL5va3BGS|FRB~=FaC0efHZM$80EEceIFwqerzj= zzTZc2-#_}E<6hs40rfp4r-^&Rn64FF-H^w01OGlrL~96ePqrPwkZz`Z9mAE(w937< zV3GUyq=|pSh;EL5glSJdKMDT#>iEZroj$|=Hd_#-xu(Z5i|6LEnuyZg_)p^Z?D6pr zHb3L5It^zv_06-?qRtRCO|5Sh!_85@bEqGrsL!~!pA_{m`?!JV3u>CEH;da&s!c}8 z3jW;J4}5*>ebbf913v22#(ndd_H|AQg+NyE`%`0(Q)J)58CLNN&F)t@xAxJ%`q?fv6tRYf_WBT UKJ#-t$uO_a?$fQ7)7b0tKfoY@6#xJL diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-registry-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-registry-l1-1-1.a deleted file mode 100644 index 21a7b25225b0fc6f4f90a29e08b3b90be0a7b3a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2762 zcmc&$&2G~`5FRHfDNzv|df>ppAV3^QaMHvHQiUQ#Dv=r_1S%(_t=nv3tIiL$D<~%p zJV2iV@eq9hUWqa@UMHI-PRk+bTAm%xe%`ge{l??RyH0TIzA3yiXIr^ew#&Blx?VF) zi-&Y;nw3UF-Edd{fE<9)#jXR8|4pY5Eg=p<8HD1!jAS5MqplQRy`eMq1O`33VGG|o zqEkgjLwP(3q#(o~B&-Nsjs&vrg;8)O{Ia0K5jf94f)K8Bx+`4?#K-mr*?%jePmX^o z_kz)&z27=$?|0rcD^+{~Z!i|iG0^>THi}B43B_sLmMzP+ZPTg@#vP;=plSfz zXK%wOMecAS|LVim@-z{U^*mpyoBmz`^o^c#k_1#- z=a81nURjr5I)9lojK*Cy4Wsc!Tx1QhvrTc!oNeIH5)AW2s>mA8XD3lt$?Sy5fQNQ1 z*;pW*yZ@o{hBdEq8~5P>zen!2bzV_)!Ztdj^M^_!w9kulp5XOf!%gx=A5VP3CH~cZ z3j=u|OJ9II^K*~An<(AoPbI>!v1*_fxu?UEIKoxu$E~)A^=lv-1@O^jggI1eEfbEm{Td((0?q vU#-H-fgc5S@IKmQX$p91s@_DhMPJ>^5;zsX~#8iiA*w3fz#kZnBB3BzB2SsW>6T zkwgCjS1z2m_Re47H&AAF*U6@dQ}>Wml~~EU>)Gd7d-lDZ_1$%+S9hNlo*2W$s#vyV zn``!(VVGh_uMMMIk@tqNQviSkfb1oJ{2%PTkk^$10J^UIpo_5$#@>d!7qVA8;ytzz zG&uX{`Ocol(CFD!n{~Whx|B8Wc|GWHMu=`mSQfg%64srL=eJnLViq%*!_ZBa17j|C z8q=Hz*f!q}+Wa-X0N-#Ozs0wL$ZL9aC-MS6tX1(PyzU-Lf!pRSFT_YB`m*eSvlP(h zJQA)poq81XHiO=or!|)Usd?uVn4wuR?HjkY=zL#EvKZ&cv zcET+r<5pwbL+mV$!Nuc9)nYd+B2|l$szpWBV#g|4MYGiCbO>8&dL6DF`g;t}$~2vJ zY*2PRhBRgF#JmL4h}j$tO~8nF5i4?;`@>GuUF@AO zS#YtQ#r{AnchA7`s%ed|+{RV7A-*Di-Yj2M!GxRGA(r1#453vX$MP7jw;Ham8ht$O z6E5zbY!}fm4^)%>=S6(3ie4I?yJGJ~I2OSfXh!Y_zb!3-X>bl&5Yd%dp!iZu2Swj! zYpTEqD+Yg-%@m)uPzdSIZJIAgx+5sFukG>Wi(GM7q+OD$swqn z@%LkvnlV#qW<@{0NzHu4P35!<^G@x$)XXx&G_`prWthG3xRDI=X*{m4ncMh%X*C0o l@cW29E^=nMgYQpepp}}qmsJ+NV}~VtdYWJB8JzA4{{WC!CR_jj diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-1.a deleted file mode 100644 index 16b4cfae025c8edd409bd5668992676f47dbc12b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7028 zcmeHMOK;mo5FSx>?Fw#M6fWQvMZgwm(L<$@woEI4VJLCxToNE?l1mYEO-pN&wM+>l z+Z07n^w2|(zU7=l4#}^`J^v*?A<4`xA1iA~(FZ9o>NWPE*>7L7^X=@?Uv0Z#&)aGI zV2%fS({^mfy6$Y4rX{M>)HEHtoix~Q0KgRh;|0LtDZuh;8CO05p!o5(GJe_xp!nI( zGOmpP)<%r&GWIayVZ`q7n1^h4*yrrAAGjl*q0o0a4jcFf6cgz%;JsnU86i$0!m`K{ zlBnkn{NRWUY({@B!){JEFy?W$Kg)rDJq$vA$$-Z|M7Po#N9Sdz(2v2 zmSgVo_+B{d@hG}A@^3tLLmpr`Z(UsfQ_;wsbmTI`Z61p$@43Br814@s*Gnl>2!5f(06%1ZVfX-EwWJCvK+@j3+=3D7J8@l0U9YlyN0$X zN{h8t%>Rf*xi~Sw+HdvU*e!;Lnl4x`TL)1z1qS~R&ZiEqwNvZ@78Y<`Y7qTN+-52# z+;TB)E5&_>g%u4htw-84PogH$rYULDOlZ>_*iHOv^#=pOwhsLPPa3^>3vg6BbdOU( zB3E@tL)OoXOE6V`MiEBQUA+jS=#6wyuTeT465R@&En-y(M(B&IqF(!Eyp!Zt+B;zk z@GzanSw&Xvox{pImOWwR4(R+zGlpabPyBkaT&X)ziq_)t;ac7Ey7hy zy9p){VP?L3D~{CD(_DskLnyxg5RPn*#wA+?_zcWe1%S z6moX#NP$QVc#1jGFTKk1XP&IssK|;9d^U@)-?&q|WJPlNW~}%Ucf2Yq>QMB0z1Tj( z6xOe@;$|YD%z$T@vZAHukMmN*%)fi&{$l--8MJTG9q3>AbfcQ)FV4dZ1B$-P{12E> zwDg=ArHDB)!>-7T%bOGt=q!UWpK+d>RE?OS`R+*lU*va2rJIy~>0`Xms7BP!krh@& zR@jp-@W1dJo%X(XAP-_;P4j$T{GyCo_P+4+xQX{gsK;fjSVfDjdXoZT#n?CZi_M15 diOv}EcSWW?lp62^Q+9UA-SU4k%;8H{;~hP7z0Uvu diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-2.a deleted file mode 100644 index 241fe8a03a4e7f98830160a2adb09804572adcef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2752 zcmc&$!EVz)5FIBeDNzv|IB?+LN+5B-#tw-aqzXk!RfNO=3H64wag$AL)sCas2*im4 zAJC6L;x~HdpC~iqb+T#Vv>cMI;@R=+^RDyu&5rjE{plch+jwOzHn;71uIIe*9Mi-f zHr<+Lv(r)!^cw(B12Fp79Rt*V(IrGrh?7)KQ}Iz|aw>YsP>QeN*q?*~gQ3^)L=>LV zrJ~7L4w9)9gosnZiZtLzI`E@#d?q4SxS}b1fz!kigb1WR+~h(a-pTA}5*{bhPl1f0 zllQ$Op5Tj)vu+F5595hg3xS~@rhV}0xGU^NK00) ztxGVSze*WK+ss`D`rnqI!c5rA7hWR2@RE_70lc>95cEVI3K)a1hB$WsM zq4JL7E~(tZU3kR*qITCRZz?k3F*>C3CrTl-%d1pg;Pqa^&9X)xFMPrk{`Gzj19c!v z`Cn AU&Nk}9CaaGsa}CO_)S;HA*iAL$;B{Net~yil6BSH_n)IyiIYoBydWqwo zmCC6zH&;VuXFly6)wYqgF3fAqLJjF4X0jSL%PyMl5Ha6Z<2)SZ_7rVbVN?h^^YV(1 z)QgLGjJ(n>0M;F?Nje3%k5|q$-RqvtH!WLTt}dY0VXh^hbkA(jD)^LETUGXI)ny@D q_`lLS~fQ=`@MY}w~~0GcO{9H|I(75I&I?U&6hK7O{4e~o{_Yuv;D diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-stream-winrt-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-stream-winrt-l1-1-0.a deleted file mode 100644 index 090a76741b5d00763656be679181eba549f081e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4666 zcmeHL&u`N(6n<$pHp&njIB-G%@k4^OB-NH~(u9g8ahk*gLgMD7jYp&P$CL!vfdk^O z6Nmjd9CzYB;NM}q_w2OJnzTh?oe)@x?L2?6o#*fQb8>gfkJ_DQm8W(#x$Caydd{ZT zux*E%%-puuHr2gt?^OU`8K6`HSiFPPV|88o4nWt9D|895EySBxMzPqHiHyYdAduo? z*!K@ZfyU6=@I*Ik(WR|}zHAR7DG1Sv2`l0bTjC^=evd3sBD$_{g(G}{ef1;=(UE>| z;iG}r#yKSNHBaT`2N}Kc`@x|1yxo>@tgKD9j?)Qyhxqcdffa1LC+a`#)64cb6 zW`na=3;e_{hHy(0oYPt>j;FxjGvPw&@cvqgUBJo$&dW^PpTe!DcET+e;~FV$6)P(_ zxU?N9UG2qHByd$xx~eEmmME!q-Ktx4YC*S)57hQ?ne>A{&j8+8`~E>{(00?0G;I0Y z*aS0uSSrF8{wo(@4BwGI$`<9>r2Wf&Tg0Xb81@-4qij9ScB1dn-U(BJ9_Dk~ODfFw z&g^{OaL4)X;ac3}cUib>zSp%&;TBei@3%EiXsz@3p5o2YzzyTaY)|WiOY7&$6*MdX z<+Kwlv45^}Z5Fn7c%w%+CT0%oC!P2G17%^p!6ifldsjsS`Ime;O6HEE<~$Z73{Kfj zB}FL!?Ez^j!4Is?P2w(GMYU$DIEx)jbq=;^y3%OW4P9Ac_naV?=_o?XHdmi4cszks zZ0~5kQ(<46t_*d6R&fmni;Qt$q(2#5Azl2Gj~m7r^|ytX<9wWl&72-$-qaXv!oog1 zdq8(5CnFoNZ2IAZ@We(MpV$j<6))v?x;Ja4?`aCX?AJ)`~Bfo@KRQPwGrANPO!;94r` z=b!Wbbo^L4ekL8naZ3M6{7iDgEFT-^zI5jEF*k}IXSVq9Mqj@>mfHQkBI%~-PoRj& z{G6x$^o?;R>CaIvdwW3~PL^mQVi#%?LzDItq(`SLjEM_u?;V@kn81r1GJ97@j+{rr1UvHWj_*WQFgPNdPXj)#No)x#C44V6@$nMes-ZaZj(@%F6)Go^^4^)8Ww?a(*Gj&&uw1I z!*h@C*$BtPIRl;8+wbiq7S1%d1}$*!CR!l>l25aw?lZ|dkEnx#CC{lOeWKENo@531 zg_U_kt69cE5p>I3U6F~Y$|ZJH45`=G6m>0fm;68m(=mehtgbm(@MrqF{Z06}1<{JVdOjzir=X^^&Imv9q zt(@l(>_j}IcOc#Z+{7pGJ^fZ|s{iRVilfm6)VR!J3kV%>@6jySONq5Y%}TTxQV;)j zdWS@9)SnW~o~UPq{|2CO5=&E9s3^cs%%?eNO?@<*{mD|%k(EnFw!J!{qXD|?DjmHO z+@fNhI{Ku{dzp^DjK_`Ws52gy>WKD@ygJf=PTPNrMwqx7;0G!ik*diwa-RSq6<{B0 z;!Yy37IS5_nTyr`qeHS_3AxjoP0H$Nq60wAs~}GK&qs%xuE_4+({z~m{|@CpwC^EX diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-unicodeansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-unicodeansi-l1-1-0.a deleted file mode 100644 index 85b89e511c1d51da048900d6650d86f368ec7ea4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5220 zcmeHKOHb5L6h7??f+IdKYDnDFL>DG>YzHVqLJWot3l=0mVvO<9VTx^-2bm5^j0=7O zi7QwB75;<&!QbFYJm)?-cWBGZLP|8=l{05BUr0m?rBrZz;r^%j8gorcIWA;3(?*cxLyanOs|X3!6M zY^~c2*vF{jA4Uv~kyrOvD{4@d)@~=*>-GXhh;~d^7Khw&)QR?RxZjB*)^eH49Og5e zsvQ7hVc<8fdNE*I>pNl-+g;gMb!)hK)IMZ+o!XdJxb^G-Nzc|gHM6Hr_b7BST8|!cFDlmK1Id8`Bv$)sLjK z+p&$Lv;`?`jg)rFwO!k(Hd`&iSNEe&xu-^}lItRkS*#_632ku>=2l6lZbddD#jo5QaAsno@PBm#1K)x1l zoA4d$qGHrlM?o2KD_muCSgPGBpjaTVYuX5nXg)?2!-X~|ML%77k|c}xMxeeNk*1xIOdRw`JF zGDC{t?@4raA zJ4WeYTXKY|BK7c2TlX?OgxR>19(vihL=X4z{l?XUsq2Amy__+BuNG!;|C9z=NG<_r zHQ_6kx)#($Km8{%=qXwS?tc~FDG8Ei|G7|9_>(FyPz7|}$=@UA%0I7yp;sRIz0T+< zS_RH{Dsa-V;27C4Di&;N-_Rms!5eMe%VI$@8<&a&oorkZ3+PX5+*kmK3h4O7UE*)O g6FtQDrZk8HbHcz&6TV=LaX|2#$_)As%*Am3H#vK1<^TWy diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shell-shdirectory-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shell-shdirectory-l1-1-0.a deleted file mode 100644 index e5cc513f6f784017f0723f8714fefcdac9f040ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4430 zcmeHK&2G~`5FRHfEus7zIFtjDk&48D1UpLIAXO+;LF%CgBtURt>o(ik)M+Z)KqGPJ zBlOIXC+RD2;c+N4`{QnEJ1G)Pg5gtOLLtfb|2Qc7n}CdEM{;=(@E|7h`LTy-9eSu$MgLFan%aVXc5th9$=G*BY9ZWN2EMdhfe*ov6V zVAmLoh!?SDb=I1~Gj> zv4mE-i0K+{)&?%i9J61y38&lV>v?p{0+qA}%!>Hj6s?PJJrJ8Q!qEh8U?&Ye?h`T4 z1l!;W@a z(I%JbCc&0FSZ%o#HxG_T{Nbw)@ixlFDrv^TL_x zjHpQmF;Out%Q1T13SvGLx+K*=q$vm2mm>c5#07y9!s-HdQ9 zm=SI}rx9O}Mw2w+wWOM0+%z@fy)o}NjR=ZyIgN;mahXQY`J}5blws0}H3IS(A$Hoo dRUhuDuO*$4`jCZBc)ntp*N5?ciKlZS`vulU_p<;1 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-authz.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-authz.a deleted file mode 100644 index dc567b93f283c25bb02df48a00affe830b89907f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32574 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 EAE4GZx&QzG diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-bcrypt.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-bcrypt.a deleted file mode 100644 index 342fb81145cbf350ca1e94980174b9cd78dfe0cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46606 zcmeHQO^h7H6)ukr24nsm{(lx@^PgpAc0IEjS!C>8FA!s5Y#<1cjK{mZyA885%gn6t zIw9ErAt55d`9UE;Awr6fq9jrjE;(|DI7U&9Ipi2|h$0l_kV6D{ul~ELd!`C1i#l{m z)jiYos=BM{d#_%-S5wOlke2)+e*Ph41_5UCQ!`NR~xcOg%V7TQ!EZh#iG2Hb}7ViFl z5DXKLFNWGU3)4pl!LWaWh0ni62!?}iv2f^jgkZQ2{$n`&Qx+b4jt~qFEwk|OK|(Nm z3G&78c#VZGHweLSVv2?NF+wmbLOC!j!~0=)>OB@Ze}dvec>1p_4E{_AhG+i3!kIr3 zg5lZsS=jg+AsC*2mxUL9PY8yWe$B$mZxDjvl^0p~!73pbUWNC@@Y)kBygo|^hBx57 zF}w+Ngy9z#vGCTv3BmBozq9b05+N9VOIUb&Cn0a|Y&K__%}4rCuircx4WeFirn?X| zpNTuI)wl^a#Kuis|my_5otD;qt?R5&yF+?&S1um zM!k4({dm08X${tTQKLEqkBC=Rn?vGR%11iAXesVPX=b{e#dv9Exz$;U9_$Vvzs6)T zmr=AVM|_L>TK(n5L^YW_5y5Gr!O>oKHR=u48`ZKwZp6tH@S=n0^k8nSGe3yC9hHGm z=;P5~7^%$fz}iAQh&xO7L$ppA87EWB#jAZ; z$w#1DFl7j⩔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 nHDje2C`%+AiNXV;#Uwy9R#k!E&%=6H54-#L3` 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

9Ub*!VLsjZnEmbd zWY3WrOc{I5R*w2(owJS3de(%skhvkh%5D6sS;L@cGBf-RUTWkKI5SNq8<<7cN3(!^ zr$Bu4hx&GH^e5l0M1L9IZaYW6>eXa(eMARPWfp|Zhi2`+zY6TmV3=%tZiIPv>(gVS z>^O79;t1Pu^UqQKl*@(LDD&D#r!u1e8U}`d*C37+N#=2j5ZqeRY54+{8y|Lcm zmJ@saOh9=<$F}zlEZaKIxIp96uO<4Jq0kyaSUexS@= zqh~n>dM*0BZAB5F2B%}~Y%A*ws;xtPHSYmrpKv$7gO?h4ADp=kRa^}gHA2MWvn15J zZ1)tXu@4({oKdv(i#h7JM|p11s6!nUDRS1R!!wEzJ;f-z_0Unrroocc#Y=}B*Frtu zA=$CWZqRd$yc4blJM`jvS>Y0k&xSDna(yDP0bi(3ZyJTTP&RBBY*^mgY|xAEWrIsB zJ{!XP(DgL)2+81OLz$UJ8D~Q~Ti5I;xDp3GMOJC+Q}E2AmCRXub+1Nh&n=LO&xJs5 zb=@9KoDa~GmK1&EV(LkEDbH2(ANsW|#Pnqlra`9Zmb3Jvj$2OXNiT-{LVJcL<3i(H zM)jjgWB+QbOgN-olz+1T@7Bn9I5WK{FRr>n3!+`W9~<9eM*{uQX@6dPVcxbLEry}^ zUZ?n8&R{pX>|D0k-Rz$19c^{D@W%Q=XQK;wRoOEawm&amyPyix?{S1k#^*(-$J!nd zB#*VUB9-x2uW?@VcRTBf326>>pktlQRwvstyzp0nvUMrt#SqE(ya@DGr;##t7vBD2 z6yieriw5V#R+no;)HB^}qZ*8#>aKEM5o|YF&OF7}XEYUy#b-mH&pGX8gks?3Vu-HaIA{ng+i#}MiG90~MEriSK@;i7@Rx&T!OIQt)s#hXD{saBdX-)=xm&}m#|2HS&EgJr{WsH^X7Y=Z= zOKXy6UQ&*3t?24j*mUf`ng@qWd=7+po6`

;?NcfY!v&QN!0W4$Pl`txk6``tgIx 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 T?V*-m>`LTs`Q0M181Vl9y8;%w diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-cryptbase.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-cryptbase.a deleted file mode 100644 index 6ac75f375f7e8bd1faf917a6c4dcb54e548131a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8198 zcmeI1&2G~`5P-)?)0R+vRf$qj$w+WPDA-QoBvMrcDme8}XgP3U>m)9*nkFT2p_MpP z969v?;4OH7J{e_a*LF7kNz%x!6g4ZYy`Gs}+q2*7PMoLfMz`MF$i9*Xi&|85RaYvd zyeunBB_3s2*9uODy(|Dc1W5e_$g}_!fAf0#7Xa3~-*|mc1Hihx&FiBL0IaJocwJio zSX&`vlaP-+v)d!vrfqh~W~X72?^fG5vIrGgdRZqetA^E)cG_mW(=|!GdwOKojGjph zLhTPtAf#y;jaWtmvUA$A&BJ%c?YeDs+Dg7qRW*7C>+py~=zKl2O0^u(fvf!XY3*ZF&>LwYbBG`{vu>|Dn~Hi}hMQFL9W ztmcazt6S1M#TDR*1aObFGE&YqPi)qXKFFZ#86_kryt=Ai224`qz;egKy zuI(Ic%+co(3mcEy6Nh`p+TMNhdgpDf(V~G1xqYi;I?8{S z0AHkiX-a?w{fblNvQnu&f&McD{GN=MlU{=s)nOL!bCjt`k{GE_ChhWQ0&KP}xI z9K^YDM@O3!yr;)lSEDR)+q?p|rDBjwJahD6+hl-I5mAd;Xx)g$YVnyev}bORC>>xW!X~@#3w^I2#3ev(LhPp}!vttn+1R z(+s!s;swWBr#9ViJDsXoL5`}9jU%Eb`Qq|9UY(!!Wf(=ieK}uX1mV4qIDlKUav$Th z*a}2Ta7O@fk7VmVI0Q2<;a$?Mq`$Vi687c;+_QJYXW(&y{juQ7a_(2zHO){xiRTt3 z`ALrvY22_BFUABDcLzqhJ|^wuvXIrxXm|MWru8bc&--cDDpO7S;{fg6V!>!X3!#1F z&yyrrFV0xUsp5-r_%DLESN2SR_43VQebi6uBv>zu$@(md!I1FB#6;`*oS${2IMu9A zlEsYiSttqG^E28*DE7ADBy#q2fcBf0vpb(HLvwal7vD!=FK5@rqJwmH9h3E09uphuQh;@Bs#%{Xj~V?}QWANLGNb*v^B4%wuHHP_ LNB#{O=Xd-61qchz diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-cryptnet.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-cryptnet.a deleted file mode 100644 index 6902bb9d97322073ec1a73a24bcd74803512335f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5968 zcmeHLTWb?R6h7Isw#IscK8T2{Qr{%z(rzOZi3YETEu}>Sal1*T&FY$#WW7{G6nyZp zK8O$gnf@~CIcIi~*=DxchqO@az+5u(<;={P^UXQ4*A~1^qje{D%Z{hwT+t~yh1>J9 zwq4*My|nGQQYHGsS`GlF0IU^&acoakWIpo$9GOh_Uo zNy6O}5+sHtJT~v77+=K!D3#KaLu5n z#}<;efS504oP)!hY%Hr0M)pu?@9y28dS{19mBxU5a#EDSwnX!i?E##|EcH#l_0|Ay z20a7lzLNa_M7GQtqgk@5r+>$*9@avP0lZ&YgJcZ-pAv0cGJv;>zlhng=P9;Svfwv1 zheuy2gS64bjT#@y>G)6_Xe`LM3ddk`PC%(wwQd@|#De7J(=oR$w+ z$p=#;eXO}~Ju>?~7ak}gU~R!qEF~9ATTk&!h#n&&dp&6^D4nnXPe&TL`6WSKVU#Se z5?OHf|7Ah?$MT{0f?_%rl#1F*;v_bTB8;9dxQa|l>kBfH1?KM=d~0H~iS==ejb?D& zl=}YQiR|Fgf?rrme_-BzHT_4QLt#T96&sw&?EyA?#=CM@WVE716h|2uz0&4AC^Bl9 zaRZT2$BgT-VH!_4EgL|xLH|N`tbM`d$lm)5=&1!qEcn)AfWGBnA1p`s#?Ji%H7ep( diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-dfscli.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-dfscli.a deleted file mode 100644 index 21032cbf0d31253c8263ea33ce000b76198a4619..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23046 zcmeHPTW=dh6rMO~)23H?2`yCMq7)F6V7tlMMiCg&1`2Idno=r+aNKy)m^yZ_H@$Hy z0wH)n^Z~>xAfEXReL(yIegr=N@xTM+oSE^=?9Qw`t1hWl*^y>;cjnB_&g}P{xt-mk zGqujr%8O&qXZx=`WGSSC*T_WQ-3o5%0DBJHJ8k z;LCq7KXaE5^e=%t`d5Bs{uG>}f9*Tw-)Iqne!j{4n->W|e*x-&{_O(#YIU|+eXHws zy47>8=XR>I?YdjN-e}d<8dZpFI3=grY+OdqW7{ovsoim__2uqTvr(;8L3q_A)#{2{ ztKa|aNOj)zPA+#BTyMdv&$e4$to~q`;EEj5> zD{ffEfPk8J&cnpHc4x`0YmLN;)kO6CmAvC`UNt98RP%&Xk47`Ov(Ofrl!)XqwN~v4 zqN!D1Xm~Dd?I5DghRFEtaJtp-8ntHQmRl+LYr(Vo1z6r!0n_ViYweEb*5`pV-L=}1 zdlAUjXt%T{A1EyEY2-;O)JKN43BLK^p&kC4@T=b4Q6@v? zA&hT4f_PntfY;(wnGX>qUL9!bz4Tc}9yDHIw8q>4I3Qk;OX%=jn(#^!1A!tZ@E;JN zmndh7$2i3IC=HRxqqKc?(K8z~uh6j~h=ZfZAj{s$dh05Sp?D$>0P(bS8RD^hu}!5@ zH3oZTjRRD;hh{t?3kf+(Ll$Jn4{#FSDEaXhon6K;W(x(hNVC*rPt$ZRQd!T`e}Xf85mnIKRPU(q5nyGO$gqH#h`}oInIZ^ z)z`+vAa+BKCa<>lE>g7L#{(8aV{1I)QLFg zb{QW#z6*BvE*4-xm^z#Vq+=UC9uWA>!h5vE_qfEjVNr*T36eUtp+h-n3#r%7z*Wy> z$oFt6@ouQTX=oEF7CRgAc5HCUy0*U!8gP)dzocl%jnwv+m2&%O`=(h=)ArZQa)J%0 z^=#R2P_jX;H$r|K87GwmN8s7fNfx}oB50T)pTkkIKvr8@WCYzGOpP7$xfJvGS{S6w z>!3KhjT7?+IOcsjQSc0#1oOUXYYN|x8aL+iWjo9lbGn}Y0EP{p^@);Zr=+_Jz zRNS+~*b(noBEG02K3&I@IzP%f=3XD-la2I)9M=-*$9+g&4fq; zniSm<-Mir}+Ky=UaCD;~AwnU^dVD`t0Gvek(=3998S()fxgHmGlj;(^jEo)GmV2$m zyuLo4j@2cyqm0#e_mHjIyCxdtPjF02l+XE4{;h&?z3Q4m4>Jdj%idks8{{qbVAIta z_Bz?3jabPP^VKM;HM{&AkVe~3M3Oaqgw-0Oy}D29Gm^-*p%(A4_W-s#v{QNyaK~b< zs#>#b@yMD!Uj|SZq1(-H`a5OJGoA3pV=4d zQPwrLORR4u`%J*Ow8KLXe+6s{!sf& zz_p?JrlC!!SnO;__iarm*XF`;+NzC8Hi(bN@gb5t_l>Y`3oH=THeo-I7(3!^_ia;) zWD_&Q+;$vNZRfUICE}&=ZNd>B!6F$DFRQJY=onIC$9%e*Yr?Xor>yPKQZ9h(>+w0V@BtPzfE`STd|Pnx8oJi<;^uKpMEzkZ5g7hOAc%3PquD9O!a~~e-+&#?X^CJkndVaQ1`(*ONt%o zmV378cZBS9hONLy8MVWIlIZ^t;kC;TC@3a2#dn0hYHOo*Lu%}px7>wwO1gz{s@Gnj=Op)8@q|Hsw U)&OHOqz$3Ow+Y!SE-p;}2me2m6#xJL diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-dnsapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-dnsapi.a deleted file mode 100644 index 1790b3282ffcf2d7ea1714160e3def6a51044a5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224436 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 f4ZwM3FU`SAjruF$~)5Ru4mrv?96=TyKiUK zZ!R~wTRZPhzn61|!eT)yXzJ2pIhRvemb}g73dMyIKVxGW0B!(G&I3&S2{8R1kF);( zP`vmzk8{5RP@Mmj$19HjD89PE;~UEW6yGZHc#p^RX-uM@b!T9bUJgR>IP+Y+4 zQ`COrap^Gt#pMoxQnc==xpL=$iVP(KEXG%6`+(zi)LK2Q3{FTUtfa z+pSHCB6YuGZ0&aqy=fjax~8EwbhO?xK-YJSMl*)%fnGQ7cD_5@?-{q7oqLV;p|M^q zXjnjN??4aA^qf-*JBMf1%`bvW@yY75cbDL@x32$bW7oKI&{?k*E6)A966>b;S@W~u ziMCB~y}D5JTu7wW%}?-Jo%?O0DYctq9+2&G9^QV~c|2P>uZ}g8DrgrZ(p{Fd085r$ zH$O6Zc=y;~C8wTpTHRdfHnw&JAWf&jZbm|l08VAtbzi&i?>oej1tTXrbTFymuq<=5}5)o$PUFyCyq zA-~;f8zSTXrvUde+o%F>U7M`rHd2CYr1r@M*+^|e_048z>kgv*Si4MO zR)`I26YBYFhFZlNtgDla0-xhH#%IwqBX%b`vE{{rhgc0;`y#vXiRVo$`T#tVVC_L{lM*+<-Fg9Sjw{zIp zZ}~`WYbrA9eI9`PbY$uef?(ECR0^IYJ@Ldil%5AJ?pZzQ9{4z+^C?j2 zocmYUZ+ru?Qz{~bb_)E6+aNDK)WwhO1%o{u81a>qcXJZNacoU{Eok!N8`KxcDBZo zpHLMxL@y8i8vh~^@0uJyg-^1+UlFx+^xbYg%u(PWZc*ReRd!9r_+`aUx|WiTJ;5Oj z*7i6_zt~TDZTv`gtGbKyk!kv3G}6m_&N?Ug?MH~mAWdHrI!C+H)by{Va>F#e>2GI? zlI6E|{OxQ_Kacf`s_7SybZZ(HPfN6(&rt<1IC_rD40ceUi^r(vR(1WRsm1(u{2E?L z$;Q^_;09}WoMfMO$gU9tN%mBRBRgaPW(04Z3lYgKdi?NIv#*{=vu7Q$i!{lSWU}e~ zgMy>kxSVST1$ubwXm;qb;Rx6+Mq_)a;$iz3rEZWvGA{Fom$46{`Xe*Qw!P|Vul^>R z@z(^;4&(SagdG%kgvZFZx7y*0*SJnhYuoYrDutAK?2$pf%AncvVW@w>k9zc4lC10} zr5;}{2Y<3L0_xRh)K|Rkp6Ps| zz+Xc~;KN5X~1J}eD|9?fo&CdfP2e#N8Jwp8{P=$j<{l4PU)r&3-U^ap<9vYUKlUB!~Z-w z0=grvjHYxmHHw4oj6^qm?2=@^WJv7}|I70T=#IDon$jH`-5}GAZudCR9rj24_`Yg+ E1~PZEr~m)} diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-dsrole.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-dsrole.a deleted file mode 100644 index 9a47f7322f62d4264f3e396045cd7353ab573a2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3410 zcmdT`O>fgc5FIBeDWM1s9C|cTxgZprHgQv_LXlcPNG(+5KhoN`Dz;X1q?;jq`yBRE+HPdiHtN9>2G<_t%~9p!1~i*vwk3QL}5dwPstUi3ghA zn&ygCR}bt}0N@6I5d)N#0Lm|uvvLGbITB(+h_{gpBe5f68H$a-mExo4J13q%r)M{9 z(e?J}RNlas2SF%>8-+nv3P&KgCqamgblg7=2VyhY#lX*Hyc2poCp_B>dXDG6@Y_My zb7C*>TeW4J&g-3sDX~e!XQ7navKNGBt$OzP%m}#0C++>X8l*WNmFt>i*|u$(_HwhI z>n#IQjkah2+~MAwQH|v(CV#A%VC_|1Cw9i709s&ORQIE30t~(o&ZB@!^%PseP6^*j zH;$L!8mXUf^P_RADQ*Ef3pu!SeDn40tF5P1x7!7%w!N-Y13xbT4vn^RoH~?W&l80$ zUWrXGJx7I67%e}=Q5Y>Z^u0xc+N`PkabD(dXbgsPLVvz!+{y+~cWHFO6aXcN1e}%f zn6I7b`MO$P8{(^txxUNqTDoq&E~}KmJ?s!)NlRq(FZ1}ygI5|2*XREg2;UMe&rd$$ zcbQvKa+&jUn|sr+xx=d>!qJ!+(2hGF{Nu#Ke1dCWJZCpyJmr^iIxv03NZxr!0}M{t zOjlANz&5u@Q-JT-nO!}YnNTXMl*mG>v0Nst?5iscO(|vmyl==xDyhUx{r{0?9?wTO z?kdL8#r%6Kdw(US|4_%td~IGBRDjIN-bBo4KCZ76inorKulYC|huM~}Z7Ga$;l;eT zd_Z^S=K~+^KVV{AXD-p)#65tUcqTcgd%dUUou)4i*9Fk4Bv%1YT;{CNEcldG`II8H zx{y%-e>1&9q8NIfjAl<1@R08TC{E&er#y5izz=Mv+^+o2)@D|_E=?QORNAncD?{4& zjOm!9jW>!fborOsc(2VnP8*$k+>kcHd|Y1}w7Rww2D{4gwE;>SgMDbiq5oA2i|T6! ZTId&b94WvjY?T%UpFDO`KC^04`301CCuaZv diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-fltlib.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-fltlib.a deleted file mode 100644 index 64acccbc1760c6c89cbb40766d1ac3bbd5f81066..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25396 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-logoncli.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-logoncli.a deleted file mode 100644 index f1bedd2be9a40b143d5624bf92052b9330f9a8aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29748 zcmeHQ?Q7=P4p$?r47g;*nBC=$3 z=QLq}$?(nqLq5RpfsgzP`~m$V_*3}EP@ZS^UUqf6r@d6CnH%5E?A>Yi*}L1l-|yLH zUv=eLXWTuwzWnX7?5Z18t7=s?t+jHw!lJ}uxm;VTHF%2q%K-2$!1MP2&YlB!smcAh zbpZ0`E$&zFO#b4>++W@XAb+L8{nb|i$iMk@?!Qq6Apflu?kg_?kYB@i^45#oH~s@a z{@N+-um2Z-d<(vh9A39*$2TrFqiyMM{YjE4~+U^Z^YcLx2hx^;@ zt>!vDp?`Q}>mqMC-uIou(L?99Gk)0bI<0PZbUgH$)moS^K>|~M@7NhXo=j{BiFE>) z_9m6adyaRfe;7P}yEAr%UVC)d=?~?XFcHRk-f$;hM$Cya7E|F%w6|{I2a%sC2XndB z@UcczjzQ^nhR27_xZ?$x^9$E)R>cBJl)}5TdcDakiOJQ`ZTF+jpx>isAMXwwkMgz? zp+Ot1ifARLW6^E*182PNyo(@ry*uM$*Sj&?8;uV;UVk*)5i)Eb*mkkpZ}&ZizjPx2 zQ#@P>X*Jc7ESyQ2yd6F|NsQg6-KDqNLe`8s`&g_IS+voLh*oks9_^?5@W{bZtjQT{ zccWlIuBDda!M@xr=aDCW6@q#<3Krz>MMAvAf`b5pSKmAE5x&!03t5*Wp^j@!P0c05 z)XiF`>0-e`02YEujtBd4s6AboE39my;IJ7Z_R z?_%B49=hKhxv0ajdgHU0W%1B^+&S`AN1}{|O;v<2+rV6!zym%JmLKcYe z!8OSR*OTY77_bC%Bt9>(@}cj$WQ6Af)&f9rbPOA?=N%jmAMg-{C=g3}PMBw<%P~*o zOJy24QE%{fj7Kp3Lu5$3R80zEHh`Ym3?_!6%X zK&&H~{s$k!tfc5Ei$O@F+k+66dkOh0pY#r#DU_ZZWtb!XBKr+MjOHQOl@PiT{0gsi z?eoOO`|SD-BFxv!Fki21#xVbD%`JbxgLd;{Qmoetc zfUSI0FAUxz&$ut+`;&`s|27X`#}fP*&$cG(Lfbe|VrIQ(5d*5G45$|jz%R&&5Vk0u zi2<(@0~8&F1e828;C0FXx`+Wy_M0C{@JGBL1}L&Fbh;!7WPtyQA^z9JHUh7MpCTBh z)c^;A=A35@FczMhR0I4>Ef=c+eyf%X@&7gawx(9kWy1fI4sOCsp1JT%$^g2E3wL<{ zJC@*|cqT4PDF(S>FcO|UM{1j99I-azb;J|I%`}b_Edv6D+%kBLI5IhYgHn0s1P(ni z7jXgy7(-Wr-{3WIVlvw@3DmI}puS;<`g*)Q{Kx?H+k!@&XU*`j@Z6-Dp{JIM)eJ+m zTv#(uFPdr1aEVY);}2|fGT&%F?;|@x`&%K_DQBPfXb-b1!+at*1ANyF@!g2yo2-Uu zTK$fIi+SSvN5XTH@GV+qf?N#W8cQm~H%=Ha#`i@Z-{IIfrp>cPU-1zgVLa@tW;y#g z9!aAkn8Pf`U_KF(0n#lqq}OZJSR42E21vgzAa0&W|FQ5~0l~4JO;0TsL;5e&av{<$ zgnU3wQ#jXB7p^}`|z7_jN=4th7`deaFKlMQ=@Ep_kzf{YGxc@5N#MI8Y zfVfYZ8BOn#XUqRh$^g2^=ApT3f%E72Bo~2T{g?=5P#+kM_*#uPFN%Jj$o@~$?{gk` zfqfvsoZ%fpOrCjg!H0ar16)cJx)MCbYg^8;X1T%+3(o-MhU2;g%K2xTXcdIoKMl%X zkx|~FJD)6+Coam#z{aT>j?C6;@!1PS&t{~{%ZOA{8|O9@V7_@^*vCU-wCNW| zW>F8Aj^!4(pBe7IsKPzkJbAWwo)!1FT5xg&thi>_kIq2f8;BT72Vran+^^esBi(HXV~K z@I5npzZl?~ZGUlc^mnw|horxS;0*9>I`&%NduI54LB#h7(%%GRc~=kCJQad7z_;lb zYq5Sd5#MRn&z=qOJ+TWBJ|WL-&oV0^vG4J1KZH*H`dQ!TW?N;Y-+(ELo)^Q>)M5oW z|CqWS$21K1f`$R8>`y8KOg9nBf&r!@t%Z%lD4=6Nnm(9ii2?aWeVR5Z-y%`DsU2>m zMtj}O-o~jIjB>o6THX zEot<3w5zDp2O|V$puY{rM(fr1e8*ysr)Z80t=>1CBeR6~4%f9wyT<0*R=L8fIAMNF z+Yg~r3I2jdoFAjkx->T?NhAXf7><(`9N?c*XQQX#z;ikdXE3I2d*Y#%7HEj13b@fje$7{O)Vh7(l3E5a;yKrShfkN@?7 zZ*l@gaO3C>{^lgm{|OQqFrXO0ojU^-Gz@5+Tn5M%kct7>SwDs&xP|q@h{CKmVZXI- et!x_W2mjGgVFu)ThmdEse&lYUIQD1WC-i?#XyHcy diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-mpr.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-mpr.a deleted file mode 100644 index 5eedf3e29c12c2bff9ffd5a19ce80943c356295c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36858 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 Te8*^=ScMR;9c2~nVz>VXR24*F diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-mswsock.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-mswsock.a deleted file mode 100644 index 9628c6ecff366f0b7bb5e70ac03133453e150f99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23796 zcmeHP?~dHI5uelfU#`v{Cywp7O}jCiB1nSk?&eOr4%}eZ?lnPTJ8sU+1wk9#dRKS1 z@!jr1lF#R$2#lf#{4pQ;q5WF)F^VFO&`0P4^bvxlGo(aP5?9MLm762B3H=;_)||02J?h%;UyY z0E(YpqUd?oJ@2=nAB5g*Kk@_b`gq`b4~C=OWauGr=(b&NcX*d#OdXH>{y6Zxz3@Re z?%(rz9&+#b;CVZKZ(yN3@IpV@8HW)S+i7FL!@Y@@C5GO_4}x)^FesED@WcJdIEXqc z$^TQNz(4T&ouxL(m!@s3cR%v``)dcChMRDtX?KF&DBK%HzaH-Tou;Uz9C_W3*8O0A*!MRSv9eTo z-PLk&>aE*1#=XHUY?k#&ukVMQMl*RhZPv}Fbjp2xpa(z778gAc5%5XeF$)xPF z`3g9chnU6nt{>fbIPtGNBoQ_wa`N;Pr8|X_(UEfHpw) z^pAeupG0d1RFgftU)Xs|AZu#&+UWk??O+^@`{UhEm06RKBB?TKGLnZ;o+j6F?=pHu<|(HYCVJyEfXnX-vZts`d|k5WI2(|DA+A$b=U zC{2gB{#d;n$E*S#RwvZ*iwjgM`H+-OJPv$_sl}0bi4eOp2Vz^RjT~ZKtnKI6gCF~$ z5!+1a?<}4WVyQP#pw`qOmStuVg-`T=3=6v?J{_HC)Rre%N`3hxtDmRYnF*eE$VfnL z3Je>t746&~-QyI7DEI*|&uW)rp6ZwCR0dUN@Mq5T0>+%+nU2&C(H3PXPaOCwo>(*( zEm)ng70dccSg+TcE#6^fYWEiRBx+2%pJW0aARft$AatrNNE9^V;Z4lH9b=XbweL^6 z3vEm-v4S`IRJkw6Q6Qz=+sHG}^NGGf2R3H{#dzh5wbV+d^u!)uICfTChgyedGIt2dSqXO#9u8ps<{QAqWV%I zI369?#nekgm2OjtVr!Z};Ca;)&&>+Y*ghPx!v23EJii2DI)!PsvTErwF?ywzz8q8N z;J^q|PlzhL`ZUQpqE`$Ny_!e#1eZ=-Ed;v25GbnG2P1R>B_!-GW+^@ zP&Wvb+Xi`&>10(`zZp~L;J`kno+_@geknXj{Sda|*V*M+@6UTT<;?C8n#1ZQR<&f?OT{ z11hmuYcF@WqGOmi%(a)#l=~K~z3k}uax)`=o=@m)(qEmJhxz~y`qlAgA-jFJ+?L5p zv9!{Q6xD}04t$BJmlavrh^x=CuEh;k8C%V~{rwnQb{5h%6@(ln(x>=k^T%6>``AkKx~xPVo7F7B$|im%M481Px|4~DCi zt!92-RMj7(KT2!Prv2gRqW*y8l(|17J4s}Jct7b3OtL>?TGStu0imEba4ze8!F27j zo$m{k6(sut%_p1oh0}nqx+w1_5m?HM|8pb&28sV=PGG462YB?-BFi0v8oG6io34RY z7-ub(v6F=TGY`gpl*V|M3O-sGFMOHMzBg;Q7TT)kZTvrBgU_<@)t!2WY2#1X`Ioct zX%`uV40eS(M!PnyV&)fmK7sLz$Y-j@mk8sUcS7ko%8d17FQL@u?~q7waNseXkv`Xm zE?55x@@?z)y6Ku}HA~6bFw;i__UD;_e~Mv0eybTvEi>L}28)8k`|F&*(s=(C;d%B; z+}8Da-FWS^T3w>%vVrYW3bwmg<`Ken(WeLOW7~A)w4KLx<$FGv?|G82t$aa(`b?Se zeVzosAa!@06IklN7kDIFMG;wv{D`4k{q#u+ z<#C2}lpC+6#-HC(-lDH`xzy!ki<ulAH0<>Y%)kh)yBCP;PQ5vHWe(;^pq zb_l=DL?1D-j&;NJRJUDW9h+>bO+F9SkL9r5J$hK5{fRC6ST|fNb+6>H{s@QiS@VjY z@Zp|el)s8RkZRE2X*i5jeFaN;rt`cd3Xlxc<<{Xw QUkyq`RV$(G*!9}2ouPyhe` diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-ncrypt.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-ncrypt.a deleted file mode 100644 index 8c3ce43fea0080a4dcc3ec98e2daf96f08afcb2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65180 zcmeHQ4TvPib*`I}bn;pLi6ft6*|PS|l7E%c?BC3;a#r?kcTZaRbXwou384hf&F$9i zwr+N2=;>MSNsfG$6+2cea*2au2gd^23Hc)=!6YFhAe>+lFeDfUOdw!LFa!b#CIJ(J zo%gD$>!+)FrrNGs)4pz~?%jH?x~HnY_v+Pq)m2ANwBz;dhYmk5VIGsSla0wneZJY8 zn5Z+7ex8_^ot&QIB`zK&gnW*W+n*rhj#~)1tIpHi#|Xi6&-Zyc_H9Bi-S>5#-uVqe zFue!<$8`KVJWc*PA(&>q!c+5)2*LE=AMo_vPZNS^;m>$l{1ZYjofc{3cL~9C<^`S} zzeEV8b0S?>AOzEsr+E7L`w7AHfeD`4P#;X||HISP?Sx=@`VBno01Z=Lq(O}kOuNtw znD)NQ)3g6a2&U)0#nVT=NeHGF{*I@Q|1}|)Ui>moFTrodbnVZ1`qWnl!Sv~`^7L7# zAEwVi-7&rVJWpSEkq}J31OH?CJ>bFghu`4okN=(!On>?{p1uriiRmxC#M57Wh7e4D z17$J2vd7ckUL*w5S3ktlKWr0%>1(Sz{o@=Vn7)3Dr+2%J5Q6Eyev7B?e2frG{|nf{^xa?Q>3i1*`QEiwYq8b3 zFre|EwMr8jw-$RFwDrNL+wMm#$c!3ujaDbRgh}M~x^%r4(^hvqzS2)x?G`ZaP||8` z)Aq)Xeml}y8+4waakP15E!yg~lVMC3rsm-O(N4dWM}#uS{YZPTy)ZqcF&nwS^?09l zSL5Dpv_a#ANuAT8NbYF2ozVBuD+`ki?arLvph1Z+g6HTajcIqCF7}4qWI_KC9=v$RoqjJ) z9%~N(8rT5SdIPwKvJ7$?wdUMuHt^xQdZgXm7;LvM!yB$^Eo75`|6wZY1@-IGILSOA zkAatkC#z!m!=PA}#!F}~arNA3{7ol2TfI0+ws*{`!5zl&vO9KZ3_x0=gF)2m!ZYE` z>aXNs>SoZ&uEtcoj2W{Qys*WgmDY;7o@*H_cWSr^STi7o zd@39GmiG`%Q1Pg{^%%579JMoji^@td^|{(!zf3_g_4l#NHLFGf{v~Sg>yNNW zg5Osc;0?y`!W|c53hzuxEK{{cRr45R*=10QJ0JrcfPkq=cu|WkOD=XIP-`cL31|$^ z@P^p%vJMU`-P`F8rO5HJI+Szhs^saY8x6MUhU2mP))s>*yWH+WMNf5l>zBu-AdELJCVhom18l!0gV2{st7*BsqtuXJhAnz9)av@?K7H zH{Xam`Q3+c*>^#;hT2$(-Dn=2y4dLrsM60)lE}0TDF;Dhu})cZ#!@M{X)^cZa3e~f z4_N6!AF$b8w|^D|S$FWHcR&E0+=A`}jUBs18Nf_BFL{n`MQF;1c7$Gdi4NA|sGs!W zvtYz(y+nZmob~-f8l#1QFUWCY*^T&eb3Spy9GS7HycD8x4eHe1qQH{1bw~3kDr)I0 z((uk{KIi1hhU*ukD4RN;&MCmX1U3K|*U(;;RNGWuYGnWv?1exRWE4S$l=6eswl?ge z=|MNFpSLow$f6uGeX&ML{kkYTkK3NsyJyC~G9mnUb*`+L>!$Hs%`VF{j7d@4$~xnN zD;GuN!62^_J;O#pvIBLJc&4(-vaM%Q1UDE-8NBKi+ZZNAhPS1gUk-xGlD53NM24J} zV@8;T2w}0Ye9p;$&00$hU0swkuLFZ`#9F3pm#9WadELK3Sb^Ga;D(V)C0SB1hLt~A zFoCZCmFNck+-z5z!=jgW+YG#*qKOjNXE`g70XXa2@)$uj*HAxoDU6WQ9!IIETrv=# zjsllCCG!}d?8=}AMhmF6H3}n%IOhhVxX4DYzn2{ENvC3-H*vCFZ!{Vc6OAe1Oq{rQ z_{@P@2p)GHAmnxIubU4XPv~C4{?0#5kov{rU@*1wSr}!3)L%J%X)qYWMy?`Xgg3l* zCgr^e{<`m6%MJXiYF?Qys8u?B5Bb;aYNB3?EXZc~2ltH~- zZ#KBNjMeP()0(6lV%56}XoNrk9JZv~3c2?K{YimXyi8m_%`P=DzK0oj*d^_`MD+lM zW}gF|j+;+P3f}Jo@a($z8bD^p5jZah9+3r?iC2DbAO3d@Vjb!@L%>s#aeW{a@q^Dp zyb11q7TItuZ#o``QwT8Q6+3Xenlsz3o=_7m|>Y0n*n z_zgFoh4`+UPa^)cP(NS9zYh_gM#7+6nURit1s)3N@8%ioTq9_ZBGS|9YJ)W^H&Db< zVSC0C+jF)y{}8Q{qp-d0=CiOJyZI!xVTyn^wjV`oqgyKVbV1oN z&uU(j^ne(Lm1?YX0L zdf&}w>GWsZeDbBfr2y6+L9FW&UF1xfa_jb^7Uq{k4qj^HB{-vQcUE0**^ueN_UD*VyzKFdvx zRdo?D7=oj}?uq_sTmN4JD2&tpy3M?w`aj18w>&gxui=qFwWa?*=H`>=e>>d67yYLZ z{bOb*;%_Rmou7_cl_WfYRT4*yybOP#B#dbW6$AI=4J{vyc|ZARR31$BZZmQu<>LrY zedS}B$%i>N7jIr>dGPgMx@H~AUcpHWj`%rG#5Zj(PvyZ>qhE~j`67NvAs#~Rhjn*V;D!Ok@@ge%khat4x`W`RoH%npw3rYE}RY-_*r?I?5?@$D=kx^arJoLyaR zguhAPSs`4Si$JN7Ula&8s;td5%(ez61xLDP?6q09kzRRr6w-@~YfmB4VRBUJtcNR` z;)sALv-RRTu60!1^y}m@1V_Jb9Cohq;UhZp?Dish{-i)Zm@pFfWk$WP4J{&!!zn?ywoH+uP4+lpb4h+jq8RwIn0G{XFd~%F>FYx(V z>{l`+*`>(9dz%us-+2CzQEA z@VA1js%Hfuhaouny`#If6;zD@ez-BfLpu8P@6}6={s|OcIMk^36whGi8u=BtqF*Qd z&R?&(`5AmZM{xXm#&#R?HvX@ASVm837R7#AM*BVg7-wzyT1M~H@h=x$D7WUnTOeIw z|AffFOO5;zoOSHWYMV=``YSFtZy&xS5p&A{>NMFuBw|Bdp<{S{QJgdEA1XkyU!c=FSn)cYr9B9k6Lam z_}786-Z5Ewwq>Q=m3A*O+kTFr+qG(5xsiU<((dlr_W7#;%6VlYSc2+1tzWJQmUJvmEo< z`nl!CyT5kVs%-k%?Ini8Tk@Wf)e7lcS%pCQ3?kiF4*JGGx>04*G2$QOdsDbh!*TaFJavt8pm!wexlq8W@Y1buje%ZF#QwVGizx+f?y!)yxWgDTSF-&3O0y}?_#a?nP( z4~ZNu(;tTmj&eD$^=f-H(;r4dK}T?q2{Scvk!7>6ljAA##HzhZY>` zp7Gj7rQ`8+=GyW_bo@I7*5!`Ve8=BX7j8yT}5hLc(x)|yWFS= zg8O#}+-LT9zfo|XskRoY;<$IxgX7*aQd_Oy&BP-Y_eJL6zg^&dEs1G+=RzO$$EA4p zGTZcCD|mBU>($n_^vNRzN4#fjwmD_5;Qh;>{l={acu~`k`?>1P)7o>%h+Q`mH=m{H zpL6p`vvmRxyC8TFz5HfnRc8ilEfg(}cqbbs(t?p04Hz{6GTLEWLWy`^7?p7Wg<-SqdDthIT28r?_ z`g|fqIos@nZ*o#*o4!EwYE4zywqdfg;8^#J)HWyW`N!2*R@v`G#*uQW`?MH< zh5HxXeA3pz)dzfinRg4^pQBsR0QA0aPDH)#5*@6^Q9tR$XWKia?+YGa8b$YOUKBZa zsgd7@v+!$*+-<@tQdkd!YfNg3G;Rv+TQ9b85{qs7%ah5Qxsj>Yzd9s#m%kMd?ABSJjH zY`Ahq#k|%j@IhA-WV4L z+pZ}x&;L$=@3Xxm+PuO)*DE{D3wVe!)wXoIlO7!RzA@iw-SLsQFJjN%A#e{^U!rle z+r|+u+`Y_W+yeHzQEh9Mzk?ba^WG6)+m@-mPFH@OA`##t0`n^ac)_>|XXl2Q(W6y4 z8vx6af+O8C{#)&6%anWW$hC-7^G1pElbx-#VZYyt6S`4u?e4XsE%(-}4D@PSMvaRc z9QD4@-Z|TkU+H(H-;2y+yFEqy4&ohje97$@lz2SUcy)?ruyc((3s*5-T}i8K`6e@z z&^Vv;jqXm{cFZSX05{Gjqx(Ge(x7_xCg&GO{vOEv=%Km)_r5LmA%8j9s=t>C9tk`wJ*1YU%=i`Rn87)GnC*s z_l(0fDx3$y`Rg^D^Ns9pD4g>uyKt^ig5%sb)>`e07!2pHOK~1`+nwkciX+%E`{N6I zaR>{6r&U(#XL4swmJ}T6zERgoqmM*-5l_u)1=8i7_HgGiBfWs-BCBk9YBH4IIQNXQ zHYb}C{J41d%z;DfombysDUW24@33Bz;=DWD$;=?bO`c1Q`L{7-=w6yfL=Lanufaul zX>g$gdlrylx*(+*2`?$6o|VbpjEY#vF|B=7QjP{rKE@Hd9 zO5mGKlw@9+a%=Pgqg7dDYnO)%B{U)i)HG9eI->0XNhRZXDL`9o#HhaIE{rUZ?E+94b3VVf`3rGT&M92UD!$%H3`= zsMMaycc5~IL(P(3`n5n#9rg3$SgF1=wBK1I&6`TH5%{ISQmjZ>wff%;h`kpQJ%rh SVrQ!n)i=c;uaUya!v6!fr$>VT diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-netutils.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-netutils.a deleted file mode 100644 index 507b4265f36dcab5407b8bc7f8415ea711493b05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5844 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-powrprof.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-powrprof.a deleted file mode 100644 index a3c11c7111be999ec511b368ce6fe3d23aa0158a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59416 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 Owb)X%CzB_K`~L!9*+At0 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-profapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-profapi.a deleted file mode 100644 index 9c1963abacab967b823cdc199c13b16b413cef17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15208 zcmeHOTWj1#6h154vEy9YhR}r2i<(Q@K-g&4_Ih1H*v7FNig8VyKp#S6*(=9N*1L;V zNu3aiDItW?hfqqPedu$4Mt)h-b7r*CNE%6FsyGOCU}m&4M{_yzeP?dk&#qbS*3R|m zt9sPc=4y>v!&sPW>bk+Q#8B63GY006+n5G`^8gbY08^&`j$P;eWEFt?2On~O8uQ4X z`Gos(_zwAxo80R+0LWi>!2RcY0OT+K#{HES0OYSe=e~||*z zy90C0_H5T&?6qz4N2hD`9TO9sMzdjdoK5n6YOiZ=^<3NRyS;6avP_iTwZSxZY^z;B zd0^h@c6wHO4J&Xu_6=*`Y_*zLzO&oM#!B;6Qsrei-`L)&z2|-1?=SYcp5=6Hcim}+ zb)@HG4r`C!w&h-@ZM$ohx3jd@svE;L=1HaIw`z^tGMEgO5NUni-g35`t@THn)R<^7 zd4jRBzPIl?1J8ZJ3JTPoBb1VT%j&i}_OjdCT}6mQH6%7`Sf@ljv*gH-r58wIv2v() z)Gi$Nba1#_47`lynn?qgo*a?d6533X=(+_Z66dQb4> z8=c^VKq!Puy_Eze39 zVL2@@URO52mW!x#Re7Tp~Bj_lAN3oM2BXc-~=45)?iyBlqvLAF#iW1vlQuX&$V*# zSobE%bmVdYSE#&eDDzk@*T8J%aH{| z8~0K{N}w8+vX5cPh9PS+QP@U?<_3oMSw*}zXA^jThTYA>`)wZs6dfks?+Nv0;eAIg zm%zI#mkS1!Y^EySPeOd>S8lAI#lDjZu^vp-n5w}u49$3#!~Kyor>G5kfb$tOoX;Cc zoIl60&%^m$0Uw8n^KGHtES&e{atWM2mCFS2nrcJ%1>mlkh@(ag)T@m|relkcWfh!e0!@fj3jp<)3~c*|2Sbk?K}?4Df8OqqL1|u|KIv46lw4~hJ^pL?ne*XvZV^=LQRni zwdDGKG!I-1xbP80&cl8(k%F}!V~ zTPZBP%#66ekS{XgmY+hA26!2sV1(HH$W}pQLqe$N`N3!^GGR8!gjZ-Y^X3Qf%;hlW zhm#5P5GNB=Qr#vBJ2E$Bw@097xjaj-{xgTtk$ne;HqHJFj%FoYj31{^?3$QiXFt@m_gk z@fl?x#+l&E^dJ_$0?|KvP|0Op=O|hHXqSbhy)2_}l&jtxkG>>gFi%6dj=8E9AAFRH ar`+K`rpk?YC5xZ)$1MNPm$_0!ap6DYh5I7_ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-rpcrt4.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-rpcrt4.a deleted file mode 100644 index d31ddcf535a122b0b9180bb8630059e7650c087e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432018 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 Uu!(y4`8s{nvzG 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-websocket.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-websocket.a deleted file mode 100644 index 7132ea0e9f7e2176ecf95d15b6f5df5c8dcde7ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12666 zcmeHN?{6D57=CkU*RE_Z2{dg`;D8Pxfx;ziFDa@})(&l&rm0X62%%k*#$Ar4Np(58 zA3~@fDzr~%9}pjq_+R#yG2Yj{oPDt`xuB#{v{5A(`x9B<>>lNE}c$OO4cF`$g4!ON009Xc?dkU~n0$8dGfB6;w`74g_Z*BsRzl!(d zuj4iO<-5YazXd@4!yVyoJOCj7$)50^1_0y>XXHI^+w;EbvY_kju#g4bcBjF-M}E6@ z?0cB#yA{`K`E~M9YNyTiI{|`Nz1!J8WT98{5P!tL^O~&I7)y!Zeb4H7={t2rVOBz_sit)Euc)Qi9*IGM4=a>cI6VsDskXpvg{m}2UtE+mg z_^gr{Kl4?)vCD!J7Tl?|8{KB@kX6^TH#URRGPYYjYlpIolCcmIDlX*~YvHI<5iQd@ z^k>JF<3l1tpL&;J)N5|BPsHaWup(Em_x7b6!EgK?6!!VSo zxMWH4HKUSr-tv-6xVWU7^-jRY)i@~0TxdM;J7J*{8=f?aQ*<2Hb#2>ST^9xiEzZ5% z1vENnH*x@P@T>V;A!Lt3ew`lJ;OrF|wXl{B;W<@sUKHxx?hqK963(XrSJryiIlP#| z_fj1%PvF*j>4aNM$CZ1yD|m6qfa~Qy>Y1}bqt(L1!hzpnQRcrd0UqWKP^dk$h}FKL zqVs*_6H4tTD-EOcQ9cc$^bfT;pQAA8qCVt(GmlvVFuY%A^z*sblZ8Zgz0wI|!Pgj$ zb*@+<-Zn?zZFybit&9Cl<4R0X$ATvrf(h~#XKdl#!iac#E#d-=r-`=_JP|3lSO*C} zbVE2(I;CAgzraIM^aAgn%ls+}qnmspM>smp4mb##zqAiU3g;B4Jxz@~2iEi66|ATJ zr9PETwH)G|H63tpkI@v95&>|D6gvz4!RxUuVaBo&iq=+KFI~rRiX|bMp?1Evu;g}r zfw%K94i_ymO?p|x)Xy+~C*mzd6Vyv=muWQCu(BVOdO^+y2|HgwOv8+e^+M%sBBpJ| zxtPrz*^O$1iIOm~U%b3Qch8^8G}2T&H`8jAvxn*-wgFs3FZ!46)hkUY`fLE|{K#!T zMC|1~M7895DblX@Qh2KqoagPMcMuw(=gCn+1?R8wdjQh1NGU`q6j^}Vk5LxiV_fpn zjKCRQ%*gOcv~^M#{wp?g7{k9+m~oyAf1uPmh~Z5$PGfjr#>EULOPQ77uSteSTP4Ac zX=V9!A~QP4^0@mj)q+zDn|AcM#V@GcF!1;vZS_-^{p}>+c~hE7zAK*R{<(7K7}-`4RmzTKA8r0q7*} z?}!8*TJR^vlJ{EkO}qFM(D=3BY-H1dyMfzS?xYq@ksrgf@Popk^VC9JsdtbTT4tQ4 zg%dL_)&kA&S+#I6p#^b-LR6V%4ZK4QKqoa&5eYoB;0)u029z_pKI@-6z?;BY$EjrF z{LKD~Ar#b)Pm5yCk7EB9CFk`+R;*^4xj&ly*PEaDAbJv7C}-6|Nwfd6wb07{(!xSQ z3w@{3Q?7*-VKS6?;BJ&ckp+KYDCYsxLSOT%**~aELJe+4H8}dtV73~PYPg1@oOLyH zL8?Lh^flEp!n;IvbaFL>AB$sW!85#;Do~qkmj9nO+XE+ z8P!nK*Fub6yq(Ls=nx Y5v5RM!S5K#xj|{R;ozu0cYO1}e_)J3L;wH) diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-winhttp.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-winhttp.a deleted file mode 100644 index 9663971cb8fd71f09b5f4066bcd3b8ee0a977b98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53936 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 Z8=S#IfxQO%(8@WKEIPI94I-`>@IT=j6|?{V diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-wkscli.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-wkscli.a deleted file mode 100644 index c81dae91f1a67086cbbc34e339dec24d701d0260..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20428 zcmeHP-ESL35T9JqrcF~?+7L=bkqf1ORHe3?*hy6?S1m=Y(h~Ixgbwbo0uYt=$_+Ezuf0{KggQmwgGZ?q&w ze>#(I)I8-^3K`=8WyOGP)H|`XWKoB#7qEkR7h9!Px!Ec&HnH87iY8yy476zIUhS1Y zTGgtq3zdV?S4x%gQmN&iN7NLuX+_-z2c;1NvcCEpZFDYab_R+`B9{sDDxVQW0veYH zG^k1hG?J)Yt(R-3>eW)Yrt8z-pfsv#u2HU*8ta0+S-QqRI$}T2CsnK>!6@cQn0jov(lQV%K;^7 zB*~=Hxm+%l%4Mg;&@(?WJFpoj?HRzagPm;}m}vPoTkJf#NI`mj0&S@jEy6ejNZ*-Q zXg0fu!7Y*_<18JR3}lD!WC)*2P3(GHZYrRY+?Hs$d>}W9C!-d*fX|1OiKR*fU}Cvk z@de}VJ%G0cmP@MvLC{q_(PanQu1#X9j=U%tML&a4GKy}fy@LZ(>PhI2>17kLI><1c zP|ptzY|}3yeg#)284u258Q*wKcwOlMuldOt1Ft#M^-lJzLk}CTS)nq(u#4f9Y>5)} zr46r)*;XiW68~)?>?g_D=tLuY53`aid6?;EJ3Dhh^9qZlP#hCO1}wK$uGLmKh2aSv z0^*r=IpRsbq|-2|9)mx#VFOG!Krm&!>oC?5REipAZ)7rN0cp?4sDG0E z2B7P3%27d~g9o2r89B|7L20{Ecqkgv94y3qrjL2*6%JQ>bQCw{AJZ@|WYfVqW9Mj`_4B=BG_R|2_hxo1eeL!Nf4No__vK<-VQ#{EA)9@beA3ob>Y)DHMbZ z*$_{5KR>2no+fL__VG`M)`mV_st-9He1N6qEJ_F+(^&NI3j&Ujs5!(jfe&$ z()VC*x*~nIM7mtEV{lJ$MDvt^_Tz#=2M<2SQledJwq?E5!jB#I)2_JB_ak}iJMP3~ z^mAXh-(}(+mtB+X<@XW1F@;|K7$>mOgU|42;yzey);+z1y=2FZ`g|Yt)G=*nmIJfv z{IwTv|EP(2Tt(i9s1J5fB2X{cv7b2cPj0BQ9gY7BC(VDGq z60$k0g&#ZaryOxVeZ+`y`m@*r68F0hv#zoIju7{J?;PtU8S^yKQ3~T5xy^!958lI4 z#y9Fq0lJgdII-h=vX67>qi#`6x7C_naQ=wI`Tt{evL~EtYmeG1Ng5}1oFD1qe7$kL zop7$cm4pwl5&XH@Wc@W7lM_46U3XdY=IZ-Rbb{Sh-{-iaWd3qJSKnV(?%QegeaS9o z%u;K1IT^Rmdl{~A%P8SIe4{SW7#}AmfhmkxCOCnW9^Akq#VlcS_4vG<9y`8WcT{uc ze6)}6FfM-t`_UEO+XTM(zEZM%_-=vb5Z})W3LQLn8%u%jaN{TlQxM!CF?M9T?wjV! z8D|TT~NzYAhkhvmzL?D}%(vuvS(CmX!i0Xr! zz)BD5coe9X>*ETjB`t1Dr(JhQ`xzl-NsL?>G&!;3+;P7%pTUp)SfVd6_}eX?q9f}T zkG!FbJ~=HYbnxJ7 zEGa&*H(g&t=_C`o4LI(8=F{eEvu^|8Y_k^|*i1HH{Uk5hK7YSJd>Esj5)?Xk@D-M1 z1JpS+Q>%n{{ znb>W>anCiMF=w}5ARxNUZs$2@*z9pVXSWf1q{i%)_KhjEVcVG9erT7I13LLW*Ek2r r25@)A`j0_)og~j}50El3g>n5^PGF@6-{O&Co~Y*Qme5%$E?f8)VnNw| diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-wldap32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-wldap32.a deleted file mode 100644 index 4204b029d10cec3b569be39f187de76f5dabe4a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 195518 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 P1+!U^&tIZ^R~Y~Qs%F<1 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-xmllite.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore-xmllite.a deleted file mode 100644 index 11a809b47b96fe3731e56fc0dfab50b1c868baa8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6984 zcmeHM&2G~`5S}@5dHg01zO)AF)4n6e5 zfm070-~|vT#3S^;vvA@WfSFnUtQ{w|CDSTWNA<3=`+0Xg`+c6Vdu!QrwmOgJ9;i{% z>YA?U)klr0s^TA-T&k+xsCgH(<^bR-fbt7q`ZK`nPjOuO4M4{=RUGrP0Ce1}h-0Az zu+TD$6~lNnu$+OhX1SJQtn}NK@y_m<`?i6Nw!WkrU3-%bueIN^w)&1`yx;3~ZPzkP z1JQdH7)Hl3+XajV#)@N^uJwAayYAo&&hrCz|G-_h-OiKVR=;iccAnvcO-;u+?Y(`x zhs^j?B;Eg-xsz-3$ThJUn%d%sRdP>&eu2KToTt5{8(pjo4Uq;<8#h>T_OTRv4Ig(IPcA3m{C-r# zDhi^~?slQFZFeoNo<7qvY%+!a%^mZ$v#p>VI=>QM`0x2(EXN6R7TD7 zANyq*yT)MHC$#hB5_x6V{Lu-cz;i4Me3s1-V>>w*+o)?pjMdTG*LmSnXU$mDps*WQ z5o1YBWVD+}jOET)A>jfA#31~Wa7pddMteEKC24tv{d0xSvhcaXfd=7d%njIfI|sd8 z(ZY;^GvGXXS8$&EOFj)verAX@52=8`KA)*39RfV#QWOe&!IJ_*YyolFi~FpVK^3ho z1e5l3Z`76~t<3NZ9wQ$qks)@=WL%&X8gCgfAChr8cC+2Zvgu*GCalzxzjx@@@p0IO86O0ZcwDZ;jH3C8fdCir z5PqlM@|o;=T0(g^K7br8IU0b+X!ab%iq(9@+9A0j&7`=&Jr-O%-9G`r9NCai2U zj%eBNTBuUs89eGHysGACqx`PVV9TH9ZWTdX}t{sdSzA`7Lv7Qnlg-`cNy|zGJXf;0KoJTJc?x z=M^h@O;N9cfo2|N(~Q0pz8CwNq33d%W?o8MJ59}ONb`=mBQ#Hv6u^SJ+6 zHB*jjh8ctr8tX}nBMZ20vQQhoTBuclLoDOkNP4jqfmZYs&hy1=Ja5$SHJL4p4d*%3 z?SSWbawsL_`IyftBKMe7?%yYhqlMgmBO16=;49W4_s6)Qnf-$if23o0;VRKGs-!;r zrg5G@g(}IDL6uTf;%5MptrX4EMW~c^L@D31D8+Y04z)xtDO@qtY>GM0pTuU1v@H1I i8^o17`4hwygG1B%>!ikzeEC!O`9J@-L=;M diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore.a deleted file mode 100644 index c3ad6036b..000000000 --- a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore.a +++ /dev/null @@ -1,257 +0,0 @@ -INPUT( -libwinapi_onecore-api-ms-win-core-processtopology-l1-1-0.a -libwinapi_onecore-dsparse.a -libwinapi_onecore-api-ms-win-core-fibers-l2-1-1.a -libwinapi_onecore-api-ms-win-service-core-l1-1-1.a -libwinapi_onecore-api-ms-win-core-rtlsupport-l1-1-0.a -libwinapi_onecore-api-ms-win-core-heap-l2-1-0.a -libwinapi_onecore-netutils.a -libwinapi_onecore-profapi.a -libwinapi_onecore-api-ms-win-core-rtlsupport-l1-2-0.a -libwinapi_onecore-sspicli.a -libwinapi_onecore-websocket.a -libwinapi_onecore-api-ms-win-power-base-l1-1-0.a -libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-2.a -libwinapi_onecore-api-ms-win-core-largeinteger-l1-1-0.a -libwinapi_onecore-api-ms-win-core-namespace-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-wow64-l1-1-2.a -libwinapi_onecore-api-ms-win-core-debug-l1-1-1.a -libwinapi_onecore-rpcrt4.a -libwinapi_onecore-api-ms-win-eventing-controller-l1-1-0.a -libwinapi_onecore-api-ms-win-security-base-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-console-l1-1-0.a -libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-2.a -libwinapi_onecore-mswsock.a -libwinapi_onecore-api-ms-win-core-fibers-l2-1-0.a -libwinapi_onecore-api-ms-win-shell-shdirectory-l1-1-0.a -libwinapi_onecore-api-ms-win-core-version-l1-1-1.a -libwinapi_onecore-api-ms-win-core-processthreads-l1-1-2.a -libwinapi_onecore-dsrole.a -libwinapi_onecore-schedcli.a -libwinapi_onecore-api-ms-win-core-winrt-l1-1-0.a -libwinapi_onecore-api-ms-win-core-perfcounters-l1-1-0.a -libwinapi_onecore-api-ms-win-core-stringansi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-2.a -libwinapi_onecore-api-ms-win-core-debug-l1-1-2.a -libwinapi_onecore-api-ms-win-security-lsalookup-l2-1-1.a -libwinapi_onecore-api-ms-win-shcore-registry-l1-1-0.a -libwinapi_onecore-api-ms-win-core-com-l1-1-1.a -libwinapi_onecore-api-ms-win-devices-config-l1-1-1.a -libwinapi_onecore-api-ms-win-core-datetime-l1-1-1.a -libwinapi_onecore-api-ms-win-service-management-l1-1-0.a -libwinapi_onecore-api-ms-win-core-windowsceip-l1-1-0.a -libwinapi_onecore-api-ms-win-core-threadpool-legacy-l1-1-0.a -libwinapi_onecore-api-ms-win-security-base-l1-2-2.a -libwinapi_onecore-api-ms-win-core-featurestaging-l1-1-0.a -libwinapi_onecore-api-ms-win-security-base-l1-2-0.a -libwinapi_onecore-api-ms-win-core-namedpipe-l1-1-0.a -libwinapi_onecore-api-ms-win-core-timezone-l1-1-0.a -libwinapi_onecore-api-ms-win-core-shutdown-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-threadpool-l1-2-0.a -libwinapi_onecore-api-ms-win-core-file-l2-1-0.a -libwinapi_onecore-api-ms-win-service-core-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-debug-l1-1-0.a -libwinapi_onecore-fltlib.a -libwinapi_onecore-api-ms-win-core-fibers-l1-1-0.a -libwinapi_onecore-api-ms-win-core-versionansi-l1-1-0.a -libwinapi_onecore-winhttp.a -libwinapi_onecore-api-ms-win-core-file-l1-2-2.a -libwinapi_onecore-api-ms-win-core-registry-l1-1-1.a -libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-3.a -libwinapi_onecore-tokenbinding.a -libwinapi_onecore-api-ms-win-core-shutdown-l1-1-0.a -libwinapi_onecore-api-ms-win-power-setting-l1-1-0.a -libwinapi_onecore-api-ms-win-core-comm-l1-1-0.a -libwinapi_onecore-srvcli.a -libwinapi_onecore-api-ms-win-core-versionansi-l1-1-1.a -libwinapi_onecore-api-ms-win-core-console-l2-1-0.a -libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-1.a -libwinapi_onecore-api-ms-win-shcore-unicodeansi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-winrt-string-l1-1-0.a -libwinapi_onecore-api-ms-win-security-sddl-l1-1-0.a -libwinapi_onecore-api-ms-win-core-namedpipe-l1-2-2.a -libwinapi_onecore-api-ms-win-core-sidebyside-ansi-l1-1-0.a -libwinapi_onecore-logoncli.a -libwinapi_onecore-api-ms-win-core-path-l1-1-0.a -libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-0.a -libwinapi_onecore-api-ms-win-core-namedpipe-l1-2-1.a -libwinapi_onecore-api-ms-win-core-realtime-l1-1-2.a -libwinapi_onecore-api-ms-win-core-com-l1-1-2.a -libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-0.a -libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-1.a -libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-1.a -libwinapi_onecore-api-ms-win-service-core-l1-1-0.a -libwinapi_onecore-wldap32.a -libwinapi_onecore-api-ms-win-eventing-classicprovider-l1-1-0.a -libwinapi_onecore-api-ms-win-core-privateprofile-l1-1-0.a -libwinapi_onecore-api-ms-win-core-url-l1-1-0.a -libwinapi_onecore-api-ms-win-security-appcontainer-l1-1-0.a -libwinapi_onecore-api-ms-win-core-firmware-l1-1-0.a -libwinapi_onecore-api-ms-win-core-delayload-l1-1-0.a -libwinapi_onecore-api-ms-win-core-psapi-ansi-l1-1-0.a -libwinapi_onecore-iphlpapi.a -libwinapi_onecore-api-ms-win-core-namedpipe-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-util-l1-1-0.a -libwinapi_onecore-api-ms-win-core-job-l2-1-1.a -libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-3.a -libwinapi_onecore-ws2_32.a -libwinapi_onecore-api-ms-win-core-xstate-l2-1-0.a -libwinapi_onecore-api-ms-win-core-enclave-l1-1-0.a -libwinapi_onecore-api-ms-win-shcore-path-l1-1-0.a -libwinapi_onecore-api-ms-win-core-memory-l1-1-0.a -libwinapi_onecore-api-ms-win-eventing-tdh-l1-1-0.a -libwinapi_onecore-api-ms-win-core-file-l1-1-0.a -libwinapi_onecore-bcrypt.a -libwinapi_onecore-api-ms-win-core-synch-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-processthreads-l1-1-0.a -libwinapi_onecore-api-ms-win-security-cryptoapi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-toolhelp-l1-1-1.a -libwinapi_onecore-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-console-l3-1-0.a -libwinapi_onecore-api-ms-win-core-featurestaging-l1-1-1.a -libwinapi_onecore-api-ms-win-core-psapi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-sysinfo-l1-1-0.a -libwinapi_onecore-cabinet.a -libwinapi_onecore-api-ms-win-core-string-l1-1-0.a -libwinapi_onecore-api-ms-win-devices-config-l1-1-2.a -libwinapi_onecore-api-ms-win-core-processenvironment-l1-2-0.a -libwinapi_onecore-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a -libwinapi_onecore-api-ms-win-core-string-obsolete-l1-1-1.a -libwinapi_onecore-api-ms-win-shcore-stream-winrt-l1-1-0.a -libwinapi_onecore-api-ms-win-power-limitsmanagement-l1-1-0.a -libwinapi_onecore-api-ms-win-core-profile-l1-1-0.a -libwinapi_onecore-api-ms-win-core-memory-l1-1-2.a -libwinapi_onecore-api-ms-win-core-winrt-robuffer-l1-1-0.a -libwinapi_onecore-api-ms-win-service-core-ansi-l1-1-1.a -libwinapi_onecore-api-ms-win-security-systemfunctions-l1-1-0.a -libwinapi_onecore-api-ms-win-security-isolatedcontainer-l1-1-0.a -libwinapi_onecore-api-ms-win-core-enclave-l1-1-1.a -libwinapi_onecore-api-ms-win-eventing-legacy-l1-1-0.a -libwinapi_onecore-api-ms-win-core-memory-l1-1-3.a -libwinapi_onecore-api-ms-win-core-registry-l2-1-0.a -libwinapi_onecore-api-ms-win-core-datetime-l1-1-2.a -libwinapi_onecore-api-ms-win-core-wow64-l1-1-1.a -libwinapi_onecore-api-ms-win-core-synch-l1-1-0.a -libwinapi_onecore-api-ms-win-core-namespace-l1-1-0.a -libwinapi_onecore-api-ms-win-core-namedpipe-ansi-l1-1-1.a -libwinapi_onecore-api-ms-win-devices-swdevice-l1-1-0.a -libwinapi_onecore-api-ms-win-core-job-l1-1-0.a -libwinapi_onecore-api-ms-win-core-processenvironment-l1-1-0.a -libwinapi_onecore-api-ms-win-core-file-ansi-l2-1-0.a -libwinapi_onecore-oleaut32.a -libwinapi_onecore-api-ms-win-eventing-consumer-l1-1-0.a -libwinapi_onecore-api-ms-win-core-file-l1-2-1.a -libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-0.a -libwinapi_onecore-api-ms-win-core-io-l1-1-1.a -libwinapi_onecore-api-ms-win-oobe-notification-l1-1-0.a -libwinapi_onecore-userenv.a -libwinapi_onecore-api-ms-win-core-winrt-error-l1-1-0.a -libwinapi_onecore-api-ms-win-core-localization-l2-1-0.a -libwinapi_onecore-api-ms-win-core-privateprofile-l1-1-1.a -libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-2.a -libwinapi_onecore-api-ms-win-core-file-l2-1-2.a -libwinapi_onecore-api-ms-win-core-version-l1-1-0.a -libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-5.a -libwinapi_onecore-api-ms-win-core-calendar-l1-1-0.a -libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-1.a -libwinapi_onecore-api-ms-win-core-interlocked-l1-1-0.a -libwinapi_onecore-api-ms-win-core-winrt-error-l1-1-1.a -libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-4.a -libwinapi_onecore-xmllite.a -libwinapi_onecore-api-ms-win-core-fibers-l1-1-1.a -libwinapi_onecore-api-ms-win-core-com-midlproxystub-l1-1-0.a -libwinapi_onecore-api-ms-win-gaming-deviceinformation-l1-1-0.a -libwinapi_onecore-api-ms-win-ro-typeresolution-l1-1-0.a -libwinapi_onecore-api-ms-win-eventing-consumer-l1-1-1.a -libwinapi_onecore-wkscli.a -libwinapi_onecore-api-ms-win-devices-swdevice-l1-1-1.a -libwinapi_onecore-api-ms-win-core-file-l1-2-0.a -libwinapi_onecore-api-ms-win-core-localization-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-normalization-l1-1-0.a -libwinapi_onecore-mpr.a -libwinapi_onecore-powrprof.a -libwinapi_onecore-api-ms-win-core-string-obsolete-l1-1-0.a -libwinapi_onecore-api-ms-win-core-delayload-l1-1-1.a -libwinapi_onecore-dfscli.a -libwinapi_onecore-api-ms-win-core-processsnapshot-l1-1-0.a -libwinapi_onecore-crypt32.a -libwinapi_onecore-api-ms-win-service-winsvc-l1-1-0.a -libwinapi_onecore-api-ms-win-core-memory-l1-1-1.a -libwinapi_onecore-api-ms-win-security-provider-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-2.a -libwinapi_onecore-api-ms-win-core-quirks-l1-1-0.a -libwinapi_onecore-api-ms-win-core-realtime-l1-1-0.a -libwinapi_onecore-api-ms-win-core-localization-l1-2-1.a -libwinapi_onecore-api-ms-win-core-handle-l1-1-0.a -libwinapi_onecore-api-ms-win-core-registry-l1-1-0.a -libwinapi_onecore-api-ms-win-core-winrt-registration-l1-1-0.a -libwinapi_onecore-api-ms-win-security-lsalookup-l2-1-0.a -libwinapi_onecore-api-ms-win-core-file-l2-1-1.a -libwinapi_onecore-api-ms-win-core-memory-l1-1-5.a -libwinapi_onecore-api-ms-win-core-quirks-l1-1-1.a -libwinapi_onecore-cryptbase.a -libwinapi_onecore-api-ms-win-core-localization-obsolete-l1-2-0.a -libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-2.a -libwinapi_onecore-api-ms-win-core-file-l2-1-3.a -libwinapi_onecore-api-ms-win-core-util-l1-1-1.a -libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-0.a -libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-0.a -libwinapi_onecore-authz.a -libwinapi_onecore-api-ms-win-core-processenvironment-ansi-l1-1-0.a -libwinapi_onecore-cryptnet.a -libwinapi_onecore-samcli.a -libwinapi_onecore-api-ms-win-security-provider-l1-1-0.a -libwinapi_onecore-api-ms-win-core-io-l1-1-0.a -libwinapi_onecore-api-ms-win-core-processthreads-l1-1-1.a -libwinapi_onecore-api-ms-win-core-string-l2-1-0.a -libwinapi_onecore-api-ms-win-core-com-l1-1-0.a -libwinapi_onecore-api-ms-win-core-processtopology-obsolete-l1-1-0.a -libwinapi_onecore-api-ms-win-core-sidebyside-l1-1-0.a -libwinapi_onecore-api-ms-win-core-synch-l1-2-1.a -libwinapi_onecore-api-ms-win-core-file-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-synch-l1-2-0.a -libwinapi_onecore-api-ms-win-security-sddl-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-registry-l1-1-2.a -libwinapi_onecore-api-ms-win-core-job-l2-1-0.a -libwinapi_onecore-api-ms-win-eventing-obsolete-l1-1-0.a -libwinapi_onecore-api-ms-win-shcore-registry-l1-1-1.a -libwinapi_onecore-api-ms-win-core-processthreads-l1-1-3.a -libwinapi_onecore-api-ms-win-core-winrt-string-l1-1-1.a -libwinapi_onecore-api-ms-win-core-systemtopology-l1-1-1.a -libwinapi_onecore-api-ms-win-core-console-ansi-l2-1-0.a -libwinapi_onecore-ntdll.a -libwinapi_onecore-api-ms-win-core-heap-l1-1-0.a -libwinapi_onecore-api-ms-win-core-shutdown-l1-1-1.a -libwinapi_onecore-api-ms-win-security-lsalookup-ansi-l2-1-0.a -libwinapi_onecore-api-ms-win-core-atoms-l1-1-0.a -libwinapi_onecore-api-ms-win-core-systemtopology-l1-1-0.a -libwinapi_onecore-api-ms-win-service-core-l1-1-2.a -libwinapi_onecore-api-ms-win-perf-legacy-l1-1-0.a -libwinapi_onecore-api-ms-win-core-processtopology-obsolete-l1-1-1.a -libwinapi_onecore-api-ms-win-security-base-l1-2-1.a -libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-6.a -libwinapi_onecore-api-ms-win-mm-time-l1-1-0.a -libwinapi_onecore-api-ms-win-core-interlocked-l1-2-0.a -libwinapi_onecore-api-ms-win-security-base-l1-1-0.a -libwinapi_onecore-api-ms-win-core-string-l2-1-1.a -libwinapi_onecore-dnsapi.a -libwinapi_onecore-api-ms-win-security-credentials-l1-1-0.a -libwinapi_onecore-api-ms-win-core-localization-l1-2-0.a -libwinapi_onecore-api-ms-win-core-realtime-l1-1-1.a -libwinapi_onecore-ncrypt.a -libwinapi_onecore-api-ms-win-eventing-provider-l1-1-0.a -libwinapi_onecore-api-ms-win-core-heap-obsolete-l1-1-0.a -libwinapi_onecore-api-ms-win-core-libraryloader-l2-1-0.a -libwinapi_onecore-api-ms-win-service-management-l2-1-0.a -libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-0.a -libwinapi_onecore-api-ms-win-core-wow64-l1-1-0.a -libwinapi_onecore-api-ms-win-core-comm-l1-1-1.a -libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-1.a -libwinapi_onecore-api-ms-win-shcore-sysinfo-l1-1-0.a -libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-1.a -libwinapi_onecore-api-ms-win-core-memory-l1-1-4.a -libwinapi_onecore-api-ms-win-core-toolhelp-l1-1-0.a -libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-3.a -libwinapi_onecore-api-ms-win-core-datetime-l1-1-0.a -libwinapi_onecore-api-ms-win-core-localization-l1-2-2.a -) diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-advapi32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-advapi32.a deleted file mode 100644 index 314d8104bcfd7c7caa13b268424cad576c226da8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 515126 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-apphelp.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-apphelp.a deleted file mode 100644 index 2ef14fc3d0d66e4da41a81fe18ecf2250f074c0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8238 zcmeI1?{6D57{{Mn+O;cVgK65v#H4`A8-&6oYcDC9P`WbMq{5f9($d@@IdO{>>o(`3n!E zzjOnD{FOE7udV`IU1e;GvHK%F9I-kd^C8>n`Lu1FQdaT=Nl2_J#kMH$| zocaC7y)HlGUDg;3+Pphp4Tkp}aA2&>8~%~z3~c8n`||b|cki)V{r>))=0mA5>xeEo4!vs*2-?=7CQ;`JMGTFC-qM)nYLi+XM9Y5Z~L{Xr3hJ3wRPunwvEL- z8ib#5!mgC~06Tnm$cLdkNgGNr>S#@rSSM`CF4=1Hz5N~RoNlDWrYOMY2d(C~*bgX8 zqO;_>p64N**ETer+qqK+D8S_$z&UZXm@AI?ld-r?4hrDz7X8M!kt`7@HE>@Po1@VT z89XIjhcaA6;-y=_XaS$gb|OEiTMz7{TTa$h0^J$BI1{4_(l_h%TQ|4sMZepHVyn~T zD&e1(0N>?Wjs3u&>~=d*w)u&?NoKc^lccfQC!eIT+J@?z&ruk5s{KT}EMn3Wjc60< z`FxIACF+9QN#np*7-ll}tO$17>DjGRN)dKFZ1*=r6&7AKyXBxIFW?2SOXG?h^=llv zB5@+Hbb2gINW@>##o5V5y}Beq8r4gpeO?z=X~=Gig#qR01SQZKw;%QPrA4p>uYi8h zx{`isUusk1?Ab#;b7VXSaX>c3G$H|T$<@w*zwtVgCGkjCShaS`@iTJKRm32gHTPFs zTmXdIUD?hpiF!XpMroTu#M-?|mSyxGVEO~aF-3*!=6*d_Q}3){VNI)CFl$6;?ysVz z8?V#jhw{6Qn!|XVhsnZS#IU9`%7jtj#mo2T-}C3jMxzSX_{m)k3WzEyk0=B8DvWE&Znq{c1}--{ilAbth-Y*Ug7k2Y$iOkZ+$tCa@1B9sSYDFu$IT`N~>k z#(#nw%woQ7v2vWue{GdJjd?#_r#mf}@q6()&HP#H*R;$p67#|NQcy9!Grim~+q}Pv zH42;qhj>Z62h}x4cVo$t?zMDuSIZ}KV^2xQ^%+{zO}(6!?ggS-zZ;qF*_>7~a%MJv zUm8T{z>gRc-MYG=mpNf;mXu#hNqKbNax#an{x8b&M7ephhb#O1&fymo(}wb*vQXr} zPZ$#Arn*yKaAvwgFQ+4YBf48T*`XWK|H}^D2}sxPrRRH2zpU6cwCmSxg7%*++I5vf z^LpeZeWt{hQW78C!JH6ph(C|Lnsx`1vxujUD+J6u&+nJ00_Y6!t~7|yfoB*8^Lyyn z8GL1%{Lqvs?`|sIEA-J+IP(Vb8E#)^okzd1&T+?i9&K6WPCJhd;&qYp==bqDy_dOy qeVUecfQ0XYn8!SGU%=-lXSly14I*^lcZ^v=)vX=QRK?Nn>i-3xjuWc@ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-comctl32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-comctl32.a deleted file mode 100644 index 602b8d942e1043fb03957cbb3c3d88ec3c5bdff3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61116 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 Yz;TXro@6#36z2gtcMe0xa%wOCKXdRy0{{R3 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-d3d10.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-d3d10.a deleted file mode 100644 index dd5bb6f33d78c575acae4ca33b7ae0f364b34797..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5148 zcmeHLOK;Oa5S}=Nmh!BG5CRDqR5+pFJn96gLP04U5Fn)TI{(p&lzv z{Q(@f@-KSgXHjNmZD$iZjgcBqB{uTzdiL|KclP^s*15jy_#3Tz^LNbQR9q_B__K;N z)3mrr&rP$kWQPx|%>w{l#uO(-m5KUAfWorEq)O-L~A4ZQ+*Pq9q)GPjw^+(UOjPg#Ch8 zDX$c*hA*8!K4>=OM)1(@b)Lvh&;L{}Rd7VFvneK`v|d)^mbW4Aciq)(XS30Ayl%Z* zO6g||F40r^Td1eGO+C@;Y_sYV|f`7n$_O9YS`Ime;Nc!HP-Z`NL21mT6 zlJp4hl5>?A@B=GT2uw#9<-+Kxw9~gRm03WOcKvDzj|807<{#%~dBVHMPo@8)cIFUq z8{5}H4pU)HZ`Y4^XG{+M)iI5%VP-XJa#`YnazVOlZQw z+&{QUcYAvS8*xvI?4u_Q1QN4oTw)@?DZG@w>0YlTRFsStphr)R4iGY%Jw~JCBgY7MS|BpT!rl^Zz zCSBNf2VaR%toV#1nG`FYhx;cLe=}CR(Z)S2RRV`6H_?a!FkrYb{*C zxlQrDoZm{v w#fy6h*EK8WA>_RNR|P(Pta*QxCV*+c`nPm1Ei>aVSEF zYu|#G;Lr!)33vvcfCFV_Y;QJ+lLjfJs^~_ZtY<#&+Oyxxj(u;%_G*pCnMX!%%PrvrC}5o^Wg=X8333CNX`IE9Rs9)1xMy503CBbf@A(W03A2J(ILdD5E~uo zb;P>#r6*R~juiWD%ieVbDqU;Y5>2;CN2qPLWUcK<;k5T#O}QtV!YMcd-ZA(uZ zJI)m0D=nw8CtH5mRD*|b-4dan$St=O;JddT;(Ki1ysy=(ezqO)VA%TSOw+O~!>|e{ zxNT;hC9WU^02UGe*SI&G$olfY=l*bEfVr7XO7^W2V#N2 z5v%E+q7h(&WgwF96+4sPizc_Ph1+F@Bd23xD{}apn(<3m3aE^q=Ewbj?4<3VxT>!w zX|NoChiHElGMN61v&;A@L({qxak97CywKeldNTepVjA%{6*)BC3Szu?oP}m?#HezJ z303%K9G^U(v!kP~4!s3^wL;~9xkPgj_W&rP20o^9y{G$`rb`X(51{Xsyc&ufU>K3w{?HQv{ET!DLB!DY)M)k~0`BlR0F4u9l>1oo8D)IUG@_iEbUmjrzAzr+ zmrIw7$CV36t!gX9`0HpJm+`57#xpM{5-uj=Z{vMa>oVR96fBeQ5&!!cKk|j(4B4I^ zkL{QFo!4#{+y5rNCn0(RQ}1{GL4J>WZw>Q%tZBmU>so%#jmh}jWqwD_PlE9Y#rWtu zL{JG_)cn4{xj@hF>eUP_N%(|PeZ+|#dGtq_GtBVjn0z0sXAW`kPpjbH1O#E8{L2cy zs?9s9f^Wv-R0&EPqzZm79;fP=TZkLCo&m-8?sqi2{6c5>yYv9qx;2e*4Qi9{1*PJA P_pt}RT=v-}o#+1mcL0yx diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-d3dx10_47.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-d3dx10_47.a deleted file mode 100644 index 58d498878e1eb201f32537437ac6b3da41f6e8f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6198 zcmeHLOK%i85U%MVn-EwY(yqh-tr{tNS*>P!9_h(S2n|Z$fO0^rvaS*0A?Nl%)OS+sW$-hocSQ1^B)1| z`S}-m7+YrSuOW|z>?Tim%$B2&v%UUSu-#`U?E6bT8}!%dQPOCOZ$vR?VYIh3;JbXl z!e;oS?y**z1q^#`a$u~-gYb}b16ygX+^u`JgI#`yKS_3CekZ!#AMmT4dIN{-Z*H^k z5ZQk<3PRQYdK_)4YC*>snAEcz^B~bPAx&~FjaGgxV_>G9+r1#<@hv`#cH#~Gcc1S~ zQaP!Isr_2F%QuotV{6GaNec?XVVu;W%r8fIWZm<8-*;WVwU~P3YUKxXN`Q+MfU}}D zQ>i7mb)r5xbHQ7yg+UUGhKQC9c<*cL!{G!NJR@A66fU$h_5@Z=;JnNv^hw;JmJ@Dn zG_I|2=dg0xg469ONowI>fWlfAJy$h;`V8=}(hVMKfs&iHBGuJ>`Uz&*$r*()Y*ZbE zG3-NYu2v||CuKunn;C2xgAsP2-LF>8`OMylKBpib1pDKfVFQ^Nt^_@ zCvurN@D?j2g~&sWxhkF$hlU=emLk%mD9~;+j3_WG7XBQ!kPay}4$YzTcWi&4e3^<8 zIh4M&X@^=kSl1XAvS^Wu0!xV5w&PL`k-p1_`Nxj)v00>xn0FLLiLh|rfBu#Jy?T|& z&{`lPdGXvMy^F>qZv;4rkF+)YH){nZ72^h&kyJzpP~I)9MWa-;B#QuAA}o;Ogjg%h zL2`)tQ=&ynPFxcI@wA#sR+NMa2k;>K^+&!^4x*Y3&1u=t#N)e2YxAoWxi2r!5R=%j zraXj-qh!M)W886UNbI-*8=l&6DH~i|Uq@lEs*;@zRmBGT@%(r*LXaONP1aO}%J$R(y!W;DJtL+qS%YWwYj;>2Mx!%@tzUpT)RX4seCIl#5NRA$ttWrm-9 z+0ilMU-XzsF=L?Kqf{Ja%-A)?9Tzj6*>Q!K@zRbgsA5@^JPKs!sN>hC85HB*O=${vTymFsXwEZbKCy{msc0x diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-difxapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-difxapi.a deleted file mode 100644 index 50dbbceb1b0e24d968f8daac7a17219763e98cbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3466 zcmdT{%}(1u5FRI?p%GPk;DCClT&cZPsm+f=C4|y~Dj{*;f=Z=Ii@_UWVG@+MfO@D< z)dNS=L*JtBz>}5E%&wg^u@fqhqE6)T?(Da_-r4zfHqTf5-hO+v_S(*hyX1QKbLJOp z+uj$UU(vVTmJr` ze;~IzVW%JaQS_nddN^NrbSy?9GQBs(^flWdIBg%r^=`TWMV@yZ$MZbf_7>ixp5L_4 z@hEc^z+)~=S@l?+#au2{HaNTWz>oc62)8uBxvKB=`(t2mPPmW;e6g5dD_E%DcbUTD zDcn+GC){)~u94tourQN@OWM~r-tWBK+NcLn1oc)JN!{@K8sNZc`G<)?+f6^wu;m+L z6U_8csR(2Er(A?Fd_(IkTcoq1{l|Wp!ln@z_6hBL*&?qDOENlPO7Ic&M0i-E*lqts z>^2(iQ0#i>_b0rB%6-S~eB#MjEKuwcuSjTL^J149Zzuzoa^VJqtAxw5lZ|$@%9>bR zW&b?l(rqHU&4(nyQ8-GV6}LZk4wZ#t3+^HM*}E$G$-m^&ftaU<`sN`%FgS^9dJ`i7 zc33M_f?rseNP4)_Y@_oS^QZ5ixQayM&i;mxbvLalFZw&iD5YSESaVm&GL6qGZ2zR= zm|phe&i?eQrrlY@$y&y|Fvt;^vws;e$N9LFKQ!J7V!q_#JZxrpin^&W+JrCr>iQ+s zE-wc*ystneXAd$yf+(_RPKrc;hxjO8Q{60?{-$Zm!x;n2{K@$NbY!!)Xcp{ch%iP(BO* diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-gdi32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-gdi32.a deleted file mode 100644 index add0a8ae009f7fe4d1738000f52256f835c91179..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177204 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-input.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-input.a deleted file mode 100644 index 04d65a598b3dfeeef9ab1ee0efcb3ef56157029c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11102 zcmeHN&2Jk;6n|dlt5Fb@KvhA3E+s)6kXbv)#zj$O+O!Z9m6Wv51JY&_Pm-mMZQ1LT za6mb5=m}Mb140OK<$vJNzY1}pyf?G!nPg|z6O?Ub@K`gme)IEuzTdnz<9%zz@9gYf zpMKvy8Olp#7e7vA!L}VjiIS-NdTGpt;voew_`XI-WtO5!%{2W0n(UXb{yArZQET~?lXVAFoEPp`WFCR=1=2=Qpmmz`Ez<= zgR@nt`=Or>;UzV2o|d+|-2pH-CR{)j&f)GN!Wd>_*e^Bk`UGw%mJ@C&9k(3gX7FJ~ zgNw`8?rhw@SE@G}C@Ad)4Hgyr{S08Qu;`Ah+pO^TPiC*t> zw?`kY_`2giC%Iq?zTbDoOCg5U8W z2e;xJeU!-e5!~rIj#G9xfd=jR%MNb+JZw#`7bf|Dk5NAb|C8K7rw`u4@&}O)Q)cJ4 z>-TqQTA4*`Y+Gp;q;)v4>sJxe(Bt~tq54)3bEwC;Sj@v^OluJ)5@BXPeKt?uo;;B< znlr7R$Tf=EBMn3!8l#wJ`mR1D*psvqpju6C6(G`RK2y|6F_y?3KbG*(pWp!>C-p(_ zhJH_h1}u2+2LBE~{1y^)<@>>c@9{a^{~h2SpSz>ZEeC18bInZqD@pBtjDsJf{acFG zJWuWaN@+Js`$Ii0q5a?LaeeK76Ia(%`!7JoX$R{e?HN`Uyp4UQAX)IS5b)H3pE36` zhA&i zcliGWyKptqc*%j=k%Te}e!|pC9lBx@24M2z!lD@$oFo^HagQ8i5B@KANtbY)O}Q|p z;eybX;XOr@J)|Ic&^MJRwcs(P8XibHkktR2ZNP$|-Y0L7MtU!8z*+84i=g{UcDQ{Y zqdQdHuucA`&hZYlVy6A&r1pQhGb65W%~u&wizJj; T@B^kPj8G28dM*gSd9&ajufJ&B diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-kernel32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-kernel32.a deleted file mode 100644 index 684b7fe9c9db655a7ca42ff3870d1b183db87785..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 977870 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%0Dqd`G}!> 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 U_yNX!nfgW7>u6AJV8inHc?Q_w{r~^~ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-msi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-msi.a deleted file mode 100644 index 51066ec629b0015a5e1507869f684d279be58cf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34674 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-ole32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-ole32.a deleted file mode 100644 index dfed73c69601d033833bde0b357dd299bfc5f1f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283810 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 OX(xUFn!)! zt{SVWhiM382!Zew8AVYPQ4m%ZWo5;U;vz;wMf^fVR76BXP!^R%WYJ~Go^!vys`}pE zy7k-VyFI^CHFfT-_v*g)zvrEI&$;(qcWbq|bmo~mzHQL_8{RuS2LFaeMg|9mXp#Op zI5;x2XLyY2PwpV3|9V0W{}dtfCkZ+J7AAN8AR#E<^Cl+G`#C~Ts-QzzzMskIGlZbr zeT2yxyrZ1Goyj_E8|Bwab|N`o9x`@_|n?`R$Jqg7Tq9nEd{`2toPq8=3qGv;*a% zXPNxPU4)=~{2-IR-c1O~r=G;*?+76%pM~F#^0^N)`N#JYg7O787byP%#|Y)iuVC_T z=Ltdi>N1l@4-o>=SD9e)m|dg~<+3Z7?D#V2LwVdMnOyln(uZ=@yO>=4qofbznpZKo zwnh3-o_31K^+!k_$_-OYZk!{1DBtpQCc6hnAIi|@nCyXVqm2CmlgS?=eJHoy&*VGr zCVeRTjxjlK3+Y3-{dy+fbs6bHx#ORh9Qg?8Lpk~glM`X!SO&jGsxr~*e1%_7nz*>80kY0-gD(OS{lRKGwbc*z${KZX7J`USO`NUV5{0;mzluyGpQ9k=Hlh3`0^r8GC zY!~GVuuYVInP>9l3DSr1Z@ZX$^>WgO^0lu}sq}r4P#O3Tsi0i?i%fRBkyKC~_W+YC zS4jossuN7EekQ4)T(gVGwU?6$%2U6{w7!IXXuwC?_VE zJZF$pQ105nWPy+hO7%-jmf;=c^yit}{b^D`S%ZC{oP}e8vVM-qxg(^4vN^=$-Y1a? z%8TLmqP*mzOu+V5P#*j#Ca-!Gsh~X6Vsi0$q=NFgXEAyGD5;=;?WOX@OGpLfP5;E? z&9GgRx4w_b&%BFNP~PztChvR=si3^;UMBB;E~%hAd<&EJTu&+}?}fIbyzi4tejT=l z@`3j<0d^}WA9^d3-~S;}LHY0lO#Y-rDkvX4#pEyMNd@KOw=((b8%YJ_Q%_*>>93Ls z%4a{ryMFsl%bb1*>jfkql_J5GC4~6QEq(#lV^T`^rKAw0h9f2C;ce5-OuD%@Vij% zIK|}1ounV-=(Cud7$f~C&$*t-U00BPl;^>3M5%s;$uhJbou{V2coVJ7eY80km(&G$3;;KQUJ<#*q~VgdPaT$PjluLIp*>OD?KzZCClPhl|11MKLoypZtA_FMbaJd%VQJ%Jg$@Nbq11L9e zx$y~P0OecYGs3}jC6k%U$pFfMuQ9p(t7HJ> zyS~EYaD@z@Jp0Q`j)5NKyP*!sbHBvod%r*iP)@==P?q5TD5v26C@Y_4vieanfYSIN zljh%(0hEm|GT9_#0OelzjVSlQ@jO@;A>U11O)qiOFXN$-rj^7Zzp~7LKpin(GTkYOPvxVWzQMTX_CTy?SOy0+R^4dr8Cj?4}hZ{VVHdy={;MTHV@` z@A&O!YONkU%X%l}$Az7KC{T50Hobf2YE^Gvqp|ASxzN*^ql_BoFdBNjrhOoJMRg>( z!akI`T5V78!R;AxOe+e#s_Ak=E9%@Zh0TqoRaC#1O>U2?spveB2LQl6i+=ebguh+Cs z9Q_dl@X%!zsBOA*(V9A4R3Rv`f2PpG7LPUVsnu6r zP&?RYu2oxbN>}Qqr$&_L-Ju42`{>4^d5sndD4TC=fZuC4h@o%RgKE=vr-C)&b_VBtP`C07bRH zP|K~^hL^QV*mH!Df88YuO0j}AfX`-&j; z*(J!-%k4P?(Rvy|^s_+4`guZ4w>GnO);;`633bq58Fo-8u&ml#uN~T0Lpz3N+qhl# z6~cE8Tesf)GnDWRiSL=Ws=h+}PNQYqJ@L<2Qaf#yu+LC($HuDJBB8*tM!j{0-uoLj z%BGsuv#t(zG?)U)X6xo};-9f(&AKNQ3M^Y*IcNSXslig?q9D(xsn+V5eO*)&eO-Ju zJA$FrwqzhK*HIeVu>y{d{>vVRfwQfUcB#V;$ByTCx|jugKnN zRg-$THM!wYe_cfXO|5_Ew|>dL91zOu+P4quh^h<>}v%(6zW>RKl_>}uLHb}uYrmn zx;IIRIz^^lw$LGn)l&qq&n`ixUT)7Jh}P2xqMrpS*3T1a+#0=|a|trkT0QF&@M@AE z{@FUbx>nnkb%1#-Nf7<)5@e|5)*OOpHH{$l+4u7mL9~uTkgk>cv%C#<7^SztKl&P| z2%_8d5M=7*9vy;MJw*`v>=I<^<@OwcXg!S}`dOf&2r|^THG0eD5@e{gde$l6)g(du zvqg}u)wX3FU|vfSL_fO(8EUyThag%_BZz(W{d`3bt>X}+YvulIf>-92L6+A6Ymzu z`rsBW*1+-9@A+AEtwh#FKb4LdtWS;Tp)d9gt5kl=A7EqOG0NmOW;UA5T77BL_q&WT z`3>Lip*pOwa^CP{`DZ9O@O_rcC=^h(-*zX30?TSkVyr`Qpy^l*HQu4uQCe2ZcC%qK zT*b?`b=vWQgU4|_vj~PCA2T3eF+Y+m3_Dxw)^eL$@jf<()w`ZCcSx?v(u5b*D zrB_?DO$@K7Y>ZHN8zQX?uVtGVQ?2%D85&W|Ix3c_5w(P^5ud$>L|)T)Eopl6Q;(-e z7N}n*187cNVTV**+u-osDT~7uj>)m~e2Z4+!b(iV%0;iyf0)p*8tQIYucNfGmeGk} zKTri#tbBUex}k&$LdRYbl2_IGrO^1Bqx`OxYi1McFr}#D*$P$B za=f-#zeA{Kx%YB6v#G1KdM1jZn&3u!HhY$#)wX3qBWj60#XdVd%2dm(*}aKXQ+k60bM7a3Z)KdT4vO6GB}dJnH7`VRl-I|#DhusUw9vGnp+**%8Wll_H%2IOrd z=yg))<@TK3!Zsk(tR7swEWYr9hALXlFHCyeYGzX@MID=RyjbByg_h%m$?7RW#meEj zWc>!bREgifHzkdZzU`{rJGcV2i)nSD8yI`H3yiu}e^qs5pH-?6v(0g3rqsQRR^a9+TRGDVe(i=5R%dct*tEV)k;j{GGHk~Vgs45Dyy7pB-R8`jj zsqr^SUJFD$`)Xk6wS8Mx1X)pB6Qsg_h}gwK-=6;f$!mkyo_lq0O0=!oR|r{GUL&MN zTn!X%oCnG~x2>YK?SWZ(_yyB;euGe8nSC=N6j)~6hKPHR>G|2|L&s>c_VM}}1P0Gk zjWAo=@)KIgQAp;{uN=N2z5X2?_oJ8U-#XZ=)ih65+leSSUZ1a>UV+5yCMF`!tt`T5 z52m4OMxD^-yD`x^xC7JkXg4rVc(GXf_)Vu0GY!4w0ojT0K>pZZ@l%$Lnx*@6mpN zTcFjgE-ls8acV-<`wg>Leh+@qJkH)&wtkb?l~b;Nb9Q#W)(q_{yg=6F^zN^%FEv-r z!ki7yPxRJtw%~7`_%1KizO}rv=J|>9HLjO6k8HFKtk%|WAYAK3qDfY%`c|uX_!Lan zsOdKV?MkH{0P~$yp_cV-qhPkc9D15y7V6(QzR${}Yg4GJJ2C*fGRyUE&UMb#;YskKD9TIA1#liN4cIt(9}N!;5#rJUg`ue_0#vO&!4w6|5rdu=`4c&iHle z_OWg8vo~tZ%_G&;nZu``4)-!OFR^|3;nmu)X0^V)3f*a@v1&|Z^Ou44X!Ts}$jVY{ zqggw+vZ|SIe;H`!8r5a~4g8r}fU-@Ysm8qkvwI}7ZHwIk?J%?{G}RsU!;8%NZMRPg zpziEaqkgObk=k`Qx{^*$0jQYeInr#LtuYAv!BCz4Gd4IpXw_@lzCmljJkSFqt3gf#E;%C>nWH!a&-FO zf$91A>F2b)Gwxi+F17BE+ZNje`n@o_8|YNSE)(~~{%?v><6CMBKo01&FV{<03%y^G zMS6YNGVfRP(z)BK>t{|>R}Y`U3}3t})5vL4=%_n=g_eO!7jg%;Wi_av99hw#v>a@NRZPvOuAfmq3u?h~u z&DPOx(5^w25q8brd<;pHCN2;UuWb%Btx?1FGKB2b#?XNMt#ZJzo9nlm`0YX zH#EA%^As@E(bh8ljB0D?jP`r|WlXD1xxDIl3YZEvErC?$q)j26g^SJtan-adgG$rmGGa- zJ@rKS;kg6T$B*q9*}c5Fin`sWz}@79Uwf30(|xC^_Xq{o>&FT=-EVCltLew7(yoqn zjQZQv(T)$cxxWuz%|Ct&>9KhX6m_UWj|-mt{=UbV8{wbC*0D~7JQrTmteismJrmCF z`1l@&-!VAucz%%>{hUyh=OrP(uvR4d+X-*T?~^zacwT+{^6JK$R!{Z^qXPec^?Z8N zT@G?7eZ`)ADLp=TrY{X5`wU&x2CBm!rG%Vno!O}0!!(pFq918&WDn@4N0-r$#}|*O z`qM24`^`>&pp^yL_>Mi2kmt}>_EI4~5C2KCo=_O6Ej_uW&xBwPXBt>AR{mAUOX2^X<)@f$Vjc?WY9&||OXGbai1+c~Nr(3bpvhbDewW5c zFL^(u?Y9%}XZ`gY-e2IaCwYG|oYPR=zrRn5BUvymX`aWFz&}(?pt6Bx3c?ln!W6$-9Mr2x0BsJ>96P5{k#43ywPOSh4B=nr9LdyIySM_xpU1UG>ZC|5t^4$>e=$e@Tj0d+xRCs z#NW&{_*Nk=fmgKgu=FWguESi&!cwOtJv5G*Nyl@?Ty{6Y6hr#`2I(W^BHdg#MUu|c zX-N-^rDmIspm&Azml&iEmy2|B=^sftQ>P_8G>Yo_?Ad$Sp7(M=BOMlODKzOAZ@@ow zhw9H5;7CJrEoYs1HBz6J_0U*q_FwRvcEf+UPh)+4qS*JQk)FD}HXZK*LYG|x2MSqdT z`E0o?y1h0i$6u(^TJ*p;X}0KHBmG{T^pR3obZaGZ0eTNcUd98XrkV4uasEP`^Wk!F z?j3kxOD?DNT*gCVrLKpbW2MSNkI4>rfyOzmE`uGY$X>crQU3Qc?D=!?DXya?WixT%NWr2hK4L3&y88#&VU zFuS2nOL}PBH2W`}9wGhp82_cIkzStsMvAn|W2BG6qrSSSPs;jOXzVomFWqAO`!v?e zlix_07Kw}&>O!5C^uXw8&JsY-+m6D-SoO0y>EJ09c?4!BJt`sjjf`|Vzfsqw!g>4o9xsEMC+u4Hq$0gHE$M+# z(rnwiX4_YE(o2=c%V?MBx;F2!AT9Bs(b612@>~P9H41Y^BfdO&yp(p4uxqg{)JaL- z8yG9idAwb-?WZ-;%azAVX_xuB7Vc7?miN$zY0iV`mSsQ1cpoWO9t$Jymose#lMHoQ(nF)B*Zfn+r#XJIxXp;antO- zbc^&Qjr8*5@lvEcdAz1RE$gAN(`?nd#rmSgdU^7ADbpfhSKXEx>a?T>Mo)8=0D|6? zJl?8KdTFx07}8!xy%+10?#(e%55Gz8NKa~dybNNJd>pNq~D_x zUz$8#2DOvNYpBzb9vCIfw!Le%{kb~nrOM-FSj%)>YYb+;EJ#ayXtXp(kUZCbZQY$d zMXI= zyLr5ZIxXpe(bJqIfS`9Jk9S@ty);>03~8^U-itimJvnCT;Wz0W>9aM?%ag}TITs1L zYM{|jr?u#TG1F|(yJpdk=%km+qC0uK4D=r4@$LzYl;%8MkLBOi$jf1!^U~z;GNQc$ zFTGfgcTZrPG~4s8+4Dm>=cUQxWt`i2yt+26-x3%f&ADD3IgiQXy+h-?TzR~dYF{3& zRgjkW93}O5CQ0u}=XByrlgG=TcJg=)bz0H`qomokcg?ncmri=A@^~56GF{gigXvKo z@1D?TX^tRyt^wP+JAIZ$e0lPCDeWR**J53$liK!?z*uR{c26v4M{Q&%D6!v*a+b>b|_UiQ}pw3x; zJ;!T*fxn)#>`#UbPw_fpAA}4(^5_lt>EcDDBjk4E{aE9kT7BgOwS$f3TD1lFAuILM zP^rjIGaclOd<<^~A^W%n-zwxs;B}!*)2Buz$ijl?0ltI7YNYK8fl<{lw=cBd+;7zv z<}`+S*%wY|`|Z>hPWtOPec^6@J=quVIE40v+psSj-B@IV5Q6>p68u0O3&QLSe%Ak| z+Zy~S{Y1Aa*n>c$*^hpv(JTe-1?n&jwF$_q)X)~=UZsY%4Sxe}i~UM`$GzkJ2zfkx z)t}@$$Tj#@Asg_D>_bz{M0Tl2OLkxsb=-|EWwO=N9xsQp7)tg*BzwNGQC}{$RsVVf z82*%1-^CR4wL&)G9m%FmHQClwY3UA)oen!bOn#QBqWcOslc97Upma}gzKc!xRh(x< z_>EkHZx!+)c%_81=1vWdX|Bq=u1rgLVB|F0aC-KblOpdBq<0cy!}l}Fk2IcNY{G+W z_yja{YGlaZTdLC19T+d2$Rmu1cRRXco<}{y=oZsS!O|7i|9&Fv^SYOEGuPl-g}ek_ znGNU7wLFyxL!FlN&^W2J6x9vU0X_8dX)2Io^c=OxK#6hxaD zjixp!=fi=K(d?mj&7Oa!;v6ST7us)$^U$3M(+qT}PD^@NOmu7_k0*Ar=rQAo&s3z( zWB8@W9(wqABHncJ>7pX^$vE%D9Ma*yXlM4%JKFOY%D+QVj#EerO?ljXs6B<0VJ@_3 zt$ASVGh6enaek}DdAY2)HG!04-hcHtSZ5XNdNMi`W6i%^ zqZ|fX3T@5fd=@@Y)bv?;F?)14Fb0}!Ii=p}4cnsp7L9TkYAF-tzM+<0JOgGpG!~lI zrbEozQ63W^npBk2siQ@{|Gb*^eLWVsn``i`LS725DnjH=8)Z(5(x>&#b2Jpsip6lW z-x9<6gvL5d8ZER%kGl)qZ%rEIq;qXr&O@W2*`|B?gY;ZtI3L$I$0?&FvgyurQBJzl zr)51yL_G{g+w_=w(J{q3P8KaR>v1++%nCJcMuj#h=R-Ln+6~TQZ2DfsIh`t6WSbrr z5tY+HP0*z}E$N{V(VU&@=@HxVUPdYDqvguZ70tD>b4_(x(sNYQLvXb35@XZ%=%mA* zifq$^eHV_jm7Qy7({dgf70p?Tp8l{ci$0=rUY6`!PPCPsYiQGQ9vTbfHbld1z!b&$jUN2YDwN z!}+&roMVS7@`y`t<|53yHOfnqpUWus4Y%|lKX+s@G$NWQ z?-u3XqETL&{9H!4Z?L5Y`MD#Lq0!Ks%hieUm>AJbit_U0=Tgd59>WerOD4_tlRmyhBhtdq4Cgc(>?t`-i5|+ext^DY4UR!(J~L$vguNv zmh~JH^)MW5(_=XK6^ZBxC5bxpsE0rc6tDU_>-Op9LYe=afpyW1i2l z3n{1TpBFny6#9G?T-omu>2gXLn+>EZXaJILi|8|X*(qaP z#eG^!j77f=ndZh^7%|*>k+WMuExOfg^BG0n!nE`UMo7op(eze;MbA%CM6S)JiVjlx z8?B-fA8OSPHCj{pGegDav|I;9Lo?TiA-&(wJR0e##N2^CjdESXhvOF7k_U5LJ8g2! zKd0q7F#4HCRuIFkaQ#%|`i_lN++LAAl+ckCXsYRkOGR3;Lt~xp$Vz_N*7lyZ^^KJ5 zM!j|BP<5?VY`R0&Xt_f)*YvzCbz0H`qn+7?qsi@x4ZoI=4o`S4Hs!%Kys>QAaG^*` zc3^Zfd))|PSIB+}l0925&D|t4)$qE-=d@hsc&3L}XWaX4|2X=#?k1m1xn4Vq`z?dl zJ-c?+wAfOSmh7;2=GeHKkCMm#l-C_IPI3(;dwJzt!O6yKGyGFgo$Hx`zE%i4ik(Jv zW}>+ESC2?Z9Ydehwl%W9=e4Fjp=%j-uRAe7zCp{{xMlx05GA-qSQO`_y*C@YIqr5C@ z#Brc~H=(^)BW^q}0y^Q&fXJS?^2}qRM2}aLmu8JPM!8xG&h*WdKCML$jfm#EP&Db? z7(c&4W4$bE#BtWGHR4QdQqIRh7KX`Gj3jW|xUTno;!=~ADT^&AuRFznD&kyqS2bqH#-`Z&5VY%3CzmX-Usf(O#4OSeFGd5e^2H*e8YrzJf!I+`tdC(>g^7ayZY zFHhbgMcT<*G_+|s4~>kv^PqDUfXV`h;e0^j90zxbd?y;5x5$Y0-H7%gZ*gyETr^wr zZdvnwMR{qSR6a{77tbV@L+FM!sWsml8WYXdyjz@CG|o$tpUa5$4Y%~-8P0n{Bchq| zZc*N+QC^z-Tt>NXu%#FIxqCySp*feU6Xh|{P@*U=Pkt_?T;<`KUW?MF^;>d0)WdMn z$p51R*H2_8zcl%|qPgZuiiS2V=b`b?Y|}mcVOzOeU(+}*O@1yTTIS(eHeKq|vYun2 z9)_cBdd$e;|52=$CqI|6E;4aV(uFoH=Q$?Y4bEfy^sg$;%afl=IhTpJCg@U~mh{k= zXpa7Sdc?N8m;X&kAHk=8mM1?~G}p?{HPvZJ4~>fEcu}`V|972q@REug72Syk1^%|o z&*ey4VNpYyl=IOX7sc~r<=sa6=rO*_zv-NpB|n!FZ3T=BZCcJl2bDay-}pGzrs@^cMsT5E2_MB8$nt$DXN{}+w( za#{0PpEc*ow3J&B(M)-@RoxXmsu<&&e^H~nH2JyAZu`k zY}32N`9Eu%mnJ`#5iRp@Et@X&X<4^oqHS5vHoX(;F<$yVDb~xApG#R6nYbqDLYtQJ z9252M8+|t#!j#TKT!A zIxXp;QPJ$Xbc^)=p_2|*k0M7!cj7^Tzb*4~InvfZx}i@Vc>C;;D91ry{jP3;e8-Uka!71PBS?DpW|Bc3aY4UR! z({_HYp-szqXgoCAbOgWMeP|5lpVT-nO@1yTTIS)(WG+jemh~JH^)MW5(__Y5{#vnK zp8Q6>7P)XmnT1$axN2bP0*z}E$M+V(Mi{Pxfd?wI}j5x z(6_r)JKv)JXD^q*+s#mZj9u>ORez8So!q?)(~h-zzW+{7<+UlBrh_(kH-~4W<6$iuywvYm2oeWdm#nyk7!B$YViR6dFJ4|I@7tcCvn=+Y#(L zpwTQwKhtQo0rvuRn1)&bq*ZDtu((&Lp*d(@{`bSc#j%yOTA|s0GACWJFUb$psy8z_b8O_ zmGj0^Ne}YRX}J!Jr;fRPdggk2Tz?d~KJb0#@bnj%>&H`mb*=}w2Hz@V174A9XsWqR zfK;RvJCYsaYk!22U0XW3 zu~=xE9qMcEr%kos)^ut44vdmc}S95Pf`6s)%2Hz^=rSQsqaNbbK z9Vv{-KmP-R_0d9G^C!}yqTg@c%r*E{AuoYfgLQKa7x2d!>OGkEKNJ|n%%syZ*bUNu z-ynUYT%?;b|0U^6oz|uY#x*nPT_gSX4AO_oMY_45s3e`K(~=$-=ggjZ*GT_ejdWa6 zv_zh|v!p0TUFy@a9vJz|R=sPie@J5;7Zois>ye(iy{IThU8vKNo@1bhu;qa#9e?>9 zopjh!kx7q;f#S_4UqMt%5EY>J;*K;h2AVB;*DU%6HO_Hi(IRsmY0>S4MLFm~ozkKY zPX@+Ab5={&NdIk}^m18rYiUsddU}gKJQ)}l&760Q^WV}rhl%k;w&;@x|fE!070t%Xyy3uQ>MX|&?3ylimWkFivbF>tRvq*+JM)oIGE9z#p*ZVc%ajDTF+xN&( z7_q3R<+KZRTG9ifrIYTHFS0kYJ#XgMHPY!~qtK~}OnYQ*qg+|k!d>dq@*Ws5%~|Ty z)LT~o>C42-!gxgR4og=Qne&J&b+J^1j(87NuNa;TjFRR#MqQ)(*Eroc&A-TWN6ayj zv-&l>r7o@Y4vmhwV=sA(QF$vdGojzd`JP!jTbgI+!p$aat}_Qi(kj!EsRu zwzUw3rBBOyU|clk0bsYV`^C0+f7s-G1h-o*-mT>@B=70h!x)|jjFe{H5zDUd{@+aA zAz!_0yjwZzlJ_2Dtxp6-PO}G(SayZ?U(|WWWijBd$o4(fgO^KS*dDwrNb1py2gXqI zIxq-kTjFEpBfVQE9NE>^*?VHf(etOrI^^Qr+|WBnHl)=RQtBllSBbBmL(M(o3=quRz*A@Ysu0GR6ZVshRYyk^Wx{(o3=quOQt&FEaD7K&vK~mz!0wbt-9#co_9CRlG-m3qe3aJ`Q1_=XYYDua(JdaTUTDIvqJ3V! zH@%T-@U22#1h05+I&{hr=rK0@XBg%9NcBP!9&W?& z`RT(W2H#SZmhR99X|~~rcRRXcZ1{g-bi*^ni$5nR+=kQU+J1_rOiOuabTm`mEy~}f zC@=gxq&Uh)%^B7+n@BlVrlmYEGMYV=u6ZhNm6VsoQvsMgR-CEQ(j6EL&2)E-?w@9K z&(>RIp&OcN`{7cRmhQl~XU=NrNOw#e=q-$Hy8203o?17v$(w6aZm83e9vbn?E0A{b z#bZc+vramA<3)}D?WFx*A2qy*Yw)c??t@o0YRHf_R|F9J_u#2@V}a4m{M0&n{@RVK z#BlyoI_Hq+R3^^Ngj~US57q(L8yMrvoOg}$pVT>rRRGGwxtWeDIPbyy|GlBnPB$Aj zM>|!tGsd33NpVhR{}-9_&?g!(qU8jC71Kv|Myiu~=z9Yrp4p;zwCFK0p`TEsm*yD( zjC3)(-vnJ~({i3;p9rw!dDCbO>O-GV7sL4*HO_HIMYibSQ6V(l){K7+e-G|M_lCwk z^LPtVZ}kS5zY;_Fk1NV)h`-2`$Bnm$S^cIp7uvMeJTUq>kz@Sb;{3-n&dX)Zt(pGJ zn)hO!|K7kTXr>$??}{~lgGM>do-DF8kMmjhbbia2_hL*jG#Z+1dABJ4QH^q3ShPfx z`-T*IF~5IrXe88q5=I_T+}?=dk0{FN?EWHC9y-sNIVWoVzG=>tKCO42qoE#49X-|( zGkX4djdh&WUu4$f?n1@PeT#HH&p#>WqoL8zY|}mcL5{Y>aQ?#@=dg4`p*fGV>CjwX zA{RdQi0RX^o+F|jhLhU#A5yH-+5APe>2VQJIbq*4>QbGS^uUN{&OOHt(RS1&W)A4< zIO!|!oW>$k9zF;3;L3T&mY3^88r`qubT6)#hVI36+y9;xsU8wUOS7r zBHvv;o;T_-ydBV9uEDno*??C%8_w}dgd#23ff3G3Ha%+$UfH9zMfO9K>?$<`r69X% z&)64=v}6ayGxO6xJCYrJgQTcxx>!MSL&T)7ldl-^|2!jrdoY#M6hBl#BQgbNo;d&kNGp_`o=4CcbOL zztSWgQ*TS=)eN^Io)@GgJ~Z~3^RT`C6~gi7&}B&V?C=dCkUB{kA?W>wyu_ z{H!5Fy(_FgXs}-Fr{RX?CQ7E;IPWkMdKj1TPs@5>JT$Z3HP&CQvtE*?oD0@rhO^hM z3w>JF1EZsv^{%o0GK2MU*>$m&xk$v7eV`|HJup_9S??O_4;ZW$`#I;aJ`Bu&roM{9 zdQV1U0;8vy^{%o0QiJtkKj}Q0^)>@BFcrE7{(5LU)m>dNKkHo0g^r1*-mkMxXG0fz zxXmJGh=tCc#(Ps|cB!FEOL=HKHB;U#%I}qw7k@TK6y;(9hd$^& zBa~?=4~(Sd{6~bmt*;*Azr2uA-e|0rZB~bBvN`J%-4=cJFLu09Kd?`OM zL*1>$u)bliUhGWw&=seJ$6`IR(Nd=+Jus4*t$Nq2dP^t0Ec2JRRTocaw5__(r)51f zf|{**w>+42gY|M*b?e!U!m9V;>5apoQPfO&w@7aqq!)YkQmp@CJ-<s&MU(Cya_q%Z9EU?As4nR_f~xLGV{!)0>ZF%x<`VbT)iWDye_fTN z_1JS1)nm1jjIck*+MZ@qjP*rK-IPEP|{_1AO8R?hkB$$L#)4JefB z6>?&Fes=oMv4!L7wdV2qTD7@;rn*|_EJi`JV*HtuZuU|kuY>4Uv zlTNy}J&&oYG4-7hec+7I2ac}102YcVau)A3oOZ>(G$Bw@A+NOg$0oNyUlpab{9!TE z@gbM`Z21-SII9~Ma+A920?2Y`jG z?qcuKyyRYb`=_-1cJlVm`s+E&zrbHldi!YeLT!GH9IwyUPOq%DYRzMtXKQmSiw7G` z^!$r$_pd|a0e{Nl+0PX8wL;zi?+fjkt}PnYxk}pJ5E^H7pM;(Le&qqhTmhEd-T*!V zA$Ya9gp%`Ecx6u;$Itrz^e2vE2kj^Nv&C^MpwXTp-p@4J^TKg2P={&u!UsyP)KEKs zdzBj6dqF4sSy@W%hbF^ft>eS4=bx_v zihDfwp;v(=a&!}}0Bgrq)@sKZFxaraBvq^b|pXv!QGyE2@C%`1;mHO$qTD{ml5MKH4Ptku9 zQ_$B6xewlve%aiqQ8B*nXwz~Y7?;f}rP4FU+<$pbEHCLXo=#P9zHhTtD?IB#_qvj5 z-eeE&dP!R510%MX`K~d45}BW`t=6jRHD>dQZQnzgH=1lP@0O%xJ}{b_$Micge>Ieb zdiD#9`RUcw#*)0w!}p7PR~s~@PrJI=Y;8=xZE0HmLnFC4a~?ZDH~gIEIs6x!{cxMF zv2WbU&e!acw9JRaamVu9S46%o^D+0Z-;2y+EQdQeMYi=pb6<_-8V-&+3RInz^w5Z{ zJ8qfB>(yvY%w6nVNV;au@HV!{v*a^ z?kl?=v*y8btsa1=6q$a!qsKo*|8AzBuNCrAc(>>`+#Ib}r1x_s!s4@I`MDtU?6td# zjp6+{l=tQ3`PwNla9L>HgH{zrbFMYn1l}%4YT+ls;;`d;+&Jtj0(_j43=w+o*UP-L zyS4px%1gr;V))12WZa47qo7{oV!qg4PsXPPq3#r~gWqF+{@GP`lB2a2BqGc->gQ_B z^_50_uCY{It%0@$vDre?e*IyPVH3!RQq53U7)k=t?C`_CB) z%J+#G-T7|p8HcNf8Z*_UGqqy-J$MboKh+bS&J^^uLS6{(*b`K9`I-opF0J(sjMU~V z9D3HQtAw=vF^r!;#t$@`jpl6qRHN98hh^bt&DDl;Y;9W3!=kgZ7tAjbEZH~PWsEY8m>kM9F~LzDgBi-NSo z2gYqj+-!wBrm2WWs~76~JX;aZ6L0s|)|Z+qXIqUXI#@-f|9Wfy{Hc+ggG@nRE9A%F zeL-4(r}-X7$X_RIp9qWO<~2vyscm-$9CJT##O)J!J5cDp5SE`TJRQL~G`mAD5T!}^ z9}kV}=1d0c0qyvY@q!NP{4cMp;dYCB9SF;0Q0zmKJxbLx7pu8`n$vb9UA|w=HXMb z_2t@m*mjBdm(BL_Zf_!Kc2^S_q8$fKg*#1_`b$Q@th)^}@9D=NPYtYA1Vn zt5r2)V!X2k{bh~u0_3Xc{!4&Wp0*!^#dxz1guSIZSApA&elS`Z^m*#2z>{bkE=0P8Oj8R%mSW$;%kNK1T<=6dY7$X1 z_ty*m?3B3CeSlju+cVf>mnP+ZEG(LvNB28h{FuAm0}lUXi*9kkq1kO59v<>zrD^#O zi|%HRr!)UC9?yP*|NS(bp~#V~xcMx=J~Y{H_C-Nj;sfKkIj55%-)@{UCZ}^o5f90n zt!87htT~-d^F1BGUngy!2#fJ%FR1fXAm%P$pW7!&meVOX7g?L;4X|CBmjAHG?^s@E zyyGb`^`|9inGcNj4!f(8 zuO}wrHKmxJY1XQ(+KJi{OlvuC9@r@I9l#)ETxWkD*Wg=){0O`%_RXeG4Ufs^sfa8f zUyZbVAvF5y=Je;xAJrFP{Gadi_k}|DgSgqfI_17`Ah$ei9|(*5j!nAPgFL%e^??{4 z=$UpOfGa_fuLF23#6RT&jWGp%4y3jm~@bOhk=b z#(Rt158_6A80G$WuUVFs{m^Ky%YMH5RqV%%_>61p)2EVv{Vei`Ph8F$dqRuP?9*e> zgZqKNSZ|)$POt0jJf9eAKc*4CBv)`QHuZ6Hd#7cyedL>kY3+Srba%+L_u1D`_CALG zy=1<2u5nLoda1Q?u6B6wZb)>%u2p24ALQ$}%~tTYDND*d6K5Sw4#Wm@J=B zVE^>WdaKqv28)@@tt=jFG>@;>nnmaTY4qBt-}6p!4QtsC!`p(t>DmZTrwVC%LXPv| zd9r+)QPkm|cs^Z|Rj}*HKz@wZzsK$gu%9Ad0fOSZ7U1pC??Ie*Z&;i+Kf8r?fws)Y zW_xSe8-1#W+(Om>*^q_eoPM-CePleH8+n` zTW1cRg452uph8>zpv+Ehv!_OeM1FIJ^0a**EE=3MJ3C(mVzPaP$l=x6v1YZtz6xpn zGmTYvctw$~073V@PLnm?r%hQ}?gQh!dEAGB-_G{OjQe~Wa(}dXu6AT)skPCp9b8$( z2jC zWK=jk?F!Rc{;&vdzVBs}x3l~)UjMgR^rPj+%(o(YJwf-qCg7~uQ+r1I{OiSOdq9r( zBHI?(&S>XW>$=6*|C>EMpoI1x5!Y^d-R{8()6yRn@y+vFI@|x4JKk@x=r6kM51QX% z!VS|E+u40ll$QFiSZ`j-tuys85w4po>WgmggYw!;>f74-UfB82n68`IlQTJ0c0&yD z-;Bi1E;Z`M8Z#Tsb^1`=BK!EE#OqBqhIX8Sv^G94qPxeP+4Y)$ah+x6FjK#IkPMyN zz08x;naT9NPLZKUb}z24dkZz?1+2G%8{9Q6)R=WJ3j3^U`z5O0UcKG~)H(03=lJ#a z`|HVg*7dOADPBkHgOI^T9=!oSUA(AtgxrY4vq{@WnvJuyW^40cv$|G;r_!x7{{!T; zJ)JjJ&F(s+HNQfB8a^#_J_KqVtAKh*`^TQpcyG>k!;{Rqfb5sDf5hawJ)=$k!0i|L z$`F+A=I4ECR3HEJ*bY`9ZBGb``i_sdnGZShQ~5?QvmKwV^#m6GQrCzg_k`=PE5o0< zLhNS>`dT4xfOqW*VK!aM0aBgCS0!z42#f{iJRo{b+g%r8A_6z4-f*x{Z^^DugFy0}_9Qlpaqj=_8YmI~Rd zwpJQ-=xs&r56__1LccN`;Tn9akhj6>!WM^MN+!sKR7~4L!s5nblWq^m<4LNA#Ed6> z6ZDXM8!M~JCu+@g)*%YrBQRo!f67m9(+r{z5?N}S_l>=d^1 zielnq*OSB3?CQ_+qDP8-1qh3iSxwfRA#YJy>I0+06Ydxhjz4ad8+U|Z((^IY=W6@y zG={2=@oM#)G1N9=vT}?lW*xZe2qwmH;tRgYZIFdGnycaN(WhlSFeW_VdNi4J<}vHV+@g1%PBYvJATjIi0-ZLsAN$`|3Ac?K~T1X zaUBrN){=fYl&9?jp|M=|8jxeT>Kd>UddL*NyP%zgzW6hxuQB>S@$UwLVp}@j%+;3< zH1!vyr9Ld8o1f&)SZ-(eF~$>0{gVvp|6|+%M0-BcxA($tl&0lBEVetIS30L1pd0*u z1DU(Mx_;(Fb@lM6LohGq=;rz~ZXCzeah$%0(SV?JPuynfH^0s?>BT5$V6-8C` z6RVyP6DQt@J!8JM)Mzfx)=xDKHXCc0_=f*4bg#IM_W{)_JhQ;sHeC&gcCM1NHw*_x ziSyGi=(%p^AH~cLzRK+lw{5H})71ise1{M;JJ>;;HeFjCu~UV#Js~VwJT~EaOgS%9 zT^C|Dzo|{jc~~TPY|>o^ zH%9>!=P`H0UyqzmueR=hNxx@sKnQGoku5z&0r5|<4pVmIUxhpf|3}u1CL6rFC25%t zi~eTj*-32Y<;2Wlypl3+KJ2a(%xg{7#(=OlI3;PB4~zEZ)lNDyA9J7kc(T8-z8@ZM zacpI+cB}zoK`YgI3qKUw-Ur?1wrjf92|8Cv+Z)27z+-vV7wr!1t^hH!zOEqqSJuzY z*72#QxX~h8|Dai4s=3;#x3)4Za?WixGtU(%TAA?4*xLA;8rNyYJOwPUF_w8^x6IE zEU#g`&^A3NuFJ7jP1f=_+mxl{J}j=AEj;Z8cK_JcN)2B}xu2=7t{&W|FO|f?i{@IM zjHymbdRUxxEU!sIQMaxH+ai4jG1lQJv~|aPRs2(9l%7?mjOJ=Lsvdn()`!BPu=zO^ z?3}h^J!X9Ju_o(u0K3R{s6neW7+jCE1D+S8B|b3Pn)5O#^6iL^@!v1w#2;-fqvu*} zEuAT}g%9%I8Sz?^HUGU$Sz7Kxqpxn3L5{wv5tw`w*jpk~WUOx&{otE^#2y0#`oTA>&qmS`y2FSkkRuj|dPry^R z=!549O?%LojoD*h$V<>DYCWMRQX-Y7~-eQ5kO=aO}zKE}cmMLk_Au*k#*-MLEQl5Fa~9lP3L7pj9Q15v3APnREV}6I3djP(h`jMk*y0LR_7AQ=7PUWIJh# zkf;Paz*G4aNWAmh2cCH1WAG^`GqdNrz1_2Yj(n+(+(x^1o|)af-TTe&=JxLL=JiT@ zyLMyt{ai2=mJ2riSqqD~oW&}&%;gFTD@(G*{aFBb7hvjBfSD}7TuJ6LHUQ=G*JPf* z3PAZ{PUg$FPx*D!Q_kT&<+o5z`RX~D-vI#1@BJfl{%-)vg}-E8`V)Y1@ei3l_zi&a zhrh^NY5-7P+oJ3^YmRfbBibEjLv%&kS!-2=^Qhje?A09<*6kJBY1FqUyV6!uY`5CN zskR<98{$AToK{0r8xNd{gVi1iaGaW`RL9vcIJX<(?yb9f)k;^a*PFYY%~HX}j_MEh zoIX0eMtMLDspA?Ol}=aO*%RCKN@KIM6zIdy88ylSYOs!L+}`>|Ytv%81)&&kG z*iWcFw5HylUeoXMRufNhSL*ft3?28SO7(sW9oM*7t#{qC6C6-b5wz8t_H6xQUu!iF z@Zj~sR>j<=E6`h1#nP@;X+98lTKny7VKl1ij2cGsN)6?hS$b=`)eP^!(RA=TwMYPk(#;=Ev)wAza13F9057b}G9)fh$+%iJG0z+9oq~j_?8%Zllc4L_Zs4ZfLv{87hOxoj;zJ zDO3%x;W?o*KarUWHsb#3wN5r!xQAsNS1&?tZ3N^N?NtN0HqJU;t}#u%Y~(KRVPG-O zM`Ls@{L-BIN#zcC%!W6xaSzwDC4U6ioEO}4I zvaG_YbfKZVzgkqhXPSrn9eNK1(P7>*gVJlL|J>y@+T`NneUGQ<+$>>dUn~8Be|-q> z{tDXE!tFfoq4ut$O*`BU?-OJqRFzzto(xC){Keb!>)A732Ji~-by|&*8Bf#~;Sb;> zW;w_7Tir8!$Gl2_dd=i(0=RhQS)yJhdJ>=SdlDXbzzcYcbPUpKs6Hhctn`A*{2TA2 zJc&0gEcqGBKEeN>8-wxRo%pCz^W2hH?Epm;Y#Ulw7~1^gD>_8{u{a*B^x2d8GClj<4j}kQd1m&h_Ud>H{khWKYcb z|L6O_u(ib#Q#bb2D4*}`6#0ZY3EKXAKThPIGm&4WV>o`u*B5wHubDxvzTP` zzd`Pc$&d4INCB5w_!YM@&NqgxaeufzMlV=Oy?{=V1bKh{AEy_b3HO3B9mnzX0{uFm zdqM2ig2jklkjDQ6Qr%m;Yr!b-|7qz3>T|fnUk9SE_XLKmT?0&AjQqclB0mJtMiey8 z`2UoN{KRwr;gGNMzKZmc3FDAW`}Kq{O@Xy4q%< zvHmKN1ty={uSo%yS@<5elG}U3)tEgXj*r)^s84KDob#EJaQ9Yv4u$iX0M3*Bw02~i z>x}N=Ja#@$pV5Zl*WmMU-lIDHZwrjYqOke~Gz6jpMx+%GsZP z!qSc78QI=vEy^31(jRSRFlKgINj&)QKFWNM7Z)z zbF$alqu-sXLmu!MxBF3ejJzKCiE4^^V)lN#J__o=Kz*`T-w%cQq5r%fhHq_W{{sWT BFZ2Ka diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-pdh.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-pdh.a deleted file mode 100644 index 2e350945cff1763e1d03fc65bcad20275839cebd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13974 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 p!l4|6`C;rkK&@pJxh z?N-y->D-?Fpx7TO^A!z$t|rUBqGK;a*Ni9Z2e``6ztP5{t$ z=|g{eV;O+9%WZ#q>i~eZnPY#u`V@e+>p%J1>@$GbXS%+m>zl6Oxca)`8IHbWw+#Kz z>^ApJ9WzaBLDMaBo3bZC-yc)Mr(d0S?3WK^<9m9zA zN;;JR8eW6hZEYO$p35h(DwhjKE+5)XEBRnq5*)wM?d@Tb4Whep)TowY{Z|QsQM=== zH@(hh-HlGuFiTE`GkP>fULA4pZjW-&U^uhcdzBPjgu1;C?R zySd9Vf_!nTsOmzjev*mflpmxK#;7nzBa9FAxsao{KLlgQ#%3Ig5;SaFX!Z-ai~W@Z z|9I`B$-@JTv$<}Q{dP`azxDc@WWO4YJIyayj5sGOOA%#gzg6Dco9t`=t^_tg^Qy96 zt{3-$F62Qh=V{XMbbNmSGbVvzB72gJ56$#sD$DLLpNet}%u1l`b$Z=hKZn^Ch$DSQ z*3U-Qw|*L58q+99NPsU`>_>U{3lrI_CSL98Bv|-N6G3hn!=jJT zFb`0#E(!!qvTi@c38Y1zil8aXeILuW0!yY{h6IIIY?_}MHuja!E<~Q9&jT!=##8G; zf~dY*sQFf{)3BI@cQ9@Qnji~z#pf?(>EFpol!vQg2-XjZ6(Z@#zNlTYM^Y1i6zIR0 zl30@c28f=Nc?k&Yn~fN?Qs6m}2jDqu6#A%O{iSp8DWc;kP{(~L-evy*h;~2clOTt7 zdH5aUVQb%13*;GN)1YB3G#c7$Qy@?7tu7;TKGB zPGVh8_aGx%610>g)G87QKcaOEBcUZ&&{>ku71~WA;Yh8MNcc{z3rV<+vz(TM34sLF zBPX()Q6}O&>Hvm_h;=`M#d-Jx_W}{BA&{SpAv%MF89W({)>rc>38{+r?f%;L+*jNP z37NrJPfN%+Cq#alI?`m&Rf0l9#;Tve;ynC@drpSjb=h4E(qzg*EhP^X*<(DxtLQL~ z@wsrNJxhGm3Fp%p^}n>^EVWU zB%J0AMGg`^Kp1fvQoW%_=zi*tG_s|loR*67)e>Pb$UmIs4jMQW(swtb?H^LDmXf|F N3O;E|mSnM7`X7!g5x4*V diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-rstrtmgr.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-rstrtmgr.a deleted file mode 100644 index 2c39e820cc89f7c58b582149fbde94648b3d8e20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6558 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 RxJk2}K!K!K7=P~(@PE?5CT0Kt diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-setupapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-setupapi.a deleted file mode 100644 index 8a2da409e6c1306143a601bcfc9986c70d159c0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157680 zcmeHw4U8Peb!N>_mSmnB>l|5;Y}p>sk}S(SdjEGRE4p3okPjQdWli{R|rAsKF_H4 zDMFAozr^V5FA{?Evz(rSGt&E@Jf!#kHlq)IpAe*v5Jn%nl@O$lFEIMl8X-uZd6v=V zzDWqu7rx8rOaDL!(pR94NH5;T=%qzMkY0wmApQDTM&E{Vkbe6sjQ$hU0qMW|CZpf| zuY@4|-rq6$!z&3v`s3Fz`VQO!=}+Ix=zDtzLHe^h8GZi%AxMAzAfvy4Gtysj`YU)2 zq`&zbqaVP1k^UC$iS&0rWc2rMAOz_jZ)5aN@P3f~xksr&zD6kR_ztNcUH(HxJFg)X zq}S|bbakCnkbZoP(X}5U6{PE5Vsrysi}aSiX7tvpNCoMZDMoK!Bo(CHrx?BS2~t6t zy1;1m6QqK)@Jo!|1QbAhzBSvfglT?se|G;RSkP6bq4UGCw7Sfp~8J&BcRFIy8XGHor zCKrWDe@F$G^_J^c` z^uMc&{(dK^ApPS_jQ;6PQbGD>C{Zm zNEPY2Cm6l)>!gbG=09L`41To6*c1sUpoUFuHw$ zRFQu2Rz{1!hqQd0(SavP73ts_qeCAiRiyjA$>`|wq>A*w#~3{Xc}PF~Ym6TG6H-NL zevi@WcS&{iyN$+jqwzpL>Gc~&l0njIEO%Fv#^bF{bEDOO#Ma!xT%+AOg~U_4on)ok zOB$=)$2;xhOww-jlfmW&UeIj7h3g4vG)^bY)zKDB8XL#(K6fR9gPqk@FIgEJ8}wS8 zNBakQ-Sv8}btdT@?5uScrxxJ;t@VvYkqcDC)%G)Q>UOmE>A@|RigG5GHj{rlyfhP6t`ul*?ZK26ofc(d<>j>o zCYjrRc5y1-(g!=$CLn9h zOH&Va2K4b%VA4K8%1Zeu^Ky5yGf;pC7v%Hk6$e_K)x+>W_cjMBr}61DiLr3xuEq-& z^A$=jOS1(3fmW|S;CIR+5HC@3^{X@#=B|=(SZ~3_$C5SxAz5X8rB*j9552D;7s}5g z)5?>TkoMEGn?2I(HP`!E=R=FJGD>A72=b%Jqpkj+ckW29yOHz;=QPn}#W{F~m8c1| zqeMxw2c`u@N>C(fA5@lAsy!=}=2uGd12Hw4i z*AI-&vdn^JD2p*>Wi7Xx{k}m!@*Ov=r-OA!dGN}8%VVrcdD0uTm6K<&T)+S9iN$F{ zo70-5C8SJB8R{F!_eEI)8Tec!u^xySW5f9b2X<5YlKx=1yS~vJ)O%-??i8QL$iquG znyh!vB&mFG;Amx7xeTQ^FUCx94R%IJFTFRKqv}g#@~H9f641IyujWr~=pe0J_EO-s z_ax_Zj2nuQSncH*-mRf1#$_mFt!wD0Mgw3z+)@H^5D4=v}c!cH9=JFFUcaBY{N9Zg@->qnpKAn(7PLIuI1`i8EPwC zm8&PDTUCCp1935CPhcp^Ah71LaxyEitaadQ--zm$lYC1V%;rj;*kS zp$V1IUDlGOOr+3C^jCVV4L*8kYpi;raA|iJ`Lu2Zy|3Oa z<#Uw;HT5cq@!3mqHjH?3wSAUW2Aj<`A6h-$<({G0HgfUu=i1-dlm_t)=BA0kcr8>{ zRRZ~I8H0RnUi*QuVJyJJWhe!FKCQ#255TYI`TRVpl^FQ7%e|zjRn{Qw4n9{&?1sMO$=t(BHS`n4r(~t(dJ7|;Z+VWAsB^Er zx%|yi7GwPwOt6zw0$25xS_0c!wqX2#-d&?k{W`=ng;-FW3V-gfhm0!h=|j7 z$PI<0rz<&(nj3g{3Hvr%Z63QyT^+p$8#U`DYow z0^xf>`v`&A50lK%|S7TmX)lGU);!aMK1G5XX9wH(QNfjK)km5 zcpvRBmV+nXEqNY=@Pur+%l9_KY?=nxlZRniQFa$wE~L|!V7x-hVcaQi1C$dTNob_LtL#Mh z@ebnx>l$T{Ihp|C97)ilK0N1A>e4hpk z$0!dpgwIuy@<`T_v}Z#2;G;+$zjU8mZkoFuuu|h#>r@*i`{nu749*KButWrAX)Lu7w3vjO|a#ous z^H4U~YVu@uu_E6J(Bo^HB=%eHcBa$;g`Zmw3Fn_=s=YPFL)4^=LQ)lG!l zP$A^C^siS{_6%SqEdASlsF8`2dsbm6*Umz77RkgbdrtNHL)gf9{FfgQ@@QqP`B<93 z)8)3pqIW3eBb(e#RU41gMmuagQu|)5a0S65BKr#3KKQ1u@RID)bUhES!;eY{SsR?*>^#O& zsB96rrN<=wv~`*EWBX#8W`*1&fDYQj$2%&YyXJClJ z>+y$;z!36I`hP+Y`7GrmPr*}_{0BG|S$D?*8h&lZOx*x03p3=*@AX5@q8zGI4Q~EI5F@u(tRb_*0jgK%%@@C zDKnqIKn>opF9v>-Vc@uB6>+JtK$Ru5MTUh#@W1p|B`?6A3=6jEXI?Ocgp(~SGUok| zF)<&t1H4rR5aH1aWLyh*zR36uhK&5mceuXHHWX~mLVp<|Zs#d@s*>m6$PkgQwiJ`0 zKrrQomH)XY|L|@Uxz;qpFzcv@{QtT^{+Fnfl-GyYqWsGP_PYG@+_3UL>m~nld-rPn z|C1mz!@PszOt7eYjnguEM7pobGCFPM)8xNr<`ez@H6Xvf{r|U^{A19XPvSXI>b@T~ z%%Z=n?-$Ji=~cSR80-7xDoc@7D*1X|Sh=5xau08ZiM6n2g3A3jHMw8fesV7doK?B! zd12*#+Dq=|Cv;EvJP6CM{(ifR1{JY)Ue4rR%(KJ}v&{B>u|8i^d)RhaA@*34Mnb3j zWPeh(b>8nG`|pu#gmKzBYtnsPw$6r`PwVraF!Kqej_=;r*7>ze_VfFjm0bR7@cj78 zY@U5AfgY>mGjPsqo_y8S@ldpUOdMhLz@#4*W@k0K{{qOzFg+mK)#Jp1#ZK2oMA3J_ zA3NFYpAVS%1Qu?AGJLV{4Tc3i8^*GqACy;Sy|5b_6@D2m9%c#j$m7q{?r}GRiV+{~ zuz2x|KTqpXv=~9SN#F&eNWOS^DTfzj4@xMf%s9D;qawq}yLk$ps^p7sWcq_kzEb@~ z|BX7s+EjC%(d8Lkk38$4M^>f&cbs~pBi+|!Q=K*QX*Siei=57vjlpql3#^$9vg-xPy-7ojI69dwa1)i{CP(Ax+6+5?Xe5qye~?= zo}$FIPcW2KW({&HMT3lzqdWyqRq`SnQ#^g2 zUuO4+ZUa)Q`WTDGH>TJz;S_k-BKdFRcm9woZsL`)wg_U~G zh;m$cL;EqC)L#p^zP|34GO5qLLkHKF+4}Kcd4S@bRa>2ZZORQQ|FfQv<0$_llm9Oo z<%D*-bJ176+n29~>855q;W5RJZYBuJB{hx3D|I1AN>9_xs?}(LJ2kfFfgzNzv z;3;^jlF!4Djs2LauKECWp0N7BGyWU#K;Ny+9x8%|FIe$V?v*(gg$L;S#kQN&EimAL z^Mu8NXEb<5pK%)J3}yNOWx-cJ{E~!+^y@Y9htUvtW%d=`MtcrfPaNSXtY%+@lcXn1 zO`y6B6dZQOun6&s7SGS<<3c>%p}y1zxlKdJgE@qJLqUkS z3Dk)c3?wezusHFHE=QcOS8cPbis0mPLvd1W3u`1e(Iy-@a59eBN3)*s=;(n^pxAIy z!~^-PhLcM}j}-Jk*pB<6>gsGH2^R`aSiRvHqn_1AsNx#Y%)TnJM)Y|N58|^e;>{!Y z%It-_gQ;05Ui}bHVKsXhPO=w5?Iyh$93ZhVheeBD6nj3dgrjfUrag*SS)Z|^rOrMO zS8k;EuY{8{gb;q-1ZIyt52_q%Sd@51z2m5s6D37PwSLinlI=XI#YJCk0^^V`Gs^hF zQTWbQa~;1Ak7L6@5i;W$7mo-T8A3koM#vK0sLU2u(Q#iLA?Bcn0U_gvjLdjO&ZDK} zL`V@!>r)a!=*OP)Vc$|Cq@bl`ZUS}B0cw=FSi|ZO&v<%7$;eRh$zdn~O;Tn(G76Ny zK(6@eVHRFDqJ*=CMTuvWeM*nA$5~j}7*~-o-%qG0kw&)4jE);=KO#rh>pTTdRq|Ol zO5<8o28)l zk5%#oINK0`-}s$2OvK8;Mlgj%g=hSHTHoU=q9Q{@4c@lzOsoqkD)PfHrM99l9)!OP z6^B^@Jyyw=;jE$}Uwz|{E(L~(FDy1ZW9AVX^zGWB9yQ4I#l~|^Y?OOm$wgxW#-HY3 zgtoQ5(Qsmj^M%ERXZ(ChpPv}@My5B4SW_R%u+dId2K$o!V7a@#(Hzu!XApp8_Aho} z1>l$I4c96Ut@_GhR~(!&^Mu8OXOukdqfFoRDD=fgQ%oF9*1KntbkKf~^wydyNx3nB zW7zo1Fk#zAx!y8XUqgkRD=aQNJ#=PUqTlzL_TA|1&>_;-`f3(#HWsvHHwQi{qP{c}N zK}@;o`Y^1GCoCR3BizwSa^j(g=kVba5BNEr6bsx&!hzT_YlR|KlBxQ-Pi^N4i;Ec3 zMuAuQe{ILWQGRXW83!()Z@ectS8i++iD?_8o;86NKxEdiDDjMGN9{2(?eQT8N|v^_ z_Ardd8gMj@@z`n4==P*O9vkO+WaF_#zW?|^6E4=erH^dCh4visxYHs}!Bdrd8jh)- zElWF8U0)n-WC*JvJR{l>3G}Th_SPItghLS|e87wZR1T%~Ew+vX!}9Mu62`ISd)hO8 zJ)zHdisP=CPAKxtm0wVha4C2Z{$Cxcx44jVcR-sBYse0(3w)#0`YP{e6=eu0GWPm@ z83F0kXYizP%3qnsnTm|PqL}BaZZ?ceJYn(R8KI7`2xmlW>;3W=Yny0JWk& z!pEqmVvHJJlhWU7v4>$_Y$>7_-k0J4zeGr9t0k*!ugUFWC+St!H!HC51htcx z|9;xLDYy}1NJVBWotN-%@bCfJJ(fK-jr{@sGM#WcOQ6Rpc@EC0P5?O<)z-ZQJvXfU zd&Z)p{L?o%3i1FnrwAtwPmNRl(MMcl;Glf$P^{at;sU%0b;~9LE;v_MTzJN+;}>6?xIlUE^*Nr9aX~kRgoz8V zV5oOaY)n*Yi>k<%EKusrO`vZ^K8!akPCR4S5ho+V$+@98DR(S;Bsc*bv7qeEVZ{mO z4T}@c*mj)j;lxRinBG|pCzpmE!BGnQWpNDq?i@nqMb-7K&TKqE@i6Hb&L{ zvbi2LkON=)>TxR`U_xNO+@n==2s?*~L-4=!S0yjNpHgg(*;Xkgu=-}lgPLGETUcax zM!Vy;km&2RjpgG0UcSgUqaj0l+9ZAXrC&!>+@{m*NijF z6dBtZ*fAplB4x%)k-ZIc?ZTVDVS@>%MqlKwE1KzL-kqr?&- z;U7}s+Xyj~j3Z7m=^0m#GfxmCR+QkFj<2`Uv!i6G-D-j-Uv88Xotu>xecA-(xmi}m zuzDm$*ij-C{h+Ppc#1Kod}8)`k(np|&VUg32xDg@Ik>vrW}a}N7u7e;W>0saQ@Fz7 z!ZX4iXPzK@MuLkC2QI+0Dz$A@bmobI3$T?YZ1F<+sSDb9aIUbp@QtYJ-wBJ}dFGuL zv8cLcT(sN#TfB(BGW#7{w5Z(QEtcGPoiQvzJY(t6=Rm==YK|fZ>9`Ss%43@&1SYYo z-w-n+gfj+3$b@HfJt71JcO(c|Hy~uKdkE$)iUHp3h>%~t2+}>A}3}_Ax6$=mrd>)*oA% zp>?ps&_Sy|92*&1SY*WbISMfo>WNqOv{svg=1tm&?kK+v@G}xJ=v&s8hLjo|1>@)D zCNR#;apTTdRq|OlN^=&eVh~j~E|)T~ghhjAtUP+<^vx<3n241Z8QFc* zh6bFxirYj}*&*aIIA2ch`f4~{LI1-4%YW?|BxeUShgpX^$R0Eec?x0+Qcm^h3>8e= z!BUw0IFBiK7vNzjvzUUboJ0z>G4ZYZ&i_e&G#7PY?3t>Lf~1-tTPHm%{6owqvjT_u(>FOY_p}H`is+Z`ec$EECf?nRCq?p<2PsMdsVcGu&0WA zb7oaV14H{6N6o)PT0_QHvPBHr>z9RdB7UTb5}>UOr- znj|jjS@m6Rg31+EGkC_Vr}Z`8aTF;VMXCX6eCIqh9JoNIq0AZr_aMSwHi~qZCD3D) zd>PK_C{jHU5>NdC!+y9begt1wY0k)$G8R9>Gg=*Yhj!uu<-u2Hyhp;t z(#l}7**=!6pp$XDOV=^C;oBQ!#zw*2p)E~d)E!RVu=>L@dL74Roj55HrTFO-C;K~_ z>*@Es*1Dyi?^I-LR;ju^nZw8s773ma>xhJrA>m;&61G*8A}{FRGN_w@7#V^hVZk$U z9eoNX5{mc~Kb1p5e!DQ7v|47nsfbTOg1rkQCu(&cmS0PAV;zRphzK zm~-f~q(6o*heeBL ztb0cPI$7L zG2$8Xjw7}74J#Iz&?rS>7RSsO0Z+W#TBJzKA}{gajjQv?jSOLt;2GtPNEjIsj%rA_ zH0-G@A%Rt0AD|UTkQu@v!848>=LkBHP=j1wFXR3c3Cq2tsd*XYp6gL$j-a{v`aBO8 zUs!B-Mz&}5x#jUom6=ab!~;L##0KjX%f9wvH|#!3q+h=`-QSyBeG8Sxj#>?X_n@(&L*=6%yGdAc9+cJ;i-bhvwIoR?9s@WEX>igoOh<1y5D-c{mEapjF*4~_;d;sPuq zbuFI(J)A2nE_|ce(SAaOVbd2y?5AZbF3LU2*Q$RwspT-f3nDdNh$5_P3?5BM> zJfI)ZM~4C}iPFci3&kQ(-t*PBI29(Quv)@1h8_0^aiXFIxxTYJmh7mYZbg~BiXwZ2 zP`fB6@WNrx+zK;WSY&v{t|Kx=hKxlQGQhFe&d9Ji778-P;#v5{uk|QJ^tiX?asOL8 zGSJ~JH8L*FlCrrMIb4jzzwnG>$9RQPUlj4T?-ZzLw%gR4;G35xy;38hkiV@}UEd~W z*}@ane)5cEM}OOiha%&$KbhiT-)5`5s_s3weYAw3`Z_4AOkq*s8P$$ng%cGu$o2KN z@5rHos|mL4;I{I&slcn%*TWSKwxGzE^^I@q@rvkGWL`xPWW39TjBVs^n?&B=Z#&q+ zBEvJn9X$)D&M4wp+-^t4w(%@&s2R46n3VtsEF}xgR~dk)4T{O7E)BKbk{d}Nxy$zZ@Ig1?m(-( zt>W8>q57J?ZD$IL3cvXF+}`;b`<>i*sB#6hBc6ngbJ%xajY^h~|TwDtQKuY!0kc z<;CeK(r9FHY%MFS)ceJ*qtvrk%YU`j7v}IGr`Y; z2n_4%ACmgWarX89KY#OUHkJDI_0|CG9_kvDd$kZ+fcVQ+&fUop=u!UW*K#*sZPgVp z=ZD3BUlcm_{OpyEqUWFC7-)C<30OObg6(4ONL5xoVYIAfg_U~GSo4IwYjW)Qv)IA4 z0196#e_E1y(ecCeWw!L+$T|h7=U?C{c&d_*!jW70DBhylCfUzthLwKLm~z~QjJ{1< zpO3R{e5HSi9O-NvO*WdX-icOcwflJgNUu9cRt5>5c0uLk65oexNE2kJ@L>#!kQvX| z@`N5+j{0G1`e70ga?t#m$^LS;Ge|mvgPlQhWq`6%X8HH>jD?Kns&2r5o*xzmeo^DO zz53`-j09vjcpb>Fua)#p!~y;6d2a(1LD}UW{UiKk{r?`8K#x`O^Ki!gU#fCW?$z|L z^6nWAp3oy-(dNnIy@*e|hw$|Wcegrg$G{tCbvrmcqRf3h&YHqsCiAzm1bVEJ=iuBh zR9hMgwdRJEf4|7@e3XCsCT(8vb&%`Z-~Su3d~f4{POH-&z~rC?e9QW9cNKd5OJ4p> z)y{f;Yi?Ni_l*JTc7L>Yvi`qF40t!n|FLASxp8U8K4Kq#S>Hd!66mo?J_zTATIHPF z=Ng0Ngq3;E2=I(<^TaQ*XEI;pi|p^oPRhMU*hp{!i*6>;X>-GH z!g<5u#51luqsI-RKFRdSEHvNt=}0pSYE4k4&E&#K_Sk>1?hiz2+bh2KWB6r5=yMegc1){xIxiZ>_qtEN2K$SUkj-G`>Sc z7l>sgmqFegkog2-Q2E59gCa5MTP%3M=P2{|tXE9hEbF` zn6e>b9Ai?`o^kDIJ+2q`Ny^5giXh{yh>ZI-k`6i%t(64kI}DQES`+@dCnM|YGwjvRD~(}%VYP-|%zHj!gTCWYXpLP?Y?M2uanaaN)P@xsW6>L) zvGF(`%8894^8s&^v4K;eP+ibowY+1qUh@GZeUVl>AG1i2kk1XP8$4s)agFH6L~pqlm0iO^dIW3NTIjV?-c1P{Ytg-K{sP&Q0brYj6O%{ADQ&ONtga@)A#2E z96r4xcEZzo1fCgI`u$?fb9?pqNpT%SHeOm}-RBJ`{dXmU#{AE#O!zyPk?X0@Gu*>OTW!*DQ zJgfKa7vTL5lXZFj+;Pf!&n%m>?9H&z!v)|$4TV2;67gS6)<0n86S9sY-M+H^hE&$I zVAvs8_yc|Z6XoCi`W>`YWehyTQ}9$JFT*kI@g2<|ErRBN8Oj_MEuOLCh!*;`6;y2r zE!Pi6%Mz2R^2P*4gBJNqo&jOx745vU)^$@6D{RlN$ML- zMrXmOCQjsMS`6b0t4Tbg$#JFyLP*7s&?Gg;^TozbII*!kW?EQfUYThzj4v!UJR{9h z`c7kU$GvRCsmN-dYgKI2sUOmS#XexIm)Eko5uP1?nJ->v3G`ScpM|sPhlr}%y$^*Y zEE+r`&+)4a^qnf!me3SM_F;Ox84aaIg6}#Xx#wqMu8&To)|H$e76YE~=V@Id#5voU zMnDZ3R(4Ch)}tL;$qS>G97V2->gkH z6v4%hJ8-cCciG0cP(sytO(JkHj+phNU(9-bQjg$84KR3)E=qghv+aQP1i2hI>yL-@tABNEt4wP}bVNch)gB%pFAwRYG#5*(3V|LXa95Q|}v?)Y^>l<)jr0axot*nhUuv{(_MMsoF*dSj!J<^LWOR<4)a93>4X^`zjR!+jK{JKK@DNU2lT? zl1?AqusHFIGDn<@3@86;C{D_4Gu_6_Ny%4ukf-3OO42VsIAvd1`s~9S7AJm@=(z=b z_pq}bqeyXW5Xwe=6lrIMla0aYa*v_D9;*kx%zxg^66mo?-UsJw^a!eJ3N?%5pprh} z8C#CuZlLeZ<~{6!T;I{6SErJ0`y2t3Rp$7z@4ocd%iEe@acV*O!pU&Xuo&@-Ge?Y! z3?o+#!N^j?2-r-X7~z~@G2$12jusPzh;{U}$ZF~<1V&D`+N&D{A1Eocg>*gZ1SJ1JEElAD?HM?te~_&XreO*HQzG2qm7x9rVqq3j06ZT0e!*25Bws+nJIL2Q#LUe>B&|{T+70##u>W(JJ zgJKwCScG`Spd&))`yIt7(vBerDZ7U}0)#C2B7`x9MTlpFI?mE?BBaPHjcOhtG(w9z z%a?g<)pwRgrZ>`R=N)ESepn26MxWyjt4<6Q@gXV_2ETlQzg_ zhLwK5nDYFzJ}*0Z5nJ;j2uS~t#))QYaJYLU>8!#gs|P#%L9^Z7e+KrS>?6#|j0DfU Rl3Y!&C~Y}ElrIE6{vUG$%clSU diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-shell32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-shell32.a deleted file mode 100644 index 4c28c5eb5430ef3dd74a1c597f2eca034b90adab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136406 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 DvUG_L diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-tdh.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-tdh.a deleted file mode 100644 index 68c9cfcd3ae8792d100412ff2980ad52a169a41c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11894 zcmeHN&2Jk;6n|dltELqdM5Tp7mnbcTfLS}v+CfoesWgDpRzW0E4;7nDc8ync?8x3E zZN(u%RmGu)oH%m;i35K`|0ezb%6l{WG3%YRr;?q@B4f?W`puh}oj1Stv9tT}n%&)P z-YR^lCsS#qWa7^#mv!A>O=79*C8Jd1J+=z~@IJuQEr6MS01BV+d;w{cFMh@IyEgzR zU;2pWE7*_nRishAX7IdF0ib*xX_Rj+@Vs;%VClYP-L|Z)p4;tN8?Ntmt=k>PwT`^D zz3*8_^vs%RwY(k50kzY1cRO9zaym!tmV4;7EZ=EbwuOE6T(GRBYda$w6|7CCxz%oU zZ0DZc_8M-_uUBvqZ*Sj{HzEJ`2X6PtMz?e5Ic|5|b6d`L?MA1&XZv2KT`!CMhqK~% zce7^iZ$RE}TpwrNcf0lJi-WK_p*_^i_~or1NL2KI}!@3UJ&uI;n;}<)j^~kasCBraHQ`gPqQebAb z3wLufXgC1oa{zC%tLa?PcOU!gI=j%p*e*J@Z)dZxmO2g_K92@mM61Ko z6joDsUt(h8alVz1PJDCOeASR|4lmA2_`>$hufHuitrip;Uds)L|GonFDc7(cg@k}E z%7}){_l-+zqI|S09zizwEFM8FwAOr%%47;;$7C{%O#^tCJZRVRIg&^^g`*RX23uH; z+};-$W}E7mt(waz%$g|ki|qEN-ZW;*p%mxwf-rkIzys~646`A>SPOiS4v6jHHSvYl z{q=by%mS69&9h8C7ub~ws+-IiBReLB5NP<#gZ3j%VYq@ffP5xhj(n0Y$uv%))!_G> z(gnsGqMB;bMu1IL@pWSePMDmdAX!n_dsgoLfHAx~4z7wHX+w}w1jIiHEm zED@gS0Z%}}N`Lw4I{iC2iD>|D0ebIbRLPJ;a}n|Y&SB;z>oMM6;F5>o-3c&2)oJ3rEzCOz?~mnt(T36P65fB2^F?@HL_Sr# z7YOeIA9XlxXzoeG|EGB0lw$mEasn$g_ycRg|3DEWAJr6CNBf`~>4&kZq#tH2I4}_O z8RaruE2HQfkb4hpgUGc=0B;-7~?+;E!lPeYh@Q2etm z=S#&uPvv}(AGnJ9t*RT-fo@3NYE861Ap1Zm)`@jaV5J7XVIAm%Wa%k&$mAK9CR7wP zA$1o&3Z)FpvAI>J9Rw1Ie!qCK~&s|CD0vM@|x{8a&66u%BG=(2p<1hWN4) z;;Tj)@y8ew42ysMFXum(aaUCluMy&-k5R%eR(cbS`VVpalw#DcaRMtfc!4#cKD}&( z4~WKweYN+#)s=L_bE1HK@xAJ4#{L=aX;bfg$zxICRdlwKiv6F<`69D+6UR`+eol)0 z{?EH6JNo&8NmbN^hXI8u4gSVbstf&MNInvzR7cJ}uBQXlcgE>=VrRM%M@Bbr?^SgL yzZ?+^W_UUh`V01W$i4-fiVTW^R}H>ncS_JnwZ zz6kHohv7LW^Ud1H=8uBZs1tcSp80my{&r?3kGI3&VefVMg*PqLt!ltOzgF`+UqZI_ zyjrc94d|4Ks7T~IC31fel{RrHwWHLBksgjzTc>)cb_S7FXK_C~i4{BJpc$wnKERcE z2Yr1w7-|&_&iaWy)rm^8NT_(+u_mQ@I*e{~W>Rl;y06pWV4q*GRp&M0;}bROrAX`3 zv@#gew2Yss?*~EPdBMw9V}ACWJ4_MLBZug|SZhut)#s_$%auodrxJx}xEvyp7WtQz zgVE?382tb)#)O;o9LpO=MSd?^WIlu2%KgBtFUK`<+y)yP3vhY-{m0#RZ`!++C`qW& zjT4;(eqRxNb-LkE?#TQ$Png!7nHw;hqrx(b#gDrTV{wD;bsgww$@mjq);RPRjBtXT zcO9@YFZt}i6zDVSl~hd`x!e1X+-)?fbGaKZ?+@e?inpD+wVcU^Y#?`0R}k#$qTH3> zjIwa!T9|>zBXEoS@L^X=qEXc);pd)M|B~4~Ino%;B3VM+wD+xlWIU2vbPL%p?3(Nc zzu6G`J zl6>?z=O`K_GS=Qzc-HxP&hd7Z$GCZ`JNw6HHFl@Yi+!=yrAd#NI{TZ9i5BC=^@I7g z8Pi{k3pgx-bEK7FG8f;x%d01Ny11D5VA=iIWE0jw_7UCX%kYb5+p;;vQto`0AiHNu zPoONDg(0lMqpUud)uh!WrfNXG5AR@V2IC=E-P8c;34(cy=b1bkRiN)|%>MCM{C8v( Gwetsyk(rGE diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-user32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-user32.a deleted file mode 100644 index 7580f0185797922e405fcd542962c69e75d21f7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 504870 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 yE8tQ$BuSd2|xO`P{@oj5PoPjXj8D=lTQ+2snm zR3fKA;08e&6lr0!MNkAi6g?D0f%eotAn2**o{JuO?4gIE=ceB`L(YRU+#Lp{0wNq? z$kluwhn(T>H?MDIcqkM+&_CK0QnObANiC2=Kh7h1CVe0 zllxQu0w6#45AMJ7Hvsad|HA#^p8?39`HcIQJ^ -97HlZ2*v8JJ0=vHv!0BLOJ=@ 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 YssUiofJyfPAGtf$kNKngPwlM#fBte{Y5)KL diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-winmm.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-winmm.a deleted file mode 100644 index 62408c8b488b7caf9d019565587d15553cc6395a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5754 zcmeI0OK;Oa5XZ+(AP^O(D9@XbK;nRclcr9PDil!=LIPBY0ul$@fVYj+JW67qAcQIo zoH+DTAi+oA)FYpSGoJvMne}7+NE@UC6sa3|*Pi`*ot^#7?%Ed?oBijl>&2@^Je3#9 z7XHj~-7rk9Qgg$oRgg(v#)3PkXu;y#wIN#L{<4^;f z(*REJ*&(gui7k)Mhi3+ut0kxDHHS;MrUB+|>Dgegj|{d+=Td_gtARF;Cwcr|YU1{! zZXvLf?#OUmEzlv*Fq5GR>L1^^fA3z&X}8f(T65dNulV&FU|m~lZUhG3uKJ0Z%_Z6< znd&2bm`3qWZkR^#4fQvtQ65je|JW~wuxbwt`-Db5r%|Ym8XW!cF_q!&1+m@cq? zj`7(jT(@}YML8yB1lGLP%kGA>Fj?>)*k|ub_Q}8G(P0FOAA znGRp@WCDxM7*{ZVW#rfyn3$?EfcBmBYtia{S1WLbw~$X6|LNE{f{H6xzw9$ig)zBV zKb)m$WUBbEC(3gnS{-7uejPPVwl0hvYHtxW-E5tO)truF-taZP2@7NQ_a(a8*@Y-c+1E(Fzr&91 zNBD|D#=j)|sq);t2ybQUQiS)jbs^z2YmQ2IE+9PG=rSGCO8I$$8B;`g=svXS@DcNX z@~F$HoqVEd+%G2~@s$yYucznq1L7}+#Gk}b9hG=JAl`pl!&|4C_%qZ2OcC)VY2aLk zZ7c)gl^4|5)UMhm#(H^F)+?#m{b2tRu}<$mqq43s>){87spkAN^Q>}y#kWwQ!+Xq` z^RT;ne0G`K9>yGz@@w*&oMEgMgI)T;j2=<`H#0gg<;ur0=3#nw>SqaPOwo*PN(1LQ Se87@PSGpW$Jy|jCIsFe@ijmR) diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-winspool.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-winspool.a deleted file mode 100644 index 310598efd564dbcec9186486590227c2b1ac3bd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35048 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 MxB0NWn`dPI3udSpJpcdz diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-wtsapi32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-wtsapi32.a deleted file mode 100644 index 03c219687baa96fc9793e783b41edf3e2bae944c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15266 zcmeHO?T-^h7=PO1I5=L^1S1mAf=D#El(yGvOF~HXz=%OSc@ZVXrChhP(Cc2hd)#4& zLE{HB#^77jPZIp#NB;%>ApZvOd1iKJXF9XnJ;GkHv2&T(?aXgxc4nU6JkPw`;ghZ5 za`)8i@q+5g3*{RAmCCh3p~RBpuuv#h7BGd}wOIf-0x&%XF!K+$bI7>K;xlh zEn3!P*B-jolI__;Ytd=j)_QNyTJ2dF*{d~bR=;}6+YTWx23(6?{feQVuw z5k6nBS{7zpvB9#scB}ntiw5h;rHdc+hTdAMzu0XJ26q3$HG6ocS*~Gyy_Hof4xr`z zVAUR+*=Uw4k(nigG55H9+h##khl7FSk7`kpa3EQ$3y3C$(vmOW_7nf0Uq?>FJ>pyLczSPQN+DiCc%d`DYaYxz_ zk#5RKAExwymN!7ixtE5{GRlJ;S@8(Km^Ua`Fh^7^at9F1f4b)`J4m@@&)EOQWN5G7 zbiJY@rpl-}vRo?FYB)RAs#QKk;v9J{w;iWRfP*=J=h)kHuISktI044G0+g;5+bypZ zivnmu>2dM8>yClJJ;L>`~+xZ7SBjMP8W=BXTo zs`LAh_02RU#b8*!(CAO)_NayUzk<>UlZUGqrlZA3e!H8H-+FysliwQlJB=?%j65bR z$`GU|zm=f6ee7!h_WLqH<7$%M053l!oZy3;9=sDScprW4#)ui9keEHg`iDk(CXr-! znT3IHbWBR1<8{{tw|ESbEs%S9i=?0RE|-4lU+UA)$ukK5W{nRF97r}jiID)Gu#g9N z_#0o+v8|r1t>&A7v&0~`R4SDhIE}_>fO@$uF=&Q0`)eFPGMP;b+JUiinEt6R$@EB( zL1MEPXGIIwoZ2A~K3Lk~XPhO{A4<3YZ z#4Xet278$>BwJJ`$s)i`^t`X>xBRB@NY@!4Yf+{lz?W^-TU5(b5EIV+K@95wg%PZ+ z^bMRrl%E_mnls{6_8ZqvBBtrb&?67OU>LU&5C)H-Z}?gwg|$n_glbYIoR}~HN0JM> zu)&^+343)W@U!Oi7Qe)C$+7dgHW0-;C3=!fi87aA7~Tujymh(6hj-75139kZFzZir?sv2dBbr zz?S`lzsx*PcLh|1KrGg)6RD*8T3!Z@kFCP~XyO8rf#-Z-iE%s4S@w1Y@{t6!LLLh8wSPAc^~ zgw*@Tq4KFVlauW3Dv04JB&90#wTaY|Jda4TrVXB@4YZx4KD;J`*Jl17Qm-^w zm3l)`s#2fue7V-pcTs8QWtW#C3FLD(q**tT83_bGjC5B}4gkr613ynmlD(Q*Ok9BMRUIIyb{8rX@bN?{a`Die~P zAXjwDXu^b$2?tS%ldb`BW+r5Q1$>yOj4sp)r+EYm^YA-9X+5AbAzCd6E(l1fY)E=m vT+(f%$vPoq!)ET*0kJ{*SEy|3ghRgEhfFxBFyRNE30kw&{h)~CG#Kz7T}cQz diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-xinput1_4.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecore_downlevel-xinput1_4.a deleted file mode 100644 index 1fae183e39626612147c739777d7c446c713ffae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8344 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 P;#+sc|8K~dPU6gIl87*G^N(JjLsrpUEYyLId! zcGqCoLm!G_PeU;b!?3@muluLg-I0_?>cf_cM1>I%ASoSBqDcPkgFIcj?i@bo-Y9-q z(v!JuTBc<*8e653!J5>vR5FdNI)7rf2mtE<3-e0puC3nl;8h{=L>%W zQ2zKYoL!XS495&cL2&?JmEKn;2iX9B=)SjW%qk+%7Qu^xDSSh?i1(0CZ_!nvD-wlo$(NF z`=)K$hV9t+mVFm&yX!ig6YK}n zr)h3_+%b(Ia%<8vypcciO>fYluiBAc6w#oQT5-Irf%AUl_Hn7`%|T|pg>$z$(I27G zHO{Y(cA9m4QUtGP32?V!xmkN2Q*`yt4UP#HI;6Y_13qh1@0mCF0I| zJMrY^Kvg}f^EM3WCTKKceOPxL$`>YdBShwL7J-oq(Z1%;|S;D#c( zdwt@LKC>tc_1lS1Uo*p~e};pfhWZ}_5~xZO^=+l!NvQ8f^Mz3Vb2Oii`U^O|rr^O# zk)lz59=Ip3c;7qp0HJ1H(f^4Uu|$7eP^iiSZpFb44|~!EQ0ypAddn*%p_)kot`Y}v z^lpUo|8Yvfxv(U(I9^VhBxu|3;Mt03OivQFl1YMrn`xG$C-f^KWSUL5&mqQ;mZnYk zN$GczP3T7Rg>1rMG@ox1-a{xSwF#?261-y*G6?f*4?ZF>#w6{5!3nI)10J<{_P`%< z@C;6GNDuv+8TxT`IJo2Oz;U8~C4l}G_J7LIuN<9nH_1akZ%7aQW6;NKf^5d9iGHS8OWgxJq?KP_b(_Gi)k zXLamjTzI~*KZEWU7@ry>Pwy<$sAu>O<9g*UJ8RAmNDh_-Fa&VNpf>oO?U7qF#$~Nz|tu-!hU#dhv(t&>7Dd zH+|FMTep$NLra?Rt?!k7C&jmRqxnL*{!uiaf5t=q%{2uNA2F5D|2!;!cb>g7*Z$4B zVxaPDXI%~*NA?2mY=5ZoSVt$NccPOllA9r&FCquCAM<)6q!)aow@wez6(`<9dfNVb zvZ$@q*bM3P?C(t(w>pP{kW{DVK?Z3^e&*SKr#(9*sn<6+ft7jq4QpEtS1R@ZEj`Vi zEKY0H!)G;_4b&VNiezyR|o2XDd}`Aq9j~K}AymQl*I#&vu>cu2*Ys zn)ZMy)B^_&{Q?{jS0u!}9{`E(!=dH98IL`w?OhiUS1Ve>M*JX{ z@Togy1R90}XCz_=?tqUxcftlXvzf(Qh64>bFxKa;ceYajyEXRQi0{N}xaQvby7w*T zN8K%)-ye=~pT&SLL-pKs?vB6b?xbtC)N=)$U+_phbaOf$2a||<*Kh^jxT8Bks*Efa{`x=!dqD62KUuJ--{I19v-0 zCG&Bgc!$$4Q4p<0TSJFZfq&+5;m4_U3wDZNnBgW33s6w zx2+#oK`htx zN7L1xnUi3;?u;Ugrnh<#M$;MTpA5>^Afs6QPYNr|vEcmZq>+Lde|{gO`8q@OZ! z%^7|Ou(EWjiJ<_#C}m;5-`J?eL!WH~5CL1cS0C)p~-s+gs&>9^j>@GR?NK=;JLqd;u?LR&OT zT}e`Jp(H{Brx+vlN^6h|qvt8nrX^$E5x+6gP9)t}LX`o(VmT|moEv~v5h16{XqRM0 z%g!+40V-u4GrrR-s!C?;YxB-x#vmV;Va9PjE@8$xzV))qScdF1LfX#avf>hL08`3} zjueQ}fM2j?*==hVfuha|?u#iKwo0<0on^yMXd(01u%}s3m25cF=AFfcC?A($!w>nm zgbgOX?XqlG0_{edy*-OlcTs)C2g3SwR(usps50OWEZNNMYXm8QtCTC7CAqSx-&)RN zsyI4Hxbi$PRbA%_eMnK?hlDjPuJw5TyZsVvXPI|Gy8w)iTB|%b2V;IcLnqe_~8cF{a=fKN;2{Gp1DZHUIAmd0{Vs xt2FwuO7i9W-Y(8Z>1dMwV-misV{cgx1Caf*YSB4T>fWB+wstKk>a2nd{{jh}dJ_Nu diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-com-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-com-l1-1-0.a deleted file mode 100644 index 12c03a985caf27593ed066eedc37874757c95a5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68646 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-com-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-com-l1-1-2.a deleted file mode 100644 index ef3e2831827b24014d5ea46056d46a083473b10e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3490 zcmdT`!EVz)5FIBeDNzv|K!OuSf?E^p(mJVBp-3r}DpjZwg#!n+PVF{U;<&O?wL%>D z01iFy1^ocNp%;FOGBaK~o7!%3F%=VecRc&DiQcqe%JN=1_0ax(7poHJ^|E!#ZTh`pm8BYPl%6^8%AQ+ow%Xs1&%9Dy|I1l z2{d|E#}Xs2Pmi<)WA`8k-4pv*5Xg@RF35z9FGi*?#fq>6&f&Wt#K5(k(!2nE@Rm1n z_dMTyADnhq(V^!b`G_UF$j5Fjem26_Ny4z$~#D{9iuH-j$dU-V?J>zNDR?*pK#V<^2%S_GaAjZkZ zrFlj3Z6IcxkF#)?h0d3*#7Gl%`sLLtdOJU#+VFk@GbNu{Mt+Eu0Qd2U<4f5iLgWSirPNQEt4bxA$qil~eM6i}^nVia9_Pjreg~j=V#~6$P*;H; z*k*4y1s9)^FJN3tnDfS5oNpVQ4ClY$(r@GZp5y^_|B~}x6u&odevpsLa6Zh(rJScT rwkt8HO3CLuK;~Ao@mD2nPZP<{C($~ zxj4_BuXQ(fE=;|o2ZOm_TBct@+pO-pq>^Hj&*I91X zdc8HbRb9ji8?9YCnyt!h$IG$oHFtZ>an~Cyr&l#C|90VA{C#cLX|K7RZf)DS*1mGJ zvw8F42QFSzDk~TD6AIqr(q47G6n~{x6qHY_hZT6T*SnovJgt_D(4Ex+6u5$&$6BJa zLv2Pvxq9VFqv=#*uklMzdb#V=T*s>`+~T-GagBIjwF-WPS`?IbT>M=%)oxWTk)`6Q zS38?q*p9&a41j=No+K8&PY^(XYgy6jNR23T!@0_D1-Ri{uNPiJ(yez^TJDv)1bKYf zWyf8;-0W=Bnk(H-OL_BxMExYNY`N3E?Q~fmi?RKfUpZll-RM-1+eT!U^ngPNKLGy^b(&!q--KQ6c6=abxIvRuWN)A3|F zM$Rus{XX03&7yvvCH;;`YqnXMHD}Gadb0^IM`ZDY|G5XSJ+f81>1TNPYTr>+qoMjp zOzk%`oAEMApN%HTDE&o!FgikMFnE2+`f41D`pB?;A~cMSJQKW$_shRK$!I_gAG$rA zB5d!(VH+W=`X)ZMD@zLzY+LvajIubhp>MZ4n2EX9R(A~VDd61r;%6Qc?45MUla_ws~me6ppKsIB7 zb;cfImxcj^Wc6)R&Ll>%Dc3!G(?K7e%@8`C-dY(edt0d&q-_bRa|vm4-{ob?dZf>$Z_)8ndQNdnwp?W1SlT%zkKQ0<%>kFno44iq^!7!yH*&+$Au zI!PF`40-TGwuCTmE)|%kSH$5O?|0pA%s(2y{Px3zd1V}X zlsq%wd1?R#$$(X!!BP!=z#}mrq4|jun1R_hHk+CeKdhAeFuW;$g&!XwX7=O9x`L}L z`SGq&Z$EzQ#LGqa(T$fA{27Y@#E57zB%!@#{kI*(S2B=!Ix1^gr~t3y7)yI z;eR15{-YjIf&UqS|KkJT|40b`1fM+Hgj3W23=;na&tRzrH0%%AghV^Q3o^ofxxhZX zBCgt#N5K2({z0&R*vG!NHbnJ5EZFy&+<##)x4e+K2!`aOpT`!TEPdFKF)jVMU{e}QMPRD*BvNcumf z>G7KfB`Q8Abmc)RFtygSQktnx#G1Q0nbx51R3E5qoeuUQXD9llX?y+Ji?3 z{d`l4*d0Xx%CkT81T_GIWWXZNV5tUQ;hj?Ro0D`%1kI=<<& z9?_&^LdEK=}%$m2d3RD2al!3FmkQOTGO> zYIEghG?CnlG=9qU;sWvfMJ8$dK@dN#B7XbfLcFqRR6%@}dq$14tHfqh#}^}FspAJ3 z5s!g4^`U&(NPNokh?rIiDM(!}Cd)8agRd~Pqs^8YKcOrmy`Ofycs{z1v{)~eETDOj zw4>osNct8x-%QZ44=6|`T;v%n)!;ik+DT29eCR8Y5i3%z8C%77W9;4D4{t~#R>-f= zb8Qn+eK!_puG}yY&CUq(saJ{%e~3Vzg!w`Ip%IAw*95xv|K1;pHe2fdgtClSkanGT zKFWf^ANp_p5CEU_mfOR`e+kJo6P_a~W03yP3eRAv2H)e+PHcMGe~>clul4^0e*Jnb diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-com-midlproxystub-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-com-midlproxystub-l1-1-0.a deleted file mode 100644 index d919aa0e2c3d6a10b7c8b3bc59a0c091a3c43749..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66298 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 KUzytTs{IGbxxFa> diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-console-ansi-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-console-ansi-l2-1-0.a deleted file mode 100644 index f93dcca1b21ff828cbb36f5c3795337652c4c634..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2744 zcmc&$!EVz)5FIBeDNzv|dg#$eAaTIK4vphV6$*+37Y-cCg#%ls-qfa!6UDCJz=2Qb zouA+n`WO5SWoGP6Hi=DpNjj2u$FtA7_S-i*etPWB&cZjXSLU)gUB`7?`{>9sO`C`G z)-*dk9AGA23$;J|d2&ErvemM~DWj4rPs z`L^%j;?a02%0?hK{~8Rl_CzsT#i(Q3uIrkn>n#}lU_3xl0S*m-$L#GG?M!~p*spF( zuut28pZV1g9_fR9-5#dtEim{=xQHfvcBrtp)zHBA(v9cKaa|QB+-^0lr*JRO*(<@R zanyn}PA$}eMOwgywP2AJthi%2mfa5G7}}#Kmc>JVZvf7Xk$<5AMO^2QmaMO=OE8_k zS`|j)u3m-Fcq1hkQOF9F3I&qb$5kF7gQL4elW$nB6=hh+pD#Vfty4zw=s-Fj%RbddgCOF}HbB zgFonOuQF`D`V_^k#hI4cWSnldRh6F8)iSNg^!z|IQ_&`E>-$fUUA$i6_(`F7>dehm zm3bAQeWYslMOzmZ)n}=yc!&whaq~>0`Hm4YE62Gw%ti|A7nmZ1oq2upobIl!7BTWx z{{V9B(ORTcfQNYH9Miq-={(bN_4PUfdPU}{0)_UOC0Yfa(yDBc!CIYJ${7AedWSs2 i=y@_)J;%YJRDe|ol-ajkz=T-;#* diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-console-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-console-l1-1-0.a deleted file mode 100644 index 86571f89fac62bb63867e734865835574fd57a5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13434 zcmeHOTW{k;6h29M+t7*?muf*=473u0O|ZMIn@SZ*6(K+>yA>?zYK7KK8<&K-NtL+E zJ|NTwgm^+L9(m#?@DuhA@P~L{IcH|^L>Y`MT$Jd(NKgyIrT& zX}He!t#{r#$C2X7N!H%Q$X@`S8oPjInB$a}7PqTX4& z3vW5T?o-#leSUiAcJCbX2S0h}w*8)#(nvOBP|x2v_fZP9y=pkl@pYQoKY~%Zro^`@ zsXLz6Ia2SS`yQY|qjTKy%bn0DBv}Kr54LR^hP}BJT7%u(92x`wGY9aZxSP$DefNFp5)sI=)|{>%(ofv zt>DdK3|~->_N8>%E1`WUk$u5J*q4%Lm8_CkZg?Krvg4NLst5jg3h-_2xPB546rIbD zx+@IyNo-tp`6M1Dw?YyRlNrgOkfX9cDY*)H&0^IM9w942L?QQHe&A<1ilZ^DE;Eb%xgm_rw?6 z4_+6MFb`Cc_RkCXEQz}`NN);1Q6#(=PoA#Qug4f2>$C(sM%))@qkagT0M{@}`O4^9~dIzaf^gJc%UFrxeaPRrTFB?K9&P{>{qiTVA@Z%X$j8ZpNC(B;oU}wgAY4Y- z{JRoT0$Eww{0FSxVK%=R&lj=z-FUvx=D&p6Q&l{qNixOT{1-sa;c2c&yksw*YrEh7 z$$BOpL(dTXW=iz0tw+#*fulVN{r4DZvPAzO>vtIXy?DL|`X9#gh3LP5=uM0MB11o0 zqMB$8c#~8Zla740B|(&V_yezwMmqcKI7Jw&&Q2f9t(5v;$~9)g(B5D=16T?5VVoJj zHDJr0`;+YnUR9{qdT>)w=#mGT`Z)Y^*_wEioFVQjDRFN_{lGK|(zvG;m$ZIhf#Y88 zG)%M)c%2}QNn<}W2T0As?^tr|r`%l0a29NCPPKqWPzF26v*1y4fpN58KB5JaJrn*< zTEMsUm>b|*ei`}#JEay(V<1wNL2U_*-Z(MP9M^)Ks}%$Br630W%vXZUjg+{b#y~@H zKaTaEg~%y}=RXFDd@?&Ol2DhS^?#Uf^6)2?&d|@-D@3E&GSri_ zd&O2%Pc9HUqx9seteh_6_@~vA0_n-XsWgeA$=y3hHD8E+wmuM-P?w=5q~1H8?w}D` zrQ--^*P+K4X9q3MG~vqZplPI!I$)aRno-LAV|y#=2c|m)dgXMS*>aAdzqU8ovt^ns zQPQiXA4q~I^ML<8AmStC_J$pp&Jy)0_l>8hmxGyP^T$Cw06+VF1yIjFSI0XM>g7i| F{{rlZuOI*b diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-console-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-console-l2-1-0.a deleted file mode 100644 index f05df95b4d1ce9ec10fef35e001d4afd5f3ce2e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34518 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 BmA(J~ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-console-l3-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-console-l3-1-0.a deleted file mode 100644 index 0fdb740c974d69e27fc6662ca2c8425d8795e5f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2734 zcmc&$&2HL25FP_5DN5BIddQ`ctERWwHG~){p$LgXFFE8=sp@58V5zMbj98~Xw>(0g zpz5RK1^P-&XU1z-0xs;$txcv^dFFOT|3-N&Ej`L^xxl4)(b z(Q4}pE@}W!0kA&dbP7=YL5C1MAwDQMQ{r5vawdAoP>Qe7B$!45gOT6%MI80%(9vWf z2gyuc1yezwu_Cyj5SocfVkzQdQ5T*F1nx7IAVesG;Z`$&crVjlmi~N}45U(LkxIL5 zOdgG=qHr08--BuDCUato7$uHRfE_k{#@lVB!yr6P>MTe%2h za7H|oEwal)^U8ef;nH6)%oQo3Y`t3EM4#om6Q%?a+MU#2jWizqhsN99@ruTMd=Ag} ze^ee?;|)zGJV%E#eyBA<&v~83bG$hlxOvT(>$y+3+`m5`V4w7oozrA*uZPUv`SkRf zn5=K)g+;Gf>LG2!#OrbM`l9_hi21S}=i@SuL$qCu(IK4d+q>6vc5}0ck+-(QXJnM&R!T5dudGm>#FW!ph^Url%+vYzP zv$gF`yQ44IX%Z1v>nBm;2hl=X)f*im)LXu)OI@O+t`M6-yp6+gEZ&4kI2N0uUMN0A z2f<+^*cka;UksvMRBas{gzrb=@F+MG01acn1x%tBBw-Q_Lox7#CtMK-9%vYn5dARd zo$pj6UWLgPPyTW=9tO$wdb`8(M#Do<Ul_Pc7$ZF{Hr+PcQeOypWbx8>2C)k?z8i99ZEY;t#6yi7qkM0(cA zJ!$R6@fk4s3S5K%mzi6tG`MTXpu7CK;| z!*?TD=nOo^bKF*MFre06Gzj$tzfOrhSbM>KYS4BweweO4H78(Z>}q8gBX0FFj1e=$ zp>Cng7adm_uQ_)80V87tM$|1tYqq4L15=}q+*YG}aJ>Hy9Phd-llNH4ai7=Wj(nuX zMRT0rrK;TH4jg}=If8XA;<$$AIs-S+Ob(z=fGe`Yw#ao}wow1PjL%JZ^fyfJ%eOMa zxk%Q~UeZ50*jEL9Uzo+%Hh|OSy2G--^)dUmG}F=9=a)q$Z+)y^ zhbMby%u89e$z_o)WBSFoiNY}68e_)AINlYha+kYxjY)0%#3!eZaCUs0*}%};K4Kd_ za1L{UqeR!asu<(kJTl{q>FTq&h0F{rGYM(V%P3(MzRJj|TDeAU$tguXBkn;d3)iDy zcBPd2@|+0cD2uBt=xX$h+oIi6={Bp1eP5=4_LTy#PKvz6`?CM7fLdMw8<_ucDPU@o zpM8O7M+IL#nF72k1yrp73kt|S?Ji9YFdjMo`8?yOQ~~al0;*O3pF diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-1.a deleted file mode 100644 index ad82476af6023a835c22a69587558ab282e7f808..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3542 zcmeHJO>fgc5FIBeDOM4v;?Sd!%8dj&Bu*+-C{p>jaNtm`Y}{l+Ozk9!U6BI^jvRaA z@AMad)E`8dnYEKmVz(fXR6?xf-SzDAj{Ww{&OSQyCf&hv^QpC1oQC5%u6@uvuq>O0 z^xCqX)#}L$9TNcV02p5ZN&!ImySmLw0P|9aBO%^JauSKRGL{o@H0nw5$sc-SU!c)< zTdoNF6S@=YXehg*i9GYhfCSuIpNs+fwUcSsn9@ zf%Ids4S@UH+cK)LoW|VGuPm@TRixC*hww-n?2GD26x{%WFNE`H!u@)REn%mG-=!Cx zPvIJ=op9UvxMqsm$Iea$E*(e3RKlo&im8xdD)=?5m`dPO@T&HL0IGdIkjV=_uK+$6 zeeX0iBzB!Ya#vjPNidzeLLNrrt(b?=I3pg42Gxrt;g$K?!l7$0%oQo3Xb@YgC7qox z1^9^dW}=idKKKKTx9rAjk4ZJ|;yOIwUnzt+W6tA}$ZWc58 zc-kji+Fx#W&`<`dDf-LI&pqz_j?xFbgCZOYs|Nb<;B0uREUY!Sg=k=QRWuO4#Ob`~ zyNvqgmH1$As&r~8LIHfPRaJl=*x5|(SZ{7h(x6EZ7TH)F6=pYOk*4El5msheKBI~$ zrIV)hbtlU<-cNA+I8iz^*7~x@Y}cpttE02`nqQb_n}saWLd+l=H;XWu?+`JQY@Cb3 zTz0W;Cz!;9jdgMLn4Zqh=Qce5z|#2u2T60}i!=&w7jMNeJ?lN4XL46u%`Kp3V9q3v zXr5UjFZh<0Rg=ioa?3)b@ITTwsK}!CsgQRSDSP}3K=UZeY{O&AH>@)cKKVzYO`Ou^ pF<}3X0a`*O-|Umw-;M#G7|_qQtdxI02J~NU*RDJ0ZzS88zW@xtRz&~+ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-2.a deleted file mode 100644 index d80882ca3ca93b9e491f0cf910dfe696758d9543..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2736 zcmc&$&2G~`5FRHfDNzv|D#U?RbY%QAJoiHW%j^ldjk2T)EyT)5C zeookC8V~Rsp72kq+_%Pk&FnThr157;BXrKoG_LXHY~ZFfW3FqTaN55kWnO~XwofqnZ!CL7wQ-uOV zJmy0Q{-U#+_b`IzXQblSdI&Dne8c#ZG}-Gob1c1mvnb= zF^iG6r1N8xbVvC}rvMM}%6X=H(=)lIl;y?#0%jNHZURd8%oJt8r;N_3s@Lc*bJfDX pline(E_$Afvgg(EobLf>pFHwLMQAF)ZybyM(%k%qXDwA%`wtP_*iHZd diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-0.a deleted file mode 100644 index 120d9c297de40578be47ca6c3384046a46c0212e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5164 zcmeHLOK;Oa5FRHjEu}n)5CTrFR5&0KoRT^%s!&R~AXTCgpdt=zoyK{nX48I! z9D73ioL;%`OZW|xnc20ysh!7xq^e+}U9V?9@7S~7=UHcd)$w*3FJ_*a-KDTpu<>VE zOQvb@klvbRaj~c_*q#9Zti~^ZiJt(|k7d2K2tf75b6MwB0p?bPSQp~G?|Q!2bOYBD z>-$w#d~UX#gQh@Z(_Xekt68C{tov&VeA%o=5je}9 z3qmwpr#eDEAl`I>gHG^@yuS^+X1l&sE~4M&-ht>bmbhZA&lNoO+UNP}uD9vAzS|DU zR_G#ih|w=S*V&DMT{fuh9`00v{C>FBz1A34-L`Ghv`eLEjW>)dxXb{S0dSLhlSV#p zj{@%ZZcMPY^HnEsdP8`m4AyDB;`;+&a7?%+O}J1Du@l&t!28k*&nIz9p`CEky>X=w zw}7456kIrtEX?isIb>muSeUC44|1(Su8_0x)mDpe`C7B(stbOf0o09}vl|+eU5_8R z%bxQ|FgtCqRu`*<|1ccE*s9MwsnXR+ZZFEiBJiV1u$psembj%l6EMF~tEnM*h-vf!M6C zI9aB#KEd%1isN)JN0&XKw>_;~5uH^uzYu4cuI#alm{vM2(iY9PikQQ6oQ=a=?qXY3 z7-hnPd3yGc&Q4BZ8*wwSf7qgNVjTG+h5}s0D&tJ&dQXovxy&Z>3h3FFvj`~0bEL=% zUZrJJrCTkpbm@ejlkP$4imsR=6T;UCn&z|V&<>Yy;B4&)c4X~y~B3zBD0K6oby#ylHmKKP{h z?UxT4>9|Bb@X~S7OON&-WrZP5%aWcC3`l$eUTO{8S5F(~f+&1Al7Vm7io_$w-?`~S zqy8Hp&IHy_3b0oe6FZ_KT=78)*wmOaP6d3_{Pt5oH60f%VYnk|r{f|8+`v^HRsjI< ke;Y)e%e)i1O%H%2X8$8;;5Gwa@hIZQjcI?*Hfp~A0VAqfegFUf diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-1.a deleted file mode 100644 index 5830e4014b5291f2d7a65f3c7fac08de5918544c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6102 zcmeHL&5zqe6n}Ac+3ixGm8z-~3At#wkQ&zc0lP-o%}H0*#*2b;QU!q8eNMiR}4-JawmnK;w|$f=r?> zk4}%p$QJZ-1>R*WL5QJr`%Cl#;v3hC?)t%Jum&znbKI0pug28Y8=bzh-|lB3yIejbwbmzb^oeYXkQrF~oK~e&nwHl23x^u`|jrTHNYo z7%gTLhkA|L*%HT<Mi1*^&yF?{$64Damj<{0ka zQ@F&lSbNh9#}!+ZE7%dkuf+_Zr(DGF7(UZ!xKuGSfcS)PMRu}b3V{u7N&6cdpLh6Z z5uOiu$wxRA<_rv?;pyZ=S(s_?2DHG@Ra&6Ys>XnS z@L&bWZi$&R&e*K2(8AJI0-KjTI=0%CnC9Wuz1ju`(;4xbzVw3V2wIOBHY(=eMW=>X6@M)BYT9ajuo{Ax!{Fri44n zz^wtlV=s!QUiFfZzPc>?H7nIbYe7xe_+s&rCLSSA=4s+vjZ3T4#F6H=N)w}ETuu{b z#kf=xSMhl-stKb&6GR(YW6x`5pf!O?riU~%Xf@zhYzy>Ir3D^anGWnlb&$^u|Lb5o zeb}#}gBs*NnGlE0vkpF>31G=|&{YO*4fqZF*ZPdKx?PgBpc2~o_k_o|O3up&huTWI z%8YPd^IMe>qGDVwBm7*9OO-%7ghev~K=~IyBF=eM#78s%ESVziDg(C${E59NpMLiB KcMfLRnc_de{Sf^C diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-2.a deleted file mode 100644 index 3c79b22c6dc9ce96d5ee55a367645fffa83c5255..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2714 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 Ef9BI}NB{r; diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-enclave-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-enclave-l1-1-1.a deleted file mode 100644 index cbf774dac5feaf3c78c9e5d2b2354c1487753efa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5978 zcmeHL%}(1u5S}DZXi8}-QHfqESEZMVqz(ipNT>>;JyhbrfeNXIE(R|o!bwmPehxkK z2`WxiABPv{E0xa7uANP6leB7rP+7~~_3US_J^sF(S-)6wTl>|w**8{iDXbJ6+-!T< zvTW`$kCs&|74-$XSpb*;NIwUdOan~ssr`WmK>KV}?N59F+UL+V=LxYP#K*R5wZ)d~ z$d=e>dQzO#8t!pTpt0tZ9pTsZXxG+eL+&?Q^29wB1gf_QF32QgW8ZgArSJ=aHdo+% z>Jo&gO4l3dNFcUltB%8UTVaU9EXN~<9&HdFVI7yxz(;1Rbb zQ~8cO?{GW$V1d1x_uP(~4B?&%*q8aec6$H}z7noRH(V$N*a>V*;B%RU@27Apft_&E z$+%L0TfoLl3@+$LzUJ!f9P%|se9cKkm7HJ5;g!4W8$VczNFm=bJ!q`&ufm*caGzDfH!Lc7iz}r z588wa+Wj?#1el`0!0Ml3|2$;dFifxV1g`GMtbv10^`vp6EX*~y0X499l^V#u;LPyh^(VM)VJY>y>$jWjaq7|i-=+gOT9WP@Tzsh~0q%OZVEv0uI* zhbhe4*l_|33{3S~!n04itvefE~?*&XG8SGNCO+F6P)cGoeq$xYuPu zUOXw&gLMiC^1#+wT|5U$eHw#(}ULNZ-Pzoq|Ubm9` zBWRqww}<1svs#YiKX<%e2zft?-*;Hv0~r7Gm>sk#xSiQQt$e6-dH-4&_?U)oSPSEI MD~Ufg$FaKp4O_$94FCWD diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-0.a deleted file mode 100644 index 9eaefd33373a74fa4e31637b28edf72a0035b575..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7746 zcmeHMO>fgc5S=6~g{laIia-J(^K}4`V7G}05<(G$f>4nV9~Xq!n#OGmi4(;}6oe25 z4jg+x95{32#4q4)@MkD9yY_k=JC2dSsG_UxdOiE%^^V`$8M`O1Si`l>)!B<$yci9` zG)(<+Q`a>7!=kpDX6nu02dlFHa1fyU1z`FUz`nAmbEg2P9#|3e&@BL}hp&rz^fmz1 zW6M+-TVm{?XAeDg*Y@opTk5xM_R?{!fy2<~m`#&)ou^a-Yu~lk`a}DLHDCnlc?4%< zV)k&@A9gIa-F4gz)-{;HbY?NUTF(Z?I=0m=U_M|EU49dG`^M&)J@B2ryXpjcyY`Kz_VTOxH8Mvv= ztB1f*E1pL)s3_G6ZR=Ifuk|HG$8popb<;GFo0k_QH&;q~ke&d|60(r@rb{*7-t>8Y ze4~NBT5DUrH6Fr8TA+WgJ@vc^FnC8ehc0-g9%84kGllo17JfZ}YlL>f?H!N16yh#m zXD$U7j-yJdJ+F!?sgg>nwyKh9*Qgp*z1Hq_313@xx_0oxpW6T%rFH9hXb9}8A8Fdk z$lL@|eTW-FI!5tdWgJHF9r>eDqBdRv|8l=g<4^{M`;3@TDV>X7BsdGNPM9+Eu`O_i znkB|}euME%qmf{|iBAK!Wh_(wn(+(#Hn5rJcZ2(Wz!ZAgX^ao?>QTW-1*zjR#X&k^^W zPzeWze5WJn6u{-JXv**dI|T;L0-|$}4REb_Iu=t1Zc=o)R2P|$rmfDdlxDbt-XotW z4NBA6UbJ4o@y7w@>7f0+=pv&5J;^#wwyw+zQ51?r7mAL9bez;0UGEBFUZ>+s9OmUX zwygjYnDC%|-#$xcTU(KhR5UKZ5iF!RiM5zfVimrobG4UHTr%c>8licFfj|Y^TQo~0 zv_#P(v~Ul^w8Pg*_aL-Jzo$Zr7TVG16btPM!g7tDi>3@;v6GqlO->FAOJXS&aeXv$ z>Z6g=#|L!HBz>$Zyed*3&y;zy^x>!D68dM^EegBCvZ`Quw zNyjDj{b4#z?)!&OKY924GQ>YVlJ<6TR&<0GfF;`dbz$Ib89w8Y#h0A@A-4GU1S6*k zcC#P;OobR^q>w83o$RLs>X-GMt$fgc5S=(JEd>NZAaO$GQ$ivkDTxVEg^DT=hYBGCoDf^L-ZqBBF0l(eAcQzn z95`^`$d5oA5J&z7e}f|jU}n~KHjbSHB#bI`t^M%q^R9RNo@eb-3wCdA2p8=+p%rw!qQ45`<_=+bLi^5O-w|;{7b!L3o31X|aK`yWLHZ*>hKR{b%xlT%&88 z8{2DgGjx6L7Og`LTssaoIMR~ug|4?H#|)GKyY4u-x6_K3G6tk|r)S6-Vi*I?Q`--# zenQDSE)qK}B*s(mtdkK&ynT3dOHV$Us;(k;~r5jXGB^6RhWk4mB zPQ8Lh)#-EyUtM=QGP>~RFMy5Gy8R?JM0VYeG;KLGH^Fot8hIGaf8{)k<~#C7xkTk) ziu}udo5rpY81@-4qg=W$I7oCBk4_i^d@KumL(LK6+ke3LR=qjIcnhD#5nj#I|7QGr zh$-~6vlt)a^;*Lv3ex-IHsRuSy2h{sGZdWoT`NoO=s{XpP2OKuj+iXJI!d;^1P0iA-3TUw@sWvv=?MHuM&xcSwqT zG#9ZIU_WN%V>;Jcx}Ryf@^GvHJu-7-fr$O=C7K1V(xPpoVJ+4SXolBF_n`6v#*1<=!$VVa3XF{Riq9) zZQfBj*v`fc>ELxXF44hhT;HTRD5DNW?dfqSX4r1k#d%r)roJw2D+8AXe8C!ZG0Fw{ zr_)$mQ6G4TX67f5e{mJ(?H zVbZ^ra2(pd?AGXV2Jf9xUoE$kflC8EVJ${1e=+MnRN6-jDqJbG36;`l?Zp**$|}4h sf7<>^DWEGQ^|~ZN?PjIWo|IBwDL0jYO9MV)tt%z9{7j)_VT#hpZvwP#YybcN diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-2.a deleted file mode 100644 index c6a8116330a8ab0b58f62e5c15ca88cbef790f35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2790 zcmc&$&2G~`5FRHfDNzv|dO%z-5*(1~V5g0nNEM1y(Gv%R#I4fCtvAh5$Bt}QRGc{Q z0DTUgqDNkVm!Zsz*UhH+>xFbA?~Z3b@7SNe@%Yt2ke&|TH{RLP=CwWF^WAQD*S1|= zGDq8Pb@%iI{RRNk0IaV#9Rt*V(;>v65MMHxX5y2~WhxGnP>OFV4#rAgQ28BSMCybN z9Zh0+nxyg~7z+Z8GJ*>V37MuzIt=14Qt_FHJmHC!2n6mnk|4xT2H_g=f%qJ#OdbU) zItsGCb6wx}ZQCd6+4_x-)*~btpko0% zWpBf3=JGOUfAL_0+i!+J9xR6NN)O!Y=1G>VfWZ&KDcbP$UWvt54>i0m(|ErE*Dm9P z+gyy>FL68QY|X)y>!=N9lsTvkhqU2LX~T&;$8%cEFp3D@9H>a@3;*5#oLPh5ybS2L z$s?t$-pNfclf%j)jKN=Z5ys$-_^4VmPMhYJdE3CHB^c(6lu@m%H0W5fdt1j z)@6egKfJ%=5c60J75IbB8r#JhdXnyeMXhBn85i8D?y|qzF>0;O1pP!kQ!^)Zn+l-F zCLTMueylZ5ll}j?%WXHHH@Sz&21Z_(bfKy4LfvsZA9q`8wBG?@zR$<`xXktf$DYRM z5Ki{>%^Nzqx|+nuoBv-xE2KioNvZ{Sj7PyWotvJ?H>Iu4_8c%fGHMto{rE|fnPW-`QusnOSHa9{0GG~?OXr= diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-3.a deleted file mode 100644 index 87b7de3e4f2a4fa50817d712e90bc21de20986da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6158 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 T3;w`T6hC@}-@7&bRcQSO<=}|v diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-featurestaging-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-featurestaging-l1-1-1.a deleted file mode 100644 index 59142101fd95074312e6c29b607a76e544d552fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2768 zcmc&$&2G~`5FRHfDNzv|dO)0v1Q*m8J8B(Qs!*g#aN)qAaAdnlHnG+G$#w(>4m?6% zfj6mm4c>(^GhQd_#%_Bd-N?J+*>86?pTF_=<%x_3;k(vbyV$%V&-Z-yI0$UpC)c$ zObzC-TFQkW&@>^qAeR^^nJ#0Mq;ee1#$w_L`bmM?O%(_cDmmOnKoB2P`aV0%7a2!# zmi9a!4-ickqI?d9a-jODGtU{WV%BqA-$zpY7$f1GfG8^xg;f``Y;dZNW-5hs-#$E|7 zpGQr!r%4+%(I!o_i<)Rpyf*%v;bejfoKZAUdg0$|fUz}_7r8_GO&%$1{YGqpnH<)t zFb041DvZG$@lm&^FE-6D^R|Oiw_unvQbyf+Q`|(~<+~H61`F)BnUAda@cxPqyzYkL zeS8|v_}?@hTJarCD(s^{ihr(^LQlI)@j2cc4csb&%=z3VTyEbS_t4P<>giq3WPYBo zbsxQl{H{beHr5V|(r`Ju$ULk#cz~Q>cC(xyeu>j{Gv7JcnK!b8!MWaPq&x+fbDwoJ z_=CnatHd^HkuH8M&bGv*#wmAKed%^QBioux(GOHKm2uLysR8or;&p)YXIk|%*#ED- ztm*+h%R>zI)rbr0I#j4HR3F1~+$!5>zZ1m7F)A!?IUaB zdw}&vu}H4~kMYVlrhC&ed8Tmn&1wT?ZRXknTK~)vMZr}@z13N4RGUK9@PDK;WLZY* hsZsPSYhLg@0PT}`RLLP%AuFVAr3J(35t!1da6|Q z)C&*LC+UeZeTzOoAE1ZQnf-Cri32$_K~$`?Kc4x#YtMc&v-Z;sueaZNReEWri?iyu zj%%;4S4`99D!nz$l{HlGvR48Ctj2eM!Z(28Z&6FXP>gl{r>F}T01Fq4Z8G*Q@_P~6 z@ngToHoFahL7l3Uc02xlx96XD$BaPjh~SJwtQpj4rqE#yvzfg7r`Dn%{$Np)|$D++H)Nx&p&(MU2QBi|I+^m71L}IcQ-!4L{}#Z;j9Js_hIh+{Im3 z;BQg5X@)OLW5Qz`5W}BHhR`l&F7bl!?42S0Ey zjqEbX+$ED_iF;RMV_D%Yc5VJxU)8*;$W3yJ45su?eAf4zB(qpwpngZPoH}!I`6G$< zw09L;?7g-w^z%$Ae^e3E$i^k!Me}VSrjw0xQO(N(Y-YE5T>XUU|M%%jCeQT0VN5O@ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l1-1-1.a deleted file mode 100644 index 5be5cdc08864c7caedcd2f400620f5eb3874eb16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2696 zcmc&$O>fgc5FIBeDNzxqLWrY5<$ z)I0x)GH<<3)=f;|kaR82j%S~D>^CzWKRfc{v+z~prCA(q%k^B(IXrBcrX!bhX_`&1 zscz^sh^R(nyyIz~sQv?|5XVA%NP;*K?}Idm#qo3yh|kf)pGAU=k=OCWDC*->*6AcT zo5sO~KNA3r6Tk&bVi@(Y)5sM#e8Jm{0}>(({J}aMk$9V&hB142{RWTFb=YY%o{42U z4U(_3)Sk|XEMw4h9MAJi(`$F;44xSGm_#DSAbKdZEyGTOFR9eag-K4&9{8zW4v{Ne za<1%tlH3BL@4!XaaPJ_;a%ic>&!rE!UxsVtcHp+laqS$p$I8wMT)xh+x5kOZv9}O= zD~r7~axFgW!Dz%ldl-!Zb;Iv#qEE)qKhF)yuJZ?X)f+wm)48jZVKm;VWf+Y!@K7}% zi$n1$`P$;8zhER+$cU=(yts+F%6A8*LLtjd)EhE9{ErOpIPOx0dmM#F@-1q2o#9PI zCOu{a8U9pd2%@|y!*jeoYq)vE=-O1^Ohqa7ok^_au5&F4O^pQtCA=3 anh5)37F$^`Rp=+naRRE|iy`jojm9cle-Syd~9oSt~ zZP#sf;I^!e%TVZ=Ws`YsjjEKkTlP-7YwuYdMxdroa7H55aBH-ZS73Q&FpJ?bO&b_< zY^y#=MZn%3xWSII)qY8LP${BLx7lHX;up4ukJ*Rn6IQ#n6=L#*aH)Q2wcXmcyTO)& z==y--q**EFH?Y+f7gvl(hgh?J7V3WIOOR_vSC9<=Mhf5t zAI+w6fqfY8adM-Bv7M`1ft3v5GZipSay8!{0fQsLxwPO)F~rW`U1UCzS>kK9!TFl?3fX+t$kja$fw_k3+46#4rvRT*4Qn?P zNV#f1QkU-2NifxRS`tRFTRI7&*o^FuPEp%iq+Pka$oJ2{a9a^0(y0f%i^zZB>V(n2 z!FC#F1TozC1BRE4`~bsE+=ZL`DQ3=_;RR_-Si%7@d|5Jtc6k`XL%iB6xX5GF`EX3Q zaNOTxK!7<43*7hTxP7j3**H9R`1vi?1Dz%wt`}`Ax}k>h#IQkLbLoy(^-!kBVN1<4jNdC?lpm92a>Pt+#=g)^MDO)4b3r zQ;`@c!cIRqeMtX~k7F5H3wm-B&Nb3Q+yuCaRoIvQt0UFMq$)iaQ9zBmJbr-WI=2vM z!K;*5Dm_+-C_Ns+pO5ZAcobbvg|rI~xx@d9{8C6(rGz>SzGFL>b0wr=lg|oc-aj3e z_iLBD$2}C(j`FpL_lr0;F7MNzq}7}q&*_qXxBsgVB&-aq31MWex295Cf^;}?*A z;l$sBV$K)F<$URq^SFQig7X?EZ;7}japj_No-!*cG3Or(0dF<hvTA?ei?Un+><^9!@hQ0 zZ1&%kT#woROiHNJ;0Lz&t?X|;0Zr2zj7x8z{Ssu4@|lTx1BBkt^A+#^@rItq9{Fi= I3UAn%-$mftJpcdz diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l2-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l2-1-1.a deleted file mode 100644 index 33455c4920cca9524a929e15d9c1521e4e56f065..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3548 zcmdT{!EVz)5FIBeDNzv|5JDV~LFI;x9a<-qswz?hCk{Q73qsmD^#)r_;wW~ZaN@v` zL-_>$q^DlsnSYAml<+kEaZN$NJqfB6Yi({ zHTi#a+-W-KG#ZZa?dI&=c=VA^(!CHzg1uNxX-{XAjYIG`_Is%vtGy`O1J`jp&ofQ0 zHQR$X25te0V*uP0+KOSP{5TbQd1HdJZwG$rmqWxz2b@#8mn2uf;49%GT5x?sVQZ+= z@VRsm>t(o2WhdNfIj*H}>!_?1;M6#>#u_FTvc@9TSQ%@qLDO&vS*&l4gpp?r=Ic?GhMV zyP|%81%6;#aPTQR z5H0?6rZL~S9`l=9T3yNZ;~NIxD(1hJY@lwL%{+btDE= qDaFhOC_eGhBx2A1ngx<hFp!M_Q<>z)x)PznOnL>@T6_H2wmtJz59= diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-ansi-l1-1-0.a deleted file mode 100644 index d5c537fa5019f1e6fe44263f7da6b197bbf1f386..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9598 zcmeHNO>g5w7=DxVW2uTjuv+Z`(i&7GKqT1N)XkwnsWvK?WmUvdtq|I&n>dYG$Ejkc z6vSbLIC9t{;=qv~fjIOp@Mk!(yzh)ZCh<6N4)rQ1Q_Xlh^LWPd`hDh^ne^R#Yt-p~ zy7h@R8H`=S#6MlHYnslhHXZ}K@|TF)R{#`W`$xn#*8nKq z+86Q8F#yGPz83NB699_uT~cK1K4V|`_Q+>Pc3_X#{bAQ;-#MOj?l3HL%%;g)=agbt zI`r($aAc3Ib4H+nPjE&>tmn8kvpnBnuE7kZGmBwM0~;9Y+gA6Q`vUgG*dBe~9{O$j z!s*xtEu)S-JA-qktoh6ij)(4eU>{jQ{~^Ane>fb861v03&FJx5&=g31fsD$yn0k!6 z|9m+1f}^411s!!xI2x$Tj2VSgEn9Pi9OXf>s=WC0Exulvxx49z0 zNXwJ02c-=p8bG6jeB!zFQY}EE@O*Znfqqi!T7i`f;WaJLuWF~hKL-ZS2t`fhi#P6zWRE?@$>$)ys zYg7?F^zRFRvr^A`8Wn`)vJI)r%2dAulkHc|!brBOWML$`ku54EN+&~TTW+&;teS!0 z_9CySl-{3gB)p4SCrlZhVp`C=y2U-cpWoA)`d-S@P5ctC^O3B*Y)`L;1|^~6o_;&@ z68h3APml2ORl>#0k?W&8;iCNXbsGydfl`_SHo1LX<+(h*-uFoKMBsh{y`Vq#$T2W* zZ-bY>2X0-#2eL2OGzs!tBi=d15Dt!fovy@DfNyy!k}~{_nS$j0n%5KI+C^~8*D*9X z(dMbio`H)w9!O0#xnX`pKc)p7dA0oIspJO6kFowy=<9URu1`(k*`K~3soWE(Ur1DE zLQR^8>8o)u$Edx1#EjH96RUZ61JhQB35)QeUA^Fw>+|PH8QErPO^21_b<`JmDXxJr z3LDeCoRjTL-Br^10FR0kZ#imH+?% diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-ansi-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-ansi-l2-1-0.a deleted file mode 100644 index fd16532c4c97ed4b79b16d020c7b109a9c666a13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6058 zcmeHL-EPw`6h2KiHpcjq2ATvy0fB_jTGG;W6`H0_1FnWNfe?rrFKx3mENx1XjqPq% zTu+E=#KoR~C)g|SLX2~4Cv}%(%P!Vw(p<%Mk3ZY-$@lpr@!WOK@_p=J zgdNh`mpsc1toJ*ehU?hPWxKnvSTB{serc`3{>t{OX5e}|ueal!VvS2~Z-*8_;QmsM zSfTZ`vmF%Oh&E|_AqG{EL)F@>B-rZ2a_$OJ2B4AyxXEjyxnf{#2fUu1>0qoDTV`OU zLwHLajDups_fLSqF5zq%@Np%?j$ma3?@LX5Jb{}H?Svao$IXSfr&yUxz=iF|Z!pQ~jr<%3E3miufJn~uS7e-SJ4xhI2z$baGJgwbFF^C9gZ6U6lPDVSa}=3-2* z;*+?=S2A+mOfO4^!W34B>C=)W^rVxR9^%zf!9~hZ+rv8H!urt?Lk5gd;NW|}828V0 zZp*^;Hs9XGn4CAT7PL3JL<~%vZEy~H;NBH_Apeq2`$^qv#68Cp!oeZesU(d8eBrss zH28~^AqBQGj+`<|bB*~1riu{SNzr7^C@UHps07x z7fqtwpPnE^xzEbH(2qI;(WHi$Rx&Qq7>zfNm~Jwzip@OHUQ?GCX~IH3IOLn_-d^8^ z-U9XXA{a;W5JLg3;wAh`|J9o6W11=-k1e1^VIE09GM;;gX2D)cWR<#AV#|O|`1KQND<%2Ez%LpeH9bm7c@k&*f3T8#O-=zx=$|4Fie zieWOpq0D<6^POZ|jQLy1xQO}FxW2l?U{$7M=I0^tyv@0EQ5En&u9%c06tECFfm`-5 zXNk+s^cpf;O_Z~0qH?JTe6E7_(K}6~iM!aARTCN{yi0QCP^7q+QQJKNUJ3)x zHTaDsOIUV>7wqBcp_Ek*@zc>RlH)Q)h{t{!J>;Yw)XyX|3hk{IRS)-s8x%d@r@JU= z@C)lw59+dGa)>t$<6~QNVlpzSLHSa-oV$Eikmv0vI^4jgoi#cDDBl6G-$hmdy`NL+ XM}=p?z;g}gB?-SuXZRR8oOkj6Y3KL^ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-1-0.a deleted file mode 100644 index d9e9d62862e0e79db699d409ecec31b28a5a44e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63860 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-2-0.a deleted file mode 100644 index afd312af4696d539609c3a4a9731d89aab57964f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5286 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 O>6@kEQ>OO1>ihwt$h%Mg diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-2.a deleted file mode 100644 index b6b82a0a722570b89696f31ec2d1f99a7939a2ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3478 zcmdT{O>fgc5FIBeDNzv!ap=)VzzGN2O`TM#P*5bqA%`CLxUq2>hnP5VWV-?+4&1m_ z;$QSv^v1uU%&d2vP2zl9OvOmvUC%!6*w1e~>&K^VbUu1nd!a9yb!<77W1h5*blv1r zYOCup?(xZlb?TWDuWA9=wirJZ$coFM_1CM?2r|!&W==7bI z!veoghwz3|?>vmW3wOo{G>Hk$$i;?!;IY7F7PFblaFK}zjEy{ZP+S;boyc<&?~NM` zy8d+hs%_aA)St}o*>Yw&;q2RMyw49RPW8dS4bS^YJ(QfUM$m;f$A_w9R{hx2yDYL?D`-GpiT|}{&NHHNgKLj=@5RE zI|@}^ibpV&x6(R{!dZD8M&XM%C~MR%n&6akwTDw1Fq|h+Ls`?YT{XEnVM;K>w)kx1 z+8*t$?dC~yMcWR(g9rR^Dz~j|TeA8H2c+#op$~e;dD@nEwO4RiuBh{JOgK4S?hnvW z1!^hltDK*Ee6)+oNBm2Pa5SzM7$&2O={WUpoxv?+0%teP1mc%Cotye~N$+_jH#k_T zoO;Sm05!!+@EbkF*NEckk0^6Bo>{SpX7TjeRyCTYnpsuO%y(2Tm21+n`o77tj|Wwi zw?g66>BUuz>?=?2t%1QlDsf?6T^6cF3o)a7T$Wk1-YH_De4K;R+#X`v78v2ePQSi+ zN@tgsb06+)V5!pMBx#Lekv0MD;*oMp=jur1nZlJ<>j|h8msbxETIVcL6ue5Qq9S9J zda{rq{2A#U(u|_($tZf7A&2}NfYwPp*@upMeqo!txmmyMDS8*C=-=E)|4wUF{|QpC zP5)h?3F`i({@*KcH|f8Zk6Y3I=X_kIf2t*Ifx)4$eEkDtyW0O+_muNwbKO5n9lR~U QPwepzWy=P>@M==~3+aG6#Q*>R diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-3.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-3.a deleted file mode 100644 index 168c5d2fa0392b3ea35e68be94983ab3b13b05b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2728 zcmc&$O>fgc5FIBeDNzv|I3P|&f*Uq=(%Pw1p@_hZ142Sb2x;pkc5USo+ZBZq2Yx{R z1AnA9{uO23+D{Mi*U@!LPN}V~ zx7}|3z;TO+8bsPB?i`}#1uh}_LVQU4I1%ss)Q?4fHuS~UXzI-)!OqC(I$|81;L5$T zsXv&-{+Txy08J9W1zaMC#=aQ0g)KV56THa8Cm}-L8&(&F#Cu-hu-wm zPu`q=>~$Ot9!=(A6M}|cMnP)M7Q~h@YFn1$Fw2hHUNHJryThasJ=cit%h8Tzrv7;< z$K{Pq*0DMCQm-5$XL@8^nkPxJ1x7!Bi?HC+{Q}EdO$~l8)#Q2^?x64kw_A>L3!Kh_ zy*0REp0!|15`(p1Knn)6V2s;_ZFJ1xcuXc7Irz^N(Ww@Aqr#E+CrAIH z@=*R48O|mZLqQszO-GqW>Wpq76C}G?CV*dXdTr|8C41+U+>qcx<>--}L~4rH=r?<+ zuL#vuo4lyCkXeZZ%hGFG)o?qul37j3%uiM?iZZmU?l(NUe4(m*&J~VMudZq={_@zj zeGV2Vap}6cELDvzW9I8|i_F4$M~wNt9>?d9%pP;s%Q1zIzxeX%8SXCltfE>;#b*dK zhnUbP(OteWu5qu9RK5|mzFJpEt-P{|P_B8&7NYP|N;SIeoO@_jfxlD=*C9eaFv8WjM*Y&12oLNjbCj;$XMe4-Wi&MxZDmI3p8lhyCc#$41v>E_0aAaG)pv z#yWxDy4wc7vU|>)}GeXrE~zi$~i!+Nm!)dgDp# zYwh*vAd4|_PVu~2SZGClyP4WO$-Qx$a~;R?Jk#`Qf`g{nsJtoNLfQd1C1e+G&6eym zI7)eYd|`squv>oWkB9J{IyfhGGf5`E;49%m8gOYZgA5Y+_(oVSf@whdK zTf)Y|2%PLkRajACp(-p=g(X#CbzRG~9J|%+g53_gL3YF6Q-F`9w!bG0nO*fCO;wJ=<6UKl~SWf3n#5vy4 z=XlMj=I>R>aS!+5K7XW{tLFH!^y~v{5XT>89HD(4#c_#OYXz5UM(vkv!pZj8dI1e{ zKqaYvj{D~>Z|N|-!=nVkF>%&FJMA3Ad&0uG23Md4?p>h<@-O*xkkq$~So1l3aIj=L z)ud2>ke8w`;5Rm=6CW=({$`=R!WEV{m{z#VCPk68>bjz^IqsJ4$YMIi5U16BC(AtM z=h)xMm`;^>c~K;P>(ll=4do7R~U`AftYWjaUOQ_^cc%}hRIA= znJ1@D=<4`*U?YYWpIUYhOdO=SiL(H=F$Q2bSSEn>|C7bt%@Xd$Po8AneuH?gKrGZ%?9FhMidBGwcu PA&(#Yk2+24G<5S1zS8rA diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-handle-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-handle-l1-1-0.a deleted file mode 100644 index a10670aa892012f26f4518a3829ce969c32c825d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6040 zcmeHL%}>-o6o19Cbn&0!zirrmZK8eOYoG0&}1mey9&S#Ncm9lOm4)bI(;$i(V)v*tO>GnvT@ zW;2|o;Q(WG$F2=?Az-ha;5lFXMRTLoY1o0=YF5kwuI)D3EWP_#(zsGMEUowHPTOjVt<6-7igbFX_6c@@r17!B%Jj$-ei2(Oj*DMXTmHt zD8lDtgwR_~itrGx)(S3SjM^Wz2^Y4H*C-S)L2|*lKf(QTmD>i1^E%(x#hg55U?ZsS zG`EF?M;e>~7r1u?7s$Wl(>SSnjJW3>c5rYQ=Ts9vk?Fh?g$BQ|F$zT+rd~>6o+5Vn z2BxB*SU>$(Dl91Mn&2+k#|WmQ2gS4c&dD-~`62edlTl8UK0N)1_IrAFMO>_^tP8Qu zbm>P4F4!)6>FVGhwxPEm>C7Txj@F|X1-Oh^ z_?fQNmg;L-GTW;xpz1Hz5s)#@Jw>bFC`D5xa}{OjVhVpwx(C558c&H<7fiXsukrjD zS(c@RDh+;OnSK`Qb5tAtDKh56!k~Om)#ic^GM4^{4_Qb$ZJ%#G+?LTF^Wm|yP^G~S zELqZH$DaqOy+i+|irG*YkPSw;M;$)l=Fm?a-pC!3s!^)L2W8!p)S;e?>rsbJGA?4n zO?|tp1(}PuIA04G0yjRveNe^nt zxE?)dCgUPD%pg++)dK+K*B_3f^Y(ewf?Ig+lwvJ-APl_J;0xAFdE83M@6Qo@g-`tj DT8{Ok diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-heap-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-heap-l1-1-0.a deleted file mode 100644 index 66aa0a22a81f792fc5c5d2e8cb894e895ccc7370..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13904 zcmeI3&2Jk;6u_U?`DjC0piqcZfwm}osH)9wnyeiuLPkM+NIA5$4TuAqjkCdS96PdI zXc31>2oOSuB5~osjT2|YIpP8b{shka87=R<+1;7-uAQ-jw_4$mW@hvDWhXoHdvD&( zOfGJC-FoA-g;&jZve#_KcC7X4ifLMWOD#=v-4Z{W=FS2Dm;l8;0p@-NIQ>B6#eV=O zKmNDK=l%kqeEv6)myQ7_U-(tz=YI#FeDN2Nmwy1D{PLF~U%CT8xpYfpYa4*_l^c{@ zchhxm_WW+oz3TVy9k`nSC!my`~Br0$Z) zZTKi`*{D_F%I`xCvs;VSqq;b9Z>EKf$5#RUw@3i+j-9xY6?6hmPqdw|-@+SSxyZ-AfY1=lWWZx=6 z*6AD`dG&sLh&H8=bb?-p4Uv?+<@c|4J9WR;Bi){SQp%0Es1|ipLJoWNU2nHv?u2$c z%zkalavaAroeCN@r=5kZ!W^0~z~us3DqqbO%6| z&Gt&zt54$vvAq=VL1Uc8cBrq`ie6+Z>izJV^up`GdJzTlKqXoIJonETzS5z*!LuT& zV`5@pzu&msJ`fV-3?6|caPJCBp#G&kl}Yt3;%`pa1}le@Q%%+hpqjV=f1qUY@xbI_ zjUc31V9V-RmSwN9d7U_GRIezOHP1cMM|vp)B$n0jCdnzxG^=a{gi~csZq|srJdN8b zHny#_3vzae%^FqI*-6)nEQ_AEfjYO+^&Gs-iEODB=ma9H%;SeI(ogsAOBujfp!uKT zJ;4~YK}=%wj9K(8{j6T8{Y%Xhlk*6uGcC^=5HQZYL#^O%DYIu_smeSOvkZPW`Wu8L z(eG2D)`evVuL?lV5t0{3AxH*%j#sfjHW}JZI=&O9Q^bnyHsd4ARFd zGW?dBD zTUw-7Z1sy+#54DBjz1}$d0&YGvW#bTm3BwPGp%&JL_G6xx?bejpTSYp_3R6R^w<(8 zAwsclUOoH;dI3z5`l=9cX~2(IvxiSv`BnIj^@&&p&dd_5buCM9){{Pe8skWxKTeEu znk^w%-$z37Yyq@ZL`hn}B_ZI_fN!v73sAQ+B>FLFcFb3`n6IoP$T#QOU$@cO2?@Fs zWk>p&9_j1JU8!kIFG(LKrk`cfgM%?V`{(zo_9>p{)R_L2Kth!PUt`H}jdBi1@~#TA zBVKbKc1k>t4T+^<-6DyA!OV|}zcHUiY zC$?fGzg0g&S9j9>)D7Vd*(+wbKlP!~?x_8#M!H^Nf2y0V7p=+Axa+P^79f5)oQ_@R z*~34Je?KL;I%x?3mj--~wL9?2BM;SQ=;<|gXRTyxGo@d8`f=!o0s0A&Jkw7*)08Cr WWg+0wfbXy#pnt@_iA?;=^1{FTaiyRD diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-heap-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-heap-l2-1-0.a deleted file mode 100644 index fb98b8cc2473737c4555de719069609f1ab8f75f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7428 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 Xtdn{i<-t%Re0;%wOX&|y)!Fq2w?@5X diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-job-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-job-l2-1-0.a deleted file mode 100644 index f6b963f246f66c1cb027af1cd81b43e49184ec3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6918 zcmeHMO>fjj7=G8AkTiVsL#RO&QVoI|yR|o2CzTM|Hd3WlNPq}}17hOM&ax)E>#gmS z7IEOfkptqu58%+>kxTn4`Xdkrj)nJ~8QZg2+cAe-v{ELTkA3GEkLR7|@jG@dTy=xp z-nEq<%<*J5Z3q7>Yt1w*(WRHB+1y-L19nyb;0%EA0${NRuzVo%$$tSTpZQPbuipbu zKKoAQ)wckvZyDQS>`usoklo}F57?I9;q0+DbVnXTqvvcotnalcE2}@`yMDm;-4P?u zAS5^=6MN(%u)%C*F_+;r1{@gcakn$IS%7WxV1QFa{5QXSqy32QMy*Yp)fmKRu;TH>m>VOW&U&|HH{xL#9a{m{mv%Q@TUO6c zVdy;^-VFR*9){a~y0pY21qkT;zV|q)`w12EIEbut9LF@B4LjlB^~wpPA;6Uiz?Y)6 zSgA++&q%cM3lprJddH32e2D02fpt)Chv5-0ct$vnE_i7@#x7uE0q;vs;(8L-jO~P5 z&c|)UI1?MEGH`J}s-iXsYp9AEsiKCesP!8)yJpop{XRgw>-D(;|NjBtVWsQt#Rg^9 zeMeJO56wp~-ET%7M)O%U52N{ud{C`WIi8eHg|8N|s{kYXL~N*5z8}Ac`W0WDFb2@V zr~VXLA#V3Rf!iBDHYd34;2wM>*0Auox!q8%gtOQnZl6>9pgqpwc8u3+4VP#|?~mJr zi`$3mQ)pNMDoOQA!at`)s|?F~B19k@lVA*Vqu%~-Pg(@e;4>&ecvmWc{7XJflm2v( z_dKBu0ghQtHK`MzBT88q@DDbo9vr6@cU5#3x(Y2!O)0LUV#bD@o?EV0mV`5&A$REz zLrm6pn=H$iDW=?0{HDsBUd%|I@w98}I9Xep7t+`=7Be;x)6d2wx}xh{Ma&=BI0w5$ z`WDNU!YC6~=D~-{^y}rz)P|=$m^}MXKe3JGBX$COfm!;Qe(NpW*ED5yGNOPUb4C0B z#dhH-ngvH`aa3tmizs6n5$mLTkeZ_LlxTLTk?+KBT3c*MTq7*6vCKKv6&?Aed@4HO18v@-c+tzo zO~i{J8$}nL3GmGTS{Kkn@S^%b05tcNF(f~R#vhgJse{z}?_wBOW$4^Zn zrDvsM?x#_K-cZYOzXFH98qW9I!a2qCl>5nt5$rMG6>_hHNdN!< diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-job-l2-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-job-l2-1-1.a deleted file mode 100644 index 57f6c65a7e536ccd13080c0411ff69fb167c27cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4554 zcmdT{TWb?R6h67s)>tnOB7zUDpdiwuyCL1AP$WfSKc3ji<&ki7bmp=fUYaQ=n`U8h&O%d_r(htNMEda zO({OQJ!jh$=ydIxEjn(4uF&iC-oFG1y-VQk~^Wf>uv=lZ$O7}Jg`jDwviil)e4ETUU-_hfK&ij$N*gB z)=Z`p$WH;c#}@{e>!qd>IO8GQQwQ^))adsoz+jJXE)96M5@GY$$m6RFdjvIX;)Um4@YQ-o6oz#*Beh(BA27DG&1u&OiwqU8MwyFU53d`tG9E z9McAaBbHN5>I7(VsfsN8#>UhW*VJ-in0Z-OeG{#$#5E~rR4H+=QO=m9j1VZ+6UOp(+bMu}pp7I@$4T%7;qINUR(yrE;oq z<$T9LO;S!rW87&f=Yuxyamv|C#>JHLEg3gZ&I4pZTIFOQ-BDU`4EH5$oJaL6(gUCk z)w9m`s>s3tHblBm)c@-<HX_<^-ZcLI~-rw9i_uTWl=iHfj z?TX>HI#-w9Qb$8&t)f?SZF7B7RW;rur>eTCi)&TgTLyp&01FEMi&$K~FXFjx04SdS zUc_g90igKYpCZ2SHvq+#S432A15muUFXH7d0VuxlBSprx82eygx&wC8^h}p+Ic<}D zV)cx^#jw)SH*{uOO^SZ4(=%I+YYvS*BT#oha7I<^&~$sIy;^0qd0@1Tn9&Kd)PIvJHwuL)3JJ9qrQO;Vs-m0wKcqJ$7q^%(hX4q zVz1fuHOnNTnNSj&yR*?Z4v-e}%Ic%xpa2H=E-cT8{FvdxC)xmI)NnS)y{ z3e{+NW*hI+gF7d}wyj=!*Swb?h-mn147F}s?qFgU8K5oKG(1z9d$oeWgTVwCJRqD!9j?>@EN)1!fX^id-k-p&1@(kmO2@4SI1LMD6L3L0?lPtB zpoF_jiFTP%u*;OhE>ogires%2m6BF&+cuQP}nyPg9^W1mL&~c92=it zvK*B(j3mQi8b*>I$)s4IbTs%f=CV75O&J(2H`0z`fg~3XLGOf7;4Y@q-{raPck=80 zMimVr50UQcxF+ZM^cH5V`_(|o&tide|AMbCwB|{=AK>L&!i8Lt+k-OUg7SEN7AqEk zQrZ<3xqQy?QXZ}Ea0`rZ3|xa?-|Gx}hoXk-9n63kT)Ki8Bwvzg6y)7UJaddI92{sp z<-}HiAx}l3z+YIHzV9(TKgV~kmO1kVnx<7WPQQs(XLU_t9(kGo4^X?w{UlwN^?_=Z zFusZHANmZSO#SbyPG}`)U28a4QyLc{>oj6@HV|Vc<3i?9e`HKr@oNC;N7TIS*HEUw516Jp(b+Ecv`+#NH?+-s z+^AM!-1rnlGl?6we0`y8n%wwU8aIm@on%~$8*VZ#}HY^bv zM&1m}x0N6(Ng-lG=rUui0^eauY#5nx_G^+ET8H(Vd^oWVwB~7iIF5B#gwdB@)Gv7( z|7+_oI_2yafiq--o{tTBoDE;0YE1H#_JsOyEt;mUbVnLD%UAM}aWP-%vt(Ro9aPlj zyw>3~WWCUxZ)RLVIZ%i!#g3@psRF-a&a$R|oY&qnWX)PW)~v-@^95?sB-VT+Y1=ee zvoDRC#hQLHF2XKQRfSKL- zqn48^>#_64iG^7Sx$+9?L0+ybaIPeOsuNl@zrNQ+ngE7~FYk&9o+|Jg=A19d(;p*D z7HD>iSdA?n7F`&be|KUp!uU7p`S!zdo!G~x9Q`(t*fKjlRP*s+RsPC&@~y-F zP7qp<<9zE-d_Ii*pE1{-7FkdVk>$85DtM~EPnfgl=aS?8mNLWBNF^UXYVmJ@C#R9f z!+H_dKd*;XkoY10WJIbo&u_L~r3qk&I8x`=B2nOHEJz%Yr=ITztQoQ-=NEH5eh&E> zU5rU*_O^7^o#vUnCykqRX1|w=i=Ej&PsW8-gwCsZSpty#A027cJhSC8O#nm0mR(W7 UQw9FOoMnq3^0{*0rtN_}0SB7s5C8xG diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-0.a deleted file mode 100644 index b7b0e5d5da1dc6336aed75edf3e562e529026eab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34858 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 W0Z%RX4RcP4x%pkF^imp}NBJ9aV~`5~ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-2.a deleted file mode 100644 index 501a25d26cf18a0e04bdbed0677a50571bea7a14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8582 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 Vj|VtYg74U~=~tfl7oo_y^aqHqd5r)7 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-6.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-6.a deleted file mode 100644 index 28392aca43220e9fd05095935267b2079a677017..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2806 zcmc&$!EVz)5FIBeDNzv|IB?*wNN}PycAL1VRH29*xPa6PH>8c5Y#J+09BhXcP8|4v zehJ^ukKoF$P-b@5$)<@DIFL@{-PzgaUFYo^kDr|cNq6wN_KGc<*YJG&xo({?S5BEN zV~4I9GuEjAKn1{>VAlhv{-lfZHs>Ewk)-@oWFq11xF`5UI1VNu$6)9;eIA8pbm?e3 z7Tq`z(_q30G)f81Da3~&8H?!ffJfpy=zigm$35=zfa7{20h|v+(A&z6z~74OeQ+6$ zrlZp&?us;xlXg5EXRSIuM>v}BbqMH9FFt2ZJfpjaXJp>@ea8IbhCY~1?VWWGsRn3T z01u_NV>y|)%%or3FmO9gFUW#oh@5GGd+nU1=>`~lBV0%eKCkCk6aZB4xlEJmDO@9u z6K=N{ca-Dy(b-#p%jZ!c_9(ScAvP(*&J|)Sh1ij2d$#ZNq6on0hmp`X{=NY?xB9^_ z59qkbBW+v0wKu^`4ogKCgTHbS#^8?lC|lGnn&wyXwu4h^Fp@J;M%j9~xQHI*s}rUK zpRnC(cGgJqgMZL`(>q?$ypQMcNdBM7U2Fb8(+ZE#A3E5R@Hw^}r|Qk!%&l=+srWGd-4)tICDfst=j${F0on{?3>l^#RycR9g7^;zz)wo%{(RwF{`MMhC6v`fw&mr@17@9;bp~`MNVaGf zyvwM)I-iZovyeaXztS_Pe53oxXm^!AjD~2mj*7gIW7U-42RiFMd^Ud?Z8IPL0E(LP A#Q*>R diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-largeinteger-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-largeinteger-l1-1-0.a deleted file mode 100644 index fb18a934ba5528cfabd1afbf33bdf626915c109a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2700 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 PKY>`4B_4DPTPXMkRR2xi diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-1.a deleted file mode 100644 index 4bdd3e38d75849a5f39a9f3c90192efd1fce336c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4362 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 Z9ZlV#rVKyhUd&B#s~`KT^mPBs`v))STFU?c diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-0.a deleted file mode 100644 index 592dfbdb18804d046cd0c8fc43f217b1a9bd3117..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51216 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 W+s`)^tkz;NC0l%*Fj49X6aNDkqI)j@ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-1.a deleted file mode 100644 index 2ae920cf404f537dc3a5cce1f51c22c0b6469d92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2764 zcmc&$!EVz)5FIBeDNzv|5aPhWNFZ^*!A@JppbAy0daDo;LgKb{5~s0hJ5lUF;nYv) zKkySA`xpETW!`$7Y?`=*L(-AFJDz>sUB7+f@$)@@+#S4cyfNp^*>zmUwcmP#$n_@hv8FmydvL}3S) ziVl;YI~)fSe`SAdE+%Y?OK@gCuJXrv#TV>)5vIGO4cTO_@D1?lHMUI|k81>1`Oz zEI7-gU*4ExA2)k`=9fd{$UfPZ%}$!$0;6-_LQME#r@-=&Q;qkfo18Dl?G|z1Hp_AC z0{4oYttGf(oHb#^sl}SGpb1OYgcUhf%W|5%D57RRi~{x0pDUshqwk*<0TtId#FEu( z>jI|pS1H42+*Qjk8gJmDYM`Ar#jWIQgNJUwNWP$ossY9pt(YB{3MJgGFBhTp!GCDo zbG8?>?($hYlCM>}Ypu5mb|13?tv^*d!C5cUdV$w_4L8jleZ262EBx#I760g_C&kH#s!G+q5 z+2&1!ezUW_3bFbsq>5exnU>nHJl$@qD(zNV%e19sCFG~U7A&&xvJtZCR&c0W*X+(W6am(IG2Z|J>hm=VN{4a^YZE??k+B7 zF?dV<1UL%)VLj-T=ssUL&$!n;oog&vU92^vS7ljQNa1^DwNQXU#KtPlS2$$U7B5SD~NWmi^+~`~$SM>}&i53Bu$Y diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-2.a deleted file mode 100644 index fe5b83ebd7bdec663a822747247b7ea64c093917..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3630 zcmdT{&u`N(6n<&Db#y~;-~bmC5J((INxCi#(u68)0wGNZiE+itR(B0co2f~~4n zZ2C*K=7I?9wH@(SYwoLq75k8G-sS!5O(&814CC@X=3#Xuv{;HSp&%oUG4*u^#t3 z7rz{^t&QiK+tC(13x9!2w;dN(5Bi5Jzv~%KUVVrY-rwY1e-tL#NKXx%iGdCVEvZM@ zCKc_DW81Flnx^Y{+3su^xDjYg1K^ryEg1ELzfVNFxG=%qsdxOuFNTPoHrU7Y-8eo2 z244sl(1iDz3R}TO1)obdF<**XQ+~oN72{e8_W&C!IXKmie6sqng?zGzPnOOnD|D=e z)u?yE5bE6^mMkG^y@LCCCjJQC72$+QV~XrUAYLO#f@T7HmIC58Cwyv z1?-xE5%D5clnsj5w5iz%Q-T4O^V2bLz4s4X_ng%!uDiGw*Trj9E}QEO72O-yAgIqxY*e;Z*x{y@HM^P)T2bs))~3(K-*?d*U05a5TXj=qA0<;2`w~ zzQH9ZLPR%J1jUzPIyU`llRop5Mg&-~ooZ4kKwp$;QG#FCm|u3e_zWf!W{s2<+h|TI zx3jWJ%V}v!tBUY^LN?O@fVi#iKY5n$dWikolJQiT7nfDCEI|86+3tB7o9KDkeKM@M5Ho|fSBDI(<_twme~xPn(2W4hN{ zdYoyw@^qd7JtK>(0+Rb8O0)`&(z2{nu$E^g6eHe|o*`8jjVGhkQ^nj8_W(3c>dC?< zJm0a*KON0DIL+%sH&%juP9-#_mGBjVah4KxBs-{@rxM<3>&{X_l8?)_QYqncJ}y(j yZG6AB#9&iez7hb6&%QK}*z~`u;;wx2u_~TQ4^<`ji6tw3{r36(9?UH_)&2rnT6l~A diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l2-1-0.a deleted file mode 100644 index e2802fb2206d31849c228250823a0720cae03b78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12042 zcmeHNUys{F5T7LXub~x{iYf|41k_5E+5|hz`EuxlA|1yc386|{bv&_k5~qn8C#S@L zYsJGo@B#V-5JJE!pW!|P5^splfci|C*W4B%{l?+Z&+fr$_h6G+76#?K4fWlt@8-D;4KN0oHApq5@9Z|16 z1E6~SJ5g^u2cUZMXHnn&6@coyXQJNz4S?#MKSjO!0^sfo#`YO|ICe&3_Q3I+5!)ZO z9rjIcU?2Aw4)(0N#rnM_RXI8wIIZExnb^mSnA|b3Ga6$3Vax9Kp4nb+IAHxMGnv6` zhBtE^V65xd?em`w*vF3d`NVBHqmPCo*Y*xh8r2$3-*b;y0u3ehC!>)wXgw7&M`4jT zq9zlaCoCkX2ZM=w*mE5*&G@KcR{ckdB}E4DE~b?rAZaA=#nZ9pxb!L?*pD5YrLM}v zQAz4U+e>;bjTGTOIEk)Ak?@I{jJBGPkg}eAyYCFz_UO|=XNVJpG@#RH9(9z@pD5!~ zbt!y+z;Ket&>nVLO|LTa5ub!~(=aT{DwV8yeTwwYavKPCfLadVRo+|ARXpd!21Ak-q&p1!gq0%FKg|hZN2Ji_ciR0t-mhqgx+t!6+ z1ZwFku*vmvh4<1}dzbrHWXHlS2RdGNGI%0JxV^yzAcAXGAcFKuIt_~YwGq#(VT3dL z)=pPKDS*pc(d6NG>|_^NoPYEpgQX%z+So7*)8ufQ=T&yhT?J{ITs_~SHB&H2wynN@ z8ri~n59x=};^|U4Kd&iwM4U^ zl;UM2f)zg#LJVIcJ%d0P$y1@(1!6Fn;DzoZMy6`vBR^o95E#!2nzM@M6)YI(uu$FB zuyBg%n1_WgrG3yPODr^%d1qmvAJ3;@;p=$5=}W(k>uX3J?8*|4g(6`goXH%K0NK&9 z;^9rX;s6hIIYO5_{D>{#A+l^G8Au{#l;H-5Fm_WSVrPX2e5=Cfr@79*Lc}E<5eFyS zZk87jH}UzY1c-QF4DdD&KjBqJL?}PjAmLN9$3#6HCQKa@tBC2=6cdX?Oj|(PBkI1^ za(jpy()t5DOr0!J^6)+3A-d#wTY1^XOU6!0B&>1=df`dlVG$&3Mv;KNVVPs4RJlV0 z33B6B7Zt=A+A=e*|*@ z{$V>ECRULWxBdUZKdf_1DCb<5O)s;5NF6DuOO8ZJIw^baP)mn|)y~pPBrLMCv=&7I z9>mhkml+MIc9zIHC?@ZpjtAjV95H)D+)s&!RlG!2o8%i7K}11E#Q$SwNkfE|L4+XT zQ?tiJH612aXK@6HL`*D_Pv>od6f`X}Cf?#-4D~c_ ePma(f55Hi`Panco?;p7F|2b1g6;I9z75@N8&Itkl diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-obsolete-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-obsolete-l1-2-0.a deleted file mode 100644 index 13ace7e9d9bc0c28e98625b9bba22f1e1da6acff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8864 zcmeI1TaVjB6vt1Jy_D4=s!|myRn(v&@j!y@Cf>BFP+*}I(h4EbsxK9@&c@l8I&rX_ z-c%tTc;K<>N8o{H9(drfAA_&Jm!O<8J@faB=lJ}5X6$!wnBLLo zveyykigLIE0OtT2I>1&N;I&`Hw)+PFZD-Gj?ad1S zv|ac>Y!|Ns&~|Akw#&}}E<@xL@E3iDa?+z^X(4Lr6n_;1CbPeX%ecHlO zcVZp6o;5S4j6`Ffg8fb2O$im6;4%9b3TI$T9~@>=)QA zE1)rcW)01m6WsaYz?>Y<%wwyk;@#NeDJxar)n7mM18ZD5)FSiVDT8Mpn4xxwC2J!eR}z zkh=DO9=k;?7;@LentgXXH9boV9qkd1Fk1nG@9beeXt@zFMWkq|Y8VERqFxKpI@~#^ zZ6PcGy&Aw9{Ajb*3am!~KQ7J`P!C%JGcb!Kyru{0i&o$F7s%iT(%IDD6(m-q4cu+u zeaVTpCv=^toOEZ3b$gMH8s5#(MfJ#PbL=;f)h4mplv!;?tTr93sW;Wuz;Woh*3fpW zuz|l`0vy+d=KZK3ESK#`-8bg$fn>5R>qQ#Lj*TLXWJ9t`qegi;g?8rl+r+984YwV6 zNTa5u8wt;%)=5)`hnTP6eYwL47*!{rdsWL2VBk|Z%SW}bY638BiF6)!M8Mmj$Iw&H zBOsKgc9Je8DkTU{NS9YmWxKd-^PJud+uS~{^P?($KjOg*<(Rk+!7v!jCig`N_dHku z8{E2r4YDuUG)eM1NZfOV7A}tbp7z8mzyqF(tPX$T!3x6o66XxzTt%?wtC;pUfD5Bf zyDPD`%?VtfWeC)Kc@*WKUQ^LwkQNZ&${EmBKrC|7}1zwqE*-O%dmrgZa zbUnk%Q}m%lyxf-jY?-`#BlTOx%P3!$;l<0>#k`zDKd8#fCg&wtkCQ8%W=7tk0boiP zQAGjI>+mz~IU~uC%RfP^FnY8r(vXcFYZ|V^G@QpLUX_Loq9OHJ>2%X@G4%a}hWKTI zHFfwUq#-qA=@ZnvHAL0w;=|Q75%|Q!>p%Z18m&7P#fOs+(SZ36r>_7J^Fv`seHO@-zzpqz= ymE56M{x!HlR@7>&tXJYlRAxpNuRTt(5(h~C@TGSD_bc)AkfoJJUd6K49e)GKqZ^aP~1cs#X66S?J#zGWZ5IO zXN@hJ?F?ELd(i2d!wy4Y$7mR=+c}^pse`_CIIyjWIbJTbesCYJs1`f*b? z9Qg=_N^0sGQIec2<*+4V>u`*vdaa0L`HA5+$bvXS%I?~h71dmYu1JO(OLA&k-|uz@ zhfyt68L~u93b)cD-|qL!;hm24;O5b8r)xDgoso)Qe1xco`()9)n?tKl#ojQ7!%qL+ zU8Qr8ER^%wLS1y56UFh-ln)oC?{+7nwpVhq;q)?sv1422*z&d7YeqB^T9c7^Fs=<8 zD-&m3(B2q^QK=YpX4cabDE$% zsU3_)Cy2o#lIu``>zj`30zNEYyVStT6LMP)o#d9|yIzFsK$T@tpPu1S2iuS2W z_NglDQ?;vC^{Q5Db-O57J3>Io7yfw)aIbJ=-ggL+u8tp7R|?cgV(Qox<7AX^E5*qu zV@BgpDp2YVa$Na%Eh1}*3?C~(M5%z2PDF4@Cz&F&F->Dm;0SLgM|eZi#q_Bl+`zAJ zp7&_sStESI8Q7Qbfe?N{B80wj6v7>OHCNcVGAz0-7|9W58q1v^^K)rA+Ze@S)W9LRNpTw~#@96wprgIA~n7(6}D z1c9eT_y%+4?{avtIy^5$hqBL zcX3aicT(K1IJkHB!Lp70iv)2D9`;?cfz%>=kEw%wx68^7lEi<2m8K5p$#fw1edsfT zm;&7WD^~|*@qL~P=m3?Q!0sh^4PI{wh61;LmFPzl-IjbTc z-^;SqC$Eo!hy1q%fu}|I5_1*#VW;0cZcKBpM{6WPeLeSg_;)-Fe`nc2y*xIig0qbL zS^ORKq}*rpeT+1%emxQX^SvGp|5$&27Jp~ShyQG2f0n%-@9sw!`C1J@(EY0Q}u-sp8NW4 zmWp%VeCN~CfLYeSMZX4Q+7C*!=kG(m;sZs{)3p8hX)jr*fM4St+0*Say7hUQH{A*l z_|p%p<3GRq8R+uVKZ8lt@+Um)&2K%EngsR4UG9+uYzigfaw3Vo^$ZaHQznwnvJND= Q^&IZD;sV7n=RX(x3y-CzBme*a diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-1.a deleted file mode 100644 index ad8ab0712610fcfc444414aa7cf35dd65042ee2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15500 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 ZlIx;^r)BsN^K_O-JE~MB3C!f}$Un0r*#iIo diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-3.a deleted file mode 100644 index 0cef9f3eb2edbcb4f64a7e879aefec1ff70d7029..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5316 zcmeHLOK;Oa5S}?CyqLMW&b;sBx&4{<=+y2++7II(5Bybg#1 z2afy!4u~WD5xw)DfSL6p8*C@$kf2JeUh!DbVE0^ z8?A<_YGO#PRkhh_MiaIw0DzZr6<`tD<$ib_c?Uq(@lWBkvInrT$JhpAPkiqAY?BAv zV;fGFv)9(pbS;KP%V-(Qwzlbttj>^k9FOmsE+f#uCpaS$8}NbSy=At}bk<-d!^aFb zFxKa0cb1NTJ+-`G*R(f1C*YmnuICKyxNciF(782m*@W?E<{jI1I=S;wqmOuizB=6Z zpPIJS-7szYvFYvbz;D;J*y$9|LzfTlS~h=Rx~?_cNu1Z?`S}3o`aK@hoP;KM{LnSc zFbq{S)>{cb?w1ZBMF6xCzzNY?EY$-3CJ_DnN(F7J)-?k&A0kHDpzYVTeSZoJJ`m2L z2d*|_>;iTc@OQ~YJTJtp#dg9i=i}C6+$wgCX5iv+WN>xhSCPS0VsJHNaMjkUdbLsO z+BO1fJzS({!p~m-JEflaGB!kZIez4>{D)71$+1)NFjCygc^D~X6o+z&>hTiARm5u% zhbCY|tcVfi(xvf-M0fGi38MgRC&rRgb#8@LK5#ak@=YlhdOV8SWv z5W~+z453xdVt9;~TM3saMjns*gp2!swnx#h1XPpumqdJyiCz(&_r;Ema4do|&NQuM5T*5tQ7cxoq6Q4If$!5>hd)# zjZk9K^2d68O;XpA2+0RzFda6C&+?j+Wf`w)IQ}eRIW_9+@<+1Y)7mxB*|y{tMtNo| zf3y%|XX6re(erL0=2bS%z+q9&VBL-|kqH}h|JN0|`}}!iBX(w0a*1u_l-0bY=lL|B5^U5$8pu$P3Pra%!YpDYJ|zMZ72dhEQ2Fp9*;om2zI(R{NDDV~Q35T$0hqT$BAV-R*7gdCuZ~iMHVpF1s)41YA6`{n6kk8qIH@LT8dk__I z4u3b5ks@w}22m^U1>0B=@@uC*TGFF4|DGDDK`*F=CVrTTvQ@cX3f1rlw})x@VT-m9 zEY!?1KfI9qPRb8KHZGMP-e=WJ7E$+igfp6Gh*{|N#3;c03hwqolZ`~l3-v9sr diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-4.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-4.a deleted file mode 100644 index 753ae7713228c3cafe9d0e76cb52e5da46624930..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2772 zcmc&$!EVz)5FIBeDNzv|IB+zmaKgrpTqlt#6saeqg5Utxjng>TtsO_UBj^Qjtxd;O)g1S^6Yx{d1w9hjmOWAz4R=2+jyhTH~YwTZP)5_TwS+#O0~M) z>^Sm)UIPGX0NOcrrvUZebO~`H#OKUUGx5>S{ZyPJ17Ca#N8UIT=nUPqE26MZm-Hqh z|13%Ui8mGmiZg->a*5cFlk`$Vwy=dGJb}x^J_r%`-e8-7Kzy3`>E)L&%_m;;o_FzX zG)&Ui%fn>UZ92G#FdmEbI2cSO{eEsHCDW@Iwk^wbk#)D#o-%x@JwTEHEDhi>kM=Y( z_rK>nUTt)+dgj2(z10w&>4J4__Ooma41N+Wqy-P15{pLVVMwV`)WI;3CakHS@N z#Uz-@U1b$U;jOv~qi{w%R5h~mP4dco?cvlN80Lx;QPp0|FCy>C)d^F90PQaFkrf_n zuJE>HFDTr_Q+UE}QM+%2Hzk?y6bGd6XHp?_%F7g9;?-WkO*2NFFUN!{$G7_fbku^f+u+rcja)H?`a)J0IPG?R1#uR&A$PNaVI;WoU z6EmG{VJh$!2fL^e+pIyd*flu2GK(6g*t+`Baym+O)tQoCs9-ABq-XWa$+M5wYn<;% zl~bp0uYOFw_jGm+20K^c!mQ5B)sHq}^5wW`cF}sri21P`=i)Rs9c@=)3J+QR`sO9| zS65_b?au!I)*i(rtpYs6tKggN)sf0Mg|04E7*Ojl*AtN1XT~TBKBd%FnZZhhnadb{ pU)n>FVe~vTie6;QE4~Mybqdc1>7lLyf6%V~z1j3PXb0KY_z!!&>MQ^N diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-5.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-5.a deleted file mode 100644 index 09c84fbc147fe90eed21b37cfe373003345f028a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3548 zcmdT`O>fgc5FIBeDNzv|5CU;AsN8U{)5J-n3Pq~KiLV1ioY=aJgRR<0WG56P4*dZf zdgH*K=^YOJMUj?|JsowwD|P&nwT&>EbjT*KzH3yKb5` zAJS{n+^V(YguMy?+yF4X1C;sz<=^6|oB>qM7~5fNH}#X0z4b?a!gdB-pB;sLZx}K( zhHlGcQMgZ!v<~|I!65O+-jER}P6^J)#9}`lBwtzNFo!jm$8ee02gU;5>n?L6V7vX; z8@>x2;@&5eE1beUA^+w)&2p{QyeOld5(*-a%CR|7hZq^mH zgq;$8mtOdK0@qM>!mZE8H5G0XI~zGTHIA&Y;?zRcSi~Aju*QlU%dr~OZWJM~+QTTy z34hK3J{djlP#L6M_aALnys#(1bl(-`VKl!L=V3ITkspc%)zd}#mHTTAhc3ZzUlAjU z#^dQl6y-dI zE46G7VNpU8#-55fWRJKbnrN zt}=JYH)Jp+bmFrfbF!@C^AyM5NtRP%E-!y%|9gsE9XI=^?F*AUGnGGDhzas>nYw7b zZNwz`I2VU`A=Y&yMw+lOPtTvw+sVnqhPNNMcnuJIqrHfq05|awKBjlQr~8?!Y>zXQ-Z!jid}&g8rhzCQmjzL2;B!7M)4)AEUq@oF qD@(ox0A???G=cc@zv|$jJn=*aEoq^q06(#2v&UX|*LA z*6i61`{;Hp-(_fY&AQ1vcZV)v?RA~qUf&s7J|j?PKyXGT*0nm0?Yq9itnR>Np1};J zGmGJJ9S0a|JC>b?Ltt+#H+W7@vxQHy*{Gv)x8t)E`x9pbd}?)V&v_YG0nVw$lO{ss z!KUXr-Jsd)_(O~(`QL09)yVe@NU(=PFR1k5ZO__oL)T3cx7u8<#ryqCxqw>^P*(u1 z^4^?M37q|a_p>V%^zDjm1y(kMk2F9(s_YB~Q(*9ga4s!)w-#Yb*eT(2$%U^M;#MO& z;TE!SYY}c4JBul}XdIcTbp{$TQzK?-F*7w{rsf%%q3IRd^Ke3?<$8{o`1cs#gVM70 zB7?BYaU{3J6TS&1$FPuvk>Xd(!bq{BcoY??lSRar$88RWCSZ8Xh#5uYL2?ms7p+d1 z0{B?x`Bfmsw@<2<)K7=q5RlR$Hi)+^)?XGPsf=! z%*%DG8v-Lt*r-Rx_vr5MaAYH{B~K+ZM*JgR#8-fec!e>hd$}jancNk}vkl0(ndcS| z{O3_3FE~rew?f5Iwn?alzau?Es4|*Qg}jHVxykPVXr0hf5f*9+@Ez-v16S5TEWgv? zNCn1>DyWUC;421VnhM?tW>Ax-3R;riNha+fAoP|d888u?Aj%A8($eU>zu_bQhsgbVacalc-({W=O zIY`IF8o7h}KdVL{p^=ooN?hwaXO8<^6S7ub2n#g@_=$BwD=8s3-H&yS=ehDfj}jl4 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-ansi-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-ansi-l1-1-1.a deleted file mode 100644 index 2507b504d537b09dd59c723b51299694192b4991..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2756 zcmc&$!EVz)5FIBeDNzv!A;Hl|a6xsjtHepA3I*kgsvh8m*f@wtF=qst{S9c{nDj{=%hHSE)~FI7`(@I1gv4I~|1TTQmuhNU<~W+rEmUJ}&K@ zPQugaEIbbq1<*JJT*0L#!8jZwQ4*?Pl13`_6n=r??ZzP~H41~lHUg6B2623h)12^W z-gge#96cH*{J3iiG?-ol{ds+wb6doz=eoY{+qQqmWJ~MSK3ET!R-(2=^jNGNt3D4e z=3*CjHo3j}AeaZm5LxMvdsXkJ=`Aq&0bGO)Uo~VU2X40**UEAG zZ0v2oai3#}Bq?M;f$@#bjY78zu&=QeP;eRJGnN0rdy zTTm5#9*K1qy^rK8$#8C>9U9I@=aaL{BZ{MY$O&OL%L(ucPM6L6=45AH%MtdT@Y;9WL2*cT%%E$h%qeL;O3ZN@FK4f`E2X0{pU^Rl$3+;=oayLhm#u3uwz zdAan#S}pkSK!1n@y%Ig-E8`e*(=vHRxbk|nA+t71Z6U3HVF^+AE~DP+EH93>$>c!Xk2!{gWV=QJ((U@mS$UYg+&H;mk|+bGSeA5JN-p> zMu$aY5f2_j_TWK8JbUm5c-)gm!9U@_AL07Gm87b=Q|V-c$2@lKOg{daIJW zaorsqbZ)G^ZB7Pz({^mf+HP!{rp2?=*fblp@Y*!@RsrA=K=}kO3Kf+@TQ#zji zGdwQ*13<@1e}~5vypN7oZ-mF|w*lz5dNVxMZvm{|Vywm3y|FhMvmGz+Myxexd+ZCp z?+$&2M&D^Ttn2U75m^U)?_ea z*W%LiAm8!F2ZKJ2xop0yNJ?gF7avaAroyKM)(7n~$r6rUcK)r;@;%AGcYT%s&{5(A}!P={~-M~$U@SG-C zkE{FRaRv+?63(XwUaQC01w2{6dZ~dwFT`!ecEYWsteNdc)dEFx|nC zc!9TM;b}9y7Ii3G#1mrr<%lIT(mJNccr{gULOE)Fd``Idd^%l2!!l4zbHFn1pJ(}5 z9{+*=eSSAz`)rCPeBj7cSAi;|5BgIpw2a6of8V-;F#-_l12gU^EiwQ z_zO=8a`r8l)24XsToX{9O?>b^edYpsVJY2xI8DSz5Cg$TOd~$vCNZN3% z3zMrl$|KfMS;SI8kUlBUwR)CNSkk|M>WR5Gfr$0Im#CC-Y>}QKw(youXoa_t>JVy+ z?x#SF4Yh(xc^+sE2rbpfLWu!CV60iNrY&R(Sy+>g;rwsp}NPinjRGR0#!qtQp-i<6_%YMUzr8i%`r_I0=>L2PkHR8xGAn_jJJLFB4M%4MY zNR6b-=ZQTu`8Wz;qJP6nd+4wAIH3{ZMqdB002y!k@mce%6MBnHLHdjjLj#Wu_#IQ0 z(FLdcEK;mr*~qDxS}n1rdWbyA(#%H+*NW84zEbWiztYv?5`N`#Jx*wb))sj+QwGh) zExdo8b@B?=gQ}B8WTC`>Uod8xW=ltsmRYC=spV6Hvz>ekd%nZCCe-j8j&@!(7$862 zhFqE79rugW01VPw#QuY<27He(lg(8&+0({CS#RfK{g$2FTbzG;kgUImqnnrYrHJ+N zFNOJ@|F00iF-YbM7m8K`e!@6nzHD;Vj~T_Tgsi+ONUns=Rq+2*05JWB&3voiGD!e~ bRDt;E0Idf6h%x>LH}%ictly1_`P%&-Q^VHL diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-2-1.a deleted file mode 100644 index 015ee5d125487754fe94ff1e441dc5f9338ee68e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3600 zcmdT{&2G~`5FR%vDNzv|IDo{#l|bTvgPkU>kt!6aNPvV;B|uydTesd2Q|CvqD-hzq zfdj{$Iq(2HMPGsU;M518%#7F0I(6D|XevhX?q>GeU3>QXb~Y>P{&=VNuzuexn$vb% z$F(1LYo=*)mtLCYYRgpvw(0yMMh zFyEY6yW-fk>*9vEUOV5FX9jKxTFU^q%B@ACk;sn;w`Uh7*jtUjPyE>s?&*Mi(AbXS zQ(*9ga3M{2yOm+9*r?)r>BjS=xOV0z+|q2^T86uejpY(t){i{0`mu#PvWQ1k&Lb;w ztfu8Of+!+vqZ>w24f=Bg@XqM^yO~4z^%&BUm8o?JrpIq#7DkI*Wfn$@8^xkxP+2q; zTaMWxcAbFXco8cq#+~9M>Q^>9VHRK)%Q@+{PE7Cp1JgYl4<@#)dd74Ycj6j)0Ts-%u=}oi1Z~hSzHimn%o_&)S5`+SBziI%+^AodGqD&lPT+h3h>&ToI1O zyn$}g+Zzxu(3ov-0eax*rh1_GQcNeNpEc<_A5#c}Gpxdbb<6P`!Bkpw+M!B#u503b7-QS=1@OA|HU4ZTmDeGu0 zVky97e9{=xZ@s0*nU<>@&o7{7V$LR@SkFgeVn8G3HM&6yBecoNaeY2A%onU@8dfj+wt`@iH`mXQ1YI~;X$RWKp zO|O;rO|#!1q8gF$mYWVy{U;tFdP2NU!+9!B!YrJN-fR$xFVQqeBEincZ~G#SPVp%3 zY#N@;=HYpe2!JLj-~ui&4JP3riIPynuJHI52%c#Yk`SXX7;Jeh61^af-(U|XyoV26 zugwcblY~EVZGZ;jB+KmCg3vN1UB~f#-!%PpQ&Hb<92<9-Orj%$=)Sb}3_A9Xi|O}^)~2$A4I>u3?9M4x4y zR~7oj#*R|LmUE8EZ!*SG2PF@*o3csEUFPLuqb`a0#yUolhN|_Ghi9Lk7d-w>X&sHZ zy==0${c(cGav!yIX_<9avPqjUqs_QQjA6bGW9FN2J`c-s$aPm?l#3hl@=9K=7Z*z( ztkv`m4^)S>pi-i{{Nx;?uUk6LSgyLBUr5iyGMkW6y<`ci@LO7TRk5q(mz7wN--tcr kv4!_huzDUVk7Pf;19Fd}JZLKPgX<0dXiER;>?YFw06Nmn#{d8T diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namespace-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namespace-ansi-l1-1-0.a deleted file mode 100644 index f2cd0b13333de4dcbaa3cd2e6600238b1af59830..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4532 zcmeHK%Wl&^6unMTT0(g&SX2lkS1KD+2fIz(RH{&DyF}0phy~KrO(w)@;#js@9;+_+ zfc^z5#4q$e_yN9vCFS1n*q$_Y5*DPY#7LeQ-#PQ}opa`nm$#ju)qPfdst+e?!?G>g z+-hv;x+$8}T-WRCb=l#d3IGcL+Ao00PprO)pIaUPJ$KINVQiPN*C7u=w$CFTu-!qM zvk$K4_%1`EYd37xa}Vi})`7=cgMc49J|j>+Bse1z^PD~peW%5l+&^~JOs5VG9y=b>B)3j|{*X^xrw_j*CaKix_8o*sqo6~9${}_pS zai)WLP-{DpQw$L;O)$@EhhaDY2B(B`X~30wf~{bsg6mR~7%#?cBzD3r6yr7%+$vTU zb8tyJ^3v#s2J+G%UK%Mc4dSKIvkc2HYwcbSJJdREkIRm~F96gM=Hiu1PFv4fVjI#D*co6xPj82#m_?XY~Od!U0 z|AO%iYcoCH62{xO8~4Q5RIZxwYtpH3A1lQ8CCL=p?L5XOc(qh;se;t@q)xb`ez{yk z!#q${+Cmf4S}eIq@nv(}Qq(ptTy%b5#LE`h?PeDDbeh)avq6y02(K@Y)cCjCHRVY@m*`eRcv;*#Y`90l)9*o z>f#H!Ws)x5Nv=>aOI>u7dB^F(&&Q4E;&VPO)x`t+zG-!#LBWk$FbGc>EU%+BbX+&3 zOdC6~LF6U)h9xWb^yYNG8&{zab6SP0k3^3D3Ry`N@(_1_T7`gANX~zyICZb9LYAc- dGKK6(3l$~!j=5Aw&ZlQT^W%Q0XLysV{sC!{A^-pY diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namespace-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namespace-l1-1-0.a deleted file mode 100644 index cfc07843c2046de04a75fab6eca78d5b5af475ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7080 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-perfcounters-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-perfcounters-l1-1-0.a deleted file mode 100644 index f05622b6c509fd1b77738f23d86ab4381eff3087..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14114 zcmeHOPmdHu6o1pZu&{t)LXe>1U{H)YYxl6*J8KA;Wbr`40YL}{L+`Lt!;Z|(OnQ0| zjUgLj3-GE9 zd#}6a^!Zk}xpiUj-Kv_r70>s4cWuq9R$bmCm({9Q_v)g@#v%Zm0@#O#g?|7J-4OY? zTL6?_2t_{j0D$s~KZ|_w4*<%q{4Mh7c>v01j*5KtDgfoT9*SK127t2rm&nVATRs{D z>p^gR#KKWu3eiq?y3N&?*}_9{Pa?P6t()Btf_X>+o;E-{$|Lw zS>H-(7GQl$O+1;RsN-os8tWqKA!*VjHRKzhw}~Dztmq<}3f9NeE;L(_I-UlkvDQP@ zl2)YNB)t*ZJ0lh?4btsz+`i|zuJ8NRs^4hD8|B90<;s5C^Kcic06fpn_EnZ5c0c0h z$6Vpptfh1umZ>{LDt%x43tKa7;0`Pm1%ap1kiCyNZj%w2|w&-Z??HX;x*`TalQyz{T@9 zYBRakCZ-+0+IO)1!&u|#P#i%Un{ES&XEHuUugaUn5NnMM2i)SIl+I6_)65I8z0Afi={Cz$owW*7(AFL zD3Zx|P`BhkeO2SZE{b9r4{l2OQzQ>=OY=_RLC=iScyP~*OL=e{@3k!t4#zxDVn41i zxTD~)j9hpbubUECMZtyl_-|1-@B^O2Tu_#s4-X?lYvG*mEIHw=X`I-z4QEnL%wii3 z>73wtR8~HmjI}@GLn;<*ao{^6A11Luv=z<;*OCh>azr95_e0z>r`d-MXBDR<41Ez9`uo+o-%CD`&MYS1*cd?aaEk!Ei z5^qrKY0HoU2}9!BAHSJF9V&0UaSE@UQpS!8qJozW{D{Yd9qO|4K9=!?RPmN$)s`1} z9KL5cvY3PXZd+a~`Cz~ei(4psDDx@J5yew1z^e|mWHU{r32sNkw+}* NvUBV(H5SE){{dBv!iE3< diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-privateprofile-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-privateprofile-l1-1-0.a deleted file mode 100644 index 29798b6310a832b29c7fa054561cf3d090d378e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13980 zcmeHN&2Jk;6n|bPO`4{BsiIZ+(3S=cRc&@1XX8j!6;s5QdWcj|I3PAoyopU6+p@Q% zLI_2O1IOMuAtWSDh_8FZAHjwHfFnl^l=o(4cW1LR-c1y|vf`2E!|%PB*?IeZ^XAR^ z+O5W5r*(Vbbu*sq72B~LYi+G&nigZprD@uB6*-i)769O7fSE&pxt{?pm^?pq7l87! zk9fZHJpkp)zw&(bcL2&S{lT;O7Xan!fAjp>KLC_(;MkN)Z}4oj04OhiN!fMpxb6o- zZ!mN>Jl`9*cY00F{j}X}^xG~H+fL1KJMC@Cg4*kPJH3JTpwV|pXn#oJE|J{+p#8An zd;LLgx83pFj_um6uv@&XaoZsZmqm18SHF zvb-n_Ga|p+_0@BPjF_x?Y?S2;CdtG$0w}-F%-zNZjh26&efFS6y z9%>rY5tc%4TV?Tqyj)9iA%bLn&?dQ{ zeY9Rg!W>XZd%+yj&qdbCV(%?>LO^j$%ywYcZ$0SV=M-jfkOL-|b~z?UzogSB$$Jie z<^)QZaA5CL6HWnotmK6Oe_~^tXQOePz{HVnfuU_^S(d%bAeZJ}R#$8ZZF5XTU!z4Y zuvQXn^GLsm{4HViRGI&ue+m5oy~`?2_K7qvM1CmdU&ufDYPk??G~O+g`9dw{Ae$vT z$iupj5hSe4!zZuOug8xg8o)(Roj&;~nB>S7X+ClG?F^jqj-XIwz%N*)o$oUR0pp8V zB&<}XSi$$l&0Kx9J8i5i>akMi7Ijv!BF7Qh{X__jExwnqVrRt4^3<;+F?AxpazTj| zabJOROtN2DBCunM{K|Wrz)Ayt!&>QASqrP>6h_&L>*QwBO2uUFdio! zpb4eP+%G7W zp8iKIylJBUa^>MGGJgG@VuZbK4wW$8I1xsQI*ioME=Dr{nK2iPWc=z~O~w^dKN7_i z$MGYE0wcjS)Fj8-udrQ2_9Jfz3RMRDgr&ldgjZ4eKhEBZ$>iZlGJfw~PM)?7a9d3~ zZJm`{+AC-QSx;MqBuZEiKFJ87|B+FOBJkUsz)Aytz&eQ#9&hW>5%KdtM#gX3Q)IAr dtUF^J2N|G5#$x%YS7@VNh^^4Od%cEfgT$J%MN zOw$rwdTpB9t>oS`I~4%924I{6lzsw~&E#6!2Uy!@Y>%Z0@j_8tJf5eadke|8%BhWA+I3pJeLhrpB^C0wl-hi`#&FJSc9B#;gu|9XZ zc}xiGF!W-6kSymQSICYGtZQD^}%*8Fm_yMt3SN4cs;?Ed$`DuvUy(%sAFyV(%Y(+2Cjb`(Vm zVDOc29u2rrSJ)C7C0v(Y#CQp=q5Om^XXBa*w~5Aj3QqMS)2hR$icG5#)2h=4qGl1>49Q72Uaexs3R?#Uy=$&^|VYKtr^ zwvgPS{L*Y}Yie5+A^MJtrb7bpTjv0I%6M&Je@C*O8uQ=fmvKIzy{zM8@3eVgl82`9 z3+2Z+9XD1Rjkk-KFX=c3yG6N&bz5Sj3mfzN;vwCgolSgrqJlZ63Fbji?y6u>Wvw-e8V6uQp+33AZqedOHZ43o?3!*+>Ba2 zr{l(Ixr^`DmKZc;NmmO%=1EyF?0;3t1Nqhyr94xCz_tKCux6RBzU&`~9P?M@FTb3b AZ~y=R diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-ansi-l1-1-0.a deleted file mode 100644 index 067a60c481e9077a5e2fba4534d5399c9731a400..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2854 zcmc&$!EVz)5FIBe2~iOodO#eIk>G}d-6T#bRaH>Mtp}uv8`8!}HjUN9j%*hS;?M&h z&~M=j`a}EzWoEoi)=f-$p&7}$>)Geo_47Q>zB=@x;pC|P&di(Bc3j7`4-Pt}Y4eoc znr744R}b{-08jxieqeV6P{Z3A2yraLr&va@_$U(@iQ{l2#aBP@=Dt9u?{-}=^#^n* zZy3m77|9E7E(kP>2`Sp@JtWvo5moHH^AVEa6Scm-O8|-3{b&+>BjL=Ts!j< zu2zieWH<`Ey9SrdW42hc*ureFC|j)6Y_TX?tf^x;mfaXlrvQzyKb0!LpId-4W9*%0 z4&~SRq~*(Z_CPS5%Tf_W<&J2>?Z40A^rQZ}0TAnGoQPM8vW z!*(l*t+NIu_t!wT*oJ=l)^VGw+2U}1Fvzw}e_$5x4rvHV~ zJ+J76!CB^0Pl^S&~{3;j{NL&SVvk8^RF z?FF_}lk;ZY+`b{t^>yCA{_H>)%1m05G8y18UMbgfua9)TY1#5>MFPE!bNvCO3}%Z~ z!Kbv^tn{r_q@14kU1<-g{^)r!T0Pa%OTGu7IH~7Id8jMFFKmmCMVpRI+tB7;e%=a~ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-l1-1-0.a deleted file mode 100644 index 997ac98dbf1c55510f66cbcf19e74518c5241b95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19924 zcmeI4&2Jk;6u_UIv}r^7K><-vp{8mj1hv_99M^@avipgu9wG$@LRGg;ys54FBU(Ep zR2*{Pz_C|OoGAhX5?9nef&T%H{0+44&FshQ?(BM!8n2e@NVB_{_hx5j_WkzFm-Ei0 zrnTO_JpVz#AM_=?s#mp(wMwC&F_CyI6!fJ0DBj%R@zxW7TTcw*s$qOOG_9erY>rIJxH@Q=#+RLbbF*V$Vy9ZG z8r{wsMLTuSH`fQ2xz*e>NU1j@b%T3}j4u@v{VaFQuduD%Rbag{FG^1(YEqf*y zM%!$*rd22yE9Pir)cUyDZ*|S<+jYH+PtfUY8Zv>XTd&C!DHXM@d-eOQX?2=wU31l! zAxc4>w=pg+Q}E|q8CjkF{o!i8B0Q&1tSHBvSGOz+-^R6$Wv-6~)>r;~QmG_Y!&h1` z7n81-#L;qd)LyNZg=h1p-W1-7ch6ud{w>tVYiaK##%ai94Z#HBH2gBRH8rQTqvcXb zJw79eF<-Dn1*3|RO40>$ijq?Lpw~kxZg=`0_wdL6pq*@~k(ix;!_ zTw-AN<9bU@I_VvX*1O>7X?U?9(R1YJQ;NM|5q(OLd`dCwQ;J=^s28MKL<8 z-N-s-awY#w?7y75lTIGUVy5lW$@1H~u>4wiDP;Lod?UwMjb@X!{IcD!@G4%A<)5^z zh2FT#@*REgEaxpVfR6M{m}Bj8gk7oFe4F*RP#puaAJ`bRxB3rw z3bQ&$fD6{ToC|7SYEv(W-yZ(VAySyKWAk(-RsqCMTOR(xlxg=gr`4ymJJRz+-B8oC zvc}OH>u>an0(En&)xJi{reO=&xo8WNg2NLykMd7!>!(xUzw|JpPQp2tTIt0O%Fr;YMcpwc-# zud}}a=srA!ytEVY@I7A2Mof`Isp*dLTo&|;iY#bh7PhfD#<8$$+XtPd$-);xxp6GC zAC1N21_yfD87hyY>m>CRN(J<{wIPTQ96 z(NMQj=#+2UkeQ zk5p9|(KA01W@%4;S;Zc>$!xS#J8{7(>g|kgjPw? zO~)yl1&@vo?G!rY;Riet9ieLb*pN#TBBPR#LGO+mesuq8l4Kl}k|M?XkXUx8*EGo) z+6BNp9PZ@gJ|IA>uGdQnr6%M9bVULx;wm{`LCR)m&$>QfH#4*^5dr_h8QKDUN-%h1 zhbugR9rN%jo@ry5tmaEn*b^o55tQICBGtX70&Af?Q6g^t zlXGNiBtwa&y53#MW@*U?CPB&J042^;B;7yFV+*BOT0a9$)qQ({1z+QnCq#(qdiY|v zx3z=jlFibRUE>}|jH)B^)%I$?QGw9EDO6?)tCYKPoh^-&V?NTK%~HG8`oQXrC)#{MNmTqBPnC6QI~=S0?; Ax&QzG diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-l1-2-0.a deleted file mode 100644 index 695643a828cb2c7e8fdd14f6ee532a76e1a2cf2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4592 zcmeHKL2uJA6n(OX!Qj%#ptE9ms^>Rk5AtFLwI;eSXf}EjMhopB0~2qgJU^9RAsM&9ZFO zWtNt;UeouMwO1sfWup8wqD3^1^>w39glqLXE+KY=cpJ$u5)B#4Q0xRPDL#6>+w%lF zJ!jJq9d933;thP+3_^M2_5?uP2yg+H=!HR3Mv?T7y)f{*(vL-_BC5g`uHYfNl7whW zx0ThTB;H8GvEjz;?Rs^cr}w%&G3I?OWozds4Ecqhd!cN`LHOxq5WeV3Jh@vRJU9pN zV#xNqV*yC54{j8fg8>Pqtv>U?aU9Fqu&W7O_KL4^yzp#WIifYyTFjMW*^gCwdSQ{h zS8lnnI~}5W>SUjm_oHYAj6MVBVZi(RkF+gtwZQLXni@~zYN;Q%<>|PM6lZf|Wdbhk zXP%b2QHgn40#8fhJS}x9rE1A8w>lkusC?jcWb*K@Gotso1NSg>Bz`lNn7VLoe!$E) z=BHtd7#5~sjQAlYg&fLJOJb~I2fbf_QE>x13c2#=Ajw@iIxu+xW3t{S!2I?ln7>)& z4N=*U`3|qhE%lEUuA2GPB(QXw8({vOge_R{Nz702W^LdGN;3P?HgIYCe7(YsB|?ck zVM)d3rfSW@`L^1_8P2BoLkDsD$UoE`#X7nIU8v}4T_C=Q>Cnu*N5Au!QWQAlJZfl_ z$lTiU^pibVXRoaCWRjeVP+erRRkieH=bNX7>Xua0`pj$`J-~C53-Iu9gdTH$BVj)( z>(AwzL4LrRuJdH?jCpC8mqzlGS1;{Wvg7)6HMab$~rxJfV-2E zp%0uh&MMpi4q_f~mgqWPI=;9!TV{+gRbf2qkeR1dj-f;YDngirpE7c9qGTiMj3`I_ zKfHrh8lHz?cC8$!5QcHI=aIVCMV`KKW9$$%`Dm8yd2y(K%A5*tHpUe2l>;$L0Vcz; zRKOI*jwt{thUseZ2@VSQG8s2ez&##gUIpan;9q&F}M%Yv)p*-Wi|tioXHh-8uaL diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processsnapshot-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processsnapshot-l1-1-0.a deleted file mode 100644 index 7cf42b4178a1627b7b27b05e3d441050f116e9b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10454 zcmeI2&2QsG6u@7Seo^g;6`-;!7GY4A3!7kP6E~GA6m1bmXpxFqv>Xtw+fEzPGzqr5 zzzU%i;($2qi4#HyaX=h6a$fO&@Q-j{d2eQH&-kNp4O!322lF}VCj2+XZ{iS>H+}eYp;v^ z{2l=1wFe^K_y&OTP3%Ycm0v`D?RNmmxBjB+INOf%VZi*r*>tffstiLAR6Ym8+5J%})1* zciD+I70`E(|dD8%J*F7OQYc7tAM(gCH2A z29HS3qZ6*TB3*nOzye;En)vyIUOQ?hy_I6UjY#h{9$d-Mi{!|E{Vb>>|8?TOp5njW zx9V2iY#jCb0F7g>&t%7cp8}jzj@{F!LAI;wNW<1rW0RV?hSee+W&LVJI?CG7dekaZ z>PfCIU$;dRU7*9)j4Y#8c|$*m{1u&@bgJ+fmJ@yUu5z32mACnhwVAPb8}G+8KA(kY z+k8_lE4+XQWb@ahtv-wD0trfkPAypn7lU{V3uCHLjGEhlRgJr%xSNTyHi|=vA zi0YWQ^}uo1J0F~i7H)Ge1uFRJ3My!QX-$))K6S)3XE@=?k;PL@qymh1DT*rmjRzAA z2__PG$XG}47MPeeIdtQE%!bubcw6R+^cC7Pg@0t>sufVn3g+7=-;;JvmGS@inAj)K z-E84tpD5!(;)^sNLq4*XuNU)1=i5RZKVQ#AF;CB7*_Ar72`l5t(_8fG@#CZo<72?6 zK#l%TNES$Ak;Re*u}X=4t4HcO({Qz{#{tzpbN>R80KQ5z3ieWbuH;zpI2t#6j&u!z zGwM%?Mi<;%=f45yJfbCj{PC8bu*?l>iv!*XhT`1wa1uJ@NN6=PBz%jDF^+_frFBp> zNfM5gaW5ial&_Z|;bFdBOu|i^Us)1XA`&wDmf0r4z%`(h5OG&D@UjYjU>y;WnR>xK zC%x^P+-5Z)WTPA*?N)}6@6c+-5wfpX)+7n}R2laoLc)B#3?X0V>&1i^c=yW^vYaMF z+n3KaCF`69m6G>l3sqJ46U#Iu+Vl(FA?&iO)--6b%h59TC;YApXyUg9F)f$zCrdgl z$~&mpCdJ?@q>?hupD0r=@F!`FX%NybM@Tby+kCGw-+Rc|Jtl!f}7gM7W1g*DVG%ff=rg7}bt{b!knm+<;2B|DFfXy9cPe#KhnA^Coi zLxdun1`~HmGBNiLbbAFF*$C<~{-H)pXrIbvn}@RgL7Q?{`$U%`ng$Eaax7T*L69f< z7C4WU(y`KI-qTiz1@%KPGB(S;;YE5#U`l+0DH?cLg&(md-=I!e+dO0h)8N1=$HATK zTiSV?v>wMv^v=F)oKztWGJkKFZ5CdZmY=Y&C0nSf!f#j-3z=!_|I{fEPlF4y92d>` l{(C{R0pesXy@0xo6o&l-)n1rmaUzxx&dY@gLFdBiaA} diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-0.a deleted file mode 100644 index 6797fde0f4ebab3c81a7e727ee071cacdd11713b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43044 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-2.a deleted file mode 100644 index 1e3138d42e394bb495fa41513819ab07daac4a0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9604 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-l1-1-0.a deleted file mode 100644 index 57c3695ebf10ad859582e27469cb17e15d58a2da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4538 zcmeHL&2G~`5FRHfEus7zI3NySBsftAJ5AkGs;WQ_z4TBCxFDph+c=F|CpNYtXipq? zfF5}Ugm{L&2rs|`aHP!au9Hn_r=b$5Ds?6AZf3vTv1h-}v(A%MC)#bVm0#$?#agm# z%Qjc)madz8NUe3fwpf!Bw#xu82cZ21DE-3jJ8|7Q0-)>8SGpKmXY6h4MlsuR6E|Y( zLDOX)y{;2_42_;$x0&zl&?T)w*WC>wx95b6K%JQ2j7%(yf?YR`lOPQIVDFIm7PFYi z9ER(4Twtv2I?btg1oqlZ-n1k1w-E)s@MWvzb-m=UVO8-qyiUl*0XDMd*3+r^<2bS< zf{^ES3<8?LzME8n{-)>cwq=^OZR@(dvee)0P3;D5I6z$kxXXJpS|xEmCA^0oYG znoi>6L-sA zrO}BEKyK>^6Q-D3KktHL8b;j4zMd3=WOK@R$)ZirVwxMdYt^b;1rh}rsb;LcN(Fq5qjHi~A3J~&I zR0a5novEg(sboZ%gSp;f6H8Ty?z|kcToWe@UEeNmYO_2@Uy##uydZ|FEFcRWIbZ?D z-%H+8qyN7g)6WUCn>BRSQvAXo7Y*eY%8_9-}8~x<; z8T~pw9@vO&*{2f15EIEKF&E$_ULw}?TkWawCbz}2nFrK7&GQUMCGcpG7o4T!Ua4m# z^9<>SKP%mX&>PLCLf(ab9`oM-w2rVeq=lLSe8+m+dF$K**%S|sl#jSRtO@n8SXc7V zwLT=TE~F0)vQO56MORlJkLUrg4D_)k47@JDH*8t v{V$^nsRKwISznj9{#DK%I^I8(fjV9Z1FsA416xu@)}t%m^J5Xy`{Us+&4MT@ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-obsolete-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-obsolete-l1-1-0.a deleted file mode 100644 index 73ce0f56771a1874e36fe2f83da60bfac27a3813..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6344 zcmeHLOHbQC5S}C*c4V6)Ww-v){gE=ktvHYSrk~TWh&D`TnFWX}YGX zD-|uDS9zCQ=JQL-x<6ni2LLkw$_c>acYyo&OnGKOfyrc&8F3{yu%NMyH~B?Zmf2f zC3oYvEpf2KfeHQZ!jbQt4QIcD3U;FflX@e0-+Edp*y#`ecCFVv>%jDP}HzAULf%0vOa0~?4>;rOxC56gpu@^ zO~ObzB)w!aRQ4xd&s=|#*fj*hbw?JG&4ky|H(4+{VH7yRGMzUQ=Rhll1NhpN-@E|_ zDvQel9MJJz9`Vynq|Jd+pyVgmAP&s=HbeIw$AJJZ*Ag!N@_aDi=#Z=}r9O;G17#i`kliSQpakU+zl~XuGHZR)+Nv1I` zVE<>I2~_2;&kKcKgYLJCi`ArcA@WvzUZ{c?J02G@kmg%O%t1U($8MhHuq3bCpYrDy zuSs%xD$6GzHb&xhN$ZgvV^oP*=$W47maJ=9GCSyxK=$I?`+(02t|?jtM@gR9XSd{! z`q;$JNqZ3Nqw$nzb-||R{2627P_pVvs8Zl3mdUZ-h|n;NI96iF;+PDPeU!Mb6I9SB zhJ5j@hN_!nNK;yO7(=@8xB-S7#p6PTJjL^k%aANFBqrL&DQ-1OUeEzBMJ!np0$wWc z3u|IY%+aF{nj!rueD6s-DUHXI#g#ixg7+-w5`IU8Jh_S|Q6TzAjlO+vH%FfNjEFe$ z)|XJFzz-~0+_58uB=)Au4{bbtln427=SSv4eq6iq@!vEiy5_j}*e&?q0 H&mi{?WT1M7 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-obsolete-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-obsolete-l1-1-1.a deleted file mode 100644 index ca8506382174ab6dd67126b92fa33a85fbd5382a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2888 zcmc&$!EVz)5FIBe2~iOodf;fJa>Kz+S|>;q3d*4p;?N7{jgxE|6DJ$l4p0t=BjSMi zNA!>Q1Io>Dn|K zbsS*nRso;{VEn-5CqU&1-9mJPcpu3y5@#}&q3EcA6rcR5H}eG=eYfR`!0*wWTGdqc zRVe4)Ob}=i5nPZ-%tF z2Eb$P?HRRLevY}nS(#vWYXdL#HbZ!%4fa*77e!lO@QrXjO?Y^eVKFtJg!|Hk=Sy(M znVoQz&A4WUqlx#|;IeVd9cvOAoy%!f1XhZo+6jB)=35(s@b!%>LWMp<6KQJIauvu?S0UvTSz3 z6yOW$-SC$MG74!9T>Jc3Y4yXHWhw}I+_cLVS=%^8aOIu2xbz148*gO`E{ zr@yE7_wk_&r0H}hvwt3O?=G1?;=OVv9y3ziGh(#lF)E#6>=LI1Iz5T@0jKEQ?QPK z6|}y<@ovflYRvyvg%(wV;(LUPebCm0Wwpvxp%!A|^|%ECX}%N0d|i)oahSzKO;tHB z=GFCcvRq!~?YI3&B>73}Qa%Gb#5?gfJ?p&{F0R%k(5pFDAxQbb9-~!?nPpjFG7Ebl s$146_+C#!ZdY^ztS)ntpET3 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-profile-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-profile-l1-1-0.a deleted file mode 100644 index b8ac1901421cf31a1d382151b7c9000240a9e76e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3614 zcmeHK&2G~`5FRIKQ_>8c5Y#OUc9PC6;P8>LK z>O&yJWAp`h5gvjvGhREJAGf)r6%rG9cRl;X%hEVYz3hldqY8>enfCVE-?&)j^C4_=LkpG!V@@8UxE-_>9tq75{S2B z8J-=Pq&4S;*xS~JQc`Dw)M?7{@QS#EnHFB`%=4X`iD$5C_*489P~ zrwMne3ATWZ0zQ{+JYS5fC4RzfWaIV{+zvLj7T}V8Tfs65zz>c&CX&`StkGa`~Ax38u#`mxa;dme0ayF{3!-4JxNi#g*f=hFw=+ zI99}nyzz8;5_Ol%PM93{Sl)<+OU&`^@*J<*l{t>PxDWUFJqowY@m&>8cz_M!_(R1J z+UG?aPw;xJ;Zn`${Yjf}Nqe^5LPrs(B=r|LK6kmb4AZ;(fkikPvj#e&?s#w-dzfo* z3u@r##%iGWQcNeNe`Vrlp3?_|6Q)y53I*tL85cSDg^e3YEi27jDo4ipiflB8MRr{d z*{fh8VQZESjUor-D{`39JuzC}b@FWB^&I=(E1pwjt}ch9-+bD=DlXR1)`dx~naUw` z#0(eXQhm{U`-u6x80TU)+hZ&n3ZqR;8y6ZP5?Z8VgJsvLaBa!wnQGk?Zk3LUWeKRtf|-5+{6 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-psapi-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-psapi-ansi-l1-1-0.a deleted file mode 100644 index ad8a3a44cb1dadd58648e7527d2565c12604e5ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8864 zcmeHMTaVjB6h2Az(ykVPph9hhs1Xa|p$T?2>jbH)((Sg~(N>~T9}u(NjkhuDToflu zK?wDM2Oj%aiDx8uLi~gN1SI|q50rCe#?Ck%J6_av6?G??i_d(X%klYq<~VO%b4CZ< z>uc{D@nmgTHvUYrZWt!-QcJ^Vwp#Lry)^)M6`*ntU}YQN{BI(!{{=w#<$pwe?IHl> z*J~nQ+5w>aMqlJBj{&YcX6z$*gD--1hu%ka{@CJe27Fe9)QrZg~H#2kJ7i z5NhAH6NIxzTS)JhJ#HS)}`u8co{nDXx6bhtV z)get;nVFYhs{YDp7)5uLG>oD*(nY02WjsmUa-A(>R|babi>#tjdN)3Zyb4DrOc_Wc zMZHPM(z_?H^p^QS!qRPg60h)`EIn^auS6dgmP3pTw ztU19D4i0UdYT_t>+!k+_;cu*q^6#g8f{@3RHDXy{VrmMi&GRSCMpI$gD%Z@O(%PvqPS2l2?|*uRiTRTjV#a!0#4;N18e)Fb<818a z=}j!#5+g-e8Bde;|iDnnfd7EDY&^SW!k(5wXhCi^JcRtN^h%M&4 zJ>`j=mnW(>I^&77t^dW76%c1_ZKT4jX>ob7L3F@0<;f>Pz{@iHi8agEe%qP}HMB|+ zs6rysDO0v`GG#OAQGUV~$vltpm3+%mRisBbROZd{C__Ci;ZeTV<07V9#{K2>D9e&5 ziD(?hSY&Tv;QA>|S+Xqzyez}-SWA{9wyt~+5j;vk6wHoBPIlCje&iuq%sh77Q>>~; zcI+$jX0gN9;}YyR*5e{};D^85>{yDiBl-@r(9EFoCZ#Det_uM#%kV4KF=j;DPT|E& zf5EKSJYxktIAQequVfU3JWEzoLRQ4Tl)f;mh;KW|3SED}tf=Q?MI-4e&SLY8$XA>s zHZMz7Xutm>Ll^lpb%K~fyZuDWk%20hDb^WN^7xNu`4y|AVM=s}crlq0Z9kJKGpK@@ zV&-IuwUzkZ`vaap=EWahD(Chh>_4~*`hR8ZKW%vV8UO$Q diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-psapi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-psapi-l1-1-0.a deleted file mode 100644 index 9ea89d75a08ea726199b36abe823ff3671026de6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19806 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-quirks-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-quirks-l1-1-0.a deleted file mode 100644 index d5834e0205349aebd27826b6dbbe89774400f821..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8560 zcmeHNTW`}y6h3iU3Q^In5bRb0tqkhEtVpoa)=4FVB5_%ecqkIQtX4a98@I8VONmo$ zwc-IGUJ)R~Z$SJD-dEz6@Ec&ynHk&TTVkq>QA9?Xi_d)aIOFe|b3D%F>-KQBbE9%i zk0x`&v`ov`+}zN0gLkQ=u3JrUtn1qq05}JreF9kg2yo`A$jf&DDF4tF`P?&vVZQKG znO-U3Z7Fv<~{t?qKK~ z*@uikJ&)jwOziQIJ3R1M*JLI$n9cAqJqH-;ICguQ0|9$LBj59G_wAjo)4nqpZVd;! zj_0+^I*#x54%v7}@_c*uz}|OSrj>oZ0?9hR-m0%px`4n$uh7aki|kS4TC15p0Pl!m z>zUIbdN}%bXLQRR*|EziRuxrGhmjfDZf}278w6C(;<#xTmSrKw8%-&S?aKYqDWo}o zQ9?HJ)?%qPa*jv5on7c)Y}eX&``HlQ(*ol|ZO8K_z~Cw2T)N=ux{qDJ#sc1#n)vku zZo{_|?sPV;;p0}Zv7CbQ`%z`po>xVcRY_&l$6RIAu30s!My=iLBCxjSb{%=b=Pv;J zr9Jz=H%PlWe>7Yq z9{E=%j0PPni&)u+;hnEwc+)Tw47czp{K$XB!nbC4T}~#P#|ANcMKXk*avH;Zyjm-` zKrw2+-zJ>jj@Qd*SOO|Z`%8R&&hl0so_Dy{K{zJP8Q2?jj`|0}!kGr&Knr|!g%)Uj zX->nWt})`C6YAh#pXXGQK2hns6om%=VxtIuJ56sc!-fi}%QG-Fgv2KKkH#7XPdt(T zSmIOi92raj6Y*Jn=43gI`6~ARDOpaHK0W^ttoQWn)^V^sWn2jTOvHaQ5p$T13)Dr| zyN;ND(s34c^K=Qzmc&RCR{Do8ztYjGSD}qG7mXakh)VE|#w4C%?1@>-H65!hb-roX za?-ni>Vvs20m*wlTQmxurTA5;Ud6ja)WUx&-GfjUoll8I7izi8k1=u%EVrbEDh=LY z84Iw&pPm^##UWFVcSCJhb8XO*6SPi`)&6g7oJ!G#coq0AwV}KPWxZ&rkOH-_kyjgy zx!*`?=tO>FF;g3Lz5>sx-|*i$Lcei`mK~Wic#o|Vzafa9e-mK(J0+p#SkI{rBNH(<#pRBw7Gmlk`cPaltE%{kegLLW z6*Xbtr3SCDj;UhY##WK+U(3t>q;HtBfAvJ{FUQ!whU}PS_Wvxo9tKOGl%0NT55Nenh+O5ar~2?fY+Nwdv< z+QX$3vi~<>;H3sHuomoBKAkBq$f~u#cVZ(i>yzvLob}&JW`F5o*w^ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-quirks-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-quirks-l1-1-1.a deleted file mode 100644 index 66c5c94903b97c6a29c7c24ba71f8d630ca386e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3624 zcmeHK&2G~`5FRHfDQOWsaNxkfpmHO|PEsdG6^c|*35i2Fa6{TSvC~*_ei|nNapJ%k z^)--qh~9Y>o`EtmyG}MuOmZOU0oL+*Jo|aanf*S`=JByNYIR-~o}2T{IdWXbwO`aq zrfKt#-kWCGmG`FEC;-460OLDA?khn4r#$!2zgH0AM2L5BFp9-lFb+oIWZ(zlL)iC* zp+INo)?5*VO*)l#&<|RJQ84j_fxbQd9AK@9#rZj8($#o4aEvf+6?72W?&5Xy^D5pYz>mNN?Rkxwq4gX zO}AQ8i`po>F>r~n*#^LUwss6_9DE$Jo!*&XH!R;9d+87!se^rGHRE^%3_cSsqzMlz z2{wmD4&O^}JfFlJC4R!~rsJv!?huXrCAef9Syk-CMPyZxSXGp)Dn?Eb56h1t1X}Gd z3e*F?t^v-Cw%1J@%CF~-!ewv7B$%GNOd3YZTQ&`&<&5%>HK?C&DzBWc9US@thI2)X z$Qn=PCsB9F?1afc2m5U(nHk<$pW!vzSzx$}t8l=-B6r&iFR5h012l-?4;4dbm6tI* z!RuEIH&u*2p4fy-?3>qpbmW10(te)vbC0ccc;4Z!EW)udXP`aqO!{5vVWz@x5JjcwGIO;#^eCJU^t*v96t#8%ahYPqVZ zE6*wUf()jDPkh$boIJaDKEv_%isf`MH&;KV-+NlS3I=OyabZ?x=ITccF~jA!sk&&s zW5j$~j&pIC+av7j3Zq#BJ*~TjJJ9D%*vY145iQ z@(&Pa#ECz^ksE)6pMWScyK8&nIFBMVRi%!ykIa7i8qeq1_0HB-+v35_i}s4=hP<)V#@z&4o6&PzPrZUm@LHQ}2u6(XyouXr zEbgrOT=cDV_04G&y`Bc0RUU@@y5%*CeoGCXtHw@{^nS2ix97U%9f%t+QoVcm`NJRx z8aw=LRPH1W*w6E9%W@pYG#zqDABWy(;Q7n+PdLb2uxu zG;z>AJ{Mc|JXXlZFDf6Q=bY!`FJ+2cju4hXOJ1|ATN3efN*yohcjpFG| z5hLW7!fRkHYHqbRq(=A}8~_`HbtN0fzGTx>^tX&$a}PfRIQDcZiJ<_V$Yo~0FRY9w zI__`uRe^qn7#3P66-l#UQDnYyM`PHOFv~~uVmi!_PwUT}G}D-FVf(W3bSljKiz3Ne zpPpX@CtKI%g*4i9MUfg}qI_J!FdAP5XArnr0YBUMjz# zVw@aV(dHe*5kDW-!;#ndxP&7YaesA%!K#vcjua(FGN<^%&5cWH$0;}PYL|!spRq2v zk=b_UZjjeHhI?Dehq+Ptpr6X*o9l=Vv;V~hL-HYeJw4R1;>SkI0CseRPV#rz(R$@(mzigo$mVMu>uBME-}82iu3588^`mBq=kVNQKA^ z_>QHF6#cfpr_WO3Jxy67a;4H6J&tZ1Y4q63jROX81%2r--#D%-W~5wsq%>3*@D1}p PT*<_ed_oD(I3mhFQYlXD diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-1.a deleted file mode 100644 index c9f33f5614556b3b2718efadc492595c58677a0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4508 zcmdT{&2G~`5FRHfEus7z5JHH9E0qHh2~L~3L8?%tazWxyq*mg9v~`*-F?D`qJG5}B z5JwKZ^8`Esx4r>)9)u%hW_F!y8YeM_reZAbu4g~*dS}0HcfGXXh5OCt#i#bLRn{sl zUXHVF+YVQmsclzRtNMk#A^w z#gX6ky1qcC@77!q_;tFqx6_vUoly3?t{_k=BDf%z2&EUqeoKm=BIxo2Hq??JL{oZ= z%k2up>z)ih?zZc`7skiUp6yWX`;pwN;+OcXuE+-E_A<0H4l?@wg%22d z5$mAgA9?k-+(~AA+-&3gyRK{7ZcWX;ZSNIdS=VsF0UQh9HkanCax9NyE{{)aaQ4a# zFZRYmxMmZavvNI(roiBYa6UD-j3ZK3z^s7ZWg54qaBGR5a0}yc>j`cd3yUeZq#k)$ zYDFdFWr=uMN_bfcDkZ$ijUa&Xfgecy!k=@1ch-S-m^ifGj30HEztAVa%-H3|VT`!t z$6<_^Q5^CXrNgG<%JG`RstFj56)_@jQM5)aX`L`Rc#r99)&k~uGdss?&RTy(OE~W0 zJlx?S6|S1&D@kPUVu3h*Uvq@!IgR59-pmbLUo&QXQYKtdzL+nfV;(3a_0MyBZgMFL z)0@0bBOHxc0|#-l*FIDp<{Dgq8aTR24HRFB>A=iYMt$>$J{X)ZopMqrfX}H)a_|!i zv)Q38cL&s)ZIKlgIcO^^vuV4?x?3?6HqT-CiY%rB1aaD&ckXsOD2TuCJPhIKHf^v6O0t&cpi5&Mf<1)v|;!ARDOVg>rD3 zgYTFtwWJMw(%*vlM>B(eD?=SlHg!~hk4 ttK%Ndd{%WpiaLluwEq6D%6LEnKpQBd9~$)L;2WkX%9tbxuA7Ax{sJ`xAXESV diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-2.a deleted file mode 100644 index e59b5ec5699bd4e486982ac2e23438ab6195f97f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4720 zcmeHKL2uJA6n5C+wF2U=^VF3Sha4-P7c{a|S@yy>+@6YccjN;$g&gdCWuB3Oby9a(!pu zGBmn&!)Bg)K$o-zK5qvhA36g@pngPfMkW?=$BW%QXP(6@R$~ssh58&A>v5-ZwXT4@ z9rEzx#qikmTqitf1w$Vn=w--147uMvX>Q_excvdkfolc+M;^wzJnRNx-|^dAuC^CU zuivz6weGyLBz}6uy&&y3?IrIl=nN0r2XQq}Ov+-AWtz5a8;0FT7-bmy<=2H=;dL0Pkj3kjzzErx^ZvlA0-ySHMj;fi0CG2p!iZu$3_3j zB=?-shX5<4Q%ed3a7CR|Mfi=K#bmv!&8jkimxaP26H86V?6NGfRo4}^BEs?=SxlP} z;1Y2*0q-v1!Y@xm(0u zRMU%BC6YA!q?-JWW^Te_i2gPGmFtbVPaRU+M~!uJW8c@!oE7 SPMSwodBTy_RsLCv(A8hOn{@;L diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-0.a deleted file mode 100644 index ce96bf8e5b1885632725c6c0b2d608417505aacf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37288 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 DXkXQ` diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-1.a deleted file mode 100644 index 5a91f1674b77bab2900ec171988980acf217e1a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5226 zcmeHL-EPw`6h2)$Hp=)JLTC~8sg}i3h0A|-1TVd>N!2N)|+?Nlml3EF5S)>T`Fz_ALVurm7Nd{Du%iwK z##-EIp6yV;Uh(bMJbcFY-#OkMU#(ZFII!EI4+$CId05b=0UDPIX<&b{~MLjz+ zz+5jkozTgKh?Y8-N9Bzm7y*L=!nxGpd^N%ruu{O^r6;9wR@&jWMO!pnB zE)}EsEuV$ad`5oA=P2(_%CEv-lh`x_BYZ`S$mhsg$rSZYmMaU0j+hL}>}yg6QpJbMc(#PK=B5nAUojz@UC)Nnn`=BE4Oo)~||#ebB~*INJ0@ks4xJ>A0T4sJ~^z_~|$sn?<^bd0kz9eX#dG#6&uA_3`^oDz-7FokLg~oCG?eyEucqW5lKLCUU-RSl#eWNl!z>1=6y;L zbEMxOl||1}qRC37%!zvd+5x1cx8VuPH_THHSlLIfahwKY4OISXfR<3wH~nOG+8US` z&_F{l1$PoG{}Bz0dZ8Gv2CNfmppuLO2S}Vzap1iqm*ChqbZkes==QQ_~@F#1oRvAl^Ce*+~$Y;*ts diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-2.a deleted file mode 100644 index 1f0820d6554a3dd9b9802db7f61759a7b5cb91a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3622 zcmeHK&2G~`5FRHfDQOWLI3P|&DmNVLv~g0YLM^?51W3>e($;M@jj7W_wj(Gf4jei3 zE#NWw2D}N6K$)5KCY#o7dZ6h6M)K}>_S>J#eB;?X+6dzP-m}_Mds@7v=X<`pzTUEJ zmxs*OwpW{eHet600Ji|F9{`na0M%dWSwj0#O^9tF-X=0m#4DM~SZohEQhW@Lf?+7o z82W8rMByGinRRd^_Xn{Y1w%ogenN0TCK1bnFiGQM5qZKB4G{=js4qc?o(wwIyA_Bx z^5FGI#>X#5Q5p^-`7Ve?GTGT|xOjlDKNOcD@@H?&oXrU697b|4tq*jZisIwBuJ2=L z{I-ghZSU4zSQs7@*8;f9+JaS2<)@VO;>HGdx84cTpcujfJDs z*@WL`00&k#IMjyBZu*b5E1%nwV5aX%MHs_x9fOlPWjO@rL&7eN>3!4>FEWobx!Y z@n&z}#yMk-Yn^afKi@B-p$gPe_E*_IcUZd$(|i1dMK}tx2D)i)babdJ%r&@yY+&!I zY#{%VPbXr2Wz?B3QnsIaI>zlFHEYW|)r~XBe%w zftb(vI3I^u9%8$hVKNhT_UYMUdOJCp*zkS?`8R+a1QGXWPvR=TZG4ok>D|;!f77<* zi!}z!O3W1nGVZgtXcwGiRM#wnjT$qRG5lNU3@XEDJ_+rvGRCG?6k11Fp7XnEO7I<( uOD{&VuTJy0-5I&z{?84JnWA<6jqPve1{CDR7M|lD&5bMmF_=qrs{H{!m3n^w diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-registry-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-registry-l2-1-0.a deleted file mode 100644 index fdcbb87d77f4af7ec67a44df12ab151665344831..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24272 zcmeHP&2Jk;6n}BjrVag~->oWet5ibJn6;DGPE{(K1SCYImXeaHAhw%$Q=2-DwRTE_ zI8+F6LZS$9g#!n~jS~k>{SUbDhwukb-kTZk&g`!3F}PD1?@F_4zj?E>JM(_;V?Or$ z7027CUY&V8tsdFMY(AT}mWsJ_+G1JqIi1cHvYe26&67o=5Zu0c@*8r5>`HH7&UjR_L{sT`pe+Qs+>o=Zm{|Z3q!zYw%d)c;cwOp@d z-*DTmXD@G8T>H~n!)exRB-Zl9yj`!YQxeqehP$!txjRnNCZ??xvD-wlJ@;O%)%JGn zdd|+;mhIShqb(O~yXrcXXImB6H{E;hyX_C0`i{F+%2`-zZL4WV$r4{Vo{y7>&w1d! z>+Y_VvN`#7GBw~T$8vEha@};Bb!S7|E-&3KoT2by@pxXIfxPeSxZbXKYlSzQq40+8 z8}Rz~z5c-UyjsP*;kgxe6I-EFlpZ=Z7i+lQbQ{qYQ>X#gs^>IX&PLmRFQK2PN_Sw^3|ewi>weCcwjUun)EmkvpZU!yN4%iGP}RnK+9j0&0VxZOZ~*~VW? zGln!tY;Lqvq!Q(xEEg*GtBrPM+c$XKEM3;J^7(u^oi7SQhnDWz#9pAongBS=e(jma zwB3ho_PhHj4c6UE#c4a;Sy)a9tS6cER;v#iJR-gt-EelH!#jmPrtrDsgWZqwEq3U{ zx34>2p~E+eKMut3b@I`s&26>j(5B6iO`G#X&&}0ybJ;m7Q>oV>vstUVqQKuz0q#v~ zI`=ySL6_T)s+$beNo;c4rMmG*?KatsM`|-_hsg;#tA}V;)?Rxss|OEjE0T!G32LqA z(YZVEq~H@goADz^#;XI!c+pxE?q49|dF+QH?3JdTw~V7F$&cfBAsIg{WQ6)TPR0eh za*_Ca%qR@v5Ans(iFN?fG&>Xer&;?PWWRJIy~=z%WXFR^4Q#fnJB|CC!ekAe0~%QC zax_r;Qkw>ctY!E!NASUzJCaUULMT9uo%tyRf8Y-@-tDvXo`s`6LkMeGmX*tMnDw(F z1uH8dY??L8LzH3)o=B$UekaO4OqVeKhLCi+q@SG?@wGnn-vU;4N2(VBYol0^BJxz? z`Fw=Y{jMNSBc3mh+3X-qQxZIagqQS_rx)qpB_S z`Ip?rRMlkEu7GTPnH2#c@2rKW7Az%MRDoK_t|%yB??=zTQAOqHpxQY~PO$#~bRSN+ zBq(%A!MAvhMrK_CHWSffAo+`ljRQTg0_o2ZYF~lsWM&&-IC-(&_s_#EXVd>}NuX2H6 za%IxT|5&QGmychK=ZpCGUOb<#?~kJV>gxNGB=^#QKjChab^a-O0XzboZ*c-Ur{H_M zlFpZ2x!Z&W4vo@~yHNyW69iC4aRKk{>kktFCsYKKss8ao0IGU1QV`nMyObcnGy;yP2pAh15D0q621GK9BA}>=fZTj!+~*Ox z4*lYQ+uXe{9tW&T_4bMb>hXM$IN(7%pC1RDMi}YF0Y?b|ku@}p-l%{I~zF)n~+M_>o83JP6P@DrYy9f)7#8AgKC zEPSb_QB3I01}B(ceLM_I9FE0Ac|0+J^T6`jUtt{rOo)7=m`LV{<77P&FZ5d*G>Ct6 zNWw&!Y06QoX&#MVs+_ z5kKd%cs_p|h{gqV$3Y+3~KOMnX>6@Iu&MEjAugorVKrg*|-%Z-Msh+k?8^wn1 zTyla9*2CSb!XVh#*99A8tYJ*Cfuo}G2LpU#5uitK7{!L>ymGRql0joA9@DgfjnSS% z7}#U#^+^u1RzY`W*@~_(dWb5rUnHIECMLwFyNUOb(gO)M0*t34~+h}L<_#WORwJdBS>qU!zea1XOasE zHim|csV>+UmuMjd8@e9|GwU;H&NdekpQ$G{1{q(SRIoAH(Zaw!Q)r!qj}t*RY8NzT zoRdhIiT+R`XCx( uUYytukos#c;&Y8!0^M2W1P?>Q1AZ?&^4;1|j}HDN9>PA6`Y~UFp3y&goT8fm diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-rtlsupport-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-rtlsupport-l1-1-0.a deleted file mode 100644 index 3145e29fafb6beb504e3f35bbe932be66543074d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4404 zcmdT{O>fgc5FIBeEunk}aR9`@m7wC#1iMY$M5<6kIQD>`<%HOn#33e5V%d&Bhyw?% zNWJqDxbg#f=F0z}%s090>mQDv;b*iq;NA$#FOPQV(&w!=QU z1KW2Q8eOYuG0%NRRa%Dwr!@?mk?k`A^+SR)GO-}?!jbO}gNS)1Gnv6`hD-GwV65xd z?elg9>}BK~4e)u|b<;wpZr^7UHbgXRKN++K`(jDz(ITs)6l zEA_(??rn*j=xHv{09W@7PWpo3f5l%Q@4fj5il!{N9e5SHxa?!#%sj*%)_u?&Sh1=2F8F&s(|Ohz}p=B#GVw8 z`Ra@QDlA(c#)A4Vcc(JK7v#)5eH<#hTBbhUDt^z>M>iWcrH>#Rm*|7eBa7+-6n)5_ lKK@0$th%@-Rgmf;2_Men;K#Tw(*NA_Uwi5ocu6O);y>f+@2CI( diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-rtlsupport-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-rtlsupport-l1-2-0.a deleted file mode 100644 index e8cf8178dc00503ca6c5532bf48598f71c566d99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4400 zcmeHKO>fgc5FIxuEunlIIFy@_0C6C}32hpr3Pq|w96+k7a%Jl#8)DUoE!!1E;=oVn zoqxeE=#e}Bhca)yPS%anfJ9RXy3u;qv(LNUnfE-K`A$EvwezLEUT^ZxahkU6 zs3G%e+s|4p{lH#@h?a@0??mNq++9uU4Vwt{)?-v5wuE>W%P1DxGLezk3c6B!^oDNe z2{wAoR#W)iKB~3`L)i%;dFX}$pg|0{fJsD&A0LKc5GBH|i-vH7D|o7bBq93J?Oya^ zBz6*i$Ms_Q@~9)j#0!S)HD22rgraze@!Or<;Fagg*ZhJqYPSshM z(WiF3Vc;i*sM|?;Ni7(Kaa#Nk(I&@~-93um8|xZ}kZ8>!x~+PPRxOc7iRw?k*yQZh zx^Ci5hp3S@IVZLKIGzEcFTi=2@WEP!Epw;L?`0M>Uy57L?7%Hg$8BUdCL^sB;IeUM zT6GXtnQ2uptvY5})vs3@Rj1bVeFoQh97+Aq&r_lgR?j`i4BBq`5KETMtP7awzlCWS z!*``=7{hPyMajZ7U$k$P&lY*;9E|c8SW&Vb&NqOcoGZ}{i@Y;+$EPP;~Cp^BZ*^b7( zxO_7D{v(FSbMK9HX`FX*`J}~|elc#OGR(Khn5Y=nsKov@;Ktf`HsE}A7O&#JiR`XKqK48@a zAJ7$Fz>)=@(BI$(_yX3Hd+&^sNn zxcIZ}RnxS&NzYBQyjoHnwif|l0l@eTQ22$_xAM8R4?xe2uk;A9Da5xO}7JHipR z@C1(5@j-}|?=@yHABb1oAPT(5-})3rerHRq>cwHLS}Nl@f=*vd!6c7>{q6JnOGK^S z8${!i*Q&#rQ(B?1Q*YLzVlUqFw7tgNcU{*s-6u!_PTPyGjVrj_02Kq^CfDYSV&or2 zTu;wTu(yj1FY?kM+)@Smq*xEbDKI!9TtEXpD96|WRtmT-J@I%Fw-(z8w~&rok8vwl zSxUgg?Z`^26I#ehi&$yJth9)gR@<>0%PuzBZNe9uLEBdy|C|Es7)@_CHYmI9N18T& zW^RJ%KFpw(Fq-ekA9;iF@ud9Aew)Llb1>{PVn*J0G(L!Wi$^C+4tki+@I+W- z#<#LFzT&J+Fy6)8xW!*nxM;?glvCk0R*3P-iYc_)NsN#2da2=t3ewx-I^p8_*>VXD z^FTSB1@r8m>s-si_ZA=52*+VVmGY&356YO273Gy%bbd>ZnN3MB7B@B-F zP9^CSpv$?;a_|!?GYnKSh=wZqO09)9rV?h-fTBGqc5c4@1=VCLbyO>uMMwzfM zPfj1w+wt+pMode-PvDJ&Sx9pdYXPp}BYjQpdQJB?O`D&LIiN>qjxeB9z}})+u$LBf zm6o-bGo~H>R$7D98uh0{vrFyV=XU@aM_OJg3l%x|f%%k+R+h`y%r1@`k60s4MvchZ zw`tN1?7v17w}u+IgZrOVBSwlwYRn`&aj?9M8ZmL*ltvnPE)AUL;5(Kn8p-;1;{xwN&o-= diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-l1-1-0.a deleted file mode 100644 index beeee46a18a3eae8de2893bc0fa908f7ee20b895..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3610 zcmdT{&2G~`5FRHfDQOWsaOi=9LFI;noiuJh6$+|ALgIi_p>jalI*mizI&l=cwB^(T z2abIMF5GyDz5(ySLr`Y+$JsP?(@Rq^m3KF@-|pJ8-?y`UwCRoZdM_)_%t><^j*EY` zyifW0&-Xev zyA-gugCGgK#NR%N6TiPL-{tl3POG+#uMqTyYzF34I~paE!*^Qg*qmPIoJ9LcHA=TA zZ*Oq7T-P;Cw<-3@G(TwH?PZ zU~o#ffF@j9SJ)CZO88#7@%aRm4YE^y~4X<%*ZqB$yt%LLNqoTQLu##f;)mG^m_38CM>! z1?;*4!(&B^C>j*4X;ZTkrU3g`&PTz-@m?0kk@nj>U3D~oK@pKA&$^RRqF7E`(>PV4(lo<)3~V*e+}bgImo%OdHiPy4ryi*>bi zVVrFyvPcs#!)#otFq&@@F<-NBE_QQ!h-FJ+qzfza{Nf4yIy)Qt@NNXTcL&ZrT9dd6 za2FpDYx=FX^mx;<#pxUadM4%>1tj-*v}hF^rDa#CU@gZ?D29J4y@OB~jVGhkg<>A_ z-vBg^@Vt>8stWK6%NbXq>s*`Wal0Gq!@j0IYV|37oMLEZ>Eom13{~^gM_XI>Dt(06 zxG8;n$;PGnSjF#aNeninW$ObV>+UN!^}lL^&IhuwHeLt^FAMMkYnJudGyfr&OIE7< E174(f8~^|S diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-l1-1-1.a deleted file mode 100644 index ba74c11dd9bdd99e6b2c63799fee5aaf53516593..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2724 zcmc&$&2G~`5FRHfDNzv|dO)0vRBqVVQR1YiLXmnx;()~8jg3<~*fg=D*ikuf;1PO< zhv^&eMwFTHZnA0YwwJV%cy~PedB^$ujVI5K{P{`rruE8PH@EA0uIC&cI;M$VG<`J9 zcCRBZ7`6bQ0bqQ_=`}#}4;?}r3-Kun=b3mP=HXl%r$H#r;>4fD0)w&F_rxR~(IKO0 z5}u^Qv!KroB zfi=x6)PY4hu#^t0iEH7<4ki<@$MGbT7yP>f_-2g#Qx%YLoj*!fzmk(+I(M}yjK*8N z3ZrpGJk$*u*G=-ueC^=UH5lfK6j3*btxZ$A6Q%~=alD(_V~t0**LdIQF5ehR;~qYT zC;XEd_pR}^Vs;-L()d%U5qi#L8drFI)^N+3(bttvIOSiR_b|`|8mao5%+DkCZlm;w z--`%GW7WVoj~2;k5n-*tJyZj;TT}z_OPsDuf6Em2yip$vR!XOtDik2*u^4Lb7oEH5 z2;1#AvbnXm!ZL@9%j~8u(sT6+YcefAQN`4tNz?jsr^qfIFLC{&R60%O_PWUOtxwOd zgUP;Xd12LU*1AX^F;O{gSz)x_5n|@$I1iWENO=Q^ks+MSi^~^uc7DE!k+;$HS#y+& zGz#z#kAh=5*FBwQN>|_PEueQ`?j#^J&n!_Eyh`h;vU0WFvQ{bl8|fa3%A)JZD0@*U c&-fgG_9-GuS~&6>$MQcj*ZtAClWJ@I2daJ5=>Px# diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sidebyside-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sidebyside-ansi-l1-1-0.a deleted file mode 100644 index 28def184396c33b5994d518f63b64b68651bcbea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3626 zcmdT{!EVz)5FIBe4WS4QAaUT}N^pTX*d=ijsX~c@IB}>{aY0C1H{LW>6DP#3D4aO( z0X-qkd;y=(AK_OhGrQ|#-Pma_xMC#lj%S~DW~WA7q9i`X8I`Hb}@K4+hT(3=Jf zgMr&}*(f-qOGPIk?@wm@#G5h#jU$3H3b82g`Qc}3nHNR@8#&BjHuD(HH|D_Dkb8b1 zD*}5HgnqXl_u|ui-j9PxxF64g@Tl9_w(*Aq<0)GW>CLzob2&q|(@37V90tEXjNR^rrOGb+FJuR0JUxlJOJ*lb2|i+5sE%vI`C%64k=puqDB*m|X)kf!#r?Q1 z-luZYoZnVyg$L*m=N~Dq(0*reKEdm~hMQ|hA5VP3CI01p0|VdYh zijOS9(FA*75D!nnV;K>ggBwtV$gWfc<(G20F#W3|fAf+~1UO+l^`umQsc2b>_dTG4q;0 zyV=0S2HLu?s70w7Lp5@mjhpL@=G#Tgmu#Gi!@?e8+ff)5!p=OucuIF?XNwq~n;`Eb zA(=>P5_17=<0W%V_qwO&o0csvS02#ow5T(nlpwN2tKd^w?Nxf#Do;v3;$7)CNWIbX zWVE`}&!)Hspm}8EwTe(zf?wFKJ|SJ>5LMuTk7|<8h<#0s*sUdvoML*e(#RgA5RJMb zHS%6tca=u`Y}}GY!ff1JBUGC^3PbNJEn6c1sbjI=)BmcAhw4oix}cM5VkP*2E=#>` K{-1*)E7D)0sCNhe diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sidebyside-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sidebyside-l1-1-0.a deleted file mode 100644 index aebb07b2814e008eb0cfc2c4d850999b0396c254..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11016 zcmeHN&5zqe6n}B{tE)wzs;w&Vm7*3^s0sFdWV6z$O0^Zea422Sq6#tVtS1|*`Pe4j zWs5lUz#mYAIB-Us_zyUsiUUV3@TYL5yf@>IvBz<|66-2eMw%Jt&Ceds^ZU(vGm~rE z_VA!{d-=mkJXsr7-Kv{gTa8M^6isSbsWdEX5NUrI0ImX*PXHG70WSO@^UCi4lwbc% z=8L}qP`>=9%vb-$+c3ZRkIe7lb11*}hRios04U#Fpv>3~W1o%qaK!F&j}O_-z~SsG zw{IW0425pJQD-LVAE`Gqf+#c~HP7{A}%!mHd_L{4W;CY%@5$tl$ zbNh#*G5C1%J?`xs4~M+(C0`}2NjHvdmTA`O z^-2YeJ7n9(B_sr<^%C+*T+Nqi9zXTO_4uL!=6=nwJ$pPvv^2qdUTcj;6JYR^a4tRY z`g(w!!;3k5FExqhN!&&tC*0C_+-88gi5Dv=xS$<*UG0sk$m=Tcx*GAi+O?`y)vP() zE`n=qx6A#T{(S*(SZdpk0)a1Abx2*76a5lQ)t@mAqv)8c3NB=h+8$gJF1SwC=on!UsH8byQRwG2ah1o`JHpo?9FwpcXnURG z{v#<7)&?(u4???=52RnxX_VBtM!vJg5CINsooeDJfIlp8ZNOhx7v<&8JC5*!mStku z$TUsMlvJDKPd3dpg=LFEGpA_D6w0NsYzd{eu>HPo?Nn9H&!2?zKYc^;a}Sk%A@Vyh zf6_pVla32nM$g+uOg|l0$7YdewrTnpUxZcV`HLI$>)EqNMmmeda>C}QAF@%5gfUC~ z(r@)j#29T0l zzJw|RzQl;~ufFZah8ryyba5f8$jJ5^ zGutoP_Lo3eOYh0~@|B+V)!}AsF%&)TZ|1c9)lDttd5V+eq?qS(KMtU($e5?4^qUp) zbklKK%yW{C3u7MK!pj}=EULC2ZWK*72i~R$1XC3IY)gSC4fqLbrf?t}b~+al%?0~| zdQMJQ`a0knw3A7k_*Ai_B02G;(r*?gI_Wr#6T@^|$can%&6_?ZGKTbZzyc(9LZ_P# zG#^lk_z-S>pwxgLv1G|1Mb3%*dSr$`pGm435WaFmYI zSnzc^E@Z)5_@(o*U>>x+dw=hLy4i3IbwDX%!(Ay5r2)TS&BhHq>*OMKGEy)<)^qY> zRp-Yna=IS!<1CTWoX!tAyTbVt_uVj0TREFf~>~wpJT(MJf$j!{7>Y`WGt2tRPJ4wi7!C6ic z42b>lV5)sWu9Jk=aHFMzE-u&uSb1&V($)>9I2}$}H_T4ah%)h0v=XTQrkU>9pFAI> zXsz&p6o}G*@33a-a3j;#qy<}k?(<`PMKIepidF;{@eAi&F$2W^A4Wzp&8vYcGyqJI X_1C08lm`5OHH!~9ihNS!#W3JM@X{`4 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-slapi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-slapi-l1-1-0.a deleted file mode 100644 index ffc11e7ff61d2d66fd79fe83e6c580887fcd9846..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3632 zcmeHK&2G~`5FRHfDQPJjIB-I)C^sDJkUEW2p`c2LLk=JW*R9)Z8dK*-u_NdOapc(N z;J`EV%DeCkl$qIevT5R`NTfZ$NZwt~e%^IvzR$DS+zp0@o#&;e_OyB1p6~f?y1F;B{y+)-`UAzW?pmj1DB<21%Sy@@~T-Wz~ z+xBavIal8NqUkDe{f?N2D zlohZm;Cq?I>nYrJ>L=W4Hm;W9ws5dM2bazxi=1xkAg>(amBYMpBG2(0x7>;%!j;=$ zB=rNo&H;|Bc5s|JwBL*$ZI{2WC&A3v<+3nF-11o%BW4tbyhZJ_>9}&dR&eSP49AKX zk+(Ld7twd=>V(O`5w_Q$%(R_vmAN??nsN3A-k z@lC790r`sjrGigvHZxA1RlJ_y{J!Qmb@uYA$M|bcnXBSvAB=rrQe~#9#|~nW`M9yR zXuVy;e4dZ(p;<&3LQ; diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-l1-1-0.a deleted file mode 100644 index e72a4857f6c779b4b9b1b891de8bfd393de9d07a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8512 zcmeHM-EQ1O6h7-snz9N|Rr~}2l|g|E#4h$G@orEQt%w3QAS#h6h>K2~+UZ*L{>bal zt;9uM0I3o}Tp`|rtKRbhJPqZXnXx^N?OjJ=T`kQ>^W$@lJ)W8Gn{&qgV9yR7^!FQ| z>FH$dn3ic7ySr^&H@HeIb=|VWwXUBu0N^%&_BX)lp8&6Hh`jzW0Oi-WMZS$S;z9@Gq~+M5U2MWNJusfNPA8K&W^h4v z9zAdqc_Y#aRx9{kYU0lmb~}-r>~0p@bt1b>Y^>+lMS5gZb1-QlqngC1reIXlH=AbD zXgR)*hOINtcjXQLJO_AKJF_1}0x4JLkGiX0>XXdWxzmbllzFQc*(h^H^H8r*nND(E z`FyRSYK9G;D?&uQ_F?)V@+x{d*=W$mvWi`d5Z=E6!n=l`FF=JGH)F!*AeYsvo!5UCW++XAK^D1wZ!Fiv17&OPkF#~5| z|9tpJNI25q1#p4SuHXXAFU@I^)ICPLbA}zqf+NDSy5=OgiTP91e=ku^mA*Lt5%2f3cH7w5snRbb zekSEVx@hC)+r{jn=k1}*kNI{Ms(E?~%bv86BCPah&p)E8r%w|ZaV`pel;{Z!2y@gQ zVH9Ib%wnGDT5YLwOa z@*cm&2sxH~E+tfH@H>`;Vd3ncaq-b?!UpS_4YXbY$obLPf6ay)kQ4WF%>2*UkTdKO zhoLIjuv3x^Mn{Rf#7^}SLTH|EI1(`9XsgmU+*kUYb{XFg8kaGlF?pbpCSM~;%^jf9B%loI@ZA_TnD z;AgCvGF;_LX+~Nh>f7Z|-?@%__&N&k$LEC@^;d~}G)R5temNqa^pKVCKTlC1{>_s3 zZ*OHH{|f}eyj}lg`6`6J3QO<$wKV?apQGiDe%|N1gSz|gNeNXN{DCF@0abpkUEzmW zl_vqCBp;033?Hsf0?A3>D*gb{d^ntP#4K+lM0)|HBog93Erbxc@GG{`T$uM0xPpHX Gjeh|ae}eb` diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-l2-1-0.a deleted file mode 100644 index fcd0eb3e97db8c2b540f30de69e69eebbe0f1f6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9932 zcmeI2&2HO95XVQ99lM76k)RC%qy^N*&7r6i%8@A<2nw}66)*xHnx^QXYuchhHu?f3 z$3f9UZbc6T(sN%X#{vcN1U>iMCulk|yX3A!N}_>?fncq%OLF!vF1h^8?r`ak@44Zr z|Hamw(s-)wRUQ1Z?Y&aT<|?x+m7ID_{or^D0ImaA{{XE23Gmi!nYTX#p#1JNnXhdE zQ2yY3nQvSHpnP*p=8ygbpj`S}=36fTZoL%ZK!^uJFC2;^Z{&sIpx^SudC+qQfk0#6 zG#t?hPADsDzvrFyL+{KT2oiONBo|~7!%-OY9*NGbs0v%S0#DQRKnUM+TZ?Q6#Mi?E z-whuO2448ES;HoS?m#50QgzrrPf=;BRDIbQ_-^7{+G?oopLM-3I87Ium1);FZi|n; zI%~HdHXG5MB<*B53cV*2qS!?B_r0eh;iJkd+UYD2rr!Xrxzu#k1H*AmaJKHI`s2=^P+#QzDpUUJ)zECyfO@mU)a}M7Vze!W(uqLAZlY;XS^KwKq-puIfy{ z$$|;Lp$MU;oJM%0H@Ai^_87B1+9zGKKe^pT!v;`EzQ4i!^EU5g;oRr>1?8BS8EB9E zv)*HAVbb6Y_yYH?^abi)>QkM}F-Bf?B#Ec8E=? zC9kAJ$L5~d$JA6YIir9%@ACWsigoTGY6X8~%%#d>jTvRkL-_va8l*?j?rT@gmYrF zJ1fHJr0Wt9&XaUq9N}C?*J&yZd67)%5zZBp`e-=@e?Sq!vPL>L)g9|dr=cvgvEUCZ zRiwk5N4Gt>HkPc+(HHiz`GT{5H{lDbXn!a6g?I2-XZ3}3pjAD&PAW-RULU}PZ%*0= zZYv9IEcg{mp>J2CKVi#}_*ypN>-1TG)A80}LB4hUjHBJW(f=D`)Xa1A|G{W?*68o2 z>k^}Xn68V7rzfA4_%%&DuUAVpmX~^(`6y}XE7HKF1;67~Qy(qSs}CYE`P!Z%{dcp` z?=+IDJ0m1w9{q;~HF?titY_ytR*KK}ltzi4Swj;!ylSf?i=QJ%i0^Ez3#n05Zm;n zxx}PT#N+x!;`joy9<5$3_q%N7IDT^VlA;;ImgDGdXCrLU(_QlixKSg{vWB>pF diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-l2-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-l2-1-1.a deleted file mode 100644 index da27e7703ce19f266bd810e48609a6b86fb909cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2728 zcmc&$O>fgc5FIBeDNzv|dgukopmM{;4y}`-2u11zq#lqeq~5kp?9^7B57{pC*q_iN zH~vcR{3puH>^j*rF@ZzUjl4UaeY@kledF<~j-U3UkBxWcd~*+7&-I+6cFQy!p3-~M zY_>eL;Jg6Bi?*T51fqz*zlwaqM!c`x{B$&=!r3|C- zRxQJ5oDmOIgZlZVcxAq}aOy7@=86r z!VCTvwZ~R?Q;`X~XpqA9ltSo~mnpo!>!XI7W{f^x*n}(WhvN=9>Oei^ex3Pw#@4^+ zJmNPa!m+VtV30>wqf6;wrNJZQ0<$Y~f%qj(XH9>{$Y);24h9!Gr;+j#Go5?cRp1vI zo2UuvtT?K)H7L6>hnh^WRrRCQe6M9!ohi9N1ygY*J?m#qo^8C|;{2IXISuCe>c{kb zPiJ?4!FpO;nAMrN`q4&AvK%+fF50hym~YE*9!_)H!@jF9%7ue@cmIa&Zf|EkvX)hS zsX2;A8U=WYm*ko5bxY@(LRJ?m3+VNi>j)^#GgA}=S7|j>Wv*6P<}!u=^D(il8kD6kyx5mqaS5%8UdAg@s&w=%vkZO-ppdhWe?3&` zK<$IyW&7wi0BRp!$Y$X>)IR%#nh^Je_%`yFk@&`s{iV1+AN%6RVCF3Xfy}_|yCMwE zs44Dz=8xt}|FO3aq%@64T@Xt|@iLe_6!Wua9^z^ubc7>p;R#%C>Vpsy-y4^*BZv^c zOz6)Z9QSbFV7d@193>rQq|71dXz>ImJ6&^j%F`Od91Y1+8V`>9Yb!8^rPD>QF4in9 zAFfSDIkS{JJKbD8J2{=}#p`n=2gXmLdEA*NfGt9*W81FlB2ouO2~tlQ*AT1#{RY50 zJlbt^V*jU@$Hkom_GxGA#a^)rOOC<5=$u8-E7ag;(hF$8TRpA2gM%IXUMBH+QtwFf zNpHVc@2=LngM-5yJuOGyXiuXy`bL|4qb+@-t$m{%I&G(IcgA4|&^Zr6UrqeyCBVbR zx%Wsj6yLNXZQEMgo77AjHj8u&`?ZR64BL@CS`F$~N!gd}wu_?w&|#YqGFpw>tBa^l zdUeui!VlP&8kY_T^OM)WeBT*lFz@31c$fd5ovJb4Rc3{oI3Ub_sIWr!I}h_(-@F=n zi4U1_JtjRpUcVk9V-KjOXt2ljd5cGzAb!G01J#ijJ#ZdR9?u?04r2}~@CvrB^a`>s z*)%0H>d5b$@e@|oh^H%gD!_t!*)`!09F&?aOUcTr4q$(aY@~s7x>x6zp5bqMY@`@5 zO{Ebb+(ZF!urz`@C_hoSr;GLGa!isF=x+9Kv+s<3AWs9hZvryBhV|QqN;tUq8CkoC@N6Z&SqMQ7O~u!AYZjf>lp~mqPrGL_8gp zU+Fl1gF*mOTHV}|4DOpikL|L$(QgHe;wE8LfcdX#%+oC@v$km^n7`V!&1+#k`~FJ4 z{Hmg|>28Yoy0XdfjZ4M(rpEl%R5sJadS#NJ7E@ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-obsolete-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-obsolete-l1-1-1.a deleted file mode 100644 index d08cd3ccc244556622b5107bb25af74adfc91bdb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3518 zcmeHJ&2G~`5FRHfDNzv|IB+xwPSnAM#7(3M1@+nk7r1Vm#A)0*KaE`qH=Y3Xk@^6A z0wi9AGBdlItdp4b0PX=M@_Ib`dB^$ujc1?k2lM{uZS9qvHLvOUp6|BzTDI--lsVe= z8`oDibZY=`55W2aP&o#uewRn>3ZQl+#DNeWl5n1g_hA~&#ldtCit}g^%p!ro$Zz=~ zj(T*c=yVeHr}OYEma2{w;C$5UrS++1J&$eAb$uU+_S?+`+lLmCjn=XN9SfACA_C6MGK+>Vr52s1Kt!R5$*-1~{^Y!HEv2xXB}> zEwAJzn8{%&4`c9G&chho5g%oX#;hrRnYS&R`VEFTBW0AWm)S+sm0q1NB{;>g(AuoA z=0~^Je9LREY2L^8@reIV<*qgVTG0xR(IL%0QCgw*y-D*LZ=Ma@qK3?Q?GsM>tLGgI zRDnkN8dRB|2khNO@gx3lA{>p?1H*K5HaU?I)*ReHRWQ4SM?UjfoiJD{ zp3YRM05cxtP=X)m6xuQh=}f8@%6dy&G>?n!<{r~9>aEHorKo9Y@1$^31r*uFV;AQS zmG0?e|Ggfw=n3>T8<^~)kr$S|DAQx8M|L;k7WGE!?IY%RGtS3pHmb0W!l)3Q?91yH zbaipDjNx7g^zJ|^k8+Sw0q)}=xut8@&milI?kA({vR>r37J$}~k!J)@R)TNnWwt%*8=(TXWZYp`@$P@c-~)j$D7lj@+^9vx7m)Wly}mGxQh= zJ-cSJu6IINN(X)Sbl|&Z&X5tPHzGJA5gUztum8yDk3813n8i%yFzl-50%IN5X^Kk3dam!C#=49(YWF0Axl}#l z$7k(!vr!A4GcH#Wt+%L*ejWMl`6n06hGpwL>Cyl-F&II(h}s{x7h~Q_S?@)c2B?XL zA&8n6U%!NTMdj2}xYA;mA~I+>-=2?41EomQG{`bd+qMk@iK;Z{Ft>q91W?JLuJGD= zt~AD{1Z+3(PGysT1B(e>UI%aYI|K*-t^B4fJeEu^EePl zxxR)pWMN`lg6Zp*pN7%at}qRwtsAXHAxGC}l55M?Y#p0sVEB3wD+;+g(N5&Apm)OL zfmS3d+el3BEWq@dS&uQ@#+|s%XR>zHOfSm?g*UN6Ous2vLOY$r^Z>7y8cu1B-X7Em z7t|-q9TaQ=UC9P)^7VO@*V1sk!~GV*F>&5Nd)zteKNb?sHn;+P;HxY2f!3GSG)%g! z5zidc5DpHwP9^CmfSeYu=izTGv+~%N9TUg^WSg{XWSXXB300ftPpYP+Y1t-UnG0kx zg=fTTeeX%Kh50VFA4#@TVO*X+QTCtqko??N+PDz!MilyDm7R0E)h-P^P^`Fnnm|hqS1w>kk(P6euQL?{}z`#{DPHOz?mF|W)l;K z%r{rer(F`HO^(d|Z{}}H=8IVOrD6VLXdipw%H(ZOG2g7GWPbTx%;rBuy3DirUkXZb zW@TyfPqcAo+5B!YE@t!3lX1%Czm3|{kQmY=k&B|dHgj2R|1CM=(Dv7) zgo-@;g;#0&Bh#KdiHJ95tPi!6`mlU3@jCj7##+?=M94F&q z5zjZtIA!nYJ3?A}zowYqTx!<8A&h}$>vyGuiah*?S8nUocjPGL#nyAj>GeNGgtU)HGiH7{9rIU~em3(LvGjSx{FlVitN;2$ zDSss~ed;f{tFs(p{4`6y$XQN~^F9187xlZ$aeeBuoN&s~vz!Te#uh*27v0ra4)Jul e1}ySc3!w%ysn2C*f9kWG$?v)JrmM-aVg0}9l~4-+ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-synch-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-synch-ansi-l1-1-0.a deleted file mode 100644 index 5639c68a6933384a8c85f335123a8f66091cb4aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7768 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-synch-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-synch-l1-2-0.a deleted file mode 100644 index afe68202d86d0e6436358ab0232948824d9a4fe6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16298 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-1-0.a deleted file mode 100644 index ed4e679c9cfa607639a18f02f4557ae07aa78591..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20314 zcmeHP&2QX96rXI;rVZ%_rL8K8%C-a$Rd?~`!@EHhWEgenf45GTZe6XL|NM=o4Aa^S#`KZ5e!jMtv=jCW_H#MNp&(v0ml&z_x` z-*4W`8+*@QthLuS-=26gFNV@w$t;=1d}TVHH)s~0=JSwWVRx)f5JHNC?4Ks&;7LLz z@3MHLK?ufU4_G|$h!BjYzGLz9H-un3^CgRCcL>2a)nf5=xEJGj(7{;vg+=3cLNLz! z!=m{YAsFZXWbxwPgkXHDG(?fL&MV5Epb6Oj&)hJmd%dlz|Jf~?B z%i6SS^*t?#ST}8d$z88CmYt@(Fbicm%`HokUTwH*wZ?mP({10s>DT;i@A6Khos@gk z_E(%%-M#0%>$L54A8uY*sC3Fm%2mj#UGJi~aMuUW9gf?&ytBgnw78hptE%;=IMQ1% zxL+KUfiloocGmAKy4x*Z&=I7(mN~1|V{*{EdEfKxX7@JhqLcUpvHjFf=(HlsML1Nw zD^9}}fe{uVD~MV3+uNSsw4rHA(_H&;PZu?WyM=y$c~)ZTt!CX3eKq6szA`6@Eh(C4mP$^yrf$X2+#)z34W# zwqX#v4ucMoN9ZtBrgTrW+dVXs)VJN*nqPD~79+`0lnlc(&3xW0&j+Subz*5`KNt%b zzem6}(6fCbMc>}>>3MRJC&p^AUh`|oDl}(-7*C38p4UT-JVZSQA2>DJ(H(=6G5B44 zpwDA^a~(PA9Z1$Icl4&HHySGw)%do{CFyYOHkzcvwHda<=m@4_2-=ml*FMPVqC?vX z5ivUQiujP=s`GTz$q@(ARP6Nx#rUQ^#w*5*gmDx4;V7-g*t5ns%*cWB33ppbw1Q)2MlA~-A;y6u_{o}NK4$(6mq;Jy66sSX>s39Bv=6352lTfUY zXTS#9x{M9jzSyQw;71wunMgK>m#Y=Xl8Poec@ceC)khDC{GyToTzD z!G=^or>@ou`GwEB2s$mbo(b7B;5f4o=ma7-N zd=8VGr`IgW5m+|rE{sxGqEV|tQEzCWzB~esk(yP>|J z){{_wSFIPK{uI=2A<$txj;R{;$BAlfJJ{%dDX4UW{U+-fVy9kBNf zi;xYa`HT(FQw+%JbqU&l-DJZH1Xg~McVZaWps2R66qg!>=BCMpO2&qi*>Ft7hU### zLG+Ww*}!tsWJ6hx4F=nt$Y<*V;7({m!kJP(>x1W!4Uq?)&Z`G?eQ*L=14A@Jy1)c9 z%@JG}p(8q~E;luj#A)K*%y18V(`!z&o9p7E0`9BBh5K$BXlbsDOLJPdH|J-im2u_| znhMAJ!@wQgmGKb{_c$z~A7xO-`(s!E2+?@|8WYeoN4|n1H{J`IxZH+ts)(P}M11A} z#ZHV_gb?xl%y14P;={fD!A8862b8a_fcdZys5H&_&5Rc6%LZ&9$2_2)0t9+_K$jUz zC|c6=fPTW2%gw_jzyGFMPx64a)p{Z7alF$V=MM>}H)&aeJl3DY;Q&H3))$$8raAI0 z9EDeVy1%rO>X<*RhyGdF|NjUO(F^^n9BR@;|81_^Zs_;bdJ_6SQ|pE3hnM=a(Lagk zXRivyof<0$m_cU3IjjJLhzVDifTlU}GaRGWt)%J;{?CLaO5F>pw=Z1I7()A)5k>a< z^uv(nk{MFPLWY+iqEA%Kkn}yHntRAIvJLqH;L^*6e9Vo#Y1)ttuH0@mWJ|3l*^mcn zz0iid2*}o*K}|#q5nq}eaCW?m^o9`Gj|Fz*^L&yb{11aP} z>YgJ*Z^yZ8%68#v4ZFa9(~_p=C}I90?Y-f9A{b&Am*zvCtMx)IOu;jB?ZOyxq03jk zm*Ia82ALOc&=%!w#Bw0PLyr6gDcXpxO&~6rHB{5IADa8sbFx<{<4ojLItMt=<;-Xg z&M;&R?z>8zH8W)Jnh3ar}q4%E{rSVT1{{t0SdJ+Ht diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-0.a deleted file mode 100644 index b04ac45108ce659693d370933798f9d9bf526182..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9486 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 EEfVZlo&W#< diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-2.a deleted file mode 100644 index cf1d7023800878debad26f4e91168cbacb38d4fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2770 zcmc&$L66cv6n+I(RJxfqWg_lFpN z!~OyPlIwfZDGUo;xWGQ>%+6dPHyU{FDsS|4v(7EYa?DoC)OGx$sjaTt zEn8mDs{lX=K=ZKc0+fH#!B~f}&oPf;cF7YSu}(PT?3+JzXFkKA?=&42_ngikt) zLBK!x6W+FLya#_WW4ll=oR3HSq!wm8=kaTqrsFue?lf9Ue!JQOq!_@|03HkPM5`tI zdm{Y&MhCN38@h>`4-q46Ft2O*i!fHLk;>JS>?@Ki?Uy3`=;)FZR$2Brs z6`iv!xNIDiVN7BJm0^%F45%bZciGoNsof4e`!KpCi| z>@N#`9tm$BrF-I4iEuQb8W<(sd^%1eLThjj*&x_Wvw`>}PFJSBWzu`z$PWR|lukWm zC;%3rr4`^W`bQ}e2dzP}+NJpwn`9!%cGZwZ9Se!DUZty*1uwr)!&IKTk9Q)h={CM-%Q+X(rpAOsZ~_)1}gd>PPfgbS>My>eZgO4J8 z67kUopZy8`0soSE&Y9WGB-w3Np^<_EbIF-+W-@2KZ_n(WyW(^=>nn4YjKO3rS+-@H zm&=x6nB1k8hJoE`!1^2j90thV1em@EF#BHSLmvPrAN?friO&F(=f6=FVoiugzT5T1 zeK&BsVy#_u#Y?Z{bUcAZ&o0}d;cZY>)^^L?YP3D;6_4FJso5c~1+jtJgc^^~% zn&XSgoiL9L;`k}W5jy8Mj)!=?)^L$#^!~6-xUfB3WAK0(3L&ii8TQW+wxwZuogejb zPG$|%f_ks@Tw0iG@DJ3$-j!+~|B_GpNq@@7|2(1(28T?iniL99=Ta6~_<@ay1i3wp zp(##>hZWpUo_tp#B}3vHgzWe=MNGmSm6KW1{2!lUR@)Rs!l^KdazxV!@c#?1?JCN~eJ0r~=+0 z9md6ir;;+voJq!lnzrt4v7i%=8;J$4<8hG!=vkOH7Gxm)I|(UlKP%xZZ2(h09;`?M zms$9NwTRz(nomd*RfU;S6{V3I(tlMfM5;K0C!SUnK&puS0=U0bVKDo3Ra{jTsRu{HV%jb z2afwYkT`JTxc`Iyh4G%_wC<9uy^x6~#de-Q+wt@F^|=o=-Ee>Ky!O-r$Ju2O&RpM~py2L2yPcCQe1fhfy#J{NUh}`8Kne#axEd4LLA2 z;BK#o1%bWd(a!PE-ND`LhQU4;A_(8Q;_$^ur-dKl4M%JSM$PcrI~Z^g(L^|5mxrCk zrSVw^=$(pwH>wB8x#gXgZCQ@v7>3hsjL+*$36Be{RRXvzTMMOn#7`pG&MyqG_Ub)1 za`Pdwrvuh`y(`2F7H$@ya3M&c*jQa-Mk;MTCQl7UP5kzwXg zn8+}b7-mj0%=B&3Hm!Qk_i;eI@A+H}{Br?tQ0lvfi9`AIIMT9}OKTHMk6}3vqs6b1 zhtXn3@u-xjoHi9-8Mg)Ox&k9(M$D*`o=i`o-jdk~Q-%?iMXFmeelS1dTXr+Wcn448 zj@(W4x*5N&f(m!BL5yEjOrg`xVtj(vYYjJ6klvrP3751l*DL5)1S;vbU{S{BmTb+# z_ksN7ML3$|4)mkJ@zG)Ik&J_D(1eU`tO<%Q#dKo&Z%+KpDV0cY!gs1krvQO0 zI3LhiHgK^I+PW~wLsR*M@?(^Z8>@}x+eFOgY@CDL((Yr~Q5faI$~eDxOmAmr6Cd8B zApdqjIN~C$OWXyxiBBAFde>We%xURLI`e>@r)8c2r3D!=S_MaGxmPJ#%REyGlKZ7^ zh!scU$!PUhK@a6S0L>G7UMde&W%!BZjEmDem#gA#f|^pSIhA6kl=2k=G)pP(6?>>E zQYn3H-K&%`%EqOX@+liPR?0oxUq@lEsVrM5kSHZ}NB+N6VyInDRI-%>0_!sTz%o%u OYU^|TfhaI<)&2rn_LKAg diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-systemtopology-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-systemtopology-l1-1-1.a deleted file mode 100644 index 45a2304bd6d8d094d1bd0ac989210366f55d4c1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2792 zcmc&$!EVz)5FIBeDNzv|I3NzlNN_<-u-n8*q^gQkAug!ugdZB9Y?Vv5>6cW zfc^%5(KElmzfk6_*U6@h2^>h*^6Yr_?XLa&#^aXUrX`KXgaF;Gplc91-~E zI8`(ndfjO3P27=uiwA137@WYYFAE#b-9457BPIMl_wq-evW15b}@CV}olT6eyh#pIC z%cv#ZG?9M3G08fs_1whGhsco*S=Y7mI9>yzufX|O@Krs-@~fv3-MC0um;#O1ZZa>S z_`yFYzGXM(-;_-84!?~j@@Y!3n0`;@zr4dX1JfhEyI%wy+D&((10t vX07ThWsiJT+(Vjen2(0t)9iU6uZgfu8aY%EbOrj(HvgAr-7nDwGqLg;u^{n> diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-threadpool-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-threadpool-l1-2-0.a deleted file mode 100644 index 505b8f7b08e230db10b4d292878aaf4647734fef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34140 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 UPL=i*h12fX)Blj0?f2jR0j+{w!2kdN diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-timezone-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-timezone-l1-1-0.a deleted file mode 100644 index 7d171d4c7229482a5a26a6c385a44e207f326b6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13476 zcmeHN&2Jnv6o0#$G-+Bs1yTg4npRt=fL&&i>|}$gDpE-iQiKo*sGv&DWOtTKx*uV8 zQqmkyg*b3Ps7Fq4;K~JY;J~G4F8m9KKZNq0Js+OTmlr7$ZCOk9c-6kntY=+=8BAvu z!-je`Ft%q~?bGcF*!J<(f!%UCPHS_}vbx(inC-#V{gG?;D8F&EZY<$YoZbOb#OAc9 z-X2GWL)jiAv>X|q8a4+djZXzBV{SQJn}oLB^d**7yJfos{1m7Cy?$pf>{+fe=&!E? z@1@q`oA2C5{cu`&4P?XKP3+;;VEBn`4J8@mJ7P*UCfztb_ijzB?M_z~BMl9BQz-;$vqp zGlS!j18+~@8h$z9=F@SjKCX(HiwQWt9@pPmZ&btew?^x4%|#;8`djN7HKV52+ubhI zJ4j{kg?}Ccd{*jMcl`pdT$UeoS2@uq!DQK$(=d|UDrp!=W+aD7iPC8B6-*6}4@vM*qUbbQg% z5t`>D9ry9_Q^EzDk?Z|D;r#r`=S3`-14@bgb6h@8@tlgL?{R+w;TX8qK*!xX?B5k7 zT-V?X*ubSL*g*0nnTA1LWyF|c{NP|;)9FbJ1#oyOk}~{>nPNP#)AjT`r*eT9Hqv$7 zSQ0eLvm&eJvc#}CE|zami^=gOotEdFO6D=XiS=zy)9Im|o)rmJeVV@&?5r>K3!$}% zSdk`Tj*@W!!>GOMi1{iRXJR!ERZQ1Cj8}vY?a||_^y}fnunesdBzUm0JF#)Zb&&cd zodr0LQOKNr%Q;!@)O{sxYe2Th+_Hej0WLM_1>cgatjA=@)7x3l^)~WL5LLP6p zcHwG-&q?IXH5@mEkT)NS0-l!PH+<&tM%p0dEHVOFz}Z5`8C{VxQ(MDlJdHC|tX1XA z0?20%2`ce_ur;|NkXWOLEs{6-nj&wewkDG|dAz}%$lH0MZA}gr)LB!!tj~6?VJ{8G}eW~9pUbxA)7%#p|#s$34aL!eEagKPAei=5=+_=g)Aaeu% zY7m4n{DOJnM*8PRD3Sv!lqn5GrZnOfWXhE4e`3lkB;T5Q_wy6Ylvh1ggjVGJfG1=h zezEEB)EAnDZ zzRwr;UEiaUd-i*!FC`u{3y zcapi{3o^7R`y_5Jc(?dth$CuYRE2m3r(LSI_|shs*M$@O3wWhrt?DkOoXx9==8@7a zCX+`I)00jd4lC3GsovX9&xJFYGS0bh3H(D*`A;sBZE2Lwg_AxzJQq%_EtC(cck+$6 lM>hTcSGcRcGKS><$o`i%5pR;cFr}S+wg^I&DBz0V%fB)%jPw8i diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-toolhelp-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-toolhelp-l1-1-0.a deleted file mode 100644 index f7f1ad7c7fd8b3013bb3afb575005734dec39aab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7640 zcmeHMOK;mo5FSx>?YL?4KpsWW0}D8pB2p;Zq7@)0j2h^vEezB}fTGA+wy2N^Z7QOS zJdi^UJ@nQDL4QO4L=Q#}J+}X->CEgdcNJ1Ho4^bdc#VB%_Tw&h_|1d#=eN4Uz3|JW z8}4{%wOc;^d7kgO9#7e=>$W@cx9jdK0l;|x=NEwa7+~>lSwH*>fa=FbvR=TR>ZLzr zz4`|L)laz!u_?q4X)sL1Rxk>NVl(Ll;$d{q9Yg|!k>Bw}9PLt7(&Ql6ONPN=cOVF~ zpAuY$*FVbJZJ>{cMQ!y)dny7FD{XtdG6O{4vR$VoNo z>u8u3z%udHFxd;zR4#Yhte2N(627(wY9_u-dWUh4TQn!u0&}H2OoX2edMHX@$Z}32S`BxuLf|ANAtDj2$j#{$&Cx% zPP5k?btgl3W&^yV=5CrE1A}LTi)g{+HI1Fa!5rR~U3fi-Yil{-7AND@HEtOPXA5w8 z9xb7Ss3sQ^BTVS<3LKag>Q)FR_D7}vJTZ-w_ zxhEGzGOth1Zw)v5(b^YGv>A&c9mMpCahZkDdbbdBP>l0&nhSZF4TVu6?A)VQ*XY;t z=SD`hqca-HdnDgzAL1v#8LU#j^xGcgY%3pEz>dBgML_YLHAK7AwZudSE#Xs-SqYzy z?m=1=T~CD$Dy@VpjtW`7lzhRzW#hoFILIY*#c5s@8K=ejb}8Pkd#zL6<1>`h&a$>Q z;{ANad(M%WFSE+~%ZlZO_t%w#ItN~0oAI8HYu-n+^&4>o?^+h~*Ge*fJ;(f~NQ2`% z{3WGyciaq`uWN)10@^2HEyydL2|B5=T zVSiIesB_>YwqpFqhW-WeYWcrflK=UP=am1;Z^Zw);lKPm!Yr9x{$C}UV=?^qq<~uo ze#74IUmm%@0IZ2>Enuaj1)SzS^gyMPf4khr0sS3N27p=i{-tuCvEv%<=f%}Bzg3d? zr@7BG=Kr7Er%2QAd_od5s; diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-toolhelp-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-toolhelp-l1-1-1.a deleted file mode 100644 index 53787d3b1f69bd8f6aca705b291621ec3ad8a67b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5134 zcmeHL&2G~`5FR@zEuj>OP~m8#!U2(Br>UDr6^c{|ai~xaaN)q#ZCq^X{3v!s4;;92 zpc3MBP~U(%4?~&RAA6HHZHm-XMcrs;*R!8@y|dr!?B>zB*WV3Zl%89I$ys$=$F&>v zhGp5jNtc#Yvt9YZb_oD58@~aHKLO?}k#F4xpu8aS;u65(5@Q>Ty^Z~T%(nc*@3W0= z%V(d$j@JtrDnqyKvMAi4EVbQ^zuWEm2VRd6s2vlWk%}eVZWQ=Yk3|lnpU1GHwhxR2 zzSp|gp@6;ez1~XowSSm2YdB=s?y(`AKx~F_!cp}>l&;T^FT;MEG;^S7gTRVMr#jeY zs)g2W&`v7dbYaJ>sAJo%i;L;j#R^;2c4^bNfr|=Y8vu8BZN{i1I8k07FD$UPD=jba z#zS~Z6YS&4P8^>BgD->&sl(-(!WOYo#P8A*?@!=Xm7Z{O<8f;Ww~Uqf9Gq%L&XwD7 z897%b&XpDC%8^sXU!@gAP}vJ3U%v3?1mJ_Q=j|(n)a&-6;R-`z5=^(9IS!-QtuPLw z*^KN^Fh~w2X;*Hq8EiTQ!)-;3C>Ug|(WH7Oj0qo6PRGxQzv1Nh1W|Bm->v}uIhwS_2F_J6|+E+ynmM4=QgiR!t{Xe z!3f91Sp$1XaM0No8qPJi1aIKh72ZJhC7WhR-(|!%kN5`%E2dLP9tse0DTE2Xuri(K zbFtA)2GSCFSZrfj5pH&76lv%lHp|U&h%BZ<0&!YjchbyZeunK^lIc`f7Z*j+U7yyk zhJ(G+#)T}}3`CJSVp{pQ)WfL1b;NY?aV|FVw1BcHF;azvb$s%eo{o+(9WgXJVUV8q zM&l4a0d8Uz_N8aNrrVf?DvZVz(4#MpA|UzBEkvW>TUtbwUaQ5G0Wab6qi+yiMekFh z(S?`XkZ%WRqvoXHP`EpfxzeE$jl<~eI6kM9{9ZSi3HRZgs ze|migF8*GV@!y%0|9DB{iEa+p{FnRYKk?tt_|NZh$d9YM?>~@i&-iak4HYK*K&kOR zz2oYeKRHI$FjWt*C-VTeG3o)=r=I211I}~m0qFt%1N-ToK`CSZQ=#C}gl||%_6vfK L{X1tWcZ$+qfjL9& diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-url-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-url-l1-1-0.a deleted file mode 100644 index c19d288d5b0332951ae3071eb996f15fb604e5ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32562 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-util-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-util-l1-1-1.a deleted file mode 100644 index e5117f9fde558ceebaef3df7939f57392837aeeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3550 zcmeHK!EVz)5FIBeDOM32D#U@qBEby@J8hf>RVY&7#-Tz&;V1so@t2;h7qfaIlku({^NzGf5m|jzi3Gh&fK=IrwV~q6iwpFcJ#<^9tazH4MgDq4Z|#$W`^4 zKZ2QYs}y03m{p4~M!YBnRg2nnQ8AUV+CtL}7#SyGL)Bu~Zi=3rFclbLTYjbzw?}`# z?RKZV{KjZ*`?v>>Mjn5+fNifXpi%_t?_1W;Fh^!+Vz-ldVIa#K}8*? zrL3>Z_&kuK-(mSkenk;v4xRegfRbD~mJTn~yF61oR_=`|zE%~2|{R^`&Tl4?` diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-version-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-version-l1-1-0.a deleted file mode 100644 index 7dd490afedd86a6d38caf200ed29a3d7192ac3c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5238 zcmdT|-A>d%6h7@Pf-C-DG;(1~RlH-@?hj>62q7V2Oo+j#XpC_vw97Vhf3iP_#0xHb z04{t2FMSGLz*q4R#B-+8?ksJ0>jfnYnV+8dI%j+4`{uMfTrxX5_2t}CZMYN{iU$7a zdPUQ8J|(xBR$0IaUbb=ofK|ns{R1%d%B$C~r+Q<}t1}kBjK$b0WAD0lr^`0%p50-q zEz4$KoTk}!7#ba;YB1N?rYfwhroGeZ*nP9j2-N5joRNv`<2p{O$=o6onRdY67uqPSaX*Ttt>j5^~u5!tN0U;q+K9 zo3+*(=g@wBfXfFrjmCs$>F$#5yNsO&Yqz)8E3^V4#4!LlVHk#{8H>*X2COSrkOTm_ z0&tU$CX_a7%sd(I?kDJ56bOg?yM~>zj-8^zMPaMq)j^^EBzL?hwmg@o(YPiedhQFr(yGqU6 z^9{l-$B*1)&iEvl96L1*BgHKfhmm4NamXmt4i^zu9wA zQV^r%T_?*F)_I(ND|k+wc78b|IP+=uD(LL9cyC@<&hj`a+e8b7LfBV&m$lh z&!a?M@GdE*3f)SXWk@Id8R<88x}y83katff_xLpct>amAVWCciAJ|5{YsJ2VrSMWn z`Gxbpl$8J8TeYTb<<=E%M-DIqhV_OPai|Nq$H1 zz8#GV@%}Ix7x4Z*?r&1wD-iys6JL$|+`O#k|0BWpfdTsiRA$9CW;{tWe;?5^k2Slg?|08m#mGOWC ZfMuYJWzWD{6@FqLp^Sw82ukB?b*?3+gEc zKA<0fIPoF<0set6=qFHS#=FU;w$omcijBNGo_)J(&%Wo`Jl=9fd%ahs=jLpw)~h!D zEURvs7I*2jX>QhPa=>m00B!&nKL842fa0I{DxCq8&V<+&;$!HJLh;^>+>zK0IF6;4ay= zZJKuD#bi(38Mq}_ECb*+TPsE-a=%4vXICazyOoX;IoS~IX@PZGX@}t@Fc=fgqY2k* z3R^&(nt)sD)f>Zs-qH;ehBa6z!qOxRB*{_!ISLygZK&6X& zD+l~N2iP~d&Vh1BzaBqYE`MQ7g6Xl#Wnr|q<+Cta%qR|dgX-BL!m2S#2oKko#RbwGr@5i_u&q|N8!3Tz9GX2chMk@-Li3f(jIq8#3rm$nc3BQ-Y;0)y zDsoW9$YDzI#Atoj$+L>rGwlB?c}|VFxEwP1=F{%gaIv)dsw$5M!K*uPtTvy-O0(+hbJOPX8#=o5bJ0?Vky8)yy7_1y>98TrX};q z>;ifY=3D}j^&BZ$1xIOlRccquE;Cx;_oQctwMFBp(CV>P9`Zc^%@ccGN)I(T_=$Dq zVQBtQX$glo&Ni$D>uPG)Ose5K2IDd{e31;HW|?Z}YU|EZ!!R9}P{VOLZlZ<<_CAd1cF5q>@;V4MMzx~0Tn`ssna;b)OjdQN~u_M z!GdKMEcgPJd_#YN-)XsbJa#6vop@8DjxrD5Ii88{oHKXqdrMY#yRn>qq75fw!7vR| ze_GKs4S$&AQq#(2N!+lN2LR0K4S_R`%YJ(x1FA8Ol;dbL+<2aHH!f}!iCX=<8TSqz!5 zu3SJe0F)JgtGqR-6npkwkGGQx4fL&I&FWdn5Z6vf?lk-EZ?2bwOW`Iqi0iY0C$!daTo3Sa zE#X4#$o)Z^a6$WYJ%ffRpptfhDej-kyp@LS4ZeXR91~{_)O(G7Ysa^6zQKP`1oy75 z2=XuabdcoT#{bU|jc{k-W18n;8y8a+jlt<+ zU76zk`G#DkqXscsUVXAmW1hqQH-hg}X=fKx!WclSNU`ptG%pNd&rnRMAf^$I3w1{0 zEg_~Gk2A5GCp>DwioggHR@%|YL%KRV9N37b!zUE#Bj(Xu#8iNbn0+79wcL{ZOw;9} zQ3m9A%wq}&=5sI6EO?g`V}*XDC^MuN{*3e=e0|aVlxTKeFSq$M0FC2YbYY=Ngh5d92|YD5cYYUY25wzbbp^hH)C$5WJu&OAWl2<{hPhT0AbIfmS>&)BwfY zv>H%J1K|<-eDnVnJ~yQS|L1%IFID)7HSs@u+)*zYnRDMr$Nh42|NoAB7{~n&5@)jH zeqEY(6!$yvxCr<6<8dMP@8BAz<-P*ZcRleo$@kCm8VBwR)(>>BCM;B`@CQql_~@x$ zq%&8Do=ze2{`VM7+sX$gqyuElIEB2En3bhMs?xlp6ynC?A`01!$At=+#nn%%5QtF- hel0oI>bOfHz%)?DvTxv}3cs diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-versionansi-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-versionansi-l1-1-1.a deleted file mode 100644 index 3a293c6e18bb1be03276d503ab8e7d10a619c5ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3622 zcmdT{&2G~`5FRHfDQOWLDufUcMgqZs1Uqe<6jdluB@j{%NC?CMY2!2wvFiLNb_?pM z2Ogl$fH?3NeF@%$6J=(+PByij)VyG9MCKPzzqQHCqV8TApa-4HnspZwuIOh;)CyueDTf+oRQccv>ox) z?b}0FpwqQ#mhjvbUD7+~JBNdjb8HU!#2Y7g?Rw6~@KN6OJA?P`sne*}@DbeJP|O0v$2RJwl|GPrp?%oxw1Uzg+M~3+ zF%84AEM2#1)$!gOXt*_KI~u@kZmnsh!1)$%JH61sXqMV`V5dX4rw+zNspb1~U~on_ zmnM9?6Jc}M$l-IT#`A@^O5`WpdOEHe;hte*GXWR%Bb$mnzldxq5}S$&n~I)U#9yiH zc>tvj?yns5_Y&ZX*0GNwhxDs4q$RUg)+Lx4zf2lNiCs1gqr{D3k=3Z2HW^!v*&24u zz;L{X6Bi=wZ1s6&IN6-Nm_HGtC&+E!>Mc{4Tlc=6YF%6!2rnT)!uI zLVKOW^$4%l3T~_&wLfYTE^1$`H_?#?D(Neb=lI;>)*@{0@+TJIXv`ew1l{BQQRrd5 z!8Is?qZ=xM;!81|nEJH|pE;%x21jhCnp6sapMbGt;5W8cmRy#ezht%yb>7`XJpj!U zdg{_cRR(@xIqP&Z_xQA;BOd1<)`qc|Hp+2roMBkzY2%aR3stMsMoU?DmNvX(Tud7$ x$+)pL?&AB^B?g<)lC=Q|+Gya2|5+Cg=3I?V#Ti7BcIR% z-@teDC-@!8y!AR+CozRX(v`eBo_*f2-@e)Lt7C6A7@aiUo5kiFIt(pZ+z;GtIj)`K-m$T_ z2A9vX2CQ*n@zz_=0E}D%R^(WYWjFmOB5Dr9C{Pdmz9af(484ooq5L|B2w7c<3z*Jd zr3|BSS1rS6yn&0Vfxg%jx016Rp85+$@?jkm=`)Lp(hFclhezqQzDG?t5 z^H!l>Y;Ub3Y`p5I8YlBCvC*<*yRW9S?Ut5jb;-{)YZ;{)%GP%uo?X87dHzi49fP^K znli5e*hSR3uUcGM)Sg03=`hA$kDKQi);ng*WIfL1Y1wezbQMOqcrb78-r(-$X5oWX zDDhHthy#@pJ?1Op7x%iQbBs{c)e1v;Etd6!l^1S6;|_BCL~n_LT=ig?@0q@<&thqqD6n`vbt+($xR} diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-0.a deleted file mode 100644 index deeae06964a7251a833fe1e4f70b7d6cd9bfed19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12500 zcmeI2&5zqe6u@7++in|5`Km;z0J*SGC}gqItT&aaYH3B`u&t_o2!yJ7y@_|%G#dxU z+it50A%qYI4n6h28FApmffEN*ap1s_zX2ifA8?|)H{*}z*hyv&#EP_|%y{zrJoY@l z-#pLQ$Im!HYx8XN9X*@OMbk1Z<8;%|b^KxCrLLRCQd1tWS_Ob(0JHZ1=I#Sj|B?Cd zNdU^vtjc`k2LQ^?{~`0SKk+ckFa0I+@izb{&#%aQ;syZalQ(6qJp`ydwC(e@eZB7n zefzQ-x`BP(Z@cy#uj}+Y8-Nbg}()RCQYk?mG zZqE-wue)J)Oxv^#+p)3LEf;Ki({V$0`BsLgVLR8mfxF@L(cD+IyP>z`zPHnId!grdFZ%86j=S7s zt*Izy+Pvs)`N7?D9lv!e)48;v0gcSj7d$*aw@G?fybJZOy5WV6v(e9Jav|zmQSak; zRn{KAdTyw=k%9f}NYMea&Wsx$lk7q5_v60t#<>vd@Ai5fujSA!Lq`goAjHm-v-g)% zR~WB1sL}FoyTRS_PN%cx;N7bm@uiMeg!ZTYPPpJF1JAG#$21JfvUGjPI4uVpeYLt$ z*^h$`z;XrPDN);3SqR;oP}GMPIvA@9Z6|bwtB5_zU_4q_>-Wc~!RMssQG@f1Sa%jH zvv^%RiT0%4Vk{@U1H<)}Vm)g3P=Q{&AIG%XR=CkZt z>qt%1z`u_HHY)4RtymDrxjpIhGXvK^YTTCEFdb&cnPEE2hGdtS3YFOu*;&|cAMP5V zBWy<=GE*_LjYR+A)=5W$J6M(wSE@w7<}L_mo-%U;Sa?^S7QLD+n}B*`TsVRiBH(D` zF?8392#EFhmgyx#@%?d~^y2#9_7Do@fJz!0=7fEo6g3sU-xNU~)iDVlg7t87yL(GY zgy%sCYzXU0HpsqY(=_ohNM3V}7NH#bJ#C3sfZL*!g$93PrG&?w2|imz&vb&lzF`=q zDFGZCeHNp~T@iiegu%W>|E`K!p1lJoe;fC&MhwtK|No*-5-sS?Ht=Mhu=7G1r83c{ zi8^7iUcw%=cLsGnE7r4cw@5EzNzpi)^hb|hBgumYT>b>$Q_HaDTT~>^r1O#|102LG z?M?rAEk|KK9s!TyBKkl?hOii&WhR!SktLQ0D`a>Q{iSP={L%50sN<5SSH*t-8YiUW zgGfRf4SvRQ+>^V~BR-HwwJz^riONi0Y6I6+*GGg-6wCN^B3=n9G zlo(t9NRkG>V4V?@?>?Ksq~ppkwMkFqV`_}kiqtgo)I7l9Wn7%uWaINB<4nNLJ1WlH zFV@S&nXiiV5^7#YZ&0P?AW@Sp2NbVeV0+UXZ{CVXN$L40lF&wj-?1cm#+hN)OE{&) zAET*AQX~Jw_9c4PIFfEK51b@P>+HOvNa_{q>0w>ZtR<#=4QiAYah4Q0spI0BNVKjdpVMfx9>>Ww=3kTKUXCv>a#)H) znDSkh&gS|%3PfCHo;gV(K4#}-o}QcQw~O_XTN=;xyTy755r=m{#C{?oe$gU)W_suL z&*Ak`N@>8?l}XazTdY&Gh`XB!5E)@51S+bLp(M|08vay zZi?UC&}!Eg#d-+=^Vo)JOxQ;R#P98f%t5Ak2J)t`D5v6DB%zH4zhOyKj5a}L{-K~+ z8bJ+3f*N^(_GTaR2|@V5h%!O5oFMjiE&XeH;|Z;qQ%d8>St$^u20!AKlf$}Rh|A#q z(il0V$VffU$llB&W#n1B|Ef`DhBG4O9n(ECKN^vcvXQ)A#yuK*H^7FNcZ~j2ro4Ga zU6F^qd55^`15am3%-GGmLn9vWDFuei;zlQqGvKJ=aZ_hkP8o7~(6 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-1.a deleted file mode 100644 index 61584e6ccc2418d9884b4f5c537a24224e4277ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7384 zcmeI0&u`pB6vy9slcq!gDq2-kLdb=HICK{~%{p7DssaHCp%zt@DlSM9ckN`|c-Jf2 zOF|C_Ar2fk^pEJ@zyWc{fj@wMgMWhZ-i&|D#N%D}z^FnB^o)*6ldK@|H_ zcfv?CN=VMAi7H-njJ?HC9Q%_fPJ{6w3vEU}mtn6X9~c|@uD8H(fqm=8kH@ip7$msF zFHZ*H)bqUu{wRun_&kgTN4wiNt6(%?jg(4nd($M1Mi2bd_1x60>8L7F`uNQAf;5Q6 zZul^c27Z#%bfeW_PmgA-tS_x>j!x?7%!GBFR3*~&)tTzL(5b+i4#sIWDuAdX!L}^N zagYS-PC>%`)+K}iV7CSEHm|L=x~YGX@_Kz{g0lk`wPw=z4iO=`Ppnc5)qcyrI$M=aJ3MDCr=Q9b%IzRW>`J-N9ei3q!iD zdk}E*jbK(TN zo9!67>pB8*yc*l)PMDJY}eF7F6xxs1mxJnv-;P+|Um-ly;ubZ575u(32Q zlwL~lK7G`j=ye5q)Zbmy{H)hGc$%k8%*h+8$vl1e5w$$WShY;6phQKQI8E$M8k=@A z#<_S1o6~=}Cfl8cZ&!U1$ex^gAjs(8R-;kyD#<%%j7vUAVT!Mr<{%iP>nYLbf~imV ze*o%7v^>gMs4(C!%o_!u%|q3NhuY-3I6vDB`RSGKF*!fKqRHm*v!CrLDi+DlQ)%2; z{G@tag`Xewx`LngaeYnsSyA~>19ZN_@QH-wd1U89oHwPCov%a#&kgtkOO+jU`897; z8quO(P77jgHzdZX5_92kHVa}tz@5;Pn6^qx<$aVk7d@%ZD>Wa}0x*@-d?OloZony) zDm4`o)PSScEsdS63wG$13TLAK_Ru6+dlhyJVrRw|C7RFcz|IU4?CL&xX~J5rTN*od zLw0)N3$$sLZ#uu=hMO0ueJ4dYi;UC`q;Y3OY7@P#5~)4Y>k7Z~9`5(1ey1g~qsAcT znwgsfJ*Lv%d?6ZmZouzYlE2BBQJ1d8MI%`nDON*LoGK|7?=)qEX5ubrN(#uNRDzE4 e?O`@K6*4VfXDw71@F(UnEtTbKfzhiL&CGv|ZeMr+ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-2.a deleted file mode 100644 index 9bc4437eb09fef45149106da55a6107789d10b66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3728 zcmeHK&2G~`5FRHfEol)PI3R?CE5VHfJ5AgmRVb)E_JEKoE=XIq*)(pQ*s@)MIC0{VlEefJYhC!5g!xQ1#!WIqT3LJGHL5RL| zy9=Bb#CsVX3?q5s#kj>cVYnY0yZ+w!AnaJU9B&Ycn<3c$U0&~|*1G@z-9gYhO6oy& zf<-5XXX!YOX>MDu#wWLL;K8AE41oKrtr+!0eo9y`E=;fv>s>c-iy_?70qe4U6vwx~ z;0xhA8t_>&!&XqK;JS3-@f5C=*$KB+jN8s|H1I|aE^EhFs}15BhFFbajg;9~tNC`# zt~Kgi-=}`{p6APSfZtaDCq~ab%M7Vq_a{wXzP1K}>Aox#VKhIMi!hoG$uDJt%4tdc z%>G-!rW-KqJBpC9VNVZ|zGb5mrUWA_m%#TbGoU{|1KL~m3SPfOh+O!Kh1Z>+MzzG8gSC4!<|j|j4?;qwC9KcpO>%KUrTXPhnQWScly zPn#DeS!yc#v=I~Lh@pcgNIUna>Gs_b!DH~6Vd3p7mEEgBL-GIV-2S+8%Nl^@N z7a!$ode=4G-!yG`HWz`O!8!9l$_n-t&4RtOtekRN%SBUM;=R%u6!)k<3C*s!w8`%P zG>)?Dr5376@EyyW?^APJxfXs&@HfDk!Q*8YfZ~-? z9$$C}K=GxYc)a!(0LAOrhvIAh@c8C)02JSD@_6$$z|GsHxoeuAk8FQrergA{Z|-^> z+kD^*tf6CKrK7iW({&ChhPB?nKJt9~#2T6e>W>I+QWX{az_fke^G#PXHB&V$6Q9+$ z!8Cie)j9Xk!2HY(40{y#&QV}@KBQOqc+mCQO?(5VKQwdN4ezdR4Mtth@3VgUZB37Q z$=fDt+uC|o2i9bG_;&2shCTHBz!@Cxxz_P0dAmG>;o-zQ_tcim&#=3;Zx4>_b}M;< zf^ft8#CMKynF2eSw=fM^+hh-M&~ZGq7~V%yXPu2Oygkct_pDK{?*u*eg1g=zu)hvO zspVk|Z`T?ICqAE@q;p0yzLP}K$*7s_(0Sl?f`%89Ka2I6s_HuK1bS;LX8oPY1tdN| zvjXruD=k+VG+kECPHLbYG&)vbWkXm?8`Q^*!_jC83?32Ap$Fc;9fOA@%$D%I#K4}% zahp*+;a0P8TM_PEEL@V{qITS0>itn2x0O2WFI4b@x=p06yINhVtBsC}dtsyNxOUj- z$y0#iO4qs{RfP4T3~9*f#JB_#<)>s}1ld)yFoN7j7S#%+;~|tSli4yh~7LrL+sIF!@|&r6StiV@4O@7?|cjH|U)V?(-U^Z}1El z!KBL>LGmS;CPCb7_&cXK!oZQXQ%)=ez%3vS3jB%X(%g-6_h>@@iScZts;Z`PvQ4uo zTN{Zdd8e|%D@B@08Wf&!)sSfL4)gT~`QyKunM!<sAoW4vK=rFY;wqy7|Vbk3Vs*>3=P4zIZt z)=;LvubAdI%+nm|l3aeWK*S7nyC5^PmSBPS8hwjGnZ}H}p|(&~CNsVi#?50!PmW75 z!Lfvyjsnl*w_S9S_+E~Stpwd-6=lZ-WJiH(S=?Xe_f%0Qp<+mw za*tQARDnM*N2U}IgLto86kaliHVblSapqvFKf$$_L$i2V%gCYeuMGc-Gsnb~$6PIG zTggml7G*;EUTSgXNPMkXn6Q*$!hHK!__>>f#B#*f@mR0GkC>w67}s{uNJv^rX2C{5 z7A#I2Y^Ag8!7L|^DzZTS{dm6FP-7Aj{V3^)Lq2u!#F2w2nH}o|+0jg&IDSA?nRenh z5IprVPaIzftchZ+9@!B)+v diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-error-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-error-l1-1-1.a deleted file mode 100644 index b9cddf3e83375b3f9ae2a323a7a37e1b523b6268..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8890 zcmeHMO^@3|7=DxNM_DZbl?nl>s23H15D7^(>!eauMQj(eQV^@qUJ#Pkn@kdS6FYJo zvEqOb;=qAJ#jz(&oH+KxslR|5|AAjYdEc3_Jz0OmE3vMk?nLvEna4ApcizX(jJ9@wIamV#59j8P z9h~*p)UzDBU8{#3EP-{MLwh!5J@3KDMQiapKePu(u*+tiYxO*7PkvX5WtJnm&iCaI*YZ3 zGY&X%ovDe|NBbSv<_RuGJGdkb0{!`%op=?;=T{Q1YSpT)Bc=3KGvHOHumKbr1!NE} ztrsdDJM(xsInkhcTemgR|Jeie|&}Cva6?`L43I1GqJN(Q3=0GE z)US~Bstsw#(z$U7rrNKVgi&l)O2R01BU_XTlr9EoTW+&;Y)Zj!dy!X^3Lh+XBLDfl z6Q&3gOmlmpZgF29W%u<~trqch9oOP@K9{u@?dx@EQb5t-zW$c<6I$yyU-$89uHXXh zsO^54aDMrGzKs=|Kq);1Ho1LX<)tj%KH_qRa17jYVBn4B_Nl1h{su3A5!||h5oBMo zX&BU}jkxCsM>yE`cFKvR0Qd+9LJ|JPa&AI@>3a#ea}hk7RWUR<*_LTabGM=JY?IsP zC-i07xRGb8t4}r8Fn)~f-$;L_OuIZy2{eFKk+g20j0>UmENDs#G1GWlz%%OaE@Hlm z$LZM2!#kL^B}P_ZragQ9KK*4O@z; z4XC=zwFM*txV2~$yh_np$zw%r7I?$wO7|dmM%PoI(FJeb<^KVwA5n8p)=*Z2-!V@YsG($tTZc7Y#xCrr@v5w40K4`DDZg7dj z$%nep@r{9b5uRd-x{*Bni@c7=ohyxOTxp1RW14on)hS%_}FGJh?AxC@aDrm?BT&r=In7TkibW&BhNsswKbRvvZl2^p$6Do?2on4x9;BDHyYel?rtU!6kuTAtID!1FJ13IRy`sEd2`)!kj~a0{s{h&hEMPCcYV JIwT){{0HY3FJ=G$ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-l1-1-0.a deleted file mode 100644 index 5ad35884550df14a4d89f13564b4c0ab422f04dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9614 zcmeHNU2oe|7=GjQV^jqum?}UM^G5j)BEfD`CzUFcF=WczNo*(HMLb37sm@1UKR(CjJVkDbWAilM$0e< z&H-g%^<4YV^X*e>XcFioAh<~;YWSf!&`sUcOv}VxPHZsEzHN19I1ZQ{?~d!+M^1n< zxb68jhn63n*lzem|1|7+_uO^^ufjPQnuU?$?P(YLD#Z^uKbso{sUfnL*V zTD?0M5U$>H2DUiizo!64m7aAR8H8Q-9}QO>8cFWr49y;cuqCx6QIXRUMTQ4HcANpGu&HP2g$^zuErXqsNW6daBt9jMO8chIGqK`T^uu=iKSulMhQ=atDRv!0_ zg4}Oxq`3bx@?jeH_a)Ah$^CDoaVK#<%*Lg-|3fw|=KhLmF#Fy9g6icmqKi}!_v zDg_>6iMmLpD{rjEtflRwHi~h+xtV^}_^|-zzm~XHCg*$7xDuCB@1=&>xD@9fWaDDa zU&Xa8%6SDjpZ#@fzWJ}B4=5%4|Ck$CslaboBmc9fE^A=|qBLFTMRk#UXOG_3Ug#ou z!gvGMyr?cJLKov7Zizng{A6*BCV(l?MVtNRg#y1~L+E0B>LX7SxgWL5+aYNMRiUSM zNDuK2I&Ft^SGvoV87&T^aVJHKK{hTGEzYuWakN;&6)&m^Kvj(YUji{_o)tlN1xkq` XV%MNmfnTshMT}2-%D-yN{)^%NR{D*; diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-registration-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-registration-l1-1-0.a deleted file mode 100644 index e04bfdb19bc916790d0eaf3f17aa21527069db60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3776 zcmdT{O>fgc5FIBeEol)waNua9f`o+4I%=IDRVb(jB!mzuaNfGjwlQ^*%HEcqP{oM@ zhyEd?O8f;*T=^fAnca1=X+C?v6(f0fGW)!1&%Wo`JlKrVz4r6!Q+L>cjUWs{_N-BN zU8aWY)^*oeXl~f40>CW*=NCZbC&1DxeJ!5>ET3_{#rcO!q#1uJq)7QzuO;}WxEmeC z9D{M#2ze6k(q*E(uGs6P;y60u1nOi2=M*9*l{^&(aVFD9#=S020v>S2BaTyc1aRIK zQLCs$fp7O-3i(c?Cn9~ZC*zYyM!SjFN}?s6bLp~+@I zp%r(8^n3k{owTC?V_}G!S!cEWj=pwqL(w)JfV;|DaC|9FrSc~?F0dWHg*liEQ6o)Y z7yfRR&49rf;bNL_Z9T_U(5c{a*{0^xxQ#qcxTVRsdX8i0tc=0s)-}-p|Y!WLHVVe4$S`c=w}{LiUQ}Hr=GM5V1L?5@EapVSEizB zpeejnQeDQ-0xi9n^(G7~)h(*5eMM%|ae{bmbAcjDcs;@K9m9U=+<#YZ`t^bKbR8G_ zXsru_x-?X88i{Ltjxu>X)roMt$T6#koxm;YIAd7>N!MllGY^- z1Kh?-=bL`po}F`Ax;$Eiz^>b>=77RL&U z)NcTqM@Qb62z4d+j_n-Bt9g%M#hxDrs$p}grar2gZ#^<8gh}tl|63s~XU%nRbv?jQd}e^B8kMHc-xc9Z+oveqgVaGc5(z``b})m8<>* Dz0SIQ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-robuffer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-robuffer-l1-1-0.a deleted file mode 100644 index 680d316f96b5e7d270b729151fcb697b4c8f89ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2780 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 b3eo(x`~VZ?=HL@d-QFfgGvCINq&WBwR&f3f diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-string-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-string-l1-1-1.a deleted file mode 100644 index 6c44c618c9bcc1d2180656c98793200b3b74ed05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2772 zcmc&$!EVz)5FIBeDNzv|dguum2_z0ABx&mgsj4FNgv0@X5ZpFS;xwj?6WK21*iYzR z@Dm*R7yJ!n-gupCnwa#GbS>}B&OYz1-@ftq#jzXph9{M`_Izm^HXOd{b;q{rGGx}a z-F%n!ZM#z;q7soc;N}xi`8RH*PL=u+dr_=DdWjdQ({bNZmwxC@e8o=RX*nwJySTM? z9D2QRrRget4#WhQj44o^0fiQbW(}uYWmGU;VH@zKq|8@x<#T zpJg}AcC*D>@JADsKTiGL_ii_-jWd?>*ahDXGw!rn`Zzk357r|lnCQSFdMehIRZF~| ziP-s-P4!N#?L{+V9IDU-j3}w5x~K+?DqppJ5KwL42cCZD?=8`pHE_=}hxVHsV#(s2 zbpbQ^E97Ae?uvOBgEw$dv{26%&8={@#Y6wW2wzY|(E?+OC7T_X0)<>}E*?ee!~1K! z)!1Lqy2EGjOkS(>&{}V1?C!Dwt?y}_;H;NvJ;R%=ft$vTIiA_TW%k{6haF`?jjupi z_<17MebhdbZzaRIh;nF<3@^g-)FXPM2Z#t^H;oAJ3r=Un{Mw{@UWgF^XKF`_C?y(6 zomK_&q(BEP!)Fw(A<}(k%PTWtA3Vg5|hrq+z~e#{5{0b9h+F9@lM+(JpT6o7-3DU0=_9 zu$KM}i2kr1^h)%Y@04fsP0QpOOBNS%4VhV4G7D+_3sYEypE5G7j$$L%%tej7C-#s= k8JS@$Gmp&2ZNj)dpgQh^gxX%B{S@jdNu?VdE1N*4yXaE2J diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-0.a deleted file mode 100644 index f14b696d647d5c847d16960b40ea89f62697faa7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4470 zcmdT{&2G~`5FRHfEus7fA;i%|1#uw3j#8(QDio;*38_L=1>(lWO*V~bev0jq3L%6z zap2G=K|DgQNIVG-L75r#5`gvxAom;HN5OUNB>-JFKGG$`rVy_^>3U*Y`qCAf{iYNH zr)M8H0)vjVZi$YwOIH}}_hh5*%0v4=5UA@BTu?|1`U9&hI;Jp%A#8!8bR`JUmUeTF z^MH6m^X|wG()HPW?(N8?h%*+j#F6`|(Dn?XYPWmSyR>RjI@~yro^iO$IPDfSc?sXhmNh`Ru1RIvDk0 z)AsFj2=~;$I4SOW-V_*oA)G@4u9hQg4xJpnmufs-fLn{=gj-6-RU+IfI?D;Ts2{ml z=z0a@Vu83=7!W549kXB-jAFCXAzZQLbY%Fz-&24+t!3{=fiSM-kEY9>nUi2@?lNf@ zC2!d@jFL0TLsp}9)WW=Sz80`+0)}%%jL2#$ql1LMqR|PHfjw-`LH~JTc>6yXUa3~c z7;fP%+~QT_E}G$`Fqv=%9b)*skRi0oNeqwh>RrLbic$L`pKy_X_P&gPMWB|nzsUKy z&fY9MZ}Xos!qJ#B(DK`dz5O7w6(^TM#oj8u@!}escPN z?#IW}MwS7t@oDD{W**H;Oa-`#SCDV|t$J$CY3l5FeF3!!b2WjG`J6GD1)owXYp7qP zzKrOF*GumZ=!>2wquB$!@N)4NjT1z+(2FbsKhT|io|^I4HTMG|RUlT0IipI}hNtLA zCEqbQ(^S$7nM1epR7p>ncalnul5t}y`I?N2RdOHKH>*mtKqaZCW#SYu?6NB5AuRxH zs1*FTiY)^_(GQf8nu0T5D3fvX{+NojV$7%&qdZnoJ|TamY2}r|vGdf*TV>u!T4^Wa x#!I}E#``m zd=_y#y|BUAE;hZ$ONVez4V=%#oiLmNgG0jkG~pWRMWqF-7Vx~x#PccKdTb}$nRHw= z#;svvB>@-rqnZlcuz+eRkeUjtrb4Gwz+bW1=@72i@;g!w`1T#(X|Cn%#s+OS{YT5? zkE}^B(|7p5NX8g`%co%spOGK(IVwk!_AC2q5xXW}*jL1eeD3n-B>E_xoiG+W#c~c$ zuw`O+`xp$b-ncQwa2M~wIlhX8AISsS>4V$A-yO}Myy zv|d5O5>QFnUt<6K%B?IsZ*zD-I40%{w4(NYZ&z8EY48KIz}{6_Apeq2hsk`#sB<1u z2ZLjtQ%(8=XmP0u3%+7w4uN%sQCsg0SX-fkX9tqF4i;Fg<+H#i5?q>d6tYDXp82%iI`W(I2XG)tzlWy z7;VDJ{`~za9ld=!wBddcrtX}WeY7^Q6?c}HmCxzeY?*$i<@4h)2Fysz5d}2+*=w{4 zjxwUF*02#{Ml{3MOy{69M&l{b>Pj`B#ujXt0>)WL0K;L?KkSc|kvpZcn7;g=?XnyFb(6yJ!Rn1f{$3I#fxKnoSmOGoKtPkt(#}efK+X4{=C}A{I|pG HzkdA-dw;>3 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-2.a deleted file mode 100644 index d9c378d9f73c39884cfa6d12b2e4def7a9cf2653..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2758 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-devices-swdevice-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-devices-swdevice-l1-1-0.a deleted file mode 100644 index 382765c51c40145134fbd9bb1f174ed31ec6d5ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7830 zcmeHM&u<$=6n;0Fj`%!cM?B_pb};R6b~c=JWeX^{Ruj$-|2F^>^Sbk+;OcNV~y}3zcq|- zv{t=&es(=V24jtoSwgsQkn=D#&cU410@QyHIENVPau^68YN_`=xvs2F~1j!{^F_ve!JG|#GSL{oN zRln97jR0!>;fTwN{(1y(tJLq@Q3h!@eMnQ5&&^9P(|_I~jN!ZTB8=fT@`ALmV7!Sr+7xpCECaw?u0oR*BU~xUf?*bp*ST-Iv*X!ao zu)?4rxPDdgguZJR*A?Du4V>1Fd0zDir~2pH9W-nK)$|nD68?Eg^zyKMAi@m7u?Xfs zKOWqj+(|5gZ}1otA-tO?g8WN9O^f-oN$%OwhyW|LQ%foZz(;^C9{h>@!UF7t$8ec3 z2%SZk3Hf0nwv{pEtu!|}ENuz@#K>hzlw3Nygw|_#{!sFrn##q+6deQTTclX`i7_vv zu_qH#nuuw;aaw0I-VMaucH=@kEea{CB{9;3P37UESLxG(2dRw|r1L1jIGTePia918 ziErt%*|XGTM;9>Tu!tof885s;vy_!3jT6cuR-Dm^SR36#qAR+d3N13x$+O}!X2{yI zD=pM`@IBVq{Lqmy7L>YDToHWV%g6WqIwn%0w6_)C@8i-}@%>YSCq?r8#F%#(-$!no z#rIP;PV@bF{BHB|eG~a^W&VO8_~gKL9l8G!-Zzz$`)?-(QG4(Uw#a>J*^VtuW(z_4 zg<>{yS`m$$ifGso;9F$LDn)#5FsVpI^o@C!DPrcvS&I0|jnj%CM&wn*hE{~$jjBDb zc($&qDqfKqNL6uDTBz~hSFE)vtff1&u>e!BLazU>5c>WS0l4?^lq3C{3MtzPQSWR1 zg9=eg&;2^9=onJZsSx80tIDdrL*}fCA#LN?TVxDbko8-;2-*qdQOGxLoQ@$C93*cH z@oa?{nM9JKuWK9;n+2j^`N-f{ zky`n}n0HyeHE`psd~5E;X{}sF4&>EJNoyr}{Z2%pJ?y&b;{{p(mQ){pVi2_lKVhr& zVf^Bt_TTac2IDu1f-@>Vrw06nwF|$8yjT@4jtuS;se#Xod6#LR=f+tYn7DCT1N4?V luLdC10R6DE*8IOB*`D(MnzT^k!4Fuc{9pd_T2cG$zXA62KDGb= diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-devices-swdevice-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-devices-swdevice-l1-1-1.a deleted file mode 100644 index c8b3f5f7a161a4c614720fc6ce90336f70caca20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3598 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 I`dTybAF2d_mH+?% diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-3.a deleted file mode 100644 index 7403a4868f71971aed71fb0b32fefb00f442bb79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14390 zcmeI3&u<$=6vv;Pq)F3OpsGj}pvsgMRV^`g9NVc>p^$`vfY8wN2Oz{|>z%|)HoIZH zPLm3u3L%6LhaNZ}t{f2JzyU6t=m~E89sCKLDDTazcPH7|A3k_13r{sO&iK1CyKmoT z-psE1+!ftzwO^iosdO+^>(vJSt5h1LQiXpdm!(p*)|eAVtWN{L8Gwmz0j4~FV}FVK z#7O|kCl^J2>U{vpr|*gU%&!2H&-^3u*{1<0pPv=^!Y%;iOW%oH{sVw=^>2~urvU1w zG;K-KZg!a4(N>wqTy4oQn0D8+^&L~gMzb;B&@A%~Wxv(2S<7)*SKrY{wA~@OX6$K3 z&Dh%ZG^?srwVI}D*vU2nO=~mV7~C+RExWt#beX%q>YBT{$Ck~`j-~G}wRL-w-L%b* zyUb>t&O!xG#oXS}`p_@emfu{taa%XNtB!k%xt`h5twl?>w_e?4wl}*l7xbAyDSBID z-g_pqj8*2gun&Ec9qvV~2#&sG8mso2)5XKD-L;upRUEI>1U;W)853p;kc%^zo^@WqT5t`(DMr0cHI5Nu7T$l zdzNaE=;O6ii>npE(W&R^`xW;A>?>6t_Uv@LC1-ob>6o7B*h~6O=di7)Kea08Wu1%+jbyX2 zIE`d4vcXt^%7e+bDYw-GewCo%b|P;WE0nN|re5!)DZ&PpgO8}>+wDGlyLq`8@$ClQ zgD3grj6ZJQ#`TIwxFF%aecJaAy2mQt_T>jENf)qkK;ZvDI#oNh9mhP$OQL>~+vf!T zl*P;2e6@peOx$B&!)tf#Ez!dL3?2gs+`57UvM<>*O!Dj^&N;#c7x%oJYN8WBM!X1r zV$0yyd4pR+`b*VmBCAuWRH`+BS6b9)HtP~uliV`jp!d>}o_txp-_$aNnWBp2dpK34 z!9|T=mZ$qRhlA}(<3bo+4n&Q4)ZAC=0X$HL;3mKZt$WT4X(AQ|L zG=>b{uc*qCAzK^otc8=e%4mUd&&=!yVAe zHP-)1Fe zDkLZIEeQ=c%=Bd2g#w^-eQpdjGcq(6-L;HXXXgTj`dOV#h73ht#SJ+( z&lC8V!qwU9qJfu1_z~+c>O?PJ0ZWW1H$oa22^sC{`8|${GX3o9kNAW{-|G)|R4H)_ z$#lf->!X)`7>yW3Zd}weaxq$cC34Zv>T4q8B5?^p1O87|Ur0fsDHPPC>vLmhE+a#8 zwb8RN^y#?RQo`@D?qJ3xhN8dA8g6drT@$5n_4S5m;AIhh!rEVb5jWAxSJ4uq%8ik% z@AB)>9m?oEWVk~)i}yY&BV!>W%HJH4I}LMup=X7ZLQdWm4ZJME&sc|?C{3UsC0>^s zD_P&!k9PC?PRGTQes=RkiIvE&Z*i1i=A@6^JjRoljk@^Fe($%{F{0cE$@-Rl6ipHd z=_i^LLPC_k8K;4UnUemZiP8j$XcDi>jg_o#?nluik(GX;352Xf|6|0EbJAZliC(?} Kk{HpT3Hc8WHw1kE diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-4.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-4.a deleted file mode 100644 index a1b5ed07d8fc751b7b3349d5697eb9fc3f5ed200..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19570 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-obsolete-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-obsolete-l1-1-0.a deleted file mode 100644 index aaa254bf98f9fc8a4198a98c7a8a2eb1f32958f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4440 zcmeHK&2G~`5FRHfEus7z5UKN|89Rb&^eE)k&(@DIjs^ zBlOM*@gjW)B;JNHv%8KrwcQk?rmDn9-d)dryKB#WpJ)AW!yC4`FUl+Cq}gk>V>{L} zcil8C(WRHBS-0f9Y3`H(U;)7R2~ax5<`a3{r~%M*>lIy$Z8G*g7( zabT>=z4pZ~2kae>wufGeZ+bz{^jdoj7Z>+?`z*6(i}wZxd~!fN9+1qa{YY z9{KI?Wn;CL49e_<_UKC|st(3mnzxs>WjT&xnvUzL&EF}%F|Ofu0@MwF+oCmRR3rX5 z67BrL1Z$_-_98DIB6=EN9ao!SI0XiWg!5^_<$8=QVWWi4rJI;f;?`n6;TH07>oM*z zHWo8*aX+%I(hDodx=PHtO3b=SU{~ylRc!|WR6Bma)u7)e0J}!V+lw8_ug8#oGu-%WHTKXh}-)9lLwCw@D%&E z72~NgFD|Q$vjFWQWxJ2sx{zd_iLBxxrkjl$D~;ycK+G^3=U}%mVqimIlnX2K_~a4Y z9UUb;;@Ro5hU6ZtMO+2Aj+cxv-Rmtq&a_-Hoo7JL$RewN;=YIyt%9SpEUOf(<(Ub^ zh8S6(Q8AvvD?76DM-q zWkDSFzz-+~gg7995aNzFArAcoT)9{L4$Aw^jP3D968ErPMaoF?k#`<@JTuSZcV?U$ zd!~ETyS4s)IU4jG-Ovqfx3OC;YrINL%jHI+E-!ev4ggmHN*@8N7yvK*B;v;J02E*S zOT^260#Lm2hlrb4rg-gd5wBxT@y5R*Zao9oddAp3WB10EJ7$NLXSr;D*s<6bwquTL zhDO_H8mw=(DN5_mv5tnW_1GLS0u9ClXV!`3c(!xQM(*&$?%4sjS$AF28FwwWRcm7V_F%*&RfgBx@m%ait5#25p;U$VgVR=BOJb!t z#I>JD*}2}-w-a19a4s(KZY^Cj*K7Xh zzK#Xr`ljRw&2<{reY~10xIjB22K8+to;jfr4))njIjIz2z*CVF;U6sI=fTf^l^_=- z>s)DL4Z|*%+bplrsO>09Tjj%ZhHR!q8gW~lf3mD$yovRnO2$)GK0mJ#cmbM6@^)>d zT?oBT#H%zB(@)0*N~8PjA?73VJX z)T*5Jk%|%;*_5CqeZwiv{46CLDh$d~37;wLPE$fB9T!Zc?;D(ST%ZJ6jb>HCs-lF0 z)A?4xm4pgzN(*I0_zqJ=1=9}{F2D~M8QHHV{J?_!TLJrD!CB7A{uPD&f+O?0B6^KF zfFbk&>VCTj-(sD@{`g@NUmXf#{_p*rY|M}BzQqc4u>uO2e;H>uEAy8H^TR_=ymp@V z18?B-QwZ6w2?I}y@B`+8{b845r=hWm{8doTrh-~>A8>{%f?2Dd#m<9mf-39CkYT5W-+fD2V7Cs^5|0d3J)|F9F@IUtPb-sPV zI|&`^MRf3Mpo3Vq<4z&9I)AUAXH&)EoQTh|I4%mlhzC367x4-Op$hpIgZWlN_H!cj z9~H_;X~djA`?YNB-%g&Aev@IJ@VRojnCB^JS7~?JDd{L3mpCQ;DjgTF|1H!;R-XWZ o{fYm}ki6!3uW+5eAJo0VEol)w`wcU(S4ea{ws}sk&r2Ks1Hk>r00000 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-tdh-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-tdh-l1-1-0.a deleted file mode 100644 index 10e36b7df8052c6c485c1b48edbb8dd0dadd7089..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12262 zcmeHNPj4GV6n|bPO=?KtvMPjI`y0%*9Pi&U};8lRRCcwfc0Hq`D&;JHM z{=(nfzl<^YOaE|x1!MA8-{4+d2OxiKi~H-J1CYP*CHKo%@A8pp-ZIU5LuW8FHyzIz zn74YiV}9j!t-fnwrfbv{@-3K%F7MO=r*PdT#fT>Deu_t(&^3 znU;z5bR00vmSfqc+7g&scI#fZ-LvewR@ZGhL$6W8hTTrzOfN$Gr@PMJ>E@uf=i1I- z!*$yB$K7Uc(6KzX*KJhA=O;t4zB^g1j}{>IBgey*`_907`kA}$#9K=%j6c(;)`i{) zcvir%fgoocOXx&Qa*29U;bOgkpo8~fT^=^{svwE5)@(4?j=S$w zdf_CKHM`(^V;F|28f!QG>1exjr*H-*7yzvR@FGji7b>3f#AE5~Km~2PVq2b-4Phk> z(2grR!{G!N91zZ>3YTgDb`BGB_+Fx8^>N&4kWaY9Y}{IaTf)S-6kJe_^H;euEaUuD zcKrFP?AfhyTQBQntzx&^0F|cOcKiqaeFpHT(6k;08GgPfKWeTx(k8(~*(q5VL2kt? zj36_TL$N?%-1%~4@|wq@F&HK*(uiW=TD%hfUr;+?6mT)j#b%U9$6F`R@w&E>&~XFD z;R5T&-1FA)sxMBshzZj1%f61#IH&1&fEQx{7ji}{57LAS(xdS?%vb;liTw*qKId6V zM$=o&pd%a|(;8@ct=;Zpp2Ktvo&y`0bU7PHz9iGgiL(rU=LA0(IM8&8iJ<^37V5ZZ;v*2HW`9WkwRT*xn~Zyhm%bew_3%#q$Te2kxkk$U{>9r|~8807)H z0JtiMuU47HQCp;;0B6y28Pk6;m0(xWvVdrRnH>RNX)9q4-$Nj~J$}!pAJobJ#SHjbR+nBspO4U7M=XI*O0V_b7%* z9Iyr5$&&+Jq1|yDc#@6_2QlElH|e;L14}s0vK%N82gYuzxGquK)5wV%_}=6qPHgcE z7Ao)u#>9!SB8YDbC7`Fj(GEDH-IU~v<{xYboSE5;rI0f(p&rO`<}7hWJWRl6X}+CS zj=X~JPA=kz#xq!`zz-M`N5n42j&%|RIqH91Qva(-n{j~i=p>tQUzlt2v>7`>yW?y| zI~|v>8GGrtQ2#IC7|ZJaBI&Ma$#l**r;+!gy&x&7fxae7Dl*06;Cq{WNm?<>f;Z=bKE~@hNS+l;$bXvv;Bi$ zTSEPR8+BOL7M$_*KR6~I{d_R(e0Y~SfG)BNn>>Ss3jB_-Zx^ye(1?AmK;n!C=4dZg zCHb}c}DYPr-cjC;cpN>nco%YjlAzxlc9gyYAyw4ZLllYgs zskR$5XON3{vcWT0sK61%K2K7*o}fr3CP#MEWZ98Ck)5$4+F9cz3TbxCiR=)*Qj-!* z^Q!7i>HxZk9S!!M2MYX(36UK_*BeqF=<{4LbBTum#OmPgY5U~wd88)P=XKQ_u)ME5*go{ z6MG4=Y~*+po+%~v65plc!s+iltV5O$g;YL_UVoeJl~b8XRpiG5KZha(jxkK-$EXqr{zR*)>!=U1{J~o>!o(V!$^>?WZ9&=n$!XqsypQrA7ulEl XJcES_{E2alKj~sP@#WY&ZfN}nUBGL@ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-deviceinformation-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-deviceinformation-l1-1-0.a deleted file mode 100644 index 1a8fe0490577b4ddf22a9ddfacfda9fa9d4a499c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2870 zcmc&$!EVz)5FIBeDNzv|IB+xw#09%{nmR$MP^2PNNFepXdE?fb#H#J2u>(D#9yoF6 zC*^1O2@aH*@jBTw2?+<%mApHiecoBWedF=-BY$+>e^=W#=bL-zdamcZZ8c5P;VHd0 z&4YSfJ9!T^%q@291HO|m7`Rg%1n;L@gR`mYnb@MP@psPTAql)GrE*_ zkjV4FNRIuXAW)nVT=e`nOnM@aU&3=4Cf&g(_Oo!1h{zSLaD*>#%~*mEedz~ViwfdI zW+%M2_q?@F_fztF06nAYUlb1I z*SVz7Mt1Pjnq*#_U9K-cg5<2DZv=~ zt>+?YHXqN#fS2725akOrG#NRqk8+bww>aMT4~eOzDNre3|wOygq8UX)fvW zg-y7^zB}%rqYBj1SE0)MJYs7T)%W?Mig0YKAn0cOadMG+Sa)y_nZfMlnL+##r?aMi zeeyjoE4sV6nfb_C^Y?%VQYOVFB?COfE9ac-Zq6!W@pduuMkhX5JX{ZvtHYq#!kWkS6#`w>)CI2yyNflte4X#_?0qDB(lP<>UjJ@;tz+-Q?&j+mD zYjXC<>DqmVq0zCb7IU3_x}>$&<&EBe5A8l9P{$)UJFq)W_ki)^zTIu|=74*>;h@1i z=9IIyaLZH3PKSt*8W`uLeb1W$gA>9zwBXZ9h@HdE96py?#Cid4 zJ+u>UF&(!N;tcF8CE&twXcmo9({%w#Eyv|@@}CQU1FdBr zh6ZU@V@a;_m;4h0EUa&f4?4oJ2nIpRZx6eNfkp5Ru0RgBh>_%z7z}U|uOQZRulCee5h7aT1!pO_Sn68ILL)j7d!=UxbVu{4koQ1GkHtNnNh3>5TBymv53DDh$)+CK zGCp8ZZW0q>*LZUrl1LD@(FQ zG)OvwUvGUpk~@y|@gfWYwmHCGH(*KIj(;gqN3;F)ij-l@sElg-?;2*0Gi1UvWwaGW zWvPsT;&+lVz9!?wlyRDji!@_H*}Md~6}$_HtoCI`Q;X0wDLR?f`m HY?bsEIL%Cf diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-gamemonitor-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-gamemonitor-l1-1-0.a deleted file mode 100644 index 597ff128beadc8ae195ca4aef842e60d5ef175e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4538 zcmeHK&2G~`5FRHfEv5V%5JDV~LFItd1UpUKRH{%=1qcKZ0)e<~oyKiU9XoQ|0vA+q z;#lznJOT$Eps&Fz@C2MFGrMbNQ`=2A;0lS6JUia~yyKmn&$GUx{h|I^mE#b0Q~X z>p|CHZ(ZLWxC}d8t7S3I?a(EA1K-&ULTA?=Faq_51ZUfJ-}Setar%MpMnT9tlbOt5 zHpAKa4lvep>}~=6fW2^{hv@R&X5{X<(fjov3?0vo+`xa-Z8z{u-2Q+~L_K!~K{z&1 z+lZgd9=q?`9Z$G*=mnmNNMK+_UQfh8cV`epwIJE{y!|!}!?JLzt<~jZzn^GlaLWN& z8o)(v&1kjAc^7dzU+G|M)Vg+L=R^2N8;rwRXE>YygMGreG~r?+##Yd%;CrdU=M%VQ z+)uc)*dDrRO?WF|FnW>!73YF3R}*YgNp+j2ceKKSbhU|ZX= zcj6A&uf~zwmXG-+m>R=U9!7~@IS-@6j^a_)NRNw*FOS;{4xNDEF{8{VYq!TIk$3Uz zgegIQy1=i(JY{_E4>G=GHd7gI;ci^wtErrJ#@A&~;W8SO@mFQ0&~9gCe2iCH1(z^L z9gl6o#rE-b0Xt@aG<^$Zd3?@uYnpuT@lQ6wQF!jaR@B?|cSH}*I5-7P@aPIoP<$z- zBT>IO;+<10;ovymsU@BQ_*@HBg70V)SgZ=Dh_V86t_=;8x**)7>axEUUf;T0qtZ1oxM@~!l(+3RTrv`Q8q5&8qK$cm=D=F z3x~PrsM``FdPwVsN4KawI3OKM2~Ikdh)g8El(_(B@e=W-d(~27POi)8x&vyJ=2ZqH z6L`eP3qGY(Udd;r?u_w=ub19I@Qt1)A@71ei~Jsd<`F%QWe+ta_=bAoacjCmSz(7r zs!Nhu4s@x zU(*AWTmLFYuE`aTIFf{huj~tImR|OxUykDWU`)w}Mk~dK|FvT=+4SqU-_!B|Apfrs gr}?LOag!E+GUCMp(ZO{IzGBPrmp|o?b#dpp-=yLus{jB1 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-gamemonitor-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-gamemonitor-l1-1-1.a deleted file mode 100644 index a56a94c8e4014d51a8b6e36fa8439771a91554e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2834 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 QzRBt-NQaXdn#B|HA7Fas(*OVf diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-mm-misc-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-mm-misc-l1-1-0.a deleted file mode 100644 index 0a091d0c1bfd62b34898a83fd7e236a1cf79861f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25272 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-mm-mme-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-mm-mme-l1-1-0.a deleted file mode 100644 index fa768e316e9b52e1d111c0722d826539f7eaaed3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85380 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 Okgo@14df@t#`!-V9L%f$ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-mm-playsound-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-mm-playsound-l1-1-0.a deleted file mode 100644 index 463e22e4e05536934e75d52a712d86e55f4ee7d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5102 zcmeHLOK;Oa5FRHfEuoZ3JjBt6B5`Pf-G`G%6-v}=50wy##AWN&F0mRXQJjc!;|Fl) zui@N3z=faF17&7*?Q9ym4?$9)cBOrI_Vey~_M4eqzuI#92d($TcjkDqH*LputXj2V znihBIrD?9$s_KQkA^>1EegPDI04%(a`Oy*p<)sHQFP{M{p9!%o#K*|*M`G6>_?6O&>c*GR{)SR2emCjV zZ-fhIz?F>{TfjyE*QF;OPvSOXIpG$vag`Xif{n!#T-=XbD}_-BxmF6pQZMFO zsco0+l2!KFZGiG&(Du~}zs~_a8;9;uEKqV?e>7eG!kh%tb(hP+XnM>No6a}9368d$s18c4sS(^1mBj9l}CeK0s?I@M&M04*+Mk%OPum`T`~YE)D4 zlkF?AFs(}?yDElMEO|OG&AsA|G0#dlMh?@_fEcasI!P8VuVVkM;yG33^kPWj^J(`s zaI#O@yfBJ2V=<(P7%v@{*cXkrg_uq{&cSX@EvW2BYx^9h9#cjv)AszWufGZB@#Gi(I%&|{cZc)YKW=7md-wyVMMGi$ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-mm-time-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-mm-time-l1-1-0.a deleted file mode 100644 index fd432fe69fe1da89ae9402a4161359bbf6f73fb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5908 zcmeI0&u`N(6vtoFj*T+LuL0wNf;1$A){<;(+M)?n48(=QB*ujUUbbXww5F|^42Hyk z8wZ4##6L8Ne}%t;@t)%(PSbALp_?krYHauUTRVRFJlpA`RkOd{dQp6)CX-&(4c*Wh zbxl?AgGtU+wNkB!A8Zx@U=~2ZvhWvR=6P^kdkR3;oVac+0?;+TKo?_cjJ@~lzQ@*W z-|n-uu4S{&PRHyy42_OaH(1-*qDxr29ecamxA)B+Ba!QooVhOZ9oJ@Uo#{+tCc`dV z8yIWZrZuiXfRFjc_BU|oriPAq0&?u+N!E?3qEl*uNce`SAKGkachP%PO= z`MP7R+kK~NH7jzj2{Y+l+Ph9?m@?S_mg^q)~4Hu`)YE7q%mtCD$t5%O$|#NGv-~KHn37>LbO<~gs8tx~eA)kAg>_mJE zdnb(o7Utt#3yAF28OW|RR-&~nB-_9zaFfrVaM5Hh3rE5{R*38cK?gnIVPuDTxs-HK zq{!`IopfP+u*5|lrfKQtF+a`ybDi6=Fy7+pbkHZ~1$O+_erGSRaLV8U;(&WMhy(I3 z`7}=Q+7jGzDl)h@WSmNhO@M8l2bltYurlr)YFvAt*kFqkRi1{a5`@;N`$a>SqH3DE z;sD9TV*{piRL!83_LFr%Hx=sm_KRqJr)O5d!9GaiLcFge_KP}dtl_#Ss;IwJ)O3dH z3~c6U4)dna2oo0S(eY#Yc6b=u&|4tR3LCh+U;{Bm;}DYoSMdt`OW);MDxT822*~>^ z(VqvwIQI~Z5?SK?Ak^?#CnAH-kM1FeB>FuinrILicldVziul0tL|CX$;5+7nC##{y zt?{1tV%}G>@m|wvDc-;0v`^!GL*nE-dH*PldlK)h;kp#>{o%TZcUoPu@}3WQj}Oe8 zl}Tm(0ilg4WdB}V`< z2gILFH2?Q#0+?d{%YlLC3jD+}8F*EIQ^IXH7(uJ$qWXIbrmGcWx; j$LW~d6aIa|8&k}^78rQ0z%ML0_tKP;C3=M diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-ntuser-sysparams-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-ntuser-sysparams-l1-1-0.a deleted file mode 100644 index bdb658f24fbf9d3052790423f59e664716922fa9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12194 zcmeHN&2QX96o2bYnsjMJ1t=6K;6nJ4vWvahI9n7|E0TghR4NJx4iyt8@n%i;OKWf2 zLf(-_5&%38FjoUuPytH!MLhpK0L2Tx ziTLy%02G)06!E#g0VrPjM@0200E(|Ji}<<$K=G}cBCgy6Sh>g8CS#vE*1%ymEY}*a z&ECGn?$}+kZ!;9yM%`d-dzYdo?RBla-oP4~eMU+hhtyfu9pY1%bLjNVfr-Ml&UB_R zli{;E7BJSb%>7fZ4cPXf<64~?^b*t{=Ywvu_gOsRU)$dtKY@4a8g3{ii1speXV#?+%+yYp`t} zSx!T*N;i(wy4D?bJcVt`b?xqfgT@GMPc2R;xOP`I;|K+*$ZIXWabW+nQc1pL-M05E zdeNl2BBhbWV+%zgSvTy7(K?Y*GCHq(#1mpVn=P|@V4bisS*xn~-84!C_U{~7yKbfD zj~QuW1&$GhVW_H6Ul&7#x>Ne7a0Z79fLa0INq#k7sJPZ$mtUtRDrh^EebY75Rd`7Q zw1<^l#~Gsr$E0V|1DA2!5@8OrIeafU@aGA=HD6A8i|KmnzTTU7aV|m6FUQfS+;Pe{ z8kNOpR1QX?a$7I!Wv#N`ZUa=BcH8o9`u7pQL7{2h@&%q;wjotnJW(&H$@WvybR^pq z({v=eku8b^N~6KEEw|Y`7LCy1_9Cw+7T$n+TSr6ySB3#6*;pzA?Z1KZK zuhG8;4?-Eh6OcFu<=#j2k+%Yz#VG7d|K%&$)>LIN&NLu%GUpZWyq{Z&YQeiCp7k&+ zF--(Byq)w80%LSP1*%U{3iifj+3(3gdff!k*6$`|W z6hbTnlVg-B@ExY?WRt^1dSXdFTSfsZX!VRJsK!`fhJxh)1-R*$83l`k0(no2`^xk( z!n64P6haheLcmi6zQvqSAUC-&Y8xYPJN8 z^y0iRv6c-Jt9XpT1D#-qb@ewmqK;#ao6@M8CwnxddLXHC}go}4P31tfWh^dSVzuC!$>Cw`>*1B#Z5#cvG84=Oayb)2&hKO36BWA1ba0hCV)wcqXwP)lT zA_T@%bHyvv01V+A>OCRgsRH;ZA+Yr3hr6?5bn-??#xw01N_an?;Fn;PF$qcvQIybL zOz@o?RWi*ps>x9jX?_Yy;yQVwB;y%(ExwaGTZ@NWLbHpk>kWXk4?U+FA(#0$BJ;?W VC!tJ%UomBAP0#olY+m1B{RfZYQ~dw{ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-oobe-notification-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-oobe-notification-l1-1-0.a deleted file mode 100644 index 203bbfd86da8f6cbe1ae6ff2f090b31be4b20baf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4540 zcmeHK%Wl&^6unMTQbKtwSg4i4(JEs!B}cnaQ2wdE7Z??)c%BJM8pcRbH5r$=e^{b=YP1_`d_og1Y4Q5u9hJFnkt$NfQwYxG(ToJ`Ok;KFkt_vZIy*HvdZ zfciAXv$$Xduk*ocr?pt^eb$~M3mnHWO{dwEBsr+OHE!Ux12hbPyS%ny)KdQ><@M~$ z1nZ#Yxv85C;Vmt&&T8!>Spb7igbS#{^@hThuu{T#>52Cza2v`_xYcajrouhN%GwN^ zYDacf`$-kqStWK>b#_)myJ}ahniqyp>jt4OU;1+naALvFh^Up$xwjuC&C$ROfPA6je4IU1??Rp0CJex>gXk_5CNyDn8G#-II)`!o0kw zGKvDUj}+}9ZCn^fpNXi_M9j%-+(>EE-xgv%&&D~}%+osNEs2pPEX=d>$Mo;?bZjG@ zExKt4F4EYw-{w^ffc`~!y%j?DJW6AQJQD_<7vLL~OkZy1XZ6zV Gbd|r?_as&T diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-perf-legacy-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-perf-legacy-l1-1-0.a deleted file mode 100644 index e4643147e811849f01490d4e8b569cb1d2164dfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9620 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 ObSBU-ldGF1H~#^D_WY{= diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-power-setting-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-power-setting-l1-1-0.a deleted file mode 100644 index 42efc5761dcfa8f5200143cd65a378d4b7662993..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8794 zcmeI1TaVjB6vt1Jy_D4=P*tH8Razr0l|Ure*{l?==5NPGwc5B&yw9iAxX%#7`^JxRP$*HzS=XvUM7|IFCO=a(~f-ns5f zJN+9Q9~#MI?OHZ|OtWDaCht;9!)V&J9I(Fu02cu&9|Npi19@+`yf(y>ZuNPrQ*c@fbFGcFSf1?|`yw z9gp13cs${o1u&P$otaS$isP(*oD+m1d9N@6ja~_2avR$`q#OAUgxzup5EuN4CR=(*FZ1mAB`S~7Vc~C5@_Jo6*Q22$)<5qe`UluXZYaa z(9`KigaUZH6h#^S!Adbv{A_m#aznB~g!v|>roe1b6lw14D1@zZv;2r&Oq((CY4yHS z%LU9IVE>w-I+d@@IBxq#@s}DoroS-``iWz<3 za@_NZj2Tm9-FY$Nd%Z3bGk((RqL^_Fy}B(mnH#hG|N@8yA%N9D6;ZH0R+~`cuKIJR5VyW55NliWbl=2ikX%RJF zD&AHkH3!PN^Qalva(|m(dgQQd5bjQQuE4Hz`*M2uv|4ABhHDmf<%%Mx>~h zz4&Euu{_js@?d3opxw(N9_}lCR3r~yE9=hVLERxLx(p99c61RBm+*e)<)JKiP+s~k zHw#y!=f^BW=EI&c{2H;KT(a&jjl{nrg+7N^=M>OQ6wu6mLVuAIlwu0xL+GnSfxKiL u1&OXgDKK+VaK1MpSkkmavEVd&BM=m%{+(TJ67uhjQkR|D8|iwB;NgENlK&3? diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-ro-typeresolution-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-ro-typeresolution-l1-1-0.a deleted file mode 100644 index 435d0db512b75d1c814e59712e5cab9a628e43cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4428 zcmeHK&2G~`5FRHfEus7fAymP|NCj~q!A@H@kt$@V2rhuCs7Rbx+-5_pI&ow>1tboA zgx)zI-h)FQfg5i_nOXm29otPfG*u-=+THQ)w>#e1`8?|fTb8%qdscm_rbXY-4c*XM zt#wt^#E@L8>RQW)CVZ#@z!HG+3!w57)kk5u)&!t(!=%F4He+vn?)hwo2i#-ZZill^ z_P`q23_ES3X)wp$qZ0MH1HSKid}Iw7f%-ndndh?L%aD8Acb!pSy94IvOlKOi7%tZ5 zz*vu4o%1&btnIexEe`n`wCfM8eQvHb(7xRtvZBGZyJLAi-^DG^EK`>zWJlWWOCG%D zf%V)9tQWS!&4xBMkTV7yw>t{zZgQMO=csF%Vc-!O&1Q0ruaqlzlmP1rz)hhoDD{AU z4uoD@si1wRckm61A!5V??WDfv`%_?WL^zukTwRZ`6;vwtUb2YwLfl5&Pq?LG+-8h> zjLLEjE*{5-tM&aFMqJHvYw3uqIeJa6Y4widK)s8n5>5JZ3h+_sS_g4Q)GzyxOqM6? z5={1AsR$$au3UtX{6@YgD^#Z?@~!aM0uG&l5&oj6C@bW#ti-DmrUV15=f`x4_1-_k zdQ)G^#JYiJaZ7Bga?!Egh`oCU6^iwhC{F0C^I|>5%dLbfgc5FIBeDNzv|IB+xw#HBWNX`Do=P*4tB5ahyn>%<#u>Nv)BM7dR*IrI-9 z^`CI#XHaI=yUC{cXfC89d3Qbgyt97$#^a|ael`r>G+vpD<~Ci=^_)(pWtxtd(p%Gf z?RxTo(*^+40E`Rl3V`|_x)|#*_9^FC&icII8S6~~&b~#7pGFLwk=OQE91ZA_-buoT zlZ;ROlo4p06P)FIIL)HsJNnY$Bq{tT!PR1yxy)fc!v)727z?={>?S0zcf5F;raiTp z54eNied zMtg=`@N+zbjb?&#Y6pJdZ$trf!MU;rd43BFE(jOVg3pf?76kz{+?Q@*y%N_{e!}gq z$F&sh5C;bo6L3#7EVjcF`oig10@K+JF(9kus_Vv9@e#b;492!*;jXDl{K% zule?oJNwos&3kwrkHo9h?ppIlis8pNAk9CKTA}k^rFn(ddkr_sA$?wr38%(4`vY{; zfm-?+)CE5e#AqAEhvG|$a5SMF7!~0(IV(Lvb8rV)A=oXmg7_s)=ca#k$~`aTi2y6b zQ%{)+@Kv;BQ-R+&*li8jO|6pUu^}=pcgRHA-Bx8;Wg9!?8;hHY13qzgOq z>iPxUU0%+8G}`>XKnT(##U>2{+{dfrobL6J&O3##F4rK?E4HXOAag>nMp5u7tqRM` v)@sl~CW&{ZJ(QV8&y!K~GLv44djMLe^z@~Nx(fWlc8fout$&$znx~C_iVX(? diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-ansi-l1-1-0.a deleted file mode 100644 index 55e2f9caa5c0bd8079aff16769f48201427f6aba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3592 zcmeHK&2G~`5FR%vDNzv|IKa(Fa6qbqH)-8es!&iRxb%QjxUzMdEwP%P%60{nIB?|H z6GxtF-v>nEWz3263?zD&v5s1LwY75u( z*=3Ke+iJDV1N(IVxCP*R1*m=jsQu7aeGE_^OSvQE+eF2Qe63Oy%bihI$q&&mJc%S4 zqo5tgesn;Wv5to7a1^W4@I(@5kPuuZ>hLs<(ldDwCQ63GB$9n0h4f`8akYU0DSImH zE+8JrJ(a$U`fAU-(~FL1V)$rqBFkN`iuk6V;mcgmJv)oj#wg#ES-T;8KL`TX4YpeO zZtOa^87OTB;4W*+P9s$xQ`Tn>F8KS6ZkUF%A?)dZf6+Kdl51e_nQ##;_;@|TR#B)T&J4zG=aIrz3b6@h=WuBj#>!u17RJgQ<)h-zI4vf>oVR6k&B1Wah#3{< z>GUGzE?b>2OEAK5fwfyF#`k`M@olkjh4BII#y$Qu)thE~(tf zZ_gGkuOQo>>4eMl;=GE68qi4Jf*R-N4r{-{_a1*(5st##fupo{Iy}}EW*po=O>lN~ zO;CO*rxUTiIr^QiR0)GKzSB%~3NYkR4@>YJl?Aqx1@tY`C%M)VA4TYbyRN%zib=2E zb!wcTPsnF#{KRgX0c2UhYYqKx4CiTb|6X^=y8-RwItF`Z#f3>1n(8jp9ed@tyw+&F zZN$XoxB%TO#KDfi7!ywJ#pM&aJ3pV;@RS6_vx8+{R1inC@-O&NGFpTUWMrsn5pWFU)B>)tUzW+ca6n}DO{vUzG^`D=|YHbz( diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-1-0.a deleted file mode 100644 index f8469acec31e4bfc613af98b72a3802e7f49be36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83084 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-2-1.a deleted file mode 100644 index 0365228d84e43b5fbbcb1be18024e71b430fe55a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2700 zcmc&$&2G~`5FRHfDNzv|ip0@KVb9z07?MXB~C6t`8Qocw1oJS$Y~<3WGbhkHIAhC9*@FFEYKMHfiDJehc0Cuk7Rc| zm9uan2sBIxE)v3=!A(B15eb1CqjW64J8QCmtnM9S0Gw*`Ef2s>1TWo*$mKY zJe=SMu9+c9=CYGk$C}GL4n5cPec!hIAmh}w+m%b}8PW*gS^zIuJFu#$yh&NlA8c^j z)hJBEdsx{3KjV8=llP7J~~Vd@oaYzYN#VcETOz8W$PrkOoPg>w9j$`Ok5wj9@Zb2e~`nlab4PB^Wv&qrt|1C3PuW#;DvYmdqF zKA(mNN8zl2UfQ3Ht}_eg8azQYFuPeb5WmFfQp{5(d*_Y%V6e_~nyEqoVji=h0Dn-~ zPaoKApHVHX!WEXdBwS_>b&)gIGb*giwA^48Q(LB-Hsel~L%dFL{YqszP4@1($l}ze z_|?(b7sD?syUj`$2@n%)$1N(1_PapLXgkiwWfnSVnhK*#IN5ji@96IKc4;GRrKxki zksr!WfaiE+{L;OtnH-a=;$~j~v-@%v0hRB}5P89;jE<_R*61rMRl?s#?~qj$Jx@a3 fvnqMb_W-m{W;s$BloOoL`&0)K}#n8N|!+ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-2-2.a deleted file mode 100644 index 9eedb802b89cf3e24717e1332a0cd30a62ce3509..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2780 zcmc&$&2HL25FP_5DN5BIdg#%W(p&8s3mhUv6%tiXQ5C7`c`d58Xs=2 z@s`t^zekkDJv@hJ{799D*0`&feU1TX{6(%2I_Gs7S9rbEaPyqe$5l)?72j=-u%im( zDf_F;&l8TeQTmYImIy~<)xaPf&c;_+4{Hq`ARCz7EE|Yl;&fs9TPEA{N`5d{DV8Zp3Y%xKR%e#7 qhM$-AkYyR&Pe!X}S;LQu|7f19=NuztCHRfu#&4W0KZW*^kG1~;IO@y* diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-credentials-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-credentials-l1-1-0.a deleted file mode 100644 index 74754a1a10947f08c72fa02141a0fd41f3539067..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26386 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-lsalookup-ansi-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-lsalookup-ansi-l2-1-0.a deleted file mode 100644 index 8c238855de56ef37f0d9cb21d6968d065c0de67a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6268 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 T`#c{+E>-bQh9Ye0FQ)$h_nhFJ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-lsalookup-l2-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-lsalookup-l2-1-1.a deleted file mode 100644 index 8578e07df07076d20d247debc64599394d1d5be3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2794 zcmc&$!EVz)5FIBeDNzv|dO)0v1P7$r#36A~sX`IGrU(gfLu|ImCb8<+R_qAMi31x?IwG z(`+2O>Vkd^04e~6kHaT`>Q6cuJ7w%cEM_r#ClWDZr{Per&tAYIkD=3ZJ1+CRb2^nb z48$Oui8+rLfu=FRSu6(gnU`ELKjwZIUd$urH<*J5XSmx`0AmxuhdYP|tQYe$9`Lbv z?+xE#>@yxkUNG)D4ZI6)8nI0X7+#7vvBR9|B94)D*F}2W<5xMyJ>wqI4A3zE9!hJ^ zuoLkmk#=!sLcMPfdBTe!a-|FPYx_Kox4_^V;XK;#Su?}p%ZCcym)_)lDXx|I3AbO2 zYiGD4G!E9_vUOC4HH|G)hn10{d+4Jc0ql|I3w7b|8-TGf;uo1i`E?#C zZ24Afg6SNViZB{~&+v^mc;q_6&-=Yh2TM(-2(*+e)tsT~+4lX-BFdZgmu4st@Wo8|=ZOPns6{>@46c_m9E zIMX|gl&1iJ?9;9UztGrW!Pr4nQdLmqT3n}=Cfv5_(r%^|-8B2Po>7$qeMdc0IVW}N z3Lwuuo=3R;QE8qA^Z!+syc*D(Y+|sH78e#(XsNnTb&S^I@?4|+P7w2TJ&|Q?6;QTRPtqw!B(%K(ElU!hp&G$reSy ztF)@Ca#^c6OSvPTmF^+UHM*V}MNf0bq$xJqC-uCM^Rz3$4>UIY@@)Sp+FdUG0r%qX A9smFU diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-provider-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-provider-ansi-l1-1-0.a deleted file mode 100644 index 1d7e632d92f19a502eae32ef76a2bb2f226ee03f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5400 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-systemfunctions-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-systemfunctions-l1-1-0.a deleted file mode 100644 index ad3581f81cd1f87e55dac7b67cfd43ca2b2135c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4486 zcmeHK&2G~`5FRHfEul~j9DtLN;D*z6nz}huC{iU(91uTOHg4h&tNE#Hhf;|HkI;ue zJV&2{12EiCX9{z;bwQa#o zW^LOwS3TQyvkU+m0M>Va(l<0;sq0o7fUY|q=#uh4%C~V4#qwp41d%)#wgY(*4*cU# zqBHdBp6rE(bZPH!5VVF-F!GNjf%-AQWgN6dQJ9>{_%u#}erGgjCE;)o%bqJ;DWorP z%zgk;b_2h?vROgC=Jh<+>k&1#;Z|`KVgFd>v}JpU1wB+-rpJ!gsOL<3wEWfaB;Kl;%TL4>Ztyz^M_?WPrU)dm$*b*8gT$fpRJcZj${e;`d$L*y!fyU+>T-uKObNaD^{Bu(NIT`*r zJ=bv^QEB&j0F_SI3v}n77Xa_Aj(?OowBL*+OoTnG^2-_FSeQZ3 zNxGxKk@7I_;0lz%(N)Tz_)<(K#eDmyHP2{;!71zMPHF{6xK>pGexR}Pw6wAesPnGU zT`aIvS$s=#P8Aam7s@&79IQ{sZ8}yE(@i#z2ag)?6x-iu{?pC=dpT#EBWPD^IN3X6 zUYO*jshm?sOm{wRtUDTya%(gn=V3D!;$uT&v%^A+oy!_}gL*NTsZoQYTw?zJLt#}t|8pX&a!BCHuji2qL!%RelxOcCOe wil|-Zh*{-~UxvSvBOt4Y9q*r3!~={Al}U~mr&#nB;0xB-9I@=fdDW-1U+}>a3IG5A diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-ansi-l1-1-0.a deleted file mode 100644 index 51ea417f0129700adf00c2679f6e99a0a425c1e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4484 zcmd^C&2G~`5FRHfEus7z5UM}|BZ0&Lr*@mVsZ>>|O2vVyLaLBBAZ?w-Ay%Cq#ZFr| z^}qx46*wW@qR+sEH{dZSGwa=WQ`<={O;s_{{&@D=9q;UXp7rx}r+3iYC@$*5Vy#%V zWt(ejE4ps-A+^@^vQ-fi_KN^82cZ1{DEz|idQ|T00#LcMH?n%h| z*_96FeyQ$+PBw&(RKYwi)q-FQ3{DB>(Sk3^5?jDd0pCj%zFve|k$S?-W#d*Q?iF_C zQ*d$|Us2&#KTkf+N92$Y){-UVJYvi${$khpxgErRF<3Eq}=H#(n zv6cs4G8yYOp2Y*ct-^K3`jYhSL+ntjFNipyvrdb3iC0?%H{gysF8hR&{mbn!hNus^Uzs(3o;gJK4u-R`PMj9S(a1D&$-i;VR{w1HrqJC|ncTRAGgJrZ+ zODqLw@j9w<@EbeR%SuQ^qnR!c6x-_g zlLjvp@EXTIiioF1zq+h4$O3eZlt?7bWQ6D5+l7K1wFDdLWCuE0}V8SPLJo|Zf^X)etKRgV^o&NL6Gkd;y2cGZwZmZ?lwyTCr zYumL}O+Rp4A)*qI)#vUVQTZ1xA&!K2pU80{-pEvr#nG@U#pf^%Mxo$f=r?^a2v2b7 z=rER@;aETpW)DtTgS+A?jKLeYC|a=dO>?U_+u@-#7{wPA{l(|V3KdjmJk9dkVQfy@2N{T>I(1dF#o zS@CmAdH0!x;nA_TBJ)~1(}w(Xj!^#sw$2BhLLGyMb8gbGfFtLZJs|OyL>(6@ef+@ z=6v_E+2UfoA+s{8>OwjP6kAw@pE9bg&SazB%w>-H ouh>JDX?PwDt7n<>K;08zo-ESV5p)Im$#%_`&c;unE6c;mUm?ZmVE_OC diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-l1-1-0.a deleted file mode 100644 index 562e9aaf8c666c7be1d5a76984d611c947814fb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4482 zcmeHK%Wl&^6unMTT0(g&SagMqT3C@_hty4_3PmbNT_A)gP*zM#Gp$XX2eu1ELWm{H zuJ{U8d_jMJ4IjcMQ0|=>JCnwFbkS6m7-=59b7scAbI#oH?KL;t_8u1RoBhdNwjJBC zR%@%KX^AeqG|g(oQ3D!90GIoYX^PR(I~|CX|{cG`Tq6Y_nx%Lvqp2+nYd5B@f1)Wrgu+00@t!+Ba981uN> zJkyncZN_dGZ_2k=kHg@RA9dY$+vDL@y^62kx4LW`Xp<*1;B4`JRIjB2GkTu$T|Yvf zX^U>S?PkEk#|K+=yON9@i-YE;z4vjslWz8~UA8UDad3m372JN28pS8ZCEREL%K*48 zS~EsD<_EE84=+rx8s(-NyTc)(rw-Op`E3-9fx%b8`845DHNh6JQNZ`olbBE9mJ>VS z=7!@|65J9t<}+|fKk~8Eib}}GlHy~D_*e?;l3lXO%^(0M@Av^%1O6TZ>>4}nUSd#o z-G8)P{=}LD(|wm4hSB_%ABNF>7a)z9L5Cjm7>+)KfA$VRGPO zIh8Y@NF4W0!SR~)V1VNe?!yi79fkAeIG(05-NcGGzMwcl`<%sb1@EggT&kHqfO;TY zmYr<#m}f;v>Yo+zUUSko6nYKV!majCv&zBR;r$;LU@Ez&J4 z>k6YxSeZx1cj)QxuxBH7jktXvkl07-5?cW-W0wA=XT7ESoR-cHMj6m!v4|<4*e^Ur ztKcXtzA6oCQKnBb;(O^Gq{e7GC0bo-W>Gu?&^*$zp)6G8;0KoD?o|_AzNTx zT`b_YQ|jp=y%L}`2j8(|CqH@g55+VUU`?oic^bF2e>(XPvj6}9 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-l1-1-1.a deleted file mode 100644 index a21bf926dc04677ff090e264c0426de17f740da2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4498 zcmdT{&2G~`5FRHfEus7zI8+?KKoJ)b>@;;#sj4EiJs|Z^RH1S}+Pck#SWTP|JEiTZ zLL52t84!=a1M~&B^B|llGwZdpshz|enyMRlcRc%f*E{=tp3T!0ySv|5&A-+Mi@9i8 zre!QwmUZ0_U23iC<%N=bU^fo{GXUBjfZT61E5UWA0YKNi6S^2%W9*&ByB^!(KJT)% zc8#;oj%#-uhEB(-Sgh&n(IvfYm+!Z`yk~b9fm$BH84hvi>~lt4tZ6d(*$l^NabT>$ z?b?;j1ng~(caOJ&w^%>Md7b??ZoS=Y*}l_ut7Zvb!)bL`8sLW8YssO!ZQu5L-p0{R zwQPh#4DY9&b>87_jk|t0#7?zTRv%3UK#lWHez6^G`LMk<4a2f5UALBy1fuNbH?>>1 z-2jFLa9>zcTG8i6zOaW^IvBgfn(f=eA)==W#(8ni^Txp7lyD9WIA0F2IW%(kUTP8J z1-Qk~Pq>-kxTO#`kH%~QF6>8E7Fu2bSy_;*ED$RTO|yW%Vy)Q(DAt`Omk<2C0QjiY z?Ss%E{c8MZy6mMn38uy_GYq4|EjtXO#EjyQ)u-O6G@aqrbS%7 zA&2SkK#W#*ojiD;fLGXGlRT$Jzq%X}ee-Ge$~c*;%nSWoGmt|nh&f8eMf#%gRuJPybVkopq1gl7ycG8UG)~~zk{)U@@DuAar>oS* zun8O+DIW>Fm?`yAitFVRLo`k=?E$pP7wKgV*H@JoG-XNF ziw243Xu++Us*%TX#eI#ehC#qK1K+V`iOWv)_hOQYFj6W)`Nz4b1>dl*$bfN*_@FRp zl8UG+^NvzPCm9!0#7QzPQp6+N@wAEnp@{h3L!!`4&Kyr@0a*H~sEYfb%D@jageu}o LPxaS%66d#nx&Rem diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-l1-1-2.a deleted file mode 100644 index ea0f2b7f7392ac4fbcc3bea4387bcb685f7df1d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3586 zcmdT{&2G~`5FRHfDNzv|5JGUkh;qZhPEt3ODioiiJ9g>pbW z@Blp{jyyFFVJmN#P)o*e3 z$?tgspP|ur>n;oY9lDgY-{ZUeAwTd2j6mIx;0%{I^mjRj4crhcwgGTc^p=cr#6L%(pIw6o)M0kQF$VV^zwnAOI-0 z{eY_pf6f8+jJCHQ8y?tpBT!Sl6 zgNUwF1I3qOniTyjBcFLn9|9aRomx^TKu6TF%E2$}EF_)GHCw5?DD)NDSR5&`i*m?% zMP_-^Y?ii-q6o?{a+p#)FODaFNci2`LugAbhe}Ug(TOE<&ZjJ zf^^(SU$ovPVh+=BE)I)w2kVByC=)j3>G@;2J2^>gcpicz`^P5+8Yk9~KVm7sb-ZMp z>0a;Yu_l-K>Ffe}4i>ot6zfH#$P3QW@~YCVmR-iQBHojpL28TUQz7qCEBD1c0Iee} zb!DL@2S2dRIt$G_C@tUsN4Z95!M>yxs>umA*1|Uo#YI~9p!h+}BDK)g{La$CARRZQ zg)iy2krwXZ`!y5>yQ-vX0W>Y>2VI)d(V8VE#Wg Fe*tK diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-management-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-management-l1-1-0.a deleted file mode 100644 index b93de07cf7d03b0638e421986e56e3168c126ec6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7702 zcmeHMPjB2r6o0#$kTeu%tNuZ7F;Y1ob+`6**GZ%bt+YkrP(-DIia0QFvXkzrUhm3w z(;Rx}splRLLY(+0{Th4=gendkDDSD>Th?G2X;09-~vGNM}XDm0PBCK{4QQ8zyG_+7yksH zeEF5i*Zu;a{P8=Kg%}F)Z6w1;+>@~k#c(!~;>jfN<`aR!iM!*xOWs5M$|$Y8Vg1{n!iR`)WoH22K~p zo=oSWME><$1|^CGF$;!Y@!~?W%aVpW(nnJ!y$*Wm;05t8l%CdmFzD-PmNX1!K^)Hf zq|+}BaSCqQae3R&pGD~;zVw2TFSDtXw!!Gh{2=bkG$a>c(XnmUbuG)?zNN8vw}EiN zwABFkfNQIbPAm^&t}iYuuy;BmFZLFzaLWMfmz~`xIzbJdk=}$lyxvQ7SFo~z^D-0n zr}X-%ob=Wg>usibH?VTPL@#YeReP1~|di zRh%IEl1;N@`W!Xq0!vsq#XDVzrvL$$s%XM*SgA2k))0-8=+9h>Y)q~q+)2@8)7~<; zw#EiJL_E{Br;KasD7}I0_Y%z0#rp4}i;f2LCVM#8_r|!8MWI}Dq3Ad&*VA01{%)gA zP_E}9peiN`m$b|Fj=XQxkr|sxX&poPUbq zx{hQT{k@9lcX|c%KSd{SlK20{@S1gc{~wHTkMsWHa=n8056ks5`Y+*IuIl|)6#Dh) zm9Rp-^t3YI8Z7`*#sFIhxNO2NcvTG0OFqhhBMr5);8sNz*k>_-UaBI4KG|y)EVBn{ zLGA<0sb)Z>7?4|T_U)%At{wf|is(O!0qoHhp?{ee(1iR)Me6vij{*55AOC^1{&Rp+ zkp*4#2f(tjbHLe7=(>&p^ev|9PN)HeZ{??&1s}10Fn2=QEX?m;vBW<*%lQCm+KWy1qbDN`lVmR_g$3>0L8yR`1t>T56k`- ItM7a4Ke(I^*Z=?k diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-management-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-management-l2-1-0.a deleted file mode 100644 index 92798e0304f8e1664233e7a0e553406f47a19636..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8840 zcmeHMTaVjB6h2AzQdWyVfU1HDbwznVYJ%-eoD{99NDGLEii=igD}*%bO`MIpxhZja z;Q{Rf4?OlqREQ@Y_yv99KOpg2DCf+K?eTh?I7qmPx+BfSbH2G9pU>ymzPayCJN>&m zpBTwxH7v(+%sZ_;!!Wr>Ee)gD6xW7vyaNDl0aU&K*lGd1_Dtm6KLIGe@wdotZvjxg z`ku(|ngEoqe=qWl3BZjBV+V|VH}j@5_Kg>KQ+6=!dhC%uawk5+PTy%cY~Y_zmc8SV z*BMW}xjSJ58qNsLaEgb1$74fx^YH*<( z`CA>%s>t7}+JJLs`L}fBb{c^o+qG$nz>x?X;Qu;VKiM$GDCrlZ}SQhx~+#!qauVC>l ztC6yJ2k*w4{4^Uc+v07hRCos)WbxOerO@5hS$v3BYXuiENR@|e!iDXN^)7a71C{hF z*yj3qowxGXd!IWtgk$2i1HGU>ADxLFZgKDuIKj0mI6?X)oyJLh=7>F~Si-@fy;Ds* z1sL&C6lM4e8wI-b0^$Z4r*N*#OiWEdxMkj@S+^CgZF2?vjP^`{8d zAZ?y1N!pBCgSV`-u5bk8@DW({(J{5+l2?GM>Nq zh_0SKjr)j!S%I0bLRyoo7Gqw_Lf3Sywp4x7vX!*Y0o6lu4+D|~TwAmXj#9j?oMjBTPYT3DRgnxiQPy3=kbxeTV#q^1E@H?vJYQR4=)5B78L|axtRKFetT#K} zmnV+du^%b{>oWX`CDR={;}s{=iVzp|+8ME;k&_jTG%J2VD_F*gW5t?^WW@tz-9@Yj z^tco&e$wM2R(ybWJufRZ6Rb$SR+A~wGk0Bm$A@$POffsY6dk-Q!yi~D*pWPb21j(D z!kJRf$rQVlim=YndX_QeRq-EJ(E{=^Wh229`MCziuQNj^!lV>4C_e zE7kH3YsJS@dpS9A8B_7QE1XF5EiLjMtHe|l4JYiQ_2$INF;(Kbuz1^0L$0K_a8F_9 zWW{AnwU8C7#8hR-{_szWth2|+6;ov&U-?V13{*H%tei}_^dAeEvWovGf#zS;tKdI$ z$8P8N^;djUW#(l?`djYho5rpG6jgza6&O~nv)>^9NhyBQxGOq%S%%-RW*S!H`>|cz H|CE0LG*1v0 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-winsvc-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-winsvc-l1-1-0.a deleted file mode 100644 index 6026a1a152e82ba25ff08ef9348d12f72a8c404a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15484 zcmeHOUvC>l5FekDCQZ}wN1?4Ms9Xqtglcnk9LGUXWy>H{D3n4AMLcl1#24GGV@LKS z1PP&v2gGBA5KlZH!~;(}@d5f3koYtRQD%1c?)H3lzIBycb;TR)?qzoFc6WAuJ3G7U zD;wrur+sbVt(-p;SBn+=)AiL{PG?1On#&bSE1ZzqS^$8T0cM{EnEMCd%odO5z6GH8 z+&4Tf{RTks!e2aI`Wt}aZkPssY0m<~Xj^9UgzEz1mTeB~Tf8L=d(eHSGu$`rowhZo z*UH$4&fdNe$0UEFUMrTuUgPwStX5};GLtI2ZuXj8YjCGlbzX~MiY|WlNUlAeFPfvS z(i+C};ej>yQgjF9U>^*YNOxV?Xw(2TPNC8U89`w6{nT@h5 zukbQIRq9Ph0dKnaIF_>kDZ9EKSsYS;GWP@*Sq{zC_MTnnyAxv6Oo(%1rBcb|Dpi~! zS=d_G%;02(p_~DDhCR(@3bu7*v*+j}2l`f_Y1(Eq3oEIC{;;q;9LBK0ed6oT2baqZ z?+iZ7V7uhNzQ_4i9Xj#NNAs;Yd^k~D~D71t|I!x0YemR%;T;#~*&NJ~j&!hPw66SzXngiyTe9p2b6yUDu1N9B6UYWUY)Q#kD4LOfcV}9@8S5v|1i{qReBwisf5E*D1@LoHcQ0e;Pru za(AVA!LvF(Yf?oXJDktO7=3R8dA<(kt6(t;mocpg9znt^_wW&$Tpv8}XoNm_?K`r5 zMn=*=s+Tkt;50@qZ~9+;l4VX+XM?r|WUI_93kU=-iBT>1mSkxKjwM^;!wu^%wSnV| z-lssdbKJbb{^#=nr(72l$~5>L(>TvS$$dz~(IHF3P*PSziCzw%B_&0atd;^6 zV!Do6c2SZ;?N+rAi(^oN`#q^f$!lybkuAmzL7_~8KQJ|-0Wj&NX0ofPq9RtN7KM%Z zaafcyW3W9MM=&-?mQ{CAuO?O5(r^PrNoW+&{dJDih~(e9F}dC`;1k*p})Y z=W}$!`2s%2VK|>_QE2V0YEc$IJ~81ZGX%jjueUBy2QYZPhbtPSYVZ@LMzGu7GAp7i z$<>vAj4H4MCwygI_QW!Gqc*f@Be~richV z=zmXlXgx$svO_xu@`aFeBjE+1_nu|ADkzj`@I9u6++FF;Mv$E7+Nh$a`Ng20@D;9| z*+{G|n6I8YZr?}?3H=nqUq<39(fjWS}(|(;3 zSgOH~m~-uSyF9A@BL#^fV0wnl#)&Jqd-4!Kz;T{o&qDN7J!(vvJ!Yjd?C9=G$cSS~ z6eX%>*i$VI8Q2P;FGQYw251kNLvj6}9 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-path-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-path-l1-1-0.a deleted file mode 100644 index 0a1043f6f0aa0a50aed0ab7e375dd481c88f8ba6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5184 zcmeHL&2G~`5FRHfEus7rA%r*?RBj~LC3R9%p`_)4giwV*<;2!)Tx`{;qu8MwIP?+9 zk+e3;VyPmp-V>AwIi4LCNr7AY=+x(9AM0K z?Dixb0oy>oufw-abP)9R=wh>3L&sjH%W~$1R(sHXG{xX?qIU z%0ZGH+WnvtRfEBC=bf`@7?y=+Z`G4?exqH(qXsZEfZKdDqg5m4YsAO-jSj|EwQWas zK7`LS!8opNhv66)91_l>4Hs)MwuFNc-j`bVegd}~+X*+9kE_SHMI6j$;Np2?Vx<#S zkckz+#7Y-WtKyp#vtm@+zK_7_uID>)!JiX=&)TlN7aOEqjUTxyp7KdBHFkwOj1sqE z9!7~7#i6KCn=Uf0JYF+6H3Gw9MT{tFkJFpTt9W<96u`xH8tNy8yZ^xOhG7n#WHG}n zJcT>_SClTA;Y%`@a1RH>@CTA1bjn!_kMU}+;0B6O=i@Qq;_>Nz9u2cVEopz2$LA&= zorUKve=;K+3+D{%Ms9z9Pgpq9-~zP3qbsyP@uiq1MSaGIdmd5;2gf|8p7e=I=dEZ8 z@Dm5q$VrpTcrvw?NnN3V<++g9xcpH!>x#N&c}NbC!SvEVd{)n#EOS_&;`~R+a_aQS z<&VMhp3bg@&bAf5kmQ+E{%9b^&&CbZMf2+L@=#9rhV&Vi6W$Aoai&c(Cwx-;j>-vcHf|^<^s;e-2j5*} za#Lc6)uLqQ1dS^p`5Gkb|EvPahg6b$P!$H=7T`PfJRc-KIp=d%d@xV^pMWF}7+374 dLlVTz&jaVlen_*wMgA`r`$zrRGlg%C@?U1oUn&3q diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-registry-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-registry-l1-1-0.a deleted file mode 100644 index 60f02631bef05318106f1376d614123a6aed3783..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24796 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 T|KCrz*JuCf_RfZO7ajf&BL28k diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-registry-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-registry-l1-1-1.a deleted file mode 100644 index c3a335ec605cd7d4c8a089b6539a1eb390a924e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2780 zcmc&$&2G~`5FRHfDNzv|IB?)#5FidD*iq^vQiUQ#DwSF!1e6of)=4&rsq-V-5zrF{ z9-uG63vlW?@II88@jBTwaoS7LwY)n!`+0Z$?Kd7j*>i(-|4rewIbZBu+p!(1UaOj> z#Y1{+n&o;$J#bP0fE;&r&lIeC#8-Xx#=!Xj#;7;B@LXrt)cMZ8KK-$!t%>-kbW^zRa&XLQ}u z#G(8;hqPq&%DM#8`OBnXH14u#7>zgLB5P1RUlg~@*%l71z%XB=imdTseiGG7W+zMr zh>=ajBrCmtbEVg;`hwCOJc$SVCb`>IdRY+)578i{KT;~8lU}Cu1h2OmZW=lIcw!SS zv9Go}=*R=r^bN=}Klj+WiPro4y+k+`)(v!{{$zL>dsuC73-Q40#_>S>5~s7Ge{14B zFGL7~6RlHAF$$nwi|q{j#dcGfV%@n&CB6bjS!hw=P`fUlR4cX?WqD@i7b=<3H|bhG zd-81K{R+pwD78~#t}mZVzyEZGl;^tIx-iQ-bNQr(nDKJlG|FhcJ;aO)Vx|E-Cv#o_rGI9NR>7yV zJgcHu%QSOQ!|zIah@*_2r$Vd8QS+4h05nhR*;gKFGVmMg)xSA6`4!qwBo_VyFmC1q diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-0.a deleted file mode 100644 index c557cb3772fd4fec9e76e8e2b4814e193e3b990a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4570 zcmeHK&2G~`5FRHfEv5V%I3O+U9l^Dgl+$#PZ0@eQy?X1}{1bE7?27H! zjO=%*QHvT`RCn8c&}40!+00@t!;v~1 z7;ACYJL9>4ZSnnZm%qX_@U@m3H2G#2`whSD#(o$?wJNT|?{rxP+!k;85ym5REZZ3j zmI3;L$6}~;w;qSR^|1Gx@B4LLD<`9*1HcQt#!g%c6E382z_u*M!O!nhD}4@Z7?+R+ z0A&NTWa`it{(bx4A3+h z?rzec+VvRHl=&0$5=@U@E)Ao_E}w?c;zqH^8&nRPimiy*40cVxhqD>JNPATh&L&mH`A9?K;b4j#PnN=CG@4oF+IWSwT9~} zNAFL3!X^I68dCtw0+qA}%!>G26uZe0TSd(0 z@i+&&h26ulrZB1rEA!}BY_5lggEnH=EiG?&bu@>MmUNYu%uX}pjY5M$Vz5zWm zi|hhQ1tMxR3qGY~Tcu?!-wbI-yfdvqYK@*JquHf)9*BFnC&-pf)k0Mceqfp5@RjwD zHkCuA$Voykb~e2@OIl9)uNTFyzFroQ16lQApk5{)t}nJ;9+522NOw{%uf@GAa_|!! z)XU@$)c*0W$dpxMWmC=5@`!4_;Kp)VmU*XkUaF>AJZ>b*d>oJKtL8So oUslxsr2Lu0F)ng;xr6H`8>pow?q!jK@940USI_cCdphU5zXA+05dZ)H diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-1.a deleted file mode 100644 index b52b7a72c91e49db49d7479c4fe0ce6b82c355c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7056 zcmeHMPjAym6n}AATB@=j1X4i=8N^C^*aW+zZa@fyEtCsL2$nq|rfxEA42cujE+B*u z2M&l6XU-h4x6aO&iscAaP^4T;u769N60OK>j><57PZ!#{P2cUTLij2qq1E6>^ka6i9 zz|uR$));#b@*re)dBg*@Ht2Bn%=6u$$57}wO^5ZoO^Ql7@OgU>@Ev!^2-FV=&cZGU zS=e@ap1;j{Hlv@*u%|u;#=6|??D1H@9{2&@_Cj38eVhkh>$?6nzxkB=QLBM-@cKhs zY%b&N3FB#?`4hLj7QEx+~Sd#^19oO2EqCuxHIrQEVYu> zc?hgao3-9HqaIu0LbdU1C!TIv6?As`oz18|i0w7YPHoF_90%>RxuOhvW8rq?5Sl7L zqk`9xvoPRvbt+rg6aA*vM`$Ns#zFKZ={QAh0^h$bSrc=i&Z%op)azEYUR)IPSjJ} zJ7ElXf@w)R)`GC~ZgER*TB{S5?%JVSqZ)AG)s^1damIT z=IHftnQ(D=cfN>%IiQsGfH|R`BcfEq*1N);ARL3R8`z4vJ3bi(24QXR3-}-C9 zuhMZ2R*P^J)0V<05oYF>?_zU(|9&JRu4JEt2uBu3$w}c0*a29NE&w&Ev>09XG*|7wNc!Bd2kFML9A9 z>F0gyVqf!v_6Z8aGs%x@;#npJe8d7vUwVPMMEq!!V&qb8+A!Ot;mJhgr?@YRc^jkljtETyk zpW%i9Szl^?18!t3eZ-AiM7i9s3v%P&JVm?TE)FGr<7duO72-z9mq_ZL&LR8tzES8r zmA>>bW~8V_)R)T(s~9ir$-DSVG?HoejDMve341E@p7BTcm#;3dD&6 zAJFgM%m?%r_#w*7c%5vTI4y^?6M1($`@HMCeY4~J19vv?-_~AJWjk>B9FY(o5@}@^yJrI>c)Y@VBmBd83reG zsc1Cy2GPtrb7M)MNkVX$_!N}Mzzu`xScY|3mksGkoN3~Ll)mQQk#EOwgm5}YJ6pf@(YS{M12heQ zhwSYbR_c9A*)MJc*nMm0rfxBWN4j8NSSLwx4Gew|E}#jYHFGR(J5=z!bmRFlTq}B0=_X5DO9!!RVQH3~vcJ@oeyU~G)s(>$Q! zI)}7m`O3Nk)A=hEVKnZ_MHr1Y;-YL&yKIVE=4=OtHei@9QbpN#zC4M#%V#G{2~M%S zrF^WB(*6HXddF_BDBZ!Gc*Osta@R_4C_>>eI;8X`N+q<@>y)13^WbeF^ zAq>v7PCex)z!z?_rUZY`xur6(Gp`Mw_K;4s@$Y`Y4h zLfDCmOFmrB&lfTB3cm$deY7U272rNz8P{~Ldph5=Y67(Gu$t7kd0&-d9`kVOtvgt`*^!gk{~&J8|;ZYK->0pIH6VgLXD diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-stream-winrt-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-stream-winrt-l1-1-0.a deleted file mode 100644 index 1eb84843a392447cfa813a0926cb2542568bff72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4692 zcmeHL&u`N(6n<$pHpUPfIB?()5DW>Hl8i3xqzM&G;)KKmLgMCy)+1s4r6e0Wa6lY5 zaoBzC5QlH@&d!KU#WVW{b1#xQ=UY zG#%5l#gJZ`W_`m|6LyvWU=g5F2bf>M?iYDo`VK(Xl^b+1w#C@Xh=&o|<}nZ1)}X`L zyP)q41BS-HZMv)*yrxT82YucignZu{G6MA?g0sjcBa7mYdp)v*G3z?aVK(y^y6bUZ z%;#RGj0J&h;WlFaLhR<*0S}*h{m!8GxZUPaB&{uH4R;juh8Tj`z!Em@iTo!%-K@{4 z;6k7MCqb9Doaz2jAavRXZ{yk^rA!f59NTtXq=~yxPr35cxPWv4Xd1{0(VI7FF+Yq& zzqm5N-l=uG*eiyJkrvp;wbxNJ1qL4o7m&l-$Xi+Fu$jYs=|%XHxb?(NxW!^zBf+g= zXE_I#j3cY9USuJMEy-$2vYISmY;_&WvFuu>+r=5IxE2hxX&SQLn*INyjDo7ts`h-jRr`u&T zECAK?E?5xpxh#6K@ZA@0dxT>V+=1QL-|z29i(nj_gC<0Dr6wr86w^`B-#K#6V=58g zgzwanP5}m@mQ@9QV5iJHS4K8f>3fOP7TH+Vq~xaMmque?F(GfD54kpBJodaaS z!wRh8xUX1Gjrr&DOPUYpS=Mo}P+J#9c_@=#C_lc>$E9i`f18N;l#g?9Sdno`FEm*COA5(u9Z{t%9?( z9ITYBWuT0b#P6m(NafLdDzv&((tUA{r`6Q*N?E9>z&EUCJ*%DRU{~I`bfh8YzlP|k zO8V!Y`F^*C45gt-hjQA}Kcb;YVVLE^Z4^3cb8T$+b&A?I5PL;RN|KMz5%hQx;`&HbD8b65TPQ4ZQx7WvD* VVxw|Uj(*Z_@ys6!lY!;w<`><4U#tKC diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-sysinfo-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-sysinfo-l1-1-0.a deleted file mode 100644 index b612206c98367033ef746c66f8c8c5b7e7353f34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4542 zcmeHLO>fgM7=F`sY?SdK#DQawKthOi$<$??G@+q^VA2rNCT>V>*19w-ZKEWEaod^G z4jlP0J8|ca@DmvC>yOr5Kb9WW3B)VKcJ0S@^7?uF+I_I@$Mx2;;*vdR?uzTVp0l>L zV%v^rGE>{GRH~{&tq1@M0J#D{;TINn<#XdZ06n)-dKlYe>|Mg+gzfN@$859P;OukI z@uPrYW#Cmk76$wDsM>Ca*Sj%4^dm-~c0zELw5XCLUy`8H?6S~hE_0aAaHKW|##-EO zT=HDN_ISE^7{|Pm?!?_XPm-5MQ5e*N^m!D~N4~+23%6cuRPcp@cEqOXu$8>s>vz<@ zUQIh=_72cEi1~h6?rIK*Kqj(Di*+PQJS;LDL=wRpJ+BX zwQ|Ex{fQ`m4RB7&`$=*E42}sG(0~ss8jFO40=}1NVmygk(e;E|7>`@kxW`yn9D&pA z$kI|fDIrTslBFfZ(o*P_+>%pngdt(e%^>8e)9*8Y4_4DZ&=soQ^dU`|KQ}MIO#kJ^ zVGQ5p$6*Y=kuUNVrGut?D||MGO%pJ}U&M;M^=NPq^-GUVm>e8nI-}j8D45>L&h)CY zI>dAjSK^NNlEPIpeOWma?qPwLeqXVKR(cfEHQvk(Tu(V>yDk$>m(S;mSTPTj(jG7` z{Bu*3vT(g6wr+%@3En_6Z5?)q7-)iRa0Pl0-j#YF|B_GpX6`leore@6z?$onlSTnP zic}^!_=$xX1+7btiYfw2jU^7+vJl!u(PXu{Y-ns=IOZGjn2r_1YIEhO29Fx>6x&0^ zb;|6^izdC@pH`5f+$UpR=trG_Xi`PY@n~F6V>I46V!n>XdDtxM38otgqpC2oPtU~W zdUDdQBZg%>nP4YkBfSH$7vMTR()aY+ESdhN*T@gY9WW!bh%%tmAiPJjU@s%;Doq=4 zXFx;Z+vy#o=BPgz%`P>xB!0`iLDtk%4P`m_f$217uBi`cGdX68XeE^7W>S*p_0Qzn zmR!RKopzCuUMqG{HcKV#8uLz4()-c4Atg0O<9bS>og=G~ETEJ3-=Y$xt_k>ohDx+< zNNrLjcL|^@2S->^_Y-~1m@%)NOuYUdA>@)tdiU-*Jzh@}ApkO73~|bTK0;)4MgKNF KO@~?h5%C9yBr5R$ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-unicodeansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-unicodeansi-l1-1-0.a deleted file mode 100644 index 243f042289edeec54234c9537889c259156382c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5244 zcmeHL%TC)s6unMDp(%Y(wG~n~uGB6nHK`qfNhDNJv0=di36QF)>R^b$7I~mJP!<*9 z6IgZCRlkJa=wI{;p!d$h8DpDd(Hc>8f@j8e&OChQ9N#f77Tx}i|E~Pjj3;~EcJOCe zmTBT2COtRJdc7t)Y?T23FXIBB^b26>leq460qA;gB(9kgfSD7DPga)f8ZIE{9I&iLtBA>m6gujz zRwAIv46VK6{Xw-CZGP6SBM%(MF-@mA7w!70aR)aZpkV+!=!7Xi5Az(~31woupJ2SzY&PR> zIK}veJ)dB_gS+vFKTYYT8DEo5g(p}c#?MNo&~B$OUg7mp!$k_x+f|)#s(!VcM#Cgf zPVa(A?w|X-HV)r?{=!B$Ce9t$9r%acePQ8@gB#EU_pZ8ioM6(OsJm>cSG>)(|q=kwC{J=cxw51L}>F2b(4vG|g zxFTv}D#A`G;ww62lp;1HOQ^_G5uderuTzAdj!P(_pN@+Z@fe?PTtyUgMbHVDbLRG{ zVHVdW#kQU?a=fOb6kmgH>t z=XDT!0E<{1w@YV%$f4_fKCL_FxG{0YKro&16afs)d9nXD;c#^f diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shell-namespace-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shell-namespace-l1-1-0.a deleted file mode 100644 index 9efb3c539e31cfc42e4438f81d60bbeadd7bc254..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20068 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-chakra.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-chakra.a deleted file mode 100644 index e841d04b55ad69083c51622d56b7be8bcc48164c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98938 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-cryptbase.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-cryptbase.a deleted file mode 100644 index aa9f7fc7f982714787ecfc212c237776c912183e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8244 zcmeI1PjAyO6u@8GbsJ^;)g)kIQjp+=O477hD@~|uf)j^{jRP0lw9RO=uC3ZkFlh%Q z#Eru~05@)Y1Wx;83_m+g-TY}wl}xHuOLm<1o}J|RXZzKCvTgPot(UnM%4pI`nxPqL zrEDmQ%2aZxD2C4O6{VH~fcpUHKLA+=VD&f8H-7?PzWsyeduITc*E>8vr~zQ!*yDL~ z2VirDkX=IF53K%x>{*W0C%fIIMLyddvu6`3w2iVs+IAhYEA4iyMz?RBm_5?ypZ1)( zIk1RHXp>_L2x(bnGp-fz{r{UP$j;a@{T7f>qKJJkSov%fqQY}X`;3~g; zIoh77eD-Q7`i)$jzr~nuP`S?ELXUhWm8typg)#5Mb^aFGm=;V2%|_p>JNd34H;PzI zRSknuZ0Kbd@mlU}YMDX{@HhoN5qsI`34bj-0<098;g^7X-Bf*E{8 zI~zNES`@ZRw6a9sOHQmmZdVd=v|Ej~+Y)wnX=N?MPUv^veb_tLdA0vK-)y(3Fn?&b zEm!&X65vzn&^!_XS1$VsyUzIfM>E+^=_nh?N0}%a$v^nbnG}|z$@L-gO_r+0*f77~ z=x0*5M>}!vMDJ*mh67s0y(TeoTho)fWoQ9%4eD_mS!6{X4JHaH5+t`E9=Fck2H>Gf z1CD4Ixx!w)N_O5%koBUDcB1aTu2I1XV2N{jh56?et4+gni|rTGoF>Kx96GI&&JmX| zszCPi6>-nJ%ehDYqEClOUOV_Z2WA2@7EI$6=OVy9D|wNIU$heUP8rvp>u%&ZHfshd zO2s<-aOuTMg0se3pK(lz^kE;R=fZGb7+LSj z)TR|~=gk`IZ=2fm!|e>JW(jGkx;CzeUX+W=XLxshK9u2H^6k%hk#U62Lhb-=(9C^| z_i`;TXM#He$a^K*2f*c+c?qAA5t88=FC^^CN9bqYi0{B>3%19EAIs_AVD~g$^(3BK znB+SxBf`0Hpab{=?FLbe<7fUgGVM^i`F??KWd^$k9KG$pf zEHOMkj}Hf)pW-LQyEY~7iK^^&is! diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-cryptnet.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-cryptnet.a deleted file mode 100644 index c01378c80ba43c422fd5c31ccd0954baedb05274..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5994 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-d3d11.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-d3d11.a deleted file mode 100644 index 724c339f4f23758412c1016753c82ea88e386717..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9444 zcmeHM?TZ^l7=N<4H;)rVDwG!L7FrQ0aW^lU9F!8tVG#~nJcT0Cy}iq%S$mf|lH65G zkrSj;{c;~f5&h~1{|V_|W__NS+1*KIHrYUu61X8VyP5gz%+52v-@H6~{dUmZZ{Jz} z$Q}%C#r0gz+1zw&8-Ezo)V6CCPd>1_4gi+`@_zxWdQ0BzTfcuFMF)p^Y61h>-vqOCi9$t^6mj!*c#ZJS0Rxdl)NO*Yc zk0|F)s!x5~Y3@7;jvMVD?9|J(ff`2Qw3>$7SD)r(;t4d)=j>6~LvwBi-=S&iLyZ~% z@w0bXpFhT$qSrg&Q)Z|k4HnlU-fp0(dU4Qz4SbU{*ib#@5lAXf%B5MtF5BvPdbl94rdg+2F`Qq3eJ;#$)-tA=M3@A znhH2L;xk=IhXD6@DiRC+#G7fZ|I^q-$Zg3wS4+>qP~(yrH@{aMS5eC<@8TIUQYc+l z%NinXVfh2eTDsV?o8RO4n8u=vjqNGzLb47F%6yar3gjd_t6!8pMGENa+C`_8CA|5L3j#5P1 zjMEg+HREDMT*8sgs)!X`5euz?E0Xbv3SzThi3L9xRWR0xFcY>{GO@ktR5iB$hzuCV z_OBI|%#-acrQK0%KQ`kuwm&uF;$fu`&&u{?$#%`z!?}Uy9K0^#?&m#xZwd+P>-@h+ zEcgX)b^k&}K93wH^n?0v=5}xLHAfM<#Y>Edw^Wr4A zsB6MxdN6cEXgNL=)VwZsPS}63>t|tOxP=W}(-G?4BXxhcm@9WGYjIEoI%0dY(Zos#j*7YDw|( zXlfzP7X@)i-#0xs<6^aZfOTY53utOFef3{#rQG6HRh9CU%%O_~e`BgC#bkzbous0t Hr;`5xxHk~Q diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-d3d12.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-d3d12.a deleted file mode 100644 index 4e3dbea68c14b4a9e39c85c1ba074eba10c5fa1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10436 zcmeHN?Q0`N7=NtCWYe&w5KQqk5>J3xZO6>X1z2i$yR$s zL`6hVj(!mZ@tfd3a0q_8Kf%A~&gYrgm)YIf>;{q?fe!4d{cCSImlOY&17?-QY!Xtm_+1)2pyo0)QI;3$Ft#{Ri;EQ*m8=6M(L3>*9K; z3P9J5ZE?Nw2!O8F{t?&BzX0gE%=*&l*(Z*L znU2{st**0AmzUe`v4j4Ao!Tc>yVkB$E!#r)F$2r$FuOg82Ep2@ZB?qfY~a{k=bU|t z<8!dz_D;X=?m9<3+dUnyR;7x4I>#qget5LqSaYVjxg?6W@;-C7*#7C!2R*dgp?$zw z%}9M^Ij?!QXYY5}-Ln&XzGK#N?e2SwKhdyNiH;!y$y?hTVC57OZ84l$VZ%YZ?Xl`f zJw?os-N9(M)b1Ah!a*a(EFeZHm5CZiz#Vqv4AJ!4_Cusc%=nv1Ku{OwhF4>4(ef^m zOwmFbENDlJF49!1YD8#2BT0clyMO-BE%$@PA#GKt7=~%$f?(FfDxvFprR~BJE(`!K z7XV)5cZ-Fx%g$VWpC0L8?3LTLYo|kaNehf8<^AC>0|ws^&Y=cZaU~LA0h0wBmmGL| z0$2C*3Ad7tYxuY;cymR8^UL`m{C4-y38wh`V8QxaA-g9GrWA+PSk8M);7Up z8)<16$v(w2jAR>n-eQ5`Xz=XE?XrkPBQV@1H1ov*Ifi8LTPKVL_b{I18c&SvjKSDO zy%zW}pRp!d`x+nk!t-V<`b!b6V?vB2HBq41R56wp#v%z9C?E#mKMAMGr#xc#GLK2i z%iKO!`CT49cewvWI0nuQICMLwy$2$PGYXyq=eczS=gGcg(=flQncv+a}PoAyO zuZxQ?5BJExy>!MNQgDj;Ck|3AQXd8SE#D>dlk^ZE`%CT*z~eNx9Q9K4bHcUW&*9dH zD1kpWjX@}f>Qf*C2qnD3e*=)hMb3RMhY}6`#yJ1pc+9QzBLpz5<2->jSF;wN5$MaS&8W+vR~&cLeGflJnCZ=$4w#B$A=<= z#~S>KX-prH$B!RIg2hCEn%LPlR6`@D8jN~E4c{X}vea;2V$m$sa47XVN)0D!TtW@! zYFwa(S8_1cE672s@jSJX+3uiVj`+NhP>|1QW+`hc;YlczKw!N)Nh~Y zH1SA{3zT7C8+nznD3p=+o#|Yw#5Yi=k{-9Wh&1>YZ-h$nnj@~6@#;-MLF+jcba@`< zlO9u=PY@XAJiZ_+D6)T+zah-Gf60Fy7YaxA{*n_3K2Mcs^9aWUq(-dW$h_6#~?M>+PMIrPifmtwD zgKsgGy@~XxPkJFG^dgr{f$i0NY;PFJx3rh%?bTpf$2o6n9@`V2YdJUO_q=@*$4?<- zeT)AVkp@5GjmP@LqsI>1>QC9zc>7w($^UBdTygpKHRQjJbDMXyFNFM8{n=oySN=6Y zc1Z*H*Q6k5@EhKT8c;pHLJ6s`Dfk29QV%p;VzZQf&d&N8p<^3)^#GwBgv*cow`RUi T2jl5M@%Ur>wP=E0#7qAJ4;ka^ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-d3dcompiler_47.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-d3dcompiler_47.a deleted file mode 100644 index b9e8ee3ceb05c7f2073695727fe1e47ddf32117d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23970 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-dfscli.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-dfscli.a deleted file mode 100644 index df1fb51c4a0dbb037b71a2736957785a2b0e89e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23114 zcmeHPPmdHu6n{GlEG&OS{;Z%R3@Y46<8(01_6;6Qz@)_3!tp zy6SZwIa6ydF26DUdOjSA(?zf76=o{a`Fw$8>1jS+tQ4kriG^_h@Bqdx1B`D1*g3`H z?l}O8d+|TTi3uJLz6?O|&>oecn1GdeDil6-~JPT;`u*#d>6}5eD4e*`bgO1#l*)&1({jb?4FQAJ_Ht9aFw#!ZSs+G_fXt+u~jTdUTWI*TifYORX;t3Fh# z%YLmslrutg-Ve?#b*}os)u4X1)eLHlrr*BmFRr&6!56c|64usOU8_3isWbH|t>?)S z7n)10*;2u%OUk9@T;Oz(acc5BXIC12Gmz(xv@w#)OI`6-TX%fyrYo&hVDyZctCyl8 z*J|xseq6zbf?jqmpv<{ed(p2Ooy4m(RLt_TMK9dFdP$b4mx*Z}6LY;w*cXPD6bhYM zvv!Nn)U01^1U~ESD55UK=!DL2q1gx;wUx#_f3^~Cg(x0Y;AP)IOs}u4wc3GSpGV$w z)@qCXb);aU)ikcWud+I)l_!zTrPIafsWV9~SW4@8vV;|{SeKMbO)CM+YU0%7dCo1q zRj;@GPRGCxRvXTgWg_g+xrK!yxxCc*=KAVvX)1hgrI733g$VKqE<_P+Rfv`~+M!Bm zEI^^g$f#v9b7d`@i3Uxvgq9<$RZPQwv}g3Qs0)b~=63-~s71=!C~`+~xrX zcG!g1r3ZFCt~cG4lit>Ny>eG?2maV$(d*{(k#n-XvH~!<)L8LF#y|f8+!|S`-R=s6 zT<<43?P%oOq^9=~P894qTK|m3>1cgJ?HwJVG#o_#v3}W%Sv_=EpU|Bj9oZf}iTKw& zJL%-$eN2ZsD;X!uE)Rg&@-$8gSx}huu)lY+>)rIUF_VV3wrf$pabvn(@` zXnK+Z5f%2A^lWmH5yr<@N^Blu{j-z(azXSmn=+z028Iq;3YOQKx4DF23Z4S$S?_Yx zQ~y$*s-Rm9e$56Cm~t1|W5V?oHqS5POg>q)-Q z`OcuueY>8A*(~HSofSG5{{e{GTrw{tbjZPv zm^wVp>C?8DZsN1(;XRDf2*MaK<;DnahOZ{%^E86+`|>4rL_bDc(~z{0jQB*Ww-+Op z?Ro|y+IBt32(qlMj5we%LOgpg^rV#qFA~@>C>F?WL1_-Y!c=2{eB81uc!cs2K>I02 zw3jP}{lAL{=!f>p8cH@2?H_6N_CkBzu4kaVY1fmtmFA7EXn#SWot~Xjjr0j@HwA_C zNiJY%4({PmAzdyNMC`kgCxGyh8^X&au^6n`^K6E5Od>pwchVK%6AIy$MIJsgNULpU z6FTe*h4_p3uN!jk1O8Nqw=~~a{=*4QtXcwmD7x{%n=vi^1GIwuEdCA6Qf{Qhzp2&R z%i^!t^$d%D$F3*&K$g#y5Bn7#)Cwe)rx|iud4OAAEGQnF77{w-;1Q;Z2dde|vLnJj znwtRX3mNL^zHm_6*GB0%cbKT(Cr}^SonqK{CQu)0wqf)wxx+_&amEex<$`JJA0it1 z+4_$)8@Z9Teo3phm#ts3>lwEGo?TDcdU~F7we@>Ls8<^~#J)7!`@_@#49ecmvj05E z!MFHB*n5s`)$|zfM->vlf5j31#gg%Ko8e#0{b{Us#s8iV{&nYobmRYsK)b^KIU%7# z4rqxtgnzy1#-xW+#8gRu17$Z3cr)e-{{ys({lT&ME zLv)GndLa}Y_hqw{8-7Fi0*+kQ{9h|KJHsqcZrxZ#nyvi+D>qh;_K@Z0G*NxSeBu)r z1zdM+r_52{vBOiV?&Y$PE0-}|GlpLpc@j~G;M!QZd}P;?_$PlX*BQ48!X?R(JZ8IcWV^-@ z%R4ry=EeZNn*?`D^Nq!xo_Yx|!g-fB^W7v)#4%#u0E`&d81anxZW6ksf2R3B>h_dnG$0PXOVr`?s0zW>19YG1qm5vsEG7 z;+2^0+5d6YOZx0T)^`(;ZE3!3f)lHj03WiwTpP}fr{ZCHv5hG{$XCwkBGUX6JiuNq z@<2A*hWq4X)ojCc$C8@>>a!hQ z8=4JE-|xMwL3VgI3)Iu6KdACFTlfKXc;%N)^mTqEOaR-iJG_}!vW)}Mq7UMgyh&hN zeQ<_<$0qGKA7F1Q+H_+!V^>H3|BidRUd8mv&)zUs9u9-7QjQwK%7x@xzSt79HwER3)Ac|gX%5<$Dummx&1J(w^?!8HxKjWC diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-dhcpcsvc.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-dhcpcsvc.a deleted file mode 100644 index 398abcfe38bd0ac16bd0774ad4f4ad08c849c412..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54904 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-dhcpcsvc6.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-dhcpcsvc6.a deleted file mode 100644 index 31094646cf8e978c760061ef925a8d18ef4d2324..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19904 zcmeHPUvJz*5T9JyrVZ&ILV-d{xuOCRDyi?1I2VYj3+W%VibQFP!~?>0E>2_hdb!?R z+O$F<2oORDQ6BgNe2qTz1MtKHpMgij6XKy|W_N9`clQz-&XKHmqg^{YGhXlRZ)Ruz z_)g8aoyO|9(X-`vs7zOE{Ijg7a@k@eIW3nf(^E*HaB~y@CII#=0vy-}FgC~I;VA%$ z<5eDCJOe=S*jqdvF9T3KInLv$BLEanzhHvo#4e&zAXV}L7<9cRIDKJI#*u5;Dvc^zkAZP|0~`z^Qa zJDBO)HQQQyT)W}+J;>lJ$oIYy03xgGaT zw?3)7WKdc}4WwG${pcO1)Us5nCS|BsD8p!hMALJ-URaV|E1hnT)EfVqC&@8tT#D*T zxa!ums&T;>1DE}1-RnG9q}RRNT3MU#bleA8x&3%dPpH@8ts0jlDwn$4z0h)(n%=T1 z5F>EjOA;bI#H0ce138qt(Qz9dua(j!C>1AinTs9IQ<_7mk(t9Ft@c7pkceD{w*$S4 z-@2vBXhd0t?$zew0s)0{FSxCS*Zi>Ub=;o6)~YMYX&?)^`L=(#<@bEI=|A+;S6k4i zk<t+n3PNqg=hFjE zX2@Mlj@%i$q9NDD7N?#itjN8=vJ6Rv$gKv&9c6EW{+2)k^{5HC z0l$2e_(DyP>A^km1^4Q83^PW6Qqt)W);T@p;MGLH(`F))07NMn(j`N!3GFlW$rKj0B$W%%xDd1VHRNfU z`9iIs=glF{Ju{z;WENh+v@Uo=7GBCvp1n!`J$e-7;Y3;5hpqfHa%u z)I<(lO7JbF{pLKfb0W71cbo@0CzEh*CBprTHC^By`;J39^shqPzzl zUw`L6AfHt`!Q$#*SD_=1r!rF@e}|F(e2DyTUHihuZbH6P?Rr&NF}~($)U0g2oe25% z?4;)Ff1beGxxtMov#C2d$NfwycdI$>s+mu-`5iM~=<6Rv&kvggDJA#@)6mliac%JN6}|5QTs7qeT!e?Ro6ncW^Tp&y^UYi73+y0r~|{h&c+KK^7f4X`NAQcM*F0m&OrtF;l6v$(f>NWKZVHSsk8riQi31x zCiHkX`opTLXBz?qh%;nm{i_LeU`F%y3mrHe>Hw{9B-Md2p#$;LN$i|Zu1A131mYtd zxF~YyQi7i`6*^$3x;75<<;hADlI`uzSo&zNi57CZ(O|di?WWn|dd{c`yT%WSBV0X9 zXP{<<{A9bkc1<4xiWQ$|3>ZiImUIjl703?{oH7fU-xdCs@%<@8w%_6zEG@woconuk ztg;IDI3XjfTS@nF_0`S7%12mFW91JBtjCW^=iAD^CeR(>eJ+Og?<2g&tF0~dn8;aS zKiO`sU7TKHeaWZ2`Z{Ntm7e_(_M-#;`1Cxl^rSewrhVripI+06S>Zn6UT#IV`NbSJ zviWJ|xFZ7hvCmHU6gSt{FEh&^`#B$o9J-X?CrpK(qgP#Zc=~W;r3Fd%b&Iph)R%*> z{`*W?z;KdZPd|nAkKtQg<IZ}Sy#n{K4+!zuyTt2>Ra?cqPRt7T z$@X>anr`olRh`J|Npp^8PYn0;-AcYOPqTaq(JVLo;0|+3@Fk|g+lhbrE4%p$B`dTi z+{?9eAHP`FiO`;AU1wOJUHODN*H%8ox{gw9?Q?U(ckfwYKj9v3v2#VntgmOE2K%J| z`?234$hWmmaY|qR`32eH8>m?!KiQtGJ*)587Cug7_0#w`LlW}E&uQe^;=jUdg6!jj z2cVErg0C4O(b#+c_W*Dpv{0kb=u$uq? diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-dnsapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-dnsapi.a deleted file mode 100644 index ea78b924f952955ccc2f154f59b2ca719aa53762..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224990 zcmeHw4V-01RcG~^Kw$VVLI@wi(uoOR2xCuAr(X|7?5}C2W6z}N?wQ0frt|u}+tZJE z{oeDw+nw$)#xY{Vh?qspA|fJ-$i|QLYyDb3vf{G3vf{F$thlVOtRJi&tRSn%!k$y- z-dk0->fTp(c53|HOx@qF-s`S9b?>XX|8wfpIj5?wzpW8Aw_bJdD@WDq@U4d@4^NIA zow{{&bc`3tpQEFP>r+Rkc>cWy8LPdJv4um79sf9EOV6To2Yh3C%@-)0x`r`Kcm5@% zGk?Gsrf>K~O835xF-%R!!?gK0r8bmf>O4lN2j7^&H&EJnlrcL}dfPZ-n11L+N zqm+IWelMoS{+QBFe3mgxKMnMler|%&FHAFr>6hVuOuu?FrN?h!4AXm;DZLM#jp?^< zqxAkY#xQ;0G^GzhT}&UkmeL=7hA~VZc{-(!zJM`IAA2UHPcX(X{pp`l`itLX4AWo6 z>2Dw()2FYZ^mm_R4AVbAeN3N+dtv(G%Xk{8J&W;l)o0iUrmO#i(!me15lqkcHA>g~ zJR8CE>^NQbCN_fU`43Tg;r(m`(~Iw-bi*zi!F1DulwJmZV|sZ+=}?!AU^;w;(!^`o z2&Vc5rB|M3BbdIrPiY$HFwIR+J8%_1AT(2|3XTGm$4B{yRW3Qe~67>x*zV3>04ev=|P~! z^zHB*Os|JBOy6}4r8hpAjbM5No`dOoKTGM+kFya>-~WC}Z+o1LVEUoQD82K?*$Ac| zd63e3pbs(q*e0c)++rh`e)?WYKX;ssVETmxO22$N8^QFeQt!v^udE{1k;D04AY094AVy#rH{frFntW#hUpW}qV#7_2h%6vKA8UM zDoUTKu@Ow4j?>@$H5@%$#}ZzqpXJM>ffhy@bj#O=^1}c z>6#C+8m4Fe3Z?7b!)lnG|8`0*JP+ay(u?n=bi)*@VY=yBN-zB!t6{qN4=BCjXIKr> z*t;nmc?YXuntVN_qYtnerrY3uOkWdGntdy)VLJ90rQ=Ws)7JtmrjuKgUIV`a)7k>1 zJ739an9fX4`i7UW8m4=1rqrBdHB6iEn=!R-q0~9ZYM6RAQVO5RYM7$GrgYyQu^OiH zar)*Dvl^xge@yAy;2YCJar(|bVKq!|_!On@`6R1hdedhpecwk}4bxkouQC0=Z&7;t z$5{>24?{gn?}F!H`qAH|^w|4Z4bxA&jnYp&#%h>;_BSZ~{O_?EreA{lVfq!I#q{f+ zp!D7vt6_TIRg`|~^Q?yHcRoky15aT!OdotYr4JosHB29V0i}<;gw-&86#5s_$6iJ0 z6USK%)1Tc&>62ruhUu?>2Ggf*ru69-vKpq(UPI|0Mp+Hh=TB1lBD@nw2Wrcdo^+ZW z!1R;{C_U|s>;R@`zKPP8{vtbo>DphT^xVhU0ZcFWTS_nbJUf8t`h%2iyp|on^wQ^1 zy7?vS0H#;KGcb+yDII~oF-;R?{ z@1eB(W_AG6>RTzDeg`{%>FeG?>F(FD1DMv&Q`&&`VhVOCZME0|Oy?fPw7x#KzJ6*D zgoE|vAPU0uxn3(+zpveG^xNx@*`A!5T<^3uFvYpOZqV$7!A_&U-s%pJuCWgE+W}i& z-wGP7OL9lHeky8r))xmWJKb)(d-jg*T^qf4~ICrjj^sHHg-tj`Umfe35fvrxUfCjX|{3>-A?F&2!U-$1~4>`cUkNL zGB%-M(}yPuZljXL_kmvAT?l*I(-Ubgno8ol+k5S9`m^-L>cw%r#cn&gv)vs)&uYDy zDT`~&g#oLp}W&hIx_ph<~l(`El%n+np**Ov)(qjM5d1KC3qyKa5d<**6-*CUEr3v zUKd19)b4d>x-Be_Q9YE7-zn~%<*>aAZy&l(0yN&iSZ=79eX?4Qm-1ThLy-YawV+d@ zt>s4807gjPBt9{RVl`;)gzab_D1ltNJlM{jzp{<9YcYH3mnFg(+0^kI~n z-9HJMj9$}3VXB?Jki~8*0P&IzyOzWzvREG(ax0#0{r6%G%uT6q9MWGAA5t(op_|=lcUn4Kn!VI(HaaN3 zVoeVK#j_9rD9zIG&w{XsMErzdREz!NL8lK|FTTt>x=Zb@q|W3N9`6mJ!9u%(T4$pL zRirm=E)%&pu!{cH^F{T8Jix(6pvsasC4<3gfXdHWFV;3B<)xTt zIxU{>MN!bgu1J2;^mw9=45h-mkT_myZ(vi>o-matd6{OXcj5U+xq7bMU+Yn~NrKK) z#D6E!Q=cmGI;V`^CgpRSM=3uY=0dRuh>KKuKr;4wULC1esW;z<8l9kfHrmRmsS;4# zZVNhAj2fBD8e4x$sa*Nf16N9rW!FDg=v)TrX zRw~BD1B`^)y=HedRhTI^h)b~+j@FHCtG9huyQS91mLN51I`9LuyQ}$}vJH&06K$c! z+lbn`!5J`fftbt4*o7i8ybm7}nu$0;R!H8V%GAYlcqh`zXj-g|8-~JcoecBIHF%Mr zPmLh-u#8BdiY6L<2Q*&9^%SAP^#W0l(t>IpPvX_r$LZBVs*|-jknzu4#&gl+fE?Uz zg8IQZ1;60?J~A1}4G-Qlg>|L?tN8i~VHIA&;hZ*8!KUXHnsbBcRslN8>QCWiroBCE1Nzdb%{59oPNlLS|X7ZoHi!$_g z0G!v?g6)3(uTw}+&p@oK^-gu$O>mlsk-}Vr^xS>025LNZerifLm8f~Vjd>N)LbVR` zea;i8B&9w90uyG9%ON-|z>ua$O8UhHinO*mS`am?)B5*javkjkqO5Ttr(j?97cCeYnTd%HWdCA zdWei@xR;xT*hrnUS~ImjjQVO z%mi9pg#+UuIle6x$@FK@6BZUdEK8x+Hb0K)sn0|GZ?QXw&~Ti-I_dXh%f++iVQMe# znCc>N#dvM=xJU0dRt0Rr6{3jKqhVlezaIb|6gv&_8g)pfG|eZu3iVI}L{lIVD!dwZ zXrhf~>GV4dyF*egY6j7K5W(4xQXxeDfN-DdiPE$d zS~gF0w;TP_6DJz|e$bkMYq7hG0StzpJB(bpFN!~f<>~k1J(8l7UTRS)4T)STk*KLD z^4OP9rzI&hpZtKTq)ds3TrSGc6MyMXpeku8)Zzmx-d`Tw zLUU~IPUQ{pC&rnAhTmGd)v>)KUr^4N?#43(jVeOpC-TgMM%EJK&f~P1LbVQ8y0Va$ zs>$VQO+#PNlXwBpp6o^K&HY5;XSF(Gsa9(aoC}~^EcO*ht92C`?G6PMp6YV(jYfPn5E%hZO_e$Ro zug!TkGqEE|sU*E8<#8a(NRulhg_%0)q)x7o%;}`OV|zHwlFb~ZLiGtyhd;WYT3W8v z%*=?@r=@e@6TKG4G>&g@ z>%}&PL`dZoLY<}F*<-ul8dQ;|^r(uov->S%%6mO8hBEgWf~_ zV^a}nDxtiStHFlpKB#R5&$Orf@sAX7IEv{GNYTvsMY>bAEV z;r@JY8v=ijh1O>jlLW7AB#G;DAMzTijQH#22c!xL-XovPcptq9>J4}~)m(zW%LTwl zAV*#$OoEynJU)j85eB8A@d|FWl9(E;1Q@7<3R+qreh`qTg;Zw_t>ox{25RqKDhh&Xt~$|;n3b}2caskp~d-Ba2HfZISvshN-MOI zgqpv$Sj&)K3a^kUjO!3Jw3fX23J+p6LwQ_NBaQV19>hqU5fC| zzgnrSJs2p=wrUavyu;1aD;j&7I~X6j&vgvz~ON|Y*>sy-lYqtR%0;A1%ss}RAQYJo~Gr@skrmPcNAUqv9P zKTf`1ESCfU=rz2BTw_yklm4bGiSj#=Ley|U5knq070RoFY^ihU^7>tVGN;Mjfsb%m zMO10IOp&ck25Hfx?6^7kAr>6`zP5O&33*pmX zwXT{E&z%|Ucbmz0q77}v(rhh0e#sJ7sg;ywYpG*b`WltGDh=MD-v)U#A8hQLjo0ZY z%`+EMJ&3KucuM7k1HF_@bjJg*@$fZ_ina@+Y6(#z(`0`_l1CKW@OUN&)xcA@ol+pt zW^c#oFcWFwkWg|2sFYd}(l@_x2bTT-Z{R{I5*OKNK>u#(>DEug(S0K&^VVqGwSiD3fSZpgKC!BJaZY3&V|s-I0}NInlqW=M`sFh zsk3w#yBDU*cvkyC6YLUAKo2Zr+KJuSY0q3-W!AcHYhxoi)Jt}YNq32vPy)?5Jb2&@=18fG#h*T z(8gdegp6H4It-a>+&GcY!j>oOD)?RU#qURSwM;C-~+Mj66-fN&H`OcciJY*TCl`UE6<RgZO1IHa0#v#hGT9jIWQ;K47DxDC4i@?R*{Z%R&B^ z&M!}a{9B;>?pTK5*Qh%gpUPx>8x!!bP3gHzj0K8}p8}e`nJ(oQyx(m=bKXoh3B~+^ zEwk8kOcQ6p*XZM4yb1q%TCR8{!8N;ePm$rILXHW z79*MW7Cz-bk|Sh%lEZsI!9Q;+{s!U~tdAEqn(+T({y$^L*OW6I=ipb3y#YRp_C=u? zMo!;w)#=i0;KIiXj{mw9{wJq&{NE2vABO)m2{)G$|My7GEyDknnNGuhXr@c?k8;!& z|4&QsFSfbic&RGxpO5f{OW;23KFF=H3-FoXUNl+E1!BZ!idl z>*4(m!}`4vMlL7TUn@Pg2uKa}+knCViij{==7)(?)*#1$rZrrnz=jr*5C zKj0;Bf08ozXN|oTzT*E?n>;X!Kam2EOq|3<>XQbyA zaYV~Zr*TBrOqX&5Y#eIM5l6qy>d(Ezy zE|vWFwr!DqAVIpay?M1I{)?dfcnSRnj^9bI8hbtbok)D8*}CFyD0YE+J1_0zQC;Kl zxEB&0XL`1{uO+z0@W^;0LWD?_?Um@I#!KKn6$y}AV-Lb-f_tginnfpD<^u6{epw%v zfbWyM@Y2YUzSc5v2_p&OX+1_dpTqlC8TD3i39$x~X}T`&jRY?6Z|AF>^fpa|CnJSN zpW~LXX)+c6mBu`dba)9#pKsG7NasPF@?9X@&i7hBtXu89O;hMJWo(*XWQmy5PxV2x zR9VX3fDM34Abx=|_-Bp13BD8EhHvK^Z+%QXB5kLg-$h&xa={6)1D>$HxjsNd}1DZQ<4AK62yons{AQ|sM1}Ler{QvS8^MVVG z$2s^_V{e8};DX%d%ZyM==rauV$%MTI8q(PYgp}$==3B*V z>dhA3-JCKPh`00b`n_~G;8`Bx%h>lnogzNoZMEWaU8}ux5=5s>*1@h8xxl)e4|j4( zkI45iJ3`Yb6SMQT9P6;fHypmS0|6{mm+a3aF(B#qV{s0(?0)!y!R+k1XtH$JpsBzG z&MkemUW?)HE>EVH(PI8L$2sm%9iK)3yPy*yt^h4YZMG`d4P`D6Z|S?O>vLGYn~0F? zW%h*n6yqC-ufy4O-KrxUM>M>|oHg-eVQ!6u@VPFUE2gNKJO{`=V&|cqtm{z;9@zrf zW!9AZO^j?hJHFc1nCBpX;S$Kcg);bOjiEvoBb%Blnc)fCa<&V6+xc7lnkjm1dAdp& zeE&7!dmfIkXhs#Ed!mkpm%z7S%@hZ6(p+f=1Vg?HgxmR5>qm46{sws6!}dRr_k+Bg z`yb@&FRAU;jiV4=8RSk-E@{WNLE(dDy2*qN_dl}rF#Q#SLr3r+qIfG)IwS>bjLoga zM!N%c_i9V^uZTNEpnfgsCit$gcfjZRur81!y&b6w-mvt(9?>l_o;QSca|66@Ti*D~ z3~#`@zpodbgTv$cK^Vcwb{s*~owX*rxeDG`ffglKjlCWI%*&$QR87VT{>#q3~$?(GyYeGGvJ)AbRRG} zt!Zwn(LEa=ma6QbO*ACIA@^XD;;Y6UgTFEylGhbtCam&FA-xN3vGd#3$8~P;F$`iH z8HG1*%PpTwxrLwWM=BNsZ}uRp0Y{N4bI46GF9;4X>@Juf-q?I$1RYN1f*x^*AZ z!{0OwBKl4wWny~%BISq0!CJH5?q`OKD)WO?Oiu!IL-X}vB9F)gFIakg{kpC~UMS-Y z`*VpG;N)d;iNW2g%mY^Ix&#lT%{F0QEp&l-TMw|0 zzrt*sgI{qhe}epM({=P4DI9RXxShASKB3Qp9|0ja%xbhHSz9ir)hOpAL(OW0QF?e~ zSYX)R9lO;vfUR!T?`9DsT^>_VLNZ{q>pSXKbv;pM7YgKK`TkX)MH(NkHr_2T7Ej_eT`dq;8S|xl~Wp=IluM*;MqyDO+9l0GZ z;j>ECfMITporlkLfoN>93F&FR3zXY=YW?19_{Q>Qyk$`SVF~5@bWON#mGu~_z1alH zd6P{r7X>bGZs~a)(Mffn<@4oy8O!D$u!YXfU<=k{FZVj_=KiT}NIRi)g4L)I?Npr) ztSp;DxqAK-rqKFNlThKGHTF*UULV>8Qhc%{tqbn3^!NHXFn_ms{;)E$gWqSz_M))C zchRCVNUJ?Nu$lv_O%~RDL%s`?TY7!{>a9YQms!2_Ul^!G>vzJQB>{PTSEF#J8SR9@ zT5q}0JQv^wiEveUUTn2`Yj`(E-d|f{7d&F?0oHeV_B;IuJ*mv&3^jRh>7ib~Z`jt~FmetZ^8T16~-j^Z)vljC{Dr^@Ww;h5sygVZIkdK?|n}$xu=8 zal$4VVmgJn-u&tD3AVo8-tMmtr*gp!mY(4$eV<+LClez>nK{Dmac-dPeU{oATve*F zriA;w;3a0v)jvf)<-0(*tv6UlxR>Pu;kY{6)=T!g9O0|y+Woa2O@*sH>$N(S4pA;QSu%E- zi(Fvc&Liw2+Gr@wvu&bOv&H&Qq{Xv6t?0lT)yBC4N;aa)EVAzwVfBue<=FZrF}&cab>cwvEfV zBin}bT*lI!leHb$ z3u-Ka&sg4LbF=f-KxDeWww({wuREldm?zuI%vgUb#r90M1?HLEQ>{KBp}KP2YTY5p z^=?ZvJ7bJo1*~TaFFocDAGPzfP9D`Ql3tG&^1O^5{~tK!`SCjGc4>I3dX+s)xMLh% zLXUqXW$@1$dkDU{T+cRJEL1^`FqXPNy`@jpYcc%&``_O{6;U1_{q zMckA8F6e@cG7rZV=XV#;y5J5w53D~yu9!Q@#FqVL${oTzGt=q7u2fNgPpR@qU=wFK zop6TUd=X?bl*k1y*m`L7$TF|{3*EoWeD}QuUZ^?`*vxkg@GitY6}rH@osYIYreof( zQx}*oW553mj``(w_iTKS7OhLf<++uX{Wu2VCFZ=Zq7437V-LeOpY!TXS0@BH$TOb_g>-)^p~;r{5wK_BOC-Y{>MRRRn~g!k)LgLW)84yE_Z=^JHM@u%^?w%XYnZ$ zoAbCpe!8lv%BZ)F&Ecqyo1C%g>qRcGZs((|kLzb&`L%>X%8vpoOcNszQ}EBx$G>fs`2-lC;Q82J-^2J0ryvEH#+U}!JX~ypw~QCX?@>1R!wWR*o6m8LFQry zxSz7~?fN~bNSx*2{st(v9S43jgZmSMvn#=NFA7!x{S7!66z)}J9mr}=Di!2f7pSpo zf*Z_)F8IRI`|D#KF4=hSD>`4y?rc_@7p!9*6o^B!RqKzj)CKD8{KAud9eE+@%gliP zEk`|`ywd2ldfRukD?SrI4G=Fe6UbRdE;m_4yH?@?>2^NeNx!Qaf17!FPnjJPewia3 zk35D^oJ;m<%XakX;U$o6*jXI)9MNPI=b3yLD7W+8dMgjT$vl*gLb0uO|4W4OHbmy` zL|Z-BU9AzdcY`y%ZUEbaR2%WuR-T2N=4bYdDkgKm50;+Yaow})t)3TW_54N74}25J zW_r3DguEr@{wmLOakoXh#0YSbGWchWy%oN>)ibyG8MEgQIu{&a=k4|DS?I;)jSywx zdwzj)1f6=1CZ8w5KASf2J)9HNW@kKKra~8(_kLbPa|X-Wy7Z6;vUF+mbD3H0&uf^k zwkBll=anIy5%zkK3#?oEc@OJ;ULVUQG#<3$+0Fp|jfC|RJDsTAYz!h2^p&>jqmKhG zq3tYC2LG(FH^H|g<1gGP6!pM>pH9P_wZ0WYE5q{ANM*4TsaN!m?EZnhe> zGpCoiK)juowtiUOkHK3pg-%~)ed13O;v3B^eqvU;3CG9v`iq0XP5}PeYHK$3dcCpv z84k#&alr|eUR)oggCNbd|R z1>)^|v-QLJp5fkKCFZtebekV1#JA#|mIm?xhgH^XMrrtyEIPAs4t~|x8{v~n@)^D9 z8CPvCg$oX_^w>`5)}2Qz?3r66B)P1-oV(`dL=$Mc=HnSgcx7a{7M<{rnJzWj;hw?M zF%7>V|1hu2{W0W#_#oWf0Cr*EhoDCxY)7)t3m5zF`omx_sI;d4intSmee-V7Ezq*} zz<r{#*zD4l z@`v7haRBI0A_u%MY3KK?`?zM#40*gT3Z=GV#=pwvg;Q$_Q;i|HWDJ+Y(+;h z7P`Q^onP4R(@)sW8wJW>{zqlZ)1HM~6{<4kZM|U$tdnM|b7pg?3)FibFyc9bW^KMa z?3B4OsDHNs^)v7ru0Yh!6rw&Zb%A+{O{jIw}XmO)p{rg~SC9*!hP&576t(8wJYnz`xAn0Z@RhR30c)f`|tk zYC?7%W4~*2F%Mh|#kRK3cgj3~zA_j9s*HWx)x3%PrzRV1JW`Phd2i<%_7`!Z`;evo6mk5LM1!62%m@FbZtJJ@5jhBT8Z5>hKZM~l4Pmb@F~&o&)x{#0AoAy|I4XR*`fs7*Tm!RDZmSL4j&}~*+cONBTFm&A(3GqzRl|||K6fQWx&KEm5sp~fp4EDojtxMAE z@p8^uPfO30W~17y^PV3eu024iiDk((@3 zm}#7#>P0TFZs%R~XMiF{XgrZh@G{=je}PzE3mdSXS`fn0Ti7mgvwgPOc(*+RRBN^x zNtRRW0{3?QRlny#G49L65-V&sImNizH2EHqOB>5ld`p zx)AxO>*P~7;D8BBud6@(nZM19Hgr*v|NDpodi`_{cvwgp?pGT9wvr$B4pp12Y_*e9 z>;m_;o>qN-Deq|&Hu*C4$u|@3aoq@sI4&0%y9&Oa%(?5S@Od@=3;&n@Iur$a5icR_ z>i|21&Ve`w#|_BYfQ?Gx>j34D2ceFc_!OX_96pD~IcJ)~=Qa4$G>7vx{sz1k)yHp? z0Qfw{Z1%;U=JH%LIYqm%zy;3jysY&x-8SRbiU^#S(Qv*u#(5a2k`6IbWeo@SOTkOn zYFj(&Iv?57hS$Q36<0I;Pdt41ADnG3XAdSm?#;rxx}N&GVU&Lf2Oa2L*o zSP2Hb&TcT*0AFl}W23tIz3mR+Xur)iJ=OEMLX=0~0{@o2SRX-Li2pLu{(E%%S6bTJ zc&&6;t17;NcwXcJ>vkSmZ@uSG&w6sxA-s%s|3(GtXWN4aJXf)>ud;SON?jyrIJ0pM zeo5B*1lV%Z&B9)zaKQm~e%r~Tx)t*R4E@6*Z|)-XfFtK}M&4{l&n=3)>6q!bEf3!t z+Wc+{kNz@oI^QLse;($yB;KlxeA`_R z;+d^zwn^e=N?oAd&R6SwSjDI>Bl91YP>*3cSE$UFn{JZ%TDc4KTY7NE_1*sbnYY4z zU*@!j?^Mta>Q1=Rj3gGQvet7W2?=SYdwZONUp4k9d`i|Gu;;7IpPm?#mJ`M!L=Ke; zZm{&|di|fjRhl5D(fg^*r_5OJdWjom!`^*x?tNn3zmoKSx#^~{Kr45FeoJ4j-!q{Q z{bj8C-=U$u+PXi^eee>#+;Pg_pEdRXd`t45P;Jutr4koNxAfyq=$1`?7M##}a5dd@ zY$X-1*}SIkA&&GWSa`Ziy=J3>XTJ^L6gZmmhK;D*>*77Cto^(^?gWAUyF|A@%iab5 zar75=LngGrhS&vvy3jSy zK3g97cI1&b$RWI=Uuj;rE=IoKg+p-;e%07{_(Wb1%~fHa&3A!tOAqh39=qn}zG4(8 zGxvR6jBryJBjKXD5k0mi9RjjV%~zLc6%x7N1v_7_U!#jCy)?G}ZzEplcVLz7O3;Kb zPKaWx_=yj;E45aFOtaO^7jlYS;NH^X>(Bcs#C;iy&x0o1$6KgXS^FR5JtWV4XX70F z5>Y-`aPw`{#$~%_K7|7g7`OBKddW{Olhl3P=2^z;`>iGpn5p*M_hKdgOtIvTi(TN} z`+X7789ZzA+w()_w`C;%1;YJyZ#NEgAhQo&S6gMtZyW2g5@=0V_EpO(cY%IOzpr1( z!o_}uOH%7j8T5Y(p}!L}z{l0=;+pg0jc%)hp>9=1zwJtvl|XO0;_AvJaDjh2Pp?1w zgu_2ON~HKNuA(j+wTY9=fYD!s*QKsxK6TVNzGRLyXI0CsJHa-9?`A)Z?HhU>>s+E z{;M2+leTXx`rz=&XfB$5|Dc&JmGC#fJ*HzCenb9Y_VL~?P)~dC0PgP$+fieq6CfV2 zYLzt|^mpSWd|D?dgMZf8Tj860THKn;x1q~)K}O*zrgOm+c3xc{?MyE=!#ycil+pXY z$-os)1a7dO^(rXGrWbKRTJ8e5NLMqD2V16%y`R#rqM0LN)Qoh`Lm+wHu zo1HcBq@b5d9iaZOr5|@fxAORyW+CZc2B@{wZSE7OUxLj_PIb2%{nHaC8vTCInt^Mv zyNtm-mF9w1kdTmcox9^4{Hn3{z^9n=7IlL`{TWK`f=}%HzTWaruQ_i9T*mUhtMUo% zWl(9Ju($l9>_?DelMQB2rN{-=?YzAHoWx?Rm)VDWM_@fw{j016*{6YGHzXvB5>X$-) z83?4$?zB5CJled|>9_vG;_Z-p-NOkfIIOU^eU>iMA(DBG(o-JeauK(g4NO)I%-EP_8# zFOQq6o*toOy1=%j2iC7D=PxWzdnvQ3yf3iLWqFk~7aYm(5}sG{s&axcN$CkmL(k^B zK)9vH)k|;wCi4(pMtb)I!e{WNRYrI@=?%-Hba=;^F0gIsS@qbyWZ3Se*gm$0s>v0D zZD_9IG2)^-$#j72F+2b1PuhCBybP3EOznD+t?aY-6mQIE!f}16;ZX3tT;Vd;$uql5l=j!l)FH_rQdT(-=EmeMFsN9%tf~{$gjFK^ISd-%9ir6 zIEPwxKYXQLAVRglmM9mvz`3QT)9*~c-(8-qyo^?J7IA*E7qvI{lPz}n@}w$Dcw7H| zw%O`R4Rfgr)Z6($>xcD~8h+nlA>GUDJG`l*ey+2F=gThkNgh^r-{Bj$Y>*}WLYzY_ zdlP)2q*w8sHeXTgi)dVMf~Bw2$1?IankWCuMC}GTCsbOyw~b{~kzD|KUgQGncD~d4 zgdU;p*XIeTU*^n_7RP!J-Pa4xEp|71;Wj^JWPL6S8d0zi_O=&h&H!gsS@*exO9ol` zV~dij#@-Eoa_K*$8#20(74@a(lCh(9UfBA$KJ)duk>HY1cE-G8g<{>96%OWd2_BG^8>!u*I z7%Vtisyj!po*`$Nof#F3r7lo!>&ewe0UrS`Mu9Rhlnoj66-PVHhwu_o|7ObIpEb4% z-(2d)cvcOcxKk&xKIOVVx1}%FpR>u|SDs8SGwZ!qpqnqwtojN*+f~_w<+#b}q?e;y zE^&c$I}fhkeT>9Y9@5KbFY8&P$AOhq*5YlW7G$*Z;7WP&yru8f$D|eN?qy=q?$$BSb($(`G`2BmDy+Fqb9h`@&ze{60{ND{S|5R2i2O3r z{_Az*gJx50-R9z?{Y;Uxj|*L3-qL65PlqkUe3{b{&LHMb^jbVV4YyAmEOudUU9RR- zS>liK9+GX6vvCf7iPK?CO;_!c`4kQ~V9M4XtDmCd{joyFFB7ZwbvYam8*(Zgt?=a< z7aUi(;LY$KTILNH=gN<=+d(0b3tq7E#n%03z~5<}HM7iUa90j5pc-_Ajs}@6KMYLZ zZ2yn3DNDbsp92(fK$$tfoty(2{gq~~6|D7EqeirY2PRh;{Wf!eX&ePI%}!U7=N7t< z`j+0>x{pOb(C110GO-A!5%WvEv&VLWZd7rsqaOpWVX+8FbJd6&HP;2Y?L4&gBRabM zDVajQzY*TBZM@|vMEBx=PRN|=?R2BljZV7-2Su*Ik>GSPV3nnNvfHFU{0ip)`lzwD z!yl;Q7j}W-%^FVWf-}4y7vES$o=?zQq)5oypfDtYEZt;6hw{&sGu9H$KplrGJk{27 zZ2Y*W${@beCM!ygUg84jmVVs2?#K1fmSPMjvnT5+A^qg)u{kdAt1R!I6SKOI_sNmnUVMxCCOI^-!mr~?aoGTukskTS!GBVmz$iy zxmM%?>vmq+`k219{B`i+4{``xHF78dRg~bsKc51hw?O&b(rAAU< zM%1`bJN3SArqi^R^Jcmf>t$?|ui;ql?@p3Nzt)>+wZdS4MjDWQ)m=04Vr&3hLatBq z|LLQ~-T;4aJzj6R>aAVOBXEI#OONfCuFH7*3tgrR{+AQ{$GAr$W!UbXMVwR_|F$tY z2=7eO)!A!KxdZgqExome^&QhZ`UU!NwVdso^$tY;tAmK|9<~xh;r?2CJLv61Apfh3 z{_Bx_;S$n+o-+7njXeV2DE*C1R|6IbNL=uMrI*%gK>SUTB9v-W7o`E6jCo)=?CtGK z8!g}is>}nn8V~?H+jMo^crJkp{M-3x{S1J^Ki6(qMguyL#s6~H-law3R~-K1rmJo& z8UG4_3;f&pYwKPIDwO|abfBda|LyHYxIf?9ZnV1?n!Y|$Y5bSafdJLnrcaMaf%=>S z%p@*&z|yPhchM>2fl(;6odhf0qJwiY3s4~8)SmAgQ`op0CgHCv4QGV%M1 zG4huhgJ=Q#UqS0sAG{TOIKZb=c_g@jx=FGMnfICn4lp%8b%@25qg)ynoM7t();$A$ zUj|_tEfddkJmv&3A*eR`ZR2?W{i4Y!=BLS8nkjLCbUPog-*u;0=3fWJw%Y%z6Qp+s zt3kLMgiGxK`p>H@>usX+V>u4U7R^oppIhhx^LBpUNxx4f2mPhc@E2mt&o!D`!90Xx z@JVmAF>kw1CP;X-*;&vVN*$nn($e4SqxTC@k6Nv*q(2s;es*Vb6U2PbJsWL7=zbE- z-`}se)VGb^2M);X0&TWCgwh3PSbBlS^+*W6Ze3{mW#+x}F=x#5`(Og)JMAyFU;$Tq zvmJyL=L%fkgO`YgxScZiXN^4y-?6%5Y`z*02fR~2<$@dRe8Q7{$65Y9^R%NfbKg1S zhJ`Q)cw_)N!>X+r+01>B1C%B!T9IDj0_k?%UqAOH@s)@4GIQVA6zSZlLq`U}?XQHn zFUPdhY#s2~LKm2~^!ECg=R)aTCgNu%!91ZIwEvxEv=f4iuQu*&JzR+UOw*N^=e%+k z=(qFjPEP7OR7D{EhOKy6A`!{s#4hKGm($X7i&nhcYo^myyu8*-m&SWyKiJNJrxWy7 z9PM9%>PPwi^ig9S_#@G2Gx9pM!P25#fXs+nL8YDWMC#u=DZO{V2iT?WGtczPgAnW~#0C z|No8>GghMnQMup-JMV9OOrHZ>0B8)G1KdUMVfb}9=KvehbBpEx9W$La2iP^!rE`EX z@twDsxuMclpBHgiA&(5V#X0y@W3Pu#^T?pY`s?EXFLr?YTP^*+eyt0Cj|6{xu25#J z%U5ySx4W&GooK5UwqfI@_HJ;d*R8mH|9aj-GWN~ueHTnkR~^0uBrbTs($ni_2!%XQ zW`^)e?Vzn4F~ z;5^N#jL&QexnsU}U$@y91n?)uL@YHn0<^MMnJY%AizF|?Y@CB%;$#<7(^bVOpTY$P z*m{lqoEhI^9tV_}GuJr>vWyZN^lmI#ssj}dAN=DuQK*+qb26`rYi=cymA-l_ugd#sx?dL z10?Qq(LV||v7Hs%YC!*Dw;i=%*Z=bsw;I{{4KfH9%~$*e#Z)f1!P2|z?Wf2zx!h33 zemarE4afGXJr>y7PYoD9wx?Q)3P@b=fTbtd>qCV+P(~j*lEVY|fGbcR!qGsT45<22 zTJ8e_>)+8yUW`fE$qIsys5> zfDM34ti3VsBxex%$PG5Uz-e4?g01h^a{|8Mym6t7j&vyDgq2{sw;PZXA>?~ZRQ{Z$ zGMr#&zUE2DqjA9rc0Odk+8+5JpA*Wgwtt1-1jUh7<*~qar#T!8WdET7`l3%<#avI= z`Hwy3FCFG@$zmQYf^hpQ4fEU(nzaul43QSPkn@&aWA7*9pwH8I%J|7%p2d7J!@EMx z6_aIs+Vts(JoINsT=0OMuh{P}S}ga=#LL~BJ>JWxj?*~N7(E4_&zVqoc3ji__;8ELo%K) z`{>%vX|v5%Aa5*mfcYb~USD0xd)vOS?T-RK*m}BNDr3IUZ8gGHye4L@hnq-Od2VYP z1(Cp8YrYx}H-yXuKUjKxZ`JwX%@$gZykEoR+)pBB|A$*qj^lL|q$&9QsJY=qU+H>z zElT=fGhI5g<9b0`et3!Chm`;h&=>?54@AQO?61DqM>Q7~7~}7%GH)Eh2EZjWp?fHU zf7aMz@Qs=ffxfUSlo^37y$f!!^9=jlrRhayxGLqAXF;(ox7@_J1qKRY5Dbl|G*_Ti z058E6=0Z4{fiSCy4jLWGn zZA#BA+JCEWrqlGL^Jcnq1SsPl_;QsmR^jN~u(!95XAW1IA5b>nB}M{sT#(=gx#^jS zL&^#|jSDWY^9Z1;dTtRH;3=7S(O3Sg;UP0!$_01=k?rVk zgU$tf!+qSkw;c?g5T|dyg7>P-5qHNq_*G-?fltznk`V&YZs>+0=Ex;?!6%m9WWVNy zzvm1;rF=39rM7%>eKDU@dc?4{HYuZl40zS%T1@7GAM8BKbst?($PZ<-r%{z3;6N^} zJ@Hdpt887mp7)SER?Npa_*G+%z^6J^$W71T1C7K557_yc>l6Cv++KGQ9*CE~`?Vbt zUTo$8oI!xW6$5Hcg;n31>lTDPTw*qHhBEkPjlCPb&HSKtL)O-mXj%ztn5bQFiJfoS z&$Hh+N3TwFF7&{+z-LGEeZ#z$ODzj$u z%T$g@kN@S9YXnf42EI00vk zSIVvyLi(pDr{)ji1&PW9H`scvbxq1gz6wpM%((FU0&YN-yF$kW#JLSGa2gk!VClW~ zUI+v!%hQm`%&MQKb3!t=tTY#t_d?*9kTku32^10+JYegY)=!)Dqk$L=Mu9(Ub))C1 zJTM=0f+!H7OqJ#X+a14zZj@<$jzi8w<$@b5{nEGUJ~?k?65LS6%5cnO(r z-XTV7wz3_bxzq*f?R?Q5_4HOR1?r!rp`JFxyW&vK_q>yR%nIt$QWvPV^(X7PzK=l? zx_%jJ>6dD#Pd9z5w3W!#m#knrZMwQ8UJ;E8F0k|^kLi(k7eEjW)9de&^y|y1*KbJA zmGpIOpA2~)4~b6G>vQ(qxG0V18qNj%HmvcQ4>oqrzPi)fXmkdZ<^bC>WM{NyD=L0Y zu?yVWd5tIQx@C0F0{6=j{w^o(&q&Xe@T}p!Wv0_`-!;>vxW5KeB3nz(m&CYV2^yVF zuUTolKZjI7NyAUpDPTd3;cgx{mjyt_%~foinQRyMw(|x19bM=}63q3PY#DpaGh=)o z4;rw?`5=fm5@=7RC-cWV6+UTaP5fW}>rfQzAw6FBTMn>8twz+~|C7}RayDr1B+NWO zG;Jihv5q;o^Apfe4(E5AeWp2_v+=2E4(DO~4R|lAkKg!ooP{uEyQ2$$Ic>7Ksz5Js zfpj~M?_^!qV7w$3di*otjoV7{XT(THpFbj{%ClDFaJ+=A<|UNDKWi+6?^u#!bF=D7 zn&$%9cHY~`DSd|OZSDfuWn}o%V`R^uhH@qdd+_$FjPB>gSQh9`RtI1~jolBQF}l+x zXCbZ@xWKuc*LAY4`QCiZZ+_!WI}9KO5oeLKE^qzLN@L#IqHb(@W)@mN zd+Um(lm147gtjHhGNXEcjBZ zz8=?3-_JC8`tT%MUvF>s*VnVXK}9aGZs|iks$=~Eym%iwKpIdP8UG|U*W2D`cjI~O zV6lscueOcSDq7OiY~fPPEp>ryyx(C*jM?a<2l^H#)(f8LZRk0Vjj#G#oGk zrwLSAySbjaNV4qA$2s^F@AaA6bfMuClepjkJD+RaYxn$p=J7xo$$x;&!tr|N$esyu zKk8Lq@>^;5re;f1+x%h|xVQAk9@S$Fyfy#gtobzt$A)Fp`zp_9tS_ zkTtanF0u3Q){pAZ3-18P44VaGgacmqbvYx6AC#V36iJNh-tnTZG=eg9QDR);ZBY2A znJ$ea#y_TG8oVD}qmO^_Cj9FW-1c6&vM+qD6Es3lih^*n(F|7mL9@NtZh}W_vwe0a pY~Z7I@D_=UE`hUFym(l7Z#ldc6@%k)YL#yX`LzIz4^0(Y{x29q8+ooQicc z_x3fvOxJ&^LI2^IHRFzdEgo5Y`pz00`d0a$)OYo@{q}k#Ulz~r5Y`OyXVpuG3vHeJ zdZmze6=X_l#>ZGz`$0=@Nc|?M`(%6k4_|IUkzI*HPEielsh!5KAKEkGd|RN z`1IIeMbS=KRx_5n^{rhKAPv!ACq@F5e9Lf-s81Qz*s^Rkxbm1drDjd2RdtM@zP^rXmq~W>t#DOHTrR4PEk}< z&1BR<-XzhD>D#F@NQ(fMQves(-9#$e(;xNNy?>GcWh2|D_v-#CET;m>QFhZX2B^Uy z={2dqYeh?U9B;<)x#Ymg<9Z90ob;yr^-7lB4BpIm=vn!-wUz4X+6UQ2s|DHZW=l6S zo<0M3klIGBur&Eq?k6gCtgmd+lKTi>2HrYS|BU(RNPR=?9ZON_3}*kaewo0m03FsR zH1cC9>J@jeN++E(tYRAN8;LNxa}3Ou7D_J6s@UK7a>X$IyfK?+kAcaH>}j|?k&MRE z3$v8hA0$272KsgAH|crFNk*eN$x^cBN!CBJ>@EzVcbK<;>KGV0V7s?-(B9<|hADUs zsAs*)QBVC#eJX;?8vL1EcEFS^MAMZl5#SC>d6I_T@g`b7DH?yvbm6ASVhlx5a*Nz- z2D1F3Y%!CpnTKdG)9lV|F;ghNiTR(IEJl}1d@OIXGL1(OE8CRn1@Sg;uzVSHTHboL z#ZY-msPmP#o{HHl%wt+HbxaXnGDpv@)33*mg$(Bd;PPMBDW7me^%3p>&SK>KOuywj zm(94}3n0HG*;@ci9J8LHTE;AiV0cTyTJJzVYbQMew-)+81!^!y|I6$*&WCJC*_6;F z4L@P(=gkMY`ccj`1nSEP>SjruA*!|0*jIq~S5{hFB(&aegQOCeET zUX;8e&OF~CR0eVVryNcURj0}IpG)-yas7_Bo{Q_d-g-9Ilh;r&bqK*ccys*=h$_yUz_XRv2b}YK{pKq2d_VuM~Uw9 z0^L=rdvwqpusIXYY_t#--3tkKyRG0v+&wGMou|c@VMaI2M<@vH#tmaTq~Rgn3+@iw zR*VPV`Ed9yDLEIu50UZ)`6i>X#&{XWF|2PggZQ?0X6+r~;l}wZCZ+|>mu!?%%YNlJ zcQ-qDgB$mfY5zMGza^I-pN43V-!f=*{W!=!=Y@RqV1}9DPl|k;a1K7&5fAc}aL8Bb zs1*xhKANmGUbB6gi)cMzIe%J4KAy%Q%Nu6Y&r<_12)@s90ZY^HEnd;DvH5<$!K7Gl zu7uq`O>oXet?x~6BAlOf;vBhs)NmentS%m$hutw%-RA^)IOv0X_}d&9%u_hcy`y_l zy+P}X8{T@Z^~Eo|^=zEeiJGu{K7}|pPeTqhkJCGhg5dGDxPYZ;pyPbVqvk@ z7KewfgxnJ?<=u1BUvR7k;abMcY2w-khpzK4WSbQD#eZe-dv84(*LV~?G_EHR*X(er z$GKj5mSOf;-lPU#5Lo|+3s{!-MA=S?sjW@gvPrg54e1u91J?C$L6S$lTAoxQ&nB>U~BmB;q5cs0-WeD_JcYTGVP zncB8jJT>i)qS;I0jue4Fd?Z1LwhWpx@d#q0w~fAE$aE_SqaZoih@&9v zzU;Q*Bnr|n?l!z-TrrFe#gtg(@p&TUD;dSfNuxUa{?H6Gqo}o)I&l{HaS``i*Y|zf z_E$W;MZ1+v3j>a_XaU^e-kjy6@;K%Gcx8jT>okKj7!To@2DsEINK1mpPoe0>d$(oiAFqhMnk9=AAGF zc!PST{Ht)zwx`e8)mm*NXMK$KUH;zEb?5A|4jbIV4&^NIiG=nuFK2o3k}`084qSrp zkZ^f+vQdtgSrePf9G~0Vna^KpH?kiRv=e9OoAIL)$z zx}h=JgpGZE@qk8WX9FAFM_^)w=ZvDYDFXp+;-g|tW3y+*ot7_-RtPZbCD#Mc8O>3n zRq!pN25Md!6=H}7{Ll0aiZ}E=39YVp@Q}v<!gI~V#fOvctcFnB(hyvZas1C z5AZMj5Wa;nGrLYUiQR$})RjEmoqe9Q-@e)Lv%N6s58u{bJB!V4`hg#K?RLX)Jf1SG z<1`vA{lH-z0IC4iO91;9Ky8aIA-Y0*Ol6Xa1DVN0bSIG%r|~$P#sZyj&a zldDRN&oy=$||1w`B7i3rzyt1WSZ*fIGVYff2fRZ!3bU{r!ZRK4 zF5O<5-T;Gh!o?Ku`A&|-je{z_m)SU;!ZmY0;Wo>0yEzUwAGQi``MhG^jYcB?cMy-H zp7?zQ@WmR0N4Z1$O`a&My%d{ZCP$SrjKPmxhB3II@3k$mi%s*#ylmjqH5lfEcHXw` zEe6q}JUU@2@B!^wv!+g(9sYx6cbm->%?8N#Lw?`tZELonX@f`DA-za*>M;gMhu{vOo4Nt~L%EOw1TTnf-t5i?? z5~uTKo*L?%SMq?txuWS#nFw&eR+$R?#Lij|^R?6jU1d05QjeNSnj6pf_Phq}TQ&a3 zbJQdiL{g}^i{#nF>lMy_*1Dye^Z(BH*_lkcv4e~CjCEmN3l`4!7Gg%lxLLkXygkHx zE5-#l&FwMTj>c#g-ki&;7c{!KnER+#P?yn5Dx&pBbpUtqQasbx?3rBClJ;s<0JBDN z4FIiTW{Ot9r;NI%bJ3^@3)<)Jq<2ucLeEp9)s^<2@)&^PD9;=1p<4xhpe_61xc+x! HojLReSDKXc diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-dxgi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-dxgi.a deleted file mode 100644 index 28bf741c8e569a05f01b53df67c1f531cb3290d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9246 zcmeHN|7+Vu6o0n!r41PyqaED}oie)pG(1U76bC}_7PC?aTgf&kV@y%(bF4PCjV*Uc z86}kcP{w}fPhoUK87l88hU72tE z2tfJfp3Jwl0VuEG`D<0*-|_t)hGH=EABac{{GDD)_`ihRpdb3!7POsYz4@ZL_3VYr9 zI?fe7>H9fwG}1j0HN?T_@O~FZY6nf>)E!qHA_G9@HtsYWdrusOLp*mkI6*_zYwEcf zfaF{pn@sk;-FD3#%v_@C4c1EYx>`a-2`k*yBX-CywBBv}JIkxS2o@IINRxG^zmEF=3 zN(og_Ld9@xu~d!3am4lP!UB80+6tl|8^S$xuwPdXhQk>!I3-+21KwUAV;8WpfY+ra z9#7&n#_fc=l8xIO<5sbnl%+Lc+6+| zB^?5M!=)_B@HbWp4B7=m{&*$9S{d4yYEm$>y!)nGQ?#`HboA;~+D5jawL8_=J;%Z_?*g>2MKQ$>*2HE`P1v~X z;Y2GQ`BZ*GGtAP&PccvE=OQ)HR_2|iiM|=9Y2uj~muTW6yuZAfSY}P=uL(HBTx;QD zx&ch77V3N~i!%I<71n}&>&l{@{6!X^s8_;-{oW<}>FG#vo8KQOA{5E~C1$_jMHjDQ zo+CkS_8V?JeLqd!tPQ&ag|mMnC;MGj^ZhT86|;Q*zTz`4()T}7=AGvIBQs9({m;#~ z#P?gs+`PVjF=fALlV+|Jz{@|hMe6@?(=bV8_!H~w|5*X1+c)SS6IQqy)-TmS4@;6g zI~EkFhJ{oOa?@^NM{>U7!THo+xc&2N$QJ)za3`l4?DUJm_`Tp1DKslKJXCz@MaG5$ zW!`DA;mC~BV#8B2E{P2{P*HhfL*=X*#5rqjn{PU+6irH8+rF#UsbFukNRo%iPF z`Mvk1#&-Omnxrzkz`D-%9G`KE_w9CG#_R99myG{!j0c_Z4v}M?8Bcq?lv4kmI0I}g R!zq?J<7fQ|p}22n{{p_T&lUgx diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-esent.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-esent.a deleted file mode 100644 index 0d4ee9ed3064137377de2f41b9f4c1ec538829ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 301808 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-core-iuri-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-core-iuri-l1-1-0.a deleted file mode 100644 index 2eee14c06b399c2098445f23294fd6abf4fccafa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4336 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 N$})dJD%L7|!aw~>D2D(5 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-networking-wlanapi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-networking-wlanapi-l1-1-0.a deleted file mode 100644 index c5aa6024154964d4e8aa0b64365b1132703a1672..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20688 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-shell32-shellfolders-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-shell32-shellfolders-l1-1-1.a deleted file mode 100644 index cb0a327736749384d4ace761d21a9146fa625e17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3606 zcmdT{&2G~`5FRHfDQOW1A%w)mNN}PtcAC1WRG~ijfzfCGm< z0EZqCXC9<4!kZw<%BlWlhpc4*4bVf6DD&e!9>n9sdV zE*^pHzuFDQk-xvYw9$Le8?p@ho)`OXykmaQ4^GDXExu{9Hi2gkLgzTf^^|U!^EDM# zcz_+^{3FE`+V3pRCwRTpa1#yb<4K=zN&j-YiiR>!O<#kuh|e9-yAI=h@o7ak7Qr6q z#{Rf}EG>d_a099k(Uq#8_)<)#MgQu^cTVX?`XufU4jIwbq4vTUh>!!je6E^1g#WT7)JDb|@v;?!~2O1*=k}qN` zz-_!_jOkwQ>2W4^#dO92JwJ>50!jfQO5_Ef(sHiSv6gXWbR*VC?;v$X&r>1qQa2C9 zJpj!kEtaxSQ-JSSXB>^@9hq`G$Whi2DzLAqf?6Y`f>R8{A{D$>%%CPu6|^+JSE(S( z#-&v7F&j5g0WqPeFxXWkTLl2=<1an%KP%y}TJcl~4P}ul`+*HhFMHv?1bOD6KaFE+ AqW}N^ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-0.a deleted file mode 100644 index 4843b04814166dc86ddea666b682347836924e14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3592 zcmdT{!EVz)5FIBeDOM32I3NySq;ey{Zd0d~Dio;#Rft1XsW+sJTW^S|9Y?l90U^YJ z1IPXW5;y*$5`VzA^h}vquaiwvP8~%L%Xp z&)Mh6C>rcLC(nHz@IkT{h3`C1<(=^y0<NwTP1pAk)a-dam*77a0B^LObDSBZU5y>Ns$TL(Fg0$KB8(EVY7s_>7sa5eQ9CU% zrXp5LICKR@#EG(@sy&#VM80LS6Q%+#wq6iNzG}M7w;(T4i=a$eG$??88R}qdP z@&$THe>6BwEh5X{8h9Y0oAQ9-OEH~@dbXs$d4?GRoaH$6#7%%B(WXrWexXu!MJcOR z$%3d0R>dZYC8#y8UbI_S;)M{a>LL{1FmtJ_Qy!~(O_pVRsGf9Xc2j4RS1-orJMCEu zoxN53!lbTD)r(EUB>A{8t7yJ$#C*=j**GkOPRowONE3F(*~MdeJ3XD)@D2o5+yoFv zIY)jeM*(i)lg69gRZWdKxvtJu6;SIgu>mn@#SjrAFJsH3K4cgXg(;?p_0n%hnML1| zkoS}+tKuDiPJq<%Qd+31z)x)FUW69AE|q(yQy5|{#*nr43`4$RVCFI8wagmo{v|_t zir=dkGR()#Fyv!CZp@JTxW10WpeiMwAwUetyXxXs|1&!t%2iL;(UBJFD)1d!Vn^Q6 M7x^1da#hm*0@mnnZ~y=R diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-1.a deleted file mode 100644 index 796dfb84b0591558d53692c3db5251eb1233faec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8828 zcmeI1TW{k;6vt1TUY4p{#3HmHpazwzXg2AlPAgSas)7(wSyj6%LI~ly@w9Q9#*r_j z@PI0W1VTLQ!@eQJCqO*##tSR)y>>Zg#+PwDPP|CTD$-6gmyG|Ov5(KsXKcT|X?dOQ z*1~l?n;L5kqhZuH)|67RB40%f zMBi9?(+FwHKr>~T#3<{ihnWjQ{(9e80U2tBsb zwfaZQ{_u?TgLcEf18`0Uc#0!+v0^(6+*2!X-2R^D4wx5wlNqvEzdU4#9r9y~<6AEt zD-qznyRLf@4nDTqvR>{)%||S_#qc_wG5e+)+ztl=*9(~anbiwfyD7~xN|+t%6X%@S z+d<$t2Vua5j#ePW@jh_;j@w7K3DBfxj?KKx5ve!hemgw}ucE*0v0cXxSl{U%wPo|G zw}Tya+@R(rh!wHbsMig{&~>Agvb9^8L%aaquOLOdHCw3#=;yp$TIkdW{wQ)$CpmMYThx$0G5AhX6;FL+d2&i27yQ(Nxt-^N~!p8{Vwc8p&qWB8_A( zvO%>%Wi~}N<+hr|O+z%?PUH>M%4^v{qJQz|q|v~}a@==Q^6c&-cy?>!MigfD7h=yg z@CrP~&tT?pd-iH%NO%Do&t>&6U)jT)FPw2U{Fe5*fuQl~t!A$XFKk{y> z^zp@u4k<|QA+buMOMZ~8B{WSi5})qGR|Iqnh-s1Xr^Ta0E&deZn1Yq%9M zr10~lV-RG~{*-8TLCRbFKLFhUM9p$%R^%qvU6`E}`T-Jim6N!Df`yl*}cR41d_5LCDjlm6+?16;fjM zqaLa>_y@~`nBk^q|E~wNNinomlA+aBF4FvfJ~N7;FD2ibBtwVNyu%n8sC7ApzE$fI zhF(U0D9g~Sf+7Bp%{^;+nOVZ)r<5|&=Kn>Z!SC2mFq6Dr$cC2`s#Gx6H#lirX_jNc z*l6UKI7dGj#l)WEOOs^c3u)eAOxS8&j)}fnmoV`RUhlF@%n%dtizM7{nq$XR;qVd% z??gRRY49VK#6f(zg)h@46$5UR^Y_+T-rs*g9~kBDvOi7I-wXUR_q0LGQWBN=Z5KUl ze6Q9e{{9AzQP$t9r3#+;6JD;N50vGlLcHWZWlc3BuM!HF zQbsmK2QM}F6>DN7f7%%?3N}xOg?dRAR`apr$+LDEJ09g(8;AwP*I9C#XNK{sSJ>5QhK& diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-2.a deleted file mode 100644 index fbc7a9dc0930b37458caa9918b2151dcab7ee5aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3624 zcmdT{%}(1u5FRI?p@FI#IP_3eMxuvGO=<_?fP|`4z^w;V!L8C_Vux5bPKXUfJylgt zRS&#FU!YQ70I4t1Cn=rTT{|0MlW=fRNAm3M?3ewSoo{EevSkn3-Pe^@`nZ@4(=sh% zbEB^72Jcd}uCH0^@&|_%0C)hP{QxL^1t|X(-@+2W!V+WKj2(pTFl2jf+GJpLDVwqxCXB`z+KJ)MbM5Hw)+8YGJ50td&B;@ z=b(F9hB8hj1f0{;D5~|7YG)wTCX|2kDyw|^IZx4a}98;b?lSaAnmH}XsY6k`3R=^t&oLL zd{)fDDE=ZJ6gAT0B7MqzHHTfdV7Q+s8j9Mp@j+xO9-S}+a8T#XWQy$W9U{BAxt82O zab#O~0(kA9lwFogmicM`p2+B+6Hbfl7_XKJE@6t=AJ+*N*Kd}KXea||;(VF= z=Mk^X660Nd%OV_w#|w0#?pbgmEIi8K9(cgLD|kTuC7+H&y<5bZCz!#(ag0+*+yrQI zEmQ%1VI}YUl2_)E>9Inr3JnxfP-|MgXf_%OtIFIJ-!O71$)~Yu9<7v592wnI==tS~ z({UDdb6G{*k{D^iLch9xPOZz!kquu& zFzrbo;*RE~I0bl!pYS=g)!GEdCNm4DxtADG1R3|-Ycxw@8Rdu=!#y#^7QSa%gJ2i^ zo`g0p*z$t60q7PGmVIfVq5wZp&-N<1!viYc_uhyv#*BPfGbi}+1zj|aFYlE&`Rwmc*0vtf#j5FG<4DN5BIddQ{KR%$O*p>{|NNT@thpaw9!hkEe$$sx*r!K(XHzwp zEz~lYOZ6*}lbGOg83yE)ktaP_mx073CJLk+t6-Q{5ReyP@I44))g1@ZOBH{;R@0>8 zonYK>GRK`|Ov5mojrvJ#X86qF(Q{qj_l58qDX&8GD&L%ENF~502jC@J2TmgNBd_XJ>$PDNA*ePABc;KA?*J~HQE+7(+HZ45p^Eq75zOYTkcF{0 zD`sIVzKDaOL;ZHsoHADjIQ1V4^F(SWI&ZfZ(QjsT!W3YLeclB zsn#eSX%pZ%J}J-iZd*3j6teiRnt)wzDGLyjRtjc{qO3iex?nK8`>hP&ebP6i8AZRR iM$yv@dBg7jl=-Qrtvxgp;5YV}|6ca|xyd=#D*piLUdYG* diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-fltlib.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-fltlib.a deleted file mode 100644 index 5c928ba0f13f981fee270015759793ed028908cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25470 zcmeHQ&2Jnv6n~ktq=Xg)8jp(?04Odk@pyg~fa3C!sDwy08o4#+e7iqYdo&v zb@f`KvDj$5Jn;L2#)=>K{l;Riw_PYLhukY_Pw;LOs zfN0GI@^AUjXl(k;)>vwU#!|b3@AFEpv$N%&?+$`ycimrVcUu?yD?xp>j1OyXZ8t`< zCDpUk?hmk{xlt7FID^Q`EL+|r z%;Ov(wx0Ea^WBYJf2$d^dtC!zL)fDAM21Z7tFVR$gIQMLEvc~LFiXp!NGdEDqGcER zelzgvm1?wC!*|xmv2r%-%Tghcm%$#EqZfNlj3oJojfiEyWVv&_!3ESv^*Bnfj85YG zkpa>BEkaPdO0MF}ilVq>hsT*Ef%Bg8gXa3C@y1#<=MzJ*5FIF$E4X@HRMWv?Z);T6n0B&J-`zK}soJ81ta#Diw>P)K{G?Q5v zr4HpEXVwOT5o~ak_}WzAgL5G-PS>yx-%AgyKF&8E<`dt6WWHL+cMxw5TKGcx((=XS z^UutjTV6&RWTV~j1>x_10N$S1XkH34M84inRPAJ}Zer8>$V=kU`e!nUN9!AE@8krf z(IEPd^~-)F4dG#ZLL)ypaZ|Js@mE+o@p$k8ren2*rWs~8-7#C6pEodD#r{6b-gn>s zjajrbc{qv}!Ys)X1sYEqW*IS-XnaxzVl3=W;`-J?mYLdg@>5Qx$Zr!Qa`C1I8R8nyw^?04przi3i`|%~(zJ zu~_>UGVT6N=rZfbCRxKd_id#?gl;+ z+gDp0P4rwsAHaAF5NKvSMo*axbCjMBb677#WPr7o-hs;u zm8U=r=Q6;Wi+_=9^BkP~Wboi?ydS-a)J-3IFLC>2d<$SUe=vEdIm(0B$S9G`Q^u0(lY7CysKUghB-fqf+pxTz$A2jAd*qCBXj=Wv10__C0Qs-r{{GXxDRp9JLU zV^9Xp?4Fkq5iM3T1G+S%o5%;skN}<60gS*20aRc}Hw}|c)7+1J|TB4pL`coV3g@xnbd>Nxt zOsxq{IU>K%_%xJUshbv18jXL4f&BbiKD*NR%9Jr2u%z)7ISY+H>xBF2!h)gkKR^(S zvUDzL7Q$XyI&W#u9cJll+W8Dir*G$z8viKDgsY`C=aYj)`!BQ)+O_jZtdsx5 z73;SPtn;%9`L^as#wjSAKgu&$>cM5a3Y@E>8Tukt%gqAaWjA!6HZ7P!lPlXjjV3=T z(5;=WL4AkbJdAnV*~f!#EGUFap~rj=KEhNWTx;^k!$w)y>y^`vXgBxpiPq zj-V^DZxzT6kCsLcf94zMC$S$WD5NKzP_Q@O*nc0!mW4bx`eV!HuFS`{dKxUo@o1Q2IQHCt=@92N6n3hg~e>ESZ!T&85{BuuKzVTlYXjk}uM&!`NgU>Ow;9om$ zqis^^5~6WrApx$Q*kT5tapV($>5oby0XJJDfbY)dTLN}D1E{U|1OZSCS>V6$$69c0 zSU}@EfpaK^fBpqjzOkRe9~7geexf1Y zm`|tU^u=9sRTmrZ=lNiKBKe$zSQZdw)P+J=~clA`_7%ICt~f;tyUGXNPgTlJ+Rm;CxEM`Sq|nPj(yywL3q{Gg#`u zhj`U+F817G--r;@4u@=2fj0 zUx2W2OVZb$DyJS)kj|XL`!~diygR>QSf0^zVoE z^3+(u_ejR?Jkbn9A%G%pb53kRU_1T;y!3!P>-rSu#NtgiJ^{2dWTD&L{Heu? nmBBx58%g}9vFP!COJM(#03YLgV?M=-l{eSeW!JOEhwpy@TtP+1 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-hid.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-hid.a deleted file mode 100644 index 8a037ee47be1b2867fc12e236d4f00873a111ccc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37978 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
YZ|%c0C&v>z^!!K0)9(*=D2tD ztQOWv3j8Gdd>Y*El5j753?|pOcehqj+)LfoEH>8S%u(;?aV>Tn50>_6^qwaK>Wz;W z;aRqf-jnbRCrRN)9x%q}5$QdS{@KEAKbRBJ*zLzSCup|moO6M@-5vn0b=|xR*a)(| z4^$j|wNu5@R}}t9+E1GO_K$P)8()*l^*!J)6A+S($NuycUHckcw`l(fG@0{&tLL_O z`f4B#q|t?T3LY>%hlnTHGP+R0*C170D2XU@PH^?&&X{``3h$P%hNju8wu5tm^li_a za{%5AF$in_mskcpmdN)YW!8SsgQRX-?g2(==9n)$x^z}F&Bl1fWY`-Q(%63A1d6O8=g; z3ifC$=ogqXN4cYax7e3PL7wQrH@hOUbr6hBl7v5W&lzyaI z%qYjXvH>gC5Ev({!ADK{&GL`a{skL^j=^P zD^{-HL9Te;F_q+^+osW8E6W`3u72B!xzE0M%0%Ejjkjuq;e9^vyrn?$+aq4`ti8L- zdZX)9R~Ooiy*zX5J9=u1uhJqiliv-MMwcfM_S^m5+M9i^??JnH#=QHAb)I)w2fJF3 H70Uk$>qRU< diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-hrtfapo.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-hrtfapo.a deleted file mode 100644 index 706490874958a7c65cf515b80d9cfb0f061e76a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5030 zcmeHLUuzRV5T8p@Q$ve=P!SQlg1(h_Ns~(pMN+DwAXo)aL|8A$r8%1BLUOIGPX&Dy z>Wi;_5s^Oh!O!6bvCho>$zJa+y@#}=;D(*soBi$X-OO)x_A44R#Xg$HW5l&U2i zf10MNs>WTiRMkqU;tlvv006AYAAsC+CPL&K&{F9SN}}#Ot9s7>ae% zF$ZGJZkghv)ie5*K&7QG>7r{jsCrtvXEyDDxoz}CXW+DrzAX%a1GY>MqGKAZ$xI32 z+3+dOzuLD~cMPj*G`eP8!zHY(zDVd>8<>V;(x}J14XbB9F`AA&*sE9kVPgQJE?n`A z<#b;39n0!osZbPOakzP=PY2G!8Anr6c(+P;UAJWIaT(cAiBIq>Xr8QxNhWpHsIAE~PXu47)0=#7DiVXa~#$>b2 zWU`i*2n!rBLk-I!hs~+G{Bl)_m^{DcKC+UMIdN3>BWb3wE@1y#kGXVF&u*6wc4hKM z1s7{b>%u4-gm(EQ#B}3vLB!B}D~Q>N$LZM3|a!a-~Et!qx1(35OX94hd%$A~6aFmq!yl9m2LWuqRp7acEw9t4e zw7Sdw+k6i|^SGM8G_3iIGT~4(?!Yw3^P0r@aw^W(wB-orzu+sM#`*Ui59o59oNr6( zj^lhk9v9*Kr+8f8Sn_#V&SzkB{tTUcnH`sx_jmF6sf>7E=X+OV;43yn!mFn`_McG% zl+r~&Y4LvqpalsCXmMRMLn*6okX5w9>#A$h8UD`j-GY`Cz)*Y7zTJg9@9_Yp6f+(P`rnFH2;V3|U gT;9F^20lBL(cZt{Dp+P<53gb7C;#m-(Qk#qKi`EetpET3 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-inkobjcore.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-inkobjcore.a deleted file mode 100644 index 0bdd645e13c21ea5140375c47dd8f93804407dce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25746 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 B_sswR diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-iphlpapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-iphlpapi.a deleted file mode 100644 index 304b43b5130a57b997d31bb88108c324916524e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234938 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 YEjcReZuoOaEv|}ur4~f=W+MFm1G-(0F#rGn diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-logoncli.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-logoncli.a deleted file mode 100644 index cb66132f94037a43e8974107d53676a36285c23d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29832 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 Os1#WMT_5EJ=l=)Q)Jw4d diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-mfplat.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-mfplat.a deleted file mode 100644 index 14b1ec1ed9ca085c4e1b0d9ebde5e2aaf357524c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128094 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 O_W6_lft|rUtMCUEM$w!A diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-mmdevapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-mmdevapi.a deleted file mode 100644 index f011a721d207d4f3aad23094e868a12b1297441f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26730 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 cJnJ6-^LgrJ=7N>ZYpit^fc4 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-mpr.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-mpr.a deleted file mode 100644 index ce3a0876d44213745639db04f9dd0539e9073704..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37044 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 W^v>RZeG$tlZePk?>16hkh5rZUf|95J diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-mswsock.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-mswsock.a deleted file mode 100644 index a35a24b405c1ca63a5e2bb42096034f234577830..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23920 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ncrypt.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ncrypt.a deleted file mode 100644 index d674404fba41374610b1965d28bbc17afb2bfaf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65350 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 CR;h9T diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-netutils.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-netutils.a deleted file mode 100644 index ce2fe89517133aae333b4ab77715572979a1694e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5870 zcmeHL&2G~`5S}7{8_YUOai)-(Xj02q$}CVm4<&5C?&9)R+VDUoj@j`E#9lpSZ)ao+S< zukXBK0qZ%d-3D_$c^%jH929zX&34+}Hsw&-?XaD0j}2Vk>9AlBcC~F*WD}Kp(r-W2|0DTS@ll=oPt6>bq&Z&|qKogJM^aWEeY2mSx+> z7<-|r*s-3wf&>AW&jH-zt;t+5V4nlt9$uJWZ511C;0}lIo;p}Z#qEB71Pl%c=h1`@ zD-t__jR|}&J@NSjZc)k!H#HnrmAG5jm`TCO{!Yl-Vx!$AS+VK0S=jma7~n&$>F!EF zDA#pGQ|C|2PcU6i#xRVgqx>+8rXSjKK1XFdg*xQAnZ&MBFkCNm`uW`T_$1+zoSiTR zY+^ZPzc5YAZJmL+)y1U*b8XZ(oh)%hKMgKQDbA6(Ww{(WSpdeopB)(r(4`7dFOxU5)A93-3~HGkptFMHtQ~Z(l8;%jaop zdOcU*8~uhyMu9<^&0s(PPq6N5lDWy_}8f)spxgG|m4$U$Y&> z^}BeUS-Eb+xE_7p;S|UWx)Uy^&%Z|-z!Y)5&YwkLzz=N1I3I02+o$jOSU@S81^oB+ z;v9w3SKrpk0?y*?b1@5`e-)RT`Dga_^7o92anwDaddB&KOGP$THm+B#q_;o7gC7;y zywxIti;QfxwRJV`oQUw->9|B>^D!N#xK8Jt)!Rdi>+&z#<>otm;ZTY^{WBrpr2*fu Rj(K{y?eqvI);mt#{{ux!x#|D_ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ntdll.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ntdll.a deleted file mode 100644 index 06b17d0dac03d4fbad538d882fd0995dce5368fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18656 zcmeHOTW{P%6h6C~G-*g_DIg(0#f2cG3KnlJP9jCH+bR_xq*hRr7bIufb-GK_-DuZo zBZLq_eLx_ja+8pd5Klbu3wY`yKcK&da?Z@y>mAQ{$Bj+3T8}hid;HCKF6Z+($1^^^ z)$HGBzq9bRH5zJbHK*p-n;YwvWwTq+)UxORHU)$_f+d#Ts*+`FA_^PuBmX2;oZ-2KjViXyky z^=|a~-eL2=?fR|#eYfc%{I&gFDX0e!tVbd9BxIwff#*uv4!s z<6}Cv58OnAy7cxDmUoiN2N+!q4TBmuMqLBm8`A@h5T!-Gul4vq?9?};=BohevedI> zJGpp((bdo}sDWeDH8jSxp8us z8q~s3ky@mtj`A>glnSJ;V{|+;br1+zhj%-EwHK-+oi3``w&S1{a#px*vaH>O4@)Od z9ifIPq4r^Cv!$x<9idW63>MhC)mGDQCZYi9U_Yo{9}LF8;48v)sKTYy06T*xGuWD(XWFWY8VfV3d!2nx-1zqqz|GQL^Hz`{@}uKK)mEgs z2^JlrvJMj&pNb9>85`JPyJ7LOj71Jy&0g~8u z3W;4`TM_2gP+}b%?K7<5Gf!G#mxJ+p4o^s8iA@w}HdPYKZc0f67cxMCuuHrcj(Jui1f3*QX4p1s5}MgG?#vhE-?_RdCo<4&66^Gk0*&PRMb?A4GuS= zGV}I^4A?MaKrN~-3I+&S3K{S+&aNo~&T1Hd{=h^t;8h{-Lk3(HIdmw)5148g5V%4~ z90)NvuwcDl0nHJAg{%Dr6FrcI19nkfTtQGx~Xo(pS8wuaI$;B>$M`D5OMGvF0$ zKZT(+RA<*bDZ_Vo5?DiW*T;Rd=U+o}kpERf`7gWyHjR?K6l#DpcF@xr`JX0lK$3s5 z^i3DevReTi`ot>*3rM^r=}!GsC=ClvX<0Bm-aw26=8M01uwdDc1$JQzDcBO~f;6_! zqJ{;N?hPEn78+f&C1*gQ2?yk03)M{JzgQc{O8%b`@-Oe>*ue)(i8mbUdTjfX29W~; zY(oYV-T)CmwwFQ;kj4&L&@f<%ya8Fh!|(o)O^8}d_AIbX*N6)iWX6J%S{6)=HxQTb z_}YLLlLHG(*NKa@fkYOh@doBKESPj}z+xj5{W7ZEDIrVvcn%0e4h%3|BQE^m%os2i zFhKJ8Cfy%M;SbAuwnsNYqd%+$YQS{txU zSBRHuv3)|{;Iitt{|0suLxB$e=YIpAMV_1V-+-^i#a4*FRO7-gqvx=Hb%CM&@}T~2 zphEH={In^nAEi=mU{Mhcf(vDeV=~b>HY0OYtjr4%)zUrMO@Nn^i9G z;V$dPVnaEB4GktUle>5Hm~24H$oPlj9QIAvrt8MF__}eS8Br|x@zZJd4 z-Wk!arSFLxI+WojOryF%?*7PL(m;VIK{;p!;}ztB3pATqXa-2&!lY}4V{&2CU(j$N HYoFmiTfj{n diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-oleaut32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-oleaut32.a deleted file mode 100644 index 1060a64d23bf90c0fb4b60ba1104c7dc542a4d5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318824 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

8%xdq$-WA4vbP}stcp~mpRq&xcaJ44Uen0 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-powrprof.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-powrprof.a deleted file mode 100644 index 443bb25a083032126d1d4155c1dbe474b80b3ccb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59570 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-profapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-profapi.a deleted file mode 100644 index ac0c5f6427322a1c06cbc6a4618d0c0989a99a6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15286 zcmeHOTW=dh6h7W0O`2Y~sG?QHW$6W|RJm&>c3f0drfEWjqAE14!~@D^6K`r$$2M!H zq=-ue2#^4&5<j31RInVtu zjL9Fr#Qn*u0OVg-pl6+@F60K>ott+?W3ZAYb{5``SZ*+C$Tv zH_cmp+v%Ij_P}<``EJ8DKWKHVUdu#bt6Hm??bbSZSK95^8(qiVwt8mI>28vuW#S84 zHkfA9wiGe`IGY_VNIfQE8vo~6s zt&NrKb*fA_n=HjhUN`L9t^UBd$1?KGo}rYGe9h`K+V-N;-MWq_30p|4mRF`kKQ-r2 zmnCONYLR@XbyP3x_mzRu>fBDYnOs$pU%gZodQYql?-Wd3*y*837CLu%p^IIIC@7Sj zqHxv5Zt32`m#?(D8+YonUSX1it9BbnEmmQnv%O_I)}ZT%FQ#kFJGM2j{Q`sLNfNjy zp+p}>8CuYI-`W`zyZ#`XG`iw=Tdh`gy*g8NhvT*BrNRLqccK9B6nmN|6bHz2_M9B( zV5}7z*1$?uVJUSm9u?R7{R}m@PkJrN@XV~IJB|ScYH23+HEM(DC#Es`xxMMVbi+f30%2oC(3p#k~gV|Hqw%G1pAC7=?J!=_Kp=O z3_I6;%q|m{l%m6ILOnlLAgjckmpkcba0A1=o%;y0&0S!2t}++HY!&VOG^_gflg4b> zv*0m&Aj}e<$WedFFv}7nfuQGeAfm$lB|Vv(WYn9JEF?BhGW#51Pb!FRvULfnqhsiR z%|Ua!bB9Y9rr-&no>`Zpp6p9D4V*Y?@H)qMz?3~iQ%p<*c$s2wCx#uvfyE?82BmL3iv-IDC2Z4-c#`p@F(g{aY z9^nq)AbM_R`d@sCaV9=5fH+ICSpZxdGfPn^W1b`!;XMg!eF*)mom2G1VZz2CZBwzAdzt|Avx=CniL(Unfse4sS(v{mU}ZlszbcfQhWVyk zFNS$XuIG0wjh?EQKMK)ZV7~Ew0^3e5z`H+bqf~=WF*Ku14)#jYls(+P2Uwp`!}^>N z$NCr8|5;dnSHQ@AVtrF6Hx27Oxn2zGAIkN7tkd|WiuEIaJ5$N&24=y=#=MU4FH!^0 z1(?6g1uWFy8;og_FKK#!{FL;e;J>Vh|ME<1ee*S9A`Aa(0&eyb|L+Oqrs01e*Nfr* z6SQej zNAtlMpAXMtKdbWLP%iu*d~0)ZlxJler+AxF+(2>kNelh9VDU;`73{ zI96uO3k_jB-OqWUBb1vqFYL(mV)Mdhay_31gaK6^OcM{pVar6=-VuCO!QfxImW*8S0nNh~;R_5s3pYM)GE2dzE*v*RRV3Zl&Z5-WN zA!_o>iqkF!0#;meB@}7!1BOvnh|Lde9YjXNl!h@+7&S#URN`!SfMaLYJRzRN?B_g@ zaJCaWAEomyay*jXs?quAmvTLSo_G!OP@N~HlGqTwo6a>Wip;9wT(Rm(DAM2$43k(9 zHbZzvAtQ)Pe<)m;Q{+lHzPA|79KpL8mUNj5rWwMC{|Ce6Od@xf}>sanqGhq`_|(Mp+Rv zLGnH$L3JqXP`-P<7~5&w$Mr_m+G=$7Oo#~IJx|Ek!Elq`yJtF!BNs5@buM6`247(; zV}!!Tf2H#=$zdm^# z4g(Z#rK`30PGR%~M!8vRiE$iUg`cht@$Dal8wZ)hQbHM`{&Wf z&u9Y?-uUOKyBYZl5dN_U<(%g=kJ88=ZnCh{mn94Z>8dx(qc4vb)RT~|W2)-N4=&Qh bQ}EzdSNTT0(#W6j<1Y6HoS9mC$%p>{4CNVP diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-propsys.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-propsys.a deleted file mode 100644 index cf72a6d0bce7e3aa9e093d50d403eaa9b175c707..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187304 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%0DgLK9SDL}Lts z4A@=lk5d;ISvF|hoguO|dwd8|=OHCN~0a(cjIuZ_!fdhDhorT>16-!B6t!kSCBJu>m zfose=%@kyB(}n{dulf=r4sgL{VJO9HCvA47V7{^yo1ofIGOz|ghhuDeY(n=U?xdnJ zXnpGjRoHX z%GU$olnTuM|pOVWpm-Mou zpec3oYLIlT%3RjXNkOFDHU2!Ld%)*uUpJ^lc5 zb(}`Cqdz#S0l*G`)c~-6090SlBgC-~r?Fhb;=N4dLL5g!DZYfWU>*u|hJMEvlW;(f z_C_;#9xdcDn2SX;l}RuRl0XCkznMx9Vl0DUX`_O8hcleu3~yv|62@~m!^QUN4V);P z&P8E243`&S;zldNikPZaBGT$pUz60X*c^uH`23Yr^efD6p7#!I}7=s_$vu%;h7R@1Zvx{AS zz%VZqecMuz&yK_rVi#d5aEi8c4b>=j$N!MKZNIsZyFPMGv88M=

RbBDQ$Cypuy zSW)gC>U^M>=H;%2XDS1?(n1EHUkI1yC*M9kRkjq{D)aMzTYr<)V?N*zj)gM>M#*?N zyHp;|D=?X+P5y_>XLeQQ6Tigix|pYjTJwe$7@TT`YEmP>N4CmT;5#--KiW&XCG_3H zx`{n1N<7=n{I=IJbW`QcUSZhis?5{P9(rG5|0kWlRNbL&R%bLtrG=9XjCo;wH)PKI z4q_(xxRq{bydGjc=i_|r=5mO(uQA$%m2-3ZoZhal*FI|H-P9_ZXgcn?V+jy Q-_RERfo%CfDO*jy07Ryt>i_@% diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-rpcrt4.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-rpcrt4.a deleted file mode 100644 index dbd709f06260827a261353f84504732a4770224f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 433066 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

UY-!xHV3VJGyPOe8Zs<|EeV&>E)qrt%W6^4 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 j62CSBsG%2C`E~;x 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 Q(>)5?Fk}DK-}EHnfAh4hH~;_u diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-schedcli.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-schedcli.a deleted file mode 100644 index 3be2e78492abf7e056f0424a0354deaf95040e4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5024 zcmeHL!EVz)5FIBiDN!qWK&S$Qj086noHTV(sj7ksLZAvE3KA!_PQ4*k-K0t!;J~2= z#EC=C-1vijLeCud2EK$cv+H%%iJb%~sZ`O8yt|%xyKB$9nO*1ZhSS+=Zss4F@lsqX z+W51ql4)8(rProeE}}w|-8=x`W&8%1`wo!%C9nKX6yvpYDzD`efaMd$witWU<()2j z$phYDTWy!Kk6z0;^cV^~yJ|DvtJ4)q+bzD=?(m*-$hvz??(X>>a~O^|;J{duJMNU` z1onalJG4a4=g-^qr#yJpYP4&`60YMN9I_Gm_{b-%-a)NYP97F1<6|CkKXoOgi;sBZ zx~U^V9k^b*6BOE!d(-@ip0;hU?Q15ofz~G2*9!+?!tgv&~nZxJOiu6f6f5j8x3b)2|~GUE1EhxFh9X`J7v-^nvJq)7|lNP&RK)%cnNJNY%`Cl z5g1_?@_yD>icb>Wso4pWfgP-;9NBqdZu1|QTUlElVy=xAC(jaBbZ-bzLN!C?meg|B z#nS++glr&>CNWpx^;W}0k)Z2UpKz)_*e;?V2UJr`=Y)O8$GM3(-4tmT;aCJepb<2C zt$isGtODKA=frzqUCDd0FWIzT^xPqzc__pph5oJ( z%l1{o_{q2^W@x?*#C%A`*{Bv}1?yUf2}RhLr)T%+?)bPbBhJNl=kW9(m_+Ll^8l{m zCGAZ2dT%IdhW7^0cT2GoK*(faDOx3~B>gO}B;xI3{1@*@&miN4##5memi)gX?g1#S zrDQXdP?LdgSdTaqjXN|=_3%dfh2VZ^GVa^!)l2T9|0KPm6IR6i8>pL<`#QNf-tnYufZ5uNGd`1e4%lNOu zEJ)3HX8d>Bx}!3FGZ{CO@jJ=5i1l=On3VO#0PFE9?LssDreL1M)r>yq!}E=lJod(V{bFu-^GkKupg`viZvO!o`nFXjOzJOBUy diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-srvcli.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-srvcli.a deleted file mode 100644 index 8bc846c1647e97cba816f60049a29333d575fe2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40394 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-sspicli.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-sspicli.a deleted file mode 100644 index 06fb1b80d981c9f0cdbc3c9298e1b864ecc6eb74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78634 zcmeHQ4U8nmRj!>o{~edu9OsLjbL_qI*$x+bGy6BQ8xCjY_V#j{>|NHox8B1XP$J>At^RXx>vTNibxf?;eeB8}XE^nt%&=?Yu})ACW4 zR*w;a>DqCYej4&IJrDn5avox-afT2~8>1|}0Qs0&|HG2^pM+rQ-pA65X9>Zydzz(J z-cAUnSA+C1IAVGY?t$s`AbkRkm_7y9#`KvJEPWRK#`Fca9;RP?Cre+PAq3Nx7Fqg@ z>x5wXtqx0H?h%6NE3dHhJ0B+m(^p?->GxZNVEWqUS^C32A_UXd-(=~J|Bet$e*$@! z{wzp;{#8OS{l(W<`sUXO!SvU^$I`d{ln_jR`@1ZC8)TUN;TtS{2acHjDMyOkS`IM4t<4;V7l}3EZqY~OhJzukF@7-|ah{TDRM2)?3Y* zQ-c$>T~e!Ux=v$%E=g+7x_)zgccr<}c6xo^t&Er82F>kGO)6P!cU`A-+3j|n4PIBw zUx8o!oa=kles6Q3;kJ9t-fm@TaBYiY^cRqt&6_v z#;ZA&jd}}RzG~*%b$_?ha~tuqQk3u-?{j-s9e=~^UGloUD}c&Mtb(LsJP&^!fA{!J zWl}tAey85*H{2zszC~dddzca-J%^QxzuEjw{8t7=7gZGJ$A7HkY*Yx&1%j{i{APQj zTa8tB0t|4GRL$sW{I9HbgKJB#rq;x(U2y61=9QB5qEu0wAFmh5*@JqS^E$iyjpL6) zCdE6>dE3ZG?!>0sO_W@%v*PxU#%O??R=3)NhjOFebGvK&6;gFnSEy=Sf$88Cymrss z>8bB8m&?vf-Zy#X;GQx&y^^rrD^9l+-Q$CuUejyy#Zrm!yoGiX>$Lf@yW-aSU?z8i zLatS&B5N>QG4)zi-D@#LdM)~}*LMSRvBsece~d&bIjfp_7M0>zVCa^7Z@t+X7^lSD znh9p~HqZP$l}HTcCqf!Je`%cW-~eyeb1_*<*> zy4&d`@KKozeGI(1T4&jP(e;J1LnlHhex~pGyMvnsFj#1>dt8B2Ra8Q**r_TpVel}n zdRuNgs_;}5DpXmmu<;wFrIyd{@YZj*UYZ7PjfU%~HQ+iLC1YCbDoMKsWlCH@t|32L zRwv2x2Rf=Nh;<=ef$7MvAl5YtbyO_V&bynNHyV2}Iw`0j`HS4=`n@)Sf zz2fzn>&?1D4Sr|_wADdzIm=abl(}mzdK+FF%v2pZ8r)M&(*W6`=WX>n=qF%n&&nqH zj2enm1%3f`*(%eau@bT&1I#r2u`BRPq3yij^qh#~YB@;I*X0+3 zd||ue2`wgX>{Aq^BHpB>D1Zn?H#`_aNIHWNtkZRXNcb4BFG%PywzVVq(&Lhhx1-7zwTLkaY6^=_0DuaChns-sq+ zk_sulId-Gl9im2Vq8^URI%lQ^x`*M9!|=QKjb4xGO%L)>?{2kTd7yU`{x~Yp8_4Ns zP^&rCXtl@~cDe(>|9u~#FC**V6%RDok*_Db?4iW9QH!smf=Y+0pF=7gu5PfrhemK8 z--7z1^>PP@QgmpY;FCWzg0&)UgR7%Xfh@y*f1?Z(vzz*uEl-yP%$A_O@1sBc@DCcZ z6N4H&4u2qKkx#hc^ORwh3KKg{FXTW%h5n0rvV6?Lr+F9MBb)D{_45|`mky#gX#@z= zVWa3E>%Gl>dyC~zOpzY|>S^sV)MNc(okkmPHP~+!ctDj0h{hu_k&tKTp6v?c*Wr)- zjeYG;3@r%D9ifcr7K_E%aY~z^R(^(O%w4pYuK+5K(7!~++zt6pg8XWLTs(}Lv+|); z#^*5wH+!DDFNs=%n3bOaolUu3$QZodIneRtdL!-yjNgRkJ`Cg6IBeWbjNjnyn}+e0Tu;FGi*mgX<7m@#G5%8o zef{M8k$l_qhXQ0rSbtBDgNFk7dDzqG1Ic1X;~cU|p;9xrpV7j7d3;>3?H>m$48#40 zIK13W+^=)@O~ZXht|#FBWw~C6dwlM?xW7hmFPq<#Z|sjk9pDyW|2)f}`vUni94Yo? zMUUfOsbPi#Wlavilvldphz;{^ECgT68W9 zimgD3ju{@5G# zy5>Y&Gkx8eX*~`U#eRTo3!=6l3kOyu9Kbo%h@U)j;1MhUY!L@4^nbQ1kWa!N)E|m- zKz};9AqGt8F~If+=!4vkR^TdSfMni3+#$~l7^OADGeFS_NQ$2Dg_Ig*JfTS~4wTB` z=)N8Cj9P&#Bc3ai1K~oJT;u+J0ryV^Id~|LUD#909~L*>{f%dvLHL9g!pjq)um3uj zykX-$*SYbM+d1y@0(alEai5-CPZ;<4S-D>5>pu)nQg_^EnIc@V=!)VZzyAKC@cVI# ze4R@ygYFCDb8w`HR}?>v|1>2tY|xA5mWv`AZURDvvB8f1BMjov+-E2oU@~WXjbX0s z{yQkzc@~@ta_~?fzW{s60-@N^^llvZk&DeBUo*CA<6iVhvgSY>^T`tTTB69u3C7%V zM{o)9?CERAy^_U_8-A(O2=2?e@m|rxw-!J0@J|3Mbp4+XQryRvawDnojQf++D)1J6 zCdgqWdkqfM;>U}f=-kSLW>Bvi?VYrdE_iY(Yo8_BdxfE1_NIbdBmY!@^T^}B5ai&Y zKt2O|hJ0Dku^`JB|78^mC|2^@@6{gTmq0x3`luAl zFhDcXJ1Ne1_(g!ju>LMTWAb*6{wQW(3bU7Sj25>9vW3x~kID7I(Vx?B4PEbNalio8 zyI|m2dG>_hrDSxA+JogF2M@u_e(c-=&{b8y&HL2SG{X(e2(aY_eZC0}?TH&7;JCr} ziNkjwQ3U0;mB`2qX%$Ghk)mma8@jP!+kZfEsJM}(|L}gw4ap0)=67=4UYw%VgYP*j z`VZ2g$NLXz6*DZ*iw>7<|A9VZ6$`TT9~M+BfIH;bYtrsNNFW~XKd2PUFhDPQT(VJv zR0d>;8eF0bNWMQY-{{wl8YGJyH~&(p8Qg2eiO0o$vz;9pMGdm}Kko~0FL^&`t}Q=~ z9pD!AmlZ1o)UQ2d>wvMRoT6if2YONCvgHAN#wrge3lA<5)jMj}4ge2QU)~$=AYI1@ z4@!DbWXl6egMH}_&ntOQJ-9sJ-{7Y*6M>Ey9%#mui{iM@O)!qb;t6*C9P%eVf9?Y1 zLGse}4*dMm*WTO7?TY(o9Mhv7#u*u(obsn%Ee)Rz~^E~=_JSb^o z@6QejPfPX^?7`lL#pPpQ$y_sjjb<#^t_z^gZ9i;#mEiXxqDG#5|03Tw*IO4LDK-yy zrPvJeH6y)~qE};Q2t}41NBMLudxauj`NH`%q*$J<{S(wi@ZSAWki$y$ML5)u{OT&u z{ZLTwbs{s&(2V|CX3(drY7??BQDH=40`bDE z(*1mg;?s;7iSM1|yPeRB3S&EwC^i=rR!Pm^UN0(aXG72iA<2($#%Puipr4fC9@>FC z`$v1lJ@?fPYWm}>U{W)<*Ng%e#Wj?6Hbm4%$TAP^9K}7X4^MoNGVdOc-smS-b+PDi ztFMq7!T+>o^w;8_8vcY|6x#hP`2Ptx{&U|0*gO6c)?dKCLHj?g8}+qsO+f;v@Snx+ zdCvg`Om5N&ockHOz|)M z{${T2KgL0Di{?Pc)&W4zS6X!L!=^a)lcHmW2bxi0J3oRxaUTCj-`JVNBirNOg1(2+S zR~9|$1f;8&VS!%6w`^IEYX7saU`ok?e9wQrB^Gd90Tl~Oj)UsOe=Q4`p;LK5Sy(U` zXF)J5c-7l-+qw3Hva^6Mx}q%*RLrymn$h41(Ic{76o@<`91pB8iUfWE9^`8QCKwCm ze3!=jomQ7y5(Q`Fd0g~NQ2MA}{Qe*Z4+ZiC*w?7BmlvOV#qLloBYc?Bj1EtTF#^kn zh!3OioOSsyp2COuoqYEa9*26sE#ku!mO=Lg@@sHR;R6((TTGy4M5t$m6PgiY%L)2a zRi4r)NOd_;Oyxwr`wX|t34ZNl8YfJyp`6l;C0oBKl@nR~rgx`sq6&98zVPBxR-KhnA zizEv|9Wy-8j4#`H7W5hK2M?Z9@*v-RgE%1B z{1ieQwx|#AA(lb+1@dJ$*0ic2iZJV|n_-G(w0TN=^PFW$)EeLjx-L`RiA-4@#*=(| zNAC)F5i#Xjkb{Q;`Ayg(Q-)PTj3-*kMp!bb8H2WCsq`tcW<~tEcb0y`6Ff^6y$!Do zOV#Rbw@dMp-**&^(i-C15Xo37#|*yc+*oR=h8YfM#+>c@x>7lS<0rZ;#pB3^rboS|fU)R7OBrAPf3 zV+OPet6kU6Hw*5k_JVH_o(ysrzjxt)z7lN-u(*}!(jc@fW}88{W-QsRQ>IUDKm4CF zh;VpQ1AXc%;P*i1`GV7P7$)-T|7fk#mlr+O8IV*Bm7Br8UL3hJD_Z!Q0ES`XN!J)) z2p(?dc+w5-zG>r0ExDdBp7f$zFC0(8u|r+o=TXG}Mc;LoT^KWMpYN})qoL2WzjG4F z3tQAHo?#huUm&l+5iNbP*wN}tmCy|8b)&}ON(37%i~O1_vnNg?>cclM@V393Yvi8_ za2_FFvNls$^qAq7*N#EkuNyPAEWn4%ngDU^CkqQsAqy_JgIEGT1acr)ATN5X6-ZGr z(-vq(jjabnEuD%5Sv;UoWC5%>Y`gW|YP;w6A+FYdtLJ&dN7n;N7CVN0sn87SHRH$= zVsy-|J&Qb`Q9!M(-~R|jz0+zbMm+P3{>P|o;Qjx_AO{Zx@++`M|9?(Z{K~`(H}W$? z%?u;-;>D#Ikr6m6VOUT2Dl?qai@2RV;pe&gruBsRnID{<&=Xe7)ChaR$KXlpGU8zp zj{ME<;52HAmHdtXy$uThThtdQvJAQ}ke`8LEneix)KrLj3b)cSx@#3qW)wNf+Nqi|51u=9`%=k99FW=!J(!uKKI3@VM=D$pc(zOY@kn7 z<^N}4!$WE|R2gRS+Xmbk8~Cp@DcNB13r!Px5nub>UP=b#m{6AaKqo011~08!Xu}-S zb*Jv;-W$@2hat$tqF0Iorzk~krZuqfU_^Gp$_u@KVe2Zh;Q#G%{O7(U*gO8KL-5b! zX7H~U4=xwQ^#wLE7WECX;Qv9gu-);5_x0x9{y)N+NUk?r33BjIAfJSNOqUfZ{EL}0mEV&E>G#Kxo_l{sEB+M&H2=Z~nZOLv z^&-7x`%Riuo1W#Xl*b9q{N>)me937yTKRrogw{7{q{WV08nxI6^2hZezoi+`v$t~` zBG3Lf@IrTv!;dlKv-jWxbN%xi?R}6nf83}}I5-TF0{JNHYZTUekrRj)L}t*g8QCq0 z^P6u%^FC}w&p}z+lEuy+BlA0wvCLf0Z_paYmlm5F#!Qi$!MJ=-i?xKGW6-1l;CjSJj| z$dp_#_$9J&z4)#js{iPk7jyvV#G6srp+Fk|&~ zfQ)`qzj_sh>D(LfK zGsw4*T*P$3cMpfD4}zyw5{euRXv#%K&|cJw-rBkO>1fa5(ceSZi~g(iy4P>_mYi<)CC_i< zzDKJyGg)5r%4GQY$20{q4A70}icu{)rn9#(ox9}>$bFx7?+mC8V?dx_h5>qUUF-3r zw*gr^p1Vl3(`oHux6Suj2gKtMiX3@7a*-Ld>qTzu+iBC$p5@(acamzOk(j@L?oOV^ zaJ1gdCMh%Ir9^BvbX){XX9HRG`M3+)u_Dy(OD%XooQ>mTkneR09nTCP1B zt(lj~qE{xvj|&aaF=O-fqOxVngMH({h>{1@gUbW3^+S0O=$PSwUd*;^S7oL0Aj`ZQ f0z9a@o$y6_KMeD7wC1Eqiygziq*|DKKe7M+?@l3^ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-tokenbinding.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-tokenbinding.a deleted file mode 100644 index 16458195d379729f4e0d22005ac2ff7e41c2aac4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8668 zcmeHN&5zqe6n}B{qpTJI6-X7J#YM{v1t-lqsZ=4;U05w$79_TXLnW`%Og3iIB#K?= zazGq7a6%Oa!~t>O1pfnvp897|-kTZQ<9M8SQPL_RBh80retzS5em}oAlU%*wjqY{d z-+0eVr|M4CuG-f1=5^Dw_>fwfW~14ZH=Jw$z-55)mjG+81H5oY3ZoMc#S>u=T`scU|{(z(#@l84KCS-5s=<`;FiChQ5oPzTLFlp5LM@ zdk1}XZ!lsHyrCNo&RDplb5?J}=DL%HA{(>yoDJa^d0@0@?ag1|dv zPOXmf`S*wJ6pSiipM|&B`SJOX1)sCg*KFiyg=k?pa&~(@>xWb2B(SucJ{x%q<`ot$tQL2M7US6v8lmDrsEDWjpe$L1iIsw*Q8qv)xehf#Dy>n@k5 zOed*FuAfyLnt^|t9i5_lQ@EmNPYggDl>6dhxB=s92o;kw?4vy@aYT_dRh7xfy;4f^?!I{r6 zGLR96;7(v+YH$Kg`}#L(BDylola0gDI$!e-XrB~Xk+rIClzJ{&9mHGJTJ9PEvQPM|@ zQhj(TI^$MFbCMNel!{sCny%HBs&AUMob?r;dQk2eKw34|7R`cpDPB=>Q}GokF7UO| zGYIa`{gh~S!G*W^H2}#GJs-&)stouQ%PB!;k-&83!7}$FoC|g_E?moU;YU=%G%lP- z`=IJsa^Wjw-bq{t^|%ZdzSHAkE||DJM`Exklb#D}DK2C-5ZsOyl@FZyxcY<-hmkU{ zHsE(GQ+&uQf9m!~*^SM53z@KDXUPhDQ^KJ2`wj9Cvt-3;9xKFl_qU&6w(+?sCBEWg(ZNdt ze#3gqSEQEj)U+o*x+AbT#!uIZaiUsR_TkIDgp9#sPT&!BVNR5_oH*Dcv!NJ#QTgx| zEdW!(2Zvva!hoN#q2)u-!`wNtpjM0pOV7Yx=2%=6v*040!O*fm9*W~Ei_C=o>>1*p z6()Ly6l#9aQneT-s@Z61dCHVTOBXq1Dy2A)`Wb1V`EXUZ0L3$KXD53N_yt=j&yZTW zen*{!%#R6HF(xd}nD`sb^A0AC7Tq_1h6&1#p$pB13!gFRehb$8A3zVAH7ouF4~W;* diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-uiautomationcore.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-uiautomationcore.a deleted file mode 100644 index a58c9c8440a998ad44e51a4479cd035eb5af4ba1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76102 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 S2lOkeK0YGgKY?R#67WCc98@g; diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-userenv.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-userenv.a deleted file mode 100644 index deeb4b7c73ebb167e4db50704ce6d036b33da661..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61712 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-webservices.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-webservices.a deleted file mode 100644 index 30db0a197a41a60e2942f1cfbefcae8ea02193b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159312 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 DZ~_KB diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-websocket.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-websocket.a deleted file mode 100644 index 3fa52c59631c6ee901d5c118538691b3f0a1e6c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12732 zcmeHO?{6D57=CkU*DiE02{dgmAV7zZK;e?M*9284TY*hzLKPi9gwU?};Vz+R5|Udx z5KNUo0>qc`1;htF@s&Sf+8@SvU;FOtJNud|N-9N*CEFMKIs0rskNw(rd1a$EXtdtV zy`7J`;#$!uI(DT}&gX5OrH1)@(JrrwJ9csaa2a6k2w>qIfLverbDsi`KmUR7&*C-t z3m*x8={5lQ%ZMlca!2@A?*ov(@<8}Eeg`1`=0Cz09sv{{x$dUxellc(p}WOAHgGq4 zP39i9yS0AX#l*H#cHB<8PTo)Lby=e~V0UYM_mI_xy~ZB%+?tEG>@#rP7OOSKRVcWh zvHCWzVViZE)uMwHwD| z-^T!VGP@|$04-v*uc+v3tb9VL{bVI!ls?KPVU+%%HfJ*wMxEb>yl>_)>lh607aIL+ z=ILl5{;!~P!dP$%!*Q<|oVl&^%w2bi8gm`&aT;0TiaHuR$q-DCxuu}G=lIhAT=dyM zBWhx9fLCJ$7b-!`53UIpT*u=jOjrO4Nz)6wf6no%G@Nen)g0mII6q+5Yu)Yci4@K% zP<#56c+Y!R@SggY`cyh~?hwzcDS?9nPE$-;1lZ=G2rT#;FUD=hjLRbO&8!?(&Cs^( zVu?#<X6VA^xCaYN47fQV#*M-P@Uq(#R zj0;smaV&3{aT?19W?aZ}nlsa~ z{3*$Df7>J&GObL%M1)2snI3i@rdsd=hLY*(PBBLINY+?)y9(d!RD54AtthsTm}`DU z4vgaaj>41E`Ti2(((*kg`L1pDu^40su9N7eah89L z8h}o6|At85p#^_nEV-{W-?Xbw08K~_b|sY_oJvL0!x3_1lpa1;cyyY2s4Mjzr-zOi zr|IFqj0^QZt9@EMoQ>!~9IFsrrdbCsPy^6O9h5}^4=wl!lzLdx)`6K_wEVyH zun^Hh?8JJ?^{_0a4P`y}&`+VrfjCN^*8FPvmn{=hgp*DYw!TxCSw>P37jdN1 zT1IE2BGgx7Q@t|0NQ6fxEu#&Qz(Wgu#aJpqZMI=e(6T4BD_Bd%{nBhTpkW+`bu=%z zufNyDI;Pn=I@xNVH{Y~PPC`ve5vwyr=uFr4$>TgXnu{w!+6es3@sp+qwfV`4&{308 z#7a6v6m|RPN1QN6og96soVc9k$q8!&pPaOju89O5TJRgj(ni{hG~K8K17cDtNcWa_y`-O?&i2i6mypL1POAb-s=)Ns z*i>6euXDz$O2Cg%LubKXcrBG+YQE_^$z%o7|n_u$) diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-windows.data.pdf.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-windows.data.pdf.a deleted file mode 100644 index 31121fdcfe21981be05491c9865756ae2c658482..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2618 zcmc&$!EVz)5FN)UDNzv|Kq@yQl^Zf{NSq*5C{lXlP$3W!NNk;YgRQ1XWV@6D2hN=O zEBryfj50I3n`|1p?V(XO^6q%%Wq1AdjmIzcqU|Qx82Teh`%6cd0xOFyZ5|S z8w1=9n*dM;a6%rSu@86&F%aTYF0))5$U%H>;2?N-103Nfo;rNC8S+HH*c@P}>L`XG+BYg-i z{9&Ho0E6FzOKHNLw!z{tLLK*IH=a-7I>t}9&1ziN;I`4&D#4lfXLZj0KJLQDL-6DA zm}34Y9ZL=RcM0&_8AZp&q5U>zw1j(Q9fH|>)v7QSS8f%?;)$N!b*Nu%noH(r14Gwf zm>*Js>pWYYMBka&2~&fw*sm#{nylpH_Db${J1a^Kk@+XQ^ZI=&xupq&r)ZFpx3wzh zWXqIn@b+lo=9yu~jZHXXUmds5(E#cx#~aMgBerg%?Sx-;2*<`cfl-m1PL7p_)dlyU ze`Z(dpZFzC7tMZ`s6DS_1cQyXX{4M4_`<#FYVa40HNEEVxNhj0q;e<^sBt3QSPkCx ztQ>0aga1OEQXwVP+9yk%O}t)V{G-+~4c_{y!Tjw_C)CEpzFF(SqG~KvgC1g%a@;(J zXudtfWaT*geo&3H)z=u~!zaGDd`Wlb=L;WME47%_C*Cw}5<9Y8g%je) zv7f+CaPOB>s6=f*v;m?Y1%xc z_olh;IO>5;1prC_#wiXj0m@yvgg6r7ODv;Ue3prf#8K!;G4%s?;tO>8&VeIFewQxg z4FlN=BYELY2+P$nnR^WAn5Nq3Ba zPw>54H4N*ICt?ii4|sS=CN3{ZHEYS>h&3m$HpTh5@62&c*@q6VI}fM!ghXV zg59w^H*xbJJktXE%Ie1P8W{W{oKFkx)iNw@FO=}T^v3I@xO(O%+;%>$k>PgH*ja(g z=D() zhakeSu~ML)3@(CU>S2As17rZRn`Qv_3 z@qh0XMb)b`k7An|C)2u`(D;BQms_WDY?S%qf1_5Z%#w2T-6hX9UhidODx`!}kERPU`ujJTw&G5B6*RSMKyvv#E^x5BM0#B>(^b diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-windowscodecs.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-windowscodecs.a deleted file mode 100644 index 60ac153a96e603b3cd09cbfe2fbf81c7ab8d1044..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106912 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 QzM(Go<0$AJ%c7UP^ zAyieU>I3RS)rahu} z{{hd34gyd>9#G|#j6 z9+W@c$MYF{7Ui=ics`HMrF`Kj&lmpzpgfPi=bx6#=gQ^lZNJqnFZdn5RX*3O_~kp* zhPPfVV_~&0TPWA6OO!=vv*9l{TmFW(UcR%|UanQkUK#o8K9tL=zE|0lJ3{%g-}!Q_ z-SOzj>+9u6s#@#QpjOUSOQou{K51;!OSxHF6-f&CueH2Jd%fA} zNQ(Y;Cf%rc-mjIi#tX`d0okZ`wo^L`x22*?#9AomTgR;_p)|1tunl*=gMHYmuAAdvOd_vk9;oMvYrn=Ir!fn4P~B1=%l zIRXi)96=dzG;TGkjq}aAS8eF>G$_c8qFQKG>t5@-bItnt1}d7_?jAgNhbum**k|7I zYPI2C3?8frE}DhauQzY|XKVQA28uoUHLm!*8S!41!j|V|l%DG7$24hxtLkKhQxuC|R#cl^6(_??S;v?nsj?DzTV|X!!@1-VoKhBpA%874BG+!~`!vPZ}Eqno;k1W%bS`A=& zrCRd^;n{P5Z%0Zm=zFuUrG*^dlXQU|(N*iYiKl~WmEe4HIgo5z`acC#xNM6WWJ3fVC+bihhyb)&Jy zOBkl$C7_;3m!qEKOEL|UYBl&f8+yQ)14PrAG!bBd9r+;zf8fQYI+L5?lL{}F>q|S6 z$>efOY5LmuxmiVD##tjDASTgi$7Jfu4lF%^^qT^=bV|o(=eC`%fMk}Y@K_Q&q6kmvC(qxbUymP$WdKuv<8=4D02v5H^gKcx z&c`rwIn!_T%Fq~dQ~-61WMcpb6f;TDQ$~Z5(7p#Hto0i9Sv%<+xUNurO4MME{kPa} z0Mcn*@{uT^Qwn~>W8{QKx~JVj;ZEu1O~}|N!BC$aq8@vM1J>>-Z8qu;X{Z-7A%=}t z2=$`b`gA~|UZci=`ivXuXH8rGJwm0Qt-mJhADy<+)_3 zlHkEhk?gkqpoV&yx+UArzb;xE+IcBHq@>^h9yL2JV-}{74@og#Jv--w^JU>fK z+EEI<9J%y@r75_NN9pCLn+0@3uTkPa`pgjN*b`m0+wg7rMQ#Q``W}h&|3|EHAf#)N zNNux{Mu`LIr-n%1Vx;dTq^moYnB_~ZC*z8AwaNMx8! zESb&R%4qyo%5!@~<12PP!=^XveA0WN9UHFR%OoK^+;5j?&t(eRO)2zTrg;H7rr;i) z$#V&ttNZEQ<#8a~ah0`b&P<005B+o8`0R}ET>{~Jr779I`2m6F5aGBTU8WRt@LC`| zTuKU@6@+(K7zef;*HUSNBuinGy@M95pY@(stlm~y?;FZ*KtD9aGT4v%s~Cmn*QAWig;S>56tU2!-YC$;f97GGYlNMM% z-b=RKKPoUE`s(LJ37t|v8~aHMtWDRIpa)AFI^ec8T0CXyz|UwM`;7!@^lmFhf{19K zF%nSxh!Q_ZU&a^-9@_cjNI+K5btKrvbs+N7Q+l5y`#|qg12BcUpnvi7JJPr=M2etW zBl+3H4k$N#m)P0QfBK)p8(K;~2q@wD8J?b7dSN~wVyF3nrJFcM4 znfrf-yJAA`=OFg9tK}ahgyYJ%@;?EIM)?~C%BA8XB?S-hNS0o2vW|2cEe^E1t)dRU z^Wa??WzQ+T;fnT@f_CLUEE0`)*WHf-)k?GVZ~3C=aUkDqb+tH*^)Tp1A%Bor?g$~D zmKDwaXh}5sU1L4=rt409FP=EGz-=A2m^0_Oj}Q|5=DCX;HbAGXoaaWYn;P?6T1%$H zPto(-`*uD#tdspK2_AMscCdfb3Zw{t9no=;Ts MbzSJqwRzg`9~m|H5&!@I diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-wlanapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-wlanapi.a deleted file mode 100644 index f4cc8dcb4d50aed976f6bcf3e167f50ddd5c6227..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41212 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-wldap32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-wldap32.a deleted file mode 100644 index bec0b25ab70afe977e71fdc02e6bb1d2b5bbf781..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196512 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ws2_32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap-ws2_32.a deleted file mode 100644 index f4a89328ff5c248ffcd3d1cdfff01a6161343764..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145908 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap.a deleted file mode 100644 index 34c606fa6..000000000 --- a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap.a +++ /dev/null @@ -1,324 +0,0 @@ -INPUT( -libwinapi_onecoreuap-api-ms-win-core-largeinteger-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-string-obsolete-l1-1-1.a -libwinapi_onecoreuap-esent.a -libwinapi_onecoreuap-api-ms-win-eventing-provider-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-mm-misc-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-service-management-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-threadpool-legacy-l1-1-0.a -libwinapi_onecoreuap-wkscli.a -libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-versionansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-ntuser-sysparams-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-mm-time-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-synch-l1-1-0.a -libwinapi_onecoreuap-ws2_32.a -libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-eventing-consumer-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-processtopology-obsolete-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-shell-shdirectory-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-3.a -libwinapi_onecoreuap-logoncli.a -libwinapi_onecoreuap-api-ms-win-core-interlocked-l1-2-0.a -libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-2.a -libwinapi_onecoreuap-api-ms-win-shcore-stream-winrt-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-perf-legacy-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-security-base-ansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-processtopology-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-3.a -libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-1.a -libwinapi_onecoreuap-api-ms-win-core-io-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-namedpipe-ansi-l1-1-0.a -libwinapi_onecoreuap-winhttp.a -libwinapi_onecoreuap-api-ms-win-core-com-l2-1-1.a -libwinapi_onecoreuap-api-ms-win-core-calendar-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-quirks-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-stringansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-heap-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-2-2.a -libwinapi_onecoreuap-api-ms-win-power-base-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-devices-swdevice-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-localization-l2-1-0.a -libwinapi_onecoreuap-api-ms-win-core-path-l1-1-0.a -libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-registry-l2-1-0.a -libwinapi_onecoreuap-api-ms-win-core-winrt-error-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-file-l2-1-2.a -libwinapi_onecoreuap-xmllite.a -libwinapi_onecoreuap-dsparse.a -libwinapi_onecoreuap-cabinet.a -libwinapi_onecoreuap-api-ms-win-service-management-l2-1-0.a -libwinapi_onecoreuap-api-ms-win-core-synch-l1-2-0.a -libwinapi_onecoreuap-mswsock.a -libwinapi_onecoreuap-mpr.a -libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-3.a -libwinapi_onecoreuap-coremessaging.a -libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-4.a -libwinapi_onecoreuap-powrprof.a -libwinapi_onecoreuap-api-ms-win-core-localization-obsolete-l1-2-0.a -libwinapi_onecoreuap-api-ms-win-core-util-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-processenvironment-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-rtlsupport-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-namedpipe-ansi-l1-1-1.a -libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-gaming-gamemonitor-l1-1-1.a -libwinapi_onecoreuap-dsrole.a -libwinapi_onecoreuap-dnsapi.a -libwinapi_onecoreuap-wldap32.a -libwinapi_onecoreuap-api-ms-win-core-localization-ansi-l1-1-0.a -libwinapi_onecoreuap-dfscli.a -libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-0.a -libwinapi_onecoreuap-crypt32.a -libwinapi_onecoreuap-api-ms-win-core-io-l1-1-1.a -libwinapi_onecoreuap-netutils.a -libwinapi_onecoreuap-api-ms-win-core-winrt-error-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-job-l2-1-1.a -libwinapi_onecoreuap-cryptbase.a -libwinapi_onecoreuap-api-ms-win-core-processtopology-obsolete-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-mm-misc-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-4.a -libwinapi_onecoreuap-api-ms-win-security-lsalookup-ansi-l2-1-0.a -libwinapi_onecoreuap-api-ms-win-core-normalization-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-devices-config-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-processsnapshot-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-gaming-gamemonitor-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-file-l2-1-3.a -libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-winrt-registration-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-string-l2-1-1.a -libwinapi_onecoreuap-samcli.a -libwinapi_onecoreuap-authz.a -libwinapi_onecoreuap-ntdll.a -libwinapi_onecoreuap-api-ms-win-shcore-registry-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-2-1.a -libwinapi_onecoreuap-api-ms-win-core-heap-obsolete-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-eventing-obsolete-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-mm-playsound-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-job-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-gaming-deviceinformation-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-featurestaging-l1-1-1.a -libwinapi_onecoreuap-ext-ms-win-networking-wlanapi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-privateprofile-l1-1-1.a -libwinapi_onecoreuap-oleaut32.a -libwinapi_onecoreuap-api-ms-win-core-delayload-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-service-core-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-com-midlproxystub-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-2.a -libwinapi_onecoreuap-api-ms-win-core-toolhelp-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-1.a -libwinapi_onecoreuap-api-ms-win-core-namespace-ansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-service-core-l1-1-0.a -libwinapi_onecoreuap-tokenbinding.a -libwinapi_onecoreuap-api-ms-win-core-featurestaging-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-5.a -libwinapi_onecoreuap-d3d12.a -libwinapi_onecoreuap-api-ms-win-shcore-registry-l1-1-0.a -libwinapi_onecoreuap-d3dcompiler_47.a -libwinapi_onecoreuap-api-ms-win-security-sddl-ansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-0.a -libwinapi_onecoreuap-api-ms-win-core-fibers-l2-1-1.a -libwinapi_onecoreuap-api-ms-win-core-shutdown-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-firmware-l1-1-0.a -libwinapi_onecoreuap-d3d11.a -libwinapi_onecoreuap-api-ms-win-core-file-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-string-obsolete-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-2.a -libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-2.a -libwinapi_onecoreuap-mfplat.a -libwinapi_onecoreuap-api-ms-win-devices-config-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-perfcounters-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-service-core-l1-1-2.a -libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-0.a -libwinapi_onecoreuap-urlmon.a -libwinapi_onecoreuap-api-ms-win-service-core-ansi-l1-1-1.a -libwinapi_onecoreuap-inkobjcore.a -libwinapi_onecoreuap-windows.networking.a -libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-string-l1-1-0.a -libwinapi_onecoreuap-ncrypt.a -libwinapi_onecoreuap-api-ms-win-core-systemtopology-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-4.a -libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-1.a -libwinapi_onecoreuap-dwrite.a -libwinapi_onecoreuap-api-ms-win-core-slapi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-security-provider-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-power-limitsmanagement-l1-1-0.a -libwinapi_onecoreuap-chakra.a -libwinapi_onecoreuap-api-ms-win-core-comm-l1-1-0.a -libwinapi_onecoreuap-d2d1.a -libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-mm-mme-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-interlocked-l1-1-0.a -libwinapi_onecoreuap-hid.a -libwinapi_onecoreuap-api-ms-win-core-windowsceip-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-atoms-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-file-l2-1-1.a -libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-5.a -libwinapi_onecoreuap-srvcli.a -libwinapi_onecoreuap-dxgi.a -libwinapi_onecoreuap-api-ms-win-ro-typeresolution-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-handle-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-3.a -libwinapi_onecoreuap-wpprecorderum.a -libwinapi_onecoreuap-api-ms-win-gaming-expandedresources-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-namespace-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-2.a -libwinapi_onecoreuap-bcrypt.a -libwinapi_onecoreuap-api-ms-win-core-fibers-l1-1-0.a -libwinapi_onecoreuap-sspicli.a -libwinapi_onecoreuap-api-ms-win-core-fibers-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-systemtopology-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-quirks-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-shcore-sysinfo-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-enclave-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-file-l1-2-0.a -libwinapi_onecoreuap-api-ms-win-core-com-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-security-credentials-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-util-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-threadpool-l1-2-0.a -libwinapi_onecoreuap-api-ms-win-service-core-ansi-l1-1-0.a -libwinapi_onecoreuap-xaudio2_9.a -libwinapi_onecoreuap-api-ms-win-core-sidebyside-ansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-winrt-robuffer-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-security-base-l1-1-0.a -libwinapi_onecoreuap-rometadata.a -libwinapi_onecoreuap-api-ms-win-core-console-l2-1-0.a -libwinapi_onecoreuap-api-ms-win-shcore-path-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-4.a -libwinapi_onecoreuap-api-ms-win-core-url-l1-1-0.a -libwinapi_onecoreuap-msajapi.a -libwinapi_onecoreuap-ext-ms-win-gaming-xinput-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-libraryloader-l2-1-0.a -libwinapi_onecoreuap-api-ms-win-core-processenvironment-ansi-l1-1-0.a -libwinapi_onecoreuap-mf.a -libwinapi_onecoreuap-api-ms-win-security-appcontainer-l1-1-0.a -libwinapi_onecoreuap-userenv.a -libwinapi_onecoreuap-websocket.a -libwinapi_onecoreuap-api-ms-win-core-privateprofile-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-console-ansi-l2-1-0.a -libwinapi_onecoreuap-api-ms-win-security-isolatedcontainer-l1-1-0.a -libwinapi_onecoreuap-wintrust.a -libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-security-base-l1-2-1.a -libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-3.a -libwinapi_onecoreuap-api-ms-win-core-timezone-l1-1-0.a -libwinapi_onecoreuap-mmdevapi.a -libwinapi_onecoreuap-api-ms-win-core-versionansi-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-security-lsalookup-l2-1-0.a -libwinapi_onecoreuap-api-ms-win-core-sidebyside-l1-1-0.a -libwinapi_onecoreuap-rpcrt4.a -libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-shcore-unicodeansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-comm-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-psm-appnotify-l1-1-0.a -libwinapi_onecoreuap-iphlpapi.a -libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-1.a -libwinapi_onecoreuap-ext-ms-win-shell32-shellfolders-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-devices-swdevice-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-winrt-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-console-l1-1-0.a -libwinapi_onecoreuap-propsys.a -libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-3.a -libwinapi_onecoreuap-api-ms-win-core-com-l1-1-1.a -libwinapi_onecoreuap-profapi.a -libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-0.a -libwinapi_onecoreuap-api-ms-win-security-sddl-l1-1-0.a -libwinapi_onecoreuap-cryptnet.a -libwinapi_onecoreuap-schedcli.a -libwinapi_onecoreuap-api-ms-win-oobe-notification-l1-1-0.a -libwinapi_onecoreuap-deviceaccess.a -libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-delayload-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-security-base-l1-2-2.a -libwinapi_onecoreuap-windows.data.pdf.a -libwinapi_onecoreuap-api-ms-win-core-psapi-ansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-fibers-l2-1-0.a -libwinapi_onecoreuap-api-ms-win-core-file-ansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-winrt-string-l1-1-0.a -libwinapi_onecoreuap-uiautomationcore.a -libwinapi_onecoreuap-api-ms-win-core-file-l2-1-0.a -libwinapi_onecoreuap-api-ms-win-shell-namespace-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-synch-ansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-eventing-controller-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-heap-l2-1-0.a -libwinapi_onecoreuap-api-ms-win-eventing-legacy-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-xstate-l2-1-0.a -libwinapi_onecoreuap-webservices.a -libwinapi_onecoreuap-api-ms-win-core-shutdown-ansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-job-l2-1-0.a -libwinapi_onecoreuap-fltlib.a -libwinapi_onecoreuap-api-ms-win-core-enclave-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-file-l1-2-1.a -libwinapi_onecoreuap-api-ms-win-core-version-l1-1-0.a -libwinapi_onecoreuap-ext-ms-win-shell32-shellfolders-l1-1-0.a -libwinapi_onecoreuap-dhcpcsvc6.a -libwinapi_onecoreuap-api-ms-win-security-provider-ansi-l1-1-0.a -libwinapi_onecoreuap-mfreadwrite.a -libwinapi_onecoreuap-api-ms-win-power-setting-l1-1-0.a -libwinapi_onecoreuap-windowscodecs.a -libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-synch-l1-2-1.a -libwinapi_onecoreuap-dhcpcsvc.a -libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-6.a -libwinapi_onecoreuap-api-ms-win-core-string-l2-1-0.a -libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-security-cryptoapi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-file-l1-2-2.a -libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-security-systemfunctions-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-com-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-version-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-profile-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-eventing-classicprovider-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-processenvironment-l1-2-0.a -libwinapi_onecoreuap-api-ms-win-service-winsvc-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-eventing-consumer-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-winrt-string-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-psapi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-file-ansi-l2-1-0.a -libwinapi_onecoreuap-hrtfapo.a -libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-toolhelp-l1-1-0.a -libwinapi_onecoreuap-mfsensorgroup.a -libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-3.a -libwinapi_onecoreuap-wlanapi.a -libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-3.a -libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-1.a -libwinapi_onecoreuap-api-ms-win-core-rtlsupport-l1-2-0.a -libwinapi_onecoreuap-api-ms-win-core-console-l3-1-0.a -libwinapi_onecoreuap-api-ms-win-core-shutdown-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-eventing-tdh-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-security-base-l1-2-0.a -libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-security-lsalookup-l2-1-1.a -libwinapi_onecoreuap-ext-ms-win-core-iuri-l1-1-0.a -) diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-advapi32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-advapi32.a deleted file mode 100644 index dc845446aa5b7e997623be7a7df4629669f576c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 516378 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 K4B)kX81VmSO}*;? diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-apphelp.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-apphelp.a deleted file mode 100644 index bde9a7631249496b119f425ed002b6e0a11afa1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8284 zcmeHMUvC>l5FekDCWKO;s@hUf=|JTLA#*m#IYAY22!&P(sYQxFrDAi*T{tI>ZP`xJ zA|8qaLI@tpBVPgWfZz-ClTl`N_jdPuclH(aQd!Dc`^U4t+r6Fr&F<{p8`r)5PWZvX zyLLQOm#QxQoNCp!9bRRowvCnYfvp7qI1ga`2{5|{F#nf`Fa8Zc@!TIGzWOTw#S2Fw zUh)AbUb!pc)eV5F8;q?n_W2;_4_Gr827R{H^#gX?>Ug~tLt)EZc3Hc%O;Jj_onWWi z4-UN^^Sj5Lc5oE5nb+%uLA%F1hL0Wuz*rb~{~G@yv=bT|g8=`*@!qh~ zRaDL5Xw`9C7wPFP))YtAOJ|U#0GCSuFZ0rDsWJ@i4|zE|vBBA@_}9#-;{Q}{YW6?rk<$T@<`hRGj(KTVGRA0voMBkXuRbTrSTy3$MrIcRbwz* zCp7cr5@{tFqSgsx!97fiT7ihY;Zv};Uau$E>!Rjg;e(iY-t4VKy1ak|VlP=11)AA3 z_VUV+#K0+Q7=iG=giDi?jOKNYr)1Z2Tt6@IQXX!He0M-N2F?@M9fpUUeIeoOg6F`0 zu3f=@(l6;$2Xp-p@0_p*4vx4@IoTw@S3DJo1^-~7sD1HS@3e9oUmz&G-<2zXYrDQW@c5!=vTC-`67O}H!qhHW_MQjgPMoc>$ zr>uzDyN;NnbexOTJY2-IAu&>fnf>_5TlDYIBP}D_!o7af+d%+vi~1uj0=$4x=$ZbT zB~#bbWjVQPfVqeAJpv@Rxu&QWe9G7trG*;1M$97kIO!dP1<~^qsCQuzuk-)txhl!~ zQbL&pzhRo`#*KIKit#wL1-SVvz+FjNz;~#CNfvNNvVyXcw1BUTe#corn2t+WKtCO) zEP&S6ycTdqTYz-Wr9mlD3sDZ{TRhSN;vW%vv+T-}#U_o_}i8U?+ozbynj zwcvZqiQ#Ivu?wEKv|y&cmzU{DALf+l|BvZqV!FQZ!(D!Q*Yb;!*P7`SDWS}QA2B7S z>*0>Q_$=CEujOR>ih1)RJeO0CU9&=u5*3-uqBF!|f^OtA<7&Pl0A>gS6KVcrN^Rc67 z^c8OOLsZe6ck*$*Uc=9;JZvqjm&8i{1D@L^ol)-@XSbL1Q u<-uRUdCkjtfQ)a4*v2$--^TZ+pt=8{5b)H3-!W$yLpQvgv4~>4{Qm&M{UrGS diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-comctl32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-comctl32.a deleted file mode 100644 index 85ecf8a2f32288157da64b9d6b182aca08b5a38d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61278 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-comdlg32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-comdlg32.a deleted file mode 100644 index b18f4b75483535f57b0f77dcdb0cce62f7e7032e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16926 zcmeHO&2Jk;6n}P-CN)W$QmBGdAy+CYih@}uj_sfbV!2Hv6lg>PK?vA5@g_ELypips zQPo3KAr6Q`#fg6eiDS?F4V*c1=0JIGWvYvkt*3R=s$SRBC(U;4xT&JBSu7XTR&$r4A=TU3p5D<; zYR76_f6{Jgr&>$h(~s({gQZ2ars98(G*H!sR;v%abWp$0j$5@oZA&}rZLbyZKFyzi|GmRL#_9?cB-v6 zTiWN?i0rZaa$GW2uwM?!9vy3K|FS(fE^TMoT-$tZDtD{dYvDuZ7tLP5Qe1K_sRU?B z`FgWmcXhHuWL~gGbBL_%{!3D*A3p8&a=JxDK^&Aq3U>u)|2T`8X zTQ=pSHx;Z`GWBNhWZFm1%&$KB?Ec2XrNvymh1?5}+egeAng6{4I7sc+4o!g}=WRtr zkGaYxHQr9?ARX35V?jEseW=c3DN3EeXhYF96PR^@j%XL^{jt=Hvk>FTES+@H@ExX+ zjRqOQaAN=rmr5%h3>UHOsgDUYykCUKCy5Zli{|a#5>Ep#XW)YR)(^v`K0h)&%O-ff zc}{xfx%)Vcf=Qs1tb0t#s1X5tX*Ene(N{PT1@RlBt1&G#_7C`Mw zZE6S3BJ!C%HX)QvbkmWn65v~r$|McH<4I&r%Fz8D!>bZ@)KwHEUzWzycPuCy?r4_A zf=N;NGwjBUIP==k6v`Jcf78G-9U`o@Fp;?a$BN`?n5X9xQbD>FJ1F9j|F*04B%s^ z7$3kuwP+!_%a|##x!;tCT03k()Q_G)+7A7n0##Jn0@)P>vT-Sy7uPaL!*e|GIMx2H zc0`UojTi#yr3C5JD-xvsUevIWeuE>ua=DPs9C2puQX0)Gt%dYrNTip%oZdrt^yBmm z2_b=`QF8iM?7kOq`i{Szhtq%X*RwdCyrDHihb%`1e@>qT^M!s}@L*i|{Dx6Wo6ql> z6~|*5o?)t5RkdeCoT7;Fy`12iIz>V=n8}BU@9P%6E0+h~jKWQPkA%MqA@N-NA9TzNaAObL(Nb-ce--*L!oK<$7f$LH(#v zf7OlpOTzUW+fJ_c=0uG8uxqF*a*tm&Swlr5u{KjV*sY4}YKf>sj6k%|(Qra~}u4 zuOi|-19@Ap1ozQDG9+|J!>^d)H&3tgsYuiwOz0KXLb96xdr=yK_wDo==7qI@F|a@5 z!AZzizn$L1=ci!5o#MxcR!GA+o~x|7wjbjbM(oLiU0p3FIH&F#2F}wA=M^lIc7Vrq z=i`7lXa0$uW9%n`$6zLvHw?3VY>ifR`0qdGyB>(^b diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-d3d10.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-d3d10.a deleted file mode 100644 index 405c24e81c75e9144561e490e90b32a844722f61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5178 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-difxapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-difxapi.a deleted file mode 100644 index 64916fd74cb73cd0c9779bc19b3146267649a1d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3488 zcmdT{&rjPh6n<&T$||Pqzya+rWzu$=y0ny(NeFcVAtCM13mVdpOxn0KYDlX#{LoGu zcGzJDE<22WWB&ku+1Puw(>OF~nM8;7P#pXDvt56FU!Hln;SAf|&C**lX_d8#jenN) z&NMC2rI)6;TCJ%8ha~`b1YmpvDC__fzssj|1yH(TY>TnI5g(3NlZSlBw)!q-XI|h8 zJcdrsUbmU=wdhgae!$!PAwO{j%#*!Pp_2^}Jq@s~%dOF91`I9;=h1|(Y7w@8l>+`Q z-Nbwnw-)&cx0sEqN4O=dET!P0{_WkJ{rAn?vg`X$?sz^|9lvh?j*O1eiyX?Y^F-6; zZ_Q0Gougb9M&l=+h0(a7{pJlSlcx9+yeweX6pY}6PCjoCE0Y$@PM91VU^y=}QuKEJ zB6{of`b6~F$ow<0iNZriZ#Cj_87maMq%1Nz*|g{towo`NH&(+fh-eZn%}+i$*PKi zNr2Cyltm7HVP#%9;=Z$vN@*oh(a1upNGZ+A0rhG{Q&CZD{VPT)C1i?Q{cOpzh|e4B zKTy$3FLQo5VEoOdGpgZY9c^8Rb44NttRrTSjvK3p=G#Ebmvo$s-NK$@*-#ke!k2k{ z^O{ktaaKw_uA_!BJXn zR4UanM?w{1uk;(FifB9;tu9qzQWK5lk)98tEsGrd#LCnw&Fo9hd~RZ~8mv32p|U!m zh6^NOmKyd|gwX3>s-dN=J53FKI&MM@r|Gz{8dh+B4TX`XPi49qAgPAvrutti;f30C btc1;&2He>XY$cTtZ9D7opX{H@|0AV8Vuwdo diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-gdi32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-gdi32.a deleted file mode 100644 index 958b3dc92fdd68d96a5e79715dea1bcc5c8cad16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178098 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 J!f}D^{|9O&0eJub diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-input.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-input.a deleted file mode 100644 index 074e846f3e2c8008d6dd49f55cfa4be379907a2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11160 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-msi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-msi.a deleted file mode 100644 index 49400a3ac5f02cead54fd7111609103bd9634ddf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34848 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 Rv0p^53pdyZmcy5Y{{iU%fGz+4 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-newdev.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-newdev.a deleted file mode 100644 index b26457f7290b726576c882a02ef18287285d7918..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10436 zcmeHN-)rPV9RKcae_8MF(4*X`Xgped@K|@-ZMKC&wsb2fMXJ5pL%}p{rnj+s*|JH0 z9Ecn~l;bE;#77@QlO3|A;jkl%9U7*AS3Y217!77x7u+`(8~c{& zv3lD+WbKby?X~8?{Uyg*Ynl)1?9kp}?q+SagoE1;_HkBf;8fUBKYa@DX9ukPaMO0s zKCayVx@UR^uGF6b@MFjI%w{vDH|(g=nQR)Wcl*k5ZB9?`#)sAI4aXLDB$i>bRt~Q2 z(I{8*Ws(dK-&VK%`;8kTrYXex{Rei5YgulvojuX>dTZA^GTW@q_L*ZbXUAsly6M^O zuFWjTy!~7PmTR@VVk?k*FRi2cbzRpqy;2UezM30DxdYtD0ldP`Msr1v9iy-llLn=& zB8tOIL;=*G^sKn;x+yStL^zu|oUU}RBX}}`_a!IZpTNy`>IpZ|8&~b%uHea)7+k0Q z)0NHo$`?he*#s!=+D+y+{QDf>es0&?>s0vlvYn{g!nwW)Cfg|A3nSU5&}A*FeM>U(u0#LtkY6#5Zs<&~wH3Cy>#z2S424qA2|AlR{K zg(^5$TN)QaPtoN877+7oJTA}>^>+s`C-FEPn|XQ{%bJhztMH&bdp<+I&d$O*jEzB# zxZfntOf?9rExyma6e@U%_%FVLf>qu9k&Mwb1$rqQ}Qy7p<0w zbhRweJzc8he>?_etCp&wS}L0j$Z?OaoIU5J*TO4WJB;RrzkBj)0@8fZS zZ@Go+uK5^Zx=8W9WgL_fk@=GTasJ;j5OYy#=oUIm!NYofrP=!y!N ziz?(XG9pbOTN1MdsgQ4^ag!9{#p5Ch`7Rz8DC8|%bybCoLGL$B^wMFN)iF&Xz!a+E z6H&p-Jp6)3BVqc|`=nGjgLa@4>S9$? z@G=j-;xR!N{k?$BHm0g5Dx-w2ZF$<7>^!eO!d*1YW89N=+Ch4ZZE4&jkI{_BMLfn~ zJT6ei6t1|cGDblD2EaeTUX#!X_s{5DO(McCit?N`A5>$tkA>@Re&pMSj?YUaQ0^E_mJ zU>0o2!|8eEt9=m6miM!2yw?{OBD?-2@56YgAKvGY_uU_IhkM7r8R31fZE)T{5xno7 za@T$z*Oci~Kv|Xb(OBn_^&#tD#g$dv?Q;_A#a=($tiKUqeek)Jv;J{6>s9_aBio(6 zq{jJbH5%dkq!8iA@$(=foF4Ib;}Y9^*e&HW*s~ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-ole32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-ole32.a deleted file mode 100644 index f7101ca6de8dcb9fd1cfd689a1d9a0b8743c1391..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285188 zcmeHw3w$I=d0%O?zJtq|$N4zkpnC%6^Pw4OB`v<3r5#Btfwa;|+FML8y3tJUYEGjW zd8W0yI`dfGU@$B;4`YLEjKME#<2Sa6eSQ&QJH&Pfb{s-5aU4vrLx>*)W61Yab$3;D zSND8j0tY<^kD)?YA&;(c1k_U|!MWD$OAvZ7|Kh&SIFhJGlufYKwbl7QC<(_QQjEHo3Aj2^4;$e z@;10ul<)lsA>R-GNBIFLi}D^gC(4g}NXU=EFUn5@@>4&?7|I9Xcql&)$42?3HwpQb z3yh(B_(ei~W0f(K-kfEW+ z2pRr78$!A2<3b+!2{wds?Sn!d{ZTfAa^0tdJPvdyPk=O(C;z&Tr~LvOLb>rLgxvBP zHiYtw?-p|V53nJWZ~8GIqwtF|_5mRiKf;DkPP|LVU2q(fZ}|fuCm|oo+%E}P_z)XH zdET!IIsIWagmMpD56T8yKg!wP67quIVM8e22FF9W59*6j|D=#}f5C=Onx7Za`dc=H z()o&z-Z3_Wa^YGb2iLP9lovlm$jfeFLnyDfL&&Sg*$~R>?h^8bSvG|7rX?Y7*q5Q^+g#6Y8HiYuKZxZs+_p>3C--lzOeC!iK{^)Pm5XyhNO30r+jSZpv z=LsR7I?aYq{`{Pfzj!GdLirzW7xKBEWacTgd8nvJ%Sr148b7DJ!9Tt1sk*@Qbp!EoAFHRzmTfD`fj_RzlgiO-TEh ztc3FIPZ8ojiIq?;UMu8*$FLI0ORf@f8Gcb-@ns>e{t7FhyzUD^-taf9gz~0O3wg_D zSPA8=pA+(qPq7lp_XYCqkFXNT4+ZjGs4L3*-zwzCU&Tr&AGlx0&$L(x<>#ROD8KkF zAs@QJN+`bu! z=0I-y3>!vy7W|C@Smp9;_&-YJQ$miz@ld8dFXS%9hEeYRijW!jMVbAokcB6(VU*|H zAmsFO*)YmIcMI8=X2U3FZx`|c_(l1)RU!ACWWy-+Ss~}f*)U4;DMDILV#6pMI0s7i zQ9|}_V#6qxpe)LFJV(e&?_$F!FNfoyyy^}iuYD#PM)}Ui2>CAfMS1hz3;7;6Hp<&? z6Y|apHjMHvI4;T$2J*vGY#8Nzr-l3&oCD=2;hZQxT@muLP)C$sc#@D`hU-T8)oX-& z815g+gO3pM+mMd(yMHU>qhDadD8K&|As_ooHjMH|Ulj6jD2wtZUl#IbUt+^3pSnuO zpC4nxDE|$Pf%2E|JW>7%@}T@R=uo~;67oezL;1T;3;7Zp7v&$}ZGKXP<(yxmn%ZJk#^Kz0Fn6_qvHYy0X0P`F^u~zBfG@9@MN` z_q&j7zT4SdT%46hP9)2OQ)d=uD@xr=8ktsIS~njzQmp&%!0uVxsBN{pxwhXuP_M$E zf;+pi=e4m|?Yy_rUR>(bcTOJoUT?ZG9#*zbCS5&uX?iSrR7RDan0g+rfV_+FIQiAh zH(TDcdQk}t;b7l&W^x7rZX7UBrw;^7_W9<+<6# zGt1mioN4dYy1ngMOT8Z%IZ{ebjQ1}eyIj`%r>u@t8V5Vu;ybGNj zZx)QfEYLwBE1ACLwY*vnP4lwXXzuT-d6Swo?|icdtxk00==x2XHE2^(&3}p#lT|A( z+KPCp^0#98Ip-)y0(5?Hmu8&U#ngb}>?6eo#@Vwf< z{)&3yKKbxSp1Guyy^Aymo?YGeYr7Bb`C zs0k?8+1sdf&wGCK9HOSLPbRMB6r5}C@80Wmx2m=JwvL~Gy@?FGY)I9_6-1=%n@wZ@ z3lzF=`ke&Q$8}MO2(try&MTqA4KnJ^NnwV5!;OK?cs&{F?R* zjM}i2XvfpbCG}7ey(xIIz+%;@FerEu7(KYG0G-m`HS2;@#ipw%@c+eLcxDwiS}M;~ z-S0x{;73T-ZpmWLq{ed6E@_9?l7oEFp$#O#;~4Z%5&*JVtM7nY8tGRqwt-{n`LZ&J zV=UG??Ui%9Wzg{iMdLbAB063COqxREo!R$0for8<4-OtvLH_yHes5bIL^Z2P7381Y z-)lAN*atzRYJfSW<$hNvu(cB8|)0EV;1v|6dGtJO>a9ycn9rTE!oXU444Qu%{2T%UFgQHi;AGTUkaqB)6zrdc~nS_YAK-QS1a zXs-vz2Rm~@X(M?nZ%~`cO=XwkYE!w%>~dUfDmRf`j;l@Oj%SzSYE!xK>~dUfDmRv0 zj;oF3Dt!uay|HAuPf4yfmK^O1;v=#A&>gQ0S&4J!A+kkA{?*#|@AR6A7egCU_ep0f{z%Bgm!+y_HKf4b3y zUiqbi`A+vD^eu5@cfVc7uCW57KAF?l3>XRv5t-!2LrgXIexIUTE)e7|b zWJ*^nAncPVL#^PkU#<+jg3W%pGV}^g`{hd4t8Hh$Tp4;2U`1=1aTF3{Ma!CT6cT7f zE1Pi?5^P0_n{gBpa7F8zaTF4CMN6D<6cTnttDJEZ5_UxkopBTrc13HQeiXIM?w2b= zPr|Nf#WRjV!meo1Gmb*Su4vsejzYq&Xz4SKLc*?S^)rq_!mjWDGLAyRuJ8sjjzYq& z@C-7JLc*@_5|(#XA$H`=HhX)m+QDfEiYr4fDM}cG>&OALne~mCnO3WF(Q7QWVGL%+ zS0gX9yo)_;)IW;zB-0@>jiV7Fs4T~<63GiY(DM(2Gs68+Dwd{QID2|FHF%h!jFO|6 zo(PE~)1wqM92d*1s-pa1C@q#ZOkP+!bvpg3&B~}u{Hnw3QF@e9y|my;!py2F${$`{ zEN_^+usX9ex3Mvoe&y*Iw6f8a1}9RBMLMm7dbx%|s#+@-Ub>-7s9IQFIlZ{CvX)+} z^bA_r=*okWsl_6lRzkgOLm^eIl?yN3P$pC@EYF=jlTjtJR+fq`I6OyKAX3P@>UGAm zt2$XCyvlg)FnwXMx{^VV6s;^3U1V^As6eEUdDSb7XIFKyM0l0)++q5{sil>ZGfU}r zKUJ@mj4m}ejZ!F5srl7wO%_qLYN_y=lO;mU!fZ9YCPrOYBD&1r;6dgnIn1YCo1RtG zgt^1((sPEX3n$mktS_WraGF{v7hPX)23aK1D7n>3OcYR+N}2Ft6Zu2M!pX&r<(but zYNYAalF{Xc=aGdXm6~6@+GG(`tCk9{IawmqEX-7^a~X6kZB#i$oeFw|c3G z0;*Ce6JBg0f2e?XL=fK;&IzCLCjFUIH7G;@^n%tp{>g*Yn!l|TOwmKhg-&OO$K%h{ zU^-0{J2Po8O-#`W+%0X&L7EoQd6b2Ro}vI*JQeSOGP`7^+pQ^+RMNEb&30q%k}oe? zNtkQnj6tkk;Oa%^Hfb=Pg!6-7s>l57hCE<0eYO*(Db8ao5rRvz-q!wkaptwvDqeP#A$mUZj#XmPzL$&EqEg~fHE1j4ZDUy6f5Nf!BL z+I}-UaAe4gs%qzKt?9!k`0{?sZ|=clS01;88Nw0IGP5L<3$=Cw0>WA4)hyLcG!s?Y zUIkQXYNgyl*XzN>D>p?JQgm3N)v4i7Kg_a~b}gBXDW<7;$@FSx18DBgK=>PGrmI&F zPluc^MWb4SnVKzWeB!C_cdfUx?Crv&MHn=wYe!6IqTIaMl+QUlNSGYu!-0spTJzv+ zQF^trezED-x2te=oUi9Wiy|3gRzjKm9!xVA6Es8kDCkL1LphiPgfW^OdRP zW*tuzw=l58N}X}OGrzl1RqcrBcFX);uEShU<*E#-FuxqV!7@tyMVW*;EXP40PcOWi z6eUlFIomK{(QBQHU6_`RIsIlAre1bolDGQw;^~;Px4#QhssN0J2VvG?DKV#)p8%dn z9p-cBS7g>lB?C8)Pmoa_NpRel7E6gqi0d#pt#clxK*3ag?JgVDhI0DNh?PR6EVH^^ zZS|TB(|Ht?%)box0A{B_`v7gRsZ=6^QZ~Yyb~D8FNib^HmjIPSk0_VOAkU{fZ_Vt6 z_c^YYC1)Vwd4W#|4k~K6U{fAELQRwn8VvmwC3V#fpMaUlce6GqB_v96 zn5DN3vyyO{9e937peA5jy;OeM^la5m0AATP$(1uHNb_{_$jTobS!vZmm;~3UXsR7_x`Y{ko`IO|t+uQwYAjc4EH$^fHFbqiBDvaG?1`4V z3rz*ACi6XIigub7(%Tnc%6kK7zvk_Bd~X@%FT=EO^kJZB?x~z6WX0o!ljyNoSL{ea zq2^up>ie(|?O=K=8ct7Ds|wvz$y11QHK$&Y@EV0xT5Q+5-Y!6Md1K}b+8I5wK?z6R zg=vJnP8)8V;Dc(Sjmj#n5{Ww^Az%zDo`3xSmU8T#?OdD~pM_SZ4s-kuwA%^=Q}ZZC z2ygJJ*WGRQu;--_FFHy}K5-Q<)@7=iD}q*Uv4Q5| zTvKmn;cP~|D4A?nFuzRYxdaUjE*0cW=#&yl$2y+M{|@Sj12fCDOY!O&v_Yx3a|xFr z8YUzV&l8y}=sbrGLeg|Wx$KPcSalEAi$G60RXdV@0sCrc{TGE1HF&|tNKhCnl^ zvaBJKIEHZAH(k3syL7z+za%8^ObaTNR~8Il~8|82%uyqT#t`_Fxqh8eLp!1WsWTUwY%c*8NJ#g#!9~wT=bI8)CI~UbQ7#0bVs~s`=$orZcB(S~>VW?CkJx5i& zGO>05FIc-q<=SI8pfoH*5?)JyWd%PbomwIUmU5x8h@#|WaOgFwicm5w3zYW^u0Y6X zqmq|_#sA#V){HD<*U~X((odHMPwJ{2F@z-U*kU`ZsxnHJks~a<*p{YtW^Yexv&8XD zIpU>(T&gFo7Yvl~GMc^8O9b{xB%a!bj-v8#_0;gFNHbxiz0lpzdy1l1YBo3yEI$>` zNdcdh2zj=>`pz8e&cL}L_@G~0S_UY~S%u(Jt(~4)?Ew2b7o$NquPfHBD%DTT5R}D0 z0qj0-zT1IilV`z=2ihwY;>A<)z!92tFu%M}f`h$^CP%47{?*yR(r)rW(Wk8RN&2CQUhi>@a$s_z|iA2p^u4+NX;hK+BRW&%2ch zm=dL<3|MxichIiO+p!tAt@`C>WHKEi^Nz-kWyowgCUk4TKZ`w`__35sreo-LKCs$` zd!Xkt9SN*BcHZ^79KRYRlj#_OaM?Fn<}nZab7%BG&tcr2yP83$5w zam#6%e`iocNnmAQ(*Vs^#EoF^Fsdq+UwK-3Zd6p47FXw2)|O{BQYSTJW{D}IsDE%5 z^rJ`GSgEiFuDJYqK{Z3HEVh|y4YlfoN*pi>V_eb$iKVheZTFmiXD8YaG;Jr)^62Qq z#Kg$R#JJcQbY$edYnFztV)%K&5Mz(#|NFY3J2580|DXOf!bb1A69%|y=~=jDnvFhq z=T@)RCmXwr`EbOnb_?u)DL%*G=NMd<`r*eD`HqL_nC}tk`6k1B*TR3UHRKERD@$`@ zl{*`)79`wx4!Q?{;;Ua{?EKKV+D@1dq^tJ{4?7$?HfB@rQ7J8ta({-?@+kKP>pMJz z-})!GfBe3D9jG$$@Oy$!et75_{UE_#;n6WqiM;^6?d-pW*xk;7-O0(ZVB1@X-3hqw zu$3x&j{S3Ex56(2zF?0vj$Pyxe(<@Pu*;RPFC|~Zg;*B;C+0JyV;W-pYW|I^zM9{k zujl`xAbXqdjRx7_!%@P{`M711Na5IG{|xBocUPbv?=Rj{`BANhxaI^Oc;*n<_=}8W z>|6P__$slVf&bXq74C3%nF}_sy9OE58yy`R9~Cs}XZuJC+_L&hEnBJMN(t^O~;p=5i()Yg-?4lKYm zzf*XY;V?y7{xF5tUSk8VCtibK50=LdR#>p%Dg1B7kmVxfIYA2kl-Qf$J9P^~;XWB| zis%Vg*lRJu|JVr{{wJo6C-8p>s^1U)s|s$868|qy&YOk*hB;pX|7~-=2>;lUQt`ho z@XrUuVb4mAm!jhSaR_htNZiBL>(QsgUJm~kxDTr<-FJ0IPO&eSRisZjq~n7TKsNUq z(9$0!($_SkpC2rwD?1IUNEgXgkv>U7`sAqED{wwd;2}gdJ&#Xw&rou2U}Rg7eHwVV z2LDLg9^D#Vvp2x^X0qCH2s=e*75fu3>^px(Jlj}n5Ix{L{>bb8dNauUFb30hvUMsu`iGQSpkA~uS&0Y)Nn-bQPZR>5k89??{$Elc4dNvO8w>%`w zpH?u>V@(_x#l`&NIpWnG>u8XIKPC2R_*O8_t8B9IQeoA~k5Lhy9G`TEmx#X}o+{PK zF9YIZFU=^lPxC|sHhiR&j~YoxEwR_bHy}P%Wfk)#l~vSNXsDm8oJfpHz7E>^e!k6p zicfHqzRms0d9!>Q-<&UcY&cqoV>K@|=Zow-y!Mcc`XxYp+FN1ZFokBo%~%2WNCqs3 z1pZxO?}lGsKw9;c35ESKS!G3;#)^p(t}Va^E65RzbVjVm(-u50#)`R1#byGrEl`;N zGmzwN=sNyGl~vReBeWAIoX?+y`aJ#I=f+Tv$1Umi6c9DmE|=h`EYv>7R@hfRFU_r$hq(F0t=|U-a~2)z&>6qtYt+$r0P6XYbH2M|p05r#l_= ziREKA&q6yT(GSzh;v`jT75~Jj?c`X}$9LmB68|GP@INo{ zZ+J~@v3YQ7Kz`W@ECng}Q)2IdZ`leMs;{h%jR=vN%_=j<}!)PP}Ej*vO~(LxyTAJ>fL1 zRs2((y5W&ax&8UDtPSu z#(iEWpuzCxC?mb+l=EgqdiTuv5|Q2q%=x027S7eBTKbbi>l>$*=VlkrEbGg_;TT2k z{f@x(<41b^Cq)APF0psO?`BHX)gG|<=Gb40RUyWACo9Qbu;YUC^|95ba$zQo3lrmo z=E6+@@+BAMgB1KJvG0fPG%iex_h&#=n1E*WqrFSS(p2AFB7A{lcPz`=rTZ|pJy~E5wSdd;BPUY9~y!}w**fW z#zFCl?g~-_uipYcv6cV<9vb-O?%rmG+A0I6G2wDKF$>f&K>9;@7;txt0l{8Og=PTG zg2j*Yh3*y!{JX@y2YzD^SGS-tH36F5DhH^MVb?$APczL2%F{pomu3!NLr`cQjPN_8 z@}O`3IKX*EV-U+>l?&7;v0K-k$%Q=qfxBW{z&-Zx;6)xMBCTuJUH))uK~q~0>8xU( z7zcI{F=6D=+JQX2&^H^fU-aGpEh47%g%RJ-07RQFCz%mwt>WKBgiSU*5hu7HfX~wK zpU3t;XJ`%I6EkxjHuZ$fn!TiP;F&8M5@**{;3h+6Un}?n+GKO!g*G~ zoEQ?X^$Xu+iv%pP--F!8kL(BEDH8a1iMN-{s7LP( zKhndwT_o`D5_=i^f=6EyZ(xVLrd3NHOSOt~VkFn$Ts*#5YcLT$)I9T<$5otzeJ`?g z&x>tzM~_IF+$B}QxAUM1N$&ofFhHiYX~@2z#4wKmM(-#dUq7a8lMy-H$LmS)|g zuxi9*TkwUUnOBu zShexQc{x@ABD*_>FF@-D}l+Z>C;{XjHcb`x3($ij4dbVHA{6nv+2a z{sik1Q>v~EP-f<^$^~L9c5*DaH=Em?N6tMMfu~K4#omcrSodpPALCLhdq{+4r_JBs z-mbL@&4=3%_VAITmZwDm|1Poj!tZ8g^`|SN@U~IDG=-4QDmRERTenI}JmR!=BG0_c zZ{pnW{AI7bKkN1C-R2%|B#PWdkXC6S*5lQVQNgUX$^dc%*R4}T4jcvp?g$tF+m-mW zX4`A5Y~AnG{X(}2IT#SDw(J)Rf|%468BjSvjpDi;%6TJ@#(+HILEjiMpw-;l>eRXo zIC7EgKWWrIfOlABIRt7_SVcTFp6d{QXo$a^BffUQ+vva>*}NJ|&KwNHD^=DleOzG` z@zlufWODvJzRjoKOr0fR6uEbBl>1cOtDHA$pQ`)J`4aQgQr>VB&0xU$KfNY8NSqvgxPwfeRP#4ED(f4VRnil09nq~K49y$!y(^%tuwwW{l$Pg(}6Odv;jlWS32lvgrg z1fDXrhkJ`)Lbw_)(LxlN4Y$I5z>oBW4DVp!?L%7iwb35AGBJLaY|nnHoFK+{Cr%_I zTyF0L$&5U6oNo@80sD`Hs}u{}Hjwt55^PYatd9l(1rj=|Edn{RoAiw?gZtcX%yUq7 zpv|-A&P@{c%gtULW&rv7*lR3uOF-IlC&Iq0wh8@ltxfz-xwtNG!DBt)#F&3qWMHv; z(U^apxbBSs{zK=u=-8*mb-}hrRgU{Ty22{riE&-G%OEF4D&q6ZW*b4o-?Q&^50;wk z9bDfsTk~s!Veu2y)&_;lTC4acMtLX8$(hb>G)Q{-c}9bt9^qfSe^4@@*c=E){$>By zuxoStA#Tao*@)G?l=j#}k7=#x6DxF<%1C)~WYOx)+0 z?eLTk_i)4_r}QElV{hdCnL5Odyx-QWPD>=h9Bv{ z-!2mPcd)yfT3yX=k8T1_wTg3U%8zH#QxVpLrn z@p`gVq*G(EZiJFQ!8BW+XN2+zA<`o=A57He*eLFMaj7Gei27L7wdrbUdYe3$B*tdl zY-Ub_)JRpH+02he9>5Hg)mnY0cHWC1v2w8ut5%BLm!-~TPOHAw9%N>+$_irq*3DGQ zW<{P+%o_q$EY>^im2-Sw@j~|ksH2zwa;3`pD5gng75Burt&3M><33Nk>Tv8}qEKeO+5V2_y#Ubomg?mST#17&=3 zJV?Qx5_>&-W3LwwuT)u^on}y3MLju6>rju+Fs=8S2ld~8sGo1`_qHSJR%ri*ih8}u zT8G!5vWj|YjP`^>{b8a0Iz;{K{$8tDhrMWvKO>WhdacU3Q*TgNMLjio>t-e(=u>Td zo|y@c<*4u0a7UUVkLOcoCcxgh7xkG5GQ}#ksS#VZyLcwH^X$0u7>;eP=XW~?52u}D zNBA95XDOTvQt(IaE)F~8CabP>VAFG0vq}~k2TGw&lAylG;%@ADaRFt&AKw_ zzQ}feMBE~!M{DMSsp`{}DP>Rb^c+^XK#uMvJ$<+SM2_m@;liUN7vjxAp?x6gZX^Qf zdeyZtp41FBnJ__(?~W#!a2ZUbTYD}{VVvIp=+LJznh+y(A69OWA)+RAye-Z*i|oG+T9atxmEU6AJ$ z=6unL^qU~xbdV%r_#Sm}PE&{m(e!kxcMHCAn9 z{%5M%Dg&sIVaI?&W56*Z1EvO(0aMuw5NewYI8KfTCr3puL;uf3ggG%-o;G0E$biYg zWWZ!L1BBWt1E?`!*9II~8&EPbU}7*CFpb&Vj#c{5K(0K3< zW*!_L-1eYP2)SZEhCEJ zfr}>}IS;;I=E2~`lgoYL$${P`55`IFM z!Hp-E`^1w2y;UB#c=D0+;IGX*7~FVrxlcSf&|Bq!izgpB4?b_^!QjS|%YEX>f!-<) zTs-;6dGJ5YJQ&<~a=A}DInZ0>fr}>}IS)Q(=E2~`lgoYL$${P~4_rL?$a(NrW*!V~ zJh|K_o*d|{^1#KDkDLdeHS=I_FZ$9S-%}j?^EWd9pxK6 z?pMyM>^jZIWDxlHrj9AdgYR6xkNAo9x9yY4qTZ44?GdG7ViLFMH;3>M_=fSSD<{@To_zFer>FOyYP zP@~I^75wSO*z=HB@s}B_z!38QvqA|or?bNT+T{v0*6dhuXsr0}8LYs7^8m9#2|A~< z!v0F;3N`ZVSaE2q_=^lyVB<5utWZMG>8!B7D|Uq%hjy$uG*Ik5jIx_p|ELK3=y2z}!h1(AG?Xu4eQt+q5eh|JhMrPH$ zwKHg8e~0Y~HG=JU!Jlv1*z5>ssl52FS-gNa_8{{@iDhT-!v2oi6>3D=@#4^U@u@6c zKwNu}d7;F%Gk9Tt2kr_r!tHo*XuS9@8N9%KxCfXQ>R#OGyf}g#xhvEdx8ud3@#2$N zynrD0AoGG0@HK|+>RHA#*078;spe{ z2bmY7K=%>s;9aIhx*abLjTiqZix&{;9%NpSLfuEOqj#Aa>vp_2G+z8^7B3*!J;=Nu z1-p-6hwm~q+U6B*_e!J@I0`kc_lYcC40gO* z-TOOZoYsE4yX@lKN6w4?n8l01j(4kjfoJf-e!RQv;@wBii;rjVVzA@g>fYcPys#hd zF1vX5k@Mm|Wbgv_2_NA8g}PUGIxmi3$MCX?cON+~{y2*lgB|Zy_YTkCh5c3Cqb}Zk z;t#WUG1&2Lb#L(uUf5sRJ?i4!N6w3XpT zj(4kjjc4$}{@U(Q7wqvedN6OcUim`?0C1j7kLIR z?62=0b@A>a=fxjn@nW#!-Rj=t8N9F`?;dsW?jz^L?`QF1u;bn8Uga6QupjRpb@A>a z=f&@3@nW#!-Rj=u8N9F`?;fSbyGM_Yh|hi3EDc@Fv2+mmKIbXC_^9@ix>b${!%a(UmYu%nV+wASNY6qulyB^-qBFDL(j1_>7 z+_{{;*jOY&&Ato%x0$T=ba{epZZ>!KHdB>0cPbyHMzxP8cZs?Ji0Fs@Z3Q()iT>+H5%!b>s0`QS+xK||b?-Kh-_}%P(8>YuYauD-c|oYkA$8-{}^b6WBuHM{?p$k-)!8 z?3M5foKUK(G!BMzt5_#SuP3IGUXjDP+&wT4)<41)7iZ_Yo!xc63$Ju3G}a#%AX{Sn z4h`!s=U7*(J3SSd`b4r-q*LS3qe-iN87y5ttM2@NeDGJUD3720E?d}HX?bhj`DV}e zx+`1vdvzZ&6xri>N>D+G_~$59F0nVmUz>(%D>gn=YZd?0xU=j3^5-d>o9InnkynGQ zJJqZC9ky`x^z7!Dp4UCo-i40vcCCd6FEai~{oiD@r^}Vl?x!iOqMsODc0N4^KTAV@ z9zW-|CHmK)`&($#lYIIJ*jQZ?;AOg1tP>-~6DN|M4vv%b^K>=@I5j$mj3!2mj1US)|W#&Ut}x)L}3P$K5TURc>DEw_}+~09#q)`c}-;% z^~89v>&c2odl(k}Hzn%lyI!#^JgFxeAs(wMd$P%7t4OCtc%3KDp`M2HJf8f6Y+>!x z=|S}56V+C&e2UU4`iXH|=gA+Qo&ODq{sHmiLtsmfori8CBOueQVx1VZb)I}S*7JDs zzb>&pK%RVvcgvh$kN+KIX|MlC2`07=4{A zCr4^t1&_VoNX-icG>&|v=A3d~WdsIRAd1g1_?dz{d**!6Py^<>3-UZ*&KHf;JPGnm z2YJL9@O$LJuic8jdQ9rWY+-d~X>MaXu8s@D!CV_$RU zlknHnRvAEz%(`e5f0n|{NzO~iWBGqYXF%aSep<9jweB&m->9;RdSZ;$dH%wTrJ+8L z=l>zLu)K15absm|5Iuim)m6_wBZE~YP~*1F^FK8E|I0cP2E_AM0WQ6J;rf_$R&h^` z;yTYCfuGg_WMMkNw*Fq6ZLs!@B9Lwe(v;{gxg=_8Je_pD9LJTE`Q>t*dOViq(*m7jJc8i48P|( z&{0P`e_p{qclM!dk+J`HZW+|k&e0$Re@g7t@VzN1pK$g=*h_^?i$6(>^19fTc!+79 zex4D|pHmPYy7@&$JT0~rS$oZg4_y2Z^qS5p?#VITI|^Wa&d6ds_(YrtcP^7xAu0MEx5dU^PfaV^7M3ewWYo%;~;QMy&U zlViEb**uq_$}W~Go^>A2{)22`vAU9+m|tXDPxI`P)mA>Lr z&a*!(OaD^}?gz)Sk8mG(@G;Cs=~nShjn$Tucz2$??8)Yd)qa32oLX8rIkOZSwJ)+~ z|1{AID!tjegB1KJvG0NJO=GoH-`;dvj$qv0MQi!9iuo{nOam3+T9w1xRpci%4ha9g z$oQwt(^T*s_wS7=tCrtIYe}fTAZU@=r_D2_^Aj5CLm$7`5i8o5jskDZmlr-yn${-% zC&{!^qR8#cShLR=s?)&MNMy@mjYRxQQP;mWhfy`!4)wg!|%q_p}|< z0$j&E`$V!;q!S~x6DOQkgNTl`1QF8nM5^8&A^qXu(bK$|0M-U?-lVaLd1`caDjA)< z1OVtaJ7HDn0UqV9u>U{5)#QB<=8NyeV-E&D(u==cB=GMNdl~$0hE81Mrwb20z(mtN#(UaB}U;`a;ZsFZ3K^+Kvi_YO79ss@f_8$kAEn-DEK! zk9YH4l>x$)FEsjT-i?HJ+?_XRtYV%Tp>=yABji)9ex7mqA679ho%%xKp7wSViEe{q zpQ5yiesXL!>D#+edO1p;$Kt<7MZa+G3ypl*nkotI$e9-|zCmFX@zl7in~{@g@AG*1 zKLm(h+*qDjjk)}fM{ z6#OR~eF=T3vT6B`6Qi?k{{(LM55?2}0S)!i)i1K;r_IPwkZ*GJCHOV1Rs2(G|Zb`tR28FP!}%W1l#>Bhejq_6-`Vm?y?--I#v1&ClcQzl$x*RI79G>Gy^1))2xcY@gKh5e(cuRj?4DpyWRxwYGu+Ls^}k>F@1^r zn451d3OSgrZn$gm=h@sJ{0=BjHnFx(oh zx5@)zbl1(#N0g@fK6%DC-;O+3=yY}#+rHO5SF3x)#y_dI8?W;8INRLhF27M@6Z7N5 zXs(NEWn(^%_wzQ6`BSaVR;`7`f8FnTwcTRlo)p(YbjPc$S$(tCD*lOa-3hloCDZ2T zS$+6c#DBF_>-FZF;Pe;T-yy9}QLC%rJ-P|jeVcJ&{MOm|!?W|>!*FC{wcFXdx7Kae z+Wt(pTRSK=-br@eRBeg-RIODzPmJYGOe9Bne8Q;yk{Af&)yjkx&zt5a+ zT%cX&E}i!#vI?>yU2aoM+X&^YY<0d)uHv;hrc$1 zs!CU0O|Xh=7o+7*Lx3`RLu~@thq*)ATi9G12Q0DUDn=@bZPiJ=)_9erMK@}!VxAbI zoj8%)8Pm-{mLryVqEuJdY`1oP7QC5t&!3;&K++Z2s$+Z_Khmlj-tnMUSsHgkx>dYW zqq0*;yk7#t=yp*M&-zjDL-k(X%w{{`W5&`&#`-si>MK}(W{@Ik_7eEnl+~RsPlN-K z@kFaAcad2BRQh=`{dT>~GZy(KHrr~=dRzNJ9CmHBicU?T(N2oQ8mlc`nsl{Q22dlh zm86|_kyz>1;3x&v&VLu1^?H7{bMP>mk8mTmC8~cj8>HY*iMGojYpijemo?gOtvMNkb@I5h8VWl0!=?jf}(o8jDwUuRA8G5T6aM4^7wi9FihuKqp zeZYa$P7|l9EqB_@9j{w#Z-^Al6&Tm6Ej!AoTC4acMswZD+-$!mPaE*M0RJm3Z>Djf z*@NI$s{sTka&Le%QX~)_tF{aUq^qqmfEe|ibUP24T8hZ?$0!iBZ~WSj0bBQXy>n3m zP-q5_Rw)J$SF0Uw0H7-*?+I60ML#+Io1D$#;=gj7^!gm=e@%e?Mc>;Ev0r4{PkL91 zK)zDtgzulwS;aju4m?>&uFiGw0g3xO@qt%|xL@kjcTOJoUhm=2|HV;Z{K%2ed6B@s zOYHmMcQe3$vg%15q~)>72WrH)oZO4h@j>z-&&tJD1$;Q=wY_e$UhVAeb$U(TL)a9# zJ$O3Dy~>B_AO(L)>}~KJ@F8CH1R2a3tTKTZIi5I?WPR41mY^Is3%5Z>6 ze!ei4eD=*z&JNmA&YLwmsAbNVI|i0#1oU#i1HNuGba@KSfgIyNYPI8TPeNxE`^5O~ zgnMT$Zv+HYq8W72=zpG7>n{tik5hlD{-r|uJfwH#3eP5}ZXE7vvQ?xLBfYL)o9*r7 z>DRtAK>AGEZ-z#`$R2)RD{ivRGvUH3sb7G@Z$YJagZ^1K4n;y<6+{wrj12$xel|xo?JQtI@7hwN(aCqrPtB zCzAnrMt&Yp8L-gxdf+1A!Het}(MEnG#Di)pU177%D)z~7-sGA{7w466-aHYn1CISx zr`CY&%FnKxEjsRz_xO=Be+)aHV1p;CtaOHx=~nShj_^9X<1CA)oOC0abcGGXx zTFnOvKeLC7cUfh*#20xGOSg&lGBLXAcD6#a9}eCx0^T=pedA1zM{)4DMfPimcvq{e z`ZS4jt9U0yaozsQh{|-l=ZR!pK)l1Q9@SdA?zM`Ib&PA^NBT0iiv<2%VlRW=O|`nJ zWtTU>`d%hwYQ)yPNs&LfG(RR!9BUtOUhC~Fd%J61t<~z(i;Z>KOtn~*HOsEu46dj_2d|=L;Yc)z742f^DcCDyk+qAJN5OwgF;(-BI;vRR{b24$|mYZiIG^h z$Dr_L(tMme^DK8G)GtP}4~mX_qL(k=tyNp?<)*2vGJqJHb$bkEGa%0>Pb*@8(#?g# z7un+>j`9eIE7ewg9<$Oa`pFSnH}fpZ>&Y|oY)7Eq>-rnu0JqNJaf^(6;+Q^wJF0Tb z<9PfU!>#ciTzyKb1An-1$tQ+}Qx>dXrW47*%=!nX6 zyyx-nn;h@G{asIK<_o@}khX_DbmrsL)-AnJYZd?07;gFai1^%h&C<}-91CvmOu3RI z&puMy9RDq^)(Z?ijON$99==qo&~~4;j}&kqS#_NSDSE3sAV+hPqnnpu(8KK`#Z3as z(+-@MJXjWsYH|CpVsn7p4seVs)z&>Aqt+_^iLqQa&M9zy7~`DhIR4K!d+;Km_5E(Q za~@u#d#lV6%8|feLQ-X>X2z-mgHvR&^5xk{PTr!9{sZ2v6AmezTeL zct2Yz6QcP&#qR&+^nRjgO(yS0S6W3sG0HpX+5rHk*S%Mr6Ct%9kY^n9K7|QNM6A$#0dg!rctc9Hwe2-SZz-X-$^mLjxRQ(oybk(@ z{bB+4DSgPJe5b_y%6YTiDdC&*C48Zmn)5}i0b*b}$RpT--{y6Vn+gYJ>VES=&2M(v zQOBUrT(~Kyyxg6{^p3@-XArNx$u%eezusdHM%0;+&`nHU!&{ ze2H3x6-|HS|D;JJ|J7F0Yy06+-$L7dVr-ZrT&wnUWlAphO;cNC05vu|mVC>c z>k-IVawEVaYLDPwg$$V4_qTxp%{uQA;1ua5%$6%O6Zpn1a4%$!V2N88@l|5)f&ajM zg&gYU>Z=Y>zid{SL5v%_Srg*f9!9_51;C78=9uypiemdl#JEAc+S8SB*)o`wHqk#t zjUOLR?tpRypwMrmXj{OA;m=Wy6s62^I4&^E81C&e1s8?y62Oo6iF&(IHhA}qGoeMs0Xbo&tQ#4p>27xDWnzDn%p;XlwmsDMwo4ccp3 z$oZ{uh8SsfZ)+D%JI1YuGuMNf%9-a&&O~o*De@>1_N4G5`B4!G{JX?n3%`;dhBvkZ zOi(peF;9&zySH`mCzyu$JU!^Mfcd3PeMf8-G?mHrx2Zx?+!)K1(!;iod@Rq~K49{WyGszu)H;XvE0A zTRf{(mJnmg6DN`p1@{I=8Bxfy&&oPyN%%fH@e0Qx_ktfEa6tBgM}rjnDX~|>H)n-X zWz{Q^GfUxKaD`RGyC^b$I>PLykCh&#U$mwne%-6@cbon}vHc=qA6SArtoHQSgp3uW zsjV`A7)5sPhv7uwJsic;iaet{Hvb-t0kF6pK1H_qH;7xKctT;UK-BD&@T1xMxl3k~ zAEaBwJ25uw-s&hGYOH05@SbPPXH~;{v9XR34*W>}=5~?5zoWN0N>i>o_@UQh-It%F zMuFXXkoc2J!#UbEYL9n?=Tt^J$i)`D8b08Mmv1;qEHz{pe`AK3t z*UbRp;7|2x@}U1TqJMYK>-IWr81NC3B?kok@oKAE$0hCwS6W3sF|s>xB01Xc#&P60 z4z~4F+rJFxKjr!A8_El9_lf(a#Hy^i^(K{7)Dxq*lWv71H~MKFPo5Q$O9J)l2e4h- z?%B@8iSb$3F}m(|x(8?RBt`aoZsK=I_4JJ^Bmw5e>c^;%p2sRDsBz!1^6TC)z$uVs`Sa|uxF8r1yjftefeR?lHH-gl z8REV|0P{rE)nU?9y;UAiUx|aZZf;PP)B!HOCB3PD{vkR<*YX!fI0p+p{>X^ zp18^dkgZoc-l;Wdt>T{=_nk_<7ufmoaov()YZ?!u0g5&-h;QH|+=eFS<7~!YH zUIPCWBl}_(^q5nlBw9r|HO@PpM7fJ;NtEY_X`K`(k2W-!X*a?*CW?(s02xKL_|FJH zE|I?)!k*Xceef-ipLz@81Nwb3T4e||>RU-N#JxXNG6ekqs=q&@Fr@D7!3>D`PIsl{ zjlm`$MP|m00S_cIW`h*`DY19Lx55m)>hX>M=Y%PXRW=Y~ypxsW2&ZGiLu12q$cCO@ zYuCN`ZfAFK9XNsWp^MB0Y%}pA*^o9TXtABFy0&E~^d8dlSmgsX_FGQ24z8Ch`H&~} z`z=X6z-t7G%>{bYOT{@>TiZK2#sjIh$^mNh*X@VG?Ooc4Xr7Uxy9Ebky>qqwmM_Br zMQ#u1BSm_(|hUco|;fc=JlWn{9+isRHMv0F99pKe;4fYDOwsL?kEtPpb}Haa_AyUa60P8Y_0z{?M%b2?h6JPE4`=o*dR5sUA!Ns*K7Vuh938tE{4)7&~^>{_w2*RDgO6 z1hfL!7rD=y!`drVPFVYd&MNMS5n;E>TQ=_V?D94l;=a}Lx*Ll;Y+7X8<5(|#WbDhh z%Nv^XT2SS)z)gp6OxqWhW%wqrv?m;~nFB_>p*rsT|QKdY?;x_n^wL zDRIaIRbv(N)VQu&;liI{8s_uFw2lkR&+OH@K5qK9aj@s%!HbN0x__fpJBIwE&MNka z@my!`g#k;$ex6aB@fh~e!znWE>GnRt_Tp?B>I02c%u{2y<>YD?H?K`bvC!U8$Lq%c z^YdNLJJa6pdBID4nqH4@;ap_wKV6sw#n+h*Qt+q5-Ui$}ia#yh^gOG1zX^~&*RE}~JRZT}vHDic$BAl%M*WDmMg6S4x#}tbGIChu0x_=Z zxRA|-JRZ;;zy-zc*@%1sI7N|r07NbrtFC!K89A(S!Nq$y$Yb_?Tp(ZW+}ZElrFnY7 z--ujj_Uhto?%^EHV)KC56OLC~9ricstYV)S?{(`J1sh@`}+XMO;uOB z1X)?EvVk1^O~$@1gJE>LehLWWX$zi-Z17@l^@PI|nF-XkAYN^a14gAy^pBAvzsXrZ zF7hj50(r(kpCQoSX?U=U!=-~lqaIn0A8G%Mv-*MTVRf}l-4f|mvF>8O{8`1kd8<9% z+c?&1b-#H50$+pGZ`MeddU+sDk?ibq+k6!Nx zzmuxXH^zRARoAS4Mh>f7AjW=O6hJ)aSbGumfAetRmWT`LZhkX+dvJ;(d;Ph%5UaYj z-@o93F^5$yP@}`6uJ?;gq>Z(JWu~e%#r$%|lk~{aieLCgX<_J8`>7ZZCA2I(L zdGKqu;(xAOk!g&LL^#K(?_z^aFML@wysEdzxaZY{%1YcXDOE4A_rPBf?v2$~hkyhT z(z97*1~CFW;okJcpKzMjpXW_qPe*2S_723Df3aHt;+wvr>T0+T?*UJ=igIdX*R62R zM0uWZo~I$ox4rt#T+4$If0*$sruu@*Q)t^yT;Xo4y5|0v?hVgilL-}alsD-KxhSvn zgz|X&Pems1ng6&3pxEfAdi+s!HG{9GTE#gv!s{&lp;`Q=0M20_~{v}GJzWJtt995xW2En_<7z@@#K&R>z)s9Z}iT0JNxa% z*=D-|iyaH@|J=mwh1&NuzPXNr-B5kCJ;=;sl@rvsuX}4(X6ukA*7YRhM6(XNT=G{n z04=I3%LV5G@vU8nYEO?($*s#%v{vy?j`b$@f4B@oAa16!FoJpZxq2evzX5N%KDX|5 zFL>SXy?gzwF)>MMlExJf*hRbEgd!fqY}f4*t) zfIRac9uK_mYTbJlH*jUtT-)y!dnEvE9z?v#N>ACSvWj|YeAx8|GEtw$AG(2~zP+}x z0bPM;BjjSY0<``Bz&l=T)%vGst>T{?1$I#ZBtV+g&l44R9OEIPMR0&-8wK}%Xi)(S zcm>r}jD0-SD$c2K;PIr_|3*T;w;_PR@iD?i@4K^6^K0BhXOr({nL) z8S^#qfVWJB`HsPV#^Ic8<-APhJFe!Nf;7oVvDaV);F(gm4;2RPQkvoA13<+jl#n1Ri_`aI|5C2yGcc<@N z^0`JZe3+^B2gjKpMX@x)B1N$&Xip%INa5B4Q5~glJAr47Qh0sw8t_=+D)ATZ3Z9QK zv=sP}>@Y(%myj=Q)2Ig??h`6RXv>!dKRl}pvIHk%nJTw)7X$_F5P1dY-qQ=I$C?QvqfbC zZDvKx^25?;thy3N&d6Yu3DhWZB^gC?F$5Vy$m1(LhBINNchIiOF2&}W2V*Kdui$LB zncEAsZCD6W@TbJy4d1+NNU6TwI%H+C$_i?1`FL_H=?WOjezE0kVNj2}kKI+yo7KmD zu{mF&kNp~RzNiOr8$4}lAN$cpRy@4=+24pHfRF4+JYOX6?-Khd_%*UazYVdzcAO=q z%vRY#jYGROgg<9NnrP%IVoRPj>glNY1ZIJcV#lF19SkyKth(##9#H^Z@t%nkBPkOVj6 zE$Bm!SVpT1p+>!3%aO^DksJ(pgqa~xC!@&hc<3#M+J9*7?roZS=@r;+NrnZj@`4!u zo;Z<=Z(wYoUwmUjxFFm+A34G~gfCLgtMm#Ia|qS=i;^!9-$;p-_2N+m3TMqsUYtKS6D?nG0yGwMimb+ ztq*ZMsHwivRTA;AR_^@bENl#1WW>|f1cks3t8Bo$rm~89VjSDq`E1nZvGZRSM?D<6 z$f(a}=LNJ=F>l|_lVj1z)e)~Ecs4IoJdC6CY|bg?RXmo2XR~L{m+)-*y%{9WJlA7@ z_{G)vm9^!Wjm1RBYtmD2#&Q;h5&Rrc_;xLT6^NYX7M*XtySmKWjmr+BPgksx%9QDGF9P7MYB=GOx9U)3}mG=TB JQf=V;{{h+IZv_AV diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-oleacc.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-oleacc.a deleted file mode 100644 index f899180a0eccd596fa83bd997e368a8a341092dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11952 zcmeHNTW=dh6h2-jP3pFy5>RoeU|UiN(aNk{$2KTJE^bR60*xTFsGx3q+0@%?yq3L5 zDpaAW;(><>RXibtc;J~A`V0EAc%qy$vzKvp_F|MxW$;)tyFT;n%+A^K%{e=>=T=(7 zPVb|_`|5ZqEtjhJ(@M*#s6%dp5NX8pnU!T&li3Ip#1LdJYReYaPg_GH+B8XkuexN?t^`_l5 z^nJ768kjl?&1$`>TV|WGE4BMZ#~vEHt%2UP_xqNyXIQ#z8Ldu7Z|QjDjsd#fGg{q4 zZX5JlW*@t}KD2kPbUMapWVS8iM*E)8aT;~()7%;837GYvJ^1wQuxXh_-_h4>dwX|4 zvPRi&AQr-VqdQm|8lzpyX_Ts7&+2$m>2aoX=688^(R-RwDq1#3;af zB|WUR`d!PQE>`#Z-A2W0KMv6x8ZF28!s&)o8H^|%bMQjypFg1ubH}iEokrQelXTc< zl%VDWkgR&$Hv8g}ipR)mukE3|G|HN%*?3G)+w7TEcWCsbmx`6p?XF?Z!f*|)@tYoSqiMTikd&o?tJb=TW{G_AiRPnWWB^J zO7vu9*2^jn6avm?!vP5UOE{UFWMu6NtR!A9F#VijXK8G^$DA?3F)=%VEvL8J-{ul# zUGM_zpJ|udKk1ir8YFT4;P)J21Ot1vO-JG+z-?CYLV-W=B%?6okmDLRX5t(gX_{6l zF(M^-fLggOaA<)I{0FpC3Lwd9#V1RWMa-A5e$%yOI;h!s0Ds1&Cse`C?g{-u;3>vD zKpioT9OrY0+FL=)cXC`6t66#r%Z7__MR-u3J--`81+jQ32+=U z*Ejta&qSS5*ZHvT0MU~&PXVrlGmTL%c$MHCU7iZQV~iJUymSwoM|3?U>YelAJo^to z?QqF;S3(B`e#J5&Y)%teXA<%=zrr}7rQ}38#EI`w6-k`<#~Vgnr{VF_7az zocLCb^Eq)A$Cs891&DeTnr=RvLmf~G_;8gASgF7-c+{hYp7upCTQ+DPq+^4|R~b~5 zqAWg7JwOXdV#9`DMMueoJ3_y4Z0N~xAvO%aR|NNv)Oc7y#g*Vu@tbt zR}0D&c#NeU8nW;n9#NOY!jJC-wEE2M@wsrbmcMILWOSHzzX+jKs{g*-hlVVy!$s6( zYxlKOc8`m-q3Gv6+C$QOzb?#^M>*f$7W$2w@4IqbXuj{uasI?cs|#u8`vnjeT&FwY zc@@V^DVXaoaRDn8c!Wn?9IjyQVR5#WUQK1`wQ@MJnZ@}_zNJqR=N}_Wm+mA?x7Dkz zjR#i$u`8j20zYF(RxcfTx=oafqx|KRTyVDzg(!cB7$bwEC`gPljxq|0h+0DHq7=zd;)m$y|B)Q$`-UZKBW)Bk2fJNEJ=VjD4~XkuvrYX?K}td^jvV+#(H diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-oleaut32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-oleaut32.a deleted file mode 100644 index 51763a70bb696dbbdd9ff4993c833af1ca8a02f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322874 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

apg^ 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-oledlg.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-oledlg.a deleted file mode 100644 index 0e12e1334d0ea13ff34c9c6720374fc24cbe55bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18064 zcmeHPPj4GV6n}P-CQbjBLaRz3BSIxm71ph@Nl>Y5(h4dC8mW|^g4jCoCN_0#%Xaz) z^-v*%IB@8J14q6BcMkm+d;mTG2M(Ml@4Z>i&d#jub>wxmWG9;0^?Pq-c4vR@H*aTm z^X8Rud%Jpd{=Hl<<(Kj{{#p5aE@!byEpxg2rBxxw-JJ)3cL8QT1(-VuaAZT|;~xW1 zK2;R?%oPC2XIDf%k8;YdqYdTUHId&!8RZL?M1E%hfbzxTA}{^}Kso=n$c4WEC@=ph z^80@PQ2yX|k&C|qP+t3mvg52d&h3ud?l>E6*KIp%&5G+htToE5nuEfcy<$7{+7@L` z+HAPn&9=K&ZaJ0a!$#eG;MSdH-L2Gjow9>9@4MhQRkvIjbKBtDth={w+-_CMU3b0K zxYyY%=56e&cE9EH(djix18N8z*Vrg`y6&x(yIm{SH;aWpABN7TQ5sN#bzI}-);I2U zcca~Gx$SPv#ghs46RHobsrRSX^!vQgz)Rf~dc8kG$9<_%y&przHLh1`UGM4yPbjDe z+UiY9TmRVCnvDl|@cLn^Vs6tD=q;*ZVOK3TcHLXez4o?iG^*>28b!7l`^SHa%lw{hEMe~+r+jcHz7m!{#-JM_090E$`G5{xdZzi+Ybsu$kzkiVf>+T{l zM7h5SYl>h!U)<_+hM2)qva3;p3x%HTH115}ajA*h6Lw2IIoZwiw_EPn;WPn9L+pC` zo9oxFt$(ywsn?O~cWQOlQ~dh^U^lZJW+s{TBpQ(N}%Gl8P zPGzVJCU5+BTxL);z=p?!uKZNyNU#y_SFd%l$-Q zeEMah7vl$!&ftd7OP)oEu51{3S*aC@o%9CHgnyD|AfH4zUsS~bo{?TCxFS1_pb^8ms$83w<6v*PF>^waDA+PP)PlNE|Y+H z|2bfsesDb84@z_#NuCGx?+5x^p!>lD=7Y--{lH4^148^o&IhC12OJZApgx^T{9F)y z?I&>B+B{(DVx0pnrPvR_v=Ix9^FH9HiT%X$|NgMAbH9rH3GjYC8usl~llRm0{sqbV zr_q6;-Ul2J*q5(P5a}m5?m0{3fys~mEg|4C3qRmi#Q**&YlN>UVr6?PMLb=YVG;kZ zCtRZ-eqKX7QT+i!yiW5H@$qxK74exazCviM^*lnD3|s5j5Kv-7O>(X0j?(X-wVq12 zoe|$O!tEr-)B7P&IsULfy!SHOW}?ylD$xZdpWiPE0hd|$4!45ed#9_hdq5l~w_6dP z;-*L!7f=9RuKMf?>2m?3C;JKR$Vk^&-9!2WI6ZxC%MjKOY;gKG?^$O(q$_U_AE5P` zHTAT0f;V)rvV8j7cH-DSWMaQW2a)6`KKgo%ihYCf73@!d_ai>HwO7qpK3%Wz*K5uo zcB97fGb;A^OORya{v5N18qdpD&e@}X#L|oB8Qb#X7v=3t;Ss(jR=$t;j5fu*xUgDG zB%}IKFh8wh9@#$0T)!X8hcmtWxGUE8GOdWuW9=35J^Xad#^-tb_%<@nPYKNPw|V4A zNya;^&QkK%Y%T}^msxm%Tfy=2Q$&T`eOau$9`U(rig9u2`tkZG7|;3`Pkj778pd@t zmmk>1%i|HBucqHq4aWE=u}el^T=@bz+3WAo?^D%N9`Mn(_X&Bd+#c~MYl{2v;T{a! SCwn!1U$`Io&ko}GF84n$*;5Gs diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-pdh.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-pdh.a deleted file mode 100644 index 65e2049daf388a1e7a6c52d07c5791cd0e87771c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14048 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 Ip#$;%0xB_-^8f$< diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-resutils.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-resutils.a deleted file mode 100644 index 7fda090ae27a9d9d16c40ca9e8d1d44830040440..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10458 zcmeI2&uiR96vyB0`d3Us11%vfq1mJf&7o{}H*2j8AuM(5HegZ{$Dx!YvTVs+)$*>9 zw6POP2&I%BdhjXqP)bjw=R!-5Irs1Bx#@c&jWjEbwBryN7Cg(0q|sL+&71ep8%cZV zhT(2?Z_a*P9Zrq8hK9d-qgk!i*)FlHRu@{W@PLh305}Iw`4?d7Zvfh)eCB+R&)xx` z{PveYKKBgenBP4N@`V=wlrR1k&PWnEv?^>xp3J$=>kEmvRco0h(B_l!MT z$4Xn9*L26;q#V}vd)8LpwFbtXZua+kj`i4bbl36*zU_Frq2sZ;7U+7{GR!yLI_P&T zZynEc-*WBkC#!CM&vN}I_l!-)>NHz;T6=d-A0-Og;7706p1#_Ke+bQ_t%u&rg+vJ$;Y zT}p5EuS?-!1|wcmHm{Daey@c58@J5xu2@PP3lqzf2HX?Y6gS z_}$NYYhA;&%=>+3fP)Zu#|Tll8;2-3keW)2Vx9y{+b}o%TAwqY#d@P&*EFqK)mrU{ z^_9{TvW>)+0N!G2lckz(9r$cLyQo5aqh=buku70+I#7RE+w{Brv{N}tBiN{tr4j5yeXf+K98RGPnQbO#Xl|fO4KXIk7NyQtVr-ZYhfFrMtX@S8sDi*Y_ zo3E*J-$$rT4MygqpAl7uA=quF}>a&Uxc>3c{I$WUfdm@-jLvc_qLp%z?dW zTU<*Km5v}F##9zBAoOx(F*-|y*Tk`a*Dxy#vBCOF*ATEo$5Wz?2W))6wgHIwpyso% zh8AV`70XexV5O;YLDP5^Ul+_N}}s(uQdv1K~rNvc%#N=RzISDjAFqQeCRk?=n3b|W8pxqOR?~+ToaS|`CM2uX(aaUzzk~5NizdF`z(0zhZ%*Jw1!OAlHf=kXuy6fqXk)8jf6-iW-mQx`+t;2&GKKL`1~UH-oXJf!;?@ zifOnRRIsuPFK`*rFx2gIfRKDjDSYm9U5$cfnu3$K@Op8fB2qB)@oT*2OqW8xk4d;S zM8eMr5{9}ihe0AKIw~|3c{q8lrojz@L-eIEiV8=0t}b&P5}$La{c(PVILdQ%qU&m( zx(kmD4K)@{zF3f}X0kvt1l4DT66E|f0oxg89+bXV3^z-CiDOR diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-rstrtmgr.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-rstrtmgr.a deleted file mode 100644 index 8aaa20854c3ec53540058e2bf3985b610ef05a56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6586 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

  • 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 F{{s(|zk2`x diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-setupapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-setupapi.a deleted file mode 100644 index 7b6420481d02db9e4b3da9e0f0a1b57ab7510418..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158058 zcmeHw4Uinibzbih5-CKI8JVU?iISGTq9_=;KO6uFq3&=C5Fo)L2!I4lQ(P?W=7<&d zcF((eAVA9uOfv{g(+o^AG_5eS%*eDt%M3%?vde$PR9yK{IgUz6RL)O1Kc%Exc2#~{ zj*?PTQr_$C>FMde?Ky03)!=%`H*@HI(=*-kzJBlZ>+ZRJPqVjl>h`UlsO5i?J0@r0 zzlq6-S`Ge(pM0#o$ly|)p9bnI3}#~}~t!BdPr^CTfiCthc?^ff||R^Wa}tv_be{yHH@-LEq0 z!E+(4e}mDPKOzL_N8wteCx92}$G^$wsc#X2^z;W9{ZyS0q~|(}e&!q@NH4s}=;z?R zNT2@>qgQH#ApPP2MqgYb1nHOI8l=}>V)UzDAq447cy^>;`!hzrxrGp<-{$mtR}+Ht z_5`DU`~V?H|D?z0pFcqe(jPv<=wCiZ2-4TT!06w+MF`R#|1P6{4|PZSldm!Q&ro-y zZ+?r>pF+Kn{(Oefe_td7>3^MJ^p~#^g7klWozb_U9Hj3ON|nkip|s^;QbD@>Jfp3z zlM2#%{(#Yye?lrqS5+Ck{}xg~`oNuxKGY!Rj6U{fq=NK=?`1S` zE2$t&&oP>Bu`7-S<9H zL3&^tqaU6k6{Lq388uIl3eqx^hxEwrGy3dTNd;;38;sWel2nieP*31Gx^!xCvNdE}l5z-&5 zF#4x$QbGFaGNXS1XQZz^&FEj9Cl#b`TwwHX;hB*B!&8j@Bjh3dm(MZ!udk5`(x1Y6 zLHcv3KhpoWj?rIiCl#dsy^GQRJw_@>|8I@acb_8_plapIjJCW%sz{e}+6rf+_i(xr z&Pd0v7E(pJ|2vF+=-Z@< z^qCJcIswmuv~+;c3Y=FCG#U$y#(n*y*KZt721&26&|OX%kF`3@wN?WXTeG`n8|~If zB%a#sBum|1vff;4EO#I4w3E|GyU|Yu>uY#TvjNwxCZy3gl{A+}UOH*49mQMSkqi!Y zmRr4KX>fGVYjqy!@9%Y2>%G?Lq<65h(w&>y1&`2LU27D%fEImUr`72Xn(g*I`|gIK zj?Ya_rA68EY0j~vw^~nDn(OVsz3a((vH*pgY%V=IHvQyzhMiIS^drJ*o)m4w533obsIv;hdoGV3d~ zx>71E_!MPfwwB3z5w%N~9!``fv+CvL z->N}4>hv}6?oGUYV04yc7BoXyj4>-~q228F4FZzyxM@8dtV7C!SMFOLV^zwN-l(md zJd5S}eP@o(O&i*r)+{X{Wm3ve-$=eM${NVP=PHTyK+G5$&L=pqo7$W72MgWRwdSDS zJFRr5_&i1)Uc!-NwR<{A<%0u9E5piVD8+d(W{PXDGfH~tz0n+1Un-MFjfaR_H#ZioU|NV^Q_B&? zOUmhbBn$JzG~@B8KYj- zO7{>L73n*+!V-oiR7Q7M^O`b|o=Yx^GTO?b>S1_Ef-Ng2Rcng-rrEIYR1Vf5<<09h zv8_DDs+5=Y8Kw@AK3AT_ay{am8W4u}mn%hPbd+V3bgdxDWhsTa0;-{(woO{6lu0QA zREx=PPp{6h4c9qa0k2FMjMoBqZ7s;IWekRE&HA4<8D6PseV)-@>b2JR=%KB#>WRXo z-Cg9p$anO_>LH`{z@^;nmChGyHy#mk>-UuRt! z#5b6mCI;iRP+e6CfL-i3?VRc5_8XlhEsSYXO& zEDhRH?G5sUFb4J7)Du)+v$$4b;MXqnlBQN!gS0#NTqUs^`j#hi4=>fwPZ*z)m741< zjC{W3IZC3=z53?zH%nQJ^PErY6)mv&Qh=Y{TS(c$2G?$g@2~8}TOxl<%&jSrN ztZf*JdcBYf>*X?s`D)kAg@i!)>D4&Ix(IP!jC38d3nHGYzG?S!w0rCh=ECdid=SDS-mnwHb*(OMp4SqTP4R} zYZe1j`YaF;r|*y(3Q12_au_u?@bD7$uD9Aec9pt1dJ#4zxeR`btPj!5C|Zh<%~6h_ zWliPeT2^P!(PQCZPhyyJpv#+;iI=eiw( z@!!-egK%u8ZTGQ0_)P;T$eLa6!3Zn|`&c^s!R*0Ik(l#D>OvRdgB_R{GiWXi3|DFS za3wQ}*YJk9E0lDO*8?qi9)<9PY`F_}H^gk32H2B}Fu5qZi!B$@=}RzPq2(~{l(zxO ziH;;RQr}f}BK&xVaRGLP$>_(+xoBTvd_v*D`Ea^<)#NvX#Twpd5^( zU?YI*(-6K-1BPRi2O7fXDoJ@HYf0KOA$;&rB#&RZPcAo2XClWQUluZYQzcWo1|GnE z4a>&69a3n`||CGP~Fmxx~gW)`#)AN>b#~T9S}UnWIkItAX8yPz%b<@+`(o z{cWXnVHeYU?MnG|$%2%BK84F(iXx7dQgU*cJtf{nw!MtEVGPDBhji2%SU6+QuBE<# ztd{bRoo1`oxgOR0l&%LckDtnwi4+=ex6glt~{2Z?8X z_j`mqQdwy}nkMjcxvjA1%arnwO>U>EjYn#u%WOPS`(T|ftKc#J<84UW<{gmb;Gyk; zZ~wB&d-8?wf2E}(PnCQIj=@%rY(*J9Wsu>C-TBprsSNMj2^sX4$?z<+J-%a<8u`7@ zB*P(~3{R!EyNW&yA=hxZz;|ns;gnxKOMC(oa(?03 zOS(_dWj(+SKPo9?WpHY}^C(N9@oNpj`(m4BKe-oS&#YmBGN;mwXGA3- z578q#RLO6^AHfzhjeLz1Ux7t&)SsA`+%>_#G)x!loZThi=yF>57vME+rGM!-x&qR- zL4KRdGoAwCNc7$KmS*5)r=|OnOlRbD!7kuAXXX<)!t(Y2&ogGeS;(fp+u%6Id3X|> zYHxq)~B4 zOH(qvkfzWU$>D_79iM^W3a`f>HUh)RC+NQkLHx6n6Fdb^Rq|VKEV2TRg*N=!jv2jS zmKmZBLhS6^?TMYq84Wuqcf+vrfFyI{#Lh|SzAo&@*p~P->{zfUuyYN_fiHG`jnF|} zF>=g93RJ$zijxl`9N?GX=Hc}A;ylFtdJe8C3 z`Vt#NfINh+BY@`yM!*hF1WZh6I^c648No|#YR zfU7`)eRaS;U1-m&4Giyl?Zbjh;R2ai*ibfo*bEUPnSKFzXv z(#$7x2}*=7GX8!Z88FpP-J7-C==d0d0DhSsImQy`u}Z!S=R7(LO`rxExDr8+L~Sj` z8dihM`o^SZbpJczB-0=_z`OUw$(K@`*me?zvdXMQZl!pTadL#G;HgSphhvHpTN6m@ z*66s@kZqSkYZLG2wC<;$gC2I6XR=vFsfx^B`elX^SS2FwrCn}he2C*9(;$0z3ZAOu z1voNfDAiWsV9XAzDZJy;5d-)(nPDZocwtc$!N6-K49ss%3_u84EX<=SA&&u`9T)>K zLXD!W%C_cJSVp`A2CjlKe66Kl5*Wa}{pmLjN^KqaM=C(TMU|zciK*}_d4VP0J3_6` z&x><2GC!e+#9+?+LljzAJ+dQD&dGP_Lg=TbZB@!ms27mi`!@_LBZl#;0Fp z(w~0jDEod=$q`VaEh+c@dwB|;vy6Jv@sj#7xQR9 zo43?@z~2T+WgM%VZGAzFe=RGp-1|nE)CfT7P)_x}ECb8<4S&C)jI21bByoOnu)6UUjV zneBrT;Hv{(VF;jK3{<{8R%#SrtQ>z?6l_0BpvNkC1ON3-*ck(3#5aPxLyx0H zjAR%oGB5S-$QYq}lBe6;irwu?jgi|pA~JjGex8D-DtQBrGDgfzpiZw~Fmdq)Mv8C5 zIUiW6PSH>>XevS z1LMRu5*|mmoH!{m!u6s7C!2YMiwnQp1jYeiW}5NkrSP?`<|=+=9!HA9Vr0fQRvs}j zGK~CfH%2gQUTV9m=qRv`5p$5lfRV98N@jec>CxVDVx-8})(a9w=x3w!LEutjq@cZJ zZUS|80&1GMSOe=4-xzzu$;fc>v%_!#+N8`r{3vh&!@A-Nido3rh!f5l7$?4w_bEN{ z9%pA|<6T8YfS*@!B8_sD86VfvoNltlZq1=cSfL|72Kfn^`u}Z!GXB#H)o59nD30gVe2&TZe z@QtZY>${>wTx7VY!Ta`|p>;vUMSe)8)V37Hhwzu-Vv!}#W0kxHXB8Lu>Kg}mDKt!c zfzja`M~~>B@7ERusX?wUI{uau9p#>Fa?$93v8Y)XuWhZaHJm8oe1Xy78&jXwXD&wF zk?D>iHq~<(I@-z7U~keNEOb}bnuB`pG(xbnZDOi=!~CEQE?<$?Ve83LHt3|TWKyOn&sT zHC))a0wcpWRz9Ko8s|Vv;+~o8#TQvM{;UZZP)wQi#0R zqu$Y0aw4LL2k}gb2>hf^iUw{e;jnC(HA4|w$y9yayS8%$Mn;TtnVtN2L= zGN6CFD>++kbQFnm8|0offfqz%*1$ONjdMp0V#3obO@u=c4f3=DC-YF&Ce|Q^@mT|s z#xgoP?Hlo)(nn|G43KPe7WZlOja~dr6Ear1rH^)hgm)8}$34eW@Khx)!7=r?WqF6H z>x;;Z41u+TZye) zPrJyn$E&eNz+a{pKFJd3u}YqYbE+3W(nYm(uR+fZi~!&GbVLAsmx}J#5CZm9JquF@EB4W}v?mex4 zGbZkDlg$9B6|k}%vmyef3iiuAx_dM2H{@vFA)bP#D)}NDrDz|suu@cD_00|lHN5^Lu;AMR{UZ_$jbHs2v?OkM@@-R=qQHac0tfJ3~vI5B__aKwJ3HFONYpe)P`onMn;gZdc z6HCa1e~gK5I>c}?mbl5JZ>&AeM?siaaf0JJzFteuj+6Ozs|h}Rxp7i-K1yErX%m>| zY*`rt>yj9CN0C%zUt8_*1XCg^pP1QOWIoD|7%&2#bL=c72bVY7d=xJBqWZ?U?&-dD z3Rhrc_(t91d=wLcHiV2d2Qt9GDz$}$)+YY4)gShqoh45sm3gq3CTtNz`l$@seQ>V8 z$ncG_N4tu?ahv~9#IEX^kh$b*D7nD?o!WbAMzVY>lk&$7f zXVz_rRVkFlD+9nJV zMs&u&81ap~M~sXNBkds=DZ3}KL0d}}{dr%EFvh?b@r|~}nOjbb)F9V)ocB>HM(9=z zrPd)Enz?nb!|*|?KO7wyTVQO&n7T>kwej6iep%qN5;o|2hMh3M!0Mfq=53YPS1%Y- zH#dQC&X$WcFiv7jee5`C4Z{f-TALjw^Zq#DtbuXj8&jW}sj=UQt%oX?Q`w69BxZB8 zimV$srQ+lg(IeMWsgNTgb)JH!DtQ@>(riYm97NTP3#v>kf$`uQKac)7eYX{QoOpYC zYq>dSW_TzP3wgwb2b|c78%)Em%zC4sf1VS1-UP$Zkz)*ukr+ug$-d@;jB<|2iVGtp z$49|Px`q#9B;CRl7#Y5i^l5#aNL+K6X^$eauM!(FE&IfT4;ptY!e6#(X^|z+W0kxHXLUrWo(P$z{()g1T@^usFEBcMqt_7~ z^!?hRbv4NKMaRQVbd-B<(2GU~cnn_X;CzA6;Ty}2R+SSSMXajNIM9KvcA0g@M&fjm z?r=I9Lc@&5-|&rK$9<)p$Uuqk)f*2<$e3RmtT)?7lO=REj&;}9c5SS;-Fjb=yR!ij|_NSPDg5GM67i6O+ifgfl=Ta)sAbp>HAbr zB~Va<+&PXE%195jx4%ahHD9=pr4e#GMF9-D40_$Ond^Z2fs|W6(CR{EGc?%0zG1As z4hjcbU~I%_Hx*k&<~0p5Z2d$HO7X?U{VF!NWxy8smm3>JY^PM{bJd?yV-|L%+AI3o=7sEcnK@<#nFII=zL@Za)Za?}-{?=m9CSJAJB z6e*H=8B393rWgkW9+pC*qv%PC6gtX{cNHnrzrtt0ve;AN8SjqwgQzb(UNmA1bJHF8 z8p{mzoxZX1Xn|1~upy=fxxN7N-RV_E&T(>H1!cj_DX{MFj+5&%*WDKYEIad<-pJ|9^K#@9iP%?-bUS!>4qY< z(td%4cC+7KY_2Bzd)?JL)?3Tvo;Pv>1A~Ny{X7LvRq_fPg>KNQZWw;D@PyS5v%b;q zxFVdsU7LO=;#KdnB7zOgmRUy>S=B_hACx-;vHxIeb**8=j^GN64DTqn?pMb>JTqNU z1Q~S)GRkf}T_iHVK2q2F8Sulo0wcpa!X2$BR2nv&QN)T`up*<}b3ZQ1iZTT#R4ZyM zv58sV75L+t_w51~&32m_6@26Kq*rQ86!N^as_UETELeB~TT#C8?Wie6rYZhfiio}It@g6I zU*YD_6o%^Su&^=(#)WUBJ9^$uT+|@f*YnRPdJx0L z6BrS`(eCJBI1y1~ENVALM6%LcZx8NWPu3H3FHbg?9^Fi_JyZ2HSlF2Y<08hqP4ZrN zKlCEF*p=d9sk^$?OZxqLdJEmPv-?}^O%?M_4As{>Z#z?9T=>SkCnjp_cVg?I3fs-- zb1;xU>`OAo*kC`MRW!~o$viCGmte%FL(XqG#q4`_^6s=<@ZvcQRZc7Vg=1 z_rcBzXo)h%@~)*liyY?`%?CME@+=(L{8*{VbJJ6#(a2)kT2^4W_l;*qxuJpgq1Eatc|zZB`5XwrFl&Fad^hrHK!vZhKP}0<==|aOGF$u~q`iXN`|si@c&ZZoWFWWr zQNTsDP12vw3@rb?apt&l8GWC&ejjJ!_{#qjIow%0lB_jbz2mLUa`&7;);N>F=DbH2ifC4=~FcLf?$+Nrl9R*@!AVb3YK#F~BrB5Id=!evMYp4v$jsVnw z_{(&_c9uYoRdOEAr~{-b=OkZE4=nM%G2%%*78Wg^OyY}JKHCXjpKzenSvd+`L95%r zNfTx6_i;8A{xYfmBuk*jDtR8x4MVl1kx^@IUgNEYsH+}CM! z`U99W)PQeeFLsxq=fC6;V5)Z3`&)AZBfv8*JiA-B|D)BD>3|~hA+{j`jwXZkwM#?# z5&ihf`u{1GK#x`O44fNkm2;AxYYdtbSn7SF!aH=!Cw}8SlX~1W%h%TbIG6fV<{PlH zD17gvceVlJqiacTaJJkL;@h~)XDGOzr{Jkd-hd-VfujkekN7gg4CM`s6yL~kL<)V| zHVdf;Qf?cHlydJXHWH-3vYd%@LftT=aNfX3@r^al=y8OoQ!<@$1K`M4r+h3$3SG}= z(kSKjD{iHIifmaO;VF2klGovw>J(cONJ~38PTZVh7_5jW5~se!f(U$&G9$t( zPHmR<+^ChIvlzqJ)wE}vdS~1_#)KF#DW?XxzJA8dhy+;00E1QYon_DxtKHK{U))zI8=oqoH*Q31+_RQ+(3xm0B`^zOkn~oX@Yh{Q$>SZjXnJFjr{Jkd zUV|f!P1&oTR~*Cm0&5P>IQY(p4*HfAKV(Bz)eTN`lsm?8(dbZAhZP;;(H*|=@;Fb* ziH;&O1+SOUfm5VVWze3rykk*bGX*7`kybk&!$`4^&kd{}eBm;(#(;}-wuS5C2BN;S~wobNNokz-U`@Em_405Dxf~T;W zJq;%uF_o&EmwPQEu*`c#nrCJ;Tv1{ADwb46C8JytC@+ z;x4BLmUiFR@eaL*zW@?2Oxoq0cgHF1mYsaHoq<}ysf`0$;^6#AeaoVaf3LfAoc&d^&;h6UNj%JV+OLNE!We$uN-*|Gw3w_@T zt~P|1Ylq`yo=H`CV+5nYi~Lp4p?Dd~*FmRZgxQ1xO}{)bM8DLa6kq*vjT0~BUT^9f zVMeFHs49-<=U)ut3#?6iBg}FBg$YGMn-oFE`<>|69P=-%Qm@Rv7{(VE9lp`$DSdCU zxJzF)`cz~+(A6qB>eL@;z;d8cd*#>D{zLXh>O2KcRq`?%RewZO-R^}bEP?Uh8;y=% zb)fIo=6e*`x9JDWcqla%d{+X=y+0FleWWV2vE=-~DDaI*PwQGC&gjmx0!o3eM{$*o zg4|G5nO8gD9wqq8#%u3n3G`Scufkc^3|aMEm{7UGB4g4wS{;!=->pqQ6hX%KJCHFC zciF_qP{P-FZ6c5{mN@pLXB>OylpfQIoY_^ zlzjSjZI)0G$$zgV`Q?tdZAkK6#?N@{9^bfgj3hWEzlh!Q9!c`)8s4LW=3u>FYWu%n zBtfdS(G}M616w}6@#VP7w-W_LcKLp{ih@nLA3h%qr4p|wa7w?jMB0ZpFj73D)3dwu{l?!MlAyY#@Uut`E9(=!@#gsL2l@_e{__ox>pODvu2j}-pEH26 z${cg{-PIm@dRr6BP3@Atkusb!FiL!5&k-dfL&+6GP=bNCO^y<0vyo!NE%OnI#2wy=vc9j= zJlPhXI4QLTxR!MTQp9bBr{Jkdo`oa&3Hd7LKICA?3M}{Dk!F3bfjHYDll!aT-TL|q z??Ab)xB5B3rxH@$wbH&ZH>KJ+;Wy<4mVV!8^NhZ3A$}<_ll~&!@)j!nNjqU5wleHR zUv8`Cqkv@mW%Di$vjlpqk}ts-wLsm`1bJ8tV+@QD-?((d2z|pgFQ5oUE*pZ8vir&- zz{tEWMi^sYjQB>aO?^iU!o$RKP}#VceC%! z?v8HW%+tJid%H4-7Ms`F4yZC-Hg;Td)?p6yzcq^y1)Lu{&UOSR?y$M=f=C{(#PRr zha2$U{NclMbMrJwJkQM?oe@F<1hrZ3i5Uv41gL>=A2<6n{*h8KN@g_i=%Fx*sU;pV>} zH4Lx1o`qN6OllbB7Fc-gI;mlJ-2*KA_=BW|;m-3c+y(I%7Dg-_dyLdDEIz}+Pr((# zJ-@|53$7U2@cS^l@!zp<@7GBU!^uBj;q*624MX?4ES&u-Qp50O$P0!Czr{lD8>EI| z6XY;#!EeXl+{S|YN>an%LH;p3{O2r$a6g8NUt{4Bco&AZf0czx-zGH-?}l^?k451F z@Ov>l{;Mo}=*y&r;R*ORh9^JE!pEKK2em@HT{*Oov!&iTgh5z`Qq=w;Zzs3*Wy)>KI-O|Hkmrvn<@S zMd~+g^?J*_-u+`c823)wp&j&={ej)P=y=x1=|QB^SZwrMXA?sd>w9+J5A2CG>J9vh zo@?*gZg0F}yY7*Np4Ed}hc@Z;c5G{KwI5D;=N#|ILfdxXx2`&_y>t}be_PR3; z$JsYXiOD_7R)5DH&^tTcz}`Ezba)}18@N|3M4z#;XZI(eeJ=YWQ}LqY3cMnnpGY)H zNXxeJWNCsZ+sgR`EIyH39uC$W&sGVGNmRbI=}$r^kVdLNgxD?=%_InHFFYOieS17! z*&De|-w9iz5rY3DfZpx2g*@or&|T{S0A0J&#xJ@W_`}myxFb9&Hy!TW@h_gVJc@?R zzzX*7?<_6MC%MQ?hdb?X-S1nj^N2k-1%wmPpiZRs{EP>TUG?389nfDX6dB&7N~ZU9 zym4rGeH+USxF4jl2Y^;2ch}C?<1ldgp*;}A)3M#PH%)BFH+%$2RHtu+j_-9tD-_5* zORBqe+6u;Y+Zm5sYoC^fSd7ZV?%I7L+dJokJ8j2u{cVAYiWDZzO0MM%x=;i4!%k=q z$0F?Ljk!YIwRL~HvyKp1?RM71LXi?c))_ibu%k)1GH^oi*U2f}wa)r-U_+TD_!DXe zbz*l7Dhw=lvDA14nUhNI+Sq}24es{_J_Bzc{yKQ7GM(LN4@W)%9e6mhgK&S<53m$d z@Wm%glcP`ShJOD7*6JN^%g^2}C$f7+b|1bq$A7BMz#Mng66(8KsZX!En@PxbBXtqx z((e{upAurvfFEdwq2p}>>Uix>e|RQ|%Ac_1U;+*i)b)ML@HvRcyX7%UFSBQWbZt>}9`F`o1V#ai`e)%kN_v z0LEh}@!yfnqau~Q>!jtneqXEu;88r1%BZSirtRb=XA>y7#JUjPB0M%pmhPjiS+?lJ zJGlV8SJeavzg3mY?u&JyY{4Z;5=~&TNfUeD=0i~bW~v?D0`p{gA0zz6{)m33Wy|wD zXlGms?{tkfLo)NUwmt3#&Pc^%{-CUo@C-yEC}cu|4_`;DoiHgQkB!e{v+V>aO%8F$ zZ_LPKpOF7X(81DgOzI%zk4&Yqw}4KL6|$VGR6baJ zheOL7V4LisS|%!uvnAnap0(-PT|3xy`ZlL#{Ka#U;lAN0+&^RY_xrAW!h!Ca*ybq{ zyK8N~9a!6K&@NIa&qRZqy(JV`noFv*?iwq|Za7%+Cd1WXxDxhLKPWFfxpN14qgdaz zg238GXwtrmr2RzCnIWD3R8|Y76@v ztYcpkYkT3gv_O3C85^NG$SK`yYJ3;;I4?loaA`qk71*o9lvo-cj{OJdUO>+>g*SGS zLO{H?;|c9)&h4^{_yj}|&5N^ZOUfGm4N9@>bFh;X>wF@^(~rqYWuL+jr62~D1+R~z zHk~~i8Z&6j{a_z03o^o_)<$HR zln~3ZAI|W>-hmak@U_{UxnlXxNwGZdDO9Mt28Kj8HflKbc*AEc54T88k)U^l8M!#I#s$W_5Sn&F$wK=RuD!;GyZ%z z9=Kr|1`4zuvI-E9HU*;wpEz1a?1o*(XjCD*!O-|smO zPgr}%(Kb^I1t1T;yDJ(~v$6Q^%sV(ra}qJSGe-59n!W^%sZv-R*xGqLkcx`_@$kfQ z?+c(S$bij@G(R0vK$jnZx`KZS&IeTrjdN|wn~bmyPQPF|ozNNM7jAj2!O-z|_ehHF zj90*26tyJ}PoUiwOv5>e9nT3*+2KV$xBvhSfFszt1->i1XPQW7y=(2-8-6zgqveoi zLyqsPpRtGjuDx!JL(v%^$9LA(eQQ8+EmUkR?ApQarN+Pp%W&zB~B#88fo9M_9 z3P^~8bZo{~onRb_*-FPoQj!2hV43VhT`TrQfMwe@tACTCo+X9pk!e+^sFH4T(wxke z1Bqh3rUEyBD6|O3Ow1|vNrVbMCs9y2MeSOO79vm&=e3$5L5LDHZz(#8h&4m#kAdYv z@hemU?FqW*pz*+aIC`XL?C(<_5*l9M*-4YDNJvF7<2dlzC1edf?Eg7(01o|hWgA#qs1hTjUdcLk4-I&B%c1=y|au}2~{J8f!z z6Mz47p=B@!G93&1+`VMDhxmkPBD8Lc-tPy?t~DM*UBS_wn@$G%`}^S`KN?~+5;kN+=s!_T6_0WFU2mXge z60i11$7mSkjmV<${5%YGXH=Tm1{^;ou;>Pw^|t|1Z=`?8EP4UN-wEj(5t{KbXRZxM z>TLW*N8x2}72ZpDTaju57C~l5EtjwepLaLN1ZuekB-7&u;k*>dL{V^=`^xuj$A4YE z%;R9xJIRbTg+#;^z6)_k$oD~DWsLt8|B^T)w-`ihKWY0wB3#o_!na%($MCv8j-feE zv4Q3he*Srf6%ypCc=GU)_@*; znRT23^*ztBVAo^yeKyH3?wfkJZ_bN7WTtIif=Y6hZvOzQNNIg~kh=Y*@ZM>ib=_T%zaP4CK+(bACC(JvdF0fyQXeDl_(f7%LArxURFvBIvnJJ_OfD*GXkNtL?~% zhVkFf#QzbP>`f1}Z!-M9A22Zs|K|nV93=i965cxv|Djq=!vCXcxdi_|3g1^3|DWLa zmnID&T*}OY*J1|X;5>k7?#WRnpM<|T52Wl14lmXk03ULM4D;fc9xob;a{qS^uriAm zrv*G6Bro0~ymuNe25LEp7oJ)!;RRZdb$RhL<3&6xw$wbp_7D%wgF`HWp6lejaAiD* zvzt|f((#7TepD0fm4%ajKL&c)+Ec{B`BVz+Fzf@KT;`fz%fd-3^$6L~T=r-x3if$3 z35GF$q{2LcIfG@XhQFFt{f}ob-@5iNFOJzxVV)%z#{7aN<}0lRsgdQz6=^jeOJTm; zmd(Oi4O>`5uHvJ3!)Vv`+sZn8<+r^pLHkX>1YI5eqa5wgQZeP$YV>WIsJw`)<77ae zN-~UlUEl4ZJYJ#dyK>yWxB%{diQ%5Ddj$8DS(8V;repJ(2+ib|z`;UO)JIhKVTE`F4N|R%4mqzAXV#<3~Pmy%^531#o8Xmu|ZVmq= zfwA;Dvn=45WoE%$6zw7l&POqLsgvJ;GfpeeDGEM$rpOJ3xufavZ621n^BxWEJSbr9 zAi1+8ymy*~bEKA&xbuiwF5%9r00+9<`3Qj(-4rX*Pte z!lZUp)&*+hryFL1t`GR|5y=OJHSnxf za<+wuM9N}e>4sUL>j|z#LeN@`ky`cvpp8VA1y3LgGOLN=!^^BU>5YVtvMqXka}o{X zU(@5;#AWX@BO$6*fcKh9$7BIJ1?&{)H@y{0#~c|`8_R%1W8#xn;z z(AD_=4j?^$)%|iK|2Ebr3Ra+dqZqu@VNNI2eDbp|GGT_4VP;vbu0Y&=4 zzW~gjtC0wMA~4*P*Dk8r7tUroWe!p&8pgk_2l=?{8>mK3@Rk8}0o|72aln6iSCn$M z2G|F}gZl)MWjr9ZPCfu<=m)2>EKG+{rIVHGok4D&+MQ{1R#2Owl~c~N9`zz2aBsg0>h&IP^M0qHD@ z-GNkD96;arh^9}tQE5O^F<(Rj`T$}+wewoJ>wirRD4k_d15%_IuIVcuunNu6n4p~T zdC8cdBK_X?1M0KOH{*{ev*x4O@6BdAndg;c6rhr4K3M|9T(b zA7**uBK9fEPnq%mBdi#NzV92N7`)WUhv5u;Upd=i?Vposm;u@zVA=9hjSA(KpCY3| zA7c!Vc5Y=@DX;ZYb37d2T*`We2kLagOwjZLH;>3nsJvsG33C8rT^s0oBPPV#wZxm$ zMmrUkS|@rP(iskJ4?V>q=($dQ1+J`3NOr5qWIv@IA!~AqiOCsehpz9q8ZAn{Z=S8R zNKfHCj2)>Bw(;R*)|51R3V`-hwzE`FBpSxQu7`L*9xYnwNxXF^q9?sO!oRptI}V&I z`^qVEw1yB{h7(Z?Uh3rIaAqw-v>_vNme8!H28|+1q{3kmhS{L$FK$+BpkFqxH7LS{ zcjd65MKM#}Uc($Mp(|p8xT_THT}y0;B+Rm5q4FcEP%c?fujZPH?^Lh>wqvE+9paBE zvyP6}KZlx7jkgs^KOENoH(tX~g zmP}MN| zG(XZ(hMA%3gRVwlOl3xqQ5bKFm=SGn4muNT4h)9XGBZMd6b717*#^Zl+Zpe(D%CIp zbbZg&ibPk90Y9f=z{*~!8K6G`BaQKuy{unBoo<)~+CFBvFL4Rfg=#b&B}bvrc#o)9 z(7HC;0dY${v?!%Ha1gulE$DigD@|x>J5Xel#Xe&I_L{j$08hU*G@*31vwZ?ps^K<3 z)3e-Il-H=JY^U6IT4XKjJ;s2Omh1Zck|Y0RtO*osN3V}!@KPu5fHSilvFwU-&Y;Q{ zBF*Cbu&&RzT78awzdUPDkv{K5hVyH2^*MlcCfiwsUzu!}1DgKfYV|ovfvk@qv4|Go zz^=rBPG}Fyt?g*8K9}YIW;^R55IDe-4Rb)#SKK@-_j#*vrCi@BGLmj0bAXyZk!5Ap z`d`DU2|@Q+iem6mCm)3~(|tss)2vTv4VY>8AV!rQ*7YSlgr!=yn+>t&<@N;F)U~A zg9~d1I&qe>hM!D=Va)6Lf2(?*e#fg(?*|d)Y3q-6&-*qXvio7FabKX`&tyB}0A?x= zFBO_>m;<^V;G^;$e$_ZS-VZ1;j_zT`0XDm8V}C^L|I3!=drseS=`gxd^C7l;@^N%$ zQtiOsPuhVgMUbJ!EJ?#G(e)5lD>hDTDT<7t8)aG2w#WUz8HJAT;Y-S_De2F&;kXyF zpVgYC2pQ&urr)@6T(%-rGi`Y5QDml#FY*G13Y2{Goc>H326LL_tOZp{GK_moZ*g-$ z)|x8oDaSpIoYb9t;AL@-i}+49+fHz<)NR47w8a!>9jrz%c&U?LhBNCmbCC0_FD)D; zy?F6n@HFJhm}SJgreC>g3E0QY>q{4D35F6Q%B>Y$NlVbmZwaC#!?@S=C08ToDDd-e zUu5K*E8;$$SWfH8@~%dqKZk(T@Nu@)@K2{2W`L$Ax$+!Lulb934lYCta9q3NZTZjx zD0j`T?>ShFvn&BWonRRAnjYf{^H&e^52Z2Ry7n+H>pBtU4@T3`^bj}a9~zoplZ= z#tw4Lm9xTo2}#yck=9%}ua=WI@Q_+Aspha8mLeHSDtemx%J*)^KQ3S9afECG2UY{y z#<((jyl`F+9=z6%=L}dK(cB zT{hT?G@uKHmRy%XT@DY9_yrb0&&kfK=`5#e_f%of6vL?3^xIau?XeHZl$1mxN;H@v zs2^le-zv8zb0w&6<)WUY7)Aa3ac$phRo5f#^H5(zyXgb!SN6id>W7`a?~Tz!UuOMX z6ZNSqFC7tEmjl}h!8bJyEw5khRYBu^D%W!E zq2wOZVNQW_fIW?)Wly6Ny9AB^ygM9LQsL*)RvR{kw86;Swkhv#k3MFa?8R=OC^7o5FjiS@&JFoMheKRm&xP zW3&V6wiG?&z;G1qpRxP)hAY_8AiUQr?**Ig{Ic>MKt{f0r|`z)C~tK-ekBs3|GQ_ zskIzUtB@kwDMcqY-7pI@y}!+4vaWv_8va?j{*Is{AEd4y2=ASy>th>+2fHLXjHK&7 zrj|=|ecWqZSJ(ep&Vn7=b#bA;RuEYGIJB)B$H4Q-Y#E9*9&Rgr3l?*9)X6`Dzra=+ zp+3&ETns9X%#t?D7){S{v)XTre(emi62=r+C*>_u7}KFE>5NOwmOCO|aJHO{V(^me zHN5H_vNbii}HoK;}%T`Jve#&$K2fKb$hnF!FW% z)73iEQ<0BfU$?b5mqtFDR(960FTyj*-22d6hgv{6&${S;%NH=r1zj(6wU)$GE)?;= zolUrK#>Sx;1GX(esd=EemIQ;jkZpxxB&8Z=fTj<+8lO!GkhNbWz3d_*Rqsz2ug3q@8|?54QT@q}GkO3j5^S#=?_ z1j>~aIn+~G&!K}t#xNsvJ=RC$bywaG@R;SRJI^3Qb%}%Y)#c2RmuB7L$^m#}kS_V^ z9#zXFI?)_FV=0os=dnXQ>;6oN5$K_#im>a7n*B#vHpaZZ3PSDWWyZL^)Oc) zxN00YrQ$%V+-<>?a-cPx15vVJ4ruzCt33)R1+qQvL?G0X~GZ*FL$4JDeB7EQWIPL34eKNP9}MotikUPBe^vT|e|u+1FO>6wb9J)Dm=kZEFesTjR0c zcj&6YXY6ff3@b}U8zGmuC-GxQc{sSg?KF#^=Q{ZuToZp=P7%mz(=@5+uJN#m8!kLIR}c2yjVdF>{#Bmeaa7=Em%$u zRiyG;T6Jf%DYBmKFXRds=7O%*c|mRuDlTv?6dBFk&Tye^2MHU>+$PLXjZy3?oQPuZ zQYRmWGxik(sPn9g`!7t9Fw6#R|Fb-jyIOURv!TfBw&e^P7*@)=Pxvb^190#j^E`{7 z=Q?>GTr(_44@wp2!4eE(zVbcOFO%u%7M{IO#P@t6jd`a}O+~%?J=gDFfL~MQRzTPH z%we9+eojN65HidQZQrxp7F3!MZwrcOMlCfj){zxu=ESYEh7sEY^*lG36PWe9<{_p8 zmodx;UB7d+zqqPJNk-=tv7IgfBTfYV#j(BW2W&Bv(yu>{b^|=PhLjWy#3uWTXR|Ff z49Yaa=-2ix%k4pBIpys^5%m8p8T~LiyWINGm7zbiKVb&_2eCt8L({k1I4+~V>KSwN z7wH+_gXni)Q!4+tvGRpx&sfZIO7)Qw4A=OYzTyh=SSL&K|C2_&2W+`NJHb3t@R@&@)%m#CSDAahx6@J*b$#Vp z77XU9?5DhBv&77D?gsx7VYRz~0-53>;9orIY-wdg`*lr@W z2VnSwU6*0W-?rZ`|EkxTYrad_P7RpONj1y>O}}roDhnk*u6}=00R}W=20&d{UX4a` zRhA6CQ#wt$KA=g4aj)s|Z7j<31oogBoTb&A7PN+g)N0-$ymy*bGf>M(T8*ccOKSci z`;8wXXY6rk1z{T|%J|!*#yqxoc<^x!hgbwX*U5X~+Dm0usOuH+hS9F+;cYI+vxlqk zZrsCLWW3u^K>N1s*)UbuzJF{7E8eaX_}&n=IVf{&e@ldOj{J5C`A;+C=VYDN`njcZ z5VgOq_jgeq@le(NoDVOCZ>_8MA0elm{)JB8_uB3@+*f7}ptgqx=fE8-f}ZQ-op9|5 z*%hppQmo;czw-IgZ^G1=q~|K>IahQ4f(3Hg3U}UYhb_+!ckJM#b-}*ha~_^tEBhBr z%f3j3DW$~3%yQ$Xrq8!gwE`**C4GP*t-xW*4N!o6ch`oeKKEMz0C|*Mp$C8rNyQpQ zx~>$R=PA;&b$_`LueCA?VmqB}VKhTtqG9}N`)%dbb8zl4OhZ<)Fpr}Q<6GBzdswd3E2}2QcagDaKN;iu;fdwm z7j!3^Y+NEkMR|Q#IBpdWZqd1iMbLAdJPFqr@0qM~lV-#RRk~p&XnS#GCRF+jXF?JE z=1$6lWq&w=t&8!?kFOE^M$B>=`%;Qw)a&|it9gsG7R%T`6Z=h((U?EMQ19B7HyPoY zhw$VwYxP=lxRBk;Jj)r-XA%r!UelA?Sd?q}%5%kQ`Xb{N?jW5pdT?7_YcO=YQse#Q zv?dVsoI9f!ywu6N;oM7QcWIvVdd_gvQ$!oax~7-5Sy?UVH_WTwi&!mx9I(FP+Pl$O z=MPU{|HuJFMtOC6Evuy>+q_qsmuMLOy1v_L)Xr4=7a6tldeZTn@RS{1^n(j9VljX@ zC%Dx~;Jc-+_iv#kB-Z$62d(+s0u*JHaVYdDp4hif=RMx@;a=_IrjMfRFcJuluhVl6w zaOv^v3Io!zk%n=u>A7t*tC0!#`JaP?;yh*Yus_Ieh4?;`V^}IHY&#~kDjq9}==(ny$mT^6$ z$eJLx0KQiP8wbsoy8cGp3=eLBiO1exY@Ohi+n}RhRz+|p|2AB6Yx`Ga&7{)6IkJoR zSLYDfuoiM`Zz;32MQdiDnB5e{lR`L%I$YDc+Nk=PSTW`5C`J03uZfVpyyLiK_o{04 zHIdjfyP_tZjx=1OYkEccZb8%i|Y~+su&X>Vm6xwK0#NkutO0BbKt#Bh{S*+SK zrEviD`+}~wwCaOSt>25-SYC~|_lKK~cTMy`qpXTGyBKA*USH7ljaIX_r{cSarv4*{ zZ`{{=)d|L7x%;7-nmW&Jsya^!;UH>qO`mAB0_$`QriiuWhhwC}Bg@<$)mniyBDDnY zgTS_?$Fq4v_ISP@+#<8q;XBVsO6xny- zRRk@?JGSfMqVmk^4>Pp4?dQN6^S80$6s(K)MlpD)lTX9BHzoUmOLV4`Vf{waN7_6p zue<#?z-bmU#1$Y9k{LNGN=nQ?YbqYInDH*PT!Y*QD9Uz8pBMZg;g5=`!S%$dKhp z5Wq5)usum1hR3h$ja;Yigs?FI&XPLm4{VnXn=G^5bXQb}oGIs{7`)WUZ@?LuqEi$p z%4pwUm^+#t+-hzW`|ONDiGG%Fr^qj6| zDB3L64{LgQn}?4}qcN*>(6}yBWF54Z#aM5R$9~^|kq(1Mt0_0`UqfpHadhTV6oZ#K z`6!%wQFWfly37EjfMG6Zdxa~#9=~Xwu2ZDm|3T88pa}>_fE)mnl(#>tRqv;=%SS)R z(T1_E>ld!{dW3o|){E%%FC}g8l)Y(U2m7mzYhN3BeLBm+4i2gW!b5mYK+O2jEMy_D())~UEw{l}%YhRLV zmIcsf3WKH?M!mN0wVGo)t)?$xqj@1kJwpB@tZY_p#A}V*N5se3O`|;(YZ&Rep4Z9? zg+R}>&=f)X_a{hSw_)MRQtLB%*2oCyG`oDI)|dc1+A!92J+8-PFI1(=T$wI&V}kV+ zFN7_|_ZG@svun+>je#9!S+vbWR7fY8#r?dd_qFP`(kec;jxS<`|2~TQ)+F@1eOQ^> z#V429>!jCj1#t5$3*J^FL^i=N<~6;ni;DH1ehplXvqs+I{1rU#a*!kMe@S@nw2}9p zQp-sr@1Ir6C8LMeA%9De4Ca>|>bWT|AZ!hRZkWu~qEolxd0f5KiR*3zlX19gxvm}b zU@(4X$cE;xy4Lo%}S ziRRO+S>C{fE_$h1x&gl*56;qOSp+@TNe#-qC`+dm*V4k#*g;p2r?a1Gn5mi`?ZpMz zyN4*B#Z>HD;enTfWa?wWd#5o~tVskpiK#ivPndc)R7n=U6X-j5t?ZkdrvItA1X>DfH&)wqn;uoWj2Ux-$-8 z4+EHgU2fjsUTt`A-n@ZD&~u%97_Jd-(%I%d9@h3KQVlae)0bcET*E#nBSO;pBn-G2 zl64ty9f9@chR|PvsnoDVSu5DyJ%>*(bIYN%bB&yB0sm5w9Dq-MUel-FJR<8<)jCex z`%`2cr#e~gwAb5KXhk(5+5B`tA?M$)cVwsu$6XuXSZteus5rC~?Y zb>gjsqWu<{p!6})z7-Q+FIRs;nm-}PyQS@bYKGh8y%h6 zw{Mh+#O=O)V+Rh7GS1nn2^j{eY!hl4<5v-a z^ohS_^h;kR1nE<7e57Cd8AhLZJ0VEF(P8wtWkQgC2Yx%!=bymn3ve8y-}^kHFTwsu zfAAoqFSiIm`Xji$NMD&|^rzPmg7noAqp$r5AxMAmn~c5zeMI`3S26nLIYN;B;S8hy z1=kemTT7INN=t;&BbLb!(p963zT+A)g!G+XXY`oQks+kVe~8hwKSYL*p3-9Uv^&WV z(lc*nblo$^5Ylr9qv!oG8A7`8i;TYKqhtta^kGH^n`8)S;sm3^H<2Nvo3CQ@!mpAc zr1EbwnuFhgbjyQ`ZaqhakdDLtNQ+a9D%X)Aq&whuAf18Vfb`-|GrIe|WC*DWzXNIQ z0Y>X}GKBP!I~Z-wks+k!QAX`WGK6#yt{Ku!LifSBk?x1KNDsjEKmzPidgxj*g!Dt- zWCZvfLVEbijNSs*2kA#X#poR$BtuB=emkT0y@3oNeE|MO`bm%>eF&}v($9X9(a(L9 z3?cpe&oTP=Pmm#`f0@uP!#C2udN-p_zm*Ij{cGqy(r-2y{Tuj3`nL)FyAByb`r~|wI`Dyq`w$p^o^^?5YpdV!|0n= zkRhahfP04YKjC^I{qxr;m4?1XD2;rbl#s6cOGa1!BPk(0>Iz1WC8UJ(c;F#j3+<4e zlF-w>K}tx^{4++^eVLSyp7TXUH++tike>f3M*BZbN=OGj%xL_Bq=Yp2env0&2~tA( z{&zE)ewdVyX5Y%_=-WvNY5tvz7T!QgNGIWMq@_ z*NoQSw<4{7p3zG_OG-$a@OzP(pJCMg1Suh1gx`&{^8rTpeTbBh?td?%2jCm&)zAj% zA?O>@>)^K`z2PB7Z~7!DA-xsOjr60RWAskAHc0P*>w)zC*E9O@%cO+#!49LJzMGVg zK75SPN2W;$>0?uje({B*g!IW1jDF=PDIxvp3mE-6v_<;t0;AtrA|<5XUS{;Wby7n5 z!h?){4}L4smp;nq58h5nNMF9p=#QXpNMC__h4iQQG5TtQl#u@X<&6FkelyZv-Noo{ z?<6Ipzk}b2^pC(t`X@Lp&@g!eqv2PPVWcbWW%S588AiJ1Zbpy3l?)?2Zi3Mhr^qnU zlV8Z_sdHo)=@~~EJ?j`5M!G(s=fOA9jc^R4?^$3p3i}`(yqVDi91rR6G^3lx$uQCn zz=Naw!B zDEa~!M%wrUqYEDvEWEiRQGmI`hOoox}eHEjZZIfZ7%V!zA68envAoLIE zwWEw)|1>g;^v0_gz4;0TSo8yDj7!l@jqnr!LN{Eq@VsX zMj!q%8Akd@LLY-~q+k3ZqfdU03?u!@#~A(UyU8%pufLzsXWvSOk$wwsf%MyNXY{)t zAj3#scqgOZdovkE`V#aV=?|bS(w84#^hXbpVWh9Xbwv8pFEIM*XUQj?AkX{JqMJnIHXzpGzf^*2a0y%DZC(wjfV=xuK%BS>$5h|#;?8|l3X{TO^B{lv=|{ZxmHApOh+ zqkpkXMvy*whS4t^B_l|m7-#fLHZrq4g z<5sj)ZLX}vmm2lxVpLygZ`3d0F4Yy-bu%I>D;rUDt=9)9D|f=#XE&nN3#VH3BipB^ z501g9YMad!qXZhAYDDeTYBM@LePAMOs<8z|+1!q?q1}A@^z@W)pyY2VIoYhJf^>DI4ZmS+NYs-&YR(?JG8;)|U+TMU`lwD4VmHYu0 zL6tKW$Zv@{i`7==^z_)M(0hr?Ta}Hi7?-tLh*ztfTHKI(4~LTka$C9gLff?WM{C<# zO{J3p4~}-kgcXsQwNY@w+GHr1ZAH~ibhH(3E>=5uT}AAfgm7G$tsLJZ#C_t;X0?Uj z7H^Ei<*nGgV%nl|+27}C4LFu`2jN(p%UdaTFlm+D!P#mfZq!z*_1e9v=IJ6ls?c8T zxh8`433fy}Y{J0(nhj;YgaNXpsIwfyxALQ9cG_-c z>pZl}^ju>j14z9B0xxZ$+y&Yqy8}zJ8`|&5Sa<~ZLpulOr7hHRU<>ISh6b5@ai(=a zzMvTgj*tJAFKNaB>3kbBq<-X{t!iDlT$)5~4QCfGuF#rEpf%dt<=SQhXNX!CwG)`d zxL@4btafI0I#ETjS2;qBePmm(nt4*-&*Ae&v<@kQ$z*K?8D)TMwz;F~7H6S+6OJn) zJY_JMw(n+>>m@Wjp&~}$B}bT_RkVOMNtjt11vRWqh8y~)sfpCWbRzjYvxZ|NyyTY{ z8i?muh}ZGqq+K$R&yJ+nBj^F+BvSZY%2mhf1gumpD+2BgKQxo;yNi3Xmh5@Wj>q>! zBOskQVPLzB)adeEGgczk?l&|@c&vrmZ)#MM-%U-0a`Ma$!`YQSCk#ApwKKa>t${I? zR9R-Tc3@4>oMv8)%H@Bnw;B`~_T_gQ47_rwQVt#i{;hU3W2JJXKPb=cA^f3>nRFwn z*N;c-c6B|PiMLOuUU5a^E1YspOW;>-t3;hUs&yP>jBzufa4WZg?`vo!b1S!%>-Bim z&`#x7j-77RI?-IUQ=Nf5E-b*nL;zoo6!wa$7nY)WRBbbhe7?FGN&Dr<*`Bv=MXeob z$?1LqV(5Vl;>xj8;B&(GbvaJ{Ap*!O6!s}M+O^q55t@7#L8k0sJ_WX?lFBhaQLTBr z5p8XvM=V-@lZdr%tmCulmQ(X{k`B-vR2kiaK1R4oV#Ab`%0-waa)#4ml?%1zty_&% z9B+yDN9DtjYMWbi7}(6U;->h((*@8r>YT1MAVM%x>$Ih-s!M2V9f^1hfy-OLID?}< zYsI*<)$#@mz}A+c^TNXx+ev)da=uZ+JJeX0j1sn0B((KhbiTS(@66Sz^?3bg+>rDD z_A$zF&&FD63R-b>ZME8lQG#IIy0oYqTZ-E73+e4yh~o=eaOs8Ko29tdW_&Tye~`3m zZj)^PROv-vB!?D7*q&-SzrtA@z$`=VdaVtf+HAerhNz14!&C`vP0i4$iU5h^35SQ$ zh1xzcY?OUc^Z*-fWZqd+5j_WIYG+VIX?qqH;3I9FFLL0p($&OYh(}<2+LGGC>{s)! zSdLI*mxWMTj*zqG8|ULwmD?f+PRUSQPt39;HteTeCwV_6ru&_2Mve4T@-yejijY~ zEokUMG)nABWbE{aGjUwcIw3xnS$j=v*bm$@KA1!8g&!pB$Ha8MBaN-i>|_e8HJQ4H zb~%MTgzL$;49+sf6p3(rXsun$N6R_t37pu!nHvXX|kr zE~9?gWdR<&x|ZwQ8ikc(V6V0!%$uB!TNma#(WYb;%u>2nYll9*Fe)dSPHO)oiQF3c zB|IO+)=ZMLM#HS(n6{QAa%=f|imlVDxmat=)$1qE&n{Hv=R^=|g32*8w17Bps-h~y zQAIsBh?MqB@zbZe)Siiy_G4X6kjT_Mx}0JxJxA)R#oIL3L~oX0^>f6PW5=V$)_h|v z+D7*su9UQoCaN4;0ACRIS&WTJ#&cwP8olA`A4moXcCu z_6U!Rtx{VAfAevGV7F90Jsu5zfYE|WEgB1Gt4L^TVYnk<1)8fO+I}%=RaRRO+NAag z$V{s{8Rc|Oy#2Z!!+B%@Z40*qQs~j_@$#YwdT6XjlGfRnQ@KCFm=h(m_0d`#l%%~1 zVFZ>DRrWE;>7KJ&t=YI9Lms0&E%-I?s}xD)*ipDd@-tAlZAKyN6Spo^TWf;09B;2n z&#C+tbZ-c{!#N`i*~@mE1>|KJ>;d6~>^F*+SrcH}dVL8j?LY}l?HHT2quM54 zay*{E7TU=V%&cAdtYofb@(V@pQ4>^-2`t#12X}Qr+Lk&qLU-5^Qm)WS3U6htk_Z?3 zn|h+@uBne<5T!>=+Zzroi7LmK1B$L7ID~-G_>%11<;l}MnX$yj*fDqp*5Lsrs4Lsq z*hJnR!(GCq68B3)a(fBcV(a9Y!dT3aJJ~=p1CSAJTAn;Ti?}B~M+J+b@0v6)?JGk? z-<8R;Ju$w%ScNeZI0E`96=}Lx`pm3A$xU>!apw4f;U45PQjY;1)=6}M0cu?iqP8*~ z19@2SI#>bQgKFcc2NX*9N z2z9n{-B~UqJz#b>8C&R6_9Ws*l%)o~@l@Gf%DHCh)y4(YfUut-i1=9;(|8I&B($%t zUT8z6M#X$`3Q20%%Y34AFQqT#*1EYTnSh-Ea*?%*5&nBQ29GOqn)0MNAH3o&dod~Q zb$hOjRwYVnrQbs9tj|z43mNj&xFOZHvWFKQ%`7)cl(T7jX6HO!?W}Gv6_B(|=Hods zj$BA+6e&#A1PF)X+Mh8M4VL-r$QPo@4rB~BSv*QHzQ?Nuak}4P3;aQ`mf9dd)_nWa z(t>he&dXXT*O|7+t}Xm^0_u1qjpw}N7$;^cP@@LJ1w%VQqO`7T&}v`(&}{p8=z4w%1-+}hMmXi)+C&Yo=&*yh`kfc@r_rNDu=r2^L0@VuOFXH4Ek`+3+# z_X!Sq$6in6(tCL3}!30OcSMN zO4}PwB8k%WnU85Wfh^PZFq|UWL+C>t{Cz0?QN29;HG+U0J!L^H6C6srj|Q=6KNz!= zJ1{0Zx7ERMwmhui=Vd1`G?tGkHBbyUKbYQ1If|@u!j34wwmj?r^H|_lXH^q9LXFKL z$#QR{gYpLYzTM6T9vu7_x(`l5T1`q%lryO!r9D+9xleqLRG91o^^@s?Q#*+wQ}<9E zQOpLWN8_F-aM@HR?eLtP92psggK{=)C(K+@P%F-Nq9V1u0x7Y5<`2wlL8jH^!k za>h{(EAz1>Oo)P7MdjBDOx{L06l;_HHi)EUYOfwm713h~O!dgBC}}^F4jvUF1*eup zYJ0^*iR}{$1>-R~3=sS_fkj7EAeVk8lT+65>dx(zB=sdky)`y4j%-J(SFC@{E56i@TA=a#7=92_f3ZQf@9ZMx^xVP?Zs}1$EN(WB~B0251Mk*R#0vM>dJ3W za=47m+f~<$ox+;KL?E_Je>WRTnIt05&>=jo)E`XQ8QNv+d0K(PqHW;n!82~I)^66T zJG7F9ml^EdPHF*qAROo9c_9Y7dplgH0INU*Qy{V6;8>uu7`N5p9g_rj_(*7W7QjYq z!Bj068f1n&N2s#}PasDK%M4U7cphPm8W!b1nj=F)kRV09WUuw{i-6+1818Zf3S3Tx^qMwpw4M6PwCy z$O?6qaOny0@Ok2LyB)8x=MU|-SoL9+soWWsYv;8QT^gt&$WCMsGRr6zmuwDb* z&#tXWlJVf7Pixj88JGM%4!vC(QSp3x4xhNKc&p7pZjw+QXbcqLtws>-TEjS$`YVlc zx+fdQs#ihavQ}W^?uc6Fga@F;Cu`OAJ)Qk=w(MrM-sYsd-X^TTIWaM@Z{NiDSh7Ip z*{c_Zt|0h%@(>}9rvG}x(0(i+rT@;~>?5OR_pgB|%Wpy@(`5A1`_Hx8yEG%0v0V)h zc>Q?Vb_D)00>4ZA(BrXohf+SayDGokWZLc;_{TMdcBvfdjZc>s=l8GG>tz3Vh~^}M zfBqIB>qF-OifK#sEnX))?67idY$aYJSVYs@Mz}u1d2NJigZ&*I!ma#Ct{=TFj{s4Z zHuRd{ogW^;tD=9>qhp&AxeKf7Z``4i~JwJKfSsP|9E}zn(~imKiF^9G=erxv5nuTlZ3pOZrP?pegXdBY7MYn zuPT--S#~vQQG0as;M62jrR*7?tht;$0}hK?bS3TjeSp-f>A!R>g2jl*O(0)R(2QUE z+&u#_n~nEq98Pw(a9+Zn71A?c3fgR#+htmW$GaKYw9M^b&1Cj@9DGeDZBice_|xBd z4*vBptn17_uN+cVb^{UO3eSZ&B;=7m>>A_W;=eQ<(w`Vae16jB14(dAuM(bRIOTBL zpK@r=C2gR6#NWWQ2lvMhc9vwXiiVS;q!<%Ee%FbDgZH$5B6F ziTWuW_1n<#-B7Hj$7iT5>K_<_tWLH+S z9Pu|X2Hlp(E8%-Z?5^PF>ukqZKNPTzw}nC3JZeA--%G5&Ld1G`u&@rP!ffO%U_D_w z#`?G=)+Y`NV*>Vk?EnULv+D~CL=;Q?wCi^W=j~?K&zjq5cKs#hc9~tr>tJiwFC*4r zWmwcPpS_qzVF%#DZTd49gKkS?3%=2&=PZirW({EOu^hBS_S7K_*}-GEK0|g9kL7-b z>|{-2ztR1K1j`)VH%jP!MTTx+31{Y?Q_PE8$2NQ{ARTWFGtvF=S6(h6y*yY*7m7Co zq%*E#q#v+E`eEIshu90Z=|y5MFJnm07K=x>#b>YONoXqI!|nPgW6*7hyav9R*TTEZ z^Hdb@ioh}EM+4^Z*6e28dl_%MPr*DG_(8+GYUDG__ruOl9=61M7?q-GsJfB)?nOqW zFJ+iVsC$id`%$S-mqX1u``fKGpPaHp_N4B?gm?@0U@-S;8*jN6kxk!V<2SP5y@&L} zJ(uef4t|x$OJR$i3+<{k`F+qB^sEy}nw~Z=- zUC+8KMHMxHW6axTM+4@2hWRZ8^S)d7Jz!prDhinIOH|P|Pb$^Fhgz4U7Isf#(+*-D zX0X8|F|WNDe750-$6lVx7<5}AFN1H4y|Avz!55L|*s9y+N2d;knisfZz3|!Fi16ek z&#4#B_{v+ni{?IlXhezf8y-Jm}=8KI`H#-1Ob5bI&kfP&?Sq>fCd}dAn8T*3Ip->fDRwcA3X=E#P%J zX+sr)Zp?Fy?m?XMHL!4bAPhQsjrXS}o#u9ZD&er6y%E09t}ES^?YmLv*3M5@W=jM9 z+3jQy&nh7Ig#V_F|1v{~zft$S;a{=)GXDEx|829Wp@y9*Kpy^!#NcC!e_Us<6%9(Z z30EkkOGopSJn(5CaUEOwkXJP!So3stn{!tL=?wwtXySbyx!Pu%5=?{j&R$i-k)CiJ zBR%9*`;PR@1nG38*1gOc+~e)d8=n@z{YzBbgPHf)bKeW@)yRy1`~JjbZ1b#P4KRd#F7As|jMWhL zxc2ByWpyKhx0}Fmea5}j8emG7WpgiH3?^}G?QOHJ0rfpY{f2^i-+lT$pk6Wd0_yu> z>knDxU?(Q^nwl_UkNfsTW;Cr2!Ajwad7o`OuAPG)o_D>DG3d5LcHny@?J8ec zUgEg5>4z*ctO4EZ#^rhNMbLddMYrdkdl7UCbFC9}_hYv8A=~_En2k!|-3xR_6x}hr ztI6+*U#r=uh-KPUK9@sgIkw&*Yih!67C6I|mu*%mEfQg0%kT|vAcW)l?4MxV2|wIF zF|2Wy0y=%QDO=-C<2puq$ePkSrC4aENM99@4z9`|Ast4RS$zOUdct*#bla?H@L5b6 zk!4Mbc;x3Yq?f%$c_E)gn2VP}ydSgh4%y~Pr}UiBHkiNNYTCn_1W+yH_h(cyd{2y{ z*W$C!g0=kk;XccL#-Q60c{O~~m&bK4AQKs&vEihq+?^CGKIpOw(= zw?!|Ec9Z9VXz!2jVw)G8JfO`#4Y6__D=)Hc;|ii3{`Y+>%HEAA+Vy?ZBCt(~T!Md~ zUB|9Uq4JF3*pl03KZ9RRZ&{utFXETqonZTf=XoGozZ{@^LVPJMgL}$yi|=vkJf}X_ zG}vx#yNlra2UC2{`|Xokt&Wj^dENl!U5o3k2-C0 zod9wGbM_W=hWUi!7~R&n&QPa$(*IJ9qSRZ zb-2?55(!_TT~!Raz;ldn>s)3)csFZa1mVjW!u_sDvCZ{Rge%o3BF`Y;ulc>usIc4Cw9^x=*C&_S||GLARXRM0EF~ zCgq@QZZoX)hTzW4+ZS2k@HnD-z75kB>qqX{s@8q4O|e?*P3f|n_7N{eKUO$AXq)8> zsP7r-7ZlX{UbV6Z)PpxZK~}PLRRq*0633p5WxjLrfL^0@d1&_;`DdUFe(>wt`7LvJ z=ckjtVt?7k{Fb@f5cNk}@#b=EGXjerwJuVF@AJ(3rzbt;GxKjwF9Lj*$Xj5GF+{D~ zGW>JIj&;B?BO2Z`$8ITu`TxH+&D~0MAZ~3|J2N|-s8YL^F6!)ct+~~k=1>RZZYvsK z61v6zm}S0na#UZHB|HOo%?qyAVEYW1*YSU3n_5bL-?aENW*&sqSzeHE@T)}L1Y7zH zkRX0!dz!zyMbnN{>R1D;Gpf256so?s1{A4OKZY7Gx7GB0q-#6F2)in+6q+#{W7|5H z8nBIaD$lzqg6&%pY?rCs^Vgymz_z@i9ALX2>&cCUEGj})#jMj={YMeov(24BS(k-& zRj%|BSdMMCbrv<)Zi61|Y3B10ito*V@k?f*t5Om*V>rgPbq+ODz;wfQkt*G}1lt2+ zyEmKZ0$OPiBcMBFImWkb7IiYzF!l=Hvnjp@q)HdToL1zD08e?25pJ6?ozkmd!W?KG zH7W82ikS@Ivluw>I$r*G>;Qat&gcflpxY9;AHFeONKrnk%(jr2j&W|8Bb^91r*|$d zf>H$MWsY+Uq6`qum5N=4^S;#Vj#=hGCxXY)73W1f^63ocgE8xZ!r27zz99U7Wu`MA zoB~{pD`xSOA_)J16ye~o_*~&)JNFq8ZgN&qo?Bn#fORG_j5-nHdA>>!gugID_~6*^ zS%VEvd5#foozDz$!(Ji$`%{F2FYdDqx1BkMHrxR4{`e@iInBd*ROLP}XPBpkjPua` zPPE;j|7M%3;Oi!kFEf)zEnhz?a_<(-OGs8dcqsje_`c35XtQB%r{y$T=60EnQe^hU z%?Z92;`Q1pn|$Fl&an~=KRmKxeoq$QJngcY0+RTSExL7KYKxe;&g{Ns&wKgii5H~k_I%7)z+ah%@udpygyk6D)_Kn0 zkE0?edXV`mMXdMX4Bvi_I1Axho(zrV8wQ*RdB^y+&2ml#@1$4wo=WhIIZmI)o3?ZP z0nEDj?vM4h&20vBo4lAkS?|dd-Q~eSw`RQiW4o<0nxTHSo9!+#_hEvfn=SSqO>V+(Gb$qXaQURm&i3Bm^^?oF3$mI8wr$1%EX^O#{|X|nTs8d;8| z=pK}jC0)WsyA5a4?#e4*DQw4Hif#6CN{^xhtaGdvncMTd3D)7A ze)wubud)6F>br@RRyQUb{3?-Gz?RNogLUq(yUIcm64x=(ZS$A`>GTc`(QQ_*lKJCB zkiK6)y6;{~L8PnYvkd8dsh}MVIZYFSokkA7ha$ZKFP8V)o?B<^v8!^yRmO2_$E|ak zy2sK1qqbXp_yRM0eXkF{LpX1@`tY;nc23cKQ;KfS1KWPMN(n7P;e@FIEp8&iCj2gf_n;oXPW;n-o@oMxE4 zX0r0xC=*9p(}|};8`6#WeG=b2RN08?_2W^yU0si6;%(1;@N1I}cb~ncb~$~Aiq3az z&u#OZ0rB*{=GpTih`&Kayytd(FNiN^Zw-VxxCF?z7m$9-U?Dy0u7q@j z>lo?QdC|L>s2s>+bxT9R}#CxuYRsFbY3`bw=7cA+-{uVoxQQ=W@vM-xm^~g`7YSOHcs^KnG4WYOC>Dv>Ye@z@z)D19oq~)w(SfMdk<{5BGvHClRZ=J8z#{mKP9Qj37 z8-1pVe2Nc$-x7+RAAUIU#~6cdOXRiits>uS@=+(4#4+lvbGCZ4GoYTMzKFel2B02Z z=2L4PZ$w+0F?c?HzYpLk3C20USZ&FVvd1ZZ%drwYY%?_BlFfSEC?xSu*CrrRYOmYRWQ0J8@X|Si%^Udn`o| z{}e=gZF8$$g))U!-1HssPolO!jLeKC9M-efz!yYj#4b;djb_D`27zNMZ<&joI2@vp zcn9;mm?D^eGGadJoUS$2;!88NP8*Kvvz51uMoL|lqVNWZThvclW?v^lJw1Xx7xhKz z>7T?V&$dEb&Pb&JZnHY1$s}AeyxD?G91=t+m3Np{P38&Y34|V>9P^& z3D+^wt@En-EbrjG@6CIEB18J}Mk}hWEk)-MDL$j!cDx#OvMx*MC6(_O@zy!j;JYI- zd*Qo3fgygrQDZ3;-&fPK_uYAyRo`8eI7Yo~Mm5yYBj|HcU!;!y@eK8I(fR6Dy)##< z*5mb~aifFB_u1ZC*3p9>uXSCDQ|8GXYl3Blb#hFvp$s!hxW`jO6COu3p|O@O{n3i6 zYpd0E$M@&JK2&A+a6f;BG3d5L-T~hjw~P#3mn#kOTR7GR%Y1B@VaRT5o;OsaqW-a< z4NFlQ3QuUdY9WpR1CTGq#gs`Up5Y5BT!{5irfvgQ*JL znpc8)4Ap?m_+q4a2wrQ!vyz_k=fRwCElT8F@E1G}mLg-<#X)hmCXV&NI-eVAj`8N^ zJrRo3UOt-ZLptf)Ydx^6IZi;Hc3B)8m_&|oZ<*7b9M$U>E&~X5n`wR~v5olE&za`u zg!6WrXEu*4Kk=SL~>Cq&PQE!>&4fDw< z=yOqD#O7baP*0cGIaSFD8@#spmh;I0`BJx)!LLc^82^^p-+=$#;r}~y{Fm|QKKnd- z!@peipeRRQsvjn-bHQP(ix_3DzrLnUk+JU84F8ZF;@011>|2j@*M%;tmR}P&w)>XZ z;EBTl_r1dXBURjk)gLt6YZjm5zCZTfGWR<%rQ?1ZjNfiCo<(LLsh#X+jOR|_yxn3v zYvy)ZjHh94m&JIBtR8z+hWo{8XT$Fqwm8ng50CHfXAHV6kypbvjqjtar`?sNsep?k z^Br4x%iL~2JG+St^tyLb1npN!X!m=*ZDF*74VR*rDcTdhW3=1maYyyK&dYG?ceCwh z1e@4T+x~xZ{Qe4tcDha^_vZcfYwX9eQn#lMj`8`3VCW4($N0C*+lE+9cWYlHmiY)B z|7AS7&wl;h@L%qR|3v5*|F-$t1A1L&u>ZV{2eUZS$+M1W3U1AHJR<`B=NsqaQ1Vkut^8tDd6)nV6Qr$ z#dl;K=u3>}kY!Fctj*9}2a2rCP+~f8vKckfM}XJ(x36U2T~^1ws>HG7x6I@Q)b|ec zLkjBA_4nE8?*a8%#3w_2Ut&Iotn;^e&1RUr&VBwOww^H5XK(#OeexOgPhti^i0K>G zo&tYA>+=T(05aKmAB^>-JkypZ&)nEdu zvAfbjJ8Trs*>15u9`dpD-Y78`t=@RIIpsz2vHy@^eI}0U=|Il!c#VBN7BDY%TUvCG zVP6+J)&a|WY^X_~s*>x=7tw*gH|c=qZ%u?VgaYg)jx=_a%loZk?yq z$GM?4fsb>G~)^jz9NUA8@sI5p{Wwb_TD;E8&HoHUl|!^Gi-~X{%;l3 zgQGuasMjKz8R`>>W7J#bX~Wuq-MyS5bFcn}p&njkT(7Oddk~L-@x!AJhL10GTUkR* zmpMkiWwth~A>KRm|8;`?s2+8qY<%lC`mNUxU!Rk@tp@l_QpXx#nZXSj&^rzID}x63 z?)mId10aSePd=A4Adx!O0L!fI`a zkl~$9IQUf}KMGrx;bk}%x^7kkt$|xzIB1>q4Z47LG;a)CL>KN3Yqfspe>>WB-!kVraX8FSG-ybM{31DkuP4Z_$8Bcv z;lMuIeEV6svssswFsLGMjCsp!Z&-Z|5wATJGRzmr0Q@<{e06OueSy>hyh;U*?KAGJ zS6@@QEx$Xf{ooYv|({by)xoLlq}WcoEX6bp z633{w%<%@)_YU=crl5Y1Y<+@yIi4w^K9RUZ{g`DoH$*dghx$JS)GyW=bM^Yk^Ro+; z`8hbW&ru!AXr|On8(#qVU~8K1F73h7|i;NdCPUD z+WAv&y;Udw5!Hdl)_h|v+CJKfHzB&?GyW~dxyK`^%VNEbN#q#!)>+$7q1nyrDN?KO zhk*NqxVnaSdogZqHQ~TM{RMPD z>9+a=Fp1sjzyZsAZm3l5oeunG(1H2(k?m%+u~t1-kB-LmwW#IybHK7vS?{)}0y$F0 z8epB>4c&KS0bkF2)z4x#)a#tKON7H#gx4fM@U-`_9M0Jg&P#Z^Lt?urXtQl@H!ilj8QMHxZkNqfybgAlPTHjV60+~p-+B)I z_3*=-N67DIx{xTr=~`#wXuZ1LE;rUHwN3<$eb$K^lFmLN=?5W8LibDLr{OPHvxh-G z=MqQ>0gIN7wZt|vJbrK=`<%UcVdzTQ>!2k(H&8@N{vTCKPBv!a2AUa+njYE4i|ezN zJddJ-2rFAHCLGqYpMoz{OO#8HuO!BXj&;N~hkQ_fk~{>KbGIkSS-}GL^GWg&;k@0R zBpq`*?Md=-bGz(GvJdXN?UUq7U3J87{h$v{xEA~=vH*XjpAz|T_-9xBkS54Tj}S>a zSTo1EVVzqJE1}~ZW-5|-cbRS!8D;-RRX5;^Ig(mkFcNdKaM z^fJW*As7$4f}Y}$uw@Ym{9F8&7`wyYF-*iL9r{eb5#n*fj3Y$e@GQ`VacGPU?R3VW z`i*DJI8>AIH{h|@uf%UWJD!h_f=HLwfJl+vm-Qb;Epx~dhxOP{s2k;8P7&Y!-!r5y zZ@}EhwWa7hBF1Om{#xt+e7JYBpE2mRL|zTw%&uo$7N-OQ-eta9+dgWYGY+F!yn%VP zy$IsJzz|>Ai0XA%@PvjxeMY?HXcmyoyDW`n4HCzwx6B%c`M}g@<)R*+?6$u9zhkIh zirP>ty4tD54ZrQY<@^A^w$NoMPizu7#=UKZ_<-);Tn5v(+nDtXGmjK6{T#EN6V5A) zMYRlZ-Q14)w1{-{eKA9P(cCT@vlgk9{yf9|V$`avwjx{yqJ5&e8F}sFJOeKle7KME zLdKxm5_ubZGapCowyFSTxnnJ`%m9a#f7nfB%Ak*Di}*ah%d`N~y~*4#zpcOJEEzEI zyvt&poGx&TdCQD$SmUib=8Jed|CV7May3z_9nBsuLs7tB`1wMY70{~^$EXjvS_)^y zf@}WHZtrR-V(EV;MSYFU3iCZqZ$G-7Z=_vTb5yFtG3sq|wZY3bX~&+t{NHA%KU%9p zQFME?Rcqo1*YA~o?7e)o+baIea>rU=o1Z-#BAciN$}=Lv0Q) zx`X2J2wk2Y!2|{k9YT>%EO08 zIcFGyZcF4H@C{K;W7nl>oh~gLYlCHWH?053Zfq}npxKHOd?#-#WvqS7(Mw9{wCC68ZTJM1HNo-`faE~fV9mhQQ;r@=Xat(qxX?LY;uEuwa zcFQd87RKkO^Z&T6s!2hHuW_|9|T7`ABt z*MN4m+Ru^3#ab(FY(|Y_@wYZS-BgQj^(qiJda)}QCE!f-t*v3FM;SW z?cUI_j@aglr}Ugb@SyhQLH#=FNMmc0&1dpkAD*b`!%YbXze?nlu*GLb)?I1U2bJv@ z>y}yKiGX!_5A&V}MMevs7O`F)EUd!>t|^`v%dnoX9b?@#7aXwOGpzqwf^|B>1&V-t z_Hzo@b=F-B6j^(MXV2wU8kUyUwDLeU1Yn(`jln1 zH&pU>$9j<{|GxsP&qej96Qv%z-?rT{$}e_V3VZ4T$C$Uw=?2XA4)dRqF%K4g&@c~H zevEtX0_GEeW6axTbHiFY6!g6qtNu!cd3c_C?!RLVD}H!P-?-KegEe+n3`#0o$4Ix% z;p$nf5P{rV1oD?fqZ37r{mUzsC62uGviBs*CSibN;Gs^s>#olJGTCoS=Y%ieFdH{KZX1E zMb=UNM5YC7Wj%aF%Q1LgQ9bfIit{Y?fD}fxa|s8(O5|Ozg=zzabhYc!6y0u39P5K^ zX7;dNvmEO5xjqyb1^l9-54h;&0E_}ekVBWnQGiM0827eW+QWLBC*YprzDVZk;|lJX zmGpOAWy{Q!2yUq^K^M5i{G?^JHjDrenObFkR+&&_1n>(P=3zCSsJeNwfopLL&PSDbZ5RxTs*pBttP7TT-S9-{ zt_ww;2tRMs1;68=gk$H12%Ot{-j#xpFGNGl!tIg|1K z=2e+L%C!KO;a{vmK^wlT*XMCC#>DW$s~ldy7<5}AZ-VbE9z>VoPr5BG+LP#ja8an# z@pHg37d&}TU$rN^ZhjIyu9)BZ7*CYJl z!}a1;#-Q60`7!v`^g`%<7sb$8Io1r@Z1N#}rfyjMfon#Q)gS(aSu?;io`;xH1y(?z zFLm+Shf3$`at*mt(vY9e)e!kI?4~KE){ZsCGV>hjj@S)ngQjd7-ZsNLrTb8!qMAP`ioCt_XA$>tlNFePI{7@7czk02 z`4i!Wgo9rtazAX*XG*#&XV@gBW1QP&lmpJ`{mZlOMR5Kz9Oq?*27ku}#c&RR(Fr~u zECGMQbc^!|+bnVz6L-aVkyz1BBhKqlwRJ}=x>V^vJ!u*bfngt<#b^6&J0{NSzMNC; z-pa9NSZ0>PJHDu5RVaOZ5tShvg+PaM|A zvY~2}k7bKk_zxo1*Q7^5)$8NPk z3k*PguNAsOIB&N%xSut*8&7U+_6GNtnA>Gh{A*wb+e(R_Ah*v~VDP)T;kT#rSPlQ_ z*cSyQ@>1BYq+J!_J2J~LzHRfmqdLAX!#&>(--A*MhfjH1eE&FEtadg|HSXDpJ5i-s zU5(nX-jCl{w|Z-l-fdn9mm_nGe#;!~WI#UxlrST&=V*(d{{uSu%Xn;`J)OOwzuX1= zOy(H#_=aS>PD+mRZ~IzETSL zT+E}zv-Nl0pI|G9d>?_-xph~3X59Q;b&SIV%jbzKN*c5UHS8xGm# zcEdZ0=$*~;f35?mtv0+bM;pFf-sffYjv_PW(@P+Xg>4!-))C7rZ+K!*73s+nWA*0Pm%c0 zyEy960(zepu&RE@Y(4F=!P0ZSV>@q~?G5!l6!Lj?z6j#qDI*?Te6Q_%am1UfJR-g? zHr_J-8>%_G+xQ~YobO>;? z)Uma<&Gd%%Ur-gu^W}@Ib@(HR24L-Gxv_TpR<&L`4==Ox*~76~>yT-H(rrx#jB>YH zFm9XS4O-AMEqI$z3;gzd_N)bJ-ij4=bK}sLtkt+}4mYg$*)uJ8E7gLfs8QXFj%;@# zn8_D6JkMNNdqZls`HU`nQW&Lwgn z_u-9O=5QxR^&IYHaE`-F7p56SM#OJUG+;Bn7~y*`D$QsWQ(8Wc2cF6}JM+fFMezS71ODLwFo^h9Vxcnr`w#1Y{b}muG-& z1~|O^l&V0U4^*U%^9_Oq%+#xm3o!4?XaC=7O=j-@CtWrfe^KPv@>^zu!&>CsEq@W* z|FDL8zcT=P!oAVtGu-#Z-rMGYL)^csy)WYPzh1M&{Z5BB*~*MLih(K|{SV&J|GKmoctwX7_+z+x9Ae zz;3l|cQKey8@Z2+p54Dz?NkLzVEX4Yfpucfwc93{$h(Z~YIwlwCsRK9=i_kB^TK(% zty11Jx6}Ond(G`KZ>PwrhOefmU#zy;(fn%MScq4_@uwBeexu*I(qHeoZ25EKj_to? zhIcY(0#!Dq5Sa$53%G#?#c4>rhZB9K80zB!mj(kzz81uHd+$r7eZ(G>? zMFx_-$M^3P&f6`%zh-Wy#rGTLc3D*OQE=a*0qvkC2y9%+I$^ zEiEA2z4q?W!^01c<2;u!=(YrXP3%4Et_*d7=NRR-x!Ztpdfyn3_1Jw8l;6iuUdDs^ zJcccXawSGjQQnWZ{Fr5~b|Rp>XDEMZit-b)17*vhyP7Red5&$lWga%v;ZTrM&r9%t zGLNN5EdE}O@=DaYh=WwG?YVXJ8QAUQePyHC zg7@nB?8#WiX9VQ4Zs)>Z5IfcZ%Pefrf$o;Shz@KUb-?fW=6luw-LX#}4payF;o~1r zGqO;2IZ6ZaYLTcGhLN zuu>Jc_300&IoE)BoUfwgpIR&=pBv37g87buc{J}n`!jpMyi#hzG2f3`n*(ajH4pPs zdUaXIx$-xi7x8A=3Ff~YZ2aTd&_>9)-jHzct3>XHEv>PcZ`1CoksHo*Y}?hWYrwhD zw)e8Ope5kkce`E?=bGD&IPZ(!uI63ya31`2YNwbhqgNLc@nP;saUQY7F);Z$AU@1e z+GWkIO9IEXUCqJ<%o}ZcFa7qWf_dNVdjY>a#k_9g6U_I;&Z{}tJj_plfPQ$5eDK@3 z-(KX6=5c~~sE9pZgDHSM+j#4@JkPh2?y8X)k?q*NtGU*Ib)$XX&37+?^@fCXzjLgG zv93jA7}om{j~TVhsZNd_((L+WaAw2YC+gN0TG4Ma!TO1)b180Jz?uH&!h3Dsag87R z@LKq+*bcZQ^24xA;xb~lRX1LfxwZ78mbuk{e!RE&b6s)1=QJDI(spcPo&i$V(T~pj z0HR-W=mqrm!>1p$%(({iGdweZ>#>_6=)aJlf8po}@ztG!f_|~vs_oZgj%~kX_BEit zcj$kKj{ZTi{Q|-@+pozSqu(|U8{+m9{&}{)NZh`bpkFlnKF4$l#4xiit43cIIL5qf zPBvh^XPDnmFpuVbz%Z|w`V{kh@$s$mvwGbAJ}`Q_#dnsOVWhQL`}(+s@!i6Cg&BT_ zn6JX#MKT3#Hq7k`*O(QlnO{#ZKUZr-tDU%o3w!vC`2scbyvwSgS0s)ty=8_r%$8#M z!jwcG*%p~CbzVjNkjncTy{`#~+pdkz%we%4eSC=Z_ZlMnqqpnmkQbxv1DeaPwZTAdIVGd zoy@cPMeu*lfPXOjgNT2{_{;e3i~YCE>xOj_5dHc1FXHu7Q~b}uIyuWbO;{?&YwTOc zd;s2Amo>vLOB`E$%Y1G?eeY0zRz>}w`1%6sb#tGhzAv`kHjg`{*KdZpeD3QPsa0M{ zQBPky@3)=DXB>Wb-R6yqLANFH3iwWaeA->j#&fP?`)-@P4M?Z=F3+nkg7mvZqxlHe*mTRBZHU}6QB;9qONPXH}nGT$6q?1y7&fZ$rry;_4kp4S{?4o z7m3@vSiwBLYSU-TThGJd(AHnIX^=TazGa>^ykES#wa2?Z&DIvtIMO zaNch9noV=NaSCMEi~!vXZSFOL*}bSiij?>-R4s!m}>xj{#Za_z7U0y*;e0$Ph*Wdm9Cu z)^P84&E}qPZ!r2P?)zfzE%UcwK5ln=U!-d1jtuulwmVUyU5gvu`~QVTz`WbK(N|=S zt-fU*H=w_F=s%^S-+P~bZ|FCe{tW$nvHiBW-7qtk!avW~FB0uvPS9VEj%?T3oi-YN zpGUg|qWxKyRiiHp99#U59(5d zGKn4QfMu3<@{nG=_AuaLw`iw0`@5gf&YYExwb|)7UdNAO&ov!*(A+MIcH(>IZR7q+ zMja?O*2g_*Ehwfi10S!vQXP{4t%7FN0PGv3q03 z`eK_QKB&Jvd+BZ?~sG-P}%l8tgWLC=xL}Nijd$ zimILHXe-`4)v9|RF}0rOD|dVPzyw)Ysckk_=p(`;bZhe`Ei=TE2lPx?sFmQEvLdw- zCv^Om>-BgQpDI4v{%2wb;KMzkY5F(Yl*o_5KXjPWt}CMiNe_euj&;E@YdjgA1@xA( zM~CkJ6nPdLH|PQ$+-E)5+q0nD?OBir9pm3JdmO5TDEz5UC-_#`$oL5$o=*HK))Keo z3ep9Jf2bU-u6B|M13qKlx@rQ8Wz#OJ)?X7j#=UjkIE(=h$-S`qx2d?tNdxfl8T-|srnJs}_b`7tT*BWOh;bBuh;tnoy67im}I7g-77Sc?2}wTAC&TUo!K z5$rwft`2yC?HKEp8Q*|)3iVw7rU=$=5wTwO+pjN*b%Sw7toO&RTjy}~cz&4q!sGcx zeEFjc>(xfwsI6A(wR;C;#@DRaWx0$&7rC|Z6P9`05WDPd1Z=2{Pjm^>oC7xw;zDeh;gs~6h!YI|dF>^<+Y zyfy=>X}Z^>_G`0j_l ze#kbb8fqiE;=4$_*bB(<>dx(zqjBp}wYBDV9MY;@OziIT*mznDtg{{4a_elW?yH3Q zfxXoa97e1k*^X8-wEKG8R>8C_$@Xus1n`Hl$6~{=n z%%o0^>XG%!(6QZ+d`3V@Kat$;)tic}|2hFko^N!bRs(E#W%fv;dafRM?y)~D0WnAR z3sP9acZs|Sk!|Ys^e9KXeo?5@u?E=YRKpvc=^bSXt;b@Dj8zYT2H^YYE3klt@ALSc zkl>sn|Hg!aU&*`6#qRQylE!t6blWUyKsvpHy+Hc7i1e~A-V1g=^;PgHFz=-((uE|F zfb@Rkj}C>rsR_ZFf8Jscryi={?`Qrw-f>(1{2+nHcfHbS9l7Up+`168py(HIgE;bW zY-&{>rgm9afy^v&Y~d~QrjrNsacS`8c`UMsH$O(^Pc<$y;!BN{Q}gB3PVFKr$~u42 zYwTOSv(wmZAvDuP?p6!NEwihWS|PvTGdY60)6oNY4AL}pzz^d{vu=0ZHfF8 ze6M7PH(vr?YhcsRv5wegXbP9$A6D1j((jC$)_tsd<+X2QH!etBLclidvKjVVQv@WU;=DaI*a-VArjb&Pb&%gFy{7-wZ<}6JUOP@LZTnIQUf}?}9CVE+}0$IZehUj`hJd4;|hENAGRkQ{h^W+WJX1aD6yd zZBvEtKI>*RKOpmec(;WTyL7Cr2;JiUplt?vR39f?1~BZFfgY5q>LU1m9>+h-kvUy! zti_j5xqPlcvU)R0hX1VFhUlv-bBuoL+;YgWAwu)4f05ksb0zfqpIa`LWdn3$mrdS} zByx;<+wAg`j{9v3t3N2K%ofSAJ%{7o`-l)e?eN1RLTNM=xydTxnYCvTo^0B?f$tdY zmO16{-gCTr`BomE@wPtx^#a=Itg++q8kE@4NxMG#IacpI=Lna&Zg6(kjJovN^dakf z&^GIQNcZ-f?(P{_v&S$-NK6U^; z{E2XeG3d5LJ_6r77LqxQ8fz)+Fm`Im9)&$Fp@mxN#YpwmRaMljyVN=Pa;J7WYjO#*6Lo{eY*&eh;8h04(v0LW87Qji6=sYsH?Rv z5+Qn~jC-#!Zxd%Y1KmKYH(w{`3s#OHn)Ocx~6M*1JsyEwsDB&^1v2&UTD->+G%`>kM-!dF-ah z+e4owV7py=8_scs0HAYQ9TCz28>8pjT5}GYnQy5g6Ms)-5x*0qecP z`cpEj&&JK20m3?V*MN1-c8qn~?CU{2`}&YYo!VKJq@hvkey)#|^ENDPeXNe~`-D{w z#~HHOoQ#{H&CAX0Cen8M;2*Y?J5L6zZ$$O_(YU@Awb=Wo=4$O`y}EOvx*2)x*YcXygZN;1OFyYl_oLfbD)GqVzrcvS;^_H31@IEgJ z`rLXP%+K472%dnb$0c%`oduY;zExe1+OTB0*T}b;uWRVG1b+3JP@!A=AF#~d2K@I9 z|BpA|zdV@u7v9pVD@Q-x*L%P+ryKC!JN!S69Ib6v>fqT&?Q&ynHm=8wfw2FEZu4q} zJfUOzAM(2t*h(x%i-_*_zL+944UZ*9=PKou`39_d*qQG{o1WW#E3aSavXBHYN*tr! zHoqIjx+d+&BArE0|Cki@wN9;CrzM(Rd;CREpLSV@XC|nZC5};Vo9R6q>emqV$}?e4 zsDCs={T$3Vgm)wPZ|kk<*C@7mm-!giByfy*%ZzWRZlH!f7xP6b@gGIzwwkAFYteFC zZnSG&TY0NW9;v$=?K;~r)@}2*2lSQAFN3iQYp*dKz$d$HEb}|bTpYEbF1glNUy8RH zYs;-#69%(BNAaJ|E`w0jaC5@JuM&9+Y*$R(7M%Kgv11*u&C-T>hV-81`8Y-F{WSzb zIIX2yW|re)3l*=ik9iFI@QNP8N>oyJg>9K5`*&LZ;lXa`Fayw(7#wPsb6v#xhh1F?Z)U9imBPL77B0Ae+7v|HpUaD}D|Wv_K$ zPfvkz7x*VK$H=$N-0Jfdga5<*pCa`Nk6_3@UcG?t^Ifm4d2ao!M!wYg^DYaqO{2sy z>Me7(lLvKsA7<-v)Z;qAw)w0Pj(T_@Z@spP1K-BChyU|zd?><)$M%mg2Hlp(``~*e z!@1UdVH~_$BgcASndc30PD~dJSiI z(-!xM9tBEb>k|zzEtrLc^E(mj=W}fjj{Wh&eV`i|gKkUY74Xe`Al6-V5iy%4tyNH(QZ}ELv1~-Kt;RE%Qp>tH;Dh=k?M}? diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-tdh.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-tdh.a deleted file mode 100644 index 37677ab7b86a8be39b3e6dae06c0327800eac5da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11956 zcmeHNTaVjB6h3kG*3gOyR;7iahH48%TY{5KoJ3k7OKlgBw$fH?MTIK7-r6Bnvq?z2 z+lzQu0fHisScxZ|dEkKu{z88j50rCed>O}fGL_a_MP#BGPiBs1JZHY|oEdxGSvLpw z+aDD^EJj1QR@U&Rme-0!l~svpu~=3sRer}#0RY|vn7aY6@DD(t!Q+{002I$|@%Xw9 zK=IrArKFMR<(@$xQ@SMCB(yz0f(rvR%@4dc3D+!@+~p|NGV_Q1H_vuxv` z(>42!frXCN(2S0=OVKOsb?y7TfxU0`4XgLC+p!Pqj^SEu!!+==JsS+8ZJX9{HVnqL z)xOj1^i1oP*>zg>(ABHhkF(b|lB-bu_P#xMyfx?@IF>!waO{rtX}8rI?3u39>*^Kp z{>h@)-ey|wqZKIovF&2deS6?O{>*t|M|(@EjNYSH8p7xVc~-$?eMQ_nu)D4}va%Mv zcdQ_9i?wmf?2l_EO-5)zyuG4EpCa~{B!KsBuo>}{rB}siNvOj+Zg%(g?1Aap{@f0A zQCrE?N%zGt5z$<%okVf5U0>1ubFm>0^>RhfM9^xwFj!wZ=B``n`8FiYc9d0B)3jny zTk}juai_4ETR`&xu$%*UmF4DhCD(rBvV3|{1a+rmnXZ{G!fJF-pOtop!wF(=NOBG} zxKj0H=P)ye&m{)d9+#{6U5ygayqtG`0sOouW~K( zfnVU2i#nnv^CRt&n5Z8mO-9g7K21i@3yn3Oqcj>k-7%faW7QZLrVpC+e2z2{4}R+; zqX3$J#N+W>eTLe$JZkG&({qs_YBkjQSvG*VmyOzrug7J~5NgkRh@e?bLai?^UIn>; z1!BFQCpkYqdOeK=i$E#yd6DVo49m&jy3IT?ieq3HftK6e?>^uq3|a6Ju+Oy1u}}IX zorXcQ8~mALY+%AZuIWmA1o)h#JW=2;%w(|^$$&fs#-5?7s^v1H&_tWxtO@K{WJCT2 z5lV|k!mBu^R6>^F8rE-nD5gs>JDVTaXquZUcJ`&vFND4!V)Gj)(@vHP*hB5Dqs$;# zPQz*z2vxc#;}zkh`0V)=`ge2`mI1s1=*6R}ONJ-vi|_|<3M1Ds{TFkho~gTh+)IGy zFPTpO56?_X)C=Av_&|@9f|rP}fQ^x!fwPA0r$D`P7F=Ne0jM2b5~z=r{D^7ts(H+U z`uNxM0_IgI%-5^9d18S)2A_praM+VDZ+SSN%SmFsEA%@K^N*6{f=Tl+|825dfcX_1 zpDgAJg!!@C9*!OAdm1_LK0Y^vkOSMifTarjiC5ylSQSLKZ4#o#zV8h=qBf;CqBYAg zj?DbRO2CoVaNcD(a*8-2Ztn43vZvF^i8t`sDTJI*c>zlm_zthc3314g*DSG$Eb-ou z!h2nf`-DTZlaqYHUBQ-~q)*rt`W@#JI>~Y|pKy>Y7vTLI&Z#Wkmk95|%O-krMbMaL z%)dngzz|}-!3$Wbz|VLk%#RE^YWWi@v&4Q~3i~r#&!>`8Ab8&tVE;vI{o)ArspVL<&^ z)9(c<3+;IW0Xjh$&w9KIX0Bz zZ%Ais2)zX!F_31%oX7^@D=&d&npa7eXaE>OHt6g>PZanKGa?&=q3co~xHDZftx54f zYu00{rr8^zkO#{+$Fg1_Pdtd8N|Le=79_td*W!EU8DGLx(z`hSvV6f) uCW7Jg-b|PHbf>MlT@Co>SGQc(moD48 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%0Av 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 Gi2fhZZpvo> diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-uxtheme.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-uxtheme.a deleted file mode 100644 index 6e72a4dc31bdb1d1e26162e5bfdd38047f3a6452..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39456 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 aYVVukE;9Pv+66|km953hJmJE8@c&;an)(C) diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-version.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-version.a deleted file mode 100644 index f6abea7634a6a23d887add0d51df5b9366ad881c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10064 zcmeHN?{C{g7=GjQ7gZ5xVq*d{JXF4*DL85Cq^Oz_jTI(Mr7-9wm~h?2A=a{_O46=W ze5eExU&jZ;C;kflf&FES_kHhdpX+ntqPkPmTy^Km-Qzpo-SfQfo!y%oZvRR9_Tr~z zJe1eUHvU=V71Ol1N=;3(TC2$$b{7HQ8bI+8z#LxRcr4=5HUP!9J{R$d1wirY2O?g- z0YLHnPei=20YLHQmm)520W5Dh&K<}3Zs7F?&bBx7`p%tR({rBtU3cGiu+X<_w$t(V zD9X}a*L%|Idk5~m)9gL(cDzHc;~ZiOey{7e4&M6A1IKB5Zu7hw2WQ9Ye|_Nff8KFB z2j0Va*~XsyXZwz>B8F|GVMPUEH~nsN)9+xbD;1^Hc(H3vWnmA)Kb=Ubod# zA2zKvS^mI3#s{he&ocs`uey7L{f5ICjnUUO#`VsCPB((DZu8 z!%{DlRhpj4mSx+vY1*rmP*3*@b0{fPM*)??x!FQ#=p79?pPrat?UtJE&`pPMO&zS4 zrMP=Tn2rs{wWfGc)*HYT)(+ZY?M$+(J688sL^Nv!uZV^*eXJd2sKmtx~ho zfl><@D=Yqe1@Kd$g7cD_<5Su3%c17+HiD^X03L>DP-FQ5o()A-21ENOi<3>Wg?t2vQ&g`mN^F zd8Y1)Nsj@l|78CFlGi*-)C=CF_(Z8r#bde z2KbyC>5a)b@`oCP9S9j(y{mY76&U_K)s~I_8 zQ+G?k@*E*i#@YF8K_=$ZMcVoAm3~Lr`KBJ1u=8C#F0}KsYphEQaaaVsou4PphezPa z=KEDS(#Xc&3I>l?1AfJnYO_LS?iID)3>_WeA$KBscMak;oY@?}=u zdzrOtT(4T|iT(Qt5@eiRe7@pqx~|Z^(*q3V5tA=OPu*Qu-aG zfPFnKp@3sOE>ysKxWZW#Fr!fbzinr(OzuhcLwtS;kqYYkTO$(mezIV+@DLGu)OXbTQyhOf{Y%_@@Q&+CO<(2Fg-Ezs-}5_ avz(Ygqk>8I2LJQKtbPVaY9QBd0sjHOcX8JM diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-winmm.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-winmm.a deleted file mode 100644 index 8f325ebe3c2d1e3749fcb60cab3b4fc7c12a48a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5788 zcmeI0-D=c86vxkITdRxJV*R{}P{E6`X6-gzL1eLt2r30DVlPb7X6nZ7N7;?Gf`TGm zc;|C?BlrY;1h0J#@zQ$EnMpGF*meu9rO;V2lRfiKvUBEl&P?|5O}D$+xK+AlCQD_u zV&liER7}(2F1P%H#uv`LwlK_R^03+W4#(v48^b>%N@gMS-*ao0u@+%#VGw(Q0 zdZOEN7DOPr&V0uc&ZggXH+%<;zFo7OroTdmvUb{HwbK=^+zrR;Y_^-?wP?~6t(N0D zcwtL`<1~cp{o7lE6ZkE0PXvqD)Gd65-`a4}Mx}ZDrWc47D{CobvPu%>vz0*RljS(OuF0Rh2PFoCOg1u^MaZwl4%X9wU#Va;6+4a%tnE*ka;&3v&y0iP}5-AQA>64t|s zabmZz4|eC~W}-|LvTLK?CwK@W2hHyF(35BJgxICHqC)eU$1ZoKDoq!~LQ2A4Ntb6Q z8?ipdHAVFp`)8cb1|hq_`4{C_m=ahE8n4>x(!y-P0npFhmGqN;$)|DAvxof6nRsAv zNH(<;kpR!QmX!hD@MJhE&%a&C)FN4;2Fgp1aP73KgPq}LP}*G$VSj{ zR7_+4f+Cq3b9mW5%GNYLReacz_FRZpiA46Vp~lPCMG-{zyNQ~1zRt#OE~l`rD~&Q? zV{Y$Up>JQl#5Rm@P%Hl;F4x#WJkfKAKY$Z>NdMAz{VWqZ*>wW+Rg+f*P&~7T=qbg} z5@-C-!lO<^0gsP@n&4$?U+SYk#6K6Nh)_eu1FI64P!; V1J?$8!j@^*hMeR*-7$>Z{ujO!pSl15 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-winspool.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-winspool.a deleted file mode 100644 index 89d1b70414a545d3b8a2dfa9c813ac417ddc3b43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35146 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%0D3!g-cm&z=@IM=wRrEqIDIQ&JdzO%lY> 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel.a deleted file mode 100644 index 0d94fe271..000000000 --- a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel.a +++ /dev/null @@ -1,36 +0,0 @@ -INPUT( -libwinapi_onecoreuap_downlevel-uxtheme.a -libwinapi_onecoreuap_downlevel-pdh.a -libwinapi_onecoreuap_downlevel-psapi.a -libwinapi_onecoreuap_downlevel-shlwapi.a -libwinapi_onecoreuap_downlevel-advapi32.a -libwinapi_onecoreuap_downlevel-wtsapi32.a -libwinapi_onecoreuap_downlevel-xinput1_4.a -libwinapi_onecoreuap_downlevel-difxapi.a -libwinapi_onecoreuap_downlevel-d3d10.a -libwinapi_onecoreuap_downlevel-newdev.a -libwinapi_onecoreuap_downlevel-setupapi.a -libwinapi_onecoreuap_downlevel-user32.a -libwinapi_onecoreuap_downlevel-secur32.a -libwinapi_onecoreuap_downlevel-oledlg.a -libwinapi_onecoreuap_downlevel-winmm.a -libwinapi_onecoreuap_downlevel-apphelp.a -libwinapi_onecoreuap_downlevel-shell32.a -libwinapi_onecoreuap_downlevel-ole32.a -libwinapi_onecoreuap_downlevel-resutils.a -libwinapi_onecoreuap_downlevel-winspool.a -libwinapi_onecoreuap_downlevel-comdlg32.a -libwinapi_onecoreuap_downlevel-d3dx10_47.a -libwinapi_onecoreuap_downlevel-comctl32.a -libwinapi_onecoreuap_downlevel-gdi32.a -libwinapi_onecoreuap_downlevel-twinapi.a -libwinapi_onecoreuap_downlevel-version.a -libwinapi_onecoreuap_downlevel-tdh.a -libwinapi_onecoreuap_downlevel-d3d9.a -libwinapi_onecoreuap_downlevel-kernel32.a -libwinapi_onecoreuap_downlevel-oleacc.a -libwinapi_onecoreuap_downlevel-rstrtmgr.a -libwinapi_onecoreuap_downlevel-input.a -libwinapi_onecoreuap_downlevel-msi.a -libwinapi_onecoreuap_downlevel-oleaut32.a -) diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_opengl32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_opengl32.a deleted file mode 100644 index 5ca150b1998ad38659bfdae18148e65b31aa0dc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287026 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 Ypwsz4Am4M|%7LQVHdDSveLpz=fBS80A^-pY diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_p2pgraph.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_p2pgraph.a deleted file mode 100644 index c6e0cd9ab847b488a8bddc85c05d04d8a4a689c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32856 zcmeI5-)|g89l*!uq)AOeLmNWUrp+a|{1C{T&(57)Mdec4O(LpbVh5rMIG=s%_=tUX z-CM_|&=N`!AP_35R3!ce9(mxge*+IZ@Q8Rq2=T}h<@=r4oB7Vp?0L4HT3Th-n%(ov zcXn@PKi}_ucfPZGm#?+Ljjfj_zE;+k>8sN<_^VWF<#L4=(RI08tyO15jkO8J*lorp z-ev4`m9aC+B0bY)4AZ$)kuHD?ri<$$UAo5@rYkRr^x_MQVfxZpk-k!54Aayxkt+XW z4AactMXLRcF--IS7U|l58N>ATzlik8pBTfm^hc3ye!v)}Z@eSY?S1&#kiNAg(&|0N zFn#ByNUzT^hUt43MOuUJg=qu652oNhB5nPPF-#BsAyW6RjA44?&mu*CU<}jV+akUB zTgEWGwT-FSTxd4$4uWvdTn?fjY%cWLL36LuZS^}%$n4bSYR&D=I;J?cU+v!yTm7wO zs|jK|0c$q5f>!%5J7RF~AiRNl{dQ}+({4q!>!Trtvx@75L(2W|iW>r&y)b2clK5cEUc6Nf*9_HgGTPyB% z(?#X}R(1#dpxefMgab=6jB-^oYK75m-&RMJDCw=;sNLJ^HY!GQS4feP52EF;*AK#| z6Ij1jvRtnj41(@PVEb-ZPnFVIw*k=WQ51I8ccZjpnlfY$-S%QDYBj3n8C`)cmSv;{ zny3*Rt^`Q|S@({{P}S^JQ$W_m4+0+z5gS9JMCJaz2?Q;6!eAp>=ykiW>GZmd>6&q( zQ{}WhHL9jEVNISdC0|1gvL1z$NaE*O0QhBSp*|T*zRMd*Kdcl5lD++dOXCCX(VpS@Ka9yfSg53KdHVp;FiFbH@ZQ>|!`lwaCE;9Q#ms&038N9v;q@KT~!tB1X8y_#Sx zRjAcb`jT2RDMISEanC{6;`(Ox&QdoiAnPs$+i*=L940P+MtP#94H!{}mq_V_Fo0{M z4NFp@q=ogcijyKGzug-Irr|NK=L@NV`o1jJVqO*VrR4Q?>^j&wK`UhKy=Zein(7UG z&@|t3x>Bjtz#pxlQ_7dMiPy%S0QVC-$}z^C;-8L>O+}!Q{B!!M%qnYBZLoCdBD|!* zDj!a*4+aN_u}3I}j#F!Lb|?!@B0C1(i!OYBLhkA?ALUM_%hiW+XW+vri`=k$xw?Gg z&h_P+Q|)c=Ex~Kv>}&^d;r~8j?Ecth>%lN1&Zm8ayB<&MAH`@tfkSSWA$>HSCPVrM z+dMvoYki6PkoV1TC>kNd`vuSb_}FQEC-Hy7y`xNtfm;uk+QWO>oYpOOTI(})gVq}K zGM-K3gPsANWm$cKw89;mSm4%%(|SH80MDY0)>vHI5IIS|CJ_IFa<+WTI|bc7nYXAHGjMbmAUi=_qw#og80d2PBM${yIA*IecV^ct0~vI#HW9?+A*k z!KBoQXEW%;Wu+5ZgbI}oJ?Ol8KoBP8i}HY8j&pERVn2nox*BLrx41xNxz8&>)s6bP zN&Sz(EFRwrBXCeF&Av~TIkZXH>0r7@K5iSh` zh^I3eC7YO4ts*n4BjC>c`ber#DlzXJU zI`2mPoN3t~0Rjj4F2#5yvaFBcKcApp%)!bx@i=~ki?Z%7i449jvA1ALtUD5|rk*7Y ze4^AR?Q>4F*DEINzjUB|jd-|6>8byK9Cwtb9@*vOg&6M@F=F+$T~2!HcyH$FsbAD+ z$Jsw>W+B3nXFGod8vu)<{#B8|*CqBV*lN`4&9~cni;PbVaEsa2=FIW>!ju1ap8RuE z1H|mtTvLx89xjS{X&4~4#C`~CNFT9%&1(!BrE^>6(yh^3TPT zEApo#_jrwa!ytd;gPUIc9@n_6Y2%C09A)F5&Or8O71`qXTBw_6KR?^d1M*05Vl0Q2 z__W=wQCZV=7b7`}@GK)aXBFZ4!{9k5J=;i*-gL`Qy+yzy_tUO%*{jBkn@0{l%RS-~ z9Hq~4)X$ONwcFKac}8&$kM4^%9YFP5TlZ{Z^|IL(-1Rb_q`SprYjdU#Q;@DKd=}E5 z)<_pGKgc`j&tU^#QC|9-$l&V|`w?u_{VC9#{?3O)p--@cxv}d;Get$BlRTma@d~4DzlO`{dm%`dYm60BQHb z`=>SDw^(+IfKTpSfH{VH}b@IykeB1ZSXbfOc(bYwf!Ph1B3)rgYD)LU6Zkq*f74gZwYoyh@XD!%Q z>}T=kPf+&h4=w;3dA9W#{dwcJCJcK|`-b1*`sCg<)@s`PBG#(7&*INNp}42N7Lse` zv&}A`&9)hPv)m`~j?vcQ?R)%MopuMCWe)uDB=I@7@Tl#$DDP&}+xN)N`y@;|E%8aX zV|=wBoS#J>gdbCci{EF0J?Ghn$woN&NvZ_lw8SUjjuF)&!ZecbED@%0Lb&)zv3wJr zEy5Jvo!VxGX+=I6cZ;IdtEOjO{92Ck%&&k3xJFS+gmK#s-=Q+)*{Xk$TLbF1EXO&b zW$(jAjmo6|_FvM-+xp7?=%i!BwQlM|F{?o7Ll(b%ETIpAlKj3SKHHPo@&_z!xO*Rm oag3`LPc?CimFBZ&i8C=pxBT(Zyc3=+&Lo>{8-z&|9^SM0Kieqb`~Uy| diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_pathcch.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_pathcch.a deleted file mode 100644 index 54462ace821c959c184213b559128a12463c1799..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19396 zcmeI4&2Jk;6u_T1X_KbkZTdl>;EGaJqA_dNv7M?^DQOCosw(P-gb>1Y>&6m!4vnEx4oViAu|u{_}M z%6$NeA70{d@iYL%rD-0Q{|2D=$sZJ})un3nLEqc#S694&w^?24HoWRLtxm1is$yZQ zR4G;4tyPMmv{xH6>-A=}Rzx7G?A+^?ZzevS23FT4RwAaw6~GziOE1FzF>bvujs zf`0zkM3{oCyU~5*-E6hJdp)mib?2@Z6dUzao5ql_CaIz!H)?)VtFQOlwSE(aJ72QS zmnsKU!s`z?Wm%czqUNnW8_{B*HB~J1ZnioNb>`M++G0^}sk^b->R_iA3vQqdQ)KGf z{TJFy;Oo{p-A=1sYquU#1J;l&+47K@HX3?8CKa`=_j(?Ug58oKF|_TYb6w-OjZs5; zJt*~$-)P7S8hTE)JfxvM9w-R{=)3!p54C89QXp*H$~Q3#boqq|mL9pt*c z%^zm#^R8Pep_MNc^W4;8SQU>5K`?M#M8+co2d`E^XxDRuU+MqU43oSLc z&vL8%{tjxeO?oXl;Q6AjJBc4A@x1iFj>q-p{c_Tq91ErZ?BaD>B#4&*kUbT%+BF+!|Uoq5SW2fG;y^wROKhlX)}bxrk6e19QNLnTf-W?({40V{ z%Ci5TWtWziM!txReWtYw>Iq<2_6q7W!u906LC3p_I-PL65{g+kgz2Kt5k;6~pFMw% zzCC@a$^cFPJ&}bMj{+iv+99$4_F?4XOW*ZR`WRDF6Slnv{fWq|I|x$Q2vI9oOMA+R z`%Sa=2H&iIbPoJ}p!yW3bV%DA!?M5TI zQnZNP#*Xbo^rzw~Q}!~6Ue($iMRYq{&m#I!xSk~XB=&Dn=-@{Y!ik<`MB{u)n{!fy zB$Itc^jMKChlcfR3sZl}rghu$-h;B(IL|MnoZ~g%h=%+4WVz$y{J6n6UkxElUMtSk zB9JoV{;jXc;^Vv$jq|c?&!6D+-^rfe7dDQvmub(x(Aphk&zs?TmObAL*ONx;81^r! zJwGNn7t44FXZ#eNKLusWU0%Ra2R1R6wp?4eGy&HI@zGt5M)yL+@>agbE4~xmpKDaS zOuE;!c1O|O3)i#gejKhR>87W3RJxD)bO#ok35FzF@^`2M7!>7;>^n~!_zpk#ln1&V zSPevT9;y%@^`(f^^Svb6JG!0WbD?b{VJGTe7aturt0Gf>L{YDAmL!_^vx09${8dpx znFHTqs)*OSZMo_87SgUa>*S0yKOd2Hu~Dkgp4#~HFJ$8no3zV)GR{SE*IVAE4q#Bk zU*iQVbzmEFlX%(nA;_EZ_$+)e67yx(URO++SIobK*E6bLbI4>~?inuQQbm&ensbb8 zo%tK0gfa(yz|>@3>$<%&%q_j85+C`OBavTPNUc3xKknGe^_v&6_6LWMPsdL(`QuxA ziS-a`Z_49iz7UOhdP#r<<q_8*QK(VeG%{;7PHacsL2#(TnT`Ec-Y+Lm5W8{;wR8?ZHIe x8PdBPn10%#_y~`<_nEGpk0g8?-vu?{BP diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_pdh.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_pdh.a deleted file mode 100644 index f74b21e3d609e36f2e443b5f90eb66e436fd62be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90600 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 fPXu>(Shc1ObDH7j>%rK4*y3x4w!P)UCD51h- diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_powrprof.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_powrprof.a deleted file mode 100644 index 23cd940c472f17827a5add277b040c365d4c9c70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92844 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_prntvpt.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_prntvpt.a deleted file mode 100644 index 245f275ae091be08008970c25d81ca56550e9222..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26074 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_psapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_psapi.a deleted file mode 100644 index b3a875fbece7ec6c1fde7b2dc75218b56d291ee9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23454 zcmeI4&2QX96u@UUY14+3meP;VLbVY^NL2~mZQ|XEs@l+`B`8HfrAmbmj*~dqrOEDU zy$NYmp$ZkL;#6_u$cev!Q^lDRe*tF>oH$e7oAJlkGv1v|rm3v8qp_WNZ*0%_H_vbU zyfbmlZm-s^kA7H)F2(7h34cbZQYaWy#IFm5V#Qz?h2>E~NQID*1wxMgOUSV?mX7~J z2&R*Nuyh)>n8tr)>HH%?FkPszG_gzwri=GjdjC2hm@Zvn>4P(bU^4P7mHs9K)AXM# zRepoZfb`KXEM5PZ5KJ>au{8T5A((D`&(f!G9!$4qSz5eI2&OxSS-SfdA(-y{j>)oa zSk_(FX}i{<({b9?jpmwTeOqtXt-1x7b+ckxoAnh;UT(`pnQej2mP0J7=Gbd{J_@lu z-*(y$mYVJR^~S~>r!%)(EtcS@^{tkbAd8hq)~AyBM!i$FH|r0b#ddSmaowBE_L93~ zcUEiFDgQ)0lx{hlCHF?nZfrPi$j;`Dk>DpNYCV#3D0AJVMk;@aQI&-9UC!^9 zXDV}z?JchlIWBk6Vm_C{P{dwdGJHZ4#iD@YEI~-Ky^iZHRfE1G=0|d75;SQ(YVz$E zudOJX+iG<IL!Bdm& z9m-91oZSxHPhJ&>u{^nEckE;pDyb6V`Q(c0_D~~_QLl~%yg23S4#UncTo=F4<1xKy zKOgmuBL^OLg+3y?9n4tCoU{P%*8joi9@-_P*!`F6s?4#kd* zYJ3}k10mPp+Gi+9hie&+AfDc)J2E33Eugk+-US5-hcklQ72F4V7+fo zWR!ARQ|GjNr6_P}LK~l;*EsyDIW2ijMNYvEa*BNj7rciuPN^`q;`9RUV=DAt)RX07 z9&$ZG*VuzcX!{(adny#ysGA7tuuvk%dZ)JCxX*GZN8}ZdPFt6ej_r$W8ZNx0VAm|L zPnCU&af`hVJaM{at33GucJ}Qc@7cHZJapDCT*EL*ChZ(O?ROalM|45^Jwhw<2-ssi zS?m`_K;tsVzwr3PP2uI)@4((-t53nnzUIzLLOUO^-xbiQ$@PMMfycWBI&Hb031Ye+ zFI7*+%Ysee`HT1Pzh}?FJVMTq*l1;Lmy&|#Lb70N35m5a{?G3Ty+XA1gn#x?+fF=E zX)EDbhWwn+Zu>d3<`KSW9q}4if57s%U}YKK=ji{0V83NKL9@`D9atv}+qwpW?}){0h{Gww2hF1AZ*Y@4FzvI{r5mu+9< zY~n%M_Aj~fcC+nkay`MeH{^POZO5^@s%<|LVLRPipY|vYxrUHWu;j@m>_@mxpjxlL zQdDEQBKj+j;Xe0b`X0x^K{CCwO=atZzgd+ zGq~Kxg2JAyk8tm)=;FSj#JyP&$D)~Ub1|^@XQ1z>`Zgyi_t9@p&@iTXJgW3Q9bLL; zwZo4A5@fn4FDp`>dGJVL>?sgX-j4_W22w735S4DqRXup2+T7o|y^VAaXk)w*2!)mq*8+^mge3+oxGSXv0U7RaM zM>EdpeM|Dy`x%iQ6FCQqK8T!4ExOOSC)CBcVx%Oa{lEN2?vP=Q5!# z&Q+tQncsq->#*mqiJT9PJ&&Lqx92jUF3z*asf6E`8bKOG&iNmO`D3q?zk8XWPdwg7 zmq$*eRgXqayQpa5-pC@S2hIJ_B<{h=r#XtWAMU}@tNol;*Kafowa97qr3^D>Il2kH zEC^ys{d_5NB+k7*G8;g9A5=Y=`w zDn(F5*10$CNkUyVT`_`M_NEBre#4Q?j}dw*{mdRP#5lLvM0RfKqe|-DN>JtSTV9HH zG+!6liZRoSY&5cQuO@is(hu1%s};^a=ig2kai-gP_fK}$DeJWPCW=wgY)&HtFp=z2 zAgeNGp6aocd`_brC7TbBqF^zjWY&vVmBZOxWP<&%{XaU-duspy diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_quartz.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_quartz.a deleted file mode 100644 index 49fc68bf46901e7cbb7547774c1c3049cc48abed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4814 zcmeHL-A)rh6h7M)ixtEeO}JbWy(4w|!_o_4TK@Dx6Er0xTsSOtu?;Q7?GlLb!aHwy z1RsSb;t|Ai&dhFS+g*wjB`QN^cJ|EInVmD=`DTVEi;nl9`6Bn+jHbeT!NxzUSTRkD zoAlB&OJ!`}w4DP0%*J2l~~(AN;OYEn|w0zf*x#%cib0ogEm2!75zQ^oIBM+q`EIy8N$XOu zEZeqC(=N(&GR^JWYvT?s4Zy5{p6A+xk@xWvxt?5@U~T6cj_)KxxTOl#X?~~I8v%o_ zglkcUPs;%|gOv<^m!7ykiJK4XgquvpEd;nJtW3q=g7&u?wRiQce52h4$nUn=u4?#k z4)D>~b@l>-vg>}LZqoyO6HNC}DhZ?cC!K`Rd_(h18&pP<@*n$U0-G+tuuo{^)5g7M zC+aQeoiHg_!*cwnB%U^Zfu{?lQm7vRPi^$^1OCR$P4l#}6%*l@m=Un+HxKvsq=k6|H^6lEu4Fp- zmweh!x>Cq*9^yWO0~XVhq7Pt|OIf7g8&<~OE3UrJsO>68kX+bnTWUoWyuVxGhHb;VG6n7>cKL&YV(mvOKyZCvOpeMG@4h-t**!pNZh77?=_ zkF&9v6DdShVU!6U=IQw}dOJDk+lX0_y`FhO;}EX^?qZhyrFXri`J0B}M zD4w#1XcYXFwwtMF)3iRqZk``~gNz3HJtZ1lvimW=15iKGGN&x`NI?h7;WJFa(PrE; zRG-zwTUL|*B_ZR_IoHkV6hw}o|30fD)4kvzetoPiT$0rb!&?0XsW3{b>yj?anm?)4 z@3nC+(&}bBZb+-WcwDH}4>2;T3PVvMQ@mCi5WN{~BA9gUZ`JErHQT;khlfg@8C{#i uz?2g&gX&T_=FPXS+SV<h*ZCM9vV zg3we=An^jBiqF7nKEqz|g3rKbVLZ>B?K{W5*lkRvKrXsF=eeKHzQ@1k@pE^+c*E}O z)^E;!riW8;sc7QQD6Qza!J6b!*H_Jwcf$580DJ&2F$FO7JHWX=c%J(WfbyHqd7gg= zK>3|To)-{L`TaSbFDw91zIcV_ONgUA=ybldYzr~_4p>&*v8!k91+0zsuI)M%+qIkRz3zi@ zX%YKu>>pUMEn)O6C7QQ{(Mm9D*l63;^*fCwD&h7~xoC>J=#@*za@aW%01jT{;=riC2ZIXjxn6NelgH^F2bp(~8XNczdEFp_R)y!jlJ;pFL$>17g|`e2w& z=*j1E^a6+`zjwlDa2v~kefBKlX+1qpm#-HiJT+0rZ?W5*c-1^D`C5A$4~VB^LzL(l z#_^Oj_7oB>;C&B-{UuzSoMgo7X;zX2Pc!|z&W_TsxXxav2*<=20X4UN*m}$*j7RVa zn9j7znNIp8or)xT3VzQK?lZ8@Vyemd0M=N^3k`n6gMmYdGe;p_EW_=hYZykc#Ec`+ ze=jdeb}`Kc^F4BpTXNJcW)N`=+wXh)q)Pwy{CD7QN$ZPvv4_%iLHPNQ|6V~%Jsua> z1@(6WF`amviOnp{V_Ehvo(L=b#mmd|@8m?t$accf+5>DPrqH#BSr`pt<~pYT@=?Sp zqTU|lcOUcZ;4zhHiLR3OCBkp}5;pP>zu6e+9=JWw`IKm|oZlFNvqW~wC4rk_k`9)! zA+9?39Wc~pUZ1hMIA%9$pA$1a+R2*Tul2C|mdA?!5xbKnYnidzNXc$7^WMmfeYfWg z&*Zyjd)STS9%P7nfAyagn&B6^{$JP4kwrhY=4pJ}xy}=4z7sT*! zWG(!Myq1P5EeOTP2V43J;t^vdC99(zd(7%f0juA@rzi^wW=|>-O{0ZagmHr=P{+0!Hij zt;GDDDgcpT^G^H&&Z4< zE0CjsVOoJAx`?cz(7TBeuhjF*=kd6}3O>R<(ptfk+6ve<1>Mgm`}(Ui08GNyZ*l=E zH8{aqZ3$u@j4!e%O+f-?WeZCwZ6O-tjBP>0IH$3NNtG@5dzi?TQMQGTJ?0BrxaUcz z(%@GtRkq-(Ao;xzMrLIVi(_lRr!&kq!-UEj{M~xSnbBQuAH*7b6`b;eh0JCP*Hc-8 zxr84PjaPMgttN<*PBZ__gZQ!pi9gcsfq5DLCh;Ed=L;m&poXO-hAV$I6Z+sLE8m`W z?=%|qkM~YRq(e_NZPc$Jo8>Q{_;Vj!Uw)njfJrdAzy+-I)+xh7mRT*Ug2}UDcFKLz z)hM%%@l~HRpZ!vr2M%*SyCYq<->ObC9v4~Fc@mEc{50*1r)72yBH!cD_md;-uP=C9 z7VN$mV)rxrXT=U%TDk1go)z0u?xU_o_nLk{1|+flYl$VpWP44zZa=mk#N#4t|1KUE ou>HMLupOdo|4*#id>CPT*^^ME!7-Lm#(Rq}DL%X%^vkh-0A#m@BLDyZ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_qwave.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_qwave.a deleted file mode 100644 index fc74f80c26c27021890e65825328e7e1b2efcd52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12778 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 Xhb?SGRp#8b=PDIhK|C9O@pS(`^F9xp diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_rasdlg.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_rasdlg.a deleted file mode 100644 index 6f014fe267bd7f0d01ed68368e105fd757fa8cae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20232 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_resutils.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_resutils.a deleted file mode 100644 index 520d7b71b1de50638306ed25ff6b072f2406e7b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107496 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 Sig=ZEWx<!7kh1AW8Yox z&WTef7+OF`6|E}qA|xavBm`0=P$i^FNL7(4At65S3GsnHfR70A5mBCJW_EX8?`F?~ ztL@E3v*+yd%+Aj2Z=QR0p4qwMC#$XH^+yjrT$HzwiIFn=D~(PUizO-&_r>D)=*Sey zaq%D_dYh2jRtY(>!_pmB2*Gr8gQa6DgkU=HEKB#DBLvd}pJ(a8(}Z9eF0nLn zln_kg*RxdqCn1=o|HjhEcL>4sxwlxF`z;}u&ism{$A3f!rZ2qA(n5<6OkcXl(s{TJ zOc$PE>C0yc!St1JmM)$k1k>^%mZJX573BmN^f3x&cC>zty{?5|R z|4Im^U;KroU%pESreD9s(i?9Qg6TJJu=M6n2*LEbAF%Wmv=gS^H(7dnkq}IOfcC)j zE?ftuKf?XS^rs`3DwR`}%2VyA)vlb2I#H`~s<9GPuGZ?+W~~ATYvrkOWutZpQ+%|! zTyKw8sufV$j7X)j9#vQRKMkoYHkTLL=UR=`+D3F{qq7)oHm*b$W=2bJ?%HOv(oMmb zceYnvrl91VuRp&KZFjm9ENPf?cPX0Zwv~OlQIBTEEmelRv0N{AE?TSAFU*XM+A|9( zmi)85^D`AC|Ln>NwAhrT=tQdLf_CVVi%G>?r=tx3^umlWlOWXd%y!E|g*4BTYnz>= zsB>n!IlHFb2~C#dfIDN&A<2>)k5}s}8&O)4Tp=vUppoQ0Q}48{!HMTr=U3VnW=7MOPS+EevtyV+>zmH-Pi>e$YpSp&lv1bgsUtFhI5@=`0dfFot8TbabPWLW?=ty?}O zmhu5k%<{=7#-|mEoc5qEUV1KC?(n;)*g~@cElU;|ZkSoYkTDBKw3v`j^Eu6_$_8tEec26448L8nAD)&bA`i zY1BpY_#m?wVZGh2pw^x#5!DXOn5M$1v{N|g2!vy2~Itk&AmneFAM*{L<^ zS|(l0^DRVcjZO``t@EvFy$u(*bgka0ZY!6$(C(tg&-7T-F;;P*ElS8r`-SH_!;NI{ z!ZvC#QYw|psez7l&7>ovK}h zN@hsuo#9LEb`LeOgL*YQ;l1#b&9?pUu^+BW-01n3-b8#H^=`21O~!gKY(Q={=*9BI zbEg)T#)nrnHel=pAEUY8zwZ&UHndv393SAv#dgBe?o-ZID=PHAsAoEk$B^p-bdNpw0BxUJ z=wB`ruha1-P=}2YK~_8KTlLHA2<3>p52Vx9Wu#;KVwHCxxDIfL7;apbrKlVbgoY4RG`!kUz@_ z#gF3u&w?iw7u$Ut3R@M*C8?#CEcg`YG|hTR&%pDY1f3VmdSwvP?M~Rwa2i>hYd1V9kDzZ|YB)sh`E`7)Fo@pm00{M7f6rwYav%gDruLCbpR7+9Sf7P!7(mwH300nJ zm=0Oe3362GjrCDi*7fJtVAt>M%dU@0tn+D%IcNPYG#Id@b{$^#NVWpG27gO-U6{S8 zKe&oQZ=}0MVW$G=c;gi7-xuj)2Ga9x)%zq}os!Irx-co(pRev3d7Tnx;;4_15qXlvm_ROYB)lR2G(kU3a%$G$Uca60M&ha*S zvFIZy=P8meP^m zd6PwKAlOo0rW^Ni)zw$)uxFSwym9XsUoB4u?(v@b;C|S`ecqo|i`YQ0^}#*7{w2Rs zs&UUXym9XsT`f=P-0uJcA;!e+_3iL6!#V{!K=JKjEZ#|)rH|uz_ z^p3ICz&^W;HZML4`wv*z&$qST75mzoPX_iqzxy=i9Dfa74$^O9Kg$#BCm8$jdVqX2 z#C*r3+@D~TYO9O58O6RV{g`VMHjGYEQ}2WJ`%SdZ4kqo|a&0p0TI-5c%q z$+Sc0m99LSYkxkwZI7$1Og4yVm&D#^ca69P+P%?!uaWkAd+>eJu8zekwEG>e8FP-a zhIjc8cORb2$2Hp7iUoO&v*I&5Zs}N!?Oi?r=VUd4G|Xy}db8}VQP!~b9=(?~*0anZ zJE5^2uT+q4&)t3PJ%MPxQh~DExJAJm^{&y@K)pBWkDIB7r`18F-ulD}K0NIfzMolL zqpp+sc;wf?@b#KMcAgnW>JRMY8Um@Ju90p=%xDM?ebZ4GF zR+OoyD-`6}r*VJhDK_DBbpnfdPi5XLyJM`i92lq6GK`Zo4EkdHn8tX%pHll`+-l6} zngo=8Z;U&}RLhh4^J%c->3o7LcKjZJ@ejfr;5+yiSNd$4d<}x6K(=7d<^WSWE>7@O z9!y1%FTzJ%Bd39IZ&v(njqrS1@xBN*jx#dC{f;q?x<*UG6KGe$vy8hOWrWig8l>N~ zqZTi}@9w#eyXaL{qDU46Z+6`^Y8t5bM*UqT>e=9Wt|O=YQg0Ywm#I$_yixBMJq>dp zDfHHOQkFT8cbcf@!|Zt;e{r7!DMK9(v&(O++I76K?-)xB?E7Q?4lDcl_UL!TK8(-w zWS{GJW8XQps;>jT0|Rrt#@n9}#;NymynV0N1kN)5_jZAOSbZt}{pMVII_|%FK<&9u zZ6ouV+#B!CQPsdZT6^2rdlue5X5>BJcD`@k%{D&e-M4*rji*ir-hJ_Ygz>Jvv^F62 zU9GnIf`?h|&AvOvR>SYw`19pIYUCY%**@R1W{$Ha66QwQe%D4}8mry|`&7jn`Hm6S zK)yfn58KF}9bEFkfhogJcc&3py>oCCU*wOtMq-1HL(%u))8A$!e^7jS1?gVM`{vy> zE*sX&?#lZSkh;#1{D{Q+QnV2*cktwS9;bJoL&kY$)mFl>y3CthcaFsBzxENGLeDXoA z?R%fhCvyul7oIVn$h|S|9DmivD1)6(?R=KG2e%rS=Ti@I&3xuD8^$!BdN4X}dUDlO zypiu1eGOwaXzT6PJ`4FDvXMV%V>SZTu&7us^0|sP@}1+b!O!VNeilFH7K!}%&1R$3 z8A#tgt-9H_SLEK9caFsd=6x}Lvw``6^z9kbiSJ(9Y*yI2Q~Y^Xk$Yo4#A6X<^*J?p zk!?T7PQpX1&)+?}$-w+T`u2?J*taj4e0yER8~Gs~yXWK|w2?n(zP*68wy3aV@M-7p zyryu;H6A;qzx%xdwlK^orX7c5iBH`qkq^@e!MBI$H@P0mabKH^Bh9O=t{`uc`m*vR z*H~ZQ=NL&AyNfz)H_FJbqgOx?9&nZ zEYu$`QxBfapi*y}c9T%=dEQOQH8vakny$7!i(hlSfqFzf&+~5j^lNO6Jj30$5APV0 z4eK{i)Yb8w#IHFF;u(0RkvH=?eAglC_)FbS!{o9?>uf8Ea?QEx>NawfXT(U9LFCPc zag4nN!Wp{^;@z#nx1Y@8pz~sc4(#04>T1;b;1jM@IVIdI@nq$_#gDyQv7;`O+iivHZL^*hQT?`AFEL%XQj4o+J`~fw5Un*jwQ46i->TNz;Jz$f zt9Po~*sJnv;qS)^z?NG01$Kb$3*=S!j4iyS2^6Phq1{c-TVHUDv6d(G88u;*;dC4_ r%Tp?e`@&;Uhr95(W*@)xa7)=AWe4cKK-%ybv!7I1qg|Hlmhb-oxf?)1 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_rpcproxy.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_rpcproxy.a deleted file mode 100644 index cc6381e6ff08e6ae43ed3fb72ccffb2b683506bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4884 zcmeHL-%k@k5T3h&#ReiVMlt$uCYtbI>b1bNCd4!$0uMeAqsAwfYkSZOrEPkLl;{KT z)ffI6pZUwgnc4fX?Oowa3keC+-0a@W*S*`>Z)c}{v2OPpt#^et#;}yuN)~?1@>|0& z*`;d3SgFW+!`LkV0AAW3fSD#h{+GN8bu{C(uqm&_Wq`$HAvT2g>^Xf;>^Q#D7aQHC zBaYpU-E##RU8`z|wp*twwDuakes^#pY=N*t2ZU%jc5{+}Ky3SdZ_{n#8|?JEjasRU zqq>JZk>()m`+@ItJh$6n_^OIdxV9W$4*dnEiC?Kj@H7wFq7l-*km7`<*YW&fH(IoD zt5q^h%d!l^Dx+fAEqu`K;er7?*8m=HZ&oY%&cNsXcx8aOTWs3CJs!fI8kpzBy60U1 zgHyt}G~mnC5IcjN8GJ8Qcsz+)3+;rP8;`4mxJB&Dr{F^W$6f>1b8u2@w%cSY?zwFz zaQ?jj*w^;#gU}Gz)mYKcxsmY+rp8Ghhf!jb8;4QiLvzk)q=zMlA;)GGU6)`uF0}eN zZDDwj;4U1UFgk3bp2mJ9wzmF*t(BEZf~^)tnO2kdp{@X%Qq(oFwH!X~5x)(P|0egPysB<7K%p_1F zeM4O5=t{0rd?}`}sQE&^bAtU04tY#1?LUAm)>7&48#~iDMJ73eg2SvpyTdb4R^%4B zGM87@l--f%DgDI7p<_60cg&&nHTpjVET!fecSn?aDfX-Quy4w9ArLV*2Sg3*9UaQP%=YV8X^Yzj#G=XJ@gE*fm@SkdOF6&mw*S+{a7CnC{hHVs9j~ zKB(s)=XePC%2A@HdM|uajE9mF2aJjMO<6H3zwrzotzDTHx0T;diN+`~zoYbkRvnH} zGryyvIYYTVO^%nca$K!&?l?XP$2A!JRV8!ZZRPk95gaAvcvNtrRfi+gVsy%v|HPao z!_ABguO=COiU-wIRmxZ8bic_erLH{pvMQyWj*HR|v5u;g@9DTGi$6wO)+~rq^%kvy3i6>K3J(Pl5K$2kF(N7=A|fIpY91;Nk%x$gJVf}Pb5B*> z@9JBV>%M#?9 zj~^!b5*#1tpWj3D)d!*o>EG@n`UV^i=|7GWeH)GkG%#>6(a@u#0i>;8BYMo2qXDFI zKT7o2H$?+T=ig2A_+~VKbkQQwlWvIykS@M~Xxo8k0O^u_L{Hrl4Io{((!i^-SJ>FfYkaJ(TUGS14zAxh)%&A zA>H{=qGx|18bG?|(?rkzOf-OWAGASw(Z`7%cz-m2^l~^Z(knhp^s2W-14yrZArWA9 z0O<|uL~mS<29Vx-gy=21q5-70T}bryuSWw&zw}k2cf+|M{n{6Z-ut;|0O>bBMf8D> zL<2~_17k$`P(ptIbAt4dcM|>aPelVrA3sC%XD^NhkUsT1qQAT?8bJE&BGKP2MFU8m z+eh>d*G2KNFuSnm5IYs);2N+co9*`7=b%{CHGBy6q!G^$$fAq~-S!HQ*Pi`C6j(y-@|J(;`}1 ziYiF!FkeV_-9&Wv!Ki}t+-r&My)LRC-4FAH^y2+QFNHFsGr)`V%FBsfeO^>SdM(Tm z((67(^ai+2NNApOo4i9YnXsDktd4-$RkXQK)dV3yIxUlCQ1{_KTBpXx*vq`zzueHN}2(%&u; zeeUL{g7gnCZlo{lBl@SSq6*TNVNQ_#Wt!+~S4I`2f4_w2n-@nFr2pK`XfWCuF{*qf z8bsRiKB7mzEE+`mt``%X*NO&_zWXrI1qY%*q$dm$eec(!L8R~dGSQR&CK^QA4t*kB z`bnaveKZAbKX8FVbzFCaQld8bn(DAW`FO(I8Uu4Mgo1 zMuSKlI4;uKEkx^AM}tUrT}E{G`OzTKb0ebXe<>P7y6;m&FM=^6J@6)?m%lq2M0&-C zh+g&aXb|bO4-vf%>X6>>Jfb(=8Vw@7d4lLI7e|9gZyO_e$8JW=p7gY62X171hxUAAO2=Egmm@ii6%c84Ixdx zpXi#mMMFr}y`Jd$2cjXQ!|-pU`Fn|OxH}p`dIpRE>6R+d0vrda_6?#X_(eJn=Z<<#%^O0x>>G^QpNcVl2=tWh! z(Gb#SUP1KNw?{)r4_!s{cUMG1NT0uq=pW%1=}S9^{u$;M>8qC${Tuv^^bHsT(tp5w zApPgxGujfpCt@`C&S(qL*4Gm~<`vNvq;sD~^w?Ik1?l`-h#r3++JbaZmFP(qM_Z6C zK9^|QqoXZIPx%|7%f1qALAty`^n;I!wjhB$%V_6i(H5lY1w?zk5N$#F;V%(g{ncm- z(&R%#Gegl9q-(xKbRG1KbUpAO9sWAek#nLgNH<Y+JaQSl4$w+ zqAf^`%ZZwBPDpJyPo&NhiPp}KwjixvOLW&nv<2zz{Y1~bHQIu7Z2hJ-xh5} zy6A&MPx^4Q73pI5H`2EE6I}v-BRv(`B3=IXL_heIXe-j_xkS6pkG3L>4-;LvBif4e zBUchl+!Sp^np!5>eBz^4Zv6RZE7HwBMfA)!MO%?> zJ3~}ojkY2!A0}$-kG3K;uO@24-$sR2Q0!MWnQJwchFNTBt1m(@GpI zEF6z(OB?SdS~$AaSUS?4?{yljV>eFhfgT$xt8i9ou~;x^=3~XkH`_hfXv#cU5!PQ@ z>mHY@(-N%R-)XNH&qt|{d6jeGyxCdJoLH+hCq~D_A@VZpZK@O3dhvXGVl8g<8o<0u ziMze2TB{y6Cq~j~(TbsfE*`S23A^)My^^(=hEti3JD>s@cgD$a zm6kRZYTxMQ9CTW*rB)zeo%U&(`Shsr$fhkUtbNktK)Zg&{Bh7DOUfJ?>(!Ps>-FYZ zw{cR|1@m2@vBbjKXR|AxtyqkFEB(=IWuf*8wxq+Y7_gqU%0)9aG%&EXDqiIy8fsZ9 z9g{0*5v$i>M|WLIB`Y?dMrdTHrB)Weh)pdltUb+3dh$Xmxq|U#ms`>mD`GM7#hsIJ z=NXN-xg?8}T%K{lz3FhL-Rs6DZWL~e)@nn=>@u{JbS66#?>J>Jww+mrdyS;TwALw$ zr9G(ge(j0H*nYC#xf6q-EuL2HxKjpW+djvgS+^f|wcl|Q2Gem@)5+vmQ|5anW3jaF zGvC*4sGvm@)EmnYJB+%~8F3+r6E|!VQ+Kc5Bq&^srr3X9<;~<0{ z5*|wr@=Yhbc0zMx;B8yowZ(3|(^!o6w>t;hy~c8*Uh6g5E#rCQa|^w8;$w|2EU9Q- z4I^r49LCn>v*2yzxfE<<=|;h3L9Wb>Hg6rjuCj7@vmWQfvCC#MI}xqk(9$$+-cBAh zFW)(_Q=e+J+Hkb7i81M(p`0dFYwaf2ddFv5%Wb2!NslTsS^F?bz1oMO@eUxuj5rl) zvLnudb=z64)#GbA?X}g})``T>?HU9om)FwcbX=?V8Yj`l)#p;~P-eCCN6XzCO;=Rz zO=QgNYtpqZVzl+ughiOVj$v?7PAcWH^fH;wl`f}pMlZe1&O)5m*>3F%e z*6bYyA4~lpxNQVKOJBA;2EpgimrZ1tsx_OFJ#hIfuJz)s^hPd8qGk22g05Vsb+R5%9tzGIBI<$B@912%`r&ndAr`5nw zvNDj-{Vi$M^{R{?m@T~vHNbtan}8XLXIj0^X_9lvmdfF=^`MxP#vX_Vdx(3d+MPRQ zyXlO9`(jDH26h%(d-+-z+o#tft!$l0P5@Mk2pUVhaAe-nd|0I(T3&x_rFUbkf!-Pr zs^q>a;@rlNw4Lv@SH-sAUzE-nn_GCY9%{WV$GoAnR-d+vlhdB>fgYI$SCih@$imx$ zra97BiQ8*ENe!{H2B(HpE3{&6+_a&1iPDBD18L}0W;N;4JJG$$Xr$-@UlY*H(f~>({?5%Yafa@n)}G)F{z$io?SAYb5_BR zmstw!9;mhhaHA07D1F&DgM8()rF3#ea&6LTX7y;cCX!d8*h;I-TFo?Z{ttrZR`HWi zGqu{#PFb(3?XtDHSOM-=U0Pse&rT+-RF1U|)#;5WUNy&kJtm~25M~>Gq#rN)0Q)>rQDg;>(iDft{t4?&WdjMvU4_Z zq^&2HmXfp8F0NFC{F2TTT_0Kv@+W$l>VlZ~~!)zQ`>guSIhBrSLi=T0*@5*B%B zpA?#StUbsJdvg!zx<09e1=%55F-q6KSj&%#t=M`_GGv8DS*6ql?*rrmlpLMBoy=ft z%OVb<143_|vRK-KiPEn7E61@Q)z0S`6%^D^Ys*t zu3pciiY}&-*&=r@vS{Z{l_^v$b0;%d`+!q4fJ!=17DWRlOCPzjKxd)O15esYMs3tz zW-fjfTD?(+nYqMXARWpemT4%QbEf`p>0X%(K&(?+C^t%}MRu=DOWUibO^R_UDd&A- z1Nr8cbdgm6?_~FM3*3-NhzyNUaiqrDwAE~@fvIuetVn#MB1~9I6Gz$_tUdIb;%a@Z zs~=RWPTRqXl{sIru{00th-z)tirv&LZKS%i#pGhU!_H7Yh*WiOsk3@Rt#d=~&@#FQ zAuXpaOuDTW%jaS+PP;L-0vl+m-M*tC;4F_rse?rnShtjI$7iw+6INdzue3X-XIu47 zyaG#8<-AR`*a|L9&N-WEg;vtJa;qSZBdG&VVqI#@Z*QfkkZ{`DhC`e7<-ZhLg>cKDfcGN zZ#EjC7nwt8El#hovB)5|)u&%LXjUn=Q6|=OM1=+0XJWk%bafAO^=zvN@ib-L^0=TE z)R(*`SwR@;k`}snA#YZia3#nP^Vv-`Nm({G+3>N?tQ5FVP4XMJx%V6%tp|Cua!Xd1 zw1682O}{*~*g&pI_~Bk~s@B0Y@cnBoh~Zi^)A(CE#b}&sr}-SrFmejjXX*Zvan_Vp;M<0WEQo(D6i(`B8SpC z!=SNcR;#p9B-Yqg;lUnQtVftJ$(AtIX07-&kY<_nDAi>xxHJhzlx~}JL@S@6CwTOM zJ(nWGmz@OfMr1PdaWFom$ePkVWiYhOMk*RB>M%qmLm&AEXSG?YBwip)V75-l=TU26 zOhPC6*(V3m*bMz-!!uk2-i^ei_QESAWx=jP(uKsr+oPdrn1ZBO;uC^CdO0g;p`SaJ zQvLOED1pV1_N0V(5|;Y3rJ9ff+T&c8~#OGx&8_w2FWJucbCjpMM z4|SKdriS{oC3!TACz^Qa(mJ_?covx+!x>FliS^jB);eZ2DomBohAnI6WAo)URiFLM!p6r!^8Qc^ifh=@yY3B&*=O%I!@(f>Mp`=-x4Vtkv#75*vDlg&C3N zz8|N#Hvuj381(KGR<%EprA!4{&rRnu_asb4pT1;H=Ky7}g$S9&-;&q*y$tPd5@H^)+2@uYjQR+Vytx26)~8y>gh+ckg5p#uEz^2z$(J}% z1F0DK8td^=Zk)u*A+;7jB@Hd>US^Qnin5u>4nJ;Yl%w4vwajGF&?>8wS_rU|tSEjo zg#%iHigz<$`!SmOlIJBGht`$MXY9#1je18So2j2{;_N4rv6$K`6KL;6VT8V>n@ye& z4$_U0QSs(zsi&4{Zh^U-UQ4Y&c&D1RZa2vdlH9X!I72nHgPgmgttKS79&DeIj0R|= z)?o`!S1fM;qYRnjKbsqKwb+itz#`HI4O-S30OiI=YR-| zh(uV@U{I4vi3>N9As0~=ILodtup6q?cEW&^^WlwU9_k@k)+G^TV*o}x69;yCzp@_c z*R9N*)2pbI`gSTZ+xyIvRKNZ*Mtfh1s_NIH!fxs}_nyla%wm>+vS7FNDo?uoT-hne z%=SLTIq%n{$ZPE}oAo}uWqj72l-cgnpTaHm>MA-$K0{CPR!P}o>Mn1Zx!6jq@ZJCoXn zbv}hIWFD;tahlBMpssc((KH!FHcjTXS+#mxWpd1|6(-(?32kZ@CLW~+d1{Ou$Si96 zyvfs{s^_yDls!f1uGe? z*>j;_swzxs9}*1tu*DuE7T&(rY)W=FHK9_8%W!JI1*H;~ux#OroP-A+xr4YEL>Xa& z6IiWu6&oEN$E?#Z&FIR)D)|Y?WBl{sbv!3;Z-RL@O-&? zvepYnOV=lsnegk!yA>;iHp#;)0`_hvH)tw|mOdIXM7N$DEFW@a#U1YlgP9aEk^@5e>;omwl|C$t(^jj&CXI@-RxLXTcB;vI*uv3;!at8*#w3(RF*vV zk^*0Y9wH-$SLkuJO9nchJMGRuGiGBH`-0u^@Mg6NPtBry8&3-iGmS~^V-B83#U)s) zmCTu@84P~@H3e_K+x;ELZLeT>EI;YBaq-u18vs;~>Eu_`I7!wyIo_HD2A z_SYKCHR)X~`8;W@{Je!)n*19NQ9s;R)iUGl^{nP_Z4GzqgdIu^_M%>ywCQxSO-+>x z2i_dHjCAaD1KXP&i(7Sg6$$NoCySEcL@;rty-k5iyRp%U;X!%055gjX)+9B#MOl}KM+>XCfc$()jP3Q3t6FyUT%aC*Ps7Ae{);a|P6(b_qt?sZ|Q zWW@*C$Jla9*nCAVXC-W3KKXjbAcyh-!p_9{fa`CZ{&8)kC|4^_+QZB`?18=% z)BbXbO$&{+>a<<5)8+iMen6=z<)2!E1Qysx5mX~xG5uIZmb5*s?Qd-Kj`N*|1hXGb z)x;sU)=!n%U^(Mtiz=?R<=dHFnYH2F2&aVnydvXOP6E03@!4jEY!yQLo8vuQv9M{w zLjw;xf@)yMLon1*E4B~jjVld6Bv{L`h||k%#7fp?8a6`d#ipCDQp33U!WESEJiOru zXNKkW$Op^iQ+fi!&8a5?U(yrC8hbG&bmLV}?qU=yl&h&7#zIU3XS)(+6~qgPP03vr z4g-IkY_RlNMbdGDI~yD8CsB5|_Zz6;TlY|-dw)P5()V_5BZ&tHQp#A4taIduVVPaGIkykr1KGUJ7Ya-xM zddc>gr*yR+jbY0k*r>_Yot-_uU)K(iPw6Rj*~1OF2KE9ZQ%k#=x^gRgv??R>Qd=wW z>C@Sie!!1iTWP>EAxo>6?`;7&$hL_wzb|1!F$czc7VG>gr)8LbLi3UK9dV1l%|W#R z_>9@v#WPHtb!`@aOYXEr%vl)4z9gjsA>G6pp;QbT?(Nv?938H4I zAqZjm0A@y`3yPFbW(VgmP!*dg@;H>71bKD^Q=mVe!ZF*Oot>UvTTK?Wne6pt zQyE$(K{MFTWR}+}ExBiq11y(Ct&A7fj*;(3%jR%mwKFNxY@3{Eeg=9ArFWM30eBX2 z;`2DPIu@PdTHIc*)R351XE>{lmX5U+7kfL}KQv6A(cPm}_-|xv@9^*lE28hwk&$Y( zIy_t*qkj(%-*(P{fvpjKE*glU$Fje+4D7%JcJ{aZYd9LYZO0NU2kk7ZW+EDSaK~b| z+lMW>2l*P<;U&9L-XZv72+m9Vu>Oc|cUq2okGAuTr+nwaALknQ()zi>Q*%dl?O19y zqiDx+qZua^-~LV%9UEA#-H{d~<>EYHw}VRG$R^HF#l|Dd&!CM*m>V4L-~fKhpJe{n zyljE093D0&c;yENzDw>T`B&OI@>HVz@cr=LMb2<~+#RRmJ9j3C<~Xgw96yeog!X{tW-u zY4A+r;=J#IgWW6~H{zOJ(%^f5XUWW$Ne1?J74Wpod{wAsAJh;N2~Sc4Kf@1x=TiLF znKQf$kX1Rl)>umSyuXp*1doHbilWB=(fs1S#lJL}&~<$z-uakjj}n}+8N#CsrX^f! zrzLFE61v&=@Ek}QuswcopoH$nvwxG+Qppub3I0@~75HY!O4)F^T_Vi_D}I=AA)tC! zKsC%f0n%*e_(pX_LiOb4Lbb3a6j4pZ{!qQs4b{6vD~2>k51`ObS07097yg`0U44Ua z+&o=?@mUE))ndLOVWX}k{G_3 zo@PUpbu=&XhvYFwB#&xVM?mr=8$xo#kbG^edz=tZR*QqyVxq;dT|#m_MKTUm269&7 z567c!I3CwE^0Pn#_0z~l1Wk4}HS(>(aq~3taWkK$kvnF-49DlgHFMR--xE2X z?nyZQCPTMkOLKI4wx&n+x}kgb?qGxHQjqEHBG&YOGIY*H=%4<2iF?FjOj^^#$|h{yUr1gw|c6XNW#CKSVPP2f(8{h_+*hU(pWH4Pr(Fx(?@ z9$?;8gMU*%HHu1^?QCa@givjQG%NFmXVJQT)s)*CCSQMI-?K4*Xje#TWQ*j5Lm}^3Q zM7c5TWO<0g6`uFfi~XV6F{&7R*i82*=+ErwB0lVYCsf0eLGYY2yfP6xF0;0F@?kRw zXG2!8tyK6!w_~KSsz(}w9kMYy=6(=Exi4(*+Upo; z91qyWD`nHzMX>#^GPWlP0p-mSDUR()3%04;AGRGMk9+mVwLGEXF$F`djFN`+Y%bP|tY^QJVO>-5rM7RJ*RzOdW$04$6m-0q!5``! zBdI~d=c2xdhW{r*J?w2vJ7#Y#4X+Ga3arj|O||~8?igR)t3T})d^g;8Q$)jmF~d3} zH{lLrXh zPy7ESq?_JESZcIyqbU;d2`n+DJ}+TpYTh(EOf38%-z~aY4XaUhU2VuOvKsw-g8W9e zw%Clhk}tE4clS3YZ{4}=$ajmUR)ZfVSIZai!~8uVKLIwi_J5~g9$u8!TcYr&evL(eC=J-h4M5u42zf#r{z37B>z0+@C)GUkueNn>Q!SG;}2= z%+BHu`HoT4;G@aa=S6%p4<*Rolo~NVSU^&dKz-VapkGk3z1f`d5UQGzai8s=}+ZGyt5a6 zMH#kiz#D7*Vcjj(S`GOzxf;Gme#~DJ);CXn%u1FF!_Ahg$RCnjW2YfM2BECPoiYz& zk^Gp?5|ZUy5a_$ic8YU;%!)j0Idp2O^oMk}$Z5zDU@F^+^dk1jUlG!kfOxr)?rxtb z!&abfs`ZC;w^(WLGv;HxNZjZ%3Dym9@KS4b=eW^|H3fj%FIEPjW4Ei>E zrpS(Ae@VzE?*p^X%dO#^_TH=X?#4ApVxWZZd1BW{*HqYKyH_~AR?S#~hxLzeAv zrQ9F3UE`j6wYL)muQ-2tw8*OSQykl{x%lBuyVs3Rlzi8(?Z1`r8 zO@?D(*uv{w&}1=JdqaCQL_YC)^s`TV?rHkxCbZ8kZ=O9(6-dL-mFyN9gFn=}MLvVK z1!Y5%j?9N%#M|;oGwNs7ORndgy)7E3VdxWMBe1nm=54XF_(Q&195f)`AM*dqhWyEL zdtDw5@?q=7e#lQ){2|{lZW?mDa&>-@9IsE9kq@{pH}aixyflSA+0W8R82q8$F@_pY z?+x{TYC=7;b2caH(assI=GZwIgFn=}MN_K*_1;kbaWm>St*)P0@1yH827jn`jHCwC zdqe%77*W5vX?-~}tNnC+%HR+6ZV}e7qGh00J)Il!<$TPHdS>I4IVWYL|Br3R2Rmo8BEOF>2a)gHm*W_t4VI2KOXs6zXZPVPAg}Uy;m&KQf`dQtc1zjxpL%{SACCgiGJ= z>D1c@9t{I!M=tc{LZEL$C)#{EQ&rN zp&e2OlT@7U?DEVyFqYZExg;4V&o{eH7H1CEnYi560naKl2p8I?G(ZOhi%vg z?O$fy|8THBv)&*3DUUzwhp4Rq)0*w$Gb{5CY}khrDKqv9=PC#~U4E7%O=eIT{Gr}0 zYCFDD-`U^{sK0&||8c=mKARSQM>uYt#s4fbpN9JT%zT-}e;FXw)#Cqs0rjo!+G4lf zX)MP3+ns~$USqjYuk{-3R>>vc3RETV;gu>7slV7w3X;r1sRuCZO+ z_Y+nEd?ipMd+ql`+33W_8r@#pc?7J4hZFR3dDxef;7=ubK75PvAP(Iu13HI4+`C10 zt9x}X&^@3h``r^Z%iExe_&h&k#(k-+Am{z#$;fGOME65H)%(M{TTHha-hRe(7MVi& zs`o;ub+v(hm*f2i>;*DaYt`c>(}Ynp1ixF^ksbrzk79q}zs0|H;QKCF4Xwflqa91N zUM(rXwF8tacDqRd{EL+|km-_fEXAV$50&i364cFE39|t4s96cK_3#|9FKUm!I2(Ap zD01H2iQ%0OTizAHROt`tZZX{PF@5*R2OKo}5sTCfl& zCKJ0HBfP=dVONwyL)ZRAtexNCGBGFG_+^%ZV%Cm0?1`~mT8LM#_lI}47;o6&kJOkA z??tSg2Tgc~?#qmKjB((H>-{UKfPGh@yWp4WeU4|7ZLik)!@656w;Hl{*j2M(y@+oA zZ4=gamK*EEvUfO|cTViovv;&=e`t4$-UhUjqVj?E517zCwmH#0HZis*$B;>?{h{40 zUOPUbd*?&08u!i@$yNI;9qp5Az2md3<#y?xzIqBN1;L)VHYvfMO7tT5*6o>W_@)JH zs_7Lbe-hvryA2Y+uB1)h7m6> ztv=POsCyi~A>qx&;(L9zbQD+W|vKFQ=!5ix*a3K zqxw_qAu`O@!ozR{UG1G;k+dbASricO`l$ z{7OjIhHvx=oiMZclLE)+aF7Ca9c?;(7;0Um;N7`WFuA#)N+Sj>IoZQZQ9(HYa;Mc*K3J7kAMqTIPE}u^b67Zj|AhWx&MbPXZic$RSIJiGb}s zP(%XWl_LR@n_B`bcL7-feBT4yqQ%v{dbBv~z`iTdbKqB63-F?=)h*-1bhfr@Vv|DWhXE zOQ2%4-mpIA80{U=qrE}DbNyaq*TQ$0uzqc=wbU$k7SOgtn{)j>os{5DC3*pToAf&k zJs0!>i$CN$Ms`CU9J`7(Eng%L?(H1;Q|*=2X55SC|(8cN2x8GVtH`3 zDKHp2xvc&q!Y$5Q9oKg_2~Py@d%*=DFRotCUqp$Ri%-U#-jViv+{As$%k1O%UZyKV z8$WxX0%|JJ8hqnDKpwKB`wdn85FTQ;c!3mMo?W6LsJjX(eLnN@HWlG;j4~tKHFhh) zctU)4v{vB{-Hx%_khzIMph`jZMAvqxbJgF!z|lR`ZuM%77Hqk>vKn`~?bah1uK8}=;8M|crGe&aW;(h$$Yd^wLi2w#$Chi3=HndiZ-+5i&!r|hiE^vcsr=|`M7uF^lDu0m8$FR z4APJ#=c8WZ58sY4*5GUOhVM5^_=b4n{#L0yF|O8mhGI5kNsAk*ydiwlEwWk-8r&Pg z|0hQ{T%0i|-)O~tx!0o)3;W6|&W+gj z{hsqtw;1Yp$QWbb_ksPNW!R5HGKJ7^rbWXb2S z_|y81@zsEQZ^-`{EAq>&^&b}UWly9L`JTOzqmHrE@DxZc@{2qL@&*z4trLmTXAc3E z+H2$b6i5ndVdzGMuh#q1_KwljfO&72|7kPkC-DGf&Lh}3=FO^}W8Sx(cZ{*_)iZ#@ z(;z$pxQL#AJ!1a)V=KKIYYm7ybs!b^5wSP;lbKc!eL53K3I0@~=fXGobWB5+GRCY7 z{xrQ?taW@uM}64yhNB*}oNM0X>r&Lu_u8u>>S2p;!bf@E1>x$^L0}t(FIhQxJpSf;-4notKDOp78{}ji6t=Hw5WM#*`tEEG@mWFP?y_~QF{pf5?r;&?=G6k~@s*YBPUBAY z{9nm)EVnU@AZmGYgf`LR%Fs=?H?jCbzFUO0x>tX%ZSY@mPfii!zbZxkY*+K+l-XxL ztRa72Qi4B~==t!S`Y*MiYrr>i_`|(pd^YS!&#s|zXUH^ukv-{uBEx;_1gv9w_+rB{ zYnetMFKXkiAV#7Yf4BS?Grig$3l_I)XP)gX4zT`-E-G?|ux-xt@ z-8h%Yp9HwYWrGCxlYm#)C14VdQf6KM@FYMIJW8dB9W<=3sS&C zH08E#ibSSh!ODki0=-h}59=Wcizrqwtoi6qCfZ!#%RDw0LLaUg|79uGXI784I`Oea zw-Z$L4ngzm z^Jw_%3aGzHz{qeka@&rjTCbLIng5uGAj-MeMUyu7a}V-0u)|BnQ%2k+br&3SQ8;eI z`F4wZdw{2D<|~Z#B6|I$9P2Yp^w%APxq}x-l^N@*hUz5Zeq>HENH zZ8uqVcLX(l@ff>7-b?QSvGkV!*o%7*qLnKUoT(B7&oHse`%AJkMcuC>-y z%Z>P9nj*m)xi2ZfA32j|Mjg8LD4?0cAMPC^t-%w|uAvS0!%*w$mw6%Lp1(8!K;MX4 zz3deMrM7EaJ@NM8OBPNaHh)s!7;W97KM@bR zIh(%tn}y@%`Qn$%e3~!5W#-Ggljjw%Z(hLAz6?(I*(H>rGW%&TLmEHaPjeX+uV1J26AL@xKcz_Ec1tF$2e-(N1k0Fg0=2#zW{1o?e%*TJTD2`7L*y&uKUPi-WMOT zthMzje+YMro{sO-J?v-Ta`)5N#|2GyHZ`{89g|x06yGe19|gIZ#=g(YmuYO&Q?3Yq zJ|g^@xF%qV8{ZXn_j-l^OL{;H1KbYx0|^fPGh@*TFAp@_y4Wu~W<>aO3tT z8*Z`IkQYyvR*|7hHi|qM@;sCceCe4Fqc-!!$dqOUgKM8P+zwR8S&u!-% z7l3P$fb0dA`x{M4BP%uXafb)|@Vh~#9H6ukoq}(?8z{q; z0B@@EhjYj1Yk0C7FQaNLWf!wZJn9~X^G>JTfrmXiy_we9O590aYFuV5Kg?!G#QMIZ z1b=uuYQ{8l8Sz#Qf4Fyz!;S|14p+}+;S}*sK8NGJb~0utm~Ab$ORe8s_vItZi^G;5 zceT~~!@FDjHRK(T%Ch0Th@QVY!~0y^jW?;DSBI|ac_W8E+&e~G_Xa(W$hYCXh@O9T zhWi8U+R`S}^U|;ldfrg)5ASYK*RbbyzMe1Qxp`KGckt33Tw7U;JBOC%;(EKo9_=o* zeY2gWNm##{-yq1OTpzv^r^@5;hW~NLIBd}O?8^Gk_jgJ72Uk8}ztp%dWY;6^vtb+b zy`kP8-W}t#VUPJ-ycgMt_0A0MGp!}bdsA*NeId-tL)Wc(L%l!DyG3rpS~lOtDYBM5 zonanR=R4@P>8xxvpQSoZ4FO#v#VuWofgR|I7#>h zFLS$jGTzr{Ezzsc${cBReX4tARUWqNjxkmGL%L&pHS8;yi}WIzd@V&f?Z5=P(v*8W z`UEyJq9z|nN@!#!;D(O2>)a*sKOt*Lo^kyfuf%^JEh;7K#F)>dNR5X zw&&v2X00A0%*(9HhjAj|!|fGI)=UOwK6D%0RSti+ca5g%PdSD6fbi#6i{QR%!Tls) zW|QI`_P`c%BEPsN?yHE|1*e`EF2YKSv2L9od|kvLPE$pO9F^mr$Rw8`~SW8XE-l)SAq8M5S`G*tOR zxN9U;f4VQknYhJM#5>ti5e~9bW-G_lo)=*(#Zk2if9Q6MqJ~|@a`ktSoc9$(cM@FU zds&nl;jX)kX~ULaZm#u*b;pQm$Qa1QdJ$WtDPa9*YY`%<<;J;d#z2B(8nOxFLXAIs zyTwt%^BfG`R?lOR=Q-{W@O`8`-|IlaKyvLd*i>q(Wjjri5N$F)&ykE*9lm6s=kfT% zzgwg=;NKtqZ@1&W^j`RfhyO_j{1cBq{5wWmgDuYlz~+l7k}=j0@IN2-4z2bYZFo6C zsr7zATRt1M?14-)zEbNC>yA;@kR9m_>&F$WFWwF>YArd|U9%$vG_zrwlsiJ5S9(MG zZnubQb+5h;e8{8W{>LJDG{lf^nW>FrAd(PbGQ*e49}ZL!TJi zBZO6T+-EHQkna{z9S_K7SJ7t07eRh(L;mFEMLxWwvLEsj7JtZhjI;(zCl~oeES)7Y z@&WhdM*hYv9RRiXjz3-FCk*~j?-qd#UP}ggFJAk)g!<0OxU;|0UdgtUFSWH(&}%s# z%fmM>Yz;jA@b4Ox4f!=F0XBQ5NPf+tfPc27V#&3=Ykp0l%-N7lL0Mkm58ZAt*=q2~ zGxcsmcM+d_O+Yui0ckV(DOlfxK6yklce^)MRu=?k zj$G*v>5h@suu{!MdXbgtf{gUcF^vZ(vv;!KN)-T|4c)j>)fxPu-Yw=DJd+IcR!hBz zXYy7v>NlHDUH~;Z+;@tPIweNEiNzc8ce%x21M>YL|Cu)AZ!Vv_1nbHE$WK`OA>SkR%-A7ZeGXT=*+c+aLHmd^jsQBMx}&6RzSfI1m^ zo`o;5_(Q&13^u&YHDBKsd4}X>8}gZzU+&ed>)TvqBc7n0rPk;^9b5t{O#URmH6E+) zTNZY>;hASeB;Xl#2`IhQ^YA1fNwLY7fP~4P1h_?H!)iDG9#F*kxydF0n{u^Fsy)~0 zmstEE-z{1@KB{LO2i?zg|1b!~1T7v&MA)}^ce5J>;1$EK9D{hg%TpMH0X z;#SA?^=-g5$99ojaE=Jro`N0wdL`er6{8vW;n>b@dr(@5PQkZ;?PSREPTYydN2>FN z@ttn*+JJGqikhE4yO>2VKCfZC+&i*v2;<5&+!Drp@5H^+F)|x$lw6D#u~FtkjJH=$ zW5=7wMwx;kn^vS*xj+5w7Jm)zP+-tj%4%>kA zY)V+2Kb*V9K=pkmL!5}?yoe9|M>CvHF19<&hAFl6;`(MMhVg93I>hBFe+YMsgoeF2 zn1Z%hEk!i>bpr>NI;%I-IydwVEgw0(8c)aFI`m%Vb*YopVi>mIZnV~V!}^$GM0Bsd z9u51ca&2D34>QZKJ{LFRS~o_l!~0vO+U+|Uo52r*h&BzKFH3Vd{Ndg$N*bPLVk(~b zlLWs`=7%ZrG{?0n?)SGlE43aa_Lf}NJ3Y;zAX^;175*BNKM8P*r3Ndi?x)_x%j(;9GtKSvbyESBEXD zcVn$TtcS>|3)b&Ue2j`rWR?y3;avTYGa}Z-J2v!D<`wKPP9%JIl*tfTMXM%3v^aD{ zzgs!{;odQ_8dkFGn)<-~bc*}KopxQk_;7^Hf_ru7!qyy#WSBYp;odREIn+U)fr$e&PTM^{itiiRnMOZ5m#=n7xB;hcNO=UzArcKo%V=VP@N22 zw%FWNDnve{ zO`dMFj!kwtwbR04w#<5dJ1GZYExSJ{!JkTWKYTA(hb}K>&C}y~H9P7Sbq!jdE~Cx9 zDT4hUR0(t4F`h@H#f5BH97*N{KSuAw3yndiR9igvGx`(#O5X3XOq4?jG| z#;{w5f@pn7D=KksR0QP^PF)3vl=y@++QN5wi{ww2nt*@$J&hb}K_MbxW2{;(e+ zw1{d2(}nGuBG?~C>>usMo#f^&ENV-Q{cWTk1YK{A&>Dv>FKTmG{2|{hLOVXD`*R)u zxb)krW{Duhkaafqs%Z(w6`pC*_NrMo^J&O`o|!MRa8Tn-Bs>WK;K#h9K~+KiJQ%c1 z_K@IIyLB?|^q^&#t(~VO6Tq#VIX)#YvRA^t(61xFTbly;9?+lDn>>uTMsCBivUpJm z^7?KzMeYQ<6?x!(j&jSvFisGBxE$=G0`|>Ux&pfS&?Og-ox>mQ9b>oQt@iBd*>GPZ zV_}zyd+y*Vwf=X_SP)TdbnsXi{Gr}0jvF!-NO9RvU&Oz&Q$c;=-YGTWT{9L0KywF9 z>drJ)`a`;F+*W_9O^DlWEN(ldAf0@*ShL;k|yj zmQ9geKt>tzvy}UNum?^L_Q08KH5;uMj#B2;?Ijxe4e#~C)vaatiU8zt`I7<1_-%Oa zQ?3kL0JW}Oo)MG*+!uiZq13p?l?{Hl*3X<@P@25=NgJ~4(3Gdcb9T;%W30BSdos}r z*w2%Bn2cZM@i?2F%$tSd=6NzjPpiPEc`_}Y(d=TL2UpV-<3E&QoYF8$jc=4~{BV3< zP6h0{65Rp6=(R))<8Wm?E|>b#+io%0YIri1T_q9~-5Xit$=Dq!rqiSo=()`HitCfH zh~RX{I=1B+fB1HbyH9dI`ao~?3Wtz zuIo%0&++c^gY9>p$j z@Qibd<#8}0uAcFyikKcNx3%(k5_Q2dennD(Kb2?&zR@$DqIXPJ+X(ff*dMALW13-a zF?O|VR!WhK#mg9~vvhSKvRQ6~53?B({Ve;E68zzrx;#yt4_z_K4Ui>yX3;dqBPH?7rsT-|Ms)hNTfI&{UX$>H&beYf~%*m1@m_Mf6+ zpFfjRYV2>LDH8O(Ict|}9Kt>yy7V|w4vRnJyG2o}!MbPH)u#1}SohmC z);(dK=fZ$#vtY0Fhjq6|YOw6-(%E!;5zBs9#X5iNrqtHW_5|G=@0Ls%!D{D2H?3$% zCR84O*msMuR)d~rSJsC8B6|MG4Eu2hw%8EXv*q?&I_r65*zz09=8d)fub1}zy>Xs|Des|6aV@OVitaxk;b^b8!7GoVB)nlwL1m)JxD}Ng)z_ad^zg;-4 z@Klkuk5bRfw=20VM?>((Rlsw%nJ;_#Xc+h=5}veeWZ6gQ`#HvW-mjq9%e-d2EEznv zXAbh|07-s1{EJ!W4AZ9JD>h9ZK7VrH7L^?z(f3aZa=>#9iac%oeI_|LT$s_>><5Pr@ zh~0g*GTb}{zA3W_|1JKtqZhCD7!U1gHW=+#s`Y9~3Ca+ZEOxs|0sM=VG?3|%aV*7q z9Pm&HyF(&svl4bM#G_^CBfPGPW{KeZJ9xsYqcTytzodX+&p0EBh27jn`jnW3a zk5`sV9Q{evB6|OcCe){iu;1a=c10ek3M;65tlA4IUlDzg+@~cyzwkBmvNO znUP=2qr-K6zQU(ke^_^m&W?}hHcqhexs6jq+h4@74%-Byu_7#WOOE;Ns1V@8t^EB| zz`psLpvcbAhCi`O%%Nw>-pu0-|Kn~^+VN3+ubF^+wp(mAV4E(N z&0a5p?ehuSt);oR9ydl2SwtnkL9S3muqXy z-Xq`%Dc5&45#sr<4QN*?{UO~g${O@L-JX5u_w!Vw3r5Z6(eDK4bm&&ZOAOvnUv-PE zR`=@qJy`M^v*iCJdK5QN9N}WHPyG2WbZue)=e3ydr^rpS3bUWcW z9l8zgQoTRSJH|=(==My|?HkkW=P=CITF1nf@0Hw^abB;=!D*QlQCL=@03Sk<@^6Z%BW1hIIbS19o2K^{J~) zXJF>To){Yu65frK{*dk%R}F8w$whjRy*nP2Aw7G+OQ})r`nDSe1*F z8hkIg2rpu_Y|RjkUYGQZPUY6+uD%zBaz1Pw=1QGEoV&(N^=J0NI+U+N@qM}zWV$nX zps(QvzjG=6b>@sv7;VXLKGW&6JJ;4)OU<}bZk)S5pUQA94qNiNm}~uE-7#{yN8gPg zV0~j)A7WT^p218NhEH=6nR=>KtTEea*{lvlO(@`LK;RSF8P@-7PXY zKBnvP2jJ58%UNF{crcU~e@@xYOY-IA%*Y zZr<*|>t;S}ci`ul`KowK{NN4|6A2G1U|(k6%XcDNn9(k%v&UNPPOR>7UT)++Etvqm zHl5>B0=oT`@Gqv@^QJ(y-1~C+lLxo>>G+s##RqxdwoMUv__jqJcv!LA^6+#`9*#)z z@G84J@F`I43c5h3to|gzEzUYVs@p?BBDh3shpX&*hxkuTA}CETUC$wW%Iv+o3}U|zGM((R@#QFrEghefm_7omW2&jON4Pg1^uK! z;q)gDj*;7{z9$V@-u+e&hXt$qY_1+|7LJ>@dJtDP0-v^eu&hQhc{mTm#r59sA1Dup z)_QoqM=2}wec*dYO$hgaR2pbx4fw&8LNZ+029gT>A=)uMyIZ$*0;0LKQv}i9WQcCY zj|9Ia`gHNbEt}NV!O}`}489qnX}D76!6Bi{8=iMLMqtCPVR(UBi%i8R4#x)`Q(_$SS^- z3V-N!i?oi9>3P4wv&e1jBEI&oGjz9GGp%}UwY%1YP4SkFwi@l$BjkMrm!r7ChubPQ zPyzd{M6ZEgw7(DLPJx^x>B8$zCS2pOA^wDyRJk)`8o!84{F_ZCcphP??*OjxClk*3 z6i6;c2UdR);Tn+*847t4u^lR1t^BW9C4whemf0psy^Q=WVa`x6!rYi}*`L#&Jh;YV zb)S29!xOifioD_MUv2V`xGc*o3wWo*50{1OsDOP}qL;w0&0^x&mucd$Ne(!dKN)b1 z!-kauUPd2Q(pPOVz+;Q0wvrys%7IUTvUE1AGE`oFGT|1B4Vi09v3Ze+e@SElUT3u2 z?yS^Wz4>0J(K;q9rb{go1y&CBDbN*e={BDq5U2PNYAxO?RED$9QxV_LJkZ%W3eKJml7NjRePQ;E9pC*BXlANWoG z?G|sYhI}D*!E748NWRdQ1bjoxxxEyZTf@8N3neI~A-yG4(y<9haT(BNEy z7eV+xX$T)HwMFl`Tc8BvF{2JA^e1)xFzyx)4qBY(IK z`$PRdXs9Ps6^~G6J-;E;rwh?B;r%<3ScnY%Q12K+9nmui!W)sfzY(oiS1bPSHPmN! z@=~LI8z}}Max|Tk;7=ub0emNsBd*G`p-T^(OSqR={2|{lR=QVzDkUJFBfp51^LGjI z;SC*ivTsPI;p4z%*7pVMdVS~%3u)>-px#vN5AlxC(|~wXSYGV<&sh*(_AG&ifq2Ef zQ4x>T{t)jNP2C%;8()b3Ulzn;|7F(k1^kpMq-BHNQ0ouxZjsgTV9g^Ots1_FHUAL9 zdu?^9y|OadTH0S*Yr-=mwcZ*eN|hP!&eptX=!);g&f*XGZV}h z*LCdQBJyYPoovgsdaS*OtkmdF_x$5okmmi3?ZcNvpdX(>sMKsXlD}q`)m+J3gx0{Xq)26cpKE z;jfKSz#oz-vn}Mh!-58H;{#IpT>fOhHHxce5(ob#mw_Vw&Ci--;1RIH$Z(?b`CVXN zQi4B~==tz%x(o1qLsA!~iha)E4fmsNaon&Hpi5}WE*^$z*OkCunQ+e^ax1k3w9%CS zAHMuJpeg|>pFcTpi|kenzR!CA6#d@pa1#NC`B2X0n;jN~;|lwH?~lWUy6XMEOz_U0eQnl`;j^J-w)0(gS_UjwH{+`@km?l+{05OUi%4@f&FXEW|F*i6TD69k?>Y#)C2h8-kqzdfPHhHyFc6opdT@f*ZEOF-BqWaulH&+7eQ-Z3s4EO@4^Y?v=% z!GD}#z7xlZ314Q+#ZLr&BvEzOtm$ zntYhay=cAcOG@yEXPfOe3|-E;w{!Tzy<1#1>>5Is(5B6cSTG-xaW4gB%dFX5cMajF z=0lgw_DnDo27jn`i^hiBvV7DR$u0Y11@&oWeVGyOY_oGf8#C$!iID33;oU9z8uoL| z$NL3P?HYaksEl{EL@hJc@eYR{?vu%u?@(HaPQf>N-Z_@p(sNYYF2Pji594kz)oQTd z@iKbx#r%42)%`f(4TC%iRYV&8 z&?pUj>4tJwW@&JJf=UB9p8{!l+mFwmEVxBv!(IxAP`gDm40Wz|h7X%%Azkd2S`IG7 zNrDew0hsqv(D5xTYSTw)`>^?vg3-NhG1{=F6kT1LeN-gZ@(+wsz?Q(JmVj+EMS=vF zb1gM!>r3Gr7JtZhi`0gdK|b<}*h0T=L_S~p;gQO03vGC1z^6c7AZv1cH8&A6gaKO4e?1?ckN6k|05ABZ8+&%gpnZc6bKF%VV z{eubGr)uElZ?agV)7Ct>I%?effL%UlXw;JAVl8g2tnV1hsXrF2}U{eId`(}B& zNd{?g==^;?mTG^9cZ=1UvM|FFgWQfOg81LIAinIjjPoirRpK1+!n0EbzuBi_X>0Xm>g>(Iposx$w ztz%7f{&4OXhYhI_Z2EzLloa3$tjasvDXI$>J>^3$-qP{n0AP9KoLzmaHIV}E= z?-+9p8a@~KMLd_Y^A_0jxRGV4J@L3_IevI%Wtwx0rIqLyd^0P)&4w%6>q417JUhlytNKbc z;F+&fi{SY;1U#4B|A@~?;)mn;aw=fomFN!m74SSJ=L$>_qLWg8n0Aet>N+|^O*y8E zO&#BgGGLv02ATQ+06Fs z2*(w6P}SZZ^(-^ruH-UCL-5B{z;mCOFMG5f{mZWSe@}w{<#uPK*6Q6*>zr=1j?MQv zYxSP^Y;2k3;0Kcl6F56CHiUjPAr@JX;6JJ@S3f>S@WE0u*WU(I=)liw=zfv zw}pyG$FJo`2Y*ns+;@p|FK#X!H%rp-x_s&2)1cljOv0gX`@3^EMrn8IYu_LnTsF{y z;dk&H)zXW#XCLJQEDCtuoPsxPBIX>g3{h7|@A2b(k$v7z3bBMtny(Q@A> z9_9*zPlM)fGTkXuc7M|07WoY;jQo2=5i9DKjneVR+FN;jB*QK4JU*s-Z9|4MUwaqHkp86{ z$w-&pWtNIG^32!WH_$DYeOIE_z^~C`OF)-a(&^S!+9Jci>rW=!;@0D%y0138Ii1VI zFkENXRrfpXGQk$zWtIoLYvPB?!$B%w-<9a)@N1U`hXps21_lR8C7=~Kcd&Jvi+0eq=WtNHJ z_Xu_Pw)M4{&z~GP#2bC3gXa_|;S4j}zoNc`S(D`IK*IV)lVpFcTpj5UW9u{SyRd6OLQC1I)W2OC-u z1HSq2?JHuP&7TxF#+Ad0I9CdatcZWkCdcG1Yx9zjR6#yT;Z6VC?ud?}*0>?;kuzr{r*rcF{PxK8W1uLt~ zc%9;(;wre@Qs8d=7>BQ}f^(SsNq}RFctp2;g8k2}pCS_Q)0zbEB_N7fnPbG;>2@jP z3GGixXk_=p4_QD0xcTsv6|kMhAO0O^j=+07c$Q@OmBp+3L5<*x!~Qom>CY zNeTW`q8Groj(y9@SA@RA;t%<5@!)EBvn0EUHslxC3;1;!@@dsuX4Jdy1uQ_CFKBrH z*jVik?T(S(VCm)v1+Iz3AM)MeyWtryQfW3TzesfJH5&4>9sohVw~^gMKw+6-XY<_$i^6g9-hI$C^J$r$C(V3WeCtBE zvaXq)uU2tSi`!CT9`AVg;Xa)!sepY~qPyT%@aZr_TNk%Vtv9Uia*X8$%br~|g1o*b zbrI|4RVvo`vaQs3--u<;hi+WfGSsU){;=;B!426vq_%9>FJj;P1jBx_5x08$%|!>} zQ+R|juWFsMcl4nvOIjO)Kh(QLZL7h$$<_EpteaPwP+xMyJ6ksjp!4BQwf?Z~8lept z$_RFwhA-l|e+9=nZ0Lb6suLWSCC9w8=bm9+8@^)VhhAulXso=U0I zAFkbEu>sd~@kk7Gk4+I=zg)&OzFxl6tJUJT9*a!4#!`Q{c8jxCtNIhQ>u{0#>FdLS zK0KRV_nU>|=IQGtGoPlfTV}pYUq248>8h_^CgZx)nEoCTcfs3^Z$?W$m8b!KGH-jP zm5q@0ifGsPsgCG-;41e+^k#`870Hr(DIq$pbq=ld4%a%hmADsox}`=ouD@41pztc5}s;@P}lTbWAvWTDYB|7rQGUx+(%DnD$j-*P^ z&W4`@f0@T0{@o&};T>D~ntvFoU2XRlBmVcD?!{B>wN~$Ny8*uTj^Ju9GyYxoMzarJ zjxzP*^Ct&xvDNXgPbL!tn*~(lKJX%w9HcH~I7*r2z;#zB72oObW&1y$%byIm#au(y zFcX2uCIdyXYF=oPfk!|FCgpqaOF9XU|UCu%7GfunHF-{vY57_mxY4Y=+*41)1GLpPDdK~9UUYDJZeGjzo>?zBx`%0s z1kJrKDZ!uA2V)+(xB|`N@P_*_w>WIrmy9l*r-%~V$EyKe{x+o;o{?P6iDGioPu4XT?T74Fx zeMmW)1Z*^;r<`@_3y#B}#CeQrDFz`&!}wZ8{$>*0AQ()vX#nY%>1r)mzm zDYJHe5>12Pk=&D%;7=tw4c`lbn5V;*d^0K7rAmKDcZ`~b92j=xeAw)Fib&trXf44z zun7-QGz5QaWk-4pe3M4Oe~W+Zz^!T+53QL8qa91NUM(p>d4ZC}E(R*uXAr)jq=8JA zjAIcVB`evDB^d3@N?2GQkD8URgcdvp?2FptFU|%YFN)l9VE7F!8McrEW3KaubH~VO zcn=7>o;I8pv0zR|*T>!2)``QNc73K*ZzIlUm&&cto$Phfu!Y5`z1knz-J+`FVXxF& zv=@24b)C>&@5C#xWn`^+ZLPJ`jOXHR+$*&Wvz^V5m=Ci*DZ!sgbU%DAFi4w*E-X{~ z@OZ=isAFWcs@v{icMhHhR%CaMQ;2;6JbRX-%r^Vu6LjQ5rv;;-XldcHxpM{vsrEne4qM2}0v^y!vK9?HGmeQI(?;P;5bNeTW`q92EEevdFt zfxPmin@J9%KWT7_(1!a1T~HtQhb~IPbPTSZ&22H|PJt{B4y^tp!Yzs$_Wa0~h$4G_ zbhtzqZw_T%Kj2ylKm6Ws9Tl+eO7s%=#d`xmTpzwk5NurjWWY7D8=exx%V@hR6o~_z zKp7A(EICENdMIza%QX(54O@1ITB`k_-7&gb)ps}uzEHj*DB=rUjb;~)t~Hh(3G3kt zPzAt;Yxv8lfPE*s%8SG0u28MiAEw$4GC;>0wvX zb|)xe%dZGhFx#H0wd!%R881EZZF!D6_TIqK% z+rjjMXy@OWl;BS#`Wg5Z^ncz|sMZkP2>SB-lM%O=aM(?RF0bv5P$ci|4y%lmdtES0 zQzY0#`;rp;Np=(AYG1~9e<@%b{&4RW`K|8NvxDw+xHsG)=+v`$Z&((NoA*YlRWqM< zZ@AOUm)#qR?5}XUfct64tUm^C@JTi@F10n}^o$nAy*PA}Ii%J5!@OgBcSQH(hcz%? z0~d*AH4KYXMIvTJ@=BPbFZ?Ndyuue=^_}&mAAr-)9wa-uPXhNM7_YK?b-3bS|#pu91gp z^*c)b#7i3E;!&>~P|YNtO7t4|OIQtCrobo-xxD^l!Y%4MKB`+rK_<9NY=`UY>M2?_ z$^@{7%kqZ=R}_YyP==g zRD5^+*<2ZS%r=eYHGP(uPqUHkGxKFDW4!*ZvJe|(AvF^o8S=2|blKT#AvAQIxqd+e=Qn)G|jA;aeEGkQSZC z;1BhVapmAgMNnGr1Vy|^iwWwx)9qFdl8G9%X5&tHJubW$m+kCRX5_p3QRj`rS3+kw zO#URmF={-n>wUDZ`>hd<2)6avTqE2n95*j|Caz%wK5dO)S#xBz&;=kJu4{x^A^~x4 zdg{>ildG$+F;JON@APggQs=^um8`jWwaOpD-QvUH$zZ19tvY^t0fgU{BD~v$9HIGM zr%~@E8lG%_=&Q_#cX~27LA-4WR9zqEGWwGS*T}J+Nf+#VZs!-t5?V;50blxgv>U_Y z1HEp1VrF&h#!^cGY6Sdnzo=n%tV9a*p$iX#_2Kb{eaDz_*cpypS2Cfp*m7p;6v6(j zR_sr1UhGdgU_asUhkdtLamWs3(6?GaMf^L@G-DsMez~omVVWXA@9#@W@JGxJrDuis zEpO~b;Wb1?t)FuE!@XNPIN+Wxp-tx(!Tl{3+)pxels8Lmn5JkWxCd=6KPjn6M#A9_ z_l~h&!`pIS3n1v{*AcUh&!%6;lEtjWesQgW9|g~vU*~0JzRcDcfj(UQI{!n&{ruWu zx87+i#{1iy=|;Cs4@(|w_b}W=j}Di41)NSexBc0JKy1$O9`FwMi*h0e>HVie2?rNy z=1*$eBE#WsK^Iz)u1so*+%0aFq^4KvU{K&>qaMQ{$}AznG)2yLi+N$_S{MvwB<|=O z-f+LiE&4kio~dV7)rNb#=B{^(XGpk@dy`8`9q<889j~>H#rs>O#{Q)m_HED9Cu&|B zz7`!|0$^tICk2kt;E*quD+NXJdJYIit;T9tf5j0YJw!6c2sCKAA$RpV4y9f*6t<6AC)6phii4Ta zpES5dnu9Ni34Gy9U@&Y%om%d}$)3NxEODR7HBkB3!4?meN% zDq&8P0@#ykvfFLf8!Xl~I}JxEvk$50DnT8-ajk4*@+Sd~5$N#NzFY|?@|5L|i4p+b zqS|6Jo>{NQY^%oojVAb3ODzRXZ|xKEip*1BydUJS`jZH^=yG@~6B7ulWmH5W4vP{o zbv&-$L9SGI4F`KF0k?23^L?SHM3|?*=tIh3^(GPHj&bJ^eTRzhGy?Y|70JjxBuYfO z%fjsHVeqDwS`xOA(h%}3(B?}&mFNZVr|3bFhi5$nwyKgh|Y5AwOoB1*?(7A98UA;ipb9|Q? z*WaB$nBy8PzVuUxKx_qE8vxCU{2|#b-di2lksLHN*VO03RdYr1fdt71r>>>f3_#m5 zYw9N?;N^(Myz=x@iB7;g+Fw=#d51*{|9!tNL}mCL>93_ew5HX7oS*z zRp|9=u<=Q$(e1wfgE(YGZ);Wl5bhYA4Nv{%BD}~N^STt_^>$}zss?-GuJ!iU8qKv% zTxz6mPgFM7|G)OGtvQaP3Qrb7Alxr8kPxyq2_Yc~l5FqF!33{&WmvFf;Z@>P ziYl?%9myL@v&w2#k)R-k2OhXoK@}7a6i+G_2UfFXv#+$lY^LV-i*KBXTKcPWjqRezrk;? zb0hiyuG}xrD!k`ISCB3}8rJR(^E55BwW>x7AA!rdD4OziDGG6x(Uk4d->r+L?CJX{ z(Uc>7zZ~-y;C)i(pg-c6-x$shK|_s4bH3fL*LZ(Mpu52PsXoq24mS#)unsHSS{L#jJ6h-#v&Eo&*4e*haAA7Jt9bUJSk7vNCje zN^0of4)rwEGh{^~Ce5g~$%^c8)UO}*p~CWPXE=)AOyXl)JjE6fdX0Q~R-|_LGWu&e zxnlrL7j1`(ms$qcL?gQj1J-i<`)v0wvL{sbaZDL6C17Vmufcw`i#z1gbkz2;n(Gzz zEG;~H8{2;~L;lT4GM*&6P-J^8NoObP!~NLzDuh{1K;hy4MDPJGjp&bX<{tj~p>Fsp z0nEMJae$__1`hC7Y4ZAQIMAu#K!+j4--?7Ek^>zQ2ShJ-9H8p4>JE+JJ8-)1z>OLX zAk%#If^6mh8VgUN0Pp0E0W?)Mdz-e0fj<&Fb16}KH~h%geEJRyAdR1Ul$IMBN{5Sy{A?Z>m-I2oOE_u^qP zKk%Ce^co`T=0_kY0E>FM;{#3M4f|FzIvDkUOBQ_iLC%LRtc1QlnZ@_w1E|3XmDYHH zX82t`dq!A?5szYqY}&UPP_BOjDjRD0x#I#&18#>pob3IYz6~~YIInXq+}YiS2oWwD z@5N)RQyz~uAI#$6cw;(c1-^aeLzcT%@Zl}?{P?L6{R4jB5u@72AT1wX+}9Z|uF^E) z_EmM}9BTR(Gw0XfJyU(A?+ac)BEW;;o|r%KJ?uKkIG5C*V(oelbAf&4N0v@i@Z()h z4R&rs|ADLE2kCLhyByuI_*d>YLsOhX<{W?3rf-Q&KGEwLXAbU9lFKVlwmzL>l7-LQ zpl8nA8J34FO|3PJ?vPGXmRl`#C*Nau?Td0mH#jty=Y5trqVJUcZe5P(Sl=%*YHVfh zb?B4m`{n6jHo5-SIMQ!Vch`Pk0)*ru<+0lrm@FTbW*>G>HtVUZ~ll_A& z-Fdeb2R^Id{<^q>mqzq! zICD=1FkKn86!OtFyF)uo9S#*4_{%f-JGge0iuS8H+I#WNaK4ugdR|+2dPN3+az13$ zuveShA)KiFh8$=HaTCIAa-gr|2=C5kGnlJlRR$i%^cv|Gxe+MMT6^LSUdmPf0O`um zRlBb5;tu&Vl{f4!%3q=j21*rs%fXYVLoip;pXbZEC2kNVw;y@Hf|)9-qw7tU5HD2kgExY+s?NvO!_u z=E-E!Z4{> zZ4+O4O(2==vD53`z0(<`lOvu+?6bYT#GSU%EYqYF@$H4GL%*@IRLKx9_i<;%X^`+{dHHhIyUeVCP2kE4Xs4NE)_e+;y$)uuj!QLsdY0 zZ6<%*X6E^dz&gv3zrR0$b%diBez(syo<8&BO9QfDOF=|UqdTNiHBlAmA%0j`bsJ6e zyBz7gcrQ+4UZmb@l;al-kHVsxcFQRZS+eGGi#vQ1713oi!{tw4))r;BlyhUxGQ-7? zYpd**gZamJNETYj-Tj@uUyJ|iC_-1c9@8-II^^cR>7DEs%f#T~pfqCdl#M<~1c;ma$TYP-2(0ZnBMwLSRDGh zM9nsQ9oTy{@uCT>R9-w^;RS?$HfAW<#@Uv$KF9RwUk8D4dHAyDU)#+c3ux+XsE*G_ z5SdtDlezG%3Jdy&gLrln&u&jg!#%IR2p9PyDt!@5D?O_>F(C^+tnwRv*jdBmSy6Fl>NlJ_dZHo z{SrJUb0FIQR8$E6X?)U8cKrS#yvm+xIa2y_aR)Dr=wEQ=k>`n}?}Xnf!YkZ#lwwBjh&!C=|AdSDrO-VFL+})48s^^axDj+_d|Q(J zSG=g-EbyY5@H?np)Hh^quppAyWV-KnEveJYr>ny^ej+s8+_8YDGq0%g>5x%fd?9SS zrDtRo^iGoD{$#Y4j1Q)hBt?|^sH)5>u&8FKi3dL~FD$+$i4CC+KO=)2fy!qQHmlJtRM^mktr*jI9j2W= ze;eql(S)(jhHdy3RGZzQy{bkV(cV@yhEQ{&h#=Y2oOr5=_UXZi-$^D5s@@xrK88Ko zo>%nVBObajdgV4q{}M+!o0P)BsgK0Gl#cZ3uqAgz)94QARZTY_{eO@2FP4zr*@o0; z+&Adl*mMTweAqgqR~y|Sy{gw5k=|0h7p$eW$a~o+*}}8Tg#Lft%lQie>3e&y^f8US z_FA6e0jN@@LYCQv4UK3Y&OB40;*u0K_A9sDp_-<PTAe*5LPmoFYgF3ubL20J&R58%3`A9~3(*FGB7?hf-r zeRWyId|202V7>|OlZyGz6`23oJf6VlNsVmXLOttXZZDy)ZMm&#Wkj}Sn&8GWUgF!4Q^xBR;#~r%T zO!bDigO^71TR3m&hhEBesq5g(sxJ{W(`%40&yHU_dHb;^*k}UkPlx(X3DmQoj0Ah1 zy_Y6KML9lmQ{2Ie*qxk%S{Zt2*SOjq?r=|2P}?C!!``9f_2k}66I!V;nomaEK{`fT z&-ZxUs)j1Ow)mtNP3`bYF&aWYcRZl!tDzDbqk-)GpNa=h$UNvD_WQlT`~b^P#bd8| zKw3F2;k!EgVmiCHn>!W|wbyIv%JD~F8W(A==OuH@CQ|tcg$2nGtcLO${Un7-hBX_u z+4}cO?e6eSQ)NTt*?OyQQ*-%o8SlNx;fQZU=QZXp@<&vf>uPE)OPDW)UPS2YySPI> zQJY;+wb@W3q?qqwtx2li|8WKR@%DU|*BloK3SKkdC4~W-;tpOK(cj^`CBs{J1V+E7 zr|;^H5j2&yeMOCX{*B=K?D451^PJBz@63?_rlIu}QT>lUHe)$Xlv#qF% z_*e}iq)D;Y%vfSiwj2@K7I*N{i2e=d8fH`<1%)7*f8mZNM140zO4&P>_>}X+#%F5C zJn2s7NeWpFo>xj}vL{sLg)UNB4VL9YH@ZyK9`0~Y)O|w+XD#k+bg{=&+_N34@elZ{ z5S(UyEOwwaTK{spJIoWc;IId8E#__FL6MAko~h+E-btBj(#(Jl+i2uV%^w!+{{>}g B(MJFP diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_rstrtmgr.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_rstrtmgr.a deleted file mode 100644 index a523d23078a6d912898f1b904494ec31b711f35c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11072 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 NR_2)4S+51%{|7Ao>R12( diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_rtutils.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_rtutils.a deleted file mode 100644 index b10358ec0e1e1d70312b3cec46839c849cbe55e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34134 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 a2ax|Fjyf{S-lNplarw|wI11XUqvIba`QC*9 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-error-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-error-l1-1-1.a deleted file mode 100644 index 08f54f607d7599f89c42ae6033c947e15d289607..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8936 zcmeHMO>g5w7=DxVW2uTjutI=Vtc!|Rp-pho#0}DF711rIQV~_?UJ#P&CX>Y5#E$H# zs5l^mIB?j*UicB5IC4T-p%s6E3%_KS_nq;_q_G`Wf<)1FqWQ@9nHkUP_nBwL-nwUb zox%N$kG08AZBz~X={r?T)5Rq<)wHHw3mTkk0Kgjnr5?cAF~BQ-%DDLt0L9my%lKvm zfZ|(i8Q*yfK=IaJGTwd$aQm5Q?wRI8pLxD{#5nWJJ-5ruZ*9jK+a^}pM$<5d_9?}% z_T1t2h`FbaScjX08~N12?6{t2>T#2Kp6i*zs!2b~#O_86Omo1j?mPwrv+cIo*!B2B zXJ9$qA?xnb9kuFs6ZU9qW?T;W6HzQtLqdAa5E^|t$^XZLZgoE=(D|J>@c z{fiD8bK7-V)mq%a3|QMeaQrbE_jur;!Ni>(I6b#j)8jreAW{20Ys}9**8PfGowH9d z9(z`YwQ7nLf^IU9ZTEA=zp!{`U_1Rb^SNhtcwkR)SBhn3BiruYkXfF58p?DgYY%(@ zIP%=Fh1N&=?K{>fK8{w@Bntvv|AO&~8<8xHT~%E-3`5h5PbAwk?PTMyu!aN!s27k& zqO@A5aCX5(IX%%pKdE#rZly!Sl@{nvE2q9c0|q}3&ZZ8x>mhap3oCeEY7qTNTqCR} z+>LbHZiu^sh0O$9cpb@I9{FV?cbUjd1&@~*QK>wvmho5V4u=4h9&#mU^!x=tztFSJ z!iu0?wIK~zx->4qRQnavFpBL;X&A+BWQ$UP(#a6mR@iJ6FJ)kay~ry{g%2k?3I2t> z6Q&4bOy{|-lD7}8;O))oZloolw;T90UKg`jS+uv;0;9rBEReUq9e4^o?Idpx@oKK% zBKD})!!qH*^5uLJE7pNhS_jsJeO?u%JpMiqnul-SBe>nYRzKW&M$fSx63UQZbpVhx(mmL_7x$+(DZ)ZabC ze3y(f@UjT+V%iEYK^11&(-$Amzb8-PI^tlsJDc3s5r+Jb#w5SR9Wh2}Yx=L2RD08~ zrD@dxRiA~%K)?fGEgA(|DViIwSy7z{_K3OCJxI1udkQqVWY2rzKLGV3Ywia%lojDu zOf$Buv$nMJ+jqz8Fs|7_&rUja@=or*X2)8@j>)qL-N#GAj>)O#Ikqi=9gUpqXf%|a znq0+xMwgnU9VgQ5g!j!;J02%L0e5@abp)oKo!ta=(exy(TDz7IN!IyeYzSMW7_;S71+K%{g3;iH3UsjMW$uF6f zn=4xZGh(hh2x=%R!f%)&SCXfm_Z8eCII@$IBgV9*JjOM2mZo%-wRoPI;wa;0Y05=1 zZc0;rOvXhVc^{vDUXGMvjwHW96&|&`=Ms89NFnA5eoTl$5&pn(%#~ylT=8}DBA8RV zW)3}6NsRQf$}Hw=V;^~$Q$*%ue=S&UmC4DRY!j%bmmJ8seO-%B`PH1v(WfEi#8Ww2|y?M{eoB}c@{#v%&EV)U`4u)7?K9Ut8Ey6FD zqrSw`jlcg*)h@vM^_<>+eJT;p^OC+q-hY)-2|((HU);Md?@nt=SV(0;!l@*6>M<>{ IA@k$Nze4UmJpcdz diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-l1-1-0.a deleted file mode 100644 index 19c21a5c07f5eb743d9f817e6cb5dc04b63ac673..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9664 zcmeHN-EZ4e6hCp=byS;}V5$I3%p2uHhy=TB+)SEK#-u?dgsO~5XhOJd;w)|xyEtz5 zAv8@0p*lfgeUE>?d(OS?rK^_T z>3^{NzB-=thHl`WwyvwHCNA+(Rh#QZbi>Xv0GtP?J_a~70C?f=FrQTbD4&b+%kKbC zUb!9SSHAP4l{G-Wu8d$lSIA+c&R!UE93txYmJVqR=s#hBZWE|CU!Km!8H4})ji&!z-)WBT;IOq zjBp+|JpbB(f%Cv_Y5d-CdE0B-N8Y}D ztrIv$R^WK<4XYD)zGIL0kW-bYk10>CucgD!R80HIdm`P)c2%U;_O?{c_KUCuS=-v6q%8`Qm+ zheiC;HO(-PdPXzkqpI#Ke^NPx6a>&J056KxVx=C~_X5!_E>zHV>Rl_aidDpw7HCiF zyQ9$zHF!jN4t2P?5$i5sV*#IwC(&Q1*NEk$ce+?_GuB(h#+e+w_&U^ za8Ar);dx_xEixxLKY{UAB8<>`&ck@D&ugZaaE4!x+oTt_C+jmPSOO}E{Y%0=XGKc} z>3!h|Q5};&4fKNkp}QYS1lHg=ut8WiWCPikY?>y%%7o9H;fGL;kxn%+6u=Q>SSauh zHp+&EGpoPGf!#uXiJ)Q>7lC z7fDuqdVd=@n9Ih6)Z2`CktXWg%hyX7M*Uqyop18>47@DTDweHCClX<$K7IBk{d)2w zm62^`#d#qHX>7tQM#-2%o6~RJ;&!Lut65(I+#?Im0ucv<)o2vFi+S0I$;{V`F-Odq zo*`r!-A{=|51E6ZyGYbeC}~F$sucJOOQ`@>KGZEEI%k~Ol;e!Hnc>XWXr@`5`7FW_ zRb_JKOE&H_&h+#3GMw@A^%Bm!g!7Z-%#z?tx@*B(1-9muBP%okOesg|p+J-h{D`&S zNIKcA;*$N)=Qj3R;vk1 zF5}ymWyzvoN%1KZ0cxI^@-|HXQ_7U>P#{VL{=`}^rPu^x$5Jy7;!5@_8)q06~ul1*RT2JfGV)gIq+d5p-O>Yu|y8!Po48&iblEI&?ULCo{67M zxRLHSUc>h;%Z*CJjmeL@A%f<2PkxamfGPD4E%7@n6!--j5jQ5MKDNUs{P10Jw4})~ zL(fJ_k8mZO6)kt(#gQNCW{HCFJg%Q6Fy8I%9NKEf9WXYyW;YH;IyKc diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-registration-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-registration-l1-1-0.a deleted file mode 100644 index 808c7d47d7780887d3b8fde4b4184d4118466722..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3796 zcmdT{O>fgc5FIBeEol)PIB+ylK|;d8E~%SCg@StEf)FZj;j(d(ZDZ=hmA(BqA;gIT zhpNA*Cw>Ov%AcUj%-ZRu`Rsv2Oy$|l?Au*?_C1gLa63p^ofqY2_Mmy2o{xX-bI-P2 z9x}acSG|pFLZb`-w*ahP0HvP*DdJeF9F2s%yA5xj5;;mFN5j$~Pij%Mx9EJje zplVh2@Y^m@#P(d@2J5i9PGOc?Xcu!&XP|Seim9DR`YdmeeHn7+f zD751wR+YGayyMQ*b6wx}ZF|ez?4Rpv3y&3T+XA@Dy(O!n*BTj31;T8Fb-qnus9B5 zuKAm%3=47U0y%<5vysEpx)YA;0PKg4k{{f+8z;J;m`xrU7c~e^+_> zm4Z&Tikp2h_JykoHBfnKh*6_)eeKbDRAE1l#`!qRW}~lX7#$&RUtB(-_Uw#&ZWc`Z zB4K9IzQkmJ+j!}G({Hn9=A5=J4%Z_vD>zpl$dthuqg`;8QI#`&8}(>FPyD=e4_bdT zpNw|bdV0*i0caf^d6Pw`DZmB#89uaT{UDqB$0XG(){Q%(ZnlPX^BvPQO*id~OVrF$ zH$7wDNxC^5jT_R<*U`AXZr1VnX4MU7-AwwZX3qVu+IfPxAiL7edmUh3fFIau?MzC+ L&He?Mf3^Dym=VL* diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-robuffer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-robuffer-l1-1-0.a deleted file mode 100644 index e8b73394cccb1bdacc6f32d508b2562682da5fe8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2798 zcmc&$&2G~`5FRHfDNzv|dgy_Jk>G;rU?-`Qq6$Uyzy&0Pgv4!YCpIy)XMUaW(bR38u(bPMO1Ue&k;EFi%=~3R< zw1|=*^}hw9LJ%&=X@(f38Bfg$k){4D3~{;G5st8hCve3i03jxUH{Q^mAU>thb!CEm(jI$-R}JBjA=sB~KhJN0!8zd~TJU*KVe#^zf#=c-uUFy@l%H_h)wsUG z?W3`?2B*eR8dj29C=H9GK}J?sN*Y$|SdL}4$1w^L+F=w2a^l}BfUidAohpa)>par7 z^=o?*Oy{sxh0*w{S79{nh>yBK^>UH?GH+WrbOVMtBW2W$m&=RDo?4wSHK6O=aAdYv z^^?1+e$eTzsNTgJdBXpwao?)%NMd0Z4O0D{R14ksI@K$@-fFmc6zSv2CY-Xbw>#)) z0@d_BXfi*K*t(16C;Zw(I2P6qgvDewJuN+~I=F|pV0O#6AbyF{MbY0o<(XF^g~3Ym z)KaVhWL%e34gR39;e@fF%p|j68FRT!g#+)lOw;dnw3ur$QRk>@O6{a_T?ypb#%CYL zzew#e|Fqb{7hY}-Q*qE1B zFQ|8MvG9?#?(3jbBJD@Y1$c;0$usqJOXr%ltgq%C&@(k>8jz8|OwlelOUu48p0(Vw r6hHhw=?rDO(R?bjdl^4Zxeq|=l%ChpLro2SVO{mvbMr^hX5;W5Kh^VX diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a deleted file mode 100644 index b1c2c40d54b9464cc9e30d6c89470847707427a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4802 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 e3HNaAlu{)O-GbHFt+7sAIL@C%>DvMZvsdF diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject.a deleted file mode 100644 index 57114fb6c..000000000 --- a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_runtimeobject.a +++ /dev/null @@ -1,10 +0,0 @@ -INPUT( -libwinapi_runtimeobject-api-ms-win-core-winrt-registration-l1-1-0.a -libwinapi_runtimeobject-api-ms-win-core-winrt-error-l1-1-1.a -libwinapi_runtimeobject-api-ms-win-ro-typeresolution-l1-1-0.a -libwinapi_runtimeobject-api-ms-win-core-winrt-error-l1-1-0.a -libwinapi_runtimeobject-api-ms-win-core-winrt-string-l1-1-0.a -libwinapi_runtimeobject-api-ms-win-core-winrt-robuffer-l1-1-0.a -libwinapi_runtimeobject-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a -libwinapi_runtimeobject-api-ms-win-core-winrt-l1-1-0.a -) diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_samlib.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_samlib.a deleted file mode 100644 index 4ec0af002999a30ddda7370cf3bdb9e473b66bb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59410 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 EFYtpn#{d8T diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_samsrv.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_samsrv.a deleted file mode 100644 index 8cf2e63dc77a42429fe295f4006a987964514aab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273012 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 Dueyy0 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_sas.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_sas.a deleted file mode 100644 index ab8cc477476a307d55710f3f5a8c0b7a1e80d9d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2410 zcmc&$&2G~`5FW>AQ=%d`^uWTXt1#-;+DS{Rn^vnpUwZIKmtBz(epD zeI_1>(SN*)%b&8lg_)-O23d{rUFWSwBCDW}nAz>aV?JYaBE}{ssF@&kLl*xZ)4PuyT&GZjw`&VGSG?VBeBg|Kv)<)EjZot3)`XwO;@w5V zV@XU5XA?cpC?8);Pl|}Bh#o-a!fv5+@C!~CX6J}v&MV3nu+cDToIRpWF_90^i>v8ilf&Pvd^JP6Qx?aeu;mVmx~xYeV?)i zbzlsriRckO1-JNbdp5rq#$C%}J|M*ug0LmUVmSGiK%YB~8oPFo)s{;C&cI dFEm};*hJ{3h#a;yU-0wA=^c`Fp+rc z4Uga>7@vSg@QK88W@fw7?JUK#kQkU|e)gPi=jY5fXU_KVf)j4FUKXF5y{SA`w()1p zR!r04Dz!AtYIR<|uu%knNdRLEVC)w_;kU@eGXTm{KSiGY0YLfwH_D7P8C&akVTZl* zA}?gkeb-}0e%m?l847)S-e!TnNm)ueTTbY@!47j6!uC91tmQfGFdYF~ZDOZuuNQ-z zRWI9BkgT-r2cA^^IS1IuZ9BWMK+08HQP=rY{{&O*WMp9!8|AYw zihXF!`5cwKN!pOxW*k))V7Ogq_w%`_-cICG+&f_mc!lLCPCc=;^$%>V&DQ$ZYNM5D zH;EtW4semCxI(s8;^7|f*#OK)2GB0**c#*2TETVMuj=DA;o^3>Mi&kRa^(CR7r1?B zUkjJwaf^Fo(I@8wY)7rb_O6g{CV^_{YvMY$uHZV^mu#9O)nAA?_pzUYV;)mY=MP|+ zm!dG>J2pmf7Y%ch$t$r)r=w$Gs){2r(3ig`E2pEtmvn-gLzlYlbWEW18R|bumQr{osWLc59(dW{X9s{a!b)D`B;+p@L0lE-@|miPMU)_ z8T39STCiaHBmN9PCs;@pq=YI1zG9gjB@GCohL7J8zR%wBopwY}RUZqDn(uin-y1iR z?@ElV^8!LW^!G}__sT8bubc0N;CuS>?1u0?z3fYTw2sohmoLfpni}nk+w}`N#X<4R z2YJU+b)E6dCuQ7=;+d8n*B8%(dR#Z2p(wa6F?4=J(#JD7Nc~%|E@FWHHI|`Rj#3iK zbU(gOYQQ0uEWPC9KOL=RgdW|xWjO7QAZK<2GfIZzmt61vYK@!6a3yd_8-sIyc!vK4 DOG9{G diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_scecli.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_scecli.a deleted file mode 100644 index 955ecfd41351295751eec705066aa68d53137f42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52546 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

    yFT>C-#Ey6}Dq4z2KW~Wi zDlR!=i6WzXt}&lY7hZdk+4N@#>C!49LP(ZTPFhY$pjQhAbMviXk znJN1mn{P}rR&*+g?mFH7!9usR=qG}DUY{bmO(UVXPfj45)`IY>IEk0?4552^6=%i~ zZt9ayiyigJ)zlQxZWjoNaq(8(DFs*kW=;Pfic-Wy7dwwG^LU`3-_(-inu>b09I__9$1pw59vbTJbVc z^TkG>AFKI7ADw*En$N=&h!yJ9ir)d<)}h@@WB!~kxR_^oQ#1ui_Iv!#(uyvoTxPSR zh<(EtX^wr~jU3+b7-)zHnqPmzuc1Q$ev2iy`*G2wC65gHI*t^rzG3V%M?UXFoz+i* z{3kTXuQPmPceOx~H_<_mZ@QT~#TlEjX)HD0x54^Vhx{b_HXet_uKP^ed80ULL|kdk zMp2)lO*f3AR?Bg3<}>W(d863d912H1ihW$g`-$}X^ycs^B8E~ z{IE;vlVy+QMW+Aq+$8Ox4wAp`R4=~Ci!b~)Y^10IhSAns2Y5enRfvyfljy*sdL5|K zT^?K=NbvHPG(8;S7;Jq1UOuWl*r@g-(}Cd4Fyie!S;s%w0ZL*v^L1Xq$^!fvkCyWF zLq;zyN)z>_k=U&q_0)Mf%b#RK`-mF#nYa1}N4?QYx6(wtVWhTNitp#keSTr2FWk*9DTBc+IOAadG8t{-_12R9NJ)8zeOLMdukoMY~l4+ba_v=Xkv>K4auRjjTS6FA- z*D> zd=X+l8Swv)@tDX0<7!fh7&nZ*R!i|6fqC>*j9rtgr!Ro+_bal!m&C|x*NSfN(;fZ~ zgrtam!zgTy{@E5j3Hleb=+E|Ul0%{2{D*5&jK-D>qp_8(_&&n>IE6891?DY2&B1)% nqufV$)NjsCGG+xtzv7pLGVS9Stv^tT9kKa}X5sY1+xu?-1>>a+ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_secur32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_secur32.a deleted file mode 100644 index 53671d1caf160724f830247e7333c4112f9dedf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78166 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_security.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_security.a deleted file mode 100644 index c86e022d61e5de52f447cf4dca17099205e1c966..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31228 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_sens.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_sens.a deleted file mode 100644 index 934408694f4dd7908d8aa63e6da3506abacc7acc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4112 zcmeH~?`zXQ7{{NqotxBb- zE&G%9mpPyB-6grSX**YR47`%N%kzA5mwWDWcj?1*?{K%XQF&r#Q*EW@^3SQ)ZQGG9 zGq>$}UESOEc7=#$iL9SQrDdY>b9GfVh;Yp>;u2z0h&Q2s7>bvEnelHZBV9CBuLUequb=gKpyynKX`ccsS{5I%y`ycwfXUBdoYA$oj z!Ty05CrF=t<%J_3Gkxh3TYj`Vrmw7{;3Wf`A& zS-S|s9l1}koRj2%+EM4Ix2G(UBDw<3Wpowih%aKACUc)q?>t1l6vqss#M&d;l)1_Z z^qniyo)DKkTl4`{!Kw%yPD^TOOx(NIR*Y3qmP7f$Hp^H8bAmwm7`wlX?DuWY(zNTt*AMB$jmVjx{m@8Or5Y z@eXQL;CUqUt|)&X?}@N_m8GdIC<^qA^KoA;6F+UH`>INruU(M&Ms0}s6CUm)=HF=! zQ2a~gcZ`0=G2hMC4KaV5uS=M}%j0Wm4Oex_XWlZHkH0s+eDdo;ZDPR3hInR^=Ir%q`OyvUmE=oBWlpBARt~KTNdHhHzE&LJ{%vMciJJjdvtXLhiIhd=T-) zxBf}}%d9iAcezb-*91~61t;9>?(A>BW`8@oxwGkxTHce=LvvEf>tzRjcC~7nHdpD| zG^^E0)L^#+0LuWzAwc0VK=GaWN)-V5R`1g%#Fh|m133!BOBu?M*c!B@*!TPH&=+X* zoth(hev`h)8pwV?wXQ(ao&+I0>9!Z>2gG*pLWcW;QMb|azsUL;_UZ2pMT&hpcq)Ss z2M+x~|CMxGp4;rn_w`!RBomO{wlS+M0ifMIXf;D?5bsCUK9p_SaU9chD&_G$>=>7D zD*$d909QD-WLTj*2sxjvOt5#Ywi~+H5U#0%ePlI*U$WZN#`0%&er~;`-M}p2pC(+PxlF9ls}|ir>copNx*%jSZ1q_Y-xSKhZbA zbRXriFq(hzSs2YXwBEcydQu|)v0s+3>J$w7gmyk}kXNQ9?wv3>c#irEPGgCg>dnv8 zjq3UoQyuj3Ri1F+yqSuTO38Ihh^cgnNN5++n97wWl!hBK{{)1KgiEuNjrOp}n$B>M z{j5KGiPu~EO5g_HQt68q0u1A>2go$}{e2+?p z`0_|32a~rv)eu`~EMgbHW&D(nsjTO8Khtpe>6j1t4agB5BDS)ZXcTOv-D=U9(_;Pv z$9au32X!W>JqeAjIDUi60Mw7NSdoR291KyXJYcdOHVZ$ZIPNpI%ky#jQB8~c%G*D2 zd9%3vA=+gB(v?`mATQdb2P3*CAoO{h#%?8;aEF?|h2rXUTfVV0{DUagihY0<53w&*b87 Fp+7~cfBu?;2%)RKOh#RRbp9MrDc^>2vxq|g`dDzegMmlAU;p`%yiFm_e{^x91cuh z^~_$+(>>GOzh6Jy{q*$Qbg(__^zPYpS2gY?rY4&3SDS29t2KH_JXWiX1CuPEdTJLT z^Yajne!*w{2&9AlDBKtQgOC>bhu}B*6L3%TCm{^|m*IKPKL%-_ zZ$n)4UATt+G{ixFW{LULhX_Hxb|3Sj05mze*}TZEv0;|k_~ z5BEd=$34vd>25;M|K(Zc|N0ss=->P^^Kbu?5cGflH}mh@K*&2cv|976)`^ib9JP)+ zzB6pidtImXgga=jxh)8En={Q;-(5x@gpQoS$QzEX25e=d`=;H8Ij! zbcSxb@1Ae_t~WTezOv#B7lw{A+kiW`t81+^0Y%)oe&6e~eP?ziCB7)MNHaI@_4`f- zAK_ldpYvxYnmjsYUUmKW&|7nczUz#Rx+5RrEx7%Dd%5q-d+P(AXCPZHE-~+|ZScoe zU&GLc+fZ@?yz!C2iZ@)PB{*BJg-@O?gIDi&HWu7L7fy?gFNh1-&lHObz{8vv^}HdJ zU|oC;ey6yE9J}ugPNznW1f;ka5EP0w2XOnOn3T=~elN^K1cMAA89m z=&iEKjT-JW37|37HI&)v8jTuOY!o|90viEmNZU*-dIU|RZq(NxG{g?xF1k0*XPSg? z?XZg)4r^SfYW?*uoNf2l0T&@)mU>X%J+I##3DGlz0AyzY8H=Dz`_6+y7vMrw#o@N! zUh;VD2r1@@5(onT&$+7rYNk=;)T4$lM}$B$?WrfD_RUZ@5IfdBJ#c()6+1!M51T0+ zq_^0CAt2AIhPQul5Qy-^365V*bQj(8f-X0alx4zuvDB~y_tv9ZutAp4 ze#bHk&teuk>#o{@knVtza%!5PsDWTY%|l4;vjc!&<#sV3s8kz zBBgLJ&mIlZjL@J5Wk#I2Zuc0B<=v6f@dn+|k{9;lNz1Csi%kQD?KJ@kuqIWg4dunNAQ!PfydM5Wx$t-Ld?^I%Ab3PR@1WU1B~6ZVo~rL(+a9&W zSO*Qb*@|#q!gWBbZJz;|HMLyC5=`$P$edTpHQ_RK*THc%kO_j|RDJ8+z4+e?FYquz z4vFSc370Ydf^23Xvq1=+D&*U6OtXY!no8_gYdH3shS;AFH3X}L??AS* zuzyOx%vNImjBwvH?E7jt3Hx7F%SG4+lbkX3XH?h^d$JTI#l`>4@cigF{_kS}^jIO! z!&!y@F#CM`plBarLRPGnoCi~8JZK)6mUO@cz(y7iP73(hN**i=_f6wLUo9u`;H+9M z;=wggzq5f1uXwc%mQzEYx=ev}`5n2f}^RP=8J>C!zi+wOoYy-B7EhsBeeG#Sw?%^4DHi38SUlBcTZHM*F$ZZqP;=U zu3Ym~XvCuqM8^@ozyj#8LY{*&MZ7ZWg25A!pCV(K0TYG{n2;Gzj(<4=s!+S8449-0 z;42B^YZi;$?(d~&7g>Pw`k@QvK@s7)>in#4{^Ent)~O&lqCA>;)k-wb-x1HPc>DO~yV}c+m4LHvTu! z3xc*?$iB80q!P2t1ygHqX%RyzXt|KbB6gR|h3MTKyho9BfssW_YU-oxr!gTRWSIx1 zmf>=42qCKFL7usxaWxNUm#D}b*iB1F92INkhGL@ugm?5>ou*3^m$A$MLz{3pJIbn8 zHzLTxfIF28pzk*pS_^EN0l}-C(K}ZvO(DowW`L=ExLg@WDWGFOo-y%$nE?#`aEBu6 zfX$7G187IDu1WA01T16U&=Op(3QceQ^I-oDCHCRP(2pwiO<&!&yehO|XcsP5!=+MztZ->I(MsMdf8TIr<@{eYV&o<8B zTZc&05Ckk^-`MsmuY)LUzufklXRNzVf&F0nlR~%pn;YvYUd@%^AMOrADPoralg9Sn za`gkY&Nf>ATV)2YotYs0B9C>eSU}+Nt$q+TrPB0#LNFG<@Fuh{Lr(YlAU>5ktora5oE}#|rs6oPhyy zwngM?u3ARCvBkHX0m91Dje+ybf!;)PyF(Wn^;Ik&a2)lASO7g%2z~!WmvsU8X`5?X zM!%uWce;H0i`JnH^j8V2XOH$E7xzE^2%uk=b&md23Crj=wEdR*KCos?hyFbKKHP}t zPwd~1sTXsZ`@peDjBmhE#eIMj(^Bqq#*DRym*xFn6bg(vcXwTErxdG808aZR% zo+virt5`tbIN}vO9bMLAZN0K^sDxeg*9|SbrLBwAtPcHoY+auf(a*n~Qs}nc$krtw zpJ!W`=1;k98TE!1-s$qaMhbf!>hsL+Ur+R(^ue1Hxu;|FUZXzy0tK>!Ec3wB<~t?# zeSQR>$ePy_chcO-c}>mEoYHR3I5&$ffp2Ng!|$r)qVDW|NMkmTp$XE1dZ*9Nkl=GG zncuD|HYX;6g5Z6jE-xBj`)}bt_{him`x!6G?*i0K?ZQ(N(vFBFU${l=cBp$(zFZgb z1q{Mz-(o{>6&khyxYxoiJC8H>W_v8bD8AY(HTTHFTlk$3^7oaW8 z(k(rqP2Nh~G8FEcwx8~kYB@=_Jgt_CbPMhwYs!^tL#`w~M0LOW9 zk_FIXg}egikS8g{Fq``mi?(%%p-p+ZA?uQoA6%E@;m0*0Ka$@hOc12V{J_2_I?j(T zu>g9kkYB<%SJ5lRb{ z^`yLVuhcD@(=AtPn3Et(q5EDqZbQcz^Dqmb#|rs5oHdLQi-B7@g5gPmU6QP2y<%wJ zo}QF@UgeiQI6H7Xr>S1~RLG9lH;~1OF7~M8wtxqm8B0M3o+{+0a15EDEdpU4I3Pxb zsAXQ5TEgqH)+l+wd9fSn+LRYpg}l&wGM=HQxZgm#6*B;i^Wr!QpvMaNF`PqQXo^5) zMXI1(PD~iu$EV8~Us|Jyu}U-s!JdODC$0=R!B;vjd5RfKykU_?>Um~-Gm1hUtQ$qJ z%oS6sdO72p%9T7bTAx&LB{A(;be`my@fBg8D2Cbk419LkU0s7Oi!-xhrm$sxm|EM* z8DDGs_=Jid$%)K@>ybP&z9Qt4#UOXIvZXCE#MHiC&iJM>B+rcR6)J`#CS)FQ{T^V! z8y1`?d1ib??CXj{_)?ofrKHEQ%p7BDyF7L;XMFkCJx|~3as%cdO^ZB6$ur}d!We1B zH%rzsJ4|iub$KmHIkUytk!QyD<0^K<<}-`UjD1uCi!)mf1tE;{FT+VS(1;a5DlcS7 z%d9Z9uQ%jf4N9HCS%F9}o!h!h#frI3$LTvmZ`JXg;o-L5E;cjn40yojd>;)$@Khnc zf}@HVQZb~@YH7qRbHvn=UUG!iv2Ol14@WKyIU?2YhsR!+ha;)QAale(+%iW@?dc7< zcU7*6=XxZMjpSp%k$&Il_^vk?;nq+m*1B!qIo2MIdTqGSJ?^;!&?c@)Hx{Z(jMchOvL9~<|bbG}dxJK^_!xPFc` zzXVTPxuWqY;l62W;&Cj6j-B)?8edY&MbI~gw zr#lA}I_vtbGdi>Zb2uw**BNviNUzAF_Rj@{!dY{U7Zc>{Z}4A|H73O(4p(B7GmdPR zPc>8Pe7TZ~)_;O`5ufsm>o1Y`>P8V%R2j7eO}^n*)Y(y|IQ~DgrGT)RLB2VQN{Qk;mw-LbstDc~G*D8914aJT6wS zB5e2^$_lird+QNZ+BljoHd79=ViLyd=YtSDRmj_LOpZJN|JlWo#va4imKkMgaWC}@ zMSzX5$3>ZpDmHsIsb}K&H)jf!w9E=)OS?S7Ra)BlT<~t-jH#a4u3!c1AJ}g%_nmof zeSkBCMIM0|zC)7ieZ`6(jTEw=WlofKc9jMQ7vqubaP=Ulhpe4Y^4Ji!B{^}}8HEE9 z+;H^6FjHk{LyYl4Sq%EwsuXd{95J=C*X6w)O1-f;y-`VWWZqlbm>YD%?gWyy$a(|U za-!o_kOx=*Jyytza88az5=Edjc&OwoGs4uWJ|*|0N~=0&M4r7F$C8Yg>-W75*wvZ3 z0B%IHT7_mtJ>UUn#!8GCzf&+nUle-vkrl@>V@$2by#;nwAaW(bbI&~b(=umF0jkmums(q>&?M23tV2K*0O#_mY~ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_setupapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_setupapi.a deleted file mode 100644 index dce8dea208e1faf73ef3214c7af94ef9974f29a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 469960 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

    PN1T!+WOD%MmQeV)e_!8locj-E2@NUeNBh5v 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 Q%tijvOI+brbbHWv57mx$dH?_b diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-core-featurestaging-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-core-featurestaging-l1-1-1.a deleted file mode 100644 index 11d544d00b90065f4addead694dffb5d9ae05443..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2744 zcmc&$&2G~`5FR%vDNzv|dO)0v1Q%2ryEINJRVY#=;J|?caNxkkX*RLd{8Y9pdf>n# z^aXeYo}ur+`%q@ayUDt-+g_5c<=xrYZ+Go)zw!9_VVE38Z=0{}V)0vkfS32CW!oMP znYC^2wL5A;uL%Hk0P7nz9{?JE=oaEgh%c#3Qt?Su&N9zHS3ed3t9<#M+xtToA z*siW@@Othb%))92k95Jibo*&~3k-e{E~W)v>}xC@HPrFB%);yCxR&-4ZmSyC*0^0X zwo7n&9QEK#QU~?mkRF_(9-Oi7;N=d+W1Qd)5ehqKklLRrmC#9-sa@mE*1*l9#~jx-;k13d-9|?PsHX2g zgZX*H)?Kt7@i!9TSXehO%%ZdDN$z2_!9BzSvzx~Q@k^X8iut|CpLr=l7_7BUEyXB+ zdM&m$;4il8$_}f}KPuTZIm%Lx3WwTlIi>BljVNm{Ge1$ul(I?J=Gl{H3-4VV|E$zb zjlH^@GS2~YhWohLcVk~zm4E{DaQpk%!Sm~RT$;M#=g9INxh4U zg^#SIe*o4U?L|5Tc!+n-G4)N$W1As04xAxasatM*xi)ZwH^RnH-6B?*al;7L*5J7D<1J4+X(8M zeek>PzR%F;I~9ku{XM#rHS}shk23;vLV_}732ScK?>1T6W;U~!%g{@Q17jX{>rj`WO|1J_VB2-nJ~qaZJ;x*!{KNGOpnA1C$Jao1!;o z6eE5ZiGFfrg0)+$yOEm=5hGQwj*EL?cm@nU6V4}xOQjf#goGSEmtKTFi7Ur;!Yw4@ zR%6^_>@1GK#pB4-LMJRBQwx%*1;x}t+b-Azt5|Qh30rLVZLV(mdjilj8g45#D7zj* znlgK8UV`cI%Oqj6*kzM2THGiWS%d1~qGBszHittKFd|;WimdT)*opcVdnZf=npn?Z zcgPdVy>qa9b!}~gVhFABIF`qFz147i)#&4KpKx*i zbi0U#d7zr~KQH2QUG&oM+!I?j!m$X>KqK3fm)e-n7-Uvc|wxFGSJE!X%KY=eqoDRnH+-ZIX^vS zrx+`xVpin0s%h@#W5s;M4dtxt@=ooz)XXxwG_-jqWtaW&xRLDgX*{m4n7jCXX%z#I k@ZpF)E^}77htE%Cpp>fkFRKiE#|}$)^)w&V(?8e!13l3q7`*<=As&~F$Vxg0rKAgrauA9{*rkf<&=+|llg=NK>5^tnHM$z7B(4M zW$cN^U5`EBK6lw_uff?Xr)&2ehC;`xTCC%2QdUy0UGKS^5n$URC{q%zZg-q+i*-y! zKbzrGwmC4?=5}L@^8kC&b$QG2aQ%;P4Scn2cU%0thr8 zaU^b3o6od@<;HbEqt}1!mwKU@CfTQ1E?bs`_E|MU`&`c*LK6k3NQr+sP2oQ-ku4(x&H)fWdphIrPAbl>j@1jVWB0p2YJcZaI(>ZZ;XW65uXl zV?G8K^doDE+g=e_QhHR$&rfL5+)Zv_G+*L6r!7Iw@_ zFkOH7B#frJLJ~&P8|k8uqjE4Q-3pyeV^<1B=!>kPkh?Va5cOB^bi(AJh2;cJsyVXq z_Aab^<=V9&E4T1192dKo+G{IcRLX>t*dQxkP!>XOInK%hyk2X#kTrUL&?a2a-dWG1 zUg91*Q7cHS0l1mT#3%|O#{zvymBiLf--11<>dN-mIoNvBcL&l$PqA$ACG zVCPg5KLMJeltmtXVq*dhbd26vMFE0aUK!J}B-khqvQm)|k6~=gt> zp)r~TM`_+w@mKRN1AGztr8P)?(RfNUyX4CS@i*-;kgO>QRe8X$_+JEwV-I4<_XvJe zGV)`ws`(!ImOh|bM)BjRvKgu-$&aQsZyG=P@wg#=yotw!{5XUA%gT=_h>!2_5&N1O zbVg8$xN$=YM45-LShM)8XSw=JjuT56Ik6PoiUXfOndH9AkOWJyLEl)*^`-4a5D;5uUL9b1^g817##Zseu#cp_!homnu{{b(O zwjS{!6)`bhm>GF-5JQPmZwG%uf3cewDo4DC`PxVm?C1MMrWh)I>jSKaQH|)I7$?dZ zIbjapyWgULjJj7mmPRDb;z`~so@w)@-7DJhxS@N68;=V)LEn0^#!x_<82HYppl|bTvgPkT$Dpe>_A`lV>B-9&X>n5AniW7&}2*im4 zAJ9+W#CP<{Pf=#Z>txf!X*s0b$g|_w=UwORn;jn;25!q0VQ@y5 zipG8~nn^)`aZFI5B5}_PgUL{Yj&MXxcmih`OAx}BUVn@0fOsR5?lgEE%|7@t3{T#6 zqVY7E$Vt+!gKz;&__Us3al4^}@1-}MFU2*oIN^5lam@_( z9G$&2xNICXVU1%8HDRTiu#_gO(6Jn=R_%u&VXK26lkcZK@E9PM|-iV8$L3X(*Zke+k9NK_kzDN~CMom|Fa;Q*y@foikjnl4 zPF0WI0hSz%yH_sYc`B(cr43vQ^ z<$sy^dBEOHbnf#ZiEwPJ85kt~m&quNu+rcTa)H@RbAk9JP8Ur-XVQ0G$qoi*I;WoU z6JWqLH3j&C&MlOOE!G}Y<2bisn_8M+*Hw__VO`6uG86I>^-D#X)U59~MRxIef#V;Q z#;G&6S3%|{KJ6S;wt==TEGo@X1!*B>x*j*rEt>BbG2hqYTpZ^11Z`VkR0uos;*t;4 z^YcZFyxjWFs-rbYr2zNwO1Y+c-P8G|Ws9q|1@tP+l?0UPnJrocpVBI;%3ZCtEaeLS oS9*sux9E9lw0fE=2Ye4e^Q4ikicnX8-)J{}*WBRKXZzXr4@}3}NdN!< diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-shcore-stream-winrt-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-shcore-stream-winrt-l1-1-0.a deleted file mode 100644 index 8b5c5679ad719b499a94cdf7eeaea33a210e62b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4660 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

    R*>%SQW#_j(umCart@Xue0Ea@cSCd&~aKdwi`3 z;hQx1hS=llTUK=V)^}d|J2FZf-}3CCGDAnM9qaOzKUMYjE921!-teVKe`4P9;%##W zwtUM=UwY~F*a+~F{FaZl4S&nK*!4->>xbi64i^2R*{DCvgYNYolHT+WmuJW!O}-8L S%C@=ExNW)L%U>U5&;Nf~zFSBD diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-mswsock.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-mswsock.a deleted file mode 100644 index c0b608983d331406f87a6a64a3b14b1113113b15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4124 zcmdT{OHbQC5FRI?p%JJ>Y9%g}T#4RL>ICBCfT~oe^iZnO(wBPKnAi|QUX9&CZyb8* zjepR;!Y?bG*+;y=Hc2HH#DHgaXFu7Nq&UVp+Cro2I>1 zm7CQnZ5wyc{Q%1bz&&1@Gs>ZN67qVwGQnz30zIt2{)gPt1H|BRu&R)s{i%wr`3*~*>Oxf}00^q>dcaD@n z+I2tCu=z`46HNC}E)ApkC!dDVd_(Ka8>A;i`j7i%4!f?vaG%i5=MC~oT-4}<$-z6+ z*+w97w(}31t=H-?&f4hj`~1@jH_h3q^56rk5N9c#NN7KkILkXPDGfJ{flCnHBwUi6 zY_yw2t|^*}+&_!FHVdOW{B%S(3TFrGhn;WzBVpm3f*W8x_pV?)`ImeeiGFH`Z;r(Q z2P;NXNs$QfmTRGM@Ea@H=7ntXi%eN1ikQGcsfw_fddk=Jh$-@Ao**kJ-4aLjeIyH} zU|7Ze9m!lO%>Q@Fk56UVk9C~vi#9Jr*UDP^z6t_e~|p;9->+BEiL28 zDAe-71nc?w=o>_o(EB7byI}o8-Ugs?gk@D)sK~(&)bYDZ%9SR|dsM{m%4`g;TNN!Q z2*01=LZ>nOv)pwmu9M+=+PqgWyqk=RG5mWnZp`pyTwhaSuqq{);RYmKKW{hFAITL* zOy5vWz%mEFP_v|EYZvYG?hJoHM9jBlW4>+IV$2V5r>8N0TVu?1GXJAC?^VoiCF5eu sKTO7rnNPQ%S(y)@eoWnNwl7I;M{Hk_7AkV^6*W^!)fhf$%97Q80Z9vh;s5{u diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-ncrypt.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-ncrypt.a deleted file mode 100644 index c92ecc94b5d33351ade25b41063f9b22f639c66a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20346 zcmeI4&2QX96u@6LX_KbuC#5YFMO!Ecq$>4plg*|o)t01zii!pT2qA>K$vRon&F;$U z^dqWJgb+fghl&#yE*$tHIH3Lwh`)j(M}#Qv&5S)`k9T8B>sD6mXvW@oZ*0%_H_y-W zk#kq-&RX;8uO_v*c-rXCOoUCUi|I$g_g zAJoc5@a!ugnU`bDvD|ALj%96HZMRmcgmdX~p7U1MYOlB*r@mp~HSgLD%c+$@CF-Xm z&+xvb-znwt(zz!7TEr^9TX*eFyH=hF-lHz%xo-5XwKi6^y4{ZBS`F>yBE%x!Cgq?z z2tT140SVWBSFP93orPsQ#}Zcdt<|rrHMbVh4@#u=J6r4PSiKS2QX;gG`IfzH(cOoj zTndV~{`LF)${Lgi?e^9tp1G&NbzK!mU9A6(W4q1G=o}%jmyb1Ht?sY$X3f&MCPRXi zG~E7z5>LB@rX-?X7A-~K=|3e-Wt&&62+!!t zpwV$#?sUh0IrMuglnkR%sT7NqOC|9dxjlJvWIw(b08Wnp9AQWMMy6fszRQmLM@2Ah zPdDmry}t^R)WCQ$z1r*Tq6RypXVVGK&v?3Hcrb?drEcteTyNG(C%uXOdUKxM6dp`P z=y`Gu(sZNM0+?R6Tb2;~_Y`1bWW9dJOAzU5J<(}LL+2(nwT|$W8?B?%&uBj#rEaLa zqazdtH&K7AUiP7AfDWq@dh(+q2ZJXOzr3@PP60l|c&P8*Nn*B{fZ4g(S&i8W*7s3% zzhlpv*|MlMIDrSmEVU=v=y^sl%Y>mw(ev9tNQM0*y{L3bBgV&BOs#pG)z2Yz6o=?0 zbBs_OH%14nyUnfk9iGCNg6BXzt6fe#)i2el+*GT|iVHo8yZ#28v_&KAjw3l&K$Q@*oJ_CqQ^(j)y1cnPJ|4eX8yJC7a z-nYs0G-mK(tIBmjz6%02zKS}nXg$BZ(D|;Q&fRFe3X0iw8snPK5lOf!K6&~&{d$aF zHF7%%{GA-~?iodNJ)#ca00v&q^jker>zXb(s=pOLeMho)00@d%P0>{_m-5~dZBcnE z1lVWgq8Bg)5v$C^?dTlg2pBP#Q^!t<7BjC zmHIPScG@KMezjm~0lvXFK)vr|M|{RBvJ_}HV$xon(d>Lq`+5JdVs}$)+D{1Dy$%%2 znrYfkQ2}t1v>QBu#RYhXdqKNbWbNxZC>TEHrTLhg=T@CPHE!JfZ)KnJBv$lY;%P#A^kWIWcUje8b*HGInbP%L+ZuvK4%; zTz60_XhiF2t)LyP=eGjt^^MyKjw-DHhhZ{J{z(EHH|fz&^8^+bU>o-e`E1lFG~BBW zqNZWzXJZoXO-xV--@&K88{vDUf0CYbT*8kC!trs-(QwR9{d!sLsiF5AZIblMJb}dp z_zw4i^gyw-QPv1)3U+-a9`$pE-Zz<3FMDf}`1OYc^}*>H*{1%iU|dp<)2IBc05}=S zqdr({&8dkJr@;NCc--T(th|>JpB;B=^xm5!y_APM?!7rjc-|~qdTR5uN#@ybFHgjh zeT_%L(g&wmseLygNeZOL9Cyt}pZJ68M|zTe$|*s*GFvXwq$lX7REn&5G@2|0+T)J3 z=60RoJ`CCq3fkpd&pl(;Ws#$%vMN(zQy@L|IBV{~5bDDqeNrKv&r{x0q|2$febR+IaYgO-i%x4tHZ`33n%mI&dImJHH9?VPJxl?>~zv~ty1=zt@`0Alm1p(A$ zZLqZnDX<=MoHhS0vNnAtBuRnvnB%IIe4ZFX zeHf&Vd!&oSO?2Wc_rN5WCl*-GrP}nMAO+52j-2K_>8n&68P$Vk+px$5R#-|%VUq0>T@9T9vImJlZ5n9pLDU9KjWk) z@YMtVzd$wUK|u|2g|9B&ac)C7I%<<8=lD-N%pUo~Ud6L=e zBZ6@K-=<{yi}W0K>y$qAMUg_g0?<-)(WkB#U7H-xPbCE_A9v(5U%AJgXTP4uB;!dC XXajp{JvIkhS#z!YTQyBKJlg*U3Ng-5 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-ntdll.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-ntdll.a deleted file mode 100644 index 55d704d5ea25f408e04ebd2095ba9d822e295e1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18656 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 WHt=3%(t~pBCC=u6yQ?me@P7t!SAi4& diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-propsys.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-propsys.a deleted file mode 100644 index d3e929e1ceabb89e253c069e302d48b84bf7797f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16898 zcmeHO&2Jk;6n}P-CQUz)iYSO8LrbAjmD)-CQK+IcDTPXfhQw_FAvT+OQ@eF+V{d4K z5Gn`>5S8eK6GDhP2gHFR>Irc|oDe4t`~@61x4btqJ3E`5wa02U)gq5IGwYeRGdr`t z-0bcyFaE>*%sqgadzLkCSr=n)!FD+wuLvWIbc~;$F6Kmkzie}H5SVYScTJeH!j)rb*J2H6Ul&#sLQWBDmRe6 zuh*5%>Mf^{I9;zduS7fpuS-e+Z3XMm`IMvdEZu#!R(Hy^HOFsF4^eHgKz4beV!L*<2+Ns;?A?i# zPN#<$+#7St}8KrNiy+bJqgHH4x>z5JC z>LSDXgx>s6ih3pNywXV~4T~6V?dVFFt@eT0V!jx{YytawKYR4yhmF}uuLlp{1!0!> zM2_C44znzCQ=rI64r~%(e@RZ4PHFTuM_EX09%cQrhh3Qmc6i3I<0jq9xy>XqV zFigQiKt1bSj(X}}>QmpTT7y4xhzCsALo~(2M1a>>$b&R|ix*pK^KFgoD9q7uVoWES z&E|@nHodfbacW9o%qVN-ZA2xR@PtwIJyOaT`s0{i5y+(|6Q7osTAAL*G*;G7>IHu^ z2x$2d%G}h;Nybolr%>i&y<7panR^DqSs^2mFv{G$|1ABxbH`7^ISqsj;eh##!h|WR zn=lBl6Fu*9`mbK8{Z7>ng~td`M@%*%fWS2CHL3;gQbs|+Ol6D+FoCt1o`Exm?k7jJ zb0$2;{^Pt(rYwjQiqh~6h9)x;<0;Hm&aHfA6wH`WIC(O}j9b_ly_oTaKnq3N$&3}H z-fqmO>*Yescuy}UnQ;)?H!EcDQaC*`_Jf>2Dn@X!+3=)jvCoDVyiUM44WD9Y>6-1^ z`;oa@xTfIaK5vNoqH05NokZHS7w#7nylf}#-%{%BhI@6yQshFoj~HPj?#Y%k#r-}X z_p~m6s7S8%e-xjcoR9b8Jb{I2*udDwdvF;<0$nD@g79fGgcqmsAgFX_o6bF(2sB1fhwJk$jdY|zWa!i$_CFLGgCe1ah9H5+(avC6k|Hn6JHt62G=^`Vwt zE;Ji>UoR)e1JZ}4vw>YYUa(!nWb+|Iut(?HNOL@ag=zQ_V;vvl1}a|=(lExCh=l`L zGY%9=;gz5d5Es2TP*$+Bog8>aska*ks(QH)2ikf$$$lU-&6AuIA z`>X%`tZ?oKAYYyaO|-6mO5ohL=x0OCtDL)qM8}986cE0$ljI!+r7?{qQE;WX!+8CsIN-)pw>WpI#N*!(7vv2eq5S9mgP5q)N05iN5t0Y%%n%5zPr zx7#X@tCy3@6y8a=5A||#m521=tdQX>qELU{XIOGWb1)z8O7iOeVbOShe0W8qP?UzR zFtj|?plQCc^xysCg?Q!%hWo(9sqiVF!5InPN;-mX*^~`Kk_}NGmn54J#|Zf7d`6Uc z0t?gd9mbLoQC*-Ok}&xcCmwc~?iLT`5bWLZ;o!m6NYg-HEs0YC{#R9r9wUtA5ZY!d zH0Y8ai=AY;BRsH^x?;Z{J1NDmuj~P--vweV|9d-0^TA@@pGC$q5*Y3c7YFAfy0W34 i^AVt91N*`?*-Xf=9#ZWi&G`ro6U;yE-O?}8#{UE5T{l7i diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-rometadata.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-rometadata.a deleted file mode 100644 index 1f039103f5f50a10e2242f6a8f273a6c79563e65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2594 zcmcgu&2G~`5FW=ZDNzv|dguWpBLOF5oIfX(A{42WxPXKZmAGx4dPA%xaTL3h-ueI> z`VzcHpNL1G%*?KnHL(duDHC~iJ@aLMzM0we(_Sz?9lfr-a`IAd*M0nX?XKf^>@v0E zG@9sOIjI4_7J$_NuzvtlU(h4Op%BN3oG0SFOyyi0#-S7!(KMJv0*#U1^~E?E(4(!` zgz-fZ%w}R9Ph=W|K^lla;D06(gc!*n+}Nlf-r)>KIKvy69!1GaPI0mQdIKklCNoj$ zhVcCKGIiqxVP#C!Jdt?rmFcD!-=OFINtDCoa)Z4q;Cp zyc>6rBx_)BMYxCteAdda7(&>>b(zBBDO@|V6Kv&^9FCRa4H{oD8iGkL0%VGNG!GK|3w?b)_S=S6eK+-#%k4;bc! zqHkL&^7)atgxExw3LK-}cn#GkcSrw_yB)u|lDj@~PO+tIG2_9e0(FPEizkkfJ!~j< z_jNu{Op9_?!*h*+Thu}hpkD}AWGCA$K2_Ef+bZ+(fO~(F)gwOO5RSqb0>gB4K0Q+w z&MPpPrcM5b%x890<`cif=~B$oL#=tG78sn>47F5^03TT^Re|r=+4#}Ev0FmlJzO`5 zN1}>n-I?FShP6FVX)==PxyPST~C^nxfLe$p*%}u)G^`XMPtk z<6_*RZfLw7V!jmPd~~zyqwZ^rHeuu3+&-tb>+7YBdPO(2$|jnRvJc=sK8k00H+w6U zvwA~-d1vx{06LqQDVoL3EX%V#v+(Y7HNg9%HK>}Q|C7*$RSi7hcL1twW$9@PH5K@V Oy7UWV%?HY+tLYbBX`+b$ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-rpcrt4.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-rpcrt4.a deleted file mode 100644 index ccd98d679a888d39995aef09789981e2ea086d1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 221178 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�b*46=3|xT&2jU=UpKN=U!ONu2!-H+ryn})6NpsU5-yAzTo98+ zyhhA^=xeb8@DuvcK^8%e@;-qQ%tiIJIkQ_P02B6j`k&Kx9q6-kjS6+X>o8_AfzOv? zX2FgE^MVC)3JV^E|FKzujBv+X*(nl&1D-zTQByOz2!I$gQ@)*nhW4VDa;Cf_UAJnc z+_uXZGv%{(IX+XUvs?10!2vc;jv4>{yCqBD7E@p`N46%1z`d_`*~ERamTt~k`Z@#m zV&;dPWz6{B)Qmt>U!NaKEYO8QaKY2BJZA22nXILP3w89MT@n|l5k#6C$IOFk3#~`! zL6x%st?Jf^u~jAn3p~BaX*NKgF;j?4n`s>ue7(*BF)xgIG}vLVpmH`q5iY83n-beZ zLU6#-hn(J9tK>i(zu6522l#|IY7UGT9N1sP;7NXOjVe0~;8hc1i$n+p_<4>e_L-jJ zG#?ha&^7Rkr;9nWcexW9Gq_N`e;c<3~`Qytv30K`5~y5bo#iO$cWXje*$obk#xl zP8H$fSn~El_&Bj49AiTu+|!pkYQ7nK5gzxTK0K{zL;R{%{8urAXU+WRM*mndZ?0wi zEbm2)a-7rPPxRwAvj}=@kaxnF_2YWAbp^(r9s>Ek9$XXoX)TZNU)9mzucgRe=&vmF zHmE^o9$4!Y=)$jzwpO$$@cB z0=P=dy3Vx*4;*XS6p-`kR}ev!3Bd$Uzi!%dw2}!Ukm@^^9YH4SztGQSyBnSUv2F|O zo4I7(jF}178BDN$@5x<#)y6+aE(9YyeY|Op#Y#rh85>?{V?=4jgR8{M2;c7%=twWC zug(*yr9!a5&*M9p)_Yd6q0WkjSJ>F_3|R3tLR(0lEAKC2@FdoI>KHdyy}2asrGh;5Ju;E1+Ut=iLj zBtL;IEd=5{J-+))n`uJ)<`Dlfj`&&b?L?egnFP_z5tFALuF{$0R5j4ycH z&lfx~Y4+~tJ$%8(nE9OG=~AxexkI|Hv`)uZ&$D8e<6YBbaNjq9Ovf(A2kqyA+;kxW ze-=OcdY+e1w71*cGje2zp4`{lYxd;H z+beqVI`*3vlOuD-7mRhg2hLM85Q2QV90DO%LSU8x{J;FyE?n}ABJe{>4U=6f&3=>q zpRomEmU_J+0@A5W3x#%0Vk}+-WLOO4JmQnbP0c?{(--UF7!^5Yq=j_ky~i~R)7 z_ZKmED(yG+s>^fMDv1yb@bvYj{j2EH#OE!I7QA<_vwzi#>tlgs@8-GIUxtT@KW4XdpKwDH>UdiB24}p9?pKW?empw?A#&ZoM`_5;twjm$# z$BcZxw{%Tp+jaet7c4aZ>c>3&v`NpWuy>)pPJjQ^Hq?W*6Eo`T>iH$ELDLbADU%dM zatPe}d1EJ&p0j1Re*xlt*0AtIjeB1`$E>!h=eW{CAm7(3Yp%?>2;E(|)X{Uk zN=AO!^+m4dyo@!2q~T8$F?ec_x5IH!B79kG#jaDrUP%mrd0)?LT6=>}&!y$m!Tj@O z%j^ElFF~}9wme$_b(?THL&pSIgYWDKUgS9yi*7L~x$bq_dO|NcZ#9PNp?F6zVRd*IA=; z6`9R5SaghA@f^&%YbP$OXY-xaE?yvJ&E9K`j=k!V0l!Kh0RBfkeYWZC@-4&vl?DE( zK}RD%%=jOnEhOtU`->Pn6|0jOyp5_$i_|J5LNLJ7dzoDR9oe}fB`T4npjrH|z-p^K| zX2h#$zaftchl?0IHORZ+xTqmrt-hER3>FK)2S1N*THnJSt80X)v##xOgAbjv-Mi!7 ztJBN(r30K++dU%8OX(qy@9FtX->Av7r(KS7;|6%%zT6nD;D$Dh z1|-G%uKOt5JN|^HY>7qCV}pDM&J`R{o5F`GmK-4%+Zn@C?hLe{8XJt8{#*;=uvk?*y3PMa#TYCAiA JDS7K~|M!ODfqDP{ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-sspicli.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-sspicli.a deleted file mode 100644 index 7e24e2be1472ca71e36797ed314ae21d222dc1f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20006 zcmeHPdv6;>5T7`GhL%TZc~iNi2vn7D&f}b*2%IJ@tte6;pdwUpb?i%W#67#`Gqe?; zfIt+1L=oaogv2M|lTl`N&$nyuuDzCWL05U(-L-e-c5ilnGqW$}%u+R~ZNEMBX0bPv z=1VUAb6lrb#QzxNv{)>;&K!T@<`e)-101>!aC8aaSjgiOn*bC~e8=OdZvZGh_dSm< zB0t5`fAe?-%PF2q;%oN+D4yTt@r^G4C^|@|IE!^rbQ?S_-T|Pvw87&$HvlMJyv*aJ zIRJ`R&hq%)d4TuMd)|uYecbk=wzuZTe&nq*>%RA85LR1(hlPQ=;ChWQY!kG1lWK2)EkH?Vbusu3W<~&UHUtX@;?XCti-Rx{Xfkx35>EI*jxWI(~F_-LG{b zeC?!;kD5DvSXt=4z(5v8)U`d+^SFWITDy9!+1%;0NOtPFS~U)u;aat}Q{D0_rL+18pE; z@v0yBTR|IP%Nkvanl)^<=SedQK97AD`nCAuFpfG{OTFhw9r0=y#6h(Y-1GYe_IhP5 z9n~RBBBRAoMB|=yBMmgA>zave;*HQUvGbbRAXH%)%%YaQ>OzXt#&3!7lLyRN*=FGdvu? z>;S%(99VsvZ@ybjd`HZD^+p4xH-mJ>F~YbTxp ze2D4ZdV7Z1ZF|g?=gSIaUF`2C*{dJ;zcD-0?ZK1yfiO$@M1jUrhgnAKOC-Kj2l`mp zSK`x^QyGosVV06MA7=e?oPDxE^fsG`Av*?!4%m#hJK+v5VVHvd0rjkRIqIo@sZT|a ztp#qlF^7$9NbQ2~20d1O0eKpFzEoqVz9r=O zLeJ+SnT6*ttt3225oX1I9==N79y}0bxb_0wdV=GK+9TZI3JxRhXZkLGlKYyPoK*b+ z$X=3p0Z4GndWu@XrzFppXrts8deG10q<7%jLeEp6);aoLV&4I%9$xZRQbJh)e#F$c zP#V09+RK%kgnP#d_vP7n1^2(8*u!vNPq0AQe&Rlq+8u=ZJ9<6^_uuLHQrw?K`D}52 zlHq>9I+q~@tqJCN)PdLWy(tJCpqWlLBtBtpHwCiMjnbl>ZaA}wZtNmnhUv!GClDrj zeZteA-QQuhG_U$_I)T2>hqt@RfO!Fa#?;e_ZMChH5%w4CuwPQK|GfqFZ%FoZKmEd{ z)b1d^(9-iMe&L>;FZByFAF%ZcC&0MNzg9vznYX#R)F6y^^Bs6y|KY8d$`Xn zW=Ey6r52PF4=~n(bEy`*fFo?H1y6A;Pbn^Tss|@RXxFYg&=fbloi60fM+2CPKyXKw7SgejOaBI0E5tlHD18d0{n@& zH@FKVm9SyVMl)%pT?! z`!AC6Vi1;offul}06$<(mcCzXab3ei%m(!{R;VwJ_kP&;@##`}(;}VMjI#H0j8Lz? z8kOsr{+R^l0{NP~AEW3!_}BLiW64GfY)^#8wx0&sqy?kc{>MlQ`mgz6-FaT?+S>kp zv3szuC1!(q%k$tFb;t8QLSWdM_9ll3L(6`yX+M|RmDZ}tJ&0J(r>tqe(etIYpJuzZ zGoC3hUr;5@$}{?3AptN5`+tQOu(SYwVD6d4x4*=j&HC4|Jpop=VHXiHOdG~0zyyQd z6X2u3E>HL0$Ii7Dyv)!pYr#@dLRkTR!qn4>Exdr4oQWTB?9PAPg+=A$>njW7eoxzsw6*T7cg%_srsp{mvmg z+314Zd9S;m-UuCAexVB|aExs&{~^=``Bzs2lRV@9SrPz)z`w%_SXzLuF-QE%B1>1@ zbcAe>Zg+lLcE+=N8aO`HQTI7Vx$}Pzv_Cw|HQKFa_gb;VT*pk#2Kjd9x?>y943-i3 zquBTZh zWrKFRliTsG&0xDe3fc>x{ON*6AMJ|B0_}QIHfXmyp)HrxmFoC*npmlha!+9bjDK$< z*QmGJu`!Bn{pUzBI;FBavmO6Vao`+hlyxki9%%k@Os;jn>V~FP>>m7Ux`osC(g*wp DRt^jA diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-uiautomationcore.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-uiautomationcore.a deleted file mode 100644 index d6ffecd5707434c711358737b78c0dc5953bb93f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4410 zcmdT|%Wl&^6unMTQbKtwK&n_E14UwiLeeHqkt&oDKvarQRjC_5a-7&9riq=}?gJJG zAr>rHbjgY}OZbC+4PU^Ta_@NTj2kEMqG{EsJTty?=5^;B-$`$;Xils1IQLMFree9M z;9sHqNR|t%Nz7%rR9xmA8aV)%1(5y#WPSl;|N76Rc>sE@nyPNPhU2R1hG#fx z&DITd&$P6@siM(TmKC*YHtFG3EOdL%)%tyP$JBN_yQg`kZMAI2P&E~M_6$(fj-lx% zJT|DCrnaG(uCeOAw^}vZ@(jzX+nR3Z&vvm|Eh;#(+3Vw$5+D(??%2DgZaB{!ySKL5 zY8kF;HoHc2pm88^4BL5WTeYq^w32XuV+hcU4{Rf}$w0tdy6+)2&Mv z@PGjpB!H`|HY4RdW8Y)-(U}Z|MqbxEZ8U_nRH1N~Z@TUT7X-l#|A@%s-b|EeW?f>|=~@OpGVc_BuP(mTzI~f-~Sh^RCZ-@-O*xki>6^zvdxD zFmS+aDoK+7uUPJ9Dfo?*DTSdEj%z$-`WkWzm=>9kCPjlvsU&D9%QpTEc}jtwSSy|^ zS@1Fd53pV5T&6;vUNi{5-gH7GoXisDg+bJaM1y6-?8oCm4bgZji1{3kQ?Qw(JD68F zhMTaE50CEA+rh!WMhu#8V?Z#mjOHd*0$jw$_c^_bHPP=heR?>4fEZa>v;fX><~5oH zdkN8!YgLFJ5pA$N(;9p&QGZG_yRVJ=>>Yr{@huzNLPZLGVxH*Il>B-%l`9~NGfX4J zWExrW@5i#-$kiqPl)j={CTXO>c|*l%YUG_T?>LQk@wg$4e2mA18o7o0t8xrhd5YJF zL>dY2ve6qebv)1dxXX7w(8mjI@ptwE3)07k?I-`iFlAK~lBr^GSQTH81(Q_qMqtxv zs-i8-J5Ck-c-)XGKE&ffRoukWPO1uss6zOKhhv;)MaZ~*N&`ha@eM3b!FMbpiV(Iw MLJmWSY5bGmKbeU42><{9 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-urlmon.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-urlmon.a deleted file mode 100644 index 38650736989b6c9f76fd1c6a2294f0e5b3d77268..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3398 zcmeHJ!EVz)5FIBeDW(Vx9C|_q!3_l`G)|DJDpC(zf+$p#xNRKb5UWlc#V+O8GpGIl z|I#m`%*?KnwPQC$GU@@w^6Yx%d3Qa2v$N0k-Nl#5f%)1>OS9c{@UoqzW!db~wPm&5 zcGU|569Dc37&Cy{bAb9Md7FIzvoFM<5GRqhh{TZ>dkb+Gjy!Sh&)m5$(C9l|M+E+m zZe_)06rM-!d@jxw!8Du+S0H}sfe;hV9hEX7h?7O|{`A<3kG&}J!`X* zJ?4I~vcMiRMsDmDL)g;;`>HXFq75*(Ae>JFzSv8!HSE-IUApji64y@bgxfC0brReT zc6M@biC^-fF$w~J#@G)$<@j|C@YNW*r-?z?^*GV6)y&ug(_>UA!f5fS7Gbp5(Dzmi z(rHogjn(Rg#LWhc#s}MJtd!n%DAx!3m?OrA!1kVl7n#eqyK8Qcy}oQ8kM5 zC9+YPGHEvL@g2LRO>-$hK2k6Y#ojkk}OZ}~U}-7LGPdkUjW*jQKBFX`#>a%ICa2;^36W)aOttOK}@ zw~RAA>peZzG-Y+YDu7-ixdwn@F-MAK!MC)!r*cuN3MuaMchVYUuF(4=G`r;fQ+@`Z zairxyS*WSN57ajtRyG}GN<30grC{dU|Cvw!Mv^xFv{W|pK{7vk>ikETpZ)CKEe_*l GR*>J8(^+|Kcq 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 C-V+o6 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-windows.data.pdf.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-windows.data.pdf.a deleted file mode 100644 index f0e48b304eb109df53749bdcaec92c228b1a2025..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2618 zcmc&$!EVz)5FIBeDNzv|Kq@yQl^ZfnNSsuvP^9$8p+X=ekl4C-gRQ1XWE+)A95{38 zukZ)`GRn;CuCr()zmxwU)k0Dpe3@47xu*}dy_ zx*h$%VG95n08YRIH1`27Ax1*H&t#g31DVTIjAoG(r^z&&Cjy;GFbKpXIigE@afoK8 zSva2)j!Y4Sc_`-5ScC$fJdq$oEW_xQ*9LJAjYp{rbNN3Ft75C|`#})6ZqR#Gu=U2dhlBy_H~JtCwU!ZSngFTA5H zy8#A23761eXd;7Qx4-dhMCKHqr#(4R|yug*9;HV*B#IinEuD{%;B^Hr@Udads8*S4_ISKHQd)3w8HyUgD%-?d|&^3v3DD$bQM7psW><+9P zYVwQ!K%G({CDqy|OP)=rE%r#bBSUxUi@iOVwb2n7ABQe#`y4!FD{?c-TC>#N7hR1W>rxvQX#;7ycEZDZ(BCc6t2EnFTk#( zTpd8GnpvVK_>@&0b#7YqVksB+9cd3Lcj$R)6kX-QQ@#hFb(E)|k3GMzFa1w)&EJ*v GWYb?Z+^hxw diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-windows.networking.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-windows.networking.a deleted file mode 100644 index 131affb37ddecb370143b44368c5cdb76eea5812..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2682 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-xaudio2_9.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-xaudio2_9.a deleted file mode 100644 index b0f72c9a730fd67ce3da6a2382b3576a5aea25c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6560 zcmeI0-D(?06vvNNcI}v?4Kz4uDP;>O^rEOMTV6{Lf{RO`kV0tFU`pwD9j&Wv)|Qag ziECP#(%u&G4!tjVggi*E`UHJ~r01OZ*pYT5Z9ozTGGb?D&-^vBbLKZ6yC2+&`VTs{ zH$L%)Lw%z%HqBH7B-Na^n}BHu>Bcpzc@{@BubMD zdKjs7lxX#Sls-61vF=f^RUjMx{6I_cdzs^A?|0L)llV*W;a+1{=_2$dZZ{1dcPeinA^`7I0N&!18ym0mU?@*VsQ-I9G=04zJcI$H08Ran?CI zeJCwV71*9$5clj|$vyd(e3}P)?U2u0muCKL%kL_BDVgJ}G3zspNdp`E)@m2>ePL+5 zZ=$B{)|pvD_1!|vsaqFfF$Y>b_LN4MF!7(i{E+URKFw_at1xuxV1}q2Vh-REUedpG zZ|4g0rMN4Ay-)HU0E%Ju5Vca(mVABJ7Vh;B`P@Hx202sc{}iaBlKf4+r#@**O<5@M z;1`S?hpBOgtl6IKa>^SeDQ|6CdxP}-6YT6X$`33$7D@S$)$Sz9Q@5@_`6IW^P)?&= zmhu(QXJG5Z%uL{Vf$1{Rj;}r(a@x&yjdl-y!&o@FJ>f-RUc_&gB)+*@ApU2hU>foF zEK(Lp{P$M7lZfxQbp_)4Zk-|i8jfgL;;V-E{N;{T$z`SeIzBsvoc2H(IQHOIObzXM zmq%c?3ugN6p0Dm(C0QRj`ODQk!||WS`W=grMY4Y1YIhRrhi+Yg^&j0j!#bVy%d+l) z`AUK7-tsc8-&%9V-)FjIiq|f@-(8qvq)GZ(Z^Q1 zlZfuQbp@g?+&V+_yEuAfiLNN3N57^K3Cm2l<~b+)Hg!n_5B|iQB7C&#&TodJA0p>8 z1A=lhAZ!)iOJAQ~ZkieJD(4rlXMp@Pywv2sqZrT0Hwy@sc<}oO`Q~f*&@#`H!YZ0A G@Bae~tqIlu diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-xmllite.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-xmllite.a deleted file mode 100644 index e4e04628dd2f641bc4a1dc1d8c566aee82337f04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7022 zcmeHM%Wl&^6uog;TFO%uNL?BP5{nX&HgSqnp-2@Aq>7h7Wr1+r#%-*oX_UCY0*Q(R z3szmQhb>}-_yN9w@8BC+?!Du&$B)Fel!794D$k5(j^}ZG&fM$t+OpN#Y~7o=qlZ(a zRx$9eT&w7MnY+|n*Nr7{uj}hG0B{jN`vWlf6=3?exXv8`&~?cW*X(rwx~{H@YwiQU z+y~QKG0o?FyVo}#+pgU+SN58=`Nrv3UB|>m$5=AVwzEN(*NR1R?@iz8cFniD?Y86E zre)#-yEd3+%eI=M84}Euo^84Ii{18G4=3q8+IPGA?waGa?sqo#noei?AY6UF+>YT*ph92r|cHgj#VP;%|JF4qTV zI+WK-P0O_gL%62_)JK?4We*>o__F*e+~YJF>xRSM5Z@79(R5Otq0V2&34iI0&QIhW1-5 zP##X6{n##(*fj*hHla6PERa>=Nsdk!4W42?+7pdA+se+_daWMgtbz8v%uAp6-<(Ai zigX1F;w}I9X4b z7Xoh(I^~xT^DY_ZD~85fM$E@#97b&--NK^bVPqTb_}B4Gx;s1!+A#hD-y;u;nV45J zKk*RYEMCIybg$M_+tU(?aX$g7*JQ5%9o5bB}lDbegg z4JE#(y~>tXUJDf(e8)UTD3~{N9A$*7Xr-D>E5>3>E1%IcXU~-H?Nd=hv`Q3feJ3Bn*lz{*Uc<)AggYQQQa_$ z&{JbMj{am0*G(zVhg1x;YVaQOs6LWDbcMqeJtxEUg-l$pSMSDr#A!Tr!{>UQcuEVn zKIEqs5r>Q`|8En`F$Mg8DH=G};2V|!|A&~Nk^M&`{^5?{C!>@~Hl-NxFOSn`Do{$E zXsVE^6d4VSw^}NmHUhOYLu&bvMJ>`4ITRCqvd b)!@+dl{>D!Bws8Q{A(ck4;-~;lwAJ{C#T4K diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp.a deleted file mode 100644 index 5ef765fd1..000000000 --- a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp.a +++ /dev/null @@ -1,183 +0,0 @@ -INPUT( -libwinapi_windowsapp-api-ms-win-core-memory-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-file-l2-1-2.a -libwinapi_windowsapp-api-ms-win-core-windowsceip-l1-1-0.a -libwinapi_windowsapp-api-ms-win-security-sddl-ansi-l1-1-0.a -libwinapi_windowsapp-ws2_32.a -libwinapi_windowsapp-api-ms-win-security-provider-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-psapi-l1-1-0.a -libwinapi_windowsapp-api-ms-win-eventing-controller-l1-1-0.a -libwinapi_windowsapp-d3dcompiler_47.a -libwinapi_windowsapp-api-ms-win-core-fibers-l2-1-1.a -libwinapi_windowsapp-mswsock.a -libwinapi_windowsapp-api-ms-win-core-file-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-winrt-string-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-namedpipe-ansi-l1-1-0.a -libwinapi_windowsapp-msajapi.a -libwinapi_windowsapp-api-ms-win-core-winrt-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-2.a -libwinapi_windowsapp-api-ms-win-core-string-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-com-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-file-ansi-l2-1-0.a -libwinapi_windowsapp-api-ms-win-core-comm-l1-1-1.a -libwinapi_windowsapp-api-ms-win-core-interlocked-l1-2-0.a -libwinapi_windowsapp-api-ms-win-core-heap-obsolete-l1-1-0.a -libwinapi_windowsapp-xmllite.a -libwinapi_windowsapp-api-ms-win-core-largeinteger-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-normalization-l1-1-0.a -libwinapi_windowsapp-api-ms-win-appmodel-runtime-l1-1-1.a -libwinapi_windowsapp-api-ms-win-core-localization-l1-2-0.a -libwinapi_windowsapp-d2d1.a -libwinapi_windowsapp-propsys.a -libwinapi_windowsapp-api-ms-win-security-cryptoapi-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-localization-obsolete-l1-2-0.a -libwinapi_windowsapp-api-ms-win-core-interlocked-l1-1-0.a -libwinapi_windowsapp-ntdll.a -libwinapi_windowsapp-rpcrt4.a -libwinapi_windowsapp-api-ms-win-core-libraryloader-l2-1-0.a -libwinapi_windowsapp-api-ms-win-core-winrt-registration-l1-1-0.a -libwinapi_windowsapp-ext-ms-win-gaming-xinput-l1-1-0.a -libwinapi_windowsapp-api-ms-win-eventing-legacy-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-datetime-l1-1-1.a -libwinapi_windowsapp-windows.networking.a -libwinapi_windowsapp-api-ms-win-core-io-l1-1-1.a -libwinapi_windowsapp-bcrypt.a -libwinapi_windowsapp-api-ms-win-core-wow64-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-namedpipe-ansi-l1-1-1.a -libwinapi_windowsapp-api-ms-win-core-file-l1-2-2.a -libwinapi_windowsapp-api-ms-win-core-localization-l1-2-2.a -libwinapi_windowsapp-api-ms-win-eventing-classicprovider-l1-1-0.a -libwinapi_windowsapp-d3d12.a -libwinapi_windowsapp-api-ms-win-core-fibers-l1-1-1.a -libwinapi_windowsapp-api-ms-win-core-threadpool-l1-2-0.a -libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-4.a -libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-1.a -libwinapi_windowsapp-xaudio2_9.a -libwinapi_windowsapp-api-ms-win-core-url-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-xstate-l2-1-0.a -libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-2.a -libwinapi_windowsapp-api-ms-win-core-windowserrorreporting-l1-1-0.a -libwinapi_windowsapp-esent.a -libwinapi_windowsapp-api-ms-win-core-debug-l1-1-0.a -libwinapi_windowsapp-coremessaging.a -libwinapi_windowsapp-api-ms-win-core-rtlsupport-l1-2-0.a -libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-2-1.a -libwinapi_windowsapp-api-ms-win-core-delayload-l1-1-1.a -libwinapi_windowsapp-api-ms-win-core-comm-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-winrt-error-l1-1-1.a -libwinapi_windowsapp-dxgi.a -libwinapi_windowsapp-api-ms-win-core-version-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-psm-appnotify-l1-1-0.a -libwinapi_windowsapp-deviceaccess.a -libwinapi_windowsapp-api-ms-win-core-memory-l1-1-3.a -libwinapi_windowsapp-api-ms-win-core-console-l2-1-0.a -libwinapi_windowsapp-api-ms-win-core-fibers-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-handle-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-namespace-ansi-l1-1-0.a -libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-1.a -libwinapi_windowsapp-oleaut32.a -libwinapi_windowsapp-webservices.a -libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-com-l2-1-1.a -libwinapi_windowsapp-api-ms-win-appmodel-runtime-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-winrt-error-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-memory-l1-1-1.a -libwinapi_windowsapp-api-ms-win-core-console-l1-1-0.a -libwinapi_windowsapp-crypt32.a -libwinapi_windowsapp-windows.data.pdf.a -libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-3.a -libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-delayload-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-libraryloader-l1-2-0.a -libwinapi_windowsapp-api-ms-win-core-namespace-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-synch-l1-2-1.a -libwinapi_windowsapp-api-ms-win-security-sddl-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-processtopology-obsolete-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-psapi-ansi-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-synch-ansi-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-sysinfo-l1-2-3.a -libwinapi_windowsapp-d3d11.a -libwinapi_windowsapp-api-ms-win-core-datetime-l1-1-2.a -libwinapi_windowsapp-rometadata.a -libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-2.a -libwinapi_windowsapp-api-ms-win-core-featurestaging-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-3.a -libwinapi_windowsapp-api-ms-win-core-com-l1-1-1.a -libwinapi_windowsapp-api-ms-win-core-file-l1-2-0.a -libwinapi_windowsapp-api-ms-win-core-sysinfo-l1-1-0.a -libwinapi_windowsapp-cabinet.a -libwinapi_windowsapp-mfreadwrite.a -libwinapi_windowsapp-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a -libwinapi_windowsapp-api-ms-win-security-base-l1-1-0.a -libwinapi_windowsapp-dwrite.a -libwinapi_windowsapp-api-ms-win-core-windowserrorreporting-l1-1-1.a -libwinapi_windowsapp-api-ms-win-core-io-l1-1-0.a -libwinapi_windowsapp-api-ms-win-ro-typeresolution-l1-1-0.a -libwinapi_windowsapp-api-ms-win-security-provider-ansi-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-winrt-robuffer-l1-1-0.a -libwinapi_windowsapp-windowscodecs.a -libwinapi_windowsapp-uiautomationcore.a -libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-3.a -libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-2.a -libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-1.a -libwinapi_windowsapp-api-ms-win-security-lsalookup-l2-1-0.a -libwinapi_windowsapp-api-ms-win-core-com-midlproxystub-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-synch-l1-1-0.a -libwinapi_windowsapp-ext-ms-win-core-iuri-l1-1-0.a -libwinapi_windowsapp-ncrypt.a -libwinapi_windowsapp-api-ms-win-gaming-expandedresources-l1-1-0.a -libwinapi_windowsapp-mf.a -libwinapi_windowsapp-api-ms-win-core-localization-l1-2-1.a -libwinapi_windowsapp-inkobjcore.a -libwinapi_windowsapp-sspicli.a -libwinapi_windowsapp-api-ms-win-core-file-ansi-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-enclave-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-2-2.a -libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-3.a -libwinapi_windowsapp-api-ms-win-security-lsalookup-ansi-l2-1-0.a -libwinapi_windowsapp-dhcpcsvc.a -libwinapi_windowsapp-api-ms-win-core-localization-l2-1-0.a -libwinapi_windowsapp-api-ms-win-core-path-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-versionansi-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-1.a -libwinapi_windowsapp-api-ms-win-core-sysinfo-l1-2-0.a -libwinapi_windowsapp-api-ms-win-core-timezone-l1-1-0.a -libwinapi_windowsapp-api-ms-win-eventing-consumer-l1-1-0.a -libwinapi_windowsapp-api-ms-win-eventing-provider-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-windowserrorreporting-l1-1-2.a -libwinapi_windowsapp-dhcpcsvc6.a -libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-0.a -libwinapi_windowsapp-api-ms-win-gaming-gamemonitor-l1-1-1.a -libwinapi_windowsapp-api-ms-win-core-kernel32-legacy-l1-1-0.a -libwinapi_windowsapp-urlmon.a -libwinapi_windowsapp-api-ms-win-core-localization-ansi-l1-1-0.a -libwinapi_windowsapp-mfsensorgroup.a -libwinapi_windowsapp-iphlpapi.a -libwinapi_windowsapp-api-ms-win-core-rtlsupport-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-file-l2-1-0.a -libwinapi_windowsapp-api-ms-win-core-featurestaging-l1-1-1.a -libwinapi_windowsapp-api-ms-win-core-processenvironment-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-fibers-l2-1-0.a -libwinapi_windowsapp-api-ms-win-security-base-l1-2-0.a -libwinapi_windowsapp-chakra.a -libwinapi_windowsapp-hrtfapo.a -libwinapi_windowsapp-api-ms-win-gaming-deviceinformation-l1-1-0.a -libwinapi_windowsapp-api-ms-win-shcore-stream-winrt-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-slapi-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-synch-l1-2-0.a -libwinapi_windowsapp-api-ms-win-security-base-l1-2-1.a -libwinapi_windowsapp-mfplat.a -libwinapi_windowsapp-mmdevapi.a -libwinapi_windowsapp-api-ms-win-core-profile-l1-1-0.a -libwinapi_windowsapp-api-ms-win-gaming-gamemonitor-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-heap-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-heap-l2-1-0.a -libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-2.a -libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-util-l1-1-0.a -libwinapi_windowsapp-api-ms-win-security-isolatedcontainer-l1-1-0.a -libwinapi_windowsapp-api-ms-win-core-memory-l1-1-2.a -) diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-advapi32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-advapi32.a deleted file mode 100644 index 2608a19b32e2de1d7c6111f42a50558054c27be9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114618 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-api-ms-win-core-localization-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-api-ms-win-core-localization-l1-2-0.a deleted file mode 100644 index 7222809302e4c367c437ec634d0f8c7ee150c47f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3604 zcmeHK&2G~`5FRHfEoq^Z0EwfKK;lpbJ89iis!&i*NE~{g7cN^jb{eaW9mR%3oH%pp zfg1;2rSHQ#P-bRrXH&;C7ZM>ck$2a#-~M=ZzMaXlBWKj@zplU1XT{pLZ2Xz_p{|?U zrIxzhYT4<4vpN9W1JJ$!)V>02Y{+MG2ViqYh+`p6V{a6T6EE>b;y7|WG4?}e=nGW( zcH0(#e@;)T#mbGwu`?VBti!7cb+t&>`cne!ZJ416NIFI8yVDN=-K27+1 zFT>WbQNw+y!t+Voex@hfMmg>v!@b1D)*M{ck3M4zVgr4~AfGW*pD_Zzlj{EFSZ20G_5EL#IB^ z>odGsE4Z9RYJb)yT-Lr_Z=qrxsHFQ~o$d30TZ{O8pKnxzqp%M_FX?{_FQtY(4_3ep zwyxv`*_UiO74_bcdoHkr!I|GvO?(9yb191o{KUp8V#zWiR~j#ap&W5_R)Mt zhzaN8Z0u&CTd0#_QWaME_00=yYmP+{Z`Sm)_M@fp^6S1Zu42 zcmpXH*g~{QHPcLENv7eio?#GwAMHUhj>ePFhe`%L;dcPK8Kh=6)lgM|A6OQ%qLO53 z`FWhe19L$hSpRu|XDVGi&-rp5JjA}vf;<4p15Si-82it^%7aJr0Vq=*sJT}KzGI){ RL7w-ke;E|z(*MiUe*@ibZ|(p9 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-api-ms-win-core-winrt-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-api-ms-win-core-winrt-l1-1-0.a deleted file mode 100644 index b8f9f7a78eddaba6db41e96dc8de4b81e0eef3a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9754 zcmeHN&5zqe6n}B{i&ZNss8)a~>axp+P!sGW@dl|vDU}Kj($mRonil>HtD)-#J0+L8-fHq=UEf~^fb#&=#{er20iOAr=d+gqD4*Nr z`T1J_ls6DZ`NcnYzVJH$<%@suytxLjxn|qfZ2M;D2BE#@Ms8qV^Lws+*Bd$`&qkqV zwJdw!9Z(ihta|?4&>4+vtcL^l#2wfKKMv_ayXyz6haj>Crfu4W?bz7gu?x1{cb#4- zBZA%WZw>?Zwin{8uKU5&krPD6?l8L1zZ21Yw;Omr-tov*LQ-$u(2G20;N5rIhJ0;W z-tjx`iGSo??MB{-6M6pdy3>vPz;i=+$f+ReW6GVI+sW`Vfk|I^cVt@Gu8MFSe>c&9 zq`kDXR!`tGlPSXn_r0vHv5XIX2xQjgqw5o;G0IvD%)o)bC6 z5O$^w#*_L%7|wvf1HyUK;Z|deUBbo^-j|$Me;n5w%L%tujN2LGwy<#~2RA;C?5`b% zHDrH{*iVfhstwGVSu^Ur!GLh}LvP@U3;uZuaJzEo9E}A+F6)nmt4@qbFj;q65k}Hm zwFo2WjPy{gP?=6buS{RdcxnoU>543(TDg?&L>!HKCyWMPU|H(Bcb(aKU)|PQ<~tc% zxA1wKWAj;>x2>bM;|X0Nv-KB*t5(fK68u+$Hc4$4x|2^;SrZGn}a#9f@zntg7ix|O_Kb!;rE>32?LKUo@!z$z=)N+ z(BMyOlo}G05_yPNhx08oFtr%zX8D#Kaxg5BZ&_tZ`VMWH!alNa*$PO4;Tv4W^F3kr zRO$bpZ;5>YJg3tOo+wPcwf5f)Pw>GzwlN`Ch?m$pfW$ z#O6%*zMTiHoNR=6r?9 zn#G)tg*8!CCUb5{<4$8vKOdK2PLPj_ne!aZPn9{Vj5*1Q1}|k6wx~?mpb20~m{R8g zR%-A)){H61l&3B3=E4F?jRno^3=6(R%b3N2eaU*tWWndsxYJk=<>N9e_&OgKv*2ZX z(yA<2K^7D)(6JwS=PoKEHu2smC5-rh3s|Ya&sZZP3a2lxD;_cL*?c%eD-8smn{nU92oDh+3 z<1*HNKOYxc{{?)?s@AWe_2+*#TWlui%;IGxyeA}7Y48)4$b|f<%dD7!muq&IJw9^^n8cbW$o5v1#fARH29-xPXL^khpD}+96h)II`W8a_S@W zO?ZXA5m!!>nb~!+Y2p?R;ElXHJNxZVzWv7I$A^A;JbK-FZmt&h!1eIwcx}^kcu22J zbKjMH)9kkZpaEcf!)6Z9{7H`xM?!qc!ZZ^f!aPjHQ4)mWG@AOeNT4(Fx}J!m0X@o# zO^}>s{%j_&oyOrjj0M3b8BG+&Ny;mvxk!`2$#96P#;$OMBYc4iPeKr46#Bvc-5SKl zUao2G?&oj-AgIB?&-+E`?3b9BbWTd%OD8!0g%e5Rkh+~{!52H9#6MtO+d@+Xp zxNs=H&LeGGzqU8QbPj7}7>&Pr8Ajud_^2CHuNK8G^R|UUH(;1EQbyf)wz`Pw6{{1b z1{km?(kkMVv_JX_?RWP(YufklULNrOYE-TL7m8kZhz4nYS80aseUtVJyxwZKMJ(y# zg-y7^zTWPjqX|^gTcOGP++*uclt1EkD8jL@ieQ+JPNrk&VeLT$(ZTG>=pcTH(`C`$ zKJv_K@xtIj`P5Rx0-SLzs~Y@3qnhkdNdUGe0yBq-48vQq&;Cm-0-H?RIjWqJKWSdq z1$nmd*~9VADiWwM|6TT3WDC0AHf}c1_Jw7ZTFE|?J>$)|MFi4%hlrVP#(6l*Wf$w7 z!YCIu=H=B>>RntcePnI=VvxF|{Yb|Eckz)tQ(w1qu4&8qdOiX@dvo>y6&K7D?Siwk yjI5$t%SS8G#Q&4dAfu1wQ=#2uG(F-z0IefEuat+H8hppP>{ICG52Z??vh^Env;}wo diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-cabinet.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-cabinet.a deleted file mode 100644 index eb78e07bdb5d90c7c318c58e2fd9f6241474055f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14798 zcmeHOQEwYX5FVeCCN)W0XjQ1Fzzqqi1TtsGK08u{EIC3%%0q#I5L8^8_)@!dY|D0= z1PbH;ulH#@g`JNwP-?Ctu- zt$Kg2`C;aRY%t_Yc?*B0Rm^5hRwSp{Y~Czc{E3|m0IUGaH2@Yc&op^lJ^`S3=_!ww zp8!z2`k2RSzXMRb{x^?r{{}#D<%q|%I{*}KVx1JGTU&z~A6T!0 zK^op|I)h=qdn}dv6fCXvo%)c_z{W))&}FwLKgMrG*Q*6zsv|^RsUUXy)qKHgV@x3@ z3xOz4j1+md(pv;bwRU&l1YW^^+t4CL^lHEt4sr(ypyAZ-4Rc-J#Ei2odDFBkv?^Ay z;2NWy%y#M=niqgKQUDj()qE;9bdHAXdVG=vb0^oR59{MuSV2W-gY^cBK6s5u7%8$uq9*ZXMFqzQEr&A;qHF&iX zj{$cvjmz>AdYeo7=+nMV1L+r*m=My3|;UN@Xw^n@lWz4nTjCW z5B|=IMlfa%+mw?|0({LqJe3e`4U&9s5zj#o|m*}fpz@} zB9)v?!mT{EL|Mf6K9=veXr?S1-yGoEY#O5?Hg;cX7sOlKDP)LVZ4_~T!b-dmoN!%9wV1G-OE?9%&F?g6MCPWjlSP-eiNm`3@} zT26L6{=d+RqNZLH))l?@3B?hm7k6E(PjWGn`M+hkiJpuMgyf=<35VD9e3jQ4DN^ zv6KxjiW&C>UEG&uxX1D1@b}l|KJH(`GF{v+aoh`A$Iy{npXhabe+mNkCMU4efS)nv zxEEa>LH$TU%$U#XVZOYsVt%$JSoJZV#c|ce{3|f&lWVg5pEZVa8UNcZg)#&F!qlGB zeaQ!kW{X)jOkLfWt(R$Z$IS=Rtd}!fH-rrgtPGN^8(Qn-hm!kWNJ02W?{Wf54fq~&JJ4OR=O;uE(^pu36>L^CQ6AWH;NR?KC>Ng51sqLXlrIv> zy**!iF3Bk8drmUSR~Wu|V!$z85X!yo3XBU%%yzu2i*VJB)3@{}JH9R1zq7RCUr6mv zvg149e2N_(v%lcmaoSDOMfd_C+&#&VWOVcM05ZC>9M~*1;1F{{x7$?#Zl4e{wk=I; zmnzD)oEf%-^(GzH#r8RdZ90jQ6wA#J%3m1B7?4JCzlw6EJ^F;)jr}0JRK^)1Vp--~4_V6nZebYrV@7a%-*`mABLA6n0EHD>7 zx9(1?DWCJ#r8MK8rAM+WwL8fpX@~PE9?7F{KHnp`isPwkwda6O$zr6t zeU6Ict}x%E4qy;?uW$lO4fqvvTkW=TkW-ckFN_)gvz=EqLLA=y&XR)v)7*JYyZ9HM z9FuM9wRT=P_C=Q!2TW)Btacla2RRUCSVb`ZQQ3D+Jo_S-=e3I9$S|@6z_)An=`$qo*i~DJ0 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-d2d1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-d2d1.a deleted file mode 100644 index 0929639e2849daae7aff326ce8bea75dfa38fdfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12590 zcmeHNL2ukd6rOd`rVTBiQc9sv8PrIXK#RRey@?c6E4FG?DU~8ps)7)Xv+HzCHtUtw zO#`Y>4;88qhpGoo9QXtLhn_fcQpN-tC{h>_h!a3^Sw9o z#`Er~6SO*)=Reew!MtQz@H4Est{cRXQ(ZR=!{Q}2=NV&fGd5de?C772%~yFmd7d$h zul&X1soxpH`1)@=o`oFaxj%S3|0`n{-_vB+Cc_@;1C)(;uYjkccRA z!`X2+cHDb6oG|eA8#P0&D}y;K^RXW~p({$6R=SkJ#&XvOT>g4*&kaIvtLr9TJ)2J@ zsf1`P(Oq6w%t7gEZg?$l+Me4BZ@7cb^&ZT)=LhS)*9!+%1An*a`@O-s6Sg`HD^c5| zC9$<;;KE2;by}exeAP$}h02RdTygijmfQ5p-et6x!b>slf3Wk-re13IbG4skqSsz0$x6h(VeKfR zu}>i_#lFuIc00wfTd$i6b}bn9SLwZHUo>`M#pMB(M#3)Y6$YHwEbJ09l}K`tE~G^0 zFUn=nk%m~GqZGAzj>hLCJrzNAhZbKDhd?M{+hON!Z--L|TkHj(pGKFXAIBHRG!C-$ z;P0&H0|^h2jX7#0W49^giN=10hf=m3&vh3g_D5WQ28LmnHBzFnwtuB2>CYT>`aWP3 zw~UBbc~+5f4B`jCzbSBxnO>glk8Cy0&Jr~Ch14#K*NBAeUj~^@wp^q?Sl=qh1le*H zuqm8^v>{{!2{QfZvjzP3_;E}_9m5qo-bo@45ru6b0vSWw%EuW0%TMw+V{VxyaU2>#1|CJo z#`{ZzcW{0{YMOD*_qj68^b~U=`xheYpM|+C ziv42|_T?kf>Bjy$0_idKR|N$#jiI9wVPEcc>hu&qNcA=txlw*Pa< zW*(&N-Me#pJ_*YNB`R8L~5kVaW6swZ){hWxuV zWR^54apPdBH3oN)7-Efy3=L2<_8p|8F^MjxT!;)_nd``6A=KAR74?VyLyY=K{D&C{ z^@;m3gpuj>A9Q$s3^DpY;si=H_5Pdy zi4UPEnlRlvrZ)xNV-1Klq`=YGqbv;=0e#LY6Z6Hs`qoX=i+BJ#>v3Mh|K-cUB&Vkp zj`{Qr#;M--6h1kEtD|_2cEXFDrSAHReIKqbs`q@*2OXyYo09)|kbZQ|Jq6{SkL>45 z{&r-x@K(zz^dZMDkG8iu$QAXYnb3foE4Wjw2@5a|7~&ORjT0!<*iVr2JMqc2F@%snG$tmRs0n&t*tS!yo5;*IpB zC)V0^DGuE|r{fBAx^~4DEw@Tn;Ki!mKI}T3j=*}aB@bjv)EDZOB^-e-?n)4%DV_TH zb`4^EVcoJ`?^*L}o^*VpIj0~iw(^;m!a~k1@Ys!OkmRx49A4Nd@e&NBWhvqgvr83EXR{An7hsN+%1 zNsiA=zDvXGCTDVlqcKaM;Wzj9c9e&?1((2nj;>-q#g}5*H$8i(-yG2cgF|LhO^O8g zz@;j(@C$Fovxc4Tniwp%1y)ekL|b4PjmrLI%hD7y$Y!<8402BIf#wVwb=;`>l z?;{4r?n{_gG#>E~;5uF^&h)I`MKly$FF;>Cd3At**BmJtB^P@7nLqUK?9Zry=Sjao zsfXStqX{cD+~;QiQn~W11Rkog@B_;s+pSUCv2pAUH4V(C(ty3R6w$yJ48bT3ywkXI zks8?4#vP`CW;`yU0WTic(*R}Hv>M1N4d}aQ=FL^*|2?8PTA%;Du%I^!-?3Eu*QY#q z6p6Nt;Z&sY-b%&$vaRo)R3`d~To}cBJ-1#Y?-O!$B=;Z1^Etx%Z}GU^2Y!OzHZAWn zFnF4aKPO_BS6UB6ngCi~51Y!tWfp#8Ez*VJe~!#!UN6jax+#?+>&0;j-RSxFB6X9H z-y^!AHIGbH@h5QFGkuN6^>p(X`$(%Bi0CHn{~A|YGjkkOT{Coo4lOui3~DAW49SW~ JM2};g`3Jt>Z`=R? diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-d3dcompiler_47.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-d3dcompiler_47.a deleted file mode 100644 index 5bcd5873812d8840ba40e11a6ce1fa83c88eaca1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22610 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 UJk*uoH`*QlTdwuzrpV0u2Y6P^#sB~S diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-dhcpcsvc.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-dhcpcsvc.a deleted file mode 100644 index 71c58f876948cde3febee36cb01311850256e961..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4258 zcmeHK!EVz)5FIBiDN!pBLVyqlBb6HpPMbQdRH2~sf|NsrK;i&w-NeOKoixO5ix7t% zIiY?B2gC)={W8kT*z2royGfz#SCvwpa4jk?a$>JvR#>ML~jtaTTGy9XR-*x1RREX+(7pl83;-&>!l(KJfS!f#^a#-w;+1cYe6eW<_DHn%dbT)p z2iDLPD0IzLQ+Vz+J&_cf-rk{a4Tl2TfoC7sp6EHS)){NdONtfE(PK)oOwLG2niFrGv3m>sf)7 z4`EFUjFZ~7?@xfi5#d~#aIqn=GuWBI_fiYb7vff=oN#mbxTeJ2#Lj#MPUueuAlXD&=7m8R7+n`1h93(2q62CO~*w&MZ$MZ#RP*TyQ!t91bD-BSe4)>b_z=&m!6fPoX2tG z8(5aYV49Q*n#Ph6M-|@uXLKW_?yNY%bPkVE|1#n;H3h~|e0GzU8o1ayWnCEOj6^P2 zMU0b;i{psqTSv?&8)u@L3-PNJVImPW`pM}d`geRhmJy3mHv?uCtwl@(xQl}v)`DG{pMPl{r}JX#hCrKF2H_>*<B{pHNR fOQDNpeC`{efa?-`!IsbcJkR>kx;5?%UR0my$x>gdn|K*! zQ`ZflQfpmbZ8hY8ohkq<0BGL;=1u@A--EmQ1Ay+OpL8?UW$dlT#~$0_J|DC0L7%f@ zdt|vbL!oW9P3G9UbW15V{exrAa$Sb)$l(+2u>PRu_Pj~YWER80`y3b>aI1g)(*xVU zwI=3ket5(^f6E$M`(9_YfeYIEF3Z&hqq;9$`_;(yZOgGg@lG>2Dy@x2bscVvj@*us z9uljdZx0Xs+Ck*DJb%>k25?vO=Czv7Kl-AdU+G}%)cTfh zp;FNGSP58JOV&||khwr5pF<*dN3+04c$j7xp+&%0pX5d176i>B{ z%}o^6_H2hs<*y5X589qJ3I$5L*g>B|h zbp=M)g}h(Z?j$FXPvPu@DZw_@#W9y+c<=`?+-lcTF>Ipk$;T8ms$YaCqbe|l8{u;I z#oGWZ%eWxlX2o!bS6c-aaYEIHeZqzP%k3fxDnK={yCUqfBzm(%_dtAA5spPf3heoV zqtP&si1-54(l^8aVcmcMWM8srT-2{f@Xjet2yhtP)DkNJ-itb@O7Ims#pRRh&rvc3 zR*6ZTfu#}9X<9aD)m0`{#P(0ok(A1_n1tyao}&JpjA&{KWK#6?COyE@o5jOhy#S?luJBwu$M;Ye?1W!W4uKi~?klgn4!+!A` zFlOX{k19Z}ul>?w~K>nzSZ|C2d j10Leusl+)TG9OAy@EL2F11SFEf78VO@nuy(|LWD>@PWpO diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-dwrite.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-dwrite.a deleted file mode 100644 index a16a066adaf7bd40c37a8af1070576395066baa9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2622 zcmc&$&2G~`5FW=VDWQlS5aPhWNN_{OsS+nbQ57kOQx9Aa2o77P-ViHp64|CHw?0B& zg*WJPaiGl1u9Hn-w;(m@MBbm-&$ITo-+1z}8zd*A!}?oi)f%mak3Y|EI*!LnX6rZy z&5pj|xDEhS0ILgN{|2ZX(j`P+h)=0ZQt?q{G7Gx9sWh@$~r+KXK{ zou|QUCa|Bx@=V4eoF`ExMIi9bQwc(hWDwqQY!L51(=Po)2ATX2oMhAFXRmR9yG5rn zQML+UdOptF>4Lg4&KjQQ`@ZA&&BlVWBkKXu2JqYhc*3I{%gy9@#^dtF0q@uigDfbA z@JbK7D|e8lx4__na1jN3)y%PYm{7&%GL7RYTr2kzZnqrQ&T)G<*ek&0>xz9hjAH5x75T|WYOirid0k_E9`op5v_0a_9Kz99Cos%LKPF@4VRgYh=%3kD z`X_#g)1{f;5B1C&8NuLO+tgD|0(|9GH5K@UgDrjF@3>;44FiyWeO zUBsLf<9u9ZdxmXKW3&r9=j!@3%`PvOJ{lENZS<0|Xg^XSz(c$g&onnjCfBs3y;(EB zte{*WKr5S>qFwMVqblnBG-}35KJa_eGpPKb`^ji`l@Bj?4nT2~=biRYR{|51 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-dxgi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-dxgi.a deleted file mode 100644 index 6846f7ef63dcd144264b22d24deca9e0529d62af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3426 zcmeHJ!EVz)5FIBeDNzv|5JGS<65Og_r>PU93PlP6A#vb>6iyqbc516`5@OSqThE9? ze}sSNmr-VB*Ul!6n}QluNKBO3-I?cId-l!FKHGDr`@!qlOLJcAUE9H*<+M%HVwbK> zbH|cn)9lv(;0}N>0jO*PR3rJX1pu``h^`QyVt*QokAC7$MR)A^;v^iolTe^BblQ%H z!U6r26&r7S61$U$z;+b*$9^Qd(}PgB0-rnbL5RS2y&IhwM0e`DiT|ee?)_VLKN(NI zH9B?!mkN(2_z}yUIkVkq7d}Eh@Z2wPQXgmGE{d~lS&rkFrnB=(ZA`!R!N4%1JT?IC zb8o|_C;n-|{bFT;)vtSQ;ub^L(*f(EK8WKLFgPPzNE1G9rq~L0D)?Ty@O%=to7xGt zS&VC?xGn5#Ey1OJ;zQkwkZS<-VHo+!@#_-cz!$LAjRuEXqr zk3@u{FiT*V1Ybvo(!$(=TVOv&SF)etOEH~^etO7v&gBDxQ)W|3841v1EmaAAVrMPI z;6`hUs#=^sv4vvGBwBU$x2&d?KUMzdGvp{0Tw<)gt7O^4|2F!2ipSKL>pT0ivzm6N ziHi-ibzxQ`=Fa{$Vxr}^EPrUeJ;WR@$2sU`d4#&7Fv^6Dd2#uIM(5`<8{SSJSF4$! z#41{kSO`GptBf;^^`0JUTC$w47NFNot_`4A&5@#2@F}exs@&A7#au4%chWn^+@a@5 zXmyzjPk9VL^GFL`Ffu8@59}A+T&}#UUhnOd2 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-esent.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-esent.a deleted file mode 100644 index 2cd8067c0adf725a0b230170a01136ff316530b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90310 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-kernel32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-kernel32.a deleted file mode 100644 index 14873d309c899deb6e039e95156bac5102f34999..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 433322 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mfplat.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mfplat.a deleted file mode 100644 index 74c7c8ac0cf1b5e3c42df9c31d5f16a5dc7372ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49798 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mfreadwrite.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mfreadwrite.a deleted file mode 100644 index 61958f3d4ffeb8aacc196bb0d1a0f7e963675521..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6284 zcmeHLTWb?R6h7Isw#JGg3VkTDN)0|D^}IcUQh3K8P@Hlv1>G0t7aK`bnwdZ73#u1hIC!AZ$r}jRnZ~YTFx)S6 z_mc_oOfb2l6GnjwmZN+^5sT}8!Q$d_!FfDaQZ9=%^uE~3)Jd~A=lb&^Hi*UZ4m0TP zhOyYi%e92_R3Z1fZNjNv_+97GLyXC}0yVq7({2b0XBeD- z2Do>H2FSnUQ$NYi5wYfgDmd8XH`Sy|q!;Kldgi3owjHJX>W32+*-@HhRJ zTe8n->SQpIfE-(S+yIB`++#EgUM0m#N3l{Q=~D>bFRei+imsTLg7#MPT5O5TO#7@L7P!&`dU_ zW^zHzyh8#Fi!@KAC-gWYO--8jxJc6t#|0wI%W#~hnFZuP+(?t~HPiR?1iwp7v`(%% zs_=DEb}UpW@Ci#_CxcrrWn+G%8pru76H^uWpejBhQ--OcDzRyts%T5|9;b@^a9ltY zZ^Ln(Du@wrRRIyI@V+T>4o&Xa>jti$lCO>pVc?|#U$Bl)hv$N@5Ynfk0p#f7#~)qz BSvUXy diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mmdevapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mmdevapi.a deleted file mode 100644 index 1fa5240c3885b190da597e585ce3f66a45c1c619..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2678 zcmcguO>fgc5FIBiDNzv|dfklEYz zo?BB7w2J_+0bsSz>;M!#(j~;95FbK02}Mgrav}~#z7!Y1&>IH=oq=0(ML#&DOL@`w zql?fRj|JLcUruFT3j6>;@XP{u%%e@K6v=N9kFz@) zoOa3gA}<@lkvce6rPDB60fQfe3uwaKipJsw!v?;W*?7Jfx3B$#+sejOHSP%xwo`CA zesXdor;XNe>8RNxU#T1Pr3(JJ2Ka1sy)*4lev>PjI)7t+f|)$!vM>fm`7DgV4}Ejq zqJFU{4w;)x4BdiZUTF98)}zHq)SaH4Fgf^y{n`{(q#W-3Lk?G~ZjDQnDq zVOL7G#vI<$%i-a~Is8=R1?_EG4r{z=4P2rLGp@&k)8m_V8yy9pp444nerUG~cgpS_ zAAbnP#+d@$sCPa*i#?oQU^4xm6u|7p3Lt)o(|I#bk@%gLG{In<-DF9X09ZtlmV@6o zUfaQc@3ll#D%MfxP>aR1suon=R16&z`1^n2Hd292)6o`sUtzqh@|nyUb(Ealv`ZCS z?2EB3%xlI%EvO+TO2;KSqWKOG^F1BsVwl@=?CT1nTxjg8>z8zQc{%sd=$3kpQOYt} zm$DMzAzm@xbZ?H96t!GIz^tiUFF<8EGe)cAwP#)nw1-((&<1}my+f=edY&46c&v?G bz6T)9$Da4fLna5muwV5@Izz+o diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-msajapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-msajapi.a deleted file mode 100644 index d74c3142edc861365b62365849f0ea613ae2ca54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 500448 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

    Om*5sT3&li|Nx3>3kR@}?V`gfS6 zq>R=3X%3v$vFpOYmvCOmdQcCy_t3plX@qOV3X08U^GZdTDV%HjG41RUp{Ufu%UDdt zorN8*eQt5kcKhC-+Oe=&v&&3#IcW2}K(bAtTGwYeb4ZM(dI+XkqrCI?(CHXK!{zkO zpXKh$+3f`HJf6rRK`ZgvVLp2IZUvhA2!Ummxd*#(#59NMyn;b%kLd`>4HMP!Ntw0)U&-8^}d6y##`Rhf13 zHD{sWZ7l`84(yok`NNnGU=~_!^lR-9ByalM;dH-*n&eO`fu<+>Q`CjUr)P;^94zE2vRkj+uX32#1!(iJ)icRAo5;S r@*Zun(Zf&Fsb diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_shfolder.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_shfolder.a deleted file mode 100644 index a254a364400ffe78a97fa7bf953cae00fdcefc07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3292 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_slc.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_slc.a deleted file mode 100644 index d785e65eb1fd2fbb6e9c1ad1b262d48dd2a976e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31846 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_slcext.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_slcext.a deleted file mode 100644 index 43f3b625c3cdaedf2685960e764922d8f64fa437..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8992 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_spoolss.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_spoolss.a deleted file mode 100644 index a05c7dd7dac04e9d2a2363a8a22130f66b349287..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159710 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 Q%P^{IxFoaG=PRB6KTz6MlmGw# diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_sporder.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_sporder.a deleted file mode 100644 index 6366f0d4982307edca5679f48be35a3c0a90bb9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3328 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 X3ZvYszR@=={X@?A#~{1@vVH7d{&0P+ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ssdpapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ssdpapi.a deleted file mode 100644 index 5e54d889786081c769e9a7109b4578b1fbbb1f9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25090 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_swdevice.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_swdevice.a deleted file mode 100644 index 6934d38518649ae7738c243b76da4c3ab2e8892d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8984 zcmeI1UymC#5Wpv!yWSDXpQ6$tC{jS>tqPmuvPn^eA_d)nbd^p$KnS63au?^aG?zrl z(v-id5Dy?8=o6oU57B2nRLhLL_ByeXY`JZusOQM`W<0jn2+E25sg~f_`fl_$Um#n&~wd;SbYcE3r>grwCHg13Geifh5JE=g~2JS*J4d; zp{#Q-8VuPe{2uGpi>290v!$}uXMHqBr*+J*+F{rVnWe5>$7taWI|;_vTD@f4vT9*U z$7o^dCcW7qs77YhWIKC{tTt09>oi7;23*OAv+2S14;ip z>Wi-Hc^*<-((3rCsN~c3)LvEW*ELxz$ z?LxDk&Ac+*Nc2y(PC5>JifJ1DjMLgpPHVMXHE8wF$~2qAhdu*bWJ#VQttHtVK0G+B zZ$$*qEZS(5`g*SEDf;ztc};rqdN#j^f-Rtw*6|j%56$aVB96QKS%c~rI1|tbyWjQi z2?-|&bW5*@b#7h3I@yhYS%J-7(cd)ZBwSFP?`BT2U zhB{5Vo?0E$-YwMm)~@GaF%PsJ>XA+)!Yu#z=?C=h(W6*~&k#`iB+d!-L0kd6gi+X* z{_9u9nlQaR=+8gy+acnVTZekdN=fXurG$@oif%qOx(Bfus6GW6q@eo}|Bw4vCAl6+ zD0AQh)9L-6WlMPWU8lx!H5tn_-O~#zKg3}zWBDtMfmO16r1iUq<(^&7VEMjXPqBOj z=PfDATgbApZRfL(UIFuUt_|CAj5bQo{60bR?3F~cS6y?L z@*8@)WuE;T%_FYTvv;(97kT!fUC;3BKiKsY?KIm-J^QAjUA>r)?@-p7`1c8H46%3L z6#||*@CW9Kcw^`m?&s*FN&n6{{WvQEZu|Qi+M}mQ|AtAwe7E-k(l3Xe_|<2sJDqYe z`irLT{~f7V=KGtP&s?SNpL3!#PN;OsrXaHU^#5YlQ@%fsZ6x*mS(AS4>Av1O9)2K4 zTg3iou6*`WX`M?wGOUeY0`DzsCA%yUcvh7 zyyJhS)2%ja^K?5~nC6bBn2hzR>GOZWiC^aPKi7QaDt-Q4t=~oa{jOcl*zb?*dW!Wo zo`Lm@VqJV1q(!vOoL{8@V2J&^D+D}sfIbx}Kd*famG3B{kDuE2(=_>Zlkx4DZz><) zoG;`1K;vSSe1EO=yNK_$UC-dVZ`V_N)3>>#z8qq{>4WxKv;Ag7a?JLPNJ5zd159JK M7k}1I;fqx6KS_g)*#H0l diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_synchronization.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_synchronization.a deleted file mode 100644 index 99a0914887d1df1453bcb7d991a875fa5e21f1a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4154 zcmdUyK~LK-6vtoMva$-a9i|Csmmsm*+NGrpMM6^=-Uqa?giGV$I$4R zU6c9V0bSA>od<_**blrPR_yfyW-(NsIKY_eSoRe91GZ}&J8#d|Z98T*NZb9jQxgf#a6L|xAefcZX86>7#UoW&Z7>O+KIM;l?uL> zns|Rg*GcT8n=RI@B)TQ6%;o5kb_A+^64eo+`e8qG>KvoG->kRlM#J`f(lw4e-;ode zxdHgB9U%!x52954N5hqGjY%riccmhY;p{!A!P13L2Uo+S=Lc@JUM3l9~ zY$x(A>76ts*us2@>$65AyZ=D)N~bwQvWeb)%HOtf-z2xB)8H9ah~x!H0?lR~$%$Sq z6lkiruflv9NHW;2xOg-WAM~ zf61qVr0yl+orhKd7biSZN$U{c9nVEpg5Ow~V%V5M?2)mIua(Ha)DjD3?5@AsR@O?D zf8ZtZNI{tBRA-PZ7?|M|wttk&QlbC9T|eEWX(rk@*nu)G45CA3*YBdn&)21Eh5B1V z&9{7=iOoDc$Gj&s(u9S6ee;s;uC4|)A|(^cMf^tr5k%t=aR86;5`Lz8wWj)-hAa=q z15l$T-~B-n%soY;;8RK@l1@X`!M7KQS*l z*^E5)OzqG`(SZ}+oRIkLF!2}o!Q+VEkrYsIm&AWk#vMhxo39%pKFrsp#M7=hDe+pC zcs!#%Y}yy_+bIobPlGjDOK^dCmiDm+_UUtOOvw4l;2+hdCia;#ocnQ{Z!3Jn$I E1@%Ua8~^|S diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_t2embed.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_t2embed.a deleted file mode 100644 index c8348f27cfd8ab9dbac54e60a3935bb70bcd85a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13036 zcmeHN-EJF26h2<(uOIF!>sCWt zySt6+xzF>%p}11C@XuUc&F4*4B&Yd&(JWfL#&!+>E(6T00nGgkkTZB({0D&IJAd(b z?hgQp@BPW+#oqxaUiyv4%P+ARj8~3$TzU>b@oJaHYqtO>eujNfG#4p4&bs5=>v`Rt zv*q=@uCv~$d(Pu#+dXJHnAxu$f|}-`hB>Rk7{n{(%!wuBsVbk4kO(cE_!6&@}2^eY4Z<*UDzlnX=Hf zZ}xbNX8Zm|+udnV&F-eV>yaAdPGbdCZACZ0M}5QV-|-&Pc<)e`C27oxBHPAHF=YG4 zgP}pH%A^`xEjQbHomxp+2T^OJ+_t$&M0aCU6D@_U(3;Q$H@ltv&1TE{vbItRR%T4G zR1aZOE-Nbd`I4ksj^*0+S6&OvfzO5ys8*E5F{aqI*Bfrv?%ZoPchQb&C21s~5~%OH z-F~4XsAC*w6iw5zkS(lI(I=Vh-0jR9(grd>2HAnV&1MRH@37C_$0vC(w+m=x?sySa zQUmi8AqJl+*+@Rbiq(Z&b zg2EnR#xMByHNgGMp8H^s;pfYGqGq!rZIhU+BP3+CjHI9JI2lPdG~aB7(&6CikLhI= ziy~y0PH5$`8PZBP3|c1{18!iN0K?}9sf}YGwX(btLaK#YewPh+=1n8DG|=05d?BQg z6;Ys7R3ViWjwF(tK>mmb`+QRYA`Cv1b-TSJ*AYB>vwS@;0cnlIyL;UoX*^(XY-OZ0Gqa28bl-^L+H5NfDT zLK(mrj9l0Bzx*cao4U=0xgX>&A!B;*QOmSNy*m{@#Qj59XLF@7aND5z6sUKO zb#%{Jpmuo9bw7t51{`4;;S|R?%@aH9^gUphFKJ@FT9v*BT>D2j-8jsD4BE_%z@trb@iaKbpcn zAzA69KTZYKi@I13^ZOL*O9JZ`a4mJQ{uW|=^v5^>BhB1?i6(#{zLI;SDur161+rKitJftqJWW<_OZ`T%`k`7b#Ogn(pO4y%&iVGjd{I)pE$UnR@Xj^Wx_@!o|@L zokS5x((KRBE)|8qixz=n- z;oqvX!xzW+TM|>ACgXoA^&7?b@-C_*7h?P|yPksa=}v|&<7Z{G<1uTRJ@^Ygq63r{ z1jfmJ4@OWPbFnNrTzlbDKOnd4;cI$ s+JdfU0*LmZ8`fAi%`8s)P80$b7nfEs*ML5z$l^m&j=pX_`EAMn0I?7PjQ{`u diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_tapi32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_tapi32.a deleted file mode 100644 index 36123f3f8d89d1cb5f9092b859805ab0d6e92763..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 223330 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 ij4P}(y6MDpzPA2gebMN~!kYvi@&Z&*VJ- diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_tbs.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_tbs.a deleted file mode 100644 index f61e08de804b367a7523c229702e119e74f0c253..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15378 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_thunk32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_thunk32.a deleted file mode 100644 index 0fcb4abfebaf2d7824cb6ad21566093128ee7faa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52116 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_tokenbinding.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_tokenbinding.a deleted file mode 100644 index c42846dc19d9c4730917a5076e879e80b8d607c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8532 zcmeHMU2oJz6urBf5Qu^(2qaVxm@2%X#hYxrsf3V8QbGs~l^XhlP|A_@%Z?T=lYzvx7HzhmSMZFa=bSo~O8fPV!n2E_ZqCLO3SQ3+P1Mr~O^g!r27hfbZP9g74&C@@bmX zc|$yNMgbfgbD55$L4b8$ilPeduu@jk{@l1P7ZKB3C83R}#icTAZg1H?Dk_=cLwkcv zq$LvZQhj&SavbwDy#7$Kl@8XIo7ZX{2{hL8vC=aLmC*f^sCU8oANV=0m6Mj+vV{&+_zTM+OUfe4 z&T`hjiUOQs3TR{%@COclm;$yWE9mew74TT;_b3HKW?V)Augtha0TzzWl^CqbWLCg2 zO#zvYf{|7M7d(zWRROJT;v}PiIss&cKlGDF`NAsYTTs!$!dMIVssxSAUk(%v%GAPS zo)*N1?f+H_>34lLC@7LqU}bBeSx^hD%*tpS7iN>VfSYE89K#)Z40ftOYI8;{!R$h0|Sl7i+WcaHXV%2vXBF(ugZ86}Lr5mF_5k8il>3aMsP z!rBUvWt3HLnFfFXhS!DA7>$D^WQGU|M5N%e~)>Qz{0CVS3zLlzw#sHNNeCK_mZlCA^Sw8 O-)IfL)0<)CXyIS;la~1a diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_traffic.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_traffic.a deleted file mode 100644 index 29426250c3e3305870fffc6e25cd4497d7ebac28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18952 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 HV3z+kI1fYK diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_twain_32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_twain_32.a deleted file mode 100644 index c23fa15727b7ab84f874b44af9a2a6298b4dc0e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5532 zcmeHLOHbQC5FRJc&^cCOZVZ~ue;uvZ)V4NzGSy|8*kFD%y7w-au)t&i&@je ze^~U^Gz(?%Y?|9?0GI|aegRC>08&3hO;-V^&diDW;12-R+22$dTVd=|$7y$1)$yG+ zTk&cRJ8@g~q03O{T8kEIx;s>*)IYJ^7AxeL%@B6r0Amfut_`ygu&uS#=3ce!?N)LY zF6bT{vL4w+tM09P-hL&QSAdXc^}{>%w&l0KRq{mz2+LL)p4V}r`$Xl-JKnJ$1@?-e zc4VLW880weKWpW(SGR%XWIxxQ7MD0eB`EKvs-ntHSHOh6~uQ&#N)v)VR0DpbIGqz1)veTt8&j)IdCL@E9uAviP+Jh(|C}eZ2k{EvK31Vy zde%n~pNK|#(CJopLkf1!@@D|@S|NEU zCDbLr#kMD{iA!~c&!@Uquli zMbloDXH@0gOWkee8DF%0FUvD(@wiBy(Tc|fY^JY~io_7>MTyTd3%Is*IzGL?MwU`Z{|2Q??dB>9ovll|l_K4Z~ MaW!H`#l!RZA7^4EhyVZp diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_txfw32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_txfw32.a deleted file mode 100644 index f0eb04dcb3bb955759da466ffcdc943b6b29a86f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9244 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_umpdddi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_umpdddi.a deleted file mode 100644 index 3978c02866bad7720cdb01c9814c0a155c2c7b53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64894 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_user32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_user32.a deleted file mode 100644 index 433c99125fd8700baf7c02531eb26a86c6b6096e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 606552 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 J)v(kp{y#&4l&}B* diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_userenv.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_userenv.a deleted file mode 100644 index 157037f1145d42001170160e3e83613be82ebe91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60806 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 Xd|N6R#tzfp++3Fx{UEXZ^@0BasnIG$ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_uxtheme.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_uxtheme.a deleted file mode 100644 index e7535e4573357c3a7fd8e018b2ac21b5abd10bb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62198 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 UjdM(5IxeVGS##N5`A*sX4~rf>#sB~S diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_version.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_version.a deleted file mode 100644 index ced80c6d225f3bcd6db7e6e77c3bb7e49d268bd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11320 zcmeHNZ*SW~7=PmQ-$D_8G}tr^Ft8y_nu3!iPKu@}(O9QS6>N-k2u-*yafoT=R*5^x zv=L{La4sl+XXe z^M$_wC|~-6=MQ`U%KFbdf7%70{MjR(uWbNa+pw%#mi1uh42ITS$9D$St=*1e{o;D| zo@-&HYc@@*?`~5TwNDW2?s}GOA?mRMmeq6Y&I#H9YttFr+jj=PZrc5Q=V7a2Vx#Wk zJxgVXVB2X}Zb0n1H}vg(f6eVt1(Pc0`&rS%2SsiX&|X104fUn{FRqzoDPTW7O96q}~}I`CIC_YNTIyU{C&1 zra_7oIy(oRU)~KDX4;CZ7=~%$DmAN>a7Atu7I0AlTrA+)V`uY)vhN(=@*10TFt*Aa z+qcJ}09s(YC~psk6JT&iIF}l{QVXzicru6AB`4M%$JK*+!Y!ra8Ubz@PnH$9z`l9= zoBQiue^u`E`%vy8V};?rmjFK%y7o>`A?js6QM1KZ+XRz+q@`gb{}j_Ol5c3d#R8Sl zB>czxGLNP)80Hh2`C@^*l1xGCgwfy*mO1EYiJ00u0#h3+^#oH*^zz&6g6Cd0Q>%gB z&f^I&l~xfYnne{;nK4#KxRCiV2>VJnRXx?w94@kw*60X z_x8OVUc;CKuYv2#yPWIfU-IcF$y&j$Il+Dg4tPvQT7Lj*tmK6Tf8t3FfAc4Z5k#!P z*2d50K;a0wb#Mpuc!|mA*ZHKB@zF128y|;xw`m zTc|H$7sjcWxsU0)d?x#ux+^9%ALM^Prtl!x%DhCq;IE{AHL>O-&5v-LjghW_uL=4+ zCF-4X`~v$9K<)4vL)6egg8`PR2sAY`J#ipR%Fozs%-BtHz=^4jdGcm=Da!6P^?$b5 zEl1Ijl`ae?z0C{QZLDTxH-_OXZIx!)9j=07Y4@jG~6_;9+p{hk=< zNV~5GgU6!=9+srt;c%nE9jnfb)#i-VG!2}PVYKl|S-l{$x_!1-9h2*T)p=`mJtM1| z&4gATA{8cS^>;$Q=x~}^y)E@SPOJNBT!Ph4)VNTq-^cM~)#`aj?m?hrPjx(U8Lywx zNVC7-6|B_Y86GXgu%-RERBLVuUdzb!)g;${$N8Vc^+ys%PLu0hso!y2-&5lfTz{&@ zg zqbNS^b0^+ZA=ztV4`)>Iv%T<=AM3O3eXdq#F+H*}jrH`5Evw=e6s(_iwf~T5f~@xV zdSRF}IK*>Bj1#DP)g}Tv>?PGNVF%EIxmMxs7e~7s#05VXp4j@Ee1P{MM$i~0n}3u zy;YUC_3!Y@N@sTMc!Oh0GI_(wgD!wo>~+6!E*r0vkM|WSp=Xw=jM5==NB2PGxnutc6)5o zbj&WRcMOvqS#9067z!cas$v<$QJ zx!G^;7Yo&biX&SGHVcYz{&%Lc(X|fE?uOah>sq#Bb=q6fGZ#W4I%}h!7Z7~D-Zgc{ ztn0SZ@0wdy+vpr^Rf`4hl`les_ti!|Ef6)^uD49R-M6bHZ?+*B7)N%)$#n+Aiegk= zRW%J+rWFeVMtw-#Ls9`Or2roB)?_N@n8yxpM;BR8cXEdA=+O|~Qw8-jx7+KDfWc3~ zSv25E$-_=yV*=kxPJBFpD|>RnO-17>9_}$VWo0dTp~<$Qi8`$#M;=WxAdJ z&H%or8v4E`aOJYDXz290@d+mDNr}QpI!Z@jB>m8u(C{iM*AVXSA0GR@u|D7xe4o#FybI3*-}u;0?_~JOj9oS?HI3%dLQo1Y-cm zQIUImaCyr$M6;wliSNxl319UP+xhzF9fWnz^OR_zg6+@vZ(5TlS#>2;DbU9RNxQRENbbaKMCBgj)cB}dAfc$%s7Lbmz zfZE-)fY=|!$;W^~TnnfKPB`Njuri1Nc-<2_1}J0!VRsui2Avyj>uD#8?@q~&0dIwX zmkRvGnqolM(nns*xEDW(M}Yj8|Fk_LG2p#L9# v;rjj`|1}WX{{#4U$z*%C+2=o{1z_@h{!1a?r2-wSnZMkK>-5C#fTsTgn{gM! diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_vfw32-avifil32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_vfw32-avifil32.a deleted file mode 100644 index 203a54e49e46f1cb2896b4e6951a3f7a7cbb4fe4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60908 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 b7C;_#Ta0s9$M!PdLN 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_vssapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_vssapi.a deleted file mode 100644 index 16394ae1dc69d01a8cfa9b729d7e5498e6358888..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11036 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 BkRSj6 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wdsbp.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wdsbp.a deleted file mode 100644 index 920e6b4edc1d52a3b4352c6d21f0cca86e51aef7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7278 zcmeI1QE$^$6vt1TmUbO5#Lz}3O*0a_q2QFn2~ss>Ez>p$X+?nGVVdh=hgg^-ie1J83v3+_PfVQ*frtRE6V*C7W0NTFz zOKj_}0M=hQ&bH&+i~LFC?D(-iakfXE?>q~J?l^GJ7}#Cg34=Y_66-TB+8aBrgPJEk zIL^R#y|-=!ocmt1HNL&?Pk#S-90#LeZ^ObygC}E0?_&LqJBj?ChCv*-Ves64YWJFU z?kc@NckP@j+0EBw-SxV;zVZ&%{@}-AG+X=qzCS7Up>y+f+unj?b)(goDu!doIG;ms@ zOa1q6-r3q|cwvZ!Mn4Gs#PRPNfJe2y`#3cub~R4aY`xGn$eDnzY-qgo z8rAud#E;{$jIJ3PjtM>adX3UdxumU=#(?j!UO1Di5vPMgaN4=vEOBaMj4>%^=yJK2cq6|QLpuW)?M@KF_t2b|_nj)jSU zemvM8J{A_{2tEMm99=;=#g}556*W_cdoHoh;*?_A)9eGd$+f5q_!AEne!;!m%qEH8R&I#UQm0RsF~<>HoCbGFTF&Qm~dyleshJ+UcSt1L_EJ~mGy}rh5910 z06xJ@#F)<2qtdJ>XM0fJeVp4NA(f*(^Z~mShVq0V(e@-|dQg-zf9_2M%!_-@hnayidOSO24!C9_w}T0i}FD z*XtzTU*R*X%J;J1yR=-!CYYGx%K0}m04y2jJw6we0S9;>I4=#oxLBVeSnOwyWWH6A z`EIwA(+`k?dCWghSb3k!?m>6R@p)Edeo4#x@#g(&0k*>XW@4e8 z0WYxD@;--l;XWePuUBNflYQejS-;5Ny^{6w_$;fkUKgxqpD36H{5^vE>&jQ)u()L6`$OsO&j{8CG_2!v}r?I-0RnMQkBY%9k(t{YU0$5BEVVuuI+8_-L>|v zlej=hp-?EVB8n;@RRST9ka$Q)NJvPi{0n^IGoKJ25aI)$P|GYv&g|@gC%t%e8eEacqqc zj1x;NKCwaw#?L@L#>qB|(}xMcIQs;PbH@n5I1l+4pBrKE)I)?|eExP8&ol_Zc=q2c ze&Jt)U_AFv7FYj92*x$|A7k(j7Q25Z1Y`797UTaBg7N%aEN-x9u=vxb2*LPs$iw){CX2s1 zMF_@Ur}1~t#~6PfviJw+V~l@XV)0LB2*LPgxE{v89K^W1JiWa9eBY1z%L{(u$IH`E z$6vk>gx+Sb42ePeNPD>(tYA!2FLe5=-M|kMB=MGkwC9uMy9VGs0vK9NL(lSk2 zgP&wwacpZ1`gbvS*_Zox(L|KjvAEq&{N4#a@j71ODYxJ!DgiIMwYeF^iQk#^J#0W< zS6oNKYB=Th{p45_B@1!19(%pXVX5!61X}boGy4oE&KtpZEYWb3K#865@2VP$E{xe6(J?DotQ{b77DKUKbuGBq|lFxvbRF ze)2-lqdarU2RQiQs!!oAVR8^%UeoiTmn44JS@Pn*Tj|1+m3s-Q(G%r$Way;0RBuAg z&daHQ6Qu@RS0%{H(&jIL91NmR1|yV|vy0_UZ*M9*m=((MiX{w9qnF9@iX|4jWW#i0 zS)N=1SObN+f`she7Ce!nSo$QC?QbHFs84|2W`RI0JE$1u6-&%}{p3W{3DyF?b2{i5 zFRG)HYYNx5kUGrg{+zf=NVHtNCf z^lTJ_sEEWpdKWsTpD_~hy8O*}|{UkENw-UQXZdl2(f~7zxw5fR|7D z7ujeeYi!88g-l*%Hi-LaA-T~|sF<6T>cYSwj(R7&1QgD29n~(HuE~8=+*_O)I&q)YMk8 z5yha2rrjYkj3%FSw*0k~WGKq46(%diaI4jBx0}uO=vZpjIJa+p7fh@nGU6u9KC}jdYD)0l`-H6TTJv7Y64G?B zzp(n<(lwAw>?<&<=xKz0+HIl{`Uu;-dlw#yA?-)nKi5Fk02H z%+G!!UG`f(-v9}F2_BK3_tO5kk^Zv5@&>g_0XYPU3$m7MY=tke6pAMD5#XKnF2g(a zFZL-9qTFEjtZ)D&&ajMU9<;~@d?T*JIeN> zBA4u?O}hk0+(&<@TyhiLB*lEDw^9|EA_GP> zI9Cz#_rQH);Ft$zSRNYWRrsA^zR+w7SBM+`jez)ZOT-V?h=-@f1bIGlxGcm^NQj5| zs*m76=~z|7-;E7`z!86hCD3Dod=<_T;<4E~yYZakeas5)6D@GK(||KpCgER$hrg3n z^LYjkijym;)vO8E9i-K4>gg1%=4Cxyj(3!Bwi3Rb;yv?~a$jt!>VroEs%ygN&a(!#JrM{|3%@tgCu{Vr&A>VD|)&d z`S{drCI6U&e9;__K&i6Ea}XN~1jT%cNYYA)dN zzYG_QW?Z0Kss$*iG8a6MVxDusGieH*8srCX%(y_;eA!E7T+ZfP4{F)*K}#JCYCVYa zK^Z-0g!4ghffq$eb@ib85$X^)4@}bk*`YyRhaa2=icMFB0o~#^*VrFBYKQ$=6QYlh zDMYHxr_2~IEMQ+=FN+tc@)%G?69Rb4&DXJjmd3FrG#p++rdbzgWEP?l-6z{s%WR72~w#IV^`T+yi_;H-vZE4BFOUjub+(XsRDwvVdT%u5znuJw6*w8gcWkEU2IysZmVRmOFRb!&xYD?(h8 z>soqSdUHoq>HS>`#CHVgcqOHGC|q}t^uDO4Q>6FT^mMuOM%$gO^nN5oJiH>QeGeUZ zq{`@j2pa%_YxO5t0zEd!kKvq3byF9}w#IbGQ%|!x#j~q&u+VZZv`PL^GiN5lzDIEFz178Jv(lWQEB{_cy9%u zEjC*-2q@W(F+XbQ(XD-112JF5m-R5me9@&3SE#bwFX77q+!vd!LB58-HTLcNxV5~e z(03y5AL7^-x1Ojp?#s!0vDq5bE7`6wZ|T21qWZHgfr7k~?XtG_Ag>hdJ%=RB<0d9Z zRb^R^;~fS*z>&{*DX6n;(nR+yj043y*J!u%-nMJBAOZJ{zfR#b}0}|SCpGK_xDnom= zJ*5uqd7f*u+j(IpTB;qtUWdT;?}FK{kEfae%p!KZbP4;N!FJ^{{ad8`S!SQg(}PYa&{Z4ujfrS&0vcJt|h;n z2e;O9DD<6Z^-T@-vGywC{xasU2@c7EDg^QR19l>cRPpZgS!NO#zWOH_FbXtFLUqxoka2rzG7 zFHtx~|A?)}R(%7jp7&nfy!T!M`Vl-;MnArXjDgR4pJEC0SlEXrv(#tUHp_n|7(NV5 zXvEfEt0Mmrs0Fp}iap#i_RV`F(ZP@tMBqrSwuhZ*W=vrUlanXV(N)}I3SD4shAiZl&vGemzjH-Kcz6r?KX=KhlSd{a-Ca|+H2Z8_yGBd73hOff7~cYhv~92hv4EU^T7Y>;>0Y~&K&4Lfs) zMC+P6Ed9dux@P)Z8I$Di0p#3KW?l203U|tQqn;Op&qhHw z7p_Hd&r9Hw=%_?gSqpj?8vub@{1;dPJvPYOaOM{O8C@4BTUvp-G=R`GPuTj5Rl8^H z3FAC*7@o5&Puwc-gumI1wtIeim$cLNwDvdzyb&I3)>MS|9JEKR|a{QhLI>ALOSbQG@9Z|5Jb_cCV> z(#0rnQ;PoC*!MHwFL`l*+ELa0W+g@eZS&<(z)a+t4{ZI$>Ra@e02Di|oV!}~11hsN z=thAL7Lzy#*Qesx+phHdpv2lBgtpLZ9rERD*O<5T9M^UuD*R2dzl`1J1_AS0V+hp~ zsyhoPVK+kjYr8=HqUm5l*F0h8O|I9=4c3Rste5*(#uGuZLsJV_2-?H=+kE`CY z`fW1q89+<8t!Lo+9P!=6kLf-NOMcu3KiLT{S=|85|5y~IY*1w`7-2#}u>Y*3DR^p- z-@q~T4!~;Bow`CWkEp)n`rD@*|4n%Iwj;(~75|_!^e%X@Pq&S(@+eVa*C7GmV)F-$3@V*# zZm{$l*W5s5oylrch8wO`xj|e{TxpBx<#B`9{6WKlO6Qsz?7YYAqpEIH`wjTmP-gyo zP09_^vF|1RqTk1f1bh&?%40%_9f+i6E9lqeyGFg8*SNMC(IJ4C#(*+b(mguVL-kcg zeF>{k0o98BqseuRcsu{_L`&U+sGb9JIbUWDygNgD6o&q4ayp`hqs1hOtNmTPgG?w0 zRwCmYX47iZRqUH+Tyub(x47L_HJytf0C!p;vA~2Rm6ca=Z=tiobqDP&)X~!^dkY!9 zKb-HLauYm#+gWfUSCS!j?5ex|n3X>6|S3FC>bac%4IRo@(| zHFz%B%V_YsGF*G%s^85%?OAPnm(gVk%~pV}=DJ3_ozHiorP?!VU4|pR%!+4{B7SNs f*@$BJvTr(VMfq1{4Zg&@Rc^ZM`PJsTLH_>%tSK*3I1r;{oaNZ|t-($vAm2PD@`oF>#wBHMe> zR3U^0LWmC)pZFF0hW#?eIp_N2CigmVm(nTHZgpRL?vs0ckDuqYx02u!OEZ+lI9fj3hPKOlye#UQg^X~bF{Rn-~@`B*N zYacc3dhsY)uzD|Fg}(pAgKpOko7=^Mjic02TEpW}fRASnT|Lz=3Q!&E^B@?uy|~0( zDM;uXhP}8p%*a~AQrof|$03&9%2;~4@){Bq;GGJ^CS0EeT;EKwOW0V#`;rrnCvaP-op7tgxJHV*jE&10T-tws_wF~X zS|m8+r#4h`ZhOJJFO)%LFiy>bn-9xG*5D*5cjNbpTQ}MsV4OS>~bjz1AfKE+*{=f@3P5W&ANyzOj|-6 zv*LHd5~mK+++Vw0S>eSzMeYeDtGZZ4#3$JQL&8t0%>OTbXYrQ2zKN4{rFkKb^JDRQ z8!;n2F4F~#w}Y4`dYpsZoZiKP-_8K`@)IOzz+(453DfJ>N# zujyKDDe6$8KFE6@$9PB>%if|{s;MQ9->HQ?FvfFUE8T<81^u29En4vW24B;(fxPjQ7{^nU>}KQW5W&9k`!iy@Q$jPD!e_}?Ibe4EPI6jTXjTFl|@RAm{r>%zw;BZ_@w( diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wdspxe.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wdspxe.a deleted file mode 100644 index d02e02f9a97cfe0a56365b1dd55293684d7374c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26732 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wdstptc.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wdstptc.a deleted file mode 100644 index 713cd9cfc7d48d54d58253d584fe4fde68b950e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12974 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 erkqc|YO;?KY{5C@lhjF+7 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_websocket.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_websocket.a deleted file mode 100644 index 44718580ee654ecd9f2fb99ea72a03d1040685e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12522 zcmeHO(Qg|y82^%XYZo>^2vA{Tx`_f3V&RgemlRbfTR|HLp^Ab)2ysmscgdP2B{|xH zrl}7I@c?MzFWTS26Ay?7o_LrT-)G;QeP>^CrMF5^7HU?Ym zcMES@(NJ10IrwK+YL;d5DmAsNlI@hm9h(IJxB@VH7hvvXfWkW>UV0vY;xqq<_}n7^ ziZA>j;=-Q*6fgfR;?>^)C|<*Qii>}V_y%56d=qgLucM6Xk6d@nbw3-j!O&f29vir8 z{T6c%I=#kT$Hl^qQ*+#Ir%BN-Jz&jYe`|+%Zo@^~E(6zXvqtMglED3(H8;4}4c2Sb zOAboy?C!aS@(}q6+hU!4Rxgz`uv!)3Z!zyyx8H1Z*9ZMQHt@bP-Dw7?GHz^noqn&r zq_>LqDwW|q@Aq08Y_QJ;w;R3Iu-({U^@{eyW{@glt=nNePs%78g_uyGl=oN{XPHEF zP0tXo4)0qVu!hHEC-82=peLYWQse`UlA@ucl>Y7>^}-)%({t#E@a~)JPNye3B4)!d zm5I2hB>9-WB%QZhk_i_|y3yyY^U+1F_l5J7~+{V{&R4^WXeec0dDhDBzgD+FEVjiPUP|UzLU_8p>5lxGFOtZ z_Pi>z#*L|K+_5}4Kw7)d^6>RKFrCpGAKVr{oh-sN| zp?;9ORmAknI0vhFAUjd_F@6zd*2BlI(XR&&WErjx5U#=Gb#k^)JH#%43mC=t(r@)j z(+u6}gSrlK8xKBP`3O-fGeL>8-$4oQb%f)*fAkDOC+L0()KS6l7x`}h(p^zf^h+qq z!vIr*Go9pQXW-Iv%g>ozO2_P)&g^^G!Ewy~RAIzvGW%<#-BHYLn{gVm2WDKzY_f=H znf;Vxw!ak;te8}GzeFU)AlV%bAC~6f5L3x+b@vw|c%3 z-p6r#Q{l#Ga{R8+?kJ9XW?VQ)#5=Oy_szJF<5v-vmg5Dm=W`?wfY!37`yhz+OqE15OPO!+4M$%n|ZpoDO`UaOX62psBPwN(Z`T zoTdZ&W?ZNPw34UQfeR5G5Jw`!n@Q&WW$FM1$^Dur;AtN2VIJYWa^@DZ_R#~mEPWcg zmWu0BdoQL=P(D2M3Auh8dp|F^t{;|SGn35u79{NNebzo7L3dQb!=$BBIhhH(3b{};h*8O_=7b2Nzfs;xLoE6>kpL#t~3l?y8 z(|SGUr532KtR{K|c!fxgL3%x_qJXD)IKo`AU+uQR_G{Hydil$#_+Bkdtv*d%7M{;J z$#?x7E4DGop3m{DzTSP)RyPTir504CTA;IA+v{d|-ZLB50=fS4H@9a^3)Jo>Yk`i+ zQVW*SX@RZ#K0lyg9CzaLm2y&YnkPQnO1q;@eD=&ZO$)v^Jk7(8m`nd>Ez)%(`wfUJnV;@$ZMCGIbx!xb((AWyR?~X@dC7d! z*I5(o1-;H$uCo7Qzl5?p{D!Gyzp4AC?-7%6S!zPMx4TnK5ECkv0{tY^!s@h|kc(-8 zT;usyh-Xa`V%@JV9pfX+OizN+y#sbu^zR&wkQU>-p|kS->o_MtAT>exPIj_)#8-r& cP&^_0SAa0&;XYo=wLs~%;UFkpdvd$~AAzG3%m4rY diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wecapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wecapi.a deleted file mode 100644 index 3bf0a96eda774d90f865454ba4091a3cfb7940eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14012 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wevtapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wevtapi.a deleted file mode 100644 index 79387dcee07748624735ec746620484edc1e090a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37372 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wiaservc.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wiaservc.a deleted file mode 100644 index d5ff213608e9bfea2cf4f7444aec16bc7ee1ba0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45476 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 Xk6&imz30U+qSdN9of%tU^W6Ur^@XHH diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winbio.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winbio.a deleted file mode 100644 index ae9822813f4bba6f53018f2ed482e4dbc2cbfbce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51074 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 M%4jq#?Lu+>f7YPG!TE#+TGw_-&^RE$PuQJ5 zvtPnbVZ8V3wCJ$R(Ac9#%Au6+GnHm?q;i$Y;XG3EESZIiM4~eZ`hlD#NAwskHqrbn zlTnz5auH2rC=q_5K+0H!(KZGIIf^F3RE4>Et7ef(RXXV7_{qsamWCiYozHS_zNDv$ zmzM7bK_EoXX&WNP&DYKyqz2%?0l3fBj^pL(YtD9cCBPqh#6mTMBLna+yrV3;0R}$^ zm(YL*odSy+26bGQU3ff=>lS{(?N;M@1#TaWy%Jmz|DZS5dxfj;a1*>}I;EI5Nv6tx zeqRE7b|&F*;V^!iGn&G^G7rIQzG_t%iz~MZWAQ}q?mASj7sDlUw1c5*Fw76Bz;zz2 z4`O=7=!B`k2u4?cTjcuOi+qf0XHPfVQ$$Tn0Wo|s{`#mdL8vKgi zP?2;Yl0NM{B+o8B&oKVZsFoV>|IYg5*-U%U!O1>a^TO&*SUc6Q_%WR?X4iS@< z;{ptGAr%b_#<;K%7ne_|cYeO|k+pF%vwmnU(i^~Cd^E?@w=J7zn$F$44Zyx9`RoUy zUuKDB!GBqIpUFb&Hds?Vzay-Nx>0{4#tV_Q*uK5_*V%{|W E0AE6oQ2+n{ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windows.networking.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windows.networking.a deleted file mode 100644 index 31fbef11eac966346df83aee72f35153b3f72187..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2616 zcmc&$O>fgc5FN)UDNzv|kmv~+Q7#A>Cvu!1RVY#~94G=J#Bt-)o5tj;id}_XDvlg` z;mlv@&*DUx8Sf^WHg0kV>PFrj&pz+iZ{O_X*?u@V>b)($b{1QuRtfOu`EMM@<0-Ru zoT~4u2ij!-C<0gw0Q(O>=_Or490>6xk&{Gxl&PGEgK;FqG#-T~u|Q`WGy*Y*J9H^8 z4$*j;h>=XE<4Hdr9g9%l149Wy^kf)qW=Rk&nYPA9eVHE0C=OfcM216*c8G7-^f6XE zJP|8E5S^XMPU?;|Z+U!GJTC|W#|aF+-dp#OGJrh`;2~REmYd4&Dckv-176#W!Zgf> z@JtiDOSh9GD`4=0a4{{o=W8r(Boy(z%*N|wxSIA8ZaW`W*SK9Yc9!7u{MT&L-4C-( zccZ}o!0pBZsX%|P0FJG0*w+r_H#wsa_O&=N_yfUR{D-Q&{^;n-Lm&`o=%qkiUL zO~DJ@QM4ZE5L6wHha!*re3HLROXCHJZhXa zt4{oSwPIvUi9hovs*=hjY1G_D@@(Vv3g_EOximQc@5G;-(6k>u2K#2jg?VLIIPn{Z zNtfeh8AI#sBj$WLF2HGSPqA+*jB?@NTwcAPyNiptkE~m2HqMfsC@$#_;67d%-*j(U zCg&8|zF8l@tejj8K;M1& diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windows.ui.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windows.ui.a deleted file mode 100644 index cda5fbe41513cfceff5ab77cb8b010e1301141ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3314 zcmeHJQES^U5I)E4(wUC!VT>}y@L+ozp3|mI24w`o9y0o{m$JR7PVFqFX%b>*DeR^H zVEsw`VPoCh$#Rt1P6JH`gDK=B-+h+kPv1#;b>L4<`X8)!_F}2+*F5~W_4l^za!9wf zz3bJ}7mh6ecmQA=0+_!5sxRf=Lce7R(H7z;4kxkr946sJv`0ZGX3@|eM*^LZ*Yw07 z>e4^;Vik;Lv6x1}7YIBHL5P0n2Y2fVM0*nYN!T6@lgVh%8IGsP$8+pDIve9G3uAe2 zIUXQ583*0O87VHyIIOv@=Xtj6?KU$G4-KRc%L@bGF}F4iCkf9JZkHPy++!#36Tck7 zkrudDPB)Hkfx!jgBI@vUU12w{v4Qi_3->2+`^rzat#VvL;htb)y8x%+U!(w>qmB~{ z1^`Yk8iZ-^_cg#bqvxM0N9xzPqOQ#w{S!>*sZxf~I5NvH8b9>Sra^YGq#QCgn;2Sx zVP0tUO+&8yVo%6@>L5%7KA~MtRTG(DxjD2r^8d} zVJ(5q^j}gtvn$n3{1T`0qVE`T&N=-vSSgum%0Pe)TWKor6C3N<>+g0}q{oiM84|l# zYMdsw?&!^imLXOCtP5NqIwFfQWDC7-G5$4GDpmKGA=wU0{MT`?t~M^rcm9PPy@{AX zF)qsx>hAzC--~e`hPmvZZKashg_V7E{f3?{FXukIPeA_k#q*kVL*tRo03PCB@=VWq zE0-hr{U7ubk#~DYb<0fAD5mnvcXH+7uU}9*e<#gBW(U1bg+5rS{W(7aP!>y1Mh$y@ zpe?zIEW4(x<94KJ-Ca@Zd;hhL>m}u!-I}rmeTK2tidu&Pt>f$ewALxtsm!&W9nk2l Rzzl7H)|Xtc*K#sge*n^m1Umo# diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-appmodel-runtime-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-appmodel-runtime-l1-1-0.a deleted file mode 100644 index 7d94e04c77643682251f9f0b707185b8f318d080..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6334 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-com-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-com-l1-1-1.a deleted file mode 100644 index 4bed1b1e5fd5adb97b0ca4b1a1ceac5d1d50f257..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2702 zcmc&$O>fgc5FIBiDOC|15aNJ@k>J(@yK0<(Dpb@1mmaE0NZhtgylJdBABqiyTMztz zp7}Ms@V6-Q#_MF$#%(WA*YfOm_IcNS`^Mupd*QU(|FrquU2J~S5BTt!ZP)c=$hNM# z6YzkvlT9L8BXW+o+a{|0#;MeSQeRU&P1TXk^i&;;BdyNjQ8UjJ`XP-~wL?7#(p6XFo@B0C- z8xJR{Y?Pv31Kr6QQDfiVLkEdd^DmYA!_t^V+{D;7162F3kOBO#BJ`dRQ1|=fZ4oN$}kpZ)iR95 z7dWUou#3%bDqOAe&@C9@32LZ1uNNmVSH{31YtMN1n>(^=gt1QwPm4Zv>B5u$IbEz^X)O_$8uc2!_r=`-8UE$;?BLidWWlvi+K#*k~+^(s155u zokWlM%z4JO?b%#o$?DCDLUzrS`awqR!W35FyR15Da@MLS3ppb1iD$@j3iqR7^*l#j b$u$w?$s-?41YL#xur2$6x&8NM)w%W`u}sLq diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-com-l2-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-com-l2-1-1.a deleted file mode 100644 index f776baaa822b6307c4d7722cbb90796065e76172..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19278 zcmeHP&2QX96n}A&CJpH)r7h)afmBEp3HD~Qo1m(!8k(k3MJo~nLI`J*b&_p&v(c_; z145_=4hV6m5JHFp2M!1!{)k?<@)z(Ia7Ks&qP#aVo*92_yr}ES)Dz9vJM--EjDNrP z-h4REpRaW`wl7S)Qt$_B&MM=dIae+eOje|)g@RSG=J^$C69Dis!04|4<39mR8ay8U z6M*8e-+4Uo8vw;qfAe?-j})Kzi^swr02HSV@c7aQ0L62YJWk`0qIr_X*;fH5mPK5^ zXP|igSsq`T0-$&i%PC%(;c>YHuw1h3McaO>>vX#Ib;or&_F}v4*tZ)ywcUn|nT_&% z*={!0DT-V?)Z4eawcTBtgj!t^w>R1y2a}fFEZP?S)oi>+%K_Woc53y3)dKe0ordcy zHf!DPircErV}*^@t{u+S<+h^bSoVs$wc@y|jh54`T4nEc!Cd@(ZP(dZaoe5RmUC_A z%GLJ9&5Iwpcu}#WUDQj+e~(Lh)!Ab7m7>TmA6pMA5VF@h?Oi;r7R|t&^#T;Qf}O`& zqP0VBMohVWRR3oqPN>F;S)TRH3{^KCoT|zd|qa%R4Uqu3CDxYL}=| zdDZLfjZJKa?|u3}z%P#z3*N^MAm6pD=uM$T=mr`^)tyd+UC2`pP|@7!`atdHee31zcKS#4{Npq?wbjQ5jzo@+be zF|{|@QwHiAH#Xdvwp8YETHG?tav3#yxnc>mzcz7o2o*1>@*#jD>}+&s#&z~wb{?M; zz+9WD*W6mX2rH?Ad2eRD+ucVD?vPxAZa9USng=ukFoMse2X;R$H|OP(+<3fP#gi-G z$z+6_SC0C9y49UV{XR|l9h25{vp8){TQl`$6JUnOB830B53n_~S-a_Fh zGz=gl>u;NK#xasjxi0Wchr-}&hSc%&)=F5}yIQ@VY>Urk%%e;_T2Atc?spz#cB19V zSj+wa6AOMciv(sqk0IH00%Mh{-xjgncl}#)o|F7fNpD< z-2j1d)cKMpuT_GVY`I?|X~)$`;}QBZpR9M52>0iWa1)|%^|3-CID=ca`CN;1S(N_>v9 zP*9%DXQ&$Y^K90*`ea%(P0!|rR&OuQ#*LN>c{ZO!%SpuJ#A;&1A0x!aOac;6vdn-N zsR0-i1D1IPOAYuDkHmnO=EqK8`extQY-&pUC@18HDW?22ete9W*^eKq8m`jh$NO5n zz4);mEf?ZPCt6POgEV7Oi*Pi+k4t;m=EReN0g4l{`>@1-ufm)NPJ?T7@rqKy|6Ef1 zhdrVk|5FnG$NRwlkpTV)K3TR2r>FrK6#h+~!BPWg*dMS7v37tLq=fxaj(vJXT(!rK zfcMk={b2vFhkda&MD;%^*cVOiy)c{B?9XgM>=(l`o}VIM_Vat*)BJ@r{hm#&-d=vs zZnT^<+%!U^*`JT1<)q#}gK|mzoX%E)5dVAS}X0%+$9^8tSllI^wzTu?y;4wl!-_#;^ zM-hOs><>Lf4ZxrnFwZksYQQ&mBwG+@wtpL3WMN7?NVpPQ$>)RE8|8G6V+YBDeyqTR z;(;6$WSIj==Yu%R<)}bzr<3&X6{UlJGvTUm#oGd{&4=c8KzTv^*nxuq{Ifl($gV7N z;Ay5EbUT3C&}A^-TRc~GfB{`?&6VDe#t^MEB_*iWQ4SA9kk z%1ue*CtNSi5zk*_oW}15@uNE8w;nCTYnw(j#HYDu)J(ccY=w1vJ|b2+zMm2C2#Bc< z?aM~uQv{Fbx>3TU?hPeiOjj0`Ow$k`9Whv?Xr0d1A;eDj}da+^w&5I-*4G%-y zx47A6LIL}Lf?~o&p21QBzQ>~-*L1~)o)RgsBH@~GIsa~qz1s)j4H?7=^%Z)iZ9<~& z#(d3H8z#cpDPcbGN^$NF5$NME-;X~u1mXXhK==ON`$OSoEBzl+mJ$n+t`pCOS&;if t|IHr);FI2Jdzkz$A(>{v3q)lM${$+d87wv62Rz!bO;7p{QU?9C{=antc-sH~ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-com-midlproxystub-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-com-midlproxystub-l1-1-0.a deleted file mode 100644 index 01292a5a0aeaa865ba42f9533684fe407a7161ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66298 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 Px!Sp99#D#W+U)-eLZ4+V diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-comm-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-comm-l1-1-1.a deleted file mode 100644 index 5371ddab7876bc346e13ea31fe895eaf1e79a02c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2672 zcmc&$!EVz)5FIBeDNzv|ip0@KaBGYmHBON#6e%2$$b}1+ty4S1s+~l!t5%%&0i=FX zZ~PTy-g-CL)G_VF>R6r~&pz)sZ)bM$_B2?X&pvfN*xTauJ)bYP@7cC1r%Y|zy}qwr zIO`Bmi^%%SgH6=_iCc(~5Z|(Bm5FhbM=LQ}gps(4=fN@-?2P>rUnKDaxAO83F0Qg* zxfB4U8Q|i4v5HuwsYpD5D-gU$8j%pQCt zWZ45S`UPB!1>YTOEN?2c_`6Jz>lL`Z_5-(HjT>m3&BnnFoSx@h@1|LocfE^UXO*Vi z#Ow0qgh@iqG)^J~{(DFC!$I7Y{I#w?-Al;H+7NG57)pO$&Nk6sMA_ zJ)ZgxM)HJgXj(Swvgp-;Y0#8){Z%G&d-nL;9(){>a@*%UcqM;M>#1|Qr&&E@1G)W1 z2^v-3mi)Ys)?>1KCQm?yv&f90X+FE0Ulbmh zXY>S>AlWS{0sMl~jhLrP@y(^$kYJtV7*U->W{EfG4}0oA`|Il~s(p22Wo0fzme+$_ zW2>^-l9_AHUbJ82vbo>z?DLJTGFBOm!LF}stWSCD+c5|GZp5WcciHM1CyWVqp~5H^5BBZddpzCTY<#fH-d^Mx;vg@Hp7UMsi)Yg^IYy{vxtEaH zZDr>mmFJQnMB%rL4yvlv=p|d#A%7pfp{ORj4?*;zI$q0XBCJz*j+6&OgMPCv{b#B8 KD^q)2b^ZZDpT0%_ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-console-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-console-l1-1-0.a deleted file mode 100644 index 2f1c4141c2287c47f3f00dcb0d471625de3537c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8458 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-datetime-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-datetime-l1-1-1.a deleted file mode 100644 index 3e26ac7480db0e443caf638454ba6e399b6e2d1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3542 zcmeHJO>fgc5FIBeDOM2(ap=)V95|FK8@F+Ysog}jQF`FOkz;TC zo&Exl`hzGlv+HD&*eysTl@M!rcRl;OW50c~vyb=v=2#5 z8YQuxy*%qSTj)59$D(iq(J%0GXXuWGUL1jbI-X?qXu1q#{JW0hd7fo?9l0Ks)id81 zNIw?G0JzV+4a3fYvyA)Yl?6`EMoRs12#<8Zxv-DY^adDwAzVlk?zD1j4LddbF1_%4 z64%b{gxf5~?d7-~>}(a_@^Ms5BTgHrm^gtsuDalpU^;h|GK|JswG5+iMm$svs^^R1mHFDhp=&VA6)B=>5L?S7pPeuj z_=xp-qLef~`~!`5oc45&$u;ibIy~TCs@=B6n>n+OutOT(RvMvoF4B08*INxYjTwDB z?-MTXFSc7~r~}m${dMN&9`}An=|kQ@5srmb1A}b%>GVWeSZi<#(ZKA=Xdr%x(^=7X z8Trji@xkC+>C{q$0)$-4sscZ-v!2|s+T5hlph*#yI#^s8W;bP#J=fJDtj@H2Mio;^ zCr#_?PL@r)pW^tTQaUx(>axgm*QfPsp|kgzUzlZ^xh&E_%&-_YjWC*TA2CTW&ck6Y z53%klj51+kU0gk(r}Oif4bMNYa6Z66(j56BjRM@oTXIa#dQaz>+*Oxz3+Ne`GYKfo zGfU(J-_o+Gid-$X%tZ?SBYlI6EP9^`d6$v0&CdWdkF-oTJhptpy71srek5AQDQy-5 n&i@#oC6w|lKAHXP7yya^{cOuh`S)W$|K)D;x`X~&vW@u*!*^E} diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-datetime-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-datetime-l1-1-2.a deleted file mode 100644 index 58e50e5f090a32a28b3fea23f2941f659018acdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2736 zcmc&$&2F1O5FTu&POVh!A*y=lflBGEP#`h3swlFQ{#<(KrBc<)8XH{GfU$ryIpz`a z2JNHd4f;k+X9m_@$0o_e&RFaYvmZP7;~R!ohh91yAGO}b2%!0g4k3<(_?iW2CcXrDkc#8P55!qG@us1`VCZ&T5rqRf$|z2L za+Z11sUT3C5nK$DG!VX*2YDC=BC>@o9N`JvC=Nh~ap3vuO$FjpkiS1oy*x}NAColp z@(<^|eFu|=@l;f;f}f0rgWOCcvsH}RmgTyxuDjiWVO{UHK5LJVQ~*l@c*@?EX6C_p z&VKcvgVi^YEUy~ED?PBT%t4mj0fP&|g|y+`fyCmYh6di3YP?^8Ys)y{wySX+iQ7YG zX9Z5KqZW)fGf)c#X~B?MFe2Nq4afAO2+UC!1?2_*t^s~%Bkx28%DBoOrK{h_NidbW zS`|j&tzLyuI3phF8jXuq^2&T|;nFP_=86b&Z{&o@#?JLW;LU(OP_Gkzd7$0^F3A{>oX1EYL=IyosKtTlLmYG8JYY9M}z)48c{nc|+8>Vv^j=`>S?0)#vk zLk<3-vze~2-mX(NxE5DfW|483-PJ`p&c0G%O{V1nRZLBqG_5{&ifrTY2G_rpN~cL* zUl*CZ_38N?V6uUd7v|k&p^J186RpP0Dvb6!M9i<%I2V`Mp5xdnF=YrR{p$KPon2ne zW8|&q{1_$OQ9jZsz+*fLp6OimRIVvyeYwAY+J(8BK&g9Xin8EUN@p#rSLrVc)x!Ui o?xCnIx}J=(7uE8T&jDzkBJ!?`&{TupI97eq-2TC{k*aI`2ff4CfdBvi diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-debug-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-debug-l1-1-0.a deleted file mode 100644 index 56a3e3623a8227c74db4b9030007f47c6e8193d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4370 zcmeHK&2G~`5FRHfEus7z5CTrFRBj~LA$3}*LaE9HsS=d{l@nX1b`q=3k8Fo>;Lu0t z3Go0tNX3npqRfofj#Jx7kw_{88)bGq`+0Xg`+c7E+P3K(bzhX9sgp(D&<*@)8+BFH zxGQN@_4#H^-f&n3fE57cJ3#3hH|Y{?p`rhsd-NA#SBQ7M?fGKg4s1{C4lG-oIDK>I z2y{BerXgIXMStnV${L*b=5Qzo)bj~0js~7BEW0)82v--n(1a;)l%5SjbZyg`<2)c< zkAmSScuBLr2|TCYIcU~#UZ*z{Ien=+cBb6HeXo2Tzhis*p6%QHps7VuWOadM9$P_m z5N}}K&gq(F7>24EjYhn4d&&*mDF96YxXZ02r5f0u0&eFU6|}>uWd>$GgnOExomX4F zKLZA*gmY-X^?HOYVWWiWN){e3#BD@=!mZ@v8WC<<(s2@32>G>7pScN!NVUAT? zy`opNs^z+btF|52mN)#o0O%-f^Eh%ye=>eFUGdVK1WU%QkcUact(b>N#EjxlRLD*i z8CQ5th<*GrY#j zKy#m01MpBXgmyWL;SoMrCvdT1lKoMea8dhmy^4-yAWPa`=J?#^)>U}k<(DqPu`p+# z9dt+io_0#g}3_F3ERHxaO2P7##7OYSJe_n{8+c@BX46?X!=M_k1U(O;R8PAcTS&ETooFO6)KmCMG_&I3}p|0qDD)hjiP9F0$ z0O>#U#Gzr&SF|}trD?~gxgYH)$FL6c|2m*83@My_D*MwqP|`Zsp*8$_I+*!!us9uP zSJgrIU8t(#eDE2`GbFo^I)gMNhBzIT?0f)_ g`oR0EHSkD2?Kl_2;lrK+d_gNxk39WzcmAiYUmnxmqW}N^ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-delayload-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-delayload-l1-1-0.a deleted file mode 100644 index 3d67aed4535a1ae862ffc4530a9575c4317649cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2746 zcmc&$!EVz)5FIBeDNzv|IP}0_kwD^rgB>M~g(?)OsN&EA7bFfy8>ik76Q>TbOX1c} z=qGUIEBXuk5M^e(PBv}a_L6iX?~Z4mcbvCxcKm!Vm>rGYHQtEj=5|~Ue@>?>gu_#2 zFGS1F?}g|$0H6k7eZk=Xp#Fz0DfgxPl&V=OKdMa4N<|+c|v%8M{h#EacDh2S^?S?z+<+ytY)Tu zW^9*t0-Sy`46>jc!ZST^E}DZhy#)qmgo|jw7wrOzn+-L5FSGG_Ij&Rq3AbI2>lV0I zXzZ-O74xVDdy?9y2AkAi&(&bZuI<`RGmK-xHiuEH^h5tH0lr$pU|cw~-{g=&RIMw+MXIP;FP9h5cg5<2slXWf4P{}2l|H(= z(tQVy6>bZqd$^^#4ct6)%=yA5Twz}wchFG> z>gf!qGe3{mx{KCFd_*D~8|wy!+34h$gn^CK2KSH;%x<0!#4mBWXy#dyzw@;WVQ`^! z8YxEszHy&-75IzBhKj?QtB|*l;2~Z)&vb8ECf5|QdcDSgS&g}(fL1;;MN#l6qr&R^HEPUK qzVQE~cgXXLo~K69^L%;6_xU-Hd){gf4Hfu}ec7kY%^yCS$-Do9u-nQ2 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-delayload-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-delayload-l1-1-1.a deleted file mode 100644 index dad567be537b9f771b34ce239d27cf0d719e49fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3624 zcmdT{&2G~`5FRHfDQyuPdguWmR|1Ix33i&eIaF0pD8V5`+Yl`)eU!e(A!*iZjL9rWjpv- zt)^*O+@$BGxz=)2hrI;=xC3DP0H}NesQ!-M#btoSWg)hNcoWHCBzEOU4#igJNpa#I zxdUII(RbR82>g9|l@$vwJc-=FKoF=O5nLRELn%BNxSxa2^+aF`dR&1c^(6?=lW4u! zxj?*@Q5YP{ZCb_-E+cw54Ex(b(6Jl11iwEJ(;<`nrT1d@Rj1J`>YTQN=gaq_dYEog z(f-($)v&yIoHgQ;l%+~?YyQ6I@qBd!-`CRlrQ&mFnN5N_#!bza|(qAOr< zN;sbeeB4a16|7WnU3%j2Vq7b+6K=j3x1QjhVr3}@m$W0JYW=8&jH(f%YAK^?fnCF= z?gas1>s>#Ps?(nffcHk%JxmPBuKSRtEKkf!Fx`KpB8=v{auG)J8~LJaP(GfNZ`o&a z*fa&h{vuYCjVI%Ss9(wGgek!x<}*_A0x`Y!4@_@c>lvmyxDyZfODea`^oDXM;Bm-I zUr{Wfoz7!=g4at8mnuhZPwIqA>XYRX8md4!odH$$&pobPhwD8)W)Y5wc>~>1@8b~> z0~50iZb1+1-B=IgU-Ic?($AWB%^8I-IN>^#q)~tmoX1%Seqm)s0p^Ayn2MIHvB<(? z$3nX*nyjz2HH}r-F<+6#6#9wP`p%PO9^Yr!{!Ve73iIZoNqYLz4pNlsYV*Qn)ESE= zZNv=najC{=ybZ*B$;Ua^%;_QK9feUQEX?x@K3vbvE^T;Eg2`Jza*K%BM{^Qe0q)`( z`JLVZ>q*wof{}o#M IEdKiZ1)0irM*si- diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-enclave-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-enclave-l1-1-0.a deleted file mode 100644 index b2cb11e9eb4b6a4b94f8fd6d969ede72b3f0fd87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5210 zcmeHL%}(1u5FRI?(3JjARTb)?a#eb3QacHTN(e=T9*{U7m0nQQjlmAFa1tvvg`ysM z=mVf0dg!rF!VB~z`XJDm_1f8BoA^R1q%Q1_XTROa&d#^9_Olgpu-92Fzfwn&zNj1c zrx}{6;y)(2RMkeKCI+<10DxIJ2Ppjkn0XWCJL>?H@9l(nt_3jHVr-4E_r5*w*_IvH z1Gd(;Ygcg0sE;z-D%D&ow{U%+;CBG-fiK zr)vXa9ow|7RTHqyzG=M;^{<nvG~ocK=4t z2^`aPPHZtlv!=zPQv22hwi(3edM!dH$;{HhM}s)((8EFHze+&%163(Fs7a9?^gpCsZE;;e} zLfm2`C)`XnZYjboU}H7~7xklGR=R!#{jx%SSrL9&arKH`(W;i~0#w_MYl{Kr7XbT8 z+dPN_LN42n)DK0^DP=Hn4wt|eT| z8M!}d6E13Bu4hp&4O9~Qr@4LZ@>U*C@9={f;h4DBKs)Fh_6|Y`_cizjY~a=n*+BLs zn+}tF%7ni;!4D3OJe_J{C_smoVNrnJ*qBI&y4DCNVr|GTU&B=ABpVk)mh|u@p{lL& zrZUZq@&$dEt`X$X@~)F)2J=ho-xhvOm3nFh;^U4>eqfn; zy~@6LP2eiXBMfIiEgu8wNd|mFBaCCf2jLY|O_Bj^N$*t*@X~P!2ArhhVg@|H_2p$i z0n%^IIK_=-!c$rRrXdqnLjf-f@C$2}zVtjV6%%EJo{trJL%MhUj|<{ljafnWk-V%> zAo13CquD?w0;M4vVzZ#M06(#0i6xJHQJyFZw0tbkhTm19+tD$em*Zl?mUO00GB)f; zdasHNRyr;b8+z%uc)RH>EH4WHM!tC5Xa+pSbyFHLpc)EzS%B|YvytUCulVpYiMNlx D$**pe diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-0.a deleted file mode 100644 index d5697b9d367c2900158d75c931accc8f03012edc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6066 zcmeHL%Wl&^6uog;T0(iM60DGUEkI4M+r(|93Pq|4EQ(YC-LPQl)NW(yJY>6S7YMOr zg}PwHS0IEC%l-yGL%DaxcE*j97ztcebfS6W&hd=r`kc9A-&!)g&E})hLp7Q7nr`4v ztLdt$@h-Vk)#~DGc)>;q0Hy#G4Pg8>z~o1fFZ=+YeCeCWSHA#Ip8igmv1P{AecSWd znjP34Tkcpk+jH7x*I{UMj0JculiyxlVhV zxjNIC#!QBzwQOLlX`5CK^8tHd2kUKqAGWo!ziD>^r_+AyxVXT26>r38b=fEojp6Hrp z7>24Ei*qqgRtx8lDgX-wfXlo!UZ@22e!$y<3l+4Die(1oU z>k_`Q<+yfu;jbfr?ZTG16B$Cg>_?imcx-Nh$v#vDVI=<*2Vo@Nkw1zBDw8SnFZbIx zb`8OBpAj>Ph5N}t!hg}|gi)Y_WsbW?i8H>Lo$(8Lt&i~rK8-7UHDf2u_}S2@FpUjj z{Ed()^t96$AK~R%!o>=b`=d7DqW19`Lk3Jx;NW|~1ozKHZp*^=Cg0k{n4CMX6*PC- zJHo;l2PdEj?p>h?@-O+cm*hQ1+;g8wI5^@v)udB^HZMh?z)x)C7}RozoMEIETJtqb zRW7(u(Ph3SP9>_kQCclba0h)rKGTte*ex@FER&dLuzw@uJXPwyi!O0ApeI?y$=*ow zLN5v>q6>trM4FeF z3veE@@HhRJTe8n->SBM~0Xa(ZCV+&DsiREWmAe)m7j9px)qS=^dm2~KIp?}e(&SI0W%W_>;M1& diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-2.a deleted file mode 100644 index 11be6da92bc146b7b16253d33f66e207ec70198a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2790 zcmc&$!EVz)5FIBeDNzv|I3O+<2@XiLvD3s&r3yu==!pYD;#O(9jh))Wu`SzGD^48v zfPM#G(IdaW&roL8>tx-;2^>f_^6Yr_dB=Hvmem?&3`Z(}b-6fO|0sb2FY1UB|F(S&rlAx^u8MWB7yi07(WIXaJ9e zx22i6ca;mj-soVRnl8_IJw&Vw!MZWevTO|uz7Z~<4PW(2EIxW@;eDw?>{sCWWt?!^ z^|<{Kw~Nls5?r~C+AyY>f!Z)g8%9MNMra$h(KX#LB)mBeLQh`!`xf9_8}msSka3kq zO541Xn_w!3jXI3NU$YLQa7TPJHL}$q`4zlv;nE6>;Ea^f)ZSD#k!R)ZglRyGc7t`< zA;tUup!k8^Ur@Y*PveRBH?8|td{>eRPthU8Ka)zKr@c(^C0?Bs+^mAs_0lI?>EE4q zFwh3F^e$)%ejW+$Z}jeqmnOn-2<^Z)_b;MJ5fO@md#DM)Zc!7&FL62_>N}^n=Y=W} z;8O22Q=I}t!WO0hztGuWyVyWal08t=T4vEG3T|C@+20!|wbm8{eMdc0GbeSc3ZTd~ z9=o`HA~jEw{{OnmtQ*ji>|wI8k{9M(sM1}iJ0{CZyEF+U8=<0kuPm4g<0Z1Y48^uTr|M wtYxL=RBA{3SGtFy*64Z~l)b2(7vda%_9-Gm8KJ2GKhUoD;#vDiw7E+B1Gp{iN&o-= diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-3.a deleted file mode 100644 index 2718e4666e45c6a6b6874ff306deb26dd5f22976..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3608 zcmeHK&2G~`5FR%v326~MAcQy>2@Xhgu=C>vsX~z|#04ZIK;pJ_VyCw1{Kz(xV;_J+ z&zyLaz6Ni?i83=@C!5+%dw^6zY~^GjxqkShD`Y#&K^yOxCEgOGkx2NkS zo77&{+ntu2aM%EVTL9WOfa+I(+Ryabssn7*g*Xu6L+nMdcMWEeh>WzpAZbpsohjQ9%QS7<)^+=N zd%h#DHQW$vJq_S4OPg9V@xCN1mv=gthfUW>oN@?T`e2?n2XTA_3{D9b(1MRU8McZ- z6`xCOyk3gyW_rTa%W-=dZWo2^0$gTC4jJRvKn@wiA!CU{Mraw9(Qdk7NciR`2t7IR z*9E|lHgb+Lh19EYB)64Iz6qwraH9;P#II6@QDR5&sA$wLHyK}!+a{V;U^r&PjEeSj zc@cS+txlK?m}0-i{B1Df{p&NnXLWOow{bUi_-(2;&G?oKD%?YX82>;rg?77$@fltn z72G_7RC^{9E|V{h+o-4k_4F;MaeVHubRE9?{BcD%Hs%hD693cWIMp!Y;0AJnqnqXg z#g}5bXzDj7edb)2FgW8ojg+SV6YkS)1Ad^e#{3@&`x&H*+B6Niz>8KU8p*S#khH{(R%xc z`CN>%(ah~W_I-(wDjf9lizjq5J*Y2%_PZN*h80WeV=5c&3swmd6mnfN{Gir8F42DBMWaof(nw%pl2i z$jXbXvhpH7Afc;lvdRzeGMmtS`(NswbFQShilkUJRL0;t+{c`I?n6i4r|(MN+;f7x z(f#G`TiIl7ST_F5jb5u|a+hAVTDFB9oE|O%zzTrz8es7Sz|BuoUUAWk`O`NlfBqJL z@|S;87Ghh7-B1Rh_(euC5ZhBvibH?m%zS}H-|pFB?7Ng>D^}k0Fmz@!K~DQ2xr@DN zAjLpB(Lo@?$Qk;Rp%`1j5~gqjPPZ>Xh>>)>Iu-=6I|&cma4+y(`GeZjgUE^G_Q;tG z<fv$g+tQ5A7vCTu`_YpvGh1Z^HHV!;DwQNqs}xzYZ*!{)3j|HQM%PlQTkKkBLpfy zuYq{v)?%X*$;T15%ZnD64?CU{Ipr?g(+BgURiHVE;zW2DgCE<$|buh*Ji z${@WzX_H^le!oV+f+dnIeikfod_HDd6}*pFSJa%09T-HTgUKUhVZ^~DaDt<&I6?8H zn9h^_%u##Jv4ouyyi-j)1(H*!$E-vJ8Q zr*)kwG0@i4p8mOanOU)4P9>fc`=z&?5K&bn0E)k15~!{+E54=+z%*Bi`^vzj0k5zY P#g|^;^KOk_6_)=4Ta$}W diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-featurestaging-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-featurestaging-l1-1-1.a deleted file mode 100644 index f660315570f90af3f0b5e6a549b13975607d995e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2768 zcmc&$&2G~`5FRHfDNzv|I3P|&f(xpR9kou7Dio;_TzcS8II`KqPHffrk?pD+IPeI4 z1>U6MHFy`w%y^xw8@ug=bS>|WXTSaNx8HdD>PRNz@I&XFSuXCO>*3{iu4y{lrPrp} z?R#p#umb=s0AqyBDM0%--9j7-@g)tCRD2GyAQ8t4KM)tuTrMMl&dBR~B92CMD=#+w z;v$vHr6ABOCAb(bl0ZxXnVly=n#pN2pNiNObV-5J%>oc245Yt}1wniYvXA*@zRDz$ z^K9UHxPfT46xDs;k4OF}vlj)!be08iQ4G3+e(p0QnD zncxg{nvyb&b~F7!?<#VNpo>%3~f zA2ha^CAN`^RPyU^w51Le4!OJXORtM5oy)LuVzil}AE;xCsX3j03^v^8ODmY5Zwh($ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-fibers-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-fibers-l1-1-0.a deleted file mode 100644 index e762f5221a3ab302d10735cffd08cb2a19bc2783..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5044 zcmeHL&2G~`5FRHfDNzfR;K0#TMdE;i-6n33Dil1b!38$XRTkrrp00+v<{y6KzX>%Z{ir8p>Jo|Y!JNwPdt{-oCgM-e?(sMJNoT}sE z&#qQY)8<`zX__0G75PG=1OS+gZvcg_0L5P-mwuuc^YRaoS1tfnE*RTp>}})^BDUwp z{(x=wT0T1oj=X-rP#Cy1mxV!-vXo-g>YYShzt0HNjR?*TdIO)egC>m>I?Q1<^B4}( z^?|XD@3m$*5wM*wdgI6YUU=-+YdB-j?XyuKVqPmuMZ@Sq#Ow@wzpnQy0rtHL!`?xv zQ%RuZ9ed5V+*3O@X~!Jfc3syr-OXCEW4p#3+%y2&0JzUv3r0EiPh;MmT$o@t$}KPU zCPR2n9qjXRGm5T(!AHUcG~ilAVGGzO;Q!JSA5Y+_N=~@N$+%60Tf@du22S-Or>t&d zA*U?jlqEQ2g^uM|cDWUX2rRdQ(3da#z65x0w7o+mkaAsrG+lmVPJ-#W%T2;)ddpA3 zXgVW3>+T|>UE4*H7xWr=ge$^(NYLC`SC@2DzWcx*~pJm>fhUXpb zV-b#ta|YUR=lJMQNI28r25fI`a-D04X2G|#SSl@6izq1z;p?OS zAS{aBr$n<03wgkw0cac{c`7AT<=_jJqbH-xG1!zT+s_-sdAiOa>Nfj$aYxjByr~w>SM~`@^6~2Cn)vrbFi)P_Q}TTL uJoBIDYYETkelRW1fq2fpOx$jsi<_d(^VJm3KTDpgk1)gUK10dunf?cdiY{&d diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-fibers-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-fibers-l1-1-1.a deleted file mode 100644 index 4faeaa1f26c81a94c23744363ce061230d7ed726..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2696 zcmc&$!EVz)5FIBeDNzv!A;i(3a;uG#Hck!|3aW$z;=rL?**cAbttL$ryDA3`oH><0 z>Yab0%p0$hbraKG(yry%@$B=C{bt7Fm;1r&IC|T7V;4uW-SqkJ+Pk*x$&x8;yXCj^ z4Mz#27`4vBK09TjArcR-FrMj&ts?Yc&e7| zG&l=}{nVZ0OqMa&^gQ49ZQJj3=L~+b9x#bSo<;Onv<=Hm!|$o+<-#WK$Q=Y}P!5rm z9(k8;KS^$Y(NExFY`DFbV>z@`zgUKKadSNZP1R48J37xg9?9^F2}yIylC!+nmz6M2i;eP?(} zlS$85L59E38Gb*CZI8Wk zpa-t}1YgiQ|G)=ucs!FWo-SzDA?t13U%=+P$J=}L+RG#Xi#auTn zybR0Kb%PJ7wXQ$2EcwD-1ppQSv~K{VF979V;;#GzpnLfT-HdHB_BM2eA=_~xXUMjL zj>C?;zCG|53O%c7G2d&`Ev49Wf}_wL3>blWA;H;xFmzbgYtu}AoteyFHp6Lp4lw3A zc4w9g0ef@gMf>h<@QQZOYT%k)Z@?zSFC8C0a||^m+z$GO&M@Mj-C)-p;_h2UJY~)( zbi7~~)q=!ed6qH_!y+SD8_mR0ueBR!EC53TxXpVDS}k&pBi_%ibTIa69Xqn~A$+6- z##yZ$hL^zLgm4~BxY~%ZCG3=NUuxm=3EX-tC){E_ZX?F6VrMA>7mp*Ss=cs^oT?J1 zs)AEhzg{(~My=!f2&{EI-;po;J_q=qb?t*#Amyt5Xu0CpngmmISIEOCdMoB(6rGVC ziW=3UMe3F7YXOHYz;Im=BZ}Ii(MjY}JUd|u;9@-wKPHB|f5GskfkBFwy-Lh*3$1X6 ze?{r48D5vlgnQT_hObD5kd?C-9^=(k!6hD}j>mn%#r^Si2?b@KntZ>^^|Q=-)9~Eo zF&5!iIA@?6xgYxnLc*B_SKtd=yTTVpzogT&s4+(DdBQt5IOaLE8aY33 zuF*QgO@Nzt3;oiw+EaB*OBE+G3aELP=MRuv=Nh6_@GT{mN{>}C%7};X@1s2kkD~Xf z(CWfN?(=5=nny_1q=cFRe8zh6T$FQMn*GTw<-IvA@7MqH9&IS7ot)Pa-rvHpX?d@K za`ffwz{r8^b>#hB+&7h!_fLd?*9G{5EmJ->{Ye-X&irpB<-9Q+=Qrx=NlHYZ6C}W8 zvHqPP3Fpc@V|`m$_o7(uXX7Sf{b4pP;rt5Pc3RE@Wc|U3Sb1H!|3ET5<^FRip{4*| QvBp39fB3DP!|AH>2Qv25761SM diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-fibers-l2-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-fibers-l2-1-1.a deleted file mode 100644 index 8effb1970d330deaaf634e5fdb42b6fdb61e265e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3548 zcmdT{!EVz)5FIBeDNzv|5JDV~LFI;x9a<+yRTU|M6Netk1tD#n+QFtt9L0u4oH%gg zP(Fb_>8Tg^Cd$n2+F3VtQ;?F1NxeIseY<1NzVU1y?YNV}V7Kv1&x^fnJNUDMr5c>7U0rJctf zK9?$dJ%QU!?Sxw|$F)-2CMp{RxO5y@V+>;hSz{1u48a;>&@^nrHod_Bfo4A(_;SMU zbAb0+-#tnV(yqpj+*L35B$yhzN*P9pTeS?M#Ejxl)u_#jj4O}V8V+58;jtn{RJF(X zMdV$&I$t=XU1{3b0LJYqz8A7{U#PAfa z_6jb`7bj>z@sa2 zf#ORsor(I55zjoA9UPqUoO;Sn%yiz0rUE}vSw;O=W_6NfutC`sTPU_ju|@TxmCLR= z56Ki6Oa-0ztnN8k*716Z<9m|j)alEsAKCYw_HGNEy;c0etj^@>M;kF-F)qt4T5kt2 zqhg$c!(8Yq(~%fy!cIRue?oUBCo>zKejs-e;9Mg=#7%&kc!~JZy{f4(CRf$@iUMlg z<@Ez3*Lj4<3(it%smxfVqU17!zaKq=$S9gmLf%D&+~fBEw2rWt(n4JYzGGW(@F_bG zE&p^jW4?7o<~Ls`bw%vQR}8=+=D(9{pl+4S?<;;UWB#}pH^=FtDbvzMAJsc{^ zU67oo{&*|^8m54Y(_|8geiVnoAEl9qUEvBx_=0B|h9txw^n(qrMdDo;^Fw@0;^{Da zpG-&DaT1NPx7{Y+Kr|eSH2@0yD9P+(MsOLkuH$$flj?O^GiHyBJ4`N7(;&Jpy&c2O z!mpY1%NvuN6FcxTzZ@b*y5wBiy)?Z6M&E&pFyXUif#p|DHNG$13JA1`_Q zlhQgmb92>Xw)^7^qRREPb!lF87OF{yG2_*^S&m`81IBz?jq`X|+GB3J3Zp{YnU_~` zbG^8j$KaKG2k;2ghc%&AqPu+LT;p8#biT1{b-B)vUXf*0A*FuF7FOY_v?{A|SgSJ& qIU}DH_mJlpu7_duJZGNB^L#JJBV83iSD~NWuKB{b@e^n}8Tc11cHyl6 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-ansi-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-ansi-l2-1-0.a deleted file mode 100644 index 44e462bb91ee6e6e8fc6e1544f8dae591e3e31ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3516 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-l1-2-2.a deleted file mode 100644 index 918697f656b410c11d1a2b86f7acbca8896b6ebd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4344 zcmdT{zi-n(6n;)pQbH>j7|Mc-1Pda;b{nUasw!0_5K@IY6oeSKy0ueVb>b*?X$OYx zEM1V;_(vGJ@&7O|QrS)oMx`{un zxvZ)hAChZTU2d7;hP@g9%mXMt0V>}Cs=wpwUI~D%#Xod0w#C@H&>4hm$BCQ)+X`%l zop?Q~?=dub=BmkjZ=Wt<#l{X!LaX0r1nPzaX9vN+VI9wRn6EPfe-^_@x(+brI+k6W z8(^=U=zZWHcbzxAPB7?Nkr(tf+sg*J_PTvGVI1$=b-Mi>D{?p6s}g?1Dp0R*ac^-& zn{C~^0v#Cw`=mFB8bP{sGxPk;juh;gbHv+$PzEXFSHb& zV~WdPB2CsvS)qo-h~+gcYqShJ0`Rg|+g7SPGH1wMO8dlRdB4emM**HyJ_v?WqZXGn z(ziVA+X_0{m;AyoyNqOwRmAxDxKvp*-#TJG=i^Kq=4A=%w!jDzHtNOYGx~RaKC}_9 za?cQ)Z{&~o32+y$IL`E6?#Zzxm*s3u0XggP3<84hJW}KZ?~*d9P_2|xMpVMrNzV|g ziteXE-eZ+K=Kld`p4hS>EYy_X2i6mgM$?W?MW5=1deCRngSpns=;0K@F-;FUf+N&i zryf2^ekbX{&c|i+(96fAdZ3Ius~!~6LwW{|`Ey%!K$(ZiPzTRr1FuW)6*} z0@ufRZ8pxgw6zT9zaS5$aei0g%5`%7ljL_2=iPif&q5FJr=?Ye2&6e*HZ!2(GSMWj-+L^(hZ2zApBzy*Q;t&5_-nwF?Y2_*_5 zo7k5iw**KE1U>cETW-Dd7v$D|)pTZeNsdfXq7PEwB5QDWHGJf7hi~>R*Pq^Sr`^HL ztuM^k(r7gt{Ii^fXi6t}&|n~L3_=ZS~Iu{#+GG!C5|NBF}-IghOTd&k3?rZ;px$#Mw-_SNbijI5KMcbKFnCP3A>HswGsdoA zXAPf=7kNL0YsGfLZ5HF&G0w!!xg1=49$8)+g*9Y(jaXhIme+i{)~H$ap6^4Q3>y6J zYk<3zzI#75XgiM`xvHMjDdbM_;q|=StQTk4P=6huF3?8 zFU2%1e0EXKoXHIdj#*AEWhVenaRdHA%ks5uc{-})dW$kEw6L^PdM#9qnatXdkvT&4 z(z1lO%-=UzHt`@;xvd#ajk!G4NM?C@Z%uUeGxH0ny3DA?4q|%wxFoaaem4*^&c``; zS{9mNIvS%**qE+|C43{HLGO(A@e(r^?p7s!}z^pqI{v zDzGn0$rjX6Y|o+!(0YqXng^dNgRBjBhOJ=3WgoK{>yq~oQVp=nalYNma{ejKd5bjQ zfX$t&)PQ@;?>r5N@^Kjrc$AMzIB(*+Evo?r%-a@GD~Pk216L*2c@FGp3pED(g|(PB z{L^e6txg#l<+9|hGN_lWk|o*AO0wiM%20uLhY$A#C3pVk%D{#@XDf7doVQAHeuwWi zsjmZ?RTnA49-C2DsSH0dzw?xVD;L9Ml%YUr63)~9Qdwnyg!4Aem1mdlAE{}8t%N?) X7HSN5f;Im4MQ!~TZt5?6hiU6S26JA( diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-l2-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-l2-1-2.a deleted file mode 100644 index a6d25991e4661391596b32d8e9feb4d6f02ab6e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2656 zcmc&$O>fgc5FIBeDNzxq;($0U5^%!Cwh||mswz??PCak|jvKdjh^f;=u~F%b8`u7% z-uPFPdFyquX+8=Es}p&5J^Qj_zn!<^SBK&3Y;@FmFP6>gcme<1_JI(tnlf7<{7!K% z#Gpk)4I=A^yO%`G9G8^GQhv(fStdWmc|4QHlPH##$wfF#Bs-I!7sxa@#ihO6MU%@c zoK7V`;|y?lHkrk8n53~xed$SGhLRT<$0X$_4x{SA5I^$t>H|mq()WB0myDyriETX4sv|~AW{DbM+YJ%K>6NP!W6-Cr1 z_r^KRvU_0k6SxEmzHXOT-cD-pbD5^rD{!6C58Uo%T(`st9_+2bmGivc_BgY7zisTd zjs3P$-}Y?ZiPDrDI5harEzwtN7@n67?KinYsQR6FfSJ72Hen3T>YFeIU*Mo_p6>gYHUh2fPQ*)ax`JI=B6j)#p4w zZokm^fjwTA+a=!Y4cuHS=6pE@t{mU(_t?=Sv`~Fh@$*ED{w2#t>g;1Uo5~m(=A-Wy z=Y>b*89jg!6uX5Iz%Mvmn0dMs&%B}y1unB3J=95LO1wtD*;D!v8X=r&g*_N0yYK-VM)CC<*_EA$p;VeRWTSbqdd0?Lk+gU)(N# MtgQQhsa#F1zd)z9nE(I) diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-handle-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-handle-l1-1-0.a deleted file mode 100644 index eb3d5fa196f988ce74842ca647fcd4cec26a7095..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4348 zcmdT{zi-n(6n;)pQle52Fmzxrs7MSX*r9P!RG~;=V5md~kPrh`Cw8%^^Fy&qJ1}%- z>B54<|H0Uue+V&9-n%hF5Fti5)Mxbs;aMtM$UFO+6CvaI{GLsq1X1Gk(1;#wr zcIN2_*o%Wf;CJlEeaUa3S#6+OzdK;5BdvaSU=Q6_?T>CJ5;MYPG9zoW74*Y+{f&6} zaU(eP{xGWalWoh|FViqA%hGkL-bnUqTf2r^24H9aH+gSKt3>Wm#QWKm4#sZ9u_HSh z!bh55oL1UlI0XjBg!5^^^^F)?z)k`0OD%jofvd%K!Yyax>M?E|J1Z%;cpRBk?uKP# zR+*Sp7R)LKX4xzo6(0V3W-h2A9Z6>QCE?NF(uc=5{#vq}8hw8GBYEG` z-ff_>_ljQ_<(aYk(Ljusj!V=<>un)sn2xh>n3vmFHzh`zu+dM?9@5px$;d|BI(Le| zLE;i|y*!72=ZmUIPZkaqUH+A6pwpLnE#XK@g)&B1r9@vG;5J_r`6 z24glgSey7^$jfeNTN7$H!rh;yh8=}Pi&Voq#qULGaME!TYUrio5;d&iZqKR)0OjM3 jbLHyhf;)KsR7NUzBn-UH!53_q^0>{658MTuvr2yf;C|Nb diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-heap-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-heap-l1-1-0.a deleted file mode 100644 index 1cd50fc1e04137d4b9cdb81588820e6f02deaef4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9076 zcmeHN&2QsG6n}BrZ3)Z5!fHVvBqJ4s5D9j-by8`Cf{OT%_E52a5C^7i;*iiJj%>pg z#9=Q8@gcES_zO63)#38$wUxn6cSu?{J;}^&z*>&Eo@;4SKuHc4+KfOi&F#Q9n^Yz@RirLcTwA5 zG!a=5_j}R1Ej%xLc*x~&6pvTz3oLuf#31Mkg#nl9w;Y=u6G(W z{FJM+SZZ6A<2cCDCeoMFaqU*+5)u{Q)e6Al+}f-(BJV8X_Uyt0>$uT%BX>50d)i># zZ=8hTIWV|OxB(5gvlnAGu(5&nr6(Rw;`U=X;kIYvnlaAA#^nNB+>icIABA=Fk2?8B zy^nUU5AC{Lw;J8y5E{L~&{N=l9{_w>>A9z|K*@F6k*eyHK7#3XGiG5ln^k9FG<%T^ zsue1;N!gTbwTWGGFl;AcL$zXJnNRWPgfXCp<>J>P5SR7&CdoEt+Es2ThEruOZr4awd78I9RQ92! z7t-A&vum^vb6ku|Jd4J=iI~rdaSnEKB427Nj1pmG-hc2S{knHAm62^|Pp2qIa*T8k zCjlP8ENx4_^_Fg5Qd73wl&qntkJ&CTTMB1fi zT;<;w;UCKW%Z`%4EBIn>PKJmco}k`GnJ2630Tf+PN@GMH|CvW8m z=PwfHY%=HRfMvB;{L*nwa+Z{mJrymB>3e0FesCif(XUtcorLKZS=~37>FS^m{b!Zq zo2S_S_0|1lC85fI@37?6T{{;|`K}9>#rPX*#`6qKt=S8WXR6G2dF(BDvAXe0X~t`( z{3+vg;j$RNyJq~-8E;6&%a1sy{eQ8>Yu~Ii#-|^$mUen$mt}k_e|ob%r%a=oi^T60 zW;}nBTxqsH$!mok(Y&N2R2lFsmK@QfpI=k5YqDjn?p8^zH?4dG|1|~y=bg{Iubpcw z^L*wLP4B$(nSL=Y7taL6xFmw7c`tiD1Caf)E}5~qG0k;)08Hr_O+yN}G~g$!MfQ>B M{FA}Lzj)RD10J5Exc~qF diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-heap-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-heap-l2-1-0.a deleted file mode 100644 index 5ba6e4e1d5e19f0833444db207215dd08c8f98b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5844 zcmeHL&2G~`5FR@zEuoY`LF&<7`|rOJ(^&JqG~u0LD*%?00~<2O{5C2B5rPioEy>fb!B0%8YF>_A2m(0o(CL z-jHqeTOQl*?zw|5Lt)pcI?V4jC`&0;t^R)C4hD=sy@24X*&lkW%)GlF)H-cUQgQNqHQ~lV_8lGH=n0^Zriwq+YGR30NmoO8KW@r z4o18^xv;>l7h3MfoebeUHL#BgjUYG!1|JF6r2$vU3Y*177XO!?_;>=huH=N9n~bX{ zoP~|~1f1$e_T_s)9@&>C_T`CvdB2n|=Iuhu_o2}4`kn;;J_dMewB21LkaAsjG*#xr zd<4_=hDMZ((R7xXgwgaxI>;DQMw8Sj*VPPmor2+dA~s|U3(I&?qZ7u2HkRpIJLh(1 zdTv)XDlu+5xCe`TIoXTmc1daVE;fkU%aR|o$4T5)c)iweV_VVtRhw|CeX>T!4zuLm zxz*2d{oLfTX;|Ljo>+{@83XN6=l$NUkZ_*C1y};tuCN5sFX=Q)x_1%(Ic6IitXNJp zSto#Q;wF4UN%}D;z4#`>XpUP}U}GwC^ExwXL@aBTYvusiOUDG_vcBIWnZry`Wk)ic zDl5IHG4}GbZ)Ke9jW#cY(IpZ!s)%VNpxrS&Kd`pX<(pt4x60r`x zKKc*Bn&^E>G`p~ld;A%I#u1WLDWS@QuUN*DA1_8a#{EAvQ z)+T(yQZPPxvX9;uQohA#OfOBx^o?SS=~w=JWz6&i+|_BBZVIOJ8yZoA{NiP0`yE;U zrjYHAgn*YOe8yU^U0q1^`*J8dKfV{Q_>OxboO1H5dYbdh-|*dl@T&#U;=kv6xZLpD z&k5Q2@!g)1?`v27J#H8OLm2so#lne*mZ% Brsx0w diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-heap-obsolete-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-heap-obsolete-l1-1-0.a deleted file mode 100644 index 9f3412518c2c7113a1882e2c33f96c463a1fc44c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5156 zcmeI0!EVz)5QfK2N=qn(B7`^^36MawvD?HAQiXzg;L<|{>V?bJsolnk6NfleD^5H@ z4;*-$J^(KO4?~&RT|4V0Zqoy^|G@hI^fNwKqn-I1R_eKfB== zhRui6+A!+2D{t7X0RUdwZ-DAgfQ6>G?$rV4T3Qj;GPcVrjBPTulLW(rZ3m-Z$Tnj? zU`Ju!8-xsvq1$v>6t?M-R&4zEDDegZMxtIqa<&%_1J((=0gKy79N}Cna+t$x<}sYD z7XYJSzl8OGeTd?=7wz<;c(2>4!}X0gvBYkbR3y8 zdx?q6nZ%q)%$X^3X5^TTX1)5qd?yH=M3OL+xNPuLE2S6(z2CvYm-d%p z{8uT`D83_qR5YsdMf#WfZ4QSn&~Tp-85QkSeiHd9ot-o~#8{UY?=?<*XLjP7PGf?2 z7kA?!|25U?CVo{q6&_=Uh<_?cq1~QFe5zMlMVCd8I-d4Pm-f%Mi)fe!s_874=l;3R zd$aJ~;fFEGv2b=^f7ChbcZG!$2iFi2+`A$s$iL*%aZ%44@tr54go{(&siimt=<`}s zI{d;;iD{^WTqkp@h_%GVvc?1Mvh1>M*OgeC=MFkXp6TI%=vE0J%K~02IKC~Jr^fhq z*(J*cw3BsQ?6a~ijI&TKyHIxYr|YsNCmiym+&urR(q@>n=AT8S!*}dVJV;G{yejQ+kLMZA{_2eEi)UxU*sX18x9m%P zGWM5nk7s3Hm+aFMGciKU+*I}-(GS2fX8)xy@LC57ddYtJf}oP0*~)s&8FTN<$bIwn z%*Qc+bN(mi{ssTwDet}FFDL9*0RR91 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-interlocked-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-interlocked-l1-1-0.a deleted file mode 100644 index d1fdf0a341c430ebf9d9d3eccf99559fd5afca29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11346 zcmeI2&5zqe6u@7c{pzX}6`-X+0T)_6Bogdw)|;YL71}N8q7_;MNE{Ge@5bAh&6g4{ z{SZPuaNxk9M@|SK!~tl_8Q&mlfc&VzF>xSQ9cNqZA0hIp%SojNI`5iBxc^824 z*`Al5_!@xn%C}yA`d0wT=YRL|3x5Joe(`TFzq|rK`L(N*P4k**emJs+BXh@g?V)+C z-?GhHPR|-RCN?@o!!SF}9%a83t5*Nk$QlexQtFOK-Q4dFZPV%DDLVcAL%U^mbW=Aq z)51opYlCUFZL4+Sqk;L}kv+V#X%F1?``gaQZPsyUr#moZg01L!caBEw>pgdP$LrMy zdS$9`VSm87hl6HmFxggbe`t5@9=qH$DQkbbgBLwE%TzHFT)(~Fwt6@1w_2^HY@%aw zNzcq~BxHRy?X0=Qq^#Gqes^FE?ch?HdQEaiWJ>AhFzU^kHu)^R+E&kT9joKqwZ#hG zKU03A2TsTKJN^3*;AZK-It&{8cD{x*WO-~{ zQse8Vr0KA=E2rtOb)&T?m#B;y_VT}pwDZj7qY|U!7=Ft$K&;B zY*+*;=_#-%*5`~k%46+q;cQVIldv2(aN9?{L$5{H8$1Fc#OiuP(E8GvMu|UdylYM{ zB9sGbrbr0ox>>vaaLSQl#DG?b4!HpU=^j zX*)@l&F?<7EMa~fbFg#LV&F?$hDi*3?ArxZMKW-}#?4}2AlFMUa96GuGH@Q}mzRN4 zz;@K}C`s7Rw6bsk*ML&Q!lu_CN(Fw#nujs*sY?SOiApg+Z^TCw@B}?$HvX_9v!(}!h3us*9+;umy)@?$0DaAe9JZ6WRUly6p`_!*C0v-zQ>xA z5l&l5MO<1m5k^iTlKx^wMC31yL&O3nB6@>6)qAPueEW}x*oYDF!x$0Kw53RliHl}p zEguuB_1PW@@2lr5!gt1@mv{zcd1H)u&P4FaAAg-7BceEUT4RjoX#$ucF0ObDqEz5V zthuLPQUku@vN|ZPDR6Sp-O@8u#{1e ziG&aq&BJO=9%k_b-Ptrxah%;#ne!0-c0AoY955C*J;m7c^Z#k2@ZT}?e4NnV#6*gI$Cz;v?W9z^|9LqnWpH93q0`LCCBXydWZQ3{ zN`c?7%;4mBe~c=em7KqO&!P@-&pp?YjK_}?bpW!G`1hNzr0I>tb4DGBY4c5%Tv*H= F>pu^$!-oI> diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-interlocked-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-interlocked-l1-2-0.a deleted file mode 100644 index 13808fc7a2082eaeb565ba04efb23d6cbbc3819a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2794 zcmc&$&2G~`5FRHfDNzv|IB-HnfZ%|Q9VJeXDio9aRiK9snit~8vPh)|>*lT+tiTiZP zD0ac*JoTqjL7-7ea50$7LJ^N~iexf44Fi$5qAncaW6&RkAVd`U!PZv;@oDi6$7gBO zjnnKiH6JcIu7|G?kEUV`2m=2k>}U2wv0cQn>o}h0nWoon%~|dm_mF6Sh5_)9y*HB0X9s@f7ejcY1J0G*Pt!Fp_(8asCVbIQSloW7;Ct!D^X0gviW6?X7}rv` z*XSIqz^QT6hc!wq)Q3g-urz&GiEGs@#}1MNz#hg)C?EQJ4RB%%{Zkc?ah*e2vV3D* zg6aH~iZB{?%E4X=Z-$Ee8MUJW`BTz zDo{(OK$ZD4BvX9pr z9PdfJQ)h0krp#*q?IP8>Z`!)Bs69(HrHzpE5R>p*L?46^ii~{jQj^ik?=GC diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-io-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-io-l1-1-0.a deleted file mode 100644 index af43d3cffeb970a1d0a0351f9a3fca7b6643c564..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6968 zcmeHM-HzKt6h3iw*(H=8RkT`F6&P5!YJ#23Iw`79q^N~fNGw!H2qDcn>seyz#8K>Y zSG_>JC{izb%N5)p#9LJA3-nR?1hnVO_-C@QV;3o@B6T9qjE_Ihc+Py^oU!xKHG6V2 z__Fr7KAX&a)54#z-_dnLTvBsgw~SVF!(j~o-T~150@%CDjXZ#@H`Dvd1n%qic06=DB@3A}bb-e-hZ^F(c40 zAUHenC!D!H^Gs$kgV_w57;<22z-?z)od7%VgYdg4pK_&mJ9d@1~Cf?ZnSGV*}^J>-WQkAM-Phm!@G@mW8}*OP=cbVeOmB8%Rxn zD-~p*sBKmnAwLa8JwMaIIBYm}Xy-%3l`a^M8~q?CfWdvjxzylpE5>eMWdol}O`<)C z+mG#p+s?nuS&m=#+8|P(Lqd@jZ0KT?Oj96 zZ`nB9qsc_8WjDgaHXQNe=bzHqqerO?cYlz-8zLNWj`}5z0=$Wb^f#TWHPz?Tb#*?f zfEss64TzBuLwJmONi1o6h%v$oGfENTrDu@JqWdXP?@}qBh;tfaZ23B}P@%y;m>2Ey zN^J(0yI)oG(JH5pmibyAIJZ&)$v*CX>0<+O_vqJ81&h{KAG`Sclu~`*>s^vG_!sMJ z!SG+=MQ3FS*(;}zJ#}9u*Rcmkm!b&rv!s+@)+!^&vC{9N2r|yb%|(!V*|z8#kwnyV9R_wK=ubkBF#Fh;X@h#rc@1GaV|3r{=^E)9=alk zMS!J#30K}Mj8dAgI`ePdr?_GkMTY}rRb6Ft_(|z^QFL&!adXjOl#NR?fq$u#)&xNM j)tvaU&N{%qi$qFw@L6P`LWAEiXX$Wr{y13jcdXhA1PH1h diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-io-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-io-l1-1-1.a deleted file mode 100644 index 9a00e8232257f6ffbfbacf4c0bd1686111075b46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3484 zcmdT`&2G~`5FRHfDOM32IP`=Jf*T2Tf1DsyRip|bq)MPlAZ{Bs-Vjr#j$-%cSl*y7 zz?~=Pxf1V1nc1Is(>O^v7{o;09nXH*^^U*Kvrl(|ac{6|zjCI{+xC3?x!aqLS4e z@bo0k-kf(fTwFLBj@W|nz2LaV<9A7COJj`)gh_vtHIqr&=jGdTUElW|$8X8}J5JZ$ zw=mskFD-zF!dtPL89&d2KfiIn?KZ<83+6+_NC({O=3$yHfx!jgBAW2|md4i5so`^( zCgzj4Z5=1v>U>;F;~aF>3UGQH8PXW04P;1z7}AK6M(j24*9_wrLCt;?a|Ql&1MtP_ z2S+-f;%4q>sp_ru2xjK3G7n?qtU3>4%=YmOJQ6#o{cC1#s6@hJbcosOiXHTZi+1IjPu zG&l3xBAYkyX5?o_tp9rp_s^UQE94^vfQu4&2YY&8M1-jWIs zBP)f-6s8a^58E>c6c7&oJauf@2D8mOvt6h={ic3h|i0DX>? g%=upxAkP;7xdNW$TSrZN!#k$8T6l;rxu)2^0hlX5VE_OC diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a deleted file mode 100644 index a851e732eb78cbdd5927ea346649de2826ee2db7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2796 zcmc&$&2G~`5FRHfDNzv!A;Hl|aKpwniJM9l3hK27Bz}%;op@7Qaefp#gi0KEguViA z(kJ1{TTo`k-emJ*+6(DK-W|_=-f=#En=C)iPe@?4ynhr1NqiK3a zUU9)$0|06OMubxcQ2#}T5GO)>O64>a?`0;Z;$$33F^@;VBo-Kq{kAWXxJyS7#VH)m z(_k_Y1RACU7rpURih-PtWb(!ni98Q_7a|y?u}ECu3P%J2Hyuh4B9cM4yR;xa$n5ht znGNM>(3Q!%P8;tb9!|uT1qd(ZvYXjs#d8_IuH*Q=Z<>crbHVSaaStg5I5q$tvbSg0 znf#WqUp|=NoY`TJ1?3Q4>40-(chmF+82lhyOdGyvDl9&DsNsF-#{1>CmWmT@zZ`d{ za1J^LTX1R}m0=B23zcD!GAyMGD_4d^%CHjGaxKRWlLYL3oXFzhKi2@~Mn4#+KoQru zq}0{5`~=f^tdwCi4y$DtjX&a~YS6f91;@{T#qtw$Nc+zUz0fn?rhSFiXAQTgC4F7_gj4?de1L&E z&`58EI`i{@z1yfh;Io)`^D~hQ_&I|TzRQO#^rZo*YRAf^6E_2cT_jEc+$GA2a4?D@e0>J z78O8~`Tx4kqD#tw#PVj3QQ5g$-KIL zNoSXr%NTiU-v<~WEmAJhF2H>}a*pX-_jH~qU3IhnfZnmW+dxqZ%o1h6tF$g$RJ7KA rRw{`9Bi%z@adbTyWzQ?u6zJK0Ly#hf0Njbt(9;T(W&N7-aLCeZ+<_&H{-s0 z#~dH^KUw`qolN?sZs4D0=&GuTF1b`yqh$ma9IgVu4FKhDfaSjcUOMpe+5-T}uRihf zjh|5s^BceVdHpv4%5VSS=bO&}Za!nI!`PQDAG>Uidwk3~PLH!QYiN!vhC&MmX13L( z97wV1IcKgp8ZlBDxTMaGoH1u7d_3g#MuXY>p?P${Y@O*$VU}zY#o`@zKa%dCoV6bd)Ily zN$u0~ownWxhn|*x&b|E$*W-gd=Zuf{J<~gN+s#lrs~6?;q^G!C_t31;)Y5vUWIORp z(t0{$ZhD+<+uO57e5bt;J$!0c#~EGFJmpzV$e?#|W_G>06Cyqf>AI#F27=t!-i(mG zTe*f{2WV9g)1tLpseAm~6YcCm1?{ljGd(j~Mf9{mds^?hZjKr}COwO8c&i!eE@5K{ zpG!{Se!kvjC?~z^*?L={-fe8GrRatI$hF$Qts&QH#I;(;wVKbhnyuILnpW@GHbDIt zmn69GpXUG%E63(ZCqUH{``tmEak`#?-6COl3GF~95MiZ0ef}Q(y1a~K#KNga3p)vcG!`Kiqf^Yj zjp?`ClI={xRg)eEWdAJu3j_=hR-#exD#_;tJeEAp1aHI~=^1>U(e;#Qbe}hGir*Mp zM-nZNP^G|6Sf<60nZad=L9g&Tf(J%19&9xwzvHjWC7L3S2Qtpeq2Er| zOQ8Qzx?Y6-bzJ45=wAXnk4c;cEjA0@A+TeLS@5wh5TydYV9nB|oqq^67glT(V};&I zL{(S2i(3&Z=-pV96;)!z#A)YZGlJd-lww9ihbt&m01xa1BPOOC$4k@35IysVjv7}? zz?Je}|JnPCjQz?BF+rJT!p{GX2{|7x=He6dVoYcxBc&^!@M1op0@I(O7Mlrg;hTg~ z>=U9u6Qv3~!IDi+Iq$>VT)3bW;)1cAjE_8gmFDdlcBN>$%w5BQH14cj!(qB!w3y-P x>o@6okyoJa8%5(Ifaq&0B4u$;UFpP`Qp^E5dkd2SKVTF8HzDU^bD3W_{smV(#wq{+ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-largeinteger-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-largeinteger-l1-1-0.a deleted file mode 100644 index 90fde2e4784917211db1fdf074f2ff78b99173d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2700 zcmc&$&2G~`5FRHfDNzv|df>Q7AaTIP4vh&?g(8&$haz!->&A_p#MJpw>`;zex%CNn zmc9jVLz!>aPBu+U;gEEq-5t+<-f_N}@%YJcFzXH9HeQNV@mikGKey!x;i@fj7NY6v zYazM~BB~Kt?|C^Qs{h20@l1VTdMDaL_27FTDNl&^mkbKxEA}NPa5N_Wc$q)17UHrA0`YdrTqGkwx@SX?vEFMc*=|mrsJ+t`i1X zP!3T$9dfUnvoyU0M&E&pao|&qqZSS<)%dwgQRit~tFQyNUygfS;GVN`umM->bL8z& zYIEdmMBX+dZzrDZ*{%~N2|4{ZiSnC%UlR?iesEqGa=XbPTvl)R1!y3etAr2baz zu5-OvuzSb~a{Y0hCy4c?TrcqEYTy>NW9}C^aD{$zJzztfFyk#ySNuFs+P`G`P`wQq z&Z07h`q^+kKGznNZ*&J0q1e?G0e->hQp~rFe&)3rQQ#umv7$NpKFo>cev0K~hI$H^$O+!-&L5b8b&_B^X1DrGC%k28HrUIjtGOM}x%xBNc@%Q|~|8nYN)ZQlXL299OdFdne4op941?XKCj?*u`=hhw|@ zxYn#4Eq6!uW6#-eJ?9&o=J$Qwkl=ZpnRC|4&Jmp(zT?~x-dP*kUmd#P*1$)1q;o4n zNPYcIJi9652Huu$L*E@fyyx5Kaj$Qr(A>UTZeZ{B2-v&!LD(K8 z6fWYfu4$%eB6q*I9+7=}`A*{)(ifoDK$h~>Vxt{8haqnl7baUGQ=z#x7uE0p}$rem#Nf#&*ITFUGCLxNF#0$-%|_sG`<>&_WfpNJXs) z6}3FQWwf-m?RkW6?;%g46JNdpc-Yvp9>s>pF8h&&ZBC6%FxiJn5k~S~vj`*kj{MPV zP&t_*|8l=AVpj=<`;3^;Y+RkZNOTlmoiGZFu&nV3woHs4yaD5TdN;#(6YmB-wlOWd zZ^j#Z8d#j=v%$C!F@^4S9^+%YTuZn_L2`fGCS2T}u2;~o1XR+qV2S(Z1Kz5__W=(t z2*<>^1AF1%@$iwbaK^!V&;<9c&;&&QeA&C?ky`w=EGVWqx!^(h@adzRWrMUy)v>Ld2i zSj1M`X<`;WrenF4QCc?EfE<~5WPynN+)Fe{Gq$8rBew9BPiTg(k>(&YM(0za#R|=w zV7Ht}9+sIP9;Tq^x)PRB8ES_kGCGN^obi*tS+?Tjhrv`SU zamzH|<>N9M_&Fb!Xn=T7RRfEpfvN4kV9WgK;5;n=Q>p`eNlcOge`1?-FtzNm*PG~l zsjgSML=l}MMbM2CgwKD6p{VdS6|s<2#2U?Eo+HEmQ$&Rq{`zCY^@@s+z97Xh;x}Z< ztQhfwpc-dfoiSoh8n-M)jPr4s81ZX9E{PErkkM6RL=&WsFcaT(=35mi$r@7{C%zO0 zUMlbx)~smh)jny}uMeZ5KD6w6#36EKmOeHmUe&3O2hzA@`mpnH8GQ`%afv=o;=Qk` z4@K4oo;S~t;zQ1TSreZ{7OE8Z9ZOjg=|@yaDBM{4UP-UWd?WpDA&v}3Z_t+$=AXqo zT$T9^$b65VYxaLaB*&CSgv2dqRp1XSS!T&I|AMGL3TPFz(8)%Dqg_&}g*VwH0Tlj? gG}oHAh@7XCYT}kK@KS-lv1Wx!Pvb*5q^@Z38W%1(VE_OC diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-libraryloader-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-libraryloader-l2-1-0.a deleted file mode 100644 index 0757c26ea501c9d5e332787ec93ebb158667d8ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3660 zcmdT{&2G~`5FRHfEou2VAcTa3j8qOtb+FUM4ONAL$^}%3azNs?acZYAaeidGlwMGe z9QzD?0uDStUxSyS%#7E`rg55FFk&k2u4lj9_0E1@X8Uy42@gB3$}jXuvuc)&e`ak{ z*G=wHOI_czx8#6k831kpXg>f-7XT}FlV^1YV0A}`Jt00uUKoi3FZM#QH*h_1;`g1Q zFVN}Rbz1~}iyrC4${n0U&TuFQ)Qbo%4hNw}pwJ0VgMs7XR6$i(!W53c*?Jxb(eWHN zhxI^wIQGKR_rus9^qt_17dWT;^hxgPgSQRK#xL=ELopXcV-B3du5;wM`^nB4^>lD{ zC%D~VyA@Xk>3PjMC(AT#+tzjaB_1GKv%Ih2F`?BpfP36p(kij{HRks0LI<;1ah=$i z4dI>!n3t7S6wQIb8R2}IaD6MqmatL6?^2EDOK`Q+Pq>xYxa}0TfsM5cT-uM!GJ27L z%rb~s#sssBplVo#S#g7a@Rhb7cyi$HD}W=d?Q~Oz^s8~CWsBF=CYTz-!Yqsuzv3*6 z5<7}VQKNFwWPCYpOW1V-hGRy|C~D6qCy{UI?1U-60LvUzU1r927H53js!cK8#?!dZ zyD9x^##d!f;Q=;?@sA`^=(MvKpW@Y8!HpE8_NQ&arS0qW8akGNO8PBW=J?#<)*^iG z@J}wn(U?2XjyuQwZsK9a!9UOhM>o*~#g}3_HuX0r`Q|B=FgWEq)udB^K9@;RfM3|i zG1=sh(PRcqv=*6Y77K1(cG<2~6|F6EfW9N2=}JKCRvAE^6?`_ZzbQFSmHzj#%P1Sr zNp9g{pOtlCoP{Q`3uVVR8#mG#&9{q~Z`n8-yV;&#*^n6N!b-oqdPZ;O=VKq`r)GW0CL_h2N4nXrHo_EqiRRMltIrqA>*rh7BOCaYZ){429R;qX%W22i`a$;u~qIp{R zB>6*Co?2-s>)xc5AR9NOl`q-2kyak!{u&a4O=;O$0m!%>p+F7 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-ansi-l1-1-0.a deleted file mode 100644 index 6a3e88e583ce7b22a409955c39c811bf583d39a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3624 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 F{R2&8n^OP) diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-l1-2-1.a deleted file mode 100644 index 974c1c1c2c53d15bc0272007ccd7d58cfe2eea9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2764 zcmc&$!EVz)5FIBeDNzv|5aPhWNFZ^*#!g$uLKTWs^;RJygv4#@#2aGOjzjFy!l|Fo zf8ZxL_AmGw%FKA3Y?`?3CF!)@9nU`RZr;A}_~l+O=?_1&-kI~}?z$fSIi6#h_>ZQy zrrGvA^}taJ02%;B54(>5%|CPru`k4zOinWKN#=4Q_R~;`(`XcoBZ0xl^F0wqJ-SpB zyD&Y?g7H`oD9H#e`sqZ9IPC{<^ef1tbR=R|w1q1Ifs-W?gc!;oT>Ww&4n`-*=bu?F zlSA5%%nr`Fu7?|llCh{7h46bKd%2yK3|BGhI*#Wdsh;monLRWfAh`fL2Eb$XHViwL zXF2=TjS0??9R_(&4dIb4IG1)W%Wi?eIpHFj@YPO<#UqCX?n^hGufXk=al&m@<2oho z4LVy(aOF5^!b&m=HDQq^EL{^;>{@NhwZk|Ddl1D^J@oGi;F~cBj>~|G>m1UO^=s=A zOy{pwh0(aHS79{Xh>N;G?Yt>&nX?TXx&gy{kt*s2F}7&s?1ZVo2;24LB5Qqkcdh&G z_JY)ebQ*=n{&y`N-te0uM#Ou9=o92!_UiyS9{p3yD(OF-GSbY^zMX$w~mN{gcZnssHPP?OJT9fHHM>SLNCT;8IPmxW$-s1RIrFiPh z)m4>g6`*sZYS+`&g<18Pt13QX;^nw$rqO(Ri21P`=ixBhGixdd;2~ZG&vdVQI@h#heX-VnUX{7BfYLuRMXTUbTBTK4tks&itl{5D odnmGuo+qQ#i>!IU_W(3c5qYm7)YafOwpE`vH-7-FE&E#k0jkO6Y5)KL diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-l1-2-2.a deleted file mode 100644 index 0ca1500fad22d9430b73f5607647276334e6b6c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3630 zcmdT{L2uJA6n<&Db#y~;-~bmC5J((INxC-eVM3KQfsiJI#JJ*St4qVurfM>6AcQz_ zoVau4%3s*O;Ljk&dybvDYtoIwI`OL5&huwGdH%jU_uhs#-s?ZDJTa%uX*e$a?8drj z+M-J@O>@0bmjgN#09XbvegKrd0hE6y*DCr}ml@k+>`lbS5qrgBK4zO?m$O5E=#6}a zPTy_0Ebw>fl3uL3;bG*BMvOp%h~R859CH?gdtTsw^kP38vcO?A{CNx~8*pH(&%N&D zF9&RU^TpOqxJ}Q(U*ghj$HmqC!H8vdJ?HW34^hkqTfFBT1hF=7kFc?pfm8j+Cu`RZ zwQ4sApxW~TE(iTN1$bxlynW@6em#b?Wbw?p1k>YJ$irx{E9POexKS*M29?t$V=H2| zgk5tmB3{IbqCpXxH8ne73NXZSaXKch_y2+GEeAhQ!a5bjbr<*Irg*K=RdcfC$!gDTvvF#)^MqI^nTSQoNAw~*U(W0D(Ndw7V)_*S{Gq^UwmT`jwYA`y|{lc z+)q4$Z*T>Q5YbH(LGh)SPE7yWB+opf5dl_grFc4)@6yO&&7MEQvKZD7HSs|rG zHky;j?Yykgbefvd$|5|Ukj-=eAa3jXPo5RL9%KKGWIR>o1X3orO|vFh#6<&TC@o{>dX0m*$4C0YeXX<1e(Sj#h0iV^Qf&yXmL#*@+NiDK@EdjOgz z@ucAsp6^&@pN{4noECMWn<&A)pc3k{O8APwI8O;3$quR(sf731y7QC}XXDbXR7&`q zjZ2kq7vHZfG1!!rtptGlvo8%KHvO-vxG&#)qKaqILsbEOV#)GfzkRX42MfzhmA~>Q Bd5{1A diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-l2-1-0.a deleted file mode 100644 index 0b23b2b118ef03eaf47f8f6e4919455e890858e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6994 zcmeHM-A>d%6h6BPf`~scYKYOKCYpHRuI&P4F~n?wXiSVD5u;ZQWw)>m?JjA%@)Kit z1mX*LVSEqX!dLJCycW-yPP?=HVV4VPPzGi?o%2nnbNYQfGu?X&hTCX8op`MDCv8^K z@lVxNMZteea;Ye@^TD~ItWE&H6@cOwfYHwY<3EFZ=@$UytK&hweglB=&4)prS^$_@ zU~G}Gx1Q;GY}xcpmo0XhCfl~!#+Jpf(b8)=v#mACq7@I#&bDW4Z7~8l9>H0o+`MdTnBKd3P41IsrC!er zzc)@|q%#G#B}G6fgfQ5$8)E2B2bq>Zwyjj~-WYh|_4v~8%YTec}W{XPQN zD6AWsVS{LweMm!=V&f7__FpjzBl)hBg^~P5z9`%hC+-IX`ItIi2MXV?l$YaSA zUY#&SXk(e*JBhg7Isw;f+H`{JIzEeQd|D%ao9orkyZD;tT%Qs=p=X`O^$;%~C0wK( z*&fyj7uMs)No*JcD(NjS#{F}d*M?zxi^mIuW8%z#b-&eZZw4)#Z}1ls!Mz(Og8WN9 z?Irnb6Wnt`BODyEosOhZ0Ed@BQG_2@$uCl#el!-re}a_eshDO1xebacbK1P5v@!0U zPsnCk>=3u*=T9xT$bm;_UlEL_gK~ONC5i&{94Xp;kj8~x^y!N#HN>>iagoyKdJBkg z({VbQc_IeZ1x7UCK{-5nKxYRBy*6AGLSjY4xkqCWR{<_!4tz}Ka!vL#4OdFW8IU6~ zk18Oz&%H#WU@s}k3I$7XrcW_^j&u)!!l*wb8a+_VZGKMk3R@z#@RqMwW-RoMTLk8{ zKJ95?W=Jhm=Mq}jM|TX;!h69FI^?N^HEG=Av|y*>5?c6}j*A}pEu3FnV6ZAux)w%A z3-Q%F_8?}RRXyAhGw$i(iD;oi5x!wbdWcWEe_NDp&1uip)5P?UnmCUS{22$dk9Iqe zCQcF`NzzMbru*27ToAu;8FoA>=0AuJq=)#l z2Y;H%UlZE7CW!2@_x`D_nF?GJv2Toc5C8m{i8K+Lb}UMyT614Bsl#d_xu@PoBAxFe vNKyD}2G}dowja}Dil!=Lh6A76;g%RZW|}D>cmm(P*ic? zzytItc!G*^Ux$~V%*xKq4mEzu9kpJUidc=Ftux9(P|BTTOK?0`+VRt zRQhhiWr2T0NolcYg{Ki83>blW5y9DUIP_Q$9`nFIE9 z3eS3REliKB=&T&uc3syrx9#WYS?w8kR47dY;I61G8MWB^5{r6qW`ccKYw?&DLqty# z?919w6wQFaH^TWe;p5E&Tfs^N_oa)NPvW)`J>gc0aoY)wCSJ?ICH?4KRxh&9yDai9 zOZP4-@h&THth!~_T0ubLYHdI8)C9k;06IpSpCk&U*X>Emm#^)CV7e_!MHtPFceU_fKTnP7m6r?M`- zsqlcSP+be%}?> zFTzoT4?#Qbj`}B3BRmflzztzt$qlkE*>o)W9VGWW!4?5d{GLkUE5K)w%d7;yu(E)_ zGsh^WqO0IuWTQBefHR}d=J=(sXDkbYeMkSMX9Ib=?h&L}!SodSKPnDTVg9@5lST_V z*-c!mt*r~=D3ysm4a5xcaVhs`z8%Dz<>OrJ7V;2tipE(nFRz}E=KNgO8&LGpkX}h^ zk{1Kq#w2Y`ZM~-3o0ct4#v;%oxQINUSRt%MtKcXtDl2Ylu_(hO@vXE6$vqlRLaR$I znbbs~d8Fp0Xv?ew7g(A4gqr=xn){=WVwB*CeM6qq@u?={u$u7XE1GB)Pu?rvp<oIlKPJGyX=*KU)0( DROOT2 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-0.a deleted file mode 100644 index ebfbc923d103fc8e0e4e8146ba9e1cf1b97c7422..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5132 zcmeHL&2G~`5FRHfEuj>O_&Xtk$^|vSE~%4B6^c};CnSnQd*HyjQ#Q=V_S^vMot*99jEJrY^&XH z*s<5LJ03%!XVom`dk0jd6uUtdP63* z{a)lM*jkLuPC&!6gKoK!GIj!7vPP%+N zy3xVdFE{M2JsQGi>R_Cg52EN27f0Vr&5i1$-{G@bv_4J(d%0VKlB9<5qC6 zI0P5ZBkxK_uj17SlLHsqS@=3J-2DfJ z*9@1ZLJJmCW;2P;6ZUWrKD(p+w>PWRQsmfQbJu0eqftDJB>I}P5*S4@_ubn-dAsUk9#Pn zot)Pa-Y?|;*a5yeu{R7<4jedw#I=7w@BBNQDeukB?vA~mJ$Nfi8EZcL=C}KH-n`$wnc3?*hI2Id zaP>xQI%(UQjz4u%FomwMfVlfn2dPiqN>yWaLV$~a; zy2fO}2xPkiXGdelWVUIKo$uLDWArl^-o`e8v4Lsy=BWtSy^(E9?px;R=lz@3(EQ}A z+d;jSJ;Bi>b=@_+J!gDmy6*niIk85^D7b5#(}kKIT$uy9W4fld?^vF>Z+J(8NMl0B zZTabLI%E5z$)wv<15K&jpH69Lwt@@da+KtcC>6Emsm5*ZSMSFNt7!$5ygFJj)cnHmMl7|O)xt4GtW90szO}L;v zTd$#D1*jzMuWt_&L?YPh>hT{X&6%uu(=-o@dM#i;Goam#boG`xMKIA8k!$*9teu59q3N@6o@*|#zMms_%(NnJG_RX~otJcfYqcWx!p zf>%lLRIpZxDpM@sW29&BSw+`VBJDm)-sJyrT^&k7^Kr>) zwIxLue^!1%GvsmLK==h!WpdzKNpBVhykuNBi2(KK$ZasWLgTU63PcJI0ZVII$UW1dksIb7UE2w#3|f z7MB-q;PX?8c%k|NUMlb_)@)|Tna2ZV`hTmS|2N|?;vv2h^J2u8(z~_H7;z}+&59Aj zWLzvpe3y(1{eKdBtI&X4_`@ov-r?U#>MzBO2&nJpwo$>e5e8*CPpWx=q-yI3tq=(rxfv^ z;R|@Fz%N*{so{3Bj&aNM{ANMVzt}DCx%3GTp7e&E|2(?|g*-pyoSu{{G7}2z7Se|= z?H2MtbN`+c?Wnba9ML|A?G`RpOVMtD-jYS5Lxngp`yFb*xp9rijVX!}9bdpp1%Ahx zqQva5b3eb8886g=T-e%eo-TH*xGuau;={*6LX`r4V#(5mE-j$4A@h$D{{xYJ#(e+) diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-2.a deleted file mode 100644 index 24be928bb27889d264e91fc68c8d0e66cce53f90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4408 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 A^#A|> diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-ansi-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-ansi-l1-1-1.a deleted file mode 100644 index c9ae77c84f8cb718531208e5694023f0e851e85e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2756 zcmc&$!EVz)5FIBeDNzv!A;Hl|a6z@PL*fLfLP5Erst33sHg4@;t4?CYsmg%^pU^wM z!lD1czfk6_*U7qxDI7@G^6u>H^X~fX8;_qJ`16zKP3xsuE^gQL_;R|hOw*A=dTpBR ze%?3DQHzKgM8-#M4vCsSa0@XM;zJhBGjS9y!nqjEf>4~tQ$LLbJ7cf!i6lP8t-Ra> zv-8YPQvuK<16-WU=AoGSlQ2l*G!*_ci$&rJT)yDxCLswCg?_M&1xXD3Bss)xj(9h3 z2kkzu9#2w!-L(M<&L+{qo-L`Z;?#8<&+|;vd)-loFlxOs?l7%HeS_$}v~~=85q?=n zySg&T8QFoq@T(zmWI)cPeVk=Cz~~!rF(!Q0DX@Il)Zl&TMb4Mwx`iLO-D+H~!0ofK zw*gm-vl^^PX0aM9sKHvQ!GapB#I^XcgCyYx>~Wlg>cL-EM4yeZe_A+{U*{3a)~~G% zn9gCX3ZwB?ufk~DfseX@x?B{$lD8cm`U6IC24&QZ7v)J*ub3T}8l_xsGZLZr=pPi{ zcYAA!_xLm($hT?Sw&L50RC>e)6#qmi1*g49@daLQHQX|S^zp(5uCTASd+cZuYJ3Zt zlAn9h`WwAR@+--3E>b%*UPNcp)7&E!N4F3YlHEKez%Mvm75$r&?|CgsB)HH!TEr>Q zOxAf-qn~VSGe2x23#qi%LbPQLN*;1I<(Hn@)uOE_Df-HaMgoVvbq&C?%lAHyzgMb9 zWB$MVvdjlK%MLI0Nn4jzd8m|MkRPMXxMj3qz5~Y0H{(1WmgOPW1BFp8Zp_Q8=jdHr ztbDM_2_GKl4{JfMM0felIYwW%be^$XeLdTdo||QEA*FxG5?0}-w0x_gSj#r0sFCl8 mJ>*e_=TWeF9yO0;p9u5h9!Gi5)aX0c8~$-Be}1+YbFJU4mEB7K diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-1-0.a deleted file mode 100644 index 1e51efd73f7c93d56749740411d54aa93f602fbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10316 zcmeHNO^@3|7=GjI7pvt%rBp2-FjZITfdo67IH^=sQG;NSDzu_Si%`X^cjG1QCQg*N zbU_GJhyw?Ndf>{`z_BNeNc;&7{0PeXj_vUz9>-p!broqR@{IG&W6#&~%sXTI zjqCRKpm$^aEqywe4b#G((Xe#g;8}94>#bVwU)T560pJ2a`50hjAK;lkf@1?yI-dVC zIL`e8K*vje2gfD6j*eGv1jp;Q0O+`UGdMQ40XDZ8>oE4=#2HW6j^jIH)){sk_Q3V* zk;~BNS}lw9-F-SjD<<9HgNZ#FF#-)H1ZM}svBNxj;B-gs$YFhxnap4|!#fQeV65lZ z-BT_L*sksR?^7LiunxQJ7MAM{MoeM9Gq$~neGsGDHGx*=-F9N|w(WKM&TZfJowjL3 zrOZR@IL?u%S-Vz`u1VV88;o!?h92HqT+r#ej_0?b7sJI6jhPmgpk_Nramx6>g!rwzvA z>i%Ss0fUExbLoax>JfGcPnNJ=a^Uw1aE-`LxV3a#Gs0cPlMMwf%14D)29pXZyg~}E zc#*;@eY0X#jB2;vCv5f5?K|N`|2_fuv~*}6MTXEW_aPNoo++1La{p;*7^&~dX&9;B zs4vPTil;-^x4h4mF>4Nn_ZP9ET-uzzN%$|iJ7F|9!nmNBb)A^rI|0*MMl->53rFGw z-jb!K&GcH>p>Q5gi0KzYme5G6m>%KfRKf}6$obJZ;iB`|bOQ~mKrzh$tGs`n65u%$LYxT#jK#YHSUyZ({zPkn5D_r{_(? z>`x;|UhWgAT!_8Sls9Q1rl-aUjnVzCBWA3|S(wekIgHyOCNyE9KYqd|*GG?H8?JR> zdR0ex#5yXASV{=eCk6U1pCuHQ^e-TLV(v{KWIgXCDy1A*VowoSc+01>!rMr72((4l zQ=rBMTEV3}4>Sh^mTG9BM1vnNRxDW47P5sbtjWi4{dS%S3YwG50-4z`jy_y(tfEI)8pnm>#5 z1BX(%^ZdX_jZ64}FVr|O;KYTzI#`92{WWLJ;`##}>rWxp!_C0JV-0@Al%+IX+Fj2@ z6!Gvy_y{YfHjH}0M;s$xvb3=yajHmdd@PkaPa9n|E};!ijT73S{a9XYtiaTBq=ohm z7ee;OdQhy7rkXqVaayr{p^=mO^(6PdMLuM4e^25}k=(y0l{=67z8aU{{#R<8;QnhT z;QlhCKMf@+E%ILBazYF5gqEOXzhT1Co1gcAaj_by=hTQ5zX6H%5Z@thvNR&kzeQ>! zWj;^rp~=Tl2om)ZUfM%{t;PwB5I6Grhb72((vSCAWS!7cYznc@_#iOwScBg&Wf@&? z!q+0jYGx~^W@@#>n(86)C`&URNn9&ZGy77x^ZZI*jZ65I&(t`f8CqN9)l3-_FSqde zMb^nHTo1BNTA_s!4SvCxDViNSlC;c1cNn#NYOt;)pTeH)Fs=wSJcpy5R}C7(uWtjc zEbfl`MQQ+s*jq&YgRB~Sk1>mzD{Zo8jfJw_%*XnsncQ2Py?cmRe;!9SFY8Mo>*KE! z7JL4`Lp<<&{Rz1-SzDAu08wS&SquJo9ql8)gPKgbJ~uJ zKfB#BO`E&)(ll3Fu6kgr4ggmGj2{5iZveI5=~X`js2>WkF2t)?PGYes6FCvDFh$k|6POq?uukdWtANQIzP8|#*QQoEFpL!!dlrIu5k*|BrZrO7uA>a@9lB6-t z7iZS0IJWJ&xFBw~ov+GSuaZ#IN`dSD+kw&VB= z7$Qfkll3w>YCt9J0X2@#HEx}U>jU0g5st>ZfqpXh zFd|~0G27r0^uW!$H*QD<}r4R;ZT&J2e3h`7im3FoKQqT&2BfUeaEqb1eW>2+p zoA1*-Aob+oW6XCf%g;oo9GB*Dh@(uyDzML~g4OPn3cg|>&Qie}#SE(Ese-;X?`bNC z%5nKJW-9npj>}bW2fweUFxXU9t^z2iKtJyO-)dMF4}2 IFrQrX7YMFy8~^|S diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-2-2.a deleted file mode 100644 index 8d4fd3433cf0ad78fa54bf0112e134524900da9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2722 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-normalization-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-normalization-l1-1-0.a deleted file mode 100644 index a55ddae947f3e89d50d2c75d456855c5517493e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6106 zcmeHLPixdb6n~p-ZLRe$A{7xL=s|GTWZR7^6e;!~f=HoN#Dmjxle*E}?2<&S;-Md* zM-L+6LHrD!{0LtCGU|IXlVo<2wDDl1;4JeeZ+@A{y!?LiCVOew4!XTtbJz9pWVTHU ze@45d>jv*qOI>f9;#$`?=Kx?HK)Vevy#z4(QRHJ-Q$F!Ul_%HjQ2TV7SkS8TH!L@j>KOJUU@C7-CuBelkal@BIPeJ7zn>cnjagDZZMi zf6e%obSj+11~Gm?GKJoD9^+%YS}V9jL27^8CS2T}tTBkd422TD7tC<~9Ot$&eDCqi zUX01P1KUyWh5uYwIOE_SXo7oJXoCDpK24Ll=ZI&{sDy)KzEe#)1@L((3Jrc>qrxy( zK`fQAn`grWd|GdIq5{ zx}OrwF7$GaU*iciu{5QHDh=LYnR84lI=)qQq@-BG`M+3_|0W)>c%svlcq?zw4F~am zLvn(uD*69JnRh?__wsQW{s;NEg#Tx7eP#Jyhvd{PPQ;ukq>IC;fdzbSN~s2t(2rIP z-ebuomaKd+0 z?T%#?QG>j{PY$;tE=vBViddEwsx&^ZOU; diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-path-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-path-l1-1-0.a deleted file mode 100644 index d46c94dea201df62a6c755aede3b7154fdadd1ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20254 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processenvironment-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processenvironment-l1-1-0.a deleted file mode 100644 index 8f36637dde6e063dcb24af58f86487f53f268737..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16528 zcmeHO&2Jk;6o0mpCQZ{8P$eQL#YI6#6*jwx<2Y5QY(ff$9wMdG2%&DAcvD;Tmv-GY zMI3tQAJ8i&Zb%3r#DROofj?RfCDGWdo%kn>z!S%o7Ag?ooIH}^M1Rt^XC2L z%~vjOHjIPTwT1Wc-k`3jW&BghYCf+pk$BDL)s>A3e`0R|0G0t}Zvo8j0G#=S$8)~| zP<;6}9xwb2Kym3JkFS>jC|;`Yc=Lvii_YWy*+Loq$V(Nye?dU_@(6;(bU3<{(H3n@BGu!1#S?jd-DO$OhH2V+C#$cck zsB02jJLns_HZb}Jx@qdY`)#A&>*~Fs)=@Q8Q?!PLuk7leX)V3coK~Tr?drqbVe{ig zui4SJkE-elenGoC&}0G;Tdl}|l#8fsw|=)8M!T`!(d(WEf&lVoYvZ0}0DN}qo?)O) zKWrQN!LV;UtXE6IS4yQH3H5i;qq+E7`pK@k!Vq#&lAN{q8N?$eh9s6<{+1 zaGu@GW{N}oXvpq^FL_Y*ip|Eb5e#9HDkx8j`=&Vt29F5WrWY=kZ0ro)%;0y4fxVC8 z*6e)3%?IPwZJdHPixQkI$9}lbH4E4e7pNaD`1|2PM=huYrP%Cr@S);iyQ5nV|MLvs zPUf(2*Uqr=MO{+Sxsmb-Ch9R8gb{R@3&IHcBc0?jboB;H$4qy#CJl}fY`NV;SbE2_ULR{<3MZhxj?Kl6-80YoO)yZjk+PQ zZjNc~OSEhn%9EXowm>=a7~e(tP0RWz$-g*%recs?PTE#d9d@fkd zG#PLxlpDr?fgI;!z!!3y!+_VYrK2+795Fzcd^+nW_>Lrdg*Tbii)^S`Ih17K2fQ9@ z2`Mfwv6^y(T98vfKI5km(@ApVYyd}U%#xBjaykY_qAiui#gUbW99i}Ikw<7dz}%hg_tN27^1Iy2>-yH4EQj zNI+?W`k zL}WloT<7I$An6=q*PxKE|L5{0^CK*=k7)_$%aUt6gI%-mJ*FeR#ICyMREywiJo1Ax!Nf6fBkJCFx=O`bdSoo- zc#lcAaf-O%TdqmA=ZLgQC9Af({}(8Yi5XFM!qZbBq0E@%RLCr2hH$PH-<;&}RHRcO zWcNaqJ-)&xh=~hP_ry~!oER5oM!1ml8TfN>A^fO(O#6CDy7w)!@fW%(l>_;|F4Pn5 zA0q922UOkN)CdE_z^V(ofMYN*d6USy fd1ur%rEA82xUS{y@ z&M-ZL4dUPfH$Vyk1c)yoBqR=8_zQC2m~#%{!XLqz@LpAQRdrW&Z#9@{b?9DI_w1|J z)l=2KU%h(us(U_hr90X0UtNBs9^V>kjW+&y?aTGL$FlT&z24YtHTfC0mjU2afTa%r zmfr(7^I4uAZv#*|+vMroivW}^oaO2H7XT>LFY@$BJW_h;Wu89s1prEyc6oZ`Z2(Hm zTRg4dk!3WPIbS z-v^*{>mNM%{{*14kJY7gfOVlXc#fwb9x08m4x@{{zwP^94TDMO?*!9e;%|?7fq!>! z)Ey6e6b{-OZGSk}qa>tw=#B1%-SOBbrNfZa{r%A-@W+$Ueh`M!{v_!3LVwus8@}gv zeJt)U0N?MUcpeu7e|H#O52iP|!&%VTz$*_9$9__XIgv`k#1;PnQB4!= zoStvwC_GxTr0|WNMUx9rC;IY(!yxQ5C5ml1N|q>6l%bW$F~sk$geN;ck%O|&-y2M+ z#}PMKGS!-;2@Ou!^H91yn@oZu(eU^!^;%l;l4qprQ;yPB&0x7eEYmp0c8REdSlDaB zS=bl<-$Zr>*JcL?*k7yDvNWiHlMIT>wz03CMmL}-Z!0qL?79K(ihjw)V;8FJJcL6B+ZVWqcFzwHd?r;f192CF_*1DV%)V|cF zYSa51{+$h$Fy#pEbR?eQ$e-=`t_FX{5Az(I&%*~0PRBB1Tj+V-PO#!GmOrsjjqla^CbHpfXd;L zPYVehYVcFsCp}E7+c`fkSi^p!!am*~4qN+J?LlMzKAV-@l<=;jZPzpU{cqXzWWP`C&=ETL zQEc{p{{_N6O_QNknfrY1Q|f(wJ*qgX*$;6~eSS0}DEoUUC;;!xO-H<&q*3uf9Z<&=O7v1C^z!Y3!JOby`0v-oErR=A>R_X5e%^9 z6v2dbM<$qkf5imV_dk(?3C}`2Mn^y@^O)ypssL_^39DSd_BHqw9{qTgRVczDFMt5^Xj31%C8n)m8qkDJ}y4Yi{^& zR91lQDjycfSs^(d%3}qd0l5}}tp%WRKl)Z6TF`Lp5|bk4Jew^y7F;&1zz+}-$9V;} zw9)iDy@CVnx>;Vq*sf=I1>dvlNful{B)eLH^NIzrH7;dm11|q#o3aR3g@g_@_%rTl zaZ~2;nUvEuhuR>ao)#R=7a|+M)(Vz;yyP^0l&o@$3bDp0j0vuB;x)r6RGzc4 z3VA%|r$ArPTy7Rn4?vr;2rqL1+t=Xdc=Yw^D#zK77GVe6BE{>~yb-&fX?7qF`p<&C zP`}*hcbYfStE)X)V2TUCf5R^2^K#rx=30 z>S~@SBfkiCxW<_)OOeHnJeJ~7lO3gIg_ET)P_L$q>{&%{!7qL@ z@J0{IEVFfR@)#u86YpT))=~(Iz`koN*<5K+#gbLjAkVzfBZU2Eh)nPAC^`O}=8Y0n zKIWArh0Gf{Mv}cMewJkg@9HYn8Itl`R>KG`G zKkzY*e(lXl#*s$td7u$&V`ist~{)BK@1D%oHCD%Xbzb+wYEq$4N7b92i(&O`6AGZYFi1R=M}*S z$LMm!2)f~n*&4&-ZO_AqQ^bhG`yQ$6{|81Ss;!>ZG@FFw6~PGCm~%CQl*NcVp2L#C zh;p;R)pLlkA)O0_F~Kq7+%%bRA4dn(Xo>g%kjFMWq%lFxpd z8vGIW|IzDvp0PL(%!IMZW~djP6apRQD5T%wy(io@c3W8e!dWE;TVnf zOomj?uqlS*S&6X-H0#2bArN@VJaVEaJZ*{>(j5!Zx@@pH1JP zLcT(Np6GK8^dHJ7H}ajHU(>7G$@saDLVAAJ__G;lsMaAV{O4JRv>@;=M#VR&lPq)Z ze~$I?dhhQE39s3&@!-dP-sWc7&)bNMBJ6-`^ts{z-PMF&E#nJ$cmQ!8Y;m-d_l@uQ Nd64}xPxD-b@o(Wg3U>ei diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-1.a deleted file mode 100644 index d0cca93e766442c3a0da064bee4fa604a286bafe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11432 zcmeHN&5zqe6n}B{tE(0&Kv1L#WofBY)C7As@$O1h6=~_hN(ENxA|ZtEdJ}KsZoXtY z?Sc^MfddCr^}-492XF$!g=7B@IP*tvpu9I@kH_&xTu>cF%|!E&nV)Ao&+j+y&Dd+# zO{dklvHDIW8nlL{<4R zo&|={!RjIg1mm{l9k9FDYg=Y_pWoNOxp~^u*6~K{-q4tU`DkeM{p+M_#%uRn(f6)p zdLzf$cP!WHd(C<z)!?dx22mB8(^l-NB#5|vXVCYoQ?D7nOlm>2 zKeZ2R&%R@N_MpE%=-RC>nwl<+mj%K;c1Dha;@}VCwr93ZZrMHCb0dRifx zjx2hXLdFw7sm)DU-u_*T4MULK?#S)z^ywMY&-W~*aKT9Mig?UQ@0Bd<0H)`2ws zYpSa2dZnUohy1@)TEZm&V5dRS|lo|z6|Elp4#*N$9w0t_Ay z&ZZ78*8}VV78dZninkraFwQG}W$F z#b2%6?cxQsW4mkl7yk1E;7;k-JP9iNdRdM%Yncfu$z#I(p&o@sn1zs7HAo5JD+8n5HiIL~IYFl~)r z_k{|tV1YFLg0Cs`w39SGz{|OW6AY5ugEHZQ@_2q0E0%#$S__t$e9o~_9)0gH3yg3K zOn2be>x}v*yoPBUOo0kWx*%S=SyphlCkN%}480M(%L3D>awGhgc|t2{gVBJ2S@ z%Q_BrER74H9g5f&vX8@LoM0REcO5ZbCgXH$X5k{HO&{Y|VODwk3C?pK2fMi4K*$nxJ0DBbI7?1ZK$BRq?`sZaMY7~m zY1}N9w3Bf$mh_Wxf+a8D{PMEo3`lz>ra!pOU_Oh?AR9#?WQOd4DeyhE8Pas6Ekdle zu)VOP{ag98zrHcI5%?rI3B=wZ)FTJQDQEh0kUb4s(a6V<$O#wU{mpH~WnnAGtIoTdSPVJh zzpI#STY)e5SO~cx4ji#wfgdpqZH4rDhVQTiYvh(`Frl802@Nf_v-lR5&PiU=q2z58 z={4Pz#?A7YykuO=Yx+7FCz$XCKJC0rSRf{(ynG{-nq?2_5={U@$cp!Q1xpq94Rc~e z%JlQUpqz@;*qCz#pC6}!@R*({SIWedw3p0yFV6#4(xxBruQEZ?uq*3xt`y7_MdHfX zrw}(!pD(V&rXQYLh3iQ&Xc}D6@^NLpV@EBH*&pG9Jjq z#gy2dWI(3Dk(_VIH{x$V9-zZAX`k|ms~TWaD;ZPdG{#* giC@RfG(TvcMj_mv;K#KhDDV@O|NBRSMV@8-3nts=2LJ#7 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-2.a deleted file mode 100644 index 3ecc222b65d223987df62d7afbdabd63dc38dd13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3664 zcmeHK&2G~`5FRHfDQOWLI3O+<2`;D(cH6kARH29-xb#p7aYNd=i9@U=v1J<-dg8zX z^clEv;Su^CybEP!b~oO%aRL&g5@I6Hu4ljf@$5G{o5y=W+8w-TJh!LCYk5BY+}5sb zyWC`I+uriGRfnSn0Netwz5&#}0Ic4V&zcLc<_fVd#G5QkGjSN^VJi0HUMNnZagam; zjgjB>#V|UiM_IAx#iv=2B!WPrjNqahr=dvFxEp3!K1jo$mx-Y#Jh3SPfy0eL5MqGl zWlRX-b(kN@#T=$loJRS_mvNlsoi?r_8YN;L;MJnO5e@icTVrcj zso}az;qfG{rR{`UEywL>+y++GXW(=@GRqld4l>IjW;xT$a)zGcIh)PiaEKk6{b(4f zjz2B|-dX+NL>rXd^dn7My)rk!OdnRtFoyrCWf;SE5Y@GzY^zBW6^s zXVZhIH$6IGDv+RFW>gd72fxAiwzo4mnKa{l+zmXIP--{L_)T60s{6befCq{xwA-^7 zukmJS;3g4dw(C0Kbp2|%j)pprrn8{V{<*`oU*Y?JPh5nfFn6Gz58jVYq=gv=HxLu- zT^SSPU-D@o=9wecd@V{CtocqQ#VJ6{TB-_s$I3Eu%`!5YN}&ykw#-HGWXLVbFFRX! zL0~y*99VUB(Pv~dT?%GJ+bUW&u>GxKJr(xf%P*6BKzq53ll6^xp~yp1`GxXhG8;FE zHX3gaF=w-JJ~p#FMBPysWx~R~xO_@)=jVkDZ%|Njt3VL(kme-b0^G(&`kLO&+O?Rw zo^`;?(VSyI#Q}SZW~pjRkw3JBJunqL{H?SG8Ew>`gg#nE&m(>Zpi@CwI?6&t1-_!5 ycVAj~p<3R(uZR!#e|*sHNovo&&;9B604TW_GmHN5_$c}G;t$6>z|#H~HGTqvn2lKg diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-3.a deleted file mode 100644 index 696ae36bf229e5128af18f909d9392df735fd9f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10612 zcmeHM&5zqe6n{zfi>MWqKvh8%WYy9GYC@b3Zx&Tmq+JOr^{~={#G%rxH*rX)v$kR{ z1%yx!95`0|4;&Ck9QX%%=EM<+e}gmSy_vB+j>n0EAW_uJYCbaa8;{@f`^}p-yMND` z^oIA#?^Tk?Xd5Q})!T=aN}Ug>WuPwN`3<1l5&7yP0Ls_C7WuXB z0VrSpS>!i<2cUfOFOe(w9Ll#$k?))U+&N+Fh_R1-d*ZVbJFqA0$nD$g$>_rJMhrVg zX2)dC=$x|b#j5W<@h#6|1RDDUXFYdfGjHPdY~K%t6Wi+h%rTh3n#^MOxUmh44Y7L} z3j#Z}gOB)IoZ61v3+(=pcZq#|*J$8-jK&_D4T-A-zD8W7Drw*B5@ znuLRtF?lQ7^IGeZNi1^>G}$G>;jdv7wmHVT;;7i_CDmE72%k;?Z6-y zUS2#FJ>2481)Sj86`Uabl1}5K?m6O}Q!L@&(B7#go&vbM6h#sK#Ktnu6w5fd$fHu3 z*yh(U9SX|L^DhUjroy&euA*sxTJES$q zZV5?@r9{8gR*G|JuLG)&<~{}_54g5yl~ULf`;V}PYaqcME-Sr*U>nV+L_!Pp?DO9M zv@3|7W7$Jh5q`mP_Nh3>!FhRS{Fo!1oE&Llu*K6^`C(zh5ov7^N8ZHmpO+(hF-MXC z5Vs`Uaj;%Tj=YWUO)2I`m;V+;5q`o(%#oz%nix+5SXvAm^Wz{VKN@L%JjLx}o)7s% z?yFQS(}$cZ>(25ajvkltA)o7U5kGFAe0lk?8}mbnir3qJkPoF4bK`x{!OJ52fOX6b zMQjZ*rbk!63Nt4wn(33(h84H}6)Sd#73mupei~Um-RCsEASqz4M*tH zPT79yO!Z&J^=nX!q{XEI}v7#$R5ymT>o P%#Nh!T7u{x%j3vDKx0~i diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processtopology-obsolete-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processtopology-obsolete-l1-1-0.a deleted file mode 100644 index 84bc77d7d0b2a8030f983200dd1bf98ac6c3ebfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4604 zcmeHK&2G~`5FR@%Eus7zI8;c0k;)ARJEU%qsw$`lE+AC`Bo0Vhr*RUiP94RD(w=(Y zz_HK44I%D*23~|Wpv>&r&bnDQ0f}0bn8>r6*>88fv-9n&AFR8ho&HAkv5^;h)pqb_ zt*#k{#hYYp7>$OLbl9!}z#@RI1I%B+>Sys>`vO4EjUV(dw#nF=$Qwm$%Zt4c+YCD% z+xPd}q0i9hJ57fLew&`eibW^fkKEyq5oiz*ob7}oj}1rRju%C7I1GcZcfi7S6b3jf z3v6aHi@6L39(cf5-*Y<`J2kLZUi`X0!ik@CyZ)XZAG~y<-BuId#vcq>aWnSY5(_Kr zSkV4l-P5k8a~1=jGwAi=T9^eu(azhJjvA97HC@s7Wzuo{3R2jZrhOP203;ogjc(*AKj8fM2HoJ+15RriR2W`;(@xoOuU= z$-YDysxguuD@7Q|hvb)vMmjHvpSl0$vFRKP_Z>w@Ma#A&H&{A4VRSe|UCuc{9O(Z6 z2bxdtSmd%@O*!D;zTD!gn=6|G_0-9?u|gbJPGW}kUB!VEFP9Qdy?F_kaB@GnzJz}k zfHa*B3*0}~d2N=+@AESp;V3+cpd0t!@9hc;k3A@X9o)Nu9pqo~=~(1bNWAj|UpP38 zd@6~t00&$PrNd9Gl#{(KHd`i%x=IX;ER?#S;nXbDuq6gAaJL;{l+$H|VqT65vfu>; z9%1|2gb7p_|1Jw|F^J1Kw zJ|xTWv252td1K*mN%K)016;*N_?iC8HQCoRWo0rSftK+*33Q_L4Gl!fq)a z<=Dj6N$()oNBv1?cEP5*{6F4EGs}8np+bkRsEco6Q!Z*{+$zTmv1et7oTJ2keL@FK zW5~NCYN)tKhIFNQ&tu3?jhkS|p&FMl9l_Z-~_-4tAopoH%ge z)Q3Qb$LI_2B0L0TX1sPbKW@Vzt&o_=yX)C+cb(bq^Q_l*y{OrKRe52Ko3rJ(__N(j z)3muuFHN(yRaXNJD*&(zV0;HCeFZ50O0HG(tu70(C&as0MzJ`M0~v|E(3j#Q=z0A> zpfhlHT+s=R=u%#+{O~09`h7v5ZcK2|3?nJ}QP>JPQgj^Q2wQjp=jloiqAfjtp(}xS zJCxDcfs9&V)b)Bz`6iMdhqBi^Yt-=pf^J`24VfIj7Y=(Eko?gj0QkrL>7W{Bo0PXZ zj%~ZHYntx%%WQY{4crJc+W@%7ttF#6kf#G~=NBf}hgIJjc=-_SX@GrEJ&NONVDOo6 z0Zq73Pq8Izl<>K9l@4CsB9l?1U*mfaQ&7xI!Fn{{_c)?AjE^UEGKJ{69*!&GAhYPI!O~;`l?w z5!&Zj98d9jt>H4w=>2J%aA|w8UPDJ2s3i55IX-u}H4oF<{DMU|8nXskgZ8j@oOqaP za0_bS=q75Q_)<(qroUy9XP(jrgHxtcO$r5QbD0zc_=$}hNi7S_Tq;MhzG55ANkn#C z4%x0@B4InM>>Fhc$`|A?rF&wuzU$;!!RtBpzgIk`%3NFy$=><2dv#o_rL7C2Tr-wK zb`aB_jmz{!^X($$(`=lJ-E5DsY$%L!VP#%iKBK$y^N|nFMlhNEv(p1JkJcon0^GqX zi8bBpEj`|}Y;iinfS!jrpMYXMM~ha$QCeK5Yuu{SIQWKv~;F^h@aP!5uR)TwkmBk!f(vSQx`jLT*GKf(IXOuyVG6Ku6 z472VA0fOsYJX|^G&l$i+t?TS125DD)NK2N_txGV~f2AUf;=6JYM)4c@qO4J#P13jA zXLHy!0mJ=8tSD;_vy;eHGCN^PKpvTul8NcPe_(psd^*N-8&BdE-$~`Fnck2Nh1*ym zrY}pD&`IYpJ;AG`f=iX7_9u11CH3>=A{wedIei1F+&?#X?IK+7@vkhxF>&5NH|`zm z?+FWM8(e`NxOasf$iL*%QBuD(;+@A7!odmGsU(d8$Zhd@34UQYtN3!+5ln{58mTNY zF%a$XcZi##966gCDLS6!}m(>AXG-PTnh|`_%pdN277| diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-psapi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-psapi-l1-1-0.a deleted file mode 100644 index 460e619899e4d9f9004af81b4be2de303efbb3c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6138 zcmeHLPjAyO6n||uHp+jA18_i@1UFieu1i5esA3F+*boO091vc*rfamcshW&`;=q9q zuoLGU_z)a-<;KV0BX9!Vvz^pwlD0^+2yL$HIQGwW{qptP2_Xm0VtpUL7A~t#-93i z-)E2Q!0xkEuW7T_PS@%=3>zKuhRIx~L0PuqrRlx)tzM52sN)lyZFzm0^{~}puE7kZ zGmGIY9UB;H+g5Xm>i~PWT)A%tkNe)1?fV;c$Lqg+&~15jqk^kDogN#B5TiG|=B{hg zuztr19Isn9%=qYZggW}3jM=S!|pGD>>6>AHj~w~z>Oz|UU*+qsst6E?_p)qb>GVQ5W)skX~!VHCR+vM`Fx z$PR@ZmGLC)%I!6eT_Z5uR>X)xZYe&AybEV1OdhteoWXmhNDOcP0mExI@ukYsW-(;A ziBI7y-^JX&W_U#!6V79W7=A%Agr0I5!$Z7!RdA7F)c&wexUfEaMW+G_+ z@wQ2L-sVm~%*iPn=p7F<-;}7n0+2 z(Wd7;qPIOgxhgK!Qr3lmmx+0g8;I$p<05U*e76wuE*)oLH&2(atV@h+!i#qB>nh#t z?G4({S|Fl?M0|rFVjZnXECo1@S=gHH)tYK=TDFk%EueZ}?nywho?DAn!BL7=mD*K& zOH3<#uk;^;wrD&hT3u*GqgzZgk7&8W??sV^&sZ55xQ!3(rXG5d&*8dQKGFp}H$mz2 zDD7|Sq9ApVh|BSR91>k5ww`h9NE~aXeI$!?Q907ZtaXu(=|VYi9yVPlThGu%0x>gP z7!&HEQdQ0bZCk^Y`&A-oUTg@=}e^b zI4T#@Mf5f0zxEZE<&Fn2)a}p+c+JB;mNJGCz9QOoh9ZXgXQl^zLOmGb`=_SSnO*4N zJwE?&dU&GnXqI|-sjNFn5AAeZLJ$3PT%-p&%TB5XAU(uB6#n0F(?#4nrGXYA^I>Zq SK4D2(h;4byXVdAQ-hTtiffGUi diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-psm-appnotify-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-psm-appnotify-l1-1-0.a deleted file mode 100644 index 0a86c5b619973000dd512c65e86999685d76de3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3780 zcmeHK!EVz)5FIBeEol)PIB+x)AP{x1OX3!(s)Bk&2!SdgE?YNoYO9HD#YUxw1L}cu zKdC}|0XJ@Z31wz>?QGhFxCc@pF_CxIv(LNh+4nq~yPMvy6KvI=nB(TO92b9ft7V!t zcj={RHk~!~z-}D?t^pW70czg?mbT=zdt-;`=;Lk~f)``P+dP?fWljVPVJ1!Z>O-aYf-E!PhT|em#3kXDuJJ92mMs zosU@~F1B~tzB;z;x~^%u&z=_h`oh3%McXg{ZgOkEXk`9}jN8)-6YSka*UP-=5bkM% zecISd(-|=MOt_E+yw}XJHEh&yUApmj64%Q8gj<@9ThDQ;*jSl>%lnau)*!Wzi54-@ zLMB=T6Ro~uIhNh%_WOiy^uoTc9{hC%uy6FdgWRF~dK_um>bbcIrpK@{4Wq@cIt`=6 zj^a@@s2n#HUyj=XcKrdvF(YPFjYs2ysJnc0!c-u}a*khtIx#-D1miax{KT>C)^okdHa05f{sO?lD-9t9G@H9 zD#Q1HKhX$BW9~pN3*JWu(!-2{E6@Z-S89UdOEDdp{>_nVzMv8Y=X|G{bP5o0DT@mH zz{VVt(;PCO%DAkx)JAip;AUl)^>s`!h1M21Kqts&IzkY;bq0`U39nV`4;1IAGXGw7 zDY60WWD_SFYV*P<3yozL%8s8V;|i_Oc$11nu?`DaW={NA(% zsXKa}jAoZQqO43t<4DgtzL!M>zG0*E@#=DivAG>4DPOUM?6Mka{?`!hyOc?BGAuOo t0Q=e{H3TsG7)@Lw?)|G8dQ2~XHqy{r>EN;gU$GXm!_dC$Uyu1^yx;%By8{3K diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-0.a deleted file mode 100644 index c4d1ba2b64c8ea7e1d1d804d6a3c860459c8c7ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2768 zcmc&$O>fgc5FIBiDNzv|IB-G+l^YIrN!%b+s8S^)5C@RxdE?fb#>M%-c2&3_jvV_x z;79Zy@Q*0-*1O53joWf)yOC$dv(LMmw{JXtvKeK2gV)U$?tBY6LC8P96S}UihHUG) z>#xdt*X=clXo<+_bN7y@@f(*A+d}N*GRwsWS;$Omk7Fs0l2J5C1P7C_8;Ug9#igU% z#p9zqnoI;h!yIt2H_oKUWRw=kP>M7Vf$&8nc%q>sAqFyvuXiaD9}i{rZD+KbM7fOL zj`-hXhm+zH?`NycTS$fzaWRJCFT?$!HJ*}O#ctsHVaSY!-5I;@ojXi0k?#=QSKhMI zD&*Hf`PIfHzt@VRBC3X{kuCC1TDy6E35~*D-P6R;qCu z2Diq}>H?e@XI*&1++$sM(1mAo;iZ8Wcz!ERQ)=~-RO$!*o)Yal{phm^=(x=vmaCsx z6EK^*S{26PtzLz(I0FxL2X?+`UKL-<@E;oQ z`W^ks={1eULq3NG>Mt$bw#L^Dvk%#U#vf^o;G7p}+~Dor!cB9=9ydO4#y{Jya-c!5 z$o_`n=brMeqV$1!PcodFQVsQs!Qtq08BtoJTgV2*ZkY|>7o5(T{gx^Bd@er}*eD%6 zGL$G$wlp>R!_LiAi0iFDy4W?5VY!c1rrBjxWTXAk%CLr_^+r+vs_m z9r|6j?=y7zPSat5-=bT2G4pzdk=ySx0(BySv)x|ES;*ZW_B)&fHlxdB*ieT9V{Ptw zm)jMvw+B4@yxnd2Zp6LUT^vn#(2uw9dp1M9>qmUOfnVZx`m7jKv{#^=QIPEW=RRQQ zMXUoaI^uD?mrnYq*|sgqaU9chnsW9{bEo>oxPcQ6U>N{+MQO&U$NVT3<&ZhSL+uByUoxp(nQQrJ}y-lwYP?tulYC!tA#CMx~?$Fg_(JJ_Jp2J@EkR; z5==aW2o6%;#94rwc*~g6vtH8UPTiNYdkyG2ve;QbX+T7cdcn7}T~;Ys+iQlDBgRbM zAeBb%lTq(dIZwqi0JS4MTgpRO34UQ(>~wX3gV;1qj|0`%1y!@Wno-R+4AdmmyjM)3 zY?`Xs)A}8!ntnbmqna=IxKuTdaePHpV@TBuorl$#U9jxBs$~IVKsHdzE9nqv34UTO z)si>#asL+de>7A0Z#7VdRZt!Fi;Oyskuj6h@lIpaG}Y14`W>f^ARm`e$ESQ;s*VRZ p^F`GGIqDz+(fWH`mGOuMfHqJ@8XEML;0LBT$`~gJQ8x`O{0E)gASVC- diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-2.a deleted file mode 100644 index 6b7d9cd0196dc2175d51ae67b0de62cb15ae8478..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4720 zcmeHKL2uJA6nKOctwZ+4wW7mSLD; zNUsf}YSrX~!y*8z1LR);td_BRnp}6z0O-26MHgcY#@E zqife}=DA07Nh>z3;3RT-Jw~8zL~zy&Le4_&c(L2%%(IxqD$HTHP?rN^9qzQQ))la~ zeI5>9^arlzI^nPp^nHAwmm&Yy=YDfo-@)5(yFHcx*9iPiJdF2w*bc(3<2Sin?I4(5 zzi!!T-9=|f{Pc=rRPVCHwh><#&XXT?Px&#Ja2Qa36g*Gt6plHz*Fvr1N}Qf_%3l-sVy<%B=y0Pk~c=U5q} zU5_8RD@^$$m>#?QJd75%!aR%?Gm1kYNA+ZpaTW1e#i0u@B38tRLXM)9E^2kc z%lW<#$2$vfyk=HMUrEJr8{fmGc%+r<=6FR#_C9uq<6Dv=^qyyNT;cUr!;LhfkE=f6 zRDZhNK*JhPP3m70@wqE{S(x4t-+qK+5v+lB-0AzriA8V?u0ahVx``Snz7*4O(Z4du zJ*V^`z>4YAl0pGoQ72U%eq(1jS?_AIs!ZTTQdneSsU$MHEQ{<`b%m{ouzW`r)24(t zt-p7&;6??W;CM?iof_lnvdHMGPw#IBo%xzy7-yS_EK)bJDz>J>z#Sy+3f=>==7ggo~qNu*fmUibkk5( zoe#;as@7_CF`-=nfExhH4}j7afb#FSRxSW47mT$SI|}U}WUuVV4p__U+U(RBS-!(i z>6i_Zxy~_Fp~bH2orae0GXf1mg0qen*eret244y1(1H)^ z3AThn3BOA&e7zXAo9GF*nUC8`aF0>g%D^S#$Q^AMYUnGCxT8(Dqq&A=XnM8lx(KfJ z9M=|;{#*ilP#Ps`uCFJQW zrYCs0mvCw1$m5AjxI~`qw@^_AYUv+P=JvV8rDeF@=l@fLW8u7kUeq6t2C;^-4Xz;` zxOL-rAp4R{Cq@3(#NRv@Asn1=oqCE<0C6lX7vLB6>&hgn&Q&5YRw&9s9g7i%+QNLY zUz4J&%q; zwB7+?PO@<(4)a2B)f5<^!cINEd_-?&XA>RXi6Ff%aK6zV#7}^mSYzALyDZ7}rEQAy znFZt=%<~8czH{r)E;vidt0HQp%rX@v{A~0Maa7TKDztkXC3pEd0Id^ic7%qy0({4I z<{FfBHCoRdZNhkcImYkR5t vrof;mN;czx7@v8$jhXYmM!>c>^&|pbCWgSi06(#%2*^D8l2`vVWuD4k(1>S{ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-rtlsupport-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-rtlsupport-l1-2-0.a deleted file mode 100644 index ade2b499e1d2862f8634b9240945a0e5df46f50c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2736 zcmc&$!EVz)5FIBeDNzv|dVrge0CB*^juIzG6^f{YIB=*?kvOq+V~1FEYRh&NkT~!O zz4HTnM*o5Tq0Efe&Zeb&+7Md-Qp>= z*Y)nekq;bo0H6h+eZt`lK>HV6LhK9iG4+#F9Qc`^i2ca(#XLB5<3OM@aE6WugJZg+ z7Y8qzr*0ez0?kr_i*c0rBFVz^ERLfj6QM1-!V<2)rDi?|G4)+<-N8V7$ijp1Ve~c# z{dXA9PewzG9n4};IR)Ogxu2O)NoyUSwq-dEQi*hwe7@K2Af*634d6aoTbh~qUo*Dr zI~}Ye({nSo9>OyturAEwG`#@^KL{7lf=_w{7B?DN_+Dz`^>SRl@Dpyk9ycg(&(YYa zz!meT1Y?#Os04$QU@VkigtpN&EYk}^1e+7w8TrtkOMoxh#62k-(ywwzA)8m?5=`Z< zQHN2uYt~^D-iV8)M*VV=+%jidICTw%`65*`wP(wV$h%^7!Zd&w*;EFS(x?BS^r7`? zMd=Ri!~_14)@>`jD+z^NG)UbQfBHc(GzK%4ow z$JW1SeafdJ!m+V#V3JMGPET?Vs|{`;ADG=dABbP#bkWqaCV%IZ3}JAgbs8y00pw?~ z-GJXXZmKS>OSE(>d*}~sQ?~rE~ iJx`6I=h^az?*V9?+*8uWo}buP{;Rp>56_13t@9W2CE2(D diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-slapi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-slapi-l1-1-0.a deleted file mode 100644 index 8f61e693dbc09bf63bb8baa6e4488d5739cfcff9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3632 zcmeHK&2G~`5FRHfDQzhnIB-I)C^sDJ&^oPDp`c2LLk=JW*Nu~G8n@05v8%!bapc(N z;J`EV%DeCkl$qIevT5TcNTfZ$MBZJ`e%`fbzi(%=u@?-Ro#!i0?Md^tJs*FrU$$+R zyUfzIpHT-}eFXq+0a)Jw3a0?YpXyp&2UuMfVqb`Nu^h(YwM^tt?DtzzoP@n#5DIjL z{*EuAutAshV%6%O#KB-72-J-UE}H$J6mdkJ$P=D$MIdmLt^^@EGH5Mu9uRM9Z;s{g zQ!Q-DUM$}S(Xo6v>~~)b2Gz2QFA#PIViqWSjB<5r_80_$)Y$torCW5Vt1!UnfqY6VG<4dI?DxM!tC9M6Ek7s7=!;3j^N zvI15Gd@s{@JcZj%{e)Z2##K_>CN|cl;L?6%k<*PGmReCnxKcZe zq<-MnIlzI{4vtcX_M7pe>GBumB$yeyTo%TNTRsb8#EjyQx2T*n9aoOm5_VmI;aCwP z^47-WAo?yHoiI5#!15Zjyh04``~kx&yStYd?&B)l(G{eg}m~bB(#PA22A+*ZV z7@p$I+Q5wzWA>+Q!lmtt^%^>gKqYCv$nm+ut$BFf;f)sIXv`UCC!OQok@7Ip;0Cn7 z(N$WY_)<*AX6`ZSoiC|_!70zFCVc|5xl~0CeqiGoQp^JLm(G){t=L8Ll)z?XkIL3K z$JeYP2jnaAml8g)*<5k*EaUYA`|FzHRN0Hm9;4l!R&EO?J2d8nah93L9y^FhrsGE1 zqVe_+^LaYX$8NTVSXMPgyRfp)&L7j=DV~MKWA+{R1Ao9@k)8FQLC ze>uN^nT0uh2cU73=au$Qm4k0s u&N>~Ll^Y3m+PDQ(D59#kfIyzODvowvJDi8LmvSN zAx?<5;LL#=Hx4`kj{(f=kFzFr6A%e1bgTWz%(uJV@i#l`?S&;b+-O}dT`|+iuGtR$ zSvA`1Rg^w=|h%kBCMg}$@su)uFnmQt*mooA8T?J@$jBZ9MyPUx{H4*ji1 zEU=l)EaoyCrtJY^EzfO^aw1@Be$!iSx#4Q(_LCs?Z#<8^`dk&K_S;>St4*-09W_9` zIWS*J-*P@=Us2DZab<&h9V_e*y@S(yZI2Vse|>Q(ukq~FxVlSPXo@*E9?X|Ch)oR#K#l3nvxT4Iv=;7aI@GroPkq% z&ez*A>mAezu*hpy22O8zGTy0()Sqg%zfU$!HVZp zlYgS8^HLNBe8R>!BH<|GtPJQS?p=|Esm5JwQ2bb^>fSZQO|pXwrlSk-S%2pwnZ|q> z^$#S=sWL|wKa%~P-rYP-*3jmKUYtqAk43};*|@~JXuKuFJk7>AsOIT3mUW4dBCO00 z-!IXxmoIxVJmY~ns%U2&1Q6$FKH@0ALCnI=^jmM~wx%hI{gDOq_{-x6NX~Oh(Ja_Y zi>cCcwaAk46uwS+2H{!MpAyY3Jmnn!O>0w3dD{Krd`z0Lo#lI=bIC))>V40zMWe|3)}4n--~ zNK_-gjnhs<_HaH>o$HGMJGkc!iUI%2_raN8@PPuPZv5mO;@7>BqdZC@D5A7 zx&FPY)3L?`YdC+fuJ-xEeoW}agkL!mLE0ZywmD<=?$-hB1(bR*A-NnxsR6ICO#8y1 Le+P`=R;u&^;ctnl diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-synch-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-synch-ansi-l1-1-0.a deleted file mode 100644 index 5501d11b7a830d0c02ec04407cf78554306844a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6944 zcmeHM&u`N(6n;%NHp*`?rUF6)2@nTbl5R~mX+lF2HxNjGKnUSwYevJ`u4+0q5QiPO zvpWY49QZf*6Og!Y1{VJ{#-vQ`4H7TxQ5ujLP zY>BZ4p40W%U8m=C+0sVcVOwt7?zjw%t~F<|rn^Fyv|>@;*z)X7hY_gd5uB}VbRFis zY_B$$-S%A8G?~c^W-}bBb4EX&e$q(i{FTe$;BJ%HI9z%gDM&y~@QJzh`FbTF37b-QOL zLwL&~7@x{3o;LypJA`v-z>Bj!b_^?H_`B4^#}l}!ZztSjGOp(1u3+VG49;&yC6roT z36)SHC6u@lN~DBR(=3@Kqg-z`5nNt#n~v=C<0rtg+?u`a8>C(JAx)Vdn3rIx|Fk5G z;=6njM)4c@BA=tYKS|$mpN(VF5DfPhu_B+l+&_rC^G7F)2IP^fzCgtE#&0lv&X|ud z-NH9&Pp^e1TNv8JMa^E8e5qQpoO7W${3m*{SH zH?-mE52C9dYA5c|e8g3NgLnx))4f_#eN9v5qfrLbc+6u8NbYk_(Ja_YiLp|_N|fnS z41Z4g4MJhmpAyY36myo})3f=OIccFngZG#xt?Py^`m$M%hI*Jyrw40ZjXL7(Y@<6y z>EW*A2o+iC;juFBFg?`caS=VV<8gr=aHEr24`W;pViAws_O%X9(gR=$bwDdpKWXq5 zt6T@lo+aeJYRqIG7V>^39q(&1)kqw8gIpNJ`zH!tvgG}mGVd_ncj9po-oJ{+1-w6l z?>B86$V1GQ5_gZpmi-(H&eH>63N^6E??tA;N35{;M^Cp=&pIYlQfi}uhd?|n7jET5 zOxQubjMB!xvPQy#tkl}j;3ayFLF{7!O`Gf5Gzvc8wL(bQys8otp_8e9?a2-=2abFOK^C-*p z(^F;MVe6+xJT9_+>c-;&Jxu+E9$-)pH}-dYI87f4OksQo+=o^T-eE4|L+}Y0^^b#$ I&aDc+00Nbl(*OVf diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-synch-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-synch-l1-1-0.a deleted file mode 100644 index da73411f9a0facaed8dce777f2cc67a441c99104..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36054 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-sysinfo-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-sysinfo-l1-1-0.a deleted file mode 100644 index 977ac4e7fb534fd0d24f57618d71e1afa7447a3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12730 zcmeHNTW=dh6h2<(R?~_KN>!jzO-T`#+N>RCa%fTI#xP>qB+b z?C9#gG0=7m6@`YFc1XU0v&(XiK2p?wMO!?-RXm4iE3xn!RV;I%qYpZKJ=d#@61}?YsE$hB>%(a8FPl z6^nW+(RxgbdK*T2XVu&r*e%&>eMBm1DUE17E=SEfhnB7PH;lf%Vtr`zbSed&AWk80 zZOj!U_Vhl&v5U}i#h%_xW2m=n?B{!}rtpgVIf9kpYgUr3VU>8zn)%RZYrXZM+14$~ z9MU5U`b|-wU&=9Pdz7#t9Uzv8*^rnKiIiM!XilUUu z%F?no2doula2f!R3joiv(sZF}>jyR~$0ucwH>(}Z*5XxIO$+45)h)|PQG+AWGw6o% z4Oe#x3sd-9Vqo{5RBFXn=t#~HESEt8&G9?jAC!z@rr?4M=*bB>j=Aic}XEvjQ+sDW*} zyEoY35{5N+25exx%h^EvOMU7GahBoF9O4I4c9BjwF%+Q7Ql3cg7Z!4HG)~lyaXco* zFH4r?TAhjJ-KS*IK!hRLZUM2n+Nk~xgmvHlAO=aiLC&W3n%K8;=j8`~1v z1>e>LY)BJzdeM3wzvzB9Q0MDtJq4>-xP)oT(Q!nWl^;L3M*ki?@?~g~Aj+5IsH64> zr2uCz@_wfOVoB_4YO)x%E+E=qW=p_9J?klI1+Nn9s>5Bux&*kw-jkkzbBnI0K&^AG z;KG6hx(}DU=SV1%;8#pzo#bQ}ItS;TtPNvBEh8IbzRD_>H%n^;J~ju~8EI@-cMw8Z zo@}@;w420+PPAT#4TESsj}2sXv$EkiK(E(dBQf-hD+^x2_om>p;5rwuR05g?$jSF# zH?SNU5uf~`*2BF#!95KThjsMIgsi~R#C<7%`<2s$`=n1CInMX;ayHy6%l=oi$$ane z<3G*!X9)M+H>~mYdT6yl!JqHn<^q;V@FV6l-+Qkc{V9$~^PBDEW;WC>$@uYz1>ej0 z7H7dUFK0vW4)XMJ9tiCwc{$x^y^xnPjMno|{{oI~Rxf8RfO>_sMSk+QdO8;w!bRj) z9SLO;{Df%$`N^N5^PKaSGNOMWyyE>H5s`-eF9p=(iT-V&-6ZtyM(c&p|4p=>hyGV^ zgtMZ5me3!yjli%nzAU(c&riXh|6A-oPbBya3&et`R}Xmpu?jg_1tlXdCTm|dyqq5Y z&lj2r^5Rsi0eq;(Fo213#Qov~_XOw>JcsPT(_H&b`?#l_*HeUhcdy&|>kyndWl0>5kLU3oS?z*ETu3+@cI#lgdGQwOQPD4~u?@yPMZ6cWZ65O;+vs?l9roYX^PTgUFze|_0V&`>^BDdRR1PUX9v%OA_v*;x9+szIOO03Lm<}#coqyWX{~ z1neD;Kb%A{4?p@L-|q1}KjLqqw|>CM(5T>B_+gjLfWw)#+}Jm2?KTMP2Q?hNx!O%FhSN-^G8WN3sFgPWgPZO?I5^N5Y9KM$>Vm^thCU(LtPR7*|+$t)|DY#@DGs+4h3p2{1jIvZl zSwYDvTXxY40)S!@gQ_0*a|!UpXuA7}LD_Zx(Q?_5H3_EsE;9+E`7JvMqxp>dkTs|s z7UfsruLT^s0wa7y8Id)f4o{-)lGzE90Uz7Bu(&`u-uj0euiI;5IqqN_?umWmZaT-y z%AIf@70U64Dn}^JX*r(Y^3Z;4MV!cj!l zKr?O~wD+Y&zhNmOA`uspx%0OD1 zG8W)AUef1uuWP#BY5DAUr2)Mji@E}e0m5sv3O=RPSjA(l(hTuN?3vy{@{FD*q17dC zo{M_`nnzl;l!dws{KR&KqtUEKs5uWLG?&c0(y P3>n?_w0{leQJ?+-9j$rc diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-sysinfo-l1-2-3.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-sysinfo-l1-2-3.a deleted file mode 100644 index 57858f28676e65df5a4530b27f947447c39be59f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2750 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-util-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-util-l1-1-0.a deleted file mode 100644 index b6d8cc74385085431b15f1b778a3e65e0b536966..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4232 zcmeHK&2G~`5FRHfDN!pB0*RxM;8q8_O`RZBD54;7=%GU5f{?au;}ENk6UDCDBQJnd z@hqHCZ}3!kNn5NB# z^x8BxHhS_8dmR8+1~5JYv?74^cky(-0?@Pig&xMX8G9T1iCO=E(ygW1AoM@bN}&|waOKOYX%H1Z8bvqhA2XX%Di?Sy07uIrkn+h0$2 zV#m0Jn*p$90NmldC8L}8CkgLYS0>nd-I14g)et^11pBPJAIDd~;3MGzn(%Q?VO!W~ z;dkkU&nIx3N=~@tYFuC8OzfgRgSi~7CbS%fRyQ46K?l=g23I1^o z@WB{+he{yjy6s3+^MXEt>2_;WVKkdHt1z0q$OcV=>U@zl<+fVFp-V8_PQ-?$VPah@ zYIedjV2pMBK1$r4`~tW8&-w*!ySN8;`Ept}&Fyt%)%(~XZagk()hsA<3_tcxd}ii1$yC$fz7&VSa^ z{s_XBpS^xJ>kY^qX#aiI=a!ot|BK?9?;#oM?Q620E^)l$EC5Ja@$a1$cscNkM#g_PZP26?~n0JT`F-&v_KKjRn*U7 V{5`p5Y8pV-J9)QFuc&o%`X>@AuzLUi diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-version-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-version-l1-1-0.a deleted file mode 100644 index 6105470f008a96c438aa8563f0cae36120ced151..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4430 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-windowserrorreporting-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-windowserrorreporting-l1-1-2.a deleted file mode 100644 index 105f5c80adfb66ca0ff472f978ac5d14d176e1f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3728 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 GnDHNVjTJZm diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-error-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-error-l1-1-1.a deleted file mode 100644 index 4e49d674921312ab6dcc016d8ab98f75d5e7dd97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3662 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 Yh}bn~Rp1vaQ4y2Vp7F05^Z#P_KTDO6W&i*H diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-registration-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-registration-l1-1-0.a deleted file mode 100644 index 95a9bfb30ff9299ed8c207adfb0bc19117ebae86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3776 zcmdT{&u`N(6n<$tHo74=aNroEfrLbY)2&$#6DryP2_b|AoV{%E*0A&kN!Z2(O`JGz z*gu3ciGP6;SN;#id$!ZM>(3p?#H(UE&!6q&`TO$R`Bun9PQGjy;z0a<22~?IDy(J!TDY{k>iq#C*mMVvn0r(ZimMn_c-GL$0^$aIB$s{ zENW5U+ui3Pdn1w~kv!YWqN5-Sc4M&>2WcwOrdPuUirPIs2Tsm(d5&%4Rhx~W$!0(y z{P5{0bG!YGowTDKW4@1@xxs4v9eruxhN5j+0Jmjp!E!TklF9bu!UneEh8Tm%5ZTiN zcJA(`=?oa05-y?%SJ!iF1sfH7F4N?E3Rlnlgj<@7+sJVY8!KaQc|UT{X{Qcy&>;>| zBgq_-gHG%@p2OTQj&YE?AH_ls{&N9vVC@HoxkLNSSkltvOY0NNjALmM#)x5g62^!h z#iVReIcz${GIk5tH3cK%M(ikC?(ih~E}xw+B_PHW{S6@Ix30kaMy)==d>?n@j(nra zbu+)F0}FStLCn9W*+M%$j`=y>tPNaWNoIfECS2aWT(6*G5vZhZ!lI1NE!mof^DX&( zMmU<}5A0{HkDWv1k*tGj(1nby(gnqrVmdJM+oPU&L@5%SbDnC_DuDTEE5UE{6rGuh z%7HrZR!Ma!L-UmMX675;GgP-IqxKbs)6(V9ECgoWmN^HsCS=5D6&z*cVy$c=3k@krzArt4QXY*bqt%s? z9?E+Fnn!tFX%AH;_>Scq$E$gdVa1*w2dZIns%B$UHQz8;vs4pmCQ((SYC6Wc(^PXZ z9yg+zFXM52)vV(C&8r$vs+o3>mW=yfmGcN=K{im%Tjh{t34UO$lrt>^SNq#haF(n7 E1&l1ag8%>k diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-robuffer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-robuffer-l1-1-0.a deleted file mode 100644 index 067a348e81cb62c102abad24f07e3cdfcb914e26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2780 zcmc&$&2G~`5FRHfDNzv|IP}0_k>G-AV^@ijpbACwzy&0Pgw)%{scmA_se|njxb+eG z61+!Gyaew;nHjH>O%u0pAl=Bjv$Nm+oh$Kk1S3P|8nPkY@5jkO!$eO#DF3qEl}gNpwbT&y{gBqDOhL z@snBRO{bDTlZ@cap3uz*bwB$^ipXx~>pzzpbug*m`H&LxKT%2EaqMwhSu| zzU6FJR|4#z<$JkT4dIai*q7EQ%Wi?eIpHE&@L9XW;WTd%S>cWg2(=lz!k7Jx*g;5-+iNCJ^J{zHTQaY4h=aIIp zU)!5tI)}9?jK*KR3ZrpHeAEr9my6<;dE3IF8!*fnDWh(@SYAZ+%GC)|gDKXVj7d`b z_#YJCbGj>vckwnJ@xN)@wc_^`sqh#LQv9w`3f=ZP#g}-!)o}9&(#K1iaHV~{-9bka zsHS&8llghT*5BxT%;S2GUi`I++zs2E_TXcwHNFI^;m@d4 zb=?q;)Kb?gW=#&L7XV-pK-&SBe~HbX(Y3S!K-cY%F2=SPdlPU!V7olzKHKsf&Q9F6 z-EkRqx>n6%O?RIz*^8CqodkBL!wA$02+j^XUySoZ=6fC6w_D`SJ>!n+I;?3jlNror z=(xp!u?DxD=}rx7&)Zek_4>5KpLRpve$GQ`zjEKT?eN&=n`^j0x7A@2jo9pl)XwBzJA@3q}hMEpWz2w-TJrsq0!MH5#2f+v!oD^{c1dE`usm@Aeb6UZ4gF@V}1}ui6O-$pQEzhWSm9(=JC-GjEEgEB%e#R zrO#RHoiG}lVL6-k4QZe;fd*=;_<9vqFT@(Ka9{3-e>XR44V2>`-^B)L;GX0R?R%C6 zV!T=_xa`f7V8W^6)bG1BfjUHV zBXv-GDW*MB-$K!vQ+g5LnE6zbVgXJ?85J7*#>Q;2;B>RDO!x&-U|^t?BN>j&LhI{_ z0vANsz9Gx$P(z$oc|kpR(18_v-jqt9O8pHZD;h z`P)Fumu#GckA>j@PGn_yD=Yo->H#$`F4TSv#y$B&T%|P-w*hYA6~&(J)s`B6T53L> zqd?8|4wU&6iMUBX!b~9hPcPmZql2r zIn>sOv%FyEb=A~E8HApu-YQ|y;0NBJrbdKd;!mI1>c|*VN7ia8M}0=#jM7nE;omfM z^j?{Fn2y41TuMhDvvG-zbmYdkIs(+u;P2S$otNl+Le|sJPShbv4ZdTI8XElf$Nt!# I$%(S?7dJbMHvj+t diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-string-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-string-l1-1-0.a deleted file mode 100644 index a5115c3df5d6090028e197de68578af25b56008b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20938 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-xstate-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-xstate-l2-1-0.a deleted file mode 100644 index 91f059966753c798b8033fe5eb5aff93abf07473..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5268 zcmd^DOK;Oa5S}@;;FRH29p5K@tlc&G=&)@e4x)Ojd&X%%tk zfgjK-2gHg0(K~;L6J=(-PByij_>xo=TX}aq`>iKC{=S`c?`_z<-R6`0BYm`(Yo>*N z##&j|4KbwFx?Z*{IbkOc0C;J)0CIl-7TyQfl{x@j*FFc=QXgQc&)6no?>ye~*lX_d z9^35HIXiILcGqEObgYWST&G5tv|>~59C&uO%Lvr+2+nppJ3GpdwbPNI4N-$2cEU)2oIuH3ESSZp{hmlOV; z0({Ce?7h$+?P~nUUG|Jmf~m37k}yi#vPl>vW)z2PhU(EG<0|4cheKm9B38tRZ07#x zL*!lfbi!!R#CjHcgkX3xJ;N)88DY4EZ{dbmMee*AUXsCto7f?SFH45dTaIIRh*w($ zH&Bc^9`*?r_RqG9XqX48N&E96K37FA4bPim|3)|#!5L`y&HeUXU=d7%bI^i_ZlDE< zFU53N)IBEn%@K77aL99NNuQ{6Q3sUvYXB_D>M|piA@;u?!TI8%W(QqxU)97@X`x1gUs#hSVwaxkUqdtaLdpLF Dg(HW| diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-classicprovider-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-classicprovider-l1-1-0.a deleted file mode 100644 index 9f00d28f5de29532374ff18c4886661c0c2347ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7038 zcmeHM&2G~`5S}D0g{u6h0#pHqAOR=);pFIAMLi;wFMgOO0^;!yH44+Vr6wcx@Na42(;%CT*w32_Uv|3>^i3F z+PmFe=fJjbK&K!I!VspwG4~`0(UPV$u~|WEw|lZ_ySTPDJ#$xX?Aw-GtKxmwdtF?5 zOfO?!O4l`;bkB?p+g^{1`nI-G46t#%8`9%pHapFx?7cACmLqGW;HtRZ!2Yal)*ZQt zzIFyni0KTQpF3t#TXu9OSe-_r?&UiH8{=45FpNqC3Akz?Jvr^nZ>BCG5dqdx$Tx1y zrt+Tr$z z9=96c3~Ve!;DUbCMQ+c{p)PWPE^q4^1>`w?FQ(HPB#nK+E*Kk`W?MP)eoK4#y|V%I4c_8YMylUfcB;{OUpCrldl zv7GpOX`Z>?O3wXiadm|I6?`T)cuh0Y=6=z4E!@Ngaev9@3qA8F?gx0i)^L3->HR^Q za6x;xUO>YfP)TovIrh(0ZY5!Ti-QKjF)@Rn;kEYLAC!f82UAc6dsiug{7XI^B>nB9 z?s-Hj3=UXNHK`TA<5CrA_<@ayhs%jYW`94RbmtnF$}GOIF=wTu>28jlb%@-iZ4fbC zX9HO-V}6YN?|lAKmHl@yrynEesg`iEx;8HiVpAyQR1xDuGzx9^xYnn1M8i7EM*&J`cR|9*B zX2GkpIP7a$i$Ea_@jB@ql;-GqN;JFD5N>%n(KyQT#J5nDhVNL$Zu?H(6i#^S$`Of` zQA(x^WAII|nNrW`6FO#`GPZoSP&G+qyw~PEO&L}+ZbTXFXk1?z6q%DMV+KOIeP+^m zRm38$o6;~l=7U%jJtUMlmI}L_^bd$hpLYEM>?p|# diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-consumer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-consumer-l1-1-0.a deleted file mode 100644 index 9fa8e24f7211f8db73d319393403ffdc0db1f227..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4332 zcmeHK&2G~`5FRHfDNzdufyB{BfH>5_ZW}k1Dio<#BzgcLaoM`@mRNC|D0XR&ya7GH zJMb8N3togHYMI#|d(*_UJv0@llX!PM`+3(p^Ucos=~giA_Fgw$*^}b6JRg6q@7gy0 zQOwe|*IK@MV7CDPivZRSfZ8{J`l-AczX9l4{zVsK+l;+W`8Z`eJmX`wJq$TJjFMm! zF;qr=+h=jKN0-uK6%G&6U^HR`8l(hg{4-CoDEY*?!z4Wz;7GB@Jm#{1;a~#}jP-aB zUjKB!cE-alPt$kfpvya+k26Pu5t~-O9q~kfK6KVKXi~Qw4^uA3X=}uU4#NIkKWh$i zHc-9dr@Ex&?4wv=*#p#*Z@5E-!3wcbj351?3RY(*gISxtFFF zz~BqvA{y}7y2jS9QN#B#MT{qLEv+ZqVmWR@<6dH8X$DUBBa@s#>L8OG%_K)N$%#G3 zbKGVa$I#r5Vy+%KJp=e;?FW6WP+4v$(GDW^Lf|*fINcn{c{)zFtB_9jK&Tpf2pQELxXgdr$1H2uBgjf&Hv^ko2WS z@C|MtB7}8iM38;SriGZhjeO^+7!hF2cB&~#0S2O!MFoChV}5z%`g4~`l?{rt)J0j9 z;dW70*>GD%q}7Faj*!iC1R!pk{wEC{3t$ENcNF8Pvac_zg;6T3?31(Sba#AQ=!j?L`9boI<{_Q}+{H`Um+sA$ zX=9qII-O&{%*G<4fa1Nd5Y2*585veZuaRRWqD8Ea-a$qeJx@Zj%V>El?g3~Vsaa7P zsw(gu%jt7b$#H33=eL6W-sRZuZ*JbQA3Z4vo}cA%_TR(4%d+2s;slJ33D*3p?0-lL zKq=V&LMlXAfv;GzV!34>0rTg*d&_%r(K$X}dDp)R?*WSMI+~ky%m149#d15dKW*oB Hu4?=N{}$Ck diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-controller-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-controller-l1-1-0.a deleted file mode 100644 index 59ae3527bb23b7c11a9a9bbaaa377c37946a8e67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6056 zcmeHLO=}ZD7=E*9ZLPI_741PJf`UjBchhv+LMee#ym%l z;=xlvJc!^?@L%+Q_+PB=J2SgG$!?k`m=NfM`N%uZ&g{PPJoC=(!&R%fTUncWmT6DM zqG94sFRWxTI`2};Os24G$_sX;0ALzGdkQdqA7Jv6$k#psP@ef9@~!UxlxKfXW^A3Y zm!949*rx5Sq+Dw(J_}z<~k+H(u!5Ne(YI|1|v|_BRI2)oxn8&5_R!owB#lD&`9TzI*>h%__O#vW-^0SWqsBb*u}o$-Bwx!RRqNl;2g4 z{aigHN;ifWx^9|C4s)dtGUP?-3X%k1IR$Wox5iUB-){N5-Mz?wzLP6kzSSMVdy1f+ z$sB^don(RWFO&%?8}f zM%>N1M%Kvcxw7lx1-U)PwdIAs&jI#Rd)7fU-D^`)ICSsb4(>19PpiL(kVclm!i<%7d8eN%?1%O zWssgCwRt+Gf{K{VF4c%1}R-5QRqhTy&2f z08^w2T^M+&!8fc?73w2j{OM>II?(&nfxdEiKEm}Ba)_Ug=!-qRB7-POZ*beKP315Bs#!1@u@#soBXc; diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-legacy-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-legacy-l1-1-0.a deleted file mode 100644 index 02d4560d3194bbf5a72b369242612b63f5e62380..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5144 zcmeHL&2G~`5FRHfEuj=DA;hUN5+H^>7|M+9y-Q}N~wu8g^ogT|*-vx(ZJA)e6Zg$pjm4qy=C=^ zrnyqf!I2icR-2Frm>s1@lkma#)38vbwRD@A% zS1!URb|YJqHOfaNwym()3^tvE5%wZhlr?ng97%d7ObN&$)ADv=dixSgZ&+_KOm}c4 z9*S92uAAvAiE$rcg_!;%W(loy9@7)NS}M5IbJX^vPPn8#Ue2Rp7AU7ZU{=`YzNk&Y z^|siF5so5w1A9^Xu)8lcf^BdO{vfO?{ekRDHXVw(*T`?qc!&TeT&I$J6d<0KsF&au zmeYzsR~_ZzkXj`#3oVpY>1r3nlQqj$ylhrjW`Inl0|W6|U3=2ZVOqxat(fgp=vNm{ z(*2*-kmB4IWn37>osoFbK#Z4B#Xp^jLp zoHVe3I7j0UM*;3)lJ=!%wWivbhAL;H3#f5e#1e=(FDyi(;9E*;jXhV1E+d{I=11Qk zJ&WEaq0yzMkk^q=KT`8bJj<*E-?5T8LggQzZo*$o|O6Z+dV()A?cn^C(KFrd<~R)-sa%HX8vQGH_33%H>E=4 zCHR3Q8=3C87vO2{`_`oFzdiBLf{w+9l>L`E@qo&H?DNL&`wIJu|J0e%ouc{|IT1~) diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-provider-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-provider-l1-1-0.a deleted file mode 100644 index f81e6ceee133afc38132af4e55b4d5b3ec4aaf63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8570 zcmeHM&2HO95FSx>oCxj@(k4xt!cc(}=pj-`S*C>|2-Lbhr0^kV60|4^uj!Doh)9$| zvW^q<;6ooEJrqR`Jrq6kHFD}J6zIb=o!KS1%O6S1!3+d=4eqXIK61Ik@8j%JAKkM2 zhr`>APn+ptY#Ap0>88fEK)&8BH~q7x1p0B{*V`xjvKZ-7g>IM%-apyRDQaa{fi zVR&5mQXJQ?PsjCracp3_vCr5JV-Ety57=ENbbPimu^slr^{lDO(CC^yla1U%IwC7J z_T))mO{a`Ns7y6S? z=9Y^5U_TDVVSADgdlsV&T{le=8Qtq8jNYqVKvDyAYsg*RTdlQ2=OpC)*;NztgSKsj z)@%s(^g(~oJ`92dFgPWgOBcM+jj=1(S;6~K3%{PgZN+xNU7U^Ej&Yx0XT1Oy`%zP^ zanM3dwVX&(tyoj7kNTp+0TR#P#7TaJ^@2=D2R+ zvv`|NYvpxwy%R_GUF;CouSGneXI;eg7_YVpF42zakNbp+``LCK4QoI(y#>~IeBR)_ zGHf66JcDp7oH;NEhd+3agoX1BUV|cdbcG@)z7$hg)VGbe=bT13IA%Mwq*8z}uSKQ7 zKiH`*!=8N>j}{FLQd*#6*%oqJlvTDnTZ+=wcz8~c%?;kmEA1lMZ=(O(i1E}k&n~MZ zS%97+WxGRVT#(r(l~sC(85QFarP1|nA?COkXQG>zt629VOk~2Q`Qqir^xyO6(nk8@ ztAW%?iu}Ys8jtvjYfn5xoaukHm(yB4*MORpd1ir#|2$GON{F`Y^Q3za zDx>qM(1e9*uJiwK<(yc0k%bx!{=j#1d+% zRK&hA?mR^di*Y$c_{F$H5%f+jtB4DVBE)83xz+GK&Yg->LlQo;YVbSOiW-#tPgV=6 ztD=3LRKiwCCFuFwaDwbuq=dT)gQ`@*cgnc)lwcR*l1CZm2Co>GD1la^WtFh1C}H^^KPH!EeqAtM zew4&>mzn+V;r&yQ?8ndPNzvdp>o%}xF6jua`RzK%EW1>TP zXRHYoq`$NyYMGVrAx#sDRKjP%z-tZu#8xOFJ?(5lDDqaW38SPY^t>j{*F-WiyvmNC zCNvTMnzYnfxEe8EYN4Id!mo)I;_3G1{is&`o=v+po}|j zM?5XY<#xo+igC%F-~)WlW%mRi_@Dc2l!&v;d0~SlfJJKIwlMHogTJs9c_BCT%tEQy IUsZ1SAN}X3>Hq)$ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-deviceinformation-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-deviceinformation-l1-1-0.a deleted file mode 100644 index 15596e5ce39cb96f5f24e17f72ebeb59f9ae09f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2870 zcmc&$!EVz)5FIBeDNzv|df;dfhzoY@G<9;QP^2PNNFepXdF#}h#H#H?u}gbIJ#gaC zPs-2m6C5Zr<8`uWVv-B#MxGtdKJRYczVZ0gu|K&OerOz+i_JZ9J^VRd(=;6((yeJ8 zHgSO4c>@4y0LBmOZUO4Q=@Q~Zh_9)fq~c6waw1MfffUza;*Udt!O-h?A_{wSsVH{A z=sNYsV?m%eCAb*)ahME5AisqdGEDlTN$h9gC=rn>T;T{`;GD4pA%@ZqwzevWQ<-At zmgCw5&Ov8y1+ExJ-B@vIp>C{PH`bDFtjM)o%dvwf0G77drA8qp2-XTPqoL^ep68k`{o#stCu%3W9z%yh<+f2iAZ60pq-21nc;%eaz3%C})AH5jY6N=y=Gp@)Gnh461)tJtvdV9* t8ZG1#|7Y4mo`3W_HCjE-r+0i0K=b60GZmq(0#mdbd>3u}0k!RH{R_+>5j6k+ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-expandedresources-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-expandedresources-l1-1-0.a deleted file mode 100644 index fb4d21015484a793de75f23f76a208df0eff5e45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4622 zcmdT{&2G~`5S}D0Ev5Vjai|ayMgoaLliF$O22`O)Q3Zz{P!SSBNL#nwG*+D-#ZFrg zhaOPReGX1MLJypH4_<>ZvtHYq#!k!uSKY|Fli6=~z2oomte;M{u@pb)4=#9a|IHdoG;><XM1%dA_xwsPB19S!3|%)(Q`6S<)rbjOg&Rl)fQ_^U)J6;(%TMjr|9^-7;HOfX=uh^~&P-!_XmxKRY0PGi9)`Xw1>Vz(#{ zv2I9=bYY{NUp%9KXJ@gGSeJ5gK@c&L)+7c4+{7!0HT_pDHQuyrX*>&onzu#H0jUTP zEm{RfDY;ncTFF8qIud)OdkAz#iJPqlgrU*ZHOPfU8PO;7Qicy{Rey~piF6`#cI_Ssa_bEoeQ#wKbQ z(Y?uI4|;aX6K)-PfTto77?_dQi5O@*!H2Ny54SySzfHriEZl1A?#gh#H?%Xj1?&{?xm4lv30y6* z6K)|Lw;JJ=v9p+fi^efCOWmM^nOPENY6g%6j~lRz<4u|K)ad`Nx(urU?PL|5y;1zas0xi$7pjh7GH%Efgc5FIBeDNzv|df;fJB7xKxyG`66RVY#qy?|7KIBy-iNlg6_*+%Vw1LDk~ zKZryB2K*Sx%zh-BCMLO%uH~Ka?DOvW`HjcVj)VNu_)Y7TJ>R^p=i}k}o^88g$n0(V z&^u5!oVNg=0bqSalL9n<)5+KgV;>8i7wn9eJZC3a$k}C-29tHZh;Xb#sPol2$?1ZU7hW!RJwIvik zUSIJ&ue+dlAK%6k@idM5R{Vh?6?V}f#XnU_p|`zE@fvSh12@eeb6op`)Bat%gMlVc zPv3&3;OCL>*3tV|d`1zDO=t&(<@if_AtOR@a1S{l*p)d!{1T_LW`1+zo)@x2fVJMq zQl0`}iJG<={6c?&1!MzNN>xRfYlTZqB;2a%a^!c6Tx$xBexRPIypy_31yE!g&wU&Z zmFCIV|F61Cs{y^q4lb4&>%y!G%~cnwj#tZZ(_EwZjuG>HInKvn(e|+KD~t-Ev2Sjl z)7AC$EJog{KLx2qTAS1h@DNYQIbEBc$vZ7yU#vY~R%%gcKxKnqjaI?CjOwd$+NeEq rIV7H$_8@bP?x#kp%N%+kt^sHs8F{ZFWNPpe`*nVS*8f@BT#o()D%}F= diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-0.a deleted file mode 100644 index 1362a96d10a941b3a45a20a428cafd3ed4f3f86d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7844 zcmeHMPjBNy6n}AAx>Q9V1ZZIqGOHpkB-m-=2DDlQB7s)o5J4AlK+L*{Q=2+Yu)Xar z;;=#-IqV695C;x?0=~eCD_??7!t&mX|BP!p_9E4*NS$i_L!)C14CXpVlp`xv)5Td}E|-iz z^MK&&*ql4wF$*Vm9p>sxXBsmZUS@6qW42{ZFLEMahyMMM=}jzmYk&kiW+qZ@q zPVUT?Y(@WP_Tuc&30>=hiS1aY*4*;K0Egl~ zu`@Zbd>pc8$Wx8;oiv74bjv$+LRwdEUmlU`BK*iUy<_Vm-$93bYPn|UEWE&WmbqK3 z0OATJRuE+UnoM8P3sdWxufy&lp?4Xtbxku219^Rr^7@n3Ge~U!t%VHct<6?9wC;tx zU0$f5-RVxv&@6}Wo*`(Dx<^4!0fPsGbLfJ*`!RL{8yk3Ea^lw$xPELW+?8_NL5$nQ z#!dk)?ni}n=0OJ)))5Npkit5y-qAZ+cj~$b>=OH;0slS*IBw0%lh_d1W&hE1?Q?Sy zO!l2phLQZ%F2hJZBR{lTRAy7;SMIM(>{@~0z9L4nTi3G}iGIabCyW9%mQ6g>h~f4V zFnplt$&))~xPiNXk8n&IPn+RAej8Z4#P0@UM8pu<5x>Ut}AGL z2m8N_SWcCCaq%O0-qYUg<76{wUP$9iCVmVMvn<9X>Z0r2K+LzrI0L(RdJW5Ago#X8 zsgEANMZX?COl_o_;?opih<7w6@f6RSn1!$Dx7^BUEFWD!j=?;ZK*W3QEt;hrThcfY zTet@@YT;|8dl2fP@sw!MLM?Cb-*{S1EH@(yRSNu$<%)x1)j{&&Pr0co`ZZOtw|A)u z+*LvR$iWhbo`HNl2WRO z#4Tu5;1?{pA~H)pr-g#P3;zm|#)rMSD#)Lj9^kH5so)EVJx!|MNSb$*3fy8`P6emM zxMaIu!JV$Fg0@gW=Hm?xUuz{?qXl3}l`s$nUMlb_)S{rLKNn}& z%ZRX>XyHjBg2J^Rf0kTt9lRQ`KGi|;D8U{DevWk@FS+U?ZIc?%Yigk1&%H1Fh|kEX zcrcZoqfN#GPnvgCJh)ekOExini~hbCmuTQR?sMIE(Bc{>|F}++TIaXvw`l>GQcd7L zoRXx#pV;QHq1*-Mj!ad+2G37gO}+H;G2`<5l*Wv!$bq_g0Vw)k(t2y;^+*q?M&3^p VLM!`?G*YzeVbwp_8u-q;{U3hwJ3#;d diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-1.a deleted file mode 100644 index 4b46f36024a8b088d20748a4f065f7b8b80ba695..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3648 zcmeHKzi-n(6n;)pQqm$A7&;*XWh23E6DLR&iqrv+I#fax|W@7(W3D-vElg#kIBpu(rY2E@KCgH;LH37kd-7JL-7sBpABm zfT1&R8V(DCL%O6Fo6hJYa>rvvpg}}%)^i8Ju*c%|QNTi*(a&W#%)kT2e9!GHaw1^6 zzSr)*=I^jS366u%>v`{k*gtsN+^XUm1cNbt>eZmE?squSFb+R8ZRe^{bQp9-@o`)k zB}+DIt!&G39LF@Bdb(D71}+sA%K*5~trepZdmm$N&#p|cT9u9)yR#v@rwP_s|{4m40mu99`LUy+&06vWH8|& z8pQAo$q-uQEQTw*-fFl+F?zqU38(Cf?K(P&Ks9N<$m4U5Tl4VT=esS!v2e~nH};Q) zec|CugImx7kFL-H#g}557JZKq?|exe9ISXwE$I`L&TCQS;1?Rp$TN$~VlrKpNL`VI z#TF8~E`QXk+nTzHJS1O{!Ib!k&-$8^XBDsK*x!;Yr^Z}d{z&$FTDvMv_CcE$(mXSj zKN^UMvvG;KXuKW7e9p!>*v-o$teX-eUD%js=g;Ww^fdM1DG9Pp0pcV&{4X9i$e2-b*!N&8w06e~sY!3K=A4yF?=<_BH3!2xMwR9fALC gjqoi2W07iP5ARgT!4EVuHKIQM27eTmkgrOA0p@&xG5`Po diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-2.a deleted file mode 100644 index e5fc8cf292da4f5cefee6c0a0ad905a9075672a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8152 zcmeI1&u`;I6vtnjcDqzXAb}8|J$O<1A+!ljnmAc$g#txID{+We7Niwo)|*UYtBw=d z-gdj`V+Fp4>Zm$giXuI|!ZH(Mr;J47faGjsjU8{q!ofp_xeeA}O=dBiX3T*xn_I(WE(Gk3JvsTz30?ldz;^gC zA9F7Z?%qC__;hi-hKXn4jHj%Okml<9lS9Yl`<6c}nx#-8j(4q7?)RO+5%<#xT84TW z{Xz}R@G+Y1ws-7=JUzbIRgW)H(9!$0<&F4(?{IJUDR-^VnRtQiOw+k$O;S$3Z}Y(s zE{k`%?>on6pb`JV3GH;&^bE^s^Hg_mUN3Y{W&*N0YU6-&gP9vDyR4}xHU489?qLlf?{ zV(kWYHt@XEBIc92c05kHtHrubtlP!TPL3|#k9^n0K@It?Nxo~ucg=0o8ntG9=(;GZ z6DQFD|2_p6RSvDAcpw^A?MKU1=hh^dYCEk+qu8xlq)}`}cBodUo-L7Gg}pX$*Et$t zEAohH1s|X}C7zu$8rWE`;+aYwZePH|yGA49;U?Y%3?NuGp0$TJ#c5#mvN#)nS0fLh zyPW6Yv0iNzT|$hyKkkz*?$5V7IIsm&6Z>1jKF^C@89%p0yhAw_;WKa;+7G=WIU+m_ zo&gKOx{?L5FWEFL>N7^3bA}Efj{Tfk;uA?1wX8Jw3p=Zb^vld6qJ(9e=n4!hrbKK} z{OGjX3SC>mBtM`BQ;L>H7p7xy1NRRjFQ-OdUi?U&_jK=CxR|G`3u&C0i633mJj&N4 zbkTgbQ1flR&cxlK(37(lX`&%)^e0c>r2o#&(lO$O@|WUVjfmx(IQ^HRQzm}yc{a)p2y2HUzg$KalS6$&?k^!U0Rl$wzWP)EfMPt>7f@(&t|IiX}^bGfmlOm1U!oi6xh8?EWt{ zHY6K)@7dznyRI>W;whDsjRQF#Y7KtHRAkX_AyyeV_R7++cS#4{T^T@);T-75pj}|b1xd9 XMuR`F&LwBg4805gEVzQN)7$?6y&k-R diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-3.a deleted file mode 100644 index 90c47260355f4fa6e0f0273709b4c19d07e3187c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3684 zcmdT{OK;Oa5FRHf326}=IB-G+1ukG?=i&HJMUf(biZ~#l3T_*>aca}N6uSf@gg7CN z`4L?C1zakw{3puHdYx<<=g~t_F{yXgv!8dpv)||0KG=7L$6hV}Or15eVp{k!EJIcC z4^1vrwPY8?1I;`D+yGF117v;xNY zeap63$3LP=c(H2rM}adKFamW0g0mB+>-SDrczouwj>$|`Vh+P$x-Ky0xlU`769IeU z^+zvovV-0SKXeZd-uj`}==VbRWB9y3qy^SXMSK&#J7DXAmyB62+G`9(C}?#*4MM#? z*}z3RXBviOS*mJP?a9u)QgGwY3xVRs=rgZ}ixu!*2(}-(Y$J9)% zq_;X91nOC*vmSqVe_-^DP-?VK=wOSk?tbxUf>sFCNj|cs%vtnF*Gh0mQk2@WerypEwI} z6R#-lbT7B$*wZVd=Q9n+`IzSw5E|f-qgn7NDaQ&WOPOXyIegvp4w2I6c`}+kQqB{8 z4?yEYo_E4SRSJG#x$cSSO2@0sp9-hiG1k;hxiY7n?-;68+Gz?tQMFC&yqD%(rkyYu zH>aI1$+(Gj?&JFE0)tIq$=ZQs+QBFPXU!DE%BPxn83%)}>?fAXG_(G{4_nA$`G5Pu BjxPWJ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-4.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-4.a deleted file mode 100644 index 05b5b8aba5a35211b7adcd0d8471b936067ec305..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8744 zcmeI1&yU+g6vtnj{ZUqnKoy1Mhp1aE7erEfH*s>Psz{3#RpL;o6mdYzdN zPEY!`wr-f|WH)UG|Ey-iG%enw=BC-A2A+<#0N^q})dASp0eI~`(gEvf z{Wu5~$lx*Qe7fLnBhs#6VGZv~P5gR7*No~(cPU@jigdeJ*w*NxcI34-3~I=0P4HSH zUTXupX4e|^?qGnzIz4RJ;ooNfrdcrVQ*CGDX%xFv^E8Uh$PU#C z<>@5t%I&p|O>;EdR^$=Y%JuX`t1czD~gGal~XQ+SonV(mqH z_?|Q-yoLqx@Ez$P^ptfT9_iJyqKk=9+oLk+qVnu{8!I+}a$u|*>(mQzSNKI6SGk*H)J^J9}p}`UrJU8G6JkQWD|I=8R{=Z+)|M#;I;bP~IM1<$rIaIm-r#?_dL1Cpi zxF)?m;o!p*2fsxe=%zkHM82fN)zV%;Hf;5qmDt~1#D;_o`j%64-(Y0fSZOBS%rFs$ zR%|igCoL1{EklZhvUd!2K?a;G1K;DCVbS`itE?-^Tpx{;ap$d%9_n@RL!`YdeOdZO zuZ!15yQnM5K!r1)|F2OLC{}sB^gh~xQW7UV6%{-;;7>gB_0n7u%mj=A+7cs&RgjuS zmYVO-lNM2PqX^ Mq{GP^&GHHP5Bk~Y00000 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-ro-typeresolution-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-ro-typeresolution-l1-1-0.a deleted file mode 100644 index be4994ce9dede65da5bd7ef098493075f8ef43bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4428 zcmeHK&2G~`5FRHfEus7fAymP|NCj~qshu`%Dpkl*5nKROQIR;Yb($@)>co-lwjgon zBlOMz@g5xd2;6uZ%FOyF>)38`X{t(0!JD^Lf@!HZ5zByoRw@s@!;_uO}KeYC^x!OScc7MoX}fQD@Qw%8 zD=V;G+YUDy+Q>joA9VZuZYQX_@p%@VqpoR&fk$Yx@PLKvR^KW&@F)S+6o9)zn^Wom z{}KqjxKKgct#@&S#SqbBf_7H#`2GYKoDj~Y376MmYz37Hu1gj%Ux;hQ?Sxw>#;wP= z=cp{^;NpIaxLV(@VZ_xux0a5$nxohBnpW>R4%GMYRH8wD&jCIw`_@6+5VgxbB$MSa zy9AT{S1Q6tzAG1DB)^d_$_kZfiF_-3HiumoV1&OYD#{9ZEGzNsgek!Q%h@qq#CmV~ zSa0d8nOHaQEbfVIRjxYL8?kpEphB^}6vYXhbzZE;c)6Bv33ufFSSMVpkJpRXFb`DH zTVP)J=eE$MiT0j&3nLswL=Nl+y~Dvl*dpQ$u7DB3yCEaUzvR=A$Zwl)%^8jea2)Ma z6H5X5q6~`?{6S@Q`RDR;T$EC)f@!{n(hzi;lvUOnO^Ipq!aXM#&2&|u*p|vYgE|AZKNfSs;pk;VH6$qohn5 zu~^DADb|R6(i%dR(RdQF96^~2_|uzzp>*O60)0_{h3`yR@lw1lPq2*#+$@Z1oY1C)OyG6 zof*%M*Bb${A_74{5CkX!6rzZqh(JUT5(iE>aY91k#1SEc5GPI?6W*)p>8hTp?x{vj zg^s&c)!ke5rn;;8ef8d}S5J$=&@mv2A@jHJ3p!mIii1_NC0Vw_upNZmY?}_*Z)|cW>v5hId zIV0j*M*%3leOSbI9s+phAWylv?qOoRGE?#V`YOdB z6;HM1R;Su(c|^3?A#$(7)_U!FciUU7c9`dvy|P#GsvZ`!$-whAShe=S-U_^B)_tmZ zjx`n=>&^CNwOemCX3G`4d403x#pdF#mV;+sV4bygz13~Dm#b@j^tTB##u84Qm~S?^ z?WR9Fqdb9LN`%f>(vw>a)}AeoCl(`#jAcC5ZuVNk%8*3HG8Qb_B&0Ex&~K3;by3N% zoa3zBVE&V{$)Jms<>QC$A(<)t5LSzdrT-s5*f=7jT&tctgieGNsc{5*}?c-h+kRoRVv*&!jNsX|CN8jImx=}yhV~a}Hl0eYU znrqZ#XV3X4Y{^8Dx!T!YM|8a>+w}`|pPgYH)ogF~3ss=4!PQ)kdv~I^Z_F z7s)o+tXt>2$Y~@m^QbAj- zG9xUwVsT~n(#X|7p)>+;Bfq+8WUR|BcKLPup$MgwF>I`AJPFU4h0?oYtDVjeGPp!^ zbt>=>T2>;UsRTRmxzxbR6LeGkbfUW^o^HBNcL*=8Gtl+((WV*Q?2MvKGujEd_ffKG zM*Z?=d9*ZE^L-dwM7@^kEL%(#QDUh*`+OG>cl6ZV01&_~^rh;J%$>SA# z4|{l(c7E7AKHhKHy?8-9zAxYrde0^v@6)Sig)YR5n%}=By8iXx8HXZZ7toQ=zl*oe z_58|)(>J({kK`CQ*T8yrqt`emQaG={hkyp&x&jTbZRTeNCCPk*lClrM3;>~gixfloPFz5)o22&rv{AUAB zr&IBRlOkcSPw#IMZ?>x37o@a_NRb(&@y&E0!l=BXNOQqVSHWx^Zo%VhKocb4src^u z_tJl_ydu+ZR1q*Zb&_%zeKou5f!GTB~s230^IP4gP0=$mbu|sphHZe4cP=_3hDM~z) zEb%aLM8m^Zu{nm};qwX~xx~Y|a^EC8w9IrG9-cSTg?J!-u*JhT;lVtvkZDXD4ESGS z;?WQhgpywdm@rpeF$H3q$2~qKk67YkO4Z0j@AXaOnPK>-DSYJ;9}VTcN%**Erql58 zf|)MF2l0k2KFVf%grjD}RMh8YRdyVv3Sf{pc|s)cV*!4PXObN{PQoUT<0=+(F6GJO zj3r(sb-cWUJTwe1D+-^v#LHRbzDaoLn&~vWe8o%`;^i*n0b9J3%y{9$zQj^l#>zcZ z0Spo=kBbC;EWq1%He*GOdWY(k4k(4lDN3eul+X(lATW=Okri?|QSzV}C47vOp5@9! ziS)@NphO{Zijs;YN^;wT7ilpvsu?tJ?aTCiI6!( z%A_SyCUmPLALWur*^eAxi5%Rs-V&l`G&ehB| z9`**@FY$1HkV2;dd>fCRTHW{wt1f0!hn|ngaXY@B9xrR2k4qMO|E$7)F8Tid*%Np_ z=+lk`mt=P|_jalP2Fd@pFd+;Dcnz;Tz1oT>h|6>;1#JD|C0z=9$pQ^eeMo5dqH*+AQM2#j$%|H5dh!hEE+xQ( zrKh`cM7NQ1J3#V3F4eS_0G~wu@2`v!9FkoO{p!l~CIe|s zdEVArJ)!sc`M8ke`7|De!y(UWi;Obe_a7iO#~}HCK_u{F0e*q!kpH!+>u@lWI7Nr0 zmpYdS;zbM7AoOO3HbEMRaBm+SxMGY-&9XL>Mk3H!*l^X5eF5VkZP1=y(p!OAk|3j z=^TiK{4HrFX0Y`xC8K9z`vH2TzCga^~!b$Ex5ygn6Eb*WD! z5x7LgxTQaOx~$Jg%ID`vOCyb>xYK|Pf?bwTK|KQnISN$~3H(@qAK}^4nO=@P#pF4~ zf~}uA*P8fSjk7KGVXm##bVq=N=$@n5#)8$ZHGPp3qD5O3IOQ@5G%5pHNiH_Eb=(Vy!otqjASPDTub zO%Sy>G(1J=oZ`jS-<^9l67iD8v$4;Nmn&yaCnHvr?V9+vZ-x;$MTxCvJV(i8L&>dX zlnCoI;}XTz|EFtSqWV$GL=z_pkyDi9UUC!nYwJue=gw!hm{D@&?0jYv6UwG$@v=lA za*7gLFL`dko6r;v@TVEy`h*!JSH{j~Muf;+&Ef$fX`JH2)@z>ce3pohBIep!@O#bp zxN>$rGh!sNrCB^oB4jR+QnvJ>=es*`pg^4GFwI=`j}uaaevPwCvOTV4wY!sA-H6!{ zHUdv|%J;S&^L)p@LJ=ni@w? zIK_so_q?p{^pWp$BWG4o-)O5n-9*^H6+6mTKr@XA+gVl7Do6c+raY%Ou=JBxW^^2M zQBfGS^W~CICb&-FatFX?l=~*_dA4Gv)5fA=zI_o|+0+iUIM^d_z(miP-PIZNJwXc6 z-&f@Si$eik#0#2LNMB8ri}%z7r<`u-@y+4XSn%Duo=|Kft3mSY_qQ_2w+6D6sW2=W>9* z>&qbrt{XrB75tHx15s92WCDkrW+lbmw9tw%Wjngf5gas7Ro)uOv$zRghOIn8|kc%!-1 z;NGrm_xV;|bI_};3~a__x*Gv0G8%r{%x0s>jqddSmFL5^%5 z6bbxTfUo1(3#zK9JCPKpyl(619oI+kFJU)0Y!v@l(NzMST#n+q{*F(Ywb9qW{03V) z$8FscY;%>hI~(;@wtN0N11^_*e>6y;Qvu$2grBo`@2xiBsg_^|-5;u+;aq{_?Wa&H3ErDcCPh$y;2u@#Poer6VTa4Hq zClY1ZmtbiLU`+?BJqQAGzSG{{+QY2RtIMrpsR5<&FoOvb2)Qg{g2v7$NG<3gk-(1y UcpcBA1r1_CaWTi{y1>JK0Vch<=l}o! diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-base-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-base-l1-2-0.a deleted file mode 100644 index 493442d3eba13bc6f4a0b3fd151f2d00ae6fb6f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2752 zcmc&$&2G~`5FRHfDNzv|I3O+*d+fYrv~4M6!1T|%4+@hOqhM0}8`oQl&)Pl~f>9K?}8XXH11F^oENDK8Ga z$ypM_u^`YWA-G6ncQ%dE@1heVQVcy&6RrpZE;N!LL@0yac0++U4P|%maWatO_j1(1 zPYR>>?Rm@dF@7|P@l$gF(3^deowPd9{O0lMxvuZ~w(U1Fo^88bd1u{2Y5`me;2~Rk zRyCF9Dckv-4Q{*I3(_DT!ZR&!FRPs-*#Lu|go|jw!@9=ehC>P8%WS+}hHGd);r8=! z#~OEt#=#n#o<~JEqr^c)I9d@7DZ&|gPR((vz2Ok5{b(rF1OKi7zF7TWpdHF@@<-u{ z*J2XPxgD zHQsa^^Rq*1+{b-*#Gh2UYmL`5vyagrjXzNup?zMbag8@e12@kZb6(qo)Asf803BtZ zp0dBp{5)XmHcAiqghV(tRt@yia5f%f9@ZM%K{hbESvC;A#Ob1$r%d+FEBV1-t#leG zLjfZ0v#tPt(b!FG*lz7nWv;>*mblb7%{En$m|;A zR!XPA-d+`%pZc_abqv-w;=-cZELD*vV&e6*6h^slurIG( z(A~ww!bjHn@=i0PJ&H+M1-Oq_#x>oWmdQ7TEw0uWFe@=v6j0h{wkQfdWmH#{!A6Z) s${7AudWS5-=y_@sJD|l)5=oC{o0&hh7j8myJ_z8dK*-vHQb~M<_f| z-+(uw%#3%F&5vm>Nhk8|c=q#-{msly-k*fi^TDUuN3kgWkssjC3mQUrykw6;G=ipn zpj!ig3V?HplLt`!O_!7%DZiv@n#wbksj2LYBPDO*Q8` zOeBGZDZyo`&ab9%_Cxlwy_p&FRoyc&pK;&d+dDU-kRN_{ZcWID}Mp#U+D`A~vCsBEVX zY_`wnmR92mOFa@Uv&Xu~vFBSAR%KdlF^j1!Q%>7)C(ABghq!*GGo2=}xh^t0^(lT$ zboR~i3-fNX&_!B^iPqz06-N7=AZD~47vM4roiuHY(I%Y4{lf>kyStm)NLy&?oNwfZ z@)O`CUOB&XZ)-NkdSHSMR+(kg=J2OOH@F}aK>Z-N+%0iX!_t87#RYlK}koUYw d-ts*F?UP#$wS}e<{K9eNKTN@2o2}GW?H><0%i{n5 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-cryptoapi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-cryptoapi-l1-1-0.a deleted file mode 100644 index a8c6c09d3d94956128e81b7c4eb8dd9fb0ccc2ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23664 zcmeHP&2QX96o1*IO&eNT`duinMJdBt6EBI$km5W7-iPUYeXir(dES2m zfbzk0o{!uEpnUvuo=5XoJiqiK0Oixa^8Ctg0F+g%Jv^TPhwk?r~l^p zja>kgFP!0d?qvYV)w4Wb!g9**SUkT!13-D<0?(Jv15mzF<@wrmfNR$sXWnr>>bPFV zS#Z0q=ghb3u5-81s;xF0ENoO}Do(R;i?UyeKlS$APHlD7A*GcLsXHBaam{OVH=RXq zbG6$hNz-<0$8u^89&N=1$60o3^%U9zXP(aCit9C&HZM1Bw`$!r&%HWZp2Tx#tgK?6 z6XkJ|xgIsSoYkb(-l}z$BaP_-O*e9Qp{pL(?Jjuj^@W;OTbZ>hT0bs_W&G%F_g!~0 zse&dF`gGz+6?7S^@qycPYaMsK-Rim<-PsxKq@qGr=k1l%wnrxx9#UPvbg9W|ty>HC zS1V_lm)tIyFdfz|Yo`&C2<>1j%T`!lmx&s3z@im2kN8bj!Nr%2K9vaUo3XS|pIomUX+hs1!53s@v&$ z?M-T3ho>%3b!q(Km4(FD_8RLh9XK=+RlG3-0$+ELpKbUYf?}pO@42N`z^)pS&r8b+c4QgeI#n$t+lpO1C1b0U8ywt>w z$MvQ}IqB_6)|(c3NS3fCMo-9*x5igGOS-j9!e-%B6AXP5*Nl)yDfA?U)DA1Pf1*2?y_Od+_dtYW#JygfUYzLOQ%WJJW zyo6aCJONCw(dC$+@ue{hl6ueK=Nv%^Qx^74zl2kO7TfYo0sh3D6eqbU%%uI9JHuMX zvaIqH2V5_9nVvwmiX~!~Q8qyL(VoebBI{NyfJ)GT zflh$#xrA;PzC5i37>SDsLtNOC5x%&G#?*^1KI8_+>@H2dxS_PW6<;jJ>qYp&i`SEU zaR9M3>+2BCc#7wXqZ}7v5$P)F(mgh-Tyd0lR^bX<;FPHV-{3yy3fbi_7(#;7QBclN zKo^V~a56h=Ckl?}D43)62MYxeN)RY`Qe0pgqM+;tUNG_^e21J1PDw5x|J9TW4*Muj zA_SR6!LtNoOo87ZhXqRu@I7vQE>OB04j@DVCh7YNmLV4GnS5S^*EGZ&@}l>Hg+mex zB4CqkMmUb+LMgz4oK|9K0lven#DeH@3>0)x+H)iOoFNi&R-lW$El4;hksu?HgTo54 z%P~+0$x_F{j42i{fX7lWL%NT*$X?#^pscPQL7bS*kPdJx=#ML4{Ve+m&(VznQ@{-P z7?4Z__yPAhGw9v!`3Ohq^CWxP5E1$M5xc%g^Q3;(kDlR(kPqb0fwPPT^YtUy=LF-(a&%6Vb3(ug{a|6Q#DZ8e%r+;Oub`s6i!R4N zK^LWt1k>np&I;Sc3VS3Hs}s;>Y5 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-isolatedcontainer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-isolatedcontainer-l1-1-0.a deleted file mode 100644 index 0b6588461254711829b268cdbba267c30018c0fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2870 zcmc&$O>f#j5FG<46s2kpJ@mMh(p&A?A#tb_RY;tua>%9U#b8q$%!gPfw3n)fs_HR6 zsE7QW{)whD>s?p}2wVz_JiDHKo?YI~^Z507Fzxm~RNt|D^G-brnVi%5Q zBA84#frf(MTtwaLX`FuLu^1;o8in2QC=KEfhDWuXntmEEuUElW^J9FQw!)jMAtS3l6K*Iuf zE=LEJlSW@sIbLrVxNRp4(qKJA&NRTib2>t7fWddd#T4-9L}M{2poIG}n~ay?PPLzK zmG!tYjibPaD{y)qv&J3@8?(mNSz|9{jh%S5XS+_AB=nrqi<3wN_#*0>&%skkGHYB^5Hi%#1bkWRrP`2kK zwMeked+JHA05{TRrT~9%u!n-O!|J7~W~M#iQj-GQSbh9O<-f4XlCWQx-}D(k*=}Y8 zc`A6l#rd|<0CnvDRiAmapp!kp#jcEXVNs=W)u)b_bTw|SJ&JdZm~X3bK2FQV&{8$d zH+FabhCH{odH-Wy5Lsr@x|GQPPw~q5rh9W_a!yMZm+KLjRa{mdP|A>u(JJ_qQJIy# uje3;Rll;H5hfII;JT+Q9)62cS5a=cDpaSAgGWH+>py_W`wgo&E!2dl2>j diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-lsalookup-ansi-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-lsalookup-ansi-l2-1-0.a deleted file mode 100644 index 3bc3b947ef7af72d3fd3bf84fd410a1c27f74700..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6268 zcmeHL&2G~`5S}6Z%+{V;RqS$Gvgiwzh zc?rY;@c`U-7bG47nAu(1YsXFu5{W8x+x^Mxx4ZWE`*zm8y>9n++8Yb^^kk~lYZm?) zmZ9tTk4Y_cy>6Luz}5l)ECOhU0JA-S`JW;$&Y&6dMP1~}PXQ=jZBb_IK4UL@r|+{T zPT=&}{cg))M{dXNxeSf2)v%c7Zc~<4tXkb8-|qDofew6vGvC=6^xfc?dA{v+yZZy| z?f5S9OjctCvl&i#-~eN7$8Jq(QDBewr9A1ohpy-BIWKK*;A}Q)CSHhp&|@R|QzIYa z)#E@bXJFi&8u!5Ud!BtP`b{He_z+6WvbnR<9dv?cZfmn?Hj-o0eTflrx$GfPC$#o^ zouJx{NSDX9nqgR$rR!@(%(h3Rb4WOV^%C-mw`NP#zP=hB4Bt05NY4l{UNYU1+=Ts^cCZayEk7UB$SEN0-se$+wbz^|YVDxnT4 zkq#=PgNkQXY89i}@;n?=-9xosxN8ja%z2oseaV*Fp3Y$c^Jii zAxapk>n0 zaZ+(u2LA<8oo`@T71A3UZ&ub6)y;9QoglO6s6#wgxj>eA%y+T>m1I9v`u~eJQGB3h zx{8Z!E9*iWmlE-&ffz3v7pacsqqusQjkBED0fpk)SW&SMsSrr&By^))S79*#bs#%msHKx%<|idMlSP~bIZTG}uRYNI|JIX>XVF)ng!$=#HyNk)!0%DST> zN05yhiX88=agjD?=WI$0Hf73=99mi%>f0)gq`mmGYGhg7d90C#(n6I6->^(;M7{lH z@mKn3DW+CXF^M-E5l!A9L&hoQxx%zbD(1Da?kL5yvvEU;>1X32#n8#WsA5V|G0HcZ zQ>~KgBnC{eN+P$QRfA7hN|h+LJob~-v=m_!RK!Z{?Ck@etPn=@l`VSo*RZdsA|R;< mdAd5?vEv5bKc!d|4PoG=2A{D`szRKua=zp$ofG{=zVHVZ5mWsD diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-lsalookup-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-lsalookup-l2-1-0.a deleted file mode 100644 index fb8c8ec5c4a98ed9efa43f2bd0e08d9329124266..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6210 zcmeHL%Wl&^6uog;TFO%h5CVaWR2E1iIBw$xsX{@pLKQ;dxnk-zE-`hJD0V275Ms%a zPe3dXAHWB&<`3BN6|8`JXU6u}u@i%YQ6(mtNA8@Nv9HgWJNCs@d$`%XzHn7frbe@2 z;m>GZ({+P)sim$ro2DGFz5oD+0W=R__6flJ7m*Kr1E75LyT~UN0Vtm`C^L4Gu?N00 z^x0h}aE9z=zvHl7w`UJrhDO(FSns6>nxVRi*XRtAY*QF*tpTIRkJK^T@aVsJ23N{XB;KF`ne{ILFA^U3~ z`)d*VYo1wa)Qoz^Lp=i2w~&c);E$gGPb*vYc4&}x)sM7nHMKUuR3B=27{!0pJdENy z@<+8oWim`cc!T!gR^Hk}7FSG#VUN$b$8qK$gnCICz3%hwbgJoM{qzNni^Uq84@9o>zhTekI zIYgX%I0I=tVl2Qx%)-y~Uu~(rrX{Q6@dniB%%clP1#nN%DmY4sxKhVTyh-SW-zQyz z&>4-VM5_zkT;TulOdDCQOAA#Re8h6Xfo|G?ue3uc#UQSWrJ}kJCw*OCU-++!=(P7o zx~Qgg!4JcNVf$4V=cNi_U93tART_N2GOY{o4p88ArhHYH1y!NE?}n;)gPX;)Xt6GL zP^!v|7SEJ*Cq;`O8#fj$US;DVRnTtPmKbcxlpQU!v?|p1Q5;G8?|xOsqP+819k->0 zDh)ninO28-`|aW{?d5BwQBW)9cm#Qg+?b}7`wGX()XEcO-AP*MX5+@RGR($BS~-av zD5{l;)Qa-`Wnb&#EXe>R%RlXLCqFTTYSv>teO)1)n9{Oo~ r-bJ+lNiE2;)c%ea=kWe1#d>H711~jrk9ATH;w+W(eOBo#>!bHCn(#t( diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-provider-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-provider-ansi-l1-1-0.a deleted file mode 100644 index 83b64c00baa2fc5446406821ffa2af53821cb0b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5400 zcmeHL%Wl&^6un7WT0(hLVo^582-x9Z=i#PORi&y5RH_hCL1M+ki5+65M5JFwD z>^C5mtXcO9_y@NA2+FV1o0qoq|fW?K!qf>tby-jS>K`;0&xm*C7bn+J~Ny=Q%=cW4iPP)&HpSs%Kw$Jfm<_Mc3t5xI7FAI+ zO_QWmMUB|9o4JC70a(uf+~l?SOu;jcJzh`FBv9%FL-+J#2=A$Za#m=#?gSW|5YD0r zACyDv99HJ=xx~ch^Kq51op6iExYZDca)6~6T-c9%mOHMDe3nB#%ORg-;3=XWy;+)*dUYdWY9%S9$o%OYNnu>WBE9;%w}hhBJ}u5pw~q z;^q69?!}tuYciP|jXfYnYaVGJPy+W9S;0|41P=5p#GWDj@O9EN_BSw@ey4!NgFQ%zECkuZM+fej?+dv z9yg*5Cmt7RgZAmP+Q^bNhK}Yw!!D~X?%>)f4RjH?4_mYF1#{BH(2^&8sLV(WYC1Li zj}-L6`Q9j~D^kPXM2ZZ=esl6Y_p&M?Riubrb}h}P_>8onq|-*FJQ68B;*kv51MX(I)YHWL0&A^p+0zR~8|OFA+`YE| diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-provider-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-provider-l1-1-0.a deleted file mode 100644 index 953406dcbc01664876c16ef13d8b8a19f971e6a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7010 zcmeHMOK;Oa5S}D0E#WByQn?@_io}5gyKUT5LMW)>B~=Is5S-YijY~|OhhhUoLWlzg zjy)nF&YbxN{0sgCM~=YEKAd%IH}0XXT6L>^bm!aGcs|dpbNOa-u-?8^zF|a@RkLjT zGZ&T&!{j2pG>qDkEeEWY0pK)1@e9D@CxGeSBA@sJK=};HD4&}V`GNsJd8SU8v1P`d z`p&>-kDS06u;pIMVQ<}Tv+pwObnUv$Ja>(;PjKct>#qlH@Q(Ed zy*F+PXYwp&F_SeJPS$aNv9{A}?fr7V9y`Hfxtj;wjb3A}j*GjUK1-A!`XTPGr4M-) z9g`x*k$1Ymz;*lw-P`Nlvxa4B3&lnEM)oy7r{GBv>`PcTGA2ciBkyeWJ$Kzz`@1{n zb;J(!C3gTp%YD}is=d%G)9leQP1{COwCnZI9#;y-&?EsC3TSz}HCd4gF2 zYPHo2n&}WOX@L2&y5{?1VDOP}E=@SQps*9zn81DMiO(l+HPuhJ>2%zp!d=70$poB| zBSR`3zk&>@D27xNLn@wCu_|V@<#|xua6Ly3`uh*yWnrVasXAo8u0vX~G_o$ibo~|6 zFq-a4X&6m!q>EC4%4m|h0(GD1{FS3eKfixCRYIedDp^IgHZzi(!_AYF_Zq3JR z-Nt8emLF?kzioX^Y4mYYi82N0+NM;Z%FHK8YPuKqb8ernr7i z@m3aVZ+FRSh{P=iHiGu+?xyJB_6GaF2(Deh2+}XiFlPdV%o{LkZCmEO~ee6aW;y1I)`OLVq_Oq#?OCO>A&sm zVIRhZFcKG`kZh0EB3lJGj#=oK{?}W&o@u#K+|PjSk-1j^Y5QDDv| z;b){h2!_#kO0>FQ42H8j(LACjeDU#~uUIAqeCeTJUJ>e$2MZZ_FmJ_p@DWupjt9@B zZBUgb57xAGcjAGUjEnK$O)@Uz0og)BVz4PwG7lz*2l2@HKy%@eJn@hVx0DjFF2Z*# zi3{;#XS(R*&x`qtys#Eyyg2d?vmq}iLdnXD67eE(X+7Bf;i6=~kQ3o+g>&MYtdg!lfC3A>4uiZJp$hTF>_kCaA^+=zT=(!Y%fNlxGLhLMt$ zkq1YS644-)2fK-s3dDnW$Z+^0rNm=L84*{@KJmiL$P4-*fv45-Nn?=iw<5E U;Rn_%{rC+l;|~nEecdYm2h7j9ng9R* diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-sddl-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-sddl-ansi-l1-1-0.a deleted file mode 100644 index 3c758ff97fc7acbbb5f7a7d38c35ae5a394b00fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3648 zcmeHK&2G~`5FRHfEol)PI3NzlNacW32b(l*DpgfbuRS0YZb)0VcA8b4AH^=EoH+0R zeE=Q+@f3XxUWPI=-c8qy-GBt?0XFjPdgj}|*>60Pr(41Ju(w@*Vdsn2@_hWc>zlUi zvdXM&yV+{10sD0TxC3B)1E_rgSX#=S-)ZK`9FSGD`8Lp+}gj*`dZD`yYc2){-T92G^`iX;_ax|wL;*>+2a$?W%9Jdk1 zG2t6s8Aod1k4u0fs~a3^fs&hcq-Cqu)+U%~!%7*(uwS(dW7v-DQMIVf7iC|z+XAX? zz_87T8CC0feiHSjXD3VrhFH(hpXXWah@9c??snMG@zSY$HltFx^NYR za?ypNCcd{){+=4&*b3ay^` z&J%tIpm{RMwvtd&fv;HKkSfherRJ9IQ5<65aR2)T-CRcN;!N&O`vy#WBcBn|KK>cs Q$RB*8>FdQJB?{xvRzs#76^6G z1&gj&SK>$d2Ydq?KBMK{@r*Nx?K~u!s-hFkBX`a`e0`4Z*w5B1Z>O=If2s8+qimS? z)61)xrt>bf)HG9H5d*gJ0Dw7r1~7XJF#jja_bvb^Kj?;e@dRM;gs~0A-usT{v$sy* zcx+VOWhw;Oak zoG50iRSh$F;uti2xLlX-RcXb|QMF z@zT(B(=?Hnm5`^Jwv~UAxr5XM&@;$D-kQx61LrW{?eszeeXD3&ft3#7Jyp=pi`%|G z0tR0R=hB2rD-t_{jTzjRn)rMnt}N|@n@`8BO574Q77}o>AC*&R`2|!?K`N&}$|*FB zf>F?mcC!h^y4!TbfQw6j-AvuulLlc|{YT5?2G%5)>bqiWrg0khkJV&Q6#te8h4(Pb=bhV*-v>^m6pU}56JmweJ|3NUFD(&i`Nc7aF`?rFN)s=Oj z7j62YNCh$7WL%^$nr{s;N69!7yLozoWmRB=2`laV@;UuGJ?+_uq4Mk?4;=H zT9dd6a2IpvYx=LYRDaX5xp<5LH4^iP0)qS8TeJ#}QlhI+uo7eX6vMBT_7EzJ##5rz zL&ZGh|MAQlS=NPxsx17(a>x;I)DdwSC)l1YO5^FGQi|*13|%rx7l(o?R83PC-;{NS z>Ee4bE~bkg$+$=t6}-Nxz+h9PWL;zjbdhv4j@fEATQjeOM|zt1BAtYF7Jg$npqZEp z(%){9BsIzKDZDfG6laX5xZ6k+5+oE=^d1!{Zjwlpi4@oWeoHI-H<76S(&Ha168fjA q3w=CY+(x3|x|k#qL8ObMr)ApbnVYSdi6YS?Zutivy{7W!mH!L)Kq0;W diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-shcore-stream-winrt-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-shcore-stream-winrt-l1-1-0.a deleted file mode 100644 index 86bbbcba8bd6c48a9b19dca0eda539bd9900d9d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4692 zcmeHL!EVz)5FIBiEu{z!95`?=2#N%CutVy!QiXylaYCX3A#vNfv5T$7Nw5v=fdk^e zi9-+k4VOy%1QP#3nb}=C>&8w}30xuA$h+&==h^l6JiV3!lnJw?J^n` zfNFXdEb#bT=Dk_??(?@j!m)7fz+U3N?e7ZAca?|olyS=8UZGngA2pLTq6XLhZ0kYs` z1y*s~m#n8o|8w~z%Lnu*ViIFC3 z^y8B|bar$!vJuy&Z&CEf=7;K!K;)U zES0Tfpq!HUebX9*^5}XhG`mpJeSVI+)y(orTBxbPH>_vftDR|MSKYpJq#^6ShUlpZ z`WNr{ez%4+si8@ma$3_rqM=D)nB~Lc)K^bs-*zJnnKNq0emItgJ|pp_xU;X= U$Q)FlpX^&a_s7CyV0F6r1sE=1IsgCw diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-bcrypt.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-bcrypt.a deleted file mode 100644 index 5951094033b7c5eeb860dcb457e2c1e49bec68d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30326 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 b)ysS^RMydq-EDO(vHJS5_z7IIlZO8T4M|G< diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-cabinet.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-cabinet.a deleted file mode 100644 index 8dfa306b1a172d68df858126b5fa1fcb7da205f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14588 zcmeHOUvC>l5FekNCN)VZv?^3o;FJ^)0&{lavm;f=A`v1es?zdD2qDgw_=4R!K4Uwy zMSzL~5)V9-2OfChtMrji#3N;9_wIJjd-km*JJm^EYj^Kv=XP&re=|FKyI#NP^p9Ha z=ie(tL#a}-@Ml(Pg@Vb7j1d}faM%O-r{j>7l7i$k9oXQ1E6>X zc`07q;_=!C02E()mB;me0Vr<#!{eL315kYXE|2dv04SQbc--6oplH2F(YAMN`?G=D zAJ_-((CynhUemSjx4TZSZ6mR5)hxTyKBVYVF>8AF2TreNA32BZt~<0H8y`4v!M0nj z)0|C}V1MEccikiJq}O)`1Fyf=J@)!1&amxu>m>`@YM=D%Bqpq5C%K04EO*>N^eyUJ zLCdj4j3}xb;f@yEK6U#KlY5xR#u!A^@p4LF`fzt|Z?MCMGw5KHhIhN}VA%H_O64I1 zOLzLNGb9YKaghjg>GkBt_^s%Ay&Ot)gvcuuM6X{jm4i0M6mqf6~ecTEn>u=27KWtcccKCZKruSEP8=G8D~dIrfFGdL9ETPZ+IH{{meNuB>*pH z0G?-8OPS)(eK2I#;tO?PgoWJ_UmTriG@8pSC2d}2 z@>ye7I*4wu85r3yFm%B2uyxwK$0-a`@C;DTq{~rH@+FyyAX^Ro&Wau|<^a)@lO_V( zW+_h$_!}=~>wC<`hwh{0&h_t|MVo9!H|AV0;J5 z8$NO=E6mTzhgO-!V+$L*E42$^Hi%gH8uAR|`9h7M`fei6Pw{-{Df57?FVuaWfQCJO z^7IDXJ$@``G&7F(BZ-gjMC}s(0M29N@}_(FN|re_omJ-tkY`Ia8-R~zCNXLSpOR)k zUn`~gA)*DWzw{1VYv_3j)H>IK*V#P))x#+t`4q|w_!HA44_V8No~2(eX~UMDHk39M zZTJO+kfaS?`3RxxEVbcSYIl-0^y2vxZTLQ(FVu!>*gsuuxIo$Q>T%O)V|3YTJqy{D8 ze2NzIGp7LFm%hP-}fn$8SodT_N4AhUQROGd^Ez;)QH9E zm&SCQ?Vo1#o97xK>|Mm;Pq#*Bt$q{sJ^1Q3iD@p{U~X$^gH=_v;Q>M;$?rel@L?!A zOTYh1sohC_e>0vhbX>_7r*A>sc)oCcps&cf^TT<-y(qEIg;q1YUJ!YJ6oeP_1}Cu8 z0NS>(Bi$7{b3z0&{c0-Kv}R2Y+m^gDz`wRFuq}L_3pj?l*j^!Q2m7)3T$-`XcZOta zUuUT1i2)v75VnKv3SbV!&FqAfi{Z{fiv7Ulg3ol%FFw?9n4G2ay-6(&-x8cIBZ}=3-4EPpP{8tD67lq`z zL`m~OwcZZs;$#aSun}7ydM=l-Sl4sOfby4wRC_IYHhjuIXw2s{qp7#MY1LF4zBtDv eZ1^-MTY#fIFlEe1PqUA%b+ToOzZcDRcjtd`_YuYb diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-chakra.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-chakra.a deleted file mode 100644 index c6073e63626207fb854eaafba9bbe4dc5893b0fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92510 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-coremessaging.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-coremessaging.a deleted file mode 100644 index c29811ac1795c279a623159b391d3dd407f95cc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2672 zcmc&$O>fgc5FIBeDNzxq;=s`$kT@XYREblh3PlP>r~nDUZR^CF*lH3-wxd*>5N8hk z6P)-H{biJy@outdVv<9nZj{;e?DKxSeKYH)Cw|fk-_~B+%cb6|d-!vk4cm6P%e1zA z_^nM_0{4y2exV}B9}bVlB>Cx%g%{>qD0 z5YJM7G7-Hvkt3O={va9;gfH;5kpv+^=?AwtFo;ef{Y<`#(utq-LYaJ;%Bk$c<1C4X zLz%Se9!?vLCb*x?NC;-%WjAwT&1Mmcb=UQXK(Dc2@x65qi3G4MfQQ`Lvz$y`WZW(` zHn?X_;Aeg@gnQcHUOC+~-2j6hgo|jv=M9a;4=16sizvW|%WOXaQ= ze8kH@Ly98>KT(RHQ(dQEjW=rpH;)LjU$+UT+c)b2bX0*X#dekXdBCl0bRBa3LpT=J z2=udXIzG=mtSq<#?K8W%_K9EObWzM4lCOCs8W^l~O*O?Mz*n}pDZw9X>>~5u<~^b= zs2WF4>Qdnl+LZrWjk*y%Ro?P1R484k>!N2Ly|1u8P%5U%-d+Bm=W9Bf22M6M=7q&Q zv6TOh5p%H~H;*0~?*uVF*W*0w=JE_}TVa$7EBosD1wCC}E_~G5a6==4^hI-%9s%y- zKj)mD&DKgRt=<}7-lcp;fYLX!MzfT)XOaK4hnZN43f?oVA&(+@p9*b0kBXQ43_#JI Xdp;`g~hk*&Dn=>yq??b-5q;& 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 F{vZ6gsF?r& diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-d2d1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-d2d1.a deleted file mode 100644 index f1e64913d20011822189278223ed459fd8eb73f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12410 zcmeI2|8Ltw6u@8HZe7dxqA_4Fm@;V-2tjeO)=8ymipaESQpYMfCWH{Ko4AX&)DDTe zm1&wPgwTZeVd4iQB*fpqAHWa$6ZjkWI}qc&cm8trIf(qA6!kod zzGC}V`c~VqUH_Ur=v;NNcO9?4?m4bMxZL-4nx5wl)-Au)X&8ypCe2BAYxZqyiOW{Y z_xfKol1-te#W^n7cb%5q^ziBS{8T52e5yt|_lRtq#QGjLUeoJ({f(a0veTI|(?!mm z-Y#|Wp0l&Nv(d7;K{b=z*7Sy}LHo;=>o0ndaTsP5D!OhMXb_C*N@Nw*N=MN!;21CA z_~)x5rA2Bjz8)TwLEl_#TfQ}1g;N@!KUv%w492LzKIu7B;JKwxcNQ;Z@wsHjTshU?Wrz2kUsJVP%`CwsHl?xN)aSlo8Hc98JbQ-E8gZ5+j+rikTsqGD%KWs{cN zM%pkPseNXK=}2uu^_?kEm~=t=al0JBq!BvYCe-sYrTJtb!N0I{($U~Lh6UR41tPXH z0kO5^ibAY`t^E=|?d-EAwi+}VoWu(vmPQjf>dh=-IWZMTdeI0-sqkOY%aW6f2%qDS z#_}Au&+~khhvyEzXi*& z4go&mPy`zMgck))F$$Qc1oIvqD+68ED^)RI##;9}P6pX+F07U2xPlLm#|6Gp$I3C3 zzlZ5J0%j>H|993svc}XCOL(&{r29hr7D!n4I_h+?^`fyt<*lMlKU>ehWOgSoYy>)i z2&3|or|0S4{|BJ4EF^j$p-6-K7-r3ahfa?Ro0QWVfhn)# zq)DC$me~u}~MGZ4By>yHDt4wzp zYZN*SZsR4>J#0Z&Jk5GenrmX+UM|Nrdk=ef9L?(z1qVsmf+O)(`>I_rV5~o?e#lCz@Y}XF(ZhUb{t|`Eeng2}K%w zi(y2(TVtDf8qACg`;`$j(Yjk?PI;f_me z@lRsE=4Jn=U|;$cHQm;p-ge|-=A+GGlxl#VSp(*!DyL{qrxeclaz4&$b#;~cGupjz zHlFrn$We5VHvXY>-%&RHQMR69f>=hYuC_e z@EcyT?Vq4Y{^f_|;#UYu`Nok^S62v!?~8x-zL@24lsE%0)#HTbiR9vO5}6m2YOs$X zkCQ}|Q%i%4w8GyR7xJ-Q(^b|F*99@_ldKD7B-Rt>R+x zM*uI93MW117ulMwt`7Eb#yoCy@PFCqpJd;&BuG!68l38xP43+vJg!M+S0_A7S^R81 z=eOHhRXuM*E6Q=)Z%V7lgIpC4IXR%5w~<%v(&{-fQFOXw73(l$l^t35GV0}B6+^)N oki)K1&Hs692Xe8sUlRfjHTV%@G0Pco)>k^HKI%wtaVOdS26ZN}WB>pF diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-d3d11.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-d3d11.a deleted file mode 100644 index 424039b22d2e44a6a0de0d29a5eb7e42684f2a6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5184 zcmdT|PfHs?6o1)hwLxix9>hc0f`w8f-8IQ31rfo}QYa|21?j!`@Na*(TeRiTC0U;dVex2 zriFh-rKal!cd4bWmuvD_*LMm4fLU7vnD`AaJt1@963v)r|HwSI05G>8#JUjgI@ZkUE)S(dI_r5-n4=k6dq z0OoT5_qa8gD|X$FU2dlrIv6`e$L`wc5bjw65PEE8R0w{aIqX>k*F|%@1-Ul zPvR<}op96XxN3--!NyDiF6?La7M*q*4aKI{c7u+~D}WEVro9&$0=w!b8a6*LHo;UM zX=xb6KlwC_;u~6TK1XGL3jD`@nZ&Lk81@N$`FxJTLp+6}6GnqgEXNrcn6a(wjICBm zLHOG#gp9S&+xPj!C;m5MmqY(Ozy>jv)I^ECW)fq$bD&Ugkpc!F{7ASYJK2cgQ(Tgk zr`SKU+{(h|7DsJ_V`6SVv)ej8*pn7!6#NIyvv(!u$-m^&UQ%O*eCL=77##AMYSJOV z2A8tX;0HFwxnGTA*9*4M0;{ECU@Ea>qWC_r_lNPlYM6>zrg({G$VjR5xLT$Wv4s6w z0c)w!uP?qw@tD3v87JFS=7ruq&==oph-oL|BDK(XD~LHs##z|SX&%e9027$7(l4$a z)6@BR&qi!ZJb5sOXg=Z`z+KGJ&-AReVtR@12%zqd9RDHUFnfw-$%mF+Y!5BG`ab6K zI_VvxQt0=TXu*>C5BV8@6fG^QfrTm!zG6A#KsD;XHNI1y!u;h-%(rUKW6b}A3m?V& zw+dr!lKI=pyu+B^O2);Q?J2GGt+toOFlWb3k%dt3rmdxT9+rK5_qR;vizi3vr z=V0(|mVE0Y3Q^3wttu$e0x8+UZGyX;Oh zNGU2JK8OTC5Twt7|ABA*8U0gyQqMVee%$%BGYgx9h2AiCX7ByZy?4$%pL_01e!S=m zw>y^>&+Ex#u9z1787nPaH@Hg8b=|tq3~tz51b~wO+6RF7w*U+O$>S?5rsEr|qvN}u z+pu@J;ZTruW7>?|#!WTn(z3&S9p4W2*o{fc`wQAX2Z;Otg6i;sd-pCmY zY`5i_P1~_izAM1CJHm0N(ID6xtqrqzT?{>^>)jVOaC~0BC){iOzJJ}j)pPv4p;$AU z*r&HUu&c|H?WUTu@|(-5xRuL2XR9kN?+CbhOtq0#q*3fsFVZNsq35mFC{L!qer%U{tQwtF*iLniZPU`tDfUxJz9@xE|#&gq0%qJaUik2ucGGfd|gBfwRaIUPx5sZR&&D58>|JI zpa@U;`%h=-*TF$thPy!EcwDl3l0HTKlMe!XiHEd1{Z_9s{A42psPU5H0R%qHmZM(k zVM)B!hb3%{1PT1yGzLiy-A{=OAW8Uzf77#uB{zc-I%)6*^Xj|82{)0`+vh5rELY>C zX=XTiie@R}WK;34qvYha((gD<{Cr)8lYjDc5htf{-m7vlm*OO`$7L_V$cX1zAKO+}gV zFvw_DBcq)q;}v>K85sk`qmGh{`%1s#$atKu%aHLrUl);K;A~eVLz84w{n9eil!OL~ zDd{CBc^6Sq)f{PNCcE!22r{b?^#2^>>$)HkFyd%#4U+27vT_JVjv)N>sjyE-iy7v znjIe;LMVzN6rFfLJRzPCx~G%w?fw8B?t#AwsOs*S?w+36okbp_k*AaHURPIlPxt() zy83G_UvvGIwQ|CE0<^Z4$aN_>}Pdo-V{R8(; z|D3<8AGFo55~G)fZw-u==qa3ABFa_}g_UUu$h+JdxucP{*V*;%c-z?Ptpyd|$;o=YR!yx# z$-xqI-fES-WgRz47B!u6dL-#SB8>~vDE4%T$(Zkk@411u+Uws(0jw)M5KoABSN8i1 zbd;yp-+t3~hdY`i@SJIEQ8|VL@q8hf_+l;6^g~jj$b$m9;t%$i4q8xk3gw9>$~>*Q z)_%^*h?1w)T1+UAQK35+b~?fQARNQOv8%qMk6KmRb{wZtaq0~|bX7LyR%cECxylTV zR_xdDnfbu`7zd28t^)SPeAf-!v0MNxu)m-0j7AgK-~sXVsK6`rkoOq=IEK%qI#wR% zTMX&McPgE)5%N8QKTap`h3VAWw{NZ8Tz%sXj#~5G-CcnBEqrf+;m4lN!;6OoV(g_wt*7KS1E}N{c3>a%;dE&jA5%0}XzngLq z>36c3v+DN?gm-=2ve0<{EeR|-so$e+L8=A+!jSa4-eg_HC#B_ydOI8Hn|z0&qFD4F zqxPF*)vPJjz+qZ7A1L*Xvue7@e1=uiPv(nW?^F0@v!ebP1@)M%(1;J$btK|np(Y7u z0d57Uh);w%C+3Lp>QXk0FX8efbF^|L^T-`h>G|rzBh?Y2yR0O72 zfLpTy=W3I+4Fq#5Er$)uXtr8yYM4)5t#6u`FZKGB2=lb!n^mu$Bh1S^&_d(=qJj5$ zL7~WkhZvG2Bb%!m?s0ma+PzUC9p45wP}1kAlPs8Nkp3G&y4=G*5=fWL)i>bd^gNO7 zWI}pl!CZZRjPRIbt8XYa?qS;Me^=@qXR8Ove9=HmtAey5^I0-qq|+!3_zq*z@#)Rib^av2JSAf>n`G3?wfRSgmPwNFp@OKxl#DH< z-f@yKOy)Brl0>4q?* zvE(TW`mSxNEY!_;@E52pCyfm1`r%=Y3@O&Uabkhy^5l4wK0A1r%omLeSFnt%Bf}Y0 z7Lw1k7J7uZ%6e3_o8A=^iY)jKhN?^?cR{jnjN{EyO7y+nG%0bG%$Y@bwn2^<)0}NM zEuj^eND&=VM5+a!V<@B|YO)~%v6MU!ukZGzBi@`bl!*Ujh<{Qb zKD>fJXgLa}8*mm7Hd((aVI<^*nFPcyvxWiY)jRL$Z9ve-|P$fF`izISypo4R)I5+J1QwRLaFP z=i`n^xuBK5Ld(Ggf;&37;`1seu+V}B7)v<_zjG49eMHU^=NWf;%e(39&86A<7cn)f z{-0$y*S}{&g%{c8$$B?E=}SEl^?IM=e#6DiwtriGmw`ba4g&jDh<)YLOGgR&O0!!N zKS!0T-JfwMx4gl~z@LWwX>KsiDA+GL=Cj^l6kl0O|D0N`7|*tQ>om=|ZE3?x8-5y$ ogMx87$x>vShHh?>lQw*KhK;Be;D=(l4bQ(0IOcPJd3>|#XE93z$^ZZW diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-deviceaccess.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-deviceaccess.a deleted file mode 100644 index e79507902d6633ceded592c0423b2f3ea780a93c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2642 zcmc&$!EVz)5FIBeDNzwr;=lD~t?SmC z4f8;^LPRAZ=M{I{m)p3M>L~Rg*3($M*NL90&N$R+7L9^Qq}Unx2fi9cN4SiayKp>< zgULjN`die~L9eIdSOtooI?<%mKnLL#*Co}N>LAgtCE81g_I4B}!KkO(wK@lkPA2>z zmx3sqO{1hbo)ehIT+Q=*-*;WV!IVntR^BoaA-XH09jBV;?}?1_jZ0p)8U{&_ z50RNRd1uw5INkuGpTI>}@JS=X@>Wub-^*^YUW#jGe&BZVajgt@p9gzuaM`@Q=hbjH zgumL4hS~uBo)dj``oVGLFn*gaEML4312CJbLLSEAshEecIKp=q9oXe&cocqiclB>f?cT!8Gs2$F#=vFci~Sxu$^?ttE(59H8eI5*J<^^?KZ(Q)b#Wzh|2 zU)W8x4}QVvqSxk~^`7mL|}q)4x^c z5->mg%ksg$Sf41OP^-P8@a*#SjOV*X!|2@WJN@UUHFl=K!M<2=X;CGXPX7bOBjQO!1=kv6*hiuyhV_e+1XXj6GcY3<;VU%B*F$-lOE|f@go3E5_+}k6YbA&Fg z)(f($s8k0s$`-~Dg`cu2qsdRJUM%HO-<~yfDr1T z56}~L-lR`PnVI!E>)QFLlp-ORWPd#S?XGv`o89%(O{d@XUY1{&X{oMNZTwlbWt#X$ z(R0&WU9HC*cFO>;0ATz8nA-*@oyk;=04Obal!Rys@h)`xq1bjKw=bGU9ao(AJty!5 zDt)_di>|*%Db`}qIXVfQAP^m|9kj#awr~XYICMb>&viO88WY48j=$r68n|J!?ev|) zuu-ew9R6V-Mzm3n=BvPe-SZ>g>H1&YMyf})P4#GYU8gq)8kRl*!G{gd`7#Ki%2DE! zQQoLpmTlXnX|Jv)-e?)O&>;X%41haan>Q+v`x#v^R!p#VD;+0t#-ackU|m%9!f*l% zP6_AJfXg+7ox{o;zLzdMp2V#wJ>eEc;$EaH?JLrn1#)k*>1ucip)0*CoJ5 zW8XPYide7PiiR#;8J}RfoeHBcnvII1Fq(a6%|(Oqw8S=K+stFr7!2Emyk9hy(u2fL zYIMRB;0@+8j>|GJ*SiLD*Vi^O%(cM+S}vlZ1e8-um)Jh!X=8fUYnh12o(rI#lza+6 z%wo0@%~DjF;SR4fyz&(Hd5!cAGFGTR2`yG~|1m!UP)tirViwk%VLswYGw!-G)9V(U z5zP1Mw0y@a4$E%2Wk?U4;*uxv{k_JMKgst!ZQgNw@8;t&d_T^|C60Z7KAo2D2J=0A zJH_t*2Iteuo^)Zq8O~c%a=xDB{Qo_EIpO@hYj7SC&c~lve>vYDQoy1N_jpSxI4{6= TEP0Ple^qMVvsW8t`7!+)6^53{ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-dhcpcsvc6.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-dhcpcsvc6.a deleted file mode 100644 index d4af08b87b9a2edaee35d95a85e19ea7a8269409..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4216 zcmeHK!EVz)5FIBiDNzd?5Gqm+MuHm(PTIN!RVXOEAoWl|kvMhhBrdj^rY3eB=!8cdTQ~xT?7JX@=Q`aqJg5gf&gD z&T8#2907w9!ud4e!zG2C!p;=FmtJ_j7`LqCgqtbGtti|b?9Arils;imZGB?{g|%J3 z=St=8bAWfouCu2EQm)&IrY>KYpJ2M3N<|pWM&%-mW*^#f*`PXGqz&0N)2O-x!*(I> zmyKK5N#s8@J7G$&h4rMPl$q;|&)gMCH(YkAin%sgoIFch(Y?W7kW8RZ}$);)1b4UEnLy^E>#c66O76D#!9akmziJeKG9g{kR(9cUg3qW$2Ek&!8l_bscO2WI(L;&xT-XV?{8c&5b97n(c{|BJRjwR2egqjk3 z!@BT_bNK~mvbQje`St(IN3X=B&A&N~!~A)iV_fDNlKI*D>OaH$?6yZ=;;)SP)>zE9 zpAP5z&q$Y1Ie$y$L29lu=WlE4UY7H{eB4mZALQeboKH81ahVSq^W|q3=gGe{-`~f* gQ%UoEVm_3X;0x9=-xKT8FU`!??nTu^zqhM@05LwKH~;_u diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-dwrite.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-dwrite.a deleted file mode 100644 index 252c2782f600c0fc04d88273c4146c10ff4f46c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2562 zcmc&$O>fgc5FN)UDWM1s2yx(GB#<~DRQx=MXYqa;-aQ5GetI|?H;iBE%Ztk@a*ZC?%J9xm3%gv%6nT*RDhrB~K46>jcA~PNG zF5F(4UIU{u;9>-PzEfa%YWAI~_VGM5YzP5#S-ZX#0%LY$ffe}uy^R{(w zK8U_6q61T*kKC>`YwDue!Obd$KVLw-CRwfr3 z12@fq1&G`Nx5^J6G+vVy*<2HT?#t*ViXO<3#&9-K2lcbTx6|X?BbuUHP`$95s~-G< z)0vs4M*hr8c_83I(ddzhLGI_qF9!!$v+B5#mtOo8|HF?Q1 z)+7od6l(4wJez#I;`uLHx9FVzcg9c8WbDQcFV-{GrCBYQJLB7o8Lq}n^9Awt81sEK z&gW^d$J}-_M!UFkE-qi-?)-e_!)QfaW-nBP^`JVUyL{z5 F{sG>XmCpbG diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-dxgi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-dxgi.a deleted file mode 100644 index 7bc0efef202796f76ebea375186497e25051d8f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3356 zcmeHJ!EVz)5FIBeDN%tQ5JGS<65OI-M~R!F3PlP6AtB&`)C1DSiQUGk+eERU<+p-+TF-@nrt2UuuduL!sQ63rq_qerTG-CfO z=61d^!Rj|WH+J(O?CFAa(HKP08W_w77tnxDTM4#;jS8+y7amXI+KHWToB6n%1h<8a ztrfV$Pb_G7VMzVPK@j@N@$(Yk&^U095`(hqaiU?%OJfsEk5MTPqs6D3htXm~-&;0F zFN%sE$7KUuS710MwDV=-_TnI_myAxB5_~{iV20I*v7_H$>`vRxFxJ6nZ}Vy^H_h0l z3L4zU1~HbhiG+4@6=T`Cq%>Tb0ZS0>5^j~9Y{c*?Ys%#+$L9{WuEXaMAAbl(VQ#=d zJo<8SBrVJ+xB<>{bS390z7*5B=x2spb0!NIobZ{Rl!pNCSxZ%dAJ{1H;4h$hsA|Ny z5?Ls=OqjK&`)*6il`4PW4Eadqlh~>6AXzr?Uq}DG;w(MPzjwN)r!nnB3nv?B^TNCe zES&Bg#DuGHX|B+Cdx-hE8t0&!e#tp2|b59xU*lzmwJ=^Mu|fq1h$xA9Ejo z#*r4hLZniH@7T_}n_PKuDeT%r)qxprU6=9A|BT07lcY}XQGdjE$THq0a{SATe?%XE WGG}}m8nl*RhC0jmb=U6Vs>LsM^$5lQ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-esent.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-esent.a deleted file mode 100644 index 4ea456eaf7d1901bb7706e71d7ec94fc7bc63338..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89180 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-gaming-xinput-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-gaming-xinput-l1-1-0.a deleted file mode 100644 index 23a078cf7c1393377a2e6dc612b2e82b58ab01fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7780 zcmeHMU2oh(6us+BNQr_#RjHy@LPiP_LhNF1cAc$MRZ9ax0Ujb1qzWM>-mW+6#`~eQ z(&OO2n*i_@fN=q^{s+M8uZg&YImI_+ynX|K;@j_w zxP1sf@peFwv3bT zc7gn?0IAv&u30x@Nihq~(1#!kck^Fd0tg zV>j}r6J7fPRMN}GrvrcbiTA{R!pdf!AwiTO?K(oKM|;)SSlr zE#j?hS&oC0b-IGbrg^maWeur`!Kxukd1<}YjF3ybT%4F-9W@7Tr6x0ap zhTX85gCKzB&<{M>;GY)&$F-q*5*wslT|XMGerZgCscUBxVU%^N7h#k&qjjj)D9r}B zu6(`Lv1$Q^uN5((UZd5@hq!mb81NX=YIZHo@lkn>cdbscH^&@z@IK%sjbZI&bG*eb z0~2%xoa5V)BXpm29FOs8uHX{QsP%D~aB=x^zJ-Pjpp?|V!Pn;vUMj=%5%(wv$G}+w z!)SCmIT04lHFybX;HxXtK-IBb3M+%Y96j*+LIV*!pyvQ@gDtq{yepjc7&&o&r4KCoTIUb zqj;LcDAt(%tEHU2^1cOB56nFYNY3+BqEYIxCG`@qh0i>r6h23~2B9o!Pk|;YlyZ~* z$Fp!^X-W%a2KyrQRX85Bgj`)tA^c@YRI34Ua4UxQNuRg z?Xqg9r)p5&%B-{+-jUo-)o@Q*C^O)9Oj9+e)7HIg%GXz`iB>sHwDX$y8F$2G9^y#Z zS*!FAkCky3d5B1l%Xx?&^|(Y6#EG(+Fj7tA-!yUtt?p@Q2d|$(s*TTufu{!ig?Xxt z{PcASDMD4N6T6&FcGY)P;@R#e%QN}UXqaTn=irpM)U^1U9H=;RjO|FSx% zr8>#JPscu1`7~wX^;1YSa$gvDYQUeEry9vlz2wJ+il4HrQrd9t+{ryJ4e*#v5Yl#F6a~gb?Du zfn(nQi5qWGi8tU`dZx^**U6@_lUz*2RNfuWe%{H>&bPCDwC9AK-gEt_F)P-tW#gY| zTZUnZA+08+!w1 z=rJ^UcGG6QcS4V}V&?|q$Qce9{}8i&L~u6poK6sO=3C5SCUY20(dWQek2`KrPJkVI z&JmAC;o!&_zwmjV58}fxc<;G9Y*{wC_xeLz;1U#$9|Y0l%a>u$KNt_(R#TZE2LSG9 z+&PKsLApbEJ7bxqZQF)nH>NxDTEmS&d7=T_7TTItk1?u3&us>npK1htmci^dL?cp=29stCn5%v>t#l*j5`lVu$rswZuk-P9Sy)r-mbPJ6b4 z&fY10VOm#a>O~VVaW-zkDw=N(F`u(>HVzA+)3PNo(uAFHe)*W*&d#PbyaU04n*ahS z=g2SRD8Nm8l6cd*s;Mz2*X8-D0&3kQHXtUc7$RciWn!7uhZG~CFvAqFUiu9Qv*>#g z@}4kdQ@jJv36NM`Negu)_=)Y(i_mJP z@wuX62s#3BU0>qH4t1f=^KeOYZT=kS4Eoq^y1mCeGc4RGm Lm45>Yu1fk}^(t@% diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-1.a deleted file mode 100644 index 89e6572f03a42160796276449d12c6a12975734e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8032 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-hrtfapo.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-hrtfapo.a deleted file mode 100644 index 0072969aa89265b16aad80997e0462bfc05f80ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2532 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 F{}1?Ja%BJj diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-iphlpapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-iphlpapi.a deleted file mode 100644 index 33947ec83bbf599edf969d46431e7e41287f1708..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22034 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-mf.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-mf.a deleted file mode 100644 index 737149a46186bf10f0ce854de846f08586cf5677..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14046 zcmeHOPjB2r6o0!(n{;WR5^YscR9w`8RF&Y}B)c0_RY?PjDrHgBEeIim<;dsgr{ELx#0eq9fkWH(X8dQo9`8D>NoBDU&5ZZWZ^oYS@4b1R znVh?&0-*Rl;wfJIm&XtO0HCP;!{h7|fY~RS zwybHN_f4m-t(vasXv?-?YIm%z-m^3mTGe`0>sad)Jt<~}eW$PYdfN7erfZ1ZHbK+2 zOx<|t)uc1+zhZ`eJ%V{h($hJzb4rKUdM8g_>wzE3xzt@@S*RT&edJKsfz^ImUMlo)sVyD?MQF!Ri-kb#AX*Fl%rPBcV4uyDlNJK3u#_i7 z_ysRAb8BAOGxGc_rYC(>Rm*c+Sw`CQ1<&DB$fk3>-a{^ySU2N(LbmV{mVfE-l``eO zv+02irnfMMH(M9(3!&|g*z`JLI&xf~C)D0$#O%m%RV-%V6sC(F#uH(tJbre8em!~= z$^c#miFb+sVh`Pq*amO}BOhn_EndYmB|Z~?I43f@4<38jNYPy;d`W22eF^J*g!8PQ z^bA}_s6GYiFz5Uk_8Wk7nM>-Pgt8*+VVdN34|U2j`XHcrf$@DdCEsgtzTd^}j^g{O zz>|aI`&Yt!hwb zXl}p8x$P}g{a?5(uFMJCj)*hnwwjXL3vevVOJlen~IgJXE)+Z?;x1+11wCb8~ zj=xO?0z>GVe8dGTEyDMh2g`u_TWrqQ3s)CXGQJ-7!oR~Ae3Tb{L-1Y?(hL7axbHA8 zd`pgtdEt&67cl+=zR|RdKN4enzS&ONP9bD_uvmuDBH%_?ob94B9#wx*-it zo2|#}`XhYvqgXDo=pb31z{=R#3TY|@o+bO^59GLjOYYb_V4 z0~kW)f58PTEyAyu2X;Pr7~;Ax0-LdR)KY4P8rO~=QfSB50;>*EJ2r&-4x0mda$IZ< zxF^R2+Cj5^TJ4w;v}0gPHrE<)&f|Zm5g&UJ%8Kw4rh-NcbX}$hGDyb!ucqZcZmF^m zuDp-=e?H*%Mc8+Gh!$~_Z?q;@&4aZ5H--BSv;M9e7qkBN<+y^~H+UwRxS z*E7Hc#&l5wqPws^iy9#9etZ^4hGjexq}+q8sqyun@l5byGr?r23(#*Art3Obfv8_+JM_U{FJwy4f?1S%k#?V{qmmR0gx4qw=-;;Ejc);o> z!ZOx{w0pV>@o#`VG=!tR0mf&~NQI(j&k7P*%b0ZWVU0CSP?Lf56N KA1u$t&OZls(dcdf diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-mfplat.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-mfplat.a deleted file mode 100644 index c86f9a562deb0bbd2ff97b0ed40bd4bed8db2434..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49178 zcmeHQ-)|g89iLoM(x$)LH2vK=Y5J4kp3lymQ=-U@ohzww)Q#PwR8=pV^Ef_yzB~5z z96KsiRH{;{Qbh$-fC^NVKuAbPAS4h{rHTi{1L_lh075+Q$OBJ2P`=-p-JO}8*}K{5 z*42_-Yj)2w-<{o=`Fv)+-}%n&?mz0djn!j&o*YxRiNh0R_$!u6V`D{@B=5(@CXZC6 z`5EW-5JEgcZvKRj+g>B&j^FTb*E@t@xObC>2bKxJuz!JvgHI8H;n8C}Jh7J$42S;7 z!;^m`1VibsJRJTDAsD8A&%>8LAOyp)AMh}HnGg)~mw0&k93dE<@k8wmLNF|Jd02dl z5DaJF9x;4vgNK*kd<=Cc6NdBe@<8Fb7*;>wVeL>;g>HHg5g&SJp8&!2!`J-@$kE^5`y6mhj{pCA0Z#@tJml1_2+xk z?bR2kN8S2dXPMS7Hrr0OS%=7GdAeM0HP2)4W8tvex!7~M-TL}Ux8-pI;UU2Zx{TU|OcQ5J%FO0D{Q`=TO0 zEyN8;DBtQd*3Nd^wdeY@PiLlNc`YfBUw}GU>A34N#i+QP5=hU#@bt-fy3uUVn$vbJ zP**?AC{n8~ooM&hPi)RiN~MV6sL&F)?Bc59(q(}o`L^&BQ#wCWMod5fJVTD> zk~&DFR>xC}0=4SN-dv~c(YCkXc0Ahfnw>U><6^(t?YJIYmf>S34Y{^AI%{;!X|>Kf zjWwA#dJ0N6y^zIKx3hlM*`QURkmDgtB%BSGH$QT zn(I`ihL*r&MLx4VywD=BMXoY9D^A3CzH+06lUaJLI!~e3j&c(VYhb61Y^^#6toEo} z^_X3)8n%o=4m;@}*E7v!+F5kgyDd7~YIPcp*Kwg~C5ZC;;^l&zmRtZ7UFLboz~UKb z$-#M|Nf$ePx1n_A{8W=fcsA?uo^98v$G1Gnt2hEpKa+StH7{tBhTH5yJs7H$Umzk9 zp3m<8H0^a-8!%i*gOYy>T6%aUYXHL;VSFG7ok5qnUX%712E+&}agkqbkfg{Bz}og4 z-noc!8#0R(4Dzbc^^UuByuY#nW!LZ%O%-SPIsz6)+_EWySV1i>y&?rwpj8z46PwV- z_Mmf}g)VjjcxGsIcD7ki&1(ZHbEYJz7rZI>`C+1R4zDm&ilANNuB{6h@=yU$(%{GL zg6E`*hWSZ6dbS<%NpH_sxge(#SYAy%;}xQ&1!v$uxY&1BoCft_q*tX`M$SRi*|Zyv z8EyG}#f-Q*8V3jl_u`Ap(}uf+y$Sn&(=#;jAW4y1tHqT79o%yrIW0ItjBWbut7+jG zy{&cwy03oAbeFS{)bOlU^Fo_0D+HG{175SUF;YP;rFjXS1`6rvaAv2wb#fh4^BD!~ zN-Rh@?FMaydZY{pEu~iV2SLj9W}z8Mr^SnqW#>ZM8}Ee1e4G_OQ7o3r<*~8yH{?H$;qFM!6y}J4J$Li%8NE#r+>I7SU z=Z@>uO#J_X+)<`Lo`d~J=LYs5W>*tnwsQEehS@UI_bu#xcYWTNE&0_(_QDUuEb<9A zY)=zrSz=@-$%PzSvi1FQQk8Iw}>gPuG%LdV_Y~lvQVPohZE8c3qy~bl0 zrpV`jdRDs}^;o}Hr(%X@>Uk6_~oXd~o02)usrfBBbO$9Soo`e;Dpv61!t#78fyA-oElC5?AJ2c^+K!8|J;-UH_d zo{t+|on!uX_CFz*508Nf=5Qj)=zaV%iiK5U8YX;5M!*nS0yI1JlMetY9# zJF)$;blpMNUNy^U*mliwA+~RW^4Vg$0@zmO#^Ky7Mv{4?7BoEs)Ew z2c$=eEL-KKq!h3|nPVNAf{npa?;kc6j?t*G4C~dCVEr(|I!vq!Z{^j2b*0GioR!IU zn*!ELwphGP zwj3w{2mDn{nZ`WY=(q{YKf)u}zCc_!0_NofT)~1LC2sVno;qTS>M3m&CP%ffO_QK{ z0#NNQ#mh9RZ}l-OP<>EAb(f=BT6GwJT8>Hq)6)~NJ!dFMx2+fJ4h>UndLOCe8VgkG6Fp*wu~4@MrbSgv)$+4@1tHY z;b_PMEZLhr6SQJ0?j*fdcybE3xAvaqJ|%2O4*zh(2yvfep8ZRJd+9-v6Pw^{%(9+i z=~GgRtaSLMq!h4j?LXCR)ZBk6^m){4ZTt8`D%Jt%*~a>vSOC~W|6b$~Y+oR+z!5YZ z3D83xAWLCI%#@|?G}mQ#)5Z1aNpzVn`Z!k~^~*NaEp-{hx>{^Smx)VGp?|mbqvriP zB0moIN&5FE0QaYq6$9DEyk-Bc6j@#|peLk&b6YQJQTL)=hDOhARo?F>>E9psaUOZf zI@5al1H2j}UFMh{gNFin3-+MPAfzM3Ryz3D^c0Y9>pPv+k)LbupG|{*%twB(XoO=U zyKC9^VF6$h8vHnqVEY1r*SQ3!4~i_$%p=;B_|c<$($be&De7}F`6?NK@_V2qZSB-Y zeUxjfKp>AS&&@o@P%Wc<#*e{6fxHcSzmM07F0cAU*qa4Xz`v#6wKAo9r>vsPF0PT@#}TSPzC=HlNl%Y}22_>7J%{vQGS4}UL9wz+VK)vC;e7yTGK6v)qE z4_p{t4Kgt-rBh&ur4JWgzNM|W$#o$yN+g-Ne;8S!yp<^1jIey}NiDK$?ix~3K)S7O zc2b|$dD~(**iznIYawgKsFpm$qe_ z5&M1Y3q}~%(<3AFqAT9qK_V%P4!KvCwOj<-nzayPeS{oHGV6Z;IH0`95bhw$qk-kD zzfxp*QbkTgsP4HsUH1r)y4{s&+ zd=2D463^F|nFE=|zoqBPfPY2NiA_(T_qX-=PU=2^+y)l2J@{mitquGjAb-ePk2B4J zCs-dL&xfAzWAIQQAHp7N;2~9@Fv3bU1$J2ag>#PqZ{Ucn5b8$w9EUAC9sqXm_oWVa z+c(2ec74T`9)qFPpsbg$lpZ}xO16IGN&Oj@d<+p|$bkebxj$ry`K|QG$1GdUmQQ|h z%$ut~_NEP$OMw-(-sb$tF9d7U3lWYTNooH{CcJ3s`@-LcG{FR86(|O^PniLNDexlq zDzi3>Sjn14ZIo|myF0=Q@!6(qj|`Tc1{vm}=mxXd_))7AJPjpFuX3fRudd6rBQZ84 zS%ZC-;DGY=F(hM_ZDdPtgUDKNv@+nig*NR5c45cdB`m~n^14ATcp@j6*%Mk332!8KKZkr?rUDe%J5 z&s;vDufn(tAjzM+M-;<%?jYFunfHdgkU!g*Z7$%PF>Yd(=qVn-_670=9K%^6x!Ag| zOiLX->L;xI#`$P~4LFL?;C2c1#*azEb*`GxfPHRvX{$?7QxvL@i44ZNVuC5~!qRhG zp4LZ${0U4kN0j6V%-eKcWSR$-?@r|QLdXMsT1ZVw0qeHj;>mmr7}XeXtBUm#n;vcV znw|D+!)tCh9>wciU1NY&1qKfRV?vBz3cRrNA(xNneuCU05Muz&7TQ__w?ufcLEB!| zxo|HQ05)L}O!Ek~FOb*aC|Lxc=A6J{&yM|{4P zP9Q$XlLps^h{v~fF819Or$PDHpXvVp074!%f%+f&Al^J{yRIU}>k=s8f# zJ;|))BG{hto0IHa|f`%+rRu)%7|qYx_-fDP)-!iB_WeaF14jVQO`t zWD3l%^gHL)G9w0wj4UBDl32^TC1$i*e5k*795@D7J1bN77P2ytPMJx0dty zAz>{iLHrj&#EVxwUR8(}#nx4!NLmVrxAZ6HtExxW$6q55-`i?8PSak$m356L(W>fM zQEY>jqot;RdRxzNNncTyuc8qBe3DfZy9DZ6%?oY1EU%u=xQ2rsblk+8&@()O?F-~R zIEFK$vwHCj57)#>rN9PTUvd6sU)G*+dVZ28Yj%cgD9y7~lm7?)fke;RE5$bW1`O#b zAm7#>T+#J?{4&h2XUY~hRG4MBonN>*PAP0^qzXTef>ye<1h!!Fzo%p+GiZkNtj7Ty9eg?rvXpHEK;}WFvRoaJz4J4_xt!3h&TFoV~Q?Ae~`%N GIPgDO;rjUi diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-mfreadwrite.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-mfreadwrite.a deleted file mode 100644 index ea2bce6fc05c1375faf2f6247c15c519f6fbc0ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6184 zcmeHL?`zXQ7=D{>Zr1q=6#OtG$`rv-)2_`X3>gmkK{k-dR76O#HMMc;TGEV75fKsb zgCB-p{Gi_iMf@lBH~9C6^L_6w$)!o!DBZ@uE4jPeJ$di$&GX!Q&81n>S#8|P-B81+ zP%h~B)5X_}e(X2a`S=(}K*D_24 zA8J})7!7P2oLMjyEAu#vYu#&YI;++aTDP2v(`qg+EzA{)IH28Z8+}npRu-+AZF18o ztaYQ4tloZx^L26B%@jtvz`jj;W9Crbe*7c$3?mH^`!fYYotoXNY^w#(|tnF?ApUo%}Z8NzzzK-~UP#YbV@jGH%+#ox#dj49@FctPpqE8_n0&*CAiG*DcZc zdk^4Arf#lz4WeE46`9U<*(aFnCnX6Z`6!!&k^Dnz&SoeNC*ecpn_=wgfnk23x1Y_B zXQIioP8bF5V?OxZh`8JM3+_(qWw8NQa~^kf^f_O_&|!18=y~xRR*1V71Rv;~#&Orf z%cX?#wIKIT3}$0)l`xi0hU?LGX=h3W$-a_aPd}z@f<0qqhTs>`SjcMr;F2) zaz@y4-yu8cSVCNt-zT-;@dGBYzbY6^g}Q&czQ0S;dnw^yPo;4ohz_A$e+DsbJkD1R z*_%bo%XplQ-7H!mqx_0aQ_XmqZI33iWXRKMkpXrV%Z zPnh>T%%wZ>4f-S+Xksd*Cd!3~CU(#j{WQ@KJfY$sHQ`9(_R_?Qcw9siZ{u;kCa&W8 z(rO}`s0ryz&KPubwK0kFrxa-85pQ6*0za@!)Q04SxC4IIMiM~}_+ML~m10V*ly3gl z3cg=18UNqPKWRlt)JpJIlPGnRxHCc;A##NU4-U zR4H$eHvOW?V`(=&$f#16#_bhV+VQwZRCykc^OZ7=Z$52Q$plIXeF4F5OGjEAmxU4n zbyR$9knTT*)X}~4xkAbhP5XDk(o$++DyoI|$d7(ns7V|;NG)tgo9yMYLP`;wa67xRzx}wm-|TE&?t0of{Q=LE!eihU1n+9 z+fGppsOJFS0e}?)WL$tOYI<_~2vHT{B=W;Z9Qm;yit3>0i;JM|4FiG3z%9F?8#L%q zR#eTwMdS^KqSuQ2el!T%;oy8IJb}Y{J_ynAz2+(>263=g4Sg^6YrI}9#zwDFaB;1m zHx%=`ljHVjpOy0LQMwbF=j}K@7<+u4uM3Xjx~^@zMJ!nAxlb0l8pXB%9&>HY%E$h9 zboN5A!Kvq)UhFMI0aU=b&NrfH2@Ea?7tn;SiW-~2N(T333eP8TJK9dT_4&Ax#y!Q# z#tfY9KiI2%{9HRc-akG(Im$P?UF^uWg08Oszi$BAR?9on24y$>MboDz)*zVatJFM< z;ivRGjNv1C@3ci_Qj{OrKWo^v0K>i^2BfXcV{)WLN_x%)u zUG(}B-gV}_8T?K;4~TKZ;4Q@n`l_=StnsEcaHEJY`*odgx<08l(2xZxDYmohpGRD~ z4X-FG=XX8z>70E*M>DOv?b897l!rjaQUk-+as zdytVs<4I_B83`}A4M6iq%dWDJO2JPo=igwKTyR!@*BbHPxi$Z{|MMTep``fe-ZkR? zGwiF}lK(Klf4-D5OYkH?{V($WIqsWe%>S}9aG8Q1s3-WZ@8UDB_v6l$|If(%0l_3O A?f?J) diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-mmdevapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp-mmdevapi.a deleted file mode 100644 index 50ea8b50589ffe115a89d097e3171af73760d6ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2618 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

  • ( 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 KkiT}r!2bin(%=*T diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mscoree.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mscoree.a deleted file mode 100644 index 52227cbfd2318367c950f69e360585516e800111..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2632 zcmc&$!EVz)5FN)UDNzv|IP`*KB)B1CM~U4-gd#N(7m&ChA%V1Y>J7H)Bv$OUaO)>j z;#2s6ep$=Rc%5t#oAl7A6M1$$`@Fk;`^J;k{a}6?eQ3Y8R?Y3X9{wE9vn+>)bZ=Rm zUPnD}(guJgfH43tZvk3Ex`a3u;%g@7nfM}eITy#XP>RcV8l@o||RA4(zj%-FUtN*DK?M+pov@CGG$_2Nk$-T%EHWCJET% zIFV}L_732uF%HhkfQsup(X{5;+yv7(YSdvge#|wv#UJysheQ9tFeh~K zra`Q1S~)vm8t?=CuCj^M8{J>MzV9!xzErP=%)j85Xg;=jJ0+Jdu|w*m%p#+ctx_)! zt~m|2$c8lt-x97WPBA*y7JJI;7W4Crd-u_H#9umuqp?n4oJZ%=vm(Okf=AFlvs>t& z_$5x4rhh+*J#Sf{!OWw8f$koVDZhSGwR}EBW+z+){2!HaD2MVJ?*jP7rZ|Uy(dKsf$Rpl`rPW21p<2~g$q0T=+Cz~+^gJ1@USz~8z6YRrib!8YsA<3-^tJy;w)|n) IQEs*W0f7IseEfgc5FIBeDN!q^1X3?ZMk==|IBDtxsX{>&aG;1vg@OQSjuwU MdxQ^Q$u(KuomZPLinixL zv4z2u1Ak8eK4~qh6B?vl^%G5-Ju^4KR3By1Fp7V&X&A*fwBM{o^>~r~<9?aLp>r_Y zClvXtMqY`RaCX9E;3L+vQYEps{U7YDR;w}gn&|o4d=t5=W^Xz4{b%=uiH}MkwrF*rf`k0o=#z>DTFBuo(`hGHQ#Pwy|UtMCb zD@!uhHAp(9UT@CdlRJ($zY#hC+YJ1~nk8*pIgqCh&*VQxqyb|(4VcySm<9rj`6LZ& zDcreC4eToGo~MCEGA^cp&&jxv2I#ajtp)(XzhBpz_e+xH5${)|g_;a}#hQg%Rk%KG Inhn4I0d@AIp#T5? diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-ole32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-ole32.a deleted file mode 100644 index 680423855c39f7c71f461cd7d6924f0038460b7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107300 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-oleaut32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-oleaut32.a deleted file mode 100644 index 30c5ad1ee9ccd0c7c70744b125c45454ed2c2b6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278326 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Ð z=;R5-#J8?7_^(=g3(f!{j76u0)h`c3L1N|uW4d{)v%B{bli~ABgLxe7Un~7QRB@yI zz`ba;XW+*!P22+lBfPl>bngK%*S}XgJ)mmwF3vbKyMx=qgMh3waSsTL_-4PSdk={5 zd#*Biz%H8PQ05W;xV#>qADZkp{h}Z-^Pw@`ZSGuD4}s%*wtKjaFz1;1$i1A4>K<*o z-R7dg`JwT}KICj8LrhDEn1St;{(4PO4>KA^c^#o6#6JV=m5TXYt+n>*@;ZFXuFkKt zmsjz-W#<1n-gtE{%O15mpk;4{B{ll*G~d$|{B;udiom#U_J!ENwR(^26){%>&v1JM zru&z=H^f~H2-2b1UHXA2P22+lqruHQYYFWFoq9mbJ?&RGJ)qq5WADe8Iu|sUg1*Ag874_q*EqL(R;nplTLc31_9cA`}1}Nn^ z{X4k^KWgNS@UG}Ln?5?&l(Q6y>>yu_#JwRnBJAGVehLiY*{%)p{0>NhIlsdue{U#t zPl&tQOXu7-CghfVIv@TgI*E77 z;0v!u`pMQgdI?Q6*ndDXvqqokg{pq0na4_-hf#y0T~LQZaf47VyZ6l44i zxGwg6{KT!}_6Ui)24J?mv(@iK6ksqk5}apqqer-iE8nMS)Gx2Bmwujyu-V+CXV07L zNqrmFixOM=!1!;z*M(wFZJZWakSFw*dtIJta$jm6C+=Ps1iJ(8RGpahz)0`#HrJ=m zQ7`4$#6-O=Rjktq%T&yZ4)v6p{qJNZLG$l#;Trs?k+;CR^6#DI`y8GQl@j-h&}eWT z|HK2^@f?70pHb!*(R%F79}T{wW4~ZNH2UOa^!x{S%hfe+xA9L4ch9N8S0iz62#o^Q z-8|@1aP;%|Cqv*0_z3L{PqBLgzksdI=nvyuM0w40XtOLa{ecnSd_N?kywi1X4E+~t z^v}u}56gWXh`S$hOg7th3NQ;3^B)`wcCCMo1*>a>7+>f+$lm=2#`f$Uo17eb>A$1r zvtQ@<_6P5t9|S(diN8e^z_YEVwr5>Y?n^ zCF)$9whz=pqrv$KnOe9`UQtYj&_zxk`1kSL_5r$wSd5KD%RE=eHt5FF*}YxCsFAog z1V)H+o-{kuoq9ve8R0^wHCdc26*$(WpeKS(y&xt>?tG&cl>e$AC}%<^ zoLv#fL}`CfV(vrZ$b;_Pllh8RT@lBOk)CI8|L@~UAlmS>0~>v_>ajBtttMg zdtYYm(Zj=+vh$v2oJzENKqXf9`8* ABme*a diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-propsys.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-propsys.a deleted file mode 100644 index b1712ab05f8f3bd22b6f91bff6cbba4fcdaa06cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17128 zcmeHOPj4GV6n}9Nnx-u+s6|CUib%LUjCZ$lR&?s?RC>5Jcy{_Flwq}Y_?h*jS>AO5y-vdyb z`;*7{zW^w{{WnG1Ub5|r9k<=FmtD_o+e^)|Yu~OloL0@o%$hZ8+4b5wMUjh_a`Se_ zX|-&;HtOyzw{ExE%~oftV>>oJy5WLtS6!$4xGM+ya;>paTE@oQwzqZ3sc*WaCjGtS zv};boTbRX`Ya1=wgit&aQ$bv*%zyXdxidj~k!&@VMNT29-2=gvaj(hN(uSbeVQG_Jd)t(F_}V7PpFb*b$-o=Y{50Izz@ zwtKeS+_3J7Q&z2C0vmrrlO{@DohEZur_{v=qXh5sJVwwtFyb&p-IoZo8ftF%$*=Jp{NuRB>+l86sch6IDCBt!^Syd4xt%PowZ>IF3f)4fS_;h|+Kn{9}9> z#iA}Wj3+em!$ZWCXz*(%nhadUG%1VAq_=7=y~ScNBE1%J{s8O5$di`dDW8`I@rI#uDe)DxZcJ1vya`G$aa-^Lr9K+$q7`v>Sp66 z&tcL9PeA?|ce(r%e~G6-Q1u6Y=LjMgu`k$`5?po~3YG#~F$` zxm+$^WKim51B!)d1x349*S|qYC8wX{RvlZ)8N+xI%gaKV>5@&(21uPvV^qM#8cMqm z*ou%1m_?d9dOC?Bs&5`?KG)M(Sj@u9m@Wt!k%gD+gNLuuzx(%tJb-5)>L!Prb0j7? zqqa#d0d`~LJg5KaoyvD=emH7DK((jLUVxBu#x-gMpHgh3K&xUwLg-+9rgz|IqUR}4 z>l_`&*?*h~${d`s$&i6x@ZMzJVm!e~W)7xc#4^K3ZZ3k6d&rhv82M1h4PAB;BkM}L z-7r$u(?u|HOHU^;av1x!AZVmG#9-tA$cd)nET?8uNDD8GbfNI4Qx(EVdtd2wg`JAQ**dHK( zRuY(QO{+yX6p{RsA<6$DB>CZm6DjgCJ84-j7|D9EFcZ=C1CMAz%6dN@(bJ$PdEF`^ z%14?#B3$ZbA<+D|xGh5le#Lvc2Md(NB_qnDQ8I0Yl7Uae#+e%$xn?C%(vMHHFN_kQ z7}JdmBcCWF@1om*PZV34Gy;z&U4gvkxiM?S2M0R=zYH79;$C$2AXU-pp z9Nx2^@e;NZ5f;SYLQj`8Lh@z^nTjIhOB9!0vxcjR_r8;}hKkazG8>4jEw%J?ky*p1 zdOB$%NJpB^8usWA!uBWAjf^Y-07KwGE%FSOX5dG>>X0F~X8B@L$X0CIyiI%+DQAQR zYc9HqbQdM07aB^66zwD$K2h53hK8!1E`o-(o=&3SAda*t8pgwDNc}wec_H%w3MBim zBm-YZP#`DG?662k{AE$XRvq0ULNO5x8{F|s|CgPpBFiF$-sA*s=mMMwtCJmI6J$oIBDH)xObe7p05~S zAlOalXPxw^5C-JQ)Ku&LBSPW>&;OLjp-TpSz%+yb+3gq*Y%5P11!nulgFQ7qsBs=p zKWn9<;GcP>S)b+Mwm|;4iIlu>!j6^b j6&L-S#sD2I*q6HL_MWngLp@GoXfR>^k#a)c(~bWRyP}RR diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-rpcrt4.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-rpcrt4.a deleted file mode 100644 index 4099340134b61b62797a58f6e8306412adec626c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 223858 zcmeHw3w&M2S?A~~P1;b}5YqSS+D-ZhsgYz^l7lx$mhDEVBfFNJctePMB^}u}xw=<5 z_sW*iY}UE>6xcsZ@@^5(0@EH6X8rxm3578{~ zSg#LH3=NIa^i!7;QoDkXL+>VJ<`zN@KhEgL1B4(QYco1=m=L6suVeIeFC_%&j^{Eu z^?5>&7BgD@bwZGuA7j*dk`ScMI~b)YAxLWrjMk44g7lW#8Qr%`2+~`7j2^h35Tv(1 z!stObBYh*>FVZ6!ee*gYNbfw$=v&~7^d4vn(zii-keu zJ)|N1Bk&@937!eiK<$qhJqylA&wiTGm;D79Kzcr5bmjBN0MZLy%;?3JlL4fcW%SBt zlL4e1S2DV~P6m)(yNl7a6J!AC4M!Obogo8AyH7G2gLI_5H!|7>yhvYrEu;NoWB}

    3?QAllhNWj89-WofKe09NUg^h zb)F;xNa-gSt$msdAgzCv(OZ6#3?SY2G^4lv9T`A+;P)84{R?CO=|SjAq=##azUc}w zfb`hQ8NCb6NRMB~=v$#5kluR-qwhFF29Vx=AEWPvGt!41W%PX?A_GVt`8cB=f_p^z z(Vu4YV;>;{NI&^8Mn467NFRrMq@VpHqhI({GJy1ppJMc>&yWG6UjbP``t^){1JaN_ zo6&DWI@0g`9HT$@1u}s2G_)P*^H(wY(@`>j^cN=?{q;UFfb@6JZlr(M$>^VfAE-94 zkI^Lyq=t0a+ZbK`1gRl?`6n1%@p%}&fUdfN(The%4e6yP8NFhe)R5};GkW!VNDb*V zA7%9Vr$`Oyy3aED>fa$Xq>(Q$+VdGwLz;jzq_26J(G8y_HKeJ}F**S0NNP2zn9Ue^Q4Bfn9(xaH&XLHMlgofkUG!@Na=?d zt$l#hkk%h!^p+l}A>DVD(OVxRHKYfAoYC9i9+AG`rHmflM`}pl)MoS;)Q$A6PcnM^ zuSgB)3Fv2}Z=YoJzS~I+>AT=MNFRKd(f2-1YDnMz!;F3q`U>fX;hIPvyM)nC)JYBL zsp}d2%rR0!`otMVKcA8s(kCBc^vlq8q)$V=NWb=RMxOzBK>DrEGWr}`1L=3a$mkC) zB{ig{Gy3Bfk{Z$%;Mz!kp3z^8ks8w99$@svAyPy7rMlh%^g4NN@fnM#rBf zgGjf2p3!YzB!ftIK)aC|w=-HgLk5vfuOiLQPtVVv=q71*{%F!m()sDmQZj$8*>0>h z=OM85Aoa;7LSLfl}ZY5`v)_l6UnD$2J8}m?dB_Z?kXOhO!7S~PY zPpmbUj(6sIX|sL$*2xLDOmhXApe2h5Q)WJzjC?cQ*=9@TDUvY%#zyyyoSmm&?xD1^ zV!R(EL*`ZPiSrhBb@1-BMr(3-L~J5Y!`i0Pq|r;}lDpTEcCQJ{qav>ao>Dl&nK(lJE{x65+qclWuRi(OyhilS6qEv}8zN-Hf%} z%I`~0mr|xIoHV`Q+z%2B5_PnZcA@T(qGw7Nj9F9t$}$GEEcRKa{K^uGrF_}dv-14< z-MMp()#+9fWM`_?>MYWSG(0Bs|D2Ttuiu?ZddJUz2m(IZORYriXH#xoO1)@-;t~d$ z^+x52qOi<$4Y{-wZJ6{#yLl4LKiF<8v=Z6}04GTT=el|(EpwpREh%KkWu-vQ)6NEK z|8%F_OV)czw;iys(DKDS%B>NTk#D8{leMz2@=8BTms>GB_qkCDH%r4^QCKGie#avl9v#a#<g zpI+&qfOJ-lH&>F*T2GoVjJa^tJe^J+c|lQlYz$f185pP1vq^fm+3h85m;t1Y!oo(5 zymb5Sxn85!)oyi0$PjqxrH+E?vN#JW(yhY8*@wxRJ>^mdV}d#gaX8d$fu<+5)sTlJ z(zKI88`Ivw_S#C4HZ)NjE9Ku8AWreYn$DD!Z

    5}|_X{BZ!u?861S!qL?v9z3@mps^BD(z`KKQB4mN*XEl zak|2uk~llkdp2?8rKgsbvbz=0LyJjS$iE8R-f5jpGNnn9ep4ot$yiUc7eLXHPf*c7 zc{!QESoYvLlon?Oy>!lEDGw@Qzw(U5SYFXV^{W>eXqH7WY!ZnggI@>6)sm+n=gOsu z4licp?DANs$dt;+ooy&5GZ@QaSMM%NxKb8N=2ZXkjKx^q{4}7=`Ms-8gBzk*{}@qc z=HhptqDPp&k3N77@->Qwhcdj+iUGk9=I&OQxK>e{Fd=N$K6%N-8W+{+33% z0lMl`nl?6U-BrS))L`i_u>zSzEpO~Hskq3Yl-4^$cd*h-FXtR`T`g8|VK0Pn&n^T_>Mv_`lYnL{ZpcCWFp$RL+3I@naM$dt?2 zI$yY5g$2sb_0|>+b<%T<6di4c*4m5Il#n1^!jsj2!_SC3E?^;^jC{qT5g)P$XDf$P zI+GO92W!tSa==Hqw%8M|T+A@#JW8(oz>BBDZk=63W>L$F&)i&G6nA<#Ia4V! zg}#0CYun0+3|U$3sXg8~(p}by8uIg!vcIwz0kCgY=X7Vz{psey2 z8Jt%cgw+yCHkM-}>CEYNCxwV3x=e*05eJCAoaWm2@GlQ|hUyenwLT_g#eiVFH=WO1 zlh7G`>XJF3wj-@XgRGFoI7G=V9t3cS>A*P)o@zcKNw$KXMft)0V|OI?=qv`xgbd{E zv=6oy8>`*57K{{2C)yA(5FW1tE(cyqjk2&8O*K_0v)bwtaZp~J$Z4sqKuKv$1(&53 zK?LMSWawdqm(>XK8TH_{do0*p@)-KCn(LE$R&1+Uoy=*eP3+jx%0xzUT}pS9)uymQ zeK$iWyR)(~)m}P;6J_QSkp$Py0_A6Lj9+dnCg$L}d1bbUjfTtZZGMF)~lP+^hF(}yn(Dnh|LkCtH0OK~^_MSwaqA&ql@ z(@iwKGai=8xNtEOGpuxPHn1DA)pA0El>6a@Wgb>TrZ8oG<8lWa*K*3(?e)qCFJNP- zR^~3LRfK!rN=0USodx{+)mJdu>rw`Rel;rWrg}?fGp#pG+}2v`{9)BA20-q9?62 z6dZ=qO21j_Q25lEAogK1>A2KGx9EI^n&gf%-x5?Lvzh7%gEVd8a|q)n~D#G}+8ca5 z$f1-j`o>tY$W=-yePS%D@L&z}tpcv9(GZ!W#ab8)W#wS6S~JZpO2G(#KOxrS}jTMW<^-4#AUcO;DS`j1&cY4to6YC4J(Dg&gv@qH!k+n z^ReVyZwW)iU5OX zY>A1p2ae5YXgRnpN@59zv9w@Bn~Gw#vE0byNU@x`gh9y4r2y}j4?X;%O1`0_xt)1A znrkQpcgi2EemRy6<)*csmG9G%FO)3qgg-xCt(Ym4$rd6Cz6f4K$eTIQzN-yycIN1x zr?FFB%AQ~3ym>82Hwq_8RskPO`|}kXbp83V^%m6Z1B?0V26rEa$v{}YYRXa4gmtQ> zoXqWmOPS!UPh9=QT-k+yl`ya@+L2OWF4$!p%9t(pt{|!X`4o$b7HkKDcxKEtx5@n zm(GmGl4ZdkSjM5{v5vCc2@EQ9w^3=a*Bjg8go zW23{_1~#WIKRj?L!QYDq2zfsJ>sbT4P$i>(+YfazbZXa9qt~#r(40v!^wh3}ZnqB` zIgflztnlj5oc9v=;}WP9xPk7_m^p??N#JVM`Kdj|*bDF3qlqy6$M z$SUEXeS%MZaNx`2O0xguwIffBd>tG;?K*HdO7EEp(mOuBN0Z($==m$?onP{=ExjXI z2a>Dc50qX+7XI+bnxvOzDhGkDK!d_U|BHO4bWB5OzlC*sK{oy2STdRMWJz$UKlP<+ z@PCgy!qWg91GuwB{^sMYRHE=YD1n4L2Z;4A{$Kn{LytaJ5OL~dPc?Es9QB=Bm_;r10@X@=Y$t=W z1(o#SDCzi2n2?%vr>&OsXGxMiwY?-=urozTXUSeAeaKPL$Jri}^*SHZdmtYD#`MG4 zIESYTIi}wtT(@jYKV|0A#`HVQe8rfK`p{&?gUDe&^O$}Km2|qLRM1lX6 za5&es)n_tl${?m;TuxFZ^yXVsu39p^Rt z@v;3iEP){nOmTNFVn%5D1kDGjt4^3$L`FR)y`{^(zg}MJi>M#q!b<1>^ zmYGk}Va}TQ3LWOf@GM<*m@g5Wx3j=>u~%@|qx#D;$>y?teU^f!8bOyT+oHJg7Rg?= zt-xIyt7B0!M%KwZ@-eh+f~xp*KI^U zW0Z6*>CdYm>Hj21Iur|9(w(&#Ch2@#3!m(0npbVcIX7k^A5{FEp2X9MwdxQtlcVjk-B~ddx&Eypn}&T17YiB1$>` z`b*GK?xdSb&6Pei!h3-x`;_!i*C^>;eLRnmBtD*3i6s3!N;-S57e{mqBn2()FQj9D zIHvE)Qdr9#fD?}CLX)|UZbtF3jGK-R>t6N;;Nkc4vfs`Ggv!Z<^s+At*Ddq1ubTNZFZ(@azCx3EDG05rm+^18 zyl3yx!K=IQMYqu9{#Doj_;DL`lK!6^YUG{p2OsC9rVB4Z76ZP4!7CCRasT2~&85kgeFwBSHBH3!4f=BxDR;k>DD69np25I45wOA0v;hbHZP1NI;hz ze&;i6Bi&r!_#$m@J8t9X?%?nk~@K-i8z|0Wx zyzorWP&PAUXt)q_gJY~VqJe_JY9CiY!(UP~m_D$)P0(O!y08NZS`2m;uXBTAR5z|s zD@Q|>HEMs6p+Wxcbl6C6TBF9qTyD1PCpCRY-RsJoQO9U+w3*B0zlzQL=Y{;U-M;89 zTo*y)*V$%9DOZ{1Ff(|a2^=HBaV987LY0}|&lnP5!}sH7VD0V_+fjVG%mhla zr2z39ez!;L6z_53-L7%s_^vnwfXzy-@~-%wGWn-tf5=v`)4SqS`@yCvDo>H*b9CSB z7!@8L(%0gjhezEnN_LWo1GN?}WR&bezl(yAQCE-X7npP(Y&RD82hN~;$ddjtHu(wO z(1|PsPc`x|9H}?7D>qvi+zpvtrQbD19N)yEPt!KGSJ7?$gh{{hozJkP-`&bpnyrYx zDc7s~yGDj%1fW#@tN1)WpUHpH?WLWKY+q}(WqZ&wzz*6&;u;A{Jgj@b&~!!jv9fqY zgJX0!zL&@zwQV-2viA9p85;5p*MmlY>)PkJZr)r)>ZN3_k{%6+qm{3!!6s=+f{QnFMvNLa+SOF{G z#+Q7U#g6~z3o_<p;%2E|hYm>2j>g#^4nRu2J7O z6OV((= zJPiu)B%jhf;uy(|u`Vjy))k&rVqJg0q+5>bK=mP8yw0(%6}j26v)`2IRr;MHz54r* zG1AN5eW{|`{63R@C9D&+^gGA8R+MHd;&00JD*vvr-WcmD)orTyJpXSd|Av51&@+I$ z&(j*n;<}HO#VZ;dBfn#DAN^7^RM`#U_ZS+O*MsW&Vb26k`{+}TCU3H0;3^qjB|b)X zO_Hp|yteW?ZokVUK96e#J?1+{cUSV}D*j9<*{h^GMt8^d>Y9Gs*@|oWxHF~en$F)r zNk7(Tc9Vnai^*!Q*=YwY?JuEYg}9oh7$_j8MjnJCx^CnqOQX9X%d6D8MscHlPoJ%A z^-dN2{n3;K(r7i8!v1EbtA1~8x`cuf7O!Y2Cgf7aw!*^ zE@?(q2A@b6c8vj#=wD=sJHT<wJ3_n0 z04N5sCTq&jjF{n7;$36FyY|hxG5-od*%=H&?`+QBcn1x#E8#DvAKwp=PU>q@kk$eFpgB zb3`#^nw~$D@^uk5<*EiU(Z9O8#{!`)S%q!7fO92it2a zN!p-+@hMK~vLZ6j(XDV!<`8Jgk2+AkG8aV^n3`^sjL&G|nbeGG^M# zouF}mHWU8%Ja7X`pvM|{49;{Opi(Y2TULk|PV{`Q7;ugz>vnVWnsN+OnGb%oz`(Jj zn{3nhKyA7{9~e2jV!<_*9OnZ%ve~TVD)Ygw6j(UiX)JBS`9Ny6VLmYAd&PijJb6T4 zVH*9Yd_Jh+NBwkx0eCBXc5P)LNslZaOBOrn5(W{1){S=3kwVms4rM8r7aEva;x6vpRtg(cvAbXN2O^lHq&1)`xsldY2($Yns z6S=;PMkTyxvOW#SSze{yIeM&XLNRK5p$9bLp=#=6@2UKNI>B?S*E0DQw9{|1kb|yljLe&|{6f z1J39ZlA0_H`Ff65nRks7N1rHtf;Rt86`$z;6lDH*XRZeeOHXG{9lkCfw*0&LM6>p) z&6g&CG9Is(aE=?tI04G*R$$^6?3kF^-k6wjzy#y*iV4^Faol4X#np<5Dwe^|3z&e{ zk&m$bS;C$l&^LxZt{+{`66mo;@FfgEKPs9nM+vf-LCN(h|E{s)_{B;3ByDp-75V=; zMgAA=Ocr}k`*yI51qr9kHcbL3{yfv8^bhZKjuPt{QH+pr%eYE}>}O@^pIYmk!RSEn z7J}=W_#6R6(O?uV`?L8OQyK*uZDA z5vpiOA2*``un;yHHm@atpqFb&8G~0OIL49V9xdfasIo`P&j?7Mua^Xl0M|WQGS!DR z*%V0Q8D1scF?Kv2{i9UmZDW5G|Ikkh5)Yg4Y)AiS(QKoCRLS)!|E_W5=pWrO`Tr?J z{>t$`yduFh zio9Eoo5h_dc-*WGsF}>rlB0+a^V?-VE+FAh+F4Q8U59KlT%9$Zud2I=cL!KQ?}h&f ztLpUTo0b<@xV+-RHJ%)CL7y)Z{bEP#vHYRe;SX0_{8$+-V4m2{xG=80)^Oo{_4V+C zV`O=3uRdSIH`DlhQ6--CF$ot*g4hZf3m93!AD<(3u>^Xokq6)`%@Ijr3a8;0plQ0- zdB8D#JU*oF+!*DZ%X^hKG5?z&@6&10=)s2$LY8;5lJLjny_g;$mG5AkxrVYPPY#di z%j%>&uX67kMUHZh&(@~@RFV51)#N_x?_O?7?%~S>R=Lmeyvn^}^f>A_DD`%^ucF`l zh$#1+)eWpStF3j2FlCaVV8rBkw;f$UDyYSZ~PkUU7XKHrcpH zh-Y|}c;~pVuGz#l1-M3EB`*9!DDhL>jrQV9yV+~P2k!4lZfvxdT42kDEctbWF8sJ= zzn>-0BmaV>vFXy7Z|Cre1=pzXu#ScEpz_9VG_l8BWiR%R7FdAIWv3gh7JkNZts68B zUXe*X$H6`c2am%4(4#}8Txz!D*s)~$M8LRfBsi{?rccyn=TX@^#NJP>8iHj;*Bv|rdR2Aj0r~zfeOEM?N1e*=tGM1 z?_XP9PSWsoqD@!`yy@1NKxOfY2IqM3Xr28|U4D4rGAbG|Uc9+@@%JDaZfT?&@I8X5 zG;M4M26M>s!A>?{2==n!JFV8H%LcQ#dl-*bJh;Y;qyLCL?X9qwKd9n?+l@i%N3OGj zDC@lGlF3}c;u8&HuJPmOKPp8-6`T3HH8gOeIpo=)uFVenvlKjKtBI7^;bx=JEP+Ad z@QMZJShBu1dt6P#HKi(6^9NKcWM*^7IB;4^q2NF_n?(%pT(9!)7*8G_iIxJ6Xj`Ef zeU~c#+%ybYGun)$z?&``&LR?29Eml@rnl5Nb{&ZJ3ItKWxuu7OKdo$(pD!!r*R_=H}j3<_2I}knepUl#In=McPeO@ zgMB$$$?=WVWV+Kno1{IcAY@JHby)}SRj0>zmq5!t0RO}F7lO!ZT_DdD{W-m2#5DpP zt!et484L<+78t2AW4uqn2=}jqjg5MS1dfgUSqh%GH7!UyZ@T1KvU7OFf@=&quEwCx z)rN&Co~7?lvA`WmLC+Jet1(1Lm)u5lKWlj+kv&gdk>DDSj;k?Bkx<32^rV7>%&inO z3S3uX2q@r=BLf0>rdR2Ajz8-=ZpHXB_o`OWiN0Nte(p61TPNB<#|LqRs(HP(fB@cf ztD&H>ctwMA^jWu}BN{e`hW8>G=6Y)jhdSxGM!E!xG7hb^7kkZ4JLvhq)yHaXy6jXc z2cGH`|5+Io~S= zoTJOp62Pa)prFqORqW#Ta16jl3)U8Ud{_(`2hNrN#ev#%MI|cX@rno6_;OsAjd0i! zJp5M`4?KbtG#+-)9uoB5MaA_jfgZCx?$B2xXh1wh28r|BmSA%R&-E(*uJPlzE}K3{ zoBUU?6yB}MKMxWGtr_jiB%Wiy{066p0p4_z)y$Bf@_5CAYeads9y5sF{NpjSI>^E# z14||qcrt(U?_CrRNeYWj`4-q0iS_)Nto0ldvqFE=$ot@bbmX@-U%^EmKCjqtjW6%k zcf^j^;MhRVqANDuX~M?QMv5E7qacN>Grbxc06&h68(9K9*2oiZHen-czT#R^fFUvY zM8&9MlzBX^MWxTxra@JSz5N#xDrS>&c!7`+;kp)eP7!u!digX_FnC3RYZN-p52Z+` zGCw?KLP8#B3LFiaogeb%%f40xG7^(lRJg{Yqlc*!6;(V;-)urf;An96Fe!pwJ~6Od zuk!C4i`I9(h*rbqtcFLq{KLzf7&Z{h>A-Q|>}8@j(3;Obs)OFx5+1LZaE(Xr*4Jl5 zOmIxpL6%)D>2K070ZOp|i;(SxYoH(S$1Ul@EP)@kWM%V;4ADD-d!Wj!}=MS;T!OJ~bLipq3{0%ID9{GDbhNes7y)EA-4tB@bGJQ(Qc<>vfNl}^)7;S+OGQ? zF%CP&L)%aHJn z90@CPNpHH|4ygU6)ojke1!7ghA3 zw--2IAjs6ApfP|mBL28_T&RkWS|bm^5xt+-MUd6j+F7;&5f@X=ahVO6xD zw<)rpPxx5>wwVK%jOR_aVL;0FiUZe}aI}e0OszPmG6(!eii1Y`bRsMr3LFE@HnH4n zd1=HkQ>ItxcZ>m#$92`E(qCntuLn^2kEWgVje}|0NpEblms&|0_6*>sOY0*t04TXW<$uIAIvn-? zQu(i<|G!m~f4+rR&^EBE{+~;@ar-V~rdR2Aj0lhI)jgp1I(R^jv*D6jjTdsC-#dis zmhJO<#>}U!jY!RW#pqvU4d{76`Y#6W=ZomLAnHCtSqh$NE)edpf`63_Rc3R~Z)sPXe=%WMBL*;li@BEU8J8^05a0I(te z--?>d<^{?~59Zyu?xP4`I}Xj9Zg<_Ibp>=M^8WvE`^~q1bMT zru7yJKDdS*Ha<3`X)(FyUC<993a3|$I7XnyCiFQZeqWH!AAV!X~l8eFn zgq}D2ajhz!K`^yO?u8?2RatYTc(a)1RmL5o%<;`*d}j7}po*7uBa`ubAsN;ivR;Jo z75s5IH@|5QGMzVBm31lItGqkLl*jh!yVb?00w2?_g6Hizrmv&C&vxgM;sx`t<^3g8 z+C_OUf-;a(BM-t6$91X6vUP08@+tMhj*;XTOJk4L7Fnn=%AaFW|Hh=pR937x{Xcx1ui_;=OC`S3KGw#^JxaI$8@313?l^i1Iz zO)$wm?*hpY{>;yhntD$E_315~M@@(SjEj5b1 zafx1kPOlhojZ4R!eN9*@*6UT-*|%%MNaj8b86P;K;*WckZej`a$anTNNj+b$moMZi z=kkgR=SXz4MDWqt=8h^FR%*iqj~)fBVLcN|gm-~ro*OI?mDejyoFme4UDH{hTuRMF>MpqlG_IK5)TF{V8}s()i7`hL0Zw~Dpiv0;Q8>p{;Xucf1jXpJ1rQt(tG z?}uaN`_&}hW~`SpdPRt16ns2-ed$x)idm#>K?v8e!=6Q+fv&~7Kr=~HjHs+WQ8MHh zH6M@Pv+h{Jl?A=6UlabG#3mS7f+G&SO-NK64u~sze3v zG$Ml=;vpmBY7H6YsGuhDMkBnO%PTHiqva#|yG8K}SX`T`vd3}Lgo}$HQeM|Eu|G?} zQ;obEjwVe?kCLl+;2d7D;2I&1mIZyTwmG5>xvtvN850(`b0ui)X|t9EZ@%n?QctQYoaiRtib}g@8m$?K zj|Ytj*KeWd&6crX%lC=_*O+(o!&0={=7%bN*yRiZ2NpXku=jPZv)F0flB8XDn5^4l!r~PTj?wM03EdAHcO~GK!xiwnUA3hoLj#-nnU^M1 z-_i>*dFOuD>#`I))yVyDL~8-Wn>AOP0K{aklI|L%j^6>IPtZ2*SFw?oP|^>rwOU!Q z;Uv7phg*Cx*$CI8>Z<=3nl26cwtSB`7~1O^hmJVdG8`-#aFDr*g4TaFi392g8YT1d z`TG}dxQ)$}R5LQ`)t?$>_U?99lXO0dWGBjOYVPWU+iUrpQa{M;> zmSN$Pj0L`|0Im@74Dc!q3zJz2o@(Tsa75deOFD15Yz7oyQ5d`;!8K+aV*&K3+U(&f zv4D963Hd6DkWt`l18^ZXuAUH3BISFZ))BSkBIhffeoJLRqkEmz|kTo9s8^JLcd;?du9^OHSbB_3L(pXo%WCz1KXda z;EAsn;_}a%E(Zhb9A2^D8V`=|chcu-(}Q+GuIn6dJ7S@1V?Qc6;l>AC-|sBx0@+yZ z%jgv$jxpl#`1O-5L&(<|5yH(wyimxqhU=<2P4IaaNG5bYKCk$2jV#CabxQG3hg{bg z-M=*=gPPevqr!EqohI(w zq_!f0vv@^=W5hY`BtyYqjW}1aG)@}Pz%5X`QpkGLrY#NL1+o#Y!AE8EiV)XGb&N@r z&KFf;61O5k4zyY)+G%pS*@fK!V1@SjM$o8mjY;Uumcd}l_lg162=$P@!|Qo)&ct_g z*zEB_IJsIAw`3SNCLti~nE`c1{PC69*RuqAtdU3HjL~V3ajDrF0t~rc<=;6jt;gh| z{PUPxl{w%)sCY!?fINX?`%}d6j+F zSaggipmf8=TEXi!NOXS^ixk3WALDrpxOyN?5$2!8P(6XM$2RRGA5m zDrjJlwQV;O(2$vEC<_oM@_fqvxMOU2Y(n=F#hoj-mHa$FhO4D;gvovzY=q$7;m5CU z-HHT@{#o0IWbLB>a@B!s&T72nIi zAD8j`TW^?JBj@2L$oPot`_CjlOZ6(}&T(ITEI%J(USs$)@mIy?e{&}1xMB5;jrLM2 zVJ{tVo zBmW_mK#w)@9yn(sKNof0d{x`A@_5CBYb1D&j)_McW`#4%F-UzRbux5H+^JvaEa}fl zGW3+Vf4`I|{O3IK3A_4Z7Vhyj3fD}9>k2!n(7pb1z6s#LH%#%zPDOpAES1%V-${R) znXi}?(EsgW_x_uq-!tsKh6W1ALrVKB|`#WLd<*PDuaJ-z9@bck4crm`m!#`dq z%`e%W;w@&vctwkA+&R7}O`o=+w-x#r>gKL!xv>N-7enO1_5B5l@Y6_xw3S9*Mz08Q zjZR04r4%7m^shITAcViW683!Z3@sMk4Vs_Jq=2dHUJ>IO!HyP7DPpQg|XPu<`o&Pk@(&Em#O3WM;?iF1bVEI_rlqTj6U{x1`LVID=u7P?s2Dn`ebdEd6k{|Z!qB^3$}->N!4i& ziI~`*rQnJ0)X%MQChcYRxXR%b3$D@iXj#zbYQsVua$PNpe`CS|Hz$MEo;GV)@aEfW zZ-xq$&nq@u3o}h$qv!Dyy7Cp z!%gz8y?JueX0x)#oHVO66%oaYHg1ikif0Tu=S=*S`@tb zHe;J&LS^%c4Cjb<)SM6+He^)s&+cZ(SXpf)>nx5dTH0YF!(DSSHea>0OPIW(!Zp?% z_ew-iYzZnxG*oai6R#0+ta~Rm0DfG1I>Zv_QQRw05P05v#mctx_{7AhYm7U77lS@k z+e}gAyBNbdCJGBXWIXK1q@UyAfP{y~;eX7U5M|wBU0YeaqQNz;J*?|Z=Rq|3+14kS z_|TE{LfX~~!gb4R>z0{Mv#rmX`3j4o%6`&A8XA~o9WoN!_mdXHoEyzNkZsKNiU8*b zwvK@4bKRWJ^{X`ma9a@v(2$X^Da(O3U$v+OJg7`wQQ;c99?|#vj6PS6iYi*tE&&zP zfg+gGAtPdErW0{3snlvvnr<|ujXYlQ;2N=xRs((7OkL7FuT}8y1{Dw7k_>u=*rDN} z)M}uz&YNyBqD?Gb(cl`Vj_=x)qM=Ge?m7((g$W%r8tNJv_Gc-065q9>st^wLF?mIWYs5KvQV|qZR8;Y#zD7eu{vL7I`jN9IRTTET=_PoOS-hgbG5S0ai}e>*0#aPPN7o2wXtY}NS|M8r zSJ81o^c-EArQk{Uc0EG@ZSwqlvE)KZ^(yO*G36-h?C~)O=`pk_vVOHJ>my7e*cXv6 zrI&dQ9517P;s3?IcA@%2bJ#32NW||xBVr(Bq1(+^;D0nl_?Gh}Vha6gGkQ0n6yu@D z!>bl46wi1MSQooXJY!Gb^$4jh>m$S@>zL|Q)?MSp!}=S}=b^d%#`UOj)Ay_ zh)2e%X!<)T2IhK8bG@|%=JuXHmVj_{lb~_1Ba?cL1IwBTW7Fj|6LuD_XmE`a$9Hk) zv$knJRlGqvbTo_udQ_G56|Xem;v!gcSEoHB zTG#ut6g=^@r>eB;>+b9vKCv+39AO@-v)`%94-YUOUwn6sTiA7Y+OGQ3D@<763(SI^ zBQ~o)@#dG$5-OipY`Dgmhx9ktq6d~^qsr=|mm@Z&x*P4qxg0qrA=?Zu zf&0fFmwg(tV~NnR2jQc zCBTP)D-0%pXUWW03|Gjv4|v*UzG6y$9`H?OJn(1sGrxuQ5-RttR%fx%OMo+EdH>3+ zrCi=$mp7ia>^?YBdC!_Fg%760M6aW}b3|Dm-D5L5kj;CCbASf)yTteoEM;bcmRlK3kCo?D7ceOj`+WA{$^GDOp z`bOyT@1y~lo6a#%lJ6Af*gPCC=R`#9_=bZgkw0eXn>$D?G1wV`U0 zxnXR~@hbC<(cvib?77;k;wm!#Wva|iZ9kcxvdTQm@hbDK(cri?hzh+;=Brr4my_u< zfu+#6_0XZTvvPc6HJNEIcklusTL4aLgUn4A0s>_WK9Mlw8W)c5%WoMHo|7SgI)fA_ zgp7nb?IBU~*`KB0DSKa@3A)yFVVPVhhgU4PMu?+th(1@_tWbwsSKrXH$+WZs)x7K? z33_I5@(q}Gwz}F$d&yGJ*tmv{ zAmUtcI7`7(jXVj*c}3>s=5zC*Kbu!%xJH%Zx+407ZL>y|m35bD$Y`JK+!gj7rcO~c zRn%#-?X$#;kna@(uF>WA)s9jORN2e-StAH|8u|$V8l$;mtPuROcL&<|?z5*rJ!IO7I$zTae6vI2{Ib;Yy0Y4stTVM(F zSR+3Q=MuEYUEu;6LkX|gag0-sN3Sh?;tWFi+x=Dat(uA*xM^J*-2M4 z-KuWM9A2^D7{87yTiFn3!$Or<-hhq;W_Z9QLdL>oY;btH32iRxEFtE5#es87Ti^W% ob&-BnNBpJ~;z$0b6j5=&R;vY#0jJe_igC@FZJi8+Y##{t7x8hlTL1t6 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-uiautomationcore.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-uiautomationcore.a deleted file mode 100644 index 8e19c7f8712be836e5869cc1acf486aad7b30b26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15014 zcmeHO&2Jnv6n~i{O`5iVDk@cclx+#$XuF$ic2lXUHY9}>g{n$h!~tnC*>Reoo0-+l zY|_?puA_#hiAt#JE_>IR$524XYDu7_VfGs z`Pq}R7maRf=hEEyQan_bs&)LU)ElKzg;&XGsZ?F8i-OYT8~~I6rXK;!?f@J+5b>G6 z0Vtk4DdMSR0E(yAM11i90L3%kiFo!e0E+Yfi1;S5rTEVCB9@x~6ssK(YhM6RY+$>M zN4mbM>$hCib@l7aV_kjKF`2$^*+$3GvCyh7*Y&owMbR(C%yjl$qtnqbx7%!wwe_B5 z^gL(R@GQq}IbEh3I`Y_MpzAx#Fo)I(=(j9mgL%EKyxM{sfR0r>^g!6)8>9DSMFV>Y>rGH#GUP$s5-C9oP6%vH+y7%nXs$+X7-F3$> zLqR8GvywrH+=AJDzw7K?U1_zL>sniF7N7hqBAJKNz2?}fZHrI2+>?+&KLx&h#c@NO zqh4Iux6P(3i!=g!_XFl_FvQ;;Gp{+`jb5kYbUkK%Y_xlS9ZcBIc+VjRx0&+y;Q2#7yZS1b8da&2(Fp9f=&QD%b%tv${sEP{5d@- zL1nXS8lI6(!fTpPIVf+r?f^2lPjnVBoUaA6Q}{52{gMOcC+L=fa-y3}r)vasr}5#q zf-b1Pbv0T7R&gyaudT0BU3uGTGoR?+#{jn{wv9VMfnP4mjGCD2Ylp~Wd1+}hlB_1v zXe2q&*e53_jR#+rTt?Gal|jShLs~F7aVpNl{}pg28VzXRL${uDq|-Zx(CNm7rG!q` zaSop2W0-o{I=$eF5^!_Eb^5fgA2i1*oet>bT%rpxBG(7cL>D~w=f|;N1}G)8&v5yi z;7@t9e1~sskQ@Wo7})l9diEVr!u1TE0us1%1rkWUB-1F!tBUAz0vnt-&~nNNod70J zMWVr<_%QTM-O%=n{;rhc%B@r?)tUg;AY0L>El9YU;lg-;x=WjQ(qwtIsbm)8yI8;J z>o;Yk;n|9CZKqkQVPl_3?LuTzVzy!#X*@Muh%4fE5ox|u)77z>hclQqeHyv5$~^y#UR_x7p6|+vJBa=BFn=OvX~Pg zOSq-tfp$}3p1wuF3_^(MYYk;ZBE**3%|ggsHC+NBU#aOrgpg+BMaT(`kSr&2v{CXF z%7Q|KlAEG{ryBf$IY&vB2oCF#7loIFoOr1v@iMk3^C4bJr~`TNay-O~@*IV)&9qjJ zqD6Tf`%NLj$~95IQw@H_Jj9A}`0}o&t;nMM0=o%881x-@)frxF4a9|3rSrG@(NENfov* z%BaZecc_M*>vOZBc2aro)R&TX>SMnnvJ~e~pY!@1Q-q1EPXtFC8*lK{L$(;#{SwMF z_zhFC7+E5SeY`l3ups*}zFp_@*k>0K=T`sc?fPUNRumt=j*ISv6|Tbl)?w}qHNs2u!FJ$_jx1Q`%oe3NH^m_TL#9Bn9Cj?|u40@;-fx wiwGBoIjI7|h2sBmg!YW?_q=qPO(8m|x+DsCs=@b|6D|}(kAWhsez=JE54CrPe*gdg diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-urlmon.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-urlmon.a deleted file mode 100644 index bc09346bbc4c0c4fa666310fe59e284d8a760137..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5084 zcmeHL&2G~`5FRHfDWMe=;?NT^5^zGn38~XVRYj@4oQ$xP@3wxan+M zJ;u%8U?v3@>!tUVo4yZF-u8S~DSn*->=@h5ZY)r8-A*)ZerRrj={Cw`VKn>XvoM-% zXuo-b+QFji$99=Q)ff!hgibzh+!~xjUB$B#CI|1aoe;-Mmu7{mPhCD?H0d) z5sroZ1h%8rUT0TI*t_5g{GY8W{h#bhHtiSv{UM)ugb@smeVcmXB)~gvWs`%iIG9lA zx!_o);v{n@w6HvtL^>-1)GJkuLq*>BA^Ir=eezoUWJxlO^)c$-Dqp6~oLmG*-q>_P zHC${{TNnC~Vju!6BF0b0B^;vpmJqX_jD|C zk`MRz8i3}Jl4T{KE(f2n9g`-Vl}1e@t)n=?9H?G%fKExeZ+cdB(HzK04h(0${|N_% zx2>i1V?G!r@oAHApmNQD%jSRq$yb^FjrZ?!Aa&as2gc|p$^q+q9I)&C|2$R=8JQz| zd7hOEt;!cHzh^Hq7kaI&J1!U6NXL!jLLbs`NiIa+5eHt XKab*#W1oXh*owrjv;LTw%s0eu=`Kq7 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-webservices.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-webservices.a deleted file mode 100644 index bf1e18b9fa06bbe7c1447bbdb38ce095ea11ed71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144528 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-windows.data.pdf.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-windows.data.pdf.a deleted file mode 100644 index b1264634091ad9eb50bb3a86a8e2acd4959eb785..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2678 zcmc&$!EVz)5FIBeDNzv|Kq?nxq;f;X3C$)*6^ay2sD}!HxUq5Z23vKLV4IW!2R@+( zKByOdi!w7_JDbLC;b3(m?~Z4mckH)scJlPVi$4diJ1^|@*6nu%{#-G%ZI`Fa-nM(9 zryrPf0H6h6y~W`PKzm7-lw&DBBq~nikxEr8$8%rFvvB4uLW#~$426usW4g2#2Y-H+ zc#DO^aTckiis%V)O5aO8x$vjbleosI0x1LK`L#s>dE`&WvGP*&PR)E3t9UfTpyBC4 zmQI16EWf7CydbiQ!LI8HA#7WSmj#1|)*U1fV9x@$&(@aZr0RRhc6DciJ8_7bY6#Da zz`byeljH^%{3KjR3-0abSln7@;d_~l*UNDI+)udeYTO{l?V_<$g3ISWW;^b@!MAX5 z6C6K^XwI32k7J$%9-={- z-qre`JucI9jyFdGSLBE}pWB4X?W^MsI@&-zWqX_XxyRPOs65~U5aHNZF)&SoZ?luk z!#aao$OL9L%LL+=I9)aKRLS0XBR3eFtDHv4P5__#tZTq;G-^NkYpW`{c5z-MF10MV zZmJan7t1iWN$1dNGZ{ZnyHt8f$>wg8XB)5QIR9Sjn+ChST2Y+sv}^kq?2{1}RyAd< zRtymnl;euLqV*0C6PM!zPIDu@jWkBPaIh~fpV8g<`N~JuMrCKEQ7lp>z+JpDj_KaC zOr9xRbF-R&S!cO+fL1!QL{ac5qju_iHLA&4e(*QaJ7oDp&r_r5S$;g`djMJ|^Az;4 R=NI;+|5&d1GgEhl{RNUe#!3JH diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-windows.networking.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-windows.networking.a deleted file mode 100644 index d47881198263893442e8028bcddf0007fa820b12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2742 zcmc&$!EVz)5FIBeDNzv|kmv~+QEtdMQL;&;3PtLL14T#?;<$0@O=99EQEUiY5J!$Z z@D+STuly8cX1sPbP27}2+KoIro_*e3zkTD$vmJ#rxN>dsJ^I>o}i!{t9U+{je_w&dJ<*vp6TNE_S>rx!&VVDN)*0Zn*NPqBF9P{Mtgjps{njWkZU-F#d##qFcB zw+5Gve@v9%yvvl}_+bd(^n*}o(BDgdfz|g$X+XzK&S;6^m30Va@>R&g7+e+eFa}Tb z?nR62a?@NgM>{xl4Tkw46%?%}%aiE4bauiNV1V`(a<4+F9{z`_n}>%hsup+(kN7Q0 zcdhE0CKDc`L#p1_3ZYY8r|J}M_69D?5_3HD377g;`#lVlfh^^FnfZCZ-c58q_(?Cgun7j$=izKD@`P0hzqQXZ{K zN(H!&SHd^lo1V!zEnQr#FJM+)t|p+B&y3M3_>@sib^aRlWhr0yeQ6I#e$n&PX!Rst dp7T8b&67ml=m>QM_>FeMznL5T<=K7~{sV35;_3hZ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-windowscodecs.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-windowscodecs.a deleted file mode 100644 index 8421f86046b92b5e8472042bafa8f435fb35ed6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9568 zcmeI2&5s*36u@65`%$9hLsda5D0C>>8w!(TGYQhFiW;>Av|Ax%Q8^&ZP72azsz~w5_QZa+$8X+mp6%K9 z5A0E^do%ZuJ{=0>f{A~IScmD;Tc=a_AuNeRouiv9+S#`_$V$4Qk>vQI@kyUrw%zESu?4e^}p<`A} ztLHQ+%2LeQ?xV3i99ozUdhCq#s09_auyt!}*%o%tXJA=fX15nJ1X%Y!tvA@nv3t&A zcEmipZF_dz9e8Zu)e0sK?(~P&Tq*43$o5*@nLQ**@Ycgd*ByEHaK^{(-BYJst15#Z z*>TmfU8~Fb_OVM%Yegf}DqJbr&;ZBoWW?#2;$U(0*zzv(LNjcj+G>TOGUyB$?4dql zw#RNcUf&+x8M*xiYk7`4xP4wLsh!LgOYWyuRJE4S3m2k3+`$$62r17iGOx|PX9=}dbbTCfxWSq$&yru@m z^L%qWo+AcNNY0@S_x63+4ZPUE`%(k%Pso-1a+150ELZX6@I?bVF>-$WeZf1uEn4Gz zyVt{te8=fADe&J5fCrh5{m?Iv<*L4@`)p_o5>s`hCCMmy$|lJuI-+@JGn7sTsYkA# zO{|(B!*xRzkj-44?nM6bdnXwUnwT#3?aFPro8Fcy)sH8>#J6P=_5TLH|BaVz%SEY1 za&p|3ccpF6^Nq7*UtY}>xd|I;y?;$|{&hIt!Gdj|lqlck`gxUKrLpiX_k1Xhfm;i7 zyzc4Xp(x=t1}}jEu3bR^>6dgG1odqq?m5B*7xpcjav~GJ=BY?D_yaE%>+=`0mXOPp z94BgQV5oAe=6Q!oNhNBVtKlhHEiKi^hSldxC6_RMi1jDZvMJLS=N%?*b9!F;IM~<9 zxDa@eDeq84882RLLKO9PfHL32%b8fs!+V(4q>L=WOn?632K{>WEGQ%0pkGf~&!HgM z8;wi$i7Q`>Lf`aTy;5~fLuaG@1XM4}y$48p=Nh9?u$AIDCAEq_nWBWxm+nDOMeQlj z=z@|x{u_Y$5hb6=63R6A4b!;`)pX0*MXtCNJ}T+>DB`w;hm+i4Mm(i&Q7!ZM_)6Lg zWy|EFql`O?k72xAgpbGZauYt@#`&e?W1IMh+lO!qT3t4DynhM-8@EIOPc`@nb7CWI z>fy~#(l%~^yHJG*GaVC!C=*Z6PUbQ3rD99VWTL5zJBx{4yj+Bdvv|1)6TA4l(=xFo zm*&e2=N%Aw2CA#|}&K4&{_2lp@|?O~T%UgtzcXrzK(2 zCqX$h685sXp5Yyu0EU2sswm*82H#=slb}p{{z2N3DA-R)L39tXrXZl;BK}}QQV=== zU1@(ndngJ41vf$DyrODx2n z=&v*n*QNCbJlv5blxgrYro==1)Kh=(SP~b-bX@F5xmcew1zhO(%+qqA5f=%cmu{bn z^O;rMJKR7$PzcyK6a_rh;CIZ4jl}6+icwy;$gX!QB4_8FIV; diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-ws2_32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-ws2_32.a deleted file mode 100644 index 710f54b093c15af86fc06f9464490809c1908168..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83244 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�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 V-(|+^Z57zr3Vz`l<=epf{{yYhDntMP diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-xaudio2_8.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-xaudio2_8.a deleted file mode 100644 index 3ce3d6bac32fc9c967943d44090e0a1d9301d732..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6670 zcmeI0?~5Bn7{{M%uHJdpYT@vzh(xIGO5EJ#HaR)U$%&v;D5B*M?cC@@=X`9V;t`CMejwc4KFR5zS#0>BLb?*QN$W;ec;*IS-|V-7i@CRXN z;gUn}U(`F}@d6nHh)_Oa&bjBy_a-Aog&QGV;(Xb8_lXtK4_`J=zB6Rn71xGmsCI!yY-bMeh zv@l;_kMxo}fJaw)0F5t=X%_5NL_TxQCs?fMrj)!A;3tk{)ib-oJcxOxI77u4R8m`?<=AyDbbV6>P_?1#KwNG+J$V_nAi>4 zsOh?O#*?VN1Jv~0Iy^1OKr70j(r6p@_{Gal=->0_nT^g}6K4|UirOI#0p7$*jxYVU zb2%T%?-^k4qP# z!S5J5j#{&hU}c>GE#8}jcyIZ;*3Kbk;Td*&5%0$qC(Go$W3@Yv_r$Hs@&3fEGrZHh z7v+5o^jX=ZKYeQDs>gFi4e z+-F^$!rm?@>Al}t@pp<*-^!nGQY2v!_4h1VmP!2stKE6jpSX27>L0mvhI)ECC`!Et z<_ia}j;l($e&fw(|7e2tOQPL$RY7k3FQ4s3A+}qM{oIQF8_xG4wtuvkSSH(NR=e}q z9=dfowx7CnhV2htf$fT7d-|Ikfw9UfyCyqh{VsJ$1rPqloML^t>&`Ea)1NcT_XWS0 zFZlU&{{Pd>ZQ~2Ca=HQA7v!hrmG*)6744Z1n56_uJoszM2h7*?iKU<2!zwC^{Qm&= Ckum20 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-xinput1_4.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-xinput1_4.a deleted file mode 100644 index ab91188d70f95f960e6f6400ff637999119fadb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7616 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel.a deleted file mode 100644 index f6c44ec02..000000000 --- a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel.a +++ /dev/null @@ -1,38 +0,0 @@ -INPUT( -libwinapi_windowsapp_downlevel-dhcpcsvc.a -libwinapi_windowsapp_downlevel-rpcrt4.a -libwinapi_windowsapp_downlevel-esent.a -libwinapi_windowsapp_downlevel-dwrite.a -libwinapi_windowsapp_downlevel-d3dcompiler_47.a -libwinapi_windowsapp_downlevel-api-ms-win-core-winrt-l1-1-0.a -libwinapi_windowsapp_downlevel-api-ms-win-core-winrt-robuffer-l1-1-0.a -libwinapi_windowsapp_downlevel-dhcpcsvc6.a -libwinapi_windowsapp_downlevel-urlmon.a -libwinapi_windowsapp_downlevel-mfreadwrite.a -libwinapi_windowsapp_downlevel-propsys.a -libwinapi_windowsapp_downlevel-cabinet.a -libwinapi_windowsapp_downlevel-kernel32.a -libwinapi_windowsapp_downlevel-msajapi.a -libwinapi_windowsapp_downlevel-mscoree.a -libwinapi_windowsapp_downlevel-xinput1_4.a -libwinapi_windowsapp_downlevel-xmllite.a -libwinapi_windowsapp_downlevel-mmdevapi.a -libwinapi_windowsapp_downlevel-xaudio2_8.a -libwinapi_windowsapp_downlevel-oleaut32.a -libwinapi_windowsapp_downlevel-ws2_32.a -libwinapi_windowsapp_downlevel-uiautomationcore.a -libwinapi_windowsapp_downlevel-d2d1.a -libwinapi_windowsapp_downlevel-windows.networking.a -libwinapi_windowsapp_downlevel-windowscodecs.a -libwinapi_windowsapp_downlevel-webservices.a -libwinapi_windowsapp_downlevel-windows.data.pdf.a -libwinapi_windowsapp_downlevel-mf.a -libwinapi_windowsapp_downlevel-d3d11.a -libwinapi_windowsapp_downlevel-ole32.a -libwinapi_windowsapp_downlevel-dxgi.a -libwinapi_windowsapp_downlevel-deviceaccess.a -libwinapi_windowsapp_downlevel-advapi32.a -libwinapi_windowsapp_downlevel-mfplat.a -libwinapi_windowsapp_downlevel-mswsock.a -libwinapi_windowsapp_downlevel-api-ms-win-core-localization-l1-2-0.a -) diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowscodecs.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_windowscodecs.a deleted file mode 100644 index 42ee6724e6c063bcdc60cfe45a663d401e8320fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105490 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 IB0o6zf27^ZivR!s diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winfax.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winfax.a deleted file mode 100644 index e482dcdb9d5bbd83181d15af6d5dd96353bcbbed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46722 zcmeHQ-)|hn9sl|g2!sGBKf-Tvp$Sk5=KO2VsiM}7lR#*o=4WVyIG@jJ`^fpu+^tQZ zv`t$ONE8XF5>l&5m8!O?R8*n%txu?redwQ1^`YuhpZi$){m#tp&g{&bXV251m3OW0 z?s?`rGdnY%`P_HsJ3DvmRI}e&|N6nltLiZ^GZEllEjU@N)>xE$u2!d}XJ>herGo&_ z2e|Q{0Ed49aO-cm9Qg!*F5O!INM1k0W$5qy!mqglDDxABtO{X z@}pM(NZy^~^8UjBBp=+*inwO+p+4)Crg z)m$wqmh^a&JEi9;JiVba!nB7H9lc#Jq1+x%bb8Cpj?(&>#xZN~60|t2*~}U|^+K<^ z+Fsl0H=}m1t96PVYe=P)r=&{ztGjZh*V@_$yV&`YHKm`jQLL0S@LaEdy5DQAw3>rq zX?3+B`OMqzLC%M(W%3!4Hqn31Hu9CxJ5&oxjpGG4&R&kf?tt~wq|6}0)i57M9t*wg zu)o+`3)Ox$#AzwiK2}r2J^ZcBuuH>MWg8_F^F7~fN9|^({Z@E(8=>&*R=5?aU18P0 z)K4g+l3^)Rq?RT#8r3w(sKnrekP@Dj19`qWO9`F0P3T{2@H5S*Ij8hkHiGA8p)2_g zEGm}tSRt9wuv9HQSK;Y7qh(Sgfr*ZuD`zxJ$aT(y^lgV3|VR(9Lbv5iO-`r|2>YeRwZHTe@bQrDoR6)?eD7=ghUPF&6 z)Rx9qki3U#0n9<|v+?D@U5o=l6}>pk^Zei*qNP3Y^39?w=e9r|UUzTA!K{ zlNKpX18n2N>>l@j(KyBDd4Al67s4rxAv&lJO*mzdnUkcK;69_m{v|zAIE4|e53nQNmJh6q@V*0;KscnHH0d;v&jt;>;4?MrQ%9x_w#d)Bbelw%ar zl|~=V7_l=yRp34Ru>1Lp(dR3{i?Hb!*r2l<Uo11^g5r75ET8?mW+yJY?Bhi5WP% zoEJ<-!L-{b2Fo^^#FQyy-d$ z0vZMCjA@~ff42a6iu|NmFs1@;2;{3(Rwrmoao#XKRbrgFh(p+H`xDdq#Q2Pc@%g=n zaeU~uI!Q#FH;hj@VtjT+fJe&Zvpj&EEAS>>$%@JCsN1b4GqqSIN~BX~a3I^++$Ykf zbfnMIJ?uTCXDMA7{k}Q9=7{uQLgVzy2#=jOeNp1VtI6r#k;)y$=__VEjnlhky@bKTQ9M#E$E7OCQGqso7F^D%tIT*K!KZ<~td!}KC8DVVIAHDE z?Gw=x5~Am^>>_h^PDHD2BY|ih=nc`cZiueebdG)pVXzZNzanwl)#T_^soY^4y=m6d zIQlKKUc%A1n9!M{YXZ^QA_64rBBT2lQ3D<+U!UOt>|B9&@hbRQue!R#0QGsY};bXz=@+u$nl3jjUgwUk|KgP4L%k`>fCsiyO-fR2Oeg#3W(>%;x@qgkAn9lPs zj|kl3@^9(wtzug;H16q0=V0(P&*Z4Uck#2}dbQeFo;SpL<9KHeXo+>|IvdC5!TMKB zST8ugkBW7T+ZC*P=5<#eXkEv8xjr$q8_WNCezf(?6+!Gj6fh|09 zPM4~zz76_(s73i=^C?H4Xt@rZccYEXs~A1UBe^0wo7bT~ltsAwvUS1HenQkfMZ0+& zx(sQh`gY_S)Vz%XS3hd`HU{foAEV&GVWXhnw#{xw!H~@rn-rhMxzwdZj|D`#uxI3YaVoF%&l6y{UpH8aN< z56JU1Pl*t^RNw)WT9YAf^grZ{gnclF4Y zIA?TkWBWWfKc?dxt@>iK{Af5==jv6Q`<zJZ}VyzQ`OZedAo);+`D>R%iRQ6ui9{*$7Z>oaF3geil;NS|21V^WX!wnCXlJN zO6|r-Ur3*H^u7iq(!C-5J{{?Wx6VgHdS)fOigeE_;wK$FtmQi%4Cr9v^gQNy1y`w>0 zpF=5EJEn6ew;(cIpEvK05iNcpfrd(vQGEwh0FQJYrN#r;xdN}_mF7_hz)n93;q5Kc zNmsvTxmO13E1Lz9=iQ{c1iJOzAc~FhV*=AD%FTOaAjj=s)vml)oy zK9GN>4f$xc6q(<5gM56Xl=sRoAz!F?L%yr`v$WBNa(*5g{SJZry|h;bLYeQCk->Kw z=nc`%eolP_W9jEiZS*{dK9V9D*}K^Mo#UyKZ;PQL+BZkLdO6EE@Sz-?$J=weK(z8R zbOlFtjyZ6p+R9QaByv5{8+Vs}O%sBX*CA=wa{46zpL<8&W%gwp#5hsT*Q_vHFCoXLGj1 zI-weeHy+83r2+dFPkFF@iwWyU>qTbuQL(Pkx`K7jyzcDt)PLuteELkEKIwNYT|Go! zBCMxBvRr74-!2AwI&c1HJpA!mfek#9cPOo{@_V|OU~dfW>i0aUGkCdMV~XlL>ue7b zs`Vf9F8upIM>T}ci4eL};D>l7gd3`^&W>9ZyrJIF9~zXXXFX`MTk@d(W;5#1aw)d$ zGCJxrJ|P|To@W~;9DSidpmTj`!K7TD$AY;jMm?>}8(b{31w*r}bfgx{I1gaw3iR+A z^Eg>hlarRQp2p4Kk|H;x6)BVO~@l$eK{?o2woDoAsK$ ze!QGVNp0&qD{K$OsMdD4FSeci01bOQQak$`4`AmCyocA=&ep50lekUC7o*o4J)R}@ zc{keZ?>yMQ-irNV+v2;zzJcmB?0e?@nyUx2+^2$p--i7>Gl|!6>^GM?p?GEg=`dRF ztey~g+& z?tSyUtG~2d@iG+mc~-n!OSs3C9o?`M;V0ThH|!UDZpL-Ri&kxAb(cBT8^^nPNlUDI z!}>KQtRuk}*{&HC>+0&REY|(5?y9-^MrTi!zhZ}Ix7jm!czr*|`o?A_j6$4~TWt25 z8wK}~-p80gp1V0ELg-R~@8Ox|ZWemkYG;Vu810SOT|K5H+F9@UK>I!;+KW9~Gcww< z)Sf}RXKr`(qt58>jYin@JH3%{fy0AwVijsj<15Xm$#7#o&Cx3G<-x$N!DFtZtHtZF zF1;%>jb*+hl`E|(pON)uQD@1lr@edhnprPdrG5xAo)bE8835+r`KmCqcY1@c*tQF; ziJ&8$i;rh0DYODDJTpG0swxY17m^TftnKPKt?M{0_b5tzOnLSw8Y3Lfw_4#~u&^Gs zXe;DG+v2WkU8E{2hDkQu8@3(&r$Ncl1VQ#)BXRyn91RTH%eXMH*qCbVEFIL^i diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winhttp.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winhttp.a deleted file mode 100644 index 8d6ae883e04946edec7f004f190706607fad7a7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54234 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winmm.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winmm.a deleted file mode 100644 index 7ddc07bfa5276b4b34ac67e21eb468a3a3cfa5f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150878 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winscard.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winscard.a deleted file mode 100644 index 31e9f209a29d917260035553ef0754255c49b8c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58800 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winspool.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winspool.a deleted file mode 100644 index c99f8301dd2e0b7c51042ea31592750d86039a35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 168176 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winsqlite3.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winsqlite3.a deleted file mode 100644 index 2f5f94114a6a824a667f9e1604d9439b392778be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196014 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 Uo|IkCWaQJL>po1gNC@=*e}E-dEdT%j diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winsta.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winsta.a deleted file mode 100644 index 8faad470e448c010bfb92bd1cedfe00f65319b48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142890 zcmeHw4Ui;9m0nJ-kdV*;#(;IF1A2voK!|1jG(9WJVtRg7JFps!W@fc(S!lMWyJn`@ zp6aH$dUjU`v2YRy33MwEApTAQ?l2d|*uFU5Ik0^ppD)g52evQlu;UzdoPPp`3I7GQ zFYNP$ee!#m)s1?C zML7N>V;DYgQG}I87{hQs{2#-{z6hs49>as56XAo;F^1vHQzA4$7Q^;4BDBBA7>3TT zh|v9Q#xMkbON7C98N+b?c@aJW>0)>+6yf9Wdoer?zZJu$)2*?i}2Ei7{l;);hh+Mb4!H3zs(qiA3)h-_{VD^{F4r282;G_5q{?w zV;KJBZ6f^cYZ=4vZ?6{Nhc_{X;XgoH82%%aFNXi}JrREV%Zy?8AHOcb|NJe+F#PWy zitvAa%ov83f0u``$`2V2ulhYUhT+<)M0m{~urUm;{X-GnP+?;j-t>AAZn%?;VYsm+ z!dt(>#xNZIfe1H$pN(O-^{+qc;mhW9)t!uUlthGFUxBFsF_#xNZHqzHFC!^SYY z?{gx|f0K=2So$>)j{hSzhT#LhCBn+D1Kc6p|C=Ig!0*6t>fea);P0?83?KZF2xorG z#xOMD{}{Iavj}atV(3Jn``_6ZhT!)_*nc$}!*Cw{kKxg`itw=wHiqF7kBIQZQ)~>w zlb;dcX~+kLXCO})p1mZ(a}bZ=OHYdM6^O&|btoqcFTNXtzJchsiZ4v$kq=DgYJ}<(reT|J__&e}hF#N_v5&j;eh2bBBBK$*$!|>aW zittaj*%*d@z9quH=&>;j|LQ>z{`GM-hT-4MiSX~o*%*c&&5Q7#X4x2q|2i$ge>=g( zF#O)bBK$8%3&S5k-Z1>%@A6P#-(x%+`VOmLxcWH}uD!@A7_NUrgx5XKDj44ID=&2VlUBHMet%@HE<`IEg?BlIvoki>R-XKtEEffP!ovF?Ro+u!NWO-ve- zNXn#BSm?ApKU`=ucfHm^;I-gC?MA0RH#uueF!K?a{`zjC)jhY-2zI;>e#4+QMy;e#*xZ7h}cBVLRA+UvBKOlJ+ix907%`(bc_ z{Mwp;`mB8Yy4M^8?a-8lK~Sc3U(fTSAG_EN0K8rJJyfX}1!Y<*-LSoVVZ}QaB}k@2 z3Z>IH(cS6#b5j(A#q){)_3ZXG`BmhzkwE&{#dg0bIK0~Kc^PRCf-kAEk&D-mW+CjdS=JzOhnexJ}*E|bVmhwYapjxCEktwXC z+30k(8qKrxZ(B&j%BSW7uW@#@+xA2Hxpchpr04YzmWJmNvGS?9?{_aW{HC|s?HQ^d zLS*F>ha6N}_10cH@k%l(x_SS=3oe+RNJYw@h|S6Rg?{MmE$u_~tK=_RM#etS4#GjB zgQc@{UO``$1Q|!ZTS=YAD^Gd>Q~`67ar;F^$(z{ZLBY2Ddb0^tCI=e%bB%&ZT0j)6 zP`!ZjJffc{LE`tE%oeB8g~qwx?RaYPvX0B~fE3;E0zebA{i{J23xF(cQiw?7o=&6R zU-NpMM$_8^+zhK>BJ**Q8PCW!2rRDe4nkQbEViM+o=~+- z@782YDby`e5Hg7r>VvS`LA_)ZSaz-(v`Cad`#{O5DFyppunIc5RQpV^>V3Zj{{xiW z3$;XJ$5WJ}QBukH==oEM>YO1!M%70>D+J`TYaV1dJQj5KEclu!tftxb=$3KK8^);8 zy>1YmT!y$o$Ml#cqCStE##1D{ffjLG`iXkR6CzH1Vz0aJoq+1h?|X*l(h};^rnXP& zp0?7u+`=FTWQ(FUfMyM4*c#hBOT1BUYYm!A{2t>IR;e3GT$C!+@?#HMO}WMUPeM%u zv%sKFRS;_)DP~A#NOt-YDk-UghP0M~pc{~yS>iWIF+)1@pkzTE2(19tVMOzhNKTX1 zQ{`_QW`JnOhUul{l$4r#qK%!T^Oua4&v6A@m{r!i4-eq`k(IhZER{~Af<(IU@+zsu z@}x+~RB9YXiuncV>tPSlMlvmvQK|5sq}DpAXOr!!=~rk{=2W0z#>DN1*?m4J8nxg82ztA=awxd2p8vYfsACc*=1|C2I zdJP8c-B3|lK4$+OvdSFw7XFZYhp;Q5PDDaH6-_<2bbiE>kpTTH=qfs~}cLu#MNSoyXUZwHKO@TG?x9Ev)mkdg*yC#ZYzDrLDvD=}#N(S(d? z&}vO8jkJEVJnW?jdsbtsLu)xEIr(d1iB;@AhlXw>Ev2S%-0Sq}V9y1=fb1<3Ezok` zB&nvBtR0k05&&E7XGteg-EDVT(bw-U`B-W#3bK%*K~hN#Js_QqTG8#OaUv`D2{qjD0xB_*Y&0$qysHd=YSepWImu|zs(23ZgGdAAgNNe?tS z0~(X?n~buF6r(S-+@ei6kWNY>@icT#!l2y*Knt>>>6pMHq+*avr6x2)=#lPX`$jgG zJS{>lky2!xT5q>ZX{02QPdAjl!!oI2!LL}=r4p&!3m&Pq4^~?+tSc^xY?(wXl624p>2!u^ zfMP*62#`op#*~6VZ-v|_Nkl^FG@=R!zLxn{BxTeTd@q1@ByJeVeCRSVg=2xo-S@-F z-B58G#PoDhjbFNz9;TBLBhpE=e#V4Sa>5I0rdW&#XhO*}pysgg`Cv*0QJLP7KiK0y+gt`q z`gsp@amtWx5X(phng+rUqopInh;-;aLHxXkCZ3aoBC5#v@q`qSN<=$aV~SHrND--E zFOLFAoWM|kc$V(Z#80MsGC~bkYgkePHHgXglkR+Dw2T1SLv5wLe!8kJEKDk8OKpjIXz5IrLzwP)fH0Tg(nM-wty3Uwb8<>uK%uYVSuZ{}a13+ic+ z9EyHMnmG%dZXf#OXtto*-&C~nE*y4oqTB7w^KlYHJHuVz35nFx!tF;wojGH4KAyxDaJ}w>9Q8L z5QHi(2B)>S5EK6m|O|SjWn+y?jcNw-v_U7sraH;G5glEh9vQeR631 zgwb$;*8>ZT7yyITCG@YvxwDmyY|Lm$mKDCRl}P@M5Hdy!HB5A2vV~Y{;CWl&k?wGQ zj%i-b#Q6Bk%uKa9Gb!fjRI6vMJ23`RIpDZqjIr18zg{(VB=pXQ{BQHA%Er$efpOdo zvj~rwW8*I!+3NR4h_Q<(*Tw{Io*v3x1%F%xze_!MdP44w;eC{QwOOtLE1X?0)*%n>yDMiGDbGGjYq+l{ls8_|8WoG{r#skBi{Eu)G_Mk${|CK;t{ zFu#Y!@SHrN^5f<5Du~LE;bnqf{?OQKl8HqB8>Wsj6?P2HuY48)$LX#;PHR(B(S$RJ z(-|n^*Yn?a)gL!bC!?ZbZ-hS(r^q2Z@EcM%<&mkAA{XO6CBpxUa@2jihq%6mpOL}W z@bdWy{+A7kcYUy2f;1i+5o|l$9r$O(9gZXR$AENRx&rA~zF4O6P-_bDn>Fln;US9g zitK|~h5Rf|74|9k!@=B`S2{iCI?jy#`1r)k9h@GcYVg|lgu;w#cy=BK^j*jQ(wXsU zxPLpuKNKMpFV#P~8a%FXvD~NOW!uVonXKs(HTW#Z^k})58JON(AoB<K@6AGfNXu!+e~gxkk^ff6-&`aEe?|w5 z{GV5mpPq0BPa%D*Dsem%RaH*dri%!(3;+WQpHo_B^xqU=U84V3bO$d(y+?Lh1+a%%SFBGO_>(g3us>;s{b{}S ze-3K9QMG?ZsWq=;?Z2>u)NXu!p|5LPFjQ!i;>)O`--_)^hnA%+ImS7@6zT`qH zx`USr=zmm8U?_^qo*3?qDHC=~nb3O(rJi(i%#AzO5|>UNmt4(kOC2 zp$fkr4~hSIaf6>L>}TL=!oM;z(13j*;SBe89JRuIX&n-uP$)~WUm>ph^Yjp2FyS8T zlSRh;;Rxjt_u1AVwMMsJO2!@XXYG(bq4$kTtw+}QRru<*HU7^fkPj2FlPdug8vVCu z=sywN!ApgG7S4%UU(3Fn)}~hdw3s^<)T~%AbF`+}NK3s(vLKJ%^L3R4>M~UvC&jgo zz72s6hphkS`2WSJ!afdvs0>iEPTEE_0e7gMu|j=qQt$D822_AiwxO0#6Bu5uq;1Go z-kW6`I#0`KwxLhZakF$vT1D1=ZiU~EheZFXxWUgA_AFeJ=+}$D zzygDyJ2qH)h)Xu`Zz)Kj_W|;-;j1be#B6D<4J{7W5QH}!BsNe*K$?M!g6`N*dW{k0 zDU@q%gG;aRS5!9eA?eC0m<4A-UaxUF`y>lUA$JV0^BR|Z0_2Itlvq2;(()U~H z{+X!Hqx*kJN4=cLitA<<9Q}EF!lFt~76EAsH43_8gPj++HgSh$4J~~F(i&O?1l!t$ zzNoSR=3FUjvEcl(Lbn6&;B|&-6IzMx;HAQT7S5_oNYB19i&Rm9Omfb6Fm34-p3+A{ zT!N0{DEsKHVpqJ9_R&CjZ2y}5o*&>Eyro4#=Vj)$CmQmtd>I^ z6|Tr>Er($gcieKk8NReFGd`bSMnmi&1J4(k2{@h#56Of(#SMP0u#dns!GtK=bh{8Q zg2U&~yTiJj7kTEW?nN%KE?a>c;9J^a{c|eT<<3Th#yZZg!$V^IZgGR3E9_%%Rk1F! zO`|;>?+)*Fe&U(3Zs%W4G#R>|I8WXFYy$7mj$DxXL8{y56C07GClDuN-C^C<3#`}e z<+wOmx91rbeM!Z7atpaa!kme5OIfmOYd(@*Wl4^GD?HrP&DZ) zslh+2yjRi8we=!Y+ms@wY48SHQmnzh5x%;uR`auLGqnj~v1|CB)DRyRA8)$`aNbO3 zSyg6Ir6Ho+A>7i_JF8pyOTAsz?RoT=XJUkljaqOIPy|Vl^_Uwm18_*aeOBDy=L)+3 z*BIq8+XT+jk?xRg>D?XI=eU$wj6`}KE#|XKu7Qx+hqlmYzbV4DL_4wmgE8w0=ts!7 z!@iv_x17-{KCDoW^xkToQEZ=4u&?ZKymTI3QRJGws$qXVx`UT!Mz6$mBI}9=H&enH z?x*a0x2085d_oiM^H?RHrg2|r%v)I{Nko%%y}}8{+WeHAFLtKvuX4bf@Sdl?`jm=y zzGHo{>vyaEs)BW%WpXF42b3sxHM*TowVbV(U8AE0Yip7Dw1RNl=Ltrnw|!;9czjcl zH5#iiniBC;5s-?FS^o>bZ354Zf_!*Ox{NLa;z?_yqP zM!ZK<9*Q;Rq3Dj_`q$y248fE;sc6L@XYncoGM5?`cgGGpA8l<~w{1QLs=+Ahy*j?- zN?Pv?<7G7KJ=$mSNNG8-`S~h{!_}Tgt$KJH$l10PpCZ`-Ti2xbJ%coh+-AHNem@@4 z0(6G|Uz{rJ8}J9o5TYogSBv6^=>c~vvGwlis<12xl&OX^;riI)wz|PBCyF+g$o`?E#R6EfV6)>-duVg!6SjAs!C(yfr zhq%O6PpzGJhL(%Hyf~uWmH|&t47jJ$==ayWUZ>IY_Plr(b^L8bX2ftK6WLbaoX+7< zVSf?+RN9Id?1ti?R4S`y-0{WEXIv}S$mJh7#jBVvRfx6a%i{`P#I{=NyMwURJ?Eoe zt=RmqS|eAs7<%?810*cafeXie*M5s-Yy5Ov0gNn6je-m5N08%ajw8Ey1&l@XD4Br3^bw+mGS zJRGwBFfVTKvo_*ls2GZ@le$r&aJYm!+*^8}XLa0P1VwpNU;4Dt2fdPg=_@_wG0%vL ziwWE}pi{688`u{c^KXd|E-`;s0`nh*|EabA?l9Y={Yb2?j-}#wyv3xQH+rT-JO6s7 zo^T$te~d)?WTADP%SQVoso%t85Yg`Hc1v&bxL&uHo&u@U`0ahN{Cr~4{) z9bV6iD0c|A^9GkQ1+o#IXQsfTD#E>R>DcaJ=nnnLJj? zN0O+=bv=VUK5q0>p;3>XJUpbuCUZ_C?Cq*%-BjP}GVZW%>A@|r&%dh+>|ZcqzkYDB zU$?-1B;yYImj2oa-I7!KYo#Rz>pa_j?D-`2>w~b{>F#v>RT%Sjt{dRsg+g-x*Du9G z*8jx%&IzqYD+1D>1FK-Ci^{FXYQoY}Tdw5Bzptqs$YaAlm*7IM?**%Ef2Y{^M;#Ck ziGO01P8I*dY*XVoaUh2%6t^>CChWYk<;YF(ElpU@W5M4~VBK#41i(UlFO2kW?0E2+ zB3tnDj@$&xRwDb#wni#5NGWH!&xEDVw%p~HlfcA*JQmJDiUSe)PvHxSjQ`x09=|or z`rI^S(FcMg1>B+D&UahdH#z8;3)F`+>gxv=_4QGxj|AMI-p*fJEBB`0us5L|`*ybd z+`fYPH4n7d@L15@OOH%0cD--4H-*$_jKx5W-pLkr#|%q9Z%rSuU#@H`EkJL`!Hgim zjJ{WN|1S3U@sK^<;Y>%oTVXhrSsA0b=0TQ82bU7#4&QeE+}e1#W;uQ>Q_Y{pv-RNw zzI)vuJh=>?cF+N!7g@_cj0FUT#QCDQ!Os=;1Y8q1SF>&aye{Gn`F1|tnVN3fFKc#L zv*#J3)=MDYZ|r%+_T^&V9uJB5c+xW5t*~=&P9UCV*#LDV&K<_>e77aW@hh5Z_dFQy zY8WrJ&-St~UeCaI6z2}(c0Ss2BxW|o^Vli<1jhHe``!tdPV4tQctw#ln5rlur9PjJ z?%+k6LAd5ASvMeFlW>OnaXWu(ZA$N%mTMYH{UwjhW-o#JopwL;0&OWjjughOg6q`? z8+I*(YxrOIfAy~;p?4m8w|HRB;t)I1YJ?5`f59ZUvnAHL!kdSLOdEx6uHhYg3&@B& ze8nQvMdCZtD1&c}?{EbLe*>l^p2sV`9huA6?fk6jG!I61@KRx4g>youF%$#2)TeP7 zNFnWx8{L&$~u`mb%xjvQ7lp?nkcSf0)y8pgX92NGf z@IQhlBZ|b(iU^KbJ?oA`cK+Ymw7zEUbAXvq94c1@MYtq6be7_fz9wkl_r@5Hm?F8e z72Uy0g?$Uo6nChi$ZThbMM0O&yKZajJjS&t-Huf1VNwsvv$phy?0CX8nxg7qxJo1* zk|Pg`8~j{hFTmA~BiU_=&M6`9t{t)TEl=qCiIubAB|ob0y=`@|c7h+RcHlKb*o~m; z!=h&4pkHWSaMcsaLh|AS{BL+v*k|F-1TVDgQ^Tj%JX*{h3+(*J<$fIEONvfM+;fS0 zBsW2{Eem!{ERcgr3(bUEBhX7GtVVb6Qen@+*~EmX2n@=T!i9vOJ2qH)oy#_Xe^C<~ zst{|-h8+_dmV%%g2DRAU^R)t&#=jD!BwjJL^06A?lPs_al_7YT`Ol^X0{M{^d*nr2Cw%1Khc-a(}Rc9 zmojHw4y%8)2(r2knw&c>SbDh2)f4&mHMJ9YW?r^bE;RSV>QXRlv&bHcoU13U#o4B{ zqg1pjw2vRP^lO)WgG{tnA=b8U&{WWV|G*0_oa}*%*<15IJOJBKtI(*=**74vPgVLR zF?TGm^k7fwR?~9j328OWqyKEBSrBax5N$)fjMkMR*Zy_s@RJ- z#M4DU8jLa|-SNTF8(s2&e@&APbTh=-whE0jAGix)0U87t)6s5p`Y=<+S>r(DGVChLNca`K{ z(WD9G;lRTg9H_%v4loB`#l>lT$@Me`A}Mzqu=F37yGmwq;3kN*?G1b|&4DFckymU$ zywD9id{L2kkaIKzM|i3T%v2x+-Lb*ak36l9KrKgVORWg~rnYQ&D9wiC*nFk=FE%SC zkk)WW4XGt=@N8Ww_TzGxVlE15=ml?bMm*wmYW7c0K#SXDuH+25 zN0j$w&7i}*W$_S~cpR!WgYFqxE*`InGhJ-klm`{2tOgz!TEPc*PY2e$Uh{gLhETO4 zgFH?FDzdgUoU$m}l@2d&ajLMt41Xx?%IM-C+ZNl$oUvxs(szA_K4-3Ejnu?&?u#vJ z{(KJBAi9donkmcx9FjG=;s!rg*e}902Wv>{?I_N;ogFkjYv<=KcZL-oI@KPW)~J6#xm8hVi}6bV&i%)cEo z0Ee{d92YnExxzjTSH-HclFB~mb*6>fF~HK}Trz-v!<6P9>o$29u%u!(FT6%~l^!0~J zEl6rXRY0z-#=ojCV7VWuKe!5Y=ry)FUZEL~b9O$FeX9%GsGn0V4@_hCi)h9AcL;v)BobIw*??o&lTP2JCsbjJrfKX19R7pH@f4~PLoHnA9A_Q zBmcH8IB=ZcfER@A?RFD}Qxtpt;D5?^B47el1Y~z0 zQ`Q|P>^#fmj?UtnzxVQ8amsU~^e3L#@g;?AAe?Eo#MgVKQ z#|m$;v7g^cx|+%2C$RK9pysO+CqhdmGK&w(qTWJMHELBwCT{ z|C=xaa7a(VF>!;RE9_HnP1=SM**7pimvM)GTOVy3gkZ zQhdk3!ha(B2K?(X?(lExDc1LaD(in)|5pLGwmQ)JQuuH9^;V+?z5$$2Rq#D;@_Wfn zB(rbo1dw9xSWxoZQS{+-s?eUpn;24Ls~`Fhw}Re^dcbFUI8+gB;B4-Ie6SqPGtlfh`w% zhgj?z;UW9PcZ(bRTwx!BYqC!~%(iLZXfoaz-tVyV4^Qhe?#q2XWc`ohV{GgHKbypR zay}Ifn`!%v4)zNm%_6r0@8wumIdCSrgO>{X2Aq=|Fc*bk9NmZq+_A*cYh3PJz`w9) z9O4}g;#MKg&INa7u|#h00gj>`45YkJXr|=cxd8N_B=Gg(Fc_7r9&^VUJ0EkcY+Eu} zlc#Mtn#r0*ud&tcKz9SiWgqOeWkD$lJFcW3aK{o$k90XgFOwyCdf>Aumc-jd#jQ!P z*^$2oPP8Bslls!u*z#zFCC0S6!TUKNfhN((^6+{LGwvUn2XIcfcg( zjs=$f=8^@@STIhoKv~V|AX$Kh@K&-yKc3J%0p-|KIW`G(0Nb|Uy%YvF@;L=K(HPXAz&yWdF~zI?L@Ttlv{#9m2iPc&~~gQt&<>-NB2t zS{>p&&N{hT9UN@SKMuhe?zBsIh1@Z~((^m1&&MhIypjR9 zE{|=W_qG%RV1#48+woRlLvX%`HO|N^vc~f+&IMKD*@*7orNX`d=aj}n6oH8gCQ)~c zu=E6%wov|6O}bDOVr?1mE`Nyd*4o>zFus^U#_lS&&GQc z?GEjB9^YDN-{Do23GG#gwbk`+N}wILtXF4#AE=!xmwYYz)Nlurm^&8O`F~6M4kv+= zI{&c3g2i^fDVFy*P<6h{Hd*JVqurt1($_ns>-CqQ0vu({+!d81N6D46W(LZ8l@Vye zMb5aNe->mOrRB64?w_RP;t_4Q+Kp|UUscc!!`oq&ms;m<1P#C6>joj%0E;{7;XR^q zP;~raZ_6=j9O@>d=ka6xl#29Dx9_cc!M+z18tFOxSPL@SlqEkM z?XF(8^x7WPy|(381*zra8LRMe_v2t(3UWQ_J6w#(lln^k9Nvk@XoIr-z5s=<|+Oe1@H4gx6x`g`r-P8e(3Gp3%GCWc*U;obIwzw zi(qb=n3s|z>W&e1-rRDOrl`Rw+xrJ|t=f7r>!ij{%DBV6o!_=LrR)6V_#LV9zXPaYYterr zJGHTX(qHp-+MxFgH)v6pYAF6{{kMs#Lg@oM5Z%E`g?$Omo1=?CG3<{lGA`?k7Za9V z-m-7NzpF_T%F{Ra)5wbvtSEB7*sgCdq6pM3vX!ViM%em(^|5TF?^m`Ic^L5qCXD{; zUbyT-Q{l&37j}d7un`UlzN?oNBSsa0!U#K2cZ{&}|JKT}&zWsRp0Uq=Dq_U_124F+ ztnvYu`49FQA*^&&@Rc2`#y$(EXBUIgov;^o#|}H6amfx&4rbDz^04FeHteVu+rsLK z9WeQEW;kZlf*p~#J9gOlm}}))=$UOto;4v}7qLUEaM1R5PWm12K&*BGtpko}1~R@c|282}xNA^eMs{==dPRjf^m(H*>0 z*b{KxOaVL2y4HV)36c_VhkQG~bGZwE_=qOWD9<>HpGYJBzMfa~egZNd4>``_PH}^u zqg?<}sOQ<1?lohqJFHuJlxOw%!R44DSft89qvo-F@BX)ZU0BQa@I8j?(6%F zb_Z7u6o$~{R>8+qTxP4F7lYX@3WP9;yJLr~_gEioRQ4z?uSaopnjL({T<#rHx)jB3 zA#TSi2M%d7eNf!s=L-8OT+^NcvKWkZC9||UZdm$`r>CmoICI^JF|p6#b5PxmT2-zi zs$^a>U&%EW_m%f%t+{xSmeX2}r)ar&%|#reJQvAG5L91!`4;@&rAzW2;w7avEP9P- z?Ebhm-Cpjv7TpS_Mr&tpb8)Kk=f=V(0UM~MBOpM z&g)#8Dtiye2~+K#$KqOHYu;Wr^y>XSOlxcSO>Z^udX2ynv-{V)e%KAXVz&lXy$73O zkgbEYv^#Ftda3o*jmjPQWY0R!$kQ=)qPx@ems`hz?%t`kk8^imp2A9F&nx`e)K(); z&DmGlh*3iB7+~qGF2`PTg~`-9rP*cbzjF$ROdxv%9mm+~PZXxn18G$9Qjcrgyh} zvoq_Np8K(}Ise4`#Dq(n5D`F5h)@t9BqSsxq(me_NrVz9N}?!HB$OaTB1EDnK}d-Z z&U;neU9Y>UdaCX6Nxj>1s_wn2*VSFs-}mZOy{hUP?rQd1n|EJ+M=kjq-#=c5e`8Y< zwb~d@qQ_e8!1TVlxZ=d+j8(2+?B;JX_MT0~ZhuaMJ3h`BhKZ*|*#9hJ7^a^T;eC%W zhT-nt6Jho|V;JT?Bf|TCi!lrzfd6AS0%;hQAP&RwIT4Pv8N=|Qc@ZAEmoW^h4~Ve# z5Mvm;6C!NFGh#ToEkgGZ#xOhzd0+_OZw#j)9m8Y4A;J@1V+_N&&x`QP^NeA5?kggE z;x8G)@cfTOIDZ9W7+%;X!e`(aFnsn|5kCJl#xT4H*I@YK4@LOW4;aJn<$n?3s}PUj z>;EpoH~y0`4Bz~z2;cfSV;H^-|HtshAdBHouN2|CZ)FU_U)&vi|`L`V+_MTT`s~uL*5v^|KB3~>rWWN@I#2h@NeH2;m1E>48wo?xd{LDJ;pHn z&+m)yGpI)l|9eJ+pFhMHhL_+uAXKV{MYv>vRWMw3qX@6Nj8!na{-+{b`G2f};Y~ji z;hLYY3WjU{QH1Nh%_kq8HW%qkcT{Xm3!{+?AZ-1}D|d=Q=m!^)RMIDU>*Fg$oh zgb#1B3WgI8i_kjEDj3#}ir_=tVCc+?(5tfwhCVzmhT%I!IQAOf_&s$h)#fUQZFy{Ub<=CMUr9!6b!#y2w_?aRkao$^R4m-hOx78W8y`_Uo%?u3419z2sQubPyUH%jw_`9 z2VLYhN7PBSbY`yP?&)XLV8K!TK*O6p--D0=x_q|qtFRIZ4 zW!()jZl5iknJc+_`r$OW5^0(10+=7&mT&zgN6C-KnLI=KiM2Ts`6y?v+3~v@EB=-@ z2%1~lvq8}J*M@;vaavq3DsS=_$;US3O)g00z3gvvo58T}**3zteKS1$M+ z4;6%pJSYQAOkIP$zL^Qxft2^ci{ez}s&2buzSp5P-vB#0=#+g=F^wV@jrD zmqE8|57)30uc=H^Dv3Yh4S1hC#;QIoj9u*d0hoRMV+5tzq%d-RxV60;^oK1pUgS$Q zrAF~tV^P^MGF2Vv5iL-bM3~m-c+Ku`TX|j*A4x_uB3e_M6h_VtgH15(ecs1TS9v-S zA-)7-Hob1MBi{SmJXC&fBQc~fO3IiniK-#QGuc=E-I5i)YIFd2MmhP;n1g~vf>X}}>CT_QSL+Gl;}e%D@)7R$>?BHDW67- z2cb3+eK2=cuzqGDRuTHNd1x%r>We6qt|D`~ND+_42Q1}-X_G{xQrUtKhQvny>~^rc zxFp7_XwOhqSGG))Dn=+pYk`)*k->(Vg+VCFV`&&9Gmt}FnIcglw1lIs*NV{Vp)cdL z=lu=nLXwfTED4gK4MfF2>llN+-uykSI}Ntz7eU1tbHNl??W zmq0LVPA4fqD(voIPbOVO@K}&_T7Xd_L6UJRy2SD~t1?)3w& zo%OgTsVJ9&-Qkwk2iS^CQtXD?YXp>Q!*XR@OeB=6v2?@&Hm64^jZSZ%d8cu7EGOCt zgf#Dk;LzNeKyxd2I&4sMf^lB+3mj$2Yi-B`B8#;qY7`n35P|j(nts`>uoBG{B6f>~ zpk72*7xN3`;kiKS+VEZSLAZfA2URSU559Mi$#Fl}6qTeQHzeQ#8KsT6nkz`=#brni zF@};#7oH(biKJ&conC7+0gYmDKJ6{Pd(<2BI;Xr4h)d02Q}gt*8Iq~o(D4{%rg=kQ zMrol`9$-ojJU*Tcq)~7m=8+cC<{{`6Wu>aPL|&?JBG0AfaNwbr8%$epOU^Z0C&Av= zKb}!Gkt3ojtSiy*;s8MGj>JMlQxOC9?_3((A7K8x3D;QNv^D62tN~dRyDgR)DVx zZQC_KJ0)F&L%k4GTdISHQwFFy%#dL1=IMU0w---bGtF2V9~-OJVXj(zBAl>RJ8}8p z%4-<@uB$NiM*i0&mA%-o@xRT78XG&Yw+*E-i|~{gHujypYlFcEF?J5+e9Z91eUa?N z@W;jQT=d8D6LR~bc$B-$EH@R&!89;-g+?w)KfZYH%F+9mSN66$9gN$%4t>Hf@fR;K zwozGco{S>Gcv@GO^+l=tQH<78)g(je=pvI0sUIx!MHM_Ie_2b z^7>>Z;s2uCQKrfc!O_KBB}D6H4zx~9PK6UPC0grH%lI}CAM_3ID9zzjMC(L!yQ}%r zF!t6E0r(bmXpQ9QnaIWHr|Hq(C>Q;mK3@S5mohvek1yr*gYWfHD;#g~d1N3CKaL5u z9&8S~Cq)cL5~DSJfw0bNS706M7wc61sJ;--te~F@M>xha@(*Uy@}oFZ*{{PNE@sfZ zlKFSxM83 z5{T#J#b*!=b=gljN39` zTw%boQ1DR+j=>L0gvhBVg_6XZ`PIp&kzPA{U*gme+}vYe-iz3 zB7z^Q?APE-(4Q>2Zu+xE!Xfg{8;etdy~0CE2zMt&aM|1==KWte}C_duPw!*#!@ z_!R${GVT~Kaln=VrS3;`ni!Br_di7#kW_EQMt=<}2!11Ue}wF0(RJ9@NH|3Pv@P-{ zORERoste?wW6}B!W$jO)_5KYU_Z0c_VGN$C>|=0TH5OgEIkQC^Vt>jK`;)5Oa~^;& z%HrP?VBwg#kQRTR+&9bO|A<~rvG||U%f)sNEN`{8_&-XqZ(fL2Xdb*5;SN990>EP1 z_*Z2w!rzn!=4#M#VuZLue$?&wQ9nROOvT7V*(1I&<_9e4w&ur^F+Y;)D-k|L?h|0& z2!E0jcZ&#qtg@%z9CIRBbd>~}bcd+lZ-@G+an&L!M?xj)Yw$*A!j^--WPZ?(ggz0Y zUbiZ^*vP*zEWAWMY`YNus_awncZ_^p@#XY@$S^WWIb^{;OBRf&EGTuqWI>)D@ke47 zz^pmw^^rXR3a$HZ2+=MXkkKztims}Ey@*5XPg-JsTpbN6TL6juJmaB{Q|za9O+fe* z+4gytf`6Rb5dA`baHQJ-+^OP|DR85N9CER!4=okaLXL~Bk^5$ii+1#K%DCt$y<9x*a}AWw zwg-HMG9cR3so==Rwhw<&@82mR__4~KfOFjQ1yo1H))+iWsynogTl#+MQ!3hV1br0R zR|rZjB-$S)_sv2(^->Ty1?>i}LX7sS;ceQY{WPLIu_0Npb^NsVuRjI~^iD zQRF1dHAxOJZt3N%PwiK{yd}n^O>MzyvDikO|g)Ty+Gq zY!hUgkY^lcK$(!*ZWrlRWc$Z%6kl#yoGQM)LC^|0pELzA2dI!k4p@70)xK}p4#;+(2H3T=h#pOFKyC#oHg_#{J8%=!1O8+` z_^^oJ$13|YoN3=+J6(K3OQ08X$OBuC?s&-qe3hoQpayBSJlHnyAZiVYY!AHx9#BQE zv<8v~RLmg{to^%czo4AiAlrjHvzmL92lR^*z@;K{0CfTWWLq#NBKWZ?*7*`shZbGm z45$(gk#FhOof<2Vk1x>F0^~t{S4DoL{C6SpsYXvLet~={;STv@mOkEcPQOrJCgkVo z2X7JNlkf9HU4TNP-)>HSJQk!BU#t5KQVv;Q=>;xX;En|yJqvb38}Ra3K(&0T9Uv^A zQVv;Q>nl#|11DBBo(IJ^YQ7JhPjeyX`xxfuC_7!bTJ?)QQrmv;Nx}lnchGi3n{c~O z8l*4qU>Jj^D*FN)$+(cQ8nkW02x*7xu=O98?BH+LWGUrg$0OP7*b!~TD`y974N`4} zh8)#&8;5kVL%du1k4wCZ*Jo-C^5A_lh4)DP7kQlYW#FAE@RYhoywhZdc(?Txm(~vl zyb14lte*{nclz}qzAJz9En=<}i@PIYPV2{54O;a-LfRoaY(2;&JDjm&J)0d-;{Z0p zZe|B<4N{GTh87@{mOZElk*5W@Ea^c6CyLECzaly}GwTmN&(5dMZu)>R&cv_~-{Y(a|Lez;%=Z4**0h?XH#-Wfy2 z4%qss_o?gHejDI2$~Qq*wqHo!gkhz;;+w!RGW?~GA1|i87}D;7#82ww;QfKjLkzdHu!idT(d=G4kxg z1n5o|U)uoag&cCg*7IF*z!?V~)N&wf0=T76+!<3Zn*&tEr7 z&N%QPEe9szhM>rnP@dJNiFP0?{)mPkA?1(-ww~*f1`^gGuNsNWtb$3^A1Xr3LJj>SBHdrLoZxvo^aLeq$7o^_@7$GBe{EOw9fdI5)hp)qf_ zt~6BWiDHw_su`0V;@#FaykA`#RL<*`dLGwN+S)rS1n-T_rr-72E4?FrtKS>+)`Oj6 z`-}?}LHuFuFa}Rm_D67x_5R{uL{;c`VRMN?uGspD%f11B&!)Da2C24OSXnVhdnuXa5Uxte1;pl$vCmn>tkcVUpQn{XnX11SOECRH9$)uf*-5w1vtlT zg}w@A#_Mc#RSXz~Y{(LH*e=-mk;}QK{A~(as9(0qGr#VGX+A9V{Zrw95hX>D`^|Rq z>yl8{RfB3dg}g8dJLHD7e_3rS%5R*={zVO#V{0=lrMZFMr6;5)GAHbOYe`Ndif<%? zD&>v^QZQwwb=;cP4XNlWQ&5y6jD_7t3{ zr9_IZ#eO>7A?htX%Jpd#_2w;_uorVzuOUM!fG$J#QV#``#luz^3!{T#(Q4dT^3t2)DL_}r#nQvrC+%0 zv5Mx|G^UxS$NGU7@r_NdbrJ_8c$XFLP-Oc(7wVHmS9`3Qbcd+7_3)P8A>^<(p+3)g z$VG{I0Q}-$+3T!x=N3#BC^G76yoRVHKNrT}sTzKPGaRWzuG6AxaIceai2Ty0%im54 z(XXmc_fP`)T(QAYc)uO*nZt2X+`eospDr>$Qw6G>pC#y!50*aN`jk3$iQh3BHFmio zfX482A?G+eOzxXC$ANw;j>su|FnrrBp5t&8ly4@yCnp#`)V}l5P58(8^D>UH_p_D$ za1h`G-yJdU8GHBmlVdp(B7z^QYzXJoRFTOf25pK%gj;)N)tygD&#dgz*5EDLB78w0 z9OiO?w)5Bh7R*@KDfSL0G}MJe`(gNB^sBN@!=D1}hT@YhE{A@mm^&WSZGE#-Di2Cc zFL{th(;pN(Sm=A+j#%sXmJsF=`(qLC;ap|7f=6Iq7FnA39POzDhxoSi!cLVtJn(lW zj1_fu8jfPv>iPK)-+s5fI2a7QKGFAhlOp$Pt#)`2kk%D{W^y8ORE-jH$N^jLY+cpy zINNuWHNQlx>I-SjKS=INtaN3@GM!OP

    Y(FatWa=HHNm0}a7}9iiW^M$*Dh>i1hk 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 Oq7$n>Q{t5)|NjAMGl9(j diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winusb.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_winusb.a deleted file mode 100644 index 7e2cd8775334b1b4818eecd0d350ed4fe4142a68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32456 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wlanapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wlanapi.a deleted file mode 100644 index dd0d898d45fdda915ff98f30fbbfb30affeb26bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54580 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 Hu2}ys_l9Vi diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wlanui.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wlanui.a deleted file mode 100644 index 1e9ead8061e1ddc58238e2025c0504ed02e58e44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4048 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 OxYA__Z!P_3+5UefLT6V1 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wmip.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wmip.a deleted file mode 100644 index 1acabc325c942d0768a678dcf30b47550e082b56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37708 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 F{$K5{dUXH* diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wofutil.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wofutil.a deleted file mode 100644 index d5c38d21b9b497ffeda35c1197f3d5d3de0c951c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10518 zcmeI2TW{Mo6o8NA+-hW36l>RQn2L3M8a&xaWM?P_Z@Cl&0&G~DW)H&@C6;HczQLB$ ztms293o5yv`Q+)Gp9^d&3fa29ZdA#-q z0L2^6dHm=Z07dg>9zS^qK=F2!qT}p1&f&o851enk!0S6Z-MZ&I_B(FRcd*d6tG3hf zPbiAg$KA#-@LP`SpjO)h$7yREHF}=*-5QzY-yz0ILdFc2VQ#Jq?W^RyNVeil~xf2 zn#CkinQ$bL^dj;{RM=0_ODd-_n!{C=(i&c6y}VY5f80vy>+W{EnF!ytJoy;|tG$uZ@9aStW}t zkg-<0%DpAiJT4sMR#}IhB7f)(VbIsc8kT;B@&|%Zx|si;6_2bgjr=Cw>__Ro5LhzQKY!tIV%+!RAD8h^R;^n9G>p6OaaVP-3Z&k00(L(nky3pIi z$j6v|%Q=tB#hJX!(VW`3W%i#Kx3)7f9`67`#xJm&;~4*5V&hdZej?rXGR9lUdK%+r z$$HUbzK8RemGLWrad|6%)#sY?52yneV$N|R7X<^JU|w)8ce_@S{dHXTx^UWUTugd3 zBk2okP7}w0kM;r)>62LVH9@+xgPm*2C$Q#Hmo>;W+3XmvWMjOdTl0m-aw}r|UF1Kj zHD48sM+XX6m)`XA>akqMXQvQb@@R8~r3M6;3QHb!Sv{&jGd?1j9p83FzBi@a>cS%z zKJI_wdqwaa9uyKA^UU`(>HvnAZ;KbO)PO!-1>a$pHM~{9?C9RgM0dq1YjppHuj_HX z_z#i~`zn3$hIHS{eDPkgp5}``N!E+#{t#y{tMy(cx|0vI=bG}Hg6Wv@T~R_81D;_@ zlqYvR<8l8CccGh^$hWtv3-WR1_yW*L=Ne=81asTjE^Po^?m6c3E|3l4P^+We+v?d%vUGN= zm$I>5(OF-dzQm_5li2edv9A2n#(Z=BzMwkhJlg)C#DFuwxzc6TZ%Gi%j_{0ML@SH) j7n;a4k7bhcMIgeZe>9?Y=h>2HJ%5q9tn#f1rltE|a|Ll+ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wow32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wow32.a deleted file mode 100644 index 0b0c43171835019008c2b64446664ae0a41cfa83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23790 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ws2_32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_ws2_32.a deleted file mode 100644 index 55cc1be967777535c6dbb9040505c62691e83805..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144046 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 oYWbokJP*1_3f)+3ii~b-cisf3?{Df0n~@1poj5 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wscapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wscapi.a deleted file mode 100644 index 8394bdf4e3b46b4a6e1a15fd8cc8991beb75f68f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32176 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 L;nN5Xj{E-u3g+9l diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wsdapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wsdapi.a deleted file mode 100644 index 51e05419017cf6a9790b870f6c5fd8da5ea63888..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33720 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wsmsvc.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_wsmsvc.a deleted file mode 100644 index 2b0490cee39b88fa28cf851f95b1fb8cbff0dce6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120984 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%0DlxjuSCIYnI2lNfQzH{Al&IiXM26LzpKG6)n1Q^ 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 Mw8BL9Z=CM`1JYD0D*ylh diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xaudio2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xaudio2.a deleted file mode 100644 index 04a0a068540a71229904f2b18a63eaf6e007a379..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7226 zcmeI0-HO{r6vvO{-R{ODZJ;3^r7bF?cg2;xw(P(XHf%{LY)dHZVoK>)8*6JN+7E2) zW(lF}MQ?JKXXz8So;@X^R|qYe*h?6`&-8Af1wQH$LBKM zd;&o6PKTlpyF&at3B=3934M=*`g%h|U9Ua(560Nw`z1W1G>@sj%2PTi>wuyW=Q{f;f6k{Y$N-CROhS@#C`? z+a4Di6|(b(om7%t%My3He-fV^h2N8>b{eBfTfK4TkKuVZIM}a?w)Mu*>fC)(?!hYP z9R_g3>rGA3Ug-k_3EPokIIuYhJR?x=zZHwf`2hwzl%L`sihvP2$6x0XA8ZcSvhJ?d}Hu z8-Ux20GdS`t*PG34V|XntWV3NOUvW=RWxh>rL>MW*gw~}RD|O`Z{{e+z)Zkl(my+X zDlJSBn4Vq|>+D_0I{BA;ngw&ekpDSHKZ{e2DW~-Z@Q_oPIPek+3wVsp@eEYYQeGQF z4}&ik$jqJGZyP)L1`p^0r-lv(wzaW|)~~Sskz$mxcepn6&P$$eU}wJ={X(|mkL=`a z)b#8+y*8-5ZPXmwbv{;epgm$oX_N^w_w}1E>FU+1%tq9YoI{ut>W9bzxPnpom#)oH zZdK&>doZ7Xyt{)Ul|4kglv7K#bEg&_^$6cQKKc)GJ<$CWXrPksn|uvG>sDH-%0ig~ zrhroOl`No$W4jJG2F^qNx5=@0<*i&8>7RPv_Amgn@Zts49 z^FE95pA0sZ$@p(Zztb4++jTj{2X>ui{07cpQO4Ia z0p^oE1W`okn-puFKK=#IDnH(>c8; z-DS{UBXDn9U8>W!%#7;KnP-_e(8Yq#Lsc*v*9&8~UXbB?__2gTb_)3u=XDmtzZ!GD zOok7Qey1^fYS-l$es0%khCjjiD$1~<7#{ylMsvT)Os52AOy8#=so=mRmK4+DL$`j_ z8~?<(Fy?DTnSX!srpc4&>u-{pc{+I(WxixGpMBz8Y2H60=U~Wq-2RkoH#ol=A)zepl1}HfM0i)4tNA-%(s=r0WMH);Mr(C4CCzTs1G@{{xMX BPMiP$ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xaudio2_8.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xaudio2_8.a deleted file mode 100644 index 52d46423bb37e2e02a5471fa200edadda53a2f42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6434 zcmeI0?`zve7{?#W$BfC&SM#fkngEF=f#@I!!m0GJ32V2Rq z(if%l?Vx|d{*JvU`&0IZtb3m4e&}qSZI!qN!_Me*dhY8x-E*INbkb*cqv6B;PVGy7 zJTgc@lfmyda?K|If+gafyN~4gd$D4bSUdZbk<7-P0@9DK#i?hWH8i+3AMY&AJP6%PBs*4M1PcamgDlqOH;4y4vmqt$y+`tU5p zwkO3_h3x#B11-s~Wr@3eFi6ji^lEss-XA#V3^eh28d}S zG=d-uk&dw0HYDs<-a!}uKB)k_&!zQBJ&P|gE>F*V2oCGLD2t{`xMmlESM}~_G)D%{ zNS9E9w_94fhJ`h}FFSF2Qn#(`q`NX**Vel0Sh(uY>3YSJ=+t{@ipKg;lE$j?-`4<- zDo4>{ZBTaGSJZTMqJ5Ite)6ViEFV>;X)OQHn5z}a$CL6Q`(_=hW@y+iH2c*G1_MXZ zt&_%sdzdd|?bnFc{u}Vx-nvuZHAFwtd=eq{9I(ley+vM|y1ScvHvqR312m5=UbWsn zTROwPU9Zce)8)zYRWxh><+PGF*gw~}REFd}2WFIGVk+P$>z|!GmKJ6SY)>zVcJ{8M zo%~Ba&66E5J<-&&k=Ms4z_cwF$=rC}mQQ-$ zKdkLnHh5eYI6d^3cdd^rX#E1~?<-E}^cL5LiNECi7IyZN)i306e=MGNP}6hk%=)1A z?xN2APM?JgSvud)R;Q;56eP9u>OtQOHzq80r-MRwV=Wd-Ln`XEy*=wNpwbm|} zIlvf!=T#*97T!0doN)6nMym(smYu%ITGjQy#yc;>^#Z{0EDUWm5i& z)$c6I`)*x<@}XO2D8GrbSeEjtp*(*{qiDFQgnx+lPAMlmkOs~@$nb0k&xbq#xLtAi z7jF~AnoWc53X;#0S-K=Bi| z&QSa@&RAKBD~jUDuU|C#t4y_KIHwvvnVRImb1W;WCx`C*#y9!laDmhZC8_TeWB31i tliP;+H`$wjO}+elyVA6Oq{z-`H$ekyJh+&k-F&eg3+KELtg6d1{vSG<(|P~^ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xinput.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xinput.a deleted file mode 100644 index 46ee0c7c68afbbd9cf99690b4c0dd4715175ba5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8078 zcmeI1?{C{g7{{MD?OMthzouzGg#s#X5DH0}IH@#EVckH5fhui76+*a9;}Fv{i4u3T z2*D(fK;q5*0{)i0+8@LVUhsnPJa=dNaqpa1YZfVD7y0h;+}C%$^XDF)&+lAwM+e>O zYabSppX$1F-%CSpF1XwJnbqn*elNT9?PG7XavZ z{cm|(`3HcGH~x~x`eT6g$Bwh@IQPchXzc8Ifj4rt2W`*!-tW6Z-$A2qH*BZpx9CvT z6Td$^4jk7((UAv^)Aii;(^mt|-VRlG#|!QRZs0W=Sfzh7bPRT>{3J!m?UC{`?{plD z28Uj=TuD}p@?>Fj&bB*rTYk?Ed~a+zO)HPiyx|5oh^IUK&R}%p2L7OLIzL4f)$-AC z+aKKY?)wMcPJ7&}l(Y*sDCF6<`fjV|HLJ-pV(ZOb?{nAZSH&#Q9`p}dL2(e$nMP%~ zRI+U()vi<{DsSfyHVo@IfR{yXIadt4lR)ItqXLxni)}Y>(6XwZe_dplq3-n(0Ns>OD%hsI*Z?|G{5 z-zNay<~r_SXi#=OR#bKVO#LL|<7B02*cj#0G;DmR&-on1$)LtijLk9@P0)yOp}U{Y zT}oD>{)M%Z#)6MAKEK})tah`rTHoB%ShaDC>0S~YeEfyU5IsXyD`9h&#nk{@RrjCn zp^4Q{&r_z0*yrV8o^)aUYOfN~6i2tJv5#tX+t`eZq@3P}4Q* zqM1SUT|>>tth2FL1YB%EQ)!e5lft7X@6o@94`Un67x^3xS2I*btWaCT7QhR5$T6n> zJg3bI-QNR$0t)XAid8X6)Ji_I#GX5}h@K}17k#8_kTZhLr$C*RgkKT=aitkqipoNX z1p|x?3$?Tb+Lwrkng zZqzit{Q!ZO=C}8hFQa6he!Iomo#eNBW}W7@@0)dz-zMMHR2pJc2D9H@j@gc03Q51n zzWXiJ?W+vY2Wu5om(UVQ{?EB0k&eOAh$J(9b*#omq z^XxyFbrJ7$zq9h5k9pVk-2@$ryMo!k>!%QNj~l{Ku;35O$K31PH_@M_n%x|zWSRr^ z)|R%q`4zdCHV3|D?96ixbXdES=D^Ub)8@brW?eJ~-o$&Gbq-kZ97ygQV;zgU!YSbO zQ;7M$Aq^t7;1^6|{*ztLxUD|JH`a1C?rpwLDfb6XkcDa7?=oKI$^BQX-AUZH%{qPy4l5xz8!?<@b-pX8p1vJ7)cTWue3Z+G16#$De!nGM-sy=gUjkn6ByT8CnZW zWBN8@VV+EX$=aR7G+%EqoyK&^`Y2+W#vv=y0P2gKxa*6%c9Gv*xbJ=!dlUu>4lwJm OkCW=7aKdt4j{gHaW#oha diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xinput9_1_0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xinput9_1_0.a deleted file mode 100644 index 93bb330bb167f8575ea503924e47dd942e66e2e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5738 zcmeHLPfrs;6n||&uz_gQ7!Jl%qlpJox20@LLP!lH1Vuvx3@3*zyV#YbH0>5Scp%23 z2fP?hegKaiJo731IO2OVv%6Dv`o~ZqM5mcQee>HlJ8ypP&FtKnu^OAz+4Q4Kd&*7a zO#B%|Gm|lRms(~rg+f6-u#pCUF@PjiL*D^Leu|v_0YG{Dv&dJ!0Z_jFl`>;1v5V#uKQBr60SMG ztpvao-WpD1eP`e2?aoC8jE$^q`BrBL?lq&js% zKfzQxk%wt9ij7j8Fp7O>&Zz{I?Md2@+h!QMx?s3nX!TPGvP?V$+6j|{r&tciK`z+SeT44)nL-bKpC-uHZY_muwm(HD-u+j(GqF2VAC_ zd=TIXFGZ1rPuLjHMs&)ZOzw)@N16tvf^d|cQJuDVo;K1;i4i`rcgRE9+KH9w%8_Ig z^F!=km0YDN^Y@~97=>vC3OLv+Wn74&e_K>9A*QOwg+4<1W)RcR<4o-4=^B=0iIF0# zGDpYv>EGdDBtvUK`)Pvu_}K_+Vi~|?%)-X>Uu~&&rr}cY_z&ui$fG?-)^aP+jPNOC zmy^Dy#Q!#~^EuKx2;ZRRDbeVH>o@s-0Ma8QSt+3^2|kvZgHoph)Ibhwvwl>Jz#Ce8QZLpJ@(|1HF7=UE$JM`b0$;x0_FRdR)vW_Vl>WCnj*6 z`}K)L!)GpXybtbYBA(N37^EarvB{JxL3#Dr JCK&{me*-k1d@cY0 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xinputuap.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xinputuap.a deleted file mode 100644 index 9976a4bcc171c2a5eefc5c45222d0ed3deea454c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8110 zcmeI1e{b7F7{{MD?OMthFjZ_C6AGyNXF|crQYVw9DO-miP*AnCs6q(WSsY@TCQ;&U z-87*IA;dqRy$D{&UJS2;@jUm#ckW#hOU)uh>>}Se&wYL8JAaW)J2{Z1IP&eRh4`weRLK^Q-XgE*|$u+`{j;9Klm`NbHeZcmh7hfhZFuzwiV zOXYOKC{I@=$7}_Ipc!?eI0{F$!;Jdm$h$#|Q~9LPYxjpoK^*maw&TaBl2+~N z@KN+IY_vx8vTK~UMZu5$ycaaPVZD+*LRs&1yWa$nepZ?VT8}&JW?bw`M#r&Pa$V0u zUcGWPVRJio4)H{?ascnLz2#gn4o?u$iKzhYL9rFY!9*269o(12=4doU2G2<>@5mkj>39R!z{bd7-PH&tZ76 zB-uJ?9B5!ZljyU?cG!K;V!OxKeL(XRnBS+dv2Ygu-O!J6@USujA?(Z;LP z>!qek_}A;@KI!EC>GC`pR)BKy#|bKrhK$5W!ga?U?s|8eD+Sc<|zg#$y(Elaj> zOSu^=99i^dbbD{;#@Xj!+E+ibru&?rTduh|1OE%U<&aN5sHE&?e=JgTZ)T&rrk)eG zb3B?nMkLd0+5$yg8KX5}nduViEWrnyde!}>Cgcmk>`^JS*{eMZEbYj`6X$>zEBZe@cq{uegEb4*Z3sBHtXojsJ0~S$aV^n-{oc z_1=1KndTECOXZ`pMQ z`8~TXA)nshW+gu-$md^07Mu2U!M39Py0B2;Ko4_4yZQ*EFXuJuEaSPGjp|KvRYNO+ zX;g1(G|ZFg@3ej=QLV4KG@U{9m{n3jHO)g-ssY58Ja*j|cLl@0#pv<-6C9CD4zzLC P*FIW`kHsm=*-8En@+$D( diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xmllite.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xmllite.a deleted file mode 100644 index b65232dc139320789b638afce70c2045c84ef6b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6896 zcmeHM&2G~`5S}@?c8@I8Vrj_FY2M#?U z!Knw12ysF@1P6{h0gr%q3Sef|Yp;J2J4ygmbStknv!8d@^=!9i-nTv5HJ5i=w)x!YT6>O(M#oq*%#O28hi`qc)9E;#ZCWOxc5E=s zwr#aW7zfN{*S0+S@lI#e#gW~6``+HZx9WK9o867wmebw3ixV{~2F~T|?BSYo<1>+T zzxS=Jp+=8f6Puw~srFeV_XOw%=rh~B(@ne4YArED7CdX*V9EK%j$9HOKkY8X5~&AT z8?L?Xm3Aeo`?0xFE*l0i+^ALpHm?*;Afb_)1%Pwhnk|~>7IK?$-c#8dVhFf`f+~&Z7a4gIT*!0@_-ECoECc!`8 zI(t`eo%~Ba4U4*0h&3nJ&tS=8I+OkYZgDLt4PIko3?X%dcT^l^}mOX%ZGIxf)1 zJU;Kd`k2VphshuhUXn$FPuR@Xh;+p;uTarzMt#K#wX%>)D+ayzatUJz z?Za7Gd8lygZ))YKGVdU*sIgALCA88fHU(O_fX_XzR*G@0;I*^^AJw=qhij)2YC@`n ztQvS&$2F1m!YTr*=oufstGW2ySO~x09Op{Gn|8qOVR9ucZs&XM?Lu_ahxe#4%9JBrc}sOhm7<`TOk!+51~R@ z5rurrqY&weAyg8*WPC~~=TgdXo+KW!NWYSCWSBe&;!44x|DQZ5{Cpq(CyUxMD!+dN Dg{+oo diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xolehlp.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xolehlp.a deleted file mode 100644 index 7e0af573e08612584a489c7d86993f143214e145..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5850 zcmeHLK~EDw6n?uc78{5pdhlR$N$_Us7RnY9LW%|PP$LJ89!$0i-O`oPHtiZ44u%+F z^u|x(hj{kv!5B~CdvCV81KsUbs1hQtnVH=;-^}d3`R1G1PA^&Qt=e+>p?1=;^H~Fb zdfw19ovY+r({hVBuR%Et022V}EI{%LKP65k#n(e2}#N4GAxO~sF=n$qQ%cG;Bn!Z81>go>jVT$|?z(&(ooS$#GZo9Vq9I&U0R1Sl z+3CcV94G2FajI{E$uUx+Fj9OHQ5Y#U^u7s&@{{JpkK;0iRRb^_ z6Po#iLQ(0rUhjlaVIA`k=tG*ATKfa0=I7@7m}+2@r}%-B7tK`ES7EoXAg0nPBBNOh zV=7mk$|Ri6{8JFVC0v-Fd^CqC&S?#&I6jknH4KkyEZzu5V@^QTt-WpR2oEy}E`aMC zUBPvVFU2%4Su4ad_pzVBJswj@>kr^D=OR<#GhU2f+d9Xd=k1-mHaa?5PArf(70>G^ zyt#+2be`+TT-gUv(++IUMYbG%f^ce?r9<5aWj9 z{Ix;-Eg|N8IL^Row!4@YJdEeULOVLXPj`ohfe)hvQM)glI|OrRTw)r)bxb1ObT41Y zF{hyu{rV5`Zpdm69&3}Ssydomhb@O_%^0jMA0S@k?r zsPGZ<$iv65$F6f9{Ag!j_Rn3hpXNmnH~dUAYW61vuz!U)LM!CIWdCp<4WncK?6B+) zzV)uO-(MwX(tdRS`)MVTW?okIYxDwWf%ZQV4$f6Lz;b~0$9;OPbw_Y^@|8b39QTdI zg}!so0m^0Ex#zWzR94o1dG4u7;|@Caw8C+H=bpWAoX`C`IHv^<6HIpaxkriQe(_TC z{+{>Z0q+YzDDcfb;9Vr|hxxN+bc(MJ%liJ){uS$I&cu3%Wc}qY`m^4NTj^nz_l3Om$7-<;ym=vNn2GK+5Z5VdsUqsSRZ!B^;cGru%bch_Ol5=Gr zh2bqQ`VL%x315{GEN>NM`Mq?L^ToJw5(jQG9al+kyxp|50+)<`ZGNeLuC@1e_gk$G z2OoD^&4W+-ExX=m5ZS$8;49#-YoZgQ=ba`271w#gGUko70Mj|kq+v9^%ruO~6~5mz z&@P(dQ}VRILw~?Xj-Uk7c(yo+x=UsUCPRnZu0L;}KUVOTv@etc>YVV*eh V5&&fxLJ8OZb}au9S$n4Be**=pjyV7T diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xpsprint.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_xpsprint.a deleted file mode 100644 index 3101fb6cef87c4ff5c88d28e0f5d612da4b15940..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3296 zcmeHJ&ubGw6n>kurVSN6h^Tm2L2nXwW4eh@Bv3&uL4vK&lar0vG)tQwWLH|jgLg0e zllo^#57zhI?CegG-KLsU5PTtTX5V}}v-8dOX6DhBJO0#rS$t+rn!RZ|__L~xX-Z05ddxg7&`#@9{`2B^1pr#uzoJYwh$izZyboG7kXo{J?wbm*dMqfUtrL8 zYK}Pa+w_m3C!=6A_6MPG1;Y9s2+{N0&LSOw*bUurxIYS-)bq};U9VW!uiqbu^rmUN zT`$+NUf?$9xcy;R8pcFsF=$(s;~=X}868`z*f5Ylw1)=3Ev~H^rO-PGxt{Gzuv(># z8@kyLZmENHR%!>q92k5foKGD-t|;sZR#x!4bmRUcZd1hxx0a2oD%@?XY^2~+`+jq` z`Tp&@z0#{jgJPwwf8<4tKQ90djIMjA0#RJ&in`8E^-nOJr(70B<0zkn(fFY`=MD0c z7IDbjtYXt880LjmKX2Te>?C?py%Qz}Z_qCzr%0{6-%xAyd38pu4zf(EN&3)NfI}(n z8r51>!`&&jyI`K=KCZ_Kf@|$PW&tRovDk=W}UbB}j2j8)>jGcaw zb0Ru$ij*CJg=WhXnY)))UufA;;3<8@#i64yEj!jQ`V`yuB9&5cjoA_Jy~KS52m7dv z3(1~8v6t5n(@V$2*+KnnA!eM8bFi6>R8x;IQ3wn3?BWSMot`E!yhp(F*(>!zW0Ah_ zR)K%XF+JA8SFUA7+G5`Po diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/src/lib.rs b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/src/lib.rs deleted file mode 100644 index 3b7f827d8..000000000 --- a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/src/lib.rs +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright © 2016 winapi-rs developers -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -#![no_std] diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/.cargo-checksum.json b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/.cargo-checksum.json deleted file mode 100644 index 10b185202..000000000 --- a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"a88605a11db5def9b6cf73398e83b3edb72228cb43ea935729fac5cd33cec22c","build.rs":"b4ab421e1dc98159dd4440813cdaf7d9ea98278324bc6118d0f7cf378933f371","lib/libwinapi_aclui.a":"276ddeb3f36f3bce5c1b65d6244c5d814ea6212a443023fd9f1755b815ab0183","lib/libwinapi_activeds.a":"f2a3162aafe48121cdd8f10092a5eec4ec1facba87f7a543e90f2fa79b8d5aa0","lib/libwinapi_advapi32.a":"61cea4489a1fd706ef7d8e67b836fd77b2d9d39167edba3a51fe4b0a3ead5640","lib/libwinapi_advpack.a":"d448fd3029b9bf1fed6da3259053abecc7481fe21392fd5218b61495e1bfa1bb","lib/libwinapi_amsi.a":"7549daec74980b0b0f5d9bd1b4f314433dc0ce0a170128a0c1aae6fc2526193d","lib/libwinapi_api-ms-win-net-isolation-l1-1-0.a":"1fe5ca42932d19191127555040e4ad2aa59636f9c17f9f3a3afaa1438cf9fdb3","lib/libwinapi_appmgmts.a":"7a4747e1d307d3b8bd50b1d0611c4f0454cf30bebee6de2bbd3e9bf3f66fcb2b","lib/libwinapi_appnotify.a":"b1a62c3d0a87866aded8f4bc3dd31cf52972a91f5c4bdb966f7b8a2432a50443","lib/libwinapi_audioeng.a":"73b5de7d57738e4067ceefea0cf654ae05e50a59d044461ccd5c79eb7feb6532","lib/libwinapi_authz.a":"adfe67282df67cd3a52d81407a98cc1ce8466d6b67bafa3a884b688b5624045d","lib/libwinapi_avifil32.a":"d80ede7f93091fe3670019291695183142eca029c4b2359b9b1d760803682554","lib/libwinapi_avrt.a":"246c2c6892823de74fb0dfc1ef889798d01e28f110498723a1b33120fa393d72","lib/libwinapi_basesrv.a":"73044d5e44b30581e91d6f3341ee98f99f0ed77d577a4210aa0e9f097e5f68b9","lib/libwinapi_bcrypt.a":"0c19e9a1b649b7226b6954948060edcdf4e4052e0f9e56c218a52b5d36014a99","lib/libwinapi_bluetoothapis.a":"f9178dc2281ca623497f7f83280c3a4d150fb8a55cf7d9efb0bc5c7d41d01ac2","lib/libwinapi_bthprops.a":"dd2aec07378487dc47ff1640b0c91458c90fd8991847c5bde3c97b2bedb801ef","lib/libwinapi_cabinet.a":"6ceb101c96c4bdc62be7362f45c62e9cf1469d5d81bd1bc282b2284b55855582","lib/libwinapi_certadm.a":"d3302510a8197ab0c513101c10cb92dc004f64c039843047bd382f96eb7edf6b","lib/libwinapi_certpoleng.a":"5081b94579847f972dd9549570ff12b78aef42ca10f90981d3de886fa7f0cafa","lib/libwinapi_cfgmgr32.a":"3b18b12d0bbe4e5bc3ef7683beb3fda64b32f459f8dbc78f44a40233e694b2be","lib/libwinapi_chakrart.a":"f1936dfcbd3357255735ca59df3c076a55a676abb9f1a883e0500fef36f26842","lib/libwinapi_cldapi.a":"985226ad1768a637d0ed6b4b868617033d655f1bcac8a0d6e0fd43e3c7f4977d","lib/libwinapi_clfsw32.a":"14a16bacc58aedd81521aa1b2902814cbe335b148662a58f859c520470ed7626","lib/libwinapi_clusapi.a":"dd4f925f888246934353bc109df338f545e5e79e7114fcd7d4b5ba98d39f7f83","lib/libwinapi_comctl32.a":"21b6ebe43ffe405d6be881741423d04e1b5d76c264fea3a131652be307ce17e6","lib/libwinapi_comdlg32.a":"62009b40ffcf2fcc5c4ba0f43922c6c386ccdc42db09c7fa598fe72330a44f1b","lib/libwinapi_comppkgsup.a":"fbea5db62858b6abe5411c9ef5f1ca87876807bb18d10db2cdccca4d0f8989db","lib/libwinapi_compstui.a":"71c05683ff02d0d1963ac72e9e22a1c21e72dc3e8465bd5d6f0d01fea2237b3f","lib/libwinapi_comsvcs.a":"a685111c8104c2c4c4dc20475c3c30e6d1e1ece855b2d35631a3ffe42ed8b2b3","lib/libwinapi_coremessaging.a":"467d27a2c2f3268ae91d37e825d3d54cea24212265c7b6011b3b38002074d459","lib/libwinapi_credui.a":"b965b731004fafe74539c0c9c4f8966ffdf856bf24b5dd584a5e9fe6e0dee7fa","lib/libwinapi_crypt32.a":"d12a2c398e5fa6fb366f768ab11d2e0b5e06ac3c0a5237dc822f291d2ca2e540","lib/libwinapi_cryptdll.a":"29d24bd4ee508988ff5839ded74e41b1849fb24383b45efb308eab935979888c","lib/libwinapi_cryptnet.a":"292ed55e95c5487af424aaf81c8b66f6f007fd3adbef2b85e66e687d1ab4628e","lib/libwinapi_cryptui.a":"c8dd855f6c16395b122eea8f1144e52837e49fc7887fdfe86cd29cbd34133f3b","lib/libwinapi_cryptxml.a":"0454ab761f153936ee26ea36013bdf0612c9b44449d617ee0bffd7b5ec9006b3","lib/libwinapi_cscapi.a":"b0cf26d0ee575dfdb761244e9e0b1b5255a8a56716c2eb01d4a0428709eff88e","lib/libwinapi_cscdll.a":"faa2988a37bf527a964c1772901de933660824bfd13fbe428a0eaa3a5f7cfb4a","lib/libwinapi_d2d1.a":"542b8de881286d507bf96791b68fa94a9529734e891e78dd839aeafc77373fb6","lib/libwinapi_d3d10.a":"287e4ab2b679444dae0254f047a7d2ac326d4110e72a603c0223ccb1a6b97ad9","lib/libwinapi_d3d10_1.a":"95141cf53dce108d49e60728740fa9f32be925bb3f5c07fea1b3e134870d090a","lib/libwinapi_d3d11.a":"792513e2b6829c7a003c24612b8c6440d90fc3dafea80cc0bf4782c0050131df","lib/libwinapi_d3d12.a":"d86f53d148ba6f7fc35518706ea9e8bafc63c39e9ab6bb65790ed1f413bbfaf5","lib/libwinapi_d3d9.a":"e9ddfdb0f0962d18fe6dccc1d6d5d6d1fd2cdcd9b3f070b98af23e6bafc66670","lib/libwinapi_d3dcompiler.a":"a945ee212af78ce62089be910300d251e3b29c52daabe7a5588e5ef87b3c01b4","lib/libwinapi_d3dcsx.a":"60f643b18f4f918c417f4f7258ee4c0dc4a359152952e0d98dd9de344b0d7480","lib/libwinapi_d3dcsxd.a":"062715028b50b17bed4fa0d7c5258f813b19fe09155f9fb3589e55b6c587fb01","lib/libwinapi_davclnt.a":"a050ad2a4c81336bbddc606e4be755c69ffea0dc37aeca118f03155b18d1fbec","lib/libwinapi_dbgeng.a":"4ea8c7e5caf3f437636c7c30df9760d7778646e482047afeed952de0f0c57398","lib/libwinapi_dbghelp.a":"430c90a39ebca43ef942d1794b542df388d0efb7b83793ec5f992feba2af3bed","lib/libwinapi_dciman32.a":"d0d4e849fb3ddc991a7e85d48089860a04d38365d7eb3e78c21fa1a4b386bc13","lib/libwinapi_dcomp.a":"d3c9ca747f96c899880b33b6bd58e3ad288f6e0c069d8cc97429178d841d9555","lib/libwinapi_ddraw.a":"dce5230d762bbd5e9ee997965187219893136cd7c0c800333284b3ad1c317ae5","lib/libwinapi_deviceaccess.a":"7f6ec4878c7d5294c28f9254258596b98722ac859618883a80817c4d7057740d","lib/libwinapi_devmgr.a":"0faf91b6fbdd85be3403477dfed36072ed0525543d4b8d9ed6a7b68a1f7fbb77","lib/libwinapi_dflayout.a":"82690fd574097cc7717707c3b6ed30317f326a906acde16004430265d1985d81","lib/libwinapi_dhcpcsvc.a":"20b578bc8abafd130d53145608d1daccf4c128fd7fba4cc58d815a1dfc2b1ac6","lib/libwinapi_dhcpcsvc6.a":"c620c2ab946015c9cd2a8e4fdad3d40bb70fbd765d12fe0ec14de932d80631b2","lib/libwinapi_dhcpsapi.a":"5408133e6e424729f957755ff13b0fd032998ad4e6eccf03ae3ab8795b21862a","lib/libwinapi_difxapi.a":"5944ce1a74924fbfbc6f15aa8832e1e3583f9f0bfa3cb37daa23ae001e9d9aee","lib/libwinapi_dinput8.a":"809cc0fd5bb0395cf9688e4bf72471c60df69c707cbb0f0ca2d76a347c292b5d","lib/libwinapi_dmprocessxmlfiltered.a":"02bbdef0b20fd01f80e53d64ffb7fe7ff1162134ab8032394b5a1ee4ea673e36","lib/libwinapi_dnsapi.a":"206041acf0e47cbbc1a9966d1e39cea349f3681edea8391c8b8bc59683144249","lib/libwinapi_dnsperf.a":"b79b560261e6d314cc5d8f4bed92ba3df4a8154ab0f720c9aaa8a21880b5d25e","lib/libwinapi_dnsrslvr.a":"6c22ba18a82dcc9abe3acb084481da21087203dce52ac90a6908198f9f782148","lib/libwinapi_dpx.a":"1d0705704952e7f3b482f14520f1ee9e0ca0241bff565f90c595a2a3b95c5b8b","lib/libwinapi_drt.a":"9c7a21f7b4d7b1cfb113d3bd8ca6070f6087727102b5ed02488bcf457cb66a26","lib/libwinapi_drtprov.a":"21fbb117f8d5ae07ce008e72b263461103ec3e94bfecff343ef68cdefdd17d12","lib/libwinapi_drttransport.a":"c3219661e16a06b0a7236cbcdb29f2dce052f404bd171713566a95b9185e34b8","lib/libwinapi_dsound.a":"971f74621612a1e7bfa746502732d5a744ced5fa9ccdb696ebfb9502b3c19141","lib/libwinapi_dsprop.a":"fee99d28a0831bfcab736c62b5ec94ef0b007088865074a9a0989bbb7186fc32","lib/libwinapi_dssec.a":"bddb5274732250390e746874ea74a8aa5088a62eb092d68d71966f7e476f27af","lib/libwinapi_dststlog.a":"4da2f1146cd9882f7e96c1e534b46f8c458480fad5fcb9d1c067d4dda218d04c","lib/libwinapi_dsuiext.a":"6ee8892083f731bee1e8f233bb58a43e5329252625435305a1d27bd6d8b0b900","lib/libwinapi_dwmapi.a":"d55cbdecc52c5051616383fb037ad0fd09947a5f45d1522cea2c443e3affbe4d","lib/libwinapi_dwrite.a":"ac3c297df0e44ecd5123d47a997bc5f2de73934d9808a429132c0f1cf299feba","lib/libwinapi_dxgi.a":"91ad18a2778be45cdcf701d357b32224879432da3f32d14f8717fc238ce2d02b","lib/libwinapi_dxva2.a":"34aa513c106f1deda9f71795ebaecfc01bb800b41993846a0503691c0acc3739","lib/libwinapi_eappcfg.a":"2b7cbebd80a61019356e7168fa57c68dbc5633ffdf3f566593d54b14104d637d","lib/libwinapi_eappprxy.a":"86f2289e79ffa1509ce41293bee75785851d87be7e657126e497c1c9d9a52005","lib/libwinapi_easregprov.a":"be44f53e21b54075aa3b24a45481eccf24219f6991d4551e41e3dd97538b862a","lib/libwinapi_efswrt.a":"5394eea8d86fc66f4df8cd5a8675ddaa39954164d89b7d9c96fd48a43dfd84b9","lib/libwinapi_elscore.a":"46a1f20b5e0616af5b8dc0a7f8db8aa837ea32fe4f8118016d6a2a10f15852c6","lib/libwinapi_esent.a":"e5fa9fd1095dc6c3980191f7665523e72c421e443a474500f41f8403402bf208","lib/libwinapi_evr.a":"b29f7e7997e8bfadcc81d247c2032381f21897d0a2a5ad0304e84945f7e913b2","lib/libwinapi_faultrep.a":"d332eeac469e87925e44ee9ed41408196e87ed1f8972e81540a19f20b1485102","lib/libwinapi_feclient.a":"9abe648543524e3a6024a63a454f7d36b6758d2fc5994efb4b9a513e06348041","lib/libwinapi_fhsvcctl.a":"8f26fdf62798fc19f0aa118e9887c4f5fd715b3505df723cdf87c9341d6600de","lib/libwinapi_fltlib.a":"0681ffdc1f4e87810dbfd664dcaf50592c96b07b9935bc49342982ed90b26a1f","lib/libwinapi_fontsub.a":"07676e49f5a46143fb9c5183e1177cac26c709db1daffc839a36fc72d32e9760","lib/libwinapi_framedyd.a":"cb13a8b7974bb247d497f56f1322a9d9926bfa7b0d3f083a323415e6f78704ab","lib/libwinapi_framedyn.a":"38ad80dd8f8b3fc5d881dc24ae6ae58bf641b3bc24702d205d7a1a8769d89c83","lib/libwinapi_fwpuclnt.a":"bf9d1fe3fe94b35d019ca51e30b0c3b4df085f7ec1a8626c917a4e07eb1bd887","lib/libwinapi_fxsutility.a":"4d2baf6d2d794039e34d07b876afab8963c7847fb90dc8b00150e699a5a88350","lib/libwinapi_gdi32.a":"2b3a916c16e4f91a2cd09386a52c2824bdc4d651166644d72ef5c85c767e6c10","lib/libwinapi_gdiplus.a":"9b1fee0f9f1b6237d0d62fd121e6a6dbf9e37de5690e84e9d41a1c27faee9867","lib/libwinapi_glmf32.a":"d3124a868592e0c37a9beb8e2b6c7b3d2b94c07ae687289a6f0669132072119c","lib/libwinapi_glu32.a":"ddb53f0d0c5f4c2d411e9fded6ae8e0be2b8f9a8a1c5962806f46e9ec03e70df","lib/libwinapi_gpedit.a":"d34919000fefbb37c6f6168fed15261506b6bbc025cb195fa5420f2257c3d4c7","lib/libwinapi_hbaapi.a":"a33dfefc4280c5e0e2b8b57a3ad3266a37bad1a2cef18a308d9f6378e76751b0","lib/libwinapi_hid.a":"6f15a85717f22156e2fb9b208beca41d1c10f90a77f85a54373ad8eee9cd0e2b","lib/libwinapi_hlink.a":"5ee9abfba000d2330a8b8eecbe7264e6a75eaa769314e509d87263574fabdf10","lib/libwinapi_hrtfapo.a":"5fc399db01ea1c885f967666ec3bf784be0ca743207863f4741973b1c57a734d","lib/libwinapi_httpapi.a":"01011dc404f7c79d1dda41cc07cf61a4aeedd4bdc5d7c5e9951a48fe263a169a","lib/libwinapi_iashlpr.a":"a3f8e4a9e57bc6c4ee9b2648e810b495b6d91b9a65388c9be203e44295a52364","lib/libwinapi_icm32.a":"38f11c45477be5e7a9db97803c777be7e897f624a038ee0aa963fb94b585b767","lib/libwinapi_icmui.a":"e44009b1e129de72112e85c305c07c97891590513427866eaebeef000686dcb5","lib/libwinapi_icuin.a":"8f8e4211c97344c7e18b2dc916311be77fdd2f57277d84d66e2fc747134da2a4","lib/libwinapi_icuuc.a":"6673008d48e04f68995c9312417693a97df0f509e06771e5f8fe463526a2ead5","lib/libwinapi_imagehlp.a":"a809cff5d98cbedef8a5c6c7e42f38d3c7dfc8c11d6a9faee124315aa59018b4","lib/libwinapi_imgutil.a":"cfb14abb38c53b4260c38984aadf719f47a1bec9ef649d8a27c3a7ef0c0242f3","lib/libwinapi_imm32.a":"f26dda47a3459748d872bd930aec687840a8d13b7f4831e05a4416e7333960af","lib/libwinapi_infocardapi.a":"1856c6b82964e75147dee0e9f44f7a212cf7352bf99e34d7be3ba9e889e96061","lib/libwinapi_inkobjcore.a":"136437815a0ea7de686880b3dc93c9f15acb99df63017b50c1b6b131d6fbf1e5","lib/libwinapi_inseng.a":"41df87d43fcdf2273da7fe5bb1a569d016b4bff77b1be9b18a0805230df77a2a","lib/libwinapi_iphlpapi.a":"2fd06dd2698d0943b0395ac431ae48df4317503ac8d1c35e127cb498ac6365df","lib/libwinapi_iprop.a":"cdae05efccc1fb56df272f9b4368db1943e23f299fdefa106fd8522c33935a2b","lib/libwinapi_irprops.a":"ca9d940ec3e8d4a15cf3650fa76665f7037fa9c1019c4eada59c867057c8c972","lib/libwinapi_iscsidsc.a":"12ffbd3ff5b6fa6e35dbed15920f9ee71a844b974c04752220585a4c69af4bc4","lib/libwinapi_jsrt.a":"d84cd2be85df653a0ebc2160559a955e9ff565989ea2d4916f1fabee4b96177b","lib/libwinapi_kernel32.a":"95d9ea840920496d039eab257c28b8ade71088d3f4a57aaf038207055231fc9a","lib/libwinapi_ksproxy.a":"1e5bf114bcab137b6c40b779509fe0db92b31456ec6a5f52df14d029ff53047e","lib/libwinapi_ksuser.a":"c0e457ec782e0ee328b26e84d4aadcec7a4764eff69311788820352b11a4a340","lib/libwinapi_ktmw32.a":"d500f383a098291825867758d7c6a00334ceb9aa5497894fce4532aa91405f6a","lib/libwinapi_loadperf.a":"82d539c5665e285f6842b282f872a73408cbe34e251a7c650864c0a1dafd6d69","lib/libwinapi_lz32.a":"359d76f02d09f9edc08322b2121dd683d2478ef696d861802797e46e0e213095","lib/libwinapi_magnification.a":"780c596bba6a4662eed52ccd123316d4d5c06ffb906f483aa8a3440cd50b7bc0","lib/libwinapi_mapi32.a":"287653cfedaf4d85e34de3ccf8f42297d02e8ff53407750d82efd6d264661188","lib/libwinapi_mciole32.a":"a7f54b102fd8e249be177c0afef73245a2ff750a6ba096b7fe51c5611f88fcba","lib/libwinapi_mdmlocalmanagement.a":"aa0cc66939649aacd882ca1263c778fb14b7779f6d2d0182d1a6519d3b7cd9ca","lib/libwinapi_mdmregistration.a":"8e51628bbae7b499509b45b72666b3a7593e00924aed10a4532f08529b19a958","lib/libwinapi_mf.a":"680d1931e07461ab845c17b126f59897c31d68bdb929e3d85cca347f5d5412f3","lib/libwinapi_mfcore.a":"2b20dc1c73b1a7e3f69b1ff003ed7147a58f3469911b25b2124ce9c64c9c8719","lib/libwinapi_mfplat.a":"986fefa67121059fb0e94f9dbea92641cf7bdd168e4a1d6aa99fef6d398c2c5e","lib/libwinapi_mfplay.a":"2570b1aae5f1e4f1f5354ffc14e63b164036c07814ea4d5c7dcd077e7901183c","lib/libwinapi_mfreadwrite.a":"11d82e73075a6c7eb134dc9007b082a98c66ed4e47b7afa48de2ee14b2862ae9","lib/libwinapi_mfsensorgroup.a":"517e80d135e00bfb906ce0836a1ef6a20d7dda394f07658f033b3aa9c60034eb","lib/libwinapi_mfsrcsnk.a":"510a26b17eaca78752fad354028568bfaa6aef06f77a1cdadfb425a785f5ed33","lib/libwinapi_mgmtapi.a":"982226ffd60eae1231da0ebd8bbe6178de804554a76c32777f75820113d137a2","lib/libwinapi_mi.a":"dfa3d4f68e432b3f1601fabc3425ec5d97c3afff14177721122d6444d34caced","lib/libwinapi_mincore-api-ms-win-core-com-l1-1-0.a":"76485df97f6a262297e42b7da5e4e0d8f4909d35c170e202454a1c60b7476c2f","lib/libwinapi_mincore-api-ms-win-core-com-l1-1-1.a":"ce95bce7429e6f6438ca9796350761679985297870763366bd24a7481742cd11","lib/libwinapi_mincore-api-ms-win-core-com-l1-1-2.a":"dc4ee3eee502ebb86eb6f254b1e8b9054b9ed4f8e10183f1c8279289ff67f528","lib/libwinapi_mincore-api-ms-win-core-com-midlproxystub-l1-1-0.a":"115f4ee281b2ec9b44c2c7d9ee36404a319324825acdd839a95bd5827e15672f","lib/libwinapi_mincore-api-ms-win-core-comm-l1-1-0.a":"11da992cddf9437b7962f503392cdbc324a015a4eb339462ffe490424a290e59","lib/libwinapi_mincore-api-ms-win-core-comm-l1-1-1.a":"d0ed125830b0d1f10d897d1ec50da10c5f9b2fc7add84c6eeb225eb604cb6292","lib/libwinapi_mincore-api-ms-win-core-console-l1-1-0.a":"d4083302dacd0bae7f3ad447e67277d537647df23ddf44a399fe327f430793b6","lib/libwinapi_mincore-api-ms-win-core-console-l2-1-0.a":"495cb87554da1f912c999261f5be4cddfa3e0b8af8669625d1ed3e9625d26eb7","lib/libwinapi_mincore-api-ms-win-core-datetime-l1-1-0.a":"131bcd3b2e44bc48d739b78a6a2c162d86b4db93423ec58163ca8ebf0f4b1127","lib/libwinapi_mincore-api-ms-win-core-datetime-l1-1-1.a":"16c8fedfa7b80e8208b99538e439d6b77348668560241978842b65fa820a18d9","lib/libwinapi_mincore-api-ms-win-core-datetime-l1-1-2.a":"af6dc27b8170b4b05ccb15734310c6a0c5eed201e86e2bbc6772ac9e215efb8b","lib/libwinapi_mincore-api-ms-win-core-debug-l1-1-0.a":"55ed7347bf664967590340f71d6bc0cc8387fe76a056a809a2942410c0d5a747","lib/libwinapi_mincore-api-ms-win-core-debug-l1-1-1.a":"3a4f57fbd03af27049b080f6845acfac07e3c3c7bed85abfee1a3d5b9fe2a762","lib/libwinapi_mincore-api-ms-win-core-debug-l1-1-2.a":"b225bb3ce5569915eb0a263069ba085bfaeaf45c470f04288b41f9f8521617c6","lib/libwinapi_mincore-api-ms-win-core-delayload-l1-1-0.a":"d81c5c1dc60979c59b7eff1b223055295343cf3845d2a0517e17035a14dd0880","lib/libwinapi_mincore-api-ms-win-core-delayload-l1-1-1.a":"e7bbb5f9e98f85df4db9b7aeec6039c481d039c7a268ad5923c5810673c4ca69","lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-0.a":"f10fc3c99ecbb414a1d5389b9f3d3a340f0496500914678b11565003a882fb7e","lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-1.a":"ddd872dd19a575e3dbd8ec25b2b34c2951ccfcdd61b38427126cf0a65f4a0cb4","lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-2.a":"7d599b936357f4ac8f38582874345ed12215252f359988c751cc60cd32a8db17","lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-3.a":"337ffa10980babe0b17cfb17f4e44c1d243d4483ed8cac16bdbc213a99e2373e","lib/libwinapi_mincore-api-ms-win-core-fibers-l1-1-0.a":"fe878234568e92961e718322c3c081e3c0989eeafd6e5b0ee545bfc68eb81d44","lib/libwinapi_mincore-api-ms-win-core-fibers-l1-1-1.a":"e24ca6fd32df62cf49a7a8d616c350b344c22a0c8cb6d8627c675f201f4d9904","lib/libwinapi_mincore-api-ms-win-core-file-l1-1-0.a":"a97938a9e8f5eaa5b6fb2f489f93bb4f4fc58871f2d8d6269e14e19a337a53fb","lib/libwinapi_mincore-api-ms-win-core-file-l1-2-0.a":"37f05a0469dfe19cff5ece1406f4e959a063a981440cfcf3a5916e17a4e382dd","lib/libwinapi_mincore-api-ms-win-core-file-l1-2-1.a":"3569117f29b0d08505df253e61c0fcee12cf5b12177793a32e7af80d2d56a2f4","lib/libwinapi_mincore-api-ms-win-core-file-l1-2-2.a":"68d39750dc408b28594269d5d6ec80a5984dee8ae001b1b025002bd84e770085","lib/libwinapi_mincore-api-ms-win-core-file-l2-1-0.a":"207be2f5cdbedd2fcf0e6e67b5680adcc32b8e9117837716dbce43aa5ca4b165","lib/libwinapi_mincore-api-ms-win-core-file-l2-1-1.a":"ae5feb37150c28b3c344c0d395be86a28a484f4acd0b496ce183bcdcbf1eec0e","lib/libwinapi_mincore-api-ms-win-core-file-l2-1-2.a":"b494cb791848ece954b1972e99e530b2ad48b4b0a4d05cba7b77bd2beff46096","lib/libwinapi_mincore-api-ms-win-core-file-l2-1-3.a":"c5bee07c3af2b8a191caa6c95fd047f2081b701c3a32fcb60e979c83f8a83fa8","lib/libwinapi_mincore-api-ms-win-core-firmware-l1-1-0.a":"d37f2e483f7ce07ea1f13da2bd6d11fd90b3d6e74b2eab16dd6675701d925dec","lib/libwinapi_mincore-api-ms-win-core-handle-l1-1-0.a":"4e4db210d18e80f5eab092933076a52378240696125d7e438555286fbea7bfa1","lib/libwinapi_mincore-api-ms-win-core-heap-l1-1-0.a":"a63ce183e48c98a1f03eb7e81d49431567e6a9e1434b950390038cd86d0c58ca","lib/libwinapi_mincore-api-ms-win-core-heap-l2-1-0.a":"d37b86d396eed705ff66ca7a15b9790cc771cca3781f9afe30595556b5b2e516","lib/libwinapi_mincore-api-ms-win-core-interlocked-l1-1-0.a":"ee2d2f445d8340bb7079a9a0ebfac3e776350bf06714b04d2d71f44f39c31ee5","lib/libwinapi_mincore-api-ms-win-core-interlocked-l1-2-0.a":"20a24186dcf33096ba39ecaa06144e16fa8e13508c4070fe2f4787e02a10b678","lib/libwinapi_mincore-api-ms-win-core-io-l1-1-0.a":"1a7e2901d936cfb930c10b5bd01e1cb174e155d63e389b9d0f93a67fe7767e7f","lib/libwinapi_mincore-api-ms-win-core-io-l1-1-1.a":"c2031a37160d4cc6cd10c7a1bb146242bd97bede479e38591514ca28f1c34052","lib/libwinapi_mincore-api-ms-win-core-job-l1-1-0.a":"2c6e24c3f21548b2a672cababc065f49dd6e8c77f5ca9c0931ea3cb842dffe2f","lib/libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-0.a":"de5b19aad7597b6ff8676d50cb57080a96314aa4a57e483b470fe27fcdc467a2","lib/libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-1.a":"0b082aa3bd4acbfdc92b698512b102d4e0f90e5d1853da62d0acf74fdb5b672c","lib/libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-2.a":"5989b4597e769277940c2f6c0492753c09c12292b28c932cfb5aba5f4fb24faa","lib/libwinapi_mincore-api-ms-win-core-libraryloader-l2-1-0.a":"074fcc7d7d03cf010f4c536a97447b2ea8b20d709b1001270cbea88240e43624","lib/libwinapi_mincore-api-ms-win-core-localization-l1-2-0.a":"25ffcd1067b026bccfafedf7d20505eec04632eb6af16698bfda0b7b62f93d9e","lib/libwinapi_mincore-api-ms-win-core-localization-l1-2-1.a":"9b2d7399e10336891b842516659ddc64a8d3d56ba014b5695c71c432d1d33d8c","lib/libwinapi_mincore-api-ms-win-core-localization-l1-2-2.a":"fedcced3e72d1353f075d4be8ec105b6860dca592c181ab240288fcb8595e0c0","lib/libwinapi_mincore-api-ms-win-core-localization-l2-1-0.a":"bf89dd69e8c7b6606b6b2978fcbedff972984423912489c955a2bd16ec421bc1","lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-0.a":"b2e414d41d55a770b1ee5510f26e49658acde1a905da2699828d74e70f1a0911","lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-1.a":"d8bd0584274bab01eafde0a2d345c795733f4f02687ba57c7732a796f6c615e1","lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-2.a":"72048537dc3a79da7c288b317d1aada14a94b0c0ed81949b2a847265da04d68c","lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-3.a":"c88dbc65f56198c6fb8b13dde3d831731c19062594ecc76d64ebd6519eaddb91","lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-4.a":"503ab8fb1df38b8c92af9084bc04970b96210820f8453a4f0a8c393dad6648fe","lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-5.a":"7092d745039c3614851ee3be3f3515104cd868d1135bfaeef67f3ae29d400ced","lib/libwinapi_mincore-api-ms-win-core-namedpipe-l1-1-0.a":"5a16f49d70f33f4a199722985ce6e006c9a7272865f12ddad38b4624c4939326","lib/libwinapi_mincore-api-ms-win-core-namedpipe-l1-2-1.a":"e7bee4535d9795e94a9acd93e70a771774f827c0bcc277b7363558a02243159c","lib/libwinapi_mincore-api-ms-win-core-namedpipe-l1-2-2.a":"df7e86061d0cb4f6564f0f7c0d6ecb41d3b1b37ff41804c3a340ba3046b0099a","lib/libwinapi_mincore-api-ms-win-core-namespace-l1-1-0.a":"8970229a62f4132de23f5801940eba485dfdd1809546cebe7a18d7c0184c48ac","lib/libwinapi_mincore-api-ms-win-core-path-l1-1-0.a":"91b50dd2d0c32a1aaf298f893cad0cdfb6685e20fba44dea649b89c50ed4c9a6","lib/libwinapi_mincore-api-ms-win-core-processenvironment-l1-1-0.a":"3e59f3ae56977fca3e452d1c7077fbd79ba4618378d6b3f6338670da2264b318","lib/libwinapi_mincore-api-ms-win-core-processenvironment-l1-2-0.a":"ba69dcc28276bc983a1bd59feda56528408c79fe18b2bc2f7245e2fbc3e8d75a","lib/libwinapi_mincore-api-ms-win-core-processsnapshot-l1-1-0.a":"bb0e5002cbce0a6cad7a0af82f456acfef3a7573de25ab4f2c76360185e1371a","lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-0.a":"77067e3e43fb1db6d711b01c3ca6ee076a0ef87d96409ddba4be9732723cc2ba","lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-1.a":"2c2e7b7ce85816c7974f605510cafc16ec3500876b490da4f462dcc967c6ad40","lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-2.a":"af21a90245d69e44b82b66857797168b206b282a1e54cda6ca8cdd6e0c64912a","lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-3.a":"a364ce3355f5c3a2719e3ecbe42f5b0e9e0d6b87146f7c762bd6752f0f3c9534","lib/libwinapi_mincore-api-ms-win-core-processtopology-l1-1-0.a":"9fdde1b7df00b8677e2f2978ceca2b9ef3e1539756f48fa5ed527c3d3229937b","lib/libwinapi_mincore-api-ms-win-core-profile-l1-1-0.a":"a9b8f92be12fc12ab7f278c5751dfbafe8a1c6c70b8a7895c601bcde27a49e4b","lib/libwinapi_mincore-api-ms-win-core-psapi-l1-1-0.a":"28af76aedcbe8e5d2fb1e3d71cb401381a3400bb802d0f61137509ddab50ceea","lib/libwinapi_mincore-api-ms-win-core-quirks-l1-1-0.a":"1a3d2f2a9cf9c43d2425b0200ec3985f3e411a89f90778beedeeacb7edb0929e","lib/libwinapi_mincore-api-ms-win-core-quirks-l1-1-1.a":"4f15f699337cd42650bd16f8503984aedb70a3f1ba581c0e131a6f798f3968c9","lib/libwinapi_mincore-api-ms-win-core-realtime-l1-1-0.a":"2602a72063a047c5767aa1d20248d701b81ce3ccde8c4ef07a6a107a9c3de9af","lib/libwinapi_mincore-api-ms-win-core-realtime-l1-1-1.a":"3a06e02a57871cb36caecfb78fd4139ca851b66474ca5bfb5b3b2a6037682d29","lib/libwinapi_mincore-api-ms-win-core-realtime-l1-1-2.a":"7faf55c7bb4c862a269bd5fe2be72c8858dd54b5b949399beb2892d7d4f891f9","lib/libwinapi_mincore-api-ms-win-core-registry-l1-1-0.a":"798c2464d813e306d061741351a2a56f570b8e363e550223f62be1c1608cffe8","lib/libwinapi_mincore-api-ms-win-core-registry-l1-1-1.a":"d165ef00b715eba2a96248ce2aab275d39c7d5c927c71fc2bc70cebed43b85f7","lib/libwinapi_mincore-api-ms-win-core-registry-l1-1-2.a":"92115b5933781d78b2d615b141732a6b8ef08a084bb97010aa844f75058ec465","lib/libwinapi_mincore-api-ms-win-core-rtlsupport-l1-1-0.a":"25d6790ed18e0921a38c57e1e390152a24f709e121b9b7296153720f2306e523","lib/libwinapi_mincore-api-ms-win-core-rtlsupport-l1-2-0.a":"2b3ef6c250e8be66cfb026436bff96f4c3ab04d9b8970fbf19cda9d24cd53889","lib/libwinapi_mincore-api-ms-win-core-shutdown-l1-1-0.a":"b549a555192a445540c93480d7c547fab359fcbb49254b75b58a6b624194d526","lib/libwinapi_mincore-api-ms-win-core-shutdown-l1-1-1.a":"c68db7f4c33cabd2818d0d1b47167672b1ee612ea70e0a88726f818b5f75a537","lib/libwinapi_mincore-api-ms-win-core-string-l1-1-0.a":"e6c31d64254c944e35513b540a525cefaf4b58665d6909a8e8964415453be06c","lib/libwinapi_mincore-api-ms-win-core-string-l2-1-0.a":"b218af872027015c5848985f7fb9cc6ede8cbb5451e85aaf8c51744a3acf2439","lib/libwinapi_mincore-api-ms-win-core-string-l2-1-1.a":"3c7be7fc72f0e3c21668c3ea854f2d097bc8c9e2f1592ab81480e03b17fd9649","lib/libwinapi_mincore-api-ms-win-core-synch-l1-1-0.a":"3662cf22a2ff4e0be5e95d7aea716ad92f5ffbc3d241556353658995885e2729","lib/libwinapi_mincore-api-ms-win-core-synch-l1-2-0.a":"ec56d87919192c2aa2c3babe67c2dae04afa31075ba3e89bc3941c00ac3280bf","lib/libwinapi_mincore-api-ms-win-core-synch-l1-2-1.a":"a6583348b7e00a8b291a70c17f5290251e43c8741937b134f8fd3a56460ef88c","lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-1-0.a":"bbdd30605debb51d2f2d94688716024e5d75770500205f566080006a5d556ca4","lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-0.a":"9ae56c06c30361106526eeea1d5db47082b838cacaf8b54d46c285bbc4b6e6e6","lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-1.a":"0349a394597567544c5ea204ed880b54861f2760876e2ccda4176900c8a8352b","lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-2.a":"ee54a2da3a078b1d1332b1ec5a1a053e816f7a3b6ace3c01f508282e985f5c67","lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-3.a":"0d2db7aaf08e283c04022b23d616e39f9403d7886af8ddddc02597ca3bdf42b2","lib/libwinapi_mincore-api-ms-win-core-systemtopology-l1-1-0.a":"c7befe692a33c5c2c3e1f273ba2513f649502b93012ea6da895131f8eb648f8b","lib/libwinapi_mincore-api-ms-win-core-systemtopology-l1-1-1.a":"d441a2feb8334a5680a8d5d354fc5a69aa63d89623d1be13f4ff600cb93dbf9c","lib/libwinapi_mincore-api-ms-win-core-threadpool-l1-2-0.a":"beaf292dd62a83315423fd580d057adec9b78aa3ba5ee08e35e9e785d0297ddd","lib/libwinapi_mincore-api-ms-win-core-timezone-l1-1-0.a":"775a51aa310c249d057df10cf67a05a85246a0be6df6e2889b64d640ab811d6b","lib/libwinapi_mincore-api-ms-win-core-util-l1-1-0.a":"5d3fbb17a4fb24d10279ebb137d11ec31b1fc3a6dc0e830bcd44e73330dfa92b","lib/libwinapi_mincore-api-ms-win-core-util-l1-1-1.a":"4885b71ff3c5fa95eca7a29bc0f4a9261ee57eb77c9b5a21705a394a6b888cb7","lib/libwinapi_mincore-api-ms-win-core-version-l1-1-0.a":"575b5e9d97ccbc3c4dac43496d6753209f5ee20103ff7c52c107a65236c174f9","lib/libwinapi_mincore-api-ms-win-core-version-l1-1-1.a":"1796148f6e9724cb3d4059b8b79f22f901de240bc460057250a3f4dd62cf450e","lib/libwinapi_mincore-api-ms-win-core-winrt-error-l1-1-0.a":"f6c9542def9f9be896602499debd7debb72808bc41e6c735ef189b29e0cac421","lib/libwinapi_mincore-api-ms-win-core-winrt-error-l1-1-1.a":"464f39672be5e9ecc1a95e9074a46bb3d1beb1abdf6cc4e705e95ac656bcd027","lib/libwinapi_mincore-api-ms-win-core-winrt-l1-1-0.a":"a0c9ea99fd5fda8a20591f2c88cf8eb52733be1520da706c636c08883578854a","lib/libwinapi_mincore-api-ms-win-core-winrt-string-l1-1-0.a":"b5bed34136bdd91e155dd0b347321ef8c9189544cf5dd94f93fce3092ae8d4c9","lib/libwinapi_mincore-api-ms-win-core-winrt-string-l1-1-1.a":"7426f42dd85d665bea5fc7bc7c1433d8005468902f8608b6b9ea8cb0698e2c3b","lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-0.a":"1f7b9a3be312c964092aab8b85f2241e348ffae828447be09804fa35f040770d","lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-1.a":"7133822afea480f54c3b6ce36cc000cff40bc50ee25c292711c14d0dd48dda30","lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-2.a":"02a87ebca8f6206f65e958ddeafb020672cb7c68d907098e056df0ac48ccb5ef","lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-0.a":"cdae8ce3826b8e94e76f3948eb386feb4145113d3c84d5159efc2aebb49a3822","lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-1.a":"b494ac0d24d2da51a6bebf16be7823e09952a3fc4beb60faed04d853304429af","lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-2.a":"90c7065fe698f38b2f24c2d4abdcd0ffc5e968c2aa9c77c40116297a71671bc2","lib/libwinapi_mincore-api-ms-win-core-xstate-l2-1-0.a":"1de3c7cac5fb4e6e4586afc825dd2ea308a0c008e7ffc5a9a3dc964a67af481e","lib/libwinapi_mincore-api-ms-win-devices-config-l1-1-1.a":"799d9550b9c6f19636b9becf563b4fa134df2f038a8054d86ec3468fb6003249","lib/libwinapi_mincore-api-ms-win-devices-config-l1-1-2.a":"56c9013e02a91971a55e3a8f7317eca162d73187e07749e4f2e6a2cab1be28c0","lib/libwinapi_mincore-api-ms-win-devices-swdevice-l1-1-0.a":"14ad208d3a557860b153480c8ccb779ff94febe333fb9ced466371a81249250e","lib/libwinapi_mincore-api-ms-win-devices-swdevice-l1-1-1.a":"7611317eddaeb55896baba49e4500a2bbd27542c461747cb0ada9dd9e8f88740","lib/libwinapi_mincore-api-ms-win-eventing-classicprovider-l1-1-0.a":"44693253b456e6e88051fae853cf6abac787f1317361237a4129466ac0460f56","lib/libwinapi_mincore-api-ms-win-eventing-consumer-l1-1-0.a":"2218e4b6463c52ac282b2cbdb4fd8710b6944db59bbcf938ccc502f9f87587f6","lib/libwinapi_mincore-api-ms-win-eventing-consumer-l1-1-1.a":"cb9801e38e8de95efc6c9e7b751568d21cba1de5e1e3e1150753d290aa6c1e5c","lib/libwinapi_mincore-api-ms-win-eventing-controller-l1-1-0.a":"147c26ebb856c0d66418d65b579aa9bdcdad35b76ddaea8e9eb51c1cbe9c4ad6","lib/libwinapi_mincore-api-ms-win-eventing-provider-l1-1-0.a":"293099241adaea5ddb48e81d00b692f26959d8b1b81a4dd8fdfab78d5cd51eb5","lib/libwinapi_mincore-api-ms-win-power-base-l1-1-0.a":"2a3e535ca1c92f9421a5259c07d534585682d4f6648b95507c24f478b1fe243f","lib/libwinapi_mincore-api-ms-win-power-setting-l1-1-0.a":"75579f3ab3bf8aa738ce064a3fc93ea2a77c3a07be84b2fc8c465cfbef884fe4","lib/libwinapi_mincore-api-ms-win-security-appcontainer-l1-1-0.a":"3f967e6487e80799c080e8b9750960c3133d115f8c7974ee5ab70d71ae38b52e","lib/libwinapi_mincore-api-ms-win-security-base-l1-1-0.a":"bd3ff6b57beabe52f0bf678e560b412d530bffa64515393235e0fc65aa712121","lib/libwinapi_mincore-api-ms-win-security-base-l1-2-0.a":"1d0184140d34f7c7b0e28ab71d16cd2b996e8bb4eb423b95ea83cd1eda494f11","lib/libwinapi_mincore-api-ms-win-security-base-l1-2-1.a":"639bf97214b059e78d4fd683a13ebfb79effabd2f3c38a86ceb20d98d1a848f8","lib/libwinapi_mincore-api-ms-win-security-base-l1-2-2.a":"9a7e3a5e1b55f82d12a9a2e927658ee9fd925658e8586cded710d79c9d979e57","lib/libwinapi_mincore-api-ms-win-security-credentials-l1-1-0.a":"04ff7d0965ef4f55369eb1fed1334a6b25e5e7e0767da732cfd43a70b18a180b","lib/libwinapi_mincore-api-ms-win-security-lsalookup-l2-1-0.a":"9f06f963a86647f8e5454b1e5a30dc4edacaae156eed0fb22ab322a71072102f","lib/libwinapi_mincore-api-ms-win-security-lsalookup-l2-1-1.a":"b39db949209210603da7c0f15ade2d206e92b8b519cc3a4d909d30d93531f79f","lib/libwinapi_mincore-api-ms-win-security-sddl-l1-1-0.a":"8c2e5f4cd8d7b65f0107464206636579dc23de724fc082442234a501068623e9","lib/libwinapi_mincore-api-ms-win-service-core-l1-1-0.a":"d4058a3f1d3680a81c151b15d33c73a4b5e912120ffcdc176ab7e4c7a1570b25","lib/libwinapi_mincore-api-ms-win-service-core-l1-1-1.a":"a358042a13a9815582fa09b992ed9ca94c28c4de0c8345faf1852cf7579922fe","lib/libwinapi_mincore-api-ms-win-service-core-l1-1-2.a":"e53544c3ce3f33431748dbff6e04e718868f1941ddbab5757b332d0bd42acec3","lib/libwinapi_mincore-api-ms-win-service-management-l1-1-0.a":"6bfc8493bda22dbd82cb0ea3e3dbf34cd37988cb593480d0527d97324e5820c5","lib/libwinapi_mincore-api-ms-win-service-management-l2-1-0.a":"b867beeac24056d3f25d5d7047a2b864e63db9b257e625513079ce0e172402af","lib/libwinapi_mincore-api-ms-win-service-winsvc-l1-1-0.a":"d29586bdb7382582f07ec2f66309f10e5ea36783c0c7d5a400bbb3889807c588","lib/libwinapi_mincore-authz.a":"78c90a4f4fdfab54ec3c9cdaaed95bcdfc1d5a904bc939d663c415ca4138ab1a","lib/libwinapi_mincore-bcrypt.a":"8028ddda07a33cfa4c1d0b1557a7fba85ea809c0f714532cb4222df561f7a1df","lib/libwinapi_mincore-cabinet.a":"99074d908dfa970113bfc9075dd05f6125982eed3f201588b7cba7e46d530146","lib/libwinapi_mincore-crypt32.a":"96efd8c18f1842c08f5c00c1e8781b6abe66db706d1f8bd7e4ad80727d13bdea","lib/libwinapi_mincore-cryptbase.a":"e4cae4a43dc43263c3189b607d6a28bb379b741e874802c6e867571a4c617a34","lib/libwinapi_mincore-cryptnet.a":"ec5d7b695f29b86a185ee392050a6845c19890afbd7ff517746ba51b833e0b61","lib/libwinapi_mincore-dfscli.a":"59392a64972249a746bc6fa9aee7ec2f43bd90f7edf96621874e7b1572b9a27d","lib/libwinapi_mincore-dnsapi.a":"c2b4aa0db97117ecd9ce97dc07647dd63d35167e91c5af0b078e4e37db3b9d35","lib/libwinapi_mincore-dsparse.a":"a016dd7f536dbd25316223eb51a55b4efbebf6e01e0e258a5f3b7d891d92e763","lib/libwinapi_mincore-dsrole.a":"7170af583eb32cc16cfeed9ac04de800c9ca29ab9e4f8eda3179c9f2ba14e5ed","lib/libwinapi_mincore-iphlpapi.a":"9a62c837eb80f1f18658fba4b0b3d4f2da9715b72301e7c714c8616c566183c7","lib/libwinapi_mincore-logoncli.a":"5ff77d42dc2c4ea94a04821d923ba949c9dcadd1c67806698ce5777f55894179","lib/libwinapi_mincore-mpr.a":"5bd99b5c3a615bd12ff81a6b25a33acd47ababb0f53b0b72b8f32f0c3ba18647","lib/libwinapi_mincore-mswsock.a":"b059e1eee395e608bbbfd95c4206041c9746652c19bdbb0bad0863950e9763e5","lib/libwinapi_mincore-ncrypt.a":"8e4014e7528270f379ccb28b1e18a623497e3a98177f3b6d0ef1f49106417c8b","lib/libwinapi_mincore-netutils.a":"78345bb6becd68887936be88abc58a258f6bf20156fb8ae4f0560d44eeebda90","lib/libwinapi_mincore-oleaut32.a":"49b78e0b2562aef799df49a8ea32a43ec593498ee0b6477f74b24f4eeadde287","lib/libwinapi_mincore-rpcrt4.a":"e8f651a7e06a3f4d2f5c3a6ede9f19c710229b18e66b0463abb937501e487150","lib/libwinapi_mincore-samcli.a":"7ae6ea2a6fc33eb2e664817fff4ac87002657b628a6bd05d596b6d05d8c2c891","lib/libwinapi_mincore-schedcli.a":"5e260d4c0a255d422cca310cca1e9c44d15479b07931aa50d99b90a45b9e9728","lib/libwinapi_mincore-srvcli.a":"2627f35c6e08b2180c91fccc2e44f3d38e905150a716175e263b83b41bc27db0","lib/libwinapi_mincore-sspicli.a":"7906f8cd451f63d520328db6bfccf85997e569b65f21585036a33cbd80dee600","lib/libwinapi_mincore-userenv.a":"46a3e75f2b40c32186d6c6f153127d5953d457ca39dab64d981e5e67eda27159","lib/libwinapi_mincore-websocket.a":"257a0439a55f732fe53a81c116a917e00aa7639dc5c422b126845fc847c501fc","lib/libwinapi_mincore-winhttp.a":"a227894d136c0c0c251f9fb385b1508226b7330b446010b4f9aa394b8c8192a1","lib/libwinapi_mincore-wkscli.a":"a744cd61255baabfe96463b3df9427e48af630b8946cc5ccbdcb2fbd61b70713","lib/libwinapi_mincore-wldap32.a":"433bedfc97cba10ab1069ad965653762a5529e37689197dfae8b40832a96a057","lib/libwinapi_mincore-ws2_32.a":"0bcd38e75dd94bc11c1a05ccec976bd2c9dd2ff65d01649b983f6be1b58cfb26","lib/libwinapi_mincore.a":"bbd52720f360b925bd6d3838a10407029f4b3659771bb22dfcabfe5dd914e97f","lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-advapi32-l1-1-0.a":"c028b2a23e1134089d5b3e63d7ccd3e7d6984b17fb837755cb3569162cdc92ff","lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-advapi32-l2-1-0.a":"be31168bd95083953baecbc47c6e31a6563353d4dee2d378db4c7de0da119847","lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-normaliz-l1-1-0.a":"42812dc895f6489f96cef6e05131083afe8305a97eeac2aa580291831206d44f","lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-ole32-l1-1-0.a":"0bc587f2d6418e987a6f9c07e6cf57cd2bc5d2fbe76a94f558e91d5dbcf9d18c","lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-shell32-l1-1-0.a":"a9d7438cc5e37c1bd98d7a3cdc8e587b6a03310f289003aafeac05a4d5d6e205","lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-shlwapi-l1-1-0.a":"55237a627af67ff560fe0a008270b4d408aed6192d5c1fa53bec4b7f0bbd1559","lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-shlwapi-l2-1-0.a":"9d5731e369dae3f6a7ea57f9fbc94cf9500a2b283507f53038c8e089c1c9f797","lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-user32-l1-1-0.a":"fe02038c2d5eda74736dc4efcd6c9139464f680c1d6b74fde9fa4532b2edd894","lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-version-l1-1-0.a":"53b0522c269674cf18f43b64755dc378c90e15adbaa4e17021fd7e5793c24696","lib/libwinapi_mincore_downlevel.a":"36d63238be9e28ba41d89c21b6e4883b8bd01c7205e7f32d71848c9c762fe5ec","lib/libwinapi_mmdevapi.a":"56e34422597206e90ad3f7174837231f60652ac407f3645da6d08ddbec20df01","lib/libwinapi_mpr.a":"7406a65ace451acbd8974ceee8286f20e9159f3d2a164602afecd9bcedab8204","lib/libwinapi_mprapi.a":"ceb642c2aeec33437df6c092ca94273e3bcfdd859a484a4a2d7a7968a37e411b","lib/libwinapi_mprsnap.a":"cc44baa98a5414a6a5ccbda8a0de5a2e618e8beff3a241cd9002739eb051cde1","lib/libwinapi_mqrt.a":"9892fe3cc11c52076f8d9f5cbdcea5a5206bff0d217dc65d0828c65005f4b533","lib/libwinapi_mrmsupport.a":"63cdebd6fe466661f10a0c6bc3404d0e54e64d692e94ab007e95805c492aecaf","lib/libwinapi_msacm32.a":"f60a75b3408003c0d8b5d46d1cbfd5a8c992dc42adb1e763d58528df25fafa49","lib/libwinapi_msajapi.a":"a0b46a7d600516877f94edc4548586b7f073d4e6ae84433ef69b351b9837c069","lib/libwinapi_mscms.a":"b5fc1891c4e13744871a8b7b47445ab1fe5c142c1edb469d842f3b9fe977bbcd","lib/libwinapi_msctfmonitor.a":"510636f80e65611b8b234c15daf0756e23d00e6b2c33e10250ac03d892393a4c","lib/libwinapi_msdelta.a":"f45d9f984ead08c81c82aa6eaa972f76406e121110d276d735013194847b056d","lib/libwinapi_msdmo.a":"aa3b4a716b8c0d6d7bd5d3adc4709660dccc9145e202a3d9d666d099899ae37f","lib/libwinapi_msdrm.a":"3c52ccff324fe4f064930b829c5076a74780a0ed82c7bf717e5aacb034d11885","lib/libwinapi_msi.a":"0c6aadc211fd5619b0d49ad64281a158caaee1660613fbfa2e608029c00cd725","lib/libwinapi_msimg32.a":"b957bfe3b092087c037931bc32af15b6f34796b749935f3c47ee255c7ecbc624","lib/libwinapi_mspatcha.a":"4c3bbfd791c2d2c518de608139bee2795a2c17f654326d95c2e554d86d946c29","lib/libwinapi_mspatchc.a":"601f4995cd4c734203f4ed75266dd89a2cc5066b5c0a3048767d05e66b21e679","lib/libwinapi_msports.a":"fc87678647395a4dedaae3af5766b4c5f4f394fd542377b565684aa0144c7d24","lib/libwinapi_msrating.a":"6c9acbc1d3426bb5e71f2107a229a152f81d0ef7d71c61a508aae7f847e6d957","lib/libwinapi_mstask.a":"9b32f0e7ad02309bdc681dcd48fc5c471b312db307778a1021571752f75663fb","lib/libwinapi_msv1_0.a":"93a80a8ac2130ebc3cc35b120f79391a34c83daee7ef33e11f0f6dab113292bf","lib/libwinapi_msvfw32.a":"3cf557fa7f9f31f23d8f498add4930b6ffc304a055d371ff6d59c64824134e87","lib/libwinapi_mswsock.a":"381afc6ec584272549384654be6f1e52139a3d6768a6d9d101258bf92e711c2d","lib/libwinapi_mtx.a":"7f94c16ae24a21d23cee0914d0bc1fe96e680c54d40ec5ebf47007c16748f4e7","lib/libwinapi_mtxdm.a":"08081c65d362502423aa0e9113658f9df0f4022f87be81592b5b059fb3dfb66e","lib/libwinapi_nanosrv-api-ms-win-net-isolation-l1-1-0.a":"423f0645557c42b13ac439544e73ab721577fdea996615604d641c30f111b86f","lib/libwinapi_nanosrv-api-ms-win-net-isolation-l1-1-1.a":"61df616253b837284b9541c67086d902162dff7b2c915f8b059abdca33a48779","lib/libwinapi_nanosrv-clfsw32.a":"3b4d6434f3a4fd39e6d1bf4530e25d654bd24e37e685a22de23fc2cd378a57e4","lib/libwinapi_nanosrv-clusapi.a":"e55758fba6a73cde2f06124b8014860a39946df814158d8c0d6328b266b9a090","lib/libwinapi_nanosrv-cryptxml.a":"1d8444463051db7479bb541da43ccdb303f581ca8da74bd7c3fe5d4f5ee124b0","lib/libwinapi_nanosrv-dbgeng.a":"c2229ccb5959f07cc33a3553a2b96257379b601ee5c934fc2dc3173dede7fa95","lib/libwinapi_nanosrv-dbghelp.a":"4c5aa4edfb424c9b646f69e61f046e830a576a3cbc299d959b9b68e33834d5f3","lib/libwinapi_nanosrv-dnsperf.a":"51df95c4624745ca014c4064f9791d5f5a87f8e140e751b631078369cd951b67","lib/libwinapi_nanosrv-esent.a":"a27c8b50358d89cc85b5c5660520a912d5cc553d58acf03ac68f61d687a5c4d9","lib/libwinapi_nanosrv-faultrep.a":"9bddb8af62f936b76c9ab737b5e1a4fd71fe50e7d593d0226749f5fdf6b9753f","lib/libwinapi_nanosrv-framedynos.a":"ad8888d9f3426524fbb7ba5642ecf9173a2c8c972e6dc8a37ef7be3c36fa7fab","lib/libwinapi_nanosrv-fwpuclnt.a":"fe0e1f4ab2120396508cf4c61599cab66b8d1cb6e23b874a3f6f97879dd6f904","lib/libwinapi_nanosrv-hbaapi.a":"b9da44f2995f25608cb3eac7bc128e5ee5081e95382fbfbb79c3d9a126c2393f","lib/libwinapi_nanosrv-httpapi.a":"b58e460ef867312f210a6c914b74645eba848c957fb915bf75f0a06164cc438b","lib/libwinapi_nanosrv-iscsidsc.a":"780bed8fed327ff5169fdb6d9d261bd2d13cd8e41615ec7a2630a2ec1d366bb8","lib/libwinapi_nanosrv-ktmw32.a":"a266994f59e7dd4100a7434a10359af18bc06d65e24da38cb67b4869fe449004","lib/libwinapi_nanosrv-loadperf.a":"a2dfbb2b3328fd5484a1297ba7559fca69456fe5185b1b9966b49985bf4fe3c5","lib/libwinapi_nanosrv-mprapi.a":"dd1e92fdecc614bb55400cad71e05748d035a30ccc8be3112a896dc10ae3d256","lib/libwinapi_nanosrv-netsh.a":"508ed31e1dcff117a481e22b1a9cf715603e39797b1be841c285fac1242bb111","lib/libwinapi_nanosrv-ntdsapi.a":"da6b41c87a140aa5955e12146450c06ee69def0b4403df08fff03ab360691f03","lib/libwinapi_nanosrv-ntlanman.a":"e388f2e52d7725a131458fdc5b3819ccfa4b9693ee744ea60774b55ee8b1d97f","lib/libwinapi_nanosrv-pdh.a":"0293a1dc8cf65943d752591bab9fc7e35e52d8d3e434caffe01501efa12c7725","lib/libwinapi_nanosrv-resutils.a":"d07b9ae21e09e9fd1cf2a34e29d15083b4488cd379e86450e43fe96c94fa7c1a","lib/libwinapi_nanosrv-snmpapi.a":"23801069b59bfa63e1ddc1215952bc7cdf5c3759d737391b3f0022e3447fa342","lib/libwinapi_nanosrv-tbs.a":"0b238cecb91ac3f3009dadcd6ba5ab97966dd8ffb04fb2f02192b9d684572cc9","lib/libwinapi_nanosrv-traffic.a":"f785453c167afc1c307ccfdfe118623dbd76da7eca57693f8c3b0b48f5c99f54","lib/libwinapi_nanosrv-virtdisk.a":"e00fa531feb4605d0c57bd0fe666013cacb32f6a6f3b507783db1e6fc30bd5bc","lib/libwinapi_nanosrv-vssapi.a":"3f2d034551025175703eed381e2c7a57f066c338d03df1e928d65824cfd66a4c","lib/libwinapi_nanosrv-webservices.a":"2ae64d017c4e93543315c80651b85c50fe657a436dfa4981ccba86267fb1a27a","lib/libwinapi_nanosrv-wer.a":"63a98d54282376fc4164514ea6b3d0e52b24af62b2061e2f4470e4ddbee524f7","lib/libwinapi_nanosrv-wevtapi.a":"a92de1acd31bb0de7561d0639d43758d52a21b36e4bf31301e0b6684c7f2bb72","lib/libwinapi_nanosrv-wintrust.a":"b64d805e86062b99e3c91852e0d3b06cc730275353c6a0f5e73d37035a2d4452","lib/libwinapi_nanosrv-wnvapi.a":"4e9cc9f9c40c69cd8a35b347c65281340f8fee3a62c95589c4af382904b7113e","lib/libwinapi_nanosrv-wsmsvc.a":"ebf84b310b64ac901848e585bb2dc70052555685e327de26af717bde7d4edeb4","lib/libwinapi_nanosrv.a":"466d7a38f0751d8d45510cf885835ada4c6b620f04010bfe78088cc3af4466a3","lib/libwinapi_ncrypt.a":"9528d1ea3137810ff543e4a400e45694b3012bd020dc4d16d822bdd4c849c345","lib/libwinapi_nddeapi.a":"925181b8f854a2d3d1199c295973e72ccd41c6305d0e02acd14531f19a08e2c0","lib/libwinapi_ndfapi.a":"5ec4360cbb064903a5efedd5396b57a10233c377e823e69b95766d843023e11e","lib/libwinapi_netapi32.a":"feef4a95ccf8733c20ad24c3cd7ca44637663714121a5bc94ec52d0f7bb10613","lib/libwinapi_netsh.a":"72aaf2d1b4ce73e1b61d60fc82c7e9e4f2d02767bf25981012f3359ca7cf2114","lib/libwinapi_newdev.a":"90773a4fd90abb7e64c3bc5dbccbe070ef0035bc66c5747187d683c933ef2c55","lib/libwinapi_ninput.a":"34a426eb6ad23e4d5b6e0d947d6e10ef0dc119157d6d762be4926bfc0893c96c","lib/libwinapi_normaliz.a":"7e1b6bc02ace0c902a18244e907446411155a5fe5dbeb8f160bc5198c804266c","lib/libwinapi_ntdll.a":"3f2d8d2a13023b62c490611cb24585a8a5cafacf794e9ee5655a90678de03fe0","lib/libwinapi_ntdsa.a":"4137b9f3447a798fed0f916bcaa82d9413ac98fa1a7bc6dceaeb4e0ae7f45bb1","lib/libwinapi_ntdsapi.a":"b8671ed8ce19dc28f5daaefd891f6e621610523f180c70588764107b57ffae5c","lib/libwinapi_ntdsatq.a":"d2c39463900a5bcf52561dcac9fc8527f3a0348f61183f1b1e4e3b6e782eb8e4","lib/libwinapi_ntdsetup.a":"9d786bc32c3f4f9ad534cafdc07e81a9c375618eb6e1f342f7a89b9d1258f184","lib/libwinapi_ntfrsapi.a":"9c3095b92625fef6531bce0d2d08536f83fca0f8ee28d495f95976bbe73619f9","lib/libwinapi_ntlanman.a":"1bc7aa39f5d6bb0af7b3863d4902027af95414b9246b244d6b40c306b6dcb74c","lib/libwinapi_ntmarta.a":"cf146621e756a21cd45bb9ab5f4d8a016fa2081dbf4e108861b2b131dfde5d9f","lib/libwinapi_ntquery.a":"652de6a12f9d4bc5fe4462f1b476f1ad559d8407eafc28e0080bc59a3ad57a4d","lib/libwinapi_odbc32.a":"5d8ec8c2a587a5eb00eb8f6f08d7d7e00ed1e03cfaca2070efb1d0f4da6a9562","lib/libwinapi_odbcbcp.a":"8c99d188cd45f740a2a58ff7281b611ffdcf651be2bbb5af15543b60f872f6ea","lib/libwinapi_oemlicense.a":"bc88d3b4bb4a91945e8c288539e415d2a1ce5db6d3c342f3ec5860ba1e300df1","lib/libwinapi_ole32.a":"7ef3b297c9d0c5cdf5ed7517247829466da34fcd19d8348f3f2d6c775ca3ff65","lib/libwinapi_oleacc.a":"ed4c0afe844de194371ed21f8f2e18b48c80eb42377c143baba7e70dbc556456","lib/libwinapi_oleaut32.a":"b25824f0023161a0610e9c7d6d9731ebe7b541c6a31c34fa7bbe552b6754540d","lib/libwinapi_olecli32.a":"b3dd8c5f9dc52bbc832c7bf850a3e738ebd9de7b0fffca03b272721ecb687886","lib/libwinapi_oledlg.a":"3ab9a3c0688897d538e66926b1f01ad88719ac959fbda99be2f661baa9c24097","lib/libwinapi_olesvr32.a":"cb7cfb28a777c5f9e8cde3067d98fad5ccb3526acc5d9bbdd5d2d1bf981c37e0","lib/libwinapi_ondemandconnroutehelper.a":"0bcb234cde4260ffce27aafb540bd893cf99415dfc9ebf1060876e06987fbfa9","lib/libwinapi_onecore-api-ms-win-core-atoms-l1-1-0.a":"0812399abc86ab0215582f2f91886652038a12af419cbeadf0a1ae52168f5467","lib/libwinapi_onecore-api-ms-win-core-calendar-l1-1-0.a":"74994ed6e3beab0a6a2a7ac5c47c0f965305447c1a94db08c9475be3918dbd34","lib/libwinapi_onecore-api-ms-win-core-com-l1-1-0.a":"11a832d46628bf355e710643dbf7a4497fad47b22c2a5510fbce5bd1619fba05","lib/libwinapi_onecore-api-ms-win-core-com-l1-1-1.a":"553270f375f8be0fc596cb2e1435cc96b54a8270cc2898d6118e926c7a4131e7","lib/libwinapi_onecore-api-ms-win-core-com-l1-1-2.a":"94ac798c39cb9beb94082a6a62d55cf28a1122d3d81e982f2727a5548e96d27e","lib/libwinapi_onecore-api-ms-win-core-com-midlproxystub-l1-1-0.a":"000e19cab23d0aaf80f3d0421f217df0855fe6406418d898261125947c806b30","lib/libwinapi_onecore-api-ms-win-core-comm-l1-1-0.a":"c2f2465b2f801de6e60611e2341b7f6fd5816042fb0406edc8d6c283331b70ff","lib/libwinapi_onecore-api-ms-win-core-comm-l1-1-1.a":"512d357839150ce54a7e49d33f51492015a553babdc33cb4f38a60e61f6ae5d8","lib/libwinapi_onecore-api-ms-win-core-console-ansi-l2-1-0.a":"6aaaac3062b71b8c27397b362d1cd37f5ce0dd95bbf59f8993498dedfc960f4e","lib/libwinapi_onecore-api-ms-win-core-console-l1-1-0.a":"11714e54306dc6aa754da51731b711211bcce620d8f353ce58d4138e396237e0","lib/libwinapi_onecore-api-ms-win-core-console-l2-1-0.a":"e772713586ca9e3760e48d3c582742e68a06753f0f9417f9013a4393c5267fa5","lib/libwinapi_onecore-api-ms-win-core-console-l3-1-0.a":"d730564120a07cff27689d061caffe675421c109f48325a734c268afcb86ffa2","lib/libwinapi_onecore-api-ms-win-core-datetime-l1-1-0.a":"225560d62b6c7ed4cd540a98e7a13bed54860adc230390b182a8636f91739b63","lib/libwinapi_onecore-api-ms-win-core-datetime-l1-1-1.a":"aa94d82f882c7de0ca31a5120bd50387bb8cfb1bf46b37d667562d31a5035153","lib/libwinapi_onecore-api-ms-win-core-datetime-l1-1-2.a":"f229e2c630e9f0ed6393a116562b55f32a9eccd82db8ae7bb7dc59da6030d711","lib/libwinapi_onecore-api-ms-win-core-debug-l1-1-0.a":"e9a5c6d8fa217a81afb3265c8eb25d879f714974bc8893f3487ea82b996bf19f","lib/libwinapi_onecore-api-ms-win-core-debug-l1-1-1.a":"3ca35a5579d682998fd8165c7297e7897e878d314d8e4d36c9cad977b1bcf16f","lib/libwinapi_onecore-api-ms-win-core-debug-l1-1-2.a":"af5b2c57682045533e88c3b0cc2f135a18a70e92f1aef01d63d7004ec967e779","lib/libwinapi_onecore-api-ms-win-core-delayload-l1-1-0.a":"99f6670388088ca1887fb5dd1c9137431bda35f9a745c2a1c44c799aa48644d5","lib/libwinapi_onecore-api-ms-win-core-delayload-l1-1-1.a":"f573eb9a19338214d65bb2761ef980505f8e2c5baa1dd12e7c5b42ece09f3c49","lib/libwinapi_onecore-api-ms-win-core-enclave-l1-1-0.a":"3cadda78b2cf277479cb4a02e46239cc21758571f3624e95eada3f7ed1bb2cba","lib/libwinapi_onecore-api-ms-win-core-enclave-l1-1-1.a":"dec9e42133f0bee3d7401ef0b5047b4f256a9e04a93e009a6bdc74b604815b33","lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-0.a":"3bc506d06a39131955c3b4e29649f46ab06151c3fa4fedbf869d8c679530929f","lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-1.a":"14799617aaf44690708c4fcfaff49a70e773fb9b8943b88211a96c26f1a01280","lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-2.a":"52c25a2c52724b98857d34dc5aad36282823fbb932e51f86c9d5712d9aec5df2","lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-3.a":"252bb3e39ed81e47c3f149119859ec65ceb2d1e65e7288e0a0bd0f552d56b597","lib/libwinapi_onecore-api-ms-win-core-featurestaging-l1-1-0.a":"e2df929933e2c413b3b8dd9c9f16abe5e2543ba89b9cd74a427a10a759453220","lib/libwinapi_onecore-api-ms-win-core-featurestaging-l1-1-1.a":"04cd671c6e0dc98b930c832db1c26a90a49c9073b8051dc23817cb56c59c559f","lib/libwinapi_onecore-api-ms-win-core-fibers-l1-1-0.a":"36501ad8bb5fa4f78dd28471ceb93b98e211c1dd550c0e3466ac97470fa7a3ff","lib/libwinapi_onecore-api-ms-win-core-fibers-l1-1-1.a":"0337bae492fd8e18731498095ac2a0ce523fe048eeff4d2159b4704bba32d7ad","lib/libwinapi_onecore-api-ms-win-core-fibers-l2-1-0.a":"d59ddaa31a6c62b75b6ebccb0f85c6fd454e87165127b1e4bc6bd3f7493c0410","lib/libwinapi_onecore-api-ms-win-core-fibers-l2-1-1.a":"4cb5b72b4737b3c953ac5d46d6a7438745f4f0c1d0d71dc7a05f3926293d3739","lib/libwinapi_onecore-api-ms-win-core-file-ansi-l1-1-0.a":"9e7c0db27b3362214c1b2d18ae63bb4d77b66b6aa4a26e104faf176a9584da05","lib/libwinapi_onecore-api-ms-win-core-file-ansi-l2-1-0.a":"386beeddd388cfd272c8d851e1a16f70f6c2e0fd467407651f548c90edbc2ff8","lib/libwinapi_onecore-api-ms-win-core-file-l1-1-0.a":"a51ece2c03202c0abc6b8a85f1ec7a6ef459cea1d1305e87bd61820a0b80151b","lib/libwinapi_onecore-api-ms-win-core-file-l1-2-0.a":"3256c7a1b9a18162d1e087c01833decfb3b423d9bdc798d024c0181add03279a","lib/libwinapi_onecore-api-ms-win-core-file-l1-2-1.a":"0cc7df4c4e9b351e98f855fa535705aa2e66b57419e21f5bee873e37f428cef7","lib/libwinapi_onecore-api-ms-win-core-file-l1-2-2.a":"d10c5a1bb1ea57a670cdd1963cee2634162e2609b603f13f0540ac6820d99639","lib/libwinapi_onecore-api-ms-win-core-file-l2-1-0.a":"6c280211556cbea0f974ae0184f97d9d77062e2005068f017db1a37355acd452","lib/libwinapi_onecore-api-ms-win-core-file-l2-1-1.a":"11199d60fb9f6ff631401da8add46a90420c36bdc5fa9f775026984c514ce1f2","lib/libwinapi_onecore-api-ms-win-core-file-l2-1-2.a":"0e33bd2b47ab2abd61e9c8192b5bd6b74b709aa88eac9e6543e144435c233ab6","lib/libwinapi_onecore-api-ms-win-core-file-l2-1-3.a":"51f3f8a48bdf98220863dd08254cf13bacd3565b775c277a579a995b42ef8511","lib/libwinapi_onecore-api-ms-win-core-firmware-l1-1-0.a":"0c5ba3b62f84a3c09f9fd96d7cfb095c32ea239945df75105b8ae3c8d4d68d5d","lib/libwinapi_onecore-api-ms-win-core-handle-l1-1-0.a":"5274984398f2722c8bd9de4379f861dfb459e9996adb161161f097477a12996b","lib/libwinapi_onecore-api-ms-win-core-heap-l1-1-0.a":"9b740168c4b0c590322d58c04a4a03399a6fa5a4fb3417c7a22d536b13d62258","lib/libwinapi_onecore-api-ms-win-core-heap-l2-1-0.a":"3cb8d04859c3d52d7fca1ec72ce333dc80f57edd6d6a2e4469f906572af2cbfe","lib/libwinapi_onecore-api-ms-win-core-heap-obsolete-l1-1-0.a":"a46949618369e6ca98b4ecbf9a7ba11e0a499875a57b7d3823e2d47cdad51ed7","lib/libwinapi_onecore-api-ms-win-core-interlocked-l1-1-0.a":"ef84da9b01bd67d9ca5e4cb6e7cb940b0c87e328433ae21622493cfba643bad4","lib/libwinapi_onecore-api-ms-win-core-interlocked-l1-2-0.a":"f1885d437d2c71a165dbe1acec1004e9c0e46d867b99c98f2b8672ba3fa65d0b","lib/libwinapi_onecore-api-ms-win-core-io-l1-1-0.a":"00e3af3b885ebe7168dd41ed22ce70ed0d86c8b3e177d5e75cfdea6b7c58f10a","lib/libwinapi_onecore-api-ms-win-core-io-l1-1-1.a":"f625df3356c5b38ee99a3b333b64711e44a624994995a9e10934668df93097f9","lib/libwinapi_onecore-api-ms-win-core-job-l1-1-0.a":"ee0ac0735a10054b65f4938215d7e41ef644f9b2e5e81af6659868673c318cb0","lib/libwinapi_onecore-api-ms-win-core-job-l2-1-0.a":"903ea43d84e08de9d666196caa15153b08e662a928ee2e18215833fea3c11f39","lib/libwinapi_onecore-api-ms-win-core-job-l2-1-1.a":"37c8fa3a59f8f90ecefed722ba2c803b9673f3946d0ad978ef9a0de85399f448","lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a":"0866b4788c59fe3bffdc96eef646b2f478ec36d24933fbaa8a8f33f92f97e428","lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-0.a":"c81e555151a68d16ff8e04ceb9683c0d892ac05194a4d69819c60e5ac2c7a764","lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-1.a":"f53901accee09d4bb6a1a9cd9bbe02b7c064885c4134e7ba41921264a057d1af","lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-2.a":"2da3e0c1b26cbed327d20ea42595819e6c4f35ddcf891539adb76c222a51572c","lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-3.a":"95c16a2c24de3bc76574937ef81202d79506a8cd02ac9fad8ed0b2b8cc6b4986","lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-4.a":"fe9f7eabb02c5db5bab6f22e76843e93b9a7a1885435ffc51a50e5010bbd584b","lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-5.a":"adc4ccf4230b51f7b8a52af5076f9a236817234dbdcfcf3d4268c35d9601b982","lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-6.a":"b758191d8a9d730f571b6022d466ddefa3309ac2980a4da350bf48ba424386d8","lib/libwinapi_onecore-api-ms-win-core-largeinteger-l1-1-0.a":"a22ba51cf66d25f83d07ea6eac7e7dec65c084ae74046e7247c5e3dc2e2140f6","lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-0.a":"68677b52813aa0b0ea5ef424b7855f96dae57ce90df274c58d602a5ca43909fb","lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-1.a":"4e39c567d18195f2ad4da9a8f0bc2b78118ebf674f2d28435c2cad4ec0f118f6","lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-2.a":"09f3783f156e9aafef1513f82b111e153d4742b8060e811234d08ce4cd7f9df5","lib/libwinapi_onecore-api-ms-win-core-libraryloader-l2-1-0.a":"a690308b96b335744482dc37e8e60946ff9e2ae1010c5c35547a1f4d03464e00","lib/libwinapi_onecore-api-ms-win-core-localization-ansi-l1-1-0.a":"4f1aa0006bb4f60f02a8202006ae9e28330330f1a7bf43a5c1a84eaa55e64ae0","lib/libwinapi_onecore-api-ms-win-core-localization-l1-2-0.a":"4dd512fa973a9af26b48beb0cbaebd4a0e0fdbb86e5e39cfec515e4e59915766","lib/libwinapi_onecore-api-ms-win-core-localization-l1-2-1.a":"36b1ad3787f9e65956608eac3851959246de8440f84cb6714dce8b97bb340eb2","lib/libwinapi_onecore-api-ms-win-core-localization-l1-2-2.a":"bbb7f176f1bd373f4344722d6800b27d3aad7e47e8ab588ce204d04e616c4488","lib/libwinapi_onecore-api-ms-win-core-localization-l2-1-0.a":"ae00c55870a9b20bee701ea81e9886bb34dce92581780b12d523b46f6b2fa2b1","lib/libwinapi_onecore-api-ms-win-core-localization-obsolete-l1-2-0.a":"d31290baa301772ce4aa988d2d5b8f299c199b5bfa887fbd5473102cb3babc07","lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-0.a":"5240bbda416bb5ec960f7bbf79f08d475f5506000f72f1d9cfc9cd66596a06cb","lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-1.a":"bd7235df3b99350337da93eed158cca56c4e78f3642b93e3d5ddcb0e9cef34c9","lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-2.a":"2e6a99934abbd9efabdcbf881a5a98aebe2fa66ad8666c8441a68255de78d95c","lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-3.a":"04b4aa2f4348cdb534d9b6acb5928ad215dcbf3bfea9a722be3dd0ba9f6082e4","lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-4.a":"ce3cb40fe7191c017aadadb8014e4350151566c1a8699604c104e9853c63c828","lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-5.a":"7d57f64caf57b70d1f608c9c4232405203217721d20ba21addccad59a255e860","lib/libwinapi_onecore-api-ms-win-core-namedpipe-ansi-l1-1-0.a":"91cdd0ea0d8ab1b7c6a8f6d14860d465b1906dab20a087da0e056531bed9b544","lib/libwinapi_onecore-api-ms-win-core-namedpipe-ansi-l1-1-1.a":"7378bc3ed7e88fc2f6183fb98e455fd749d14eef8a4af1247625ffb187862a8a","lib/libwinapi_onecore-api-ms-win-core-namedpipe-l1-1-0.a":"556b0d07663cd467eddab9f790f0a0c74e4dab4c032a0ae2d2f9f43d7e07c9a0","lib/libwinapi_onecore-api-ms-win-core-namedpipe-l1-2-1.a":"72a85c923fc506a03ce0004e0c8b1e4e52518ee8ac820b8ebb00da4d6a3ef9d2","lib/libwinapi_onecore-api-ms-win-core-namedpipe-l1-2-2.a":"89bc3d4b973fdafec0c0d3c3f90d5aaeef251151159c492b74893dd395fd6818","lib/libwinapi_onecore-api-ms-win-core-namespace-ansi-l1-1-0.a":"94334cbaa4d5be581a2dde5355703c7fd15ca8073b782566d8723b5ab5346875","lib/libwinapi_onecore-api-ms-win-core-namespace-l1-1-0.a":"7a66ecb0556eafd9eb5df60d1f803b2b8aadd97b774f9411531a4a3a61ec6bd6","lib/libwinapi_onecore-api-ms-win-core-normalization-l1-1-0.a":"0f267f6e3eef425ac76f6e7c0bdf112093f41aaef21865658ee8f745979042f8","lib/libwinapi_onecore-api-ms-win-core-path-l1-1-0.a":"6e79e97e807cdefc677bc39f2021a72f35089a454c3f5ac7338851bad48e0e0c","lib/libwinapi_onecore-api-ms-win-core-perfcounters-l1-1-0.a":"2f58c2aa61bc159d13daacf746353279e959b2543c48f32ac0c848eba2a66c53","lib/libwinapi_onecore-api-ms-win-core-privateprofile-l1-1-0.a":"6bd0917eb64474d9759928e9a8573bfad27ce0100b5d0b135e6fd8764dec52bf","lib/libwinapi_onecore-api-ms-win-core-privateprofile-l1-1-1.a":"d99e384c885a50e3eaa338fdd3622b203f3be5bb27963ce885ec43def000e887","lib/libwinapi_onecore-api-ms-win-core-processenvironment-ansi-l1-1-0.a":"324b59dceb78356919f696843114145930f8c4e8f9d927a7bd7bd1b4ce29ab11","lib/libwinapi_onecore-api-ms-win-core-processenvironment-l1-1-0.a":"446fdd1a3f8d9e761022248c8442e7c9db0950e50eedbb9ee7839c10cdd021ce","lib/libwinapi_onecore-api-ms-win-core-processenvironment-l1-2-0.a":"94490242107b24a541305dbbd617e8b04619ea688e28269ab0a685daec51a054","lib/libwinapi_onecore-api-ms-win-core-processsnapshot-l1-1-0.a":"c4556ba06d127b26cb13af4c60f5a35a13e7ff78ec63fcc2e5a7f0edd13af81f","lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-0.a":"ace2860be9a90df5c430acbfaed6054a27a978f9e98f4a0604ee4b2796982741","lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-1.a":"1234e12026f9f68bd59227aa20c5be4324d2f04eb9983a8fc99ab8e8dd39a8ec","lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-2.a":"7fca19a6df8946d2be7f55ebdcf85cdc6a267b9ef5bc9fa26f47867d3fa4c132","lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-3.a":"909e60143db5394c1207eaf8ceddc6df9be08cf595e012611d1f3f5211cc53bc","lib/libwinapi_onecore-api-ms-win-core-processtopology-l1-1-0.a":"d1143e676ad231352b8b00bed0b485091860bc3ce6f5e0f8b137a3580ea3d4c2","lib/libwinapi_onecore-api-ms-win-core-processtopology-obsolete-l1-1-0.a":"ebbe6e1ba85d1433cf9d9026e40a104b102241ebf947c025a4859e91e0694343","lib/libwinapi_onecore-api-ms-win-core-processtopology-obsolete-l1-1-1.a":"e119951f4458646e6ed9c43bbb8de80e7036e62ff455f98e1a9aee25d2e28cd6","lib/libwinapi_onecore-api-ms-win-core-profile-l1-1-0.a":"e85b0a4602e1e77c8de8bdf7f9e9b13e57240d1496e28304d9e8a092e4e1c12d","lib/libwinapi_onecore-api-ms-win-core-psapi-ansi-l1-1-0.a":"98fd2d3982e8e4713beb48f99974e73fd544cc4c2aff54e50109db2a07c14e15","lib/libwinapi_onecore-api-ms-win-core-psapi-l1-1-0.a":"bb00b81fd4fb193c85a6437b7ee986cf2e60362fb32831ca88f7dfea345c29e5","lib/libwinapi_onecore-api-ms-win-core-quirks-l1-1-0.a":"dfd8122b210a76758087e8c07b1ecc52f869d615d98ba3e4e76a90005448d5b2","lib/libwinapi_onecore-api-ms-win-core-quirks-l1-1-1.a":"b3b71a4db59b0c5419869cb5cf92c14fc17381b110b17cd4cfc8f5c4c74479a2","lib/libwinapi_onecore-api-ms-win-core-realtime-l1-1-0.a":"ad90128213421e6758c154b3e84c259dfb6d04db1986926342258a933266684a","lib/libwinapi_onecore-api-ms-win-core-realtime-l1-1-1.a":"1684a81e385a25f8690233b4b2e66695a955b516bed25c0da4ee59ddae5e79ce","lib/libwinapi_onecore-api-ms-win-core-realtime-l1-1-2.a":"bd31c35d7daec22904c6f08ed6ff684eba9b8e0f1b51ab22c60aa41667b4c3ec","lib/libwinapi_onecore-api-ms-win-core-registry-l1-1-0.a":"75e7e87e3f11ec241326ee839455f3e347771d56649390ffccededc021ba543c","lib/libwinapi_onecore-api-ms-win-core-registry-l1-1-1.a":"c20fbea2b3cdbc0226a08468a264354da50434ac664c737496fc9d6c9f84e2e1","lib/libwinapi_onecore-api-ms-win-core-registry-l1-1-2.a":"750b3188270989da73a237cb9a0d1f50cdc9e14711076161882f909bc98b0b5a","lib/libwinapi_onecore-api-ms-win-core-registry-l2-1-0.a":"f01e53c0fc755a96177623988e55f1b90cfaa5ab461ae94a30522a52a3cc626e","lib/libwinapi_onecore-api-ms-win-core-rtlsupport-l1-1-0.a":"ffe64e3fe1cf8b31250e77499e0dc7a7effaa0e9c8975affeb23cc6ad9e62e1a","lib/libwinapi_onecore-api-ms-win-core-rtlsupport-l1-2-0.a":"b9bcba8e05a69402ed0d42c42d9f3a0b02a78f049a3414866c4cb612e52d3d44","lib/libwinapi_onecore-api-ms-win-core-shutdown-ansi-l1-1-0.a":"1378aebbd3383751ac51943e258afe8cec4ca0642a7de787eabb867900beeeec","lib/libwinapi_onecore-api-ms-win-core-shutdown-l1-1-0.a":"8415bd37b28325d9f12ba022ecad9cced0a1a53cb98bd2d7bf5ca08f434af9cb","lib/libwinapi_onecore-api-ms-win-core-shutdown-l1-1-1.a":"5a386dbb47081c4835d4c712b5530c7ee8d2307d0d04c85d473011d20933826c","lib/libwinapi_onecore-api-ms-win-core-sidebyside-ansi-l1-1-0.a":"4694382000fbb05b54077132f0a5022a90a2eedd7973fa9d6e73ed71cb1a0350","lib/libwinapi_onecore-api-ms-win-core-sidebyside-l1-1-0.a":"95cb9ab35d06338b411cd22232df3f4ab7ef0a10782859f5bd861a2d3762c6b6","lib/libwinapi_onecore-api-ms-win-core-string-l1-1-0.a":"6d104770540533f00fb9b96ee8416a86483c692bef598804a55d73a8b7c56130","lib/libwinapi_onecore-api-ms-win-core-string-l2-1-0.a":"099570484acd8b263271b80cd6027f1a0ae98d2970acd686f63db6790834a55b","lib/libwinapi_onecore-api-ms-win-core-string-l2-1-1.a":"6f1090d7736991cadfc84ee9a6bda4410059142255d338990d3065d335e3de85","lib/libwinapi_onecore-api-ms-win-core-string-obsolete-l1-1-0.a":"cf77b087474ef60964614f323df7b94cc3f2a915860a7543ff3f35d9e773718b","lib/libwinapi_onecore-api-ms-win-core-string-obsolete-l1-1-1.a":"934ab5b1cd5a2a1bacb740e06d7bb028845d17185775106ee02456320d154c87","lib/libwinapi_onecore-api-ms-win-core-stringansi-l1-1-0.a":"5fe3329d1602f505c2336841d3984b3a894ad551dc4a0935d08035fa85d1e4d3","lib/libwinapi_onecore-api-ms-win-core-synch-ansi-l1-1-0.a":"65d6ceb10e4bcd2d49e539f2cd92e0eb598a74ccddff21b72c55d184b9eda1f9","lib/libwinapi_onecore-api-ms-win-core-synch-l1-1-0.a":"ed400709404d9f5a06929518da72eb212768ff315c08a66a07f3ad2b40a04310","lib/libwinapi_onecore-api-ms-win-core-synch-l1-2-0.a":"3eec255608b4a09359e6213d3222fe2bf21a6eb3584e2efa40bdfeae1ec2eef6","lib/libwinapi_onecore-api-ms-win-core-synch-l1-2-1.a":"7795df40583158c625c53dbc6a567ac6074fcb89524207233915a42e6b192842","lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-1-0.a":"540a4ca86c9a10b5279437858fe0b8aa3265ada2c362ef60adfdf4abd8617fc1","lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-0.a":"ea94de89764b714a3b8ed0798f727699172cb496b91eaa217afa064def19d268","lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-1.a":"6f20ed61a65bb14ca16df5c3036cd919b5a41cb437b8b685a0c496d794255d5c","lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-2.a":"5400ee8df09fa91470514c59b0c2d3862f19ec17c2ac53ab7cbeafef87e53a89","lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-3.a":"3c261a651b256e46bfa7bc518ab3c13783b3347ebcc8e02605f602d9ee0da1c9","lib/libwinapi_onecore-api-ms-win-core-systemtopology-l1-1-0.a":"a622795b6f3ba89aac17004549109f56eabaac6ae39ab3a92bc036210c3c39ec","lib/libwinapi_onecore-api-ms-win-core-systemtopology-l1-1-1.a":"0c4a4d58b42e982a269654a9b2a532f365e6ef6c2008dd30d4a9d255f3d24f1c","lib/libwinapi_onecore-api-ms-win-core-threadpool-l1-2-0.a":"cad2d51ce58c2ebeedad4cdb2d5cc5fe29fd4541d95a506185c40ea05e0782ef","lib/libwinapi_onecore-api-ms-win-core-threadpool-legacy-l1-1-0.a":"8034dad817b3b416added42802f7113a4ebe3262d22caeccbe436915a59e1df5","lib/libwinapi_onecore-api-ms-win-core-timezone-l1-1-0.a":"7e0f32bddb29e8243718fdb75d0484d6ab22ff190bc18464106f2f36984ba71a","lib/libwinapi_onecore-api-ms-win-core-toolhelp-l1-1-0.a":"5bb0e5476698fa8705032534cf4a14dc78967966b0d85f73b4ac6a47f683d173","lib/libwinapi_onecore-api-ms-win-core-toolhelp-l1-1-1.a":"406e1630f1f21547269a90b3d924320f21b0283a852c63be6e219a24489aed3f","lib/libwinapi_onecore-api-ms-win-core-url-l1-1-0.a":"a7fd5be6b75d6331126d56347a04f5325999d768dbea3fe41765bdbfab15a393","lib/libwinapi_onecore-api-ms-win-core-util-l1-1-0.a":"b373c42a81ed6e05ef9f6974d02d84b7a62f05982c6c91d2248457b2e75d7c58","lib/libwinapi_onecore-api-ms-win-core-util-l1-1-1.a":"318e7f0eb69f65a6541c73604ccb86acea6b8a057e2e3f2b992d7d5251c73ee0","lib/libwinapi_onecore-api-ms-win-core-version-l1-1-0.a":"80b563faec0b94b2c03418f91a5cbc4561b37054b70699bf931872f208e1e2f0","lib/libwinapi_onecore-api-ms-win-core-version-l1-1-1.a":"8503c18952cd31a1d98a917a4611ad9bcca9885d1b269b55ef411466d5d5d92f","lib/libwinapi_onecore-api-ms-win-core-versionansi-l1-1-0.a":"e8ebcd5e4b1d1c01315f7574af5240c107fba23655dd47e49adcb241abc5d4d7","lib/libwinapi_onecore-api-ms-win-core-versionansi-l1-1-1.a":"cc4532d656729f50dd0cf42fcbb8d6cb4023803afbd3c6ccb71543b1a54ab472","lib/libwinapi_onecore-api-ms-win-core-windowsceip-l1-1-0.a":"3f7c40c879b153cd9f66bd4c18137ac0d6aafeb17ed157439beb8f8591a3edd3","lib/libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-0.a":"cc4059edc72485280ce47980ae015ce4152f621367897065b2cb9a5509b235fd","lib/libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-1.a":"b1abe2529852fc309b692bea80d8c60611a40f48068ea6a9e7f19134611501a2","lib/libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-2.a":"ede7bf4ecfad8d0a9fc58fddd308b06ca815da52d6177cb531052c549134684c","lib/libwinapi_onecore-api-ms-win-core-winrt-error-l1-1-0.a":"3c2c0ca0e39ea6d7e376ebf309020ced4d2222975a33ed95547e4dd161d39f61","lib/libwinapi_onecore-api-ms-win-core-winrt-error-l1-1-1.a":"df55987015d91bbd5dd22763b011ad3f78dcf78fef76ce019a96d694361b9f24","lib/libwinapi_onecore-api-ms-win-core-winrt-l1-1-0.a":"4685cde798ecfc1e51915ef4c958f506dc881ffcbef15d544b9e6d3cfa973b4e","lib/libwinapi_onecore-api-ms-win-core-winrt-registration-l1-1-0.a":"7f777f480dc4be64729cc3675029b92bce019d498f6f70f05b32b9cfdcd416bb","lib/libwinapi_onecore-api-ms-win-core-winrt-robuffer-l1-1-0.a":"678aeed581412d7f57d7f5952a3fd26711743a0316c13c048b225f93dc416d63","lib/libwinapi_onecore-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a":"2d490f02015684e8bdc4513d0e98a0f4e2a7a137d4707b680d496fe32d5b08b5","lib/libwinapi_onecore-api-ms-win-core-winrt-string-l1-1-0.a":"17729e054168b9fff9d59aa70808e237561bf6bf6681c7c9a254e40e05a3dd8e","lib/libwinapi_onecore-api-ms-win-core-winrt-string-l1-1-1.a":"efa6a01c28f7087c559b2c3a62d89c2349f31b4bf26ed5b3bd96481852315ac9","lib/libwinapi_onecore-api-ms-win-core-wow64-l1-1-0.a":"eb8473b785c6f7a15c73a46f08b8244c3b50096464555bea8cdf5d97150d20af","lib/libwinapi_onecore-api-ms-win-core-wow64-l1-1-1.a":"a2580ddc6724143c43623d5a8616a631fce81b215537ea01a7debf0a7d0df4dc","lib/libwinapi_onecore-api-ms-win-core-wow64-l1-1-2.a":"0fb50f5b9fb8db51e3b10fa2751ce2d13c15a11476049062a7d765c82e296cb3","lib/libwinapi_onecore-api-ms-win-core-xstate-l2-1-0.a":"59273163fbd4bf35b5c77030b8eeb90deb24400690c3709497198e4bc82fa2c7","lib/libwinapi_onecore-api-ms-win-devices-config-l1-1-1.a":"56cc37d116f3b1c33f994507e20745702f160576f6f2405cc96eb501947aa6d0","lib/libwinapi_onecore-api-ms-win-devices-config-l1-1-2.a":"4c09217fc1f3e02608a71a36374f484697f7f7b7b4358be96653e6e3bad62234","lib/libwinapi_onecore-api-ms-win-devices-swdevice-l1-1-0.a":"0900989505caab7232ed73b5226dcbc30aad0c8a368ba6e8d733005c7f29b5f8","lib/libwinapi_onecore-api-ms-win-devices-swdevice-l1-1-1.a":"97c280911041c2f23ddfa24495d6c93f3e1184a732c05d3e6c873bbe67bb00ef","lib/libwinapi_onecore-api-ms-win-eventing-classicprovider-l1-1-0.a":"15b91234bd09670b2568c5e7b55b4aec80973f3b202bf59825437c60b37b45f8","lib/libwinapi_onecore-api-ms-win-eventing-consumer-l1-1-0.a":"502d877f0201f26732fc4a248049104e795b9f9f092d3b3f386ee148393da278","lib/libwinapi_onecore-api-ms-win-eventing-consumer-l1-1-1.a":"8684bb1e5507cf59e72cdb6b5c6adf60763657da95cd10207a72043e582e533d","lib/libwinapi_onecore-api-ms-win-eventing-controller-l1-1-0.a":"090323e98c1beda70440b499b27c360f8302e0ba5ae1fab8d48ba0f3037cb349","lib/libwinapi_onecore-api-ms-win-eventing-legacy-l1-1-0.a":"fc67ebc5ac0848e4a33266f88f6d78c5b4b86f52a43a909449d9f17cd44a85de","lib/libwinapi_onecore-api-ms-win-eventing-obsolete-l1-1-0.a":"9c3d8b7093047bb97af5c27b5094a85b4782dd40a65e4d09c32bfae29504b341","lib/libwinapi_onecore-api-ms-win-eventing-provider-l1-1-0.a":"9d083184f86b32bbf9f39339c8212db340bcc7204752749b91baba95ee0613d0","lib/libwinapi_onecore-api-ms-win-eventing-tdh-l1-1-0.a":"591aa0488133e53750db593dc0b5c1582dd1edddce9b3c07c645196bd15d80c6","lib/libwinapi_onecore-api-ms-win-gaming-deviceinformation-l1-1-0.a":"ac2eb3fedac7b16eb1137872aa10b3afda45f28a32ee7aa8f4e925014830c047","lib/libwinapi_onecore-api-ms-win-mm-time-l1-1-0.a":"8d31f4c9ce21d88d0331e1d721b4cca1e4dbedf193205f06ea857d2009367e7a","lib/libwinapi_onecore-api-ms-win-oobe-notification-l1-1-0.a":"65d2fbbb95fcb8a3b9dd3f383f3512a0ce4184a6e55168da3c43f2ae4de2f5d0","lib/libwinapi_onecore-api-ms-win-perf-legacy-l1-1-0.a":"f7dcae744e4e547b4c03974cda3cfca00b4c2eded5d288a01b622b1f1c8dee0e","lib/libwinapi_onecore-api-ms-win-power-base-l1-1-0.a":"ff1ff30822a8ae0489f71da371548569fd77c9d9fc7545090449a46c5a8289e8","lib/libwinapi_onecore-api-ms-win-power-limitsmanagement-l1-1-0.a":"59f2e3ceefa32e21b581421d8f53e4c6fdfda9cd9023d59a799e74d887b7d692","lib/libwinapi_onecore-api-ms-win-power-setting-l1-1-0.a":"0b429639fea442d6355d39b873ab8f2a4b434da2584be7813e4342a3029f2cf1","lib/libwinapi_onecore-api-ms-win-ro-typeresolution-l1-1-0.a":"349e6ca3c5b4bb467986317ba926f4a758384fe307229509579eabd973ba5797","lib/libwinapi_onecore-api-ms-win-security-appcontainer-l1-1-0.a":"2d2c1cb17bff1c13883b801aa7670f1794dd6035952427f50791c46090967d07","lib/libwinapi_onecore-api-ms-win-security-base-ansi-l1-1-0.a":"8369a1aa014110ffba11e84e0700c0006f9408677a4642bd1d4b9ef122734b21","lib/libwinapi_onecore-api-ms-win-security-base-l1-1-0.a":"00af2a7b42aadd401a9d8365ed0c8b544bb8ac62ffb2575c0611fe52a0eb77db","lib/libwinapi_onecore-api-ms-win-security-base-l1-2-0.a":"c0e7042956cf6bd167299086cbe250445a398f00417b5867a072c2a7a53cad56","lib/libwinapi_onecore-api-ms-win-security-base-l1-2-1.a":"1c74d3623c867e670dd3a43f6d9604a294d49ca10c8b584736775f988b7d7be8","lib/libwinapi_onecore-api-ms-win-security-base-l1-2-2.a":"e4ae626216830d21353522e0505d97bb41432a50798bb9ae2695ee4ea2d734a0","lib/libwinapi_onecore-api-ms-win-security-credentials-l1-1-0.a":"e2144642234de5f25bae8b719fbdccd34f0e83c7095f3909484f6bb572b8cd5e","lib/libwinapi_onecore-api-ms-win-security-cryptoapi-l1-1-0.a":"fe82598cf64786f69ebbe50262c92ee2e47303965cabfd46dddf52d3c29b3181","lib/libwinapi_onecore-api-ms-win-security-isolatedcontainer-l1-1-0.a":"eafca150987c4555dda05254c24454d0c035678d9dd9874a53e75614e32cbfe2","lib/libwinapi_onecore-api-ms-win-security-lsalookup-ansi-l2-1-0.a":"83b8bfb3724bfec221da2d5375675c1d972c1f65c88ce76260b4cce04ad0a90b","lib/libwinapi_onecore-api-ms-win-security-lsalookup-l2-1-0.a":"b3d93de7b83c76989e5be54a88fef493788b42e0269cdddb2035af5157644ab4","lib/libwinapi_onecore-api-ms-win-security-lsalookup-l2-1-1.a":"196fc35c8341a1e6964e164d98bcc1c1865f7751fa9b0f55445b885348d40729","lib/libwinapi_onecore-api-ms-win-security-provider-ansi-l1-1-0.a":"4b0f69acab66ce2afae8ed1a3bb44def669c3ec3e79eb1bed600eb66a8f5510c","lib/libwinapi_onecore-api-ms-win-security-provider-l1-1-0.a":"3607832456f9dc634c54f62f9015f6367a39c98545d0d1b60d76a2cb625ab38d","lib/libwinapi_onecore-api-ms-win-security-sddl-ansi-l1-1-0.a":"1b9998bae9a3f0c528cf798bcf8289912bd2747b1036739f3a421b9903e5008a","lib/libwinapi_onecore-api-ms-win-security-sddl-l1-1-0.a":"46452b33c2b9072de7931697b171c2f1c3a9f59184a1a7a728c4476a71612a95","lib/libwinapi_onecore-api-ms-win-security-systemfunctions-l1-1-0.a":"05f8bf2312e31fb15777f123e78be2635e99e9c8400bebf6858420990d82b24d","lib/libwinapi_onecore-api-ms-win-service-core-ansi-l1-1-0.a":"a214ee3ca07f06379f6ed1e7fe8492acade3dbac987bb9e05762ad61401477f4","lib/libwinapi_onecore-api-ms-win-service-core-ansi-l1-1-1.a":"1db42bfbc9470319a9e8fe161b22e174b06ef2f2ec2d98b3e6855160fd6d584d","lib/libwinapi_onecore-api-ms-win-service-core-l1-1-0.a":"963d16a443487762259857c127a1e93b455bdd659c831d601070d84fc165b597","lib/libwinapi_onecore-api-ms-win-service-core-l1-1-1.a":"381be039e2b937716a9378b04811b7f2d203043355aa0a6d665e60a16030a237","lib/libwinapi_onecore-api-ms-win-service-core-l1-1-2.a":"535892bc1cbfb57e6790d29dce29762de300187bf6711c129994360e8bc1af25","lib/libwinapi_onecore-api-ms-win-service-management-l1-1-0.a":"4676abab985cdcc5bfc05793431085ce090755767dad44e9d0f56917042161db","lib/libwinapi_onecore-api-ms-win-service-management-l2-1-0.a":"03e0749be1872a53c158eef8b9dcba7edef537034f82950527fc2d078e798e7e","lib/libwinapi_onecore-api-ms-win-service-winsvc-l1-1-0.a":"8507ec80f896c4cd292135beb33a39fc206873df7b0f85aa4efabacccd7965d8","lib/libwinapi_onecore-api-ms-win-shcore-path-l1-1-0.a":"03ebefd78e4e29d993adfb90e5adb2e674a91777d9e05981d7212fd515e2ae8b","lib/libwinapi_onecore-api-ms-win-shcore-registry-l1-1-0.a":"dbf5f6b9e2c97a864dc064ebbbf34ee7f4c876fe50791894fbb825007bc41698","lib/libwinapi_onecore-api-ms-win-shcore-registry-l1-1-1.a":"0b2d927ced5e272176d05ae2abfa458c2c1e8e1c7d402f3dc37c3b7cc113ff57","lib/libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-0.a":"29c15701fa34edad9f07ebc62844ff8e0c7da7eb7879c2dcf790656729648657","lib/libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-1.a":"823bb058035b58960d43dca45129e1c2d89c302281735e9f7397c3804700c98a","lib/libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-2.a":"bd89d9adea94b9f60b74164b5c1c5552055263649399acfa4740d0326bc6fad5","lib/libwinapi_onecore-api-ms-win-shcore-stream-winrt-l1-1-0.a":"998dd225c130263e62b1422f1c6a07b9d6d99e761c80c2f4a22104f635166e86","lib/libwinapi_onecore-api-ms-win-shcore-sysinfo-l1-1-0.a":"ffb5112c8111c6f53c8d40f28833f9cd9b3e7f1037b6081883c9bcf956654406","lib/libwinapi_onecore-api-ms-win-shcore-unicodeansi-l1-1-0.a":"a6e0a2beb10da108f4346e44e551b65fb117a3b30db64d1dcbefc07dc498aced","lib/libwinapi_onecore-api-ms-win-shell-shdirectory-l1-1-0.a":"21d0bdfc474eea6cc0d54794591e7dffa35e3cbd46100d2d0c9af0d5fd9ace20","lib/libwinapi_onecore-authz.a":"49a58f5609fa0cce0ea9264c9e84e1901675696685a74a9e747a3924c63fbf1d","lib/libwinapi_onecore-bcrypt.a":"717fed5354b9505899ad794a2c9c01aaba0e566deaafeec46d6719b74c583ea7","lib/libwinapi_onecore-cabinet.a":"12116c8eb10af853d0e8154ae7cb0b53b4240a5084115fb24d82df6f13cbd9fb","lib/libwinapi_onecore-crypt32.a":"2319a22c1112ef3bc4f7992812945ef87593e4e42a1e1a72c70d06a30e9170af","lib/libwinapi_onecore-cryptbase.a":"acf88705ff0ebd208c17547ff41b35b5f489f59e4c37f5c8e31638dd6ca4ffb2","lib/libwinapi_onecore-cryptnet.a":"c3ce7255256fd6f0feb10879ea437c8b1caf54854d19e4c43746dd02924c39b7","lib/libwinapi_onecore-dfscli.a":"a1c83b4b2eeb361dbd82e7aa806182caa1f7386049b512764fa2b100f648329b","lib/libwinapi_onecore-dnsapi.a":"19aa00039284a9963e3e7b93f06e9f6f22f4e2f509d892bb91511b83925f9de9","lib/libwinapi_onecore-dsparse.a":"360b6e2a94e4e3f00917c4355b3181b97d965e3cfd567bf771c5f553b1e44252","lib/libwinapi_onecore-dsrole.a":"e44f0a3c7c012f3ff6e1a9074569939a596459ce865a32f346b2f192d80ec561","lib/libwinapi_onecore-fltlib.a":"431ce9d5a8a04b4538bb78e9f022720ed937c7aa255a32a803723225952d2832","lib/libwinapi_onecore-iphlpapi.a":"aafd64df92275cb714a16e5e7c3b89098c8a9b7222dd61986a6861d2f31adc00","lib/libwinapi_onecore-logoncli.a":"1a7b0a7cbe4427c403656addaff583ffa46cb3d3b21e8a293f9d36dab8e6fb71","lib/libwinapi_onecore-mpr.a":"d9851af2203bd2e135bfdcf07b30b699bf359e2552b580177c047bfc83ec4aba","lib/libwinapi_onecore-mswsock.a":"25311be32bf6762e7ce0afbbee1dcabd4d0671f25eacc81ef0df1bbda038673e","lib/libwinapi_onecore-ncrypt.a":"087dfe8b0de2be412397868c6ac3c22302f5062c49a35adf02049bfc39d7466c","lib/libwinapi_onecore-netutils.a":"a438a3673029c25ec1b11c518bb1f5998b8306df0aa57e23b860013e84c6536a","lib/libwinapi_onecore-ntdll.a":"ff8d3e71e411a1d8f93b62ff37e5aee91fc1141bb4a2d341c95badbfbfda8a71","lib/libwinapi_onecore-oleaut32.a":"bc4eda49c1613e15278f4d8a3f60aa01c59a871ad839d72fff3e93bad379552c","lib/libwinapi_onecore-powrprof.a":"ded544f89c79bbbaac63283a479bbfe0f6eda8695e3f03993538f837228586b9","lib/libwinapi_onecore-profapi.a":"58f6975302c178463b97388f58d13b5761a546c9d5d17ec77645c1a3c6196a06","lib/libwinapi_onecore-rpcrt4.a":"ed8143d7a2ebefad19460a937dbe08381346a208fc56bdc179f556385f44c2f5","lib/libwinapi_onecore-samcli.a":"3b4e5e362a4f4ca2cf09c505ade1feb5adef669c4d0e39a6efa0e258e4a45ab2","lib/libwinapi_onecore-schedcli.a":"f5d15c598ec6d8716457523b86d41ddfd012aed591f17237bd4190c1f22f7360","lib/libwinapi_onecore-srvcli.a":"fda98b9f248725979155b3bcde4118475bbeb9ac20b949632b6e25f81004e787","lib/libwinapi_onecore-sspicli.a":"ed3f3ca04a6b5b0f3c83785e40d75d9d73f4d5907c2ac62b90b0d37c304c2be2","lib/libwinapi_onecore-tokenbinding.a":"1fec2c3a85c528c8ac756c2b590446805886ce333de57fcc24a29f976177cf27","lib/libwinapi_onecore-userenv.a":"aa8e86961ec9dad96e8af293b535b18e43779cc99cf6a3262cc6ca96c18a91c7","lib/libwinapi_onecore-websocket.a":"a3192322098b110272dc4bd604ce2d90feab14393ce444358bd7cc9c2951d2f6","lib/libwinapi_onecore-winhttp.a":"ec3c64ef5b250ec3721b9c8a500e580f0e52873a0ab3071ad9a07717e898243b","lib/libwinapi_onecore-wkscli.a":"c07edd7e8b0efd63a31ae95d776f29700d8240355bda5982aa4cba1a4903b3d9","lib/libwinapi_onecore-wldap32.a":"f98ec840c25a4682b2bf3b27d7eeeedfc88182b76689bd5aa6767aaa5b31e404","lib/libwinapi_onecore-ws2_32.a":"b188d2e13765f6de978f53389512053bd9ba79434a86bcaa78151aecd1c79f45","lib/libwinapi_onecore-xmllite.a":"20e6eb39eeee75e3ef15b9a69ad11e6d665d3163686968c1a0d1a482fb26314b","lib/libwinapi_onecore.a":"b1b438f02522fa8511e7b61620d7cbe3841cecd575f9ce2d9487433413d6482c","lib/libwinapi_onecore_downlevel-advapi32.a":"48dc1206ddb4d6340addd0a57e485c20d73df8e9472c48b63d948830aadafb14","lib/libwinapi_onecore_downlevel-apphelp.a":"d861b0c9d0a9ec3429b789c491399b7f4f05552f5558a4d962e74f9a20491ebb","lib/libwinapi_onecore_downlevel-comctl32.a":"21c56dd6d89207523a0e54fa70e5610d26dac00f5f7c09845c3d1d321f9fa584","lib/libwinapi_onecore_downlevel-comdlg32.a":"0efb7387918178f59bb1a22b819a0a7f3f4c38772f633769d981df78bad33997","lib/libwinapi_onecore_downlevel-d3d10.a":"fb03e4884e8c89b2b2594389a979df0a15788b28e70e6c9141eeb273577ab4f6","lib/libwinapi_onecore_downlevel-d3d9.a":"8a7f5a3567e085d59181f1e1f9913aad3deab24248be70d7d89ee3946750a195","lib/libwinapi_onecore_downlevel-d3dx10_47.a":"da96a15d9ed6f5fc08a9fe19d4c1284af3a31714c9bcf7a90eb3607cdfc29dd4","lib/libwinapi_onecore_downlevel-difxapi.a":"20d592d0b07b753c35555e5aea48b71f199273e4cd41fed4d30e770cdb731dab","lib/libwinapi_onecore_downlevel-gdi32.a":"3b45e6f50209f32b1b00c222e57376bd1e22731bd334949eb8bb44126dc6d358","lib/libwinapi_onecore_downlevel-input.a":"d8021ed7e5dc1fe11b966a32e581c52ba672c020254870626947108c06d213b4","lib/libwinapi_onecore_downlevel-kernel32.a":"7f1a8b6870b6b5a117fe0b9ccbcd1a6b9133173baf6b0fdd91daf32ff2f3a920","lib/libwinapi_onecore_downlevel-msi.a":"3950469b8eabd579f17707f38029ff1d1d9485711b02ec516a95b99bdb1fba05","lib/libwinapi_onecore_downlevel-newdev.a":"0369225398f2d772410b3943a6635c26d5117f6711e03e49dde13a5f0db44f2b","lib/libwinapi_onecore_downlevel-ole32.a":"b5579a04a5777a471687c6e3fce7d8ebc87be0e3f3dfba3f358eb7dc3cd4c715","lib/libwinapi_onecore_downlevel-oleacc.a":"856fb87b2bcfedcfe10a104ec8a0e4275840f042efdce23e3aeea8fb90b3622a","lib/libwinapi_onecore_downlevel-oleaut32.a":"a9461245046a904f1e8ff78b7bdf00534746756a83b3e4de04e889c8c1df2244","lib/libwinapi_onecore_downlevel-oledlg.a":"d460a3f03bca729456a5e315e75af9b4cf3e79343c2bd81d827d377a4d4b05d0","lib/libwinapi_onecore_downlevel-pdh.a":"208131ebe23e8bcd31f03af369900ce7956b9a1e51bcf8be6e46ec1ff24576d7","lib/libwinapi_onecore_downlevel-psapi.a":"ca31fdd6661f575ddd7e15cf68a6cb97fa405677d01cfa00b70364ffc138ae81","lib/libwinapi_onecore_downlevel-resutils.a":"07e1b645395bef6352820aeb6867498dfecf1c576436be218e81db12fe8a3602","lib/libwinapi_onecore_downlevel-rstrtmgr.a":"87bfdc17145dce5ca717dbdd007970ab1139f7dfa7ecc17c9cb3c8cbdbaeaa58","lib/libwinapi_onecore_downlevel-secur32.a":"90d6b2fa7ff6b2e9555718c8a088614a461c5f5276fd2586cef7ee2058301e67","lib/libwinapi_onecore_downlevel-setupapi.a":"6af80ea73c581f1e21f5ac714f5da3b33ed50e9d1a9cac19e020ad24986202a8","lib/libwinapi_onecore_downlevel-shell32.a":"4b86e0540f359563ff2a81880f9fc4b40ce7f52409bcadeda2e678e1e28b3657","lib/libwinapi_onecore_downlevel-shlwapi.a":"3dbbe36f2d6473e88b1b2b6e71eefcb82bdfcbd85a09d5b96d618b0bad63d99a","lib/libwinapi_onecore_downlevel-tdh.a":"ba341ea2345143d5b1b55f264366aa72ea707ec955b1b079f47f00eabf4d51bc","lib/libwinapi_onecore_downlevel-twinapi.a":"7b18b95de7696d38c6a2bd24ab02301a95d6c856705a8ae4eb0206e293e1d8df","lib/libwinapi_onecore_downlevel-user32.a":"bcc698c26293e631b93825aa8d1ed5a3eccd0ba99db635cef2b95dfcc476a680","lib/libwinapi_onecore_downlevel-uxtheme.a":"788dffd0226fe85f4bc0f43ddf7d6d69e35e028742a8094c44c065a5a796d7e9","lib/libwinapi_onecore_downlevel-version.a":"706c173ea490ede7d5d8a3cf8a207f0a84efd3a045f8ec6e5111a36c569706f9","lib/libwinapi_onecore_downlevel-winmm.a":"b2fe34c14402f41101d658964d62f5abca5be0106f4dfb27ba630cd35d127277","lib/libwinapi_onecore_downlevel-winspool.a":"f7b78470b47ddc11240de3ab2a153e91620e281c0ca499e82a9c25dfbc68e80e","lib/libwinapi_onecore_downlevel-wtsapi32.a":"ec17d91e47de2d55dd4043318800415591832c9424cf9ed0350a4cb17c6eced2","lib/libwinapi_onecore_downlevel-xinput1_4.a":"3e0a8d45e88418b3c61455fdf91f39057108f9cd39dd5b00c41ec86c31f05f27","lib/libwinapi_onecore_downlevel.a":"9350efe517d660865703d03a12d0aea519ce286a1b90f8655f8211ba9e5d1176","lib/libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-0.a":"208882e4e2230dd12d8b317d7a093f0bcbdc8179665778bc552fcbb898e9ee5b","lib/libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-1.a":"91790658be1a8be50ddcde5ac956a1a56ca774dc7a690b2ef75021e9c3330951","lib/libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-2.a":"6d7aa69999def908cd89ef1249f6c1116d418a11e897293e1aa1a716a74ef7a4","lib/libwinapi_onecoreuap-api-ms-win-core-atoms-l1-1-0.a":"f2489b312e02e70ff3b347f5a95b92fbf94ce4d4cac8dc8d2430a3ce07bce8b5","lib/libwinapi_onecoreuap-api-ms-win-core-calendar-l1-1-0.a":"1b1897310842d69519c547af2d07da04a432eeaee55809fe844cfe3bab463079","lib/libwinapi_onecoreuap-api-ms-win-core-com-l1-1-0.a":"ed5f934a0b2317af63fdc5140cc369dfb6cc54f0c2ed6e6108f77c2db49120e9","lib/libwinapi_onecoreuap-api-ms-win-core-com-l1-1-1.a":"9caf1ed02c8944e21ee329661d6e86525d48adcb30a0262e8bc651126fac05d0","lib/libwinapi_onecoreuap-api-ms-win-core-com-l1-1-2.a":"2d0f0a22bede0f52df0eb87983690bafadab0a8cc3ab055e774f0b7e81faac9f","lib/libwinapi_onecoreuap-api-ms-win-core-com-l2-1-1.a":"bd93ea942b8ace1884d16040fbbe418d7aabcce933d9a769173dcbbfef2ffcae","lib/libwinapi_onecoreuap-api-ms-win-core-com-midlproxystub-l1-1-0.a":"0cecd6ca334de304c25b825732ecbcc4ae1f0903b92fbb07642f2b60b6e32ab0","lib/libwinapi_onecoreuap-api-ms-win-core-comm-l1-1-0.a":"5dd747af301bd8a87a169fb4be5b27f35fe8d641e442da9650a681bb1ebca5fe","lib/libwinapi_onecoreuap-api-ms-win-core-comm-l1-1-1.a":"4af23fb67510708febfca2ab3c88b049cfa72dc8209ce3b10073345a2cc90ad4","lib/libwinapi_onecoreuap-api-ms-win-core-console-ansi-l2-1-0.a":"0d5642a37f8c438e8af493d14ce2e76dfce51fb77aa9e657b28883d6dfef105b","lib/libwinapi_onecoreuap-api-ms-win-core-console-l1-1-0.a":"6b8a4dab5532b978cc0b78a75d7e617041f70275ffec6c3ab2e09bd257490df3","lib/libwinapi_onecoreuap-api-ms-win-core-console-l2-1-0.a":"9b43334c98f0355bade21041cd010435f87f4a9f8ae2ff2da1daa77a1c58c7c6","lib/libwinapi_onecoreuap-api-ms-win-core-console-l3-1-0.a":"ae6bcfebc7a6e9d24a91f712e67e345c3716174ac13a1b086139d0dd42fc3aa4","lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-0.a":"def26a1441d88fcf69a0cf71f2f37f585585027b181453ecd66b500869c1325e","lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-1.a":"796cb7d7094c8cad58a4feb4d23659aa9931a4006fad2d95cbff1821f4590844","lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-2.a":"81937e6fa94d1212375e5c14e3dbc5b9259f693bd657c198f1294e84670cbf83","lib/libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-0.a":"1e4421bc92825052e1c6da76c5fb9f0b3b7b9e59e8297acf476e264a50f79b59","lib/libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-1.a":"57b9316068a5a96938f30e7f6f23e720d4812e46a7cc4802135ff09284177f21","lib/libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-2.a":"780fc66e5b9309f137092b8b0a4d0bdaa2b8f45d89d9ae8b0e9f2bc29e69c424","lib/libwinapi_onecoreuap-api-ms-win-core-delayload-l1-1-0.a":"6e350ff7b3c6329df2be85d6d709fe666742318019079a88e385a180500793bb","lib/libwinapi_onecoreuap-api-ms-win-core-delayload-l1-1-1.a":"3e718e8e2364bdcd6730ae57e138c09234583a2e5ae232228f383e3d040af377","lib/libwinapi_onecoreuap-api-ms-win-core-enclave-l1-1-0.a":"97552843d0f8b760db838172f22d443a491bc4885c35de15f4b3d579b373fd31","lib/libwinapi_onecoreuap-api-ms-win-core-enclave-l1-1-1.a":"cd81f5d09d6fb6f4125fc2770ec5086838ee72f0daf8368c392d51f5320e66ba","lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-0.a":"f5b5904942ebb75a537ed4618b917b0d8b762dac20da0a0c0de7e57036fe72cf","lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-1.a":"eed735344f097f222c660379acb00aeea935e730abf2253f9a4a26993c8fd344","lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-2.a":"b3690a5e72008de4c4a8f82b1f5e352ae987f11229df791f6fdfc7e0ee862837","lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-3.a":"4495bcbe1eccbf406b59a8cb55d3afbb8af8db728808c5f30d2a6be9727e91b0","lib/libwinapi_onecoreuap-api-ms-win-core-featurestaging-l1-1-0.a":"43e391c884a4a4f2b49c27a211d69161c24f6b916e9da7d171da447e8916493c","lib/libwinapi_onecoreuap-api-ms-win-core-featurestaging-l1-1-1.a":"1f8415d190ccb338224387f5319edb3c99942e77ff78808b8e2d07bf878889d8","lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l1-1-0.a":"da3f54a70d3ae49cd4f1720af4a60f17840f813903cf906ebbc30959396173c8","lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l1-1-1.a":"b0216bbabbd686401ad98754a5c049d8960d57541ae77a3d20358a66ff9adcba","lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l2-1-0.a":"d45a173aa1f26ec0a4e43d6c27da3a7dc7a96917f9004f1b7b79ab612ca28975","lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l2-1-1.a":"eabd8fde033e5a57b6c0b9a7c12c260de1d83394bc89d12c189f8e5717870e13","lib/libwinapi_onecoreuap-api-ms-win-core-file-ansi-l1-1-0.a":"fb58299452583cd8a8ac33d4bc5e9b7ebb9ac1e3f2028bdae5359cda166b3f1d","lib/libwinapi_onecoreuap-api-ms-win-core-file-ansi-l2-1-0.a":"ad8c10b9fd3fc027585c1d687b79b0e69d70600d44b9ce90aef6a66655a5d8e8","lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-1-0.a":"199c464c17bce4d3dd0bceab0451a0cadca8aa1e2437be72f2f7ea6ed3fa93b1","lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-2-0.a":"6d356b9052c0239a2ac548b2df4dbff1b4e6dbff31044ce2c0327753983e8e50","lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-2-1.a":"4cc9d17c3a077bd35e3828510d1909898881d0b25c3affba7f456ddf113c63c3","lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-2-2.a":"51501263dd66fc8121864da921eb14c0900b189a822ca1adfe47f1311b902792","lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-0.a":"ab6f71c8c65ea6e7d513750a01626faf3175339e222ea54968e0ff0ad90a8b45","lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-1.a":"b9314710e7a45bc933aea2aa0e57ec45167ab20fa09d747aedbeb097ab36da5e","lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-2.a":"70479bdc939f5817083356c93964e10ec375829b1863ab538886b39b00aef7db","lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-3.a":"9127441476b674a7a73f3222accb5be3dcfa63fcb7f1b95b6edcc93e6a652f48","lib/libwinapi_onecoreuap-api-ms-win-core-firmware-l1-1-0.a":"14c5e5fae456396c87d962a22cee320231ac759ce842de4bcf9a457b22cb0eac","lib/libwinapi_onecoreuap-api-ms-win-core-handle-l1-1-0.a":"7a5de073a89c411e4679f8b6796a7201a9f276bde8119392584efd788b3f8e89","lib/libwinapi_onecoreuap-api-ms-win-core-heap-l1-1-0.a":"1370ad95210fa9dd3e3aad0ab7caff8439ca05d0ccb6b3941fd7d26cd03ba6f6","lib/libwinapi_onecoreuap-api-ms-win-core-heap-l2-1-0.a":"7a497a59068adc9757ff546a78dcfd5c27184ff4ac566334baaee95cabeaed97","lib/libwinapi_onecoreuap-api-ms-win-core-heap-obsolete-l1-1-0.a":"0f64537add3fac2532141036a963fe64a98b5046804df3b685bf30986a0c2f0c","lib/libwinapi_onecoreuap-api-ms-win-core-interlocked-l1-1-0.a":"0d196cf294402e3b8a50eaa3413756b034680294c6b91bdda7547f3cf6f9c579","lib/libwinapi_onecoreuap-api-ms-win-core-interlocked-l1-2-0.a":"ca050c2d460caba9e6978b1745b22e0932c0ac148a06c1a1612eb08e512eec75","lib/libwinapi_onecoreuap-api-ms-win-core-io-l1-1-0.a":"ff28edf42698b4bc72ddbd143062132908c614536d60a732ba3000940b5a85f0","lib/libwinapi_onecoreuap-api-ms-win-core-io-l1-1-1.a":"93780a27ddfc82d162d7ab804a760faa78b5904471d8c36af19937d967457829","lib/libwinapi_onecoreuap-api-ms-win-core-job-l1-1-0.a":"a97523d85a93bcb4a6c857f115931afe45020769d7667759ee7038304b955311","lib/libwinapi_onecoreuap-api-ms-win-core-job-l2-1-0.a":"c44d11b52b83661540fa32202b7c7b425aee93b94381821325c292c2f6124fd9","lib/libwinapi_onecoreuap-api-ms-win-core-job-l2-1-1.a":"8325c8020cc66fd1baaa9e2d2c2275b14ca6245183a5fd2c38aa67ac69a2d99a","lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a":"f25ff2bd0c4f841a4d48895c22b0a883eff15adc3494075d3a481724ba904998","lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-0.a":"3348ace857245ff8567ee5eef16d0874da46e154a34db8045c2ebbedd6148e15","lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-1.a":"9a753479c78dfd40aa71452860e294ef02204828d7743d18552bff78417eecc7","lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-2.a":"6ebd97e5c62c047022a761b3293d51c864c40744473cd26bb14d24dcbe5028f6","lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-3.a":"036f12e35650d8c350496613a856c27da923a24ab802c0d9657d7af8fc0cabd5","lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-4.a":"a30a9756ec2296c149c0a463af96addff7cb6c0d00db847a5c9f77f1bcd6b655","lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-5.a":"979f0d08708b6f80d1aa452a5a387f0d4311c76d88b5dbcadffe66d638cde66a","lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-6.a":"edc5f8763d03d84025dc7e083d698893cff79920e36f239de7e18f91bad6ef99","lib/libwinapi_onecoreuap-api-ms-win-core-largeinteger-l1-1-0.a":"e36f5ef88232466f1bfe08402d21c6ff1562bcd2d630387d45ad1187dc3345b1","lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-0.a":"caca648ad69b3f52c628e977c18f149087f5777cf0079546f92a2414887b2d05","lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-1.a":"93ec184d7ab34060ef1db49cd2270e80e95ee217bb5fc481946b51dba7c75339","lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-2.a":"c5b4969372c801175c789b3b90f23d296b48922084fb2a3e6de34bc76f0c4452","lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l2-1-0.a":"1a85b7be572525b0cd28edaee04b97c1027090e6d67273328113894c7d9d60f5","lib/libwinapi_onecoreuap-api-ms-win-core-localization-ansi-l1-1-0.a":"e1b13deb0d9f7aa240295a87cdcc398edb816e0c2b8d72261e259b17577d0496","lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-0.a":"8c7dbfc3176c0bb0487c7ba7a9d04036b5600c7f124cab8ac3e4ddacf013c875","lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-1.a":"34b04e8150846ee19c15ac417555cfd3a712cb4fadc564d6a9cc7ecd6c174f23","lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-2.a":"fec9c576052f90d882c90e0e2dfdb717f94a5cfae111db76246e560501dc9c81","lib/libwinapi_onecoreuap-api-ms-win-core-localization-l2-1-0.a":"edc59db7005da93b96bb2e1eff6e6de2796f5fd6d0fb02a95ead84ad3d679996","lib/libwinapi_onecoreuap-api-ms-win-core-localization-obsolete-l1-2-0.a":"2b9eebd89310ac43ed54dbb9553172b36757a5a51b59ee5e14c31cfc8210d78e","lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-0.a":"097862322accbc132b0b753698cdfd33cc68b22643f994bcf5b2fcf02c0a3dd8","lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-1.a":"fafb08266b6465d3b283b5dfcc1924507e84bc0c0d658f3b111a237e88284791","lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-2.a":"4d0dc0b85d99ec900d64193039f6442886e2f7cb57a45ca7de62b9c1c5738860","lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-3.a":"40a6455f8fa2d5124cc69bc89de96a238b6ab3c83583c5ece746b281c70dc426","lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-4.a":"59da5b17fec35fd627ef32ec5333c93bfc3cf71be9c78fc714ae0c695d628cee","lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-5.a":"d104bccd2274b6bc0f51c06489822ed46d3395c77ea421276f33a4be45847867","lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-ansi-l1-1-0.a":"d8530787e73d174403d40232a09d0f01bae47f8d83c39cd6d818e8afed18d640","lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-ansi-l1-1-1.a":"acb7f179f7c58f93457d17ac57feaf18deecc7c43a718c9e73bb895e7433244d","lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-1-0.a":"1a099dba3ab2aff0de9b82afde85e02d8f52ce39a5fc049ffcf9c0e6055e1be0","lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-2-1.a":"daf2d469a631f337a749317cc282f8ce30f84cba094fc61506472bc2418784a8","lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-2-2.a":"76594e230e567f5f12379b7319e35ee1add83f51625b156908e87a63ae781895","lib/libwinapi_onecoreuap-api-ms-win-core-namespace-ansi-l1-1-0.a":"2df4f0d625e6313eb906f7fffe85e951d877d6bb063d6e51b93a317be2b7b474","lib/libwinapi_onecoreuap-api-ms-win-core-namespace-l1-1-0.a":"088eeee18edd58dedbfceef865fc38c32024eb9bf59b960b657893d89b242e46","lib/libwinapi_onecoreuap-api-ms-win-core-normalization-l1-1-0.a":"396abf7a271322dbc05f49e9b2018d8d2bddb0cdaa8d8885f5d1f1ba0103b188","lib/libwinapi_onecoreuap-api-ms-win-core-path-l1-1-0.a":"d9beb78fe6740ec2c31d8a6982da695fdb293aa0bd26726a1e73b0a71605fc9e","lib/libwinapi_onecoreuap-api-ms-win-core-perfcounters-l1-1-0.a":"d8c8f703a295f6c1d6e5a6cc7eaa06f254ca31eb02f5acf2b3189d98724b11c8","lib/libwinapi_onecoreuap-api-ms-win-core-privateprofile-l1-1-0.a":"44e2595ba027013f8638b3964bf49051e1c873fb9e43bf869967701074b001c9","lib/libwinapi_onecoreuap-api-ms-win-core-privateprofile-l1-1-1.a":"c32cc3af4fe8f1df5e4f14e3a0a9751a7493fca87cf2aad5c7009ed2667ab9bf","lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-ansi-l1-1-0.a":"42c74a8f731111df9aa02616708a9773b53d354898588d46a9592e6431bddc0a","lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-l1-1-0.a":"994978a054487a2549dc794a0135ad806ae747085bb46b169850c19feaf48f0d","lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-l1-2-0.a":"d32d2b2a6fb33136b6f982b03526efd6357fa95e8e68e0c24c429f906e2133dc","lib/libwinapi_onecoreuap-api-ms-win-core-processsnapshot-l1-1-0.a":"999d3c142a4f09d58897dd1862f0e3f3d01adc6426ed6858ae14c64cad2abe1a","lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-0.a":"9900f0ab25eca8d5ecdabcdcdd24c2d741f8be6cac29e7fb137d47bb303f1942","lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-1.a":"42c4aae5bb149898ffdf1db738ed2eb34564b2aaabd3580a44f4c40670cea7d3","lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-2.a":"cbc354e5975489e90efe70d05fa7eaedc5625b48de0d8d7c42834a8c72d350db","lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-3.a":"d7787f9e7e25a936dbaf33e1f768ed9edbd76a45bec7898a802e3b46f5046294","lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-l1-1-0.a":"0ee0eb2dfdbdf642645168cbf4df1004c8514dbcf4fcf68455170830039918bf","lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-obsolete-l1-1-0.a":"fc787ca7ea17bd41447e8c7856f58ce1463132a7f9197cbd16fd21d51d626455","lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-obsolete-l1-1-1.a":"3610f5a44c1696800b731cabd502ab9d674ae5e466e77e8cffd752449def98bf","lib/libwinapi_onecoreuap-api-ms-win-core-profile-l1-1-0.a":"8175c06e4065023e1d83a794458f668b575829a462859c4a9cdb1b317c417100","lib/libwinapi_onecoreuap-api-ms-win-core-psapi-ansi-l1-1-0.a":"cf60483967f15bb48a8104fea73abf63c96bee46db6436c5be5baada0bd65b5a","lib/libwinapi_onecoreuap-api-ms-win-core-psapi-l1-1-0.a":"ddcd4ed25ba23c6719b4d3143299bd3a0d3319aa66bcaf8209e91edc31e33f77","lib/libwinapi_onecoreuap-api-ms-win-core-psm-appnotify-l1-1-0.a":"05ecfb5ce0f45ba854917356d2a90b8c8933d4697a34aa7ed3df424ad5777f68","lib/libwinapi_onecoreuap-api-ms-win-core-quirks-l1-1-0.a":"4c8f9adf440d7d69732e0f8caedc22e8cc1e6aa3e9949084f2ad6d3cfac40202","lib/libwinapi_onecoreuap-api-ms-win-core-quirks-l1-1-1.a":"923e8bc57d1196eb3acb217a0f73b09886b1e0c8656de744bfeb3b4226028d6e","lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-0.a":"36b66d1781bef9d74b1996b194642cfb12e21e503fbc796e5ad27e08e858e13b","lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-1.a":"85e2bb960d2cb17a6fdfd14d745cffa998c5c16de55e0e5399009c0da9bdfb7d","lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-2.a":"b21f1b497c03ba20cc30b9cf5c53824c93e542e74d05b8f8e7803c8fed674946","lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-0.a":"f9fd25609615daa0c846bbccb1e1afb9df97457f3523928f18879cfc144bdb90","lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-1.a":"029da1015d4150f207086cb60e457e4cd0a34dbf7a3b264b9b8bd348791dda05","lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-2.a":"4e782b6afe5855007f30450045e421a35a1bbb61dbe1cd435ad228797b221895","lib/libwinapi_onecoreuap-api-ms-win-core-registry-l2-1-0.a":"1af46b02de30fc3183bdc8186a7ecc81461748cf22d05ad375ca3b436782d9ee","lib/libwinapi_onecoreuap-api-ms-win-core-rtlsupport-l1-1-0.a":"0fd519fe8af39e22c1a39ec37690b52d114591cb79e289351ed2e0d230dcecf8","lib/libwinapi_onecoreuap-api-ms-win-core-rtlsupport-l1-2-0.a":"74c170e870b9c767c3d0908f7c02f172dea37b2c2309701bc456f7a9ba24f6f7","lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-ansi-l1-1-0.a":"28007b4f34f31ac5d0a340e759957598b945d7315b2ffb5fcfdef34831498899","lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-l1-1-0.a":"584dc53a4aaad360864d643575b1197dabedf3366002c62fded126aa1ceb2794","lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-l1-1-1.a":"2bb92bb8c085be0d875b73c8b0dd923862827cb1f8ffe775dc5bbb54aec8a3cb","lib/libwinapi_onecoreuap-api-ms-win-core-sidebyside-ansi-l1-1-0.a":"993aa0e559d8f069fe0e0a1179dee06e597e2bd3d02876f1a0082f37c729a30a","lib/libwinapi_onecoreuap-api-ms-win-core-sidebyside-l1-1-0.a":"badb929faa6993e9f2bb6b7fa26259ad8c7abbda8ba3d42d2e8ecfa453fb7eea","lib/libwinapi_onecoreuap-api-ms-win-core-slapi-l1-1-0.a":"f320eefb3763cc503aac9fbcc0489f38a939e3b38db1d39719e570717ea3e476","lib/libwinapi_onecoreuap-api-ms-win-core-string-l1-1-0.a":"f3037f023ee2c8578417e29cd698be3f7df598a62f3e6369978e7037be7fcd62","lib/libwinapi_onecoreuap-api-ms-win-core-string-l2-1-0.a":"c0757666e6a507d0c4fbc0b50902326712ce6cc2f4a365f94a890b564c9a94ef","lib/libwinapi_onecoreuap-api-ms-win-core-string-l2-1-1.a":"fac6581561dbf5794fb62c8fc43267274ca07a08213c4c93bdccb405ee23bcc4","lib/libwinapi_onecoreuap-api-ms-win-core-string-obsolete-l1-1-0.a":"a1cdb22e603571bcec39c1a5547600528cf89d28ed87d3e9dbf8caddc28aac7b","lib/libwinapi_onecoreuap-api-ms-win-core-string-obsolete-l1-1-1.a":"e66d86dbf902d9dd57734339a2129f921bc62d490ff524a5bb8c490f1d994425","lib/libwinapi_onecoreuap-api-ms-win-core-stringansi-l1-1-0.a":"7d9dddea1019f027215c65209127ccce9c221ea4cfab79405502920bf97fec17","lib/libwinapi_onecoreuap-api-ms-win-core-synch-ansi-l1-1-0.a":"c9c244acba6d4fa1b367d6d6e6f2673b4c256e2f6e02cd0b651f254ef1da78b6","lib/libwinapi_onecoreuap-api-ms-win-core-synch-l1-1-0.a":"291d20badb0ed98dcfee4b61a87ca7de71d91cc2f5fd5210c64e0495610ea422","lib/libwinapi_onecoreuap-api-ms-win-core-synch-l1-2-0.a":"2891ffc03c3859f46872611e6003078443a0f05245dcf5bb9d77f8dd3748686e","lib/libwinapi_onecoreuap-api-ms-win-core-synch-l1-2-1.a":"a7a8108a8c26843eff1c9a48c28b600c42f8431a488e13fc8c0839671fd0666a","lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-1-0.a":"52e2a89087c219765f2dd2fb898466a01df2f9fdaef7a84e6e0a16b144121940","lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-0.a":"1b107fa62b4b75121f42f9bfda4f304d1febbd83193309f0585dfeecdd207d29","lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-1.a":"1af830ba3ae3c3790c77add6643305401172fc4e8a088bc9f6be4a888c9072bd","lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-2.a":"b33a8c59f35e5843d016b58c6edbe9a58a9c81aec1324847fd86a612cb038e24","lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-3.a":"fcf4b87d9d11784559a9bc4c5b06366dd9784be852ec7a0235a3e247ee506df3","lib/libwinapi_onecoreuap-api-ms-win-core-systemtopology-l1-1-0.a":"7e07a6e2854593a0edf944ae6d993ca9fafee53fb5185ef70b0ca9765dd4a288","lib/libwinapi_onecoreuap-api-ms-win-core-systemtopology-l1-1-1.a":"6ede88a05d440fa2d9d5ee26e8645a2d31e5e05662b975b4e1c54dced4d21d91","lib/libwinapi_onecoreuap-api-ms-win-core-threadpool-l1-2-0.a":"be01809a2c48a1be2311cab632ab5979983f2d15e84161b44734fc9372fca2c9","lib/libwinapi_onecoreuap-api-ms-win-core-threadpool-legacy-l1-1-0.a":"ad6c73e76b6e6af4746968e218bad365d42b3882c5352d449071b14743307ce6","lib/libwinapi_onecoreuap-api-ms-win-core-timezone-l1-1-0.a":"59b4bf42c2cb3243cc36728b6612f98956fdd99aa774acdfc277e393cc70011e","lib/libwinapi_onecoreuap-api-ms-win-core-toolhelp-l1-1-0.a":"4587831f353137ea730c40920e0a2d19645a868e76c41242462d734c6acd9756","lib/libwinapi_onecoreuap-api-ms-win-core-toolhelp-l1-1-1.a":"92aa37a2a7b14d0142d591e5f34dc2f15d19ca8073140e97a8bbd251017b3c98","lib/libwinapi_onecoreuap-api-ms-win-core-url-l1-1-0.a":"d7fdea9b8e4f30d68c3457952429670b7fa85c88ffab3652517d6b86e24d552a","lib/libwinapi_onecoreuap-api-ms-win-core-util-l1-1-0.a":"6f5cbf84f6bc55c73a4d3bfe56ee7cea780a66647d8f9c4859fabd59e97952f0","lib/libwinapi_onecoreuap-api-ms-win-core-util-l1-1-1.a":"5c768687034e6bc0bb740ddf3399cac95bb78e81cef1c195562c36c2198f1abe","lib/libwinapi_onecoreuap-api-ms-win-core-version-l1-1-0.a":"9d549df648d09ca88023c8270d1039564ed6033f2c834b98ae5b8de81f6350c7","lib/libwinapi_onecoreuap-api-ms-win-core-version-l1-1-1.a":"fcfa3edeef60bb20e4de99753123b69ce693f7a33b1b25ab9c998f7b4f4af7e7","lib/libwinapi_onecoreuap-api-ms-win-core-versionansi-l1-1-0.a":"aa56a4aabbad386571997c850488f8024f079ab10cf29c3f5018435e74280739","lib/libwinapi_onecoreuap-api-ms-win-core-versionansi-l1-1-1.a":"bc9e01a2e3e557cce8d365f54f0a1c4467e6da12524574f6884b1ff772fe3fa1","lib/libwinapi_onecoreuap-api-ms-win-core-windowsceip-l1-1-0.a":"b5037bebdccdc4636afb830078aa6fc78d142d5f4e4c069462a400106590c29c","lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-0.a":"442a64c404179f700fca3b620f4aeaefeb2f761d45fea88f8c289658355a56a5","lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-1.a":"8cb856aa014e3176b38f81cb98455b137597dd454aba9994544bd8d06808e0ad","lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-2.a":"bbf701fbf1a80d36acad75ba68f840623027872e8d0885c98932238ffe8b5c12","lib/libwinapi_onecoreuap-api-ms-win-core-winrt-error-l1-1-0.a":"a5317cc287f2d8e822e2cf5c2c3d906b39f13603bfd001f83ba16c8cff2e5667","lib/libwinapi_onecoreuap-api-ms-win-core-winrt-error-l1-1-1.a":"3c861782bc5bc28c0332e3d3a9fb1a82dd625fe0622af2ae8c6ce355fdc97b64","lib/libwinapi_onecoreuap-api-ms-win-core-winrt-l1-1-0.a":"024505f5b3606fd9c6a6e6b9f1f2375a961e87ea2955f251ba7c87f665bab7ab","lib/libwinapi_onecoreuap-api-ms-win-core-winrt-registration-l1-1-0.a":"311a0cd15ff274e5da94d1450635e2ac1ff80c769f4d6bb248a1d1c627f98165","lib/libwinapi_onecoreuap-api-ms-win-core-winrt-robuffer-l1-1-0.a":"fc830efa784cec9681b78ba985e7676948004763c3e005daf5dbf4a76f7fff2a","lib/libwinapi_onecoreuap-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a":"e85de983d19dbf0eca5d8ba1f15c22a4345fb5ee91b1b5f17bf54592e83823d2","lib/libwinapi_onecoreuap-api-ms-win-core-winrt-string-l1-1-0.a":"60c9ef2a7ff31e2c329add49379ee3df011f97d28f08b86a00d8dfb6af3937ff","lib/libwinapi_onecoreuap-api-ms-win-core-winrt-string-l1-1-1.a":"d277c8f1d589ae2135519b5dcfaa4da6f3e81430e7e0b653637684e81750d414","lib/libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-0.a":"43ed6811af9baffcbe6563cbfcf7098fe882d57c4de63f6f020a190cdb372f49","lib/libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-1.a":"37bfa87f4004ed6e9d485815f858ecf87da18bc004e4e5b6195d5da8e9628e7c","lib/libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-2.a":"b0bb3c836cf3f6b5079881fbc13d7ae0a29bb183121428c616400beaabc002a1","lib/libwinapi_onecoreuap-api-ms-win-core-xstate-l2-1-0.a":"41eaa65110287a9464924629fd20efc322a72682f7497eca0691ce8253f5d37c","lib/libwinapi_onecoreuap-api-ms-win-devices-config-l1-1-1.a":"791f257672dd55fa79dda0009a63ee6239045fb973df8ad1130c00303dd808ce","lib/libwinapi_onecoreuap-api-ms-win-devices-config-l1-1-2.a":"95df360f764e15b615fbce0cc242b0ae6a3065928de31be6d0f3d4e3e3e3ee9e","lib/libwinapi_onecoreuap-api-ms-win-devices-swdevice-l1-1-0.a":"a554ea50453252787740f501cd7a40985070da4c6b5b097933f96d01b20e8f3f","lib/libwinapi_onecoreuap-api-ms-win-devices-swdevice-l1-1-1.a":"298fb5fe0a10116fe88c405f42a3e7bc21c051b6a87de9e80438577319f635fc","lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-0.a":"058b5f62ad4dfa972e1d45797e1a8693508c082c3a7ad66713c98d4cc0703689","lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-1.a":"3da5018232fbdb7d941e248e167d5f2c19585cf6bd872a12c32de58d55eb7c30","lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-2.a":"f032334d1603206c061405a6878a8baab0b7acf002fa537dbdba1ec3bfaa1818","lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-3.a":"5eef46c15cba4181037e204b498803516eb7a6ec18af4fc43e229395bf2a6b1a","lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-4.a":"e6c8abd4a28d996ff487e32ef92d606ab3c84f45fc9926e3ef548695d9efb5f7","lib/libwinapi_onecoreuap-api-ms-win-eventing-classicprovider-l1-1-0.a":"a69661d64a7c2398c03d521e0213f851bdf8cb969f02a99051e26a5c540cca47","lib/libwinapi_onecoreuap-api-ms-win-eventing-consumer-l1-1-0.a":"a96ce246518f17897a2d1e7427d0c3efed740e53cb743eea81b16472c675046d","lib/libwinapi_onecoreuap-api-ms-win-eventing-consumer-l1-1-1.a":"7146a9646aa0031bd7a368879da07d30c27e922f11de8d36acd08a7ebe1938ba","lib/libwinapi_onecoreuap-api-ms-win-eventing-controller-l1-1-0.a":"1b0ed3d9c8ba0b3486d3ace7e91d6a9cf59be0f59e6db299ef2a832270d0d799","lib/libwinapi_onecoreuap-api-ms-win-eventing-legacy-l1-1-0.a":"e0a32a81dbbde1b9b641e68603a9c160b7bd1e6b07c5325c681c590697977610","lib/libwinapi_onecoreuap-api-ms-win-eventing-obsolete-l1-1-0.a":"b9ee4fa1e5adcdc9cfdafec75d75fa42eda21ad976017ddabedf94e8df60ba68","lib/libwinapi_onecoreuap-api-ms-win-eventing-provider-l1-1-0.a":"70d16559b1a3706d53a787e0735bdaedd7dfdb6c594d72ede3b437e953de2598","lib/libwinapi_onecoreuap-api-ms-win-eventing-tdh-l1-1-0.a":"5ac9ae5f9757476280440b30a65e9e7cf99e72d7daf9b010cd39afe5b6d9165b","lib/libwinapi_onecoreuap-api-ms-win-gaming-deviceinformation-l1-1-0.a":"9b2c3120ab0d4ea1d3542f50f4224e8da43e807fbdaa7f6b9e77310c3e875698","lib/libwinapi_onecoreuap-api-ms-win-gaming-expandedresources-l1-1-0.a":"1e0bfd59214f3c0342d704d74b72b9668e6898388c9163fc5efbd7f10e05fa9f","lib/libwinapi_onecoreuap-api-ms-win-gaming-gamemonitor-l1-1-0.a":"41261c397970104547f4abfd1be9247021d69f74176e22fb2de9f28e6a954e43","lib/libwinapi_onecoreuap-api-ms-win-gaming-gamemonitor-l1-1-1.a":"012e835e10cff03ded37b67e60de23983e131125dbc9581a8002a0cdca177f6f","lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-0.a":"5d59468964dbd7ab046296e4f6486e77ff111fa845ced7de61c5a0883255b2b8","lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-1.a":"2d4b4edd5057460d3896749eb75d009ec7adf15be62f878d792757ea785216c3","lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-2.a":"80412694d39f6110a5d1104839c3e750dca6ec1ddb1904e832564fdef92a55a5","lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-3.a":"fbe27441bd2787d535874abacdf2d31700a9f5334d708e3186f3067e651d9b6a","lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-4.a":"e1d5380c0b980bb1b07726d3cf4f2a02fcbc0ab88e954b4d1baf7f6d7a733474","lib/libwinapi_onecoreuap-api-ms-win-mm-misc-l1-1-0.a":"50d5e4e1e9659baee3d1225659c102deea61d72ce812593715d49f35f4c1b090","lib/libwinapi_onecoreuap-api-ms-win-mm-misc-l1-1-1.a":"6627afb481b3acfcb47045321aaa5e643aff3788490ced6a503fc973b6d701d6","lib/libwinapi_onecoreuap-api-ms-win-mm-mme-l1-1-0.a":"83d3cc59c5623f446ed2f4d21f5daaeab0e375b2d601576553e4da193e657d96","lib/libwinapi_onecoreuap-api-ms-win-mm-playsound-l1-1-0.a":"34376861728ccb4680372402c3e1f469d21a00dc396d4df143d5185aa8f529e9","lib/libwinapi_onecoreuap-api-ms-win-mm-time-l1-1-0.a":"e7a060c94e7076d45a4a4091825ef970869d2a54b3627bc670bfb8092a20d725","lib/libwinapi_onecoreuap-api-ms-win-ntuser-sysparams-l1-1-0.a":"2a44f39da22ab5b0ed37dc5e9562d42db9cc9d7e600b37ab0adfc4364bfd82a4","lib/libwinapi_onecoreuap-api-ms-win-oobe-notification-l1-1-0.a":"002f4467b7f58d7620b389ebd6d3983562ed859d527274bbc844d293539a1490","lib/libwinapi_onecoreuap-api-ms-win-perf-legacy-l1-1-0.a":"792efb6916e2cb05f7a443fca19d03943495e939b9aeea702ffeadfb399523d9","lib/libwinapi_onecoreuap-api-ms-win-power-base-l1-1-0.a":"e561f70c0420c63f20d1aec5ff2af3e744bcf4a8bfca6a1fca49bdf16e8f9e62","lib/libwinapi_onecoreuap-api-ms-win-power-limitsmanagement-l1-1-0.a":"40dae4c8443ad5839f8d04f82c293998b9ae1f8ac42a71924bae9d6c8a0ea0dd","lib/libwinapi_onecoreuap-api-ms-win-power-setting-l1-1-0.a":"f38422e9864a986d4779217c30e6be45e01c31255f7e46c79442d2db191d50a2","lib/libwinapi_onecoreuap-api-ms-win-ro-typeresolution-l1-1-0.a":"fb464a3682905b034a28e87d7c3fa52fe40b3d8974c5ff2f2a8366bd09a44773","lib/libwinapi_onecoreuap-api-ms-win-security-appcontainer-l1-1-0.a":"97e800780d16a3f303f192160406bc0718d5b0489cbdd9ee0051f02bcb9bc32b","lib/libwinapi_onecoreuap-api-ms-win-security-base-ansi-l1-1-0.a":"e7d2ca5998a14e92f06b0545918f42537d2463a7f90aeb8bacdea553c94582ad","lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-1-0.a":"8ff1ee61e01a1a7c5c5be07aa83c79eacc0987ca9d136bd64e183cb43c6b496c","lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-2-0.a":"1aa8bd19d74445826bb01cd74fa35fe9c4fba40a14388d9f179bfdf17ebe6f26","lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-2-1.a":"5afeadeef24773505904bc67250964fcc0c34bc5090088866a85e0dd463c5943","lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-2-2.a":"47dc7722b5899f6784d0de8799739885836f4c7753b2997f0692ebcadc7bdb0b","lib/libwinapi_onecoreuap-api-ms-win-security-credentials-l1-1-0.a":"0ff5ca478d2d34c9e54ddb2b19a95351b342d64cc110045b2cac78e1cf3525f2","lib/libwinapi_onecoreuap-api-ms-win-security-cryptoapi-l1-1-0.a":"c4efab90162893f22bcb1537ec564183b15917df952f81343a6315a99f014816","lib/libwinapi_onecoreuap-api-ms-win-security-isolatedcontainer-l1-1-0.a":"66d1d8b4c1d84ac76730df213a3f069e5bfebba5c338b9d7c17a51254ad6b780","lib/libwinapi_onecoreuap-api-ms-win-security-lsalookup-ansi-l2-1-0.a":"ad470f69c2d9486c92a96ec928fcefea6a2974855cc381309ca03f0f9078ccb7","lib/libwinapi_onecoreuap-api-ms-win-security-lsalookup-l2-1-0.a":"0165762604948743fd61ee01b032fb7c8c6ef7dcb9f1edb109cf1dfcb11b82d4","lib/libwinapi_onecoreuap-api-ms-win-security-lsalookup-l2-1-1.a":"e005dd2fd576330c8b4625219ee0014902ca6f990a92dac83be1a53722c80f4b","lib/libwinapi_onecoreuap-api-ms-win-security-provider-ansi-l1-1-0.a":"5ab8ea352510350036e7550d4b3ce6ff6cc49785063b65cbfe164bc7582b9b34","lib/libwinapi_onecoreuap-api-ms-win-security-provider-l1-1-0.a":"eadd184eeed25c2f689548611c17795c4ec7f14826fa9ebaf4181e9b14a410df","lib/libwinapi_onecoreuap-api-ms-win-security-sddl-ansi-l1-1-0.a":"03559b78a5214ed4f83dd341c0202700d69ff4acfe577ae6b92d4c862af590f8","lib/libwinapi_onecoreuap-api-ms-win-security-sddl-l1-1-0.a":"e04b7ac2b9aafe32392f30d03ecc836b39ab2956f98f4b6f13ea45e7cb9083de","lib/libwinapi_onecoreuap-api-ms-win-security-systemfunctions-l1-1-0.a":"12123b9729c86c8f4bf2e924908ed751e2f6a984c62141acff9858a3ea3da1f1","lib/libwinapi_onecoreuap-api-ms-win-service-core-ansi-l1-1-0.a":"70189c4736b78d0b9835feefbc77278f4a1fb79630d3bd8c79e85595b4a4e8a6","lib/libwinapi_onecoreuap-api-ms-win-service-core-ansi-l1-1-1.a":"a372303d42971dcfc465e226c5bf635e23dbb7a4df8a100e6b1ae668efcfc30e","lib/libwinapi_onecoreuap-api-ms-win-service-core-l1-1-0.a":"f9c50e32ff811decf56451868b8f2a08ec60fed80b5b6abb2b1b37dab442479b","lib/libwinapi_onecoreuap-api-ms-win-service-core-l1-1-1.a":"793d6d2e5d708b611c8c51b995eb26447f034c2f8f71804f26ab3b7eb5b4ea7f","lib/libwinapi_onecoreuap-api-ms-win-service-core-l1-1-2.a":"83e215dbdf6191426ec5974569fdac9725377933761ad73d51c0733f5312f160","lib/libwinapi_onecoreuap-api-ms-win-service-management-l1-1-0.a":"2d7240b34c6ab9b95d0b0c638baa254e7e174767d64d98a179e7b246a4cf5ac3","lib/libwinapi_onecoreuap-api-ms-win-service-management-l2-1-0.a":"060d20b241b8c0bfd28ea2ecb5a4efba76e2e77afc4388c42450ba18012c8f20","lib/libwinapi_onecoreuap-api-ms-win-service-winsvc-l1-1-0.a":"5e50383f61a8fdad9d0fba5e001933a17269a37d873428d3467b667c56bc6f14","lib/libwinapi_onecoreuap-api-ms-win-shcore-path-l1-1-0.a":"b121dcdc4e0bc485026d367c6b8f2322a02708b5a9aff2d156d6af3ed643c0a0","lib/libwinapi_onecoreuap-api-ms-win-shcore-registry-l1-1-0.a":"59cbe50f08a2c522a39d119ca3a3e9fb58cebd802b43f0a9d1e30165865f2cfd","lib/libwinapi_onecoreuap-api-ms-win-shcore-registry-l1-1-1.a":"bb99fca97f8654df71f7d39835cf067027a13f494c727c088f5bb24fb8e7914b","lib/libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-0.a":"132711f478eeeb8c13178eae7a4333a1dabe173cb290dafc1e63029d8ed3bf30","lib/libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-1.a":"c101777b4e550af3154997d7084e011535fe1fcff63fc1f308b56d5460a61da6","lib/libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-2.a":"851ad8f0e7e429ce19970c01c153847ac623331654477ca2471702afcda7c824","lib/libwinapi_onecoreuap-api-ms-win-shcore-stream-winrt-l1-1-0.a":"4beba4de71ef8d8e594d4eb11847a4b4f0b4af39065ab2d0514dbc21d6ece6b0","lib/libwinapi_onecoreuap-api-ms-win-shcore-sysinfo-l1-1-0.a":"903b8e5f31b2c0a7a51a1025068e776239f84d5576998e34b59a6c8c26b9076b","lib/libwinapi_onecoreuap-api-ms-win-shcore-unicodeansi-l1-1-0.a":"664a323b72d24e364c71ed70882f5cb88c3bcdbecab910a8011bb1d9b3db03a4","lib/libwinapi_onecoreuap-api-ms-win-shell-namespace-l1-1-0.a":"8d834943307f112bb5aafeba5a827220d46c2a98c3b3265db42c5c59208f1455","lib/libwinapi_onecoreuap-api-ms-win-shell-shdirectory-l1-1-0.a":"b2e7c8daf52e57e635ddd1968a5772a19d0224479d1a3e968c4c9ef388b113be","lib/libwinapi_onecoreuap-authz.a":"e0f0da30836359036e4eec83e11a38a613a91607b98372d3dca8d1df132d49e5","lib/libwinapi_onecoreuap-bcrypt.a":"b868acfe9f72de551803d49fa3cc69e4d96144d056a2b5d504453a17fef5972f","lib/libwinapi_onecoreuap-cabinet.a":"8542118dbca3daaf1c20059b5cf51fc217bc8d07f9be9371b73008a850eaf2a9","lib/libwinapi_onecoreuap-chakra.a":"996172c0c7155ff516e495530d1ac6acbd121dca5c1d31470c6d4ad0b8d50ed1","lib/libwinapi_onecoreuap-coremessaging.a":"4cd12df5bf31689a1a6224ae0c5b33c2d163de405343e496e6b878dd2d1f61fa","lib/libwinapi_onecoreuap-crypt32.a":"cf03822b1d0a289625f4ca5808763128bdfdf3211a7d98acbc70e351161c6de2","lib/libwinapi_onecoreuap-cryptbase.a":"669510bf3c470a2dd3d1006df48570af0b955a7db9fba70a7e3258e08a499c29","lib/libwinapi_onecoreuap-cryptnet.a":"881273b4aaf2d960a204125ab8effafb218a3b0c5c9ed015f00b23939ca825d6","lib/libwinapi_onecoreuap-d2d1.a":"5f241921ed594d78c66a70e2b8c81502a2ded3924f5ccd3a1b26599ef9128038","lib/libwinapi_onecoreuap-d3d11.a":"1b65a3d086ebd9ceae0060310a2336eae0df09e46d3e2ea3ad6415a99e4366e7","lib/libwinapi_onecoreuap-d3d12.a":"63ff81940648454813139c1f03ab0d4bcebc1b00a3a695cab8a31e0519e58aa0","lib/libwinapi_onecoreuap-d3dcompiler_47.a":"d1e48f68f3fd48eac3c440f3d47c4415fba29840f9cafce61b6f9ee5ed2d6701","lib/libwinapi_onecoreuap-deviceaccess.a":"426276a40e8cf0f39c15b6696e3877391599420894a4372c127375eb30acc4ed","lib/libwinapi_onecoreuap-dfscli.a":"a952b4318eff08d4bb48418b2a7f9fe47c342d29130d82d0fdda4b35b939d574","lib/libwinapi_onecoreuap-dhcpcsvc.a":"e14fa60521ec4281a5563bc541009ea65eca6ae8f2b27bfbb905f98a882e9200","lib/libwinapi_onecoreuap-dhcpcsvc6.a":"9307eb9eafac5e56eb8736e0460ccfabbeb7033c22370f6d63dbec15750c2c7d","lib/libwinapi_onecoreuap-dnsapi.a":"4e9cc60fff43de5e6bc12d0aee71780efde002c73b1a2b3e4d7f43849ffab9e1","lib/libwinapi_onecoreuap-dsparse.a":"7bcca65477240d1c54454f202f6415a2f349c8df0720b95c1396c75f109d96e1","lib/libwinapi_onecoreuap-dsrole.a":"750f331c4aea4e08e0bf57517eb5cf83f965320a40278aae5bb81a44f2e6a370","lib/libwinapi_onecoreuap-dwrite.a":"49281a37b0aee062ceb2d19efbcb065c64acf4c9a3ccf7fb53ae5e3bdb3f93fc","lib/libwinapi_onecoreuap-dxgi.a":"b978adb600527a5fa0e13033c0bd0550451543223e39b2eb55448e24283fcdde","lib/libwinapi_onecoreuap-esent.a":"44bddaf8c8a5c2c487583477978f1c726472cecf578b96a90ef9d5d94d10767a","lib/libwinapi_onecoreuap-ext-ms-win-core-iuri-l1-1-0.a":"15077a429ee981c3889f5f80f0d80908403032e9374923065d18dc5bb5f0cc21","lib/libwinapi_onecoreuap-ext-ms-win-gaming-xinput-l1-1-0.a":"d748bce05acf164423b9f51af34d27e156c3410b11a9124472dc754b125a227b","lib/libwinapi_onecoreuap-ext-ms-win-networking-wlanapi-l1-1-0.a":"04a60651bd9c7ac36c123da5385cf803be1493f5cb24c44d653dbfa99aaadf95","lib/libwinapi_onecoreuap-ext-ms-win-shell32-shellfolders-l1-1-0.a":"a499bd46bc48917584d8b2a787936f61d1de854c2fafbc079505fbc4f25eb662","lib/libwinapi_onecoreuap-ext-ms-win-shell32-shellfolders-l1-1-1.a":"111fca4ebf3213be20875af33b7347bcd93a183a81ab25e11d2cdb54bf73e6a3","lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-0.a":"82bff3ea77bf75b0a77c0c425c8a421a50f25daca665216919ea39ce56af6ad1","lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-1.a":"4d43bfe29e7456fd1c2564dcacdd87257376ca49a8cb99c0a3cd9c5a227959ce","lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-2.a":"aa5222069f5cf71d21576f8d163996a1a3f1911075027c8eaaec6cb48035e52a","lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-3.a":"8861213886555fa0c546526d976f5bd49eef5b08de37aef719e2de567da217f6","lib/libwinapi_onecoreuap-fltlib.a":"911feb95d3b46095c2590284fd4e88c281332573c16d8d72503d766e3536460d","lib/libwinapi_onecoreuap-hid.a":"b8cef8cbabee8fbe7268f574fd480b3bf02c45a600b72113f3024ceee0c47ad2","lib/libwinapi_onecoreuap-hrtfapo.a":"10a3665b5176bc622b462f1716b0a60ba83df18d63bdc960e90bb6400da78d19","lib/libwinapi_onecoreuap-inkobjcore.a":"058b9849faf46a66e49661b8f898803f440de328037ab7815fbe0d95ccc2ed66","lib/libwinapi_onecoreuap-iphlpapi.a":"7c85f15f4bf6b7fe151b274255c9ad03db1743397616ec68f90c1f4d30bdc5ec","lib/libwinapi_onecoreuap-logoncli.a":"10741f4518a7afb84b9db379c00a5331d5c4b28496f079a3eddc71871752782d","lib/libwinapi_onecoreuap-mf.a":"86f4f4346b4370da7717db46685fc92558c1fca013e8610c3cef8c10a0fb1bf2","lib/libwinapi_onecoreuap-mfplat.a":"a9dc0e798d2cc9dc4a5e75d308a9d839b105960b8152624359ac61d28085a482","lib/libwinapi_onecoreuap-mfreadwrite.a":"d91b57b8fb1babcc90f2e2a1e1fcfa893917ead5827fbc1a22fc55a6b4635488","lib/libwinapi_onecoreuap-mfsensorgroup.a":"def6ddf843cf014ed2d160b35f3a25dbb252eb95c22b4e1844df78214bc8d1a8","lib/libwinapi_onecoreuap-mmdevapi.a":"51b3a515eae39cce8d75ca9bf918373b42ea43c5c33e98195d1ba57e4b3d9c4a","lib/libwinapi_onecoreuap-mpr.a":"1b4b7839d796c512c1ea75e0317dfbb16f4b450eb939927132009e8911ead967","lib/libwinapi_onecoreuap-msajapi.a":"c5af226bc61eb42442d4ccfa0de3ae9e10c64fae32e99cae4f955b5cce83d2ac","lib/libwinapi_onecoreuap-mswsock.a":"99dba4dac3253cd88010bb41dee7d614451e02e1f97c5c4ab1d6e6741a40a371","lib/libwinapi_onecoreuap-ncrypt.a":"0325fad3e5e48c0b38c06ced23f902803ae756e977a8dcbddfe375972a56a40e","lib/libwinapi_onecoreuap-netutils.a":"495bf6025aa07914547714e9d40c41e5e849aae50d8a62076059180b17b0f8cd","lib/libwinapi_onecoreuap-ntdll.a":"42edae05c46b040e6602b48f41d9d2e2d634ee1b19702045dfb3ed6a948c3526","lib/libwinapi_onecoreuap-oleaut32.a":"67c0810d64b9aaf7d5acc2ad2177aa21c3422a32fda8f8dfc98370dd3443613a","lib/libwinapi_onecoreuap-powrprof.a":"cb06fc8b9ed56f4d14e29ec5914ef51bd2edf8a61e25ecfce3b2d6be6fb368f8","lib/libwinapi_onecoreuap-profapi.a":"edf98a33a7377ea7affa0847479cdce329af615a9ff90ce271e4311a275a4cdd","lib/libwinapi_onecoreuap-propsys.a":"e91eeeeb49bc5703934a86dfbbb2a458c77c11841583af037f771c068680739a","lib/libwinapi_onecoreuap-rometadata.a":"a36bf05aff08f2d227a96d0b0178d401c68a8a289f53a84dfb41c3f47f105cc5","lib/libwinapi_onecoreuap-rpcrt4.a":"e0fbd8c5a2374c45601de615672f568204dea9e700669c7c8aa5f57661b3e8f3","lib/libwinapi_onecoreuap-samcli.a":"87afe7ca91002af17023dc87fca3273ea7e1b8c528ddef4090bdf999b52c8286","lib/libwinapi_onecoreuap-schedcli.a":"926f2b3f46e738c629fc0c25d638f21265db4935fa0e88ea0534bc034f8461fa","lib/libwinapi_onecoreuap-srvcli.a":"97440b0de6f0d6c44f5cb164bd0bd003439aae65010d9776a15943755e03b4ac","lib/libwinapi_onecoreuap-sspicli.a":"f76d297919833bce142c60628afd8262001ced9167ddf0e5a4a88e0fd4bb3132","lib/libwinapi_onecoreuap-tokenbinding.a":"367436cc51ea44815e6787f36c94cc79d000695064a1af10d4838960df8ae23a","lib/libwinapi_onecoreuap-uiautomationcore.a":"8478851f63c4aaf3d4ebec90d401f600a1d5d766ace095f37e8a9e92806ae06c","lib/libwinapi_onecoreuap-urlmon.a":"377442751f9e9f60a975a719d64a218a6a6ef395705b81d24769f449a4045098","lib/libwinapi_onecoreuap-userenv.a":"e4521774b639d11c5f44a34f8d3e6e5dbe6d23b1dd96d8c7708334aa46bbc23e","lib/libwinapi_onecoreuap-webservices.a":"60ac62ece62892bb6ae6c56a59d75cbfb9e3cae4f93e043a45f7cabde83545c3","lib/libwinapi_onecoreuap-websocket.a":"1a05bc66523baac5824c146aa8926c35b6b2acfe1df2ab830e0897c44dcbd25b","lib/libwinapi_onecoreuap-windows.data.pdf.a":"26a379975426aabe528ff0fc7ea303618f72549f8db06c3c7e01e76d78b3bced","lib/libwinapi_onecoreuap-windows.networking.a":"d8a72775acb279a2506861da526f3157576a663eb3accc17cf9526d0c88724a2","lib/libwinapi_onecoreuap-windowscodecs.a":"7efa18011d3656e3fdbc212275e4d18dfbd0e761209eea62cb0a63607d473fe8","lib/libwinapi_onecoreuap-winhttp.a":"45349940a99a4be7bf19b3b62a8e9f422807bf49790c9af88cd7421b462da425","lib/libwinapi_onecoreuap-wintrust.a":"c0b468f69150163c919d067fa65adce769dc2c3b03a19b4b3146d6d677a0ad1b","lib/libwinapi_onecoreuap-wkscli.a":"eb5b920b6f24c96a0cf522adc25fe75f511ccf765f1d8ca35bb617f89397812a","lib/libwinapi_onecoreuap-wlanapi.a":"213899a6dc7d4c4429e297b633758e85fc416a90de41878661c14ed252734f1a","lib/libwinapi_onecoreuap-wldap32.a":"afcd3b76aa882d56bb07ca241fe82c5c44cb93c222002419d28469bcb662309e","lib/libwinapi_onecoreuap-wpprecorderum.a":"e0e7813d542aa825d4f8146c7c7532ba83586d2a28a05315fdf43b81b1d34c86","lib/libwinapi_onecoreuap-ws2_32.a":"d4b7bc67a1b2ef2c3b454cf47ccfef81539bed541bc7a254bf6de379082e6a96","lib/libwinapi_onecoreuap-xaudio2_9.a":"983acf7b29684338c3cfac1009d1f3ea1f0ce12e826018f8297e5aff40474343","lib/libwinapi_onecoreuap-xmllite.a":"15a707fbd4170432fe2f8d8ab1befc7621f67dc1f89d229feab79f551a44de85","lib/libwinapi_onecoreuap.a":"4e300d7c78faa2b7d468aa0a6638fc58c670537dce77cd5a2eb6ddb02b56d052","lib/libwinapi_onecoreuap_downlevel-advapi32.a":"446b131e441165d435585c347444f55eb11086da6d23e58e2cef7bac5de0ea1d","lib/libwinapi_onecoreuap_downlevel-apphelp.a":"6f450c64be21886b051f4110a30771fc5cdfe4c9494424ec5bd9add3c15efe90","lib/libwinapi_onecoreuap_downlevel-comctl32.a":"a5f4814e9854f7185466e0161ae4627d5a081d070c2e2598d4cc73794d098e25","lib/libwinapi_onecoreuap_downlevel-comdlg32.a":"ee490f9621d47e6adf6ee7e2a713829936f90808c6a09941a09a4c1e224b201f","lib/libwinapi_onecoreuap_downlevel-d3d10.a":"9ba34746f018aeb00629d1d9690d341e09770e0fd5f10dfbb81b63f6eed35e42","lib/libwinapi_onecoreuap_downlevel-d3d9.a":"a2a97b7dcda9519a50206b3cabb04517a7de6e5dcc51201eef932e5bcede3b73","lib/libwinapi_onecoreuap_downlevel-d3dx10_47.a":"3a964f22faa80576bca7d2d4d4b73fb0448dc87ba1c293e7e711b301705666fa","lib/libwinapi_onecoreuap_downlevel-difxapi.a":"f99ed8c8c4386ca76a0e0d09f8711577a636768b76a24a4586c294ef52784ab9","lib/libwinapi_onecoreuap_downlevel-gdi32.a":"f546864a2563ecef8edc6b1789ce4fe392e00f23c4e5b18dd572172b4d762d4d","lib/libwinapi_onecoreuap_downlevel-input.a":"8f059f86c0ba3e9f7352e01e6d19a40b0666aed67c464ebc2e8b4eaa132037c7","lib/libwinapi_onecoreuap_downlevel-kernel32.a":"f68ce42f050eaf7dde5a36de2f073e3a7021e13d0715b4c5a9b9b29c0bc0ad42","lib/libwinapi_onecoreuap_downlevel-msi.a":"727a6ad9ef23c36ba9dc511b39e6b5d08f8a06fb97357b70a3741dbf6196688b","lib/libwinapi_onecoreuap_downlevel-newdev.a":"1494c911ef6039ec297ed14800aac6aa694f4a75d80fd8ac3d7218b5dbf851fb","lib/libwinapi_onecoreuap_downlevel-ole32.a":"99934cc9b0f520238540aee73c345390fb657b51bd8d1a66723086a647ea3310","lib/libwinapi_onecoreuap_downlevel-oleacc.a":"2fb46c4eb802dcbcd767f81505f3ef2972be7133290ee38ea117338784a3d5a4","lib/libwinapi_onecoreuap_downlevel-oleaut32.a":"0085bfcb320c8129a2612f556fc7045ef71f2b521923292855574b7f10792e3a","lib/libwinapi_onecoreuap_downlevel-oledlg.a":"b2ca13d5a826424c60fbe47db98164fcc0c566acc9c52a5cd2eeeb4bdf305fe2","lib/libwinapi_onecoreuap_downlevel-pdh.a":"3a3083755e865e489cb362dcb5a13cad45f399dea58ae9509ee91a7e79b79e5c","lib/libwinapi_onecoreuap_downlevel-psapi.a":"6fd037774d3b2cf0c40e4b2a023f96133eb7d29d2adc2e95354c8fad39debf7b","lib/libwinapi_onecoreuap_downlevel-resutils.a":"36d52efc86720df0876fddd88d806c41f69809880e69239317d736f681a48951","lib/libwinapi_onecoreuap_downlevel-rstrtmgr.a":"fb4efcbc9c0d907c829fada91abb26cb922f1a2790fb01852fea812f18534257","lib/libwinapi_onecoreuap_downlevel-secur32.a":"3e7351302d67974e1c613d3734ef43db2aaa5ebd73f2b8a775b175db47741b8f","lib/libwinapi_onecoreuap_downlevel-setupapi.a":"fa6597834a8abe76e05dfed0a3e016929fcb077d6ea9c0200ec00b6cd9f1c6b1","lib/libwinapi_onecoreuap_downlevel-shell32.a":"94ec337fc06b86503f2418e483cb768ca16da2b63f8317cb84ac75fba9475f37","lib/libwinapi_onecoreuap_downlevel-shlwapi.a":"30021f8e94ed49fba0d48c496a9240424010b09c571a8f7cbcb4f94158f10e0d","lib/libwinapi_onecoreuap_downlevel-tdh.a":"2d9e5f8ec479e7cc72b88ca8a7eb1204dbafee1363c02c7451b83c191fd3ed1b","lib/libwinapi_onecoreuap_downlevel-twinapi.a":"0900ea4abb2b66ecef125c036aa1fe992f3ec77371c229743bd70e01d0af8346","lib/libwinapi_onecoreuap_downlevel-user32.a":"362b2072ff4c99501bff9bc5dc6aeb1f5808f78e3eb78c7c75f5a1af3363ac29","lib/libwinapi_onecoreuap_downlevel-uxtheme.a":"29b3faa13cfe3b390d8ebf41b9c08d56c84aa801c71cbdc5d9173381e61152d7","lib/libwinapi_onecoreuap_downlevel-version.a":"b03dcf6bf1ba34ba56b620ea8022a7179c7bddc967dedfdc8b60d3346db0f9e0","lib/libwinapi_onecoreuap_downlevel-winmm.a":"853ec28ba94036b193c79c85d1dad2b4db5fd913f737c6b796bc983c7ba17c99","lib/libwinapi_onecoreuap_downlevel-winspool.a":"510d3b0f0f11d3c51cb88bd6eac65c9a96b118550ea8d243493d5cd8ced4db43","lib/libwinapi_onecoreuap_downlevel-wtsapi32.a":"6306d9a9027228ef56769312823ff6e9631e4878ae7787e97bd10a8c321a3f64","lib/libwinapi_onecoreuap_downlevel-xinput1_4.a":"2dd8563974547350ad927aa5ae72b8286137685c91235a3e9657fb454780f64f","lib/libwinapi_onecoreuap_downlevel.a":"6122e2af86381e597496cae0a138331539bbc7ef6056086e4700e17cf7da3614","lib/libwinapi_opengl32.a":"cd61467bd26c2f04263a328e8f24a0eab68b5b4aadbfbe3783434ea3863a84e8","lib/libwinapi_opmxbox.a":"17754f6ac6a65ee1ad76cd4f9736a861900899e4b6e8d933158a9d9e7a356b60","lib/libwinapi_p2p.a":"6080dc0993d44a7fcb3d7823771389b94a1e6d98ea6c246d54b3a072d7e4c7ec","lib/libwinapi_p2pgraph.a":"8ba6ce395e5a033aa787a01caa231ff21e76cd474b8dc2a006252c41f5bcaf48","lib/libwinapi_pathcch.a":"ee5b051516e4c8ca29cfd16f0faf0ee38699be03f76c0eb2d16a7dc48fa2e10c","lib/libwinapi_pdh.a":"c38a909863a22830824d9970dbc026354846b5b54674694544c3928d25469f85","lib/libwinapi_peerdist.a":"c73e4b074e62add8b4030c6e2534ab2388ed5a4c8ba628284c65d27c5c64a777","lib/libwinapi_powrprof.a":"4c15dfa756dcab2e0433b76de463e0ee1ad68531a047bce5ea27e055d1f5f537","lib/libwinapi_prntvpt.a":"1c9516faafb35dfc21d52982cafb9dab98bd8f6942251ba7a4343445d711bc22","lib/libwinapi_propsys.a":"20757cbaec15022c8ed44b465a99f88f9d0bb42936fdc7751330df8dfe13442c","lib/libwinapi_psapi.a":"f6f67c5beee3e36eef891343bb7a93eed84735ea39e45097087830d775dbb651","lib/libwinapi_quartz.a":"173172c1bec299b8c6483950e531f5ad0d7716d2033e06b82aaa16149fd5b6f9","lib/libwinapi_query.a":"d78614fd2084f15e1c832ac41799cdbee92c98580323b4cf47a1344c41eccd05","lib/libwinapi_qwave.a":"8b393b0d5e937d30f57f649b389e6f4f654b5edbbdfe8bc60d7acbf5a44797f9","lib/libwinapi_rasapi32.a":"b1acb42a2631daafc18eb694619288b49fa47cc37f64be62313de9319b3c1d64","lib/libwinapi_rasdlg.a":"00391874f0541e15c9060d07c1035046669c122d2c620dd4ce1c08c0f2750b5a","lib/libwinapi_resutils.a":"d58453d2906d115579550ce88b3d34873262a600eb103f9130ef95356b748044","lib/libwinapi_rometadata.a":"5fd852779025837e7b66422dd543b4f8fdfb188b6f7fc5a6d758aed4f666043d","lib/libwinapi_rpcexts.a":"dcfb0696cb99c7c4fb66e614f991e9f5e6093557a88afd5da3d557d3d47f0262","lib/libwinapi_rpcns4.a":"7c642bd1aa5f392a8167459f84f942d60ce5ddea53f7e65d1cefc35b90313c89","lib/libwinapi_rpcproxy.a":"744bac498456a0d486cb1250390c57708479d815d1d028fb88222a45bbb9a31c","lib/libwinapi_rpcrt4.a":"81ad88b3cb4bda2a013695376a32d39d20a8c847fac82c1a640fb14ac2874cb4","lib/libwinapi_rstrtmgr.a":"58695aa1de3f1a45a3551e337d2278363e99e8994fde5bb7429ca91bf01eb670","lib/libwinapi_rtm.a":"e279ed0560e4e178a1e16c2f017b401bf4709f15f0bf48bbe5705edde7ed4ea9","lib/libwinapi_rtutils.a":"e4fbdd5ce86a67f0839adeaacddc5e3fb4dc1a44e443f51f79366311a27e8641","lib/libwinapi_rtworkq.a":"558abac8f635cfddae0806bca089faf1103b84222c7677c258e6d18325eee0aa","lib/libwinapi_runtimeobject-api-ms-win-core-winrt-error-l1-1-0.a":"3c22240ddf62dfa3d893adc44e25040b26b3a38ebe772854e6bc9fea4628013d","lib/libwinapi_runtimeobject-api-ms-win-core-winrt-error-l1-1-1.a":"cfda587f4371f9e7e0bdea96859b98d874ae18daa437b75725563d5c423e99e8","lib/libwinapi_runtimeobject-api-ms-win-core-winrt-l1-1-0.a":"907707ad032da229b20bbae0d25c7306d22e996a7f977b3097c3a01d5317f261","lib/libwinapi_runtimeobject-api-ms-win-core-winrt-registration-l1-1-0.a":"49618d57bd1a24aae006acf0103ae8095b9e66421a631e1e9ed384a7197d07f8","lib/libwinapi_runtimeobject-api-ms-win-core-winrt-robuffer-l1-1-0.a":"70581a27d058901a5a9bbf41a16aa5d16bf72f65b12af4fb85984bb48e3ee1dc","lib/libwinapi_runtimeobject-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a":"07200e5f0379ae3cfbde9b851ddd5d91183b4b1994aa3e4b5b0484e302341612","lib/libwinapi_runtimeobject-api-ms-win-core-winrt-string-l1-1-0.a":"fffd7d400e5dfead0b73981ed370ea2b082382b07ebb93fc7232f374de10eadc","lib/libwinapi_runtimeobject-api-ms-win-ro-typeresolution-l1-1-0.a":"48a032b080076be0ea91bc87e0a0a6f7415e8091b9db50fab0c6baca209e3a95","lib/libwinapi_runtimeobject.a":"7a0548c5ef5fc5788025e031aa642d18ea94559299b48fca507d3f52ef2e4b9a","lib/libwinapi_samlib.a":"91ee9a8d2bdb3501c6766343d1bb6bae46c39a20fc587812c78830173f1396a3","lib/libwinapi_samsrv.a":"d08bf3016166a2f335d04301a3064c433853db5466f5bf5a86653e42e93c5d2a","lib/libwinapi_sas.a":"405d7376cb9c77f67cfd5670bcea8a01cc16b19be6c74a7d1df53a7b9c42017d","lib/libwinapi_scarddlg.a":"fcc2ce4de77b26febb5d4775a1d8ded0509663f0ed17a8e79348cbcece2b7e1d","lib/libwinapi_scecli.a":"da81628253676a97948a59b44c0c16e760a34bc3b7ae87191dc235f07960c0d9","lib/libwinapi_scesrv.a":"639df7dce2b17166d0258e7368712e1024035a51293a2c169b42ccecdfe11aa4","lib/libwinapi_schannel.a":"e9f5890a84dc3b8314ec11f29301ff8471d94b5937d46d25d3ed6081c2ab8073","lib/libwinapi_secur32.a":"ea9cb6b2cf08d69c851ba23894cded1f7c4d832264af7fe91be7b9e862f8d20e","lib/libwinapi_security.a":"ff008080e458fcc7ffbfbd79bfa4da9dfe867c88015490f2b01424afe20086b7","lib/libwinapi_sens.a":"44b53c350bca96699a47e731c60996bfb7a441b49eeb37baa7c3d0d6fef559d9","lib/libwinapi_sensapi.a":"19841a881728565c15ef3c431e7e317f8301813e6b046146f01203cca0fc3292","lib/libwinapi_sensorsutils.a":"e4073214a0d131b4a6429606a07ce59d90367b7700ec1a642813b8f62ee65c4f","lib/libwinapi_setupapi.a":"ca332f657ed83d5a06a576d90529c1519d90fbeafa93c71f3542d4cf6b03eb3b","lib/libwinapi_sfc.a":"2dc50bb6cb53e5424a6ffef118fdc727ad22964687da87d0a101659b08984139","lib/libwinapi_shcore-api-ms-win-core-featurestaging-l1-1-0.a":"fffb49f303f5b25760ca8aa705ef97be92f642e647346687fab8aeb1883ecc8a","lib/libwinapi_shcore-api-ms-win-core-featurestaging-l1-1-1.a":"47e523efb180adc869d72e03c084b895ebe56ae5120b49a9cec6c6883fd687ad","lib/libwinapi_shcore-api-ms-win-shcore-scaling-l1-1-0.a":"0f4d8acbe62d2437d856d45e09bac00f65f0ade09dc5c326581d9704957fd75f","lib/libwinapi_shcore-api-ms-win-shcore-scaling-l1-1-1.a":"d244e9560e96e214d80806f8598e71e98ba9103b653d372dbde5f45fa33a117b","lib/libwinapi_shcore-api-ms-win-shcore-scaling-l1-1-2.a":"b2e1d7ae641a34f3c1049b788300044c1bfaa5504533cc57e046d9a13e386ec0","lib/libwinapi_shcore-api-ms-win-shcore-stream-winrt-l1-1-0.a":"4c3a88da7377928ff249a0620741cd949355f7ae8c3a11db78c3a1b375a8eb89","lib/libwinapi_shcore.a":"e2d0fa7e9c0d06bfec41008a6f41c47769cd4ba6ca839efdb99bc2e0cf4e1a39","lib/libwinapi_shdocvw.a":"1e0f3f43046b0ea779d69a3c46ef31450386baf3a135f8198a2299f9e6531fe5","lib/libwinapi_shell32.a":"342bbf0eac1dc3441526dbda7ba79e269219a5820a9a54a6c41050e8b28b4d5a","lib/libwinapi_shfolder.a":"64695b29cf965c9de61fa26aacf27acc43d9653166edcf47cce011a4bc171f27","lib/libwinapi_shlwapi.a":"e111842c79bb11433d74b9f52d51a74ae8f78527470bfc401565847b9c59c5ba","lib/libwinapi_slc.a":"9841bf76a2366a73b33d7d14c220813aefd2cf0462f090231f0ab44e7b5bfdc2","lib/libwinapi_slcext.a":"f5141e0529d6788add8b0bd0fdd0b4268f25deafee8d2dd59f427fed82f63b6c","lib/libwinapi_slwga.a":"3a32c92e0d192e675b1aeb8a71272dc14608cc62b26aa6b9db0ec1c3fb6ff556","lib/libwinapi_snmpapi.a":"a1456434d462c80e906523d7c389792be7ea5eaa17dd0d162e65a1b543368e57","lib/libwinapi_spoolss.a":"f53249a979dfed0e0038db4e8f4a8536b1f6382998112429e2d0bfbb0bae6bde","lib/libwinapi_sporder.a":"c18d86b92469bed1231057ce4c2dd76be4fa325e5576cab1828ef04b11af0e26","lib/libwinapi_srpapi.a":"d9301c3d6778da6efd7fc82b081931548ac0f9cc0fa0985bceab6fdb533abada","lib/libwinapi_ssdpapi.a":"66300e9a08686873fb992c8398284c80b40d8a28b8d55cb9455024b8e3888acd","lib/libwinapi_sti.a":"1a674eeb27c4a0854d01a14b50ca2fec8cf116662087887c485f93315440072e","lib/libwinapi_swdevice.a":"1d6363c447b68581d2a9f0cf6b874c6296878f974f239e9ac1808eea1a2b9d06","lib/libwinapi_synchronization.a":"fdc8df30efc2b7fe58d83d4eefa6245f35f2e534bfa6357c069e061da91aaef1","lib/libwinapi_t2embed.a":"79a7a2ded05e377b286fe3319ff30840632c8e6b08cfebe619aed4ef18dcd701","lib/libwinapi_tapi32.a":"b92b8648e4d8024f6457a84f80432048c83e3946a069e3ee241fe7a0188e1329","lib/libwinapi_tbs.a":"85a9741c2789221e90d4677df38f12ca837235c46b6ca765d1516e5dd9b8b89f","lib/libwinapi_tdh.a":"7a40b11938eb4c888283edb75b523ce58ba7bc80598dacea4c9ccb674bf71603","lib/libwinapi_tokenbinding.a":"faa88b4ca04226baedacd9b34d9dc46bc332c1e8aa87a2bf1a7f152c106623a3","lib/libwinapi_traffic.a":"7838ad22ff777a4de867353c5f2960ada912bc502b421c70d2c1ab814af37696","lib/libwinapi_tsec.a":"94d58b06c649ac6febd1be8c0a14ad112871fdcad75122ef4bc39ee52d2744af","lib/libwinapi_txfw32.a":"630f274d67e4956ab9d066d3cf79cba5de57b173fa8988c242520be574ae0f2c","lib/libwinapi_ualapi.a":"dafc0cc5db2358020464598f1750ed79fb5deef00eff70332d134d922e08bea2","lib/libwinapi_uiautomationcore.a":"9386c67bc47a45637e8ad963133f2bef11adb1ba0f7744200378b7cad245a571","lib/libwinapi_umpdddi.a":"6917cd155ea1efc89df72102d9b240d5deebfd09d8131b1376fc30e44bd4cefc","lib/libwinapi_urlmon.a":"15500bc9703d990df5c76e9fc982549eff5137e912901833c36731cbb1ef03cd","lib/libwinapi_user32.a":"cab4ffa1522d2cd626585ef27f0355b89ca2cf6a1af208cb0a08a851be676c2a","lib/libwinapi_userenv.a":"490004a87dc9a33eaa5178d4e0f9d4e2e5704f227c28eab018c9ebdb329ad003","lib/libwinapi_usp10.a":"9388553f5594b2cb0fb5de349f86462945969b215baae6ec3563ef422c0ff236","lib/libwinapi_uxtheme.a":"e79890801a208f5a97a032527f1b6580860fc170fcad13f60af7025bc55816c9","lib/libwinapi_version.a":"9b39a94cd041c08006833571ef2c5010ad002580bd7a7f959ccae4b7bb2a53a2","lib/libwinapi_vertdll.a":"2d9e673b14ac040402fb01b7cae7c38a8f069de117f24ee528c48d2200dc046b","lib/libwinapi_vfw32-avicap32.a":"6539084f6426499412e3e227a60ade3f66c9c7cfc0c3b56574c247ad8ab20b6b","lib/libwinapi_vfw32-avifil32.a":"a46baae68ee4545847d0f943217b607b3db4c0e98c8f636bd0e6cb5358385f53","lib/libwinapi_vfw32-msvfw32.a":"df741fa382f893f72277d9c9c61186252df1b3a53fd46fef0bd4054eea583dbe","lib/libwinapi_vfw32.a":"1f7bf15b2c0d637ef6a424ea0173f26d9adabb2bfbcc5711a95b408e060a7d96","lib/libwinapi_virtdisk.a":"b49c9ad313c8f3721d471aa92efbb671a9033104d9b455fc001e7d51fe554c03","lib/libwinapi_vssapi.a":"b6419c12a1aa251b7afe503b506b3cc2d2110bfe7b63329974915535f7ffcba8","lib/libwinapi_wcmapi.a":"d7d5892554e47394023a11be4073dd8d37d68bae06445fae9031d9c4fe25550d","lib/libwinapi_wdsbp.a":"d66a854206703421d8047aab169c0164f5601d72b18aa9995866023df455ea5d","lib/libwinapi_wdsclientapi.a":"28cb87834670a97daee6b59bd2e3f93d7054591fa8534dc31b496c57c45605c8","lib/libwinapi_wdsmc.a":"64197d80127a7f2fd6d2a86dce0d22d279859bc30cc50990acc484e1f2268def","lib/libwinapi_wdspxe.a":"44a2932596e7332447c45e60d361bf2fcf07e4d80dd505e4d9154e1c104abed9","lib/libwinapi_wdstptc.a":"c080d87fc9aa5c90d9eb936a4c4087a90703b612109c415b319533e6b32aedaf","lib/libwinapi_webservices.a":"bbd4e2a1d1129f2402faa311d232b16d5459b8a735cf08172677e83e19eb232c","lib/libwinapi_websocket.a":"c43b8eda7cde0a8040732b4ac093a1197fc4e2408ee9b8014659da745c25829b","lib/libwinapi_wecapi.a":"88a7259bae69e5c6ecef972a56b529d50151170b5886503216010e3f0bda4b1f","lib/libwinapi_wer.a":"a345247b177870607ee9f53653ac31618b258f2167b08fd1f4e064f4bf7eb9b4","lib/libwinapi_wevtapi.a":"83f302ff302968a7baf739ba768669e4b9a4173377ca00ae2f9f273ed7f7a494","lib/libwinapi_wiaservc.a":"acdd02371456418233a310bc6c9f3b89679b1f404189610c4c8e4b2dc391289a","lib/libwinapi_winbio.a":"849ebb2527d786c4b9e7c003c1d0b3d6870760af55fb459d95b5ec5a9ac23841","lib/libwinapi_windows.data.pdf.a":"3bfaa6d9063849a48231a0f0389bff1d943fa8731e8f9dd0f44e60a1fe83b273","lib/libwinapi_windows.networking.a":"4779dcaaf565e38ba1b70de811a7b054f71b8518560aa197b31cda6e19dea6f2","lib/libwinapi_windows.ui.a":"ceacde478768ba266891473df34530edcbace3f0d2f63fd4ebc77f2db5ae035e","lib/libwinapi_windowsapp-api-ms-win-appmodel-runtime-l1-1-0.a":"ae5a529ae45288b871632f3ec12db35ce4dc1ce8535963928263e57a9b00e938","lib/libwinapi_windowsapp-api-ms-win-appmodel-runtime-l1-1-1.a":"83b45b3b1764b8bade36adf6be1e7b4129000deb8fa6a74da66010c2e1972d3b","lib/libwinapi_windowsapp-api-ms-win-core-com-l1-1-0.a":"4e371b5c9bc78e90de4bccfb5f8591f1a00ea52dcf3ebb5ac28d42cebd5323e4","lib/libwinapi_windowsapp-api-ms-win-core-com-l1-1-1.a":"508fdae146d10f709f241b72e50538b806411365bfd25d0b058f930087d48468","lib/libwinapi_windowsapp-api-ms-win-core-com-l2-1-1.a":"eb431ce92e4089fb2b4041beb5a1c6cb5b3a6b260f7c7b5b2cc939163842709d","lib/libwinapi_windowsapp-api-ms-win-core-com-midlproxystub-l1-1-0.a":"7732e7fb9cbcc6f7420942491e7e6ffda9d4d342df6cdc6d6ce8ba703db38280","lib/libwinapi_windowsapp-api-ms-win-core-comm-l1-1-0.a":"2854591f2764af61e6e9d0eecded807cd4d1bf1105c11d8443149f63faca95f6","lib/libwinapi_windowsapp-api-ms-win-core-comm-l1-1-1.a":"cb8d5769116f8bbfebf7ee76d5dd0328a07bd40c5fafedf9f77ab4233cbf0145","lib/libwinapi_windowsapp-api-ms-win-core-console-l1-1-0.a":"47cee44464b1b6ab8f830bed46a74268588123fb2fefbab2f995a5f4ecc6b05a","lib/libwinapi_windowsapp-api-ms-win-core-console-l2-1-0.a":"d1d821fbfa3dbd91b8e979132a8f8489a027ff012bef7dd966ae84887b264207","lib/libwinapi_windowsapp-api-ms-win-core-datetime-l1-1-1.a":"2d7c594d910f03157c45bd42746da0270fef7908068cc30700d07f6bf3549e0e","lib/libwinapi_windowsapp-api-ms-win-core-datetime-l1-1-2.a":"68d751df1f53f2076de469949b57bd90bb6ebc5b146835b43aa786bc6235a6fd","lib/libwinapi_windowsapp-api-ms-win-core-debug-l1-1-0.a":"09381a9efd95ddf5eeee4bb4f9a726f930c7de0cd33c559e5f18306d56ae97ac","lib/libwinapi_windowsapp-api-ms-win-core-delayload-l1-1-0.a":"3d346fa6b1fe9d9a73b0f8d0b9444cf57917bf59bce6ffa3579932788a8e11be","lib/libwinapi_windowsapp-api-ms-win-core-delayload-l1-1-1.a":"a2feab35eb695d0f9e6b2cd7ca5889831353ba5cf7e6a7101ccf7a054f97f2c8","lib/libwinapi_windowsapp-api-ms-win-core-enclave-l1-1-0.a":"567dafb75dbef76c3c323fccb2a0b53a2a38c22f4e62a9d67f59df122a1fb5ee","lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-0.a":"1759d5d8488b35db38e39328b66608ab3e253deb3a1241e14e79e7b329da024d","lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-2.a":"23fc0a3663b50a1961af9d96f6765cdb5fbab4093a5d39181ca0eb244f44478c","lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-3.a":"b4cfaf6b55bb108a94a5e68124d2e9e0c674390fd7a35b9b3c625ea5798b2774","lib/libwinapi_windowsapp-api-ms-win-core-featurestaging-l1-1-0.a":"74f32a510cce263ff575350680506802c6e3bb23d7088db7d0308725cd9da80b","lib/libwinapi_windowsapp-api-ms-win-core-featurestaging-l1-1-1.a":"363e8d61b1012f11ff747e76c23d271b3115dcd50b8c0269d7407c77e1792b7b","lib/libwinapi_windowsapp-api-ms-win-core-fibers-l1-1-0.a":"e3a89400ce02e583cdaa8fa4de050d8e65ee0339b13ea82f73d5096de7cda622","lib/libwinapi_windowsapp-api-ms-win-core-fibers-l1-1-1.a":"00e98c96b9ed76b067c279fe68582d292476186b4c2f2bbbe3ef414e89848571","lib/libwinapi_windowsapp-api-ms-win-core-fibers-l2-1-0.a":"96c54ff9391a8c24f3c3437d1dc25ab3c84c360d3159f7ccd0d0e8c7f351d9e5","lib/libwinapi_windowsapp-api-ms-win-core-fibers-l2-1-1.a":"a7aabc370c4945162648ad40feb159defa54ea457c6d6def04e2bae1935bea5b","lib/libwinapi_windowsapp-api-ms-win-core-file-ansi-l1-1-0.a":"fe2f464e89d569e63bd5d87ceceb81beb440bba950b89e537a067f36319f92a2","lib/libwinapi_windowsapp-api-ms-win-core-file-ansi-l2-1-0.a":"6f9530c4aac755d101bd7d3106c44fa5ea3244e33f4a3c19a75d9a9407934d94","lib/libwinapi_windowsapp-api-ms-win-core-file-l1-1-0.a":"199bee21f074cbefa33b60301865ba5e4f1376f75c912147f13b55c7dea05610","lib/libwinapi_windowsapp-api-ms-win-core-file-l1-2-0.a":"1f5673e6408eb3f6bca799abd9296c32ef0cd32d97f5d9ca4133a99611dbd8c3","lib/libwinapi_windowsapp-api-ms-win-core-file-l1-2-2.a":"c37cb5b9d56b54b02d5938bbe8143637267d4c36dcb923e641fcac497c1b3f17","lib/libwinapi_windowsapp-api-ms-win-core-file-l2-1-0.a":"677786bc9efc8691621ef64dffb264bc16b7b1163efe6baaeafeb7c6e36ba389","lib/libwinapi_windowsapp-api-ms-win-core-file-l2-1-2.a":"a9a139d309cb0c125c4fa65307fafd2638786f336f0e6d6fd1a7449eee13da49","lib/libwinapi_windowsapp-api-ms-win-core-handle-l1-1-0.a":"26caaf18006bc0abbe3d56a73ff96a9698111d9f4b98fb1f0e790f4447d5ba59","lib/libwinapi_windowsapp-api-ms-win-core-heap-l1-1-0.a":"bfd091b593c6be02e8d274c3d175b0c220fd2984837dd87d135c351159e201b3","lib/libwinapi_windowsapp-api-ms-win-core-heap-l2-1-0.a":"73ea930467212eb507cfc65b6aa44d0afda3d61944d985f75b931e457087a8ab","lib/libwinapi_windowsapp-api-ms-win-core-heap-obsolete-l1-1-0.a":"ef5e4130be7b1a1b883df609dbefc06f9e54672ea9f4a24bcda165b2e9037cbe","lib/libwinapi_windowsapp-api-ms-win-core-interlocked-l1-1-0.a":"394b682dd8369924304efac3c96c0725ff708e9347aca12bcb0507bc1b12d9cd","lib/libwinapi_windowsapp-api-ms-win-core-interlocked-l1-2-0.a":"21d8e69b6b3c0d0842ead7195e4eeae70235eb4efd83672d370eb68c30230eb3","lib/libwinapi_windowsapp-api-ms-win-core-io-l1-1-0.a":"b2226ebecc94545b17792169b91fd2b9c484ef3fc57c2f2ee7fc8c24732b93d2","lib/libwinapi_windowsapp-api-ms-win-core-io-l1-1-1.a":"fb8c39c016226f510786f877ecf22aa3a0aad36035f43bf52e38eeb1d1d0dc2f","lib/libwinapi_windowsapp-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a":"075f58aefa7fb31879599afc6307ed2d6d21877106741cfc60198a6cdaaf47db","lib/libwinapi_windowsapp-api-ms-win-core-kernel32-legacy-l1-1-0.a":"dfc425b74e9c9b8a9ce0ac16d6b07720eb27039bb82d24b1d6f73f31453c7700","lib/libwinapi_windowsapp-api-ms-win-core-largeinteger-l1-1-0.a":"c842bd5d226d538229d7fa7b354c5ed80ab9e16abe4d05d687c7b5aa6166a7bc","lib/libwinapi_windowsapp-api-ms-win-core-libraryloader-l1-2-0.a":"dd46e937f2215d3b8066a73fb33dcf31612cd4c74aabe86cb17ba7dfb6c3541d","lib/libwinapi_windowsapp-api-ms-win-core-libraryloader-l2-1-0.a":"e19d3c11346e736ced16193b8419f6c887d7bc19d0b77bf64445467f8da453c1","lib/libwinapi_windowsapp-api-ms-win-core-localization-ansi-l1-1-0.a":"1b4eba533a023b9b2c1a0489fd4a8e1dabe129772414c8784b939c6b209a8393","lib/libwinapi_windowsapp-api-ms-win-core-localization-l1-2-0.a":"63b4a889f279bbcce34503874b546c12b610af3c336e94ab1b12a321af219da9","lib/libwinapi_windowsapp-api-ms-win-core-localization-l1-2-1.a":"798a833babb6b8901ae06ea1621a1d14ff4d573c9dd80be964ab2895ba1763d8","lib/libwinapi_windowsapp-api-ms-win-core-localization-l1-2-2.a":"25dcc0836462742853efb4b704e709ff182935495e7a4b6c385cfa30cf7b771e","lib/libwinapi_windowsapp-api-ms-win-core-localization-l2-1-0.a":"1e448b81a7d1ee34ca4915917f11762550fb0895619bd6aa8ce11522798abfcc","lib/libwinapi_windowsapp-api-ms-win-core-localization-obsolete-l1-2-0.a":"ea08db7dbadd651054597951dc0114e71563df15ccf39e770d7f70b73967db9a","lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-0.a":"5c1b0121f7cc1578b79aa592f3a5a157d471d367e1337ea599281e1df7b308ff","lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-1.a":"a2ec02ac776bb5f3dfcde0bef2478f8ca681c9d62a7ae7396eac3b3bdb5e0018","lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-2.a":"7d3c77019c63c86e19d4a9d007687d2cf32d6c4c3a69597b52fab704bdb9380a","lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-3.a":"bd87331f4656c12e21be4f809d3e6c15dfd3f5f623a26ab1eb816814cb229de5","lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-ansi-l1-1-0.a":"679cf926529bfe1745149cf17072ae8842da2d8d43d51d595e47e50b7cc3ad88","lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-ansi-l1-1-1.a":"f88640101f58332a336fb473ea273e400075bbdfb339c74936491e8d871dbc8e","lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-1-0.a":"ef8ee63a4f86b293b8da715f5879a5a68e1473aca6e9d9def7f80703652586f8","lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-2-1.a":"8b5111199eabcd7bed60691e5f0560e2fb8cbbef259cc6aeba814036dde1d64c","lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-2-2.a":"40bcff81cf7fb2dd08bf472a1c20cb5a68366563ef63ee377c2955c0b712eec8","lib/libwinapi_windowsapp-api-ms-win-core-namespace-ansi-l1-1-0.a":"53308d6bc82db5f0b8df19e8c2d0d3cc8ad175491f4afe3ad43d3f2459fa37ad","lib/libwinapi_windowsapp-api-ms-win-core-namespace-l1-1-0.a":"fd98443ae36986e88870d302b821de44f253b812846204c3b320936e94b9dcb8","lib/libwinapi_windowsapp-api-ms-win-core-normalization-l1-1-0.a":"74e7e75117b012a700079e7a8f6bc7dd772fa1b045426476ac4aa285510e8033","lib/libwinapi_windowsapp-api-ms-win-core-path-l1-1-0.a":"f0f658a64b32553cb31da782c975c2c10c89e9b0c4d2db8647c04419ac5afca1","lib/libwinapi_windowsapp-api-ms-win-core-processenvironment-l1-1-0.a":"2a1c018da98ba81eae3c952d3e2246dabd2815d6ecfa9c299597af31f41bc8b0","lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-0.a":"af8ee6bcb56f69f6e8cae367d3e5ca7a7e5767a65ef025ab73444cc4cd84f2c5","lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-1.a":"61283492150d56f27b1565ab137446329db98cab4d8a4686ddbe601f78533199","lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-2.a":"2f3d245f6f1306f1982b9bc6b9f7f189478578475c74ccce41c74e2d0f9fdc71","lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-3.a":"e1ec06ed7a57190a3b362ddae83a2d1673654780aaab2669e4ffa98148392388","lib/libwinapi_windowsapp-api-ms-win-core-processtopology-obsolete-l1-1-0.a":"0b8045cba487a094bdc9968ac70e7c74a06203ffdee79dc7f7161235beb7c3e0","lib/libwinapi_windowsapp-api-ms-win-core-profile-l1-1-0.a":"a21d40fa108dd467e7a1a33f28b275f747a101efc4207e8edf07ea043bd7e89e","lib/libwinapi_windowsapp-api-ms-win-core-psapi-ansi-l1-1-0.a":"d7e300765ebe2b9023a5212fe76fce6da4bf1811f9311c8753694cd4e4340f53","lib/libwinapi_windowsapp-api-ms-win-core-psapi-l1-1-0.a":"bc28e602fb4600315fc2e1c84520eac7ec1e3d21d31cd68b1f21ec2fa0967839","lib/libwinapi_windowsapp-api-ms-win-core-psm-appnotify-l1-1-0.a":"5205a816830618555705303c76171e70e4427f6eade4cf2f0b9925de49f971f5","lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-0.a":"94c517e63ad80396976472250b833a63918768b56fae0a560e9d0f2b7de8e043","lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-1.a":"a6162bad2c4390849f390725e9bc9300960f654c86ea4764d8a7abefa0dc15eb","lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-2.a":"44fde3a07b7f045e20eb7c93d26f760fbe7c77602a829c5393a7cb991383f837","lib/libwinapi_windowsapp-api-ms-win-core-rtlsupport-l1-1-0.a":"662a900b3f217c0355ce0b6f9946d39c84b2fa9ae94d0a485c8c52d28ce1f3af","lib/libwinapi_windowsapp-api-ms-win-core-slapi-l1-1-0.a":"da1a0bf48aac28cc96e29822c62333777787193394e9e7fa0aea17ad232a4940","lib/libwinapi_windowsapp-api-ms-win-core-string-l1-1-0.a":"02cb9f55b872652c53b2533ee92e75eb327c2dd52cbb2d327f336ef009f9e93c","lib/libwinapi_windowsapp-api-ms-win-core-synch-ansi-l1-1-0.a":"d46dc40c1ccb40880bb4052aa17a458c858388da0da7cc9eb96da8aa09b5231a","lib/libwinapi_windowsapp-api-ms-win-core-synch-l1-1-0.a":"677778edda4531176ae134475b895cda615e51df45576642dc932c8d8c9a10ee","lib/libwinapi_windowsapp-api-ms-win-core-synch-l1-2-0.a":"0d3cceadee76b329dc30d501c2d73755bc6276cafeee2697085b4586c544d06e","lib/libwinapi_windowsapp-api-ms-win-core-synch-l1-2-1.a":"a35894c59b361b4f35bead6a917a8a210508c1c96001826e0a96cc7baa1c842f","lib/libwinapi_windowsapp-api-ms-win-core-sysinfo-l1-1-0.a":"369718cfbdf91609efc62cf9605c8d81de831ff5f1f4fdd0f62df54f832df758","lib/libwinapi_windowsapp-api-ms-win-core-sysinfo-l1-2-0.a":"bce191f0587c8f9d7f676be1b5190de2de4f996a0910e4c76048e018930e8e88","lib/libwinapi_windowsapp-api-ms-win-core-sysinfo-l1-2-3.a":"f61f1d99bcfb7b5e8d96a56c52fb725d9a36bedfc7ed08cfd7a3bf1e2311a577","lib/libwinapi_windowsapp-api-ms-win-core-threadpool-l1-2-0.a":"2f51b21fe9a60b81b3c16709fd36d0cae88ff3b8f55c0816872c5c11fb423271","lib/libwinapi_windowsapp-api-ms-win-core-timezone-l1-1-0.a":"945698b1a3027bd6d13127847635311f4918f47797c2cdf00dce03e12beebda5","lib/libwinapi_windowsapp-api-ms-win-core-url-l1-1-0.a":"1053a4ea528bc28aa1c0100eeab95f608f12c6783bfbca11f907a243f7bbce9b","lib/libwinapi_windowsapp-api-ms-win-core-util-l1-1-0.a":"a1655c5410387c0051a553c1b1742553c4773a7eba8e53cf25ce24f886961a13","lib/libwinapi_windowsapp-api-ms-win-core-version-l1-1-0.a":"5df21a1d47100128914dee705e4911b34970157ac74ac254858089396367e281","lib/libwinapi_windowsapp-api-ms-win-core-versionansi-l1-1-0.a":"7aed54533b4709f6bdc9f097465bcb4a71b819431239978d5963fb48f83adab2","lib/libwinapi_windowsapp-api-ms-win-core-windowsceip-l1-1-0.a":"e806b412b7373abe95852102fdf75a2f0a6bbb95f01611154e6e135fe783d54c","lib/libwinapi_windowsapp-api-ms-win-core-windowserrorreporting-l1-1-0.a":"5ba4d916eed3e36d665efb99922c3e975d12f31ad838f72352b5116dc4adc054","lib/libwinapi_windowsapp-api-ms-win-core-windowserrorreporting-l1-1-1.a":"ab9513a9773ce626974fc0cd1d024361461396e343589753384e6dd098271d93","lib/libwinapi_windowsapp-api-ms-win-core-windowserrorreporting-l1-1-2.a":"ddc5f1e9c7748223abfb6b1254a29976c13ffa9b62eeebf4704b6ce778fbec53","lib/libwinapi_windowsapp-api-ms-win-core-winrt-error-l1-1-0.a":"ec0c3b1bd8ecad5411ae6b7f626132a682795a5d495e5cb8cf8456dacae1fdb9","lib/libwinapi_windowsapp-api-ms-win-core-winrt-error-l1-1-1.a":"bdcd1862f07ca2fa628fe32c850f02ec51fe31bb4c7169a320b0b3636715d27c","lib/libwinapi_windowsapp-api-ms-win-core-winrt-l1-1-0.a":"074094d4fb9d8cfa85bcf9eb55610b7635cedc0446d7d4bbba23ec29ee81fa23","lib/libwinapi_windowsapp-api-ms-win-core-winrt-registration-l1-1-0.a":"1aae3b87b4daa4ab1646dac2e2ec947c883f33fa5105c2b74a97eec98bf51aba","lib/libwinapi_windowsapp-api-ms-win-core-winrt-robuffer-l1-1-0.a":"45e0c6cc9374dbb69e0a2e4258f3a9372e0eba7165590f52cd8ca7279f38a33b","lib/libwinapi_windowsapp-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a":"13f13a875a47020f343c5e8f45e607da17e865f930c10d7d1bb20e58c7d8d319","lib/libwinapi_windowsapp-api-ms-win-core-winrt-string-l1-1-0.a":"100007c54b80e4b063e81b9cf74e0031a2b7875557a2d39e4c66bb1c6fededc7","lib/libwinapi_windowsapp-api-ms-win-core-wow64-l1-1-0.a":"dc96f89d7d7d2fc4d011835bf72efad31bfaa396450d3bafb60b7b8c3cc3a29f","lib/libwinapi_windowsapp-api-ms-win-core-xstate-l2-1-0.a":"a94abe923e2e1e62e00ee6271c9493c9996d1866ddef1d6ae4baa31e3e193452","lib/libwinapi_windowsapp-api-ms-win-eventing-classicprovider-l1-1-0.a":"4cc2d512c93c466801ff1aba3b269eb6cd8bb5e068fb3997702d7e9de6d69e7b","lib/libwinapi_windowsapp-api-ms-win-eventing-consumer-l1-1-0.a":"0d2bfdf7f4e6bfacce139de90bef4e7b9be2247e46b590f43472bf512f9cd547","lib/libwinapi_windowsapp-api-ms-win-eventing-controller-l1-1-0.a":"f87ff616008bf1f362e6a0d3db8327108ed823f9705ed6d0becc09bd812c4321","lib/libwinapi_windowsapp-api-ms-win-eventing-legacy-l1-1-0.a":"dfc34fcafd7474b13c89c85e12d65f45e54c5c039b409587cd57d86da103fc37","lib/libwinapi_windowsapp-api-ms-win-eventing-provider-l1-1-0.a":"f1815af1a3878fe4ef29e9faa11662adc1695d2f20fd1fc4440ac30a3634a519","lib/libwinapi_windowsapp-api-ms-win-gaming-deviceinformation-l1-1-0.a":"c6dd8bef4e2c33ade7eea1fc40ec9b953f99ff67b6fa7a7af3a2f6b092256832","lib/libwinapi_windowsapp-api-ms-win-gaming-expandedresources-l1-1-0.a":"d4b20d678a7c9fcdea471ade884d25f65604267f9f0ecdfa12216c6739787fde","lib/libwinapi_windowsapp-api-ms-win-gaming-gamemonitor-l1-1-0.a":"833f719b840c9dc743a859a0c307c6cd6c6135834c861d88d65039ae46e862dd","lib/libwinapi_windowsapp-api-ms-win-gaming-gamemonitor-l1-1-1.a":"3a56df33b86c8b4120f684f596cacfd9aeb549e04828bf421cd0386e87cfcbd1","lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-0.a":"a61a0f2491b6e8709a77e6f3c2355d699c8c3d66177d88b619219447991475a2","lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-1.a":"c15d3c10174bb320025e4783e7c0325b018454f7c2a5362a522a6c3c81ac2e15","lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-2.a":"e1893322b38da323190f399dcf6fa6a0bf1211d81604ccac0053d7bad8faa2e3","lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-3.a":"9b5b10583e46bdde128c7cdc4eee470fe00e53faa060ea43240d599ea4acb714","lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-4.a":"70ed16b31f947bd7dbad9a2e8ec9ca4b1989dec49114e547a7fedaf0050853d6","lib/libwinapi_windowsapp-api-ms-win-ro-typeresolution-l1-1-0.a":"efb7105f66e30d6b47a4d7c4e4bc855bc93700cffc85c4fcb88c5ed01924c08f","lib/libwinapi_windowsapp-api-ms-win-security-base-l1-1-0.a":"bf3ae73201b0ca57f9e72ff63fc4bb02c8688be9bc1b26f03e7ec8625adce8c1","lib/libwinapi_windowsapp-api-ms-win-security-base-l1-2-0.a":"708c5b394d77eef855e38e5def7c20dc68c5eb3f42559da9a2410216b0dc804b","lib/libwinapi_windowsapp-api-ms-win-security-base-l1-2-1.a":"f6d0415df84733fbb00367d7ce8a58503b1ae82f00084b4017f43891e260d273","lib/libwinapi_windowsapp-api-ms-win-security-cryptoapi-l1-1-0.a":"08b92bbca14b3caa2800a1c6cb8a422d987453fc79e03f6bba2be6f321955788","lib/libwinapi_windowsapp-api-ms-win-security-isolatedcontainer-l1-1-0.a":"02cd4b104d098858228c9da7d98223aebd6c7cfe79fe04dd92e95b1acac90170","lib/libwinapi_windowsapp-api-ms-win-security-lsalookup-ansi-l2-1-0.a":"713e02a43329a4f7b1b89dcdb6b0978f70ee3f881c2e57b6f2089597afec02f3","lib/libwinapi_windowsapp-api-ms-win-security-lsalookup-l2-1-0.a":"e0c00d82c9c8b644eb66728a31911c0b46aa9bbbeeaf76d1e52a634dc6420489","lib/libwinapi_windowsapp-api-ms-win-security-provider-ansi-l1-1-0.a":"7949eb398bea0952d589f520b863c16b905b1f7336564bce2c56fc7504660116","lib/libwinapi_windowsapp-api-ms-win-security-provider-l1-1-0.a":"563c511de536d18586425400a822d23237fb08641fb7cf162064a318f68ada9d","lib/libwinapi_windowsapp-api-ms-win-security-sddl-ansi-l1-1-0.a":"d6f995485514312d425e618253d66c4e86577dab76338651be5e399b8f8319fa","lib/libwinapi_windowsapp-api-ms-win-security-sddl-l1-1-0.a":"0dc02e652b522c1322a92bdc26969509e8abb4dc8afbb38ceb4b313fd7453691","lib/libwinapi_windowsapp-api-ms-win-shcore-stream-winrt-l1-1-0.a":"a519bd8308ca63cd953624bc125861be000013815936a6a493fd54e5ad7003de","lib/libwinapi_windowsapp-bcrypt.a":"ec1329fa5a61a3b6cd84a3073aaada7b8785a77f63ac11f1d360caa1ae202bff","lib/libwinapi_windowsapp-cabinet.a":"7e29bea56ad7adb0179764acaf5f6b4def59c165c7558d593f63fda86ba368aa","lib/libwinapi_windowsapp-chakra.a":"bde73d3211bb74985a77de624a0f2a69a3a9ef75301651149eaa186111b2b7be","lib/libwinapi_windowsapp-coremessaging.a":"d72d946e4944c83e35a863db105b6f11410d013a4bd773b3e843ad9d53c15e51","lib/libwinapi_windowsapp-crypt32.a":"9b9536ccfc119865a0bdfc0abbc5292aeab79167663ab3667dd9a91453ef6f62","lib/libwinapi_windowsapp-d2d1.a":"4e5448b5f5062deadca8f55eec73dafa579fc8a23d55848700b7056847291429","lib/libwinapi_windowsapp-d3d11.a":"b811cce64afcdb1a0423633d197eb4a03e15a7ebf91026652e7792c69cc1acaf","lib/libwinapi_windowsapp-d3d12.a":"091aaa8fab3b7de11a9af54152575825dc8fac430ae033f4d4723d04b0399e11","lib/libwinapi_windowsapp-d3dcompiler_47.a":"fd94740862b56f0cac0810a6a7e88d625f5760ddf722d782c3d0b538fd357b31","lib/libwinapi_windowsapp-deviceaccess.a":"782f1edafaf4f507b5d6fc225c43442bbbc1392090c225c36b812c78b4008dcd","lib/libwinapi_windowsapp-dhcpcsvc.a":"3f3236df207c9500f86e8983523dffb321dd8e2be5eb046c2af02b7072c59f66","lib/libwinapi_windowsapp-dhcpcsvc6.a":"84770cc3af6607f00cfcc2bc78d7d360d34b1d01dc8b263bbe41fe78b4399111","lib/libwinapi_windowsapp-dwrite.a":"594f8cca0f490d89792bee1d520cd1fc8869fa33f26fd6efc99c2a365f6dab08","lib/libwinapi_windowsapp-dxgi.a":"9c4917fb8ce4fab92b7e5e0ef279935525a5a17ed6954a49a53e4c6cdb61fd6a","lib/libwinapi_windowsapp-esent.a":"c837999f299f9f404032de4e5d5cd8ae21f821ee7c296098be6e0c1290cbc7f2","lib/libwinapi_windowsapp-ext-ms-win-core-iuri-l1-1-0.a":"e174067c0f98d3fe42821d200b6788071ce59a723336f5d351c7dc64073eec81","lib/libwinapi_windowsapp-ext-ms-win-gaming-xinput-l1-1-0.a":"f6ff8db9b176d291809a8de91313a284dbfbbd9392c25ff960983c442f43d658","lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-0.a":"1ddd5c48bf3ff80947f67273494508f03e61867c2c9d7304554edb748515abe1","lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-1.a":"8c218ad73c7cdd0494021fd5bc0b44e2482000b33fa25df544b9f6587c324c17","lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-2.a":"32d41a927d75a74f71490ba8dd8740b3a9a3e76c0dbe2b5203dfef80f75f5c8e","lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-3.a":"16acf3d5961624c5e4056ea513529ff0d8a6635b8f78b7aa102dfc6e6ad4e685","lib/libwinapi_windowsapp-hrtfapo.a":"f7eb622e5c5f03683f8dec62a38d1f4bd5b98df2a43b513ab052a04e14a050e0","lib/libwinapi_windowsapp-inkobjcore.a":"cccafb5cf43ee4a4613d05c638d7fd561548860b9a887fc76023ad628259f154","lib/libwinapi_windowsapp-iphlpapi.a":"bcc5cc9e14d4f47c573a00e4ab1031c13ce24cf68e865ffacf815f1535e3b6e6","lib/libwinapi_windowsapp-mf.a":"a7436da8e6d45c25a13f79b223543dfb073b82052e8abe588d26e92b97aa907e","lib/libwinapi_windowsapp-mfplat.a":"e00177157715c5759d1e35004a84983e3f3356305e64816a9edd066bb3b79b77","lib/libwinapi_windowsapp-mfreadwrite.a":"553ee451e5cfe200ac9b840fe35f234d1aff83ca48ab6f0318e7122bdb8cd957","lib/libwinapi_windowsapp-mfsensorgroup.a":"003bade21115ea520a913c452bc0af48a73ba60dbeea163d82f0127a992647a3","lib/libwinapi_windowsapp-mmdevapi.a":"b702a9ce7e2478d529d879afc7deb90ccb17b48029efddd28e0ecaa458648963","lib/libwinapi_windowsapp-msajapi.a":"81ff5804db8a0db27c57d56b1d238d7db0235dcc1193da621451684e8d94d89f","lib/libwinapi_windowsapp-mswsock.a":"74617292fa905a61eca74ada1440187607e5a0937a35e89290e7d8e1f64851f4","lib/libwinapi_windowsapp-ncrypt.a":"947d9d8dddd3cfcd9645be2f13204e7ef5629e78acba8f528899289c5b1a29a7","lib/libwinapi_windowsapp-ntdll.a":"035272f422deaabaedac61ce9c115ef21895b4eaeedaff7083195a84c01947c7","lib/libwinapi_windowsapp-oleaut32.a":"872e3c75ba251f3f78aa3dd7f392a0c33d285f6c995f6505944e75a4322f7a1b","lib/libwinapi_windowsapp-propsys.a":"3e95866b05f3b7fd53c2d49a4f53c0c2b702db430bce1a3fa8f88ed2f03f094f","lib/libwinapi_windowsapp-rometadata.a":"23d445f9a97153afda848b972af65633e02cfa35efa38c8872d1df88570ed6db","lib/libwinapi_windowsapp-rpcrt4.a":"6577a81b2b25becb9f90706779b716e0b6c2dfe6b1f6cadf7bd10542e46874a4","lib/libwinapi_windowsapp-sspicli.a":"f62ba19b2e0825f21a1fdf9cdaaf6bdda9dc40d0535f3fcb1228e325043156c4","lib/libwinapi_windowsapp-uiautomationcore.a":"542c44f951e5af5b0bcc6b2a6962d68eb8ed3c3cdfb09904b127a7638b1f9a0b","lib/libwinapi_windowsapp-urlmon.a":"de3d0611b244af770ab9e65857039151337d51119202b7483ed85ee84bb3dc78","lib/libwinapi_windowsapp-webservices.a":"ff53c0fb8d4e865aa2b37e689c84e0a6279f817a61289e0e6281c0a0684c2efd","lib/libwinapi_windowsapp-windows.data.pdf.a":"f9b822e9af43233a0a8be75d7b3d4cc6b2690fc292d68768e3ef61faaf9722c3","lib/libwinapi_windowsapp-windows.networking.a":"6aa6690420aaccb3a167cbb70ea8a6a76032872f22fe171934d57c39b3e0600f","lib/libwinapi_windowsapp-windowscodecs.a":"0e80cb4d48197baa7dc382662c8cf4162493605b67c1697ac89b2582ac995bc1","lib/libwinapi_windowsapp-ws2_32.a":"b3068fc789e498347385db2f729b73a0ccfb94170359e350d9169174b6a81c4a","lib/libwinapi_windowsapp-xaudio2_9.a":"ff8b1bfc160dc731a02537f2fce9c64cde48a7fae63232f9cc5c1d9c742f0fdc","lib/libwinapi_windowsapp-xmllite.a":"c99e2624f2c1039902293a13f83fbbafe69171e290b5116b113c1162892469d3","lib/libwinapi_windowsapp.a":"15a0928f6c65e96bddf217bc5fab9166d5bcf4ae7b1618e73ce5ae357f65a78d","lib/libwinapi_windowsapp_downlevel-advapi32.a":"d804e9388eb15e702e31b474c9e64ba16677965fdf5caba76de23a0fb624c026","lib/libwinapi_windowsapp_downlevel-api-ms-win-core-localization-l1-2-0.a":"cebc37539a6264bc56267d7f246bf944a409d7290ae2335aeb47be08cd4691a8","lib/libwinapi_windowsapp_downlevel-api-ms-win-core-winrt-l1-1-0.a":"8c279b034b05b79e0cba7558b761075e46de1410553efaf276c8461a37705ee5","lib/libwinapi_windowsapp_downlevel-api-ms-win-core-winrt-robuffer-l1-1-0.a":"d6e47b4dada0dd89213ddc74ee9543f3cdbe94f91740c05f5e8b8a8b6ac4275d","lib/libwinapi_windowsapp_downlevel-cabinet.a":"ea49a1a0c093425d6e0c322f20701f403a0e30cd2b9b4156fe09b548a7676c06","lib/libwinapi_windowsapp_downlevel-d2d1.a":"c9a1d9bbb75339aa8c5c65ab3ca4e34851b5e49745053434ebe8a526fdb1cf6e","lib/libwinapi_windowsapp_downlevel-d3d11.a":"edee3ff52dcef25cd1c2de9d94dbabd37935c3c6b5ec68d319752a99d44ca238","lib/libwinapi_windowsapp_downlevel-d3dcompiler_47.a":"07be895fb60a47c0630f70019181994c23fa703be133eb92970f3f8ebc268507","lib/libwinapi_windowsapp_downlevel-deviceaccess.a":"54f1efb0754195ef80008a74e3dc7b80ad6ba7e6408f9f5870826df93e10859d","lib/libwinapi_windowsapp_downlevel-dhcpcsvc.a":"9bb795163a31c0c40fe4bb43c2a08a4bdafff513f0fc4d5370c21158e83519a1","lib/libwinapi_windowsapp_downlevel-dhcpcsvc6.a":"3146a9987752eff657fdd33e18e1cf8290ddb927253f06113991796c8fb6a330","lib/libwinapi_windowsapp_downlevel-dwrite.a":"75f782fc139938ff2c321a64e23796febba0bb06bc3476572108fd42e7ae7465","lib/libwinapi_windowsapp_downlevel-dxgi.a":"660dcabf3d62a3d17ef66c226363539a2ee816b40311da7424bcbf9f36c8086c","lib/libwinapi_windowsapp_downlevel-esent.a":"b2decb268c245ed92163af4fe6b78d3bbc68bc8b00a67af963fd62184c674e91","lib/libwinapi_windowsapp_downlevel-kernel32.a":"39c37ea812c53ed3fc5478286cc2b056af45d89f21ca381154126350ca347350","lib/libwinapi_windowsapp_downlevel-mf.a":"e342dd811d7aa4284e29af405382ba79d38a40b3a68422bd4855ec8d1cd90b85","lib/libwinapi_windowsapp_downlevel-mfplat.a":"4229ff3fc4ea43992bd43cf62134571d29abc3cbde12f123ea5ff3109b543084","lib/libwinapi_windowsapp_downlevel-mfreadwrite.a":"ec48614cfcf6cdc3b176d3b5503bff913b5a484f028081ec37c4a10e3b9b52e1","lib/libwinapi_windowsapp_downlevel-mmdevapi.a":"3efa1a3536fe519e8e0956f1e388f592359304dc552a71b4d8b76a22f19585c4","lib/libwinapi_windowsapp_downlevel-msajapi.a":"f6abb91151be743fbe8df9aa317f1901bf64bc1784737b1d627222690daa91fe","lib/libwinapi_windowsapp_downlevel-mscoree.a":"cb5aedee76fe7c835dfba5b3b8a177f6d9a8babbba35a68151d27cd38ec88ab0","lib/libwinapi_windowsapp_downlevel-mswsock.a":"2969f7e7ba5ee53df84f0f55197662ba3be0e469d03d41fe7fb27df743b8fb6f","lib/libwinapi_windowsapp_downlevel-ole32.a":"0e4a0fe7f48178d172f2d65ebf65dadb81c5c6374ea636f57312ac1a25e7fecb","lib/libwinapi_windowsapp_downlevel-oleaut32.a":"df90f481709e792326553f4f0dd9cf5bef8819a7b83cfcaaa0159e94a15a39e0","lib/libwinapi_windowsapp_downlevel-propsys.a":"548af9a83ee1edd4d5e31eac1b73f80360372457f5e7d7ecda76f0ed00828eb6","lib/libwinapi_windowsapp_downlevel-rpcrt4.a":"50ed6864d1407224c0d24fa18704b4a5a0da7a290f7cd43774bc0f9a9b4339b3","lib/libwinapi_windowsapp_downlevel-uiautomationcore.a":"e8a14b5378ce7033982cf5492ed6f533f59cc6831958b24f09ad6cc5331774cb","lib/libwinapi_windowsapp_downlevel-urlmon.a":"ec850a21e8f13934a8aa241558c446bf066f84fe3dd9244af65dc16b8d98a876","lib/libwinapi_windowsapp_downlevel-webservices.a":"59034d8d9f7a7d84470af85a1ff8be61f7bcb8dbb9bb71c8216dc27adbdc1f3d","lib/libwinapi_windowsapp_downlevel-windows.data.pdf.a":"db3815d61dde72d54181491438f985c6bfc798daf94fc2c52b6dcacad753a000","lib/libwinapi_windowsapp_downlevel-windows.networking.a":"c2729b8d6f689c7c5e5837692b94c29e9686e10b28c313af92dd4ee5e2d93ade","lib/libwinapi_windowsapp_downlevel-windowscodecs.a":"7ff7bc125c1bf161d75266274063fe1284f1dbe206cc3e77af9c563f293ea16a","lib/libwinapi_windowsapp_downlevel-ws2_32.a":"c45dab0dd9b2b7a93f727e510e16f63bb1f917b7e20030e6a25c43dae6190aad","lib/libwinapi_windowsapp_downlevel-xaudio2_8.a":"01fa2a11e747d8b54ff562ce005d2ea0600cca6a8bd4769a3f5d0201e8766b08","lib/libwinapi_windowsapp_downlevel-xinput1_4.a":"716a44b40028af673877f3cd3af9a172c2c294c5b0037d2416a577f8d9f0baf4","lib/libwinapi_windowsapp_downlevel-xmllite.a":"af8ad4904f954f829e79b67743d9b412b9aeb34432ec6148bff6bddea254bd0f","lib/libwinapi_windowsapp_downlevel.a":"fd622c0c778e135e02d0e387ad4075c68aa1f564de4c39a2677d87478ab0496e","lib/libwinapi_windowscodecs.a":"2b3a50daec478e8d6c5586d131c3da93b667ab98a3d1874d157887aab05a869b","lib/libwinapi_winfax.a":"009b2d2f2bfa7620b515504c8b9551eca3b4a58d118c59555db0891306c51669","lib/libwinapi_winhttp.a":"0572b9da9ee2740f4074d58030acd3c0235f0087a3ad3da138d22184d361e29f","lib/libwinapi_wininet.a":"c23ef20a00fdfb68052715a00bf17a368eef28359a2f3fccda73d4aae0c7d9f3","lib/libwinapi_winmm.a":"ea571535c90557ca7b9331f70aa04271a77b0f38e85929da604a1472e9ae45be","lib/libwinapi_winscard.a":"07996dd9c98ae95fbb9797a87fbba1b1435c9e148e1401d482ccab08dea91824","lib/libwinapi_winspool.a":"f92b3b0a67b4c598e6cc583e9c9aefd1ed473b3202bdfaec606300a20a58d746","lib/libwinapi_winsqlite3.a":"63e42c08e791103952b60e72b634a43213dfe07f87d4e09f93a1a73c7053e45a","lib/libwinapi_winsta.a":"ac53400d8e9dedc1039a04734048d0260f93bc23b102cf6ab76aef81b2c71a2a","lib/libwinapi_wintrust.a":"2f0db077618eaddc9889ccff5cebe02f61914d689a613852e5c043bd7890df65","lib/libwinapi_winusb.a":"3115eb3c732d9bedec71dc257526f3c6a694c5844f8a5cd4c035b887aaf837ec","lib/libwinapi_wlanapi.a":"ace6c67a6e9b8cda60a4a9fd002191affc37ce729d69bce3a2f7e2ea145219e4","lib/libwinapi_wlanui.a":"a132997ec3188c2faeb13e21a9de81c663830c1d42902817a2c8471360dc031e","lib/libwinapi_wldap32.a":"828be18ed9d8e50d4bdab88630ba0e897914955639b9b45c785408fd3ed6d5c5","lib/libwinapi_wmip.a":"b48306f4382ec01e198eeffa8f9dc29475548838c1b3ac0fb9913c17c5125325","lib/libwinapi_wmvcore.a":"4f7ca2d39f4d3350ffaebd1f5967fa60f32b596cc232284c48de9ed10a033d30","lib/libwinapi_wnvapi.a":"1ebab5c51f70165c898a44801c6aca50e23c81ceaab77a691d14211344de8b69","lib/libwinapi_wofutil.a":"cd804de66b5dfaea2f78175c341e0498799256d20e91a14333fd81deb697115e","lib/libwinapi_ws2_32.a":"eb8c67a0fd619b75d4a097da6c535e36092dc31833da11976f4ea9737736c27c","lib/libwinapi_wscapi.a":"59237ea2addf8ae27350a3a26b56f2d2e1b88ec696f860671f6a9a54df7307b9","lib/libwinapi_wsclient.a":"dfc4151c51d6ac1b2f6f1c6c9ac4ab616109e84670a9dd35fedd0174211d97c2","lib/libwinapi_wsdapi.a":"7deeb90e59f8f8b769ccf07d180a4fa8566b41590e3826199ab7cec1a841cf75","lib/libwinapi_wsmsvc.a":"4eaa3ee281f0112883577efcf46f07592e4b2902e8373447d84c349bda041fda","lib/libwinapi_wsnmp32.a":"0388baf7ca8c080b56f8278069231d88c39bf205833c8f9dbbbd7d20a8974a5e","lib/libwinapi_wsock32.a":"933e7c6f7958ce14f8916fbc4076ebb7a962576e54eb14679a866044e018455d","lib/libwinapi_wtsapi32.a":"1d1f30f69eeaa5ee0f16b247766a14e37379a563554a3aafc2c75a5c916c9327","lib/libwinapi_xaudio2.a":"a93fd7427990945f365a570e5063cfc37cf168319a191c9cced99fd4ac7412c8","lib/libwinapi_xaudio2_8.a":"d81aa8d4571feb7d88662232611a35327d6e794762d86c88ab3bfc00fc1380b2","lib/libwinapi_xinput.a":"60c83153e2a71755e4f1d23871502a0bb63581e5d50f7bace76c72d1097a6080","lib/libwinapi_xinput9_1_0.a":"48419ab7aee0fdacf664322a6c4c4d194dbf27a47395acf6df6711ed9305af6f","lib/libwinapi_xinputuap.a":"a240c14282237577ecedb7e90fffdc990784299690ed0e2d47609a54991b0331","lib/libwinapi_xmllite.a":"74b5c91747bcc207f29b48f55e4592b6d87507cccc769b821568995712ccab19","lib/libwinapi_xolehlp.a":"43d442e8dddca465980518f23769550e2e57f942e97a0bbafb570466de0fb66c","lib/libwinapi_xpsdocumenttargetprint.a":"72ccc29f8c73be0c982ae0107654281cbe304b7e4e494a9dc73589f6cb61c615","lib/libwinapi_xpsprint.a":"15ce739546fda5e2ded348552001a3afe31458aa4d3debe88a7856cc525eb286","src/lib.rs":"79212a91f610f8a77aa6ed4cc77212c2531eeb35630388bf07323cc328fcca42"},"package":"712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/Cargo.toml b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/Cargo.toml deleted file mode 100644 index 7e1341b08..000000000 --- a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/Cargo.toml +++ /dev/null @@ -1,22 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g. crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -authors = ["Peter Atashian "] -build = "build.rs" -include = ["src/*", "lib/*", "Cargo.toml", "build.rs"] -description = "Import libraries for the x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead." -keywords = ["windows"] -license = "MIT/Apache-2.0" -repository = "https://github.com/retep998/winapi-rs" diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/build.rs b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/build.rs deleted file mode 100644 index a655b7c9e..000000000 --- a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/build.rs +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright © 2016-2018 winapi-rs developers -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -fn main() { - use std::env::var; - use std::path::Path; - println!("cargo:rerun-if-env-changed=WINAPI_NO_BUNDLED_LIBRARIES"); - if var("WINAPI_NO_BUNDLED_LIBRARIES").is_ok() { - return; - } - if var("TARGET").map(|target| target == "x86_64-pc-windows-gnu").unwrap_or(false) { - let dir = var("CARGO_MANIFEST_DIR").unwrap(); - println!("cargo:rustc-link-search=native={}", Path::new(&dir).join("lib").display()); - } -} diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_aclui.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_aclui.a deleted file mode 100644 index 9b5c0173acd5d5589db62ac18dd76583de4cfccd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6528 zcmeI0&2G~`5XUD@N+Bvx1S%f_$)IvW!6~VeN)>7qDu~3P0wHnRy0P0B(gYHRmIJ8b zfH-jA)Dw@uL-ZjK&%lXC0A_Z*_6Dy>N~)qrUCHas&fnhM@o&fDTwioL^~T-&ZL_}= z=ZkjHw#vnM)3mrrtxdC3u7nq?IGhhRokw|w*8j#!e`jIQ?Z#{VoiUYjbaLd!4#hZMX1OJPEyxdLyONT*m8~j=$Aa?yfagJDwAGa_+0nCVG*tRbz0S?bkt} z9RZR?M$xit+cr&mZXqJWeSZSs05CHEXL)M^3W2v1@OFA-!s=SVbpj_{!Yxa%x?foD zb_d8{mvlbeaJD41C$W*kd8uUyEUBB9{iK^p*OjGi3L6(RI%${ZMJ8nqxdPCrcr#9;~H9he+m7_{WF24Y$jF1 zeM1CfGZZ9}g~p&l8UyZQeF*U&PsBD3Ky3L=DM74_UY@3@LGFJOJIAMi)diXj&g)W0 z06j$=u~M&|6eg zgJOBvDk?i;k}u~YJ{Yl^lRJYV!7a4AA)$0K!5T7_W9(I86dz1e?Zz=WioN9b5)Rf< z#)Vkd7t1TC+0pBwok8nZLd`q9&X&`TH$(Aa{f zQ`izb3ijw8A%)62l!nhH-vFTclE-@p+2vlN5%4Mz@8ei5d$=e1i05l20>q5O3;}3# zLHsprQK6kIdKUR_Q5oy+(fJ|%Ty~E!Locz*oUZuAGs1O2K2C2^Zsbnf_S}Y z)DN1N_B%t;ZsTVjFKc=Cy`X&;2^d8CQ-zYFqOz@zz zXZxPJh>7DG+s`E^pACEHWPpdYin8+kDYyIR`Alf+B(s;}7(N?O{Vy@x;Lkbv zF9p5v$Cd6Y1TmI4bBSDpy#{P!O>`$$9S3oZ?eL;_aX8+OvvqokA}3Ye3em&-mux-5 zpS<=@w6V@xhRN26dF{$$?DgiuBi|a1e7lm&UydVv9O-9pR~$5d0nq#zjQ1JmNPm&S Z1C}__TcU&42E4?xX4Qgsond6se*-mL`6K`U diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_activeds.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_activeds.a deleted file mode 100644 index aec05b5112104048ed72091c422c949fde6337ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23262 zcmeHP-EZ7P5T7{x4CyCn`XM1*Ayj~>^e#=DYXvB2lG38mM$I+l0dcwH9CGdD?&Nbq zQz4WGR7HJ272=scgXcc;Cm{X+p8LoHWoFmwUE6z(?{HID@k(p^X6NkP+2792&a8d$ z(~7;a_W8h-oIe#N3TDB~PZlO}xjZXUkGWi7Vq%Q{V`%^YiU5a707nM_1~2n`VjO_- z>Ek>P{S83*?4LYe_yd6Qd%y9VvjHf7u*CDFO#sRtZ}WV42Y~XGZ+RZWdsCjc#B*^N ztAY9YKRkc-7Xam{-+7+-8G!Q57SFdA0Vvnm$L#6h%qyV+W-*tJT-DK)37?b24u8gn`IWjboaAK<2KS-vVN1ou)_P9e-R8=IEx zlK zaV>?WQrs>qHI;4>{i!e0QQcZ$%3px@A{zsL5vq=*TI!th?3|rBZ$} z<6A-9!TWNy;#A~4=Nf?$8i}=5&ePZ5SuD5qZ5xJ ztNuz0SE9pnlZhR`9E5h0hxYYPq;3K5-p9qfrR` zKt~$U{Y*a8v;DDErZTCTgV#BP zf5t43OlKN_0JqqY9}GZqH4&RJx$)7?=ksGGA0)f!^~r*&*AKHsy}<6F1%qyUkk+`2 z6C+fOudeJSkYDV1YO#e`r6aOB>i!Gn5{e)B%e>O7m?=&J)bu|s2x+t^GwfY zihAYn;+D%JXxQSHuRo+;FJ4HRyt)u=|1%WP^EtAP;uS|GM z4M3GA)BWJ0m`RSFfdAsUU+Q&1VbbtnpS7D%z-z>72tZHg*uRKZlxR$I$}IcM4+iYu zMc6j(ZuOJI3XJ9nHV!7@jRSL1ohSG>*v4k>HV(cf(O{y}UXFuh<+)Mgpswc&je|`+ zpEnL@zU+1!oCmo|B|De!l2+WG#=29IxWB{+>}bFvJo{VA*8l-p0=@+g+2a|qN%$PN zo`t_B$Udj^HLce753;3iLL!^dl0^2^n8?01uB=J9&fY;d?54Aq6kWHMI{T6G+$f#x z==nm({!!28>FjejI=a=_XFK=}(~R&7q$V&)-R+48sRlg7qvBMH=`BsvN*Rlbc-NuN zRQIZ{^&n_88Om=IDzYDr(c)GDo z_8BEY8dUm#;{6MU))}XG=P}Y~pGTUty6_fC?e)IrNpe;HFEVlL621C`W{@^}*4g zfd+&Dt9Vpf%VF-LB#G*{@ze~})IGsff@l5r zg6iX5KXV68n(dlyP%Rxe0@aCoaI#pc4y|4|gd#jsXwbZgSn4s*ZL=RswXG5-ma1>H ztG)S)D8aWFlGNi_EcLA+eo%|}bXzHLVyQaBi&sW8fKOzoPFTIwl%5$T3%e3@-Ar1dj&*#}KLpW->_0PORcxSN}@13bsYxgrubEpWqq@EmNh3-N#)l0R5zXtpjcM8#U923l1LQgaif`;|Ah5e zCq3Q^$`4YX3xxA;vZUHZiRC{Dw%7x?Ul566JZ@|=+s7M;anfSl`cDpUj0e6Dlx}+^ z&OTl?vIDJFpdKtqFang19rFx(#CKw>IG4Bz+;flkUcW!u3)=e$?V;~s?F+PrTJ51d zT#_W(W5+u)w3Bl0WWV%+c7xFF`wm+@Fp`E@u zxG!|O57W_KVNBF+j~n+ahJELmB_lmBz36u4k6`^S)@ArT&6K14EYk_94?XWvc*|%s Riy2L6wO_TX1qo>O{{X^L7rX!f diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_advapi32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_advapi32.a deleted file mode 100644 index ef376d2d5b4ffc15bd8641adfd2e8cb2aaedb257..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 633458 zcmeEv511TBac|$==_DD)fH5{0V-DN+8R94IPN%&S5I?Q%BwJXrgif*?KZCTooztzo zw|ngFoh8R{6vq+9G2myw&jCV!5Fi8y4~PTA0fz+QI6xdABoG3`0pb`!3~_)s{CQPf zGt=GE-E+O;M*4=E{l1#rt*Y*xp8j=BbyrW%Gha|`&&*wP(sPH@&&Y<6@<@4jd}MrR zXqb!SAP=Y(|NO++(GtPg2+J5l|7)`!%9v`DQ{qV~zG4{7lU zM2F!w(sd6L{qmPtAJWl}5dGR)SRc}{Hxj-42G)mk>(xZBx}5bP-9AC|+A`}yx)aVH z>Gg13klqN_8|ls4iQc-0^&!0-bdcT&I!Nz^-$?I;{E*%c=Z$pNg+w1ZoAn{x{S=~) zUcma0J_b5SA3vSwFCJxmNcVl0=u;1|KBW6UP4wCKu|A~Fzl-P#Z)1H(UxKHKdHJ^OR4 zgmmE-iJtp4Rze#6HqnMhSP5wYcu3C&U8IYkY^2J~L{kS?3F+cZL@yj-C8X_87Sc}0 zA8Gg9M0?-DN=R26Ci>sISqbSS7ZO!Vtb{c40MYEnSP7~A7NW+Dtc29MlBoSWRzg}l zo9J+fm5{D`fasUuoRN-xn&{W=WhJCz?;?8nZLEZJ>rtXt!FeIwei_kgpQ@(H~5)5)#;5P9J!bm5~1Ei$ouOA1fjK z$t^_pEU*&NpKT@j1YA?3dm#36ac(%;-f^tmfp3F+^46MbWqBb{*-(V1hcAL;4m5DlHi`jO5ZBzo2( ztRLxu`-p!2t*jqu-3>$|P1cVz)*u?+%=(d@x0UD@&SL#Yn@%R$`~%jHwB?6Hmwb=) zBVGD1(N4ztkzVv|qCHQP4ug0vVNqS;JlGuHbC@pxUNXI!ucS*>cd30zmfGL zz4iv8I}fmaq}RiBKzd`1=*@drKhj&Lh~7TR`jOsw8PU66!upZk+a`K{gY_fbbp_Ff zARW@(kT=pt7l=M~73)X(_;#Xu*Rg)2zdD8JQ*h2m_rv)jefE_^pTC{;BYmMu^d(4- z^p*379vEQ#NMHLJ(Z2wekREyq(Z5~K`jH-P68#696VmrCBl@owuzsW;ZX){06zc~X zD3ys;UBCvA)|^B1xU<**(kZ7AJ@I5Vfb^tq5S{)I8$f#Mw~5aB78^i%#+QiB`5YTS zde#SsE_f3gK>GO`iPjxt14tt;AsV}a4IqufIUzl7l;{^WvjL<{+leM$$Oe$MK96YI zscZmg`$}_lS>6TlFUQuHMNVh>4XApH$oQ>4$qHA4EkbBMkO zZGiNTaL!0yT|@N1=h*<#*FQt_;C*ZW>6`B&`u1&X0O>n>h#r|>14!S8b3%IbJfa_s zu>qh}Y>KGA%vK={UO=?=DQp$e$!mxne+pZLbn0nDr#;G6A)WD6qBB3qRv|t8gG58O zvQV7SYc?%vK?-`!dnUN7yQ)vD=BpZ)2;Fp7%DQU$~B~LfZ5aqDjaL zY3tcU+fHJukhTvH?JTiXNZ`_Q+5_i`v=7b~>B>(Kz4%RR71Dus5Y61kRw2#Si0X4} z6;k6MQR@I(h19;1Xz>!Z3h6LhJEUKF9?=b_vQnU+{`3mA3hB?G9!P&NL3AI~5$RLgiSFOcRv~@%a-z?} zxg&kyDxxnz9!Ot-|40vj9@5vZBzh3?LHg!aqHk|vtB}4kO7zGOTZQ!f3y2;aW~-2X z1nmtp$WABfzkm%Q4Xz_vdl4H%IvM0hkADKusUjy^?797#l>o{0&6E_&PR-bk!Y1`x|T!>ELFf;4C(XGzVoPT@7_X zn*SQn!u@Ozsq+D%rT4Hwq$5xU()EXleq}owM7nVu(XT_ENH6;y(JkL#gGjIV2+?hK zu|cF)zk%qEqihiAH{sln-Y`t`+fQJFNN;|a=&cX1L8Q0ePxMa659!_SC3^2$*dWsT zZzH;Ei47us2+kGh?i+|c3Opq65jcULFo<;Tc|`a9kPRYz>PtlT-^B)zK6@+C=bLO0 z=?hmAfsZhV^p&kd4{TzCNMDEikRDt^^w781Akx3V`6E4iFVTP8!v>MQ2j`CTU#}$k zVVeyi{RGMaT3y;rv}%g2Mp{!QdfZdkYNS)1K=i~lY&Fu8zD0EUC)sMGr+$X$tS_?F zNY4Ns(m8J23bq>Q;0uU? zbJ%L6xwDC`Ig_nMnuk1*0K1$z?`5lzmflEoH1?tzjBnVM!FI5M*8)Oh;Duk zTaEM^ClkHmVYV9Sw)=@*{SLMo>5f~7eiQ1A^oCiY-@cr!MtTe6f%Ln>MDHlG)kwd8 z64ARKVyltfdmqvJKfzWb-38Yc=|guC-3=H(`Y6;N>0_ISK0d`(Bi(x{(S48?(x)IT z68N~BU~XYG(&z6W`oeW=HPV-EAo|LUY&FsYPzDm%T}}^P!d4@F6Rrc&w+D&7!`N!1 z|M)7=_wHeNVMuXYz@+ylZa0GAzOp=bKfI+!ozG0(v!YQ zbo%{l4bqus5k38UwgzeFLZWklkMyiB6FvK6wg&0K0itz~H`3^Kq783gYmg@1MfCi; z*&3va?jfrDIa`A?1w5pSKR|RT5Xg+(#vikx~0a} zAid&pBJge3AierLqB{oI8l*cPA$t86*&3ub-beK253@B$Z-wiF^mfP_>792Fz55tj zgY@1dqW8mZq`N?l^r3eU-3@sleH8LQ`WWPa^zqjb-3z)%e|0<2r(em|ApOk;i9YuL zTZ8m>4-tLwyKD{8KYpI*tDuMU&+jDq2Bby$*Dlewpq-HZeT?Y4XRL-(__Naucx==^)xTBK)xn&`s&*jl9Leu8N9LADmDd=k;b-?Ozy&xibwE`q#~ zDqkg<`XO73bjcHlE-kUONIM=O+VyR=7HRq+qRYR;)*}5PoDb4f_Ym#>Fk6ds@C`)4 zjchH_-1S7)T+P-ZHFpuc6zY%EJ%woL$80Uq5hw@gdZ+`^uY8f{#(UXXq+kCY(aT@J z)*{^sWgxxky+pU)#nvLd7IcyBg!D+Shx0^w<41_zd^cN*^w!&n-VS-Z{l@+KC-?8) z+X>p8{kwv0(B41Uss;P6tv9O+_5Hv+JW<|X9^2ojA4CfI)!Gt>*N^V6?gz#BfbE|P zsnf8%|Zcy7=Zv?xm*RuWl>+=iy&9Z&fdUrZ#FV$y)>29?Pr$Nd| zHdJp{y}7m3R&wv`3-zsHi=dL8uEO>%)ZlFPw5u~gT!ze&*v24HyR2b{no|l`!B;mXlEe36VO$_>)jHlQEZB{)L zTwV=ZIKhn)n=HO*0r=BTD=sr&j7P192M^;+FWH=0WaexmN9 z6Bf-0O>^9$Ij(71uKcKWv9uBJ zlX+U&XhdtH5lb5ZKauCKrHz1})U>qGu+~PymNo)@GEYkz4Qp*QY-uClC-bzl(XiG= z!8x3o1G;C=j;7@m33;d1|-QFce{4=_ZN(^xJ+TBD#!4XoCG?G@JO!ytT zN}^bqCu>Z0+l{GuXQA4inG4z`{iKFHwQ@G$8K|k%voq;~M$iSfw2kg@=*_~-^wQwS zmcx-*wJX@tE|U_=xa1ybQ?R8KSIC$WQDGe; znPn!f0%a{fl$ujXpf;r9$kzC2X?TiDgLX4$sFzS&2BQ?tPBJw(aZy?9&Rw^w1w+~+ zQZG$YvgENnSPB};WD)8>4rq-dWJrlrc0y0OAhI667F(c;)`QNrW@WKf?{0^w04Z0K z5c1a9QVAxZl4eG(tk6bwLeH4%Oe1mLe4@a5;*wO&9j6yCmAMch<*B5Zq8&lE3Ue-1 z0T^YfCl*7x%1lGTgGi9zPgiGyc70oC%V99_Fr(54u$A^4S%^lzDGFQ!MG+7UrD5Ji zd6bev%brjZ^K`p|nO3{T2ix0Qhp-WkMAgFrO=6yITP$69Au5t=hz;!QPrdCFI zlu|owny<5pxnL4pgl?dno6IJ?*8IXE%(|fivbEis*Hai3C~c$FF%%)VsI|G;fq9}s zP(yIHqTViDF0*_$7!q(+Thl>fHdIzvyMu*RyUQCb>f;Ja`V(~ug|$1FZ!HDr5_YiG z3hd+ZQdB6t>c>&Dm?X&S;#J@?O_x_2i^0Bjbzvd)2T~MN(T>GNx4zJTSt-b)la`5D zGcC7K_v~U-H9zcn(8_7~Bvj(`TbhgWX%|M5D=F=TVme6*ZNO)UaSnWPu3B$S?%a{^ z&r?+*A#Zs;!z|#JoO|BKbZr5~q;@6N4t;bS%=<9||C5)U-s z4n#l|SqPRSS1x;`flNh5Dn{t=bB+EQG$J`v#BeHtOC?4B)rlbr`RINIth-x1Flg~!*L>{`F*BU|sFp^80g3N>*#9t{BnaOn)8W2QKs{*%(n5pO} z`9wP5`7|Nw0@(;O><%IpIB9p%Cat?=5(4C#ziwvwMwi=Q`7v^$t>KtzhB zLK3H^%A#Boca=n%q|}@$c~WXBady$IB2h@pj&ctf$!udb=rW8^IwG{lS zgMobwmR}wcwONvL;D@->+-mS$;EaXJYT##Y9_J(%DSwD-Z9){n}@J}a6=^$ z7^RR3?emVk+ooY8*E}R$qXa*xDV?vP$F{#^|2Ju>1q^9WDV(5VhvuG z$fr_s;Fl;&55E-@hABcj7XM3>z*EU3=<-mC154FF#cN32tTJ)c!cr5tqkk|JG+V8gJUE~DpEysGt}HdDlFq@9r+PL@-DB;r?$Uo#o?+c% zEt3wF)>?oDRZuw@v#<`~A31}V#pTT=I4|%EMs#iE3bqmwU0bc8svp%e$yH87DIuz} zn!>J6^~ZS;s7H!8BW;_NLwWCdH<}39MPf_GqQO^!u zG&q9e#gR#_`d_J1oVLQk4#2Ytv8k{yss+>Ohj5i2U%$x%9hFA4Js(}wRFxEAbV{iz zv2b!Oh~wD_=B}VUi;E86#Ft>i6^#)zHZfoYL8KUWUXw)QMVE({CgsAoCIs`hx0*1R zXu@q|u?b5;xtk#;vZ=`Fmr1LL!*n4JCU3AGss$!wY6@^?4d)mpiG`R3?q<>4kd(j7 z4YfGvl9_^@#FsV00kfJX*Nr5hc03wTRRvqp6F0a7GyEIh^Qgxrx%fXkg^s+4Qs>7U zah0K}=o;|#p^4Vud8TM4b4y9iMM-^JPApv=xi~IDeH?0YfpR-ENszYWO5r`6T0R`CAd=w?jgWPCCJre@1i|(TtP`sDPBGj+cYKDsAjvX8dUz=-P7bsy3WIe}p1- zIduOgMZqeH3$$e(m5b+UD>5mg(p0WmP*O%I$SB!L(WT~8YDvjdQGK{suoa~VsiXv3 zEl3kywg3~9II6^zO(C#V9!&&?or;D^G-n)vCPl$2iq0xU!77T*l22b7&Wlk>I>`v( zN}_~_^fyBcfrdF$NhO6Q+);%K2kQmvGtxr31an9A8dyHn0DrInF3wUgJr(9@5Fo2^ zu+wV5T94_eXccmjtNxdA6G_>QX{g@9bbE>T%e0jXw{}#^RN~GJvnvcyo{1X zy!nWP_H-SR(kgKpzQPelEa7#r%R@=Hl9u|Wnn)GJ`t2Z*IeIc(M)DUewz}00Jo9Hd z4NXXCq|2sUPUUQ@N?IPY{L7X&lu{}$5FFU~|V%X*#@`Nff7Q zS#uGMVNQ>@e;K7n zY{Q+JiA^iYMa3ttFlT`r-4CUD$p*J6n9_<%qou+YMkX|{(pVBN)S&j6j-Qm&*a|}} zQrHE|SL-!06LPt%OE=*?t$p?8mUg=pO;ed=z$G_-x?V%m4maWjn8p@oV3b0t?X4EL z!H}vG-5(Q7<*&$3q{FL6|6;o!57cc^ov+@K5?OMgo(7-cX;c$;vqVx^C(Z%$)2keE zRjp*Dxf0fT+oZS(`|8~}81cr>b6dp;fyi9WP0pPcmy&%#F6B=r8h6L2fcX4%#}^XI zO!}L8?+100oKn&X$b@rk6cJOqeaGhx#b`oG11lIBbqIS`c5R!IZgh}9m4NnEaL{(Z z%_&|!t@7YsJei}I9at+an#rzWPrqzxZ0|VZxEpnL&T3{NRm+@

    $D%QgT>Y2hoPD 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_advpack.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_advpack.a deleted file mode 100644 index 9296b800b7a2a3b6bf6f49b28de949b4034f1632..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58638 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
    ac@|dMGR8Qnzr)J=8N$!N zSZlvCOdf;H#(>J z@I~-c=oY+x!g=p>l5i(Z_734?TSgPTkK&y00flfZAkT!`_$W!1Bj;OHIcNhqi3DAS(>+!h4pQEtJB`JJlpe3tP7__VcoUgVi|?>^XKjA*_=PJMXJ^TjTYCt@feG&)~D>vsL|gpL-H&W|I1aO8(!FqCVOQqmHWCzcRG z(mCi4Lq9uIO57Qqc3M$+Xo#CeTD4Mf9LKhuy@a&R#SMfFz}^6On_F8@j{N5lx2G32 z9G;XrUgS+z;hudsd{u6R;S4o6C%u3Md{{HO+t}E|b;-036{A--a?-msU9VyEZee3L zN6++|n(SWg^!xO?+ztA^?)c|5z>|%x_tXfqT-u9n+#TiA7p4%>zZC~drv9z_45IVh2i1>a)1xF2C&d&PNeJl=~vqv6#-8{eUY z!RCL>>mDxyi(Og`uIs)&e>%fFUX8x2g^E)FGwsQm_$~pJbSIbCK5ucW2*o}2 z@u-f8iGXg@dp3BgB+OCD(zMBIAf2tNNGJP}O_L-&hFWumeO5LUQ%!dtz&Bi~!h#EI zEc$d?(tQzDFg5w+nCZtG=*&5t>~t<}@@9U=W1;XN@4g^U@d*2W)_hWBL#3b}N53ol z6U~s9&J+I}`(3hn4JYf0c_GnD`SB*|jPmv3`-1kdk2){%^&GP<;^jN7V`RAFSFb;& zUoT%KvZS@0jZ&Bxnp06keo|4Wh@)#Yd*ZoC)0VPcAEXW0$Ac!8twl57Rm#UF{@X~{ z0x8aUuXOTiMQVirG`r&bU2IXJ`&UUG@o!aFKo2>3-c1X(QsLTy@gMtr=DSgh?`D?o zKX7Za_&(8RPSthteJbX?jPEF4FT?k5`Fb(m_i%q#<@=^O?THv#v9YR*-&ZgT#^Xma z_E>xPSRUq-pfeu=j&xi|0Q29 zCjIstq~9=S&hLS%O}L75r5AsonWxHv7MASA^;>U>Y~KI!h^`kSx*^{&*RhFyrpH9j z6Ps+AGZxY}eLbO|tjELVnv~w&njDtL?WbI-`_CCioXx zoGduSHu-J2 j-vieXcM@^W^G>P!SnBWOm1eu>_wLk=6S~vl1^NCL4fz-^ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_api-ms-win-net-isolation-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_api-ms-win-net-isolation-l1-1-0.a deleted file mode 100644 index f5fc53fcf13e3c522500b2d3c51f03ba6f33abfa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9318 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 Y-{fWO?=;xU+t1(HtV4|Jf(-ckKgKcRAOHXW diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_appnotify.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_appnotify.a deleted file mode 100644 index 9a78ee410d23eab3a08f5661596746b2c445f917..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3520 zcmeHKO>fgc5S_#+1*-@SJ@jZKKBYR?Y3lTVP*E=+BoqO?vUO{xv6?tmY((MI1FATo zUXbA0U(#PjnVIz_nX3qb81z~Yhon5O{dsSsO2Y^UKc740w!hhl3GgyKUK`$;6w zdAQ*TuPJ)bE`4&ppCs`hi#i{LFA&)eL3Beu_|2tYJ06DnQHoJKOOiL4pM_gpKi&^t z(O%J>pGAWhgoyfyC7QEY3*y}i`VO+Xxf}?Qj%1^kZ zVq8n%R&lUA1E=OykMy$psf~oP_XfkzPSUTH1g6X-e7GbnJ8buf_hc(7fb|x*)Gv{vsr;JJ=hI2;@F)EKH7slqQSUUau(2=oW*K|*Lw{& zQi(pV#)MPji~SNh44{_uZg75X@~8}#yIfKcj>f!zPS$-NA4m_gX(H3~kbi*hoL$Lx z$}i<~Y10nT}>g2{8-=d z1<@fqOCeMhR&hSbnM$1nPRY8Dby}-ew8Jbr8rSntou>RZakEd_zA(m3)cp;_e4dRP zDTJPb&bP0#ah{6nAr7AB80Et!K0Cih-%jZDPg$kh&4BqtaY&Bcz>(yre6$C`_WuYj|a4+cAUV{|d=jG*ZZYeA8D|2tbJ|EUrt;`d1b5 c0AnW`E2J$Q+*aWm_9e0)^-%^mkH0kLFEk@j1poj5 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_audioeng.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_audioeng.a deleted file mode 100644 index f1e748948d689bff0760d30cf7ee7725526033f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3238 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_avrt.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_avrt.a deleted file mode 100644 index 70b6218f2b49c301251420bb0b66de0a4c42c73a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18382 zcmeHP&5smC6n{Ijd@bL)BEe_|1fzxwGsEu85)ENkL?sYbK!}M+)9myzEwi(mp5AdV z#t=d_hH&6uJbCsH@ZiY<@#NVPC(p(h;~!we_p17%rn{=AXQo-x(3MnGZ`JGic=dZ9 zRn@Zx-_@im!jq;~PH$P<-nr9*;f(pm^+O9xJ~9 zP@Kg+DbD@Q<2!!=P(1k$kM%zQD4zL~qNdGj+Q%Kk>SzmwZCKj;O2g1TH{1HEsbOJn zuBugMw3c~;qEoJSEnCwyBw98=YZ`iE^j4tWz0$O>iHoa7`-!QpvKW$HtY*)E!$i+8m4{$x#5w9YdG~XpTL4;u2`mh zyN^Ct*Z0PJQ@8X*_AYdNYcmp%%^?de?|RM%(Cgygu1`Qi^)lnUSkPymx}-jkS(p z7gszpp|TI0kE4rZGxh0^lbL5P71Jaz1YxgT}{Gj zPQk*X;tibefN+QCOlt7(j7z!|A0}~JVmJjQmu}WAC%PSKx|&P310SX(bZ)(y*RNi> zQf#zZ^mlQ|Y#C0)zfS;ePAuuS+ybXu?iuYv1A}3`c#Orb%u9(iwL-(uu#sQ$L6rgO53ceMan}m~xUn^fp<_lN_w$ z!??a@%TX@ag*W_#D#Maym~gXdb7K<|{c})g9J;eE7hjam#SV zkDeT%zaHY=CLCTwZ^7}L`t|^X8tRuLiF74LB1avy%TgH)b<%O&O zL;GA@w4>|7f{*qGILSe1Z#W2`Y$MU$7W$1sdrwXmLi=4gowt;<%EO}l1zLC4zZCbc z3>WD|{3|$q3O?fJcmYdu(8F9Ya}V+|wj_r6T1?E>!kE8@I2eTaPX(-OB<7cdexoqI zDyIu!{tG#shxut-$6+zQH?;CxE2dSuzvLj>$NEvHgt8paHYSL5Z!6g^{A2q-o=&gE z#P?hn-B7<+SeVLY?JDyyKN8dAvoVpL z`RcTQ%qtZvgNO7{eD&SVng`FdpM77Q9fotKJl08nVrZXL|Z<{Z)pnl zek1)BOXycXXJ}{orJOG0x2((QJhT^35{A|5yZX@{x+qCA>JO1>z~Jlmv%G+%{CpYca2HAp^phGv(7IcMvqin$)IbBE!?#t;sTW}a9X;@pZ!<7QnMfSCH`};?j z-WTn`d8dT396Z2uz>R;vB&Zpcm^_p-d7#zda93M}ry&p92ce<<+{;72IH=?yLHkgO zDG%9Rfy5>#H=cbcVBN6xVG89T>KmnJf3FZVd-qf*k|rT9sTA`rw^kOvao~5k*^b#i z2^~cWwlOJCerT8Ky~07%3KaYu^BG>i(j45woOFP4_P!9PNs^L*m^Zw&a`=0OOa^=z zcn#NdSWB>#p+NPuXu7?k0>io}1E-x5%5rcQQ<4GI?0peXQY0k-G4Fe`b5p*6fjz`n zzR(ti0rmIJ&x0?dp1m&v5j06jLCjm>T6SW@#6TqlqnsFRW>TR1MxMUwPqjZ3@5CtL zmjpxnvLUGxqf*Sf<4hi+t->hsuxXGyJQpWMk@Dc57!4vz%06Vb%QC$mx>0x8&B1-l2XVmLF+}nyF&`=BEps*dzK*S-YR@pr_jNhMg6wy#Y2Go%`z?%Y z)-LX)bxG;|xOd3eNoge7M>#2-aM3RPHFmo7et~gI)cdEM63X0@QuS}q`>-$NPh$E$ z=B;tHCjN$<-va?r*!JYyH@K~9W| G@c#gVaqEu& diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_basesrv.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_basesrv.a deleted file mode 100644 index 2f811091b4a154c40ad28b6ac77760d7c9f0f7c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6638 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_bluetoothapis.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_bluetoothapis.a deleted file mode 100644 index b5f9f37acfbfae7934a4e86d7b8d334b17855fef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83340 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_bthprops.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_bthprops.a deleted file mode 100644 index 948b32cc2c20203c13d250e014152e66f50c45f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35386 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cabinet.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cabinet.a deleted file mode 100644 index cbea8a25b7083489b609607c41bf392ae732b4c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22040 zcmeHPdv6;>5TBfrKGJuaz7VA@N~@|==G-LbM5>@wLLf*;fj-0^sE!j~YEvf;wnI~d zN(HD?s6zdV55Z?ZsN&NgJ_3KV%UAG@ma{P0jLutc(MI12FawV9ynReak!^ya_<@2>zxx zfjksXp5pPfJOITrlRTb%0YLH1KY2X=I{?LtKlAuj6@X&l0*}RA02HVG;L-UNn}Koe zM;@=<0igIU)9U0zmPjpLkrxwo<%-ZN1@?%k$;(t+v~0mzUj+ z+bYjDt8V#zeY3JvFC%eh)+syF&9(v9GT+gWhe znj2d!x7}{GmNwU$t&K{j-rR(8xxTSg4q?Ee`S5=R7k}cm{k4j!Ogf{eo9KKR_2X@~ z^&nh|P!?9G?q~Kv2*dj*NuzNa$5C~epSHNLbhEX+xmM}8^L+e-7y$)HT520yiiG70 zZoAWJK2Z0N1T33xxmb%T62GaWxuyMu{aTz~T5N2$Ym3cB)osZ?`H7OJt4V@MQjtqG zf@4M_;HAG+-ft|qUacz@PcDhiTo%+Nq~3=9>p-l=VG z-s2R8C0|dIkV8N_>s^j^>R;+p6?Cn^+ic*UF-s&h6p znEHMiD{E=>g5vXO^jYNjI+)L!9VEv!nawBMedf99MhsisO=F5PympWIP?rX94K_$uvI*46~l28gi1Nw7R6Q-tZxx$xSHW zE#fT%pbp^3KZ{osXhw6&HTo%n1>fOS$Woy1S|NdX#GVjr4opX!1NM|=)$lp+6h-bg z2dWx&hB*f|wR*$mz)moqF$ca4=JV#j>o}%^&Vf^e0%d>dYo%1<|BOJo!v9r4q0EAB zFzqS1hyLJ>Nfi52(Xj8#n)?5H#6v&qf2Lt(nAl&}>J7vGRxqD|{jY-gJnT>4cn*sF zlVI*pq*>>mAZTMym@jYwOD*^Ub5mjt_5k{;Z$>E%e|YXDFZaP<|9ga8Q(= z;A5^-8Qvq!D5sfDL81H-C$Q9l4a}qMGbXCXi_s8XD$W=P&+K@G@H~#*pa?$>q1(Z! zM*BI2Y8~whf&yd=?bvqRj!vL8mDTwByOwvyafu?Pt?}s@cNBwCPv1dc$n`MlhdY(|;Mv z=UF?n^E>FX;28M5b!oPA$l9ZzES(FSz)}n9nER#WFz=!zsNIXR5s^J>+VM|twEH1@ zMMK0ek^Q+=Zy2&W!F&d?9|rSz$flLrpvXQ7==bgRJmY=RjPR2T$vVPqL7~h7aw-N$ z&0!u?kR;Yi5wY%=SkJV$vSi|D@gp?q>X<~TF@8iKT50h~L7~ioyO{c<_0X+4AW`eY ziHd7;w>`tP!u3HMw?TFIVH#<9wuX&{)n$xZEfK1{phj#h7&T~Z6?GwhNcURlpBp|b^pV)_t`GCvuWYCTQ!nS#>O zv<8>Kf(l+LNj*3V$rD9$M1QC=ZSEyzXjU4UX7!+GKFG$HPFJSIvL;OO_UitBc_Kie zS*|7t(H7joRAHE%CQZ_Ij_TDcnF!AOJqp2b{5=N%PvYt)fm4HILZ-wmJv3T_(^JLJF0&%+xZ|!_q00V?0oD2`CevP@T}S!Z|6h)KT!ln_8Mkq zKf(|k$7{G7{BIAZSu4xkI<0_ozO_YzKsf zv8OE($G#rJkzbP^Q^0$tS(8VxuQh2Ux;^m|wN9dX7PIqvp_qO?1MBd@yrLQe30ay7}SfN6IfSg?bEHpk27tc+bWj@g)$48 zm~xzJ5_3&%l9R-ER6pc2eiW$dO@r*Dh{AZB9c>HbSf>Tss=eX+CDP;0v3(me0cB~C zC18@s@1NLF{fycB?=&1et?W2jdIZ?l$9zxVG+Wwal~GVD$^s{_l)wLON-VH#e3>l) ykbCdH+fhA_+57Kota^FVB(d28|1(KtD!5fncO+b#j_O5|`!4u3No z4!QgK+pS=$^UlJLN@l2>uT(45a;>sfDwRc+el3+M_1X%T*jNC7cL0uj4X|(p;Mg|D zuul=3l>sX%R(q|mM|0w{)AK>#S{_rx#@@oJTSC4b7 zV*M1?N*v!V15o_QTO2Q9Ig0O|<#=TYfa3dSI9`7mfa3bUIo|pg0L42`as22c0L5Rt z%5lR3pt$)Dip^%D*}OgUgJE;sANfJEF=+eE``vzPuiM1L2lZ;Rdal{)Zc>!#TYfNV zwRfAXCerQt(CqlF_7gn_Ztt~QBY)iwwi|=}J~jlJ&F=1A(@wwL@AkVRqWsyQA5s}< zH~pb62ySeC>~D>(b%!HK=gPUU=l9L0=_yyOy7ZK*{jI>?_4}eWv*FIHOMVZTOto>- zWV5W~OMc>Womq{*m)zs$-sz4yKkao}Ls>y`emp0k05k@@9`e#;R4lR48w^F~)W8@? z4TR0D;NC4ixaS9rL4OnsdUwJKoq4hZ4%=uD_&5C>97;ckm9cW&r9S8cgZ-V(eQ@W(QI^;3B(eHKp@wUb@Wtoeut-Jes9|Ze-Y$3LDC&C_&tRvqjc@tHL z*)A?2(hbUpOU5WNb(Ck6Ac3ZFk1>sls7#{_vGNntZrv>^Njk(?+C^qPM-JX~)Rpmp z<2GpHCW+$DU^-%JQZsZ4qx9v#k3p45MY=(0L4yf3WN?CzYS&N>? zb2ywp1`mm@OAlN+7t-P+3x}{>dbj}PknVh#PIO0;>1rX}QT(y!pbPWE`xZ~P%k5qd zmbXcNarow2fStMR*4;2crtAEo$Ir*=ATpg-XbiY%G(OEI(P%t6BxtDjW{`Xo{5gzS z^K*$bf;WVK`8nc_9jFcpMB~9#yk=s-ED&ZpQ((5XTDLG;MLwfZhvCqF8?!5-8F*Qw z)?m9%Nes|9x-c8k>vxSVk^wzG{7rP>@A#cYaUSSO(mXHtb4>h7gXE4dFOeLBKm}}% zI{W>*oFcGfaGE-K0B9H7WwaB2iKi;)T7%nc;a?DkNTxeUAi#U#$`=p5#2*TLi5|mSFbkx9_rlJ~L;i1yh zkp?E-pTo+wwR%C(85+HgG<$BkNIIw=7m(&xZn|pNE<()}NfV}Fj~{>g2K{^VNTsP? z-*v2!2sczGW9b?E#aLwAQCW#VZ3d-k=WYEDIuC`m2Z>w3Evf-av9?#5JWLTBFwidg zN+ZuL;uZo>?TmI@l8Qi5%qhzD}F60i2^FKJbnfux8zK%l&y66IBNE{H&O3#0rY zc5o8PKa?X+w}V9ardIDbl=s|p7Rv9r=^~WVTsSStUj=i0pJ#->fc>YS5dJ17h^q%( zyqmq1=r+6=nIgNE64`Yd*kB%T$*Bf}GOJlMyptJjQkXU>zm5|tjWrbK)7e4)p2q!{$kdNxA)vzRw6 z+Ft?Pi<)ng^O{cA<7bc~Ver7mpL%Z@-9}25s6Jnyns^^WtEIyyStqlg`eo3)|Nr}_ z)_cpSHd3-g^|_R&Ub9!0g=Ml7>1vvhr`6S`5Y>+TCb25Zt7Y;ssR#_pGKmxfrh0H6 zug+eFFn2H{Q%ig`CEjbcC0=+^6y6tc9H+(mOJHrd<{IlSA`d7ite@osarIz;cdN&Y zb2~XpoxYM1uw3IjjZSy=I>fqzA(`s*N;0Rk-^^WtdJaE%R6L07p|I|$v;T;buO|8>kght{Sm^}Ls@t~LpO1I-t zwJ3P-d;Fc;a|ZsH{4BM7IUV||g+(LAkA=YYw#;JDELs@I_u4d#MH5GLcpfFD2C~>g zjXa8#wELemTf-MtyRzD8XJlHd{Y3l>B0eL}n*D^(0=m`ymQ10W2Xx3GcED1q^Vm_$ z40U)V_0DIl@R;NHB3F7L(Z}BcsZ}r^3y`7sS@>A}Q)>drK z`qwz2Px8X(r=t$i3zM*)DbC{20FZa3j_rTQMoHW@vAi&UbkjwOjAra$*EEK%4;N*-phkB-IA5WTb~ z(30O1?WYOu7?d2;IYC@K_%+^5If#1h!oSMQ689xe9YY3G5XvC-Gw`qbX*&G%do`Y@FY+!XxgiwA$jAEper zx!@9r1j;O>BjpZmwRpct3}{S>BI%fA59>QIT+my`dA5p9O57_+u-|VoCBb_ATCS5t zdX^|pyHi`(K4Vcni|w-zqCEZ?1*|F0XrIFNiTB)4^;TwvxG$&Ny)Dk?u|C?+P&Svwi&DSXR&RbHqkG>X_IHvPhs0I zszr|-Xy^1Sb$qeY>q4)!zMb@j>nuCHM@*DQ{);>#ooqY`%8HK`Ihbnf^fJ<;UOUjP z^0GvH%AMY7VaM*kxn9k_AvA@q^{>ekx_R&wUZwAb@$ce*LlT^1S;|DQ%PYnyrsFN^ zXVTe+Gx(Hgz59o3M3~=w6v)Z%oG`^MuaXIq0|^olBg#@9QttBBD)y;|M+l-xXMs8l zG_jj>kh@)hR`0ksvVP;Hv*h7(H(g}vl9yvzd6>84fnmYlFwM8OvxNMhpjHJJIYC@K z_ygYK^Ml@dw;&i4SxQ05J>OziiwBW~A=(>`q+k}$k7wdQd~-L?>*1+AKV!c>oT+~^ z?cQzi{-J<*mMEVyQBE6{xwijPy?>~C^{uU2*5z66+?Lbs+}7z7 udnOOx?~Bdo{Hb%4q&#c$mw3X{?3l7lp_>QvnRLUB;a)q;7nzZP)$$+pnmQx^ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_certpoleng.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_certpoleng.a deleted file mode 100644 index 042dce5bfa527e5479ab2f241bfb7cd12fb569ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13192 zcmeHNTW=dh6h2ueX%kXFr9hxk<&+>$1!kQlYezyTRk*a=sL420-!rBOWh2#AYxq9rC!m4M6d&4v&}a0Z@F`;Zc7Kpg%UvP1F3U zZ#jLlX1SJQZuXj%`JLUZ@7g8`52}V~tePEro1!OgSdP2f>sZ~JX5B>Sjs<4hsyF{@ zTTtt}H|ia`S$DBT)85%NWeJwQsPArK=XT3(gfI~~B0sTQn%0*%xQ}~I>_f>A{`_@k zukT*zHrhR>|ItA(Abc)TrQ#FOG)HVe8c;uk4OJ-E&34`HCgFJ{K69mUd(U>Pnq%*y zmOit-51vq~u612}B%=0+kpDy_lS(%otJ%Nat2w=WyJOmca#DoaRtYVro(y3%8&G>v+V1y4GPRMuuIuH?%ut4UcSH8>r`W^}afxUH z7-u8o7v918uRX3(Rs=nzcSmn5c`WK7E*u74TX;OlZ%@nM3_?HqBv)vyn58p7S^;y-BId zg8B{sS%1vqgU4K^De3{A;vPTn=Dvi@KE!u6Pg-?8B0fR@>YekQ`$_<^V=lRfB|m7; z#-h4a3rRBBg)`sJc)gO2*Hzi~b6)?5(;CL>Z@jgpY@EDqN&ODu^=>>);q{$(oZvP2 z#8G*@Kr0>jsv%C~mD{i2*eL|uE^z@%HE=OkXDq$}BbvzOJrMA`oQmg_vg*H&aqWlk zye;u#oIH1=eh2aVZahxm`B6Mh@Vtm?I4aMdqgBTbw}fwX<_Gi2`6b3}ne!id63R4q zfa$>53;HK3C~Hg5Q(1zsu6q3Y$c|x_uq82QoR;vd)bAimaN}``CESb02}@YSl^xX* z<~=S%j+Sz50k09!F$7*;s1l_b+`*JvKxEc3^P^SS?s4?>l#J)+x5eVteDjF!aVCsk z7L2F&`>2eci&=YYCfAIAl_r28V7$%+EY)BibCvPl8Dd;T#%!-n*p4f}-M2We6i$hD z8XH(S%)g(6?WetUm(GXT*=wG6_37CjnziiR!xb5`y^@OU6@5iIyX3z8CuG5}-Aq&3 z1&nhy)0O%iw3|7I$0=<8As#1u`|D^Gqx$w!D%<(>6tyblEPPqL4nrS(^@S#!<$l>2yf)`IgfRT(pWEgj=4 z>KV@DtTNcgpGAWh)z{AezZVz(A;32B?BieJPC@eVZ+jBTH0WX)nK9>iRG2ZtS5q;3 za!Sb;E6Jx9v3gX7PkZZ~@DG?=vwexHOJcivO38_xFngK%Nsx>!A>DmzWhMBJoquNY z2x&2FUoYQhj&on1a6hWtw;pn85B-XL5RVhPn~Nu~ghF5m(wCd`UoLDj&%XZ+#Tu@9 z63R5dKUfaaK*S#6)s*qMy`J)>c3riI`zb79OJdSEEg}!+_L|3s=)Vv1Yz6eiPa*iq z6;1=C8r;Q{zZ0UfmdUTwW&9RMd21W`XBt1<`6UJC<=g*paz5eT1j<{0zFH{oOnkd4 zr#lbhabiJfZ#(LKXewC!f&Z<|vkhEg+LdkKh9{v+gI_TfHZV{N5t|r{&DcgJ_qnuM k!)#>OdH+eyfh2ZFTY!A;j?$b137e2-9WjAWRVIvo2Dp`5NdN!< diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cfgmgr32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cfgmgr32.a deleted file mode 100644 index a32bb200300d93680adb259163f119eccc218603..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193478 zcmeHw4V+y^b>HljF-C=8j4>vBt%Z%jG0NMO^xn#Gj8?mnC0i1UBrL}@JUwaON>5(B zx4eBTODedEaTVb@#&ryJ1EnE#2qlG*LP?+`5XwhNASH#8KuMwGqqLgiK$_X!dGCkZ#?~=(agRkoF#7G&dpy z=|G>+9j_w<>1Xa_boWj|klHseI`UFNkh&Wf9f$WI-E%3Uliwi(Y3cKfmf>%tdlN=y z;W?x?ZfA53-h=cect6s4$P3b&ml!<+VMuRTVD#u|LXh72Afv}G5Q6mfbBx{zyh!ib z&*+KU2toSQDMs(Tg%G6o%`*DHHbRg-2=#{a;Tsu!wiGTkZ$-cqgQ;Bj3G53 zeWXp0Hd6CrjJAH5j3M3p2}ZB{6d6O>{vk#?-cQDmc0I=E_7NFF+IJVDSKma&kPgl< zIknTFg=(TSkV@QWjGdj9N#*h|X$EdfRj3F()fYIPeGKMrv7>#~F#*ps)4x_W* zBV$N!gz_Q%Ebt*ca22DU8z*B(58lA&=U+<3kRI8<=ocVuq_pn(*_5c|} z`u6>d{_8n1hV)(FLHZw1=SY8fn9=`+av=RxlhOZ$`UgtL)r{7yCkfJ}H!ynIZ6rZ@ z`e8=TJVg?uD=sj4&Lbp2y83O5p8qIGkY4nDM%R3fBuLkOozeB*B?;0EUu5)(_mBjs z@li&bK2H*)=2sYP{TfM-ZvG=iuY~82wtte*jt`LpY1c0?y8R)NAnkjQ(W@b!NC(d` zI&_*ONO#@E=(Uq1K{~vX(a~E-g0yf0qu$d=f^^UK8TG$M5~SCElhNo?Btg3O2}Wn{ zBMH(Q&oesrFiDW!1bIR_5BWlR^8<_?8j%F)E%S^Xy^SPDZ*4God;>|4-hL&ccM_5y zz3XyDPh3S3q<2I9klqV?NbiH^kv_1U(FYHb1nI+bj6MS4NFTe2(Z^p#5~NRF&FItX zNrLp*A29mdw@HHZg)cMu;wMRh^ra6l`UD%b1OQgHdmxceFF= z4f>?r?wwp}7cj_Cv)xm@quuuIJ|wizfxmW~K4eV8$XJ@zv};<^N}1Hxxn=55Nh)sH zN%PX{FONEli*3ltK5Xb6r^Uh;VrgwC;RTOiUJrJcNA3Nc{;_U*`c$X4*g3KY2+5kz z7z?|+0HB=~>wQ{9zw!|wnZsn3v$tpw_8TPysZ+z02 z`Rp-@ll?1wz{#k46njOfhP4=YgA~SVRSrhJ?(0`jW$!ov3Ag8F}niO;3gZ?TK==Z$P7=}0w`X48;PT0<5FsadQ%MLBWFhA|Jb z!`>;VIw~ixa=;?R)|2y}#?vRe{gsp5VQ19Mb-w&sW4!rE@rBxBD0#15=|ZQu zzq>qG8G_`^4EhU;J&^J}U}f`%3%P_;L_|t;l_j7uSf172EI!EdJv}_q8$nGChV7jw zOb2>rWr4$=C|hDa#2aBGgHL9@^0f ztclPXvBtV&L#h*M+OewO(8`h*BZYit!S)9bfiw|j&X}uOjx#->mPUMnmm&{Ut51l~ zQnw~e)7{rSosLR*8HF%NZ7=rQfGJuRqDodH6keX5$cXi|cQD^upz0UW#i6Ijszz!2 zHfEY~cL>94HprHB`Cc^!)9ozH3=a+t_4=D8cMOL@!b$}2?is+Oi&zgr6By!5PY4a6 zJwe+-4z<33%7x5pO`4{=d%1lF%w(Z)oXFwXvyYUWEkjClpkiqmeI;LA&1(9YAif;D~wLF zY8A_+gv*>f{{kE48UK5rcVw~GKPJ_Z5-xMfsilu+sp-}YjFDj8X;}akre468zRk)Z zz^*VQib6BT%wVN2m|R6nJU3KrP$NP!ebNMU4%^dm9YRs%M}^wt5o&WwPeG*NUG~>x z+;g3wDk4}I9-OAi0_614u#|)8@3bUpUe!p$GjiJE16f{a*q*^LYB_6o)ndhWWKS7h zl1HWd+5bU(^ajHoop+NTGjiCTE_pO7+pf-V{$6McoKsuqE#idv!T`#sh>e{seZP%C z5gI#NQ93S}q5T9x$oLAEY~*rVFjq`ppiL!bc~>ITmuk_b=hU)_5AiaJp+&FB%XI7F z;7DhYc2V-^2}`6#ruhvkYby;dMuPtvPmx5ERurhCHiq08y zD6ezYa(Oc6zPv?gA&XiwWpK*Tj?=~YajBx>+HuK-JrC21y^f1Kaz0zDXB=hu;e3TD zl~oK)#$Gct+9@kq-OOh4B`dlNPCQ!4KZ_`ONYxLsbbc>;ou$MollE3wD02s{s8;1P z3?mnpaS_X+h>_0%lf+^z>p|)6;4~ zd#PUA=ETI>H*>gVOUsjLMw#nd<5Fr$ig!pt&|9=T`ST`t>l~K1TdFflT&u;ImF3ak zq-AA+h*1-xk_Vl|(j+Fv;`ovIUo>+vIx;1GfU34?#d6YUZmVYT;dW#Tae3=w)e9~B+?6F+V z}L`t#yqyJ9vW9XjP_ds>WCpApCU z+1n^Tn;jH`cu}O#JVm-<5Di9^kw;{_`BZ~3%WACll$PoI2_e^6n39`37*nP59&|2U z;1U8U54u{h2qH@!1{^!`^#Ivl16X(~sfH{9*m1giyqoucJ&lNqyP(zdAot=ypJ(9mAe@1%;j{)wPVHf?*CZW=!IDb|+ z2@>f8Vw~v-p{BJbX#L8eLi4H-TI$xMS-P@95EE8oFl9MROj?Zr?&*14AHD?E=rm0^LN2}%H?w!HeW=qL?HkN>`}5$o-p%$<>^KEp%;o&iLMBWDMv@1*LvYw1 z=*@STwn|f?8xw?t$~fl-$B&IR4)U$D*`C>nt@3W!iAJN@gw3+eO>D>P`1s-V^XD%m zcwIY2$TR6*Pazveur`MNZNH6^xx*XhaV1*uwT;YuV&jqJI>NPu}chbd%OZ}TbtS5ZxOdmsAp_fK+6Ab+)mPL!0k%R z4dmzt5$ypKEh*hNu6 z7DmTc`uDI9iY2M0v5>2Pc3Qg(?O4B9r~DE%2g|dDf6AO88Glg%3E4&O?3R#+;SV2s z7yZe{a-%W1slkLK)9dP42$^1QO-$005SV;Cl@{s|XrA@-FI_%RBisn_$5Wi*&p2r~ z>UGe=g07;kFx<{@eVyxJto_aKvZ3%^!uce(9~ZvF$?zHbfD=pCRjM@E1cSLm~W^YE6(lp-;suK#0(L z(%yiG^+|OP|AKT}Y^j8$bnHKZG|EL;!y$BWCt91EcLgggenvMd;D!6XxAMh`pW zbJ>`RvVqOSpr4NqRz)`cv>X-Fn71`A8^V}f=r0Vi0gOInqva?Ylj4||^&5`?pvwA< zMM2-LX1{StcyCd^an8)A$;N|bzP#Vq02r>?Z~RG#Y#a()F0MtvhKu(ZI5y5MHkv5z zGlWU50-*pdpAylG5`k^R0B`Rto(zfjR*6JRL%u@pDK1_j+`0+ReZ&?=iD>BK>xTeF zWqriFpj%h7kLU~UE$SmqoB6ap;(jw<-beg6ptout@gJE)C?^Wx#C_P3@B+v`Uc7I( zi3QMmLhgfK+BX00nku}{KEobRulOrg!dL9e`My(3(|||4n22hmHE@r5NX^&#Mw*5`t1~LVfP+f~htI@_ucfO>TH^MNLmzlEFT= zk#fA((e&TImN%aE7B=P`HNCOqxu!SA`qcE3Zpd$L6@6@M92_Hh;F zAI?0J&oc}g_1NR##Wj8I{)EtkoPxWl)H&j{`tUl&op40^l#X_sX)m*D?iTEU)wF9C zg!dNNHKI2|;LAJX%wuNpKICY>5?Zk;+W%N<_pp)v9H;}lIMU&O^!!T568xCLju3q8BX3Z-cN3C3=WB*+h<6lo(JUcj5I7>F@`I{G}xaL^DIY&B5@j3V(!@8m5 zqG~rqd$eXIT)n{&`?URRc6=S||9cw(ro-0r7lD0Y(h`rhRSymEJ6k#7=R~qR3daNcKeYg?v*p8ZKD{sy^ zi2tgw?Wfly;)~S0XC3e8qis&<^YU^0%5{95@#`O{hzDO($UfPtm{Jh*`^Gc`e-bi; zyQ1I4eL|vc$8eukyrbW>+0xhMM3i%sUjZ#xbp-o|N}Dq*gu9mc*;oL$xE1p<7C`R_ z!HqmJ%B4A)%x3qCZ%6N{ysss$Sx(ou=XMLWWL12BC2MVMg`srVM$nr5+*w;hti?xE7?Dn-W%^`rp+XyGfs=k83lz{>N2URpsN~l_DeTQ7!Isz>CWUe2z4~ z67negT_zjK2-hkYo=3Zmp4!-Ju;#SQZPw{EzARvZ9)+NtQAM}5uc2O}pcd3#qlndK zui@z1jq>4NKEC84AA$P;s##T5&?}Qg(0LTG`jih>zi_mwsDRk|k2+S>zb%!IwPaP9 z0k2zCRz8nX(Qx$`N2%~G6@O4F6=C}ms*N?wXm{-{{Q4Ohj=tp9gzig@Crj`Vc%73a zzNkutJTVpY7-O87p2FyRdm4g22{{jUKKiB-A(h@Zw2(P`_6?5y#bdTV8DoTMwD6>NriSRr( z%x5UZyRTpAE|1zfPT)u1=4O~uUkjGZenZK*VmC$l#J!_eH(D|j_FgTSPn&QLuL*hV z>T1a-uohIj7UL7`u72FOlBZD1*ICK)DG}}IE)k~e@hgO3qkf#$mT13kPebr0U&)hc zdad-Dy4N{;N`b3CH%b9*MVmceM+*K`ffR&3gFjAdtF9CXv-cJ`@j7!qvDMYP8`rZH zN;YW;xDor_vHv?Z?1TCb+46T>%V`34iR$;P_Z>a9 z@ic$do!hJ*9O+e^yZ;2k{>j0qZu`K>k%Pl-m(KHqjC;q^{P%a&QVT}E7UfgdJNjtj zDOtsMuQPl9aUJhL>v+dgvSh4_b2}o?eXiA<*y`w!jk{BdQC`QI|80iyW4+~3ci7%H z81)u`|%%&rlO##C}ayBniDYWOKf|7>e=N;~5`o)E;>=hxZG{#z3E(`mcieGr6& z&QUaO0w2*{$JB+eGGR{|f4 zA_5=jdXNce#A_EFza!r%M_+GiLhmQyK6c(ujDy5f9r^ytLYWBryps)7gNXC~JJS&S zNyvk6FX|(tsZWbA0FTe!!PyTSB>~&e);o+tTvbW(D$I~1NYas6fin)ABgsT^MLjR&z91ZhPK%JG*9}*=(Tqp1&uoLXXRDX!0 z;caOM{v_l9xC{C~ExjfP8iPj}Xt{cm8@dd{kuaBmI@Zt!Z78593HQ5WI4;7A&j#JZ z0_Z&<_rb3P|J)qPdI1sqUcCaX=rgA6q1ZW_v!=QX{@4bQ4>AVpIG~Qt_@DFkpB^6R zjbJ1^7`Auf0?`A#v*E82b@UlCjN58J=?AQAK6``cGj@`R^CdDd4yjZfBm8=?OawhX zcJ!3lKTIH0$xwe(MmBqH!VI@eJBAP!IiT(6bJXx_MREY$LddCF8Kpuws57JVUX+7ZEp_o2=~F#e ze8Kl@-rhaK1`Q$0g5!)*aSh~yh7vZ9eM8gL`y6G$yG;C(GMNaxfAAm^LLX5i6Mp-N zrmJ5%?%OPsiE)UnI&OGRp-ilaeVbOG3j>ED9-qBK^hTQyuC35`GQ82hS||x?V&A3} zh$YuX3R0xc9>CG# z9KTmUVQ=-b;Yn^)ZJ}Q=;XZK8JASV~#XR>f>oGpj?&wu+Zr!Y%>~#UA4cAi;TtYUE zx~FkRNp|5%&Kn{AFc4n&Gfozt<`a%ASy?4A3}e7Tmdb5`jSIojEm+{vBHqz!91)MLr%6!WoOKZYkBw~~wq;)z@v22HBHptl@8}h7 zPU&mtqK@ZY;W`%0FYAa0UvSt~{ByAYaB&^qU;*@=5VQj{9j{L1+jNAeHz~qvOQA^>sHn7S+6^Kcblz-X1kw*hA*?-?-Xp_)wJD@2=67_ z#@B53MKhmfyPq=ivAG1l;A) z=C-;}13phr+~Vk?jar;F6a#oZ%FU5oM~nX>Z0o)F{S4ulAc})bJ#OfP#{hv&Uk-jR zqvQ9G_72oi3sBdhd}?$@&uRP~QZe39n^o25@6hocv~7+S9A12`Wg`oq_k;}Lm)dJ0 zpt0Y(eT&Zg@K6SdQ zpES;)o1`MQ((9o87b)61OEbfRgG0UkrpX;cRC__|b=MK8Qfdx%HNq#>qleUl;mVr5 zj=la55bJve@NqkF{w3^Hz>XeLL#cDPo8o*T-qk}ISHYMhBiHVA5dXLl@oQpDfQD+p zab$|~iTLOzH6gjOj;~|S{CyqqhcGj1z)vcpT38dHMfk+JtDiL5?k1VYwR;_`zfH&b z^qR!FRkizF6R_FQbJ~jMix*(>^fjjIaxs8+Mnw{SmrcLq`7wR$YP@%J}_Vz_+dR zVh3R5@hJ(8KG;(qyLxP=bWI=E5c3^=byl3c1(APica%^2 z1a9l&EH7RqE6$V>=U7+6eWKjeOWV>h>(zNnP+1G;NmEM84IBI zge=0ZEZ5w27a;C+MdfB^pKR3P*i6dG%Y62xju!vLwOx7{*Z!le8C#g;whSCEuIH@#P=pw59}s=SN3BLvo7MU=hd8b zvFxJOc4eOvW`%@(f7;5LC*vERe>cOo{>Agz?g+fG%VDpi%=Tq-t7RY65$u+bN8yju zYAL7zNy``U`IHJ*pKO#0+L$)2U*{zH2TL&#_G(KXQXwqQLG#`!6@FLiY;yJ2PU@%c z#lC`%Xg7e&R9&g?X1i3(3|9Ih6vL2hqnA)UB93r(r6H_j55bSMuV6J$(ov*LK6?pg zudOZ*@%vR=9_n~)F9>L$+r;q;mi*J`LCeB;ihOQ2ZBIk+Cn4wI&SgO_y($O>4xdus z=(lY(bSZeqVFWQRSm>)cg6IqH6-EZy2;#JvPa8qpZ|2MAfzWqTwO9B#D-Oc$4PJ;q zhl@+V%`AZ46F5uPE&=kG8B8M?{$A%mH#z%o_0e<0KJNkQ_;Ak~u@CMnxI(ss98aB3 z?S2k!D7jtnW28@=@9M$bs^dPc)#13udGD$^|L>S^A2{Y6Pg77aZwI_zw7Yt8r*yPO zPcBD$9Z%N-8QSMM!*pqK(Axbu*ge6;Et?xz0KF$<34T-Co|jnC>q4+kjqd8rjiVX z^}8J76YZ`Z+qjFC!rf-S)Y0+#0O=+k%DEbWYUT0$_qu14>!8LzV**A~tcwO(y@Se3S zY#HwjhP~05@U{IoQxC$()#`OMmR{2MW)7cPKYCrAq~OW$y1vmW1z~Ic3SL(Y-?H{M zMEk_PtJif>{{~51hsNjQ>#WXvLx%lbo#FhwFeeW^z+j;Vr$+7WFASg;fU^NZ9_3!A z^#Xg+5d2BVBXCdW=j}Bhbp-`%K4rquBio8HLEF$IRotECL_v)xm@qqxEc z4u)Uoz+bTDX9>O)ai)EH_Y9lB4_W(fq%|zg<-9Hp!JmZuGThU-9EX~ax&s$}pVH#$ z=iRKYjEmC3SH|4{EnZbx25uM${@b}ffkFWnpZUC#1<-p!-T}W((xOa-7K@7C^$-)T zUf|98i4Kp0rY-ALmIQ6Qn!Uc(EUQukx^&FYi_G6#A-i(l19x@E+lp z)7lkf^unG ze^^h2wsr}wg5kH4%Y_c&oAY#+2Q2~m8~T0bL7h+iLd z!_`N_d1Tf>uP;k;jR02?>65emzqxLLV}hhTu;^9)o*nA5vys<>KMlzH;pDLU$UD&>J&nnU(>d>dcEWRPTJNs*{CxjKVB>w!OvD*M{7(RcUbp4n=PgCnJU_2c%P+m^oGYh&#Zxc z%EYlUnSkCRWS^i1nQ-bUcAWOyPq_NaCv*>B{3Z<_UyOsuR2^R|6v{-{b5k3%K4NDY zf^Z25l?0b=!E>MB>g|r+yh2H+ zGj^D_O2YJFuM_^-DV%G-i~B6xy?ML_iv1M=pFdwkV{7zr)0R{8KAl&=2%P2F29Zz3 zmyeH@N=4Xxgb%4G>nAd)@Y+{2wz~Sb<2PPS(vz?JKr5lD)pVp-DuVY-RQSfLHin>R zFB?Q;Og?)FSC4j-2k-LGDV7JAVG4VW>7wPqsf+O3Ke+m@<8^*sIdD^#=Uu2I0L=U zZ!I*oI(wb<-FNY%ZSGB|Ga7iEj`)1t4LdV0Y^`6z`k8IZHDJ;G3X{(sz}e#*lNxq!QU*v0d@&%R|?9z1J5%< zu3qMbzO&&WfJE7z>Ujnmik{WnQ{5NdTePS8w3$!yr#%^`3*Tjtg3x!wp+>-q_XD@E z0D4cz{qSq<2dqm{(_X;yTGYmrt2a5KpSB$nmi**_d}L5(Ui4?I7zo>od@<-R*8ZMX zoi?Uiy~YjwJdLRP`8c4?$*Xso(I33GxWdV+e0CJ4ehSThuWL*jQ?B0Oi2FjVUkCSx z%($P%7lmx~*T#LJ%J*yQPdR#l<2T1C?5!i-I-amQbljsc8#LxCd~=-Z`T`T*yLIpE z`PEN;xd5ha+1U25Fm_zcvF!=ry+vbN@svz~PaE4>PPNRf`#N}kjS26dCf*l>_X;@HPF)qx?-Temyj#xO%kh3CsQ;>~Ko4qo z4}0g>RjdmX=5Vs}Rxu(WL%6GRI5rdBv-R%i&5bB$O~`~tpR=ih@&j6%hdozQ2jw<( z?%7s%_0h%^n-u0Yl-HS=+%KSf-(bE=KZ~=1yS~D9{Hl;Y9hP@9!Ri`RL&p{=J0Y zXKJdQY)w&at_5Q+U}5zrA1zluZIlo1^6@Gc`IrvdGV&xJ`q02CN`6NREmu!&JS(D5 zKI)tmv9DAsqiipdrPGv?3p7UQsLTNcLu8tN`?AKHb^sM4;l8Kc=45=x3K_vPsqdY%e@A)5727BIKDC$LNm`y|QCm|Q$UL+0X=_g4PyzU!r zIr@)V6LCijwxG@DP-jQXZB``E$)})ug>kGbxOlIyodwXlx-U%b6->*83>-dt14sXI z{8Bk0(B9=zS=|a|^B>>m1m{Fxcih zX*67yeRHFZb-z7p>6yjO@^V{SYPp82dut6yn%&OjQ`5V8jH7jLlAK)A*O7?n5{a0m zIx^f-6f<4VwZC-@g$3)1b#LeLDG|=TW8L7=6P8LA#(ibcl&b87TdIz1yrzE)gk0wO|sK6iz@)*I$;8O-%{mAiLMcRhS$Rf9o>a3x-#exD{NfR>uE1avS zz*}2GWQzBRepgR%JYTL5{dLZl`)M=!ahM!5`YW6-C!+IXVS;qao&dDzQ+)T(CzrwzK2J5`k2AiM9c|`mcM=x(gynn?1lo9b^?<%W{c;k#u zig>?X+%2wN+$nvY=K`3yWj?OM%oJXAAJ=N1sfZ^}Rh{R#Nk@F}cFl8{Vi4wc8fggr zBxD44X;h1-Hrh04gir16>d%c>r)_2%#n!?4R=w4y86v`+*{_9lt7`YG*Ij+QamJ<) z>vd*qrev(cw0%3bRztSmE6>&#a+&FBx_uCF{_nW5Wg+Y6CCwZ5yTHsanp?zfn6AH0oU8~24O-?P4V z^v=eW_!RcmdHOml@i*tVKi*rMUsEgbXR;E@mVF-TQ?omIVB<>sVuaUOiN8rgc-UUo z3M=s`x|LNn2yL$`@wYg7SX-0&?0Y=Bjjt`kHMUh}-zO2*JBQsaEW%$NtPGEK+cSgy z!eZ~}sJ*MxpI_{TjrHr8DiCJk_oN~ClaNQ?URndWYA>#+wntsR+0h5vidH;rPunbg zozd%rh=}%VcR81Yuw}u~iqAkUmRyqnDbgqIqbJscXKhzj+1Ksrc&8c~?(y3&VPoFW zJ0)QrN^QnFM)<_Kt0y+@9XH8DzMii*LGBmfj{etX zTx(E>@H*OjBS(0rf2`Za&ynLxLiW8@(&oI>iZ&M_d}?!NZ>zpT>LD;+%hr(1GZS~! z*O2vv_ZFR#aN5kLSuXdR`EqSu$6|j)j`cl*V{`z^P4*voum6jo{p5*g4b+r7AdiztOJ!I75P650)>L*zM zy(i=p{A#GzjP@MyzO8mg|7vqeM|(W+iK87Y)~d6WKcTgI*!IkGQe1PS-x@iqpe^1TE|1##(Nbkd2zPz(v#|hhag5{lEVC;i zi|{96TqrR&UBp127K^JVwWaIub6~%g+3N93Gi={S(7B>rFK4aYpHJZ(vZaFZjTgsu z_602rO~?tjQ*7s@6`;+-d?MS`mm0tNgH2>z1v3tDRjrekVO#I$ubk`-J0sYrn*KEy z;(0Z&_Az9nUxSqe7f1Rm3!wM>t3O$p_0s3SFJSQ~2b)~|r%?`Q3$jU>{1m`^Hf9`R ztIEOkMRG8`rsY6b4{4JFzpElQIr>vuaSuqL9MstX^-`-Gtcf#gi~tuF!rS6~_5zL` z)`)%zeycT92mRMs(Z42kKpD|prv5$aen;U~FFY;&uQ{OFP5^OtqbYHy^as|8XfOJV;xsr;KgS)H?jbFPsk8{scshmEh=_7+$YLiy|7ae z<=9v@tzHM^rt(Tgk-4N#!@s2*)c)lvOqg}7p zLHvu-wii2XoRtY#x4R==EwzYvEzTq2Cmp@9aUV!A;;|R6>WzJ&0rB{jkP+{=4+M0) zh-z-MYY{%N?&@)!)a{vgngJi1Zm5Cv7f`HsM`+9F=NZt+_n>kA5)@pxxNWnG1<-p! z9)e%AZ3=3DtNbD+pYq`9gPqXjA$~cE%LAUgSXK8wzX%PGUdVmGIOHEME(_aP0KF&V zJp2~Og3uXQ1i|YJ{iLHWHl9w#8qqeFQ)fl}k24%BLObV6>O)38&S&Apk#F4VJ=+yZ zEU0}k)Tf?z^trY+>3c>VhvqI@Q@_L@L1+0^^E=^Zh4&Wie?`9nUhF4dNtrteFN3&k z5c#l~FQ25q735X*{PP5agAb|)r#S8IkGjK!4*Z43jMDYTVe9+rv2x+!sGnm2^q!E% z;Fs!qif?NzsDfZ;^eG#T{@ExStVtCax+vMWx*QeL_|}kn1TV57EKW-h^^XhJhwzPVAD#_a^d*Z@dCID>y?YSeD)TOe%~k&R3KD~EAK7p zNW@ho5`kSs$UViyON3iD;kl1+^bxlj`W#X`TZhjf)mg{?99bgh`ZhMC2wM_f$drdL zp13&;!JmYjgS#}I5KC?tMM%*;dxPjL#s*Qfyf&^bI}x*vxA;mk0)p-VT)o9?_6UXm z8L-6}(`<~*<2)jM!qHnC&pxJtp-M(>|6og39T7ZRKs;TAc!3!wM>95og5nx4-A@6{tV;pi8R zd$d@i+2(!f*fq~Ww9gE?cuWaBWGX!!He?O&xMxK#b*|qHQ9iZ1s|Pr)bEbgziTBF| zyk{0Iy2L`pyQ3YSf?6!K3V12bC*mDF!f~Cme+~akBjUq8d7&=ig&9jt8vM>vPB{8` z<2vVJ#MiOle@sU_y03!P@s8`9WmF3;D=osOc6apKMy&hC`ZIK_qho6AVcn|QJ?nKx zk8GTo@sIVVQ>@Dy6hmK^;5ah_Ut$!uWr~Vji}9)19lfm)?f%jJHwiHqYFy!ec}@hlOg#QA)T z8tzf2HynMc&6d78Kc1MwSJ2eifATa1<%p1wXC58D=pdk(yOg9rpZIq5oi_Dvh@S(M zR<`>je$fF@YyP6cWjVgt_ew&>_Oq~i2BwtJR||!fovz1Kd~D*-zof4&M9oOe*)H&K^%g z@FyYja8GTK-Lt~vAcHjo_|(>}p3R79+D0~QT?f;b@K&B?Eg$aJ04rfyQ`MgJw4(cUf`_$*o9!=dwx!^Eg za+oPVika0st>c97-lEewMrOWM*;SO7u^%+<9oJ^*xR<8}WzhSzU>v=gt#~e9p#`%6 zVyjx^V}SU%_MuL1v~Mui?a%l6$9DIZN1esR9jChe(Q@ckjoZ0=g*A}r{$eJdJ%FR% zv$aW|F^}gp@lk4>^O|tnHrKwjJ37!Ep6U({^ya&;2pf)VN~L1wV&@nNMaVOb*;l^# ajN^W)SJ*8fZ-YNvYJm$zS$+8!@BTkBci;Q~ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_chakrart.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_chakrart.a deleted file mode 100644 index 6102ad9da65c9bd38502affd3236aabfbd3739a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 97288 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 QVn%o($DHtF^o9xlFZjSaxc~qF diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_clfsw32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_clfsw32.a deleted file mode 100644 index 0d2fb6f5cdc93bf659e8cabc03bb30c112758ab7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50884 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_clusapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_clusapi.a deleted file mode 100644 index feedc402844c420e6334db7c5ee56d4de2c17618..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227522 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 G0{;(mAQzGV diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_comctl32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_comctl32.a deleted file mode 100644 index cfc918a39dcf426a56c3cae4eafd9739c4a2786b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102926 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 VyLs7bwr%oDYHJzV1)T%3{}=N8xE25a diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_comdlg32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_comdlg32.a deleted file mode 100644 index f7f87b6effd9ba978bd71ef3a985dacba973d589..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17898 zcmeHP-EJF26h5(&{)F@|q*4$983+|fQMz^&^9~L%+8)UyEAj1nn=CYZLA&PjK$z+XeUS6>|2>|l|<2M1$`~xsKE#uVR02D9% zA>;HR0L7~{8E0<+P<$7!r}*AqGG=}Up!m^mGG2QDK=ISZGS1(}>M&maM8;eSfMWhn z8H>LHP`vqzjGt8jD6U}pD3-B(N1 zA#XMtTNG{ic6+zl+*!<-6%!SAEimg=rFy(O!Bf#xWV*$vI=UVY0PG ztI7w}Jy$t(oqJwx@9v^mSND5Xt7=tOyWMuz9`n$ma=qQ&v)0-z2RdBh=2cBxBJ<^T zv)xtp_lVeu_i}Mb398RKwXNPlTQNsJ#>g5*p-{+V3X7PCusKtSiw@_9dIT zfis6}a{&KBSs|H@Gy?(dic}^kKu1N3C!ukE>=}lUGsGl0lGh8%jMvYKP95Ozpi74# zI6sIH=CS-68>e*0fDw_`k%t*qQ4L|?z~yU)hspYRtZa+b3$C7r*OyVJ8LsEd59-GX z>O2eAE2wr6Pu#V2lni_P^3}(5c6jK@+}w=UD-@`q`XrLhV@@JbqK>Y!@yC8csY;xC z?AKDTKXCgAt_K^n!ctTNUM0ES<#8nuz4u^U^pi$iwn(-RfNGamzk)dmG>4^RPMpgm z1$E3YA6NMzUXcbrTkt;NI(s9*HQHQ4((!9f1lMo#kuFI*oDy6sADZDBMOtya91Yh? zLB9S0!Eh8`Z%Duh+?*s|f5++_#Mkw3y#TJe;d%~VlLs>_Ur#$v(~n}!)fXixGp>H$ zme3&uTbQbq0Y%j8Tq~N3(a=nfmd;aU;(ge^+zy&)M2AK56=#fTohaTcEuYf3_wgb2 zNQD&CFsl$8zD}l>qYDYD(c+SVNB2EOLG@)e&LwOE`J!?4J%&TIay?v}>-IdBqMmM^gCQVisy03L3JtCh#toC@Z(uGn)A`nT;%J5iRa<>JVsgfxaiwmiZe&!Hlqmc zy2mwJLWdOKcBZela`TVxo}rJe)u&!ekd0P9uJ$KaPNLMdCh;>-N1P z?l~qrF4)L77mmf_lZ0{p8Wb-5#o7Okh;eU^r3)S~gjQe0h`9flU|c)K&-*ccI(VF8 zobk9%tkYL9BJM>dYbXOTKFX8kIl{Q}9%{VzBcnWNdVA{-IJ1CW_KvtOnIKy`vd?;u z{pPQsaAY&uc95;v_ckK#O(wfI1Cc$-F3uTH-vGp$ucPeZxIL9z&Ca!YAjzI2!PNJJ z7+4W}9dAQTIB1SHM-PK$#m@@Oy16;xp5%>O;BBa%5duf8Z*NMNocQ|oV^;5=_3d7` zUI5KMhU+=&BC|LnhF#wthtN;2V!bxq*$ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_comppkgsup.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_comppkgsup.a deleted file mode 100644 index 9835482196bac31c37b7b8f822ab50b32081417c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9286 zcmeHM?Q7dc7=I!seF+&GB^%iaMHv~CQ9L_!WEaLrmo!^SJ51j`jDe!qXIpb3yONS- zWt1>RC}oUL_F*6TVSh^hu69ITc=pwG=sMt=yZPWXWiX%zu$AG)AFa5+vt2Y z|A{`B%4=n#Y?P|2WnC}vDmmBns!<94urm(;ivWdnfVtlRE?yDW!V&;oZ*Pk0k^w;1 zyCrcgp`EVFSH*SZ4gg)tkLWVZ4byz+G1oKe%xA8-(Q7jEiS1Z@+eG70%`lCMxo7Xv z71$fS{eHjO_73`{Wg>K+f!SeJ^Y1I>#8oHcC4-@Jpjj(p~L z=nrgh|G=>u7CC3jYWO|(yP(Bv*bo(UJ?Qqf)9MX9NC~;=vdzOL(XHVPx=U5ld~CP; zVlR?Unr_Oal3^ISZd|WLx@n%AL+Jpl%%DPeX%31$JMwusJ=3ASQ*2tkl@8%G>rj7P z-1WQ>FgPZhO%GhDgxCvMn8kj{X&p)-ZY{JEZXq344RP;aVNrn#>%%)uNxj>?f6y;( z-oa>4Y}tD(sQlv%KzpWTbwfj7mwiS}6o%R%nCvet4I}xgkcN@`G|MsMfx#5`lKW^5 zs|quz815fpL19KPVDL#e2Z4bw8lXdv!udo-Vs2*)=2k0l#1ENkpr>hOsh{#JaFZhY z2bsGXHit_QXYNwK0-8w`b3?p*mvE61zi%%kLaGU18yD8u0Xl_|Cm6_)h*MpTEX1FIhUC~p%@>mE0m#1O(H{a9bFWbg_%9Lt|oBdr+Ov|`+lcT!@NAfAoV%8tabNowU=sok@*B5PT~CA5;Fy+|u~XfU=` z&LKk-Z|GCKLcEWDpcJnVkt@-v!BfnYqYg!&a7fOp!&)}R|GzJyc@(R^q>PC1e`Q}Z z2Pwxl*v`LwUz9TP;9x4{$SdDiU&+Y)Rr$O}#QI+{#QHrc=1wx!A4=^?OijEI9IJ6r zfC}FTUZ`;q^FKtkj=L|Kg;8gZ)2)CN3Kf{*xPMz1c&-7xCXMnyAcavUx%q11dNxfM zHSsM$*LUWdCqffHB2Px`f4-5pG)Yagq;}8JL|=_dXyU0F7ir=W&hNOID8TT^`gChx zF<^YG0eXW9lLmb(4v$!HK4Hz5ZGkh(Y=G{-o@|gFJxW7fF!7D6e^FpMC3?9q*t)QGyBjx1Y z=rn^yIuf@gsS#Id_pEi`do?bhkrOp8(uj_8J+4M(B6cW0Zcg=^!Lks6v@hBWEOgW0 z1?HhPl%pS%gc_3XYEjCj1mi~X^z=EhW7KN#UpWza4`+5>!1e952gT@js(QHocG V=(8tUH8{dtHEKb8Wlb)8{}VJ${4D?g diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_compstui.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_compstui.a deleted file mode 100644 index fd7b71886441cc1a87568ce18fbc5afbab8e7401..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4930 zcmeHLO>fgc5S_#=g{T!h6bZq_Naa=qr%jz45NZ@8+DeFs5cPtzb!(?F&6g5a1jM02 zhyy~XzlC4WUq+eP_1c@-PFi7#fUe}-_3X2EcjnFWCJ!E4gZ-nw0@?=m!w$|f_5tnKd6<=gjro&L}}a+$>t*l~ch9LxT-H$mO;sJ>y0jB+J{eb%xJB$N#o*+)Y^yJx*XpktTY0CIz^LCXl1FI!k4X*31 z&jE^K9B(CFZ53RQ2kN-&6HfNexASPwfNIKUjr)fpt6hl6Ev}~s$HG|wO|Ny-Jrows zr7=&_Ca-|)+`EG9SXAW@YmV@rgC&!xr3?hv@C`d@d`Z&FkD-BOO(e-w zT`#NoF~>Lc3B!})y=Z=rBCO!}YoDjo=wMt>*HMQRt>RO}RL7xS2RcmNFXCiPWnKtz zW4c~OOg|nM^z0$sot%WWu%|^&1)MoFr(n}9>pQJ|*-%)N*Oz9vI_0-z!C4tVpa7Phw~h ze7}P|DwM~gEP*Ra6AiFI=(j)8xHz&3g)mpmnmg{|??KM887o P`7e1t<-e3P&NM#(%hmT^ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_comsvcs.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_comsvcs.a deleted file mode 100644 index cf09bc49d4318b4b8044b6c534893f4ec85129a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15234 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_credui.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_credui.a deleted file mode 100644 index e0eb5967ef318d72f9a834c433ba368b2c4dbc8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20116 zcmeHPdv6m*5TDrL6+)pDTKW(@P+Fv_ba>^=7GY#%|_-b%Z--kE*>W_I?GoV(oUZ?vyWeX00e z^)##Jo0lp+-r{k$X~*ISVmu8>NO4hq1kP0nK~x!ENHqmuXoHlGtwcuWK1QmY6M?f%2~Odz)LO_$}YC*-WN9xe}fsb=@?Ed#sR6mo@W zRM$6#CF@&=#2C9Pjg9;DZL3XVxY4l8Uia#Dt7Y_^z9n(R)17`MaWVSxs@3ZotE=D9 zFJJuu3g`YFK@`dCBXC}KcGk>pv-fa7sWxi-6~!_pmgVd2a!gru2$YrFARmW3x1 zUS4?|qumNQOQ1P%j8s+{8I$wGl^`}mRze+`gFBC`O3z)gWNTGbRW(gh6m5>LU5c_k z)qHjkmn#5e0#_#%I{+1?HrWqppuoy{1r>Bd%E1YXu=1*MXD~=$gI(e?slb_ehxaf> zCb3L508tV%K-VVue`9$}0o84vZ|@9c48<8uH>-eECfPqdkDnV<`A~bd5G0;luuC8VDe2Pc9t~*gHzNRY}XkZ0W^zIh;{hI zufXR@fJk@Z#OK6=UqW~pC?r`fv++5`Vrg*PX4V_BqhpwWmetGiC?J^d)6%Z?rIDY<%I*pEg2(66 z<_pMUMf16`LH$@no?oN+G^bf-Fmm1Iani8Ium1Uje!YC@rFpT_k{t*khw9~MI)X8d zMvgqnZ(~qcL8QC zFh-8#n5Vcy#8PnkDCu?FzH5A$p|ybFT}_AgT2-`OINo1kHKgDN0dV9>!kzd?@jO{1q;eL_*=0ORbU}T)rgX|=rdMTv@ zsPiF>zlW$ul7Oawoc)x5u265B1nflfg(TofG@mO0AK{D+D*^8?3`B1%^Q`qr8<6wR ze}yNoumrpKm7QWa`}r99*e89C_OC7!*rzGs(02E@`-1(GQUuhQrI1&PXB_N1CoeMW zBRxCp*V18MD=d8yk)VvYdVds4|80i-@M(LVb$(h)Kiq52(vP5Jhj%S4-ouvub5xK? zcFwwBAMB@{lZTz{35NI3Wl^s6{QFERh&GP9Y$Bxu4=^M>9_qCR_b@3tv|mhz_S$UN zs{bPe+B`k% zQ|MEIJq+1xSIh`-AxPxPP9Ek9d7#$!RWB13)L#EdM zTsnEs7VHN`?AEq8=eN(s-Sy#J#O|=`!!i4vhW}+szSjiW1(EYkeBA3vOf7+hAwzfI z)s3(Y1S#3+{@Jux7w>xutY?AsX?xav&!-q7@~iLP!}gQ&u&(k17M1{?TSoO-gt~7y zGCb2sd3#%%3tRnvqG^z{$K4XF<^9~_J`(DUv-+P#^M$Pb-=g_kt^O&_;ILZ#s6FTI zX@1nJKrA=UXFL}e!bRlcvtHMg;CGC3Egw4yq9nvKX14~Uz2_|?gUu%w5O<$2mSjvN zW1>!#{_iEjw+)DY>6_h}p{Bk6t%hIx6fYoVT*(;a1;mk{WRUW7pOEKUA{3@a#I@q8 zokE`yJjF1uR`_}!xk&gqGFu(gwD-V;46r$rtq!Bez~LAa(6W%{RY75+HL46qmIFZs zvOEz|Q{M*{_hU4zG8q`}RU?Q{M6x_W=z0Qk#C1`+%~8 zefb}9qlKSut0(<^KsJ9vpW&%z$~)mgGP0M9QnF;w!B4KOqf8_tuvEwuNv3N?+B@WG z__aiFAK={wD2U);?~o^$WXS&KM!xq8=Sif|d9Nm}@dOr@;5mNDW|H^b+cU)QWVdff mdt+S40h__VNs_x~R**WZ9K<6b-+PB~9;*t|9mmTa=gCQBZhWbu??b?>dJ|C~B?PCc%^q0w90xbgCD7}tN3hbE^drzh%D zQ{&?kJc(Y%$0rXRICPN5pSql}vEOIxh8r2X@vj&=`cx5){S9LnZvMOow|EdG;UgDB_~=E(FnkQYAH&BX4Z}~sGcbJW77>05 zo`KACwxcOBg z+`7faFx=J=VF}_fteg_z4#z>iujC!^wjpoQ8V9kU)M68}K)Vv&Ti~OtCQx zcS9ZwgJ}`&xrU8lxbSol?)^J9hT(O8B*GgmV`CWJ^fw~h|3x;2;VqvP;h`_EF${12 zRS_QfSvH2@-9IM6dp^X*Fud=RB7EQzYz)Kqd{l(*`#c-N@PnTg;fLTk7=8r)$MB<{ z65+?8?lF7m1`T`rn@Uu{648PD6;d2m&;g{e!7=HPaBK#VB1BT!D zEfIeE_t+SQFMdgc-~DqohT-?2oEZM_3nF|8;xPQ_--+-SSFte+e+Bi2;eS6>gunfJ zHiqHL@H`Cv0PlfNW1kga-*>Ybh9`WV2v53?)i6Byj0j&n&uSQ+eys@4yq?uCTm}DQ zc=llto_h_eVYvDx5w4kFH4HC2Cc^7h&z` ztcD@^YY{fSz-k!IeolnW=UENI-S9t#!N*0o2kH#Nh5JQ#%|on);o`j_yx}6NVYsg+ z!UN}74a0+vitx7kSPjEFAP6y*W;F~Shi72;33xY#Pr)-V{M2uW@H3xfH4H!Z2@yW~URJ~Ki;s%% zd3ZjCUwK4?Ux&OHezPsY7odC?erH*P-#gA~82;dt2!HfiR>Sbe@XZ+h44#eQFMeKx zzxqp7!|*qc6XE|bR>Sar|6YWDdIGCK*jIa&2#R%WU7}Up{$q_TtWBTpoGjwOS}+D6heOJP4Cmooop?k_POWPTCiuXU!i))=TdmGC0( z%Ap%VVVBGG98s&cZ#Cf~mU`VmvNlMX0Fyz+6#OmDbdl2OCF`v|2!<02#}+zgy7aZT zTZwj_`R&fypw;c<=92_Q-ebv`#&&xEuay*njfc~v6kDRawIxk-5bl>xB&`fB$mh|k{6oiv}BOj?>G>1R64xy~9&tMt3fTsDD`7rG_-WP$}OkH~J& zh$kczLw7XV+Zyy&9LZTe5Pl2Iq=QVH^niP|fT1-YL1s5i_Jo=KPG@bY(Q9mKfM+I6@RYPOnT0YGBL}uv^^+#ot2#B zTkJM6l|zfl{<%3Re6E#D^CgWo6u-5e^feIyO^VrQD#6qDX1?nxe*tmP~2EwbzmD*lw0 zZzsK-6P$Hu*=RJUgBrsg)b3IA1WIf2aZ0KB5?~3z`Lo?^=tX*cU>2^vfxHBH*3>ly z4{HAQVRW>ZLus=o3N^vVnnq?c$b7S_iw02^n^B$EN;<1uQ9^@MOVa6&C0HX)`ZOt{ z2Trl1E)-Kn6FTTQME!HIp-CB$!z9S^im!*%tZ;;lAg7g_c2poCyGYL5jABzf1uiLgLMXY>gyW2Obf0oBdibi{FyA47q{oci-vp&#tczl_g zNIWCiTn2&I?yhOyqGB_u`Cg)bO0vnLvh*3pGejJxKykm)+M+MXqImj((C>)$31YDa z104zKB^^;j zwc15uEzOm~{CJW<)Cou_()5PqJC(GwhabrWQH(^3jC$R!K?QpoEdF!GY3XpEvV zYZO^-w+>CjDdcz4WKXa=c6agf>Fg&RYqu9+S-{^=xv)1sUr4ea>R z914-U+uLjmY-I)XeHAY#Tb(An#~iiKlW0k|*j;P1TNje%ac9RUU%~-PlRXQ(&#kxv5RMpyr=8Rl;dGQke8PN!I4wTXUembUdgk$ z&i1CGZD_Rk4nZfCUV^NYRwhY$7pt@qjUh2_9$EUFwVc5^^z1YxqXxxHVA7~!uEfd| zi(0ExLMv($v^x4OQg|bUKR1n&`Wlf}mOXSRZT7^RazTEYVo}p_QCe9p$end7da+0X zf2tV6X^n+EGP|-w-%&tCp28)O%~T>YO%!=hwWG1*L%G^V(|8VH&syyYBbH{@GLszi znq5n$PwiSWYjVl3aD^2FjAtTRO zUA!H=1XihG&?gcI?ed~l7b$+!%Zzj_Cn<#^A4$br$`ZY@1IFr2>h{S`*He}@cKR?b zYv>^i)A7su>wwNh$qYXQRdirMW6eX1$4un1YHdmP^*h`FnpvCgYU|Hu9+))%j#nBciQP$&gCIF?R1f| z*W#KG`BL6AbM0gkY{3NgE8wpzB-Nj{x;XSX28o`3d3b(K97UGJXg9c^_t(G|DaX_k`$ zGVvU4O~xFCr$By$6BkzQ%R9e;(ELtj^G+H5{&@4y3l0Ml=!e<+i^yyZTq&JYp33;5PNP6eM z6}i^m0w`>CJIWlDz0xM&c^8hYc4yk_3)04q^ePf*P>fr(Mj|yDS{_LwYHFc>XVN%} zrT~H!5{b`Q=yUC1c6kxqG!T)(Udxd~BJxAe)9tL|Ti~0)=Bnki5=9{$o}M|Xv}wWN&R!h)@EVcuM_ z^f_{Ts#`NfWtfR+9;{VE3l{V=!J?(8f-h6F0$C8X(C>q<0yCzF$*Il)y7a9J;B4rC zf5D+Y;Csx}G?yvu2y!5om73-v-<#i?L;eCf$CI#&(BDt<^VBStttBW~itn}4vz)-8 zZone%$`nOiTt2tXf##lk6sj*Rro(SQ3cP2%s6HKEnyJQsplPji+sB)jedpuP^ z&S!8M{Rv7sy7H=2J(sKtf_e2umCAD^ZJ1h&f29Rh9VdBZJ`s7wD(Q5syfl&Ip&hlA zhbCekVGCVJ+Gn_1UwtzvXFiR3LJB4;R~Anw)jP68^_AjPNNixmou724Mb98)8_BQC7~1t{z7Dv3W|%w#Y*5#I(A97MFB+uUlvaDw{EX=8OA z$s`}@$LmRt%t6mdB+>Y1+KR@YYgW9?Byi`ozmnwR(vKVGtr|dUJ}E!{*BbiJhv!h> z+xSp=wF@I?l7U2WnkGy%h7sFpch+Tw0k@}}oaM_bYt7W^hU0R06nzD?3Mq@8rhkz0F}y|K9p>1`X;LbtOTQ$YTZ8|laDwVlW^Zbm;m_mK$nvTEo=S(N z!=Ea~t9f*GQ#y;p$&9aCU35Yr%de7+eBfztK`6_olGA*6ODlJ=)j8|ToI_(jAr*DQ z9%7JX&skl}{{lTtK7C*^U1ogh^5%U{VE7v!W9+N>Uyo(s){5`1pOsJCKalRV|N()YHB^8d67( z<1|=${g>7wub;<5(!Q}=8eTVufPG_FJN6IXfj^|Fu?4sWS=)9wVs>K$%+?PawlF&l z_54))IQF>z-~Hgqt+tdKPS$R zjCbTf*bjkU#ihm`gg*i-xeUS{$Q}KOiKzoe1d9xn=!dC9eyS%(mg1Jz7QO*;32Cn+c^1QKKtnq(E4IA&BJqWc;oAk;uY|wwhg>XTuIK-Y zOO4$Pf56&WF^OmBdf@<^!utS@^244epRSWWK%o306mS^IUy-&v-gXn^r^$PZP~LXa zStvi}rjsbgzHn5O|2ej~TIS7>QB{OLO+c9-{F*cdZ#A|KSFN-{gV&=T`=Wb=>$)ed z58JrDAKH2tu1^s>>?W@7BJVB2^}tPM;rg|1I*DtPT%+RpfAW?#b}Zm1sICP68u)(v zDG5FyBKWn&aFB&yHcG8fZYG4p`m`t3kJy?@#QHT7>sLV=j*9g^!&VoQ;n9S^je0O) zywbA#Yg1$^tV^*0DK&PFz`9*(iFQX)NW35N#QWhRmd+CKuJB$)w*RRE?>I!PvUZMq zk3WTXX;OgL8rz1e&E?rTIcG{pv>)_Ed(>pG6@@}0EtOKbmqGiVINBZGQDwAyYBGih zPyIqR*hAQDl-7R06YGa;tltX_KTK<1CED(8YVF@b-dm)#Z@B4X_nX;VdTu(2b+kc_ zs>%E@*|Dq2_cI)r|FWB$kmJv>I01cJ_#4Iv54q_i zCtM597?l(Lh+@H96`ySo2+yrDN4yX#7k-K(mP7=<*4THzouECh7A&^NB@DY+WN+J-fE;! zZ60`0ig?uvET=JetFd>&mGD4rEm*2iK4nPm@buQ!r)=Hm5s;L_M$mLd%Wn1x=iE}< z8aJS23xDF4KZ1UL>E(LiQ4#Uf=qZZC#37p}3+P*T5) zC*gM-xR;xAR~-A#<5Gf-3~owe@K$4QfGZyvXz-S$r=p*V1w{~&2YfxvafHm=lEY^v`#5xCNrzZ&WTf6Cr-OhoW&jeR@ZQ_Qy;`^aV$}hsXPGy6`?z zZ5^j1-sRSiI9E=`J0yj~yRVmb!nSTkpO(^d%2@S(BgH!`pGju{tAztq*6Y!~hd-s` zyi`Q+YmL1I?p(*gNghVYshD@9hD5%nH+Q;j&-#hGt10AP0j)XeX!bu_?O$yv|I8HM z3h^&VWAIjEUAUTvrxO?mBZQUi-acDfy5A3~?68@hr-Zu8XHxFwOwZlkgQ|@7{_Cp6 z$;^~$gUrK zypi?siU*9+JK4ab3CIZ(p8nbTguTusj%}5OUuM4MucVxi;E|x&JOzG=YPB_>=U7~D zgT@7~ga3r4?9 zyYxB}#(N@ zA+hf1t*uYm_MSLvL1{c?#=oCWvA(b*HuhNPG+Vu7ZEz{f)bStxI!jNn?N-&);{c3b=za@?{3y~9l>H6OHKk2?PSCCLNJ37iz1 zoJ-P^o^Rf6HRrp%SvcXV-Cdu@Q?;tx2V`fbD0~06@H!Wl8v7vpAw~fUOT%kIXAckh zklfYSBBH%ijULL( z1^S%91z;>X*J>s`AuX%xIrCoO%liSuw=B5}{3Pq8o;(tLzb?F5R-j=!-a%=?{;!X?ECtDq&nAZ>q9BgK_|W%Ho+fr+;Ay!A(nULtje`iF{vQZ{6PaInL=Ni(H>Znrw-%B2tX*Q)b zuG*3wSNGsgNqYPA-AvNcQtP1CQbMBL(?dHQ_ub^JX!Hyc?Paw2pAl%!T=Me7JA6@< zbsKN1yj^kvdPibN+BhNpjVO^}psxr>K<#`Hcu{rX|*5=kpZpPH2Lt@<1 z`&vI}&mWE}uax%{{fwjPEI%nQ4pZjE>ciRYb_XmseV9z&7;N_v*pCNx+GxUQiq)3! z*}iJZR{ts?F!;5`-UoLMa*vuIg5QTaB&Ya#aSz(-bRUJm->@}`TVjB?>uVG*koOjy z%Z_s`@F#BhC-6Sxrjxc!JcoHyPWhxCJ}RvVWiu5Nm)ybYTU=`FJK+y6E}`qNhVe+q zoeL)q`}%n6_Wt{ECXeb%%FN{X35gAHs34-I%KFkX1nh}_H#@&wl4lB^sTE_q%@nd1=KwP-b4*$0QF34IbJ#8>&@$#OggS4e)Q3Tt~m191{D!UfaXAojzJ2l@+p# zj`O1u`^UDo+O0KMa8+r{Un#@`vC?F_2x3Bw-3`~w3aLu0gPp{OM7giuHtrhB+c3`- zSw_qGH?qx%$5zNR*b$`KBiK>297pMO=(`9)@_?sDHm)h;ERbuxK`A$?NA{yG9;i6> zz1I|ihC`rj_*=D55bt>szl`_kM+n+GgI>2?aiovpeVXlx5}TqujSY!# zU;pZ~Js0gFH21I>Hm?wn;K_S$wE#-ypPzL<2@2OIcZRkp)F9}56K zh4x!S1i#kUTi`Cy?ydm?{y9V;`N7xk8fVh*Ry6oV@l zb6StP&AWI->N;iir~JN*2U-KtA;7`I74HkYcbi}6SS8oMZ>NStzNZ&8o*Kx3pR47U znK$#jDe^bBy1l{D_Gy?PhDXVF&UEL_PgNZKN>cup;ernpaDl)|bx#iT*MVFZrxR(MY!Y<0f@xo$Y&=1bGeI5?l$j&{ zJ-Iwk?eVbp9C-)4hoCkh3fsH4Q6w3E2A$8O_Hy;!jzopUNSnVE7j|Ye6RM}(YJv-PaHG#UB5)$pce%W~9 zNFmzGSad$1(5{VY@kLcey!VMCh-$Q!0ZWrPnXHktR<^Pq!{cYgP zYOGg$u8p@QgLuzMY#?1mhs3z22Y332J$v|m7`6?YJ$ySc45*@x_X&bF_%CgZ&inSpp}ld+OQ;@#UHYfJbCJtTaSNYLGs@E!8r zA_;%qO=n5?*SqN?-pkk`-z)GAdl3>Z8vcEz(G%^MH#WBoFxdV<&ALDE0%&Csk%n!grcHKt^^r zNx8~AFpf+NKQ-DtDkAum%*=s)AceSAdM6X;6d}35(=%J2w0HT4T%fpM99nl&d*-8( z3vgOmGwGnYC+We_OIu+2*{L)a>`yVTxL`hw!CQ?z09S7F0WNTtUgv`xnvk5}>A$T{ z*>e=)o(YN*@GR9)IpN(B3-*zznf_blJ|Wu=L~+A$WP|iqV{eDQGH%GP0i7cX=t6RZ zr=PbzVV|)REk%ke%2wu9}!r`-7|<&Ak%!Rjrnm=T}0aFjE8edPr#o?5t0jhJ;8A|Z{DtX zTyO=XjyekXj+6_!z0Jnp#Ob@>(D6#^IoRvrPw6>1yLr#k5>vcu@gY&}>Hm%A@`x4; ziSl=(C~tL|AnS28VzuSF_bj$~Qep~n8XXejo_^lxI769(JP+e#W+=a1VSKT>)@Zjb zB+cWE%>-XmWjl`d3}wW+UUCERMq)_Z`}%gLY>Q2_W2!MLTChjeU>;VuCmtKHU4u>k zoDlVu#y{G2@uxJJTSWxF*4SI&&Mh~H|C|~y7$J`;BuDsqdZ+CfKOX?GIBdobolUlz zGk$Vrr&+rpqa7B1hJ?3fJG{$HCr7rZy^hKeZxeW!J8$j5FyHHL9_3&G{F-SJc6mp zT;e@P$boq%eKAuYK}a6(^$Ev48@P-!dKlSrl<|JOHJ1mfjeqZX(hmF&L4R26dwPDO zjfg|v)UG7<%UD7m)UdyY_H0NoZ|>QkMF*7c2YmgzaW!wDd@qCXx1<>FY;W!@JLnuK zG1X>hbV!VQ`gP;l#$q{MW^Ln}HH^=1ch&~2Zl~J%i}%{b6z8(kHr7>ANW6P`aO+d{ zoSkU@RO8k%^Ee++cy~?MZ6z?dzsh6R7YGqSEIf;84Bl$&ZEzJ99uVevHDK^TE?G#P z@b&k`y{UM6=8a>~qd%$z^!^MHYrUPVY{dshOLh0%^xm5aPQIh1)}XJaghacq=QpA~ zINHBmqP^Qp#2g-OvaGVy9|i5S)H>R=l#pom^!HB38Eb`TFEfU{&qjNt^&9Np@TWXj zIWyM8iKgisy&RkewMHKB^x;lNna*1$FA?dc7eRNXpa)y^BI5QCg<2&GZr3l(@ER=i{Kff>g#XR&_2^? z-jVcLXLiVL1dYLVui7V;U&m{g%K1Ce7`)ZkcfxfR755b5`L$s4Lji3_4)OHN#{NJw ztief=L$Jpml|$Yju|aj(z0)7iQtSBFQbMBL*B2Xgd=B?Kw3pHGUvHy*Z|L|S`z4;~ z!~;D(Aj+qFy|Hn%Z6V6b$n$SupauvN6j6ob2v5IlT(89$!WU)U3rnV<986!-0JKcVegWv$11 zxBXeO)D-eoT1dqE`e%>W*3J82XgAEdd5TyCcXK^f70#DR!y=SDEr6z#4l0xF$*Fzie9$doT>%#lYp2YhMHR9-ahoq2r_w?1qoivLz`7$#w zzg6IUX6^3nRxcrotCxDMb7Ht#X^q}{C(XhdAcDV`E+kj@`gG$?nuWbUnYDx$7;=Je zqJT0WcTD7_Y7_o6DJ0&#y}ovD5Z5NE-k{9L_#DAI?FKd)tf-If!C}b#RplbE#%9DkXZNh^~Tdw zIMj3JIFzvg4Jg)^7qt;zl}Ev&*??w^l3TDh(?g=))9+iKu>HRAEFq=+l(7Nzb@UVc zw%XDjB?11_`1hqEf?sRwHE>tsUqC-8xdZz&H6-#qJ-|`!i^j_v=a!NCJ>LGecY4V> z9GsQ(R(9aJxiaWhd<~bc+;^8;VLvB5B>H{*!SSSB4*xv#m)S}7ZUg;G8$10L?8qy`Efn$uvu@f7O>$u^KQ<1 zJ44=Ew5FG?IVN=0n%!g7A|)1hrg^#p8jE`Z5yt6e;X0_M9_8~M+`0>DpcJ((W> zV{7azTv6*GC01akks*0;~#zx8=+m^w1S8weZe14V3v?JqN&TXTh4?C-E($kY0 z_t8Z3<>R}Iuc{;Poq#|CwOt;NUTKVb&00n{o24d_+)4^4&nG;6v(Z{pjQ29un#~OF zbDfPwXDw;MD#gq=UuC)OYpnsyTP4?EZ>NStzPFe5$hi2Oy1aSc6FCf`msZ&+%Xn$q z8S<&;QOwklV!z59;5C0)Nd1Bu(0HMUE+kiY`f2O+0~S|&$YcC^FBwPf=J@qK@?J77 zwNBA`*iC1RU*F@VljGMZkQ1YhU(XKZ3fNkiFJ50=oa+pFFqNUwx=~iCYJ7W_=w$h| z#y$dfKE6!`x#%}*#E)mJTp>9qdVhKQ2?ojE)h*{-JIO(1ya0DeysR#!Ge0kh{>0Y{ z02f#9O)s^@9q7y?Vr*6tF)>z=x<5%FYj6O+a=f0???}ceqRsp0eegl*8wQ> zm)X&CBSn9&#ZRIp8Ur^c&9#%wqyq~9sywcEajG9FjcGNF!CQ^J8?HiQ8d3|CDTa}T z@bnVbCnFzV6AJc{V~NMa2WJc< zEbnPPFiP*@1Ct~qA9#9`>v7Hymt=W-P-f0hlJY@2S<}obxKaiV@T#<)G|p>__6JAP z7`&-DLo129^pp*9C_-|9ug`hf9yMG9NDR}8ULjz^rRZ*IMW@MoiMC_eT-$CsODj6( zrjxzFQ=x4~)ry*e3mWGVt_@Wh^*E;le@Y9={16yhV=cIHEl8G@;9SLpL-xcGU+;3< z{}!7lSI^lGX`>>0jkoo30(-wD=aR+ldiO-{Xsf%45o-&bGhKLQmB+&9cf_AU`>i5^ zUu*2Ga7VNk)qui(Ayr6@@b)^#wZYhsLgd?;e;Kdy=@bwBoz5B}qjd)6NDq=()OhAP z>#a^wZH{;WM?U2U$GN4PBMNGOvP2PCNS^TZIZxU=5v@YXYB~<>KWZ=0NO@wjn`%JZ zzuax3){BQ&SGkA4UK4++hnN=;{90oVz+LnZd8Mb!kV_Mi6MTKg(SN|(Ft2wg<3Bh> zuwYI+TWEso0J@8$SM46c*MG2_AleIR!DNgg(vbY&?OmR_@`t^? zvf4c1J6mm2I27NRm(f3=PE8GK8XrF5#or zK(bdE>%OZktx_w=ZYPD5?Y^GgxDzf1e4c%$4BlVm!aGR!J&1QI-3`2lmG6f={lC+3 zWQ&+4W$25&X?2DqZniX+`Fy#ad%K}a6(^xMY0u0#{& zX)`F@MzzY^DNwL*Y_&VnUSDY98>+0y`0fRCLY0_cokWJjx2HEY;yXOP@8I~xZQL#m zi=!{TNr@G{X=F%zdwNqNzQg1Db{*f9w=#~5Z#o8*_zpb!^z@lVe22&PD#!Oi|IVaw z_LfF}1K+S0^b=BICBJE8NcrvQ6^*M1i}5`U$)oDuD=EJDDT}b-{Cu}ZrW98j>sO2F zBJ(EQt7#YdIi;t_&m#%R2fiNDcv45eA@27>>ZtPn)1ocEMr7?J`vG0H@_IUvDqFT^+ zp^z{nZ+LoVT!{NJW8jx%xJL^R*#26bb(m3KZTUaK7?_q?!@HIc66?Mm-iY}-a*ueW!~-X$>V_{!c>M#o>su)fgmZzt5#tIR!B_I73a1gf2Kj&pe- zE;aUc_#?IT6x4tw@{8y~_5hx~-*|qVXv>gV{w)#{ok7xR?z!{pK-e#sCD(btN)3s8 zU+?dPy#gifg`@g|GUMBuGvu559s!e8xgYS|3kQ&Im0UxG`NrhWavu|Fu}iZcDdoQo@PTiLzSA5fI@lIQY( zNDYa6Pj7EM?u}N6{4#r^9h1nn&lRk)Cgi&}8fZd=CoblsheW@p?|1sJZ5O&9RD)r@ z-%~<;;J($}^!?sN-dl8f#K28w`F>yPrjx$kGWPyiiGElCKqmfF8TmNp1AodEG$kVV zwZ^vLj=~<1O-rrIdo3j-+C9CxQPzt_6QH;E&o3kEkCJx3lyv@4WWD43(37prt&@r) z%$fv8Ei>*FzL6v#nYF=A(G;l19!J9f+*W>|N`g|@>Bq900*B?A}z&ar!&XQ1GvHj4x zqw>LxxqOhFu2pSbcz%j}H8Q>>jlo-uy#=l)=3Tsy)<7{gWJDqP!P`r0^F#C!D}E?5 zUj7%kXs9+HJSRoH;)5H~7`)Zk>)@Kl2dtO_SkTe3r=K|Pq%WE;Z(LBuGJ1nTfOHH9 zbTD=q{P8&c$|u2fAOGtK#$VTG0|cYT(_8S>tuSq@unI%}501vj14Z_4a7epuo? z-NmWmy3G|_B2b&=b!iOVYHSm(eEbSn&q}PrT*ih(xTkM-`mjBpKO$UNYOr-jwOrO^ zd(WMRr7ZobpL~uZcKj&|&GjOJUu*1cxMv7gCDt)c;zOd`(^ngJ<`E4h#JN3xr;Oe* zE!%t+eJ`N7^J8%;Jx(1(Z_!GvgI!MwiFa?mtS!|ahQ=SJw``F9em7@l_Q-pS^p<I8R~Ii4 zx$kY4N8GDY8;B!;WIDQ6<)4PU1tN+}qP?YwmIMs!(2L^g6*&KG)gaT-oUl z60xcHVi(4+Xq~LK_CC)0Not=wn#SO*#@+;1)Y|h(udts>5t0jheXVhYEpJ6b|B*JF zGCKS>xNyKRQr&rEzAJ1EY?EQDl@b!|o}SjYnu>!x*IH9X=3lSSzJ2y_1Olyy{AGMFV)ve9$4Dg>4VL_E!*G%8hORdA+NDGO0Prqz^(nfsL^dFn1{}S2u#8M3>%4Nq0 zRT=r?fNcCJD} z-0)(~3zQpH(-^$f*t_AH^#cU!b}i(xg@ZICe|UOw<6cvuSwoJ5uT#iaUA#nkhfzkt z;LVbyHsDWFLZaQ%cN@=FFGl+~B#+t~yqKch7HXC51+Es=MRX$fo(eb;2GrZ7x8Uy} z3CRcEeqCEDilbqr6_v4nzDV)GvXXz*)`CWo`lQqb>}g6sv>)*F>_({{Uh2P)qTLp1 zdq?Wag|kb&?iS9@gprR0f4hQ0?w)YK)At)^t`+k^8L59Q=YwP0TX1+H%vsJ1L6ye8 z@60u$)C%=xLP(kK>EW$U9g4d~0o?P(wfiA$R89W{I@WEo2RyUNHlJ&Rcp%#Tt!WJ2 zYV56W#X?JXJ8Hne1TLzO9O3N+w%6N6e}K~Y$Dwsc<%nzY@qp{LD$NZjA@HaC0rMh) zUu*0ExaV>MFZ~c+5HukM8wk-y()e>ot8H|;IttCG8rPf|l7-`5Wucabeb zKKAybYCl&CV@7P^J0c*<5l^9q4cxgSQ&{R=9E7!voM9^mPSd){^-HK6Cw)~Clw zadcF7_Wy{urzN*=uO)`Wy{E^wJ{he)2>d+Uk3-t1`pkN83Xb2_afwZ3>^TgmiRpygARyO>Umb4`z__fA926w_IzO`a;j(5h8yyWRij=SHA zCO3Fa@=}>~#b2wV=918_e0RT1`xN3PmWNi`Ng?s>=|PTo50Ce&DBhKuw90US8GNRI0f2I%#L=SpN8iThQ>%x`m zLA1mK=UQ|~jC=Zm>v1<{-d=e+Oqt!BuS{EfbF0xymbOpB@_?5mI}4pN0EQ~-{Jy(6 z&vqRprg;#_7^&XWIgE}ZFf)O2UQvSzW(48`?Ta1 z^0mZ}xcBx4+q>Py)c{JbDYGZs6%_Zx@N>MenN%J7zNc8E*f&dW;ol+%$ODtUp5Qna z$kj(k+f5nS|BM_Ss5<^fl>G$WWHqqO96?V}pY-$%PuK0Wk#S6`WPh2H7oRS0-|qG= zjWxi};F5vb_Hn1M>{nxF;ZFqltST{)@gy>&T=(_)#+?s&L*DjZ$7TVjdTik@8RF zTrksKUudp&Pb}~$GF3*tuaqYxR$!-*A@S|$d5u=fVtkjeT7I>_ceBa&F( z+ngU`QDvO_S}kW>B`1h?CWpknrx!NvZc>c>{g6EB44$V*>?gfequsiYH0RpMX3`m~ zcC&4Ls>}nvyPF^niuZ!q zWY~IufiSJ?`g(wzQ+W?%&2kz1aTvbse)4@}-GDU*;vH@}=?A+Go;PamaJj<7TDO_d zlg(i`p^k~X6P{h=QAIY>O>xJovS#2VdmmgScMPcsgGYu@2jr9qPmgguatd!eaaq>M@{RoX}6F14mqy z`;r%M*+Mlf_qt0MQaCZsYhZXMBFIAWgs)#Z&a*D;J<512o@nyK>Y_B)R+$$@@K|KL zpi1uK0g@aN`<~wD=&cjNEl+bQgZ(F%*k9hW*jFWYVxJ_3#J;bmI_|wyDEG%9b=2|o z<1_5z;1Y~Xc=*O*t8+FJ{#BO!`-P|=7AN=4>!1halwM;|#wWP0os^iu2KH_}2P-q#x)$HBZM^AKNVEKnneH-uWHrT+-yV08d%*6*3X zH!3EmUDVS99i=^oey#>oM%s@_>@V+0X|I=B2fdLNQri1^m!q@~F72gHbyn_EN?6& diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cryptdll.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cryptdll.a deleted file mode 100644 index 7073c94b330158e9db817ddf80dd2ad5be560e40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17280 zcmeHOTW{P%6h85$w~*e_6p9eAK&eC(ZN2GcH${NbcnK+`Qq=VJfN(ZhC%f%t6YaWf zf>70ms^SUdNAMeX;Hi&1AfEXVJn~F?&Wz{cwY~8!R>0tqW^A81_RO65{Q1nq?|oA1 ztTjFxyOj5b;!LqzESr_->3rT~S$dk!7tInE z$}c>A{3`&(Pk-idZVzB?&$cbwzTI^?U3{=Cf|exthqw%y#^wgX}=s5+r~ns{mc zdUavidy02)qdIeYyIym##_Zwh8qcn^o34_xE0iu^3tLLeFR$O6U$|$nY7slVyG3xYydQv(ag~yLX&5VN$Ca$RJVM=}^sT?fTZ{eADg9 z_J(9xRkVKH+S=UQYFoU#yJ+m|&aS*GQX%Bt=$pW*&OdCn>b~kLiI*GRN~Y$|s&BYE zZedGON)(qAO|x7s=kw*un6R)iR)2mN=>*{X2(kt{I|K#S*>Tx#EY7Olc^ z=3wbXVYS=cM-85mUXvbpz9e*y;>jr1OAm8k3cVR2C%y4#y^7F7a)ikcJ&`Ytf_@4} zK_n}zH(QRE`PWN;jgj@*10nF_y3MGFTu(WqrrXPi($Q>{i_+2TG|F_y0{-CHlG*4G zX5~gAb(nn!1-X&q{)c#1R0ajoG2lx~lVNqjZDRo3R>UU|zkvd`WwbN(D4glE@4>mS(+Mo0BC2{Az>_3= zjpW{su4$UZEBqzdm)B=K7m>XmM_8ktVfUcZh9UTV5F<=s{?{H(>5vCACa)t8Yg|Po zgoUSyuO$zY^-EaTx>hbIJs+>nqRw`>o_s&39doGjZMa@p)QfPl=;;Urek=<(a4cU&+ss)eMhNSeE+mBCi?<_ZbQcR;31b;i%P(|INvKS z7ZPRxAKqD8spol(cntxlbdLA4ct(NVV=kFu*E}&`8&3i*afGLw#G69j0EY3|4CB-X z9G=q0IS`Cbcs;HSZvH12*IKM&To)%W@{|~_#Kd@MM)S`(kAH{2*pJ6=aqut<9VCx` zqm|o_#~a~#0gQLT^(2pz9R}s`)8Gx!@m}J+e?Nb#`s(~G7+vxAX>5%M2HeI|4rMVv zkpO_lB!bH^5j-=SAsBmt16i`UL@@d0gCh78sM(}+Aec}o@Jg28{>BLsV^9cwhYMJ0 zz$zY9OMBR`u=A#}hs@-@z-1VLk(# z03l00F2zM~CF5i4i6r^>1Rkw( ziihzjj)PoUN(qKleTT!aygykCPshYCEx)ipGuYgdc#0jr-^lJB2M5E*L5}QJwQ~E7 z>{{V^0SrG1*OQ(E`G$k~#p9r_fu_Zqpf^6~8}pS6-8X)p6un@;I-cpR<(`F4lB9Q0 zjEU+>aNapX^?8YE>eWF}{Ti+j>#O-`9`Ol}SdI8D2uS16fcu#GTg!3XBTEw5W=v$y z2In!pM-JPMuU9mlJ4n91ua(=6uibFH0AD`|*OSP8eF$WaX?-m>e=r=RVO9<+8p7Le zkQjqPxXA@9HNeHALbGgjFU(a&f><|WuO8yovmW0hTRl`PK8bxeD2pG{d)?c?lx8NU z_nm^md4UU9YCs2%8qRxma*6Mmx3?;hm3A=`V#ZxR%sg<`SDe^`Gt!&E+WSG(BA?)wKj{#Upn!WINqs>681(ydil4SF^E0R}&qs?q)MX~ug#OR=G zKFY8j_~RwjSbvi-g3jnAPeKO+b}$|EKc7UoJ?83Vr5MEf9unPtGl>mt2JRqd5+nBD zu|3FSdD=fmd$Va@A_abs<4M^`VsG~Ia6LJbNPB<=#d{8WKJtewd|sM4{#`OE2Ia}j zv1^_f@C;A-v|ez1qSZyyDP{b?>>sR57h z7=ryi|63-C_PDE}*-RtrubwZ1Wc*=f8b`3-)qk?-MtPjIe!aDV(pCEtMRnX2(adk} fi|S$gc4D)T-?~%H;qmRDYY zb9@+=;l-DS&j!FiM88*|FOl zqinl&+bHc?w(+^qG+PY=g?mNa(DR1VsL+jwKC3@** zv(fChrsI^%X4Q7qZMWU9KbZ~~Mq{UC49D=O_lW(v^1-gUtNWX6=Z*Yy=y=qVD=|;5 z2(4el>KuXKd7s;^P!?5{=j)SO_D-eZW_EpkMDZf4X}XS-&=&$;SluhQ?*Q`&fLq*~ zf{bhLx!jMgR48v{EYmfkAw04S<>O4H(}{t>0pS|-!uh<9y^5U_>Lr(D(0tsYFDKk= zG_K&|=CG3v!TIBUTUvix-gxzNBV#!Z$uhNuV|#-qrvUF0HFMh+cyifhG)3~vJOq>N zg-#cak!+QW!bo;PN5%J$1^SC;OSaJz4h_MueTW6g#Et%!cy}}h6~ZX+66^6q2Ig&j zblw*7BEG5W){M_v9qml}icI;}yv?y1SfxoD)a#DN0ounf-uigCm2f>jkjMQ#;r#yD z76UybDcrM1C)qx`OKciX1tF z&I9~su+L;_$pZn_xE7THKe028^JO9z`1B#&9UTR-pqGltJ%~j#zhKri>K1ydQseryHot}Ie zfNW2W{ot{fEk`rpQzG^Uaov}&HTt;E>n0Wmjf92(G`ryb1ME>DpB9p5d@m{mzGG*2 zRy9iIH4cB`lY%{AVKh(BTg zJFh1s1s6hdWMa=n^@4k-JC(o-mV|(71rD)|`UZ&qdKfSJbC>ML-4NvNeFsd0{YoSU zRycP4kL-{C0v<2>v!k&;o4?G02EC*g`zhX?H})q4`y>8Ti0t8_dVq@dpc2IYRUzP7 zfiAWj|07l}x0G5i4wG9YavFVKtlQ;-XND~k;18wSp}4CtMdIZQGGs!8(>%Ya(p vxPdd^OE|9Q1!>&X^Ll~DgT8-n7di8}?eRQde#Vnfqd*($(f>k@Bi8=`X(qS} diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cryptui.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cryptui.a deleted file mode 100644 index 6d508374e5528d9dd8f664b185959c24700e5541..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36826 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 b;8`X$WLY0fmyEk_VHn$Lj{Nu}3wZw@h%DSd diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cryptxml.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cryptxml.a deleted file mode 100644 index d94b99a80f1c0e0a6ea3567ba99820c59650f060..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17074 zcmeI3-EJF26o60craz&jzp7ePz*K2f31sZlT_>n2shmO!RE?T|iiEUr>~-wcf7lyH zD^x`lLR=tJ@d!KtPk{OWJOEcb1XoSf}Xa zS9%Y-?pCX5mu*yRIbheFa`n~z2}<;*_gc-boL-~$aHX-)F1wpO{BOI_>e_>(BA@gP zRhA{?j(hX=_0oz{={c^csL4c$J6)%}+PTrLV1pP1G?A{qYXQDoTCoxU0Q#yIlXZxY(2-+Frh@IiT6`ul*iT^zS+~r{}aQ zW(%RdFH-cEI+aqV?K)d#A7BARrj)qe-01WgZoPG@UF!rZtcyjtPa5s2F3~9p%0Ce@0FJV=X~?pkXFmoe z8CYJ+R?BXApavH#!t%51dcQwJ4Yoxh=TOg5&ciRUvv!$q?3ZrFpcMVMBLU# z;I>%cPw`B~=hnh@rhY|I{%>yQ*ll2PitYyQ>x{<$^9dU717a&b<2;@mtQ z#*8#jN+UYW+J|~J9f{;R^A%7X1ET_JZhf=;fafrlw3eny?gH(sbvfeS;~_X{E8=WcuDb%kA5zf%g^&cGR&?QbLj3$yMBOG>KE)Da&g1P z2U&yh_214I)rDON=_jChsUDwJf+Ly zI8>gT>`4G>TQa*39>J{D=n7bh+kM}riyYPx8uzTuL;$}deun^bbQNSFXDg`OR>> z0QujA>q+wI2{|hH$7TPsDH@|>QfWWVu~ulG^>XNtf;y&x_Ca&hSh=<$a=lOpSoEK< zuZMBHrtq+vT;Er&yA#)LxL$zk$KiUC>oeGIqjG)B?`iFg0$IUH<(r;t6ntwgn+S7L z@CZ}Mw^nO?mb#+LVt8L9E%}wG#0Pztg!oz6o#POHRQA30N^GJn`dPvqgHOCP9+;bg zEldURTCH{9by1wW7ZTp7f4Bjc?`&izk)>Tk;p?#QZyG)Cz0%!dybpiJ9jixkIU4WD z9F;~zU|dN1KF%EVh~(W|kKl8=N%d+*nWLID*UfxD8mFb7i$=bc`0_iFKaOW}Sdy== zs_hkDUaz&zydjH|_nf2}F?6sy`cc*dfP1wBlKACE*2StF0tqsc|2d?84AGGl$U8S9MJ z=W@5hp7G#`bXn_wSyx0cTJ_vQ!aLagCWO1>2Y^{<~iD0QiPDPWB_NxE6Ej-pFJRjko7STKjR> z-!BOW?&zIli;r9PS@74Ou6a3hNWl|K1^dC8>+pxjT5zj??7V?@JjSgO9q0w z()SAe!J6yzhsfikKk8a+F=+df_m#fia{>p)sD95rg?{$s1+$EkyVK?*HxSCcgG*ix z9a2Ca3<#Sa`c;z1jFazV?UnU`VYLJA<6p=A;I!;*^SdCTVRAViW$o3hxo+D7(m2VF zxb~XtI$#6De77n6nsIg=q$K&~w{3fee6!{{`2lI1=3=cGPv(WOo7UBg5;FHhrAk1%6-q aUl&g@-KRa4eYywlF7Rut6RzaPK>17R>ZFqZ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cscapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_cscapi.a deleted file mode 100644 index 0bb61ac7d81399feb874c5adb25222e996d2bcfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6628 zcmeI0&u`N(6vtoFjvwRa0S$xz1vGA`q+OR*2u(v3V;~`hCT>Vs+NNuul&Z;KLui^1 zLI~}!1Ah>I4=0Ws5b&PuB+lZr9j%5c%~EXF{<@BzKkvoK^}BYj-ddQxt;bVgzF-zi zqgjKgegT}g#II?r({<)2zs~;vpz8w4>6-aYmt|Eg z>zU{DJZr`Aot{;F-Ege8ZpZGr7B+5HOv@};ZMR03Xs>&9>b5PEy>h^6Id)@||A8mX zX4~yJOK#ioR(-qYgJrp|x>mAXZh5-l^tMp$Z+Q1N6(i#PDI@!ji{04+$6syPJ*R5d zTW)9lF*9Ys?BK36?RqdGwY#ykRjc{=*8xds z1QiU!G)-MM=QvTizBb+XbPS0A&@%w%SZxaOzO(7GdU~eA%38i*`*ym7^(?~5w|vd> z2FPHCbT0kjY$?#5z)BA9OHPYm1iJa4oph(ub>%>J8Y>qRx}ZNOtE<&}D-ZLHb{iny zL^4Ik?>_+RnWp_RXb|nPz3A_=`{p2-Y%48IBiSjNrjcxvV;Wk0JPA88`%Gb1Hj}Dh zwjlztnN#sU5x-~-N~F`OL{k{mPmJtydA;(%i+$^QVBSk5yIzF=kar`gzi!!t0=GY1(M z%`0*=Kh75P5x0g82P)s7Sa1vbp9@B*(7_lonq%~pq7==bN;^@M4x=wwzJ!xCrFkLJ z#iDryHC?qX^bK0aB5K~Lb!Kp1#LTkL1Z}wDZ+~vmuf4sfEvik$p8ot?Le$WloTQUj z<0NwGXsqB*dV12d*<|bo*@i6AgP@jKi)O%4Jkm!|JZNDSh_TMrN;}W*h~FUq&CXe$ z!5SsxX7c25frT5BDi1CKlcPb8(@s2ca zKgKuJx&-4N)Vh%IE4aRcGMKgX$*f=FP)n>Yh!!d|*uh+8J-+hf+sD5Ck>7YC z_UDFVKN;VT*q;sAzl{5NQ1-KF1TaD-H_lTWpcKXVJG_DA8ob9cg?+{QtVI48&PEaU z#o@RwCS(3rjDv$>ep`x_hZ*zVNb~lK`8#S|BIbWl>q72t;9ee-do8y6s_zy2d@!l! zoLND8#Q!7FLWKsqn9KaDERcKxC{<&84itv+2eTr-1M@S`XJllMKdea{9i~6Lkml{@ z558KL@P}=+F7$^P+}nftLncOp_zcHLncQc0R3XGe#V_Dj@QC^w5I=<{gj&v-vB$@^UGK&UvbrP9c=pV(XU>^#z8%kuFMQVM zZnQq1x>^p0>O$418hUMZu3Xkd5l_qIsy;6T<+UjQxCAhH2jI{_fT@czPX7Zy@x;F} zp8gwv;@LlCJog6x#rJ-d@%&Q&iWk;ooLK~*_z^yj;$?g`#VfC5y!saa#o6CwT=)%u zV*O_suQ>qM9MfDf&AYDEbR#_i_guGK@>1ZWXaVWk?ncLPtc@PInW={5q-nKrM6sHELDRnP^eP=iDQR3% z)pf%#%4K8DqY~tj=5rk47|IjK8X|W9Dn0Bskxx&`u(DQZHhPV86;ZMXD=#bSt~)>t zc1h2s2hPm_}6aVUBP zuU-S(pV(|X^aY-r`->i5iqt`B+*ewf4)aqfO^5ktQs|KN;o$jE_~!r?l_pYkgl`A| zrHP~Ahj_oJ4hp2B!A(r_V0c1oYY4>F<`A|b1c)`z%O|O6F!_HYc2+b4lQYyBY}Yvt z0o030i1qdPmFcMwz{~wS>G}ESl@MM6N@*;Ygny2SToxR+#J?}9V-T2t&0cHUc_<|U zNg+>@k^6vk;a!P!@-O)`2%Ixyn`7t~%07ksMIix+_`$eoJJAPF&4pG46S z%t;hV#L;~o_SiosRauJjK5+jDmIn{9!c$ZO-X&Q+U~pd|tPkN_*h#%ETO?ZuK($Mp zpT-;o8oyF*vXO3fJe+zF~2Fl6pFLI|;w{;PZ-%^AE876at(tir+HP;2CE6Sg+p4 z(%h5d2w2EC0`&L@_ytihXaqDFa`tlsIIP}&BVZ?4FE#?6CF`jX@Gkb~up{6^7z6D6 zyx8b}-@|%<{!cv#T{L)tX$bwy@&xGf(mk)nDCVEfhI^wnADhwqh*%he`)?Uu_7nG; ztloaO-%8et;r@qYJ%xMvM;{jV$Eo-EQjh=mM5@69yhbcmFz0T_ zk=5riqPrfSum6NSJ_y}w3>Eu{?gy;ie(3Hc>&4LhG+9rf`)%yGVbOhz`Z~5gT5Lu? z=ixa(xLRhw5)FD1;W4Wf%;P2bG5KsptQ&DA-^KnPg!MP&-SqefSf3`Wt5yDDV_dG^ zaTdSmp`I=pG%@AYDr_tJbL8)8Mof?STlA5nakU!1C;mQ4y&T(x%>8s!v%nfPTX5UB>ZO&qhB0i5|E zM|{__;(N^C)JpyIfqI`=g`+v1%IQSYCloNYPa<6a(tEi|v6@>o3J z^%+k>7Y#Ns^>{t?3~-Kf^3402<2gC?Pa2z#GGm#fe&$E9?-iTHGp?$HEmrg$5$DI- znfEy3t19C?&R|YX^U-0~4NFmk)5iuFihO449Wnqzz~8zQh*X0vUL)hW@3$8@a(UJr z&iWYX)LCghtKQGFZnOfb^)+88M908qa1jOPy?15lR#Q~d zG_%vwh6?HSuHF?Y>5fXb&2HW53l(kw)otqg#`eDPU{iN&b0EkJRd}*@EJt^YSm{s| z$#3+z+(!4%upM)^jf(Jl9#hGF!(=1R=Z|oUN$!^6+_LqiX>^@Uqu<)-qFqeO-m=WD z(_go(PTjJ){Vm;Ti0aDnD{7@~8#vl^z2R8)L!tBG@<4LUI5ZnZ-NN1soQQn5cKBBb z;>?2hL{eehYFqYpPj85djMlLyTbhtI@!0q97cTwwZnm0hKwxW)eaP#hB@0`{ENL3f{*Fpff+ zra?}Cbf#TSI_Z~m8YD4d@IFV_XTl!EbSCcuSYt3@-ic%_b=NK8s ztD;|AW`lW*W}#_UoL^8BSj76DTt4X}gOW0iW84+u6SWYRj)M5?$6eBT1smHF+J!(a z6vt~Q(~Fn${es4^iZYMl6Vd&GMPK!fI-zl~Rv z$bWgsXY8IIBxvCU%|J%YSI_Gm6!RI|rIc(}qHOON`1g zj>tT`Y_?U$AFE55};TaLNr{9TvofO9`&V2uQhzW4u)PVo{goc|Wc#c=Ze-@1d?vd$N|=p+GtaFsanVcx@f8Qbn<>i47TLjaaaaEM1XcZrNzi09F|anYXg-D)Ac&E7Uww{}JkgQb7GWFJMRh?H8v$Y4jrf Ki8AN(f`0+n7Cj~a diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d3d10.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d3d10.a deleted file mode 100644 index 5d2982a041d881a0c947b25fea780e176c91a0b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25822 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 ntjB&V>s2u>M`V|EgVe|hB?vNBX diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d3d11.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d3d11.a deleted file mode 100644 index 07bdcf7b72d1e1e279319aa4e2141428fdeec833..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28176 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 YhoEPX--4Uu5N$6oUCE4e&+m}`0bJsFU;qFB diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d3d12.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d3d12.a deleted file mode 100644 index d77ff38dfbd93dc0b5d75ba8c09e41e942b5f7a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10228 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 DuL1p1 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d3dcompiler.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d3dcompiler.a deleted file mode 100644 index 7202ff53be7f05efc54f253e48b2ded6caa24929..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23390 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 TJa?Ww7Rz_HQ@>uC71#dT#f diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d3dcsx.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d3dcsx.a deleted file mode 100644 index 5632c6a5fda044075ec6f2e9c923cbd2327415a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9006 zcmeI2-D=!M6vxkM?Zk1?ui(-UnxaB_6T(*7T}v*6V6ZW{DyB)H7X?|iwAoE|*T$>R zB^SYj5JKriuKF0g=o92&`W#KqIirzA8fh)>E-uD9Fr)FDBaP~-6*9m{RDOw(eMTAHTgHscfaRsmoQ!1xDX`A>kAzeT?O7Xal?-;4ak2>|7_ zmm+`l41n_OK;%1504SS3Que$p&--~49*?};Fba>ot-~Pne(MeWqn?M2;|<4i+Frl6 zPdRQ6TEW3+?D-zL4MOm`p&!h09oTMd|6fa2SQb;{$&Pp4S^3dFA$u zrQ`%^R{eH%p0u`q3jKb;)l-{x#@6BBs2`5YPLk%_dCdtu#Ww8>c`1GHczexlY0jNz zPv|MOX=lhw74~G8^;8@J2nK#?2YEz5BnWVu!tP!p@FTz6g)N(~`=PNv8lB<>C*;?o3*K!@-xaJZ;eDxT6D;YsF5AiP zM!BCW{cd1ot-w#(&gEIFnl z%|C!0E=6I$?^v1reLAta7g-q+Vyc@+D| zHXQMXkKfT>?{W2}r+ZMv1G-Em|l(= z^?+vy#ZT2-ws0ge%=4Iu0C7j+4gsil!TdK^qeOFAv^?a$MPa}RR@AjhcI5hEC1;;` zJ<9I|X5X#EzT<9a?7zX`p2q&KF%NV&Pxd=XzmwQMD)!UZe_8C8uupnF~{SFP@3Uz;nPyIB)_Y^YDlkjIs zzmo`$iv2XgUlsc$gx|uacUHo$WS)2W<#~~n{dUZBN_i3@v=}hXQJ#)kM_sYak@xjV zyt|gp`(ib7H+h)TtY(&V-sS$og;w@E8uJh07CIR43QKi0!(7Xemtdcm=SY6L68X+T z>G|mi!B2L167r`}`lbByk9YnqnbKF-3!VMjH(k58D)GKhdd8i<&Xko>!uvEzU)On; zf_B-IKHaV_RC>icN2PC8B7dRulgXb(>5V-3@h>lzOzA897Bx?$w=40!Q2NQdPowlT zo%hSC^y$x~g-WlO=cx2nCGs6t{oP9J-YoVf)34c^I5Ez;d!v2R;WaL@%F`Y#rF7@! Vo@n6G0Q?a;Ki5nC4`6m>{|~gXQWyXL diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d3dcsxd.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_d3dcsxd.a deleted file mode 100644 index 2f687f88ae17211d4cf4ba96f9ccd6d491563e64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9030 zcmeI2&u`l{6vvTH%-Sy1E=j}09XMq{smb43t;IValHRG039D<9UWJX#j)}d z-SN2gR2(-R1JH4^Ck`_JFayuq@Vp<#;nCRJ3ZwAI+c*e9?@52;AND=0oUA#X)Aa`Z z9XjIrpcCwlCxPdC=r;_(>xF*sRyTsp&gM_Hy>S%!QTQNyI1EQo7(CeZN8ow=;h|S< z&sa(>pla3c{{0_1o8O22py2MQO}k>_V0btPCuJ8&bMCtKl$K(fc7?o^-g$hy_NFxF zuCu4K6x*~bcg=i0-6nqj-IFuO5|g}cbM0rUCYdDuYlQ3R*@yM zZf8wn*1ktlIct{ z5a1imMP|S;7HW8<)-pYKc8o1dYdl3xQgqi^Rc6O!?$R+14lQ1aW(VoPZL|k5rF1gE zs;KCwz=~2)3q|R9s?>=BQ|!Cg*hpy?QooF%uc6PR*e{tK)Q@%a`J>p+kM65f{9LNN&lYG?lk%ji~ThEpBDQi^pj?umj26G z252eIw47J!Kc#`jlv00NRB&#<0iH9|Px+>);Vq#s?o?y^4lay1Z7&Begu=hXaX*Ri zZH0}qWc-oR?li`uVn2=X--`Vb#;@b}otE)SnGsLFK+m(f--xMBIZr}_76X3Gah~>C zS9Zl#tE#V7BHp!h;^%9cTgh9_OTbUe zwX)x>#J)3EdmcX_`pJ$@!u~93zmO*&-UYm1YF}YrwBGeirxNjVwP)b@TSQqeCB)C7 z_D!95DQXu@?bFTsLbX@SwW@u)68m$tpU(a)YH#G(kAI1|U}|6Cx2by7-mXOaTcPrEH+D~w5oOUNi`?|w>oM)w{9a~E2 XF3wk?f^!3gc+P##mi%u(9qRr+fz?@S diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_davclnt.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_davclnt.a deleted file mode 100644 index 5fbc21695fb239b774308c5702839ae501151911..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19178 zcmeI4TW=Fb6vt0C36~TKg^)r;TZ1UA5KY&)*hz&D;1r6~1`CMFLse&EZ?GH3PHiVa zh_-3fQXY8VxljERedf83{R9;sq3UA=J!fX;vOBx+I;?_L^+>b3nK^rzncw_WNenDZ!?+f#B`3Iu{Z(%;{e0w0rvg{F!G$ogMR{0 zJp3DvM;`-F9J|lsi46dXC-3n1?pXker$>1_^A7;U_y6GW-0uJsKm3(P`vCyO$%{PZ zE&x!R9pmxBVE~F3|K;(D1we7`Zyv8b1Gx6AR4SB83vIX6E*0I5+bR{B6}PlmYdCAQ z5+>f8$(3?brFw0NqL*HAHp=xzr{t8-ZqMKW{di&SIc(dET_ ziSxxmz1ensRjX1k*J+g9y7q9Q{*8?J;^j(38BWUk1(E}H;bt&buYc~;M1_jK=A4a% zM$5fhYa@)8*E`jMQ?D;MF~|GHYMYbQlo@U!P??Uh?=PT5^(J9qu3 z1+vioYRg4Cw<2@Yvzb|FA8gb1?dC1Fh22M;7j05mUHzsr-jq@qrIA_N&gD=YbCX$5 zR2N4o5BC6t%mBb4b~Fs*9rs>`9Y=36P+T0xns=g2Sk5IVJ{@0bx4W3Z7THl#I%lSY z?LIsh!spV%C9s9vv`8nr1JQPQVRrxzMnmjGzSvi|jE-08br@eJMtFGs0^shzva=!* zymY<3=<RzC;XQ5=%1%xyq(42%j`?o`(sD?Ej<%T+ zhnzY5)9W$DuYsxkpw}N$dhnQKHAQzA6e&u@MG7muk91Z}YIXiZ{0RZ5z?^jc%Z~3t zG9`mYB3MwyL(Q=lo~CmBU;agcDL!M`j>+_N-eCFx7O5N4w>1`alj*Ot`)j^<9dok8<=;dYYdF>JA3X+G+;v2Qp5uajo7-(&>qWZPZ}?JS@d zDNeSp)H>q+j0BZCI}?}nSwp$|te<%)){pR37eh+kI9a+`KkkvOR9wDBG1k`w>w!{h zum^LJq&**x_PlNS-j7l3x+!}_Q^eg=_J(%f?UemqxSgTwKZe^$+D~FD_Nwe}_-WS% za#OADZyUtp#DEMIe2>RW-38Zr$wRRBWhcpgE*|^2yy?~aggkU(|4WUT-DH1RyYF`F zuZ7zg?B5T!lk6YC_Ux7Y!<+y$o{!f^vqv-P@vT(;oR>m73s!N)D6xRtR}G1dDNe-XJ7@B}h0@l|`@W-jt-I-cr(xFT0JgSTg_CZ! z`P{h9_Gus6E@NAjR)DRgB&phQ=Q8^v<*b#G^if_Ts)Osv@Gfaq?sy~RMyVy_!Rkm< z!Q;+x=1qUR@1ZCUg~kqg^~Xn$^}xc%RC9iese!KI=e-o#SSf* z*&ich?G>fxJMqHz2V0zxklytv@x};!FnbGQ1LP;Mf=kZr+i~YRr%XS*zfwi1IK7Yb zs^a_PI`p)7DPpBOb$06O4o>lQ55|&j?k-q?;!@X zZ+y~ByijaK{8`C6>3oe7ua#C(uBRn9mSV@8z0BMCmp*)5cwg5Q*>CND>|r81^oz8# zcq#<1xkj9R<0vS~KjsN+Yr(g;k1Dz3J+xjD)%4gio#x7vN9dMy8yjEbuW8JK+s(1@ zG_1EBqV^AdbBR=>S=-}`B8HS&0w1i7L|KnH&zaAfD-fT=V7>Z^SdaL!fqm&hVnbiq z%;2-pJ2VBplWR|mRag(h?c^F2@>qNIUj~Ww$S;D^&3uL`6@yaxD?EX1E%+Jt+m&9z zA6Y+%_JX*xp|hs1(^q`u>(H8xUVDM%aUefq=ik1kTJcYKtSkDZpkR&#o09%Osdemw zSxNf#apy_Y#f$b6yJVEcgYt*xRE^FZtibB!PbLA06d@tpET3 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dbgeng.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dbgeng.a deleted file mode 100644 index e32cf057ae8fc0bfcccfe0f21413cada822f3083..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4784 zcmeHL&u`N(6n;%Q24yfnL*f|F;53!=$I=}TnlwN=aM%UG0m)03^oQ1UQ=74g1KI)Y zz-fQd{*L`6oEYyt+l|vETSu#*NwXB&dHxdH&)@s(Z7bv@5>9Iql* z!ErVV!SNk*Jb;r!zjAE`icxqNaXmY8U}Liw_>rFt;g(g{I4#!u{YzkQM7TD+aIvbf zcd?SkahYiqT#Z}ScEZhN<7yf=hn0mCoNm{pBuX*pbO4Htb|+K~f6f7#xrV>34a#o% zi(YRJ^+7PxS5_9r@ROZ|F?^I~49z~7lponYGuUM3GBNBMVt}2ypL~hBqdq7R#)5Us zrxAP1*w*-rtyPe=N+&d9J@oP;8XDyPH)G2@49pg2G&rtjiUG8WX^ho)vovsn2r%1q zop8E7ToS`=pqygaX8%0k+BiIJu`VJU6LSI@QER`uEiKHXgr{ke*T8l5uH-uTmwXy0 zQ#0h4N7&C`&0{Jl{s2C3E;9>$VP*0iVQR6_cQI8sKrU5tZ^ej>S)R}lE)8v{X|X|C zu!QYj6i2CWz#UV~QGE@Sq8`%HQLNGf^(D_&v9r3-FT}Wnny(G`t-2hM93h^g&?0&M1Z$Kiex>CV-^SbE}Rp}QM*QwPFqu-0PdM_O}qSfEiaRW}%{(ewU9T`?2D3 Zd>UC)7Ah=gU~aNIA=~;F$i#nc{sP3P!yy0w diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dbghelp.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dbghelp.a deleted file mode 100644 index 68af1dfa6a1659e819cd94a6041e57bdc38c92a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185684 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

    algg<8jiKquTj#x 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dciman32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dciman32.a deleted file mode 100644 index e73db18bdf07b03b6d23a4c6b2b690a342e1a2f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17342 zcmeI3TaVjB6oAh<+uPFnjS5heO3Ou6l{(q1lX9uHWPyU9UC}~$KzQB6Y0_qsmE&$N zLe&Z()CYw6D|qIS$NmhS`owSGfd|@iW<28=+u3+iYmwEAG-Kz?iN`bZ&GGTf_{@in z*X&%JJ73g8d9iGjEwfgs7K_ z@m?r?aFEB3{so}8gyk+hv+ag$e=~Hwp}pezu4gv}E!V!+?K|sT8-@4lmTgt-UiT)& zK;CM0*PQ-B#dd5|Tyw$hxK8Wkt^_x_{Tq(o>|9-U`(WGMwRKw)i62)6ez*M~q7ev% z&S$RQ=ylh>><;~iqM9SLm%FWNzT@8=HabrK7S={9Jen*1)#wd|QC%*>GEk{Cxc9Yt zt2^i~JH8WKGbsmU%Z(&WO}gCp{F>`u^P0=QT{?<3P<9=cFgjqsRRyC;+82q6@5jsAmhQ zNbay_Fsfr2=mE78O*duYi^~Z zy=GRFw@*&{uSmc++FJ@GJ4t(ADR(Q{?{Ka(STeY~I-$WY5kw5j%skf8;^Fy-#`D|&PeHilND1`R? z9WG$00k`oeXy>)n84qMxl3h(n_SA!6eZ)<>oS~F9eG(7mAmEc4yIY_6&$m5KL7%HT16~cv)f%gmYw|29H&aqRojqq3DKZ*f%3GNWD3`lk zu!KBQo@Vx(+iY2574cA*A>U@&RnMt6o;lz9h;MCAR=)X8Ky$NJhbcZ!wi5^Ier$+UT?^oYS2t)E!ZeToOFV&XhfzV6pu**ZxPEohgie zQCkIRDaw-TlxvyR)G}|$^(2;gH*wAOZs*7{2lqR%W#&8Avm`j}nxuuFpvb-8d^LW$ zCK=B3;b$(}_APcXf`hLP@c(&!Gvwa{sIz=UHsX0=KnqW3ypHzr%7#?tGEh_kfYY1bg9jI;jYuZHmz_emHp zgp7+%x?UZ|MU5kjOL3Nrr(T7Oud_eK4kxcN>3bjAyG-9RtSa*bJ2~%>hkdbz!npiO z5!)@#KFaHa1BTF+n_R$B1AIKnr`J_k>nQ1AMwYCnUW=UiEYw|D+VdIK>)Kbgx#m2r z&!W{hq+Azg$@p|7l3AJvyRmufaqI1q?3-eiP5l@g?(4U1_ziej{(3%0A(LwWDa2THNVbR0O-1C^Xtko09_Mr_%-PPOnRodV45$R zPNQj-9M5T(3w7Hucift_>6+NNJ7bte!K}I~bou>uxxTS!S|*}4955@6W%n@+EH2=5 z^``5&_1Z$iu{`JbR%6vFJ4;s0uHpiwi_3LFMaLJNZMW>?6Ym$}Nq6cU?$l#;&gblK zW6OOHJ24E`h$Rj_UAK5LjW}eaEY}>AnQ51NV2x3LTNc`Tb|Vx1uze#!|Y14*#QQ7gmY=a zse-_cVk3k5l5HL|ftwcngd0!B6$Ne_8xt`&F)nH*ldN5>Vn=q>MJ99ma|E!KTD8_i zhu<&zi>6N>TZ3S-uaqQ=WmAp{k3pVQG9HqGVHDV7)YycEmNvg7>1 z2gB7IRR%?ZdpKV88A_E3T9>gLW3LpW*kUooUKpc;*h_vd;9}d-x)9=8V)+bW_Tq7Y zGUy!hi1`|iGsL!TVPnb1h(0{=;n8jSb#M^&g{_g6_k3Jt!#PBI;JiAAEzV2ML7K~F zqx3GNZKR`b0+4;m;y(BsX5OO}@Gc(r!DDVv%a&{8uf$nmA^{|ge@1zIY=Ll89)I&{Lx1An#<8cu^ ze2m8hdboz?>s1e#7&eF;ocME6b#MdsP8R9_Kf?l3-~+a!IuIvMQa~`?@8?y>{roBS z>9KHX2l@X{xSvjBfX-s)|H%E$-`4|-`+B$B&qeZ})3`s?SKL<;xqq_rpX+{%599u< z-$RuG@3BmZ`!WCT@bpOhfi$?NpX-wO`Dn)T8$)HMjAv8I6o#4cypz^#m+^dx$3>$4 z_jp{u{5$wGd(C)KEze*2cTWDNk8$PXWSZ%m4rY diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ddraw.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ddraw.a deleted file mode 100644 index 0ef6fe93c6b063ea1501f45130530593cd378d7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12070 zcmeI2-EQMV6o5~iw!1Cmzw9mxNI@(Jq$)W5aZ-d(tGev6;-X@;Di=tun>ZviO}eSW z29Q=2LTE3z*azTAxLWZPJOkHU?{dzJ$1}CZiJO=rOBrd#lbK_WXXZO6XU6mHr*5y- z{A}^#;`vbCC|hOAtgNmVizcg5(_*o@Y6UkOECRsW0EI^Y^CrN;T^^TK04Tov3XiWo z1E9G450BUX2B3KJFCO3d6M$mz4<6t99f0Bo9Ued01E9E4qUbm~j&uLi>zz7#p6~UX zoo?N89=1B}Nz1{)LDh1sb*J4rq!^Uf>pl0O<2opH?19tt-1-EMf!m&cuitC9HShCY z_t@S6$7vm(II&_Zug_fb zlp3wJ7gRiZ4)E!#NnbMY{?Nw|PYfO`z zNgEy7UK;mxY^^ua_veBXz@GfrWr41J)Yy{4c z&iYC-&)qWkmy22PM|!!C@f+B`i(2tT-FkDMTfn?>{${|m)jPLc3ge%8x{wBH=w#^ePoHQ)hWrB@U7nlD&&6_b91l)EzKMmo|r<15yw4=+g{ z$A_Pb&AIqanQz+hvpx%w_D_Nmx)|^irctOx&-KWMwHb21o{szJemk4Hh_@eF_+_lU zsD+=6&3?XlPqW`1QKMFO5NXK|Mi&_vhJn;ip7Y-=&B>62Sl$v%}8IWVr^Nej}xE=fEcK zy!;p6NDYwZnSygqxu!am&5j=F3Y?QzafV(=+Ha(5F`GR-1t7ig*HB9?>XpnWgtNnW z_>4T;?bpdvV31z;hrEEL2DI=hbvpTsVwUzh<=4^aT9eID#LkBv$vA6Gnrr=8(|l8& RYOR^jb79W)<1#t-{{ns~LInT- diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_deviceaccess.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_deviceaccess.a deleted file mode 100644 index 8b46a2f122d0ccc4719173bd76388510399411bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4238 zcmeHK&2G~`5T5*$LevV7dMFn#5=b0Sa7yYF38A2J00}{aKpZ!Yvn8f!QrV{TP*puu z6{ntf0G^~zMwyxQ+Uv&oK}1DJtmNJC?C0H`*>7gocb~d}*LzlZWMxZjz2?*$yRlZc zEStN`+Oi(6t9Q$4R{-EDK;Z{KxdX8HO+A%E0D6{>=@DX6h!3F*LeY|u48-QJE5%oT z;O_bYmHQixaO$G(cj$@rUAgCb()BzUhQbvH-jN`B((V5FXwV9VH17Mr^|od3PVNl% zaB$)8?26p3tn$?WZHe9nA6-An{VD_445S;$7i`XRHV3;Sci`z6Cjh!$sn8^rSZ6i#;u^Rl7rLzx;05v?e_bmuWtE$83TTv z1AHoMx!YP1>rKDWG^Go35zO>iaU90*S7{u^@Ku>Hz^+nZEQWnVOehs@ zW(SGiXbvibDZ(49=NGTc-`?!}ZPYhL`0JprZ_omv{I~hL#>>Ep_(uF)jd?(Ona5v^ zH(LXj#Dm$dWx{FsV!MQj5>QQ%U1I+%vos5vdz?!Vj)j>4TT$=JU|VUJPZ>{>k(a=D z_O4<)`Imf}7BhpWHIKvqgEgC}r6>e=&9$nE@EwJDog#CNlhDSp#=$Z*&p*LrpXB*P zHtqzsiH_sEIHBzD5c}IPU#YRco-xm3UN-U;&5&1)()^v|W!i;0PWIWD7gAg%&u<_m z%Eu*fLUuF}bC{2F^tx72co}1~4lO=AzfW(cr>QQLiutz!W)aP+m~{;$#Z1LQ`ab5P zakkRbrO^`sOh0n|hnU6eF`5CtQu#m4?OMZL$Z((SrQKI6QY*yU7-|&vZ=pnmVp?eu zSF+{+>+IcT`dw&V(Zgp0bG|kc=Nq+A&Yz;G(>ULYc|gr&ay~HToy7Trd|a|on)Ao` zxP!*@(zsc{aD#8g0S?*`7&-)w50_OBDlE#7k oKMrtD6wQ-=flG-4fC)cgxF*V-|LPeqOB_tFUd6#Az?|aX7o6s;nE(I) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_devmgr.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_devmgr.a deleted file mode 100644 index d7eac596229a0f8e53c24a97c44018060509f6b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17246 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dhcpcsvc.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dhcpcsvc.a deleted file mode 100644 index 28d840c1c5f4fdbc8bb762cab9ff0caae31c2b3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53862 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dhcpcsvc6.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dhcpcsvc6.a deleted file mode 100644 index 32d2a6d64f086022af18d358df77157ebaac901b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19516 zcmeI4>u%gc6o5~5n_kj;NiS3sEvS_cREswkZ&H;iRoX&C1>q(kgm9d!x7l{PNq0AG zS`d_rP=EACAAlb`0OAo)AAkqp3HZSe$~klK%-G|^yOP=+6LqKLgnR6_1B*0#H2q z1&`zJ0Z=@7iO17;4#hJkc&y-cD8Bj^kLUgbp!k}IZ~Os3vHClYwch|JPW{Sb{TBd= z7k=XLt;YZq=ej)3HvuSK`;^CpIe>*Z&ztwWPkKSO=Pd^PpzF=AH3IKmtK+Y?JWSl2 zaXoj+YqypuiuA_n%KA$0?uzUA9%|kWz*`Oc#=pE2T*1rUbw3LFl%M&w-|KU|Zf1!7^<1e>^hM}rb`BmT6xCzW6L`0$f$6bFVi02&DH3`?g)(wI!3TqKt&NK3F zoFYof%SktHb#55iri5Rcr_r%Rl_hh%dB3v~wBKJ3x_-a4)-jZ$GI7S`_0~eC)o=Oj z)&qRHwWo026e<0A#H6!fW`&exI@i3sa%ZE}4Hgwm`o-hY#;s0sxnEtA_BqKe*Br-n z-AcustP4ZFG}icWH&8e`0&tiejY72_Z1&l4@}>fdOVx(o_mfqaWDXXeR+rIAZ4(}n zUW+bxc1o)5#e-d#FFnkGBlV_bI_Vuq)~idsBX}@w(UWqyZ%ET!y>k6JCRUrRb|8d* zKLfZi()4f11d*=S8Qr2Bxeux7^;JsJ(dw$4q@&f-E~Y~@U1Dx%DaGP*fDTF4i=)EVA-{lRLq(ftzv44d&~V zpnzJ^My}M?_nKb#BQn{YcJMsMo&csSS*ATbgXrI}E#H*j2_9tPsAcqsuqUMF zIL<_kJto`Q_L*7Dw(nuZdV~#xPBVu16GB$uJj#~@skEzrlhU@ME!ON6-N6FThSg?5lTw%Wk`Fp)H?7nS+>mAW>Yd>E11Xj z;zm5|4TKGP0%e0T|ALKqMn--uJU#mq6!W2bim4^Ihg)vp4X%xjY($bV?=uDO*ai`f zcf_MP7HN4tcE>$|ym~Z)^Uh0cv+zQaG4J()_y39aqap9%xG|1|KR>+dr8aptBpLJW zrsI8PGUm_xfJSk<9_#1aa5DS3lReg^cHgaftm}5Yn0*9-lbapZJRf96P>ch<|x zt8FKrj)L-Ka8fV~C7|JD>C1#fM?4uVJ!8(N({Wz(RauL1+~a=xFn!g-VXO1`x96>| zYL?ox>=9YU%ul6czUZqG^hwMQ(^oxYV;=93=kb|Ae0PoOh=n&K8S_4wiubw`_hlYq z<8SB7G&CPzCw-ZYcHgahnN7Q1%$NDjt{3_;G!8eYFLN-$yP6fxH}fx%VZfk#nhQLE zZAT}#c@syk_CTMMgBO~qeQ*^Juk6D=NDa-8cPYn@cSXSVhL$Fv*)4W)+$AVB`Oul5gKV{VK9}$#v>2(oDRXe*m~X0q+0+ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dhcpsapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dhcpsapi.a deleted file mode 100644 index 39cda252053b6a1cac54527935ef0e0099301cf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172106 zcmeHw4Uk>ORc6nV;@HAC!6?cv@yN)DF-FWtqcCNQ5H;N=2uP{akV~h#L7?T9ZhQNl94Ui2GAZs9NmTZ6&ORbuF{HOVLv+uBj3M3EB|82t#*prR8`0a3F^2Tcw-cS%#~9MWjYLb=GltZL z=R$hmABeht#~9LkzD%^bnK7hu*Ae~TR>qJXx|!&QW*9?ydsec%P6U-&9xNFRnYq+foX=vSX(4C&W?ljsw0KcwGyoaj@J zGKTcq4-EX!nKSc{l&|P{u2I1`m3)K{rj&l zhV=Y@B>GQZU<~O$LmMIe*N+l?`ANo*{`&=@ubf~E>3<#|dSQ$)r2q4JqOV=c7}DRr zK=k#i7y}v^*+#VaYBqv&)!!3c^A$FNbnWv*FZ&xdf^_|th+gpm8$o*2SBYK=vPiE7 zKGOCt67BdSHiGoVPZHhoaW;bVeV-y4dxni5?S6=;xyVM4_MRlV{RA69dh@%84!n(x zARRnLbog#Ig7lU*5#4hO8$r4c%7ruwlQYG^l7LIq~G04^n1{DNS}o^MfyW{2BgpZBGI2b!bXrjzex0Fa8IN!P7(dP*RTL|^(VHiGnDpsYxL`yrzL24zF~yB^X1=&}){uPzb&ue;d@(*NB_ z^#9=5k^bQgMBliPjQ}+ouOWKLR@Oke`Z}U-yP7qSu4@o|#}3v&+PaNs+t*kF>D6B% zdfn$(1L=m365aSA)784M=D*4sNGBm5 zr0laqr$5FTNDn+t)V;tONbgx98r;PiNbfyBbm2DEKziRTL>FJq8b}YnK=dPj%Nj_R z|C;E>|C}|D9)FJLryyUXCqF^-vzJ)|>6vpxAB1}Q;OY7K>G}D$_Oo7p{%AJHdh^rE zi`o2p+uhbmdma+cO*QA66Z4(+Nu)e|@$|w<9|cJ3Vf^7=!) zEW7jQ{>8-}ltX!VxKd@(HPgKeN}JNmsuo#EIYG&HlqR` zYjsZn>I5bxOs;&Dd^htdnM+sQx0?0N=XEPphj%WDMuG(zjPJ!U^0w~>bSIKp_q#?lE@6kWqUa{Usmr?Hk4?KImKgiA;Z=(g2uvk2Y zDq&u|u)LC?u`}( zL#h!~NWI6w?&=xk0c{Uq2&wm&f!=43@!C4nTVDHi!{lvuUi10rhKiVaALHc^ait^E{JPv0 z;r+OQZfCZvB$mjfNHj7i86-=M#}m&hvI>J_sewpVE3(Ei<&}HO(s>yvNhq83{t8>p zLoh7)NKCp0z(IvDJ7$fA@?ckwp9X(tkvaoe&ka^CKfAh;^*B`LCZq=fafMS#BNWk% zn!8VzmN=$#(<$BLwaW7=?%&^oOzt zxUSW*)UPa_RPL1L_NW(WygVm4)h%zi|D0AD=|;dZ?>^*lfMv=%A4Zk6RV+P9&Qb2n z)2#K9a|~(QW1wvD6h}Cgd5SRHfG#OLzvrQL2Zm)j>dVwzN@%2xc!gt1Yt11^m#rbC zX}YIyjC-qfAY}78K$t^`XS)4k*(oqqi!df>w>o{T#fOMdjxGTud#8|ckLl&^Qu~xv zgZZT;&vu1ci|Q3cJ*uf{P3k;L9=77pGfDLcy)TZLXIg{S$yQ(XN@uz5>wJ;Vv21a9 z|LWlMa<6?s_pFO+bqR4b9}F2SX*{w+OuNti!JyYZxjIlrk@O7w1`^+Or9J2JLaD~U zEiPMD)6hK9!+# zDl`+I^IccUR^4_b^)WV%+?IB}BTuQ4E!XjOrF6A#6zH^ZMPBk%X6aO}^(y1}q-)Hl zla)YuFtU3}lJjxoTBh6_4N+ z+*#@2XlF1tQ8@4`vX5uy6SrNJ)pk{Aci89JtOEmuJg4?UeaU8vOOYMbOaO}FL%wc zPLroTPEAywNV*Z%nNpUcMQcqG&N<4H@HFd#~I^Im845umeMrKqHv6Rt92n{#Z!RG#NnV+1^1+6l$7Bc)xUza zP&j%1B2CR-O4lVRw5aQ3c|pmxU+2h%uHt1Cv&?D<)O5VNlp@_$PF1CHFV%HhiS4*f z))bLVc^zqtg&_mM%C_fcEmV=4R#ya=zS1{|tOQrhsYsV`ZC*v#Hq-6ZQQT9njUwG% z8G>tlLeh8&NNGx7JeMJBy`!~q^QRDX%X=r;r10GG)Z)Im;Zalq9 ztn!Ln%FaR+E|Uv6Zb>uKIEZvjQmcquj@Q8qSnBpb637$q4m17fPS)xjUhd~k*TF70 zWXd#~Q$$?fU6rHdbOEMuiHt{1?ZF!G4l%4MGv#a0l~sUT$ma}QRxV?HXOxtmgKLW^ zN6F%T)OvOf(N=a7=+4v8{Wn6_(-XA)N^&qeJiU{~B;w6m0AxoOePd;<9H!; zF;?Q4JbdCJ75qNu6@tgFfK>>5@jz~K6@bFD&yuO0OXR8}ruS{Kp&aO*O4v7Idpb}pB% zGPvGh7#|yJHk+fP&E0Uy-(gt11k2Om*fGM`%lKa}VLJ!eIauI7^cZDFPwZTTxYST7 z#`dwJ&+a@4MrMuUBFeS#hC3z-(W~K)&G20Ev5$=va(jw&l)Kg~H(AKRivVn^MXul% zzcYuYkIwEtdgsoWyYI%dolEUbmNUQp4aQE5EVUje67qDp&M=EjT0STy*H^6l@y#cJ(Itf0zdzDAQnf!8yz-W5n(03b>t| zpm%XbM^9`iaNC4>#&!jye6w-8i$4aOw&K&kbG<6Z0JftIw}rg?E6J65AoGjAQLgw~ z|Am)N*d~T&)aXsTez0XXc_H~UUjYu{aBx(xrNQad?gNyA7IGcX&TE&@j`fRm zDh}Cl&@&tO=fVY&@fS6avBUgKrv`&pkAkdy52qjfv9VoaQ=}wo+4afsDao$Clo#p= zXr3+nFH=9zYTOF^(>YG@XOxY3+I6tQlC9!dSWXv(y)NxA*8T)!)|2vOLQb*kQy}x8 zU9Qv*EXO{Oxn!4X7LPRwe;m$biZm$kv){N0|9j#IktY87BKHE^?=c{XFn>bUHSiZ9 zlTe8F$?+)lsrU$>i&F2&djlrdC%649M=`HC%mJ<<+b`^Tk-}?3!9FiHqJW-=o{%xj zov?o+{DlYVG^HHk|I?|#;N`nDN-z8ocMXMjmjrtXt_hP#6R>p%#HA;+E}HNcITpaz zx4zMX2>RC71Xt;0O>oKtc&n<^gr=`1$i9B+6LR}`MSa4bTQ#A4?}OXYST$ignin`k zpD;rS{M=xd;TK1xb4?ZHW$E3DAVfmy!5&XN7?Z~iqz8|I8C}aaS|n4;E$({yMqMf2 zVZPBhyPVM@JZzUM_24zou2p@bKNCp6 ztJM~e;^zhIXu?fq83YE^sxZwdGK{&%rLHflS+4Gjn! z!q?eJ3H;n(J^1Cmj#6R?>S}sOl<)FG`Q*5X@-*YKqeMAu$x|8SpEufE+A#p`7qe$` z14p)u_L}poh}W~h z-VP68>2IL~er~WX{A#$D!m@M1&IgGOlyf*^o(SJdJI+zui^i^(p?_b?mpLK%0PE?? zyj#k5m@hN1%Nf4RLw32+%D)O)uPVa-jcD(Dy$J1d6SH;4F+3gul?WpGx45gCk5W?%uYU+w>-VEDsN{JH|Af5fQLh1{x(YB=LUNSehKqt$z?ll z;f6%MZ=^OMpSK&iIORNM*>TrF{=Zh*U$$)<3;A-%P2?-wkjPJwSsS9uju|7P`vC4Q z#%i6<<;Ztz<_I1^ykpqyyjEqq?}*G!I7%<8fJ-E#9(YD((@Z@ztg8pWxr?f!+dt0r z0AlnTY^Gi=u?%=6JtWFKVKKW77YmP@UfbA=TW@4m6uw4#h#E0^C=XXN^< zz`MG13UZ3svU{(rnE=eICD%}|F+<|sH{P0}QA2TG$IkyNfqU`(FKqA}Gv-nM@etlj zIjIGyax@AsuasJYyvhrSc<=bDxpp{tHo~*n2JKmOg!)+<;yEtjouNU^$3q~VzqCk+ zfcUfU7tPEoh}V61f%lNB4aTQDW3Q8A=4yi!ixOzZ_)Ar^|AAy=OU#5@AHk=K^26^{4I%gV@y8F*)ngBks^gXt?`vw)-mO7G`v7X-2St;LP>yj_pQM+8(AMAiut=b>_t_26$2Lr*M zhI@!gDw_QCp_c4lgi#|v{pZjAVkklX9V#(4n!!9 z65u9gy?CRc7f16H{AsW!;cV9nr51*1hAJ3RH#{T6X@4qeQtCF$wVtEEuG(MxwuuU* zonzLC8>zY^uW7CE1NcNr=^g5z%7oMe-`MeZ8b4s;x-_BA_~Fy0CP*{sarX|Rh9(@y zQ}D+zevnG<&;wZ_q!xHak|%eWT9C#M!dF83SG7O*m!=lLR>8fj-_O6n&G8cN_~E+| z@NkHc^kGWi=LUNWehoiKtpSHJXhI?N!86XB^nsev)hpD|hfir}z|UDI-9Kd60K&Ht zHuLP`+QYNDJ{UD%(+5*1pgv6cMxyta{lfB_mmf6>ysG-~FLGqyu#&$1 zbu8<{XSHBU@Z~Oi8!BcWYCBdI9Acy~LkavW?U+8{D7~x?E|HLW;2X&vGxZ>?0~fQi zb=HA@!q5Yng6~KEt`Ej*@DMuiCQ9Jv274HOsc#Sf7bUkVfW!}pe&1Mi+Lws8ovRn9 z^LFR2yD$Jb#oPn<@5p7KUwQY(!VQUh&)9S`y~jTk`E}m!{J4aCz99>Ir5Q|q)TsA= zj~{U@m0CCVGAktBJ)_XgDRUJo&d{$FWjH~mk^9N(8D&`S-F3HtHdOWZf6an-RH~S* z{42RtkbRu7JcUX&fFI%G6reT?ykLaHx@UwrVV#=H<<-=|`p5ECry<?ql-#uODmx_h zedD)j-?^dKuQN0GQ3v*8xAp$}&gs~<*n5Hep!*UvJ>#;;pXac5#%1gH^S_+q9>VYB z%pYrYPi1k>)A-LzYNeKKz0L}0=RM=E3Gd0Z`aq%CA4Uw`0>ccat- z?`@9{bvQ_O4~ zOBS>@HzeAd(qNTa{SxiK35j;^D69D;jPylnv2t=NptS0Wf?qVz9<^OZZw?RP#T0KW zVrql+;EbyY6g<0d9u(z!JmagAX@w*otmi8e*+c( z4q@x}@&D=6V2{8bg{`-gUR3~_Ku8@(5m??V+PD-aP56QPgzN+6!zAFe{&ga-A9SK1 zZv6X3VA1;P@YY-&lN}QKo)Oq)`T`Qy1x-h|okm8TNYn=k>`R|@>(A|p+V1;)0SR!g zm0B_RIxi&Ry<@Lwwi1!;LOhPb^Mv1v*8_fg4=+2 z-{ZzRutMV9H};y|__Or`rG2mC%{*IAuYRab=DdDjEVNBk&gWv9wPSSTxURIRK&B*g`xC-Hhsb~+L};KE$Etitb_6= z3zQ$>Yl3;(#%#|kpj;}k;=9P{AyMubPi;<`yU-+CE^PVrpafNC*nhe}`Jr}akoBTp z`Hq^7hp^?hPy#@vf9w zLAuHbiS`sR<<>?+@w&{r{FDXlIJAw~bEz=zB4Jt!A*q~@X!nkoCfgp`wm)G(JF3~n zL;Hj}9+l7zoRDbujhCi*7h4~IrkEdfMx;M!qCIM)R~V5BJiBln7UiB%(#iDg9FAtq z(GqFhr(o-q#jHDMw>r4sF>2J`lv@BXLcKdr!Jh_u0?sr- z9a00bBR@exZ|=zT2#V(k-|&B5WVw z9d9+i(3w__iCN1!E5{yF^e@%!Fj`&Bdh@aSyh*xKKRK$m!-`VXOi%qM@ zh9Vy4HmZ90KW0Nb+$UzQ#((Z!LAA}DC!Z#$55L8H@ETJ8~bU9e= zWizco>tw5+MU8mh@BGnNRxi2k%NzWV{=8?Lc5>Vt!KS@D#0a*|ULHTHpnq|B|LWlM za<6@Xf9*ALn?K5Jg}esmK%Rm>4R#66VutfrrkCE-0Yf6B7I?;Q(_B9_qH9!JXRiN} zgoFE5v)*}Qwm)v~r`lY<5AM|7RoKN$4dCszkqe*^hN z9OP2Ttx6#CL!#d|`kTJ6!{P7h5$d4-5hwcN?g{+&cfxV7ihg4-tg}O6-!saa_IDa? z`RmN_|FDGpJF-C;!-;wRr&?4?F12p)6<$chr#P<7idSB(TnF(FTM@sJqFMsgW>ibz z1w{O=6vzFhA^wM~h~G$2ErDt?s-^HkBHlZWo7U)~YPdZ5I#I2QHpD|7F?%)DqFN=Y z4M$$$ghab%40ke(Uv2$Bxq7+I`1PMkXg|n5Zud_p9-#4N= z-W;Xl#FoWNFXcE$F)b0(8ig9Ex_;py3H$q37u$o*@~NY(Uh7Q%P%q2kw)opQLgbj% zOrC;24R#sMBBo_2y{-c`k&t@e8QV=ehfp)RJf1r5X}yn-u+ZurDUE;3-VS!AF>66GbxqxNuKK_Hh1@0hFU zw?76=zJ)jbX0~&Xof{Ak_!+-Nb1U!{2^M^2W0Z}Z*trO64JA3-pZnO@vpY}r;oH~4 zkBcbR#vAUKEF?F>9}|#gSIUhH1`Ku1($Ns&BYBpcSw(0F_+>prkjL)X^#lvlWoz<2D zJMyFUbkG9eAv~ROG5}H=>;jyHrz7Fo@N*PiNW^_tc*5llD)fEYSv+X%N zV)pHQzqm%;dyZ;(ak0(_iFNOIY{ELgIp{jeo{4oHW!P|7ce*oSXD!FQ_anpZKZ$pW> zM{Mz`bB~=8{bbt|_{05Tw)HolsenV+`hEO=IyKlM@CVMiBf>4ES5?3!5K;$xW3B0p zK;C?=9$*x>RdwKj5(Rhm3;f@obvlQZduOu6xOHGVuPs>z>~9334p>XCYJpuOq#k%i zUejtDYFL*Z)S1h9w?z-;TAeniK-B$!?_7?m15|Ps{Bv$dVRitHtqGzRlqq8uA>8|OC7-12n#>x;JN+1 zUh911IxtGrC5;3QT+Qk35O8ZNGyAyk1$EyFiNcZYJhXrttLV^#~fr9rKRkrdd#I zHJ1leXBKqH+WKVsWA=Wk%!10er;@wve$EeR^?hTxd(BzUv;tFD{W@!oGb{Sz_WNIr zCISvI`^mcvN(7644*s%P{2}%}thM)y>Q3%5t^Jc=`qtV@p+n}8Tgmm@OW~}P@36fT zF52bFMnX?xAILmvm*YJ?Hs*~$RcAaGwU$R59PKTyWWB-pZv}sU2UZLm0{eGS0zWs{ zdjB30`bL4%3=nTeQVer{g*v0(g&}yr%wqO|s>H#_2a<7a?GIFe zkUEfJ!8U9gy~3q6dWAYVa8l?%ySq3yp)~SF(gCydT4!Jp2&n_UvEZ~bvQ1Y?Bg zxK--FbT4ZSqt**ow%=K^XE(4?_UJBht_`{Yjsa$apS&<%{NM}+I*8868pYU z-!XIMGsU~a%x4{&|1KN$`P%2Wv5$5D4>1FD8zu0w*jozy9SPjL_k9W(Z$|XfJo;M*ntRTQd4*@)Z0L-+|E3FG}xJ0ZAmJ9(YE6 zo0DcNAnlMZdVo4_c)f$`0es_WF6;F<^5e$-cN*BgS;2k>{==Cqsl)>9a$-n)r`RrU z1I>OLvziZ)fYZCL6WjeKMQa~F4Kq56wABpkmLBtn);G2ba8^sLAYEgH#Jg{7H+l3n zy(nie>v;5UFYrFQ3h~_81&He2*-ODt6g*4eC@noC%Dp47X*M2P&}Gx>`0jHm%4f1p>-@b-OIZ){iP^4K z^4-yTOC`5>GBP(L@_l2lX*M2#??nD6@T%JPx0cAydS_wSx{@ulm)Z-ngC4ww8~JR_ zcC0Kogsr#F#-mNQmR?l>yGTeq@Quf&b;!J3T|GdZHJHa$Jvaa>4M73;ppK6gV(tZe z*CCgBpqAdE1)4xe9q^6Jru8^Ob)e3AoLQ$1#O($7uE(+AUvvF=A0VMW>^Rpq8k^ok z9E$xq(W+ww_N5Pfz{avsd;b-pRcfgfi?6Xl+WHiowc&VOqO;qvcs4zKDs_oxN$m`BWb_x;w73ToA(k!yu|cB>=9 z(H_>1nN0CmFSK7E2S)D$_7;7k&gWv9%7E(8IKiq-R8m|&ck{zp7Ge` zl)0iTt&JBe%Icu}?gHgU+9$aIgXLr~+jHM9xPhlGO02jpQgTSY#WV7nFiuv=H6pEp z@wez0hkjv$VO(24R$x5r>aj`BsA|G^c#PkrV?6R1#u|29bIJ>h2lmK4qo(OSzTp_J z^B&)w8pbh)nC*Cl_xN%!tL}K27}8Jijf_s2Ya^2{er3M+;S%5FJ55pJyTXW*J|IgY z%lY=1mHGUQ4>>&~%Dv;E=7{q$xTb6E%z8qak66#0S>G+?J8Wmxfn9E0=FIOXQ9j-3 z7lW|KEqR4G^CNPp)q$tN35j;!Xy~LF4NW#(*z`I+%b^18huWP%){FifRUCigA!ZTn zUzdgXm9oSN%0+5Ggg3oopr+T7?72XAo%LJ?3xrR1+F3VW)Dii5_6qA;)KV)@*H|I( zo}!@K3XvOA?vK4L{>zMt_hQmKYEQj_|3aY7OKpLB!3l|W-zaF>alob(WfT<0V^vpk zO!p@>MeWRfX?ZMH0z=C${R5l*kC)BA%3GKiMY1_TyqNeAb z#-_q^$8lLz+rHmKd(=p;FyAQf?813il&8q3%~l)!`irrSYo9=QtKa8S%u%DfLS%Hh zQY~PZ1utDGwE}gO6B6wyPHIE( zx>)o#nP`t1=@tAIfoIikk<&w>+%rx(nf3^+BKmj}4U1wK}UAH|#NwM=R_R zP@=jlx!t%6c1Y}dMorT<>N)hC?_Si|CG2(w_A#fJvG4nxCWxMD*mszFLVnP(>K@-% zYFYs{)aKWjk@-g)_XoSHXK1TiH1;v$-Pf~GODv4MmLAZ$@9~YGrZq7`QC??F%xyZ# zBe&|P>3FQQCPqTDWX_e;kO=pTnkL_!T2EU`a7DiRUJc;~JJ}gn8?#}2cY$fCACMw0Ki)q;Kb%_KWJB=$WcstNnyu|Mg;KFo{8?8jdL_T_~H z7VL*zO|Zu^&YI?IhGW0ZoK4e#eatCl?EB8ynBcZL`Gv<5cFx8#_BxrqM#h2f^7ZTB zevgKGT3XVdi~YMyzF#yDxECe2x%v_}q_^W4hfT;2Z}BG_$j6~`%oe{s^5r$cre1_y zC%nfyHfye&Oy86jD<|vN{M`=Z!w`3aBHup5Eo^?+JvjDwM`jc9(dvivc6K?Cj|+b` zrp>nxa0}#z9p6rP#%3ocOyoZeFj#Bff)#=aN6dQeTi{sti{_LcSHpPKY%awEb_`US1tL4Y-$fx(2X9umpDlIOKSqqAHxkV&vj@LJx8tfVP19#>yd>f+{ zhKvAA*?{AL3E#Nx-ic8dcNoh8D>dnGY@INPX-Bztb(1sgpaQDPP2QhG>~d&X@O%EP1l z`wW!tiQ10WLAgGIQ=mNT+|7h%gf@9A!%<$xTe($7Ib;#DEwAFOhZ1V1=~v zp3&Fj!E?Af@m|M+zq!OaZH&H=<{OI=s}4<>8W7>TeWR>n$&(po(d&3JZ`2T8E|-Oj zHi{=hm@Z3h1H52{#C?jLa+9rj=D4(lAGiu(A21(UV|76tPv#98?u$ra%$P_0$HOOf zN|-N7ZG(Kt3yFB&*lGImByUMgGs-b*oygKnCF09Z0z_@$U%_igM*FRK3jQ?M3Y?3T z0%eI+po`>?7*Ekt-VPde4Xf^0gLXw2-%++W--?lM-W0P%uM$@hC00Q$rH4ehZ}c>+ zg0X2siSjz5((l$$&g~sz=r3*Nxm^S2P5iH`w7+%^vU3B@p_!pgZ0BNY(8^O#S0LqN z9|yYpz`H<78-;dEViM+1rtle0^f$^BuIH3%eibh(uK1%Tq9>%>F+ciRIQ|O1rC1k< zsSVbJb79GIG;5PDWok%-`$kTi=E}y4VEoov`};OBkbJ&kJ=gx8l=2<+&9aVN&amTW z?Q$i;uY=aBx(en--rh5?z_-o88nX?58G;xNf$mZMKb;zE5&l4Q=cN_KyGRI$Y2R4s zc+*&|`vkP}T9`g9VPQQn-IMYihUo|Gat5X^+2u-1V+&Tr^!B`!r#o4zcX+u!nB`0N z4t58>PpmOQ1ssL5Vrjdl)%po_HOtUxX04!K<8;8k?k2BO*?W>Ly@5`-)t%^e4V-U z8>p?bPBzG9S68wg|Ew_o1ZC7H_gxh*W0qWkyM-AN_r6imDf64FmjMK8c{V2`k6=AL zn;5<@{CWlVC%f5ze+(gN%)c_X|St}z?)Vnm8wD`A{s;Ts9#d5Lw57s(+p?i&qF`vcf?p&XCaS>y5= z8RN8^gMW@MW`D(ZjSKlJN2F34V3&Cz5$_urO(W5vh~Ea>s^0mlCB&DDJK#PsBfi>5 zv@Ep_cfkmWbz z*fi~VdPtOe#!l0lcEhcDoi&ZG&`}Oq#O$?WYyl4uKe~ky_*txJlu&Ll=790Av+5~I z%IjaV&&G`7T5lZH8Jlk92%qj{EnFSI!-Dw9f~ZmMJ2uryEsVL&2x!g6y`!XQMF8SZ z(}{9yS_kXjX=0t+$v^3dsi!NM|J^u~~7MdA=&Ky6=D75Cf4~| zZX3sU$ssN8=|xsuFhXM8J6>wOi-F&#SZn3(JIJx+zQKB~++C9Lm0~^|O9)zgTNA&r zA%6ozl3N$wiu<_z8sGH+I;;)fMp*iwaiwwJ$Z1+1Fcj}wfm?OW|q%r(8EHyrnM#!I;Dt>9f_g~WS`tJ-jE*!Q*GUaAvU drCn^H-!AtDiW}>`aaFm*3e3xTm=A#P{|^Jle1QM} diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_difxapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_difxapi.a deleted file mode 100644 index 14af019ce1b5c9b031c730bcd294ce67da411251..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11506 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dnsrslvr.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dnsrslvr.a deleted file mode 100644 index 2b484ea7cbe4ae292bceb1be0a7583fc80671916..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4906 zcmdUz@oN(?6vtnCo71xCko_=3Rm7tQ!AeGt!b9$-1o*e+x5J*VZdg5x_a zw%f2B_QkDRO_!muvt=?f%W7_kp1^L`y_Q#Nx0uCHc<2DDI+p!!Z-RI2a<$?4g(I)} z&S|yXva?rfl&qQujJbzR7T+Go-&k&4YQ+n<<*l>NUNkUwJ)GZj+iGGF=%U+RH!ORv z@Ur7ObF)mtMG*mD=lAnZt3ZX$K6c+mv?FEyn9|Qn!qi zl?a_|m!*U%ZP#jKOIO^Q6Eyz50N77dtOIEX?5fYG3vHkulBxbm#%UB^X>l6GPjg&D z9_UYjFS(EAu}MqBYPf%h0xhxB|B~Pn^+Aa=NqB|%boMH7TfGFgxvYpZy58f~L_gEI zA}Rly+jTw+%vNYLIIh)z0b0i>Zlzu=6wi0~NO?SNA%bTB52>llZXSVcWV zrEV`?hjEy^pT*AVO25$4^~Loq)O4bC;r^g`?4af(T4%~}-Ni~i&`2B3`26A_eL6eq z*?Ki?#BG2GqP_)HH?StC6a>;c0v46?l)A@#sGOYqBmmWyJnln4F!vhufZq~vzZcV` zg?plpdp>6(K#WL?5N~2=5!~Oy8YSA#!m`aji!2EzSc$*qjJpR-V-L~k!0BI~jDCK# z32!xm{w_{<9Q_{yBB+=p{UxQ}QS{fMbwl*Gqje$uH*tQKr9TPkjaHCyRf!k31eN#) z0(PD!p@OA4+kkQ9{ytTzGZRw%G^^az1=ZhirN>cSRA`tb)t{AqM^WuZ>xQWQ8m$Yd zUi}NI6A=Ati{ju_rTY%2Sfx935w;}Z81v{^3(jNOrtoVzjN`_H#OHedAK0gY_-{zT zIO0Dkq|B1|iqh{W;+xUBA>xmtb>VW}#+AHm90wTu&){mu@|7Xl9|aaFl2FHdaK?i3 JA?p+f{{!`P_D}!- diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dpx.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dpx.a deleted file mode 100644 index afa99f26b22caecaa0dde094064cd659145309b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5506 zcmeHL-D(p-6h7IcRzs^&df|o0D(Zzu-282dh!kpz2ucwJFRIf`cVa@*CTyaO;zcit z*S+=`e26}a4`MxMW_M;b*)&O0DisIjCuhE$pL4$XcCxphc)?cvY4(vFPx*4*&AU#e zP_b=CbeW}X7fXfkfz2!c%mJi+0A$txW;bNcJ_evXe_iHlzW^vN{G`m-3S)0OJm|1> z-sJ&XY5AP(HFmvrgQ2mv%F@E5J> zY7ZD|?6g_GHTF9RL*u;SdwpXli|WXE94$txv$!N>QqbZEt2HuDa-BlnP9lzs=QxSOyl0v>II3jWGTc!z8Xoc(XQe ziu-1N)Fxci?ypf+Ax+{cPH|fJXI|LGVR2mur5sZ*0&3m*r`>I75j=`{nl^b3Oc&mj zOeg=6PjxcYLaup$`vM%Xm})wG04t)Dg#`!LnDP}d^|7E+(Qz=9zzF>E8Om@3v<9;I9y^k9k#qM`u#Hl(@c2|vgPhxj788^W0&&fE& zZhH4k%IB+o#oh&FaFqtj_;uHAY5~TixOn ztFL0;q^!0m&gwtZ#nx+iqcvH5NAOt|7I@e&cdPz~s{NmtPUpvDbb0U=@(sf~N~hl# z`gWc={lS>`B%Q7&;|6p(NX98f(`|fGMyGU)FSJI}X{Mw#`j#|^(t`I`D>iF=4!?Pv s8Izqcnf(98A>twlJ*ds6xp9d28eggC4*HMZIE>vYbvA9&eTdBd0car}wEzGB diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_drt.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_drt.a deleted file mode 100644 index aba232d52290b6e47c4b45589b51561a1fe1a032..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14192 zcmeI3Z*SW~7{H%8ZMT+=!6@4pe-uVRfU4lMsgojvDs>f1AXYjiO$gz-joXB!X-M3y zObAtIns~7n`w)Bpv`?@Xd;mTRuMy*U?(Dm>&qjI%zQJSRF93?gKX@!X0VqAO z?RDF})p6S$d(-vYw!MB>b?tlgrqin1C_JuMwpFql^&N`7yxR6`$3~q47wnqrREI7E zuC={et*Ya>pSeGPZPyQ4c1T1&nr(N#-oeI&bwXm)yXiTYxHLbqBvptyTX7|+Le#m@ za+|UM_6wz-xPIANZs(}s-K^ioz6b4%%hdm-t3Hi_C}Pv`YF$bfSyBC%l1bMu_jlWG$1It%^gXhcdYC#$C7RU2{A~D?FSN(GC?WG^x!S&1!TWr3mxa51U@S zdE`cwB68Af9Cnm>;ywU(B}+O0mE#^np}+61mrb~gnD z&pr0oefJ~}o7)BC-07~ua@Jt;X7xcGq*tc`7jTX9a279<*e*4!ff?wn1ai`w z>#kQ;_2y&rg8blGZF_}kqXC7zdc*aFe?J4*pV)Km1Oi{KjujQ1iNpwQbd)j5 zb<8;GW#^)TnOG0stJ^D}`10w?VyxLLo4wo>FLL*I`JO$F(=yK9&d}&N&P^|@T zv&KGC4k)H8tv-Ntmh!}a2Y55$Lx1FD!B$1bG|l1)TN-^WxTRX~Gps8oI4R_c#jOgm z0gIS_+ozK*c`y@NaJ0CJb)p*L!iluZ!s61Hm$0%OrCyMFAq!qXokqN#SQXTdHPpEq zuV)4ABJ1#}uM^0y$4{TVO}`#LmNI#FKJ2?OR;WJC&kWvi{y1y&cRqE>(~_#p>GmGf z@uN~uhud;CQdEPGNXs4Qu-=CVXZ@sE=Plwb1fbeE;VzIO1-_9ZpG_qOy7^!6HJo@9F*zj z*(`@%EHcgY%N$^Z>qTEe7X#>lMO=q^EZ%A&;?Z986uy@e@?9MBjq}4X7hb&J`vT?- z%J(^%ZS|FyQ2>xtyZsWjpMtd8?{Wc44cNzPq{o78br{mK-AiM(am*vk4s5%JVSA2d zTHVUQcF?o@KhCz=W5ISvn3~-#CS$v#+wC6_h<<*_SIYDJH2soqm3n*mCAD}xjqP^4 zp0L|A4ujh5=ZI~#6PXpJWqVaWJMg@vy{45O1OvXrTLCfOhfR%MGa0?Bx>x-OXS5%^ zRb|#slisFMZ!da}Hr4GyU7JCHQ*4hI`7h;M_3^;dkVCFjCqV2%NFIHz(hdaYY^nU$6wW0sS#KHeQ7;q(gpsI3qRA6P|2V^gWodpDz9MVK|@k zITzpA`G!5qoYVUX1?i`=4`8?uSMc|E$NlthuT`TS$w`g$q-UJ^&dc}=Uy?q|IZ!S- z=SV@8DW^9T3X<~oxqzhx)bSdjJY>oR;VJs)2~Ro4UtO^|>h=yg%vVBzVHS+>~ZpHYw&yTAo3HQ)fRdXEL% zk&#I6G$`Q-XlY5?B_E&POTy`!@j-VE`FykgMahW8CO&z4d!OG2Utkg125ey}Ip+U+ IGn#?^2koU-qyPW_ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_drtprov.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_drtprov.a deleted file mode 100644 index 4748b2d88cf10ee26048cb59189e454327039151..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9406 zcmeHN-EZ7P5T83IX&VKBP(hK9kXt^)13K;_@f{LE5s9D(gib}gAvtdC^xU|)lg|ll zg-{+)#Fwf(fW#BeJo6XyPv9@2%a+_KwDdi_l`E1TXYYJohv2QPE2F@{uTQ zH}srBtxN+68QL8S#c~l^jF6z+aY}*~BPHbTH7zF}sgWiPgzrP@6x`w9Flr11@$wkg zYBnv)GEJ+~5{z@t){t}nW(~Q;daKZgyoV9%=Qk$w_ZzMgIr$LwW(WFD8+XRz0vMbU z&L@FyZY9{O*jd4KsbvS632r+XC)`FpuAAUCuyb95OWr3>my^HY1_3k<{J@J}{PPUp zUhTj+Oa|g{RbM3DNX*Vqej}v z7MgC^fESUp`Kr&#lgz|ZL@8*3~VrbF`M0tZGg^EXR`@j zeJVJ?0rh>-CtT7`Kj{<=pqAKdF#Wv1dSxtmz=9pZu`sKEgJ^JkbjU}TElp^8PS(z} z%dMUCOFETB^%{K58T)78#FFVr33*B zY)il5;n0Oj#}4ub@8bI)wo-bS&@AcE(E}@9e=!*ZH{|lfA1&H#UTl9nl)NZC%42w@q$` z_%mivCPHN60jN4<-XCH+X4<0}jATT5_GE-2ZP&CZ6rAe7GX5L3@W@WG>v~Mz3(;<9LJ~b@&lm!3FK^#oeCsMUT075-FKr zEtx=P!wp^J1ao1+nzRLNE_i8}pxu3n33^PGOxP~Tgibal{Ep^R6ca{@FP&#hc&yAj zEhc=g$7PuCM2{0O;caBotTAC#VM6}bjK#huy+dvWi@Yb@<^!y)!*BQ$u|a;7xxhEE zN^eYCCE2meAlP|wl8AUB*g-dhS=q5db}{Y4CCXgnSWz;An5F>{ET)30j24}ed{|}> zQ~6*%2OkW{2krfMk-0$rfr^Y0+6;o5xpwy{D(Ep)GNHX>0-adO<7e(o|3xlcmrT&! zk1q`qw7X9+L651D39XV$SY{AJm^5R=9qD;8h?>HLOP)dS*ia^eC`MMvj%GP_SiSc% z-&}t{=US9s?<;xfJoD@O%DmI^>qw8w#EI|pIKhrrkvX$w5G=DypEk-_fgc5FN)Ug{TOSdf4|mibGBu zdgAx=mr-VRz4p5CHbq3`03&60JoD_`oqaRAdGyMUKaBPpFRZdO_nKbQbK0%8WjWlX zwwBd;DV{BB&;WoN0LBoY{uE&Qo%l8S0F6FlJ;n}`Fiu!MOv9Mg!z zruU<#7l;03Z)*I(!AvIYhxgp25dk6nqqiAo*krAikZiQAKQ!tLmBZHe1OWw!z+ z{jygHVh7_f+3jI84l}^dbAXS=&_9-j%&x|bhA}UUMKCpHH62EYm#M=jv8rVKQR zEj|rwh;PK-`xy^tFRS<~@oKN&@_bPJQYW0$FZMfVFo9aiY?H_5HrKAg<`J)p2uI<} zfMGiNJUtc`&ZknOX_42!cphEBc#1E@v=Fs|h&iw100&DpQ%_k4@Rqltslg9aHgzIw zHct`JmH^MuyXMa;KqoG0h?0F~DnM%r-2XXj7o>GZU)6`FC$ z2~SL-u?4$sp(fZVm`LBqIH{bkG`zWbDu5bGeg;6sWF9pd0pAj5KvCbNg-4>qf4*j7 zfS8e(A>OLcBKZFhH4@5eVcF-;qN%|W75&|1-Q8wWxkM)g&j9Ct2GGt3^5!?9Ysmo4 V1IxD+NNZYc)-8T0;owMPV&_*OeMsR;5)c zN(m+e6GAC|f<8qbAQydrUi1O_Af@R!GdsIyHM9DOg^Gv<=Erls*_ku*oik@wzHztO z-mBePzHKK{VZGoKoP24uWZQWm;-zhuicUCSXBhx417vdmi+=+w{Uh`FKLIFT{7dE! z{s5r7^1IAeegmLD}bA?TzAWLA9eh8$KCb=zwK@vdcON(y;*J5 zUF__Y9oH$kjruO-u;1$(cAK7CbrE*pgIn{f-f5l#U-&`Ae_G%3zpQ}k)(=`P@2S+= z{$B8q=Dgo+G%DRz!|!di{c3=73-llalYQRo9{6n>_E;asWTp|D14e8D8zI+K*5OK^ zVbh?Ar&e1*x9zh$fu>Cr> z+vyB}!4cu=^uSw1g+m=;Vxif#eh?CRaYK<{phPo&TBLP za{Kj$9}50`1MppDzxqUVg#CQK=<(UUIS9u0%1Xnqeafa`*d8qi3~8TC;XaD}SwvAb zlZp|0Lk!4f&Lz>PdH+vwym z-4O;d)SElSDCY5w&kBW(@MtIiGT8?Cf=^NYO~_HIY{-x3&C&ZZFGVw$(oyWCBkxN) zU&P6F*}M?r65hOwn1&e_*#_ycftaUeoTJut5gQLejOs&;U%&Z;{yI5{`{LHQL~JD) zL-R=%ox_%7p=2D53%SQ`PMR{S`+ea1C%im_j1@aYGvFxc_)vH|CgZUZlo7sG5|hjC|`Ht;>0caRMPW}IdN&&;^U2Cm|nj%x#FISbfp zA$iJK_3zgN$2s?-EkcO}JuDgbnbsQXxom=bcjkP@GmvzS-d?A|_cO+m-xQI-yT*6J z$D4@nD4QVP*GJ=fnZMJ@xP9*5Z$-}QGTO|z{(X`2U42#)UT}8(`xRV2r8u_9%MMXm z(8ikiccr!F+#|sRnO+=`>HK@6Wcmwqhr=S7Z&?H|%}8dS%{wTPX_;}FXaC8JiDL5{DD#PL!={|YmIV~xGJjpsKm z$FqqO@B1z0@oc}b-UzuJ^Su)GP-Vd}mYnaJ_PT%9ArrKM)wvbmiAYDD9>Wj&Ze!y! z#<^!o3ylZ@;Oqgg>-zYBgr>I{o_JV`IXvT4RUO*ZeKc&BH^Y4Of; zGcJmEK70!+$QZ0ZMYOa0^@hIWQi|_^d$L26793%%-vdhXv`Zk8Pw)oFkH~%ftL2>g oaUAqE+)rn~Yn+a diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dsprop.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dsprop.a deleted file mode 100644 index 9a921eb9f9c8ee4f64a7f863512e639aaebacf34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9764 zcmeI2?{C{g7{{L^?bdbUciGSY$!J63#T1-2buxrdN5^PiutnO&-b`|x+DY7Iaj-qL zoe-)JLJ09?tHoDvG3RCzBym=$(NSD-TP|s zb1fZet2Lu$=#Axurs>Qir<&H#m!liD76ITQK&1>Y|2M$GKRllQ3xMLAfAaXw?*J5+ z4tcz^4?ywq_dI@l8-SwLraze*9*FD=Y_uPRsbWJSWZyKgi zH~VgzVpMJiL*E;kmWghU958#1Wsmb5Xn8?+<7Uvpr{3*3P6(#yJ{p>t;?01WZ}fev z@!-YA)@qN#~=~{iS8{Jc26va-su{W?E zxMA;}8}@NTSo4dl>GE7>h*VHa1v_^Nil4^Zv6IQ%^P`y8NK>R7v?AS#!~ ziymK5>L53HtWak1eWY=!6!}PFG{=0X_vsLgBO9N2G*wE4K5T4=fJ*6n`XSLLs)GXg zlwkwYN$43Pwl_MljTOX}g@jlGNBM1P8qEFQ#4fXDV6sH5!FGKR5kRw;N38IduaaN9 z0%W_$lb^_|S0cOul+s$RuC8Sra;0^hO|TN{Cn;W}F&N2+w>f|Jy!yG4(Q%Cnk{7K)Q zRBa`z{UDDaQ+kM~Wurwk;9Xql6BQRFYy?uQv%b>I^A_<8ebA%J2m91wH4y7a1o=y)mO6XMsaqtn06W`ZMvlMlXHJg6%o&)Qb}xrRV9R zBGouS>Q_gizM;#fFMPi~)B3ApY5jamy?RbK-PC^+>3X8|UqmHzDZ`JL3hLFKr?Jmi zC&+z$B<_tyefFM;^QC+%#N5A&w&U(`=9JmTM@+TKzegRwknsK)FJNgIcJP|!J$;&f zmt#JGlbmD+zcLctGgapkRYdp8?BFZOTr0oAOgH7nQgx;0imI#D399cezB@w#AR_@RWA$fXpB+q^VbpV^jYhuC?|a diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dssec.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dssec.a deleted file mode 100644 index 8cf29e97721dc9bcde4ace8d0da50d003c8d6fca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4972 zcmeI0O>fgc5QZmqN+D`R1wE7tG6*CNC^#Q=f`m{-8lWd4Mcj}aH+E{b>4y?mlnS9r zpweRx{GcBBRg{@suf2)wBvqoKO04AdX7;srclMddCXZfOy|(*0_d**ih1G&lF!V~X zqG>wol50&XRja`RtsDU0mH7>jJqDQn#jjis&3G-g__gE$EV-sxGtG~Er`Ir$ z+P>|WpS?Znz%$W!R5eVaY<9g(x&pi1?>lYNGEuebfayAxJ;iHay;-+Czv;9Od!GLV zOw-#vFo%rm&05c~d`GAn))tN&C=m$l{~?>k36Yo}KlG+KGv@~w0U>sf=w zMSip2A0vYk(s}g4CuO0%jg2hMOD=1m3*D-)lWrkhR}s1eY%C|}M8CMNH=FfZ-tKnM zkneb1C+PTd39yyvSUbWH*kymw>(!w#NGAJANz+JvQqwe&kFrcds~;?ZADMsVuuILP zYM5_`05wCQ94|Bm71Aj14(l02agGt|PEKs4RE`mApqH0uYLNZc#1`2!uv(_s;Jj7> z0%#YLh!uMIF6qJuko!fObfP_cC&E>rnqpaH{#j(LNjP>{ibXjV#sqYH_i%5ATNp_L zo~A`!1MAGYoOSXq`7|nW&fs&7(a*$!W4crP0n}N|D+SK5G4+?r3_^oNMqkHLV&O41 zmsd(sWX!YW{J@Rj(HxHq$^_4`|5HFH-89fA%;lJSr5wcuOQ=qw93AFf@_QKv>qz55 zq#MZPRn#0L>%z#Ob*!Q0I9X?iY2Cxd`#>XXxZ;b;r}XLkJhDYCb@-HkUBnEH$vL`% zEzTil4nGDF6ZG!ck zg(8?+p0UroQozH;&=E+Sb_Nei(;mKf-e+_dC!@P6pHw*AXSlF&bhjibu9NOAvub62HX!M#p6#NKGa9|Sx{gom!g9t92=;R&l2oF{e7koLkvv{wqN zv0Q$R1dOBIl_ECzr1d8UVn`Kpb}C4 zmK#{Dz)!r3SWjO4ApR+u8ODJ=VH_0x#{upg4~OvgZWsp-vG1yJFp>m(-%XAK4d+iK Zii0=Yz-k4)<9$RNOz;oO)V~aJe*s`M3BLdU diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dststlog.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dststlog.a deleted file mode 100644 index a1ba612d74b57698bda372a3667166fd6d4bd363..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2450 zcmcgu!EVz)5S_$rfv5;1df>Q7a6`rksgnajk$Rv)mB^up8ygopvDKt$Vd1$+<(%FOJpy-safL|`QE&dxr2cE)eUe)J+(e28DRo{6%wx7&W(_j;Y45FT&Y zqY&+WN8d1N0l*qwKLDI>02|-wl5$7Nw`sIUd*<7wZQepgPD z1G=<5OtUnb&L=XE2%JSA<0uIK?ny9QBuClad;(G?vtyYr!;{G@bLV;BbrH8c&-Z;H z{O3i);g<~z7(g@t?yBhyhOHPWd5vMLtLf(}dSJ zuBIM{v+*Brw%1ivE5xW}IO}7c@6+M1Xzh2vri$Soa<*gKZP97)Tn{w|=si|(*5K{g z!sRt!?;D+PMqi$Z;||bB)$DM7?y`0hCdb^X5RSsEfN>UoJUUbs=29us6y$$kJ7-t1 zo$^aLEyV5`>daU8&tSu3nyCT-c6n4o6TYIdiY~pn`ba$zRV3H;^e%qhSg1a3aZsP} z_0T7+sy?V|JjMNe%~P5LcsK0n*n_QJMINf;tmxHw52oyQ(b;>;FBG^^PwyipuEyo{ zL2(Qav#7@T=3G<}yBcF`81cpB6Iz|07dBhVKe5ah@}*cry;8AIF^=xh+_S!&}Mcx(9)tLdPewF0`YDSvy4%MY! Jid7Us>lg8MYS{n) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dsuiext.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dsuiext.a deleted file mode 100644 index f574c83c28885e60e59f0ecf3f507ba13fe3ec69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28150 zcmeHQTW{RP6+T+oaiZFZlQ^!OxXHF~iXcc;u4HkgB1pB?#<9^{lsbu9z$m@a(%Owz zOO;$jQkw>DkOo1K2mg@%fIjA_=m7f)_r}7{>uJ|mY1j?hYA&tT>lTX=!+O23W?>AuI|~5N1~~P1fQ13TnZI&> z_HzL8&wk4N`A-1IU%buzr4Inezw|EmKe-M-{^eJ>f8{Iy`B(qL{m=djK;HTn_sjnT zAaDPT`?UuEnR?x!?RZ0QsAEfASywgZtm& z{mI|{f_ujYAiuTFy}JrPzK7{1fA11`$Jub44+GZ^oK1J+`p$;eb)AF$u(Q{9P08 zn%3T)JM8k`YEIIz`m5BOh*x1wdfq|1@4MS0&p-O`MwBo~y15?~=bHm}*By?cw5W1f z5C#cV>739gi_B-|rl4c*7AwI!G=^i?4b9 zZfEpPu=8s-@b>*}BsfMxsyvol^$ukv67l%BwNZjoYU!AEfGNDO?M1Yg{AOp@{612{ z;D|LK;Z_-u?cl2K9Rx0>fim3b4_!a1RehXJ8r6e7ZlmXJ-^0@P2L0`b5!15n&f&pm z(TiW(@%y@&eqT2%%eL)$-Cl0+*EPPcyI($ruWW$&9KciT>?ACX@WsQRs#(2C#UyKXAi{Z@&ZBnY-J$7YRbSSYCAddFdIXCYDt#OGhZD`79lwj7~5e z%6-~}<;cqCBu358W$Li9Aq33NQR%3ToLBRFZ6Ku({vbV_oMcps^DLy+JkQGK3_Ht% z7C=_J{YlgkdRF(v-;=pq-U2M>~}-m1*Kc*5GMY@XwSZB-4>vAi!HJ zL*coQ=%pBa6?G2vdU5NZe5|9+=XyOmO4jpu zay`_EWSHY`zI&N|J;0u#>grkjB~&H+(6c$Fp1?DXNsd4K8MYqf&7i&qKrBnf`Vium zl^Q)^K9VGi9!Xe9q)^ZDObFm9;wc26%yZPgfM?{WHFF7eSYua%KjJyJtTQ?gS&hL3vSw-P+!dZX&eqw}>nX_pgI+J@{BwxbX>FY!3CNGeSj%kVoF@uFmvH?e7qGAf zzsF;O=_toC%g1t)C|}Kq^2(xTb;ZFRzXxKJ7qRFsrRrRm8o(!&8SVKkdOo)zTS zvFLGmP3&s0i|6@PT^Q}NUdf5@s?W;mN_q#x2rtrSy#Vs+ms_Q_;?IX@P7tp4S=AhK zJ4PcnX~8U4D5uJi(5qN5$1yVVLj~onM-JtY%_5`Ru(gtNuC>`%R;-l=2#rbOk39~b znU6pE!gI%sKYps$Q&9e;UN7eI7qO*GYptAzajO!`ZMoEmI?yG&ew7PYScAXdaa`^> z!;jT4$@MvBUaL`fUWvRhsN<7GESl%|s?XH=+cJ+!=CNqlI@eT=Io>sLlPH&GS+iD3 zR(3msxk;3tQ&9f>w`gQEM;47nZV=@Sc}6u0&hvK{W{Y3ar8}}k!!s5$YDH162`jB6xpNSMzAZl(|1z5br5_T_An-g}za| z%X6k#c&}`BqOD9TrijgcM!`Gns8DXa7qQvL?=WE$?eg4dCfZeNrW$EXteGMsji*(# zmzvp&*z8%fZg?C!EHks`vDV{#Dktt}X%yvoXG?AD ztTLB;V|O2`eA3#0-*8wkbj)(sj4k20OBVl~@Z51M-qY(TES~W#Q_SMD`{}f3KLN=e&}Ft! zo@6{A_CBNjC`HtugJF_WZh#BFP4+JH&V5#U9I-m%;8(f3$R0=YypGj<%ozsCyJj)Z z9!D9QvT?}IURNSU5ubNPv_d>pWab!45ya1F>%QFcMMV)G%^B%hgV{9zR^HiB vTm2TJ8gEJFjf#x70Hpu-q|Dq-dpeOzxc#SGz``2z@tDpn=X6PCz-s>=LY+00 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dwmapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dwmapi.a deleted file mode 100644 index 244f217bea860343296516beef542dcab251c976..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26216 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 KRmzb^?f(TI!;=vJ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dwrite.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dwrite.a deleted file mode 100644 index 58d885edba1e097c6236a77b501d95334ee34fcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2502 zcmcguO>fgc5S_$rflvg83iY^1a6`sPQzwTCMGC5V%ms1WxUoY_)1-A4wOp#65aQHd zg!()9F_f8Euf1+_*&WZm?8n9^%H-ltz0 z4^NU|Xm+gJc}7JQ2TjlO zeP0NFE9W5mx`s3Wh#J6C_Ey1F(Wzp;x)CrKx?!M#Y6y??U~uW~FBZ4J;GA$VP582H zun*B$!F}1*1JB^LO`LG+)wqtq;YGtn3C@h0UUTe*(-K%+#=;}h336*S@8YX2%Z&$opl^6J z^m;4H4XPKfaeSC+lsW<49jiH3U#m*d3T1YlSLv+!67y|b?31-Fbm@|f+Fy=S#@XkD$QN9buaYUR=YQw>^gP+Ho# zS^vT2k*htV%4NoA1^kz;_IV{Y5oV#FcRnxOzTT1EA%5LpMC*MMJu=E;9m&cTM-;YY Mr>_3)SUz8V1CVih&j0`b diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dxgi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dxgi.a deleted file mode 100644 index 3816b811937bd85fb95c8568842bdedc08ed95db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9062 zcmeHNO>f&a7=A4$ZI*RkK(H3w2B=+k8(i6OWTzO03^CFc*dgdJV21&U63Mm}*EVb= zbAzG?iXbS49dg)lzhS2xcPMt)57-ZC_r4@0Q5I#(wc){N2#})4haY7J?qTU^QLadGlVN_QU;$kKAsj=YQkaU7W&pr(O3NM?Ks3I&H8l z?{U`}1ET8tu3vNaj~Wl#*hk$yaEnq~MJ2VVt=EdiBe&u8vCX&k6EuU=NL3rQ!X8-z z*QvS3-hum_cY?MEC(GI@F<}qeJ=gZ#SSQ0Bs31e_`RM9~qK@}M?RM+~ztekC5^zOD zqA0MUq9Re0)-5=P$NPSv6OuoT^+m%lO%qv9?jTt2oL@oWBUf_(AF$jq6nuB!vwV7@ z!|qrMa8Sv0F7MTJ`4&(xoj`$K0h=D!DL%$X&A{)`814Vqa}u+ zr;i6=M`oX8tjgz7G0Zl^fPC(qcqihH#-KnL4R$b{Uek!L%?bEgSuZ8{YNCxlq=~`O z|IODDn+7JheK5Y>5bIBCsN!pYm#-2oBzlMjc1pmGp^5 zP=(V-pF`axtCw-GV`*H7a4{XPBIZ<$3;lwgV+%3AsBva6uiKb;ATU80KJm-fU(nsf zMN}5$R>qx}5K0W9IdE2yZgN&~2I8&opTxe9+yy|kDbsuq3})7&5%NJvq~}2ivq+5h z?AeJ4d`5hR0AvKt`_C~)f&7`5JYe@c(clGU=qxksnQ>ZgqCJB7LM59on45U83C}d# z7k(J2=lDy`3+0@O^HZPU)MHLe5j^d(yb0l>Vt2mr(k1H7;bmjw?B- z(l1AAul%aA$ZCHZ?Li@8{tho-DL?y%%vU~rB>L&!oo40*<*Z&HzY}xqzx0ATQ+dHs z4eP>XrN8Qz6npnCctCs0CWb^ck;<^$$t^8NP(s^hqwU{6xe zdF}*1N#l;%34Ap!u@gK~<3b;}fonSHPLLmFf%wY3$U6YN`%s9uADReDH8{p}i2E77 z`_D}AOBvZ-O`dx$*&ZqW$GD11{i+1=c*2Jp*COpq2SG-7bdFyyS;`i2>>A8`S=auBwn=>TGxYNsz(yl+x z(@R|%chu>ntHvdGexk;OTk{(7b5cE5DBD7FoP3=^q~!%(z)}s`cuh!l>i-0$W%z$K CQG@IN diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dxva2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_dxva2.a deleted file mode 100644 index 30f262bb8f4393724a1ea83c590307f5bdf56978..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33644 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 Rm&LXvn0{nUz2iBb{{jNU{v!YY diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_eappcfg.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_eappcfg.a deleted file mode 100644 index 7fbba3aae05e0dd7eb9f9f0f4a788765bf4178cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14690 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 H9k=`kqBd*) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_elscore.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_elscore.a deleted file mode 100644 index 883a09f85b101cf4a11efc23c6e04668bbec0edd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5722 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_evr.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_evr.a deleted file mode 100644 index 4c81d178907e2b8048dcb3eb88f6537bddcd9f01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8998 zcmeHMZEqVz5T2ZqHiYsXC@MvAp+$VCjO`?67ojRqXeb||S`Ceggt(k@>)O;W(fQhj zszMP|1tC7<1HXaa(I3O_pv>&v%WihhKG&`#OIdk$&vVc2-p)KTH+OgGE7#v|USIkm zua?qU$u8N&%1SYx#~&8C&FAe(IUKOJ1OUqb*1rG?#{i4}i2C{y0IF}^74;ntfa-En z)bl?AP`z+l)Q`&mRP)!VI?kr!-03sF@6=epd}p)gG3QaM>mIZm6dqP>$6j^Xtvc0E z&K~-X>ma7Xz-cnqd+AAFd+Xc&R?qLa!S{D|!Esuh14or@Z+*jpTHEcioz`PqFN7$< z?X69pxdGd4d91hNb`IKX%kOn|9{3G+KN&L+WSC>4-R|wXLC=p@)n-T_%J`bk`mBrk zESrW(XU(Gq4nmztmvQU64HKHg3U0e~$o!427q4v^rGxZ2QpbVUt2gRFp%-yHjoYPS z(Y9^mc6lY{w)gA|(i`C79Kc)rXaNcVI}G@7dXtCRUcqw%Hyy&ytV8X2q2BKgfx!{s zS~TJ1)d;(Y2lIGca#@FBgjrr^*45J7rb^G3XN8qg~I<{0Nk5v zxc4JLD3^6bQ|C_1PcT_eRvJdqQ7#Q5>1Uo}Xy|EsmnzMCpDdMV)I)0lj46jhuKNlIASIAY2=c3>Zf^+r5(EemY z6IVmH(n+|O`wAfZLpYP1WaqHvcuQWK2liyMhj)gM<8bR|x_r8#D9x0lh z64SYM1=C5tq|>Cx(L!9a#(fTsSWG>6AHXJWMPtEJJQ(w4I<{MIujm)CRJm&mjo|j0 z6v5B(tsJ3IC{;0e1;v1?c>Zq4PU`Yd%oxEj;!4qpRxp*LBr?Ylmvp|0i`AudA;BpT zyo#8%85es6?PDD=56w6`x-Nz>266&=Ja?Evi@im#E4kVHAO4Lk|c6R7`}Uj;e4NDb#X=F3IS+!!SHwShzfbG zkbK7fi^c+m2Wqw#rFTkJI9`e=Vm)VdB^#?NC5_cjaZ|%s{X=MJ>ZZx+hP3V=Rv(yg z8mk|haWSjOs-v>{EZSK~*>R3pX7+n{{ZtZWe=Y>PwcsB1Cw3fBTT#Q95ntlAor&9( z(lw3Sf1|yJaa)dv)8uwagw-PUk(sj^xBoQbVs3web{m!3XVB8p6Pf<}iF3{}*FWW) zmbrd2lu&2E@7NB}K*arlYMPuctY!2CJKvn zN4t*d3kxPDBri#3+7B+FKBy!y|7#)Otp&efZ}5X;_o-eWK_-^#tY-27`&vc2AN+;9 z7fF$(vSPDN6P%m**IU(Ie+?8n{a*^?KoVq*YJEWasc z@&&spe_0jp<^Mop49n{Gq-=PaS^ZDax`VR%z>L$f`d`er*cU!P-i{jUPeeX$Wb(LK e&gjq62CyXYz9OnNPV+yZwR;)> diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_faultrep.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_faultrep.a deleted file mode 100644 index f57e082e8798c06c68d95a67ae06c8089bd636ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9702 zcmeI2Pj4GV6u_U?Nt=dJ3W`EO6VDpn{2#38DL!U1Ws_O9b?UB|4~ z!9oZ{RTcGsP(A=B4txp@{V*IVJ_Dk>H?x19y}S0hT^U(;l=c{GEDD9NAl2)v27gZJiFz{4WwaS+Fz|krItOF>20xbUuu=0nDul)u<@!Ib) zzWEe@;#ytCw>1EY?_QPh=HCDmZ~Z0X#&dv;=eoY9>tFXQr>7rSuI1=^C#I!;Z+DEY zt)p;I)pV__x9vJbPu?{8ZP&57x}l@uBMbDFWtgw_COEX5?pH>?(`ePKPpx|Y74IEnzYlBNsOTKg8;4ft|R+Qaj z0$KcwjO4waOJup$aP3pWwNE;%iP)+=qtme3q$R7vVaCi5l2t^_E*v~7)O)=NYH&t+Hob7O?CY*zVF~-i!!8tky&YdpdRLS6 zD!$%zEUd-o`SpJ8FRy~xZj-FgwA+?f`Ogc0<6P5t=nFhKw;45&A8CiwxV@Al9cHV1 zk`A-elF%Uw3TEP`P}QnFY!K68x%-KfiE%5#%l>~Tj{y2l%NM)kHFIdQ8FU@d$^okhnh($8duUEq}i+O%o4C)C^4;^6Q)(3fnkFfq*k5kH2 zD5mu5=!coFq88%9S?I3=KTOsyV`EL$E`)kRe!Yr1-FUrVeb6{|QRjzvJv@WSK-}zm zI=&1?{OrXC^y%Uvl!c`$G3O#8huV}hUBQy1QIbc`dJM9Cl$yo$$97Dy0|2+7@b}=6 zE38E=;8W7yhrZmG2n!7HF2+hTFMA|=2tch%-q*22f!48<6vStlDBxfrdg4nu31+cY z#4aExuco5BQi@W3fdiaGdCQx5%4SKq!`dB3`H%5>5z5cw^#aP@!|_c^`HGnHgd;n? zZ=Q+2h5e@x62B`x%S3@ESa_9hG}*3!N~$%WRjTX+zwq>)hYZ%hTR5lFu7S&f0{$&@ zzPYE}jzY-&Z7C3`0v*iLeH+h~a4jX_{H!ktKSR$q$;*GkyyGmre4VvB&days^&(#W zG+r+toWAo+OZX+4Z+VF!EREp z$leUdzJ@b5E!oS!CKaEbXR_rj94A}F5&1y@6N_xLk=xH~nJ%Yfn%^icy!GgL7-lxY^mN(NA;cPH_fNGFHbsy9I?H7mS>O$tle>E z5I0^gat8S+UN7*}H*nUb_0)Nf>XF}H=GtSwBctZNd$cNpU-ZJ8 zm93P#N6*{~-oum0`b+SxK-{l{^X<)P-BSp87nk!=h%5ONOL3!?xX0FHN_#04?UiEm z%rH w@pq*_qzXL7JbC1j`!V&I(qCNAkFz1+4*pkQCiEvWQ2XD~Kl#5`vN+lQ3l<{iE&u=k diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_feclient.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_feclient.a deleted file mode 100644 index a8893cec6c1d3bd1d05f6c3c3804a52a527acd11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38710 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 U0(k^`=&PpJp2NQnivvCQFZe#I>i_@% diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_fhsvcctl.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_fhsvcctl.a deleted file mode 100644 index 56caa245b7a8d01c7c70755c4df7e25354714ecb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13206 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_framedyn.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_framedyn.a deleted file mode 100644 index 45576b38e47e7d551df4db0f50bbff26fd199d04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2440 zcmcgu&2G~`5T3+sfv5-$J#aKqxglfI)ae0Lk;0+klmlG2Y#i(mtNE#7SA<(n9IHME z577tUaX3@v+n;#d+B6b@QM@~u{p{J9{buavZ=%Jg@p0>wTbAH32!qh?9QdxwKNfp* z-Jlcd8wM>R+T!ack@KBs=Laq!dP022l0_!^NuDf3ZyqP&OFE0rQo+XMQ7FQ;n508o z+CExD(R| zf7{_uiS`>rPo%a@UY;y-sn-uK^#@)YMiZS&F}Ffu=2fzwb7C_hOR18l%F=^c-osRqg0 z@%p^&v{lWz?x1CO8*-j;uGpo02GUe9{6pTpHtzPY8{XG5%>kTa6>kmRo-N#}4(xTK z184Nx^DY}4!ie*9WPTn?Z5<|$Wv5~|i)00j^6~lXR9PgKN|{EG|AFl?yNd0|FLGLl z-8s~r@9f?b7YRSig7g|+)pliJ3 z^}gmQCYSs*`#Sewt5?B8m0T44dew)K{Wd%MX!)fASL*9WjESpptNK73UB=9+aiQ54 za3>mLY#j0R%?tdyx+-k8rrxn&3+`78dc>Mypkf>Fns?T_6Rw=QU7zf{$sSLdtujOK xz;~%0U-WNdkx`d8F5|;#JNnyzRTg+x99MfLLhUMx>X<;m@}5Wgdtwt6@Ee2YW}5&2 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_fwpuclnt.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_fwpuclnt.a deleted file mode 100644 index 66e8bc280e672d9c4a8584d5d98c8d25113a4f27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228790 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_gdi32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_gdi32.a deleted file mode 100644 index 219b37dbc03188dc79997dbd597e41bf1f389093..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 465674 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 -?}1Mb`!0X4(C78~RCP4% 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_glmf32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_glmf32.a deleted file mode 100644 index 8798334aaa643f92bcf30cf03261efd6ab4ea35f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105066 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

    se`{NnkJV}ZSNhR_yxAx7e4eHfN?WP*!W;GdQR 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_gpedit.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_gpedit.a deleted file mode 100644 index eb249e3443449ba612af66661f80701fe1ab9e6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9476 zcmeI2-D?|15WvSLJ8_(}X&Pe^DD+y~5K2)cTRzE9id#EQ0*0v02YD!*u)F(4+|WP7I?agj-%0&33>3Xs2`dO58=4@vCpT zU7;i=m6mV%UL%axAnulw@@suWUG}ZtdmVV&Js*|CO*B!ncNm1lUWDWz7R#lQ<2bhM zta3JOdvBrn>m|eyz@7oP&RTO&484<(wFehA)c1-_+PvXu1L|*!`#~^V3*eOWI&{P3 ziqxIQ#w^ZDO&d^>dTUZnde;W)Ri)lFY%Ch|WWTKM*Y9mTd{W%n*#RiFI$ck6{PPar z#Z0U5N(zKrwHMvKkQjs1R9jhtbQC)k2I(j^LI;6k(dzXi?8xjhhh0N-m~DuF!pv3u zCgO_5phP+rJisy!4@1PZ&p~W;6|rS0Ce}eKe?U`%+5ei@6*dhl7HKv(uUmou+C>ww zQeUkVz32p}{jyDZvYo7n@B&atXSu-a^B!wu;keDbKdNJ5Oh7AaAE6s$iIJpPnihEh ztTXF!*2%tP(>SRldKU0<*Q%&a&V4Ib^u;6!WjQ_ir*Vzb4nAZ6LIn$eyOOMXR zWwxMG+!_iqOlO1q#TVHBTrf(N4W*3U9KEmNrDz0GI*q+_~I-e1rApnieIlqA|N_2j? zWSL#_!h#kywBXDTuZ@2)$m27rYZ7cABb-q`IYyJB;eSSuaKP zPiDP{>JM>!=cRfc5+OF;gNT?^vTx$tDaB;peR5#7~{bg!!s zIQQAV;f|k0_ntz#oW0b@zNbb9n!u;s2WTboQ zwTIF@%5&u`=(z{0*V3`~^vQBL^4g0?{dr^Wg5X;HDl*Az zFR_!aMkM%gElL*jv7P?jqw=ji1BNIC3l;WuS zb1q<|1zoI@E9Qi!r1|;qaz?(Vu?gFyL6P?;vB`|sZTTg7lKpp<*hK%vu97V+kfYx& lW#u~Ux2JDPV!u5K*8ti-OHB0BWR`C^+G;u0x@c@~{V!7rdO!dG diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_hbaapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_hbaapi.a deleted file mode 100644 index 5677beaf15fd33b1981a1d278cd5e2544b030f4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78166 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 LfUCiu7~%g9{TC#X diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_hid.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_hid.a deleted file mode 100644 index 3c741a1f526c785dbaca20a1d604e67d5bc28cc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37186 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_hrtfapo.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_hrtfapo.a deleted file mode 100644 index d8eb49b0584a97426e4d23fc69843467f5299eee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4930 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 Ibb$N+0<=ScB>(^b diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_iashlpr.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_iashlpr.a deleted file mode 100644 index 1500ab018bbca58c2fdadaa79c6ead3c5678196d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10954 zcmeI2&2HO95P(ONoj6XKHa|#z5VUHLpB@5*iX}<`io&joralxkk`&0H2u)j*MMstt ziAvm{D10c29(u^3570*mdgx>18TtfGXLh;EU6QgWhfu**3oN;s9ddVeza0*j`uJ04 zu+#o*`Bq6!m0HEBSY~~tS}K{WN3N@tyH1tY#H9UzWFr!wG6|NO~UK@M=})E@5E-`=zE;Foj-C$Vub)`Bdz8l8=tpWDGkYO z_HaOTOpFR>`R!5nF_$oww2>wwXFxj}T~0fVFO6xKRIkDN9OIuU3zF$fD-hr=JMx18 zzhWVS$6_YSgI34TG|ftdFOi8J-Kr@b{UkH#5GRKMlcd!_{@^CoKMW|PQwhwJ9vwZf z;;E>Gq;wd1YUzP#?5o(=w$d(ydYVUXpiU=QPp%HKV-o}ScXG4A_89Y5yjAz+q`6t#d?aZew5 zaUo&WYos$fY1Vmk{F#z$rUV#WPpoBHF}H3a~Z4*=JOfVW?HK2bE zIJh$IkyO*HPD}MNXpuSNBd=7S3jhwOz8XmAWWX*SHERQ`wc!8FUxXyr=AE=$-WaI3NBl|dU$P&%9 z*!aME=b3E2!=RE~LW@K)UdNnA051Uw0o5QZYS%-_#Pzd zN&ijXET{F~M#y)rxu$&~N}=EWkPFz+00++!;n;skGJStc{lzg(^C8agB%1#(UmTC~ z{#ele6_jhD(?r?YAD+0M)9pS*8*#3GNx}7&;@xKHrT3I}kMh!fvR=$f|Cp>N sz4RsYMALd{fP_D-;eGNPiM-1^v+A+UKtd-2=nroRR&&aeDl%aGAGGLA&j0`b diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_icm32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_icm32.a deleted file mode 100644 index 68363f9b0db369a43e5e05cd109044950b1e078e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18430 zcmeI3-EJF26o60cq(7m5w57DD0vDBns$$koVkc5ns=6fv5fq_75khR7cvG7=cCei` zLI^5^N-ntQ1<$}Ea9!~T2=N45@&vu0oHMgCJG(O*kCT1KNzJ=bRm;$Hv8`j(S)S>NxbmsvH2pYb zsp+>>^f9DZl;{g0~?`JRWg z>>YBjw34q?d)2+w;3h0R$**?1ebnF~={2ap%hN*l2%e1NbE)AbI6`km$Vu;5yk1%8 z9mA8e20f84jtiB=sbap?L?aD(vMheazs~^fjjdNVgus`p?M20BBljRRwXHI7I!Zfb z<8+iZ8fQ9G`*85vk+shRW@X1>by(XF0ogHnMe2d>L4kBKFpp^hZ>32_Y~7yN@|6D~ z&jrMmu$52Iqrv$9O>B`p1}10eY4Ewu`vg!gnurzp>QT{?BS6g;=cFgjqemh<3zX7W z&a(D7&dzK&t}~Yb)iE$8V7*u0Zf$T0BPrCe;#`Od6Y z5|4$>I=t`e2pQJ+$+I`;*W<^5EI2!>`k%t<#cbk+?#o#^if5cf&K>^rM~(JA(5*kH z?Z|9B_}sDFdgU_ac4Etf!Iwjag5Uej0ml zP}0vt`y9(iGv)Mtpb$`gl?zy!0eY21C^sX1@OOd2_pBw~Q<^0o@qPI~e4mc=Herxv zzRxg@RleWyCA?-0JcRi+;+-hnWlOr%IVbm1Msx>sljR!JdcUalwZ9gSX1d8&qYzl{ zJQuJu18qDibo({dTofTs&_gL%GF~28aO@-QsK|91X~Fly_$lo1$Wm^qE%-}5(E;Pv zd14c<N7lZRdeUYb66D=>pHufJgmfc914d&Z0ZE`<tK&H=W6;%>Ly~Xv zKOxdQ7k!-?6+^)KdtAWM4E%&g;hURlA2#hVIth*gyIs+;qkp;eGqTZdZdz0L8Rj@> zDfiuLmuSbVr;URj%zAPhT*Q7IbR0}b67>J{qAwNO( z?RH2a;LSV`#cZP2=?=NK2v;!Vfs9)%6<3pd75TD&F8sq){{ODeH}8W z&yykc<^P1!y>i3Da z|Ceq|^fLb{Tm0WW)hq9odrU-fxYi-aBUuSraLXOllD_^vvf#n$Bw4UQEx5F4ymM1c dIjzo82xh8RxPYY@xQ9pIg8Q{K;GMwU>3_EU2gLvY diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_icmui.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_icmui.a deleted file mode 100644 index 5088584c8a46df9f2e646c29018941850afce836..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3300 zcmeHJO>fgc5S_#+B~cL^D%7Kq;D(HoCQd3Llqevm)Jl<1#c|^%PGg!cC64F`^@Mut zPwH>t)DvZ9)*EkXyDdsp4lq)7C$rDq-M4SX`{J!T?eyOj-k8f)tQ4K1V^_B;rfKt# z-kN5qQVJhv7XaW9K&B30`~+CvkiYyTK>kvQrVs}+Z#ok#FYuk<#ocqERh#Gnz`kvce;WhBt3+9vNcrc#syFsV#kB+{85dLr?l1AdO zMk=}i-MK#qtnq@rG~SA~?KqBUI;EWjZ`~hA8=9E`c*@=ySb=vEu%F(T&}v&^Wa-2#JC!uj;Vmt}>0j7|>MrCS|rg{!DI;WpB7RfR)Qz-9tYjjMjQxqq;0 zz2DozfYtK{UO4dU3g9TybB|RZjO%>S>y2x35KQMPn}*SNGSV;_M>)pO?w2j(k@;D} zAtRHDVQxqPMut)-ZZroOVY2WM+k42S0x7ot2a2t3mt%@`kmYBzG|2sJ#g=#(*lf~j za9vxW0_YTz6sz!hui+LMppPq`aLT{llfn(4mU7u(ex9&*7ajMx)FB*=H37Y#KOY^- z2rFrcY1-riXr0-WS|@&q)5!FiA=eyJKZBKysi*t{_`t1fvT%mZ%0>PjQiC#MW}_8l zdfZyeYgH{X)_FT;crY@X?Oq$PC&?9WmdNagJKnb96q17!|`EUtGPSf9K~>Eb=mmUu&rwnpbKm zkDk<`)Ezw^Dp31=($q%0`h(6R*Lnzb%Z$+s_>`>mQ5{ziW?@O~yk9zfxgxnjybobS zs(lMRGRk5ZSrjdf&<8qx>$vHTvU0ZYSAex{|JORw&!?s3#Di!(>C_vn2!MY}>o?u7 HSJ(P)J#Y1V diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_icuin.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_icuin.a deleted file mode 100644 index b80e877f9502584e7514513a80b0c5b3d9fc930c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 476094 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 YYO|j)6H&~b_%NzfCL&EWOD>|{0-Im06#xJL diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_icuuc.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_icuuc.a deleted file mode 100644 index 095530465ced7a29d87ec5e077023d67470cf1a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 677872 zcmeFa51d^`SvNkpyGb^&Kq;jZC?&0>mQq8qNq18$nCvE@X}3wpZrXyiw`cF3-M!7- zd$;#b{#i>YPzqG6ScDgW7Xd3mMLk%sex5&bc&d*A}0*{@EMs&*qCak8K{?G`?kg!-h>< zWPWehuyu5Nj5yb?XKc-T8T+*<#(w<~#(v{WqW3^{6q-&slNI$in=%>HQRv}#vc_Y>CA)3FFtwO4|i5fSsRY23aK|ibo5NN3hDU6L_hlpwhHN%yNO4P7^mTTSOsbAFA=Rj&MHWcxryl1>sSTp31dWOY+x0nCo`g_evVa; z&i(+=Ik&M2(s|27KQ_TCNEe-y@4VM!A@>#5c^cE;1(yyFK^!D$u3ew$BPNZMIo9LbovI^2~ zzK!Vpa4n?YUMBj`ZdO71y-h?PJ)2dK{t)s;`gn!t6A!Wq(w{)yNS}gxg7jy%6MYui z73nW$i9QcyNBZkAqA#DpDo780o9L@hR-~`Ny+`^-xMxV;{4mkK!hJ*f)(u4eaVe`H zefKFu-+P!B6nrsN^wCjkTxQPuRop}M# zQ@+oJke>D#q7Cn0Lr6b*6VdsQ4(XX=L>HaHhLARXg=q5!*$~p!_YjTW!G@5Y18I<+ zyOn7B8a9M9@d=_`?`K0umqA&Pu2>}63*|z3!3fbb)D!8dcM-ktW;TR$?emDL>)8;} zY=vmkJ!0dO2JV z>GsozUj0}$g!FUJ_DFYro#+=IWJ5^5^cAB21MPzJCdeP@|L!Jw8{~uZj)#bT?Y(RW z>0NIm`i-}+A*A<0*^qwg2BHsM&W4bFcLUMyeU}X(eH5;T^oO4z`uP292EzCTLzzh|%^py5h|X!U7q7-{XdiPk^JhLIlgQKC~n z#DRYbQ#9gtoFK{^o8rjP&5mL|>g{!$@C)dxP|k zP$#5so=5br=d)p?Z=Fu`A8=iy@19Nc-@r$D7>WcL9JBeO5U&G zdh=`8YNWT$61{yZTa9%08lrc8k*!90_dP`Kf$}5056X`8fjOez+09lXefWH$--j|I z-8(|`u?N^{q(8cw=)RlSYNS7H5PfDlTaEPR6GRVeWUG<>>NKJ+Ji=BZeF^S4(t{PE zuY8WJM*91EiN1apTaENji$wnd*FgHWJBYsh7PcDcKW`=a-V9rf^gkC6{qOhLYM?ch z&k(J?kF7x(`5@7cyp63vdhBb69>2`iAf3LS=t-N{8l2f;X`>NYA>7XydhP4btYVL|e~hYmmmiMFh5Y4br8M9_c6FMKl5BLE80BqRW7f zbj2?b?R^FNboFc58l)G!mFTBIAL;tTM74Rg25J5PQ60*H)Ht80wVtg( zy77BN-EXlqNJqX+bo`TS4bsm-n<3qD8_`Q&#MU6)wvFhOkRK9^;W)kK>ue3uFF;zP zyP!-+ufLV(jZL-&>CM*=z4bD-2I=h=65V|UTZ8mYCcXfB)~7H&p;d&-g4`i*&)qh@SNcwiapQ2Z%Pmm90hEdI!B(vLZF#OLQY#2dVoqq9agNq~k9l`q``4TBKXH620^kwifB-4-wt|5w;fT)lg@o z*FZiW^m-^G(i@>|k=}d((OVf?i}W^VQ>0&gKhZnyVr!A!eKXN}E@x|z z-ghq1Z$Z6~KKMDJ-~BLKi}aD#68!>k-qUNqJO@YtwnnHIYj?{9$Sm_ zozsZ^>vXmj>HE-@NRK?kX=K$$7^mU4uo0xSw-BvA%tnwNGfQ;pel~*igv*J}xR8w? zo%wyDr#`|)kk0-x(K#PwBS`1Hljz4@%SMncg#3|y{2HQ7m$4C~Es!tL*aXofm$DJ0 zOScjIVS0B^+Ydx5gS3e7V3gj z-AFWh9veZ5hlv)x%|?)JxQ}S*9yWrs{6?bAZEOVT@U=w8ARnZgDnvI!S&&}xR-%_R z*a*@qpgu^iI*aJ%7#l(Q`EL@v_A_h*>2;6}=?&Kt{qhDjg7jw4Lwf7IL~p-?jUe59 z4biVd9gyyU{E^=Cb)xrufQ=x10CbUlXNu^l)*(In z0iw~n*gB+(Uq!U-a<&fXC(a^z?w8m)r0wq~ntT~shqQY?(H_u4y5j3Zdq2R|A-&)h zqM0eS4(aMMiC*{+TZeS*hlr|>7t$=`hZLVmv;fycy5XHfOSiFgNXzp?otyTdZCZd-eXX}t&aShR{E@JDD?s$ag=fBL>A-xv#kzRK@(HpK~ z>yUmK+63t>dx?Gpu8s7L=Meqc*=!xsyPyn6_rN_u`pwS~z5jl;4(Yc)N%Wz2v2{ql z_XeVm!u62;@CKrf&#-k!f4rUOlVfZh(x*p={_Klv9nxn32S|T;H__*BW9yLqdY#DSaW`&PCtGuI^+>%LE!V5SJi2YH zI<~disLvt^e!bS~)v8eyw3cF4U5ul-N0ANdb=&p0+G|27>QSS9Jl@$`S~|w6)%wzM zHACpIv(!cIog>k*rNSAMODFCgh?)!WmQhSOXOL_m z?(U4bktLQqrI9EB$W;mAW^c(#%o&t&E}oBijqdZ~?(SA&uHIbOH$M;cw$!t9D2H03 z)q$IB+!W#{Y15Gchf7DR*xEaq$F2gL)mv5rI5H!Jc{S2g`RRLOln8V*U*>}iw7b=w z0+3Gk+U?dt)Qu732b*=P`aE$TRWrXt!Sp@AOymtu6il*3K6u}Ew_8ioQh(0QG(~Qt zbb82W6%!EK&~x*YEm-fs)sNd?9IYy@$fMo_o6w9J2e<8S$A|Yc=i;MwmT3x3+P(47 zZr`+8L8Jv(r((t6YfZRm(2yQCn0Jl>2%l8s?lHhk7m51GqV^Si4)KRJwqg}#+mlzhz0Vf7FQ3? zx7tgQ(W6YJ(1G4L6(5cpIvZ3{T&=ac*Q|BHP;?wkEfLyqYf|!5T&<;3s*Z_Q2Td&z z+VkS_d->x{T0GRYBvL!2;-WExMtsyXHJA_QNNKa%HlB7|%vnM{XFU^8%sIX8{I=>c z^vcP_s68Fc#}lnNolTmIr)WZ7%u3x}+<<0M*g-|fBMoe}daKtV%V8-dL`nS&UFdaq6|}+d zT&cn1Wg48C=7Oc}N{v)AySKT@$TW1YU3HgG7bLdUJ3#f1W*c@J;Pp+JPB95xt=qrg zDJn*KC|Fd3N5vkXsM~5gRlzda8k8C#mvR>jwy9@jOFE)`nj9cgadV-&Xlt1Q%4?}5 zpk(+`*qA1tH0zzK+x4!~kOo`o(Uo@{g(mI*QmrD?J4q>}T8uhZ#@)#B`LG-&pESWp z;qwKog$!p+>#ZB~G z%}Qvl&}uDflZK_JAw$S4f0PS3M@bETR7kl$%Kr~&+%meuu0TyPd!23@Z^Gh1-m~_~ zA|}~NZ%?|OWGlUNHNow5!1OG0Pgz}1bA%KbQCq=_l1Qe|!EQcrZ06WFrut?kX!K zGbN_dNoGQ2Q==`}$)H4v$J5q3PVSOLavYKEn>Vws3l^8dQ$gcXI;}k2JpdkSW3H;=F9w%lgN~_xZHkpVR7Y?3;!>kK}LJarxHqQ zqSv~ZPe}Nc6t9JoU^GgwazVbONfk~}HCjUEx);V^X}NN~l`C`voX^$Kt8^3jpcg^1I7*ZO86*Q=Lc14Sn>btwWsFY~eEfnIY4+&ZP<2&67P=(?bt&{S-xhj!jolU%8V z0}xkBa-~+ibD+Mk*qv!j#q-G`+A^JDGV16_8Bx!AhqzJ;9MoxE(L`l5UuuGJJ=lpB zGyE%j#GadfCN5qFQoadRq0|5$fzDsHMu4-ja1 z{^~cEaD2ie&Kg>yiY?%}2-1VHI;cYoCEMHDNuhwGjut50-StLekLoNkGr?6_JL~OO zj|HWc;3};hhogD}N77TRS_E!r^74*crA%rvE~&%x{d50QN^(?K$qDST+GVfGv}`x*Y{MQVKP?3e16? zffNPQd_yx)G!um~CJ;4t-Po%i28-pOHdRID&ih>-e7bTgWuj!%i?v1?4kwNgS7||X zUdI(gGfWUu>VU_EBd1QEf~KnQ^z-#5L{w)Lw1kU?S4xVMewMQ0bIlr#ICr$$(J@{+ zvoVq)(&x^-aeXmQwR||PVQj(je{E)u|HNmcyozR!3@x$gKXbWaDxCwZBUTQefh;BG z)k$g)lXPk=KE|18@z~-h-V(@w-&6gxWQFE@LM@(tiNEIu+RbX*lQ739+ z(dd*Rjj`naVUUHl(9VJnu{gW8+&*0G)o~7Z602@GH>om}V)Iyb3QNXQbdLiBR4L%1 z#1OJ3#P}dG3M02_EvhXlPY_GcJ?==2RCboA2`z)E+7Ldpgq%ULRu3X%YShTp1&ieM zrTDlp^5+VY$2B^~U}o{?E?CH5?ReECFLm@aF&$2 z$&J+L?2)~hhSsgAunb+uky4&8{IF4j#a2wN(+2CHMuV6cF-R7JJJ7OPA6#qo%PBr38c<0aMIZ~M_ z+G`a9LS}nK2|Ih5ha;F+Z>9%3sWcfnB6lsdU9)6bAx)<0n<$xv*V;l{9cm!BBIg~` zlY92iP}8opDInc!Q=7EHTpylbSHmN|b)+)`7U)F@tCS*@sSeIeb|HmX9MG0rsRe_# zZoMXZ3LliqhY5fJ5~L`|vzekVz@1Q>Ya(QB&CT|I190COx=i5iBw7|Q^~5}Umk5&F11LQqQKMQ9JyIC z{+lFVlq?DU782V?%_}Q4kCwz}bN-vsG+Op^Yo0Sm7R_44oyXr?63^D=>fqEjT1V_> zr!6paVYUr*YcP+tqf@Kb&C*aJN5e>sOT;pgX%Xp19eAeJbd(y~IaW-rGuP-GTjDE+ z%u*O!p~YuvY!zZjx$SYmh2|P^O&4BvE^fdI-h=jhh%4Z^!Mr|9pu?mj8fNQWB_y`? z)a0I>`x{Xgmp7RuRf#MGH*IDby3gFfY{N32!@Kw$-_ddILY9iS7W$F#u8GN=dnV=N zH+F3cS0alvEi)HxKUc~mMTzo=>na$6x1ffB0H~zBI+sQcTjplzeTsrKGt+%b20# z*J>hzWcAKona5mKZL)OS9IRrP$;8zF(KT2o49kj?UE~Ea`IM`Gla-<5aSgF@S=d9& zMR24PRx!Ll-KZC8unJX2EYj(lYhHWQxam|ES{e+qwlIOLqY9Kc4t$kFPXk|}gxT6Y462r&CG5rd_&Zr~`+ z`XgDa!#AymT?cUv2?A!y3@1mxjw^QjX zp_OK`Um7j6(_s8)9#;SNP3tI`dGsr)mYFGZS*&{tjk0&Qmgy9kWm5vJ+rQCmsZKT7 zTAGD1NONJb5p~pqLA7~8EYi{4jrT`zx|dZEQy_KC*(l0a%tz4=2)@D^SvwoS>n(MU z!bTW)9H{whgTtjs8UM{C*jcZR^h#q)sd!3by1oGG`Q_E6j^HY-iFPZR1Mf-oG^wZs zJ-9M%&_R613lRL<-D*$6>;^3ch#KayMjuto4_1|lRj5-uN@T_YvczfWj5*?zWPHAu z_){>#tXXU29KOh(G@Xn!Tk641q8@ncGm#o4i!2QR*M(Ur$WG0E%UgolNs-h~gzki@ z;v=ptJMZq&2*NzJLczS9Y1F5>#&-q)8PJ^^#S-DtteJSpP(c5qwt8qD1ma9se= zRWvX+o5A2ptr?s*qH%KCq%~#_sj{?WE_UEtB$82Q@pC_Tl6ubHX3BibQLE74EGeJj zD29%KesQ8^woIj{H{*SQEaKF zmNq1sMf15PxT^A|Bpx0K3D>Ui7@1sDVdk8WkapB;K{&t~fnnR#Og`6yrBze)LviC+ zikWw0l%iIPm%Fm)I6-pR%*=kXL{Yj%O6u%XfEsv6%`efKU8QI8lm@hyu@z0G6I`Wb zO{YjD;i=(IT3u5;M9=6d#DIGc+N>v*;dp5BD^hM#=7UyUgL9>pvA9~omlO>F>Ehtn zE}q#e)f6$MgRYFr1uSLBQyN$%z8b+S1ZXL~rHOZam$Ci0fkhVDN=7MYnu=H1%-Ud+ zUJU{_-Iy?41#gxNd}zLwUx?%T8iSxHfh`UMaJ}nkjX5!l?_eW`-{SF!n5Bn}BjsDpRGj zH)u;P*Rm}vWGAdE+E5(h;Oa10G>g|Wer+C`*p;Hh*-FpuwlcNsvHG_$oo6#uPUZ$l z(Lto9DN_2%L)epeFvwJ{0;QD`qPAR*NpVwTQ#@Mm0En#JE227(!g$aaAtbzn5Cn+q}7CZd06a1yJamT;8k5|N-8UV zD+M#PdD*HNmoS7*nw0#_dctznxRG6j6fs@F7FZWah%9}hr1CCeONk_g)J>Ik4YMXV zi)Cyp+W=dob6!sMc-m=$VdNhr)HfGbAe98q@t-H;pn3j%pF`*)^S9hvO9Faa*Q54FQ z#`!b6mbfrR%D{fxjaTO!kt_V)E)p_GhB>8f|s}o!6O||r~21<)F zwGQokw#taAg01z^FPXd|h9qFeK&OAb(zWPXPIDTqnQTnmmax!9P1Ez5at7sSZzSYW zxs#CppyAAAP-*MjyMmr($vb3lNZQ7| zWtNmUB<0=@R*`(t&Mvq(?&mS)czKTf^mI-*q^6Ae<&&0vJ7{ovxG2clHl-OoJR^t8U^NLf)dY;;R9G!btkYrq>M}SqOh4gO z8bc)X;SiyEBi;e?Tsovk>Xt-lPqvnpT20JHHi^_WBuX3N?`f)%O?oh00+C%~sK9g7 zTuW=S^36>x;F8udoL$qk));d&gH3w;!3;;c!II|PE!Z*zPdBHaSvpP*R!bPEM46B? zx!9`fI5{tq!PYrCS&2NrwnMP~N_g<=oe?}2OF;PmD_v1=m6pA3P-Z8%N(xJJ1I9#EmRVhL*}jJjr(B z>Q8vI?5r=;yO>*Qi}qLUpJ%c%sdF7+# zdbL(VJ`iAAZhUZZhsxWPDD9*U)Csg<)#{-R#z`hy4OkBeO+8_4x9Y3Yt2GaUM++ld zdB%%GMv|{Jae{6)+(%=^Oyy$AoD^aXEO`ZyMo48U?9tq7kR?<8ueex>f|*t|7F7hb zp}pvbHG^RBP@@Wm0CbXjIUPP}!upuVEEr!g0~{_@D@cs87&BW^XA)xt`(Yi9G2w}q zgXES->6?QismOUkV@G451!sjVF4fiU6H+q;T$i7PiibYv7&vO0Y^7&b0u`u^;Ap~h z%OtED<)G&mWiKR{MxSci6h6GX<(UMgXTc%P#vCR#; zq9E$tOFdyxEQ^fI1T)eU?G^SDd2ssSBxEXFjmb_Q?d;`1$(mvNmq-K`Wd>^*C26nhk~fEV$1yY!T^*X@t4R@^OdIQ zzEO*7>jPK3vJOKN7~2~g`o%>}iOfyxIZD%}-AG&_wQ<8)qdrGx5hhA%%MvLZ3l0Sp z2@D$!OxsS|x7U`*E0~c+Ti=u@ZNpwCv<->Wo|H>ccnjP5woIi+nmDMFVd3DH8jqyp zY0G4uJKP5}<|DY4R^py;9m3)~J{;W#h{@(Tafan~7}a)#Mw+BoLdx1N!QZ9>lE~K- zQLc?%XK~Wp2aPzM*Id%7AI0g8X*`S4Jnfb1CS^Ru9PCW0Df5L(kh`#R-)y-I4W62o zdnl7>CQFJ)ADuh-+_cOPH^5q=wG|4i%rPG=F|=KD@SH7t)X2o|QroMrc{Eex#vcRr zMTsTk{Nd(2oyEK-@k!I1B;!}2_#FT5ESPjW$rc7ZNyOBWGRjSH!SGw9vjjqSH{v`q ze@E)1a;~A1pvcjmIM%iOq}r@bLBd|G(S#*eG!Zfh+xwe(r+b=+>*Fy1ptsL(Bq0}r z+p9tIaZla8BR01O3+Lmd2;W^XzYSX6-0`0#O6bqjyZYc}Tc1P;eZJFC-6QMLB(n7J z^$$3&o|Zt#RElmZwKS5g^uQ}m>@Jf9HzcNZVtPZA8kB{=)SZAy%tLz;%PWlhZMjOx z{Znc1#07-UDt>`Q&nUGaQTYKcz0_J@>e{7Blmn93a+T5^CX0d+lk30;)jC1~+d=W9 zMmGr|&>)`Fu(r~QJcuVXcJ~?$2fC1t=9`)hOoS%!O-%=`Les#i;D|Ssm`F`XDBpT# zx;5Y3*@ENN^t1prizSe{lOUPK7q1oA z(v-oXVexP;mL=v4kijt|{QPN{?bA;$n=7;^%m{iqA55&-LQgy|+zd@YZ?=7i8#kGm z`b`pCu!S)jfn_e0JgJeQz*!_$Lvk|<#pF8e81|k+3_F>T#pjxGrIcA7#giJf*qq_P zB7=%xavih?2YSYVbf}}5N{8n6QZ-GH(l<**RtGcYF)yR?6azyEY(}$MmjC9t)zyAQ zGf#udwE%}$IPh({y$&3KW$HRIH$|p8le%R4?9;!n;E=f`lKN(=7&QiUQzEssmu2f} zKG%dE0#?eHv%?Z-Ch64Mc2mxC2AAPHy0NPVQ%e@fZI90=3;B0yy*+80J{Ql6e6HCB zL>g%pK*tAcW^cAWSFavHpX>m<5(Va?)g5pImM$EYW^Us(vymdwhiB=5n6sd{5|25a zDpesR?UhE5!%fJgDiv&+QV~t5%Xvy;3brs=RmEpM@{|UQQJwYxCCOHLFdpcd<_Oyj z^dwvB;XY5CEH!5xW#RZHP$i@^ZECiw>K%B8fmK#pVrfsc7I1$>nz|H`KEEZ{CJXIo zd9gD!bHGZIA{Oazq7Wt+)FXpe0Zj{WwU(V9D2TSLclIH8vag-0K>6YxYxlNjuF&E` zmn-$F)_57~ic4Bx0;p|`6IHpQB}nKdGgZ1MNa*rI)2vod+9Xo?)>8%n1d8H$C4L=< zJMi8#JH{&uYsple{d*l;z*R^|>-0J+q0#Gr52sY%!h?7&y_iX{x|%|QJUdX@J5hH> z?xsw(vPz=w39_tLG|A@E0+p}mDk;D)BuVWQXb5c!8-kY#4ojx<$Cp(p4@?%D*9A_d zv3~2rzLRW2&wM$JR^wcyMd#)k%Yvk$7AW1xUZ>l_ExB{nUUr!xDc0#SEh2y^%_2&6 z@@~^*Rld0MO&2o(CR<2p_(K(Lw%x{>YiKE8rRW+mk-~Z~Bbvnss){xY8h55;N5dR` zPjdLgLb|dkvh=gng`|h;&N{VdIo7x_Sz0bzTuB+o)cHc9i4BgB8YdEw5E(rfJy~N% z^&2JDm{I*k35^Towd8M*#BJF44FUbDtyv|9Z)n={Pg+y(lbTyb)!k0$qQub7C;+j0 z7%}R$4pr46a?Ri}5UX~E|Km^MFRKmMn4$weIiG9D_5guS0mmG|i-pY01c%arG%2GT zm%)29CHyx}V;(Mrh2X!1WN8@}pzs$z@F%;OLle$^Oh{F#q#l(454^D@@LQyTj%}PJ zN#zhcuF=rvr=k#la()fl%xEe8nbOU_DOenoVW0O}!Kysy9yJiA0u;!G?Sm@c|1{c6v#U#RCoS_Qlzj7|`mF^I|Lx z?W4g{Ux{yBgd5R-&|sP zG?0Xz7x*9Nksv!(s*v(Bo)@GAsKWnP&kMznGP7X#BqzRj2$)wDtR752ADzP`m@1`W zpv?BgNiPX zV}+3o`|3uOc#&y#}&0a^LBMTJV|%7xFiD&(V(_KiQA3!j-3Xs#?Of zADVPlk{-_VTt$OHrDm|WT&&$lQA6E>(=Iw_`f z2<;`@h+vgXbGg>;$toPqI9Y{NryXM<3*M`wi0fxQT_J%ZqZIJ$PXQi2`6XNFxjq7B zYdH^G7b-UE9({;~PDr@+1k9V@frs(j1Z*cbWIX91fh+7m9Hz}T9H@p<43yc+4m1N~ zxV*?|1!)@6rM+s5X3;{i=71D>0~$mO-D#?>NjuWCQ>u|FtTQS#k!Yqeq05wP2AP#}Q6?#UveP zDvw`PbEOtIIClTSvT!62oAh?*7try1@Ha?c{TN0lL07+i0<<$#desP~RB4VymPm7i)bvETkbF_PnKLc>p4wc9 zY=gh87E7z2_#dboKeiCYMoZ>fyV7MY*PPeRk_!H`xf8(ViC+ioS4kzg;`jdEEF73% zK-A?64wz}{wM-6MFz6{Q&|ve#FaCBAY$IDqv!xy`(M#xX7Rq@)RY^>>qy!?la5xU$ z9I^GPWBN~7(u0$Gud2@Ms~)UQ?wFdI*fDuUb^74M^vs@_gEPBCq5A8jNoV%SQ`NGh zY5Xhp^h<@(lvKN>CwJ`cQ&J)4DR&>(cjd}8?W2{ROQN<;dX%T9Ow`y(sp_1RxV6sE zn5j-uAA;F&?)OjX!9cpqdfYH*eZBHU_-0(MyEp_3P(uTf^|P zVHIPKfRl z%4L4GvrSU(V#!CnQ?m8OrQRvPFAZ2Vee$8x*t}Rx2qWCsKT0{Xt`bm=Fx3q)v>MBMtv4Z@OhI~ zBN!>-PLB16*u?=5JHBPBgV-@>H(%){vY+^|C4_a;X@3+u`dtt_IV8dpAU`~`ON`!_;5_H`R-y5riS>3BgtxMtmFy6 zI&WRVI<_yiss5NYgUalnpDRlo<6rE5jP2sz^i^TE!+)xa;2J&(bcg5~*fTntHf_6j zD|HWL%f~Zp`6VFWAGGCbd3El98$-R>?HOnZE&}aQs3S3AUa_Li28p$1|HuT6Mb2md2H687My=sC_a!F>WSvn{#3X9Byt z)$j^KlA~?8bH2Je%$n62=y<6imrtEYYnuVNYu|8*X@V;<#as<^~clo6zb7V4vPANF6s-7 z_A>;wHQF}{4*sdI7JNHs7h}T|{-b?1XpE0~Vtj0~W7%(k`@Ry!uQ9N3A~8N|T(=*_ z8|iuu#t*0KDU3fB?%$vopAi`6M>%j56xW*5Xw9_d8=yw=Q(+POmvGE$Yg%w(ghTXZ zPehNqzDjAe&r^ubW3{IxqG4Gx9CjVUYL!A;?I#KVYpZ>cgf#rEuqBOZU1JN|20I+W zH+dp_Y)fgg;SQ1MRx>pU;dyNK0gZ43ccIZu^A)DeJ{M{vKNVJk{|cKO8z%{Jw;PuF z;8L_;nBIDcC#J_Qb}(I9ZEdwrgL^ipAMyf)X?X%!v2l%0F8pY#eIYUUcZJ~;lEk&F zv2C;!HypmVdE&eDv-w>LX|wkWeDlyUt~lEM{Tk3 zDLkmf-X{Jde?Z1LR#v* z8rLV0cMTXuU%HC#&s9hd>s?>$i|KNfFEpmF6qv@?;F>@wq{5`12K}^@@rj|V)FSvH>UC(=*JSflE!^v1OW_@O^)oaor?*QDzyj9&nG z42tpH2FACH!n;${s_+$nU?o`uFyz7o7)1@lX;%t;GYV6F?FrQ@@evL z*!PT-j+NG(-@lO7eZs`P*tJ>YQR@KK9WhNccAzfU;SgTNK+}-xj9GsWbB#Mpgmb%B z+&ydq%rzpqZKs?#;V|tR11XHAX!Z#cU)ow)MI);waEUC^yIa_bCu``_@}~N58uMy z0etssg=Amos~fI=lo3^azgBt%tTcC%C!+cjR{tor-#T`fr`Fy=eY!@tK2XL}`Mr6xK6#$=<;KlEz>!g0%nuMxrPBfQ2^gdN zl}!Qn-;MglQ^(4cy9oXS_SIZt9)D#_Vp?pJF7kZK0OL$&qx7hF?|isjrK6rv)Uj>u z?BeZki&t8Yem%i}qv1sE)+oZR(u)mLH{%^0csKPCcrRz6z40gW=bq`Ms9*$t7WLp; zcqxExqt=#tk`RUSOFSc{W2Ft}_c5dm-)f<~*eD;&hT8`Na2p=9qw>4X@Cy9)_2bE=67JHbwSMp1}LPX}>XUCO;KchyNyOtSq`#y7|n8Qr+f0Y5s{DWjjrRqGfL$g0K`yfrtNPqNuJ ze!0z^2QNKvZM|{*#-QsMHyilg-D}pm^;Q#K?O0@t#pfM#9m zB+d;T+^H8&i-ePf!XE$7xK%U8)`%b#uF zTidRa#+Cz`b*+;)HzeV(?iuGCE3qCN>l-E3=Y`X<7hgks(qP@HwS{$C5)SL$@l4l8 zFW0JQza>xX=f@S+X@aH5zB&4B_|d+3>YFNX{3)iBY;;o#1e{y(j%m6xhb68xuJgp{ zFOs;9kK&PBg&uQy#_18)ytWpqi4)FN`$ja&7!S8aSw46kTm3AB>1MYLuiq}Rt@e!Z za7^>s+Mp&@I8=K_E=x;|u+Bnt9!q_pMD-lLDXZA19>7xb+FGC{PB2Vw@{L=TCz|)Q z)Ok)ceDHT6@ zuJAd;;NKPYGw_$AJ*DObNv;BiOJ>^FQ+S~DR1E!G+ZNdE_n}~8*TNB=j7Y^6HkTe!WZ8awzF>~IM8je(Xi|Go&%GY);4f$#$~#}dsp ziapQbx5h=o_;d+5*T(mp`lx|{HTr|%apieb>0k}0$4PMf- z2Po>c+8iszJr8jMHJ7m_U_x;4k30iZT7UFq?Akk>z|{!X2YlnGrEkygVOAf=Z!CAuXlyGT#=;`%Ipt9CiM&01U5+Y*FBx_8vn zUFlWMt!t#`@lc*5kiOIsi@dgs7JBv(dpmygYTdNA$05qi8k-=u_~9__8#gVzaDM+n zdf{gXjMqC?x9eR#^;l?(`+MO=jZKJ~>|hAr<{Kd`R|fP&c%GF3PgDpeUuD-(n0)KN zx?Q+Zk!KtIR|eEO$(q}McckHP?;SfWy%z+2NXve@!2M#>xiaoXJMmnABIDiPdogQl zBHiML!?<)M~2egIfPD!uCWPjgBuRtzLC!{_Z{Ws$`u{?%yXLP zVR=4AQTc@TYy zM0BIoDSG6`|0E*&<;>iE^ZExnoqv4XH?mn`Iyk0(L}MD>)mm&TJrJgim(>bPhkRG< z__%k}(%m0auDQ~lM;_05y~H%E`rk6Tql=xU$ey+Te&(92vE_j%W-u>g+%sM|R<5?{ zYq9gJC|ozx>vY>y2t+R)3ir3tqG}fZV34lv(IDC6YB3%!>ocq%rc%GS( zHGpq8HEp@tIT9@w-23(#RT{OGxYqR#I8)*qg)C3W3U0GkOHAX9joLU_QfQm)HL4_B z%NkqIR?Kh~+dCRruJlIqWzB8p8C4ETbmOri6USzbEf@RzAg`6)gl?n87Qjt@IE;Ho zBulTPAI9@|B||303vRs!@JbNJG9;-H&jNZS-Z4pcCw=K@Yfl^R>7ct8DiYHarYp2Z z;)S2E$p81hgfaFWuiNe&1Qt|&T`Z|i02F!8QIvo@uOEpolgw@U14~3I`7M>wg#{@ zFPzo(j!c$gNW4WM$B_S9QFnR*-p5&ZZ2OHN!9XL9RgDw)*8Ff7_l-@Kwwqg_ER5%| z-H+H9KY467;#iF$4a^4|M~?YMBrkTykvG9jUeE9LFx!ali{$^OFMPMzMIfIcAaI+v zfo-~e;~bu6(EqcYZMt{kYzKCo^#9y~dUee3ym6^H4FA~**SyZSF4KA!OFb;#Hqcp2 z*V}69Z3mrpx}MsNa0(ECXhs3gP^s&S; zzc~bH)rTGxmcK8sTt8myIc$F{V@*xJgZ~caZ}>(X%af=2VmZ&rQ~xcn9CxSVc0Fpq zot>L$?JN9RZLgE3a7F|uS#uNVDbjGb_l-wx-MWE3*RP+uZ7s(@>5u4n?L7X-_Z04n zGV@1XMa&&fe462`4rAy8;z#=3D}1BoKf_YGjTotj%XcctO%wr@PLjNJ6aeV)k8cN4hB3ltge z(pqc#eF1MX`l_%x{6|=RfoR*DD`qfsUtGo|dE+NWjLs~{@fBuC@}T=a3Egct3$xzb z(P&^nP6~AE8XHF3V1`4tcU-buABE^k^a3?+l4pI?cT98_9NB*BqhNeVAU2J*=}x=^@5JoL1tmqc+FtL*#JQ7poT#;BypytUc=wG@j+Zg` zet16}goDO$zAf>Nui2QUx7QaL>)tW=c5Kwx!nw&0hjHInWw}2XA)aZ|^I-hnO^hFi znhSBUy>P!B@Z6pwmZ`=L#05JX!hIu{rPtCI;d#84Z(aV8n^PNBz|19&Zna--G` z)J<79y!%Eu%UQ#|c+WGh@^1;e;{}TBwRq1OlGlPWNogQ|^r4{jG8S~PZ!EJsW34Z` z^USL}Y@)m1$R1!`1+BOX>yVf(bW)i#%iEy^mPc)-ckV7tTie#xTd+y=b?< zcx$D-XxA8HvJ<%%ZPvJMzrARUbUkNmc{p89+2}mD{)WW0@IQ)-Yriv1AhuKQIKGEs zg+sM()Urf%aBKaK0@cmA_~^d*VvidAQ7vj~8f(c4hw3s?nTA%!R^PmWtm?GP3??|OnYXj!4EF9iFBbDXb;(52oTzj$s#DlJ{`iB&}^OYBqtzNTR zY^#0_HJ7nhE#+dVz05v)tXr?<*O9cZYqR=+D=(dI4Oi$d=!G zcbnS-%sG}cX*k^bMm@{bwS94)C;IdE3io@u@e-N*BIDhAbuA!T*Vs1m20t9eeIuOZ zIJGav^US_HWMRD6_S}1%D)5~!;t1`4bLCrnqnhO!tiGtuvj*#{gzEWr9K%^T#YVOF z8Z1#;!(K~HFiX9~H_v^DpDW>wX;E7P(~=Vo)4nmyZSMN2+hLfs zQtan?V;=5A#(r)vuG=s6(@obKcs>!m%R%Q?{*EwR6Q`w!9c;z6*Ep|=AAN?zC^7hV zg<;?2XGkP!ZD2ep35RvxIA=MU0_&}%VxL#&J(^T##u}%gob$tB z+&AjE&5h-k_FS)*&1291*2Xw(QiPsV}LJ$t= zzLC(^k20ZRvVrl$tR-7kg0e{BLZG!@kAI)?B>5Rd06Di7hnVpDr3k zd+FN+2me&qOW@nG>UQl@fS*tZ*8_YbpXJ#T{0=61is}J*eD*InJ)qdA_ul^_efGp& zWs4mS;l44>a#eX>gy)I>{I!knLfdrjRpk=KX`|7Q5g^~VW;qh=i|afi(Jx9|FD*CX zrMTHeO9r1J`{)CVM9o@TzKSIXX2C~&W1ZvfoJ+Y!S;s3M|TQwp_)bThx`!)v1PG|5zbzhkxkz62|Mh} zg|D>pEzfxJFBPJj@s7^SVss>)qx;VozR{E3{Im}KH^j@hChEu~ogA!fdh6fHk+ zj5m*BF2FI~F^X4E93Ce?4_R?|E6`O%Dn9dx?~ZM@Rq8zZMRK9 zIHdbVHcQ*h?_{D!s5$REw)+7C>6m$uy^=v}Hw18#$PPFcIO-Y494iqW9MOLv5gkW` z_p=8;G}hKaG-rgf(Y|rXaxHjpM1NKwdNFG6fGLqe+i35#;5DkP32DIzhiTtPWVy?@ zFQ)VCGX8VIbhNzOIJUnH2bs0I$96R8QPKB0c<(Y!skwpmG-){8`$j6um4tn9e>zA9 zU1fE@iTkMAjoZaO+YLw8_|fs3jl|&J71n~ke7=MbEo$r_UGjrre6weaa=ctg$nR9v zm@>~w!ap-GzNguh=KZRu(Tnk7MIK{%uO#GncWR#mzN-+f2lz%Y%Xm-U9*`&A^BK_t z=H}EUw?d=dJKhti8kYTtPmKQ43f;8FrO5UidpCZx|8hPt_;-aZ zz+duT=H{HOK7jVnyL>kL#xct`v++BW<+tQH@98NSH=en5tFsmbcYv+5i*1IC9^WN) zB6qP}XI!`6858C%J44Tj+-K~HQ}N6^?|}HE!gNvaEWHct-q^s{3*`y}(=U-eI7%yQ z2EJ_z{piD&@_mAveWRD4C@$`hy765g&LoTc`SYL>e#5rmmY&odK#pF(;&Caf15<$k*@3Cya-HpVqO9KwBL zoaJ7fz6j4V3;4$h;rOB^Fy?TDBKz3b%kiV}!ndrkjc>&bhVMqu)7u<08 z_KjPXYp?p+^E@NY|EKW174&%Nt%yL#GIL1GwFb=Oh zIM|66V8vCDZTKLwDyqgd#5Fq{!hNHb+uU;sZ-+9NkA?k6(BbD~cX&*PQ< zp^5P6#a6q!H-e*v3ytz8b30(ptZWq={8M2)_?B@2fU~Z(gLFd_4(*=t%<;|c-um)X zPCdtxXD#i$7TWo*nr@MkDgDQAO`=gu$RJL6ZOg3yWn>;!u0{) zm}u#@^ShTdF3sb&|AE^F3T^EN@!Qebb5yHnKmWyF(<%7jFzy=-E%(Fq#dx0ma38fW z9^t8GYUy~9{dd3pa2nHQ&0YI$NyFj3jFG0{S-GHi;>mU}=*NvwN!ogsJadk}Z{nUD z`9j-ve7@mF`!v}xQn2m3#tzPj8xG%PjFjJ#gimrp@cj`J-*})tl%&Y^d_a8j8awzV zZYX?@UE&)fE$184`hi-ni1&8T^@_iz@Xe3<MfNOR*gnLFs$2V_r zR+N`BFnR`NLk@(0SRs729Y=>c6LI%Q95<(8+`JD{FhxfDIouwY-pWqF!9NxDa`=`r zFsZe-k)N&-t{3>mPA_)X29*0MbT7!Wui|$rJy@Mu?Hq}g3ypZ(CxsvFpX02o{8U&K z{;O*$;H_#N?7Z5sOMGLby^$ZBU=(Lxg3%+8SO1-;TPiHeRI2mfUNP z1>)GQwE^&iAe`0qjg^*XA@)Ujo*kaQLrBME*9VJ^aIdov5#dx@1KENR4$+?R(6Q2X z_eFFb+xE`Z`+MP*0oL`+z^CAx_8vm^|;I3724y@Gc*3%8tJ?1 zjmDmnV)u}=-=f9|h)ZrbeEUW`%iVE(EqNY%e?a4VXT2Tc%YF*&fqTu2OMHtOC-5z~ z;qdJl*&N^G&KuqVL#~z9DbCTb?1ZmVY#P@!B9Rw!kir*6EVqHq(R977rXEH%Z%x-z zqfCrq4?4>HEsgIThogEUnr*~Wty#qiB%P|#a(YMwy6 zD-VZ#->7FfTgdMpbpdzhT%Os&_iOAI8tdM(g@|>zLQC5CM}Hv8dT}Dl*f!q?XSv?I zFP8JHH-8^tx!$aIr@K+@(7xFlxU*8^*+Q@N=7{5Dtqt?-h=N(}ZJyE2u`zelc?+1a zmAsZ~jHmsH++8tiT(_Us(n!~Hyq3f1ddh3bbGGMu3GJ{gY%f1~sK_YydjBS(T-Me= zw_=4uwP*Ble6x${GKR0`QZ|5vAJiBBO+qy+xVs8s_ONwgZ*OTfZo}!@aQ=SOD724q zE`Q>g5zXC#gMTXQ74Xgd@yyyAu+P>B*AILnpXG@b{63PAcm47_zRY{l`$3`c?{&g0 zTKOclO@G~$g~PjV{Im4kgX8@-l6apuc13)w*z=6uzPrXW)jHM83sE?<`^HAg8TGzs z&oiTbPZI5Lg(Ca!-ZSbN>FG8-G-I-w(Bl1Tq{LM%_!uFjFM(VHJ!Cx80p1N!Uj80(pRPHDUTfECxgb5?pCNa zMxj^NyNkP{Mq?Hh2|%7jM*4Z!u<+4qye=mO|E{oC!(SOw%4z`{{Fz$e`h#bDb!^+X zvq$=NkN$AIfuj@IA5Qd{jCs8DUrp-|fRQ5i0gSKVNB4nIV({+@!_)Ut`ar^!F>oKy zPaiL1sQfOhWczP6`fS>4Or99(I~=SResZ~Uzm(htO)Rxdo z=UD;se-+wkC#hP%UU1v~RD3wWNBiX4h{3-r43=yvpFB}>8}mtFIMn+_MoSyd?^#G2 z|CR*mCyo_AmNbZsCs2!8r{P_Sf}wrPH)2}OxAaAOp81wHC(w=;D6-!^$b1VSJuxno z%y8)TjGUJ5)aBp~>aV{^p&K@09BH-Zu8JDHf}e;n$n3dYYulJ7Wa04c8yOvQR|?z$ z5Au~(3Y;wasq>t`_{%2V3vS7Aeic93OFx$w{JX+x@K?^9<2EY?-2vy!$9yB8<@>n! z-O2LDagWWQt6$!zFb(6+tKcvUI6k+?9tzH|;z#3pBQf}Qg|*%mjc$V<&Tjig zJxjaI?^G7X^VseGV`3a~FEYLdvD<*-gx%(xaG3Utb(U|k;E>Mry*Ge(P`mvGh3VbB zW~~dyU_^~wH}>j>;Y_-suQ)%4n#-`^DQ~h6d+1VYZ=3UUm2kblGd5c8rt9Ae^6aL2 zz3K&g@2ItEx5!q0kll1{&29Ln$irdZH(EO8#*fO;sE!}yS?%&mHuekc)!^JJezezq zJ~8-rg)P8e>9x}?@f3`Q9Fh9QMaz>f_#Mjf*7MAnzs|rltxGMo$3Do(7Zb9GhJS!PrOTA#e-kh86&8mfag+{;k zDwkxf4b(fLaA^09ibb={5!0U+Xm7MS zF?OXQTXXMsjn;T=O>7e*9HKqrrDNr+OJDn)XIAkwmEQ8FkyV%2JC$+Hsa;!S$ZAT0qn%$Q(?ad|D$nq|5h-&!3vt;`i5t`vyA%F?W8W^ zzKd=HhzIQ(x2N}w%cAC7BW@SFPn<)|Wvoq1S&h#9n*`Ej?fY~Fr4p_e_{KrY6}kMr zX7z$RUi~ZVUQlS?2mL?%=qEwSid+-*mRm1+LckTdTYY1n<^DN--?DI>XLj*6iE9xK zDzZ=SwSSIqZH9wPPB>fb8{r&xcTb=vyplJ6ErEcK@lK>SKW|*u@X{S`-W+WhdX6`r zF*;D*e4aHcFV~oE#$vQuWL!Uy_j=P_UnDsAr^1%tTX^n`maMVmnHcPF2=|S6mhXq= zcPq zDq6l1x-X*hoQV4piRfmu6jy7FIBHjGQEd?yYZV#YUhjk^bUQV-pzcb;;odiHTF$TZ z#eE)2ev66wf@9rpeuZ0dM6;STG&sR9y~Q(HTCPaskj`8SkO$K*7MO0s=|q@&k?ps? zcfxCHnrvc(L$qg%bF5sm#UY(FpOPoKbF)BntGB#d^q8jKnk}@+qP8ZcB`X}N%a~;v zTAg|D!|C(tY92ffs()6Xy1o=2hk4;b+iAa;C8Ao^)`YdPWv=uKLu6^T{rJo%f*T*%k=X%SW&yTkV?az?Qm6?qohI||w9 zIyJWpxGN23%YCDe<&OKb{-I_}a6C2W9-hMj_pP?r%UE!{`|aLDd#-A1!dx?hp?kE9 zN2a0HvFa<$bLa6?dW7yaoZmKwg($Km_l`$WZ4FclMmR*5@yH;E&NKhl6^M?bMxzBW z_97$Ndqmk5wKXvaIa9gi$e9z^&jymaM-_qM~yUw_-v4hOnX||ZI=Xf6NbUlUWQvi{J`qgcP z=%S#R?;8RLV*kSi!9K{?F#k5^N2G_1f(n~~ZyUmoe*5oSy>+CsY17!KZ=7+PyHoOZ zsKQG4z23O*ClbFm7}xEG-)_2|gWsFe^%Q>3fO|A3es2``jk=3_Iy+`Ntwyg~^cC5- zpAJ8Iu5XkW{JX;N92e>ZcCAf(CnVu)wQuZkn|sDjiFJMMaUQHMORTp$@no;vj+?c@ zzn|wx0@)ht+_4he3cFEb-K@0*bxRNq>AvyEi(RCbUWrC}90#rI$s9B0!E#ezx!x?4hrNX5eH0!xrhn91 z*OiCu8*wb(c!@VH6Tf*PFG~Wy(b4)+Z)tzG4fz*&-s5!MLZ(f=P;l^1g&l%#vdOx} zre!v`;q0?_WYHZ#mS^o~Ujy&$pd-kJ!uOR?vs>?UqGIFQdoA`-bX3*Y2DoMiL-=Oj z=wj)Cpc%@v;CVcdLki(VLAJENvL$lO@d3WWc_5p;V~OQDK6%%SIYTwamnZ6SgTya| z5)18pc(3DIqQI$Tn0fslwNt%bdexhKBZ;L=Mo0&>$#ueXqqR^do6O7mC`N^t{!s&1 z;nz2ASkBM|$L}KHw+>sd3vG|RXXtoM4Qoul!}-U)F~ss@r@mOuv!;4MV7aru)v0&u zhvPj>cz15Si@}v5&vbaNsjj;Y)?43MymOowJG$WB&M|KkCgj&MK(e()H8~$p*+{&^hcmiReAe!%@2q^VkRB*oD?y zJl$>An+t_T__^4q@X;~!-NfME74{1F%jXO0os8OBpwH3?*AIMSm8D0+?_i?8sD6;g zldrk`K=goOTloPzd5v#T^9=M$X*k^b#xO5&W0-dU2v)NHbB5hKk@ml7T-TVa%Bp? zbJR(ccciR+o|P$)Mm?Xei8&@18-c&HA7CB)Z-`%aP2ztWyYbO3mypLc#5T@F-AHh7 zL;#%G4lcFkAIt?fbyPZU99eh;#o^WfQK~q+-_un^Dqh#MTnE0?jseXK_@x5bua?hTrxZA~(U5o9>c(3=a zcg$K_Ft-HZknS4|-FAty3+;Be?JM~&*Aq1O`0zyfFDH5zPoB3yRRz)$FM}$y@A71B z4@_&WTtVK4d+<%}Nut&!){~-eX!nhsmZMaDAG7Rwo>A&`gm!o>`_=X49PA;Sfzy3o zgy$O<+qQd;Qd4SffIdwc4)?xs*3w_^i~BtO`cEs|ADo%QQ?3h+cW-|k5G`wL<6LpW z;oCEwI=;#EV#--~y^jA!z)pEqj?_QQ?lV`;GQ>q6Xh>l3(23JAE6m?d{d&COJ zH)?Go-V}sGx@W|7tb8k4U!><*L+~PnbPTH(8{yt-(gER#MFf%)4%42|)A3F2K8rGn zr2Q8hiw)|(yij5K%IN6iV$?>*Wh!nibQcS4!R4NN?YlgW+XMQluouIBr0?R^+&1JX z@^IMqji8oqpHKS;u6}ZNNLyaJcu4 zqL#Q1j{B>UxSxb|k;~CS(PtlX;9k`{757>i4)>lh)p9nH!#=roSgnr9GaGqO;a297hmEV@hq_%9Lq0|Scb!iE$EXT98xq7YJYP61=M7x3PS{ndQ z2!bJfn`fkQe6#C^l(H-?>}PM_cEOy>n-CoQ zQ(-TKZyuK?U^}&Upzmsg>jS<~%W_8?zlT}T`aC=0rp!LDyWLt6;4d=vy?4YB_I0ft z&>Ny~X!nd&j+Jls?u+(3JAWIw+yv^vV!tg0ZR$kTE z#JFaLL$_}nvfTH^Z&H>m&x7vE3Egvz&atKHe6IL=v1o@p!0@%B)+Sy<+xdF zYmd;o3K1S|eg4`B_L%MG~vwSyraHQ`hq}N)_!*RPi)57EZj}{#1IG2PUZOKQ8!M}}ngC}Zj zKs_l5hjq_LXSv#&ZdsO9&ogJfD}nW?$vr#wH=^!*tBqT|3T@rJS9>dDTeVMvzO4|h z2bA$q4($Z8ol)q`q`*hh#;8{9cgW+{>`dtaMMu83Ut=NPTmX;|1Vj3`cYM^{r(ecL z^~iJsKy=XgmPv{9rRAs%FDp8{i?0dT(fJ{W5uL;Bhw0zo{#5y?u$RMs`OJB(m0o+x z+GnVQ>jj<>((zHZ7u*FlaHUyCb5`#}o*9}kOX!?=j&n@-p+9PT>e%~NrRynse=g)P zXfK$sdcm%V$(?&9_qSmNvfVv~2Up-Gw<3>e&%=g=kM{I0CkFqnuvf!hvnQmrfZG{T zwZioW&lu|XsJm*W><{{>kf%TFu=)c(BRSa}3f&)mRG?q?hs&(~@XADgNNEALJESRv z>kYm!*K%J5zmtilhlJ|bC;q{(K?|t65t}(mf zc<;;UdXD#gJY7%O=hMM@59+-?k1!qKl3ux(y~y4=&RF3`dnX%-!M`i41%J7>Zq?YZ z*ET;K#(g8L<*G)0rwHn5B&#rkaLz9bf?aTD~Q*FRt^fT-idn9<6qcM9T&DPP|sGAg)Di4OB}` zI86J-JvX^?D&<=e^$0Z2TM|bVrkA7U3sms)g}C6n$lmwUc<(nypO*>_{;9B^g>OFk z1T;G}x54g;!y(^0+F7pI!uysr=FH=XZ@V2aY4z5vT%kFh%0C_G}tu3Q&OM+qjV$bMjxr2^FJrnCV zcRc7E;(!1%4@I2nlk4uDGagt)Ad;ssps&O-J@cb-|u zXGwG~MxBXPuQ?aBk4?mI+7~QgEHcUmn1ys}Zs9#e91i)uvC>Q2S;%t!UC+Ni1^UIH zqt**kkiTOd=4lFU-_Z)-N3Y#|4l($5h5Zct74z=~w5jGS;I{mg+~8Vu>$bXmVX;D_;-cj>u`kS2XI?8Pa@wI zhC{t?)U`xCzh_x?KaaojV>aq1Pg>OLnx~-N5Qam&XB@UX&5q1f7V7iFrp`~GeiGjQ zINxf_{ji|l>ohy%@qk&MbXp*-7r08ndc#)FNbT4q?wYgP0U9fvmUKPAhetS1lq^k|E{nj@YnQu zbgfsq^bH)P@P?j4tPceR%GU5{+@ z#AScf!21u2hvU7QkI(6-S|`D-1>unH8f%@eOZ$H4t$YiYLLtTz`X8&T)v*);;VPt-gK{G>P> z@_pmAZVAF6-7`WvR=x+jFVgeu z;(oe9I)7nsp%L!&9&DPQv|bo&vBII+H|koRO%NQ_XG>H^v?rv8NSGio|kzV)at zrt`e@=q$oCM|6?#jQtruIyQtW=H#css_aw1n{WxR9Fd50aohYvq1A^kP! zdTM6-0?1=fOMYgh2mWS#X_;?Ih!oy0^UCh?nAKH)`yRx>2!_|4iPxrgfhY z9Q;#ZuY+%|RuFx`r@^Y>dPf=Y5?a<1zVG`|?)$#)`@Zix&U;nWRn=YHjW>ly_^X}j?_&>8)x_+Z{`H$z^?&tB zxAO5#)>U0^jx*VZdGl|VKpguT>Fd_}_N|e&)dK4}?Sftp_Y2oZcg*e|DKh_B$v4(1 zSMGckG~eXWXU$@Z@OnER<792sWjsbKW}T?dy687Lj9<=CT@BfflOq<3XJK_a>avTE zcA~yIjPbenHkMx$JXHX`M$*0qYvuM}Z}yFY?J~U)_P*X1YDjHp&9l z`ahqSyO+}OcsmV#wGnAwC7gKyvb#QkI{%$l@jVY@&GgI(d0cyN=amNp9C2pGj9PvC z{e${>*ccW0e(+HZX(tZFzp}WFd)3HCH&ri<`^<8=|2=%#9T7#Z@?3!Sn$>mM>s@@b6V=g} z)g@qO_3iiBw6DR|)gX^%i$%M!+M(U*;-j6aeMaBT?%NZa_A`}p4?9jL=P*j&Zmf1_ zx4QUfr)r_AZbhV+pKg?XpB%;?xlgPuQ}o@aF=*aNyHP70sbP5?`DQ1Z zhhHKpr*U6i>8QG>_sMPizfJ08F4OvCZ8|Bl+rekQkoM)R)8G6ATAu>vBEF}AtgFU- zdGUGZdK!FYZvIdE(-5@(pC^w%x%eudaSLlT401*ouXI1OMdS9zP##sR`oUlH|DqQo4_Uo4I>mGw^UTME>SY3y^ zrp%i&^FN#1*A&OF=Wxf*safC3fBg!+XMn26#j3aD zF?>heN8r1%xX!n3<>Q;E!>*iis|&>Os>wMx0rz#@@#=pueD9`3Ix4fGw!kUmc>P@n zIvj>|Nb%RlAo(2pT#Z-P+N^JY-+BqxQ?PuFsLKxHN+)p-yGE=&E1mwcehMz6vrJCQ zhfMxFE1k5(b=plcAK_H3HSR9MPWXS)grC2e=3}g^6!csS>Th@$-`=si48$?U;yU71 zJ0IgwUlsSI;hmki_g7=@)c+_MzYgUHtlcKUj@QZhYQt)a^kxqq>r{O;<`T3$6Iy5T z$tCy?lJya;05N`SL0E5CZL!|$;bWbssSac8(#yI}bpG!Z>*-_)o1vy-sAjzwvCGJ| z*rvSJ&c`@eGj;O@;@S^0595;y`R^p->CVpO{Kag1rz+PT@+g#?3+Y&GvF`Tq@lI4r zW1fs~>7BX1K6x_#R`EU>W&66=%B5nu_r&Jr6?nUlxj!L4E^BOhLABtEl_!(7TW{0f zaRuKqK-ErT3@`3sV_bWr82;b1Jp+OenalPX@s4kR^Znwd*EN1RSuGiXcKmnUpPbxD z%T!z|pCD-2p5YQZao}HpmK-m7bOoF69dwJxqr>?W-6BTq@?F*cCG5qz&hlR*|Aq41 z@rg|m@_4n*zMUY`?BQdbs-q6wwXJvI13oM-@&yTpxEIHn7rAY{Z(m;Ixcxe3ZsunD zb((dbN=yG5SclD)uJ4swxD!#({vGoq@Gx_a?~x7SJVaHGKO1tR)S#aOa%3avu5FSE@s8cf$2VC)b$x%FaW|38!$AMMzW<+T zzW1g#)iz`J5QXgPX*)(rnk}pAuHEk7Bb}(9t}MCQ(ig$49Tw&6Skb|8MmZDfef#EK zZnt0OL^+>nzfOB{Tz@<->Hk!bK7k4|^&lr~+TVeXD;y@W`JikN=RxvGc$JY&i{&=+ zZQXq2Q&rVC>nQGPd~&cCv=66c#8{kbt6Nw%eSExA71Fo{sh4*jpZ*UO?>pHzD>E_u5H#zwHAu+1 zWwDL9-ONWgRV$4iy_awwkNyu7;iDo;%k1&J{ql~$JmjdH?$Mi8+o(HzY`m`!wbPZQ zbB?+c*H)VuMxPwVzhCi=i!|yJFCr%^WbWT7yn{U&eN46B%OLqQoaNk$Sd!7Sz6O8W z$HSK$vqIEY<8C$b26D#me@{OFuw!aInQg#sH4{jW3YmP`{v8tzNrIk3)YRxZjnLBnbr{$>~7Hvv&`9mZOa;;W!5?(wOB`nT(}U&wCc6Ulqn z#M3IEV(g=^HkP+AZ*}rfPgPrE&3AU{{}xccGlBHUB2On(k=uJ^pk- zxTmVI(c80g|2HM~vr&=nH?R+Sq)YSmK(=eSg?&pWAN53iHqLJLk9K`#H~)rB{n~UV zvo~>pw+nfWhc>&Z$!}Wk(C=Kp_XJQC+vxY%{r+E*|;)fe^0Ag0RFyVwS{}LhmG|iQNbOab=QdCPDqDk z&Tqe2wq|wpxo3Uv&(U zE%;H4-9>GN2Gt4Q4E&I)#l~nw+#HF%n+xwVC;3+-%dq=yI=+`;b#k=gT5f^f(#hw+ zshVtD`_xOl&)TQItf*H7fooBE$Po)|?Gr>S;}*+p?%TTg$R{eUan+yvF7ER8KIH!; zNj?-ccn<3sEFSr7mRsbvcJq->RbS%>wb$qSj8OlgCcg%K&=EX&gbG;OR@Z^A_3*Jy z)m&F%eI|sx%gg&z>G%thbzBxF0(<=XA;&ee`b-el7>g~$twuh&$;zsmH5Mxun5;3M zG3%e#bYIM2)H*7kNGCgEkwP3a<>ZV40J>>;9e1afk9(rF8mmg8&*k;%e@=6MZ_Kab zdPqD>?Si(dlG3YJ7S}n~t$ch_mD8bHk>)OZg&#Jr{(}6PKlXX`-1z!e93TH95Uauwzuya?E98y)$SZPMwp{_XGr_#)yx$gk$MQ%YI z$*Y@}R)daCNR?)4)+%3JZ)5Y+XQ>KktV+Rsy_?6+LN_XLpjPIn)% zxF3yCgnY)Me@s0A`$cv$pB~K4oDMshp^rx`i*45JW-`kE#}Y86-Fuk@Kd?TAS>uiH~Zsq8am4@cwkokNeEB{1HVp2-+Lv zLXAST#Wvffk&kYwo*Cy55pGtx|FEKabWjx8M7ZssV{!T%qOsV<+iK4ycYh$5lE7p z6lZxFBvbf7&M`?Ju129-`QH9kOFJLqM5QxUsE~K6D|+{-Q1N>d*~LdYRUM79 zG{Vt$`FWoR{&&@Bw_??>iKoxfD6B2ZTim?e%f~%cHC=TxxuTahUfySx=6AMmj}KSK zvCUg$7-+@uOR7a$_Az*o@w&}?n~zr!J{#$0qJApwM8k7CI@3*gLFXKekAC_)6zQYs z-hNtSK@(2bPb+I}U#{EuxTfl-LpN*jF5K%_r$Ra?pE?!4z2X{oD1<)~vggL<8V@rA z^N4H^=Rq=pSLwNHg(}22mAg{K8LDO)qY`m<8a^Fmd~x_hCBIEEy?*g&J?DadEM&In zQAy2e+i}-B_`Ek&C5^Q!1kqij`^=&LR-1GgZU#*`ZLJW_un3q{fNf2o+s%B0leJN| zj#eCDnh~bYJmPP;?_f8b?PAp-S>!nzXRsVJXv%Sh2@eye=&w6y9VEBl+-|jU=dGUz z-yRlch^lB*jPNdYue0z`jDB;2_cbxzOv`BzcKkw8jA~q4mbYPVck_9AqEk9V>{8t2aYc=s8l{zk+5li8goAjpBR z29A4vlv;UtV|4>|tAmepsyZ5Xt3U`l=gxgd{|zt)?16X4g^Shs>yc&Cs(J1Ljf;@z^`Mc(dYqyBVMN84yV7IpO3De8-CZ+bJ! zgC?D%jtbH%Yi+=F8z0wHbu>mUZT#!0HJ`}k*Vedxe4On;?Tf%YIX!ZbELT>$ltr>XjA+-InlYM=bA zU!|ztKPYqj;~{%&(mq3iYGJMItYrhApC&4x!?W(Z_$R<=9hQ-}slJ=>(0tnS*c|eI(OTz zbH*@7RX$`A0?9JKhIk7cT+8F!`- zH>dGzXqJ6q>R+K)#;QCUAZg+ogzTY7d)EpNtu3~_v}xp{o2p>O*rS(jpV;GazHt-QmRVr89Rm-s^g~>L=@&CNB$1hVvV`1)Ub}M9mjdPxOm>A@wY!GKv zlS24w+hW^g*V_3Qrz(^&CJ}dvGbZ_^it)UXD&QSLW}F_AXp3#YO(PrKr=k+sMy)e? zd^Of-{*pS~L6c2aA{E57utc}D{PNVTBj+Zl3dQ~ z$pt=k3m?-|#W9W_*_r-D7Ss60Lykh|<40t=?x=a^`%aNHMt2QETupDrk3L@d7gj`1 z@^XQQMr&&^wP@h;(PVuw)`vjqx<-pWME`<{XxPsQ1;&tl^c-=Au(pP@Y~f>?sxZd5 z1CeHB`sZ6rtuL zbmQ-+NSYC)PX@`)wFtjF6%IXU!s%)aVlFIh@+}+r=q78C?k+!(ZbP?^|Nc1^-RleI zzm>&JzN=<7!k4IeWL#C#8=?64?;o-VSAYlYzws%@!(^0nt*Sx)-5#KD$0tifU2^5L z8=rg`Cd&@X)*j0VH8Em4&TQ=tecZ{`zH9ya5|jPCEbo-rfAb6N*J)ky5%?eG&6xT@ zo9}d%jkDS8UK)Wusy;-+`-iKK6b~f4Bl8N!|ee-7kK6UE`;dC8QjR9yv2~e`2o*!7(kg zSgSwquRx2n&I8{;w+J7B%<2|ly?j^oe+fGu5ZAydk^e&Z?)ZL5LZ4fdljD|5FB|xX zrfQmTJ&w3@4e~Y7KI?IQmLWRm$OWHfJd7vrT8|^<#p^ILu9jRPtC>-s$NSaAvX6KE znTqA>`D6$GcF1#ubnh&zwSy4Zz~`OGTBf^N5@XlH;_nwE0>>VIZ(Hwc#nn#yZI2JE z>*kI(d{(u8SrMIm>>wQnKKo5y)vm0ynXa1ns3z-~uAlxqf$D1(UB@}9{HXQ57Of7| zW&3pw)i1YSr(+JETChK$sNR9`WSKnyGYMt7Jq~-<9eUO8rqwp)P9GodR2?&BcVps=67g2Z}o=9|S#TsGop`p?BUV;7g4s;9k&w=+y%&@?8z6(Zl8K&zvLc zoUXTzO8(K5{O_%^E^;(No?XG`9S<{Gcv3cqv%PX&(d?wE)Y|zNCu*I;=+DKS;`Ha= zQ)j$NSP43kncJUN*(uiixFWsk;bWbuW5zu+*;)VYI_p*F5;W_iJv33q-%><(hAygu zk94BGxpKzMVEI9Cafgjl_oW*=_8Ih-toQAkYsBaa5BZ{_Z)cqPJ?+=&DE&R~H|CAf zzt|wXH8}(RZphKhH{*v3hlysc$Ods9B;NJ1*pVGRSJF`()e&S`K?M z7DZd~QA@w8dNLMeZ*b}Rg|)RQ8rj0fG*vH+agFd#jc*0*?S1BCzHr|`HaXbaI>5qa z7qjc>!MMaX3E8`o;u_a#g?LK`AL&#LHEK$|r2Ba9@3ct|oN$t+WI(Q#IomCKOh=ux zja4UBe>JjeKd+cBGT0A%VVIWI+U{Dl@G(u*Nl&|L;Nl7jGjskZFgfq|^E(vNSVs6N zPAtfk`?JR(Ov#G0%%_u}qZ1sH<6*|0Ps;{z9wgrjuQDd<`vh$Id#~erCWy*uTva4* zXIGT|2z1Z;OuS+}6PJqVo_r+iCnD^K9sL9z=9&1gY!GL)sz^jH$a?!H(0n2~u3~#0 zR*CBB%4s*tH-1MP?K|Rg*7MNu6%q7z#Jd&!=6SeWdmg?Uely<@9iKq+f#|x7?}?yl zv9VIWxSL(y5O0CrdA}ikhI%6GX`GPfa7g(E;v2!X*haqA&c`@agN=3SdKveb!TGGk zIR5dF`6jJa(tOt@a1d<1^>=4hiCXJ0&PlQp{TW5{!sNLNqHB5Xb_<`Ejw)#ztH&}Y z`RR)3MNvs5!L~|jx9~AdRY_yy(Z;@3Nqr)ZyZ0UJ!V~Qdn1^Ntrk1w_M^xPs{Q z$xS(-cwsypy%;v#?-0+vJ(KuB)q*dB+_>s+q33D>FV1G#r-2 zbv$_U*y@!u=qDmTB z=V$#BhV`}S-rjVA-fWRrx2$fkZuhXUzCu($hq2PXfW6DF`{+F%H>{uE-JHra8_}9R#p}_AlJ=&gp(CbSL2T>sEx+&Qz`l-MR)=6`TC?hb6Ri^ zZq$NLIUXiPf1hj+=RpDkZ$-GV*aqBc<>Q;GX2weB;x2W0a38+!)cHPzVSdOSd~UwM z;ugNKm5*<#wizRoUcP-Il-r8$eb{%ae7q>8fzPqfBNWSG8*sask8q;WxpK;lP+~z5~uO9`CZ= zM!)kKzUP3dj>g~*q zg_K>ZJ-Fk#IY*#m?bD6Vqtb8Ub06(r&*C*GfLC4VdT$?H zXYam)(Lqr_ZO|gSkh5l&Vv-HOg}TxsHNpK;|_5pMVnJ2rW< zbOKiF{a)3AFM}k9vwWtt#Wvrjk&kYwW_iwC=@!>`8oF_}%y~zZFDklG!CT*WW(|CK zHW}qv=<9!Qy(=DOg!uv4AkKs2v)gn9phd%tUrzW1LUK%=?=giGV7#jE*0yx)eYEdU3|1t_0*Ur&`Y~d zo_R#{De>)}2bzBOYFS$8h~*cIVc#*m*7;A7nEa z$zGn0(sAg~3u%9giuI09ph17vRea9_QF&cicJm#77{b}ZYSfi7_6o{}%LU#FiEpKp!rL!J_(DC7v~o8)6)>0D2! z7HQdc!b|_t(F~bdp9;p+PG`w#ubV?0)!w72y{UQ{u2(VB`N_`3w8YRU=%?WAXaF4M zJ7QHfi1Q%9C0+6qbg3gU3+slfiSXNj=aIvd>4o8xKQ!OO-G& zQqVxxoV?Y_$2U>u9iDSz9E_q5i*c@5vB7c1I3ZN4-co#vJyX_922aS0V=faOhH)JR zLhB&81!w8en^xNn-Ra}wov7Z%8oqcJoe{FWnGZwXyd&R_0PoXrwJkwb%(AO%=i%>! z%sWlHa;>gtZ|PxUeVMA$o^@lFPY`_j=8uwZ|A_Uz*0|IezwWkQ=Zs&A_Ukn34|%Zu z(+%rE^NrO;@G$-y^ERqukZi$^`l;5@ilUlv^tnvbVPh>kd2b}rdS+9zd;+@X_1oVr zSsqWPFU~IKFJ^1g@mTEDej%TvPdGJml$2GKdR1M~pxmlk5OB`bP&Lz-MU1yc zJe?N(N22;UO|`7n60#qsWf4n+Yt?Ghn3cO;%`#OhjdL%(T>H$uToqhz9n2tcI316- zQ`pQpWVWeuFLjGeXwqosi%6*YXsk2V%eYUK_D#k3WIRnV2oITWQk^mI(@=m)SZkB5 zTG*IAL)Af7VihKYS_bc~cI1=8wIP`GXCg9pwY@uy6^3hFHMu%~Q zYOlxknJs@-)4c|TI?5}VDAo}+;j|U1lJJ_tCt3K0m%OE%I`AFCXEXgdBg9Dp_Ov zT~2MQYmnDE_(-R!opImZUebMLQJ#^c&tOB-^W!{)$&|1ur&aw0%594+#%s-dgcEhm zVa&VjCEO?P_Gv?S(Egj2cdN*@4S8$En}o2pwz*4bIVtXbbU*q)X5L=M(GtlL)CS+Di*u};-8<9L&u z^(X7B%jt!{{W^KP34UD=?M$jPI`~MZDw=VHb1&&W^Wz`Zq+^DmiD5#XS)pc=V+2#T zy6)E-eQdm+Caaxpot9X!!erI@%&)8)-m4^)phuzf`4wQjvbce{ZssGLta!SFe;&l` z!?I?tS=p<{nKgUdH7k6^q)%wVRlTW&sXr~pq_)*{&}%(>tW)*Qn7h&&z4+v={A9&? zdOcekPbZi}9ke$m=dR4O#Wv!mk&kY&>KQ#b($|%l<>SdONxF+n&a~+_h@pBf6=04o{p|I)R5gpITZP4xw#$&W*ogO=mM#=u>&( zf+2dNOeZ^Ov4e9dxPfobbkk}&gTF?Y>y|f2Z*=le-_$<4sE-+l2xDg??lVJv-cWx9 zvRTAVrXl-s@(elBURm7WTsQL(-qbuh36Cq@`Uv-#HGIqvzP7fpei8qE$b^$;4UuqZ zaf5Hw$VT_6ro!1tw_7(TDx4;2@$ui^YUn;c7MqWTy$%RxPVq3K%agJ}oCnDiUd8AV z>DCrE05|P?j5jsTF2-XHxwunZV@;nN@(&rtgZA9y9CBpao;Z=e^Re92FeA%pnLfH) zIhxnQ503%BuSOm6pCnlpH5NjSLdYyPt4YY;`B-i$mR&5z8bG~%*(dh+pkz6pUCM7~ zJJ07kRO+v;fUD5Rk=$?1A{Rb4`)2&%qJ zyvunG#5AaC9VDNFpTw+6^&B*Uv zYtzZitSGZWCY6UgUVVr21bk4n;L9NSB%G@!z_GkezuV16K2Zr>ITigs-Z#!TXhoAR zcDsCXGQBm?4?y5i|2+P`)%yAq(0&QuQ$STq<63BZ2s)nvpDgsDdH@_Awv%j!Dn zb_XBnWTiE#P>6ch*wja9J#9!YQ=E_qd^}3d(glwWS?AK?2IIP!k8rBa8Y}nr`f{HY zp{H!Z_2P@LeL1;uzogt)?T~JD@zGAyT!(ShMKA3>{(Q-yJ#5nF^ydO+JHgR<02piK zE)mt#NVou;HDdV*n(!;*w7fno_7;b5ZE@X?n`S;APE<;VG5e9-ho97hKb_q!#ik@d zk37lQkKnA0#dXB3c0R_5n&>djk@qt0Ge`d84dbvBI&2R<&m6hPcW9uEAHWtL)ntv+ zolS`~6HShb&m8&tHPuh$6Rdl@k-r3R2kpJdmA1fp+g8^huk~=Te)=3$<&1hzuLt*G z{aXy{>Fq^i-LksDy4}OaI#v6ORpokF_nAX{pJsi1ax)$0J8GxEko6#PRXOnMb*t;N zH~RQ^C+nZ?+W#2Gm^j9V_aE2fUF}>EGVk-unJcE9oh!_vpt|^Ir)r?lyR&=u_iEbf zJ2iw%`#j#gZgt(eH~RQ^Co7_Hl#0N2Y5qQu`!{ReFXprTae8NwD*J;Ax2>+zUhCmw zovMe%QEIPm_hJ1#hV|@vdN3{*jdjcF2J3bYAL~?QG{!N#touam@7AoZrIRTXK2Js2 zuApZh=ZRzLR@Z57^zrdd)k%kL9CH`G)DPRCXi;jP`)Ejy8s0_u#gOB5tUrmzYvDh% zBT3#P&hj)!Zom&>6)D6oPU%I{#>X{P8;yQk+@h}d+{cf9lji#T%`_jU+v7|`Eg|zg zj~}mFUH9XSK0e;5s_DvEQ8oRAeVnH=Q5ZdB)-i7r z597<xf@oFeX0mp}K3Q{GkQJLq_Po;XFY-AKk& zZG2o)RneGh-pjR5uK5Yc^>y6vx!P1NWWP<$HMcFc9Cxjmk8r9E8h38#B^)Erd21HE z(;|FrdN3)kWRsnIf`hT3y*PR27J+ol@+R-~PCn|XdT5Ntd#U${$G_309+DVgNodft zljCtoyRg{7T(|ykjozHyn}36%eS9$6T}wy1q35I1y}7a2hTLl9<2$OJZQL%4MmSabUc4;bIIA~* zyW%^)eJLMj8yS?APRnT#bi_iQEx+Eh+9uuU*&U6(q^{&8{yfQcTDQQ#r(!3Ef1ikde~9S3HbNpVP?)R$Ods9B%g&>F>~Hwy+wc56@1SCRUwTv zUBunvjNsoUpMg=4rDdi|>4wcdIf8FmZ9(sJ@zGAzM`I3SFYP`#j6X)vjuVj8PRXIq z$>6vh598@i%LZ{CBxs-T^r9lPvD${c{&}#ipgz4q)k-7l;%;?$b|2Q?YO$_!J>XqJ z)|KXC-B{gZ-RfcU>nmja)SZWnc`qiC_t8%uwpmvhA0cy&&pRH*r+4hID|~uO=1aYu zk8!Gky5jDA5g9j(`)EmDUokHBdwKje@)0uQZ$<;)FpR%fHi+{e$>CMSEtSPJH?AA` z=%y;Av5JwnM_tj1PiEI!YIKK9Ho1z?NbcQaCwA#3KB}quXskciOSMm2^5%+au}veU zp3j2z*>l7tmc=!_$F=-RIWESvon`4?C`*`S=#A zE8g3>_-H4qp|R2h;@;)sebmselC+N`<M`VK2Gs>TOa$Ln=>l-JEVdxGTlx5= z>Y;J1k+^r9d_M?$!$Qfe*{yV6>PCyecirNO??x*h-&AEZMk~F1`$Q{m0KTC>(O$a0 zbx>Ykg_-vK{j3O^aay#}Vs!<2TNfYgRE;#!&QAO5o3wA{n(HgN|Nk zxnG8LWwncX)xk$PQ6F7da@Wtr+%MzRG2dz4JoQ11^b1h%;>C5)NrSI&gq3gbFv`(~ zWP>;ll25^_o@)jFUANqYzR}OeK2r#_^R@dEU*q`oalc2pjs>OI1-rM$f zQQlox+hAO_@o`O6Nn?!*ao@VQ_K98+!!_*Ovw)GhWp#scyN8c;vSR9Hyu?wdiC=tJ z{}J;o4)=BeBXwi7i#mU#PE<={q%NF#XKt5Ir2hYEq}SuokQLLpB6Xm>Zn+D6qo2>q zQ?=7r<)t^G@yToazlQzMy|AL1R^>%S>(b%|=&F&AZmL!q$DzG+`;0^XkEDC6oF0gD zuaLbtc^s;(wZJxQd|XpC(a1GB*Z*5{U5do6Md4anTjyG}@o`O6LL=AgT>mf4^;o2E zEehAt+B(;&jg9MNs_Gf*a`kfUlf&{qHP@F8#$%a!9x~fFpM-~*6K|^*3Q;!19me81 z-&Q*x<3zo47#SD$uWN4Hhw=YWV_YU`EfV9>VwZ8%&c`@a*Nlv_GydOejLWR*MPgi9 z>@u#}`52EHXB)fAq7hEiUAcU8pZ`{49FwW#wz(m5jw=T7F!9Q1*&xol3OJ@X5X6Z6(3Fi zKP%or*516cpFLBo-;4w6s8S!CaCwODRr-`34Xe$+h0 zT{$eKxhXH`%x3Y?JpWVu{s$e)&^1qmvo5HMvAk~M_IlbkHG+okwfo={DBKlE=}qp=go(zTO2X_;Erwf*>5vhW9VA+f)?(YV@o`O6Bx7XK#=o8u@rg|Sx#oJ5sU+FOh)jTEWpN$us*#UwvO4M3FO2Gq zQEz4^UPrW%EmB=;$?_z0<%Z0%u+(zV@^?PJOjRPIUv6Vwk05>g@;{O+kJDM$DkPa@VX4Kk z{GE?ws`?nSS$kRb887}r$#OosFg=*;Ktv7i5OOq)v-xS zUfxlan>XX{@3-)dZxXUkC*`&}yxRlG8tj}SN~%5?=K_04_wnq1Pm?aox?i}1ONPTH zojex^K-a9UJN9}PpI@h{mT?c0UfO;9`rp;G+w;6((~eI)9wt^lEgQsH)%Q_;-L|?8 zd##6$b+U$e?u0z9J-GAA1L9vEHB6&n`eaxA9nJdrn`u54%v-_YT3X?G*!Qht8@^$PNIG4^ZZRo z^yr`{vI#I9GSTE!I+e8+)4GX|YO0bMN0q%)`;038hN2p@A1m?pn5bUstT(3;U&!W0KllX&9t%?~`_ls%^$GWG~S^W5~Y-M31K z=6wSGQX2zL$pAiN`my3a9)|u8$Ods9Bp-*@7W#$do#@M6Htv_GnrE!wChl6}8$x@2 zpE>luXzu=%v`B;Y^f+F}!?6Ay*&xn?F9MWEFF>f5dP;3 z;cL@LDGE$44B?f<4Z?LZAK_Hh^PKC$<5<)9aG$Z}pS1{wWxKGW-gvy7j$Xt^DP+>$ zE_{I_*_0aNXPIl zArnu_Yrz@yy45!BjUGPM$vUY!oA`OS@rR8*uUVtJ;~af{)Oz2((P!CyoiqA;x&1mF z!}zF2f4a{4<>`%lgs_LqI$b?dL|0a~z^=RaXeVl=afevp*qbVorrl?U*gvIc7s3(F zq1`Cb{oUE+&1b_Vp0q=(7@M|OZd2dZ%||{_Hyy@GExj>~Pqx>etjLEVX&d=VV$1uG zeLRlW@h~&!ZIxOup24zk(&8HErj?Ixswx`ubH%-r;fy;Mf)oFs*c8-^IpI1lXLzD4eerg;gBO29HHQ0X3V>C&VlmU_R2W1sN49sChDNW zSl3+KH%>496~pzj+3a9kUd|>r%H5#j6M@}#+M&c|CFe56N>wTUxrF|xKwGe zNS9W(xOUaSM><(!b=RWCl}aX_@ger3_Ve`0 zju5SPS9Wwe`KYI=rE$-@Ug~`!_utr{9^W8j+G%^$DMQz$U0K}%d)33oI#DGZ4&6GXF(Nmf-KPrDuLRZ)CfRJ1?q{KA zbG=DKD0bxXsA|ENL6X6_W^Dzx^#Sn3D?_RR8g~p3cd5&R`;0Sxg>|3hy_fSiuMzL` z1~}g@etKQwr;~D{N70A>p8J!NJ87AU-=&%aE!!Zfs005BwB&fvqbt~m@1R@GVhhI6 zx<$+?$#+%%*ATCHKwN`A$$z2zKEu&*l8|-`(9dv{ooF@i`Dv=U8D~z!o#Q0>mm|^X ztSly@ecZwDo}W3ftkrH>+t28wshVc=((FwCvWjVmbkIx_y)+Vx*4B^~4SZgjs#l(M zqv=n8%Q|d+dsDhKG2%MT9Tz`hy>H)+i@WXDIeJdfex3L}M${jI|K?pE@k@c|a(b}8 zpA|vVj4>A;W)85b%z~|hWDCy5(hBCvaz^h=)g~j$cw;(eL3~*LCE^a3c{$D&f@Nu` zVOjmo=a;FvV`Q0~{Morz!O8YSW3vI@)E*#^^Vu$gnoz0J* zjVdF_kH36~ANNrie}TjJnbV=?x6)Kb?aKwvXmva3qKA)ls>&GaMzlQ>dS1lGpZ|QD zb?MH79#fL)Mwlo~TI@isn)wKiienqOPE>yL5O40IIQ~2!9Oib*>5E$h{v$%xXJ~WT z+S-b1)4)eGRdHNiJ|T~55AM8zYHE_ixoi`I`^^9Sup}DpYA7^|Cs6!*ZT-Ab)XiLW zwXzZ^86=x9e?HOi4=I*M zyTzH)@Yh4;nY8W;#{z}4)+SoD@G%`V#Wq%t#XtX`VLE7@>HZn$wIgNZ`{<#@gF05G zYKl=GZ)0BjXP>d&&z3CjZx=5v2Ft=y%QMU0`TR0fJB%!|v;4Cp%OX!Yt&DINoYZ0KTNb5$lh11L@7FBPGW1v>$Jbvc zo^(3~d5>zrmqBs^&MF3hf}4(iuG;vxj#{Dk{2Ot^vCQRtpS;uKY!XUbEyxuA-Xmy* z`2Qc-F<0|<%TX)*QRDYZlHbt`#NUv8GI`EJSZc)>@^?O8Ow|fw-bNeqN1BWNUd1w& zIS7Mg;fvK8cKr6jf3>OPVdgk`^Nv^+fooq()dgdvc5$y7F^A^YXU^_>6u-{Y6ueUy zJlpgdo=KJ3QTOhhvTNz&^V(DeF?#J@>V0PHzFSit3gyyk!ypz8L;0N9qGDKhRDiYD zrmBXq7ELd|7)8!ox#Nq9UzMN~w5KNL?>h-f-1$josM=xl$h}1Sc;xTWM2F>(A*l!s ze~-+OlvH`-GgJ*Q^2^Te7ZkrB9t7fzWkiAh-lOo#A(m)GNwF$V$jF8ss=xT5C-=s|G%zsoG!k(+Hi24y_uHdcMxbPk%>6^i@%|F=(R6etL5% zt*tSwn)s-uDuSzSCDOQKi}BMB1M&0DXS|}R-n_K>d|vKu9Bkv06SBX4D;fZYQB;;> zgE$Y8kHM=5Ie>1<>N?|g2OsHFy)dpV6!!`v%QpY*6Onw*zUS~)Lna)*zwj`GKO!5% zS?wu@8jB>{&a$go_?V_@h^ua%UG&~Z^WHzhV*1Q!?n^qgFV%u2Vbl+AFAL~@* zFvj1)6LtA-pZNQ;HP*xS-}A)Zo0niIybJfy6Y|VF30Y5cgvc3=JJit5Xvl=`AjEv>Clt(y3#rYenbm2EH8J{fy= zE2=-7-b|mG?&R0=YzJo$;GIH_xXG(*H>Zx}HQ3!=KJKXsWz1A%=l)ZY`zO-bQ_~{D zYP4rgZ|cS>bfmpg5Ok ze7nzF;>YW>2kq0zRTnCsZcmY$Ha@PYD(5*jmoUaGhHD=${!)!=qw9qnk>mUm9wuhd z$!X9!NN&N|j#-S=t{b=d_;{x(ohxUY9W~;vc7}KKWAn!7cN%vd{zTBeyjst0Sbr~? zq>e$7!%ubATbwzHpnP-_70;E^?!3yEAwWH>Hq=-Ku_Bf|&b`k&b}Twueb%psA6DVt zhLIK?@Yi~A-d?)j0=@Ib=cS~3ZMwIg7TG#%!W=f;v^{tspWL?C z;=9(&M>tgjjoFF4g!{zXvl`)H(@j?P6~^|=if-bgnyPh1zuilYHukIx~kIGm%G{C;1o>zMJl6=ZkbZ9|cV}aXe{RtI@XG__!wO zn=7YWee+8&X>iz#_^vgRe4I1l9XswiGvc@lJRXht4~Oel+ON}Gejc_Z$9x>oxVApAVlZbc(8Z z#+A(C?lqnj{R}(|z4JZ;Q%S*72W58q(!pd@=F`ax{!YmADwyklhhhJ;Y!K%`g7yja z8&+G)H+%T}Jy8K2#vEL6x4KyO$!D3UyPoZVf45){nRQ}TVpcxYu-b;b*~Lct5>?%d z6^43g_wnp|lJ<*fnc6{3(4L)GVJIu>R$Ht$I`~K@>YXb~Znk-h<4xX{PaHp%q@ORR zd--U6GP;?up@0}E9_L7QV!f|b6U!ON-fq9n8OeU8{W=}R%nx6moQf-T)61$$v;Ti1Q%%6ufp@Ucuk>$?%O}m#DgFtV1sDoO}dy{-b8! zr;h$dfq=bi4<>R#@$}~3E9brN2{kK@4C_^X0QL@&O*mIXD|?R&a8-wViL8pczWXlR z%)@;53zpA2PT#$4y>FlIw)2Lq>m1*G*zCGbeZ*YyTgbgVLSY!0bl1qCDvXC=_z~G4 z&Q*OxpjTOI@m#g=#UoTrH14S_?hdC<-Ze}I9e?2SjECX5ib$|^kZi$OcypxJ_RjKm zK9;HKXJi>~OjAudQhaek-r>FJ&9F1X$t(*?Ezc}}=VO_ucn)K%%+B(4$+FlBHH>kg z@UBPNyA`4h*1cPosA^@bh}FxlPbIia@w=FNw<5`o<(8vv>E!d;RNXRq?Oy7AW;k{< z^`VRorPn^n-mQ}Lqc1&HGaO6js7hqqyS0~JpBavk;&*ZOZbf>9wYGPb4O||1=^RmU zjB&I8nsrRLt%(lHBOhh&R>?G@M<(ip!?+Ts*CYF^#7Pyupcmo}=|RuY(N^Lhy~+FxXuo#ht<%W{%=5&W{W z)Ud36=VO_y1ID!{2y<7SzK>$^ykt4Mo=>tJ_}d}#Oj~=B&vulx7SUA;AJbG7F#2b9 z|NNX_dNe7EanL+d=QE_GhGz9UAInkyYh(0SG?S}>PQ}w@? z#oWgHk>;5$I0vqvqGf<+1qU4Z&|Z-rr3Z!WTl#0ugqqc*=#k^I`;(J9Q0-K;;CBGDY|pUVvpDdtKueAnJ-UKT z_zt>7RP;lyt6RjlLcXi|zr;7y1L7JuwPZR|z4ujPv4ywQ$VWF-D~xpGE$!4-eCU2! z(tR0|I2MX-W3ffI)yPLTRXvQc2|L|SNxIMDl*o2g!p<-Y5}Q~STX@^8e0)=t#JEbf zmv5g{vX=$lPvu21El?g0c~nVTC7aK*wFYd{#78w%Q(SSYrN6J)uvxK6lk<>Q;GMaFTZxObdBb=%%WZk#2UnpAdAfZ#)B=Sd_(djBgOK_omWqS#0RG8~Ny_>XpNobB*+M`EH+_ z>z^#?z9-@mYRYG5OJ zNY*8z?%qeVk8<<4B6|JCWD2{Uk5QNmIR>GQAlEM%i>)BUZsp^fs!T4QJ|T~55AM8z z>T8nVzTt=MIHs1@@5a82PdkLE2mC5v3A^_+$ioo`;$K=S>Md}vTvJC zvP=0mn_bL{Y*bE*(4&?U(sf(Pa26iD!+MMTt}FPS0jgpdckUARu*={3 z?A-OOl7cE$e=Z##WKXAi_=O*|&wso4q-XbSLIq{sSmgtf@%4%R@(!PK9G~N1X4&;e1g(SQ7M#VH)Un!P-RB1yx7)9Cc>hfMb^2z01Kh`Xc|Yge`KR)UL_TQW{toyo z@G#7OP&SD3Ao(P`HksF!w_|U*`N${gsF8em^W+2IDo#G+ue$d?y}hX9SC)5>ueW))m3~%&RpBR29`M$Ka_4K7D*S6Ni)7e1*%2LSlF>g~u8^(2b2t9-3 z0L~(wXfj@t zs+z{EUvaOxMxs8XpO*I=hN0WA_-JxtZJdhooFV&j+PV!GjW(>dP;d6IvA#@IPh;*^ zFY7)TkEbN-7xJC_N($M&I~R&{^kRmSFF|{Da_*OFxrKa7Cm;1xJvCMW=%wDLy2TPu ze|=h9%x{FWwiG`GS#8>0TS}`0pslUwHVu446BW~8B$}P*pCE`H@2uSe)yb(uD{BqW zRRbTSW$#!oHy_6XSmr($XwI3{kp}P?b_$S=(DM6XXKlm?{BgAMz_6Kd`pX)e5+PI z|4mglm)&Zhu@0As#eM2H!{DB0o71c4rWYfI zu3N0hu6+)Sd`Hc(joZ0n5TALy_b9$`{saFJVZ_n+FRh|xeA@9}og_4c2H6(Y+E~j5 zwo&1ks5y!|((uH`LiD>8(Q2Z4L5LRC+C<9+KBB3bW86!#jeNcC*r$r^ql##`nPk{L znpVXYeYCRHX1Z$PqnfHH#+|BqsrHGize!PjshIBF3%>fz;uEq*i|SCP5Zu9iogZs>4 zpHPIKzmWy)xrwvb;JMLK8)@-7AInswF|y3g@;i~`w1mBWCX2wbvQ)EN{m#d7R2SPA zb>{aD+kMT)FMp$C85RZ37K3GBsl~GVosH$wRCO_~k7;9G#~429%R3~?BdEHwDC$dE zN^32kRRbT-p`c;KuKU zJ$L;s@%-B}d>2&ErfQ6Fe-XSHof^7NZQ{2Ieqp+6Gu<9% z>t(ig;m(uUouDHRO0`y`*tOaa-qOeCuc?Y-tS!>ZyH9PAhg*1GpX_9};hjRx%cj&8 zahaEvcTul;`M9U5lW`qnFZVwAtzTbpzfl%Y*fMC=aU6n&Su^IYgH)_5Yiop8ZG2o) zmCCqwOx(9duAo+Te8!h=sknYNn@taj5lTEE`*BJRpkiBFT%+5xvhjV2s$Rx@TzmQU z$pL(G#rKti?QuR5Yp6oz`(g13*}nUvYQdL5GKI6^+p@SuxZTdjI8o0W#vK&I{p#}J zK8$}|b;n^($LF$9IW5BW;gmdA#kjG!hPc(tM>tulbThf5u485ieWLF-RfJ#2CutG( z?8+R`x3ac|cGbqmHC3;So}1lse{IF}`Jzbg;OybTcy42H4R5QNk8rAf8P^5(67J)< z->3;6=P8JnA;;d7b-^kwIWMfOlP#P0sHUoxai5!Bs&Pa$ZwBGl2&zR@Fzv8HSLP}E z+#uaes}1B%4%@N7%bYmp+QmS104?C>>`g_kpr`Yg+8gHp;Xp;eA5(<`l)J z%W}zlXD=W3M5S}(l$&`Kv&7Aq^8~OuuaAEyxw`iBb6cCwY+c=2JAe7|h4X7qZf#t> zu(7$md3E#gpxJ)}J`X&M0(40>i1Q%%4tVXiUOoYbT*LPqP?gW9_=`Kp>Hoi~m4wY_ zuE0Cp>;AuuZ?wFde$mUvJyjWv+_Q84U@P}et}iP0Xn8mHqL+>PC8A=wvgED{in~Xd zxCdk0dE=fpv~mCV#@hKSVaGgGU1SsUd`S2Vc^V|2f*)G^y|TQM{HmXieWH@Oa@uA8 z%kag2Shah*n*51m>DtL1*l^tXB-(y_EP+bJ+hQx zRHr{%U58cdSK&I;%J7gc`tL2v)+DK_-G8C|I-L!JG48zVzg`k>>DgzV>WKQoj(Hwc zAEJ2%K3sjQ@H$Ao3(n#h==lV!C!y~uzUP6cyTUe=VPC!%|`b5*?(OJ`xxmiCi{&MfWtoX7=WnSuAFk$QOCJYGX_9kH*XyD z+IIF;tQ&R=bV9lcYwq)cYQdL5@>w{y#z0l1zm@Op!b8R){UaL-zfYm3{42%c#GjkB@h<&g=U8&%@0>Z0vi@ z8Z#c}*!QE>`zB_L?2LWO_UoLn@5}Ai=~&-~_xo$SU!LAtK;DhjF7H+!AMaFsH_mhR z`gfnP?ZD!FCKmN=P9bkRyO9<5e0*>Gc+>JG_f9__`$SDQj%@|{&G}I6>wVb2&tgB9 z%x_L*tg}GuH!W|n@AUJrA9dX}f9}LNpE)GX@yTaP>g*4fHThwWYtawjVdnNfAREMa WkbE3ojo$~hEz4WTw|kGw{r?9fSc{ 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_imm32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_imm32.a deleted file mode 100644 index aa94bb38749e0f84cd2d34f4b7e7047ee0ce550c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66990 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 bPy5sK+J(LN-0HN9>>H)drJd}26w7}BggT3+ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_infocardapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_infocardapi.a deleted file mode 100644 index 4d10d47425aa3bce5dfbd0cb6863fd8f103fb184..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14872 zcmeI3-EZ4e6u?iNwp&a0!Kk)r63B=SO@M;4rcNp$R4rrcm?l+PK?5ONw{e=#H13>i zT@j!@pozyl@XP~$$^HbMdE$@Yi3i3x_xgUsc2Xx;MHaczwXe@T&i(q`{*> zMF5J6fAVF;@+@CJE_iTmD>S0_c4r$m@v3yuzYzU&6270p21TY-Ow5JZaVliu|@ zUf}k;+c-i`y*d^pe=(MEC-6M|x776~ogJ!Hc&oU&?dei+RcrfQk5_ix?bO?%bK>&) zPUms2=*!7DXjYai%eHOPw3k=qtgJtu#fgbia|-7lOU*#B=RNDO^x%UD8(YP?+j9r2 zu$(p6cv;-;c27`)W72EU4=$C3?paJsW4-jS2A0rU5pvR77_3(jdKWRVn4l-}#aWx+ z#d^C9#YPKzpNGF+0qjmS+&v)(<$9k{5rs%Oq^9?mF-S-2tHK~1t)Hfu4)s8P2>X)t z(F|r4rUvS;{viqqQ`AH8KxI%M9RnWVF*Cb4PwX~FV7F36fWs$>VAsaJ<~5)Gui3px z{X}6ABe8om`1e^!20JLOQoT?$sTH`j)9Q@ zjb8IfXOBx5PklX2jXVY7S?_Y>E3hkZt$?^B;w@(#ZrXrG-a}tXVDk zy`*rgEVs1CGzMiXY+EZAlwO~OucA&nSx?RqYR4MtJWbZKMZL~rVm;ImGHmh7SJ&z4 z#S0};>#(Cujsxyx8y$}1t$^zl}5^G65r6u9Y*{?vR;h%Zj9Zt_2ra|ukckP)7+Y`Kj(~phvR+{FTUT8jB56HC1$DIUjCFFY&^6G0wkSl+r zl#=q*_?zX#16P!j=Q*maehre>%k%t(c`f8xkuD7Z<{0oj9+O+mc^{CMwHI!sq~4C( z_KAn0s2|5enFqE1lV{RtEs266{VgtFM*}=OtCn)Qwd;(DwpLRTJ@L8O_;A--?kPzl zH4f2pY@FFXW=?!=;*i&OJfB*|`%ZA2O#r z?XKj+st=`n9IHN!l*c|LWwtNBJCo_GdaTs~_IO6tUQF5@%E|iQP~OK`Eh&KdE;`Si zOPcjR)l!bOcAYiRX?H8j@$X6|E85C0r+4pB{c;1u7yWthPgH$}ubhzACV~N9V3Knz z?$6v0NxK_4p_mQJAa8pdil;#Q10^pMtNM;dvA92Tiqq~cR#zrpjv&W_D5m$NQEf3m i{C`q;_A=;=f`VED#6K{~V89bh$6L&;bb>r1uj3yOHnP9~ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_inkobjcore.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_inkobjcore.a deleted file mode 100644 index efa3184d1cbfcaddfd9fa99b40a922936c38e579..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25196 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_iprop.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_iprop.a deleted file mode 100644 index b8f9a99e8631094c1427b25a0ff5aff56cbaebbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8032 zcmeHM-EPxJ6h3iUe#)=-DIjrSBvwKQ1*c7%A|X^%!7eutvFu(Uxdyw$kT$_FP`E%` zAk<5qfG6RC2jL-jf@RM+Gh>f`Lfj?-1!bfekI#JZ%$)h=^YP@ubvJz6xv_B7Os9IY zZr5$AwS3JqEpF0F(`+^x@(1e+0B{1p@Bro)0S;IqA36#^`N%hskADTAeDbr%i=O}} zpW6}n{7ZoIFCAyiasCy(H&1i;z0C<+o8`>k-gsxLsxZQ*u;-} z(9^n*&n{^29&dY5trt^l7`N({W!tuC+Dk|}PU{QahkZyd0J8#cjBE2yi~Q|~>%$8Z z+UqsXjojf7Zdrx)m)fJjU<3@_5iXzyUTi4r0j$j7xb(CNmcliaop6VT<5~)L7%Qg= zaH?Hh@3imVYuCJP7Y((IpzF(q|Gon}scg8|Mci@-O)`NxEi;G3VINV8vs)(*6Uu#ib|= z*ul!!FSZG64cZw43sXyMkC9s5TGq6DKTqd9E{xdC`JF*Za0S~RN`}(K1goT$qxNbV z#hn!t?-GrUwU_+fz|JOLaDu-iM%i%2U%vlA zcOO3{wxqT{8=+tmafbR7JUWOq!9&40yp=m9_b$jQKj=PWod?NT_7?R}RhC4r9{KypcAbI z&<9qU<)glZC&=|iNv^k=Gd0I`5|q!Y`Cej`InYll=uBg}c}{OMN(s*|3j>!1(8ox2 z#zM?<)^U%il4xbQEWh(wK8wXK##+9YXr-E3Z9aDU?V}Z)$v--OoS=d)m1OuzUcqP4 zO2Y8HL@Nd}9N*pgaWSggG=FiPk(!;TIR0r7Cj*{iomifkbt2^1hRJDpy)4u9GjegR zGGltebc#oJ8<$t0@UM=kX8JkF>V)a>Cl0n4@B+)iSqrWgH%*T1R#~>sbe$G*SY*Bz gUB`8&zXa3&;V~zs_aw25t{2Q&ay{>k@gtc30bgat{r~^~ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_irprops.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_irprops.a deleted file mode 100644 index afb2defed29d0b0fc808af799068face7344b67d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31054 zcmeHQTaO$^6|SANb6K1V#sL#2&e+;qKxmoS%gj0o(b{WoyaKFc?SO;?v*Vezcaqte z(M<1Rhnu;Diy|-rl>D4L@We030}pvZJRlx<;346hs_w2+x7qG?X;I5vQg!!Ko$BhU z`o2@AF5PqPwf4BP`}*8htE#K7)Eo6it+{leTCMRYdaPC#R~A=Aik&&e*j2{n<{3Nj z5o1sNNBEO}Weoi@e-r-n$Bdyr^LOFT{+BWI=ROgB9@3$I`Jcjn`Cp8oUx53gub&cr z`7~qbn-GTn)t7|-T9q;MYY>Ni9pcb$RD|DTjG_NJrx%!*0;}L2u9=^;!^kXSLC4EVuf-o9LtP-gq<~jwY>k3*`0!*4ho)-3Pi6Ti@zm z9F6)x$Xc!5-l!#iU+V7%;cyu4zB%f)!{Bmo(CY--L1#GbMzYf+WZYmJ-0n@Fh!^+6 z-Cz**I_IGugGt!# z_k+0o4H8a~BzHqdZw@-cJ zrNKDt1;!J&#OQrGf~NMS;8}ATNAXEYwI8~88#J{3^fnP&`rw=U{jdjJx5&dN1-XwQ zYQ3MmEc7;!ME7p+PPi~kOhlJ$Sg+L@jYhTFSgJ?HI_(g{OUMc2!ZGP z+I^_9t(^t1L)vZ;9<#=_K3uptnH(a2nG;`sO+nRN@DQJ*c`>OpTI+$W!cMLBb;{dOD>h12@N+s|rwpct(yFnH}U zq@HG7GNg`Y{q&^>ZAeW@nr-ylxNyvolybro%kYp-hF_=Uy!3ImGO42Fx~> zqTx(cVzvSG{4{^MWB+f=F7n5K0}O&VW=}^Lz;?7@HkPMnBA0N0#>dwv7hmgVY{glI zM`ZIXub(IQRT?Dk@?i{!gX5@Rx5C~1!P_E)V@av$BSJf`U4eG2U#wH^->fFo5$y4`j!rR;w*73yK`7(N~&8qd&@v^do2-7+!-j*@61t zD-eGpLMfiAtd>%vg9av=3Ujczds0&;8W`(-88Z7m$(KnvMWe5R%&uK7VF#9D4P?f4 zxkmh4$cL+uOdJL!{_xWm@z?$PGE82bCu4EM3+5#-^f+7z3<|tqnh1HM=fv!0O})=( z-El3?BE0fi!W+Xa~CLwsSoauy&~jn6oRJ;Yr|2_ zGU&4o9vH!OJxB9WIy5)yO9q6x)C4 zSqlaw+>##Iv3MaRJL+^+Q`k%8s9`=~N1jo`^As0kIh3!na_kg$T>JupADm>x8viX0 z74{3bAgs_!Z;-(d@X3MIbR1}0Fvkp~btF0PEVOCX9^yF%3J@nn9xI%|0)UhFUljrT zSYbbevmO8X3fc95VBg0aYBDNVY^KG%IV$)KSPO?)Mmxl!I7-XtEt2mv%P6$V8J5vc z>~e|jhwWCGaes!iKHb++WXvP~(MilFRRp0Gb{CEk^R(2ux>w?SYWhYx#5YT82OCnK zOHGk?`k zZA2k>s<7X}QL~M-(p&kU%lKqM>hUGL@;T>HO_Y66^`Bia%H{8(Xsf^%XAxnDdo=-{d@pL>fI)2<}fOpB;o zCy?C8vrceIqC$I{tk|Pv+);u~^5Inxz>gL7V>l;#&`Pe6K#%pn$?o zGui)2sWr%}aXt~BdQG_83o#Axc{KfJ6~v3zPx(9R50j<`WRsGcu&0qeai4Z&xMq%f zOWR)B_IY+lKP_=@d{?2!+CF|0OxpIZqsoX}h5Zb!65HM=xdweR-Y5Fgt_hbTTi$vu zJ139Ue@evw{|tusbVaf4`%EKSL^mn91^YDCC-T#-_m*$QOhtYkz5k?&eENZ#LXT`S zy%~eZrzN*QUy1gK{gf-b<*bhAvVCg(Crs>%4~rWl*KqS-|1lN& zqVc22&4&v6wB#0(M~U`{{gkV@&GKEZsd_)pZq7#~_NRO?y4a)MOz(P4sRfM^(~w}T}QaNZ;<4`!@LF#hbS(0uq3!XBL5 zF?~Y>@MDF&4`&-6j9PH>!W8w%kF+by<$rMS7Ij%kXc=VXhXWbWf>W_)lB&G6C@(HW VA$ZdMgM)Mej{gI-NqAtv{{SIpaHRkM diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_iscsidsc.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_iscsidsc.a deleted file mode 100644 index 6338c772fef11583356462a5ee60f53bbe779099..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67730 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 I7d-F(KR`ixqW}N^ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_kernel32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_kernel32.a deleted file mode 100644 index daa363d559e076fe9864b9f921296290e1c3a8d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1074054 zcmeFa4V;`+eJ_5p*(96I=0&9uDe8(q5ot_9NCKtE?j{S1d0BTi38hFf*`3V}nVlJD zXF`IMe?%@K|A>?#mnxU4mnx--)EA1%MWpyrsz?#3B1NQ#6e*&mij?a8eb4W_KIc5M zlVvXVKYwOE`<7I4%vjAOngW&v;h5Mvq111m@# zSk=u~{hXKuoOm1Kv76!m3S*3S9xY}8Q%^AV+$d%N`|^wn zmWf%wh0ieFeYcneTzoy_y;q7^z-5#-;Qb}W6+6T%;Lj+Hz}16{KOYgZfNRfW{KeT~ z7Vxp1jK7=^vw$1UVElErm<4?5X~xap5VL^K-om)$b}n2r zo?6BD8PS1XP}u?hL3H4`m5l%F6|;cf94gT^YnhN}KU%Z_^Ew!vhl(~};ZnwuC87;@ z714m-d75$PBccuX-G>;jyG^tKZ@89m{-zUy#EEppOPGKRXgMA$3+|P=eIMirMQ8=xSa8^f@lN&@?ypfSBo~_ zudij?M8AQ*xq|Vzt3(^{w|g01JV&$v|BLbf+(G3C{2kRX@YVYm-=Hvnf1tR4dnmua zKT=+S`xh}DcwV#t50WnM&qpvGd8KFr9{mO5$5f`k6CY>%l)?s{zJT%bQ$!o^EY%P2 ztF??@Q&|Bo+|T&!ouZ8}yX^|boQuS4prgQ8FeGLJi+UNaSSe-$haAFK`b#kzc+CTh z!*3F^f!BYIaRmJaj`|Sem@CC>;LZCP%f`iQV8vF(DvAeK)6Y2R3^5z{!x6@*!~^dxm;Sw<$*#8XUJrpKz36%x#J}M93z;%od&~M<% zk1;+-aRS$TlJVi2#cbd@;sYNgJ>dESj89x8W&=0UHSnnta7 zW!!dzm<@cnjq#NS#cbfNM;Tv#Qp^VKzLW7Sq67Cn#Q4rP#cbe#PcpuLyO<3;bU)*V zqzgRy0^`Szh}pmsw=jN6c?6!mi1Bl>1>jk#f8bZWjOXb$@LxM6+Qo#Bm^~uefw^Zh z=8uVXplgt^c$H`eUU?Yfce+J8@ao4HhutRHf!E%`=)PIB18=;6ar8$-JMgBxjN>j6 z?Z8{c87t2a?Z65BjJ0b;JMag`GESj*fu2srx^~eHoJQBc!1Ig^4~uqS^PP+#N)xc< z4#t_^5beMpe~xj^RiYipT*4Tm^Z~mnjB}|BfXUMtrISQEF!f5t9!e9i_cx4pJt^9O z3m;&-`!3NATukKvy!SH3WjjSX@P5i8a0P`2TuHjX2k&8A^BK_&eE53Cb?1wA;G*fg4vcKDAV|1D}41@tH4*cHr|=2f(eAU*Jo5#_d$@z*kOT+(lsnUq6;{ z_YtBU_~r|YZ$Bd1f%_g}eD_Y#4t(!s#t$wP?ZCqnKJcR<#$%gAJMfcJ8BbD}z*E0u z{Oobj4*cSN#(z-R0nc5__)n@A;5TPT%$aqTkZ2zhbAWk!7@Y^i9AM$c7)ve}bAVTs z8B0kHc+L5Y!_N_OfY)EZIAVvG0~|HTIOYs72YB<@jAg6D9AL#F#;VteIl!7@7$+?g zbAUfQmT@Y{0)1;4{aeKxV4$C|;Z!jP*nBi&s6)&FMjm2p`-qqWoOLDR9h5g<2jv+U zrE~)06ef_PbOQMujN%3{2Pm&(R1Xz%fb*VVoPU>?1N_NtjQ!V&Ily}^Vq8My47`uZ z2sl7t10N_bt|S`p!A*>7P7!l}4=-n2M|lH2N;KelDhJ>bRHndcZNQ^cXTXmSV?0510zCN?5jCaRD!kFn+sQ z%puHeTgqsEO3Vf3Jw6hTJW2*|8^MTQu+;Cb~oeww~4vH6*n>d>;f?txcXei zpPwn_0@p5M{6)K%3w-oG#`T{RbAeA>%(#)#1bpfg#?7P$eD-k0=YJ#S0=H6G0AG5T zar-@DF7TC)GwwQH%muzq;Q)6Z$N1I~F&Fsu{TO&G^+rVlMFf&5ZxLRLmvJBfmjn_UU3C zFt?jAzfH^o7CgpSyhzLgUhx~oArFXoz^iX&97bUQugx>M&ldB5H&U3u(PuK=bc&b< z97pj0Z#j&yl70gx9L-pJsF(-*!7CZ3bcuOD&s;{|b7CIQ|0HAJAu$iwa1Uei{bC+4 z^dMu)BVrzK=HrY%zFW)#&bf<`xkbza#;#@Tx=73e&Mh-0&k^&0(y5FoN-MDE7{)#- z8{l2fGA^Wa0Pnt?aq&mQJm9@oFfJ>JdBFS6Wn3{K<^g|3Wd&TljPd7GKEQ`xU|jcv zm@kd6gqR21`Z(iDcZ+$z?H^;1{mujK zqHEymlxE;=Di`2emox6YQp^LsL$bgF2N>T!U(5p@qI?2B+{1YE0x=Kx@pX(RC@kQo zRK~#5mok1{5%Yj&cQSs}FXjQypUU_zDhuGZ4@-2k-6ACBTqZhzjvb5zM~V($(Gtdz z$3+M5ss|WLKO{PU*PO#Re3j?`Uf;oZ!^5HjIP#N>-`g)bfMY3q;P-nO%MTSDz{;l> zC)_1EfVC7h@CRkaDgB}Y=;>yxqjUlNFE9q~6&=8a8yK6f5*@%0#R+T~VVrra=m5@o zj`5BMMF+6sHpb{jLO8@Zx$WE2S3KRhGc;cU&pv^ujl|iI>fmCXwdtAHtP3Z%^bphkv zvqcB+os$_4P?-SVZ)5!6QPBZB{2=2;WH-QL_b`6)Ine<;c{}6ZsLX+9u3-H8<)Q=l zU3gBj`796!C#$7BSxZIx!zub|_=TE5&@^c#0QT{TSoKr^S5W3^G{;@$r)lku%F5mcn^gITyi+$eTRwpzyZOy{BbcK z_|y9sS5Z8`f4`3Lp$o-);D4OM_z0yN_@5JukJE49uP9F7lgBYWy-LgnK0{>>eEt;1 zt-WGC@FmJGaQl&ruTb3se@AryeC-~_-`^zW1K<1zS9AiKe!+PA zBcc-+d7QEBDbWd>buZ%`-xQs|j&CqV?-8BA`2CC==>d6)6DU5(D3cCQ{WxRqWug;! z*B-`&J4Gk(?taF_D@7;p-q$fMJ4ti`@27GAt~izPXGe%m;Oe=IKkpQsz_p7Q*HONJ zj}agE%cYD@P#FL>KFgr>h)&>U$_wz>n;ExUAv%FCOfYVvc!4idI)OV^F}`}F=mfq_ zVFGvG$N1I_q7%6H0OLCp7VyATjPLIioxnq9F@BgAoxr0PF@AiF=meg)k?~Us3wZkD zjGtd1I)P`07{5ABbOO(}Fk0}pRwQ$u>e@~4aO_(6$^kv zhz5|KD{g2uKjY|A#RA|>Cozs&B^Cg0IgYXNNU;DoVJTznE5!of z4-RLX(kT`Ir#{2zqx1s(*E0q#6$^k3dB)};u>csNIDsw87-t?L765yD3k=#gs4Ly&a7A z{ZcFd4p7{{2cBop+}Hx(gAX#UxnC>*K1^u>t|L0|(c2l<-zXLUpSXr`q>l|;szcnG00{Y0FP2yfFF-Ao>(gu06(R8fv1mS{G8GWJloCqRl8UK{Q3#T z3se@sZ|{)kYP()Y%(+%{0Ub9p7ThJefJL`4UU8l10uI^Fc=b-v1srw~bJtRa2i#0MECe^GP+Z~YLXw<5ZL^&1$c zA1S&3nq!dIbe!k{-hMJ;gyev2YZ+&qD!PDooW$7vg6INvKF7#DDY}4(I~lvFJb=O- zjCbB9x`4`+jPnkNF5rC16YwWzGxnb>x`6i_&bWlq2weI+J;nG-N*izk=>mU!1>>eYq6_$&LB{7+iZ0-94`F=a zY0(AT_AKMe4~Q<{&ifg(p4J6?<8zFExLR}p_mmj_xK(rk_b+Gs(<;#gJh+tc&@-Y7 z_#uS{Jo-Jxj~^0Uz!OxSz)!DdJbi=c0)Boe<5|i-@T>id=kuZq_^*n@LUE>$n0>NX z2+Td4G5<)h5a>FNv3R9e2)t4-4!K7x1YUhDtp=SO~o7 zYQ}NI1KzTqv9c@{0wa~A^doy(v;cOh`#QN{+0=GZH_{zOvA#fL^ z0r>j$44PY52z={f44PY52z-a)10Fb+@%=N!Lg1m5j2|8;76Ok_zJbS{WBlYvu@HFj zX~w@%Spd&G&-nKz#6sYg-(&om=)ene z0c&n&oOF{|1pMKZj8pfBML^#eqyH4K2pBk-vEc}@2-x&X#@i`eVB|r@HVPLw>ng@O zDBZx03mBsnu?QHa@BvzrkjQTpi-6(~qr6Tm0;68TkCIj9U+gMZlLzjN3=VBH$~>G4ARTi-4~^#rS&)2l(dq7~lS) zSOna6E#tdXX2AE(Wc+~Y19*59<3~%yBH*z@7(aQXSOom*vy7+i7K?zN-NyLEO=1!7 zA5;#&b5}C{^D?mr_zjg8Vezaoqy2QT7?}4u#{B2RVxa3D#^R5Q#lR~`2l$}f$BMF5Jo5W%ucO4_YUn~ZS6edvaWsvvH+ethw+~) z#bV$$T@p)XbqI;sPl_eL+-Di{pBGDjuICtwUl2=xR~^n+dXiWIyyh&%;TMY~!0WGO z9C4jk0vvS(eemQ{>xln>yn+ZgY-RxAN_900a&@7un8%T%^JwS6#K$(FbG z700sM&&w4urQCKR?p?cj`|4HO^SPaXqVLX@3)%efE4OF1li*}lY@f(x#$H@VqMA8x z`+1{Nv@5kNwr|f(mbSYT^*f&}_)HKKFE=__@|lvNxTB?gJ`)7ZOGb$_fR~@DlqrU7 zj;0}LKE;|#3NX!)hzM*GCMeFXxl})TRIKJw{qV^$6v~T9B&7IS|8fHYr^o0xL4l#^ zI<+bQPALf_0y5$F!Eh)}smNgDwf^M=L>v_o{c?lCrPAM83!uOU6>StBZVoDx2MH1l3i3 zlr$)86{fn%kLHV0HYRm7;l;17CfxY>;;iE2&fNIEp3zEQWv>d`r)@({Mlz-BWTvds zKxF1{Eir0GJ9aXeafw2~_t^Nq41#AxswRFBZ|quHscjoHa! zS-1TNLy>ZOGL@{&ZgtdHOAUckRw8v_;3ka;R#?n2fq1;6TRUDU5YvrTffuosNY}0v zwO23wWKgGNDic}V&&x0!s<~dTZP%rk-^#A-wfxmrEKC*iSRHz~DteQS3jKNAocy5XL;c|;nw1GlO z!6=3svLwZFqZqDiOpJ0_Ja6@?;p!B1m}4VuUlw67DO+JVN^T{)SNEN9o}>)mH9F~ZrFEtdugxk`?D z)*%n;3X<+gQbP09vFw-|6yM;d74ro8s#BHX0zGnT1jVsR%V zJnf!RX+v=|lV4XgesMbA=ZuX}trZKIJlzm+4~<3L69`cl!`VuIKC{bFFcjhr)mfj@ z$T=ZJOIWMBOh?DBM=h*tQD4`r!&*X4Oo`etCZN?5d`B~0cUsTmx>`Y%1W`t7jryQO ztr^O;%Sbt9yEIL`C3X*_O?u}vWW(hV}rSpy?y&cPsZF%Tp7Bb z&}DzI%(sYAv6$ahEbs2i*Ds&lyz^YTd0DTD3n9UaXqftzCF{!T(w4V_l8#|28AZreu_PFNL`kO7S(n{e z-L-yCwh-jR;{?)v;8s@Vp|3bODZ_N6EN$D!FtrF8PUZHXHNe3frf!kC$N@d_t0}TI zSFThu`7H(KrsLDp)!VCdcQmD!Ai9?-nI1`9P@i3Kt2rS11V1FDER+o0K=e)0rKsQi zs!r;gn^JQbKFJSE$$8;LB*fNinTEskEvu|BUex}3 zgb|Q*KNDdvX?V1pD^+yY;?wAg?trE<+?bg%}Z~rB6=CIVp7I zdc>9zIS%A?O%R;=?l2pEiL%?0D9cl1QCY^5`Ikd?w;a^X~ld2V|W4CCn$SJ5bb4eM)_%*ij~}WZZreWCs2w@*-+?~oL9P3+?7mO4@+u_ zq%he@*8O~t7B8-Z?3Ti0rnEJeJ#X_kJQ}BvlJtb6iN%u>++`(#LNBIBmTv;kT+*G$ z6vpz|G2^(C61nq6GKIZma*9ptk8;_(u@0X&a{h2BJBs?EE-I79U2~*3ypKi;llX1& zJ-ysC5-PFNNsW~E4Oe$g=G4#>en+DIYDo}}29)F-(5xI;QGVDPpQdq%-ZT2nDvf4` zhqh5M>>j3}nQ2aG+<-1U-6^`W>8vJ$wE`pMOks*Li8~|4fkq=imU1*vV*EK*(4&t~ zK}}@yrQ=r)(JZPOZm{F7b!teAvB*2alvL`g7$e-SmChNVYslt0gq+>P~VbspeW0g-(Z7)?_1hMsX**bxBFf zu+3tm7_np1R;HJmMnWZFIw_ZrZUhZBqH0*f=jAG+6O?wh;1WcA*`M2KIvAf8n_}{5 z$p(ypgHBhXZA;cLx_M3%+WSCJ3kUS!d^TIM<*cqG)wl+Fa7ArdhXc7NKd#v~TvL(Q zQqL6gdrm-Yoqsq5G1#?n6FM|Hx_AHX|R|pm`UI$D?-#RQj}$g z8!|hyc~h4xtf&isd57LUY+0(K`^rSXNF44*itP3QF1b*!saV-h(^qqHr9Ov?+ z>mQ|Yi7xAlhBH;JIh(R1L&=_1EM%h*Kt9QYj_eHN_?|4pHH?50NIQw~LP1$s?ZDzf zRwy3}S_YH|TgJOFSIA9PordDX;0gHgFe|fn8eJve=~D9>-5oDxQxbuU31Q2C9$qA~ z>2Qp+4Ck~et(cH&;}|bzGQqW4a)LcO)>o<$O%JM4*@iJ#&K1df+Sgkwnj3HmGax5( zqr02&ciC{GTu&<|i+W_u!Qy!|{ovO}z%kPB#QHL$6Ipl*$$)((bSh(~%W#+R(?sHwOTHTgWjtJQ>Hj+v2 zk~jTG3Cj%@Ndc?t_F2j7x;(3~E<2u~rNyB4S7}YK9liB~Dal)BI96IWUY@h^O-#iU z5efDEjv=8bnNo-EOnv!`SxF1XL@oBJZtHEq{cuzJeOVVMG?b9Bn zeV9$8jS*#(Q!>`5NDcjDiX!@)zRXlb-j1B~84`s*P#mH=9_}_}8Xj8j*$&N3qnKV4 z;nfZz#w9H_Cr8(&He?z3K8%i%l1wBSn&y~1k0zVe7xv`J#R6_ldi?4Xeod*`p{(Cq zUpSDPE+nTqYouuXURkF#B$#ltz;2XG|^*|}pI@3h4EV~A; zJUqGz$4GkVbRO(l2wR`V6DKB;!@9N2a22bWXt(XsgxZXqO}XBtwK6v ztFRq=?A^z9=*JTiP`Ya6fZRQI&K}*k<5D5^T7oL9UUF5=%Z*hgXbvP>rcHpJ6Nx~g z5=z^2x>JejaT$TEo*vDPrE0k%HS`lzZDY0irq(SpRm;kja#JJ4&FeS%b<$(VI!%($ zvuSuBCMfA7DHm3^O=JstN_>dsgvte{vQj0qwhf+FX+bvw0n>|G68JUyrYJYAd1jOWbm<2Wxyb(570O{T4{N<;cW zC6?ciMKL6aP6Q##%2WEWW1ye>0C%vVRD3S9{6(PQQm&A=8K+7>TkU_%6==ADKGa%D z$g=Vyxr*I18;}zOH{TqcROd2P1X?FC9Zryh5szy_r!+XEn%# zri$fo+Cil#!A|N$lg2udm6Q)khGpRi=m_a?8NQc0!-)vb(Fn`CZ_o*m_uRM@7o;L0 zBEyf42mE0|Le6tKT}kC-`XsLv*vOP0>C3Kky3&A?NJUDxs&!4u_3dKSof@SOEtNx? zObj0(!X(A_hpu4j@hW~(ol%$T7PX-%{a$+N#H^0N0467y1b&7dni|WLVMT7nJ#s?M z&9x)PxyIbn7?z=Ez`7y3C!2Rt7V_*Qk&RqWCtW6g)FToH!sRPUQTypf=U-i z)in{N>Gp`BO8%^Dx#+EY`!u>zTcNfT=s7&SFCrilfdxzl=u*sYRf6`KeqrZIu`CCy zc9}b*gObTj(af3Jk8Q(B&`EM|bfgF``gB^}H!HItohTb=Yj`sM4vi!>6pOp7rT%I` zJ~2c)Cd^Lq6ef`e3R9I#KChKVu$HLZP@C?WQWOg1AfHT|LnDcGv~EEwn<{NG8XJ6! zNjiPS(!OM<4oyl-mS~tA3b|y+WlC64r4~NAyO%)j|EL~`rLrx9n!7V09@2?I8;4Ue z7jVdoXnB>V$#ogHBxPnB%v1@xrU97<#r&QuPYPjP#|D<5D@iKm%)Sl9%oy$LC{B{g z=_`cnq+WKcXHbu1;yj|#(lZ{O+m@kC2{rBjAAXJB9|hz&_az7kFbfJd$&vdohpX zT=>x-M9S+VHR`Q2KTq9?-3I2n2-67pY*=cpP|el~A}PZm(4H!4A>5MWVn(tTkZDbq z;!vb9_Fxwqw(`(jFPL*C%#u%|5iHS9`(M|{9v3#Q4 zL8rR|4xUvkS7~jeiR``8<||do4aLuoRMB}Mzu7(=taKDjKWKtAg4F%G(+Ih2dLF}l zYQTCX>VY7{6Ux*G!DNdc5R2$jE1a=xXZRci42L(5V zVOnvbF4R84wut*JB-ZKmL$6Y^qII{-}Mf=>4rj1Fvn=#U&f z&l^OfG$W8T&;F(=ITGpGw(B$rQ*#*l@n!U)30`utriMVsa%w{r4oB$4Bb!(xXNvBG zDk+g%D7qsV5kj1s>0x5&fas=T2y%eZPpg>y@II3R7>sH{W@1pI!t_T#a;F=%;pJ*cZl|--X#%X9zF#k$FFD-wv8PTB zBrtsU_xnvJ@ zgsKrC4kKHZrB@iu(l+yVRvkA#ouA~$d0*2{rg0^mJ9i9P@TiZwF6LH14JjGQ^vlpr z2~01{VOldvE_|o+nM1d0wW*?5HuYz23$nETGCKJzO$>8Gx zsVv=F)ew-Zb;T()sB=^5P<<&cSR>WLd00n}%uft&pvh=2EK8MPvEQdVXOHAu(3Bmv zjF=m1lr>l_@4~=H_ki|#uu5m%xT9i+Fi6|7GWp%ZbnevDL{XCBpJc_eEF z_#xe+P`VRyZidx`=4VB6&UI6&OsCp&IwV7(E|G zw*gw-H_z-wS&GPy`sfysAbOX&hWV%j^@xy>p#3B?*^`t}R9`A8BxqYPrU0?O)CgFL z+;mJ6Q85=k&f~40*@~K1(qYOCp_VG8*a{+oK7(axL`w%eyc2UH>#yW)^)~ZVskIcLg#|V4f5f9|Io1rBOvK&j4&_&z$}4zlt?$p z2qPewaFc=b2*|PntFq@1@DtWe3nl2=%tUNRHxwrjsVT#^Q(Z3G%zybZZd#2Zr&IMd zP9U0s_-T_PjzEKbOqFN~*)5=u7t?T~PHLzWaNT2I(Yr5U7c#^s9~_?Sa+0nHhUZ2u zc^sqhINj_xMChAKHw=de8H^@3(k3@@1Kf~2azf4x&5`4DfzZ3pG(xQ^N&3RcEyQI# zOZUl5fg(Uh{&Ztigw5Da5xYS|8194lI)3L_eIW-H`|MLNJk_EkQ3Zr<33WtdXKV7E7f% z#v$6e+#V}{3oLG;Vz=cg6VwuSmB~HPd5H63RGr>9&ro&LI!+V2JAcoEJFVk#LRvCj zE8Szlw)1IP9~ApL83y)FXl{}R4vziu9W$TiUYQJAB@=?@lxZbJ^ez*DND)E(fIVRW zcQ5h}v|xB?)#;pI#xcWN6I$~BXB#%=bRe>sP( zIRySm#f^=iy#K=4WuC^BbU5Z2I)|UT0*@pwf*djdtM1%&_tLzj?!}T+|JwErAsv*! zo*WYR%G(^Y)vO=N?Il>?kA94xrMLE>u zlWe2;EW1Hu8X;oSq|LS|wQ%JoE8h(Gp?G%EJWOwb#~R#-!jpE;*{7hdsHnj9lc^$l1ZK$ zkJgCAVtGn~MkZOgvKoma!Ha1m;_x(dK6plY9gPyRWt~gkF5(g#UySF+8kY#Qb>7qC zwi4;u>2YgqneX+5>ZEE$=BWh=)F=A{u2XviVj4F}x9!=9LWKx>l2r2KPyuGF5Ym$r zC%0Y*CXa66>zj%S#AksxS*q-_J*kuA1Y>}nw59`$Rr#${f=Q}>9TgHv<}^$$Zln#r zxk7fhS}M_#apt(Inj!;J@?pG98;0rRJWK(bXp(d#8QfArx<~QDV{J;c3|*g@A&*B$ z2&%*Wn5E?L1`c@ZzNn!NsKe2)Obe$D=L;H9yMk+2TE53U8Yw{>nBs^3$>XA(n>|%J zb(kK6(~fK!cVJ3YZLzFQ^r0E&DSJ*qI^S>xF!^FquYzNuk(5g*Q(|*?YV-U04LuwC=$w2$1XCWy zWO6r!J@hdF>-rAwE6{6miiOO4os&~&asiBxS`K}tRgSf6aFRFH#2 zYRGy`I=v?ZLb^wZo)%t90=&(%Q^v|TNlP%aEFUYB1veq=a^(V7j3VzGsbU5savOpx4$SnhT3A!`2WiIi9j&!0!Gu-@X3b@|(1cxAh zdJ|YK1;5?tD|?M!-r1fGfq$Z_aL)cr5bY(;5c3TxN#*NMf+?rvi#s#2>f;S>JcX-+{J~Yj#t%%mq@aZIpIitj}G1N%^ zh&J|Ftr{}%5NfKT{IP6MzZ$yPLy8>LNxbhg>*Rc^{G zQHG-~BN8$mc~-71S4S+#L1>bOWaydI1kqf^UM`oyOpuf3<)*R?gEnXd=jEm_19CFI zIxJf@a_edQyj&-=$hnh-%dI&XlcE}_XhRCyn3ea=we@UC){=kjt+Fb`Nv4H1Z`p7+ z57LPjv^fm#(Fz1TrqS__%jF?M3e%A70apom%P_Lxskl*=A>y%Vd+b9%1|d6HayMFe zBb;=d!l*B;S{;0Ataou>z~S-r0Q#X`mQZnXj?i- z@-(@6!6M!w>70_4%1&W8Ig14=bEp{UzGs?%jWeMe#u^A1-9(?oaWT=8q1HZ1PtNsB zp?1Kx)nRo)Auo*D$`04pN}i3J#`Wm2e;jy2Q>MTZ>(ZDewa)2WV~UBl>#{-=T@|dLXPI$IHOW*2~vp;S8`sm zW}?t!Nl@pGJI&jiDK7am*VR)@wrYHPaSEW0%i&mO= zOFM3x!IpOpDpd$kFkyP&{#-E%FpTY0|>VINcxE zR-C*f=t)T@FP@~#i>C1VvLb6N zW2fkOeN?EYdaDG(dDA=d|K! z1Q8bdJ5#;;)GvO}(+ML*!0M*?N^w`p*9+o7V6yMBj}`_pdfcQUFi+*#pn0xG=SV-S zY7LbGH%~NLMf;d*5Uazo^5m@R_s9;6xjh5NkYJPE<~`>0ecHU2w z8=V192lASn@+HyfrOouF#m(dDfoodBnacK7D-}8$$x7D}3d4{OZOdux^dMXr6GAY1 z%<*b+LeBMcT|u7hb16;(^T`}yhB{_?2^+l$YZGnROavP+V>(_*`5GvDiWEfl{Ziua zm@%Co4y&Q#K+q;0+`W={i3zB<0+t_N$aeHpq0$p{{xUx29IAnY(mp-6Yl3!&SP?(g zkgfE3_R!H!cm|w%Hs~kw8W%~|_hXJ|%TlI^RayhWx{Y%<6aq~!K$06&xdZkG4gp6> zPtqVWM-!p+_6lqU_K&!zB@yzJ5x5;7ZmLfBR>IXzCR3^Ce$|A*)r=`yca9;>cEfk{ z+%~C`=CNJ9zI=|hBiAaEq(rD~b8I?6lVH}i5}`KMcX=;#A|lQd(Fb7dQwh!Mh5oIk1TM#I3BA{PRMyPO0J}uQ}RhpF(es@a8o2@ z39+hPR0vXP8753k3PQCE$kM^A^iFTQp+pt}dAxKkO=c$@saUb^zokY-iuE-RXPfp0$hsB*TcQssrR9&YI;<~bqT~>;Q zlG`O8l-4&~^j_-tJGU`xDAp2_X-yTd&80>tXg`WApSE(GA)lO(q7o`*K$Am36wzL{m$$g80x- zydtr=Gi}HXBvo3bW&Pe9-7LoZ*H%!R3A#g34w+4Z7S#;MCf-r!k>o`NPP+8C5|0|D zaY0Xivt1fDPIrnV5+;|6jmx+YrqmrJ!}Mb^4nz%|lz5zi4bp&ivc7jN>cC z*`!zF{dXpjHDnM%wJe`;;|V6WQwTVLw9S<-iyTRpE3p9Y&|C?p=8S|aNB3nAj-Td} z5t8$sKQ}Os47uFYZh2N`$vG1)q$ep}WA?&Ocgh6KO@bSvYRR5-nk?sEz9%Jkzd6#E zSQ~JPm?Pl6h9w{y!stG|oRKgF%Lrt{R-=W96G#W;tA)9A)k`nr zZc(R*JTk&$g7-erfSe$>F+1vRyu39Yhc|m}yNb={+R$ltn0cQl6ukoBm?9$S`a!;v z+OkwRVAVG`&zReAU7n@#v9<1Mo64SHII`s&ol2ge6F{8zwx+UE7-6|@c7t`xALbq8 zUJ`BC?psZ*k#cFcJgb35>JR3ewk8=?mRx|u+fm~@OQl|dc2z|U#$h?~&N`<`2UUjU z_vGzBYAlA&aE0C(2k`JpJ+bc3 zsLRl@v>fk8Dz}#@F11wqo?f4ZE9XVJZb5nEgq(MabOe>h;85H`^~f^BlsERqd7uvR z4cbkoAvt_ER>fzVkQYu#@il4o(tWbLFEOlkiJpuTzLk+N*h?FWL!(ge&^vr-Cl8k7 z@SQj`U&fH)E1G+03LhccZ9_w}>OmXP^}AYZT5HH8LrA7eo1~SM>hT3IWu03zwc`ogk^9Mb(gc4!&n4?`H43OwOzSQbsF znpM#r*F(d_X<5oIjl$J!vyWba?mwKH!p5`;h7NlBojjsh)mNMcD%G!i#gijwNZ|9* zvpK%r5leC)t&h2#$QE=>4rS?8!e$rOG(rxW&L_eQs5kA9%61q|3RP+ZxUsoKHpDb; zoUR*N8W(g`b52S$g$G?5=_Z?@lghM!To*P(PsT*&%Jc}9ahhN_W~?cK=T>+w)h5DH zEZ0V_xfC~!0kbET>r5o5Qc4X>*mL$`ck$A;_@y(P1DVbjmc_qzAPs$Z>6a2vKe!l zkB(JS^))O$nP#TB60Tbj(p^e2RS3(biBFi8FW;ceE@-dX*j1rN1Z3zNhS?O2f0(3t z*KVL%Q`!wJYfnWg)*~Y%hhQtfEv6KKR9&}NqPkp04l6~&k<(SFZc94Znrza-1Uv8v z@(~Ic-K2TQ1X}wrmo-9%w9EFwwu~UZzMhkBFp>so62c5G4v=g-LGE>Mu861acUUGS zkP~vzJm@~lC`P56{Do~GNOMfYq$OkqF~&roFMIxw>9nUb38S5qm1V@|aalv@aj962+s&aNaAb)E)FWv4K_2*O~w?8)J#7m};^POIkhIz|wt)#ccReDyw(({!8C=G9tG76G3@~gUYs5|A?Jqe$Z>cuHy+S<;dx|)=Mao%5z-SB zH)baQj+tAPEJ{0bjQ|pifaJyR2@@xfcGKVqd#P~GclQcHsU-MLEFLEkS%PmhX)`G9 zw|d+bVR$5SFj|souj#&N4-yH(O|Y$=KC(WNafcO=53_6Jxpehd2a|eU=m`eG_DI%~ zh_WI?H!X>vB56sL_GM)S>8{j`R51clJl#?ntcZLpB}zV$mQ-n9R=>(1TILSZO^+eR z^Wd>l^kS)V^itATQ;T(UAadp~(q+W?NM(%UMi}Qq({A(qLJlcKlI3Dc4T#I9Cnhvn37!cNc>t7l9xP;oqfb8YkgsCOKFU}Jl#Xtz9nD;vNq!hS>$|_ma6z( zHCW7{9JGTI;jnZ}PSbc#CeIL)_cczBLz&mA$9d-6-~1qjiakjsKNgD&<_+Jt&_xjE zIi7Fue!MtuU192UdVO^PV_7<~!!FvIh|&d8b!`KvDU!<6byq`x_Dzfy3k6z-LH92o z<Z1LL-%O!bC?WJ>z#%O6>A2eFjH-}UBXYn_z-2$Mr>MVMqe%Wb=!hZkP~vYcsx0jQQEyO#$lSiuj#r( z2%5(4u%`o2_<7Q|(Uj5V0wx(u*69sUv{DuFrDiX!9qd*-SHq)Q$v}kiL*aXC*u#~g zK9MPf8Is*_y}&4ZGFEva4bf@d&PXQ6SPmbe-8EEMO2nn`n>@BqbJcd8D&L? z_8ywTjFPn-q%b4o8X7%<&o4i- zc}%w%L-3<>$Q&NVQF?qdNGI2NwGuE{=X4rwhW(eN`ck$>@sq6OU4ELTpNUXYm!9Ut z<+T+1_^$aeg=6>qbU)2WUQEM}+t+YYKyO+vIqS1FD8mRyo9J}0FhNS5nNgiENsdk= zO_&Lwl|s)JkP)S&*+E>X@wjn>LN0e@5a~+QtIDxZqN~<4of3?V{CWk2xpIT2UwVq< z@RPlcl(4;yy7aSPh)y^W37t#*&Pg|&n#LhG57oIs4mly`Hle77E0C(|r`g12b#)F5 zD_L3|BM}d_bVSnzMnX14Qp>451n!euUeGZ<#}JNxeS?Vc(=`1=hMGFHJl68#(KHU5 zul(>dt*=1Ra zX$Whw>r+W;k}^h*#H^#21{Zf(8&1-bl1{W<2oy7R^u`Cb5l&Lt8QLbK<;d2jc>~)R zD-pUK*80LkPe{5WR(cG8?qhn|x(>k_BDx;@_}$o&DT!;al>3C0jFbuTCmrs-ho&9O z@Wl-$;IT&V0DVA~1aD=@r63z+7>Yc_#YE^4jf|X^OUf{@Zz4Ood!)EKTTn$mk)yp- zS~kwKI_BI!{rZk5OA>kXC_9DV)$%n2Bnt(*A-gM+U$=R9?Yd&+c++-}zz8?4W!h0x zi&_)t>+@NvOPb(NXSBFQ5%7GCs3?U>+hODuw{RUI&g;wON&{1yOEld+ptnH#w7v|z zSvv2{OzOxZ9G1508eUVD@=2c3FtcE`F|)YKU|GF>H{UaM+>=n^*rF24u|u-WZrq^kj@VxiUSX zx0=h3p=GY?>(#;dH1~=gOhVz~3D20Y$4=4H=}2XJ3{?O=jUE*obBDmX+_Z2STfTEV zzPcY}MTjQ#SvoVo4~oh%o7H18`Lma{Dbl0?&R5(t;`V$I21xYqjI2_gNH9*j&Q=YH zUh1H$CHbt8k+u}(4rjA^F4-aQ&!KEaZxMC~w0f5roggn@s+iY)f=}zABa(L&)b!X$ z(ad6~M5MBN%31gyJ*C`K&!*u4EuNs#P*gvuSsEzN9Cjw3 zJ74zn&Vhh+iMm4c5~TB}XUgXB95p$1y9%@qBR6Wx!lXJ)(hW`5d$v4D&s5(S4(sB`MI8hm+ZYo=lrg z%H{KjP#Wzhj(v|5Ss>!+=i&d9GO@V(46i4jr#JJ`cIo7^te8a7QPz}64PiQMAvF_? z9Z_i#y-j5+ZGE971bR4iG+ROyvBRh5c4|pDJPJ^btWuSe0;EfiGSEUcKXxl0i%j(S zHATQ2C5s%QViz~bRnh-kglG%Hk%*3=%QSyHO_MjHjbgJCJ|o_ zWqb0pZ;YB6Hp&Nwp-&@JldbP-(+Clp-iVUjMelguw;{7Lo3C9+b;weP?)iB(^B$F? zlo_g{Rd|jeASVb;u3YsVL2}qBp?w&0seU+m{0tA(Ot?OuAoh&Dvznt(|Ijw7s@=mA zGy`CI!Whe!rzS;D5z{mHx&%BG%N@(@o2)D=zNK4zR-CY6^@`QY*Q{FJ-A#Y=;qMj8 zm#<#Ey1RSz@$@A>J37ZMnJe%)a+VN_<*zwnncUDMFH*m{#o&%*v?nr?D#46X#o!&w zc2eIs&1XO4atQFqRa&%zeza4%+|Q|Ext2RY(;?TDF1JR@EukNWMC3GI|9{*1p-t;I z9KUkeSUwNhvT^cD6!SN~6=K({aq{7{H2-(Y3{lKZ!~-d}yxP)aoU)poCgYS-yOco* z_#ai4vW(^sYxb;E8CgECg4wec`hln`#DNcF+Qb?3y?uM%_U*VKO>G~ft##$?xG!%% zkM8)T+;$@FUAubw>Q&qGxt)Nb@1|}ln?HW#_RMw?q**4|?ZiRYtu*L_-L9r`M!k}y z{NJ|Ql`J={i)|0O~Pjw_4u)@5q^U;PUlv$m!q7|6N3wE%1#NJzJI!YIb&A zmOLTrhQ#S3twM}fCaQ(qOp&(al{7N>5?H$|UAA_VFUr(@+@6Ee9N51U)|QO_Xn{hU zF2DJ!Oc@)gG)zls})>DO229zD^oqjNXyW1h^^eyW~M`73N6 z=n;-1{+Y^7@vmDfud`pLe%R@&WE7FF{kFe0{V+;@6-BnwiC0)TuU}tFGWociX&=bP zsU))}F1K1IYZ3i8UCC$~<@k=@9)+tbuCO%wYxSIJ=Dh9ajZT$EC(1;I)gV5$r1|uV zEs?E`E>)We?gwG-FWmBzeZ5dtD@zJ7P>bch-uB~~B6IKAy38kPom0dq6apD$TjzdK z2()3Q96`VIr%jC0PdB&hPw7(yEWI*Q!^wteR?u4cB--FUqP<&{mz#7Eu4q zY}M?wx>ntdEU8bM7^7dxhLKy(s3oD1HodZ5n{M^gsGvsL^eS!BxzWiIh26|HeGomh z%&lkCOlhQ5uc+6mTRnB7t@?Ov)uW|-2)miB`XG90)SL44YcW%C)R7zYg-;Q8GoAhfxGX)juTf%o6b+s<5=0kw&w1qUxAK+ zK6adVBopL!o0y>g@Tg60tyNo6Bkg)^op!y3=R>-?F|Xa4|4?%WW~4Y1yIyYWn!M`V zwx;f@U#YCv+V#<%U7zdNHRskhY(;CNWv{8zvRAiyY*bYvd+fKkmi;p7vB`?{8mI2W znbb(TUR|eMuUZp$A{S64Pd8&d!iFI2;ia6hKF5i-){ON;TrTjg%W*l=V`B~HU_Fs# zbIeV+NqTFWUT)zS?oWy2_IHc>P0{F2!4 z?`s?GX%H`l_oTr!-8Rv z;kq~0{qeEmzSl89ez%F8^dGj%IkmQ|t{c!H8*8q2eXwQCvThQ-hv|=JV$H`IYwmg3 zShL==s;#>*?uD`Dde;S8qr8S&^P7w{HRrogjqOamIcq2{ zYHW8DTX55_P}e`?RPc2JoC;&j^{(KxthwRVe5A4Fm&r^8S+6%!!Pkwn=GIzX z%t~L9wY)bPYi=s^#?0p(#!*9?w+*~silcg6oQvvt+rtbvxz(jIx7+% zl*EkIJaE=z1LxJ2w^r>;eK_N^gZ3n5V!?;c*`7a-4qePDTloL}sYEutGqYf=-%ty# zchzpy39ToURL|pB`its=f0rzn-gbxsdYYsUw&|^H!TJem&e<0F$7^*;zYzv(JmKZ_ zuGF7A(s%ltOhg6m$LYx%*Aw&2&01?Q*m8i3~MgLQgq zTX5Qpn$B+{OjysTEw6iRu4TcEw%|j_f=BVv2 zV7%k2nJiePcg7Yh^&4uzt#vsVX41cXN#-J!&e=ZEWOETFy)(36rQc8su6tdsH5U=F z^cOW3@jGO}O*R){(p%etQ|BUBzYzv(=OXG|m1~{U7VE2x1<&N9wnOHeRh-_09LbcjlbQ1F zCYdXqxn=vgWy?;`8fn?}uHl^+p00T*Ekt7N3T@bZ;{_;KkHXtUcJQ*T^h>*6!ncc@ z>%{ABqNH$GgAzHPmQR&1~dJtPP_xmrZ4J5psunjcW=c#j*wABV0-v$<>v;j43`7&(- zGWWIa11!+U`#_!RtgSZC_%_g)-UeRA_W?5T+V=q#XkZ&yTjz@Gnib(&XZePT6-8uak*e_ z==`{x85d*U)xpjU&Er~!L-W#Rd_TwvjQ;&R5qal-DwTKHUR;p?%&+06Yq zc9!B}XFHEzg8Xh1xYfo%>5gyp2_===2)w4YKyMt z%xq)PNqcUrHP^cu+u9>s)0$_p`@Nm5xvyB5D(17z{l2<-cE3xDHo0|rX-jKlKV9eA z>+067$(okEl(+}$ea!YOdvmo?s>(&zX7)m`zX%`eg{15eR@SU@9oo6!G}7AZUS$n^ z?bghqomuRr8a`NSZ;M!a-$bUI8Lec?O}=~b4KR87SgT*h1o_=2E~Wo&zs|PpfYo)1H zJDABzlZdo~o(erEwX@npCm*6z!rk=UAk)X*4|zYwBEY zZH)oA64UMmGZ_Q?wmtL<=qAwA^ENXZ1EhEUjqUT-)VZ#@y0x=jntLOy{WqSq4;0jZ zx2dhY?w$3juUEMayLioLWY1pj>S@c?8*c0W71}yF_LrZn$2xXt>kaPL>s?1}&C%Di z^_k4kzu?(=bHCg2VCU##=G|b+u6Hf9)r;4(?3wuI|JlB+c;4z&!__G|40>$DoXpkC zbM$q2EMcyd#}Z*Q(qpN2rS-&cM&?p-Rj1nxvxD8)mwdn1OMPa|OrG<8UfFuK!gfv$ zYbCq4($pTyVX{YXXJX9O3h9fTPv6|aleu=yJ>WIc;_F<2U9%$G;n-S}dU0z~zh;Xc z%I?XQE7A=5r-rg)xiW8MZEDNcyT9xlWWQ<)_}3;b)0Ur_d#44Y%QUhj)V(?z_WiAv zU|YgWX5*jZmT;Qx>4vj;Y6Hdc`a-3=PudHg`^IzK^NBK>AjI6nFZZlC+-hfwWn-C2 z2BP$V*F=<^Q&aL%UP($0LPxFv6)}(uQ{=PquwX-x`$9QZB_liZc~XYHW;z=Wwb8U8Y%L77nr>@P;!~^TD+9cf}}jV z5uAjx-x-}d&x{1mf?O7tGebN0z6aY9{)1b>y4+MsQ=l-LdDiERlzx2dc;Iv<$nQ3B zfd0!4AiV^f=1@bZk?o=0wc1tTJ~f=GG~H~_h+{`DWqUZsiPy37pgl~)<%0H*a?+G( z4=9I&Z4b}3Z_5?d@6C>qZgbeZO)qdh}D-oaY%zmo-zWwCW|q`0w~ujG37HT}-Ay7tyYa;+^qERTj-d!1{rtpI0OJ@?A^YX~&b zXQ^|wcFpnOX!e>qd=~dafS1x|NjYI4@L6!`0zUlDJkc8XESJaSjL&j3g>kSw{?E|{ zwiL?QUAZZGs${5IsN^QI>-UakOE{x@V{xpS&r-O};m@EH!?th?$n>%P%n%dgcbmAH z{?}6qrcq2=UJboN)VaR9W_dWmJy1vM7;~)ZrEDDqC*E2f{oc4-&^j)P%bC`3IMwpO zwvK1~*1-oG_vVYE^ornSZV|6l_HSFn$%=x1ZDK!tdo9Avd88S5>_*-h>Rjnvy*51O zxOJ9|UEex{>hoZ2|7X7K<1Ck^wt0+)@Ub?(j0y6)O_b@sXY(@05o2e1BdxsNRos=K z|I?bov{rs3)!@Ne`P06YljD=Gj%CN(4y~!J{wQVR*6KGX3jVc;E9l#^`dA4>8bMU7 zk!_;RHQm-(eq5dG{Ft$W@p@)5F8(*aP4rc#D#gi-*-A$3OK4`#r<;q*xeN3v3jV3* z4BZh?BKMJ|kd$a-E2wv!cX>FQ-}3$Kona=v|5JV|=qZ&p6h|}pb=ApIQ{NHLBj982 z2&XVXez%E>=)ZSI@Nyopf1lq#>p!8jwkzu-(YFU9-~SV9yFX1>|JWGKk`@b@JiYJ) zFSS9!n)yCZ*V?XoALt26Al4K@p+>fcde?Sa=U&Fzjq! z^1Dr3N&lxW0b~EulvG1oMZN37%fnXD^89V9z|%|zJ16vn+bX=7pyuxPe^=SQZ4GM` z1^?Q_1@!H-1~=zH6Y!Xg^l|E33trtiy`u=Z|{Hpe82AN8$R2ALcQy`tsTpool>nT63H=+rv!eIDhQ6hr~Q~Gq-~}=QwpcNaQ?d0!e-&t-s#2 z-{s*BhnAoJ;{5!_T-U_*1o_=2E~NjCpYP>7uzjD~NXxH#g*RN= zYCXGdEx(&;^I-j;fAK6on6z$cALtFz%3bSUrzrTRP8PRbe~o#4eS3(AG_oDkxyHM? zHLEY{F>O3BlUe;o(GKV-?w8T5zR9iW=`E#!R=ujuwcFO24BR=TS@lfLWcX40w#@D< zojbs5wp%mh93IeZ>R!FBQ>mi4R(2leHPYhiT%B$0)30suGa1J|A}zirpAU_`sja@Q zefnhC(VSbukFy(T`*p72u3i)R@~wUP)|a2jto;wk_H&g@naS+fV6H^3d!tV?&)vL= zy9a0Vs-NHDoaO0XBFEa&y<%wOYV4{yS7TfD&6Stt&CJBUANK9LhpnJ_&sIBV`!>fV zyUo0@=OwSIbJewVicW3&p2?cjKTG@WFP8ZT*;28X-&QQ|?#tx!J2RuZUmiOx$+T;f zfbHLF2{qE6X|2&pLr?VMFUij1ha&BP%;RO=9=sArYY)CqBilp0YqTpv|Gu?H)B5)_ zxj+0MY!4%JL_^ta5Y6oGW8W%1cD3pZCdltLaXI~mzwdSZi4sU@5J{;uQ`)>{_pE{Fq|vw%4aw4JeLk2U%$7hXMgIO=a+YbM6Nx5dDruIq?Pv-Cnsfp-qaS39US;r3)g2XfZ8U`rEkpE+uYh-+@Uqnvg=)| zZOz1^ic-CmZsHy6O#FTA+eU_I|9H=6CASAVj;D(G>@XbhS#U{nU-& zU1fOhh5II9P&x?55&ul?>g1jOrF_G~PAA@4Z+OVZ<$~R2DepuyYp65v&A;v0cXN9z zuRx{K$9gP!Zw;tzVuHS1+g1ZlpVUaZu6Lz$Z8(44dMd>3k(tTN%01ey>AcnoZwqMZ ze*1S|!t}AWeH;_ycbh2De`Uxv$6n9vkQ->@E9+bzZTTi#UEI}&=hV-{H~Ch=#t}m^ zd)^1(nYWt>x=jnx0O>NutoH?xeZ<$-K>t;$L zt-9V7&em+WH0!ipdnO+DKWMA&FK6jRgH3JK2QgQoa_iZ(rZv*C>s`%kohDP$vS-p? z-|brV%csAF75k0|QyOX2^{!s74QEI$rOs=*8Im2&48%)0LvpSYZ><@UN?b0OA-OOv zXJ$xdvLog1wN=w862;N=dpA`lGiW-^>}kJRwtaUrxm-~=XBGOVyb(9oUgzyG8foiw zu4lGJlw4(O@{Ji$ej{P)Yz_baK5M|YbH5{3HZB@@md46@*C|`G-O|9*?0Y7@_t!o9 zZtgz(AZELz8AmL;v36bWDrL(@scF|U@ln3kzBOCUjqjsxx%H$lUTpevkm~YL!dxpK zCBkT=k5cc7Wy{tZZtGtSZM~=2{gfHmx;_^vX!?yk8);>|tC+31!kV@|6My9{W$VME z_)j0*1jQA*j3H!%HpU}^3I!i{;;myD9Icf zGxrOkp*CLcx@OD98*bxYN!mDhZz+vs zD%qjzRIyqfm4{6?vyJ0khL7Dh7Jx)b*;yup2Vook$}cRq4=lxE>GIaTO(W#P12bd-;r?x|GDxt-NYbH5>` zo_9X7O~-QX_Uci7Bm4I{S3uXS40p4%PSdr|Md0a{gMDK8f3-jW0pPqp!x`1M~(*f_#(X1~6k zXN7zlk6L(R?YqvE(lxEO1i<`K?fVGg9jssTMaRB-Gh-XGlg0ABO~p!XJU5!D&~Ypj zW;5Hnev;YF)SQ7LR3CmzfVKB{2_(Dt6sZRG_{-~DVO`TYn@HAVnpe|J+=FcqUvOFk zy~I4P+5t^nRx)MU;N8rv;SI{}ZEIMkDEP0|^9n`t@x@OhNZvO1( z9J^$m%+obw6w^JwQDVc9J?cyO{KolCytSU+z-b2f@ISLxeHBxAfBC7zygV*vp5MTm z5D&H;+?v)7MvHssNEiLyjHYf6de+{yhpoD3>3^H}5Phe#heRpVY#2$|Mz)Z;S8l@= z(mE@{&I!$A{QI}mLMAh%t-0)Zo5%Ze`DTAA75kC!v8^FIg*42uw)|vCG;##IytQ^K zYi7FpK+1i^+y`bd0=^|_<&=_U_JPpS@v&B}?*gEzwOhYkn<21g;|(1HFRyp)w)J!q zswwFa84I7uZsE_9h0`OdyHyw7)Ye_k(@kD(b@%NQKtp@(I#+C0uU-{+@cXH|o6duO zxtviqlXC?==h!vcOf&b|i;)5P*j~F^Uh`L*pyfC6)U^?t4%-qM>2ue+4!bv7x z^q4c6dnrey1t;EGqtd-`xnNX!QC!aS)ic?J@L96yiA-TEpB-DjcQjkV6eacBv?|-& z_Fd1rjZ$;2`|y;4X=s05?|N%%ElPGx+yuJ^(Ar~T=TormaT3JSBCJ$v*N_}Er)1{35ruh33o?aJMsR;qC=V#SGduh52LfYy85?R^5f zZx6Obe7b$4yl=R=b23+9Z>Ur(=FNIkbGL?WW&5@@^ePJewTVmUyH@Vi-JwSLG;lPq z;>3E_XP1YoPpy%#Z3Q!V)9FoU1?vkm^6e|KTPMfH~)?u%nIORTfj+7kl$_M zLi(SUb7TF{a%rgL*SYSxre*oE-V&aZ83)hA@;?R3?-_k(HCN6K4{f8N!tUXTOc`77 zo7xkq)AFM^H&a*0&HPpS2u<8fWb>utR}N(}V|ad=-T}aqI{A8YkTFhPE|iE;Yx=2ls`lmCW#FmjeaZB|7Pz@;3GM%fHH)!p-^{49QDRsVkOk*j(&s_y@L{p!6}uTCrxW2c?P zZXg(*gap~nA$tq-%}VgkBf)ZC3r{Q!{r5H#oM)3E#qAbuDX92~3!? z8^CEZFA?LKov>>GK2TP!e^zn5)=$Q%C;A!hg3WbqPiPAx&wj+~+pX(x&bgMOErOl3 zF{o^%v59fZPNCmm+k|r?ha8&asNy9vNbcDwn`eG?yQ9Wv?e@rWBW}wDJq$>oR7GKxN7Fq;^e5L zT?6$lfHBScaaF=2wBKQRKYZBH_op=DkB_!4Ze53bLliilH92JmF{R1%s7s_99h|IF zW0PSmQkC9Up1y}1^!ZQTqn90B9#yO?I09>trr!Z6288Q4rGgl%4AmlqP}JJ-#~q~N zC#FdS{7#?W2B<0U(02XfvO%2XTBIqoXI{stS8+-NHO_h3&d3cmkCgU{KPqb;JHwJ~b$E;VWz$Yv+|NAKC3jQ8VVFH_vFd$J3o&B!jc zagt4qn+6-ak!%+m{6~Q7VljX#qXag^_L*>!4PG_s9Q2AC!fK;Xqp4waP$Tayv8GSo zvx!>~NIj0VFV;t1vwpw0L#EfoUL9nQI0N0f6Rea|BdQ_Swvlp-y3OiY`Qdvu2XVX) zes*6px&C{bGZk~Y9B-MKYn%UjR)UG~(y(JHK8^aU7nfS4KO_lW84Y_-pk*|CGD`Z< z)&Of(c&)E-tsfrRXYvu*AkOX93-Bpet{i!$w^6pM`#G(0Y6LY@>J`tf&XeLo{}0yC zzq09zKF3>PXEstQ^;XjlBX5EqyE)k>#z{Mib|q7+@H{P3W<$bq=$SGfGrqTJosd~Y z+qh1JGTsDF_YwGAHC3;bmmIH~)pmJBvhRtO7qlYmaNy0wd9x;8Yx#V2C-$~mm*H&S z%*!q{q8TDQ_%Lc?{4NomAGl|;|7<+kfer6QlVm%_-|w?0g%sf_jyS`*)X1rusS(W6 zwr&m)dmXVy&%vy^`BT96wP7@n`HRcL9&YFEIpgRx#Y5}r1=%3Z?bc2BtQvI=x_v)5 zEs+j2o_Wg7*$pd}HSI3zJ-`1RC@nF8nbzK(*IFDaYv7>?&u5|7+HP&ZS&ua1T8*5Q zW@-%cv|TYM=x$B3OQh#zr1>fE1*h>^9Ho;a9-oiKH@qerE1=?`$yQSjXl=Kig>&_& z73CFogq3(|Y;(!h-+_2dyo<)C%|V?Oen2*ev#fNX-e}o~OKLrDtiO-n>9Y%qRw~@Q4Xic_H3AyyCko{2G`Pzex4Q=4>u3FDn^HefOEZkN zOg1(#S|+E6vCeMTPoj})m;EHZOK?5hjfTBJ+=HE;;(biJg*E7~NuuXEd`{dg(+)qA zwcv-`7Zf?K8@?DD5>I5bRBA^#Uy!-nZ-%C0;%|II z>8FQNQBGR);h%S`^>8mrBk}*zN`jWH@i=P`zXe+Qc+o>$Y{hR-EvK*r{U)kK+y(iq z*}oE@{x^zi@M=5ToER%Dk6Hn5b#SsyjFooh?O18p{aMFKU9|isa@IdK8pcH>@AX{u zohSxyXn*69Y!K&m>pA$$q`W-x0`pcUC->y|sm*=Jhtb@-==kpt+>6pfxbhiOK|ER^ ziV)j6o|L@{Z?^KNHSkssC+*beX;|qmbX3Xm5pQ_xz(~rhx#}<2w0o`HQR4B?+Pz|> zf0=acvMEXcuiu6mGYvTc;tAGK?vfMp?M2E}mZQ%;cVbSACORK=g;G~toLZe4K@B;* zjl8?qFt;ms$1m}jcj`PJSYMK^6F^sZEf!k2NFdj{0( za47r^$P>m$m*8*1HB@-W50wRA`DE@?U#Bb>7oYsMl~@`P8lG^TZ0V9r&p4dS0w|_SIR(i>nO`WHu`!Q z$S+`&fkkp`)?UXH-UHfiGY29v>rD1ri!uO9__lADZcCrv1IMMxFx~@eSqpx&TQ9=7 z@E)*6Um*teHJp+_jL&vL{Q>bL>)r+~*8g)_5}sH;7Y(mXqHD3>#NQ~@Odd>Q)FtlC z9!}bcG1-ufAYd=g6O`@a5~unWO}o%&k4~Z_8m6)D#A8J?JhbiqA=x0#?bh?~sdRp6 zc5BO~Dkm}#%v);|p$jj)L zyE)k>MrlKKf>c~}HjazdKhW%NB>hp+PY=$FMzEzd96qy8%}x+*oZ`q!b6P%`rz^ zLcP$%$vZVxJKvd;$JKj#cW@O!s};O9ug+_e8oc-7Xt0rtw&U@5gk|@9p1J1LQnhCP zh*TEhobB0>du`UsBQJw*^)u3ck{YF*x3hHu{hEFkzs`e*Xi7wIq0X3M>t z53Q_Lp~dAW1Dfz;E)I{FywK#gUhkeyNj_`w*WMK$m#7 zJeDuW3u~7ygk8%;t-HbeV@tBr1485FM(g~%jY95aju#< z87D?zJ7F&zq0~zjzOr9jbo!oVJfEx{mA!Bz=Y>(1U@!J@5+92w#n<%S|0vgG$-C|l`wHVw|p z@z7DH>ijWeS&z8LxY5o@IXT7}qD=S%>ns-+pW}6;eDh$O#(TKff4O&kGEVp6VG7^l zvz1QtIaZEbF<;%wNd5vbzS`;9^U~XZ!L(`!PZ?h7!>op|Wqhx(-@8=}VNiXYWx?F6 zzE0_Pm&)7yBKcm^juspqTDQMfHi&b(bsatna;_t(nsL?|P7B2NX;{@NACv@K)dNvv z<6C=HZ~Cq#dt>xWoV*@lNW@jGl4fJnC0%azaO!b#)YR7FAx}p87hNovYnpbbE+4N% z+q>~*|5@+jN5pIaNqlkSCFo0?oZM4mrd>NbGWgXs_bwio9l?FtdrWMx;Qvm<#GP?A zjS*|k%|=eXsd3VZ}+S`#di2?e}byxHFDo+c3{_vU#m@ay-=bxCFhe^|p&& zu_w5Wqhxz`BT9Egs*BH_7NTEqvp8a{x=Zbx+M5~?4H;dH+S_Fgx{Z{>f{j!Z+t?Tl z`rF>;?-Db*%A;1OTOFLN6Jw#Frew3f#ig$5R>nFmPP#HmZuE!O(AfraQ2(uRVqMj2 zX_hs5ll{uu!@1wz0x??Joeve3Pzvg-b(acDQLPO4ZMhRGELHNat@xU5PW?}fp`Nfk zF`=HSw&>?TE@t(&Up3g@+?}Mo(KACMgzj}@=|NN!aOlX=S=k`Y?bcoRl$IW<_lnV% z-vCvYFv`IRVnj96mz0mO?j7LbiGSLVgS^mCUTVze87?uGAXDUI=jJS3e zZ0qM0z+hS~ff=hm%v^$+*uRxafcX%3l!&%+30|zePDNag!|#~&4e;>-`4vTm;CK2g z0q?;Z3x|FSJSH2&x!w9CeCoGAb15bzCKb1db2e~-8j}q>jfkgMk{cxtE;Hh9GUVYr zqz7LUn;ySDyg;+fh^^6=UkLUEobLo`d^W5JX_Nt%H6h<<$bea$$mjO}T7`J%_kdCp z(AsW23upZvFh^a+zR<@>JTYP$d_eddEo(_VP8T20HyFg9jd!BSAU#S|wll+~H1aa| zt&v=gJd-Qe+TqJm;lphkY@L+&v?+PZnJi^ub+ z3ONu9zu|j)mH}e!ai;lmz{SYx=$DQS z9b!$7+<7lYY>;l=2v#2^HL4rxuZp)er*3}|8NUE4zk3_~{a9w%zaCan5u;g^BUi{* z_cChtd14$lRI?G_*IG3$p35f+JiahImz@ zu6K!7T}I;1LjntI|9T~YfYtEY`mopEj?z(rU*{&OOd+@X)cU%KdZBnMVK}!Y?7= za!(}W`wD)6&zhaMV%8k70=&@3$u}|n+6jEK^Zn5x-^)ji?`55Fula^XPQIxz*03VH zk#Cn3;Twu?ELG;W?k27X7Z{7t7B#nQ;^aC+Q>%EjvWM?TgQV8qG6%n9*4%-MifeE% z??uVM%4lyN94-lZBfv`W*+zL#+*Q*GuZ*S&&MQY>ioP@}8C&S{hb7dz*?kb`KPid|v+=ALTjsL^VDubVjaJ2j%Z zXlD(48s7cWR!Qv}_Q7GUlB%ikZmp8S%m+N=hpIPe**Py&U#Il@`{8%YYUi9ouGdGG zAWaN6z(_^|BMbcT(bmPS>rgGkZ{ELL++EY&xtz7&N4xcDIFs&zl7s0tjB$QDf0`I~ z4eMv+V=c*%k`I?`vab{J0iMZZPpp?RM8a#^hnR6tsSLCjRNWU=@`>@+uqRqG`7Rj; zk0bdq#m1n(?>7N)Pc(bf3i*mIK1*o+G&$C4R}2aHlRAIWB@(r+d0!b##AXX#Yj|QL zN&+oMT%tT{spS*@qDQX&TNlhL5xI~%2u-x5GvZ-^WB=n)&nQK6aB79vM|?K$&pP=V8;V@G8_ z!nZmwzLGO8liR%3@EG;RL(c~AJ(wTu)(-qAW&?w`nB0cMbLY0rpC-n9J7E`P@rded z85hlcCZ~FHca(_bw0_TXu{IDMn(WG5l#yd�AxDwlnJPC1T_@P%fV!C*{i)<$ljw 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 ZLcEK)&jl>a!83d&kDRl*raS|F{|6!IX?_3z diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_lz32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_lz32.a deleted file mode 100644 index b480294261eb838cdc3836687a506a0bea6a5c37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12176 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

    WDJi+FGsTptqG= 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mciole32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mciole32.a deleted file mode 100644 index 37dabbe164d0be74c239713b4376025a51e40b7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10362 zcmeI2-HzKt6o5~h-FCZ_^0$J55SVH!ae;#KvrZ}@v{FjhqOEp;BK4xe>oiW|uJc3U zZcByGULeF3>NU^66L8flo&)g!JOQGdGh>g(_GIHMR;tj9G~>ycW6#W)&&Ox%y!Vkk zy3_r5{X;#T%3Ec#Y#Q}iRo4yHB$v8w*76S zm8$@hH#T{G1J9%U=HEQO{TBe`cmLq|((eG2FaJu}vYM9l)z}%0t$oLLMpkpscB}_( z-yXUa3LiF1%dAN8j+~vr;1Dd!?F}tS zu;)3S-*-me?zQgi55_@zLU_GD_HECTE+9)jb^II7cx>O5dq@bcdfx89ZeJS>dSCh@ z$L<9krR6ATqJr=2y8T1azvg;q1vYGTTT0sW+~K4%SerP5u7A_%4L$5Hc}A=)c7|$1 zVx%!m)ksJ)K8j?|(0*|Ajb9oFz$cMiHVo4=k?blKEFG-3e>{V518f!mUShRXDEZDq zpVcQ9I_w{m+O}^`R$(pMu>Yjg8jq)_!7=H%bivJ9sJn)h6&#nGw!sMXwn91Sou8~% z5A|Ng%7#KOY!8n&n%DPsKdDwqZON@7zzTpY%}VjnCOSpWP53o zbR=69C+SFbT46e5fp`jR$!xTWO~t}Q9cCY*pjdb@ev#l8^+AbrH24h5e0&vg+ns^i zdM)zEA-5*lnbs9adDh%k*f6lzpwZyCE(Q$HI;yx0_2r|aC+-8eJ*<;nSWh0$qo4>> z(j8r7_Mw$6W+J)Eo+GG^iBSO^zk9!b$R&)Wn5AiwbD*7Bm(x!6C7VV`_8ff7DgK#q zNHQJi4g}a?B`-9DrR zDIIh$GWvD&!;-I}9#rW#^4G!-ll5!ZSxf2{BE6VjZ=jB+))V&!&0`yNj?{W)IIas= z*$H$)8P530)64Yh@#9Dq)z;-`2*pGV^~Xs%hc!+jrw)Gx_e|<}koNu{+mHEr2&iS2 zq8{*$<-R`hGTo8-J&Ea|S}(=)BekAj`c+)BS(!cuiGUrivB+G% z79bpP{eB>!g9a4DC1%XoP6~6_I|;rU8TqDwT*Tr_pB?x+!S`u=_8Q3h&BbP$$F{Q1 zz7%7-gTLh2aeG1bvyga6f<64-y>?>89PXqrPrl8J zd^aj7uf2>)HU;0bLz^`!IRp4EEb-QFk@vjSmjVeLG#Fu-o-s#UA_oRMLioJccUMlwfUaco6$4>$?Q@%=Tu6Sd;$fUnTKx2yH zZ($;oYVZh4^{fT$3X9~r+pH~#rxoHri+E%%#IK~+o_)`F?ub`?-3h;1@wPmDe053u zvm(A25g+?1_}ma5n{~p+$J_EGzLJsnW$aEjM)Fx89@(df-L*LJ?2Gpz)1EPQ=TQq0 zed0I%TqBwCl5z#TsYqtpd-Ky!UWik^@KManl&c~bqCfxWCF>W@tw!oS%y$^%PTQg0 zly-LW+@XFg^?T9|wX4=kQ9e@Z313eC0hskYjI>u<==Y2C<$zMOD}9FxSgAn^k78Gv K`cG9JKKox+(;zVb diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mdmlocalmanagement.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mdmlocalmanagement.a deleted file mode 100644 index 2c32aa8812cadcde9d840899f96998bbc317c140..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4398 zcmdT{&u`N(6nB5QiPm z4jiT(IB?*A5P!)248$M9c+ZX#w@sQ%DnnR`?LL38pP#?)IlcSD?ls(}GmrGaQd%ro zCCjLok9FPPLu#$-reOsyY|H?_Wq{l-fWi-e>7U}cie`GQ>+~?T%-DM0>Gj#F<2yaJ zyxVlxJFjDRJ%+~pC5u@mYk8aW1on2b-P&!~t+w5Fy^(pEDLfi<6P;uXWee=V91e|2c1T}7PvD8&^)l; z_{H7uV3SU?WEhr(hiNUE;fXenF5$@mJj?;y;Jqm*`p&-3`^l9Ks~g3p?c2!^K2n9% z)8b~op8|tJ!g(~|f+?{`H7KB8YN>)Daf{MUxY=Y}MdIeMGZ%xC>X(c>}u?2DQ##yf~j%KCt;MBX-OC*UImV!NDP)BraV?tIHctg zF+5Jh1}%4MaFXB`twDt_d3c5Oq_s{=cF)1&iY0QDu5ZjpCR-Tso8%@G{xy@!+zqVe z$Q$%)K41f#XdIIzUTqazs0?*n_6aBZ!|f~@G@zO^uJQO>Fz-45M=yVU4lWX%4Ut(8nhE5wz^4zL;I*A<~SZ_Nx$x6=XrpUHr(;)***GoauV61UOv-zgdxEusp)_B>RpkaISG3VP1Jtw2#;nhXzqo=GpP9GoQaU=RTipPcexQ%ChUVQ+J`J0FH{m~DvALWLA>-Ycq{z@;-x>w`o8C5<|OmEy1TNN1LtGUd1lTz?|Gi{HGBJQ%iC+- zn|@0_@2ZPcqiR&@wFOLC{Ki37A>zd}8Y3}%r=bPJ3;CSX*$9Bx8ZreI?P0Z{r z8KzM)Tka$BBLC1n^qd3N4?HVyJ8jc45r61_*>o(sFE50hHm||)8qTr1=X~e}%`K~K z9XN+hI{?#k50A_o&_gHSkJt~o*tNFRYCRKACKi3b`jlMbj_IV*l6!}q9;?z8?L|CId;6r4i6oVNb;a7p3Op}mgPMQw(qrrawn8> znue>DieVVKZq(|bhV9cylrg~FF;pu{O+Yztx&ce42Rdx;mTfDr(jly51-74;ANhU` z3{D8=(hFy65_=UB}#2z8I}TlEVht`xR;=jQ`gho@dR#fUHRzz9G0k z4vGfF@qsk_AN^AbxHVRVx%p9n|C*a7=N^JAPunPZ$f zXKCu>5LnNw%UMtMC7VW0oke(?V>)19$!Lm6i2(1hkOvz4jEO#O9QrC3Qj1?fx6CDz zH{;hAs>+Oig>~_J94y+xC8>qxi8rylC0I+54wZs4KF-j}3`R91xszxn4`*l^iyBsT ztkeq;?%a&OgqV|LT&Nc6#|mP;O2!$oU3W0CE-*3=d;I*x9Q``O-EG`WlO zX6YhG#>I5;X)-R<1s>aa*2PswJj9H&7H$gWM_LF?i6t6*hGAl_xdM`l`gbUecwaBZ z`}$IRJ@^H=kjMK^6uu0T_oqs|S-d|>#)X3=*MpyuaUt(%gVF1Ha0TR6|{= z>w`3EqzSyh37rPNV!Bt0aJlsS)F6~(6jahYUX(GnJ8hrxofWY#Pf1OMfx}dir_`IJ zBvt7OP7XTT)zHo=MVXjrq!viyDM7YDJZ?7+WbW zl@Td}SkUWAF^;@YFXJ8j3Uc9l!APGw=12hOB4upy3>IqeBgVNFkkZI8)IiSR3k9`N zjjtMCmwHVo zAkxG=kwcLNUt*Zvb1sIA@#_LGa&gZn&#g&KT=aaQlS7BUfo nP(!7l8ZLK6Y#cAF9sg=)l);CQJ}ng48Kv?(_g_Z+JRkfG*Io6r diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mf.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mf.a deleted file mode 100644 index 3dba8641315859a77a9494c3a46f20d14e81383e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63314 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mfcore.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mfcore.a deleted file mode 100644 index a74394b12b55d637747657be9b34a8d53bd4bc06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31188 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mfplat.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mfplat.a deleted file mode 100644 index 66ecb3c0ac73879cef55ae914824043fd14d3a67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125608 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 HHrD?iw2D@G diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mfplay.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mfplay.a deleted file mode 100644 index 948ad9cbabc5ce9d43f9e178e8091f5fba78a5d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2506 zcmcguO>fgc5S_$rflxjUJ(Sxb!3`NFO`Rek6e+0cp_Ovsym9LdF-_ViG040aP9Xcr$>NU-Xl*BjtywnoMO^rD`HO$FY)MlcQ*yNDQ8Ag)(f)VX{v@ z6Cd@*!{}5-5@90+a-gDkk^8{jcDFN8QL6S-oJ3u`xtf5K$!IJKm*Ru*Y3d)($tYu? z9t2?+3K4E-R)px);_oX+1c0ajJYjDc{8XK!?3WJ$x;;OR(x@E5D{bh`{Qc?l1{jmuC*bsxJ?@;+-f$aI0+*v;R#-TWRO z=m$O;dchUd2K9?qxZX1wrAa_=%WjU{*XdG}p~%j%EfSy*PRvuk%H0ZoR zDYbXC|AWgTcY83(WyUB2UZuNz*2!&zS;*;~&r45V??~?uzi%+2_5KV!GOA-8nN!J; PFE|#S`kF6~#Vh6yv=e)B diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mfreadwrite.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mfreadwrite.a deleted file mode 100644 index 3e1222d0517d56a2090635b3342a91faea2bef2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6054 zcmeHLZEMp|6h2Kmoprv!KKMZ-N`3htHQlmw0~uq3A-Y1D3_qsblCEKW8ENLG_+f|+ z6d4l+>c819bDnc=UT&JC?X*-19>~q@xlixQ$@AQElY7sq_Evo{`&15FVXmMRG^MDj zvaGNsv6SUGmH(FIN)`a70Hg}Q#2tXiWqw^<1EA}Ai(j{n0qB}Op-b0SbbX^^+8w=Y zI;O3!v<*|=w_4R*OGoFyyryfa-mo_5a{bMkZB~ta+j303sw1{(f?h}0Uv~zj)fMd9 zF<-U!>@9O0`!wxUyWQMaUjtpYn!9>0L{eMHG^{G`vQIA}GO4%aw>Uosr`hb&nE>?r zvRXT@DR4=vinPc7lg|^u-BSqtKR_AVHDlAsw>^F(@v5LGnx@IJHoM>wv63~8E+Mr5 zaw&ittTq98$2@RYJ-LvfT*(_%rHxT$1Z(Zk)u%5)6QYxnM@RpKUll6j-ifPBqrm~P{*bAatst-9kmT)!AI8Y0~_ z4#C8DNl6$XR_P>+5T^{oPz1u}#*)Qo0-MsQL=1}$u^^qI2t|#?AR~+fB`k-wvt$`} z>w|N*s3L)x1>Dsz)_mrff6d()iWAv1Uc}woE)VEg#&MUh-6r6CEp%h(H{s&^n?tK7}GpiyQ&tS#&w$DZUibz{K5y&pDz2 z2KLxYcTyq1OIGqif>W#vDd7!GCQKzA1x;mA>9@ld3q?UCm)X)z@FCGL0(lvFcI2VG z;R&|aUAEFq24%n<9(QD6*P{O7>@e85{T-Q}fr^9K!nhFNLOc9CV&2E&e3j5TmJo9k zkJG$)-Nnjt7vuSG#b@Ua=+_CJo}!lNd4AzsqVYMuu3(MxlXH>!b6F{5SDHdPnioKf zC(8oha+yVrM!Fhu}o5g7=_;NH6i41Ua|y*%nYWG(Axmd75^2I`zwXu zDLLU?S9on?JmR@`9COAa5&~L~Gs@h-N(sK>eSj$R7Kjk8;b)M-VERxNA{pc>?yCJV zh#~B}qs$;JVccFBuM) p>P62`NjwO?>W%mLDd+M&P{Iq>LpKS&VHvN4AOgMgAfSe%ir;S0^+o^y diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mfsensorgroup.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mfsensorgroup.a deleted file mode 100644 index 92bf2ed4a1507904b01ef90b7389c69054d5674c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4226 zcmeHK-A@xi5TAY^+CVgh7<@a8CO(*Yh4zYxF&HBFQfX*-b$ie&J?RHt55=g2C&HUN z`rseKUnb7X-rnt%t1U^zkT}Wh&dvUMyF2rn+3kZDwzu7SnR{l$rBEtZ1fhTnM=T_an)B=Yp>td);HER);Fv9M!Ssz`KH@;0>H0x zfSpv+-c^RcuKSIq$qdXzFx_YAVHnL{nPC{sS6Rl87vd85ll?S>Lz&c24Euz?iz{|jf7)K1A512sF zOk%LY>%E2xGeRF%I^mQ)*w3IL1JqJ(XV^cptc}Cx7MD?kqcAt1>9_W~yVAmpig}tg zc?Fzj?@G>-f61qj=ru&H`9c;jSn-*9%0qw(x3WpY4^$?0fJ`t|I8*v2$^xg$$Xfrr ztkwEy-rflYiVowXOrZ+#6vyiUW2rO19JAJAZPscR&5$HVQ4J4kGsU5ZlfBpGg$Ng` z^-GBHlW}3D&_0$CbC`^?)Vk(Tc@toi4R?HY{+QlQPa|8TrIT+2%p;mta_bgqlADr; z^!tF3+WAUTXD*%!p!<=}00?-@9-|rXSMm&q>btVA7h>$^{ZjPhisTCME`}D#{`;tr zP*zJz=t{PH!!~|X8GR3$SpLZKfmvS|llA%y=RfNMri84&hta$&>r(^qm$z5Rmg~xT z%6^iF_2JQt)--&fgc5S_#+g{TM)RaH0{Dcq28it7{!p;Qs5ASy*dl;g&!9b)p)DmEhGfO@Jp zq5h=)GRn-X*IpN!Mi7CJ7%A(`%yV}4?VH)ny(ix6aQL+T(9BzNyXiJvyX82hX>&+# zO>@h|09&sP0M`I2uK;Q_fYpZl)HeX?8$xu1coPM)NOXfZn2FAjABd0P)H@CZI_EpC za2+uY`}9ftlR-2)jHV;u2?S085W~RpfA5!I|9NK?cyaJ{_u$!n;D_Gpa5@4Z!pX5H zjw$c%!HcpNav|TF`2E;AQe2jC*tBiebxqTKgiXSse~J{MH7WqNxVHjU9L!_xmp3MK zdzSCTUO9v#ZRnm`{V2Ku1}B6I=?5E*!d}Nt4d8*GK!R(`^*mE&3pcN;tF1vnK~ zPbCA(ACJjr4Z?Ad1ixJXysHenk#Zz{oiiH3xHJyIbiS%(7>z5V45RUc!pE_QfxIPL zGDj;I`U!^lAr%;voB1C}zR?(DgsH+yY?qT=tlQz@x@|eK7MNzQu5{}n&$O?ol)tUp zEuIE8>ogmj*Jh#t+Q%Z@D!l&GaA_Xsan&cB>R*1Yp~C=bDWeVMhj!LjNXbL4d-di*5o9)vaUbQ&PM-ql^68|w}%eOqWqw$@c`q!M5pvH!CtVgV;$CN6^&42Ct1Bt z>oBqJ;9&2yaUsLy>iQ01;$mEyAGD4(Vm=q+Ts5yv?Cd2N<---9U)-l}XJ?r&>s3n5 zZ&DA9D;0GEds2~7ee`~!L+vc3p)m)wQl%7_$}=w^I!3aO49B8 q6~$+JpSxtTQvOxN-$6x_Wr|OW2YRb8$5tsmx9a>gJs(=ae}nIhTm9?+ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mgmtapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mgmtapi.a deleted file mode 100644 index a6bc0fa92667a282f756a53cb35a5329a6c15242..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8706 zcmeI1-*3}M5XUD@3#A8l9KQt8Nf=ZlbV9j=CQgt}s8V$TBoGz!5D!RhO5DaGX+mP4 z;;9daCmzuKCHx8e9sDUgz|HK=dUtD^I@AJ1%1Uc*#@~3ov!5N0?Mr{RM^C#q7yokY zQft(_npbVs>#kcBhs>?(HtO=X>uxLpz!?B%17IHa3)f}+dt*aFZ(A z``i79j<Q)fZrT?>Q%e2|nrK*$MM zoDBT`)!tx?{x)4BO`V|sI;sp}yt25eRjZ!oxvsZdV-PnMJ8zF5S^#bd;5X5lhe{Oe zMxvd)abazv(rHKSY>7Cs0&5>Do8$2TGT0+sNGDvXEA0X{=J2}AvI145YbZPEj%Vwd zN_QL^XHs&`u&k51WLvmMy zbd+NeRKQl$eX;XQS_Dg$r+*Ob!n=}o@-O*R7c*+eYfkVl#EN9v(+UK*CAMY#C~pyqYD&QsS#)ZAu`vf+q7e!W7!-oMv2 z-C9uhT_Z0cZm3Vm(lKmF7A1G|UnbDFgHpHUWc&xyha%bob1S?>J>b7&wAYbbS%e2H z+QnFD=H(U1D+Hk4CGF?1MTJ(ev{b}zxpCk*HaOETMr@@Urv30~pSTAI%9}YUZ#Ip4 zz>IRHBc}Wm&fuh!A60W6XU~$3X{DT2Iu%VhKI+89fj+jG@_57+SbzX8-!~ipPUtm$Ua&Ly&{$3Lsi{!hOlW%W15yNM>x90nMa_^Gjn?BQtC^x-q z%ddZC{B~(bTpW0cEso!*UnvXCysLScPQDSGF|C=V=c!5a5Dg`d!Hq STWIINHf|NuSzp(S;QD{^_z}kd diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mi.a deleted file mode 100644 index 53c14c3b65680b9a4e50a07387359c38e0c6d69e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2514 zcmcguO>fgc5S_$rfvN}&J#awCNN_{OiBcyAgaYM24@kMdb?ej)Ue);Tjb0jwVYdq3$C;#i3HNjObJFHFO!I35R~_$){ML<$UEbUfj;L@fJs zW$~dDzCg$@1QCUP@TYUYyA$zhGKuAxpUUw_oQz~D{aAhtKQurHIh=@9h~P^S_ETr9 zIjQ2J;kusZ*|yhgF1ZNidq@Ys!y3Rn_IANZ!;6&t>c)oNsT26AUk%}rF7z&)ev+(# z!HjT{CVbM;*xTsr;J!@jf~#>yI!?HQYFyjI9hTtqxbBD23E~*Q8OS)yg1@c+KGp{Q zxejD;lPj9qx;8(-OrGjh7=t6L3S;nt0>-uId3&sqJQ-wOXkjGJK!5g-L9(&!Lj$A1bw}m%~!RN_~*MeR_jsO4WF? zH*ibko8#Iioc6Ex2NHnm2W>@K) z_$5wrGi!y~^9|)QSZkPi$~}PB+^VJy-_hBwcK?-}NL(^bjCIw!ZG6dsxysxHz7qPZ zmE{E0h-Ww+W!j|926w~ijn&quOteCo&GM?ethU5>3m2Oj>q3qzRPPRAzLn#aIYH;> zB4%EW^Yp$Rq4PGw=op^(^6DwwEf#sq^j3Xem2zl(rKUURDK#qP(L9+3jV~u{!Ma)d z!Q_)GJ!Hyd=4b_cN>%#2it7loQP4Y|n^d57q;`mZHyBZRx6vb`JTA+C8OB$ge*OQ) HcKP!gB@BO{ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-l1-1-0.a deleted file mode 100644 index ff29df6b45b606b022c9d2527446b8177d7fd2bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68068 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 p?3>1l8|fvG!gcb5*M(aN_W)<`hT?W*ZKee diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-l1-1-1.a deleted file mode 100644 index fa66286f87b9325913c342111bf73df050adf770..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3556 zcmdT{!EVz)5S_#+g{TM)73v9$1UC}wHgSrCP^wD6v8u#*G zy*16X)mHjKuMPkY04iqywLO5vU-DbO1gKv!w#nF+n2%$&#S=ben~}%aH-F?F_zaE5 z>ke~TEbw>eo7zKv)Q`rT5hjcY&BSv*3Rz$?`nU{#BILk^-1X+=1Gb}2JlWXw1HR1% ze9T9E^vL}1fEA5wM%#SXk8zb7{lx$3CVn*f=m+?mzBB{i9UUGf%_!T3viRGU8xrtj25hGpLx@hji@eMFIA)HS?_^PF_ z4^gS%ymaY;rEqO!C)`pwuA^`!D$4~pHLiM0okkcpFm)P~I@pAbz;58D=>-8mbAX$g zg8y6r>{bTuzA~hCJ%;4cxaOB&di<(o7%g^28Agj+O<*V@laj_(#B2eFj7lj+#EY`R zsJxi`k@SgtkPxN{9=7vlDrNZa4jJBgw>p*K4(`BHnl{w_b%w8sX<)NVv%z_-q}f3` zT$JGoulE`*V~jqobiyh9dcTAQ1E?kL8zMfBg?5`9ABs~H;V2?sV2})tM*GqtvTP#K zw8(qlfrzf;0mYYMnu~tM$T?3jLx5F|Q%~Fk*b%L4s_+|?`PPs7;8bj(*pgT`RgI2~ zr9()s?wu}*K%C*0QVB2O6rC?`aJ-l1HgzUgx2zg?%4;Vdc_@;Tyc%SuJna}&vpvl( zecw7^b;F-F@<4tofbA zgYU(-DIS~_<1!vR$MxNn2LLm!w<2o*{#QPzJ5RWA&02vjB7b7xNco CTUuuT diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-l1-1-2.a deleted file mode 100644 index 1bf4b64512b91c0bb21da1fb8ac7d5c427ea0699..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3476 zcmdT`O>fgc5S_#+g{TOGD#Q&V0ViVYD0Ny1p-L$gl`0eokT@W1o!V(k?YfEsje6># z>WM=S{Q>-xiXTRq*^gvh+q4`~#7Nm4&%Stf-@e)LlULqwd+@sc(#)E(#$@#pO%W|6}j)?^;TSHuCZLE!nbngcq?dKd*C z!Z>)B8~|fsypJ2uW1Y?S8*A&sB<>EAosG3OV};7a{hjgQ$Vw(emoe9&_A z4ErZYFj}huaF2U)V2y(Di2LP@3EeHr_eNehgpaI3_uT5G=@l?IB3wu>eA-gj+vwDA zUAnD;t#C^!PPm0~TwCExbQTM6YFzawjz*j|P#g^s2R3mdavDyfY57qEVD<6nB>2|_ zz)q#_?W%x`>m1UQ#-(`)rt?=V!)V+YWf+aO8pjYLS(Dsy&gO8)sFY$jU!)47@;Lhv z`9yP&5vB@0wzJMfQuyF66y9EG<`nMY3EZb;L+xKHyvdh=%_6M^*Y!xMgHE_e;R>(! z8g7y?`nd85r~J$P0tO7AmU7?V{M_ZQU_aws6xL%+?8hqW`6%nqo4AZp98^{CB zuE+!8mpGl8e#eM4=Q4wXmBy*3+yvYNI(Kv97EdD_A)u1pAs*18;fl=A#*k>}XmICbvAD7*(^LHZM$ZnX0jj zn5Y;x$tl{$Dq_AB<6N~ax?A2#jEdoo&o7?Q)9L9nHuWl(z5_^UG@nr49rT2Hg;ME% zQnOlxrYVhlEdiZBUO7N2oijx<;J-xWm{tW9;k(b|2j3^1x>%7|A%2@-MC8W<^vEdh zMdUeu7EKk7(aC<{6n*u~Hm9hLaLwD-(|p_3zm$aLk8#UaY5ud+0d+U2`Mx&qpESQ; wjLT{MuoySdJl(HlDbG>cu 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-comm-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-comm-l1-1-0.a deleted file mode 100644 index 8e03f00fe2ad9490524850957a3709f0f81289be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16330 zcmeI3&2QX96u@70leAruHl?M2gkXz8K~;D0Hi;bKG-LbC%Z_LKn>WvIoU2Q= z+ibm7dbJ!*wS}5lGmZMfe7S6}Dzz+^8+B9s!A1!Ht^tf+2AKRCp!5#U({BJ!o)P&{ z6@c=U8$3T-2B7@hlRUq07J%~Ae|Vn#3xM*=fAW0&Hvr0&-+4Cv0H8egE6?W70F)cQ z@VxX8VCkV{tytE(1IHa$YmVo*)=GcNvF^5e_FmgU;k`xEGUu&Mdy}$|ciX*Y-*qg~ z=?+NSV%N=nw`+B3R?RXj+rr=II$*UNd+Wp+f%ojTw}Q>C-f?;!SXR5cXN6_!uH74S zxz^A{J?u5Rk&sAS+_DF|;c6xk zwJZJJc6%pWFJwaFb=R>YKfpz6`|ggT+<$QWR^t6frQ%w>|By&rthxO?$MxEd9EZ4E zNNyoXUHZBGh^ks4b%Rk+CE`3ZDq-2`plR>1Zoj$TYkKW|PYhl{#Y)GqT^gZP*X>IV zB0~RC9p{K}>+a_ErdRDtn=s54)C|Kk(F~aNhHneDzMe#L05CrWaDkmoK-F{ZdF*_6 zQHHgR>Xz-GH&Bchejlv#MrVio4~5#*iaodUPMK4tc+zmQ5%#u~{`R45L7Ez~@ ztmn@v>c=wb+)36m<$aNLd0Xg68TROxa1z!@Z3{r>nJ~TsEKk2FSJK}c;K&|r`g0BWF(ah(P zYeGVY0(^yK*c(prkWYA4@wJ3eZ)#CrH{#TPiJd-*`VRyNbV!r>ZKd7AsNYN0i&6h^ zvYt;p+1TS!KLfEB9!5-7$$tvRfKos{zBc=*0N>+ztj8SwxcFpWQ5F6dwD>m{7h+cb z6J+8j{?`?5(&Ya`rQO5$Zzb!+_;-`_eE!LMIxhbg0Nv-mePnV*aKHaYWw#i#ZCxE6m(Qowc+vTf~oyijHSMS@+V0(_2V0`MU_ zDd}1HnkMn_x7nQdfcQ~jI8R6h#LiHbJ$juOjvzj?4;GQ7X6Fq}>T}f^Vn9t)jY@Hs){3vmoa}a#TkYy{c6SoO^%HLm= z>(oeJ)FM5P+c40FTK7@nHfKS6+2Vg^lxuf-i^%vt+qx0=ck(yi;LUfGSmzk{ z|5C^Q7cb*;;1U@MOo7k;3Ky`l0N>y-(qqnlRG1q3db_we`}{Eu^YuqzUm-#4<7V6b QAB%l;FV|;3o!#7j0gKKb?*IS* diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-comm-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-comm-l1-1-1.a deleted file mode 100644 index 942ee910a0d35965a6b06ec4bb57af231b6c9dfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2662 zcmcguO>fgc5S_#=g{TOSdf>ppNaaS1T@oje5Q>xwH*!JZwsm5MShbVNHc)Yjgv7Z& zsRw=+WoFhJuN#}@VkXM&c=pA!`*uF^@|~B=m+w1o%(6Ir$8}tL(0^;1HZSR;X`c0Z z`47%J0B``%8shW<;3%Q55ECIjr9qO4X^;hpn5_Lkd=FRNWhl^iHFSmB6Hz#$Z*Gsn z)qI@d~o@-AID4sqO# zoGyMWKZ?Lwgi(-#|J(w6X)U}9WytM1hvd?@i)p$)%LX}It= zo>rVysZGMEb#Lbw^|j7%#8hnXQmO4$Wfj$-*SP*Uk8YYwu=ng7Sn0LuM;@wVQ*?xF zrKdZijyBW$LV+uFjv->AYTP!f=p19je5=N}YF|`cKI9l>!xP`!zM`k=>%yjMrDo2t zM*d{{Jwi>!uZ>T^_YsmnN6SZa)E?KY9ydWUpYR$ivoBbOwdt)0Z-Y&q=o~cO-X+ i|F+N~Gvpa+B$WBma>~zgXv0rbN~f*(H`8!Vb^Zd!|F@C= diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-console-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-console-l1-1-0.a deleted file mode 100644 index 53db5fc1653994f3aa9062652c74f1185e2abf65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13320 zcmeHN&2QsG6n}Nv?zVIVlmZo?RhBJiB}lMK>SQH^8b!czfQ>+?9FW|kaY(3>REfK+ z5JEkms^U~}Li`0B`4jfc-+>T9hyy|#S>Brud;F2aiKtPw8EIzhH$Qv6e(%j2k8iwD z>mRh_T>Arn;^V*Y zxc)N$#i#$`aq~9-iq9j4;`Kjyyzwgl#jW3YytM&9@fECtV*UjljdcKH-Lfi{_0hoY z53H)~+I_3iYuMK3?QZR;ZK3df$+XOZ<+SS*g}l@59`yRQMVQWj&=$Kt=yeA@$F>~9 zGA!MyS@@cc4OYvpH7>Fq*z31lyTWVV1Iuc6j;x?ey(`Bc%J8A>iZ{H6Lm(g_p?_O( z`_7$Ox8d0R2vjZm0J|P)SU{xQyxToGc4h0M@~}kqA}UuTF`zP3ZTnEPiPb4VQTaQz z`~GpKZujpt)d$|XXLsF!==W$0mWn6u9=q7TO4WZXT;OAs83+me+n6_@sO&hs1My-} zQ$W<{)f;s;-;??}OivA6H%(Mgv*hb(<8&ES6`-_$8p*DfAn)4uU3NV@$wGBM->A8@ z;Sg4`3)Kht`d}~y1}B7T(+jr>5_=Ud7O`Dw*acnUcBGteYr}CxiQB@9jToFPmpPh% zTxXC&6ObblfC)1JImgHuIX&NS9JDsgwquJ2{&@)S=|Z!1CIc=<@HR)Z zgMlT_DJT5|XtIqEf=)cn(=F=9E@JM*<4oBu zvN3lAM#`|q4<5cmcjxE6%)h!8^7@EzR3B&I3SMy*bH>thg1gF!O;u*1>k6pjM{hw4 zUo+T9Q4OBNUm+xh^**2{te-UNyhXf)08~5I6LiH{ApPf(mxY8f4bCuCJy_`_hGZA+ zXR|eh@qT;Gdz=$aSfe;+WV$b?2=XYa}0O=|BS3-8dGWt?4`{}i^Lf^YM0aREy;_y%+T zdxNqg4hvIczn+Z!+Xe62R^ybj{|p&1j{W-zYtm%@XG*=J*zd;UBJBSv9_O)t6K8f( z_OB{jP`@wDve)yR;JdE@-VkAl2HyoVK@!tOmC|^1ExYs1jI4_vx72p}cbD#NnA)!nI+W0FpA9F&I;yyqx&UFCihC4dL_rK%z z0n_Nfl?Wqddk;K~4#<6QST|DL3+rYg9hiGRWXmGD;;jSIeEVEhb)bByyq_5Ar_1`C zM692CKciVcjpbj8`E%h>_kN=PWN_y{MxNphppZ-l3ekP{DT=|(d?cWJd5q8;O~}oE?}t!-(nuqYfmY{ z!;$8GIq7-v{M?KtlP?_JzS>(cra3p$6i%>HBz*rYuM$bl&3r9T&dtKY6xV@dr^fT0 zGI4)6`={9{FDUHC--BnG`ANk| HxAp%5YPEuO diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-console-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-console-l2-1-0.a deleted file mode 100644 index 6ee38d90262a945431bc57df492875c09cb09415..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34208 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-datetime-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-datetime-l1-1-0.a deleted file mode 100644 index e322d603637d73d982774c9d4ab996a08dbb5495..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5138 zcmeHL!EVz)5S_#+lu{@yJ#aKqkvQOBx2cl@LXC=mV-6rLNL#0Ih}F2MVk0U}Js>Vz z`Z0V!j~w_W%FL`cUMIGiOWi}d((aCDU%b0BZ+6ys`pO$04qmUkG_%FobzH}_o4XCu zw0THxO>?K!N`7##0svSme*kK~0hTvpy^lTBhe=(>etkoTeIY(Z{x}jHKlaCBf7J8E zx8T@22?Q!nTdr^$Vi_@2-QG4Q?K zwN3=@{P+XT{B|@Bz4#Ld5rijVN|||V=V99Po;SFQnfK_*3`ToTifKd73;Nx-K2m-x z@}FbduIrkn+iFhy*ZX+~T?o*s0IadJ1ohZIjae>kOz0fc(Fa~Jgh%$Eb5ZX`(G@T_ zBV0f)+-fN7G72?ZmtOY3R=8cIC){c=uBmWaC~W57)VS)AYE~FoNHvS7X5p%sYSz%P z9LuivhC`_LgQ1`N;NK;{mrCC|Qi?>c+mWUg(TN3-S z-Ij33s1#z@X2cAmLROnCGzS&JR3X5&l;~bzt`FwtdduFP;kt`{ctneb+D&tPo0oyj zCanh7^(5g4`8kj43a|GXZW25CxRME{Su-Au-r%`c$akh2LSyk~3C42IIAnL=sU0-0#xy^`nUisTCM zMu-|2Ess&6LZ^V#Jm+WGRN)s2ncGsqjjDtgli7v&zkSPp^oykKs7!Ql*6;P=+Ej7AjcdoYT^IRxTg?^MgYQT+TB`(bkG(yp z#r^`xztSw|bZf|;cO?p-4V`7J7e&{=;GA#){oqkuVQ-^T!FlP{23z48Do(hA?YO4G z9ielWgH!$LiZZE&Q59uUC7D!lRxFe1*s0>DHW-hgHVnpo^1$y)fX}6&cd7zOT<4L7 zHP*%^n9gB&8%E>L*oM)#t1yOG$y&lM^R|awMrkXCIU{8lC1P#UXbdvKlp(;jkjyk$ z>!aPZ-m;H3wC>_M+^5MyBZR<*=P=@*maepX}{32Yo96khKoxjJTJRwzj=!N zpAwbR#R7ZBN`gDTwiD6_d3K&wh}F(dYgfm?hT6E0;xd(lD&Z_2x5_Shk2Yey=Hpy7 zuLtP7PcSNmZ@j#GOm`O-X)N_h8)pNlI~r4J@eX=Y%Tl-WY@%STa?`NJW_idz4Ds}a5t%KNd1SN;$jB4EmrWUdptFAN$v+Jh qkY%#Ia0b}_GXPgcig$J9DkK9~51AA0Kal~MH(q5xHhS}aOw2znHB1r! diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-datetime-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-datetime-l1-1-2.a deleted file mode 100644 index db27f3cb410dbdcc36c7bdbf3c4c5a2c9b5198ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2726 zcmcguO>fgc5S_#=g{TM)73$GQ<%W%IB~FA8id4Q%C>PEfr*^PuoK&`}=7f4e9D70H z=ky2gn`rE%GwZi+X7c<^ke$SDTd&O3;dWf#^__0JW10?c>9c8i zzF$5tYyrRyK;ttmuL1Uc(?^J7A-?2MmWx4DM433Ag^{>OromYv&^hn6xh72`}RDsIX^>%{mrc$MK0kzt>%`82)&GL<00008iN31-ppm1>5zL34@`H z3eYK(x ztTeY!2o?#!QbMpMuH{;u9Zn`-kCRDMKJfPj;A>+XoGM4@*LkF{#;w={(>ZL`VKn}X zI*i60rUk|#R#r#JFY~sGTmQi@XQT|HL9DG0ia~=gO-OLwO768->+$AV?>XL@)_uH( zr*wEMAo?A#t75uGt$Qlm0i6cVby#YI?zu|q3a_skZjn3szOo6Y?Az-;It-whs(``# zJZ5VXrN>+t5srgZ1LGn-pPot&Yi)&TddV$h1G6i$f%qj(mqV{M^2}@b!C<9yS}8*@ z*Ljvx6aJvFg_f|D^y2Kw9U7cscXg7k=W5xt$CUiU%cbUAm0eVmUgG|+R5>jsI2(2n zto&LfqzF~xa@ipkm7ngejlsTYabbyD=_J$%i)!2=yXZaoi1}WP^VPYYq4BB2C?CG@ z_00?Vc6GJ%=~h*bm)fJaQjd?&l6scfrRPf(Yu%ed8|ys=bRM~*K&gFZj3VGuvZE}! wh4L^9D;dM@OSdmiBu|L{&Cnw=<`69!R0*VKQTW*N3+Jl0uK&-og^X+c11*Trwg3PC diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-debug-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-debug-l1-1-0.a deleted file mode 100644 index 0b3c0f81bc6bcb9a28d22e79a1f4079483e7a291..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5138 zcmeHL&u`N(6nSoB`HiCP!DM0 zg!bof+=(-P5#v2OZrmklyF-g6uoTC6{u(>)eV?D*wI>ztsPS~+u|8bPZPPL>qg341 zb%S@QwXSdNTHy~47XSdS%rAi44}kf5;<~*GK-ZEkuH|)r<#omm7<=P8p3llo;CSqy zV>|4V+pct7hQ^Z}i&;h1bgOiQ_Lkc|>Ua(#Ov@)UaFMJ@cH( zaR^Ziw%e&zgF;8fGcAs$VOSQ1(Ap^u;%J}Vz)%A0WB~5+)*KW9=Op0m^h$^FVZp8h zm2?R2*@ND!p+Z6YF)6AQBqhL3ige%nCrW5|)_XR*bQ>z?HLugn1NW*HE#wM8R!)zKx z@t>B4QGA!<81l++3H{6cHiunWCKbbdM$FJMYr`)IpJ)s!gvmk;>*=eU^Sm)R&r8aB zC3$XP3~;f+lKa~{-{jN4YK3Nl^I8r0K`~C^xx}k?1vk)*+ArILlkLm*MKowYHLU;| z_s<>PnuO&Iz5*j03ug?}f<~`>EG(R7L!PFOoPiR!cZCwjzvR=Xs4I<_b4(i?ELl!> zQYV1TYf)w4CpM;?duF67-@vlP#WgN}l+0)!V4vRP&iIC5rA(C3~^707NL~~*rGyffUp?+SyWjdN5pnZBX(BPRvOPQTnC%~ zb%3!E6dvriW}<^^oDuuPmw!$NBTfyo(}6jm4#YW8*AEwDKKP2{8J7><3xaW;%`zX< zlyOJpgKjb|ri0JPxIsQxLH=GfA7m2FhSymGloP2$xu75nyw1XRyvI+y;*gzSpYnM> z$^^zl3b1xJl@qnt5%rN3;}q~tVa_ZSP*uhqrGREKE~bEw$+&?6mN2?kRRDnU7YF|S cI-VUn^*@8m7$mKMt!&cK`qY diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-debug-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-debug-l1-1-1.a deleted file mode 100644 index 4af2e6a03de20e3e2774c1fff569e68d5f2c8113..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6066 zcmeHLU5nE|6unJ%bzQ$D z;**d56rcQA>b*1hn3_r3eQ0IHDVa>}oaD~joHKXQ%ePuVyL)@_x;b3z72B~LtG-e< zO-ppCwQ1HGjrfN3MF2PkU|a*3UjkU@$>XRGK*x!<@;LnwfR3dvbTGEY*yE4~A#3u8 z2W)NNa`wXWTiYH(<8H%YPL1`v4LV|b-}BppfHT7MLqaog?edMCP1ds+{aOqk(&xas zyyZ^M3p{Cg(fvVimwexQ&ix1&^ZMH?Zx@g|?Z|u1o57&X!|+iw*pA@^oq2O19@Yka z1Hxy0BT9>!C9`gPmlJHF)Gy@)H!yf@~xBMWg4pOQVam2PP$8k*4Y1C4VxbF`k zO#m7tfRmy%57mh8MxtF@nb2IXx~-^H3=uu6(EMKA2*WWjctbdk9(bjeU>C44hvQPq zDp(0_C9xCkSTU}i;I3d}NrOxJlQYt|(hn<0;|kHZ;u4iAJ-dRxs@p>y0aQC)kHa?~JLu^;$NN&r2_$HVdL!$_z#IIb0QDQeIFcg*H6317>Z63SIr9zB|88M?= zx;*@l_=WzzP>#zlO45MvS>&iMPUt8}%um)Ww`oMzubj3b|t zg-5U@Su7b#_r}~+@-?|F=d%i^F%&rjV#bSTkq5j>=8!BuBo+~YA)Sc1(wmnfk|P8l z?@}jcutkORFD+GZEh_^)Vwq#cLfIJzeiFJibv(&^h#qTIhM0#9K6R-8SR1>r!?pG6rh8aYg zgRFhK^OP_C%AQ$nu>b3TUXi4E`V~GC9h7wcrQlfpbscE_D3Uor z*D*2iy;!um@9 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-debug-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-debug-l1-1-2.a deleted file mode 100644 index 2787d98611dc6d45ea60dbc942e772678be49818..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2706 zcmcgu!EVz)5S_#=g{TM)73$HI$_*PkN}V7f6sZ*TmapUB zdg8MvGqYZM-P*Jq(v`A1o_+T0zJ0Tkz4!j|Wcs1?)+{&o!1Y|u>2`Xi>F|`^n`YaS z&!#zS0l)@8;}{1AVC#~8LL3V5ISH4E7=&rK6o-o-6yKw{e-;UJu6myEIwFon^vnFS zXnwL-hJrA&gwTSYgK%^{5wR;=(H6eIkIX_4)6fsr7X`lfQTl1I{7A8nzJ>GjXazz< zvoldO6GW4FYA-cjW$MZbX^m?6)@L?~d>pK$$Lp$(O zzaGLfeHdKZqa?Wp1{Z{j=!5$mg?);~2ChqQeQ*@+K=}!`U61Q3+&&sR6*x7oMwEax zODvRtMG~-B0#@u=uGO}KI3}Duj^Z$T;m-}gq%rnSl_T@(JW^QWR&0Xl95(AP8h=I| zM&k|>0%H*?<(BcwylvvtKQPQ0DZ^;&l|Pa_Q4DH?X~G!$^=BRFeEJ_c@4iE^b1QW2 z;TgQ7h2yoMpAWk#x;5&&t-|flYH(ez zDLVlI?q%16-)OA67CcT~B@Q*2T=&(Fu8V~^&#Nsa;}VaRig8t5(M|LQ=ZBfTX)wWg zVEw@RUc3J&LRGsc>Oy|s)2VeZ*jFts6u46Tp!%0qt|O4Co*APE_?E0A wMU7A%W}%cTyk9zfxgxnj{4a(cnJc?!QKLIRdh#oeJ-@K8+I9UuoptBhUs^QA-T(jq diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-delayload-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-delayload-l1-1-0.a deleted file mode 100644 index 2db9431421936aea8c3069fb9f279afc78e008b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2738 zcmcgu!EVz)5S_#=g{TM)J(Qb~K;nRn9TF!<6^bZAJ#dJSIB%TT!ET(Sie0r_P)~?s zkDU3EegU6EnVIz_o5pT)X;#Yac=p+|`}WOFo*($LLG-@%#$0Z0)Ad}>X*J)Pro&Tu zZ<_U%d^XKq4FI+PDqnE;0I>6ienK1y@ih%+spy7TI1`7{AQWfu#6O7zI?vml@ERhC z`}E8G<9ITd&O$+$aY|^x&q0{@-;=2yh{P4HaD*@LL*o!c6r%H9Bf&=s{uzUR^5f)m z79LHfBM>4UpNPV#U_2W1GkdBSEo0Jk9MAJi(|cFXsqfW-pAV2sfP)Ia6SlU&&cgGI z?eflqZqE+<%rA%VOb5DGc0Wz;fWZafV*22VhQdBXV++@%w+=W8*HnJO?Uv(O3ik?) zy#kz?S0jqS8mAVD!6GqOb1_(nYq^$V2T4L$dl)BS{?fl|fNzzdKT?j|uX9PEjT`X^ zrt?@W!)P2DWf+Y=Ob?7j%q+K@W9Dufr*6S8Z=?>R@^bkj`4h#UMwlubW51akWW7i0 z>%HwXR`l-SIXtDs<3*yM5xWYyd(?Yfh1;Xm;JWs6jnFw4>0ROVQNzviN1sO==0`EkQ|sDC z<0!`{AMW_-ny=N%%Y{$33QIk!kK#&2K0-?>TB?`c&vmTTa0+d#RvFNF{55dWp2N9N2kw5ZWtAU$&`+4CFw!d>6;-)9q9_a8L_ B)qMZ} diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-delayload-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-delayload-l1-1-1.a deleted file mode 100644 index cce97dad6e115117f27b5b1a066304ed2255bee3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3602 zcmdT{!EVz)5S_#+g|-L|JyZxJBZ0($1iMY$B2}oU6#|Jvgv5E{)?4D%j;q)};eaZH zDh?ca;KYef=@;-7dLCiWl;RCi6d7QoV z`|hF7FnF}?FsID|e}}$lJoNj!(SS3;gfXF+`0eq)eHTQo#{!$t$7Oh2oT03z(0S3o}^XZ0n z+6sFaod&K;w@t7VZdJtzw@{8-Q@DHREEeF@xayHc%`k2vjhaNGW=5lCU^ns8@^BZ? zT6=!L(~Ewc1H7v3xd$qc#`Rp%)W*pC1k>|aFT-d#G|Dhq{u%;9nHjb;$0Bz#IAqjH zF(Plo4x@H=_$KKunuClmb=b$Y8ub$2dl%sQy44=zyMz01ofZ#`f6e!0u?%b$X*Ia6 zrIaJI&qaJ!c)izfnSS(f5Is_>>^dQY6J2uBmFfxV>nx_=-e zf@?#WriZLR4I;Zz4U}KXX>R(7BiB5p4*^z8r=AoF&=aj}>hJ@dDr!n~`idgE=DWON?L$cFeWn>u_)XY>td+Bc^v6iBs4Xv3OP8_W57uhPb6OvfZ`bW^@iSEV-g zwR!)fjieYiri~B9xJ(;M_;*{)>5oW1O)|mP3msi3z4GubD>a_f)~OxZPIRNHd{BT7V)Bp z^r{zq2(Nq!A3}T*uhnyAlFVc`+1(08iXBL1=FGR5nUn83XR_DsS)H}!{fRqTx)=?^ zG)#TIF{f!dA5!m{)-Xk1(^e(`;2c0X1Q_)I#=nW{)DHl<&R!MQ4SU2HSMa zVt;m;v4@N;2TmtoOHSx?*u%E%uy?L+ZMh7MI}0W=>&$ak>5A+v*I#RQ97dQ{KxoGM zPN&oEG%eruTz`Xk1~Zt>EQSwjIl!8ZW&i!zVA^Ztuj!V-E%MF}l#Sx;*_@sA^lnFcXfnv!i zlf7-d32W_ya(P@cblo&fO`F#x*X+G9q#M9u30cKkqfiT-9VB1hqQTNi&9*|TFAARv zOJ8fNK`;OYyM%M;f!FIXb{rccxGuFUf*#`Tu~ zFfjP?vN93#-o$r-!4}KNzvlfMUk2W$Xf?R5nTRL!uCsU_qc6WUm z4Hcj}MT83X&l%nthV4zB6%dYvGY8hg=C;2nESzsCPtzs~Pz3j`Pz3pxd@73?dBmD~ zG{V6#+o>j%0`MTfTV(l;t)lW_u{sNMET$0K!2D8I^UDeDoqc@Gbg;?N8AYGlIBrLL zr%D5T$ozu&K#7YqLsr?9c_YaO^cL$lnXk+X5|_#^3y9gt#w9wVeNZ0#n2j^zbzR2B z(+CsWaK~SN-JssVfwaliSpNBkGm+*N>^zAr!EV81dPc-)C9l);mENoasxNttfk+A5 zYcvD?O5_-sKVl2_L`pw=&%^++BC$dMnqBDU3bv?FTo9Ifyf1EL_>7GK$G809f=;HC zhqyi(L+Yc^tB(V8$sm0+BhFA&q&_;zy#4g?Asg4DkG*VMq7VGQIkY}Tq2DQ9aOd2ks5g*4E$b(FIe~6{ot>hqH-mB_tb6^DM$wt&i%W`+^4rA zsGWSx7sCAtu|fWq@;`82?l$4RVk-KCG&dyoQ(x*L?tenU42t`&m3UcX++SDb?HBjA zvT;4!f1iy@;{GJ+=df|V3|)Ua;xp*PeN<0H7jW%VWbD5w4E$aO`i$z@u~0y_v1kn# zLu%mo?8D!rkV29t5)J&x*{1}lKh}>l|A#sIq;@OVpEecEef^mGMCvY1_r(9daqb7= TzD)i91NY@_6YeXfg1G-1aq|Sr diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-1.a deleted file mode 100644 index e4b19a2b2acb9b5a7c027386410f108c1aa3b180..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6286 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-fibers-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-fibers-l1-1-1.a deleted file mode 100644 index a70dd0a179b056c99cbefbf24be8d8366b8ee31a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2690 zcmcguO>fgc5S_#=g{TNrdf;eKkr2YhjuIzG2nAI_aLWO1NL#0NYOBtNVk0U}Jyb~C z`jdL(S5anWy~#SUX)eh|*`1wz_Uyiy+3~Y?{_He*-*{sdo7;9h*K<1Uj%hl)r1z%T zY&Y`ivB_z3-L7#XQ}9iSvV8NlOPm7;;}!C1u8GPp72^Ci3jx0 z^`m%vI+=xnFr$>vg6G3{Krc#MK|f#MTSg&>DD;C3nt{*hmuQAIK71tmAVfTxiX~-m zHt+|TJyHBs@#Z>?=Xs{-b=z~^f?xNLI)H8s;1Nr^U}xb)#&UIMLjS}L{LHV0@JbK* zH})V+?|{K2;bMB>QA=U(qp*Yf(pwK4g=;H4;r6R>9fdnW;jjd!*42ovw??UjuD8hb zmUO+9xEB8GAW0Bt591`vANYFT!gCjj!KhisIyDO3Ip%)(0*73s7 zJ;bV#ZiA8DROSw8H@L5-d4!Oc%OYLj^-;skGe=)nGU1fGJno~y0P5)uFqof*EUgpg z5nqJ}$Hp-O!z}tfK9?Gfv;xy~$Svdovnz9f_$5vkO}}g8o>#Ji!79#ar2GWXle`Xp zP_ywOu!Yp(%t{?#vn`aiCqlcKEi~sMIY#O5#5cDuXm)+Q z(CN}rVaFwkIkG9^@BvCPj%Cc^G|xEwCL^=PYGnbPL#`u`$2_w|7Vs%qM;0|gX_$dR srtn$G^KwUWhxiSK8ks3iP@+aRfYiL?x$Nrj8-=A4mww-DJii+M086gFrvLx| diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l1-1-0.a deleted file mode 100644 index 88899bb5e4ddf398f7fc434152ff92430ca9a20a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63222 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 Nx%p3&!&bL&{}0On^Em(j diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l1-2-0.a deleted file mode 100644 index 42c47ed1c87b5649ae02d1d9b6967bc7e8e8bfbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5250 zcmeHL&2G~`5T4j6lu`b2@<(cI81;HR`oZQ50N|xzQ~n7s{Xkq--vZDz_f=f;hXC`3jIA;DB5(%*Yq_C2 zU~B!h%ieoEXU}73JXp4wU1z?xMOS3+dcE!bz-5H#283q(e#i4&=3A`BOy)3rN7n_` zah>+W27$+J__FWsciol~b~bRpV7)&O7P@-{jCtKXHWC&C=vVP8p7r;8VXN=;!pw^b zarma^Zg-FTQGS$|)&{NloloX~)@> zhRCkQkcQMxj7u;zex$ryj1oJ&2&2TU%rO*^bctfiV>X44^im;)$BS5@mkg}4g~p&l z7!7FR6W}`_cHm<=9avaM4n&UO@238B?4f=I6;s>p99>*nKZ53Rs z8TGmB6HfL|wzFu^fof8}&f{~9_r_s)r$^hhD4a2{6L$7{yTZbGmWnh@GMDAbPVyI& zz@saaK=GxRCPm$4gwGjmaIj=Kwd51PHm^mc!4K?AI8jYpR-~%H#Ihu$H7av78x19M zT;`$pf{RMWhdfo$9&-<$`w_dTF~A%%bKp*|?0z&tUKu7CA>Qd}%_yV2Q^th^m&zQ= zh#BVNVpY*RRuS_#A7@Ly7P0dr!bls=_~`f!-5uiTDO>c>=Mm07@`2_Ba0M^HX~AEz zMNC#QH@Tr_a}204rMDnPkM*+OD?L{h5Zb0;PUkA#N+G`dg?pE};rZXhgA zu_ucL->@5>q|SIEo3I{v7UFuTjjNaDf4$)P3Q5E#w=?NQOW0C)o+h4MRK47dq><=l zBeGDV!FQ}pXW6savnx2;P0O~&^;^c8rGlKYLRXKlK5*}L(K47iRR!}}=neZT&DV+s0~Mie0EURUCTa z&>IK-0zaY$4*V+0%&a%rG&V_*0zz~pug9~Wy}PsDx3hk@?DuvW&x%j&;o>g3p6fZa z#hPt9++^0ay-=?wFKiV7;2J>gJ3!$pnt65IxC=nntukFgtO@ZplD$Z*%UJfrS|^a= zec1N9p+M(h-4k9_G{bGW5`Qaf?{s=n5T+FoTJZC3*p#B_ii&WBFYp^J38EqWU}~Mf zhK!$Mudh0<-^pIn?{;PI#&7RozangPMP~C08LxF(-JXmh8PFFt!VhvYc`Kta)xG+w zcUB=d==j@lxue%HYyDiu@jTDAz1mWL{et5wxP$=J9Kak~GfpbBjrl1 zsDzX&5#>rmxl+?DRZ4C-Xf~ltjs*PU3}7#}>+fqv;x}VRU0Ub*C72mM6izzEh@F*% zG2&KW3`JzPB(dd~&0v$2%fxWJh!s}O#(K0+A5;jF2b%cQ6<%bHHzwzJZK*oKaSzwv zHVqsKf1BeK9tKwPG#VV&orE8>#%Ubac=K-H`kFD@wM{r}pTEzd!vd;F{T9dPCR>xR zyusTq!m%)8U^i|YwD*;Vc{UVjn&cl)0!LRVf#ORs9TanyQDYv_27@)r=}zhd*x_1L zdH9CLloQX?WyPwB94r-<*0{`3TW}3kUFA@G!bPQHK$@y(k9mUaLBejj+2Bl=IdG>p zc0cMNtsD(9LVu^HHKUByHu{ADZYXoq5p$T1>#K_9v4WV7={Qf1>pmJU6O8uZj8D%V z)6>bxz&Eh++2;%99rdlacpWXpWyM?iM#5ktV^jCmXl?;Bmh=_GsJy{ZqaOO6L6*=M zj>M2!c+SKCH6k@aJPD#lspSD$RA?7ao@IVkRUW>ek$H3)bF!MU?o_s6UAU9!qJl?d zE?dRm_)-@Mv--NgUx5qjA_u8w;Z5QX@#$aH#XXt;mVqwn%E5IWKI1)O=1LV=jnn-J mGBn{_Y690tZS(!VkqhUF-_b+{GggT@|D`6z{25O>Py7TJR_nt6 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l1-2-2.a deleted file mode 100644 index 6db054b2feb48d6b28cfd3cd6aadb79b6bff07e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10042 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 F{{Y!E(yagh diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l2-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l2-1-1.a deleted file mode 100644 index 2c1477dc250121e5e565fa34ba828b1dd5340239..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2662 zcmcguO>fgc5S_#=g{TOSdf>ppNacou9VJd8Arw&w!HHauxNV)npDD!r`$+~f9IfRX}JDz>cIB2i+jgVb z%ztoNBceT`N{5$cL5OlBrf7fFpC8%7ad>tO_9U{d~^Lc zo}5kRkpO0#0xjh8Fis+oG=#^WK=3=p5s6V0ggY}rA7|0z9h-go{XxNyxO#Z6dFa~$lHjKd=2S3{aBgK(( zD>>Wet-oL-Ux*5;V)MK?U;_h~D&gWg&#)R|eDn`7-tMkzf{t;Yeef6u=MrK1N2*Gu z9maS=n>)g3_*_r(_<)bgVqD|R)xfQC#@yF3a9X~(9TUvRn}W|dKA-pCCJ)=`cX*-3OJXEjyn7YjQs z{5wx8WL4^7sMNZ(b97rq=Qxm5EZM1OyJcC0I`oqFKj+bn#U}TTor5dAQTeqRh;C?M-6Sa7Ym&Wp_OL#WOqm&5rLqal?cD)9Pb$R_d*~Q+Mokt7Dor zFX^LcHagAZ4|`PrxB^hx1E@R)SpOk^)l-1#sSsTuUPpcyiCsVTL(!dhzBmlV?lcf+ zJnA^YX^LU6Prt-I3dRSM&=-UmMT8do+zW=j7&b&*G=wYg9U~t^-*>&0Ie~8IyRpCH zhTh9yJa`5|1f!{#w{|Dfk1sH|H)=h7_6|dDKdwzwev9&2w{6F9Ow(y^rFr$fVOmj| zC4if(twAmJk7Cw~2NQPpYMvXr#SmWEhTXH;eiU5*gJZ%4^uqg1g}sVO1>@3X8*GJZ zDLdgdig9g)Gf~;h!KrmMBPFa+WFaLiqJ%}1u!aq*ZZ&G&a0oRrB;a4?0PjmZcc2W3 zUC$x8H0JygOwV7r2&3iBD8guYt1yN#GAl`LIcICQWRwaqoG)U9Q8IB{6!Jkrm@?4D zS6+ct=6HX3j<>h6yF+o@!85o;fkWkAbG*S};IK*2U|e?+e$W}`aa`f`S;M6@qpvHS za7v$_H_%`Jja2;x=jS?W%dou9*CWDFm@&|c`ya*wX z-!d}hh1y`SVmZxJod5?s%ApKDQCV?gSb14-RYf*RolEPY&e678TIX2jRD8ulrS_ax zRdmNZ!u7WayJ<4PUb1uGO|RX4BikE&GuR j>31x#<$q=U4UC;6WBpxe;IRx}aL#s`@IBr6s+s;9?)5QH diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l2-1-3.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l2-1-3.a deleted file mode 100644 index 2f010487ed403bd58620e7b829ccb3fe694a4e0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2718 zcmcguO>fgc5S=6~g{TM)Js`xvNN~f!aTBLS2t^7=oKS>>IBwn8t*z!uwxQuxaX=h6 z^vb{Kf!{@$w`)6VVz=cGM)K}>_QkvV_RUTnzjUKf@T&RTC|bMQcG`~B>)M84$sxTp z4BK(i9~?A^XoINsjys!Z>pLDH210y@{U{bgKk*|mn0dZ94X5rr6dYXaIl}3Pad?O) zjZebqXcqYbm`Mz@kncy~*cW44w8gG)1%G4WlL&m*TiYb`p1=M&jQmkDi@pp3cY5r{ zZx$a(h;T9&RiobN{BzQpsbiqBsN(HCWK%@2uH&J;YFGYs4NyX4n5`3DTsEE{AfoW{=KV*VrS7ieD1*c2XZyB}bmE4fvOy%g2 zokSzqs-{lA*jaNqSbJI_t6~eLQtP_P(X;i+u_dYa!H0@sT$WY1ho14cm#Q0`LDmf` z2jBGC?S~o4>}**P@|zxKhKe@T=A|XBP&xJ(vna>qS%rP{8S}Lq=Va@8$j;jolf`() z7ne`*c7DE$>0VV`SGvR8N{e^cQ(9KK#Wzv~YZV*QH&$y4>0II~j8Sz%vW6M*$g)ag w7|BE-TjZXh0JS2uLjFI-5tS{E*n{B~P>~n%T{U(3$xhYIul~QY=B#V}0k@aTv;Y7A diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-firmware-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-firmware-l1-1-0.a deleted file mode 100644 index 5e82569d81a00d1b6647d2e0f3737557490e794c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5490 zcmeHK&2G~`5T3*>lu`sjJ#aLraKgcE6DNlXRVoF<0aZf$+_p}$Ay)0Aa!lJ}PaHV) zz!Pxiz#H@dIPyG{nO$$ZX%pL2su9qYc6Yq{**hM8-_H8(suykd9?w5A$BWZ&T*tMW z^_FScVoGmKv$3+A+^{td09dQ<0A`;6%zcsd`VRoAH*t>Y?NzFbtuyv|$fF_K`Ig0%Lx-%kog!^BV`nozbz9YL58S`FI5>1<bA&YuwU{5o!k*rku(?(1c(FGf zB4*ZL^SIU?4s&2|NI0J!xKvlzIW%U_FTJdRt#A!BPPm2XxTeA_p|Lmtr{-0U)VIQ+ zh19o*`j(=;6*!h-*|km(K&|TsJh|cL3BdbG*V|D8$+#XzTGlwVHo^25R;OXK_!-kM zTI^;7hN3cFlK6_a&Ek|%nTioHBW4&CirU#iYfvFf6?|+<*=^CTvvF#*Ki~4=<~`ZoU%{%3pii^wX_QuB0e{S zRfOq1kqQuwMX(0CaqmNaM~(=tjYXPXvII4V=t?zEd?}`B(RUl^^BH{zuwpv(q)^nl zXk}A{?`V{e1WS>ZP}k7LvLYmwmr0rpJ(FA&A^D6SmyRiu)J6NvL!1v1mQ!bfT`-g2 z&adr+w8Ervm}ZF4&QIU2j*IPS>q3ef%OsQu4=3YB>Z12pL(HeiI9K^~4~^#uMvdVc zAD`T(tD~cIEVYc>^N!>p`5?J@4K2xS$zys}!e}j%lN-j_d;@w+MRtKi2O@g30^TLF zOPV>~66DkfppNHN5Y-&IUChc9%NCZ_$Zig_TVp(*BNGD2MyzG0iKnDlR=0IpQk zIK@fgc5S_#+lu*itaws=bl?x)lZWAY!5ULa;%85#V!~tpJG*08z`5<bKrc5P>qY?>4)L9JNH-u3LWcX#%^8Qb?B+uiNPlk_9KznBHnGA*N6 zSkrZbcgbg6&s*YJ*DGlNSO7@g0!aM=n13aX>s0_c7CYj&jWr#aLpm5MGxpkdx<1=- z0;kK$?V7_rxGlTmGBh5PEN11I=T_+m?M=6}-R?S!FioG(j9)kGR?TymXEKu+%x3tM zrUR_u*tIDR123ImlaKtoRd08jcHp*Kz?j?YFlE=X(RgLo)BTR;Zrgz)MhPE1Xf3y! z9lPtisO~!3;e7lMs_ZIzZNLACvZeOXe;4H1F&#$nz%&fYvUJ@l6++@v(zUNwkO}~$ z1i($+nuA>690a^Q`lQ2FC0DZpdo+aiY{1q@uIl?^U~oh@mmav1kFfLDNa4KXvH?bf zD@1m}EsVw$Bisr$G74POAJs_JY}3yoRkK9Zte|SvGqYya$kjX#fw{WtIpGbzPXTrk zb$c%|gm&4FG^{o-Ho;^cCP!f;|7oKzlJ8O+Ltg1Gp?|sG=CDgkjKpxC5i_*Ja{oiZ zD;k3eVUnw#4yG5^OG8Yza2GJ_VM+aKrmym8;3-41!Fer(453|CF+IY| zwSh;@-O+cSL9eD<~*bh4vu(EHR%&T7I_kWqGjqyYX;IHW%&k{ypY$p98z30C1qXZ zp819wOD`5GWl^Mgi2aq2;Z*5hOqfG3=1Vbx_4@sq2mB8Lo!4|7ySu;`=G7Cf>qnszC$g3-+Z~gL2hE4eG9Ge=_yd zusWd{jN(vk_<|u}TyA(9#!ISZnH%cTxDv~UazjUr8&bn3H7?E#cW`~@%?(Ky{Du_q z^rGg4422aey}a;182C8}-?1KCu@J$Kb$0wWC*=SCcO$-wLI&~odd&a7c{fUc^2f-f z&j!j>3n8exW~T;YGBsH1^4})$rErAQ7?%y+NKtf_*`O+odsa5^)VQH+@Lr9J)v$`Wm3#mJdpnMV(CO2TJs$g2&>FaHspI_LiYqaxq~ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-heap-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-heap-l1-1-0.a deleted file mode 100644 index 7933e694f9d4cee1731edf88a1fb3bc383f92373..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13742 zcmeHO-EJF26h5(&vr~Oicc3sJpVEP#S1GUKKmB{#pnMN@x?y?C|>+s#7n;dP+a?kqT_5k&h@V6 zcb#3Y=lRZdr|LPMHrnoC!$IM#P1~{8on~X7qLjB9?Mlb@9Ky7^gm(D3?zx9f({e1w zbX*62qve5v!s^%xfgLRJUAK7vj?-uzI>93)Zn(`x)$L&&g1kUP`PbXcPDOuH3MlVd z&Br zzvg>-P5F`JuX^2{-?^=ot|XMZ?R(Llkpj-^v<}@$PkVD)N+`F#P2%}=uea-WDqgos zn67-cUmAT*1VPn3@O#Bhpjd-6$}&ycwhhBBp{jA%TdaONk4gowK7+c$sW~Y2yjwj^ z555?%yH`Z2xPu{_vjw~Niu>K}F)%nH9C6QGMXeR#G~Q;hUV7L9Q{gt0oN!BnaV3Q_ zFtMC~Q~BzSN?K@j3#g<8Qqn>l$EVP=3Rb}^R+~*I)*4Mug8#k`@X<`oJx~HE*ZYu) z%=eW`FunhBgD_g(s(wKn(X6u_8ZX;58no3<`wF0X2N= zHgS-c83VOm{bu_>NSJ4lo~A}-pb6Z&LKCQesZYb8 zTNzR3m~Jpwv7GLtod6ZSic1cD!^D`U>anX8X;s%WO>14K*6}lku2rYFD?Y56>1oVpM*C1J7eZWQ=Ga6`JsB5h6}4jv zF@7@6R`nu1+L0I~!xrDW{~SHty&KBH)Y;G@W1dl2f_n>?65JI$rFSG_wHca<%g5&u z(EE;l1ukch?o$D6KfTpsZ#`>A0;t{km0LBz}Fmnjd$|pgVrXjqQ*R9u%E;heJw5Lttsbm z+ywQ5wMD@BvoxksFL;>wGTfpsF$?6<81clO|GrhHhQ&EA)`U9e4FbxLgD){foFB9^ zkQv{tlzcBuJs29iL3|&@gL#MXlwmkG? zOevvT4t~Td>qxZKp+D2Ncbk=!H_Petz%E~&dNnwPg6a>(t65-1sQviK=D*kl)V-Q# zi1;$(;44fK|5a;4;s=uP8vekKH#gHUzGUfp`eN-mwfw7r<;SDG6I=e%%z@a^(nMSS zrzFQi%O6aln3IE_B=cjf4pktYm6a}((&>Ud_3?R>2U-77eEd_a3w(q+A^a!%E$TbE zk1tM;$4hUuOKI9ub`x#;SR0t9aqhv-GrRdifC*x^sPE|P7T-Z+#O{rh?4Ek=Lv8mc z`;l|ZZuKq8|HE@vtqt9lKr&v!hn{=dGu85R2R^~>2cG*VjGtx3%MY~h$0vEOChZRV zpzqT%+nY&!$~xVfdC+_pXY%Ts!^!4*+PxXo+R(xWlB_Iz+B4S8_^$l)tC?_bW|Z}4 zjxD_Sl6I1&^Py8>JG z13vY)SlIZOG%Guw_Vm?^dp1+{hjxAx_V;svs4~gySKma2?0+G`{_kS!PyWxxxGn!b DVK85a diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-heap-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-heap-l2-1-0.a deleted file mode 100644 index 99dd8b17b2eb5fd078f8584728e547de252d6128..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7382 zcmeI1OK;Oa5P+vn%A>rc3IPXX5Zp*`LgKa(LPbb`5QhqZ#EGqwxFo96R7rRoKolWy z<|lFBr|=Uv1M~3OlO~}Cl%SxjwCnNg*!%iscH>;S8FcH-TT9p7!Bnc2{F3jjRLidG zag{Dzx8lpa>uxRqz-a&nbN(B^kq45G-2|X~(vy7V0s!UZyyUZJOZog)%EsI==1DK? z_RL1u54+}0rxBW0t({=EWl;Hg)i-{{M6DX-Sl@2#)H~hKkWITs)`st!VX$kWvMCwQ z1P0&H4#A+ZF|kJAVW%EMPj;eCeH)BvwReryu>2^z9bvt$wkod2V&GZ6=bF3S5C@RH zmG8M`=#8Sd7j#G{@;u-7UDsb(i^17kYJ5C|C;(Iz z08X*A2*rN*y3g|X!i9~^Vk77W<4w3`9X37}YrWn9X0S(gEqdXVinTq0LLU32(>i$8 zu4?sUcYM6vinVi5SRP?#>+KcMEVO$CM6*C>76{EkR4$YXUa=8HP~2)oVQl>U2f*`% ztzg?KV!fV2YBIO4T{6@2=Zv#abC(-uqvj1A72Bd28BFoq@|-PV)h}##zKDw4f{W#F zqBbazjRQ3BiARDZX1tl5@s+j85aT|s0R}uw`G3uLnY)3-GW7=gbuQ+E)_4@-)?Qzg zUE(vk-pXWW<^9*=sK^18!W)$=g<>{z~GS)5QfZYA`e$v(owS2Ge{ofD6%CQv75uY`D7@!utWQ5diXX(nY>i9Zv=of3Z~ z*3iX)4_GqscC_jzL86-M&m6^kB^&dr!_2=y01k@sj|CEDWtvg`nQHe}QNB6aZYauk zN82UL(`o5Lah{EAyH$)7I*?>C@0YxpH^1M!Nv=)X-Id17&>cNl z%n8#nEn{+GO4ki;QqQ_RVOZep9@K8oYiCjdImd=tm{9{_ZW{G@}i zImVv)PS+|9*xzww|I zbT?IezFoDnJ9|EuFe}eJ^w4FFH^sKlas$`)+*c0A&SUh#(PUZboA&Z@P;E>0z|>p9^=zjgthmsagH*$}p?u_V{!9{&VW;}8Lq26G>Mnjg+OlL7(;?=8yixi~VWu0)c-h0Ia0%b}gd@U&R_?+f#{cyd( z*Lv|z&Kp<_8tbh!(Zbo5h%^nd06p;N3O!JKDW-8z*BsI3ltMUIa-FWEQGgfxEKVAH z$4W6-u27Bn29_EZ+J0GO(i~SbcAN+1Elx3QOtLga>&|VoKMT1|7afc~vkGPbWkn

    jGBhLyT<05%26?r@QU# zxGk;?r1ms|edJRx@+8&-qXm2E*^tLd7ALpmbe;h zLIWRg`1@&~9`b@NMQWg>_}xnb8`-#&2Hs@jA`M)|@f}nHWl;9dJv(;d&|%fWRqQ*J zSPS^+78MP?Vm*K4LKS=13;E)T^)cR`KJKdfup@nhYwKU>LrbtE@!`qW*u$!iE1?!* zeN0E{pzQIbM<0oir{$3}7pxAmKXr_!)$txz)cvx@lCtU+nLS=8e)q~AK{hUxJzi(y zB6W=7j2|?6lvH&ne^?H4=D3tnMie5nXz)3y3}w_QS*W&xHDUCr3H4u<$QVbO7>g$S r;vZ;&_7&;>i(*H9ShEGK4OHT65&cxbRt@kMc;=|3BGU0F<_qIDU8W)Z diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-interlocked-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-interlocked-l1-2-0.a deleted file mode 100644 index 7812f4f01d0cb459c2939d72ef51926efd8f21b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2782 zcmcgu&2G~`5T3*>g{lY+J#Ydef#86R6D3ZNDio&8xUX;#Ya?CfXH`rB`I^8Cb`_QUswZ_RwGHEV9obz04)X*zsK z?@hDbcI5+ShXAk#Q0d|D72x0x{TMrC>{}8{6V?sVV9HJ>e!zZ4WA8j-=$y4(<~CRy z_2?)4qiEcpOan%kQ9@|O=g}D75KsEUz-Mud)tSRQhOZh0z{0@u?>ZKI$~MrwOv2Am zl76A?!weXUM(1n|z`wW{^iq4G7%pSB<~Xj4q`L1KOJ@D~JtP<4qyq4WTl-+A!7Sx= zd1pfR%=W$1D~Irv4s@^WUXpBp!4=^mdf|(P!rn(?5BH_F4mb+eRDQx8mE&3p_Zp4k z0-Rb`BZ|WsB^HXqB5_!nIIOs4)h);N;~2mmL~$S=`ga5Hy)y8I$|3zamlWE#6`x=_ zkJU1a#-UM$(fGr3!C1shzDbTbcl)@s2E%zHbr_Xb`IpEU#h^x*Dj*>!)!pPISA4j= z;@eJpMe#14#ADh%UM>15aaTcihl;POaL2S8+}9JS5<2N3#Vfo%YPe+v>FdfSoU(6^ zN9Ztsdb$e?&d)<`ZKL&&-yx$25K94)TGsEAoN(B~G)Z-#KE> zD;dJUO6xRIjspDPz38g&7meLiik;?I;!xv>wyCPL8d<&e=Leja1s*XK@1h)|yXg(C zhf?b_nBZ(#Rj>+ZHzGwSYFAmcSXKc#!3GAKYH=aM<*G^>F~5p&%N(Qc=pbfZjC0k# zo}%$lVw4ZR`1cI+RuuukUJ*b@dx11{lPNKE;wW}X zL9nV2TDU->H(UYYRr&}#36H>X&dk`J)IUi;35v8Mc|1Pz*)wzI`{s=8H}1KkPVfH4 z+va4l8@6LRR9D0|-<8F6BO+Y&cqmRaX%)70iKlFLz1%po_HyVe)nAab& z62SYs;MVs})y-vy!n$eq0^a%I2_O0HaLBtK^Kk4(={=d6cln9e;SYjVFo;HhuaK9m ztr2%4fr`D*4o2}~3o2Xgpu_zKK{8y;(EaMTAJv0|nnj$nEz5BnocFn4HeIG&fBhTjw{Pz=p z&nrjnacod_-G|g<^-{Y8)BR@@VKm=Wi!hqs)&zz;GMSWbh0oTps#+<;2!9bPs+HF! zAEK_P4N8PDpo95>SEUVNcyA7dH}9saZp?58X8@O9Ol$u)!?#5@Fx#ZwV86B$J7|XU z7#`#GvxZ9)qu0k}!o}sw=WA%F0_CLrs_@VAqBIM~dm>~Y9FyP+97VnH;8~lsL0vvOk&ZJEMSL8A?-~tN^4VDX*6e%jSFga3I(_%(* zM~@lL2sfPLgwm!aPf@hG+`;-DO*$qznPANrGjNU9);;lnoa`)(1<4vu^F^_2q_qnv zZX#yvA?BNWT%sr%$39{n=i{8XTeMPspfIrwM||<*O}aWiPi<-GO4*JGVZ=LXUvlwT zEJ-d)-r}WFT_)CKBMa#Mq^DFt@m_e2T1YHujEFJ98xv{~<0cl!9?2fcS(a*f9qTC3 zDj+TUbg7a7zhkLnyEk<|xKQnhcq7!&m{lEjwH?({btrEACv~jT-aG$w0XM;`tqxP^ zAXUdZ%0edt{=mF!^im$Bh(*50rTW;NRUdXnA3x!0IW2m0wN-bS(PN;sTNXV|^KqHz z@m)SH(Z{Pe-}6R~wPJ>>bmWNNIZ|!hCsC+mz^_;;WPbW?p1*P|cF&gTVrNEO*o}-X zenhTJ)5U?tr)BEm3$5KUT}1h~j4mGK;}TuGjB`D&E~>xbZJ^ zV8G??j;pPK&5Q)`<&KmPZ~sSz%O_%7`c=}QRQ+JVa=upXD|CUeTFOKv}o{9TSb={4Gy(- z%c6mwkIO`ZlYCsF2>ekvw<3@i=^rG#f0e&2$^TTk3QQbPoDBFDi`r-v^V8uk_S?}v DMBEEv diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-io-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-io-l1-1-1.a deleted file mode 100644 index d9e0459569412cdcc16095c707569fe232afb959..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4288 zcmeHK&2G~`5T3*-g{T!sRH)*Bj086l?2_26gixgl0VgVcu58@I#crKAvRx<=s(M1) zsKk|r=_Bv}9C;4P%&ynow04^wTtH$Y@2+RRc-J%Ex3j+e(24rqqvm~mvY1`dGA+aI zF6p|#htyivA9OnDA9_syxC~JH2GH08nEfuU<_`e6=6}+~*cxN6V>gP~x|_HWTMGv+ zd+(2&vCq)ByKFJ5!vcSUuGBvCNBuBz8DWMop&7sTLl&5feh$MY3|(NJ>kKNI0-m_Z z^LK6(IODN9c;Uu7LGpMP81si?Ry?-mjQVcy^24a_Md2viiJyfjzGy_)jzREt5PI85 zJIq2;78BDjEX&e$%eJ$a3_e}LumE&w09Sc$2HJ_coA7>lrNer!J#Z4I9KuIdVg0bZ z5yxl1V4rY4J@8IPVv#J+z;&r*6%2{%N;~1^%5k>D>DXB)z{zphB8^(ZxP>%o5sg}Y z*b2-R{@Q~eKu~+r58M>|>j>a&ZPVG7hSaY5kfzj*%}X%VfAunq;ybMjqxh}CG31fS zlKPhWYzBw4S}BJ6i&&x6ZcRQUy`wp(5T*`&tSeS+lNj!ugW>jy*oAbx*OUymFapyM*+CI5Vz|Vst%A!GqmIiy;bi}KJBJ1hs3z@e+&}ZYHx0)< zzNI1@3+D@LCf?3yTUa>DCOl0qc>y}$-W56^|B_GhqV6$b%_o$>!IIspktv%2V=^dfqT5N z@9_r|RQq`@$o6=O7v-`oWnRc}6FFlUF-b8lQxv_&Dq{AEah6=xB6gmp7-_>dK0LZh zcLxW#E$`J!P7K61npbe}3ibqt1z+j^DRY%PO;c+pGYY7Fq^BT8WDD*wnjy2~xj|yM z7baA~-pVA zv-4OM=o>h8UM=q7P7>T);fH_y6CNi5(-DE{CvrEU`(e2%f^pB zUg(r1a>7R>#aTJwRk}}7bCEgWjWX|PIl(K&oyZAMF)q^qovY5P1IY;dtmFIV-_QN* gs}$ds93pmonHh5KU&k?7>M+Kx%5(avt&-fo0lo&nk^lez diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-job-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-job-l1-1-0.a deleted file mode 100644 index ab252344b9522b9ecf85c5eff0c0944bcfe3f6a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2666 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 Ipjtw~|C+|yJOBUy diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-1.a deleted file mode 100644 index 576cd02360298884ee9c18006e6e38d6293b0065..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4338 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 R;Rn`5s}{;A?5XH~&>y)zd(Z#? diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-localization-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-localization-l1-2-0.a deleted file mode 100644 index 0f50d4fe12683b67079542063013e4617eb2152e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50704 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 MP3@%Qs6d?fAG73Zy zW3T)LpU{usdnhxr-el9*G?!+icqg;ZnccTrZLqU& zma$*{FrnMC13&Z2Aw1K8?zP=d(>q{rNw|o9@I^ymAEL8`>(Z?Qj>0unoN&A4xR%1b zLT9f4r{>j&g0Pa*LP1z02ul})6}wj5a_u0F!5&6&n7{P*2H?0d^iNbEkLz4gYU5UZ zg6TX~%P<;;Mj1xq4@(4d5i`q{bIjar_<_Yksu8 z=G(5kQB1Q}Q=0eiES}N^@Iukgi9-dCd(?bgrQ4&`;JWs6ozPhqXcGkrFI&rN&)h1v0sHhIBuvtY^=<<%2J1nOYN@C(yHs7WrvyhiHA&0yQs?O zetM1byVJwxYxj!`k(@%7D1`gV1-i0NKY&zBmcyi%8s(385B8m9MiHEZ3RQX8xN26P^| zyFgw8%ot_Bw`6x&bPg3^7M3c9_e-ZQS0q=6|Jg7iD`y`)GP)6DWPSm1pfco94=jlf1B927ns?g>L|*F97pD<*$4JP`(giU5Iy)H;BZR7kdM--fw&2 zqu+D)eSyxyRYy2=5%@dwOZ=hV+wBiLL6|TiwBYBUzv~A6u^apSo(ODF!#`Kxw?Yp@ z*K^x{eK6Quf3@+pzeyAEUh}xZ5BEjJ{lbgi97VAgZg?H{Ac!+>OaQcx`kkG)+E;rr zZZB-havaK{fUcW46avCTwk2+ivWRhj32|w$7_NQFILq zP6+4I2OrfH_9hx7oR?l&U@2Tf`3bi$9@kX3Cul6@;8eeAkw%p;svwOjM5BsMqe@^` zYL!~G9RyJA_<@(a^y?DfL!smDDM#YhV@X3BSH>rp9>?N1j21&<97c;@i7^zJ(UQcN zV>gFgMqw<5<3{W-3KY3)p)sfsrU)U{GgEJwIp3Y0^Q*Qzk4$sBtT^xBUfiVxK^ z%pB;%-Gknq^f2E>B29~&fg(7%QV|qiifLN(Q%BA@qY(xxwo^+g1xS{~b`gGHJENpB zGnuiy80EtipI<(vr?a!vms*AF z9fJ8sV@gimLQ8U5@|WICn5<=T8rI0>8qj0NnFSL5bF^p#d`o7QG;1giM_@!XyjI$I zIU_kkyzQY!s%8l-Ds&o1&oV#Dst8}v$Xt&^{;g?7dXw3Pbzn`WgL+fDVM!gFVF<3% zK{w$BHM7*gKpS_G4nF1MGCDZT#|?FGAJ_M%Islk(1;+0Ym;P5xJixhANj1^pXIT~D SI~o&KFV!&#Fq?mN%D(|~sd1P9 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-localization-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-localization-l2-1-0.a deleted file mode 100644 index 144278b21fc9226697546b2c2fd8246e0da33e20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11926 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 H>P+|-zQj@< diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-1.a deleted file mode 100644 index 8638ee6683958f24117504f412bb5d32d30d0245..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15368 zcmeHO&2Jk;6n|N#U!h-usw#zoDQP88^znleEv27%@y0TU30lzwaq(D%j!5L3bz+ZW@+ARIO~*!yy>(mZPzwQ zr`aWKlYMX6&9-~jY!poTSSJ2T(+0C{Th%?R25vg8w`DbMv>NToCYYwv?3leW@$HII z&LlTlO{;U$vG2T5yX-XVSGL7(sPgN!cl~bHvzw&1Y*p&^b>|+okX0E`h~gEuU9r2} z)wa9ov^Gc&?+U6JpzxO6wY^o>@$6O0tJFnB{n9tLZ1?U}W_v7ZZ@CrwTHAAKPQ~(^ zc1zqfOl!rpYc^IQY{h?1+^a9UDqHQc+it$x>4+P&MXzew(ksJn(e{lfMDbwz4p6|N zE0()quUH%QRj1`Nx0<2>x{_trwmf^Np@*t*1%eQose_2Pw$-#&Ma2)q}UHP|6NhkkH+-q$^d7nAs0a$17CuUGWtq<1)4uk7nhlWV=bGLsscc!oJLI`>-f85vjv$M##uaU>MURs)G{g7_foI1ft9oA-z5V z(#wk&s#yw=Ucz2DPLB?g|25KQ*<;}01U(Ht*C~Mz>SZ0$eSP^X=>^P@%l&K8^RN5Q zhf$CLI+72_F#8-~S8;G&XF~u~$HXuLHLt$a+T;?3v>r=SBNN~Pvo7ZX*_Uh@CfV2U zXI9w3lzp7jnfM7HliYw`P_pNPp9H8y%6dSVF0z=mEgU>3Dw33cAl z>y`ZHA`kPL(D7y1;)jpU(YFT=LRolqtZ$S{c%%9_1`pvC$1uk$-6xPM#cQfEqec~w z?Z;vW2)r{(Q4M$(k0D`v@FlGEJuG4Eq+aJw#Gep=YUeC@9Iq%5`?=&i`_2yre1sRh z<9FSde$Sc3A_~L(d|ceiW2Z6h1!e-=AH{wh757JdB(Rwp$4gpq&qo$A?$7q%{(}(r z5i`{UF+Ud%^W{Q8@%0}f)ra}|Tf+a*DM?>nljpOZq#n<1{>jjvn(Z#5kKLYB? zLz?~lNrCdv-{*vcP6m9AN43S==WFD9y_^*K{n?ltm{rF+pCK-WaiA(;CrJ*pqa0c4r0Z-dOd{|_w{-KE1tog9+ef35jLV$JMs6@93`G* z43L?zBqVe);Cnm{XnnwrDDx!9kbF#rGAIIR! znuN0?`EpyTchHE+)9WdGc~7qw@Z}Wt{iu972>QM4G>@cczC|hINMItA8t^q9^{wX2 zh$u^r59PRgP-hrpK1>Ily&FCp0PU+Ash(LpNo2qj@*!|7C^g_KJZf9b>7Xx4jt!-F zY$%O)-KdizXA`^Gb=wd49+33@RhpwhoL#rx)^hmw$&$l;%-!blc=dH4?sv2Lx{q-G zKV5x|Xn8;eomrAwTgu1Wi!P5>Uk9>cH>wwk=?1(Z?f((hh zbFJ>$jb{(x?BOILdeqr;h8Uu}QJrpP&@75lID23(4{{-L{tLX)wK|}LVvhv55O)W= zsP06JS7Jjh(5mC8TrhyYlt1AA0;!G|=L7>nUf`dRf@Hu?csJG*DO{g%A;9oaK rjw8Mom002b_bb(`IK%vhJg&MVBy=+1J3K0^@LMj&4UJ*;o*DlF{7fr} diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-2.a deleted file mode 100644 index 3ac8927bb4a9bfc6759711eb423d839e3e7cc7a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11326 zcmeHNUvJw~6hC#^Zi_ZCiK%R80#kJ$Bogd2aasvYg|aarZA25})pcX1F>{j2cA-NP zst}scgiw)&;0=iv9(dv#^pQ`%6CZ(3zysr)du``-xsKgxHAVI zas1jlmf!APFTbrGPI^N(bVF-4R#a7EBC%A}RlOd4VWSKHmjOzD0?Z!(lwaog!V&=G ziy!m+;zIz+3y*oe@&thL)n9mi^)CR*i+}Tc?H>TjZ!S_c&2`hf7dU=kww%!M&Gmup zn4i0SYuh!kb9cosjk@W%o0Oyep4)E^e8(hAFCetZKKGp7z<*$Rx~ZEr(=zc_dJdRf z$Ffgw82H5X!yU_e*YgJL8@qRQdKQ?b+uJrJf_r`6*>VG1>3f!ao6YymAapx!+X~%5 zKl)-8>TZtT7>~K@v^~r1MKk0Ri3XR7KI(KFUxt5qpj|P0GH*ptSu*qep@Q~ zzzO*TZutJdzh(7p&+TumTie#A>$#zud^-p5rtdgugUe;_yFuIXZQ0tSBDT#|I68{3 z@#8V6(nv|^ay!_xH^b^6W_22ybxku2LsgBHM#5(M(L53wU}Xm21=gB_YUu2Stesw{ z(AuclR%oR|m}CuF2i46W$bi8f;avK`rFx7#i;Y>FmzdT-i*b#(pK#~Xam^Tq#}izV z;9_}P;{j6X1rvfD25!oC~C1 z(&;dXXAPh82s;=!wsWe9p8z7s75D>tPW&oS0JRvi0!`C&jnOO1hcxx3z^pS&GvDCG z()CcrEIMi4Lit8y;Z&)h<@6zV<_l*ajUY>VL*I~``Lu6!9PCqJTo~dG`4IAfp&XYm zi`KD*m@nlxBc9g+Hf}|jxDQu+@bnse+TS1c4O?Z|oe{-kcQh`y#dFx=w#@AoKSrz@ z@i(L11w=hEUjmWcGmX&*rMPG4C*mHag+pv%>!sc2GvYG@poMd`yo4=EbPDhujeX{Y z0^egpav@H=DW5pkxQ`(wXsh{{&=7A^oC!}*0a;A&1PdyX37-k$j$^`}95=#*$8uc4 zghkxpqcY(fWW_p@&5EUn14CAP81+!4z;9S)X@FBC6Lr#IuE3X-e0-^odX9axp)9_1 z1v@K}FTODDIKDiT<3{-MNRCVRqT=2kl`m&ud|W@t9)!*hN<*&P?4z zLZXl&Z&^k@HcaCUw$Ev7SU~Afy~aF99@8?LIo8d#wJ5y2@lDvXkuHqg%=r3d?AcGE}HmSj!Rs7{2b~# zIWD;+y?zY8Fbg^UQk!r;@di6X#9LD<>Y+-3-?7Z01{IM&?jl>^c$#KaQ;p#DX0_i-NXwUHq>VnenCUu>6 Tuu_4au}-!B%(nnf{+aE6%c!na diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-3.a deleted file mode 100644 index f98e53b086ac2dd79b786b357560a8374c6e2060..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5276 zcmeHL&1=*^6o1`qwbuGkC{h$OO1-)3rroAn5ZO{Fy@&<1c$=o1v>TiKAW5-;Nb#_E z@KEp|9{o>x^sn(xu)a5wNhaN7KMuQ6a3C|2H^1af-u!;^X7}MU)2r2=&pg$VMPJbk z-6*ZDlr^oyhtyir%H>M_*G`z+9c_Y?+x1 z-_o#w)os%np&Qt7yx_=mx4l+i*Md#2)mU%0fib7iX6a+0b=`GawN!j!zEz%NVo{-Tl3w*peK`T6?`zG7Ll0 zjLJ&1_EzT#E zEbikXg%A8W2RNA6HxH#Dw5xF>xA_ac38uy{mxWQ{m(Ri|u|pxFFN#XCgz@EZo5GzhN8W(l15p(WR2M0@@Q%m{;P(_}DUuYS5!Wx6LxU&2b zmSrxlemP`yX<5l3S9xT<;KI^jB28Je8$H4C-H_qbXiyq3hv1&C?1AJVt(?TUA=>k4 z-OA|fo#Gc_Tq1{14h+(9k+SGJs)+fNjx*%E7O=AwVx$ef`0V^K-JPDswz!wiIGGUd z$gkkyHS7s43*OT6A%m5?O|J9Z*#*=%@>~KT?|HGrfSP#)50IfOrhV^j2HpZz1eK0MQ^)4-(A~E{qhPogR=g>HF zgQxiIl^Z^$^mtU>@X{vN@1 eUFH+iJs|@{9hJ~RO%8rwo$=*D8CioPSH)k*GK0wg diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-4.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-4.a deleted file mode 100644 index aa2709da363865bfdf7b2849676616c5ab1c6a69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2762 zcmcgu!EVz)5S_#=g{TM)J#aKtx#3_(juRw=B2_}=fD{gJWaBnYZN-i&+fiGILr*>D z8@TWrJ@QqQnO$$PZtOH1l9jSMo_+T0zJ0Tk*B{*E%>USUrx%;mwj9ebJMFfvn|w;` zb-mSXs=z}_$VF?P(@x715g*7q_mVaM^%W0%3iy$BdOueuI%Y!(Km z^vnHGFgc48j}azH3C;L(3AF!ryy<^V-NAOGoZkd8Dw~ zgV+R9IjmP<6#ld-jKUqJ3C1E;iY@1t^R|mqD=?fhQifJLEPf<^q8QW&Q-^cxw~&hs zQo8>iO7FbyE-Br?Q+P>B$LmBrA?_;aHmLNL40k}Q!F9dL6+)+6rgVu{M+G;}9CcpW zgp>BeaUUHTP)~P&#`$^9t#x$n^NSMU*tlk3l=;)iSa`V73QW@`w~z~*U6BjKFLAnP z>Rlt&yp$arEOkyJGfC*>DV15v-UVMGdx%-(`A`O zx6xai_j85Qpo6()4Z%BKxdSOeS-V-(hWVXO=VoKDM2QOvT%m?g4g6V-n`aj7qlcK= za-1XArK53@W26sve0Tqbo@TR!PqkLpdD0)n7n*#Ame91&FMTIhvQock3EFa%0hLc) zQy|wrXO1G^TcV~c>V@=hHVRq8_f0AgD-tWje{1LwS#yXMHM$Li=M#SxT^)X-v3mFG L{1e)ECN};7I+EhP diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-5.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-5.a deleted file mode 100644 index c2b513d96668c4bc0a0b32579e214e816bff890a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3528 zcmdT{O>fgc5S@IKf>i{E@^Lh%-0EPL#7QNDDpf*UfL_W8Y2!3b<2FvBI8_S=)B{3X zkjno-Rge5C%FL`c-qbb?hXgTFcGt7d-rd>vb~cZmd!xPX3*)IdZBET`9oMc`Yo=*) zmtLCYGrJML&@=$x20-Bipxgpj{vm(HIe>94#I_K-kw1#Wjz9KCVtdf`#c|O0hJirm zNy8OxRrG=u{bGL@^!ElMUl1mY2rc+I^uxjEgXlTJ5jEin{7UG9==xrJj>EuiKlFz0 z0{{4J=Vj3IH$aFW9Ez0twT^mo6nYAo(a|1s_FCi0K*c>T-i~d%u4|fZ12=-LX|%s! zxX~H~fIHk;g38!G8FM?oFkz=zX?tTYAHqFbuyavqMbR}dI3-*_A6%;{>`iQxabCJ@ zfvs>gShY&K*F#{XgS!{M@aqy_ zztHgxl_U1+ain2OSH>oo9>ZcDMvGr552MAd%ovKww8in|xGiBkSGdWol(_P$!yEJtu|7)gi@HDVkrP<)T9>xrzUCv^< z!t1q$n>$QWl*w>)8K3W;j(Q*fZu3JoB|PkVeR|(iE*it&PfF486BM@_*qeUa&TQZL%IYN0j0#i!iwbIVZ8Oa&q-3>ibDfh5NMkj#u ztn;%hitr5^sf$m}eQ53)levWzV9%xir=C*4S6uvc3TVcxplXo{IMBxZlLE%sxRe4u yW#c9axR2}mTLl1QTyOC^#Ge0E1rKoUWQhuF>EN;m-?7eEwbVgY$Grcd7{3A3QcN@e diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-namedpipe-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-namedpipe-l1-1-0.a deleted file mode 100644 index 28ad4178eab8e3cb053a632d582190f49b1ef5b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10230 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-path-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-path-l1-1-0.a deleted file mode 100644 index 6672ce64fd30416df934e2cb3306b290dc3f1f67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20070 zcmeHPTW=dh6h5(&UebG;UMN&@t8!6QhuvK4M5-Wd)T$Ly6}43A1JcH^H+YF-Td^ro zA5cJCia??WAs+ZEJoKSYh~L03;5Pv0%7ZX zo9|7&TQZ$JZ&&P!Rh?TXl`IyeKT9QhcD};DSe*obX@H660EhYjNB-dc`0oJZPrc-R z>Q4aj=P{oA#lN_}^fv(c%a{!Ls~5O``#J#mYgf20V;*x{+FV~w7`&(Z3!_I?Fr>`jmB6QuAEqC416BN3BgwWmax)F&Asjv0GrG~h@ z-FMqPuhTY55R8=HY<8Zwcf6MSuxJkhC7-Yv1g4U8e_Hz!|QDKr#o^u9yAWymQ|_X2wbTy@?p5N zI@$Q<0Fav-131A#6ENL(w{cJ&>PoP(I^C%CYeTgFmSE+@^jfdCiyG{Zo<|8@ofEo; zFffkg(%lkRLT_HkN$==jy{gbFVPGmkPsEEi4$hfiKtFkg_ZW@+CFB{R)G0w6-e_($U&&oas=Dn9gro)@BnJ zRU8|r!`h2bQ5-AbGwdi2a->rLs`#E;#7V+;$N@Cw~;+B?k6*qPFL> zB3AV*%bKw{wRW`}i?bT54zi}$!A_lIp)jjxjJb~Sk9~C0s{~d|%Yh@kHu|wFA|5-+ zBFK@R`iv~vnwBppJ;QP=piV1VPqK>Yv4lELqV;gaz}<0t-Su^Z3~T)2-#6*6=eXJl zyR&R&Am-y7Ym^_y-(d`K{Bo?)_daShD@|Dz!}bL9_M=o#huaF)Qj~*~D9a#pSnUml zuzFIj^AhnA0#NRpA$)Yjb)A%4!H{qT_yU78zY(=nvl=Pc+ocb)BMk9YJj7S+`4Hlt zVTE@?{3q&cX8u6Rd9-Nju5W9fc z=D-vUDCm?ez%6I#3h*6XHA!A@Ia@m#0@TB&jS30Z^KIHHIHD05uFwRcCAJk3_}V=S++z*g&)Mq}Jhi_x6OR*>#qj)T2LZC%3VXktu+a%qQd@CU zaKgVkm1Q2#{u()DAKu~u_AJ2H`1b9?klSOa?W)E+SFYNN`5GE~ZjdDyWet5q;J~~H zm}x8UnvZpbez`@5F$MTpq2H{vF*6E8r8O&xd*W<`EkJ(4pjHdCyPnhnObRZji>{gG z!PyWG@Y1_<1^6Drz7|1=9_%~Mp@(OlZ*pGX_Xf#=KR(X>&-#y<5A{B2LvYMFUqpbf&{mYWQ~m_fs&?${+MUV z`JN~r$_Al-ls(Z26aASU{}b$qa*UfJzmTPc`nadY`Rr%tm_N$wXI!FQ|4neV$NdDe zALIAV=Gd>dM{4VU*yqIgs+g!SX#5{#Rb14VAdgD-&#D-ipw~Lc1tTskyAbn)xSHFA zS8f*yQEb3m_Q|SPXG36ar12!RyAoF1Q{()kY$y{(IVl@sOfdc-Nv2s4_oU3Iu`&my oI4w&M_oO&KEf|XbQRYQ_r!f3KcCu^<;+__SYaJv)ntP=G0T2V!L;wH) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processenvironment-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processenvironment-l1-1-0.a deleted file mode 100644 index 4ec4511ed4e2c37b157b2b4d70fb18dd4319aeb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19774 zcmeHP&2Jk;6o0XkeuVTpph8jQq9CfOHoJ-ABo$P((v}Kwh*Uuu~s{E+j^(bu5C9g zBPmxjUqGs={6gh3q9an<-A4eQ2n)#*jIu~UlsXcA zRh7NJ(`up4zSd~_dPZ-Nslj{sg@UUJR~_4qcEM||u2fC;>d=*5+1bW6>ub}O>q@*D z_2u=JeWzFI_*1rSt~L#$QmGUQOU4SHs&THaf4mQ;Ykq9h^k_rUI

    YzkCIiR5) zvo)P21Z)j~faQ7DS&!4Wx1-GIrY5rAG2PqWk-Y}ZLwTWG{p2yod0CyCETRDi*~ zAwCtIXfv4e>_~G%p2_DByNaXpTg=r#c1%ovV6(S%uYH$OnAQa(O`RMAE|_#VE=ay4 zQ<3C3h_^X{6vpi7Je>)v0B^G+Kjh#~ycnyKH)hBY;<|=m%o`kb18t7EB-xz(OiUl) zfYV|@g*cjx&SUvouIAIJ07gukgEm5%C#eQidLV3xZzE_t%UIc_R4)j=fX!J(o^3Us zk2vbbCFFTe%~$c-bsR6QxjY^Xd;I9}^K|#{p`eMY*|2AiMWl;VC)dw|c*XUb>oVTD zNQ~H{sPzF^hRoK0iv=bvsv+-DgdOoHOacJ}vA)vC^A_63msDNC`*(SQLymIN9uxD-0&;72^_ zdhQ3hlyXVPN-Sjq?jyd=q&p{OUJy)3#QJ4%u7Gol0A?j&;f>ZAx zPwSTCp^Vehx+B%w&(rFu`65>212vzIkdrv-!+KgrNKe8W7B|xEWj*a;L7>AIC6?si zTaJ!suYGJNijqM_IYR~wCRcpDfAxPLiO)Vk2vEi$(`^mn z#GZ6L_kp35OF~v6?tXTLkzL2gv<4%%gh;i;7#$2fzDDZo(G9#ie5l_pAyA!^!7+Gs%@maCf7$rV?K#h=8TM+U%DT(;3 z?~Ecf2jAgQiH^SC@F(M88F6>Ov%L!%a;^0k1snTGOTq!kJ+OD7?6q$8FBZ$ zGi2;KGWMyEu?O}p6v&Vk9bsf7w&IAp-)%-?x7k^V-sR&S$SzE;2;m)wY##Oia9t8`NA^eqr8jPgfZj6o*&wi*8 zl$affy)z#DHY)q&l2~7mUJUzf)CB1M+2Tg3*BPhTY$C5S@Q;f8l!Kq}THkZN;^8`a1EgH1EBU3yIuL*z?PonukNkJ@d^eSV7mfvOY|0?8S~><^z*AabatDb z8@u@sF|q-j(`Gk{3SclMoKG)YZ7D3$4{EqCy=;J~aBIp=xTSntTj5OXtYqNSxN4D@ zjbYS4Vm64FjWjVE1FK;-%%(RO;H2iBKj6vaUuOVsD|_y~G9-50r?ds*+&&1V`?H#d z(R^v-VKhJ11cp2`TM}OjA1>gKQOU&!{}D@!N^|xl$uC-i3Sp{1p)UDcSQHBA&#!=W z+fFIK!HC?Z&w$!xE5H`pz-ondgZsLZu!SO?r2vK3TMai+ls>Ndgj4t;MnA6bGfgm}azb&DiNzMOE6zD>O>tL+o5mP$x@Kf4j!vToIQ}MKJ~eeP z=gc{nBeZjpR>&&jX)c-M2#RM57wc;4!W1`?bJh_v$i__+N8ho5n4@f*qxQ9oo#zQg z+3<@`&+gN&lar}!+N;joQ6vv(J;}}M*pu9rJf?XGqqY1_OB(6S1G@i2o`FOM!c(*Y z&XRd%nnRRDeEp1i#CKBE<&NYI@pg$8sUCUq0??@-E%&geN)UPyzetMComA`eKN6r#%fW2I@w{I4C1;bmy2h&h|MuYX%R^ZxrTH}Cug D{=6>o diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processsnapshot-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processsnapshot-l1-1-0.a deleted file mode 100644 index da758877f6a60c35c9d9e165ed074897f2f071df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10376 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 I1mn^F14fhJO#lD@ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-1.a deleted file mode 100644 index 08ae7e9bd10b15fd3092a0506ffb24721f4028ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13900 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 Y|6y2ej>z)u3DKb4c?b)AZ*DB{AK#^86#xJL diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-3.a deleted file mode 100644 index d6f945d69a7ca276f68a968cf34f2491ba8b42b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12256 zcmeHNPjBNy6n{@ljabo3Y2^@i=vYa21r1W;~hq#xw8D`^}p-@%@Lk z*Xey+`LLQy=9bwqTgLX*PPJ+&bA1({GUEBx1pwvSzw`Xc z9{`kJ{flSpLfzor+dNm>0F>W3=J`GBOZoj@c;0vpu<_io_AKjj-}QX!zztl_+8aBr z^`t+tCw&VW&)O}k)wBlvW6ELsus`aIJ=Y?hp-KLe z;oF8TSUqelU^qB*gU{F$4&8y<30!Aya*Ay}SXO^Hu`%73Hsxa+C?TIfB5Rhqwd%n+Q|+YTHIsb?b@e5rC2{Vtvb=H!cle1A!AB&AZ>;UcL4qzHai@?8am|_QT&aWYo0d`jaUS_p5s0Z#@ z!0OpW6%LN-jvd(9ER3=X2hZxqzJCcDJSDz9z3@RZ;=PWQRh*ZccEO1FwxV|8yP3_m z9r0~o<&K6gqDN2MY-&TlhMP@|Hk;ZcvDwrHX3eZM>ds(*9qQfwzzsY8{Q}^Nm9Bjf zHH7W5K56)}G6!Olby>>dk@Q&3;*oTSTRM(K+DWER&rE-7NSeaKbVn9aUil#TlJFOe zL5X-uFvhaLeZE4L->E{-!<+1l3bHd1uiP;WxgWl=rgtst@OK6&eEC3Ts zyBrgwU(#uup*g{C8?4r#PYZ6MtVEuJ1#Fmn1B^a;}5NF(Ud)7Wmbq86r!1cI2%WC46ee1-rtI!Dkw ztWlz!fww$lzj;xDpRpp&zB8V*3&SGwMGPTEPJ}cNIxHPkobx3@LW>dzp$KzUgj8ZX zQDP@2>FONu(AX{;Zq<)kz5HyRccY8vcQM2lM^4CX?%Q#o5p1xF1Xf#s% zY0B8niHl{tLCeif)spuSi#|`hu`XGNa)Y_h9wTSG5!$~Zxe5=JT)gLKEfJ!zd~pc) zFC+46fOq`*e}Mk?2+5S3BP5$#JVLf|B4inHO!Xo2L>y}|LgWMXLZc&3#39UImRdnZ zf>b;znmJL?Ovm9D7@J-ehxerTwa7T!lg5=!LaCeFul0N>zj3bT6DO-T5i_&K;j4s- ztbelceTy7Ae(a!MY@>6}bSnHN;*=DER z(RGtI6>D8@o89z<{xSeu1E~D~XnaHSwYYBd0qDB*kuJtI8G9dlQOtT?;zevTbUpUL zA3GDDp>x``ncZfAzfD)_ANk{*F!C5-Mlqoof1X6)ju*#CI0=Jr_kaZ!vzW;ohMyaG zz=odVR?#24^^$kP2z%R#!u`ps!N4E;$pJ9tk0wmfxOLt;ibizz#GK1IQnk9fQ#Wab z+0v@k)G|%mwspN@wz4&KkFMad0&LU(ZgXo1nu#|}xUH^q==GbflQ?P!Z`pv}Npm}n zFMz=z;e7hwqqf8%*`R^rDwYi}C2n2%3AdugbtG;LjnxvIY?pVWp)raLq@h7HH0Ee% z1eReLX44GRy{01Hp>1tgA4EIBF_PA%+c(q3Fz( zG|oJJOW35Im^w_bu5t$;<_~{^`CSX?&r5$SB>u$;vTJ19COMLNOz-3A*wo99E(w@JsphE+yX;092d~R}U5xx)k z?u>9OoI5Z`hWq0^;o*#%i8M{J0!{Gf3QbUaDW-WT?mc46XH>$$lJ9gUodS$`EvhQ zC@Y6~_Q&U<1($$JSdxfD#zJ!T=&p;lVYR~XMA${n4XT0 zb6;-NRVNXI5F4p)!O-hy35E+c<72ADGuh~D?tx+~d8UC>4LoYpgC;$B7Lgtvi5U&? zITHiKh{Oo-B#9oOq5Ei2p}j$Py8KyGb@+mY;+S>r8LT=bQYPZ+urAd>t0st@oz*H) zM-3FmY8=o1t`5b_g*sG?mHj_u>M$2nM_c@b>N=g%E^|k^`~Fex08&Tk-{rrpjt8{e aV99gGbK&519lqjSHSj=Mn%JqGh?c2hU}EUR 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-quirks-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-quirks-l1-1-0.a deleted file mode 100644 index e3c333fef6b76b4db24e66eb18c7d11f329a5fae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8496 zcmeHMOK;mo5FSx>k{WKCq$v=ft-%&<5CoA*N-|{!L0~lL>*gK`^iW_;i?k(J4@XoI zBPS#114VPlIY80B(4UZFe^Ad&XZArZUlAQc41{O_?k;CPahJ>Qn;BA{-gd{G?wyq{ z%y_XkY{z!2cB^fg79Y}U({vi*+%$Jr0N^r!@i)NobASu~ievRX06N~kA&$%U5QfKx z^0)x?#T1mqu$Ux>M=APZ#v9rv3_rl4rw3s zhMm#aXM`C9gl7Ew{)685FkpR~+00@t!>bH@U|rw!W;hLePt$%Ed^L3U`o8z|XuLBX zb^IUz#(IMzmOGpta65r<8y5{lJwk*eSkf)m)lGwW|-mmA7ssNi6WF+q`Lw({OPk2AS zGGS-8?%|U2A$(*Tc3#x?@HtN@Cxq+K1=m{&dI392xGueHgQajA%1*e|d|X@M*0FOX z1ER!K(!1{i#@5>+j_Y&ZsvhN-$gS6}WNYhpm za}!M8Ln9BP?O!zyqwU=i$I!0Ci`-wnZ_7ATt>j|(o)I&umCxcAk!Lgq6~Y*BfOQF8 zYK55IJq6R-Tbn7SJNOhX($Zn+O*6g0mx0w4S`Du2s$>W~Jv`& zlkF-Rsz5dQfGXdgcX_V}&$~Q?ARG(l4D3(34~B=r!kHG^X}ZZ0w7_>)Xo2>Z_B1NG zuMulbse^+RJS0_Y+);2*TiJb0EMEmBrsVQC9_O^YGzW>ZtvdA>7G@xfB!lcg;3 zG&gbFlMJWE1gl^SL7%VrK$;<|oJ6r9^!fDMS~%HIn-?NnEQU}FJkG|2%A)(&M$D6J zoTJwDF?PO{7-hpde(~~iI(zmkvPHe~iF`rJk~sHhZo$WQuqXH|xJ%cNEY@N-OKHQpO!=p~ir}uudyO z-Fe=tQ#d~Bm%2zB8%4FTh#K@{MPLZuWX`0GL?qR%BLP@<3eTN$Fx)DQ%ebD zH1Qhq94+WAhDsDI@H1jq4EO{4@o16v^{T|Iskz`kJt9Hx(BqfF|7wB_^g{f0@jv!G zH4Fr3Ezkcqit<1G*0AvZ>u2)+MuPvO!+GZa2Xq5iBL9C~7>N_i-l7x5vLESsw9zJ;wWA P61>;_z4~`}_PNggH4t+l diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-quirks-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-quirks-l1-1-1.a deleted file mode 100644 index 99ea62b5f81e1e15cf5b60cfb8bec1b0ec2fd09b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3604 zcmeHKv2xQu5M5ag0Z$kxQcy6AU_ytDgl*Z(Fd5HeV4yPv^;x#$SXj0b%Nbl|QczK( zq~ljo@)3MUD#Grb&N{~y4uwqttMT1x?@4>wdwY9+{K^}5di#av*1R}X$8}u0R;^l= z%|m)?S>=knx2#qH0B!*oUjg!G0NX$0uW$)axD?_*h!1fvjzu$=1Y>b9@&oZH9C}Bg zK;yLT3b!JnuuZ?jJ_v`M(Krx<8N`GZe1Cirj{C8Q96^^S@GXM?L@)6CHM)WK)DM3%~r|xCSEp#M;g$)D7E8w1q@CJ7t#y&DhhiWl|0T% zmj>7hS53b%*K?h>3DS3OdxIEaf#r6N(OD5+G8oFZN&KZ+1o>V{E}Jn-`h z;LzxLePu}OdK}5EdCfP$^cd!{Fk1Y~EQ}VrJYy&-^OD4u zk~{K2LYN#JV!MItEfCXtf57zG%lZP-U0j9xG-`QIOrVzb0F&c$m$jSlyvJKB!cmwr(4F*7hJ9&arp-l~K5_%O zz|obtK=GxRrlRjPa?T6c!C=L6>M1_~^d!&0ceJd%sB9p$D6?W4#gXZ?s)p3cdJWm; z$b7+tr2@Y!vuLMzhU0$1aOy0uZ&*Wc&)4=q@~})!)7miG^J(2G=xnI@g%meeL#PH$ zm*ZxcMc>gt%-M3BtLF6(mA45-+3<@muAb7}`FUzfHRCs@2jU+2mVCT}n&h+OF1;gR zu~xguy}4LnK#wKY6G*tvQ6mrdl&mLdtxy(@#9YSkHxmQojN}aQjE5GPF^^Cqp`Acl z_W52mIrxT3*6C;UxoPd$$5n@O!~UNev}Tglvvb%+awD4|W#-hsm>aAA8LU4yegQwA BY!v_i diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-realtime-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-realtime-l1-1-0.a deleted file mode 100644 index ab0a13af42d2cdff06eedac8cd971fc25ab6a76f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6206 zcmeHL(N5e(6us+(mQvC*5|wBlS~ntZ*{uzW*+@}^idvOE5eZ&17;Lg`yt~LY3P@GO z6UrlRQJe^0?_r@ z5?w-U3b7meQ7pFo#E-=0(DTKMVBj7F0vk`dj&M364EE_t+xx-bU>Ny=F#VX&g6|{W z4U?eni_jLfu!Jk{Iei~Q&v(6dIuJZL_M_9?!G7SzzPB~Nl|;u!$qr5igb4aaVhVsw zJ3XAew|ROH`jfpTO^n};h6jEe7k0?mxW|?k`l)3Yjrx6mqEE0CGvx`__Xn^4%-c`e zL&dH#R@s*2IF4yL-SrWxyz>u`SODDyz+JA*LObzK60VnLCT#DuJvVX7A#B-z?aTIl z9A5*2Gr|S*z~zp@&S7N+=cT6&uoP}hwG(ck9Jj7;%UD?~z$v>bk@&5C+(P2Fi1;l< z{8nhU?3UH`!VubrLFlI){<{Kr);M&ZtA?~)_ahD4oEV#6x(|&qjOM>)8AkKn3}eVE z<0Iu51-QHVdi~v zeTAoi*&@vb=e3k_gx+%z*A-qbHQY!$x?R-?r|Od>h8Ad2fZ<)B$^N;+ZB>}w<3J#v z$*h6Hq<1`cE?byuW1gl()}RLVu2cj0mwcKfeYcTw&gp}}is@96LQ(6S%gg`_zIBAa zTI9v*iY-hXme_TXWWBShsp~^_$pyY#I;<3_i}ss`Xz!&gr@{oQVkE(xU)u?3grano zMTpVPPw%dSgGJi7km1H62}QzRig6=#(Kiwd63~@}Atx>n$H^K=&s{7DzR~o}&@)IWn?jQA4$`H^!91 z>n0Y+8Oa#}kOQQ0zQP(M+7V>S2HmE~fZwskXQ4Md>(y`+l@W+FvRX|eD|wB)M3-Er zkv)xDb!y~iZQN-ZNs4hfjr>}S8)*bTR9;&nP05nUqx+54#^&ZC?nZckB}B20YKuX~DWNJW(XakdvTMykJWPLYs1GYAC zT=w1@+dCdZ<6h5VR)_iC23@gzyQYS#@utdBQ5J9M2FW1LB_yA!=eXZnG=>4oS7^F}+Y9LEu5U&wu)eN!DY^$Iu` z=BPcHE^pDgnucLnmabbpTyS0nP3O}ETv~u$4d6QO%|SbI_afdeu5{=R+KwIB#Ss2v z75Yc*jW8^M!2#hs`ru+mVv%srK)=+o3WmfjOFQA_i*a3vTg1*n4o*IoEmE;H3R_6U z7E!S!so3((7XI3f??Zdb^WFG`KgR%XYFqZUG{kl_jx?-xVr+t`F{~G1l=x{y7$tTM zj-jZeOB`Pww>f;I)e12@X2cAwMp4Ta8iNX9>fm8riTazw_2C(~-ZPRtOmf}Ab+|#! zL*svQeTln))dG2ge%+2aLhGEzb%|G71vk}>`ds!2C;KPcc{FH1HSGc#kIz-!n}z8^ zzBMBp3ug^%MZ?|kwy9~-mF4}J%;d4J`IW;;MGiDOp`IViJ zM#w7%Nrss2{Iqr*9PFJkE+n{ACZSAtkdK?Hi{`P4m@oM_OZv5lo#!z|+Hl54$M@;( z@G!9@z4{F258@&DAh>xMdxG17$Mmh3(Ml#KH?(ZN0X3#PyFjc19z7ZX-xAp+$sE$c zBa%`NpF1%@cqBZ;lOtM$dLCep3hfHQ@{-?+st!M~Q+~3V^#oSIagpaFt{QVj)jUzp zUqUrsF+gRiabhM>Q>ALg%DAVgW-lL?QO(DE+*CDpaDHc1O-*nnbugBv_4BNjyFwO< zT2^8UHFfxbb@so4oVlWs+{jd_4r4}jm`^h~WK1j8FlRE rwkG@aO#Iky|tYEJ+?Qgn`#}_=as(8O8sitI)z<5SsfONSstcs3;QZ7^E^^-Q-HF+HrB5Hf5?97!X4T z#LNu;L>D&xCdzwvzW9%+GcK2EFu`!;knq^zIS+CX& z!xT+=ZWz_gO59<$2msdr@+QFQU97&9&yBAD^xVScTfkV8u~&T__F0QZJY>zF!`ZRh za}HgG#$m%|c9nVV9zC($cYEz1%6?z@6Un3DdAiiaHFcQNMKmOb?IpfOogi{JK@%5 z zk2GyzVs3)zKFrU;X#OkA!f3u*5g78yc#8ci{I-fsh1^Vx@EI|qkRz{6Cz^v2Ve;T& zzLeXfNL=qO!1aci+=+_oHlD+6T0E@$X|7kqGB8`G)!@4B#2le>PUE`5>!pSpX-98Y zb;7CoWVwch0#Ht|p&ccpYU+$ z^CL}Nbl*I}b}wc*6$Y3YBMIL8+D%9^q@~j&LX2*HI=d=PcBIV<32rQsP$WD}$BooQ z``ALvhjg5+)^#5%+c8GjaL4Bt59#gfEU_iE{JifOgc1*F4U(JJu_n1Kd5o{I3a28_ zbi4uGry{yQtOMaanxUX9N#sx#;gK=*h`kdNO^RqF^kQYy%jT0Qy?jB}%+t$Ill`D)C(mQMr&Ddn;>oK*l`^cEzY!f64_9s zN>ZuR7J*x&N#Be*=*OZT3*<-SLw-PiPCo=e(R5~aZ+G_YC@!zm76VH7<=?n z#vXr2H7vMLTt4Bp% zeU35Am(Pg&ohKN>d=+SzuT@2U{W4>i-@GdFTPuuVetS;jcVLhCw#+|1&lu*P!cAhn zGb8fGImR$=PK(?;#Te$+agjSE#xQp;h`f7|G0c0HME(`*F@GTQZ=gQR9|j_SJkJ>B zKQ4-VANcNH3d8jN7`B>sF-!V(v%S&j zMj`TS_mDf}=iO+l+3R=r!&W7%gh5yfp`7iAg^j3IKh%oYjcDsu`}>_*{mp3qHVeb% z_D*Qh=-FBZ#~PM#GwT1S*4mA(?U6z#(cmG)Xr8znxRIOD#%{OS-`BMP8>M4uwf7?+ znH6dp<)GEY9K5z0QLhir!)!VwLMi%`6hn!?^Y(7k-A}jQBq#VtX_SxO7bm>Y-t3rn zW|HIbBww;TMFzef?nG_G>Uyiz>qWgAolakOZPrEkn`HkYtE5p5QnljX?ZC73-EKE( z_py4jPI>`Kd#lrLZtkx)YV9q2AiOvA4>GU9uMoLExb?=(ez)1)BG60Flbqy^4NiX7 zX=zXtSq|J^q6AKnSJ!rS;52bFG11^j6e4)|J$z5f6DdWLpp5v0l%PrCI^08Aj(~~M zf%Chq-ChG|x~~-lu3l^JZu3V$ZiLV%2e}o+!P|moP=O(-geJ@29Ema{4LDwF_G))q z(e-Xrk2ag_sJ>p?Xn?lScRi2;e;u_zMW1C zsCbh7A_|gJlPgt}?w$2+RO_d-p+SYR$T=y?pdwdiXFt(8O~UJ~P7kZnJ+CPBpKrAL za~);646<1&K~Sw$%jN3IvM^b|W~qM!W(uU0BVeuYqhoBYAMN$|@!(CFUB5F|uk~w# zS@@MJ?E2?(cYD1dZ0sKLHL<`M81F>_LxLTJ`=aRz3u3;dn2vlW2lFk*d|&sU6X9oekC7ZW6%_9Iq1 zm8cupXdi;Hl+8o>Z)y+^={qn8p&aZLGs*tt{dNp49l*o;43RN)1bZ!=untVfQ({fn zIp>*|vAXuCiA~tL!Sq>^hx*q0Tat|IZ zy24q~g*xdHTz^-h9Cu|FSdJv1`H3dP8nV(oJwhnWkI!xqD!WVSWtz_zNpK`=W%DWN z!ggE%p7*o)z|$59wan|1C#FG*KmY1wJbUm!)AZ5Bgl~wL!}n^w`2^|M8K8NzC(}!W!ULVkFU{L`>nWHzb9(6Q8=cBXNg}VeLXvPQwu<)Bu8V zo}Y_NiTwc%z_uCU2|JK3KCW=&S3L6Z=?Ks&TgwUZUoo(-#t}0q$S0nGk_Mn1{zQ~U zeqf7y>OBaZ{~^F-n9l!+fD}iTOP#+->ODy3?_~3(kpIhUKBejG+=jB{eNEKALjSe+;Nfde+C5@lGgta*i)&*K7nJQ z|7nX=6f6;Sa%lxEEL%!}_k8*DOpF#v3i5cqFLO-9k;2=B9sw*p-yzXdr^v5*o@7VHLvPHi4d^03O>HIvN?@Ne$y{zLlmS1Gc$I|nq zEmmfaL3HW)E_(cD;5w!G55x0)(Zv6xc)l9yMEx5?m-t_>#D66n?ed=Q|K|C=fcU2i z@n8ffvi^S>6$vEm`NFbQl}hX{aGYwf8Uf6XaBBVAMtr>t@TZyZ5|j;;XZEL@L6reKT*blIc{dyS~y9|6o$$(maJuxz%T5OI3n(WdRvW)_J85p|^JfD<-2^t5~ zYZI9=;C39Cw~YiZr2TnH{- zSxv19`aLMXVYbj6VneuG75Xz$??JXuKbtRw{13AEl+Hf`@-ynHpmQnfOP=UuexgGX4|FKmLlL%Xy!QWkk5T znvM>5TVLz{JQ3m3i2wNGlLcQj{Up~8)YhMo6d~0g!_H`}()_vuoZ{Xx9_(>19^)Xr zp9l9(QY3)ZFS4~iBJPRCk8$tT-mh3kgZ&IAB7YF>^UQEQA#o2*-Xwh^BJt&9s`zP7 zIMx1^abQ2!bFlW$GuQJtN`d-PcCod;d2mVCLd~cof;s9Rc~WwT8}*X)blXWjxm-fBeXQ)Ik2k=zNaygwBs?E|G5=(_LIj zt@wWcM(?ooI}KqN^SKe1EB?Er-h)>B|2ms5wc`JyY(BN(AOF*D)b%?j5cvcDQK{J8 zZdoV_vYzLvq~NZ^{sG&ATCYZgf&Jrh4k)mW{H7yce&vIXeC3J!KEiQA|68osl7X|q znDk1wi-N$nC3YY7C>gZHS{e+h!*L?8jQuVLUIOqzis2%?=0A@F98ch34azUFe=xcP z5Ic#;gUh@^4BDnxVMZH`*qL<<37(iXdV$-Z*_VRn8Hwek#TRi4qCNV!#-}m3!nGD D6=n=~ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-registry-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-registry-l1-1-1.a deleted file mode 100644 index dcebe9c6ba1102a66cde90a3e4c573c8b391daa8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5186 zcmeHKO>fgc5S_#+lu#%|6>v0CK?spxm(&RoLXFA+iAx0nE=U`<*)*n3Q({-N98eDk zaY3rYAL@|fZ z3r$@&M3-9Xdc$Z1H*~51fLG}!K;=8YfW)#+Dd+>G6@rmbuSI zY-!l#?7g#LZ#oQ}+bxS(4dyy4bOru_v#~lHaYmSdM`$MgkNBG7`J)}?nv8xn!{-b* zus*lDCpr*3=W8#x|BUavvfVBI8W?j1n{3>h{NK(*wdq+;xQo%qc-(kL3adOciETr7 z=iSh+52K~cTT|08EX&e$tA&d#tW)iNK8MQ+&?*5;i`E3xeZK9Bc7CD5a;M(4eLEi_ zdKO`MzrNymhrnQ$a1K3it`TA3y*sBOFbz26}#fYhzt{1lJOgrk5;04I;Wy4HRFBX>96lBj=pbhX996r~tf!0%F)oowC=+gG<05s@dn_X6LpBaiK+>*a^)$eQK78Z- zgIn}(Z!h-6EiHBCki4TYB^NJXOLAHAmhKH0tYmH)R!ip>P-7^v2?V?s(V`LXE}2c@ zOc8oS1QKcy?@B8#XC!Bcr$qEfwUF}2Xcv$kJSaw1hOgL8o}cngSp}#}e=2T!a3^N0#C(>dS^(&n%n(2>*<3@b7R zyj8~iQx5R6aVZ6S%*I7I;2JXbxH+Jd^{sfyRd5~WPZs9^LpnrRhHqG>zIv5Zko@Y! njv}>SoN0lUNm4yO8=Qm|GFZ{3xt!*V@K;(;l0s4o#pH$GOvzbp diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-registry-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-registry-l1-1-2.a deleted file mode 100644 index a3b907ff46b55acd30065ba5d9730a0a2207504b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3602 zcmeHK!EVz)5S_#+g{TM)Js`xvNacououp2L5Ng#67o>s&9Jg-0ZLB(JWji9hRUCTa z&;wWgr60gI@Etu-W@f#~rm;ym5DqX>cE_{Np7qR|9p~|jAld7^tUt4-#as7$&v!fP zE!%c^$sBFF)$;QjcIp6d3!w4^pmqwd{9XO(mjLxkA-05gm&zm++cJ}h*g6WO_!td> z<4B-!)b)km7ICyozuexB275<|6ol!ggcf|A$b%@&k`obo!V^sq2z*Xog6PR0{G*QG ztvq-$l*!5KVVp(Bv3wuILz#X6A)@}VC|fPIZ~pSGO$ZN1qpWc>PDxoVJlFMoOoQL; zjB^p5VJc9%6@YuJEkPrbqm1?P!G`UfMi^v4IfPd>VEdx6o2GMMa7ws{9=O)l*xRVo za9^fufU9xq+D^EYa$HB_)=*h3!0B~8BaNJX>L86AqLHI%ln6km$zM9kAh?Rlm?7_6C2GgTj6Lh?`~r;`pbKKUtkZFDv;{K5n` z)k&xmj*4;P>Z149K+LCNoUixw5S3RsM%(a>FRq@@)%p3vHqk1j-wuj@HDp8+$L+*KgwKSzx`;9aV#Oge_Pa3rRxhToYOpmwBoh+lbVQC0H@ zH4-`vl;t^JtDy>CQ7QiZnfKMSfa>GE!9WBtBiU7 J3>HxtKLNKsaNz&| diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-rtlsupport-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-rtlsupport-l1-1-0.a deleted file mode 100644 index f67d7b4d6ee687fc7cff8c8ac8a11c86dfecbabc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12742 zcmeHNU2oe|7=D|y-4;5SU{nJJgsMZ6Sc2U)Nh?*TP&y3+QZ+in1;TX`mxMYWavW9= zLKPrD6Bk1uam59H0Pc3d)h@Z@7ct)V9Q*j#K2DrU^As&dIv;+|W1kN{&-t=n*)*Mc z^Nqsm#jw*WdR4D#wMwN})L51r7KHc4*K&;Q zZo@Kew>oC8WuWnRy=qj~47+te-m|w`oqE@?48pYggf`f<|EASB66h7r`%SLvD9unNF%EWuNyX~Io zSnpfyu3XQsnQ&&$9XQqpF4pKR^m~q3N5=T?PMsax7kd}p4Zam|D_(0p9Qw-at58CUahS21x>f%EhI7>9^byI(>% zmS~75Ibw(?*?LJYY2}7(Be;Bs3h-|F?*YK4Gl%ApZ}9ALUsBQeNcjYl`!Sb6@y#(9zpf$e znF|b|n(-^F8W>!p+F-pdc`Ttftzx{7mtzSh6eQ>SX~OyGXuN=iJWxnu zL7w%`d6r7U^(LD(5sr@W1`gfkphLt!$JiF?X=-E!dSJcF^+5egeHu7<%;9y8DTIN2 zu2W1J1!%F52RZl`6PYX+GLjf6tgmUBzQScTYEG%?@|<#pb<217f@y)MQW%Xo*D(KM zkLeT@K}$KO;2a>0hg5>fodk1*m;>njtzlt@Qn?V|LUYPGVtQ(vP#Cpi3o&1+aaF%w z#Jn3G#KbNHMIf^yYbucntxlbgr0ZF-49>0&cm+u6dAypD}?epH%DN zOti-48Kwd~oeHWO8`3<(Rd9kGFiHg5Eo-j^1cu-VWLNU(mc6f)PIQ^SeS!vF&3N;w$PmM*{rF=IInG_ z<9kiVqcP@aKQUeHc&h}#_tUI)&JhbDXHv9EnAEX;(PMeQ`?6=DC*p-@0UfE_Vf%n%H7+(Ee51yRbrF8@ z9D5%yPdZS2D8pw>vL0TbfdyT#K3eAn7Utl0j1yWeM4{@Ij8{sPl**{YPlkR)wv1AS zeDac|G7?U5V&|iDxseVL?|K%Ba_|?1 zqk2F{WoSQTteLfxnwicf?0rYHB{XxI*<_X&qx$)QF=}#m+bL%gRm+7$l$qJCvsP0o zWBRpis4`A-{*)(Wgn#sz==D{~uWjKL3oS&<*{UGzH|Nz_>=bso+gKL!1OA9P_L?fk zRG|F3ZKBoiA{#H{wG{qxDqIf!z%=P!+44XY>g;UQk@8#g^cw|#y-BO5)65Yw5=Z=h zH79uwzUV0+*n=y-QFyBGTO5^xuxG1-l;5UnEAca_ACVNJcHaA(IBaK|<<9#vsoY^_ zQmz^oJCpiajT5s3abVn?HybNs{~=HIZu?S93*xs-%*nxT7~%{OYqd~AJSP)9{1127 BSReoZ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-rtlsupport-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-rtlsupport-l1-2-0.a deleted file mode 100644 index 011f72aa20f294ca610b84372b0cd09abf0d05cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4518 zcmdT|%Wl&^6uo(rM<|a)7iELYQ!GfZL*fKfp+XUK!JLMz>+WEGbs07dz?vQC+PyCj^vr~onzmbJLk-Ga&yV@H`-5254F)^)D6=x z^+vs_X*v(7wWigKX7oU-1OOKRa=!tJzp(oxye_>4pzF#WT|%q~@owPw1F_}=jxSbv zwj*}juGM!18h4wfFl)kd*XfGv9k;vD^BqB$&VbN@@BP3VZ1?*;KMr%BG9d2+N;ifcLpgYfBm;yBbS!T{z*NU}_xmX&5Dj zg*1#3zanEOGNUDmF~@EWhYGn=49AVwQOMmJeMxjjKBy2T4_jDgbPkk=@$FMEzNsVa zxwJ}>@h0xXHJUyY|2N~SJPoWCXf`;n#fT-e(@Bh%c(qkl-abL(x}!Ig`MZHe8vr?&xa(1(W&zQ$6FE8 zsnI~6F{fY-P|id0kW}`ExgyR1w0|{p_CfIrL)=JCX(A>_#>EPwbu1%hFBxabc`agR zHNr?6uK4KqF5Mj-4sF9;KKWaO`A2?3PF}=b$mx*3^nAo*C6ANq!g!_uHIAHDAmTqq zj6C2|VO|;L3~AvgjHrg!OS>P=D4ZdFJ)$L4&2{Wiq0=C=#Gz!%H>?vsvnG6jWuiOI zIjjg{Mn%*cV~Y5SftaQUFJcKbSt{bA;&+lF_LFh(HcCZ&Nyf#BxP|LGts-*7jY%KU z%pv~4awgSr8|P1DsE*apz;zyeU^^uOu}&t1DPzUxGb*Mwu9!n)(KN-h6{cmW7+>)_ zNim<2abt=(NXEsAxq-WXTE#G5QhzyyXYg6gB^s+jRm=0pLQNjNV~uJ_U41N-bVL?^ HIF$YZ-*p)& diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-shutdown-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-shutdown-l1-1-0.a deleted file mode 100644 index 37d79bb475063642fefc8060c045e71839a0fac5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3594 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-string-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-string-l2-1-0.a deleted file mode 100644 index 7d0c64d83f180366f7b894cfd0c735cf8fc346f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9872 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 N<|ayLxd+UO{{i6C0IL81 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-synch-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-synch-l1-2-0.a deleted file mode 100644 index 7c0b81e43c9cca2f1313118c7deea7c3cae424e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16164 zcmeHOTWj1#6h78EP2yZz+%$xyY^W1x$vRqlt+h)CiJd?Tg_xQ)B@|@YlD$gSTC=-p zolr^$#e|XvQ$im~=|kybpZi$yRQlW>&>zqr(e#`dX*AMETCIy!1UoP@+LW1EI%vY;A%aX%twO(J~3DwmJ0GI+8{~O@&p8&_+<^JS6 z0QpxJxu3+C{2O<RbiWTr$m%drr4!E<1gvYc6$c$Na+etZmoC#GQG=G#X~xT_f+OZ@J!jr|Xy` zv(+PMll|^J^wwKuyKc^yx@npCku3+zmSfomR|?#*?mJ5z&vyH6$NR+Uy4G47OEulC zZ8JHKQWqcIu#exnW<)-o6Oq2rZcCpQqLfT>7-v-_G5e0?_HTQBZN$grw3W8w zY%AYg`RI->ot~eZv$T@=B4)GqWFc5_H$AI;d+naH-oN45ROui;A?E`RN5g8nkDL{P zM7QI)k1QIWMXTF&ov#1tK(SCjX}8G-Dr9cTSP-=W-?u$&V} zFLk!I+en+3s7Mav7M)GkORYvc_m+o5%G~$R5Fmajci@u7e)P%?0TscRXFL8OWh3hsgxFAU}vvN!GS{HB^!{Qj#^M zBx~(@ZKkGA+o(9uO>elUgSh+WCBWv`25J*O!H?vAq+%c2{wjMR7I zOoniqs?{dNemDr2cKtj`D;m9Y!akNCf+400r+!3Ks0ZXhw=X#=QFGt7)(-auwG|EFX=xjA;~=s?SjzvG-?ej?4DFEgmMx4LH4hoEGKwH?YNFIUnR>KLA}o6!~4EW zkcKUO@$w@5+S?1$!l%Qi^{mIJ z1bmCzkbQ^;R%XNoA3x@H+MZxsU~yc>)VHc!qI=1=Qlu90--bk`H*FN?3x~ocNzr=S9yD6NB(?OSmZ# z|DIHC7XEjVV;J(IM|RmwBD=nh*Ps z3zq^SV64F|hSAmr20`wD!cbq&hx+EMyvxeh1tV)PB~ZT~YjBL8b0`M~bh1)r2E3&( z;97(MKjN?Clc79kN`)~)&&!O_Jc)*vn+0*6@t>G6k%A9A8Z0$4^30QxnKAgxv?yNa z3;B3q80tKU=H7$mNz2mwqR4sDU8&rxd6K-ok>r$lQp$Qn@PgL7!_JeA`X}S%unznb zpLBz~j~eW(hVvtSg2m-D*v1DwBl2$n6tphZ=kwvZIocs*LzSlQ&tUGbxIU72zoXo` zKF<#6aJO0t)9}rlOqi2Tr1_fQc@7OPuQZF)@F^=-<>ZW3^W*F*@kSK~Fxlf-}i}DmvGic4QDj};#h7^4lV?T4NLkuIa>!ygDa;zZ;>cNVE2AOJ& z_tIG?Geh@NDAHgLLt;j()gd9`8Ab6R@7eQcjlsr~(^}nA+7A!L1tR2|)aB+uo;60m z1G&{vB1CeEVnW_i=+P~VOeRcX?yz&FieQ5Hqd=*xL7rO}0SiQnqZ9~}i^6}-)8^)^ z|MxBY|CYTwI(LiT$D>=B!{T2P_>cedrQFtl&LGK!>xK7t0t+?x9^-%q@s>yFpyU?C zioB=Mqm?up)3o`~epb?BkoB*wax@-z$iG0_s*?Z! diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-synch-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-synch-l1-2-1.a deleted file mode 100644 index 342c2f8d7a5fbe920d8c48644cb08ee376cc65f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4374 zcmdT{&2Q5%6o35~gE2l10}Z%j(zvZ9DP3A5geFZwTo980?SkZ{jZ3qoA8Il&IG_ok ziNg*%aNxwB!FebCB#w;t?6`5)WbKezgr(Te&%f5r^Y7>9tUPx5jnTL6H|0GS^E`R@SpzvOcj{q$VFO%G$6jJ*zcKVVxt@EMvM6tD=~{X4F9Cffwj2f zPHz_2cD(RuxBq<4551nxU(|PaBMg8suiaxQgPVQsgq#MQy3b#EZQkFGevvpNoiBOY z>9z31hq0R5<-1|A8}C`#Zds;j+qPlY)pE4GwFUR^5^fkkH3M)%SaVPe`F<$u^vZy( zTG4evCmkY2HelDFy? zszrho+Cc#cRv>~E1i=cvRVWp#qU-yFD>gl!M?d&|3h*}5bas^^^6PP=X>(`hCYT<> zY#K(3UoH)!#V#)}6qVr;#aF~_4u^7?RE&rjF(a2*8UB-~M{`giOct70PhZo>^VUUp zUU`IM7bWJojeBsD77qD;&GV9223AY78eG?M#1GozB%Uk0-fFmkZuD_w6HeJ@+eLKb zfNDAcaw0z0gf$7vTjIP$I2OSeXoju5&aU(bo()BsUUCLX5Yd%Np!iZu3!-QAIHAf%BI~Y5JJqOxg{H~pe5NXnTy>>cO&^`G`oNvOOZ<;V!ntP z&5%=`I8P{#h{TXy#5)rM56( zG+|AwiTDQW9!gDo!7z-|L`~z;EH$yC&3m3E!erctCO#(P2AWvLeZHtBGLU#J{;&0L zCt`oBhe0TDBnw}$PJC;rhUB3sf9ohMn3HP39L*1(kssr<@J8d%EVagfy=2^A q166+bkc=B>Vd*clpje@O_Wjp7xHY1Kwa7zF7LKr<^!s<(x!@0-72FE| diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-1-0.a deleted file mode 100644 index 7e23224cd11d58fd95bf486f9640692f5a1219b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20164 zcmeHP&2QX96o1)G`jLLO0m}E%rWHbL@Fp8?QdN*`C@r*95iJBEBxjR#nr-(ZT01mF z2t^gDs;Y+yRh&5W$N_Qgsb~HO&Is`bAP$uGX6*6U9`AY=#g*w=ni=oRv&S>@`@J`B z#@;thSK2FU?~cBc^B;xjf?m+IQgJ4i(^!!l=W>OqQjuS=GztI{03#0pcHINm^E(gw ze*>U!=uaNT{sy3MbQcdV<7E_H{fmd(9{?1NUP!xmreU(Yo$`ZQlsjOT4UYtWu2?HmMis-%|@$z^RivBH>|Upj-0aSoM|uCn$^|~ z>-}2WT(R-8MOR)`q>wL1%a;M=Kf^AswVG!)r5j6mvV?RiAtB$xtH~**`(LT8T%T`k zG;O`;mCKp3j6#C$arvfYn~e@V5hW0Lt<)6twX9vdhz7H4eNd~L(y)p<2TJ|<)oUA; z-7uTB*D&dxUa9XYm8{nbA0n`W5-d;LLj@IHt5gz}4t0r;W_@w7b+v}bUTC*gOv`Gu zsm^wzVl(V`57b!n_w2L5}&d@W*_svA%&yTD`pkH7CH#5WoR;HUbm2xoNZW=qLvZOB2WGJbIHdXXs+C}n@@6kqvcAj+&G?$DdgO8H$|nL zZ&-O$+Idpid5bIUe7%q_u!dVFZUx=n+?=WVsam5 zqGY80%SOpaeK*Wxs8{@l)4#0WMzAP56e+{{jF6EXI_|%T^NZ@BgJd$WhH(;hk|BL9 zKGJ72J}1fLJf!P53J2-YVfbkyeUd!}Mq~6e_*_RFgwQCfknYOMsU#6r75jGKooe*EMF{knhO%k$2j^Uu>6;;253!rgerQOprb*E!ggEH+h{ z4cirv`;YE|GTdgco}wB=j%OiU8P<9qPgpx?)cF(fCj_9{IZqDZ86Cubo-@vV^C$zi z@x!}(sQ*?iCs2PB z+t(}V$3W>~rW*Y(a+pi#7hQ=Z8TbKXWve+0)J5CAN+8%!m>sYIM~H)6cpPE~T^q0+ zY&b%GWOzm4|IY?hs~t8dixOnR%zzC~i4BKUY$)>?MOtS@v1~&a^3n=WP(5H#f@~);iGlL4Cg;xznp>d_clIsYO~x zN$aeK?=H#uK1WS*jttzwGf&@pJ8tfdZIYV47z^x1=wHj4~3-zU9c>VuA zLZF+@Uz2oYk~+UF)!Rwuf1{QQ>HOPjIf44ukQ2S?{Jn&F{vJ?pVPlafmS+9`I@1yI ztY^;2p(FzjG49ZMVGE+VCrP^yZ(n%85I(@1C}F$M4@34uW2DS+lwQB!KQTmdj@1lF z)>DqThddRwA@>k2-E2rz(!ELAkfu~`CmXV<29>LP&b_}$byU7Dyu(9Rz2wRSRc(FTx4)4wGXN?zL z%T>IPN)zNo%zfp-PFhD^^y6vo^7A6qK1R%)G(JHhE8w}>a$bVCAM79#paXh7G*8-& zowS`E?%B6FY4)vq!hPh|NeOz;TFf2fN%^YB)cW8FNNkq zchz!&3-otw1;dXE;>1sWZ-9vyY_%E7@a#R$(dBVJ?heQ z_?@HyW5xwzj^XI{%9v~yyl`BlcR%7dH2@E9R&}0dus8!hVcMB7o_pPaFG=ogYw`BB z2XA!nf#zl=y#CtHI#Y&Y#r@}%RNIo6Z*+A04~!&jM9lr_LU>j+@U}f0(T|5QM5y=w zO-btCX0TbAWM(O{4n4rK!nd2qBGo-$l NAi3IpCM4l${|kSXCVl__ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-0.a deleted file mode 100644 index a6f94e3544f6364f025a571f45a849b5c12599b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9414 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 I$jnvp0r6Tv$^ZZW diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-2.a deleted file mode 100644 index ddfaba8b2c8a5ad111fcf7ee7bdcd3ee131f913b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2758 zcmcgu!EVz)5S_#=g{TM)J#a!slp8iqlsGvc6cGtHMgnd~8#mctt4>_mu4p6#FE~d zW~(RXra5W=z#c&D8x9`;4t~*>u>oUW6CNjQ$WtD(K{Vm)M=q~_a@u410Q)hjH5A6k|_SXNK!r< zEXE=K5|DKk%+A<4#N>1yq;|A&ZIw@(j^nznX}Ue^L>o0GR}avw0KFQ(6Cv$`o$`xR z$km+*!;wAlQm+~!R{Ai!woj5|0}L(+7tn^sZH0Y^!XBPWZ+&nSuA}sXJFLca748^? zqY|82S0mEGnk5#}!XjE&87-`^X|=4DJqbeqdm4m1`@!EEfbX@bcd8VbUiTxJHE!7^ znC`=R6-M))QH9Zbhe3k2$ScK``B(UDAD7l(gwKc>M(t&BlWayds1c?PKK8qaL}I%C zA58B#dG=6DckvaT($O)Q=r1HxCEXU8-csg{=rnk)XBk82mCKl}@cO9XR*|ExE17Ug zzC9kI!T{uXt%ER?m&ygID1KD}HUjm4T>$Z>@#LRIi*Ic^nObdNq_uF7$) zI@fa)K4loC!y8}UyrS81nd@|EU7eQR$;k5H1VmJFtSGA?TsoQ`1JtuvtelXgLj ztRcd4WMQSrD~7@dZxrH2+?!Y+Pb5!>|JG0=`{qpd{+!ubuRa}rtaYdCOxDO6 z`fTBers=#%&NZ!2%=tekjRU|0fbs}n^eVtuO*|JJ0D3OB#dB>3fS$=cdKg<|?5%6H zT()d^R*Nk*$`<=*J7&{nXlxe^W)xV>UZcmi*KKFL(Xtp}>Mo%fe|NWC+o?2IEz5E& z&rF8h)Gc6D%PbFa99Xfu#YVlkg$sC%Bd!8tcD>1Z%n`%$_Ch?88Y0*P1I~z;rLciaHMl`>2JZqz6dRFY<;MCnMO#GBz9zV z-7pMIGm4n;R2naTJ%TdUB@0aw$_bJu?}?TjpVTKeOh#N5Ej0 za5i-~RS2+SSQ){2$!Q++05=oZ2{)09n+*O zTsogA*HA;5ie0n(AN)N4*hp2(&A{N>Wk1reYGiDJ$v#w)Fp~e&B#h*{5so3RbSK}x z+;5}Uq^1%v+-JlLHT9so6aS6IphOr2s+bSs%pj&$kHPe!F3v?w>oDEGUBH77)5!m3 zdX7&6vq_o_&g+)X5ZdK9rU!VrlyISP_F+hMyVS=9lD)-MNZtI8VReqj} zJ~?Ng;#IetO=00o>+&=$atK=B-W6IP|B_ETNj_`DoO{&4!2!>yBz*!@crG#p{$OSB zk!)Dna&=4vA+V#O$ZS^D)_LxbFSxaI;fT`~oi)?g{?6w(6&mP$MiD&qrBjebh)cVj z=n$Uzv~vXMcA zDEX|QVweheFO7Sc0=#%!j{-i$<3a`8!1Wzh0cw;Fbm_)K>^ZF}xJe7Z)KP&h3_Mrh zCzcTv9Qq$*h)T%ytAw*yK$|H95&lC7m2i?+phP)=IylWLI6*8({C7P>1!VhFK)zQ2 z-;oYS#e%Y+3}?NP54jDD>Qr&QviKs^Tv0^l??exe@;%@Kmefp09z9 UD&~9(6$<>u{G?w<2Olr~0Tw*@oMkl=#qVAI4cQiUQ_h+e32;k6v*E)`TVRr!l?f}$&05rY<%rA-Gq64t#Ft)|m$J9?!*7GwzVOz21vroam zJq{Q;hZ_!a+AIwA=qLSAFxZb1pAjZX3C;L(dYWc_l*Pw!7$2Up&}KHXn9J~Mkq@lz zyIuvu!Fxa3If>jITuCp9_x&`DlMils^lk`@1<^5^0+3zX!C~J|Gx`L6YR^ydZ%%f5 zQIuq@c(hGr`(s;{L^R~jyW21rd(ya@Y!gZ9Na7*R5b%k5S#!3NB^{X1GWk#uq)G~=$ zW}aGRXq&cawY)II7g`5F=*t&>UjZD}4%{QS_~T; zL($2bj5Ckl9CjJCQVfqBF~q37%zs2a(HLZesY8rqg{od4=J#*G{0+N3!F&gIW0{r! zjepJj*L)gStk7(5UJoTxXt#@)ukd=U;YLc*`&FB8s(ro2V;T&glFkH!$LBt8-GuLb ze&iw?jdKSMvi`~7NO(Boa*?J*R-g$UU7-nzFU53h`q?AqJfRW}R(z+LbP5phQWSOg zg^kLRO@&e;rKJ{{E#x*c$F$#QO1sO$bAcO87lIa(ZS_kFQ^I{y{dxSl~YFlEI4_AD7^@5%* zF2=rbt2XU+fiU7DjW0NQ4_kucg3tIU)i{xlCbJLd@#MJ%q#k(WXaqxf#(6|}crS{;63Ys%GW=H03?P4b+?m15mgDf(?pDCH{# zW|mSsjbT+PWuT2aO)0}-+=NoT6yrupd4xNETcwP+GI?44uT}C`>S3&sP3fVk4&Sl- K+kX+&DdZ0)go#-I diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-systemtopology-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-systemtopology-l1-1-1.a deleted file mode 100644 index 5ddac425c226959ff3ee2a8238a13c6d78e3f445..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2786 zcmcgu!EVz)5S_#=g{TM)Js`Lk2`;EMc5xja5QVCm zLw|uk>4A^nYbZ0j-gw>GZ8_kLvOAuA_Ut~t+40Nw{^EG@q4!p=HhbT8ZP)5Mo~~Pb zO6_%h&vS|!Mm+%70O*Wx_zJM~i~fuqF!m)27a1FddAMK)X%MorXy(r&hR&tuGS^{o zbVUEcpG33cbP+PbBpIO@zs^=!9wvD@Pvi7t#bTS$&u93wBm_1I{h)<#@F~m>PZNK* zNS9F(<*P&7(#It*7A14mFc~D%v)oMA^fvKoTbAp(y56_!HLt<<2S_czpabxPTbp3! z;WFoTbEm^_WCnijH$(W$0EU<5QI_2SgLA?~^uSk+#6Co01J|Xt0ay~ZFa3nuZpQT` zZWoQ68l0S$BTBq6b@Mi{bj5nC$C=QDo|6Bo_bjJQvItstaCxzFp zt$|=Fm)$0e!lTxNQ8>he!C1sjwG}*b{x)&y77XW(6ry$BR3B1YQ4DH?=|YNqi&@zt z#C{p<@zKy4}1w3HXH^p5w-G5a6o(#7`tHE_WE0jWSyH5EMuZ{|Cok{Av zv*F>$G@zc&1da3am|OSJ`-C5v2*<{?1LJ&hI-3d)S6qc@+GGnk!Pyl#LHrV@ zWmC@{vF00D!ogDSG*X@dB)k`07k;DBTCr#`)hN?4i<(HcJ8R6lzEWehI6Xh`MN=WK z%QQNrc5yx^6iSx( O4LiT}yQsB1?EM96aO?R1 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-threadpool-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-threadpool-l1-2-0.a deleted file mode 100644 index 2517dc2e1ca39bbea00c8f768e10416a89114746..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33874 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-util-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-util-l1-1-0.a deleted file mode 100644 index 38005fc5adc87a264377b615979926121cb721b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5880 zcmeHLO>fgc5S_#+lu$kup&m^IoSI;l)M+JzDhd+ENC*jW*`&2gOr4~PT?iM{3y5R+ zM?G-lhwv*XGrL}UQ?Hw}Qo`p--rdZ;c-OP<&5nKhVSBLMc~rh{juv~>c5KIL)E(2b z_>fwgW_?BcHqBNU02TlW-vLVB0Ops(b$J8A9#!~-H_0X|K5-MfCVoFl(W%tts++u)w0pJ?%%|R{lh7s@QS0*%DHMbqL z^C5g>1DZ#*tuPz|g9F0(bi+G!iJiwz3D>2T4X`9`RoV%+kdJFfoQa)^1}Dd5ixjMO z!zxm+N))UT1*?HwwX0Um4Fag`_<-lQ&)VMINmt}#~bVQ496YZ zgX^?#DE(@VukdAHRiV}3x)x)8&>rhJF7axs;1bQK`eI}n!2n=RiTBYE~GW??m9+VW;2g~>cz6kWg2#fh^#7Q>%4tng8`*OOR6o*P5F^eE?lGDnv7{%2 z#BeW+D1|>S?Y>x%SRrPKXc0Qqp7>t`-CN+_AOCevt-kG^c>kX6D}NgQ z?a7qzKmMPtg!9DzLac;;CH{|o)ls=GJutKQZ%xR0`h3I-eK`{O{}6-WxU8qCWDB#* zdR{5>o|g5vdR!*!>FIGv{HJW?tXU5L|A@!)Ha=O9%C*69pQ2+n{ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-util-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-util-l1-1-1.a deleted file mode 100644 index 71966efd17159efd715702c4a998f1f0b90cb806..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3530 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-error-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-error-l1-1-0.a deleted file mode 100644 index e7003e17e86603bc2653c739f5244e44acdb282d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11282 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 H{~hrUO;ink diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-l1-1-0.a deleted file mode 100644 index 9a083ac858374174cd40d4aa3c91d41e0630cdd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9546 zcmeHN&u<$=6ncrao{iLiF5y;it^sf&dxad!)qijvXqf_W<2}t&di(dn>RD- ztJf{R)Bo(kC*|=_Yt)RIp*QP|a#?4$)VN%38bZ>|E+b>%X@-m3!8wTkaq-89Xcrg?j0`y+G54s74N>2+=Mp5s~v zj){dwEyFbG=D^vbD=Z&6ZpZU&lQ6>(p-uK1Gk#zWYG%#UP0PfW3~ey`w$+_oEztIE zyS{zL8DZ=RGZQ4=k=+JfPZFl>ZO4156t%t2?I5z^b{9?Q z^c>rdI+${sKX=M7-;O;MyV>@_7TVkHD6rg)w0rDE*V(uBf~qGJl%|}Tt{Ws8qg9WT z(|xpz;sIzaphj43395m86tH}HREC}1YS#*^bO^h%0Xt8sd!x|=7#tJMp%<>z1@=5< z7O`Dw*Z^JN8ls$VE9tnVz^!5CQUXrg7b%LjG8|P#P|Vq3dEi zeNrgU^%6vPJk|pd8EPLn3=T~FGyD-9Yc$W zYm)zHHdI}mW5)Oihn1FLNxGt0=3~4+2>DG(8T6d~1Lu2X{-YX_!m;!V(R@#%R>#T? zm3l$q#{38QzvEpK3T`GA*vfjJR0_ye;O7ou|InZ2x?@w%G%A*PpRKE3GbdW-AjA)02AUcL@F zL`ji)=_&PQ>E$397t_oAWL%_|i`c(u^>U7}McIJhJBU~Fs*hK(?G&UwKI8=~*5EOw zdG=wm_C}KXMn3M>*Ok2n=l%)uVG{TI3TKMszOU4q#r^M+aWU>cO2$Rpe;3DfTJA3+ z6Vmt6^R0t2iM)%kMBIryouCG8OMEEtt=`` zNjeps=T#NW9TcQaws--HHTVrvsgtDMOMjAnZd{y7uH{mRF?R07*IdWA4wyL=5&LM% z*fYPoinp=-6r?U%ynw|T{EX>;`IcRrCiHxosKs{?k8%E-v_9HZ=GY>A#Wza5S-v7j z#>ITa_sO`(S6s$%o>mjYjMyI&@ICXqdw8AkUe$vhmQbPreaK1ZweS!zbIe)?{{k22 BYwG|2 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-string-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-winrt-string-l1-1-0.a deleted file mode 100644 index bce4a2b30dd796bbfa51081fa84f5fc29c607dd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24978 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 Kd(f7$ul66XedBci diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-0.a deleted file mode 100644 index e3f0112faa4bdc9658ff0783ab6d4c8e392e6fc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4450 zcmdT{&2G~`5T5*$pHhAVJ#ciPNE}G8tJG-`LY0cDa*HYo`*6sYsZ_!PEw%+v66Skv!8d@v){L4FTJ$%))0o!g(Yy1mII>cSoZX0 zfp;|Nj&tPrA)8ylj$^yNQxDxv8-#FM2VyjadtbYOwdXmbhsXxK3HZsH->Ex65KTMa zv=8eiVY$=W(yYBSblo&fO*7Xj(dO^Y+h^BsI|0^m0C(A%gL3E`hiqq88q{{nwiR00 z5boK4+C_N}S3ahk63(Romn$(8Nd`q+ms&PJk8!K9pKuG=xN3}BMq@Dr7x%|4(y!DC zN=UyF(XZ4cCX_s*WR&!>?RkVNH(bw&9{7C;@FCZ*_G3rnSK~<276#@fm>R=;7DkC* zAq%6#uE-dQN`Hys%W<2-u0k#o!!aXf6mm=bgG6^U2NlBP0VR*roVMbL=glkdytt%B?6M(vMn!o~JryMT@YP)#R5 zf#Y+Vtw~tkjt=v4NPgbetKlOG9Hj!o)s& zTC$hMiFmB!ZdyWNIKzM%PtGS0v7aMHGvHG) zpCq{=_HZ=%G{f&rERZXbE5z?Z^hnJ-LW>HW1=6#{_p-{vH#GPw=dZrDrmaKDKCBXB zLY1tpDA`A<NjB}dAS;xvP%FCnM<-1n<$1z_Me5y$wSwef&8plai3v!65T+3(x2-D`K9Zmn@|=C;{i z3gv=bu&u@Nf@xZONUcq?e5WKYSe*fYvjD~yfa!Mtr+$fJ_7nge=T3;@!c_n|F4^Lk zs{+hb8N1Kei@@s!tm=hcm)-BU9^3NU&W6v>xV>aEyTqFQ8XeN!^4qme*JFff1%zh& ze5!FaeB#s^ej8`N{MH6b z$2|@>rrPb)ydWsb>jte4z3|zaAoN-s{J`&ewXoBDvm)WzVa-5g|LZECxvrSv5XW^_ zrnoFtz+HF!FyHBsQpd)EW!biEn)Xu6M)xBU4$D#odB=OxkPp4>koWbK3DwoS>x7OT z!bg^&`Xj#<1Sv4sA)HS?IA4meC_Ja#T7;G*%UMWN(c zK@NqIBcbHBh_kt7A%}l?x7j3IzV0_YdBN{L0PC5$^C~h(yBbGwn;q~?Fg1pT4x_{` ztHUU<4=RK)ppNzU_a@?b;{ZHgyn|%t zWpyUvxs7XZo+b`c|C{GUJ`Joc(rj>EbCMsl#z{Pn@M^2zdb&}^qdwuH{$M+chAdD` zJ3yAl=M3+S!tw^s8wkh383XmOvDtnlESzV3k*1rRfD(9gg%T*f6w|nP5_tJqB7tocE+7CC!?#t!crFEO3NRMjt|v5c7AWE?)Ji87DP zBZ-M@c*j5fT&J_Wz1SA_rbl=(A_meN=)M3>;~`ir7)&ztj7Vd@tFUI0>~AZ6 z_hbKdGH!_d?~`#o_Fu-8Jt+ILy7$GE!>xiVlJl_&?n(Tib&>J`35O@8i^8b7P`^)!r={b3G5=5bBBRpIX+>;h+4ETn%CSQ#3O?G0+u#S~M>-9e}hMpglBdd&*l!5h-I(EtDd diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-wow64-l1-1-2.a deleted file mode 100644 index 4396b1c460fb2c65e19083f59c4ed93b45d47707..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2750 zcmcguO>fgc5S_#=g{TM)J#ciSa>K!nQYT0VMHC4*AVoq5iOa@`H`vOjVn^wLLr*>D z%$Xn36F-YGGwV$@t&`@Gj*{K+_}R05ezW89+hE#_-j!b4>*k$#zURC3GuO89hh~np zU9C5=3)&?BH~=X8!0A1}(Qo<-aW2HSL{1aYlBt}E^KmG}JRSv;SYYs?;S0Ye262b} zS$r6ey5p%7gc&A;7JNJ(&k5@ZPgF%9@FqhEB9cM4zbx=M`A%s+&Sa8)3A#}{l3!<& z$#|N|5QK<_6R{N%%6_MlR>qpyO^kZ3>-)ZK`;FR?(eUaKk_yl$06b&w5Gtv>NZH>! z*wAWM!XOPcL-OTxu;!_%6^K1SyN*JWB0T#Y-^al##M#?>|M6rGbC zoIbB-6ooTP92A8^qHtIg&cJg#r&z47$ydC1HEg0sElwlRh>o>`cCYZk9OC2 z{SAtptzFVO_wgM(r-kE2V!j^^&ya0<)_sf%qj(S7z=s zYRz|QgTY$mG*fi~ggmOD2!GMpcXxQ8x=LI!F0T9fN4;kDk0T~yfv=U?b6#E1PV@@T zN1489vccW4f8c&^?0=LY&n{PeVY%PaTdQHRsgV~}xV8R4{qI*kZdq6K98JVr<>P$4 zE*qUs8AiwOiLY;7($QkEikaTl7SHOV{7R8e&{K+5>ZSW+IyQPYEy23mVZh{*`w3*~ zXXYpaUZwiUs#oX;v$0k){M@7hwIa1b{7S=!s+lr+WV9Ek$Ok@FLlORBhT>S6SPUcPm`P zq2kaJhlm>o4hSLm7!@Zz3ZH`V-ptPKtam5bM6!`3k2HVw&2Kz2Z{Ba-%=qp@ciiiL zwEm%)4|dyjY{%-fTc&C8Dm69DP75n|c(M)vHv#JR0oHB<+&C3+<0k-$um36H&A$+a z@y&lkd>h+QywenM^D)5YW5)Iv`zG?o5j*f>f6Vqqp3lAwhVE&=P&ny2%xSSOIHZ`! z2f?s68vBeegNV?Ke@~*=jeQo{%w`sI8UD(^2iEspZ-(8#S8@2YAAdTD{h{Z3k9;?N zI`*S4-RJ}u3kIj`8~|4Bk9s)jegD|)J=+@%V}BB7?aC_CHd9?rx0(@ zJ6~27delR({bv`=QwPYmO*-B8hsSY08@AFok4Rb%-NVrL^X)Yl{Dr;I=`-23 zFzd2PZ_qnBjGH6L6&*)x%W@pYG@Wic<%suU4QT?N<>~yA_Tht>iVpDd3^>Mg4m;#JxAcB>OYc1B z7A)PtRd|Dj4lDn+rEl|LU~-E_gX4NDu@GA2GE0|uHCJ#cbJTiSCY&r!=Nl-f1EsVF z)VY3M1+HDe1=26+Gz;opBgR}{2M0?# zr=0i+ppx8xzfm%C$2|vXab`sph7PCKMLwj{vK3}sOP?E`27!fM2nMXP+ydPiM|S;d?kk zoN5f&eo$b@kEoD~7~&;XL)knTGF19Kk0FzCT!A4!l;cu{yo2+*EJN1FM#`=l_*;w2 zj(2hV6f$;ng@C69{EWF~=IPC?OfB{C(Ac1zRtSS)>YoHxTTc+jms@*abI{VzG0Qk MJS9hI<;+>}ANkb*Qvd(} diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-1.a deleted file mode 100644 index b2999aad158affe724b909bf7a800b2fd1df4236..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2690 zcmcguO>fgc5S_#=g{TMwJ#aLrNC;tLM~M?8gd*j_F+$>ov~g>vvEqCvHX`k*hYE>X ze^QV9D$2~PH(4h(Er(>I?9R?Udv@QLVQiac_MmY8qP&`8ie9UH1TJVK;@$C39ljI=!E{6 zejH6sr}Iz{W}FaO@O+V^ej19{74-83zGWPO7>0hZMKkavjl0v?d3QQV!$k^0MB|xQ zQwF18k=oNGePz74j^lZrX?krWlv}?R{Ct4a0kkUsPgvRqn@#bgv@@aCw*x=*OA&IR z1HBvjBuVao!6o4$df{`*8Tccm$n-joWY$=-O)#CqY8gi3&nUxa++iZ1 zEn+3#GJcu2eO&qnhB>3iFe#iEoa`YNj-2q&uozed`i}lRgF*@ uW+0a-d{*+j+>zWNeuJS#X3BGvsL>4|HE(z>yDI!bVeQ0)-#1&&ui9Uk2*O7I diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-xstate-l1-1-2.a deleted file mode 100644 index 31855cd9bb39e353f13f42704d645a92bc1efc56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2742 zcmcguzi-n(6n=?Y3Q-XZ9T*TYsBGBSY2pM4Rgo$X14D!a>(z-bjj5AVu`4oG3``82 zS@>5v@>fybyC2E9u}PNXl-xbP`|NlA?tAzA{B1bx507iF?R@i_e&7dQtLfP`{;-+7 zZP!~3b;D^50CoT>UvTIE?ERuYV<(J#PWd!tU7qnNJDEhBeT&E8MaZ7uq5u$ zU-?JzxIdY4Mwn4bXeO>_X%=RjB|h_6orMgaGUC97Jd8FN20mrU$4MU}znf)z9P#Kq z53|cDuLEQ8=z^8cN9kAI%iM`(wTw;Q^MW9-?V#P9vl;!khlB#OD*%s#wF_>>XPL0e zI~%&EZWLx=IYi8KpnK!?(sTt3t_T;?0}mS-dmoJ*T$kB8;Avb_`w6#Sj%#V$AsPn- zI6bdN6ofNM9TbE^f^eiDoWys0r|w2cfJLL-|b}DXeuTHo;5| zt7RC2KdTI5aEIxEv51v?Q~V0vc5&)I7{M7S!>YW&UDjdxDvtxUp28i!zH&qgOZ| zDTUKugSTc4!86}D11UmLyIRzS`I%4q*1%w6BQ7j(xf((>a8`_)XBNFj2QlA^ae-df zQ#3v(jP~Ih-`u{WtLy89&$P;GJZX<&OFce7OX^u_m!6?iY}9TFZ!K3CFu4@<1eEp# zYZL+RlJ#U!E3`*2k;@qI&ZGdjBDq5RLPL+tm}h8Fqmw{-j>Wa?s_+|)@;6`g^|SHp GtNjDZir3%( diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-xstate-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-xstate-l2-1-0.a deleted file mode 100644 index 8ac5491a8b04d84c27f31721a4256817aea83db5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6872 zcmeHM-D=!M6h5o9Q^)yf3#Kt80W~;x*{!tp$~J^xFiBfz!4MLB5g2PNIjdT`YgTgW z`XZPlgj^J2$VDKK7w7}@qF25weGWfIlXGSy?I;@U%7Il_$bd$pGoSX%9DU!Mk@mY= zc7MBld-i)hUCgFwnU=BKT-0@gcgeM`Hy6dVu5Zl(z-0jK0l@Scz|0$QT=)xsj>~_G zOuADNq&e;9H?FVeb4c$Il?>R2}-Rs(W9z)~7ip8uY=6fwVB74W{ zZuj~wBTOeCG~?F?L1>3A^Bc@$2D2IdO2-A(c5P>jZs499Zr&r$cU?Q&@4LY-cCZVK zd7V9`?)$m7jqub>5nk2vQ`ZYU+xHIL^2_hG{ z-Rr%*KhmR-El%&yX@&J(%&I&#nTBCmmabbX&4_+mv(EE#NGO1n3c#1VH4Sw>YkrYi z>9Da?ckIy4MTm|y*f^=Tf?xy;jtJ+`4=yal*coh0;ke|o21bl)#&*J8%*QRqxCLy? zDR6Ord`6rPF8Q2Ni``uk(;Y>?KnkHF-7I<`p7AU?H(?OBf z8ZqXKIygAyIh{$L0J6w6_!li>PkALsiz_QIur#^6M&*#@25wb&p&arBkIV~vu(Ul< zDT`K`o7leXpkF{HJ_f_5<2@;@(Tl8Du+-G4Arn@)~RP zu5H+kZtRK^nTG3OshA$j)z5msXDKM3?9q~k{SEe=RS#33+Mf#^O{yMfU7#}1L$V1# zs|K&IR?S+dLD@6z7cNN)iv_h{X0-4Oi7_fSJQU>N94a$6>_~ox<%T^qE|VJ$)wo0p zv>Q3A7OIea|D5E!KaQx3tb-!^BlWC>7IOMZ)Pq?}4~yCNg+GxTqjG{Ht)*q=gs$XwSWY-l<1#tni5i#W zgsZ5Qv*v^f=|TNHk?*x9b&qt7uN-o2xD{FGq`_OPb7!8&LLHbg-yDoW%CJ`Dud(7y z`Uu%FN*S9Hqsml9OY%ER8NM2qQO0j-T%rv8v*XOl0Fb|rPxc#w_*N;a;X276DjGb+ OmONV_fRttI+2B2RUV?}K diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-devices-config-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-devices-config-l1-1-1.a deleted file mode 100644 index e99797bdb2c5a684444d1761b9cad3c44f87e7d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35386 zcmeHQ&2JpH6{kmbK2$r26UBC%I9WT+2U1JjT}f*hFk07=(=>G)HI5+z4LVwRN7lxx zm9o2X93w4^B5;f#D2%`ef*^;WD2kvcawu}hp(t|dvB#c@9*Z9O7xa+yJ#zRlBxi=Z zZCMO76gV>?-*EWxeteI7B=_*iX7AG4cgMd|NxIr>tx;=KkIx>jRH`&ey;dsq#$27f zu{=%)StMlqkA&>`oRGcuF+Wi!1pWTg%pZK75cG%MX1?-!LeM|?XXc-QWY9l%fceQ8 zLeN)VV}AN3A?O=-m_P9;A?Q#3j`{C>NeKGWu|ET8qkrLF%%80ig8tJ`3 zF@F*Af&M3dXa1-EBm{l)Yvv=!3;H$45Be+DnD1^9g8q$PF+cbdA?V-y8}rxyLJ0bw z{gwF}{~!eYI|rG6_ZT7X9t*?yFuc%@di`)Q8brNtexntIZ??P5&2|WZ*X9~wV+SBPjb0QY&3YfH!&Y>)eJSdPmo~bq?aN`O7UEwsgoM^360Swf*8lcPWd5b_ zLbn%PZuhYm=QalI)%K<4puN#0Vc1^Z3^NF5RJ+?BG&`MeA-Z}FDnWfqj{^Gh(O_%S zq)i4hI;4Wi34hpyoUJzDX|cDl8TAHlEy<6-i&=CsCCpp+3N2^vt&Eh?=(Lp5vqBS) z(eZopoo2tE`~6g^L@F|I(Lz`a>}44V@38WwwyQlF-uv-Z1eNstZVOUa-?$ou=eJf~ z?M0DN@#!S+{>z(D*KC#_MQY1s&?qU;+JqNni}UwH45w!0w|qp20NR(DoAbR_HH3*oPbREK0PWcgfI`ICRVlq50kl7WCOF?->9o6-WtwVWOtaYRMcqM?Bo2!yQu#iF z!u6G0VCs3qd1<;Pw}d@~^@C@j>wuD9SGgmPFe|OR9O3tj+$_)>Bx{vdO&q6vb0N&j zc!I+Ec1l*+i)J3v$W=Mjg;Z%>E$RA!bq~QlYJt=y~P4B2K=+>cK`YV_NMu zR#yg78(e!$(^_lQYNOGpR2nB@rM0p=-nw}gXq%ur?jYoT`m~Eo4WerU`ka2Lkj3Sx zR&&ryC!sN?$l_O1EB$^B8M%RUZA|beXqU|01Gk-!FV&qQRZcg{!;x-xI^A(j_bfb2 zSm<~>zk?zVWo4$kb}P6U8rm{S6_PcdRzA@PIg6 ztxNp$nD%`nQ|mEEqfzQ`ER9B~znzo@YbNR9I;M5E3!=t$q|(rOL+%*c@l-OA_&@vx zI;086>u~j>zf*o+bLaQD>P$SWll#l`MplF0hbBP4dm-U%p=&&Hh$;y z>Rq7|_)+8eGt%*A{k|Il#t2@qCm5skvxh#paQYe@TLC#Z$~9zlu(s8`!a^voC2ATA z=>ZM2b{QJ5ez8uaQ+phiX9FLUm~%Sb5uq^lrB`+d2n?9Lj4D0it6!~Fr{^fh^5n_! z85Li5(@MDw&5KhaHhf`^a}46wVm`-Pg;X8o3H1L;Ux;6@xf@bWi2fg2Zw5ZrQ@%?i zT|%DB0nOWXI)N`N$0?w>X{T%Od_4{iFT^xF3`+dfH?&*5eOrdfr>C=K5P%H15Wmkj z^ImvjoXxlx{*5tc$RAVM5Vbz3Y#}iUXwBgl#(0R78$5*8Mglvu+{gtiM=XbgUpv{NH$Wx3<^y#odW8;w+1ri&gDj_ByA8~Bxr53}s3tc11!+fX2 zL&FUZHFXTaWX3zdBYAjuP2nS-cvw}wn}vr>JDq4mE;Fv%=>#4oM!>^S#6xn*x6oL4 z*uVl934{v>3QnWM0td;8@GBE$-7wHFF>nX?A`b%{g?D^n;HvW7EDYSR(-|0e&rT;W za1`2iSefu-%n{~<4WENrDl{gZj`?58hjRiEC?CMo=THMGNV00mFKT8=)IjSoP>5MB zFQ_@9@J!l#c9BOM!=Wav26WV<(s|Xlrrl684HLiA;T#y#x84U<%ab)NrH}S0Yr4vJ zvt-RRJDq`=U)bq{ta%KOH>|8VtfNMXm_o~#L$O4WGUj9)g13Nt3Rk9gq3ob2kR`W* zM2Yr_jk+5)X6FoSlzP}vfsG^3-os*}!a0PQsVsI>HuqE1IV{vo(MgQF$O7m!AfLlM z#z<-nB%qQ`z2c(kh>KFo!d7LN%W z(`VTpg9=@pRa(MVg@fBIW!qFKziIeA90KEp}w{Xuc zy#Pu^4f#cit4-Y;h1>$wBX3S?yV%tCLCX(|lt)!wp;J4!_O#d|5L{b;P9j7sxr5Mv zd@Qf-l5s>m}r*BFl^YSO9Pm4OJFEuK~FO zca8?7)JZU?5ni$2Xjw0@KwC3y96kyb9zm|qH*>*PwgDFOQVT2?5ni$2XfH3Z@L$Km z0mOp7S#f({K`*tyf)U{r3yxOssyPQ$t~!)D(u2Um!;TpCBNlM4Am621a2z~Ddka-R zdNvNhTR`52t5#xx0kst9{kv(JUXAKsX5xd8|Jv`pSI500JCX=pH{&oAwC0yU^* z3@d#eN=1!w01c#DWXbakRxUUxc@|j!y$0k9xTi@Tr53WKj!NhiJEc7wn=ubNdArLi zkjAjsc`%b}iY;x9V5NeSn6cW!tx^P`pdCbHC}}Z`SERVw!_C!)I6laeGRsQu>{H4V zVUPJ<9VzjtXGNAOxH=h~M2HZ?5E_t=;i^d$hjZY(j{0kkHt`t~5#^dgIo~_V$s`Y$ zyrF0i#n!hf!1?GTGETDqdJV{L;BFv8DZN$EN}PA-7bT9?@^Uu^ZC_0j6P@BHyE*Q+ z^GV@Xk2vn;P_-+5Y-a{IKj|o7{up^KA3|tg@w6Tx&9IC{a zibL=gkPqOhON^8e#)5AYINHqXrVdq(DkKVUb?LAu*rV_ST~r#MOuT(Y6>6zvC(-&jiUv= z-2az}nhL}YD@VSiqlTNy*h%b#wtXC?wWVrS*8P7fVv?n|f<+_oiW5f*dwEh%CQe4# zLq48{6Bv&dS*kehA-7?~9E4Dz!|~yHEK+r}qgTyUTsIsn9Oe2&gp~cH>3bzM@aI7a zjfcI4%s^d~yMWw+M==^t`F#|xGf`Dn8@RcCq&%TYj=_&WyAG>6-NQK{_2i{uV}WzN z9C5tJfdF@LLKVt})EY>rQ0Y`YwWzA2Exi0q0@~VXHjPm%e|IMl!&QZNtWj*VIQ}Mq zL`$;t7NBSZUNPcm9WU*EnHU+x?su0RBiqUD$K(WOe{Gy$M0&-AqdmMFWn|)FlwDH0 z1TN?=_-&U_M(Xbs`Wyp#OZivhYZA$?WI3oH^e) zGdr8P8|BV+?WL&~^ z0-*Th_ae^x3PADVLlH0G?;u10LA%xB3}6#fa3E%ifK)Fkga#xyLP8{ zxB`sTo4YI-=O9)a=NEe%Bt!Qa2VYqw}Z zC|UM;3sh zUlK5`EolhKW>#q3<)>>bX&3=Sft71`=o$6t)(DqE8%GQ~NVOf^0Ti1(@aon7$+&_cn4&cTZz~j6$0fnA@(Boxw zqQm-Tp;GRZ)e!z<8P-n=TitE~42}s`rv~RsF7_-I#&KM7SO&wzEx7fBn^xl%T^t%% zn2Er-&)po&XujFaqZ!RRW;8F%Xue_Q&3v&?X*391sMZ^{^P`840CvWz<-2Z$Q!mSs zy3Y0WPcT`InhGPyFsH&u@*C$El1wl-GUl?Iz(=_;C5Fq5v?Dk6Y_JjMFY1E=VKlgd zX*S-A^u0EKzAqW2kiJ{E4o}eFVf??=_aYw#CNne|9M@Bhj?g+s>AQ=Ua|!41M}F>> z3Fnsk^J%Qe0i|RKa$G(acqxsh*Z9r?;TX8qK($xfYuyz!T-O4Urb%YN1}Rs^XIV@2iyC7LfeLwHDpOB z_^f$DRPa=TA24@Vqm+PmG9hlMQ5n1;@EBvJWK1c{m=iQ9Nq(m0*j~!A^fMi)-#9;W zFB%u}Gxwu$9%FQz-=K^+Px_*M>A`LDu(D+iRF7G zJXvsFW#YR`*RzaxGXJ-DGDVsa^KNgL_hRH}Dfm2jMO5%qgYPhppS?$v7zt&`6ythI zrWC_W`2?+Ol1JH;EOC||<&M;EoJZ+J<3b+g!)Tnxlv!N)K|RVjPglg|g1_g+c7~ZD z7daDTh8Ru_Wg0xd)Mbb?>mV)U2N~|JjHMA5XqAMjdvA|3;lf$civH^wt}(-Va!<*H z{#kom2tCM>3yUeaV1-W_U!npf`GsA{o@VJ6j--C${KCi4xDXdUkH&d^f!^K>>K7)7 z3-ZmNcY!Kh5DqyvuHg77_&cd}QNdFUe!@J36g;jZi7V4Rm6eh^qtgdpZ9yT=-+0{7 z@#&!4ITNcjD?`1vN_qNFQbBRsAFwWn$gf>T48247&>&j%G1GTuX_y+t2=d%{;#kSl!Jpc~^sS)fTeq5A%Hn7u^G zZ%>>Phe`tdyD23u%RN=voAlAQC$X%dGwGnL8FN{q{H9{K_f{#tJt5X8B@p0@8kHqu mQs1eE-w2PsarDpXe}yr8?-Bc-4gU+q#7e+pOgt(B#{3CTAFrwa diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-devices-swdevice-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-devices-swdevice-l1-1-0.a deleted file mode 100644 index c10cebcbf593c4bce5e92eeb3bfe0b7ddd114410..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7766 zcmeHM-HzNe6h4#LEoCVMm4a3(LaD@0FPI@&X0ltUs#e+x!3ENa1*xhK-t3I0lXiYq zN$4&Jp%tnsgetU`JOEcbMW2BO;1PHP$~kuIc*e>6To5z@OR+un=h!~}J|8=C{Z<%v z`nNYea3_P`_5(lgw%aY&^+c5!yKehtkTp2m0DxBkoL>Oee*(Dpr+i-e1Av~(_?w<9 zm*w+%6M&x0yYjhq58&E8#`YNdBH?ku_Ib)F~a?Le9YtYn**L|j9sJ9pN!BXy|BX(evpP~{$AO}uD4o##_vZ7zGbR6-BQoR&kF*iVsI0QD#GDL_sIpM zB*3j2z$+rR4$YLGrXpV+xv+oO?1pJr4iPoGu>Y)ilq7Rta7MU@UifxPVJ~844aa4M zUGNmHt;z{^sT{Yha5pe>wE(B;Rf-a643h>*q#=coG?YXd1Ha)nyk>VW0BH820nZx! z^&H@StrtF21zEXiOX|8l)jz>ZJ33_;!-n-TjA6eufg#IGhRnvocI#MGua#ni-H09a z+Iy2P$$n8E6bR!08U*!H&CVnk-(Q^ZJKm1P_yAV|w_*%y|2E^d#4s?rN~6JXZDuT? zl`dku!kejq(+V={Ri1DvKb>B}f;v!4dqG{;=Vg&wgzJ6bH4u(L@CJHm|Lf61St8gr zVQHFV1$q$Hm3koil1=kq?m2SImO=zrah+1qD8K^|%gBM>F;k7dtW;x(hanI`o9|V& z42``Y4D%f>F&%k|G)DW*`&j>Z#&t?u@D}tc=mm@&k$NZ!XSuh~UVv7xg`It6^b0v| z!mI2creBQH8l!paA|@`z1!`QRs*f{_D#IB+d;SjnIzP|L^4taEbVRJ9z9bW0#GGWZ zWG%JH_-lA?>aK447cgxnya{Bi7gnMku$A;Cxu;MiV&)TC5p$#!mm`uR1fbrfR`570 z0__2^k>2 z%+HVFEWWDes_SG_47m@vBMU_Az;BpZKE#}TiA*LS6)VMGOewytl*h=Pc}n@xU|5w( z=^6dbI%ypj<1A0|Z81(O{iXk_Rm1(i0Yk+kc>n+a diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-devices-swdevice-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-devices-swdevice-l1-1-1.a deleted file mode 100644 index d4b95d5c7c0bb9ead13fc4019c2a8b5658d086a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3584 zcmeHK!EVz)5S_#+g{TM)73$GQAUKdPU93RNl+95_^}IB%VJ)3{C2Dt1W^2=#;z zrylv7egj{?C-e&_Gqc`!-P&p{m;-E--O22;XLsh!&gSu^KkW}+*I(M%=5Dy2>p7i` zb=!7$%Is}>z2zkj?9~C_4nXA_K*pacEitVF7idi`E zk3)gV)2=7Hwityy`X>5uIO!ivr69~WBD4tP$FMIW5zUk&My{ZbFYr}k31TSy;7{9v z-Ps#n$F7XuhXWahWLbpcW05zbb#DvN=1j0Z33_q!NJpY507p*|xyZ zxDBl*+)6R7qjAqsSk1xdc|9U|8sn&eKLCXRsgLhW$qDuqw~8FG+rp z4Qhm`0y+d4T~5w2vFy6yRJf!7A?Qb)_#mm5Ml~#l6T1!|$kdOJm~9zP(->{q_|8~=^`f1$IWw$ z_OXSS&-pk{uj>&C?-GpG;f^n^p3<-L^Hi5gmE3!SVj$U7th|SkVzpv0J)dydsN`hY zx>;+$^dnamNHTyuMi%fXRaw%ip*8G->&IjjzK46R#mFKsyQt}~XhI#+}ck;p9b@tywW~P*XG`|7CNN2wQ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-classicprovider-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-classicprovider-l1-1-0.a deleted file mode 100644 index 352a38048a85906b755beee5cf3f344c445f780a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8628 zcmeHMPjA~c6o0mpb`7$BSvO=DFlayr>@d5M<0v@{Lx8Sp4jm8_?Y6@JTDBNlt!xL9 zn-x0@ITS@tL$Sk7I}H02!%qDy`ylJyBSnd_XRd{sfq6t#6|jQNwXsLw7eIBGY1Z|u#6h?WC5dfDj2 z@d6l}5iXzy-e@W88(3Mxap~y*Y=zrZa>8xS#_cJbjg{*LoN8BBq)vSh*O5APMV)ae#|2)4#6(dX;1EkrE_wU8gjJ+Qc{rrt7mh3!~|>HVdQaaZO-I zL-~~GTIg^cn`)Jr7@1i=oe?eezTSC*opxzuE;wy z4Om+?1DawOSX`&k;JCIEYoQf4F+kzKe03(5a*m7%VnbQMuHh`F=jYf{NO*6 z%y^0lS;UMV5^JGLnanuW`klv&6EiMdPQ{F$%(#>pTR6Y-GUJLo>u2$TupNL^WyO0q zeo7fDK9d4bR^d0i>e0`v2x(bN*e%EeJu;C@I791L#DwoP3o4Td9j)JaObE@mDJGnn zaVZn%e0p9ctmo`P?y0NFf_D>}&scCHk-WWJzPi~%+V=ps>U ze#wC3WRWu9EnMOAGGI;GgnZ2->|}NQfP6=z`vD7Qq*4`r!KyHKIa_%q(gjPh{+(jh zztfzu{^z(SF53Uw+P+!l{$F;C@Byywd9A+&ruUbt?FT4UqLldo5!6c|`hh>NW}3C6 zgRx~vyl58W#bxYFiz{iKz5!0X!bM`|DyVnqxp(*?=3LeDQIXi$IO{oIE|wKBI0cz; z=`rRp<02lTk}^a8CiVJz48;t6)_G#&T9)K7>`PuudxEJ*dePg~i|_&_cp<;b{@-}9 K=xcPj{^CD^GPY3w diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-consumer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-consumer-l1-1-0.a deleted file mode 100644 index ceeaf1541460ea66c049437b7b4db1a6a3c00184..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4310 zcmeHK&2G~`5T3*-g{b96>Vcz?io^j2yJ_53s!*j~xRC=0Zd)gD8>_Zc#ct`b2LuN$ zeWX4FXO0|r2+GW?H(58fnj&EY>PYrZX213B&U~}8d9v+|`@@&b7iM0Zj^jG6z0ql# zrp;aY+cewlwQRs%69Dc4)Xo7K9|0DB$fx-ofS%=V^a!yl#M{IlC!*`8{#fje2EO|R1h_^hn$c%Y}8VQ{Q(z43G<*N=~P|0113T{ai<(RB6%zbAr?z>xCx7^40NqSFi zX%p_>$G)3#zXsYB7{?Q5{#EYF+qKSp6L+Je4xdrgb}N~$8>;z}qVe9o0N4Sj`8a(8*!xXi#*P{Ln(;JaeV+4_9gls^euRm45i&Ghc3tMSSQMVp zx3I@yG90Iz5hl(E&G>hooFx-#rIk*1xBcvDLs0Q#%XuDwL z{4y7M^Yr%2&_?v$0OzMEx=iA= z38wQ{ufk{?HmWche^@Z+iFoMYhvqfPK%-f}KFS70E-HTrE1ryc5tFw$NFs`Go~;sk3wu^RpZ`uQJ+4 z4>8x}I9J8>5|xtzqine2o7=baG@C7Ky0)hEBaCv9{LB1&f||^4nalWCRHA;vQ3#FI zz5_a+qRT*03xYZFfWMMmX3;^EMX<3{L1N#O1u`NTA^wv?i>#nmsFBdkAT2$5ETj&< PP+PP6jsJ|cRFBPnsIBdA diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-controller-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-eventing-controller-l1-1-0.a deleted file mode 100644 index baafaee3b808313b8d8d949d5f6486512b7e50f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11014 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-power-base-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-power-base-l1-1-0.a deleted file mode 100644 index 9c977b6e048e403febbbff2fd1bef86b1bc02928..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6290 zcmeHL&yU+g6n=4bp{$l4LWLr@c%^cICfM7o6Ql~Qv_-(BiWXJkfHdo@CmXkp6UAP3 zg{rFRVbueN6(pAVcj%_{-L@)`~`rn zj~>${#DNg^6FEslSEh0z4n~0#XJPD*LxINgjwig9h{7ISnSB_>$D@f9gc&A;7UR(w z-rVyODI!<6!V$i}Nrn={K>ESzyg-*c-;XEqBuwxDemqUaG7b)9aypdvMrqg&kNq?p z#UMmD9E-|u1|BXm>tZm^d6(jhA(Y+7Py3_E@Ng8#Z_my3l|jCfY4>b$;E(-Y7=>vl zlkBd7fdfB^?xpPUhnU=$Q79P+7mSjIlraXinnZLiasvM;!J3ke9&sUgp} zw+YQuo~PU|uWaZZH3L8O%OO0n58da@UXm<;!4txTG~vyb#$LnD2CmC2``~EYp0*Qi zyBycnxSQCyUVzi%x8zhiMbXjm0~z%#Eg1vXLge87x|z< z7z_GXuYONro)4K$DnN*C!c2=p7gFT;t8w zz)f{yj_W?*bpO>B(+|`s3Goh4=lHzKwkj+iaK2D;GGm~h4o>5T%ECOGi8MXr8kE4% zRZ5`vQcUw=?lfx6bJ}3AW;wN_PJn=GRax)?JFCu=YtmKXU}>?q7Uhq2N1bMD`)Dh; zc$@#S9vglk$Iavq z%74#_aZ_ErIEv%}?^3xX&l}ppk(tpC$AB22R-{%4K;D&p8rY*k z`+~Ck%)eD-!9UpH)6WXdhO1U8=O@Tz!3 z-&NJom$-H+xsHBP2Cgmm8(Y@V;z$@@SQWr4{w~Zlv|CL>E%RGOY3LHSn?<>3knPXZ ztTPu)48O0-MURScbGhiE7&q0BjnB8NhAhRLvd`Hot(zT;2bEkmca?!_3;x2EbyN2A zhFVG?Ytx8ZO(X7no_U76S)`F8gInv=$OFUg>oj7XCk@=3MoP|qQ;mF#?|fN})S%$c z8=U7V=ad_)0aF`JW}(IcI=B`*wNgaUz}j@+RMWw3{;#Y4ZuzZ(4g!OZ>(oJP_%--F z_uX<{jGNQJ(_-9I2cP2mT~-GGC4WjXW3KM`>N8wFl{`;$l!0pt{=l~6$(0_;23M?! F{{Xu#UWxz! diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-power-setting-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-power-setting-l1-1-0.a deleted file mode 100644 index 5a649b77680eefcfd1b20c0d0f8451f87b79b4e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8726 zcmeI1TZ~74mqJ#~s7sv>!zGTMk-I<;dL^iCTf`lO<`Xba$W_oto%#Gd*_^ldJIZ5gt~c6CkFf4ZtponM{m*|$Du zPdoh&x85tqlU28D%QhQzvs}hMOgt}_8)hx|!toXWTmdMp18n>YaQUXXwtE0{z4Az1 zSN=j7URVE7*X~mQy52O@b!`*i+NKakLfrA3sV7>F?@Yzfxa)|A?x;O+1y-ImZDH5M zz`aXXP(O4>o$=HWq#1go7L)Nq{IcixzB@V*14~%K6m5ae89E^PPP==q9YKrw|6=O; z&PPX|w+Hu~Pe)zn6ohbx6Oq#xRo|HPomiv%&TTc#JEN&{;(BPcn`7VYxt+G}jz_%D z*+TxTTZ=s@Q>LGDqvN{|oZFqgLpG0Qj-!Y*N&PKclE744%d10OV1cAgS4-W;iB4Gm z$);|nf8tliAp&{6Z<(fT+vT#|Y=pkw{SMt0Q*#ZyT$VPV>N}^tEazusXdPF(ZNHr_ zku8VNdQ!dXd2?iNMmm=sxL4EKm$0yol#|OhlQOCoo?56#IQ2- zDu`iaLKsv63@ZbxVpYs)cQAlz&mB0y7oI)?I9cnp@9B!5p4*YSEhYLU8Mh&BB-t8f zzfzut*$y`{d=6P9o&x(yyKP|842`rIc}8iCtd>sH2PM)N;9_3L&bLLr-e1Dko92GX z*KJ&fS84FD{(t-Wz8nT-J2V;`*KXh=w9Z++uJ!!RbRj#uU6)Cx%gOsTR+NBp+679| zJ}=ACBA(utVF~4!q}M>t@82KYQ#I1pVwR>!7C?ivuA+hLOE!%X-)+>GQ+!CV_H?=v zp~$+-Rc657SSTPM7lIej<(Zfo3bA>Sq;X&|x-LnR{D_N7N2)BkXivJ1?cKo3=~f1F z!AOETKidhZhpcoKMTl_cr?snLXCu}xM7mfcp-6a|tqbX*c^snVn{1t}$MrfEJ_$6s z4rl!2+1vE#@#Cm2DqYGud!dB0QO|mkzCjp zT+n(cmkv*2g>bRSyd(Asf#Z2`xQNZ1y%R`i;*ID3k{EGOUyuu%zj>&5@f$kRym&DQ z_E5SN885zO{mzOP-)8GlT>O-+3**H*IKO4%#fIWy_N(!VGx9EupHdV%TB<_k2K;pE_&(g8np*odNT?BH4Ms`klqjS+*|4&JWqTkexmBfo0iQ zk9kezk3lOPTjVhl?GkbGnIuMK2K<2q&P}ET($r+jie%MdcNQ~#wl2lYqikKs%r36~vdol1kBR*Vy3(Ay7Elp!5}FcQ4EU9C5}S3Ljd)X$ zJnS#XgOz??r?bmE9=>FLR3r~Q*6%DH`1z3O!bQ~Y>pADSkcXY;;K5Kl@E`hDnuV(= z7On?1bTi;*%w^2rGiDsbs*7a6x?q4-NFkH|ZhjsNtVJH7|B3bDFra6gU?8k6k^yr; m1}@G;gi4Z?Fb+J=xhU8blmDDuX$}@X7bR!SSV%P$z{7vC3*0LJ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-appcontainer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-appcontainer-l1-1-0.a deleted file mode 100644 index 87de26636fe3b8abb0ff2f743857ba9c1e252c71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2838 zcmcguy>in)5MEme0Z$kxQc#M&E)o)PWHXat!nhz6xS_tt(iw@!wqhv|I#(2_Qt&3c zKpuqQQ3$(tI{O^UKMmR$-K|!ibgNI_-s`&`)EA!OOPCye3QH9vww| z5D$aVm@~o*GD5SA2N&Zw|BkUV7!7kj9^%6im$}SgKEvk?IIxKOVI>Q~d!D~b(~ipI z11=wa?0w-u-u3ec7>frfTLTKugMKf!M~d@hT)U3rd7f#uoP#OX;g5SrH^6ZX;F0jQ z!Or<5lE2bS=$_i4pZhCO_+04T*u5-U1A__SVtU|2gZ>2k3W*K#e#4wD4zew^^)#=o}!pKE>pOa+R#&L=Hz z+{uApI+yij7>!3`8Ajs}iwM^ucIK_%S@5@wmsVf|ccc)bM(iybtwBbZI-KKJX{9!V z_M^?U-*(#z+V}8#Jf@exZAbrBB2+T`NA15>%k5D%nAej+EA+j~w6E~`tl_4$q+eG) z;go-O-o=0cG}5kM2!0+4Zxh8wVjD#`notk)^XOuDCL=;~b4=4qR!|j!U0D^xFL63E zefN<$FVu+uE5*}Hl?pHtqa5n+8=VRpNTuZ_sx5QKM9Hn~G@jmRb_7K~@nchqFRM1% ztM>7FQmCFL6Pyh@4R!`?holwCY%=R0)6PKOvWbg*)z*a>Zm!d`5i=>rO{I3wo)}^lTw5Upbx1%(S#XbZ& zr=sgXQ5S+eS^@8pU1!!&R75Z`S54yGNeMC|nIZn|VMJEbbM(k)mynSYaW02C{6c39 M0~`G{Ram2qe*g;rmjD0& diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-base-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-base-l1-1-0.a deleted file mode 100644 index 9a3b5ea806eb54ba0140548b14d70f87da8026f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82212 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-base-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-base-l1-2-0.a deleted file mode 100644 index 8487b79cdb25069bad728de0f7e9b780266e8ede..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7798 zcmeHMUvC>l5FekD(ndibR3NlG7%9AAbLZF>7gbdvg8->W5rH?P&G~KGwa=*o!`#v<)gdK)E(Yi z`?N7jR@bsE+uZJMH5#T6sdb}aTb*RU!5RR(4Pg8Qu=)((`aiO)Ujv}>)`l$aYywbu z_pU4(_W`Kf{(%Z(ea60z_%vdBJmyo@AA6kr?1#?8XUIJ5+05>+z#mXa_#;1b$5YNo zXB3e(i@19-_2V-(a3anEi?x}_9EQI$;=qR7@h){D*ynNIafjU7_m4t9Ji5<+;sG$` zk0wkn`|>3t^fKh`PA2_v7(0H*r@JohOiZ8=^oQI%{%(BC!*BR#faV?glP^va{Ssl$ z?mH7_;0I{W!U#pQ>v{X`c*4ECap1dWUw@vjNGn3-w>%o3OkKVk$5VfB67!iMTB$cW zJBnN5%u&lc)G|%mw$Vd-+nI-Y577~kdNuS#(OZR9%ui#{FRvP~chK^j*eO>Lk{#H4 z-Wo*FIco5L^nCik%}%O&9Xl(yE|qq`O!c}cpY+zt^|n(zgc#h^=%wMa zOhMBm&@=<9*>0LGF9@J@=m$I*@b3$NquQZ!oH7!=YDb#3J~ub1sWvpqbQJs5%XAdm ztq2{m$}A=J6?R)iQN32GBWy;VQLmBJibQh|k&XdA)|K2-Yvk+03;24^Y!`gp#&f`H z8ENJJ_Vu<{239v|HMp*g#7F3yb-teJtF5A!VMmpxebP(&^X)n^>OeK!0(D`ZH$`s| zPaldPg6c@ZYv3>*o`lDeBYbVf(zMA6&>*ZU(LnYko93k6Hge4cdE)jDJdqi{-NKR%V!TB9)eGd4t{ICMliFhLr(On_} z4@sPH9Ff0dc}l7qi>mGN*J*H4t=p(h!lHsB9zOLi_X zQ6{W1Mzj~iMH@e+3OZQx9xmSzN$#ED;#J-ehT~i4PJ4H2HH>VuRR{LyOwy+i>kzfxgZ|4it%BYH*IF| q;Z^b`AUtUQpLDhJrVr_YLCRyqXObam1OCLeZ08v)w05cDMe!eBmn1U) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-base-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-base-l1-2-1.a deleted file mode 100644 index 2cd8af89ca99ab4142c033ccc0b99ea903f467aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2694 zcmcgu&2G~`5T3*>g{TNr^}x|cg%dV*lsGvc6cHhD%mu-1-5)y|# zQXhb4qRh;ClXc_JT$+)*JD&ZV+5L8Y^736cACBMG-r7a+n||O2UaMKRZI74C(YEW& zM*cy+1^@>Dl@B<%07t*+5uz)^=Ty#9(UX~+i|#Cv;(I&|FJghlt9BrQhDhQ8J-K}n zPlvO)6oi?igchkBUe4p}hZuyZ6p1hD!WW^y-Ik|E`Eenq*%#adIu!Bb zLKJOL97co8ooNQQG3R?;5Cpazv|B6YqMwhDJb-ou;2CR&;AZkFV}1KzL$B{fVHR$O z@Ja`IH|`)!?}5RRa54ShSwmwVqjG@zGNl8a#x=E_aL3zmEsZ-v<+KE+*Y%8-?@Uq$ zFW=FZ@6hEtiSN`M-;I(4+) z!&E?D#7a?eewnvJT>1}&Iitw1D#Y5RkPi~VR3XN3FZovESRd~m>unFq2TQ-EV?Dro zcut$gqG8?DPmBUJ&5 z`FYCPE|EUwVu)}Qjv5$cwn5IMSAsd)ol?}u%ak>_>+NeEmqTApuY*AY{)#LK0IT$Wu_liuL^*F4H;vccQ2 zlVIgHDj|6&ljXWYtSUduZ!lWFx$}T!b2QiCsT%h+wRpwKU(KbBs z&Fw3CyS`rAOs&}6DdxzZio++UsW?_KOW)IlvF!|$70(s0cQ{(}^Qk`Vo xCA5W4U&s_bC*8W*k=h~t4?~N}loQlQr~)X}P#?H}5;#m)c# diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-base-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-base-l1-2-2.a deleted file mode 100644 index 1c98d99581c153843816abd52dc6c8812168b2fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2770 zcmcgu&2HL25FQ|DT9m3iqCrzaua>|*v zsMM#(1N51i&dhpY3FhY#7O^|be)jBs`^^rg@4UD_d|!TREw}1<)vdZtqwZRk!&7E& zS+!<8d!SnefCGR+7l%&(M}O!mL|cfjiHsA`k*SPDd*Vy+BN%(rK%n!w=?b?l!k|ar z%pV2g{v?)yFi}Eik;wjK9Hc)*&r75TtD=SlR zUjje*5Kp4d9A5;{RBVL!-$$~SRwkO?b-Y#`$90iwx7nEU>fb&=Y5|%BfER2XLM4^g zDckEi3p(A3@1@>)2+y>jb64pl$rc#g5H6q>p4Bz>DH;d3F0-}3(YSN%C*1LRTtnl| z&^XD#>3Kb(H0&s`Q5v?EhE3A2!>V1gYZX5Xp)v?UnLY6D9^hMH;El8+^P47O}G2GJcu2L!8=xVa`Yyr2?_G+9(D!!W1FEelOWrW~~o* z*Lu^bt!UlFb9hOM$1BA=BX;Fk@B$CmYAkZ?jakPU6l>QFLAnP=53?a zypkUb)=H<5G8A*2d({=;FB*F&5_?H6&aT9v#woU~k~HdOB{^bBW_Y+%uJf{s?xZ(3 zKg?84g9Xlxl>~2o<0hmCdF^IVA?7zfon0M+#YS9M;Fc;0Rl;BSxOsNbK3a&m&BwWV zT^1T2GmQ4(j_>YY)34cV;WMp`#hx`t@s%#0p`~=KG)(Ww)NE97T0&{H)_}<;R~E=} zfSIER_>`(Fi>jeL%*ImY@V-d}YDH>=_^%B;DsxWJqDD7@@?7w5)fM448XI>nw*MR2 ILoSy80|5@?pa1{> diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-credentials-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-credentials-l1-1-0.a deleted file mode 100644 index ef9a25a30df2a40f61699d96bdbdd79197395fa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26114 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 RZZMkd^R7SIuRgyyz(0nt1cCqn diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-lsalookup-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-lsalookup-l2-1-0.a deleted file mode 100644 index 716ef4edade78f1d962d2d92494611b100091817..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7034 zcmeHMTZ`L96h4-Bn{?T>A#B=BA6m7f4}sW`99z4AP&Q2peF$Ztx0k?JYince$`>TL zO-cxP2%(SrRQgczT>2~WEBXuiJDQ#|7io0yWdl(#?0{y*GoLi0Gv7DojQrUxH|!0* z+_-LLlijf$+p%`qH%-&xU3zYsogGKs(A@xl_W_J&0PBwd&i^Z}%}oHhKKNW*7aah) zE_KDVeFU(5#Mm9ieu%se7=KG=lvmba5ydT|Q>iwi{EA7kO@h!gTj2lE(4u98=CV~5C z&TSclxchdmH=d5-@BDstD7`&{EIwXBMMwYm$UBIeW5vN)+_NpqagcU9mf)gkb~pOZ z-$D8T?A4HEytWR_*n1fB`s~bv{cf}G#_ntg@7aU>m(7DHS^$Hmg!AcvSK11D9xH1& zFFoynrEne9PPon4xE+PNhLx=noa$F4%Azrh8Yqi~l0_qtMI&f6?1t6s2La)mhsZQ} z{5}na|kRN?sj>FhZq))K;Mq*SOzVXXfU(m0Ule8_Zt81A*zL2Bcmby-oyeiBQZk&GJw#~ zr&yyzdxL1%qn|Pv@E6wR1bqvm!m1R>{SntmdpVul(Bm+nli$!Ri*(Y}_*JD&j18`u4`I$48Ugf7njtE`WYr4mwoBqqWh1746mN>4XZ8s&Wzo##?j z+*nQ(t)llhQ^l2J$zMkm^*les!EvR%#^r)4k`0Ed;?JTgis$I$Q-SQNTobM3G|?$~ zinE9+)x_&WR7PGCnJ+b~9Z{JDZG0tLs4(Df%yS+i^Y*2FBa5h9DfV(ov5Vg08O9ll zVygREEK+4mb*POyFQ%H5Rk0kd~HCVER3IqPY QJfntU6qWfmqAET74_Q*g+5i9m diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-lsalookup-l2-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-lsalookup-l2-1-1.a deleted file mode 100644 index 06c3727be8b8770fb61c0e084d5390fdfded6a68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2782 zcmcgu!EVz)5S_#=g{TM)JyeK;k>G$-8#_&$2q6@y7Y-CfLP*>;ZtNsh9LI_s5pER+ zP8|9Td`Z57&!NohdYyG^x8=}ml-=>{vuF4D&5mEZa~H$O`^Fo+*zC6L*pAg{AM3is zr_^58o84A+!=M2GI{>u-4qpNG*7RrWgt0G)zerf$PyGcunR`C_7DR3wFm$fE4s%*8 z49@7E`DZ~ioG*Mvm{~$-miWWvB1pfpFmc2Ae7cNT*km^TT!s&u`M@T=>)n4e_?Wn- zZsd;r&w=*|1E0Ea97JPaESSZtYSx>s;?$hy^j7g|TbAQEy56w_&$>Qnct0N?wE(>u zz!Prmf|>fOl-t#v4*h}Yxv5(X;WItxug$Y0xdjI2gbV0_FIy7(5RDyNm)d$@NnBg{ z3AbO3>qy)Y8V4mfIWI?)hA~SFl!hUtVdT;I^!JYLlI#9bxbJ?g$G!yV9Sa9xL)PUu~i>0aX1 zQNiVTq|Qs5aMHdy?xRBk>ghz#I6sfMbr-cy_=$;dY+N}oN+-)`Dm+|o1*U0}TgV8` zuE+@DmpI)t_2dz2zLp~#EY(gUWhnqZ1h_?>KWJ^MR%|!V5{sHhwp;7VaaYN+J2=^2@(mAX#h zwd+*}R4#dqfh-d^YZL+R5;bO1Kct5(YYWzZ~3+8 R>hK$ls-55bRkW=<{0E#h=*<8C diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-sddl-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-security-sddl-l1-1-0.a deleted file mode 100644 index 14e680b4c2162109f3e483cf4b9429774998b2e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5594 zcmeHL&rj4q6n?t}MZ{fZ zjh3z(yh+VW6r4{|2Dv?kn-kz6F?l%h)PoZvw{;*qReM zK3g5w4twYJ+j}lU<6+BUR)cx&7Cn)@=k_}T-(iI51%zgS)7kgk@I4D`+hd-|OlGh) z!*O~Ju&&d#FLfeV9rO*bjaYnyeu9k$CMyk!N}j_X@Na0U#9gmY=Y`G&+! zVPyi>rKS}yByLIC2{%)YYf9WaR^|$DvR#%aky+8r5Nrr zVun^BujLcXL5VO`a4{dtsWi>G-W{FmEh9N&CD$!{5BF&CF!8UszQC7(*&M9~*L6SQ z2)*Ybu1maHD!5oXYP+lxPS&&K3>q|`oK69a`{xd?jl%RU4;cu@#90H|VRyg3D=eIA zDNoZT$Dju8U7-f@FZnb{>S-g^oYMyfOQusv3Pr8+Tx3=FiIp(~%dyCdt1B=tEpmyS z6-keRa+iF@mrK`~B6ZPu^90-Nh~-r1V2l_^@Z?ucLYko{4U-5FpZxUh8aP>B znHLgVDw0qnJS@h=>Y{zDAm&3c&XVhTfR&dKM%r-4$0v{J*U?d8OKMu#y$B)1Kbl)` z@)p(vrv-oUXQaMdwM?u_A9y@}f1$jc^Rw6H$ljVqqj*w9Mt4F218H&eFwD;nO&E@kyEY zG+lft#^rSJtr!>Ug5Lajby3Z*qv(p9vu#{$%`8U>Ni-8i7AmUn3-h#QavmuDtSS1& z8nx@?e;6uyGe^?fbsQ435VDKEkYc@EBo0+#W@SEaIrILHIF#9WS~c0mvFgGYNf*~~ k=yY9NBn~AfZqb2R`X|kmzPp_#4xP&@X+@o{>lpO*7j;q(GXMYp diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-core-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-core-l1-1-0.a deleted file mode 100644 index 811d6778678ddd2af55dbfca2d556a0942a6bcec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4458 zcmeHL&2G~`5T3*-Kc)N}io^jS1LfAFc9pt0AQZKLdaS4r7o@ElJGE6O4Ymta#i0k( zBkDtN;4ymU0eBqB%&ynoBzBS>5>$zmygQlw>|M`(-_ANuU)o{Ido{nJ_ZM@`v`oub zUt866gLkR5uGbCh;AM9n0B!-4egjl4(0nYeJ52z(?rqS;*d}A|BR7oLwi~-4+dOn! z_QmhoJ)fcTxM4A?&H{gruEgK*yRE~}WrXQOgl71J&wk5g+#i_CWCpVtKBnUW^IY4R z<~Xnu+hM#Trmz`@!D~P2*>THr!wUZ0lD7=H-?{sKgfUVE+OoS& z;D&FGYSC(%hGAKju3HVPlGSw1Zs39fG)e&Xxits1*gcN9U0ms~ zy<2na*e-_fo+fNx)b^ri3=B>Q=hFk1>Jp1Ig9^?|Eln^aZcX|Lw@{2*m$)S~7ISd2 zU$#iVYA3290jmiCt3<$RU{=klQFDR-pw{*SH@V@@CBS~EZ68QS;#cEH!)gO#6HJX^ zxd@}gPby1qLvnQq}KJfNvVl}`h!MVbxH>ruiGTID>ZOT5}DxKuf6zqAP_?ZI{d z9U4$gdw|B{bC+9_@Z973F~YHM&Okf%j=BfJ!X?n>SXn{vpXo2EOG0lp)*N8a} zse^+hJS0--rxU_UY$kP_>HOtuV zB^;+l2V=r4g1f%53(^RA8?*JSI5CZWn9Q`eOZLE;MaUysx5ktCSuO=ah9Cd z6EwCGjP&6fUtGSRU+3qUFSE)c&m4k*G`?WvZL|cd1%v51373@&PE*i^^9-o*q^BT8 z|*g5pzO~m}>qJ8u^AH8K;qt32&&GrAFGyxT7@E%f}6A!U diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-core-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-core-l1-1-1.a deleted file mode 100644 index eead8f1547ec87c720fe43ad50b81aa4748a3710..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4466 zcmdT{&2G~`5T5*$pHhAfJyakeL(7c>yCiN72vuq;6^TPpg}5MX+}I(eiBrW+NiV44 zP$9&j2M&lw;3+DOJONKbnc4Nmn`YglNC{#i?~Z3bd)Kqyx3jtT#Oc%;PiG$)gT*Ra zwq=_uWy>&3-lf)tQ8G*M1JzjoxB`&*1(5%N=3Q}Jdk#R?jn{NBw#L}Y(CdV3%Zt1Y zTWh->d*=tvp3l(PtJusgv8KO6SL|>3L9N~K7-3o=p&7nm->-R$`=U`h*Vf_FH^=r?9db`tdBEKB~V}5IojR0)~-B$dHa659MZn)8V6+f!) zBk#Jm=LN18MDkJf5lyG-x1F7+*p};>ww{)0+O};Nb_FY5s6HOn)uQV}PCA75tiskwaVHE%z~GQ@KD}_MB(X>|$m6`!vI?fem8G9>bLqGh ziCaQrUW1eUvPB9OT44bxScoZDAPN?mRsnxSx7h?J*8QdzKk)k$;7z9P>`F)MSK~;- z=FW^wFg1qRG>j6zTpC7+U7lkoDuX4CFOS;{cI7gu7#=fXMlQ2B_>%aJ#-Ku&EHtp5 zhUz)f8{;#*Vv3#2FcPNQxC*yu>X84}Okd{Hz-pdmgY#O58A7Y9W4gqvt%B<-N9~t3 z;iP@GokK?ssHQz2$K!LITjTJ&!FObYW8s{EderC!yTZenHV|q0$SG)nM^|Wp;!812 zin`Z`IS;9WgC)jkM2iaT3Bt3s<3RDYI&=Sd!AY%J#I)X@AbI8S{88SFRGRd z=+DsqvqEmidPo$~4-xic;VahquNJ~c>6`e!r9=3GGr3Y8x(KPiC zDC3@|hn^lcq=yfBTz|2N2N%_YV20)oB4^J3n>Fs>{HY|Gs0atIv+xbuzxm%h`7H4V D&1D96 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-core-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-core-l1-1-2.a deleted file mode 100644 index 3710d1ea835b5e01a0972fa4f659a4b7d55d18e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3564 zcmdT{O>fgc5S_#+g{TM)6(G16QEoWcY3c?Ep-M#p2?<3)h~vhs9b)QyC^pbuP{pC* zz@g&Eujv_a?$4pj>_@y#Y!VI$Vw9}MvoE{r+4pvwyN|ume)mcBp_w&j%W)mo-rllJ z6F+ErYnq$&y8J=A3ILY?N+$r7A;9WS@vWW%RL>dPW$bkvjAGUbl3>Jk2Y$dlhJ9}s zG7KIzUFJ4e6z@>Lf#)xB9(Wcc zufzgg1V=A%&NskV*c-B(jx_W%jE9j|fX{ULN5LSe4aS>LlzqpxUDq{Dw}}n6cGW+@ zI`1W@aQQ6PWt>jL0y zspB1}fQ;*Tq-l+bxe2D{uv~=E@@EubwA@uVhO&}1nO~l_73?xfg&3YQVun$=mmNgj z(HvxiDMJ_AWoVU{-pyfp<5Bj6QA}^z;@mOKl<6++!gX3YRQ@&7>wFp5tkY_6UAH7d zXqWStuJHO*!;O`r_bZ=p%AdThVZZ=t=?pM&(jv2H4m`AEjdmX6YM#w2%h@dDM&Nq*>PGO#-~2*TmvV2r_Bo~ zE>lIQ3MTouv9{UyzJsw|FatI2-<6EXvzp(%J3cAR1KLYpZw2|?Ogc3nBVt` BT=oC} diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-management-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-management-l1-1-0.a deleted file mode 100644 index 612254a08742680cdddbbba9ba8c5907c762209d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7638 zcmeHM&2QX96o0#$loHBEA)<(rkpcp#yV&WjlLJDLwn)8HL~1KIRGK(hr@Peajn<|_ z98eCZ;($<3RsRx%P!B!vC-CRczV~Lvp0T}+Q-sk<8EHQJ{M-3>^Ly{jct83gm>-P4 zT>IRylQ-~u&v&;5p5wUu$}AmcaLrdg*jodDcL3UV0akAVTzo3?8-D^&e(QIcFJqhX z`X4f1K^)}||Dr6!P>4H8I8VfGn1*vPoQ*>9!z2!lCIW@W+rIGoBAV<|R`Tg2KA6oz zL6~VmXn{REm>h&+8pOf9a2m#`h&3jo1Or}S| zmVJE`#sz>S;)mf)Uddc{Q4n4aBUG2_MU7(1hVwAU5W1Iwa5#(8`7Bc1e07|`O7dYe zOZ0Fzf_N06LV0NwFGkZO*iU;i&8=e*@~WHDyc>C4uj}?kQAGIO;RLrvrhlFT+-n^M_q9OD zO?}evox&UlX6mxN2xI86vj}78aD_3X9XlyKv;J1`Rj0KO!@47ebXuR;ov0@ogA!rd z5M$Y#hhg52>+^ow+su5a=Dm-5fld|E%Ky##O`Zl8>ogmj*9VFxwAWR<*LbrwaG4#M z?{%ASx?QX=F?7iom5bdtx7EFRD<_HnR%V_e8_R(#n;OjM1_?2Ohy zar8ko&e!uIe{(}&v(?*HOtEW%Zlqc`!_81|B6r6Y9;w? zQA2mDocsNH+_z3xlKVfS;h*OD?<#LdRg<3o&=~h+p8u#CSMvNnR^u}6ljl3D=UBnBJq<=xycm&w2$NuvOz^_iI<4X5|pQ>@0B@heFY6-}T@_$3jndSW= dbOq;6DZdlAQov;!o?u(bu?uUF916F@FxHO diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-management-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-management-l2-1-0.a deleted file mode 100644 index 48f1c67302521023944fbad1d2b0614e43ae9097..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8758 zcmeHM!EW0|5FLqj(ikpU1Zm+GY0U!Zp+KZiicI?u6b6g}Ikhf~qQ^BYQ4$l0N+r5= zfT9R;FnZ|0ryhc!rylwhMLr>?d_lgVho&>T+~rbSO0+T<$z_c8BwJW~tBa zc;j~e%e7l}x-_;LZo_r9w;bEX9~Ql~?QN$S-*C7F09OI5D!}SL09TI0vHloKhfks?5z z=QkY3bzSm&!35hrTn8^s)<%#BIrb!ma1ywk7T+Hm(_PQZCO(!rE|BLlV|v64nwD z)&|X5qvq5*g8|{|-C*FyH~#wypjYX7_hm=iuiKNfG+~P zMLjRDRaR6kmuC|P%eElf-1ySc+0G18rR- z4W{xai5n^&&|7SwvQX0t2`&|1b`W!7#wniBJSdJnHsf45uIt#i8)IZ2&iL7@&*|#y zEa^*Hm-DkQ?un#Zc;^*t3GWu3OwWjYT8rzX-pWQD&~3?M48%;}RwE5~mxwV*{E$7| z5-I-hIgMep~`Qr&qg;h33Xbf&>~j zlqpeCg{N2>XDxVP7L~MTRGio<$ca{#6KCir^ElDhe5p)Mj5WQpIPtR?r(UFt8K-8P z;>4#H;KXXmJEnHj+=BoXHEwL;_^BjuW0zlxstSK$Lnpx0?6VA+29(W{RzaRLaRbi_ z?cJBLBhEz>Pd>!=e%{!zlJXS!iALlji^>m*p;QunsO=^8R^bWOIzQyBv&2x6vKeu^ zC?m3wW0_6eP>i@pHf0%n13yB(RoRsAd-drxOBNE9&533~PAs!2TKxDvQ_Id2CoYmr zRcHMRfVyb+x~S2jNH#U&FAfnjW&z6PNuwZ7mOF8xNiI(=5<4nj_?PM}h#kgR3uc%_ zWplzQ$cfw8ueZy5>i^|aVB!Sk4~rZ#KISWjzQa)A6(v>p18alhtAr{?RuU`z1Bwdl A-2eap diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-winsvc-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-service-winsvc-l1-1-0.a deleted file mode 100644 index d310e5a91bcb60e470e199e44282228312f65463..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15338 zcmeHO&2QX96o2t1{RnAGA)=)cu#{32DcRafve`-%%CdlZ0SXl#2PDVMI@wJ(yV0)O z22`OQP!%B#5keK>zzOxhUr}-5#JPU~e+K2fnXx^#$6jwJQ@Pqv<|A*OJu`3KZ{C|3 z@9USH!Fv0h*^A|9u$HZwRWnzX&2kz4Fvw}SY*}WFKe09o0A~TF?*kmZ2Qd3LkH_Z# zD4smTvq?&E!(sm8(*~Tg57qV*8kfQT=SfPca3+W=?%K?b%r~Rx88OK4Y2Lb z_Kuy!A=jz+8}O;S*%_jQq$aL7y;j#9d?DVS#gSh3{;uC%Hcxu(=;s^o$xV0gwdgvI z)w?+qomN!Hq-MXj(b@D{P}L-9)pT~O`gq6fiH`Vu5fb~S`JvNuHp8il5kKmCosH;l znr)}I>H2TXU}z3p$8%#nh!Jtr-k{$VOyLYA=~0T1X^hCbCSHbhl0cPJ3SuBqbzSTB z)~;9S2a8hLYGj#at%mDR?NXI5M&-5H);(NsFkGGjIKfIYQ1RSdkCoGtGF)A&v>eY# zXJIv~aP?v3`fxac4ek%+Sg=y@U99F^f`Idb;@y(_4t@wNwurROS^XvT_ z7q-Ri;UX?8PU~_82x#1H8U6v&^U5d3& zY_c4UG#*KYr8FK%e$$MHBohrn#!PlISXG)zJO*rGs>hy? zzPHEF_qw^1(Dxe7!}HX6n10&&US-|DWS)A1{W>jlgyvbL?>@hrOMC%-Ov`L zZ9tYMvn?P{z$8a4;8WbTgm%NHFlj`v!^TZoz~n6lT!QF0fBG72SM3eBNRCrYkM?Pj5*tL96f^M1cmpwk`Ay z z@QUa}eq1|nh-*Ul1ryVd;_jVa#QswVJ)#Soz)}N#z&!SOmZbfm7__eYx$mu$e$YPZ z#3=o5OM0VI|BG;MJp&mZ-=VG)`NZ`#q4^;eRt1GJ1AfCaWAq#sSqwUDMDAPbiH)Gy z<&aO_-5tb6OhfF0Q>H!7wvC95m}4PM)T#e@@2;(+jhOgI;oe{#b$47JsRVdB68pls z$aaBFk|~6Cp~49)HQ-0glOq-oNJv7frBgC<@fS zm(Z&Jd2gJnNh`3IW2dn8ly(Zb@6rx(VmbwiU$Zodje$HTrpi$ZW59mJ6#uD^POm8U y-E#7a?+G44ujn9nKp!DF{di(tWSek?j2ec}GYSsZkZQm$n5sve3J6Vi2>$}11{}x$ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-authz.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-authz.a deleted file mode 100644 index a8ced6abc66be23768105b9c5d028c0c3f7fe48d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32456 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 E4}VVa0RR91 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-bcrypt.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-bcrypt.a deleted file mode 100644 index e05b33b706624cd4133045c892ad7e1d115d1a8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46236 zcmeHQ>u+4e6`!obE4)$&;SHOR00nB+ueE~^N@8Qe+f4*QZN+Bey|y>3cdgyEi4mev zL{UVeD540p2(=PwrK*)GAyxfYp?w zzjNlCIWuz)JzMWCt~|Hz>9To@O^sE@s+H-fYPnpYN&2~5o|u@KVRxL}M+j*Xa_dDx z_CG_&ol7hne47vq_d+~|2Ou89!>3s|+#&?S(G3iZ z-wDC+%zs&U?f@YeP8?=oZj=xVFTj5cFCApzm2U{a@cKVlIQ>^bFuVczVtDJ%Ec_Va zFueU27V5ty1ViI83(H+XFq}Wn!s=;4Fsz+pq4y>s7&cC^unB1x-tV*UQ@9VqrI%Rv z*|UUTxLjf3=SK*^aP>A8uKkA)48Qm{3!nXq5DdTi2Mb^PjSvjK`I3b%KPLpk?>=PV z_fU@*{&;hy%1)^exY?60hfS~qIiPr>efIoX^8R^M>j z$4p_=FRre2x_wAls5iUDGt3l=+E2+P4f6S1yyI${lyri6O zuJvSPy$a&icq-iD5{P@-*fhzR&DGVU-)$~JC0O@*2+VtZ_4Y!-ZWC$pj??vaqqAy1 zg2ytdc@QQi*O!(OvnjM_PS#2;Zkt6g6jG_aQRDp%tA&@E%1FyjQ)7UU^tJ{#=oVB2;-v zV7hOhB?)@k|C{yRW^s&SZhfuQTm;D4NHr2HS_dSOSmU_4q}T6uHqX#*%XkAbh3Czv zowrcY2A%r`jL>*K2rP=ylP}NBk6UkGrir|H>@28OetMc>QTr*m+?q>TptSL3wJ7xz zk*C{Ub5MbxYVrJLy9qQF?FO7Wu+vzcEH*%_)fc1ly{VbPbLIV_D4Ia5QAEg$cAgHA zKaYX;it@KQy+q<%@P~P)pM*X0M5AHxm~pQsx$$m)vp?FA=9jd)rcAqQtWv2~!4|7d zaI>p?c3%sIQq`Zfa+v%_C$SA6q^mq7FCJSdr8`#|qK8}-xuSd`IdV{G5xrlU4 z%<#yhpuG`(?1lHzkK?2w=%z$G(%llKn-+Apz>fnSI*~4}%p@6Yv|3<2E;U;TPx$6r zu-f)4)!z{jJYKIa%zngr29oJ@RSMB)^)wQq(duX~rNPph2d_t3Ki5Ih$eth#ts6wZ z$ex?cO!z;11|CRLA`5WN(%M7ht_*?P>8Wu(#GsH{h1%YauSoWO*T@~GuK}k6_%`rf z_i!X&YxMCb*1XcI zR4P*wjA5jdw?@~5l%KA!(Y7*`@;A@|UWTUHM}N7zf->SMNI%OliD(NkyGPcAdJnX#oT%zaSk34SqjG9=>t9FtnlijN*~`vs!cBkctUM>4H3d;;9X zdI2TjMGUP41OK$V*!t{^*c%dpPiOeQ4}Rf+e9dBH715ZBaAul`U25GlaMCgx$HP8? z;(k05_mg@b!EpaeDDGCcU*lN7%TD6{J?*)JaQ~s7&cXdvKb>sUN1=Sf;(n4NVBnA^ zDdQ(6yS#&UYzv zp2=fzSf8Gl)a+u0^-m)tdP|e6J1NmOwC8G)+R^nd`so~r{;{7)Pz_kD5G2dI7nq!huJBTyh_tQC?@sXcSa>hf@%ENL-Md8AoCII>6xkq@IqF?8V<2(j0CGs(x zC0DqmxA?(BkUb|%M{+_j9z86Ja|61fCtCjFg~>yqD1%wFnGMWTP)^#T<7kFtW(=s!P@ z81T(O%(wniMxeu?tb&s)f}Ts{3S0#T_)2fGftMnCUYLyJg~Cdvt;jkAR|868B|jz6 z5S(+HYkMHxN)|H%!3G{QYkUw{_MBn+ibFcmgzFI~#*b7laTxe!SRLs}&KcqP;rZ?< zP+H)jdWx4=1U;9?r*LIGMYsm^-eLe%_IzRcl0$q^_>yUBhI))NzT_u#RD=c$;i-AH zq2qnY`l<>sLsgD1JM0mvu5GZcZC`STLvV4QWnF&(aM{Yb?rT=*PFmN2SwW8H;j;FA znicL?*Pr<5q;>rSAbHrH@7-J%|Nw-bhxnz?v}hYMwsCEcG@91q9+a5voo_xFQq$smV%9*2KP;-u`C`KMV2Ai( z+_gZ8aVlkjl!0r8?MEKtd;$7|Z)Ik#HLOEais*gE9FM_EiNHej!KK$3B2YouYgH4r z*E+}z#i%W|W2l!%Giv)N$Afk%yK5Wl$l=A{CX4O{B=bH!6e~*Xa0l6FtVoT(GI5TU) zEVYh(DKoQxA>BR=&JXie z$IT+>9z5`fJmWlm^^GjCF49$G_9&0^C|9Rl3l?YdZ>6=r^&M&L=d|Z)ww&BWoZu z!anGeO*3xufWkfB5jfxaPyF~KV1D4v$lHMPSbyt`>u)XW+yBqLy`SS;+tNDMdj4HZ z6lnIXn9GR?C9(l$HhQC#SQqPhboQD|te3SwI&H_0b(>}+=RVQyYE$;zf^=141L<0H z_DGNPtrmNMQlJNQmoz&2y$b2Z7X@~Q&TfB4!GgR|Bio?MMEhEcIR%LPkc3a8v){vU zufC44TXc3+Vjb;TZ1(a!(%U*c?&7?dJ+E~3GVs8#KB>C}&I4a`$+Mh4j6wkp<)4~o z5%gRlxcN2H-$UQCF*qPlL)#$tV|}#6oMGCMA-SJs{^UUo5wKu_f6Oi4vOj*#F!F&a zwT*r)CHp=g(pOtO=Jo-X0RUUgxH-!}LUn{w~S@COL_eRI4kW)E49r7dQ$eNkM-qF zyT06u5jMeYnT5X}T65TOq3_A|XJ0+dGumD>ms zC)R^o*u1o{EK5P^J!!^y_VX5(UrdInSNM=T<2>HxHA=0^bTc7)i5}_6Emnq8zz02A zX%K(Ajd;4`DBp;WAK8?^b{1M$DcNH_){9$==4USDZxfhjU!`ZCa>%)q9|H46sSPo2 zreu%#NRMu{n42~b^J(U$-D+Z<>NR=RYT{>M&M{PDi9KMa(b*$C)>m7sr_CJcx0pz$ zJ$s&!j#?ca%1#Zfr{zd@bs5G1EIxazNBU@sd6=vnL-uN#QOKJm*1OG(1Z3I5$(QHm z$8&A3#;={C+qY?@HpRPHBik@e6X~fftk%J}Ph++2vvEILUu(i+@+{|v(cn3@X{o)a zXDOM>`bwlvwpcGX81rf79^YhRKIeExD+Ujx*M#;nlXBit;5ip;!+toGXwRzaV=6qW z%CnkAw%;gm-b(rjpJ)O&*)6hNFSRM#jg;(Vd*N55^2pN9r3?HBmq%Cpt_2o?YiH9~WWMbLAJd;(WCLlW=} z-+lJffWZnuqU^aM(*HVLamR12L~unzL(@)jMO%BWwgb1r6&L(;PET;jPbawob=+aO zq7=Xcf+o-0a6c9R4#f>KEP|d(hu!14nnK~$~OlbqP3-SKy+ME^`@SI3Pdh#4YDh(2pvLkaNWl$4 oBA#e8xC*RvqdfNo4?3LiERVrUiF^cS))#n6u5*DeIWrFUAJqrb1^@s6 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-cabinet.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-cabinet.a deleted file mode 100644 index 349ef848fd5df56accfdbde4adde2fabab930cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22288 zcmeHPTXWk)6h2XsUebG;-WUq*P%>OP#?D1fm;!;Mp@A7_OJH~?Rh(EMrj8wKr%j;) znNFv42B!3hCw>DDJo40^!4KefP|n$lcIB02*<*zfXlHgMpFNiL?0)Cy?4Fg*Un~B2he*vI8xx;he1_0$Z z@jsN`!v9fz=TDyB`vZXT<==U}@)&^fhxd8@s0u*&+BDBgV*pEIjx*;tpElfj!@24< z-MTYZE4j{{a<#Zwc96I|Z9Dd)Qz@@d7W9pBb+uM^oz>z>x#~8ZqJ#V!E;#FMvDB9f z!Y6KX-d(M2Y}VaIqgG$6uGQ)r#b&uy1;;6GY&szfSTz^^&*19oZo_|9aVwL~DC#0Q zpGLj5<<{?pOA*S#D%JJOJ_uoWA0??&KErWUUFN4P%r7q0x2mhfraQ;SQHT*xfuzNT z!KFx8Kkqi0_1ax^4N1Vdxw?yYQB~qM)zmh%zp!5mbBha=t;YI7tx|I9@=t!EQ9uPJDF}(H8Dz;J>%DtbY7IB&Rt9~JDDpC@NiEb; zaciZSt$D_{ofXdKa<*+}GWNubFx$%`rH6aa5Tgwp064F9+6&w!TsYL(=<` z=ttH+!&o&q(3Xew4IyA~fO^MFbPr0zW5G2n`}%AfA?&Vqf!%_1ATkQOHum>XY9tK( z+t@`9f~Qex4YuoyzyghD5OxK-@1XH{y5M6FKZq}gPBa?LK~|Dh53>F_#Ll81dYw5Q z$c~Aj1J;`BTh&{f!Z79QX%cc5P|tdoqn`Sg`cx&|dhj+Idcc?^qUlJQ2=Fm0d11k? zc+y9gtFP)p+S177a^q86Wja~B~6Bn_5U7(f@8OTMn^k|ti z3r2ScN;}GedzP8TViIpw*X|37&u8hUk>_48pQkM($1L(Z4Cb?CyI#PPD}qPTP~xZ0 zUZ!79o+z3+I~(RjBO76g?$2?yAI~^WIVSO^&?w`nVLl^3?@#tb0D)=Nb99G6Nm15b zQdn>JG=a%YDBvyPEd-zr;F|Cvo>3wV=agCcDUt<0;#tTPq2nB)k9x(P984D`qv}Fl z^Ln^0{Dh)+(uIcD9*S2B|P3^+v)$E2{I?C;KT7W!@VS7SgmKxO?JwHsoib>4IG-7|(_s1V$&H|8vb(-c6r>MZ0g9 z&tD1VGkpHr!F--B(8_VQ&xRA=kNPFq10pYwlJbDYIDwTGe2quHv>fg&v>2>?emWw; zXG}l;5srE%gfDBz*iD3grQJ6S;mu$^1L5BV^LYqAg(KK4!jA*Sky|6#c%398{WL?g zj`WuUZQ5>%Xm;{fmbB;mZu%=XwflzoE9=30hQHD#%IoQJ!%{lJz{*+E~K+b8m|_O@I3BbW|Id9 z>2f;7u<#$BO)6p@$JABV-xMU7XcD zwo)Sh9}AKrM)(Zwf8{a>-mZHN6wNNz@(7wEjJ<6g72{mlv)5j z@KXkH;67@MGF>sD;cV-p^x}UHBLY_CMZ;SiF{~k;-(xU?{eG z*)KR0^aYiKV?4@!LB3R?kgh(`!oJSquZY8*M~-Qlo_ZS7R54A8b9C#+3<}JvJ^#tJ z=_i?0(0!PTfrvyHzHh|vH~rI{C<^PntcY76$2=(*SM3d7 zUy+e~j&b~yVC(0)`sk|2@3-Wl#x2wL^=Vkzdf~lT?Ezq4Rr5WWlkAC;w?;|LJhPm@ zO8&mSDX}oy#uw-M2zKv%{an;Y=CrvlHuX`I-R@;S3O=!0z807i`%UoeZ9ht@#2VJ+ MLxJ4%K6)ts0D>@Mi~s-t diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-crypt32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-crypt32.a deleted file mode 100644 index 3ba6b61af6aef66e91dea0aa1c8c57b4693d6b89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202142 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 D$@kX7 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-dfscli.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-dfscli.a deleted file mode 100644 index 043ca84eb1675cacb4c341711c6abe9fd5d713a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22856 zcmeHP?~W8j5U-m96huJ;#J?E~{)r*y?s+%67(zf0#RPKkkodtkx7^Ngt9QHS-hfDq zA;u6t7{f>6Ll_^yr|`2eK7dc4R(1Du*G%{9&aT6miPK4U&sNuTPj~;Sx~98!j-T!f zSJ%(%d&5tM=3+Bw294H2+xHuyh^M~aTs*ZP?^xLf00F?BuL1V90rq!gJP-p=JhUR? zk+T34k6n@Rxwio*zKHiyJiZ{~3B0EG>T5E-z6XHf$=_sr;|~Ce^C|{dM)A~98Bcov z6wmxFo(;_Y@21`FXv?>a?A-|Y2Q2g4}ru5GVw^ukVv?3)pU>rtm$MtyK4 ziZ85fFGulm+&w?&$DLk38ZJkxH;29WO9;c>=2keG$CT#XmC!ZkrT*F=TeqNTj*Icw zhjFp!`_FImqJHdZhm}a~52DS%tq8mS!C(-lo+@3!xry~^XLuuW-M|X@Jr`ptxHuTD zMqNiUsbc%S+&k0^%4c;3L>FOIBHbCsv=ywvZ-z0OAO zPNoT2FDsRIy^CnOxwSPI#!>eQ!g+hEvl?AP!RQV8sb?I?XzCh=T&l*!V`@kc%JEKj zC3MYcjSX@!HR*FAh8SlJX>%3(j13V*_Art+x@Wg1`O- zxG}TV`79wQIv+2pem2tvvGK9;@_5)d&F1m2G1?_~sQ2lh#!-yVZY-Le$>kAaLkO6i zc`RLt`bBL}ARZ5vFfDT}C*-bAfZW#NyoKBVNBbZ>BJBFFkvlIQ1Czt_H27S{6cT7Q zUC2%NdCvH>B=GX&n)s6IY)(j@1xiV#XT|tDF0P8;d0p69$c{l^1J>g8oBhuuMIb6Q z($vWvz`Ph;iFq1d8dDRv?vT%HNr7Na@Ju<$ApjcEI(YCSUYBQKmMtsWjYeaBQ3}jB zE#I0~uNFRO`A0+_@8eX_i-t>9NJpH+@^yt-%6w=P)bgm6nf9UII|Ct# z+LtKXi&qk*5|LDo!X{f`=@Dk_^#S;Jiq!xVqQ%Hj3wW1Y4UDEwC}K2Hav=ImD3DJi zpAdjrmvZnDUQr>WFYA= zx9mwaG`+N)3XSzQ3u3*6X1=!YCD!la{Ex%>M+_r7iS_HO-BDQIaPwJMzvbrBSSNdN zQmj91W?sDYRvG7q2+kOcu75=mMC!p7<{IbLdp}}a(#ps8d@+2t=J|U-ZQCe2K;zrT z`I{8qN6n18Hfe-SP*vOJxWF~X`vpaz%!3~=)p&RHKBMBDEagi>vzRmlr)+Ki9csXF z+J1#;$(_{ppR#sGY5UmCXKDMd-F#XaXjPw78jct|u>C}78CO*bjuF@~7_F~2ERgEK zSD0!kV7<UxQ8)^i*Bys&)qw+o`bDSan=wx3y}pL{%IcpkG!(SIm~fz&a4rP2R_ z8WV&5(~3fw2lp`L=uh?B#(%oFdQ)*MJAOgEwxslKZpl(nC|q!pKqJVlkSr{QaDQ=eD(nrkvP}Bxwop zv3ODmd5lSj>whm*mW-F=a52fq^Ux%~yLz7$3MWtb@=)|lxAxE!Gn^+6ho_K-eM}w_ zzr-rb0PXQoFsnnJhbGBD(&H@dHNAAKHwvER2DOK#n8!S&g8 zt$chJJ*}-hG)Lmw$I?k{n@0`4T@Hwqw)&5Y(c*eN&qEWj?dp9-#XDKbmxlV})`fD* zbLU}rXg*@3!TdcOpQg&zP4SaklmgT14E9+;`G_xia$EZ(yCg%u+manSss7(%5YK#Y ztBv^LKFNr9*6R%9c}e-0ug`N`ShlqMxPM(ubDq0fVP1T)qvG1V_<64TizVgna;Mps zoVCzjZ9C?O&=36m^`xRu=D{sY<*AhccFG%#lgmeX!86btBrSB;V76>r`IJx zq#neWYwezR&9m=^q7)?5@^N1DbTzPXPTx`*=Z|w$DnsG#vXlNepRjgE{d;iT&1b!x r=6qjD+wk>zHbMXU&!pJ?Q@dc|S)r diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-dnsapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-dnsapi.a deleted file mode 100644 index 72eb94adc691fd40eabfe095eab755bcdc322e2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222890 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-dsrole.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-dsrole.a deleted file mode 100644 index 3ede30198eb0cca2344d636e9cbae412fa8c6564..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3412 zcmdT`OK;Oa5T3*-g-`^CB5^dRaH@jSCQgtLs?_k3ctl0qkhV^}A#UTi*rpFoIiMam z^}qq~Yx>J5Giz_WZfs(tsECoWJDL5wkMZ}-`tD=P-x)lqKGf4zZ`RGaX|$RRT{py# z+Uok+qqX>f?J59V0VoXsD)#^u-$cLaEmxtVEo1V?tp)<1f9frZ9 zw#m!}8#+Du#c|ge?RY+CcHnzM&Mby-mjfGc%bv%4&qn`PP!?(0s>1bUlU%$0bxS8x+0sN>Qnob)gD z#B>d)B~5E0KR1L|gwF#}5fP3ixB>le@OiWsMFgW#nWjTt0_R0`BhFKPDW{34wIkZ| zlnMk`@|k+lApl+}6Dz|{^yhaM%v~#ifmRoSnN{Um>sacAZCCA+MRCUO_^Rki&C&|h zh*caP#+;>22cuw>$EvJUFIpkX#!2;_RAqV-4P5L%Sr-yqs>-(!GtS0Mv_j|DK+Lyn zoGJIUg3gN=BV%~tv-A7(@ANc@C0?n(?M|$sJw!~qhF-+fh?O)~%unT(rEO@_cLb<8 z6*mIJtQOg$74WI(Mo6l?jEIb+v>?t-Oo(4b;yG(8Lm39B5js0xgls3L(<0jgm`uexpkjzj% eOa+JjS1sJe9FQeiSd9XrEyDr!MZeJJ$MoM;mL{eE diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-iphlpapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-iphlpapi.a deleted file mode 100644 index d536a7181c8007b9acd067fce14fa847f53c55eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232706 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 Oi0%XijSPQt#{U4p6VJ2& diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-mswsock.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-mswsock.a deleted file mode 100644 index 156ec1a7210c381a08a7f6fc99df126405cb0215..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23650 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 z zUu5CN&zAHC{GAL1Xo7DHw))x}(K$|wf3Kzq;MtTO{r+E@Bl@|-NyHPe0F+nJR|k5n z@%fbRx#akKp6Kg)HIzfRu@{BIjZMIMnf-YG=qn;!lRAlaJ*xoJdq!WIc2o)@I-{ae z7swcLo4A`%sY}{(v!YUZ)J)^EP@fXzlBmx!SNMQLJ>S{B)M)pgE4-4l2!n|{bHugqqZHd zW{IiUka=c_-6QZ#n{kUTm5qfB%I&{A$}NKKznm2mywup&;7qdxGD<)<^jT~LXog>m zwc4+fDmBf+$@69R-6k%AXn@P)v@z6L>RzkQew~I!=#o1$!N@K^1AHT|_8NiJOnKEd z_gOpr!QurXt*!8@Bgr{`KlF|6%@SG*voKEkz8WmRV)Rp3|se$(Kf4{u6PZm z^?dWpMB^A(9P~PT!H?x2+72RJ1f BZBPIJ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-netutils.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-netutils.a deleted file mode 100644 index 076855636abca872c570d18fbab5223384f380ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5830 zcmeHL-D(p-6h7Hat%ep0R;WM73iYnUO-(luq_h^qD+v|vgvqwMF>8}-Og0#LAw^0N z@uE-Qv-Amk2%o?!FRkay?9Xho+ax8e6g#jpvuD2DnK|>FZ)W%5GqbZ@U(G$%;;FDw zFbalVDn8XToj1w3rWK1t|AA@_0A>IbEV4%c)4#-(`wc+X>`!scVM*7mA9OLc!PuLw z-RZK5?b#i+;aWEP=(NnX!_e3-8_X!OhO3a5t+idr6Xs>(iw%hT#z?jo)v-EasS#LYfd$k%qlw<`FV;+bD z4h|SiB}F1Yh36tu;5$|(xgSkFUb;G_q6nH{dS5C;`@D59%_sQ{my0(2qa(O_)I(C*i*!8HXIhOScGi;mg$NhZ`!Zts$+$3HXdY{b`J9Y1f^pr) z%1a*;*l@;2$B*dl@G!DPwd^Tp3}O`ZEm(E~Yl5YMk@OCqo6o_wmuj1ds@l%Qvzbp(qS70AYne)=j2bnK7PVjp^)cV3`{J+wAv4leM!!PEL z|7X$qOpFEmN5y}o^{4%@ITx+hN8@@)7k~9MjlPD(x#kNl{IGLPRXPt`U*S diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-oleaut32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-oleaut32.a deleted file mode 100644 index daf7ad3e560db86d06c669842083db1518c94397..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 325186 zcmeI5511TBb>M4f7YvFqV2p7LIKmO&IF7Qr+JAB!u(XowC9)(|D`5y&8tsm(v3F<0 z?5vO!<0!^)4Do^Em_Gr+k&tlY&v7K@BOI4-4k3gPLJ0AZgd>C`gb+dqAsm-*9Nc^L zs;gdg^~~0^x|Xl6YrgNzOuwq`>FWB`o7eTKs-JOPy|Z}YIh($Jv;7*I9Ge=O8l9e) z+PryGCh_;po5yCxFbQ5qHwiI(tq?anONhD8331bTT91j<1{a(F}tl$-yW{{7j0%DBb8rllw|$l5 z?T-k7@=Fhq{OW^3p!}yU$*(U6f%0D_NZ#`_AyD26*9hge;M$=){6Ui6d8ZI4AH1LB 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 F{|AF+#?k-) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-rpcrt4.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-rpcrt4.a deleted file mode 100644 index ccddf3fac374259d3306333497d0c20eda15e64f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 433960 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-samcli.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-samcli.a deleted file mode 100644 index 7cf01dce16d0c9cc02ee1e4cd04b1d3ff77c5628..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30740 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-schedcli.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-schedcli.a deleted file mode 100644 index 87343675f67c98e4071c0c9543d919855214eb8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4982 zcmeHL&u`N(6nqR?NoiQxPE97pgwTZ0 zwBybkICA1o;IO}p@tz$gPM36@6ow{dDfa90m)L&qd(U=nKd^`G?!(GGJzc8xs#Uej zMr~EsP2Q!}y1vq|q8C~f0Klj83t;LKz|2qaRDPfupSf@1nLhxSKVWQ~u{VJ`3|P|* z-62~aI4=9(_3bT>p>k){Vpfg$-UdC9zUTGZgQ3fUcGq>hi1!g?9k4K@SZhj9vK@! za0(3e2Mlrnrm!t%$eO=wMEm?=e3sIgCcgDtk#DkMlEmqlSaMSH^_|m&*66 zhzYZCalFtv))4bK8)wOREu!!&!blyi_~`f!{W?5Mbcv*m?9cL?Ky0FM1;ehPBp52# zNbg6yRQ6aJ8e>w~P5JHssvY@W01=zH#b^Y4OY8+no|hVKg;Wgi^^*6+jKmD_yoMSP z1GiA3La{A0v5C0m3)bmViCp!#(@~LeL^}m%{_MbtY@oS+p0&{{rtLG3Tq3a$elfbiGw^_66s^VvwJf z?cYWjkec(%_8n#1aoK(=8+Rhx?`Gp-&eN&kteh{6c%SZPlp!xF-zn~?Bz!l7g4bo( q#WtPk$K6!_N`^Nt*-p+7WRCB==fd_;-_w5#{}X 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 aPww3oZ+XCbxA%q>SFJTJKDBIYeE$y}DPL6p diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-sspicli.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-sspicli.a deleted file mode 100644 index cd66704f1f8862f6509d54fc1f190756ee00e75d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77882 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 IdujjwA96;v>i_@% diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-userenv.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-userenv.a deleted file mode 100644 index d739a9bb33b11410427881558e2305cea52dce80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61150 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-websocket.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore-websocket.a deleted file mode 100644 index b95d43388921b7c98efb2da99592dc4bfbde96d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12614 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore.a deleted file mode 100644 index d2e567dd2..000000000 --- a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore.a +++ /dev/null @@ -1,167 +0,0 @@ -INPUT( -libwinapi_mincore-api-ms-win-core-winrt-l1-1-0.a -libwinapi_mincore-api-ms-win-security-credentials-l1-1-0.a -libwinapi_mincore-wkscli.a -libwinapi_mincore-api-ms-win-core-memory-l1-1-5.a -libwinapi_mincore-api-ms-win-core-datetime-l1-1-2.a -libwinapi_mincore-websocket.a -libwinapi_mincore-api-ms-win-core-processenvironment-l1-2-0.a -libwinapi_mincore-api-ms-win-core-synch-l1-2-1.a -libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-1.a -libwinapi_mincore-api-ms-win-core-xstate-l1-1-1.a -libwinapi_mincore-api-ms-win-core-debug-l1-1-0.a -libwinapi_mincore-api-ms-win-security-base-l1-1-0.a -libwinapi_mincore-oleaut32.a -libwinapi_mincore-api-ms-win-security-base-l1-2-2.a -libwinapi_mincore-api-ms-win-core-util-l1-1-0.a -libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-3.a -libwinapi_mincore-iphlpapi.a -libwinapi_mincore-api-ms-win-core-quirks-l1-1-0.a -libwinapi_mincore-api-ms-win-core-realtime-l1-1-2.a -libwinapi_mincore-api-ms-win-core-realtime-l1-1-1.a -libwinapi_mincore-winhttp.a -libwinapi_mincore-crypt32.a -libwinapi_mincore-api-ms-win-core-processtopology-l1-1-0.a -libwinapi_mincore-api-ms-win-core-synch-l1-2-0.a -libwinapi_mincore-api-ms-win-core-path-l1-1-0.a -libwinapi_mincore-api-ms-win-security-sddl-l1-1-0.a -libwinapi_mincore-schedcli.a -libwinapi_mincore-samcli.a -libwinapi_mincore-api-ms-win-core-debug-l1-1-2.a -libwinapi_mincore-api-ms-win-core-localization-l1-2-0.a -libwinapi_mincore-api-ms-win-core-file-l2-1-1.a -libwinapi_mincore-api-ms-win-core-winrt-string-l1-1-0.a -libwinapi_mincore-api-ms-win-core-firmware-l1-1-0.a -libwinapi_mincore-api-ms-win-core-systemtopology-l1-1-1.a -libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-1.a -libwinapi_mincore-dfscli.a -libwinapi_mincore-api-ms-win-core-realtime-l1-1-0.a -libwinapi_mincore-api-ms-win-core-sysinfo-l1-1-0.a -libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-3.a -libwinapi_mincore-ws2_32.a -libwinapi_mincore-api-ms-win-core-processthreads-l1-1-2.a -libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-0.a -libwinapi_mincore-srvcli.a -libwinapi_mincore-api-ms-win-core-file-l2-1-0.a -libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-2.a -libwinapi_mincore-api-ms-win-security-lsalookup-l2-1-0.a -libwinapi_mincore-api-ms-win-core-localization-l2-1-0.a -libwinapi_mincore-api-ms-win-core-wow64-l1-1-0.a -libwinapi_mincore-api-ms-win-security-appcontainer-l1-1-0.a -libwinapi_mincore-netutils.a -libwinapi_mincore-api-ms-win-service-core-l1-1-2.a -libwinapi_mincore-api-ms-win-eventing-classicprovider-l1-1-0.a -libwinapi_mincore-api-ms-win-core-profile-l1-1-0.a -libwinapi_mincore-api-ms-win-service-management-l2-1-0.a -libwinapi_mincore-dsparse.a -libwinapi_mincore-api-ms-win-core-com-midlproxystub-l1-1-0.a -libwinapi_mincore-api-ms-win-core-wow64-l1-1-2.a -libwinapi_mincore-api-ms-win-core-memory-l1-1-0.a -libwinapi_mincore-api-ms-win-core-processthreads-l1-1-1.a -libwinapi_mincore-api-ms-win-core-string-l2-1-0.a -libwinapi_mincore-api-ms-win-power-setting-l1-1-0.a -libwinapi_mincore-api-ms-win-core-xstate-l1-1-2.a -libwinapi_mincore-api-ms-win-service-winsvc-l1-1-0.a -libwinapi_mincore-api-ms-win-core-winrt-error-l1-1-0.a -libwinapi_mincore-api-ms-win-core-shutdown-l1-1-0.a -libwinapi_mincore-api-ms-win-core-console-l1-1-0.a -libwinapi_mincore-api-ms-win-service-core-l1-1-1.a -libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-2.a -libwinapi_mincore-api-ms-win-core-winrt-error-l1-1-1.a -libwinapi_mincore-wldap32.a -libwinapi_mincore-api-ms-win-service-management-l1-1-0.a -libwinapi_mincore-api-ms-win-core-file-l1-2-0.a -libwinapi_mincore-cryptbase.a -libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-0.a -libwinapi_mincore-api-ms-win-core-io-l1-1-0.a -libwinapi_mincore-api-ms-win-core-namedpipe-l1-2-1.a -libwinapi_mincore-mswsock.a -libwinapi_mincore-api-ms-win-core-localization-l1-2-2.a -libwinapi_mincore-api-ms-win-core-processenvironment-l1-1-0.a -libwinapi_mincore-api-ms-win-core-processsnapshot-l1-1-0.a -libwinapi_mincore-api-ms-win-service-core-l1-1-0.a -libwinapi_mincore-api-ms-win-core-io-l1-1-1.a -libwinapi_mincore-api-ms-win-core-heap-l2-1-0.a -libwinapi_mincore-api-ms-win-core-namespace-l1-1-0.a -libwinapi_mincore-api-ms-win-core-delayload-l1-1-1.a -libwinapi_mincore-api-ms-win-security-base-l1-2-1.a -libwinapi_mincore-api-ms-win-core-file-l2-1-3.a -libwinapi_mincore-cabinet.a -libwinapi_mincore-api-ms-win-core-rtlsupport-l1-2-0.a -libwinapi_mincore-api-ms-win-core-namedpipe-l1-2-2.a -libwinapi_mincore-api-ms-win-core-systemtopology-l1-1-0.a -libwinapi_mincore-api-ms-win-core-string-l2-1-1.a -libwinapi_mincore-api-ms-win-security-base-l1-2-0.a -libwinapi_mincore-cryptnet.a -libwinapi_mincore-api-ms-win-core-xstate-l2-1-0.a -libwinapi_mincore-api-ms-win-eventing-consumer-l1-1-0.a -libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-1.a -libwinapi_mincore-api-ms-win-core-registry-l1-1-2.a -libwinapi_mincore-api-ms-win-security-lsalookup-l2-1-1.a -libwinapi_mincore-api-ms-win-core-wow64-l1-1-1.a -libwinapi_mincore-api-ms-win-core-libraryloader-l2-1-0.a -libwinapi_mincore-api-ms-win-core-util-l1-1-1.a -libwinapi_mincore-api-ms-win-core-delayload-l1-1-0.a -libwinapi_mincore-api-ms-win-core-threadpool-l1-2-0.a -libwinapi_mincore-api-ms-win-core-comm-l1-1-1.a -libwinapi_mincore-api-ms-win-core-handle-l1-1-0.a -libwinapi_mincore-api-ms-win-core-shutdown-l1-1-1.a -libwinapi_mincore-api-ms-win-devices-swdevice-l1-1-1.a -libwinapi_mincore-api-ms-win-core-file-l1-1-0.a -libwinapi_mincore-dsrole.a -libwinapi_mincore-api-ms-win-core-localization-l1-2-1.a -libwinapi_mincore-api-ms-win-devices-swdevice-l1-1-0.a -libwinapi_mincore-sspicli.a -libwinapi_mincore-authz.a -libwinapi_mincore-api-ms-win-core-xstate-l1-1-0.a -libwinapi_mincore-api-ms-win-core-datetime-l1-1-0.a -libwinapi_mincore-api-ms-win-core-memory-l1-1-3.a -libwinapi_mincore-api-ms-win-core-job-l1-1-0.a -libwinapi_mincore-api-ms-win-core-comm-l1-1-0.a -libwinapi_mincore-api-ms-win-eventing-provider-l1-1-0.a -libwinapi_mincore-api-ms-win-core-com-l1-1-2.a -libwinapi_mincore-api-ms-win-core-psapi-l1-1-0.a -libwinapi_mincore-api-ms-win-core-processthreads-l1-1-0.a -libwinapi_mincore-api-ms-win-core-string-l1-1-0.a -libwinapi_mincore-ncrypt.a -libwinapi_mincore-api-ms-win-core-com-l1-1-1.a -libwinapi_mincore-api-ms-win-core-sysinfo-l1-2-2.a -libwinapi_mincore-api-ms-win-core-version-l1-1-0.a -libwinapi_mincore-api-ms-win-core-quirks-l1-1-1.a -libwinapi_mincore-api-ms-win-core-memory-l1-1-4.a -libwinapi_mincore-api-ms-win-core-interlocked-l1-2-0.a -libwinapi_mincore-api-ms-win-core-namedpipe-l1-1-0.a -libwinapi_mincore-api-ms-win-core-rtlsupport-l1-1-0.a -libwinapi_mincore-mpr.a -libwinapi_mincore-api-ms-win-core-synch-l1-1-0.a -libwinapi_mincore-bcrypt.a -libwinapi_mincore-api-ms-win-core-version-l1-1-1.a -libwinapi_mincore-api-ms-win-core-timezone-l1-1-0.a -libwinapi_mincore-dnsapi.a -libwinapi_mincore-api-ms-win-core-datetime-l1-1-1.a -libwinapi_mincore-logoncli.a -libwinapi_mincore-rpcrt4.a -libwinapi_mincore-api-ms-win-devices-config-l1-1-1.a -libwinapi_mincore-api-ms-win-core-file-l1-2-2.a -libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-0.a -libwinapi_mincore-api-ms-win-core-registry-l1-1-1.a -libwinapi_mincore-api-ms-win-core-file-l1-2-1.a -libwinapi_mincore-api-ms-win-core-fibers-l1-1-1.a -libwinapi_mincore-api-ms-win-core-debug-l1-1-1.a -libwinapi_mincore-userenv.a -libwinapi_mincore-api-ms-win-core-fibers-l1-1-0.a -libwinapi_mincore-api-ms-win-core-winrt-string-l1-1-1.a -libwinapi_mincore-api-ms-win-power-base-l1-1-0.a -libwinapi_mincore-api-ms-win-core-registry-l1-1-0.a -libwinapi_mincore-api-ms-win-devices-config-l1-1-2.a -libwinapi_mincore-api-ms-win-core-com-l1-1-0.a -libwinapi_mincore-api-ms-win-core-console-l2-1-0.a -libwinapi_mincore-api-ms-win-core-memory-l1-1-2.a -libwinapi_mincore-api-ms-win-eventing-consumer-l1-1-1.a -libwinapi_mincore-api-ms-win-core-memory-l1-1-1.a -libwinapi_mincore-api-ms-win-core-interlocked-l1-1-0.a -libwinapi_mincore-api-ms-win-core-file-l2-1-2.a -libwinapi_mincore-api-ms-win-core-processthreads-l1-1-3.a -libwinapi_mincore-api-ms-win-core-heap-l1-1-0.a -libwinapi_mincore-api-ms-win-eventing-controller-l1-1-0.a -) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-advapi32-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-advapi32-l1-1-0.a deleted file mode 100644 index 7b4de17c621fc27335bbbdc99f8c4396dd67beed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124774 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 yps diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-advapi32-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-advapi32-l2-1-0.a deleted file mode 100644 index 09b85891225c7277cf47c1e0a572ba157ad4985b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13856 zcmeHO&2QX96o2uiU!jFUt5OvK21?bUZtC4lHXErz5hq#Y=yQSi|dT2VHm3 zbwBK}pyys=Aq(8aZj-sU{EoNjyC~dg)ZO}w+wxZ^M)J1bS?vbQZFX;UT5OxOTtc^d zbe%42ZlkaYRy^goef&@Yd7X#M35%?jK^_n0qUg@?yze7J+C-l8mF9kLr2>t<1 zppF&4WsTt?G1y%IRP|24@Zs=jiGNbz?ao%41zvJ2nvgJ8SPRuh?~|0^d~dTLTnYof zv%cgvuXiztf#%BOHEeYYXY%$H)>{qy&9EEbEmAV`9aAv#rLsNVJK53xJN8vBwz@qQ zsmWEZ(`?0am#%2C&)7;h-IZ2ikaegyPQ6~Y?YWAu7Ph@S)x3*D#jr2|@C+{c=4r*fQz0+ZurK$Uj`latgN?APf?W9X@y7$EU_ zuHj-v>GiTqI9cw`kD{Oil#*>I@%cH%OIh@OgZpEIW8gXjYvIOL=cbTw%}dNQ4KfFA z@YxmIp!uaaRYA8wqR%O|aIn;S%89Q4+dLJC1^-|n|CPwtxYu(Wr&8kt9O`{)=z@44 z?{kPx*gbsoxY)#y<{sImi&(!Laey)#oQ&QFy@h5qsRdKGqr6J&E$GS4U}K+Z?SjH3 zyiWr$p&1u*kH$e>_DeIaF8g%~3s)nIl;MaUJ$ape-M_D7s&ve_1{In~?Fwx@f+eBt zLbK`mNXIpgPfeH7{s{DWMgNM9(+lN&2qySs6t zWyYnrv2Di1+#vrvDmRWoVtd7Psi>TI7ROIPapJ5H@YI4IFi(tDkRd6`eSfT2P|3!E zs=hiC9^z}%jA1PJSks<7S+J(HyBiBO&A1c`J~!iH7CeVfc~llWCGcj8suqa*)8?8EllLv_7^9Rm+HU`x7^D4oB`)DJF`GXD3j^^nP0ElY)06T@+;r)RwSX!g5NQX8DSWGA4N=vF>p%}9lZ*h?841eog5O$D`i~j28u<~S9u|w{? z1v|dMOi@6*<D@=C91S*dv_5 zXFTeTxdigtH~HCH^nD)QtH_?=1)=!b4jMm&je`ZhVtK&GBWjqxOdRLlI@=rSMlF4= z^b2avuyZByCKM>klO^A3?e4~s2WDJ~B|n*QF-u4fMrDcBrz;shD=jpG=1CbasI^rn z1U$9iZ_JYn$~Y?~er3IMj6N#koAG@g#q~pwF#ZxaX5U_X)I_XjeV<@sOaB)i)i?4a zhx#kW$dZh2%nd&39;(bRAGNI6_B?%55xy`)Yn=Y$LBSdFJhvsf4{{<2WfuI5sbSO+ LJJQpU|LW~OZ)r^m diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-normaliz-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-normaliz-l1-1-0.a deleted file mode 100644 index 75725543af2fc9f7fa9660c651e54171e39c0fc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3592 zcmeHK%}(1u5T3+=wm|@l{!*(XJ^0l?#|A)vw8j|81?#Z7hc&#@isi)^WFBwYuk3Y z%Pehs-Rr0U-30)c2dI4oXnX^>k4^e5qHS?rh%F&@vS^fv?Pwg0#MUs3#7Ue6hp|B8 zq~i;}C6aiTe#$yIzHPTXc@nnW zT?oIUlTkKn0FPOlgXTDzj9ITPY}oEL!(bd#L%3%Xw$GcpS#}K!P6-#&2Ul7eOEJ*E zb(yjWuEuR>JK>h9aczxTMP<1Jr~7q{q2dfO2SdflFoq8sj3Mt7MfsWiH-}wTtrEk&qX@BT zFN+^hEt-RbFm;$t)!@3GsfeLd zFJpklo3(+<8D;isop4&eTrZ))0xIclu-HEjS-VNx_xUbGI10xQ?2Y?J>4CIxF#@%SC!w*#d_Mc$(4EO`WPiQ3o diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-ole32-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-ole32-l1-1-0.a deleted file mode 100644 index df8fd9399a7252b450e2d27fe82b6382f94a4b35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42478 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-shlwapi-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-shlwapi-l2-1-0.a deleted file mode 100644 index eaf6123064557c644fc1a9a7aae54367f6a008a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48284 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 JtQ|+e{{g#B3Ecny diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-user32-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-user32-l1-1-0.a deleted file mode 100644 index 99be014d35d753407a80863d24cedcabadca7d0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19838 zcmeHPUvCpf5TDqAK==pOb{CI=o6+Bb?Y@6e?=KvJ1%UJ3GP+Z>QxY`Dw_{Ap2TP*;J zl{&|}c&7MuhvU5$0QX+F?j6^C(Dgc9cg^d09rw;o&2yhNx2x@@i^6BCWw*TKwwfCh zrF^To{b;A-xwW0A+bwU;Yq_Mo)unQVa2KmxEV(VmbzIx6x>)I!2X4cw)+W~~eA~U# zsCFK-+g|4faNXus+YN|}i%K}ZBFlfb^R&Ob6mfZR5iBo7oL_0R8`WU@Qe@=c-`(;$ z%|{VxIw!0hY*bV#wbi`~S%g{zLOo*$bn?sHdR^U8pD=K#TIdt%%TPYIzt-{g%S>oXJ#=aQMvtjT;qN3Soa6?;jVvi14euZPh%0o# zm{^F=Q~BzQrmC>jEug6?X!})QQ&ng=1*c#aYb~^!#d@>l$wL3W0eC!9uRc)%DL4C) zn$GvNPikgA<_75)eV8AlWAxvw(4n3Q2HD4=?+#&BerBMK=r=+~e&*9)CGv{epg=k~ zz(EF$6>Rm zPjku4S838y>HhO^6y$-9WEJwFe@=*09Mm_&IF9NV1cIR6YwT`6VTr(9pr`2}C%_ER zyUYygU+PmonAV5yIm8vAtWZy9Vk$QD-k&udMEi?9Vq+N6GMsU%&Z;u3o+BM_MVC&n9)Y!E#~Enq1gZ~U=DNyO6!I3%8v-a6kA-ys0C&Kx>}DGFp8 zSaMlh^C1U+VuC%}!G8LrSw~}!;DDWRfZh|sSNmrZ;lP54iV9j=}Vo zEPNsrazL9Y^vy+JC&3gX9<8VGe-_{GsQ5qbBZ5E5!8+2+fpZe>{+!{el+Y;$f8kL>zW>`KK@2HOiVJb~ zl`}4g_sW#eGm8Jkg=0ZvR2VVo^@&F2g7S(21WC{@io3s@`9%kEVI03`-seKxsLIoFV_MBmb~KKL09g8oVBUQs3*5*GYLjad(NG%2= zcs++S@~6k^A+!g*9xX|V0daSOGu!{xZU3xhz;t*$gmu&Fk=IEfKidP2LUd@YXV~w_ z#Er{J)gL1o$4n8;$I(V3akW4;Xm60j)nhsu?L*<@jq32zyk99d%&hJ zDK2Dtz=?5TCddU^08RCH5O)t)!`^g>Okq-7$o7C^ap7I~MZ7jHK#+PKjN})EI57Fu G(Ek7zMszL! diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-version-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel-api-ms-win-downlevel-version-l1-1-0.a deleted file mode 100644 index b313ab075cffba82df46afb4f5db96245eefec80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6980 zcmeHM%Wl&^6uog;9_0;PR0ts>6^R82cGI{;s;Wj6uU!$Mut1uo*dYcdsgm>o3sfP5 zSg`1Z1z*6DU*Hq?0@f^8v0??>JL9p(wVlTTM-`0ZnaQ1F&-l(cb7!1O3)S}H`r^bj zJ(|q2X_=NWSH7<625(YxT`!kr{2SIL0N^Bm_7Grv72wDhaUJ^#K-bCd;yUvKfUe1( z;+mQUn3`s6nX&sFr`=&IPSY#DecM=WP1f}IbFIJVdR!O&06c8`@*@gBZrjU9&hP& z7q!`)cDL9HS(U~o(=aT{()Br`9Pr70a|kH~u#f{d#cShG>^eJLUQf?-SXnFD)owK% z!dsSL<#Tbp)9C|)UBbEa!0B0uJ%W`n9G9Awz>v7Iv=i=lI&Mzlu3%*{0VmsKi3Be+ zIt3(nAz*!BOUz`!GYe+HDB7L}#Tw4Af77qu08etY>N9EZ?W!-S>-@g{38wl{OT#EW z%%@=#|BZ1Bc_x~CA9LT0V^cntis61EcI0#9xp<;JC=o`3ZOlio!b~9h>%*{rz9d#x zU0<7!?6+`MPSdNv*r?e*!-s*{B#j2gHRUsgW<81h60epDE>M%&F6)Go_5I~>G~|JD zS{L%%KPPx?5Z>4M@{e##oI_CS);F8agoQIN;%R!x479<$E3`rWC7*^#U4O)wV`|}G z$$KhEuK=4o7nug%u#$P;8-estc^v~&*_U76xHDraapy31*K3@3+SDW|k5;Cu*#5{@ z02MkI1I8VU6Uv%NJtU>wFrEZ)g64G=JF6-ELWqmRoq5D;B;x|*(R(Z*=0!5jlH)py zmD@f>+VG7(|GrGW_Vz+sSR3EJbu9wTz?dY zxEf~vtAS6JAabx<%R~)hQEpUdApeval(R@E5j19f3=7my8dMEtDHa=ckwX1q!$Uzc zzJg>K8`hP6d&LGX85dK-Rx&P#4YWHQHa6s=r`Q9ngfo0iQRBk2Z=phi_n0eZa(T>- znntFAng1%_vn5EL9uxkC3N)1$m4h7*hE#zP4Z<%|ql*RRpeiWG&k664I{jjSt*oJ0 z#)78OZ?9OelZ=bSf>+77AQoIeEe#tBay`CC9^@U;MZT`6abeN7P@%ym%;R5F2mKa1 zI;|LkYNd2Nwr_fi{OPBaHHBkYYUQcYZ!fKMlW{SvyiCRgTA9N6A66?#jG^!B2U#cQ aNe-C8b9LY%v}*7X^SDm>{qvB$KK=l&xv3=p diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel.a deleted file mode 100644 index fb6659917..000000000 --- a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mincore_downlevel.a +++ /dev/null @@ -1,11 +0,0 @@ -INPUT( -libwinapi_mincore_downlevel-api-ms-win-downlevel-ole32-l1-1-0.a -libwinapi_mincore_downlevel-api-ms-win-downlevel-advapi32-l1-1-0.a -libwinapi_mincore_downlevel-api-ms-win-downlevel-advapi32-l2-1-0.a -libwinapi_mincore_downlevel-api-ms-win-downlevel-version-l1-1-0.a -libwinapi_mincore_downlevel-api-ms-win-downlevel-shlwapi-l2-1-0.a -libwinapi_mincore_downlevel-api-ms-win-downlevel-shell32-l1-1-0.a -libwinapi_mincore_downlevel-api-ms-win-downlevel-user32-l1-1-0.a -libwinapi_mincore_downlevel-api-ms-win-downlevel-normaliz-l1-1-0.a -libwinapi_mincore_downlevel-api-ms-win-downlevel-shlwapi-l1-1-0.a -) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mmdevapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mmdevapi.a deleted file mode 100644 index a127d296da7ade3afe9945b59280d1972f892e60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26266 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mpr.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mpr.a deleted file mode 100644 index 9d0e79300866285741eb236903e260cb14424b11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36282 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mprsnap.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mprsnap.a deleted file mode 100644 index 8d324ca2f680eb89e2c4d6c5830a66a323293dd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38164 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mrmsupport.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mrmsupport.a deleted file mode 100644 index 8be378e4e376214f3ca0de720b9b97ff35ce19b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4948 zcmeI0?`zXQ7{{MBo71x4ki8iCCc^ZU)O7383L=Avs3;Ug@ZB|AGF#VQB&k-AF?=z6 z;fvu5{}x~FFLOT6T`sw_m$k)On0S!O^|^0ychB>=CrNKVbo~9sqr!bNT}s;}yJTAx zyJVUc?^0{i+^TFw7t{*?fJg2pz=993^g|p4Y}2vQ631#CV71QJE@N*3&ktD53q7Ch zc3qEsY<8Splc8}?wV7RJt>zvbk-hD=gMP2q^+V<`l(s!!4bO4^^j`3+<9dT9&6Zbl z!UizbZ1-5&_Sg$Tzx(Nx7j*mnzQ;Q~Kays2MrNUP@zQ=P4APej_3iqe6MFhV^nGqK z=!L~@9JZ`@l`PA)ZPT>3s&TyBlPef9fQ=l$b>3QpV(1M*-p;N}sMU+E6FS)v-m?R> zv*KP5jFG`H>6&!Ijk45U#l`~8OD#KKN!_-zlWsX%SCP6^Y^-T?vR|HG`t8>Ov7*~T zVv7ezMb!E09N=Bm64@U{ItL|AJ?gUCRdJiNeqRy&u-ZA?LKrCc5%*G5lMWNDsi6u3!K{Y7#&<#1~> z8=TjAL;*!oN3PVXXGIt91hrqbNhjOG=Vde)Ks80w;Qm?Rtw~sJ@T`h*ESw8C2pj#* zp|Eh8Ql6$o&VhICUBNr~mwcKOHFtUW+OZ-?1^9=gBPhNMK>v z5*uY~c2}Op?#U8g*fEBP9?iNvLV4jH_P>o-rIQKPgxMXlv68W91YJ2!vUZ$}DFS62 zY)=^%5?w00S5ec_>*75^>)1if2ffag^P*hwG}1^LuK4Wy4*fbkO>9Za7Xau}UWc(zXOAB9pig&(Fin^GQm?6HA zp+)e116x#R9}CM}{##Uezz5#YYIW~Iv)Ln*|2f;6ld)Z~k~dAs_BUMGIJVs=-gKHL z+Z|=xi`X9Mbt7zl(d%NiZ{qr^QtiLIuA#9&RDqsKC5#k zUmG#`rOC**AK;5SFZF^X|0~ikj{Lep%sk0|uZ(*U`JrAnLjI9n7n8q^(VUk2oQ(g_ z7uaQ{o-zQHg!r`Yzs|gV)gsYn^vxvC F{{|bF4GsVR diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msacm32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msacm32.a deleted file mode 100644 index abf9a53a3246417b58052876af20d772b6e8acf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34774 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 AZ2$lO diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msajapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msajapi.a deleted file mode 100644 index 05382a40ef92b2187080d8688eec3f40a421e504..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 496202 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%0AKJ~FdKxR6?60(J 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 RnpHb*d;6ODTLmI8@PFcaE2;nh diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mscms.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mscms.a deleted file mode 100644 index c4008925fd8194538a2676b82fd10f409c13fd2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94094 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msdelta.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msdelta.a deleted file mode 100644 index 5a53a36ba10926e7df59b431ffd13791637d2a55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13398 zcmeHNUvJw~6hCp=ZY|w_sbbSKkbzQ70tKf{oD3nQ&lzAC6}t&tk%3A?5_ZT3Q%?cmNo#E@AAB=0Z@MP7SGo%15jT3 zo9F9)0Z_jA2hZ=m0HCZs;`u`zfbzywo^SsHK>1_*4du$8JXc2m)sbQB8pd}++Zh^r zwre}a?!dB*AG&?>xND&Bw5c0<&FFOxD0}jwp=I}6(=ZLxJF>y(*rs)^8^Jx>y-WA} zrhC{o-4n-t0EW>$IyMqIVxpZi-JSS-TWPv2U-y2$J%|p^WnyHyiVn(UvPN_$(r5u& z=GOz~$n150viF?9)2?M(;%;fZO#Y=~qp_J;g6mz!HeH)ti%Ew>(uEi#B$6(~ghQg% z@p13R(CuYO(2lMosV9($smPL`EhZvMEcU)~?`w}`E z`bP2poSkE@>y{sGzhhx-WM0#Di;d)KzqHDtf&Pz_) zpb5RYkdxkOx?V%*tzu&>K~MCH+H>NH)$2i}-R;?4$G@)t4ohwGi4b^l*=}2}er|C#GT3|Y~`f&2>$n3L-UFA}$4zmp*pj;yB#1oA{iF6dWk7X`#afM;F zlO3~-t!50fI@pml7c&acUO z$n|)72dl3<9U;RNzkKx(UA;h#7*AJy)*~@5R3q%rxExQ**y4EP*uzWDb7F6W_&We( zJF&u7GE2tW(xh`)|4O6190qOogUC_t}i!PBHw zr}E7l{Dr>>7}mE6tfT!oOnsI!6|7&0KlL5L#N1(BknfliV8{8lauU`z3#?xd)>q?L zZ_Opv#a1$gb?nF$>(y*n*YCtQ%m{r^#Usq;b#UFui2GSX_UatmktW z+UZQnVczhu&cD*kay-9APKqhuE*o6HN(H)D3n=r|hG~l@%N5yLfo!xo2W~oJ`9F}o z5_;AcMRt^=5VCXTC)%9?*%yTD`5QU^qVgOA z-8eR4NpJCKvXQ&!YhE~f#9Tw%er_|~NuF>W^2v2uUxhOwr{Qf=5k$OU0i!G&u z>%4cA8Ba2ccuj#PivM%P>jfFtt+~Rr*icHi&U-(Z@zheU7hku}z%?<;Nm+Fnf`7pw z4Vme9O+1WJz(YRZ0#+(uV=b?i(~yuPR~C}>d@_D!^9*0z2sih+$?L@Ml7x1o n+;bGe1?3K6c;1XV>*-{H>by}czpIgO&k?Ex;SNxp58wU|ksi%= diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msdmo.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msdmo.a deleted file mode 100644 index 56ee4bcfe8a67e70b1aedd4bb0e3f064c71d3456..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13294 zcmeHO-EJF26h2ueX=BpxqX-HT(gJOTpfc;kStk-giP93dFhs4ZB2=+);!V87@mlr< zQdFT_Ak@n~01v?>mwgB>cmf`Sa?Z@o?Cg)@b+V)~-jQZ@_RR6l%$e_edvYV72T<^8%NFn)_wP z@oIL{Y1AKg@q(6f)U~40n)`Xrw&Pl1Y0bTJ+-*C14KG18p$YZvHcmW#-Kf0gZuacN z%SPp>>2@E-uNaozseS#R)3XnpKAPR1b6AFF_q|@--8y!f4+9NFrfO^?Xlwv#+>7-g zCD=+Aue*3nr3Xc(YA8KO4c5b!?a{*ZgAqsx{oeMzVmM*TstB-pw{v_H{ED45`zME9 z$(4>Z$fL@JVVb6{n@elH3+@z~zoO%iTTKDH%4#!E^6V3j)dv?kZ10qs4X-g+g|)21 z_Vdzizdu9`PD#(93*M**-K$uc#&M}>9SotjBIKkuKUl9S^pG-OF+oqXiz9Q^QnTGg zL22J<+kV48F8~gv_8W&n;LBBe(d7$~K1fZql{QF6u~T7?j$$LEEbNPBA5Oji`+KF|v-sOf){Ei$=VU#} z-`CMcM&<8$#CO7jE91U#&H z?R2Le745Ikx<__o=q^95NPiQ@PANb-ZoA2(fs6I{j3vw?mdFs}Mvie>22R-Lk66xw z@glBxbkFerkMZb?1;%6Y%%T=!EiK0Lr_KalkUV~#r_MRTcxV@V5~A|(j3vTDcF2yy zjn$O+Hmk8+l~W|XVNv-vN;G?!QTeXY?^#iKJ6TVLl44iohh#m8Z`yYqHBPxoZ&sA| zH{;CTksXm`$J^B$*JOGQ+rhEPe}U^Ow9?8O#tFc+GFypj zRhAvD%^cS+3)izDTyKo^?nz3%mKavv+pDtdaJ`Zi*UNbv66bXphb&;*sBy>);aYyr zG2SsYfB&tkhJe1&2k=BXN>77AJgp1WxVz{?}P9!q1Cur#~F#FK?AE4aSi%T zJ3~aLed}0>v-A_BtYJIWbxv!H-7a&-`a7lHvv#ao$$GIJ>t3>+jH<~FqdqCJHD+Jf lj|-X+lm2-5{fc~0e6y&cS?q^Us|NS6l&sAEUvS|l<6k}ep3DFM diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msdrm.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msdrm.a deleted file mode 100644 index ee83b3a278e33e7a98a950e33ac7b44562362814..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70394 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msimg32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msimg32.a deleted file mode 100644 index 2f704d35dc49ebfec9351b5f9721e3c2baa46dd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4014 zcmeHKO>fgc5S=(Fg{VM*9yl6QBn~JzUz;8fDy>B6p;9D3;()YuYp1d5q)}|3>Zu3R z6Nmn!{tkW&WoAF@b>g(C8WmMyB=1gUU%b0--;C{NZ`|Q-_ig#LowaJS%Bsw1vAS(L zV#sW5yT(@3AGXT?a2KG^1}K#P=AX-}Yyr@<@S85q*E#Xp_Xy6Y0e!LdOza~i8M^Whnp|1x1oCE9?I_|y>sJO`&-M%<72f<9P zP@wr3gQwyojKL8KAMZoE&zj;<@H2-)7hnW8q<~_9*cmsPgN!g1Y+^f;tSXacyI0U` ztDfe*)+|Gw7in=&`q!GRiDh83M61DdJyjZ@bIjAM#+$u?OLD***FNF2KibnN7J*vI z=Az)|zVN0|a#xf*grf;nKqu~g>+j2m&{BqJ+T;zWU9cRF@DZ5$%q(410B_t2ACl)A&8Dr?4`2;=o1Ob$i02c=uV7R^x9 zk+hQQh+rV2cClAFdATCFLVQEQh*bL%^vEcSW#py!EgK6c$wyvFa^F;DkRzh{3w>9o z)HiF5>H8SBcA37v7`nJgeeW3aUZn3ZA2+7&@A%Zuyx^|}3HGb*{+b(-2vTpy^^>U)?2Y7B*)ir?eX(Uen_SS6q YMP}A)8+WA5f?aft-AYxPff;D}FM0_}3IG5A diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mspatcha.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mspatcha.a deleted file mode 100644 index 43cc5150c40ed440f448df10131dd7711aa177b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14946 zcmeHNL2DaF6n>WMIC1SJP!rNNv|HDKLW{bx<&_O3SPpSb55>?FUkdAuwTjfpvXJD| zF(#N$ObDU)&~r~c^w3i&rAPmW{+_1q&Ft)sv@^Rab*mz*ftg*sd79aI^L=mL%QjFI51tn;usO_k{^a>1Y=iR0*f!c2z@W5?%O3h~d={B|f;9#>>cXzhdSQ+VA*>u74ZDWY5Obd)U!b7?AdmzCHIenNmMmqnRpOYO|MKCu6_T=8+nw5 zwl40!5dNn?9tVoPzPCmY5+{1P|Mh#9$uSN|n7KH9qyqU!3lG8evLT^RL zNpDuKR}^|T@Md12C+fvjxW`<%UME?uf?V|~|9%bdXrkgg76MN$+l;!%_Vhz)vb{1o z9m!T%osMLuNv1;<=uVz3nT@8fDm$UoVfG;uWGCjj8}WWoACyQZ17Bd7&Zf#Te3kTk9?13Lp7g|h?{yXh zS)h^_on`i+naw6ba+O5{sE&!D0xF&AVdF8EFf4Uhng%%pv@`2+w3B_wra_WD2Y==e z{+Y5sGF^#*09&l&MFxJrn>1pf^!U*>O*6m3NfPVV*9wwfpJs!4fzv|)tBN1w5kA5C zT@R;pF~Cgd*U=A4zKVKKrPIJ)`+k_LU%<}3mHLH1ugkBmqE1Jx=ktTcv5q>=)Owb9 zu3LDs<>?3+j`-sB9r|^C9>{{b>zcTh&_n%lL|wx>j!2F^`oD)mX)UF$k%Q8z$yNc7 z?Z|vSc<5yoqaN^I+~)`WTu7J|x-ieiOS8|Ph(93!_0BQ>4&G5BE^~=*A|}BNhi24K z(R>=bp%sB4zK{&@#k{vEV=Dqj{5cLZ4)IkF1#}rE;#*R`QHVcL>xB@1rq=VP)4=id zi}*K{bMME?3^AjM`~|cJr2zSxT)@fv6gwjZ_1%pOG;v7b` zPGDV{h|ecOd~qop_y33vGcF3MOVPtHqo5~Jzfn=psah}O`(LW{e8khL-)|K3M%+0s zwmHiF|3h*Sn1V=Xiwjtp0etZgX92zd#GG`e$_FzcA58h2i0=wsAx7f(P?m5sOg=QE zexvwsq}B`Z;kjDR=L31Ze)%v1%H#bVg3BoL;9VL3rho^lT)@f<;7c~$$T|KsW=RwG z=2}ABk9Wgt);RqAy@HQ>18e)m{WbOMi_P9hW1rSVN&)u6yJ01~{n1BIAkaxMA~ILU zOrRO-L3n5d_%F_duIiY;H+z?r3Et=Qd-k*!So*5|O zk&`#Pza0ealZtsSF-(l^yRE^{E`pda4^oa`62H+6pX!glZCJF30hHdu+^=uXhR`mK zDd;=k(f08MK0l?v$8T@}D>HD0*IsPPqvt!=NR2cjoP=+4i>Cao^7t&@`wq-!!EKz? zep!&w<6xxYdGZL90tVdW0#;_=IbOB+j{TB9)rcqQo82+`+1%+OoInUS*U| zZw5oZ7`e{-`}Jx1{)F#w$7eX)ed*9Y$Qe%91CI7rJhbPb6!`r3GaOx{pH7_r57nN8 AcK`qY diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mspatchc.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mspatchc.a deleted file mode 100644 index 14b103d294e753d225ac57833db1424c85770478..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13298 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mstask.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mstask.a deleted file mode 100644 index 7603a13ae4a373c8f320a43d195579e96b15063f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10598 zcmeHNTW=dh6h5|-wh7^)Qc$P>E#OvtKxUmd>lC3XR=5O&sz@#p4@et3yT)#OiR?|V z5JDD06{-;GLw``k58?;#KsjeFyW{MvcO9>cOg+-f&dxczGjrxU-_B*<`=r)CZr)q} z$QTdBouXB=%(7K743mk})G*5BE%Ct7Isj|}aw}-a9Z`aowjT& z9PV1SRkGWyIz>_58F;n9iCwc%t>c2-bZgEm?}4i8-FLm}anp6q+HU3exOdj|zU(%7 z{Z7qm^}1l&tt2oZMj0&h92}USZZNJw&cl%z&!)^>7^d2CN z2BJ2t$Qji8UZLl^QI!7_P1CY0!?3owKN-f+y7TA?x)7p1gPy{2t5ERVp~v#ki2;X4 z1*hiKqE(n=4-TId>VrXy8jMJkr0zA$tYEv;um`5p+mYp@w-K#ZmUL4}MR@o>W#ZI{>9mPf~Oow_u z9)um4eO6JF%S7rh+YkbBnU}_2BJQXT3Z#>T15DFkLqcqG3dEMT5wZ?~p&-VaTF7u=(^B1p#@ElM|zMNzBd70&s;JC@Y zRH%-DVFDUn^Q?QqOBj;IEKQx91J;>!Io8R(WYZw1oWa{1LO)ZMIHoK4AHe4<)atDcH^YWJJ8&_F}p5oBZ)JW$W#04Lsye%+F7X!?MY>w=!uoTsx z3!{LgefA~Gm$0&PrCtd1#@Kupbw+wU-#4fqd#LkRuV=}2XJ6ocRM*mnF<1 zW7ubXCnWF|@fHG5?Hv28>v%^#%}c(GGg*@UHy`Jw8xDcA!Bi0~#-9QLhR8M#p+fE_y zgnPVzrCAu^HM-|=B@(%!nt9ddV}Ca(_SL!l68nNReeB=F@tpQ+aE&8Cv)1J7xv1DD z9-t6l|6^Xj(k%Rh*UPQ>Q{?<|Qrs^&pN5T7zrRNIaeo=kzlx(zn-#jfqW?eVNA+BC zexy7-&bN|cf64iiuzwlOzrwNqf^t4$Thns|`8sKOxZg>Jd#fDg{9lm(#WKhZiE2aKgV}0GS|OO#DF1~!bo_N;6+6Nak3;vj3M%G_?z&R%By_9$PKsU#-4XjlKDuAQ zk((CXD{`#aInQDvo9}(A$bNqe*-n7$h;yzKXX)EXF&&)TI*<73bcyNwOqk9|Ow;is zhDBy;egdgt+Mq6pkcB$t1Tkw*XH!J<))LWVc24U4dU7r-ot0xuhw2z!5JYSLDM%5~ z#bk(Ho+lCJLdf?yI*+nx=N*~&e?t};<+qr{RNfAsC((XM8h^*6=n)A|SgpI^{gvMm z%*2nB8Sy-4;t!R2l^J&Egw@mQg*g6ay`Jw8_(R>)9s!{Jm1&{9;H{7s_@+cj7S1u% O_L{Fa^`e>Ao&N$oQD+hSGyM0JsP+dmZ5L-vD!`c%J_Yfbz*d zc|P?A0Od2!c|La^fb#ioc)oBAfb#ogo)=sI${*d~`O_5u%AXZ@HWvXXFX1)i!a2&8 zwPsoOJg4JXWyg0q)>^CLSU=QVyIr?XxLYb%g=MQz-=r+$O>ZY}nU-xKtm%MNbL`4N z?gMw*>#pb9?v}Ie)_t(7db4fy3F)%#*X>6AF*Yd?Qgqwf`4%fHw(o4%ooy$$jV?#Y zUAq~8#l8B3{PI?7yH&0BAcP3(*S+=jYNgU~JnvR(%Wi})tp?FwJ3jr?UG;sZ+4k33 zT~~R+$Xfgrs`+krbG7T&9M`XJ*?zs{ma#>=3Y!}S;`g|*+irDy?M`=EUBB)I+KdIg z<=Lxk))6Ajjon4@7`i-^Y&e}JGR1c)8d#}f_;85J_SPeNJ9xGMl}x;5HyQ$c&-FW9 zudkuV`u<;*ZO`*-omO|draq+dTNTm&>j6K3>y5^3yY7nW;Ht8!0Ay#-OR%#;kn^2gpPdgbvQU1IL))+iLs-oUlwajGJ#PdI z_6SGDW-lxU*rRwdi_fK|6)*$boj`N6nifSbpY(-F9!J~%d+o#ZNw20*S_Z#bgj zpVt7}GgbRhAP{m@Uv&FSUmFBdb!7~~D0<2a!YDeLWf7|i_h5N64I8Xkg)~S@|*N%F#BIK7Tt zqiO2o1h~$$%ehYaC7p&z^%?w`HTE-bz+*a+{Q-Q%N?sW70#6PecO+&To@tu-%gjJV zdh?9#?>;1bqRV3Su5d<1ixS=@cGr3QQow9>041Azi(E8Op-5ll>7SRuOBc zP0plac*dE?S%;UxX0*3~?)yR2A@lSgSj)6UEo1^o=*0sG(?Ac`Szl@7`4jOc1fWiH zuD^|El*op;GefC)*Fs6{%IWAzO0c||$J?3sZLY|=K zUW~`_XKTx97Nk-cbm3D_k+kP}o zi?)A^#z~(|@8oggk~w0vwt}B-zm1=ISPEkkxdeuC1AHu_dM!z==_5f8ZeEGS^`fcA z;6LN|kK%eo;m9Pp?kepLE`=;jO}VH{)Ldx z!GI@N4(hq&e578IR-PFe%46OU^RM}#$u*d>r^i}-|TSG9-@A)$i-zhTKO zVuTh{yBGycZa!cZVp&IFx=zVPwa<#Ab)3f9ajoMpu-zU#dtTD~ZaB*{q*{W$PO0~p z(>_9;Aje~VKfR*Q1D@l6kBW!>FLPd+>y69tLkh>0Em^7d`0r>um!T!r7_ft7$Y-V3 z{Zv=05@dVK@2OYxcxO86U63AqKeOIhKJNNnL&l5r?ix6+F}@@ubTHsCmW=Uw&lS!` zR3^y!c;8!#roKmJ%KDJ?w7xN}kI(S2S9Y|9yJgcH&s-pKV+!ZGSGjiT;dYdEhplryiN?v7GVRq`LCmvgob>oK-s5uL z&={cZ=1%uoPZsq-Ddhh(E?}hrPx08#f3^3~7SMx8&<0|Dtu5+N&vcJu=>PXKkDbw2 zkZ#_e5iAdRf2oJ}_*W>s$I)a@U?;KMQD(;ca=WZYIOHKm&0;qc?>I>>e_v^Ln3q@I zLJCgv@&n!)(#w+`#`W?b|8J8PW(WTWBI1&QDGm#EEUO-!_8tYvfDJt5L=Jv`@OAiq E0j}BIlmGw# diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msvfw32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_msvfw32.a deleted file mode 100644 index 11c75ab3cf7e2bf23c759e0d4c010db0b5b4a156..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38326 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mtx.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mtx.a deleted file mode 100644 index 4d4e2b06139965f1953ff919c0bc7fbd4b8e9826..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3990 zcmeH~&rcIU6vtn?Aktto28qWt!5dk(wQM;UgK3Ojj8*Vv92PpY3oVd#)j~XQAfEYa zJo88R_lWP!kKI{j3&o8@6DQf3>6>qNX5M_>>-52saIn>VT6yGVOLe&#R0F>e)LqvX zLuT!|wO~bkVWR>7Hvvj5fGOjt$(;>Y&48|Xg( zw*+uo^rpcRlZg*wD;HWDUOSA#u?jh`3awLbb2z+221lfe=!J`Qt;GX|DO{IXR>9Z0 zWo;+j+<09>>*laCpQF>`xOQq2^-0|tzL;7@blG@T(*m;I-u}3;_$5=1khR`DEmTLx}sFjwx*wdv9Z?K!al@z33dOOCv7ty<)ue0bq%-1FKQm(ryy(O^kkaYTgKgGC6 z6=x>J3uMNUQtU~CsLRmD*50w?I>%n@GM^IePfGZ*m7o6;zF3HG0PD|>$Z!8D;rA5J UDd9^Q!s+s5?N|bCn+x*&3rfgJH~;_u diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mtxdm.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_mtxdm.a deleted file mode 100644 index 2650cd8ead1841f18b10f549c2d825fdf59be4ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2498 zcmcgu!EVz)5S_$rfv5-$73$GQa6`r^$tIOh6{$t#5-A5bZydZyOp`Qo z;?S?)b0{;jUT4$TG*SvHWp^_B?3sOjGxp2(!R*WMsPfib9@TnPRE6IVb=UQI%bs1g zde}@a=vDw=3!sFn^Alj_7yYC>mhy9~X0hz3M9t*!d8p*~Xc9~#iOzXbNKuocs7Jrl zKThW1SOyYNV+C@kf^dV|z^O`3qIjw%m_|F81Oqh#DWmaJ=Iw-oBIXJU#*7m3QN!trYBXoHEXr$7O-?spRQa?B| zj?{1SMYnhE#2}c>Rk;Xb@#GX?ERImR7>iE7JW?K+pKaXw3x>HN1vpd$IfG)*AWRuf zaejdMsIX#(>npbLuC}6Bfh<3#)Ubr@C%~?p=^rZgz=YeQY%s6=Q~~r9^Av0F_G;m> z3b6N$O*muUT}j~%&`h=LFh5V(T1Ur2Ze9q-!J2@6GW<3<(;imR64P|Z|DbhdS8JX4 zB~BN^?io7g74!}P^Xl&fJAD}e2GGddK3rCnJyMRI_tf}dkuqqwc^48x75p MUHsLtakW(b0BR6<L#{7|H#9;%HL5JKI>n;+gqLMSB==%tE4<%F0z-Pv6?yWW-U zv=u@q2UH;rC_)?%;>bV15s5=NgT#N-^4^T?o%M|4-AFN7HKTZDGX8pI{QN%i#@@B} z9RGg*{groW)2X@Lw41ioYFV`!{$Wz{TJ7Do9bIs51pru->fR1Z_%H#So06K1L$z$ySz}f@Gb{V@Ha6e%CJmfyx9d$T+mMuGp3k!Bc>nt42AZZH}+p*!-}pvjudVh+Q8h8$R*JDqbK2=4Ik(a1l% z9Z%t|=kuN$;2rIa{9EJk?#K%r*W>1p0LI+mn9Y4z`hw4Rcr;e~{{U~tkPP(|BF0Wui1t_Ogpd##ZRn%tj^u7q#D90qc z2D)MY$UBrR!q=uOO*dHp4Z^yT2C^^NbduE7M$TE|Lx^Kfr;-Ro)39kIgN=PG^((xoh zBr88XyDc2-i83xsbW@RpBH@Wym(WG`v4fgl%sM-s7hUj4q>0<`j-Nh%gZ?`?nY2x6 z%k%F_g}Fh7nQ9B&YjYPtuJMR z$jk5-mT9)KEn$8iJ4Ju~FYpRY+q2Qs+SF+J89gkIrm^CMMbh+@GVWWnkSRs=lleSQTwq_!zZRrGE z?D^Icg6O4VUV^Hc@8oId*ml$l+xvuT_(Jv0+#cRYU1j^Do7$2`yk71fWbN8Li)koro!GwX9M%ntpkq2?W;K9win}C z3b%{SP6bZgS2N1R8fO;D#X`AQrChAYweVy6Q3UoNjDq5Ue^&rUwE-WgKoQq@q-Bk3 zYZFZ8u)YYR@n3}78n)7H@>`jMpqXX)0pn9*!J-e(j(;}HTnQOsd1@iyez6wKjkPLW4`Zz z&aLP&P}GB9kygN`WS5zC5ET*3%v6!!fD|D!k{RN^I*iCFdVwApoenbcRb0!V4!_Y^ Ok%?RVTUtY{HvR)tiu&{b diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-clfsw32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-clfsw32.a deleted file mode 100644 index cfd9dd287df75e2d8827916035ac24f93243e705..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51420 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-clusapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-clusapi.a deleted file mode 100644 index 5970ee3449f19e4b74370a5d3aec9581e906d68b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229746 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-dnsperf.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-dnsperf.a deleted file mode 100644 index cbf3fd63aa97442c465d2ad0d12eacec4decd8de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4246 zcmeHKO>fgc5S`d5g{T!AdO(1Xk>G}c(5umZ+m&a|wA30kujaW;@44f+ z+@-gUv(?y?FZ3z^a1)^P1EAakSp6!V3ikA@f1`)74r6c9aGbJkn1y5383rMH7bX5E zVrV>RdCaS`INGB}+7mw+rsHE4BR1>aFA@Bk?^U3j*nF3KiPncr3VrrXrAWtA`S3vL!2$@8*>>cms@2a>ha zIp8i?>9I0v6^urhC#QJ@pHybri#iULXyZbTo2v9J#GK5>O|pg7(MHVs`8ZF_>mDkv zBu3eA#pf4K=-1g7?b7IV%51_}Ap9UcL%%esl z*vgVudS&5}n92gaW@3Ptk(eRg%FrUR;67?3l-!3R_f7oLT;p#pPBoEDt_ zwdMF<+q&jI?wg?aDgR4gzQ0~&{y!8%*Z99JE!0`?8C&zpMG7qN7x$M$ z%K~?~EO7Pv{`Dy!>*yp4{^k@wE*SoeUF}nVDgsG<3cL^o-dgYxd(+Bg4jAH6yQ Dq<^vL diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-esent.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-esent.a deleted file mode 100644 index 6fe9290cd9455355825e4a7860c29775c01d18a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298284 zcmeHw4V-01RcH0>0YZ!+Ku8FL(1`(Kz_CBy>&6Jv^F@YC!Z@iRo(j6xu?#ls(a;ijn2~AOV9tVG5MI7nW#=}>1_uY{opJiNI!fPqjx@s5Tqa5!RXz8MF`S+{(#YYKT8PGqmVz+`#;I(1HVZK z(gz=7^x+Q^g7kAg&FG^YLXdv(4n~h1A_VDI_A>hQ8X-u(aSfwSUQP(oZ^JV~`t*|- zedeDCLHhkKGy2@05`y$cpJ(*=rwKv&!Y3F#@k@jteepw#zVwrXApPZijJ|w7AxMAo zAfvCsGe`RSyBPh`Bq2!OxRBCF^c+IzNra3bJ>@HmzU4wPf^^~KjGlfT89{pH6O1nT z92r5n>{E;`e~gSEJ^x*dt~y0VkX~>LqiZI~2-1r#VDz0|BO^%T2~B;Kj3Ct>XEgT- zGJkl!y;W{#cbkjAAz8A`kbmSsNxBLYeLHfSWF}efF zigfhn87+Q*j3C7yW3={DWCZE>M;Ns}Oh%CI{t%teUN?+@<957TNwS}^<)I;^YFZp9*6QGeF4gf^aMORq%Ypj=u0<| z5v0GoiqT(xm5d;L$8lW{RD}Sp8IJ=SA2{_NLT(8qpKex5z@E6fzh@1kO=8JJB-FR zNrW`jVpLlp5z^c;qw5w)g!Ho88STD}L`eJgGP?dSiI8sC&*-K}5+MO*DIIwRiI8sj z2S(oq^+LMiQ;d#<f62KglS57m1M8&N4cFFNu&^P-djN6Y9Y)(#bQ7&U8qG^cpA| z(%D%?ufLW=NcUgP=*{Pm235;6kUn!equ<{}BBal~n9(1NlL+bYX+~eDkqGIDs~COp0umwp z`Cl;l3up_ZzXm)ZedUvk{_f)>Li*ZA82#g;BtrW7TPcl>+(#(wI73E}o^m^*^Y0>~ zNZ)#j(M2sXiuB9}7+vy{WEAPLk1@I&evzJ^&{ZELqew4!C!=dlkWr);tufkpI~hfq zxQWs9ZZe8gpJw!uF*1tuJ?Alc*_X*E((XTCwC^!8igf*>jBa>{j3V6xc_4l7F-AuY zl2N2vXBpjo6&XeP{_`0feVmLUE&e*A_@~Jz(%KI)I(~+XBDLUtNOxb)s5eeVkxpL1 z==4{~DAGM}FQnIgg3*0HLq?I__z0s1?jfT{Z@Hh*TOTH)NN@jfMvuIYj3T|`BaGhl zaWabZ?oTm#&*#V}(tDp^^yrt#DAN1?fzb!PPDYVF_@|6M4A&w3++&PB`XMrk^ou{m z=rL#?q+fZE5$M`cq~Exc(I@wlQKa7&}1Q|v8n~yU3>IcXu(%-*_(LX_ZAbsOrN;{%u zLg`7bAUlxGyOz=_9pNbw+yiLyYc)`XasVAfq=x9g*HN&FDe+|AW^aJ-X-U(VM$* zr+f5J+>1L$_q3PeqbHlK#%A*g@%)jQfa3ep=f zIl2}%mMgd&f!mU!N1Gd)m;rf3+`D;mwbNLR_cnTs#YQ*2HAyw4=)Cz{>3PGwbA_4g za-$bdiZYBrbH)FvN%X2#CthuK;ouhbNg^@*- zw4@}AYm%h*gnrarYr_+1ZwfLZ7w?n(-RSfLbSr#SQb4vONpUT4Oj$!#w1m*~jm7nN zA-;PHdULa}E(q&sScZgqptaH#3oEe|IkBjM94o27(DTMzl5#GbhEB9`sL=s!1HDPk zTT5gmP}p)gv_#`IQkj%X(vrp9ZnNFWiY8y8CMLNs_MUdD7oX~xu1J%Z{NcFU-s&vH zG!sc&PGQnFHcqALa-n%fP#@5GY8t!Z;DU5h_>=Juw3g#jha0U``6dFJ$%)y?O(Uo1 z(sHAS(kVVfo>WRHf!%q}R;SzU>~F3EL?l@$A(QO@=xJT#GJ~*?qD#wV7NyfNi@fRl zn?sU*_v!rGLy|#Wt!P&EX@m4serX^{zxz~vX&}iUpIe$KgY;y6X&_0z`(%D;Aju$~ zTN?TXgZ?14RIYG(=l1&6MoWCD!Sx9*$(#PQH(qIMt@mzetZ#|-3g%`=&%08os&-{o zUoAzhhn_6vXpm*KjRk99A%?%;s>5y7hRHaX8uvQQ_(Xi9vAP;Bv#K5h+lOb7D5tVgGR z=$Eq|oTh6F% zw~h7*9M`Ng*JX@Ld{t7)SddI|&Kq4FR>xiRzKvxt4zdA_U%W%U=7ZuY?SMXvc_vRM}y$6;)KGMU(3cA}qhnMkl^` zb6Fbd!ZiY$%N=R&X>V*aaoE}FHkNu|Axj0si%c?jhemH{E$zmK8mqDNcnyihYXsQn zH>B9n*+L1mZ15Srax-oni8nUeokr(0ZFynHYDzR-!*kIu5p$s#OzF}IU$}Q(Q4+o? znRCl5ZyXW|h^D1vy!1}^m+*iy3Hn^Kzm$CNqBIZeg-RBTmE?ebEW{Kx{H>M&6>~63 znX)I!zWRN!%iiyjm+1FY&i6UFN>-=IH+-wHqu>_F45$qu@ zK>tE+<9IBMf>H*g9Y8~}3yP7x++)E?&{C*$vnRSA4z%dsX^QZGXbRN}^nbii?9b#1 z(RqLg%ws_Rr`(JA255?WFX{zAzVPN`e^Dv6A>%o;^iVOg}<&;z!!*UoD5R@pD<$P6A zssPiqG^!xVWy(r?HcU24V)8hi!|KcVbFM5U<(&#q{R{@*;$8GTC|NR47m?5I#yK)X zM7}C1<;(?>ywxa*SZy_p-I<1S)uLuhNye;`6Iq^Uyhg5|a!uL?6t?K9gXgEG8gmj| z@rJAN@{*pbnpN_26?V}j@)gF~D|QBbud1A)OUsoNrPJpu@}v?=3F)1)SD@I1 zs42zDrpT$;EAPYXLM3DQEx51KX?OIh3v8BaY5-CnlypZqMV8iYoJxx|5_xi^ir_hpLrFyEILwc3DOgzqpfd>-%PQlo_)mR6^N{P~GDY~>!Mn#&IQsIfOWIaj0yZACz<&F2}byUUi zStz_*VJh2Qg0Zq17T70p@s6#njkp7m1J);m5u27mrI#0A4n}(wE>P!Kfty85ORiwH zwNO})On6Kpt(H8QORz-Y-gz=bcaX9)-+(?T_3j1NCGx4ZKG0g~#2YYMg`zKxmxXQ# zg)R_d<<1olVOek=hM@uhsVcd-v0C9c`9_!@(d0TLQ(pU8hE!SyjV~45kZQh4EU0!7 zmT&JCOiQGLIxZ^km;}5g;2kCjBrHsiQQf8wL1-y8L6a4#B+Jt0FSA4yp`~bd78Qgd zZMwHmGpRB(1}|TqCrY1XybhD~sGmi83<8&yH2Yh600LK*60^*Ncz)Cf)bdNX*`4U$ zT7C&vmQwShLOegF(zFayc6Kku(6UU~ik#fOSWPAfd{r{%mTW%7UfKr9wQ5aLwsJ?a z7|&NtXDKV4#wzM4=}B-V%_IF&Dl%tEGNQK`rc@<&XFg})Z{w|)|5=a{i=5p`F1P%| zQ=#;EXMY>>OP_TnWy&wb|hl5Mt)3KA~KEPP=dJHP^v$EQQA% zn_tU%KmS`Ol)!{L?E!DA-j^k=EXA;ubh}K!3l~TNxz`HCHeX9?U{0D5pqML>oAXTH ztU)68YBBC&&YR8t%t`B;H=7G;zFO=#xe~c07pHvYTwPFau@{-IW<4q=t#7?qPs_QQ zqc=|=x7PhGRa)9yPW8DMZ_4jvFo0OOc|um+l%-|N6Es=9EmC2z4KiNtt;J`aNvn0^ z30gVwM8zioE*h=3Cdxy&A4nNWNx8C=-u>v!#6HIu=G%$Ai^}O;DrL+0>Yazl3CN%f zQ`0~-6n|!zloPZ2rthU&o4qwQw-#0z zX)T!}ReTq%>c+bWPu7^O*4Zqimn8Q({=Cv#Jn` zSTm-wd7`v-?beC7)7!iEpxBTC6Q5T0r&vURDai=AWg`Hk`q}XfK>5{C?RIYSi`DXNauD82vz$FNB9+m3J9sj0N;N6L&;V`_F4 z^9~5$VB#rTkrQAd%2BL{45hrO4v`>nUUF6WmcP@6j#Zs{2 z7|J#AhF4Fgvgg5nc0jqrV;31ueO0r+^dExCxl{`>Nd{$AOjPRUB^JIi)w1diE?d2nRj`aD! z4r5TBTp9Xo5CNkj=gT)q{=z))K$(cV63!Lwka0dm?wUPv>oemTa%=FkFTx^{9sk_O zg<`S+E(j0<4{CNPZ}$^4Vb4-mth{CFFsR#h`NK7S?dKgN)ot8TVOOC&r8_=8RjbqP(pSe%PYFHcDYSa0prKeV*Lwc3MAd?NPdG5d4Q8m^(u|D>EV3ix~&DrOb|q+zS6^11PL( zWm_0AO;7P#v%~M)jE3I_pc?(~dn{>F{MkGnUg?!9xgCH6EF|$z#yI3@7sd; z4Fl%qDKZH8|6hkgK`X<&F#c6A4=Gh`RVV2AX-mxOc1qCmSD%xfUpHVLk%Su4SIl3E z6@Y{5`Ekae=ZKt!UtQ00kB$O)Cy1Z2Lws#cvuw_SYV2p(+{V-=)uP*J*(?hA7Fjmy zW;spEpD@d1h(~*LP|M~xLp->TU=bG_J|mrZ;Y6g5VU?02B2D-oMLMgkV8|p42fBRH z64|;gzXw{oAF_`Kh}ceK-znrDoHjC)_^4@z)2f z*4Asy6}TbIfi54n!hL;Q_rE*@`mLWX7yWbFsmpWxeVYI9lvzh>y8J$~T-K=A-h<+P z4RJ5+BazHDp$PHUHh(UZ9}kXw_#9AnMC5hw|D2j<;5R)M2cy!NIV<$nW+yZo{S6lA zze7OHcA|ep$hXLn*)+>(=s#nY%h3M}XwgB@zp9`g0phd9eA(cG^nxX|C0(a*ZB zzk`p3TkU0#9aChdU&Zhn*=)XusJpMCnt+`mf>Rw(cc-=GW=h7X-ZG!DjEv4qYPL!6 zvT$sd@vX!9xLKDNou8FYDDgUvw&s1zA`19%}|-KjCRiG zIy&H(;}}QUgWA|jDUNAt`!J$Ra17-w#xagK(jy|Tg8xc5t`5dLf;nRu!JO4SC1I?{ zaeOhf)u1?DL>$YX$MQrkBS!UED$hbT99%EIm@()%B3tmQ)i?vV{2(e**aFh+BA4}X zao#waQy6@L9O-3zf(?fB>}zc48X62^`aE{LJi#|d{7VuJ{zT;UaHfbi)La0*Db<1H zZ5Q7RK5^EBdH#|z_&=6|e})ntEEp`QuJJ8>;tTpW9l2p+Omu*L%SdSOiBtIJp}&kz z{HTI{-%+2AHo4X}`oslb8`18>nzxI4)ENlSW zEZ&buS86R;H)>k-+I`wG;#t>6vB6``ZF}?>4?2qdei`>(<307iaJ;_|;h!84X~X{# zd!AuhR_rOy0lqC`owNGf#Negj_%36;+(Gf3eXAS3=INvGZ{G^I=T4Mv!8Q%fc zEhC`;>$KhSMx|;M(TQjyAKEbu}d7}lH?EvX^anyix3Us=XTUf1;IgraB{T3DJ^TT1w z2#^-dcA4z}>9#S`;B`c-=Z#RycpYz6kq-Cw*^a^9jtBR~n7xhyqy?j0;yS>&UDPzp zjA3nwSBFjRJ1T+R@S+ zXnng#YtZ`DYyIy{anC*+lD+zeNb9RL7oC;K2T=H9aj+I-$};vkr_VEZ090VV{b7zV zHAzQ=+qpx=cJI$yM(ZDv(GTBkVjD>NJi5J%DG6b8JDqS?pMDMe;G7!#N53$f*4lvk zEXje+w~WGuU8!m7<=HwIZ69=&g8ICpjT2HU_QiSu{jhhXX*)e%H0Kt{dQt6qv>x-Fn?p?)ZX;V#`sAgpD}N5->bD2 zQLm*rz`bQWHte%OwUyF8vM5!VeKu}PaDQ;Y7yZs`6D)7>{sigDCzMn6*#IpM*H>n$ zXZvhSg=lNqDnb-h)8GB}vcvexpf=0F1jqEV#fKZM)z}w2;}g?YtJ=>i5Na%{ZISIj zV_QaBgLRJ0t6DUf#x7%>-;f|(G*d7H<+G(?Z=K7v76GrMIKaGJ(WnUc|g?%PT1kFmD@C4f6H2(C??lsEMqk4`$wJJRv2S)8Fh4bv_6^iJ&%VJV z2lkC^BsSPLMVh`0>gP?UA4>aXD&M}rBnPMuu~-9|wV5{kW=fXv((f{%ekkpmseD!M z0`n8LvDl#L4Sl1AJUq&1`j;6nKRJ~44b(c%zQLsGHT{HbJT{;n(VZ8MEra@(novKK z_RVCzeS=93P#4%_3O`cGzj-!c8GhQ7z>2Ypz1Ao6?+%BrSn^pm_~phy z*F(KT!uQ^IrLnc%yQQ(d72oPL)~}#Q7qR}*go8g3c@vxytxj<**IdWFlJ1}n*hOMP zA7IUxr{l}?fw|m1;P)34&ZQ4116i$)xEambMP}>cb7Sl{cK-7H;cLb_o6E2j!MVK$ zW^?<1-`4%}n7R;bp6e10{zT-BaL#)V$Tq)Ny=mQmWeKDIpzDzV=lPPZ|&NxgsD zxrfuDkgu@fdnRoP+_7U8WY*1cnm^}+SuPvfma+8fQV;MO^-oV8EVuNpP9HV=Mq~rd zBI*rDcYegDmV+)J6!L;>ppH7VXf;p4qBSqDHlRp4T|F# z#PQ+w`ubvH$sa5uHub$b@GXT0$MRK-LC+Dv`iZs8aGllP1-9+tsPzfm27egzRzDpr z>cH*P(K$L*vq11Yg9rN=|9E0sYdZRVvs|X5aqKlHwx=n!<6fs3pNNk%R#)R?=7>Ak z?DpV(K6}~6p!|4ntnX$FdXC6j;1{u;S9^~AT#4#^GUJxf)mdH7hcCBsJ&$kbLHoj# z*cWbyF$m)|{?lE?IR3A}DkVom?uP#f_{SP+kf%%sC=c;eY=(Xs-^CosNfG5~&;`ok zv!=I2@dt+j^sEWrWd?c%BRDScJF;`evj8;9eic4v8^*NGb&UZX#asB%4j6Mfd~6p?qpe*`_xK(0N3oX()j zIp`afvDiu7<_Y#cw|T~(od@k3<9grNefn^`62l%BOR?W?g)3PH5bXcG2?u{7@&jAk`0H^U|L35g@%oe2kjB61SW zS`W|%0ql+8#H(o+eXRwrCT+Jote5d>?qpc+_SzkocjLFFxAkhqNo@tio^l-Mam%=B z*yo@S+o;0^)#KkOVEaI;+iQR=<2%N2l?)!-%AaHmdd|KQ0v`gw9?fg5VqHjafO*Sk zYrs5hwLE=Z2JnGHpPaLc*9NPdHC&#SFJrY|D~FhxXMJ4XF)Zvlz-PMP*P{m=U0$7FJ?cyvUk%!m#e=fzji2vDy!)o?A_(}1v)Le$Yn&<%imeJ8!eWi6+ z+riOaW^Kn+8T$9Mw*dDYK!wj*A7{7W!L|Oij6u&4>B4V{`n1L}+%s170TH26haDFAjd8@GjtNFmp@qN~dHO_?^3pf|K4sdQ62Msu{9Oq*S&gUVAq0r|U zq9v!g$aR2o%a~|blUg~>pReE?Gw>Pb)@xETM2kL1f$0F{ma)-UeQX-6b8emE8+%aS z%oQBvY^?#9Ek2|CSyT^**7=JQ4*o=B3(nL!M?j}FR?L=+?EvYPangWv+G=_Bc^RZX zPenQyE<=WN&2V8zcQPYj)-q}uEc8O8ml=s(t|FakJ|A`g!$+a-oHWo#ltEfGT~e+C zjUHmC*lLQVo<<%XxYy$@NOTcHeJ;cKM*Bp3u)Vs{M4yY#8r?dED%DspUSz%ltlPy< z!}@3neYHv#0S*vHPR-dOD@nf_7I^9O!q;C~3fa<(Pjq!+c|TKbSG;LSe|oXM4sP^GdA+ z%&RHYW4>+~F%A1*6k@*2?A}X7%zKV?>zV5e(c<_t^BDZ<=jK!MCf&DOL{Eg2NunxP{;shwK?H0>OX@Y55 zV-@I(=>X-Hk^TtyREFX%29288@BNEt!COZpoCv z{WFcY_glkXhMUaj;B3M@H`^2C&tdOkeO}!zhFTB1^I~JFwoj(Y#vpA_ zZT}1b^(=VU6*r&t+P=9G9~K-O{l?vS6NnpXuPT3&h=X^4ZKO5K62sPIrc(Azo2)mK zi9S6&=?$BWPJHtwe19_bTmM_m5`!Kf)L2Bl$aa8qyEtooQeUkUc4g<*&KUH9LG}Jc z0@9DP_p~=Qn!O{PMyuOc>cPrAul4>_s21ShdVfD-&~rrI2EWYeL3o>LuXX{WjD!AQ z7mE#RS6OrBY5p>6x1UD)L!-B}mTpsUr~#v1T-@Y!U$9)eddN_7-U&>J4$yBGl?~{x z9{m@Z(LX=5=ohBo=v~9fJe-BdC;*HIAr_ni0Be;`8qV-KR&ukuJq673>MstJKuUzYYiy8gH zp!IcdbFFVmbAWrx_-^WnTvCPt~wKIdoVTb`O^N0Pr1P-7b<_3+uis$NG61*8TQeTE?y< zOzUP0RqIZWZW*Pm>rvXXpyK+?P#c!rvdetM<0%=^+5TfbuN}d8sCaPeCH>YmawF1) zb2>_AwUsTGgy%q$+r?&U0pHkAxw8<;;QPrEzWrYRIw-yc$2-;Rh;KLkcDq<>Eqte@ za(q8Y!nfa6isg4|GAt_=3c}lobz&Dw4d|xeu2g&PNYRZeTs_}qYyfn#+DgVr!m8dj znX!wN)+hAUAz|JapEq^|fPc_=W1}Lv7h*bDEM3O!`%b`POc@Ba`0j**KM{EgoD*9d zp{>a!-d+^a9O+I0=?WMpa?cMUVdXn)QdnUPVKoxlPBPyCs;;Wr*!|zBLItjv)|VlbSQ$hbAQ$oLcT@&v*IWl5B8JoJvPm_ z{A*ATn&q-R%C3eB2G#ighxUYpg;ry;yVizHo3>g@uu&O&87gzQdEFackUT{G1~`~L zR``v`55pP#kA+Ww_laUL2R*|s@>(C)=cYXbXzAB8mIXv@XU}K}`4;tzQ)W4>XWVC& z%X-G;(8`1MjIZY6!teLP^Ah~?9&ug5!Jmk{5zcu%LNJa@J;8;CXWB9f8`ithR%9I^ zdxvB_pp1v-?-U%YHBNf{F2I-^9vu1RwcQ-rSYwm&r+f$6-Y)hUb}nY^n1}T-NFG$% z|E-MmWDnDC4jbr7_P7Mx8+R_|Hjr9-Ll@9Q9P|dusBD;jL)$m6H5YyP+>s-xvOOL0_1M?0oi+jZJ>17<)Z4B`$*dg)ZIhXkrZ~{_b}`?u>m`M}I&0#bB3^$XV}4(2*>Akt z&h*Uijx{#eHI(fD>6WqGIep&G17Ozno854XnZ6Vu+c~>oyT8j^M!Wwn8R_$j?M@H- zlh4}yQl=0Dzs`8VVKqAqKhn$wR%-*^lLQBdw~O%BX7sgK_gEnQ$UhU}?-cSan$NRl zmec0*bj)&@ZpWTKs6F!~Z2KGACt|qP50vxrvblj+YC?9*kzqL6P9j>Q?Jf}DoqoEe}Qj?1hm{Bw%q#_{-u z7!{f)SjLj3$i;`uu>3S+!@+0djM2Z@DI!hy5B7qjwj9cyQdYz0U^5+8RV8$Yx)J`Ww?mLpEB)*00G6bG2Mi?h~hx*Z;@623zG z0zkl^R>>C`=9|6gTfN3PzRB?5njB|fq(?+n;lH$Z)0ztCW`8@tv|YS3V4Ag2o*plQ z=|9a{+V9=w2f?)97(dVgOgr(0Pg+JkXC}3sJc6D+H$DA7GfewpkEGfb`!~0^QwxRb z>1Q$pK+h4m1Ab-gTwMr%`DABtu{%CKIcXWo4E6?Xl`3`f6Df|ThQ{82no5YqzpJ-5 zCM_eC0n?RZ`hR4Y9vXXNO0hTaZwHvRj6?=|qjF6DNrq|9?2RdW6z5=XOjQSDZf{t| z83T?h$MF|Z9K*Jse)#bcyP0lNdJZ_Q@Pnuv$02%{YL}v@i;L*tAE!8m0(gbvtVgqm zi$4AP?|6i94BBu|oc|GR^>(if-}!8}mK&YZ)L`A+ZXe%hbdGy%t6T-o z0}mc`+|L;F9Fe!dFJeBw_Phra$W(8?Ojt%LgWjhtso3_J&0a?D|JM`|huYm{ui0)v z4nEuKwt64%oz+-EJ?A>Wxn=Y+;Jk92|6z*rOw$hy&a)azIOkjkIJb;w)@QUCRA)iC zg>?%Q{-n&8zCK5B9`|m6>D{Q!eb(ja2$b71FJupfo+HwRU$kd>T+IV3F-pd0n%+Fx4OsY4bbfUJU(|YXwb<07#TmdbGgxL2z}l3 z-(3XO%P)2@&{uezMY$&4@alRhi1EZ}$a6)=SC|_%lggb3|Ct4uO|zUf>*kDEF7x1* z(dwU3kv{LYtzQD^iglkN-HAOvZWp@^-%VwGgaJP5VHwiP#H#+Yigd`rXPs^vs}gj& zY_+FAcVVZGTgGJPbRXvf(CGa%`Y}NhZl^}y?p@=`%pU%3{zT+;a26~bvF4hoBPBXOzh%TWpr5v2o~=^`{hu;p zV4h*b-!C1NM!&(};plf`@z_OXYr)blM1L7e|38`0@3r0^(9-AN)=eHU&4Jdpi@?@{ z)-S|;8Lj`x1osQ4yS;ehP@~h>h+!jM?`N&qYkjTeqRpcxIzYc&Og5mOf6iBS81)*a9OyYB zcf&6mqo#5 z)-K{2yf92TRf+Xq*0ApP8mcl_m#5Znth<;=JTYqA_Yqkj^Y1^SHs%bB7OW{bTf;owh1UJqyHiB|v)H7`*9nCd|L+eKOf{#g^|`76ud z|L1d1fa-rZ@n5L^C*A0Oy9jKseyYd+&*k7BbMhJgrLCXILiO)N`&&k4!@5`s|2*wq z#;^GiGy1(oKE4I<;Bydaj6u&4;k#WbmQNAzUEscM8>J2NZm{X{a9_r+`R`=hqp{;P z<_Gp`8jTz$woTnKJ{!JAh#<^Gd71AKepp7i*9ga6jtAH3dEX;Uw7N-~JJI5{QCa25x+J0r4;2N&c_oD{zT+7oHM@-ueIW`5fZBR*3>QI zv2y|O*k*ZlOBuv}NN;=ZZI@Dr*X)-R@osDwyVz`)PlJ#rRQUB7RS+{V-))r#Bs?U6+x-=eQct()bh8M4{#0lPrv zgjp_gHCzZ63~JB(OosKPP^!4~*OEV+jX;BGQC&YR5orW%~sg4v=jZWv$Ij zYO7f9f!6Ma>>~mqwiDTR3i%cxd(AATA-iLi%aDBmwA`S`{7-As$NzQ23R*hh=Bnu~DP6CG%AyI5&$PDlR(pxOFq@neGa+fFUM-QPwlGy42D z3i{J2!9Lq5_PZ*j;AXWp!9GcGfO*>pX}~ZK}uF+Y_cJ>7x> zw~Irq=QG;veKB&aMZha54lr*SISrVv9P{s0Fh5*A_Y~Q>&s|AzfO)$pYlt&Z$me=v z%J|%W(t!El@wto0mWQfJiUZ8s##Z&wYKX0JE4~co|D^%**t2}LZR~ySBC@4HtDN8f z@ph5bu=7B%mM=4x<~<7H(@CwjdX9Sgoi|c&^O~EidLgxX{Lk1$Sp)v7$N#^`!N2d8 zPI>&Bt(_GAPWJ@#`cRsCIWI4q(~@lk3s z;?FPvRj!8D;!(zH|Lz3+d$u}V=C=16_4ZzSp~j-QBeEUXIhJwQ;K8JbR(eE+^fDvc zALmH##H}6;PWo=++k5Q+)6skFmD-?4VbSS^FL<5yzh2>In2v8z1SPv*z>m0 z+2FxM&{wJF-(|o&=Has~Z|}hrkuBNra)JXbZyB2n`zs+Ba}i%=f2AKy5#Qcw_2Q1# zNVnf#X-`sH$(BiZ4)ARmhYjEDE5vu1G3q-re6Me9v{($@XKjw77d-e3%AJfs&k;EZ zzibBOo;I(sjB|nS0PB|V*MN1}VtLj}8LYoUYx!aMZXd_GVykC;z>TGD7kRCPH6WE^ z{YNyc`)#EU;Csw4E!*eFM7bg{-F&?UYDtlPy+>l6CU z?O_KdK2H*7iVV7w*biw~PnYHU{Z08Rm|76VrY}u6_!E&g!I_OsIktJt&Da;x9rOXa zh-&BqtQqshs%84X59T7l?=kDS^Z|M7s`n8mW7uiC2y1;@-zzn|2hQz1@b=t3;P+Ve zc}!gh?}6(Q4*o>sjd0F;4@hHLy$iUQK{jm}Zw($x+KPE^fihPA!x|3!*8cY1c@FJ7 zt?x$LTSi)g$Fg#)zfHrs-&)?@W680equrfob<3D*m{U-Q^fGe_-ik=y--+YhTPrKW zF{ePNZ8nY-c@D;|mT}fFGqMohWo85a0OEV!DVQ$PYOEiQyS;WN9+KI>TCFp*>nRQ} zZy9e5n6Di34;e5&54rd}m&S57u!3yCUe{Bq$NZFKEB|& z{3IxPpD}+K)ePeNvFU_^KM{Eiob|UG)H+YmW0C{ZTSj67>S^oc`DDtV{y|gwgQ_1w z)aR@ENhjW!DZ7|#*sqC#K6jQ)8JqsiCe%}n=!lwdu7rgL@Lv+b-H#pVar{co^Ef-xpig7;q?lw)2av9U#W3F_@)wDl?7CVB*r(9b4X7tpeuHc^g^K7$Cy z18weJnK544s#@doTnN#~=*@v`T$6kdQ2 z8V+t39b^o8j>r$gFMAIZJOR-(DiW*SI-0bL#|ga53-qyP<-f zA!-?V`Q)DSg}!-Whz{faAtN-x>Gz>ltuQpCiBc9>s&dGhV?M^c;~N zg5N&x49S4X?HEpMDZ7|(_=X8<(!4iDnQ!>KhM}UdxE|lQwccx{o+aOB^jm(zWM9ir zbHQ{nr8=;f>|(_M|JCFFo*evxq2%@ZpgjI114+Zb8@tFZZXCYhQ$7A)or8bO$!B}W z@*6$|{V$q98vLDDKOuUIXj7~j&6AYlnaak?WunJt5dC|%Hq&^j&xp5-9t*Y2>>QEj zz`C)E9@px+rxd-6{XC_&G2l@AY^SGmQOH;DfNGvn(UU94Z416nC-{a>7{E8G{MP7C zM- z8!%5HuZ~{N$*$QlU>?=H&!f|Fn9o)7lWz39U3@m!^3`L$XTUt>;xpz;+48~ybVbd( z@I6l0MP9=DM6Lsz+eK3Y&RLUH ziSxUaR`=a%9~|eB#h&5ZjkRtWH=WgIQ@#NjyEk1MSR`4;&hH_dXIAM%V@ zE*qhi(dU~A&ao%?Y^hs*l}*s+qT!Ok+=+#589fdAa9%miTMEwSJ=f*~SuGUNn$?nWtH=4cW%M*yEtTVZL%}&_Ff>*R zMYL+QBuob=w~UyEFYOef95vaXe#Lc;a<=sum@Ph|{8{t~iN2N>Cmj5V$QGP4UrSnJ z#cavg4v=mcCk;rat(Iq>mqGe*wcWvR88W16h6_Ww6MxINWpp%rDX?;+-=!iQW`p>Q zbn93Vx>gvZ<@ql%-+@*SaZv=ZqOAw^Etb*hO%3Zq@l{ObTTHN?qt@NbdKtHki_U1@ z*a?1gzAHf)tgmTUA36(0n(rd0br-($@emoULaUdF7_F*Ehl2QQ!C-I4!)gWq)9R}8 zCFMG>UMwS{HGPE!?seKPGJ1rW1=}7Oy;I1yC^EWcmeZ`4j#(~?j9vikJE-?%h2z|7 zd|yb>E#mu%go8g3S%q`vby1P+M0eZ9K|{13TZlosnmB08T6(3^SjAoTFbwK7wymT6 zyvBk*QD8dI+_q8BfbyzQzAU4Be&|px4LVblyYM8A&)LR6b^9cYIQfXPj2*rtqkL*; z=Cq`Mh8i1`IdUu4=Hqj=QP6<%ss&Rf)!THcxEg0cE z+T7SYN_~qN&fQoowsFs3wN#DsI~AM{oz)^mJu{d)v05x+o^?ICe-@m`{bE63_eI3+ z!w=(GJ-%N?x!2=Q^flqZIJb>}2Ao%o^V=1i56kG2BU&7NO5EykK5H8T4WrMhasGV@&hh>}+by>9SvaBv z<6LAqKzWFO8qllFM0Bx7%Wa7AJ)O8QTzhUwHO{OSnd<=Ob`j9}L|t1$@vw!LMV!$( zM#hirT!zsG0;}NIg`>R1E^b9uc%0>~<8!G5w)qqZkH&KfqzX*j>% zESJr=#W|*f&bYl*!8w~&O;@&iKU4Af?6C@7mt6@5e79~ zJ%Kf((zDK~C)|>cg?WY-_Wf?`-Gn?9Xq5i%$;$tB_Tp1Ln!rzFyrREU>A`MeWCiku#n#uric2y0JZP)UO)*4 z?*+T)ZRiWt_l3g+ePO8I3)6ky3n<~BFW5zRLtm)AFMMx)U+{i~)EIkQ}KWEtX&j1^o8pC!l8n`Fx2k_TsxJ{P0r~HPTmW3yGU{93)T09SLXKx@7JK5(|bW& zk7Di%C{ewQRJV&KhrUpKU%08DFAVj2L0q$v(-+*l7edS#Q9eSUp2eoOCFXo%L0`b) z`0P_Xr%0Qyt|g}{IC(4B#+>!JbPoZ1`mJ$UW)P!D+s@e+Eg@gRXK84&FHV`|w4QLE zSuTq?Uk=C}boRx;{GQ--FGzPg<59MkQa!^?5qT5*CpXI0Z=B$y5720WM~bNbne4n{eNzjKN#=S>SZH!5}~+T1Qi9KJ+PL9UJgGHredBoAuQ9N;KF(CYRYttI-oVy`v& zrR*^Y8ht$B;7>$O!#T5Nc&!z8r;y;lvtt(t4v1$Bm#5duApUy2?a_o8KE!KgOp16n zmW*Azw>GEm%(zWi$V(R94-$4?>e$bWAa*A19wO~;_Gk5bEM`Td60pNDLG9;ueYe6E^DPk!~5 zP0cQT8!VgZF~84%dCbLU%$Ks|HNSkO=A9tkE=pSqUkap<&(reghZ}VCx>rZM*J#H# z9Uj~dzmqZOIU*tVH%$t5Cs?wQUqVH7x|?-VHOnY!KstRlSE>pbh^GkiXq*Noo*RD z4M?vX>EELu9Yd$XrPEDeQy7rCiJ8_cW2OP=l_UK+73o8#)AhwoRHwU%l+IX2O2fAt z3XxvMm;T)<(jf<*b^72wMni}cRl19q(Tr_;R9~+Ye2m=3SO(`WQE-kO$!DAoG>4t4 zZap{(Fn5A-yU1vLT=%+!Re2oc&jExEItyTqqkLa$sdIX>*KD_Lh;f>?*Jyt(Rsaq@ z8(@|(=s6;px zTR0g*SVnH=^sm8%HB!7+lvyt_W55K%i@$G(OB394%c)=;YzFdN^gBVkWdt`Mp0;J4 zeN+bV(>mhOB=TDKmqL858RW+Dv5e$~b+DBqeo99?26Mee{6K30Qys4dbj1`0qhQOJ zZoquyn4dIY-uIDjIn3v(c{kDBY0Kztuxu*F{DcAXn2FD$+ESK{7Ua#;ybD`?+BVKx z*S-K3;=FwHT4sj*xQ=+Q(LT^R*c8-x16LqOk??cIA24S27yZab$zs4)*`iOlNl_G!DQZa{hUDBmfg+*jP0kuu2iL!s>= zQZ!{56`j+O9p?0MWaFHVK`oLOCT+dZ>>cSeT3vWC!@|HxuMv*xBk|ytN#=kBZbV)S zXNGXK)}oD~rB!dOOj$-q=k(bC0r%&I`xh7y;J0SK3_%YE$9)!{0B%HH17{QNB^@ur z-ifxijF^U45;i7{i3u^MOqG?1C0$M1f4$v}k2Dt7W3RQmZ7hk`mTPx`=Rm7l#!7=$ zFT{5lYv$WBeD80r$Jr+TUgO+Wt0ShRTFY>klN_MlGJ;yy*X4!LDYs?HX!WZk)cbA2 zJe}$U(S}K5N|+Fl4LG9>lcHU)T{z1Dy6s}7wXowJZNEIfVww2?S7z;IY7N-Of;ar za@0THg!;*$M7^*UNkzSrT_>k3qorZZX(8%y#^0cR_bW`Ohx_;(S+ZPnszRHa@On!1 zntswQidrAneePioN$e z59idfQ)@1pIa;a%{9DFa!$_94VU;7<%Q*^Q+AoAzVG5Yf`rdLROSSq!T4M$98QTHU zEu*Ue>6Ih>xhm3OLfDWYU6>Rmb^s?c!zL{ws$u4OA=1mtTz`&=bjZPHq+8Bh7a^_K z?}?^&F>_$jF0vYSM5Qp#ojGt7Bo8`Xy)47|zEi!p(`u|U)1Ajy{l>lJj;Iv(IZr^g zZ1RL0*g1BQ*YH(^;$Bf^MEmTVUV%CJ{1&kMs)C_6C@%xK7dUw**hOaR)B0+rcf#PV z-_8V^Yye1g>2~f+a7M^inEj>gOn|#W;lX~g71`Ouzx1mLZ#Bzhv&nEB{-E!KOEdJR z0m%dKX_0s%ZuJ`LhvRM>FMGf9%(v60EBba0B^>;T$dAG~_3acq1^L}jBDI1 zJ%lx^(v!}qhg{Mh8}kfD{_db%Ne@v+%eg(o&G^|a`dgpUcee>&THrAOoT)YFJLFmY zdx+PTRJy+npOb$RQ#14&k$1pv-}i@NRONOKC-#+Pj5w@1q%E5F_9(NW_F{?*8X@!E zjWMTnoDo7b3gN?1yJ^WTy@!?-70}eM;g;VLajBPee|` z88tlxG_N%u8K?;k5N{d#4Tz^Lm#53iApRM8+k0>MmqNT~=}U-rV%bmF#(?$NK4HIY zZrPWaxBqk<@m^c<*z57&mi$h}py!C3gkMd+tAk+r@orHGOU2J;Rf2WXdk&l1PET{SSJ7&4egLwhq zeo+6+(>Sud*525w@!;C~3dW%4h^)eIroC0I?L=E!Ms35_z-bFHXlL=Q4AW)iGF*r) zJ>Tm!mex{N+Aw|%yzmKR!_s0Y2V+#rcy8zymG_Hp?b9#jAxEEQHKZ%a`8(hh^ck{K zM1BbVQ>+;TbElwRxUqpOqqyN~;Iuibd|zD92Njs1&;7!3?pp!kxxrK@#7r6~S zeA+40Swfi=g}#kJM+V$&UbEae>G-GWh#!`( zfy+8x{2I8PQoUU>ZX2l$m`4rFps#y}%4qrX449wyT+3VT%%C7USIxWm8u++ntTtFS z2>D7e{}cn}F%O?dwWTZ@VFw#r@g+l0h^Batko@d{hsHw<&i9b=fGmO zi|2+fBvW|jS}$ery+gwH{7~Urw9!+1yYa%<#bs+@fA7lm_o#$#zpZl1{k=2&Etn`N zyq#DlmeJJ--4cHoUe*14jN%Ng?Oa8kGb2n}MUJ!N@KCG{&Bu7ZSuXQ2;+(2M<46(N z8!v9H;!XiA+!XERRAGclIQXKUs8SOGY=RlbY<%}x<{GyJEZ_RMrC5^!M0 z*hWts0euMdG5WgxZUhTqkxLvspJd zPN`OCRUuR%v=@B>9)N2eU@y7m0l4B3xMn$L#$%tvcH=-26w#69r)Q2mf8RMXp7iaH zEx*;iv;3hx7%J-(qhge6#)ht!MHNqV-Kf{Y2lkf%;3k0fC&1z_084+!_}p&*6mR@4 z<4eB+P+a+0##hb&D86RP_{Mzziu#U>xAy>U@0sS7X@1#r{GPe(1deZR9odfgjq6!m z*F@n--7t-+*>Rf`L%C;pM?L@8Jh1wmz<0W)W#R)59WdLDWl!dfub;wQ9@qT26!(-`%-;((3eW z$8L1H9k(S~*$sP=U7uCc81ZBS?60j>GbkM?=CfF@l*@);AnVm?#JYWU1#t&hEdabA zN{dhmoRdJ5vlAV*_e-`FSlKF~W)rrbmYTiZ2sJn*J(pg%T2;DBSXjV*@vsSHrMIr+ zq<1}Aucq`~#KKC7o~l>5GP9E1>5!~+;C7s_@~>wAhlK;{ff9srK4;WKai|?q9DyfX6dkbS`a!k1A`%)OEE`_SXC@!>WKLv3W|m22VWBYMQuN^q%zUqCoD{IZ=Hg@^vW1Egwc%j_Z#x8qw8cZSH&Q|$K|4fPMW=t zr}zNt?}yw{rb9WWzeoSfd>FNm7EWV79{FcljVd;Fz}kgaZ@}NzQKy@(7ugGqV-s~A zrRy20U&PV9P)Esd#802SOMji8$FjI|E##B#YUi7Vs7zuRNyH2c@Gr(nD=&K_dk8?SOaAe|D+1ZIl$1gVWg0xf zGo`-~&K;A4Kte+&ChAtrxQ{4Em=o?zkMeDO@j7HYX{!Km|-(xvAQJ!WJJFXP&d zYYSHe4g70WddzwC{IvT~i1~kC3Ph^GG3NQc+NVRhk&pCRe1D_PIH%|dM|u4{<}GLG z^_#5Si@bg(T`%GFkJI%c(&^i1T+*-5y30!saY-`I=Nqzg3NhvHNr6Z;@G&18ZFII_ zGcX;(*K-oS#=d%`FTW&wH6r{5uHd+YF9KU!e14t@m$!GEa2-daf(CSz#YUUBHJuLI z)tqee8_7$yhtDbhgzbfJwdFnde6uZY_Bh+`D6lctz>C<qVaX7Ovj7p1T;*J@h-yTzl|WL#E?1N;H*% z@>5Ku2Okum;(CtDy#{H&I?lIuC;O)mb1yFW zr4TLpF_zLsEwN9nnF{rlT-4Vp$+OH8^njzhz0JJjEWN$Q+P%ozpQP(WE=t|Df0wQo zdHdIKHOHmC09n6|@6NTyr@L4RG5L3-K%^S{h~ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-framedynos.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-framedynos.a deleted file mode 100644 index 355f44dd8480d243f96a6b0603d86ea7ba630d83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2500 zcmcguO>fgc5S_$rfv5-$J#aKqxgq1A#3>R&mBN8zgy6z~je{LxH6K-MAl!Q5+~2@2 z>6stZGH=!!uUnhukTObk$FpxeyR&a*{q%LX{4#mddf}F(-E9Z$!0+{Z*X19J-MVi3 zRgg~@wuoqlsBxdj`9rjKiN8{Pr9P(dGF5{(iGHc8FT+_J{p1G~DxNZnNloG~+SWVi?V>-6NU3CYs@fQew2rL;t`?e82*yp&3wqlO%|kfN9bP zZnvEw!r;l~4DJOwqg{8{G7Jtl;y7Wf*FFs~RWx_V;FreT0anB7dXlpNCtAf|gSUGN zx6TNA+~~j={d&L828Yn%WF3jmL(w+j^hBx`!&!tMG|nd9<|o=BtSUtsoBR*Fm*{HV zBff}fA$ASXYrc^Q0>*p@dgLO}dueskq~EM;w{G7_&ZIs>66e;c-?ek*o@{i*M}{k~ zDrZnrp7Z!1=Po*z{0*xt$q0`Hpldd)=0XKm3{6ew6eb8CNXY&R?Z E0!DOzDgXcg diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-fwpuclnt.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-fwpuclnt.a deleted file mode 100644 index 9080983230fe169fe2f26d8bae32b7d25882ce98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231006 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 G{r?Bh0fkBc diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-hbaapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-hbaapi.a deleted file mode 100644 index 9fc81e257193616121d8118257e47580647d5c45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78950 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-iscsidsc.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-iscsidsc.a deleted file mode 100644 index 671cc8f229e0d612ff9cdb096e1f32d86137e57b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67666 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 Oah_7@9Or}8=l=sttZ>}` diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-ktmw32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-ktmw32.a deleted file mode 100644 index f65813edf685f70435d5a31d9fd53d31d8dd5c40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38064 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-loadperf.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-loadperf.a deleted file mode 100644 index e67b3765bad346e1b1bbe625f591384b01dab767..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13418 zcmeHN|7+Vu6o0Xkrp*#owlG>Kt6EYR+wf%1kuw-2Zc6AzHbTD8{ZLTUSc$zjwkOG1 zR>lZrlrhQ(`vdm3^e3%Pf^l!@xfba%vcPvsmQ6*qZ}@4*{mX1DL%9F!zMVg;fBGH&=Lk|7!q>A3Wpn z_6`8WI~zRSMLEU$RURJ%02DuZ$>S&I02FgCc+6J-@)g@&v+Z5q^?ZBN4P4J&YgSzQ z$6CW_)oc`=u2{BJwClC!6hnE#X*7NB#I84;O3U>QY{$kQ9J^pwU8gdd5@EMhaRPS} zi~kmjUa!?%|0&pZ?YLztvlPN|ynY#W8`OL%f34YWVAprt(_lOBYK_BAMOqzQ2~pLW z63Vdc2HUQ8QrmaS{*Kr71GggjsLWCbMMcW2E!Pj49y8*Wdsy=W@27RIc}&I>^=MT# zT3c@2b$s`$h95Zfx)aozjc?k4dm36+qp;B`@Bh%Qd79tGDr^iK8J$Lao-me9BkU>x z<8i$%%+xFG{$G^aD}ChbAGKRllraBJQ#O8lex-eM6y%zbTZ!{0dDFBk%P=hAPK>>| z%BySWQUI2w0N!P9GmyhELua5325j!-kaUh#3t$yC-{hYA{s1*NBfT0GxKtFn*YRZ< z+a-rpFooW-kdxkgyk1G@-Nctgg`UV4&wA*pa+P|WWVr+6K$!XWTY$r<1LsHxLb+@+ zsv_G{52?xa%EakNw#vroNOqcLI%I+F5ZaR2Xa=*gQ?WYCK7@ko)IxV5;eS*I1=7jD z7N(<}2?)Q{A@EyTMi8^m!LNn(rtw9@{M+~~ux4PgNUgzk-3qZlNU-&Z0^~vb@;+v+K|D2O%kiRdPd_8F}e?QAQ z`5O)wEhbfbAy4rs=I@2LrH27#LVu6`S@L02gDRYL{CMP_X*7yh+4oYt(9!Gi_baFq zsP!VgP(M~t=NGk}CEA4xX?POq2pRVH&D#g`-#M;>`@@2I&B@S2^>T#Wz&DOijz%gc z#HBRHQq{;wX*OlE1ITt{a{+{CW)`Cw@K<~;==gadVOHqk0P8P}K5r3kApq6RIdB`_ zC=j=~Br+wFoMEb1Ig4eFI%|Zhe3~a1?h6y#<4~}XllT!0R+_kgPivRoAb_yN8zs?0L&A^}d)SX{M6M*LY0(H`0ggIdZ4H5@@v@^aEM$Bn3 zQ6B4+&}A7BO${1Gq%%jDUnFG2WKY1nTMu)hIpQLFf*a~H+OcLrl0AXqI9W^y>Z}xI z0&``8`y?|#8hhdED%_X<`+EWfxP{|aXQhGrQbODp!Yf4S3}~_^Sc?3;f#ex>PcRGG z3$d~G`}f%FDDMd#hZ1^ZfDXm9z2~>DdX+TzU?t^4|C#874;?<>M+QUl;TmYJco}NO zcaMA*+fSjhM_y(B^CSbW@kP^n&IX-A8eCYOaDm3BXN^Df?)V~Hm_aneezJgV8t3z( zWL${tz2HK;LK<8sCgnmwx?7%{ord>I(K_iOT$qOVZ)l#5ITs9UKZVY`@Q4dont?y? zsq1}62HiJIX|N&b&2eGE1{%no8RSxI$ZGI_o93~e84NNOhKsR5Y@Xx!lG2%J!uw=v zrT<>-SA@o(d$ngAJ`6=yd9QXL)vLQ#YpM16)=4kadJ!Am!;v3$51oPT?;yv0K3HV< zml^PJD4|CNPB885F`onaq-ps5gg3|&r1L@JfRFCgE`{`|o^dZTJdE#-czC1>|K5%C zlze*9o8f%_x#(*g_CY?qBKg9r^yv+$UY$=rRqOTn^p|SA2)$1Lzg40{{R3 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-mprapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-mprapi.a deleted file mode 100644 index 668f7f70ead609a949e6ea85f518b8618bbcd401..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136156 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-netsh.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-netsh.a deleted file mode 100644 index 22bf2b07656836c8590881fe4bfa7ee8894a7543..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19890 zcmeI4TW{P%6o5~5(_85MMu7?z6fUYt@aE#(psFfL)3k_%&<3eONRE?rvTn2Mu)FCE zRF#4d4?Og-KY?c+c|d*UXCNN=0f-06IWr!6#`Y$YWgTS2BaQ7nb26UGH^;{_-JdXYiK=JKAc|3=CQGE9&9*xI%TZ|KHJeoHF zC{9;-yznXj#fyLO_`&Z06fgU64)db;;ja`eYsRuZ>p1O>HScttwl(9`9qX>!ve#V; zh4-qaWlmaa?h-{`-m+U>r+vq2Io(dfvMtnZI$$*%yFP&I;JUNwcCaj0owaqR4VL9L z*R6<9{G9PxUFTjmq9ml(ot3uJY2eR}w}vJ3b5ex!ZExA>bY{F}({9y$orrM0?Y6o# z)UsEdD{Ze?^XeNxemxRpagb}64Y2gtcH0v*lmzo_XFa)CQF+boE;kmu+fK{Bha}*a z_G;%^Yo=NM$Zd%hNJwC!+15sL!CsYf5+atKkc$x2?Ay+bE;dv6*MWf2KHc!TPCcff zh_AKWu4}Kk4;;0_;_^ACO9fN1Q)P2b%W1pIH4pO)S~w!S(stA`O9Hx73dh-ri7&gI z^)>sx&&GnMmb_Q0DzEts9+hHVcbs;Y*K)y|+i(S*Nh!XJv=%(2Ws*|rcW>2~x?`TO zf4%Hp*)UAgES1cOif=Q+UY&z5D8fH3Fdo}p& z$l8aVXvLwPI;?Gofa1`Inu-65?m>Zc3h)UY2l$j3VdOUS$*oNBCwQq8l51jXAEhF~ z@c&KjI4cGoPEu*GTxWa|s5g_y75eg7(hEj{oGz|OPh3aOM0yeENMpLl+UF3v(&4$m zTmV$Zz}SG5Zeyc$n@bo`N=s8EcYt};x}14xUux4Z$hL!*IW`KIvf!D{G!6l3?8pxV zc#0PTbAARmRM<%A7=|%E&W6jDHojVxZ2Ue}z3;H2_$ZH$6tWQKG5rglSUQ!!(6sSr zlO@~5ZkBL(6x!~}j1`$DLv*!U{ytS9RQBZca533VPM>zSfh$MNE-uOnnw z<7dy`q+d^-gtGAJbkv*0Bw~o}$+=L5BEX$QBF5sUBkc6vX9PJSY&%%!WxNC02eQ%r97>k1Jod;T^Kf zxXv!bNR0*LN;9P4v1qPz=5L*wQr^#7=N_PsE&UG}Gfue9Tc=c8PPZ&b!G3G5YgXg_ zN&eOu`X~MP;=_#W-SyTu`Po7O?&u#e6~H7 zv+QXnd*$!@5;_&&TRirvIS0RIY6|>ou6kDE>-@Q;5BcxMQ!hj)pznsW?5We!jzai0 z8via%CA-)Ewn)QQ*IfUcj(aruewL8)e)h8rf&V{7l>b$dZPw3l)Fsx(eF>ck@D(1D rYR&C?VoD0OU2|15XP)(4uUVLWm=Ahi`HwrhhIysd3iE2pz?lCRuJ-xz diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-ntdsapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-ntdsapi.a deleted file mode 100644 index 3af56297beffd3cdca6c25d359b472e3326ddd09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 97814 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 ZJd@dPKJqj@btjfqAoTPO4D!i~{{!~E?sotH diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-ntlanman.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-ntlanman.a deleted file mode 100644 index aa0dab8914bb4acafc641391354b5e34eb563ae9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16274 zcmeHO?Qh&P7=N1U-pby9F$N5FOdCRDD!IPoZfHU+9fL~jbZi6h0WD2?X?t6mtM1aS zL(?>&Y1)SgO$hOkzhxi!%wNGDff&zY$FVPQuDQ|_g`Fikj{P`}?cekBV>@~OveQ{w z{dDZ(a<8jQSFDO=E}z@Jjyp&)mQM z8vyx}C`bOSU%5Z+0gykl$o<)60P^QM+<$lrfc!^O+>c)XAYVDi{p4Q&SlhZo2l}mhY^$Y)ss$S++H0d#y$CVY=`5?QUn&_5;uH z*Bsw=Y%H+mg1zcG&E0t-+;D^0_4Rqb8#w-wJJ;R3>NzW2uQ?SgD$7unDg3Q_j7+^EvibUU@n2mlkX~p;u-bEY_ll^ z<(tQnV{*|0d&FSgzHtvRwsy6>w9&oNa=i9RD5=Z2;(6DcmKYdu*Iek8}iZZUo>Mi|vE)z}*U1JUu8wV`04M1WvjL%b9`3^YO)Q zcN;NyNOCQD;5pmNcvY2--nL&7_%gB-~ia2>7HB+m_!aW%RgsJILCqI&k`wXx^)M!sfI`yj66+rt;Zi0o5dO{yJz&BD(R3wE1Zc332L_p!Ox34ouwYwVBTclIukZ z>xmvcU~MJ@@HgUb2tbYJdhia$$dP{Ylp4F|fdP*&l45N4wZwOGCBWtjhJPy?{wF39 z_I-@r5oryBD{`qV$)P{5aN*j(L9#Z!T7-ot)Bb*`7qmwhj z47=xn0Z%c~r}aV^QoARgnPDoEE?Ae6meCVr%k5@{1%*-fa%Q-#)Z1@n2=sD^nc;z6 zF4BdQIJSe%3`ccnz~>a%Dmul%uINCt$YU*gfT2bQ!krv#PA)URWG2*CE6EvPxE_!* zz)sc!M^g82i;eu#3FLngrqIQJ#~7yVPjl)|&CNvvCNgON+XjuTh{>AXj`wdWe7Tpr ze@m&iAMdLx7DX<>`zb4oi1%sFXi(li%=hZqc|?)9{wM((owRpoeI%R#w=v32A+#qi z`B*cRY^WYuGi;c+vP97dN?U%z8x)|^T!ybIAE!V)mCp!-vFfV1(fr+F= zKit!iI}f^^T0)(z(NDI@EXIv z{LTkIx{|2J5RN>3bM{iKW9M{V*X4uiZ0EJZUHSf~ z-pM+4KcYJMy=1XjJli@p*=k|FXmWDl@@(g_R#p8flb_2zL}J@+Px3ouzTZo`Wl^cO zpWWi=B=Rc)<6xom$voSyZh zRsCj@qx%Vt_;%c2r7rSXn`o{rK*wp!k#=Ax69xych)Xuy5EYFZtEJ>DJp zU_RS9>u@E?hmI3_(mLPCO0OR*A-wOF7%o}7#IlJP{fmgM*0u8Z7(d<|7$ zQ0v8rV;!GSWNs&YCnvf60#9I}0h@S@X?MzBQ~9v^@RXGXBF5GUJ3WtY#zwUN!4(_r zSyrdIfBZPPYjbkp_iU%E)^u`pI{acr@;j|#2IY4E@dsy7kS^a>{bxk{MIw2fW;@{w OxP?)UYEgbS`THL!av1;s diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-pdh.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-pdh.a deleted file mode 100644 index 5fcc9470a583d2e201375bfef326ed90c8c8909e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91026 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 J!niv-{(l+F^LPLN diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-resutils.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-resutils.a deleted file mode 100644 index 33e44cef1a62609535b8d82094065834b60f31dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107718 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 KfiryYv(!i=*H3HN~v86T$T2QojvM#1b zf}|C>MhiFni=rs<0R7Mh=mYd)9-tqJK0}eueSjj#%Qrh@tz51!mV7Li=PHYwP~M&ffcF4ScL1LK zF2LCjcs%zZ0L2+UUf2MjcYL$}{p?zY^<$6lw|^BPDztUC>7zR~vXQ1t1YW~V#oA2bG?{T|6R8z{f; zLSxTuw#Jem+{UE0hF<%p&HfL)PHW8@3|IOtX3_BWdyOP+41KxxAo)+kjQl4#7siQ5 zC#Ei^yw&k`uvRy_TbnEO$jzv{Aay}q>I}T3e=wf-2PTaf@SLLmPGEe$$LooGceQJ)h?V}hIArAV4SQIdIYdB3L%F{&gL(-xSN(hm4rZv&qwr4*YT z5ha zyE~D}mKZ^*NQ$}9fGSBPq{qpD+-hr}^F9=?Cy?aN(2kbM3+!bd6!vKhtaF1Nb_S$!d!lZb!&VCS|wTes_OU`-9Go{!h(7 z$g>`XIU?al9elv_`rg1@U%jb`t6V?zrB#zvBrQLR)Q$0?Vc>x;fwvOV4U!&7KzpsjEM;CXg+3TB7y;gDS?AIh+?J==Ka|1R$o4qp_93cjeNY0}Kug(Xur}5$>-j^J1KqZh{27yl_Vq85t>z) z7nNQOem%1KIfbkdGOTV00aGWacJx4bP#~ESypPAR+E&wq-Mtjptu4%J*mbbJU!a?W zlV3M>=h$uF0ZnX%-HSdJs6FGb8_3INNlx?ynIBw}TyPydQ)^BE9jRAOvHE$AU6~+y zj~Tuwj)9>Ac87cSJNGz+VM?j#V?sTvU5J24+Fhu(3@Vk%^&0OoM``+6Mb`9Bvm*Wl8*7?f>Ai(?$u;D+eALpZ3>8C7 zkD6K1U@VK6!=q4x3(ZVzF^`#bqN= z7Rw#q0Gd57SPyVadjL+gut2s>(F1(MJXR058ixZKgkT`#X6#|ZXgrY?NobB+zv&zqutLDTvL>aRW) z>aRrG{|V6e7c|tP>q3MQJjCk=>JzoSHBEor4D+>0wZJ^K7gzXVmPlZpG+bIu|GH>> z;k#hojyzjAH0GfYS~;SMkXnM@;4#3wT58qGkML}0`?&)7)KU>dr?zpjAiu0*fO+O7 z4*9Iq3CQO>8_2H~$p5;K|IHBjiide(kgt?Ff_#-{1Njv*Cpzlt+zgf6kRD z)2YWfuHBXL9W}1)#mi|r|CjM{;!!?>-6yTJ^O``uST2$4`J9(Yg5@>Sfa2T-tQpZ3(;MhQY z-4ONl>)Lp>(D30L&WjmP|EfSet^lKzOc?TP*Stgpzz}NqZ*u}WmVlO>1RCBiu?qHp zXanblK3b=)&s7#Ue>|MOBDXqQ)R=FalQl;n#5pc`7NG?9@mj)p+%itD#i=%sZs?0G zkj|Sd$&SgQ(J#sE{sj1;QX)OZ2Zbu#n*V9e)azQYr{_)?hyk6`#%wEFV`>;C3dcqe(*>S=tbqxSH!f^%bEYN6A|t<%p6oQv(( za*gveI$e}lHD5xq4NKkBpIVGg<8;5nhaereerfUjOwi(NZ|!`~#ZdpI5Uzu~!U^nHf_*&u_)gec+=lk9nEFi%?akVWD{=i@ z>nz&)bkN>>Yxqgg-idqTTfw)nkF;3xMF3C2ca~A;(+uC@Qw8j62YI&1Y4(XisKMh` zva2Ny&6Eh;hOJ`iCoSd~SxY9NJ3tCi0_nG(eTFp(n7-% z=#wy?MZ=#8FfV;!CeL_Jq2Z+xD;i#=+tBcaUej7t-}SWk!a+D1rCt5gjz&)gXcwP5 z5?@cswU)n3Y5_xN*SyUM>{x<7;+aOKsO9yNE8ve|+vo$P-qd0*Jl2Ba)c8{x67p@~ zn64aG3|+<2PofP%s2W?zvzMJS4yoQU**_9y{T8VuyMw2;|Ob)TA6=JG}rch R3L7UZu?BblQ>$ad`d5yW-rfKJ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-tbs.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-tbs.a deleted file mode 100644 index 475f3bf03b014e09563b51300b4ef7eae4cc3658..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15494 zcmeI3{chYu5Wpu+`W5;`TS5z!I7%v2s03e=_!3m1wyD~pwh+;v@&}URlEtmGYv1hH-jCmm$7|o)m#y|{ zz3s; zm|`Rn^`F|??z(MW^?e*C%Xi!sS52uEM=drUdd{lVG#A^pXJeDX7V(3#mBcx2+P=B8 zaMQfw@)0(^$U$;9{kw!$+h zXOf@|TvC7F@A^}2Ck@>1yDvmdERl_oD+sA2I@POziE0DWX{HXBQP% zT%M|1zLl*aYOcWIi>VdQ>!AjZNY9}YPR@k72XSW%+r`rr&_li1P)>S>v-N6R?^KFj zSRZcv6>qBEY{Jx<)3gKO-!B0kjI3Gfp&*d+v7%FtcATHo_&A{}PS;^$G@7Nu#%E0E zP|xEj7(+2O`><+sBvVI>3(bC-4xN>*L5XxUxQk_B_l0p{w$TT(wHX9gB*m z91(kYXl{s`HmYM1WWbu=*lMjyiQp+V($vX4AYP2FB%a2X##ANlHDsF;HXxKknrTZ` z2yk1Jve4ie?i3WR6lNx5C7!P9RYRIePtQI#&8*~r=-Q7sNfczJSqb@ui&+0fKr3x3 zpy%}L=!u!vqAR4ON6KSIo|xuf1~0b8t_w;p=Go^^XER+dvJ&dY71a4EUC#*HMfBVX zbV3>S_{Gcf^y}$UB~yFHlhLQ(hps7^I)rXQ1`aE}sMvy@yEzh$8T-Kr_}$rEoEWG~`w zAUL1R$9XLl!AQ=ZVHbOG-VElRHhanWHoI;&&L5@gB{=^nT`%H%68qOL=f{Fs@A6nw zYVL)J`|d4|kSM$AtP!2FSb`S`k3xtS;1r=*yV9@oR5& z>o&XTdI`3FNY{(lCQsHc+v9S!Q{H=(JB~RUAgwsZ*TzxO;CtK`oTv1hA)i)TF#Y;` zPWmq;@~-5^KEzW?-kYmUsfz92H^aF;#_@HgXbx;zkgkL10LP$frK_1>|iPUJwdH{-9bC6DB7>* zeM39sUCdjSUmt|`{n5;`55oi%@(U5BeTa=Nm7`XH+}V{*n* zzRN9l9Fu$XCZ*>L`n1}j=^ws-6F%>Ci}v<;-@?u%-&76bdBy%9>yjg!fZ(4%WnQbHJ02yqHa{f=qSRmuw+!nZ|9vXl z%jbM2YZ%EV*WvdDiu9v6i~T;i#^xQ5FEi!xpGTbXbAoSKXyD)uqdet*dqt7`55usN Awg3PC diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-traffic.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-traffic.a deleted file mode 100644 index 40bfd336b87c615e9adb4d193a9da3aeb4d68240..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19074 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

    bj&xrL>$L)YvmdD_i%tqxW`GNAeG=l zJWtS^V?T+xi*qL-{%6eaUzKD00{_BK2Kc`h+jLl;e=LRqc{U)=_`gqJJ@ore1?VTs z{#e1kthvqvBK%CO;FOUSSo31)7w3NKSGW~?h@Np!FYvbHJ;&J#tV{Pz>jk=cIi(l4 zq?Ze<;OGcea3`pLJKFI8iXdJR1jv`-tNy@>Ov={V?vd7=RA)Y8NH z{7KNv_~Ui*jChkcU!%2vyt>YjO`Kmf!hEf&diWyFKM`PllsNwmNLri9H|{CsqZGzD zk8=VmOK=5`Nt$!;Cvr3K`V}J!u;x^+U&J_}1suUv9oFj~h4^}FzL8IH9;FcZCpm$Y zCAf&kxW*ju3N;I)SLe-;UQ>~N89Vzy(fpfI6guLRC zSft+$k!=IHj%#icm<~~XLQv>Xf-aU3Z8^lFq)hNVXNK=$w949x!(5HuM;Wai0d-M7 z&#^m=VJL+dS4XR=#scW-o}f(7UNb}coH|2a#4TamG78#n17+J*u08r49PAR>9}yHf zlwcc6MPmVWWm{V&ST|dNtxc<=)NAPG21PCnsmC8@Q;6m&`5+5KLpW>VhbPZF5B9OQk%;~Y68>^oLQ4j<`91j@+a6TMsz zADu+I8Fu7w6Iq7IOJ{iPJogt5GoK=lsNWP6I+WmREDdWSFcgz&%Vcjv)o^9FSWjSW zoHU*oWrp=2sBc;3*)Aqo4as()t|zD(a}&_ev*;ZvW~;-sX?0$ym}3ps6Ux}q!}bmb zAoca&T=xja7341p3LQ#7ul=NIFN`4d73)mwp;%3(7K(XwC0fd2@AHkIzWM%N_x`HJ z9QYb~CTKTXO)ln+$R-r42*w7Z%pL7Vv?qPlA+(&;>&14esR}9ygE9yEk zjV=d`kXN`fWj=MBBjj3a+rd=IH5cppoh)&ldouX1LBdb9P~S}}V=jhX1;y$?T0*YXN&*h3sZ*|2M(~bx;5R diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-vssapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-vssapi.a deleted file mode 100644 index 8fb796ad6ded8a1c60e88804dfce941b9ab8cdb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11118 zcmeHNTWcFf6h2DrRsZtYO?>P^G69Q#l|bR2>iI>I{)^d>VJMf3+-j&sXqY!heUG%dGoTU}PI7icHgRZwaT|FDO*|ZMYjkUJ5yMLb@VkZMVB)8wOj0X1a&ta3fH<+_)x4Lf2 zGQIKBF&oa7)jsG1%Wzp^VDvP^XN=Z;*lIBQ?!%6l_nxuK2D-?Et=r6S*_U<;EqAl$ zO?;qI{uzS+(Vk_EEL6~bv)8qm8+8f8yD0l#M0(H$xQ&4tU&*kOh zM1}fxnHHZ6;Vr9Be_q~koD3Ko5w1lY&M*1cvsjqKdC6fFDn4%6uP5AGGOp(1aJz!@ zF*v{7&$l)=Kdo<+Z``>9P~K~`nb+|53xJ0cd&a(B;nmCbqV7urV-QTXm6C*!>{Lp^ zNH&_}7+QUQ@a)L#Glfm1i9`&y4KbiJ@k)Ou-Y*)10$~)WV_M|iP0Vc$!Q9&NLWH>* zTKf%}B250@%*8WMg!42ToYw`933N5%nCrp&G6@$bp%38wAY5EM)e+N6JS9z+xP4yb zr96CY@^cm87&tdz&ut!<`=W+3s?XB2$PsX!TUT(N>`OKcgS>Z$IY(5$!9JfUCmjOZ z*()rt^I)-GRL41K!B@fp6rXLzZ|!Hd%h?GYbgd)wnIWhzv1 z?((=ROS>115EqWZ-8h1(v+ zufr8Te{qF=ot%VqVQDspk4UVdIS8iBU`a4lu#)=n_$i&TG>ua9i~!lD{6qkc)!ceC z0{%;!2;pw;*KmvUX@Reum>^~(W(Yu|3oX2lB?_eRICcDl_1WHUUN5;gozXc$+NfO1 zsg0_9jtFf$K{I4&qv7#|vQcWol*UcdMlT*0(Z+Z2xIh~haec#TV+NA%YQ|X;m(Ugz zLQPy36+BhoG3LoD7g|VZFYN9$(7;Mg4J<54zLe0w3GyOK15JrLqtt*cjhm){Z{l$g z4IIbg0u88mU5C}cSxCP(A7>q0=6siRaLcQqOaVGD(^oIFkbx;)54F5{5YNO^b$izL zmrnICALxPh!D01q2GX822_IuzeI*s`K_NUB)#LCdLy#pu~^ zdhZZw;osalOhe{FQ|@z*s~-4mQ=cC2@mUZQ_z}yQ77(Jyh83@j<$TJ}R-$(f-=imy zgO$azd?_c(YtjAx2(Nq=%O6PW7$wVhq;b<&E^H6L$=zez;K5Hg%jL_a8CVo@e@+}pjE@bqUfAG>Rd(LMasy9vD;y3-q$ z-6ijOC%>&7Z^rxl4jKQsPj}1}cor}|*#hz=pMolW*I&r1i|8HjsV@GTE|gFg@!ubC z_KfcvgZDfYgu1xx)ljCuQ%r*|7~(B3Ad3W0@v5liRK;@C7y2cKFXT!-$tZoHZ>4c1 zA1Cr2?QuLV;tM^E#|6I72Y7{tJuN0=PNaP#!#Om*>i7`nPa#yt15v?K1%Aa`Qb(F4 zA}UD*7q6Dnx6b^U2{8oUAVt*jGTu5%97+6EY@F|x^SpHqRFY_c0f8jr3e(0vktJ)$ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-webservices.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-webservices.a deleted file mode 100644 index b3ca8f0956b3c6b70030faba8938d4d20be96e85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157534 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-wer.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-wer.a deleted file mode 100644 index 4e2227e7735784e6590257b439148a4d3f750597..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40846 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 OQ^^?#jHx@wfd2yzfB2sO diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-wnvapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-wnvapi.a deleted file mode 100644 index bb9e17d7aa7762410326f586adb261d5202321b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3308 zcmdT`!EVz)5S_#+g-`@SJs`LkDR4r;DT$KOynVI$4>&9+VDJo*r?2cz&y}QqEX7~A9XRJf=@-WXCm4s5sW=Lz1akz!_dO6p&vBRWKKK$$KYHH}y)fDuNB+RyaUy>l zfDr!vfhZWn@P`9W1M!pV?*>tQoX}UqTf?$!+cr)6O()^aJw@8k%o4yu_Ew-Cd9#T9 z;>LttzwSDbQw-seF7(dp+hKSO42}us(+g`&g}sYT1=pop7c7NqsW{=*ig9g)TSI3( z2dBnWFF$$R9gP6$1ApYj1Ai_6c1r_iPX*$*&KJGjxHJdBbgs%p7>y^R2%~XSVGQj) zYcY?^&k7D1r9upILkciT_p>jFpJ)y;!jz$h?J~28lsmkEa@$(QE9KhA_9I#%RQ|Pc zH+UJ?tkY_6T~A^q(AUgUuEOiRhD$O*A6Gu%lz+J=r5ivk<+Q>4JYa7TJrB9kAsmgh z0fT6G80^UiD=Nb@ZSod0&+JOg6Tif1YI^OEYo5yj1}i;NPk9Ki#jR}0@C%*g)%a!S zN@$@qWWrom<=YmPdbWPmJzeDu{=`p3M`d2FP>pzn<8G{3>P)Z}tnyfuwdzGPnS?#V~mR7j?XV%(9_vj8cV%W z(W#9PQWMQB6?P9jsZgm#e2jBx?zEUc8$johPXdV5%&gH2hKi(BUPYLROb+m#Nda<2 za)o$X!ida)XXuepZp%oApJh{q6Lbo$Bv;;7mX}F%Qn321#nf+SP7101AGqP`)c;9S z&26gxn>O!N>L2Fg=F~sQ$0h0~9&W0B)&So){};8Z`!ea62$9-W`cKvVm;kYr;VXKH LtmS=sX}A8rR0IGh diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-wsmsvc.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv-wsmsvc.a deleted file mode 100644 index b0189ea94180a8fb30ce26a484c3980b9249a3d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121238 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv.a deleted file mode 100644 index 0cd62da1e..000000000 --- a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nanosrv.a +++ /dev/null @@ -1,36 +0,0 @@ -INPUT( -libwinapi_nanosrv-netsh.a -libwinapi_nanosrv-hbaapi.a -libwinapi_nanosrv-virtdisk.a -libwinapi_nanosrv-ntdsapi.a -libwinapi_nanosrv-vssapi.a -libwinapi_nanosrv-api-ms-win-net-isolation-l1-1-1.a -libwinapi_nanosrv-dbgeng.a -libwinapi_nanosrv-pdh.a -libwinapi_nanosrv-ktmw32.a -libwinapi_nanosrv-clusapi.a -libwinapi_nanosrv-wer.a -libwinapi_nanosrv-httpapi.a -libwinapi_nanosrv-snmpapi.a -libwinapi_nanosrv-clfsw32.a -libwinapi_nanosrv-esent.a -libwinapi_nanosrv-wintrust.a -libwinapi_nanosrv-mprapi.a -libwinapi_nanosrv-traffic.a -libwinapi_nanosrv-tbs.a -libwinapi_nanosrv-ntlanman.a -libwinapi_nanosrv-iscsidsc.a -libwinapi_nanosrv-faultrep.a -libwinapi_nanosrv-dnsperf.a -libwinapi_nanosrv-wevtapi.a -libwinapi_nanosrv-resutils.a -libwinapi_nanosrv-wsmsvc.a -libwinapi_nanosrv-dbghelp.a -libwinapi_nanosrv-loadperf.a -libwinapi_nanosrv-wnvapi.a -libwinapi_nanosrv-fwpuclnt.a -libwinapi_nanosrv-cryptxml.a -libwinapi_nanosrv-api-ms-win-net-isolation-l1-1-0.a -libwinapi_nanosrv-framedynos.a -libwinapi_nanosrv-webservices.a -) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ncrypt.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ncrypt.a deleted file mode 100644 index ea1cf5acde8636a91523d3951a3efa428fd9464c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106382 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 Lepm8UBme&ZbDd|( diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nddeapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_nddeapi.a deleted file mode 100644 index 1fc19b2dd4fd825ac40ec96e0fcc444ddd5f946e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24122 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 b-Vn~mTmRQ(p4mO^ijCf43GtYG&lrCWb#WQ~ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_netapi32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_netapi32.a deleted file mode 100644 index ed625a45b7c741af90cfb27c4e0ac5f0f28361bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171302 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 RX5X-`lv-h3&Dk~U{{o2`kj(%9 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_newdev.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_newdev.a deleted file mode 100644 index c6b4305f6f423d8642ddaff3fb53fd5c0f533661..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20542 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ninput.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ninput.a deleted file mode 100644 index efc374939a6afe2e31699eb4ae6a64c0320dfa66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21822 zcmeHP?QaxC7=OAgZ{;1U5)?hK7)7XieYqCXAW}qX5SlikAB@M*+oKnbyXJ0Nkr2`l z(-1-kF~$&L44;gD2A}=tNB<1}0P%TdW_Rb zOjp{AOQ#1vEOZ~miDIc(vL`1;3k91M$#J1DYL`m<8&?Mbzy{cU1z_iPfIY)J>^}rR zVdy9iuVX%iLzj3sybeI2@EZ^B{0Tte-9LDE|1SUvCkJ@2kK=7Hj7{@UssT_qwZy~p zG602-pYm`PuSMb0zj>H_6M(|SgFIY506<}WibA9L0msi|!rHrtf4wRRiN_8XGfd#jhhVkqhp4$ zn6pmED2}Oy;7_X6xNbuWskWM{?nujbDpcM?(MC4{{fN>S_bv*BtAo|`t>{poPtXUj zmz`~a5%wt92W3=%xvL}9id#`4c)=N%dp>fl(}{t>8sX}6!QpWai|!2!V7=ty4A>rS z!pkSzE;Vk_!|lS8p$ME;?xmMz$JNxZYQ*-0(6)zHBeLeE&=L zAed|`ONEi_)UU!wHbPeo??tWeK7<{aeYRkc2E%Ma4CwFM*?kf5iS9uMVJx_SaT>lG zF?J~dV<*Ri`ztZFgjU{1RfB>5nz5s-8W;^xZLnSk1q0|QMlsgI%c+F(6(E;;=Y;dl zUrveP{Xj8kxu4l*H#;-o@e=c^5snAr1k~K6mF5ke!yqaGhC~bDiu% zSy&s?U!1`5s^BOk1+Wc!bL@SkUW(l!B3cW2X}|X+%a7yDn$mqCz;*TJQ;4}0jq|lZ z?Kp#&d(pU(S1p_r!v%ry^039vUmT-Pj~@ql!P#r7xgkP`J#=r*s2zC58Ohm)ABA>8 zqe6HL0NIwT#|Ob)W;MD)zn2sA=3Wl7L>K2-n~4FuM!bdq)OgPMH}H%O(lXD%>9~Jb za2wAR6JPDDc;m{U5rMJ3XvX@!-`)S;C+2HgF9e{+Z1|m&uLIju2eL1p>p=9Mz7F2% zK?g&O35r*6c)cv^;O&qO&WIdJEVzd;=|Iu?Km;m4Y6>WxGE~4sSOLFa?-(}{xKaAt#=;C?hNG!pz6jq??70-tEok>C~LfZ5xtOsnA}ksgm=RQQHxu-JlMF*UY? zuMIQ9rROshrwo-+8V}7Bo*{eUlp=fLo2e9qXCIm=&}@eep7`&FLQ45L8s{s;#%m;1 z$^qg>_lr#J``9dx9o}n>KrJ<9cOF^rJDw!7hA)`}7EDn$lZLt(505ZU40N+B@oh78 zb6dKvZiM+E8W+;dqiCG3oA-Lq&3?|5*j0us>*csmN1&H0B8L(So?y)M5^DuXC-K}t?jkAEK1HGM690$e>^^m`{Vo#CF!k@GIdg#Sx+Kp^5+z$7@e`{rI z2~Qw~hD%W?hU?ptwKPX;1%d?9QSRW&gAYY3dN-TJa zv7sfnPE5h+`B$dv;iF-d><&#p6fveNKXN#E93cYLhV>lz|y4N({@q-c9N>! zP-R&G^tO(Uz;g=kCe*jy7lFn?>CLrm)0OVrXJXGaO`mBS>A-ADP^L!(6Q9Z0623gl z440x(OxL{gy;NGI^s<*~D=8(xPM|E0ASQdMl3Bx-Oacq0s2kJu?|d(nRyV!urP{)E z6T34g%X%@{OU3jOYXwOs@!0fcBBtx)xd*1zM=$Gw1Ei0L9YNh4CI8WTmNjDNftgvt zmx&=fJ*AkgpxfacCHYRO;H?$y9!ffA?+5iiW@K3z^ahWPV7`8uXRz3UHB8kl=Tgv= zr^kKMHE}z<<2L91#<*{R@=sqfJug2jm>zI{TI5h-!Cj1%E$7r%7pKR3({=8AHwb%r zsy9@<>;~xr!#^rwe97*=ADHY0F|-8Ng()~am6)!57sI|$zM>b54+Ug$Qr`$b`zKtP d9wUyhK1KGA&WRjKELg`_+j_1CJ!Hcw_!rATETRAa diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_normaliz.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_normaliz.a deleted file mode 100644 index c09e9531609f205fb072bc8fd6ac7f6c0f2fb43f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5634 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⪻8U8RWa6v=9JH~3QBHLSrXL9>jXgSb;vy}O5F`>6k6W|cUim%ZZEih5H|jV>d7#n z@Y+VY+tB=&-CG=;XbeB*ylW#ak*>EpWSkgZ4$%evu$pwcO?2V5;)$0{ocxt8H5wLA z@tS>VbODV0d3T~D5OXhfC?&-Bb6C;PDkU~68ank-av`2(xuk54u8q^Z7*m)$mlVp1 zhWss2hQHx%w1`X7zi=os#JKf}8Mh9ZODb-?1WYeFkNy@eGrUSeDPbcQ7_Z+Z=$pnv z&7seW27c~DpMp=6k>=4Wsc5;zp&Sq+(;?TDKfxvo%O=-Vkgz&L0uWJh0SUSJItO;z7Io1xw2R2WmD!tN;K2 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ntdsa.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ntdsa.a deleted file mode 100644 index f83d7bee98d57cd4419e4f82b1d550115ab1598e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118096 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 VQ+2k-b!K=7Nn<=GlHb0L{=Y0oBf0

    IJ@iEge1G;ncm%r z$35$rUfUbxPQF}-e8@yWiUdM{kdRKtk4}IPAS6zaK+%B^5~q_uCviH#2?+_ofsjBa zxZ}Ng-Cb2()w4Cdb$e>2T6#S*uijL3b$#{qt9sSlpL(j+sjoe=`-x$78#^#o9jlH` zPF9D9M|qOGA0DobjZM)%mUlD8{)4f5A7|{oZ!-44|BwuSjWLvmze4iJZ!w1Q*n1@V zBF0djI7~AB5Mw9@DkPKt${5O%-ynJVBgRk;{XWUe6~<7Go*@PjG?S_NSZG*hSGY9qz!qZbZ#YyzRMWOrLU8` z3HhLW=66W0yvrEM=a)&|J<1r$7xs}{gX2PZ@4rcY;cJYcd;tGP`Nj81ei_ac%CDXw z`E|$x4-dGs<5<{wRO_cO-xFRmM=h{>LPL`z6LuzVS;We}9!Rly6-o`NuPiq5RVn z$v?v}qx=h$gYs|CRw)1e9g_e23S%h$b&ce^a6VA}_X93N>`lgH*Q;y@<%Xw7Zhnvr zq1?hqZv74$Lb?50BzwNehEVSLLz4S`g$=!ib5F4$low8rya?Y>=It>#&jSRY1>E~eL(!0vp& zmezt=V_O-q*>0`9ekwfN3>$1|sd;{VN!IZ1Cp*D^V z$!EG=Z*PPV9CRixIU&wZs4{uV3A5c(;f0NM6wEimmusz!K;)|>XtpBXj4d87HLIK* zKV@l({AWzT|11QZi$P~TSZ#Izl}arQNd|k7sb-J)&j;(RX1(@u&}pu0zIgVHpdNL_ z5t>uY{}Kh6{w0-lYQ0f|vm31F1<6TiDMG0gAt$Bw3!7nGs{$z%o9R}|XvXzfORZ?k z5GFD)U$n&4nv%EyGlw<``?n^GqQjwLRJi z0?amBnN*)z&Iae(QL`=ey|~^YL9*4)_iO+<*+Q!_SV;AqX@_0x31NM6W-X|n%O0VY zp5{H>XlPaEI@v-i9W1Ey^X-d4(!1n*R6XV;YvlY?y|A2ZpRYBQ6G)bcK5MDxNtSe+ zwMLd$=i!=^=rFJ3mzTALI+OdshL!zCmK5Hp*RV^vcbAiIg$7`_ybKzg* zzsCwnJ6Y>?FSR=jyi^8Z)U36XgE|)&4RZghmSgxY9`6h7)gxil*-Tp?RX`f_Dc(fl zq)RF(U6hoj^Str@{7TiG3o)ZiK59~&pRCN}t0pP-N8263dyj%Nn_f8>i_YYb)N#Ju z3Z$08a}cYj1pY(KFji4Ik}70Pr%F9XnIwa~ny+G?93Pz-V;f|WD1Sw%=ATKL?al$J z!_`*M(ETDqlEGf&ui4}Ar^;E03>BqfW5{hboJ&{QP%%K>%(Sr5ch9_L;2ZtdjfAgFvpY6_cYV~vR7_1?POH?V>AostbLOK7%bIFsG9xgN@HIo$rSo-fo z<|rWk2)bjin03g_N^`a>^%JS`ugAzkA5e_~x+0{@lCBG!RLs|gNG?Ek=} zZn4%`1KZWIJR6O)lSn~cgkWrRv|5FzL3RIF98y@`-FWu~m@$TUzz}1%@o(3& zktnzv@$dP&VRmwP1ZGKU`6fK&5Igzd$k}dp3o~{F?V6b3-igHaCirq49GAQuVxx)O zfkcmXx8&PRCU!92%=Q@UlJw;B#NzD2^vSuAMytg}R+_CKPWayU8CxA%fss>UNuToh z!t8ft%0MgmTtSG#Y$KhgU3oUrIl7M9VC~f{K9BtTTn|aRhH`EAxj_W%!r6GkhGpP} zHWfApdnfbIyE$gp>@hpJKMraQ3(QvGJbxSyj$QY|#_Tvh4A?SOx;?YON)#XA+!Zy=sT`$%7iN zzXJf-iq~J2_;4qAeMKs_7q73I?KG^vX|_vweGg!?UtW(0>(cy9xp96MoCDkhr|%;L z-&a^0KGPLETdWCk>$@DV!}ydu$3h;t$N1iDVZ5uhI8GUsn#<9D!%bj(gcN*VVHe<2 z!8ot6MCD0uC%sc9pRhyu0o_A?3)pQdCSQ~oa3`7kb*bE5OulBe)0n(two6ft^DzA~ zc}KK)snLyNZrlXAVF_`%Ragzar|3>+{9(k2sCF?EBl+O_?a(}_&!TwF7My(tv{=7r zz5s2kES!Zr%ItsN86#Mr`q5Z}9~FjErI{Khgsq$gw?4_Z$2XjJBIEoq=2m`p5qz(! ztvyXBDDPZK-}n}BO9|hgbn1ged41H!JPjD$5ngZUSRW8x&p=x6x}M+^>y|N3KYQ4d*Ne;^p5s{O z6T_wU(d}jr^X^x6I{F;7jB0u`J4f>yDVnDT2F)@_V?TE7b6dtQ59;yDt1!W~Rb*!w zY;ePmos8`4^xCU?p?>|&r8EJ}+9M9Y>n`(L$|ta~VH5M=sY?gi3cCb*W33af+i*hM zvbSX<)8ieRF?Wnv1n+C6mY*I-ybDs-@a~%5?P8siqdLD|1Jd4#-y2BmF-~@p-$SX~ zUXlCDX1kP>k`?1`o9)uMa(L`j-~7G`csD&+1}9d^%<=bQgTp2`{z+2seT97nKJ#jx z(7gG)xMg~~D5yt1H6C?QkS@dEE|`F-@DWt`Nn zU+jtZBI~>A0`K&I#*%w9cI&%htW%9MtR5>J^7-gN+t{c+X7%fH#roVmfX#mAB+sh& z=1&$aGneBUH{8Tn)pSpVgzuiuSamr*9X)6n74>%x@fOVU(u<(HrlGvt@uVUs*W4BU z;9q<`uv?T{MoYb~(i7!He3j)4%CUelb9vvsiW%aL@ogDD_4hdU#CH)EUlRCE9!Fkk zeB0gQ9Q!IsjWgbOs&?v+TgFU1#+_sQ^(@9qKDSZ;;~I-6?-X$Br`W|wtKJ)Tj`7z7 z#^Eu`^f>4;`zd{S<7tgEL@xABncOZWTJ?8W^h7zfaKAGvuWBfVM;yaeW~AT4&yqa5 zVtUe6?6Jg%mY(&jCpg8rWfasiI&Vdn^D93iu#S&;M@la>&ii8Yw8j}m7kZ~Cw~T#y zM(>I8B8>iuK)HCp{~$5CsC5SFQi4mYPg%x2tNQcgt^mDlwU+S=QQ(fRRp05S-{R9> z`}JOaTE;rO0j_ktO=j#`bGY}Hx1tSUO1=7wv2dsWb-!4^Hqu< z`;5}o<&FdOi)?Lbg}=MdEwb&RoRg#av$p*Da}mqOHP`)eHon&-9%5;4nJhDZC(n%& z{QV4P1=>~E=ip0z%`;rCof)_2w~T&zUgwSHlGk4r7=V}K43NjdYnwqi>705jmT^yy zZ0E>6r67BNJQhH)=CP2@DY7l2oqpc1C$ft~^cOj@<@ZjPo40M}4b>V8?#}3)qTI(j z5xyCZV}e5(cFBFATRkJR2+9{Ul$V>si=bTQaT(>HcZzb`c&A@UZs-lwq&E~n`MiX3 zdYA4Xad}eXESINxrzrQ4P6K*(gv(#jP(DapPH5J-Jk>izxn-o&k2pDPXFQvf%ZtpB zpX4a7HRz@8<>qnQIdV~3!Qqn5C9)@dT+@cXw|c8*5oEupAiLb$-7m6b-cFG1*#Dli zjBEOp<2^aMi2r>8kp0p|I|}9-;mftw2E5|F)KPo8mE)NjC)Ax)J7sUX2xrw}+&RXN zXE8oKa2OXPu3+3Xk6XquJ;t45`~{BjptHHqjDjvMA{`8jD>W88uBx5#xMf6hN?%=g z6$V>dtu9=q0ojhPF5KxS;o@v?zbjRqS1^8fbEe&m@aBjzuTsIMhv6nxsf?3??<;Hr zKG8!<0G-rYhkBag6z#TAPLFnMu)NunB4~fk(C*;43?SNN=SA%YuKgDu?KGfxM`p<9 z0PV+X>kIX@;C$`aMzhf^_xvIDc-#c9o1Q3?t#QKYn%*g=`)DV&Oopp>1m(|aC@=S1 zViA-JHdj&Zn#(Ptoz?xrv@P#$yn7=8gIxh=Y~`m9%3VPCMxB2B^kW?5=Yoaxu=MvX z-^LLk^Z0PA!H){7!yd0(acu>GCkm&`Z5!M4n8w!0FnkqtxD~Orl=Mt!0G)GRm&Kt$2D&!m$;smTN*r+GW#ce;#znlX~%Z$gIGp8{TqUM z;=0Hiu?{7;4muZuPIoRu;x0LF+r1%(gITS$!rz%Br~Zj$ywl^|Io^NDg!hv3c|p8q zcwNT3Yks$jd`^z({gQ-U#pf}65nTVI zjO&v7^nK!5C2)>w$9#RjE>>FgW7eLyE;2{+WQ=QkP(NIh7q~N9a^AKdvu0{7^LIAM zDUVymMLph~3ZKH{(BYhJ_q+IgsZKf z@&Dv`FLwTnq1Fk%o06R3-N#seSa?5R!uvq*y9R2(@1`WDc(;qORwwm0xx53Mx7B@j zuS&eQllOD1NagmrpJUx@r}6t%PmIQ=wDlWVnvn56TmF0R?nL5%P29urC@J{9!p^~` zbVb7&Ypl+dPVsFQIraFarlRhk->Xps-}}|pp2iZ&95d=0-v$<+4PDQ_SjIyq^?0b~ zZxIhIg70y}ci4=?dojz6?>$5T5`RA)YpCa*hmUNHQvz4cgVWXP6LyhNf43bqRvv>F zx!Z1xxA$7mX+{e{eFHu==lCtB(I&)^%8horyY1$}oZ1WE=NY*4VkYdOsJ;)l?*pUx zeW3In&9?f0s*6ONdu9@w$k!sG9 z4APm%TcC^dJ5qfD`oOUu;tz-^vj>lN+u|lhsCZROwhF7kS5ec1;**-Y^=d5RrXJ0_ zc?kUaxU>kGN76Pf_v+n#&@9NB(CnImaqc5DQ$!oy;vIF`tya*%6-)y%;sky+*It5rj)BuYU>67VeZYMm z`0@NcFpZ^^*#oy5apv>^#fdTX0oPuQWo*>HGn#jTyz2nYEB8C%e4P5g;bz#F3%e0M zVY<|~znh;SdE_|~Yw)AOF2J6TJe3+tl&|WYGQDktRG(Mz5v1)!kRB6lJ{^Yb(!U+U zE`kK?j%bc+oWXdab&7D?7^z?5f^3w><3(bmk4gw{G&-gC;qBG{Bnam<&H|j2F7dtJ zE<#%MYXA`5PVxO?fNy+z7fg*$cRDp57A>=XZpYwijT3-pv`!Ij7ytAK=Kyz#@JBKT z$06uoAzTbQWrRB(YwovGC(ZG!)>FSmHp*Qq9m-ujucf&*ROO5$t?TT2<@(kw++Ev)+;0ujTOf{E@ z-k9!`?d>9}{^>^4cGL;<)hirJ4LyVgCcx0=+%6et?m&m zg7RSv<>g+pSOn#&lYSyaxoZ#IE)F_5roXMxKW$pXL5r;V`ecl9)0z$p8I_sWhmks9 z6JGjZQt*9+{VaTvmu{}T%s+_X5Wkl8E+BvT8mToR-S z{rMr|x_gZ(m$)9YjB{4?IOi1@LixE6!g~?_`pyK`xS$DMr(0%RJ0iXi(ArLD`oUa?AlX|o1>mdd+X=l4#Q<|*1f_6>JaPMTIzYe}kz;WfwHy=psZh|jU zV29To+~_0CPn*B~IkR0le~q)X{mx(Cj>v8`gD^T?JBRoD!)tXHYn@eiG;Z>8-BR=T zUVdg}9)B*@;75i1JnXkR11YojJWp=D7|W=p?-9H;Gd*WpJ>uhA;9;8MhB55D*wY!i z8Dtm#c0=adNEBR-cnbCIT}sC) zP&&o8WfXK$pQZ6nXcTuQ?J2!(SPP#K40#_JevBBJy-Dfqs^=v|}7|TX#!EfIc{}BKDMc9k<_yA-!prQX^p9|z!V%$)IegSIZaSeym;756#aI(p zM)W&#cvFJ#(jYq?DW-j$=FDlHU*_&4ii(C6b_(_iSG!%)GHMqet@_A++HTVQLTNOp zNaX*<7{QC}xrN1JgRrIrJ&>ffGNx0VQ}4qr&gqfOft_6;uq|ZYpdfn?*0cy@t9}O| z+qKtW8?PMGp10y>xP{kIWcKg+7}uw9v3Kg&E=NSN_OZyMJ*1K01aBnR;aa{!K+Zpi=iOES!PAY#LbLH~vm3QL_(H8R&+^&D zA~Q8koRO^BsV`z1i}Y(s41FOTOBV4(hO!t3`WrBe3s*$JxN9D_j7R#JKu+yI>9D1D qRHPU$G82fah@ffdp_Mb`9#JN<*J4Czy1PxTtwiAI8E|pO!~X&G;9SE1 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ntdsatq.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ntdsatq.a deleted file mode 100644 index 05fe28856bb2cd885ea6d9c81ff0685b82db041f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37458 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 T+IlK73aib1nh1Ik3q1HQk1cF5 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ntlanman.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ntlanman.a deleted file mode 100644 index e96d7fa99398c5dff68b9825c06a519a812413d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16090 zcmeHOeQ(o77=P-Nw~n`M9b+3CVS-IUtaE7VgsGa^m31&dlmSE2gmB%)Z8K6QN?a%t zLe+#2e@qjfVV_|ifKRiJ0ehZ1pYLLy6Q_8cJaW>V&v%b~zPsP^yXRhfX3puXZhSrQ zWwF7$^Vv-`t=73xNC=e{yeb1CXDtb8lS%Ab;sR_j4x! z=1$u7qHX`!bvs?V=K5~OUToD}`$5BV+6@~Mw=0%y&DhPx3i%-2^P7&h>3Ftdqu{0s z_J-@!U++zD)AbkH?W8y9bwi}ymJ0bIi+r_7vP36JcSd~W06A$*2 zxZ$ohx>)D<(?O|y1Tv~KpVSLPo}Jb|F%4YKX^Z}n_tn}G z`_QWEKWKICRT<707<4(++G4ZSb-(qtHp8N13g!~1n(|wvP&A`jTd3Eip#1VkazrkC zVUHMGwQoK|jBPHpR=2vB8&0#e9!TnPE;pOkordTbaaUh$KlGJ z#(=ryiTcz1NIw8)#{iD8*glx@-EE)6lY=7EmZ$2D?<9+`oO!6dm|E#}2Z+HA$u;PO zXJ>@$L5z&!cd2e3Od&Tb(n;=cvRqln9mmL|Mo#35YxUN(h3fT%>Queiq_nBEM$-*4 zU%moZA6s+oiG(0sZ8IvO5GjYm)b>JR*2^euRY;Oi+G(80Pz&_Bpe`3oRf;%dM9LX5)J%-tg3WVE@A#hus;bUmAC~<3HJ5#?RQvPe)USywv!6bbR ze%HwW1JsW?+zNU1s>p?UpyrD>$%%OMdKeQ5Kp|;#fwd3yY#|krH`s`c;^-JEV9npy z^6v2zhNYgCrb_Ms+F9#zv{U<1n@XoL2mj_6{+X~qGF?dn0j{u+2L}9skt}SL?DV5+ znr5lYm1GdFmrYea4zNo7j@?5BrcOVI5iVeUJ-{hlieRSXb>v}%tEdE>+mU=7@-Vgj z3>M}o<${#!;q?m2Z0qGh{h)fxqs(u5IZJ%khZwmM$cQwo@rzgI=azC)u4S zLI|R=IjRm}jH8kx5N`whiH!~MkpR@TWV{anf?2Ck38=lC_a&!`6xI?wxMy`H1n@87 zUkE^z=eYj}W8_Gmc}j)d^T2>d7)day`&!&tXb+7G4EI(_+?Qq)dxqowIaYNL?l%;? z>?Q6yO1b@T|41(v!~IjeT!{NmurG(j{c-3wGs-viiyY(%_P+^I=wiTA4ExodD?nd~ z4CcF`7R;vAf{P<9z@FpE5Y7@_OAC%64ieV@7*_H-0-VP0CnraMd3MhO1D;@{Pwj;g zBsNc`Bf(5M9k4FNEud!zh(RO4vcjNyITHM$l-qA4@bz-Bk>IgjF4Tb&*r&se1V?o! z!1v_Y`oX15<|OvR$s4QLeGE0&4_0QhIaxCPbUL(`%{b$a?ESML+IM5`A4yz`%{Sst zalk8V|5cDe7Xuz+n6%E!sXj3`OXOcnhkR=`*gRn?LEPdeYk3gQ-%|K-FM0m1Qf@z< zS7#)OT#V-vW)LCrY3*lNo1=Ok0BrIZrQ zBddjV4_A`7<-QxMM9dD${|BQwFr9Bp=RIr#a+3Ei@B|hb(8g;7_wpPL9*UA^$K)(A zo^mI4G(Y9t#i1Uz=yx+eJrMLbodtU%=BJCgQ*W7~IpzN9XjQ#Gns+ll-H&LFpI^*3 zYp0u^#%nFi6irT++?{eCl^u}`Pe<~##T_KFL2HXYDdYNH+9xYYx&7>urd}>)pWN5W zh4u-puMKOT>_fE6)3*6WIX`Wv+9scJdSIaeYj{;_E6^?LpDBl@-5C|X8z?L0&#(u>A$H`oq zlO><0+!eKE)PM3uCt8Ak9l}{B%~OWua{%#&WL^+1zgPWNL;SrVd7MT!;S9KqQI2Nu Id=`BD57(^02mk;8 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ntmarta.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ntmarta.a deleted file mode 100644 index 8e615be6ec6f91935679b402c3b1539529b78653..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36654 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ntquery.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ntquery.a deleted file mode 100644 index 7eabf2e2957889fd2f2c5d6fde8520a563ab78e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12202 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_oleaut32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_oleaut32.a deleted file mode 100644 index 1ba67064c1d7d103825405dace135612cba17694..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 321850 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 XI4}@9jK$#U9c#H2ZiTM$&~EX+1a#CK diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_oledlg.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_oledlg.a deleted file mode 100644 index 51e77ac863bc5e5962599c77a1f0d65afa9f278e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19890 zcmeHPTW=dh6h5(&UeYUV8p=hmpcWx0W}T!P7gbOvYH3kXBUPn5AZ?s@Q@e3(%ie@i zp{hbvg%A&U;5YEVujm8MJn$2EX$mL* z;c)s-01DH;b9iG5fWq64IK0~ipz!`0hx1DS6h8cn!^c=Ig-`zDVE&EOVwnAdgY_E# zg-ee)TwVsC@Wld$g=+v5uAb%a<-Y(FzWR%TZ7bnL}e)v>>?H!JPB zjlzc|%eLn1Mty~XCvP>JYU7?=u~F@T19r`+R7WWXZZ(`cH}15n71z00Z?1Rmf^F9y zv~6A9D=GKUEOVJloz{c4OZ`)dl*OXNP@ohji&?MIb)DO7XSH5ws3j^Hnyy-^r0ccw z*2;Zn)y3-CPRFe~>Hz4OqWoU5Qiq-?zH_6AL*a6!(tb5V(^blrb-ngqt=3(A<|L^o zG5D+$CrO3YVyn4{jZ~T!$Yc$r6i>rz&tk38yyx6*ZFE*0wIC&fOOr%ukxGW7dtt#9HAD0gK{FGg#KS{63CKPc^BL6E1^O?h6eGsPtD6Iagrmd10m7-9ZhWkY1e%JU8d-9>T;pwoAUQfa&X9 z^yQ>?w7=fGuXhv^QxST8zJG5CdM#8N4S>R0z2SHnFJ1!N8(XWa`vOlcj~5l6@2P{- z2(~-t0-%m#xqj8}_y;m=99L4xdU{-#tuZ|cSLO_1(h+2sEiRz$>baHSV<0O8u z2(h&R5IaAMuoYK`SPMt_BsC4jUo~Q9L^Cj&qSj!$&Uy%-S&TxguP@&vya3XY<^I5=qXOkq)6#& zgSg-V=6~m5lx_x?G1(m1S7IqqMMU%@Wa)r?Y2@dyvNfq*2=x>;FQHC5S}#}|)Q>Bu z^C()+@|#7Nx$f!sGVJm5m*?rz)>bGBQ_~R^F`v@s#< zjabhBqpuUtS!W9w^5uPN67fUe_UXq_vnZtiZSnOnrFEexmg7(rDzc1Choh|N0>uGk% z<7mBr!^sXE)D}PGAzX6W-lf%+W_$c~>HuD$J#Ml<#5w5Toq1g8wd9mvQZtg{^7#zu zGzkpk{ucReApJFc&db!6eTQ_F(IuoO%IQ{2q+inQ@?Q}iJ8^nd;=;Y;^rlqrcAWk& zT2JHjpQ7~wPRFg$fjRvoBfWQ%EcLwp7A;r2LS8SiK*TwCgm=N~de0?pkH}1p-!EpU zr^#SY_viQBK>dm6xi3?D(#-Kgqh8_pUeqVb^>Z;%pV{vO#@^KtaQ!g$`*B9S{L(_| zc|NxNuJ&5u_@0d9_~~dfffddEFpYAmSY0i$GeBB{G-BA-R2{V%)va4Bujw zdMx^p@O`9bwu#2~7rqq=5AdBRf5+VywRHc>6P)aw{4d`!AcQTum;RR(sow4UFO6tD z%~IKn)(h}W@4yYp-;<1Q@7344sm3<_e$f?j_XjKxaSm#D7e1Guw-R%QvcxQKGwyC^ zhHEiH4DY}bGZL;3D>I$$_gMzTwZhmQu9M_zGus1=!mGyDyYXas$iuaCAY%XcP-31X zNzU>%vpvvPhV+9v(#zDCG+W=XeJC>0RXUdzexjTncMmjsH!*5O1hxwK4+gct56DR8 zqid-~dF(g080FiZ;Y*Oqwo~-HSL3qI2OKm#OeH+bjbiTCrC6|0)th zblm;S>^$?fh#uxybBqx!{cA|N_k5<;mG0arZPcj3vy!41;lnz?G30oyY$NoPNuu diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_olesvr32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_olesvr32.a deleted file mode 100644 index 3b97242267e55911f2d3562d03fb6e5faa0d9dfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19698 zcmeI4-EJF26o60GY14-OHw`UF$VCCFs+e`+t{p&CY0}bGpoWCD2qA5pc+sQ7<$cIDma?vR|cDXX0&)Y0ZP4oF;akj+&V|g3^Y=F@}0mgm?82^pOqdNc; zPc(Tvy$C>Y@&b?NEC7mc{=ws0zXDJ^{}Yc>KLSvEZ;Qu^_`ek2zrv$^5sSq*^9GL& z-Uh|WUp#*FI{?Kizwr18-V4R~dpv&nApphO$0)k)oa^50ca{kxLt8vr{p&3D-?yi)$lsK_RO?fby0EC19#o4*8bg<;QsXmaNYXmmP=<}dhJcT zcGsJ4tV`9z?t^*@c&qDehIvsXbUs&YG_F-wH$+h((T#euCiF$ND!JZ#w0Wb| z4$u`Uni%;A--05T_Zs-na=LFd*IMElnz;6OtGd!Hw0vvV&&m~T+i{$H-kHIKh2`CNQo~iSeZ9-Rob-QQB#g=}-%VgJ?_EMh7q}H_}&!wGUB{ z8#x-ji1>@jpg=kn+{QGS_X^{7-JIKUiNCG$dC9GV?M(fOr2N<1PP5y)f!RMo6+xGM{ zdq{S->lMYWkFiQ^WA~6N8~1#WMYx3d3xZQRu84+TSX}pb7qaUW)Tzbm1WL6*4c4Iak1g)%vs092kZsVo>_9d*=A;ww#sJCh}>?xo<{C>@p=KdlUTpKl6xk0l$92e2~VF}Y8=k(SrTKABnK~Dlv>ckG;q0% z#+J#_Zky3w(P{r4E4dr(-zb#qC+%xWxr1omir3R=g9pHGh(sAL&YCe!1I=KJ$u0U0_WN#(f2FXo zpNy|4U>tZEjb^vseHd3;(HDMQftf64oMQ2l??op zV#SQ=vTnIEs;2^~saN+(^(hF?%+i}atycS#U|3r1cZGxw7Cgi>TwB3)XdXIQdtEjo zJG0lUr?}Y;<`@IAhq2cuSzr6>2d{v=9=LvzEY*$~)tRR~km_MP?Gv;b6J7~>={;?& z#@uY{;zWIt%Z7~OVs^yS&PJ2cCmDwE3~46)b*cac>4Do^z)}mkc#Nra zfO@n!l4X6yjPNnaPhVUb@zr{YUSBUU|``wbY;f5=k72Sqs{))8WxhQB5V4{cDy z>!jI^oBJ!FTC4s_I3rPOZn~bCu}NO6c!TY$!g{#Y3hR-KBw4o&*EMJL z*_O<%OS?`xH1=xO4|CSl9p7vunr6Fxjtl|@>7SRlfTb2}rX-F~iKj9HhQi zKQLoVq<1&VX~w$h!(0#&I#@s-M@4EJV6HYpvV0q^ie~#+SYP!UlMb_=(G=rb+Z{zGZChuMEP%BT*$^i8!Vev&=&s>PlX5;|D0jwvx5 z)K+3GMTv54xZ;^vYt~OmTI(FB-=n|$)>^GC$2ufQlxo9O&TRMLK&pqCJF!6f358T! zY?JSNv>J1~b#bDM8?JLY;s&~yx@uB z?0uBs@zU?&IR6I#9T)x<$I>H!rAM~CX4|(1tUs_fSit)Bn%`#j=dS1Mxi(fFtXQ^H zvwQ9~9bvuiwb`!YwOhXD_5J;Tby;r@uXSv^ZkK`GWlsB<-WWde)_Iq=y-l{`4sfJ5 z{lM+GEhlh&4{Y1r-LuDtWb-E5_3yGx8u%vrY@ZE+)b$!c^4brbpw)G~9exk(#Yshc z_1Lj%rzfv}p9Rz<_S|&6^r%yf@|t(s?GaN=x8hAc@X)#)r^VKMEFA>5ob4XF?)RJi zAh^jNFE@4`<@G*e+S`RT8{Xc&$L<9sKf+`fAC+?1vMkfItmP1>t%df3Q-}yaxqu|_ z(ma%CCcHd6Ght(^)OG@AxP-T?!p6hW_FynZ28X0`>4ukTQu`bh=5SnUT7|OI)nz^D z7KiH^QuhiL&S`YAU7n>k;4}5OJ2W}6rS%&(pww}DEEN9x7+|N+aqh^9uwJzvbyrOF zNix-T#xRXyx8g93VzW7}A!{U4Xjg8pd2A{chHAL2$RmmcvQ{=xACyRAz$chbWmQ}t zpYBfJ(~U;F=1ZTp(C#nNU}5h6_US4g24?4IG&rvFp-<3r)%mp4t7kSTC ziWqZ-2QHSLO=lt!;A5VP%z(eJFoj?}6?}-EK^ap+AT%x_G?w31BEo4t<)853(e_D4 z53L_>VS6w1Vmg^n&KVJK1y@!!>Oq$dmK@h>SZIbCS%))z`1lR_b#xTh#ii5Z_F*U`Kcg`S-#ddP;k&|5@n=X`CZc5H z2dFmX(E>t0=hmYhin1n-1hR%(BtZwCJ9&Z_kr*KW89~tTI+iFA^`fT9e~Zk3->@Jf z>C@~)r@$PKE}Rc5Cm+>DhL0mO#W+5?ieDWkAAP0YQG9%<*Jb#4pw~rwEa9`Bl#f%9 zcW7QA@P4z*#;XDXg^ks)hE4|jh`D4#GyCKlnojWSUm9a3>Uo*S#*7mtEVoSgHlYzx~Sl}0l(lmrb09OG!{C^G`U#L$wj4};o@6#l5snzwzBg$ z&K;De^gC(?b)eT}c2HmGbrBaY<8z*ri(=#%sn3~suUXzbUEsd2GO-fY(8+*rFqcfE zW}c)W-8fASs(CrczDb;L5bv6vgaae;hV&Qu+2%lgfsJFs)dUCMDIBC{o&+J&I!zKP zIZ3Fi|3ZjwPQT(RIW8jXDJ$u5Muabven&-w`+8j_B7CpcMG@gme7ciHgaYLGr)jpS zxEwMNQ?Z$#;!pgQ#|nawT*_(EQqDMC{{X~d)dm0n diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-atoms-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-atoms-l1-1-0.a deleted file mode 100644 index 87920a19bec152be8841a4fbc7be35e2f52fbe4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15494 zcmeHO-EJF26h2ue{V_=!Xb3+-;8tl>L2Y)^WNk|b#VSyGgK|++E)bh_y~ZX^9K{AA zgsNOrRfV|dQ}7(Us(1pfc>tb)a?bp(cb%*qdC{sn((KHh`MmS@oik^5##cY_4>mamVfF@u_W1p_uAZRF8z4tQHdf!uocx)-H-?2zyCG16!AsQbNH5fF%inD` zhn2q6?{RwV*tYAsrIK6Idfj?*4pkeVHV1H-uxV9m&7ceuA?J~m_*b=uX<%C-tkE==?8YEbW!O3!&qG>4a4a#U5 z%48bKKADDc&nY`)yVC0Q2v=!$QDb@d_a(shb8UZD3WVGoN2<0kQa8cOF+`&mk1@ut zFb-pk-8{q4sDy(UUp8(FSX7uBi(z9%%qYxV4L?NOQ5_TrV?i6Qv$w{K=bhv{uhx<5 zEbJ5|&t05@WokIg|KB`cXU)LN3bh8?^|s&#&2b#hCEiR8oYEV!T;>TU^P}k^3JO41 zvH%4(K1(c@gykK!QX(7!V+^#1ogepixrFg7G}6?`6f}X2F4qJaUm8;#OiRPt9MKI1 zmMo`~v=gAkuKZ%b3(U;gM@UJp2DWWGE>o^k*N=M5(5v%oFphCr$w`dUE3z`Tu>2dr zZ%RsFCtN?!-W&FhYKRNRdRI1{1lIKWxL3} zd?_$ehCP1%@;co;d!}VNw>;tt65FUg&cKV9;|%6(rQZqO8f!IGS%|JEV2&SKKR~dZ zjTF^@zvAnMUK^x@^**E{te-UNyhXf)08~5IkvA|$fpnisZm@fPvET`2!d`Bi=R0e? zVyg*b{bnN8R~>UT;jDj(oj#5AJAw(6q{;dpjCxOE{V*OEVf~|coMQbd_HR}qH=O3`Eh7~@xD;hX zgXr?g>4AJvj_3gvq^1YAlj(sST@M~3c}`mozBTMucK{`H*wI4hjo<5z)M zuzzuc3k__?tHu7X`IqcZ)AlTW zi3Lyb%K5K)Y_eYq)8f8ePssh;_R|cGct~fm{TIVbpbg$kb3eK57c@U%r#rRxUb~j_ zKg#Qg-+QO=eJ+ghA6@?}+x{u|A9nqfTBPXv+tq~p&wZbh?Ef^r&-pO_>BTqG{GZtO ziDiG9+)ujm8~x^ajE=x*-#qi3Ut)Cp&hNSK`Lj&({&ngm2JQ2&aRIwp@EFs$T`zr_ z4$sh~=IoL81!b3RQwpKOoUtwrtpuL~*ddt7nn}XE*_GEjsZgn%l_uPlkdsNf- zFms@`WirBb-CnNwq@nUuwaIn)#fC~Ppua0|f~()p+HonWbC`CrJ=mPzG*{#8`850n V$?ry1Y`Nekw)af@p1r$L{0{?!g8Bde diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-calendar-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-calendar-l1-1-0.a deleted file mode 100644 index edd5b98d105fe541816cfdad51a9efcfd81ca793..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7934 zcmeHM-EQ1O6h6C~6dDDAP$?B~u|ScyV7GR%>!b*wKuReRf{3OdGyWOJSyKM-Qnz!4Qg$9xKRsi5RfaYHS%YOize^Xwo?*q{F>?iVi zehNU>3qQ*1((eFtz5F*_jBPV^E8u>>c6i8rw(U8bedUhriOaBYx@j@1$A<20x}tV( z%=bN?Gs27lLNoDu-yZU@WBY7qGLsq1W_X_w2R7ig^H>LhTNB3)`F1pcYxez54?gGo z5Eyeu6INvXD2RJ}%^$t=4uTRG923r^8(!|k*r&0wg!59<78o(EAGZ^3wHUV%<1S<6f(94c;}V6| z83i2_T8D(z*^hYM8JZolV|1P25V{BMkVhT&;4!D(LTKd1az9y!D*#(*n&g)Xd5qi!#uE%(_RB(xQRC`<}TwFh0u3|$AD5qVZ zCH(V@s8wP5Km;CyV-l=^gK%&(K9ntjYZ*_|B5P2C@UBz?`Imf}CUv)wbI$2QfMcdp zNeV@+i(F<+_!BENgxp%>Md}I+OqP^bStQw5Usu%ilyJ!p_;Bg4q*E8|H*cZciC9iW z8;pvP1b2RAC!`T{={SuL$<9yDu7`t-m2n}(Wg-bh!l@pYsEgLIg_v*kI4hplOIW!P zVd6Gi@xw=N(65t|v@NZjD?D9E{?XWyljpG}IW751_lTIRL~t6um5(!^`cgy{i1;tO zMk8P^8CBAV5w{3WWK<*8Obn1Sk~0LL(WPo$!5Ssn4P?vP; z_*#$4Y2kq$muR7l&v;%fEP?WVt9e6SWKFy#xUXvBdelNi6Mn^f_UfyAAE-5ItXEXZ z*?CGlX(^cGO+Qh}e>qRJRIbp6l;lg$Vn>cD=P5-cnU&}Ck+s$tL)I!PquDILe!#{M$DF?kM@F9PlR5IJdn{#A*fEh7!~z$_P$QC lI<2cDzFb7xyzvD<^Jf*_XOZ7cs=TjjRxNd*Gt{7ke*t2UTHXKv diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-com-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-com-l1-1-0.a deleted file mode 100644 index 8f47df2dd2774a2965c806b8f57a354e551f66a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68068 zcmeHQ4~XT)d7pcG{*$ZY#L2~W9NXF0j_bI-^V_}Mw|DNfK91Y5Pw5 z-t4Y&deTGEp7-1kuI6xzNrPKVYfKBKEun=#Af%LB2oypa3Wd^^ z(kA`B8A&tJjCSYgykq2*V5Hq|KIv&jzu$b{%r_c+hK z|1BYyKK3^}J@!pPFg^Y)o~GX<1k>#Ic{={zgkU;(J5L|Kn-EN=@8{_Z{Eg{6+z+Nt z-pbSR{}O`f!hiC#@*_epeHwHy{aliM0gjk1y^p8Q2zmq5T5kfF|(>w)F5P~U8 z($-l*Fl|4@(=UC75KN!{98bUeJRz8_e}ktl{0SkLUix#Me&ySQVER?4PE4=ByF>6Adh-cdu7+p=SRg}vAd(;UvYD^4z8;c8g@A7XJrBE(Z z;WwCEDla=n$Dxa;_R>Sb4wM3C=9mzU}A8R~dm z&=)#+ai)jQp{T@UnZ~^CI$YQdR-Sd^{$>|`s~bRlY>VQlIiS52ji^89dQKD-ACxW+ z&Y&>>X#47E&+#u)>FNbJ)8y5{FPxPLu8@;=gJ2BB=au(`uxDg<9Wh(^s z1FarA`f>50GxdB{qCdYC zZ^8*~--+G8$9i?4PP0<56H9cuK~irjpOuWf?&>DAQ-kcZMV~iZ*{{l{m+59#OdEl; zElEyJ#ob^j=wIg0KC=yv)prE{HCf$YG2(4j2*d;%8dLF5HCdqVUx9XK06=+$4uhC3 zJN-@9r>9+i0CrE*4$U(k9c`?{$k{8 z2sEoXpgkOcml60-7!DV4StX|%fazLA!!sW-+-AB(In!K;2g#$6ZWc6i@l z@?}@zd=}GBDV8DtE}Dv1K7aVdW)`&a8B901#TBq4%Z{j2P%h*o+PNm4X)y`Q%>X{{ z57LHwu;PLT_599;unbC>NJ>Y*>-JT#N4-U@#lg!_`WQ>2~h z&8BkHyRBSrF4dcaKMrg3(){!Y9seW4=m>QDk6_0icEcmy)RCzp?V|%g4LQ2*dNfh~ z(T@q)II!+qP6dfvu0#CEiNf!qnp}UaG99VzCdzcAdOOH;utxG*Qn#$mZi1|d1Eo5w zz7Q1?2R@v?Nb(>425zX+A_Lg(^*9Sd_@+6+=T1y32=BlXfWa`>4!+$8hcQFG!C)Oj z_}vLQ@CoY>o~Y*zl3vD`oI>&s>gnVtg8@V`!S=}g306PvW`CJre3OlVfjVpqFJwL5 z-10AT2}4<~rY-S+)h_1&)-Tqn*yJ{b-?PFDrkr9NkH}3z*4Uo!TI8GX$KHaUF zZo{ZPBUWZL3S<14)i{w1@lT@FxP?{3HF%^jC=Hv+DQsUJgZ$4V*v7*oX&YJ%Xyv7r z4}U?oT@%(IYvu8Yp*35RewPTnoYgoEI-XuH;}n+T6zE*h>vhum!nWmnqLa#?#Bcog zqxj#;FAJIY>*>N6FCq&W=Eg^FKG0Q;`q_djBUx2f? zNnU9P4rz8~c_yosG zU2%^#1~-BGN4bFQTjWJJ3f%7$r?G|oxd!|2OgOZ&-h>tGFH1<^{mT7>eO}^X95a#b zX(Uy&`<({+Zxi;H2n<)`BFyi6>=#SSv9CxiVSm;T`>LPc_&g6~J`dXaaebao=CIEu zNH8C{u0GEPpbl^oKF?!Z!1gWj5*%fevl6S|=VD9fpD{##SpFk|+ zW&`bumOoeG4E%YiCF~zF!hWY2;bHAp8TPA;@GO%2e71M`2v5GW9Q6g6CCpD7VSa8( zj)n0No)-ZCyN&Q%;viw|q|FhY&q}|$(+E$j*He1ApV#YU?fu=rh;hB0^8_XVsIxX} z?eTn&wG6VylT{_;w8*c)UR!ET0ezMwCQLO}&$7gXwiy$q`P(g%QlzV~38DvF#U`93e3DObrhT3Lp?egYkeN+p6JCM6zSNuw zC3$wZ&@qep&K*;^@I`1!ck_=1l3!udKk}vD-N`@N*6U?P9Y_aKl#?U#scwiB z3o16!SD^MEE7Fpeup-O0WGf6K#!X*(M^;qvo4UY?Y%+58%0s=!PfhyL+ES-%&{T*m z`(PM9o>HR-O%Fo!AnpX7jO#U>mYI;gqz2cia}VM!)?UaSQ#+C1p+&v~dx;5YsTCe% z8J6sUX(U;mh26}aOJ-YUUQ(4<+C0O9^m;bKNquLHz8`@Oo9Ht+yUXF_2$Gqt>W5nKh)8I75EEB5a}GEQ;LBoIvcC zqrb|`i6;g6F=kY2gzP4J2y7Ea}toRuHRK}^y7FhZlcwn<^r~F z5qu?7SL&1kYJFJpdS(q{!_7Pi_9V+JK$Y?SpGHJz)~u_u6)>77p)GaB1Wk?D;(}pB zxUJ43ZQhy@Hla%Y_X*@eVb#St^8lkBxCwi3lndCtMZO3}wZs_*3N>L1|Aw*O2LJ3S zmf3qXkXyxVU*JDiVhR6wxt%`2tZBrz=@TFU%J5$$;(HwMuda`~ANmApsZ$nc zaxC$niTP^qt;`qQixpGmI1j|~&u}AkwgYCPLV$EpVhR3|&=T^^V!q9rWXO+l3s9vu z++oO9RywaW`pss)X%=x898fC6R$ss{7Cf!`Ld`n^qA!f&A>+n^XBiXNqWk$pX5m_O zwgn%;CIdFnCqB*vY~Lck4oCC?H6<5(&}CY(4QBD-#y0SWTGl(LVjE@zE|L}I*%vBm z%?4B3zyL3oy1<28mL(<_Mva@;8KXiO6RPx+k1-|`zpzqoyMQeMZo)3;VrS!gamJR9 zWEewk#!K1rE#pCz@zQCD2kCcA>g*et#S2mnq$L)nfVT*l+>RZXX=29+>;kTpaiYCg zZDLBozx+L{I&;7*cARoRE_IOyxjai;FpM2HKGBZ0po&k_1}>=IdfN{^ky`4M37Q;B zJTQzQH}4Pc$b%}qTA?fFvYh)~F~#00}=@{Ica*vsHj?DqcHCU-lS z_hEC@l~DTKomO4>oL*1yj$Y8~br?NhHwkIn5!9n86H30yS!XZlfuv$YZ~1H@!9$Du zF6?joyQP+T&@+aS=H?xH_KZ1I)HPVDcuhwDCCS*KwAMtuy(Y7F?3GfdwnELYWGM`z z&K-5$>8k*V-7JOt1sI!_qGW!A@>M3BJBwQZ-HN67l3p*f6!IJEI&<$8118AdP_@Z~l5esqy@_iQQ>F1K#U{L@*ULO2T%~7RkLVF( zf`7&F@LQ|&89EGNy6p5fU7wzI{ekOmM76dL=}H!2?CB{qzsc4jUxB}NuYrsryVR7W zF{opPQS2sS!JadxjXDNZC1UZD3@vW#0%M+|E405Ay7AS0VL5!I)PfdjmL1D+%rJ)C ztOm0q6RNBR^Kgy{XSVSN>fDnsd+%p4V*!*{#XkxyA>TA=t@=z&??Jrna3`R4T%YNq z4Eg<#4yhk6ug+hLoDEuY^qb9SUG$5k78Fo&Eb+iFX5GwU!UnoH?v(W%s_@_;<=C&rOtSu=2+r^VO+YI*}WqVszenY1RlUA^j1Ua#PboG$ysYp2-^bO zM4wr=5=^ngDFYO_CHxykq#OLRXIs`Mu7dvuIR01SK@w>KFSyP<0b~5DpICbT2|tBeVKB*nku51cS1LA`s!W^pxW>sR7@sdF?aWLaW@S%kUy3IZcSX^)`F zs@Rj93F%8+wYCCgUqJu{q@|URpNT9X-ZYY|&f9Lrf^KXq=))ZGd`bmGl4H6ZBd_Z0 z|Cr551?1;TE#beAVTlEXQRHSMXh#pI%1F@toCS&dzXFl5Wd{QSb!LIth$yh2P-=+= z#T+|4m^ODDWZ=G(2c8%7YmR^P|8NtdKo4*M+qcLy zII?lCWrvkEhkGuugm=Rj@T~f+@MiXq@P6>=j*ItuIRdh`apwI&x)@drqoG5DN}X-M zgIECA1P9J@0o%98m*L1bP+kKPEp||{#FQpxj1R6b_NmOX+imW36%Xk{948BO-P!VD z(NU-~JB&S~La8N66mu-`potm3T|Bsl^PsyGhA?^JLKyUE6v55x3mz0oE%Bh3V~Gcb zG2Zv z64Vz zUu#Yn$CMM-ke66yf?N}p=9o?wV#=lXSLc{EUzZa0p$h)*O7QPFQN%~n>unRv-c*Ls z)Z9XNJ$E?jaZ@2xge~+J;>e}wSKrTU(0^m-zcWF<ZVk5n5KG`C&VfG@T0(vyl3a@X z#_vI7zLkFeVS)T?khIRoH}`u0`Duv@*w4gv&_7j(AD5xOS>X=BUyA-JQG)k#^v{o+ zFvge5R|TGIYq}qE93eJhaHGurDilN(X(tSn3f^72?OG zoKWKh%{)`V35=VL8!xy+kBnMd2D7gxXb_*hc(2W~WFHDKD`1^2c^^*8`K<2JTQwecTT8rw&qPW zVIQizss9t42f={C9PI6@wH`;p2s>`VCZwzWqO?V>!=AA|E3JflA+v;e!`N~YSHOo? z8eOXrS2zSH=;9(>bkUDs*^)jz8wSJq(FlI0&OVV@TtQ#*lnEudb~w>)BF-ADTX`?- zT?!{yn61`)FdH?>BOVv-O=g>_8J1XJ7;$dC3x#AUwG35eTi>d%pxze2Y}Qd8=q32K zwVrj`EVkUN+Qqa@=@9JLA2I7jzKu&R(;^Sw;26 zyP+2(N}B;*5?N~D4P(U3cqoH>SqoofJahsOKMyOlJ$um~I$^Zwz^hl?r4{zNS)Ka; zX5*pylBYx{$+g4@!}##DI=8f$XD#AlRpwc@kP`z~#cq9thF55qu258GKA6q3)|EPA zgQiAoc|>M0;<>iEwsrFsvfx6Mw~!AIW(_b%wi1W%DOj*Tb>;z%4C5x^#E)_T+qcMz ya4eQMVE|f1sUB=$-!N9(V4pp~GT*2Q_9Y~M3D~H;Pc#= z;89S;p^rtG*&ln;*lBx65ff#1Jo`DbJ3HUb=J^|c+#9^DzqTjEU3Wd#bK0Amw(W=^ zv$gHD)s}jpTL*x90F_gK+5y1gFZr!s0MsuS+h*)z!p8~Q;VB=p?Kt4~x!fpZetxG17sZ^X6WXTmyq+!iDsMFIpOV zAC(%;%ajf{8n>?Pgj*`dwKdL0Ww`*S$90dX(-Tyl)u{~ka0edKw4wH|GkjG{1Dj=<4bE#tWe4qW zQHE>0*&DcwG3L0|38(d|{Sq21pq99AiTFGe+D&qNAWl()qlkQgemeLv`XntP%O)aC zi@XCKi0DclP<$z-xtM2+obwbj1X$-d^~6npJ<-ah3cpdAZ~eFnP9+YCD~WYo)o8m| zI)rrV!O5Zs#3^nmmGB}?(fRTU$Ga-Gsk6bkVb#D>-Z=TlLy;Wk)gU|NX~(FV9Te<>6!v&97P2ImGL5Cov=_Kif%yVccc08jB1PEfpbG1teLkb$%8Xo{&hSUsNA6LE_pCE{LbRR z_hQ@>4^E1484sS~`fkeufEm|Yku?DSDq?YfEsje6># z>WM=SeE=S%;=w30`;)9|o3@7(F_L%3v!6Y?v)}COvp4Q=Yw))A+DMDNWIMKFwJqB) zEIy>ShS6AV$`3Yc0B{GOv;$Dx0GR(Np4u5e?ToPwW1ka$n6R!t@`tPwdpf=HnA2oo(4$A%<2`>X9{P+hQ9@|O-?!q3g*LNUgSiZU5&6IdzU$4(2Xx}KAoM>4 zk^dn+0LFr79~Yq8IvXF?SJ#Gd)E&m#>#Og^3YD>Y+vCHL8BYRT6k*%49LF&Xr`4WB z*gL@hqclqZ54bi5=Ext9xL({C(A_jWcjOjB_{a)$&&^(vTmge4!Ugoh=S_vZi%J#e zrOOIf3b&-}gj*=awG_@kWibb*##N8xs7Fa1$x$bAU=!6tyKdJTrWb|)W*@gsf`4BC zY?u1(t};lw9z$|jx#X8%di=^o7%g^{B8(QdD#uVn(jsHaV>X9Fl~N&w$BS4|DLqa9 zM81&^62g?h!*Muy=I?!ZHuHdOyL!y9}W*eud)a9&R&J7|aV7_RVo zui+*cqmL_{a7w@2FQB0U)KczOczo`2?K&JE@N*L3D4Z|Q9}T|k?FtKLSt`=B$Xmz* z9$k?K6km$zRP-}O%sG=89IQA_J>@1qkGG;J!!J~3TOn>ErxFXr7KwFb)mX;T!DX}N zoy_w<9O0HykI|^1SvByK*G@k2kS9meYA`wFX~(FV^)$aQ#igo7 z8!=%%Zjw{9jupgw&&N4xUUas+ml$Qk6`xTT4KXAFmuBna(3c9`GwsIi^)XS@`Nx`N7voyDnxVW{7t)w21t8gc=Fu zy|BFG@1iNgF)HaBPTs9&wmC(0gmd1y9_L$@ep3>hKgK0r#rdz22h`mr=lh!9zj1y) wAD7|$VLoocc{*Qj%6Vi#<_7ye^Zv0QxW;=^TBs|-4{Wn5mfX)oVz&JM1NF}~EdT%j diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-com-midlproxystub-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-com-midlproxystub-l1-1-0.a deleted file mode 100644 index 8bfce595c27bf5834280bbbc15102caa86649090..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65846 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 TZno|JQ0%LFxjy^p?B@OpZAlwr diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-comm-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-comm-l1-1-1.a deleted file mode 100644 index b5c267ca3acd40affb184a9dd9245a23b3b95579..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2662 zcmcguO>fgc5S=6~g{TOSdf>ppNaaR?QzcF!ArvVWZsdZ*ZR^Aiv1-Rr>_U%`kT~}z z^}z3<%-i+a>&Btw5GKm*c=pA!`*uF^`n|iJEj~2gS!L<;I!?#2`-8q^*>cGoE$gh? z&3eh&!N$rr@sehG9efMC|uEc1$GdTTjk8!esle%VJ@b{fqNK%F-olmh5Jj!9 z)8bFt3qxwpgV4{wzi)}Y*5>YoHe_~_L%3|*@e7#AUws$G;I6R?WAMho&%VG&Su$=V zXNSD>7mVZ!QPHSbJZ=koK!B+e4!-vcYa+%M{}AK-VNnxwj5~Y>&#`eX5$63!Q^l~y z7(dhQPOux^*UKzEaK}|KuJPt<;PRX?*R>9u*6+^8Y-kWhWPd~Q^HgdNiSmUke+*}l z5kvEIak;!u78z$Hrg6yskO`7ql?mV%oEBnM8MWuF+>l@$<(QG3L^C<6p-#V8*>mCF zds-o@5*wmY>)y^W>=~WoNK&!kOGVqQ$|}^Mx4ix(i*8I7*$?a-T2YW1Xj8*46}VF87%(QR#^qUsbBq}Cts3X(eWAL1%rM%g!)0T;pODEP-ohBwDvaa`oT)+v=#qm_MB7AKM>Kjod5s; diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-console-ansi-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-console-ansi-l2-1-0.a deleted file mode 100644 index 61b9123dafa9c3d7506595b8891e9a9f08dc7513..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2738 zcmcgu!EVz)5S_#=g{TM)MdD~AkT}%AjuI!8DijnXIOYI1q>Ynoh*c+!Vpmk0dO(~j z@fUnWKZ5U}%*=X|O>NU$nw7FUo_)^jzJ0Uf7pK8;G<{opV{bOE<@uiPwog3Uc6rL| zZM)%jvKIz50N4Yl^l^9(aPXUcLiB|AoXBM&`ZASE(Tm4Yd<*BnA{6Mn==j2KiYOe? zFZ0K9If|E35N4JTTJZBIo+ojH{&^CLs3APzia_9h%_NAa4952!3_i%Tr&jSPOe6UY zga~H~k#mn_EQe`5)_j)n=((=%`?l?$v{pQhe?CAe0ZuCbPuSXrdMYncw#z#k`h)s7 zNP}_+&vc=GT^}aN9Wb~gTu6WTvZ=8T(b&UvnXL=1#v^UVI_o0MYrHucxK$3B^V%kywr`Jz z=&*o#x(zJm=P_H`sC~-UBf_zAIP>j#_gr zM;NTtP9tS0K(;NmtMCWM9TkS1r5R^g;!@*OyQ{LaJ+rbLFf%{!kf~f3Wf|R1$2k8b zQ#%bdxLZ~htOUlbND+$K<+@_5Dgm8g6N62RxUj};RF)267R9(#meD@Ci1}WO^Yyw& zeIGN7_Ti4NZ(h;U)z#W(TDgMH`lFailaJ6+npXOycQYj$m7Ky_`C0=ehg?}8(?7FC z5%4WlS=LoUdzgWZtl_=V$*UEq72=l~dQ{dtLyH>S2Fi2H&#J4!FEnyHF8T7=QNGpw E0lvD{p#T5? diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-console-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-console-l1-1-0.a deleted file mode 100644 index baeb6f41aa20cdbd44979f4d96be1328ff5b21ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13320 zcmeHN&2QsG6n}Nv?zVIVlmZo?RTc_b2@>p*I#~&!MisCeU?UJJ2c&7*I3(0fs>EFu zgisHtsyJ1g5Ptzj{)9dAcOZli;(!oGmiOkv9)BcpBWjdwMw%J>&9mq0_j~ik;~THn zdwZ=n7GKSWgSBDVmTi_Rc0OTb@yWkLT>TAz;9MVD!(pGbJN3ghL*c!O&Fm6$+q)E{yxVd1x;=-H&Ox8F8Nc7_cKTh{VXnn2 zX0kfN*Bm&&T28%jk@diKukAToqV{cItbK6E!ZQ7?nxIjI4;)Xv;awa8sS*(ew_9G% zyr_f{`P+{7 z-qFFX)4S8uA9(Yw)A9PU-@|pVR6cp<$ix0^)q=;O1%a+M0})|xoA4$SRb98cCtoaU z3W*x^&z)Vb*j0QT#8b;OZ5t_S6M-d98z=KfRe;J2GLm1-LD6&WdHi~Cl84$(u~GNx zgH?FRCe-d1cl-SjYH&kh!4cA3$(`>treBhr40H4e>>-$O|<@z{MwYf;$q^6Id zF-S)nzuX`lZR}>b4vk7U$noXlHit#InSnZd%m^8|nHRz@k#|%F1=2B~g=rR6mm|HE z9_bZRtWf#<&Z0uPjkE9=H63REZ=|pDW?+I#8Atl6Lc>=;wM0pry?=nC%m|LUm!DX^-a^XUgHECwThHO+`7UCr>q0oCwJJUREZ!UkV|i%JFhpaIbbMI_^=HA?~e|xYu_L!rp(4U>Rla zKNf)ExXRMrH??|)+55v}y%_GlNY?Z1J=weS+WSYMJ9KUtC)egbf$gUd*!-J9z*7Uh z!94ihpzVmG!VJ-GrbGXFN!v3E^q(RkMxlR4Lrs?G|5U4Y82Y_ry%_qxO4jqyzlt+^ zUi2?&SkS*OO|sYXjKq7u0Dp+E#DMQY4A6TmzVHP^2$f~W2lG}cKG?S^F+Ln4Mn>^r z>irWylD+>0(7tkR3$J-ny`aabn-~HftO)^64LHF()LQ}nuqZ>+S5l$AY^}#oKlOpu zd=s~VvwGfD;Hr)Td0sHdE5K6{=K=DIQbL&lwDH$qKH`KV!+n5Ro^k-^MmRcy_rIg| z0poDsN(>Q`y$2qL18N@}Q93`hMqmVYkc&xMEG`-%UPA)NmNd4@ZHQaTQl;``pS6#L$ma4RzZ3fj}^9rhjQ z%VfRScc7DGJ>T-@ks{~a0n7sa0W;*EoJr=x^TK3k`{1{vgfatuz;t-;1vf_MWXO}0 zr^8m9C#Q&=QQwCy%lA_9kk8AL93dt8gBeHBXKC}(ofc0~|KFn?!vDcP^r#R0;xGK2u;{{V F{lC%+gLeP` diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-console-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-console-l2-1-0.a deleted file mode 100644 index f6e4ba445ad52250ceb3985affa0aff0759faa78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34208 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-datetime-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-datetime-l1-1-0.a deleted file mode 100644 index 2e5d78c8bbe14c32b537400fdc7dfc62637052c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5138 zcmeHL&2G~`5T3*-lu~|Ldf;fJB5}aMZc`^n2qh{4jy-_5AZ^{oX{^Rg6&q1;>H%@# z(ud&zdgQ<}QD$bn_ByfEa;SS~SK8h2>=*Cu%r`shJbC3!c89MQUYPmfY&fpt+U=L? zrfKt#-kRomr<43(djSBj)_wytegVuc%X$}ks`rz+g#FU85Sv1LjQmL?w*1(ih|O`| z7hi(|?=TRkJnFc@ZHZB^Lp9Nl5B%Nn#217KBSH&)?t8Hx2ca)Uj&Ou6Jb~{CeGo(6 z>tE_b@Xn7v;LLBwlhBJlfe=A>D5jLT$6gVpNAG!qyO?>8uFPSy_hgtJ^uurxH^-?P z%lzlqw(Gj4>2}(w|N1{}p$h>zHGl^!%|SEvk7Aa~8xyv+o9F|t9Ks`A*g9?QMA11g zI3`>`FI;UY>^uq$T$f(DU@P2)(i3j69M@L3RTNeVaB5ujNHr^rETo!6RI_kZOf_rd zSdL{k`=b#w2f@fse(?7UV6Qgt_LU;h>vp7Rjj6c_rrWSyhSBV2lwma6H5fxy$(O{w zY_~ZaGHRt5wiz+QsFBrX3(Y}=Fm(v9tt7e^i0i}u;Cjbio8h{Pet1ZWhsITNeT|oa z%?hms*Y!Bz2>H2)>k6;;8ZM0;eO$?eQ}T4bhzbL!rBlFQ``lycB1|9h(Ti{_%o-TP z!!HN>Qo~%!S(-LkK{T*+Wi*g|$);J+PaC=BnfPF^VmkE{p&0Aj%BBu~P^cj3R1#hk zU6GAtU540snWSy&ndCN`!#ke%OXdhj~d@IJeYF&8kf%geU>2SxVXHV(rccLgN4c diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-datetime-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-datetime-l1-1-1.a deleted file mode 100644 index 0cde1efd8cf5896888cd32a7aee9bd9390fc190a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3522 zcmeHKO>fgc5S_#+g{TOGdf;fJazWVGC3R8>p-AQHm;>C9Hcqo4R^ud!jfgn)fVd&` z7oq$BeiLP8)|;#or_H6|025_Bo_)@)-@e(|JbDpMPWvyb&+NSUM}FW3Uj5j&ZI8Rm z*0!H}wd{d*6##Allv0378({aR`c`KE)tL|{LVQT%BoQr{%857`b*1IicfTXmXpIuUJ@$6M zP308HztU`IwO!;dyb=Y_gx1XMB*`@}I44|0KX_2n*xTq-a9*Z0!PB@S9Vgu0dR$%O z4$#>z!0CQ{MVUBp;-E|%l8J+}VwpGt-@%XD9Sp$jMFW{V@cRho8=|C1Yd8A>j zrLhTSa#&u6G5E9AVGQmnj3HL?mhsEH?O>NxT8m-MNEud%SX(t3gN!g`h_KyCW>#72 z{mr%B@D5kB9^g9Mr^!R*Z)^RKr-98r%?9W7Fw+RFbCK3H-n<&PdG46~+9#a$m#=#m zuz*_H1uW+0E_<6Oz0cbw!qHeY&`bNDhi59nTFWs_FS&(mV0KkD5WmFf!pz-9&3Pq1 z7_5~}SISV#b#7HthF|Dxpj66NGK`Ml8_zBu)7{0zBDU~KD`x|xI~r4I@eX=Q%SyNOY^GqNa?`NZYJCBdL#`%} z>7Lo55%4KhO%|0xN0@;BPv@c^T=oyP?0BmubMLaKxg^fQ+yiQ rLYAre!WrQG&j4H*CEod&YbzPRddQt{|A`F9z41H)^3j|BV^aMCQ!7jt diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-datetime-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-datetime-l1-1-2.a deleted file mode 100644 index d7bb8596cfa6643cea3b18ccb6ebc55303edab02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2726 zcmcguO>fgc5S_#=g{TM)73$GQ<%W%IrA|NyMJit>lndvLTW=auJFaX;%?b5XaqI<& zpVJ?}Z=%fXdYw&U({gA=%I;+LIkSHIW+%_z2HDZ%UFVg#Z0^46yS~$V?V6?|mh{my zJ>M@M7GWfoB|-6F z4va;~DXUuvXUAuSomONvvFJLEPXzk?Ud3W~@c@Yg=(hl#2yYYYg3k-#HxDKZM>aAP zG(*J70ESogVV>UtgLA?~^n-g{g?)(52JTC@0XPb`ui}K;ZpQT#ZV#QE8k|~JGYY{< zatnoEkq|5;1S@te*YfNzj=>&BF)ttZa}99Z8V4sTP{ws0DXnoMH^Foc+f5jaKcfkw zaffArxrmizEBO_?ZQ{~DFoH8uhS4I{R*iCy5vC0hj%%sC4rzVzA6oA_-ip?JJcp;W zdAvaMGZLYi;U2Z_sdPKE8{F4!sS!HoI;|_bK5MwDcJy`S6HfUz=WPraKqK7(hT!M1 z@b04YiMSXMjwVzC<6<(Kp2&#M+7i?Bl5402!LFY_X8C9aQ3mD6N` zbH`4CH@|ihQieJ^Uv!A-=BKmkVzO^qURdCkItg{cq8?XO7rn;-G2iQPzS`F_bUv3D z6~i~ax_&|5E-x1`-K*>IQhStF>hTeJQqNMm^n9set$R~yW3|VC&ZFokP-fgc5S_#+lu`L?ndZfV6RH=Y!@;u>%zclmn_b zq5d3>J#pq2QD%0%&Zf4L^pKzmR`Pm1`{G^CytlKPjVE^RsQz^6u|8VNUDGlxqp(-h zb%S@QwXW~%S-}s=O8|gZ>K8!f2f*Szaot`Apld}J*Xky~>Lz1{jJ@&Pp2teA@AlYX z$8p)GM%(T-7#dHC7PIoK*{IMJ*gI|asMB*9VOk!c8Gm-%O25XMCNr7AY=$psxxnhK z?aXczc-8m2eg8QP{o3y}+O@a9SfkZtF&z=pK@#==UV8kUHMdvlxt`nh18CIFanE|L zeH=g(gJaj)ey$USGbxUyVOSQ1&?@G`I69{{Fq8nr6u@2HT7aDIp7^|-TP0=w!*8dkeBHo;UMrjsy= z|Fk5G;=2sTkXJ@a;9u^y1?;3kzuyCG@c$z+P4ocwO6-prgl23<4U1`LeBii6#$#S}r zIsqJBiz*F2u`%o1Gap@f29_Nmu1Wc$U=H^I&go6=jBglL+7!g;idLCN*k2C#O*b8k zDf0)e_saT5BgB=#FfWAbJw+{#gMCoOg&}Sve^CDO<8h&`=sWfi^Ccc<$$8z!#)|+W zZTQ9K7Z2&_>}+TowzRlC26hwcXk5X>Ti6mz7Ocg`Ky#5?6U{83`jO`m2w2ZOMk8p_ zGRzUu!o4t}75=>xeK8|3L);UhMQG&#wy4k=AS?!d7F8O^5s}@}n4Q(El}7o6>tOr8 z4k$)~!r^{vE;>j@8F4^!`R8;n=F~7Z9hlSVK%5hGy}Tsz!B-^DqpjL-XF zCNQQ`fVH=+oT$Z)Xn?Gkq=0t{bLOdliZbpv1vKMv5e0mV$At=5!RTI90RYNh9Qga| c%zp9DipqW+zetue46vzut)RVXm@(h~0FvWJ`2YX_ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-debug-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-debug-l1-1-1.a deleted file mode 100644 index 624c7c4a313e9f43593bb116d3227cfca0dcba8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6066 zcmeHL-;3Ku5FX2SO?pj#1dg_(&?=C=#jbR9bPkko<SOFWlMU z-|+)K@OJOEUDx9-vv%E98#}lhYyrSE0OvNq<~G39kviU)0MPN?V|84A3P8v9pL7VZ zFT{_jOj6O2nM}lf97^$PH0d5k0*$BbKm;u@ih6Y9_IM)uaUum_#wno%Ux%`HawtZ= zpkG(uO~w+$P$d2>TCvy{s8)u2gZv_q-qo zTsLU9rW^^+-a?uHv}*wGb88ctnLN$7U0u1*IcSF6tXmD?o;~QiX!g={0Sq1yE}|RW zYH93MY;54T%(4fb#@*3&!d#*J~>KpHoQ#*L7u)EM~<{58W7 z>Ik4Yh(9yhqXcXNE>py8Aozkf6X_+%osXV7$bi5DvS}k4aQJZW=kGlj@u@7 z)oYa)ju|ndUb{Jall+Q&P$7&11FToSaxl+_%kzBqE|NW83pLLJdYmIP z7-Ykf$&s=!&t@V`lU#!mIJ!y+6km#IQOuP_jk%-^25XknnbZjoa;+){{=vqo^Vyno zm3mlOEUrcQW7k)E4%a={3eT=^F#f>DN*fNFu4t9Hjr~98{HBu&-jewP*L!3ABM-Ln zsK^V`^`4$u3!M!Nzfj<2@(1O=V>@oDE1Jh1VjkLYfgTs}?YkVKZ8+l>uRf=%^Yg-1 zv^FgJ7GfOvR4jZOTZ+YsvGm`ZyGFhyxAk&X0W*f2Lm+27M~gh*zf=w>@`JW;1ZH%? zbEPM*Mx;gvK;D&3KExIk(!a7a`C3&DJjX_PM^?2{TeZeGv#@t{s?HU^M-`gbSxytax!Y1%;R*6&ktPldF0E4&zZib!X(F@ZN}BlHj+<(N zR>X^H!m%)eXmgqM@DWV_OQ8o(8Mt$@TCVj-N`A7xwsCRSx`(jXAT=bus5N>WcO8FVigh*#H0l diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-debug-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-debug-l1-1-2.a deleted file mode 100644 index 8578294fbd2571bd5a6ea48cfa51a1b7fb4f8eb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2706 zcmcgu!A{#i5S?HsZA8@`P{q+m^j4>K6r5D5sz{WIV=h&X8wYQQ8z(`rp*dBYDvqdM z#HpWEIy38y*I<`i!b;g4&pvy0-@e(&{>NZ`I{H+9Zx@?)==q-Swms{CE{p6zsx_I z%G23g3c^ehLJNKl<>2B>#Gdd(Qv?D(GLaxgG6>ff1-=DQ`eio%OtFtIGQcQ*9;jW9@q zY6#DCp?BLDB*`N%xFTFcA3SJj>~l0Wab0HXf~#?d+E2KhYFu064$#;w!RdKDq6C~t z;-CZ^l7Pb!aAME#oMt18W5P9tQ7p3;{@wwc)rP@XJ2Jn?BZal@#U_}^;YJn4;LobU z7~Ek(U@T&#*fM^Zw=JCd4~97-WmvWS;zzP4ib0Jq8!*Iv{aMF4AFZx)zCc*%xz2q& zgV(fhyf)19VOL4FMx8fxxLsNeu4^yT2c2=5&Nbc~4cszs%z14SPTTj#9duYgJ>38n z^YfCeRa8FW8xi5ySTQh6M;Ftv^03YdOw%TxAQPBfl?lWzahf;trcrBtkQ)rvDyNaM z6CmVXbsO*pjdj<8C(5hDrN+tiSp8^w9ix71Ga1)-tW=E4@``SvcR1hA^i6{e?uzvT z?|b9^qX=c~Dz6L6`<_m%g~7fXaUsVQ>Ic=ov>dn0E80gFF+a<3zFyZGG)^*%_Ti3i z@7~hW%}wqzt+L9lR7Y`@5?`RDl&n-s?`QfoYBq(o9#$4GdE`0*nd+G_ihysaI+E82 u?O_%Qxx)LU(^o4}E5!d|=ux?{hZZ%u1C(cZ<+0~C_GP=S{-?9A$p?8l)1 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-delayload-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-delayload-l1-1-0.a deleted file mode 100644 index 922e68c71210806ae31e783ae909974284619a11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2738 zcmcgu!EVz)5S=6~g{TM)J(Qb~K;nRn9i>i?Dil$Kdf*Ttao#wwgWWiB6}zHbP)~?s zkDU3EegU6EnVIz_>&9+#X;#Yac=p+|`}WOFo*#PiQTVR;#wa%Dz;PYd?%IxF*gU28 zhSBQCXTumY0bmQD_8Euw06Tx^C&ZBuU(#Tnihhsz$n4~#|36kEs+BGJ!?T_xQ;>b<4H?a^v*UHiF4=$y;+uJHP(;THL$&nug7%Dy@7 zqN4%S(@oG|ejc;6j?zQE9}$j?RRiNJJey6VhqYE9XlJj$HFf zelS=mokq$~fRKCH)!{E1o2U#M%&*j@#z}TpJ?XUc{Munse&O*_nJ&vOx|Lqz{2I}?8PIv;ngY4{nK6oh zZ^@dntQX3|EEIBv_e-ZQS0q=6|I*MSbLJUZ)aWjdo&}Zc`Hg+)u5bD8vx%(x59Hs~ AN&o-= diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-delayload-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-delayload-l1-1-1.a deleted file mode 100644 index aace11e8565a60dd00ce7ad0015133646386bec0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3602 zcmdT{L2uJA6n~>bEy>oUMXFHICIk|P3W>9qEgtQfHd7PWxS$E4 zi35inIC0{q>=*DW_#KS*>^O1Tgmwpla8>*D`Acj+f1jUwx8;uZx=)rKnd8OYv>n^A z8qJ1jTB1v@O><+zi67Wm0)Q(3rLO>$PXLQQ<#!p~%fQ$cW3NL#3R#Coe8jc_kF%rR z&^_!ibRIVy=G2+r+of;p4~Bd%7;#3JK}cvOetX<^-}`~tl_4Z|5QI3Zk*UU;vr zuvgKj;JozG220^Km7j1c`M8F{JwRhM1E=~`i!`bZ!Yb0JN;Ik_G^+Y`6+bl(cM(f% zzvuJ#p8d6dK}An7%hfI9!85_MPMj0<0X!$wTE|^L<@R1FKb<4bE#V z<_PU`7T*`RZ} z+E}D%kp-whL|3YT;!812i+=LJNy6MK&v+ zG_>6Aoi2)?e8KIdM4zQEI&mIizZdhI8WXHJ^9i2++F3{=WR;UNPbB9*?Oq)R8*1Z1 ziW|!(O~f2$;}U(*I@*Z&n2mGPyl$iMJjN&=uK4^y9IIz%sV}uk`S%CGKpI=J@)}x_ z)sn&Vj+o0@9;e}r=}ZH9EJa>{SOFqxGy*;)^GcdClt)BjOgCc9!~i)XIYYebp-1ZG z4q8;`JdmE2_${k4d`DyQ1~l)@sR#v9?h)Fs=G4Y|dhb=*_>AG0rH!4KFVqyNjRS4m zKWQV%#!YGCLpCna#u~2gvf7wth`a|ApZ-@}+`_q2Np+Eg2)$+ahV`T_X8$uNLJ_|K D1MzDE diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-enclave-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-enclave-l1-1-0.a deleted file mode 100644 index 4370369de5ed5574b386972bccb482ec1dd9bea3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5172 zcmeHLO>fgM7=GJyFvj>8nh=6Z_&gw5lC8^nn9!tw#3T-r0Eq*Vmo6!dmVT(s#@J~> zXyUNL&itC4IPe?zEsXcIoy2L9t~<175|(1Sub;&B>*w)n_x_6A+iJd;d9Ejuxnx?V zWh~bgb=}}iYOd>5qb6V2oB;rQ3cmqLKLMs6i03Mn^jxorXKn>xZiTTm#@_ecUY~8a zf!kwi9mi##y|&%;7#jC#7PG3%_v-XWd#CMgb$Tu%Osh|5#(%r*E#KaCnQtDtaX`++wd+j%8Ae`yCcFy^(oY|y&imzZ~7y6)SZZnx75Tt|X)8rR!i;Mu;n z@5*;Wc*?%kbM0UNm9#nAyY-;biIz5RO-;kFEKAp|8fH9g&Nzpca9IIr1%Mm8HU*Wy z-3xdiedq4ckrzQBip**uK~$8|?CgjP9==^(kDQJ=OQb@FRY9|4oym1eFM{?5ZGB!WLY^GIERLDu~#L*$z^=aj**jYpA7h+r@icl2nX5%7l(L7cW zv!9K#!g1Zg%4>-UZ8+nT)5rAd_&B!3H7#}G5Uis<1rx7eO)y!omfn^8RiZX^tEFQL zs6M2xAV$Ou?k(yevcyp$#BdKJw8G~~D=$VQMu;awv_%%kch4X)5ME)MJFEs)MBG^S@Pg^;=*PcSkVBWfUV>kt|^z}@n!$nZhg zQ70K0>Po-EB7>ieOGSp=Y+R%Px_zBj0|3eYJT5Z->10SL=Km96;CT_gW0{<-;QoMZ H?0f%TMg3Tu diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-enclave-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-enclave-l1-1-1.a deleted file mode 100644 index fde61e0b8e94f6ce2f2608930961b3f84c99e8d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5942 zcmeHL&2G~`5T3*-lu*i#0^(?(aB70nrf!fBN?SmHIP?H22c)f&Y?`P}Qj$?@hC?SoHp|nFfFvfW%LL)DM8^k~%K00?;x0Tpib60nm{_S!Pv;H6h-1Wv46F zWlwg*TDvO6r$)=!X$TbV6>VV`gxe_7;mO-AS!s8qAWXAMXu;RARdJnNDcroEpCj-# zO$nkdo$5ICz#G|VqOP8Nrd9w#G@3giB7WU=svhKJ)7g?69xy5&l&r)cSKz61(QskK zVcDAFy5V_UQvJ}VlzX|hzw>cBp0_O9woTJ6V#jSWUHx(aHyxmu0JzGdDaiHYUXRD| zoeArkxvJB1;vqa!g7u?Zx!XMf2K$6-&<*DbK6V-hDO{J{N?`f8C0|asnRwi?kDJ3m zW(dxo_s>YmY_pq1Qf7&iS*a+Ib@N&L<*Kd=kgGLZ>HXo?F~C-$=4|@{Pp;dM)EWc2 z38vdH8HdsAXT)JN+oc#oRtY!HzHGNCoH7!z7`7QP!${l<-^9Bj9n=VuggW+@ z`shqAS}N9=X25hCci|c>9a8_A=?lCJ>@u_(T-R-nA+*cGnC|2Cvxe(?jy~^?3FnUo z&lvQ*XnL$s zYmRsagMFUUnfw!=#=Yv2@Er%^&rTEbt*(Wwzz%j&7Fo{gzIBlea)4W#=26tQDAvs5 z{Ckh%bTYvjF^gc-*PXPsc2ayshrt%uU zmvMGs4_F-00~WM8>f8f7F8!4U7%*5jZ=7ilxaILZ@PJ&%11JncpIEuT5c$~Og90B| zIQIeE8x_F&?;I1!0?7y?R{lF5h<{t2WFE+m<^!R(43!7=kvJz+Lhls0m}8Tygvy%U zKUG5Ra9qR(c8BBod4S%wPFo2j2EK|=^>9|Jpc}Y$YC#Topak3};VYiQ-+NU2ACOHj z_FE(I-hQNiM>^;IVEr?T`+8d51L$A&RMmV|d9S{*=)Auh;{5?$=})UzACion^S=SD CdC5@# diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-0.a deleted file mode 100644 index 8d475ad5aacfafbb94aef7daa347a36b945df38d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7698 zcmeHL-D=c86h6D#YONKu{vcK*f`Wp(CUrOMMUkRZy-+BM;DsW|vLWB3={` zue|6(c;!>{A;c%~T0Lhb$xL>W{Sk~Tb|9IVGv8)rPQLG)$zENtx?9b=v$wT$F&c(x znEKLkUDI?vq~0~HVT!({ZOj6|DS&baFzo@%d=uC49{_ZnydtjoivV<;J1?#a*rsa% z`wQn8yU*D3!085T-3gs8yWh4Q_SW^Sj?2)vyKFME&OCRMuE^f@ovn7)VT5S~gl4?& zbi3_t)ADW4^b<;F8ZAq70vp*d{x&f?~kX5`j4YknOMe+?S8mw>BY%8<|qVTz} zeo)&Cf*~;2Bb-YQyjG8~GuW8Ib*W_)^cdHO?Sz}l$1TOUTi7_8fs4oE8tGqc1y!Vf zmFQn}RQgvvqiR(3n(d)B0czW>=R`mJ`3vAxY1`U~4Ut{-Crw}JSp&gTUzYPQiXSU^ z7{!NE97Enom&niDf73WrDdl3g?}#Cl(#`Zkq8`mbg)n9C@m^fyA>KE~;Qg|(7zO2x z*_ihxz6%VtSf>6p?-%(p@OG9~gX_8w@r2%W7Vl%cS}V9jN9uUoCS2U^t>@5C0lHH} zsBr(B;H^>E-sD*U;aE6xU^{HS_IHGZ^DX6R+GGKW;NBIAApeq2WleHrYCofBxZ2q`3tok3(KkI<%OP*sOQUdoH&49lW zIY#D>*up)L(huJ=F+i+HtPp@^7y7x3Eh-cjgk^>I#jOlqurcKLmOot3$&~UC*GFSS zeKh*@v5zhprjKUC8LEoZM^~A5kUrjLifaO{zvT^amBG zk$b|x?`8Ok^`PAk|H>&UXC+FhkEj$KKbLu-6Pw5+d&r()N_n9$tVpG7D)SCfikFS+ zQ_7ocT%r^@xsIDjrid%@n|7kJ$LUB1QW@7G3sq(KjQ7-T6Ddds6wduShuo*PBdDEx z%@@M`3b8@{m-0VwU+y;HzG5o+gtRy!_fuc$BJO`g!VHW1FO_&%WZd6Y<{cFGJK4BC z?!U{%C2@Zq^)qhVFGJ7Yj`$2ZaZl>0=nSr%ij4g?gn{47K%Y@PI~EG)H5RP_V?+%c zo_+Y66jDg?M52K|Is23#^~d@|^M91HPinV<{b^It+}97ePo(bQbYJ}c8|Qu??#tBw QKX6~}HsQWvDv0~P0a)<`e*gdg diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-1.a deleted file mode 100644 index 7fca348f961abcc327f5258c4426f5bd576239f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6286 zcmeHL%Wl+26us?E1}207A&_PT2Et;bbYq8Z(+e~TM4&8KM3G>HRB__!w4vJ_*-nVi zEV3A7F{>>22sDckpTIY;V8O=#_g48)ezdzIgh!F6j;qSo$Mv{%PTh)cKCu0r!Ji9v z^=vY`re#`2&oFcy|1hb!u6Mh==!LBX09XXje1Q3v0Ovo->%wOMx-R`DuPYA#=(^UY zi?KDvo(0?w*ai=|&(_8cXRlq)-g6lm4|^7~I&A1}(-qmr9^V=JoDpUe5Sod5?)zhZ zV0+Hc^>*3NWc0HcHa6nG2HbXjd~dMHgAfPz)DFVOG#+5g9qqA#d6SRE2mCqTA++=O zaEI@O?$}$W;q&yZN>H|qwXqkv-afBtB9D3KI8%mDg;1X58m2Vr}h5N;CF zOvA7&OV{rc1x4CgaE^aLvH`3%kW->I5ABd2hN3<>(_v$)?bx9`86uvn!p4X8b`VT~ z!4ctHYH+C&W6xt{4#%aYRWM>)H?|XQaWd|Hj9bRa)e>C%JT6fTtx?cIF|b{v91Hn{ZYLhUEADfdfiVx=mhP;za zk)MVC=J8RpF%cttM+|8;{>U~G-BBNu2%~|Ad42m3@qTa$-uKLv0`Dzci_0_tnEStZ zzaoZ#*;N`1j_db`C$!dOypQo}so)YFsn6p&;o^F}#Lxpx3P55i-|!di7)4bcmBp@rejT+&S>{p#^*00zEh!tF=Kqec%bZy)I(W1 zO5;Wn4`>xT*jZoc7gAg%zVr~YSB^_`M)ROJ`lcLb#p5FWtw)&HhBN-~^$y*goTRq2 zHdj0i2?kQ1l9j(=O|n`tnBI-Jti*Hbwpolep!!h67KjueyhT0WTQat!aU-?}4`g&B z=1MCsM%P6 zk!$cC%PAg+RZ{7u+BLH>qh`9DLhLv}9!=BCK;c@Qn(>u>t2FahIj*3Y<8oZ086DUE zw3^X!jLH9ld6xA;dkCdeFHfXFl>g>{hYrI*#Xgmep|-%a%201V0}ju>idqz!SE% zpqa^e#&&gQL4VK;{LHV0@JtW-m(5|C-T{Mi!iDs~S8a`bh{h(a%WOSxH10tA3Aa;? z>uB5_8oMPpJ+DU;hCNAb6oyU0unWSlBiDBARx^kq!Z(k@Naip8y8<|=9s8%+k^4

    Y&p-&-xf~Yf?@7RA@$mu;z#l)ib0Jq8xUi^ zzMN#;k5|`y*InKwTK68F#Z%eicDnV-jOt)liZ-#=?YZyvSg8#%&Yt#%qIO9A*2V2eC|(OOrfSaY7G4mD1;JL}6n78!0-U$&W@UwF(^ z!priEZm2z+4|2WJV1ct@eZhKQ+=~>Uter3G#-bk3DYh|KY{Z2nu25gPh?$q;7I{Yd zpgQ`a9OvnEJxAkHj?q5c@#WQPdb+q+`b?{$_#=drNU@bVAEBkxt(1(9c^;bg8-=gm ztU6$F$u$P@Okmb10=}hc%(8xH4>M87AKo)5K&?ov5dX!YN9E58w5ZX&pgdiER^0~t PMx$cqxBe$uR~G&UO=9NR diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-3.a deleted file mode 100644 index b28b72167a3dca2f118b205014a902301616675d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6126 zcmeHL-A>d%6h6BPiip1<>Say*iH2Rg&|%M z;uVkLrO)7n58x9RA3!{3rtMDIDU=Iqh)mM<^vt*ObNYRAX7=iR%U^LGjNZ}G#kgyj zhN(~8o7Oa)SIKuxYusx@KUf+CfH8n_9bou2z{qEDo&E+u*V!N9y6_8tuJNCAG4_zL z=Yj19tZ9d~&mMMLHhb%Kte(rzxjt<&v%x%fnXbs+?bs__-)4kq2ZUz)-S+*i?^vCd z=XPE)&tL|dWER85+BPu9wpxF`H(0R!Huf0WO~1Qh2f@?Myxs2l@8;GW>va&i-3~D3 zwtFlG@R=PhI6jVhj%GHGp^1L0sCb-(Ra88(Ld%=&_2$;ya4~8!?UUbT6^L1Ay?y0` zwQfR~ET$N`Zknd1P3eL;nzl6B+B|_|0hlQPoa5Fo)Ixhb7LUTehI5j2KyTymKKJ;vRQ{e&CK#!bbz2{gtPxVS!kBAKi0po(O! z5}B(hGFLsLYE&m{Ezcu-ZPoSc=!d^|0bZ6?t+m(@`Q><0_mw?kAebD>au!C4VlstnWp9r-uf5&isP; zKw1~62UXeV=Zz#E&{u3=XYZwcp^r=DmubX&RO1qz(L5-RZmDr*JgysPJc%%|4`=*! z_d308Z})wDYbeid2I0g?8i!!&DYOLB1*`Fuuhf-61rBB)kmJhp4MeKo5u_fl9g%PP zxg_@RsHC*S=TB@9BN8J7pg;&M-9(EDtr5c0(i4MvSFQj#~$o#M@^}Anw@YJ{gJ-kullKepDxx?m%63G9v zEFS5+aFG@jEd6~H?KtC7hAlMHvlSB9<13o|`Z4?I8wqk}XM?}N{xlzE|10*Z|5GjM GZ14xr#~6bE diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-featurestaging-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-featurestaging-l1-1-0.a deleted file mode 100644 index 95063510d07020805d45a027bd88bb5ae8e30833..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6354 zcmeHL&2G~`5S})LPe@EqSl&oAUs$0H7TL%pL&D{gBtf3YzgccO_d-l4SmiCGYAOH#C?a`;f~LP z(C)fkm-S6%GK1L+XB%)}J#ITCEC(B2u+t8~^0!A`B5e zXV7tX_rm&cl!kfvXBviOS-QS#m{G!R&O2{TVG07QR4~&-Zx-qy-wQ=QztUlSv+mfT zoevQsE3p2h-VTBZFxV%YOB3E`#Mn9P%%ERtSpg%)HDf#B7V>e+G43{Y7Bg`1c-$gI zYJ;GL6sZwKYH5np`ex0n8Fi=M#~;)?Zl6a#{P_!@Tj|)ZVnbwC<4Ma`|L}oeYAm%p zj1tFc9!81bjKENI(j|(sh~F#@RV%p|5j)C|YUNgXlIV`sph6f8hFF)lJIzz(_om4F zmWf-kC`sm9_%_bdBf!jYXa16K1FJ>y2K~AcWeUCRtjv$`YOCNzOj5_=KH=j2pDjuf zR7se`o=_F>IV)^M^1UadL(VC32RdPI$9p9$BI8n#riUzn6C%2j6BJ*HX;Rd^NBTU* z5&@3$om%24z(CZp(%?IGN)yczsYXl-3@i;vw}~2aPt};yB0L}PMbm*Ni)pk2-Nx}S z%6MvYFbZl6YJ##i(h6B+KhchnCeV9q;9{?pbs@o}G^T}^!))A$Y4jYVrSGzFR_qsP z(c=gc+wh6M{JKeZM|kcVFEdk|k|;OH7n!eTuqX3f<~Ge8Wx1mDe`l zA)-ht;IE|aB$^UiL}XHo5;35RkRC}70cdr}s5G zFuJV2kO`lb3i4^GImRd2-zRC*X0&fpQ>I3}RM!2QMyVRA;Knp6NApH}x`fX+EuS<< z{o9rQjB%cmtVfs8e<}%g3~3Ox2Jf-Wc5uUQHviFbukJ-z{jWOaN8#mI3tC-2t lY6L*ehs+bsifiaUl|(06(jaOLK4P2mfgc5S_#=g{TM)72;?lxS+<^RqCV?LXj!~$6V+MY3szB#;Wrn+f^%0Js{4# z@n1OgXYgw%Gqc`g-Pkl2yisV1%mCLdbw>|*l{J>T=)?orpaU7j*~ z+dk-a@)u590I&tnIKg26u=9()LL3Y6C6!4k1~QY0IG%@6Tt>5C5eal&^?c!XL>vw2 zoBQW8IhrR@5N4VZTJZB&2H8a-(=0fPW@jSy1bqU5zc!U1CNcIO&@^4HQ^%q!Pgy)eT>EyuFGtFa5e5w`w6#Ojq7UMJ{o%^I6bdN z6hwQPwowpm5=6Twh<5C?@#BPXj4wFjD3|q4-9ih3b7h*i$9V-Q4DH?X~G=)8gsG5%Aahm{GPYE zN3`;NJdNkH1-w?wlVVp%_aBvipu_FaYH(dIbEVK}mnmQ4&C$RuGs&FSHsQ2=f80ff z1=Q1>U@<>W+1fjnGw&X?=Cv$g zu+}?`l&1hw?p4=>-)PiUB5F)E&a~8}#_9H8jq#3*8neUne8+>P@?Dl`bW82y{MTIZ zG}z#7SYxmz7jpSsvX+H3=}el_ev+PR-{&l|J=}{GUo+a)aXV~9*3V**My&Ftnaw$Ur=pX*ZK>3 C(ck|7 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-fibers-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-fibers-l1-1-0.a deleted file mode 100644 index eae9ed9fbab81009185655d9b02e82df11349f43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5002 zcmeHL%}(1u5T3-Lv=OwZ<nZ6%`Wg5vf1wsf&|1B;XJf8_J;vq)Mnq zo}drFQ*f;M0DXWyNa@V}*c6))y{6ATc6PnJ4nyT()n#s(1)Vw_Qs3M48@;~I2-6J-&G>bzQ>O<74s)2zJcdu{ z`oP-0*Bql6SP#P2e)P@@_R$#YboZF9LHT8BG}hqgdf(UX<5#GC5d^(P@;GtXY#eMy zrCz)^!&b$yZP&#GajPrwsx*&p;lcn^a{%|aGzF!|Ka99M{A9w$W~u2#-f##XS%rfWZ;rI`qKBvcld*p@8$!+bY-!x1#ifn;DL)DBL0n^BFibu6iVp)eS8qkVOQt z1c9u;u^h`THG=?wrB)~K;FpTCuV;DyBU4diB zD}zn?m-}rBhm71%4EGr^!^kZRK15!T4QhnR!xo+=5VJ*Mdixqouhgn3rn|Tbb2N1* z{As2y@oC^`o@RsddMFt}tDMDjh1Yux7e|ghu4KX~`C>nV3Ipg&Il$olndQC!~*xOhz0U5`7~*It`T!iMF$5fo>Ncp37`jg9=@Sw z?4@J^p+%7u+SrywcwJdTYI+Ts=AJpig{3l|6?faE*(6j{K#L=8#mgVOM~ABYnE zp0w&>Mq-AzyF-nL5|Lp6DEftF0VUP)@EJvYKa}1fjXkP(HQ}6Jy5T&njG$}0znTc= z^TdL9-}_&1K7QMn^ND8MA0-Lroe?=-N$2@bNR+Gc{2M_g&Z$Y}`45`i%kq3X8<*mI zKN}b4dGf<`^L&mt&%fyY6}~6))pNYc`bmzzPiaK9JkUp9%yIEOJ2`&aqw+iXL(x1I x`fgc5S_#=g{TMwJ#aLrNC;tLM~Rb42nAI_aLWO1NE;`18mrESVk0U}Jyb~C z`jdL(S5anWy~#SUX)eh|*`1wz_Uyiy+41vt{(LZcUwdojo7;3f*K=AYP1AIEN$*Xw z-mGU2^lAXG2T<{{>Jyrab@#Z>?=Xs{-wUJP6y;|_=9#RL;t^hn@X&>w~yhvFt?@Z|S?7&a`atN<< zpnGHYljIHk4yi-FlQ7QM&(8RCE1K@P$Ntg&amG>w$(V&N1I1_>!iIF=^lFFF>M_$ z4BbPlD(JQt>2+o9h<1bfdX_~9dATUk6|n5pa~df>0rVuV z!XMOZy$I|ewK%g9hZ?8XT{WcT=r!bknYlv8QXwwNEV_-};QF^L!f7zU*|3J-ov+=2 zWTB{CE^EW$&L_V$(AZG33rk$ChENTh72_6}Md#=s=4Ua^Q~P>?!lw+Qba>*M+m|%E zzFz8dX{E5^62%eKUh!OZRrrm<%83iVZ?>LawSUE;zqkMZ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-fibers-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-fibers-l2-1-0.a deleted file mode 100644 index 5d4ce9e5c12cfbcf5f52704012f5158bded88548..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5946 zcmeHLOK;Oa5T3*-lv2t=J(LSFRpEe|V5g~*NT{k5gg92BNZhtg<20sDQYG%=geoBc z$6ok9J@P~N6&xrtyMF8@HcgNcROm{!*R!8JyR+Xs?8h(c-fnAS?zyfubKSH|%P3b% zx^D0x`K;@uwMy{7&Kv;D17v;x+~Y8$V_H1o8ep9 z4zQMEHzueC-Wyiqr#RZu@|#vX_pBi<8G?Nv-GD>ZmNKbvs8+&);q#s-Y@L z914V7*>+bv7ECH}sByS^;upHn#;5JLX&9De>AF=}k9NHA=>~2(KqUikm-l9%;5#Qi z@28)1*xD&HY~N0Y@R3c}Ixp1w{YzkQN;sEZxKawSv)IYuyyUhCMu=Mv<%FA0$CX3e z3U(F~aN&4(MN;P5{XCK~Po&HXQs%v4-pm_?hUX!$&~!Z~c;M#+z+R?l?}vgwF58jR zY6H3nCfhKZhLP;2rC}u7Jv>h# z4$KkLTVpW2T#aK}$aD*L;T}yLa(|oYMLrEYEz)doUP}Q(XqS_i9^&Pzgo`{!9uND3 z3;Tmt4Emr^=;tv&9Df%uoGv;TBjyl{`BDrd4N2`Z&J9t_r+q7-vbv-fVw{pgC=ikI+p(yogci5X($h!Wu?53om#ykAJ3@_TX0!e{KL z6;@K!HF3}48HMwHZB*XNwbM241I|ReU%-7Gm-iaTwY1>NRpq^?EM(plMkQKXziy7q2-_n^j$G_tp5|vXF>i#{P#I8uU2qgkxY;C=4hNR7tNvi<_i+# zvifF6kco3@n)S_lN$>CK8$TI0#Q6`&xG2sqq2G)f=QEJ_yMxyUS2f;0qyT~~u5%(& zqBIL%@tnBozzGt64NcD*jB9V8-4kR_&j6F~hKLvHf4=|48`M=R-Y_sUac}qqos7qS diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-fibers-l2-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-fibers-l2-1-1.a deleted file mode 100644 index fdccf67ab691b64cde7b4d57c8b8f21233f115e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3532 zcmdT`!EVz)5S_#+g{TOGdO&b7sBpr;4ylt!2t|rO9D67dx2;oe8mmrH#ioroRUF{L zp;vySN7N%{vuAhq&CWh~?M?OvZ>lfNtT@|_>$rBa)ih08 z4C$?DzH;QVY3@}4;1)pXGeE@$SpO;i)pLOAIb&VMK16&Hu^k@s3G0r1&Q5}ncN8!* zPFpT>8!QZZ^iS;L5#JwAI3vt3A~X}v{h&u53hT_lpU3bkLk?`fJ%5RApgZAS%-@mo zw^Lv&7#^{#tvena^GUorK%~Dro`dEO`iK5WTpP~=i@ANC$Q4I>N5Vi8#^Nfs-tTaM+_{4hjdtsjIudExgZz(J|+ z9V$a&*W*ZTjXB>0(_>gJ!f5d`iZEL2Dgr}M$x0Gm5w|rQGD?LQ5i??jQF@yFNb*EJ zNC;Dg18i52pH*V|;08=@wp$BKcX1c))6}8zubEyK)4*nvW`py3m@tHPIgjZIulE{m zmO1*k(g~;Z`F;Zp22e|9fFa^@S7_Ja`9K_=2uBf|fqp#rG&+!39RjR)PCex(fS%-K_=T3GmyH#q7G+jsqc}3XuB;*Lww77zA~L7A zu~fqIGK)@{7dZYgVK{Xr*w?Hfc;;(oAbH4>)3i3s&V1Up20H6$ej&wWY6#W9FdsL| zELukgF~|8hSIvt~nD+@r*>J@dm(S?w>@2mVT50ZnKzt*Al7n|plN^?OrS}r%YW132 z8jDp0^!SMy0tw$mq{sulC2L4pACyI`K9eP4owVz6MskLDb3=>Fk_V`fQ1(m9bMY*j zGJHcNd-KV=4J|#hL`4z2x39i_@% diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-ansi-l1-1-0.a deleted file mode 100644 index 632c71ecad6dc0e52519341ee92611ce2b42461b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9518 zcmeI2?{C{g7{{L^ZMRiLps9m_CSg!P2ra?xQYWAZwOUkoF{&U0uaK@;<22qJyNcb? z?FFh3nh-*0FZP;00U=)UYJUNL3x5IQdG7qUB-`h^uXDcVp3gmZZr{1x z8y^fmUHwQ)Cu7Sn4O4Hmo0_KcD*3Ewt){rwwEa~8SO=(m0I+f$;L52u)*b=S@#^p5 zxcV0W9oPO5$D8;Z9XHm*@%C!~biDf^9gN*!>}%f|`>bmP)|lP#`WE}nc6&!Q!@|?H z$;>8m?0a;C<(_LDcw>u^X5^Ea@%w@8V4>^V%rTh3bk<||Ln8~=(CYR7-%+_V=vQu;Y<>vXt(3?XjOB zOBHu42OUM2OzlHnZO0neuB8l*Qrv%NkAsF6W0J>*q3fn;YMS}+W(d^&YX9*HA_8!` zf+Xm$F8h}H?wIw4voMC*=GH|lz$?>MAwP(}FAzs~^< zD}&yHs30ttZAnenCfX;NY{zPzMzUcoPb1lHiEGF*=@iJ*CR}6Mg13J@8P~-M_h3ATR`p~7QB@*`<7zD#(_kk$kzLv6d zNi=Zl3L411WYZ+cGmdy?g%2){Je{sYD8P`P#iy?LwkU z#gjH_jsVhCH4?==t1Q)B-*w;z<%Kq7rU_6feB5H1gtW%o>w*_z zj}pxTq6C-HajL?vn4esCX0Jxe;EW;+C!kf308=I4DRzDu0Z!-@bSaa76RF+v2sq2u zDFpnSt&0iR!2Zojz@=mlkhkyPo;0sSaQM+K2@!YkE=pDS1GDiiD9-`{k?FD$_L4C( zWfsM3tI(QFy$S&SV1k~$41P;MdHVD;uX2yhUS@z_d^O2 zF7{Gf{3&yhYk`RXlCLY1nr1<2Zpr(4LCr5Xt4@m`eQD+`GlIBMyXQra(`=m*L4L^A z#nilo9x!VJSt4pOzlhFv6uF_$@=1!8-vlk0J&zg5t}T;{TLsBj?8y1(3P9p7#xWTe z*^$>^^6US66S1xkq3*~hdn`y$O3Nf*vnT=TifZvqDp^s{=+7D(s+@q-AGYRtXK_s- z;AU7tmnzVQIr8;Xj}rva#bq*J6l7qrKH}q<7X>b|KB_?8Uu)+(8WdR{<@H=3ky~3P n8G1o7j74-HH1f!}NOS-sW03xTg_k}$C_Ro)m@q^cf3x@x5X?@= diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-ansi-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-ansi-l2-1-0.a deleted file mode 100644 index 8d990887f88a3a085861e7151274c24b74d84077..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6006 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l1-2-0.a deleted file mode 100644 index f8f32b9195610b98ff4242a4c4f3d97f256dd661..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5250 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l2-1-0.a deleted file mode 100644 index fc4f3f57af3ae456e18a355e3ccd36ec04f85ba9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10842 zcmeHN|8Ltw6n}NvZH>yesXztNY%h*nN z1?!Yw@A7=(1c37DG0$uF0Vu!Kr)=BXw*BS6^#=B?>${%4-K)Fy_pPqeZ`mk3*|cn{ zY`0qnlmmIM>(+XnYm-iAK-xC@-DtI4yIrzP+prxQ-_dcwZn{o=YMsEI+iyEH_e1RY z4%l|9)3;-yJ?#Bv%X4df&pX|2I^9Ee5GktK_T10f*5xvTik6fQR`ncQZc^$`Z^|~LN?l|3g+r4!X^gdE$+jAY?{rt3Z&}+A9 zw_DvK(Tl2u%XS>Ep45z_Tq~TjXyA&5?Oy+s43Ly0iD)earbNH%_r7cR#a>8`VXQC> z!?KVmR;3!yXg^hYyq2cb3=95d=V;gb2^sEM14>q9Sz9vsr$V=VZ1p3#w*ow0^=60!HYC-n19+B zFR@`@u}q`EajgXSpfy%uT*C+bf=mr#%cDvA9$Hb2j?S{jr$Sx`cC zObjv5@SFF#M_j^i7Mp1@G6N>C+2u^2`K39HlI&&pm=oM!$^zx|Bz6MSSjh_w{=v$W z!|~KyDo+`>W|}Z5o;X39INzq0cxcvOgDsE1GzMFye6tdB8- z*-5L;N5n@6K)rK@yo5DM#C$GUW50Q!!LL|}Z73Cc%qeqDYU5gv*eR%Vw4{0u3xKu3#2 z(%@&TO4bVKhvsL7_ewgvUwVJOc034#XYbIpUBvre1#xS0CwBAmfA{`st2qURv`zQA zFWL)P>DXXZ*Asi8OYgrHvf(1$|4PUPy7%Mz=2_hX@!J*I`@bPvKeOx?ECte|Th5py zE5vW4Lwu#2MErS*{Z5lROrS@WyMIsWchv6xN3~vJ_y0hx7b0Fq`zGD*EWpTX_?bQd zui|`AicSGHxqy`#{Eg3%*7I;MS|uxvlv8rVtR$ksL&VLvGr_)utt>f`^$GbET=Pje zG7qZ%In8!-puHlch#TQGI7&766HArVoD#~GteCK#k_krge)P8#O!)dKF`*&#J1ScA z)q06&@q=0~j272%g(qb~F2F?eKh@c0!7|PPrHBP@a{((g_#K}d>ygDW10-oy=r5&2 zznMh;WgLi32N#J0T7ZSv7X*lqSw1Vj8sI%*fDuUOp}`+mat6e#mPrtA$chJMIv!k} zlKFD-V352sy2vSc4#f8^&&DZPwl)C1^es?kx1?$RFT9!b{B*(`cLMlA+Am~z0{BMi zchtV8sn$#Edxo64!+j5ZUoq*v2Yq0$;-#7P_QZBdk+;WBFvFz5PgsvEjbk0Zb(^wp F{|}K%(`*0$ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l2-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l2-1-1.a deleted file mode 100644 index 2e05450492dff2a6e1d44c02a1902e98f658c84e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2662 zcmcguO>fgc5S=6~g{TNB^}vCHk;)AlJ0wmbArw&w!HHauxNV)-AyJ$U#i5j2BqYxL zNj>npDD!r`@w#znIfRX}JDz>*PayamlZeDH3c{Tkp^x)u`i{-M{r({&Ax4wA$f?3; ze7Yh1aune|CQrFn~EbQ^Q%+VoN;~H8I+~IayQ{yZajtg*lU$5+Pdy?4favLtU z;c`2!*`Dn=VH}eKMGF3XP4uNS2*z5G>P-$|vU0;NU?zX%Z5V^Q$~KI_8wWqz0wej6 zaw|F8=dHhBBwvV%O3C7RbHD}$FlEBUcb;KY#Q5+ZV!YYTYJ!e&pMCHc2j>!D`bVk? zrX9w3O`AK$Y4}`E()fUni(*{k&DFrIbH?1)GH_bHxgN5jLYR^L70J&-DcvQ?hqC-J zoQI4U8Z3ujr(>m&ah78mm;4WzAlX%!0Di$~Hq0uc&b*Nu60D;fE3%WQFK0EC=@$z- zF8n)BD`ZvTVyM)*wR5x^M&~$?RIJ#kXuCyOg*x#V{(I*d6l#`*eOs4nkQjMnjuudbit>GCqunNqHq z%UFXw6@L#{Qt_)|6~9ZP*67kOS=sC-Wb%i%Fh=zX$rLQCHCboS7*_@6 jg#2%dH7Y}nSi(T&E6s^~R#TaNu#mfL!M~Xu=T!9%4i&Wi diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l2-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l2-1-2.a deleted file mode 100644 index 75c9289c83f7c3532dade47fbb79617b030f789a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3458 zcmdT`O>fgc5S_#+g{VMhxAygEEdf?ClhznxtHV(1se8@JUMIiNn zkht|&@oReEcTr|$z4j)tX?sW!BV~6y`{J3MeY4~HPrYbw@T~sCoEB%@aUIugZ?sI) z<|TbJ&1MG|Sa#|Fa1Efc15kSbu>4d0>L&p86Ct`nyovoN7TbQ}N1{9K`QlSB@+N^m z<3Yz2ZcBv0F8xybc;xSmBVQ0^7!z9Xb3X`u5jKS*n!*$Kj-d}?;CsD=Ie~8Edx^j0 zMZH(SX#Y6~5ez3{*4iCU4qsw$Z`FGC+#837Nn@O)w=A!YZM&{(nr?d|%WLmDrWK`C z0l3ZD5;PM3AYr|HFkySA(eo0o9KtJ`uzlLtjpK7*a74I(UihG;u-8$kVO+Xwf~|1t z%1*eIa$H;COjOniaB5x6NC|5gTSy6uC}9yLtgvZ0RgFs{2PKj@5$IIi&etl_en(bttu zIHk|dD`+r)Myh^;^K+B6i?Dpa*CWDFm@&{#1|LWJ(!xBO$~0~A3MzrKD=UHWOF7L& zzhz|1bG5->#d4adIsx{0ltUGMp|aq{u<){?s)}tCN0!!kouh59Yn@}6Q}GQCmD+Pr zRnZ;u7}wvW?54>C`+}VVZ+h+aBM(J#ly`*erl&Kbj@H-wLXMm2938|=ig8(0(LOd2 z^SK!3s<`f;vXx?#4R?Hc_K=>Ak8@kDRp$D?;+Gj(WR+0Gkx=zZ%Oif4Llu6YGW%^) z{Kd22>f)Zl?6)t*ez!Bv{x7)k^Vt77Wdu!E$^Q46-@mbcP>h>ne^iXi*iT*Lvg}7L jWZ$vGmj9LYw=i~+ob~slfyXL*#W~+;%J*#Ni)Q*Cn?^8J diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l2-1-3.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-file-l2-1-3.a deleted file mode 100644 index c0adc7b3338934bc35cf2122fad523df952924b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2718 zcmcgu!EVz)5S=6~g{TM)Js`xvNN~f(PE#jA2t^7=oKS>>IBwn8ZLB&;6}uvEsyHAH z9D3z%df>Y#^LA}#P3*QD!bsj7&%Stf-@e(&TSVaj zo-{t22BXu?^7lG*(8VC+qg zg80qiBMA{sPDItHAAd;_YnGE)#iC=|E(mlxy_`k=+bt%Ns9htvC%sLwl3 z&w3VuIf+dcf(ap*5P})COvl`{{3s#|ffW4vlIW;*=pAQ)G_G@qDI0&y3z*Jdy$Yjo z*Qmm1ym3nKTwtVVDYufdO&+=eBl&_V8a0F4Rl^)GVCsa8uRZUY(D?WtG~Vg8S2XVO z8QjOh`Qp&eM}|t8HENu1EM+^~LE{fnec+7CG@il>orcSErT|D^fGdk5w#`pNw#fd5 zUWW@pQakl*w;GgP#xHZLu4h04)o%%U8ZXBGC*XUx}foSUudAv|700@RAs3ic3YZetlH-J%%f_`OZUK$?2{<_~d!)WG z2o0pZLDV-S^$p)LEW>PceIFV<&v)Y+ejNjRsP&v}IS`MlainFn6KfMpjbS|tqr^|k z!YHwu;uwm`c!}f7<2H>`S}ha9V@Ax-Y8188h1Q@#m^ygaRSUa|r;@aPIPP<$z-X;F6@;qxhdaIj=L^`ubL zI&Vc&haYHEkOV7{7pW^Wu`CLS6=jlkOU)!#c}TwC$E9P+Bz4h#^AP9#nB~;zV3y1z zxbrJJA+0c}9Hbc{+4g>z zwrg(R=~SN zc1bgb9N`feQxAW4VuJ8UcnCnN3-v6ZMTK?+G4hgMi>40W(8xcll{={+>f(>4JRfnz zG)pSRwv@BirD9@cC5j<-oK-RP0>02$nwa*tD&~QZhN75P@d$Nw_>OJ9V$#2f61XZ= zW0h3RWuD<*T%?lZ4=7R1dGbuH@IUt7&olY|)-ul&qN-GkSyC~Vc_vpe=gBirpqT$5 P&*W<%%`+u%6{zMnmnYp? diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-handle-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-handle-l1-1-0.a deleted file mode 100644 index 94f2b88e68fc89e50826ec00f229768fd40b3537..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6002 zcmeHLOK;Oa5T3*-lu(|^q1;SWE{FuXq)sX!R4GW56O{mo1JcH6oW`y5Q0&r*Lsbcc zkht{1|LKw6#DOxi>&GV9G$~SoT6HCRH?v>7yR+ZSxAw#5c5kcsBKuVDFXpOgnU+yn zGj-kIUGiPmi(wj(EC8hM0%U#z%)b-Y%^Cn*x4YuHhc#WfL%JBNF!tVedOq89 z0;k6+ow~#J-L~Cz85$4D7PE@Xb8B>k_Dhv5&n3hjy#(y{McHMKBXEKu+%x3tM zmIJKm*!3w618<#RgOB{W-RSgMcHnl}z?j?WGG*7R(RgLo%e}7WZrOn&MhPE1XsvWw zUAyPJsqHvh;e7lMs_d$G9l!sHvZdbI_k%(wro$*6n1*3lmabdn)sQ&VZ2j9cqyj)W z1#pMA=AaNb2LW%7zUi=8E!6G69u46=>#%uJsQLaF7#tDKr3Wq-BkVjjGB_`}tb-BZ zRwFy%7DnSr5pEe9IR!52k7}f9zUAkUs(GSnUQjjfnRzpB6zZObz(T|IobV5SP64)4 z4SP2-gm&4FG^{o-Ho;^crbl5U|7oKzlJ7DcLtg1Gp?|sG=CDgkjl^)D5i_*ZQvXB3 zUo-|4!lYpv?=#2_Sz>zg9852*m4}#a;Vxj>!;<;mOkd&Cz*~-HgY#Mp8A7|PVtRy^ zYY7)ej@%!$2^X~oYm@@eNDz1q(71nYaoZ$3Z}QYFp2;}_ji9;L-W3+kv_4PMB4-c_ z+`A$c$iL*%q{z8O%y}p}I5^@t)fArqa*(It7h0w+S~CbOiY(v2QWW7ePD4s7c*x*| zG~_z>%y-;aI#{S8i!#jeC759gQovcmrF4%YwJ` z|B%6wZqv}(u)2WkN3JCh@}7H)M!~d-E~4cDwy01R z5SG}L-0~Ce%7fP#XR@is8`l{g4bQHk0XK;6rxZ2u7EUu7G*BL}FMTv9S1qDJ-8Jo3 zrX(6xCX5E7G^7n*F(r)ChL2&sq-vJh(2&NJSU#i;T{Uhf8a}IWu{PYt^_^E6(lGcA zDe~z>)rB0T6)cG^JQfCiPs0za2UjeDV8}W<{+ko>|LSbScTt2v{JtLZ|6k5VDNueG zx%6tFT(t-Ub=T~o!I&%>tTp*-lXz1<ZdtgAY;`ouwMoq;bzu15b?`QiD%wTpSIz oF;>p21_1K+zl*H|;#-WY1WP=7h+7)IU_)MQNPhW?=+rs?7lE|j)c^nh diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-heap-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-heap-l1-1-0.a deleted file mode 100644 index 7bf1cf1aad6ab0185b1d2b5effd8d8628017941b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13742 zcmeHO-EJF26h5(&wh3v05+Dev+Co5pYIiqH)-kH8pdbhm7lG1(5Mtxl>)OOW(RvGQ z#ZM53pDQZClOP_T7hLfKJOWR^Wy?8dW_D-2YiDEC3l<(}c4yCg>-qc6nKLu%^Oq}L zwQ*(Pq7e<&x@B9oSt@TBhRIp_)i6qB@oX5o3jkmMky{hBecWM4YzXOv@FMR zOsC@DZ?s)-P*@vVA+U`_zF%qWgX1*Y2Tt%viR+bCvsUr34nbZZqWo)}R=29ZDFu{w zwRuN>j~`j?`fqjWU9Vm7o86A~%U7crgnie2t%W6MASI#PcW%1g?d0EzWfA`EXkGb{ zP~`Ri`a_qw;W(v^gAw>&r6Gg82L-S$DH>T7RqNeSilw@Ey|>H0ffx9awK zgz3q5`=!z6L=e>4H>!TI8z|Nwjj~MBwr#_(OJ%8oy9>4NPM}f&tj(bAaB2>UzI)5( z^x%sDJG(`sN@XyFb2ee;UU9G2I|2rWgd^@%R#0n2IEA-atd|}(!Bn_)B`4hCU|dPz z3`{H~;8ec4qmmZdy#gv}ft0k+!0{=xtb$cAi?vn@iuGp8mEiji0B+3GEBi_y<$51d zk@>!I38wd7ZV*Q6yZj)G)^D?np&p3_*|*$hbC{K%8HnNjB39&Q47|nzl|g|pIiQA* z-6k#&#~a7sc&WS=1k?Y2AaUVD>Q-nm-;je zx|I=ij_C%270c;P+6hqQtGMLgcT9|Vsvf&qkyiCg)3nxvY8^du=vsA>yW(>kRC3Ic zw2ExZ1vYT!Om?>utwDg+wqY{$BVK^fMmY&9pX0(sBav{V;W{wTSG?H;D`x@GCXe4>>*%!BchaWN0(%Vb<&&7UG`B{8H0A`G|Y3xeIz%}RW6lCApFvgM&C zV@e6#a_|#gSx2I+4*i+Fz1ys;yjf1C2X^_=)T_ZU6jXmWUd=o+LhZ*-Hvh#gpzhT? zN5q#Q2VY}~_^({j2h{69Q*)!NW)2_)kseCWBSJyR`DcixVxnTO4HaVD?6Ih<_1r`?-Ttqm=FAj!(Yr#)lci0{fzznTg6W=2_$ z=GelEFKH*)y3_1NA>5BSCj@-W!54Vn#+7XHH^iCQ_LQfqB{RRP$O&YupFaj~`Oon&0#%bcarl$dasho3*qK=d1M`jmQ-8NVbO9y0!wuq&`- zKjKq=i-nDkNwc!^X-{9xxMwqEe`x1NVShgth$@rJe)Uac$o`ii?EgN-{^b9BjN9`6 E1E4rx9{>OV diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-heap-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-heap-l2-1-0.a deleted file mode 100644 index 14aae16d7112b3aa805675ed86d768c8d9d5d495..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7382 zcmeI1OK;Oa5P+vn%A>rc3IPXX5Zp*`O6oQeLPeDTAr2J+i4$8laY+<6sgm$GfG9%Z z%unippTbYz49vr8Pl!WPP=bQ8(yqs|WAE#m*^P7McF?KT?=0MO`%`JTlU?Cct?Vfk@*H^O>dZB<;4Mc=c0&o%ctAr2sY zE8la?z#BzzKWc9Uk$OxiMAQ#zO|9B$_KNKUhhZF)JkR%i*Y#Hr5Kfy5wNFP71%UD# zz!{e2q1X%G^jIEVxUjKVtOdPbxCz&+!Nz`ZtJ^)m4ED&bK`*>kwzkJm$YZ~BS_9A8 zEn7X=og8krV(nZM7BlQ@y}crug`I8z(JT;}1wykBEfq=yuULyBC~h~RFgE`F1K`En zcF?qnSg+@hn#}#uE}7~1bB5Wdxyuc+QS*k5ifz%1^rv`kdCums>Nhq#UqnT2&c$*t zQ5%%V#sM1m*dxILFq5*2t#KCP)?Qzg zUE(vk-pXWWg#K3m1{<75+4Rh8v(=^BlcmmI^ zcmmBY&1sr+l#xCU_y!wW%IQkp2~g!y3J1QRFy;+v>~2L~)%7s>;#vpp9F<$jtB&$i z?BSx)aU#pBC=T7g`e!lSbaBBOap%BDuc9Bdkd^k*9U+PIv}UxUZK-x4wd>nCR?#NP zwoAN<#<7Mrud?lY+pp6oJcwL|CKtgumk`3BSTBJr`4} zc4=xdH@KgGoVnsjHdHaz-158-jrs!NZghXB;Nc!)$-0P=j%Tt&$y z2R@+4XP}{{t}%NQ?;}k7@~Ffw&xprW6R4B3S3*3k_+g2k7Y6J>nn{^f;?Ko!r^H{2 zHFR;{BbH3O9j*FFkf_G{Gbd%fJR(x@bXqzr^Le2FQD{yz@3g~FN_oF53N9UZhgasEN2*|#`$>_0YeqUPh=80#?TL_{ zllA8h8FU7i*2q3G>FSdWlP~v^B7JE@(krFeIcCr!l9>J{CwE6km(Oze?rEl7zWwRA z?&64Sa^O9ROt=0BsTGsry)@&UR^_0`K8|0ibD%y+V;}x^-qmR3AfpwN;@umS_t}@3 f48QoR_zp4eHo#9a@1uN~(f=uF;Ny@#X5xPWTLODg diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-heap-obsolete-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-heap-obsolete-l1-1-0.a deleted file mode 100644 index f95a32617db3d0e6e8dd2e434723f1188fc4169e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8314 zcmeI1PjB2r6u{qlleUCXD2fC^Dl#Y_A$1o!Y@8q=6jTXv;1B_oI5F|=I^9*Ab+lff zLLByhB7~}{Ck`C>1bl>k3O)|y{h6`HiQTv@xLS2bvi$%zF@w{=8UVZw;Oqme?g3o+OOBWS1fb*EA97s(9e|GY z`*OT-4}gxhev#wG9N@-Wsas0jPNQk6_M=%eRkxC1q<$Pv!jrK=<=ve?1w9py`*di1 zGKmJsG*V=9oRYQT`%x60sHC4JF}_O0zVel)LWM6ojzD4V@c%CjzDx#T{Pp-JEK!Y* zPgH)-(&uq_C$+Og@kN~U!}#_jP6kIhx1f?6>$R3b#IK^yVtl&ru+fPHmS21~D}uPZ;W!%fXWhi`RK=0+c|j1k?zSgfx$eQ*@bnU*1hCrzc$KA9=+2_M zGnT7QF6O#vY_FiOg7vb~E_lXn%jn7OYPH?A zvAc=FdWoIMH&;ZubDVY%=?)>?A*4G7=}zo-{EpWh#xdD<563uUlKy!FaHn+`9vOw! z+xeYnCl)H}tb`r{N*nGwBBb5=p!gDfM`chV z8wVzMZqA!9_oMpU@A#XU|1{hOI2Nx_17PKObHB;ez|%U_2J7{v=7h$&jC*5mUoE?A z9@+UuCOadayv7SlD+~xsclx)|VZ$ z8I{{*^NiX->*%!HE->|?nYE{Fj1F7;@X>p8_uxUU%caX!Ohe>RSwiDWC<)C%E-TRP0cM{S(x~s7V*W1N{F9hqc0-RoJ+Ne=vqB2#aN__m^<@1~slt(x4Q_w-BdH!|)i zvV2nRS3$n*^mph&bAMeUo_qTZ13g|HxQFLLYvpsjsA`=3UQPDxujr-E*HJ>o{?qvU z6-@*0u`nTv8|l>X`2u?Rj#Bfn&PO%5$1S8Y(f!irKby~QYwpcn;UdR6xGl{o_xbN@ z4P6|#k7wcDwAOa|nXYlKzgd(1rPrr%lz>0mi+v`q?`R%)E1Vg55xhRP)<$0xjdSnU zl|8g}S@pv`axBnX~BmMs((l;@H+1^>?h)4b(*}FUM WlB>|kf!|P)h{xXEDQFt<`u_rq;5AwR diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-interlocked-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-interlocked-l1-1-0.a deleted file mode 100644 index 046c4b9ec5eced25cdbc12be082e0cd5e13f93ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6138 zcmeHLPfyf96o1CJa{sG2#}l| zW$d|UcRaRW`*w%Twk(^ya++q_Vc57?H<(dluCqi((B5j=%dL*h2(#`Hn(=$5iEnUQ z%WJm9T%GAmVwaS$giVi!O7#Nw)c><2$D7Y}*_=htUg0lV!0sTIP~pZH4T~V~wt9 zhJl1J9@HY%Si7f?H~>>6fD63V4^`jZ^m#r1q{6~t)iQlEAHpp&u&`fU^1LHputPY9 zUN~9{u>)A?!+yzS2DA`25w;UwUTv|_G>4MDpcOLATA@=q{1j!GUzieWhqBgLJ06vDwF*Xc?c1z6>0aZ=zLR*K1T zg=);xu++HFj>;;N`k17#(>yS5af)eUlBF?PckZG6MZk5ssG#+jRWJ)kDmxQ-RwH zwWks6BcFniXRsz1E!a!X20WIsIJqsS^9;x_8p1fz51ON&|1QagheD;rM=617(o*&s{rq;?Qx`!VT;@l~@b- z=@u0QzF<9n^Ja1l$l*`yl(8I9Ga1`JDz>^te@ZP2Z}p6gVP<6tnE28=MHgwTv%M`L_KJQK8tPEWES%nK57&I3j@!;>s;_D-$3^~2|q_k z`h|uMGhi$low79m-@7DBDrRlVavUVpd54s9>oxrOJtP<4s0Q$ed%Iw!!7Sx| z^`JwyXZl|1RYUkn2f9~gKS?&g;F53=J@7?KV(+7~gZomg1D3=c$~fWnt8s0KdyURP z2~Mud8O33Y5(C9ykT?uQ97b##O~W$%I0i6>Q5dVSlxRJT);r1Zw zc^?BB&`4*2#`$^3z1wI#lE)H6ry zd8I-)SZbYSs!@O+d=x_+{-Cp+PO;4zODr-`Xq&o9yOsBAf4;|wS>Pw8=3Q1}bT+-g z^)S;qO*&Y&>?+s=loOFMl-Xt8EtXw?zF-TJO_jWm;|g8HMa<7~+_J{#JvxY)m*X6{ zuczpI%rG*BZ+vzAlCBnuJf?bU+CIWaiIiWc^8tE7-9pKDnbo0szR?!6)t&W9BKsX**V>=6IMVMNr=GxW&lTo92CU1nB?U+ArQ`;GsK Iwo{G&0JdxB$^ZZW diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-io-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-io-l1-1-0.a deleted file mode 100644 index 8158b7cc6dd320ce0f5a477ffce6623dc956178d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7722 zcmeHM-HzKt6h3iwOIgZ~ss*hm0wWbJDiZAdaZ;(ORs;mSB7l&3fi&w)W{F!Tj$&tt z5L7FK3KvN14Of78m3;)Bgh!y9Gc&d)>z^c`1V!pd9*@s__RO65zByz2%{%U>)4RL% zt~s6T1KY73tI^yuO-oeixoJ9&riJ$zZbNEK{N_{g}iKS zjkp^LRP2RzFp3{rP}y<^9q!)?lHqEGZZLTe)q{kZMVz!P%W)j!WTT--e6-bldcgd&Z7t3+>fzWv9N*t($gVW zG43F?6Yg3ut`Xx*ENtiC;`;cEGO6{$8p@ zJjUy14VNfJuaC=wi_4eK*U(S}%1QfG;h*P4X&#REM94rmCczgtiF)I~LunB#oANXb zas@gN-jzBa|B_GBq^~iu&lzP1aLjQ!lQscdk;}}03oI-(ST0#oq^QusB$Hd*L~1A+e+}BE|@BOsPeTn^+)wBzq`lS*qm?tfNG$ zfV3RarAh|;j-`_A-pu{rQne@IjZnwIyz02E?WmrrLviarsbiD&-ubT!xCvfwb(l&A zsXE?M7CIU52j*p?m+~k@Eb~P!)yMw4`mi(l_z73bS<$1bt-7m>9s{l2vgk3%$7Q0& zclo$PAFttjFB&~IiW#!jkt2TRNVRd7M4^%azhbG7`RTiP{>ri3JzJ`ay*YJZA7pg# zBXVVyE{-%ltx^{cw06sM5#{4Dx_Fe2OLXxH&h?_Ys1iFeUuM=jUhF9LrEyH_fOv=H)iSJ3ynXk)WM0?ZkY~-`M8V@zRt%b zI=KEXbYQ^c?~d!Of$fY2ZYc|$4EO=_%OjTj&sbN(eS1#s?`C7b)4kEng!`}Jye=98 zDp2qlT`*;R->Pq5|0$($peYR^H{cgM7mQp=p{Q~-im>KWgwxEvO`qWkIV&36*H+P0 zMuTIm-Lh!l=i@Tb;4~kXC<1>JF02UTMfwK`?_cL{OY%RJt^yNB6ek0|#iBM^#r$;m I%l&rr4_|%@asU7T diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-io-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-io-l1-1-1.a deleted file mode 100644 index 3f235e3851249af9c3dbc295deba9413315ab4e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4288 zcmeHK&2G~`5T3*-g{T!sRH)*Bj086l>^5~;386|A0!~!?T-mtE7MnV86uVF)RP}_o zQHd)L(?{R|IPx5nnO(2FY3w#VxPZh)-d)dr@vdjSZ)bh`fjjDY59{~M@nWyoj_p|O z)n(JP#E@Q_=5ni*{Gn3^fXe`tZveG@fZ6Zzs{a6>YyKx)jBPOXD&nJvZSt6p*hbjn z?7cs5hdx8&-m1f#77P3>x)OUh;N5V<8DaVnp_#b%Ll)SKelEi&^f@q(yS-U8w`|FZnbp`W_?KJfRE$Rvf36ve7u%^rzxW{Yz zo_Ih`b&%zPbdRTaQ7(I{%?lZBEN84DCeFvDilX;eN6dac&QZ%+#Lklhqip!bN5^;R z?(i_PWxZ;_iGlb=^GXh0!Jg!>wh$hp8B$A@8x%%( zVN50BeJT2KMRJ8Qx>6-Kaf}M7Us_TZ3CmZk^Up%3os&vcn#e9f3-+{HSoyC7jH9G` zdLByyeFMkNtAz^Wop>dO{#7l|o8oW5$yB=>LGBEVSy diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-job-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-job-l1-1-0.a deleted file mode 100644 index a88281b0eb7b470513665b517331660d51df62d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2666 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 F`~%d$9}fTk diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a deleted file mode 100644 index e1cf8eb3d8b811ab1b751d450e2ba638857915c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11406 zcmeHNTW=dh6h2ueX=}Bjq5-u~flCVlRGVGLw@9c;lqf`~O(QOSLfWkDO}x!|ZLQak zB7`D@Duj5*0}?_!BH#%jfdsGp3H%6t2j!fZy^OuP_Bu#wS@KA8@tJRTX3m^%&diQ) zysg=d)}8EIxxt{6m5Nf4t83LDZ41*r51+SGV5n)bH0HBG5w(3E$D3ZNtF6HLSzkep~Z25mUL* zY~JlOG;_m56SlBpo1JzSb!qRS$$8I?0W}Y;dfh2>JjTW`RgvXNrIO246~$+2^YJn= z3}9;k;2Bn0f`WsS!piYU4)*p7P0i8bA*^N{_MQ~#z1|oYoDj~S7v3s)*z;Ie#D0lk z9b^wz_T+@S7>}!ZI2j8o5jd~j%W-kYw|jY99P+d{oCLcGr*t}w7?^^_A^0mMa4f`3qw@|GcW+A-Gk zWLZ{ZM!m6~XSFP_?i|zFS2*dkVT@uOtx31Be&4lz%5oql^gQS(gw>K-hzcixNAW!c z&1nf6dnmLE0dBza)DYuD<9yc9IMxyKc{Hx#^$R!6u;XGp8IJhL(^u)&>1iMfO4;b0 zBC|oH7@=MYst7#6nABu8(*SI#&P2# z*Ip<~lN$#@yQ8?#jmG&C>T%=KXq?ZDXK{R!a^pf^CGPo$+taM_Vg+?TA>hTET)#mIBu^w>~K$cELBrWfJ^>>B!M@mW+l>jWgwBoGFDl^9|b3ILBQFsxFa&<&4i~Ugf?qL@A2}z>i2A89 zrId^*MJScvCrpDsjU@dK%JjU2l8hatu(z0>LxSBE zS;eHgs|CSM2L5@(>}YnsXT6C1rw}lt#sw^u;1|pTh762c^c}Ql3|3CfgCx8quY^6w zx469+cUCurGj5t^^^b*iN1fGAqH&?K`q$Aoe|dZb=Y3L+0F3z)9lmpxy~$0+36U#1 Uu7olP{=#&O1~_NNfl}tqf3q^R3;+NC diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-0.a deleted file mode 100644 index a6ade328d077dc5462d6abf3a1b811008777cacd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34538 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-3.a deleted file mode 100644 index ef9d17e6d70a422d6661cc7d0f944d323d0ba4e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14036 zcmeI3&2QX96u@7+=~vqF8I`J{u&shXrMuYK%_g9#N=X!YNKr&Va6odL?4;|)`+@D2 zq(Z1dsHzZ$2t^za2TllaK%6+|@8D12KzVP*AG7h;>y41Bg&k?evop^g&-44un;CmA zU9;TH*7d2k%KgEZGa5!ipI>N{%Q~-;({kA`3{g;Cp8|ka049F`II$0K8h=uJrYhp| zp8!ytc0_#XdjN_T4n(~87XZaecn-yx%Obx14gkd~cSWqY02FmRmtqaiuN|1?l4*YA zG1oKKn9p2usoP}c=XS^H*(Mh5EHunU-E`~?ia~j|!#2AvGfAfHk+jKwZ!@>UoZ77E zushb~uIU)2Vb)B`#LKlAm@Q^Ci)asSGk?W)*bU!z?Tvdr^FDN~j%RK9tobpRrrqwD znIa#scK1G8wq3UAcir9O*%<=2@Jwnvd6KH;J?5`=J9pMBzx6)qD0xzb09LKsbDYd` z(**F`rEa_DGS6d8y4~CM19j`!VtAc*@#&(Dc6;nbpxZ-*D|QE)a6SG^l08hVUS{8+ zz*4ujtJa39rukWS$FFvyfhlc7GIYJsz)@;mpACkv^{M8g<2aH4EKUGC%X7z|>a!i6 z=hKritgTm@mT#qt@R~(fJE(4W-T*OpNOCq^aHby0p2W-~-j^H}K@a8T!g7*3lP)(O z%3a0Gv_dYd505z5RoY$!2fGRlc9n3jtBAp_;usa9QmZx{9H*;WNK|m*-%kMUOl(=( zVL?zX>yw%<9l8e+lXa=3$w+!ErO8M-oa8d3o&FH$nd|QuR+T1FWw`FhLP`^F_Fp9U zMQu@e#{(^z#&qHka4SX8UQ5RtHXL>2C18&Igu4Pg`aA zp}c&QK7tQW_IVTt8=dE|0yp_#6PmF>u>~Ex&cIvn@)v#r0{L zI#~b{T)Tn^(l6;W4)WL|?m0mT7Y^;6j>IWIho>UZ;7`mHH~T4?HBZ-dqb7hG=w;^W z5^E>8g7)xH(I*yiM#$!V<2HK8|?5$qK|Bi8}iX{f$=&&kBx*n7~k7HC8}1Q8QQ@g7rvn_Fo+cHDyg+ukFi_X3eDfx=1A-yV~qARysA z2CYhtLdq#3C2jlp|3OMx?;}!D1&SwSAtx!cRm?-YBH70QcF;V_k>)2w&a>`I?Pkrh z9;)RMqtdm4a_G^}rUX}2z3)D+I=USyfDF_<;fw_Sih?vP%RPk$h zeLg2SMsnxtYqX|8Gl<&B_(4jO!i>7gD+T*zv83KTSQQc#!QGKw9oZ_zRaQP7mEr$`DqQoC6c?5O1u z6nv$Yizs**pYX609Ea3b=p#+TMKXE}F%8#50Z%pf8IP$w7hI%Q7eB+A%SlKrNyuZg znn8rDOO{n6Aw}qiY3r+^e6wgcEH|>32 zwTPM4c)bzxa+LK(DX^IM`@qp&Z%hY7#Ee|&V`M*KB<`_Hg;ZKR2YKJ2*OTk+@ronn z;3z8&E#N@)h3hE$4BF?W5c6+8Or+N8Oi(heEg=6KVh+i`gh(G zP6U>s{MH*=8)Z)Nd}ks!QTAR2MJ-S~DS6+ikH0g?B;_2|4!a7$F;(%;hS4S@&vz!O NUI%C>^ikZN?msdJkHr80 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-4.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-4.a deleted file mode 100644 index db5c54e761e1fc89070788294c0fafcc2006a899..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2754 zcmcgu!EVz)5S_#=g{TOGdf;dzxIk^}kUFV^P^2D!11JZ$A#L1v(^z%vC^n+>)C1z& z17E|b-@(UFW_G>tI<;vz;FYpFo_+T0zJ0TkM=$;5WcI4_+$=YD&-Gl->F@8GrX!~G z-ZZ=YZvMi!0{|NUtq(Z72iW>aKgJFi`!U8^_b7_b8`-C#{Hm)c<`EM@BA=I zqa=G9PZMA)oG;kAHwfpanVqaCt>e;l9MAJiv+opK2H$TXodClYz&&AYf}Qb`OxX3E z38S$c_?cf15i>&=UD$_ddJPQD2p7@^ANLgYHX0kaF1-!GQMf(jC){>DuCH*rXzWzr z)Vvx|4%R%iP!1N!!BTRtq#UfswOp%b2T=rIPs51kFaEv+IBHG(W97*GI-eBYSX%?Z zbS~R<7>!4x4x@31NrJJ6opQ^07W{4E)L$@yJ5q?zdRG2O{zNgT5vC0b?3>I)QvU28 zls|A${-TXLO8Fk1#(mlXUMl)Y30Fn;AC=!#;dW>>xUPq}Qs}g+l&|pmsNq(bq|Ymx zaLQgEx6xq$^>il~f}gv>x{2Or;+8}>HlZDuX0y-nvGfSVm6)bYHjop7U6~WaFL7El z{qB)#zLF&Ztn^MJiA-&`I_%*i?%P1+G+O28dZy<5syw`=DxiT8;D6 zx*nkMCdVir?)c*J2|b;k7e3uuul-Vm6jLhm4q8&#QpNOcu4k>PQ&{6_%>kW5QDGp@ z0>KtVz_(#L4p%YNwzkt5JHnS1jk7OaY6FZ#$BVPX_aK6<1`_( z6GA&6J^>$OpM#IWf$^Rlx9*y30T=bg>(@V>{MX zvtbyP=+bM$*xYo|7Y>#H;08eH8$k6dz~V3YTV4ZLUSn*Bv9~dgVz$Q<9c(NM=yMDym$sjs@m%?Y<-eK5k zCAERtlf1pKEz5Cm8@8;C@m_eRxD{BoO8|F-wE(q*j}l?$R|f1I)I2wF^C6;V8}`m? ztvJ301}B8`>4T5z3VRccD$YwU+h8eNL-`4}l8@U`xOFsEGjOV3wMZkgADc)clW1fr z8kv$tW?-AP*{FFz08s1r0Z(82eF1P->bO1SNd0;|Y52;eIS@>bWjPO{#j%oy(PCH? z7>dqxN#iWyw}4%hQZ7csju=uYJ(>PU`b1+;Axs&DSQn{a!Tj$0%x~J0Q%Eu2!QHq^ zOMvRXX8wkl23D&y8=Tkulqs~^Sz147ICF%XjCY-V_w=3wV0M&FRR78Ak3u_*} zcg5+7a4dp5&`G*SVNZGly4Gnez6_3Flg{-7E7xnB+8nJ)Bin!_wx1A{BVh4jK#ZH;}1$_}o}lrA_LccSft zJE+E;YTOYjhb1^YuX`kjJ4e5Ib^h*Y=u06ah5HVI+$O|J(wc*T(*Z zHWYR4J+Mq9r&Z-n~=J@U6)ITsBJ7P$q_Ga}Z#fW^6 z5T*{7*lsg7nfa5=ncs1d{wz!8dw3d8X$yGGm?y=ilIA}$zop$B(rR#B&kCl{X_qly z}ez!kBLj$O#JE6hxdCb}-e4p^WiEtF=4vh23EWS_{X531oX_H&X z368GH35qYpbSdWDqt<*cOBk&APCex*K+LUb>hK$t?NyAe=UV2FaKf#vGHtWU>~Vm8 z;89aSFUvK$r;czwC^%1@1m+M%!@5H@B~8bbYxM|tBAI6Bvx{W_e=~>D^e@OZ#uN79D0Eo3Ed6Ka>irT R)Zr&8l{;Vab+o-~{0n|G?u!5b diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-largeinteger-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-largeinteger-l1-1-0.a deleted file mode 100644 index 2def2c8644530a8762d386df6b2b4712e6141acf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2682 zcmcgu!EVz)5S_#=g{TNB^}x|cAaTIPt`aAeA{40{xFF>KS2j-UBvzfIvR#@3hn_h1 z#P{?g_#Vp4csE%$HqE6O$=>novuF3s%#L4o{bV%#*!W-;#cjEs>pAVywrM&%rQc2S zq}h=#3>pBi2T<$c-~b%_rb~!3A-<(yl8Szqg^4&@1fjT!=Ke(_(75b)!fT2+8qy{0 zi+MO&B%vV8EG4wy=h#msVKmRe34SPcg)1E43;fnB1ThW$;L)AIm&^E5^aF&5W*0&} z1XsyunAr=(T@`1p<9MEDn%-$^#aZy{3DO48tpU7XZ6E9`TxP6S-%RKa?7+|bY6#Et zpnq!*)ARutToW#$558$C>{C?sa9z6ez)`rCvJ>vG8rN31cc>hf;MBYtG3?eXwJ_`! zh27G_ZpE(UT8?|F<$_|*BpBQ9n&1F?a=hJ(f|0=Vc1{0huI}3IK z?NlTWWpcgl7^_Y|F>Io<@0wp&;|iUngP3VKZdGNpj~-%@a-65uMLc|#7-hp9-`>5Y zr<i9Q?S6(gongQq($Sp?%kWz;wYK7mL9Tn3*jGe-; diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-0.a deleted file mode 100644 index e390a2c91289c31596971018eb79e3e7968d47f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25994 zcmeHP&2QX96o1*IU!kR6=@%4Os#Yq{EZ&fAQdFugO+%3ajoLyBs^siuon)!A8|`jN z+5@Ukg%IkYLI`o-h!6+8;j4u}JP0)GSt%6l^&&)6O(v)jax6^}Bu^WIy}*Za+z znKzzS&sSQr3l|38%m+j9Y_U`;QWsMmbHSQ;zwU(5^wzW%rE-b+-9d@e`0Wgu?k-3p2LQ@k-Quc)tAhyfWj5nrYZ?>U|6R&%yotF@fA zsGSfI|NWp@TXvl*l}62VL~0Roh#>Q&VMItGe;P)J6eG#X!t*&i z6nU#;Otu^+)D{5}{o_?>xly~kQt#YYXdx85W{qVljHoC~)*GJoTy515V6Kpf&`DC{ zPgZ)EdbzQ@D5P%OTXNb`RLjy3MIC8bDv>Hb=KVfPBd>eECtn6teyY-#U#`r@r4eAq z{7#pa^1Cuj)Z3M+>+q)Zn)g!0bp=S``3NRW2NI^%=BsnnPN6C6S)3g!T2`rq7HrJo zb}gTu8LWM^9ZeZpjXr?A>}eYmI?f6joK-^}re_MZN~f}_6uuXxpA@RtAFL4`kX)T! zcyd&T?!<=y%$FK2f+gh63OdQ{j+Yw~a%b>iNFyis;*O?jc(FZ)v&9Ys$sV{ zJThz*YOYK2g*ogYydVDe6kxt@u5w2ZJi1z+lze|E4Tese`uk#KSly9^^!L3Me2MoTr9pvYa?rqQa-#&M_Y3BFKVBT+!#73mOV}3s zr~ojq*?K?1vVoT&$_?i0sHZ2?);hfx^6FiY^Kqo|#WTr?=kR?u68eFz)Fbq>`q{&t zOtgKWK_fUGnC8G-XJNT9;VWI7GCzJxP zPJlfT+6~_xP%DmNVslEmAmsw~WgKOe^m0DVs2pTR@9X7CB3}pa;fg0CXjtMW zPfyW*j~`2#d^#SUt00RskkaH@xeK4TR&x!;e_5~GA4OZ#+JIVz%(j4s09IR+0=|da z7HKyGh1Ea+H>|AG@;pa8hX7P)j+=w{M1lGPPC3o~=a(E%C4?qo+SyrBXk)g9VPMP* z1EcB~i(}vs7Jn@a)D+!G5(5n--PJI#qL+(c;7h%nkAdUZzTINrMTnh?ry2_{d73Y= zaNeWPEeAj0HMZm)D&kfllE+8M3?Cz-%2 zc!bwLX*mLdq{MZ9)KK@;c{#TQneLzTbsrrwUF-f)w(c){27HX2*0};I0O-HUF(l^RZQUr|z%VcHQguqWMP@T_|H7(mYGQN=jV!i)Ol?t&fuG$LfAB>!XL5 z?)%#jZqobH-1D2Pj|O&SsKXwm8j|n-tqcQE-HwcWHo`|R6vO}xezq0{)B%u>flU|# z70+cD*dz=b4DUnR0vNy@Xlw4gOWY0=O?}1QmRhzagRlK$zGAudGlcrv?Yidy!a#7J zWvcDKA*=%ma{cEFC$MV{zQcQ@#C$#wB_};6C>r{UGk+Ls&A9n+FaEIoVXdHjsuWT`{5 z28EIMILXk1oZ(^J@vtX~hpjbE5^5i@4hkc2JY;@lO}`(RH*CZ{y4?`?NHx`CBon`K zptRf~1WAeOzM)?^`{rO(ThPll2hTCx_nb+=Z?aR31CwtKl&{KzC6}1cR!s7~21B2- zmF+Xt*bsm2(93SSK@}hP@-)w%O?KNUm=LEZ$TJ&~-)(1^dYZ>0U)y9}wrBIQ?b4j9 zk!J0ul>-XW%U0k7cFn=}csD;uByk&HnfjZf`%W_?NF?;K_iiWC3$gE%JK55V1X@d` zAd&DoC$MV{zQud^OdM}W6h1#E>6wCM>TQnNgY4@|iGrip!rkt=*bz8a$Uhe;)gz)~ zp599&_zMom$pIccr!O^!gL+_+Um?j`22+o7h6!r!kZ0PT9rS{U?KcwvX5I#vg-6Ja#zeTvj91js{LMZqj8QR{D diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-1.a deleted file mode 100644 index 7e32220f0f917d15a90f7e872cadbf32d63c5580..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4338 zcmeHK&2G~`5T3*-g{T!j>Vcz?3KCKs?2x!QAk?Z7;?P5dgy6PyYqyE&B*jjl+ zp&mH$FntQ1gaZdenVI$4>(o|@5JrfuQtbTl6IQ@hI3HM}Z*BFebF%cSJ;9^gbMWKK?0mL|Zt*6Zo@X z0HPmw{+}NW)^YT8IgwW +8Daw_d*^?d&-JR6Ms7ePEeh_(augS^gvvl~rX<8*7v z_QbJm*L6*E*_L}`nww4k_!@2tz)B6^CQCEWngoXvmdh&>Ha1(nH}T3L+_M53r>(6x zz5oVCgd5Ng7dr}zWPt|GOD`*6D_mFU2{%`cTUNLw6c!3_s$aE8BWoC2NF$4AWaVgN zg^ty>oR%Mkgm3K(!XWwZ#~HwGZO7YFibSv5lZH2@=0Gsrmi01>W=Eq8quH>*7_v^j zBz9)|&0v>NE5)$wh#^MpVg4t{8;wDQFm)JVU7ZIL@B6>N`<~NIW0B&$i+gd4766UE z&HFY_1FHp^4bJOs!V}u-BHk;!-fFnikMw>e6Hdv~?Hno$pqe6r!S7P~>M6eU`BQb;5UQOt3GRUoanNagjzSDo0t~ zNb>>hVh0D?(#C}hm&-3b#DvAT)X!)glt++PYqR9Uf4^Go6 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-2.a deleted file mode 100644 index c03ba146368c0285adb8b7e382320cb6d133dc89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2758 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-l1-2-0.a deleted file mode 100644 index ec19275b0dbb543aa6720e6b1980f4d086875076..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50704 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 K??7wHyvAR0Sl!P6 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-l1-2-2.a deleted file mode 100644 index e01b733eadee5dd095d462e2c596f4272d43f45b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3614 zcmdT{!EVz)5S_$NYAHjEU?2$4v>y0xZF_0SOCH!R1Hg5F!Z(1@7l65+>RUbsD4z?lF2vhN4kEE7V>uA({gxCT zf}X!02n-&sc*3iTFxa7Q67ToqZhs&JVY(5a1z(5#T|W$t{5a_MMCghdetdzy)s-MR z(r^9s!C-U!<;I)-CQU@X;&DaL-4~hga~Z$>7{#)?A=~~z7-ycC0BFfb?!?u;-ji{A z;X01z;Wl`y%fr2Bo#0lWtrY-nvv&=uu{?~~AK%!pwOwubu|FQdcbc$uR^5rBD`0R; zxPX4}QC(wipi{zmnbrhH!inV&5j(5`WiD$p1{qMb+pJJWN1#Z~8#ZEu$~=RMquJG1~O{cFzG zcpBI&&}?vC_Y$7aUgvRMfCbdjX<%`FZm~BF+dF);A{>pG z1MRqT(A!fH=G#c7X^}Hf1ZP(%g7Ql_P0c)Y)SNRKVX$U9^`ugOWLfMN;Rp6JDk?LR z8LKRE&|H?Dh$IMkS|Vt!%9UGlyJRAmKk}i$=hwRAou4hK_IsMpVOVrJYwZ zQZvN2J&Y*T+(nO!P6HKLBi0OwAYYNE;4swu*E RbSA7`sbdmgHvjCDe*;Y(aZmsN diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-l2-1-0.a deleted file mode 100644 index 7bb9faedf2c9332c77c98179772d6234cd00bdf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11926 zcmeHNTW=dh6h5(&v@tfHLJ09^`Xl%iJo8LBXJ#)mJ8Ng_!lFex>g;UJe4fjh^UXOk+Yfe}$w~j? z+DC?(tS!s7Y_q*>8V3HuBtH$K(`p4jII01_I{?*Z0P9ZyHvSNK^G^WEmsUl7^9lgv zEANSX?Ir-_cXvd7|1JRK5ATV5qX$6w=BdcHo&el>!q^^TUrpV~lpVOfJ7Ig{uFJj~ zjGWT}L*cArGrPrxgJa5pd^~bb#uJwj#+wqF@xO=T6K6Ph8>S{32%I)2&+6mbH#KatDI*4SAj#h@D!m+CRt=B#F8{?3V^LS{Prfu7X zVQ+6mJna6kj#LELSpj&1zpX*TcV|9-pZ_r6;Hc4cd}ls{*X+W<^TzRXdJYU86K+5a zUT=lii}DY&pcERphcZ(2vn*NO6Vnez2vvu@SR zMt3-bMsF~5gCG6%0^t5i&v_6E0=cY9>bjcfpJ1{cEAudt4y*GplKyZ5#lA>0Y6^7B zb+?993ou-7WF6HN(wv^C4@!iofQQfAcG?=Z`F?hr?^wbY8OBj9w0RrX;u1{&R{v|8 zZ}MT_<1&o~$8|NZ6I$yun-B4FDd8dx$@Sqo;llT1xru@*(35t9D%a2J{4I;M_qiKH zI3{j6(DVCeqX$C5?M=}%O)>{YaP104kbX(0agui(F=mY;92{CZmBdnjU|RgW0>5LK zQvi?~%{a@ZrfFIhr`ma*rERq(&vJol<|!^Rg?ni%qy6bN)_)yXI~4|)89fVn0%=#I z9@5g|*keSVfYz{uo%N)CA;u}5rGuE$bX>$Tn#V3;9;M^#a9m`4p9PpuhBJQt;s*Wo z45MK^y_OR1k^NDh!X`KHP1v-sUuq+;WXY3Lw^iNOfUHCASs<`~t}W^Te@`9O z*MPzrK37_KF(NTS0P0<^2E%!tXg3g&Mj)Z00zczZk7VaXxH&OS_#4gyGaD0{cQhva zh)Ot*2}gl-P?0ASzLEM}!~{Pbr!nFCbX>#)vVxaoLXGS~J&7D*Gu(=b%7(XT0+?bp zm_opx75D|qlvzh~NU9@uKA77X`5>P;gl8!EaQ&6|u%TN9o(7A}hpU10$9#xFV?MKA z)A$e_k2R)HO+J@0v4=1_*%)Ezj3{HJm=VjwN*DEesX}{)w=_1~4kT1m;3s_2ZBdq+ zxcqt0&d7uE%s{It0;cG8EAkA>@ZdtyDsUhCzn>WrJcxWkiad9ZU}s}OQ)faMBgGzp zVuP1GGputaXde#>&4z2VU0{l1r0DpC(hB^BPqKP#*5cHVUX?p1wz6@ejFM=n|55L- z#;rs8nuVw6B729dQIay_m$4blap{nx%qv&GuApb&y;a%V&{8zahZZwo!d zGUw5D zr6R{lS$%_S^=h!B)#T2ItY4$co25mJSmtI)+_9(@K;cr68Ikp7Nt<=Li`bv#7%%+| DcL~ic diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-obsolete-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-localization-obsolete-l1-2-0.a deleted file mode 100644 index 29c100c707c14495e6d199523739f709266ab374..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8790 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 IxNs)?3uq-##Q*>R diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-1.a deleted file mode 100644 index 0140955402c19dc458933518aa85907892e6b5fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15368 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 UgOv*Wf_19>XTAk^{LgIv2Nd?M@Bjb+ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-3.a deleted file mode 100644 index e5eec8c73f18065cb8352550e73b6f45400bd437..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5276 zcmeHLOK;Oa5S}J2lu{m*DpY|429+BLcAC1WgixwVRWFE0K*eoqVmC2$9@s7|5<(S+ ziUWsA91utTNss&*egb7?*N=5$r^z8fl~~og>)Fqq_3ZcUY zrmGcIRTTWgBG-yiE?0sFwr2nUuiPZStd)4M5j*Q(SXL0CPu-tuyw@vs{nW zEZ=h3ddIZbzTGyuHbdh!GYIWQX%+Z*}mYBit zEiDUJ(=yBvx`8d*_4f>?=5~Cm?r*rA)>^jYr{WVMFDxJ5UAH`M z%W!OS-Ef?jhTE`wFL2Ta@VslaH*CjxW^}uDyODI3F=)QqfA1GN5e2f=UQ<Yx0=4a;Y4}DqgpX9Ac2a!fdFR03kZ?A=aIqX> zr?E4M^O8#y)DX8E+6gzCjavzEi`bb@!G+^ti!?2?yaLj+Kr}4~nid?bpcR&irsE*6 zxPyxnJn-ifpfRyy?1qNGF2|AF=Fj*hm>k1g7DkF+J_{qo4uy=qC@RSk#Fxiy3Wxe& zc+7|y`H2U~mjrj@g9>4C(7<{OJHreyy*UKaS61U)E@Zlnt8kO14wL_y=_Ni5tmbJp zIIo3(A+*YAOb_vLE8!yL$m3z3aAE&!JBx-qP)&P4p2z1J?+wE9Cf~LZj)ijucKqgE zdskRE(-M)Uj~s&*cyxspD83ZaxX62rm~)RhI5^}vwWLn~S>!qRg_e;gtT9N7l;x>d zmV~^{%ONYJB`Jqo=8^e=3rmNIG-c6l^a#hd1BO$hfI46f!98Ev1Ia^LIgE2dwCB^h zmC@N-$uGpXL=K@G=%?c%Wzlz35%Vb>r-$=ez|LlX32perC#MhT?)W&i#l3vS$%J@E zegzk=U{7#a@Rptr7%b&&a-HwZE+EH|=Mo5b&m%@2@F|f?;ye*rcoY(9;onQEFJ>fW z2teM2T5e;H3he^I5`~CczGIz!=IVDI8@b|mrr~-h4X6ig^}il)Ed}MHGg`FRw{UD& zJ>)`WBu>|YM;BEOv@cMJ^$;Bb(3*p9SP%DWV~kqR2Gl}X>(Rn7663tw&=ln192#eC za3#O}a>K`TTu*K|O2&T&iHbnjI6D z8@TWrJ@QqQnO$$PZtOH1l9jSMo_+T0zJ0Tk*YDlr-2c#crx%;uwjJBCI=!B*TYO6G zb-meb<}aK!0AL58_8o^4fW2SzW9*o*uc?=$Y~W>H!j9vi$9@D8_cCDUyy`m4X|XUk zqhIciC*FCSc#JSnN@&KPBQJ`RYZltfW-aD2{7U2j^F4RC!7%V;>Lu6Tf+U-|;b*>t zPm@ucL~a(u6JRWeF4=0#aO|g<8PCbBV%4@R$8mJs>9*&r4sV|zu>jo~zzc5ef|+?& z8MmuD9R{c7(9PUx2%qW0;Lbct(??)%L%4uGc+`^Er)ccpy42POOXAwnPq_VRTu0)L z&^Rc;$$2@VFpMZQP#6XY!w|wSLff#7mN^VV1e&8D^zs+}-UEzlBlki&a=*$Wh1DL! zCYZ`$y$Yl7r&VDT?l4U-7O_%nIlr8@U7T8h;hd2&wAx|uBl#1>phlQFjIrNBE;dN% z{(mUF)9WrN-N93MNlVA;L_HzyD(N<;^rj4VK&!!Zy~-6rr(C9ViC0GjH_se(UfP6{ z_QP=>9U4$icYwzEdCskMbnf$u65-gmW?+>0)5(SKaHSQPrcG`k7dX2j7l>ctbkWqi zMyz=$J2+VCoJPt|05!?$@CQ8`FA-ZvEy}Faq9)Sou^Q58b(GB7FjFcRrn43xg#}Tv*@=HH2#5&vM*6vuGcE#N3wS z9JwwXjguTBeYoSh`#1D7n=O2*wYtue{wTiCd@ehtM;_Uzc diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-5.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-memory-l1-1-5.a deleted file mode 100644 index 3231b19a4db8dc5d5d17d7367aca68051102e553..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3528 zcmdT{O>fgc5S_#+g{TM)<>P2jxz)igiIYkQRjP!z0KJqG($;O9#%-KLv8%QmP!9-k zK`Q?TRXy^nC^NI(cvIW7JtT;cvb&yr_U_KUx3hWj(i`n`Usa!*ljbxW*KzG;t7V!t zcj={RzOb=_ZL10Zw*X2<0F`Zk`JeJvJp-to39&B3X5^0|vEj%5NURUqzBml}-Y^j8 zJZibZt&3i;O~1rH==(c^kuL}nMuZmp9Qxs4bS!#~a706R0>2XaAiBQSp5idD*$=(p zhrmC4-+3MM{1p%)2!|r$eygM29fY1j=5(}=kHfe&7>B(m-i~d%u4|fZt1*su`zwYU ztyKcJ$E`W2#r{#u?c&0OjjdYSi@jn9_pHIjd2Kt2u7JS_;R5>LQe9zhW21ue(rpcF zg=;83;TDQHIiC>Q+4QpH)n_zkj%S9M1ent^Si(Q2=6qQL!;>&TH!!Dy#h~bzKGmO&H$&VyY zGzJ-A%CL*&4AfaArgv|^^yX@MvM8pzxC{4b>QMRDOkd$?V6jNE!FfGS7(%<8$8?3) zYYjJ6j^3}@gj4Oy^#VE!ppwo2gX43TTi4-vmyb?_qcLZo6L$~#`_jWqn}{?mat2!9 z=t?b6d?}`>>1U0cb4DEuRy?Pg^a-GgybQn4Gxek~18I@6A{)(-^13RAH0@O_hs<+i zzTn1E0?$(xoixkX|1n`WRVLWi%prK@YiA&hkY^`pZWy2Wv~P7BtfP$!DQ+T%P!1gC zKfzR!V0jjsQ{;$QNTA`{8b9rN?1YFEETY)jr%tR#QC_40zT*C w#tL|d>$|A}0CKLk_#I-;|EhvVICrvC1-5i>S%x22=d4=lAg^QEe^IJ`0BC_r-2eap diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-ansi-l1-1-0.a deleted file mode 100644 index 6660b2951f926d3846eba181b7dd1fd05eac1113..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4514 zcmdT{%Wl&^6uo(rM<@?L7c4+Bs7MImV3*X*qC$l%s92y#2(dw$y0t@09Vd!i8nLPn zVu4r`iC^Fg_(N^i|!^ z4Q;Kxswf&Cl50h2>7uVFTMYoX08se@Q2&kQGx1#71fb{2dwLk_F!tKF$3E-YfjwrO zp=Gmu$1_I`L+7MzFr&p>XPchTKlJRK;n-$`8Tf=|yziL<+Zs6|9PxaIxjNIC#!QB9 z8`!}5wrQ0x9lSA};3X}ki%WS5j5&i5n{qz46Ue6NS+4ymFoPIfI4lozT*vl;&Tuf= z!^qK$(PXnw*8XH1G>7r#7VWC8X@+4a%9^H!G}vlbU(Vsi0&G+Ou5xPunt?qDxLsT+ z(A{cUW?&XW_{auykDA-QKLZ8_gmdVH%dH5Dbb~ssOD-FrMYz?-Pq@Wm+**Wth{jS5 zE*g(oB%(U-RV1QHL{wuUszgN9)m2^9nwIP051Kv4wZk9&JqCDJ>6yEcBlOGhr0Hu@ zYao~$%W4ruies$^BgL@JF%+G23FFM;w}3;nN+E{Fju=v_JV?JJ?9m)l2vdb2)+L?+ z4Pt)(6wGhytqk)G+>LAW2~hvv%wOTlz-ozBgX_8(GKF?KkNFW^ZY5l-BzZit2^ZPZ z?IJpAKsB8SH6EYK+?t2)eSSbA91G_T^n(7Lw<|oHaj8htN0y)o9$ldciZ8`9De~DP z)|^oZ2SNNK)?WktwsW{%MxOG-P>!}A$8nywLfN~06# zA&$Qd8BdJ@+MGECbAog>(hPa!AjutZPN02k;bc8&UPy4M9MeY3C?6LqjlP3&>BoGW z5v}Vw8k->|^5GXB9p9tg;bG!Stm^b#1c!)&G^gO@MYII31&6U4Dln6SvKa^D81noA zp$2%gXogzkNpeTz;SoqFhkq;WyjYP~A>JU-Bb0LkEh=;(2+w`q7gZI$qcL^S%DsJ+ zb`|9LhO0oIQw1&grX^JH4FfPs1(w8~GF9M7^PZ%FNj@&4f=~IlSOvFmhfk}53dr~2 z)NT7rtKoLY{X`Axp@*6({KUHO%Y`nAhs*l2lqf`-Qz1q+Py9gE%uni-hR+d6u1hRt3MU|$T Ef3B?%!2kdN diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-ansi-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-ansi-l1-1-1.a deleted file mode 100644 index 38ab3fbdcc9a8e7a1e84e8002e7975c59b4e5d46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2746 zcmcgu!EVz)5S_#=g{TMwJ#aJ^?*2+ zf8hiA8GH?8-mW)UCpIkyvQc)&v(K5`w{Ldx_*F1H9=>k8u#3$*@O;mA+b`R;?aC>$ zx9vT@lfQ7-AfgSTTAzn^L|Z@c6{07^hb)?Aq94tospyTvNSwx_U=j;GM+F zkPvY?5lhZ6KK(Llj^}h%@#wj(@B6mhcD*@|;rCliB~iCVbWd8F)SN|UGig_MHuVpi zVK57-A#$cm{mbT2mR$p*bKqk9;FFfd-ezNi*JZXYxf*w%{lINkP`fiD#Eq@=5)`;W@s)8Tfo8eZ3HNU^e_bI#C{}xB}DI$h6EwQ|WeXjq&!4Oxu$5eB*;g;V#QG+)}$d|1noQ z2AkX)))=k{#@&brW$k=XJLWY3=h)(410yaiaD^JvVa%i)H_tTe1GV&PInLMXdcelp z9HV`_~o!Gb^q>eFdNR{H294vL$mREKO#h^md9*Q9?$)T`bTkA-%v=Y*~ zH6;`if+-;fQ%X*yr=I%*dde^8FDX6b*hACzosZp-c2>J8bc>1yc4qX>vpX~IJkPxQ zp&Pf{{z3D@h4)Lt$=bAR%QkD<8>N!Tn$)~hs#UAvguMj-SOzGr0nA+kn19HRMJ(xf z?GZn&{0KnD)o1)z`4xbUw|?ix^*;gVxbX)+R$l0Q= z>z42KS`Hddwrt0)I_=gz9m3xAy@PJwa|qKJ5ZYnCeYfK^daa)4v@OSSOviQbLLCpB zrsp>P-JamC+X_CT0qo)c?tjpoQC?SH8|+{ zxPs9HMc2BPdf&sLl1l|hG4N_Q4LN|AxvuXnW^Nqc?+2A`D3v6QSf**)cBy1av)EKDBx0D~ zh#kekyTca|zo-vNgfZX&=K1W3#P{X|eBUyom>~IX<2t-fgNK>_n(ymu7?>^5XmDIB zf+MufI=)N1S}M3uKWe+I6HeAg%SAL4fpXdjip)Q+uv!+TH%TUlro>nShe7k$KjId~ zwINT_By&&$^Db8d`ImeeC3VN)V~**AfhE(aB!vPrS2aaHXdXL=`9_bk<+!e3<+i{`8_xLoOSY|^pGUT+Ha~h_hE2pg>XWl^ z9&4P;t>W^AF_A?g89r_)I(8PqF5m<%mYJuVRNOG=Of}H1fWTCy}W@n zO0*Af%T4y1X9hgQ%E(Qp_D(bpl~H_Q{NKvRe@l%o7yK7Y3i(g_?xg&`4Dn}+Y3Bd3 zV0*;>im*^&!1tKPXUrv_vFGqy7^TxmVpXqTS^RMH|PRjgQ z81t$VuQ$y~c$+a^Rl<(2P+`E&n2(t~m&G_ho*JoU)W~N1>G=obO`1m3-8WB-B<$v~ zr)P?Alz0)owT)@yi5?ef&eSyd;W3JVnm{DOI!2e?>LQF$t6 zBco#0)e=n4UD6D4%Qb{As?Y z;$L-D6_jvBG8ym~tIBLS`Bg)noVT)ZzGlTEz{MAbi1SOhrjv5MAXuRMFJY>Ae^pRC z+Wprg>9I6`KD)&Ja-p(caYU|fmCOqb&_eN>oaE<*w6AXeL<7i((f{21|1~f=W1)eV IIfpp#Hx*W{MF0Q* diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-l1-2-1.a deleted file mode 100644 index a15a95b094862b3eb7b388a25b85a7eab9a09a64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3578 zcmdT{&2G~`5T3*-g{TM)MdARGkwD^52RlvOAXTVR50ndvgb){`ty^!1spCYkt5!W# z2=#zC^bvTJJ^>HFp^rkD+4ax5w)=Cyh?TOtp8f3Eo&CO@&671}wljLwexc`!wPM+p zZLaqFx^9Xgwbu3Jt{uOy)dqlD0F7?|twVtMU-H*J18AQyw!zr@kk3Lk;1Qp(jfu9PZ!^2cd~ch6v3(Nooym+d!i+;gGw~caWA0A9DQCXLy3Aq@!w-!)un~9M zzv~HJ^XM)4AE5s?!EgeMdE+T7m{r536SzKq7da9CP=e15yLY1%dh z-+tLmcfdWy4ZyP20JtZ5bI^(SK_vRsl@5cgj_X8DHAIZ8!{D^D9fnuH;D~S@eeh{7 z!QRGB3+JVlbubg$N@6G6LN#tR!9B;$VhJu8Pg*38F%AtRk3r-yQt}wSWpoXzPH<<`h-jR7uy9iXh1cc1e%D?UD3M^(?{YwMK~708W={SyjNf0J9Sm|;MTp~xo?GhalDJm6b0pJcfrv4{xd^diXNWgDv`D=? zz#bJk2c%_5Jj<#H6a@ADbJ;zq4y93!5gIVBse$F}R_h*14SdJtU!?&z<^?r%Y9LVj zUZ#PAa$G?JU&?W*1|H%1ZmNMiBXU>X|5^)=CFvC{ti={;n(zZ_RSUV57ymothimvh F^9Q|(VqpLP diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namedpipe-l1-2-2.a deleted file mode 100644 index c431e08fd1f3698d089385a128a67a3907422fc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2710 zcmcgu&2G~`5T3*>g{lYyJ#aJBC99YDI@P0kPFi4V*w1E+B;4?55 zPv&gN7zXh;vu6c~P3*ajNc2?RK30Xz}fCfFH2&4k`Om@qoD!ypTq zA!20!qig#pO>cq0IpJb@;H!?pK15{$_od4K9EIyDJK=VkaXp3GLuI!Hr`FYs0bos1 z3j@HS0I-SxuoBnuEYA*;gs}EFPI!LPpBsR$t#NRo47pwBl3W{0{t2e@*lxmT92!j+ zjXz8Y^hL~6CFfXhw~0&tzzE(bI*iuq>O=A?@n5LIpLpBI@Wi}AM#Azvd#gThn$qxZmkxnyZ zC_p4eIke$7D(mP5>&vgyA(2UTTR-VJWj78lw*)B{c)Zk_>+*}L(i>d=lE*nsCOCKO zCs_ZrT1X!1!7o-<`+s_rJwW>Gq1-L`9<$BK+IV^4!=gEJj3Zjj!`yz zrGjeOJb{Nn(6#WG9$QNvp2fR!6 zld@MRi(sIVFXCP4~Et diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namespace-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-namespace-ansi-l1-1-0.a deleted file mode 100644 index 70d421d3a9a2d75482564196899c42e112433a53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4510 zcmeHK%Wl*#6ut8(kD)vkT~r96Ai)MTL()#u7NM%NELg#8*s$@W6PF2{$&8W|1{SDd zfmpEUAFyD-Z}c-*@hOyh?KttYNju#HRl-ti=lVFdug~#y?mcnCZg0Ku$e2v_vhCQ8 zwX)VS3`;cWxnZ{Z0Wh_!jlL$)>a zID790?#O3o9IraeX|cY)O;2JU2E02AIU~#Rpn=)ZGg{zA>@DKO>_Ml8Q=E93|+>QmGz?VH2Bz;nY7&v?`g{ZTv& z)mX*t-tKrDH;3uw7VWBSS&riv#)@SpH0U(EFPCs*0X8ZCH$`m*nlT^8qF$UC(C#!n zH+G95qGbcxht2IMIs*p#g!Acx_ge~!bb~t1OHUhMDcrKM6K=K`x1w+hSeeVgsdiN& z5zRqlA`wj@qL~uWBqEx9+q6xq>Gk{Ap}FJtdD8LE5x|?uj=QT2iCy<64PQGp2ZHIo ztQKK3Kh}ycnh)y&L*AK8iJyi4X0WMNDZ~ih5kqQ~hm#*k-e?R;gsH+1^AgX11~I>P z4(6}gc+iQIG2g-6xJ65V`oCuWqL>C|b2J;A*L=bh+U-2%E4*H6xKv4cyQ&jT)sL66 zXs7|@bSBhE>#+>gJS8Ye4L}^ zHIJ3&2}ap)#fL`^=RAy zmqQVOgf8r9b+M*JAgPOQ=#H~=;U!$5qD)-`+PJ6bVw{gVp^MM?xOCHr59ifI1&Z#} zl2aE|8+Xtblrn8RmIjem;RlvQE0^jhY%S~ODbt5Fr9N6q|Mh|UDrJ)X>!kW1PMlXC kiY0mfmKQm8+!Z>|^|78sPpp`>6!|EQ2cDc!B)tYtfx;Kn|rm)6jhKrUn18h1C@T`iK* zx)4IhA@tCL>9L0pNs?*=+M6uFau5cgzp@s1o-c;X+Vhszr+}3J+F87IxX7ze|^rCnLU> zq?{3Em=T(Z`%yIH**MzcY!I-3`7C1iq9F&?<5B$oYJ%^_e6*eRe~EJbou0=HV5~nJ zGyB*UAK;R&C3i+~l>WBGv%R!G&XZI<E0 z;`oPew|-2j+SFrH0CAM;@8+FEd!)+~1K$tB(DTBzCFQz13-QCZ&=~>N8|ZVQHxHeh zALOF%t~}V@>BLbUxgla?1Gb-bcC+jV7~CgZpI&&WtFdRXGl%ms%Le!wx2)xaJLkr& zXxtarxnRNRaor+G+QY1kBxw^#+6774gP{Z2d>5Vo`5A8_^1v*!RmH}<33TA<{n zElG9jCH(|5?bvi-3>&sw7{h*Z0z;OWEXu~hcJnyYYB({%ZsZ-U#^;kSQFo++3SpXX z3+sAflkoT6?Eb#$cPsuL;&;F>i)HS0`}>lZ238knHaM?E7;(AEh(FK}M=>H+UP4Wsj2Ibur!nHdj;k=@fgM+T?vHSN z$7RGEIJfu0n@%b#K1N$mDOs^D1)^@kV{Dx(m&9-n*Kmp}xp8?$ZkW35E0@%8j@HVIr5TyATG>aPGNWY1t7MI) z@{j6&l^Z8IYkZ=3P%`7{1T+3Fm|O&Rt2?PfbdRG>89ifnUgs$zHS|t9W!$ynDyNKxc3i;- qijl|NNdZjx(T?vs$;|jv#1C^fwV@=`G~o%>Q&unOF%3`yM_vGN;=()t diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-normalization-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-normalization-l1-1-0.a deleted file mode 100644 index 311a01c526d8f44ea0d2d442eb8b587ba0d91b07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6054 zcmeHL%Wl&^6uog;9_5Y7YZoLy0yV)d!DN9DQWwxoRjGhjAWhxcX$*-I*``1js0)M; z3xp607Km@@SMWKMduPV>IG(i00;5VD#WUmU<9XaUXYM#x?>pgo=fTYFT0U8KE!(oq zmTA^%_`{^;wOZ4*AoPp2K__k#;yUDu#8eP)f54`n$=rO|dB0@8MAN0eX)AhHU*zX6d zYcY$N%wgDA&jZ%+9QWV%2G6|EZ@*hv5B)(L0b_n|!1A^wIZSUQ4*g(5Vur1YQEG8> zK+S_iH+a%t!dVVNZ}2qm*U^cxS?!}oUM!l-53^u)U%%Om8~v0Nqu5}XrcFe+M>OGS zb;kX81PKA~umW&~*QTKndvB2nd!`yJuQpsKcJ@SJyRf{|Sc{^4V6aU%pBlW@Ot8nW zGKJ$((?c*5+}*@ZxRaxC_Y&M3R%SK0-9U23{R9_mSFp3|mqcDmOr#ObZlTXsm+<(*fs9G6` z;l3k=R4X_0jmSIdgA!p32rw^iuOQxcCg6R`nlJF)#2=XuaG)wBvBgS0N2nQ!@r;=0(z&8P2Bg=2Bl@-Ct)mda>Y6`LK zA78T5hWqg-_s%vhGaWs2I-}iZ4xc}le5axY=9uvXIPf-u}mWV4^%t$PJ_BqY)dD5zj5s483Q13!B z=dnhK_5xwK!S6+8z!$9K&tkgsSy?)xD8t!*XH526O(n_*_J6?1@5lZZk`Yvt$^N#| z?_TU5=y3)1Z|QL<`)TzjWq%dYQ?@*03+5bD1yBT{lqukrF!0=fZ&(h`SZJVNE$MqH zRl)q2Dwr>-;1e=qKNYMh>?u5m$Ip6&RrTsKj;-axA#S z8LukAlol!s_<^}*){fnt=O_*b9!YY0z9G;XiP0%S}QcVC9{vJHgdbof-pp@xhP8fJ@ Qz;`SQGZtDXnoH8bUqrzD?EnA( diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-path-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-path-l1-1-0.a deleted file mode 100644 index 888789a1b333575add8b3693e59e9ad84041f7fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20070 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-perfcounters-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-perfcounters-l1-1-0.a deleted file mode 100644 index cd52aa5b8252a8299ff94a3e5397b300e1e7c2e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13982 zcmeI3&2Jk;6u@8BNzPn$tvMM<(6fDc+1%;hF0K5V)eGD-B03iP-kMn;4 zP<&yU$AxDBD4u(p#|s|;P`udVvG53h;^l97y!rBg z4xIkL-f~>0Z?AXjj(xw?sr6bm79Lc~c6r%uw{B4s<=u|6+wD6x$?OeC+GcRRckcqI9cAmZEoJI~R@HVC zA!=j8X`_ip3_VoAWfP8l!x<{5x1|g#7`xhzB1CPh_nlhg*h3Zd`*%8Ssp~ICaqAE+ zKjm_{P$;kB0>#2kzW(qOE=2%qQvlDgs~IS{&VkFW@w-ztLYOcf9lhUoh zV1yVPl3a@#yt3@cp2mx59G4ufgXzhwc;zHF7cW=wuGqGUR?#fg+ifT{T5U(%^!HPM+f$9&U9Uit%ethlbD{o8OxB|jCnM=F z7bhd>4;={hMVe8A&@t293|0-1VR|F$$W4*v^gw-3AQ=PpFip*~hLjZj4)x( z+9@YW0mQV}wE@3lp3;UVHOz>zfoYo75=U*6XQ^1SXPIT1d4La@w!2Z3(fV`^>pvFO zPFVrWgq{UGfwU@84^iPT@EE=)pl7&@oi(I>A&^r%OBH2$(Q-azG>_{j^J%nP*&7#G z-wh$-mEnw^JbjJ+I>yt09_ID^EwexBliTDOyy7;^?U&jRmMnR4>NcnQ8jy9!JPQc> zXWF73@GkCI0r3QS1xkiKhdxy+IT6?j81T!HCE0#vWF|L=Rd_z-OQ`7VfeW~AJ zzTvZIIn6gbjF$6BDBx2b*Ei(3UBvysmT4+3G3%G9*bpU@8So3HjEcC~OU@!zBxSE* zt|nwUS6`2hnmGD_=y*`K-K*&wgB1&M4NR{OFizPA(D- z7y|FH#tT?#z|WY=oG3Hb8Bwd#=A)XBk42r2Bea=OeEeU|8MMD1mygq)l?V&)-mB1A zHLK?gd=1D#z=pqsV7UQ5Vk+1O%~}B?T$eT#m4s9*>8J0B*SO+8a0<$Qi#MLQUmpXmt8Q4XTmW|rBx%ovf` zxgkm@GvHTDb#@dD#BrkvrOiyz_v4F8+V5FMXh)OtIyVE_d5p_Uj#*6Tb3SHG**%q< z}L?Vm+n{R@EdwSPq}KLRK}a@||5 z`*Gjv_1$gH_j>NFZo_lGXm#pGEf5Bt zSNFZ6UU$FM_T0API3U3}Z22X51=H&SR0?(|x|w=MdzE&B42-)nUa?ttsI4v*X+ z3W-&BKl@LIjEA9Q^Eoh*#r zhd=dqv5(-M17)@x4=4qSaI8vlSav4cDtje~oQUBA?o zz9h+qIJRA_Rttp<+XslG?_SwjgcOM9m~ z;S}JIui|3C-&ja(!;&J@7-@amww*PG+enV7;0Bfxam*r5&j~IxZCXu8BQLdz_07QI z=~e)HOpZZLP<$h`U`qER?g%-7*0F+(^^|rY(u;A-ChB};)(eqF;~*}5VAiY3e&NO) zZU;J2h9iFX_zn7XauUg+(z0=<80=6{jqH)y7dCnUOTxy5J>$;+jT#^6>;vk2GS@(W z2c9`_g_t%#L4^#E;*5usbv168aZ2Ek&%`Ou z7?C35_31`RfuN2l;*@uVfUg$(fp-%S(t>2jW9Yc`!K5O!88Ih6o>}KteYQe#9%E zU&Tf&P+^d#j|Kbs3=6nM!qk&@SWf~A7c|SLP4%woG+2E+x!RTSP*Bm&T)#)t85J)ygn6-*r5P`D zly-;33&&tQT^@%ZQ{&xnN$PK>d%8JWiVG9nux{{VFHmUk<}$!LL|mPB4vJ zi5!g88SuooU%F=qp+y!z3FC}2AtaY%C$;I0Az*y+%MdEJTc>tD4sYC zhgb%L$g`Gdjyfu5*YSc@l|)^%=0pnBTV7bQYPN%SITvgzG-( zK5I_56plHk86TGeG(`9ai56=t_{D^e!SGw9kIbU*F~4KaaKS5{w7WVDE({)&qtK@j O7m3>{o{{w8^8W#Cw@%9d diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-privateprofile-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-privateprofile-l1-1-1.a deleted file mode 100644 index 7cc315e9b81ad16dc4f87655bdea00bde45430bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3680 zcmdT{&2G~`5T3*-l(YyAJ#awCNN_<-u-nuvQdJdtfMXVV4G4T4i$%< zIP@vt01wf};Ato``xCDlJ83UQOw`@+>}T)n?0h@h$D4k9(A#Q0xAWqzxt{Ae>n~Pq z+Yv)%Yul@ye75bqCIH+5sQm(HddCFt969t@o3WxqE zWN19u@R-+O{cxZDlsy{qgDB>VFoT59OgxX`@YqlJD2@)pK4*QG(a&f2wE+j#<9<-V zbg&zTDep>Oy3&`o{2&dZ;Vv*14n}Mm;x$hT-+igxEgug)d_GRw(Ri!M_Q-V{&+}}1 z-Eq~X?lprm+#;0i8o)iF%|ScmC#lfO8ymWN?Z8j{a)=n&hVDgsKS^f5;FNG7eeg*~ zW9Lz6pkJnJgQIb4+D^E|a@@McEu*qjfYal;$Mk9qk`|^{i_)u=Pp?+rZQ-vS^!xZi zn=($l_~#PfeeKXc(gtNW<4Mz7S9~Ct8OwSZ#)zX;hB0E;5EzP1UR0b#{N`}Ts+D3y z>?lL5+Ozye)Dz7?LYO*4*jC8wCS`u_2ARL%b|y04!`;B638nF`Gk-<6fz1+mgMK|w znL@i=l=&KO_6BauBy(Krgwy)fei028P)lcmCE{~eXxGX2o;Y?9jv{gg4%6Pp;gPh6 zjLSuu7Fhu&M06!5D83ZaOw6-K`aHoB0oM6WJ@FJ^AX?ef;WsLk6`TsGModc_6j#!1 zW{p`hYs_sCo^#x2x)c;KjZUCt9Pg=&r_KiFnl%P%f^jy|3`KI9)sAsZpndG%WU(;A`}GKwHwvR|xZ;b;r}T7wp4l?3HuZ)f^O5G4IeG^* znd35_={qX3jrvY5Sd-NU%y^1g1BwqKax??JC2LJqN3=ymBgZ1KZps4bk@OJnhG>y2 zvQZC%&UA2v% diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processenvironment-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processenvironment-ansi-l1-1-0.a deleted file mode 100644 index eeb1202f12598c526625b7cc58eb3211c49ae755..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2846 zcmc&$!EVz)5S=6~g{lY+Js`Lk32r#pP3q);P*H`%u~Nl((p401hEz994 zv$d>_vy=Z}un7Qb0F4B@?*JQr=qJR!5MNW7q~btkG7z{gG{h_Up8Rjvz% zGW%R?>M%>f=s5iZLWI+qsF@7Hcr?t~v1YuEY1eT)&$Fza+g~spTs%Uu0lqWMJ$yq=bL$4$EjN|%pqk;tI;VxBp=ZlWQ1wL z9NUM`D=T4qedBDLowwJ=!cJ@uqlfHQ7Y(}dsXtiFmonD$bKj0JdS73yLsVjFA*7aL62 zPki-M{HwG__t!g|4{{AqXMuCiDuh+TxHV~oDmyQ#%c5$~o9*Iak+CimxKb7BBW7NW zTWF8Yv4@x+)i_V@>m@o=mCI&bUB9KsU@aI8E6}YpaZXf}YBFmEAbZwQ1gY zw0vv1CV|N%S0KpM!K~2=_%Bs~it3^x%tT33d}hi3wIj7d{Qkp;($p*T$mp(6kv@-A R(}Z8>)SUd*FQ?Tj^B+|B2NnPT diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processenvironment-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processenvironment-l1-1-0.a deleted file mode 100644 index 9abe0b82f581e851a11128ba99a7d994683b755a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19774 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processenvironment-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processenvironment-l1-2-0.a deleted file mode 100644 index 7ea0422b8dae6dc5ae0d983b415c70e42370ddb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4570 zcmeHK&2G~`5T5*$pHNy3J#aLr+(>Yu)M+JzTD2g=0YyTn+_p}#Ay%EZ*zOOvoH%fy z2hO|(*FFkQfOrDR%&s@yGz3Z9p+u1yLYWv;6v&s`=y42U|R^2jN z8x6xS#gJYbMzdi>6ZR?qa0{UD6QKMHyB+!5!Iqw-Z}c#>&Dh(3`vGh7ko#=g>v4AM zjO+u4q48whVpfy6PKTbz?u~fY^Eo5TFd#G&zYlz`%Y%TAjvU_`4f!Z!Zk;ul$!vyi z9CBa-ZufFp65ep~VcQM|TfmqzJYc%zHRrwUL*K_;?l?a0hMxcNh37v%;WT46nvsRN zd|a)Yh3Xx<{jlauf}IxSx@lS#2DoKzOrqTTbOQqouu}k77QF?ih5RHG{q)L!_Fk=L zhjuzdjBG;ttkwyF3>b_F=gOXiLuA)|N?Ryh*ayLMe-_g) znlDRf7|oAmfguk~m&n(`hYL7VDx_kB|A-}}LT&mb(Jxwq3So*sq0aeSsE`5%S5Uxu z0}nt^_9{vN7DnVAeFl`TTLBHR4XjpZH@L6+5nCwYNeWPSz146NMd{ z1XR=6P!j&RD|+*AejpBQgkur>fqpnR9PLYsVBM6b=_7N{h48M_1^JhJ8W;Txl6#&} ziU2FlQ%hO}_#kRo72yYVa!pq`OO6y5m{=N8cG)?nr77;FaMKtAPS=bi#nEZ>7{}j5 z%%{cxbIzQDIYK)pX@#URj&sQ*M^HSQxL8M97h>F0&RIu{n~a+%j=p0PF-OTbOYLh3 zJ1--Qvf&q>oj;;qr>C(k?iHu*D3XV?p5*3j>`87*9@D&t(OQ0|B}=oJ2Xz05JOhyq zgr{f)oF(&2oI{jFeEpPq#CKBE<&NYI@pg$8sUCUq0??@-Ef2A$N)f(bSHFMF-pF!Q zo5(nV|MfZfZ_V=mD}H_!|8;)l$^R6-&hUR6aaJ~yyV(r?KPTfR{HJJNmH!2}{ARq1 z?<6k$t(sWHy;F%b@k$y*U4-x0W_dvBBomeAAFEh9=6~%_D6d01Slzi=)| diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processsnapshot-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processsnapshot-l1-1-0.a deleted file mode 100644 index 0529465c9cb72a182c71a50469c4d06620b95682..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10376 zcmeI2L2ukd6o6m6N!mm~AX-8z6|qI_1-e^1-R!2QLJ_H;7f?{C;D9u7vQE}yv%A<1 z4G5tMp^5{C91ubXapcH}BZvMD4*V3#doyEu#-7c3bMR`V9cjknndhCE=lA)&vG@8t zH`wdEvwXX%CuiMhI!(KEw^gm$yh|;s)mCdmUa+$a0IL9%4*?b*04)6_^2*-;lwbT; zZ@-@7U^6Q_9{KgId<(pqpW^9YGN1+#lY}<>xfNk~L9((Nf+=0)q z@noaPnhngVfcyLJ$xu90*v`b1D0)-=O4Jip%*;#qV0a@M}EJji|4yD*LjB@_uusn{9e!R z9hk4xMYQYRKYLuYTf6SPz(b9y>k<>??V99P;JJ}eR`#IuN5@|9RbE|sGs@Ag=f$*E zl)8UB==ys&XkIkmh4NeOAUX~V(%Fvo7mvN&sNRoh8b*<0+s$SZDYDlRirP;X5hQ@k zIpl@c7N8z^ClRj?FRHM;Q*XPGJ6weKY{K@l`feDG5Q8Tq=hF|~XvDG?u`-YIQqv~b zvD|vxPI4>5@+f{wi@RiIQNKDnGHB3g)V`Z3(qQiMEL)y`k)HB!L0(MpAhRSf=k%d&| z-qL?Wp3xYTNXCKzmSsLWx#f3?TmFWF=Fij4a%}lcyc;jk5@3GPmcPcQfyHH-4bJO| zv=qAACd-fI)uSSpkfipV1o2ZI!%-M>=AR$QNo2|d#59D3ee-FC@lB~E9H6g(pd{_Om{hO zBfX5q+6Atl@9|bs;AUcto1o=Q)|PTHoUlR~Q&{E_ z)`VpXE2e9uJu6OJBXt^ti5zE-;PVn$+y05rN_ zhd87}&jiu(CO;R21wUa0BcTFOYkACZpTjxWD8@lUjkW{_KcWgoanP2wL5DIq=qcl# z#leYLF2})lX1RoeYq-8~Ik*^GMSdH??Pywgcug3-!oxk;LI(@}z*6#%U%6r1qix?x z+h?YPw2Be3-cX`4LC7gu%_u@Tie;5aNT7^+79ro5<#L2PHOnQ0RPnBlOUQ++o#>nG zsix#Q>Vs11HSUWBURv-c9y65at2dI85t#rj&0@67{0YC$0-EG)KtjuT{K=wjFY4>1 zsU~G?f1jC)pW6`AF7 zvDLR`xr7C>gK=4y*DXVSFAzJ}Y31PxnLVa7rb=E$VygweVX5&j^83jocI0=8G2!Hy zn7x_0kuY%{|4#F4!GI~{fxaHa$%3D;np<(=9&|-af`qk#B&gp*W|2}h zQaaB&T8r#L`}RBCo`IeQlu{Cm?`X9ZCm`sp6Nr+WVjSGb?-*uLQtA;XIv6)fnj;SK ze{7g)uW*%6}D`lg9X20iBx1)oiLH>D9um&4|2l!1poj5 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-0.a deleted file mode 100644 index 30835b444ca3e28be30f9c5befbc332c8feb3745..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42680 zcmeHQTaO&Y6+WJ|xj2}s!RBHz7~=r(E;H-h*(E{9>$MF|2rPJwqbSLEywj7Ncy?wr z(}S0bkc9{$fh0yDAvdH%D3_NgmzPL+;vvdop7IbyQGP*w1LT~l>bi7w&(t(gna15x zb@!Y))74e|eRWRNsp+}rkw$-Q{n4EdmCda>U#(SZm4(H*a=F5?^nJNJTcaG>&h7+& zCcw`30e1Zb;HCpS?S349(w<{H-Ejnf(!Tq7D&Gh|>E69O9o!E<=>g2AbV#I!W&kM7 zKFQO32Y}Mz7Eho5H2|eY|H0GJe*h>Q`!`RI{R@E77qKi#PafpyX}l(-RV;_nnOUB` z(gmROwKsV>`(pq~Yj5+^`Z)ll_HTLW`~iSc?{7Ty{|Z29_;;SRuxv^%{+FkhKLDWg z$~8QF>n;FFuj4&XdgBW`eGl7>(p%VOl-}Ot=^eZ`NOHiN)QJ9`f{%s)GxHVjm>r)gS-l^8B^-8@_$E$4wP+v!>hvMM$X0s6nD|j=j>`s=#u-`s64DlA~ z?TyWPdj4u>a4HC&ZFGi_t}emz$E;i_!Q2!5K>Hs1gwmx>r?)1GmLFGx{suNn81P$+ zvSU)IMU}ypjjKiCQy1Fd+WKnGxL8bhYB<;ox=mBXkYUw%?rQIR&=qCHg!1F5u(5Xj zv0i1GDvC%@Vc+NVTJALDQ?kU*1cTv*`M?d))5BmG5EqwLmPNUS z2tV|nPrnTg?lDT@>nEG5y;BINcCUM~DauOBdI~XPgCZ_fpT)H_0iB9V>$tMSC$Zt% zjZXW8B<4QRmT(!bhm_>EYyyh6PfDgG78SAOQX(5pm*6=vqaO}8Pj*|qGwLda6tzT? zJc}5`hoJOga;3T2-UuQ%$EE7?$>vingW`!&5bIL|bAM9N%h(WHaK0#^jo& zsG%x1QjIcDcX`q~fPy_dsfTTb9yvw04|I)6v>+ zJJX@oF*ni9to?Ri*3`CC9oBY)kg07CnimnDs0`XjrvyFRd-S?@67tt4K>lJ?4A?Z} z*YIiJkO;T!mmB#w`r_Mex*NQ&y#gupw3Co8)Qy9tCz)g@h!3QfBq!N*n5NjC`h+Rg zKD*eN3*Oh+kOc=%p&S+CF@D1Q9a0(zLKn0i|z|2 zJK%Al6Unf~?|*n7eY$i>$<$e8#OR-}NM&<;UW;cO-yF+y4S{OSwo~y_w&el6Et#DG z!3EZ8R04jB+Zkm;A_;2=gF&p$gaCd={0;%Abk3l=@r*X=8Mx$8_L=WW@EbfypVt^S z@8OM&%o;I{EI4wcVsqpoHp@7Ud|BXz4n8?@PAhj5M>@%R7Dt{-){`8$9_u$LM;-#4 zhQiqiKF`JRlviGGuSDm?eohItFTopl)N9L`U`TvTODgQw3hdM4;n0?26))JIAvECd z{tCjrtgXbplK98|yc_mwi*~>N5&~vizrU*Wmp=RbuWRLw>i5@^^(^f7ll5f3Pwg;i zzdudbXHki~^!e(3bzdm*j+8HSGj%6oE5VC+Cb7)0y!Q_@RE*m5oPoRbUD^N?1uA&>by19eHHt-asByM zwSLfNf8Nr{9o3(2ChJ-K`3uQ<66e%|O^Wl+f{YJ~P(oh%b%Jr!i&Mk!5$$dgciGK^E8K7|r41%qT(jaf!2!jJ86lxV3EsiI#R?HcOOX5Lf@9oxVcs53Tter1 zT%2K@JK)R@_ZeqMiSt@(>L?~i8$ZZ-Q!CE!TC$#;UoGP`CiSH5C1i*R#e`p2<(e1w zP^03ecyWvi*uDh6!{f->OPi72K>ni z?8j?NI>Nr2&_C+k9(c_>&&l3P4U3zy2aj_B+n3;vcpTFLk|U#<$^S@u)-}#OYtPZX zjz}8EnzI_(e6r@7TDhavzlOhL_PjYcqI=s+@1@;PO5(iFf@S(%e###6R|3 zqsvt%WUhdgni@P?)k>Q%WP}B#?mb^+Tk+rz%_zh{9a-t53=|}yNL&4rX~7M zgFKHC9Q~nKjU^M}a_=^w>Kd0WY{Ez`WU&diXk6g`+HpnLglL|1#Q&7|w+U6(NOZA2 zV%4U~s0kxsEH2AftnCvOE4ft! zfo4u7U8ixq&IREb5aII7hdr#v(AVr$goM}ZCwS0$fT-3MA!LSsM!3e83r4Ufn>I?w z!iZgj4dX9NS!nG_U_`vuk`Y#he@3`QnXC3%zGB6NvJqMQrRyw4t%djS?;u?RRv)?9AyxCRR zhb;erdo7&k3wI)c{|EbyvJDiMP=m0q)~>e;8@TJ!hoJW@B5d+ zu-`s641*`ygD}@tU_W&fxT*2N2`*s!68s*IqifIEF-FHfUtA;9#XI@flTNc0Syn3T zfaQMB2!qH^%JbO4Wu=l)TTTa4~|HHq)$ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-1.a deleted file mode 100644 index 6b5192e1f38a21e953ffc2c51545ef434720662b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13900 zcmeHO&2QX96o1)Gns!N`f*`7jkEIj@D7)CrW|K&$in^jC5`~poBo0W9v+HzC_9NKd z5)eWWLKPAm!hti~5aJ);*fW0te*kCBoG9t%d;G#F=$)HCwAXFvJE62Z`O@^&FI?ulzsZ3Z?y)FWspqIC252GK5_;v%XPhu zW0`H&=;{XjnFijiXMxc{Y7X7OZOgmEhOpbV%x;qpYT&$e42EI%jtn(la2kWYXB~Ud z3j#9A`M14gd-h$^vj_d=pli224X;oMymw^veV#8YQ+8c3-kX-`4IQiLSgzF%hN9-b z9nAWU-LqW())AuksnCp?FF1h;xGH00B&a4Xu22bt*Y248cGqeQhGO2yJft>;j)Usq z5B#=gwhrI1d$uPjKq(PkEp-0wu(xl8mXao+4Zgz)mXSeTq&ag$6(=b~d zga@TK ztzu&(K`!72H7;D0o?F3%t3nG`4IO9WG0u<=63Ppu@v7|EMkh8XE={D>ND$*CpRl=xHZeejqQ` zlAJ)2%n#Zm7qp}G5)z6)C9MfXrk`cj%3|*w=Fm|b6SEyS@H)f(A*V2l8__gPG6zgB z?Q%?zeo3cclGh$S<`_ztaA5CL6HWnotmH)je#b^`TbUf8Mo4otP1Dyn+=P#b>|lkD zsiE@`NLys;`4%5EZD*5^Mk~-N^4q?}Q&k2nqmMzKAgztmLsB{keTVP~^c-v0SzqcG zLb(wivxzdt$#Mc|G!OEnUna}dgK<5JjU8Vmpy7-kJbamcot}oYu(h1BcO_e-zPWu~ zz!tY}Zp(BJ->N0wPTd#do(E)IGCu=87MRwk2fT{=nb3y>6sCz01hF}j1@IB^5du)} z96@+oVTo1-PPy(=s4BouSc<*3VsDzl&+A~pyb;65wTu|iH)0t13e_?WBOm&9Lsgy_ zIgt8I!^lyxTnr})NYFDPp|%x6!YNwEI3#o=3(6A-j?`}&53wi zZ<;;E3qAlsRBZbcstWKkmMOCr_)w`Qw;f#QGqj9I(c=566SSUjNcljruso5nFZG*- zly0(I3@P`L*pg?vaLl#dV3_mvW2r%OO{4r9`h>=;@LxZZB>#T} L$A*HJoA3Asx~Ob9 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processthreads-l1-1-2.a deleted file mode 100644 index f488b0342b7828ec095c7d14cd534940c28f927f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9534 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processtopology-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-processtopology-l1-1-0.a deleted file mode 100644 index 4947d659cd9129795162f1899d6ad928346be1bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4510 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 k|K=|8`RXEVIGBM=Glwv3adE=G6+w6_i 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 U1Td3458u(U_M)`!;TKZeLJgrB zI9raJXBK@&6EUaDah{&nLsZ@-7;VEZKEHfQcV}m*E!A?rIXw{f$hYF-9n=(`6?f?! z35$)|P42Dh6$Z>$ay@~B`y4g$fKRDJo_$<(I5(XCxj}2DXgxoNZ6r6c8B$?R{foJ=`k%r2bK@6W CWNcLc diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-realtime-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-realtime-l1-1-0.a deleted file mode 100644 index b8fb9103a14d308337cf1eaa4f9bfd7a3bd3d158..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6206 zcmeHL(Qe#C6us+BpoEr!RHVW~ajW!=UF>AzY$b%EMpU#44ziFY^Hjz}eh z`c(0lH^ehSg1_ho^b`6Gd_v2;cRcp&+TLth)hJR%^2~Vd8PCl1IdjLp`K=%C4!&FZ z#-2>>n(Miqvwp|5ZHG-}Zrf|C{j9_G5&&EVu$}-cJ^;A%x4J%l2|(8;uhjL~zW{W7 zew{8MHidYc$T$&OGL^B|90yYT9FF|MP+;S6-xFR>MBxryS^Ib-cgL|5gc&A;7JMH| zKT5-)6p<@j;Rs*gbA}ScK>ERZ9S9yC$@uBx(N5?mGPpm&mBdGf=_8yB2oVks#S8$O z9u08z!RFK5NKW^fHZguH9`DK|sq9d)agX~!Bs0r6&ij3TY)-HiGvf)T_lMx8gZ;ES z&dF8BD%Wv5&$Df>zn-%yc>Vzr3!vWuxXQIf=%(^G<$8T)!`5~;@Ke7Y!j=u#dePlU zl2c&tjBp`6aJi?km$0&c^D@&0I2yO6+X;8M9=EP>%UHQqfzx(fBJn%Jq=Uro5b-;j z_?^h@xE-e(L=klN!boNvUcUj@Z|(U9x*=;f{Yb;Mr^Y6j=|igyWB9LKhcSG&z!>t% zWXk-@ep^ISyH$%}pAj?KE%I79(HN8nV?l^{BYVvfaeZ(GuJ@gl64yO^51-QHVd4Mg z`U+12vuiXPoY(b?BlMoDxUTVLY2b40n08$!oUTuo7+RoB0fu*hHv8uax6Q-!0S5y0 zOlA%2rGul)K8J^Z2dP+GMih_bCo zMYwY+qIajHh>KHHp$Hq_^jS|)Ev1OsKQ8B48Mn|Ml!{1kPc?9E!9Q5e_@gxEKdDB~ wQqH_eDaVcrr4&keo9~U8TtOzCXQkMz2vaF{vlc2W_zUwHN}1!|YZEH@4{1X>EC2ui diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-realtime-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-realtime-l1-1-1.a deleted file mode 100644 index 8480840517cc468cf6390681640fbc81a3b4a6f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4490 zcmdT{&2G~`5T5*$pHhAf6>vbvNQDC;!ERG0NT{mR3tUi;=y~JBTjJJ9D%*u}sVWW# zAr6(`1$YGBpbx-9@FbL(U2nXp?It~7)Q!Bm9)I@E&VJv{=D~9(==Im;pBj_JTD5G; zHk+*#!!X4oy*7-7wH&|DnFoL?0Hxmm)nC|sEU#-F0J?4*(8bsWW1ArlLe}OH57@@Y z<06_E?u#GG~~Tez!_l%A)%SL54ht;-heaTV)SzuerLde^||Bz z(}Cdi9uGcj4!fQca`)vBXAqhmFTHm~NwM^5tZNsoz&GEXrpDy9j0<=m1H$`s_>Ji_ML_fbWpxvpvPUPf6#FKSs zAJ@BKI0XiWg!AZwOAUoZ!a)`N(#txS3b(54gj>kRH5G0NJBt}O^<1?`#o8dOAr)&x z#hRjG&9`d!tGm7r^)1im@e6-W0N$3ioE>F|?Rp$(*vhG~38u%eoQKikSINU@v8xIU zMP;(Y@fC5K!$*};E=I(Rm{BQF)Y65^CcT+E5DYo^CHG58_xLnc$q_A5J&&+Qg?0sLc_r>;RfeC~nSQdG^#oSHaZ%1E!+PG(_Wlaxq_oXZ} zwXDS!YRd2f>-2vGHFHfRnUN`09p-H6u%4xI%4cNEG<9?|Ru!p^ZEf7M)DdOlQtCL! r#*Ni+8&~|i>d4}VsfONSstcs3;QZSfnyv-Q+^7I&pEFHf5?97!X4T z#LNu;L>D&xCdzwvzW9%*bR`*%)u`!vfnq^zIS#Q)0 z!xT+=ZWz_gO4MPm2msdr@+QFQU97&9&yBAD^xVScTfkV8u~!2g4A>42dBB=}o3mrL z?;N@ejiZLm>?-rzeR?9h-{&nq;EXW60il_A54hunZjUq1Viv0~hv7Iq4y?xU?~pA3HU0h(55gTDbo`*_^jka{XV;$| zIT~=89uanWq+Ne@zRA&3^=Kb=g0Sq5=`xQemTB6yZ5TEYNTj`D`~4N<0ze}tS%G|k za>z%au+Gm6*x4($ozR&N5iMJ=b6(yb3>LuPlyEK$xKUMDBrvSty7aUKroz>fop5XO zadm~;z{+|8PPMBNsa@&~N=WSzQM;t5UGl7wRjQQRo(JWQ>+z_=&kKOpxsG$743S;; zBTZYFnwwy{5A*Xdn*R#(Fq-dH1ctmanIiuRzpY|ZAvYHzd`8SDMcF4xdd0Lm#g6oh|nidq_`cg0nYa7=V6lUF0&$!w;-v5acqE7pZGtVyZ}qEs7-dT1|^2SA|PH;o;Kf zN0PeezIlZ0Uc_=L3@}qh61@4fn~-KmN~dvz7~lMKc2%70NSha8+(aayNO+oz8>@@< zv4xlq$v9iB>poVtBaE`)j?XV1(%actY>R98Mc*?BB_7fmBsZ^PO>$fE7+)h5&P1Tu zcmujmMRb8k2f}+aLqS>M$e}F4BNOTodnYEy70DF>kQ1bO9$<|U-3rpOE#768hi_O} z@UfQai!K9AifAPCVx`o}=93w{d_mVN(#uHWS(bWvr_K92y?ji@&FJNGGH$GwGM@di zdda~uU*dnacJOyjq*y!qk%fvpe8+qlZ%836)#LJi=VDcv|5ZijDn&E?@5w|}V;-gY T1N~=ImC73vs!G=*16BP3vPxwy diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-registry-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-registry-l1-1-0.a deleted file mode 100644 index cb78933c3cc14367d4fe5efd6f518a0a4957b09b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36898 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-registry-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-registry-l1-1-2.a deleted file mode 100644 index 5b2e934b71f308a41a1fe37069097c9fddd452dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3602 zcmeHKF>ljA6n=?Q3Q-XZ9S~wLQrU2@lhz3cp+sF+kOC4gUfueVSap)hc0{^G3``6i zSotsg0sIDjM<>dAcfRD(*rW`Y0iKk*=Xald=Xc+C&w2RVi;e~_s!z;ibM_q9aqZ?) z$24s*q_?KoXt?PO2UP&L0Z{q^P?-U2ewV-M1wi$Jv3aEtk2wEDR3mm&V5(#RUd7ShNf8d-`)R_IucRj>JB2(?}i^7Muu zmjL}z&pTFuG_L27rZuk2O)x!&VEgmX=o9lJ43~aV(HMp*ODMx6Zv$(GC zdavQ;+R?|APdMdY?YA&s0JU@q7$QHng?AmM55%#Ga5TXh=p}>6=vYPs*OoF(FIj*Z zM0TYbD8H1`h3Th_T=R-P1XwYhdQvEAU9_?(!#8vaC@6) zij;iD&7~5br7k*e9^<&5vYa{->}ysMJo&YgkY>oT*`h+sPk!3FU7T#B%?k_MQYE2E zIL*e*)kW{oM$E@-oU7J#ADx#eM#b=r&o3X*)!Er1w(v^1-wu+0G`HmBE%YR(C4cD| zDU-DdPSYE!bq4fYimC!B|3%hl2E0pFl|{u+5s`@{)rfZ{2FMl372;POMx<&Uphrfh zfs8y8*Rmcjl~jH(tBxL@Vz|Gdn(WX6Lfsxy;P2FI;pQ z%d3}$-XHac{8YY}FIuJP;^?R)ifB4InxCARmNgcK7-Q3n?LW`hA;=G}%6N2%J!{*aHF=|H z&+!&-*t6>uZhu*=I~!FSh!3ZWc5%|KRhKZj^z}MlUT<(4dDfc9ZHwOxey`eWHMZ

    Qn%%EeG^Rgp*0Gl`L8?*qxo)*W5_G% z6#JL^Z62G-rI8r!Gh#-$^lADb@h|Fw5@9U3i+M479_M-|Ki8XfBiZ34*IitPw`uS& z_qw@W=fl8kiAICtT8=qF>uln>#OtMoOSGf6%R1p?{d~EIhB8o2yFi)y=S^PA!}Jc1 zM+nEnSp)5;bJV{lESzg8Ptzm|Py_d_Py_jwe5#VZ+lVn|^ufWB=~R+J0XjSvnFaq~ zrHDvepuR#I(*_sWq*$`CrpJ=Y+$oQ7dFeQ1(iiPGUtqfz^PGwb*g0bf?)}fP0O4z`I0TQ87bWxF=G& z;d3Sih!Keq0#NTlH!E19MEilT+~mJSX2Dae&^hSU&YMMOkVhY`4mY1V>f(K)QrTVb zPK7#tL5ECI$8O9RDvDIcU9I17>WIv^j5;2gafv#v;rymm$0Y+th(WWgjQ3~)n3OVX zVc@w1Pq54?LwhqwOQw)`q_nV}Qw#X&!PA8nG;JkXSjIJ;Rtxi-73!5&zMIdo7T%AU zue6Z32wN=pJ=Q{Y*6NFdp{;;#B}x&Ee2TEMXQ!WW$D9-$zSnluBBMiF>sMoN=InH6 z#$}?z12ZmJZu}fKwIb%uDT2r}%W8OsCV)w);d5c&xdo50q{yHcuSEsjSSbJ3^6`Hy z8xbzv9aa8&A22&tl|n!tAY~eg!!)|87gM^#B`m=k4dTG zJ7M6t1%G2nsu=G96*4B^3RR7rPc@Bf>^MUvO;SxqV_T7`8EXBGQ_W9iTt+pgW?Z5g q`VKj*YQ}Mfh&9WK`IshvNhxNN{}!1Ae_~~{Vzhu_mP#RCqy7WR+1WGz diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-mm-misc-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-mm-misc-l1-1-0.a deleted file mode 100644 index a4fbccff1994fbf245a4123668fe22b6263ac6ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25062 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 ATmS$7 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-ntuser-sysparams-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-ntuser-sysparams-l1-1-0.a deleted file mode 100644 index b3185966578c0be65b95d60072bbf84680c84def..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12152 zcmeHNPj4GV6n|MKX=_?hK?yAsYEb#B*z7uv<492zHLZX{rJ#s%LE5Xfjrfs!`Qz#%iIUGnQNy3hU*v|G;h@0A2vd{SC1A2SEM?&lm0j zP`=pW`B?{m^3oB{SAGGYeD!ypul)r;`PF}Teq95g{MIth%lNM4yQaBinjgBB~H0@5`RP#Or2MSNVwDM+Fs9*`yZy_??}Hl2hFDC?AS+^^x{N` z+ucFOXYN>@XLtAAV4_Nvf_VF2#1q7np7G}sj7-ImXt%6S?LA91Ai;@D3}?U@q%U8q zBLpHWQX}gw>Dj2jR;%9Kw}vzqY9f){IP5uIsVBglgla?AtJP|uP+eaWsBRoDBCr8A z<^Y~%tpzA~)`7>`$wdLScT0`BS5FpUoK4t%RJ!N7W5nPA$=US6>y<$EEH>tGTyok3 zJ&;=s=p=VOS#B+mdlMU%6mkJSsL^{AJ8luZN0EDvqVOKYwox>Sda2QF1C*L}+wvd! z_c6f!T(f>ZAoz4ym(+D`sDBcZ^@y%eEhFhLmn0+UZ=T7JW}?a0G1J`wvT}2YGE8q| z9l5zTqA&4(Q6H2@MuQ%f8T#!!S$%5)tFIZAnAKNtH7?Q=VE##4eVGjdi%T>b9M@&v zQfReRRv*aAwInA{B=dtd$p!7<`aBYHKqdKu9MjJQ)=FdVEf!Q!922u0XnL(d_dcgE zi;HNQCYb>yn07fPNWY}hFv)(0k2!`CCLGv1)r3=k4l8+~!JpX3Y&(%5)Cg&=uIq-u z;WjS5tgRRl(#|mTJj8{jEu;!*Mz@HI(txasp{Ik4=>MLM>Mf#&sDR@A)zT4QKr5@oV(!L zijRHoNmZ7SqAB$|DpK^-arjoIMh1X^{|*4KpNM7f5&pS9ww-oF%)6+;;JO#UUH`_*^X)iwMVRIe~+hag8U% z!5OlO$i<|5pF7={C@|ZXF>%wUP^H0dSdN;#z(=Bfo&Z*=DX~&spPeUgeK};ry|BQ_ zY0lY;@|T71>%~;>pso-UFokhLxE-Ww@B^087m{$+92{y^_B*N7l&DyVpDDgZ6B!pl z8j|PDGJp{9S_lB#-U?ZvZ^f6k@el|60Z29=$MynM0|~&Ze&pG zq!c1Ue4s+A2H#^T8NZlyEM$b7>@l%2!vw7%hpyNk#UjSI?-i%PL{7F2@z09?6(+>2 zW0(jz*<+%d5)+m9*$JSvxs@s>HU^>jT{Z8FkWo3-@MS^S8R-! zJ%`9Bf$Wiz_G|YHDQuC4qKr6ioCYa#QCp!4obZ2i*xNLpIVMI*boL6Q3<+e9l(gT! yEAhMC*~vVNDOb_5Cp~)rB>pXQs!{S1^C@yX+3+b;Y49_ai8JRINoHq;kpBRJHZxoR diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-oobe-notification-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-oobe-notification-l1-1-0.a deleted file mode 100644 index 3eca8943437ab71f7b6dbdfe7de24b4ca8dc4eff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4538 zcmeHKzi-n(6n=?Qew6Y{>cD8ANDL&{QR)V%LKPKK2c%X=6>L|hb{eaW9b%Vu?9_n) zb>J^yU}EUs!NklTL3!`aXP=uGr;AY~PV(K$yU)J6ci(sK@^IB2?+#whKiBicTsAG! zGP-6**A3pK*1Fzlx04rk<^kXaK0xZ0vF*qmM{LWD-7#Aa z9hV(?fj#mVI*+;*vpUT8dh{gzFmQLnv3p>T7{P`Sy}-h-=dvJ-y}q|=$6gpP-()5; zn9cBWLl@Yg3xrLecNe5C}W z4xEgeb2*3o4{<9@H@awtO~bG(OV_Oz-E@bYlWVxi0IM~CyWENc?InX=v@j_ykkqSTDjT zG1Q7MO8goeLy^gsB*r{;bJ(TT3Nbux#15@Sk((?u1{K28VT5&+X92N(a0%9TO{6|A zJM)tD7VgG9S^_lwHS61a8dxpTY;ax=5~k2@Ph-8rtF3}dRiySyn{d*;*e;+$1FGpf z(0F`qb88m95BNEaa4eiV(2oZP!M^Zt#^oYSi>yEsJi0;?6km#IR@8Gx%y~j394z@x zE$I{>;I*jg@B@wNGE~)CiwrDnA-J*(vqEVm)!KC)pf9-9bfK80H9CWyVZWbno*EsD z88ZxK1m$$35vG;nEOVq8fp)TkgMC!Sg$$R=FkQqPPsgQNqjjty=F@bXCFiw-#zumX zK3wtH`4jqedYbt%t6qL5;jE-N2&UddOE6uqn!c6rTgmV=4Q(<9ff`euaUf9zj~4pWXjnP4qn&cE4C#O5V|P? zRrc>IRgE#DYK+NzLuYkazImUV!PHclZ+gnOf6F&&K2&fM`KBO$rK+Jj?qyX2ko%K) cr4@3YD?wEVWnfwA@EOhAYK0#1uFBZ|2MJCfFaQ7m diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-perf-legacy-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-perf-legacy-l1-1-0.a deleted file mode 100644 index bce843c403bb3400b30a10bfefe37f5e54e66e5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9570 zcmeHNPmkL~6n}Acx9w^Xs9K;!l`z$UP(@NF%{mc6)uLUbRze~aaYLH8YiE7%#=GQFRoi;gzoEAY0NVi7>i`>90M0!SdFxjI$}j&e z^7%giD8Krr$QKby`O<;NZ*~DFU+z(6Y@e~uU2E#HuH{)%wm&v4_SMiaCPRje#~q#N zEoKjIQ})}(j&(SmS~Fw92sU!*1~###eP&xn#^F6?H&}yd%wYJSkp*mE8Rqkq1YH#W z>CBqm+aJ#yoXKaFcgs2&y57|AhGXZZ(;ow4!_fpMx)>S9DF9W#&hy-=bAmRY%~vFv@9>y zK@#@uv1_GIEYU^y4^1=W!E&o zb501v@?l_su8Z6H1>Z(!ozrYRz{^(&7jj4L z59)*q>hbFqHdKL1+6AgyKQHlG5lbI%KZbBj+-jij4Q9?=(ZX$QPSYi^fooT=f%Ho{ zjgq|Eh%qPl!NGy0)0G$sFyN&q6!;A*Wq9!N_~mMtI)Y@2d`Y`4A~IF&ZJPJbaHTxK z<=y19B)@3Kc@O(1zMa!W1+Abj!M$JF3%Q7t;w17B;oeWH*Fs@mOL8H?&G{1Yh2N#) zLVnRa_7L+h9j6DwdIu{vd`!@WGk*H)ZTj`-QPdXI&K8Q+gf-GQgoU2Nny_$T&GbCq zt|fm?L#Zac4#;}tJ_dX?a1D|Kyi53)$bSSaTq|=N;`1kK5F-*J1R&{xL+@gZ673D5 z=xxi^nNRdu1@{KPUs(ALryL0 zAJ#b^;_r}FJDMUtNhyk^!hMSmSn)`&x9RJq15z%`xL+{1qexe#R;>BUb|v zP4Z!7a^_k=&Rk2LFn&NgTErPsvb8cf<4AJzICGqiOK|4fbX>@pH*o!zplk}R%m_;T@-kXC9xtl>&R!sJIeGDjiOvgdWlmmL|phM@1ZK(DiWV`SDFh&-$Ny4 z9kC(VRVE*_f_!KseFJ?FSQIsVAw?TyMooQ5ZeG+Re|3>?iKr>#D@hnNoyR?I*{DhE mlJfr+R@*OZ)Ao-k@(Wi)11}YLh*$Cp@{A)I%(a%lfWHB+R&lEU diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-power-base-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-power-base-l1-1-0.a deleted file mode 100644 index 343e40d1b8ec5e90cd7a35770f64669693ebc6d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6326 zcmeHL&yU+g6n=4bp1(iQ=iDq2*D1JbOso-}S9JBq#9 z91yB{SoP4usvJRF`6D>cKY%lT4&}W!c0AeGjdNI|l^Dr0lQ*B|$D8k)H_p~QcXB-Z za^nkgKH0mrV>?#YzH6EmH|e=)?shxr3r8COunAzi09c;_T>D!+o1dT=pLZXt=lz!e z^xXW79w82dco@q`EP67L6LAoEQk?psJN5+{r(H)l9TE6_dQy87%HwDvPu#H}*eIqK z#5g*|_xo-vMPLhCSi%+9&q#t8O4qy8fuKi&KMW`GkssqSzB`G>GV~5*d@_;`qQoEg z$8O?BAqe4*#-cKufrqQ~x*W`X-Y0L5{807+HyK2e(P0$GucrF^${=6Mq<1q#;1J zfo$X2IvSr-bvV!`qzyHn z>|Lb>@-O)`Px@)2=DeT}24_sCk`#(s=Uin5{DqYo0%k4pVs*t9rVdMNStQx(?r7?I zn_coNZZ2JIiqu8t%^hq{QkGL;f>kk+;K{F@gfv1?dYVUw*~w3P*TKPl(#C}xHy24L z5kd}FNimrXSN!Vrr}XRmJh$bwwd!{x<|EBTar8RY6vq{x zsn3+zT12PmG#BFz=)UDB1F0U^i!=hhrJ_t8K{5+_W==)y17d`lk(wa@jjmMG!Wtzy z9hBt<{;e_t{=^F3gD&BgSc6_wq+%`YRMXNPell=6+VIZ)*HX&0nU+37KCG&xree_Y zD?av39K5Pp`W)v@Dc92X%D}k+e_+X4TJ8z$d#eKY@;?+c9c@?BQAhu}Q93%uV`o`R z8m8wo6?Mj>i8k(=V$zSrxP_Q>R*akJ$i(%nsv|?Or|bjwN^55e{Xr?$&V6Oz+<@P) zWbKr#UQ7Iy3fExf3p1yAE-omvRB zaW#%Fe8)_SaSK{_R*aiz;UnDRRkZ+6@^>Y(=IY+HKF0Y|%Hu^>88|oK7c5Iwt~62B ISc5M91sW`D3IG5A diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-power-limitsmanagement-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-power-limitsmanagement-l1-1-0.a deleted file mode 100644 index 2f2f9fe6536f9bafd2c9f2b76a034301dcaf74bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10942 zcmeI1&u<$=6vtoINz+EH04V}gez_1RNVV~%_S%t96%mShpeRb)E1PY+iC0~FE$=1` z2%#uK6+#t?5C;z2IU&RWI3ZPV=D*;`-#~e9W`8_;$KG`gwk&0&omtO(XXnSh&%BxS zmG`XPPV2_fyT$&X*K|WSDh<6_ELKDjkBh~%dLyi`y#xTy1I**Kco|^nL|&Kv1fc7= zm*utG0-)=K$MU-T8vtFe{41|3WdOQXw&Zp77~tx$X>OS2J>Ty6=B6FkJ#)ir+U7&2 zV|5)9GY=bvX;e+uxldP^?{(}QuV?RDU6W*OpDLJL?;+NAowgJBZL4GL*=@TMn67T> zX2rBjd}iAQvt?V&i8TtF)Tw*jrWM#9iJskd0%y+(9IpeW>9o7%C^VNZ zcv)-HbDf<}`>QF+6*blKx@Gg)Ow;!S)m*9ipwx*cZMdEvzTor_(uIR{SjU)AuzF08 z)Kzw8u)b2%bawWFvKKE3!&U>mQZWppSgh-Myc#qgox=qI;Db4UXT;qClmq)P5ck8Q zB5ZD#kppYEM3k(<=9BV$-_MZ25$POy;7T>pp2wSc>=zH~P>FQ4D4%o}hwJK*u7Wqq z3SCqlrML=}+I|UFp;DKCFAc6jC08%$rAoQ!x>TpU>$rAU`M;+Cdvm+igD4}+=W|M3 zC=B$2WPCogVH!4tkMlx9Gt?i#xfXM{fJKG5p&BuNWF>{UQvXB3U(^N#(rB=c z@x=YW5;4#kgMr2>f*`{7QpA9P@8nq;2+U8LfmP8BjFzc4*sm8ud!cu(Vj$A(S#^6hUKl$`Y9Pr+78YC#o_5|0vl3VNqiY^=xHg+$lqc^atsT&;_# zqj9XG=8;-wME!adZ*GN}C=W;cjd}e>2P7>u2kA4wJ+`U0^Uh`m$psM3$2`a zed)Zr|>=yvLR-UTEJS;`y`$v$`P~CN0b;hS%K`4>>&WPE{Q7Q9R*q`WX}8I zw~RFS1#iR->ePGk2@@*(lpv;&lbE$MF+bo0Wf2pERz%4piTQ%HJBpaE)VdTg->P*n zG1qW>;}Ub8+l*>Q%}!!ub+bwj9?wNc==mhfp+tkfF=q5+%mh1%NZPXWlRcUzWYu$$ z)wrJWMc<>fWs%io7CA|>K4a~UBI`@FE=ATiYF$j$+h`r*lC_v+PxAAESj%UXs&@z; z3<*_tWrm0~_zTkvs>c2vGc_+|H&YnHvzOM(;5Pb18sM1vnO7W||~&Rme9a9aMRmY0#Wl)pJ+WF=+< z|9BXik%h=o_;=y(lkF@sLgzpViI2G`C`R6giK={Bq*QZ~V({oQ%|JsZ-3^KRC%L<~0A{%%vD%+m0FM_kWu=u>Ta2UD+*}Az}@F$24I^ NIRk^-s6`WI=YJ!I<8S}~ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-power-setting-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-power-setting-l1-1-0.a deleted file mode 100644 index 416beb740a4399065b5c0dd2911d0f5db50f80a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8756 zcmeI1&yU+g6vy8tyZy0R1ge&*g-SKm0+%M(+pH5Lgtl5FKtd>LRk&1|^(M~7tv5*% z?{>ujtq?*8Aygp_hy#BF2hRNqIPlkSqP#cbv7ci*@m8u))E&v=$;{WDndkSJH+J6o zz!`V?AFjS1-TcwAmq$JNUKbX>cpj_Wr7uHO)1M~Hh9cRUeoH*m*dXV`VcV{hP$Jb{(REnC

    @n6W-l41`}4YqmB${&_u-0vjlhy=aHik@F|fc!VKVhcr+rq;Oiz9h#83)0?_C}7b@1s zNbkZk$A61LfkUhWXPG}b-SuB*lux)O9`&e+Qg{Y8_k<=sVFU0mNuHIYqag?tu2+uFD=U>Ld%*F(VwjRDh11fjVLXkPpXA9Muh(kp6%1sgr|T|6Hh!3-4ytYWwIv12y{}0gzCFK Feggz4B-#J~ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-mfsensorgroup.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-mfsensorgroup.a deleted file mode 100644 index ae5de25fc491b02d232413d3751af22dea69ae0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4310 zcmeHKK~EDw6n^a%Q3BBrV(_*aO+1*og|h9z7z`1-APo(P@iHuQOIO-%v%3f+hHxSr zIr}3#cs7P#CcZbbvpc)p+LBldi7(li*EipGX5M`7z1hdFEN{2j>g|RK)_Iy^e1KVROZo_7W zPS@%=42?%slbL1Kc6R6q?QYlJbv^sQ>akAKx4XXU?RoA&k68>~?AX9sw$=E%{|xJ^ zE1qoycAd{x5Aa6^7;`#3mN}F(uF?83;bJ6-ezO}mpPk@%-R(Mo>t()|#xxGS0@Nj1*y;9&tg&jH-$+5{8>`zYZ0;6{hqcCldv)?f%9S%%tWamV+E zz~Gc{4*lWNvcw{Vpn&UAWf=^KTatFdO%KLZByJ9sxeS~fm;L%`{q6hu#^&1Q##XJ^ zXt!~o*mT-<2>5jcu$OCE`_d5FRlm_RT52wWsXogO!YKaI24NIm6*z{xkd)A$+)ooY zq~!);xQ~blT5dM^C*d!egM=`7_=xRz;+MGGx(1gkm4ztlNG_Y`_Xo6CDEwH))Kf$PeBiBU^6(9naa5J@#gA{G zEQlZ)RtqXdRf(TTzUgy3J}Ti^@k1Hp1&(irJf=^3aCKxN&N$-a|Rq8KIt@T$8Q2oej1cdD79-|rXEm0%l{4Xus3yGNE`=!$tD-tWj z8ys3hOguu3gkoJ-B3E+DIkw50%JG- z@1L^&muy^=vSju@%f?0Q*KvQ>Wq+Cn>8~})p0_m$p5WR^;wV@Z2Hxi3EB47KNbf%D Lv$+p5hHv=aRvXTN diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-mmdevapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-mmdevapi.a deleted file mode 100644 index 18de81d8594e2b48641ea1560def855cbdbee9b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26670 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 P`*m+$13_EiKxz0tI$`dM diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-mswsock.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-mswsock.a deleted file mode 100644 index 126b7a9143e27e4a33237dc441041187137d7a7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23726 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ncrypt.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ncrypt.a deleted file mode 100644 index 63beb7820f73b492f144c406bb25d4bd61150d6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64954 zcmeHQeT*c>Rj-?~^Ko$!$GJF;9VeU1*-0F;p55D>*-Omj?soU?*0Im)TiY@y(%#%` z@9y|!XC^%}=Q~5fK@yXMKrAN_28XXG2`CZ>frJ1dh%6x?Aw@z+k&qA|1QHSm2?>Fe zKM3#DtFDi(>Y19>)JE;?ma2Q^)vNBVs^5F{s$O-~`yOt@&D~Q+9-1+axy8BKT&=n^ zH#aj=1W@ce=u|_E_A7PArov}M^XYAExz zd>Ecvr|>+)VffTp3O7$NhT$`CPYf?SK;aAbGltK?-nzJpJ5jS6N5e*Mv(t=k^ah)aO-Qj9vCZA6 zu{EVzvWafN z4udMWTGtwb=;P6iG@qmc=cC>3)nRYB)!U8YjbUpLt#!7$DuFvXmG04~voqN3yHh2R zkY)`^IogXlgCql&qU|V-I?ZUgJM0Wp`f-eSuf1M39z53QLuDITOh-sw2N#kc9!vW| zqqEiDZCusr#v}vZ`AEJwFRI9V|800c;HQI{T8LOvqup$OlJHtJwr9rpZZ71;5 zO3fWD(yca|%ft9ul;T%p!KYPQiq(kW+*}{6H=0)?t*BN>O$jpatwc^flPvhWBo9-L zVuX7w#}SmelowM~xguqnRZuc}fXp^jo~i~)V#LW5%k37Zi!;Lk$fvFmDNQOCQ+4-x zLkav;8aqyzY(yTUmkdd?PZu6>^8+wW!r&6R|ShfPXUJ!({Bru zv=f!;jw9;E08q8}RBsCsiHtfTbP_gsPj=u<;{`a4B2!^IWyd94M1bAbwFcoH=3yzh(O5F3`tt7^fNo4gR$v0 zONj$Q#Zih&(M}7SWl=WJ0-X58uxy75JBU2*HjlbP6_7)CL+qFC6YZ#bHh?j~;J zz_S@c+=!wLc=yIm1kt+Xl^w5Ql&&*r^p8ZF#5~QJj-wR7wE}G(n08POMs1ie#J$!B zD(dQ#6zcSZ6Ksu*VGkSEXv?_qTHlBg{M-ObzcX21NF^?^imY1GjLh+TI){yRdIHgj zQ!^+?!&+oTFiZ`LEC|piXt$o%ENPog6lr`I#iyu(3rvj^o)U9l1cQo#(zW?HQSnH- z(dN{m5`Jz(nD0!MhNwjjI4l2(O7~fb+R*h%BSKLVF8gW1UJ*~D#@!|C#w(6sqbCUl z=o6wk+DgBeBU(>qw~Um4=z}&w?S)$Y$X&r`h^VzQu%&e79xu)f2wk;Kxx1UlN~ONvvkK+Az{IyWIko?KxVzHDp@>QIUUa8(aPu+&V#u(4^fW1d~SuP!-q0?c-bHV4j+1xc@yyupMeMR zRM-Zbr#y;t1kt-Y0eb6;OBQ--P~tGO1;;HvYV^+Y*MQSed>eSLy964rMqTJl`1PyC zC#6A;Pktj`@;iM+v>#@8M!7!B%jeDfmk*|Q`4Ahh!@=>vwg=OC8l4kR_iqqo3Z-- zWL=Y(*Yj+C9x4o-04|9^ZSf$)Ulz#4%M7b}>U+@7njXU^xQ?4jk4ycG^|1gCdscfc zQ+$TLUjm+in@>s%=HoQ*eA>-dOWx~F_;Eq-Bs9qJcYk;v{(JF7MN_{Xb&VK9G~x-L zOBj12{347J9^tQ$CacY`TL`9?BX19wz%wr~e8S;`qI7*i;iX_m0nabiKD`mWA!C?v zl7e@_FFa7XiBjeN=~Q8#f*&y6;U30tMND&mp0^Vm^^2aUuP<7tzX_Qghx%tUwCpG9 zuV~L5h5ELe&qDn*H=jiPTc9>4Mg7OI{-vj**k~tvK}Y*B1MOWxyUeW|2vn3X_+IeD z_mZvEKMQp}4&R^9aIv5G-qxNw3g109pM~$|-Fy)Jr_gKk-DY1TBVjb&wQeD2Lur7VgMYdkESI+H*(g_UmpwOSk`=n@{2$rp!!? z_X~)3_f&~OTkZE+xPREd{TB%L?wm{bXGDjQf;mqqsGcmP0BVnfL5_P$DYzTrCe`}q z(^8O3{egQGS^M7u?~jMFbYME1JSyyS@H-{{NzR=zAS1&_K-E(M7VJLk%K(RQ?SO7W z?`J!ZVUt@UH)y-zkwUiB4*ZgvPfEc3aF0nP;2h#$+~hU5Z;_?p16a6lC}~(H0zX&S zuff%$6r^N~E3T=ImdcTy+DShtsg>iKyk1k%B&Fm|h@DhQRyjUW^Ecr>MV1QB@y+z) zR3!ze;s}KLB~R4X?eU*-d{gy_aeQx5)UPPi<4lA?qy24MC+Ka!aY4aLg?$pv*aoDg z2$`fH)=#bOiSQ-c{x3&;6vFe2`YdCe;{;lqZ$@+J3yt!32uv$W=RrZiOND_D+c}mR z-7JVe`rOk?TQ7UNyymj3m^{7Rvsm{qxhfgXhbv7&#r`EH#>&m&rzB4k6zW4Rm zmZSV5B_NN!KO-an%oz#(BHQrTm%&5nd*>)WfLqV84tj$g2JfC8-1-UIzWFMszj32G z`V4^m9No#7QDBYkU@ruZlqR=EcfRQ6ll@k-S0}aLPYb+jA8T1(=@l9OIO2te!v94g z@NpKTZ4ucy*Mz|l z8AbxU{lNCThtdzMdcb)k;FK-_#<$YNmH_mLME9~dt%3B5kxsh{A1kBhl zGT`k6wq@Y+pc2PfNtZS2Vn3~<{hqyi7u4&dR??5_NKhaD7rF&_mq5G1zce@@row*K z#J|e51%53m4Dvm_zqPvEKPX4|mG;jw!v8QLU;Fs9$TknoaK%F*KIt7GwZibDJ2STu z>RJhe8TDNB_1%^j$I43gm8FfJ2jd@2YF&IdeLyg7d?qe%pU{Hn@kLKhZ5JJ2s3A`1*3o*$PwF^Ct}%C^qgrXDdi# zi&Z9cB{1D@cI7OzMPL7IIcI+)!t>18U*ZUNuKHH!zN+V(efNTPO3gb9CXhYv>%%SQ z?2MFxJU-ldA_Z!(!a}3pbIuN;U**_9y+#gW)p&YvYbWgynsRJXS@!6ypLA@pmY`j8 zOyWpJk$bT?MvI3UsgcXX0JXw?2F_^80OE~Y8=yC1!rCdB-&;qXV>lD7$ zd%-2cb8ea|=TaJ+kwGM2!P9eFui9&rlzm^-_sugeXHH3gvDZS8+Xd7Fc&NUwbZ!H+ z!af6MDfdRMQ{Xq_!eGDj=wel+EqytWDp^r;-1szkQIU4(UX8Js+VLxT&7Fzpz&h&9_E|?a9RKbLq>9gSN1Gd+nDp%)G<3D-U zAOA3y0@!Ry?k8Dn+XwyNc&M?T2Z+GW6(-gn_t-%*5Y|0Cz@@cA)t2=odY-=S17at+ z^mZbzb!&%qrAz0URDDKV7;DGVA6zR}<>BDZ!hW8)J|8l$PrDTs8TUBP4-cj1?Nxbn zY}@-bk~|1{7`%IXc1yn&)@2sn^XU2y3cSmmpvA7fMaH~O&z3Ns&b6-Vt+*iAKT-O0 z5z=W)TYjx^JH_R}{s#p1)BCL-4D6?Ktz+Mc3xj=6pKiH|I2Vz$jL0#4Y~v@L%YVPX z{>C7V8hcOmV1M5TpHgJ(`>Y~Pdf&*k4tz5r4C;NoxbyZX&Wq6Wk6T@5m&^l>mi=5^ zC)S?JM(hpx({4UXCR5Ey4`EKORaZ&Juy2E9}c~ z9U&9qQ}&S@VdTNr*E?tLLR79_qU0fuzw7-DM8E>ggQz(uv@D=*z(dKxDI)N5h5Z6t zZKNkT&uSZFd>A?K^!t`0p;VP*GTHml9H)v(F^;&bMEoZC8qHdL`X1LWF zz?y_>ok0|DH<}UY!s6~X^j=aAnpJ;VP$*}=2p6H{qk*0Kln^)=!bn5u@#VFY((2Y2 zXb7*@dn6v3F+gG`j`+9Sg|_YeJ-+1LR=G9>z$}q4Gu!5UJ-&V)UZb?W{!oX58uxy79%v zUg2AX5Azb%$9kR-6ueZ}x8O{z!q}3~1!O#Pkk(?}(@$JquqEbYK+!mf>1jyYPmfs< z_GEvzz{wNCD8_y2a2V7jE=BG?B>iI5Q@&(K%Wp_&8C?pxsEpwZBPX7o<#KIAs@_x! zBwH5jPfpsh+#}>fh=`a)S8VSY&Z)vf$%VZ(BDErBu5~#`#e~7VulKn0mht+`!hIfZ z+1I8$H)tf$6K1XX^mwH3vM?os%A%Un6vCBPXUMh-l^#^vrsTny4Z5UKz3?CkO` zO%7lm+d^X>y(f4my>IVcM0y{wjk!(Zozuc#+|wgmeiue{n5FCU%$L4PVEkft(AvI1 zp9U5k>;5B0>0IlWx8lNJ-`6`_u6@qIpN0KA_We5r_5trJQQW%Lz+NysrO5qWfBW9d zwT}E$Oc>mkzG4@iEpI`_c#^bh^2`FdQ{aBB4>gTzf3^?GEFe9{I^qp_7`*%XimSG- z7)RH~jdxxq#klVtf+Fm{`wofsGwq#?VXxPX2hmos^}NsiyJXL=^^IJcus5T^Am7t3 zTwAh7`pfxmYL-Nv`EN%PLe@%PtsPDjTy7?@t=8JAVY1JHuDxGw+{_O(m=lQ%Z%cr&0+3ptF zvQNfq6!tGBz=vyvy#i;#{-_errC}sr82Rw@`j#_9scK0~rZe~d4g(zrX@)4_oN{dA zU(mzg-Pe0t?(oF{KTW*9P2l|;Oon^>%Cq>XSE2R4&kkRt|FszOTAbepE=nNzdRaAWF1>v{h#yKr-AEBA&7I2po7gRif4sr-T+5jsuHf14%^ zVC58E0{p*VM+x9LPNSZPVUS*WX%WC_1Y6_x8Q+D;@%ub8(cYvX9o&-LxHZ__1H2d6 zuJ`xSBHFcFr!lWbg+acrm$q(uuF&f=mi}=NYedD7Plm1uY21tDfH3vIol>fpjY%F`lOf`$mCrKGBko z*A!c`AEhGFMr^WXBB&heNY|)gu+#wA{bQme{_0X0x61W&-NdfllCY^nJiy;LEX^%Nl_Vylg20aYk zeZ90NY`;`#6DgbMSPr}&PVkOvh`UXqLTi7t6Y)?pavmW9KUdf7;Kk`0y$QdHCj zh5iVCNT2;N{s13Z&zafFYeOQGrho?)(%~+z0)?Uovzt8Y}PiNzGF3e%wYIT%LLXi zjoQRs3NKA((`Wl zm=;n1H+gLea*ny@@OpBl!bT-mGaMrs!dq5h<0!Y&>kWay0pToq;X=W~5)U&tE;+4& z=HZH-op961xRQsP#mZa^&TIF|w#&|3t=S}7u5L9=xAFJ{;B~5Q?0N>*F8hqSNT2G5 zV6wlIB#h*%bP`7LQ-)*61L5TQlKW^1o6@O74EGPQAf1{Czr?+xJ}41Jfo;qu9{*Y5 zaAOP(m-M9whjsKhtueCZZ*zEw4+FC~8V!zX-sJr)3Kg^wl^>N_QZwoyE*%7l?khE|NdY@+OZ`HC3n_mYF?;biKWb0rouJ>-e>vep_E{g1xcJ14lx&1f4of)rvZL2+c+P$;% zg%wVX^@h`M?9DaDvTR0@OUr6BH+Y5hWC;Ln04!7i7XJXa@F&kJe*sXw@;A?`{{T>a z|25Aap%~?>3p`(22B3U>h3C&M15m#49?zeD3_#hw%JVG?fU@%`&$n*^P~NKZ{M8l! z<-6bVyz>}f=dtVFbKUR8-e~OZdcHSu?+rVi`(tm=KJ2+zd9>-cPSfr8_9zGS!-4m7 zIPzY!58Z*^>G$2XivrI*aJyc+lg&TEeZT+B;SbIOf7BZsJRG(iDAQCdqI=bxBiCGS5qyF!uFOKz(Mn)NeZSZD0>bMz00))* z_A^lt)XVcle_vDDAU1if(9A~jNb^)P@knzt$9QP;;S|gxo1b|k)hb3FHaDaJwF)@_ zdZIQc5lgny!RIfL&Jdq6)v`O_p9^4tN>cw%xeRKy%t& zztNEQ`g3fMzv6OnwCi}Go#H0aJAvNP#R5CwUXOdTw1=_AB8r#OJ$$k^(`q!av4PYs zO!-24{U-7pMe|MYLgUy*o}Z)n9MP>0@#gD*N7UhnU%mN+ex005>!x?_8vN%+$U+)L zZF4OJKaKOe)8o+zRdk8>- z=QzO7j3vT1ulX{lp-UBxvE)A8tT9fOcw!cVAz(8h0-BP=C=n3o&;$Xr>a!x?9fKZF zRB)CNfDa~Enj+v%P(zn0{DNgP0@Qd&MF^v3_^e@yf{hXdxGH=LpTq_;+krGFxMI|W zR$);f#j6p|!syvkKDNL~h=S4^qMb}Z%fuF>@rEuNP|(75&ay2??+wLcATI>0mk7`` zduBV31_74@0+c6n1&Rl>k%!JabZRc1P%|L{%6K5o2Bh(XRtyLzP&}aMxE2pY(Q`q; ztr7(p*nu=CxM)N{Vd4Qz%N1WJik=G!))Jzij0fUuK^kvp*?@uq#RH0#$73L`c%V@t zAOky)1_2iW1gLLr6ek|gM=r+$5!764fSnKlWjqjP1JZaxO9liKCmv9BT#W}J>3N{Q zPI^vUq9AJ&oHwGNDDi-<N(6n6fg`()Wpdjg4ap?`kp&(5>FlRtPf#Ly0%i}SSS3HpLoOo?b zdwcq%a{BiJUE~p(^ESU97)kBMeLwJ1G@tgq&~Y^1;HrX{HoB1h8EMA zv-?Gj#bzrl8YH`5Kto=(A>r9^iH6M4P?6D~_z7qIdC`n$&_=J>2Aw09SRvs#a*2k_ W(Gc<#l+`YnZO}%48XB^-4gUi9Jr6bj diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-oleaut32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-oleaut32.a deleted file mode 100644 index d1dbb033a8f894489321b6add098dca092fca578..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 326796 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 cmenezl2%c~cNaG8_3_XRE($^vTzhY9ARR910 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-powrprof.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-powrprof.a deleted file mode 100644 index 667c2bceee23d434d090bac6f0a8fb70b6b852d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59286 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 Y{0~;CQD4OO=l<)L$bk$44cGU-0x<&h0RR91 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-propsys.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-propsys.a deleted file mode 100644 index 2bc2a70db47a8e2ff5437ae26df874cbb852c074..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185814 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 T=7}~8+ghmw-0Ql5V*mdGgg8l+ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-rometadata.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-rometadata.a deleted file mode 100644 index 8808e748f66fda699e8596268917b03845bd6a98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2602 zcmcgu!EVz)5S_#=fv5-$J(Qb~$}KWZNSz=d6seWqf)pWD95+tA!KO(Z#je^D>IKBH zpTTGJoA?0A%&a$Aw|1LD!b;tp&c5~RzI`*Bm+$=fN%+40+RnG;LDOq`Znx>#w#!py zZ`-Xmt!%-d4ggyKl?H(I2cU*yts%sr5XXs}C!#M?ITwdIZ)63t!->i3AZ!KUm{u;S)wU!U!K^dK4uyImPXQ5Yc2N z3a5heFc_vzthp-VsOh?%hrD_1w+oJfpO26xfc*-|->xa9?KYfva%`+E2Kha$HB_o};l_fYbAO{2UX_v==8B zj{%%fG?v-q-y49hm63m{9hu+cj6ztq;t9Ow{5)lA64=XFjG#&CkXrI|t+9!UA(`7U3h}!d=Y+x|0r$!^?Bfv5Ds;k0pG}d0+H;_7< zIf+Y+)90c3-*FF&%&GBlf8oW^gISb0R9zZ4KgbkJgAMMA^&jiCQPU_wQM+8$^+mm= zdud~^Z$?~L;&S!BiwE&Yxej6auH8VyLaFu!+mUUlyn1x(6@OkO>)sEB- h@%IvXR5rXoiyCFQ@+_!i&kyViPkqmCm9^(n{U2>)qzC{2 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-rpcrt4.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-rpcrt4.a deleted file mode 100644 index a689c15c46113b21f6f916ae318c90706563bbf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 436062 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 Y4f)=(s4XRr6(-SZEBLFrQ^o%O0r#}Uw*UYD diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-samcli.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-samcli.a deleted file mode 100644 index 625e3414c8ac9c96342cd1917ffcc864fff251c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30900 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 JfV2G~_J3`uLRtU- diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-schedcli.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-schedcli.a deleted file mode 100644 index 04a19c1bccc5e8140e2aacdf62ef4e5a185a9ca5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5014 zcmeHLUr!T35TEuyw1LP2QR35?;G3yeDA$r0gF)k;2SY-5Gg*$_)t($}(_SMnQF&0} zBOiiK;G^+@_`$@P+1tClaxEn(7$Te8?sWEdo!yz=%x-)CvD2wFo)jLL=~h}U*(KYm zma3*{@s!@1=2CSrdSR;o0Qls7156wMO#PBi;U}u`nfW1~*&~42BO%s=*z9_pu2}a% zuOrr4t|vbDO{eV(RPI%6VV6bVZ_^X$TTQRl>Uce;ExNUa=hgyWI0E0<^*}T{#~s_3 z!W%E#AQQd7d)?Z8;f1f7^%e->@3uwuTw43Q+1t&8^F$i^%nLH1q)#KCx^5ES%vlE z;&!)t1`PHI=hGK1loj?S3KO_4y{&?!aLYz3BbEt-Puu!NU!^hOc;H32&VfhKM14w${2*v{4~KB@<6&pzGNRw;*^mah++Q_ z3yj=M`b(luWP=)E^00~h*mJl*9B!P0!xcNJK8nLO`kZ2ntohd*UgTw9H%F_%b58ChHAz`oZpJrOM?m4h?O5JwN}l@LRQ;PDtcV0DJEq!_Fl6K z2`*LntB47+adFnrK2{O)IU8rIb4_|Ohvw!%V|H61*8kP4;r+EJrNpM!xe=CW? ze7Vf3U)SsotNQJ1+^MSnF&h{2p6(Fm<$bP?0rZRQDp!2UeQF8ki&DXT9zNli=KQeV jt{295>zeTt5J~8`f?o>b`{PglJp5mbANC*2xEcQ!Bwrpu diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-srvcli.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-srvcli.a deleted file mode 100644 index fd4a96b59da8e046e044f519ab71de3fc0fe533b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40144 zcmeI5&5s;M6~Lco?R;#U#BuDz#EBUP=L6%cXV$wjyAVaTc0&MxF>F9avNRs=&a#vJ zm}O_yu^}W@Ai;qM1qlfvao~gy;=qXmr<^!(;156uA&xn5LOBrLtJhs0T{W{ct*t@r zt(K~L=GB|-uC8Cbe)X!l=j8Lvt;LlW#?O|`r8-@$Rcn=*>SVcG5n1}WT%Me+u%LW( z900BXjNb!r@Xr7b{)f}ye*sWB`d3cJFptvl-*P(fO8`nIU*mM@3IL^N&T~3l2B7rZ zAx>vM0-!YccTUs)0H8GUH%_0!&y-%k@02c}9;NxeaC+%a0F=J;J5FEu0|2E&B~I^u2=M-gjmBJ~ z@r`b4tJ}EL>b15SbDgDDi;DH@4Ro zdhNy4o0;8d8M>}ROP<$!Yt6YUB~SN+k{54ecEvJH!_JpSnpQ-s!bo{_4D{6D7j@&$riF>4lWw>%v6GJb6+Ok|cL-tR$+8V&b zGS*I#@!yXDzP)d`xtaNwH6G6cQ#=^2aO8eZ{3begdL|4lD? z_`DpUv%&K^me4>o>Y_JMH#VA{Yz>A&@`dzVa*`44V`5G1dQ4oO`^6_8rdLE40@ZO5 ze86&VWqV_lC4wsBN>d?6z`eM-%spLSx~6K;?FXN;)e?kq$~0}MEdqQ^ta(*}U*m^e z?L6&rlc5&VtyC&gb#690+WVQh)?)4!#rz>w7OZ!aqF@*(;BK=XDrAd?C?EWmw`5 zK7NY6z4xAysZVEx&#m`}nI$?V^K~zNVm_Hg`fWm`c7LVAj@fqy(66Dm7eKYybdMcfbB#G=~vNAcWgQMSFp0wAajn!Q@_I%X>Zd%ZuiMn$LK1eO{<22PD5<}u9d{7*Yi>P@`s;2zNj>$0hNb?D zQUArJ{h@?yMf<5lLYoqN2iH37Nl3*Mg(3W$C*iYtd?xzqiJvP8Ctr0~!apPH9Akos zSue6pr+XVMit-5-h;<3RhuaisRbtbmYw|F>PkQoRpSAj@(W0M{yyvm#r}f&$kav+; zr~WxDiuI>iAl4eKVjaaIftT zVHiI*>&tkw;e!~@W5b`3jML17y<@}GJdD(;3rP?k<=l)X-?86Gc=xs8dHS7C3%<>{ zFh#cGzWq+K#H!z!k%!^kdtB7E=W$$A^*i&7i$10CE~YpY+@?P)EQ0QrKbuHsQ-W<= zlLcq4MTxVpvoH+lzN4Zs!Xj#IH@)*yTD?>MtH@T}*E?s*MQ<~mf}4;Zt_OO~b2PMG zv3sEJVukNCF0{l@h`atM$Avbu;|>}Zy5ZKd#)aN=>&XZUKJGGfgymDrxG{tOPO$37 zg*DKvIzAXAmlC{%pM_PoORiaWM`jo+?>RDBubi`DjJJ`Bom#+Ejhs=ofKkr}IEJ-4 zY>e?q2M0yB_GAfYQL#p8Bv4v{AK==iKV$U`_ybyh&oR?_)gCjA)?fMZd943Q2L%|V z!10x0$7vqN^QT4e|5+A@bqRiiTbq9_c|Y@?XPHmm?GS|aN#C*9 zNV}-He!fl~+MiH$pFZHQcW6&boS|Kc!_Xc_W?d9pvCW;H;LAh%tiT%S7obH0Sw5LYor2 zgKO#2WJ{jG-^vct3Oq+`V=Lf_?C0a;X$6nDS)c&M-fRVqu#Vme!bNr_J;!xx@hMl) z4EnVKy6+ErFZhIN1>!A2cfy#i?^CYg)o-fQnLB`%5ytj=j^)aC%>88kWZW7ulkF z&aT%>EIBuXVMzBKd9B-|-@8cXe#vv8t+=PJLNx2|xlV3ni6{)=aeUQ9?nuU04-?^; zckdV3ihD*|G9{MoN>(0*chB+F7;O>FqOWhBC))B*@*fBKJAvH5S?W|Im!!jo4M+QPVgpSXiolF~>Z-KcMkW;R!PG zMfPia=D;i7lM-hQd@2rO-F?SQV}yMm?Rg^X_h)FQ0~DEdp9s52yJgxrCK-lw-_g?e z4>r3_`az9!oEK7f-<|Glv?$;GGz-L<|G`F)&Lz&8^+Xzmb>DH*_^u{VWBq)XJTn9C z(^xP1EEu16H7U;3448~84C9_7rtwV$Y?}Hpp65*k;|b%&8y3;37ukF9c~b#%oh`L) z*{!@F>{on8Q)4W0pncC1i@evxJ|3mW?EA+e4ZaQcJ(ClLd+#w;`+u8a3|_?|^KgHU z!F?K?DK_^$&vEEBKMlo*Ni(jDFx2~ww8n_!Kx>~TB6+t(eX)u6k4UmT=YWip_dx#w zQt=&Ujd7ZRwC9OP-eu5EPw*6*cKdu=nf3=J96^FzedX zZV{F&v>)&7&zPmwkk4dFtmG* zu-Z00&Yw|z);#{qn4(>FSc@E|@%Cp3YrC_mOT)14JH{Hvom_W-T6zb_GwxI}SueC7 z<2~+_5}h^a+-(iRxbN6%oG~+y@jUi?pJF_DmZ{j@i}#Ef;#_~8NyHvCVHnaqM_6mo gnhzvBk2O!`ev3Cq;N0)MVa;V}wGOG0?JDE{12@;BT>t<8 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-sspicli.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-sspicli.a deleted file mode 100644 index f631e9c3261d1a0e5e26ec1723f44169ae074fad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78080 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-uiautomationcore.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-uiautomationcore.a deleted file mode 100644 index c143cb715529830fabcc8b555fc36d8e3c8a2416..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75794 zcmeHQeT*c>Rj-}1W9Q<;!LcuP96NjV`6G^V-o4wM-E)k&{W{+|dzWSR?h=Awu5YGq zx4pC7qn@6-TN9ZJ7-NTE4q`$=0u~=pf{+3c5uivQ{}Bm+K#D|!KtclLj|e0LQUu7L z$mYGO?yBmp>Ykd$wNc-7OVvG7_4=c#f4_RK>Qz zhsVb!Xp+1iAD^C`Y_c=X?j?l$AtC#|PsknLBIK@pEQ~)&2!?x~X5s!WAsF6&g@uPd zO9+NXzRJQOxCVylUuR+VB|6S9i?0!a;rLrv_%J*Mh7q$ zf?@sNSvd1AgkbnFI3L4Pf5k%UJA`03_dOQe*9pPky@Q4BLxf-m;t-A#f?;qg3zzm0 zg5js$%fhn{5`y6}Tm!>%4Hlk<^1<-pcUkx}JST=LkdEOqH?r{An+U=1`RiEtBHRbV zD~DM4?URIH_!5*QhOeAu;rBmI2!^j-V&QAg5`y9Dzstg({5c^Qz7dB%`)filybAfo z@Xfs}`~}<>!(aX{3x5Og7`}Ckg}?0(g5mEz!NNbhObCX5gm;JGpI&9*JFgRh;kyS| z_}9k?!SHX-vhW`ui{X3UX5qj7o)8TGLs<8B(p8Yc-2*GFUw!;Qbm!rQ({ z#xUI6VBwZ|GKS%{%Pidf92vuK=O43h_n(q64Ew*$!hzSw*n!ttt%X+Wbl(m8tyMR2 z!`4F3aa$KX-|2ZRh`co0Y&EA^UGE%*I6m;*b`ZJ)r`H;I&L9f5oyZG(jB7b9ICtA6 ztxebIyy+JwANBlBaB1!=?gTDS`mU6}mBe;k6jN4g`-0dVAYc7q8pMHqY8K*mNlQZF&=>OzY zZQAKx2lBKOhC#RzY;1V`#)8xBo^#q;@o5DDr#cfoD5j-#r;b-g&Q0 zQJKA&K0P^euD|2A7Xm+mCtL}fj@!|lpC<)ZNuK&x7;G=kwcBpL@15hwED(^Bg79SE zFLb?BG4U(QsdyG6gYtGV@gR8;xUGoEk+BRudvZ7Nnouy6B1;FJ{6@Jbjh5t&JHDW) z8ZX6UK$KjOMWdW^!P^j2m1E$yRPw1uX7xjX03;oE`s;3Z!41~|eQGi2lkq$V$zz^z zLeG&)M3;!?aB|^es%L4F@x1uue&pQKZadPSn=1n6KjB7<^qmE#y_r;5ngkZLHt-{F z+gP? zL!Fd*79|nRIR*+v2+@BKOG(e_C04@=5j821pX+qA!Xh3d;ZLSU;W4K|$M2sHLZKG| zNg3s(s_||g6iocUd8tbL38uw7@QY@27UD))xozP7vq)$u5&Ibd( z1Gij**9`_k*G;T|VN$8|xhM*~bA!m0>xd!=k%siee@YSYgtRQbmG%UYD$ZKE)B_cE zD&WPd1&dxvTxB8H?l~ccoLWqZfO4+##PKN-Uclz`Ij1>|Sgg1nR6nPJeBxx1@w~X^ zZEd(wYkkn`1!3gUV%J^8KsbBNMX(ue=J*QcErbR)0Vby1^B<+U&fL9+m1xSlr<)QM0^xff5;E(hB9A11Zp zZaD27sevFpmaK7x%N0mS2G205+;qsA^pr6)Or>+>7K26iyaR7#t}WTe#^Q)SY#uwF z4=wZ)E@JiOq6sYDh!lF4=OT=I65OeAvCNj%Ek zlrJ}v$U!G8xm6>Vq$kJI%X7RBbOCUAaB*b?(+-~ZpyP*aufIXa#@KmhD~X8X<+8(D z?aAB^#pH5>4s*SXRAzhfWTf)Cj>=$3q_?<1o%*-m7ZbI3=6Capd_k+eX_&nHlD?SZ8*X=Pb@ZIV#9gC+9 zk{stqN+AA&a=Lhoy9vS`x<|I}q2=>-`pX2}o75Em;;>Pqkn_>zz~5pq6kn;5#!T)4 z18C_o24MMOnTk!WRoF8toS?!9y77ptB;?2Gp6wds>+r*p6T}*gD2w_N6BDydN~K|% zVP;C!3^&lMzYH%C+-9(;EW)}3HAgo_GakmtgrR1Dnp~>o@D94|vZ(QSO^)wq3T}2m zx-SuODa|koGMDvooJE+AqagDsy<9VSu6y9e@mMB_gB-v5#(ntj$`uhOew`WS;{s8{ z8$JWW;9KDr!!W}u{EgYBXctwN5V=gL<{&ZNY3bn|_9QVvDca$Y`5++&)Ca%9?!Bh%B8rePfU92Cbej`SpK z?IuT_k?vc>k>~Vs3P)bj%W;m}5ASsFa34=_SVJXwun@X#P%hJBhR z+EUPY#Px!99QG1lrp)*dj95Ukw4$!0<_DM0Ts@4(*I7hH{9F-$$MDG@; zGB4f(<$#;e61<2Ywn2Uo_WE4MbkL5dv){IuG-JWxNreShz$uV zW>?zZpU}%Gw$k%@IsS@a2<^x$_)$_Y9Fk(Dx^3_G!SmxL*l?8oXS)XZHTY4Gdq#;O z0qfdf!i*Pn8-l)4Mi1@*;k?)fsiSI#RRW{eaKHlf4=2M&t8F!zv>|l4j)|Zt59^v? z=7HJ&71e=4axJ9Cu; z;7_O6Wi+n^Ki(T70|37 zsL|GOZ{|~;sqK9F_A(lR_Xd@*^A}|l#OuIa19pB=>knD^&U$}O)6BEntZV!?9r+6~ z^5elnRYv}ZHGbhrj`neH<~Od#%Td^8+XTGEFEd_lp5i`Pr?c99n}*}%3RWexk90$S zaP8?Ttl`Uey59{ap7^Z*}H$JEuHF45L4GjixC z@_pNmUeUo|pL1lEq;}j8m zLK&J&oDEgBmrQkoHs^v3`ef^TF!Kh_99GAa*7Fa9ZWsr)j5-eDhbbT8VFBuQ9V%@v z?WeVetREKR7(6t{7hsS2AvgDe7x^OAxnb%xo>AuHzW^2Iu<_PsS>;N5V0Lr7brsex zdJNG4OY^3_SwfLhU7P9M2z}Uu%{0Lx=)OUI9*&w^b0%bq!+N`6+SF&P;=lG83*As= zq|k?AB#1BWRJ%_J{fD>->_5aJ=)OTd2}g!~kz*P7QmpM-f7;ArT#t`qFOVrQJ{yPo z56Yna(F6m@C#2vORc;v=j*o+ieJ#mx3iLeEI_AxM#WVFPD-`s3n8%U8qqYK$#F$S$ zq`K2?N+b_+)}qrE7kZRp^+# z6E|;pu2USyl!$$c-_WC6dkP9!P{va*6SF}1WF_3G$~KUprvP+;l5?2~YNBXoGHX?^FP>Na z@xly*Aez_G*FH=YXLPxSkV0-!4-GY7bADIRR4~4e%+>_}kf4wr;S+kDI{1 zcJ40)xyW%E{8GGio5sxBTaS%qZ#573WyVGyM&!e*X5WIZid}={kXSKT8pze;n|U(o z@1gN*$JY|&x#f5lG1if8=)0{~JE1Qv59wuEvWEzKm(}l|55n!ZbECBuL{8+wovK{d zo2+({mvhE|+*I3am@@O^&eUvp)7dboVT0R;@3>!+Y+yOhV?&&3oegFl-ny@!l7aS6 zNj*ipXQxaXctT~viQs};X}w_5*RRz4G}k#iU}@G_VCeImtb2lx2YD7!85TT3P6Znq zUH&b3_OII3kx5UGHrFu;bOmC)Cuqvd>s!x}FV+NQdV&rTKH$Bz?snaFRBim5%#l}e z9AiKE#!gZY_Hl3M=dEYKP~hj){bgpsd{D-HI}EzrWj_kec<#k&8P(VOu*3)U?E?D&9$4{R1L`JEoFr#8QH+V?7MG3}?N zC3_LnIbwnxn%rl}p%byr4MSgYtvTLwZakFB4f?^#Ye;jXfzNVZOpaK_Iy(&g&GlN- zh3qIZm*)K$cHj-F?0qwtOOw_X@zA<#q;g3(&hIFTTm zdkrI08SCt*z0L^xOzU_G<8ZqX!cj;Z_6>qE{{!_Jx}DIicHfeb*O@yOfE7H~ z8a9YD>nt$zI@jN@q^!uWg^#_!I&oATabKDR^TELHfQncH*PG*mH@Xkkta1zC04*`O zKk3Oh1`q5TmMLpVQvw=p=%lQ(#LO>Ue-)g);5?R;S=skMnk92l6nf_dk$W}F%O7XO zCCyftk7Mw_z6zdVNGA6hc4Q^2GsDnxJ)wH)UI3U3o0WN%L5W%^^_pA~IN;~K5;JhJ zB5ht%++5vjatTK8TxW?O60GCj&{JKHjh!t(r#6W9o23le1Mj)tQ|fU$Kats{s8u<9SllBu*F2! zI(H2H*!5T^`o1$9R}*3|7OUcflfGhW|2*L7*t2tJA`^I|_1 z7Hpz#N@BaSR?B!V`=N`G4y%YBc|vZ&(kLNK^{G}clmTN5=;w0;O!qB%qrCL_Co)9e)?8OGd>iQfXs~|G3z`r^|h-l_$yFx4zs5= zB|Bs{?WvsaP%AAE{5Cgk86BY5Q_t(=xUMMExAhJ}z3Ox+5y_@XmKLdWtKDR5RzdC= zJBkFX^TN>2KB=}dUI45N5I1Ci-?)Sp?lT$d}=0PzsD9CW6-aQv1{K)iEW* zThxlyu+cm9HZ4-<06q8ONoU)I=c@836cc~CjskKCD)KU9-Z_H;2 zm=uzhfooS;ub7Mh&SgucB!;jiD{Y-Uh932L3|Aq0%8cQQKfgXUlc7z|k ztTcN}#&G4bCtDIj=%a{R=Z~Scz1BX3{3)Y--a^oIwh;J{FDHrFvNbOmC4 zyw-%F5567+T*!ekUY6^~@`fLTF7+@j`>}7OyK^dZ+FNetgu5MtRo5OSqkv6HA*P5y zdD&--p?7{l?Ln@+^P&fNAMk0^7XKddMCf%Aoq>&2u(T>}U!nHIP4pTcVi9!TATPpE zmutodZHjff$U`(b?jE{UliJ*jMro=2OSAl7>cg$IU;)S^Aadxh!C>Q5knvR zVU;8GxL?7MGUI*;f%P}H5(^4uQPIEffo9gxTj`$OaU?iw!jhV25p>Vyv=`-`k)u$; H5;Oh}si!Q~ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-urlmon.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-urlmon.a deleted file mode 100644 index d8aaf37fe3c65a42aaafb1b1c71e3be4e07d2d2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55948 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-userenv.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-userenv.a deleted file mode 100644 index d61f5d74f85269a3c1761f70006f3365e4c5fb6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61306 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-webservices.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-webservices.a deleted file mode 100644 index 86b5f17692ce1c129fcd8a39e0edc5c2b15eeb5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157936 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-websocket.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-websocket.a deleted file mode 100644 index 972de6e8360f21c3aab27bdd3fa378a09fe08ff9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12654 zcmeHNTW=dh6h2uey@V7Hq|l;@E>(($|S+R2{6e=YrF8tBtdJDtzbG zwpa^WZl?i`)7tAf(LC|%E4S{p_OT05P?#-n4_*IZyIZTaH@$Ap_52^>HIe|e?!CI- z>UK1Bf&zj4veVddy?xhvRP8kS&FXHVYZ`=Fd!yZQJN~fRafGP-h1%RM>)sY?6&af5}eS+-L;3vc} z;tBU^U5~9$a=>a)qrX%4^Ic&c2HAyzW!biEns!Org~ss(Gz|bNb7%qB-2&u&_t0ne zgA)@rxATpvUmXl#CF`*HGGFWWN5J5Sa4mY^N-4x%!kc;Qmm1c=3URApKH-)I^Fu7i&AlFdNbrl=pgsr7ET2mc|L%e!ba6%Jmd3aB_@IHP;=M6cal+>ML z^K*sWrD1iGd0m8KU<`pBzxlMY%X1j7A~Q{coB;FL>~iMQ{L-Atpjr{$=Y$p*IAk?l zNsRzsvy>+W{E0Vbz2C@2H+{>p3PmoSk+#25RCIHZ4fY6^jW&on-H_F|gXP}`{H2Qt zR!ZBCwpy`g)PgP?Nt-TgHLXes8>=bpg2Y8^e+4mZJx=I`#<7l=eLc<&`$hKSQGf~a zaKtZP-KJkBCo)goEyebc#3pKwGwd?nafWg>QoVqeil3z>b4d>Y>ijW(00EoXOi>G1 zi~9p<>%$y2`iKVDIBC^+k9ZFOsCBM^xA2YvX`APK$bR$0fPK6X`;&pY=Cjrfc?ZVw zLQ0meC0YI)2RVx6kAsz`%OqL8qqIAWfE5FWu^TYshbAtQH(Z^Jv0i5wUO=$nE zwUm0W_(_;)ZZ9^DxgK61M@H#kTj9|p_3(qz?l3+0dR#&eKkIQq5AWdmj%)ufM;H+t zrr>j?dAIW}C%mEqE6AaX0Y{jsI?x{>A^*dItax8Z$@?N6@30_wKl1}Cg7>HK1D7NN zG$*Rl&3_a5O+osB`#giC2K+_|E_~?_0NFcIOgq>0mR?NS>zth8yisr$-It z)Mb*VM;)czVW&rjdR#&gzvywoN6^k-+#OO*QAG5Mo9Xrs_%R#{QVpL5Idn1LS4_n& zDfX>VTnW*6$?BbgmGVt-`EK$Ib#|5{|0kHZvg4}2kX+DyJ2uUJ;TFyZ1*wDwJcFeM z{DD`Y1nuZ!deCFC@(n59EYDQI7nQpRaqc91gNeoCs$wq23%MEK-%Oq_Rm4ZHQ$+%k zl`7J{f3}i4rWZ(&Q9Gvd^1kgfXG)5-R6q8e>i2Eex$#hZgxGvyi2=_s6+S{8bxZ`2 IqBG|He@1yVkpKVy diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-windows.data.pdf.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-windows.data.pdf.a deleted file mode 100644 index cca1b802b8e898cb27ad2429288a854c823daf10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2630 zcmcgu!EVz)5S_#=g{TM)1@&koxFKVwt&;;nk-~ukhX@IA0JL@Mbz?P6BHL9fPCWqU zeheSbFQd%N?#63k(;^W@^6q;4?A?9)X2wrmM%m%`Rp*6UwO}s@gV65>UDx&bk=?p( zcc-sk*zW+q8bGUy-5r39w{!_H6ykj@vs{d1Au}5ea7e@OYQPB+HCj%H= zc?WrZ0}L(*m(mBH?i%b}9IWBGY#V@YaC^p2xXor<&)~LkuvLRI&rSb9owWBFSK}ew zUObu5GcQReQiFb8101!I=-4>4-{y{{a(By#6;CJr_9wl zKKcWOc_KA9tw+_5=sTK&j4*BZjP1%|szaI{|AnS|y)ycZrbFcZAuSk_fqgFQs%ciJ zY0N~*wy+~jZ);u9+16=V!z-PITf|5Opl=9Q=O^DLUJkbu?GE#EpGUV*_m~qN!qHeM zkQC$7>9O*#zA8-9CjUbOFuN)Oh+pEgG&`%PH7~^kgN?eWr>F$@$gOJH@B;@cO7$xX zBZ{KjCsUzxQ)TG+fmInccOm1a4nxW1v%8b9r z6I9X!N3ni{n8TyEs*W(sZMEe*Z=1V;;H0vUDz0nxs!yR8;Kclt zi{@0CyN4sCS*1^US1Z-3#5Aq5Tsy$#kShgfeKT7$1HPpyMOg)mhZ(3u1@DzkUad&2 j5dWpnqoU$5j>st5mB-_I)wJOo4wiS^^zX8wi0b?TujH+) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-windows.networking.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-windows.networking.a deleted file mode 100644 index de73a8b63d5e77be1a57dea88e67adc56dd87a53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2694 zcmcguO>fgc5S_#=g{TM)mD&?B65Nn+LgM6rP(&{XsVGu}IH9c@ZyJ*iN4Bf@TCt?0W5WYbWJkR?6;p{Op;1ezTL8@7-`T`OtW4=0~&BbefLcYdNNAi(C3^ znk}c5JaF0ofE|F^XIxBxy&v>r?3l5y5f39a;4u%`ao};b@)z#XXXw1_Im~IZnSVyV z#2+m9CRmbV140_j(kVJqtHGpTr+661-m$9(RCldyz zmgmN9IYiv)!{Ej`i=r(sxFVcSFMQQj*vDw>U|#y@gRO8K&a)&eRlC90&zrXkB|TYu=j)BD4o*!~(nB(>Y3N}^MT`o|^Fj4|jZX`&&NHn>x7E8^xCze1ewLu+%HPCsD4}n<)k3em4P~PtiLd(Ys)dBH&Z9cVvA*c?27| sDiQl8708TahWM`wJ+ewnv}jQEOV3AfEvGvCLSxhJxBtVbtm+zn0djB3Qvd(} diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-windowscodecs.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-windowscodecs.a deleted file mode 100644 index 4e054e2333c7c02a5b5fe1a9d42396bc3956c003..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106210 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-wkscli.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-wkscli.a deleted file mode 100644 index fd517c2767a4dd4e3fa666ff523825af1348d61c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20366 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-wldap32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-wldap32.a deleted file mode 100644 index e78cb6c4efc483cd0a2882b4d8873f01f925bbff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197482 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 YXEhwoQUCFu?~+AzJaIA494gZPAGH^;G5`Po diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-xaudio2_9.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-xaudio2_9.a deleted file mode 100644 index 560f3162316a6c9ff67d2e60fbf5521e78d17c9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7386 zcmeI0-EQMV6vt1Tc3H}@d~8(~xG_@UY89Mp;-(TpMMWz>LaNYG^#bkGtzBZ)O-kaF zXoXf4LRBxg*r(t*_Gu8}Az03t@r;jar*T$kPy{1+W^(3l&)4r9PyE3rUjMN3>B`4; zHq~2ox9&P^XVbPF*~D|(Zq?h#4f`tq@Fsxu6~OXsfSV80_1ZlEx^Azl>#a2ay6*g; zuC>1a=z8~0x`fyk;@d&cABdeG4*Fud=Lh1auv<_VbRtt2xU6%=4 zVzcH)5gKbpVH6~df4>0uzH;O})`rB+*NnQTUh0Qre7&r38n#x|aT>NxOHxBCkWI;2 z$~9WXrfOxZMy?N0P_1APDM-`@CDK^1i}~zh1~J^3g5eFfX`-NJ*u^!cJw|H&ZH60i z7?`cnXmDJ26CP+!ix}2=UNW8W3Er;jq|^1w%q@6|rDi^zaTa-IpYeZv6Y1}lB))~8Nn}bR{m)3j zB;p@3QszngBi8R##CM8yIpX`pIzv32{HG~(f|J$p7vC|$JrajZ0*aO d;R`re=*YjOmWYv`Kf~w9&zyA_^)vs<`44^ng^Bz#NT3l-V;~tqG<)zrRJKZ&y>6yYNG&f86f)$VE8S-$WMM<{0%_Ym2rMuLl|Ax@9=A) z1~5@Gj5))2-nE>rF>kq+W6ZVdmhswdnH}4}#_g(Z=q00Ruh8YSw_Da~+p)IHjNv7vrYIcp3^E-$d1BzR!l;BNTsQ13c! zzU^~2j(_p@qubZwJ4`DsCFu$K) z>2?!futPYT2AnJj>9xUm3=74h2b&lER604=*bc3BE2*`;txlr1}rO=8zH?Sa6z3(jveD%XyZCuUHxE33?2g=@u}RJ>evI z{7PB%_~+S1KjR~#pe0H((1#x^7|Rk%tj&xa0kUoAhgM&u{Zp!e+ zazVD>7^hhu<4gytKEw$_9a-4MJfM%@J1;*u1{|M>Gh#X=*DGc99po&Y@?s9j^`pd7 zS^vq$d=_D!nNBtTZ-@B5=(SM6-#jG$`&l7yH1vfY%c)RIs}w!_=5ZEHO-iL4C7Q}4 zDn*6_r&=v{Luy&>QOkGym82GFiFAtb;m4wyLQ2(~#Zvr1^AJsb@s+AMN-P!P3QqCg P#8Tcr1(6~ca4hu~->kEt diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap.a deleted file mode 100644 index 8e19e5165..000000000 --- a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap.a +++ /dev/null @@ -1,324 +0,0 @@ -INPUT( -libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-largeinteger-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-0.a -libwinapi_onecoreuap-d3d12.a -libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-slapi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-file-l1-2-2.a -libwinapi_onecoreuap-api-ms-win-devices-config-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-normalization-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-file-l2-1-0.a -libwinapi_onecoreuap-mf.a -libwinapi_onecoreuap-api-ms-win-core-winrt-string-l1-1-1.a -libwinapi_onecoreuap-ext-ms-win-shell32-shellfolders-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-1.a -libwinapi_onecoreuap-chakra.a -libwinapi_onecoreuap-esent.a -libwinapi_onecoreuap-api-ms-win-security-provider-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-profile-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-localization-obsolete-l1-2-0.a -libwinapi_onecoreuap-api-ms-win-core-winrt-registration-l1-1-0.a -libwinapi_onecoreuap-hid.a -libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-0.a -libwinapi_onecoreuap-api-ms-win-core-file-l1-2-0.a -libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-1.a -libwinapi_onecoreuap-wintrust.a -libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-5.a -libwinapi_onecoreuap-api-ms-win-core-psapi-ansi-l1-1-0.a -libwinapi_onecoreuap-wldap32.a -libwinapi_onecoreuap-mfreadwrite.a -libwinapi_onecoreuap-api-ms-win-core-winrt-string-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-processsnapshot-l1-1-0.a -libwinapi_onecoreuap-profapi.a -libwinapi_onecoreuap-api-ms-win-core-localization-ansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-job-l2-1-1.a -libwinapi_onecoreuap-api-ms-win-core-delayload-l1-1-1.a -libwinapi_onecoreuap-netutils.a -libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-service-winsvc-l1-1-0.a -libwinapi_onecoreuap-bcrypt.a -libwinapi_onecoreuap-api-ms-win-core-privateprofile-l1-1-0.a -libwinapi_onecoreuap-cryptnet.a -libwinapi_onecoreuap-api-ms-win-core-processenvironment-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-processtopology-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-io-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-shcore-stream-winrt-l1-1-0.a -libwinapi_onecoreuap-logoncli.a -libwinapi_onecoreuap-api-ms-win-devices-swdevice-l1-1-0.a -libwinapi_onecoreuap-rpcrt4.a -libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-service-core-l1-1-2.a -libwinapi_onecoreuap-mpr.a -libwinapi_onecoreuap-api-ms-win-core-com-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-security-base-l1-2-1.a -libwinapi_onecoreuap-api-ms-win-core-string-l2-1-0.a -libwinapi_onecoreuap-api-ms-win-gaming-deviceinformation-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-mm-misc-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-heap-obsolete-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-localization-l2-1-0.a -libwinapi_onecoreuap-api-ms-win-core-fibers-l2-1-1.a -libwinapi_onecoreuap-api-ms-win-core-xstate-l2-1-0.a -libwinapi_onecoreuap-api-ms-win-core-com-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-quirks-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-processtopology-obsolete-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-4.a -libwinapi_onecoreuap-winhttp.a -libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-file-l1-2-1.a -libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-3.a -libwinapi_onecoreuap-api-ms-win-core-quirks-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-path-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-firmware-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-heap-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-3.a -libwinapi_onecoreuap-mfplat.a -libwinapi_onecoreuap-api-ms-win-shcore-unicodeansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-comm-l1-1-0.a -libwinapi_onecoreuap-xaudio2_9.a -libwinapi_onecoreuap-api-ms-win-mm-misc-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-mm-time-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-security-provider-ansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-eventing-controller-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-3.a -libwinapi_onecoreuap-dnsapi.a -libwinapi_onecoreuap-api-ms-win-core-namespace-ansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-synch-l1-2-0.a -libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-shutdown-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-timezone-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-privateprofile-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-shell-namespace-l1-1-0.a -libwinapi_onecoreuap-fltlib.a -libwinapi_onecoreuap-api-ms-win-core-winrt-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-security-base-l1-2-0.a -libwinapi_onecoreuap-api-ms-win-core-toolhelp-l1-1-0.a -libwinapi_onecoreuap-inkobjcore.a -libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-2.a -libwinapi_onecoreuap-api-ms-win-core-string-obsolete-l1-1-1.a -libwinapi_onecoreuap-ncrypt.a -libwinapi_onecoreuap-webservices.a -libwinapi_onecoreuap-crypt32.a -libwinapi_onecoreuap-api-ms-win-core-versionansi-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-service-management-l2-1-0.a -libwinapi_onecoreuap-api-ms-win-core-synch-ansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-libraryloader-l2-1-0.a -libwinapi_onecoreuap-coremessaging.a -libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-2.a -libwinapi_onecoreuap-api-ms-win-core-systemtopology-l1-1-1.a -libwinapi_onecoreuap-mswsock.a -libwinapi_onecoreuap-sspicli.a -libwinapi_onecoreuap-api-ms-win-core-io-l1-1-0.a -libwinapi_onecoreuap-windows.data.pdf.a -libwinapi_onecoreuap-srvcli.a -libwinapi_onecoreuap-ext-ms-win-networking-wlanapi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-rtlsupport-l1-1-0.a -libwinapi_onecoreuap-uiautomationcore.a -libwinapi_onecoreuap-api-ms-win-core-util-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-2.a -libwinapi_onecoreuap-api-ms-win-core-version-l1-1-1.a -libwinapi_onecoreuap-ws2_32.a -libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-namedpipe-ansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-rtlsupport-l1-2-0.a -libwinapi_onecoreuap-api-ms-win-gaming-gamemonitor-l1-1-0.a -libwinapi_onecoreuap-dxgi.a -libwinapi_onecoreuap-dfscli.a -libwinapi_onecoreuap-api-ms-win-service-core-ansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-devices-config-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-fibers-l2-1-0.a -libwinapi_onecoreuap-ext-ms-win-gaming-xinput-l1-1-0.a -libwinapi_onecoreuap-urlmon.a -libwinapi_onecoreuap-api-ms-win-core-winrt-error-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-oobe-notification-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-url-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-string-obsolete-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-console-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-shell-shdirectory-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-windowsceip-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-power-limitsmanagement-l1-1-0.a -libwinapi_onecoreuap-authz.a -libwinapi_onecoreuap-ext-ms-win-shell32-shellfolders-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-security-credentials-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-ro-typeresolution-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-namespace-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-processenvironment-l1-2-0.a -libwinapi_onecoreuap-api-ms-win-core-psm-appnotify-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-ntuser-sysparams-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-1.a -libwinapi_onecoreuap-api-ms-win-security-sddl-l1-1-0.a -libwinapi_onecoreuap-d2d1.a -libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-2.a -libwinapi_onecoreuap-d3d11.a -libwinapi_onecoreuap-api-ms-win-core-processtopology-obsolete-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-util-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-power-setting-l1-1-0.a -libwinapi_onecoreuap-wkscli.a -libwinapi_onecoreuap-api-ms-win-core-console-l2-1-0.a -libwinapi_onecoreuap-mfsensorgroup.a -libwinapi_onecoreuap-api-ms-win-core-toolhelp-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-synch-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-interlocked-l1-1-0.a -libwinapi_onecoreuap-hrtfapo.a -libwinapi_onecoreuap-rometadata.a -libwinapi_onecoreuap-api-ms-win-core-string-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-featurestaging-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-3.a -libwinapi_onecoreuap-api-ms-win-core-com-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-comm-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-winrt-robuffer-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-4.a -libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-winrt-error-l1-1-1.a -libwinapi_onecoreuap-oleaut32.a -libwinapi_onecoreuap-api-ms-win-core-synch-l1-2-1.a -libwinapi_onecoreuap-cryptbase.a -libwinapi_onecoreuap-api-ms-win-core-file-ansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-eventing-provider-l1-1-0.a -libwinapi_onecoreuap-xmllite.a -libwinapi_onecoreuap-api-ms-win-core-file-l2-1-3.a -libwinapi_onecoreuap-api-ms-win-eventing-classicprovider-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-3.a -libwinapi_onecoreuap-api-ms-win-core-systemtopology-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-enclave-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-shutdown-ansi-l1-1-0.a -libwinapi_onecoreuap-cabinet.a -libwinapi_onecoreuap-userenv.a -libwinapi_onecoreuap-api-ms-win-security-base-l1-2-2.a -libwinapi_onecoreuap-windowscodecs.a -libwinapi_onecoreuap-schedcli.a -libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-3.a -libwinapi_onecoreuap-wpprecorderum.a -libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-gaming-expandedresources-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-1.a -libwinapi_onecoreuap-ext-ms-win-core-iuri-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-2.a -libwinapi_onecoreuap-deviceaccess.a -libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-2-2.a -libwinapi_onecoreuap-api-ms-win-service-core-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-registry-l2-1-0.a -libwinapi_onecoreuap-tokenbinding.a -libwinapi_onecoreuap-api-ms-win-eventing-tdh-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-1.a -libwinapi_onecoreuap-api-ms-win-power-base-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-security-appcontainer-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-job-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-console-ansi-l2-1-0.a -libwinapi_onecoreuap-api-ms-win-core-calendar-l1-1-0.a -libwinapi_onecoreuap-msajapi.a -libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-2.a -libwinapi_onecoreuap-dsparse.a -libwinapi_onecoreuap-api-ms-win-eventing-obsolete-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-psapi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-security-lsalookup-l2-1-1.a -libwinapi_onecoreuap-api-ms-win-gaming-gamemonitor-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-com-midlproxystub-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-security-base-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-0.a -libwinapi_onecoreuap-d3dcompiler_47.a -libwinapi_onecoreuap-api-ms-win-core-handle-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-com-l2-1-1.a -libwinapi_onecoreuap-samcli.a -libwinapi_onecoreuap-api-ms-win-core-versionansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-eventing-legacy-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-sidebyside-ansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-eventing-consumer-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-string-l2-1-1.a -libwinapi_onecoreuap-dhcpcsvc.a -libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-4.a -libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-2-1.a -libwinapi_onecoreuap-api-ms-win-service-management-l1-1-0.a -libwinapi_onecoreuap-dwrite.a -libwinapi_onecoreuap-api-ms-win-security-isolatedcontainer-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-job-l2-1-0.a -libwinapi_onecoreuap-iphlpapi.a -libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-threadpool-legacy-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-perfcounters-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-security-lsalookup-l2-1-0.a -libwinapi_onecoreuap-api-ms-win-core-file-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-5.a -libwinapi_onecoreuap-propsys.a -libwinapi_onecoreuap-api-ms-win-core-delayload-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-devices-swdevice-l1-1-1.a -libwinapi_onecoreuap-wlanapi.a -libwinapi_onecoreuap-mmdevapi.a -libwinapi_onecoreuap-api-ms-win-security-cryptoapi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-security-sddl-ansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-service-core-ansi-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-interlocked-l1-2-0.a -libwinapi_onecoreuap-api-ms-win-core-file-l2-1-1.a -libwinapi_onecoreuap-api-ms-win-shcore-registry-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-stringansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-console-l3-1-0.a -libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-eventing-consumer-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-security-systemfunctions-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-3.a -libwinapi_onecoreuap-api-ms-win-shcore-registry-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-fibers-l1-1-0.a -libwinapi_onecoreuap-dhcpcsvc6.a -libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-0.a -libwinapi_onecoreuap-api-ms-win-core-processenvironment-ansi-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-threadpool-l1-2-0.a -libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-1.a -libwinapi_onecoreuap-api-ms-win-shcore-sysinfo-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-3.a -libwinapi_onecoreuap-api-ms-win-core-heap-l2-1-0.a -libwinapi_onecoreuap-api-ms-win-core-fibers-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-service-core-l1-1-0.a -libwinapi_onecoreuap-ntdll.a -libwinapi_onecoreuap-api-ms-win-core-featurestaging-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-atoms-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-namedpipe-ansi-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-6.a -libwinapi_onecoreuap-api-ms-win-shcore-path-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-version-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-mm-mme-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-mm-playsound-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-4.a -libwinapi_onecoreuap-api-ms-win-core-file-ansi-l2-1-0.a -libwinapi_onecoreuap-api-ms-win-core-sidebyside-l1-1-0.a -libwinapi_onecoreuap-windows.networking.a -libwinapi_onecoreuap-powrprof.a -libwinapi_onecoreuap-api-ms-win-core-shutdown-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-file-l2-1-2.a -libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-2.a -libwinapi_onecoreuap-api-ms-win-perf-legacy-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-1.a -libwinapi_onecoreuap-api-ms-win-core-enclave-l1-1-1.a -libwinapi_onecoreuap-dsrole.a -libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-0.a -libwinapi_onecoreuap-api-ms-win-security-base-ansi-l1-1-0.a -libwinapi_onecoreuap-websocket.a -libwinapi_onecoreuap-api-ms-win-security-lsalookup-ansi-l2-1-0.a -) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-advapi32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-advapi32.a deleted file mode 100644 index d5fdc1da0aea73d774d3cc17b6bfe39853db1ceb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 513278 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 EKa>6gga7~l diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-apphelp.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-apphelp.a deleted file mode 100644 index 1fab811276c0a813318d4c770048db19b63d2976..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8254 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 deT`nL+QCe09^cVfw}8Q2Dz(@$$O*C diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-comdlg32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-comdlg32.a deleted file mode 100644 index 641f77b518482937b9bf667963c7e300114e0511..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16894 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-newdev.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-newdev.a deleted file mode 100644 index c5038ac1b9b64ad2270a843367e9f46cc031abcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10390 zcmeHNVQ|4cQD@f?i^ogJ9YpEMf4=!UEX_ocYggm_nyza{HEEh zHQ$7YM#xObzT0!{yYFI0c3s!n6&}s9*S$>4*pDi2xvXn!w(HC|vTUxRB+w5&UHNqgI7wRV>snjNFwKC)Y^$6AKXj_RyumAbQ$vH{2t$%POqH>^ie+7IU^u*K!&btIO#mhSzJoBRALXi!@4| zg?wHoVd_PcEl>ON^#`*kP=M?dz*D?7138x+ySyHqWudyCLo%Du5Z^;QcY*RWbl zHvIV*;O9V5+aQD2(E#OcX}((KN@<-47<|NA8~)Y|2bUVz_UJ z0hy^M20M|zXbeh((cnYOQ(JTAiO0}ih&cx|!NDH8sU%eb+~T>&GAMhd4#w|=mw3b}Q_KsvT6>E66v#mY^I@oadT#RSR2F>k%ua^=gPR+S4I|}^r*_18Nv-bZJp>{)@AeuB|mahgn{Q8{DfsR?~|Q1r@pgVO{k50 zDX_Ep8duV|sIjlCw&RQ%A1UJwiyCe?E)X?74afDhv4qchRBcRy`W1kGsM#axO!Aw@ zb94ikd`;wqf#({0g=NTHiy#r!kalcXNy>lqI|iLqh*O_9{@+%3Gfw_DlyQggUp-k< zZ~^{DoP_oHzli=AmH(LmCW!A=lgxcu11S02&j|z1HTV)smEwcn@BD9y(w;W+ZzN;B zzP1)v`RTm#ocZG6{vGCP$OE}E@V@p=^s4`?(WAn2A^XdxMOe4KjVnhcRYop zybtbp&Ux>@4Lps{bkr4pN@0Om|_pN#dT zQgEO1bAr`g-A9jepA)e!4}77ccNI#ai2ma6T{y14&!Kf~RMrC|{`Z=RjsmZ9536dp WEiF`N@H^&-Jt3k)a(GI+rN02O9Q+di diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-ole32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-ole32.a deleted file mode 100644 index a987556d29f424340ec9a7759cd9e310e2a70c82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 317912 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-oleacc.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-oleacc.a deleted file mode 100644 index 49f6a39d3b848ca19d146665e2419ad74baaf2db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11902 zcmeHNZExFD6h2MbZtXTPL{%y@SU?>@0tKf{omQHrj%d&ig;g*##EV=fb{DU193}1x zFPbU@10gm#s;s@{p_EY!;eB>kJoO}Ip9bY?c!9f|h%6-YX$G*PD&vWj%wqLxi zcblynv#*z;sj^a0E2^@(tdvUl!z7la(%MqhJ79Yj0GvuRfrxX?0C|zh`!P+Lq~>U9IjI zrgmtx^^T>X@Mu-l)T(A%4a%O}X`4-_YwqhE&2SFews~OMnq!-Kv#IGC9=m6P)-rYD zUq3nAwc0r3n_Xw`X0vJbdRD_WZ#V9nO&2uH+Usa33R_*L^Y*=N-L}lOt8F^Y?tX`4 z-jRvj{QNZLX4mZP+x}2-xz|ssk&BAU-!k2I(PDSZBloU1enfZ_y?N_qy-r6JuX0)CjV<3FR{zOVveo`uWP}>1>IX2j(vTx7W4vMi2Z(>^!#>z zO}H-tmBjEOv(F{g%7X3|TRKr46GIB@xUK#6E|)NTMJ!E|90CKFbvXmbzGTxdiJpXC zbBq&A*+)0k#7cmVSjme5{DzI3f`;5^#8}i*6s1yOR2sAz)Rx87;2fL!3Eo5s`D832 zU-BCEw>&gcRRSgBYJlEb@NzVQEFFhlKJeajkE%FWR~Q#Uy~t{?iaKA&^#T^rJl0X? zpVDY@r|!8j2B8aUMwvOs|)AF_h^Peyf6ej4U-pbVcaxc9Le=!y!cYC7x3Z=-sjWu zVipoNG$YN4=RNd?oVe~us4Bn@SSHS#Ga|V=pG|AX2W2fAAC&ky@fBiZ5Fb7ka5PLl z>uM&f z*T(TayLTM&!DQ1&pAz|FqH2B!q7|!yRDs9q%YJ<7H-9ks0rJ5~>RD3zmZ| zz!{Q3FL$OaXJg9vodUbdeT)j2a+Y@r#T1-yEIrxp6q3;&`!b^6k>vFbPk4s9l#Lfl z@f;bUhwa4MtSAP5>v@Ik?qT*{C61{-#(8Sk-Acxg%J}{M)2>-{*R2v z_QhTPjL7)jS&2V${T3bOpk2nc5SdRRO-iGF%^mS@&-x!j7Ew4u1nkgVRI+ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-oleaut32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-oleaut32.a deleted file mode 100644 index 8370d6a4cdf345337dc47faabe66933b9c0dda1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 330966 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 xzM7r8+~oJv$4}-Xx4}=e;kozp%Xw{{uYDRo4Ij diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-oledlg.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-oledlg.a deleted file mode 100644 index 6bb7fe4adcd32e5801f4ec77500843ed608c7d84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18022 zcmeHOTW=dh6h5)jn|q}V%edL)(9uYsF5Bvbc1L6ts%#Wa)%U))7*U8#+U9GYs&BbTV&h+u~GnlGXT@S0qpw$pzxRY!+!#hKlZ!$ z6Bv^}>G&s5kNngBh<^rS^3OT`^xpvFU-(1(i@ySpFa0dOj4}CH$5(y=Api1@;$Qt1 zfc!#F{9+4Wv1M6{mUXpn_xje7J+OP$Vy9tSx0>yGw`rm9cGa}ZS*z7tCGW^PZF{ZL zv$yJ9tI@gDZrL~Omepz5jn;-$xA55;Hdvc>z45>chs!Pd>cy+wMtxvkYPPTUm%*}{ zH@a3>9+cFEXx606rFws0U+LOw&3a2KRL|g2RgqS#p2518SFhP?gQZ@lYxf3CTW@eU zGx8a&j^Hy+`!BX}5(kp0wO`NR@>P*mww}Sd7aGk$c%&7nuB8>{X*q3N?6hxUBemvv zGA_sYrIq5zL}Rnw-mtH9wt8!}UXYd%($$MpbltYG=;B(Z9Z{-?l`=^XQKE=h@Aa+z zhgwM@@ba{$DbHy~tE}sqKv9e*9rdceS zb7hD4Rtk-;_9B%56sG`=a%vBh2KMa%r-uhcSXwEeh1Q3waLxiO-7Bs3`#Y$?9nx!3 zfv09&-Tj!D#&)T00Ss4f&Xtqiq2YQJSMLxeW+L?5d^f&)>B1YA-Yhj*$eyM3X3KUm z{=E;dF|}U5?g|{aI$l(KK2Qg#sbiHJrlX8gewdCjM$@cAz1N*HjyyhlFe^VbRENig z5Rjibs2Ae=qB_WtP7Xf6FtOF7z&PHFkK;uw9Qk zxS+X>!m+Eb#)_V27izwnCOtPDj0yL7ppYy)&*O8LQ*qF}$xA(|qhqAN`e1XbeO)As zFKwi$lM}E29$m2j8ebYy->FO@Z4TK4E4%2Xn5+`uJq{(v!7rFdXp@te8L<`h4Z|qU zvnlPg8dMB*HQ2{p{{knmz^Skm5tp3B{P!I+Q&a>a=4ycKt*{(d5fR++S>9uBnxk2) zY+b1rd_8S7sG?3cTFc;}=d=#x`y3HbVz2)e*GVJla`={yG-MhZbPo0R^!xFxz zPQly(ObKQMpY*JQRAu$0YV+Z>1Jp6(l>!`m^Jq~G_>`;^{wm-~cmy=7;J(t#ON*q1 z093nJ#Ys$&BWo8)iGNFwgD)|``;}O`_Jk}-)(=L0HA6nmh=A7HFHHpb$3r-%F=BQT z^0l41Vi71$=7m{7ekCUIE6UDEIR6`j%TAoXB9LNaO_KAkDfMp0`GaV^5b{5X*7G=@ z_-<6re~m^C+G9NAp#C_@HNKF`|6>H_DUPbNF4uWhJTzBf%kCcPXhnP z!bqqQOm-dqHTqZaKMDSyi--U6e2D+QL(uHR{|$vVC&~Y9rQYrM|8}%qi2px}*7NxP zNyP1_{C`yNA3VBUPP+{}MIAuruK`sNaF~PdG3GTO+;ipFJ|Z*mwO}^01)Lj!`tY?N z30pW4jffgSCe7=?*tVdp2|-(!#JX@ko-G*JdjVlIU^CvjFwT3yVX+1E+AZ~KLhSbf zz1PZm5XeY;EjX9qKaA_pz9@}Eo& zztauaIH)fKFhG>QyHKyuy@&b=l-q);#&w%bARCYQ8dRO4YsG8&%(5h1Jc4t7X zXuS~XZ$|5RTu=WZ8I|h~2xiigu0N9kfq^+q3&!!f^n_A#P9NJ$9dicI9uyyXPEd zQR}rz^m<0(Y@gllJ}mt24dcH?ZAtU4KK40|ihrH@75q_NkZ-cI9xEGoU7q+3KHgnyhWrPQ Yd}nP}<~!YI_2VF4BYSNmlH&aT0J?!W!TN=Zjb~hlBn$`~xjD^}F!epA6WYvzsQ zGj}rghSlDvzd8N79uK9ZQl(TeYKx1yZm=pj)%E3aEoiVl4FEbo;ctM+UjU{sr#SN$ zk5B#yK=IsfJYM(-fa2`8JYM_`fa0Yed7MKW#ra=(eEAOmim(38<7+!xL5!)*u5x?|b@?=QoeUH`~(8@A;;YnETX38vZDZkY)&3U0Ir^}e?yfg~9s zt~=Y_uCwaxG;z++FU7@(`=I4CKiqNJpGm(Y$pS>YC#q)>tbNDvuUmUTKREmyT$^y% ziaOrnZLhs;`MzWKY^O%3TVH9nEqVCZZFlnk!rKR(zSrFJq)B6|SOsFQ?YFF^eY4@( zt5)0Y+7neJwpsOD*V*vdl3ulZD_V_24WV7H<1nm*i)0}J7rU#TBv^aJwy!m}+(rlc zWjifRNKwaID4{}VZ#4J(q9@e8m%f(_qf)8pdZkHHyf@K2>*Emur;=6-3bMOTwW{s=|b1<6HHzwtrtdGqe3r?v_9hu zLo<(uU=7*YOkh=EtS5%83+=uNL%&LWP#}y3A7h%0WhVaC2jFkDx{%;+1=sy48Z3@l z-V-KLBpLE|A?)rvjRwax8*qa5RmI;BFXs|Y=!0AzmI)V@yYm?o6o69F>;hY#Gpv+` z*>!emA{+x_32gfHo#q`bVcd$XG)?jZ*w0p%v!B+N)-(#T1>s{(=mP_X%%+?)65tj~ zd7{A&SjfU($WDJchGCS-T#5SH|7AP`SXiI74^Od4-^cAE=TD_SWI--t{U-sBDbvA7 zY5&n)OSX-AP=$lYt_yojyHm!_Hl=PUsKKV+ApH)woJHF5=a@0Vb5; zj2}LFk^VY5ieypgY|c73V1--Npk+S)bDYech$HA=XcdO!Ff762j%=3Vu17vLp;eV-_POL zDMWmKi3?b&!ClPbvlY)w(h6kC^o5j6A6a*{XPofjX+bc380$Vmdmn!ge;llPe8z(C zUE&Phs|f2}O3C?=bw8H#!&vtxi1X5WrN_X!OS2VZmt|Qp-AK!H`PrBI?jt{DURd|D zs0V}kG1DQ_*&9;s@8;Ey;qO3XKjsBy8F-?>E*1j4X0wg)oJ%rfxv`v%<<%0uq0sf{ z3H3`n(EEAo>ynpylHU5KQoqM}>%JP7@YX+9;{?lRhhX^>?YrXrexB|6a{;#_uU#w= z)@bk*XS-t7g7>PrEH$8(QUex~8gPWH=%)d7i8&{!0d1+@<22x&8kf+3Lp4rp@1-F$ z;B=q?-B(Tg4lLhxU&r;J5NX0&T)tFyR=!rjl8(cN}K{&-0v0`529}y^KAK3-tYGLx-(Ozr@h~;C7*#uHvo~H zALa%?6HKSCbn|WBQ{DhDrqgUAyH1+UBw2d(DQ|Q~Hvr7+ciVm8)emz6Fh(p_d}E$x zyPom}Krw5@Yr!1sRv*yhUN diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-psapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-psapi.a deleted file mode 100644 index d3782543d3f009cff892138463b3435a70b19e98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23970 zcmeHPTW{P%6rSv+w~*3X+NNBptrRY*Ab4}}ZlnsDwkeHJt5kr3s!EQNb+Su0yQ}pk zO{=PkP*owsLxm9Hkq4d-s!)Xx4?OgNCmss&6cj~Cey3j>6ZA|ZQ!Aml)U zkinl>I`ktUn2vtO((zvj!88nZm|p&xrPJRKg6YinER8%N1k)Qov2+&pF})4v#iaeh z(m3p6(m{u53hXhRd(6^%zY&7z!XGTn{7nd^EB~ckRw2e8dWi^e9^^#@WuGGv%#Q@<(Q8)Anqgq+S$@Mj>d1t=fyj7{Kd}y_1Hi%(VRvU(2u1JFI z$ZW0Bs+iTvU2CpcU$Siba=kfk&zr5KvU5Z`i}$V8ynV53)>bUrEs7$P|2n7ih~STt z^;K)N-n=tgTdoT`ze?E8u9_>>zmxM_mNSNRnGzsj}ewV2tE>cQ+~Re-%ze$}3qoe3|Pw%SUn!aX;)^_^KL z(AI1;tP(GrTxvz(vz5>5v8Cm`WUW`0tV_+xy44Igd$1bv2vSHn1*?_gcm<`}$j1qF z$Z;Y0@#Ch+Ol@t|L9}H%!0^hXf9wJYUInWBLjP%<6S3SK%GkV)^aMia`OE902=TAn zE^O4?uV~(WNu-!WVXz36RJ5+=AMo&+I9ysvWa#TJmJU$x7`mr{ZKA>IZrfh zH_7E_HyCbL;C6$sGZbLQ^?Xa?&}gYz1;OYt_(w=>rGat{JE*`b8-!wRFK;C~mld*}@1q^x zSGS1zEWtJMJ4@T=Al-|C?K16)fjKM`CuF%*UaQ?=5{fQQOJgN>0ROag8UC?-u}#Gy z`w>=VA0wzS$2M+}lhB)`YqrXeC$JMwFEmyT*_x(}>6A#FB0)iuBf&me@dt1TnJ@5j z2>r-gpug#088pkZoEPhklC`7FA;X0NKgcuMzEdBA*{!F zu(=y-r}JVVwyrofTn06M`s_9Q_vn$3iM^Ks#u$h$%#$JR0PHcuGIZjx4o;=Wi`i!V zaf8ThNTURC&`nzlbAY2*ln@bsOK1ytI6>=*SDuxKm5>n3opIs>?BRl3XOdC+pRF?F z0qiJaC3h$jAdh8KM`H)Y{bVHE>r-;+I?|0mh_&p~_OBJh8K3FtaQzJ+bOdt2+} z1fNJAbSERhqLgpDNKg&7^F@O7U^^G_cn6`|NN~b){gaLMBM53(1lmWKfUYy-E^K9B zJKY|yC}yPRBO$$z_m6KshpXQS=?fA@K~=}ghWu2@ z2Dmy5?CuQNj25dV64hshGr|ikSfsXNA)-K-(D5%NXEA!2tf~ zGDLu6$AE}q00whWYb63mikQ(KZSJ>_qJP`bf6$M9@cz3H{XXx{(I5Z)pJ?;IDf%h+ zLwi5H`2InPe$Q(;yT47aK&)17m}vjyX0&oF`7%u zR>kb?)7jzeU_dW31pNUFz_KLS>qnU#_QRZi&PsgL%b`Zx&qr&~W{1-^gAtd$IN?4W z)XST}S%!X-eR$AL{M=ZSH-jniMU5q|F9~Dz_t9pAQ^apS;xk^v!w5IozP@Y3^O3EG z2JzqPj5-VKe?vI^`h$1}W(d&Q?K?1i6!G#MZadMv8|>xbBF41-FJK|Ky)_nYUXjP_ z>7&j6reDBf*Hjq;Z>etscQ%wSvnJcqBlmF;xIfDTbj`kirPkO%z0wZx+|T(BcT!hB diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-resutils.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-resutils.a deleted file mode 100644 index bd9e367ba19ea1913d52ba85f99ffe0733fee78a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10416 zcmeI2|7#pY6u@8hlC%jCiHXiRLO=+QL!L6FTRyYbFkZo}?g zz7&yAq=<+{P*jA1zxkWL`eXhM{}}6g^JRDTc5iPlvXO%fw=;7yZ+2$hywAMZ+k5l2 z>25XdOuko)hRS?Juju94Y`Iv(4+b?Z7HfJ z*ULo!x~{G8>y=Lc=(@4VubVyqUALa_Yvvii%rnDSGK@9Pc0HqR`?hN=IhJi4G~4E0 z)4;;Rnr`TGMyt6=mne7I_Lk$?9dpmHoP&1D-nUzZYkM8P+42n2z}CAq7!BLBa=1M_ zw7oU#Y29|4+edZR*|S~$=#jbE!aj}W?w*k%AgW}m2Tjjkah=_|>Ee)a{&!o>)=u;` zePqQQKeTlU&sP!^Wax&kY zPGLa-C??JeOh2^Vg-rI{U~Un`F)&+!ZNJfJ@9+|4VG&K!B+r2Xrd`ee>6dgG26aE- zV~$b5gr$8`N?Zbb%3>aA@E2xsI}qfE5|QMUF}%-l>gN|0W@i`S^O8mSDuM>TVosc* z&UD_*jXCCH7#X#UWax1+enCa_BV$josPiP_vC?lE8DAyK#mM+BSuP;sZCvR=$+#?S zLmtR`JkJa>A@2wlLPFL>2_+i*iLoH0j}{^ihy7&pdUy@FS;)vuwG#6v-=Zz`86OYM`5rWTE^ina@Z`RsD5}KZRWQjOl=q8@S?w zQZgoOB;gm;VWxwg$S8z9;|?!iu?9b5D(FaruZ-e8PC+J6>?n}{N99T-9%ahDgcScBg%O`AQ(B2^-PHp&^|&hlIx bSV#OnJ45X$vYefI{v9a-MO-oYz18~{1~&`p diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-rstrtmgr.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-rstrtmgr.a deleted file mode 100644 index 5f361602a50d0eb28d9fd59851295225a98f995d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6568 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 U+#@!b8Klm2tQ%A%VoNXlA6fjfsQ>@~ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-setupapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-setupapi.a deleted file mode 100644 index 2d1f9c1f97254639ef239f7a5343acf6c9ee55fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157106 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 BYwrL6 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-tdh.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-tdh.a deleted file mode 100644 index 246ce3ba8af45c2c3b7c808336de7ed91d768e03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11886 zcmeHN&2Jk;6n|MKX%m8|N`VL>FeQcZA+t`MwJo74qO=sLm4ZkmgpfAd?i!mqwqRaI40s6re#aNxj!1LAM!--0-DcyhTvgEK>te>%h0^5rK@G?N*Pk{Mf0TwVOzw|rz z$L0aZAOD;C7ybeuzx)UHE3*LPUpvnINvw**97pr`NJkxL>nut75lXSIGzRZpXXU?R&dU&vv^vI&E*yYumotv>h7@?s#A~ zJ;!~zHN%$MywYiR9rv=+X*Ilo54PRf>Dj6rC7tJOsJH52xx_qhR&|-2Xmbt)eD~u2gEFnkD^PSxtukZMtn4LkSt;y4sNS{xo0!3A> zPuN)WgxN#aofJiP&>#4vZbl1X%q}$hIvuK&+8{?d27G~GKC3k0w>buWtJO6HzZTjZHx_iW|22Ns zST`^@LA}9#EeDvOdDY=p=*zLB7xF>Q7irQH>14cwf&x%T%q}qdJj+s9klkcED5|4l zD1nCG-0fWF5{9jqrD>3dfPQ9Oj()N)*)($U3c~xW@PR1{WK&Fx1o)hVJTTxlOyqHP z$d5k*(=^LvPNI?Pf4wI0=Lj40U7S8T@agzNtIT_t|7Czo*smew|ELFW#l zbv<0KX?7~uSVL+TBE8u9UqhXqUN7Vijbj6KZt3+b(J#W)#Xv{MaKw+FoT6Wk9!0V! z^^E3RNXVi#IocL5#nH-ap_)9ng ze!}EP3xv0@;fBhSBW67tN36PhGnnoS!HODk1V2}d&5;E{NbIK0SJX-61nrLGB2K)+ z1uQh+Hpa;jhZKm}Ay>rLvLU`|s))ajE9IzNVOv^F4|7-eT55OLuHftSlwIMrUN1yE zodd?*6^_#UCqFr1J(GMMdWoT1M!gwGC^FzKhMG}_z)zYZSL|1_Vc)9D_vq^tp;2VtNxQ{-gN|?{(HZ5)drj-rv)e3*>C>FOD-Fwp; zKoajKaW2PQ>*s^n7oVn;cLJ<)lGpt=7|vz99RH~nkoSOer5s+WLVm1g zD2#h)l{a?NdE#qvDi+Y1lulzM; zFwrYN?SkYY_53^2ifET78>v~#xh@0te~g{TNB^}unF$^{|gq={=Ggo1j29*S}R!2z*x>J72##*yPTJ#fg0 zbDxHDpNR*c%a5k|`Hc=oer_uKi&{OhmQm-Bu^!j$-r+zg=u5_Vy zX%D8;8(=UeTu2|>X>06VRMv1`rgXv4xQ@0HZnGMoeV~1vFBITausqQoBubk7R8_IEsuE7^b7s z@v*YV_$n|>hx`v2AlX$JK>QM?xtNti?RhCDBv?l`&6Je@pXI2AI{ZLoRaJepc{FuM zR5IPz4?NH42OIM6bG$}spJjPO73UeQf6C&SCI-$e`vKN(qt20sGMVRfeo?>amfGlS zVEBa`SLg>GVxn@~B9G`CUBsM~<6ONjswZzVjJDy4FRz}^)5S$@GqpmCmeEE2RK(pw zO+~DVPI@nkQ=|8iOKZ7vfXSci6Ocu>WQsiCTdGgwJwRLJ=?gg_&q=qgcBFQQ|C-RE da$*ZL63TUD*^$p`sKYl@3a2gkkFu&P`VG~Equc-h diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-user32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-user32.a deleted file mode 100644 index 2486aac745881167205640be078301098fdb7ff1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 510034 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%0DsKF`e`PAWd zUFu%I$_ma)O}kK$dOK21dK=k#4XL+*l}(MFY?s&lo1fgd{n3YIx7&qs8_^gx{QVr@ zi&EQpAO)dZwHI}7j*UTTs;!JH9mP&&mX2bh6|O^1pG=`0xqVi#$t-2+aN7_9%o15A zooEb7q+`J6SQh8o2*;fnaNKAL?`~NK>k`K{+WuvlFs%I7IIi(&V1Xfl&da^!#rIj^-N@BRl?ehY!6#$Z)Oc_Wg91;) zqx1aXzr|&wEs~B$0&`8XFNdvt@t?_L6=TrKOgyTTBSM;)>g)aST7L| zny7Q6*Nb>W&#{X-PxN}WoYy6+d=TnL89wo|=Wo!jr%z*9Tw5F8QDGAyjK&nGTf>?_ ztw1RL4EdFcC+X+`sttLpfDqx_S~P+wC2<^(5^jM6FZi?4%8MC^83NEl3tqf}HA=*H zA$gPk7KH()SV`;;xyTW zSf7Jm-^qvdMpZori~ale2#{%h{Xp@D^YrUqD&tP_>qEU>%CCQ|*Ngo67V>3QzrLz@ z*LN5DS>*l9WpW&tV*eh!qClwuKVX@DS1H}RwxwuqU(d;an)*glFyKc-#WV)E3UcPj zfIt~{5(7^3dMO5cqt}ZVa0OR(RtBtSupr*9FE$HaLt9XaS@5n9@X~;v@tVeZp6?2U z@AKcu%ZBv(oFyB!BQ_8MW@Uq!feHFrv&b=lzFks^*>GJ5cxk{dc-6CE(l;#my{vFX z)bcW786RjtMVN?A4G|;G5+95VT(oeUMP|g=~;sS3g`pi(t%Yx;pnN~L|CTwBbtSr#s RVbSBk*-p*bv7op(@DD*HU3CBe diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-winmm.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel-winmm.a deleted file mode 100644 index 5e36466c9bad01ee4d966496e6196f1890b8a55c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5782 zcmeI0TWb?R6vt0CsnyVGu|<4brHY8eO-(l`h!m@+50!!yMTF_LJ872YMzXyqB7G=* z?ne+mf)76T!AC!V&wdW;Idj>aZ4#S`sT4Y}Gn2Fb-MO6KoSDtF`(A6M@*sQHPNw{H z-p#vCX==u{9dXOdZM)#O>Vc&!0E_^negI@X0Sy0?SN1yqU8CRRHTD&NuJO-wF*e88 z%QkPd*#ZxFi_JBB&NhR(*9;gMw@NN^3#=L})1~ZXyu9T1X#+=t|CtszFqVj=4eA{l)9P=Q`Er~D;eyUnP$P!x@m1E z-AHd;QR@(0nCPO@_jUQ|+4K4NoL{Y?Ay*EnT;2F}0I-@Wdu!UD?B;yY>(htYAelK= zRxgb)Pw8G7V~#RHL!(b7HIHI`hVWK8)l(zph6qTfXmNKYYJ(DKEO?9gpw_dXxY9qx z#bO+nG{r8?{1|l?GXI<6DbWqgCa5>qud9j*@@zMXwcacZU9>99`?^j#T|ZnB^=S&* zVtuE@{EP})KWtY-td;K+oIp9Otk>71MbMR)X&U4S@GoXp@=xtZDtOz02 zY*R^V65x%%jpOQO79R0OLj6Sg*#5l?8vPZIqc)ml6Tn{pq0?;~_mg`v4$$~Acs*}!Q_Y>1# z){odL1n2kq;=JgXCmzZ94i57u&fhBEQ*n}p5uF`SZ7hj*bHp+63F|2WiO7ToCmuFe}HkT_Fiky(UwhsW_1laot zz@y&>IPe!958ef!IDLc1!*u|PN0)g#_BsH?+!Bv3EUTQG9iV$3;Ak;?i**UpoLm@r@^Vyzp-TiWmRGq0Z`ojGmm%hJc@U*ZYaL{ zK9BGH7J%Xh?@+8(&sM8%ZHC>=>T=i%yVbMpdRV>HXw^E6DiUv3O4ZU_wb@vq7}49U zaJAhHw`!egy?v|I47bB3owM0#x0}^k70=!Xp}HQ{>IqyPuC8t`)q1rnP^~sLI#qdi zrQ7I*%iTr`%Ms-nq|3cpx3|<@jabC_7Ws16i?e7Hm8(BQoN6AQyDe`fuS91PU2!f( z53N&h|Bd#Fb~Zag>QcB?+iE%zfCHQd~6w65dc^)Bv4_Z!43nOmS8Fz-ODuI8+hO-R-S)a$jX^tCgI}C#9;=qO>53w%PN#_di(9?UR_}aktsOO&BLhhqO2iSS zaWHU+ab%opZEZx2v?;2>r0GZEc}<#j#H-tNC7Hvx5t$|vCr}<1$jIWy=UR0o!BK^n zG|b-G2wNx_?M~S3H9~n6SB^~+Wpm{$h1-qQ@NBJ9TWK^K#g7HZ^Pqumls*Eie9i0aRzoo%)^#Y0C725GTgk0}J5qW0~Fa_70IMNy7E znTjl0OQ$TZAc~@Aj7ngT>UY9By_vQ&MWhWR1SK3^)8a=FrcIWk(V?W=$I5Sk$X zCw2im&i3}eOfS6MWBdI#Iat0nQ%4N+XJI)Du>8f$3aaKI;U4id=z=Ha1S=Xeup6IC z4-1eNeDi`%eEa+Jl?5LfFfi@l6Zs;&a{jxQmoHwtFtc>&dqkUAYc#_s^S@uB)v{}? zc2f`{x?X2=i>cUsh)u6AG{)RKT3t=`-PXJZiCTL~tBQ&p%faY?gXrZ};wNI^$`1yaMxyT*^H`DYq_*_RKWKiq6 z&@A}%RO6G=cdy{EkJz0OQvWXHg;0&BhXt=3IWVF)v7 znhH4q8DO=`Wq|6J>Qn_?pYUh4q=GREd{att3GgGf<(mL-Ad{T&pP(p_ByHyN`MEq7 zC)qE=#-_4gC}D@e0`&_Iv*O>yhQz@n23wLyqnyV4HzPz-l7qZwzkqsN({*$QSGcG2 zz0~8>PIGv(x3&9%;xqb%3i7PG`J^OKITnzo>*gzo=OWp8J>n5GEb$j#o}{DuI5xGz z*VX8bVTiGhZ3sww5;axs!1e5z7_R%-I~4?c4A=Lt zXv1)QHEL^0CW-46?Y@I>-E{L=xZZa2NnBG;IV!Hd2F6rGO0Z3M6-cH^;YdD6WDE-1 zCpdv^1NbSXMrk?FO;S>mL(Co`Ek0ZELwh-2u+aWK7Iqlgf2g5kl4xJk?mGzW9XFqa z_8+_XB-*F3HAhAJDX=EhQjPehBYZ2wpN=S$1n>cFtrBz8+vMbtU-mxmOrA&|`rq*P>rl8wMZHq38LCP}lRvi7^TR`~>&ZT(y|8F(}Dn zz2u4YGqz2WX?cb9C$TL@)$%8_)+cX9+VM_39R;Q3zsU(~8^F&nRp{m=j+DIgPDIq? zaX;^e`*MCZvu?26xRE30LZyx$$GUkbh60+ZC(Agkdj1f@w~qUnh(bvKKgX?!d*z&P z(38jhoFDcx`-V4TKkScV-yGMFu*lGnUfhpn-w02WLOfEE$NH=%)=Rc6pUp)o`-VpI zquMtw64setozHxH_4T`Y-obN`WbKI%068V39mCfVB#-N&AFj)J+iw2|722@bnQL6> zv3`G&vokle`wp6&>ACr=*_n6TeA0fQzI#+$=LpyFl_7YYG}|zTBRDJDJs(jh3E&sF zb(C7dK3*LY(Ch_I37DO?Ecp9~ieVD4t|4cV641vhWO1%UHx26vl0f@09qo%d3hiP*tD$`oBif>`Uv|#6 z{69sA46}Q5FaIR%o<8Wb?4ElZ=0okCkKKII?jfK1sCLhDFm$1Ps`dRzrbl$!=R!oG zB!Iu-c4!UoK43Uo^8G^Q$7QX@1)={4p^xNANf~FJ^I5=`B;-2xboUEB^PGBVxd0fH zX5tZQG` zNIB+xRzV1aYo#{L96cj>ZSU*p&DOUKlz?&8w@s4-q-uSedfxHYw~6zUU)@vi^yy~n z+Ze3-TJYm&_NNHf@daHwL$k+AEj7E9k+^0rc=~xuXYBWH@8LwoFh6hhwmC_T`zs1h zg7z&g{Qgy%?Rc?PS*>R~#Z?B|2JkMXW@$O-W3=S)?(411@XlJU-&`e)+eWqJ4;lzq z+);QJBUc^olNh@ed_A@WTfcwgq2I4@fH2EolIwWVu!8>y9q;msis_!O!O!cmp!9q( zqEHgRFLA43T$b9>_9`cNo$u+nEmiC_{F#lTJh$V_RX)zqz&{wu5R%?E5&4%S^>u4G zERhHS+`(Oj{XXAIoxph3*ArW|S8ZnRAu6Pg^G&n^tnK;tZ_{kalay0X8lF~ch!DUn z+$EIrk}AC(9Vf5NJ-x2kh?Te5gS6lu!1i!z7CZxd zKfI4KN4X#D?~CKhR;eDj`dIL;Qgie>bCQ<@RUOIC@Z>%HwdI2S7D_gsuV#423Le#ewbzyaT7;YG(ZDmj zv(#pLq%vW${VUvB5}=kIyR(w-2RyyF<)S^K{|OEdhpk$u^Fidqy;?2pzMAb~y`6sB z%_p0VzJa!YJny;rq%HIu@{KA551V+EA6EY}-B?;VR8O&Ior(!@6$2rrFPXlpB1ST`!G2%n9JvxK#+(OC3kQk(az2 z`1*Z|_R7s{jH~2;+JDqBZs0@&{_mI}CcP`zo}~g{P-EN*C$Mb*zroZc3&Z~OJb`&n zPY-bRzBzBu2WbKA(lD`zmrrwVFq#D2)t{4-P|= z7)4?bG3qN{`NHquE5oPo6ZjE)X~gH5nVp&KOxrEGYc_O}nc2=fv-9uwd!Ct{=?llI zoz=!GGe`1KS6nETi)FVmSIXyImZgXJe6cuR<|S5U0N?kpR`3Yk4&+m9kLCyEBHrv(priY1}m9kf!_gc-1F?l`-44)C#&d7WTIBOswTx`(6K1vx^gO#_x8ULHn(s*Q_^J zt37;HrH6~*dt$w1m=L~$jV3|jY;f7vD(_1VB}Iczwd+A=jkWiJYA`EflfcragG)iZ zE;3b-Xfn#Z(eeE^{k5QT?Zl?`>S%IAPQ6SC(afA^Z>;&9YR?yycD2`8@@yp{O)$z( zu3l=n6RhHV`qqlHOlui?RkD<*>-A=LH9!)q_KcA=eK*_Ot~GJ%6*uo(BhcSY9dAs=ex95teftmhTlVcDp0Q;0DPx z>4meX5xLuj(KNP8cgMjE%&3Z7Up*wIkC!t@MjNZ#AQ^3(rkM#-&$*`eo$&mAH~rztU$fj z*l1toDGXtek)}?jzyUV8oC7qzG^Wbw`h>UHUT#Nsk~ctWn(@f7|hi_;W>**+=Hs$qZo&qfMGknm z>iSn~c+A9v*pp?O4bKVeD>l3=QYdoZdkhUW#M-N-z=ye*d?+p$e7J?+7-bz+gvO*O zP3!QnR_`$D(6h@K*5OmToaDn^?BBT7VW%AxnYIjMCCMo+$RWa12foG7$_2H*k6I1l zNpkBiWfw{@c`#We(e(bOc43E!2>uZb>v`x_Nin`HreGC{G1)MG)UXOapr#yU6iw&46E?9T~4aJSw!%-R^d@%!|;#7nPvssF5$Q+3vn8Mh0cLr@Nwh_ z$Zzk%2Py@oxN(_cuAe4MnUzdAfU`a>Q)UP!!wx?1omsXY2L&kex~CTD`;U$+}(6uqU6`b7u4$MLF~d-LPzvsMy6LwPYU!ayKq>fP~^au7#cm6B!~_~3Ra;! zK|ak3SNigN!LSNRtcV^V9H?7Fbm`_{Kz_8x68U|}$?N=>=h5Y(rp~ADGNaZ*?`i9Z zG}l8HwR(rGhxBh>nw)|B0pF_RdWdegjJqD%5=DNdQU5rp4|Gc3AL0otbl@|LBRp3p z3<~looGiF;Pn;(wY;5NGEP}-QgPgEU69SAIofk5V`x0Y}5C~Iw*;Ic}|26^7=jQ z1G2pnh!n*U_Q@;Sel^W~au#mpFm%Sma(Ta}b@%YSV&&=`nof(hc{=n() zwm)2Y&y1%^tzuQIa(#8(G|Q|?&rP$oUX5;OECIj`0OMzXMHk@G@BDb>Hvl@W{=$#z zzXH&)j5a!M{mG9ze*w_(<~bdP`4XFv5jPS3Z|cvQD+t7->+ zla9#V?RdN0zIWjCY`6Qg6L^PSU?2IN-a%NgtF~j~?fV|sZO?IM@qF0XqP8A-;lt1g zu_4>v@7W0>zx*T%BaIUCnRh%0``x|xvk<2$BzDv3IZZ$CL*E<3nnrl6PTq0f3DLF3 zTb)+7zwd;8x0Adt10nDJ=)m>654=Nv*V}SaEhcLDT_1OxW)L4sWO@(;pF6&2UtGDz zd#z?z>Izm4V`HUUwk*puty*2O(LKF@galYA09<3GMJR>dQOL@}GZVHOCD#d^;Sg4{ z0o&)L=3p=e1}B8`>47U%fxU!<1?-oeHlQqUHDM>*mEpKGfqM-L%NaOPFU~t#Uu-{q zgjy)ML4d|m%g5Kj)88)uzACgFynfbjQXP7|C=*VUljkdFC<5iA^CI)ltE@B$zuRn1KsYAG z6=;R+gU%keFowlEO@quq1I)Wz1LR-wsY-f0;eAf2f`J9U=}fu=c*1g?8Sn=dW;Ywo zTuXy8rZpz0u`|QEJ~Lco4)_jVB`sRAv_vuGU9A5y;xwI1C{H*uU?kU~9kq~^PE^E~ zk(}OC6&q`5?SjI^W`;Uqdf7OsB^t*DV!p}7S)yMzu<&Vw5jGt0`HOex>g-I}ROw=J zy@OT6GHR1E?=qG+b2&@#GSXOTR!Pqxp!<-XQiO=*%v;ogw5ZuYV3-GD+F)a)H_v;- zdk8>-=GwT4B}$}uZn?{@d1k+x-H!pe11F08*0aX>EC zu^;~r*2@v=-!;lOv#%<}`r1USU#swMRMTuMxu-nVe~(ld7wa2Q{G(HzvHokV-BGbV z%*Lfy|129PWBuzmzG-9qqGG-J^qh0%-@^V=Qt`gb4J)|F_w=)J$-ijgv3=t$(3|qGCkG?%;f{g-rAZ zC8dY^+`w`Ja0`3n=o6~Q@J}A!2CI{4V^!Z>;;W<|kuT%4;cA@9QyU$v-BH>&%EqO% z@jM$RwL!6Q+Bw2d>`3f?&$lk#h*Y3-@qT2XlL0?rF6W8F$P=1K*5)u*R3_4cwVwWJ zI6;n#)5DI&qdfJ{)Y=`Thael5(!*gkPU?Ynou}19A!0@JlV`5KldluiF)0nKa0AN? zc!p=Lf#H9-@`(QB$=GhC_d{t_F^=tzG?wJa_9t4qqu8#m+%#N@?L$^tlI`S&Y1s}S i{#(vVv{(Jr_d&(ZsA4+p4vS;}{W;`OUEDuAUjG9DwNgp| diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel.a deleted file mode 100644 index a412d1813..000000000 --- a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap_downlevel.a +++ /dev/null @@ -1,36 +0,0 @@ -INPUT( -libwinapi_onecoreuap_downlevel-advapi32.a -libwinapi_onecoreuap_downlevel-version.a -libwinapi_onecoreuap_downlevel-winspool.a -libwinapi_onecoreuap_downlevel-shell32.a -libwinapi_onecoreuap_downlevel-xinput1_4.a -libwinapi_onecoreuap_downlevel-tdh.a -libwinapi_onecoreuap_downlevel-msi.a -libwinapi_onecoreuap_downlevel-winmm.a -libwinapi_onecoreuap_downlevel-oleaut32.a -libwinapi_onecoreuap_downlevel-d3d10.a -libwinapi_onecoreuap_downlevel-setupapi.a -libwinapi_onecoreuap_downlevel-psapi.a -libwinapi_onecoreuap_downlevel-oleacc.a -libwinapi_onecoreuap_downlevel-rstrtmgr.a -libwinapi_onecoreuap_downlevel-resutils.a -libwinapi_onecoreuap_downlevel-apphelp.a -libwinapi_onecoreuap_downlevel-comctl32.a -libwinapi_onecoreuap_downlevel-user32.a -libwinapi_onecoreuap_downlevel-newdev.a -libwinapi_onecoreuap_downlevel-d3dx10_47.a -libwinapi_onecoreuap_downlevel-shlwapi.a -libwinapi_onecoreuap_downlevel-uxtheme.a -libwinapi_onecoreuap_downlevel-wtsapi32.a -libwinapi_onecoreuap_downlevel-ole32.a -libwinapi_onecoreuap_downlevel-oledlg.a -libwinapi_onecoreuap_downlevel-secur32.a -libwinapi_onecoreuap_downlevel-d3d9.a -libwinapi_onecoreuap_downlevel-pdh.a -libwinapi_onecoreuap_downlevel-comdlg32.a -libwinapi_onecoreuap_downlevel-input.a -libwinapi_onecoreuap_downlevel-difxapi.a -libwinapi_onecoreuap_downlevel-kernel32.a -libwinapi_onecoreuap_downlevel-twinapi.a -libwinapi_onecoreuap_downlevel-gdi32.a -) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_opengl32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_opengl32.a deleted file mode 100644 index ffc45dc7fdc8a8933fbaf926b40ea8142d192265..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284674 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 vR<<*ifGEGf@8TrHQ_z diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_opmxbox.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_opmxbox.a deleted file mode 100644 index c88f52ee0fa601462644821cd93f52999038fb02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4150 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 Un*Cx=yeOr%n3or1vu|JdKN7cM+yDRo diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_p2pgraph.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_p2pgraph.a deleted file mode 100644 index 38235cd5f76180f76b302751822d6eb6b57b3e28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32634 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 K2z%P|i~j-qHnJiB diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_pdh.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_pdh.a deleted file mode 100644 index 1cd6167d1b93e9cc2626ef3b1098585180c50cd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90106 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 UHC_5~n1R{W)px@7_3Q2b1>TKUfdBvi diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_peerdist.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_peerdist.a deleted file mode 100644 index 7469347b93564a512bbabfb587cb3efe65a6a499..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25802 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_prntvpt.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_prntvpt.a deleted file mode 100644 index f4f187e3d4416f191e0eadaf2d58beb836accb1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25926 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_propsys.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_propsys.a deleted file mode 100644 index 995c244cb8dbc142b7829a2291d4fe9b0c4a0232..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183570 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%0D%e?ZK&?QxJ@w;R3ege?wAB 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 Q5ouko1@Fp<@R3>n4+&6v(*OVf diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rasapi32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rasapi32.a deleted file mode 100644 index 580468f798486b1d91417e96091f573e55aa2afa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116618 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 L8a^s>$2$H$K3+!N diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_resutils.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_resutils.a deleted file mode 100644 index 9817f08e5d5c3c6c51d9bdc37215101d596d5d93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106678 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rpcns4.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rpcns4.a deleted file mode 100644 index f65bfa0e5578d798a942dd1b177942e0c8c59839..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52100 zcmeI5TZm*w8GvhhHn&Y;E^cm{i<7HH*GbQ1duEa~?Cd4kfz4!?$qf~Id#BILc6O$_ z?e1A8QNk)Ah9yeCASgj)Q3wd4B8WjS1e72?_#h%a`6xd6=!5b9t4`IaYj5@G$}Y#Q z19hgS{;E@_PJQ+FU-j3izV~3Qvv&INJ&%m5$K-*@%4DTHH#0vzUZx`XJU%`>JI5l% zPwpXvyh6wgR}*s6yM*lhD+{;%i4Y9?-e=)%kYO1AB@6ezLkNb4F0kwc1GgqlrW~!Tw zQy6%Bd#%}>sn)8HY%3wv(@Cv9%yr00du^$^+-a>hHj`tUy_ICEbvAjPRI81xcGV%Y zMlbZsv!Iu=*!=QRveR=EB&1qNX}qH-AvJRyZ8hOx+3EzDsL;%FIN4}4-8Yzu9r@h1 zNb?!bW1(Jm6h$RkDG=u~&s(>n*M?*1Jl5@eVYpJ(p5%BbQWndNuz1 zB&p|l&(NJiFXKojscEez%HT4!3>Isz373f+ha1g$qq*^HGudgkI%;pkatygE zr%|4kGp*N?oz`~ysZ$+`meEDDBsEegL>DRP0Ruz3@C-s`%V8}d&7su+Vs)(|6_M!_ zDbmy^rcl4DR9#5O=y|mJ(lrTBp6L-O##-M@htQOqW&IX-e0IkczNIUq_euNC)2Cic z)=({AGs%kCBBj??(@k6+D~%3V2?XJyGL*AKKEsIevZidHlc%_YmSva(pS z99c$lXuV4*!;sl>EH{_?Wujt7KIQhb!XRJz6f{AO9d&B$G#r zUqq96CBa%9-dukmEkGpn-H&7$iYozuOEmKX+$@$Z~E z{+%qBE0xOlcx5^r{=)dT{u&IM;27TpqhR{!3Nq2d?}YxxI9Wb9QLpuC{gaVHWcj^` zQ{C=Gl96+mu7MYP0LFRjxElWKhWnC_L!`{p9pLep?mBn6S)T4X_^{WKj?4MqmE|K# zt1}bzO&B##;IJ$e{P#l`J?~nto#7E_y!^cI@?%;Vm`r|FC082hIgPo}NY7|DO@p;p zkMudx=W_*!#&$W=&}V}LjP1Hsy-4~WmVpPRDUsuF4l!y*Vowi1?CdmPOOK4$3Or>P z{=>2RauYj6Zv#$y@owP0ZchooR-6a|*75n`GtCZJXRv!V=%YdH68=Tu!LI(Jh0jo@5!!c$$XCL5<)0@In0V%{Q~S?9=D;*)l#}h9pQ2md%K|20k$&8GZ0?+INg^ z1@k+A$j_2$e3H^jpBk1h#$z&V&SU74P?)E6MgrI!u{$ILE62a*FVZ4=($9`27fhOFKRB$G-lXm(s10* zMeeaVE{C>%)Y1B=?u)GL^KSxPSaYWmPdem@(j%epB)TfSxLTmfG;aT93Svdz;1U;8wGP*evEr zh7=|1QqE$&D3#l97PDthXUylkVoxV5om-*z465@hI{9=3O0lWG9n}aNnZ6g!7l2=Gh-qeN>l5nj1`d{bd z6*5ekjr>vo?o0Xjm4EZ!u9GifgS8M0!?hjdV#6j&yG?Yn*pS3SFeuQjDH~D$iP(G58Pv5!%&6d6yT5O93wE!O3 z45VXS4U(_bTmxU1hU4Db(;C;4VOzR1eje^89NZUu)S91rWk%BI6(PM%GoF6d%Didm z#L;Uudc~RNLA_0%)wt*La77-yV*ke@)AeH51Fl@DjUr+b2AyHXWd$KOLWgKWb; zp2pyx5;+HFVZ$3W*SI(3;dH&H=QXmA?dG=S^RWLZCjrIQ_rtJn*z_9vA@%;WuP=7q zoUe@YHp9)^e3G%x_oNd$9TZvT-@#ObG;bpoT!W-U&cd1Me7)9^x;I3@H2t)vKeiHS zr|syPozF9C^N_9GVQPK^X;&1yN_$Y3fa5hv)qPEAPd&;q&rtRqrY9LG`=0&o$caNPI~Be!syx+sUBF`h8&A z9hla4F_2V$;5`hcy*;kx`>b(SzHFq5T5Zr32KO1X^BoL|ZNGc(+#zAjwoN;3EHty3&=OWwh z-YX(ivd!ssyF8rE*S)Hd{aiXf5BqmG*)O(TKMecIJdK6@kShwNbRVmO{kVdrzn!0F zedO&D`>-#Q_zmSE>wNDOG?Z((*1CnS$inG*-Mbojx9a+f?Hinj_uH(z7hBKg<=xcr z8Sg>$yY5$wyk9cjZ)Ln|@A5of=&`If??$a9{cg&_>37}7>fk;8?oEGtCXX$Di@exr3tb zn!C(n(|_Db{)pK08rJ=g56ZizZ#M3x-Cxt=8md9p#ow&(zM5<%Yxpxrg|=_JchgRJ zPit*jHe3+QrkV8g#>U@n?N551RR}jJq@QTD&TO~wjn<;m?)?TxO1o5ZlXzJej(SgD zY@|Ls^*36mPnRGRTF2+3USEQsbcw(#5GK97u;zZk@om5CZNEG-H#b@<+_R zm(aG^_o_G;`DI_vZ2UEETMrRC9^~;s|&%te;!IH^6FyrP~(y9>@me6=($AD zIYD>!NEJG-wQ1N3NjTPhy|VMss>kNi>>$B<9;^OpORKYWXT|1y&{=y%wPW3xEDT3| z^w3h>qtQIDRiB6YtL)T+Wiz7G+bkPFeaIC!WnT|%v}Jj+u-^6f za8`_`2R1U!+E24~gg(#1_-?XT1ua5>7{1o{ zyHA;~HIL0Q#u#7ft|ra;O0t$T&L-HCifps^tQw{~tF@Lu*9756_x7)vE6F118R>c6 z2PtvVS89!Ja%^WUY4;kfW}!*Pu{j=@)gr#|AeQ|yeM-7kYXx>)7LIpc&+3%P`&;l; zezCo?H`&)cwQMit-q~lRa{KL_ea@cFn1eZQPbV7lK4{HBE%aTS_oZZ`)oavx$upf= zvkOMd>PyXDZ3nq2vX;LeD*#8v{&5yT&n0pm{-*4^o`BK`oQcBq22XEmW!9XBk2}d{ n+CPsiFIado>7}N8q3ORRWj&*Rze0aAqd%*$!n+hbG~xdPEL4~m diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rpcproxy.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rpcproxy.a deleted file mode 100644 index ed10fc6c6d4cb26a4487903feef41ff51fb3deb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4878 zcmeHL-%ry}6h3P~bb&||4UaX!#0OG47-b~HkPwylw3x_~$=%pGR~cKgRvbPU9t`ox z@E7>E@Ry0_+#l`T+DVBGhQyon-rIA(_1>QI-S3|6$#!$t>b@vHx5i6lqvBRvr&isv zEQb&2wPmeWUHOAX836Dq{REiV2ben+R~h?sEo_Tx(E?bs7~5s+UFZ!%R`()r$aV*9 zkA3$0&A?}99MxRrR$0$Kpi9|N(taT@6Cc8d83H;r&ku#8+N-HHK#-P$PUym?1M180tTmq^XY*r zRfWBaof%x0UUtAyxD90|-28Ohrot^^XDI`x##Q?^XkipbCw9BnBb(jvd!8KpbqVmH z)M*|ngS6{DqbbaZc?hQa%b14Id}U6tgmN=WRDXZ#Sz#T`a3nR=jo5&lFc=%D?9A8eaxhOSBqX*RtdQ#W9Pw z3a_^sF5UM-C-eU(bU$SwoTGs>Y>`9EW;TvCEKBc?!^Td|)%*hM@hln{er(n}P>ooreFA{)L$3EAnajOJGvKZjdY@>yvTzTK@twabMP95(tPrygL`_FI5iWiKB?alxI diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rpcrt4.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rpcrt4.a deleted file mode 100644 index 1c275df7fa8ba0195e3a5ce74884bef25cbd9da5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 429744 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 K@Oj-+ zn-D_%0Zsgb_LuMjf5H9=#NWUl!Fcb^=eyWW<7QTorJQ=_^Sc+H-`(e)pU?f^Gs`>Z zf4=@nWjfWHb)#?AA$F^fW z8H}vsfr-MWZNoGg=5WxZ9LWPOa1TAxGEvcW!0bDg{c2Z&j{7jMyx^hZ`-AZaOmpBK zn=v7t_9uZoexkGsLC5VlK3yUDsW@jXj(6hhIM%V+8p%k*9iKQ~4~94fii#p6ox_2T z?Rees#5-_&MKRveaUYBaqqs4utmA&;1iN^_=qlozweVYsw=2?)`_;&fcc6$m?zS~L zaE99x&vQn>Bg;REdP=r*+%If9X1q@^zETn`*L@eWVPO4=!A{`z63Zd^{gWy2<7US zQ5WS{KcuFPmo`gB8LRRv9c7$Wm=2A=bPC6kjnOJLl}j^q*!U0y<Mw@k@-`es*qK4epgI70IoE<4p64r2OC9-etFe#RlCC-q)>=0h-4&ZiT*jRP>^C zptg%T>4|#$cnt+*ppsT}nT-$4Y&jFjefG>ibxe#3=mq`B=!i=gOH(6FMqU8zY;-y8 zG`=*ZGO3<}-*bY0rYuONBdtJy9ai!}1AKtz^0drxefYYr*XwMN%=POn)vsS>M*WJ@ zgW(6Jx}G8K>rJfeggQco7Qc9Tht8fqmoizq8jpOiiO8WoIZaov#%bi_;c2*T z63>L>69CjPWd0sPa@lB654dW%zn8vTNZ1HW@y=|endf)J?+}2D=Dfd!HA=LOxunX@ zd7;4&E3vRHHP*``reyw~@vUd$+h{0p3+MY3O`FH}_X-ym$#+-j_bk4L>3RviPtx@w zzOUolotN)*nr#uJ7m0XcSJM2shpSQH9p7DZb*@drU;CZB>F=xV5J6+@yLjdtW~I% zvK;oaqS!-kWh8qUThkm}llU()p=zHcI%=k?r|7~k=|=VCK{i<|%^>A~5? z3>V_+J;B=f_TuxUy_t>nWt_rhj6InBzq z>S9ME8)57rBa)9o2^};TVVUileZG;%-E4##Ny3+V+LG`^A`uPeTlrUuLcdeq2w9eN zZ-x>&Xwb)U%39&Jl>x|?>x|zbm+zBoo@PbZi@Z;kaHf<08&quXo$Y-xX|=#Sr6t!m xCF_^T^OyDQlL>m5mbmGq*6pBgj9rDgjxxyQq)QasTFD~)FRYYNR^OUp|(O*TcNh} z`{tXSncbOvZ{B+9YT{XW_MKz+=VLIace#Y28G4_VPW$d=+7`y#T6b@vJVYqXP!rf0YhT(1JDI7Y+ z7>4P4C>*(oF$}YCIt)jDLg9h$Glt<^-=uK-i;Q77@jQi-a6Js~xlG}aHO4T!_Y{Sd z`x(RVei1(KZpJWt=s^nS;hGrM{+UAZ*NkD<`YMI(KV%F;?>8wtwaXZW>~RVg;anJ= zIZWXrZ)6O^NB@(;vvBViKJn)ip8Ek~7(NB(#PIxAD17$gjA8g(m%?xL8N=|!Cn)@O zn=uSuK2G6x?_mtXSNBu+8e9*<@BNIzH-5+%hClcd3g7xNV;KJE(-gjafiVn!{5}dV z!2M(RQ@D2w-)T_zE}Rp?pFtild=K)0;V*wo;roBV7>2+3HiaL4jWG;=_jL+C`T}DZ z{^3~)KYo%i4F9-D;U{-7hT&gcMd7E{F^1vaenR0t;F=hI_5y|fhF=I1>?;)ZeV$EV zxc)m7UjFZF0>cgeO5w&IvIz_~eUHLxzs@Ew-0}qqw|9x;nqQ`sg6(4_414S<+vfPut1r#ZIra+gXLkr{|ih%_FPb&Kib1KHFJst%A%> z!dADER=f5|*trDt%~Efrwbq4`t#)>HSBr6Hvz_<%J6W>S8)U8CdNQB(HaeR^v?4K& zeyH87a`eKy_8^1G`_h4`~cH)#zLEoE%i21yC_dl(vKuhXD8EL^Sm;_khPv$h?mZOqL+2DOV$IlBy|NI*-6a1kqJt6 zAsJ+*AjKA?tk*}u(%sH)wR)RL+kWCgB0v9TX8>p~rhQ6!B+WV-o%L4MNqc(H4-?bQ zL*-!}DB?BA`EDoaWu~Nv=aL&qKLM&wwtDSuu{cX9T)Ne+Y6fSa8J5z-5jMoBp$!p$ zq~%tB8%uaZxeXVC^PEc4?Y-TlGk7l08O2h!CGum8Mt4fKLy;~(R>g}Fd8Cl3xaK;~ zSbj4gyEG^@@jQa3VHT72h;mpO3=`w$ISwUYTt`KsOz%Rvoh&EWR@zn>E5vdsP}tBW z__6F~Oigfev|?ew6Tse36WXtKqI zo(tx!Jpcbgo0`(qBgL5#YOzUMDjj*BC~YRwai@1%Pwm0;WFzhGa2#!SUMWQ9K+Z~4 z371r{N(ywg?fe4NJgFdWl#USA%IA?JyO{R3=hHo1!SGwq66mbU=^#6|o2;YKvo;7g ztV)K?fQ+5!?d|X!YpNU$EF}qfc<7G0;;9N5Izz6?iWgI{MJc1eazU-c7CU{T^}+pX z(R9uePq)^y8j&&330T&T(#m>a)N_mp`fHpP_lR>Q;=enl+-?^ zsFsw=qm4kysVuIi=+Z{b&{I;Y7rY}wN=DMT?5YcDuaKb2p37R5(9VHInqffP_0l*%CU%Rm~QnGM1VVOwf zsE!sX1?jTYqNJ7Gf^jALq;U398b3ei+&!|5DQC-|09v|+Ur4G%`0-unpYW1gNf8fK z`U_xo7n4fzTHnH!Qj9A;PqlONgrcnV9+;FdIH9xU(NYe9AOo;`LM;WP=lcmj#mgX9 zyXpX2qIpcEJl?f-3cRpYmM2JAkrkV?o+RZ_5L*UV-sKF_#Z3WuELOVhLNZ=TO3h^x zFDBwKY3~Asie1=ZE2<9cz`;$?R+b#x}tIJkq6+pyXhb? z%S*PyigbQt(&~XpE_&3Onw*CYY#{}tk7Ez`oG|iE^ootimY5%7JSn(v9-B*PElj%+ zE?P*+dd(ewiNg~Z^g2_wKz=UCPZ;y z!-!tq+*xUDgDDDj^G0huIeoDQBQaZ@U2)awbVw1y3d0Vr7U9R!vu62BKh4thw5u+f zo6af;~!VjTSM;eNWes}Tux)6eyEWwIqfJT}$+luw)sSdKl>%R5dL zi5Q(^d7e-AWcg{Av!~OMyb?DOsC3VOU8GZ&69eG;|iJ8ccv5~a^twQn!Qqa1F z-&mCZXgS_l&Qg7hu^fxko`%POE>nzK*xT9FQ`P_R0n|?~6%zF*DzZf|>53v~wWwHn z{^=5W%=}iezFkOE5%@&2Xd5HCees!OEjyIvzMU$c&h*q&v)Kfn&f)vWr89YcfBTcy zGu&>QVC+Wz*Gt%;4AdO|yLvat&YV94W2vob5uS34oq6HV+F&q3j9o^#4xaGfkzDp= z@W*viQAjT*aJJZGv@+UPC8L!OI8NX^n4{t*%8-}MOCV{83@;a~eVYuP z6|aFC$~4#s*k7?%VLxYe%bnHP`^Xtk%5?`hXyABR7#(Ajmx&4Raz!PM0B z^bBtrBQ#ne*vwXedgASn{+OT>e49|UmaGp=B zb-E+EL&osxMEFhc7jD>cDdsNzf7&%z0)G^}v1H7Z;;zgEOuC*^eZ-CGqbAj#hD?p3 zx-DuNf37CgJ?*-~sD9cmXHfmDT~1OBlQqVsx{tkDo1Y!d6*A$s!u{i>2%n<}zHhLL z@LQ2{*|E13%N0HeH0JMfVt#h&sG-R}100NEeoJHJYBJx~t~-qR58LGo=09ndlgz&v z>Tz66{*q+!x`uN_f-yhn-qL^XRP60;1MG zC|f`st-p&5Sm!#0P5*6zb*1(17cuzLV3%NDm2*kHwOst^{b@JqXH8q@HWtw zeR(zY{)TqlVS0bpE@$ZdXY6v4`kSF9$JP5O)_rkOUeGqqYY}SL6zy-P2)=JH?4BDr zmY5d{!XMvLZhX&~d_MvNUhjq^E2&dr``#&eVX0X44 zo6_j=p$D-Iwg-EIbE{4lsC(AxvyQZzz0yegmC?Sf)w?!bG-w zj^5KblkRA-D7x!t@vTx_b5j%u2$}Hlv^cVCHO^InH_qKWrp-7@fa{_vYo(6AXj9|7 z@ak3ItUJyU5MzjioR^h)G0_|IZa&i4!i-%SWBeQdFlsbipHFo)N7F0jXBqRoF55@R zWfv-+@AVsYIccFE1Ww1bTsDaLVT%I^FLT0*yEPKg-&X|PYho?9}*NqL0zE&Z_j ztIjh7O1aiFc{#-!>Ctm)A=t3qN6m$)<2hX;(v7vTLe}Tbo>L>&8tZ17H`?7ir?XS0 zakeyr&n(+?8ElXZFm8@>&*CU6Fv0_4jK8 z!pfGvTf|V#HsMEbo#(hfwv6<~wwr&o8RyRMdaANf>WoD`p4T+a6v@|{hO30kx8vLy zT(Dfvb%F6hf;Y|`{iZYKI~>t2Q9AsUz~{Jr(+?u&`LgnX^Gz$j>0>dIkfVHSuvPd| z%dO-(&%Uo2y;Dcsyrglgh3ckCZ`T=X`2f{04kA>28zE>N?l{&m{Id@l`NImzTYH#u z^r=Q0oi~W8_E5)0|7B_qa(QXIK*%ceWqnZ0p~q z37c)46@;7We_G$(D13KE!L65rKh5ptHEqtBUeoyYhO*4-%n^7$(Ov#L z8EpAY39-;O8t-D=Y%R%~CU^6YHs{PG4@&Xi6!OT?dM zcl3Y8u|@t&uCmGNj4eKjw3k0w2UiK1cE_>Ba;_!nMuIo3?&$N3oO|bd1v!VWn($|J z{z<`WgY$B(CFe$hH_l!Cpr&s>`azZTQfG|ioX)v;$vR|R?${5_Q7*n0ru_B-QB(@JyW>dNDKKi`|PZGMzF zXlwjUTnp$Ui4TYv{AsXXfxWQJ%$yf&6-%-=o$lx*oi@3Ts|P6V4?tax%l#Qq`<0&) z=ahuITIpNh{&7+Z$ecT_kfAs?Mq&j26z@%&yZT8@TP6BQmEB&) zb971)o?T4)+w!L2#6TETm<{_P(HaU+g1}M%afzNUKr|%J* zFQt?)qfgifMEqz z^-Sy7?(Y^Hoazj+6TQ71-aCaQszavV-F7eKT8F-zF650A#vR|*0LII?)T0k9pWl4$hgdPnR1ojO^>^IRhx0W z3`DTp9-2H7c6CMQZj>~|HSZ{PkZz&RbrCPjBuk@Hkw_NAv zn(>w*;aaZCnCnU2SaJkA4C7I__uYO}AA=@nD^gWSf!&^jObfjo+ zd^`F?}pD=dxC|hsO9d z#kt6}$$6gOjdM3oX!EE!A3d&?p*XMe-LCru=Y{VS3Zo@tosKJq;HGSr`zeC&8|)JN zQqR-OxemM~)f@G$-p}}zBdj!^7Wz@F`^8SLEqoz({*Y;Rw9xe&OUMh6-q?2Ze8%;U z5WPya>#Tn?hiv1}anf&P34g^>E`kv<f&wuSoXBy_+X=_CC{M{{kquQD0-+ zB_+stxtd>Nd`7!2V^c32>a<%~>);HB7k22$p92{j8O4o$q@3aLf8H)9M_ulMbBz18 z(JXSmko3jsR*U^~hk9j?q#3?z+R8d<56&BM8_369lvQ&Ui(70B_F4GLr4(dy7+GH4 z=EBUldQr{s_SlzIHh!JHY_rG&jWz=*A-4oa&ywO>I z%@j$W?{*Ttn8r0ly2!PK^gP8I>5e|s_`U`$Q#SnqMeu!t{Tlpoo4zXd8vKj}=u_$=;XNO`RU=beZ+mS{KxO(0bmv z$EtwlxwfKCDc(qT^uNaWGzhv^(x*zK<1$!yjgT!G$N4mxR_D34fldkDIFBAz3%|zb ze8p(L)aZ5IQ@XdrdFYHgdR#Te)%Q*dk>1#L^ti^gVGzAa9ey*UjoUjtq}Z182}0K2 zj`P_G<2=VD?Jc9d@$KeWjc+D#yes*xV~xK<@r~|t8ft{ggv|I@*0`4I66Sh}H_{zF zrAN(vXPgbG##rjihI~7cKHpDZ;tU^V%onA_HWf1Mw~|uO#u(>B4CU-1{8Z#z0&go8 zZ?glAxcW@Zc{6cbQ88afyT8p+^F&3s-wJc=ftHX~7P^t(O}D#xOe5#WpwBVIdrF++ zqx;(9oafr6(<#9l=Wf2zX8bxBB3Q|J9Y4`8D$YeGj7SgJesS~@k=oXCT_U}Z4`vyaUO)@WYTtZ#N zdn4S@KN?45cs*4SUS~w+E>+)hy(^A6Tq$JI#~P6-=DdV^DbXAAZobml8FLi!%K*Tr zH<_L$NVw&DHQ!`H^^xMzHhLPz%M>a>^WCWp(5QI`HueGxW+24x2h*a9beZ0 zs{f?b+uO}Q(S^%8g-pHUOosVxDc2hB3vzj-L>b^6VBAnC`u>H7A$guYjH zq9-QN2Ti+UzuA^^3A{DY8}p7H-uNwqq0HBrV>~IDe{rmyjU&RiDSPG~is1VO>%ec` z%JUo-A(ye<=#G9}Ec}v9V$7f)wYEVWzwYg_uC@8&V7!EEyEyuFxxy~wx`=r($s6mA ze%)zvu1@spsvhbjw3l&5K;JA`7XyEMHs)X@#g#`p>p?Sr02K&qN~h|0h;jfVK)d~(r?=Du%D2+erovAwB-8UfzFyPPO7q5GVtnD4WyQLgU+RO3Y2zT`E zHqDX9%YelwPuF9F4kzepdb-xM>kjjDb?tJ7O>@C6Cr9pI39V#YJ%5`{I2<1`-LFD5 z0h`k6xu(b125Z4yYtL%3an3dKHkSalPqqUx#zSv9p zgRRbP&^C#SN3=TU1pJV6Z{)jqMB~bOT(Os1h$Md!lE<}IZb9A!=D zOS50hmGy?^UN(U00`h0GJNioF8&kYiOHT>e2I`Egzn;_^q0@{(=1(2yJ7c6 zT}IY9`{i6~%o|DG^u42xH1G~7fIkiH z=o^jSyctS$9sB*YNcF@0bZ=Li(FnexeipVCclqW`WzHq+_JZ-py`!HrzW+Lu`#SHx z-fZJueDVn|7V;R4%loeu_Ve6V(k}&kSu@j)9@03=aVYj^5Td zMl+Q2I%71iDsmn)-;QH6if_$;k<9y>88hwXV{OiwbG`7}rlaP1Jx;^Y{CR&h=Xz~u z*Bv(3Yu7Gk_*h5HW~}pe#*Kn%slx)-+%7A?ljfE=*0r{Z^ro@hyr|6?bH4hA9oSyc z*twc)KcQWB7~5NRIfL!KT~2zCZU8RFwM<^A*bZ7-;~Y-h)Qqp(D#zFc`w;9U(*;cp zID6F6uD(!n{^D~`yQ8%9d5wUpN%E80b%&9h+2st9N4;fK$HsnzsNcm-f1u3Gux)IY zH>8Q`Vy<;{T}tt$vmHI5(H=nsR5^}P#~!(%L^_^7ClayjIEdF=wsU@eb{$R&X{cPh^5Cg{o@Zf(zU(01_symT8=fy^;mCoyZS!kdhb|yRT{m{e3zFY-SEDo z)u@4Mg{;*b=etzpUP50f;EjJr4`|fxTz6IRUq`#Yl)Bp(&9Qakrh2L7yVJ$o64#|TZ&W+_ zJ)>`k*IJd%uHzee30v6P*$tm)7vGS|DbcL`-y6w}Ue2cJ<-82lI?6Y6t*q8kM?YW3 z@Y5>&^wNu91%OxccCPE^gCYih8f+c*h1?3D^#brVMmXi@?~E2TucIpMT*so`2esTy zvShKJ!U6zmU0l;7WV^$~qAuq+N4r=K{^)k}amMwvhSFVUeXRzgPa?h;$i^oYZpxxQ zKoNXT>uc$`C8`TC-fR#z&t`Mx=p=3D_qRX!QhuM&22ty4)ggL<&2J^^+d0rd>*^Z? zzl!Kd5raPswhDVKw*qLDeSaF-(MK6q*5dV3Wq;tacU(_BWBC2HYingKBgaIx8GVKN G`hNkX1;QZ! diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rtutils.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rtutils.a deleted file mode 100644 index c98f447a300eb57192813f218e4fcd439b0a4c79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34034 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rtworkq.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_rtworkq.a deleted file mode 100644 index 4b5f7ee8c511d025db3325db4f6b36c56557ffa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29630 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-error-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-error-l1-1-0.a deleted file mode 100644 index 1801c6705c0135106181a605524088ab4edd84db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11378 zcmeHNPj4GV6o0Xkw2fL(i4p}U)QD0Fs?9oe99N1^q=*0~Dz}ge(q3+; z7w?Mt>@EP+<%gm^|0@91%fE?w@hGq%xdK`BivzLlMOxB-uGDR9a_!%{k8+9Y4--EX0Ykpb*=ue?YKSuiya@H z?2q?ofY5YsDt@mf8#u0K_Ybza*1<5qYlfQ+F5c;W!ct^tvNm&Be;@V9g~^6(Iv=?9 z0X_$h#bk^3$C1G_Q6S3p?r7OG!%b(~vb)>X(A%-S4qwcc)A!hs7tEvuG@UJL;2pX` zhWO9Y#&8iSI`n7K47M0+?|BtRvRB92s$taY^-^iw2wB@YUPR&oY|H^X!&?hb;ll9? z?V$v>cPlN+v$O~?unD&xSN4X(F)(;QIGb*GwI;D=u`!S9Qp+Y761OJ%33pzPTbH=& z*tnE}ljHJ?TSU1xEaMhYrY(XRu2*J6%5t|_u9l5TtJ?*rwCyhQfAr@QfP=ZVbzgS) z{i-f$>SAnuf~k5e=rD>7i#m*=zj=-!%|wf@W3Iae94gLfFMGSM61Ddt@yS=&pXZTC0;!%xPV9M zxNH+nw&Q1Xy-)-?(vDE%`nkYcSuDQ8eJ8@PaO;7#*E#Ip7d_nOBAO;4b6^G6u3!b} zmvkByb>|UlPVj_-rNz^kmXQ2#@EO6iMl%#;Pv}cz57$J5M_gvI0I?#mLI4t8@aRQsQK9`o^kC2*lmdK@ zZA}_< zaREPQpFS-=&S9J%&x)p*7t1~eLS9q?RuEIZ#jB*mGSiA{Vlr%KWMo6qTg=#S^>4A^ zY{E9C+ezo+b}jKpTpFfY_O8FSE=wq_QS04~a`G8ItIqh+nB?WWy{Ep@;oX zvSB{KhW|qz61Dmu4~chAgbO#babcE+jPwjolZOOQ|%$Ll#&pgCc<{kAG_w#gIA`dxE#|6>T%gCV9<{<^-i1wc<@P5;r ze_Y`^iW*66`aN_iz>jzwA-!aZRy~u+G^*LSax?i}>npUMaa`F|Y%EW%+*9Tq#T73d zm*C15>9~L^EBNeB%au8_mbCvQnr4pBmr*L=SC2qN*js?_@R%;Oq(_=YCc})`w{m)t h!tnKPv;K{5=<5e zaPP*4m2_%sHCl~Uy}ebhRPY~@TvjUE)WOq}8vyV!KzS2j?R|jjKa0HnCjjLa{u22W z#8G~=Ci3e80Lr&6MZS&o?Mq$X)Ah$b^L+h~1! zMuFuz@s$%G9rwWTN9f2$0}s8!XL;Zpx$(7%?)bVrV-%ct%=|JiddDAQe&iXwWYXc~ z3RK7alm%ZHL2qC={SNa3&*}xCuTry^0_(VYHZ#1mk0sNA&$|vicVwVX(Kq{!(M2bR z%T)K9$BrG;+?X&brZnpHR;z_fsV7V^&)1MF06Qh*1aGZEEnuesZ>x(696qU;MqsER zyk{2@ z^s7kMD$$i1UQlI3j;h_L;$O|QZGhSlav;3upJxF5(vfi-8A7}4OB%X7Ha@{*KWZwB z|WSpX}zcLgiRzvR;-$vcmjbA~4z97R0U z#8iM0FGZoj-`FTp!HegcU&pj9NHC?qUVoO@rR8MUPp@^ihMU-C0mWXl@(fBdsV@8v*3Iwt*x!yp?2<|l+p&VHf zEr~4L6Dc0?HB$tL8HpJJ(BcJ;-ozFq+8>0a%|DAmgG+2g&z|!n{5a3Y#rjdf_06jvtH_TDNA0EN$Q|?tr9?yS3j;4T_zmlctB;s6 z!9fe*OLIoPG@BW|Ts?1X#C*Ah_kUi#tYE|_UN0>*SKbPlk#J=vv{0qNFIXy99`Qus zn1yiUqZv6uFTln$@JD5F9Z`1U_Ot!&Q9oc0xS@JITR)H zGDpL>newy2Qmf2e&JdY74?+u78vKFfR1ZYdnc}F0s7_->?$oo~p&fgg>U<^b)d2}n;WDbDP_dXh^ag%j?vyZcq@T~0nkO$29WW&d6KM`vHK134sntfDkQ}g( z_^;0x|IO@E*VW17znx3~)V~NX^P8@>DdaIFT(~C;ywu=Vtko+Q#F)@u;1kxrf*&jr diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-l1-1-0.a deleted file mode 100644 index 3a96659eabe2fcfb491d7c2730854c2485d10d27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9630 zcmeHNTW{P%6h84LX&VJ`tIDl_TY|&`yLi)G?;=$wrBY}lgrcn~^#L()cAc)1T|4qR z7b=7zgd$WSln2BkLOk(+c;FZGH}HV?HI#E^e3|XoUM~_xD`k|q?D(^1=J@-3j>oxn z)AGCh50>83$5XvoH|wU+ZW_9df0*P_*ITW2c*52a09*#Bd;+j|6X4QMA}{|5K>69f zM1B!rl&`Fc{K{tll&{_w`OQNB%Gb{*Gj^M?dn4N)u}wR$eRkXH+3d)1t$l}K=W*L) zW`hl!ZOT#qfg3nO+uPo?y8$EQa75>@uIKZU{eTVXtj-K(F}&2!2G+N&-hVw7bi8}6 zZ$EHGxRQ0xzqN1q!O(VtyZwWp=N-Agm^0jG6JZ2!Tqkg>f%6b2AD<<4cD#;#=%7LC290fHm7E_jr>V{#Ormmas3svd* z)>7|u5!C_Eo_Uglty<3ttZWEBvId)vYulsI1Q?tU&Y=sgG$QOp zY|P`l$WwIbXKHZG^&qT^AG60QzMRg`d*BuouIs1EAYdex})1_Q#? zcASA7p78e*fCqCs)?U;R_RDspVJlCKO)%MpS{6pKUnL78*>0X=$SUJ0v@f^Y0v@W& zWn#F^h#8f+YvUIQf6*9}2%`a+q^xHrvAsV9+uKIsGa|N|cqg8t>BId0&35!lBB3+m zY=1dq3Ek;5wukVsO2WnJ83Tkr2$$AReao0Dyrkzqh1=&D-YUZNKKE+~$HaL9J3;@z z-4i{WZDW?EMV6okZe5`VvM<>*N%HeX%vn(g2S;3|nluWq%S%yc@CP=^@#tl0Y-C_+ z3!zQ&C@pg}j>~$d7r0@*$6HK6TAIe_x$`a_AB0?|N(ZB$M?nuDJrQYyv~-eqir53t z9cs=2^9BfXg5HHclasuFs4rIe`T9nrx{ z4Zg#=$opA2{wY>~Sx^BDIW`jtI73!UQb1o~PMHeurE&8V@I^XKQNU?BE>^%Bcz35& zz#{S?`%Qbc)u40M%WC*A?4e47U$D$uedI2(?NhQ&ngw;zRCRJ5U#-MCxsLaJTAeI# zrsV88aYoIq=XeX}Pbu*ncSHv-HTVtdWX~*je=v97tz^YCiYi8ZBRTghiDGoT`_n3B zUgAsI{^=~oS@Z;!u+q&aWV6+;+>tA`5JN|<3rd? ztKjvJ@QDiWvvZs@_!--oD~}YBVVIKDQ7@{FhO(=Bu8t&zdKK^ZwCb1(Iih^<#cR!S z{PbF=ghUyH~1`_6ftc{&)YKn#;!DOp5F-4af;vg xG94HDjVpM!r&R{=L;2SR&YjtP2Y(6YPbpD_Av$=e!4FuctUB@*iaE+r!#^B3j(Gq8 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-registration-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-registration-l1-1-0.a deleted file mode 100644 index 5c961d18eb527fcb808dc1ed1b4d810694460f33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3802 zcmdT{L2uJA6nQ;7 zrs;?-y*AB?Bfm{^y9@v~017_=O1}V>Kg!?A8NkXJV;hWphom9R@vr zKVYals(Z|Tl<}!!* z4Cn1~U>)wauXSPA>c8R1dmasV^sRo7IOZ`h7IgR7bd2b|Ja$Xlr9R74 zT-*OVNbLUbNb}CpbsW$0Ota=z)5G5`w@>gWvAik(+!4|e*a<&Mgq&ZQu(@rwao70} z(bIs=bz=(y z(4qh&AxbPg0IkrqT+6ZBVTgn5ogn1t;6E1tyM-NpPbpHp?o%?sxMT;xbbl7}Fq$uo zJdEbYlE9FM#!KpJ;lm~DG77mE;XjHJqhOCul77(|R0vaqFIX?+7AO-BI#=L9{aIy# z2OgfwUD^zk7R`gF!VIj|$QrckUK%rW?pZugc)itdLtg3qN+z6=FSo0xFo0^hAq?T4 z+d`Tr@;l;+MmQD`MX-}}4tjf1BVupN)3nKJV2ALoWC!_|d^#%nO(boe;EMpO$fuSV z3veiESry?o3JXY13!xveFLtoFl7cg{kf&#%o5E$Mc=+_Z$YLMePmi&`ld^ys6P!7- z5M~YS=A;#}%JC?>46_EEZ3P#Lv~^*G8_Pm<#C*-h4cSNgXdvb!8|NvzOcdUx7^TA< zpIDw@{LCFJqkMNuynR0gwsCWNrf8pCS`M$`Ro?S^-DN zOfzN0Yx#Wl~XYyoT)c}pNV*|-Vje9OiSnX``jyDD?i*qQpy{-4?N YNYX@O&%0DZO%Z-z{qO#fEP_RU0ilk=2mk;8 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-robuffer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-robuffer-l1-1-0.a deleted file mode 100644 index 5b8da42faae5d662f7507c839e9a35acebeaeeda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2810 zcmcgu!EVz)5S`R5g{TM)J(Qb~;DTynhr|gILJ>W{1t~(}ym4X&yLIBqcGR9wPl#jx zfgkCYaN;{CGh=VEZtXS~Jc@TGvu{1SZ)bM={GFRjgZJ&%dRgqA?bwbr=vlgsKNPjq z_0HQ)F=5;WfNg+QfE_-&zv&U;NQkegpQK{sXMQ4%V$T<6;le!)1scx>j&Qmn3MceP z`*M+mb3dLO`_oJia-Py0F^v{LwIBeqbqZgruV?$f^Z?d@I_Z*AEL62>r!P1mc;d>op5{gxW2?4 zqOxCsljE|-;4tQ?fx%%=aFCK@h71lPvJKm?OfQOXf;kH#znJ*<8sJ-N=AKAHVORMi z_u7p$5KQHAs}7^^sMTQ<4l!}i7qL^8f@kJ$2Z!#!Fn1IoTI*H$CB;ATK|+`usOQC|isnDYe@D98r`6!P4vKi8Gp~w&iC23C zx5_7VTY$sT-O0Ap9+k$;f}AaU(&zJ%e76_DnAG~CdqFer;kv}<2;XPnqNe>Qt8RH zcDoLN$|F}DC~|@sBM&$$uR80BA}!29DU*1=bo%*<@)hD29$NBDdWISa-4MBDMI~E) PVOzQDJHC(_&c*gWA>s9? diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a deleted file mode 100644 index 53f6fe0ed9a177a1d36c99d9d61f7af5c9e2090b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4806 zcmdT{OK;Oa5S}+r$<}qE2tuyw*w>_UV?7;Tey4$wd z8>ep#9EOtzb(5J@)^(b6Mf3ap!0Fj;^OfBS7$JK;J;PeA#~=0r=D7pQvwGyyd1tpB zr_H(sGnmdShTeNNu#RoDC$KzhxeYnA=Whr0!-K%H9@_!g&z#-973_N$A#-{IRv5nJ zqKB00&AuO4{g%DCxe+_e!)>{bJljsW;!(y<#z5MwPO}+Q+=xA+SYznAX(C~kmufL< z+DBKAH~>#d$PaE!LnW{e0&b7)RA_8h+E!qVhVVOU&^WC$eLn{VhlF#;;X*aSBAsCh zj}xTy#Ggk>Xm<*O1~GQJf4f(9#swx`t+GdZpd%LS@J4 z+M$C#X8^mU9cwR|2t`tLj@&Q)CO zqqHszaf#YgN6c|HE>zu0=GcRwtW!dUl6qPEL~Z;+InV48*xhu?Rk2 zM@#5IaG(5zDv-_y6izu^xj@b>uTv0ehi8#iz^6o=8rGm_hG!>3udXrKO{6T&yJ(d2wDX5tGLJvwNv4 c)I8UVtfP%^h6V+`V?XxoBMFU3(B#zf7l&_?ssI20 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-string-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject-api-ms-win-core-winrt-string-l1-1-0.a deleted file mode 100644 index d689c065d33bae7ae7706abeec7beac67e010a88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25170 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 Wp&|@?%)<|y<0qDEn2kiXeE1772mD?D diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject.a deleted file mode 100644 index bf368a20f..000000000 --- a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_runtimeobject.a +++ /dev/null @@ -1,10 +0,0 @@ -INPUT( -libwinapi_runtimeobject-api-ms-win-core-winrt-error-l1-1-0.a -libwinapi_runtimeobject-api-ms-win-core-winrt-string-l1-1-0.a -libwinapi_runtimeobject-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a -libwinapi_runtimeobject-api-ms-win-core-winrt-l1-1-0.a -libwinapi_runtimeobject-api-ms-win-ro-typeresolution-l1-1-0.a -libwinapi_runtimeobject-api-ms-win-core-winrt-error-l1-1-1.a -libwinapi_runtimeobject-api-ms-win-core-winrt-robuffer-l1-1-0.a -libwinapi_runtimeobject-api-ms-win-core-winrt-registration-l1-1-0.a -) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_samlib.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_samlib.a deleted file mode 100644 index b9525b0c6eb6fac73d04feff984ee481d8910c33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58936 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_scarddlg.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_scarddlg.a deleted file mode 100644 index acf33106cda029a12a878066c9ae916ea6a4b08f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5726 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 GtNsu4^#wx! diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_schannel.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_schannel.a deleted file mode 100644 index aea8ed1f2d08177adb60eb3b790bd1c345e35ec9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29250 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_secur32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_secur32.a deleted file mode 100644 index e6c8ad803577998bb11a489cf1179a00ec914f9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77790 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_security.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_security.a deleted file mode 100644 index 6544213f7c43be3a143d8945533eb38af19d098f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31026 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_sensapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_sensapi.a deleted file mode 100644 index 93cf942dd4d284481de68cce941b3e6a042aa43d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4134 zcmeHK(QDH{82{RIPRoX(dl2y?!(Ry9qF zcd4amR&7TsBg>b0aq&!h5!0_q@^y!x=Cb6E2_^KF0kQhJt_+&P%l| zuwq;-_7iR;A6JiYE7(}m;Nt$ceut824ugu<>p`U*^nBUz^8(JaT@Pu*)dqVmLRX0HZ+cOdE|sMwlY(V7ZVeEOX6v z=GSb!+L+R;gFN4%$wBE~YZh~qur-qNJBec*qc!p-Cm&xc2#0>SgBsypvTZs9h$2sx5?qcJO z#Kb;a@%hCQx;r~deQ67`UG_VVU8EZtQ)uZHwuBai?(kMd&D0lRI{$;pA8OW%eua$OQ%t*`-PgLj;YQKjqGKym1dCKoaQ3ML|i4|*4HVcRmk^Q;8 z?YZ<_x6~7h(Dx}WZI-@0MHg48@4hnbW%@qR!&ie=a>#72zwEc`J_vujgg4%D4V2A9q3sJ2}%|iSqOIzsdD+eKY)@D}UA><|35; E3m5!n+a diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_sensorsutils.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_sensorsutils.a deleted file mode 100644 index 4f86fa7c18d652224dc62b30d90a20cd41fec6f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51638 zcmeHQZHOdC8LpeXe4U9&%$e_x$>s8W+05?F&hEw#Zg1DST+GGA-AfdLbF(wOH*I>S z*O}S#_6*@XLJUU;F@zXGl>7)90z%M$5F!MGAR;0nA|fIp{t)q(Km28U->UAe>aMDu z>P}^)FWpexGhJ_0byYo2y;b#ASKoYptKaTEuJzCKQnjRuL(hS=Wm$X_a{Qo z-TO!8CVx)|y6L|%H~SAl(0%To%sucgLeR~_J#>qIXYLThf$pI{Fn0vvL$?I~(Je!o z=pKc8=)MB+qkA0ULf3@f=vD*gz!hEhx6C~OS9HB!F!yzMesr5q4CqeoWA2*|6N2uk z9&_J%lMr-ILpXHb{tI(w|4j(G=c~+pXFnn6URq`DyRQ*~?$!60`yP}hy4U~1+#A;u zg6@Y8GWXW2grNJ;kC}V>Z9>rf1kyzJQ;-)(vBsn*c-dj~ex)|~#qz60?$-Sv&8&R21N-t+u+YnT!;l31o0 zTJSy3X=Ad7oZ(LgJOb-(~+*|Ye>$HS~AZmXM`2}a|pxf)fW!V`DQ3-*yBJuE$_|ZYv?~7UF zLAkFS%JX~2mFZz1>M4a8^`sC|6p_L|GVG>5EEiCQO?zYvs(xzlIoumI>blHE{!*H$ z!I-Bi%+#bVDF_3eQkX-VZbuh{`bi-UdVWh=<;+tK<9g1Di!B3XuHIkrS@bu7NxE=> zuN3Nl?|Zs1)bB`ZV;<;z!X0ic_`Nl^kX8`I)gG<-=Klwm8kVb zDms1IDq*4WYFBu`Eod#N5GE0&7nGvbTku$PQ7>Tq$${n^3!9wXbxc_PV~; z83e&n1OOr@pnjJ@>v+x=`z};EZEzP`!`6z=Ya@usSUeB}_?&dt0g6obq{li+IEd5u zDboalxQ?`r_ne`>j-7(^hf9?VVtd#<-W~FsKIRU)P=bD6Uyw#2)Ug{!8WRlSI<(dI z2W_BsdZzVaK|GXgQ;X@b=!AkeILKCf1q9;A8zroWGXVpAd`Uq?TuBt@BaE zg9=dhY)GMrS`tgd6PAHGc;uT11&S*ipE#Xm_f)8~MvBP-VG=AJY)AdgC~|Q?kSpk@ zKus zb1}lbFmJ(*3*oX8o=ZITlUgV@9o|Q|i}i9dq15WGx$2*=! z$oLxcSObCoen`mi9c!&8!W+STvD`43u|!%ZCYD)6CnJ>Cm`+A0tDRH^OCf#)Lf zT^8CcnuOwXnz!FkyNtC^hs1h9x`fNc+WA?KIjNS5c!K%Z4>D)ea*gn@u7w{D1~TD2 z$npCh-irTTc!A&Jzvi^_(+o+NHbd7%@Qb07Ara#UFe&I)Onyw(3PdbRssl)XWLj#N z0)%2ZfVc1A9a<7G{L?%m0@xF=CnN+@XZQz$0X>k{?9P3`9lTV?890Z1n`|@lws?eE zf}+1+i2eytOEC1m02v;I{%(K>ylf}>`$D>D=zmfzC!zltwOoY$8zFyL(LbxgK-j0H zI3c8{45-5M15h90!5I)05!|hir{Jv4b%=dc ziCAy{>t?8*nUqog5+Gp|>OBE1+ll%ULb_?FKdqLNP=8h}7ggyVsLiaXZ%|ueirt&y zq__;Y1)d)d&VUEm4SKE+>=FiczmH`3x6X+vGfp(-f<--5J|ZYJ!QO}yS3><}<-~LX z5p*2~#8YHVa23V7$b(vN2QL+J63%fR&|GsvKW`$KhwYxvq#534CfKUBs(|-$1kCY{ zqrR+ouhW`WuQe(%=5aiP2XFfyU^nQwLY{#uVqTqd4tKsgHL45&h_ zW@W$>#Q|USmRM6)=$8Lxigu9&i@_bdRLFC1Miyvu&xxQHvCV~=As5Q|P+FI4U=Z2S zqTWxQ`B25`!eGf|v3o!!^PzDbfRQ_Wv1#aQ8U6J+Q}l~g-_jZo%$|QF^iL$(Lc{=F z6inO7;*Nu_qwR#K1!jXgc&U)naF)@Zwp^MOi|ui5ebx~BWiJRTj@o;KxuppERq)H& z3#!Qo5W2_3ZvC_Of`IvA?p3{@q=;=jU}_bfkgdYyh=7j>^4P`hmASxQEdg#7d0c!G zJU4;r zV?dr6p?xv~SS3R`MP@**F>xyVKPK!O+Ja|F?9=AoCid@EVjo_?{)A$G)SKzn=YtIG z!sUuM3Vm(6pJzqfT{8CRUIImK^G#O7Nn_uUyDL~ny{Rp@Z1JtP_;<>vXZtLC5?g$6 zhY5)mfv4@BzNziETnUtl{XApcI~3Rtw+kt9tDkGOC-Jtf4F9lXY`6YX#`a%%-oKph za@(J)$3JrCG3%%| zwe^W326ehd0=YwEp>u*op4Kn2Yi<(y1!?kd0?Uw;xJF- zUd4o@h;1$y+J75!vQBsw3__#c5kAI@Ms)ssJKqs5!kh7XfD7^JrF+#DngiF+7DHSE z7rkyxwcL|%R^~dyzM?>^j|q(JzVdtV;Z8T;y=0nJ)}|O@vq4q5Qy*IIZ3D_5MEdgKj zv)s#>G_?25ly5nvw)%Ny`>!V{pUWwDZ^vY|KPC5!0%-!ad0=V*o|b1gUo)8D6!+HL z&KXY4UY*h&&^SwrM`9EkP0QgPocqD^MYUY?=KDU7%W46>F8mJ6=x;+6x;JzW7BC$A z&ELn_4SKGSH{cq4PG)pTFou|m+vba@m3Ug-A+h8OpB=pm>O3o7t_@KF=Hb+Do6Yi!a*=Mi4eC29SFQ;WlKA9W>`Pu0O~u_^=yrI1Jh)z2VmIiyLSBJu zz>~C6h;bxU&^A8|t;;iYS(lXj;JPFaKduguk^G8af*?iKBXG^GnC;XcnlH*o8U*d>c(6-kW0N$<%WAnugN#EQ zSvAO2AwzUu#5{+X67EXPnX*dDot-M=E%*^=5~I?HF~%%}ZRVI-vCF;}t>gs5BIe}L zEmvx=k|0c>$0!;4UJ3liN+FFXaY5VsFtl>dOv!z(^6MYG@3j}$lU1{PHsnX_W5%)S zE;Ki8Woknhm&Csc_!8G9`VxpSBSp+MFHEiB3B*{T6|&5U2}29{OgZP9%85L4zE^~t;47b3e8og2CR}80WSH|ERT43dj1;!b z6;r!T zeF)pkDedhlMo89@kHg-6sR48F;fg#)$=UZx;GdWhh1g!{K4EHaFXwz!Jc?{0dFFgS zt>Q;)TC>>P$S~(CYLj>gXqk}^v#mEwt?YGqm-})Z3b%z|-#e=<#@es6%AMIGJfw1&=+ zR)5fKfk$V_cYB~sFx?`LLCowVMkNt4#Z1^XS4{2fbMo5wH=%JIwX*RvYk(=nwsU3U zSs~rDweh%y1`l@8uWbCjS}q!k;E$|*u3bs4Ec^Z8^5*KG-FH`=&ODIlggbPd!GSI4 zmaMrQr`L8Mog(vQ77H5=zQU0<1?(o|>|OYkXhDohMM)yFkd_%$Gquu}qkCHG3FbwN z$}_sZNWzZOcUzu&%31LbY_6@L-YGJB%trSyMY1fFfSM|@m~CE|TI6f;8v1fSH$J+@ zeGRf|nhTS>2>W9YSCRREd%fVnwaI<#20d5E8Mr32NtAOX4Y;pu^qbn-ORYfb&Zbtl zAc+Ck_9JQ*JIkOQip_!?T0t%WB^?xEws~P{WuKGRzn9|=t`)FfomDHGui!=406LTx zXk+&`BeJw`R9|ea%+c0G)EL9y4qhtcJvb*c29Us@RCN3?32K{DruO$z*U-ARscX&~ ziJoHfC!el~lOVFZ#|A1A&8*wqYsPkWd9JH`*NW?!J;0i*x@M<>7qG9O*IMZ|MqJy*yN;F{=FrIdt{CTa4v8DnZ|FTd?g>o?IOi?j&N`ez+~5HjEC9DxCc fJ8;^5uQOQj!)?tA%@C7sd+T$~7?I*{i2?ruwFqbR diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_setupapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_setupapi.a deleted file mode 100644 index 1d657d512781970aafc5f1e8201f1e4fb10165f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 465930 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 z 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%0DDRKn>Uy{6ZQS=* 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-core-featurestaging-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-core-featurestaging-l1-1-0.a deleted file mode 100644 index a4e75b9db94e3aed9a2f511a1cf1b1372b628046..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6338 zcmeHLF>l*O6n>)Y)-@cYD3Z2F78Yoh!cs|Frd6OQ3>a=Y6-Es&9eSq3lf+u40+NP3 z1wjX+LkFWnks(7S{|+NVe?opjen#B)?s(+UA}eYL10z0wyyLr%caM+nyYI-azIVg^ z=!fNR&3v&pY{z!2?ncKnEzzZ)O><+jo7`})3;-(t#u>okQ-Gy6@>uDj8IQYYr{lAK z@HdvlFj75xjx;CYFw`;j}uPzlEhI&!9+Fr0)%SlRKI$H|~O zf!iB%PlO@Cmvnmkq~D9%6P1N!*=Jjp<2a_dX~}Ff&4Xp{>?2G-fUO4RnP@FSJLadc zXqTT%*ga@_ZtRvrM9&uNUbcHtGy?|D2CqTo4$FPQD~@7V%reu4bbYBVtDx(rkQ_A0)Y=Ij9iEfB?_+ ztxY2DN7eJbYpddM0WA)+f8LGh)S zW<_6lq|Z|v5nz?=R1-@9Xbn)sfY;cpOEGKaS!7}92(r!8m+y3a`B;SK1-@q5>J;&e zR-aYukCS|-$^@&TzMvjx>mtoiRGwwJk?H}x#STvPRGSwvTuxuQi21V^m-39BgLL%o zVw|J=TE)gs2}arQi7&4n(bf5RX3JU&bL@~PGszd3t)E~^X1mO68Z*gpP3Os-=Clfd z9$TR~kT63;k!HZVq~>ILqAVgZIX;OPP)10Pq=x`ByW~?FTU2PBke1)XwLBT{FE*<0 z{pQ^(*2P_+T!K;S)fm;qZJQ{xW4mQkl5r`cXm2tvqnc24uP-z4rZS3F8!8#2ew7As zHsBT3RU;w!R2f~eKJqy#J?9x_)Z7DSax@ zyOd3z#Cm*Ry97XPw%$=!X%od51zJ8*QpPIHm|nsPkq0f7UQP) v@JBH&)rSX|$Mfm~K*`U`8_tP`=s%TABk-qvS`2uJ?UE;#I#JeH)86SnU#xHw diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-core-featurestaging-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-core-featurestaging-l1-1-1.a deleted file mode 100644 index c4b902bfd3ae45236836a54ad698f3e1151976ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2750 zcmcgu&2G~`5T3*>g{TM)72;?lxS-nDQR3uKp-7d01BV=d6Vk@5H?dXcN4BF@oO-Bw z?ujSi0s0g?4rON78?PIimP4~qcE_`yGrQk@vy)c`esUbXZ@n|i&F#9L>pA^y$21)= zrT3=U?zQt5MlAr?0%&}};WNO_FZwce$k^AECn+29j3?}H9&mOV&HP2g(0SJPnAc%( zbVT3WpN7ZtgfoInQvx&bJm!A3On934lV~c_?cf15i72^Y~1zV0aOV>GsKU3wdUqi|j2C){p5uBUMOXzW$s z)Vvx|57sobP!AUA!7A&)id_pob`Zz-f<2C6p1=6#24K<{`zOkg`*l7kym4y{1k<@} z)?qXrjXI3RAtnjNB6i9x=UMQ#jZ^=?2<}KBM&oVyNAf3%L5(m?m|?%UOeEch|DpT7 zTihW^_a2_bbJ_r2Df&4HS4H=Lx^Js+d$bx{*UMZdbk|VOClVbP!5cW(4s|oEA;LdE}bc zazucY+G(UL1)w`XwI=*Vb5r$Uvw4;})MT>VSzp}#s#XV=JA$4IJZ37~Re44?)IQFC z&-G4&3C=z13)TbeUZeJk>gbPZoTt`B z`umh)ln-}ⅇH%uC5B7ZmrjSQXs{Ys(gZ$RJBwvy_;)UtLGHfSg$sqb0}&H|P#(cRDR0DH>Ez{#`llAA=~5; zAF#E+O&@v+DXjVXJM==kbqzodR?UZD&_G zV!s|s8oG35e1hq5ET&} z2vY

    F$aqrc6)d&j2h7zR5F4z# z#*&$_YQ~Js@qN{gs4Y5X$eLFsGjcR}?0Ye>n*z_$v-ub^zEk5;X4G(uNtsb0{m8#c zK65ud-E47~lx4OYh#JZ)_yf~Pq>=gSp8zS$-Zi*VpEcgXejRg4SO9v{2G5-L26g?sU diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-url-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-url-l1-1-0.a deleted file mode 100644 index 0f9d699462cadc8696e77e135580e59e426915eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3544 zcmeHJzi-n(6n=?Q3Q-XZ73zkOV8g+N#7QND8g+nyp$lTXy0Pd4T)iSph%pL1^PwhRdaoRquEyU)J!ci(sKp1t*Eo&LM(D>GZ1hT}S}-D);W)8-+) zHqAGVn>=t_1%P`1r3FBx3$T45f7MHX>ZK5eLVSvXStO2vIGBmUi64m5!PuJ)1P0Gq zu5jxj9GuWEiDTnWP9twR6$Bea^nmD0W`UT`LJ>N`5w`FIzGW1E=m(y^#%bVv5Vt#> zU>bk)#=W`M3!={;#9%ZPc_XW_b|JbA{xI&wwMj~U%6mP_yJOp~iv7$`xL3HC*Z% zeO&bkr~2319Sj&iHTmCQejak~E;{e?@riIOtQqLW{rPw(BdoLx)AW%W@B*_dy+HgD zr^}+BGjh! z=PWvDUgG$1qHt_29VHPrO;qRs0mn)Jh#5){Dq+9l|M}*vy=d)j<1E8ou>X4jw}*FA^UOxPkf(|^D+b`-^1@BG{`Gs|H;QmnxBvhE diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-util-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-util-l1-1-0.a deleted file mode 100644 index 8279d72014b11daee0448a39026f495da1831d0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4238 zcmeHKO>fgc5S_#+g{TOGdf;dz;Dm!+S~o}tRTLzSxga4fTQ_#FRp*1)r9D<05Xb%) zjvRX6#E+uP%zEv0V$=4JfDkKrcQX5&ot=F%v%dGtoA$%!?Z;-hIa`kFxOR7Y%QS7C z(tFc<;&ihY_Syh&9iZ_EpcMkFewR=C8vs2wztSVbt`KjMV48?tkOot+JN5%{6pg$| zBv5(Wb%nbr;%J|qOpk**YUm7tB3H+4)o4C`$=*E3{D6a(I4L5R9K`0w9qcS z?SQRtTS`y3wR+sP!kH+nSK!pV8j&g1FtLy+7BR&lrdY9KIhNh=;}|-FC=N34&vStH zje&Qd6q#Q4AuValtV=N6f6Y3K<~ySfqxr4H81hKDWxi#ft>Bc=sKv0qh!sY|#D2cf z8q^5Wgb@2>#3r#kyaLO+w#+xCxz|=KckvW%lj+d<(=6X$Gq77HYtXK{8AIrlt5~k^ z`l#XZsL|(@OgJUaj%%nefO?95gZ*=prOWU<2Swq=MU)D>1m-Wq~^@sfEY*XNfzEfNwQcnmfp*_t5s`S z(wMI+p!<*h1u?Q_u%~E+TvJpCh2h%1@TR`PyExA3o!ocH$Sc<;JT zwJ!#l?~joz7v=k&Boy;%nfd;mw(jrpyh%imiz%<&;=jB7g6q=@z|5tPSOQNy^?3fcaA;dJLk+D-+W;8x0)-Zd)lxW%Z6!~ zdcAgE({$dYmYTLyuLcinlmOriK<*bn@h3Lt#C7f}09_YMx)@ty?1ks_J+|)nPM@uH zZHMi;9joUubPnn!GpnrSZqgO_v9i0np4ICyg0($*fNgdA4ts}ha=RVYGMK@1W-)wI z+X2>eEc+i11uvccvmK}Z{-xF0ab5vqZo9`uoR1y^~vd(Ojwgs1n% zd&WIQefIXC<5#-j5~i)4q3fn;YMNQcMdh|pvOk}~3I`iuunLbUbs+|SR@q`abBvef-Z5((oeYAbX-m17O*jwfRp{Q zMy{3HUKzPoCa#qOu9aIx*(mE3yVU}yG;no;2mTxZyva4JZRrU7Y8+|U!pPVJQ)8G< z!zl49q+yiU6*-2YGHgM7dE92OtB^~@@R$)Z3b|XuFA45w3^KyxVH?Yg6kZ~>H;=*g zx{j0|VY`Vdafzl6#sAIrMLrEIaNFc;pAT3@iO2wP9QvY_`N9d@C_RyN2tVeRVF&)Ifg61 zm{I{taRq$EkDsIfTVYO?3g{@~j#I!O85dK)$7Ecnfa|!r$5lWM;wNEwhCazkxDoI^ zQo>5$p(+nQuuT7QA&N2mS^NM+`p~D;$6`%6gNY3B1vxWG9~%m13sfOg zv0zcYfF-|CvE~E#8p^#hc07*lB;6QwB+rcR9DBz1o-=oRZ_ViMG}jA{lyK2jG+oox zYGqkbR6Zovin6@A&g-UUDvkhVr-MK*N)Y9*p}s5eYV*( zEw*oWjGoQVIH>AOFSC|ir^~ZrV|Mo)qt{~uYdiD++v)Z#_5t5ycRNPMu~|!F8dI6U z@NI1iSkp4h6sCi1tN(J(>VMoeT6@-GV9aj!*og6&R|;&^ zN~Yl&$q+uW0b3`fy5mfM!6D&ndg1-Dk417p9@iz84N!gDif<>}Y%;Fm;})K$V z^;NALVZDygxIv!)`Txy&+%ZL&qt)QL<~^oRwBuOs!9$IN8>%P-@NNhfXD8b%UO8UV zevsq-xypOf@V&{mVuWMi+<}JM-0SQL3uj!&)AW%kXo7oJXoCDpJ`IYz?}#-=RKmeN z->D^?0Nd>0Fo-|d^k>(wzfz;+0Ed0be`OAec#*C-+V5o@jUC}Hpu`>ppT)8(3*uGSV#Fk>AyL>-0=?)ECL(= diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-windowsceip-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-windowsceip-l1-1-0.a deleted file mode 100644 index 1507037cf2ae2b90ea29c66f9a0b1b01dc85b7f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2734 zcmcguO>fgc5S=6~g{TNr^}x|cd>wGGtJDcng(8Imy+AHV+_p~aG*+F&iVf{CC$99D z@EiIw_%)PyyWV8oIJ6wdO4%LHK6`fGzS+ssBY!p+y{o^mip@QAJ=b&Et+r)3a?0#2 z>%jB!7f$L#v_(|;$isW0ouBv#(G}uz8qQMD3$t)0y3-&O=h4JZBEim!wkN!%h@(D! zxu1t%dY<}8A^;nwctH%NGx;W_24R$l*cGmDgfIAO(OPCq4C7#vSX zh-jRMqAwVqo@R~dg3NU+x{l+4K<{m9!D8_J9urA)R3UmKt!-*#;YB9x^_@k%lSbfY z{(6X<=}_;g(NEJ`U^E9V!UvxMt0{8`M#&yexhse?km2V5&6beuMc}hw4ZFp!&AkTv5Hp zr|}qD;H$(uDd{Td{-f#-bhv%2hS&8ZR|-zMO!XRXjs|X#MdrM=fz$TQahDx6LXZ2P zCi!_Nt-I)bBrivXbCcSkVK(|YIa3~~xB}DI=9MgwV6AtI z$Wx-R>{VB#Uu4rH1zPC2hrUA2eTqInpP}i@tX5jZQet0h0vW8`_3XDlnw@WE^=PH$Z#7@cJ~NYI zS8T_2tZLOVP5hzgrD>L(ayVdf769-u767JAfSK>|x&9k~o|}KaN&pb!)wrK;?eb5l&gOTOa5N^;p%ty`a|X34(P38X&ejpGQ)c>-(PX zyFJhEx4PS+Z3|miq9$62QS;+)(!~K>hwfr zccSA}tBso<9Kd=+zCCOHv`%eIa&84?ZGE@n_lsWS5?Q`rTbAQErnziCk9?v23?5S#;pL&CLa!o{+}q65Md?n{?d zuoSMM^n{zs#w{xxO}vnTQ~jz&pDlEP0{U!$e3lx6K3izp1-oDs>+Lp;D>mrtrTjYq z*v>U-J4zAib-U6w@~8GfFx{p`7DlsYJ`1DSa*8ozrKE)RW;;$}S3Z}CVH=XCK6?veNqC}qUbAwyMcz%<^I>J%di=feO?sj*ihJ7z#=`pc` ztt;6<_9dIfqDLdS=K;PjSb09x#8`kmE@ffBUu;Yup-qH-#J<2nS&|eyHxpHCEfZa3 zlYPa*rz=Vt`zSs=#r}H80;)`~hRj5mIkd=0E2PO`oMEEOL1$aW#k$(M5aSY=sEU~V zbX>$fdXH7ad`ibTYF`hqL76!z=JCm6(i|Nn_3~dn`!2)&Noz}=y@oC6^U}X*eCX-g z4S<%<59TG%ZOK^(LVmE-XayW4vrwF2l!h&lU=_bJd4SxJ+#vw1E?M;uTO<@Mq-KTx z%ff(P*ht*QM!3aIfS;VHm@B0rxl+<^ZIUaW(LCpI<$dTsRE?7>4Q<`CxYA3<4RGaS zIxgZ0MetF%VkA9=Z`0&k7nLJ-aPK5BM~YIxr2#*%PH-goRS|yyN&Wag!(vw0L$ad0 ze3?P;R3$m0Z=;A6_ponNR^-S>)EA~6MRBf+%#QoGf0CFTRjJ_8fS*`rym|CdpJtYc zW)Evfo|GyBJh{vsixE%e@$5(CNy1w=VqR>1PzEK5`SC<5xHRA!)*3&OxkC|SVwvMV D%N)Mt diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-windowserrorreporting-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-windowserrorreporting-l1-1-1.a deleted file mode 100644 index 6499d7d6ee8582ad6a61f9ba471cee991852e9a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7386 zcmeHLPix#p6o0F=o5Z+nAR#0Wg3`LT?q(J5YBx}V8@G@{1EvsqoG2^VE392Dk{oYJ z4UG@h0DzAGv_ApX{|319y?8c%1EA;Qzr=H; z4M5MeNIW-Q1KfDc*e+v_LnjE?o)b9%+x2aS9lIlI>@w_}^h{>9ndd&GC+^3}_K!nr zJZ1zNhBSfo{eaJ;Atwm@AaKTh5V@lR<{6CsEQae29bf~;vRAq>eCGs@M}c$ThIq)Y zCw=e8cI-#a&<~zJ@cjNEFy;=&Y%VMZ*gXm(fB49WEZd5#vLy{WYylO7Yka%NIc9;RH3}N0W=N(N#-*96YRY64Vp~U(sOhKfKF!aKR?9R^UGEzA zQa`s}et@nH@UVs+&0FixjGPHN^i0uV?@5!tp_wq)fxWlQr}!S`$O++GT5t>bB;+Di zYp9njJJ3pSour>|o6~XK1V;;BEx{$@Nsat#48sQUuR;8yhRVN&XEgAyX?q^cYwo+A z6EE=3JAi}QzIB*%#Qm~eNsW3z7lO$))uv%2d)B96BwMa=3|T2JvAww+*Kw#`n~LE! zBu}Z=jQk?;FWQ5IFd96^vXWbHgSaqQf(yOv?9NZPVB&kZOoxHBs=08NtAWK;(gyXq z9{UWv_cAUdc)6BvDYxYDq)oV_U92~;qYhNkEm7z8`H;63@%#Y~Q3yxjUIhEm;AnIx zdbsc9EKP@80Xw*L1v|*TWYbLK+eqlF@P&gD&!?Ig3vkR!QE2c7HYy0tmC%pa7q(D3 zf`W4+QMV&Sq6^$)KjF)#^s9`0bU%HL<6g`Hs&r^A7>O`)NH-_#P$nl?gh?X@z1uc! z_DtFrGF&ba^$>GXj!W4`=h#8akL5Ts(Q6AE6q)m)zkT-^^_-sO`^B&I`FR=lQ_?~B z?j>vq-xq#P>%<-}Wdfu|U5!s5+muHmh59V=Ty@&bE@Zy+Ws(m$lhawzJBtZ6xhGD{GsS;}rh9D95Go=O+64vhk-T^QVxL zoMqln21}B~o%^DLmm2(xwRCe7POeaEyxou*Des4A2L2M!fd#c}J_Ze!JnE!(B#R&n6O zp)bOL8^<1a9G-zPGwV&(jolv(jgS~AyW`n!|7Pdg**tpbCfog$xo2ik>}A`r9jn)M zOw-~fy)@0GZaeR=IR^kY0BSz~8b1MMU(4To3@{%Hu_nYu>L;mK_cK2cYmw)RgJ9^! zfk5M7&k;^Xguxd5aywRDbdb7nEC@D8se{;#67ES&ev(8<;>S^v1;bqt+QJrX;R+mg z;DhM?|q`T$e7ZU@6?PvJ-Bh8rM}g8hEh;r`lDGan>B9O^mZ9#ThA+an=m& zrrm6}yfCDGt(_qB^8tRJ0_@gy+&yK;?YduS8OE8l5KQ-Jy$YlG)2PB|zHBgtyi}Cj z-|WX3Y%*$<81^AWiczzRgXCW{2MJ;7@CnPQuzilW(7yr~dP|)NE;x8DcWE=wm^K&M zybLTBX*Ia6dwI;zxtDQ4;q_X>jku+^E1hskKU*)L!2l}hmN3{qw^_SP6Rb;SBFr4x%}Fzq$I`V6V{(*h^-iafVSA_C$eIyl094 zxgxnjd`Y53vg#pfBy?Ly%L;$Xq7L6tseV~q^zxblLpfJ5TdYg6rK7*w{<9^It`S@A nV+354EgUnYuWA`(|0-MP<{%lf<%KkGS%+^}|J}chX)xsvS8=Gw diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-error-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-error-l1-1-0.a deleted file mode 100644 index 8f1751fbfd6da3bdb351006f0a864eef7b24e3ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10412 zcmeHNPj4GV6o0Xkw26X1s6+({HK-8?)yCU6Ye$Muq=*0#5|L?@3u3a3*YQ%@Ywd1n zKnPU`RUA;23*v}4aNtXzehdzL0M2{>%6l_AyW`y*XVapM3?6Cz_|0#3X5PNvytlJ{ zZOifwd+#j2T^UcthG80Jz13`1Ds|qamX%6#vk_i!unYjJ0Od~s7Ht&*BkIF_Ct7Do|I^S&~|Ys zey_GYa=pMA9_{w6BR|4xy4&tYo^ymM3+%*9lJX=ny7M>?XY$_UnP|G(?ylwZcP&5I zcY+?D%#J$@?BgIBNegJZJJu+;>xnfaFU#t~N$8)Nrn6(aUj#KbBA1R;M!jyDW~E|o zBHeg8SnfPnL}CGK%^`nyYXNF}ar}q2sKDMqtz!k279l#eVee7xw(p+;gZqSY=!VxC z5_=IF^EfXxZ9`q+Hl&7vI`FH=<|?t78eUMfi9*%BQ8lXd zTBqL!sCAvb9bWYJV}PT%u60KWLb<9-8oHbqpJ1vUOFE3A!?F&e=x?55NHgOp)G^oH z0(O<>v>2{8vX1iH8{;<#f6*9}2vY(V%L4b&WwQF-8LYl##J)sYy@^lbIa&hDpSRWD z;M2eY9T&Iy%b}&v)6TMbiC1d{7qLj~mu{ z)re_+9n+?u+iCu#xvu(`3tT_eo4YhsK+e9dG5 zVn$+y0JM0)pqH^liFO7dY4P8pD8bLz&;+X!BiX`u$o&v!M=K{gj7=r_672XE6>=Io zJ_#*`sv_CZRmPpfj!`x)#f~qtaS=Oce?BWaE@E__d~=y*R;&v1S6ERCB~+E*M=aAT z7KF%<7xl^+bD^1+3u#X=*h5?oB~+E*2P~5|AHA86Zwkdl zXE77ZoJ?pKDX%b#nPMhf!KZvyuds-Ap*ddSvBtED8*PqgYehc^r(CsWqb@8I8|^_<3(1I5CMWXfmCxRaO? zWaCmy`8pdHG37Eo`Li-*4s9jte-6{k5c+;YDSrQsRD{wJ{DfupswFwHG;$8SsORNH k`fX!&HWi;uJ<0bx0L`CyxCQ;UzvpRIF36$lEG)kI2Nb#lQ2+n{ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-error-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-error-l1-1-1.a deleted file mode 100644 index 25a56ca7044f1d123fedad9576fe2d6350579a42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3668 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 UIUiFCRaN+b<-hw6QZ|GB0>jt3G5`Po diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-robuffer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-robuffer-l1-1-0.a deleted file mode 100644 index 469de78c22de8e14bd4b17d955f9741fe9bae00f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2790 zcmcgu!EVz)5S_#=g{TM)J(Qb~;DTynhtvrYLJ>W{1t~(}%EqZ3Z0a<@cGaFxPl#hb zfluid@CkehWoFjvY+Ac52fR{tC$n!o>$h)q{P>lh?nkdX&&}25?z*1qIfMR7({y-B z?@hBi@QMZF4gjnHv?e%w0@(OPKOy#n_?U%hCPrZ%rebd%gyJ|p^cS%}=gGhmUQZ

    zz5Dk5K-s{%|wI`^S5FC zhPUzFPqWBR!W4vvXA4m|6@1O2+@6;N*D>olj^`n%eWzD48+^Zm za<=O`6Gme@@N>T&!ZSk{o!gTvy8#BLgp28cPkIV_7mYRCm)?fpDBP~{6K=B}*H^e5 zG`1>mYF>?~3~QEIs0@pgK}MQeN*Pw-TCU~TL6YDCdm1NUvGC6Yz~|P~KTwXsuk%Ua zjZ1qVn9gOp4x{mC)L}FZF=a3ov9sC=o|(UOoVo_X+>t_z*0a@z6#pm&HNvzZ#lG3R zB<)B4p#4Et-ZG{+?kMehcpeYwCGe8b&x&0Y-G9`6SB2Z6-Qd2q3$4(3S7~42^-;r> zxunl4n{dj$JZ_@H0P5*hFqohFY~4oj5#N~z$HwY`X&xON9!L*sZiQ)j$p*55*_ByA z{1T_jrr$nt&sXwx*KcFi>_8{HkhOzc-&Od ztMZL*s~wyl7rLjx1m~8u25W|wAkT3lG-R%*=vF?ltv%r|-u zs;S?qah}@OHX82=jPl_dpI<(I-)$x!b%SD`_k#l9myTy7ae+J4n0DP8r==jQ&P#EpV(Kv L^)=r`O=jU=3f=AC diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a deleted file mode 100644 index b8f36b0cf1c7b56f819d8e7c8f5f5374c99159eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4778 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 MST_$mJ2!vnUjvF?HUIzs diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-wow64-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-wow64-l1-1-0.a deleted file mode 100644 index 0cf2878acc55d9ada3443db0bc7ec16a083103a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2702 zcmcguO>fgc5S_#=g{TMwJ#ciTB5}aMt`f%wgd&v#+;Tx&khX5@5UWWY*@0A?dO%!| zP=8W?0KbVcZ`Yfw6Ni>Vvr=})vu{1?H(%L*9cKOEo5m}UUN7nf+~7k)w<3GpG1vt0DzX`G3pG>XM6ISVI=VC8w>3%?~s$q9ai zo|h<{<>6!^02}8xAo^*>C({|=p74Y#Lc#AD$0UYv7~QEMdY^xUTRIjbvN{u|E8dSP$I8m00)L507zq zE*qwgq^e@N!&pDm=Js$KzSpxNM&ReFSl4)SHE{FXG556$oR*i@T~=6x8CAfN{5+J> zZ6bXr%OS&g$f%*gbok}$RB2?am6*myZXg>ZyDA&NFF0Kcv)ZUTujGdW>qy6n4CP#x zvzqGkn}rQDf{mmXvMYBnREpiyNjk3CNp>V9-`Tln$yM2fn)H(QKNV4q#U}TborEjD zQ3+w8YFsQj#JuvucP%zHFznI-SL!6_gp+FAJiG86UB-N?#`*eQPgrx!N8O&O%{e?^pWjCQB?j>8Wz^7CUMs^9 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-xstate-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-xstate-l2-1-0.a deleted file mode 100644 index 3384e15602cefb7be4a656ae2a9ef7b1576e316e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5258 zcmeHLPixdb6o31tT5J7NC{jcrO1-&jcDqgYP^3`Q3JL{LJQSvBlkKM6?k<~@mL8;t zhzAeFg9lH3lzsv~haW<$@6Ak-*=Ew+7K{`e$js!;FL^U>-tWCh?#DtcU)dVj(>!|tdE7JeewS%1=>Sf+`m+3~Hx4po#Ti(9A*l7pu zULdha`7<}@d#V4@_O~QjKZepLZF{ZdI{gpE59x=U-TjTA+=;e6ZO<#FX<3$GSoOMe zlGQQi<0ag7fO-z#2JekPnXilAq*ewjua+G-&ZGtxj)yJ!W@+0mp>LMRH%r1dORZ|DQZmarjAFk+8b+~Qkz>dz{YBcB+ie7g3b|Aa zw;6dxA$Pz3CGw7RP$5hnHnGkoB9N~)&*1BIvzG963-{qBO&*H>+SjXm8dy!zY;ayv z(nn~Yb-o_r)mFhp+)>BFKH4K#x0PJ2s8 zxUcnDniiP>8@P1^8_2$7)3~V7M$9?E4-O7JomyfjK$F*^%EJ%rWRa(`}|`Z+ZQm_z0gjQvV1Bn`T95a);}_S5dwP}!!U z7h+srE}>i)=y4IhXdMfPd8fx&;k<5PXGvm08Ls%~_yOG=9>%h`SJ0kGg!hqN;gMIc zCp=nsFFh~)Sjpd{x{%B=pxTk=6p-G}Ek+vfDUnm+d=W~x75X^C*Gs!EW+Y~aXGxR@ z&P-vC3dI5;i9#Qje8pOK-bz1-Wx+YhHk=LBA=yw-vyEWG2QgvdlVl80|t>sKwfR`ljd^wtEMB!)^=g+yC8PzhBz+03r6z^_q`!LI?lGYy6?LoFy`;InO4P7 z@4PT{>Ns1D%ZT1z=RZpE%4USszKblPLq|r z4V=1Mnoi?7`?aXlN}R2mmszH1+qPjWTIIyc+^@IL(EwiO(4Tl~97>UQgf7=J8L+Wc za-GQOi2_)Ljnh&s4Ew;~m~cLII9HL_32cnvywtP|ro>gHoN!a!af=dXVq->wlX_XB z_ZRoVB6@#OdVlep_ZI`JXcf(p8w3EQ9UnJeq(5f>_1uoLD+RG!wJA-ZaBdz1Q|+1W zhEZ%;=!Q}3IL0w#p=^q6&22c2szR!7>b`t-hF(?rx4~JNe;QW~+7Bnuw zf~B%Jdktf2QnJ9tU3oxDfw57uV1Z8qiy4{?&TBUI7}|9m3nX5x6P@!!K+MJuHrZdc?fY#8egZ>l=T{i%R^t&CT@6tUJ!xE#5^jYIoA`QZ_r;9F3;}3#!KNqJqC}^JkR+z$lAl;=uX;Uh zfkWpbk4u~#l>yn2xt$4i9HUYCvEx(hF;oqc9W`a#UhD|;xMWKuI}Y@?gdG&0FUyWG z$XxZWH7g$C`YENXm=gkC=HWZmnbm6Ebwq+PWjhh8;0c36Y5<0f+SV#ie?M=oK9`u+0Xj~tQ$>Z-Hk$Y@5#4fBQ@ g8lS)LZqe_}`zqXkbKDSL>;E@y^!txu_-`D40X4C}t^fc4 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-consumer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-consumer-l1-1-0.a deleted file mode 100644 index 1368f89b7bb1ab8161886a527b6468e4fd59ce06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4330 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 Jcgm`Gegm5~MJWIP diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-provider-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-eventing-provider-l1-1-0.a deleted file mode 100644 index 673e82cb9f23255e4222c69882dabe8620e34916..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8528 zcmeHM-*4Mg6h3j%!-#&syb~{o{ot65!_kTF;%PmKMHi@)Cfm^nRCU|#u1-Civ1HmKD+N8j)FKG4fIQ92i>!?ZZ~d>5`NC&rDdA7 zZ6hx~ZKu3+f4+j$1h`v42J+rIG-B^G=Ka}K4UReu*NL6k5I%AMM=u-QD4GLh?@-O*R6@A?i_nc7)2Pb@|mUIdb@LE&`{DYnH;$`Vt zi%cy0TyXOu%zjhX+EwnLXZWfq4a(CRtwFbOydybJO%2R~5e6fIwmQ-bdF5P1jx-|B zn{44^kF|M0;U*$X8!>S{F4Y=6#{pt~$j8~qePMbBUr0=1!zX_E>H|7^{#@Bq@2Zxq zq!|(p6BB7(!Om;g6YLgD##5=oOeD(29nk&AqYOwTaF5Xp)x@GANMhk$n9vV@UV8iD zj>H`T(1Q#8yn{U|v@QsX$V)t`pg@ zC>87q1FsGE4O^vx{C)j0*xxG1{-(AI5pm#>{ktjq-@v!KDErqmJ`hP(IU^F^V08A^ z=#gYG;1}#E_Uqq;c#2fw{zGLzcZxB8V*h=a0m;ldW&Rev*+rRO6z&;P-gzK3VUNiuwv?K z`)X@pTQXm1A^k*%BL@7LXkqH9H9bs^EI|`iF-@3ROnXiEz<2KgqWc0Jc~n%-N}bi|b2 zn`Yf@W)E~~0I&s6`HI7LfSoG+7&~F?OTs4!Yx9&(*vTm1Y#I*zamdhl-Sn7u#G>$= zewiPKU^Gqq@t6@TPUr#F^W$*XV*$SkFL*fYjwZ36hNB^iT;?)|`3&D0b6|b$2OC@# z&UktzVmlR~ea0O|AM^Ntu`nL9Rj7au($pT!4`3PduH$%~XPOPSK4(7o_6W%bIIRFY z6V^7^DZfsIy}UD_-LV5d^_N4$Obgn#_IZ-5fWeG#A-(Y6NMU!-*uuE<)&fW2j+LKq zyUTG6g>%r@E5WIGHDcyiabjWSSTb|0h0L)c*K#e#4x$La?uHT19{zI&(5rO)fpTPi zol^?IxEBY(bUsl6vKbjLKp0CD}h(gBoF~ zFvb1>v|A$;^vhI$*NlGiC>1p8(rcQXno@y>r}CV(g4dCLV!~C@{YMqNQOoU7G#J-@ zmN9hdWhzj3ebjJsRq6A}CY-YGkGtqFfO@(g48hM+VXc$*eQ~iO9Gl1?=%)S4;Xrys z<`tNxO>RINf?cT%;+Hthn|=?;m>1L{z$)))B)tM$ie7eA_>IQKOUeUCkCc}<)TI1Y z)}Mx})t|?LuAg}D^chg5Ji5JJ<9w7UfCdwsHR})73+>LN70TKyuPgIXdf-a{3yqHDz2Ake8@1$hdaK#dqw|lZgQV)t@=ukIZ83eynTX} z%zK&R^sX%1wfawC7>kt&bWTMbf=nZVJz4>ul65GrG0GztDJVu~;3ct`;#lU)BQyW)o?JxT!5bXc} diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-expandedresources-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-expandedresources-l1-1-0.a deleted file mode 100644 index 4c85c1f46519b945c208823920321d5984662d3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4630 zcmdT|&2G~`5S}D0lu&*SJru;jNFaekQoBu^2q9D{RPPp_7%zo?Hot?fEgOk5d9e9vUo>uZ0h%u`8EJ#R&gVl;koCgD;7Gkqs(@ z$-*Ai=Wtf!i3RmDu%NOe&qKqgJjq-6U(Bc-^lz^Dr@=Y zvT)ZI+<3Z%Br%UprbpQCMhu|F0CUXzgZV-`Gs!|y+3)9-IA74dme5#JvkQIPK>n#9 zrk9M1nMdnbLCiri&Q|lfjlx=lQ94}l(eZuyb$Hm<^`&g;-9^SG*_QEo1tl5pGPda* zQIup|9En|tJz4lpemdhf$~m&b9FrXt{IC^;?r$=S ze8Y$t#g4WXRg+}Ld(G}??D&|Bi?>u|k*~?Pm>m!PgB<{4eQ;iAwmckS%gabZO%{G( RJ(d?_dKnKo=|3{^{{VoIO9%h} diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-gamemonitor-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-gamemonitor-l1-1-0.a deleted file mode 100644 index 54f72382d0271374e83717d6f2b1fcf30256b799..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4546 zcmeHKOK;Oa5S~2BBb3LX0#4vc<$%-#J0wmH2n7`c9FVFa&KtLO8&f9^wo3~_sNzs@ z?1>9MfdhY`KZGL(eg$P_*Bfsd$4xIrNQ~s&@$Bb)%+9y7UVLB$8@-2>d)l}dO~W)y zz1?bQn$DZlQqvlB@vdpz3IJRHDEtB_|3r07JeNKJ&~xPrJ&dg|_9}FOkgYnA6R;KE zcG#{vu!b%}<6hfjW`lX|Iz6!+E8E`KUntRK<`Y|HAqgDt9@zCUmyKVY8045l-S zVSjxGSkJNSTn2=fPV^Lqe6$g{Z{6tKiXQ}yXGN|*cy0q@Zhy!!A#2Xi55~HPze;I% zGO*S?F_c4tz7VTNXT;xR0PLNO_fgFsZS%DKHFVuHO-*a*_v3)*R_udwxWxdS0>D+S z%|R`4_9CuNFEm)~)@&=XrbBp32Ud@2>tT2b4E71QE}LW%q5GS_B__#Qv15st#62R5VL&R|6l&Xc^mkanw_#fj(oV!OWnXkTgP?>?avylo@C*8#q{?j0*{FEYq|R^C2BK zVjHc4GU`D(&Xn`gP24i6Jsq7}36B|Ii+d=aM?Q4?`4Vw(Diqg%=H zG=0lyL%C&?z#!o4xZB))En0x=^oL%dz0MKEa*H4-`@gyk`R z7ex`iqmp^$n&DQKBR6?=;(Re?s`BK^Yh~OlzC`J` z3BG(x$Bp=M9oKhOz7!zkx{du%eEq9Dxq)*hNqC|Q122p473-8$3wES6N$l@m=EiN#0hJq_*g{nizG0cMdclz_K#pAb0~Zk` AP5=M^ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-gamemonitor-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-gamemonitor-l1-1-1.a deleted file mode 100644 index 616a29d6ef71e06417db73149c0464076e0cc0c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2846 zcmcguzi-n(6n=?Y3Q-XZ9T<&N2BgN=G`(a%s8WYAfD{QaUtN4jtlDuJ8=5f_15*e7 z7uNnEO#C5~_wIc0xpjUp;EQti{O+^w-RJM!^Yb_U^z-O#>y=$@-jT;V=Jr_6wp}@8 z_O^ZK;)HBxEdba8Xv}cP0Cs-UpYs#WKc!-t^1jH#l%FJl;8)?;pM)HpvmWED!=vz= z{<$BAAh}BY$%GRuPU!|d^y6?mq(Q{VILwkMk33F4pX2jl0emFmDxn4!%7=$^niW08gZ~ z4NfLzNdC%ZL;uVP{LEj8!skN&#yL;ZH87YHE~E$UcQp1P8e15b*^a^0xFhW+-0pH* zSK|)Q*sH+lc|D?D+Hu-Oy|k5HXwZ6TM_wC$P7pm})p%KcNPb0YP$NteF0rpQ zTU(_4(LZRv=M`s-);`1c@su`!N00fgq^qL)kJ^8&m)oOgFs^60R_J|KXkX?7$3gAMM6l?E$=aYE7xRc&5WkVR#nciF+kz8dR7fh$#-9%AOzxJ9kycn%Bll-UP$(61-wgDouZ;>k7T5jO>*y~1Qn5r5Wo1)qq0eE9k1w=P@eZ_>DGjw PXs%^o!!M^A^R)FB^jZYD diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-0.a deleted file mode 100644 index 601f05a50f8e46043f6a12eac0a15d64d01a5c62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7810 zcmeHM-EQ1O6h7-sN{NC%RSSV~v6OJvUF_|~Ss_#fR)Y3!1??Tu#9ceF8?Sd|yGhCg ziV&(0;-W&mKnU>!h-c^%@IYKp&Y2niOl8B(kPc zMzC>2KVXN}*b5F>JbL6Y-(UvQnZ@uzV+WY)SoVKA6Wj|Q53FG1_(LbKaUq}M#P{z4 zW8QemDh9uFCnxv3*mph|xt??EjGZ8k(jQfgl6@FX4m{r(SfQ=pRXa!e)?+6edZQyJ zRH5nsVQI~GgJUnwR$efZVc=T9q4Qbj;a0zJd@J@QLF9T<<@z%~xXO_eMP;5U9kP!C zFYZiIvR1Lw&~?)^k){2NrS_9cNK}A+1Nq2%>(Ggv)0p?Gn-&cBJGK>D)et_i2gB!` z2T?Q!24{rx=z`n51bZ1fYq+j_*#kYn?Id=>ZC2xU6Wlg-u9o1E@#KiAX^*2es-`Ve z(Bk|O|ZNVwJJ=`f6XdP&Ub4Z zLtasf^e^|@Iu11(l^E_bVn(xZL%oPRqdBM$MuUgg))T9U>+TX<@9VuZA}3ro@jhT^ z#aUP{ikSxTzT|lYqyo6tXohBD$#O&zGjxp`-0jA=QpkTJe4$EC`kCzWM0#v12``gXg@nc~fYB07p9ev*n%cbsYAoV`vJ z+*(itUGe3p)!N^%pNRbMJu+jS3ifmCsZ#|HbMwwpL0pb2sNkD&T&e(qd;paypE!z?dZK6r*Pa$Y|0b8)oJd~lqb zcUC?)E5{Y`!4KuQR0B8g{w|vj8k`X`KD6UCS2;JlFZrKo;*PY?L4)71B~8rmK&Fsc zpgQ%UFQ}Jp@h#%w`6Ip$DxR{EThsu7xtnhicHn EKT6muYXATM diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-gaming-tcui-l1-1-1.a deleted file mode 100644 index ca1e9b8de96f26c9b2751f5694c9a80052550626..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3646 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-base-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-base-l1-1-0.a deleted file mode 100644 index 62581e48defa78521134acc26a4b8e74e3e1003f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45540 zcmeHQ-H#kc5ijpKU&i@%66bsEI3Xmt%kJHI?;M55%UwQBv5Do&2S^cnd%Jz!wdZ!% z`{DBi6otq#mX#nYL{UHyL=i+0NESjoA%r5HctnT?9(dq^KY>R?sOp}X?%nR0?VW^< z22V>pvs+y=J>65kuIjGto_$YNyS2tsyB^OEhvLCvsaPs3E*#3|3p`0Z=JRuf(xSLx zZ5IHX1lWBT;Kmt%Tiy}zwvPZP?){^PcmE53;{A7txF7i`KDZ|0!xsT4KKikUGamv_ zEM69I{?`B$7k(q+6Q2N3{Q93nJp2a$ic7x}@tJ=DP+a+kh)4bnK=Igq5m#pcD8Bqn z5x@N^0L52ZB36C~Kym%Dhz##Tv3a$K-V6Z6_KPBR`v4RNKNa!p`v4Tb`&$uT|2+W3 z?_-%Lo;xSv56%Nny!e)gZ)2VmFTF0}kC0CBy^e@KeiMM=2bd4VpW!_ze)MM%fAKc} zil6*l#9w_1K=JZlDOM^=mC8#!*6me}u|DfomfCez*=n|`on{4zXBSJA(tO2hu2b~s zc&fLzdeu&+LTsBox}efywL!Pp->$4zd#vIWE5%BoQmx>vHW^eJtXltH=LM^*|6=OEy^6Q;Pub5Zi{&@te<4Hu;)rs60TJ1JPDCJJ?RNTh%^0(mrv5)n8~)%Mp|-BK29;e?_zxsl7&}ZHi7erpRVTNWvHWw0Bgt$EDc+DE3oMZ3lv;KWG@-V^31N3p2(AF9f zmfD?dS+&8xr3R~=;?H=LZLVX})My6!&zMy9yfzi<2p&Ce`=wU%^nk4d0FFux=;c;j zHj(mSB9qJYlY^dUzK(U9XPO>6!FqlrnbQ<1mv{rWPcPT&N2{%R744O6S+}E9{6CaP ze>knidOdpXEk+FC3pS@2s9`Da^5J_y{Zx0WKhqAo4^jPwVxdqfmGb%0A<>V>=ht@C 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-base-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-base-l1-2-0.a deleted file mode 100644 index be5df7e47c4efaa9bcff03dac56b35b1238962d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2758 zcmcgu&2G~`5T3*>g{TM)Js`Lksob!!L+Tg_p-2%@FGxASh0E57H`tByqu5o$t>VxV zhdu#Mz(e#Icp%Emt~cH^c3Te3D%l;+e$MQE`^`>Xz7OVu=tJX;x!T+V*K<9`_Z`#3 z4>r9w&1T!rUpQ(2z!pI5D-MSMJHP46SeLOcDW9jT$1^@>-D$|#X*>yLF+=CV_n6mW zN!+Jz?#CgVo~FTU#t1e}=>?YZ!O1+%zO#Oia+bKP$s86i{HZYq7V#jw?^w`{_+a#T zI^vU0eB8%PMe*$80vLq6!sw+TevR0b-+=$1LY^& zZZ)p0aQkTNmEhF88c`9}IJHm_mQsX8im(#bYFdsRCJETXIN|vVf3E<()rP@HIdZ?w zBZW1t#U_}}VZ92Y@n=+FH104(Fcz`0+H!scZ`(L^14eL0$}nog+IpiH)Cg0D1p7_p zA*nt354HPFaepYadw3F0Y591a=%*xHCEY!$y{W?O(Q0sA&vKQ}NtdZz;q_6&Ewe|T zS2p34eSO?ThXK^nJzxla9t-O(T93pXiEwN}H!#eilgUVWgxXe^rcG`j9|XHHABbP# zv}pQ$BiFo^Ap)$lP9x4V1jeUih>nDyAdfuSvxB##j*m>3AQlUM2iarZl$77MO>8QmN`cI z=pg1tInGn-dXC0nj!{0`@#WPkdb+qMe7aRp?h!&Nq}WoKkI<6JmMX@_JO}l=jlvu2 z^#*h{ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-base-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-base-l1-2-1.a deleted file mode 100644 index 3f7c7fbae9f0451a12275e8d1aee1307e31d2c13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2710 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 Xa1m)CDUULDi3?wZ*^i6fMwkBs9~f&x diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-isolatedcontainer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-isolatedcontainer-l1-1-0.a deleted file mode 100644 index 3c8658c455422cc8f65016370d3096621b513149..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2882 zcmc&$J#X7E5ItK->l!KAAwx$6Xtzq08b@}4qA=hN_2#8BqgZk+ME-y%!wHbVQ>G67 zH(m3C`Wu?wk)ln-lH(4I35Yx$pUBhGJ)TZJ`$>QJrT)RpH}}l-T+eBFP1AJ5l-`@> zsq1AAoYw*10HCtK;U_>1?`w6&I*fhiVZvE2Ov8kACPB#N(b%6x44qdkk9iFiM;CNu zejI|yocq%$BiM-31B{3LSrVn!EaH>cPs5-;8K-_U#zkY7xy)fc!*xd?uwm#2Pr5O5 zc`uptL(aS7ZWdlgg$Im9qbb`831&P>?a7M%GTvRs@jRrw>3&-A9^5`d>H)r00A2~} z5bQL(N`+nCnb14813&f4A!4Qty*vAY^G9H?AY4QXzHKOM4UGegOK)v(6z)v<33pVE zYbqQqd|ZH2^J>Jru}0j&ys=c?SQ~j`#jfRAjvd4?J!cQ1ILsFKa}V&NGVm{zBlGLL zQW(aASO}(bS}nt9d>UmKjY||3?nNx+TgJEG@errBU<8MhDMrQ3FOuES9@Gd^g=_5h zqTV`bVfYVPXq`4TwBX@)c}*{aN0R={gsY(Yk6QSswmYV1Fs?UQ&d_%+(t^V4qlQ~) zOP^OZ;gtPwJVJ*7)YBi z??93I=nQ+0^TSL9G??J*Sc$N5XeTG_P}COd3bU#l^lclsS)%O=Yh11pwGeYtj9aOX z-lL6}+hUxj;xf^o%A9ZJ-TgcAESGt|y4(7*Aaa!UmwEdFEt&T+$7zi$+qJ&{3c=W{ zO`!8BDiLHF5zNsJ_>`nfu>f{mQA#CuZ~$cSWw_*aM?sjL&UsL_cbJzvGW?5gk! PjjeCL!{5{%v|9fQ7Pu1l diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-lsalookup-ansi-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-lsalookup-ansi-l2-1-0.a deleted file mode 100644 index f24a5299975ddf9bdcfa010420de6bc17360923c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6242 zcmeHL%Wl&^6uog;9;FC`%5#B?1UnL(G@CK-akw;=0fTpzGp8x)@tx z>{;Lr0@iXvcfgiMw;QyHXP_bE-GoSFy0bblIo7|oaEJdEbY363ET zC6n|u_u(Wql}ou8?muElxl~O)MBdRDln7(ME6j`EX}AVD<7=Q<$4!=}l_{kG8{f%! zS_n)Wwg&2a8ko({Y;ayzBwy&AXK6s;^-{w{n$p`~0DR=Uu|nw8#RK!M!V#LH;G5#!26W#GFU8!oiC5RFYZ&LY|Av zfZtdtI{qD!?g9%_gNtw9*fXo^?j(2C7kuq>pvlr5?Mkl!bdC zp(Vavdi!EVVuk=Ty3o=!tWlypLRcafamx?PQ)jU;PJ2b`kw+!2j@dEQfyc8bDjlms zGAerY|D%p_nkVAW%vp6*)o~TsPbpSMw9%l|fbW>6)G_)E5q&1frh>oKVr|sN)5hFr zg@4GT@+!DM`-g|7wo%IqQ)J@z4^0u)c#4?S|9l;v puhQo$V#7fdp?1;4FG+mPQC7v}5mnH?LzN8phSh`op)LBm;~&Z&OMd_W diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-lsalookup-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-lsalookup-l2-1-0.a deleted file mode 100644 index 46c5f2f17ff8e5082297ccd3f7fc67b1cd9920d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6194 zcmeHLO>5LZ7=Aa~`cXfTs?~!;(1XxjlkGNLL8Mj@4d9oz znwDu9E$f=D8@x%)b$!-s$_`5t0B{sQy8|%30C4D=xQ_e)pzHWAah*B|K-cLDbTM{| zv4_4h@Y$jhI0JU8*LK*t+qL^HL*uKK#jGat+^2L&I~MKUx^MUUj9_a%bzr`;JRG>e zYv%d3*Xykg`^;-FlNror_`Ed-SjVy3r3?u7_yiUQ?n~Emo;inq4K+41)ufM=Bzdo?sjyXsFGzM7f?!Bk&rMHt18)gp}I!!eE_?z&8_5U-XBF4B_P9@YsL*3%`16sS^Q;k!bW`{x+9jl%d&mo|Qp zID23v=nT87!ooS1@HD+-398`U6{;Zrl27BL?mlA98J%!&$apGAsQ^8mi%f%`SSc~& zl`1zflTJqFJ`_MGDFG~d-E);YgYm{hb5SGYA-0}tU)X8gvvt5ZQ6qc2#mK9~(?bOoG$7R&=CLb56 zWfE6^x96*hGZn6;5JmK# sEK&n8VYg~XaYLS{_IJ!Ui+-RKE5Z;4o@?+4%Y-7bC#uB%*D^Kn7bYGy*8l(j diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-provider-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-provider-ansi-l1-1-0.a deleted file mode 100644 index 4d5c84bd65f66e284a7b036fcc5d6eb1182f9e16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5390 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 UKL1L56jq-9<0v-P_e0eF4bZ=U)c^nh diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-sddl-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-security-sddl-l1-1-0.a deleted file mode 100644 index e2a7cc44d70642edc07733a45a94d7d178961dfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5616 zcmeHLO;6N77=CvPiipt=4n{9E!JE6b%hFvEV@UAekpvCLq0qus_bb~Xcp=0C2jhW* zXU_f%euF3D&+rF`?>p1keodEM5^IP|(wW(Jp80zFJo8TX$qRe1(|S4kTu&x**|bc{ zXf{k;H+WM#*Y)K_GwiT63jp|(PXML^fSDiSx%&%%p8Jk?=8pj8j~H8H?5*z(e75ce z?trcJ9G4w%Jz@rctIO@`bnKn&pxTox%wwNv7?x$} zy0s$MsOwv^&dDt#AV9N(Jma-#s0QvKQgLL`VSTIW*nvF~1+WV1=hbcBzXS%yg!5>? z#k$1KU}Xx|6;G>RNZhit6K*aa*O0hHtSl&SvR#&_l1j&~ph_xIB^6RhrEONsicxji zZK&>gZ8z-j`vPFEv}?bYhR`1OBTcKN<|bI&hvhs>%zs)QCg!^-jv=okQ|Mprw`pwB zO1T*BGh&8TBCll=%|VGUWoTnw)Y-(@-cqm~NgY3BCEJ@ubk<6?Tlgj((DGsGU$ec& zmx0*=tp?ZiFk}h6X%*WgK3>LfL-oYlWu0)co-XImpaJD{4rtsz_jqj_uD5vHKsYAO z8`uq6``!1#!r7MaG;Oi~J#g;|J&=FNr%{TZH)72hg>bOsI+dhRfOk9>SsA`#rI?6W zsK$H)(-IfjWf7&ZR3F}FoRiz!F<qP!J1&UU@`s-HJFJ&*?0qSU-IYzp$fRyXa-GMqR1gF+!G1y@I4a) z#EQfU0ci6=JCCtOiOvLJY4YD9E5jL95|7NbBOeYi4eV=1Fqt7Vk&4V`hB zGLB=6DpDDrWAlzu##c2iql_~(Zm0};_me84oZ^S-vYfGPUT@W`gc^xd6NDBj%J38O zq-ruAP=Da4zP85gTF6&oq&Rad#ofdrK@1_h;n&hoaaV~&r6IRcpSqlT|3@rJ?L4WQ tbYsEFFve2GO)MI%jH|?==+spmnz?`3T@!q0G#B<4t3yMnbL-tmNJC?C0It*>85%x1V@nyYqDJu{BC9wF9*cpU{{Bw9fngko*r z2V$?g;|;q4mHSOsxOLI%Zqk$JvGE6ckvAL)g7qW%Kt!GPAPhtlhk@58O&E)wBOGB1 zPvC(407NJ7{BmZ5H8dj*Ua>VVc7yPxher3Gwc9}yNi7J`?GHr(poC10K;veNH5HgU z*3R>84_&0$lrfG3`EUEdW?UO6cI2_bv2E9NEvsRttnfcxKwcBX$~3X2HMR!PWE1#7gF32SrzC->>?=qS~tl2PO~gK%Oe*&!Kw870Yh$!>g2Vsj!tO=cs| z{mQuqlIUO$(hR23q{|UMtSHCuJ3pAkUD`gNFjer|MK{` Yi}q7VbI`g}aBaX>Z2!dndzrVzUlJ8ul>h($ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-bcrypt.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-bcrypt.a deleted file mode 100644 index 2a6a511dba5d8df2844bf85a5e021a0731c9d5f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30158 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 WzCw>8@cS;OM=Y%RDLD)m>;D02&HJPP diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-chakra.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-chakra.a deleted file mode 100644 index 7ac6d0b05d15e9265c027672f6d541483d22062f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92114 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 R@MSR9{IX6a@2)QG@qf^rT~Yu5 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-coremessaging.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-coremessaging.a deleted file mode 100644 index dcff55abc8ec29f4fcc68c75d0ffa19ffcce5611..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2678 zcmcguL66cv6n@ZMSIHWU*@MSw*2IIUg+Sq83<(}KCMK9@V!RB64z$@qu`TW%IeGB3 z2haWlf5ZMV*Y{>RFkM>VAiji|*Eb)XnQy)~uTNgN@yLH&duisa-l{uw$L_Q{rfG{I zy*15-BcDxkPy>JifXW$mCjdtu=*L)(v5yIl6V~S`k6ADBIJ*dD?mS=^yzDs4X|gaF z(l3i+=S3HZJD;;r6!R%h5_b~JCd_5{$0-NqbJzQ~Z-!pX-ITuxlDV6Xd>+4F@CENh zvowyvkjKDSFrBk)DDTVE9i~>Kcr4?uZrhIIn5NUhM%bX{eY=Ac0z9t(JP_U?SSi0u zgvWyo4Vx?G17(pwKYtVEihOTE}$2lHWl_RItREe-MU~aTua3XcU+EZD;x?0 zP6}{pT=hLX|99&AEiVjlz#0c3&j7z~049~Od#(amT<49ZF>cL8FrBk%8AjvFD8p!6 zVFKV>#6sROJ_S#QIP@2c;E0r9R37DDl0DHJWQ3{0XKeSAWkSpT?pkiQ8yi}7koSkQ zSiBnaGZCSJW{+BKsOd<1q~*t%Cg@y?w5;%Yui;j?p^qz{aLT{kA7j7(YAMSN!Owl+ z?V@a7+<*v26Domm>Mv&JG9t8|w~1WyMm`9zQa1IJkpQ1W zE1N3(LT4X${~q%vvB^XdZL06*6DRws%?oQ>t`>9zilv zbal0k>E5=AEtN)Vkm|dKo>Z??D!nVytX7L@8OCM>0i9D(FCbI8V2@_Nf602Wt_3P0 t7|G>_*gGjfu1KyBzp*eP^WzjfGRk`yc`Ke}Q-z=CY-3=zFPnYj-5=J`#XbN4 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-crypt32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-crypt32.a deleted file mode 100644 index e6c125e8d98213f9c8a76d8a53cbd0d4dee48cae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 115056 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 WJwUFdkK4gL(*tNZPgB5Y5AgqtFd3Zy diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-d2d1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-d2d1.a deleted file mode 100644 index 711f95bf47cfee8d314af23bb309d6c401eac9ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12354 zcmeI2TW{k;6o5~iw!1CmqNNLkMJS7kK&S+#7bissRZ7*}A}R`95JC&Co46Zq(>O}p z%fbrEZN&o*g-66APrUQqU&ih^Gqz`(u^Xo(L6JJjjK?!4p4)ehea61|p4BW@-=BOZ z8x8rTypcEbVnNSl@rOZ9v)SVEy#I&oNdR~SAae#V{t#f|Zyu+92cY=uT^_F$0VrOd z<8fvdfZ`25zWN*h#hYL7IC~p_;u|0E_?7`c@ok-=X_id$)0W+AnVYs}H_eh;vCSi= zZZ#Ye3y+J2X)KyGXNRI+j)#hS)Up~4voc@Fo0f_4`!<+W+p6^Bg0MQjn*Yo$FMMd% z?|D@)O=rJhwiVLp9jh)?(ixR*IrWm;k}CWHs@t&k?5#cfXv6ZF&aouZRuRa4;(C^6 z$4W=4NPfM=<<{$mcGGiqYB(oh&todtf0(RteSQhQnB;ER-mRupaqPOcVYjO5bzCjS zZEm_w-D|Bi-Tjj5)?1sFSC*%%n}1O&rKXLeU9-xb+k7B(K3Xm$SM5WmY?oZ@&9SG* zM{C>vl_1Vm5U)s6SaNG_bE{#M<%v}5*p=P=#sMwVv9o`$zg4zs{xIZb5@jl_#*vqE zL-kG4+q|wDhLO!03(KM2RvwL`>H=g(P(xX6403Ef*hylNh0X0;#qz8~30|=Rn`gP5 zR;z;;oRFMD7o1%TWUpdo6#FHI70?5@rJ$VTrjq3ff!q{kreoxS`rt@*Ay=u@=sdUU zpd#?_?_+>_BfF@Beu00G=Zh|%X={VT=u?56?P4rZ@g(>82!K5ooC&^WSV+| z{hIMvp!JMnH;|W)l3b_@a($2|xgg(uB-S%PDQR_v&Ck;;mxkynyCtGH21W<$dewva z9xq``MP`}?IRNU}>~iX9erZlckgW&rv!Vw~I3Sviq=^6@v6Lqo{E3+!J`D6!T}WG6 zx~}Kvxyp33^u+~9TduGn{)CG~k85$-LUv*f>+ky1(jg0aN=uKHS+Zc%LR>fz7Cf}f zv=)ol*sjzr2)T%*FQQB%UM|!Y8pjICd>t=`PmnxZ!^3S~CMd%ZpFMt^&Q4E7naEAG zKi^>$aYSu$w#brlHaUlQ>T8j5r%>+;AkQJY3xLltn=NV~6O;%GAC#~eh|tf*N-NKM z#Cr%pgXZ)<7A(>!#``BQAw$txKazKK%aUzzWKc)>SmeGoMG60^e5VLn;! zTtPvyo|5E3Ua{CGxVoK4{#+tpkR5R!t!_!4WF-4;H2!~> ztu^=2WNV$p5d}d5dPE~VNZLi{hn3csQ?k9hq_F)9u6HN4w! zzm1m**?s}nu3NSz*lM?J|KN3onei8WoQ1{4?Y=N*@D1jP@wQP5Bi>%o2Yap;(=spb zweTnKOXg=o=4Ws%yJh}rxcZSz%%NufC7*A>d}uzfMuYDp<|CtyQXj4A2ls_^+!yqM zV(WiJ``5|VS0o!bNLyc*+C9(KAIHmuixqgDKg7$0+`oJQ?yoTJW47WMA;ar|-oXA- z5bWbCqA+OiBj(B8$BbOiA6MBA{*83}8%34>%bgct_os19yS4k{oC5is(@@*|>ptUx z`?-*MviU~=_wtA(;v>cVV0|ea>xH7~v;Kwluam8(9U2OB7^JO#B(-~2xxS#ohNfo+qpV07w2LE7=?g8D*h)|WT{?!jnT1=-&Mp5+^ zF7F!u?XEG(xQTuPFwEXD?GjKBnv&xMEY;uv9!XQ8BNn>QR^AWV7t+yQ&{f(meFQ=K zMSO&ewD!?2Scd!lfFGB!AgF)WFQJ15KVvGWkB+>Z{kGbEXh7=svzJ~1tsj4Y3cu_L zpPVk@C1?r2&bIVID_YzS)>FQtE$FJ3aJdsIto=oHLPt33%J+uD{Cq=q zJqp6ohvooFHTWJ=X6cntOLktZ>j(KM-{}_S)%RZHTXyn~tCC+iNdGwDYXbJQ39St6 zaTc*}vi~mm(Sa++$j8Xsq diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-d3d11.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-d3d11.a deleted file mode 100644 index 01871914180b158ff261e1e099bff3e832175660..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5174 zcmdT|OK;Oa5T3*-g{Uo5s!+wrNFec2u+zi|5<-<4@i-Cjka|FJ+}LSM(~zZd@q@btLa@WusGi&yRk!1Ql^<$s|Yui2mcnx6xhpVRdfU4K5X z`UAagIaXg^>6(_lV{aKfTSw<^RnxVS-m%x{a{XAD-JOBa>*?l_sj9l6;|-e@=xxg| z$MZy}E!9-@@s?U#>05?l)vVWc6GzbP&7L0L$Gl1Ckl+1b_pPQw!#v&Yw~VHBzu(=g ztv-0<{&WXR2_A;=344zWO+OXXe6`+m3SFNFNeoaGMbk7{)=HcavfRj<@6R9!0OSn7 zdDfbOf@AGEtesrQP;V4W!!eQ}tY;bOhlRDlU<3^I31`y-uarFOS#0ERUZO37;^E4k zpKvqDxQd6H!Nx)i&g=JT#?*q@>7b*~vOAXB@#hF&J<~EaJcsKS<3*2`hQ=V67^`d& zMu?M?gb`wtV;EX}*xWd>_)KA!lu5*}*boDx3?+l8(HLZe$-)yX$D0R;yX_Njw^Bv| zGYhz@VZ1NUBq8^|xm#q@z+!=BgY#N+xj^qTj=LUStOcB}1+m|26V7W7*Ti)Rs3cWO zEIzZWm4?x6mZK4l#@GQZr@g(k!99#qp-9srC%}3ZUCw%nFU2%4F?;YiM|8lz9;2xy zB?8o0$%`y}#l|>yr}67$pr9>r(TvLV6{RTXWtuJW1HLY<_NZPcQ{2M-hRa*3WKdG( zdd$s24r7DG6#GFA_j5D7jS>#_QWzHkTqxI95#z+;e7(>*mJ#zN9;bQJTExaf7vuSG z#fL{%>DR$Q;0sz(!ij^}MB{RXox>JqC}$(x@A6XEUukG5x;uavN46J$%Vria8UgR( zdqI%rJr9dQNCRxW^!E9T_zVGPbgqF**dilsbB`Y)=6Q={{8{R_bJjR@L^}mzelZ>M zwL9V|hco{jE_f94U$|_bYLd)v3F98e{9ZgR!u-8>oc~%WgPxT6SkHh$$}H?*o&H#?ii}tO*+0Ve zPw_aP?KkilCuMsEhCja&zW(spr&$FzDZprf3Rby;m09?Xb;?Na%^)p!jQ;`nyMvNa zFQsbaT=Y4GUc~G>NxdXw^N3z(ha(%Mmyhu{UoY4287I|ClqIqMY@BMXTxZc0wermM WP?d#mSPs)aHVW}diHD9+Cw~ELVMUSv diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-d3d12.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-d3d12.a deleted file mode 100644 index 983d997823f68af8aa3c4aff6077078e75317429..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7006 zcmeHMPiq@T6n|RTN$RF)2u|^-Y)c9W1a&3LYZpo}wNpY*CTVjjtk>REv_zJ~YLf`l zgDJ&_Qi2a9^c3bE9cCO=D}bt?LHgQgdB5+opVAe+2-p0BC;$ES~~g`b%6N{sTbQm4C%` z?E(N@*YApJZ3wV7w5%P=`f=p?BWuqMT;JLmIIi{7>)S)m!p8BIX_;-S=N-@`+p%y4 zPe=A}XgTXnvt`*9K5*oM)pc!WHa)`b`fjsz-}ODa=N-Eb&_Zv}cb$8KL2%!D*tdhn zJ`QMkM?oOYDfW!d)e{vp_~cry7(%@ zjD5Aw%FiexBqmVYaXwV(Z`Xa|9VT2Ztdi}{VC)BtK}6&{1~(1EG?Bb!TQFMJ_g9=# zBqk=k2JkW0mZ1^2MotY+ZC`(eq-YB;?fHZ(e3&y_d+djs&W*0CRj4YFPJ7j<8s z7=vJ{ue3aj;-`8ZM)A=SV`%otB>l+#S;kxSS}ultLky_bXfaDC8iNvHG`NTPY}YN~ zZg&dqZf?Y@Z^&H}{e6{;gr#@Q-4>gH*(zCscCAS+(EH5dZirV)1s7>Sy&u*I7uF|B z;(8q@Cso(kKOb?e3ZuImQxJ}c*#VuP`?&u|v@oXLF}S z>43o@qp2h%0_<@vG7Vl}WtP!&_Ieo^m^OrH%GUbL_Ez+@;+$UON&bniOQ=1q7g{N9 zhiz0f?i5%Vk? zXNG3o#L8WX3EObSuitz@zs}C$wz#%j?F)(7MRo|reSkH=Siw%}Px4fWw`58^9W6lh zE5`}C(r2>6tU4e`1kwy;+cn&9~p8-zu|LI4_FXyO*uD3R7h%MbipWE#B03V)%@ z@H=sqs-w8VI%!wbNvoC8$r-w%OebB*9V+Ij6JHs(NGCsM<5D^~&BjGK`4s0jtxlFE z7?Swb#r}v_i>ePDZKo9L<6F_dxdzX$OzI;!`>gHL1Y(9ex=0P{71gkgn_o_}Ll9Bp z4`fK08hQ$g=Bb7!%D6>pILXGP)bLw2E>gqi_;#mNLtXHpV2`@kint;9A1mT}*+PW| z&oO636nH>UMG@*el+miF3_2E?P{vDSOPMmp3Zv$!j9-*-i(78ZV+RYbVwdDY48eb%E?dm;al;MQk7@ULqW}o3VOdI;kPY>6rE;8 z3VNFzNloQU;xi&am4*J|s=Ol+>qx#Alps?IJrA82)pTNhrJmA?Z!p^RmPMMMlofiO zk*1@JTNG*3lLZBriZnSV0g+BtQAN{6n#9^FPtO-QntUSTMjTBVvV{r_jxkrFNy+~R Iv)q6G52&W2@c;k- diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-d3dcompiler_47.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-d3dcompiler_47.a deleted file mode 100644 index 675d1569d97066f364bbfbe1d220f649d8a8f384..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22190 zcmeHPO^h7H6@EKw8?!M#F^lb>5KW9h5TVV??Ci|0K$eL&c8qMivK;|Rq~6}0-rd2w zGeb{L?2tgL{2=mka0EAwNSrxyLYz2pK!_6ugb?C{IB>`TLEfwCuBz^;o~fD86Sdr} zt?J%audBPNzVFqmpPrvS?)sZMC+B`%jvv*fYNOhyEH^9VGXCMA#^rLg-mLRG*5?4A z4shTAz`+jz4jtj)u6Y0ohfz*p{y#h%{R)7>eIM~~|N8(G%5U@Vz?%RR9(tFDM?L_c z@aQKzR1N}AsC~o3(w6`fmN8EXkA2O<$Lu`E}p(`_7sdc)oMG+wz=i?T*`PJ1D%q+;AFoXScmUA(Z2()xFktdp)PM z*xKyw_1e35YrW~X4&J%vfwSYet?xN&SY2Fw+HVKmFLt{dSGs5Lncz6>y`E!8K+)yE zZ}%?mxGm3@da96gynu3BbNxWkQG}>-$=llXHiPr+4d3;DFVzxqsi~>Zn_t2Tp;x}r zr3b1iF*$0k`CiZOZhHN`)KX-qalY%eE_7Q1wE`3wYMk|gE55two$K@if3O*}yPb<$ zTYWE3@*JYWbGSGNdV}C{d%NQX1D{p9d?UQul+N!w*BN@FAz8WaiB8LuvuJ93GRq)E zkLR@NZ49>0b+)>(Hs|7;u@+@^dQx1!T4gO@ydg@9 z-(gfG?5ujkF&`1Z;jA>Go`m|Rea{WN^X<-675Xu$&^j~dFnEx5yR&`PcY8bXMfg2N z9g#yE&-@N1BaO88P9}u9NRTsrcQ4Lu(p3|rZcTYpu2iG?3UAO7q4oUp*Mfzv=mgTN zf3;F+G#ce{W2woFe|deb_3{Di0017IL3_`x_QOKpT@ToGdQ^tB^@Wxjxale^Q>78z!KeES{1_RN-hH4=n!wchA4vx#Ssnp$V2G##bBX47<(y4uHd zs21W!Sf8w(_G8lQOsWp6BSOOL%suf;!vE+QbdXL7euHsFee4{ed1nkXHzQX@L30CZ z{%(3**!TZNbB(^RW;W)UqZtNBZhn(G%=Y)1zzBi>{OBLnxR9iizj5tbXob zS2oz*VGa%ch5e@XspG?*Q=SV_FV-I{qfTJf6AYqqoI;(K%zBOJy>Lhb zzY29C8J75+?;fQ8Zr+qKd3DU>*JCo_i=N9dcROBj%yN9A;t<;UTS^*M*Ix{sNkFxNAZddVmp^q*#A5#!Qb!#`%df8OeUOS z{Rcz;q8<7hD~lTX|B8hkh5p|vsF^1Ex0L4&Lx0b#r=kA^vz|czVQkfL(SMY1pbkng zk31tk@`)t!ALgKEaS2|;bE3pzV5e3?#)z*Kh^GeOfEMF~sUZFcYky^!jqh9zaHbBB5De>Cf9Sby29C+vC|`7*9uznic=WN%2Gv45Nl z2p-bTpWy-)m*90g4==so!jKxuxF1-u`u*dFAYdp@}e3t9xGd}{x&Q6 zy4Wig-q5<@MNHEhn)bfVV~Eyqy`ecmy#A3)u2KJ^(5_2MFC0t8=f7iYEVaPCULn~s zpklc)+^p)O#`fEY3{2K-ZFKvZfI1w>k=eow`AmAKg7 z%vv`wb`}jhiLZY!!2x1z#Kn#d|ZJuwNZ#lmcE3p86T$(NBZC8ei zT@%dgr(wQ~spF1z_e;zhe=Q-;KF@JhTO)T(aHJbcpJ0PoCtGeubC>&>rMSd!E8|eUt-Y63;+NC diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-deviceaccess.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-deviceaccess.a deleted file mode 100644 index 0cfcf385faaa773fd5b6622a178b5f32c4a34fda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2650 zcmcguO>fgc5S_#=g{TNB_0SU-2_z24I8kEfP*p)e2yVF`#A&mQH`r>LM6sb2;?Psi zk@y?@i2gFl%zh;6)=r8X*=Nu0+c&d$cF1Rg_^9^U&9{219@GQB9R{xJ%PG5e z-A1#mU+C8WU<;sfh{Jt=op@*dI#@UjB%NLt(AW#T-Oc6sMQukS@X6&Fcx1<8OGuYMUSzFg?!U|N}jfHY6V7e zL`rZfd-;#(CyGIhFje@B{YEmYMp};lLd#*O>VfO_Yevff^8T0>i{-#R6X`1GHmK!> z2}jx^Egxu2(76_A+2HNb!Yy*co;Nn(jD2(5MTY~_QyXl$V1ZzO#v zds3g8N}+W(LD&ebn_x$7d5(uiS7}l9P>p$o^RZSj4KDb1ya}*!Ta}F>6t#w1F5dyO$Z-0{`*3woN*mpeX^C@o%&>EM_Q3QNT-4x4Pz<4AZxy+FJCKad^ lsTJZsD)gw#c#0M^%6R4J(4%fu_=(nv-LL&8vw=LT{Q(6NwI%=n diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-dhcpcsvc.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-dhcpcsvc.a deleted file mode 100644 index 19e57e18c18e75c8231b825a0c24646db1b48de2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4182 zcmeHK&2G~`5T4jAg{Tz>Rlw0m<${oL($q;Mgo@Hbk$Q+gy&-Mf*deBAVq%y6NR%Eb z#IX;-gY?NLGrL}Ulh`zstRf^v^6q-}i+6YCo0-kiSI(%@dtH8Mj7w#$VpnXdQC~L< zi%+SoVXRigyJ57;0B{$ebPh1L1+Z``o^k*{&r**b#+r=ngx)A*Eidv$tT}W&cIXeB zz-OpDYS_%KvA(}cPprqz9Ug{G5HPpb2|D4I4s#g(X5RzW^BlLZkHRK?|DE^wzzd_6 zGjjGrV9ehS*tDKB%{PJncHl?8)AvtsF9~#FLSmbJ&lwy96F{kTkB4Do4igvT*}h^~ zwrv}RU8~2=YM0&bchLL*D9W zQrFp&ide7OjF!+R)*+Z`FD(zF*h^RKTeQM160 zdX7$`5}Xw^lrvu7{D+vm)EQvSnE5eNE7^=z$da=(qbHe~d{V>3y2`qc;>I$612I81 zE{PgC#|C0fvT?TD7qMw8#z-BW`10x*y8YL=-&25eY@N z(3t#PG#Y%x!St;ry~0e~f{MLn@jAg7UzwHhcmd@?cOAj_A9&d77~hUrK;3OJ{*$uq zpBNuyfgc5S_#=g{lP(6)HC)l^ZfnNjE`4s3<*v)I)@T6Vld=9b%fMCU!s6Lsg*) z^@J*Z1iz!dj54zy_9n4uDutp-tmNIz?6Y@w=FQv9qZeMk)p!KJFkB1K>d*JYMfa5Zj4+X**UjH_wfee5jc;Pkj|ea#$aZG9b$PCM)dYVg+u zz^78%+tLPQH+@D^SVQv=%=A~e2xIulD#93kni3fDz+h3n6h4~9A*)n~5&j_-Sf#sz zA5p((4l0Bx112moaniX-9PV6!!!?$viRLgvpHqyHHUFB!%VHT=EzoLkU5knj6w^Eo zYrNSSxHKosaos1J?hm(fXt024%5F>eXI}KiVRc97Cc?1@hCn;%?Dn>#Meu6C)3nKJ zV7~CKWIp+qe3}(gMdX@CazTJKtEr`I1b8QES(V`@b|!sd{GGgsT`bEoc`nobn!9Xh z|BTq|DTa-XzFd)9A>PQ)B6DF8dsHaL zr6rX#Vfl)6-Yv(x&z{F36p(A8Bi=B6_L zA^L$z#{5)7&{~EQth2lMcz5|ppCc*v-SN23o{w_>1e5(T)&HoJkecgM{kAdhpHx4} z$E5+&s(+Y|OS!**`@1UlO%~{XVx*KemG^Y=QOS7kNQ0=$aD;8fd%a^*?@0wx`-Ij0 EH`^efEdT%j diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-dwrite.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-dwrite.a deleted file mode 100644 index 242e438057fbd4584d857c1bb3f19ab286f42252..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2570 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-core-iuri-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-core-iuri-l1-1-0.a deleted file mode 100644 index 3e22034427aed22db6e216171c03434bd981f8bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3504 zcmdT`O>fgc5S_#+g{XWSdZ;)cBf$*^yQHoU2vw?tIQBpVCpIp2YSW|%wyXAlP)`-d z9{C~sfF63{M^R>Gz4oTDX*eW^QL{UpefI9Yowwu1Fa6|W^s4>boHS>{aUIw8Hf__y zKQz5H%@_81{y?t{0Ji`d2|(*T!153IYhMDiFNN3^VmA$wRP2OVn27CB5Q^jY&>zPF zgD0LV+^!hJd-TiW*af5G)E|#Uc#?@>N)L#Sqa+mZQ4))RBOGB1U*KzoA&4mSgL%#a z+ezqW;cgPYi?ir;;_nZ`!wiIohhtGaRz$C(Aov^yds%0s7_Vd6v2E9NP1E&Crh_vi z8m-#^xX<1abTZ_K{rbj)on9yKGru0fBU`X@(b-GW8(?rsxR_q}q^q#E(P`njblU=3 z;Wkv9a4Yq=O@%YjS*^gSan$&db1Nl~#l6TFWzpPPr<}6<+T( zT%j6$T=|4k{`GzZ0|rn_`Zt)LyX?)9=MmqR2uI_bfqoVp9UjOCXW9hQw8;f%f!UQ> zAbyF{()4>qu6arw3|4tgJ?Rsm&#i2l@DrW+SBiycE49%a7T8S{WOKb+)au}DnF;xZ zM@xmfN?UZ-Jj3x`p5xS+V9!`V@W$6}L7Jh;PRq(r-1u~IRM|dh^FoQ6s30Cbl&6`6~i50Ts@`#&dGb7_%pE$53c7;>ER2~aFZV1<~c&$BK7b=oA*z8h^lc@dPu5q#bHx* l`CC0`nZdd9ziQwf?wzdEz#|#pwh5=$7aExQwx55l{|4^%N|yit diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-gaming-xinput-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-gaming-xinput-l1-1-0.a deleted file mode 100644 index b06b03e4bfc79598d06e7147f0c86a0f491725ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7750 zcmeHM-EQ1O6h7-sN(qHhC=dZcMoOh#bQe3>I1553G$4rJB2tCa3#5rR_GX>#pVm&B zR;Y>)iV#95S6p$yC6Cc(;1Lkw3Am=5Gh>g(_Us=Lu2$`lJTsp8yfbs=`{sOrfKmeH8su6W;1?Ze+2+u1~AS6mLCFK{6kzX{0TtUOMi*$ z%HIHVy>?Mts}=xVZ+%G@V>^s}75bx)?fH>EVmkxRXZM1>I}8|Bo-`fiG*~xi(G}NY z<_+$J?r_NblZf>~dVn3ey`X={PJ;gMIAUF!+00@t!=LK;z&gI`{oj4T?Op2omLJ`U z+z2~mL2t-%mE!g@9Y$74%oqOsFd7Z+WPb~BX@kV>xI?!Ubb~1H!%Wu*&$P)WZn_b= z{QhpgJs9=eC>Zqf&uI|y>5q@SVDO25H#qQjy+V(IrvgJZ>w&tzqG+2A8xaInKV;3u~y0n$Sf} z=%UuOYj(}5d)+S7+W{_yuzwx{99G&cGA(1OAF11Fu5SXXJ~YN*6#rGnVHDpjaSVAS zYq5X1-gjQO|_5`oy3Qnp=ZBNRCOUn8D5>`}!QrZWq+&?e!(kxu>@JNAh zG|n4nN1fyT9Z|#Cmhm)AvIISF?+QJTf61q*sr!u>b3q{-oN%3T(kQ?YPeo$D?^q}& zMwY3u&_Z*B(56L{EnAH!&vD0mhf7Sy9G%8!-?@S9U&mah%mi!3h=LJ7*%7G+ot>tU zLPh{u!3K8LR{Dh$mx(A85r=x5)ELcU8!->`I42p`D_HnE#w2w(<42FL(cL+o0*iJb zewTg3*G#cpGc45P6Dm22>yNr~)zjxwoi?YEqL%jHHHpAfp*RS6X>7 zA~8Y$nzYc&t5_nVy+G7l=l3Ep;3q7Ilg{KbU^z;oD8m)7`Ah+{LV~>V>{W^amSaB1 zqdkt}=}>^2vHBL2R+jQUCKb?_Q331g^6l0;6EWa>q|LM#upjS>l$99+j+A~U#ehhU zD=6Th9w%eK>o~u8W580Xfb^wx!By}Ej-M=z1NcEhngKs!S-vNyv(70&X((3>8?&lG zed~CphWKnD)v$`IJg*w6DK9eLWEMFlycsh;RfBX9wixh>s)o$0bArgWm8*&M88y); zYT_Js&1n&$qwK6@Mu?Hp@1zLvjUHEs5NCRvT<~}PgC>kr6PoXhi+x@)(H~@~Hg1Xv zo*M8Q<}y-fW}j1t4pFX7>=|{kfgfqP(f3&qJAOp&Ow);{@T*Ln^p$=m>EuL@E9m4~ zJx=O`_RM)>M)U NJ&gZ9t(-4R{{lK}AS(a> diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-0.a deleted file mode 100644 index ea046a48c721a01c18aa90004eb3c5a195e60f47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3594 zcmdT{O>fgc5S_#+g{TM)Js^aTk>Eyx-K1`c5UQv^Jw}y!-nz9ztU7UIJETG!Dh@qy z=!pYIeo0UK0Deo)l$rgAH?5rnq!h7IcE_{N-rd>vb~aC5x$$B5b@hcgS?qP&u^p@B zY?`LUyY$*L8;zEHVZRChw*X3C0V*E>mVb(0^#Y)J!Pquqdx;+>tnH_M%(f%XXQQC+ z4g!YG9oY|nC5=fJH^ew(kubo%0e$dkQ(`u>b=)K6kbXUeG^BB5T!QKGD;Ht3*cn9_Ep8Q#p@>Wt z8CxE+CG0Xvg%}<$Vuew9Joyp%L}O4POc^>@FJ8Btbk{`6kc^p@Gz147I&FKBgCY-Xbwkzl`fND~|!Q*q6Tl28I%glYi?wkf!%gIl7Ggf-Q>fXasyq34zN0biMl}1*v}g_T%)=F8&8Lute!CJ1`GNtN zr4UcDhMJpHNM9RwnnI5Aan}^`IUhGx$U|J;pDKiNB=_$7f2-q>kb$O-m(oK`8NOlt KcmD|%t%~3M5N{0t diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-1.a deleted file mode 100644 index bbfb183d69cafdf276ef5d7a5ab1ca75cf903e0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8010 zcmeI1&u`;I6vtnjc44a`5L%=KR>+`&(6R|hH+2F+s8#u~La?fKwTPSR#?!_$u_JrZ z?Met$9I6%KP$7g6;>>{q2TmOKg!pqfab$UK#y=+YBu*A3DAG>lnaRx8Gvnv?@$+uP@D**5eKzS8l`7eNrH{`ME1JLpG zZ}NEdPXIce`&%B*zYajh6^jnr-nQ*K5ep-GhjA9#+kwmMyPog#JsTU3Tb6A#?5?** zN8FBu8{CbYe&1%t-0nqmf<5q@b`UbVTes=Yv2lU0Na%j9ats)k4T#5-p07U!Y2H{fjaI657U^qv>B1K($D zjz&51Toz`l(DdOM+g%SWA8m!~V=v;&_xywG6kVs=JG{rML5jjC2I{q%Wm%?awIma! zxx3vHTLbdPmDp6Jz5(WT6&{Yjm4N&S3@!4JwnIniGh_IXOwCh_u)h)^iUBs>Q8d1v4s z$`;{gLzbqCoC68Mx{?I4FWEFp>QhFpImd<&Ctgk^(Fx#+TxJIRft6Xu=J{|H)i7BS zuA<{I{QV*jSXgxZ9$1E2NE^N(iGrIRcsq|bV~YZTK$ zWnRd1L$RZUnlJRalqbr8;~VI#Ii%<#DA|~hl4hQgpU@~plv9ZzrPrkly?}l& zEkjEh&yhRl#b)M8Oi0Ge+i?pO2K#sT`Lt~M-#gE#gH00yQ<2}e)daEC04qT5YrHqJ{Y!JBtKVXSO=&n3PLfbjx2=OlrVTzgn diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ext-ms-win-uiacore-l1-1-2.a deleted file mode 100644 index 6bcc88188a14008a84cc0a5782195c04a7288f92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3626 zcmdT{&2G~`5T5*$LR&-+J#awCNaaR?ohD9@P*qeaao`XkdfvLR(^z$!D0Y926$gY6 zhaNa{;>bhv#B=Z@l$lv?ylHI`kW$2`*&WY*_Rh}Ex3hip+!=Lxn@dlPNwFH1ZP{k4 zX&MIpq3Eq)Y&2@g3wuida0{UD6`=e9VDX3iEw2JBuL`j(#BSt`BGL9@ZzQ${t|w0X z&>8vyji)VJ*mV*3`}9lf*tvs~$QcfWcN&X+L@$UV-{}lSo(L>qiJEW(ex&b#=y{Gi zzgb|{ciuRDnSH5JZ4Wi11z##N82 zuk@n|=2RugsY+l~tV*rw1_6SqT|e*=@Xt$tgF@FiREET^$B?EhU743)di;uc7%g_C zJd75%GGizrlaj=iW43@pr9v)-<3(9fDm^a_ihKbIS z=D3Y}fQJrB`CsRFjorXzjl4m>?kD*{dz_Wy3a|GXZp;~dT8w^%iPCc;` zz~xppMfi@&ylcx1@hUP=EGE~q+R<$2yjtX7e8z31BA>-8I%S^Vc#z~bbq1I-)($-D zweyc=$da?PCXCN|+BK?a$J)G*;wEZG3o&QexG}G29b1U`n2ocQU+bv6N-)ZXE55jV zOi$urTJ0t`O4q9l=rQG*0to{+dNc#RC2LAr zFO-ENGQk^OJ7t3ONP39(J+w&P@Y3;#&I4(Ajhd1od_#5W^=QUh)VvwVb%^<5&c>IG zx>koIUp`@Irt!s1a)`Q{#7gYcLzl3=+;}fgc5S_#=g{TM)J(LStB)DN?r->6Jgd#;qh*N~r^Tv&x+SK__>@+>0o+^$# z@Pm5dXHjN$z45xW+j2-(%I;+L*|Yoh&5qxE@)o1;bK?UmHmB{lj%#;2ZN_XdrT2_A z-DdW{umJ#D0JU#8SO7a0^y9qG`C$?)5dhmL&a6dBl=~2 z9Q@fT@#b?LoTYq{&;xuKd864P;IYFUe!xABFPQ|u!@%=57X=O@@4FWzK|l1S$3gPt zG?=Eqc{G{x(kXvATBX)(O=J~=j%~ZH%b44hj50QC_!m!*M1WQe;DxZZ!Ag+>VOMty z21CpDQm+~!W_mEVvW}AE9vGYxE}|E{Z7J+iG`4VEdh3C$aBbx$+-^0lqi_t3y%L<7 zS0nD;oFpbHz|0h2#*XQj2bLel2(rde9Ax0X*8s=0v3H^znP2CSLK-*X5=`f>UWL)P zGpaBeZH%kB~J6E-!gK|w{k;( zmC9+P>;&*dFS|PYL1WXE;BoRQv8l=Ay03P0ntJWn5oG+rW2I7DmREEWy~p`srf(V; z*bl57c-L$9A4Mo@=Xp(7-}Q8ARMUQFaUsVQYDX6_X*q74SG12FVt$t6T(z!!G`?mS z<-;9cUB9D$mzTLuw@S;pP#wjUN_>WvRI*epJ)h}UtJf6TxLsL5=TX!V$W$*FqX_tv ytRs1iP#(cTAy>qH>Gb7_d&bEIf2FfD< diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-hrtfapo.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-hrtfapo.a deleted file mode 100644 index a629a8cbcc559d0a55f8f502bb62c981a5dc2838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2542 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-iphlpapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-iphlpapi.a deleted file mode 100644 index 42d054f6478e08e7a9caf1e390a2cf049a725a48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21954 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-mf.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-mf.a deleted file mode 100644 index a484762d5759caf50c7095da2e5ab23903031484..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14014 zcmeHOTW=dh6h2v}x6pE_+EQp$xhS*}Dq)?Aogh>-1PqaCh%iVzAZ<3@O|r!HTI)@k za8tRc^npvCQ27r$BOZ9j52$$Nw;)70XJ#+sow2Y&NIQ=6Q|vDFDa#aSnga9U8`p zVSLcEy{55d`?hDSxR!0)a_VNoF_5^wm^bqCM%CG%7|=1Z+*?hv(J*S8hG`&o%?4xJ zHmyE12c_ao*R;ycR^7I4Ivbwp9e`mtwT7W8DHY$c{qjN6w`;3b#3#}?hwbe-6@1H} zAz}zfto){1F{`Z&grrh&#j{P{e&21lRd?&)9TZX2j-n{Z--Z{*$t$mUu5VX-+j_IU z=Xh?tX4n1YO2uwA6E!<9#%_TVJWVl^v;xWO-Dxv{te$$1G#NSUFiQQ5x1- z-nAU}J-cq%p6xAHd}j{@m8h%ciCWm&^6V|FRd#nhVS>19mJ_8>t#Yy4s5(AEHrbm{ zB5<$bEAHFg>j&78kJDL`tH~^K{kFBD*<3CcSKPXfldxLfbY*_A(AwR#HvAbkv?A@S zM^4xCd9)k(xw*jHtWQ~Yj-mkpxHy4!f;}C98Qn3O3v25$mg$@ASy;&pSUa5A zKn!*Xw~5c82B+sk*5mjviSH$b8=!}L3n88OPPXSOhpMSV~p9u3~bw2yXvilKHpJ!%UJd=1QIW7OtR+E3Ff!sP#r+FAA*n4F=v z!S^~JAc1C6h1!r`%muzk3&is9nfSuzWPTC}8K9K(Im6_0ian*l^EO+AksSlW25kD< zyY(GTVTfvxG!1eHm}k=Em?!y?OyeNh4gSuO7BJ=z&yDRq`F)e<2 zQt3}}98tdIaAv)>P^`Bd-b|%8{)B5a5_ejC#OYd<}^0dq`nYXhA<4 zFU>xGBmRZ})H_H2d3>TkTFohu5o453F;)4>q4TToulwb^^VNZ2el8v63o_MHupgSC`V7w#J0DKcY9lDnaV}D%Mg2;B0AKI&L zGKJ_?9GZ?a%AZ3yP>5}KWGIlT!RMGNM;)SFA&>#sbbTou>KA2?{2Mfc-8}M-1W$ID z9{HxwZzqquq2`OGD%^#BqUMWGe+Fl>SJa=7=6|$zpl4AA6k^0*;{=v!u#0&T@rkqW z@N-K4PHtk~TwhFu^uj!TrelFlCb@5ZA7{TC(nTZ<6X|V`DV?{Fwo>3(d++53HD82u z+G+KQ^yAUIclca|?T+%E^ePD#LyZ14PGG49KVu%Ezk?K7t$!!R{(C@rA)SWgWDWT) zg@#xHvWBT4b)nx*Yr(#nPg)DUQu9R`auH{`R}DEPU?cf8c9gZ^QlJB|R$LD#lxgrS zrmp*;hgO^o$)`6oj5)wBHMtfx-dq5%9fmbOe7|P^Q6;n1(u_9(}7OwBZ?mKBW6fTNtkgY(BYKM7xVf zA0A~rn2ZsTxbgM)tOv=vZV4?&$Yl`cLn*)5j&CV+#Q!-g?R7oK#P}EPFOD|$)7?@C z?s*EMPT*cF8Gy}C_Z7D=EANBHK2W>|$UXw*H4*dj<=c@yA-c>ggy;jk5l|@8;CoCX zAE;cEM=vRXf@J{Okn*eVlDs3hi|#JFben7CKPz!SQ*{BJI~SpFvPoI zofBB9!2#y779_qC;D!1C`vdt>knT%xL6^UYjn9B$`~N6Df6Ls9e~Um=jPm~XLV)oY Z^@{<8G7Y}OR6xBra>?qq6!y*D{|giV$dCX4 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-mfplat.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-mfplat.a deleted file mode 100644 index 02e07972882f1a99a95d492637d276a67844ab2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48966 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-mfreadwrite.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-mfreadwrite.a deleted file mode 100644 index 61f695b7360e4a70dec23f410e51907de35a3eeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6158 zcmeHL%Wl&^6uog$D5bolE?6LBP?M9DT>5Mo|)V^p2wYY=8kh?QnyztQzQ4) zaLSkRT3*YQCmyP5jyK7e^%#@-nu9Kd)A;1aJ5LDn&M99~b(R9INf8oHw=LwL(HEF5K5n#~R{ z*d?4r9gY`0>@Zd`I4?O(L(apMJUih=lW`Ls?lM-!VsKu&SI*B7H~CIxjcOILYgW~C z8-E=GyiBd>>z={2%RZwa(kxZavu$0Q#zH1;r<~O zq*LUfXreJF5k`R*nD^tn;ViCn&*BNK?4Ow)i#7DRSVQJtv$#MWqcnyOvG}UX2-?*+ z78ABLNjP5>tr+@ExHvo6FqlA^=cMm6_s<1h>xS1A9t#kTiE{+joXRF1O+0aCg*;7* zJO%D^?+Wgdf61polFtz_=ZG3O*yA;oq(^{fJQtY)->}mADA+gcG;^4WTtJ;7z(hgT z&RM?T1Kc{gd>~sxJ4zNhJMLk7#pN&+D&)G10C-|cryBJamv)1b-9NEuXNowOEsYBS zE))UEhj>Zj;{mG*QxD4l>qY>~e5ha2M;90mgLb~AVCKiYpi5UXW=t37N z)+mwQg=L2S7MTKvSn=;Ne{{R+z0P<%;hK2RohC}b9o*Oxn)rk+=%k5;%M&V2Qxk8b zaocI)eLOCriI4F(UlX@+eJ9mKI*}FfU3{>$aaV{y(#E1|p+bSLm?vpN_CotFpb)a> zUuJ<;3SDYN{(|_g75A+DE3GJrERjAnIio~89>h3uha`b1h$9Qaz;gw@V40*9$qVhJ zA_M!VlzeweDMXdBk0))XsA5Q`@o7et4QbqVQDr9{7l|tG;&HxGuHlZKG^(Tmj)eXZ zq5qNSb~329EV^}43e+(r3_MqWuARO*A}enZMYO$-TF7;$g<@0-hscjkTBu4KI!!HX zN#nND!fre+qJ5gg5FJ}i)0&i)5=wegp@klbD+gP4pcI2?(n}f>6DYl`Xt$Ww7Z&p((b-}v$HSXJLALdhx|J;X~lBUF4|VLvSpeU zcj={RZfD)UKp+hvt_GmpyLZJ8XxAq2hTKzeUTkZQC^MG8SyDynBiCqP@ugJmJ;~ z6hiMD3BK1%XtWBh6FT>z0BX>R0vdcJt%s=HC9!{@y{O;P!ghQRw(RF9Q6y1vtudoD=1U{5o$mj4?G9 z!F0~DvoIQ8#w?7+RgN*lLee5WnWq)(GBPtU%n>QU$UIB_BzmJU$Ow~#uUIZ8`dG`| z#kE|i#Ak)lvW>hyrO86>Z)lIX@d4OP0I?e*BWjT8+yNL6Hc|K>os&3 zKqW=F!Tdbt)*{O8^2vyBG*$_8!tUwdM0!|T38rb0e?a}ru2etqOPt20pC)q7cjAG; zO4(FXL;`%_QWjbGj*VsHgeAsLV4)Q`i00*jidEHe!74BM3b&6EZ(97&3Gx>ETak{b zGQnCf7vR~goozHinq9G_`3MdM1vJ;Ih$tW+m`AL&%fzcjRQH*0{-Bj*T+)Xj|1 z2>6xE5%Kx2Jj_BOCV0KH`*KEdhIsEnkBo^I*dn7?m!1ig?76}+d25+}%UMQLasFWa zTMO!6zYG1>f25g-{-5K%{;K|`l^}1aQaAsq{^=Ybi}gQA?dZ+IC6-D3&%3oRL;XJi DQC2e& diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-mmdevapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-mmdevapi.a deleted file mode 100644 index a2d7db18e67ffc5e78c12123c65c68a530d7cf12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2626 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�Y`l0d-=giU;&aF=kQ|uFm$`Mm(TmWB^c*N`k0x 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%0DIKF_TtE-3t|~M`1exoO+8&Hz4S1i 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 J{n>``@?VGvd}9Cr diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ncrypt.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ncrypt.a deleted file mode 100644 index 230fd2afb1f34ed5f1d13198bdc0fb256cfa43bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20238 zcmeI4TW{1x6o5~56E5Knfl^e^wxtMBl5Vg0m<29oy4#=?K+T9 ziPDQIs`i10{(wIAC-jl${)Ya9{)W9KI+YcVn6Wu?*5jG^=J6-JFV|C2AR?RY>*v)F& zHc_}yF-&9HtlLWzl^hSX){}0v-8P%coz1pmR!#gx!vb^7s@8^dN%(AzuKlIeu~#-1 z?A2z~S?^#Grrl_p(Ro}tSFhTQ2yH2snsn7W)$W>4%@Zme%bD-A+E&Ne^s6zstGV2< zoExhh%W7CnC!p=mlfSs%wweo0t5aRIu#Crc&Fc7m6_u}l`KjfZ=Ru?RKlL+?>8=&nzymh?k_#G zmi^7f#9Hs;^_7)CLy?{mD?Q|~Za=kxcX*r0rRJ@TsG4Z0(rT_Z@LFA8%iMB>S_fOP z)v=wmMp%<&x%y)81THCMQbTlLs191{YSnS*25WlLa;2_TxU`!VFKw=4RUK;{ZGqiI z2!a=k$d*@@8R7B9<+XLY;Y_wXbKA?#mWoBgFbV}@x+KkPVR5|nBbr7Gg%N-w;%p2i z9c#l8=e?5x%r8#Xs!p}HipaSR^RFhCy4`Km;5q5pbiwmzM`hTDhf%yQ9t)thnU zq<65lUfI<ZN2$ON(5EDmZnPX0QaJGCHK_6)TTOc`yuZ+ zG!lfe%QPKnECPHkQkmr7H#`}tvo+))LnEeJEEcDx7&6?~&W)R%f+-jTdR04iOMf-`tVfkwBKcugcE z-(xDhl78MBhB}hO(?YOcipRb&%Y7Zm{tsB??bv^yc%Z{hvcJO0-HQEov|fn)r_p*| z$C4H8m;IAI3Z!qEX6{d68&J^P@0FR5tjE$XSe5YqC$*1j?@gu6&vB%lEb-LeT z$={=(S@)J+P@02pFqN$PYt1cuASW5yJ{^zyaxpwpnQ^aYZU*u14=Vx!+bmLTG zza#}B&A}5qD(bx&`+(QdWLS^67Mra{$!?R*+Hhtq52~K$JKxgm#gm6eL9^a#J&Mj$oG8y@`Z9>*P=BjGu zvu|zP2l3fQ732C_>2&)s@z<7gjk!^0(q!y;wvHNQr~96d8HDw`$GZE)|L$Skt+AhV zPnrztao15Z-z92Hc<-l!_%1n*_1)yVxPPa^Pr3Sg9?38sbM3TT3V*kq?RwX1r-STz zA5o0Uzn|j!dn~DbJ3TAiJho@xs*=zl2R~sd*H9yB&e4y`PG%IuT~p1z^AkNe%r#X% T3%ltHZi#pJ3vQo$sJ#CR33!CP diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ntdll.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ntdll.a deleted file mode 100644 index 9ab94f4ebbae451146aca9a2185f7558ba026159..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18534 zcmeHOUvJz*5TCnC(lkxe79v1^Dpx8XRps!d7w3wil4}(Sc#7Jh_RYO=PVdy@65Sb^ z2OcUO@_-P^C*Y%?ej>yZPpD;P*Y>UVkK;3TQDm>QYv0by?Z5f$%y{iLGvKdJ%Evwbu;1$-BB>=bquuunB`~%>^pFFSp1wi@A-#oAW13>xx z*F1lOVwA5g@O*65adJb(T%0A>3s&$lc9%Fd@e-@XYzd9%s$SDOHo z?|#ek_G5tU$F6(Nb-$Z<bC^cu9Oi`ort( zkarPp=CEI4+5$V|TMz4rZ`sVZ5%QsFf>jM)NDr^fLNw7zU`2CxxaS3g*KYux)pmQ& z!-}9@oG<$OhSUbJiF1W!R?j2MQ^Uj~%+Va8F|>;kOnkrOq!%AM%;di{r(<{s$FB99gTemrAPTT7@ zTH;=Rjt%lxTrQ4w6)&_?+(ddm&|A7#V5i*cac>s(FxHr+csbp}qrI6{qm7M?gmz)d z7u)MQ$aAFUi||6@*g~G4^?Xj)tq<|$>wqV$!x6uF^9lVrIhoc?@7^`|&ySFWG>Y2h zT6P}qxR!E_#Ge746q})12oUFz*#ihPn#~%u&a02(~U z0fuHQ5x#lNmq86(>TrxD_vvPhaq`3ySqz4NPFe)C1&dK3Akd)*0krC~BH$f^9#B+p zmJxstCRmyx;7(9Ompc4{r5*utJR~E8(Q|y(5TRhBLIJG}-@>EVU}igz1qD}(y3j2x z3WRu7^DK;>Jr!aLoU|yYyde!*B3qEf8@g;jK^Gf3%eEl9H z&}jF}b|4E1E*eo#ns`9ba>*Cc(ThOAT3QrT@qh*`kuAvL4J{i`P@;H1((+^s6ci7% zDgT}`>1$m=j-iU(I!~=?!OTLhfUIYqKpA}c$P!bBV!~=5%6qG0)khDA*0|mtc zY0rt*)|9uWPim)sKQKU^P;=hq_XA_0-K6gae$w+P=L5%jzUb*Fy)iuN+tUp~K=>`7 z@}=V0erwKRs}3-IgZgezLzg=IhGo*|qqx90KSjJhYNtIfuF$|%lY=69+xkDD0lz9V zqM^%l=Ink^W3k!FiUz?h7|>9VZAg1|T%jR%G}J^iNPfaue_k{r8kEs1wn616B34Ly aj$EN3cQnL&1!=WQW*d~zpN58fZNtBa)C~Cm diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-oleaut32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-oleaut32.a deleted file mode 100644 index 39e7d2c62772713dfcf68fb91551ba4fb9842fd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283012 zcmeI53z#KGRrqV}Y)Du`2qc6MVi@8k#2A)4uRAj#hJBL>yUDtb7$9bL9(S{o>^!)0 zceAsEumlJRFIUBg7(o#gQ4tXl6eS{RR76CKk3S-!qDI7sFVsjpr%rX%sjj|v>-Kid z|Ld>oesk{JK2_bftLsSq?XZn<-MJ*!KQ08yt}l@6{)7-Hdp|~U)BA-$ zdFgSITMi0=GIbNl%r!!wG%qDNbe0e(w||vn;j==ZEPt3}Bi`%WQHK5!4oFDwdy^5K0XAH7-#l#jvrp?v&FB)|Ts5GbGg zG|6wn@lbyE0g~T8E(FSFZYBAn>xDphq)zf@7Yl*%c|r1puLyziS8(l6{^lbje+TD= z^62YG{^^hqD39$V`Byj|%72_s^7XF^f$~3aV3cn>ETymS{X)vRcZfceGw&u@f4k^I zdCD@$xz~t3l=Ie;JmXQ(hjQUZNS^(m=tH^W1j%#fL?6nA>qwq=mFPpc@*I+@9us{i zFZe9U(1%1H%IE_m<9CTZlouW#xps%>L)m-<$u>9+%8sv*Og@&lKXyaUb= z<-xC#ybI0|<=t?eC_nyolJ_1LeJDSD3(5Ph6@4f_zk%dKaGoe1hU1`o6wVdpV{iPoFLNP(B04K=~s$2FfEJB>6KaGs@@TTu}bP4#!!b}EeT?LvJ}3H69s{mW{uQo0%72_7`7byhl*i#1C{MsKKx(zKNY*_n zYA9!ZhGhMRL=ELB?;tt%E>S}{Z-(T89ioQvtSd<_K1bA0F8LbCa~}~klnoytc^(`G zD?qRy+`z;+_FeA1;<30fpbJ@4v`$XMD(NF zv5sT`&J|_(GbAe?7X2tkA0%0YW1`%(O!DemL_f+s*OR=yF8Wd4@HojE9~S*6Z+RQZ z$#;l;l<#{x$pa@vKgtiDAbId^(U0=3V1Ps8`2y#H#FpC1wZ zC?DED@=NPQKgvhpJWxLN-y|RZvgk+o1Y9$e-~24e!%#mczxPR!Pk%u4qx|9fNIv%- z(U0;cZzTEi*NJ|VzqpI!i*WuZe+}o2@?|(jlz*5Z`N}P#ALXB~C;8gTL_f;E-$e5D z9ikuQe|D051M-2a>$`?z-IZb;%9$6Ftgnf6C{KAh$+;Jabtvb-Hp&HOlRWDZu@2?p zD@dMml~{*zDQu%$Hbip8xLAksZSZ|48{sp`V1s1ja^{0xfH!@s$uJ6EQcm#3BvH>Z!Zhli%7r(mCjrkFa^oSrM}pyHi+!CFkA_F z_RmeXn>$)d3)|qo`2t&w`6kCP*Z#>7mdWUNj-iYkLwG*=7=sx(23d~1ZB`hy7wXJ0 z_KZ7+02NDjPjk-*OP_T22bI}>(k%q2Sh`z;NnV0&^DE2F8A_!&#MQWsaoQ{?G$<_LDJQ#wBfyVhlT(w1q%Ed+pIj&HYh+C`B~8*UMkT9@hRS~p7b9jRKUEJ>}? zR;t#G(j3LEb(tfnb-9tQb)%HW7|f`3t>ZbY3#M|YE2g%rhN5-m7^zy9IdrYdExXne zl{tc4>y*yV!LD_gp42*RxP?e+ozmSRByFA2ty)i1=KRvNE^`ycts5mAW8cyp&BgiS%^gdvh3Pg_!TjQF#)xL7!d`oi%$Q8L0lGa) zM|iJ@Hc>yGPEiV(wtMMLbEG}vxGD7xihET5LjDRT8>|kEitW$pFiDp!H`!oyXjFQC z3sOo~jM4^2P;2zw96(AX{?upZ)QLWo>YO;Sr&68MCVNAvHh4^@&&)D5Dg)UXwP8WW zbovM!IZ7wu=(7zR)8YQ|mj?Q5tk$)PrSr?9(q-#T_U9K!rBltS4StEVN*~{@S(%>H ztlZ$nhrSUsdT;mSRn5wMc_)JQRW(bg&WWpE}{Nkx}s#&$cFOXKT{rM$Q=~T0F!>(Da()(LAE0a~t(r4%7RL#m% zt7a38J~IDRqiaFGYU;Cd+Nx&daZ)vFbo%Ia%~A$cv$SE?tkLNsST!rtRn5xJshTx9 z++X&G?V8mpmd-DpN~fAt8@y(ZOqV)+bh~CLgQ{8Duxr-n^bxF@mFcQx<>yq*8XfFU z_cXhkt=T63MYh#CA9NgMnl1C&L)ny8=fd8KyenEs=VU25H;%>G`CmHKgQIs0lMw4V4Vxx0Npm;;lK^lHD|5cIkinGsarQl)Ax1o z+3G~8ZQ9T3NC7>BgH#!)MJ5~WX;Pb1>AX=Il{r3dmPtAv14Qv+b(rhp+U!wkx^voX(kl|tn0f7renuQH2`(4 z$*)(k53t}K2$k$eRufRiQEfnNr5XX(!g02)S_YUlr9NeTx2|gIyLHtvzO*U#0aME_ z@zzyR=rmSAlqRpN{Afx_n{pq^U~dK2XB*4Dbu}@~`Z608OSis_c2VC)8>}Le{iPL4 zHdr+pl|H`3ETyALr*mE@nP^p?os%OAO{w-p#Iq$zRjRWu5vo$1ViBDx)hQHNW=gfW zWIA0ci%FG%h*TTE7q3b@cjVbz7n?`gOX}!5xJiaYvdCLkQ)V|&$bBGL7=O|I&e&7IiSz<~n55M#}57nREf^^uk#Q~YSXf9$w?~fmTX$Qsr|^p=^Pm+Oja(*VezJpp?FKSGLE5mOLAlsS@D+S z$SAPlP31`O#xWgJ$jO<>o)C8(n$;!9=klnQ!iM&Re%*<3VPjY_9)S#38n z@+4}=x2L)J@ZqIdvoG29tdz9Qe6w{B0r{|ObV!ql=^#g^Z%yg#oXL6Xb7Z-bGnn+s;hC@aP2+N~Q8LO5VE8Gy-3(Yl=( z*GuYjju$uEKyn*m|I(+)Qh4tDTbSQHBY~?rUsX6bOXU0P>~wsU!1HF*036t=0ocZ? zyMiW1ftY~9llW0P)P~BA^~7^;b1N8fqE_eH)?8_~mR8~4Y-@hGts^75WN?x)U``H; zN$LFQvZ}l$-_}+Wezk6D&cf;Ffd+k)RBEO^{S|zl^!If72GFODoqbf63!-7OS~dp6 zO1(KAXq=;=PUnzD#?*>?l5U1h`=-ArwP*S}GisCeu_b@jlRjJ44myqRAuo$tc;{**C33SSDcJp;Ts#WlSnA7}V$0rrdpf|BndBwYJj-lcm);(oke1q*dtyCf7vgvnoEVwYJlTl65?{0CsiblAbJ_%o1)) z*z-9#XF)+{=8IyB_2L=wTpSu?(u)=FYpAb)#pUw~)+s$Kb`MLAkfY^Ot;~d(L z?ypT^_d^?JR#v*_65<5ro5urgfZ4kAIt%`-gY)9AO`@LU8%^|>@9fU`#*%#J!iV!S z@+IlX{~LF1-@Jd{@X*G&!-r9~@!s9NN zhh3}wPI=gMS|{`16|i6GTFPs51|;?Ob<88L4^q(I_Z0geY74&uUzn#R_QQMO^JCT{ z!-slcc&stxFx-G^j&%&w{QqWnNS+3~!8B~i@PtkW!pll=TY%ct7}PftE$zT|WI z|Jk7E7x<2?yI)=(tmS?$st?J@OOPF2k`QsQedx&I9i)+5Syy_E$d^}_$j9r8*VMeY z6`^x>+JelSP>uhwHNtua@}1sl;yv)8;AvZhHydmA3c;_X{ACb|YkAf18(=T`WiVDh(a0-dwFX&c zB!JF{&QJ*ac4`f<7=?UcD<=)ir_`^SxF0@uDmnE7JEj&p8B+ds$X3wsYXyxl-v6Oi zZ~_W`s#b8bA_M=eWh=lOm4s&S>{@pNyk9rb5?h^hwsP$73ehVXGEeSu!zPB6U%h~xH!jEU?(}X`g z2jQ~`;mKrZI0o9qvfB6a;N0km=<|Cf0M{6!?jF8uN z$C~v#)_jJu4o5FD=RH_+L|TooF!GDO3ozDv*q87Lr`I0)D;qT7Si`;cSEe=La%qZE z6aF;W{<$UJpfvceCUEdA;knb=9Km`lLw<~p)dwBM?*o%|svgS$_DjE(J(kC zw6pU$J(jz(^J&H}fI94z@dKK1zOG8St@(wBG`vi&MGv)swkBQ!?+NR?)OOd!N(t3} z8T2E+G2xEM#J;+*?&m{|_DcSgOMa;>Jhpy(8R|EZLcZ6;tKh#weX1v;nGe^Wse2MX z3Qj2bLjMzuzuX1(?^L#aAG48bY3pxg-`maBAIi?>*!os>K5gsqI`m5Xtw=mBdsi@LrK9U1pzeZuXd$DYdR^;B*_*6rm6OU?Q- zB=Nkba+T8HznXX@ygMb`+jabH z!_0_2dlZWz`S(Fb|igGqrN|O(|P?URn zM58T7%!{P_r55Fbm7<)@_tTVvE)?ayzR+mP3%BJrGsn|9acEU# zzW3~raXm?2-;Ux+9ibTa^?XLgv+TY01Ld*f`x)b~%teJ5=L>x(JC3SQjQjdJBjbfL zzK=5w;UCqp%y_9t*yq%(mRq&#yWs_JUxRG8F64@0rE$nvAb}2WK7Db1O6Fz4<+@CG8T-;R*z^ z=-z(MI7befLnn_=9*e%4Q;y3N!mG@r_h`|rg&7mnr81O7_w|0p9y+4fk@Y+yEjKdO zVPVZubKcu%B41imQI4umjC=b&qdo7&cpiIx17jQ))Wzdh$DYd)r^j1J8H#mZ4`}rB zBZ`IE^IgQcd@L4NwNi8L-9y)PTf^r@7m9LUKWL=9aLTV|lvgG)Q4*bsOfl%ZJn^?=4$maeSlnN4vmu|Bk;wX{%~=v!S{)R{2<-T6fNO|FuUt>{Tk?31Rv^9KgbfGBs^@B#r3#a^rjPlAv-%6rW z(YHnyit^|Q&7yZrM$WHhlvgJDRuXMT-)dDT#(h1ZaV#;bEu7X^;sj^BDp6YmwA(2U zxGw0RuLm?TUO409jPc4u-%7^q=v%D{WygK}pONvx86V?}SIUmt(YM5Sxaix#==aQG zcTM`^4bFH~qHhUkEBaQe0@?ApuirD;@vOFRTK(}+&UjU#ZwY93_%LAfZQa}78Dq5& z@*<;eM;POkioTVcr=xF~GL$`!Ue7E$y(WE@Va|G0qHhUlJNnk>LQ(GR^^6w1Xp26? zDX&uWEm56{zGcc#to!;tV-G#c@}E`@eUPzUndn=Iv>kn`RiPO7^?b(Y+pdh~iN38f z#w!(lE1^zD-!f$=)_pyoF_xt(>v^JYUqGx6Rx0{dmzG7}8eJ&LeSM&j^1>)uMP?Y<6K_lgbQ~rF5@`|kRtcbQ;L`D~ia$i4aq`Yv-uVR!}Ci+$qor=CS zx-gUvO+-&<7QJgSa{g_M^2$WtN}}!PTdfMkxUVNPjwNQbh0_{Kypl6sm8dNO+U=Bw zi@qJ2@b!R3#tUcsTN&e(iN2ML+tIgL70QnL`adJ%g)@EyXS`B&+>X8_#)C!Q4oyVA zXBN9_(jR{wXS^!Ww*<61v=VOZ+o1_xzh|`LS#9C8`s0^##;X#2ON?95w^|jduj1|R zjImk>d6Ch#modgG6@4qAPDkG|WhmC8*E7pbuSuU}182P|(YJ)O9erzbp(ywEdPa+0 zv_=0GPI;B0Z;9$u^et0{V%^vG8GGnimjASR=$A6qD-(Syk+!36wJH$f^XUckiGu)c3m!H;&jqT>Kw){+Q zXTiU#AbpN*-{f7~fT$nXI5*v%X8E!{ZW8r}HqNZ9WTkQ43CuT-2i!20=-0uA5%|tU z_PxU78%^@z`He%KW7+wf9{N4m`LsR12#$B1%9DJD5CacAaT#u%JZW_1(*Ux*Z|RQa z;{5UEj-}SZbQ^*^<`-{+EHw~3M=XyJPX_6ipPrQZ#IHMkeZSyW7>@!Pb}jKJpkY@H zzd>u{^*MuUudU!Y*b4R@ znISgHK)pF%PJPl24E4!V=BQ)`;Gd=&%Udwaa|_Mcm3n<>+}9U6Iv!buIw7R>FNtRP zY)I>sE9$*U%?v1*p7yrF3J_Ii#wG@pQ~J(Xp?nOU^8 zw9GT?d%IcY!`b;9%X~CDpQia7sIgvY{$@$@xZ=4iL?fk%EyjyNJ&>oO8eYaa56EqL ztBED}fNepQ*1(-8LiN9WJ)Y58%c>&Gi?P-h6W_a+?ko%2l2CcR`K|Rh?jOop`}#KH z=wMfx^UURZHqo3+#`la9xF8nK26&@9%FsY2QD=*i4tx92;{ zJbjf5IpfucHB5kJv4%_)i19IBPiC~^S#3d&p5$TtnTBzkx?7#TiZxN07?-M0jC*=8 z8)I(tRU9GQpc&6ILU@5;9A+?%45aRmPB`$~J#CiPQD7pgBF{hP8L zQazA085cj7Q4W(BOKrz{@^5bAQ#KXks0zinuYWUI@~pO?#|-mW@~1M!ar$C)EV(sV zQ$a3up(ywEaK?L1#5`s3HRXB64bL%@<5bO3Q{L0KA)l&AjH4zH;SFE^X0+pl+wrFu z!sWEZ%Ghyxk|r@ux=@sRdpIZJ9EdJ#4hJMP;f*QGTsPNNFNxVMip zGLELaQ(q+yzEw&T8IhZ1Q1@SiPZpED9J zSJLX)&zXntCmF&k6ICmDwxVjaCKTZ*FJ~lt?Fc`E5nh$3TH@ImQo%UeP=u#EoRRRg zBYYhryed((M7T4c5-_TEH09xpgs&ap{fuxJPN_~m9Ajwp>^5RP+-S;Z%DdT-@aV(G z8_hyTQ)-6r%0$&lo>Nh^Oc$u9GMe&lcBDLx85T}?AEUe~QME+06;*3gp%_p3H#;&O zEqURL3&wa=qG}0fJF1rHLQ$UbaCW3T&U5QZd7g2@C*-^sS;v)$s!d9p>X8SGsvY(9 zZ$>-bmGC^VSl=*&S0<`f5}t~xWx7yy+}pz$R~ARiJ4GDkvE%R>1xIEJk#WHpCgqdriC={$q*S(eeFE<`@fK5Wx5lChTl<+ehHqb`!pX< z`<*VeM%_sWWWPszeVefljuqXJ`#gQ{uS@Qi+IZY@u#WAN&Np`-9QQBSh$qh#9P#yF zMwSt|LRtP#$#N4P3|k_W>3s9E4Eu*-+1FDUSw`dvW%)ml|Q(j6N);c<_6GrLz?%X`GNenMs*Z_U3;mX{XWhi;f&XqJU%YyeE18Y{O@d;M?3_#7U$Job7?o^O784f}_(*S>zo$TA{VD9itf zEKe?$>z+`ZZ*G=x|4=MPA7d7y&iHhT^`Y1}wjQ6(GrsXP$@0Q7o2J(2DR$_W^KI90T2RXmY-X4L$nVZ1791`^PG%|N3GMYyjYGS2<&YQ^&q{wO0H z2PMmV$C*T78(;gS@_Nyme%8F=*}37wr_YBX+}Ar92``-Re=vl@ieeQa9M?}v)|(>c z1Fonx?CZ0PgcnZu-!sB1vZ9*e*}2&a_?+TlUr%OSzo9GPd3-;AX9%y#ifTl-y`mb| zh3ct94`&v=j=%nBwqIYzp5&qY%Z&1htf;1l<}0c(RUpQPd_A1el4rGr(_;K@8RHdM zQB47Dt*FLzp(ywEamH~&#GDLz{h^KXaxG*{d7e>~zcG|oWkoe28rM&=?>Pgms5a#5 z;f!{?a6A6jhVZJas78d_E2?o_C_5f~oLTg)Nss(Xl5)9f-hOe3oR zZd9Qd_x5qd*_Pe2y_}Kpq8a}pXS^aYhYD!!1Tv~n zjC=bzBjZIg{+FEbio_f$pt&2!s6sLB?dgn+7tQz=4C9rFIg~)#F^5JKig90GXY}SH z;)RYK{)J(@GBJk|Xe;JWYeEt3?dOc6<3$txc}93uVh)LC=Y}(2%;BJ~mowV%!fp8f zGlW;=N!&DU$e+Y*G=XgRVDxZik=yggcpeYupEJU%5>+d0xD{2aHK7Ri^>9WTp4Adg z%ZLAGjPR;N)e_Ina7w_a+Cg9MX7u5AB|MMk=T8mcm5HjAgr}lvnJ$zakN(XpdVB7v z^B|3%BE+GlW+rs#fxximGM0P?URnIHMQ8n;p;7 zTlphN`4B$!vNBP%y0j*$)~G@;?(O4@j2F%LXF1~)iKgqXRjYvJQME=Dig9m0XJou+#y`UuuSis_0-C#lj4Bl4-k#3Lc+rgifnmHdQMD3i zJF3>GLNV^^>x|xfM7+?k!%rK=D-%^KfwrP*wI&qd-hR$FI$kv4zt0G-N>nZJ?A&k$ zjH<2sdO4#FFWiQI$`D?es9H(56;-P>p=@~caAuL)bF509sM_CSgjdRjPdYXnHK7Ri z^>9WTp4Ad`q)Hybf0q$nm8e>>*v@cDz^K}~uXi*0@VgS8$GiDEhVaTn)k?xsQMF7L z%8p0>W){6Y_f+yw{xGAwDp9pWv=vorRACq&obdH;MoXU67Ia@F597bh7_UlHEdgyu z)iPZu%Dp|Daoi9wFEXn3w+!W#iK>-ETT!)I6N+$O|7Nt~h1>DpG=x_ss#fxximGM0 zP?URnIHMQ8n;p;7Tlu7s@AANG4Ac-jEon}_-}B=;Xbzt>oF^!`2e|5 zg<{;>%NZFjn(2J)M#9 zq8We4FkYFcS_!lrRclnC829ycMsGeMUg+52#|`6^iK>-ATT!)I6N+$eKW7{rFPiXQ zV}w^FB8zx-ZaBk5)eesPdO4#FFWiRzsv*2GQMHnAE2>s&0@?8K=;6#Fx93=uJTZqK zV}w`AhFej!M0l{M+QD&O4`;ODSuH_Fs^lU3R~X?{S&f-^c7_abedbU$+}FDqefV7o z&*RJh_<3?jVcu5zW&W<$+Oym z?yKZs{3DF11GMmt`( z9sjT)yfRU>lIK)ZEz^af+}Fc7F*rc41MBDRJyX{B>%ge3m!H;&jqT>Kw){+QXTiU# zApI6HeA506i28wzbJOiC` zvGwE2*!hj5knc6|D)_Id*CkFdZ}g#v_w|uR;$^)RN&L^7`rmq_)oL!zu2zS5UE&n+ zMjwiJU!Q5i?aSW<)qkqq%|1e8&F@`rW#8MacXKE^pVPZ(W#`j2{%mLuz4mTCV2Cd@ z=@=1#FJs#;A%%Rei3RwtZM#Sj9xNJQ%-2sk+HiU=k!*99iY>fXvVTt2_xv#gpd5X5 zq`f)V&f+J!0GGsrE6!N_$4#0oIGwfgRkjvacb9SX(9~|@bhenoV&5*Hnd*XRm zem}Cj{S`;?z@=eXoo{ZIasN;(`+7Yi%Z0Q2v&izc`Es$W&Nny9xPK^?ef^uU_uQ4` zJiX_ikt{c7_a2!kiCxA^kn||<7mE5Ap1tR7R8rmBNVY@W7y9}%W3+fzvhzfX|Fj}| z&(e{_ImHS3T8W(}!>4}voli=A;{Idgt6y+WG13Ma<`c%FfQEU0@f);8`gyVEt2Oej zn7&o*CGUUHlTByj(v1;l_%c1{OGzQ$YvL8~AAggYvs7Bnx6*_n+}Dd4ZMUqePJQY; zw)=gm&TnYmRuS8cCFN|(?LcHVJUy0;NOs|5|CAzo*O9{&Asb7|$(Gxp$oBO}MzRYh z`@M?nNeHnj$2bUH0=Gxv-`~cPa6-9 zH+(&hk@CVR|8a}*p-NHC=Gtq@!_BsD`1&Lx<%LuJ9*gq9N>R=h=+u;hE>w@j*IOAW zFP!opW0d2fmDTB&TT65*%B3z8<-UH*F*geE1awkQ6$N-Rb!68(3UG#fZ?`DG!`b0&uj{5pJBjbfL{!Y#~OwFy39d`#11FqIN>g(~0j2F)M z4|B$=@qC}eXuHFQli@}WN4@=>?h0>lr4%y<4gGz+&Ov*SF)kNrg=3W2mY*lB0Qc-) zp)~lfChmlHGqz$cORL}~WvG6+x7RbWjy2Zl-ZKyDKg4Sum$8Ibg;=*1?o3#h%22HP z`aWad1yStCdY-YwcQDp*>CQ59-rIONU%FFKj;c_MdwV{kJ@3YN9((?SjB&Y~C451d zIq$9SVlUvSNGD||)_wh-F|Hg@?`Y5S%msRT!a6LUP-e#c=Cnw**l5tTf>lJ7T!mzr+> zUJ0;l^-AP+D6)P1o006o$$pz6d-L2}MaagIa;q)3Ly_(4)r@2pPWJaDWY4Trg={FP zMK*4SBHP!OIpN07-sjQZK0rU;a%>^4gD)G0e*0cYHh47T)J1q&OLKdP*4D&gxbyIz zsY+-1-F01FyrXzEY~fvGs?-MebV4ZZef^s8={~alI`zWOhtytu_}}9YQ0{w8&!_uX z%rgVei4SMzeSMqb?zl>fSvkF!m6I0l7)4%g-hKT(3D{O7Iah|V?a{}XWwV`mZ>M^4 zTOJ?hciXJX?=15udC#o#nL(QMa53d0zCO-q*R$G$p5vK^^|#ur4^_^t^T=||dbqVI zMtr@Vk@dn^e~ZmJM3+~r55ptOHS6JG%tw6vppo^$S${KU9T#Y*7VGvh6^iwc>r@Q; zdPL)DEL~a86Lm7}h%UbL-;+Ti> zH(HceW0k~&=!_fEfNNC@`+7G& zHCDV$D9;#B47g^+u(watjq{5Be?xg5Khf(sDx|; zodB<(t5yt0uc)kx)ELT|L;$?bs{7_Fo=BN#?=b=ZCN{gVT~ZmUm+tKqjr|v7G1Vq? z1VEnt%WFC7uxdk@Iqz}w+*-Cm^=SgGTQThI4~_koZj|TgzudzqR|{8^ne-m}FR6tq z6zf4(t{C$5h>ngs_oR1$fjiYK=zU}a*L+sSt?YZdt=xYoJD<~kX=UfrHa*WA(bpjD zTUYS`xPcyENZr zvE8ya0tOc^1@_Bw-8E)~u4d{2XB+&>h}zJAHL!gyDj z^Z06x6V3FPc<5c1x$oh*!uZzJq_nJetyQ7=*S`M9$avw5uX4trhg~7YtsXWp9y3+TK(AR4jdnwWy6-juD5nd@9&gauB!o!Uj4*GgBBjJS; z{t8Ao3>j9ZmxA-=lP9++!UK*NdV4oxF9i`V(uOZH!f|oV>hw~a0mFc^=m&j$n{h=H z1iT~RdBzKu4B>L_c$o?JoNGxIn`X+}Ry^qJ`N8Pj%%T^&#`1L*yl(>IeUuD%p_DH& z%5m;|nJMonO2wKtufWHt^nu0<>%QL2Xvrn>o%$+yEcpUs9A?v&n(^K&IhHonAIGNx zg`?cpzZoenobtnlayeJL%$B?-%I*2`WXglimaqGIIAe@>SIYCuc(_ARJ`YbWEC=Co z#={OgU%EfRvo^Dhjqj)HYTJl1+%^IaCUrM1R~)~hR#%Ua|9p{%v9-!jsS zRahv^hlpl;@Ow!twWL{|?`iZs0zBwm_dR@ll#%AbX}(R-3=exR70r0Qr$ck`54YDe z`}!kC8_v2@aTPTa`HHK__47ArtwO+qa4X7of)^g0yC;tP235eQYF^rnqP*3QD3k6AoU4vKcgEH6`#9c`XG5& zpS5dV`tK{nI-8PxyKyV-yLZ*pc--u~G*(>(zKZcY-vZL(Fxd zDEIYCM#>APe9EG{63=wiL}zr;!_6eFPx$&PBjtrtek-RO=F*nAe~$Mk_%h=zmy<%i z*TfO{&&FN&T;hcMaI=Z)6TW`TNV%-9PIsbtdMw{%)qACEIiF9gDGxZ_;_Kgxlow9< zEf(dKcs{o#I%B9M-1E8X6TY6$NO|Fuzucm{63^$>lxGaGgqvAhpYZmHx+@VzKhf#= ziC)Gjmosb2J)U^Jv;(|vp80(4gmim;v8@d>)-oQwqFJ`unPGgKI_4cm6!UnBUTV=^ zndftBuKDx1EoCUyy}hE*vSXv@bT68R^_wl$ai(pxEW0(|Si>H0#&Lbz+bjP$!V{~)94eX`P1mRE|g98_J~HC-i`7+HvJ|}xtv#CDVuK3u1{DGIlsO>?&}$i zPs~KvJN97m%t+p!(5~htl-XzG`9xS`TF%%^W+ZDxC~NNP6ODWq&i6jecbVo_;AL=Q z(R<+=XIEH!7eC!X$DogUdqZPfF4k<3cc6PE-%Cq}D>mPPmDq63m7#38w@);(UNq}_ zY}P9?-$G-}L%Fyz6zkre(a3tytbd2i`Vbz!%zbm;d2||U9t6OZp;-6!k4DyuW_`EK zdS&KYXsmfC09OWLeJpxM5#e+{d`-NgH*(hTv3&5VkX@G#BGmV#igl?B#k#k5H2RA& z+C&3&_{!rix`DG^k-0?*X=`o~(}kiudPOCrsgV`Oq8~j)yh|R+cUhEIBOW~=I^%{k z;M}4yZ?9;y<=7ljt>Lt6`A$xGMdlVM%B{IYOc%gLB0V*?$kK-DpGU7~R*%FPYY8#8=*1T8)tOtAaBa;k z;>u90dwWHrWiQ&Y@32^}&fKB|YkO{yr42-T!`m+!d+Xh3&ohd?ozq^CxkZX;Yi<$K zg`(WoBN|uw&+6ys@x?qV{cl6cH!s5Tgv#ReH|I zvwT?}H;MW~8)sJJ)5NmU6Ws~SH;)J0FqY_WF4hQq=OX)FVe*Y8`SAS4A3 z&gZm(yR-A@R&XKIY_F|gQ#K2wZUJZw@MT(nzC@s{iPyt>W(!EBf@bkwba%$k@9X=V zaK{cK{bt3v3!qkerT;}12Ycs_H>LS6HT}wqsqf1MQay(V4_|2h4t)UN4I5<-oy z_21(xT!1e5lV}xxdySpxk|)XDGrA^H(Vi{;P>s!h4$e3}cVPhqLpZ{?ORV zp{k?Kj=smxKjC?LIp1#8{x03qFLOV?*Ite(wQK5GS}1Gp=^-7fyVgGTa*Val)62Og zi+*Vrg}^&;x`%u+eCn4??@6god~^X@WxwF#2-t=|!$u77D4=0u1NaSEBS!(yQfrO8 z)1hxwd&$;*rpyCx8F#s81@L7ozMT3^O0f8^flu7xE5b93zD@~5{;03FH1_Xh?RB#I zdB}gE#lVhMvx5D5RchDhCkdgr_w}E~{(V>O^YrhpcDS!r{~poKF!iJk#k;4EHIC)e zk8~$HpJyz8LhM~#X*U=4%`Y_fErHKxetNNu8}Lgly@#GZ|;Eou_(NKT%f&6uh6EvxNj={ffqxzwB|B~G!f z)uC*(#ER?GgU=ItFqEqQFSx@3TI;O}^>FGh-jD2S4KLbscxd-(%m#^lkF6UKe|(4>mWqTGOlh z7h$~Sj*_#EckTExeVZ#uA>V6a75=A7tn7R0I)v)ijQILoqdUm$C zva$_lmzCMNd-ZD!+pN?M_dG3BzsA$oIyUHzPR7}T#@6SFIM`_D-`i~OY0fUS<|Y>p zE@3k(a|?L3v=iLsk1Gw8><#cw+kCs^sV0z04AlmFeX+5>BkQr#FF>CD&hsr2CMUPS zHu-X}`+QzNa}izkpv*X4<{(WRt!Ql{f{vQifvP z)At%@j7Zcwj#=i3I`}rj`tBp`?T4ES&Bb=fdH0GsNO)(ZPC?I8LXq$3g^lDFPyUsR z{C4ZcgOiJM&101!-;_E{K1&HjzOQFC#ve%ZJN4%C#21U6#3T;}w69*m_yo z6zil5MY*>()*ZKrb79T6O`e|36^8N`H`_2%q`kV_tdf0arA{%=Qv#7c?CXh*b78yM z_dMi3&mw>SmZc+QT3;0}2hCIG>-hPsb)!csfp1l67yKk46!)H9**H=!vF~^;h6pDRM?`#~mrz-3;dYR|$_ELv}ig~QSt|xxFZ1nMZgo?u) z_Vm@pK2CS?^Yn3^YmvWA1}2nw?7pWc9H1Uc>=G}vq3pb`e|E_2w-t2r0Y6C)C0w1nZc@muv0}nlM8E&0CX>{h( zfT4X`bEVx{T7`eJt@-8lQVVmHnf&LdVw!mSO-h6RYT~=$UH5g|(x)0hMut%B!P9FS z`}|a$guJ^RPM$vhb6g_iBVNkf4tnbICzxZYJG20q6pDRMUv69rsyqAmtKaKy!6gp+ z<+lG`D}*Fb3yS*=%m?e~4|#fU<0_ZkdC%j?`ewuX)>adq`+HM!7P>v#%O0QRwaR6} zeX8Uslb=ovWc7!9{kd`8p=<_4_INJNZUv?8`S&#MkTae(|8`m^`n^55?)`6^V{XRy z^YnS1ou(hGf0_IGIM$0VbI+TxevWPXp~RV1AN8S#k3L*kODQ|P`qtg1lvJe&7$w0rt+_mAUztuAh<#HJ?7`{_pD>-~qYU+FPTe+oA8T*V3q1uD5A9v7Q6*I1%WA0;d z{I1ur`wKd@hjRDszgb!i{tIx8(%`?EcoV#9A8rcu^pAm)9I737`fp=oK2>F>-v#XJ z_Sz1fk)}aa_#Q%{|6%;LG&>he#pc z>6x^~_M1|tJ3uTY5cz|?UfdzK=My8?OwT9Joxpiw=kC3mcWmFhXV2!BPVHZ5w)QVB z=qHkwy9Ep=-c1YGVzq$pfvs+(r(L!_*9edI0;WaexfghPXC_L0UyRlP zU#2x&OA7g36K{e49a&d516|TXwFFP^Zk(%5mD%ZTAWwwP(;Oc5!VIp4^s|-O=jF4i zY?^dc^6a04Br#MQ@bve_i01BXAWuZ|xtVRC-2Eb-h~_N*JNyVB{lUDygPz{svDg!m z@OQHRd3r)mb=cpf?+nUp|MT>OOv$r<0$6&eUja|AaEx{C{wt8DCv;AymH=N>=9Yj~ z0bk~x;A&FH_nNpL{-=Kl6zLs)40LL!R^aP3j!&78b=c|mAWtiJio*gv9fOM%dOutDBMZc$yIL`0II_>=A+&r<+>n#rCphv06 z_nF_z$){nSsriNFDOVkc_qwlVxE|Lg@5XzcSfD3cyeIc{`A!t+!t0K829W_8Irq7T%`7z$pPdwneNTUGjBq9^)rtK)y_zRwu#ewTX7+s|oL#`x z=uK8aDDFLdxp7_2?%d~@w|<7E zCOcXAJhOP$*|eA1y8F!HwMb7Jb{e<|MY*RxHuhz@Q=X?U({CtO!x828#rD*fF{MtK zc9sx|dru#19EtDFeV&o{n!|m$`!YTw@!G=cfk!zK@2W%b?&)`pefRFX=jprm8QxW7 tNx6CNsqdb|(%85s+EBFn`dQ-&JQDXJ`|iS~y*hn&ikopcFFdyX{{V0f@-6@X diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-propsys.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-propsys.a deleted file mode 100644 index bc9642191bb1ef2096dec4be03edb81d75be9eb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16816 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 Fe*s^KRzd&( diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-sspicli.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-sspicli.a deleted file mode 100644 index 9760833eeb322bcaf2e8030d51cb962038ea08e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19892 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 T2hz-D<*oMdFOx`ref)m`GX>eo diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-uiautomationcore.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-uiautomationcore.a deleted file mode 100644 index fdc6b996b3a1076191d66c70a0a1dfce8e6ae8c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4406 zcmdT{-D(p-6h8T>)mncpDijfoQo##}n>5`-5lM-Pl_EjtmB_fwZq3qUH|%czz>DHV zFT{%qg4cqN-~;p#d=4MNdd|%L%yxH^7EGlFcIIT}+nt#+-#2G+`?2P9x=*Gal;T!d zsHhcHY1FHwlES;>vQ(OXsQNFwn*xCI0J&cP#UB8Zzr}O$DgZr~@6p3pi?J2ga9q|l zJi}ovTQ}I2X=wwKVdHi~WonJ}%vE~)cC2)J%hd)0wqa@;p550x)3!RcV=#^3yL|&# z*UI8jJ3Z)oIz5XIS2{t?7pTY!h8z%ts z9m93a)gI0}_&^pwe%E$h*;cD(#zqcblza6Z&GgE4xSd)1SWy&J#Vu6T`EVcgy>qyg z0QYkMSGYF;WzX35xSw5=p#83_Yo3-3;XO@gACy;JcLWS}31`v==V}2K2?j-+muyW? z0^CB-PPpl8Ts^?eqBE0%3;Kh4Woa?wT?=_ve!9F&edRS1H&NK1LxA_WHElg;@Z06s z(NKjW;}J}bTRsaT#jKEpk>XY47>Y#P{Fw4sO<-3cmxOx4^5YlbXq+jq=5;r$bPQ08h4mVKBVIkD%nfN zg(|s;>pQ7Ra>SAFc6;RBjNc<>omGY0!nu=03Tg7+qR7KHbcU=x6h~Hg#*~#JT`0%Y zMK!65&&ZWgy3i#)ou)1G}mQxYc!gd+6-ha!Tao;Pmo5ECbkVpr`6RYF1> z`w4tXzl<_7>$NwH-4-b-2N)^4)7fY5?%OxB?z1=E{Al#nd}S?Kqt$R5uG4WlmgVq} z-dfgfrX*#j*3_lf;|N#PK|u#8cr3d}0!S7zLicqF2JfJo+&12WdY@k}#froTb=; z5aDDd%EvhR?wTi-#{BRoPVG3Sw~E(>O?) zg5JRPz0|9Q@JJVW7xrP2+yH|!!iDt0=S_vZk4_!erCS#qg=?ue;Wn#rZH3!JXS)Qa z##Jx%VEa)7U=PD6$Oe900(`Cwy|D^pah)%Ey>Vp@g6UkXRbe!qj4F)AQJpcg`$fxm zWPa9h$f#9fm>W`nQG2-flI$;e|+rU)nb&>HcS|-&0 zwt9DY8Q5&oYH(dUnHuOs%hapzdavQ~Y|zJ*PdMdY?MdwhP)m7jFh7sjyN#wtTnZ76 z#`=I^Iy#NsUT9(({=zwL6xkHkNM)(0Szh05Ux@V>AOkCGUfx)~g7!u#g43 zUpjrcBDq5RroxEKf+y&aQFhBnP7z1GVO##qa^3gLN;8RX3)a5#U;B6*e0o}r+==!x X6)b&+{uA0?+O?+r<*`-%D`EZyFQOwP diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-webservices.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-webservices.a deleted file mode 100644 index 4a4442f4b877b7846fdda16da98ca3fa1dcbe40d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141508 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-windows.networking.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-windows.networking.a deleted file mode 100644 index 3c383d000f151ac50dd4958dbdad80b62b4eea4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2694 zcmcguO>fgc5S_#=g{TM)mFNi>32w+ZA#rj*D54jHR1_&foY2;-H?_%!Q^zPdaOkP$ z-1#FM`^zXZyIym9je?KYM1M-|XbYJ2yJ>-#6Zv`O)k&ou*^=x;@jh#Vvg{ z&6d+j9ynyz|gtsIm~IZNpMQP z#E**?E*I{6PDnD@jK|9`8V9p;<}!SG%7OXZ^(uHh40${Z&&E7H=3d|qrr;{@1T|Gb&0bbVto(O9fteCH2VV6%P3{EW1 zjoosHxYLKhwRO5!Y=OZg;R1T$%eKNkL}Lf@(nlX`h3hCk;r7dMU4=VDH|p>SY*>GouWn@r7l8v51NM zNH`T-?c%Ks7{L>%!KgjUza+V$7&Hh|2ZnQnwbme2`~RToZZA6*l&T$M|0$)6$Atc6 zgsWhxP}MCJ?trqvybcp((AO6=!nOMq`;mQx*m zqfuE4sIZi%k`^`%Sx(#fL-(!TANIud*Z3i+-4<06ojTM%{6x{Tm|)+tKj3+;opltU zXk2FJetMqMcWPs>NQ(;@F4rG=i1}HJODl=?(MQZxG0stWJxAkXf>A!)@%7Csx>~O@ zpKfjH;8JfCUuy6XT2jMOuk@Zoxms_g6pXvw1av+{?|?+_f;ozSPs!eq^#$b-Y~-p$ q?3+{|Gm;tNzb^F1DlyTbLDerkAH=ns>hKGVO}pRz52v!KYy1Vbi_44v diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-windowscodecs.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-windowscodecs.a deleted file mode 100644 index 994c633fce7d5586ada9787ddec21ba8dfd3f4d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9374 zcmeHN|7+Vu6n~bJehC>HrQ5eCBP;cw@Lq?c0I>wly*vhQdwv4Q- zp_EceDPxoo#u)o6_BZqo8|&V?JLyiAWXoa7F!RBE@x6DtyLX?@y}L^`Z`yvRcWdn< zJszstRkLauO|zlv1{0~Nt~csU(coYW0ImX*4S?0Z050F;as4X*im!jitPGEQKz;1cNz!?T$ zS?*wDP18Wxt{rrGnJrVLtktO9^ZejToY%g0=h*Ga-gfPTOtk3qoPoXXQKPuJD&V^G z$$c;CBc?tn!xnd(U}6q!G>B}KA;*?2-?0Pdwi^uW(PzFlXgi(2^@g9G$i~?!+3jbx zrj^5m`qA+N-g(UFPG)-MMw=rSiV6FT70#XIwgAy`= zl~$n=I41!sXD2%B9aIQb*(yx31A8wkhvV@KHF!dLE`9JuJ=DE~g%uo^8g{@4^|r%$ z(p%5gYlM2ZA;8rXy-*(JcR5dq-JNlz+wY^Ga^&_Mq44)BfFDXn_WiIz)T?%*ZpssV zk(z2VElWqSS2;^ZvDFIGAuGg#uqU(ADvHXbOdVz;LPEK8CH@idi~68IIvU`1iBK+L zH)L4u<;QZPQA=RiM7zI1gN2p<8p|~{3`_`ngyju^30l`QEQk7PuINSFP~~Bn^uqFF zzK#`Tpp;l%X7+iFmGU6F$2=9PV_+zOqo8*@yw7VGwqlm1NuC4xnRPk($-ZP$8Pwf` zk2%2yrW_)ha$+RFH!S6e27h9q2p?S_f5rxeCL_@-U(nd%XDD4KUvQC4`V^Os4p3?Q zp&jHyl=lRVDbvBo=?if0R`xdPAuT+SdwjHa)9Tc*GhgW!q+ZMyG*RbKx?aQ|n#T_6 zJWtm%!*N~5!skLKtiu_zz(>SK2td7aZs=H|K%D0_x7lx=Xn+Uh zsk5Jb`YeKL%&Ra~H1e^cDsK`YD_)=xX0f6xkV4scvSO(8JB<}5>3RuPJWbb&Sn&?d zZ(dehBwVE492T1q?{erXjQCj8P^Q5zm}bp9VneE3ie-YClL<-x@DrkA784E>1f3@n z?kW9FV?vOwmtexjYwaxosR)VUAbZK6Vj3aH=^Zz3s-ht2CRlyP@i}hP8OE|Z{zqWNCx2JV-z%a zhGoG3b=EQX#{`99zn%~K)#dI_OURu-^zsy8|17)zia^2Sd*%OQ_n(}#3jc(xPzG$} zV?a%PU*fy}@+Kg6e>(lnyZe`k0U2-ai_8LgE1)1fz%5?EQVo8^JbUI56EZAQ>}{Zy zj}2Q%HY{I@BpY;G;d$Ah5hk+#n8aRL7WG!J$&jxy;uBFrnFfDgI(7CDDY6YzEHA40 zcu`Bf7cF@qd2yCk)Y24WaP%zhUEw{N00!wPcGz#8Xz&{rvUxH4ugJx6!pO&os`^*v z<;h9B!bf+9v%H~lRHXcW0ODnlPfpha`XwKlqJ}aJUSLXmNSV3x5NW~!ZV>+fpG_S# diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ws2_32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-ws2_32.a deleted file mode 100644 index 81770cab631ce1465d48f113ac8589055a316045..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81592 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 GCjLK?s{~5` diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-xmllite.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-xmllite.a deleted file mode 100644 index 3a8aa60184a46a5a4a901e8767db5288fbd2d705..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6988 zcmeHMTWb?R6h66BYpoZgLLXPCpi*PfCYwBn6pElA8cMZ36gS)MrdgV%A=%O>B7KnJ zlN6tP@JW0UAN&Q%B0{a5uh+)1)g1>QGu`2F6F7SK*+=W#2+h6X{!tPvowJl}TW;J$JFyWzKkvE6%Z z=Qag-qgY$W=T%ij))r?3YmMD=$VLDqh5Tf-5y;tQ&t~=LOo3`GXXv&b4PiZVP~Fe1 zbh|My*dd%n15OoP>?l^UxGp)(LEgoc+;+l^N8`#aZX7EUAvm|+Es^O@kmxz1*@Rr( zYMM^Rp96rkR9#*jXbwt*Ny8%M!}e9g-o_!=TUNObR+QS9%U%^NewCI9*?-O68MX|}(BU)o zPC9I$CmP0H7cZ9*PN+fdck6_6>;96SX9g%IU1ykmF0on?PB+*&f^bZXA5ga&Tdj58 z!dTU3=@a5Tvo7a7*_UkUCE0)QH3yWyz%Hk$BrO6gu$*UU_==U`o}kB}nQk6ai3=yr zQU_zB^8f47BMrB4@Z|HKBqBECWZ znw{$cgH)DC@4V%O(?UfWzF{t6lz~?81wMnZLycbPd|_HCCe(`R#q`E5*UA?(Nt{+} zhd)%Dq*mTZ^A6I=hj3g#E1$w~LMzj_zr$)J8_yCEBA;fxxe>=ecMW=-d{^lY0KgbHcqhTQQcus{vLZzs|H;=PuYDy^ODA80Z zRw*JRIMr&o8&Jz~pIW}-uQ;^`OC(c_2R|OwRvop23 zeK*@P*E6$wd)RPbIBYPOfFVvuoPZJqf02i&ZxMpw;P-fV@W+H;IQml_-gOlr7*6cq;q>){ zV0iRe9v=HILNLt#golNHB?JTgJ06z5NeG5>f69aVCxl=){}mqk@E#b}K!)Ms*LipX z?!j>BFL`+Kp9sNl8Qu%S)BnT6Gw`k$o`rY7@F|dE_{@)Zc>eo@VEEh*d3fP_gkbpm zw|V&8eh@!SJ1jc=($ILNNU8Q#}0r7YM=deMl>Ye}H$z@Q?7m7=8da!0<1C1q}c8 zdLI5A@*l&G;N39%#~2SkK0*kF|9+l_pFBqhhW|awLWw*;SlG6klrUUf;o+6LND0Gr zxAJg9nUpZx^b;O-{EU<^-0~wHUjI{4!f@Mv@-PB=7M) z9>#t^N*MNjn}><-k`jh@e2<6wze7qG>fhpF>YJp5;o#SKc<`&FgyAUsk74#pJj}g7 zN*GRkmWM|^MM@YRdxnSkr$`CI!f)_E|A>?@EI-e~xlfQ12KR9u&i6?PL*M0Ltwl;0 zE*|IMi3dpu!=+gso;*cL7%o4|!_$zz7@oPGhi8wF5{6HGg@@0)NJF#O&Q9=-^241ZYV;Y;wl7`}Wj4__T4B@AD?mWOZLNJ`(haejVse*R>S zdcFBs+Na+9WT!>v*BrOeb>=~MVWK);9iMMI3mAMkTw0yAUZdNchpXGBtF%4eXsyCM zd&cG)^KkbHCG*R)(aPcH$w}9vOHL2o_Jr4H(t`u1)g$xs&PsP)8^yGa(q6Bz1aHOk zBBHr|r^^JV{a8sb*Kc_JSfr55(f*0fIqJ^1iyd#J(RVs-@DrLC)L!-=Q`kL{q9g>J zIocd}PJbPLR47HHlGYUMH9e=>?|5^KW?R*d#cS_8esr?q_PtK(?LtZW8^_jM>ZLuN zD`@XM=ye9&w0pUN_TH%tQqAJEcN(NQP=Wg&0!X*yj}U@I8>hRYE|RGHTAjchhpFe% z_OXStv>Bp6+@pRNIMMTHC)Q#LM3D}vQv5&oN#v>j6h(ZragJh& zkJC1gc$Lmg`I?#t6xA1co%Wy~)suurI-PTa?yTpmI&Hc{Pc_;D8sw8cPA3gMl0Ggb zMMNb$f=6le6CQy2brRE`a(dl%V?E_D5sl=#6CNtv9Xz|#{tesV2i$mGepxX@8dI(@gI)ZMP4*P!YnL`nZV+XL^+kCd{uEbL zR3-v*Nxr3&|B=SbQ zjW$-jEAa-xb&pVYslR-jo*y_K4Un#l;=-90d}?RWpBU8`55Y=#gf={>6fwR7ejSn^{h~l#OwKf= zQn22nmQWO@}!g40kkQBZMvi(x^oi4dYWuxs5V|K$|15KLcC zbU-BHl~^7p+KRG*BxSz%4j9~c}LmAVk10)}& z3~R$MQHnS!@P8;KoT6>$;6McP3>W`Tdh6Z(De5_k>vPT$m@5M>G^O=%I%z;_eH@eG zuODjkmV?qGCXD``=wg@*%(#vRCGWcYnnK8Q@BveeenVCXWlRH#AvFGCKO;#4Ep4uVo{$Hc zVe&Z`6mcLBsgEiOd7wE(7aM~%dz90nUgR6YD=5(k_eH+DdY_MggVa@WgGt!0Lbami zx)5?5w~4TqGkw|@v3Rhnphsvu_7q7fYhiB4zvQbiv9AYhVXFLCAoO*b@i&^HT*Trh zq3f(qM#PFWiQPNAk5O39VNPYaHFzFN5v#Q|>54^a?}?`?a*s%t z^7fD-{#Yd@o-Rcp?N)e4>=tG9ne;=FY_i?y@%k>nzYt6=)8;u=a~-8C3(yo^c7k3` zZB)J8?qFqi1kUaD`bpP0KcF)KhLU0fdEIS^Cb@uKVsyQAcF^O^%&?;>uqO3!l9aVM zG}^wr-fA6%26O{@rPoD`8<)cWkx2Z9$*@-t-+PUsLRjtV<1|wLQ|Mw^OWs<4cPDhe zCiz`QE0t=sIxYXSTO4Urq4XSt8^H_SY-OZdMDje-ck4WcJK%$c#p!29MZJ zW?$UB(CclWMlPYAgFm=)JkSM)AGr$NOFs6KN}#tlkfYvp$$GUw??(7zhej`m53cp8 zQ}x-IJ!89D?KaAGFG7!}ANjMN6S7oVg#OY%n_uNT!$)k3JqNYq{3<8uNO`p_Nk_`3 ztC$YvK=knQlI77WAZlAFQHSLZqF`I;RnZ^u|HEhCfjVU}59b^`Y}*md%bP%RZDLG8 za}{zQzc%3K{~OKVspiKHd>eSLTYY5U*VUofSC3pIy^tLd1^*w^)5%eG9fWP{j6C1Q z@&~{7HY0p5L(4sYJi`iE>@N@8bMOOjFoZ>N8WTAL4zS$i9Kig=JQasrp73{8SizJ7 zeB%{)Nyxj|nV-t!>+nZzj^7-qgiPvHDx-V$ayo5PFVsf&NKCqhCI2b-kT4(v4wXq* zqTCJfXM9BCWrS1=>jfysrLqp6pgS&!@;)rb@jH#f!_G?2B|{)R9<3nZK!uYAy+>8a)iG2zSEAbxtBmIs5=5Q^O_cEl5)CN$OB>7`~ z)C}vj(NU#Tx0bvp)o+Gxx!F?vNgU0nj9@7?=CMVChp=VB?h25W$;aTVOSO-EO@8Fo zP8N22#f$^heQJ6CA+T*Xvg03B}J zLsS_`ifi4x2HqbJf&aI00Xvt;2jGhMmr^XCFAH-o`N#H|qF!yiTGWe@KMU$VfEWn8 zi);o%u}l3OKE?&=cSTVDBu9ND#UbpY()@8hVTSwKm|EID10~=_rF}~(C5KtsyV7&h zO8X0XJ*Bk&pk6O5?cWIBbhD-XB^md^tIo!x7P(CelN;F~@PEHA!AqI^8k{A@$5O5^ zAs(MUCu)YA7+3pto&%h0#0j~laG0D(=y_E7^Ra&l4}J;#!3rlns@DrSf$h7^a^n4Z zWQft$@S8>E#+{h4a0qT3;sSOqlh4Cd%MFnODFl&}@@GlakR^Lmuh%C5IUBKLSwhz^ zS>j30O{+N`*Xt=PxvbXl=>N(*L z;V!lvbvrLYq?X2%FTqQh{1%+GxDQgF(#{A~@@I#k_qjHzw#A>vA7(3~ z2xIFmB0e;;aEn}9z=Buo5bf`mkk8H}7l zquyjpwl38H_|^Ovf~{ldQLav?K7vb7@o&@%x>e>@W|?i)Bl7yg#m2tL92_~d9P<%L z{^h-)kJwr_SKhkuNU-uXE|OntteaRjk<@aqM@9Lg-O&46#Z6x9JmN%KK1<1dp0Ksw z5$b5v6xymWnMW+8mSbHOKZAC5d?bsdRo66F2;}Xp_G{CPSkKMV2l@D^MU-2b)DU+w+tVuP;zb+zo22>2a zvvw{$|By*#e-@i(g<(P3V2NR*xTF6~=F*$&GnIdDWyRDpYsYLd*e9Vr%UHE`d=D;v zAF(2r`zB-6Vta@Aspdt0LR|i(zoDPjj$KYK{j>1koR$YK|1q07tOr9C65{gbfw2cy z9kXfM0iqp{g$HNjJiyWG1s|tovOaDM>pa!k>cEf6p9O|KT)Rs2m9GsP9SiEkZVhK- zK|*DKEEvYvwThv4x3)+1ciGvFqAtj?YQ%D!1=9YxMIY5O!V3+_Bk+JP!AqHZ4$iSU zA(DD+)ezOlzlJdM1zT?LPn*WwU3v_+pAVrTTzh2{hLQ}7Vp{A5^#qLAOg8gU>Ah17_a^L!pS*aAm^f(j3DcDtJqrH`~_>fys?E5`O#kPe^ ze8`cqU+p>a2{5F7qsl%*A9Br(qR=s=8Zadb1DYxWurW|*>n9Tfv{k^6`iv_34E@P= z6a~k6tgZ+dkYyCb0-5PWcCRit`b|br#8S)+|F|%3tG}|((0goW2Bf1t%glfVpdN-0 zI4#^0yWog7nHeCZHb8rr{M^S2RrZU*xfKn<)J;wGrSmLHpe^OS5vRhL8Fp?ZD8o&u{MwbCQ<;%vrRPUwW*q4(Ez#C7_hgTH1!slHO3xB2 zA}LoW5sl5=GMX^;1KXM+l@D2Jibu#n+CS~Mtr#ec4NKF1U zfvG3ia)5osq}Fs64xEai;Xu2w)PtvNEe`Nh>p0-YEdVAw|l<$WyGa#awI%AWgsgQ0YEm|XRpmc#QGdZNaf7#R-@lw z=t@5ACzTg>FZ8f0J@vSRdJg{J&RU>&75p&{&s>$BON8FuKo3`um;fD|Pk{%&gukb( zHt|utUO3bE4)~4Dj?I2Z&xzwlCp&K6>lA(_&Ydi0<+|aJFTqQhd>+nH-5{_pav+5u zl2ZOPhpDI8jznT#IL4-sC0Rxy9o1vx*qX}*=M}moVK@>gu$}}%cJRx4n|J z#$i1-4tkwImm{dS+{j#O@YJVJ!&k_k8OGjfbw=nj0F#Yc9W4%}p|?6*>A7jGjthD{ zrPc94yNd>7-p+=~ZKRb-Q*=j$P-BCxdBa1it5VC{K77ZGr=(s5Mir6MQtm#u7 z(m|6WL+GzH^=I3i22`KklhdrV0w2XcJ8?_)F zmMrg)A^I&Ar01r!AY{Laq^GnX68s=x3nI&^83&LDycdPd1}(C6bdzEo?eryhDU&DQ z97%0h{EH08ztpc9d#=^}5Nvx{SU*`tcTeN@KTJKBwvR2GrOj|G1H(sgdyx!BcWYA~ zl0YAuduyO->b15#t5}T1z1v~wpT!?Hg?yO4&}}O)#2D&)@$>#0T%#u2aBMVIw<)=Of>WHK}A_)c4v8B$|G&x~QT7^Iv0` z`W-;aMlA-pPk)##h6EphGSUg{Ks@**d8E^4^?D&QaObeij&ynenK8BQHddVG31@{q z+Ht8gUvzqL5$q~wl|DinUeRYzS6D8~{jCeW1TSUsXK>z3ZiJPJasCaVJ!0zFwtEw@ zZy)1a$fX?+yIC&P5j|jRN&G2v&2lr#A(=1g-h^t3LsrCcVhGqb^j%l0)e(N2+1|Q* z4NK+Y0ECU|krPt+JIs3IJ<@Zf9wnt7S=Q?*7M7>i3$c&+uvzTy=h%nUmWpCcG32uM z+K<~4gJQ|2^H6upak2fwB9Oyf-HMV-A@j* z2fbysG#qvf6}kP3eiA%HiG2qbuydKb7p`(@dFdUIKnFeUa+sm4V17Y99kx5 zk#5#9`DHS_3bUL~!`d$t0Ppq|i$6QTWX%grsyXy^5&1K~&?{W4s5|R?$e^@;OtNW* zX`3%f&rP$yW6&_i6c<005r-ntusz>aDfwTC=a0WY1)2%T90<%+bE= zV=8t@kK?`Z5ZG7Oc4yd+rCP#&JSKk*7>V+(Syc>E}Yh!BfjUDAId{9|NIafK}>o^Ptmam>^1ylQgT1CeG8+g$m zmHQLE1TSUst8ix6S5q#LKogli8%#a2`&7@B?aLHw$YS~LCDZ2zjrPlC$FtY?m=`s` z+k6RL%H#uZj-}W~e>5A0(6eLcudUhnjqD31**sb1H;$8Ocd$Y|*c+DlY!42cRuB5~ zid_Di%x~1E+9!ZEM~1)yQ(vxKmob$GcR=iBeYtxW50Z!5;scA!36pghkrOF7AjpxX zl)sH+=+Ub($gD83k)kOMSP;pE{Og8sQ(x~swViCo zw278MmVTkpDC!Gc4;b|e$%qdeU{P7_rTnf^1c>sZ-&SHiZr4iLN9ex6?A9(cTzjmiS)g1c?aru|^h8|t(+hR1hqCEITEe~G)Yj^6f9xTU`5SKp>41K)T z(og3>7E6B@=KbL20+KL))EjzqE$Xj4>fatkeI1|ha&O;8 zP#-Ds1Jn;=)wOX$4{gn^6vbelG@d6*f9BhK)YJZ~*IAuyc#V}pqaNon;33+%ySad! z%j6?)<*1iaEEo3?dG00t9z#E^?aSw%@k(Oe^-cnH1M}psV`C-g}x-uAN!^rTsw1-fj_C#&oXoIEgbvDp>w;@qd0|y zUg*P9ifrqf%v@w8e=OA!1L86HbHMs?b=V%~r9Iy>Vm|dWLzdI@x#Y6E0p#BE8qsBc+DM8@|(r4eJqFh=@}8Tx$fPAiNMi7kUH zvvl7WFv2Z#2Yo~7sW4IJyRk?a=pZ;2F3ke7t{ zqu$i3YxkH)wRy7mw_fj~-fiM^u43CcCVNb<5`NlGt&I0Tlt0>yy}9blT)Y0JX!B+% z<6p8=Z}0tzpl0F(~+O0#J?p#zUQn`Uf>tHchh*(+7!&p=P8chJ{0DUdP9${-8n8D z^;xX?n*-EuC98gl^3+D~?u+tAyP+4?j#*1bdzLc(wH)n}9)%UwxN%eHGTzv#mr^W& zUY6#Mds7eY=$;XNoY~&Gd<_G^Q{cSWXdm=5+`+?owTHPg?pf)%X*=Wg^?KtR>->xp<2A#qgqSk1{I)X-B~tEfGjwk{Aon^|Tkz8YA7 z=Fe%`ZXb3#Ywn!WLaG&cB+o6ZtdPgNoW3PH3$DFG2=v)B|*h7p6n+0s5%) z+_WB`=k$7Ex5c&ajrW7j3wph<2WSHHHf!@-A7cY;4m{Xp7rdTL&*}C%9#j>Itl&LF z`yik25IsbFE@0;}`D?gF>kTCb^tqy|RZMTqzlX`thivN{4hBv(wTCH-1@@{CPt5iT z%&;wGfyGiDNEUmMt5uJR7dlv!RYpDn`2--}I$fU=hH_EwFfG{%kPxJzEP5 zzkKpO7+EZ^UkKTtGZlDMp~P$<3rtBn*j|ab60KD>cWeGEGxT&>nx);t|gPpw0Vy0i+Yr~xEbc%#u9x>Wnv z*GA=T-&72J*R?TqB%fW2Mfk3>^e|mR>g{$1HwZog=XQJjr0bj?(3#@+vaw)L+tj!U z2Oh%Kxt9yrxlBF{*QAtlG9kf$9tjGH*84(A)&Y)Xt4&Yc{ zJOl^Sy~iXD_$gNKAIS5s0}TDpcAgvmu1R%3mU(X50Q;?@4Y$>Rksa%}yL_?R$;f{^ z1on4v0Xvt;lW>ivI6!_hABIro8+x3p)v7Yj&5rCAt${2fyUU0I4)=oCJK}xQM|KA* z79rrvi9S!;CG7L&x7Rw c9>TI2;{tXrlaIlb)e%vw%cXxjCN~cJA4c4k+yDRo diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-api-ms-win-core-localization-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-api-ms-win-core-localization-l1-2-0.a deleted file mode 100644 index 2a07b48d9bd99dbcc8698b60b462a47ed211c11c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3602 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-d3d11.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-d3d11.a deleted file mode 100644 index ddf0ff9ba275170a866ac769cb23cda6217ac311..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5264 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-deviceaccess.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-deviceaccess.a deleted file mode 100644 index 6a6ca8944cfaa08db696ff243183a9d1c3b33e42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2710 zcmcgu&2G~`5T3*>g{TOSdf)^`0>l9sCrvg%LMSL4;Fb&LjcaeP)ijA>(*}t{Pd(=a zc$YjGWoFmwtXn%N2QyN3$FpB|cE6pUzWCrR{P1Jrot>9vr^%Yk?e$u=?aC!{wCxt_ zrGGGL0KgtVZHUurfP*FdI3IBSEf$NI4@Dvtd@u_Hzlf&ZJmP3v_84bvK8a4~m)da( zW*4zHpL3k26LBskJP_xRFFfBDam+oAJDdsNq40u=T)hK?;y8B*L3)>zwbW}5ZfyZ=gEEeYLNK?U3 zVN|!YJBmVz>ZfUR&HU0w7?$0s+ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-dhcpcsvc.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-dhcpcsvc.a deleted file mode 100644 index 4319f0ae9130b3775ca8ade1f97ee50c2568f02a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4262 zcmeHKOK;Oa5T4jAg{Tz>Rlw0m<${oL+SExUgo@GwNIgVI+&~*Qc8F=3xUu_C52zA| z$E`o&8itmkjh6YH^a2M3`O1PuFr&)fHU%`LF0=UUXvtUNvVZ_J9jRDP;={k{94B<2D z&^$G_!tfjz923r`4=ziZF_;^dgL6rx}hR3yex^OKziCoYG5$ z7;Yb8fnHh|{Yd;qYmg8|1BUGsBeYCx?p}b+wfb^~%{E$}yp8<%*KA(q+rVa#c7yx6 z7c+yro5yB}S9=AQM29*r$ApvP@qQi^I#5e-u5M;V7Id(22Tx{cWM) z3>&dD9r6-lfLm9@0NIypnu?lF#GW%z!NHQ>)Kgpnyy2~AH28&ssTGbXh7v_mXrU~N za5}Fp)T|XHlIHmFKcXY4Xy-)|Wt2xa|2k$gbp}`y)&jlId=hmVX@K>Tup)vWpXf*hYgY2Crz2J=9k*0MW<5h%nzcMNJ*D~Dyg2z6O`>mJ{ z)Lka`-zn?j^cBRGdTxI^>#r>0{{I`UHw;FuKUf$X# zx#3T(uA~uQO%?(6S~ddyXaA)n0&b&cFB$*eu% z*v7Sn&Kv&efQM1T9k{&^81s7p%bJn8`pdw7-S;Ek?fS>KISoEGmE!AN?)DFY39!<8 z;jkB3`-zjLd8cICj^mi7Q>iB2@xIm4a1%V+8j7n@vVWUNyG73{M z!afuQM&a)0N8(?!1_@z`(8M-RzEU)It`N;z)il?rXm-&0v3d|ceA2d;q_j_CG61W)tGQ;PpuZAxrm5)pMDBTl6#}f{n|k6Uz7@$E;S3X=!7!j(~1Q`U+xXjSv>26%tKa5fnyPVT2#zyyShkBe_Go!=Xm< zV;x5%#Cxep(wxwI!#3*4jb0ChSgahRJt8$zS(V^joE@pV&PveM z*1fC}1lhR6b*d5^XX6qUtl{~t$^tze)cg-`^C3iW6txFO?2i4!D*BBeqcb3q&s+Bo%wxOJ1rHl$ooPY7;( z7#^Tc)-p5eb=Hkdi$oYHyOY_^p51Tf$4_4Q@!|A!jJ-63u*|y6|=4jik zHZHJ?8UU~bQ1bw+OMsmN`Ux=*;$0%+L=0srV=dbS}s@Q6}uIG8S?RAE zc;SqbY@! zt9HNmlI$P(AR$a0KH|8sTxw7pPyZs0yWQSe9DB(9Bib+)0rOtiR5ENZj$7K@9_(^(Bdkbi!47Zq{2dv#Dx~E*|5RSr;0+V$5d3LNU z9A5>d>5%^+1DIWv0mLtHx)QUJs6DUc1cP;S(@a?j@PS7))ZrH@8!GV|OC!pn#3fOw zbW=Czx-X3^+To-Bz)Pe?T9!prZ=U1&D2ryAY;bSc4X}C}RgOHA$=RyP=hd6;sEy8! z48O3#6}mwWF=;t2&muZUA2Hv`arph9fgc5FN)Ug{TM)6>u~XTo5vLlsHC0C{ht0w_K1w95!z4Bu?EViVY1H)C-7X ze+oaLzl<`o>$TUl-4=YfS-KQ^s}}dm9JKm<@s?ShAhDAF#u4<}E^o!IkSU zr^BLfmwss+JAZx{dy56beij9vf{6L6amYM||2znQO#;vV!>@*&W#A>ji+8Wyy!7^x z`SNoc7z+;;tYV-Pvg@!m_}(~7%y~v}9k;e+IgVo(PUmUHt^WL60aV@NBS^0F?Zwm0vH?-E~FPe=t%5!begy>)%svbTvx^kw^fhpN!%7X z+Z8xDE_+gf=|`wD0CN;ZK|1jB6kx24ynPu+<0@bDdi~5C1XHdHYqh#`Nwl5-FT?M9TlUJaB&aTiu@k^ZMrrslB&83XsV5x2DDJKEm^Hwws_<_z^ z3c;FEh%zX)&}@-L7uA8D)m1WRlW+Sw9v~ImstlrAG(L0 z<(^hm<#CwwMe_>H(OoMvEA)wvX?B%rNx5=>$|J86km{Q=MlPn_5T81mnKyJ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-esent.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-esent.a deleted file mode 100644 index df960f5e662977e5ee9493d8e859298f7f91b71e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89476 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-kernel32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-kernel32.a deleted file mode 100644 index 4818f293140d9407f1edfe012240393e10e853e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 427758 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 p+@z16nWqBOb&BL6Ob54ZB^ptF#{{s*8b)x_P diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mfreadwrite.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mfreadwrite.a deleted file mode 100644 index 3b64b76d1c8c9d8bc57ca5e83274bd6acf7cebcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6258 zcmeHL%WD%s82_?KwbuGTDtHiCr9KW4lQ!ArAf>cWidYDhB6yi@yBo7KFE-nU;-QH2 zP(*t0ARat=5b;lt9{sCYzi(zAv)$b!RT2p}urrfyemjqEe!uxJ{76 zjUC%^Or|sJpl$-IqNzV4!1Ce(4(OQAnp^gUxq<_k_M+XaudX}=#;kgabwVVyEt`g= zi!QtLA|sP}n}3D#b8wpVE}cn0zb~t?`JB9&w5mvZ{F`E)2tGZ9(E9<(sPF7L*``m# zBnIYlIZe}4Rnr6`RdsF5*guCP1ei<#T;a75$U5e(!|TbJ3gxw|p*wmqgtyE=`6#>I zZg+vf9^owNaI)ZGN3oK@dC6%GavrYe*$FqEjGOUrSFth?gY(+Ga(R)s$#*hq)M}8e zST)maJU#(@Ot=Bl#+wgpvG|;TZBjIJv&$J{rNMbSe?U z{X;BBr^rLmL}O4Qi~{SJ_xB7UK3C7c=b2K;KT$nCYv_Nmn#{lEGoIWcO<+NMzTt9% z_BW2tE<997IA0$jfct}Radxs{sDU)kN$F|spG&;f3&X2CJ|G+uXA4xE>J}bSJaLYN zJWY!nfC{*Gg$l^OC8;w;#be8ecH+ z0@ehR1#77vm%mbMrYWSOQ3YgwQZI-R5rcbF5}3=o!i{##@Ue8Gx;)A^&jUq7`+(T1yIx<_?r!TsIX7wY(g&giC&mdh9_2C0tM z(zu<}@h%=0QOAdPoUe|1xW2QhBb~?(`OZGvDtRE}AgN@ACy|w(l1H?C5UR-asET4#6(5l)-BeMN*fdC0 zY)j*IQpH|8E~1Kqc$}|_JGj$lRYejvg8vwY`|dUAY9Ua^6W2n80$(wYS4ZH1P8yL= HeN@VCV7gD| diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mmdevapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mmdevapi.a deleted file mode 100644 index 3af3528b3fa1b39da5d7d4ddf9dbbf3ff4fe2c61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2686 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mscoree.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mscoree.a deleted file mode 100644 index b220187cd787bcc6481f4ff0cad6cc469d6e2a26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2638 zcmcguO>fgc5S`R5g{TM)J(Qb~;D(G7B~FA8iquLVB&1xpAvSKkA*N1Z#fJ8TdO{pH z^w)6iFQd%N?mC-h(-w&^N_Ho+&)(U$^O46d9N=_JlmfyUErB%+qc(nI=c zJ5I^;q=@re;5^CXSDA@%aWtJtDPn;Sk0pqajFW%=c6cYt_#iIh*RniFi(F37c@QEU z=fb&^$Z=i<(~7uNj5WeAijb_R-K-c(zTZL80Q?%j1J<@6DCKF%`s%@l{vb%u$<+{E z=|TS@I4p`AU~opblwSCxWw3Wq*+jo==|O04ZDS|g&T3r8;C4{ib>Pgpne{yfNtQt{ zOf#t$eqRE7stw~~W6*Y+FM7RqWem#)Du zHxvP0jo4Wh+Jl5J8}Jdw_2m=A@#rt&xI-m@Wl%S993l4)$zd!6_PwylF|09;n`XOR z@&^6d({Vv}>xyH8w`U7i<%PX&bix_^>P$E50gaU59`kdbwcAAZh-)3fQ8-dySdP9- zj+KSuYk_Gx;kZ@k^Y}#jYgE=cSxru!(M(DJua!@Ti6j_=U>4s{DHMs0c|^ zGTqb$INoM*T`(D6)@58*BQ0oHG;&e0AoIh)t{s(#ZgwQ#e~ z*1j;uE%bvfVoEoz$|E{Q4>8}|xXAdmhsqm`F*ZE$#pP4_b$&j#*_yLebCl7(D)R23 zrXp8GDLt>_)#|~twYS_sz~+(r1?VVe#%Kq8O7)9*FEAEnVIep8ymb4@Bjq9fn?j4q bjYp`FP|hn$MI~E);^;i}HUC}Km0f=T&hoS? diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mswsock.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-mswsock.a deleted file mode 100644 index f3dba4ff9bdac2ec0ead39b7c8c9b9ccad1e74ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4186 zcmdT{OK;Oa5S~0rA!-GP9?H!~<%WV?TE_>3iYgugAu6>94yYR^c8RI;Q0zXCs;cUt z;=rNe$8hd1qs;7j?RB$hQi&9?l6N<=pS`=Y-#4>)@YL-$ThA(wjeN0|E!(n9$FU8= z?IZk4SEtgHePoxa(g|7Z71}1{gAbzy{OyVW-h~*+di#)&x zJ5f7`Uj`vg!h&{>q_<6JG_u?1(>$o1*^ZHSO(+){+f=PdR-*%dfxZ0H`FwFCo zY1%fPhP}L)dfq#^fzAgo3IMlxZwjihzaR7d@XCO-dew7dcQ}NPtiak?wGl-lU~ojZ zfIhgeB(X>dDC4@+vI3^WElWG$W`^Tx5;udLISo#Z%l6&+$MyHCZ>wGyLUoG{Pn6&1 z0AC7Q?zS`}cGX|>`O<|s2&Vd~I1HossWc3u_^8Y=wEKKX{K)+?g+rynPz?7CF`!f+ z?+g~2g9>4au!;5LbjW$!8lT5CM?@6Es8=M9ZS?&eS}>IVHIEnhGO(JX)!@436JF5S z>Ub>iYOCNdC?p>h(@-O)`D{3SWYaY-92TOKSOR5C;%xh5<;TLu$l^rImqsYXv$i*}=A2?Yi z_D-hx=8y0gDJ|=CMA76Cj(6DgmvW7A*WVl>D za1ayfajA}IA1jF2)#GfrE{Z3w6O6Rsj?c~?(y!Cg%$D_v`RvcxMe_;9-NK$=tY9a- zm+(}{y)tPpQwXc3yYi#;l& zbzxcHzeQDq1MK83Hk!N6q*TOn2Ismp7T0T*diN1r|BhQ7#r1k}{?uG2*S{+BUdHuU zj~n3np&plVeIECBRjwC6dtLpnIe%Y}Tj6}_N*pP|53IGj7TnhlP3V6{rU7#-4cK-~ zx&I3d93U@7X<$R)&UI>FQDoW4(<2 XS**X8D1n+H(6vucJbiysp}q14Bg>%D diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-ole32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-ole32.a deleted file mode 100644 index 3685c4d1d53790a969f79d256ae79cd47412bfd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106722 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 VHomaAFHakv;&qb5cQN+={{w{gUDyBs diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-propsys.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-propsys.a deleted file mode 100644 index f6ca5724c9dc702484e4aa8b24525ac43e006e0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17046 zcmeHO&1)M+6n~cNd^q35v}tIHnmC3+P$XNH6$tsT(=;h55s{O$5V~GRt4N6~sjGEj zml8}VCX`Te$f<`?N{>DC)N>9!^pEMWlu}C4_hxo>XT7u9mFPNb(87FZ-qX&^+xL6# z&CKq5XLR#U{p|RujQ7gV=8O4au2h=NWO9ro=b21?W`;Lpmc{{K3SjI3z^=0Zdp3F6 z|1$ukL%;Ae@jU>gw|?X4$nOA@j{d<@=3f9x$N%DK>L0uEz!4luo_iX=W0D zQW5*4bh^gVnI-_Gb2yH3o0_(uX*art+11L1WtiGRyJ~0;8!f%l(6Di>RMd(Et=U+n zWVd5cZ9nYlosNcOt7$winp($fce?9cP1o?xD+XwFL$Ch-cZXYz*7e0Qc4nB?`c1vL zYAm+t=S|&g=q(F0t+CS4!nka1)nAn)r}4uZS1#Ipc-y2gEVljK+y4pU^3d%LRDTsD z4}Zln8?C#y8dm+HQPWqOLKq=T3i5?!vwcU^FYkhrJ^z#B;&1n~%(vT3LvN|>E=XSf z%Hnk;Gqp>c3+P`wMufKe_d)cjl~8boJp-0hk~|nwc-FMkX&8WKew`N$LI!G+k7rpEEY4F;w+kB zb}fxpH+P`HMO!%naDdguAZr4Vs0S*3z_BsryncqAE(G9H?}_p;^4)uL#3oy8}}ju+Dus9E*Z)_vZ>^vfe@ zn&dVhfJv7lfaFUubuZbH@G<)^!I*`1Q%R@wvvM0(TKXDTv~i|7x~eoJ(uAO)6H$9~ScJ@H( z7hFD%KPVy3hMLd85zXT~@_eJ_D~fR)!^&lwN3`LLpT9gozn(sI+uYir(8!x>9F2i% z;cl#PE#?|a_p)_Y^2aocwBMV6EK}w?z}9#sJ?a7f#eIkC7eot_hzBQZ?xYEPM0|t* z)H}z?B-ZF6{PUKN*l(Vt;76?Z!+O;MB9tqpl@WOxhLU1Ll;q{8iKFB(3M33AOSa}v zv7IQnC-vJ4C6=1chmuEXJ_jX-aen=x4^DWB0MFxKfFjR+F>t`u z2DU3e)-V_A477# z+P+`jgHrDNCENN(iHjsxr<8zie@)F5H%ewAqGT8sF_;9QWRSRMpBE*zc}zAkqQpfW zWQbWS;NXzr#=vw$3=|5(6*QtC2m^z7ioIS8_)lxFza+;>$C=fTW2MV>3l%B&0do%? z{1Q+gL%|d`M)DCcGVRC66I7V6wL_IF71OQlTsyR+ex)^mZ+C1xBH|(E-%t7)btDWA zwQbY_4t$$Ap z3}XFvZNUJ&@s#8hLf_VZzSp~7amPKmsHe?C>)%uJ2eJM;WzBbA-%GUi_i6pzS^KQN zM2g$`M?OpTuZ16DI1m>5FG(@;cE z7u;FyhYoF*#HJ@*vXj9GS7{YfEME&j)jXEe%eLs+Fgk-o;k@imK z?G`Fh@EzvDMyO`*MTe3jZe&C~c`lTOr*8N(IY9jTNMtMfMMm1ujlj=h61}Q8fij`X z-BG>D8(5x#pRg3@2$X;qBEf8N<0R_obl&elhO3Q9$Ab*A;!Xj5j%B}xAblP7y013W zv*v&Zpv8@XsOQhaIEvZ0Aa5~995upFAgw?>Up&74ag^ed%s#&NjD1Ho>PhtQ&5WMN d805_iP$7eV&70`>DaxA}3RFb;jyWzo{0GD#XmS7m diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-rpcrt4.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-rpcrt4.a deleted file mode 100644 index 8c88d3317463c45f2711b27aac6372c84afc4f7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226928 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-urlmon.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-urlmon.a deleted file mode 100644 index d4590326b3cdc55bbabf14ea8b3027bba5bca939..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5074 zcmeHL&2H2%5T4y^DJ(7Y&_l%m1qp6wNxE%zkr1j>3Ai9Cm5KubH)Y*!*zAvzl=gs7 zPlyXrk30wu&`012IC0|CC!oyO`Ei=0KN4vL)N1V6@#okc&*z!+)&tvn(|uUKr>BcK zZ(62hwA+TR;~y5a*7fFnD;%&|2LOC3-vDY~0LH(|r~U)g_)Pwk&(uD^)IMX2jIH?G z^Vt#)xW^WU9nQ9#fjx2}woLTlcP&$09I5*{UhUIDl+q%mj&d^-?w zaizo3YNKNZb}>ZsEWpxUW6k%Efx!;p9D3pHxd?k1g&M9)Eel{oxcNv=xQSw1E5c2n zFr9;o`lD8QS)=2+0F8CWS|$&b6I@Z(mio$+G}Z9hc| zhT3`i@vK+|R@1Z^T-QwK7j(9HejMS|R>8%*Q2Qg9aFKktCBN5zYGSx1>@z8(lX!Pm zT(t_CpE&qQkJGoo&f`dbtMDHzGTy+s5gmRbA}TF9CE*iAVroy6evGq@Qh!o=USVVWpUF=^Cy_p&vj1xu!yuFoM zj%LU!JIO5{-`;dab2!;sWnM^dsc6tfOpuR@Sw#C-K+K1HoE5EW28AafCeq=K_YUsR zuif25mq=Pc4naOf^Gd(Ff|B%G>7z70^j0MT)6`lvet>F65iKC}abYo<0Y}Mbkwk(> zBdm~OhS)EizFd)9A!c}}k<7S(5*1>+)Wjwdn$KA0XGce6P9?ER#1g@R*$Won!H9EI z*m5Q;s7imxv_O zEU;RwOh)t`1L1KQ(ep4%pyn(yqSwm2${nA{h`RZ>Of2y7adEh(FNxD;M3AsRWDkF9 d7IclS5iCg-bW0-WAD!Vr>3lI=QkJcL#6-# diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-webservices.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-webservices.a deleted file mode 100644 index ce2f0d2c9c447a74a20efebab89f3f00e77ea9d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143288 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-windowscodecs.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-windowscodecs.a deleted file mode 100644 index bfb543e5d1d4cd397784747ba36f4e0e42a41ab9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9514 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 X)Z+_$M!n6LgEYSR{E#fu5$69NezHMf diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-xaudio2_8.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-xaudio2_8.a deleted file mode 100644 index 0c21219c90159c8c8ac25e25aa01e1c73d0944fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6672 zcmeI0-HO{r6vvO{-6q|pX_A_5X>U~6_A0otV`~*CVatZlUKEznmc1w$%aJx#R{p@& zCQB$~2_b}#i_pjERh}siko27S(2Q2{S{smyAp@Ej9sR8%o%x-avA+4ipWYkX+W6ki zmR7grwp_>ay0-1`OJ;4`9Z#Iwc5ed!E(2Iw0BdgmF5VKyCrto4E<575dL4j{#z*4V zYyfOF7~5s+_gOfdvAr+}r)+l|gzQl?@+T2PTLwiaJaE-)c`)@y>)0N;c>$I^D7(nddY05oaRA!nzy}9j%F95Pos_e{NFUU`D0*((XT0OPq&xQPzS0h&+9xspYmQAz6X59MmZMF3LGSZqtT(TaKbW? zUQ!P5=!zVm_)<)DG3OKU%(<-KV#PPLl$QW^c`Ygn{>4spYgOgBG;^?Yc|t8*8E&?X zT)MymaDqcgTZp1uqB-R{Uf-8YQ)7cua%I4o+?egiLs2==Gk!Xg(@1sDS>NyrT9;WF zJk-R+x-^&QJ$6v@uvq7+=b|~~C#g|3eB;;ezNNEQue43~)=%w5h%oXesQVauf?7c+ z{Z6uKtit57o?kz}j33d6@7pcCOAek1-k;;^F58K7pFygxAfp2d4o ztjqEKcd;(z{R@1*^YXq1YQJpkt?@pq%>5=lKNZcrBMiK@;03k?Z!O`^|D#w&2HYr@ z0gkzQ5*hFmsaTW&e;VX0GXo9`zh`B@q*#~BfXBtUGy@tqvggf!ddh?`{98)xA+?3MlN*Ry}S6#K4wGq>CM3wc^B^&Vu`B-yzSb$G8;p54EeTx-%jX`#k~ zf3P;bMV9`4SzS8lY;ekD!-qW%A5oDM>G#t#8{TJ+lVL)BhhF6@D6_{gvS7g%`RdsJ E4>dF{1poj5 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-xinput1_4.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel-xinput1_4.a deleted file mode 100644 index abf088d472b1a8554f25dbe7193dd8e1b27148e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7586 zcmeHM-)q}O9RFHQx;E>&bq#9?V`z{;ABHEVw&IR4vSz=+U&gcCC^$N+t^C# zmQq3)p^QC*vBy2`Pw3O0`j@Tye($8alXQ-qfmKXj!Tclarp>< zj#aeLarJL;tUUu*d&bx{V|PZuaKv_lC>XNsz8|prVb2?c42|Q4%iJ34hAlc`I~IQb z{>U2)7?!sV-%;~ zm@v{PG2aCbM$xc;FMTh>sRoJN_6A-n?1oVoj8a`AJk=(zxaCFY+6Ozmc7M3u!|-mfUphhdM>fa_X4jKRr(3kY{_|M(nI4q&|m@HVe4LnR8v5wB0qY}jp9d@u4QLwL&;>^`rwMx!Y(I3ip~H(akJ z*z;If!g1+o3!DU3Pwa%dI2pH@;80kwYQQD!Nx8T4{qCI~ko6V6+eKrg9irn!`u7FE z&!x79tV$)_XVgVG(+`1le_4|-ny<=}Fq)s1IEFlsPO&e!kCw5iT$+gC{vj5WOPA6& ziO;AHN`$eXiTOMu3}P?4tMSX(NALHk&v2Ffd!C(crkQ#mu0mYhrVP z*Gmm2)uFd1b;2d}Y4K@+Ws87MX3s@7(6)eTm zSYx?WCBKG%?nAmu8Df@mZ&44@qE>?h!#$AF2A?ZEc`+g}LI9ey(8d+4Q6kL?%XNM( zG7FwyMeJBk-^vg}+IDlrKNhk6DNeK%R;*uNI@T`54i2wNA3?kluY2JW_y|6Tdd^H{GMh~{v6xD+1DTnf`7%Ez-#6zZd*YJSecZY{e%|O$ z)w!x!H7kuq)i5f&OV16%oT~*lERF-f5rE=%fYA>CV?V?-F%3Z1(Ffw1Yy!}A{H3_2 zzX42tV{C!3J3Xh{V@=0*x@=+HcG#xdwmL4u#;u0Q%o_9DCAxxkEbR5op4I6vEZd&* z#PQhHn&-K`!z_k3uQ|Y4j%EM-(P5$MSiWAE*J{LY4d&-GhZ+K<<5x4m+M z&(7Sn4$Fp3MUhRK)(Y+^+o%d389Dy`a7VY$Vovv3JHv*CLDj4YAho>6cGBRHaihBt zw}b7jT1$R;T{1d}$<<25G)-ditYWhL>Hv}%z$hSRd2JNRzO&`?dU9q!bFpk&zLgB& zJ@e4qE-&?ZDKL0WIF|;TsY&b@Rz`4LdYXrd#LdZe!c8RO>Jm4Bm8lq2amm+fzOt)1r38UGml!Vc2G{P~o`~DQzk=th! zyGn&b47Uw2pj0613?`a`5@Cw)2=n~TFV5pub{^Lo;)FJg#c|1F6K#Kt77Qc*n#Z$z z8JJDcYH(fC0Wav;#_?F<^-{wrUFiL?PB>YQmh@yxKshPA#O-sK*Rrs?#eECHF>$8A zvftWhuZkAVuRcrDCU-#r+`2*mWM8srnDmoGta(5a94y&QC8-kNA04;qMh8IMysqJ7LG=1n}#l#5!7sVB#UH2__5H(s%)XHJ?mNDGhoQ(Cy0o2L!C=7Ni;QF5y2y-ymDKRr<8T z_fKpPD-tUNpxK31&R~raodKfdF8?jEB7DY*ieQFXArcl1$L18}a__@cQ_H5BdiXwI zzY?nXh{j1%jUOjiPrh=BWd50-T_lp{CKtTz9 zOets*3Gt^2Dn%89W9((6Oa-C{eT?)v)KP>Nm`9WneM=VJB)2#&^c%C8SYJ2wx0d~A zD~L!G>vs}u6+;drd{W_`sP?oHP7f&IcF;ma5k6tAlrYQ+5qB{Zn!Bf{X46c4@C{`@ z)|ye8*-5NbNM(x(81}So&IKw7JxKpM{+A58QI^Q2oe-Y8ekz&tvma>*5{Lj!eL+_G Y*-4}|aN6P&|4pP7{PPeihuk8q-wA2xj{pDw diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel.a deleted file mode 100644 index 83a2d27f7..000000000 --- a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp_downlevel.a +++ /dev/null @@ -1,38 +0,0 @@ -INPUT( -libwinapi_windowsapp_downlevel-dhcpcsvc.a -libwinapi_windowsapp_downlevel-urlmon.a -libwinapi_windowsapp_downlevel-dhcpcsvc6.a -libwinapi_windowsapp_downlevel-mscoree.a -libwinapi_windowsapp_downlevel-ole32.a -libwinapi_windowsapp_downlevel-esent.a -libwinapi_windowsapp_downlevel-windows.networking.a -libwinapi_windowsapp_downlevel-oleaut32.a -libwinapi_windowsapp_downlevel-dxgi.a -libwinapi_windowsapp_downlevel-xmllite.a -libwinapi_windowsapp_downlevel-xinput1_4.a -libwinapi_windowsapp_downlevel-deviceaccess.a -libwinapi_windowsapp_downlevel-d3d11.a -libwinapi_windowsapp_downlevel-dwrite.a -libwinapi_windowsapp_downlevel-propsys.a -libwinapi_windowsapp_downlevel-kernel32.a -libwinapi_windowsapp_downlevel-mf.a -libwinapi_windowsapp_downlevel-api-ms-win-core-winrt-l1-1-0.a -libwinapi_windowsapp_downlevel-d3dcompiler_47.a -libwinapi_windowsapp_downlevel-windowscodecs.a -libwinapi_windowsapp_downlevel-mfplat.a -libwinapi_windowsapp_downlevel-api-ms-win-core-localization-l1-2-0.a -libwinapi_windowsapp_downlevel-d2d1.a -libwinapi_windowsapp_downlevel-msajapi.a -libwinapi_windowsapp_downlevel-uiautomationcore.a -libwinapi_windowsapp_downlevel-mfreadwrite.a -libwinapi_windowsapp_downlevel-webservices.a -libwinapi_windowsapp_downlevel-ws2_32.a -libwinapi_windowsapp_downlevel-advapi32.a -libwinapi_windowsapp_downlevel-rpcrt4.a -libwinapi_windowsapp_downlevel-windows.data.pdf.a -libwinapi_windowsapp_downlevel-xaudio2_8.a -libwinapi_windowsapp_downlevel-mmdevapi.a -libwinapi_windowsapp_downlevel-api-ms-win-core-winrt-robuffer-l1-1-0.a -libwinapi_windowsapp_downlevel-mswsock.a -libwinapi_windowsapp_downlevel-cabinet.a -) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowscodecs.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowscodecs.a deleted file mode 100644 index bf44edd12db72e1deb6c8048f3bfe69651d25336..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105016 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winfax.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winfax.a deleted file mode 100644 index 1ad799c8fec49a333a396a51f58b673f237a8f61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46364 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 BNI3ui diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winhttp.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winhttp.a deleted file mode 100644 index afea448f23c77e97c9a09b6aee239a20baa076af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53986 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 L2L2p+0QCPKIEFMi diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wininet.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wininet.a deleted file mode 100644 index 360fbca430734dee489591c5054c98883da87245..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260434 zcmeHw3!G#}S#M2GfDj%A2npdKlMo`0xXkRMdp2Us>^!oAo9wW&%SOy)w`cn7PG@_% zJKa6IGYfiFbjZES3u zvef(7*aUD`$kFo%sl0@c`EL`l?|wq|f1J^Q`v^fg^j=2S!{10heg~r$-9-pe{Z2-W z+X+EBek-FJPZNT)dNZSLn-HY_3Zs)tgdlAkWb~3bLXci|6{A}x2|;?*3mDygfDokD zEiiihb%Y?jVIQM6?j;22Ei;VX3eQ1$+YOBFIZ6o9JAsdM?{-GNcmW|u_dS%+uR?hs zz30)4euEH#^qc?0=(oR02-5FMGAAf++$KOr}(x2YT=u`I- zg7oS4F#7EK2toSXyBU4{{e&QW@w1G+{24-!zVb;%U;Rr$kiG_dq;CKZ>6>3*^e>PX zq;FRkedim5Abl6U8EB;PWkwJA7#Tr2_dZ6CxR;C|J^GgzJ?4Hgf^@-K8C~>RGJ^EP z(~O>Sl#C#ay@=7%ZXhE_m%otFGhaYPkgk9*q~|O#+J20TAniKIX!15Pg7iaoGP>%G zWCUsIZbmb2CL>7Kz;_}&??a5Pg>OSzcsrxT*OL*X7r^%+{aBCD4Gl7abOgQyX=#p8 zvYm_|tz63J#AC?_QoF*a`*kvcG&qORsV9;Vq|@gzddauQ2-3^`lF_YDmPoJqZAQ00 zKt_;W_hCk_hwnss!>x?o2xWluma7@P^-3~=^tR_Qy60JB1nHgUGx|Ar7t$}l`;dP5 z%Z%=aZ$$bv;32&i{ziH~d^ghXJdx1{A)iRU56?vU@P&*%`cN{0^v94E>EnOP=ubaI zMvy)Q??U?Yml%Ea@5l(!=O7-^=ReEni+@B$kiPs8Mqha^8A1B${fxeL4;exF#$AlQ zd6JAEeGC3a`ZtJ&^qt!oeRqkB097hiGJ446q=IzrV;P2Y6T zbm2!x1?l2XFnaQ5NCoMsf5qt1kC6(})8EhN8TXP3(z78x(l+2BO~5mdc7BLa?SrI( zbmjXP{qTE81?lQHGnxh-(%dH*&HoXpAnkjA(SCRz(g8@1bm#+&u73xqApQ95j9zq_ zRFLXN88sG21?l(;8Qr)G3st76{P<6Gdg)5sUWR?ozaUSPe?c4&*xg zAbso~82t&0;A%38bkP$SUHlC)iuB}?wBw%{RsWofBJKVVqvyVxj3WKWZH)HZKt_>f;TcGKcQX3XN0U*cYrn&20rG>i z_z6ZYcz}!|{n+~%-SA#AigW~?jkNR&jFS7vDAEdqA)SD5r1m=)-Em?_ayz5D#>gnro6cu+HzA`)Z~Z!> zw|$k2BHi=1jNbVXGKzFB!M!(Z0qevfo z5u@LSaHJ1k&*-C*WEAOR1#JL`bLY4B7L*R=vzn0=(mm@IWm3Z$f17H>mON221)P8 zbf=LVIn`{}yUimIxIS4uQr&r^)m%bK!{MjdP6kKnMCr-NM_rE-p1_upjV%%59%^SeiWX5F&SLb>MYe; z`js9Q2a1RNruZ)&GnLm0b;RRU)DcQ=c=jX7i8-S(@363(QG%a zOV-(UYuTC0@YED@&0aq@iNfS*rU7?@1T$I(A=M$Pb44m1A7Dhk{M!0@b9HTX>bPDW z;>nhn;%Ti;pB2E~db?pjd0JCdh=`?_#W8+@hMRL*=CxcW6lH*W>N$u0DR2O#BDycZg&q^C3%cAgS?O|P@oof-ffm(~WN zehVVxvUnXAL{L~1j95|}Qg)s#)bb+nv?-#epc%}2Ny@aQ$$JeeG5dQ`v{|30rT_(V zta&^q`zlj;k_@(dnaYGTOw~Uxfi|KC)(Z%TfSH|nV6DBsy_|3yrTNf9dHc+xDH?^B zaAA}JCeKr06f0BJO9c^fS%q)Lhfk3MNq=oMSzPOPlQw9Ena(NDfAt10r5rBTIJ~qh zYN;>^XU=stRc}sF4}fyu-=fsq?7GND9zQ2#aXKiqdgGe4W}^=o0DQKST~ndd-vdK+)Z^Kj9H}-6F>-|0!beh{d?tFiyvkE5UzT|klHQni)XeKN`W;!=Q zZd#f3oU~H}(l+a@LtRU@48}ZETMv4ohrzT+P#w*#i?6e>Eb+w`nepLU^gv!_MmUej zY_$W)O>0SifM2AgF!?;?!R9K!c5wqNwpILF&xpy-OQ~l`Pbu@IbF_~&*yD^!`Ig++nYgH17CKE-L}nGJOyzq} ze|-z7rLuaYd~4GavH^5+aAuC@GGY-CyDTRxu0&wM)%+-`om zWEs!TeY*N=*87DPc+gqyv_Q{8r?P$A%ywQp`Br-j^CR-&@h72mX>T%Bju~5jlZ-9% z%fqyC6v6zd&tFS=8(h%X5So=`3DiGBd6fJP8VGjfAUS=y&h(}BNwyf7x8Zof)X93Y zg_f8taW(=^3nsFmR9KiA18hni0vL$~Yw`5_rtxH6F~Al{#@GkrUHO)Y&gJi)Z#M^^ zH(=ZrMrAtGhMZ}&w35h)#Ge79fX5GYwKQoUk8@3Df4c=EmU@B6a6P7;TOL#9n1^U@ z7Qy0)&}u0IR93S9x=clk0Zc{X`uHQa;;^Qoyu)gq}Y0ex~dVAfo#KyFr;;^M)Ze zw%R5^De?H0Z;~t}FFa6hlaxno7j2#h%ze6+&vf8{8U<#%N*||3$$VRuX??36r69ct zS}`<|eqlDJ>Z3PHn@I`7##F{_A1rz5m-0}{YXpnONAC}nHpH&l(@uMhCSOg-Dx8l2 z**GFBZP=zetE=E<(LRkgdz>p$rJg2i`*qNAFBIe1Qs^b7rjXd0?e#jnnbvXblSD9o z@@#u;)v6Bk4=aec>9h1t&V82reza8ePhesEZTO%5U>2sv(DIKF1P+-e&SC*54E`(; zq`y*O$hgoOv_6)H>oLuTvY4_wKn!7|4?QW^u|5n#Uk5vfn~elqN_y|3FsgVn8}ZbO zIF)v(U(*2N16lIS_Z@5YR&h9Uy4UIVEv7X*%8a6XkIuBb(~MG(UaNY`>m?F8t4m<` z*y>E-$anGB<|j&yh>fn+j1$(zkzq-_H`QucWl~p3)2+hD;+g2PO)JvU)21$6m7SB$ z$ZYnp3Kr_^P8%GYXtCOgRA-C#Wf{i%bT&_iR&fIa8_n4@-Nx0JdKx}>qk)B|5^OzP zPJDqVVX5zLFM?MlHTt0?=(fP$Wl2q&D|=-1-833l1*$EX?Y44z7`$#6M*4|R|Cz>{zLOg&0AJ*q-$D$2mPim>pu$q3d0 zq}6O;7(u+^EDS9uCnl?5T9|6j2oo!TnSa$Mi8$;z3v2zA!*wwS4wH!>{txp(DdmPS z(m)=E)~gnUg<%XFnMhTTTB?~~EuQ+#N<8+}7%-E-tpWbdjZEXlA7ikQ!8~1i`vc9d zX6IojXo7=lps89+o|GKwoHX`gf-?faDuYkMQ4`)~=CYA7D>SrPJZfk*mRdM67Au>X zwJ!KQVTji#0j8(%N%?V*OY5y5wVh8>Vv{^mKS`yqSyz0~d0czAnm=kDWS+_LX@)D6 zV`1W(rW(8@WNNyv7Pp0IO{0FCk!Ffq)9J1xJw&Lg(e=>m|NN19DEl9f219f8L8o_c zqbquBcAhOX`}FM7`1eAnG0jOlOW~Md#?wV?{%q_a&fy$Jvp_T!dwM1?`*@AT;sFJP)X8u(kC=*T*8fUe0GO>N{fkfk&u``d&#HP<) zSj(s)NH0R<-(uodCP@CHydzCbpRFr?NFalhf0X2$Pt!v^YK134Aa(k;GKXFZl>e&V zpC*GK$yYugW%KtJUmjng=wTQDj}0dsRc7UTMc%;{e5VKu>Maz-_9vc$Lb>U zC8E64%E*ghyi=skeXkM&Q`6oUuMZ`U*>ISyY8`1Z!}SpU9cK7U2R;P{@j5VzSzWAS zVZf?Bh$zMe;d|3hwJ?|_KHRN0sKEnTLz@;|5P`9Hai|)?#>s|dfN5n}0(tRRS(ZSN zZEU9achWbLY-~}@97eh99ESbN#ABz@_s!4lpv9c|FcHX_FaDisdD=MHuuOScS(ZR4 z;yFx9Fwd!#l?@cx=cSs<&SBW!B_2CPSh{Oxb}cUM-&==0PMF#;f?0rK(jVw9Lno#I zo~uj}dki!ZnxZAlmb8s!iLdmS(oZxKDse1N5M^N|oFY@*F8y?7FQi%00{OpSR$g0g zH;=)LX{i}IzjeTn(9@&5O%9YHXP=h6X!N4b6O_nJB{+>7XBvemSk$pdn+yJf0Y#%na`4 zaYZ;a{^wbRYp-BhlJl}DXx^>y8HdMaGCKv0E=4@{GPG2-7$UXdiM4S=7>=cKsnFk& z;WgH7N|pxOI(+9RvEx%UyW`Wu_;|GnVbvWI=@wB(&uiQUn;pS5HbThv(Z3!-whh3@ zrhn((#>m3aZ4F#@UwmCn79QBP)bAI^BIFi~*Te^2wv)#_7ydX0zDvEXCgVKbE*_5Y z9+@An#^XH_{Hq`|OpLBQ2kY0Bdw4Hx4ZuM8N0>mX3MhJMh9d z6*3QZFZ)HDM=`tNj@jCdNdvQ0DChI>KLO1h(=x|X~kYj_Dwe|@XLa~%7Y0TtV zKszm6hITApEK_-@T7!MFfqxpABN=~D0tvZ>-r21}?tni$Y-8d@Jg9W^$H#X}RH=vv zjjrwCCp3C(mm(bxqgi?-RL*(yFH<^DA6xMk zWYA9YiZ#!^hP7gfut$vvHr}*CGgzwsf ziSIihYn$PFMZv|{#CK15ZxOyyJ7MDLx^wML$mIt6g1W^VW3v9 zK9h#vPldc1?uEG*$j>hz4{e1a2RohQpt^gvq37=aY-}b64Fx}EQx4k7dyC{?-5$@7 zgIn$Kgd98(>UCH-xKhXgxJlJr!6;I~)%Q<=@5f8(`$-l+?-lZ5_~kO7nt{JG_OB^)adqRNcNO4Z)uZc@^9_tZli^DtK!QuTn7K zCI#cBl^?AeDFsi4S{+sjYIZ50BiA8od(;ScN$ch+7C`S6@^bjKN`NwEU%>Z@{&6St zN86rNV4jUr#J zk0(Zao&a?^Y+rY~Dg$(|hfW0y8v7R`#Nm<_k0?qAt&mf2SFkU0ZJ=IZdBwY<2RB;z zSdCO}75Nc(FJt9TsCdU2$O%97By4>@jFk`iK9h3;_F1l1%h2 zxs8Lkmbo@DukgGg-p!9&jflsJ%+>W}5Wh_#K3yqG>o{nuekjCea;+gg%kzqOH=k`B z!=!-EMSK~%{s%LNrz?jU-k~4R$^T=%ee`ArC7Yq#2k0?)<&z|Kkly(xKG!{ z@?8xA$Nezr&!tPL^N zn&5gFyx5PJV=0E)_*#?K+v5q7^>TQ|up^hxmdNLrhgr8&^(m*YhOPbiY7=SYAE4#U zZWZz-_=8*dVmZB~6f}t_C@-Jw!uH*6KHb{5+2@V38DyWg%pA67N$J29)Ko0eW#K{F zLr+QZFD2r+8HsqADiM0lH8C*QURwr7ziynrN$XE*K}5??2K&#H*vB>hh<$M~cF28! zVdihr&0I4%*T8R-j9<;~=FzQ1^m|ADGe+`HcYn~MKlj}F6#e;pue#sWzZ>W7Bm8~p z{vQ}&XT@@>m>NFm`jrPg`r!z1dWa33rlaOOMSniuEBal1ywU3SjsDAR=*QI?hr{j% zJ6ZiEx>?S1!Jo3dV&Bcn8+*Le?D4AkpPq;PsV$3rzSp3oNkr@e+bj0n{Jqf&P>lUD z-mlB@un(^a+3Iof0@(FFU#OnP^@@Bqzi%yi0VwqI?ENxcfTscS45XwL?F#kiZdw>oKJJkD^I7{3teZ&-|v zQH)Qwnn@eai&#N5kK0Fwtlx3oD_+vmOSiOTfsnH`_zQ8a=UPJD;CMy5n}4@jGiUxp zjV{q%W*4@nGPGw*nUIl=tr}hu>Ca*T^j;yW@Jo@d{Bx02j{7ZV;ZRto^U|#CfM>)z`eWny zScQl$W8qw=A|4iIA8Q_G-B@^2$Yc0JYI-&2hJ}-1`m}Irj-J_wd+)e^ydC#j&BBq; zwpchBrdQm%`fJVkH*vQGIU}KrzP|u*&$iTjUNTsy_v)(&Oh~3DxNiY{Z_ByR_g1D? z+`D;g<4hc??sG@$%gn@i+{l5o_Wt&A!sjXkZr`}f#L;uifNq3(MYyX^)?7~>&xnwk zeGJe!?99r?j_{NIIK=6&9a~Wz_^R4Vm_ktIotY;-7v?^NeuDd}oD@1BQ$Swl=hWQ% zvhn0|RMe2U<=DYVN38m*m0re=F5#cE)>f^nGv5y zgADZ7R+GiGem7~u%G#OEDcEYD-UuB3E;}yd<(zj1?B(LMCs1|s=Ej~tG4jWNJ#3Ho zQGk55-vaLuXSZ5-@b?4?a?eGeD2h)jsOsk9t?e+!{O^YDVcdV5$p`MRF{~UsQpmwv zr)cYukmcc-tay|WqJwD&{#3|Y;Lf!{VJT$gqByEo`Ec_E$9-s7wSr23OYGx+M!PUS z0_3CK;BAC5C^)+w^k|XGF3kBk=Yo(|GJdTjH;-`a9~7g%O#k4#JoLk>LT(Y<`Uh5Y zr!(JjWW(>=x2l^@xHe(#&JaCjXXY_`I7R+7Yt2R<+Ig7m(oU8KNh95ytsgY{FJ+2C zv4`f;5d5i-*T5a|ou7ND{|n-HwSXLb$8jfqT9ZC4pmRqSdd-vd7 zpQroBfH&;u&_hQSlHRdSZ*_k+>CsJS_n%C9yf+;7>RuNss5tkj6cm<_-=46ew|JL1 zPI`~SIO#fr4n@$}Jg4zi<-N+djd4yR&hN&H{fP0Moh+0Peoo_??eWAo&^AagtRy^S z1m;8c6Zk}{xp8_FGjC5HIL+}kEgz6K-vbne zxg~HxyDirY?N*Lgv^)BZ$0v+)tK(WRIX+s(Gf)|s?{lnEqi1%#+w3I`-2NnF#JhL~ z@^a2lpUd@%d{>WfL_TWzJgcS*@<(!zKec6%&nJx9k?(ocz%Dm$aCOo|e%!HK>ii1; zt;6<#2_S!=*Et4vW~ ztASZ<<>~h_tAW1@b-u6OPF=p?pSy*Uj+aEaxi7z-V~+7`Irv4mt4G(=~e^>mL6f zAb+N_T5q=ZCCBTn=}zZFGhqSPaSa;%F6$l(a?b@Iw|M+&e^;Nbsr~N+Kx{VSe}#eO ztb4M0%6p4ESue52+erZrH}1*0%^pvTQtriT9v&JKA%2Njt_eDz5`NU6p0%e820lcDj09 z%^eKmn5DF0(8oS3%Kt^6{19wVvV7t|a?@JUAD}f8G}>KOp>R~2InSCi7QR=T#?A8@ zSD{n&l{@F44Enz%(0{PG3R5W;H~NEQ75{$lufgKzH*=mvzlHA={caxFh<^X*|3A6t z4|@g5FuGqyw{F^7_+HWP>aE=oXIg>)&%1MFE3d%}>?{Q8ypKaW) znboRKDfq_%DZsad?9XzVyOWN2qOp_3xWyXMBY15I+6STe!s@PdFg?+@06j;|br^rGVLCM?t?KWMFZnb80bJUIUlz1|G_|XXDU; zeZkLRdm2+4N^7t;4Z)uZc^%xjO_WmtS+giFl23Wq;pXd&^1!N+iG}IwEh7*AyBG~q z3^n1dHa}x|&F9V!CHU1-fAt?mrn$5B@NSCfK40q+-nw+ zC4yJ$$kA&YWx%@({6oGB1aBFgkqj7CkuC$iEu!c;ory%w@c1f1fV{ zL0dz^_>PS>K(~Z+_z&0P!Qc#-sIC7({vTyxK*MUganiv_`eIL$nEHq~d>V ziixo275R_~i-}~F3g4EJo0mDRiKIfITU0_SE(G?lZN=ZIQn9}~pp64OCuG0cMXZ>V zF(b>G$keX}Rua#((I5zh*A~Fdmt2i&#Aq$%wE$(-h<(Mx`j%P~DX@;Y&Otk6dBwY% z-#Fr(DJ`FP|63d0r^43l!>j>T@NO||n0B9C_iW2-ck>HJTc#NAWo((hG4T#)4;$~L zY?)lN`^LJP&$qhU9OH>ABjp%RncdvJtYRJ4LoRfhXwrs`_a`y6pxEw{X$Z^Ni{VEZ z+fj3FSTq@?Pn%}Dn}@f$+nft`J2dc{&4oM4i~!otJDYRi&h{QYWo-EWsn$Mj=7WCD zz}G{f{Np9(IEXGigjNWio}pk~$+ZD_mFE@lZvNbec&tam=OwDM4C23Jt^2UYD$63? zV%P}8`?hV|ytlF6>L2l6v?4xiJATN1t3b6mPNT5AYIrw)ZS1!eX5b!2erj`S6E*09(}9`WDUp0%*)O8ST2M2|6#-X_AQC`?WXO{ z@eVAncz5)%#y!Og^?MoH{jW^CgLV%a@1<<_T;{B9%2N*Qx~7+C_uUV0 z^v~8z-5yVbmb$&n*%SZWKzrCoe|)OLrCz@x4Z)uZ>A+pr>)O~3hq>Qzoe4*uY#g_z z^_8d5%Zy`wM%4K8*OJ}_UkVhoMjvL}K9lRL0h48UwP2!O7J;nc_^gcEf7*t3FkwQr zU`pa$H(?aK`?g`+{IazPa~^TrV_e!WWp;}C^DN%yI=w-1`gEP`nglW!GVaGviNGc8 znLR9k-m`m*Q*dj!x2StPhF7ic=BAist8|_e`3b@WXquEVo&hr(r&kJ?`eO zt;TU0T6cNcz05exf6LVMpAa_?GxCGZyn-MQvZx+23w8+kx*{gR|uDlK9@n0_eR$Zh~KqZ<*sP#FcQbD0lO! zRwK%3UFBIdWl;Vxqt3(bt(HN#-ect`_uXrC^P0vnN2Zp1qWq5yl!tAr4>PXL(X7pX zl)+v#xtmuso+((2@iAZzYmfht#5kN2V;(sha^DpD>v&1qWsU{Vdxg9PeueE~&An#F z*yDJVgo)j5UeqWFtRnNY{TQ%^m4uHLVj*n%=1e8Quyrhw;MeY%*zM+PtxcF?G;z+P z?8BCkgpU+TLfAIYB}{QBZNf|%f zwa2}{y1B=FmgN=iZocAprUQk0uB~5YubdCs@E*8rGtAy03aBkM4d3(IbKiE-%_AJ~ z?jP^JYr{Ki1sU?#XGy&4d)zCc;CGMviAguVZ#81H3l_YatO2kjm<-b>l;x!T>g zZg=zT#_^hBtd9YE*naBoWU=0EC(DDRK@XV?-iE(~6_@KAhv|-6W#r(ui{v11+x`sYz}gCA<-m7);OO0r`vexsL75%Weyd0h;B6t>{HPc3 zlJgz*umF0`?h{B2`z*-KDQ|j<;djQ{q@y=?+?@G&2dKu)M(-O;eV+Bv`?m64W$&|H zyeiIxKPDm0x;>t;N7}9Scvb#9+?!xntLXjtQV_HRphmz;O2AbtfZi+Q#>{zE(_8pn(eLQLji*-?qQA`e{(Cd%Xa34Qyd~tm?J%cT zA+mX{P0S09Pqf$Eyti@BK??R<+osIwtzVaDPY->V?yRoX+l{~xKg^zk{5S`ma}D)c zx%fP*e4^&)$Bq5iLOoxmANwAO{ARmxU9vvFb2-C4vw4_)>|7?-8s@V+ue#pNn;S=N zigkS%#Q&NV@mpu)Mn$~tw$gZB5%1==jeAoSBfiWIZ0{C`pY8QJy_weWu49>=omVKG_|nH|lQi&}`<7>MCBGvw33AY302|-YDD;6fgE8=FJ=4sMp)$iNR)E zT{^5c>Q^Pk+iR=Vg`~l+E%^ajy6X7+LK=cU74lPX=i~FU`K6#qLP12Yvf=2djj}=O zRFk1Il8yT}N5vFFP`LY)c##d=9Lg0U&vSWdj(*&Dj!L0ylsQM`SA=ZLz=r!__j`vq zM}_4!+Z3c>UbViXzcwP;yTVLlXJ?-_*{QU z)bw;OsSgr%I%nAU9%fCIlItwWRfbRNr0V8zjq3-QKFaHpmcjZjnph9M4_XTAx~U?t z?%7_cI{H}S2`Cioc~~zq{{9OJ*6YhBs9Fzs9u3MnUUHsr{y9I>J)UD-rHgQ{8r{*a z8c|Mb&?m}&-avWSea|y2L9Yt~wxZXcQIk2<=x*Yg!58QmN zwYcXE6@)xFD6{9y&lbr6ye(w=2lWD8ay)Yn3!wMxo;Q~Ez%=)DG4Si5t-5+>&C#Fe zp_QXQWxQ7RC{nPx)NFGXZOG^!W>qY#4HUW7jUa{N)Arfr>Z6TlM|G8_^UI+9zgW-? zCQs11z8u<3Q-`D7vxT$E)k_=E?i=lImuPQw`pI5c{oP8o655qqYr0+Kc-8H0-rCwu zbFSIXfTG)M4&{I;L#h+c<{ZkKmG>5{mqKgIf?{L6)Lr&?RhF8NXTcxC_G{m!pgpPg zrdloQnkn4!BWQj9?6i=iZGU|l!gBW0@FRR#t-_Mfg`zmJS2=O?_l}$U{KZ`^rNv)n z7pR|+=vYaXPo%z_W~Uwa80b?Bxp;0yE?%a}g`RUw5)8Ii?7R7LYZ3dj{#a8X*4~OX zq73$bIuH9(VYdlqfPJGQkj1|5-hi8rH)5ZuE}z(ctHgf2-Dx+M>#gSLbhszv(Vn5O zujgFT`v%*q-gor~AH#p9Qy}_YJmJ?7R7UtGmrnplI()d%w(1fOiY* zPpu6)4Olk{13|~vx+r8J>-{IOCQ|WnO{O6%XD@~y-VfGtp4Iv~(<|;B{ku`;)4KC% z@4UsR{potEwFJ}G!^ZtE_6~=($hjT)lI<1yj$YlGsq=B)rOn1dZ(v|K>tmtEl=l{m zg{pg7De;W4(44)fL_fF8`m8q_*bf`?!^~OcnAavT$Y7rs-|6PdjpO~SY0lH{Wybs8 zl)*UN&3=D-F=;mrBsZ-keK?4IwcAPt=Cke`6R)P4ZXxmE%>f}zLqDiLm;;@Bf*6{$&%kccup z;-8Xu7z~otE;JSN%s+fn$dWKrk2sriO#n2eSKPaKek1PvVrDGEo4i7jF#4B>$~!E&t;$>hF2+Y^!~;@tO})|j3?mrWPY^^ zC!MkL{lY&9>p}zhmYv#+9H)3U!@Z*1&DUFvDEE%?pD<9q1$JuF&@7C4Gu$i69lg5o zWWz#~$Lr$h}1X%s5^p!ObHZ_hMre$-pk=@SKq(+@8e(pR#tSd%OoDm0`C4ml%>@ z?n#)D1U>f_K`^3tl>lIs?f$AwnccgCI{FUAbdi$fG#rdKc0rLoZ&_k zS^U#n+fdIKUa{`xm5qBXvntEe`DOaFx6xWxCMpNM?}E$Re8hPs#}eh)V6PZ=^S#Ei zu!=EWMxVb*$N20zpnPlSa|O_tYb(+z!zaEs1sRfYOxx z>^d;KV%^ct8rKyf40Eww#&&syj&(qK$ToTj+a(9(zA^6TWv!XBCga*!*%!rAwukMD z-byh}hur4d$2!5=EsvvGK%Fawr-bpVLSQ+(o?~gVD8=Aahi`ZEsYZO$ipsNB%HaFu z+1d`?Rv8-Kss3RJ9<;AragWORQ6`x)aw}_Xxn}^y-Q2VdyBkF>Uvxyp5a|O zX@8y=Q$HVdQyPbBEJBLCOSe#bFRb-f4%eH5ui0XWR89x{-I#wzsR^Mj)p-&Z3(Kdd0V!FSJ@U z_pFI}TiV@a^!CjH-*hfO(AY-##!Kq$%UJ-uS4b0nx!z{E%|bg3^NMUo?`9k|p>>p} zxyy{2yp-1U{%+Dvx2D-59-mB(CBU=6UNIiMnh0JEyN1>Mz1VT=B|65Z!nV9!M+Oxz ztNqGsuvd(`c{Sq>+Ek6}vLJevW!6)_SYUi60cGAu+RGdKP@RxR!CiKgL~8{>ZR9+w z*G;xp>^pinY-0_0tsl^ZmV@{$Ou^&}W^muvcTau01kyEkSSLc}2XVuXEDu zkH$HPvOikJufIVN4?AWYT!Y=gT5Qc7$W_Ri9wi?y*)QGB0_eR$*5DU4y`F1{cZ1^< z?QUMrXxp$#)9m~+vTfFRy)P!clSyy7mwNb zBWik#qQ_rq`Z6QyrzrMk#m>R#@(&sFI7Wq+)bhB$GQTQh75+pmujW`nJrn8`;f_Ah zT0}V3Ri1V)gYc7DeZ%0)7DKo?I3p46+3P>y<{gb|N)g}r2p=cgAD)iShAj6~dyv_pk3ecHE<(vnBMs0d3XL zu`#{kUh~oB;XaPyQ{d-W_+>`%+vJ)~cO~iJJS?`8d)Rn)@l)wJW(wX2^@;Ft%@Z3D z4hLpjHuNmwG6-MQ5FUEpb$EnxRh~t-=f3K==84Tic$`OBsKd+5qim%JhxsP^I^e15 z^bT%xVRSO&eyYnnN`_}W*Qz!*cwTk7=9!I%x9aro#qQQ8tcVZ$e2%h+&uaH9;(hCQ z%>$c<_&9U8P{)^+Uypn58!>b&x`d#z5MzojG?`6>5 zw4gn7yS*IR4ec(_?pwEOUe-Lc$Fn*Lb$c26eI-TvT(jMnYxeqsbRZ^V``zWN4yN0+ zT&v1mXL;4`nr}7Yy_9w@gZJY$yn}k*f_TrW_YB^B>vzqk8u5PC@O~`CJ1l^LX~gLe zP2l@=xa)T<*Q$QkSzh(Kt1s1@FBw<4$~gpO^m}5%`?SH580k^8jZB(I#uv?o=3!w?{@R4)+S61A5Ytp8Xng`47)OFSw;Lcz0O)! z3`+z*Q|zf!Kd7_fuTDeor$Sx#5!=7)_dqEIdj$q;+mlvxpV)QWg^6j{iqcUcjoSUm#S@;I_wu2CT_yqa?Z`x&NJ+`D>jBkq0U{>SaO4}MIu zH0~`XkHo!io5#_M8)w)f>~r;fnK{QVMBFdzSV+&)Ssc^{Yp_vq(6$ctcJPurJZ)zI z^v?F?w&hwVdZRpip4d7*>E^+$#uF`RedSpu@vnK9oXD*BW#qroM_2Vp5|7C zHxKe@y-d1!Wh1VcGV+P*>k-#8&Hf3r)xl;7xu@!gYnfYtYbD4luH8JX@hpX6T$kB_ z^)TXky1u-Uq-O?n-~f^3L9^2i8{;l#Ddgr{;N4y@er=WLb465Zy4sj!a4UTvcl5c&lj%`Fa&>;0U7HRf@((2K`f9?rB?}tyE+^A#ITk8jEe5|fjhlzH z8u9HN--}s%qe9jU~X zyPXR^R{;NdAiVHrjEo=M)`0B-Xh{C;Y62^Zmip*4EWB>PcujoZWi=l09Qb1=yle?y z2p9Vi@piFLLh$=0f!VUhGsa_1+T)4wm`B6&hF$%)fM{P>l9p1!NWuLhz_T%6%!PvHc?zl*o2PNGAZU&4=%q|?OmnP* zn+1Bsx1*Ob&Jr)w+GVWlc?I8FWK1N*wmK%F1bM}^qjxe|BZaswV~y-paJ@ywL{bnd zMz##`ifT76WZa>Jf?6Nx7Gol1_9nU}MfDb)CkuEsbFP{v7Oq$1yLlud^8F)!E(iIc z>vqR^vKHiL^}LRJ&*LgpN3Z3ixfAazp;xwx-X7aZ}3z>3I{PEk;5d5i-o8WHdSZH~zB)s}CtByX*h;mwEOen+* z7Gc?xLHUeP=V9-@RR-mXM$e$!w=Q?|X~sF>g(xpGnmCOppGjKDU`wreP;)F4c_z@O zm0or9ZAN^1$M>ErzNhd7A^U+GN6RIY6&0Qd^onmsA7`8eUWjjOp@+4_rx4%ljGwKx z=E2CdP~;}ZE7~1>pAqfe(SEfB?Wod2*65CF9yClVYTe{`MZ2pfG|r+$xaaji%Xo}_ zgrdE(x>|2HLf?17asJ9Q&#lzuBE&1IqaW0QR%7(=d$E$|Dh1V{>+a!Dt?F!sYTx51 zZhp|}WG(L3U!beY*x^4+=6XrO4`f{I)|ZpuPo=vERRmmeo!U4Hp!W*FMTeGLr>fg5 z4!AyggSuS9GhcCU1bfA}qpvfLj??<`X_rqDoTLFQHQQf)abtC< z(}K4==tsvbxlT2@jpG&Vj-Jom@q|Q#dmh@c-5%ESS)*tN^JTzCUFeD5L8BdK;NvB= zdX)vxdxgNE89BL@csEPL>$uAHU4I7H7o+aBCSi8n_t?9mPc_;*6#RL5 zzs%aw9d_&k^25e{X?v#-`Mz=Q=3k8`p%?4?GAE&LH*gPUzYglncG3&p)^|AxT{mi! z+}rJaHG)sOXQ!LrHOhd08JNhIf#CK38OcCi8z5xBb33rp(L)>UA1VYs?VoWf19Qz@ zUmN1wBKD6Z=TiUMm|k_io3A$RtWm7{%h>(TF>x;jIzt}saoSk}I<*;S^Rdh$&DHJ^ zw2Z7=ugG`v;MT^?6(4bgU(Qk}Gt#*&2l+VQ7c%m(7lfDeYhA?x=)FQ-4!?G6XNNjX z>{Gs1^t*XNYVO<6@7vmU^X^8grx^WZtez`!(2w2S zkad4~tEU+IzLD?f-<>dL^4tkZaI-n~D@;+I^?40F<-JAo8eU?LXUuE3%^puoQzJVQqR7*iCA<+CRZ!Ji6w72FNWN6CFohgXf^)%tPt^hPP5waA3QoaInP z3Z7MfgDHv?b`l?++DFL4fkx?H57qusPZz}R8zt&Ff+$N6qMR6rPk|8SY(RX22%$R< zqTMb+s7_#SO;b_ne;ADeH^RP<&Gy6h5i&;as{KEV6y&x8LJEAh1&%)7xa%IR*E}gG zGf)4SR0^hBoxWI18?^q%l{t9Hp08zZNf_11=2&WdE!?ZFck}R8Bg$zF`b7CN$n1Kz z(;G~~x~pco@g8bQJZUvV{qBNtGsg_&mT;da-{I!NjVPxe&z+%PMwkD9f%34&amt{a z+b%lFJzFe09KE!0=Z`{Njx{{&I+V-FOa~0nHmnZsG#mZd^=5y7F9}(nyX=Nw$u(2x zHilP??&g_|JAY89=W6saSbsX1fsKNf2UBZ<&O)!Vz5z?GwglGAT&GyKFuY>j(HA>m zo^lXJC8aO6%y`UYfOXs!`*643n659cB(R+Nx@2&w(>sA19|f)7U1p#aOLHuhci2w~XI=2`{4#__80-8`_>-KNHmJK{)< zUuH%5r5f7#q_dDM`HQJeP{$wX@O>IuA*bN4EZQ>@&g?9&cz5%=M!d5s%hT><@P3J{ z=BL8e?j`ZghiNQ$_dQbM=3$N2OflZeSTkcbyu)ik*6+hxGgQB)TR~aiPW;;LZl2V* za=aMrWoA=8RYSXQmcx{qkP+{)ay*M`CFeFHUS)f=Y~1{-5&QnJ|NVK`58S#r1MJ%^ z9D#k$R?c=uuWLN!Lhag;`m(v-2{pG??+N7*sBurcmp#oKbtfNte@MZ2TNHI7LZYV$Hp6(bF3Bd?D`3 z==qCnxDULy>M|B@fi>@`+F4%l?&fQaBQzB5xiiVij7~m5!@C%W*aD-ISzs$Ux0&-Q z+bj0n{H_uE{;_{i9`*y*_b#K8IoP-Be1U!6qmzz4*qS+d6VKt1qc>&Ngj|?n|Js>d zi;MgB*83}AkKDMN!^1GI+R;TgziX>-xD&tKZS&|%eb3SZl=nRd_OBUIv(GCzHvz9Qz2e@@0~^OCi*a9OZ1Pbm?iJLBtleFD zsET%%xi%25u)N~k(d!y#RZ_tF)bo#2@jh2?wU+A3Ctw0Sz9?kO52@$XoExamFumg5 z(Gxpv?&uNE(~%Z@8T;lDD(+`Gr`oMfy^$I?A>-cVOa(>PXL4=;Kg;!sd`ItV++ny- z z0zN#0^7&bY^RR6i?9bpOk-nV;(0hff!LN#Ro@*29g5wqKu6|YXoSeAwRa!G;dadVX z>RtBILbhbks>4g7T?}YJXoYORT}8XhwTX9y=N0j8p4B*09_!KYP>Jd+vr6P)nYzyy zszF;bE;Hp-)Ms*T0zb?4ihW0~Yn&-xi2X7a{6i)7VG>!Zc{&N(u5p+_{WYFf#5?+2<6iPq+2x06!A4ccX(_7PA yYp7Ss!|RUQR^NZ8q#U3TyulbyBKCWLYC^qZOX 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winscard.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winscard.a deleted file mode 100644 index 4ddddbcf3fefd1da5aed5cabbb1786e5fc73daa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58330 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 Vm3I%2_4?e3UUHf64XF+o|9=B8GLZlP diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winspool.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winspool.a deleted file mode 100644 index a8302fdd9d5f16c4a2d553e7ac5eb0c833c0770f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166614 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winsqlite3.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winsqlite3.a deleted file mode 100644 index d681e08eaa73b136db38e035cae22e6e8f996a36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192422 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winsta.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winsta.a deleted file mode 100644 index a7cdc5144eaee16cf46bdff27a85498da5178463..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141860 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⋘bl(RT`6xeR&NnLFk73LWn$Y}oq~ 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 UtqYESo1U*J=M4PDR0qiae}(r)UH||9 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winusb.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winusb.a deleted file mode 100644 index 5dfdad4b19c28c23697bbbd0f2a21113fb9a9631..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32218 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 WWS!{UV(aG_^cY!VJIr&~WBxzN7pKbr diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wlanapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wlanapi.a deleted file mode 100644 index a7e75b5517958b768df3de0bb8737ec4e1a41a0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54228 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wsclient.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wsclient.a deleted file mode 100644 index 4a01997bfaeb6cc4383e5d584e310c1861bcda97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25750 zcmeHQPj4Kz6@MDpiKE($W4o@MxXs3O(f|pRU0GhqtzlS}?bwDB3tFoR(4y<{E~VXQ zw7c0IDM}CoLJ$~15Cle%Ll6A~{R}+>ML$7LL5@8YJrqUJL(xN$_ejnRXGpGQ*8>%U z3;~iW@{t@q{@&x`pBcSy$?Z2rCO<$=Py=Dr83V_!%}IcT$vFi?oR>0 zC4fUEfT^zlj{H~nqu&6KKmI@APyQQ#{ONxQf94+mo!)3;*(;0LZ`c zSK+7s20*^@AK@=xyX5DO3IEGy0mxsj3coN5K>pg2@UNEv$lpFI{2Q+VkYB>`-crIj)a>G>MiCrAFn1@t=;Rl*VkG9?%k``Z?rx3E7xl`UBBJ! zK)v4H?A3=+tk&M_`t7y%mfXgMyUuQP2EOZgtQi)yWC!J_(Z%j&&ttI$MX5yQYVA(D z!8!xB(rJr!GrMyuUnx31|0lLSiHwLTlP zEKj=3V!2_dyFC_hUzX)*A%*0$rQSqtSn74=FZH|4t%ffPF0;Xw=WCp>(y2AwUD)zl zHP+w8QMuP{Y%o8`7p%rWq}CxHV{oI}mk(xo788|P%MIrGTm4{M?R_%SsWn~S@mZ(I znk1UHI%{1+k2Dgs{57^6%D_UeXX=bbqLyFqJT8A&cG30Odbj`Ht){6K3t^%z>c%}p ze8*CSk{^~t9e@fc#Z%Y`!@3r|?f})4R3ma2MWRB(+|Ej`=3{?#QYCM-hIqQZ?Rr~C zDHYCw@3YOGuPB^hG^@2l@vyyQ`f6>l#Tpw3%f)VIu(jzv@S=w^WFbB3JrV}i4=YuY zmf2=^o8iziuiImN$q7km$&||Bs@v(XCV}Zrdk~12IS>1ebY8o`)%VKs9oc}M&bwfF z9CO}6hCkg6%>$cVP$`$I)oQ6!J&yr*_otcIHJq_!<~QF0tWT`D8$p6hS9wNFOeWeP zGL>Iw$e3vqUQOC)6h0l`G{k|plf2|SI*3`56IL3|A40+8#F2O<@-J$G9ML#%8^dfY zE5dDS1l-Qe3j4NHif~&+KGV1&QvTn#o#Bsx!3laAe6CXx12m2%+y?Y&tk8vWpymg^ zi7xn^j1ObNBv42aJ<0h)BRiQ2$t`a6A~`ya3Rv@7Tb&J&!m$+NG<9+x(9XFl&`$g% zo<>g99O9WZ{Bz;}$rO_W0^H=G2psqve`I0rXD1(na=AP+FN9<-y*^i&RrLCkyi<>G zcyIxRPL~hT2(My(OX8HG5|mTwb=1R(uA&x9Za31`p&lmg&thYJrCo^VVtRcZX+AL1 zh4MlDxPmkf&2+fd6z-=O-IO#z8us|hZ(pRp9zBZEqF-l*uH6KRsC|K~r|_3Rra&Rp zBk`!rsq_dai^}ZDX9H0A$#p+S6m!l|3s_3%{z$I}DV!TI?DKvT3d9qMCj_9@1@=q$ ziyXwmohd8ioGH~SNRRVq@psq;3C7D8z1G^Yndmg~w!k8@P zkr4aUwAfcIBryXN*gqFyAGaPy#{RP*0uozg93i-;ig6yb|8w}<kq#{^upuBlKU9DHJ*IF@_5I zlfBmjKqJUf24+&qK)KNVG^u!VbCFSZdVUlkpWlVZv$j7* zY5`rO?OzfJJaph~j6-d2y$zD7MPE*b?72dx^DzU==5Z6 zhC01+F(vZP>pJ}lguz}qUDcWUsnabwSUba_d5K&C(V9;G)JzxZ^mACps5+>|L4Iq(^Vs#F*_po@fwC`)-rd&WDX@Ant-@Obj@ObiWje>-+( zIN$O>Gbg!dmbfhvcqs1vsPbUqfG!Y5sw^cU?a6OpH}P>y*jJBbHyw>hg!x{3o@aHrv^(s?;A1nLw!8GXnJ%=F$RZe34vxg+!1Br*)|+Qb z>F4`7obt@MdQm@J`y>Uv?<+XlPkg_vw5#A& zJ9GBUbQ-=tG}DFnK80g9D!!jmM_c*6M4oj$-6SLztpY+8VX6b~W2j(U>2*TAFM4WT zh8n$`_B^>VU%V-dqa}c^TRSDp8x`?~aO~04O?>1e`gTg5k$)EXK`ui64Uxb@2R_Ak zc<%!V7{;MYb$`l}U*>t8nr4T_-0J}HCXQsP=~JG@7VFaCh#zNN>Hr-@#=qT~XSAnT zm+CzhNH?Tssn=7Ux)yqUILgP->l0x9ws4-2o<^^mdo9pz$;%S)DbG@iH+zR8ejE!P c|A&O-yV2Hh8j`}1qkwmXnX!Za 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wsnmp32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wsnmp32.a deleted file mode 100644 index e9bffd1262f8940141eda425e01a6e8fb5d428e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41340 zcmeI5-;Wzd9l*cwC2bSZHcgWzO@H8~X=qEh`h0i3J5(UWxi%Fo4Y?2jig0}Ay_{R$ z+Sq&71S$wsMWd=nk&r4Rqzd(kM;>_K3H6C5o_Ij~1&C*!5JHsicYe>V?VH;SK`YNn zv$ntU_3qBhXTSdLd}qc_z1ZxpZG82>3uSwonV+f6)GCWh)pEJQvdn$CT%BFO9NMlP z0DujE{kH%Pz6kK(_jo#71)y~F2v5iU2|($@pLu%XHvp8%+dMtJ4nXPj%RD{zBmku| zhj^O)8vv!5Kk_v9I{-=xAMo_$RRBs~S>)+!{{o=&bvz%XWjq(9^S5~V##I1H-<;#= zTPFZ0t^A#*%YOx+^xfa{bmcYxrN+BFt>U>TMR>iGHXi5c&3^z;+Qf5G>ivPI!LI=* zZR7VT-MGTjJ7)nX{p1u+Km9iVrT6~A)BC>#p!C5MfrSuVgpVBY! z+?0OxC!Rk31mNRO8jX6R@$Es>A2cpRNz`xDyRE44b~|qN+6@$5U#vB1bB#`Wm6DLZ zJ%~4Zv(-kkfqI(}G&Z7U>y8ctD|p0}q<^XVM!N-#Mtif@ute&^a-6i28)+3GRa*6K zoJ7}?w3-xiy=Fhz>MdWll%&ki$ma8_jgrf&W*+;@z858z`ptOIX(rL@Se>?#oh9|# zn^AYmx?Vhp5DJ}(QPQ^x9wl64SDSncLbr*G!uB)n5=o zq4UzUC{A8#wffOuU@KZVTsv;PKDcISaS7#KjIOl@$e)p|L_B|O+y3^&h)XEWQ~6oIW|!G-a#chOX_D>BTa)f{Fr7GCcaiu|d+A;yd(1k!~E(d|b@*I^BV32I}lH&xx9G>UX5xkupQW zU{d5WChN_3E$Z0qu4S!gvzJVFl^Zt7|C*^(YPDLqT$`QY?ic!Bt)JZkw3YXu=f&Rb zgK74&$UcnRmEpqG=@yy(@!MIr@agm_8vY%&o21vK1D-;kif{Mf%U--Lb2|$asW&g> zq<3(%-h$LSh;NPz(UbY|Rk$wGtxgA~*V~;)Wc=qdfNOi!n{P>hkel^Iho4HFgVfBr zDvi=H>S=0}j!{Q@nGTiS-b6jJ`q_tBQ+r10u(}}vruIKbcB)^hQ@xp1 zgI{xof2J%+rdPTH0bXHyzAM3p_{PISikI7i?v6pFQkk#tTVzLzURyBkj(b^=Zerum z%>Ry{lwQhEakS`YfelMVXBf8K)RtOVV5<8$JlU#oUeJ1$MPEdn&Tu_- zcThRbqR#eky_&o(vJ&Toj+9}EKmF_(`gHrYmg#p@{sbqVHyJZ@KF-m8e8)ND%+dD* zea5dRopLH``@yU~X6ZpN%W8_wfZyVlUR!Y~VWqc7XXT_;=U2q95P;6kNq-36(MESL zmz-js`K|=l@C|t(o&mp5pp2mT$LQ&*+vGPc)o~qOwiD2()RopXUO$FTp0hDz-(5wad?lm(n}$qSAyf zx)Q#WvD|_1Q;KkE-Q5yi(d{iCu?uazj|!eO;b(+|UP{o#y&_zeIEA`^

    2-hKIPW;Gdt#_R46*HbM!wjW-*!~6HRwCZQ532 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 Cz_FG9 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wtsapi32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wtsapi32.a deleted file mode 100644 index 07dabb9974c88204823a0f1b49f3a1076d0aba8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54714 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 JSMde1@edISNi6^X diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xaudio2_8.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xaudio2_8.a deleted file mode 100644 index 36dcc81e9c91edfd6d41ea4345844a8b2058918f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6446 zcmeI0-EP}96vvP4r0tA;VGXijz0rVnSA!?Vj;sR1kRd~`q8ktl>)?xGj1nocTIHj* z+y%up1jA7Dq8ELHJ;SgE=u`AzdeQD2eu;|cSZM_p21Y<6efXD19{zYl>(eiT;m+Wz z<`+&rwO89-+jIR}D~{vxCNp=OZpW85Y&8MkGC=JWz{0-(=UO@t$68iwP}=n%*%>Fs z6Qwk>iw-yXvP=C_RCtF!9VFwu=zH=|PE}|$?)f2l6b-kFa%m4AK1|crfnNAYE8ccp z&+{C|>-6-BhfmJoq66Hh0bJp=MQEkbQOfI+GY2-eT49g|lO?=m4K`o2wnw8WGB_q( zOb@)#RoV+!S-^3bX$@SZTUB<_U7W1zDcx19ELn7_U6qm)=C{HmL1Sw-P9oX(`VGJ@ zwcX%>GDy4WGwPyoq92l({;E&X7`|#u(inbP;2QEkK1pA4A1z{2qc%~){X-NqYPk6= ziTa>KnmXLUyrR9{BytC5Ah*}WAjZ>HQ<3YTr)g!8mG@2V3Lge$OEelB*T<3qT1gwZ zN^h2iPVWS>UDZja>L<&KXlMZCw5J=~KbLr|49f!^h*6G-a{;^QV7&i8SU62NPtzo4 zz&rP@;GO(SKFyLDJH(g^JAjK7%T&@H1h~y}k=5ZjRw{V~RkTHDhm2fIt74l>jqSa* zu|v-DX&vJN(W~9ILntbIj_rL(Disd6C1X3rVk2Hr54Loi#cUmm$^TvKY}@D;GF>jV z`>09mI=w?^9&4z1WY>9WToft3l^SKk8NYaQlYTv?Xp;-e<8~S@`U8wDWn=s*4ec5#ossErRwBu||n@ zv9Nr`e~YXRw8`@)CEMw#k{!aMKWDpJl5PK1f$gU_wP|c`$@QjUmTccQ`aO;9)UGSA z{fAwr*b@L_D)&aI|bVR zLIS4Ie$Sv}mbC90{hmhqpR@C_=_z#H0%2-3D)}5-7d#)&n=$1pW(VrV>mR{ zewGaH8~vWf@R40tVE9kFPBZ+;TQFRc3>Q9(;j`vBW?z>CXH5IjLPZ^Z$K3e#SNeNl wCE#b#+bu`F=l_37p>-1*K!2OmcQu^<2bB!Z^#A|> diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xinput.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xinput.a deleted file mode 100644 index 8fcf22fd5b0385a49ef990cb3c1f0e641dee8824..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8032 zcmeI1-EJF26vvO(Nn1h-rL96i5n7~F;sTj<;;aoqC^RiJLZC=ZrCgwH*4Z`Q#<4AX zQ(RP`2vre6T;vh@D824QFZuvH1=o~wW_CXI!(Z5PWzms#W_ISkJ2Pi~b38l#_)E8Q zQ2%P_Gcz8F8%4WlTb0k(Ow(djdTg2-B|Caxe+dAt02noZ#T9@H6@I93Ey zpmocC7##T9UaG}JEr05E)2%k*V~L7xH5%W$foNacd567&YFKCq%KFh&v@F|3uI)UL_X0DiFJD!{WO}b^8GZLofepeED#ToEt!oLu_~YIt6}yb3i7#k;xCEr zs0|9FG2jly)9@pV+WP3!me-X}6x7;iWtvswv}{0&0-d{La(Qq zPObvIUgSw9^2zif7UY3qTF-fApGzz^3deQk<57-*F#)x(e%w6dC5)t)rD>2eV4Yc) zvrhIUo2sDu4c_Mz{Y)%4rj*tnz&9-BkpX{TX7XRRsjZE!g`vzA$WV`7);;=pHlQas zHMDuiS{vjGKE?VUBStAP!5Yz{qX*W!6t$2QPL!vX9+)g&!p3S^yP$M2k6uAdJ6k8$ z290AAHNRx*Y|*bPn7I>aL>Z3w*{d6LcXp=ARPKCopMq6H4YkQhdJA)$L{1&vMr$VZ zYmoN+pxcmndWfiH)}j{jqC|OdQNk<`W1WqaW}f$m_Yi;v%~`*SISRCfdC4d2o<{~e zzzpAi4BnYdzCxJiXLQ?d=tiq^Fy+2xCUl>R=2~v1u^;~ry5)%V?+#Ts@z;%_dt)@Z zEBd~M`|jTniDABbKk{dk%+hy1(Apj3yTfcJ6?zxR^#>o|kslD?qkJa&39 z&%XS_h-*c_>lw%=P!`dxSIw#ri5QV6g!;OgZcQ{|%bvNsKib)ur?~Bkcx;QN63t zFiWcMYwZrATHkSLx)jxYc1V(HvctGk1Bn0e=EZxf{_5w8;>1xAO{cCR7_f_3?xn@^ Hlk@v8#e386 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xinput9_1_0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xinput9_1_0.a deleted file mode 100644 index 8409ae4555cce13312e82757e653d8d1dd747456..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5722 zcmeHLUr!T35TE`*w1H@Z2jbIdF!90EE0ilF#$X^pG#C;f!Nj;6+?Ae`wxL%fL=6wd z5T7vN$p@eOAbb)(ia4`-d$-rSqa`*qL?_w3+1X$B&+KpJ_ImfRxwln$l6$0ur7%@6 z3Wh#CGpT7h?^0_`D;7js(>8JdFa(hL36T8;FnA_P?gs#s;bT#5eFva2a!Q4yHP6 z^+g(b#dcR*)5TGlv)f>8M$ue|!}vxYGrv-A)vTv2%c;-X`_7iV&~mJ1Xkh$N0?Hp{ z&TN>QPStT8JM!C5-+Z;YWI8o(eA%+L56w+CUzewwbgBhiHw;75jL8{~1{*o+^EEtJ zfbkT-O|A_<-n9>0t|wO-EN|p3(>0SJyk{1c&+?niW(OD?5ze6j$BPns9hEGuOO;vB zC2mUE2{)9CD@oifR7PWPvR^*e7hf)~t#Sh9t!fqWWv6O;oxjcjwo_$uM;bi4>NA=m z(>4#mRDY$DFp94-Nf^aXS&ktOgvIkE_t5}$Wm1V4?jK@7CPf~K3e7=6m^3V5-LtsP zaqd>S=WeNp1m+TO*Fay3m1qApcPGeCB%@e}yJH>?=q%&7OW1Z%aDFVbW2jBII6K)e zRYQi?6xA8-pJA?b!{!Q4x(G+%%z(06Y1MXwh4U%oY1(8T7|*>c7*GBsp9Z3453%M* z3~;byGd(E^0bcN0RB1RxrAM!uo`ngIlBSMQ0;>gR;*^z~E z!$a(U?Xi^}8t7eSc+AL3)}ry^DpPk>Q*2zg=3$$$e?E$-pKQyP{)D6@GCk6ko=|xZE?GSwzfa*h@ z`N88a_ZH2Nk(MBg6_i^fQm|EAw8I$B*K15srU}$N72u9`5h5c|09(JmI_SYIA-ZeL@oC_2ok1Dr~l=d;DNRvNJ8~IDhgdig)vi7z5><`|jMDJnJ;HuWj`hXpyWl-C zp%d#@6}I$~^>37UFJgTq9v5N#UOdh}Qu4!PSq~upL%S+DKUlANmzTHufa&ywBP9*5 NP!*h(zwgzp{WmaHbyffX diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xinputuap.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xinputuap.a deleted file mode 100644 index 8f778e31773fa89b7be6ce9956c80e6f9bf6e955..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8080 zcmeI1TaVjB6vt1T-L@>H6k3&nR>(*TLI?$CH*t0mLfdW;jVe&2cEvtac%8LFOmkD> zlr11wA++$o!+xZGfPNMpc;JBt$~iNh@%WYtSg9g9lE>qjzdbW&e&=}Ny!DYiJZgWu z_JJNvrX6e&$9MM?r>x^T;Cm9dws{XzVUkYz_YOOc-yqhiq-L& zbOiOsUT-k=$M(RoEmU@0u-dNe{KrSZL7g6Z*Y)rEwvW%Wyzan?Rr1SE(=@VDYVNp? zM*gt>Ao?uSg$+`>XAkVA*YSMM9YwlEd8AF=anttEV2|p(R)5&FeXrk(-U2J{J<-3oa=PwO(=YV}Ygvqy4Z}1|T{pLC zk}>D>9AXBrQ2=2Y>rvP6S zS~jv4Nvh4Li(;%F607#ovNVdVidh=PPAg197Ko<6mdr-0*i8U~P#1~q+o&0& z>!gR!Ja$p@ZMx1BDzR5M$4Z_=i@sTR1iDVC+Fz}EO8z=dw3am zPU5|gd<%eTLl*NPV3%2odMJvTFrJGVW`PLtY_7EOd_;VN05oY%{1q%wB2VTu@3L#2 zY0$+2--%4#qvhf!{2jmuH=h%ZmgjKFUCu%XKNqaG+*;!}{vU+P8LPiS!pb~;?kI#; zXCr)jN7Kcz5^8@z($8jSHQe}{&%j*+f3uFKNGyZS&H;60UpX zo5nK7^fwsQD(%ul*rLIAm`mCtvyK5DZOfVYt(lmwm6Ob$App}Nd|Qc(i;VC?rQb;r z{`+)YBEp}h>*RvI`7f9+hO3|QJ#M-8GdkLXQW)uP@(Pw~@C%+L`zf=Jc|e*XXFu4S z%?}Lx49?Qwnsdr`I=>+s)BM0u_*tYM^pt)l`N46zF5w41rR$_0P|TY*_G=*tv9HU^ z?E~up@u3fV7}U^7gC8-MJ`kIEjQ@CR&g_?GV&62AyZjU6VH*1f3Nwpjzp3;)iTzHx zF2Vl8be&|MzUj`(ejy+r_`77Of5W~)SYrx#-{2K2*TBOw=RN!XqP)M*7_*UGNq&Q* zoxwD+?>?2Y?+Yq|Dd=w7l@aBY1JM!m)9z0bLAcW3=X)F*ei)j2194dxUE?b#3ho@ou z%w@BxsvfL^GlhEZt39=c4r3W_cP^oI|2sV zgfnTt@q&XLL}LKgC6^hJyWUIAyYN$hJEAj zA;3zas;@d7cE9W|8b0ZngJ80+lrW6sr(_sL^3edp(C#~n?MLRH6y8cELNUxY#DHXi zyyGu42Nl97Fo$(dPNgBn*;;(gmhw|R&Z_9=E3`Nm_}`qJWXr&6lvac5x^8oT-eVAF z9lYF1IH3XgzGD;4vAr$5#UxNoYECl$Tw+!nCf8WVKsXl03aDDOjpi!vVO;9)G;Q(} z*v`Dm*-ri?pSndpHTar+{AXZ?$<&ep0UoiMR|G~ z`N_FR5mB@`;|oiu(`}UNHgG5JOa3+zQQ!yGktz|M zh^Z78-&3{ZW2r?gm3(TUvp7mEixSIDQ!Q0#-fn7<HdqnozF-4Xiz?@cw`0QKA=FmlO{sV==sxpY}2QEMpoM3_niBq`2=p z|R*!V~dy;=+5Xm251noMlV=9IRKae(4GKfe*#SZ64!MNfUcWY#dQZUbmbAB&oNeI>|M|6_E^pH zy)LVET#tQfww=8uLuJ2gGrPoE%}u%jeZSN48m&F%FvRV8z#5+8p6NmG(yy<2{@bq8 z?m2b8*=fIa+RnDuUFp9E#+ti(Y#c&8wwyS7dCc00la+I;2~(@enF$lY_3Ayp&>0X# z#SqIhZ5zp97p(z9+=DAf5&$CuaEte*px}FbpZC>`0kw^S>-dfu!bd7lJ1%VYdI>Pt zCtQ;rI9m#_NKeS(zGSI@8RF(cJ>h25xP=gh6o-5aE*uZ;gFtDVz_OH z0eXh4Gb*$O31KvNg>5SFAxE5T`~_zhiscc`+Gyw7v^mKBYtGK`ZD5n9-Qd3N1{|RG z7{}QVFW)8Hzz5{xxsalFuB2lw|FLJ1#J0^kL?|y;anQB zG#&CB*v_ph*iQB(n?@o>4YB7D{&R51WV(|F0<7{@G#VUYCxx_?ihGcE^h}hJaFL{l zzF=W7z-1%n9!&Ei9pTHN0wB&iC>}h;@kYQ>x*1?j7|}5TOOc9Jh?D&&QV$|9*}jB} zb)|J7!VN|AGGac*;|AVA=cpj&ARcFj`+9(#wEz?9@WjU_kLlOZQKXA{S!F(^3Pf;- z))&0GhCRVc!9jXXz(y&X(iZg5TmZ5?dE|$H!`yPT0?rbVKZ@$1hFfEZ`TX3(0aP?$iRTFJ1;tA*pf@83Jg9%p#S8Q?JXpp( z5qthmFPP*zB2_P#o74;B>i#kp1ab3Bxj-A^1>~6**$W=h0Z^h`P~pEtqrrFVsB=NW zx9LhhjhZUT1lEK;V9t-!Lx&hXljsi1}@n@dnWd)IdHL~|NVgL T5&IX1*#Bh=`x9b+Dv|#W5z@Bi diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xpsdocumenttargetprint.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xpsdocumenttargetprint.a deleted file mode 100644 index 07d7d9b626b455c9f13905854994efb179d5985c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2546 zcmcgu&2G~`5T3*>g{TOGdO(7ML2yIHNmDmS2n8h-AhjhbDe8%hTRXMY{K5v9nXID?0);rY@WTfg9Gnf<+Yw|)wQZswamtwRb4mv zl-lch&1}Rk^eO#*WKQ{EIu1jrAFePqH`U$sOj9Ztur)aF?;N-j<_c~wNpIf_I8{6IP z`<)LP-OkRZ?XJ<@+ypTC{=kiazb^p}OMUxDI%2=dABEGd#3Y!?UAYLO@TL`E6wXl8 z7>n4*wwPDW*CI~+1;e=_MQEib*^k6e6oVRJ%CLw1JTiwA?frwI*R3?WrJ^ll{UI$C zlU+R#?#k)rsOXvuhb4zA`f;oXI@LTyOT0QNxFkc=d1(_)+E>SAbZ9_5<+{fCxzDZJ z=-T5|4dK|hMxY;g$DkxsWnBc`C2w`u+%k;l#c*kc`v#$ z{6u5+^?Y8r6PnaS0^NKYh?`Q^dllzwiEsD^9vxkidAURNKN>s5*Jcj<~C>`#>>YgxkLMCA|}YkS#n*(!^apSeYoR`%a`>gS|p+b%HPOMAi)}?UT^*aJo?)Z%Wv6?wc6an87H$qzNrHAi4 olLLH@bmCg_&jKHSqKh05YX+d)7M@20h+7#Pw6gz2W}hQ}0A`zy(*OVf diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xpsprint.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_xpsprint.a deleted file mode 100644 index 22cf10158f0d8860741a5c4d0cb7be15a22214b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3294 zcmeHJ!EVz)5S_#=rBx9e3gT#_a;uD!rf!fbRH+(o|*8i9})$-Cp(XYcy$n^`~E^5YNv7fa9Vywx^pUd?lx&)03+ zh+K z!BNu_UPBy*9lBI}6eUp{4pQL@1fB#S`hnlQ-J9Sb_2cv~N?P>hyh)Xa<^Dd!oL+bwsKK9C03Rzo|40W^+~ka=uqNgqn8{bQ3}bL*m0=8?<`_c^0WC!F>t`(+GRKrLmo#r)9DT2m>x&y^10Xsin8 zrTtHXBN<^W<(U3MYG-z(+KFG{G&8eu$TeTnKZCWBsizDC*yUC>Rrrq1ENcAh@*{E4 zYBEV~tn1CXQP&svqrT$y(7{-gA5;<6aQwZ}DRnluQ`U8?!$z&58H(&ItJmW?Ozbys zvYs(7WVl>iZz3it#*OoXzGE9PUy5;_UKiEjKjXyY697yOx!!|PF0(~5;8U{RXSG~Mn1P($`CDn{<%;AA z@t+7IQtyw@BcnW)5r^+(Q-v6v$^VY>Ka^SI3Y`M1a(7ylo2S5kl`D1JO6Ax0T&m+= YRry1u=}hHoIh98RDlhxHo`uGL0ht2!jsO4v diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/src/lib.rs b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/src/lib.rs deleted file mode 100644 index 3b7f827d8..000000000 --- a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/src/lib.rs +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright © 2016 winapi-rs developers -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -#![no_std] diff --git a/vendor/registry-40351f815f426200/winapi/.cargo-checksum.json b/vendor/registry-40351f815f426200/winapi/.cargo-checksum.json deleted file mode 100644 index 961ebdc3a..000000000 --- a/vendor/registry-40351f815f426200/winapi/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"1b6f08bb48c88a117c42755ee64c7a4772f8506c46d056f5750fb756df36653a","LICENSE-APACHE":"b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1","LICENSE-MIT":"ce7bc3499fee93d5022ef430d5e4201e79a6d9154f3974e42f41349f0569e09b","README.md":"e15c8581746742647e66415bd50156be53c258925a53112fdd412755064b990c","build.rs":"39e89b910bf0b9aa46bed762697e29f2384b1a800017e6582446f12c926041e1","src/km/d3dkmthk.rs":"5fcafcbcf558bb9d7a1dde128dcb34f6b69bc6e8f8f5ff2017044bb64ad3a7c4","src/km/mod.rs":"d93c57482cc3a011f87b8d95d8da8fc52a1c5c053b9a143d781c276871cd1dd1","src/lib.rs":"c9dd767b72d5975a938b0c837c8939fa77054a97b9d96faa39113cfc7c0fe34f","src/macros.rs":"461674a3c07505914743d059e9720d42f2d58ace491b4093902ea212ecf426c5","src/shared/basetsd.rs":"de639d77c388a7f52e268cdc11b06b80d7d37f6419ee57634236b1d856c5f2f5","src/shared/bcrypt.rs":"fdf4f601cf9ed10d1968e719d55164920520aaef0ba3ed98e4323bb10f53a15e","src/shared/bugcodes.rs":"cd953c51b2840aa2038a4796f880b2757ba5617be41e527944d95a3d8e8a3be0","src/shared/cderr.rs":"e7a6f1bae38bf7c250cdfd62e78fa14c8c802a474a5af37a7d66843bd414b9f1","src/shared/cfg.rs":"44ad361ebeaf518407e1e503fdb266954001c725257ff6f2227e2b8057e7b740","src/shared/d3d9.rs":"69fc61ad552bef9be90f5a78ffdd6c6cb4823451994c8fcea21afd912e052a37","src/shared/d3d9caps.rs":"29019590dbbda387c6996727d0a997d975cbd384e650b75c80c1c5bf01d92380","src/shared/d3d9types.rs":"b6d81f06499632376bef88e6285a45b2de197bd656f8a7195f5ed5c172a351ca","src/shared/d3dkmdt.rs":"50d8f2845a30cdc771d1415125d2904717932e1a0a9befbc0cd2915272580f22","src/shared/d3dukmdt.rs":"c649d821aa1894713ed5289be94b9d71f8ee19a14fdab0c7fc5af937d1df59e9","src/shared/dcomptypes.rs":"5cde7f756a06f387968e68079dafc589d85a550d9919828947abbf1fd1c95844","src/shared/devguid.rs":"20adafca4117d5aa0cd69f7f8d73d30085e80c6213946e50a8c7a05017132d8c","src/shared/devpkey.rs":"e5005b0155a06494aa97a912310d78c420e8cfa9305149b5f61400b9614aaf88","src/shared/devpropdef.rs":"f1b625bb946801689461c212afb8576d55652765729707931451d306650ad0ef","src/shared/dinputd.rs":"a9a2122adc1638076e85f135bdc2d2871072b6e2592fc86df03e26854f9d42e6","src/shared/dxgi.rs":"6d0404a4aef7be936bf9ebc8ac661c780ea678184f514ae0e69e463a60d34e66","src/shared/dxgi1_2.rs":"58cf2ec110852dfb3b05b0cb4a470852b645d5067df6931382a2d7c564dfd12b","src/shared/dxgi1_3.rs":"b612bf52e4028cf9b975a1984d30081893bd59f61fdbdc8c8f69245301af1e74","src/shared/dxgi1_4.rs":"e8fb0c4d7fbfd6c6dfc82e689c6d621fe03ae6581727c92e4d1850ef4232affa","src/shared/dxgi1_5.rs":"02f876b56707c7b7ff4357235ba423d3fba804aee024b87bdd68ba72ce24f896","src/shared/dxgi1_6.rs":"fac06d941ad2a79144988ef8c2106afcfa4049043853f2e31b13c79baa572d5f","src/shared/dxgiformat.rs":"746cb2e9c719c6d07e68305e047f56a90b7309e76bca236727d1ffeada56c2e9","src/shared/dxgitype.rs":"37c007614096e034dffd149ef479c38accf56475f9539d441b287bcfde9204bb","src/shared/evntprov.rs":"abf75f0a63b569603b8de45bc3891778831f62b9b76294cc888e32ac19fc0002","src/shared/evntrace.rs":"f09226bdba29311259a338e082fb9641c9a7c59dbaf0bc8a6e432b4dff88b341","src/shared/guiddef.rs":"3fd75e1ec6583325b7b50afb5e04cd1dbedec19b66c92349df82104b19edd2d6","src/shared/hidclass.rs":"6dcc661b29596c64ffdd17d6ff3d08c4072aae59c6f083ea1ec8cd145b800b20","src/shared/hidpi.rs":"7429e18c49bd3358edbce4d9fa0bc2236ef7be9423267748cd4a7d340c61529c","src/shared/hidsdi.rs":"27043582707d242c8483dce865b8463c0b8e0ed0f9bb5eff62aba019ed014fd5","src/shared/hidusage.rs":"23f6fceb8901da93b95637439892f52132bf072966a8e577d22b94a460031b27","src/shared/ifdef.rs":"d1367f30e92948b0612f7e96494e1e49f0467faad656677b89065949d9343911","src/shared/in6addr.rs":"a854ce17d724cfc78fbe4235ae76aeedabfd5c879ab9eab4b78895da1c4f3c6c","src/shared/inaddr.rs":"8cb93acdb7cdf5e9a34504bccbf5ad2fe000810d3866c3c6d0a778d033cf9ff3","src/shared/intsafe.rs":"030ad79543efe5bae6c6dfaff77077458a4bc876582a201f3155129a684cb1d1","src/shared/ks.rs":"90b4f80d97a1c914bbecb7ae11eb11ad45959f80540014bf70518e5688a514a0","src/shared/ksmedia.rs":"402a4c2ea6982ccb9db97d30efa70645f8d2bdb1a27ad9786f99300c59852f5c","src/shared/ktmtypes.rs":"6434171e5657c236ea20603113a8fe19ad465da8d92ef152831604cfe8d14aa9","src/shared/lmcons.rs":"a730be5fd0ef2d682986547cbeada8d6343fc9e72c063cd900b747f22cc08d34","src/shared/minwindef.rs":"08960523fa4c5c883536d88c458b2f01c3a3e611587d9eabe0fa3bf0f3cd6672","src/shared/mmreg.rs":"b9364cfe8c392fb1b791e62907df3c77426fa8c96ac78df2e991bcce667c718f","src/shared/mod.rs":"612146162a0ddb99dd1ab48db3f3aade7ac494bcb575286376a5cf5d9a2b77fe","src/shared/mstcpip.rs":"b500e6c96dab2ffc9ab0b11be1159d768cc737252e446b65674130792a42abbe","src/shared/mswsockdef.rs":"275c695b2d98535af9250cf343ee414bbf71e186dddf80b68767d96342c31f1d","src/shared/netioapi.rs":"eaec4aa81a22dc7bb889661b843679a008c5a2c194a207940fb130b98ea5887b","src/shared/ntddscsi.rs":"b61d548dae4ed529ce76c8f7dcdc91888dc8304d6df8346e36b0818c6c7a856e","src/shared/ntddser.rs":"0c34546f7d3fdb2d3db72703b0c9f1a138ed1ef60f332f32efdceb3ed0632e85","src/shared/ntdef.rs":"c7b37accffd34a36db0504e8782250c5e366ccc8e5c7e2e2eb33715d5704061b","src/shared/ntstatus.rs":"e7363938783f8ccd66bfa2c74a4b070e31eeeb452cabdb12b686fff9fa54938f","src/shared/qos.rs":"a57fe6c5a46f203391d61040a6f0cd39fc7f440092e9155e9425785e5d816687","src/shared/rpc.rs":"ac52ba80fbbabf2e259bb815658ef4505e9e2c06b53247f666f23439c4d0e4d8","src/shared/rpcdce.rs":"f80b7b5425fde8f3da4941a7e2ce7802ae35eb6801641baf97e9deb6a4ab77b1","src/shared/rpcndr.rs":"2cc5b29942edf284544c7301c913fdbe324348111d7438a7ee2aa7031d5b6bf0","src/shared/sddl.rs":"2a542f70ee6bc4476060cfe7568bf33331dbcb4a698fece44686d4ac03eae1d6","src/shared/sspi.rs":"a347b97201ae645638ffaf7b5ab198a7710b45dcfc4246d5df24fab31ab367bf","src/shared/stralign.rs":"7f9c793ccdbd1a7d0b495a56824803c88ad9aa84fc4fc33af646befa10ca75e1","src/shared/transportsettingcommon.rs":"0791e5ddad518fa316f30bde5139a87343189a8c582e33b376e87923b6edf42b","src/shared/tvout.rs":"0a5b43d53916c9dd3a6e1637eb230068d91bf5de517b38eaefd1fb759470e551","src/shared/usb.rs":"31a0327300cbfdaf99fdc5ee9b34e82229070e15c1487066d5e09c99ed9ea6dd","src/shared/usbiodef.rs":"ae2550d17e23ac8265a9cb983423ccc7740a1a41404a9b7ac62082ed53c626df","src/shared/usbspec.rs":"e787df4b0f7bb8b92fff4354689a1b3ed332d54f777c79560b7bba3db04273c1","src/shared/windef.rs":"3b0fa697ec4a57f9016c0bfb01df1768636c1eb6c8c4bfd5a9f16ba7d6bfee68","src/shared/windowsx.rs":"72e7f99f70a1a30f34f00bff8147e7837d2be8a9b93f005fecf1bddcd20f7988","src/shared/winerror.rs":"15b45be96becf021440856db1a5da11ffa5b26afe299344facd674f30cf2a5aa","src/shared/winusbio.rs":"871b050e4dec58e371542ab6c8277a5c6f57b9364bee08b1f3b7b0d9117b9cda","src/shared/wmistr.rs":"0a5431b57488503975d0c6c3aebbf2f56bffae2462b4c89e22220b100a52f70d","src/shared/wnnc.rs":"7e893b55d96fe43280cb39a6568773ff2c747cbfce13e201619d8ffaa3936cb1","src/shared/ws2def.rs":"62293f8c9211e01a9596b82dc186f9caf706f2d7ebd50a19b2bbdeaee965fb8a","src/shared/ws2ipdef.rs":"5c94ea40f541ae972c3c5fc665678bffa85bcc7b654250669779fbc2b90d2b48","src/shared/wtypes.rs":"d7788392196e15d52a5c8331e85272dde9f1c6857dc0a06b41ae5ac21502de60","src/shared/wtypesbase.rs":"d4d98d3777d6a581827fb8b96d5d57b531e80df49ec013ecf962a0aa8809b6f7","src/um/accctrl.rs":"679b937a10fa0017ef9fb7cd34996431f5fe0fa679d7abcfd6f4bbab80c8982b","src/um/aclapi.rs":"7867f7668606c0f258ccb238f49f560d42fd54da2a757d52fa42bb4c051aa730","src/um/appmgmt.rs":"613882eefac180d2d35d944d4164047febc773bf2ebe6a4008f11ed160b68c5c","src/um/audioclient.rs":"75ceab15c1aa67b7b1998064f42080d82a45d93003b98e700bc2733f3de959be","src/um/audiosessiontypes.rs":"ddf7a9bc055c3ebe2e15a7c338b881cceca6409f4798e164f655f619be7ba49a","src/um/avrt.rs":"b89918c5abd0397b6aa84f7fa6aa79561968a09ebc391bfe03aa706893a95980","src/um/bits.rs":"a191ee7f82ca76e46cac004e313221fa02d8f8e6c8e46d90636ba7252eb85a71","src/um/bits10_1.rs":"e0b31c2567c51d01d615b369749f694829124f17f1767b8a2281a15584c1e5d6","src/um/bits1_5.rs":"f6a93879e400d4a4c055454c3a06d764f7b8852955bfbf09d62d33bc2677bca8","src/um/bits2_0.rs":"528aa9c961c6c7162e7fffdd24e5db1c2e5f9af152d57e7376f630c723d6fc9e","src/um/bits2_5.rs":"7a9198eff2e158d1acb94d7f595ffa0e368c119b39d193e269222b5545b44409","src/um/bits3_0.rs":"5a15c736b866d9254cb7dddc687f5fa1a7f58afa58abd9112e2a6875f44a0b31","src/um/bits4_0.rs":"65b44b5f7f20e4d0717b7e8d9f2f3a5294366f5afe3afdb8757fceafa1a05aa7","src/um/bits5_0.rs":"f0c20fba6e3f5715e17f29df6d38e8fbb9ddaecdd628ac9c1de894abc413a74f","src/um/bitscfg.rs":"450b47c52b56b11be7162b8a011544d655aba324646809aa2e3c314257c07b1a","src/um/bitsmsg.rs":"a2f363a63c5b8e8321b07bc21801e1f30ab440651f653dc90bcb168d73ed62b9","src/um/cfgmgr32.rs":"a792fca9294f5a66982394aa4d2891a46f99c062932eb91227b4b63ac23e7fcd","src/um/cguid.rs":"f4fdbb78adfde4741072cf234929275bd90e29be4d66d348c5d18bbdae592930","src/um/combaseapi.rs":"1d9fb12901320c2200384f67851f52557aa4e996acc35dd186440acea1d40fdf","src/um/coml2api.rs":"bed0e0a3845595c559e5d314cb2c46c0bce98366045c7d8e8e36f8020eaba106","src/um/commapi.rs":"cb63fa3cd67f36cbcc93f904ecffa72fd5fb13c1b56b84de9a0764b5c868acd2","src/um/commctrl.rs":"8245717248f77bba1f9b8018d878331f71779775369478592f3a6dbab3354aec","src/um/commdlg.rs":"c4b1a110f12d6151a3b064e8f3a4bf151f3f672545ef8fb11d74591f595e4827","src/um/commoncontrols.rs":"cd7f16faad2c6c12a2e7ffe71a7772b1376ee671f79e4f38d2fd92bb36e343db","src/um/consoleapi.rs":"4ec6603dff08256ad987fa3dca69d80d1e9253df77383cb4e3b228e8332959f1","src/um/corsym.rs":"8898dae9630572cd97221ab5a96790c53b9c0dd186a0c6d17c4541c671a48c4f","src/um/d2d1.rs":"16537910e193935f8c2ad95aa00761811e0ce798273ab944b7939fc06a299ef3","src/um/d2d1_1.rs":"072997a09f1eeee65fafe4f1b56184b9e384ff319afa1e3d7a1b39d5c31c252b","src/um/d2d1_2.rs":"5f8dbf676cf1c5967b92af1cc6ced54fe0dd66d2336ea89f9a3b7b371193fec6","src/um/d2d1_3.rs":"1c0571ca7fa43e028df63525ee50cc4edb9bfa60408c7c5c116aa827d65fdfac","src/um/d2d1effectauthor.rs":"6c3bc41c58079ef0eb1b3724c009cbc229bbdf3e87d0734fc1c38ed5c74d3d6a","src/um/d2d1effects.rs":"f175c39ca436e56f42e1040aadc283ded95d9020961a8f46cd70ff9bc134fdc4","src/um/d2d1effects_1.rs":"686ec154074f5d18f15cc2c1fd20cc374679a530efef9cc172fb7deb3f31cd1d","src/um/d2d1effects_2.rs":"88d71ac86e022eaf2a177553ecfdf62eeee7635d3ca701765939923a4527be69","src/um/d2d1svg.rs":"1c53c6471356d5aee85a386cbd10588de785bd3525e82d26c21bc47b9122ca19","src/um/d2dbasetypes.rs":"0e12de4e806b447dfd49bb8c26d5d7ef6eb37b04dab27949e2ca081b3cf7c6c4","src/um/d3d.rs":"7dd42d427b88371a9400ba94648872d8d7bb93b223c502de0ac1b2fd28226d7e","src/um/d3d10.rs":"3b078996204e310684bb287ac47bff1eb2bd9ff88c0660798943ddba7cd14bc4","src/um/d3d10_1.rs":"d03b2b0cd59ef6596291b4aede08722428f86493c2c849b0bcf8692f2560c4db","src/um/d3d10_1shader.rs":"a4e38cc140251776487dc74c2d66f75e5fea649663d057044e433f75063edf05","src/um/d3d10effect.rs":"e832315707a4b46b33f7c0e33dce3b6f17616c62ac5b50b45cbd24436280e3d3","src/um/d3d10misc.rs":"e7e6722dcc500b83ef6ce3b1a57872a224c9f8a6abd0c2b77b2f88ac9f66a2ec","src/um/d3d10sdklayers.rs":"3a9aa4930464a256700c00b46c9ee82480072e715ebfbd70a3c5fe25fe427850","src/um/d3d10shader.rs":"413d9d1fde20be1e260ead840425dfa19fad2afa6d71a07a3e7f629413052ab0","src/um/d3d11.rs":"5e7bc7a34a602c67c6819472d2986117000a81bce60e168874932d9ba8733f96","src/um/d3d11_1.rs":"e8a356a54a538dec4ad6716afe603dfe5e33a53950912dc82701fb6d029444f1","src/um/d3d11_2.rs":"a45ee94622c66f41919987c512ff39221236f8d0380161842b2a94a7b4ed44d4","src/um/d3d11_3.rs":"cce13ed510b82328ca99d15baeddd2e50743f24bd522cd7be36da47aa7c8f1d1","src/um/d3d11_4.rs":"c90bb2813303236339b405b05965964e5773efd505b20461cd008b12cff7b4ac","src/um/d3d11on12.rs":"07125e00377b771baefd110e0f0aafdd45dd859e04b2451d00b0a896a98c30bd","src/um/d3d11sdklayers.rs":"2287f35dd5a0758dfc4fde881db7482a12b6250082ff4515e84e73ecaa5cc8e2","src/um/d3d11shader.rs":"04d51f2e0ebccab2cc4581f9d4b3871d7fb93671c09f4f5ba683882e717410fd","src/um/d3d11tokenizedprogramformat.rs":"8e1f0c28ffc77cc5044792a2f7598f1d0961381e5e7ebc0227547fd98becf68e","src/um/d3d12.rs":"bd21d87e6d94cd85ff3d399016a66a0891c45fa5faa59bf952c29c450105cbc8","src/um/d3d12sdklayers.rs":"86ab09318bf76a09f74c6b2d9358d327d84d6d2d94f1b8f274385633138e480a","src/um/d3d12shader.rs":"8467f66d0f42d8690c92c236c376fde937bf349c6bb3307ade3b2682b0e7d89a","src/um/d3dcommon.rs":"0b06fab050a6df0f9b2e19bbf0278dbc7de6177dfa706e6548daf0283e26d0d7","src/um/d3dcompiler.rs":"d753cfcc79d25ddec5774ff3ac8204265a86d5a0411b77087525874d4bcf52a3","src/um/d3dcsx.rs":"090aef3c9249996b4a510b6a5a47761a4f2dd45f035b8828f153b7c09e72bd6b","src/um/d3dx10core.rs":"9f2972e822a060c0d48f6d21ea9438d98729799f4fff4db5b01c2ac89ee421ca","src/um/d3dx10math.rs":"5ce6ca6e6aaa7062ae44ce28aefcd2b63d4fef32816168875affd1c8f33664a2","src/um/d3dx10mesh.rs":"2db94de70109544e45357ae31a71ee6262baa9d8f58e806e1014b047d12e1316","src/um/datetimeapi.rs":"18bfa8543eca805077c58d7316c1acaa7de20cf212dc2ba1337a06fb0cb250dd","src/um/davclnt.rs":"c902c7042a4550795c938f3d241219ff8fae09c13bcd3595d2e2e90306922c31","src/um/dbghelp.rs":"f6539f6601198085e0056ad3244ae3cb740a276388b3ebb2d75139ff2c77a3f4","src/um/dbt.rs":"2b584edc0f8676ad5248d556169a7b7a305c3418775c93d99be3e643ad2121a3","src/um/dcommon.rs":"677e479b28423b9d7123430176255e97a16eb25f3bb3b402dc3c1faff6072c88","src/um/dcomp.rs":"b40233a4c47663ea8f556ae1049bd19c733e958f77a88fbc7d6cbd8e0e29138b","src/um/dcompanimation.rs":"9329be3851035cedcf4abe8c87db0742004d4e8c0cae281cbb11a6f3b9087ef1","src/um/dde.rs":"da038629b562c93c12b4d638be66cd82685aaf7156f2d27dc20daa74ef77886d","src/um/ddraw.rs":"a1e3da10e1e592bc65b7262a4c4556b7c3786d42422d123a8ef31c163cc67035","src/um/ddrawi.rs":"c18a8b17635a90fa513f2fba7b582e4756b3633b04908fc2a8e471a6c462e7fc","src/um/ddrawint.rs":"fbcf216bb1541d329f8e7a503965011c98cfffb86790d71cb78022560b0890cc","src/um/debugapi.rs":"a8ca228fcb6219c703f9b13b7931eb9f39662f523949a8e6addcb6cae0f9425e","src/um/devicetopology.rs":"c3f568fe855315f24e73738e7b4782befd9486f898aafcc12193d8b5d470e312","src/um/dinput.rs":"921b0281b24af2e4d9ba915313ed52203d4db5c89a0ef230b9ba36b494c220f4","src/um/dispex.rs":"7590032e356e878881cb75b4206ea09e13fbb1943891da8f31bb1513ba896d6e","src/um/dmksctl.rs":"0eb12a9812509d29c4294dbb6e75f9c0a0a4cd02a6a3979aec4cced465e891cd","src/um/dmusicc.rs":"d35c225338948b3a5fc7b183e31075597d600562cf2ea2b78f8950e923394f5f","src/um/docobj.rs":"c69b5ca5c250ef13cdc3aa0998111e49d3460b653633e96eac1202ab1e489976","src/um/documenttarget.rs":"8bfa4bf273def86bf1347d094a683be9ef39a588a9e27e968d49109988ca57e6","src/um/dpa_dsa.rs":"79d53e29ad2239b69e13f2a96d7546d0f3ea4611a1b1730a703a51afc0933dc0","src/um/dpapi.rs":"04508bd13782b6c64308acd53aefab1edcaee4ec89d7ccba0e30591f42d80493","src/um/dsgetdc.rs":"1d8cc7685b05023ba9698f169dd211aa0692afb608d570c6aa84de40e864c7ae","src/um/dsound.rs":"79e1e9efdc647eb998f0e9806c7b7281962f766a64532c270adc30a64037bb7d","src/um/dsrole.rs":"3fd27de63346253cab1a25900414a208a23656416c21141aaa6a2d33e7ee1ded","src/um/dvp.rs":"eb6297c5f943fd25a143c3285f0d9197b674df76f2342810d407772ba1223322","src/um/dwmapi.rs":"d0bcf2b922b8fc00d261577470e5068fd87fe534b27880402ec7a43de76f017d","src/um/dwrite.rs":"b9922cd2a72d643b44991325632a0b13a2f71e1971a601c2f23f17970a678129","src/um/dwrite_1.rs":"052df22764399d9ae66bb1348f3aad281785494afa2abab17c0a0fc15f7a2142","src/um/dwrite_2.rs":"d6a161504e838133591e0c75c0b0846c81de413b257383168153b81ebea5afdc","src/um/dwrite_3.rs":"b32293ccf2d1a8bfc1a4de5127e1355ca726f87216cff1502f2e748e01d09c62","src/um/dxdiag.rs":"0204000ad50bcbc3f9a1924aa382b40c3690f838eaa3cede2afb26bd853940be","src/um/dxfile.rs":"ea74680af320a259178219e420e6748d3c3751d1f9f8210cbfe46390ecb11fd8","src/um/dxgidebug.rs":"42b61771af0c558e8703646c97882f19638c12e02a97d1256379d6ba01e36b22","src/um/dxva2api.rs":"c05c03c249c8c91bf0fd6ca24a68c6fafd634b682c83b544f2c2b3c98b6dc89c","src/um/dxvahd.rs":"7510f79d0e72199ee5307f6880297bec7e5d47c908b9aaeac85cc4cc010511b3","src/um/enclaveapi.rs":"25c4f026ece797f73dc5fca45d965f220c62de94056c8e137b2cdf6e7db1e403","src/um/endpointvolume.rs":"ed3373501104fdb22e0fcd724e537ea36e79592579f5902f4ed4c67cfc071826","src/um/errhandlingapi.rs":"7ea8bee9bf4462335f25995b6e0215c06cd0149f2e55f5af46fbb40cbccc0e1e","src/um/evntcons.rs":"297bbdf96b7f9bdbcd6b7a8696e4b65fff7731b5fba52257387d03cdaeed25f9","src/um/exdisp.rs":"e479ef946e3e2b79dd6464ba474bac01721fd333cbe3d40bb34361d4c383373f","src/um/fibersapi.rs":"3d6e922f8abccdc2c505c30be99be39476915b97d6a428ec112ae9eab870e5ba","src/um/fileapi.rs":"8d7bb66047dd3d599097d1191d4d7ea6f27133c8a29c8420e0e36a817902c3e5","src/um/gl/gl.rs":"39805ae68cd88b7e4bd81a8ce8d9805d3f9cb1b84616967796f76d188b3d8caf","src/um/gl/mod.rs":"b1b873c59fb0900c783949b5132738cf102357a19d2485a89b984f72d73c9288","src/um/handleapi.rs":"de90727411aef9ccc9c0f6a75c739dd682f66165ca85321bc8db6736e85253f7","src/um/heapapi.rs":"9d6bb1e3c05af574fd719ca3f8098c39dc637a2913a16a30e3a23ea4a822885f","src/um/highlevelmonitorconfigurationapi.rs":"b9ec30fd83407e0ba371e95c1cfcc91059607db6f67b5d2506f4f95871b2bcac","src/um/http.rs":"77e329ced9753253289b4faa70981590514aadd7ff408d7174102e1cbf84ed69","src/um/imm.rs":"1272b7f59ea87c4923cbf7aa5f35c1454db56f4d5a5cd97dbe6a3f407e50ff7d","src/um/interlockedapi.rs":"e6f8149b979099dc50816487d893f1943f1004cd9a6b1ee56eb564c7783c5cf6","src/um/ioapiset.rs":"871a1d24183a5e54ce29b86921cbe493d26a5c815f4c498c9068bb1eb92a67de","src/um/jobapi.rs":"4d5e4e86461b66be148fc2e4760fd01a9a54042a1c95ed5f3b89e000f4ceaef5","src/um/jobapi2.rs":"dadff8f24ab1d6847c0c234a8ff013906c3f7fa8523f2c5173d19bd13a7b1b55","src/um/knownfolders.rs":"5e5d204d5dcf3ec3098e6d3f1f1d660a63f43b691773cca946899b8b19bc196a","src/um/ktmw32.rs":"70ca3f285930c526fbaf5820e8b33d4132c6ecccaa4c4acf1dea506b6c8f5cb4","src/um/libloaderapi.rs":"cf640966ffe68af913b06acfeddedae01c47d334dbb51a5c1ff91f7ec94efb98","src/um/lmaccess.rs":"cf88ff16fbaacbfdaa896269f0fc97c0c1ac2a855b864eec96770418e74494e8","src/um/lmalert.rs":"78804ca021fa4c75bd0f6ceedc4f3ab7e8cf75cfec8a84e1bde7ecc639b823e5","src/um/lmapibuf.rs":"2530a2918f2b37cd0657802b40f890538ff2eccd94258b4b1154a666120ec652","src/um/lmat.rs":"0b1db5e4432a7eb77eff4655e814f510d7d30cd3189c44a52a938876ee863134","src/um/lmdfs.rs":"31c278a63e3f25d8bbf2e3d43c5ced5a64db18d20514a4bf5d4098a5fb0564fd","src/um/lmerrlog.rs":"ca8316152fdb7ce03ce6575b3784764f55a8c17461ac9e8f50f0770ac527d9db","src/um/lmjoin.rs":"c5e5ecf52d711a6d31b8256752b86652c26f2371994437b30f4a7ba2b56ba8c1","src/um/lmmsg.rs":"902f78f089287fa6bf31cefe7d523de9a963950add1a4847f474f537e30bcaed","src/um/lmremutl.rs":"901c1dc5bd48e4f554fbd28834c8e069ca6aa0758cf700277eaab0dddfd5979c","src/um/lmrepl.rs":"2aca07f6c3c0b9f7b25568a350073243d38e6d30ed6c358dcb63168709d424ff","src/um/lmserver.rs":"e06dc9db8cb4999074385ea7b31a6c9760ec4c607fe897278305e429d19a5df2","src/um/lmshare.rs":"788dc0d46a491ec312a343a835c9e16993ec31688c97a3eb8c6947a56a358a5f","src/um/lmstats.rs":"8f30ce095997e7fc91b3114814bacdc9bcd1555540aa803c77ec760711d2abb5","src/um/lmsvc.rs":"e21bbd4514df2a4034ad7000e7c7705994c762dbd55f1acd7ad018108476546e","src/um/lmuse.rs":"cd6b1bcbd7cc483c8e0a9a6530a15d7bf1dc15125a2b6867fae21c805f4c4481","src/um/lmwksta.rs":"48f7a141d071feff3e89a0951134fc3c3693bf8419db144b1ecf79277b759901","src/um/lowlevelmonitorconfigurationapi.rs":"443b99e0ce868417230fa137a7a0ac419e4ac916e70f4cd493e8644c4fbb1604","src/um/lsalookup.rs":"e590e29feef6ed1c650fa37d2838139cb3f24b17dfa353b9ed05b375ecbf5740","src/um/memoryapi.rs":"3c98dc6862515a2fa1d5fe1fe07029df757a0812503f1ad185c909104b6b086b","src/um/minschannel.rs":"f61ee574a448f587283c05476bfc64cd427f19fb8d24c34b5fe4dbdc87db3a3d","src/um/minwinbase.rs":"8f0b8c595b472cda996d76bc1738471f5bc0bdb7ddd55f76b7ca7f75d143f27b","src/um/mmdeviceapi.rs":"eb3447cea90b7209082cfef31bd99f17ff6bf85a2c510c3e32aa05348958487a","src/um/mmeapi.rs":"88a4119036d9386c96af4018c11ef95f247ea0eaeb54f6626b2dbd7ea5862b1a","src/um/mmsystem.rs":"ffefe67a61f7f89bfe7331eb85abc8bdb4b72f95ffe7a26b25db7f5b746c5aad","src/um/mod.rs":"d5bb0cc45adbe157953a3d07dc9d80839da02b51612fbf6c0eb06df57bad663a","src/um/msaatext.rs":"b2cfbe373634bad9a5dd365279d8c5c3a541c99ae0379ed140d4551a3e8b3d10","src/um/mscat.rs":"ddeef0621b10396c91d9aa340fa4480d0ed70e0e2579f95ae18f805c54309498","src/um/mschapp.rs":"4a18fade84eb823c950aa175ec082217bf08c6f4b5a64af996b7fcdaf12cce5b","src/um/mssip.rs":"6e2d7a112939a3cd00ff07009a3966c926136ffbdf888a0dc61ecf5a32d438d4","src/um/mswsock.rs":"9d6c5d32a974415a71a279deaa41674377aa639d01db044359c5e9226488002f","src/um/namedpipeapi.rs":"37d84469cb27291b5e2649273fc51fa34609fa988823034efcd42751aef80748","src/um/namespaceapi.rs":"8b68775a6f52d33b19f450b5dc47a0d9d7e0b50f2623b78dc21b74721913dfd7","src/um/nb30.rs":"2a48848cd262dcf318fad55dc4738dacf8c870553af1c699f06bbfedad7ef4e4","src/um/ncrypt.rs":"87bf4e6422462efa5b201fef64e6938b900ceacac699c724c8b22581dc419243","src/um/ntlsa.rs":"b19d8e5af3d7efdb8958d2370bde7d07220437b7fc2ea85d6b98cba9bb363134","src/um/ntsecapi.rs":"e9626865a9dbfb45503f6c211f2af4763476ece0951a31065081ee610eef275f","src/um/oaidl.rs":"8019e5eeb2800c1ccd7f98041192d5235aab9ccbba16aa7cf2272fec10f419d3","src/um/objbase.rs":"05c2cec2b50a1381569fa5fed7a7224e3c996ba6d6de281a94c698541f53ef9d","src/um/objidl.rs":"b4975ca093d1e9c60293bc425741b6128abe39a5ecbde0d7e54a7c6bd38f6dde","src/um/objidlbase.rs":"0868d95ab7554e0e99445f32e4ba19ef41703aae7d1f88b5ccfb65fc69cd246e","src/um/ocidl.rs":"bff12022b3564a323932e9807c225409fa701bda37b1037a94ecb99aa4c38dd0","src/um/ole2.rs":"1ae2519d7b3bec95faa463e78bcc696c3648582e1586c0874781500479385200","src/um/oleauto.rs":"8753b9021e80b229d9445fa059484b55c63392ce63a0673a12eda00934eda666","src/um/olectl.rs":"1deff809b5e01f256828425847d2222024f99e95de47bdb8900ccd9771f5000a","src/um/oleidl.rs":"4f3697c1d0d46b637032c5c510eca203b35eadfc484d2f2d96ac918406214ac2","src/um/opmapi.rs":"2bd12e1ac2d8070962ddca7b3bb1871b7ae40171e3f8ff1edee0559c9dec8ce5","src/um/pdh.rs":"165cf4703fa7215f025dad77da06beaa0f9a00df5bef246bc381ac24e8f06d89","src/um/perflib.rs":"c3a672382f25960aac899cafaec54f99a963230aea48b3bc7a025333b67b1428","src/um/physicalmonitorenumerationapi.rs":"cbb8d7ec3ef5492004fe032d3140f6043b9f86f12e68fb5815b9b08e9ff07191","src/um/playsoundapi.rs":"ef3dd57bb0aaf43020f1c9a9e5919a48d09b0a02b3fcf471847ea7f83623ad0e","src/um/portabledevice.rs":"92667ff546104d1f6c77cb884cdf96df0a1df93ae4b2dd1a4f6d11690c715405","src/um/portabledeviceapi.rs":"941d33a939e45d3d72cbac2a7815ec68b30b9cb15258e406cfe2c7154abd86d4","src/um/portabledevicetypes.rs":"3c617d453009f216a13670cb122987b6f7b1cea8d745e12ec1dfb12a567a37de","src/um/powerbase.rs":"dc146d82e3475cfa589494d56ab37b79a9045df41f7ac04d1cf6179b7905630a","src/um/powersetting.rs":"995763ac42347af74958ba3b8d6988dc7a232c12e376df089a035de872754bcb","src/um/powrprof.rs":"913f90486eb7bbfece23cc31ab7dea639a9b5bd26125c43ed556d20a49d36588","src/um/processenv.rs":"08c210447fe68eb7a2d109f6cb972d180b4d4c5a5ff9afc0effa2be4d4afb17a","src/um/processsnapshot.rs":"64ab19f429bfabc4e34c311e77e71b1130a908f87905ed5444128aa28afd94d1","src/um/processthreadsapi.rs":"fe6ed629796cecbec847a3acb49a3a61499df951fce53f73f64b2069ef622848","src/um/processtopologyapi.rs":"6585d8016bcce106c61a93ffef27d292d194390014f572f39e11108c9237fc7c","src/um/profileapi.rs":"acd4bade4ea7700a87dc7cb1de1f2d507222a1f180d630bb7d3f833b9fb9e66b","src/um/propidl.rs":"968e68c57cecb20e7721f69f3c1bdf657445626feb338e3f32f63f29277f14fc","src/um/propkeydef.rs":"4ad252db7f7e2ef6036fc1038626e4d2aee87df969c291b8b56cf52e2c263c73","src/um/propsys.rs":"ce3a51c6a459c862d34b4230a8574b72885bff5d691b4fe0ad233ca74e155f19","src/um/prsht.rs":"8ec88e21b0b631cfacdbec2a372f149bf08e161f7ac497b492a68dee65b8a5de","src/um/psapi.rs":"b809d780525a29e7a637a5a780defee09ee4804c1231e3adcb63a69bfe5c3bc9","src/um/realtimeapiset.rs":"9d81b0be632bc47792b64200f53265f10566d23e1c1c553b7dffea735df0cf4a","src/um/reason.rs":"549d332c627a67e685feacf78422ff1a0344c5702fb80b3c59aeebf445e3219a","src/um/restartmanager.rs":"3927a5474e00ac780136f13d34299098a55cf62824660aed0afdf7cd8f595d6f","src/um/restrictederrorinfo.rs":"92b894ebcdd96bbf103e5fd7bc1788dc6a0c3122b92c792ff82f9805d96d8f0f","src/um/rmxfguid.rs":"daa2c44163ff6f561d449e4d80e9da0720367d254d699d0d1e70b8f8dc4753b6","src/um/sapi.rs":"b1bcf84ddf76b2276a4f297f9cebf02da17b9f4a218a861da1cf4e941ccea6d8","src/um/sapi51.rs":"9312df143531e651017bbfb15e5214ed562522a779f52b71c83eea3628f321dd","src/um/sapi53.rs":"52e5dfe376218af9ef61475e007a420a855e32e4ee50bc3a2448cc746ffdc5ae","src/um/sapiddk.rs":"9a02d38c3d7d8de18e50e4625a58870a3f60ab6d30af05f32d2f72aafb1227fa","src/um/sapiddk51.rs":"7b4f2fca16380588265e1040b86252a797bd52a0f57672b7a558370659ba827f","src/um/schannel.rs":"877a45c94d58aa2c1cb391082efdfcc637798f1608d9c7b7fad3df6ed21e85a6","src/um/securityappcontainer.rs":"da4f8a62469551df54895954f1b5a3213ce3b30c696d213099a9d84bc4c6cc28","src/um/securitybaseapi.rs":"3bef5511f753cd421046d218e72fc11f2d030e45dab41ac0ceeb12dce247b6c4","src/um/servprov.rs":"078e0fb30bbe7f98bf1f7a149a54d47fd94a343eb0c9c8e4b7db01b1acee8a94","src/um/setupapi.rs":"041d74c2f2b89ea490684c3578e6624552c3f0fce46641b9b515cef57aae7d75","src/um/shellapi.rs":"7821b1d66b1e5f1d0c14c289f201108f32e4784d9eed6a2d20e7a9207670e3a7","src/um/shellscalingapi.rs":"f71f7e28f50788072dafc774e1d596c1f3be5e141770647c3662e0a9e3382f5b","src/um/shlobj.rs":"2401dd1b5115aa3aa77071b2b3f865693a6c4a329782c56f2409eb2f811e3e38","src/um/shobjidl.rs":"1f4f0f8a1f8a8739c481f8d2bcee3c7b032c8309f6fe9a673fd993737187890d","src/um/shobjidl_core.rs":"6112b8907680e12753914d1799b8a9e0137d16e9029fef808d00c62b738ae1c2","src/um/shtypes.rs":"56ecaf1a140ced304f72ffad40cc039c9441cf23a6769c316cf1b208ab969911","src/um/spapidef.rs":"33c5640efed3a3a2fff39a8ce6f6b7116d782bb5c6e14dfdd28fa99d34e2a163","src/um/spellcheck.rs":"e503bc995ff697992c75dfac32821fe6e8e05fee3183a3f3114e854430b0642c","src/um/sporder.rs":"231daffd462139a12f82154a7d86269fba81769c9fac1ce6004d249fa004e83f","src/um/sql.rs":"796be1297cbddd6dedc4f50fb6c23be7aeb62d4e99a2bafd9c1ef4491c542899","src/um/sqlext.rs":"53a0a990ed2a07c3cd3ecdb9151c1a1324cdfcb073fce137844c13e1ffdd683e","src/um/sqltypes.rs":"35d262e7bf54fa9e21aeb472b31bea3a13df4d238a2391777c90a4e348247b6f","src/um/sqlucode.rs":"98f702ff84f471b54d0085d8e8cdf48b240dcd357166d19f4bad36886f592816","src/um/sspi.rs":"ebdada76c11c250e5a86c01ce4d4645180f81ef0b0f798511b2db18039d0251e","src/um/stringapiset.rs":"d2189a2af906f0fd38ac646eabb77558205e45c04f366c5bffc840b74cfe0aa1","src/um/strmif.rs":"feaddd73ce6cf17f8f0d7f48ebc2e5e2c25b6e9407e812bc31d048c66918c1d1","src/um/subauth.rs":"35200a700b6530cd4740b1e06021e8feece191dc25fd511bbba595a76541f39d","src/um/synchapi.rs":"6fc3c10bc643dfbaefb404614ca1b56aff506651c0a5f74db48fa682e919f510","src/um/sysinfoapi.rs":"0d46b6ec5932d7660993d6d8aab3a35b5548a34e2c072bdaf69e11a7cc1250cf","src/um/systemtopologyapi.rs":"324eadb5b5c63f8d39b7f1609e95ba9141cca74d775f8e7d4da9e0c3a6793340","src/um/taskschd.rs":"4d6bd2126245da589d120391419f7b2e21ef2cb1003c8119cf7d697883c53e00","src/um/textstor.rs":"df98ffff6afd789ed1d745547ffb8f0b9602ffa756c6afaa1b582249eee37e40","src/um/threadpoolapiset.rs":"8592e647532c79a730e01a6d7c9fbc95ef03b27c05add10b657d2df2c9f8f485","src/um/threadpoollegacyapiset.rs":"e1984f442cca48c1b706778f458a1631fa783883a6999ecf66aea2845b578f19","src/um/timeapi.rs":"71dafc528d31466af0ec57e1be6697410e859f377d791b20f059c874ebb2b974","src/um/timezoneapi.rs":"67e11f24f28651e9739cd203ae8801d283740d6ae8243e76f2af85b041475551","src/um/tlhelp32.rs":"e19aabb5212c6f357a102bda20f9aaaa91b19081bdf55f8c5dcd27500806b9a6","src/um/unknwnbase.rs":"56f8a56b7adbb7510bb990e92c626af46df884a356d5f8f2be776c2245d00f19","src/um/urlhist.rs":"ea0619e685ed7ea8f7f602ba142789f2bada3e397352a998999a8399b5b2120e","src/um/urlmon.rs":"8b2bf7cf12742cc8679f381961ab98551e0fa87abd96c8381b47f5feebaf3132","src/um/userenv.rs":"87624ffe6dead461a24302281eeba755d5af8f6a854211e9749d9ecb3e2f0094","src/um/usp10.rs":"cfba2b23a1e140592d4fa6f8c4a0b243cde12c5000a130d91e9a712f85a94d27","src/um/utilapiset.rs":"860578b704b208e3b7714834ada6e02f6cc0505fdac0ae6214ce6cdc01c0d3c8","src/um/uxtheme.rs":"30d4231c974cd1147ae650b0f5a34d0cb2df3ec64c1b9794c85ce83b9a54ef11","src/um/vsbackup.rs":"a6688644b9034a1d830b672fb3c0f7d38158ecd63af53392870629906c9a8c7e","src/um/vss.rs":"d1731203e029d0a5c23a427f2dabc8f789f512ef1f1bdd15ebd7c7322c7cea4f","src/um/vsserror.rs":"f35c941c9cb034667e6c344bb0ebd2935baf9ecbf32ef7d5988f19d8f3df089a","src/um/vswriter.rs":"9e48f7ecbeadf0db7bae2476f577a4895bcf04843dd4ac4fbdb7db6bd03926a4","src/um/wbemads.rs":"9d2ae66e77f4c0bc50ccb1cccd269ca515d799e298d437ce06085d7b81dd443d","src/um/wbemcli.rs":"bb32ef2031b88eb6e4835c8ae7ed1495d21be0587397afaacca166face40bed1","src/um/wbemdisp.rs":"f6d45ad8a9ec8d9a5c86c74d3163e7fb2d180a09ea96782a6c6a69797128c61a","src/um/wbemprov.rs":"13e29281c2d6a930068754cefdf699ba9d59826b8b3d39c0726fa2e9d680a3a3","src/um/wbemtran.rs":"e5abd15d360926810b06f9b2486223ad7416fbf0884f3a701faab29dbd250023","src/um/wct.rs":"0db574400292a398f026385517d7c5c17e9a2a5dae75898438cdd98ea8ef50a2","src/um/werapi.rs":"27be0a45fdc78a49f2103646fa358425a2b409c30a773e83b91cd0571bd2fa5d","src/um/winbase.rs":"f96f3212dd0fa8d370ea552316730427a0b831e6ca5de030da56998b8372495c","src/um/wincodec.rs":"e6154a593974593ca992a9ee3752617f1abd6a6270bc21b1d5b1b2bd92c35c1a","src/um/wincodecsdk.rs":"f62c504e1f49e385eace2e92f7a11435615c3b95d2eb03adf03dd9b4816952fe","src/um/wincon.rs":"26709392100dcb843e239c72f0740cafa7504e68fd0f9a77441d0153742dc3ee","src/um/wincontypes.rs":"1d0977849850bc937a9a7dfc853ee732bbb7c0aa54c14c74de9635afb8db304d","src/um/wincred.rs":"e28c7f7cf7c2b317823e76bac4bb7b640007be339a93925abb8bc77a0983341e","src/um/wincrypt.rs":"47e1c68038a38dff8e89fdfc22e895327dc26cacf7bd1c75004a2fb08f095e3b","src/um/windowsceip.rs":"754fc7ccea015c4c00e1bcf19b92d16801f50ce37c1fc889fbc7494f8634c9d3","src/um/winefs.rs":"4684a567089f70db9372cd4bbe8875e04d6668d537b1e1ef1a70b3f47d1ea0f1","src/um/winevt.rs":"d11dd7357b0d6d55e2fb6b0ad692eab9d5668a35ac9a19e5d5887aa9d7373c33","src/um/wingdi.rs":"14f1eb7584db72ce4a2fcc53f9b3cb5a54e0e74b95333b96cc16106376c90adc","src/um/winhttp.rs":"a28b7d5b45e215faeca04f7fc25ffc0369e1cbcde12b61980276307e1c67a245","src/um/wininet.rs":"501cd35f233de092c45fef2c0003fd864670122dd7b63702d7fe6c1d7b3dc7f9","src/um/winineti.rs":"b6288aa923100568c09e4350ac9340dcf582629f52e91eb6b195ffbca1619549","src/um/winioctl.rs":"7980851d6704eb340c7d924e9db9ac516ab277019dd212cb0528bde35d5dda1f","src/um/winnetwk.rs":"b0153509998e107790099ce1a160e38bd095b2b6bac9ddf7d1b2490db609f3b6","src/um/winnls.rs":"d55d3470239da9551b61a58abd47e71ab7cd55a13223baffba33fde6a44c677b","src/um/winnt.rs":"63fc14a989610151bab322048ed0d0bf9173f9cc9cec68bc346454f11bd3ef06","src/um/winreg.rs":"64e327128f0e62e8f45a55e39b915d3bcc7645c0222632f6226ff505e4bd7e20","src/um/winsafer.rs":"4680859e90029ad4447ac226f667f3290d99c7a0bff8e17c595f2bdca2d63fd3","src/um/winscard.rs":"3e55793eb45ac8770adb94227b0a9431fb3545bbe1b46e40234ad51d9432152c","src/um/winsmcrd.rs":"622c977577ec7a1820b94bba1d1b34686a406c7516d03683c6e89177a5d580a6","src/um/winsock2.rs":"5aa19899f0139771ea9ffdddad4e5f2cfabfc6a58f90b398bf0d89a82f99bbce","src/um/winspool.rs":"69f443b90a6dff35b09e701f7190b67aded9389ccab44960239a15d50cfd7012","src/um/winsvc.rs":"204ec6b8270c0f7c3d409638cc76acd97929d65678d4a8101e17f786acfa0689","src/um/winusb.rs":"8c7ac644694d02166f531e1b2d1f6363347703a8f3a75fc30df4e30f8886c8a8","src/um/winuser.rs":"e212625eebf02225c5cf5087fbe917f19fa786533268844a46d963425cb0eab6","src/um/winver.rs":"aa2b3097709177507db69887e905cca198371edf4338c6a4264442bf09b85c13","src/um/wow64apiset.rs":"91c7ea2cc1cf67ebac303e8b8ca288f97f7dce331b35a9e05d24598a18f760f4","src/um/wpdmtpextensions.rs":"22967a6b3843ac8e5385adb277e1c3b3205ede2d905e43e0497416c604213555","src/um/ws2spi.rs":"e0af920a2d480d90ce5e90fb8383f3997ee07bb8e4cc396c042c080456fb096a","src/um/ws2tcpip.rs":"11ef57db8079c80808d66c690a9939445bd7b426a3eabcbfb024056110cebe94","src/um/xinput.rs":"69f27b977eceeaa310aed92fa96183e4d831ed00007839ec3366022fe928f229","src/vc/excpt.rs":"2185de9facc033bb12513f0c2c851bae67d7999d92eef93a7b548450f8327f30","src/vc/limits.rs":"d185e499e763ca8d44a25bc0436d89bbd0449ce2d8d462ab769b771ab6037b9b","src/vc/mod.rs":"83e90f960b0bb188ccb564014c0331c205faca0ab1631b1f97424c9f301ac133","src/vc/vadefs.rs":"922df6214f27177b5a260196a3ef8423afcf2c4684948f527b24bae35a6371e8","src/vc/vcruntime.rs":"f56e53bca9d825c72a8f184ff1094931eca11a28ae504be7030e0cea29e5ac3f","src/winrt/activation.rs":"8815db03763114f8f70473e851aa32f998c9d6640edf2b46449035f4d0a21099","src/winrt/hstring.rs":"e4537a6edda2871c8767e78279bb43eff5afdba5ba162d26ae07ac0df21de0dd","src/winrt/inspectable.rs":"6ead05e5c87d59c7c01636a1fcfda188747c35f95d9bf0d557c2d10f3332bf2e","src/winrt/mod.rs":"98cbd2088dd2f7c25a1d9b608fe49b5fc90bafcec94eb80fd8da4b3437ea47c8","src/winrt/roapi.rs":"7590576112f23d17650ad716785a801eab0ebc2db7b65829f57c0fe704ab583b","src/winrt/robuffer.rs":"5000d5cb33ebf77f801ab68f55ad14f36fb55663f0d4a203b26669445040cff3","src/winrt/roerrorapi.rs":"716b0ef60d9d9d0538f894e9c7d5413b398de33280f3308186873b993024c0b0","src/winrt/winstring.rs":"d7318e090000ca3bc644a6310d36a27179e3cc5624a1e35c20ec0dc332057b53"},"package":"f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770"} \ No newline at end of file diff --git a/vendor/registry-40351f815f426200/winapi/Cargo.toml b/vendor/registry-40351f815f426200/winapi/Cargo.toml deleted file mode 100644 index 0404dada7..000000000 --- a/vendor/registry-40351f815f426200/winapi/Cargo.toml +++ /dev/null @@ -1,402 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g., crates.io) dependencies -# -# If you believe there's an error in this file please file an -# issue against the rust-lang/cargo repository. If you're -# editing this file be aware that the upstream Cargo.toml -# will likely look very different (and much more reasonable) - -[package] -name = "winapi" -version = "0.3.7" -authors = ["Peter Atashian "] -build = "build.rs" -include = ["/src/**/*", "/Cargo.toml", "/LICENSE-MIT", "/LICENSE-APACHE", "/build.rs", "/README.md"] -description = "Raw FFI bindings for all of Windows API." -documentation = "https://docs.rs/winapi/*/x86_64-pc-windows-msvc/winapi/" -readme = "README.md" -keywords = ["windows", "ffi", "win32", "com", "directx"] -categories = ["external-ffi-bindings", "no-std", "os::windows-apis"] -license = "MIT/Apache-2.0" -repository = "https://github.com/retep998/winapi-rs" -[package.metadata.docs.rs] -default-target = "x86_64-pc-windows-msvc" -features = ["everything", "impl-debug", "impl-default"] - -[features] -accctrl = [] -aclapi = [] -activation = [] -appmgmt = [] -audioclient = [] -audiosessiontypes = [] -avrt = [] -basetsd = [] -bcrypt = [] -bits = [] -bits10_1 = [] -bits1_5 = [] -bits2_0 = [] -bits2_5 = [] -bits3_0 = [] -bits4_0 = [] -bits5_0 = [] -bitscfg = [] -bitsmsg = [] -bugcodes = [] -cderr = [] -cfg = [] -cfgmgr32 = [] -cguid = [] -combaseapi = [] -coml2api = [] -commapi = [] -commctrl = [] -commdlg = [] -commoncontrols = [] -consoleapi = [] -corsym = [] -d2d1 = [] -d2d1_1 = [] -d2d1_2 = [] -d2d1_3 = [] -d2d1effectauthor = [] -d2d1effects = [] -d2d1effects_1 = [] -d2d1effects_2 = [] -d2d1svg = [] -d2dbasetypes = [] -d3d = [] -d3d10 = [] -d3d10_1 = [] -d3d10_1shader = [] -d3d10effect = [] -d3d10misc = [] -d3d10sdklayers = [] -d3d10shader = [] -d3d11 = [] -d3d11_1 = [] -d3d11_2 = [] -d3d11_3 = [] -d3d11_4 = [] -d3d11on12 = [] -d3d11sdklayers = [] -d3d11shader = [] -d3d11tokenizedprogramformat = [] -d3d12 = [] -d3d12sdklayers = [] -d3d12shader = [] -d3d9 = [] -d3d9caps = [] -d3d9types = [] -d3dcommon = [] -d3dcompiler = [] -d3dcsx = [] -d3dkmdt = [] -d3dkmthk = [] -d3dukmdt = [] -d3dx10core = [] -d3dx10math = [] -d3dx10mesh = [] -datetimeapi = [] -davclnt = [] -dbghelp = [] -dbt = [] -dcommon = [] -dcomp = [] -dcompanimation = [] -dcomptypes = [] -dde = [] -ddraw = [] -ddrawi = [] -ddrawint = [] -debug = ["impl-debug"] -debugapi = [] -devguid = [] -devicetopology = [] -devpkey = [] -devpropdef = [] -dinput = [] -dinputd = [] -dispex = [] -dmksctl = [] -dmusicc = [] -docobj = [] -documenttarget = [] -dpa_dsa = [] -dpapi = [] -dsgetdc = [] -dsound = [] -dsrole = [] -dvp = [] -dwmapi = [] -dwrite = [] -dwrite_1 = [] -dwrite_2 = [] -dwrite_3 = [] -dxdiag = [] -dxfile = [] -dxgi = [] -dxgi1_2 = [] -dxgi1_3 = [] -dxgi1_4 = [] -dxgi1_5 = [] -dxgi1_6 = [] -dxgidebug = [] -dxgiformat = [] -dxgitype = [] -dxva2api = [] -dxvahd = [] -enclaveapi = [] -endpointvolume = [] -errhandlingapi = [] -everything = [] -evntcons = [] -evntprov = [] -evntrace = [] -excpt = [] -exdisp = [] -fibersapi = [] -fileapi = [] -gl-gl = [] -guiddef = [] -handleapi = [] -heapapi = [] -hidclass = [] -hidpi = [] -hidsdi = [] -hidusage = [] -highlevelmonitorconfigurationapi = [] -hstring = [] -http = [] -ifdef = [] -imm = [] -impl-debug = [] -impl-default = [] -in6addr = [] -inaddr = [] -inspectable = [] -interlockedapi = [] -intsafe = [] -ioapiset = [] -jobapi = [] -jobapi2 = [] -knownfolders = [] -ks = [] -ksmedia = [] -ktmtypes = [] -ktmw32 = [] -libloaderapi = [] -limits = [] -lmaccess = [] -lmalert = [] -lmapibuf = [] -lmat = [] -lmcons = [] -lmdfs = [] -lmerrlog = [] -lmjoin = [] -lmmsg = [] -lmremutl = [] -lmrepl = [] -lmserver = [] -lmshare = [] -lmstats = [] -lmsvc = [] -lmuse = [] -lmwksta = [] -lowlevelmonitorconfigurationapi = [] -lsalookup = [] -memoryapi = [] -minschannel = [] -minwinbase = [] -minwindef = [] -mmdeviceapi = [] -mmeapi = [] -mmreg = [] -mmsystem = [] -msaatext = [] -mscat = [] -mschapp = [] -mssip = [] -mstcpip = [] -mswsock = [] -mswsockdef = [] -namedpipeapi = [] -namespaceapi = [] -nb30 = [] -ncrypt = [] -netioapi = [] -ntddscsi = [] -ntddser = [] -ntdef = [] -ntlsa = [] -ntsecapi = [] -ntstatus = [] -oaidl = [] -objbase = [] -objidl = [] -objidlbase = [] -ocidl = [] -ole2 = [] -oleauto = [] -olectl = [] -oleidl = [] -opmapi = [] -pdh = [] -perflib = [] -physicalmonitorenumerationapi = [] -playsoundapi = [] -portabledevice = [] -portabledeviceapi = [] -portabledevicetypes = [] -powerbase = [] -powersetting = [] -powrprof = [] -processenv = [] -processsnapshot = [] -processthreadsapi = [] -processtopologyapi = [] -profileapi = [] -propidl = [] -propkeydef = [] -propsys = [] -prsht = [] -psapi = [] -qos = [] -realtimeapiset = [] -reason = [] -restartmanager = [] -restrictederrorinfo = [] -rmxfguid = [] -roapi = [] -robuffer = [] -roerrorapi = [] -rpc = [] -rpcdce = [] -rpcndr = [] -sapi = [] -sapi51 = [] -sapi53 = [] -sapiddk = [] -sapiddk51 = [] -schannel = [] -sddl = [] -securityappcontainer = [] -securitybaseapi = [] -servprov = [] -setupapi = [] -shellapi = [] -shellscalingapi = [] -shlobj = [] -shobjidl = [] -shobjidl_core = [] -shtypes = [] -spapidef = [] -spellcheck = [] -sporder = [] -sql = [] -sqlext = [] -sqltypes = [] -sqlucode = [] -sspi = [] -std = [] -stralign = [] -stringapiset = [] -strmif = [] -subauth = [] -synchapi = [] -sysinfoapi = [] -systemtopologyapi = [] -taskschd = [] -textstor = [] -threadpoolapiset = [] -threadpoollegacyapiset = [] -timeapi = [] -timezoneapi = [] -tlhelp32 = [] -transportsettingcommon = [] -tvout = [] -unknwnbase = [] -urlhist = [] -urlmon = [] -usb = [] -usbiodef = [] -usbspec = [] -userenv = [] -usp10 = [] -utilapiset = [] -uxtheme = [] -vadefs = [] -vcruntime = [] -vsbackup = [] -vss = [] -vsserror = [] -vswriter = [] -wbemads = [] -wbemcli = [] -wbemdisp = [] -wbemprov = [] -wbemtran = [] -wct = [] -werapi = [] -winbase = [] -wincodec = [] -wincodecsdk = [] -wincon = [] -wincontypes = [] -wincred = [] -wincrypt = [] -windef = [] -windowsceip = [] -windowsx = [] -winefs = [] -winerror = [] -winevt = [] -wingdi = [] -winhttp = [] -wininet = [] -winineti = [] -winioctl = [] -winnetwk = [] -winnls = [] -winnt = [] -winreg = [] -winsafer = [] -winscard = [] -winsmcrd = [] -winsock2 = [] -winspool = [] -winstring = [] -winsvc = [] -winusb = [] -winusbio = [] -winuser = [] -winver = [] -wmistr = [] -wnnc = [] -wow64apiset = [] -wpdmtpextensions = [] -ws2def = [] -ws2ipdef = [] -ws2spi = [] -ws2tcpip = [] -wtypes = [] -wtypesbase = [] -xinput = [] -[target.i686-pc-windows-gnu.dependencies.winapi-i686-pc-windows-gnu] -version = "0.4" -[target.x86_64-pc-windows-gnu.dependencies.winapi-x86_64-pc-windows-gnu] -version = "0.4" -[badges.appveyor] -branch = "0.3" -repository = "retep998/winapi-rs" -service = "github" - -[badges.travis-ci] -branch = "0.3" -repository = "retep998/winapi-rs" diff --git a/vendor/registry-40351f815f426200/winapi/LICENSE-APACHE b/vendor/registry-40351f815f426200/winapi/LICENSE-APACHE deleted file mode 100644 index 8dada3eda..000000000 --- a/vendor/registry-40351f815f426200/winapi/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/registry-40351f815f426200/winapi/LICENSE-MIT b/vendor/registry-40351f815f426200/winapi/LICENSE-MIT deleted file mode 100644 index 6f1b4c850..000000000 --- a/vendor/registry-40351f815f426200/winapi/LICENSE-MIT +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2015-2018 The winapi-rs Developers - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/vendor/registry-40351f815f426200/winapi/README.md b/vendor/registry-40351f815f426200/winapi/README.md deleted file mode 100644 index 0d8d39c61..000000000 --- a/vendor/registry-40351f815f426200/winapi/README.md +++ /dev/null @@ -1,89 +0,0 @@ -# winapi-rs -[![Build status](https://ci.appveyor.com/api/projects/status/i47oonf5e7qm5utq/branch/0.3?svg=true)](https://ci.appveyor.com/project/retep998/winapi-rs/branch/0.3) -[![Build Status](https://travis-ci.org/retep998/winapi-rs.svg?branch=0.3)](https://travis-ci.org/retep998/winapi-rs) -[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/retep998/winapi-rs) -[![Crates.io](https://img.shields.io/crates/v/winapi.svg)](https://crates.io/crates/winapi) -![Lines of Code](https://tokei.rs/b1/github/retep998/winapi-rs) -![100% unsafe](https://img.shields.io/badge/unsafe-100%25-blue.svg) -[![Open issues](https://img.shields.io/github/issues-raw/retep998/winapi-rs.svg)](https://github.com/retep998/winapi-rs/issues) -[![License](https://img.shields.io/crates/l/winapi.svg)](https://github.com/retep998/winapi-rs) - - -[Documentation](https://docs.rs/winapi/*/x86_64-pc-windows-msvc/winapi/) - -Official IRC channel: #winapi on [Mozilla IRC](https://wiki.mozilla.org/IRC) - -This crate provides raw FFI bindings to all of Windows API. They are gathered by hand using the Windows 10 SDK from Microsoft. I aim to replace all existing Windows FFI in other crates with this crate through the "[Embrace, extend, and extinguish](http://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish)" technique. - -If this crate is missing something you need, feel free to create an issue, open a pull request, or contact me via [other means](http://www.rustaceans.org/retep998). - -This crate depends on Rust 1.6 or newer on Windows. On other platforms this crate is a no-op and should compile with Rust 1.2 or newer. - -## Frequently asked questions ## - -### How do I create an instance of a union? - -Use `std::mem::zeroed()` to create an instance of the union, and then assign the value you want using one of the variant methods. - -### Why am I getting errors about unresolved imports? - -Each module is gated on a feature flag, so you must enable the appropriate feature to gain access to those items. For example, if you want to use something from `winapi::um::winuser` you must enable the `winuser` feature. - -### How do I know which module an item is defined in? - -You can use the search functionality in the [documentation](https://docs.rs/winapi/*/x86_64-pc-windows-msvc/winapi/) to find where items are defined. - -### Why is there no documentation on how to use anything? - -This crate is nothing more than raw bindings to Windows API. If you wish to know how to use the various functionality in Windows API, you can look up the various items on [MSDN](https://msdn.microsoft.com/en-us/library/windows/desktop/aa906039) which is full of detailed documentation. - -### Can I use this library in `no_std` projects? - -Yes, absolutely! By default the `std` feature of `winapi` is disabled, allowing you to write Windows applications using nothing but `core` and `winapi`. - -### Why is `winapi`'s `HANDLE` incompatible with `std`'s `HANDLE`? - -Because `winapi` does not depend on `std` by default, it has to define `c_void` itself instead of using `std::os::raw::c_void`. However, if you enable the `std` feature of `winapi` then it will re-export `c_void` from `std` and cause `winapi`'s `HANDLE` to be the same type as `std`'s `HANDLE`. - -### Should I still use those `-sys` crates such as `kernel32-sys`? - -No. Those crates are a legacy of how `winapi` 0.2 was organized. Starting with `winapi` 0.3 all definitions are directly in `winapi` itself, and so there is no longer any need to use those `-sys` crates. - -## Example ## - -Cargo.toml: -```toml -[target.'cfg(windows)'.dependencies] -winapi = { version = "0.3", features = ["winuser"] } -``` -main.rs: -```Rust -#[cfg(windows)] extern crate winapi; -use std::io::Error; - -#[cfg(windows)] -fn print_message(msg: &str) -> Result { - use std::ffi::OsStr; - use std::iter::once; - use std::os::windows::ffi::OsStrExt; - use std::ptr::null_mut; - use winapi::um::winuser::{MB_OK, MessageBoxW}; - let wide: Vec = OsStr::new(msg).encode_wide().chain(once(0)).collect(); - let ret = unsafe { - MessageBoxW(null_mut(), wide.as_ptr(), wide.as_ptr(), MB_OK) - }; - if ret == 0 { Err(Error::last_os_error()) } - else { Ok(ret) } -} -#[cfg(not(windows))] -fn print_message(msg: &str) -> Result<(), Error> { - println!("{}", msg); - Ok(()) -} -fn main() { - print_message("Hello, world!").unwrap(); -} -``` - -## Financial Support -Do you use `winapi` in your projects? If so, you may be interested in financially supporting me on [Patreon](https://www.patreon.com/retep998). Companies in particular are especially encouraged to donate (I'm looking at you [Microsoft](https://github.com/Azure/iotedge/tree/master/edgelet)). diff --git a/vendor/registry-40351f815f426200/winapi/build.rs b/vendor/registry-40351f815f426200/winapi/build.rs deleted file mode 100644 index 036687d25..000000000 --- a/vendor/registry-40351f815f426200/winapi/build.rs +++ /dev/null @@ -1,488 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use std::cell::Cell; -use std::collections::HashMap; -use std::env::var; -// (header name, &[header dependencies], &[library dependencies]) -const DATA: &'static [(&'static str, &'static [&'static str], &'static [&'static str])] = &[ - // km - ("d3dkmthk", &["basetsd", "d3dukmdt", "minwindef", "ntdef", "windef"], &[]), - // mmos - // shared - ("basetsd", &[], &[]), - ("bcrypt", &["minwindef", "winnt"], &["bcrypt"]), - ("bugcodes", &["ntdef"], &[]), - ("cderr", &["minwindef"], &[]), - ("cfg", &["minwindef"], &[]), - ("d3d9", &["basetsd", "d3d9caps", "d3d9types", "guiddef", "minwindef", "unknwnbase", "windef", "wingdi", "winnt"], &["d3d9"]), - ("d3d9caps", &["d3d9types", "guiddef", "minwindef", "winnt"], &[]), - ("d3d9types", &["basetsd", "guiddef", "minwindef", "windef", "winnt"], &[]), - ("d3dkmdt", &["basetsd", "minwindef", "ntdef"], &[]), - ("d3dukmdt", &["basetsd", "guiddef", "minwindef", "ntdef"], &[]), - ("dcomptypes", &["dxgitype", "minwindef", "winnt"], &[]), - ("devguid", &[], &[]), - ("devpkey", &["devpropdef"], &[]), - ("devpropdef", &["guiddef", "minwindef", "winnt"], &[]), - ("dinputd", &[], &[]), - ("dxgi", &["basetsd", "dxgiformat", "dxgitype", "guiddef", "minwindef", "unknwnbase", "windef", "winnt"], &["dxgi"]), - ("dxgi1_2", &["basetsd", "dxgi", "dxgiformat", "dxgitype", "guiddef", "minwinbase", "minwindef", "unknwnbase", "windef", "winnt"], &[]), - ("dxgi1_3", &["dxgi", "dxgi1_2", "dxgiformat", "guiddef", "minwindef", "unknwnbase", "windef", "winnt"], &["dxgi"]), - ("dxgi1_4", &["basetsd", "dxgi1_2", "dxgi1_3", "dxgiformat", "dxgitype", "guiddef", "minwindef", "unknwnbase", "winnt"], &[]), - ("dxgi1_5", &["basetsd", "dxgi", "dxgi1_2", "dxgi1_3", "dxgi1_4", "dxgiformat", "minwindef", "unknwnbase", "winnt"], &[]), - ("dxgi1_6", &["basetsd", "dxgi1_2", "dxgi1_4", "dxgi1_5", "dxgitype", "guiddef", "minwindef", "windef", "winnt"], &[]), - ("dxgiformat", &[], &[]), - ("dxgitype", &["d3d9types", "dxgiformat", "minwindef"], &[]), - ("enclaveapi", &["basetsd", "minwinbase", "minwindef", "ntdef", "winnt"], &["kernel32"]), - ("evntprov", &["basetsd", "guiddef", "minwindef", "winnt"], &["advapi32"]), - ("evntrace", &["basetsd", "evntcons", "evntprov", "guiddef", "handleapi", "minwindef", "timezoneapi", "vadefs", "winnt", "wmistr"], &["advapi32"]), - ("guiddef", &[], &[]), - ("hidclass", &["guiddef", "minwindef", "winioctl", "winnt"], &[]), - ("hidpi", &["hidusage", "minwindef", "ntdef", "ntstatus", "winnt"], &["hid"]), - ("hidsdi", &["guiddef", "hidpi", "minwindef", "winnt"], &["hid"]), - ("hidusage", &["minwindef"], &[]), - ("ifdef", &["basetsd", "minwindef"], &[]), - ("in6addr", &["minwindef"], &[]), - ("inaddr", &["minwindef"], &[]), - ("intsafe", &[], &[]), - ("ks", &[], &[]), - ("ksmedia", &[], &[]), - ("ktmtypes", &["guiddef", "minwindef", "winnt"], &[]), - ("lmcons", &["minwindef", "winnt"], &[]), - ("minwindef", &["basetsd", "ntdef"], &[]), - ("mmreg", &["guiddef", "minwindef"], &[]), - ("mstcpip", &["basetsd", "guiddef", "in6addr", "inaddr", "minwindef", "winnt", "ws2def"], &["ntdll"]), - ("mswsockdef", &["minwindef", "winnt", "ws2def"], &[]), - ("netioapi", &["basetsd", "guiddef", "ifdef", "minwindef", "ntdef"], &["iphlpapi"]), - ("ntddscsi", &["basetsd", "minwindef", "ntdef", "winioctl", "winnt"], &[]), - ("ntddser", &["devpropdef"], &[]), - ("ntdef", &["basetsd", "guiddef"], &[]), - ("ntstatus", &["ntdef"], &[]), - ("qos", &["minwindef"], &[]), - ("rpc", &[], &[]), - ("rpcdce", &["guiddef", "minwindef", "rpc"], &[]), - ("rpcndr", &[], &[]), - ("sddl", &["basetsd", "minwindef", "winnt"], &["advapi32"]), - ("sspi", &["basetsd", "guiddef", "minwindef", "subauth", "wincred", "winnt"], &["credui", "secur32"]), - ("stralign", &["vcruntime", "winnt"], &["kernel32"]), - ("transportsettingcommon", &["guiddef"], &[]), - ("tvout", &["guiddef", "minwindef"], &[]), - ("usb", &["minwindef", "usbspec", "winnt"], &[]), - ("usbiodef", &["guiddef", "minwindef", "winioctl", "winnt"], &[]), - ("usbspec", &["basetsd", "guiddef", "minwindef", "winnt"], &[]), - ("windef", &["minwindef", "winnt"], &[]), - ("windowsx", &["minwindef"], &[]), - ("winerror", &["minwindef", "wtypesbase"], &[]), - ("winusbio", &["minwindef", "usb"], &[]), - ("wmistr", &["basetsd", "guiddef", "minwindef", "winnt"], &[]), - ("wnnc", &["minwindef"], &[]), - ("ws2def", &["basetsd", "guiddef", "inaddr", "minwindef", "vcruntime", "winnt"], &[]), - ("ws2ipdef", &["in6addr", "inaddr", "minwindef", "ws2def"], &[]), - ("wtypes", &["guiddef", "minwindef", "ntdef", "rpcndr", "wingdi", "wtypesbase"], &[]), - ("wtypesbase", &["minwindef", "rpcndr", "winnt"], &[]), - // ucrt - // um - ("accctrl", &["guiddef", "minwindef", "winbase", "winnt"], &[]), - ("aclapi", &["accctrl", "guiddef", "minwindef", "winnt"], &["advapi32"]), - ("appmgmt", &["guiddef", "minwindef", "winnt"], &["advapi32"]), - ("audioclient", &["audiosessiontypes", "basetsd", "guiddef", "minwindef", "mmreg", "strmif", "unknwnbase", "winerror", "winnt", "wtypesbase"], &[]), - ("audiosessiontypes", &["minwindef"], &[]), - ("avrt", &["guiddef", "minwindef", "winnt"], &["avrt"]), - ("bits", &["basetsd", "guiddef", "minwindef", "unknwnbase", "winnt"], &[]), - ("bits10_1", &["basetsd", "bits", "bits2_0", "bits3_0", "bits5_0", "minwindef", "winnt"], &[]), - ("bits1_5", &["basetsd", "bits", "rpcndr", "winnt"], &[]), - ("bits2_0", &["basetsd", "bits", "bits1_5", "minwindef", "winnt"], &[]), - ("bits2_5", &["minwindef", "rpcndr", "unknwnbase", "winnt"], &[]), - ("bits3_0", &["basetsd", "bits", "bits2_0", "guiddef", "minwindef", "unknwnbase", "winnt"], &[]), - ("bits4_0", &["basetsd", "bits3_0", "minwindef", "unknwnbase", "winnt"], &[]), - ("bits5_0", &["basetsd", "bits1_5", "bits3_0", "bits4_0", "guiddef", "minwindef", "winnt"], &[]), - ("bitscfg", &["guiddef", "oaidl", "unknwnbase", "winnt", "wtypes"], &["oleaut32"]), - ("bitsmsg", &["minwindef"], &[]), - ("cfgmgr32", &["basetsd", "cfg", "devpropdef", "guiddef", "minwindef", "winnt", "winreg"], &["cfgmgr32"]), - ("cguid", &[], &[]), - ("combaseapi", &["basetsd", "guiddef", "minwindef", "objidl", "objidlbase", "propidl", "rpcdce", "unknwnbase", "winnt", "wtypesbase"], &["ole32"]), - ("coml2api", &["minwindef"], &[]), - ("commapi", &["minwinbase", "minwindef", "winbase", "winnt"], &["kernel32"]), - ("commctrl", &["basetsd", "commoncontrols", "guiddef", "minwinbase", "minwindef", "vcruntime", "windef", "winnt", "winuser"], &["comctl32"]), - ("commdlg", &["basetsd", "minwindef", "prsht", "unknwnbase", "windef", "wingdi", "winnt", "winuser"], &["comdlg32"]), - ("commoncontrols", &["commctrl", "guiddef", "minwindef", "unknwnbase", "windef", "winnt"], &["comctl32"]), - ("consoleapi", &["minwindef", "wincon", "wincontypes", "winnt"], &["kernel32"]), - ("corsym", &["basetsd", "objidlbase", "unknwnbase", "winnt"], &[]), - ("d2d1", &["basetsd", "d2dbasetypes", "d3dcommon", "dcommon", "dwrite", "dxgi", "guiddef", "minwindef", "unknwnbase", "wincodec", "windef", "winnt"], &["d2d1"]), - ("d2d1_1", &["basetsd", "d2d1", "d2d1effectauthor", "d2dbasetypes", "dcommon", "documenttarget", "dwrite", "dxgi", "dxgiformat", "guiddef", "minwindef", "objidlbase", "unknwnbase", "wincodec", "winnt"], &["d2d1"]), - ("d2d1_2", &["d2d1", "d2d1_1", "dxgi", "minwindef", "winnt"], &["d2d1"]), - ("d2d1_3", &["basetsd", "d2d1", "d2d1_1", "d2d1_2", "d2d1effects", "d2d1svg", "dcommon", "dwrite", "dxgi", "dxgitype", "minwindef", "ntdef", "objidlbase", "wincodec", "winerror"], &["d2d1"]), - ("d2d1effectauthor", &["basetsd", "d2d1", "d2d1_1", "d2dbasetypes", "d3dcommon", "dxgiformat", "guiddef", "minwindef", "ntdef", "unknwnbase", "wincodec"], &[]), - ("d2d1effects", &[], &[]), - ("d2d1effects_1", &[], &[]), - ("d2d1effects_2", &[], &[]), - ("d2d1svg", &["basetsd", "d2d1", "d2d1_1", "guiddef", "minwindef", "ntdef", "objidlbase", "winerror"], &[]), - ("d2dbasetypes", &["d3d9types", "dcommon"], &[]), - ("d3d", &[], &[]), - ("d3d10", &["d3dcommon"], &[]), - ("d3d10_1", &[], &[]), - ("d3d10_1shader", &[], &[]), - ("d3d10effect", &[], &[]), - ("d3d10misc", &[], &[]), - ("d3d10sdklayers", &[], &[]), - ("d3d10shader", &["d3d10", "d3dcommon", "minwindef", "unknwnbase", "winnt"], &[]), - ("d3d11", &["basetsd", "d3dcommon", "dxgi", "dxgiformat", "dxgitype", "guiddef", "minwindef", "unknwnbase", "windef", "winnt"], &["d3d11"]), - ("d3d11_1", &["basetsd", "d3d11", "d3dcommon", "dxgiformat", "dxgitype", "guiddef", "minwindef", "unknwnbase", "winnt"], &[]), - ("d3d11_2", &["basetsd", "d3d11", "d3d11_1", "dxgiformat", "minwindef", "winnt"], &[]), - ("d3d11_3", &[], &[]), - ("d3d11_4", &[], &[]), - ("d3d11on12", &["d3d11", "d3d12", "d3dcommon", "guiddef", "minwindef", "unknwnbase", "winnt"], &["d3d11"]), - ("d3d11sdklayers", &["basetsd", "d3d11", "dxgi", "minwindef", "unknwnbase", "winnt"], &[]), - ("d3d11shader", &["basetsd", "d3dcommon", "minwindef", "unknwnbase", "winnt"], &[]), - ("d3d11tokenizedprogramformat", &["minwindef"], &[]), - ("d3d12", &["basetsd", "d3dcommon", "dxgiformat", "dxgitype", "guiddef", "minwinbase", "minwindef", "unknwnbase", "windef", "winnt"], &["d3d12"]), - ("d3d12sdklayers", &["basetsd", "d3d12", "minwindef", "unknwnbase", "winnt"], &[]), - ("d3d12shader", &["basetsd", "d3dcommon", "minwindef", "unknwnbase", "winnt"], &[]), - ("d3dcommon", &["basetsd", "minwindef", "unknwnbase", "winnt"], &[]), - ("d3dcompiler", &["basetsd", "d3d11shader", "d3dcommon", "guiddef", "minwindef", "winnt"], &["d3dcompiler"]), - ("d3dcsx", &[], &[]), - ("d3dx10core", &[], &[]), - ("d3dx10math", &[], &[]), - ("d3dx10mesh", &[], &[]), - ("datetimeapi", &["minwinbase", "minwindef", "winnt"], &["kernel32"]), - ("davclnt", &["minwindef", "winnt"], &["netapi32"]), - ("dbghelp", &["basetsd", "guiddef", "minwindef", "vcruntime", "winnt"], &["dbghelp"]), - ("dbt", &["basetsd", "guiddef", "minwindef", "winnt", "winuser"], &[]), - ("dcommon", &["basetsd", "dxgiformat", "minwindef", "windef"], &[]), - ("dcomp", &["d2d1", "d2d1_1", "d2d1effects", "d2dbasetypes", "d3d9types", "d3dcommon", "dcompanimation", "dcomptypes", "dxgi", "dxgi1_2", "dxgiformat", "guiddef", "minwinbase", "minwindef", "ntdef", "unknwnbase", "windef"], &["dcomp"]), - ("dcompanimation", &["ntdef", "unknwnbase"], &[]), - ("dde", &["basetsd", "minwindef"], &["user32"]), - ("ddraw", &[], &[]), - ("ddrawi", &[], &[]), - ("ddrawint", &[], &[]), - ("debugapi", &["minwinbase", "minwindef", "winnt"], &["kernel32"]), - ("devicetopology", &["guiddef", "minwindef", "unknwnbase", "windef", "winnt", "wtypes"], &[]), - ("dinput", &[], &[]), - ("dispex", &["basetsd", "guiddef", "minwindef", "oaidl", "servprov", "unknwnbase", "winerror", "winnt", "wtypes"], &[]), - ("dmksctl", &[], &[]), - ("dmusicc", &[], &[]), - ("docobj", &["guiddef", "minwindef", "oaidl", "unknwnbase", "winnt"], &[]), - ("documenttarget", &["basetsd", "guiddef", "ntdef", "unknwnbase"], &[]), - ("dpa_dsa", &["basetsd", "minwindef", "winnt"], &["comctl32"]), - ("dpapi", &["minwindef", "wincrypt", "windef", "winnt"], &["crypt32"]), - ("dsgetdc", &["guiddef", "minwindef", "ntsecapi", "winnt", "ws2def"], &["netapi32"]), - ("dsound", &["guiddef", "minwindef", "mmsystem", "unknwnbase", "windef", "winerror", "winnt"], &["dsound"]), - ("dsrole", &["guiddef", "minwindef", "winnt"], &["netapi32"]), - ("dvp", &[], &[]), - ("dwmapi", &["basetsd", "minwindef", "uxtheme", "windef", "winnt"], &["dwmapi"]), - ("dwrite", &["basetsd", "d2d1", "dcommon", "guiddef", "minwindef", "unknwnbase", "windef", "winerror", "wingdi", "winnt"], &["dwrite"]), - ("dwrite_1", &["basetsd", "dcommon", "dwrite", "minwindef", "winnt"], &[]), - ("dwrite_2", &["basetsd", "d3d9types", "dcommon", "dwrite", "dwrite_1", "minwindef", "unknwnbase", "winnt"], &[]), - ("dwrite_3", &["basetsd", "dcommon", "dwrite", "dwrite_1", "dwrite_2", "minwindef", "unknwnbase", "wingdi", "winnt"], &[]), - ("dxdiag", &[], &[]), - ("dxfile", &[], &[]), - ("dxgidebug", &["basetsd", "guiddef", "minwindef", "unknwnbase", "winnt"], &["dxgi"]), - ("dxva2api", &["basetsd", "d3d9", "d3d9types", "guiddef", "minwindef", "unknwnbase", "windef", "winnt"], &["dxva2"]), - ("dxvahd", &["d3d9", "d3d9types", "guiddef", "minwindef", "unknwnbase", "windef", "winnt"], &["dxva2"]), - ("endpointvolume", &["basetsd", "guiddef", "minwindef", "unknwnbase", "winnt"], &[]), - ("errhandlingapi", &["basetsd", "minwindef", "winnt"], &["kernel32"]), - ("evntcons", &["basetsd", "evntprov", "evntrace", "guiddef", "minwindef", "winnt"], &["advapi32"]), - ("exdisp", &["basetsd", "docobj", "oaidl", "ocidl", "winnt", "wtypes"], &[]), - ("fibersapi", &["minwindef", "winnt"], &["kernel32"]), - ("fileapi", &["minwinbase", "minwindef", "winnt"], &["kernel32"]), - ("gl-gl", &[], &["opengl32"]), - ("handleapi", &["minwindef", "winnt"], &["kernel32"]), - ("heapapi", &["basetsd", "minwinbase", "minwindef", "winnt"], &["kernel32"]), - ("highlevelmonitorconfigurationapi", &["minwindef", "physicalmonitorenumerationapi", "winnt"], &["dxva2"]), - ("http", &["guiddef", "minwinbase", "minwindef", "sspi", "winnt", "ws2def"], &["winhttp"]), - ("imm", &["minwindef", "windef"], &["imm32"]), - ("interlockedapi", &["minwindef", "winnt"], &["kernel32"]), - ("ioapiset", &["basetsd", "minwinbase", "minwindef", "winnt"], &["kernel32"]), - ("jobapi", &["minwindef", "winnt"], &["kernel32"]), - ("jobapi2", &["basetsd", "minwinbase", "minwindef", "ntdef", "winnt"], &["kernel32"]), - ("knownfolders", &[], &[]), - ("ktmw32", &["guiddef", "minwinbase", "minwindef", "winnt"], &["ktmw32"]), - ("libloaderapi", &["basetsd", "minwindef", "winnt"], &["kernel32", "user32"]), - ("lmaccess", &["basetsd", "lmcons", "minwindef", "winnt"], &["netapi32"]), - ("lmalert", &["lmcons", "minwindef", "winnt"], &["netapi32"]), - ("lmapibuf", &["lmcons", "minwindef"], &["netapi32"]), - ("lmat", &["basetsd", "lmcons", "minwindef", "winnt"], &["netapi32"]), - ("lmdfs", &["guiddef", "lmcons", "minwindef", "winnt"], &["netapi32"]), - ("lmerrlog", &["minwindef", "winnt"], &[]), - ("lmjoin", &["lmcons", "minwindef", "wincrypt", "winnt"], &["netapi32"]), - ("lmmsg", &["lmcons", "minwindef", "winnt"], &["netapi32"]), - ("lmremutl", &["lmcons", "minwindef", "winnt"], &["netapi32"]), - ("lmrepl", &["lmcons", "minwindef", "winnt"], &["netapi32"]), - ("lmserver", &["guiddef", "lmcons", "minwindef", "winnt", "winsvc"], &["advapi32", "netapi32"]), - ("lmshare", &["basetsd", "guiddef", "lmcons", "minwindef", "winnt"], &["netapi32"]), - ("lmstats", &["lmcons", "minwindef", "winnt"], &["netapi32"]), - ("lmsvc", &["lmcons", "minwindef", "winnt"], &["netapi32"]), - ("lmuse", &["lmcons", "minwindef", "winnt"], &["netapi32"]), - ("lmwksta", &["lmcons", "minwindef", "winnt"], &["netapi32"]), - ("lowlevelmonitorconfigurationapi", &["minwindef", "physicalmonitorenumerationapi", "winnt"], &["dxva2"]), - ("lsalookup", &["guiddef", "minwindef", "ntdef", "winnt"], &["advapi32"]), - ("memoryapi", &["basetsd", "minwinbase", "minwindef", "winnt"], &["kernel32"]), - ("minschannel", &["guiddef", "minwindef", "wincrypt", "winnt"], &[]), - ("minwinbase", &["basetsd", "minwindef", "ntstatus", "winnt"], &[]), - ("mmdeviceapi", &["guiddef", "minwindef", "propidl", "propsys", "unknwnbase", "winnt", "wtypes"], &["mmdevapi"]), - ("mmeapi", &["basetsd", "imm", "minwindef", "mmsystem", "winnt"], &["winmm"]), - ("mmsystem", &["basetsd", "minwindef", "mmreg", "winnt"], &[]), - ("msaatext", &[], &[]), - ("mscat", &["guiddef", "minwindef", "mssip", "wincrypt", "winnt"], &[]), - ("mschapp", &["basetsd", "minwindef", "winnt"], &["advapi32"]), - ("mssip", &["guiddef", "minwindef", "mscat", "wincrypt", "winnt"], &["crypt32"]), - ("mswsock", &["minwinbase", "minwindef", "mswsockdef", "winnt", "winsock2", "ws2def"], &["mswsock"]), - ("namedpipeapi", &["minwinbase", "minwindef", "winnt"], &["advapi32", "kernel32"]), - ("namespaceapi", &["minwinbase", "minwindef", "ntdef", "winnt"], &["kernel32"]), - ("nb30", &["minwindef", "winnt"], &["netapi32"]), - ("ncrypt", &["basetsd", "bcrypt", "minwindef", "winnt"], &["ncrypt"]), - ("ntlsa", &["basetsd", "guiddef", "lsalookup", "minwindef", "ntdef", "ntsecapi", "subauth", "winnt"], &["advapi32"]), - ("ntsecapi", &["basetsd", "guiddef", "lsalookup", "minwindef", "ntdef", "sspi", "subauth", "winnt"], &["advapi32"]), - ("oaidl", &["basetsd", "guiddef", "minwindef", "rpcndr", "unknwnbase", "winnt", "wtypes", "wtypesbase"], &[]), - ("objbase", &["combaseapi", "minwindef", "winnt"], &["ole32"]), - ("objidl", &["basetsd", "guiddef", "minwindef", "ntdef", "objidlbase", "unknwnbase", "windef", "winnt", "wtypes", "wtypesbase"], &[]), - ("objidlbase", &["basetsd", "guiddef", "minwindef", "unknwnbase", "winnt", "wtypesbase"], &[]), - ("ocidl", &["guiddef", "minwindef", "ntdef", "oaidl", "unknwnbase", "wtypes", "wtypesbase"], &[]), - ("ole2", &["minwindef", "oleidl", "windef", "winnt"], &["ole32"]), - ("oleauto", &["basetsd", "minwinbase", "minwindef", "oaidl", "winnt", "wtypes", "wtypesbase"], &["oleaut32"]), - ("olectl", &["winerror", "winnt"], &[]), - ("oleidl", &["minwindef", "ntdef", "objidl", "unknwnbase", "windef"], &[]), - ("opmapi", &["basetsd", "d3d9", "d3d9types", "dxva2api", "guiddef", "minwindef", "unknwnbase", "windef", "winnt"], &["dxva2"]), - ("pdh", &["basetsd", "guiddef", "minwindef", "windef", "winnt"], &["pdh"]), - ("perflib", &["basetsd", "guiddef", "minwinbase", "minwindef", "winnt"], &["advapi32"]), - ("physicalmonitorenumerationapi", &["d3d9", "minwindef", "windef", "winnt"], &["dxva2"]), - ("playsoundapi", &["minwindef", "winnt"], &["winmm"]), - ("portabledevice", &["basetsd"], &[]), - ("portabledeviceapi", &["guiddef", "minwindef", "objidlbase", "portabledevicetypes", "propkeydef", "unknwnbase", "winnt"], &[]), - ("portabledevicetypes", &["guiddef", "minwindef", "propidl", "propkeydef", "propsys", "unknwnbase", "winnt", "wtypes"], &[]), - ("powerbase", &["minwindef", "winnt", "winuser"], &["powrprof"]), - ("powersetting", &["guiddef", "minwindef", "winnt", "winuser"], &["powrprof"]), - ("powrprof", &["guiddef", "minwindef", "winnt", "winreg"], &["powrprof"]), - ("processenv", &["minwindef", "winnt"], &["kernel32"]), - ("processsnapshot", &["basetsd", "minwindef", "winnt"], &["kernel32"]), - ("processthreadsapi", &["basetsd", "guiddef", "minwinbase", "minwindef", "winnt"], &["advapi32", "kernel32"]), - ("processtopologyapi", &["minwindef", "winnt"], &["kernel32"]), - ("profileapi", &["minwindef", "winnt"], &["kernel32"]), - ("propidl", &["minwindef", "wtypes"], &[]), - ("propkeydef", &["guiddef", "wtypes"], &[]), - ("propsys", &["minwindef", "propidl", "propkeydef", "unknwnbase", "winnt", "wtypes"], &[]), - ("prsht", &["basetsd", "minwindef", "windef", "winnt", "winuser"], &["comctl32"]), - ("psapi", &["basetsd", "minwindef", "winnt"], &["kernel32", "psapi"]), - ("realtimeapiset", &["basetsd", "minwindef", "winnt"], &["kernel32"]), - ("reason", &["minwindef"], &[]), - ("restartmanager", &["minwindef", "winnt"], &["rstrtmgr"]), - ("restrictederrorinfo", &["unknwnbase", "winnt", "wtypes"], &[]), - ("rmxfguid", &[], &[]), - ("sapi", &["guiddef", "minwindef", "sapi53", "unknwnbase", "winnt"], &[]), - ("sapi51", &["guiddef", "minwindef", "mmreg", "oaidl", "objidlbase", "rpcndr", "servprov", "unknwnbase", "windef", "winnt", "wtypes", "wtypesbase"], &[]), - ("sapi53", &["guiddef", "minwindef", "oaidl", "sapi51", "unknwnbase", "urlmon", "winnt", "wtypes"], &[]), - ("sapiddk", &["guiddef", "minwindef", "sapi", "sapiddk51", "unknwnbase", "winnt"], &[]), - ("sapiddk51", &["guiddef", "minwindef", "mmreg", "oaidl", "objidlbase", "sapi", "unknwnbase", "windef", "winnt"], &[]), - ("schannel", &["guiddef", "minwindef", "wincrypt", "windef", "winnt"], &[]), - ("securityappcontainer", &["minwindef", "winnt"], &["kernel32"]), - ("securitybaseapi", &["guiddef", "minwinbase", "minwindef", "winnt"], &["advapi32", "kernel32"]), - ("servprov", &["guiddef", "unknwnbase", "winnt"], &[]), - ("setupapi", &["basetsd", "commctrl", "devpropdef", "guiddef", "minwindef", "prsht", "spapidef", "windef", "winnt", "winreg"], &["setupapi"]), - ("shellapi", &["basetsd", "guiddef", "minwinbase", "minwindef", "processthreadsapi", "windef", "winnt", "winuser"], &["shell32", "shlwapi"]), - ("shellscalingapi", &["minwindef", "windef", "winnt"], &["shcore"]), - ("shlobj", &["guiddef", "minwinbase", "minwindef", "shtypes", "windef", "winnt"], &["shell32"]), - ("shobjidl", &["guiddef", "minwindef", "objidl", "propkeydef", "propsys", "shobjidl_core", "shtypes", "unknwnbase", "windef", "winnt"], &[]), - ("shobjidl_core", &["commctrl", "guiddef", "minwindef", "objidl", "unknwnbase", "windef", "winnt"], &[]), - ("shtypes", &["guiddef", "minwindef", "winnt"], &[]), - ("spapidef", &["minwindef", "winnt"], &[]), - ("spellcheck", &["minwindef", "ntdef", "objidlbase", "unknwnbase", "winerror"], &[]), - ("sporder", &["guiddef", "minwindef"], &["sporder"]), - ("sql", &["sqltypes"], &["odbc32"]), - ("sqlext", &["sql", "sqltypes"], &[]), - ("sqltypes", &["basetsd", "guiddef", "windef"], &[]), - ("sqlucode", &["sqltypes"], &["odbc32"]), - ("stringapiset", &["minwindef", "winnls", "winnt"], &["kernel32"]), - ("strmif", &["winnt"], &[]), - ("subauth", &["minwindef", "winnt"], &[]), - ("synchapi", &["basetsd", "minwinbase", "minwindef", "winnt"], &["kernel32", "synchronization"]), - ("sysinfoapi", &["basetsd", "minwinbase", "minwindef", "winnt"], &["kernel32"]), - ("systemtopologyapi", &["minwindef", "winnt"], &["kernel32"]), - ("taskschd", &["minwinbase", "minwindef", "oaidl", "unknwnbase", "winnt", "wtypes"], &[]), - ("textstor", &[], &[]), - ("threadpoolapiset", &["basetsd", "minwinbase", "minwindef", "winnt"], &["kernel32"]), - ("threadpoollegacyapiset", &["minwinbase", "minwindef", "winnt"], &["kernel32"]), - ("timeapi", &["minwindef", "mmsystem"], &["winmm"]), - ("timezoneapi", &["minwinbase", "minwindef", "winnt"], &["advapi32", "kernel32"]), - ("tlhelp32", &["basetsd", "minwindef", "winnt"], &["kernel32"]), - ("unknwnbase", &["guiddef", "minwindef", "winnt"], &[]), - ("urlhist", &["docobj", "guiddef", "minwindef", "unknwnbase", "winnt", "wtypesbase"], &[]), - ("urlmon", &["minwindef", "unknwnbase", "winnt"], &[]), - ("userenv", &["minwindef", "winnt", "winreg"], &["userenv"]), - ("usp10", &["minwindef", "ntdef", "windef", "winerror", "wingdi", "winnt"], &["usp10"]), - ("utilapiset", &["minwindef", "ntdef"], &["kernel32"]), - ("uxtheme", &["commctrl", "minwindef", "windef", "wingdi", "winnt"], &["uxtheme"]), - ("vsbackup", &["guiddef", "minwindef", "unknwnbase", "vss", "vswriter", "winnt", "wtypes"], &["vssapi"]), - ("vss", &["guiddef", "minwindef", "unknwnbase", "winnt"], &[]), - ("vsserror", &["winnt"], &[]), - ("vswriter", &["minwindef", "unknwnbase", "vss", "winnt", "wtypes"], &[]), - ("wbemads", &["oaidl", "wbemdisp", "winerror", "wtypes"], &[]), - ("wbemcli", &["minwindef", "oaidl", "rpcndr", "unknwnbase", "winerror", "winnt", "wtypes"], &[]), - ("wbemdisp", &["oaidl", "unknwnbase", "winerror", "wtypes"], &[]), - ("wbemprov", &["minwindef", "oaidl", "unknwnbase", "wbemcli", "winerror", "winnt", "wtypes"], &[]), - ("wbemtran", &["guiddef", "minwindef", "unknwnbase", "wbemcli", "winerror", "winnt", "wtypes"], &[]), - ("wct", &["basetsd", "guiddef", "minwindef", "winnt"], &["advapi32"]), - ("werapi", &["minwindef", "winnt"], &["kernel32", "wer"]), - ("winbase", &["basetsd", "cfgmgr32", "fileapi", "guiddef", "libloaderapi", "minwinbase", "minwindef", "processthreadsapi", "vadefs", "windef", "winnt"], &["kernel32"]), - ("wincodec", &["basetsd", "d2d1", "d2d1_1", "dcommon", "dxgiformat", "dxgitype", "guiddef", "minwindef", "ntdef", "objidlbase", "ocidl", "propidl", "unknwnbase", "windef", "winerror", "winnt"], &["windowscodecs"]), - ("wincodecsdk", &["guiddef", "minwindef", "oaidl", "objidl", "objidlbase", "ocidl", "propidl", "unknwnbase", "wincodec", "winnt", "wtypes"], &["ole32", "oleaut32", "windowscodecs"]), - ("wincon", &["minwinbase", "minwindef", "wincontypes", "windef", "wingdi", "winnt"], &["kernel32"]), - ("wincontypes", &["minwindef", "winnt"], &[]), - ("wincred", &["minwindef", "sspi", "windef", "winnt"], &["advapi32", "credui"]), - ("wincrypt", &["basetsd", "bcrypt", "guiddef", "minwinbase", "minwindef", "ncrypt", "vcruntime", "winnt"], &["advapi32", "crypt32", "cryptnet"]), - ("windowsceip", &["minwindef"], &["kernel32"]), - ("winefs", &["basetsd", "minwinbase", "minwindef", "wincrypt", "winnt"], &["advapi32"]), - ("winevt", &["basetsd", "guiddef", "minwinbase", "minwindef", "vcruntime", "winnt"], &["wevtapi"]), - ("wingdi", &["basetsd", "minwindef", "windef", "winnt"], &["gdi32", "msimg32", "opengl32", "winspool"]), - ("winhttp", &["basetsd", "minwinbase", "minwindef", "winnt"], &["winhttp"]), - ("wininet", &["basetsd", "minwinbase", "minwindef", "ntdef", "windef", "winineti", "winnt"], &["wininet"]), - ("winineti", &["minwindef"], &[]), - ("winioctl", &["basetsd", "devpropdef", "guiddef", "minwindef", "winnt"], &[]), - ("winnetwk", &["basetsd", "minwindef", "windef", "winerror", "winnt"], &["mpr"]), - ("winnls", &["basetsd", "guiddef", "minwinbase", "minwindef", "winnt"], &["kernel32"]), - ("winnt", &["basetsd", "excpt", "guiddef", "ktmtypes", "minwindef", "ntdef", "vcruntime"], &["kernel32"]), - ("winreg", &["basetsd", "minwinbase", "minwindef", "winnt"], &["advapi32"]), - ("winsafer", &["basetsd", "guiddef", "minwindef", "wincrypt", "windef", "winnt"], &["advapi32"]), - ("winscard", &["basetsd", "guiddef", "minwindef", "rpcdce", "windef", "winnt", "winsmcrd"], &["winscard"]), - ("winsmcrd", &["minwindef", "winioctl"], &[]), - ("winsock2", &["basetsd", "guiddef", "inaddr", "minwinbase", "minwindef", "qos", "winbase", "windef", "winerror", "winnt", "ws2def", "wtypesbase"], &["ws2_32"]), - ("winspool", &["guiddef", "minwinbase", "minwindef", "vcruntime", "windef", "winerror", "wingdi", "winnt"], &["winspool"]), - ("winsvc", &["minwindef", "winnt"], &["advapi32"]), - ("winusb", &["minwinbase", "minwindef", "usb", "usbspec", "winnt", "winusbio"], &["winusb"]), - ("winuser", &["basetsd", "guiddef", "limits", "minwinbase", "minwindef", "vadefs", "windef", "wingdi", "winnt"], &["user32"]), - ("winver", &["minwindef", "winnt"], &["kernel32", "version"]), - ("wow64apiset", &["minwindef", "winnt"], &["kernel32"]), - ("wpdmtpextensions", &[], &[]), - ("ws2spi", &["basetsd", "guiddef", "minwindef", "vcruntime", "windef", "winnt", "winsock2", "ws2def", "wtypesbase"], &["ws2_32"]), - ("ws2tcpip", &["guiddef", "minwinbase", "minwindef", "mstcpip", "vcruntime", "winerror", "winnt", "winsock2", "ws2def", "wtypesbase"], &["fwpuclnt", "ws2_32"]), - ("xinput", &["guiddef", "minwindef", "winnt"], &["xinput"]), - // vc - ("excpt", &[], &[]), - ("limits", &[], &[]), - ("vadefs", &[], &[]), - ("vcruntime", &[], &[]), - // winrt - ("activation", &["inspectable", "winnt"], &[]), - ("hstring", &["winnt"], &[]), - ("inspectable", &["guiddef", "hstring", "minwindef", "unknwnbase", "winnt"], &[]), - ("roapi", &["activation", "basetsd", "guiddef", "hstring", "inspectable", "objidl", "winnt"], &["runtimeobject"]), - ("robuffer", &["objidl", "winnt"], &["runtimeobject"]), - ("roerrorapi", &["basetsd", "hstring", "minwindef", "restrictederrorinfo", "unknwnbase", "winnt"], &["runtimeobject"]), - ("winstring", &["basetsd", "hstring", "minwindef", "winnt"], &["runtimeobject"]), -]; -struct Header { - required: bool, - included: Cell, - dependencies: &'static [&'static str], - libraries: &'static [&'static str], -} -struct Graph(HashMap<&'static str, Header>); -impl Graph { - fn generate() -> Graph { - Graph(DATA.iter().map(|&(name, dependencies, libraries)| { - let header = Header { - required: false, - included: Cell::new(false), - dependencies: dependencies, - libraries: libraries, - }; - (name, header) - }).collect()) - } - fn identify_required(&mut self) { - for (name, header) in &mut self.0 { - if let Ok(_) = var(&format!("CARGO_FEATURE_{}", name.to_uppercase())) { - header.required = true; - header.included.set(true); - } - } - } - fn check_everything(&self) { - if let Ok(_) = var("CARGO_FEATURE_EVERYTHING") { - for (_, header) in &self.0 { - header.included.set(true); - } - } - } - fn resolve_dependencies(&self) { - let mut done = false; - while !done { - done = true; - for (_, header) in &self.0 { - if header.included.get() { - for dep in header.dependencies { - let dep = &self.0.get(dep).expect(dep); - if !dep.included.get() { - done = false; - dep.included.set(true); - } - } - } - } - } - } - fn emit_features(&self) { - for (name, header) in &self.0 { - if header.included.get() && !header.required { - println!("cargo:rustc-cfg=feature=\"{}\"", name); - } - } - } - fn emit_libraries(&self) { - let mut libs = self.0.iter().filter(|&(_, header)| { - header.included.get() - }).flat_map(|(_, header)| { - header.libraries.iter() - }).collect::>(); - libs.sort(); - libs.dedup(); - // FIXME Temporary hacks until build script is redesigned. - libs.retain(|&&lib| match &*var("TARGET").unwrap() { - "aarch64-pc-windows-msvc" => { - if lib == "opengl32" { false } - else { true } - }, - _ => true, - }); - let prefix = library_prefix(); - let kind = library_kind(); - for lib in libs { - println!("cargo:rustc-link-lib={}={}{}", kind, prefix, lib); - } - } -} -fn library_prefix() -> &'static str { - if var("TARGET").map(|target| - target == "i686-pc-windows-gnu" || target == "x86_64-pc-windows-gnu" - ).unwrap_or(false) && var("WINAPI_NO_BUNDLED_LIBRARIES").is_err() { - "winapi_" - } else { - "" - } -} -fn library_kind() -> &'static str { - if var("WINAPI_STATIC_NOBUNDLE").is_ok() { - "static-nobundle" - } else { - "dylib" - } -} -fn try_everything() { - let mut graph = Graph::generate(); - graph.identify_required(); - graph.check_everything(); - graph.resolve_dependencies(); - graph.emit_features(); - graph.emit_libraries(); -} -fn main() { - println!("cargo:rerun-if-changed=build.rs"); - println!("cargo:rerun-if-env-changed=WINAPI_NO_BUNDLED_LIBRARIES"); - println!("cargo:rerun-if-env-changed=WINAPI_STATIC_NOBUNDLE"); - let target = var("TARGET").unwrap(); - let target: Vec<_> = target.split('-').collect(); - if target.get(2) == Some(&"windows") { - try_everything(); - } -} diff --git a/vendor/registry-40351f815f426200/winapi/src/km/d3dkmthk.rs b/vendor/registry-40351f815f426200/winapi/src/km/d3dkmthk.rs deleted file mode 100644 index 9ac551cee..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/km/d3dkmthk.rs +++ /dev/null @@ -1,312 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! longhorn display driver model kernel mode thunk interfaces -use shared::basetsd::{UINT32, UINT64}; -use shared::d3dukmdt::{ - D3DDDICB_SIGNALFLAGS, D3DDDI_ALLOCATIONLIST, D3DDDI_CREATECONTEXTFLAGS, - D3DDDI_MAX_BROADCAST_CONTEXT, D3DDDI_MAX_OBJECT_SIGNALED, D3DDDI_MAX_OBJECT_WAITED_ON, - D3DDDI_PATCHLOCATIONLIST, D3DDDI_SYNCHRONIZATIONOBJECTINFO, - D3DDDI_SYNCHRONIZATIONOBJECTINFO2, D3DDDI_VIDEO_PRESENT_SOURCE_ID, D3DGPU_VIRTUAL_ADDRESS, - D3DKMT_HANDLE, -}; -use shared::minwindef::{BOOL, UCHAR, UINT, ULONG}; -use shared::ntdef::{HANDLE, LUID, PCWSTR, ULONGLONG, VOID, WCHAR}; -use shared::windef::HDC; -STRUCT!{struct D3DKMT_CREATEDEVICEFLAGS { - bitfield: UINT, -}} -BITFIELD!{D3DKMT_CREATEDEVICEFLAGS bitfield: UINT [ - LegacyMode set_LegacyMode[0..1], - RequestVSync set_RequestVSync[1..2], - DisableGpuTimeout set_DisableGpuTimeout[2..3], - Reserved set_Reserved[3..32], -]} -UNION!{union D3DKMT_CREATEDEVICE_u { - [usize; 1], - hAdapter hAdapter_mut: D3DKMT_HANDLE, - pAdapter pAdapter_mut: *mut VOID, -}} -STRUCT!{struct D3DKMT_CREATEDEVICE { - u: D3DKMT_CREATEDEVICE_u, - Flags: D3DKMT_CREATEDEVICEFLAGS, - hDevice: D3DKMT_HANDLE, - pCommandBuffer: *mut VOID, - CommandBufferSize: UINT, - pAllocationList: *mut D3DDDI_ALLOCATIONLIST, - AllocationListSize: UINT, - pPatchLocationList: *mut D3DDDI_PATCHLOCATIONLIST, - PatchLocationListSize: UINT, -}} -STRUCT!{struct D3DKMT_DESTROYDEVICE { - hDevice: D3DKMT_HANDLE, -}} -ENUM!{enum D3DKMT_CLIENTHINT { - D3DKMT_CLIENTHINT_UNKNOWN = 0, - D3DKMT_CLIENTHINT_OPENGL = 1, - D3DKMT_CLIENTHINT_CDD = 2, - D3DKMT_CLIENTHINT_DX7 = 7, - D3DKMT_CLIENTHINT_DX8 = 8, - D3DKMT_CLIENTHINT_DX9 = 9, - D3DKMT_CLIENTHINT_DX10 = 10, -}} -STRUCT!{struct D3DKMT_CREATECONTEXT { - hDevice: D3DKMT_HANDLE, - NodeOrdinal: UINT, - EngineAffinity: UINT, - Flags: D3DDDI_CREATECONTEXTFLAGS, - pPrivateDriverData: *mut VOID, - PrivateDriverDataSize: UINT, - ClientHint: D3DKMT_CLIENTHINT, - hContext: D3DKMT_HANDLE, - pCommandBuffer: *mut VOID, - CommandBufferSize: UINT, - pAllocationList: *mut D3DDDI_ALLOCATIONLIST, - AllocationListSize: UINT, - pPatchLocationList: *mut D3DDDI_PATCHLOCATIONLIST, - PatchLocationListSize: UINT, - CommandBuffer: D3DGPU_VIRTUAL_ADDRESS, -}} -STRUCT!{struct D3DKMT_DESTROYCONTEXT { - hContext: D3DKMT_HANDLE, -}} -STRUCT!{struct D3DKMT_CREATESYNCHRONIZATIONOBJECT { - hDevice: D3DKMT_HANDLE, - Info: D3DDDI_SYNCHRONIZATIONOBJECTINFO, - hSyncObject: D3DKMT_HANDLE, -}} -STRUCT!{struct D3DKMT_CREATESYNCHRONIZATIONOBJECT2 { - hDevice: D3DKMT_HANDLE, - Info: D3DDDI_SYNCHRONIZATIONOBJECTINFO2, - hSyncObject: D3DKMT_HANDLE, -}} -STRUCT!{struct D3DKMT_DESTROYSYNCHRONIZATIONOBJECT { - hSyncObject: D3DKMT_HANDLE, -}} -STRUCT!{struct D3DKMT_OPENSYNCHRONIZATIONOBJECT { - hSharedHandle: D3DKMT_HANDLE, - hSyncObject: D3DKMT_HANDLE, - Reserved: [UINT64; 8], -}} -STRUCT!{struct D3DKMT_WAITFORSYNCHRONIZATIONOBJECT { - hContext: D3DKMT_HANDLE, - ObjectCount: UINT, - ObjectHandleArray: [D3DKMT_HANDLE; D3DDDI_MAX_OBJECT_WAITED_ON], -}} -STRUCT!{struct D3DKMT_WAITFORSYNCHRONIZATIONOBJECT2_Fence { - FenceValue: UINT64, -}} -UNION!{union D3DKMT_WAITFORSYNCHRONIZATIONOBJECT2_u { - [u64; 8], - Fence Fence_mut: D3DKMT_WAITFORSYNCHRONIZATIONOBJECT2_Fence, - Reserved Reserved_mut: [UINT64; 8], -}} -STRUCT!{struct D3DKMT_WAITFORSYNCHRONIZATIONOBJECT2 { - hContext: D3DKMT_HANDLE, - ObjectCount: UINT, - ObjectHandleArray: [D3DKMT_HANDLE; D3DDDI_MAX_OBJECT_WAITED_ON], - u: D3DKMT_WAITFORSYNCHRONIZATIONOBJECT2_u, -}} -STRUCT!{struct D3DKMT_SIGNALSYNCHRONIZATIONOBJECT { - hContext: D3DKMT_HANDLE, - ObjectCount: UINT, - ObjectHandleArray: [D3DKMT_HANDLE; D3DDDI_MAX_OBJECT_SIGNALED], - Flags: D3DDDICB_SIGNALFLAGS, -}} -STRUCT!{struct D3DKMT_SIGNALSYNCHRONIZATIONOBJECT2_Fence { - FenceValue: UINT64, -}} -UNION!{union D3DKMT_SIGNALSYNCHRONIZATIONOBJECT2_u { - [u64; 8], - Fence Fence_mut: D3DKMT_SIGNALSYNCHRONIZATIONOBJECT2_Fence, - CpuEventHandle CpuEventHandle_mut: HANDLE, - Reserved Reserved_mut: [UINT64; 8], -}} -STRUCT!{struct D3DKMT_SIGNALSYNCHRONIZATIONOBJECT2 { - hContext: D3DKMT_HANDLE, - ObjectCount: UINT, - ObjectHandleArray: [D3DKMT_HANDLE; D3DDDI_MAX_OBJECT_SIGNALED], - Flags: D3DDDICB_SIGNALFLAGS, - BroadcastContextCount: ULONG, - BroadcastContext: [D3DKMT_HANDLE; D3DDDI_MAX_BROADCAST_CONTEXT], - u: D3DKMT_SIGNALSYNCHRONIZATIONOBJECT2_u, -}} -//1512 -STRUCT!{struct D3DKMT_SEGMENTSIZEINFO { - DedicatedVideoMemorySize: ULONGLONG, - DedicatedSystemMemorySize: ULONGLONG, - SharedSystemMemorySize: ULONGLONG, -}} -//1617 -STRUCT!{struct D3DKMT_ADAPTERTYPE { - Value: UINT, -}} -BITFIELD!{D3DKMT_ADAPTERTYPE Value: UINT [ - RenderSupported set_RenderSupported[0..1], - DisplaySupported set_DisplaySupported[1..2], - SoftwareDevice set_SoftwareDevice[2..3], - PostDevice set_PostDevice[3..4], - HybridDiscrete set_HybridDiscrete[4..5], - HybridIntegrated set_HybridIntegrated[5..6], - IndirectDisplayDevice set_IndirectDisplayDevice[6..7], - Paravirtualized set_Paravirtualized[7..8], - ACGSupported set_ACGSupported[8..9], - SupportSetTimingsFromVidPn set_SupportSetTimingsFromVidPn[9..10], - Detachable set_Detachable[10..11], - Reserved set_Reserved[11..32], -]} -//1852 -STRUCT!{struct D3DKMT_NODE_PERFDATA { - NodeOrdinal: UINT32, - PhysicalAdapterIndex: UINT32, - Frequency: ULONGLONG, - MaxFrequency: ULONGLONG, - MaxFrequencyOC: ULONGLONG, - Voltage: ULONG, - VoltageMax: ULONG, - VoltageMaxOC: ULONG, - MaxTransitionLatency: ULONGLONG, -}} -STRUCT!{struct D3DKMT_ADAPTER_PERFDATA { - PhysicalAdapterIndex: UINT32, - MemoryFrequency: ULONGLONG, - MaxMemoryFrequency: ULONGLONG, - MaxMemoryFrequencyOC: ULONGLONG, - MemoryBandwidth: ULONGLONG, - PCIEBandwidth: ULONGLONG, - FanRPM: ULONG, - Power: ULONG, - Temperature: ULONG, - PowerStateOverride: UCHAR, -}} -STRUCT!{struct D3DKMT_ADAPTER_PERFDATACAPS { - PhysicalAdapterIndex: UINT32, - MaxMemoryBandwidth: ULONGLONG, - MaxPCIEBandwidth: ULONGLONG, - MaxFanRPM: ULONG, - TemperatureMax: ULONG, - TemperatureWarning: ULONG, -}} -pub const DXGK_MAX_GPUVERSION_NAME_LENGTH: usize = 32; -STRUCT!{struct D3DKMT_GPUVERSION { - PhysicalAdapterIndex: UINT32, - BiosVersion: [WCHAR; DXGK_MAX_GPUVERSION_NAME_LENGTH], - GpuArchitecture: [WCHAR; DXGK_MAX_GPUVERSION_NAME_LENGTH], -}} -ENUM!{enum KMTQUERYADAPTERINFOTYPE { - KMTQAITYPE_UMDRIVERPRIVATE = 0, - KMTQAITYPE_UMDRIVERNAME = 1, - KMTQAITYPE_UMOPENGLINFO = 2, - KMTQAITYPE_GETSEGMENTSIZE = 3, - KMTQAITYPE_ADAPTERGUID = 4, - KMTQAITYPE_FLIPQUEUEINFO = 5, - KMTQAITYPE_ADAPTERADDRESS = 6, - KMTQAITYPE_SETWORKINGSETINFO = 7, - KMTQAITYPE_ADAPTERREGISTRYINFO = 8, - KMTQAITYPE_CURRENTDISPLAYMODE = 9, - KMTQAITYPE_MODELIST = 10, - KMTQAITYPE_CHECKDRIVERUPDATESTATUS = 11, - KMTQAITYPE_VIRTUALADDRESSINFO = 12, - KMTQAITYPE_DRIVERVERSION = 13, - KMTQAITYPE_ADAPTERTYPE = 15, - KMTQAITYPE_OUTPUTDUPLCONTEXTSCOUNT = 16, - KMTQAITYPE_WDDM_1_2_CAPS = 17, - KMTQAITYPE_UMD_DRIVER_VERSION = 18, - KMTQAITYPE_DIRECTFLIP_SUPPORT = 19, - KMTQAITYPE_MULTIPLANEOVERLAY_SUPPORT = 20, - KMTQAITYPE_DLIST_DRIVER_NAME = 21, - KMTQAITYPE_WDDM_1_3_CAPS = 22, - KMTQAITYPE_MULTIPLANEOVERLAY_HUD_SUPPORT = 23, - KMTQAITYPE_WDDM_2_0_CAPS = 24, - KMTQAITYPE_NODEMETADATA = 25, - KMTQAITYPE_CPDRIVERNAME = 26, - KMTQAITYPE_XBOX = 27, - KMTQAITYPE_INDEPENDENTFLIP_SUPPORT = 28, - KMTQAITYPE_MIRACASTCOMPANIONDRIVERNAME = 29, - KMTQAITYPE_PHYSICALADAPTERCOUNT = 30, - KMTQAITYPE_PHYSICALADAPTERDEVICEIDS = 31, - KMTQAITYPE_DRIVERCAPS_EXT = 32, - KMTQAITYPE_QUERY_MIRACAST_DRIVER_TYPE = 33, - KMTQAITYPE_QUERY_GPUMMU_CAPS = 34, - KMTQAITYPE_QUERY_MULTIPLANEOVERLAY_DECODE_SUPPORT = 35, - KMTQAITYPE_QUERY_HW_PROTECTION_TEARDOWN_COUNT = 36, - KMTQAITYPE_QUERY_ISBADDRIVERFORHWPROTECTIONDISABLED = 37, - KMTQAITYPE_MULTIPLANEOVERLAY_SECONDARY_SUPPORT = 38, - KMTQAITYPE_INDEPENDENTFLIP_SECONDARY_SUPPORT = 39, - KMTQAITYPE_PANELFITTER_SUPPORT = 40, - KMTQAITYPE_PHYSICALADAPTERPNPKEY = 41, - KMTQAITYPE_GETSEGMENTGROUPSIZE = 42, - KMTQAITYPE_MPO3DDI_SUPPORT = 43, - KMTQAITYPE_HWDRM_SUPPORT = 44, - KMTQAITYPE_MPOKERNELCAPS_SUPPORT = 45, - KMTQAITYPE_MULTIPLANEOVERLAY_STRETCH_SUPPORT = 46, - KMTQAITYPE_GET_DEVICE_VIDPN_OWNERSHIP_INFO = 47, - KMTQAITYPE_QUERYREGISTRY = 48, - KMTQAITYPE_KMD_DRIVER_VERSION = 49, - KMTQAITYPE_BLOCKLIST_KERNEL = 50, - KMTQAITYPE_BLOCKLIST_RUNTIME = 51, - KMTQAITYPE_ADAPTERGUID_RENDER = 52, - KMTQAITYPE_ADAPTERADDRESS_RENDER = 53, - KMTQAITYPE_ADAPTERREGISTRYINFO_RENDER = 54, - KMTQAITYPE_CHECKDRIVERUPDATESTATUS_RENDER = 55, - KMTQAITYPE_DRIVERVERSION_RENDER = 56, - KMTQAITYPE_ADAPTERTYPE_RENDER = 57, - KMTQAITYPE_WDDM_1_2_CAPS_RENDER = 58, - KMTQAITYPE_WDDM_1_3_CAPS_RENDER = 59, - KMTQAITYPE_QUERY_ADAPTER_UNIQUE_GUID = 60, - KMTQAITYPE_NODEPERFDATA = 61, - KMTQAITYPE_ADAPTERPERFDATA = 62, - KMTQAITYPE_ADAPTERPERFDATA_CAPS = 63, - KMTQUITYPE_GPUVERSION = 64, -}} -STRUCT!{struct D3DKMT_QUERYADAPTERINFO { - hAdapter: D3DKMT_HANDLE, - Type: KMTQUERYADAPTERINFOTYPE, - pPrivateDriverData: *mut VOID, - PrivateDriverDataSize: UINT, -}} -STRUCT!{struct D3DKMT_OPENADAPTERFROMHDC { - hDc: HDC, - hAdapter: D3DKMT_HANDLE, - AdapterLuid: LUID, - VidPnSourceId: D3DDDI_VIDEO_PRESENT_SOURCE_ID, -}} -STRUCT!{struct D3DKMT_OPENADAPTERFROMGDIDISPLAYNAME { - DeviceName: [WCHAR; 32], - hAdapter: D3DKMT_HANDLE, - AdapterLuid: LUID, - VidPnSourceId: D3DDDI_VIDEO_PRESENT_SOURCE_ID, -}} -STRUCT!{struct D3DKMT_OPENADAPTERFROMDEVICENAME { - pDeviceName: PCWSTR, - hAdapter: D3DKMT_HANDLE, - AdapterLuid: LUID, -}} -pub const MAX_ENUM_ADAPTERS: usize = 16; -STRUCT!{struct D3DKMT_ADAPTERINFO { - hAdapter: D3DKMT_HANDLE, - AdapterLuid: LUID, - NumOfSources: ULONG, - bPresentMoveRegionsPreferred: BOOL, -}} -STRUCT!{struct D3DKMT_ENUMADAPTERS { - NumAdapters: ULONG, - Adapters: [D3DKMT_ADAPTERINFO; MAX_ENUM_ADAPTERS], -}} -STRUCT!{struct D3DKMT_ENUMADAPTERS2 { - NumAdapters: ULONG, - pAdapters: *mut D3DKMT_ADAPTERINFO, -}} -STRUCT!{struct D3DKMT_OPENADAPTERFROMLUID { - AdapterLuid: LUID, - hAdapter: D3DKMT_HANDLE, -}} -STRUCT!{struct D3DKMT_QUERYREMOTEVIDPNSOURCEFROMGDIDISPLAYNAME { - DeviceName: [WCHAR; 32], - VidPnSourceId: D3DDDI_VIDEO_PRESENT_SOURCE_ID, -}} -STRUCT!{struct D3DKMT_CLOSEADAPTER { - hAdapter: D3DKMT_HANDLE, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/km/mod.rs b/vendor/registry-40351f815f426200/winapi/src/km/mod.rs deleted file mode 100644 index 480f1950f..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/km/mod.rs +++ /dev/null @@ -1,7 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Headers for kernel mode -#[cfg(feature = "d3dkmthk")] pub mod d3dkmthk; diff --git a/vendor/registry-40351f815f426200/winapi/src/lib.rs b/vendor/registry-40351f815f426200/winapi/src/lib.rs deleted file mode 100644 index 5dc8fb485..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/lib.rs +++ /dev/null @@ -1,70 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -#![cfg(windows)] -#![deny(unused, unused_qualifications)] -#![warn(unused_attributes)] -#![allow(bad_style, overflowing_literals, unused_macros)] -#![recursion_limit = "2563"] -#![no_std] -//Uncomment as needed or once minimum Rust version is bumped to 1.18 -//#![cfg_attr(feature = "cargo-clippy", warn(clippy::pedantic))] -//#![cfg_attr(feature = "cargo-clippy", allow(clippy::absurd_extreme_comparisons, clippy::cast_lossless, clippy::cast_possible_truncation, clippy::cast_possible_wrap, clippy::cast_precision_loss, clippy::cast_ptr_alignment, clippy::cast_sign_loss, clippy::const_static_lifetime, clippy::doc_markdown, clippy::empty_enum, clippy::erasing_op, clippy::excessive_precision, clippy::expl_impl_clone_on_copy, clippy::identity_op, clippy::if_not_else, clippy::many_single_char_names, clippy::module_inception, clippy::cast_possible_truncation, clippy::too_many_arguments, clippy::transmute_int_to_float, clippy::trivially_copy_pass_by_ref, clippy::unreadable_literal, clippy::unseparated_literal_suffix, clippy::used_underscore_binding))] - -#[cfg(feature = "std")] -extern crate std; - -/// Hack for exported macros -#[doc(hidden)] -pub extern crate core as _core; - -// Modules -#[macro_use] -mod macros; -pub mod km; -pub mod shared; -pub mod um; -pub mod vc; -pub mod winrt; - -/// Built in primitive types provided by the C language -pub mod ctypes { - #[cfg(feature = "std")] - pub use std::os::raw::c_void; - #[cfg(not(feature = "std"))] - pub enum c_void {} - pub type c_char = i8; - pub type c_schar = i8; - pub type c_uchar = u8; - pub type c_short = i16; - pub type c_ushort = u16; - pub type c_int = i32; - pub type c_uint = u32; - pub type c_long = i32; - pub type c_ulong = u32; - pub type c_longlong = i64; - pub type c_ulonglong = u64; - pub type c_float = f32; - pub type c_double = f64; - pub type __int8 = i8; - pub type __uint8 = u8; - pub type __int16 = i16; - pub type __uint16 = u16; - pub type __int32 = i32; - pub type __uint32 = u32; - pub type __int64 = i64; - pub type __uint64 = u64; - pub type wchar_t = u16; -} -// This trait should be implemented for all COM interfaces -pub trait Interface { - // Returns the IID of the Interface - fn uuidof() -> shared::guiddef::GUID; -} -// This trait should be implemented for all COM classes -pub trait Class { - // Returns the CLSID of the Class - fn uuidof() -> shared::guiddef::GUID; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/macros.rs b/vendor/registry-40351f815f426200/winapi/src/macros.rs deleted file mode 100644 index b209b48a8..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/macros.rs +++ /dev/null @@ -1,424 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Macros to make things easier to define -macro_rules! DECLARE_HANDLE { - ($name:ident, $inner:ident) => { - pub enum $inner {} - pub type $name = *mut $inner; - }; -} -macro_rules! MAKE_HRESULT { - ($sev:expr, $fac:expr, $code:expr) => { - ($sev << 31) | ($fac << 16) | $code - } -} -macro_rules! MAKE_SCODE { - ($sev:expr, $fac:expr, $code:expr) => { - ($sev << 31) | ($fac << 16) | $code - } -} -macro_rules! HIDP_ERROR_CODES { - ($sev:expr, $code:expr) => { - ($sev << 28) | (FACILITY_HID_ERROR_CODE << 16) | $code - } -} -macro_rules! MAKEFOURCC { - ($a:expr, $b:expr, $c:expr, $d:expr) => { - ($a as u32) | (($b as u32) << 8) | (($c as u32) << 16) | (($d as u32) << 24) - } -} -#[macro_export] -macro_rules! DEFINE_GUID { - ( - $name:ident, $l:expr, $w1:expr, $w2:expr, - $b1:expr, $b2:expr, $b3:expr, $b4:expr, $b5:expr, $b6:expr, $b7:expr, $b8:expr - ) => { - pub const $name: $crate::shared::guiddef::GUID = $crate::shared::guiddef::GUID { - Data1: $l, - Data2: $w1, - Data3: $w2, - Data4: [$b1, $b2, $b3, $b4, $b5, $b6, $b7, $b8], - }; - } -} -#[macro_export] -macro_rules! DEFINE_PROPERTYKEY { - ( - $name:ident, $l:expr, $w1:expr, $w2:expr, - $b1:expr, $b2:expr, $b3:expr, $b4:expr, $b5:expr, $b6:expr, $b7:expr, $b8:expr, - $pid:expr - ) => { - pub const $name: $crate::shared::wtypes::PROPERTYKEY - = $crate::shared::wtypes::PROPERTYKEY { - fmtid: $crate::shared::guiddef::GUID { - Data1: $l, - Data2: $w1, - Data3: $w2, - Data4: [$b1, $b2, $b3, $b4, $b5, $b6, $b7, $b8], - }, - pid: $pid, - }; - } -} -#[macro_export] -macro_rules! DEFINE_DEVPROPKEY { - ( - $name:ident, $l:expr, $w1:expr, $w2:expr, - $b1:expr, $b2:expr, $b3:expr, $b4:expr, $b5:expr, $b6:expr, $b7:expr, $b8:expr, - $pid:expr - ) => { - pub const $name: DEVPROPKEY = DEVPROPKEY { - fmtid: $crate::shared::guiddef::GUID { - Data1: $l, - Data2: $w1, - Data3: $w2, - Data4: [$b1, $b2, $b3, $b4, $b5, $b6, $b7, $b8], - }, - pid: $pid, - }; - } -} -macro_rules! CTL_CODE { - ($DeviceType:expr, $Function:expr, $Method:expr, $Access:expr) => { - ($DeviceType << 16) | ($Access << 14) | ($Function << 2) | $Method - } -} -macro_rules! HID_CTL_CODE { - ($id:expr) => { - CTL_CODE!(FILE_DEVICE_KEYBOARD, $id, METHOD_NEITHER, FILE_ANY_ACCESS) - } -} -macro_rules! HID_BUFFER_CTL_CODE { - ($id:expr) => { - CTL_CODE!(FILE_DEVICE_KEYBOARD, $id, METHOD_BUFFERED, FILE_ANY_ACCESS) - } -} -macro_rules! HID_IN_CTL_CODE { - ($id:expr) => { - CTL_CODE!(FILE_DEVICE_KEYBOARD, $id, METHOD_IN_DIRECT, FILE_ANY_ACCESS) - } -} -macro_rules! HID_OUT_CTL_CODE { - ($id:expr) => { - CTL_CODE!(FILE_DEVICE_KEYBOARD, $id, METHOD_OUT_DIRECT, FILE_ANY_ACCESS) - } -} -macro_rules! AUDCLNT_ERR { - ($n:expr) => { - MAKE_HRESULT!(SEVERITY_ERROR, FACILITY_AUDCLNT, $n) - }; -} -macro_rules! AUDCLNT_SUCCESS { - ($n:expr) => { - MAKE_SCODE!(SEVERITY_SUCCESS, FACILITY_AUDCLNT, $n) - }; -} -macro_rules! BCRYPT_MAKE_INTERFACE_VERSION { - ($major:expr, $minor:expr) => { - $crate::shared::bcrypt::BCRYPT_INTERFACE_VERSION { - MajorVersion: $major, MinorVersion: $minor, - } - } -} -macro_rules! MAKEINTRESOURCE { - ($i:expr) => { $i as u16 as usize as LPWSTR } -} -#[macro_export] -macro_rules! RIDL { - (#[uuid($l:expr, $w1:expr, $w2:expr, - $b1:expr, $b2:expr, $b3:expr, $b4:expr, $b5:expr, $b6:expr, $b7:expr, $b8:expr)] - class $class:ident;) => ( - pub enum $class {} - impl $crate::Class for $class { - #[inline] - fn uuidof() -> $crate::shared::guiddef::GUID { - $crate::shared::guiddef::GUID { - Data1: $l, - Data2: $w1, - Data3: $w2, - Data4: [$b1, $b2, $b3, $b4, $b5, $b6, $b7, $b8], - } - } - } - ); - (#[uuid($($uuid:expr),+)] - interface $interface:ident ($vtbl:ident) {$( - $(#[$($attrs:tt)*])* fn $method:ident($($p:ident : $t:ty,)*) -> $rtr:ty, - )+}) => ( - RIDL!{@vtbl $interface $vtbl () $( - $(#[$($attrs)*])* fn $method($($p: $t,)*) -> $rtr, - )+} - #[repr(C)] - pub struct $interface { - pub lpVtbl: *const $vtbl, - } - impl $interface { - $(RIDL!{@method $(#[$($attrs)*])* fn $method($($p: $t,)*) -> $rtr})+ - } - RIDL!{@uuid $interface $($uuid),+} - ); - (#[uuid($($uuid:expr),+)] - interface $interface:ident ($vtbl:ident) : $pinterface:ident ($pvtbl:ident) {}) => ( - RIDL!{@vtbl $interface $vtbl (pub parent: $pvtbl,)} - #[repr(C)] - pub struct $interface { - pub lpVtbl: *const $vtbl, - } - RIDL!{@deref $interface $pinterface} - RIDL!{@uuid $interface $($uuid),+} - ); - (#[uuid($($uuid:expr),+)] - interface $interface:ident ($vtbl:ident) : $pinterface:ident ($pvtbl:ident) {$( - $(#[$($attrs:tt)*])* fn $method:ident($($p:ident : $t:ty,)*) -> $rtr:ty, - )+}) => ( - RIDL!{@vtbl $interface $vtbl (pub parent: $pvtbl,) $( - $(#[$($attrs)*])* fn $method($($p: $t,)*) -> $rtr, - )+} - #[repr(C)] - pub struct $interface { - pub lpVtbl: *const $vtbl, - } - impl $interface { - $(RIDL!{@method $(#[$($attrs)*])* fn $method($($p: $t,)*) -> $rtr})+ - } - RIDL!{@deref $interface $pinterface} - RIDL!{@uuid $interface $($uuid),+} - ); - (@deref $interface:ident $pinterface:ident) => ( - impl $crate::_core::ops::Deref for $interface { - type Target = $pinterface; - #[inline] - fn deref(&self) -> &$pinterface { - unsafe { &*(self as *const $interface as *const $pinterface) } - } - } - ); - (@method fn $method:ident($($p:ident : $t:ty,)*) -> $rtr:ty) => ( - #[inline] pub unsafe fn $method(&self, $($p: $t,)*) -> $rtr { - ((*self.lpVtbl).$method)(self as *const _ as *mut _, $($p,)*) - } - ); - (@method #[fixme] fn $method:ident($($p:ident : $t:ty,)*) -> $rtr:ty) => ( - #[inline] pub unsafe fn $method(&self, $($p: $t,)*) -> $rtr { - let mut ret = $crate::_core::mem::uninitialized(); - ((*self.lpVtbl).$method)(self as *const _ as *mut _, &mut ret, $($p,)*); - ret - } - ); - (@vtbl $interface:ident $vtbl:ident ($($fields:tt)*) - $(fn $method:ident($($p:ident : $t:ty,)*) -> $rtr:ty,)* - ) => ( - RIDL!{@item #[repr(C)] - pub struct $vtbl { - $($fields)* - $(pub $method: unsafe extern "system" fn( - This: *mut $interface, - $($p: $t,)* - ) -> $rtr,)* - }} - ); - (@vtbl $interface:ident $vtbl:ident ($($fields:tt)*) - fn $method:ident($($p:ident : $t:ty,)*) -> $rtr:ty, - $($tail:tt)*) => ( - RIDL!{@vtbl $interface $vtbl ( - $($fields)* - pub $method: unsafe extern "system" fn( - This: *mut $interface, - $($p: $t,)* - ) -> $rtr, - ) $($tail)*} - ); - (@vtbl $interface:ident $vtbl:ident ($($fields:tt)*) - #[fixme] fn $method:ident($($p:ident : $t:ty,)*) -> $rtr:ty, - $($tail:tt)*) => ( - RIDL!{@vtbl $interface $vtbl ( - $($fields)* - pub $method: unsafe extern "system" fn( - This: *mut $interface, - ret: *mut $rtr, - $($p: $t,)* - ) -> *mut $rtr, - ) $($tail)*} - ); - (@uuid $interface:ident - $l:expr, $w1:expr, $w2:expr, - $b1:expr, $b2:expr, $b3:expr, $b4:expr, $b5:expr, $b6:expr, $b7:expr, $b8:expr - ) => ( - impl $crate::Interface for $interface { - #[inline] - fn uuidof() -> $crate::shared::guiddef::GUID { - $crate::shared::guiddef::GUID { - Data1: $l, - Data2: $w1, - Data3: $w2, - Data4: [$b1, $b2, $b3, $b4, $b5, $b6, $b7, $b8], - } - } - } - ); - (@item $thing:item) => ($thing); -} -macro_rules! UNION { - ($(#[$attrs:meta])* union $name:ident { - [$stype:ty; $ssize:expr], - $($variant:ident $variant_mut:ident: $ftype:ty,)+ - }) => ( - #[repr(C)] $(#[$attrs])* - pub struct $name([$stype; $ssize]); - impl Copy for $name {} - impl Clone for $name { - #[inline] - fn clone(&self) -> $name { *self } - } - #[cfg(feature = "impl-default")] - impl Default for $name { - #[inline] - fn default() -> $name { unsafe { $crate::_core::mem::zeroed() } } - } - impl $name {$( - #[inline] - pub unsafe fn $variant(&self) -> &$ftype { - &*(self as *const _ as *const $ftype) - } - #[inline] - pub unsafe fn $variant_mut(&mut self) -> &mut $ftype { - &mut *(self as *mut _ as *mut $ftype) - } - )+} - ); - ($(#[$attrs:meta])* union $name:ident { - [$stype32:ty; $ssize32:expr] [$stype64:ty; $ssize64:expr], - $($variant:ident $variant_mut:ident: $ftype:ty,)+ - }) => ( - #[repr(C)] $(#[$attrs])* #[cfg(target_arch = "x86")] - pub struct $name([$stype32; $ssize32]); - #[repr(C)] $(#[$attrs])* #[cfg(target_pointer_width = "64")] - pub struct $name([$stype64; $ssize64]); - impl Copy for $name {} - impl Clone for $name { - #[inline] - fn clone(&self) -> $name { *self } - } - #[cfg(feature = "impl-default")] - impl Default for $name { - #[inline] - fn default() -> $name { unsafe { $crate::_core::mem::zeroed() } } - } - impl $name {$( - #[inline] - pub unsafe fn $variant(&self) -> &$ftype { - &*(self as *const _ as *const $ftype) - } - #[inline] - pub unsafe fn $variant_mut(&mut self) -> &mut $ftype { - &mut *(self as *mut _ as *mut $ftype) - } - )+} - ); -} -macro_rules! BITFIELD { - ($base:ident $field:ident: $fieldtype:ty [ - $($thing:ident $set_thing:ident[$r:expr],)+ - ]) => { - impl $base {$( - #[inline] - pub fn $thing(&self) -> $fieldtype { - let size = $crate::core::mem::size_of::<$fieldtype>() * 8; - self.$field << (size - $r.end) >> (size - $r.end + $r.start) - } - #[inline] - pub fn $set_thing(&mut self, val: $fieldtype) { - let mask = ((1 << ($r.end - $r.start)) - 1) << $r.start; - self.$field &= !mask; - self.$field |= (val << $r.start) & mask; - } - )+} - } -} -#[macro_export] -macro_rules! ENUM { - {enum $name:ident { $($variant:ident = $value:expr,)+ }} => { - pub type $name = u32; - $(pub const $variant: $name = $value;)+ - }; - {enum $name:ident { $variant:ident = $value:expr, $($rest:tt)* }} => { - pub type $name = u32; - pub const $variant: $name = $value; - ENUM!{@gen $name $variant, $($rest)*} - }; - {enum $name:ident { $variant:ident, $($rest:tt)* }} => { - ENUM!{enum $name { $variant = 0, $($rest)* }} - }; - {@gen $name:ident $base:ident,} => {}; - {@gen $name:ident $base:ident, $variant:ident = $value:expr, $($rest:tt)*} => { - pub const $variant: $name = $value; - ENUM!{@gen $name $variant, $($rest)*} - }; - {@gen $name:ident $base:ident, $variant:ident, $($rest:tt)*} => { - pub const $variant: $name = $base + 1u32; - ENUM!{@gen $name $variant, $($rest)*} - }; -} -#[macro_export] -macro_rules! STRUCT { - (#[debug] $($rest:tt)*) => ( - STRUCT!{#[cfg_attr(feature = "impl-debug", derive(Debug))] $($rest)*} - ); - ($(#[$attrs:meta])* struct $name:ident { - $($field:ident: $ftype:ty,)+ - }) => ( - #[repr(C)] #[derive(Copy)] $(#[$attrs])* - pub struct $name { - $(pub $field: $ftype,)+ - } - impl Clone for $name { - #[inline] - fn clone(&self) -> $name { *self } - } - #[cfg(feature = "impl-default")] - impl Default for $name { - #[inline] - fn default() -> $name { unsafe { $crate::_core::mem::zeroed() } } - } - ); -} -macro_rules! IFDEF { - ($($thing:item)*) => ($($thing)*) -} -macro_rules! FN { - (stdcall $func:ident($($t:ty,)*) -> $ret:ty) => ( - pub type $func = Option $ret>; - ); - (stdcall $func:ident($($p:ident: $t:ty,)*) -> $ret:ty) => ( - pub type $func = Option $ret>; - ); - (cdecl $func:ident($($t:ty,)*) -> $ret:ty) => ( - pub type $func = Option $ret>; - ); - (cdecl $func:ident($($p:ident: $t:ty,)*) -> $ret:ty) => ( - pub type $func = Option $ret>; - ); -} -macro_rules! _WSAIO { - ($x:expr, $y:expr) => { - $crate::shared::ws2def::IOC_VOID | $x | $y - } -} -macro_rules! _WSAIOR { - ($x:expr, $y:expr) => { - $crate::shared::ws2def::IOC_OUT | $x | $y - } -} -macro_rules! _WSAIOW { - ($x:expr, $y:expr) => { - $crate::shared::ws2def::IOC_IN | $x | $y - } -} -macro_rules! _WSAIORW { - ($x:expr, $y:expr) => { - $crate::shared::ws2def::IOC_INOUT | $x | $y - } -} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/basetsd.rs b/vendor/registry-40351f815f426200/winapi/src/shared/basetsd.rs deleted file mode 100644 index 1870fd2d6..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/basetsd.rs +++ /dev/null @@ -1,70 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Type definitions for the basic sized types. -use ctypes::{__int64, __uint64, c_int, c_schar, c_short, c_uchar, c_uint, c_ushort}; -pub type POINTER_64_INT = usize; -pub type INT8 = c_schar; -pub type PINT8 = *mut c_schar; -pub type INT16 = c_short; -pub type PINT16 = *mut c_short; -pub type INT32 = c_int; -pub type PINT32 = *mut c_int; -pub type INT64 = __int64; -pub type PINT64 = *mut __int64; -pub type UINT8 = c_uchar; -pub type PUINT8 = *mut c_uchar; -pub type UINT16 = c_ushort; -pub type PUINT16 = *mut c_ushort; -pub type UINT32 = c_uint; -pub type PUINT32 = *mut c_uint; -pub type UINT64 = __uint64; -pub type PUINT64 = *mut __uint64; -pub type LONG32 = c_int; -pub type PLONG32 = *mut c_int; -pub type ULONG32 = c_uint; -pub type PULONG32 = *mut c_uint; -pub type DWORD32 = c_uint; -pub type PDWORD32 = *mut c_uint; -pub type INT_PTR = isize; -pub type PINT_PTR = *mut isize; -pub type UINT_PTR = usize; -pub type PUINT_PTR = *mut usize; -pub type LONG_PTR = isize; -pub type PLONG_PTR = *mut isize; -pub type ULONG_PTR = usize; -pub type PULONG_PTR = *mut usize; -pub type SHANDLE_PTR = isize; -pub type HANDLE_PTR = usize; -#[cfg(target_arch = "x86")] -pub type UHALF_PTR = c_ushort; -#[cfg(target_pointer_width = "64")] -pub type UHALF_PTR = c_uint; -#[cfg(target_arch = "x86")] -pub type PUHALF_PTR = *mut c_ushort; -#[cfg(target_pointer_width = "64")] -pub type PUHALF_PTR = *mut c_uint; -#[cfg(target_arch = "x86")] -pub type HALF_PTR = c_short; -#[cfg(target_pointer_width = "64")] -pub type HALF_PTR = c_int; -#[cfg(target_arch = "x86")] -pub type PHALF_PTR = *mut c_short; -#[cfg(target_pointer_width = "64")] -pub type PHALF_PTR = *mut c_int; -pub type SIZE_T = ULONG_PTR; -pub type PSIZE_T = *mut ULONG_PTR; -pub type SSIZE_T = LONG_PTR; -pub type PSSIZE_T = *mut LONG_PTR; -pub type DWORD_PTR = ULONG_PTR; -pub type PDWORD_PTR = *mut ULONG_PTR; -pub type LONG64 = __int64; -pub type PLONG64 = *mut __int64; -pub type ULONG64 = __uint64; -pub type PULONG64 = *mut __uint64; -pub type DWORD64 = __uint64; -pub type PDWORD64 = *mut __uint64; -pub type KAFFINITY = ULONG_PTR; -pub type PKAFFINITY = *mut KAFFINITY; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/bcrypt.rs b/vendor/registry-40351f815f426200/winapi/src/shared/bcrypt.rs deleted file mode 100644 index 4fa88ef8f..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/bcrypt.rs +++ /dev/null @@ -1,1001 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Cryptographic Primitive API Prototypes and Definitions -use shared::minwindef::{PUCHAR, UCHAR, ULONG, USHORT}; -use um::winnt::{BOOLEAN, HANDLE, LONG, LPCWSTR, LPWSTR, PVOID, PWSTR, ULONGLONG, VOID}; -pub type NTSTATUS = LONG; -pub type PNTSTATUS = *mut NTSTATUS; -#[inline] -pub fn BCRYPT_SUCCESS(Status: NTSTATUS) -> bool { - Status >= 0 -} -pub const BCRYPT_OBJECT_ALIGNMENT: usize = 16; -pub const BCRYPT_KDF_HASH: &'static str = "HASH"; -pub const BCRYPT_KDF_HMAC: &'static str = "HMAC"; -pub const BCRYPT_KDF_TLS_PRF: &'static str = "TLS_PRF"; -pub const BCRYPT_KDF_SP80056A_CONCAT: &'static str = "SP800_56A_CONCAT"; -pub const BCRYPT_KDF_RAW_SECRET: &'static str = "TRUNCATE"; -pub const KDF_HASH_ALGORITHM: ULONG = 0x0; -pub const KDF_SECRET_PREPEND: ULONG = 0x1; -pub const KDF_SECRET_APPEND: ULONG = 0x2; -pub const KDF_HMAC_KEY: ULONG = 0x3; -pub const KDF_TLS_PRF_LABEL: ULONG = 0x4; -pub const KDF_TLS_PRF_SEED: ULONG = 0x5; -pub const KDF_SECRET_HANDLE: ULONG = 0x6; -pub const KDF_TLS_PRF_PROTOCOL: ULONG = 0x7; -pub const KDF_ALGORITHMID: ULONG = 0x8; -pub const KDF_PARTYUINFO: ULONG = 0x9; -pub const KDF_PARTYVINFO: ULONG = 0xA; -pub const KDF_SUPPPUBINFO: ULONG = 0xB; -pub const KDF_SUPPPRIVINFO: ULONG = 0xC; -pub const KDF_LABEL: ULONG = 0xD; -pub const KDF_CONTEXT: ULONG = 0xE; -pub const KDF_SALT: ULONG = 0xF; -pub const KDF_ITERATION_COUNT: ULONG = 0x10; -pub const KDF_GENERIC_PARAMETER: ULONG = 0x11; -pub const KDF_KEYBITLENGTH: ULONG = 0x12; -pub const KDF_USE_SECRET_AS_HMAC_KEY_FLAG: ULONG = 0x1; -STRUCT!{struct BCRYPT_KEY_LENGTHS_STRUCT { - dwMinLength: ULONG, - dwMaxLength: ULONG, - dwIncrement: ULONG, -}} -pub type BCRYPT_AUTH_TAG_LENGTHS_STRUCT = BCRYPT_KEY_LENGTHS_STRUCT; -STRUCT!{struct BCRYPT_OID { - cbOID: ULONG, - pbOID: PUCHAR, -}} -STRUCT!{struct BCRYPT_OID_LIST { - dwOIDCount: ULONG, - pOIDs: *mut BCRYPT_OID, -}} -STRUCT!{struct BCRYPT_PKCS1_PADDING_INFO { - pszAlgId: LPCWSTR, -}} -STRUCT!{struct BCRYPT_PSS_PADDING_INFO { - pszAlgId: LPCWSTR, - cbSalt: ULONG, -}} -STRUCT!{struct BCRYPT_OAEP_PADDING_INFO { - pszAlgId: LPCWSTR, - pbLabel: PUCHAR, - cbLabel: ULONG, -}} -pub const BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO_VERSION: ULONG = 1; -pub const BCRYPT_AUTH_MODE_CHAIN_CALLS_FLAG: ULONG = 0x00000001; -pub const BCRYPT_AUTH_MODE_IN_PROGRESS_FLAG: ULONG = 0x00000002; -STRUCT!{struct BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO { - cbSize: ULONG, - dwInfoVersion: ULONG, - pbNonce: PUCHAR, - cbNonce: ULONG, - pbAuthData: PUCHAR, - cbAuthData: ULONG, - pbTag: PUCHAR, - cbTag: ULONG, - pbMacContext: PUCHAR, - cbMacContext: ULONG, - cbAAD: ULONG, - cbData: ULONGLONG, - dwFlags: ULONG, -}} -pub type PBCRYPT_AUTHENTICATED_CIPHER_MODE_INFO = *mut BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO; -pub const BCRYPT_OPAQUE_KEY_BLOB: &'static str = "OpaqueKeyBlob"; -pub const BCRYPT_KEY_DATA_BLOB: &'static str = "KeyDataBlob"; -pub const BCRYPT_AES_WRAP_KEY_BLOB: &'static str = "Rfc3565KeyWrapBlob"; -pub const BCRYPT_OBJECT_LENGTH: &'static str = "ObjectLength"; -pub const BCRYPT_ALGORITHM_NAME: &'static str = "AlgorithmName"; -pub const BCRYPT_PROVIDER_HANDLE: &'static str = "ProviderHandle"; -pub const BCRYPT_CHAINING_MODE: &'static str = "ChainingMode"; -pub const BCRYPT_BLOCK_LENGTH: &'static str = "BlockLength"; -pub const BCRYPT_KEY_LENGTH: &'static str = "KeyLength"; -pub const BCRYPT_KEY_OBJECT_LENGTH: &'static str = "KeyObjectLength"; -pub const BCRYPT_KEY_STRENGTH: &'static str = "KeyStrength"; -pub const BCRYPT_KEY_LENGTHS: &'static str = "KeyLengths"; -pub const BCRYPT_BLOCK_SIZE_LIST: &'static str = "BlockSizeList"; -pub const BCRYPT_EFFECTIVE_KEY_LENGTH: &'static str = "EffectiveKeyLength"; -pub const BCRYPT_HASH_LENGTH: &'static str = "HashDigestLength"; -pub const BCRYPT_HASH_OID_LIST: &'static str = "HashOIDList"; -pub const BCRYPT_PADDING_SCHEMES: &'static str = "PaddingSchemes"; -pub const BCRYPT_SIGNATURE_LENGTH: &'static str = "SignatureLength"; -pub const BCRYPT_HASH_BLOCK_LENGTH: &'static str = "HashBlockLength"; -pub const BCRYPT_AUTH_TAG_LENGTH: &'static str = "AuthTagLength"; -pub const BCRYPT_PRIMITIVE_TYPE: &'static str = "PrimitiveType"; -pub const BCRYPT_IS_KEYED_HASH: &'static str = "IsKeyedHash"; -pub const BCRYPT_IS_REUSABLE_HASH: &'static str = "IsReusableHash"; -pub const BCRYPT_MESSAGE_BLOCK_LENGTH: &'static str = "MessageBlockLength"; -pub const BCRYPT_PUBLIC_KEY_LENGTH: &'static str = "PublicKeyLength"; -pub const BCRYPT_PCP_PLATFORM_TYPE_PROPERTY: &'static str = "PCP_PLATFORM_TYPE"; -pub const BCRYPT_PCP_PROVIDER_VERSION_PROPERTY: &'static str = "PCP_PROVIDER_VERSION"; -pub const BCRYPT_MULTI_OBJECT_LENGTH: &'static str = "MultiObjectLength"; -pub const BCRYPT_INITIALIZATION_VECTOR: &'static str = "IV"; -pub const BCRYPT_CHAIN_MODE_NA: &'static str = "ChainingModeN/A"; -pub const BCRYPT_CHAIN_MODE_CBC: &'static str = "ChainingModeCBC"; -pub const BCRYPT_CHAIN_MODE_ECB: &'static str = "ChainingModeECB"; -pub const BCRYPT_CHAIN_MODE_CFB: &'static str = "ChainingModeCFB"; -pub const BCRYPT_CHAIN_MODE_CCM: &'static str = "ChainingModeCCM"; -pub const BCRYPT_CHAIN_MODE_GCM: &'static str = "ChainingModeGCM"; -pub const BCRYPT_PROV_DISPATCH: ULONG = 0x00000001; -pub const BCRYPT_BLOCK_PADDING: ULONG = 0x00000001; -pub const BCRYPT_PAD_NONE: ULONG = 0x00000001; -pub const BCRYPT_PAD_PKCS1: ULONG = 0x00000002; -pub const BCRYPT_PAD_OAEP: ULONG = 0x00000004; -pub const BCRYPT_PAD_PSS: ULONG = 0x00000008; -pub const BCRYPT_PAD_PKCS1_OPTIONAL_HASH_OID: ULONG = 0x00000010; -pub const BCRYPTBUFFER_VERSION: ULONG = 0; -STRUCT!{struct BCryptBuffer { - cbBuffer: ULONG, - BufferType: ULONG, - pvBuffer: PVOID, -}} -pub type PBCryptBuffer = *mut BCryptBuffer; -STRUCT!{struct BCryptBufferDesc { - ulVersion: ULONG, - cBuffers: ULONG, - pBuffers: PBCryptBuffer, -}} -pub type PBCryptBufferDesc = *mut BCryptBufferDesc; -pub type BCRYPT_HANDLE = PVOID; -pub type BCRYPT_ALG_HANDLE = PVOID; -pub type BCRYPT_KEY_HANDLE = PVOID; -pub type BCRYPT_HASH_HANDLE = PVOID; -pub type BCRYPT_SECRET_HANDLE = PVOID; -pub const BCRYPT_PUBLIC_KEY_BLOB: &'static str = "PUBLICBLOB"; -pub const BCRYPT_PRIVATE_KEY_BLOB: &'static str = "PRIVATEBLOB"; -STRUCT!{struct BCRYPT_KEY_BLOB { - Magic: ULONG, -}} -pub const BCRYPT_RSAPUBLIC_BLOB: &'static str = "RSAPUBLICBLOB"; -pub const BCRYPT_RSAPRIVATE_BLOB: &'static str = "RSAPRIVATEBLOB"; -pub const LEGACY_RSAPUBLIC_BLOB: &'static str = "CAPIPUBLICBLOB"; -pub const LEGACY_RSAPRIVATE_BLOB: &'static str = "CAPIPRIVATEBLOB"; -pub const BCRYPT_RSAPUBLIC_MAGIC: ULONG = 0x31415352; -pub const BCRYPT_RSAPRIVATE_MAGIC: ULONG = 0x32415352; -STRUCT!{struct BCRYPT_RSAKEY_BLOB { - Magic: ULONG, - BitLength: ULONG, - cbPublicExp: ULONG, - cbModulus: ULONG, - cbPrime1: ULONG, - cbPrime2: ULONG, -}} -pub const BCRYPT_RSAFULLPRIVATE_BLOB: &'static str = "RSAFULLPRIVATEBLOB"; -pub const BCRYPT_RSAFULLPRIVATE_MAGIC: ULONG = 0x33415352; -pub const BCRYPT_GLOBAL_PARAMETERS: &'static str = "SecretAgreementParam"; -pub const BCRYPT_PRIVATE_KEY: &'static str = "PrivKeyVal"; -pub const BCRYPT_ECCPUBLIC_BLOB: &'static str = "ECCPUBLICBLOB"; -pub const BCRYPT_ECCPRIVATE_BLOB: &'static str = "ECCPRIVATEBLOB"; -pub const BCRYPT_ECCFULLPUBLIC_BLOB: &'static str = "ECCFULLPUBLICBLOB"; -pub const BCRYPT_ECCFULLPRIVATE_BLOB: &'static str = "ECCFULLPRIVATEBLOB"; -pub const SSL_ECCPUBLIC_BLOB: &'static str = "SSLECCPUBLICBLOB"; -pub const BCRYPT_ECDH_PUBLIC_P256_MAGIC: ULONG = 0x314B4345; -pub const BCRYPT_ECDH_PRIVATE_P256_MAGIC: ULONG = 0x324B4345; -pub const BCRYPT_ECDH_PUBLIC_P384_MAGIC: ULONG = 0x334B4345; -pub const BCRYPT_ECDH_PRIVATE_P384_MAGIC: ULONG = 0x344B4345; -pub const BCRYPT_ECDH_PUBLIC_P521_MAGIC: ULONG = 0x354B4345; -pub const BCRYPT_ECDH_PRIVATE_P521_MAGIC: ULONG = 0x364B4345; -pub const BCRYPT_ECDH_PUBLIC_GENERIC_MAGIC: ULONG = 0x504B4345; -pub const BCRYPT_ECDH_PRIVATE_GENERIC_MAGIC: ULONG = 0x564B4345; -pub const BCRYPT_ECDSA_PUBLIC_P256_MAGIC: ULONG = 0x31534345; -pub const BCRYPT_ECDSA_PRIVATE_P256_MAGIC: ULONG = 0x32534345; -pub const BCRYPT_ECDSA_PUBLIC_P384_MAGIC: ULONG = 0x33534345; -pub const BCRYPT_ECDSA_PRIVATE_P384_MAGIC: ULONG = 0x34534345; -pub const BCRYPT_ECDSA_PUBLIC_P521_MAGIC: ULONG = 0x35534345; -pub const BCRYPT_ECDSA_PRIVATE_P521_MAGIC: ULONG = 0x36534345; -pub const BCRYPT_ECDSA_PUBLIC_GENERIC_MAGIC: ULONG = 0x50444345; -pub const BCRYPT_ECDSA_PRIVATE_GENERIC_MAGIC: ULONG = 0x56444345; -STRUCT!{struct BCRYPT_ECCKEY_BLOB { - dwMagic: ULONG, - cbKey: ULONG, -}} -pub type PBCRYPT_ECCKEY_BLOB = *mut BCRYPT_ECCKEY_BLOB; -STRUCT!{struct SSL_ECCKEY_BLOB { - dwCurveType: ULONG, - cbKey: ULONG, -}} -pub type PSSL_ECCKEY_BLOB = *mut SSL_ECCKEY_BLOB; -pub const BCRYPT_ECC_FULLKEY_BLOB_V1: ULONG = 0x1; -ENUM!{enum ECC_CURVE_TYPE_ENUM { - BCRYPT_ECC_PRIME_SHORT_WEIERSTRASS_CURVE = 0x1, - BCRYPT_ECC_PRIME_TWISTED_EDWARDS_CURVE = 0x2, - BCRYPT_ECC_PRIME_MONTGOMERY_CURVE = 0x3, -}} -ENUM!{enum ECC_CURVE_ALG_ID_ENUM { - BCRYPT_NO_CURVE_GENERATION_ALG_ID = 0x0, -}} -STRUCT!{struct BCRYPT_ECCFULLKEY_BLOB { - dwMagic: ULONG, - dwVersion: ULONG, - dwCurveType: ECC_CURVE_TYPE_ENUM, - dwCurveGenerationAlgId: ECC_CURVE_ALG_ID_ENUM, - cbFieldLength: ULONG, - cbSubgroupOrder: ULONG, - cbCofactor: ULONG, - cbSeed: ULONG, -}} -pub type PBCRYPT_ECCFULLKEY_BLOB = *mut BCRYPT_ECCFULLKEY_BLOB; -pub const BCRYPT_DH_PUBLIC_BLOB: &'static str = "DHPUBLICBLOB"; -pub const BCRYPT_DH_PRIVATE_BLOB: &'static str = "DHPRIVATEBLOB"; -pub const LEGACY_DH_PUBLIC_BLOB: &'static str = "CAPIDHPUBLICBLOB"; -pub const LEGACY_DH_PRIVATE_BLOB: &'static str = "CAPIDHPRIVATEBLOB"; -pub const BCRYPT_DH_PUBLIC_MAGIC: ULONG = 0x42504844; -pub const BCRYPT_DH_PRIVATE_MAGIC: ULONG = 0x56504844; -STRUCT!{struct BCRYPT_DH_KEY_BLOB { - dwMagic: ULONG, - cbKey: ULONG, -}} -pub type PBCRYPT_DH_KEY_BLOB = *mut BCRYPT_DH_KEY_BLOB; -pub const BCRYPT_DH_PARAMETERS: &'static str = "DHParameters"; -pub const BCRYPT_DH_PARAMETERS_MAGIC: ULONG = 0x4d504844; -STRUCT!{struct BCRYPT_DH_PARAMETER_HEADER { - cbLength: ULONG, - dwMagic: ULONG, - cbKeyLength: ULONG, -}} -pub const BCRYPT_DSA_PUBLIC_BLOB: &'static str = "DSAPUBLICBLOB"; -pub const BCRYPT_DSA_PRIVATE_BLOB: &'static str = "DSAPRIVATEBLOB"; -pub const LEGACY_DSA_PUBLIC_BLOB: &'static str = "CAPIDSAPUBLICBLOB"; -pub const LEGACY_DSA_PRIVATE_BLOB: &'static str = "CAPIDSAPRIVATEBLOB"; -pub const LEGACY_DSA_V2_PUBLIC_BLOB: &'static str = "V2CAPIDSAPUBLICBLOB"; -pub const LEGACY_DSA_V2_PRIVATE_BLOB: &'static str = "V2CAPIDSAPRIVATEBLOB"; -pub const BCRYPT_DSA_PUBLIC_MAGIC: ULONG = 0x42505344; -pub const BCRYPT_DSA_PRIVATE_MAGIC: ULONG = 0x56505344; -pub const BCRYPT_DSA_PUBLIC_MAGIC_V2: ULONG = 0x32425044; -pub const BCRYPT_DSA_PRIVATE_MAGIC_V2: ULONG = 0x32565044; -STRUCT!{struct BCRYPT_DSA_KEY_BLOB { - dwMagic: ULONG, - cbKey: ULONG, - Count: [UCHAR; 4], - Seed: [UCHAR; 20], - q: [UCHAR; 20], -}} -pub type PBCRYPT_DSA_KEY_BLOB = *mut BCRYPT_DSA_KEY_BLOB; -ENUM!{enum HASHALGORITHM_ENUM { - DSA_HASH_ALGORITHM_SHA1, - DSA_HASH_ALGORITHM_SHA256, - DSA_HASH_ALGORITHM_SHA512, -}} -ENUM!{enum DSAFIPSVERSION_ENUM { - DSA_FIPS186_2, - DSA_FIPS186_3, -}} -STRUCT!{struct BCRYPT_DSA_KEY_BLOB_V2 { - dwMagic: ULONG, - cbKey: ULONG, - hashAlgorithm: HASHALGORITHM_ENUM, - standardVersion: DSAFIPSVERSION_ENUM, - cbSeedLength: ULONG, - cbGroupSize: ULONG, - Count: [UCHAR; 4], -}} -pub type PBCRYPT_DSA_KEY_BLOB_V2 = *mut BCRYPT_DSA_KEY_BLOB_V2; -STRUCT!{struct BCRYPT_KEY_DATA_BLOB_HEADER { - dwMagic: ULONG, - dwVersion: ULONG, - cbKeyData: ULONG, -}} -pub type PBCRYPT_KEY_DATA_BLOB_HEADER = *mut BCRYPT_KEY_DATA_BLOB_HEADER; -pub const BCRYPT_KEY_DATA_BLOB_MAGIC: ULONG = 0x4d42444b; -pub const BCRYPT_KEY_DATA_BLOB_VERSION1: ULONG = 0x1; -pub const BCRYPT_DSA_PARAMETERS: &'static str = "DSAParameters"; -pub const BCRYPT_DSA_PARAMETERS_MAGIC: ULONG = 0x4d505344; -pub const BCRYPT_DSA_PARAMETERS_MAGIC_V2: ULONG = 0x324d5044; -STRUCT!{struct BCRYPT_DSA_PARAMETER_HEADER { - cbLength: ULONG, - dwMagic: ULONG, - cbKeyLength: ULONG, - Count: [UCHAR; 4], - Seed: [UCHAR; 20], - q: [UCHAR; 20], -}} -STRUCT!{struct BCRYPT_DSA_PARAMETER_HEADER_V2 { - cbLength: ULONG, - dwMagic: ULONG, - cbKeyLength: ULONG, - hashAlgorithm: HASHALGORITHM_ENUM, - standardVersion: DSAFIPSVERSION_ENUM, - cbSeedLength: ULONG, - cbGroupSize: ULONG, - Count: [UCHAR; 4], -}} -pub const BCRYPT_ECC_PARAMETERS: &'static str = "ECCParameters"; -pub const BCRYPT_ECC_CURVE_NAME: &'static str = "ECCCurveName"; -pub const BCRYPT_ECC_CURVE_NAME_LIST: &'static str = "ECCCurveNameList"; -pub const BCRYPT_ECC_PARAMETERS_MAGIC: ULONG = 0x50434345; -STRUCT!{struct BCRYPT_ECC_CURVE_NAMES { - dwEccCurveNames: ULONG, - pEccCurveNames: LPWSTR, -}} -pub const BCRYPT_ECC_CURVE_BRAINPOOLP160R1: &'static str = "brainpoolP160r1"; -pub const BCRYPT_ECC_CURVE_BRAINPOOLP160T1: &'static str = "brainpoolP160t1"; -pub const BCRYPT_ECC_CURVE_BRAINPOOLP192R1: &'static str = "brainpoolP192r1"; -pub const BCRYPT_ECC_CURVE_BRAINPOOLP192T1: &'static str = "brainpoolP192t1"; -pub const BCRYPT_ECC_CURVE_BRAINPOOLP224R1: &'static str = "brainpoolP224r1"; -pub const BCRYPT_ECC_CURVE_BRAINPOOLP224T1: &'static str = "brainpoolP224t1"; -pub const BCRYPT_ECC_CURVE_BRAINPOOLP256R1: &'static str = "brainpoolP256r1"; -pub const BCRYPT_ECC_CURVE_BRAINPOOLP256T1: &'static str = "brainpoolP256t1"; -pub const BCRYPT_ECC_CURVE_BRAINPOOLP320R1: &'static str = "brainpoolP320r1"; -pub const BCRYPT_ECC_CURVE_BRAINPOOLP320T1: &'static str = "brainpoolP320t1"; -pub const BCRYPT_ECC_CURVE_BRAINPOOLP384R1: &'static str = "brainpoolP384r1"; -pub const BCRYPT_ECC_CURVE_BRAINPOOLP384T1: &'static str = "brainpoolP384t1"; -pub const BCRYPT_ECC_CURVE_BRAINPOOLP512R1: &'static str = "brainpoolP512r1"; -pub const BCRYPT_ECC_CURVE_BRAINPOOLP512T1: &'static str = "brainpoolP512t1"; -pub const BCRYPT_ECC_CURVE_25519: &'static str = "curve25519"; -pub const BCRYPT_ECC_CURVE_EC192WAPI: &'static str = "ec192wapi"; -pub const BCRYPT_ECC_CURVE_NISTP192: &'static str = "nistP192"; -pub const BCRYPT_ECC_CURVE_NISTP224: &'static str = "nistP224"; -pub const BCRYPT_ECC_CURVE_NISTP256: &'static str = "nistP256"; -pub const BCRYPT_ECC_CURVE_NISTP384: &'static str = "nistP384"; -pub const BCRYPT_ECC_CURVE_NISTP521: &'static str = "nistP521"; -pub const BCRYPT_ECC_CURVE_NUMSP256T1: &'static str = "numsP256t1"; -pub const BCRYPT_ECC_CURVE_NUMSP384T1: &'static str = "numsP384t1"; -pub const BCRYPT_ECC_CURVE_NUMSP512T1: &'static str = "numsP512t1"; -pub const BCRYPT_ECC_CURVE_SECP160K1: &'static str = "secP160k1"; -pub const BCRYPT_ECC_CURVE_SECP160R1: &'static str = "secP160r1"; -pub const BCRYPT_ECC_CURVE_SECP160R2: &'static str = "secP160r2"; -pub const BCRYPT_ECC_CURVE_SECP192K1: &'static str = "secP192k1"; -pub const BCRYPT_ECC_CURVE_SECP192R1: &'static str = "secP192r1"; -pub const BCRYPT_ECC_CURVE_SECP224K1: &'static str = "secP224k1"; -pub const BCRYPT_ECC_CURVE_SECP224R1: &'static str = "secP224r1"; -pub const BCRYPT_ECC_CURVE_SECP256K1: &'static str = "secP256k1"; -pub const BCRYPT_ECC_CURVE_SECP256R1: &'static str = "secP256r1"; -pub const BCRYPT_ECC_CURVE_SECP384R1: &'static str = "secP384r1"; -pub const BCRYPT_ECC_CURVE_SECP521R1: &'static str = "secP521r1"; -pub const BCRYPT_ECC_CURVE_WTLS7: &'static str = "wtls7"; -pub const BCRYPT_ECC_CURVE_WTLS9: &'static str = "wtls9"; -pub const BCRYPT_ECC_CURVE_WTLS12: &'static str = "wtls12"; -pub const BCRYPT_ECC_CURVE_X962P192V1: &'static str = "x962P192v1"; -pub const BCRYPT_ECC_CURVE_X962P192V2: &'static str = "x962P192v2"; -pub const BCRYPT_ECC_CURVE_X962P192V3: &'static str = "x962P192v3"; -pub const BCRYPT_ECC_CURVE_X962P239V1: &'static str = "x962P239v1"; -pub const BCRYPT_ECC_CURVE_X962P239V2: &'static str = "x962P239v2"; -pub const BCRYPT_ECC_CURVE_X962P239V3: &'static str = "x962P239v3"; -pub const BCRYPT_ECC_CURVE_X962P256V1: &'static str = "x962P256v1"; -ENUM!{enum BCRYPT_HASH_OPERATION_TYPE { - BCRYPT_HASH_OPERATION_HASH_DATA = 1, - BCRYPT_HASH_OPERATION_FINISH_HASH = 2, -}} -STRUCT!{struct BCRYPT_MULTI_HASH_OPERATION { - iHash: ULONG, - hashOperation: BCRYPT_HASH_OPERATION_TYPE, - pbBuffer: PUCHAR, - cbBuffer: ULONG, -}} -ENUM!{enum BCRYPT_MULTI_OPERATION_TYPE { - BCRYPT_OPERATION_TYPE_HASH = 1, -}} -STRUCT!{struct BCRYPT_MULTI_OBJECT_LENGTH_STRUCT { - cbPerObject: ULONG, - cbPerElement: ULONG, -}} -pub const MS_PRIMITIVE_PROVIDER: &'static str = "Microsoft Primitive Provider"; -pub const MS_PLATFORM_CRYPTO_PROVIDER: &'static str = "Microsoft Platform Crypto Provider"; -pub const BCRYPT_RSA_ALGORITHM: &'static str = "RSA"; -pub const BCRYPT_RSA_SIGN_ALGORITHM: &'static str = "RSA_SIGN"; -pub const BCRYPT_DH_ALGORITHM: &'static str = "DH"; -pub const BCRYPT_DSA_ALGORITHM: &'static str = "DSA"; -pub const BCRYPT_RC2_ALGORITHM: &'static str = "RC2"; -pub const BCRYPT_RC4_ALGORITHM: &'static str = "RC4"; -pub const BCRYPT_AES_ALGORITHM: &'static str = "AES"; -pub const BCRYPT_DES_ALGORITHM: &'static str = "DES"; -pub const BCRYPT_DESX_ALGORITHM: &'static str = "DESX"; -pub const BCRYPT_3DES_ALGORITHM: &'static str = "3DES"; -pub const BCRYPT_3DES_112_ALGORITHM: &'static str = "3DES_112"; -pub const BCRYPT_MD2_ALGORITHM: &'static str = "MD2"; -pub const BCRYPT_MD4_ALGORITHM: &'static str = "MD4"; -pub const BCRYPT_MD5_ALGORITHM: &'static str = "MD5"; -pub const BCRYPT_SHA1_ALGORITHM: &'static str = "SHA1"; -pub const BCRYPT_SHA256_ALGORITHM: &'static str = "SHA256"; -pub const BCRYPT_SHA384_ALGORITHM: &'static str = "SHA384"; -pub const BCRYPT_SHA512_ALGORITHM: &'static str = "SHA512"; -pub const BCRYPT_AES_GMAC_ALGORITHM: &'static str = "AES-GMAC"; -pub const BCRYPT_AES_CMAC_ALGORITHM: &'static str = "AES-CMAC"; -pub const BCRYPT_ECDSA_P256_ALGORITHM: &'static str = "ECDSA_P256"; -pub const BCRYPT_ECDSA_P384_ALGORITHM: &'static str = "ECDSA_P384"; -pub const BCRYPT_ECDSA_P521_ALGORITHM: &'static str = "ECDSA_P521"; -pub const BCRYPT_ECDH_P256_ALGORITHM: &'static str = "ECDH_P256"; -pub const BCRYPT_ECDH_P384_ALGORITHM: &'static str = "ECDH_P384"; -pub const BCRYPT_ECDH_P521_ALGORITHM: &'static str = "ECDH_P521"; -pub const BCRYPT_RNG_ALGORITHM: &'static str = "RNG"; -pub const BCRYPT_RNG_FIPS186_DSA_ALGORITHM: &'static str = "FIPS186DSARNG"; -pub const BCRYPT_RNG_DUAL_EC_ALGORITHM: &'static str = "DUALECRNG"; -pub const BCRYPT_SP800108_CTR_HMAC_ALGORITHM: &'static str = "SP800_108_CTR_HMAC"; -pub const BCRYPT_SP80056A_CONCAT_ALGORITHM: &'static str = "SP800_56A_CONCAT"; -pub const BCRYPT_PBKDF2_ALGORITHM: &'static str = "PBKDF2"; -pub const BCRYPT_CAPI_KDF_ALGORITHM: &'static str = "CAPI_KDF"; -pub const BCRYPT_TLS1_1_KDF_ALGORITHM: &'static str = "TLS1_1_KDF"; -pub const BCRYPT_TLS1_2_KDF_ALGORITHM: &'static str = "TLS1_2_KDF"; -pub const BCRYPT_ECDSA_ALGORITHM: &'static str = "ECDSA"; -pub const BCRYPT_ECDH_ALGORITHM: &'static str = "ECDH"; -pub const BCRYPT_XTS_AES_ALGORITHM: &'static str = "XTS-AES"; -pub const BCRYPT_CIPHER_INTERFACE: ULONG = 0x00000001; -pub const BCRYPT_HASH_INTERFACE: ULONG = 0x00000002; -pub const BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE: ULONG = 0x00000003; -pub const BCRYPT_SECRET_AGREEMENT_INTERFACE: ULONG = 0x00000004; -pub const BCRYPT_SIGNATURE_INTERFACE: ULONG = 0x00000005; -pub const BCRYPT_RNG_INTERFACE: ULONG = 0x00000006; -pub const BCRYPT_KEY_DERIVATION_INTERFACE: ULONG = 0x00000007; -pub const BCRYPT_MD2_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000001 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_MD4_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000011 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_MD5_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000021 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_SHA1_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000031 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_SHA256_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000041 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_SHA384_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000051 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_SHA512_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000061 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_RC4_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000071 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_RNG_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000081 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_HMAC_MD5_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000091 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_HMAC_SHA1_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x000000a1 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_HMAC_SHA256_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x000000b1 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_HMAC_SHA384_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x000000c1 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_HMAC_SHA512_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x000000d1 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_RSA_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x000000e1 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_ECDSA_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x000000f1 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_AES_CMAC_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000101 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_AES_GMAC_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000111 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_HMAC_MD2_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000121 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_HMAC_MD4_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000131 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_3DES_CBC_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000141 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_3DES_ECB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000151 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_3DES_CFB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000161 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_3DES_112_CBC_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000171 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_3DES_112_ECB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000181 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_3DES_112_CFB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000191 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_AES_CBC_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x000001a1 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_AES_ECB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x000001b1 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_AES_CFB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x000001c1 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_AES_CCM_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x000001d1 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_AES_GCM_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x000001e1 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_DES_CBC_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x000001f1 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_DES_ECB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000201 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_DES_CFB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000211 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_DESX_CBC_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000221 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_DESX_ECB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000231 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_DESX_CFB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000241 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_RC2_CBC_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000251 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_RC2_ECB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000261 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_RC2_CFB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000271 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_DH_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000281 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_ECDH_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000291 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_ECDH_P256_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x000002a1 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_ECDH_P384_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x000002b1 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_ECDH_P521_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x000002c1 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_DSA_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x000002d1 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_ECDSA_P256_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x000002e1 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_ECDSA_P384_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x000002f1 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_ECDSA_P521_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000301 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_RSA_SIGN_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000311 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_CAPI_KDF_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000321 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_PBKDF2_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000331 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_SP800108_CTR_HMAC_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000341 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_SP80056A_CONCAT_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000351 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_TLS1_1_KDF_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000361 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_TLS1_2_KDF_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000371 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_XTS_AES_ALG_HANDLE: BCRYPT_ALG_HANDLE = 0x00000381 as BCRYPT_ALG_HANDLE; -pub const BCRYPT_ALG_HANDLE_HMAC_FLAG: ULONG = 0x00000008; -pub const BCRYPT_CAPI_AES_FLAG: ULONG = 0x00000010; -pub const BCRYPT_HASH_REUSABLE_FLAG: ULONG = 0x00000020; -pub const BCRYPT_BUFFERS_LOCKED_FLAG: ULONG = 0x00000040; -pub const BCRYPT_EXTENDED_KEYSIZE: ULONG = 0x00000080; -pub const BCRYPT_ENABLE_INCOMPATIBLE_FIPS_CHECKS: ULONG = 0x00000100; -extern "system" { - pub fn BCryptOpenAlgorithmProvider( - phAlgorithm: *mut BCRYPT_ALG_HANDLE, - pszAlgId: LPCWSTR, - pszImplementation: LPCWSTR, - dwFlags: ULONG, - ) -> NTSTATUS; -} -pub const BCRYPT_CIPHER_OPERATION: ULONG = 0x00000001; -pub const BCRYPT_HASH_OPERATION: ULONG = 0x00000002; -pub const BCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION: ULONG = 0x00000004; -pub const BCRYPT_SECRET_AGREEMENT_OPERATION: ULONG = 0x00000008; -pub const BCRYPT_SIGNATURE_OPERATION: ULONG = 0x00000010; -pub const BCRYPT_RNG_OPERATION: ULONG = 0x00000020; -pub const BCRYPT_KEY_DERIVATION_OPERATION: ULONG = 0x00000040; -STRUCT!{struct BCRYPT_ALGORITHM_IDENTIFIER { - pszName: LPWSTR, - dwClass: ULONG, - dwFlags: ULONG, -}} -extern "system" { - pub fn BCryptEnumAlgorithms( - dwAlgOperations: ULONG, - pAlgCount: *mut ULONG, - ppAlgList: *mut *mut BCRYPT_ALGORITHM_IDENTIFIER, - dwFlags: ULONG, - ) -> NTSTATUS; -} -STRUCT!{struct BCRYPT_PROVIDER_NAME { - pszProviderName: LPWSTR, -}} -extern "system" { - pub fn BCryptEnumProviders( - pszAlgId: LPCWSTR, - pImplCount: *mut ULONG, - ppImplList: *mut *mut BCRYPT_PROVIDER_NAME, - dwFlags: ULONG, - ) -> NTSTATUS; -} -pub const BCRYPT_PUBLIC_KEY_FLAG: ULONG = 0x00000001; -pub const BCRYPT_PRIVATE_KEY_FLAG: ULONG = 0x00000002; -extern "system" { - pub fn BCryptGetProperty( - hObject: BCRYPT_HANDLE, - pszProperty: LPCWSTR, - pbOutput: PUCHAR, - cbOutput: ULONG, - pcbResult: *mut ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptSetProperty( - hObject: BCRYPT_HANDLE, - pszProperty: LPCWSTR, - pbInput: PUCHAR, - cbInput: ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptCloseAlgorithmProvider( - hAlgorithm: BCRYPT_ALG_HANDLE, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptFreeBuffer( - pvBuffer: PVOID, - ); - pub fn BCryptGenerateSymmetricKey( - hAlgorithm: BCRYPT_ALG_HANDLE, - phKey: *mut BCRYPT_KEY_HANDLE, - pbKeyObject: PUCHAR, - cbKeyObject: ULONG, - pbSecret: PUCHAR, - cbSecret: ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptGenerateKeyPair( - hAlgorithm: BCRYPT_ALG_HANDLE, - phKey: *mut BCRYPT_KEY_HANDLE, - dwLength: ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptEncrypt( - hKey: BCRYPT_KEY_HANDLE, - pbInput: PUCHAR, - cbInput: ULONG, - pPaddingInfo: *mut VOID, - pbIV: PUCHAR, - cbIV: ULONG, - pbOutput: PUCHAR, - cbOutput: ULONG, - pcbResult: *mut ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptDecrypt( - hKey: BCRYPT_KEY_HANDLE, - pbInput: PUCHAR, - cbInput: ULONG, - pPaddingInfo: *mut VOID, - pbIV: PUCHAR, - cbIV: ULONG, - pbOutput: PUCHAR, - cbOutput: ULONG, - pcbResult: *mut ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptExportKey( - hKey: BCRYPT_KEY_HANDLE, - hExportKey: BCRYPT_KEY_HANDLE, - pszBlobType: LPCWSTR, - pbOutput: PUCHAR, - cbOutput: ULONG, - pcbResult: *mut ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptImportKey( - hAlgorithm: BCRYPT_ALG_HANDLE, - hImportKey: BCRYPT_KEY_HANDLE, - pszBlobType: LPCWSTR, - phKey: *mut BCRYPT_KEY_HANDLE, - pbKeyObject: PUCHAR, - cbKeyObject: ULONG, - pbInput: PUCHAR, - cbInput: ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; -} -pub const BCRYPT_NO_KEY_VALIDATION: ULONG = 0x00000008; -extern "system" { - pub fn BCryptImportKeyPair( - hAlgorithm: BCRYPT_ALG_HANDLE, - hImportKey: BCRYPT_KEY_HANDLE, - pszBlobType: LPCWSTR, - phKey: *mut BCRYPT_KEY_HANDLE, - pbInput: PUCHAR, - cbInput: ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptDuplicateKey( - hKey: BCRYPT_KEY_HANDLE, - phNewKey: *mut BCRYPT_KEY_HANDLE, - pbKeyObject: PUCHAR, - cbKeyObject: ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptFinalizeKeyPair( - hKey: BCRYPT_KEY_HANDLE, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptDestroyKey( - hKey: BCRYPT_KEY_HANDLE, - ) -> NTSTATUS; - pub fn BCryptDestroySecret( - hSecret: BCRYPT_SECRET_HANDLE, - ) -> NTSTATUS; - pub fn BCryptSignHash( - hKey: BCRYPT_KEY_HANDLE, - pPaddingInfo: *mut VOID, - pbInput: PUCHAR, - cbInput: ULONG, - pbOutput: PUCHAR, - cbOutput: ULONG, - pcbResult: *mut ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptVerifySignature( - hKey: BCRYPT_KEY_HANDLE, - pPaddingInfo: *mut VOID, - pbHash: PUCHAR, - cbHash: ULONG, - pbSignature: PUCHAR, - cbSignature: ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptSecretAgreement( - hPrivKey: BCRYPT_KEY_HANDLE, - hPubKey: BCRYPT_KEY_HANDLE, - phAgreedSecret: *mut BCRYPT_SECRET_HANDLE, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptDeriveKey( - hSharedSecret: BCRYPT_SECRET_HANDLE, - pwszKDF: LPCWSTR, - pParameterList: *mut BCryptBufferDesc, - pbDerivedKey: PUCHAR, - cbDerivedKey: ULONG, - pcbResult: *mut ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptKeyDerivation( - hKey: BCRYPT_KEY_HANDLE, - pParameterList: *mut BCryptBufferDesc, - pbDerivedKey: PUCHAR, - cbDerivedKey: ULONG, - pcbResult: *mut ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptCreateHash( - hAlgorithm: BCRYPT_ALG_HANDLE, - phHash: *mut BCRYPT_HASH_HANDLE, - pbHashObject: PUCHAR, - cbHashObject: ULONG, - pbSecret: PUCHAR, - cbSecret: ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptHashData( - hHash: BCRYPT_HASH_HANDLE, - pbInput: PUCHAR, - cbInput: ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptFinishHash( - hHash: BCRYPT_HASH_HANDLE, - pbOutput: PUCHAR, - cbOutput: ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptCreateMultiHash( - hAlgorithm: BCRYPT_ALG_HANDLE, - phHash: *mut BCRYPT_HASH_HANDLE, - nHashes: ULONG, - pbHashObject: PUCHAR, - cbHashObject: ULONG, - pbSecret: PUCHAR, - cbSecret: ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptProcessMultiOperations( - hObject: BCRYPT_HANDLE, - operationType: BCRYPT_MULTI_OPERATION_TYPE, - pOperations: PVOID, - cbOperations: ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptDuplicateHash( - hHash: BCRYPT_HASH_HANDLE, - phNewHash: *mut BCRYPT_HASH_HANDLE, - pbHashObject: PUCHAR, - cbHashObject: ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptDestroyHash( - hHash: BCRYPT_HASH_HANDLE, - ) -> NTSTATUS; - pub fn BCryptHash( - hAlgorithm: BCRYPT_ALG_HANDLE, - pbSecret: PUCHAR, - cbSecret: ULONG, - pbInput: PUCHAR, - cbInput: ULONG, - pbOutput: PUCHAR, - cbOutput: ULONG, - ) -> NTSTATUS; -} -pub const BCRYPT_RNG_USE_ENTROPY_IN_BUFFER: ULONG = 0x00000001; -pub const BCRYPT_USE_SYSTEM_PREFERRED_RNG: ULONG = 0x00000002; -extern "system" { - pub fn BCryptGenRandom( - hAlgorithm: BCRYPT_ALG_HANDLE, - pbBuffer: PUCHAR, - cbBuffer: ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptDeriveKeyCapi( - hHash: BCRYPT_HASH_HANDLE, - hTargetAlg: BCRYPT_ALG_HANDLE, - pbDerivedKey: PUCHAR, - cbDerivedKey: ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; - pub fn BCryptDeriveKeyPBKDF2( - hPrf: BCRYPT_ALG_HANDLE, - pbPassword: PUCHAR, - cbPassword: ULONG, - pbSalt: PUCHAR, - cbSalt: ULONG, - cIterations: ULONGLONG, - pbDerivedKey: PUCHAR, - cbDerivedKey: ULONG, - dwFlags: ULONG, - ) -> NTSTATUS; -} -STRUCT!{struct BCRYPT_INTERFACE_VERSION { - MajorVersion: USHORT, - MinorVersion: USHORT, -}} -pub type PBCRYPT_INTERFACE_VERSION = *mut BCRYPT_INTERFACE_VERSION; -#[inline] -pub fn BCRYPT_IS_INTERFACE_VERSION_COMPATIBLE( - loader: BCRYPT_INTERFACE_VERSION, - provider: BCRYPT_INTERFACE_VERSION, -) -> bool { - loader.MajorVersion <= provider.MajorVersion -} -pub const BCRYPT_CIPHER_INTERFACE_VERSION_1: BCRYPT_INTERFACE_VERSION = - BCRYPT_MAKE_INTERFACE_VERSION!(1, 0); -pub const BCRYPT_HASH_INTERFACE_VERSION_1: BCRYPT_INTERFACE_VERSION = - BCRYPT_MAKE_INTERFACE_VERSION!(1, 0); -pub const BCRYPT_HASH_INTERFACE_MAJORVERSION_2: USHORT = 2; -pub const BCRYPT_HASH_INTERFACE_VERSION_2: BCRYPT_INTERFACE_VERSION = - BCRYPT_MAKE_INTERFACE_VERSION!(BCRYPT_HASH_INTERFACE_MAJORVERSION_2, 0); -pub const BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE_VERSION_1: BCRYPT_INTERFACE_VERSION = - BCRYPT_MAKE_INTERFACE_VERSION!(1, 0); -pub const BCRYPT_SECRET_AGREEMENT_INTERFACE_VERSION_1: BCRYPT_INTERFACE_VERSION = - BCRYPT_MAKE_INTERFACE_VERSION!(1, 0); -pub const BCRYPT_SIGNATURE_INTERFACE_VERSION_1: BCRYPT_INTERFACE_VERSION = - BCRYPT_MAKE_INTERFACE_VERSION!(1, 0); -pub const BCRYPT_RNG_INTERFACE_VERSION_1: BCRYPT_INTERFACE_VERSION = - BCRYPT_MAKE_INTERFACE_VERSION!(1, 0); -pub const CRYPT_MIN_DEPENDENCIES: ULONG = 0x00000001; -pub const CRYPT_PROCESS_ISOLATE: ULONG = 0x00010000; -pub const CRYPT_UM: ULONG = 0x00000001; -pub const CRYPT_KM: ULONG = 0x00000002; -pub const CRYPT_MM: ULONG = 0x00000003; -pub const CRYPT_ANY: ULONG = 0x00000004; -pub const CRYPT_OVERWRITE: ULONG = 0x00000001; -pub const CRYPT_LOCAL: ULONG = 0x00000001; -pub const CRYPT_DOMAIN: ULONG = 0x00000002; -pub const CRYPT_EXCLUSIVE: ULONG = 0x00000001; -pub const CRYPT_OVERRIDE: ULONG = 0x00010000; -pub const CRYPT_ALL_FUNCTIONS: ULONG = 0x00000001; -pub const CRYPT_ALL_PROVIDERS: ULONG = 0x00000002; -pub const CRYPT_PRIORITY_TOP: ULONG = 0x00000000; -pub const CRYPT_PRIORITY_BOTTOM: ULONG = 0xFFFFFFFF; -pub const CRYPT_DEFAULT_CONTEXT: &'static str = "Default"; -STRUCT!{struct CRYPT_INTERFACE_REG { - dwInterface: ULONG, - dwFlags: ULONG, - cFunctions: ULONG, - rgpszFunctions: *mut PWSTR, -}} -pub type PCRYPT_INTERFACE_REG = *mut CRYPT_INTERFACE_REG; -STRUCT!{struct CRYPT_IMAGE_REG { - pszImage: PWSTR, - cInterfaces: ULONG, - rgpInterfaces: *mut PCRYPT_INTERFACE_REG, -}} -pub type PCRYPT_IMAGE_REG = *mut CRYPT_IMAGE_REG; -STRUCT!{struct CRYPT_PROVIDER_REG { - cAliases: ULONG, - rgpszAliases: *mut PWSTR, - pUM: PCRYPT_IMAGE_REG, - pKM: PCRYPT_IMAGE_REG, -}} -pub type PCRYPT_PROVIDER_REG = *mut CRYPT_PROVIDER_REG; -STRUCT!{struct CRYPT_PROVIDERS { - cProviders: ULONG, - rgpszProviders: *mut PWSTR, -}} -pub type PCRYPT_PROVIDERS = *mut CRYPT_PROVIDERS; -STRUCT!{struct CRYPT_CONTEXT_CONFIG { - dwFlags: ULONG, - dwReserved: ULONG, -}} -pub type PCRYPT_CONTEXT_CONFIG = *mut CRYPT_CONTEXT_CONFIG; -STRUCT!{struct CRYPT_CONTEXT_FUNCTION_CONFIG { - dwFlags: ULONG, - dwReserved: ULONG, -}} -pub type PCRYPT_CONTEXT_FUNCTION_CONFIG = *mut CRYPT_CONTEXT_FUNCTION_CONFIG; -STRUCT!{struct CRYPT_CONTEXTS { - cContexts: ULONG, - rgpszContexts: *mut PWSTR, -}} -pub type PCRYPT_CONTEXTS = *mut CRYPT_CONTEXTS; -STRUCT!{struct CRYPT_CONTEXT_FUNCTIONS { - cFunctions: ULONG, - rgpszFunctions: *mut PWSTR, -}} -pub type PCRYPT_CONTEXT_FUNCTIONS = *mut CRYPT_CONTEXT_FUNCTIONS; -STRUCT!{struct CRYPT_CONTEXT_FUNCTION_PROVIDERS { - cProviders: ULONG, - rgpszProviders: *mut PWSTR, -}} -pub type PCRYPT_CONTEXT_FUNCTION_PROVIDERS = *mut CRYPT_CONTEXT_FUNCTION_PROVIDERS; -STRUCT!{struct CRYPT_PROPERTY_REF { - pszProperty: PWSTR, - cbValue: ULONG, - pbValue: PUCHAR, -}} -pub type PCRYPT_PROPERTY_REF = *mut CRYPT_PROPERTY_REF; -STRUCT!{struct CRYPT_IMAGE_REF { - pszImage: PWSTR, - dwFlags: ULONG, -}} -pub type PCRYPT_IMAGE_REF = *mut CRYPT_IMAGE_REF; -STRUCT!{struct CRYPT_PROVIDER_REF { - dwInterface: ULONG, - pszFunction: PWSTR, - pszProvider: PWSTR, - cProperties: ULONG, - rgpProperties: *mut PCRYPT_PROPERTY_REF, - pUM: PCRYPT_IMAGE_REF, - pKM: PCRYPT_IMAGE_REF, -}} -pub type PCRYPT_PROVIDER_REF = *mut CRYPT_PROVIDER_REF; -STRUCT!{struct CRYPT_PROVIDER_REFS { - cProviders: ULONG, - rgpProviders: *mut PCRYPT_PROVIDER_REF, -}} -pub type PCRYPT_PROVIDER_REFS = *mut CRYPT_PROVIDER_REFS; -extern "system" { - pub fn BCryptQueryProviderRegistration( - pszProvider: LPCWSTR, - dwMode: ULONG, - dwInterface: ULONG, - pcbBuffer: *mut ULONG, - ppBuffer: *mut PCRYPT_PROVIDER_REG, - ) -> NTSTATUS; - pub fn BCryptEnumRegisteredProviders( - pcbBuffer: *mut ULONG, - ppBuffer: *mut PCRYPT_PROVIDERS, - ) -> NTSTATUS; - pub fn BCryptCreateContext( - dwTable: ULONG, - pszContext: LPCWSTR, - pConfig: PCRYPT_CONTEXT_CONFIG, - ) -> NTSTATUS; - pub fn BCryptDeleteContext( - dwTable: ULONG, - pszContext: LPCWSTR, - ) -> NTSTATUS; - pub fn BCryptEnumContexts( - dwTable: ULONG, - pcbBuffer: *mut ULONG, - ppBuffer: *mut PCRYPT_CONTEXTS, - ) -> NTSTATUS; - pub fn BCryptConfigureContext( - dwTable: ULONG, - pszContext: LPCWSTR, - pConfig: PCRYPT_CONTEXT_CONFIG, - ) -> NTSTATUS; - pub fn BCryptQueryContextConfiguration( - dwTable: ULONG, - pszContext: LPCWSTR, - pcbBuffer: *mut ULONG, - ppBuffer: *mut PCRYPT_CONTEXT_CONFIG, - ) -> NTSTATUS; - pub fn BCryptAddContextFunction( - dwTable: ULONG, - pszContext: LPCWSTR, - dwInterface: ULONG, - pszFunction: LPCWSTR, - dwPosition: ULONG, - ) -> NTSTATUS; - pub fn BCryptRemoveContextFunction( - dwTable: ULONG, - pszContext: LPCWSTR, - dwInterface: ULONG, - pszFunction: LPCWSTR, - ) -> NTSTATUS; - pub fn BCryptEnumContextFunctions( - dwTable: ULONG, - pszContext: LPCWSTR, - dwInterface: ULONG, - pcbBuffer: *mut ULONG, - ppBuffer: *mut PCRYPT_CONTEXT_FUNCTIONS, - ) -> NTSTATUS; - pub fn BCryptConfigureContextFunction( - dwTable: ULONG, - pszContext: LPCWSTR, - dwInterface: ULONG, - pszFunction: LPCWSTR, - pConfig: PCRYPT_CONTEXT_FUNCTION_CONFIG, - ) -> NTSTATUS; - pub fn BCryptQueryContextFunctionConfiguration( - dwTable: ULONG, - pszContext: LPCWSTR, - dwInterface: ULONG, - pszFunction: LPCWSTR, - pcbBuffer: *mut ULONG, - ppBuffer: *mut PCRYPT_CONTEXT_FUNCTION_CONFIG, - ) -> NTSTATUS; - pub fn BCryptEnumContextFunctionProviders( - dwTable: ULONG, - pszContext: LPCWSTR, - dwInterface: ULONG, - pszFunction: LPCWSTR, - pcbBuffer: *mut ULONG, - ppBuffer: *mut PCRYPT_CONTEXT_FUNCTION_PROVIDERS, - ) -> NTSTATUS; - pub fn BCryptSetContextFunctionProperty( - dwTable: ULONG, - pszContext: LPCWSTR, - dwInterface: ULONG, - pszFunction: LPCWSTR, - pszProperty: LPCWSTR, - cbValue: ULONG, - pbValue: PUCHAR, - ) -> NTSTATUS; - pub fn BCryptQueryContextFunctionProperty( - dwTable: ULONG, - pszContext: LPCWSTR, - dwInterface: ULONG, - pszFunction: LPCWSTR, - pszProperty: LPCWSTR, - pcbValue: *mut ULONG, - ppbValue: *mut PUCHAR, - ) -> NTSTATUS; - pub fn BCryptRegisterConfigChangeNotify( - phEvent: *mut HANDLE, - ) -> NTSTATUS; - pub fn BCryptUnregisterConfigChangeNotify( - hEvent: HANDLE, - ) -> NTSTATUS; - pub fn BCryptResolveProviders( - pszContext: LPCWSTR, - dwInterface: ULONG, - pszFunction: LPCWSTR, - pszProvider: LPCWSTR, - dwMode: ULONG, - dwFlags: ULONG, - pcbBuffer: *mut ULONG, - ppBuffer: *mut PCRYPT_PROVIDER_REFS, - ) -> NTSTATUS; - pub fn BCryptGetFipsAlgorithmMode( - pfEnabled: *mut BOOLEAN, - ) -> NTSTATUS; - pub fn CngGetFipsAlgorithmMode() -> BOOLEAN; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/bugcodes.rs b/vendor/registry-40351f815f426200/winapi/src/shared/bugcodes.rs deleted file mode 100644 index 3e2bd4954..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/bugcodes.rs +++ /dev/null @@ -1,456 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Definitions of system bug check codes -use shared::ntdef::ULONG; -pub const HARDWARE_PROFILE_UNDOCKED_STRING: ULONG = 0x40010001; -pub const HARDWARE_PROFILE_DOCKED_STRING: ULONG = 0x40010002; -pub const HARDWARE_PROFILE_UNKNOWN_STRING: ULONG = 0x40010003; -pub const WINDOWS_NT_BANNER: ULONG = 0x4000007E; -pub const WINDOWS_NT_CSD_STRING: ULONG = 0x40000087; -pub const WINDOWS_NT_INFO_STRING: ULONG = 0x40000088; -pub const WINDOWS_NT_MP_STRING: ULONG = 0x40000089; -pub const THREAD_TERMINATE_HELD_MUTEX: ULONG = 0x4000008A; -pub const WINDOWS_NT_INFO_STRING_PLURAL: ULONG = 0x4000009D; -pub const WINDOWS_NT_RC_STRING: ULONG = 0x4000009E; -pub const APC_INDEX_MISMATCH: ULONG = 0x00000001; -pub const DEVICE_QUEUE_NOT_BUSY: ULONG = 0x00000002; -pub const INVALID_AFFINITY_SET: ULONG = 0x00000003; -pub const INVALID_DATA_ACCESS_TRAP: ULONG = 0x00000004; -pub const INVALID_PROCESS_ATTACH_ATTEMPT: ULONG = 0x00000005; -pub const INVALID_PROCESS_DETACH_ATTEMPT: ULONG = 0x00000006; -pub const INVALID_SOFTWARE_INTERRUPT: ULONG = 0x00000007; -pub const IRQL_NOT_DISPATCH_LEVEL: ULONG = 0x00000008; -pub const IRQL_NOT_GREATER_OR_EQUAL: ULONG = 0x00000009; -pub const IRQL_NOT_LESS_OR_EQUAL: ULONG = 0x0000000A; -pub const NO_EXCEPTION_HANDLING_SUPPORT: ULONG = 0x0000000B; -pub const MAXIMUM_WAIT_OBJECTS_EXCEEDED: ULONG = 0x0000000C; -pub const MUTEX_LEVEL_NUMBER_VIOLATION: ULONG = 0x0000000D; -pub const NO_USER_MODE_CONTEXT: ULONG = 0x0000000E; -pub const SPIN_LOCK_ALREADY_OWNED: ULONG = 0x0000000F; -pub const SPIN_LOCK_NOT_OWNED: ULONG = 0x00000010; -pub const THREAD_NOT_MUTEX_OWNER: ULONG = 0x00000011; -pub const TRAP_CAUSE_UNKNOWN: ULONG = 0x00000012; -pub const EMPTY_THREAD_REAPER_LIST: ULONG = 0x00000013; -pub const CREATE_DELETE_LOCK_NOT_LOCKED: ULONG = 0x00000014; -pub const LAST_CHANCE_CALLED_FROM_KMODE: ULONG = 0x00000015; -pub const CID_HANDLE_CREATION: ULONG = 0x00000016; -pub const CID_HANDLE_DELETION: ULONG = 0x00000017; -pub const REFERENCE_BY_POINTER: ULONG = 0x00000018; -pub const BAD_POOL_HEADER: ULONG = 0x00000019; -pub const MEMORY_MANAGEMENT: ULONG = 0x0000001A; -pub const PFN_SHARE_COUNT: ULONG = 0x0000001B; -pub const PFN_REFERENCE_COUNT: ULONG = 0x0000001C; -pub const NO_SPIN_LOCK_AVAILABLE: ULONG = 0x0000001D; -pub const KMODE_EXCEPTION_NOT_HANDLED: ULONG = 0x0000001E; -pub const SHARED_RESOURCE_CONV_ERROR: ULONG = 0x0000001F; -pub const KERNEL_APC_PENDING_DURING_EXIT: ULONG = 0x00000020; -pub const QUOTA_UNDERFLOW: ULONG = 0x00000021; -pub const FILE_SYSTEM: ULONG = 0x00000022; -pub const FAT_FILE_SYSTEM: ULONG = 0x00000023; -pub const NTFS_FILE_SYSTEM: ULONG = 0x00000024; -pub const NPFS_FILE_SYSTEM: ULONG = 0x00000025; -pub const CDFS_FILE_SYSTEM: ULONG = 0x00000026; -pub const RDR_FILE_SYSTEM: ULONG = 0x00000027; -pub const CORRUPT_ACCESS_TOKEN: ULONG = 0x00000028; -pub const SECURITY_SYSTEM: ULONG = 0x00000029; -pub const INCONSISTENT_IRP: ULONG = 0x0000002A; -pub const PANIC_STACK_SWITCH: ULONG = 0x0000002B; -pub const PORT_DRIVER_INTERNAL: ULONG = 0x0000002C; -pub const SCSI_DISK_DRIVER_INTERNAL: ULONG = 0x0000002D; -pub const DATA_BUS_ERROR: ULONG = 0x0000002E; -pub const INSTRUCTION_BUS_ERROR: ULONG = 0x0000002F; -pub const SET_OF_INVALID_CONTEXT: ULONG = 0x00000030; -pub const PHASE0_INITIALIZATION_FAILED: ULONG = 0x00000031; -pub const PHASE1_INITIALIZATION_FAILED: ULONG = 0x00000032; -pub const UNEXPECTED_INITIALIZATION_CALL: ULONG = 0x00000033; -pub const CACHE_MANAGER: ULONG = 0x00000034; -pub const NO_MORE_IRP_STACK_LOCATIONS: ULONG = 0x00000035; -pub const DEVICE_REFERENCE_COUNT_NOT_ZERO: ULONG = 0x00000036; -pub const FLOPPY_INTERNAL_ERROR: ULONG = 0x00000037; -pub const SERIAL_DRIVER_INTERNAL: ULONG = 0x00000038; -pub const SYSTEM_EXIT_OWNED_MUTEX: ULONG = 0x00000039; -pub const SYSTEM_UNWIND_PREVIOUS_USER: ULONG = 0x0000003A; -pub const SYSTEM_SERVICE_EXCEPTION: ULONG = 0x0000003B; -pub const INTERRUPT_UNWIND_ATTEMPTED: ULONG = 0x0000003C; -pub const INTERRUPT_EXCEPTION_NOT_HANDLED: ULONG = 0x0000003D; -pub const MULTIPROCESSOR_CONFIGURATION_NOT_SUPPORTED: ULONG = 0x0000003E; -pub const NO_MORE_SYSTEM_PTES: ULONG = 0x0000003F; -pub const TARGET_MDL_TOO_SMALL: ULONG = 0x00000040; -pub const MUST_SUCCEED_POOL_EMPTY: ULONG = 0x00000041; -pub const ATDISK_DRIVER_INTERNAL: ULONG = 0x00000042; -pub const NO_SUCH_PARTITION: ULONG = 0x00000043; -pub const MULTIPLE_IRP_COMPLETE_REQUESTS: ULONG = 0x00000044; -pub const INSUFFICIENT_SYSTEM_MAP_REGS: ULONG = 0x00000045; -pub const DEREF_UNKNOWN_LOGON_SESSION: ULONG = 0x00000046; -pub const REF_UNKNOWN_LOGON_SESSION: ULONG = 0x00000047; -pub const CANCEL_STATE_IN_COMPLETED_IRP: ULONG = 0x00000048; -pub const PAGE_FAULT_WITH_INTERRUPTS_OFF: ULONG = 0x00000049; -pub const IRQL_GT_ZERO_AT_SYSTEM_SERVICE: ULONG = 0x0000004A; -pub const STREAMS_INTERNAL_ERROR: ULONG = 0x0000004B; -pub const FATAL_UNHANDLED_HARD_ERROR: ULONG = 0x0000004C; -pub const NO_PAGES_AVAILABLE: ULONG = 0x0000004D; -pub const PFN_LIST_CORRUPT: ULONG = 0x0000004E; -pub const NDIS_INTERNAL_ERROR: ULONG = 0x0000004F; -pub const PAGE_FAULT_IN_NONPAGED_AREA: ULONG = 0x00000050; -pub const PAGE_FAULT_IN_NONPAGED_AREA_M: ULONG = 0x10000050; -pub const REGISTRY_ERROR: ULONG = 0x00000051; -pub const MAILSLOT_FILE_SYSTEM: ULONG = 0x00000052; -pub const NO_BOOT_DEVICE: ULONG = 0x00000053; -pub const LM_SERVER_INTERNAL_ERROR: ULONG = 0x00000054; -pub const DATA_COHERENCY_EXCEPTION: ULONG = 0x00000055; -pub const INSTRUCTION_COHERENCY_EXCEPTION: ULONG = 0x00000056; -pub const XNS_INTERNAL_ERROR: ULONG = 0x00000057; -pub const VOLMGRX_INTERNAL_ERROR: ULONG = 0x00000058; -pub const PINBALL_FILE_SYSTEM: ULONG = 0x00000059; -pub const CRITICAL_SERVICE_FAILED: ULONG = 0x0000005A; -pub const SET_ENV_VAR_FAILED: ULONG = 0x0000005B; -pub const HAL_INITIALIZATION_FAILED: ULONG = 0x0000005C; -pub const UNSUPPORTED_PROCESSOR: ULONG = 0x0000005D; -pub const OBJECT_INITIALIZATION_FAILED: ULONG = 0x0000005E; -pub const SECURITY_INITIALIZATION_FAILED: ULONG = 0x0000005F; -pub const PROCESS_INITIALIZATION_FAILED: ULONG = 0x00000060; -pub const HAL1_INITIALIZATION_FAILED: ULONG = 0x00000061; -pub const OBJECT1_INITIALIZATION_FAILED: ULONG = 0x00000062; -pub const SECURITY1_INITIALIZATION_FAILED: ULONG = 0x00000063; -pub const SYMBOLIC_INITIALIZATION_FAILED: ULONG = 0x00000064; -pub const MEMORY1_INITIALIZATION_FAILED: ULONG = 0x00000065; -pub const CACHE_INITIALIZATION_FAILED: ULONG = 0x00000066; -pub const CONFIG_INITIALIZATION_FAILED: ULONG = 0x00000067; -pub const FILE_INITIALIZATION_FAILED: ULONG = 0x00000068; -pub const IO1_INITIALIZATION_FAILED: ULONG = 0x00000069; -pub const LPC_INITIALIZATION_FAILED: ULONG = 0x0000006A; -pub const PROCESS1_INITIALIZATION_FAILED: ULONG = 0x0000006B; -pub const REFMON_INITIALIZATION_FAILED: ULONG = 0x0000006C; -pub const SESSION1_INITIALIZATION_FAILED: ULONG = 0x0000006D; -pub const BOOTPROC_INITIALIZATION_FAILED: ULONG = 0x0000006E; -pub const VSL_INITIALIZATION_FAILED: ULONG = 0x0000006F; -pub const SOFT_RESTART_FATAL_ERROR: ULONG = 0x00000070; -pub const ASSIGN_DRIVE_LETTERS_FAILED: ULONG = 0x00000072; -pub const CONFIG_LIST_FAILED: ULONG = 0x00000073; -pub const BAD_SYSTEM_CONFIG_INFO: ULONG = 0x00000074; -pub const CANNOT_WRITE_CONFIGURATION: ULONG = 0x00000075; -pub const PROCESS_HAS_LOCKED_PAGES: ULONG = 0x00000076; -pub const KERNEL_STACK_INPAGE_ERROR: ULONG = 0x00000077; -pub const PHASE0_EXCEPTION: ULONG = 0x00000078; -pub const MISMATCHED_HAL: ULONG = 0x00000079; -pub const KERNEL_DATA_INPAGE_ERROR: ULONG = 0x0000007A; -pub const INACCESSIBLE_BOOT_DEVICE: ULONG = 0x0000007B; -pub const BUGCODE_NDIS_DRIVER: ULONG = 0x0000007C; -pub const INSTALL_MORE_MEMORY: ULONG = 0x0000007D; -pub const SYSTEM_THREAD_EXCEPTION_NOT_HANDLED: ULONG = 0x0000007E; -pub const SYSTEM_THREAD_EXCEPTION_NOT_HANDLED_M: ULONG = 0x1000007E; -pub const UNEXPECTED_KERNEL_MODE_TRAP: ULONG = 0x0000007F; -pub const UNEXPECTED_KERNEL_MODE_TRAP_M: ULONG = 0x1000007F; -pub const NMI_HARDWARE_FAILURE: ULONG = 0x00000080; -pub const SPIN_LOCK_INIT_FAILURE: ULONG = 0x00000081; -pub const DFS_FILE_SYSTEM: ULONG = 0x00000082; -pub const OFS_FILE_SYSTEM: ULONG = 0x00000083; -pub const RECOM_DRIVER: ULONG = 0x00000084; -pub const SETUP_FAILURE: ULONG = 0x00000085; -pub const AUDIT_FAILURE: ULONG = 0x00000086; -pub const MBR_CHECKSUM_MISMATCH: ULONG = 0x0000008B; -pub const KERNEL_MODE_EXCEPTION_NOT_HANDLED: ULONG = 0x0000008E; -pub const KERNEL_MODE_EXCEPTION_NOT_HANDLED_M: ULONG = 0x1000008E; -pub const PP0_INITIALIZATION_FAILED: ULONG = 0x0000008F; -pub const PP1_INITIALIZATION_FAILED: ULONG = 0x00000090; -pub const WIN32K_INIT_OR_RIT_FAILURE: ULONG = 0x00000091; -pub const UP_DRIVER_ON_MP_SYSTEM: ULONG = 0x00000092; -pub const INVALID_KERNEL_HANDLE: ULONG = 0x00000093; -pub const KERNEL_STACK_LOCKED_AT_EXIT: ULONG = 0x00000094; -pub const PNP_INTERNAL_ERROR: ULONG = 0x00000095; -pub const INVALID_WORK_QUEUE_ITEM: ULONG = 0x00000096; -pub const BOUND_IMAGE_UNSUPPORTED: ULONG = 0x00000097; -pub const END_OF_NT_EVALUATION_PERIOD: ULONG = 0x00000098; -pub const INVALID_REGION_OR_SEGMENT: ULONG = 0x00000099; -pub const SYSTEM_LICENSE_VIOLATION: ULONG = 0x0000009A; -pub const UDFS_FILE_SYSTEM: ULONG = 0x0000009B; -pub const MACHINE_CHECK_EXCEPTION: ULONG = 0x0000009C; -pub const USER_MODE_HEALTH_MONITOR: ULONG = 0x0000009E; -pub const DRIVER_POWER_STATE_FAILURE: ULONG = 0x0000009F; -pub const INTERNAL_POWER_ERROR: ULONG = 0x000000A0; -pub const PCI_BUS_DRIVER_INTERNAL: ULONG = 0x000000A1; -pub const MEMORY_IMAGE_CORRUPT: ULONG = 0x000000A2; -pub const ACPI_DRIVER_INTERNAL: ULONG = 0x000000A3; -pub const CNSS_FILE_SYSTEM_FILTER: ULONG = 0x000000A4; -pub const ACPI_BIOS_ERROR: ULONG = 0x000000A5; -pub const FP_EMULATION_ERROR: ULONG = 0x000000A6; -pub const BAD_EXHANDLE: ULONG = 0x000000A7; -pub const BOOTING_IN_SAFEMODE_MINIMAL: ULONG = 0x000000A8; -pub const BOOTING_IN_SAFEMODE_NETWORK: ULONG = 0x000000A9; -pub const BOOTING_IN_SAFEMODE_DSREPAIR: ULONG = 0x000000AA; -pub const SESSION_HAS_VALID_POOL_ON_EXIT: ULONG = 0x000000AB; -pub const HAL_MEMORY_ALLOCATION: ULONG = 0x000000AC; -pub const VIDEO_DRIVER_DEBUG_REPORT_REQUEST: ULONG = 0x400000AD; -pub const BGI_DETECTED_VIOLATION: ULONG = 0x000000B1; -pub const VIDEO_DRIVER_INIT_FAILURE: ULONG = 0x000000B4; -pub const BOOTLOG_LOADED: ULONG = 0x000000B5; -pub const BOOTLOG_NOT_LOADED: ULONG = 0x000000B6; -pub const BOOTLOG_ENABLED: ULONG = 0x000000B7; -pub const ATTEMPTED_SWITCH_FROM_DPC: ULONG = 0x000000B8; -pub const CHIPSET_DETECTED_ERROR: ULONG = 0x000000B9; -pub const SESSION_HAS_VALID_VIEWS_ON_EXIT: ULONG = 0x000000BA; -pub const NETWORK_BOOT_INITIALIZATION_FAILED: ULONG = 0x000000BB; -pub const NETWORK_BOOT_DUPLICATE_ADDRESS: ULONG = 0x000000BC; -pub const INVALID_HIBERNATED_STATE: ULONG = 0x000000BD; -pub const ATTEMPTED_WRITE_TO_READONLY_MEMORY: ULONG = 0x000000BE; -pub const MUTEX_ALREADY_OWNED: ULONG = 0x000000BF; -pub const PCI_CONFIG_SPACE_ACCESS_FAILURE: ULONG = 0x000000C0; -pub const SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION: ULONG = 0x000000C1; -pub const BAD_POOL_CALLER: ULONG = 0x000000C2; -pub const SYSTEM_IMAGE_BAD_SIGNATURE: ULONG = 0x000000C3; -pub const DRIVER_VERIFIER_DETECTED_VIOLATION: ULONG = 0x000000C4; -pub const DRIVER_CORRUPTED_EXPOOL: ULONG = 0x000000C5; -pub const DRIVER_CAUGHT_MODIFYING_FREED_POOL: ULONG = 0x000000C6; -pub const TIMER_OR_DPC_INVALID: ULONG = 0x000000C7; -pub const IRQL_UNEXPECTED_VALUE: ULONG = 0x000000C8; -pub const DRIVER_VERIFIER_IOMANAGER_VIOLATION: ULONG = 0x000000C9; -pub const PNP_DETECTED_FATAL_ERROR: ULONG = 0x000000CA; -pub const DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS: ULONG = 0x000000CB; -pub const PAGE_FAULT_IN_FREED_SPECIAL_POOL: ULONG = 0x000000CC; -pub const PAGE_FAULT_BEYOND_END_OF_ALLOCATION: ULONG = 0x000000CD; -pub const DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS: ULONG = 0x000000CE; -pub const TERMINAL_SERVER_DRIVER_MADE_INCORRECT_MEMORY_REFERENCE: ULONG = 0x000000CF; -pub const DRIVER_CORRUPTED_MMPOOL: ULONG = 0x000000D0; -pub const DRIVER_IRQL_NOT_LESS_OR_EQUAL: ULONG = 0x000000D1; -pub const BUGCODE_ID_DRIVER: ULONG = 0x000000D2; -pub const DRIVER_PORTION_MUST_BE_NONPAGED: ULONG = 0x000000D3; -pub const SYSTEM_SCAN_AT_RAISED_IRQL_CAUGHT_IMPROPER_DRIVER_UNLOAD: ULONG = 0x000000D4; -pub const DRIVER_PAGE_FAULT_IN_FREED_SPECIAL_POOL: ULONG = 0x000000D5; -pub const DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION: ULONG = 0x000000D6; -pub const DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION_M: ULONG = 0x100000D6; -pub const DRIVER_UNMAPPING_INVALID_VIEW: ULONG = 0x000000D7; -pub const DRIVER_USED_EXCESSIVE_PTES: ULONG = 0x000000D8; -pub const LOCKED_PAGES_TRACKER_CORRUPTION: ULONG = 0x000000D9; -pub const SYSTEM_PTE_MISUSE: ULONG = 0x000000DA; -pub const DRIVER_CORRUPTED_SYSPTES: ULONG = 0x000000DB; -pub const DRIVER_INVALID_STACK_ACCESS: ULONG = 0x000000DC; -pub const POOL_CORRUPTION_IN_FILE_AREA: ULONG = 0x000000DE; -pub const IMPERSONATING_WORKER_THREAD: ULONG = 0x000000DF; -pub const ACPI_BIOS_FATAL_ERROR: ULONG = 0x000000E0; -pub const WORKER_THREAD_RETURNED_AT_BAD_IRQL: ULONG = 0x000000E1; -pub const MANUALLY_INITIATED_CRASH: ULONG = 0x000000E2; -pub const RESOURCE_NOT_OWNED: ULONG = 0x000000E3; -pub const WORKER_INVALID: ULONG = 0x000000E4; -pub const POWER_FAILURE_SIMULATE: ULONG = 0x000000E5; -pub const DRIVER_VERIFIER_DMA_VIOLATION: ULONG = 0x000000E6; -pub const INVALID_FLOATING_POINT_STATE: ULONG = 0x000000E7; -pub const INVALID_CANCEL_OF_FILE_OPEN: ULONG = 0x000000E8; -pub const ACTIVE_EX_WORKER_THREAD_TERMINATION: ULONG = 0x000000E9; -pub const SAVER_UNSPECIFIED: ULONG = 0x0000F000; -pub const SAVER_BLANKSCREEN: ULONG = 0x0000F002; -pub const SAVER_INPUT: ULONG = 0x0000F003; -pub const SAVER_WATCHDOG: ULONG = 0x0000F004; -pub const SAVER_STARTNOTVISIBLE: ULONG = 0x0000F005; -pub const SAVER_NAVIGATIONMODEL: ULONG = 0x0000F006; -pub const SAVER_OUTOFMEMORY: ULONG = 0x0000F007; -pub const SAVER_GRAPHICS: ULONG = 0x0000F008; -pub const SAVER_NAVSERVERTIMEOUT: ULONG = 0x0000F009; -pub const SAVER_CHROMEPROCESSCRASH: ULONG = 0x0000F00A; -pub const SAVER_NOTIFICATIONDISMISSAL: ULONG = 0x0000F00B; -pub const SAVER_SPEECHDISMISSAL: ULONG = 0x0000F00C; -pub const SAVER_CALLDISMISSAL: ULONG = 0x0000F00D; -pub const SAVER_APPBARDISMISSAL: ULONG = 0x0000F00E; -pub const SAVER_RILADAPTATIONCRASH: ULONG = 0x0000F00F; -pub const SAVER_APPLISTUNREACHABLE: ULONG = 0x0000F010; -pub const SAVER_REPORTNOTIFICATIONFAILURE: ULONG = 0x0000F011; -pub const SAVER_UNEXPECTEDSHUTDOWN: ULONG = 0x0000F012; -pub const SAVER_RPCFAILURE: ULONG = 0x0000F013; -pub const SAVER_AUXILIARYFULLDUMP: ULONG = 0x0000F014; -pub const SAVER_ACCOUNTPROVSVCINITFAILURE: ULONG = 0x0000F015; -pub const SAVER_MTBFCOMMANDTIMEOUT: ULONG = 0x00000315; -pub const SAVER_MTBFCOMMANDHANG: ULONG = 0x0000F101; -pub const SAVER_MTBFPASSBUGCHECK: ULONG = 0x0000F102; -pub const SAVER_MTBFIOERROR: ULONG = 0x0000F103; -pub const SAVER_RENDERTHREADHANG: ULONG = 0x0000F200; -pub const SAVER_RENDERMOBILEUIOOM: ULONG = 0x0000F201; -pub const SAVER_DEVICEUPDATEUNSPECIFIED: ULONG = 0x0000F300; -pub const SAVER_AUDIODRIVERHANG: ULONG = 0x0000F400; -pub const SAVER_BATTERYPULLOUT: ULONG = 0x0000F500; -pub const SAVER_MEDIACORETESTHANG: ULONG = 0x0000F600; -pub const SAVER_RESOURCEMANAGEMENT: ULONG = 0x0000F700; -pub const SAVER_CAPTURESERVICE: ULONG = 0x0000F800; -pub const SAVER_WAITFORSHELLREADY: ULONG = 0x0000F900; -pub const SAVER_NONRESPONSIVEPROCESS: ULONG = 0x00000194; -pub const SAVER_SICKAPPLICATION: ULONG = 0x00008866; -pub const THREAD_STUCK_IN_DEVICE_DRIVER: ULONG = 0x000000EA; -pub const THREAD_STUCK_IN_DEVICE_DRIVER_M: ULONG = 0x100000EA; -pub const DIRTY_MAPPED_PAGES_CONGESTION: ULONG = 0x000000EB; -pub const SESSION_HAS_VALID_SPECIAL_POOL_ON_EXIT: ULONG = 0x000000EC; -pub const UNMOUNTABLE_BOOT_VOLUME: ULONG = 0x000000ED; -pub const CRITICAL_PROCESS_DIED: ULONG = 0x000000EF; -pub const STORAGE_MINIPORT_ERROR: ULONG = 0x000000F0; -pub const SCSI_VERIFIER_DETECTED_VIOLATION: ULONG = 0x000000F1; -pub const HARDWARE_INTERRUPT_STORM: ULONG = 0x000000F2; -pub const DISORDERLY_SHUTDOWN: ULONG = 0x000000F3; -pub const CRITICAL_OBJECT_TERMINATION: ULONG = 0x000000F4; -pub const FLTMGR_FILE_SYSTEM: ULONG = 0x000000F5; -pub const PCI_VERIFIER_DETECTED_VIOLATION: ULONG = 0x000000F6; -pub const DRIVER_OVERRAN_STACK_BUFFER: ULONG = 0x000000F7; -pub const RAMDISK_BOOT_INITIALIZATION_FAILED: ULONG = 0x000000F8; -pub const DRIVER_RETURNED_STATUS_REPARSE_FOR_VOLUME_OPEN: ULONG = 0x000000F9; -pub const HTTP_DRIVER_CORRUPTED: ULONG = 0x000000FA; -pub const RECURSIVE_MACHINE_CHECK: ULONG = 0x000000FB; -pub const ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY: ULONG = 0x000000FC; -pub const DIRTY_NOWRITE_PAGES_CONGESTION: ULONG = 0x000000FD; -pub const BUGCODE_USB_DRIVER: ULONG = 0x000000FE; -pub const BC_BLUETOOTH_VERIFIER_FAULT: ULONG = 0x00000BFE; -pub const BC_BTHMINI_VERIFIER_FAULT: ULONG = 0x00000BFF; -pub const RESERVE_QUEUE_OVERFLOW: ULONG = 0x000000FF; -pub const LOADER_BLOCK_MISMATCH: ULONG = 0x00000100; -pub const CLOCK_WATCHDOG_TIMEOUT: ULONG = 0x00000101; -pub const DPC_WATCHDOG_TIMEOUT: ULONG = 0x00000102; -pub const MUP_FILE_SYSTEM: ULONG = 0x00000103; -pub const AGP_INVALID_ACCESS: ULONG = 0x00000104; -pub const AGP_GART_CORRUPTION: ULONG = 0x00000105; -pub const AGP_ILLEGALLY_REPROGRAMMED: ULONG = 0x00000106; -pub const KERNEL_EXPAND_STACK_ACTIVE: ULONG = 0x00000107; -pub const THIRD_PARTY_FILE_SYSTEM_FAILURE: ULONG = 0x00000108; -pub const CRITICAL_STRUCTURE_CORRUPTION: ULONG = 0x00000109; -pub const APP_TAGGING_INITIALIZATION_FAILED: ULONG = 0x0000010A; -pub const DFSC_FILE_SYSTEM: ULONG = 0x0000010B; -pub const FSRTL_EXTRA_CREATE_PARAMETER_VIOLATION: ULONG = 0x0000010C; -pub const WDF_VIOLATION: ULONG = 0x0000010D; -pub const VIDEO_MEMORY_MANAGEMENT_INTERNAL: ULONG = 0x0000010E; -pub const DRIVER_INVALID_CRUNTIME_PARAMETER: ULONG = 0x00000110; -pub const RECURSIVE_NMI: ULONG = 0x00000111; -pub const MSRPC_STATE_VIOLATION: ULONG = 0x00000112; -pub const VIDEO_DXGKRNL_FATAL_ERROR: ULONG = 0x00000113; -pub const VIDEO_SHADOW_DRIVER_FATAL_ERROR: ULONG = 0x00000114; -pub const AGP_INTERNAL: ULONG = 0x00000115; -pub const VIDEO_TDR_FAILURE: ULONG = 0x00000116; -pub const VIDEO_TDR_TIMEOUT_DETECTED: ULONG = 0x00000117; -pub const NTHV_GUEST_ERROR: ULONG = 0x00000118; -pub const VIDEO_SCHEDULER_INTERNAL_ERROR: ULONG = 0x00000119; -pub const EM_INITIALIZATION_ERROR: ULONG = 0x0000011A; -pub const DRIVER_RETURNED_HOLDING_CANCEL_LOCK: ULONG = 0x0000011B; -pub const ATTEMPTED_WRITE_TO_CM_PROTECTED_STORAGE: ULONG = 0x0000011C; -pub const EVENT_TRACING_FATAL_ERROR: ULONG = 0x0000011D; -pub const TOO_MANY_RECURSIVE_FAULTS: ULONG = 0x0000011E; -pub const INVALID_DRIVER_HANDLE: ULONG = 0x0000011F; -pub const BITLOCKER_FATAL_ERROR: ULONG = 0x00000120; -pub const DRIVER_VIOLATION: ULONG = 0x00000121; -pub const WHEA_INTERNAL_ERROR: ULONG = 0x00000122; -pub const CRYPTO_SELF_TEST_FAILURE: ULONG = 0x00000123; -pub const WHEA_UNCORRECTABLE_ERROR: ULONG = 0x00000124; -pub const NMR_INVALID_STATE: ULONG = 0x00000125; -pub const NETIO_INVALID_POOL_CALLER: ULONG = 0x00000126; -pub const PAGE_NOT_ZERO: ULONG = 0x00000127; -pub const WORKER_THREAD_RETURNED_WITH_BAD_IO_PRIORITY: ULONG = 0x00000128; -pub const WORKER_THREAD_RETURNED_WITH_BAD_PAGING_IO_PRIORITY: ULONG = 0x00000129; -pub const MUI_NO_VALID_SYSTEM_LANGUAGE: ULONG = 0x0000012A; -pub const FAULTY_HARDWARE_CORRUPTED_PAGE: ULONG = 0x0000012B; -pub const EXFAT_FILE_SYSTEM: ULONG = 0x0000012C; -pub const VOLSNAP_OVERLAPPED_TABLE_ACCESS: ULONG = 0x0000012D; -pub const INVALID_MDL_RANGE: ULONG = 0x0000012E; -pub const VHD_BOOT_INITIALIZATION_FAILED: ULONG = 0x0000012F; -pub const DYNAMIC_ADD_PROCESSOR_MISMATCH: ULONG = 0x00000130; -pub const INVALID_EXTENDED_PROCESSOR_STATE: ULONG = 0x00000131; -pub const RESOURCE_OWNER_POINTER_INVALID: ULONG = 0x00000132; -pub const DPC_WATCHDOG_VIOLATION: ULONG = 0x00000133; -pub const DRIVE_EXTENDER: ULONG = 0x00000134; -pub const REGISTRY_FILTER_DRIVER_EXCEPTION: ULONG = 0x00000135; -pub const VHD_BOOT_HOST_VOLUME_NOT_ENOUGH_SPACE: ULONG = 0x00000136; -pub const WIN32K_HANDLE_MANAGER: ULONG = 0x00000137; -pub const GPIO_CONTROLLER_DRIVER_ERROR: ULONG = 0x00000138; -pub const KERNEL_SECURITY_CHECK_FAILURE: ULONG = 0x00000139; -pub const KERNEL_MODE_HEAP_CORRUPTION: ULONG = 0x0000013A; -pub const PASSIVE_INTERRUPT_ERROR: ULONG = 0x0000013B; -pub const INVALID_IO_BOOST_STATE: ULONG = 0x0000013C; -pub const CRITICAL_INITIALIZATION_FAILURE: ULONG = 0x0000013D; -pub const ERRATA_WORKAROUND_UNSUCCESSFUL: ULONG = 0x0000013E; -pub const STORAGE_DEVICE_ABNORMALITY_DETECTED: ULONG = 0x00000140; -pub const VIDEO_ENGINE_TIMEOUT_DETECTED: ULONG = 0x00000141; -pub const VIDEO_TDR_APPLICATION_BLOCKED: ULONG = 0x00000142; -pub const PROCESSOR_DRIVER_INTERNAL: ULONG = 0x00000143; -pub const BUGCODE_USB3_DRIVER: ULONG = 0x00000144; -pub const SECURE_BOOT_VIOLATION: ULONG = 0x00000145; -pub const NDIS_NET_BUFFER_LIST_INFO_ILLEGALLY_TRANSFERRED: ULONG = 0x00000146; -pub const ABNORMAL_RESET_DETECTED: ULONG = 0x00000147; -pub const IO_OBJECT_INVALID: ULONG = 0x00000148; -pub const REFS_FILE_SYSTEM: ULONG = 0x00000149; -pub const KERNEL_WMI_INTERNAL: ULONG = 0x0000014A; -pub const SOC_SUBSYSTEM_FAILURE: ULONG = 0x0000014B; -pub const FATAL_ABNORMAL_RESET_ERROR: ULONG = 0x0000014C; -pub const EXCEPTION_SCOPE_INVALID: ULONG = 0x0000014D; -pub const SOC_CRITICAL_DEVICE_REMOVED: ULONG = 0x0000014E; -pub const PDC_WATCHDOG_TIMEOUT: ULONG = 0x0000014F; -pub const TCPIP_AOAC_NIC_ACTIVE_REFERENCE_LEAK: ULONG = 0x00000150; -pub const UNSUPPORTED_INSTRUCTION_MODE: ULONG = 0x00000151; -pub const INVALID_PUSH_LOCK_FLAGS: ULONG = 0x00000152; -pub const KERNEL_LOCK_ENTRY_LEAKED_ON_THREAD_TERMINATION: ULONG = 0x00000153; -pub const UNEXPECTED_STORE_EXCEPTION: ULONG = 0x00000154; -pub const OS_DATA_TAMPERING: ULONG = 0x00000155; -pub const WINSOCK_DETECTED_HUNG_CLOSESOCKET_LIVEDUMP: ULONG = 0x00000156; -pub const KERNEL_THREAD_PRIORITY_FLOOR_VIOLATION: ULONG = 0x00000157; -pub const ILLEGAL_IOMMU_PAGE_FAULT: ULONG = 0x00000158; -pub const HAL_ILLEGAL_IOMMU_PAGE_FAULT: ULONG = 0x00000159; -pub const SDBUS_INTERNAL_ERROR: ULONG = 0x0000015A; -pub const WORKER_THREAD_RETURNED_WITH_SYSTEM_PAGE_PRIORITY_ACTIVE: ULONG = 0x0000015B; -pub const PDC_WATCHDOG_TIMEOUT_LIVEDUMP: ULONG = 0x0000015C; -pub const SOC_SUBSYSTEM_FAILURE_LIVEDUMP: ULONG = 0x0000015D; -pub const BUGCODE_NDIS_DRIVER_LIVE_DUMP: ULONG = 0x0000015E; -pub const CONNECTED_STANDBY_WATCHDOG_TIMEOUT_LIVEDUMP: ULONG = 0x0000015F; -pub const WIN32K_ATOMIC_CHECK_FAILURE: ULONG = 0x00000160; -pub const LIVE_SYSTEM_DUMP: ULONG = 0x00000161; -pub const KERNEL_AUTO_BOOST_INVALID_LOCK_RELEASE: ULONG = 0x00000162; -pub const WORKER_THREAD_TEST_CONDITION: ULONG = 0x00000163; -pub const WIN32K_CRITICAL_FAILURE: ULONG = 0x00000164; -pub const CLUSTER_CSV_STATUS_IO_TIMEOUT_LIVEDUMP: ULONG = 0x00000165; -pub const CLUSTER_RESOURCE_CALL_TIMEOUT_LIVEDUMP: ULONG = 0x00000166; -pub const CLUSTER_CSV_SNAPSHOT_DEVICE_INFO_TIMEOUT_LIVEDUMP: ULONG = 0x00000167; -pub const CLUSTER_CSV_STATE_TRANSITION_TIMEOUT_LIVEDUMP: ULONG = 0x00000168; -pub const CLUSTER_CSV_VOLUME_ARRIVAL_LIVEDUMP: ULONG = 0x00000169; -pub const CLUSTER_CSV_VOLUME_REMOVAL_LIVEDUMP: ULONG = 0x0000016A; -pub const CLUSTER_CSV_CLUSTER_WATCHDOG_LIVEDUMP: ULONG = 0x0000016B; -pub const INVALID_RUNDOWN_PROTECTION_FLAGS: ULONG = 0x0000016C; -pub const INVALID_SLOT_ALLOCATOR_FLAGS: ULONG = 0x0000016D; -pub const ERESOURCE_INVALID_RELEASE: ULONG = 0x0000016E; -pub const CLUSTER_CSV_STATE_TRANSITION_INTERVAL_TIMEOUT_LIVEDUMP: ULONG = 0x0000016F; -pub const CLUSTER_CSV_CLUSSVC_DISCONNECT_WATCHDOG: ULONG = 0x00000170; -pub const CRYPTO_LIBRARY_INTERNAL_ERROR: ULONG = 0x00000171; -pub const COREMSGCALL_INTERNAL_ERROR: ULONG = 0x00000173; -pub const COREMSG_INTERNAL_ERROR: ULONG = 0x00000174; -pub const PREVIOUS_FATAL_ABNORMAL_RESET_ERROR: ULONG = 0x00000175; -pub const ELAM_DRIVER_DETECTED_FATAL_ERROR: ULONG = 0x00000178; -pub const PDC_LOCK_WATCHDOG_LIVEDUMP: ULONG = 0x0000017C; -pub const PDC_UNEXPECTED_REVOCATION_LIVEDUMP: ULONG = 0x0000017D; -pub const WVR_LIVEDUMP_REPLICATION_IOCONTEXT_TIMEOUT: ULONG = 0x00000180; -pub const WVR_LIVEDUMP_STATE_TRANSITION_TIMEOUT: ULONG = 0x00000181; -pub const WVR_LIVEDUMP_RECOVERY_IOCONTEXT_TIMEOUT: ULONG = 0x00000182; -pub const WVR_LIVEDUMP_APP_IO_TIMEOUT: ULONG = 0x00000183; -pub const WVR_LIVEDUMP_MANUALLY_INITIATED: ULONG = 0x00000184; -pub const WVR_LIVEDUMP_STATE_FAILURE: ULONG = 0x00000185; -pub const WVR_LIVEDUMP_CRITICAL_ERROR: ULONG = 0x00000186; -pub const VIDEO_DWMINIT_TIMEOUT_FALLBACK_BDD: ULONG = 0x00000187; -pub const CLUSTER_CSVFS_LIVEDUMP: ULONG = 0x00000188; -pub const BAD_OBJECT_HEADER: ULONG = 0x00000189; -pub const SILO_CORRUPT: ULONG = 0x0000018A; -pub const SECURE_KERNEL_ERROR: ULONG = 0x0000018B; -pub const HYPERGUARD_VIOLATION: ULONG = 0x0000018C; -pub const WIN32K_CRITICAL_FAILURE_LIVEDUMP: ULONG = 0x00000190; -pub const PF_DETECTED_CORRUPTION: ULONG = 0x00000191; -pub const KERNEL_AUTO_BOOST_LOCK_ACQUISITION_WITH_RAISED_IRQL: ULONG = 0x00000192; -pub const VIDEO_DXGKRNL_LIVEDUMP: ULONG = 0x00000193; -pub const KERNEL_STORAGE_SLOT_IN_USE: ULONG = 0x00000199; -pub const SMB_SERVER_LIVEDUMP: ULONG = 0x00000195; -pub const LOADER_ROLLBACK_DETECTED: ULONG = 0x00000196; -pub const WIN32K_SECURITY_FAILURE: ULONG = 0x00000197; -pub const UFX_LIVEDUMP: ULONG = 0x00000198; -pub const WORKER_THREAD_RETURNED_WHILE_ATTACHED_TO_SILO: ULONG = 0x0000019A; -pub const TTM_FATAL_ERROR: ULONG = 0x0000019B; -pub const WIN32K_POWER_WATCHDOG_TIMEOUT: ULONG = 0x0000019C; -pub const CLUSTER_SVHDX_LIVEDUMP: ULONG = 0x0000019D; -pub const DRIVER_VERIFIER_DETECTED_VIOLATION_LIVEDUMP: ULONG = 0x000001C4; -pub const IO_THREADPOOL_DEADLOCK_LIVEDUMP: ULONG = 0x000001C5; -pub const XBOX_CORRUPTED_IMAGE: ULONG = 0x00000357; -pub const XBOX_INVERTED_FUNCTION_TABLE_OVERFLOW: ULONG = 0x00000358; -pub const XBOX_CORRUPTED_IMAGE_BASE: ULONG = 0x00000359; -pub const XBOX_360_SYSTEM_CRASH: ULONG = 0x00000360; -pub const XBOX_360_SYSTEM_CRASH_RESERVED: ULONG = 0x00000420; -pub const HYPERVISOR_ERROR: ULONG = 0x00020001; -pub const WINLOGON_FATAL_ERROR: ULONG = 0xC000021A; -pub const MANUALLY_INITIATED_CRASH1: ULONG = 0xDEADDEAD; -pub const BUGCHECK_CONTEXT_MODIFIER: ULONG = 0x80000000; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/cderr.rs b/vendor/registry-40351f815f426200/winapi/src/shared/cderr.rs deleted file mode 100644 index 07ea187ec..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/cderr.rs +++ /dev/null @@ -1,44 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Common dialog error return codes -use shared::minwindef::DWORD; -pub const CDERR_DIALOGFAILURE: DWORD = 0xFFFF; -pub const CDERR_GENERALCODES: DWORD = 0x0000; -pub const CDERR_STRUCTSIZE: DWORD = 0x0001; -pub const CDERR_INITIALIZATION: DWORD = 0x0002; -pub const CDERR_NOTEMPLATE: DWORD = 0x0003; -pub const CDERR_NOHINSTANCE: DWORD = 0x0004; -pub const CDERR_LOADSTRFAILURE: DWORD = 0x0005; -pub const CDERR_FINDRESFAILURE: DWORD = 0x0006; -pub const CDERR_LOADRESFAILURE: DWORD = 0x0007; -pub const CDERR_LOCKRESFAILURE: DWORD = 0x0008; -pub const CDERR_MEMALLOCFAILURE: DWORD = 0x0009; -pub const CDERR_MEMLOCKFAILURE: DWORD = 0x000A; -pub const CDERR_NOHOOK: DWORD = 0x000B; -pub const CDERR_REGISTERMSGFAIL: DWORD = 0x000C; -pub const PDERR_PRINTERCODES: DWORD = 0x1000; -pub const PDERR_SETUPFAILURE: DWORD = 0x1001; -pub const PDERR_PARSEFAILURE: DWORD = 0x1002; -pub const PDERR_RETDEFFAILURE: DWORD = 0x1003; -pub const PDERR_LOADDRVFAILURE: DWORD = 0x1004; -pub const PDERR_GETDEVMODEFAIL: DWORD = 0x1005; -pub const PDERR_INITFAILURE: DWORD = 0x1006; -pub const PDERR_NODEVICES: DWORD = 0x1007; -pub const PDERR_NODEFAULTPRN: DWORD = 0x1008; -pub const PDERR_DNDMMISMATCH: DWORD = 0x1009; -pub const PDERR_CREATEICFAILURE: DWORD = 0x100A; -pub const PDERR_PRINTERNOTFOUND: DWORD = 0x100B; -pub const PDERR_DEFAULTDIFFERENT: DWORD = 0x100C; -pub const CFERR_CHOOSEFONTCODES: DWORD = 0x2000; -pub const CFERR_NOFONTS: DWORD = 0x2001; -pub const CFERR_MAXLESSTHANMIN: DWORD = 0x2002; -pub const FNERR_FILENAMECODES: DWORD = 0x3000; -pub const FNERR_SUBCLASSFAILURE: DWORD = 0x3001; -pub const FNERR_INVALIDFILENAME: DWORD = 0x3002; -pub const FNERR_BUFFERTOOSMALL: DWORD = 0x3003; -pub const FRERR_FINDREPLACECODES: DWORD = 0x4000; -pub const FRERR_BUFFERLENGTHZERO: DWORD = 0x4001; -pub const CCERR_CHOOSECOLORCODES: DWORD = 0x5000; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/cfg.rs b/vendor/registry-40351f815f426200/winapi/src/shared/cfg.rs deleted file mode 100644 index 4abe3838b..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/cfg.rs +++ /dev/null @@ -1,138 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! common Configuration Manager definitions for both user mode and kernel mode code -use shared::minwindef::{DWORD, ULONG}; -ENUM!{enum PNP_VETO_TYPE { - PNP_VetoTypeUnknown, - PNP_VetoLegacyDevice, - PNP_VetoPendingClose, - PNP_VetoWindowsApp, - PNP_VetoWindowsService, - PNP_VetoOutstandingOpen, - PNP_VetoDevice, - PNP_VetoDriver, - PNP_VetoIllegalDeviceRequest, - PNP_VetoInsufficientPower, - PNP_VetoNonDisableable, - PNP_VetoLegacyDriver, - PNP_VetoInsufficientRights, -}} -pub type PPNP_VETO_TYPE = *mut PNP_VETO_TYPE; -pub const CM_PROB_NOT_CONFIGURED: DWORD = 0x00000001; -pub const CM_PROB_DEVLOADER_FAILED: DWORD = 0x00000002; -pub const CM_PROB_OUT_OF_MEMORY: DWORD = 0x00000003; -pub const CM_PROB_ENTRY_IS_WRONG_TYPE: DWORD = 0x00000004; -pub const CM_PROB_LACKED_ARBITRATOR: DWORD = 0x00000005; -pub const CM_PROB_BOOT_CONFIG_CONFLICT: DWORD = 0x00000006; -pub const CM_PROB_FAILED_FILTER: DWORD = 0x00000007; -pub const CM_PROB_DEVLOADER_NOT_FOUND: DWORD = 0x00000008; -pub const CM_PROB_INVALID_DATA: DWORD = 0x00000009; -pub const CM_PROB_FAILED_START: DWORD = 0x0000000A; -pub const CM_PROB_LIAR: DWORD = 0x0000000B; -pub const CM_PROB_NORMAL_CONFLICT: DWORD = 0x0000000C; -pub const CM_PROB_NOT_VERIFIED: DWORD = 0x0000000D; -pub const CM_PROB_NEED_RESTART: DWORD = 0x0000000E; -pub const CM_PROB_REENUMERATION: DWORD = 0x0000000F; -pub const CM_PROB_PARTIAL_LOG_CONF: DWORD = 0x00000010; -pub const CM_PROB_UNKNOWN_RESOURCE: DWORD = 0x00000011; -pub const CM_PROB_REINSTALL: DWORD = 0x00000012; -pub const CM_PROB_REGISTRY: DWORD = 0x00000013; -pub const CM_PROB_VXDLDR: DWORD = 0x00000014; -pub const CM_PROB_WILL_BE_REMOVED: DWORD = 0x00000015; -pub const CM_PROB_DISABLED: DWORD = 0x00000016; -pub const CM_PROB_DEVLOADER_NOT_READY: DWORD = 0x00000017; -pub const CM_PROB_DEVICE_NOT_THERE: DWORD = 0x00000018; -pub const CM_PROB_MOVED: DWORD = 0x00000019; -pub const CM_PROB_TOO_EARLY: DWORD = 0x0000001A; -pub const CM_PROB_NO_VALID_LOG_CONF: DWORD = 0x0000001B; -pub const CM_PROB_FAILED_INSTALL: DWORD = 0x0000001C; -pub const CM_PROB_HARDWARE_DISABLED: DWORD = 0x0000001D; -pub const CM_PROB_CANT_SHARE_IRQ: DWORD = 0x0000001E; -pub const CM_PROB_FAILED_ADD: DWORD = 0x0000001F; -pub const CM_PROB_DISABLED_SERVICE: DWORD = 0x00000020; -pub const CM_PROB_TRANSLATION_FAILED: DWORD = 0x00000021; -pub const CM_PROB_NO_SOFTCONFIG: DWORD = 0x00000022; -pub const CM_PROB_BIOS_TABLE: DWORD = 0x00000023; -pub const CM_PROB_IRQ_TRANSLATION_FAILED: DWORD = 0x00000024; -pub const CM_PROB_FAILED_DRIVER_ENTRY: DWORD = 0x00000025; -pub const CM_PROB_DRIVER_FAILED_PRIOR_UNLOAD: DWORD = 0x00000026; -pub const CM_PROB_DRIVER_FAILED_LOAD: DWORD = 0x00000027; -pub const CM_PROB_DRIVER_SERVICE_KEY_INVALID: DWORD = 0x00000028; -pub const CM_PROB_LEGACY_SERVICE_NO_DEVICES: DWORD = 0x00000029; -pub const CM_PROB_DUPLICATE_DEVICE: DWORD = 0x0000002A; -pub const CM_PROB_FAILED_POST_START: DWORD = 0x0000002B; -pub const CM_PROB_HALTED: DWORD = 0x0000002C; -pub const CM_PROB_PHANTOM: DWORD = 0x0000002D; -pub const CM_PROB_SYSTEM_SHUTDOWN: DWORD = 0x0000002E; -pub const CM_PROB_HELD_FOR_EJECT: DWORD = 0x0000002F; -pub const CM_PROB_DRIVER_BLOCKED: DWORD = 0x00000030; -pub const CM_PROB_REGISTRY_TOO_LARGE: DWORD = 0x00000031; -pub const CM_PROB_SETPROPERTIES_FAILED: DWORD = 0x00000032; -pub const CM_PROB_WAITING_ON_DEPENDENCY: DWORD = 0x00000033; -pub const CM_PROB_UNSIGNED_DRIVER: DWORD = 0x00000034; -pub const CM_PROB_USED_BY_DEBUGGER: DWORD = 0x00000035; -pub const NUM_CM_PROB_V1: DWORD = 0x00000025; -pub const NUM_CM_PROB_V2: DWORD = 0x00000032; -pub const NUM_CM_PROB_V3: DWORD = 0x00000033; -pub const NUM_CM_PROB_V4: DWORD = 0x00000034; -pub const NUM_CM_PROB_V5: DWORD = 0x00000035; -pub const NUM_CM_PROB_V6: DWORD = 0x00000036; -pub const DN_ROOT_ENUMERATED: DWORD = 0x00000001; -pub const DN_DRIVER_LOADED: DWORD = 0x00000002; -pub const DN_ENUM_LOADED: DWORD = 0x00000004; -pub const DN_STARTED: DWORD = 0x00000008; -pub const DN_MANUAL: DWORD = 0x00000010; -pub const DN_NEED_TO_ENUM: DWORD = 0x00000020; -pub const DN_NOT_FIRST_TIME: DWORD = 0x00000040; -pub const DN_HARDWARE_ENUM: DWORD = 0x00000080; -pub const DN_LIAR: DWORD = 0x00000100; -pub const DN_HAS_MARK: DWORD = 0x00000200; -pub const DN_HAS_PROBLEM: DWORD = 0x00000400; -pub const DN_FILTERED: DWORD = 0x00000800; -pub const DN_MOVED: DWORD = 0x00001000; -pub const DN_DISABLEABLE: DWORD = 0x00002000; -pub const DN_REMOVABLE: DWORD = 0x00004000; -pub const DN_PRIVATE_PROBLEM: DWORD = 0x00008000; -pub const DN_MF_PARENT: DWORD = 0x00010000; -pub const DN_MF_CHILD: DWORD = 0x00020000; -pub const DN_WILL_BE_REMOVED: DWORD = 0x00040000; -pub const DN_NOT_FIRST_TIMEE: DWORD = 0x00080000; -pub const DN_STOP_FREE_RES: DWORD = 0x00100000; -pub const DN_REBAL_CANDIDATE: DWORD = 0x00200000; -pub const DN_BAD_PARTIAL: DWORD = 0x00400000; -pub const DN_NT_ENUMERATOR: DWORD = 0x00800000; -pub const DN_NT_DRIVER: DWORD = 0x01000000; -pub const DN_NEEDS_LOCKING: DWORD = 0x02000000; -pub const DN_ARM_WAKEUP: DWORD = 0x04000000; -pub const DN_APM_ENUMERATOR: DWORD = 0x08000000; -pub const DN_APM_DRIVER: DWORD = 0x10000000; -pub const DN_SILENT_INSTALL: DWORD = 0x20000000; -pub const DN_NO_SHOW_IN_DM: DWORD = 0x40000000; -pub const DN_BOOT_LOG_PROB: DWORD = 0x80000000; -pub const DN_NEED_RESTART: DWORD = DN_LIAR; -pub const DN_DRIVER_BLOCKED: DWORD = DN_NOT_FIRST_TIME; -pub const DN_LEGACY_DRIVER: DWORD = DN_MOVED; -pub const DN_CHILD_WITH_INVALID_ID: DWORD = DN_HAS_MARK; -pub const DN_DEVICE_DISCONNECTED: DWORD = DN_NEEDS_LOCKING; -pub const DN_CHANGEABLE_FLAGS: DWORD = DN_NOT_FIRST_TIME + DN_HARDWARE_ENUM + DN_HAS_MARK - + DN_DISABLEABLE + DN_REMOVABLE + DN_MF_CHILD + DN_MF_PARENT + DN_NOT_FIRST_TIMEE - + DN_STOP_FREE_RES + DN_REBAL_CANDIDATE + DN_NT_ENUMERATOR + DN_NT_DRIVER + DN_SILENT_INSTALL - + DN_NO_SHOW_IN_DM; -pub const LCPRI_FORCECONFIG: ULONG = 0x00000000; -pub const LCPRI_BOOTCONFIG: ULONG = 0x00000001; -pub const LCPRI_DESIRED: ULONG = 0x00002000; -pub const LCPRI_NORMAL: ULONG = 0x00003000; -pub const LCPRI_LASTBESTCONFIG: ULONG = 0x00003FFF; -pub const LCPRI_SUBOPTIMAL: ULONG = 0x00005000; -pub const LCPRI_LASTSOFTCONFIG: ULONG = 0x00007FFF; -pub const LCPRI_RESTART: ULONG = 0x00008000; -pub const LCPRI_REBOOT: ULONG = 0x00009000; -pub const LCPRI_POWEROFF: ULONG = 0x0000A000; -pub const LCPRI_HARDRECONFIG: ULONG = 0x0000C000; -pub const LCPRI_HARDWIRED: ULONG = 0x0000E000; -pub const LCPRI_IMPOSSIBLE: ULONG = 0x0000F000; -pub const LCPRI_DISABLED: ULONG = 0x0000FFFF; -pub const MAX_LCPRI: ULONG = 0x0000FFFF; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/d3d9.rs b/vendor/registry-40351f815f426200/winapi/src/shared/d3d9.rs deleted file mode 100644 index 437c81111..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/d3d9.rs +++ /dev/null @@ -1,1268 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Direct3D include file -use shared::basetsd::UINT32; -use shared::d3d9caps::{D3DCAPS9, D3DCONTENTPROTECTIONCAPS, D3DOVERLAYCAPS}; -use shared::d3d9types::{ - D3DADAPTER_IDENTIFIER9, D3DAUTHENTICATEDCHANNELTYPE, D3DAUTHENTICATEDCHANNEL_CONFIGURE_OUTPUT, - D3DBACKBUFFER_TYPE, D3DBOX, D3DCLIPSTATUS9, D3DCOLOR, D3DCOMPOSERECTSOP, D3DCUBEMAP_FACES, - D3DDEVICE_CREATION_PARAMETERS, D3DDEVTYPE, D3DDISPLAYMODE, D3DDISPLAYMODEEX, - D3DDISPLAYMODEFILTER, D3DDISPLAYROTATION, D3DENCRYPTED_BLOCK_INFO, D3DFORMAT, D3DGAMMARAMP, - D3DINDEXBUFFER_DESC, D3DLIGHT9, D3DLOCKED_BOX, D3DLOCKED_RECT, D3DMATERIAL9, D3DMATRIX, - D3DMULTISAMPLE_TYPE, D3DPOOL, D3DPRESENTSTATS, D3DPRESENT_PARAMETERS, D3DPRIMITIVETYPE, - D3DQUERYTYPE, D3DRASTER_STATUS, D3DRECT, D3DRECTPATCH_INFO, D3DRENDERSTATETYPE, - D3DRESOURCETYPE, D3DSAMPLERSTATETYPE, D3DSTATEBLOCKTYPE, D3DSURFACE_DESC, D3DTEXTUREFILTERTYPE, - D3DTEXTURESTAGESTATETYPE, D3DTRANSFORMSTATETYPE, D3DTRIPATCH_INFO, D3DVERTEXBUFFER_DESC, - D3DVERTEXELEMENT9, D3DVIEWPORT9, D3DVOLUME_DESC, -}; -use shared::guiddef::{GUID, IID}; -use shared::minwindef::{BOOL, BYTE, DWORD, FLOAT, INT, UINT}; -use shared::windef::{HDC, HMONITOR, HWND, POINT, RECT}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::wingdi::{PALETTEENTRY, RGNDATA}; -use um::winnt::{HANDLE, HRESULT, LPCWSTR, LUID, VOID}; -pub const D3D_SDK_VERSION: DWORD = 32; -pub const D3D9b_SDK_VERSION: DWORD = 31; -DEFINE_GUID!{IID_IDirect3D9, - 0x81bdcbca, 0x64d4, 0x426d, 0xae, 0x8d, 0xad, 0x01, 0x47, 0xf4, 0x27, 0x5c} -DEFINE_GUID!{IID_IDirect3DDevice9, - 0xd0223b96, 0xbf7a, 0x43fd, 0x92, 0xbd, 0xa4, 0x3b, 0x0d, 0x82, 0xb9, 0xeb} -DEFINE_GUID!{IID_IDirect3DResource9, - 0x05eec05d, 0x8f7d, 0x4362, 0xb9, 0x99, 0xd1, 0xba, 0xf3, 0x57, 0xc7, 0x04} -DEFINE_GUID!{IID_IDirect3DBaseTexture9, - 0x580ca87e, 0x1d3c, 0x4d54, 0x99, 0x1d, 0xb7, 0xd3, 0xe3, 0xc2, 0x98, 0xce} -DEFINE_GUID!{IID_IDirect3DTexture9, - 0x85c31227, 0x3de5, 0x4f00, 0x9b, 0x3a, 0xf1, 0x1a, 0xc3, 0x8c, 0x18, 0xb5} -DEFINE_GUID!{IID_IDirect3DCubeTexture9, - 0xfff32f81, 0xd953, 0x473a, 0x92, 0x23, 0x93, 0xd6, 0x52, 0xab, 0xa9, 0x3f} -DEFINE_GUID!{IID_IDirect3DVolumeTexture9, - 0x2518526c, 0xe789, 0x4111, 0xa7, 0xb9, 0x47, 0xef, 0x32, 0x8d, 0x13, 0xe6} -DEFINE_GUID!{IID_IDirect3DVertexBuffer9, - 0xb64bb1b5, 0xfd70, 0x4df6, 0xbf, 0x91, 0x19, 0xd0, 0xa1, 0x24, 0x55, 0xe3} -DEFINE_GUID!{IID_IDirect3DIndexBuffer9, - 0x7c9dd65e, 0xd3f7, 0x4529, 0xac, 0xee, 0x78, 0x58, 0x30, 0xac, 0xde, 0x35} -DEFINE_GUID!{IID_IDirect3DSurface9, - 0x0cfbaf3a, 0x9ff6, 0x429a, 0x99, 0xb3, 0xa2, 0x79, 0x6a, 0xf8, 0xb8, 0x9b} -DEFINE_GUID!{IID_IDirect3DVolume9, - 0x24f416e6, 0x1f67, 0x4aa7, 0xb8, 0x8e, 0xd3, 0x3f, 0x6f, 0x31, 0x28, 0xa1} -DEFINE_GUID!{IID_IDirect3DSwapChain9, - 0x794950f2, 0xadfc, 0x458a, 0x90, 0x5e, 0x10, 0xa1, 0x0b, 0x0b, 0x50, 0x3b} -DEFINE_GUID!{IID_IDirect3DVertexDeclaration9, - 0xdd13c59c, 0x36fa, 0x4098, 0xa8, 0xfb, 0xc7, 0xed, 0x39, 0xdc, 0x85, 0x46} -DEFINE_GUID!{IID_IDirect3DVertexShader9, - 0xefc5557e, 0x6265, 0x4613, 0x8a, 0x94, 0x43, 0x85, 0x78, 0x89, 0xeb, 0x36} -DEFINE_GUID!{IID_IDirect3DPixelShader9, - 0x6d3bdbdc, 0x5b02, 0x4415, 0xb8, 0x52, 0xce, 0x5e, 0x8b, 0xcc, 0xb2, 0x89} -DEFINE_GUID!{IID_IDirect3DStateBlock9, - 0xb07c4fe5, 0x310d, 0x4ba8, 0xa2, 0x3c, 0x4f, 0x0f, 0x20, 0x6f, 0x21, 0x8b} -DEFINE_GUID!{IID_IDirect3DQuery9, - 0xd9771460, 0xa695, 0x4f26, 0xbb, 0xd3, 0x27, 0xb8, 0x40, 0xb5, 0x41, 0xcc} -DEFINE_GUID!{IID_HelperName, - 0xe4a36723, 0xfdfe, 0x4b22, 0xb1, 0x46, 0x3c, 0x04, 0xc0, 0x7f, 0x4c, 0xc8} -DEFINE_GUID!{IID_IDirect3D9Ex, - 0x02177241, 0x69fc, 0x400c, 0x8f, 0xf1, 0x93, 0xa4, 0x4d, 0xf6, 0x86, 0x1d} -DEFINE_GUID!{IID_IDirect3DDevice9Ex, - 0xb18b10ce, 0x2649, 0x405a, 0x87, 0x0f, 0x95, 0xf7, 0x77, 0xd4, 0x31, 0x3a} -DEFINE_GUID!{IID_IDirect3DSwapChain9Ex, - 0x91886caf, 0x1c3d, 0x4d2e, 0xa0, 0xab, 0x3e, 0x4c, 0x7d, 0x8d, 0x33, 0x03} -DEFINE_GUID!{IID_IDirect3D9ExOverlayExtension, - 0x187aeb13, 0xaaf5, 0x4c59, 0x87, 0x6d, 0xe0, 0x59, 0x08, 0x8c, 0x0d, 0xf8} -DEFINE_GUID!{IID_IDirect3DDevice9Video, - 0x26dc4561, 0xa1ee, 0x4ae7, 0x96, 0xda, 0x11, 0x8a, 0x36, 0xc0, 0xec, 0x95} -DEFINE_GUID!{IID_IDirect3DAuthenticatedChannel9, - 0xff24beee, 0xda21, 0x4beb, 0x98, 0xb5, 0xd2, 0xf8, 0x99, 0xf9, 0x8a, 0xf9} -DEFINE_GUID!{IID_IDirect3DCryptoSession9, - 0xfa0ab799, 0x7a9c, 0x48ca, 0x8c, 0x5b, 0x23, 0x7e, 0x71, 0xa5, 0x44, 0x34} -extern "system" { - pub fn Direct3DCreate9( - SDKVersion: UINT, - ) -> *mut IDirect3D9; - pub fn D3DPERF_BeginEvent( - col: D3DCOLOR, - wszName: LPCWSTR, - ) -> INT; - pub fn D3DPERF_EndEvent() -> INT; - pub fn D3DPERF_SetMarker( - col: D3DCOLOR, - wszName: LPCWSTR, - ) -> (); - pub fn D3DPERF_SetRegion( - col: D3DCOLOR, - wszName: LPCWSTR, - ) -> (); - pub fn D3DPERF_QueryRepeatFrame() -> BOOL; - pub fn D3DPERF_SetOptions( - dwOptions: DWORD, - ) -> (); - pub fn D3DPERF_GetStatus() -> DWORD; -} -RIDL!{#[uuid(0x81bdcbca, 0x64d4, 0x426d, 0xae, 0x8d, 0xad, 0x1, 0x47, 0xf4, 0x27, 0x5c)] -interface IDirect3D9(IDirect3D9Vtbl): IUnknown(IUnknownVtbl) { - fn RegisterSoftwareDevice( - pInitializeFunction: *mut VOID, - ) -> HRESULT, - fn GetAdapterCount() -> UINT, - fn GetAdapterIdentifier( - Adapter: UINT, - Flags: DWORD, - pIdentifier: *mut D3DADAPTER_IDENTIFIER9, - ) -> HRESULT, - fn GetAdapterModeCount( - Adapter: UINT, - Format: D3DFORMAT, - ) -> UINT, - fn EnumAdapterModes( - Adapter: UINT, - Format: D3DFORMAT, - Mode: UINT, - pMode: *mut D3DDISPLAYMODE, - ) -> HRESULT, - fn GetAdapterDisplayMode( - Adapter: UINT, - pMode: *mut D3DDISPLAYMODE, - ) -> HRESULT, - fn CheckDeviceType( - Adapter: UINT, - DevType: D3DDEVTYPE, - AdapterFormat: D3DFORMAT, - BackBufferFormat: D3DFORMAT, - bWindowed: BOOL, - ) -> HRESULT, - fn CheckDeviceFormat( - Adapter: UINT, - DeviceType: D3DDEVTYPE, - AdapterFormat: D3DFORMAT, - Usage: DWORD, - RType: D3DRESOURCETYPE, - CheckFormat: D3DFORMAT, - ) -> HRESULT, - fn CheckDeviceMultiSampleType( - Adapter: UINT, - DeviceType: D3DDEVTYPE, - SurfaceFormat: D3DFORMAT, - Windowed: BOOL, - MultiSampleType: D3DMULTISAMPLE_TYPE, - pQualityLevels: *mut DWORD, - ) -> HRESULT, - fn CheckDepthStencilMatch( - Adapter: UINT, - DeviceType: D3DDEVTYPE, - AdapterFormat: D3DFORMAT, - RenderTargetFormat: D3DFORMAT, - DepthStencilFormat: D3DFORMAT, - ) -> HRESULT, - fn CheckDeviceFormatConversion( - Adapter: UINT, - DeviceType: D3DDEVTYPE, - SourceFormat: D3DFORMAT, - TargetFormat: D3DFORMAT, - ) -> HRESULT, - fn GetDeviceCaps( - Adapter: UINT, - DeviceType: D3DDEVTYPE, - pCaps: *mut D3DCAPS9, - ) -> HRESULT, - fn GetAdapterMonitor( - Adapter: UINT, - ) -> HMONITOR, - fn CreateDevice( - Adapter: UINT, - DeviceType: D3DDEVTYPE, - hFocusWindow: HWND, - BehaviorFlags: DWORD, - pPresentationParameters: *mut D3DPRESENT_PARAMETERS, - ppReturnedDeviceInterface: *mut *mut IDirect3DDevice9, - ) -> HRESULT, -}} -pub type LPDIRECT3D9 = *mut IDirect3D9; -pub type PDIRECT3D9 = *mut IDirect3D9; -RIDL!{#[uuid(0xd0223b96, 0xbf7a, 0x43fd, 0x92, 0xbd, 0xa4, 0x3b, 0xd, 0x82, 0xb9, 0xeb)] -interface IDirect3DDevice9(IDirect3DDevice9Vtbl): IUnknown(IUnknownVtbl) { - fn TestCooperativeLevel() -> HRESULT, - fn GetAvailableTextureMem() -> UINT, - fn EvictManagedResources() -> HRESULT, - fn GetDirect3D( - ppD3D9: *mut *mut IDirect3D9, - ) -> HRESULT, - fn GetDeviceCaps( - pCaps: *mut D3DCAPS9, - ) -> HRESULT, - fn GetDisplayMode( - iSwapChain: UINT, - pMode: *mut D3DDISPLAYMODE, - ) -> HRESULT, - fn GetCreationParameters( - pParameters: *mut D3DDEVICE_CREATION_PARAMETERS, - ) -> HRESULT, - fn SetCursorProperties( - XHotSpot: UINT, - YHotSpot: UINT, - pCursorBitmap: *mut IDirect3DSurface9, - ) -> HRESULT, - fn SetCursorPosition( - X: INT, - Y: INT, - Flags: DWORD, - ) -> (), - fn ShowCursor( - bShow: BOOL, - ) -> BOOL, - fn CreateAdditionalSwapChain( - pPresentationParameters: *mut D3DPRESENT_PARAMETERS, - pSwapChain: *mut *mut IDirect3DSwapChain9, - ) -> HRESULT, - fn GetSwapChain( - iSwapChain: UINT, - pSwapChain: *mut *mut IDirect3DSwapChain9, - ) -> HRESULT, - fn GetNumberOfSwapChains() -> UINT, - fn Reset( - pPresentationParameters: *mut D3DPRESENT_PARAMETERS, - ) -> HRESULT, - fn Present( - pSourceRect: *const RECT, - pDestRect: *const RECT, - hDestWindowOverride: HWND, - pDirtyRegion: *const RGNDATA, - ) -> HRESULT, - fn GetBackBuffer( - iSwapChain: UINT, - iBackBuffer: UINT, - Type: D3DBACKBUFFER_TYPE, - ppBackBuffer: *mut *mut IDirect3DSurface9, - ) -> HRESULT, - fn GetRasterStatus( - iSwapChain: UINT, - pRasterStatus: *mut D3DRASTER_STATUS, - ) -> HRESULT, - fn SetDialogBoxMode( - bEnableDialogs: BOOL, - ) -> HRESULT, - fn SetGammaRamp( - iSwapChain: UINT, - Flags: DWORD, - pRamp: *const D3DGAMMARAMP, - ) -> (), - fn GetGammaRamp( - iSwapChain: UINT, - pRamp: *mut D3DGAMMARAMP, - ) -> (), - fn CreateTexture( - Width: UINT, - Height: UINT, - Levels: UINT, - Usage: DWORD, - Format: D3DFORMAT, - Pool: D3DPOOL, - ppTexture: *mut *mut IDirect3DTexture9, - pSharedHandle: *mut HANDLE, - ) -> HRESULT, - fn CreateVolumeTexture( - Width: UINT, - Height: UINT, - Depth: UINT, - Levels: UINT, - Usage: DWORD, - Format: D3DFORMAT, - Pool: D3DPOOL, - ppVolumeTexture: *mut *mut IDirect3DVolumeTexture9, - pSharedHandle: *mut HANDLE, - ) -> HRESULT, - fn CreateCubeTexture( - EdgeLength: UINT, - Levels: UINT, - Usage: DWORD, - Format: D3DFORMAT, - Pool: D3DPOOL, - ppCubeTexture: *mut *mut IDirect3DCubeTexture9, - pSharedHandle: *mut HANDLE, - ) -> HRESULT, - fn CreateVertexBuffer( - Length: UINT, - Usage: DWORD, - FVF: DWORD, - Pool: D3DPOOL, - ppVertexBuffer: *mut *mut IDirect3DVertexBuffer9, - pSharedHandle: *mut HANDLE, - ) -> HRESULT, - fn CreateIndexBuffer( - Length: UINT, - Usage: DWORD, - Format: D3DFORMAT, - Pool: D3DPOOL, - ppIndexBuffer: *mut *mut IDirect3DIndexBuffer9, - pSharedHandle: *mut HANDLE, - ) -> HRESULT, - fn CreateRenderTarget( - Width: UINT, - Height: UINT, - Format: D3DFORMAT, - MultiSample: D3DMULTISAMPLE_TYPE, - MultisampleQuality: DWORD, - Lockable: BOOL, - ppSurface: *mut *mut IDirect3DSurface9, - pSharedHandle: *mut HANDLE, - ) -> HRESULT, - fn CreateDepthStencilSurface( - Width: UINT, - Height: UINT, - Format: D3DFORMAT, - MultiSample: D3DMULTISAMPLE_TYPE, - MultisampleQuality: DWORD, - Discard: BOOL, - ppSurface: *mut *mut IDirect3DSurface9, - pSharedHandle: *mut HANDLE, - ) -> HRESULT, - fn UpdateSurface( - pSourceSurface: *mut IDirect3DSurface9, - pSourceRect: *const RECT, - pDestinationSurface: *mut IDirect3DSurface9, - pDestPoint: *const POINT, - ) -> HRESULT, - fn UpdateTexture( - pSourceTexture: *mut IDirect3DBaseTexture9, - pDestinationTexture: *mut IDirect3DBaseTexture9, - ) -> HRESULT, - fn GetRenderTargetData( - pRenderTarget: *mut IDirect3DSurface9, - pDestSurface: *mut IDirect3DSurface9, - ) -> HRESULT, - fn GetFrontBufferData( - iSwapChain: UINT, - pDestSurface: *mut IDirect3DSurface9, - ) -> HRESULT, - fn StretchRect( - pSourceSurface: *mut IDirect3DSurface9, - pSourceRect: *const RECT, - pDestSurface: *mut IDirect3DSurface9, - pDestRect: *const RECT, - Filter: D3DTEXTUREFILTERTYPE, - ) -> HRESULT, - fn ColorFill( - pSurface: *mut IDirect3DSurface9, - pRect: *const RECT, - color: D3DCOLOR, - ) -> HRESULT, - fn CreateOffscreenPlainSurface( - Width: UINT, - Height: UINT, - Format: D3DFORMAT, - Pool: D3DPOOL, - ppSurface: *mut *mut IDirect3DSurface9, - pSharedHandle: *mut HANDLE, - ) -> HRESULT, - fn SetRenderTarget( - RenderTargetIndex: DWORD, - pRenderTarget: *mut IDirect3DSurface9, - ) -> HRESULT, - fn GetRenderTarget( - RenderTargetIndex: DWORD, - ppRenderTarget: *mut *mut IDirect3DSurface9, - ) -> HRESULT, - fn SetDepthStencilSurface( - pNewZStencil: *mut IDirect3DSurface9, - ) -> HRESULT, - fn GetDepthStencilSurface( - ppZStencilSurface: *mut *mut IDirect3DSurface9, - ) -> HRESULT, - fn BeginScene() -> HRESULT, - fn EndScene() -> HRESULT, - fn Clear( - Count: DWORD, - pRects: *const D3DRECT, - Flags: DWORD, - Color: D3DCOLOR, - Z: FLOAT, - Stencil: DWORD, - ) -> HRESULT, - fn SetTransform( - State: D3DTRANSFORMSTATETYPE, - pMatrix: *const D3DMATRIX, - ) -> HRESULT, - fn GetTransform( - State: D3DTRANSFORMSTATETYPE, - pMatrix: *mut D3DMATRIX, - ) -> HRESULT, - fn MultiplyTransform( - arg1: D3DTRANSFORMSTATETYPE, - arg2: *const D3DMATRIX, - ) -> HRESULT, - fn SetViewport( - pViewport: *const D3DVIEWPORT9, - ) -> HRESULT, - fn GetViewport( - pViewport: *mut D3DVIEWPORT9, - ) -> HRESULT, - fn SetMaterial( - pMaterial: *const D3DMATERIAL9, - ) -> HRESULT, - fn GetMaterial( - pMaterial: *mut D3DMATERIAL9, - ) -> HRESULT, - fn SetLight( - Index: DWORD, - arg1: *const D3DLIGHT9, - ) -> HRESULT, - fn GetLight( - Index: DWORD, - arg1: *mut D3DLIGHT9, - ) -> HRESULT, - fn LightEnable( - Index: DWORD, - Enable: BOOL, - ) -> HRESULT, - fn GetLightEnable( - Index: DWORD, - pEnable: *mut BOOL, - ) -> HRESULT, - fn SetClipPlane( - Index: DWORD, - pPlane: *const FLOAT, - ) -> HRESULT, - fn GetClipPlane( - Index: DWORD, - pPlane: *mut FLOAT, - ) -> HRESULT, - fn SetRenderState( - State: D3DRENDERSTATETYPE, - Value: DWORD, - ) -> HRESULT, - fn GetRenderState( - State: D3DRENDERSTATETYPE, - pValue: *mut DWORD, - ) -> HRESULT, - fn CreateStateBlock( - Type: D3DSTATEBLOCKTYPE, - ppSB: *mut *mut IDirect3DStateBlock9, - ) -> HRESULT, - fn BeginStateBlock() -> HRESULT, - fn EndStateBlock( - ppSB: *mut *mut IDirect3DStateBlock9, - ) -> HRESULT, - fn SetClipStatus( - pClipStatus: *const D3DCLIPSTATUS9, - ) -> HRESULT, - fn GetClipStatus( - pClipStatus: *mut D3DCLIPSTATUS9, - ) -> HRESULT, - fn GetTexture( - Stage: DWORD, - ppTexture: *mut *mut IDirect3DBaseTexture9, - ) -> HRESULT, - fn SetTexture( - Stage: DWORD, - pTexture: *mut IDirect3DBaseTexture9, - ) -> HRESULT, - fn GetTextureStageState( - Stage: DWORD, - Type: D3DTEXTURESTAGESTATETYPE, - pValue: *mut DWORD, - ) -> HRESULT, - fn SetTextureStageState( - Stage: DWORD, - Type: D3DTEXTURESTAGESTATETYPE, - Value: DWORD, - ) -> HRESULT, - fn GetSamplerState( - Sampler: DWORD, - Type: D3DSAMPLERSTATETYPE, - pValue: *mut DWORD, - ) -> HRESULT, - fn SetSamplerState( - Sampler: DWORD, - Type: D3DSAMPLERSTATETYPE, - Value: DWORD, - ) -> HRESULT, - fn ValidateDevice( - pNumPasses: *mut DWORD, - ) -> HRESULT, - fn SetPaletteEntries( - PaletteNumber: UINT, - pEntries: *const PALETTEENTRY, - ) -> HRESULT, - fn GetPaletteEntries( - PaletteNumber: UINT, - pEntries: *mut PALETTEENTRY, - ) -> HRESULT, - fn SetCurrentTexturePalette( - PaletteNumber: UINT, - ) -> HRESULT, - fn GetCurrentTexturePalette( - PaletteNumber: *mut UINT, - ) -> HRESULT, - fn SetScissorRect( - pRect: *const RECT, - ) -> HRESULT, - fn GetScissorRect( - pRect: *mut RECT, - ) -> HRESULT, - fn SetSoftwareVertexProcessing( - bSoftware: BOOL, - ) -> HRESULT, - fn GetSoftwareVertexProcessing() -> BOOL, - fn SetNPatchMode( - nSegments: FLOAT, - ) -> HRESULT, - fn GetNPatchMode() -> FLOAT, - fn DrawPrimitive( - PrimitiveType: D3DPRIMITIVETYPE, - StartVertex: UINT, - PrimitiveCount: UINT, - ) -> HRESULT, - fn DrawIndexedPrimitive( - arg1: D3DPRIMITIVETYPE, - BaseVertexIndex: INT, - MinVertexIndex: UINT, - NumVertices: UINT, - startIndex: UINT, - primCount: UINT, - ) -> HRESULT, - fn DrawPrimitiveUP( - PrimitiveType: D3DPRIMITIVETYPE, - PrimitiveCount: UINT, - pVertexStreamZeroData: *const VOID, - VertexStreamZeroStride: UINT, - ) -> HRESULT, - fn DrawIndexedPrimitiveUP( - PrimitiveType: D3DPRIMITIVETYPE, - MinVertexIndex: UINT, - NumVertices: UINT, - PrimitiveCount: UINT, - pIndexData: *const VOID, - IndexDataFormat: D3DFORMAT, - pVertexStreamZeroData: *const VOID, - VertexStreamZeroStride: UINT, - ) -> HRESULT, - fn ProcessVertices( - SrcStartIndex: UINT, - DestIndex: UINT, - VertexCount: UINT, - pDestBuffer: *mut IDirect3DVertexBuffer9, - pVertexDecl: *mut IDirect3DVertexDeclaration9, - Flags: DWORD, - ) -> HRESULT, - fn CreateVertexDeclaration( - pVertexElements: *const D3DVERTEXELEMENT9, - ppDecl: *mut *mut IDirect3DVertexDeclaration9, - ) -> HRESULT, - fn SetVertexDeclaration( - pDecl: *mut IDirect3DVertexDeclaration9, - ) -> HRESULT, - fn GetVertexDeclaration( - ppDecl: *mut *mut IDirect3DVertexDeclaration9, - ) -> HRESULT, - fn SetFVF( - FVF: DWORD, - ) -> HRESULT, - fn GetFVF( - pFVF: *mut DWORD, - ) -> HRESULT, - fn CreateVertexShader( - pFunction: *const DWORD, - ppShader: *mut *mut IDirect3DVertexShader9, - ) -> HRESULT, - fn SetVertexShader( - pShader: *mut IDirect3DVertexShader9, - ) -> HRESULT, - fn GetVertexShader( - ppShader: *mut *mut IDirect3DVertexShader9, - ) -> HRESULT, - fn SetVertexShaderConstantF( - StartRegister: UINT, - pConstantData: *const FLOAT, - Vector4fCount: UINT, - ) -> HRESULT, - fn GetVertexShaderConstantF( - StartRegister: UINT, - pConstantData: *mut FLOAT, - Vector4fCount: UINT, - ) -> HRESULT, - fn SetVertexShaderConstantI( - StartRegister: UINT, - pConstantData: *const INT, - Vector4iCount: UINT, - ) -> HRESULT, - fn GetVertexShaderConstantI( - StartRegister: UINT, - pConstantData: *mut INT, - Vector4iCount: UINT, - ) -> HRESULT, - fn SetVertexShaderConstantB( - StartRegister: UINT, - pConstantData: *const BOOL, - BoolCount: UINT, - ) -> HRESULT, - fn GetVertexShaderConstantB( - StartRegister: UINT, - pConstantData: *mut BOOL, - BoolCount: UINT, - ) -> HRESULT, - fn SetStreamSource( - StreamNumber: UINT, - pStreamData: *mut IDirect3DVertexBuffer9, - OffsetInBytes: UINT, - Stride: UINT, - ) -> HRESULT, - fn GetStreamSource( - StreamNumber: UINT, - ppStreamData: *mut *mut IDirect3DVertexBuffer9, - pOffsetInBytes: *mut UINT, - pStride: *mut UINT, - ) -> HRESULT, - fn SetStreamSourceFreq( - StreamNumber: UINT, - Setting: UINT, - ) -> HRESULT, - fn GetStreamSourceFreq( - StreamNumber: UINT, - pSetting: *mut UINT, - ) -> HRESULT, - fn SetIndices( - pIndexData: *mut IDirect3DIndexBuffer9, - ) -> HRESULT, - fn GetIndices( - ppIndexData: *mut *mut IDirect3DIndexBuffer9, - ) -> HRESULT, - fn CreatePixelShader( - pFunction: *const DWORD, - ppShader: *mut *mut IDirect3DPixelShader9, - ) -> HRESULT, - fn SetPixelShader( - pShader: *mut IDirect3DPixelShader9, - ) -> HRESULT, - fn GetPixelShader( - ppShader: *mut *mut IDirect3DPixelShader9, - ) -> HRESULT, - fn SetPixelShaderConstantF( - StartRegister: UINT, - pConstantData: *const FLOAT, - Vector4fCount: UINT, - ) -> HRESULT, - fn GetPixelShaderConstantF( - StartRegister: UINT, - pConstantData: *mut FLOAT, - Vector4fCount: UINT, - ) -> HRESULT, - fn SetPixelShaderConstantI( - StartRegister: UINT, - pConstantData: *const INT, - Vector4iCount: UINT, - ) -> HRESULT, - fn GetPixelShaderConstantI( - StartRegister: UINT, - pConstantData: *mut INT, - Vector4iCount: UINT, - ) -> HRESULT, - fn SetPixelShaderConstantB( - StartRegister: UINT, - pConstantData: *const BOOL, - BoolCount: UINT, - ) -> HRESULT, - fn GetPixelShaderConstantB( - StartRegister: UINT, - pConstantData: *mut BOOL, - BoolCount: UINT, - ) -> HRESULT, - fn DrawRectPatch( - Handle: UINT, - pNumSegs: *const FLOAT, - pRectPatchInfo: *const D3DRECTPATCH_INFO, - ) -> HRESULT, - fn DrawTriPatch( - Handle: UINT, - pNumSegs: *const FLOAT, - pTriPatchInfo: *const D3DTRIPATCH_INFO, - ) -> HRESULT, - fn DeletePatch( - Handle: UINT, - ) -> HRESULT, - fn CreateQuery( - Type: D3DQUERYTYPE, - ppQuery: *mut *mut IDirect3DQuery9, - ) -> HRESULT, -}} -pub type LPDIRECT3DDEVICE9 = *mut IDirect3DDevice9; -pub type PDIRECT3DDEVICE9 = *mut IDirect3DDevice9; -RIDL!{#[uuid(0xb07c4fe5, 0x310d, 0x4ba8, 0xa2, 0x3c, 0x4f, 0xf, 0x20, 0x6f, 0x21, 0x8b)] -interface IDirect3DStateBlock9(IDirect3DStateBlock9Vtbl): IUnknown(IUnknownVtbl) { - fn GetDevice( - ppDevice: *mut *mut IDirect3DDevice9, - ) -> HRESULT, - fn Capture() -> HRESULT, - fn Apply() -> HRESULT, -}} -pub type LPDIRECT3DSTATEBLOCK9 = *mut IDirect3DStateBlock9; -pub type PDIRECT3DSTATEBLOCK9 = *mut IDirect3DStateBlock9; -RIDL!{#[uuid(0x794950f2, 0xadfc, 0x458a, 0x90, 0x5e, 0x10, 0xa1, 0xb, 0xb, 0x50, 0x3b)] -interface IDirect3DSwapChain9(IDirect3DSwapChain9Vtbl): IUnknown(IUnknownVtbl) { - fn Present( - pSourceRect: *const RECT, - pDestRect: *const RECT, - hDestWindowOverride: HWND, - pDirtyRegion: *const RGNDATA, - dwFlags: DWORD, - ) -> HRESULT, - fn GetFrontBufferData( - pDestSurface: *mut IDirect3DSurface9, - ) -> HRESULT, - fn GetBackBuffer( - iBackBuffer: UINT, - Type: D3DBACKBUFFER_TYPE, - ppBackBuffer: *mut *mut IDirect3DSurface9, - ) -> HRESULT, - fn GetRasterStatus( - pRasterStatus: *mut D3DRASTER_STATUS, - ) -> HRESULT, - fn GetDisplayMode( - pMode: *mut D3DDISPLAYMODE, - ) -> HRESULT, - fn GetDevice( - ppDevice: *mut *mut IDirect3DDevice9, - ) -> HRESULT, - fn GetPresentParameters( - pPresentationParameters: *mut D3DPRESENT_PARAMETERS, - ) -> HRESULT, -}} -pub type LPDIRECT3DSWAPCHAIN9 = *mut IDirect3DSwapChain9; -pub type PDIRECT3DSWAPCHAIN9 = *mut IDirect3DSwapChain9; -RIDL!{#[uuid(0x5eec05d, 0x8f7d, 0x4362, 0xb9, 0x99, 0xd1, 0xba, 0xf3, 0x57, 0xc7, 0x4)] -interface IDirect3DResource9(IDirect3DResource9Vtbl): IUnknown(IUnknownVtbl) { - fn GetDevice( - ppDevice: *mut *mut IDirect3DDevice9, - ) -> HRESULT, - fn SetPrivateData( - refguid: *const GUID, - pData: *const VOID, - SizeOfData: DWORD, - Flags: DWORD, - ) -> HRESULT, - fn GetPrivateData( - refguid: *const GUID, - pData: *mut VOID, - pSizeOfData: *mut DWORD, - ) -> HRESULT, - fn FreePrivateData( - refguid: *const GUID, - ) -> HRESULT, - fn SetPriority( - PriorityNew: DWORD, - ) -> DWORD, - fn GetPriority() -> DWORD, - fn PreLoad() -> (), - fn GetType() -> D3DRESOURCETYPE, -}} -pub type LPDIRECT3DRESOURCE9 = *mut IDirect3DResource9; -pub type PDIRECT3DRESOURCE9 = *mut IDirect3DResource9; -RIDL!{#[uuid(0xdd13c59c, 0x36fa, 0x4098, 0xa8, 0xfb, 0xc7, 0xed, 0x39, 0xdc, 0x85, 0x46)] -interface IDirect3DVertexDeclaration9(IDirect3DVertexDeclaration9Vtbl): IUnknown(IUnknownVtbl) { - fn GetDevice( - ppDevice: *mut *mut IDirect3DDevice9, - ) -> HRESULT, - fn GetDeclaration( - pElement: *mut D3DVERTEXELEMENT9, - pNumElements: *mut UINT, - ) -> HRESULT, -}} -pub type LPDIRECT3DVERTEXDECLARATION9 = *mut IDirect3DVertexDeclaration9; -pub type PDIRECT3DVERTEXDECLARATION9 = *mut IDirect3DVertexDeclaration9; -RIDL!{#[uuid(0xefc5557e, 0x6265, 0x4613, 0x8a, 0x94, 0x43, 0x85, 0x78, 0x89, 0xeb, 0x36)] -interface IDirect3DVertexShader9(IDirect3DVertexShader9Vtbl): IUnknown(IUnknownVtbl) { - fn GetDevice( - ppDevice: *mut *mut IDirect3DDevice9, - ) -> HRESULT, - fn GetFunction( - arg1: *mut VOID, - pSizeOfData: *mut UINT, - ) -> HRESULT, -}} -pub type LPDIRECT3DVERTEXSHADER9 = *mut IDirect3DVertexShader9; -pub type PDIRECT3DVERTEXSHADER9 = *mut IDirect3DVertexShader9; -RIDL!{#[uuid(0x6d3bdbdc, 0x5b02, 0x4415, 0xb8, 0x52, 0xce, 0x5e, 0x8b, 0xcc, 0xb2, 0x89)] -interface IDirect3DPixelShader9(IDirect3DPixelShader9Vtbl): IUnknown(IUnknownVtbl) { - fn GetDevice( - ppDevice: *mut *mut IDirect3DDevice9, - ) -> HRESULT, - fn GetFunction( - arg1: *mut VOID, - pSizeOfData: *mut UINT, - ) -> HRESULT, -}} -pub type LPDIRECT3DPIXELSHADER9 = *mut IDirect3DPixelShader9; -pub type PDIRECT3DPIXELSHADER9 = *mut IDirect3DPixelShader9; -RIDL!{#[uuid(0x580ca87e, 0x1d3c, 0x4d54, 0x99, 0x1d, 0xb7, 0xd3, 0xe3, 0xc2, 0x98, 0xce)] -interface IDirect3DBaseTexture9(IDirect3DBaseTexture9Vtbl): - IDirect3DResource9(IDirect3DResource9Vtbl) { - fn SetLOD( - LODNew: DWORD, - ) -> DWORD, - fn GetLOD() -> DWORD, - fn GetLevelCount() -> DWORD, - fn SetAutoGenFilterType( - FilterType: D3DTEXTUREFILTERTYPE, - ) -> HRESULT, - fn GetAutoGenFilterType() -> D3DTEXTUREFILTERTYPE, - fn GenerateMipSubLevels() -> (), -}} -pub type LPDIRECT3DBASETEXTURE9 = *mut IDirect3DBaseTexture9; -pub type PDIRECT3DBASETEXTURE9 = *mut IDirect3DBaseTexture9; -RIDL!{#[uuid(0x85c31227, 0x3de5, 0x4f00, 0x9b, 0x3a, 0xf1, 0x1a, 0xc3, 0x8c, 0x18, 0xb5)] -interface IDirect3DTexture9(IDirect3DTexture9Vtbl): - IDirect3DBaseTexture9(IDirect3DBaseTexture9Vtbl) { - fn GetLevelDesc( - Level: UINT, - pDesc: *mut D3DSURFACE_DESC, - ) -> HRESULT, - fn GetSurfaceLevel( - Level: UINT, - ppSurfaceLevel: *mut *mut IDirect3DSurface9, - ) -> HRESULT, - fn LockRect( - Level: UINT, - pLockedRect: *mut D3DLOCKED_RECT, - pRect: *const RECT, - Flags: DWORD, - ) -> HRESULT, - fn UnlockRect( - Level: UINT, - ) -> HRESULT, - fn AddDirtyRect( - pDirtyRect: *const RECT, - ) -> HRESULT, -}} -pub type LPDIRECT3DTEXTURE9 = *mut IDirect3DTexture9; -pub type PDIRECT3DTEXTURE9 = *mut IDirect3DTexture9; -RIDL!{#[uuid(0x2518526c, 0xe789, 0x4111, 0xa7, 0xb9, 0x47, 0xef, 0x32, 0x8d, 0x13, 0xe6)] -interface IDirect3DVolumeTexture9(IDirect3DVolumeTexture9Vtbl): - IDirect3DBaseTexture9(IDirect3DBaseTexture9Vtbl) { - fn GetLevelDesc( - Level: UINT, - pDesc: *mut D3DVOLUME_DESC, - ) -> HRESULT, - fn GetVolumeLevel( - Level: UINT, - ppVolumeLevel: *mut *mut IDirect3DVolume9, - ) -> HRESULT, - fn LockBox( - Level: UINT, - pLockedVolume: *mut D3DLOCKED_BOX, - pBox: *const D3DBOX, - Flags: DWORD, - ) -> HRESULT, - fn UnlockBox( - Level: UINT, - ) -> HRESULT, - fn AddDirtyBox( - pDirtyBox: *const D3DBOX, - ) -> HRESULT, -}} -pub type LPDIRECT3DVOLUMETEXTURE9 = *mut IDirect3DVolumeTexture9; -pub type PDIRECT3DVOLUMETEXTURE9 = *mut IDirect3DVolumeTexture9; -RIDL!{#[uuid(0xfff32f81, 0xd953, 0x473a, 0x92, 0x23, 0x93, 0xd6, 0x52, 0xab, 0xa9, 0x3f)] -interface IDirect3DCubeTexture9(IDirect3DCubeTexture9Vtbl): - IDirect3DBaseTexture9(IDirect3DBaseTexture9Vtbl) { - fn GetLevelDesc( - Level: UINT, - pDesc: *mut D3DSURFACE_DESC, - ) -> HRESULT, - fn GetCubeMapSurface( - FaceType: D3DCUBEMAP_FACES, - Level: UINT, - ppCubeMapSurface: *mut *mut IDirect3DSurface9, - ) -> HRESULT, - fn LockRect( - FaceType: D3DCUBEMAP_FACES, - Level: UINT, - pLockedRect: *mut D3DLOCKED_RECT, - pRect: *const RECT, - Flags: DWORD, - ) -> HRESULT, - fn UnlockRect( - FaceType: D3DCUBEMAP_FACES, - Level: UINT, - ) -> HRESULT, - fn AddDirtyRect( - FaceType: D3DCUBEMAP_FACES, - pDirtyRect: *const RECT, - ) -> HRESULT, -}} -pub type LPDIRECT3DCUBETEXTURE9 = *mut IDirect3DCubeTexture9; -pub type PDIRECT3DCUBETEXTURE9 = *mut IDirect3DCubeTexture9; -RIDL!{#[uuid(0xb64bb1b5, 0xfd70, 0x4df6, 0xbf, 0x91, 0x19, 0xd0, 0xa1, 0x24, 0x55, 0xe3)] -interface IDirect3DVertexBuffer9(IDirect3DVertexBuffer9Vtbl): - IDirect3DResource9(IDirect3DResource9Vtbl) { - fn Lock( - OffsetToLock: UINT, - SizeToLock: UINT, - ppbData: *mut *mut VOID, - Flags: DWORD, - ) -> HRESULT, - fn Unlock() -> HRESULT, - fn GetDesc( - pDesc: *mut D3DVERTEXBUFFER_DESC, - ) -> HRESULT, -}} -pub type LPDIRECT3DVERTEXBUFFER9 = *mut IDirect3DVertexBuffer9; -pub type PDIRECT3DVERTEXBUFFER9 = *mut IDirect3DVertexBuffer9; -RIDL!{#[uuid(0x7c9dd65e, 0xd3f7, 0x4529, 0xac, 0xee, 0x78, 0x58, 0x30, 0xac, 0xde, 0x35)] -interface IDirect3DIndexBuffer9(IDirect3DIndexBuffer9Vtbl): - IDirect3DResource9(IDirect3DResource9Vtbl) { - fn Lock( - OffsetToLock: UINT, - SizeToLock: UINT, - ppbData: *mut *mut VOID, - Flags: DWORD, - ) -> HRESULT, - fn Unlock() -> HRESULT, - fn GetDesc( - pDesc: *mut D3DINDEXBUFFER_DESC, - ) -> HRESULT, -}} -pub type LPDIRECT3DINDEXBUFFER9 = *mut IDirect3DIndexBuffer9; -pub type PDIRECT3DINDEXBUFFER9 = *mut IDirect3DIndexBuffer9; -RIDL!{#[uuid(0xcfbaf3a, 0x9ff6, 0x429a, 0x99, 0xb3, 0xa2, 0x79, 0x6a, 0xf8, 0xb8, 0x9b)] -interface IDirect3DSurface9(IDirect3DSurface9Vtbl): IDirect3DResource9(IDirect3DResource9Vtbl) { - fn GetContainer( - riid: *const IID, - ppContainer: *mut *mut VOID, - ) -> HRESULT, - fn GetDesc( - pDesc: *mut D3DSURFACE_DESC, - ) -> HRESULT, - fn LockRect( - pLockedRect: *mut D3DLOCKED_RECT, - pRect: *const RECT, - Flags: DWORD, - ) -> HRESULT, - fn UnlockRect() -> HRESULT, - fn GetDC( - phdc: *mut HDC, - ) -> HRESULT, - fn ReleaseDC( - hdc: HDC, - ) -> HRESULT, -}} -pub type LPDIRECT3DSURFACE9 = *mut IDirect3DSurface9; -pub type PDIRECT3DSURFACE9 = *mut IDirect3DSurface9; -RIDL!{#[uuid(0x24f416e6, 0x1f67, 0x4aa7, 0xb8, 0x8e, 0xd3, 0x3f, 0x6f, 0x31, 0x28, 0xa1)] -interface IDirect3DVolume9(IDirect3DVolume9Vtbl): IUnknown(IUnknownVtbl) { - fn GetDevice( - ppDevice: *mut *mut IDirect3DDevice9, - ) -> HRESULT, - fn SetPrivateData( - refguid: *const GUID, - pData: *const VOID, - SizeOfData: DWORD, - Flags: DWORD, - ) -> HRESULT, - fn GetPrivateData( - refguid: *const GUID, - pData: *mut VOID, - pSizeOfData: *mut DWORD, - ) -> HRESULT, - fn FreePrivateData( - refguid: *const GUID, - ) -> HRESULT, - fn GetContainer( - riid: *const IID, - ppContainer: *mut *mut VOID, - ) -> HRESULT, - fn GetDesc( - pDesc: *mut D3DVOLUME_DESC, - ) -> HRESULT, - fn LockBox( - pLockedVolume: *mut D3DLOCKED_BOX, - pBox: *const D3DBOX, - Flags: DWORD, - ) -> HRESULT, - fn UnlockBox() -> HRESULT, -}} -pub type LPDIRECT3DVOLUME9 = *mut IDirect3DVolume9; -pub type PDIRECT3DVOLUME9 = *mut IDirect3DVolume9; -RIDL!{#[uuid(0xd9771460, 0xa695, 0x4f26, 0xbb, 0xd3, 0x27, 0xb8, 0x40, 0xb5, 0x41, 0xcc)] -interface IDirect3DQuery9(IDirect3DQuery9Vtbl): IUnknown(IUnknownVtbl) { - fn GetDevice( - ppDevice: *mut *mut IDirect3DDevice9, - ) -> HRESULT, - fn GetType() -> D3DRESOURCETYPE, - fn GetDataSize() -> DWORD, - fn Issue( - dwIssueFlags: DWORD, - ) -> HRESULT, - fn GetData( - pData: *mut VOID, - dwSize: DWORD, - dwGetDataFlags: DWORD, - ) -> HRESULT, -}} -pub type LPDIRECT3DQUERY9 = *mut IDirect3DQuery9; -pub type PDIRECT3DQUERY9 = *mut IDirect3DQuery9; -pub const D3DCREATE_FPU_PRESERVE: DWORD = 0x2; -pub const D3DCREATE_MULTITHREADED: DWORD = 0x4; -pub const D3DCREATE_PUREDEVICE: DWORD = 0x10; -pub const D3DCREATE_SOFTWARE_VERTEXPROCESSING: DWORD = 0x20; -pub const D3DCREATE_HARDWARE_VERTEXPROCESSING: DWORD = 0x40; -pub const D3DCREATE_MIXED_VERTEXPROCESSING: DWORD = 0x80; -pub const D3DCREATE_DISABLE_DRIVER_MANAGEMENT: DWORD = 0x100; -pub const D3DCREATE_ADAPTERGROUP_DEVICE: DWORD = 0x200; -pub const D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX: DWORD = 0x400; -pub const D3DCREATE_NOWINDOWCHANGES: DWORD = 0x800; -pub const D3DCREATE_DISABLE_PSGP_THREADING: DWORD = 0x2000; -pub const D3DCREATE_ENABLE_PRESENTSTATS: DWORD = 0x4000; -pub const D3DCREATE_DISABLE_PRESENTSTATS: DWORD = 0x8000; -pub const D3DCREATE_SCREENSAVER: DWORD = 0x10000000; -pub const D3DADAPTER_DEFAULT: DWORD = 0; -extern "system" { - pub fn Direct3DCreate9Ex( - SDKVersion: UINT, - arg1: *mut *mut IDirect3D9Ex, - ) -> HRESULT; -} -RIDL!{#[uuid(0x02177241, 0x69fc, 0x400c, 0x8f, 0xf1, 0x93, 0xa4, 0x4d, 0xf6, 0x86, 0x1d)] -interface IDirect3D9Ex(IDirect3D9ExVtbl): IDirect3D9(IDirect3D9Vtbl) { - fn GetAdapterModeCountEx( - Adapter: UINT, - pFilter: *const D3DDISPLAYMODEFILTER, - ) -> UINT, - fn EnumAdapterModesEx( - Adapter: UINT, - pFilter: *const D3DDISPLAYMODEFILTER, - Mode: UINT, - pMode: *mut D3DDISPLAYMODEEX, - ) -> HRESULT, - fn GetAdapterDisplayModeEx( - Adapter: UINT, - pMode: *mut D3DDISPLAYMODEEX, - pRotation: *mut D3DDISPLAYROTATION, - ) -> HRESULT, - fn CreateDeviceEx( - Adapter: UINT, - DeviceType: D3DDEVTYPE, - hFocusWindow: HWND, - BehaviorFlags: DWORD, - pPresentationParameters: *mut D3DPRESENT_PARAMETERS, - pFullscreenDisplayMode: *mut D3DDISPLAYMODEEX, - ppReturnedDeviceInterface: *mut *mut IDirect3DDevice9Ex, - ) -> HRESULT, - fn GetAdapterLUID( - Adapter: UINT, - pLUID: *mut LUID, - ) -> HRESULT, -}} -pub type LPDIRECT3D9EX = *mut IDirect3D9Ex; -pub type PDIRECT3D9EX = *mut IDirect3D9Ex; -RIDL!{#[uuid(0xb18b10ce, 0x2649, 0x405a, 0x87, 0xf, 0x95, 0xf7, 0x77, 0xd4, 0x31, 0x3a)] -interface IDirect3DDevice9Ex(IDirect3DDevice9ExVtbl): IDirect3DDevice9(IDirect3DDevice9Vtbl) { - fn SetConvolutionMonoKernel( - width: UINT, - height: UINT, - rows: *mut FLOAT, - columns: *mut FLOAT, - ) -> HRESULT, - fn ComposeRects( - pSrc: *mut IDirect3DSurface9, - pDst: *mut IDirect3DSurface9, - pSrcRectDescs: *mut IDirect3DVertexBuffer9, - NumRects: UINT, - pDstRectDescs: *mut IDirect3DVertexBuffer9, - Operation: D3DCOMPOSERECTSOP, - Xoffset: INT, - Yoffset: INT, - ) -> HRESULT, - fn PresentEx( - pSourceRect: *const RECT, - pDestRect: *const RECT, - hDestWindowOverride: HWND, - pDirtyRegion: *const RGNDATA, - dwFlags: DWORD, - ) -> HRESULT, - fn GetGPUThreadPriority( - pPriority: *mut INT, - ) -> HRESULT, - fn SetGPUThreadPriority( - Priority: INT, - ) -> HRESULT, - fn WaitForVBlank( - iSwapChain: UINT, - ) -> HRESULT, - fn CheckResourceResidency( - pResourceArray: *mut *mut IDirect3DResource9, - NumResources: UINT32, - ) -> HRESULT, - fn SetMaximumFrameLatency( - MaxLatency: UINT, - ) -> HRESULT, - fn GetMaximumFrameLatency( - pMaxLatency: *mut UINT, - ) -> HRESULT, - fn CheckDeviceState( - hDestinationWindow: HWND, - ) -> HRESULT, - fn CreateRenderTargetEx( - Width: UINT, - Height: UINT, - Format: D3DFORMAT, - MultiSample: D3DMULTISAMPLE_TYPE, - MultisampleQuality: DWORD, - Lockable: BOOL, - ppSurface: *mut *mut IDirect3DSurface9, - pSharedHandle: *mut HANDLE, - Usage: DWORD, - ) -> HRESULT, - fn CreateOffscreenPlainSurfaceEx( - Width: UINT, - Height: UINT, - Format: D3DFORMAT, - Pool: D3DPOOL, - ppSurface: *mut *mut IDirect3DSurface9, - pSharedHandle: *mut HANDLE, - Usage: DWORD, - ) -> HRESULT, - fn CreateDepthStencilSurfaceEx( - Width: UINT, - Height: UINT, - Format: D3DFORMAT, - MultiSample: D3DMULTISAMPLE_TYPE, - MultisampleQuality: DWORD, - Discard: BOOL, - ppSurface: *mut *mut IDirect3DSurface9, - pSharedHandle: *mut HANDLE, - Usage: DWORD, - ) -> HRESULT, - fn ResetEx( - pPresentationParameters: *mut D3DPRESENT_PARAMETERS, - pFullscreenDisplayMode: *mut D3DDISPLAYMODEEX, - ) -> HRESULT, - fn GetDisplayModeEx( - iSwapChain: UINT, - pMode: *mut D3DDISPLAYMODEEX, - pRotation: *mut D3DDISPLAYROTATION, - ) -> HRESULT, -}} -pub type LPDIRECT3DDEVICE9EX = *mut IDirect3DDevice9Ex; -pub type PDIRECT3DDEVICE9EX = *mut IDirect3DDevice9Ex; -RIDL!{#[uuid(0x91886caf, 0x1c3d, 0x4d2e, 0xa0, 0xab, 0x3e, 0x4c, 0x7d, 0x8d, 0x33, 0x3)] -interface IDirect3DSwapChain9Ex(IDirect3DSwapChain9ExVtbl): - IDirect3DSwapChain9(IDirect3DSwapChain9Vtbl) { - fn GetLastPresentCount( - pLastPresentCount: *mut UINT, - ) -> HRESULT, - fn GetPresentStats( - pPresentationStatistics: *mut D3DPRESENTSTATS, - ) -> HRESULT, - fn GetDisplayModeEx( - pMode: *mut D3DDISPLAYMODEEX, - pRotation: *mut D3DDISPLAYROTATION, - ) -> HRESULT, -}} -pub type LPDIRECT3DSWAPCHAIN9EX = *mut IDirect3DSwapChain9Ex; -pub type PDIRECT3DSWAPCHAIN9EX = *mut IDirect3DSwapChain9Ex; -RIDL!{#[uuid(0x187aeb13, 0xaaf5, 0x4c59, 0x87, 0x6d, 0xe0, 0x59, 0x8, 0x8c, 0xd, 0xf8)] -interface IDirect3D9ExOverlayExtension(IDirect3D9ExOverlayExtensionVtbl): IUnknown(IUnknownVtbl) { - fn CheckDeviceOverlayType( - Adapter: UINT, - DevType: D3DDEVTYPE, - OverlayWidth: UINT, - OverlayHeight: UINT, - OverlayFormat: D3DFORMAT, - pDisplayMode: *mut D3DDISPLAYMODEEX, - DisplayRotation: D3DDISPLAYROTATION, - pOverlayCaps: *mut D3DOVERLAYCAPS, - ) -> HRESULT, -}} -pub type LPDIRECT3D9EXOVERLAYEXTENSION = *mut IDirect3D9ExOverlayExtension; -pub type PDIRECT3D9EXOVERLAYEXTENSION = *mut IDirect3D9ExOverlayExtension; -RIDL!{#[uuid(0x26dc4561, 0xa1ee, 0x4ae7, 0x96, 0xda, 0x11, 0x8a, 0x36, 0xc0, 0xec, 0x95)] -interface IDirect3DDevice9Video(IDirect3DDevice9VideoVtbl): IUnknown(IUnknownVtbl) { - fn GetContentProtectionCaps( - pCryptoType: *const GUID, - pDecodeProfile: *const GUID, - pCaps: *mut D3DCONTENTPROTECTIONCAPS, - ) -> HRESULT, - fn CreateAuthenticatedChannel( - ChannelType: D3DAUTHENTICATEDCHANNELTYPE, - ppAuthenticatedChannel: *mut *mut IDirect3DAuthenticatedChannel9, - pChannelHandle: *mut HANDLE, - ) -> HRESULT, - fn CreateCryptoSession( - pCryptoType: *const GUID, - pDecodeProfile: *const GUID, - ppCryptoSession: *mut *mut IDirect3DCryptoSession9, - pCryptoHandle: *mut HANDLE, - ) -> HRESULT, -}} -pub type LPDIRECT3DDEVICE9VIDEO = *mut IDirect3DDevice9Video; -pub type PDIRECT3DDEVICE9VIDEO = *mut IDirect3DDevice9Video; -RIDL!{#[uuid(0xff24beee, 0xda21, 0x4beb, 0x98, 0xb5, 0xd2, 0xf8, 0x99, 0xf9, 0x8a, 0xf9)] -interface IDirect3DAuthenticatedChannel9(IDirect3DAuthenticatedChannel9Vtbl): - IUnknown(IUnknownVtbl) { - fn GetCertificateSize( - pCertificateSize: *mut UINT, - ) -> HRESULT, - fn GetCertificate( - CertifacteSize: UINT, - ppCertificate: *mut BYTE, - ) -> HRESULT, - fn NegotiateKeyExchange( - DataSize: UINT, - pData: *mut VOID, - ) -> HRESULT, - fn Query( - InputSize: UINT, - pInput: *const VOID, - OutputSize: UINT, - pOutput: *mut VOID, - ) -> HRESULT, - fn Configure( - InputSize: UINT, - pInput: *const VOID, - pOutput: *mut D3DAUTHENTICATEDCHANNEL_CONFIGURE_OUTPUT, - ) -> HRESULT, -}} -pub type LPDIRECT3DAUTHENTICATEDCHANNEL9 = *mut IDirect3DAuthenticatedChannel9; -pub type PDIRECT3DAUTHENTICATEDCHANNEL9 = *mut IDirect3DAuthenticatedChannel9; -RIDL!{#[uuid(0xfa0ab799, 0x7a9c, 0x48ca, 0x8c, 0x5b, 0x23, 0x7e, 0x71, 0xa5, 0x44, 0x34)] -interface IDirect3DCryptoSession9(IDirect3DCryptoSession9Vtbl): IUnknown(IUnknownVtbl) { - fn GetCertificateSize( - pCertificateSize: *mut UINT, - ) -> HRESULT, - fn GetCertificate( - CertifacteSize: UINT, - ppCertificate: *mut BYTE, - ) -> HRESULT, - fn NegotiateKeyExchange( - DataSize: UINT, - pData: *mut VOID, - ) -> HRESULT, - fn EncryptionBlt( - pSrcSurface: *mut IDirect3DSurface9, - pDstSurface: *mut IDirect3DSurface9, - DstSurfaceSize: UINT, - pIV: *mut VOID, - ) -> HRESULT, - fn DecryptionBlt( - pSrcSurface: *mut IDirect3DSurface9, - pDstSurface: *mut IDirect3DSurface9, - SrcSurfaceSize: UINT, - pEncryptedBlockInfo: *mut D3DENCRYPTED_BLOCK_INFO, - pContentKey: *mut VOID, - pIV: *mut VOID, - ) -> HRESULT, - fn GetSurfacePitch( - pSrcSurface: *mut IDirect3DSurface9, - pSurfacePitch: *mut UINT, - ) -> HRESULT, - fn StartSessionKeyRefresh( - pRandomNumber: *mut VOID, - RandomNumberSize: UINT, - ) -> HRESULT, - fn FinishSessionKeyRefresh() -> HRESULT, - fn GetEncryptionBltKey( - pReadbackKey: *mut VOID, - KeySize: UINT, - ) -> HRESULT, -}} -pub type LPDIRECT3DCRYPTOSESSION9 = *mut IDirect3DCryptoSession9; -pub type PDIRECT3DCRYPTOSESSION9 = *mut IDirect3DCryptoSession9; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/d3d9caps.rs b/vendor/registry-40351f815f426200/winapi/src/shared/d3d9caps.rs deleted file mode 100644 index e806e08b7..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/d3d9caps.rs +++ /dev/null @@ -1,366 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Direct3D capabilities include file -use ctypes::c_float; -use shared::d3d9types::D3DDEVTYPE; -use shared::guiddef::GUID; -use shared::minwindef::{DWORD, INT, UINT}; -use um::winnt::ULONGLONG; -STRUCT!{struct D3DVSHADERCAPS2_0 { - Caps: DWORD, - DynamicFlowControlDepth: INT, - NumTemps: INT, - StaticFlowControlDepth: INT, -}} -pub const D3DVS20CAPS_PREDICATION: DWORD = 1 << 0; -pub const D3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH: DWORD = 24; -pub const D3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH: DWORD = 0; -pub const D3DVS20_MAX_NUMTEMPS: DWORD = 32; -pub const D3DVS20_MIN_NUMTEMPS: DWORD = 12; -pub const D3DVS20_MAX_STATICFLOWCONTROLDEPTH: DWORD = 4; -pub const D3DVS20_MIN_STATICFLOWCONTROLDEPTH: DWORD = 1; -STRUCT!{struct D3DPSHADERCAPS2_0 { - Caps: DWORD, - DynamicFlowControlDepth: INT, - NumTemps: INT, - StaticFlowControlDepth: INT, - NumInstructionSlots: INT, -}} -pub const D3DPS20CAPS_ARBITRARYSWIZZLE: DWORD = 1 << 0; -pub const D3DPS20CAPS_GRADIENTINSTRUCTIONS: DWORD = 1 << 1; -pub const D3DPS20CAPS_PREDICATION: DWORD = 1 << 2; -pub const D3DPS20CAPS_NODEPENDENTREADLIMIT: DWORD = 1 << 3; -pub const D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT: DWORD = 1 << 4; -pub const D3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH: DWORD = 24; -pub const D3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH: DWORD = 0; -pub const D3DPS20_MAX_NUMTEMPS: DWORD = 32; -pub const D3DPS20_MIN_NUMTEMPS: DWORD = 12; -pub const D3DPS20_MAX_STATICFLOWCONTROLDEPTH: DWORD = 4; -pub const D3DPS20_MIN_STATICFLOWCONTROLDEPTH: DWORD = 0; -pub const D3DPS20_MAX_NUMINSTRUCTIONSLOTS: DWORD = 512; -pub const D3DPS20_MIN_NUMINSTRUCTIONSLOTS: DWORD = 96; -pub const D3DMIN30SHADERINSTRUCTIONS: DWORD = 512; -pub const D3DMAX30SHADERINSTRUCTIONS: DWORD = 32768; -STRUCT!{struct D3DOVERLAYCAPS { - Caps: UINT, - MaxOverlayDisplayWidth: UINT, - MaxOverlayDisplayHeight: UINT, -}} -pub const D3DOVERLAYCAPS_FULLRANGERGB: DWORD = 0x00000001; -pub const D3DOVERLAYCAPS_LIMITEDRANGERGB: DWORD = 0x00000002; -pub const D3DOVERLAYCAPS_YCbCr_BT601: DWORD = 0x00000004; -pub const D3DOVERLAYCAPS_YCbCr_BT709: DWORD = 0x00000008; -pub const D3DOVERLAYCAPS_YCbCr_BT601_xvYCC: DWORD = 0x00000010; -pub const D3DOVERLAYCAPS_YCbCr_BT709_xvYCC: DWORD = 0x00000020; -pub const D3DOVERLAYCAPS_STRETCHX: DWORD = 0x00000040; -pub const D3DOVERLAYCAPS_STRETCHY: DWORD = 0x00000080; -// FIXME packed(4) -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct D3DCONTENTPROTECTIONCAPS { - Caps: DWORD, - KeyExchangeType: GUID, - BufferAlignmentStart: UINT, - BlockAlignmentSize: UINT, - ProtectedMemorySize: ULONGLONG, -}} -pub const D3DCPCAPS_SOFTWARE: DWORD = 0x00000001; -pub const D3DCPCAPS_HARDWARE: DWORD = 0x00000002; -pub const D3DCPCAPS_PROTECTIONALWAYSON: DWORD = 0x00000004; -pub const D3DCPCAPS_PARTIALDECRYPTION: DWORD = 0x00000008; -pub const D3DCPCAPS_CONTENTKEY: DWORD = 0x00000010; -pub const D3DCPCAPS_FRESHENSESSIONKEY: DWORD = 0x00000020; -pub const D3DCPCAPS_ENCRYPTEDREADBACK: DWORD = 0x00000040; -pub const D3DCPCAPS_ENCRYPTEDREADBACKKEY: DWORD = 0x00000080; -pub const D3DCPCAPS_SEQUENTIAL_CTR_IV: DWORD = 0x00000100; -pub const D3DCPCAPS_ENCRYPTSLICEDATAONLY: DWORD = 0x00000200; -DEFINE_GUID!{D3DCRYPTOTYPE_AES128_CTR, - 0x9b6bd711, 0x4f74, 0x41c9, 0x9e, 0x7b, 0x0b, 0xe2, 0xd7, 0xd9, 0x3b, 0x4f} -DEFINE_GUID!{D3DCRYPTOTYPE_PROPRIETARY, - 0xab4e9afd, 0x1d1c, 0x46e6, 0xa7, 0x2f, 0x08, 0x69, 0x91, 0x7b, 0x0d, 0xe8} -DEFINE_GUID!{D3DKEYEXCHANGE_RSAES_OAEP, - 0xc1949895, 0xd72a, 0x4a1d, 0x8e, 0x5d, 0xed, 0x85, 0x7d, 0x17, 0x15, 0x20} -DEFINE_GUID!{D3DKEYEXCHANGE_DXVA, - 0x43d3775c, 0x38e5, 0x4924, 0x8d, 0x86, 0xd3, 0xfc, 0xcf, 0x15, 0x3e, 0x9b} -STRUCT!{struct D3DCAPS9 { - DeviceType: D3DDEVTYPE, - AdapterOrdinal: UINT, - Caps: DWORD, - Caps2: DWORD, - Caps3: DWORD, - PresentationIntervals: DWORD, - CursorCaps: DWORD, - DevCaps: DWORD, - PrimitiveMiscCaps: DWORD, - RasterCaps: DWORD, - ZCmpCaps: DWORD, - SrcBlendCaps: DWORD, - DestBlendCaps: DWORD, - AlphaCmpCaps: DWORD, - ShadeCaps: DWORD, - TextureCaps: DWORD, - TextureFilterCaps: DWORD, - CubeTextureFilterCaps: DWORD, - VolumeTextureFilterCaps: DWORD, - TextureAddressCaps: DWORD, - VolumeTextureAddressCaps: DWORD, - LineCaps: DWORD, - MaxTextureWidth: DWORD, - MaxTextureHeight: DWORD, - MaxVolumeExtent: DWORD, - MaxTextureRepeat: DWORD, - MaxTextureAspectRatio: DWORD, - MaxAnisotropy: DWORD, - MaxVertexW: c_float, - GuardBandLeft: c_float, - GuardBandTop: c_float, - GuardBandRight: c_float, - GuardBandBottom: c_float, - ExtentsAdjust: c_float, - StencilCaps: DWORD, - FVFCaps: DWORD, - TextureOpCaps: DWORD, - MaxTextureBlendStages: DWORD, - MaxSimultaneousTextures: DWORD, - VertexProcessingCaps: DWORD, - MaxActiveLights: DWORD, - MaxUserClipPlanes: DWORD, - MaxVertexBlendMatrices: DWORD, - MaxVertexBlendMatrixIndex: DWORD, - MaxPointSize: c_float, - MaxPrimitiveCount: DWORD, - MaxVertexIndex: DWORD, - MaxStreams: DWORD, - MaxStreamStride: DWORD, - VertexShaderVersion: DWORD, - MaxVertexShaderConst: DWORD, - PixelShaderVersion: DWORD, - PixelShader1xMaxValue: c_float, - DevCaps2: DWORD, - MaxNpatchTessellationLevel: c_float, - Reserved5: DWORD, - MasterAdapterOrdinal: UINT, - AdapterOrdinalInGroup: UINT, - NumberOfAdaptersInGroup: UINT, - DeclTypes: DWORD, - NumSimultaneousRTs: DWORD, - StretchRectFilterCaps: DWORD, - VS20Caps: D3DVSHADERCAPS2_0, - PS20Caps: D3DPSHADERCAPS2_0, - VertexTextureFilterCaps: DWORD, - MaxVShaderInstructionsExecuted: DWORD, - MaxPShaderInstructionsExecuted: DWORD, - MaxVertexShader30InstructionSlots: DWORD, - MaxPixelShader30InstructionSlots: DWORD, -}} -pub const D3DCAPS_OVERLAY: DWORD = 0x00000800; -pub const D3DCAPS_READ_SCANLINE: DWORD = 0x00020000; -pub const D3DCAPS2_FULLSCREENGAMMA: DWORD = 0x00020000; -pub const D3DCAPS2_CANCALIBRATEGAMMA: DWORD = 0x00100000; -pub const D3DCAPS2_RESERVED: DWORD = 0x02000000; -pub const D3DCAPS2_CANMANAGERESOURCE: DWORD = 0x10000000; -pub const D3DCAPS2_DYNAMICTEXTURES: DWORD = 0x20000000; -pub const D3DCAPS2_CANAUTOGENMIPMAP: DWORD = 0x40000000; -pub const D3DCAPS2_CANSHARERESOURCE: DWORD = 0x80000000; -pub const D3DCAPS3_RESERVED: DWORD = 0x8000001f; -pub const D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD: DWORD = 0x00000020; -pub const D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION: DWORD = 0x00000080; -pub const D3DCAPS3_COPY_TO_VIDMEM: DWORD = 0x00000100; -pub const D3DCAPS3_COPY_TO_SYSTEMMEM: DWORD = 0x00000200; -pub const D3DCAPS3_DXVAHD: DWORD = 0x00000400; -pub const D3DCAPS3_DXVAHD_LIMITED: DWORD = 0x00000800; -pub const D3DPRESENT_INTERVAL_DEFAULT: DWORD = 0x00000000; -pub const D3DPRESENT_INTERVAL_ONE: DWORD = 0x00000001; -pub const D3DPRESENT_INTERVAL_TWO: DWORD = 0x00000002; -pub const D3DPRESENT_INTERVAL_THREE: DWORD = 0x00000004; -pub const D3DPRESENT_INTERVAL_FOUR: DWORD = 0x00000008; -pub const D3DPRESENT_INTERVAL_IMMEDIATE: DWORD = 0x80000000; -pub const D3DCURSORCAPS_COLOR: DWORD = 0x00000001; -pub const D3DCURSORCAPS_LOWRES: DWORD = 0x00000002; -pub const D3DDEVCAPS_EXECUTESYSTEMMEMORY: DWORD = 0x00000010; -pub const D3DDEVCAPS_EXECUTEVIDEOMEMORY: DWORD = 0x00000020; -pub const D3DDEVCAPS_TLVERTEXSYSTEMMEMORY: DWORD = 0x00000040; -pub const D3DDEVCAPS_TLVERTEXVIDEOMEMORY: DWORD = 0x00000080; -pub const D3DDEVCAPS_TEXTURESYSTEMMEMORY: DWORD = 0x00000100; -pub const D3DDEVCAPS_TEXTUREVIDEOMEMORY: DWORD = 0x00000200; -pub const D3DDEVCAPS_DRAWPRIMTLVERTEX: DWORD = 0x00000400; -pub const D3DDEVCAPS_CANRENDERAFTERFLIP: DWORD = 0x00000800; -pub const D3DDEVCAPS_TEXTURENONLOCALVIDMEM: DWORD = 0x00001000; -pub const D3DDEVCAPS_DRAWPRIMITIVES2: DWORD = 0x00002000; -pub const D3DDEVCAPS_SEPARATETEXTUREMEMORIES: DWORD = 0x00004000; -pub const D3DDEVCAPS_DRAWPRIMITIVES2EX: DWORD = 0x00008000; -pub const D3DDEVCAPS_HWTRANSFORMANDLIGHT: DWORD = 0x00010000; -pub const D3DDEVCAPS_CANBLTSYSTONONLOCAL: DWORD = 0x00020000; -pub const D3DDEVCAPS_HWRASTERIZATION: DWORD = 0x00080000; -pub const D3DDEVCAPS_PUREDEVICE: DWORD = 0x00100000; -pub const D3DDEVCAPS_QUINTICRTPATCHES: DWORD = 0x00200000; -pub const D3DDEVCAPS_RTPATCHES: DWORD = 0x00400000; -pub const D3DDEVCAPS_RTPATCHHANDLEZERO: DWORD = 0x00800000; -pub const D3DDEVCAPS_NPATCHES: DWORD = 0x01000000; -pub const D3DPMISCCAPS_MASKZ: DWORD = 0x00000002; -pub const D3DPMISCCAPS_CULLNONE: DWORD = 0x00000010; -pub const D3DPMISCCAPS_CULLCW: DWORD = 0x00000020; -pub const D3DPMISCCAPS_CULLCCW: DWORD = 0x00000040; -pub const D3DPMISCCAPS_COLORWRITEENABLE: DWORD = 0x00000080; -pub const D3DPMISCCAPS_CLIPPLANESCALEDPOINTS: DWORD = 0x00000100; -pub const D3DPMISCCAPS_CLIPTLVERTS: DWORD = 0x00000200; -pub const D3DPMISCCAPS_TSSARGTEMP: DWORD = 0x00000400; -pub const D3DPMISCCAPS_BLENDOP: DWORD = 0x00000800; -pub const D3DPMISCCAPS_NULLREFERENCE: DWORD = 0x00001000; -pub const D3DPMISCCAPS_INDEPENDENTWRITEMASKS: DWORD = 0x00004000; -pub const D3DPMISCCAPS_PERSTAGECONSTANT: DWORD = 0x00008000; -pub const D3DPMISCCAPS_FOGANDSPECULARALPHA: DWORD = 0x00010000; -pub const D3DPMISCCAPS_SEPARATEALPHABLEND: DWORD = 0x00020000; -pub const D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS: DWORD = 0x00040000; -pub const D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING: DWORD = 0x00080000; -pub const D3DPMISCCAPS_FOGVERTEXCLAMPED: DWORD = 0x00100000; -pub const D3DPMISCCAPS_POSTBLENDSRGBCONVERT: DWORD = 0x00200000; -pub const D3DLINECAPS_TEXTURE: DWORD = 0x00000001; -pub const D3DLINECAPS_ZTEST: DWORD = 0x00000002; -pub const D3DLINECAPS_BLEND: DWORD = 0x00000004; -pub const D3DLINECAPS_ALPHACMP: DWORD = 0x00000008; -pub const D3DLINECAPS_FOG: DWORD = 0x00000010; -pub const D3DLINECAPS_ANTIALIAS: DWORD = 0x00000020; -pub const D3DPRASTERCAPS_DITHER: DWORD = 0x00000001; -pub const D3DPRASTERCAPS_ZTEST: DWORD = 0x00000010; -pub const D3DPRASTERCAPS_FOGVERTEX: DWORD = 0x00000080; -pub const D3DPRASTERCAPS_FOGTABLE: DWORD = 0x00000100; -pub const D3DPRASTERCAPS_MIPMAPLODBIAS: DWORD = 0x00002000; -pub const D3DPRASTERCAPS_ZBUFFERLESSHSR: DWORD = 0x00008000; -pub const D3DPRASTERCAPS_FOGRANGE: DWORD = 0x00010000; -pub const D3DPRASTERCAPS_ANISOTROPY: DWORD = 0x00020000; -pub const D3DPRASTERCAPS_WBUFFER: DWORD = 0x00040000; -pub const D3DPRASTERCAPS_WFOG: DWORD = 0x00100000; -pub const D3DPRASTERCAPS_ZFOG: DWORD = 0x00200000; -pub const D3DPRASTERCAPS_COLORPERSPECTIVE: DWORD = 0x00400000; -pub const D3DPRASTERCAPS_SCISSORTEST: DWORD = 0x01000000; -pub const D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS: DWORD = 0x02000000; -pub const D3DPRASTERCAPS_DEPTHBIAS: DWORD = 0x04000000; -pub const D3DPRASTERCAPS_MULTISAMPLE_TOGGLE: DWORD = 0x08000000; -pub const D3DPCMPCAPS_NEVER: DWORD = 0x00000001; -pub const D3DPCMPCAPS_LESS: DWORD = 0x00000002; -pub const D3DPCMPCAPS_EQUAL: DWORD = 0x00000004; -pub const D3DPCMPCAPS_LESSEQUAL: DWORD = 0x00000008; -pub const D3DPCMPCAPS_GREATER: DWORD = 0x00000010; -pub const D3DPCMPCAPS_NOTEQUAL: DWORD = 0x00000020; -pub const D3DPCMPCAPS_GREATEREQUAL: DWORD = 0x00000040; -pub const D3DPCMPCAPS_ALWAYS: DWORD = 0x00000080; -pub const D3DPBLENDCAPS_ZERO: DWORD = 0x00000001; -pub const D3DPBLENDCAPS_ONE: DWORD = 0x00000002; -pub const D3DPBLENDCAPS_SRCCOLOR: DWORD = 0x00000004; -pub const D3DPBLENDCAPS_INVSRCCOLOR: DWORD = 0x00000008; -pub const D3DPBLENDCAPS_SRCALPHA: DWORD = 0x00000010; -pub const D3DPBLENDCAPS_INVSRCALPHA: DWORD = 0x00000020; -pub const D3DPBLENDCAPS_DESTALPHA: DWORD = 0x00000040; -pub const D3DPBLENDCAPS_INVDESTALPHA: DWORD = 0x00000080; -pub const D3DPBLENDCAPS_DESTCOLOR: DWORD = 0x00000100; -pub const D3DPBLENDCAPS_INVDESTCOLOR: DWORD = 0x00000200; -pub const D3DPBLENDCAPS_SRCALPHASAT: DWORD = 0x00000400; -pub const D3DPBLENDCAPS_BOTHSRCALPHA: DWORD = 0x00000800; -pub const D3DPBLENDCAPS_BOTHINVSRCALPHA: DWORD = 0x00001000; -pub const D3DPBLENDCAPS_BLENDFACTOR: DWORD = 0x00002000; -pub const D3DPBLENDCAPS_SRCCOLOR2: DWORD = 0x00004000; -pub const D3DPBLENDCAPS_INVSRCCOLOR2: DWORD = 0x00008000; -pub const D3DPSHADECAPS_COLORGOURAUDRGB: DWORD = 0x00000008; -pub const D3DPSHADECAPS_SPECULARGOURAUDRGB: DWORD = 0x00000200; -pub const D3DPSHADECAPS_ALPHAGOURAUDBLEND: DWORD = 0x00004000; -pub const D3DPSHADECAPS_FOGGOURAUD: DWORD = 0x00080000; -pub const D3DPTEXTURECAPS_PERSPECTIVE: DWORD = 0x00000001; -pub const D3DPTEXTURECAPS_POW2: DWORD = 0x00000002; -pub const D3DPTEXTURECAPS_ALPHA: DWORD = 0x00000004; -pub const D3DPTEXTURECAPS_SQUAREONLY: DWORD = 0x00000020; -pub const D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE: DWORD = 0x00000040; -pub const D3DPTEXTURECAPS_ALPHAPALETTE: DWORD = 0x00000080; -pub const D3DPTEXTURECAPS_NONPOW2CONDITIONAL: DWORD = 0x00000100; -pub const D3DPTEXTURECAPS_PROJECTED: DWORD = 0x00000400; -pub const D3DPTEXTURECAPS_CUBEMAP: DWORD = 0x00000800; -pub const D3DPTEXTURECAPS_VOLUMEMAP: DWORD = 0x00002000; -pub const D3DPTEXTURECAPS_MIPMAP: DWORD = 0x00004000; -pub const D3DPTEXTURECAPS_MIPVOLUMEMAP: DWORD = 0x00008000; -pub const D3DPTEXTURECAPS_MIPCUBEMAP: DWORD = 0x00010000; -pub const D3DPTEXTURECAPS_CUBEMAP_POW2: DWORD = 0x00020000; -pub const D3DPTEXTURECAPS_VOLUMEMAP_POW2: DWORD = 0x00040000; -pub const D3DPTEXTURECAPS_NOPROJECTEDBUMPENV: DWORD = 0x00200000; -pub const D3DPTFILTERCAPS_MINFPOINT: DWORD = 0x00000100; -pub const D3DPTFILTERCAPS_MINFLINEAR: DWORD = 0x00000200; -pub const D3DPTFILTERCAPS_MINFANISOTROPIC: DWORD = 0x00000400; -pub const D3DPTFILTERCAPS_MINFPYRAMIDALQUAD: DWORD = 0x00000800; -pub const D3DPTFILTERCAPS_MINFGAUSSIANQUAD: DWORD = 0x00001000; -pub const D3DPTFILTERCAPS_MIPFPOINT: DWORD = 0x00010000; -pub const D3DPTFILTERCAPS_MIPFLINEAR: DWORD = 0x00020000; -pub const D3DPTFILTERCAPS_CONVOLUTIONMONO: DWORD = 0x00040000; -pub const D3DPTFILTERCAPS_MAGFPOINT: DWORD = 0x01000000; -pub const D3DPTFILTERCAPS_MAGFLINEAR: DWORD = 0x02000000; -pub const D3DPTFILTERCAPS_MAGFANISOTROPIC: DWORD = 0x04000000; -pub const D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD: DWORD = 0x08000000; -pub const D3DPTFILTERCAPS_MAGFGAUSSIANQUAD: DWORD = 0x10000000; -pub const D3DPTADDRESSCAPS_WRAP: DWORD = 0x00000001; -pub const D3DPTADDRESSCAPS_MIRROR: DWORD = 0x00000002; -pub const D3DPTADDRESSCAPS_CLAMP: DWORD = 0x00000004; -pub const D3DPTADDRESSCAPS_BORDER: DWORD = 0x00000008; -pub const D3DPTADDRESSCAPS_INDEPENDENTUV: DWORD = 0x00000010; -pub const D3DPTADDRESSCAPS_MIRRORONCE: DWORD = 0x00000020; -pub const D3DSTENCILCAPS_KEEP: DWORD = 0x00000001; -pub const D3DSTENCILCAPS_ZERO: DWORD = 0x00000002; -pub const D3DSTENCILCAPS_REPLACE: DWORD = 0x00000004; -pub const D3DSTENCILCAPS_INCRSAT: DWORD = 0x00000008; -pub const D3DSTENCILCAPS_DECRSAT: DWORD = 0x00000010; -pub const D3DSTENCILCAPS_INVERT: DWORD = 0x00000020; -pub const D3DSTENCILCAPS_INCR: DWORD = 0x00000040; -pub const D3DSTENCILCAPS_DECR: DWORD = 0x00000080; -pub const D3DSTENCILCAPS_TWOSIDED: DWORD = 0x00000100; -pub const D3DTEXOPCAPS_DISABLE: DWORD = 0x00000001; -pub const D3DTEXOPCAPS_SELECTARG1: DWORD = 0x00000002; -pub const D3DTEXOPCAPS_SELECTARG2: DWORD = 0x00000004; -pub const D3DTEXOPCAPS_MODULATE: DWORD = 0x00000008; -pub const D3DTEXOPCAPS_MODULATE2X: DWORD = 0x00000010; -pub const D3DTEXOPCAPS_MODULATE4X: DWORD = 0x00000020; -pub const D3DTEXOPCAPS_ADD: DWORD = 0x00000040; -pub const D3DTEXOPCAPS_ADDSIGNED: DWORD = 0x00000080; -pub const D3DTEXOPCAPS_ADDSIGNED2X: DWORD = 0x00000100; -pub const D3DTEXOPCAPS_SUBTRACT: DWORD = 0x00000200; -pub const D3DTEXOPCAPS_ADDSMOOTH: DWORD = 0x00000400; -pub const D3DTEXOPCAPS_BLENDDIFFUSEALPHA: DWORD = 0x00000800; -pub const D3DTEXOPCAPS_BLENDTEXTUREALPHA: DWORD = 0x00001000; -pub const D3DTEXOPCAPS_BLENDFACTORALPHA: DWORD = 0x00002000; -pub const D3DTEXOPCAPS_BLENDTEXTUREALPHAPM: DWORD = 0x00004000; -pub const D3DTEXOPCAPS_BLENDCURRENTALPHA: DWORD = 0x00008000; -pub const D3DTEXOPCAPS_PREMODULATE: DWORD = 0x00010000; -pub const D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR: DWORD = 0x00020000; -pub const D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA: DWORD = 0x00040000; -pub const D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR: DWORD = 0x00080000; -pub const D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA: DWORD = 0x00100000; -pub const D3DTEXOPCAPS_BUMPENVMAP: DWORD = 0x00200000; -pub const D3DTEXOPCAPS_BUMPENVMAPLUMINANCE: DWORD = 0x00400000; -pub const D3DTEXOPCAPS_DOTPRODUCT3: DWORD = 0x00800000; -pub const D3DTEXOPCAPS_MULTIPLYADD: DWORD = 0x01000000; -pub const D3DTEXOPCAPS_LERP: DWORD = 0x02000000; -pub const D3DFVFCAPS_TEXCOORDCOUNTMASK: DWORD = 0x0000ffff; -pub const D3DFVFCAPS_DONOTSTRIPELEMENTS: DWORD = 0x00080000; -pub const D3DFVFCAPS_PSIZE: DWORD = 0x00100000; -pub const D3DVTXPCAPS_TEXGEN: DWORD = 0x00000001; -pub const D3DVTXPCAPS_MATERIALSOURCE7: DWORD = 0x00000002; -pub const D3DVTXPCAPS_DIRECTIONALLIGHTS: DWORD = 0x00000008; -pub const D3DVTXPCAPS_POSITIONALLIGHTS: DWORD = 0x00000010; -pub const D3DVTXPCAPS_LOCALVIEWER: DWORD = 0x00000020; -pub const D3DVTXPCAPS_TWEENING: DWORD = 0x00000040; -pub const D3DVTXPCAPS_TEXGEN_SPHEREMAP: DWORD = 0x00000100; -pub const D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER: DWORD = 0x00000200; -pub const D3DDEVCAPS2_STREAMOFFSET: DWORD = 0x00000001; -pub const D3DDEVCAPS2_DMAPNPATCH: DWORD = 0x00000002; -pub const D3DDEVCAPS2_ADAPTIVETESSRTPATCH: DWORD = 0x00000004; -pub const D3DDEVCAPS2_ADAPTIVETESSNPATCH: DWORD = 0x00000008; -pub const D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES: DWORD = 0x00000010; -pub const D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH: DWORD = 0x00000020; -pub const D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET: DWORD = 0x00000040; -pub const D3DDTCAPS_UBYTE4: DWORD = 0x00000001; -pub const D3DDTCAPS_UBYTE4N: DWORD = 0x00000002; -pub const D3DDTCAPS_SHORT2N: DWORD = 0x00000004; -pub const D3DDTCAPS_SHORT4N: DWORD = 0x00000008; -pub const D3DDTCAPS_USHORT2N: DWORD = 0x00000010; -pub const D3DDTCAPS_USHORT4N: DWORD = 0x00000020; -pub const D3DDTCAPS_UDEC3: DWORD = 0x00000040; -pub const D3DDTCAPS_DEC3N: DWORD = 0x00000080; -pub const D3DDTCAPS_FLOAT16_2: DWORD = 0x00000100; -pub const D3DDTCAPS_FLOAT16_4: DWORD = 0x00000200; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/d3d9types.rs b/vendor/registry-40351f815f426200/winapi/src/shared/d3d9types.rs deleted file mode 100644 index e794d2731..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/d3d9types.rs +++ /dev/null @@ -1,1487 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Direct3D capabilities include file -use ctypes::{c_char, c_float, c_void}; -use shared::basetsd::UINT64; -use shared::guiddef::GUID; -use shared::minwindef::{BOOL, BYTE, DWORD, FLOAT, INT, UINT, USHORT, WORD}; -use shared::windef::HWND; -use um::winnt::{HANDLE, HRESULT, LARGE_INTEGER, LONG, SHORT}; -pub type D3DCOLOR = DWORD; -#[inline] -pub fn D3DCOLOR_ARGB(a: DWORD, r: DWORD, g: DWORD, b: DWORD) -> D3DCOLOR { - (((a & 0xff) << 24) | ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff)) as D3DCOLOR -} -#[inline] -pub fn D3DCOLOR_RGBA(r: DWORD, g: DWORD, b: DWORD, a: DWORD) -> D3DCOLOR { - D3DCOLOR_ARGB(a, r, g, b) -} -#[inline] -pub fn D3DCOLOR_XRGB(r: DWORD, g: DWORD, b: DWORD) -> D3DCOLOR { - D3DCOLOR_ARGB(0xff, r, g, b) -} -#[inline] -pub fn D3DCOLOR_XYUV(y: DWORD, u: DWORD, v: DWORD) -> D3DCOLOR { - D3DCOLOR_ARGB(0xff, y, u, v) -} -#[inline] -pub fn D3DCOLOR_AYUV(a: DWORD, y: DWORD, u: DWORD, v: DWORD) -> D3DCOLOR { - D3DCOLOR_ARGB(a, y, u, v) -} -#[inline] -pub fn D3DCOLOR_COLORVALUE(r: f32, g: f32, b: f32, a: f32) -> D3DCOLOR { - D3DCOLOR_ARGB( - (r * 255f32) as DWORD, - (g * 255f32) as DWORD, - (b * 255f32) as DWORD, - (a * 255f32) as DWORD, - ) -} -STRUCT!{struct D3DVECTOR { - x: c_float, - y: c_float, - z: c_float, -}} -STRUCT!{struct D3DCOLORVALUE { - r: c_float, - g: c_float, - b: c_float, - a: c_float, -}} -STRUCT!{struct D3DRECT { - x1: LONG, - y1: LONG, - x2: LONG, - y2: LONG, -}} -STRUCT!{struct D3DMATRIX { - m: [[c_float; 4]; 4], -}} -STRUCT!{struct D3DVIEWPORT9 { - X: DWORD, - Y: DWORD, - Width: DWORD, - Height: DWORD, - MinZ: c_float, - MaxZ: c_float, -}} -pub const D3DMAXUSERCLIPPLANES: DWORD = 32; -pub const D3DCLIPPLANE0: DWORD = 1 << 0; -pub const D3DCLIPPLANE1: DWORD = 1 << 1; -pub const D3DCLIPPLANE2: DWORD = 1 << 2; -pub const D3DCLIPPLANE3: DWORD = 1 << 3; -pub const D3DCLIPPLANE4: DWORD = 1 << 4; -pub const D3DCLIPPLANE5: DWORD = 1 << 5; -pub const D3DCS_LEFT: DWORD = 0x00000001; -pub const D3DCS_RIGHT: DWORD = 0x00000002; -pub const D3DCS_TOP: DWORD = 0x00000004; -pub const D3DCS_BOTTOM: DWORD = 0x00000008; -pub const D3DCS_FRONT: DWORD = 0x00000010; -pub const D3DCS_BACK: DWORD = 0x00000020; -pub const D3DCS_PLANE0: DWORD = 0x00000040; -pub const D3DCS_PLANE1: DWORD = 0x00000080; -pub const D3DCS_PLANE2: DWORD = 0x00000100; -pub const D3DCS_PLANE3: DWORD = 0x00000200; -pub const D3DCS_PLANE4: DWORD = 0x00000400; -pub const D3DCS_PLANE5: DWORD = 0x00000800; -pub const D3DCS_ALL: DWORD = D3DCS_LEFT | D3DCS_RIGHT | D3DCS_TOP | D3DCS_BOTTOM | D3DCS_FRONT - | D3DCS_BACK | D3DCS_PLANE0 | D3DCS_PLANE1 | D3DCS_PLANE2 | D3DCS_PLANE3 | D3DCS_PLANE4 - | D3DCS_PLANE5; -STRUCT!{struct D3DCLIPSTATUS9 { - ClipUnion: DWORD, - ClipIntersection: DWORD, -}} -STRUCT!{struct D3DMATERIAL9 { - Diffuse: D3DCOLORVALUE, - Ambient: D3DCOLORVALUE, - Specular: D3DCOLORVALUE, - Emissive: D3DCOLORVALUE, - Power: c_float, -}} -ENUM!{enum D3DLIGHTTYPE { - D3DLIGHT_POINT = 1, - D3DLIGHT_SPOT = 2, - D3DLIGHT_DIRECTIONAL = 3, -}} -STRUCT!{struct D3DLIGHT9 { - Type: D3DLIGHTTYPE, - Diffuse: D3DCOLORVALUE, - Specular: D3DCOLORVALUE, - Ambient: D3DCOLORVALUE, - Position: D3DVECTOR, - Direction: D3DVECTOR, - Range: c_float, - Falloff: c_float, - Attenuation0: c_float, - Attenuation1: c_float, - Attenuation2: c_float, - Theta: c_float, - Phi: c_float, -}} -pub const D3DCLEAR_TARGET: DWORD = 0x00000001; -pub const D3DCLEAR_ZBUFFER: DWORD = 0x00000002; -pub const D3DCLEAR_STENCIL: DWORD = 0x00000004; -ENUM!{enum D3DSHADEMODE { - D3DSHADE_FLAT = 1, - D3DSHADE_GOURAUD = 2, - D3DSHADE_PHONG = 3, -}} -ENUM!{enum D3DFILLMODE { - D3DFILL_POINT = 1, - D3DFILL_WIREFRAME = 2, - D3DFILL_SOLID = 3, -}} -ENUM!{enum D3DBLEND { - D3DBLEND_ZERO = 1, - D3DBLEND_ONE = 2, - D3DBLEND_SRCCOLOR = 3, - D3DBLEND_INVSRCCOLOR = 4, - D3DBLEND_SRCALPHA = 5, - D3DBLEND_INVSRCALPHA = 6, - D3DBLEND_DESTALPHA = 7, - D3DBLEND_INVDESTALPHA = 8, - D3DBLEND_DESTCOLOR = 9, - D3DBLEND_INVDESTCOLOR = 10, - D3DBLEND_SRCALPHASAT = 11, - D3DBLEND_BOTHSRCALPHA = 12, - D3DBLEND_BOTHINVSRCALPHA = 13, - D3DBLEND_BLENDFACTOR = 14, - D3DBLEND_INVBLENDFACTOR = 15, - D3DBLEND_SRCCOLOR2 = 16, - D3DBLEND_INVSRCCOLOR2 = 17, -}} -ENUM!{enum D3DBLENDOP { - D3DBLENDOP_ADD = 1, - D3DBLENDOP_SUBTRACT = 2, - D3DBLENDOP_REVSUBTRACT = 3, - D3DBLENDOP_MIN = 4, - D3DBLENDOP_MAX = 5, -}} -ENUM!{enum D3DTEXTUREADDRESS { - D3DTADDRESS_WRAP = 1, - D3DTADDRESS_MIRROR = 2, - D3DTADDRESS_CLAMP = 3, - D3DTADDRESS_BORDER = 4, - D3DTADDRESS_MIRRORONCE = 5, -}} -ENUM!{enum D3DCULL { - D3DCULL_NONE = 1, - D3DCULL_CW = 2, - D3DCULL_CCW = 3, -}} -ENUM!{enum D3DCMPFUNC { - D3DCMP_NEVER = 1, - D3DCMP_LESS = 2, - D3DCMP_EQUAL = 3, - D3DCMP_LESSEQUAL = 4, - D3DCMP_GREATER = 5, - D3DCMP_NOTEQUAL = 6, - D3DCMP_GREATEREQUAL = 7, - D3DCMP_ALWAYS = 8, -}} -ENUM!{enum D3DSTENCILOP { - D3DSTENCILOP_KEEP = 1, - D3DSTENCILOP_ZERO = 2, - D3DSTENCILOP_REPLACE = 3, - D3DSTENCILOP_INCRSAT = 4, - D3DSTENCILOP_DECRSAT = 5, - D3DSTENCILOP_INVERT = 6, - D3DSTENCILOP_INCR = 7, - D3DSTENCILOP_DECR = 8, -}} -ENUM!{enum D3DFOGMODE { - D3DFOG_NONE = 0, - D3DFOG_EXP = 1, - D3DFOG_EXP2 = 2, - D3DFOG_LINEAR = 3, -}} -ENUM!{enum D3DZBUFFERTYPE { - D3DZB_FALSE = 0, - D3DZB_TRUE = 1, - D3DZB_USEW = 2, -}} -ENUM!{enum D3DPRIMITIVETYPE { - D3DPT_POINTLIST = 1, - D3DPT_LINELIST = 2, - D3DPT_LINESTRIP = 3, - D3DPT_TRIANGLELIST = 4, - D3DPT_TRIANGLESTRIP = 5, - D3DPT_TRIANGLEFAN = 6, -}} -ENUM!{enum D3DTRANSFORMSTATETYPE { - D3DTS_VIEW = 2, - D3DTS_PROJECTION = 3, - D3DTS_TEXTURE0 = 16, - D3DTS_TEXTURE1 = 17, - D3DTS_TEXTURE2 = 18, - D3DTS_TEXTURE3 = 19, - D3DTS_TEXTURE4 = 20, - D3DTS_TEXTURE5 = 21, - D3DTS_TEXTURE6 = 22, - D3DTS_TEXTURE7 = 23, -}} -macro_rules! D3DTS_WORLDMATRIX { - ($index:expr) => ($index + 256) -} -pub const D3DTS_WORLD: D3DTRANSFORMSTATETYPE = D3DTS_WORLDMATRIX!(0); -pub const D3DTS_WORLD1: D3DTRANSFORMSTATETYPE = D3DTS_WORLDMATRIX!(1); -pub const D3DTS_WORLD2: D3DTRANSFORMSTATETYPE = D3DTS_WORLDMATRIX!(2); -pub const D3DTS_WORLD3: D3DTRANSFORMSTATETYPE = D3DTS_WORLDMATRIX!(3); -ENUM!{enum D3DRENDERSTATETYPE { - D3DRS_ZENABLE = 7, - D3DRS_FILLMODE = 8, - D3DRS_SHADEMODE = 9, - D3DRS_ZWRITEENABLE = 14, - D3DRS_ALPHATESTENABLE = 15, - D3DRS_LASTPIXEL = 16, - D3DRS_SRCBLEND = 19, - D3DRS_DESTBLEND = 20, - D3DRS_CULLMODE = 22, - D3DRS_ZFUNC = 23, - D3DRS_ALPHAREF = 24, - D3DRS_ALPHAFUNC = 25, - D3DRS_DITHERENABLE = 26, - D3DRS_ALPHABLENDENABLE = 27, - D3DRS_FOGENABLE = 28, - D3DRS_SPECULARENABLE = 29, - D3DRS_FOGCOLOR = 34, - D3DRS_FOGTABLEMODE = 35, - D3DRS_FOGSTART = 36, - D3DRS_FOGEND = 37, - D3DRS_FOGDENSITY = 38, - D3DRS_RANGEFOGENABLE = 48, - D3DRS_STENCILENABLE = 52, - D3DRS_STENCILFAIL = 53, - D3DRS_STENCILZFAIL = 54, - D3DRS_STENCILPASS = 55, - D3DRS_STENCILFUNC = 56, - D3DRS_STENCILREF = 57, - D3DRS_STENCILMASK = 58, - D3DRS_STENCILWRITEMASK = 59, - D3DRS_TEXTUREFACTOR = 60, - D3DRS_WRAP0 = 128, - D3DRS_WRAP1 = 129, - D3DRS_WRAP2 = 130, - D3DRS_WRAP3 = 131, - D3DRS_WRAP4 = 132, - D3DRS_WRAP5 = 133, - D3DRS_WRAP6 = 134, - D3DRS_WRAP7 = 135, - D3DRS_CLIPPING = 136, - D3DRS_LIGHTING = 137, - D3DRS_AMBIENT = 139, - D3DRS_FOGVERTEXMODE = 140, - D3DRS_COLORVERTEX = 141, - D3DRS_LOCALVIEWER = 142, - D3DRS_NORMALIZENORMALS = 143, - D3DRS_DIFFUSEMATERIALSOURCE = 145, - D3DRS_SPECULARMATERIALSOURCE = 146, - D3DRS_AMBIENTMATERIALSOURCE = 147, - D3DRS_EMISSIVEMATERIALSOURCE = 148, - D3DRS_VERTEXBLEND = 151, - D3DRS_CLIPPLANEENABLE = 152, - D3DRS_POINTSIZE = 154, - D3DRS_POINTSIZE_MIN = 155, - D3DRS_POINTSPRITEENABLE = 156, - D3DRS_POINTSCALEENABLE = 157, - D3DRS_POINTSCALE_A = 158, - D3DRS_POINTSCALE_B = 159, - D3DRS_POINTSCALE_C = 160, - D3DRS_MULTISAMPLEANTIALIAS = 161, - D3DRS_MULTISAMPLEMASK = 162, - D3DRS_PATCHEDGESTYLE = 163, - D3DRS_DEBUGMONITORTOKEN = 165, - D3DRS_POINTSIZE_MAX = 166, - D3DRS_INDEXEDVERTEXBLENDENABLE = 167, - D3DRS_COLORWRITEENABLE = 168, - D3DRS_TWEENFACTOR = 170, - D3DRS_BLENDOP = 171, - D3DRS_POSITIONDEGREE = 172, - D3DRS_NORMALDEGREE = 173, - D3DRS_SCISSORTESTENABLE = 174, - D3DRS_SLOPESCALEDEPTHBIAS = 175, - D3DRS_ANTIALIASEDLINEENABLE = 176, - D3DRS_MINTESSELLATIONLEVEL = 178, - D3DRS_MAXTESSELLATIONLEVEL = 179, - D3DRS_ADAPTIVETESS_X = 180, - D3DRS_ADAPTIVETESS_Y = 181, - D3DRS_ADAPTIVETESS_Z = 182, - D3DRS_ADAPTIVETESS_W = 183, - D3DRS_ENABLEADAPTIVETESSELLATION = 184, - D3DRS_TWOSIDEDSTENCILMODE = 185, - D3DRS_CCW_STENCILFAIL = 186, - D3DRS_CCW_STENCILZFAIL = 187, - D3DRS_CCW_STENCILPASS = 188, - D3DRS_CCW_STENCILFUNC = 189, - D3DRS_COLORWRITEENABLE1 = 190, - D3DRS_COLORWRITEENABLE2 = 191, - D3DRS_COLORWRITEENABLE3 = 192, - D3DRS_BLENDFACTOR = 193, - D3DRS_SRGBWRITEENABLE = 194, - D3DRS_DEPTHBIAS = 195, - D3DRS_WRAP8 = 198, - D3DRS_WRAP9 = 199, - D3DRS_WRAP10 = 200, - D3DRS_WRAP11 = 201, - D3DRS_WRAP12 = 202, - D3DRS_WRAP13 = 203, - D3DRS_WRAP14 = 204, - D3DRS_WRAP15 = 205, - D3DRS_SEPARATEALPHABLENDENABLE = 206, - D3DRS_SRCBLENDALPHA = 207, - D3DRS_DESTBLENDALPHA = 208, - D3DRS_BLENDOPALPHA = 209, -}} -pub const D3D_MAX_SIMULTANEOUS_RENDERTARGETS: DWORD = 4; -ENUM!{enum D3DMATERIALCOLORSOURCE { - D3DMCS_MATERIAL = 0, - D3DMCS_COLOR1 = 1, - D3DMCS_COLOR2 = 2, -}} -pub const D3DRENDERSTATE_WRAPBIAS: DWORD = 128; -pub const D3DWRAP_U: DWORD = 0x00000001; -pub const D3DWRAP_V: DWORD = 0x00000002; -pub const D3DWRAP_W: DWORD = 0x00000004; -pub const D3DWRAPCOORD_0: DWORD = 0x00000001; -pub const D3DWRAPCOORD_1: DWORD = 0x00000002; -pub const D3DWRAPCOORD_2: DWORD = 0x00000004; -pub const D3DWRAPCOORD_3: DWORD = 0x00000008; -pub const D3DCOLORWRITEENABLE_RED: DWORD = 1 << 0; -pub const D3DCOLORWRITEENABLE_GREEN: DWORD = 1 << 1; -pub const D3DCOLORWRITEENABLE_BLUE: DWORD = 1 << 2; -pub const D3DCOLORWRITEENABLE_ALPHA: DWORD = 1 << 3; -ENUM!{enum D3DTEXTURESTAGESTATETYPE { - D3DTSS_COLOROP = 1, - D3DTSS_COLORARG1 = 2, - D3DTSS_COLORARG2 = 3, - D3DTSS_ALPHAOP = 4, - D3DTSS_ALPHAARG1 = 5, - D3DTSS_ALPHAARG2 = 6, - D3DTSS_BUMPENVMAT00 = 7, - D3DTSS_BUMPENVMAT01 = 8, - D3DTSS_BUMPENVMAT10 = 9, - D3DTSS_BUMPENVMAT11 = 10, - D3DTSS_TEXCOORDINDEX = 11, - D3DTSS_BUMPENVLSCALE = 22, - D3DTSS_BUMPENVLOFFSET = 23, - D3DTSS_TEXTURETRANSFORMFLAGS = 24, - D3DTSS_COLORARG0 = 26, - D3DTSS_ALPHAARG0 = 27, - D3DTSS_RESULTARG = 28, - D3DTSS_CONSTANT = 32, -}} -ENUM!{enum D3DSAMPLERSTATETYPE { - D3DSAMP_ADDRESSU = 1, - D3DSAMP_ADDRESSV = 2, - D3DSAMP_ADDRESSW = 3, - D3DSAMP_BORDERCOLOR = 4, - D3DSAMP_MAGFILTER = 5, - D3DSAMP_MINFILTER = 6, - D3DSAMP_MIPFILTER = 7, - D3DSAMP_MIPMAPLODBIAS = 8, - D3DSAMP_MAXMIPLEVEL = 9, - D3DSAMP_MAXANISOTROPY = 10, - D3DSAMP_SRGBTEXTURE = 11, - D3DSAMP_ELEMENTINDEX = 12, - D3DSAMP_DMAPOFFSET = 13, -}} -pub const D3DDMAPSAMPLER: DWORD = 256; -pub const D3DVERTEXTEXTURESAMPLER0: DWORD = D3DDMAPSAMPLER + 1; -pub const D3DVERTEXTEXTURESAMPLER1: DWORD = D3DDMAPSAMPLER + 2; -pub const D3DVERTEXTEXTURESAMPLER2: DWORD = D3DDMAPSAMPLER + 3; -pub const D3DVERTEXTEXTURESAMPLER3: DWORD = D3DDMAPSAMPLER + 4; -pub const D3DTSS_TCI_PASSTHRU: DWORD = 0x00000000; -pub const D3DTSS_TCI_CAMERASPACENORMAL: DWORD = 0x00010000; -pub const D3DTSS_TCI_CAMERASPACEPOSITION: DWORD = 0x00020000; -pub const D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR: DWORD = 0x00030000; -pub const D3DTSS_TCI_SPHEREMAP: DWORD = 0x00040000; -ENUM!{enum D3DTEXTUREOP { - D3DTOP_DISABLE = 1, - D3DTOP_SELECTARG1 = 2, - D3DTOP_SELECTARG2 = 3, - D3DTOP_MODULATE = 4, - D3DTOP_MODULATE2X = 5, - D3DTOP_MODULATE4X = 6, - D3DTOP_ADD = 7, - D3DTOP_ADDSIGNED = 8, - D3DTOP_ADDSIGNED2X = 9, - D3DTOP_SUBTRACT = 10, - D3DTOP_ADDSMOOTH = 11, - D3DTOP_BLENDDIFFUSEALPHA = 12, - D3DTOP_BLENDTEXTUREALPHA = 13, - D3DTOP_BLENDFACTORALPHA = 14, - D3DTOP_BLENDTEXTUREALPHAPM = 15, - D3DTOP_BLENDCURRENTALPHA = 16, - D3DTOP_PREMODULATE = 17, - D3DTOP_MODULATEALPHA_ADDCOLOR = 18, - D3DTOP_MODULATECOLOR_ADDALPHA = 19, - D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20, - D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21, - D3DTOP_BUMPENVMAP = 22, - D3DTOP_BUMPENVMAPLUMINANCE = 23, - D3DTOP_DOTPRODUCT3 = 24, - D3DTOP_MULTIPLYADD = 25, - D3DTOP_LERP = 26, -}} -pub const D3DTA_SELECTMASK: DWORD = 0x0000000f; -pub const D3DTA_DIFFUSE: DWORD = 0x00000000; -pub const D3DTA_CURRENT: DWORD = 0x00000001; -pub const D3DTA_TEXTURE: DWORD = 0x00000002; -pub const D3DTA_TFACTOR: DWORD = 0x00000003; -pub const D3DTA_SPECULAR: DWORD = 0x00000004; -pub const D3DTA_TEMP: DWORD = 0x00000005; -pub const D3DTA_CONSTANT: DWORD = 0x00000006; -pub const D3DTA_COMPLEMENT: DWORD = 0x00000010; -pub const D3DTA_ALPHAREPLICATE: DWORD = 0x00000020; -ENUM!{enum D3DTEXTUREFILTERTYPE { - D3DTEXF_NONE = 0, - D3DTEXF_POINT = 1, - D3DTEXF_LINEAR = 2, - D3DTEXF_ANISOTROPIC = 3, - D3DTEXF_PYRAMIDALQUAD = 6, - D3DTEXF_GAUSSIANQUAD = 7, - D3DTEXF_CONVOLUTIONMONO = 8, -}} -pub const D3DPV_DONOTCOPYDATA: DWORD = 1 << 0; -pub const D3DFVF_RESERVED0: DWORD = 0x001; -pub const D3DFVF_POSITION_MASK: DWORD = 0x400E; -pub const D3DFVF_XYZ: DWORD = 0x002; -pub const D3DFVF_XYZRHW: DWORD = 0x004; -pub const D3DFVF_XYZB1: DWORD = 0x006; -pub const D3DFVF_XYZB2: DWORD = 0x008; -pub const D3DFVF_XYZB3: DWORD = 0x00a; -pub const D3DFVF_XYZB4: DWORD = 0x00c; -pub const D3DFVF_XYZB5: DWORD = 0x00e; -pub const D3DFVF_XYZW: DWORD = 0x4002; -pub const D3DFVF_NORMAL: DWORD = 0x010; -pub const D3DFVF_PSIZE: DWORD = 0x020; -pub const D3DFVF_DIFFUSE: DWORD = 0x040; -pub const D3DFVF_SPECULAR: DWORD = 0x080; -pub const D3DFVF_TEXCOUNT_MASK: DWORD = 0xf00; -pub const D3DFVF_TEXCOUNT_SHIFT: DWORD = 8; -pub const D3DFVF_TEX0: DWORD = 0x000; -pub const D3DFVF_TEX1: DWORD = 0x100; -pub const D3DFVF_TEX2: DWORD = 0x200; -pub const D3DFVF_TEX3: DWORD = 0x300; -pub const D3DFVF_TEX4: DWORD = 0x400; -pub const D3DFVF_TEX5: DWORD = 0x500; -pub const D3DFVF_TEX6: DWORD = 0x600; -pub const D3DFVF_TEX7: DWORD = 0x700; -pub const D3DFVF_TEX8: DWORD = 0x800; -pub const D3DFVF_LASTBETA_UBYTE4: DWORD = 0x1000; -pub const D3DFVF_LASTBETA_D3DCOLOR: DWORD = 0x8000; -pub const D3DFVF_RESERVED2: DWORD = 0x6000; -ENUM!{enum D3DDECLUSAGE { - D3DDECLUSAGE_POSITION = 0, - D3DDECLUSAGE_BLENDWEIGHT, - D3DDECLUSAGE_BLENDINDICES, - D3DDECLUSAGE_NORMAL, - D3DDECLUSAGE_PSIZE, - D3DDECLUSAGE_TEXCOORD, - D3DDECLUSAGE_TANGENT, - D3DDECLUSAGE_BINORMAL, - D3DDECLUSAGE_TESSFACTOR, - D3DDECLUSAGE_POSITIONT, - D3DDECLUSAGE_COLOR, - D3DDECLUSAGE_FOG, - D3DDECLUSAGE_DEPTH, - D3DDECLUSAGE_SAMPLE, -}} -pub const MAXD3DDECLUSAGE: D3DDECLUSAGE = D3DDECLUSAGE_SAMPLE; -pub const MAXD3DDECLUSAGEINDEX: DWORD = 15; -pub const MAXD3DDECLLENGTH: DWORD = 64; -ENUM!{enum D3DDECLMETHOD { - D3DDECLMETHOD_DEFAULT = 0, - D3DDECLMETHOD_PARTIALU, - D3DDECLMETHOD_PARTIALV, - D3DDECLMETHOD_CROSSUV, - D3DDECLMETHOD_UV, - D3DDECLMETHOD_LOOKUP, - D3DDECLMETHOD_LOOKUPPRESAMPLED, -}} -pub const MAXD3DDECLMETHOD: D3DDECLMETHOD = D3DDECLMETHOD_LOOKUPPRESAMPLED; -ENUM!{enum D3DDECLTYPE { - D3DDECLTYPE_FLOAT1 = 0, - D3DDECLTYPE_FLOAT2 = 1, - D3DDECLTYPE_FLOAT3 = 2, - D3DDECLTYPE_FLOAT4 = 3, - D3DDECLTYPE_D3DCOLOR = 4, - D3DDECLTYPE_UBYTE4 = 5, - D3DDECLTYPE_SHORT2 = 6, - D3DDECLTYPE_SHORT4 = 7, - D3DDECLTYPE_UBYTE4N = 8, - D3DDECLTYPE_SHORT2N = 9, - D3DDECLTYPE_SHORT4N = 10, - D3DDECLTYPE_USHORT2N = 11, - D3DDECLTYPE_USHORT4N = 12, - D3DDECLTYPE_UDEC3 = 13, - D3DDECLTYPE_DEC3N = 14, - D3DDECLTYPE_FLOAT16_2 = 15, - D3DDECLTYPE_FLOAT16_4 = 16, - D3DDECLTYPE_UNUSED = 17, -}} -pub const MAXD3DDECLTYPE: D3DDECLTYPE = D3DDECLTYPE_UNUSED; -STRUCT!{struct D3DVERTEXELEMENT9 { - Stream: WORD, - Offset: WORD, - Type: BYTE, - Method: BYTE, - Usage: BYTE, - UsageIndex: BYTE, -}} -pub type LPD3DVERTEXELEMENT9 = *mut D3DVERTEXELEMENT9; -pub const D3DDECL_END: D3DVERTEXELEMENT9 = D3DVERTEXELEMENT9 { - Stream: 0xFF, - Offset: 0, - Type: D3DDECLTYPE_UNUSED as BYTE, - Method: 0, - Usage: 0, - UsageIndex: 0, -}; -pub const D3DDP_MAXTEXCOORD: DWORD = 8; -pub const D3DSTREAMSOURCE_INDEXEDDATA: DWORD = 1 << 30; -pub const D3DSTREAMSOURCE_INSTANCEDATA: DWORD = 2 << 30; -pub const D3DSI_OPCODE_MASK: DWORD = 0x0000FFFF; -pub const D3DSI_INSTLENGTH_MASK: DWORD = 0x0F000000; -pub const D3DSI_INSTLENGTH_SHIFT: DWORD = 24; -ENUM!{enum D3DSHADER_INSTRUCTION_OPCODE_TYPE { - D3DSIO_NOP = 0, - D3DSIO_MOV, - D3DSIO_ADD, - D3DSIO_SUB, - D3DSIO_MAD, - D3DSIO_MUL, - D3DSIO_RCP, - D3DSIO_RSQ, - D3DSIO_DP3, - D3DSIO_DP4, - D3DSIO_MIN, - D3DSIO_MAX, - D3DSIO_SLT, - D3DSIO_SGE, - D3DSIO_EXP, - D3DSIO_LOG, - D3DSIO_LIT, - D3DSIO_DST, - D3DSIO_LRP, - D3DSIO_FRC, - D3DSIO_M4x4, - D3DSIO_M4x3, - D3DSIO_M3x4, - D3DSIO_M3x3, - D3DSIO_M3x2, - D3DSIO_CALL, - D3DSIO_CALLNZ, - D3DSIO_LOOP, - D3DSIO_RET, - D3DSIO_ENDLOOP, - D3DSIO_LABEL, - D3DSIO_DCL, - D3DSIO_POW, - D3DSIO_CRS, - D3DSIO_SGN, - D3DSIO_ABS, - D3DSIO_NRM, - D3DSIO_SINCOS, - D3DSIO_REP, - D3DSIO_ENDREP, - D3DSIO_IF, - D3DSIO_IFC, - D3DSIO_ELSE, - D3DSIO_ENDIF, - D3DSIO_BREAK, - D3DSIO_BREAKC, - D3DSIO_MOVA, - D3DSIO_DEFB, - D3DSIO_DEFI, - D3DSIO_TEXCOORD = 64, - D3DSIO_TEXKILL, - D3DSIO_TEX, - D3DSIO_TEXBEM, - D3DSIO_TEXBEML, - D3DSIO_TEXREG2AR, - D3DSIO_TEXREG2GB, - D3DSIO_TEXM3x2PAD, - D3DSIO_TEXM3x2TEX, - D3DSIO_TEXM3x3PAD, - D3DSIO_TEXM3x3TEX, - D3DSIO_RESERVED0, - D3DSIO_TEXM3x3SPEC, - D3DSIO_TEXM3x3VSPEC, - D3DSIO_EXPP, - D3DSIO_LOGP, - D3DSIO_CND, - D3DSIO_DEF, - D3DSIO_TEXREG2RGB, - D3DSIO_TEXDP3TEX, - D3DSIO_TEXM3x2DEPTH, - D3DSIO_TEXDP3, - D3DSIO_TEXM3x3, - D3DSIO_TEXDEPTH, - D3DSIO_CMP, - D3DSIO_BEM, - D3DSIO_DP2ADD, - D3DSIO_DSX, - D3DSIO_DSY, - D3DSIO_TEXLDD, - D3DSIO_SETP, - D3DSIO_TEXLDL, - D3DSIO_BREAKP, - D3DSIO_PHASE = 0xFFFD, - D3DSIO_COMMENT = 0xFFFE, - D3DSIO_END = 0xFFFF, -}} -pub const D3DSI_COISSUE: DWORD = 0x40000000; -pub const D3DSP_OPCODESPECIFICCONTROL_MASK: DWORD = 0x00ff0000; -pub const D3DSP_OPCODESPECIFICCONTROL_SHIFT: DWORD = 16; -pub const D3DSI_TEXLD_PROJECT: DWORD = 0x01 << D3DSP_OPCODESPECIFICCONTROL_SHIFT; -pub const D3DSI_TEXLD_BIAS: DWORD = 0x02 << D3DSP_OPCODESPECIFICCONTROL_SHIFT; -ENUM!{enum D3DSHADER_COMPARISON { - D3DSPC_RESERVED0 = 0, - D3DSPC_GT = 1, - D3DSPC_EQ = 2, - D3DSPC_GE = 3, - D3DSPC_LT = 4, - D3DSPC_NE = 5, - D3DSPC_LE = 6, - D3DSPC_RESERVED1 = 7, -}} -pub const D3DSHADER_COMPARISON_SHIFT: DWORD = D3DSP_OPCODESPECIFICCONTROL_SHIFT; -pub const D3DSHADER_COMPARISON_MASK: DWORD = 0x7 << D3DSHADER_COMPARISON_SHIFT; -pub const D3DSHADER_INSTRUCTION_PREDICATED: DWORD = 0x1 << 28; -pub const D3DSP_DCL_USAGE_SHIFT: DWORD = 0; -pub const D3DSP_DCL_USAGE_MASK: DWORD = 0x0000000f; -pub const D3DSP_DCL_USAGEINDEX_SHIFT: DWORD = 16; -pub const D3DSP_DCL_USAGEINDEX_MASK: DWORD = 0x000f0000; -pub const D3DSP_TEXTURETYPE_SHIFT: DWORD = 27; -pub const D3DSP_TEXTURETYPE_MASK: DWORD = 0x78000000; -ENUM!{enum D3DSAMPLER_TEXTURE_TYPE { - D3DSTT_UNKNOWN = 0 << D3DSP_TEXTURETYPE_SHIFT, - D3DSTT_2D = 2 << D3DSP_TEXTURETYPE_SHIFT, - D3DSTT_CUBE = 3 << D3DSP_TEXTURETYPE_SHIFT, - D3DSTT_VOLUME = 4 << D3DSP_TEXTURETYPE_SHIFT, -}} -pub const D3DSP_REGNUM_MASK: DWORD = 0x000007FF; -pub const D3DSP_WRITEMASK_0: DWORD = 0x00010000; -pub const D3DSP_WRITEMASK_1: DWORD = 0x00020000; -pub const D3DSP_WRITEMASK_2: DWORD = 0x00040000; -pub const D3DSP_WRITEMASK_3: DWORD = 0x00080000; -pub const D3DSP_WRITEMASK_ALL: DWORD = 0x000F0000; -pub const D3DSP_DSTMOD_SHIFT: DWORD = 20; -pub const D3DSP_DSTMOD_MASK: DWORD = 0x00F00000; -pub const D3DSPDM_NONE: DWORD = 0 << D3DSP_DSTMOD_SHIFT; -pub const D3DSPDM_SATURATE: DWORD = 1 << D3DSP_DSTMOD_SHIFT; -pub const D3DSPDM_PARTIALPRECISION: DWORD = 2 << D3DSP_DSTMOD_SHIFT; -pub const D3DSPDM_MSAMPCENTROID: DWORD = 4 << D3DSP_DSTMOD_SHIFT; -pub const D3DSP_DSTSHIFT_SHIFT: DWORD = 24; -pub const D3DSP_DSTSHIFT_MASK: DWORD = 0x0F000000; -pub const D3DSP_REGTYPE_SHIFT: DWORD = 28; -pub const D3DSP_REGTYPE_SHIFT2: DWORD = 8; -pub const D3DSP_REGTYPE_MASK: DWORD = 0x70000000; -pub const D3DSP_REGTYPE_MASK2: DWORD = 0x00001800; -ENUM!{enum D3DSHADER_PARAM_REGISTER_TYPE { - D3DSPR_TEMP = 0, - D3DSPR_INPUT = 1, - D3DSPR_CONST = 2, - D3DSPR_ADDR = 3, - D3DSPR_TEXTURE = 3, - D3DSPR_RASTOUT = 4, - D3DSPR_ATTROUT = 5, - D3DSPR_TEXCRDOUT = 6, - D3DSPR_OUTPUT = 6, - D3DSPR_CONSTINT = 7, - D3DSPR_COLOROUT = 8, - D3DSPR_DEPTHOUT = 9, - D3DSPR_SAMPLER = 10, - D3DSPR_CONST2 = 11, - D3DSPR_CONST3 = 12, - D3DSPR_CONST4 = 13, - D3DSPR_CONSTBOOL = 14, - D3DSPR_LOOP = 15, - D3DSPR_TEMPFLOAT16 = 16, - D3DSPR_MISCTYPE = 17, - D3DSPR_LABEL = 18, - D3DSPR_PREDICATE = 19, -}} -ENUM!{enum D3DSHADER_MISCTYPE_OFFSETS { - D3DSMO_POSITION = 0, - D3DSMO_FACE = 1, -}} -ENUM!{enum D3DVS_RASTOUT_OFFSETS { - D3DSRO_POSITION = 0, - D3DSRO_FOG, - D3DSRO_POINT_SIZE, -}} -pub const D3DVS_ADDRESSMODE_SHIFT: DWORD = 13; -pub const D3DVS_ADDRESSMODE_MASK: DWORD = 1 << D3DVS_ADDRESSMODE_SHIFT; -ENUM!{enum D3DVS_ADDRESSMODE_TYPE { - D3DVS_ADDRMODE_ABSOLUTE = 0 << D3DVS_ADDRESSMODE_SHIFT, - D3DVS_ADDRMODE_RELATIVE = 1 << D3DVS_ADDRESSMODE_SHIFT, -}} -pub const D3DSHADER_ADDRESSMODE_SHIFT: DWORD = 13; -pub const D3DSHADER_ADDRESSMODE_MASK: DWORD = 1 << D3DSHADER_ADDRESSMODE_SHIFT; -ENUM!{enum D3DSHADER_ADDRESSMODE_TYPE { - D3DSHADER_ADDRMODE_ABSOLUTE = 0 << D3DSHADER_ADDRESSMODE_SHIFT, - D3DSHADER_ADDRMODE_RELATIVE = 1 << D3DSHADER_ADDRESSMODE_SHIFT, -}} -pub const D3DVS_SWIZZLE_SHIFT: DWORD = 16; -pub const D3DVS_SWIZZLE_MASK: DWORD = 0x00FF0000; -pub const D3DVS_X_X: DWORD = 0 << D3DVS_SWIZZLE_SHIFT; -pub const D3DVS_X_Y: DWORD = 1 << D3DVS_SWIZZLE_SHIFT; -pub const D3DVS_X_Z: DWORD = 2 << D3DVS_SWIZZLE_SHIFT; -pub const D3DVS_X_W: DWORD = 3 << D3DVS_SWIZZLE_SHIFT; -pub const D3DVS_Y_X: DWORD = 0 << (D3DVS_SWIZZLE_SHIFT + 2); -pub const D3DVS_Y_Y: DWORD = 1 << (D3DVS_SWIZZLE_SHIFT + 2); -pub const D3DVS_Y_Z: DWORD = 2 << (D3DVS_SWIZZLE_SHIFT + 2); -pub const D3DVS_Y_W: DWORD = 3 << (D3DVS_SWIZZLE_SHIFT + 2); -pub const D3DVS_Z_X: DWORD = 0 << (D3DVS_SWIZZLE_SHIFT + 4); -pub const D3DVS_Z_Y: DWORD = 1 << (D3DVS_SWIZZLE_SHIFT + 4); -pub const D3DVS_Z_Z: DWORD = 2 << (D3DVS_SWIZZLE_SHIFT + 4); -pub const D3DVS_Z_W: DWORD = 3 << (D3DVS_SWIZZLE_SHIFT + 4); -pub const D3DVS_W_X: DWORD = 0 << (D3DVS_SWIZZLE_SHIFT + 6); -pub const D3DVS_W_Y: DWORD = 1 << (D3DVS_SWIZZLE_SHIFT + 6); -pub const D3DVS_W_Z: DWORD = 2 << (D3DVS_SWIZZLE_SHIFT + 6); -pub const D3DVS_W_W: DWORD = 3 << (D3DVS_SWIZZLE_SHIFT + 6); -pub const D3DVS_NOSWIZZLE: DWORD = D3DVS_X_X | D3DVS_Y_Y | D3DVS_Z_Z | D3DVS_W_W; -pub const D3DSP_SWIZZLE_SHIFT: DWORD = 16; -pub const D3DSP_SWIZZLE_MASK: DWORD = 0x00FF0000; -pub const D3DSP_NOSWIZZLE: DWORD = (0 << (D3DSP_SWIZZLE_SHIFT + 0)) - | (1 << (D3DSP_SWIZZLE_SHIFT + 2)) | (2 << (D3DSP_SWIZZLE_SHIFT + 4)) - | (3 << (D3DSP_SWIZZLE_SHIFT + 6)); -pub const D3DSP_REPLICATERED: DWORD = (0 << (D3DSP_SWIZZLE_SHIFT + 0)) - | (0 << (D3DSP_SWIZZLE_SHIFT + 2)) | (0 << (D3DSP_SWIZZLE_SHIFT + 4)) - | (0 << (D3DSP_SWIZZLE_SHIFT + 6)); -pub const D3DSP_REPLICATEGREEN: DWORD = (1 << (D3DSP_SWIZZLE_SHIFT + 0)) - | (1 << (D3DSP_SWIZZLE_SHIFT + 2)) | (1 << (D3DSP_SWIZZLE_SHIFT + 4)) - | (1 << (D3DSP_SWIZZLE_SHIFT + 6)); -pub const D3DSP_REPLICATEBLUE: DWORD = (2 << (D3DSP_SWIZZLE_SHIFT + 0)) - | (2 << (D3DSP_SWIZZLE_SHIFT + 2)) | (2 << (D3DSP_SWIZZLE_SHIFT + 4)) - | (2 << (D3DSP_SWIZZLE_SHIFT + 6)); -pub const D3DSP_REPLICATEALPHA: DWORD = (3 << (D3DSP_SWIZZLE_SHIFT + 0)) - | (3 << (D3DSP_SWIZZLE_SHIFT + 2)) | (3 << (D3DSP_SWIZZLE_SHIFT + 4)) - | (3 << (D3DSP_SWIZZLE_SHIFT + 6)); -pub const D3DSP_SRCMOD_SHIFT: DWORD = 24; -pub const D3DSP_SRCMOD_MASK: DWORD = 0x0F000000; -ENUM!{enum D3DSHADER_PARAM_SRCMOD_TYPE { - D3DSPSM_NONE = 0 << D3DSP_SRCMOD_SHIFT, - D3DSPSM_NEG = 1 << D3DSP_SRCMOD_SHIFT, - D3DSPSM_BIAS = 2 << D3DSP_SRCMOD_SHIFT, - D3DSPSM_BIASNEG = 3 << D3DSP_SRCMOD_SHIFT, - D3DSPSM_SIGN = 4 << D3DSP_SRCMOD_SHIFT, - D3DSPSM_SIGNNEG = 5 << D3DSP_SRCMOD_SHIFT, - D3DSPSM_COMP = 6 << D3DSP_SRCMOD_SHIFT, - D3DSPSM_X2 = 7 << D3DSP_SRCMOD_SHIFT, - D3DSPSM_X2NEG = 8 << D3DSP_SRCMOD_SHIFT, - D3DSPSM_DZ = 9 << D3DSP_SRCMOD_SHIFT, - D3DSPSM_DW = 10 << D3DSP_SRCMOD_SHIFT, - D3DSPSM_ABS = 11 << D3DSP_SRCMOD_SHIFT, - D3DSPSM_ABSNEG = 12 << D3DSP_SRCMOD_SHIFT, - D3DSPSM_NOT = 13 << D3DSP_SRCMOD_SHIFT, -}} -pub const D3DSP_MIN_PRECISION_SHIFT: DWORD = 14; -pub const D3DSP_MIN_PRECISION_MASK: DWORD = 0x0000C000; -ENUM!{enum D3DSHADER_MIN_PRECISION { - D3DMP_DEFAULT = 0, - D3DMP_16 = 1, - D3DMP_2_8 = 2, -}} -pub const D3DSI_COMMENTSIZE_SHIFT: DWORD = 16; -pub const D3DSI_COMMENTSIZE_MASK: DWORD = 0x7FFF0000; -pub const D3DPS_END: DWORD = 0x0000FFFF; -pub const D3DVS_END: DWORD = 0x0000FFFF; -ENUM!{enum D3DBASISTYPE { - D3DBASIS_BEZIER = 0, - D3DBASIS_BSPLINE = 1, - D3DBASIS_CATMULL_ROM = 2, -}} -ENUM!{enum D3DDEGREETYPE { - D3DDEGREE_LINEAR = 1, - D3DDEGREE_QUADRATIC = 2, - D3DDEGREE_CUBIC = 3, - D3DDEGREE_QUINTIC = 5, -}} -ENUM!{enum D3DPATCHEDGESTYLE { - D3DPATCHEDGE_DISCRETE = 0, - D3DPATCHEDGE_CONTINUOUS = 1, -}} -ENUM!{enum D3DSTATEBLOCKTYPE { - D3DSBT_ALL = 1, - D3DSBT_PIXELSTATE = 2, - D3DSBT_VERTEXSTATE = 3, -}} -ENUM!{enum D3DVERTEXBLENDFLAGS { - D3DVBF_DISABLE = 0, - D3DVBF_1WEIGHTS = 1, - D3DVBF_2WEIGHTS = 2, - D3DVBF_3WEIGHTS = 3, - D3DVBF_TWEENING = 255, - D3DVBF_0WEIGHTS = 256, -}} -ENUM!{enum D3DTEXTURETRANSFORMFLAGS { - D3DTTFF_DISABLE = 0, - D3DTTFF_COUNT1 = 1, - D3DTTFF_COUNT2 = 2, - D3DTTFF_COUNT3 = 3, - D3DTTFF_COUNT4 = 4, - D3DTTFF_PROJECTED = 256, -}} -pub const D3DFVF_TEXTUREFORMAT2: DWORD = 0; -pub const D3DFVF_TEXTUREFORMAT1: DWORD = 3; -pub const D3DFVF_TEXTUREFORMAT3: DWORD = 1; -pub const D3DFVF_TEXTUREFORMAT4: DWORD = 2; -ENUM!{enum D3DDEVTYPE { - D3DDEVTYPE_HAL = 1, - D3DDEVTYPE_REF = 2, - D3DDEVTYPE_SW = 3, - D3DDEVTYPE_NULLREF = 4, -}} -ENUM!{enum D3DMULTISAMPLE_TYPE { - D3DMULTISAMPLE_NONE = 0, - D3DMULTISAMPLE_NONMASKABLE = 1, - D3DMULTISAMPLE_2_SAMPLES = 2, - D3DMULTISAMPLE_3_SAMPLES = 3, - D3DMULTISAMPLE_4_SAMPLES = 4, - D3DMULTISAMPLE_5_SAMPLES = 5, - D3DMULTISAMPLE_6_SAMPLES = 6, - D3DMULTISAMPLE_7_SAMPLES = 7, - D3DMULTISAMPLE_8_SAMPLES = 8, - D3DMULTISAMPLE_9_SAMPLES = 9, - D3DMULTISAMPLE_10_SAMPLES = 10, - D3DMULTISAMPLE_11_SAMPLES = 11, - D3DMULTISAMPLE_12_SAMPLES = 12, - D3DMULTISAMPLE_13_SAMPLES = 13, - D3DMULTISAMPLE_14_SAMPLES = 14, - D3DMULTISAMPLE_15_SAMPLES = 15, - D3DMULTISAMPLE_16_SAMPLES = 16, -}} -ENUM!{enum D3DFORMAT { - D3DFMT_UNKNOWN = 0, - D3DFMT_R8G8B8 = 20, - D3DFMT_A8R8G8B8 = 21, - D3DFMT_X8R8G8B8 = 22, - D3DFMT_R5G6B5 = 23, - D3DFMT_X1R5G5B5 = 24, - D3DFMT_A1R5G5B5 = 25, - D3DFMT_A4R4G4B4 = 26, - D3DFMT_R3G3B2 = 27, - D3DFMT_A8 = 28, - D3DFMT_A8R3G3B2 = 29, - D3DFMT_X4R4G4B4 = 30, - D3DFMT_A2B10G10R10 = 31, - D3DFMT_A8B8G8R8 = 32, - D3DFMT_X8B8G8R8 = 33, - D3DFMT_G16R16 = 34, - D3DFMT_A2R10G10B10 = 35, - D3DFMT_A16B16G16R16 = 36, - D3DFMT_A8P8 = 40, - D3DFMT_P8 = 41, - D3DFMT_L8 = 50, - D3DFMT_A8L8 = 51, - D3DFMT_A4L4 = 52, - D3DFMT_V8U8 = 60, - D3DFMT_L6V5U5 = 61, - D3DFMT_X8L8V8U8 = 62, - D3DFMT_Q8W8V8U8 = 63, - D3DFMT_V16U16 = 64, - D3DFMT_A2W10V10U10 = 67, - D3DFMT_UYVY = MAKEFOURCC!(b'U', b'Y', b'V', b'Y'), - D3DFMT_R8G8_B8G8 = MAKEFOURCC!(b'R', b'G', b'B', b'G'), - D3DFMT_YUY2 = MAKEFOURCC!(b'Y', b'U', b'Y', b'2'), - D3DFMT_G8R8_G8B8 = MAKEFOURCC!(b'G', b'R', b'G', b'B'), - D3DFMT_DXT1 = MAKEFOURCC!(b'D', b'X', b'T', b'1'), - D3DFMT_DXT2 = MAKEFOURCC!(b'D', b'X', b'T', b'2'), - D3DFMT_DXT3 = MAKEFOURCC!(b'D', b'X', b'T', b'3'), - D3DFMT_DXT4 = MAKEFOURCC!(b'D', b'X', b'T', b'4'), - D3DFMT_DXT5 = MAKEFOURCC!(b'D', b'X', b'T', b'5'), - D3DFMT_D16_LOCKABLE = 70, - D3DFMT_D32 = 71, - D3DFMT_D15S1 = 73, - D3DFMT_D24S8 = 75, - D3DFMT_D24X8 = 77, - D3DFMT_D24X4S4 = 79, - D3DFMT_D16 = 80, - D3DFMT_D32F_LOCKABLE = 82, - D3DFMT_D24FS8 = 83, - D3DFMT_D32_LOCKABLE = 84, - D3DFMT_S8_LOCKABLE = 85, - D3DFMT_L16 = 81, - D3DFMT_VERTEXDATA = 100, - D3DFMT_INDEX16 = 101, - D3DFMT_INDEX32 = 102, - D3DFMT_Q16W16V16U16 = 110, - D3DFMT_MULTI2_ARGB8 = MAKEFOURCC!(b'M', b'E', b'T', b'1'), - D3DFMT_R16F = 111, - D3DFMT_G16R16F = 112, - D3DFMT_A16B16G16R16F = 113, - D3DFMT_R32F = 114, - D3DFMT_G32R32F = 115, - D3DFMT_A32B32G32R32F = 116, - D3DFMT_CxV8U8 = 117, - D3DFMT_A1 = 118, - D3DFMT_A2B10G10R10_XR_BIAS = 119, - D3DFMT_BINARYBUFFER = 199, -}} -STRUCT!{struct D3DDISPLAYMODE { - Width: UINT, - Height: UINT, - RefreshRate: UINT, - Format: D3DFORMAT, -}} -STRUCT!{struct D3DDEVICE_CREATION_PARAMETERS { - AdapterOrdinal: UINT, - DeviceType: D3DDEVTYPE, - hFocusWindow: HWND, - BehaviorFlags: DWORD, -}} -ENUM!{enum D3DSWAPEFFECT { - D3DSWAPEFFECT_DISCARD = 1, - D3DSWAPEFFECT_FLIP = 2, - D3DSWAPEFFECT_COPY = 3, - D3DSWAPEFFECT_OVERLAY = 4, - D3DSWAPEFFECT_FLIPEX = 5, -}} -ENUM!{enum D3DPOOL { - D3DPOOL_DEFAULT = 0, - D3DPOOL_MANAGED = 1, - D3DPOOL_SYSTEMMEM = 2, - D3DPOOL_SCRATCH = 3, -}} -pub const D3DPRESENT_RATE_DEFAULT: DWORD = 0x00000000; -STRUCT!{struct D3DPRESENT_PARAMETERS { - BackBufferWidth: UINT, - BackBufferHeight: UINT, - BackBufferFormat: D3DFORMAT, - BackBufferCount: UINT, - MultiSampleType: D3DMULTISAMPLE_TYPE, - MultiSampleQuality: DWORD, - SwapEffect: D3DSWAPEFFECT, - hDeviceWindow: HWND, - Windowed: BOOL, - EnableAutoDepthStencil: BOOL, - AutoDepthStencilFormat: D3DFORMAT, - Flags: DWORD, - FullScreen_RefreshRateInHz: UINT, - PresentationInterval: UINT, -}} -pub const D3DPRESENTFLAG_LOCKABLE_BACKBUFFER: DWORD = 0x00000001; -pub const D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL: DWORD = 0x00000002; -pub const D3DPRESENTFLAG_DEVICECLIP: DWORD = 0x00000004; -pub const D3DPRESENTFLAG_VIDEO: DWORD = 0x00000010; -pub const D3DPRESENTFLAG_NOAUTOROTATE: DWORD = 0x00000020; -pub const D3DPRESENTFLAG_UNPRUNEDMODE: DWORD = 0x00000040; -pub const D3DPRESENTFLAG_OVERLAY_LIMITEDRGB: DWORD = 0x00000080; -pub const D3DPRESENTFLAG_OVERLAY_YCbCr_BT709: DWORD = 0x00000100; -pub const D3DPRESENTFLAG_OVERLAY_YCbCr_xvYCC: DWORD = 0x00000200; -pub const D3DPRESENTFLAG_RESTRICTED_CONTENT: DWORD = 0x00000400; -pub const D3DPRESENTFLAG_RESTRICT_SHARED_RESOURCE_DRIVER: DWORD = 0x00000800; -STRUCT!{struct D3DGAMMARAMP { - red: [WORD; 256], - green: [WORD; 256], - blue: [WORD; 256], -}} -ENUM!{enum D3DBACKBUFFER_TYPE { - D3DBACKBUFFER_TYPE_MONO = 0, - D3DBACKBUFFER_TYPE_LEFT = 1, - D3DBACKBUFFER_TYPE_RIGHT = 2, -}} -ENUM!{enum D3DRESOURCETYPE { - D3DRTYPE_SURFACE = 1, - D3DRTYPE_VOLUME = 2, - D3DRTYPE_TEXTURE = 3, - D3DRTYPE_VOLUMETEXTURE = 4, - D3DRTYPE_CUBETEXTURE = 5, - D3DRTYPE_VERTEXBUFFER = 6, - D3DRTYPE_INDEXBUFFER = 7, -}} -pub const D3DUSAGE_RENDERTARGET: DWORD = 0x00000001; -pub const D3DUSAGE_DEPTHSTENCIL: DWORD = 0x00000002; -pub const D3DUSAGE_DYNAMIC: DWORD = 0x00000200; -pub const D3DUSAGE_NONSECURE: DWORD = 0x00800000; -pub const D3DUSAGE_AUTOGENMIPMAP: DWORD = 0x00000400; -pub const D3DUSAGE_DMAP: DWORD = 0x00004000; -pub const D3DUSAGE_QUERY_LEGACYBUMPMAP: DWORD = 0x00008000; -pub const D3DUSAGE_QUERY_SRGBREAD: DWORD = 0x00010000; -pub const D3DUSAGE_QUERY_FILTER: DWORD = 0x00020000; -pub const D3DUSAGE_QUERY_SRGBWRITE: DWORD = 0x00040000; -pub const D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING: DWORD = 0x00080000; -pub const D3DUSAGE_QUERY_VERTEXTEXTURE: DWORD = 0x00100000; -pub const D3DUSAGE_QUERY_WRAPANDMIP: DWORD = 0x00200000; -pub const D3DUSAGE_WRITEONLY: DWORD = 0x00000008; -pub const D3DUSAGE_SOFTWAREPROCESSING: DWORD = 0x00000010; -pub const D3DUSAGE_DONOTCLIP: DWORD = 0x00000020; -pub const D3DUSAGE_POINTS: DWORD = 0x00000040; -pub const D3DUSAGE_RTPATCHES: DWORD = 0x00000080; -pub const D3DUSAGE_NPATCHES: DWORD = 0x00000100; -pub const D3DUSAGE_TEXTAPI: DWORD = 0x10000000; -pub const D3DUSAGE_RESTRICTED_CONTENT: DWORD = 0x00000800; -pub const D3DUSAGE_RESTRICT_SHARED_RESOURCE: DWORD = 0x00002000; -pub const D3DUSAGE_RESTRICT_SHARED_RESOURCE_DRIVER: DWORD = 0x00001000; -ENUM!{enum D3DCUBEMAP_FACES { - D3DCUBEMAP_FACE_POSITIVE_X = 0, - D3DCUBEMAP_FACE_NEGATIVE_X = 1, - D3DCUBEMAP_FACE_POSITIVE_Y = 2, - D3DCUBEMAP_FACE_NEGATIVE_Y = 3, - D3DCUBEMAP_FACE_POSITIVE_Z = 4, - D3DCUBEMAP_FACE_NEGATIVE_Z = 5, -}} -pub const D3DLOCK_READONLY: DWORD = 0x00000010; -pub const D3DLOCK_DISCARD: DWORD = 0x00002000; -pub const D3DLOCK_NOOVERWRITE: DWORD = 0x00001000; -pub const D3DLOCK_NOSYSLOCK: DWORD = 0x00000800; -pub const D3DLOCK_DONOTWAIT: DWORD = 0x00004000; -pub const D3DLOCK_NO_DIRTY_UPDATE: DWORD = 0x00008000; -STRUCT!{struct D3DVERTEXBUFFER_DESC { - Format: D3DFORMAT, - Type: D3DRESOURCETYPE, - Usage: DWORD, - Pool: D3DPOOL, - Size: UINT, - FVF: DWORD, -}} -STRUCT!{struct D3DINDEXBUFFER_DESC { - Format: D3DFORMAT, - Type: D3DRESOURCETYPE, - Usage: DWORD, - Pool: D3DPOOL, - Size: UINT, -}} -STRUCT!{struct D3DSURFACE_DESC { - Format: D3DFORMAT, - Type: D3DRESOURCETYPE, - Usage: DWORD, - Pool: D3DPOOL, - MultiSampleType: D3DMULTISAMPLE_TYPE, - MultiSampleQuality: DWORD, - Width: UINT, - Height: UINT, -}} -STRUCT!{struct D3DVOLUME_DESC { - Format: D3DFORMAT, - Type: D3DRESOURCETYPE, - Usage: DWORD, - Pool: D3DPOOL, - Width: UINT, - Height: UINT, - Depth: UINT, -}} -STRUCT!{struct D3DLOCKED_RECT { - Pitch: INT, - pBits: *mut c_void, -}} -STRUCT!{struct D3DBOX { - Left: UINT, - Top: UINT, - Right: UINT, - Bottom: UINT, - Front: UINT, - Back: UINT, -}} -STRUCT!{struct D3DLOCKED_BOX { - RowPitch: INT, - SlicePitch: INT, - pBits: *mut c_void, -}} -STRUCT!{struct D3DRANGE { - Offset: UINT, - Size: UINT, -}} -STRUCT!{struct D3DRECTPATCH_INFO { - StartVertexOffsetWidth: UINT, - StartVertexOffsetHeight: UINT, - Width: UINT, - Height: UINT, - Stride: UINT, - Basis: D3DBASISTYPE, - Degree: D3DDEGREETYPE, -}} -STRUCT!{struct D3DTRIPATCH_INFO { - StartVertexOffset: UINT, - NumVertices: UINT, - Basis: D3DBASISTYPE, - Degree: D3DDEGREETYPE, -}} -pub const MAX_DEVICE_IDENTIFIER_STRING: usize = 512; -// FIXME packed(4) -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct D3DADAPTER_IDENTIFIER9 { - Driver: [c_char; MAX_DEVICE_IDENTIFIER_STRING], - Description: [c_char; MAX_DEVICE_IDENTIFIER_STRING], - DeviceName: [c_char; 32], - DriverVersion: LARGE_INTEGER, - VendorId: DWORD, - DeviceId: DWORD, - SubSysId: DWORD, - Revision: DWORD, - DeviceIdentifier: GUID, - WHQLLevel: DWORD, -}} -STRUCT!{struct D3DRASTER_STATUS { - InVBlank: BOOL, - ScanLine: UINT, -}} -ENUM!{enum D3DDEBUGMONITORTOKENS { - D3DDMT_ENABLE = 0, - D3DDMT_DISABLE = 1, -}} -ENUM!{enum D3DQUERYTYPE { - D3DQUERYTYPE_VCACHE = 4, - D3DQUERYTYPE_RESOURCEMANAGER = 5, - D3DQUERYTYPE_VERTEXSTATS = 6, - D3DQUERYTYPE_EVENT = 8, - D3DQUERYTYPE_OCCLUSION = 9, - D3DQUERYTYPE_TIMESTAMP = 10, - D3DQUERYTYPE_TIMESTAMPDISJOINT = 11, - D3DQUERYTYPE_TIMESTAMPFREQ = 12, - D3DQUERYTYPE_PIPELINETIMINGS = 13, - D3DQUERYTYPE_INTERFACETIMINGS = 14, - D3DQUERYTYPE_VERTEXTIMINGS = 15, - D3DQUERYTYPE_PIXELTIMINGS = 16, - D3DQUERYTYPE_BANDWIDTHTIMINGS = 17, - D3DQUERYTYPE_CACHEUTILIZATION = 18, - D3DQUERYTYPE_MEMORYPRESSURE = 19, -}} -pub const D3DISSUE_END: DWORD = 1 << 0; -pub const D3DISSUE_BEGIN: DWORD = 1 << 1; -pub const D3DGETDATA_FLUSH: DWORD = 1 << 0; -STRUCT!{struct D3DRESOURCESTATS { - bThrashing: BOOL, - ApproxBytesDownloaded: DWORD, - NumEvicts: DWORD, - NumVidCreates: DWORD, - LastPri: DWORD, - NumUsed: DWORD, - NumUsedInVidMem: DWORD, - WorkingSet: DWORD, - WorkingSetBytes: DWORD, - TotalManaged: DWORD, - TotalBytes: DWORD, -}} -pub const D3DRTYPECOUNT: usize = D3DRTYPE_INDEXBUFFER as usize + 1; -STRUCT!{struct D3DDEVINFO_RESOURCEMANAGER { - stats: [D3DRESOURCESTATS; D3DRTYPECOUNT], -}} -pub type LPD3DDEVINFO_RESOURCEMANAGER = *mut D3DDEVINFO_RESOURCEMANAGER; -STRUCT!{struct D3DDEVINFO_D3DVERTEXSTATS { - NumRenderedTriangles: DWORD, - NumExtraClippingTriangles: DWORD, -}} -pub type LPD3DDEVINFO_D3DVERTEXSTATS = *mut D3DDEVINFO_D3DVERTEXSTATS; -STRUCT!{struct D3DDEVINFO_VCACHE { - Pattern: DWORD, - OptMethod: DWORD, - CacheSize: DWORD, - MagicNumber: DWORD, -}} -pub type LPD3DDEVINFO_VCACHE = *mut D3DDEVINFO_VCACHE; -STRUCT!{struct D3DDEVINFO_D3D9PIPELINETIMINGS { - VertexProcessingTimePercent: FLOAT, - PixelProcessingTimePercent: FLOAT, - OtherGPUProcessingTimePercent: FLOAT, - GPUIdleTimePercent: FLOAT, -}} -STRUCT!{struct D3DDEVINFO_D3D9INTERFACETIMINGS { - WaitingForGPUToUseApplicationResourceTimePercent: FLOAT, - WaitingForGPUToAcceptMoreCommandsTimePercent: FLOAT, - WaitingForGPUToStayWithinLatencyTimePercent: FLOAT, - WaitingForGPUExclusiveResourceTimePercent: FLOAT, - WaitingForGPUOtherTimePercent: FLOAT, -}} -STRUCT!{struct D3DDEVINFO_D3D9STAGETIMINGS { - MemoryProcessingPercent: FLOAT, - ComputationProcessingPercent: FLOAT, -}} -STRUCT!{struct D3DDEVINFO_D3D9BANDWIDTHTIMINGS { - MaxBandwidthUtilized: FLOAT, - FrontEndUploadMemoryUtilizedPercent: FLOAT, - VertexRateUtilizedPercent: FLOAT, - TriangleSetupRateUtilizedPercent: FLOAT, - FillRateUtilizedPercent: FLOAT, -}} -STRUCT!{struct D3DDEVINFO_D3D9CACHEUTILIZATION { - TextureCacheHitRate: FLOAT, - PostTransformVertexCacheHitRate: FLOAT, -}} -// FIXME packed(4) -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct D3DMEMORYPRESSURE { - BytesEvictedFromProcess: UINT64, - SizeOfInefficientAllocation: UINT64, - LevelOfEfficiency: DWORD, -}} -ENUM!{enum D3DCOMPOSERECTSOP { - D3DCOMPOSERECTS_COPY = 1, - D3DCOMPOSERECTS_OR = 2, - D3DCOMPOSERECTS_AND = 3, - D3DCOMPOSERECTS_NEG = 4, -}} -STRUCT!{struct D3DCOMPOSERECTDESC { - X: USHORT, - Y: USHORT, - Width: USHORT, - Height: USHORT, -}} -STRUCT!{struct D3DCOMPOSERECTDESTINATION { - SrcRectIndex: USHORT, - Reserved: USHORT, - X: SHORT, - Y: SHORT, -}} -pub const D3DCOMPOSERECTS_MAXNUMRECTS: DWORD = 0xFFFF; -pub const D3DCONVOLUTIONMONO_MAXWIDTH: DWORD = 7; -pub const D3DCONVOLUTIONMONO_MAXHEIGHT: DWORD = D3DCONVOLUTIONMONO_MAXWIDTH; -pub const D3DFMT_A1_SURFACE_MAXWIDTH: DWORD = 8192; -pub const D3DFMT_A1_SURFACE_MAXHEIGHT: DWORD = 2048; -// FIXME packed(4) -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct D3DPRESENTSTATS { - PresentCount: UINT, - PresentRefreshCount: UINT, - SyncRefreshCount: UINT, - SyncQPCTime: LARGE_INTEGER, - SyncGPUTime: LARGE_INTEGER, -}} -ENUM!{enum D3DSCANLINEORDERING { - D3DSCANLINEORDERING_UNKNOWN = 0, - D3DSCANLINEORDERING_PROGRESSIVE = 1, - D3DSCANLINEORDERING_INTERLACED = 2, -}} -STRUCT!{struct D3DDISPLAYMODEEX { - Size: UINT, - Width: UINT, - Height: UINT, - RefreshRate: UINT, - Format: D3DFORMAT, - ScanLineOrdering: D3DSCANLINEORDERING, -}} -STRUCT!{struct D3DDISPLAYMODEFILTER { - Size: UINT, - Format: D3DFORMAT, - ScanLineOrdering: D3DSCANLINEORDERING, -}} -ENUM!{enum D3DDISPLAYROTATION { - D3DDISPLAYROTATION_IDENTITY = 1, - D3DDISPLAYROTATION_90 = 2, - D3DDISPLAYROTATION_180 = 3, - D3DDISPLAYROTATION_270 = 4, -}} -pub const D3D9_RESOURCE_PRIORITY_MINIMUM: DWORD = 0x28000000; -pub const D3D9_RESOURCE_PRIORITY_LOW: DWORD = 0x50000000; -pub const D3D9_RESOURCE_PRIORITY_NORMAL: DWORD = 0x78000000; -pub const D3D9_RESOURCE_PRIORITY_HIGH: DWORD = 0xa0000000; -pub const D3D9_RESOURCE_PRIORITY_MAXIMUM: DWORD = 0xc8000000; -pub const D3D_OMAC_SIZE: usize = 16; -STRUCT!{struct D3D_OMAC { - Omac: [BYTE; D3D_OMAC_SIZE], -}} -ENUM!{enum D3DAUTHENTICATEDCHANNELTYPE { - D3DAUTHENTICATEDCHANNEL_D3D9 = 1, - D3DAUTHENTICATEDCHANNEL_DRIVER_SOFTWARE = 2, - D3DAUTHENTICATEDCHANNEL_DRIVER_HARDWARE = 3, -}} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERY_INPUT { - QueryType: GUID, - hChannel: HANDLE, - SequenceNumber: UINT, -}} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT { - omac: D3D_OMAC, - QueryType: GUID, - hChannel: HANDLE, - SequenceNumber: UINT, - ReturnCode: HRESULT, -}} -DEFINE_GUID!{D3DAUTHENTICATEDQUERY_PROTECTION, - 0xa84eb584, 0xc495, 0x48aa, 0xb9, 0x4d, 0x8b, 0xd2, 0xd6, 0xfb, 0xce, 0x5} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_PROTECTION_FLAGS { - Value: UINT, -}} -BITFIELD!{D3DAUTHENTICATEDCHANNEL_PROTECTION_FLAGS Value: UINT [ - ProtectionEnabled set_ProtectionEnabled[0..1], - OverlayOrFullscreenRequired set_OverlayOrFullscreenRequired[1..2], -]} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYPROTECTION_OUTPUT { - Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, - ProtectionFlags: D3DAUTHENTICATEDCHANNEL_PROTECTION_FLAGS, -}} -DEFINE_GUID!{D3DAUTHENTICATEDQUERY_CHANNELTYPE, - 0xbc1b18a5, 0xb1fb, 0x42ab, 0xbd, 0x94, 0xb5, 0x82, 0x8b, 0x4b, 0xf7, 0xbe} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYCHANNELTYPE_OUTPUT { - Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, - ChannelType: D3DAUTHENTICATEDCHANNELTYPE, -}} -DEFINE_GUID!{D3DAUTHENTICATEDQUERY_DEVICEHANDLE, - 0xec1c539d, 0x8cff, 0x4e2a, 0xbc, 0xc4, 0xf5, 0x69, 0x2f, 0x99, 0xf4, 0x80} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYDEVICEHANDLE_OUTPUT { - Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, - DeviceHandle: HANDLE, -}} -DEFINE_GUID!{D3DAUTHENTICATEDQUERY_CRYPTOSESSION, - 0x2634499e, 0xd018, 0x4d74, 0xac, 0x17, 0x7f, 0x72, 0x40, 0x59, 0x52, 0x8d} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYCRYPTOSESSION_INPUT { - Input: D3DAUTHENTICATEDCHANNEL_QUERY_INPUT, - DXVA2DecodeHandle: HANDLE, -}} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYCRYPTOSESSION_OUTPUT { - Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, - DXVA2DecodeHandle: HANDLE, - CryptoSessionHandle: HANDLE, - DeviceHandle: HANDLE, -}} -DEFINE_GUID!{D3DAUTHENTICATEDQUERY_RESTRICTEDSHAREDRESOURCEPROCESSCOUNT, - 0xdb207b3, 0x9450, 0x46a6, 0x82, 0xde, 0x1b, 0x96, 0xd4, 0x4f, 0x9c, 0xf2} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYRESTRICTEDSHAREDRESOURCEPROCESSCOUNT_OUTPUT { - Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, - NumRestrictedSharedResourceProcesses: UINT, -}} -DEFINE_GUID!{D3DAUTHENTICATEDQUERY_RESTRICTEDSHAREDRESOURCEPROCESS, - 0x649bbadb, 0xf0f4, 0x4639, 0xa1, 0x5b, 0x24, 0x39, 0x3f, 0xc3, 0xab, 0xac} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYRESTRICTEDSHAREDRESOURCEPROCESS_INPUT { - Input: D3DAUTHENTICATEDCHANNEL_QUERY_INPUT, - ProcessIndex: UINT, -}} -ENUM!{enum D3DAUTHENTICATEDCHANNEL_PROCESSIDENTIFIERTYPE { - PROCESSIDTYPE_UNKNOWN = 0, - PROCESSIDTYPE_DWM = 1, - PROCESSIDTYPE_HANDLE = 2, -}} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYRESTRICTEDSHAREDRESOURCEPROCESS_OUTPUT { - Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, - ProcessIndex: UINT, - ProcessIdentifer: D3DAUTHENTICATEDCHANNEL_PROCESSIDENTIFIERTYPE, - ProcessHandle: HANDLE, -}} -DEFINE_GUID!{D3DAUTHENTICATEDQUERY_UNRESTRICTEDPROTECTEDSHAREDRESOURCECOUNT, - 0x12f0bd6, 0xe662, 0x4474, 0xbe, 0xfd, 0xaa, 0x53, 0xe5, 0x14, 0x3c, 0x6d} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYUNRESTRICTEDPROTECTEDSHAREDRESOURCECOUNT_OUTPUT { - Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, - NumUnrestrictedProtectedSharedResources: UINT, -}} -DEFINE_GUID!{D3DAUTHENTICATEDQUERY_OUTPUTIDCOUNT, - 0x2c042b5e, 0x8c07, 0x46d5, 0xaa, 0xbe, 0x8f, 0x75, 0xcb, 0xad, 0x4c, 0x31} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTIDCOUNT_INPUT { - Input: D3DAUTHENTICATEDCHANNEL_QUERY_INPUT, - DeviceHandle: HANDLE, - CryptoSessionHandle: HANDLE, -}} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTIDCOUNT_OUTPUT { - Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, - DeviceHandle: HANDLE, - CryptoSessionHandle: HANDLE, - NumOutputIDs: UINT, -}} -DEFINE_GUID!{D3DAUTHENTICATEDQUERY_OUTPUTID, - 0x839ddca3, 0x9b4e, 0x41e4, 0xb0, 0x53, 0x89, 0x2b, 0xd2, 0xa1, 0x1e, 0xe7} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTID_INPUT { - Input: D3DAUTHENTICATEDCHANNEL_QUERY_INPUT, - DeviceHandle: HANDLE, - CryptoSessionHandle: HANDLE, - OutputIDIndex: UINT, -}} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTID_OUTPUT { - Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, - DeviceHandle: HANDLE, - CryptoSessionHandle: HANDLE, - OutputIDIndex: UINT, - OutputID: UINT64, -}} -DEFINE_GUID!{D3DAUTHENTICATEDQUERY_ACCESSIBILITYATTRIBUTES, - 0x6214d9d2, 0x432c, 0x4abb, 0x9f, 0xce, 0x21, 0x6e, 0xea, 0x26, 0x9e, 0x3b} -ENUM!{enum D3DBUSTYPE { - D3DBUSTYPE_OTHER = 0x00000000, - D3DBUSTYPE_PCI = 0x00000001, - D3DBUSTYPE_PCIX = 0x00000002, - D3DBUSTYPE_PCIEXPRESS = 0x00000003, - D3DBUSTYPE_AGP = 0x00000004, - D3DBUSIMPL_MODIFIER_INSIDE_OF_CHIPSET = 0x00010000, - MD3DBUSIMPL_ODIFIER_TRACKS_ON_MOTHER_BOARD_TO_CHIP = 0x00020000, - D3DBUSIMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_SOCKET = 0x00030000, - D3DBUSIMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR = 0x00040000, - D3DBUSIMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR_INSIDE_OF_NUAE = 0x00050000, - D3DBUSIMPL_MODIFIER_NON_STANDARD = 0x80000000, -}} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYINFOBUSTYPE_OUTPUT { - Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, - BusType: D3DBUSTYPE, - bAccessibleInContiguousBlocks: BOOL, - bAccessibleInNonContiguousBlocks: BOOL, -}} -DEFINE_GUID!{D3DAUTHENTICATEDQUERY_ENCRYPTIONWHENACCESSIBLEGUIDCOUNT, - 0xb30f7066, 0x203c, 0x4b07, 0x93, 0xfc, 0xce, 0xaa, 0xfd, 0x61, 0x24, 0x1e} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYEVICTIONENCRYPTIONGUIDCOUNT_OUTPUT { - Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, - NumEncryptionGuids: UINT, -}} -DEFINE_GUID!{D3DAUTHENTICATEDQUERY_ENCRYPTIONWHENACCESSIBLEGUID, - 0xf83a5958, 0xe986, 0x4bda, 0xbe, 0xb0, 0x41, 0x1f, 0x6a, 0x7a, 0x1, 0xb7} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYEVICTIONENCRYPTIONGUID_INPUT { - Input: D3DAUTHENTICATEDCHANNEL_QUERY_INPUT, - EncryptionGuidIndex: UINT, -}} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYEVICTIONENCRYPTIONGUID_OUTPUT { - Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, - EncryptionGuidIndex: UINT, - EncryptionGuid: GUID, -}} -DEFINE_GUID!{D3DAUTHENTICATEDQUERY_CURRENTENCRYPTIONWHENACCESSIBLE, - 0xec1791c7, 0xdad3, 0x4f15, 0x9e, 0xc3, 0xfa, 0xa9, 0x3d, 0x60, 0xd4, 0xf0} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYUNCOMPRESSEDENCRYPTIONLEVEL_OUTPUT { - Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, - EncryptionGuid: GUID, -}} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT { - omac: D3D_OMAC, - ConfigureType: GUID, - hChannel: HANDLE, - SequenceNumber: UINT, -}} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_CONFIGURE_OUTPUT { - omac: D3D_OMAC, - ConfigureType: GUID, - hChannel: HANDLE, - SequenceNumber: UINT, - ReturnCode: HRESULT, -}} -DEFINE_GUID!{D3DAUTHENTICATEDCONFIGURE_INITIALIZE, - 0x6114bdb, 0x3523, 0x470a, 0x8d, 0xca, 0xfb, 0xc2, 0x84, 0x51, 0x54, 0xf0} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_CONFIGUREINITIALIZE { - Parameters: D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT, - StartSequenceQuery: UINT, - StartSequenceConfigure: UINT, -}} -DEFINE_GUID!{D3DAUTHENTICATEDCONFIGURE_PROTECTION, - 0x50455658, 0x3f47, 0x4362, 0xbf, 0x99, 0xbf, 0xdf, 0xcd, 0xe9, 0xed, 0x29} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_CONFIGUREPROTECTION { - Parameters: D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT, - Protections: D3DAUTHENTICATEDCHANNEL_PROTECTION_FLAGS, -}} -DEFINE_GUID!{D3DAUTHENTICATEDCONFIGURE_CRYPTOSESSION, - 0x6346cc54, 0x2cfc, 0x4ad4, 0x82, 0x24, 0xd1, 0x58, 0x37, 0xde, 0x77, 0x0} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_CONFIGURECRYPTOSESSION { - Parameters: D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT, - DXVA2DecodeHandle: HANDLE, - CryptoSessionHandle: HANDLE, - DeviceHandle: HANDLE, -}} -DEFINE_GUID!{D3DAUTHENTICATEDCONFIGURE_SHAREDRESOURCE, - 0x772d047, 0x1b40, 0x48e8, 0x9c, 0xa6, 0xb5, 0xf5, 0x10, 0xde, 0x9f, 0x1} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_CONFIGURESHAREDRESOURCE { - Parameters: D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT, - ProcessIdentiferType: D3DAUTHENTICATEDCHANNEL_PROCESSIDENTIFIERTYPE, - ProcessHandle: HANDLE, - AllowAccess: BOOL, -}} -DEFINE_GUID!{D3DAUTHENTICATEDCONFIGURE_ENCRYPTIONWHENACCESSIBLE, - 0x41fff286, 0x6ae0, 0x4d43, 0x9d, 0x55, 0xa4, 0x6e, 0x9e, 0xfd, 0x15, 0x8a} -STRUCT!{struct D3DAUTHENTICATEDCHANNEL_CONFIGUREUNCOMPRESSEDENCRYPTION { - Parameters: D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT, - EncryptionGuid: GUID, -}} -STRUCT!{struct D3DENCRYPTED_BLOCK_INFO { - NumEncryptedBytesAtBeginning: UINT, - NumBytesInSkipPattern: UINT, - NumBytesInEncryptPattern: UINT, -}} -STRUCT!{struct D3DAES_CTR_IV { - IV: UINT64, - Count: UINT64, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/d3dkmdt.rs b/vendor/registry-40351f815f426200/winapi/src/shared/d3dkmdt.rs deleted file mode 100644 index 89d574f12..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/d3dkmdt.rs +++ /dev/null @@ -1,45 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Longhorn Display Driver Model (LDDM) kernel mode data type definitions -use shared::basetsd::UINT32; -use shared::minwindef::UINT; -use shared::ntdef::{BOOLEAN, WCHAR}; -//1932 -pub const DXGK_MAX_METADATA_NAME_LENGTH: usize = 32; -ENUM!{enum DXGK_ENGINE_TYPE { - DXGK_ENGINE_TYPE_OTHER, - DXGK_ENGINE_TYPE_3D, - DXGK_ENGINE_TYPE_VIDEO_DECODE, - DXGK_ENGINE_TYPE_VIDEO_ENCODE, - DXGK_ENGINE_TYPE_VIDEO_PROCESSING, - DXGK_ENGINE_TYPE_SCENE_ASSEMBLY, - DXGK_ENGINE_TYPE_COPY, - DXGK_ENGINE_TYPE_OVERLAY, - DXGK_ENGINE_TYPE_CRYPTO, - DXGK_ENGINE_TYPE_MAX, -}} -STRUCT!{#[repr(packed)] struct DXGK_NODEMETADATA_FLAGS { - Value: UINT32, -}} -BITFIELD!{DXGK_NODEMETADATA_FLAGS Value: UINT32 [ - ContextSchedulingSupported set_ContextSchedulingSupported[0..1], - RingBufferFenceRelease set_RingBufferFenceRelease[1..2], - SupportTrackedWorkload set_SupportTrackedWorkload[2..3], - Reserved set_Reserved[3..16], - MaxInFlightHwQueueBuffers set_MaxInFlightHwQueueBuffers[16..32], -]} -STRUCT!{#[repr(packed)] struct DXGK_NODEMETADATA { - EngineType: DXGK_ENGINE_TYPE, - FriendlyName: [WCHAR; DXGK_MAX_METADATA_NAME_LENGTH], - Flags: DXGK_NODEMETADATA_FLAGS, - GpuMmuSupported: BOOLEAN, - IoMmuSupported: BOOLEAN, -}} -//2100 -STRUCT!{#[repr(packed)] struct D3DKMT_NODEMETADATA { - NodeOrdinalAndAdapterIndex: UINT, - NodeData: DXGK_NODEMETADATA, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/d3dukmdt.rs b/vendor/registry-40351f815f426200/winapi/src/shared/d3dukmdt.rs deleted file mode 100644 index 16a34d1a1..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/d3dukmdt.rs +++ /dev/null @@ -1,416 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Longhorn Display Driver Model (LDDM) user/kernel mode shared data type definitions. -use shared::basetsd::{UINT64, ULONG_PTR}; -use shared::guiddef::GUID; -use shared::minwindef::{BOOL, UINT, ULONG}; -use shared::ntdef::{HANDLE, LUID, ULONGLONG, VOID}; -pub const DXGKDDI_INTERFACE_VERSION_VISTA: ULONG = 0x1052; -pub const DXGKDDI_INTERFACE_VERSION_VISTA_SP1: ULONG = 0x1053; -pub const DXGKDDI_INTERFACE_VERSION_WIN7: ULONG = 0x2005; -pub const DXGKDDI_INTERFACE_VERSION_WIN8: ULONG = 0x300E; -pub const DXGKDDI_INTERFACE_VERSION_WDDM1_3: ULONG = 0x4002; -pub const DXGKDDI_INTERFACE_VERSION_WDDM1_3_PATH_INDEPENDENT_ROTATION: ULONG = 0x4003; -pub const DXGKDDI_INTERFACE_VERSION_WDDM2_0: ULONG = 0x5023; -pub const DXGKDDI_INTERFACE_VERSION_WDDM2_1: ULONG = 0x6003; -pub const DXGKDDI_INTERFACE_VERSION_WDDM2_1_5: ULONG = 0x6010; -pub const DXGKDDI_INTERFACE_VERSION_WDDM2_2: ULONG = 0x700A; -pub const DXGKDDI_INTERFACE_VERSION_WDDM2_3: ULONG = 0x8001; -pub const DXGKDDI_INTERFACE_VERSION_WDDM2_4: ULONG = 0x9006; -pub const DXGKDDI_INTERFACE_VERSION_WDDM2_5: ULONG = 0xA00B; -#[inline] -pub fn IS_OFFICIAL_DDI_INTERFACE_VERSION(version: ULONG) -> bool { - (version == DXGKDDI_INTERFACE_VERSION_VISTA) || - (version == DXGKDDI_INTERFACE_VERSION_VISTA_SP1) || - (version == DXGKDDI_INTERFACE_VERSION_WIN7) || - (version == DXGKDDI_INTERFACE_VERSION_WIN8) || - (version == DXGKDDI_INTERFACE_VERSION_WDDM1_3) || - (version == DXGKDDI_INTERFACE_VERSION_WDDM1_3_PATH_INDEPENDENT_ROTATION) || - (version == DXGKDDI_INTERFACE_VERSION_WDDM2_0) || - (version == DXGKDDI_INTERFACE_VERSION_WDDM2_1) || - (version == DXGKDDI_INTERFACE_VERSION_WDDM2_1_5) || - (version == DXGKDDI_INTERFACE_VERSION_WDDM2_2) || - (version == DXGKDDI_INTERFACE_VERSION_WDDM2_3) || - (version == DXGKDDI_INTERFACE_VERSION_WDDM2_4) || - (version == DXGKDDI_INTERFACE_VERSION_WDDM2_5) -} -pub const DXGKDDI_INTERFACE_VERSION: ULONG = DXGKDDI_INTERFACE_VERSION_WDDM2_5; -pub const D3D_UMD_INTERFACE_VERSION_VISTA: ULONG = 0x000C; -pub const D3D_UMD_INTERFACE_VERSION_WIN7: ULONG = 0x2003; -pub const D3D_UMD_INTERFACE_VERSION_WIN8_M3: ULONG = 0x3001; -pub const D3D_UMD_INTERFACE_VERSION_WIN8_CP: ULONG = 0x3002; -pub const D3D_UMD_INTERFACE_VERSION_WIN8_RC: ULONG = 0x3003; -pub const D3D_UMD_INTERFACE_VERSION_WIN8: ULONG = 0x3004; -pub const D3D_UMD_INTERFACE_VERSION_WDDM1_3: ULONG = 0x4002; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_0_M1: ULONG = 0x5000; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_0_M1_3: ULONG = 0x5001; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_0_M2_2: ULONG = 0x5002; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_0: ULONG = 0x5002; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_1_1: ULONG = 0x6000; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_1_2: ULONG = 0x6001; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_1_3: ULONG = 0x6002; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_1_4: ULONG = 0x6003; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_1: ULONG = D3D_UMD_INTERFACE_VERSION_WDDM2_1_4; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_2_1: ULONG = 0x7000; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_2_2: ULONG = 0x7001; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_2: ULONG = D3D_UMD_INTERFACE_VERSION_WDDM2_2_2; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_3_1: ULONG = 0x8000; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_3_2: ULONG = 0x8001; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_3: ULONG = D3D_UMD_INTERFACE_VERSION_WDDM2_3_2; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_4_1: ULONG = 0x9000; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_4_2: ULONG = 0x9001; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_4: ULONG = D3D_UMD_INTERFACE_VERSION_WDDM2_4_2; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_5_1: ULONG = 0xA000; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_5_2: ULONG = 0xA001; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_5_3: ULONG = 0xA002; -pub const D3D_UMD_INTERFACE_VERSION_WDDM2_5: ULONG = D3D_UMD_INTERFACE_VERSION_WDDM2_5_3; -pub const D3D_UMD_INTERFACE_VERSION: ULONG = D3D_UMD_INTERFACE_VERSION_WDDM2_5; -pub type D3DGPU_VIRTUAL_ADDRESS = ULONGLONG; -pub type D3DGPU_SIZE_T = ULONGLONG; -pub const D3DGPU_UNIQUE_DRIVER_PROTECTION: ULONGLONG = 0x8000000000000000; -pub const DXGK_MAX_PAGE_TABLE_LEVEL_COUNT: UINT = 6; -pub const DXGK_MIN_PAGE_TABLE_LEVEL_COUNT: UINT = 2; -STRUCT!{struct GPUP_DRIVER_ESCAPE_INPUT { - vfLUID: LUID, -}} -pub type PGPUP_DRIVER_ESCAPE_INPUT = *mut GPUP_DRIVER_ESCAPE_INPUT; -ENUM!{enum DXGKVGPU_ESCAPE_TYPE { - DXGKVGPU_ESCAPE_TYPE_READ_PCI_CONFIG = 0, - DXGKVGPU_ESCAPE_TYPE_WRITE_PCI_CONFIG = 1, - DXGKVGPU_ESCAPE_TYPE_INITIALIZE = 2, - DXGKVGPU_ESCAPE_TYPE_RELEASE = 3, - DXGKVGPU_ESCAPE_TYPE_GET_VGPU_TYPE = 4, - DXGKVGPU_ESCAPE_TYPE_POWERTRANSITIONCOMPLETE = 5, -}} -STRUCT!{struct DXGKVGPU_ESCAPE_HEAD { - Luid: GPUP_DRIVER_ESCAPE_INPUT, - Type: DXGKVGPU_ESCAPE_TYPE, -}} -STRUCT!{struct DXGKVGPU_ESCAPE_READ_PCI_CONFIG { - Header: DXGKVGPU_ESCAPE_HEAD, - Offset: UINT, - Size: UINT, -}} -STRUCT!{struct DXGKVGPU_ESCAPE_WRITE_PCI_CONFIG { - Header: DXGKVGPU_ESCAPE_HEAD, - Offset: UINT, - Size: UINT, -}} -STRUCT!{struct DXGKVGPU_ESCAPE_READ_VGPU_TYPE { - Header: DXGKVGPU_ESCAPE_HEAD, -}} -STRUCT!{struct DXGKVGPU_ESCAPE_POWERTRANSITIONCOMPLETE { - Header: DXGKVGPU_ESCAPE_HEAD, - PowerState: UINT, -}} -STRUCT!{struct DXGKVGPU_ESCAPE_INITIALIZE { - Header: DXGKVGPU_ESCAPE_HEAD, - VmGuid: GUID, -}} -STRUCT!{struct DXGKVGPU_ESCAPE_RELEASE { - Header: DXGKVGPU_ESCAPE_HEAD, -}} -ENUM!{enum DXGK_PTE_PAGE_SIZE { - DXGK_PTE_PAGE_TABLE_PAGE_4KB = 0, - DXGK_PTE_PAGE_TABLE_PAGE_64KB = 1, -}} -UNION!{union DXGK_PTE_u { - [u64; 1], - PageAddress PageAddress_mut: ULONGLONG, - PageTableAddress PageTableAddress_mut: ULONGLONG, -}} -STRUCT!{struct DXGK_PTE { - Flags: ULONGLONG, - u: DXGK_PTE_u, -}} -BITFIELD!{DXGK_PTE Flags: ULONGLONG [ - Valid set_Valid[0..1], - Zero set_Zero[1..2], - CacheCoherent set_CacheCoherent[2..3], - ReadOnly set_ReadOnly[3..4], - NoExecute set_NoExecute[4..5], - Segment set_Segment[5..10], - LargePage set_LargePage[10..11], - PhysicalAdapterIndex set_PhysicalAdapterIndex[11..17], - PageTablePageSize set_PageTablePageSize[17..19], - SystemReserved0 set_SystemReserved0[19..20], - Reserved set_Reserved[20..64], -]} -pub const D3DGPU_NULL: D3DGPU_VIRTUAL_ADDRESS = 0; -pub const D3DDDI_MAX_WRITTEN_PRIMARIES: usize = 16; -pub const D3DDDI_MAX_MPO_PRESENT_DIRTY_RECTS: usize = 0xFFF; -STRUCT!{struct D3DGPU_PHYSICAL_ADDRESS { - SegmentId: UINT, - SegmentOffset: UINT64, -}} -pub type D3DDDI_VIDEO_PRESENT_SOURCE_ID = UINT; -pub type D3DDDI_VIDEO_PRESENT_TARGET_ID = UINT; -pub type D3DKMT_HANDLE = UINT; -STRUCT!{struct D3DDDI_RATIONAL { - Numerator: UINT, - Denominator: UINT, -}} -STRUCT!{struct D3DDDI_ALLOCATIONINFO { - hAllocation: D3DKMT_HANDLE, - pSystemMem: *const VOID, - pPrivateDriverData: *mut VOID, - PrivateDriverDataSize: UINT, - VidPnSourceId: D3DDDI_VIDEO_PRESENT_SOURCE_ID, - Flags: UINT, -}} -BITFIELD!{D3DDDI_ALLOCATIONINFO Flags: UINT [ - Primary set_Primary[0..1], - Stereo set_Stereo[1..2], - Reserved set_Reserved[2..32], -]} -UNION!{union D3DDDI_ALLOCATIONINFO2_u1 { - [usize; 1], - hSection hSection_mut: HANDLE, - pSystemMem pSystemMem_mut: *const VOID, -}} -UNION!{union D3DDDI_ALLOCATIONINFO2_u2 { - [usize; 1], - Priority Priority_mut: UINT, - Unused Unused_mut: ULONG_PTR, -}} -STRUCT!{struct D3DDDI_ALLOCATIONINFO2 { - hAllocation: D3DKMT_HANDLE, - u1: D3DDDI_ALLOCATIONINFO2_u1, - pPrivateDriverData: *mut VOID, - PrivateDriverDataSize: UINT, - VidPnSourceId: D3DDDI_VIDEO_PRESENT_SOURCE_ID, - Flags: UINT, - GpuVirtualAddress: D3DGPU_VIRTUAL_ADDRESS, - u2: D3DDDI_ALLOCATIONINFO2_u2, - Reserved: [ULONG_PTR; 5], -}} -BITFIELD!{D3DDDI_ALLOCATIONINFO2 Flags: UINT [ - Primary set_Primary[0..1], - Stereo set_Stereo[1..2], - OverridePriority set_OverridePriority[2..3], - Reserved set_Reserved[3..32], -]} -STRUCT!{struct D3DDDI_OPENALLOCATIONINFO { - hAllocation: D3DKMT_HANDLE, - pPrivateDriverData: *const VOID, - PrivateDriverDataSize: UINT, -}} -STRUCT!{struct D3DDDI_OPENALLOCATIONINFO2 { - hAllocation: D3DKMT_HANDLE, - pPrivateDriverData: *const VOID, - PrivateDriverDataSize: UINT, - GpuVirtualAddress: D3DGPU_VIRTUAL_ADDRESS, - Reserved: [ULONG_PTR; 6], -}} -ENUM!{enum D3DDDI_OFFER_PRIORITY { - D3DDDI_OFFER_PRIORITY_NONE = 0, - D3DDDI_OFFER_PRIORITY_LOW = 1, - D3DDDI_OFFER_PRIORITY_NORMAL, - D3DDDI_OFFER_PRIORITY_HIGH, - D3DDDI_OFFER_PRIORITY_AUTO, -}} -STRUCT!{struct D3DDDI_ALLOCATIONLIST { - hAllocation: D3DKMT_HANDLE, - Value: UINT, -}} -BITFIELD!{D3DDDI_ALLOCATIONLIST Value: UINT [ - WriteOperation set_WriteOperation[0..1], - DoNotRetireInstance set_DoNotRetireInstance[1..2], - OfferPriority set_OfferPriority[2..5], - Reserved set_Reserved[5..32], -]} -STRUCT!{struct D3DDDI_PATCHLOCATIONLIST { - AllocationIndex: UINT, - Value: UINT, - DriverId: UINT, - AllocationOffset: UINT, - PatchOffset: UINT, - SplitOffset: UINT, -}} -BITFIELD!{D3DDDI_PATCHLOCATIONLIST Value: UINT [ - SlotId set_SlotId[0..24], - Reserved set_Reserved[24..32], -]} -STRUCT!{struct D3DDDICB_LOCKFLAGS { - Value: UINT, -}} -BITFIELD!{D3DDDICB_LOCKFLAGS Value: UINT [ - ReadOnly set_ReadOnly[0..1], - WriteOnly set_WriteOnly[1..2], - DonotWait set_DonotWait[2..3], - IgnoreSync set_IgnoreSync[3..4], - LockEntire set_LockEntire[4..5], - DonotEvict set_DonotEvict[5..6], - AcquireAperture set_AcquireAperture[6..7], - Discard set_Discard[7..8], - NoExistingReference set_NoExistingReference[8..9], - UseAlternateVA set_UseAlternateVA[9..10], - IgnoreReadSync set_IgnoreReadSync[10..11], - Reserved set_Reserved[11..32], -]} -STRUCT!{struct D3DDDICB_LOCK2FLAGS { - Value: UINT, -}} -BITFIELD!{D3DDDICB_LOCK2FLAGS Value: UINT [ - Reserved set_Reserved[0..32], -]} -STRUCT!{struct D3DDDICB_DESTROYALLOCATION2FLAGS { - Value: UINT, -}} -BITFIELD!{D3DDDICB_DESTROYALLOCATION2FLAGS Value: UINT [ - AssumeNotInUse set_AssumeNotInUse[0..1], - SynchronousDestroy set_SynchronousDestroy[1..2], - Reserved set_Reserved[2..31], - SystemUseOnly set_SystemUseOnly[31..32], -]} -STRUCT!{struct D3DDDI_ESCAPEFLAGS { - Value: UINT, -}} -BITFIELD!{D3DDDI_ESCAPEFLAGS Value: UINT [ - HardwareAccess set_HardwareAccess[0..1], - DeviceStatusQuery set_DeviceStatusQuery[1..2], - ChangeFrameLatency set_ChangeFrameLatency[2..3], - NoAdapterSynchronization set_NoAdapterSynchronization[3..4], - Reserved set_Reserved[4..5], - VirtualMachineData set_VirtualMachineData[5..6], - DriverKnownEscape set_DriverKnownEscape[6..7], - DriverCommonEscape set_DriverCommonEscape[7..8], - Reserved2 set_Reserved2[8..24], -]} -ENUM!{enum D3DDDI_DRIVERESCAPETYPE { - D3DDDI_DRIVERESCAPETYPE_TRANSLATEALLOCATIONHANDLE = 0, - D3DDDI_DRIVERESCAPETYPE_TRANSLATERESOURCEHANDLE = 1, - D3DDDI_DRIVERESCAPETYPE_MAX, -}} -STRUCT!{struct D3DDDI_DRIVERESCAPE_TRANSLATEALLOCATIONEHANDLE { - EscapeType: D3DDDI_DRIVERESCAPETYPE, - hAllocation: D3DKMT_HANDLE, -}} -STRUCT!{struct D3DDDI_DRIVERESCAPE_TRANSLATERESOURCEHANDLE { - EscapeType: D3DDDI_DRIVERESCAPETYPE, - hResource: D3DKMT_HANDLE, -}} -STRUCT!{struct D3DDDI_CREATECONTEXTFLAGS { - Value: UINT, -}} -BITFIELD!{D3DDDI_CREATECONTEXTFLAGS Value: UINT [ - NullRendering set_NullRendering[0..1], - InitialData set_InitialData[1..2], - DisableGpuTimeout set_DisableGpuTimeout[2..3], - SynchronizationOnly set_SynchronizationOnly[3..4], - HwQueueSupported set_HwQueueSupported[4..5], - Reserved set_Reserved[5..32], -]} -//1188 -STRUCT!{struct D3DDDICB_SIGNALFLAGS { - Value: UINT, -}} -BITFIELD!{D3DDDICB_SIGNALFLAGS Value: UINT [ - SignalAtSubmission set_SignalAtSubmission[0..1], - EnqueueCpuEvent set_EnqueueCpuEvent[1..2], - AllowFenceRewind set_AllowFenceRewind[2..3], - Reserved set_Reserved[3..31], - DXGK_SIGNAL_FLAG_INTERNAL0 set_DXGK_SIGNAL_FLAG_INTERNAL0[31..32], -]} -pub const D3DDDI_MAX_OBJECT_WAITED_ON: usize = 32; -pub const D3DDDI_MAX_OBJECT_SIGNALED: usize = 32; -ENUM!{enum D3DDDI_SYNCHRONIZATIONOBJECT_TYPE { - D3DDDI_SYNCHRONIZATION_MUTEX = 1, - D3DDDI_SEMAPHORE = 2, - D3DDDI_FENCE = 3, - D3DDDI_CPU_NOTIFICATION = 4, - D3DDDI_MONITORED_FENCE = 5, - D3DDDI_PERIODIC_MONITORED_FENCE = 6, - D3DDDI_SYNCHRONIZATION_TYPE_LIMIT, -}} -//1553 -STRUCT!{struct D3DDDI_SYNCHRONIZATIONOBJECTINFO_u_SynchronizationMutex { - InitialState: BOOL, -}} -STRUCT!{struct D3DDDI_SYNCHRONIZATIONOBJECTINFO_u_Semaphore { - MaxCount: UINT, - InitialCount: UINT, -}} -STRUCT!{struct D3DDDI_SYNCHRONIZATIONOBJECTINFO_u_Reserved { - Reserved: [UINT; 16], -}} -UNION!{union D3DDDI_SYNCHRONIZATIONOBJECTINFO_u { - [u32; 16], - SynchronizationMutex SynchronizationMutex_mut: - D3DDDI_SYNCHRONIZATIONOBJECTINFO_u_SynchronizationMutex, - Semaphore Semaphore_mut: D3DDDI_SYNCHRONIZATIONOBJECTINFO_u_Semaphore, - Reserved Reserved_mut: D3DDDI_SYNCHRONIZATIONOBJECTINFO_u_Reserved, -}} -STRUCT!{struct D3DDDI_SYNCHRONIZATIONOBJECTINFO { - Type: D3DDDI_SYNCHRONIZATIONOBJECT_TYPE, - u: D3DDDI_SYNCHRONIZATIONOBJECTINFO_u, -}} -STRUCT!{struct D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS { - Value: UINT, -}} -BITFIELD!{D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS Value: UINT [ - Shared set_Shared[0..1], - NtSecuritySharing set_NtSecuritySharing[1..2], - CrossAdapter set_CrossAdapter[2..3], - TopOfPipeline set_TopOfPipeline[3..4], - NoSignal set_NoSignal[4..5], - NoWait set_NoWait[5..6], - NoSignalMaxValueOnTdr set_NoSignalMaxValueOnTdr[6..7], - NoGPUAccess set_NoGPUAccess[7..8], - Reserved set_Reserved[8..31], - D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS_RESERVED0 - set_D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS_RESERVED0[31..32], -]} -STRUCT!{struct D3DDDI_SYNCHRONIZATIONOBJECTINFO2_u_SynchronizationMutex { - InitialState: BOOL, -}} -STRUCT!{struct D3DDDI_SYNCHRONIZATIONOBJECTINFO2_u_Semaphore { - MaxCount: UINT, - InitialCount: UINT, -}} -STRUCT!{struct D3DDDI_SYNCHRONIZATIONOBJECTINFO2_u_Fence { - FenceValue: UINT64, -}} -STRUCT!{struct D3DDDI_SYNCHRONIZATIONOBJECTINFO2_u_CPUNotification { - Event: HANDLE, -}} -STRUCT!{struct D3DDDI_SYNCHRONIZATIONOBJECTINFO2_u_MonitoredFence { - InitialFenceValue: UINT64, - FenceValueCPUVirtualAddress: *mut VOID, - FenceValueGPUVirtualAddress: D3DGPU_VIRTUAL_ADDRESS, - EngineAffinity: UINT, -}} -STRUCT!{struct D3DDDI_SYNCHRONIZATIONOBJECTINFO2_u_PeriodicMonitoredFence { - hAdapter: D3DKMT_HANDLE, - VidPnTargetId: D3DDDI_VIDEO_PRESENT_TARGET_ID, - Time: UINT64, - FenceValueCPUVirtualAddress: *mut VOID, - FenceValueGPUVirtualAddress: D3DGPU_VIRTUAL_ADDRESS, - EngineAffinity: UINT, -}} -STRUCT!{struct D3DDDI_SYNCHRONIZATIONOBJECTINFO2_u_Reserved { - Reserved: [UINT64; 8], -}} -UNION!{union D3DDDI_SYNCHRONIZATIONOBJECTINFO2_u { - [u64; 8], - SynchronizationMutex SynchronizationMutex_mut: - D3DDDI_SYNCHRONIZATIONOBJECTINFO2_u_SynchronizationMutex, - Semaphore Semaphore_mut: D3DDDI_SYNCHRONIZATIONOBJECTINFO2_u_Semaphore, - Fence Fence_mut: D3DDDI_SYNCHRONIZATIONOBJECTINFO2_u_Fence, - CPUNotification CPUNotification_mut: D3DDDI_SYNCHRONIZATIONOBJECTINFO2_u_CPUNotification, - MonitoredFence MonitoredFence_mut: D3DDDI_SYNCHRONIZATIONOBJECTINFO2_u_MonitoredFence, - PeriodicMonitoredFence PeriodicMonitoredFence_mut: - D3DDDI_SYNCHRONIZATIONOBJECTINFO2_u_PeriodicMonitoredFence, - Reserved Reserved_mut: D3DDDI_SYNCHRONIZATIONOBJECTINFO2_u_Reserved, -}} -STRUCT!{struct D3DDDI_SYNCHRONIZATIONOBJECTINFO2 { - Type: D3DDDI_SYNCHRONIZATIONOBJECT_TYPE, - Flags: D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS, - u: D3DDDI_SYNCHRONIZATIONOBJECTINFO2_u, - SharedHandle: D3DKMT_HANDLE, -}} -//1778 -pub const D3DDDI_MAX_BROADCAST_CONTEXT: usize = 64; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/dcomptypes.rs b/vendor/registry-40351f815f426200/winapi/src/shared/dcomptypes.rs deleted file mode 100644 index 4d45d3c90..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/dcomptypes.rs +++ /dev/null @@ -1,50 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of dcomptypes.h -use shared::dxgitype::DXGI_RATIONAL; -use shared::minwindef::DWORD; -use um::winnt::LARGE_INTEGER; -ENUM!{enum DCOMPOSITION_BITMAP_INTERPOLATION_MODE { - DCOMPOSITION_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0, - DCOMPOSITION_BITMAP_INTERPOLATION_MODE_LINEAR = 1, - DCOMPOSITION_BITMAP_INTERPOLATION_MODE_INHERIT = 0xffffffff, -}} -ENUM!{enum DCOMPOSITION_BORDER_MODE { - DCOMPOSITION_BORDER_MODE_SOFT = 0, - DCOMPOSITION_BORDER_MODE_HARD = 1, - DCOMPOSITION_BORDER_MODE_INHERIT = 0xffffffff, -}} -ENUM!{enum DCOMPOSITION_COMPOSITE_MODE { - DCOMPOSITION_COMPOSITE_MODE_SOURCE_OVER = 0, - DCOMPOSITION_COMPOSITE_MODE_DESTINATION_INVERT = 1, - DCOMPOSITION_COMPOSITE_MODE_MIN_BLEND = 2, - DCOMPOSITION_COMPOSITE_MODE_INHERIT = 0xffffffff, -}} -ENUM!{enum DCOMPOSITION_BACKFACE_VISIBILITY { - DCOMPOSITION_BACKFACE_VISIBILITY_VISIBLE = 0, - DCOMPOSITION_BACKFACE_VISIBILITY_HIDDEN = 1, - DCOMPOSITION_BACKFACE_VISIBILITY_INHERIT = 0xffffffff, -}} -ENUM!{enum DCOMPOSITION_OPACITY_MODE { - DCOMPOSITION_OPACITY_MODE_LAYER = 0, - DCOMPOSITION_OPACITY_MODE_MULTIPLY = 1, - DCOMPOSITION_OPACITY_MODE_INHERIT = 0xffffffff, -}} -ENUM!{enum DCOMPOSITION_DEPTH_MODE { - DCOMPOSITION_DEPTH_MODE_TREE = 0, - DCOMPOSITION_DEPTH_MODE_SPATIAL = 1, - DCOMPOSITION_DEPTH_MODE_INHERIT = 0xffffffff, -}} -STRUCT!{struct DCOMPOSITION_FRAME_STATISTICS { - lastFrameTime: LARGE_INTEGER, - currentCompositionRate: DXGI_RATIONAL, - currentTime: LARGE_INTEGER, - timeFrequency: LARGE_INTEGER, - nextEstimatedFrameTime: LARGE_INTEGER, -}} -pub const COMPOSITIONOBJECT_READ: DWORD = 0x0001; -pub const COMPOSITIONOBJECT_WRITE: DWORD = 0x0002; -pub const COMPOSITIONOBJECT_ALL_ACCESS: DWORD = COMPOSITIONOBJECT_READ | COMPOSITIONOBJECT_WRITE; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/devguid.rs b/vendor/registry-40351f815f426200/winapi/src/shared/devguid.rs deleted file mode 100644 index f163037b8..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/devguid.rs +++ /dev/null @@ -1,178 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Defines GUIDs for device classes used in Plug & Play. -DEFINE_GUID!{GUID_DEVCLASS_1394, - 0x6bdd1fc1, 0x810f, 0x11d0, 0xbe, 0xc7, 0x08, 0x00, 0x2b, 0xe2, 0x09, 0x2f} -DEFINE_GUID!{GUID_DEVCLASS_1394DEBUG, - 0x66f250d6, 0x7801, 0x4a64, 0xb1, 0x39, 0xee, 0xa8, 0x0a, 0x45, 0x0b, 0x24} -DEFINE_GUID!{GUID_DEVCLASS_61883, - 0x7ebefbc0, 0x3200, 0x11d2, 0xb4, 0xc2, 0x00, 0xa0, 0xc9, 0x69, 0x7d, 0x07} -DEFINE_GUID!{GUID_DEVCLASS_ADAPTER, - 0x4d36e964, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_APMSUPPORT, - 0xd45b1c18, 0xc8fa, 0x11d1, 0x9f, 0x77, 0x00, 0x00, 0xf8, 0x05, 0xf5, 0x30} -DEFINE_GUID!{GUID_DEVCLASS_AVC, - 0xc06ff265, 0xae09, 0x48f0, 0x81, 0x2c, 0x16, 0x75, 0x3d, 0x7c, 0xba, 0x83} -DEFINE_GUID!{GUID_DEVCLASS_BATTERY, - 0x72631e54, 0x78a4, 0x11d0, 0xbc, 0xf7, 0x00, 0xaa, 0x00, 0xb7, 0xb3, 0x2a} -DEFINE_GUID!{GUID_DEVCLASS_BIOMETRIC, - 0x53d29ef7, 0x377c, 0x4d14, 0x86, 0x4b, 0xeb, 0x3a, 0x85, 0x76, 0x93, 0x59} -DEFINE_GUID!{GUID_DEVCLASS_BLUETOOTH, - 0xe0cbf06c, 0xcd8b, 0x4647, 0xbb, 0x8a, 0x26, 0x3b, 0x43, 0xf0, 0xf9, 0x74} -DEFINE_GUID!{GUID_DEVCLASS_CDROM, - 0x4d36e965, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_COMPUTER, - 0x4d36e966, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_DECODER, - 0x6bdd1fc2, 0x810f, 0x11d0, 0xbe, 0xc7, 0x08, 0x00, 0x2b, 0xe2, 0x09, 0x2f} -DEFINE_GUID!{GUID_DEVCLASS_DISKDRIVE, - 0x4d36e967, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_DISPLAY, - 0x4d36e968, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_DOT4, - 0x48721b56, 0x6795, 0x11d2, 0xb1, 0xa8, 0x00, 0x80, 0xc7, 0x2e, 0x74, 0xa2} -DEFINE_GUID!{GUID_DEVCLASS_DOT4PRINT, - 0x49ce6ac8, 0x6f86, 0x11d2, 0xb1, 0xe5, 0x00, 0x80, 0xc7, 0x2e, 0x74, 0xa2} -DEFINE_GUID!{GUID_DEVCLASS_ENUM1394, - 0xc459df55, 0xdb08, 0x11d1, 0xb0, 0x09, 0x00, 0xa0, 0xc9, 0x08, 0x1f, 0xf6} -DEFINE_GUID!{GUID_DEVCLASS_FDC, - 0x4d36e969, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_FLOPPYDISK, - 0x4d36e980, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_GPS, - 0x6bdd1fc3, 0x810f, 0x11d0, 0xbe, 0xc7, 0x08, 0x00, 0x2b, 0xe2, 0x09, 0x2f} -DEFINE_GUID!{GUID_DEVCLASS_HDC, - 0x4d36e96a, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_HIDCLASS, - 0x745a17a0, 0x74d3, 0x11d0, 0xb6, 0xfe, 0x00, 0xa0, 0xc9, 0x0f, 0x57, 0xda} -DEFINE_GUID!{GUID_DEVCLASS_IMAGE, - 0x6bdd1fc6, 0x810f, 0x11d0, 0xbe, 0xc7, 0x08, 0x00, 0x2b, 0xe2, 0x09, 0x2f} -DEFINE_GUID!{GUID_DEVCLASS_INFINIBAND, - 0x30ef7132, 0xd858, 0x4a0c, 0xac, 0x24, 0xb9, 0x02, 0x8a, 0x5c, 0xca, 0x3f} -DEFINE_GUID!{GUID_DEVCLASS_INFRARED, - 0x6bdd1fc5, 0x810f, 0x11d0, 0xbe, 0xc7, 0x08, 0x00, 0x2b, 0xe2, 0x09, 0x2f} -DEFINE_GUID!{GUID_DEVCLASS_KEYBOARD, - 0x4d36e96b, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_LEGACYDRIVER, - 0x8ecc055d, 0x047f, 0x11d1, 0xa5, 0x37, 0x00, 0x00, 0xf8, 0x75, 0x3e, 0xd1} -DEFINE_GUID!{GUID_DEVCLASS_MEDIA, - 0x4d36e96c, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_MEDIUM_CHANGER, - 0xce5939ae, 0xebde, 0x11d0, 0xb1, 0x81, 0x00, 0x00, 0xf8, 0x75, 0x3e, 0xc4} -DEFINE_GUID!{GUID_DEVCLASS_MODEM, - 0x4d36e96d, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_MEMORY, - 0x5099944a, 0xf6b9, 0x4057, 0xa0, 0x56, 0x8c, 0x55, 0x02, 0x28, 0x54, 0x4c} -DEFINE_GUID!{GUID_DEVCLASS_MONITOR, - 0x4d36e96e, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_MOUSE, - 0x4d36e96f, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_MTD, - 0x4d36e970, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_MULTIFUNCTION, - 0x4d36e971, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_MULTIPORTSERIAL, - 0x50906cb8, 0xba12, 0x11d1, 0xbf, 0x5d, 0x00, 0x00, 0xf8, 0x05, 0xf5, 0x30} -DEFINE_GUID!{GUID_DEVCLASS_NET, - 0x4d36e972, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_NETCLIENT, - 0x4d36e973, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_NETSERVICE, - 0x4d36e974, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_NETTRANS, - 0x4d36e975, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_NODRIVER, - 0x4d36e976, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_PCMCIA, - 0x4d36e977, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_PNPPRINTERS, - 0x4658ee7e, 0xf050, 0x11d1, 0xb6, 0xbd, 0x00, 0xc0, 0x4f, 0xa3, 0x72, 0xa7} -DEFINE_GUID!{GUID_DEVCLASS_PORTS, - 0x4d36e978, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_PRINTER, - 0x4d36e979, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_PRINTERUPGRADE, - 0x4d36e97a, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_PROCESSOR, - 0x50127dc3, 0x0f36, 0x415e, 0xa6, 0xcc, 0x4c, 0xb3, 0xbe, 0x91, 0x0B, 0x65} -DEFINE_GUID!{GUID_DEVCLASS_SBP2, - 0xd48179be, 0xec20, 0x11d1, 0xb6, 0xb8, 0x00, 0xc0, 0x4f, 0xa3, 0x72, 0xa7} -DEFINE_GUID!{GUID_DEVCLASS_SCSIADAPTER, - 0x4d36e97b, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_SECURITYACCELERATOR, - 0x268c95a1, 0xedfe, 0x11d3, 0x95, 0xc3, 0x00, 0x10, 0xdc, 0x40, 0x50, 0xa5} -DEFINE_GUID!{GUID_DEVCLASS_SENSOR, - 0x5175d334, 0xc371, 0x4806, 0xb3, 0xba, 0x71, 0xfd, 0x53, 0xc9, 0x25, 0x8d} -DEFINE_GUID!{GUID_DEVCLASS_SIDESHOW, - 0x997b5d8d, 0xc442, 0x4f2e, 0xba, 0xf3, 0x9c, 0x8e, 0x67, 0x1e, 0x9e, 0x21} -DEFINE_GUID!{GUID_DEVCLASS_SMARTCARDREADER, - 0x50dd5230, 0xba8a, 0x11d1, 0xbf, 0x5d, 0x00, 0x00, 0xf8, 0x05, 0xf5, 0x30} -DEFINE_GUID!{GUID_DEVCLASS_SOUND, - 0x4d36e97c, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_SYSTEM, - 0x4d36e97d, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_TAPEDRIVE, - 0x6d807884, 0x7d21, 0x11cf, 0x80, 0x1c, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_UNKNOWN, - 0x4d36e97e, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_DEVCLASS_USB, - 0x36fc9e60, 0xc465, 0x11cf, 0x80, 0x56, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{GUID_DEVCLASS_VOLUME, - 0x71a27cdd, 0x812a, 0x11d0, 0xbe, 0xc7, 0x08, 0x00, 0x2b, 0xe2, 0x09, 0x2f} -DEFINE_GUID!{GUID_DEVCLASS_VOLUMESNAPSHOT, - 0x533c5b84, 0xec70, 0x11d2, 0x95, 0x05, 0x00, 0xc0, 0x4f, 0x79, 0xde, 0xaf} -DEFINE_GUID!{GUID_DEVCLASS_WCEUSBS, - 0x25dbce51, 0x6c8f, 0x4a72, 0x8a, 0x6d, 0xb5, 0x4c, 0x2b, 0x4f, 0xc8, 0x35} -DEFINE_GUID!{GUID_DEVCLASS_WPD, - 0xeec5ad98, 0x8080, 0x425f, 0x92, 0x2a, 0xda, 0xbf, 0x3d, 0xe3, 0xf6, 0x9a} -DEFINE_GUID!{GUID_DEVCLASS_EHSTORAGESILO, - 0x9da2b80f, 0xf89f, 0x4a49, 0xa5, 0xc2, 0x51, 0x1b, 0x08, 0x5b, 0x9e, 0x8a} -DEFINE_GUID!{GUID_DEVCLASS_FIRMWARE, - 0xf2e7dd72, 0x6468, 0x4e36, 0xb6, 0xf1, 0x64, 0x88, 0xf4, 0x2c, 0x1b, 0x52} -DEFINE_GUID!{GUID_DEVCLASS_EXTENSION, - 0xe2f84ce7, 0x8efa, 0x411c, 0xaa, 0x69, 0x97, 0x45, 0x4c, 0xa4, 0xcb, 0x57} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_TOP, - 0xb369baf4, 0x5568, 0x4e82, 0xa8, 0x7e, 0xa9, 0x3e, 0xb1, 0x6b, 0xca, 0x87} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_ACTIVITYMONITOR, - 0xb86dff51, 0xa31e, 0x4bac, 0xb3, 0xcf, 0xe8, 0xcf, 0xe7, 0x5c, 0x9f, 0xc2} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_UNDELETE, - 0xfe8f1572, 0xc67a, 0x48c0, 0xbb, 0xac, 0x0b, 0x5c, 0x6d, 0x66, 0xca, 0xfb} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_ANTIVIRUS, - 0xb1d1a169, 0xc54f, 0x4379, 0x81, 0xdb, 0xbe, 0xe7, 0xd8, 0x8d, 0x74, 0x54} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_REPLICATION, - 0x48d3ebc4, 0x4cf8, 0x48ff, 0xb8, 0x69, 0x9c, 0x68, 0xad, 0x42, 0xeb, 0x9f} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_CONTINUOUSBACKUP, - 0x71aa14f8, 0x6fad, 0x4622, 0xad, 0x77, 0x92, 0xbb, 0x9d, 0x7e, 0x69, 0x47} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_CONTENTSCREENER, - 0x3e3f0674, 0xc83c, 0x4558, 0xbb, 0x26, 0x98, 0x20, 0xe1, 0xeb, 0xa5, 0xc5} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_QUOTAMANAGEMENT, - 0x8503c911, 0xa6c7, 0x4919, 0x8f, 0x79, 0x50, 0x28, 0xf5, 0x86, 0x6b, 0x0c} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_SYSTEMRECOVERY, - 0x2db15374, 0x706e, 0x4131, 0xa0, 0xc7, 0xd7, 0xc7, 0x8e, 0xb0, 0x28, 0x9a} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_CFSMETADATASERVER, - 0xcdcf0939, 0xb75b, 0x4630, 0xbf, 0x76, 0x80, 0xf7, 0xba, 0x65, 0x58, 0x84} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_HSM, - 0xd546500a, 0x2aeb, 0x45f6, 0x94, 0x82, 0xf4, 0xb1, 0x79, 0x9c, 0x31, 0x77} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_COMPRESSION, - 0xf3586baf, 0xb5aa, 0x49b5, 0x8d, 0x6c, 0x05, 0x69, 0x28, 0x4c, 0x63, 0x9f} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_ENCRYPTION, - 0xa0a701c0, 0xa511, 0x42ff, 0xaa, 0x6c, 0x06, 0xdc, 0x03, 0x95, 0x57, 0x6f} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_VIRTUALIZATION, - 0xf75a86c0, 0x10d8, 0x4c3a, 0xb2, 0x33, 0xed, 0x60, 0xe4, 0xcd, 0xfa, 0xac} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_PHYSICALQUOTAMANAGEMENT, - 0x6a0a8e78, 0xbba6, 0x4fc4, 0xa7, 0x09, 0x1e, 0x33, 0xcd, 0x09, 0xd6, 0x7e} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_OPENFILEBACKUP, - 0xf8ecafa6, 0x66d1, 0x41a5, 0x89, 0x9b, 0x66, 0x58, 0x5d, 0x72, 0x16, 0xb7} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_SECURITYENHANCER, - 0xd02bc3da, 0x0c8e, 0x4945, 0x9b, 0xd5, 0xf1, 0x88, 0x3c, 0x22, 0x6c, 0x8c} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_COPYPROTECTION, - 0x89786ff1, 0x9c12, 0x402f, 0x9c, 0x9e, 0x17, 0x75, 0x3c, 0x7f, 0x43, 0x75} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_BOTTOM, - 0x37765ea0, 0x5958, 0x4fc9, 0xb0, 0x4b, 0x2f, 0xdf, 0xef, 0x97, 0xe5, 0x9e} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_SYSTEM, - 0x5d1b9aaa, 0x01e2, 0x46af, 0x84, 0x9f, 0x27, 0x2b, 0x3f, 0x32, 0x4c, 0x46} -DEFINE_GUID!{GUID_DEVCLASS_FSFILTER_INFRASTRUCTURE, - 0xe55fa6f9, 0x128c, 0x4d04, 0xab, 0xab, 0x63, 0x0c, 0x74, 0xb1, 0x45, 0x3a} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/devpkey.rs b/vendor/registry-40351f815f426200/winapi/src/shared/devpkey.rs deleted file mode 100644 index db6855796..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/devpkey.rs +++ /dev/null @@ -1,401 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -//! Defines property keys for the Plug and Play Device Property API. -use shared::devpropdef::DEVPROPKEY; -DEFINE_DEVPROPKEY!{DEVPKEY_NAME, - 0xb725f130, 0x47ef, 0x101a, 0xa5, 0xf1, 0x02, 0x60, 0x8c, 0x9e, 0xeb, 0xac, 10} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_DeviceDesc, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 2} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_HardwareIds, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 3} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_CompatibleIds, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 4} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_Service, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 6} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_Class, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 9} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_ClassGuid, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 10} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_Driver, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 11} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_ConfigFlags, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 12} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_Manufacturer, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 13} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_FriendlyName, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 14} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_LocationInfo, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 15} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_PDOName, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 16} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_Capabilities, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 17} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_UINumber, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 18} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_UpperFilters, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 19} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_LowerFilters, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 20} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_BusTypeGuid, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 21} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_LegacyBusType, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 22} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_BusNumber, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 23} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_EnumeratorName, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 24} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_Security, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 25} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_SecuritySDS, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 26} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_DevType, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 27} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_Exclusive, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 28} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_Characteristics, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 29} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_Address, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 30} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_UINumberDescFormat, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 31} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_PowerData, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 32} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_RemovalPolicy, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 33} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_RemovalPolicyDefault, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 34} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_RemovalPolicyOverride, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 35} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_InstallState, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 36} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_LocationPaths, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 37} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_BaseContainerId, - 0xa45c254e, 0xdf1c, 0x4efd, 0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0, 38} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_InstanceId, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 256} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_DevNodeStatus, - 0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7, 2} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_ProblemCode, - 0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7, 3} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_EjectionRelations, - 0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7, 4} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_RemovalRelations, - 0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7, 5} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_PowerRelations, - 0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7, 6} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_BusRelations, - 0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7, 7} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_Parent, - 0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7, 8} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_Children, - 0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7, 9} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_Siblings, - 0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7, 10} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_TransportRelations, - 0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7, 11} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_ProblemStatus, - 0x4340a6c5, 0x93fa, 0x4706, 0x97, 0x2c, 0x7b, 0x64, 0x80, 0x08, 0xa5, 0xa7, 12} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_Reported, - 0x80497100, 0x8c73, 0x48b9, 0xaa, 0xd9, 0xce, 0x38, 0x7e, 0x19, 0xc5, 0x6e, 2} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_Legacy, - 0x80497100, 0x8c73, 0x48b9, 0xaa, 0xd9, 0xce, 0x38, 0x7e, 0x19, 0xc5, 0x6e, 3} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_ContainerId, - 0x8c7ed206, 0x3f8a, 0x4827, 0xb3, 0xab, 0xae, 0x9e, 0x1f, 0xae, 0xfc, 0x6c, 2} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_InLocalMachineContainer, - 0x8c7ed206, 0x3f8a, 0x4827, 0xb3, 0xab, 0xae, 0x9e, 0x1f, 0xae, 0xfc, 0x6c, 4} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_Model, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 39} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_ModelId, - 0x80d81ea6, 0x7473, 0x4b0c, 0x82, 0x16, 0xef, 0xc1, 0x1a, 0x2c, 0x4c, 0x8b, 2} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_FriendlyNameAttributes, - 0x80d81ea6, 0x7473, 0x4b0c, 0x82, 0x16, 0xef, 0xc1, 0x1a, 0x2c, 0x4c, 0x8b, 3} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_ManufacturerAttributes, - 0x80d81ea6, 0x7473, 0x4b0c, 0x82, 0x16, 0xef, 0xc1, 0x1a, 0x2c, 0x4c, 0x8b, 4} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_PresenceNotForDevice, - 0x80d81ea6, 0x7473, 0x4b0c, 0x82, 0x16, 0xef, 0xc1, 0x1a, 0x2c, 0x4c, 0x8b, 5} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_SignalStrength, - 0x80d81ea6, 0x7473, 0x4b0c, 0x82, 0x16, 0xef, 0xc1, 0x1a, 0x2c, 0x4c, 0x8b, 6} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_IsAssociateableByUserAction, - 0x80d81ea6, 0x7473, 0x4b0c, 0x82, 0x16, 0xef, 0xc1, 0x1a, 0x2c, 0x4c, 0x8b, 7} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_ShowInUninstallUI, - 0x80d81ea6, 0x7473, 0x4b0c, 0x82, 0x16, 0xef, 0xc1, 0x1a, 0x2c, 0x4c, 0x8b, 8} -pub const DEVPKEY_Numa_Proximity_Domain: DEVPROPKEY = DEVPKEY_Device_Numa_Proximity_Domain; -DEFINE_DEVPROPKEY!{DEVPKEY_Device_Numa_Proximity_Domain, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 1} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_DHP_Rebalance_Policy, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 2} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_Numa_Node, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 3} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_BusReportedDeviceDesc, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 4} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_IsPresent, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 5} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_HasProblem, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 6} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_ConfigurationId, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 7} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_ReportedDeviceIdsHash, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 8} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_PhysicalDeviceLocation, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 9} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_BiosDeviceName, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 10} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_DriverProblemDesc, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 11} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_DebuggerSafe, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 12} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_PostInstallInProgress, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 13} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_Stack, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 14} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_ExtendedConfigurationIds, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 15} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_IsRebootRequired, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 16} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_FirmwareDate, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 17} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_FirmwareVersion, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 18} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_FirmwareRevision, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 19} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_DependencyProviders, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 20} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_DependencyDependents, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 21} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_SoftRestartSupported, - 0x540b947e, 0x8b40, 0x45bc, 0xa8, 0xa2, 0x6a, 0x0b, 0x89, 0x4c, 0xbd, 0xa2, 22} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_SessionId, - 0x83da6326, 0x97a6, 0x4088, 0x94, 0x53, 0xa1, 0x92, 0x3f, 0x57, 0x3b, 0x29, 6} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_InstallDate, - 0x83da6326, 0x97a6, 0x4088, 0x94, 0x53, 0xa1, 0x92, 0x3f, 0x57, 0x3b, 0x29, 100} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_FirstInstallDate, - 0x83da6326, 0x97a6, 0x4088, 0x94, 0x53, 0xa1, 0x92, 0x3f, 0x57, 0x3b, 0x29, 101} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_LastArrivalDate, - 0x83da6326, 0x97a6, 0x4088, 0x94, 0x53, 0xa1, 0x92, 0x3f, 0x57, 0x3b, 0x29, 102} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_LastRemovalDate, - 0x83da6326, 0x97a6, 0x4088, 0x94, 0x53, 0xa1, 0x92, 0x3f, 0x57, 0x3b, 0x29, 103} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_DriverDate, - 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 2} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_DriverVersion, - 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 3} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_DriverDesc, - 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 4} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_DriverInfPath, - 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 5} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_DriverInfSection, - 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 6} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_DriverInfSectionExt, - 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 7} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_MatchingDeviceId, - 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 8} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_DriverProvider, - 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 9} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_DriverPropPageProvider, - 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 10} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_DriverCoInstallers, - 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 11} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_ResourcePickerTags, - 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 12} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_ResourcePickerExceptions, - 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 13} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_DriverRank, - 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 14} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_DriverLogoLevel, - 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 15} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_NoConnectSound, - 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 17} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_GenericDriverInstalled, - 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 18} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_AdditionalSoftwareRequested, - 0xa8b865dd, 0x2e3d, 0x4094, 0xad, 0x97, 0xe5, 0x93, 0xa7, 0xc, 0x75, 0xd6, 19} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_SafeRemovalRequired, - 0xafd97640, 0x86a3, 0x4210, 0xb6, 0x7c, 0x28, 0x9c, 0x41, 0xaa, 0xbe, 0x55, 2} -DEFINE_DEVPROPKEY!{DEVPKEY_Device_SafeRemovalRequiredOverride, - 0xafd97640, 0x86a3, 0x4210, 0xb6, 0x7c, 0x28, 0x9c, 0x41, 0xaa, 0xbe, 0x55, 3} -DEFINE_DEVPROPKEY!{DEVPKEY_DrvPkg_Model, - 0xcf73bb51, 0x3abf, 0x44a2, 0x85, 0xe0, 0x9a, 0x3d, 0xc7, 0xa1, 0x21, 0x32, 2} -DEFINE_DEVPROPKEY!{DEVPKEY_DrvPkg_VendorWebSite, - 0xcf73bb51, 0x3abf, 0x44a2, 0x85, 0xe0, 0x9a, 0x3d, 0xc7, 0xa1, 0x21, 0x32, 3} -DEFINE_DEVPROPKEY!{DEVPKEY_DrvPkg_DetailedDescription, - 0xcf73bb51, 0x3abf, 0x44a2, 0x85, 0xe0, 0x9a, 0x3d, 0xc7, 0xa1, 0x21, 0x32, 4} -DEFINE_DEVPROPKEY!{DEVPKEY_DrvPkg_DocumentationLink, - 0xcf73bb51, 0x3abf, 0x44a2, 0x85, 0xe0, 0x9a, 0x3d, 0xc7, 0xa1, 0x21, 0x32, 5} -DEFINE_DEVPROPKEY!{DEVPKEY_DrvPkg_Icon, - 0xcf73bb51, 0x3abf, 0x44a2, 0x85, 0xe0, 0x9a, 0x3d, 0xc7, 0xa1, 0x21, 0x32, 6} -DEFINE_DEVPROPKEY!{DEVPKEY_DrvPkg_BrandingIcon, - 0xcf73bb51, 0x3abf, 0x44a2, 0x85, 0xe0, 0x9a, 0x3d, 0xc7, 0xa1, 0x21, 0x32, 7} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceClass_UpperFilters, - 0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b, 19} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceClass_LowerFilters, - 0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b, 20} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceClass_Security, - 0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b, 25} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceClass_SecuritySDS, - 0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b, 26} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceClass_DevType, - 0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b, 27} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceClass_Exclusive, - 0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b, 28} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceClass_Characteristics, - 0x4321918b, 0xf69e, 0x470d, 0xa5, 0xde, 0x4d, 0x88, 0xc7, 0x5a, 0xd2, 0x4b, 29} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceClass_Name, - 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 2} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceClass_ClassName, - 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 3} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceClass_Icon, - 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 4} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceClass_ClassInstaller, - 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 5} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceClass_PropPageProvider, - 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 6} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceClass_NoInstallClass, - 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 7} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceClass_NoDisplayClass, - 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 8} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceClass_SilentInstall, - 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 9} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceClass_NoUseClass, - 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 10} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceClass_DefaultService, - 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 11} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceClass_IconPath, - 0x259abffc, 0x50a7, 0x47ce, 0xaf, 0x8, 0x68, 0xc9, 0xa7, 0xd7, 0x33, 0x66, 12} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceClass_DHPRebalanceOptOut, - 0xd14d3ef3, 0x66cf, 0x4ba2, 0x9d, 0x38, 0x0d, 0xdb, 0x37, 0xab, 0x47, 0x01, 2} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceClass_ClassCoInstallers, - 0x713d1703, 0xa2e2, 0x49f5, 0x92, 0x14, 0x56, 0x47, 0x2e, 0xf3, 0xda, 0x5c, 2} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceInterface_FriendlyName, - 0x026e516e, 0xb814, 0x414b, 0x83, 0xcd, 0x85, 0x6d, 0x6f, 0xef, 0x48, 0x22, 2} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceInterface_Enabled, - 0x026e516e, 0xb814, 0x414b, 0x83, 0xcd, 0x85, 0x6d, 0x6f, 0xef, 0x48, 0x22, 3} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceInterface_ClassGuid, - 0x026e516e, 0xb814, 0x414b, 0x83, 0xcd, 0x85, 0x6d, 0x6f, 0xef, 0x48, 0x22, 4} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceInterface_ReferenceString, - 0x026e516e, 0xb814, 0x414b, 0x83, 0xcd, 0x85, 0x6d, 0x6f, 0xef, 0x48, 0x22, 5} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceInterface_Restricted, - 0x026e516e, 0xb814, 0x414b, 0x83, 0xcd, 0x85, 0x6d, 0x6f, 0xef, 0x48, 0x22, 6} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceInterfaceClass_DefaultInterface, - 0x14c83a99, 0x0b3f, 0x44b7, 0xbe, 0x4c, 0xa1, 0x78, 0xd3, 0x99, 0x05, 0x64, 2} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceInterfaceClass_Name, - 0x14c83a99, 0x0b3f, 0x44b7, 0xbe, 0x4c, 0xa1, 0x78, 0xd3, 0x99, 0x05, 0x64, 3} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_Address, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 51} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_DiscoveryMethod, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 52} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_IsEncrypted, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 53} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_IsAuthenticated, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 54} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_IsConnected, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 55} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_IsPaired, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 56} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_Icon, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 57} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_Version, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 65} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_Last_Seen, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 66} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_Last_Connected, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 67} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_IsShowInDisconnectedState, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 68} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_IsLocalMachine, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 70} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_MetadataPath, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 71} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_IsMetadataSearchInProgress, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 72} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_MetadataChecksum, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 73} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_IsNotInterestingForDisplay, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 74} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_LaunchDeviceStageOnDeviceConnect, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 76} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_LaunchDeviceStageFromExplorer, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 77} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_BaselineExperienceId, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 78} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_IsDeviceUniquelyIdentifiable, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 79} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_AssociationArray, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 80} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_DeviceDescription1, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 81} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_DeviceDescription2, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 82} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_HasProblem, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 83} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_IsSharedDevice, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 84} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_IsNetworkDevice, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 85} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_IsDefaultDevice, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 86} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_MetadataCabinet, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 87} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_RequiresPairingElevation, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 88} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_ExperienceId, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 89} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_Category, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 90} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_Category_Desc_Singular, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 91} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_Category_Desc_Plural, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 92} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_Category_Icon, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 93} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_CategoryGroup_Desc, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 94} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_CategoryGroup_Icon, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 95} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_PrimaryCategory, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 97} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_UnpairUninstall, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 98} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_RequiresUninstallElevation, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 99} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_DeviceFunctionSubRank, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 100} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_AlwaysShowDeviceAsConnected, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 101} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_ConfigFlags, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 105} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_PrivilegedPackageFamilyNames, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 106} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_CustomPrivilegedPackageFamilyNames, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 107} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_IsRebootRequired, - 0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57, 108} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_FriendlyName, - 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 12288} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_Manufacturer, - 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 8192} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_ModelName, - 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 8194} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_ModelNumber, - 0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD, 8195} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceContainer_InstallInProgress, - 0x83da6326, 0x97a6, 0x4088, 0x94, 0x53, 0xa1, 0x92, 0x3f, 0x57, 0x3b, 0x29, 9} -pub const DEVPKEY_DeviceDisplay_DiscoveryMethod: DEVPROPKEY - = DEVPKEY_DeviceContainer_DiscoveryMethod; -pub const DEVPKEY_DeviceDisplay_IsShowInDisconnectedState: DEVPROPKEY - = DEVPKEY_DeviceContainer_IsShowInDisconnectedState; -pub const DEVPKEY_DeviceDisplay_IsNotInterestingForDisplay: DEVPROPKEY - = DEVPKEY_DeviceContainer_IsNotInterestingForDisplay; -pub const DEVPKEY_DeviceDisplay_IsNetworkDevice: DEVPROPKEY - = DEVPKEY_DeviceContainer_IsNetworkDevice; -pub const DEVPKEY_DeviceDisplay_Category: DEVPROPKEY = DEVPKEY_DeviceContainer_Category; -pub const DEVPKEY_DeviceDisplay_UnpairUninstall: DEVPROPKEY - = DEVPKEY_DeviceContainer_UnpairUninstall; -pub const DEVPKEY_DeviceDisplay_RequiresUninstallElevation: DEVPROPKEY - = DEVPKEY_DeviceContainer_RequiresUninstallElevation; -pub const DEVPKEY_DeviceDisplay_AlwaysShowDeviceAsConnected: DEVPROPKEY - = DEVPKEY_DeviceContainer_AlwaysShowDeviceAsConnected; -DEFINE_DEVPROPKEY!{DEVPKEY_DevQuery_ObjectType, - 0x13673f42, 0xa3d6, 0x49f6, 0xb4, 0xda, 0xae, 0x46, 0xe0, 0xc5, 0x23, 0x7c, 2} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/devpropdef.rs b/vendor/registry-40351f815f426200/winapi/src/shared/devpropdef.rs deleted file mode 100644 index 1e9388a44..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/devpropdef.rs +++ /dev/null @@ -1,83 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Defines property types and keys for the Plug and Play Device Property API -use shared::guiddef::{GUID, IsEqualGUID}; -use shared::minwindef::ULONG; -use um::winnt::{CHAR, PCWSTR, PVOID}; -pub type DEVPROPTYPE = ULONG; -pub type PDEVPROPTYPE = *mut ULONG; -pub const DEVPROP_TYPEMOD_ARRAY: DEVPROPTYPE = 0x00001000; -pub const DEVPROP_TYPEMOD_LIST: DEVPROPTYPE = 0x00002000; -pub const DEVPROP_TYPE_EMPTY: DEVPROPTYPE = 0x00000000; -pub const DEVPROP_TYPE_NULL: DEVPROPTYPE = 0x00000001; -pub const DEVPROP_TYPE_SBYTE: DEVPROPTYPE = 0x00000002; -pub const DEVPROP_TYPE_BYTE: DEVPROPTYPE = 0x00000003; -pub const DEVPROP_TYPE_INT16: DEVPROPTYPE = 0x00000004; -pub const DEVPROP_TYPE_UINT16: DEVPROPTYPE = 0x00000005; -pub const DEVPROP_TYPE_INT32: DEVPROPTYPE = 0x00000006; -pub const DEVPROP_TYPE_UINT32: DEVPROPTYPE = 0x00000007; -pub const DEVPROP_TYPE_INT64: DEVPROPTYPE = 0x00000008; -pub const DEVPROP_TYPE_UINT64: DEVPROPTYPE = 0x00000009; -pub const DEVPROP_TYPE_FLOAT: DEVPROPTYPE = 0x0000000A; -pub const DEVPROP_TYPE_DOUBLE: DEVPROPTYPE = 0x0000000B; -pub const DEVPROP_TYPE_DECIMAL: DEVPROPTYPE = 0x0000000C; -pub const DEVPROP_TYPE_GUID: DEVPROPTYPE = 0x0000000D; -pub const DEVPROP_TYPE_CURRENCY: DEVPROPTYPE = 0x0000000E; -pub const DEVPROP_TYPE_DATE: DEVPROPTYPE = 0x0000000F; -pub const DEVPROP_TYPE_FILETIME: DEVPROPTYPE = 0x00000010; -pub const DEVPROP_TYPE_BOOLEAN: DEVPROPTYPE = 0x00000011; -pub const DEVPROP_TYPE_STRING: DEVPROPTYPE = 0x00000012; -pub const DEVPROP_TYPE_STRING_LIST: DEVPROPTYPE = DEVPROP_TYPE_STRING | DEVPROP_TYPEMOD_LIST; -pub const DEVPROP_TYPE_SECURITY_DESCRIPTOR: DEVPROPTYPE = 0x00000013; -pub const DEVPROP_TYPE_SECURITY_DESCRIPTOR_STRING: DEVPROPTYPE = 0x00000014; -pub const DEVPROP_TYPE_DEVPROPKEY: DEVPROPTYPE = 0x00000015; -pub const DEVPROP_TYPE_DEVPROPTYPE: DEVPROPTYPE = 0x00000016; -pub const DEVPROP_TYPE_BINARY: DEVPROPTYPE = DEVPROP_TYPE_BYTE | DEVPROP_TYPEMOD_ARRAY; -pub const DEVPROP_TYPE_ERROR: DEVPROPTYPE = 0x00000017; -pub const DEVPROP_TYPE_NTSTATUS: DEVPROPTYPE = 0x00000018; -pub const DEVPROP_TYPE_STRING_INDIRECT: DEVPROPTYPE = 0x00000019; -pub const MAX_DEVPROP_TYPE: DEVPROPTYPE = 0x00000019; -pub const MAX_DEVPROP_TYPEMOD: DEVPROPTYPE = 0x00002000; -pub const DEVPROP_MASK_TYPE: DEVPROPTYPE = 0x00000FFF; -pub const DEVPROP_MASK_TYPEMOD: DEVPROPTYPE = 0x0000F000; -pub type DEVPROP_BOOLEAN = CHAR; -pub type PDEVPROP_BOOLEAN = *mut CHAR; -pub const DEVPROP_TRUE: DEVPROP_BOOLEAN = -1; -pub const DEVPROP_FALSE: DEVPROP_BOOLEAN = 0; -pub type DEVPROPGUID = GUID; -pub type PDEVPROPGUID = *mut GUID; -pub type DEVPROPID = ULONG; -pub type PDEVPROPID = *mut ULONG; -STRUCT!{struct DEVPROPKEY { - fmtid: DEVPROPGUID, - pid: DEVPROPID, -}} -pub type PDEVPROPKEY = *mut DEVPROPKEY; -#[inline] -pub fn IsEqualDevPropKey(a: &DEVPROPKEY, b: &DEVPROPKEY) -> bool { - (a.pid == b.pid) && IsEqualGUID(&a.fmtid, &b.fmtid) -} -ENUM!{enum DEVPROPSTORE { - DEVPROP_STORE_SYSTEM, - DEVPROP_STORE_USER, -}} -pub type PDEVPROPSTORE = *mut DEVPROPSTORE; -STRUCT!{struct DEVPROPCOMPKEY { - Key: DEVPROPKEY, - Store: DEVPROPSTORE, - LocaleName: PCWSTR, -}} -pub type PDEVPROPCOMPKEY = *mut DEVPROPCOMPKEY; -// IsEqualLocaleName -// IsEqualDevPropCompKey -STRUCT!{struct DEVPROPERTY { - CompKey: DEVPROPCOMPKEY, - Type: DEVPROPTYPE, - BufferSize: ULONG, - Buffer: PVOID, -}} -pub type PDEVPROPERTY = *mut DEVPROPERTY; -pub const DEVPROPID_FIRST_USABLE: DEVPROPID = 2; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/dinputd.rs b/vendor/registry-40351f815f426200/winapi/src/shared/dinputd.rs deleted file mode 100644 index ceb9ffd99..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/dinputd.rs +++ /dev/null @@ -1,21 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{IID_IDirectInputEffectDriver, - 0x02538130, 0x898f, 0x11d0, 0x9a, 0xd0, 0x00, 0xa0, 0xc9, 0xa0, 0x6e, 0x35} -DEFINE_GUID!{IID_IDirectInputJoyConfig, - 0x1de12ab1, 0xc9f5, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{IID_IDirectInputPIDDriver, - 0xeec6993a, 0xb3fd, 0x11d2, 0xa9, 0x16, 0x00, 0xc0, 0x4f, 0xb9, 0x86, 0x38} -DEFINE_GUID!{IID_IDirectInputJoyConfig8, - 0xeb0d7dfa, 0x1990, 0x4f27, 0xb4, 0xd6, 0xed, 0xf2, 0xee, 0xc4, 0xa4, 0x4c} -DEFINE_GUID!{GUID_KeyboardClass, - 0x4d36e96b, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_MediaClass, - 0x4d36e96c, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_MouseClass, - 0x4d36e96f, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18} -DEFINE_GUID!{GUID_HIDClass, - 0x745a17a0, 0x74d3, 0x11d0, 0xb6, 0xfe, 0x00, 0xa0, 0xc9, 0x0f, 0x57, 0xda} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/dxgi.rs b/vendor/registry-40351f815f426200/winapi/src/shared/dxgi.rs deleted file mode 100644 index 0e878586e..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/dxgi.rs +++ /dev/null @@ -1,411 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of dxgi.h -use ctypes::c_void; -use shared::basetsd::{SIZE_T, UINT64}; -use shared::dxgiformat::DXGI_FORMAT; -use shared::dxgitype::{ - DXGI_GAMMA_CONTROL, DXGI_GAMMA_CONTROL_CAPABILITIES, DXGI_MODE_DESC, DXGI_MODE_ROTATION, - DXGI_SAMPLE_DESC, DXGI_USAGE, -}; -use shared::guiddef::{REFGUID, REFIID}; -use shared::minwindef::{BOOL, BYTE, DWORD, FLOAT, HMODULE, UINT}; -use shared::windef::{HDC, HMONITOR, HWND, RECT}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HANDLE, HRESULT, INT, LARGE_INTEGER, LUID, WCHAR}; -STRUCT!{struct DXGI_FRAME_STATISTICS { - PresentCount: UINT, - PresentRefreshCount: UINT, - SyncRefreshCount: UINT, - SyncQPCTime: LARGE_INTEGER, - SyncGPUTime: LARGE_INTEGER, -}} -STRUCT!{struct DXGI_MAPPED_RECT { - Pitch: INT, - pBits: *mut BYTE, -}} -STRUCT!{struct DXGI_ADAPTER_DESC { - Description: [WCHAR; 128], - VendorId: UINT, - DeviceId: UINT, - SubSysId: UINT, - Revision: UINT, - DedicatedVideoMemory: SIZE_T, - DedicatedSystemMemory: SIZE_T, - SharedSystemMemory: SIZE_T, - AdapterLuid: LUID, -}} -STRUCT!{struct DXGI_OUTPUT_DESC { - DeviceName: [WCHAR; 32], - DesktopCoordinates: RECT, - AttachedToDesktop: BOOL, - Rotation: DXGI_MODE_ROTATION, - Monitor: HMONITOR, -}} -STRUCT!{struct DXGI_SHARED_RESOURCE { - Handle: HANDLE, -}} -pub const DXGI_RESOURCE_PRIORITY_MINIMUM: DWORD = 0x28000000; -pub const DXGI_RESOURCE_PRIORITY_LOW: DWORD = 0x50000000; -pub const DXGI_RESOURCE_PRIORITY_NORMAL: DWORD = 0x78000000; -pub const DXGI_RESOURCE_PRIORITY_HIGH: DWORD = 0xa0000000; -pub const DXGI_RESOURCE_PRIORITY_MAXIMUM: DWORD = 0xc8000000; -ENUM!{enum DXGI_RESIDENCY { - DXGI_RESIDENCY_FULLY_RESIDENT = 1, - DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY = 2, - DXGI_RESIDENCY_EVICTED_TO_DISK = 3, -}} -STRUCT!{struct DXGI_SURFACE_DESC { - Width: UINT, - Height: UINT, - Format: DXGI_FORMAT, - SampleDesc: DXGI_SAMPLE_DESC, -}} -ENUM!{enum DXGI_SWAP_EFFECT { - DXGI_SWAP_EFFECT_DISCARD = 0, - DXGI_SWAP_EFFECT_SEQUENTIAL = 1, - DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL = 3, - DXGI_SWAP_EFFECT_FLIP_DISCARD = 4, -}} -ENUM!{enum DXGI_SWAP_CHAIN_FLAG { - DXGI_SWAP_CHAIN_FLAG_NONPREROTATED = 1, - DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH = 2, - DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE = 4, - DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT = 8, - DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER = 16, - DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY = 32, - DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT = 64, - DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER = 128, - DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO = 256, - DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO = 512, - DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED = 1024, - DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING = 2048, -}} -STRUCT!{struct DXGI_SWAP_CHAIN_DESC { - BufferDesc: DXGI_MODE_DESC, - SampleDesc: DXGI_SAMPLE_DESC, - BufferUsage: DXGI_USAGE, - BufferCount: UINT, - OutputWindow: HWND, - Windowed: BOOL, - SwapEffect: DXGI_SWAP_EFFECT, - Flags: UINT, -}} -RIDL!{#[uuid(0xaec22fb8, 0x76f3, 0x4639, 0x9b, 0xe0, 0x28, 0xeb, 0x43, 0xa6, 0x7a, 0x2e)] -interface IDXGIObject(IDXGIObjectVtbl): IUnknown(IUnknownVtbl) { - fn SetPrivateData( - Name: REFGUID, - DataSize: UINT, - pData: *const c_void, - ) -> HRESULT, - fn SetPrivateDataInterface( - Name: REFGUID, - pUnknown: *const IUnknown, - ) -> HRESULT, - fn GetPrivateData( - Name: REFGUID, - pDataSize: *mut UINT, - pData: *mut c_void, - ) -> HRESULT, - fn GetParent( - riid: REFIID, - ppParent: *mut *mut c_void, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x3d3e0379, 0xf9de, 0x4d58, 0xbb, 0x6c, 0x18, 0xd6, 0x29, 0x92, 0xf1, 0xa6)] -interface IDXGIDeviceSubObject(IDXGIDeviceSubObjectVtbl): IDXGIObject(IDXGIObjectVtbl) { - fn GetDevice( - riid: REFIID, - ppDevice: *mut *mut c_void, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x035f3ab4, 0x482e, 0x4e50, 0xb4, 0x1f, 0x8a, 0x7f, 0x8b, 0xd8, 0x96, 0x0b)] -interface IDXGIResource(IDXGIResourceVtbl): IDXGIDeviceSubObject(IDXGIDeviceSubObjectVtbl) { - fn GetSharedHandle( - pSharedHandle: *mut HANDLE, - ) -> HRESULT, - fn GetUsage( - pUsage: *mut DXGI_USAGE, - ) -> HRESULT, - fn SetEvictionPriority( - EvictionPriority: UINT, - ) -> HRESULT, - fn GetEvictionPriority( - pEvictionPriority: *mut UINT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x9d8e1289, 0xd7b3, 0x465f, 0x81, 0x26, 0x25, 0x0e, 0x34, 0x9a, 0xf8, 0x5d)] -interface IDXGIKeyedMutex(IDXGIKeyedMutexVtbl): IDXGIDeviceSubObject(IDXGIDeviceSubObjectVtbl) { - fn AcquireSync( - Key: UINT64, - dwMilliseconds: DWORD, - ) -> HRESULT, - fn ReleaseSync( - Key: UINT64, - ) -> HRESULT, -}} -pub const DXGI_MAP_READ: UINT = 1; -pub const DXGI_MAP_WRITE: UINT = 2; -pub const DXGI_MAP_DISCARD: UINT = 4; -RIDL!{#[uuid(0xcafcb56c, 0x6ac3, 0x4889, 0xbf, 0x47, 0x9e, 0x23, 0xbb, 0xd2, 0x60, 0xec)] -interface IDXGISurface(IDXGISurfaceVtbl): IDXGIDeviceSubObject(IDXGIDeviceSubObjectVtbl) { - fn GetDesc( - pDesc: *mut DXGI_SURFACE_DESC, - ) -> HRESULT, - fn Map( - pLockedRect: *mut DXGI_MAPPED_RECT, - MapFlags: UINT, - ) -> HRESULT, - fn Unmap() -> HRESULT, -}} -RIDL!{#[uuid(0x4ae63092, 0x6327, 0x4c1b, 0x80, 0xae, 0xbf, 0xe1, 0x2e, 0xa3, 0x2b, 0x86)] -interface IDXGISurface1(IDXGISurface1Vtbl): IDXGISurface(IDXGISurfaceVtbl) { - fn GetDC( - Discard: BOOL, - phdc: *mut HDC, - ) -> HRESULT, - fn ReleaseDC( - pDirtyRect: *mut RECT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2411e7e1, 0x12ac, 0x4ccf, 0xbd, 0x14, 0x97, 0x98, 0xe8, 0x53, 0x4d, 0xc0)] -interface IDXGIAdapter(IDXGIAdapterVtbl): IDXGIObject(IDXGIObjectVtbl) { - fn EnumOutputs( - Output: UINT, - ppOutput: *mut *mut IDXGIOutput, - ) -> HRESULT, - fn GetDesc( - pDesc: *mut DXGI_ADAPTER_DESC, - ) -> HRESULT, - fn CheckInterfaceSupport( - InterfaceName: REFGUID, - pUMDVersion: *mut LARGE_INTEGER, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xae02eedb, 0xc735, 0x4690, 0x8d, 0x52, 0x5a, 0x8d, 0xc2, 0x02, 0x13, 0xaa)] -interface IDXGIOutput(IDXGIOutputVtbl): IDXGIObject(IDXGIObjectVtbl) { - fn GetDesc( - pDesc: *mut DXGI_OUTPUT_DESC, - ) -> HRESULT, - fn GetDisplayModeList( - EnumFormat: DXGI_FORMAT, - Flags: UINT, - pNumModes: *mut UINT, - pDesc: *mut DXGI_MODE_DESC, - ) -> HRESULT, - fn FindClosestMatchingMode( - pModeToMatch: *const DXGI_MODE_DESC, - pClosestMatch: *mut DXGI_MODE_DESC, - pConcernedDevice: *mut IUnknown, - ) -> HRESULT, - fn WaitForVBlank() -> HRESULT, - fn TakeOwnership( - pDevice: *mut IUnknown, - Exclusive: BOOL, - ) -> HRESULT, - fn ReleaseOwnership() -> (), - fn GetGammaControlCapabilities( - pGammaCaps: *mut DXGI_GAMMA_CONTROL_CAPABILITIES, - ) -> HRESULT, - fn SetGammaControl( - pArray: *const DXGI_GAMMA_CONTROL, - ) -> HRESULT, - fn GetGammaControl( - pArray: *mut DXGI_GAMMA_CONTROL, - ) -> HRESULT, - fn SetDisplaySurface( - pScanoutSurface: *mut IDXGISurface, - ) -> HRESULT, - fn GetDisplaySurfaceData( - pDestination: *mut IDXGISurface, - ) -> HRESULT, - fn GetFrameStatistics( - pStats: *mut DXGI_FRAME_STATISTICS, - ) -> HRESULT, -}} -pub const DXGI_MAX_SWAP_CHAIN_BUFFERS: DWORD = 16; -pub const DXGI_PRESENT_TEST: DWORD = 0x00000001; -pub const DXGI_PRESENT_DO_NOT_SEQUENCE: DWORD = 0x00000002; -pub const DXGI_PRESENT_RESTART: DWORD = 0x00000004; -pub const DXGI_PRESENT_DO_NOT_WAIT: DWORD = 0x00000008; -pub const DXGI_PRESENT_STEREO_PREFER_RIGHT: DWORD = 0x00000010; -pub const DXGI_PRESENT_STEREO_TEMPORARY_MONO: DWORD = 0x00000020; -pub const DXGI_PRESENT_RESTRICT_TO_OUTPUT: DWORD = 0x00000040; -pub const DXGI_PRESENT_USE_DURATION: DWORD = 0x00000100; -pub const DXGI_PRESENT_ALLOW_TEARING: DWORD = 0x00000200; -pub const DXGI_ENUM_MODES_INTERLACED: UINT = 1; -pub const DXGI_ENUM_MODES_SCALING: UINT = 2; -RIDL!{#[uuid(0x310d36a0, 0xd2e7, 0x4c0a, 0xaa, 0x04, 0x6a, 0x9d, 0x23, 0xb8, 0x88, 0x6a)] -interface IDXGISwapChain(IDXGISwapChainVtbl): IDXGIDeviceSubObject(IDXGIDeviceSubObjectVtbl) { - fn Present( - SyncInterval: UINT, - Flags: UINT, - ) -> HRESULT, - fn GetBuffer( - Buffer: UINT, - riid: REFIID, - ppSurface: *mut *mut c_void, - ) -> HRESULT, - fn SetFullscreenState( - Fullscreen: BOOL, - pTarget: *mut IDXGIOutput, - ) -> HRESULT, - fn GetFullscreenState( - pFullscreen: *mut BOOL, - ppTarget: *mut *mut IDXGIOutput, - ) -> HRESULT, - fn GetDesc( - pDesc: *mut DXGI_SWAP_CHAIN_DESC, - ) -> HRESULT, - fn ResizeBuffers( - BufferCount: UINT, - Width: UINT, - Height: UINT, - NewFormat: DXGI_FORMAT, - SwapChainFlags: UINT, - ) -> HRESULT, - fn ResizeTarget( - pNewTargetParameters: *const DXGI_MODE_DESC, - ) -> HRESULT, - fn GetContainingOutput( - ppOutput: *mut *mut IDXGIOutput, - ) -> HRESULT, - fn GetFrameStatistics( - pStats: *mut DXGI_FRAME_STATISTICS, - ) -> HRESULT, - fn GetLastPresentCount( - pLastPresentCount: *mut UINT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x7b7166ec, 0x21c7, 0x44ae, 0xb2, 0x1a, 0xc9, 0xae, 0x32, 0x1a, 0xe3, 0x69)] -interface IDXGIFactory(IDXGIFactoryVtbl): IDXGIObject(IDXGIObjectVtbl) { - fn EnumAdapters( - Adapter: UINT, - ppAdapter: *mut *mut IDXGIAdapter, - ) -> HRESULT, - fn MakeWindowAssociation( - WindowHandle: HWND, - Flags: UINT, - ) -> HRESULT, - fn GetWindowAssociation( - pWindowHandle: *mut HWND, - ) -> HRESULT, - fn CreateSwapChain( - pDevice: *mut IUnknown, - pDesc: *mut DXGI_SWAP_CHAIN_DESC, - ppSwapChain: *mut *mut IDXGISwapChain, - ) -> HRESULT, - fn CreateSoftwareAdapter( - Module: HMODULE, - ppAdapter: *mut *mut IDXGIAdapter, - ) -> HRESULT, -}} -extern "system" { - pub fn CreateDXGIFactory( - riid: REFIID, - ppFactory: *mut *mut c_void, - ) -> HRESULT; - pub fn CreateDXGIFactory1( - riid: REFIID, - ppFactory: *mut *mut c_void, - ) -> HRESULT; -} -RIDL!{#[uuid(0x54ec77fa, 0x1377, 0x44e6, 0x8c, 0x32, 0x88, 0xfd, 0x5f, 0x44, 0xc8, 0x4c)] -interface IDXGIDevice(IDXGIDeviceVtbl): IDXGIObject(IDXGIObjectVtbl) { - fn GetAdapter( - pAdapter: *mut *mut IDXGIAdapter, - ) -> HRESULT, - fn CreateSurface( - pDesc: *const DXGI_SURFACE_DESC, - NumSurfaces: UINT, - Usage: DXGI_USAGE, - pSharedResource: *const DXGI_SHARED_RESOURCE, - ppSurface: *mut *mut IDXGISurface, - ) -> HRESULT, - fn QueryResourceResidency( - ppResources: *const *mut IUnknown, - pResidencyStatus: *mut DXGI_RESIDENCY, - NumResources: UINT, - ) -> HRESULT, - fn SetGPUThreadPriority( - Priority: INT, - ) -> HRESULT, - fn GetGPUThreadPriority( - pPriority: *mut INT, - ) -> HRESULT, -}} -ENUM!{enum DXGI_ADAPTER_FLAG { - DXGI_ADAPTER_FLAG_NONE, - DXGI_ADAPTER_FLAG_REMOTE, - DXGI_ADAPTER_FLAG_SOFTWARE, -}} -STRUCT!{struct DXGI_ADAPTER_DESC1 { - Description: [WCHAR; 128], - VendorId: UINT, - DeviceId: UINT, - SubSysId: UINT, - Revision: UINT, - DedicatedVideoMemory: SIZE_T, - DedicatedSystemMemory: SIZE_T, - SharedSystemMemory: SIZE_T, - AdapterLuid: LUID, - Flags: UINT, -}} -STRUCT!{struct DXGI_DISPLAY_COLOR_SPACE { - PrimaryCoordinates: [[FLOAT; 2]; 8], - WhitePoints: [[FLOAT; 2]; 16], -}} -RIDL!{#[uuid(0x770aae78, 0xf26f, 0x4dba, 0xa8, 0x29, 0x25, 0x3c, 0x83, 0xd1, 0xb3, 0x87)] -interface IDXGIFactory1(IDXGIFactory1Vtbl): IDXGIFactory(IDXGIFactoryVtbl) { - fn EnumAdapters1( - Adapter: UINT, - ppAdapter: *mut *mut IDXGIAdapter1, - ) -> HRESULT, - fn IsCurrent() -> BOOL, -}} -RIDL!{#[uuid(0x29038f61, 0x3839, 0x4626, 0x91, 0xfd, 0x08, 0x68, 0x79, 0x01, 0x1a, 0x05)] -interface IDXGIAdapter1(IDXGIAdapter1Vtbl): IDXGIAdapter(IDXGIAdapterVtbl) { - fn GetDesc1( - pDesc: *mut DXGI_ADAPTER_DESC1, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x77db970f, 0x6276, 0x48ba, 0xba, 0x28, 0x07, 0x01, 0x43, 0xb4, 0x39, 0x2c)] -interface IDXGIDevice1(IDXGIDevice1Vtbl): IDXGIDevice(IDXGIDeviceVtbl) { - fn SetMaximumFrameLatency( - MaxLatency: UINT, - ) -> HRESULT, - fn GetMaximumFrameLatency( - pMaxLatency: *mut UINT, - ) -> HRESULT, -}} -DEFINE_GUID!{IID_IDXGIObject, - 0xaec22fb8, 0x76f3, 0x4639, 0x9b, 0xe0, 0x28, 0xeb, 0x43, 0xa6, 0x7a, 0x2e} -DEFINE_GUID!{IID_IDXGIDeviceSubObject, - 0x3d3e0379, 0xf9de, 0x4d58, 0xbb, 0x6c, 0x18, 0xd6, 0x29, 0x92, 0xf1, 0xa6} -DEFINE_GUID!{IID_IDXGIResource, - 0x035f3ab4, 0x482e, 0x4e50, 0xb4, 0x1f, 0x8a, 0x7f, 0x8b, 0xd8, 0x96, 0x0b} -DEFINE_GUID!{IID_IDXGIKeyedMutex, - 0x9d8e1289, 0xd7b3, 0x465f, 0x81, 0x26, 0x25, 0x0e, 0x34, 0x9a, 0xf8, 0x5d} -DEFINE_GUID!{IID_IDXGISurface, - 0xcafcb56c, 0x6ac3, 0x4889, 0xbf, 0x47, 0x9e, 0x23, 0xbb, 0xd2, 0x60, 0xec} -DEFINE_GUID!{IID_IDXGISurface1, - 0x4ae63092, 0x6327, 0x4c1b, 0x80, 0xae, 0xbf, 0xe1, 0x2e, 0xa3, 0x2b, 0x86} -DEFINE_GUID!{IID_IDXGIAdapter, - 0x2411e7e1, 0x12ac, 0x4ccf, 0xbd, 0x14, 0x97, 0x98, 0xe8, 0x53, 0x4d, 0xc0} -DEFINE_GUID!{IID_IDXGIOutput, - 0xae02eedb, 0xc735, 0x4690, 0x8d, 0x52, 0x5a, 0x8d, 0xc2, 0x02, 0x13, 0xaa} -DEFINE_GUID!{IID_IDXGISwapChain, - 0x310d36a0, 0xd2e7, 0x4c0a, 0xaa, 0x04, 0x6a, 0x9d, 0x23, 0xb8, 0x88, 0x6a} -DEFINE_GUID!{IID_IDXGIFactory, - 0x7b7166ec, 0x21c7, 0x44ae, 0xb2, 0x1a, 0xc9, 0xae, 0x32, 0x1a, 0xe3, 0x69} -DEFINE_GUID!{IID_IDXGIDevice, - 0x54ec77fa, 0x1377, 0x44e6, 0x8c, 0x32, 0x88, 0xfd, 0x5f, 0x44, 0xc8, 0x4c} -DEFINE_GUID!{IID_IDXGIFactory1, - 0x770aae78, 0xf26f, 0x4dba, 0xa8, 0x29, 0x25, 0x3c, 0x83, 0xd1, 0xb3, 0x87} -DEFINE_GUID!{IID_IDXGIAdapter1, - 0x29038f61, 0x3839, 0x4626, 0x91, 0xfd, 0x08, 0x68, 0x79, 0x01, 0x1a, 0x05} -DEFINE_GUID!{IID_IDXGIDevice1, - 0x77db970f, 0x6276, 0x48ba, 0xba, 0x28, 0x07, 0x01, 0x43, 0xb4, 0x39, 0x2c} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/dxgi1_2.rs b/vendor/registry-40351f815f426200/winapi/src/shared/dxgi1_2.rs deleted file mode 100644 index 941f15e98..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/dxgi1_2.rs +++ /dev/null @@ -1,355 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of dxgi1_2.h -use ctypes::c_void; -use shared::basetsd::SIZE_T; -use shared::dxgi::{ - DXGI_MAPPED_RECT, DXGI_SWAP_EFFECT, IDXGIAdapter1, IDXGIAdapter1Vtbl, IDXGIDevice1, - IDXGIDevice1Vtbl, IDXGIFactory1, IDXGIFactory1Vtbl, IDXGIObject, IDXGIObjectVtbl, IDXGIOutput, - IDXGIOutputVtbl, IDXGIResource, IDXGIResourceVtbl, IDXGISurface1, IDXGISurface1Vtbl, - IDXGISwapChain, IDXGISwapChainVtbl, -}; -use shared::dxgiformat::DXGI_FORMAT; -use shared::dxgitype::{ - DXGI_MODE_DESC, DXGI_MODE_ROTATION, DXGI_MODE_SCALING, DXGI_MODE_SCANLINE_ORDER, DXGI_RATIONAL, - DXGI_RGBA, DXGI_SAMPLE_DESC, DXGI_USAGE, -}; -use shared::guiddef::REFGUID; -use shared::minwindef::{BOOL, DWORD, UINT}; -use shared::windef::{HWND, POINT, RECT}; -use um::minwinbase::SECURITY_ATTRIBUTES; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HANDLE, HRESULT, LARGE_INTEGER, LPCWSTR, LUID, WCHAR}; -ENUM!{enum DXGI_ALPHA_MODE { - DXGI_ALPHA_MODE_UNSPECIFIED = 0, - DXGI_ALPHA_MODE_PREMULTIPLIED = 1, - DXGI_ALPHA_MODE_STRAIGHT = 2, - DXGI_ALPHA_MODE_IGNORE = 3, - DXGI_ALPHA_MODE_FORCE_DWORD = 0xFFFFFFFF, -}} -ENUM!{enum DXGI_COMPUTE_PREEMPTION_GRANULARITY { - DXGI_COMPUTE_PREEMPTION_DMA_BUFFER_BOUNDARY = 0, - DXGI_COMPUTE_PREEMPTION_DISPATCH_BOUNDARY = 1, - DXGI_COMPUTE_PREEMPTION_THREAD_GROUP_BOUNDARY = 2, - DXGI_COMPUTE_PREEMPTION_THREAD_BOUNDARY = 3, - DXGI_COMPUTE_PREEMPTION_INSTRUCTION_BOUNDARY = 4, -}} -ENUM!{enum DXGI_GRAPHICS_PREEMPTION_GRANULARITY { - DXGI_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY = 0, - DXGI_GRAPHICS_PREEMPTION_PRIMITIVE_BOUNDARY = 1, - DXGI_GRAPHICS_PREEMPTION_TRIANGLE_BOUNDARY = 2, - DXGI_GRAPHICS_PREEMPTION_PIXEL_BOUNDARY = 3, - DXGI_GRAPHICS_PREEMPTION_INSTRUCTION_BOUNDARY = 4, -}} -ENUM!{enum DXGI_OUTDUPL_POINTER_SHAPE_TYPE { - DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MONOCHROME = 1, - DXGI_OUTDUPL_POINTER_SHAPE_TYPE_COLOR = 2, - DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MASKED_COLOR = 4, -}} -ENUM!{enum DXGI_SCALING { - DXGI_SCALING_STRETCH = 0, - DXGI_SCALING_NONE = 1, - DXGI_SCALING_ASPECT_RATIO_STRETCH = 2, -}} -ENUM!{enum _DXGI_OFFER_RESOURCE_PRIORITY { - DXGI_OFFER_RESOURCE_PRIORITY_LOW = 1, - DXGI_OFFER_RESOURCE_PRIORITY_NORMAL = 2, - DXGI_OFFER_RESOURCE_PRIORITY_HIGH = 3, -}} -STRUCT!{struct DXGI_ADAPTER_DESC2 { - Description: [WCHAR; 128], - VendorId: UINT, - DeviceId: UINT, - SubSysId: UINT, - Revision: UINT, - DedicatedVideoMemory: SIZE_T, - DedicatedSystemMemory: SIZE_T, - SharedSystemMemory: SIZE_T, - AdapterLuid: LUID, - Flags: UINT, - GraphicsPreemptionGranularity: DXGI_GRAPHICS_PREEMPTION_GRANULARITY, - ComputePreemptionGranularity: DXGI_COMPUTE_PREEMPTION_GRANULARITY, -}} -STRUCT!{struct DXGI_MODE_DESC1 { - Width: UINT, - Height: UINT, - RefreshRate: DXGI_RATIONAL, - Format: DXGI_FORMAT, - ScanlineOrdering: DXGI_MODE_SCANLINE_ORDER, - Scaling: DXGI_MODE_SCALING, - Stereo: BOOL, -}} -STRUCT!{struct DXGI_OUTDUPL_DESC { - ModeDesc: DXGI_MODE_DESC, - Rotation: DXGI_MODE_ROTATION, - DesktopImageInSystemMemory: BOOL, -}} -STRUCT!{struct DXGI_OUTDUPL_FRAME_INFO { - LastPresentTime: LARGE_INTEGER, - LastMouseUpdateTime: LARGE_INTEGER, - AccumulatedFrames: UINT, - RectsCoalesced: BOOL, - ProtectedContentMaskedOut: BOOL, - PointerPosition: DXGI_OUTDUPL_POINTER_POSITION, - TotalMetadataBufferSize: UINT, - PointerShapeBufferSize: UINT, -}} -STRUCT!{struct DXGI_OUTDUPL_MOVE_RECT { - SourcePoint: POINT, - DestinationRect: RECT, -}} -STRUCT!{struct DXGI_OUTDUPL_POINTER_POSITION { - Position: POINT, - Visible: BOOL, -}} -STRUCT!{struct DXGI_OUTDUPL_POINTER_SHAPE_INFO { - Type: UINT, - Width: UINT, - Height: UINT, - Pitch: UINT, - HotSpot: POINT, -}} -STRUCT!{struct DXGI_PRESENT_PARAMETERS { - DirtyRectsCount: UINT, - pDirtyRects: *mut RECT, - pScrollRect: *mut RECT, - pScrollOffset: *mut POINT, -}} -STRUCT!{struct DXGI_SWAP_CHAIN_DESC1 { - Width: UINT, - Height: UINT, - Format: DXGI_FORMAT, - Stereo: BOOL, - SampleDesc: DXGI_SAMPLE_DESC, - BufferUsage: DXGI_USAGE, - BufferCount: UINT, - Scaling: DXGI_SCALING, - SwapEffect: DXGI_SWAP_EFFECT, - AlphaMode: DXGI_ALPHA_MODE, - Flags: UINT, -}} -STRUCT!{struct DXGI_SWAP_CHAIN_FULLSCREEN_DESC { - RefreshRate: DXGI_RATIONAL, - ScanlineOrdering: DXGI_MODE_SCANLINE_ORDER, - Scaling: DXGI_MODE_SCALING, - Windowed: BOOL, -}} -RIDL!{#[uuid(0x0aa1ae0a, 0xfa0e, 0x4b84, 0x86, 0x44, 0xe0, 0x5f, 0xf8, 0xe5, 0xac, 0xb5)] -interface IDXGIAdapter2(IDXGIAdapter2Vtbl): IDXGIAdapter1(IDXGIAdapter1Vtbl) { - fn GetDesc2( - pDesc: *mut DXGI_ADAPTER_DESC2, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x05008617, 0xfbfd, 0x4051, 0xa7, 0x90, 0x14, 0x48, 0x84, 0xb4, 0xf6, 0xa9)] -interface IDXGIDevice2(IDXGIDevice2Vtbl): IDXGIDevice1(IDXGIDevice1Vtbl) { - fn OfferResources( - NumResources: UINT, - ppResources: *mut *mut IDXGIResource, - Priority: DXGI_OFFER_RESOURCE_PRIORITY, - ) -> HRESULT, - fn ReclaimResources( - NumResources: UINT, - ppResources: *mut *mut IDXGIResource, - pDiscarded: *mut BOOL, - ) -> HRESULT, - fn EnqueueSetEvent( - hEvent: HANDLE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xea9dbf1a, 0xc88e, 0x4486, 0x85, 0x4a, 0x98, 0xaa, 0x01, 0x38, 0xf3, 0x0c)] -interface IDXGIDisplayControl(IDXGIDisplayControlVtbl): IUnknown(IUnknownVtbl) { - fn IsStereoEnabled() -> BOOL, - fn SetStereoEnabled( - enabled: BOOL, - ) -> (), -}} -RIDL!{#[uuid(0x50c83a1c, 0xe072, 0x4c48, 0x87, 0xb0, 0x36, 0x30, 0xfa, 0x36, 0xa6, 0xd0)] -interface IDXGIFactory2(IDXGIFactory2Vtbl): IDXGIFactory1(IDXGIFactory1Vtbl) { - fn IsWindowedStereoEnabled() -> BOOL, - fn CreateSwapChainForHwnd( - pDevice: *mut IUnknown, - hWnd: HWND, - pDesc: *const DXGI_SWAP_CHAIN_DESC1, - pFullscreenDesc: *const DXGI_SWAP_CHAIN_FULLSCREEN_DESC, - pRestrictToOutput: *mut IDXGIOutput, - ppSwapChain: *mut *mut IDXGISwapChain1, - ) -> HRESULT, - fn CreateSwapChainForCoreWindow( - pDevice: *mut IUnknown, - pWindow: *mut IUnknown, - pDesc: *const DXGI_SWAP_CHAIN_DESC1, - pRestrictToOutput: *mut IDXGIOutput, - ppSwapChain: *mut *mut IDXGISwapChain1, - ) -> HRESULT, - fn GetSharedResourceAdapterLuid( - hResource: HANDLE, - pLuid: *mut LUID, - ) -> HRESULT, - fn RegisterStereoStatusWindow( - WindowHandle: HWND, - wMsg: UINT, - pdwCookie: *mut DWORD, - ) -> HRESULT, - fn RegisterStereoStatusEvent( - hEvent: HANDLE, - pdwCookie: *mut DWORD, - ) -> HRESULT, - fn UnregisterStereoStatus( - dwCookie: DWORD, - ) -> (), - fn RegisterOcclusionStatusWindow( - WindowHandle: HWND, - wMsg: UINT, - pdwCookie: *mut DWORD, - ) -> HRESULT, - fn RegisterOcclusionStatusEvent( - hEvent: HANDLE, - pdwCookie: *mut DWORD, - ) -> HRESULT, - fn UnregisterOcclusionStatus( - dwCookie: DWORD, - ) -> (), - fn CreateSwapChainForComposition( - pDevice: *mut IUnknown, - pDesc: *const DXGI_SWAP_CHAIN_DESC1, - pRestrictToOutput: *mut IDXGIOutput, - ppSwapChain: *mut *mut IDXGISwapChain1, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00cddea8, 0x939b, 0x4b83, 0xa3, 0x40, 0xa6, 0x85, 0x22, 0x66, 0x66, 0xcc)] -interface IDXGIOutput1(IDXGIOutput1Vtbl): IDXGIOutput(IDXGIOutputVtbl) { - fn GetDisplayModeList1( - EnumFormat: DXGI_FORMAT, - Flags: UINT, - pNumModes: *mut UINT, - pDesc: *mut DXGI_MODE_DESC1, - ) -> HRESULT, - fn FindClosestMatchingMode1( - pModeToMatch: *const DXGI_MODE_DESC1, - pClosestMatch: *mut DXGI_MODE_DESC1, - pConcernedDevice: *mut IUnknown, - ) -> HRESULT, - fn GetDisplaySurfaceData1( - pDestination: *mut IDXGIResource, - ) -> HRESULT, - fn DuplicateOutput( - pDevice: *mut IUnknown, - ppOutputDuplication: *mut *mut IDXGIOutputDuplication, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x191cfac3, 0xa341, 0x470d, 0xb2, 0x6e, 0xa8, 0x64, 0xf4, 0x28, 0x31, 0x9c)] -interface IDXGIOutputDuplication(IDXGIOutputDuplicationVtbl): IDXGIObject(IDXGIObjectVtbl) { - fn GetDesc( - pDesc: *mut DXGI_OUTDUPL_DESC, - ) -> (), - fn AcquireNextFrame( - TimeoutInMilliseconds: UINT, - pFrameInfo: *mut DXGI_OUTDUPL_FRAME_INFO, - ppDesktopResource: *mut *mut IDXGIResource, - ) -> HRESULT, - fn GetFrameDirtyRects( - DirtyRectsBufferSize: UINT, - pDirtyRectsBuffer: *mut RECT, - pDirtyRectsBufferSizeRequired: *mut UINT, - ) -> HRESULT, - fn GetFrameMoveRects( - MoveRectsBufferSize: UINT, - pMoveRectBuffer: *mut DXGI_OUTDUPL_MOVE_RECT, - pMoveRectsBufferSizeRequired: *mut UINT, - ) -> HRESULT, - fn GetFramePointerShape( - PointerShapeBufferSize: UINT, - pPointerShapeBuffer: *mut c_void, - pPointerShapeBufferSizeRequired: *mut UINT, - pPointerShapeInfo: *mut DXGI_OUTDUPL_POINTER_SHAPE_INFO, - ) -> HRESULT, - fn MapDesktopSurface( - pLockedRect: *mut DXGI_MAPPED_RECT, - ) -> HRESULT, - fn UnMapDesktopSurface() -> HRESULT, - fn ReleaseFrame() -> HRESULT, -}} -RIDL!{#[uuid(0x30961379, 0x4609, 0x4a41, 0x99, 0x8e, 0x54, 0xfe, 0x56, 0x7e, 0xe0, 0xc1)] -interface IDXGIResource1(IDXGIResource1Vtbl): IDXGIResource(IDXGIResourceVtbl) { - fn CreateSubresourceSurface( - index: UINT, - ppSurface: *mut *mut IDXGISurface2, - ) -> HRESULT, - fn CreateSharedHandle( - pAttributes: *const SECURITY_ATTRIBUTES, - dwAccess: DWORD, - lpName: LPCWSTR, - pHandle: *mut HANDLE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xaba496dd, 0xb617, 0x4cb8, 0xa8, 0x66, 0xbc, 0x44, 0xd7, 0xeb, 0x1f, 0xa2)] -interface IDXGISurface2(IDXGISurface2Vtbl): IDXGISurface1(IDXGISurface1Vtbl) { - fn GetResource( - riid: REFGUID, - ppParentResource: *mut *mut c_void, - pSubresourceIndex: *mut UINT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x790a45f7, 0x0d42, 0x4876, 0x98, 0x3a, 0x0a, 0x55, 0xcf, 0xe6, 0xf4, 0xaa)] -interface IDXGISwapChain1(IDXGISwapChain1Vtbl): IDXGISwapChain(IDXGISwapChainVtbl) { - fn GetDesc1( - pDesc: *mut DXGI_SWAP_CHAIN_DESC1, - ) -> HRESULT, - fn GetFullscreenDesc( - pDesc: *mut DXGI_SWAP_CHAIN_FULLSCREEN_DESC, - ) -> HRESULT, - fn GetHwnd( - pHwnd: *mut HWND, - ) -> HRESULT, - fn GetCoreWindow( - refiid: REFGUID, - ppUnk: *mut *mut c_void, - ) -> HRESULT, - fn Present1( - SyncInterval: UINT, - PresentFlags: UINT, - pPresentParameters: *const DXGI_PRESENT_PARAMETERS, - ) -> HRESULT, - fn IsTemporaryMonoSupported() -> BOOL, - fn GetRestrictToOutput( - ppRestrictToOutput: *mut *mut IDXGIOutput, - ) -> HRESULT, - fn SetBackgroundColor( - pColor: *const DXGI_RGBA, - ) -> HRESULT, - fn GetBackgroundColor( - pColor: *mut DXGI_RGBA, - ) -> HRESULT, - fn SetRotation( - Rotation: DXGI_MODE_ROTATION, - ) -> HRESULT, - fn GetRotation( - pRotation: *mut DXGI_MODE_ROTATION, - ) -> HRESULT, -}} -pub type DXGI_OFFER_RESOURCE_PRIORITY = _DXGI_OFFER_RESOURCE_PRIORITY; -pub const DXGI_ENUM_MODES_DISABLED_STEREO: UINT = 8; -pub const DXGI_ENUM_MODES_STEREO: UINT = 4; -pub const DXGI_SHARED_RESOURCE_READ: UINT = 0x80000000; -pub const DXGI_SHARED_RESOURCE_WRITE: UINT = 1; -DEFINE_GUID!{IID_IDXGIDisplayControl, - 0xea9dbf1a, 0xc88e, 0x4486, 0x85, 0x4a, 0x98, 0xaa, 0x01, 0x38, 0xf3, 0x0c} -DEFINE_GUID!{IID_IDXGIOutputDuplication, - 0x191cfac3, 0xa341, 0x470d, 0xb2, 0x6e, 0xa8, 0x64, 0xf4, 0x28, 0x31, 0x9c} -DEFINE_GUID!{IID_IDXGISurface2, - 0xaba496dd, 0xb617, 0x4cb8, 0xa8, 0x66, 0xbc, 0x44, 0xd7, 0xeb, 0x1f, 0xa2} -DEFINE_GUID!{IID_IDXGIResource1, - 0x30961379, 0x4609, 0x4a41, 0x99, 0x8e, 0x54, 0xfe, 0x56, 0x7e, 0xe0, 0xc1} -DEFINE_GUID!{IID_IDXGIDevice2, - 0x05008617, 0xfbfd, 0x4051, 0xa7, 0x90, 0x14, 0x48, 0x84, 0xb4, 0xf6, 0xa9} -DEFINE_GUID!{IID_IDXGISwapChain1, - 0x790a45f7, 0x0d42, 0x4876, 0x98, 0x3a, 0x0a, 0x55, 0xcf, 0xe6, 0xf4, 0xaa} -DEFINE_GUID!{IID_IDXGIFactory2, - 0x50c83a1c, 0xe072, 0x4c48, 0x87, 0xb0, 0x36, 0x30, 0xfa, 0x36, 0xa6, 0xd0} -DEFINE_GUID!{IID_IDXGIAdapter2, - 0x0aa1ae0a, 0xfa0e, 0x4b84, 0x86, 0x44, 0xe0, 0x5f, 0xf8, 0xe5, 0xac, 0xb5} -DEFINE_GUID!{IID_IDXGIOutput1, - 0x00cddea8, 0x939b, 0x4b83, 0xa3, 0x40, 0xa6, 0x85, 0x22, 0x66, 0x66, 0xcc} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/dxgi1_3.rs b/vendor/registry-40351f815f426200/winapi/src/shared/dxgi1_3.rs deleted file mode 100644 index caf346a61..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/dxgi1_3.rs +++ /dev/null @@ -1,190 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of dxgi1_3.h -use ctypes::c_void; -use shared::dxgi::{IDXGIOutput, IDXGIResource}; -use shared::dxgi1_2::{ - DXGI_SWAP_CHAIN_DESC1, IDXGIDevice2, IDXGIDevice2Vtbl, IDXGIFactory2, IDXGIFactory2Vtbl, - IDXGIOutput1, IDXGIOutput1Vtbl, IDXGISwapChain1, IDXGISwapChain1Vtbl, -}; -use shared::dxgiformat::DXGI_FORMAT; -use shared::guiddef::REFIID; -use shared::minwindef::{BOOL, FLOAT, UINT}; -use shared::windef::RECT; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HANDLE, HRESULT, LARGE_INTEGER}; -ENUM!{enum DXGI_FRAME_PRESENTATION_MODE { - DXGI_FRAME_PRESENTATION_MODE_COMPOSED = 0, - DXGI_FRAME_PRESENTATION_MODE_OVERLAY = 1, - DXGI_FRAME_PRESENTATION_MODE_NONE = 2, - DXGI_FRAME_PRESENTATION_MODE_COMPOSITION_FAILURE = 3, -}} -ENUM!{enum DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS { - DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_NOMINAL_RANGE = 0x1, - DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_BT709 = 0x2, - DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_xvYCC = 0x4, -}} -ENUM!{enum DXGI_OVERLAY_SUPPORT_FLAG { - DXGI_OVERLAY_SUPPORT_FLAG_DIRECT = 0x1, - DXGI_OVERLAY_SUPPORT_FLAG_SCALING = 0x2, -}} -STRUCT!{struct DXGI_DECODE_SWAP_CHAIN_DESC { - Flags: UINT, -}} -STRUCT!{struct DXGI_FRAME_STATISTICS_MEDIA { - PresentCount: UINT, - PresentRefreshCount: UINT, - SyncRefreshCount: UINT, - SyncQPCTime: LARGE_INTEGER, - SyncGPUTime: LARGE_INTEGER, - CompositionMode: DXGI_FRAME_PRESENTATION_MODE, - ApprovedPresentDuration: UINT, -}} -STRUCT!{struct DXGI_MATRIX_3X2_F { - _11: FLOAT, - _12: FLOAT, - _21: FLOAT, - _22: FLOAT, - _31: FLOAT, - _32: FLOAT, -}} -RIDL!{#[uuid(0x2633066b, 0x4514, 0x4c7a, 0x8f, 0xd8, 0x12, 0xea, 0x98, 0x05, 0x9d, 0x18)] -interface IDXGIDecodeSwapChain(IDXGIDecodeSwapChainVtbl): IUnknown(IUnknownVtbl) { - fn PresentBuffer( - BufferToPresent: UINT, - SyncInterval: UINT, - Flags: UINT, - ) -> HRESULT, - fn SetSourceRect( - pRect: *const RECT, - ) -> HRESULT, - fn SetTargetRect( - pRect: *const RECT, - ) -> HRESULT, - fn SetDestSize( - Width: UINT, - Height: UINT, - ) -> HRESULT, - fn GetSourceRect( - pRect: *mut RECT, - ) -> HRESULT, - fn GetTargetRect( - pRect: *mut RECT, - ) -> HRESULT, - fn GetDestSize( - pWidth: *mut UINT, - pHeight: *mut UINT, - ) -> HRESULT, - fn SetColorSpace( - ColorSpace: DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS, - ) -> HRESULT, - fn GetColorSpace() -> DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS, -}} -extern "system" { - pub fn CreateDXGIFactory2( - Flags: UINT, - riid: REFIID, - ppFactory: *mut *mut c_void, - ) -> HRESULT; - pub fn DXGIGetDebugInterface1( - Flags: UINT, - riid: REFIID, - pDebug: *mut *mut c_void, - ) -> HRESULT; -} -RIDL!{#[uuid(0x6007896c, 0x3244, 0x4afd, 0xbf, 0x18, 0xa6, 0xd3, 0xbe, 0xda, 0x50, 0x23)] -interface IDXGIDevice3(IDXGIDevice3Vtbl): IDXGIDevice2(IDXGIDevice2Vtbl) { - fn Trim() -> (), -}} -RIDL!{#[uuid(0x25483823, 0xcd46, 0x4c7d, 0x86, 0xca, 0x47, 0xaa, 0x95, 0xb8, 0x37, 0xbd)] -interface IDXGIFactory3(IDXGIFactory3Vtbl): IDXGIFactory2(IDXGIFactory2Vtbl) { - fn GetCreationFlags() -> UINT, -}} -RIDL!{#[uuid(0x41e7d1f2, 0xa591, 0x4f7b, 0xa2, 0xe5, 0xfa, 0x9c, 0x84, 0x3e, 0x1c, 0x12)] -interface IDXGIFactoryMedia(IDXGIFactoryMediaVtbl): IUnknown(IUnknownVtbl) { - fn CreateSwapChainForCompositionSurfaceHandle( - pDevice: *mut IUnknown, - hSurface: HANDLE, - pDesc: *const DXGI_SWAP_CHAIN_DESC1, - pRestrictToOutput: *mut IDXGIOutput, - ppSwapChain: *mut *mut IDXGISwapChain1, - ) -> HRESULT, - fn CreateDecodeSwapChainForCompositionSurfaceHandle( - pDevice: *mut IUnknown, - hSurface: HANDLE, - pDesc: *mut DXGI_DECODE_SWAP_CHAIN_DESC, - pYuvDecodeBuffers: *mut IDXGIResource, - pRestrictToOutput: *mut IDXGIOutput, - ppSwapChain: *mut *mut IDXGIDecodeSwapChain, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x595e39d1, 0x2724, 0x4663, 0x99, 0xb1, 0xda, 0x96, 0x9d, 0xe2, 0x83, 0x64)] -interface IDXGIOutput2(IDXGIOutput2Vtbl): IDXGIOutput1(IDXGIOutput1Vtbl) { - fn SupportsOverlays() -> BOOL, -}} -RIDL!{#[uuid(0x8a6bb301, 0x7e7e, 0x41f4, 0xa8, 0xe0, 0x5b, 0x32, 0xf7, 0xf9, 0x9b, 0x18)] -interface IDXGIOutput3(IDXGIOutput3Vtbl): IDXGIOutput2(IDXGIOutput2Vtbl) { - fn CheckOverlaySupport( - EnumFormat: DXGI_FORMAT, - pConcernedDevice: *mut IUnknown, - pFlags: *mut UINT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa8be2ac4, 0x199f, 0x4946, 0xb3, 0x31, 0x79, 0x59, 0x9f, 0xb9, 0x8d, 0xe7)] -interface IDXGISwapChain2(IDXGISwapChain2Vtbl): IDXGISwapChain1(IDXGISwapChain1Vtbl) { - fn SetSourceSize( - Width: UINT, - Height: UINT, - ) -> HRESULT, - fn GetSourceSize( - pWidth: *mut UINT, - pHeight: *mut UINT, - ) -> HRESULT, - fn SetMaximumFrameLatency( - MaxLatency: UINT, - ) -> HRESULT, - fn GetMaximumFrameLatency( - pMaxLatency: *mut UINT, - ) -> HRESULT, - fn GetFrameLatencyWaitableObject() -> HANDLE, - fn SetMatrixTransform( - pMatrix: *const DXGI_MATRIX_3X2_F, - ) -> HRESULT, - fn GetMatrixTransform( - pMatrix: *mut DXGI_MATRIX_3X2_F, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xdd95b90b, 0xf05f, 0x4f6a, 0xbd, 0x65, 0x25, 0xbf, 0xb2, 0x64, 0xbd, 0x84)] -interface IDXGISwapChainMedia(IDXGISwapChainMediaVtbl): IUnknown(IUnknownVtbl) { - fn GetFrameStatisticsMedia( - pStats: *mut DXGI_FRAME_STATISTICS_MEDIA, - ) -> HRESULT, - fn SetPresentDuration( - Duration: UINT, - ) -> HRESULT, - fn CheckPresentDurationSupport( - DesiredPresentDuration: UINT, - pClosestSmallerPresentDuration: *mut UINT, - pClosestLargerPresentDuration: *mut UINT, - ) -> HRESULT, -}} -pub const DXGI_CREATE_FACTORY_DEBUG: UINT = 0x1; -DEFINE_GUID!{IID_IDXGIDevice3, - 0x6007896c, 0x3244, 0x4afd, 0xbf, 0x18, 0xa6, 0xd3, 0xbe, 0xda, 0x50, 0x23} -DEFINE_GUID!{IID_IDXGISwapChain2, - 0xa8be2ac4, 0x199f, 0x4946, 0xb3, 0x31, 0x79, 0x59, 0x9f, 0xb9, 0x8d, 0xe7} -DEFINE_GUID!{IID_IDXGIOutput2, - 0x595e39d1, 0x2724, 0x4663, 0x99, 0xb1, 0xda, 0x96, 0x9d, 0xe2, 0x83, 0x64} -DEFINE_GUID!{IID_IDXGIFactory3, - 0x25483823, 0xcd46, 0x4c7d, 0x86, 0xca, 0x47, 0xaa, 0x95, 0xb8, 0x37, 0xbd} -DEFINE_GUID!{IID_IDXGIDecodeSwapChain, - 0x2633066b, 0x4514, 0x4c7a, 0x8f, 0xd8, 0x12, 0xea, 0x98, 0x05, 0x9d, 0x18} -DEFINE_GUID!{IID_IDXGIFactoryMedia, - 0x41e7d1f2, 0xa591, 0x4f7b, 0xa2, 0xe5, 0xfa, 0x9c, 0x84, 0x3e, 0x1c, 0x12} -DEFINE_GUID!{IID_IDXGISwapChainMedia, - 0xdd95b90b, 0xf05f, 0x4f6a, 0xbd, 0x65, 0x25, 0xbf, 0xb2, 0x64, 0xbd, 0x84} -DEFINE_GUID!{IID_IDXGIOutput3, - 0x8a6bb301, 0x7e7e, 0x41f4, 0xa8, 0xe0, 0x5b, 0x32, 0xf7, 0xf9, 0x9b, 0x18} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/dxgi1_4.rs b/vendor/registry-40351f815f426200/winapi/src/shared/dxgi1_4.rs deleted file mode 100644 index 53269e88d..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/dxgi1_4.rs +++ /dev/null @@ -1,112 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of dxgi1_4.h -use ctypes::c_void; -use shared::basetsd::UINT64; -use shared::dxgi1_2::{IDXGIAdapter2, IDXGIAdapter2Vtbl}; -use shared::dxgi1_3::{ - IDXGIFactory3, IDXGIFactory3Vtbl, IDXGIOutput3, IDXGIOutput3Vtbl, IDXGISwapChain2, - IDXGISwapChain2Vtbl, -}; -use shared::dxgiformat::DXGI_FORMAT; -use shared::dxgitype::DXGI_COLOR_SPACE_TYPE; -use shared::guiddef::REFGUID; -use shared::minwindef::{DWORD, UINT}; -use um::unknwnbase::IUnknown; -use um::winnt::{HANDLE, HRESULT, LUID}; -ENUM!{enum DXGI_MEMORY_SEGMENT_GROUP { - DXGI_MEMORY_SEGMENT_GROUP_LOCAL = 0, - DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL = 1, -}} -ENUM!{enum DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG { - DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG_PRESENT = 0x1, -}} -ENUM!{enum DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG { - DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_PRESENT = 0x1, - DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_OVERLAY_PRESENT = 0x2, -}} -STRUCT!{struct DXGI_QUERY_VIDEO_MEMORY_INFO { - Budget: UINT64, - CurrentUsage: UINT64, - AvailableForReservation: UINT64, - CurrentReservation: UINT64, -}} -RIDL!{#[uuid(0x645967a4, 0x1392, 0x4310, 0xa7, 0x98, 0x80, 0x53, 0xce, 0x3e, 0x93, 0xfd)] -interface IDXGIAdapter3(IDXGIAdapter3Vtbl): IDXGIAdapter2(IDXGIAdapter2Vtbl) { - fn RegisterHardwareContentProtectionTeardownStatusEvent( - hEvent: HANDLE, - pdwCookie: *mut DWORD, - ) -> HRESULT, - fn UnregisterHardwareContentProtectionTeardownStatus( - dwCookie: DWORD, - ) -> (), - fn QueryVideoMemoryInfo( - NodeIndex: UINT, - MemorySegmentGroup: DXGI_MEMORY_SEGMENT_GROUP, - pVideoMemoryInfo: *mut DXGI_QUERY_VIDEO_MEMORY_INFO, - ) -> HRESULT, - fn SetVideoMemoryReservation( - NodeIndex: UINT, - MemorySegmentGroup: DXGI_MEMORY_SEGMENT_GROUP, - Reservation: UINT64, - ) -> HRESULT, - fn RegisterVideoMemoryBudgetChangeNotificationEvent( - hEvent: HANDLE, - pdwCookie: *mut DWORD, - ) -> HRESULT, - fn UnregisterVideoMemoryBudgetChangeNotification( - dwCookie: DWORD, - ) -> (), -}} -RIDL!{#[uuid(0x1bc6ea02, 0xef36, 0x464f, 0xbf, 0x0c, 0x21, 0xca, 0x39, 0xe5, 0x16, 0x8a)] -interface IDXGIFactory4(IDXGIFactory4Vtbl): IDXGIFactory3(IDXGIFactory3Vtbl) { - fn EnumAdapterByLuid( - AdapterLuid: LUID, - riid: REFGUID, - ppvAdapter: *mut *mut c_void, - ) -> HRESULT, - fn EnumWarpAdapter( - riid: REFGUID, - ppvAdapter: *mut *mut c_void, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xdc7dca35, 0x2196, 0x414d, 0x9f, 0x53, 0x61, 0x78, 0x84, 0x03, 0x2a, 0x60)] -interface IDXGIOutput4(IDXGIOutput4Vtbl): IDXGIOutput3(IDXGIOutput3Vtbl) { - fn CheckOverlayColorSpaceSupport( - Format: DXGI_FORMAT, - ColorSpace: DXGI_COLOR_SPACE_TYPE, - pConcernedDevice: *mut IUnknown, - pFlags: *mut UINT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x94d99bdb, 0xf1f8, 0x4ab0, 0xb2, 0x36, 0x7d, 0xa0, 0x17, 0x0e, 0xda, 0xb1)] -interface IDXGISwapChain3(IDXGISwapChain3Vtbl): IDXGISwapChain2(IDXGISwapChain2Vtbl) { - fn GetCurrentBackBufferIndex() -> UINT, - fn CheckColorSpaceSupport( - ColorSpace: DXGI_COLOR_SPACE_TYPE, - pColorSpaceSupport: *mut UINT, - ) -> HRESULT, - fn SetColorSpace1( - ColorSpace: DXGI_COLOR_SPACE_TYPE, - ) -> HRESULT, - fn ResizeBuffers1( - BufferCount: UINT, - Width: UINT, - Height: UINT, - Format: DXGI_FORMAT, - SwapChainFlags: UINT, - pCreationNodeMask: *const UINT, - ppPresentQueue: *mut *mut IUnknown, - ) -> HRESULT, -}} -DEFINE_GUID!{IID_IDXGISwapChain3, - 0x94d99bdb, 0xf1f8, 0x4ab0, 0xb2, 0x36, 0x7d, 0xa0, 0x17, 0x0e, 0xda, 0xb1} -DEFINE_GUID!{IID_IDXGIOutput4, - 0xdc7dca35, 0x2196, 0x414d, 0x9f, 0x53, 0x61, 0x78, 0x84, 0x03, 0x2a, 0x60} -DEFINE_GUID!{IID_IDXGIFactory4, - 0x1bc6ea02, 0xef36, 0x464f, 0xbf, 0x0c, 0x21, 0xca, 0x39, 0xe5, 0x16, 0x8a} -DEFINE_GUID!{IID_IDXGIAdapter3, - 0x645967a4, 0x1392, 0x4310, 0xa7, 0x98, 0x80, 0x53, 0xce, 0x3e, 0x93, 0xfd} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/dxgi1_5.rs b/vendor/registry-40351f815f426200/winapi/src/shared/dxgi1_5.rs deleted file mode 100644 index a0500a247..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/dxgi1_5.rs +++ /dev/null @@ -1,92 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of dxgi1_5.h -use ctypes::c_void; -use shared::basetsd::UINT16; -use shared::dxgi::IDXGIResource; -use shared::dxgi1_2::{DXGI_OFFER_RESOURCE_PRIORITY, IDXGIOutputDuplication}; -use shared::dxgi1_3::{IDXGIDevice3, IDXGIDevice3Vtbl}; -use shared::dxgi1_4::{ - IDXGIFactory4, IDXGIFactory4Vtbl, IDXGIOutput4, IDXGIOutput4Vtbl, IDXGISwapChain3, - IDXGISwapChain3Vtbl, -}; -use shared::dxgiformat::DXGI_FORMAT; -use shared::minwindef::UINT; -use um::unknwnbase::IUnknown; -use um::winnt::HRESULT; -RIDL!{#[uuid(0x80a07424, 0xab52, 0x42eb, 0x83, 0x3c, 0x0c, 0x42, 0xfd, 0x28, 0x2d, 0x98)] -interface IDXGIOutput5(IDXGIOutput5Vtbl): IDXGIOutput4(IDXGIOutput4Vtbl) { - fn DuplicateOutput1( - pDevice: *mut IUnknown, - Flags: UINT, - SupportedFormatsCount: UINT, - pSupportedFormats: *const DXGI_FORMAT, - ppOutputDuplication: *mut *mut IDXGIOutputDuplication, - )-> HRESULT, -}} -ENUM!{enum DXGI_HDR_METADATA_TYPE { - DXGI_HDR_METADATA_TYPE_NONE = 0, - DXGI_HDR_METADATA_TYPE_HDR10 = 1, -}} -STRUCT!{struct DXGI_HDR_METADATA_HDR10 { - RedPrimary: [UINT16; 2], - GreenPrimary: [UINT16; 2], - BluePrimary: [UINT16; 2], - WhitePoint: [UINT16; 2], - MaxMasteringLuminance: UINT, - MinMasteringLuminance: UINT, - MaxContentLightLevel: UINT16, - MaxFrameAverageLightLevel: UINT16, -}} -RIDL!{#[uuid(0x3d585d5a, 0xbd4a, 0x489e, 0xb1, 0xf4, 0x3d, 0xbc, 0xb6, 0x45, 0x2f, 0xfb)] -interface IDXGISwapChain4(IDXGISwapChain4Vtbl): IDXGISwapChain3(IDXGISwapChain3Vtbl) { - fn SetHDRMetaData( - Type: DXGI_HDR_METADATA_TYPE, - Size: UINT, - pMetaData: *mut c_void, - )-> HRESULT, -}} -ENUM!{enum DXGI_OFFER_RESOURCE_FLAGS { - DXGI_OFFER_RESOURCE_FLAG_ALLOW_DECOMMIT = 0x1, -}} -ENUM!{enum DXGI_RECLAIM_RESOURCE_RESULTS { - DXGI_RECLAIM_RESOURCE_RESULT_OK = 0, - DXGI_RECLAIM_RESOURCE_RESULT_DISCARDED = 1, - DXGI_RECLAIM_RESOURCE_RESULT_NOT_COMMITTED = 2, -}} -RIDL!{#[uuid(0x95b4f95f, 0xd8da, 0x4ca4, 0x9e, 0xe6, 0x3b, 0x76, 0xd5, 0x96, 0x8a, 0x10)] -interface IDXGIDevice4(IDXGIDevice4Vtbl): IDXGIDevice3(IDXGIDevice3Vtbl) { - fn OfferResources1( - NumResources: UINT, - ppResources: *mut *mut IDXGIResource, - Priority: DXGI_OFFER_RESOURCE_PRIORITY, - Flags: UINT, - ) -> HRESULT, - fn ReclaimResources1( - NumResources: UINT, - ppResources: *mut *mut IDXGIResource, - pResults: *mut DXGI_RECLAIM_RESOURCE_RESULTS, - ) -> HRESULT, -}} -ENUM!{enum DXGI_FEATURE { - DXGI_FEATURE_PRESENT_ALLOW_TEARING = 0, -}} -RIDL!{#[uuid(0x7632e1f5, 0xee65, 0x4dca, 0x87, 0xfd, 0x84, 0xcd, 0x75, 0xf8, 0x83, 0x8d)] -interface IDXGIFactory5(IDXGIFactory5Vtbl): IDXGIFactory4(IDXGIFactory4Vtbl) { - fn CheckFeatureSupport( - Feature: DXGI_FEATURE, - pFeatureSupportData: *mut c_void, - FeatureSupportDataSize: UINT, - ) -> HRESULT, -}} -DEFINE_GUID!{IID_IDXGIOutput5, - 0x80A07424, 0xAB52, 0x42EB, 0x83, 0x3C, 0x0C, 0x42, 0xFD, 0x28, 0x2D, 0x98} -DEFINE_GUID!{IID_IDXGISwapChain4, - 0x3D585D5A, 0xBD4A, 0x489E, 0xB1, 0xF4, 0x3D, 0xBC, 0xB6, 0x45, 0x2F, 0xFB} -DEFINE_GUID!{IID_IDXGIDevice4, - 0x95B4F95F, 0xD8DA, 0x4CA4, 0x9E, 0xE6, 0x3B, 0x76, 0xD5, 0x96, 0x8A, 0x10} -DEFINE_GUID!{IID_IDXGIFactory5, - 0x7632e1f5, 0xee65, 0x4dca, 0x87, 0xfd, 0x84, 0xcd, 0x75, 0xf8, 0x83, 0x8d} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/dxgi1_6.rs b/vendor/registry-40351f815f426200/winapi/src/shared/dxgi1_6.rs deleted file mode 100644 index 30af20519..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/dxgi1_6.rs +++ /dev/null @@ -1,98 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of dxgi1_6.h -use ctypes::c_void; -use shared::basetsd::SIZE_T; -use shared::dxgi1_2::{ - DXGI_COMPUTE_PREEMPTION_GRANULARITY, DXGI_GRAPHICS_PREEMPTION_GRANULARITY, -}; -use shared::dxgi1_4::{IDXGIAdapter3, IDXGIAdapter3Vtbl}; -use shared::dxgi1_5::{IDXGIFactory5, IDXGIFactory5Vtbl, IDXGIOutput5, IDXGIOutput5Vtbl}; -use shared::dxgitype::{DXGI_COLOR_SPACE_TYPE, DXGI_MODE_ROTATION}; -use shared::guiddef::REFIID; -use shared::minwindef::{BOOL, FLOAT, UINT}; -use shared::windef::{HMONITOR, RECT}; -use um::winnt::{HRESULT, LUID, WCHAR}; -ENUM!{enum DXGI_ADAPTER_FLAG3 { - DXGI_ADAPTER_FLAG3_NONE = 0, - DXGI_ADAPTER_FLAG3_REMOTE = 1, - DXGI_ADAPTER_FLAG3_SOFTWARE = 2, - DXGI_ADAPTER_FLAG3_ACG_COMPATIBLE = 4, - DXGI_ADAPTER_FLAG3_SUPPORT_MONITORED_FENCES = 8, - DXGI_ADAPTER_FLAG3_SUPPORT_NON_MONITORED_FENCES = 0x10, - DXGI_ADAPTER_FLAG3_KEYED_MUTEX_CONFORMANCE = 0x20, - DXGI_ADAPTER_FLAG3_FORCE_DWORD = 0xFFFFFFFF, -}} -STRUCT!{struct DXGI_ADAPTER_DESC3 { - Description: [WCHAR; 128], - VendorID: UINT, - DeviceID: UINT, - SubSysID: UINT, - Revision: UINT, - DedicatedVideoMemory: SIZE_T, - DedicatedSystemMemory: SIZE_T, - SharedSystemMemory: SIZE_T, - AdapterLuid: LUID, - Flags: DXGI_ADAPTER_FLAG3, - GraphicsPreemptionGranularity: DXGI_GRAPHICS_PREEMPTION_GRANULARITY, - ComputePreemptionGranularity: DXGI_COMPUTE_PREEMPTION_GRANULARITY, -}} -RIDL!{#[uuid(0x3c8d99d1, 0x4fbf, 0x4181, 0xa8, 0x2c, 0xaf, 0x66, 0xbf, 0x7b, 0xd2, 0x4e)] -interface IDXGIAdapter4(IDXGIAdapter4Vtbl): IDXGIAdapter3(IDXGIAdapter3Vtbl) { - fn GetDesc3( - pDesc: *mut DXGI_ADAPTER_DESC3, - ) -> HRESULT, -}} -STRUCT!{struct DXGI_OUTPUT_DESC1 { - DeviceName: [WCHAR; 32], - DesktopCoordinates: RECT, - AttachedToDesktop: BOOL, - Rotation: DXGI_MODE_ROTATION, - Monitor: HMONITOR, - BitsPerColor: UINT, - ColorSpace: DXGI_COLOR_SPACE_TYPE, - RedPrimary: [FLOAT; 2], - GreenPrimary: [FLOAT; 2], - BluePrimary: [FLOAT; 2], - WhitePoint: [FLOAT; 2], - MinLuminance: FLOAT, - MaxLuminance: FLOAT, - MaxFullFrameLuminance: FLOAT, -}} -ENUM!{enum DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS { - DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_FULLSCREEN = 1, - DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_WINDOWED = 2, - DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_CURSOR_STRETCHED = 4, -}} -RIDL!{#[uuid(0x068346e8, 0xaaec, 0x4b84, 0xad, 0xd7, 0x13, 0x7f, 0x51, 0x3f, 0x77, 0xa1)] -interface IDXGIOutput6(IDXGIOutput6Vtbl): IDXGIOutput5(IDXGIOutput5Vtbl) { - fn GetDesc1( - pDesc: *mut DXGI_OUTPUT_DESC1, - ) -> HRESULT, - fn CheckHardwareCompositionSupport( - pFlags: *mut UINT, - ) -> HRESULT, -}} -ENUM!{enum DXGI_GPU_PREFERENCE { - DXGI_GPU_PREFERENCE_UNSPECIFIED = 0, - DXGI_GPU_PREFERENCE_MINIMUM_POWER = 1, - DXGI_GPU_PREFERENCE_HIGH_PERFORMANCE = 2, -}} -RIDL!{#[uuid(0xc1b6694f, 0xff09, 0x44a9, 0xb0, 0x3c, 0x77, 0x90, 0x0a, 0x0a, 0x1d, 0x17)] -interface IDXGIFactory6(IDXGIFactory6Vtbl): IDXGIFactory5(IDXGIFactory5Vtbl) { - fn EnumAdapterByGpuPreference( - Adapter: UINT, - GpuPreference: DXGI_GPU_PREFERENCE, - riid: REFIID, - ppvAdapter: *mut *mut c_void, - ) -> HRESULT, -}} -DEFINE_GUID!{IID_IDXGIAdapter4, - 0x3c8d99d1, 0x4fbf, 0x4181, 0xa8, 0x2c, 0xaf, 0x66, 0xbf, 0x7b, 0xd2, 0x4e} -DEFINE_GUID!{IID_IDXGIOutput6, - 0x068346e8, 0xaaec, 0x4b84, 0xad, 0xd7, 0x13, 0x7f, 0x51, 0x3f, 0x77, 0xa1} -DEFINE_GUID!{IID_IDXGIFactory6, - 0xc1b6694f, 0xff09, 0x44a9, 0xb0, 0x3c, 0x77, 0x90, 0x0a, 0x0a, 0x1d, 0x17} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/dxgiformat.rs b/vendor/registry-40351f815f426200/winapi/src/shared/dxgiformat.rs deleted file mode 100644 index 84cd23fa2..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/dxgiformat.rs +++ /dev/null @@ -1,127 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of dxgiformat.h -ENUM!{enum DXGI_FORMAT { - DXGI_FORMAT_UNKNOWN = 0, - DXGI_FORMAT_R32G32B32A32_TYPELESS = 1, - DXGI_FORMAT_R32G32B32A32_FLOAT = 2, - DXGI_FORMAT_R32G32B32A32_UINT = 3, - DXGI_FORMAT_R32G32B32A32_SINT = 4, - DXGI_FORMAT_R32G32B32_TYPELESS = 5, - DXGI_FORMAT_R32G32B32_FLOAT = 6, - DXGI_FORMAT_R32G32B32_UINT = 7, - DXGI_FORMAT_R32G32B32_SINT = 8, - DXGI_FORMAT_R16G16B16A16_TYPELESS = 9, - DXGI_FORMAT_R16G16B16A16_FLOAT = 10, - DXGI_FORMAT_R16G16B16A16_UNORM = 11, - DXGI_FORMAT_R16G16B16A16_UINT = 12, - DXGI_FORMAT_R16G16B16A16_SNORM = 13, - DXGI_FORMAT_R16G16B16A16_SINT = 14, - DXGI_FORMAT_R32G32_TYPELESS = 15, - DXGI_FORMAT_R32G32_FLOAT = 16, - DXGI_FORMAT_R32G32_UINT = 17, - DXGI_FORMAT_R32G32_SINT = 18, - DXGI_FORMAT_R32G8X24_TYPELESS = 19, - DXGI_FORMAT_D32_FLOAT_S8X24_UINT = 20, - DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS = 21, - DXGI_FORMAT_X32_TYPELESS_G8X24_UINT = 22, - DXGI_FORMAT_R10G10B10A2_TYPELESS = 23, - DXGI_FORMAT_R10G10B10A2_UNORM = 24, - DXGI_FORMAT_R10G10B10A2_UINT = 25, - DXGI_FORMAT_R11G11B10_FLOAT = 26, - DXGI_FORMAT_R8G8B8A8_TYPELESS = 27, - DXGI_FORMAT_R8G8B8A8_UNORM = 28, - DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = 29, - DXGI_FORMAT_R8G8B8A8_UINT = 30, - DXGI_FORMAT_R8G8B8A8_SNORM = 31, - DXGI_FORMAT_R8G8B8A8_SINT = 32, - DXGI_FORMAT_R16G16_TYPELESS = 33, - DXGI_FORMAT_R16G16_FLOAT = 34, - DXGI_FORMAT_R16G16_UNORM = 35, - DXGI_FORMAT_R16G16_UINT = 36, - DXGI_FORMAT_R16G16_SNORM = 37, - DXGI_FORMAT_R16G16_SINT = 38, - DXGI_FORMAT_R32_TYPELESS = 39, - DXGI_FORMAT_D32_FLOAT = 40, - DXGI_FORMAT_R32_FLOAT = 41, - DXGI_FORMAT_R32_UINT = 42, - DXGI_FORMAT_R32_SINT = 43, - DXGI_FORMAT_R24G8_TYPELESS = 44, - DXGI_FORMAT_D24_UNORM_S8_UINT = 45, - DXGI_FORMAT_R24_UNORM_X8_TYPELESS = 46, - DXGI_FORMAT_X24_TYPELESS_G8_UINT = 47, - DXGI_FORMAT_R8G8_TYPELESS = 48, - DXGI_FORMAT_R8G8_UNORM = 49, - DXGI_FORMAT_R8G8_UINT = 50, - DXGI_FORMAT_R8G8_SNORM = 51, - DXGI_FORMAT_R8G8_SINT = 52, - DXGI_FORMAT_R16_TYPELESS = 53, - DXGI_FORMAT_R16_FLOAT = 54, - DXGI_FORMAT_D16_UNORM = 55, - DXGI_FORMAT_R16_UNORM = 56, - DXGI_FORMAT_R16_UINT = 57, - DXGI_FORMAT_R16_SNORM = 58, - DXGI_FORMAT_R16_SINT = 59, - DXGI_FORMAT_R8_TYPELESS = 60, - DXGI_FORMAT_R8_UNORM = 61, - DXGI_FORMAT_R8_UINT = 62, - DXGI_FORMAT_R8_SNORM = 63, - DXGI_FORMAT_R8_SINT = 64, - DXGI_FORMAT_A8_UNORM = 65, - DXGI_FORMAT_R1_UNORM = 66, - DXGI_FORMAT_R9G9B9E5_SHAREDEXP = 67, - DXGI_FORMAT_R8G8_B8G8_UNORM = 68, - DXGI_FORMAT_G8R8_G8B8_UNORM = 69, - DXGI_FORMAT_BC1_TYPELESS = 70, - DXGI_FORMAT_BC1_UNORM = 71, - DXGI_FORMAT_BC1_UNORM_SRGB = 72, - DXGI_FORMAT_BC2_TYPELESS = 73, - DXGI_FORMAT_BC2_UNORM = 74, - DXGI_FORMAT_BC2_UNORM_SRGB = 75, - DXGI_FORMAT_BC3_TYPELESS = 76, - DXGI_FORMAT_BC3_UNORM = 77, - DXGI_FORMAT_BC3_UNORM_SRGB = 78, - DXGI_FORMAT_BC4_TYPELESS = 79, - DXGI_FORMAT_BC4_UNORM = 80, - DXGI_FORMAT_BC4_SNORM = 81, - DXGI_FORMAT_BC5_TYPELESS = 82, - DXGI_FORMAT_BC5_UNORM = 83, - DXGI_FORMAT_BC5_SNORM = 84, - DXGI_FORMAT_B5G6R5_UNORM = 85, - DXGI_FORMAT_B5G5R5A1_UNORM = 86, - DXGI_FORMAT_B8G8R8A8_UNORM = 87, - DXGI_FORMAT_B8G8R8X8_UNORM = 88, - DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM = 89, - DXGI_FORMAT_B8G8R8A8_TYPELESS = 90, - DXGI_FORMAT_B8G8R8A8_UNORM_SRGB = 91, - DXGI_FORMAT_B8G8R8X8_TYPELESS = 92, - DXGI_FORMAT_B8G8R8X8_UNORM_SRGB = 93, - DXGI_FORMAT_BC6H_TYPELESS = 94, - DXGI_FORMAT_BC6H_UF16 = 95, - DXGI_FORMAT_BC6H_SF16 = 96, - DXGI_FORMAT_BC7_TYPELESS = 97, - DXGI_FORMAT_BC7_UNORM = 98, - DXGI_FORMAT_BC7_UNORM_SRGB = 99, - DXGI_FORMAT_AYUV = 100, - DXGI_FORMAT_Y410 = 101, - DXGI_FORMAT_Y416 = 102, - DXGI_FORMAT_NV12 = 103, - DXGI_FORMAT_P010 = 104, - DXGI_FORMAT_P016 = 105, - DXGI_FORMAT_420_OPAQUE = 106, - DXGI_FORMAT_YUY2 = 107, - DXGI_FORMAT_Y210 = 108, - DXGI_FORMAT_Y216 = 109, - DXGI_FORMAT_NV11 = 110, - DXGI_FORMAT_AI44 = 111, - DXGI_FORMAT_IA44 = 112, - DXGI_FORMAT_P8 = 113, - DXGI_FORMAT_A8P8 = 114, - DXGI_FORMAT_B4G4R4A4_UNORM = 115, - DXGI_FORMAT_P208 = 130, - DXGI_FORMAT_V208 = 131, - DXGI_FORMAT_V408 = 132, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/dxgitype.rs b/vendor/registry-40351f815f426200/winapi/src/shared/dxgitype.rs deleted file mode 100644 index d09dccde5..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/dxgitype.rs +++ /dev/null @@ -1,109 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of dxgitype.h -use shared::d3d9types::D3DCOLORVALUE; -use shared::dxgiformat::DXGI_FORMAT; -use shared::minwindef::{BOOL, BYTE, DWORD, UINT}; -pub const DXGI_CPU_ACCESS_NONE: DWORD = 0; -pub const DXGI_CPU_ACCESS_DYNAMIC: DWORD = 1; -pub const DXGI_CPU_ACCESS_READ_WRITE: DWORD = 2; -pub const DXGI_CPU_ACCESS_SCRATCH: DWORD = 3; -pub const DXGI_CPU_ACCESS_FIELD: DWORD = 15; -ENUM!{enum DXGI_USAGE { - DXGI_USAGE_SHADER_INPUT = 1 << (0 + 4), - DXGI_USAGE_RENDER_TARGET_OUTPUT = 1 << (1 + 4), - DXGI_USAGE_BACK_BUFFER = 1 << (2 + 4), - DXGI_USAGE_SHARED = 1 << (3 + 4), - DXGI_USAGE_READ_ONLY = 1 << (4 + 4), - DXGI_USAGE_DISCARD_ON_PRESENT = 1 << (5 + 4), - DXGI_USAGE_UNORDERED_ACCESS = 1 << (6 + 4), -}} -STRUCT!{struct DXGI_RGB { - Red: f32, - Green: f32, - Blue: f32, -}} -pub type DXGI_RGBA = D3DCOLORVALUE; -STRUCT!{struct DXGI_GAMMA_CONTROL { - Scale: DXGI_RGB, - Offset: DXGI_RGB, - GammaCurve: [DXGI_RGB; 1025], -}} -STRUCT!{struct DXGI_GAMMA_CONTROL_CAPABILITIES { - ScaleAndOffsetSupported: BOOL, - MaxConvertedValue: f32, - MinConvertedValue: f32, - NumGammaControlPoints: UINT, - ControlPointPositions: [f32; 1025], -}} -STRUCT!{struct DXGI_RATIONAL { - Numerator: UINT, - Denominator: UINT, -}} -ENUM!{enum DXGI_MODE_SCANLINE_ORDER { - DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED, - DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE, - DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST, - DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST, -}} -ENUM!{enum DXGI_MODE_SCALING { - DXGI_MODE_SCALING_UNSPECIFIED, - DXGI_MODE_SCALING_CENTERED, - DXGI_MODE_SCALING_STRETCHED, -}} -ENUM!{enum DXGI_MODE_ROTATION { - DXGI_MODE_ROTATION_UNSPECIFIED, - DXGI_MODE_ROTATION_IDENTITY, - DXGI_MODE_ROTATION_ROTATE90, - DXGI_MODE_ROTATION_ROTATE180, - DXGI_MODE_ROTATION_ROTATE270, -}} -STRUCT!{struct DXGI_MODE_DESC { - Width: UINT, - Height: UINT, - RefreshRate: DXGI_RATIONAL, - Format: DXGI_FORMAT, - ScanlineOrdering: DXGI_MODE_SCANLINE_ORDER, - Scaling: DXGI_MODE_SCALING, -}} -STRUCT!{struct DXGI_SAMPLE_DESC { - Count: UINT, - Quality: UINT, -}} -STRUCT!{struct DXGI_JPEG_DC_HUFFMAN_TABLE { - CodeCounts: [BYTE; 12], - CodeValues: [BYTE; 12], -}} -STRUCT!{struct DXGI_JPEG_AC_HUFFMAN_TABLE { - CodeCounts: [BYTE; 16], - CodeValues: [BYTE; 162], -}} -STRUCT!{struct DXGI_JPEG_QUANTIZATION_TABLE { - Elements: [BYTE; 64], -}} -ENUM!{enum DXGI_COLOR_SPACE_TYPE { - DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 = 0, - DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709 = 1, - DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709 = 2, - DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020 = 3, - DXGI_COLOR_SPACE_RESERVED = 4, - DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601 = 5, - DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601 = 6, - DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601 = 7, - DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709 = 8, - DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709 = 9, - DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020 = 10, - DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020 = 11, - DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020 = 12, - DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_LEFT_P2020 = 13, - DXGI_COLOR_SPACE_RGB_STUDIO_G2084_NONE_P2020 = 14, - DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_TOPLEFT_P2020 = 15, - DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020 = 16, - DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P2020 = 17, - DXGI_COLOR_SPACE_CUSTOM = 0xFFFFFFFF, -}} -pub const DXGI_CENTER_MULTISAMPLE_QUALITY_PATTERN: UINT = 0xfffffffe; -pub const DXGI_STANDARD_MULTISAMPLE_QUALITY_PATTERN: UINT = 0xffffffff; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/evntprov.rs b/vendor/registry-40351f815f426200/winapi/src/shared/evntprov.rs deleted file mode 100644 index 455ff5d29..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/evntprov.rs +++ /dev/null @@ -1,309 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::{SIZE_T, ULONG64}; -use shared::guiddef::{LPCGUID, LPGUID}; -use shared::minwindef::{UCHAR, ULONG, USHORT}; -use um::winnt::{ANYSIZE_ARRAY, BOOLEAN, PCWSTR, PVOID, ULONGLONG, VOID}; -pub const EVENT_MIN_LEVEL: UCHAR = 0; -pub const EVENT_MAX_LEVEL: UCHAR = 0xff; -pub const EVENT_ACTIVITY_CTRL_GET_ID: ULONG = 1; -pub const EVENT_ACTIVITY_CTRL_SET_ID: ULONG = 2; -pub const EVENT_ACTIVITY_CTRL_CREATE_ID: ULONG = 3; -pub const EVENT_ACTIVITY_CTRL_GET_SET_ID: ULONG = 4; -pub const EVENT_ACTIVITY_CTRL_CREATE_SET_ID: ULONG = 5; -pub const MAX_EVENT_DATA_DESCRIPTORS: SIZE_T = 128; -pub const MAX_EVENT_FILTER_DATA_SIZE: SIZE_T = 1024; -pub const MAX_EVENT_FILTER_PAYLOAD_SIZE: SIZE_T = 4096; -pub const MAX_EVENT_FILTER_EVENT_NAME_SIZE: SIZE_T = 4096; -pub const MAX_EVENT_FILTERS_COUNT: SIZE_T = 8; -pub const MAX_EVENT_FILTER_PID_COUNT: SIZE_T = 8; -pub const MAX_EVENT_FILTER_EVENT_ID_COUNT: SIZE_T = 64; -pub const EVENT_FILTER_TYPE_NONE: ULONG = 0x00000000; -pub const EVENT_FILTER_TYPE_SCHEMATIZED: ULONG = 0x80000000; -pub const EVENT_FILTER_TYPE_SYSTEM_FLAGS: ULONG = 0x80000001; -pub const EVENT_FILTER_TYPE_TRACEHANDLE: ULONG = 0x80000002; -pub const EVENT_FILTER_TYPE_PID: ULONG = 0x80000004; -pub const EVENT_FILTER_TYPE_EXECUTABLE_NAME: ULONG = 0x80000008; -pub const EVENT_FILTER_TYPE_PACKAGE_ID: ULONG = 0x80000010; -pub const EVENT_FILTER_TYPE_PACKAGE_APP_ID: ULONG = 0x80000020; -pub const EVENT_FILTER_TYPE_PAYLOAD: ULONG = 0x80000100; -pub const EVENT_FILTER_TYPE_EVENT_ID: ULONG = 0x80000200; -pub const EVENT_FILTER_TYPE_EVENT_NAME: ULONG = 0x80000400; -pub const EVENT_FILTER_TYPE_STACKWALK: ULONG = 0x80001000; -pub const EVENT_FILTER_TYPE_STACKWALK_NAME: ULONG = 0x80001000; -pub const EVENT_FILTER_TYPE_STACKWALK_LEVEL_KW: ULONG = 0x80004000; -pub const EVENT_DATA_DESCRIPTOR_TYPE_NONE: UCHAR = 0; -pub const EVENT_DATA_DESCRIPTOR_TYPE_EVENT_METADATA: UCHAR = 1; -pub const EVENT_DATA_DESCRIPTOR_TYPE_PROVIDER_METADATA: UCHAR = 2; -pub const EVENT_DATA_DESCRIPTOR_TYPE_TIMESTAMP_OVERRIDE: UCHAR = 3; -pub const EVENT_WRITE_FLAG_NO_FAULTING: ULONG = 0x00000001; -pub const EVENT_WRITE_FLAG_INPRIVATE: ULONG = 0x00000002; -pub type REGHANDLE = ULONGLONG; -pub type PREGHANDLE = *mut REGHANDLE; -STRUCT!{struct EVENT_DATA_DESCRIPTOR_u_s { - Type: UCHAR, - Reserved1: UCHAR, - Reserved2: USHORT, -}} -UNION!{union EVENT_DATA_DESCRIPTOR_u { - [u32; 1], - Reserved Reserved_mut: ULONG, - s s_mut: EVENT_DATA_DESCRIPTOR_u_s, -}} -STRUCT!{struct EVENT_DATA_DESCRIPTOR { - Ptr: ULONGLONG, - Size: ULONG, - u: EVENT_DATA_DESCRIPTOR_u, -}} -pub type PEVENT_DATA_DESCRIPTOR = *mut EVENT_DATA_DESCRIPTOR; -STRUCT!{struct EVENT_DESCRIPTOR { - Id: USHORT, - Version: UCHAR, - Channel: UCHAR, - Level: UCHAR, - Opcode: UCHAR, - Task: USHORT, - Keyword: ULONGLONG, -}} -pub type PEVENT_DESCRIPTOR = *mut EVENT_DESCRIPTOR; -pub type PCEVENT_DESCRIPTOR = *const EVENT_DESCRIPTOR; -STRUCT!{struct EVENT_FILTER_DESCRIPTOR { - Ptr: ULONGLONG, - Size: ULONG, - Type: ULONG, -}} -pub type PEVENT_FILTER_DESCRIPTOR = *mut EVENT_FILTER_DESCRIPTOR; -STRUCT!{struct EVENT_FILTER_HEADER { - Id: USHORT, - Version: UCHAR, - Reserved: [UCHAR; 5], - InstanceId: ULONGLONG, - Size: ULONG, - NextOffset: ULONG, -}} -pub type PEVENT_FILTER_HEADER = *mut EVENT_FILTER_HEADER; -STRUCT!{struct EVENT_FILTER_EVENT_ID { - FilterIn: BOOLEAN, - Reserved: UCHAR, - Count: USHORT, - Events: [USHORT; ANYSIZE_ARRAY], -}} -pub type PEVENT_FILTER_EVENT_ID = *mut EVENT_FILTER_EVENT_ID; -STRUCT!{struct EVENT_FILTER_EVENT_NAME { - MatchAnyKeyword: ULONGLONG, - MatchAllKeyword: ULONGLONG, - Level: UCHAR, - FilterIn: BOOLEAN, - NameCount: USHORT, - Names: [UCHAR; ANYSIZE_ARRAY], -}} -pub type PEVENT_FILTER_EVENT_NAME = *mut EVENT_FILTER_EVENT_NAME; -STRUCT!{struct EVENT_FILTER_LEVEL_KW { - MatchAnyKeyword: ULONGLONG, - MatchAllKeyword: ULONGLONG, - Level: UCHAR, - FilterIn: BOOLEAN, -}} -ENUM!{enum EVENT_INFO_CLASS { - EventProviderBinaryTrackInfo, - EventProviderSetReserved1, - EventProviderSetTraits, - EventProviderUseDescriptorType, - MaxEventInfo, -}} -FN!{stdcall PENABLECALLBACK( - SourceId: LPCGUID, - IsEnabled: ULONG, - Level: UCHAR, - MatchAnyKeyword: ULONGLONG, - MatchAllKeyword: ULONGLONG, - FilterData: PEVENT_FILTER_DESCRIPTOR, - CallbackContext: PVOID, -) -> ()} -extern "system" { - pub fn EventRegister( - ProviderId: LPCGUID, - EnableCallback: PENABLECALLBACK, - CallbackContext: PVOID, - RegHandle: PREGHANDLE, - ) -> ULONG; - pub fn EventUnregister( - RegHandle: REGHANDLE, - ) -> ULONG; - pub fn EventSetInformation( - RegHandle: REGHANDLE, - InformationClass: EVENT_INFO_CLASS, - EventInformation: PVOID, - InformationLength: ULONG, - ) -> ULONG; - pub fn EventEnabled( - RegHandle: REGHANDLE, - EventDescriptor: PCEVENT_DESCRIPTOR, - ) -> BOOLEAN; - pub fn EventProviderEnabled( - RegHandle: REGHANDLE, - Level: UCHAR, - Keyword: ULONGLONG, - ) -> BOOLEAN; - pub fn EventWrite( - RegHandle: REGHANDLE, - EventDescriptor: PCEVENT_DESCRIPTOR, - UserDataCount: ULONG, - UserData: PEVENT_DATA_DESCRIPTOR, - ) -> ULONG; - pub fn EventWriteTransfer( - RegHandle: REGHANDLE, - EventDescriptor: PCEVENT_DESCRIPTOR, - ActivityId: LPCGUID, - RelatedActivityId: LPCGUID, - UserDataCount: ULONG, - UserData: PEVENT_DATA_DESCRIPTOR, - ) -> ULONG; - pub fn EventWriteEx( - RegHandle: REGHANDLE, - EventDescriptor: PCEVENT_DESCRIPTOR, - Filter: ULONG64, - Flags: ULONG, - ActivityId: LPCGUID, - RelatedActivityId: LPCGUID, - UserDataCount: ULONG, - UserData: PEVENT_DATA_DESCRIPTOR, - ) -> ULONG; - pub fn EventWriteString( - RegHandle: REGHANDLE, - Level: UCHAR, - Keyword: ULONGLONG, - EventString: PCWSTR, - ) -> ULONG; - pub fn EventActivityIdControl( - ControlCode: ULONG, - ActivityId: LPGUID, - ) -> ULONG; -} -#[inline] -pub unsafe fn EventDataDescCreate( - EventDataDescriptor: PEVENT_DATA_DESCRIPTOR, - DataPtr: *const VOID, - DataSize: ULONG, -) { - (*EventDataDescriptor).Ptr = DataPtr as ULONGLONG; - (*EventDataDescriptor).Size = DataSize; - *(*EventDataDescriptor).u.Reserved_mut() = 0; -} -#[inline] -pub unsafe fn EventDescCreate( - EventDescriptor: PEVENT_DESCRIPTOR, - Id: USHORT, - Version: UCHAR, - Channel: UCHAR, - Level: UCHAR, - Task: USHORT, - Opcode: UCHAR, - Keyword: ULONGLONG, -) { - (*EventDescriptor).Id = Id; - (*EventDescriptor).Version = Version; - (*EventDescriptor).Channel = Channel; - (*EventDescriptor).Level = Level; - (*EventDescriptor).Task = Task; - (*EventDescriptor).Opcode = Opcode; - (*EventDescriptor).Keyword = Keyword; -} -#[inline] -pub unsafe fn EventDescZero(EventDescriptor: PEVENT_DESCRIPTOR) { - use core::ptr::write_bytes; - // FIXME: 16 = sizeof::() - write_bytes(EventDescriptor, 0, 16); -} -#[inline] -pub unsafe fn EventDescGetId(EventDescriptor: PCEVENT_DESCRIPTOR) -> USHORT { - (*EventDescriptor).Id -} -#[inline] -pub unsafe fn EventDescGetVersion(EventDescriptor: PCEVENT_DESCRIPTOR) -> UCHAR { - (*EventDescriptor).Version -} -#[inline] -pub unsafe fn EventDescGetTask(EventDescriptor: PCEVENT_DESCRIPTOR) -> USHORT { - (*EventDescriptor).Task -} -#[inline] -pub unsafe fn EventDescGetOpcode(EventDescriptor: PCEVENT_DESCRIPTOR) -> UCHAR { - (*EventDescriptor).Opcode -} -#[inline] -pub unsafe fn EventDescGetChannel(EventDescriptor: PCEVENT_DESCRIPTOR) -> UCHAR { - (*EventDescriptor).Channel -} -#[inline] -pub unsafe fn EventDescGetLevel(EventDescriptor: PCEVENT_DESCRIPTOR) -> UCHAR { - (*EventDescriptor).Level -} -#[inline] -pub unsafe fn EventDescGetKeyword(EventDescriptor: PCEVENT_DESCRIPTOR) -> ULONGLONG { - (*EventDescriptor).Keyword -} -#[inline] -pub unsafe fn EventDescSetId(EventDescriptor: PEVENT_DESCRIPTOR, Id: USHORT) -> PEVENT_DESCRIPTOR { - (*EventDescriptor).Id = Id; - EventDescriptor -} -#[inline] -pub unsafe fn EventDescSetVersion( - EventDescriptor: PEVENT_DESCRIPTOR, - Version: UCHAR, -) -> PEVENT_DESCRIPTOR { - (*EventDescriptor).Version = Version; - EventDescriptor -} -#[inline] -pub unsafe fn EventDescSetTask( - EventDescriptor: PEVENT_DESCRIPTOR, - Task: USHORT, -) -> PEVENT_DESCRIPTOR { - (*EventDescriptor).Task = Task; - EventDescriptor -} -#[inline] -pub unsafe fn EventDescSetOpcode( - EventDescriptor: PEVENT_DESCRIPTOR, - Opcode: UCHAR, -) -> PEVENT_DESCRIPTOR { - (*EventDescriptor).Opcode = Opcode; - EventDescriptor -} -#[inline] -pub unsafe fn EventDescSetLevel( - EventDescriptor: PEVENT_DESCRIPTOR, - Level: UCHAR, -) -> PEVENT_DESCRIPTOR { - (*EventDescriptor).Level = Level; - EventDescriptor -} -#[inline] -pub unsafe fn EventDescSetChannel( - EventDescriptor: PEVENT_DESCRIPTOR, - Channel: UCHAR, -) -> PEVENT_DESCRIPTOR { - (*EventDescriptor).Channel = Channel; - EventDescriptor -} -#[inline] -pub unsafe fn EventDescSetKeyword( - EventDescriptor: PEVENT_DESCRIPTOR, - Keyword: ULONGLONG, -) -> PEVENT_DESCRIPTOR { - (*EventDescriptor).Keyword = Keyword; - EventDescriptor -} -#[inline] -pub unsafe fn EventDescOrKeyword( - EventDescriptor: PEVENT_DESCRIPTOR, - Keyword: ULONGLONG, -) -> PEVENT_DESCRIPTOR { - (*EventDescriptor).Keyword |= Keyword; - EventDescriptor -} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/evntrace.rs b/vendor/registry-40351f815f426200/winapi/src/shared/evntrace.rs deleted file mode 100644 index 23a93eec3..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/evntrace.rs +++ /dev/null @@ -1,990 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::{SIZE_T, ULONG32, ULONG64}; -use shared::evntprov::PEVENT_FILTER_DESCRIPTOR; -use shared::guiddef::{GUID, LPCGUID, LPGUID}; -use shared::minwindef::{DWORD, LPFILETIME, PULONG, UCHAR, UINT, ULONG, USHORT}; -use shared::wmistr::{WMIDPREQUESTCODE, WNODE_HEADER}; -use um::evntcons::PEVENT_RECORD; -use um::handleapi::INVALID_HANDLE_VALUE; -use um::timezoneapi::TIME_ZONE_INFORMATION; -use um::winnt::{ - ANYSIZE_ARRAY, BOOLEAN, HANDLE, LARGE_INTEGER, LONG, LONGLONG, LPCSTR, LPCWSTR, LPSTR, LPWSTR, - PVOID, ULONGLONG, WCHAR -}; -use vc::vadefs::va_list; -DEFINE_GUID!{EventTraceGuid, - 0x68fdd900, 0x4a3e, 0x11d1, 0x84, 0xf4, 0x00, 0x00, 0xf8, 0x04, 0x64, 0xe3} -DEFINE_GUID!{SystemTraceControlGuid, - 0x9e814aad, 0x3204, 0x11d2, 0x9a, 0x82, 0x00, 0x60, 0x08, 0xa8, 0x69, 0x39} -DEFINE_GUID!{EventTraceConfigGuid, - 0x01853a65, 0x418f, 0x4f36, 0xae, 0xfc, 0xdc, 0x0f, 0x1d, 0x2f, 0xd2, 0x35} -DEFINE_GUID!{DefaultTraceSecurityGuid, - 0x0811c1af, 0x7a07, 0x4a06, 0x82, 0xed, 0x86, 0x94, 0x55, 0xcd, 0xf7, 0x13} -DEFINE_GUID!{PrivateLoggerNotificationGuid, - 0x3595ab5c, 0x042a, 0x4c8e, 0xb9, 0x42, 0x2d, 0x05, 0x9b, 0xfe, 0xb1, 0xb1} -pub const KERNEL_LOGGER_NAME: &'static str = "NT Kernel Logger"; -pub const GLOBAL_LOGGER_NAME: &'static str = "GlobalLogger"; -pub const EVENT_LOGGER_NAME: &'static str = "EventLog"; -pub const DIAG_LOGGER_NAME: &'static str = "DiagLog"; -pub const MAX_MOF_FIELDS: SIZE_T = 16; -DECLARE_HANDLE!{TRACEHANDLE, __TRACEHANDLE} -pub type PTRACEHANDLE = *mut TRACEHANDLE; -pub const EVENT_TRACE_TYPE_INFO: DWORD = 0x00; -pub const EVENT_TRACE_TYPE_START: DWORD = 0x01; -pub const EVENT_TRACE_TYPE_END: DWORD = 0x02; -pub const EVENT_TRACE_TYPE_STOP: DWORD = 0x02; -pub const EVENT_TRACE_TYPE_DC_START: DWORD = 0x03; -pub const EVENT_TRACE_TYPE_DC_END: DWORD = 0x04; -pub const EVENT_TRACE_TYPE_EXTENSION: DWORD = 0x05; -pub const EVENT_TRACE_TYPE_REPLY: DWORD = 0x06; -pub const EVENT_TRACE_TYPE_DEQUEUE: DWORD = 0x07; -pub const EVENT_TRACE_TYPE_RESUME: DWORD = 0x07; -pub const EVENT_TRACE_TYPE_CHECKPOINT: DWORD = 0x08; -pub const EVENT_TRACE_TYPE_SUSPEND: DWORD = 0x08; -pub const EVENT_TRACE_TYPE_WINEVT_SEND: DWORD = 0x09; -pub const EVENT_TRACE_TYPE_WINEVT_RECEIVE: DWORD = 0xF0; -pub const TRACE_LEVEL_CRITICAL: UCHAR = 1; -pub const TRACE_LEVEL_ERROR: UCHAR = 2; -pub const TRACE_LEVEL_WARNING: UCHAR = 3; -pub const TRACE_LEVEL_INFORMATION: UCHAR = 4; -pub const TRACE_LEVEL_VERBOSE: UCHAR = 5; -pub const TRACE_LEVEL_RESERVED6: UCHAR = 6; -pub const TRACE_LEVEL_RESERVED7: UCHAR = 7; -pub const TRACE_LEVEL_RESERVED8: UCHAR = 8; -pub const TRACE_LEVEL_RESERVED9: UCHAR = 9; -pub const EVENT_TRACE_TYPE_LOAD: DWORD = 0x0A; -pub const EVENT_TRACE_TYPE_TERMINATE: DWORD = 0x0B; -pub const EVENT_TRACE_TYPE_IO_READ: DWORD = 0x0A; -pub const EVENT_TRACE_TYPE_IO_WRITE: DWORD = 0x0B; -pub const EVENT_TRACE_TYPE_IO_READ_INIT: DWORD = 0x0C; -pub const EVENT_TRACE_TYPE_IO_WRITE_INIT: DWORD = 0x0D; -pub const EVENT_TRACE_TYPE_IO_FLUSH: DWORD = 0x0E; -pub const EVENT_TRACE_TYPE_IO_FLUSH_INIT: DWORD = 0x0F; -pub const EVENT_TRACE_TYPE_IO_REDIRECTED_INIT: DWORD = 0x10; -pub const EVENT_TRACE_TYPE_MM_TF: DWORD = 0x0A; -pub const EVENT_TRACE_TYPE_MM_DZF: DWORD = 0x0B; -pub const EVENT_TRACE_TYPE_MM_COW: DWORD = 0x0C; -pub const EVENT_TRACE_TYPE_MM_GPF: DWORD = 0x0D; -pub const EVENT_TRACE_TYPE_MM_HPF: DWORD = 0x0E; -pub const EVENT_TRACE_TYPE_MM_AV: DWORD = 0x0F; -pub const EVENT_TRACE_TYPE_SEND: DWORD = 0x0A; -pub const EVENT_TRACE_TYPE_RECEIVE: DWORD = 0x0B; -pub const EVENT_TRACE_TYPE_CONNECT: DWORD = 0x0C; -pub const EVENT_TRACE_TYPE_DISCONNECT: DWORD = 0x0D; -pub const EVENT_TRACE_TYPE_RETRANSMIT: DWORD = 0x0E; -pub const EVENT_TRACE_TYPE_ACCEPT: DWORD = 0x0F; -pub const EVENT_TRACE_TYPE_RECONNECT: DWORD = 0x10; -pub const EVENT_TRACE_TYPE_CONNFAIL: DWORD = 0x11; -pub const EVENT_TRACE_TYPE_COPY_TCP: DWORD = 0x12; -pub const EVENT_TRACE_TYPE_COPY_ARP: DWORD = 0x13; -pub const EVENT_TRACE_TYPE_ACKFULL: DWORD = 0x14; -pub const EVENT_TRACE_TYPE_ACKPART: DWORD = 0x15; -pub const EVENT_TRACE_TYPE_ACKDUP: DWORD = 0x16; -pub const EVENT_TRACE_TYPE_GUIDMAP: DWORD = 0x0A; -pub const EVENT_TRACE_TYPE_CONFIG: DWORD = 0x0B; -pub const EVENT_TRACE_TYPE_SIDINFO: DWORD = 0x0C; -pub const EVENT_TRACE_TYPE_SECURITY: DWORD = 0x0D; -pub const EVENT_TRACE_TYPE_DBGID_RSDS: DWORD = 0x40; -pub const EVENT_TRACE_TYPE_REGCREATE: DWORD = 0x0A; -pub const EVENT_TRACE_TYPE_REGOPEN: DWORD = 0x0B; -pub const EVENT_TRACE_TYPE_REGDELETE: DWORD = 0x0C; -pub const EVENT_TRACE_TYPE_REGQUERY: DWORD = 0x0D; -pub const EVENT_TRACE_TYPE_REGSETVALUE: DWORD = 0x0E; -pub const EVENT_TRACE_TYPE_REGDELETEVALUE: DWORD = 0x0F; -pub const EVENT_TRACE_TYPE_REGQUERYVALUE: DWORD = 0x10; -pub const EVENT_TRACE_TYPE_REGENUMERATEKEY: DWORD = 0x11; -pub const EVENT_TRACE_TYPE_REGENUMERATEVALUEKEY: DWORD = 0x12; -pub const EVENT_TRACE_TYPE_REGQUERYMULTIPLEVALUE: DWORD = 0x13; -pub const EVENT_TRACE_TYPE_REGSETINFORMATION: DWORD = 0x14; -pub const EVENT_TRACE_TYPE_REGFLUSH: DWORD = 0x15; -pub const EVENT_TRACE_TYPE_REGKCBCREATE: DWORD = 0x16; -pub const EVENT_TRACE_TYPE_REGKCBDELETE: DWORD = 0x17; -pub const EVENT_TRACE_TYPE_REGKCBRUNDOWNBEGIN: DWORD = 0x18; -pub const EVENT_TRACE_TYPE_REGKCBRUNDOWNEND: DWORD = 0x19; -pub const EVENT_TRACE_TYPE_REGVIRTUALIZE: DWORD = 0x1A; -pub const EVENT_TRACE_TYPE_REGCLOSE: DWORD = 0x1B; -pub const EVENT_TRACE_TYPE_REGSETSECURITY: DWORD = 0x1C; -pub const EVENT_TRACE_TYPE_REGQUERYSECURITY: DWORD = 0x1D; -pub const EVENT_TRACE_TYPE_REGCOMMIT: DWORD = 0x1E; -pub const EVENT_TRACE_TYPE_REGPREPARE: DWORD = 0x1F; -pub const EVENT_TRACE_TYPE_REGROLLBACK: DWORD = 0x20; -pub const EVENT_TRACE_TYPE_REGMOUNTHIVE: DWORD = 0x21; -pub const EVENT_TRACE_TYPE_CONFIG_CPU: DWORD = 0x0A; -pub const EVENT_TRACE_TYPE_CONFIG_PHYSICALDISK: DWORD = 0x0B; -pub const EVENT_TRACE_TYPE_CONFIG_LOGICALDISK: DWORD = 0x0C; -pub const EVENT_TRACE_TYPE_CONFIG_NIC: DWORD = 0x0D; -pub const EVENT_TRACE_TYPE_CONFIG_VIDEO: DWORD = 0x0E; -pub const EVENT_TRACE_TYPE_CONFIG_SERVICES: DWORD = 0x0F; -pub const EVENT_TRACE_TYPE_CONFIG_POWER: DWORD = 0x10; -pub const EVENT_TRACE_TYPE_CONFIG_NETINFO: DWORD = 0x11; -pub const EVENT_TRACE_TYPE_CONFIG_OPTICALMEDIA: DWORD = 0x12; -pub const EVENT_TRACE_TYPE_CONFIG_IRQ: DWORD = 0x15; -pub const EVENT_TRACE_TYPE_CONFIG_PNP: DWORD = 0x16; -pub const EVENT_TRACE_TYPE_CONFIG_IDECHANNEL: DWORD = 0x17; -pub const EVENT_TRACE_TYPE_CONFIG_NUMANODE: DWORD = 0x18; -pub const EVENT_TRACE_TYPE_CONFIG_PLATFORM: DWORD = 0x19; -pub const EVENT_TRACE_TYPE_CONFIG_PROCESSORGROUP: DWORD = 0x1A; -pub const EVENT_TRACE_TYPE_CONFIG_PROCESSORNUMBER: DWORD = 0x1B; -pub const EVENT_TRACE_TYPE_CONFIG_DPI: DWORD = 0x1C; -pub const EVENT_TRACE_TYPE_CONFIG_CI_INFO: DWORD = 0x1D; -pub const EVENT_TRACE_TYPE_CONFIG_MACHINEID: DWORD = 0x1E; -pub const EVENT_TRACE_TYPE_CONFIG_DEFRAG: DWORD = 0x1F; -pub const EVENT_TRACE_TYPE_CONFIG_MOBILEPLATFORM: DWORD = 0x20; -pub const EVENT_TRACE_TYPE_CONFIG_DEVICEFAMILY: DWORD = 0x21; -pub const EVENT_TRACE_TYPE_CONFIG_FLIGHTID: DWORD = 0x22; -pub const EVENT_TRACE_TYPE_CONFIG_PROCESSOR: DWORD = 0x23; -pub const EVENT_TRACE_TYPE_OPTICAL_IO_READ: DWORD = 0x37; -pub const EVENT_TRACE_TYPE_OPTICAL_IO_WRITE: DWORD = 0x38; -pub const EVENT_TRACE_TYPE_OPTICAL_IO_FLUSH: DWORD = 0x39; -pub const EVENT_TRACE_TYPE_OPTICAL_IO_READ_INIT: DWORD = 0x3a; -pub const EVENT_TRACE_TYPE_OPTICAL_IO_WRITE_INIT: DWORD = 0x3b; -pub const EVENT_TRACE_TYPE_OPTICAL_IO_FLUSH_INIT: DWORD = 0x3c; -pub const EVENT_TRACE_TYPE_FLT_PREOP_INIT: DWORD = 0x60; -pub const EVENT_TRACE_TYPE_FLT_POSTOP_INIT: DWORD = 0x61; -pub const EVENT_TRACE_TYPE_FLT_PREOP_COMPLETION: DWORD = 0x62; -pub const EVENT_TRACE_TYPE_FLT_POSTOP_COMPLETION: DWORD = 0x63; -pub const EVENT_TRACE_TYPE_FLT_PREOP_FAILURE: DWORD = 0x64; -pub const EVENT_TRACE_TYPE_FLT_POSTOP_FAILURE: DWORD = 0x65; -pub const EVENT_TRACE_FLAG_PROCESS: DWORD = 0x00000001; -pub const EVENT_TRACE_FLAG_THREAD: DWORD = 0x00000002; -pub const EVENT_TRACE_FLAG_IMAGE_LOAD: DWORD = 0x00000004; -pub const EVENT_TRACE_FLAG_DISK_IO: DWORD = 0x00000100; -pub const EVENT_TRACE_FLAG_DISK_FILE_IO: DWORD = 0x00000200; -pub const EVENT_TRACE_FLAG_MEMORY_PAGE_FAULTS: DWORD = 0x00001000; -pub const EVENT_TRACE_FLAG_MEMORY_HARD_FAULTS: DWORD = 0x00002000; -pub const EVENT_TRACE_FLAG_NETWORK_TCPIP: DWORD = 0x00010000; -pub const EVENT_TRACE_FLAG_REGISTRY: DWORD = 0x00020000; -pub const EVENT_TRACE_FLAG_DBGPRINT: DWORD = 0x00040000; -pub const EVENT_TRACE_FLAG_PROCESS_COUNTERS: DWORD = 0x00000008; -pub const EVENT_TRACE_FLAG_CSWITCH: DWORD = 0x00000010; -pub const EVENT_TRACE_FLAG_DPC: DWORD = 0x00000020; -pub const EVENT_TRACE_FLAG_INTERRUPT: DWORD = 0x00000040; -pub const EVENT_TRACE_FLAG_SYSTEMCALL: DWORD = 0x00000080; -pub const EVENT_TRACE_FLAG_DISK_IO_INIT: DWORD = 0x00000400; -pub const EVENT_TRACE_FLAG_ALPC: DWORD = 0x00100000; -pub const EVENT_TRACE_FLAG_SPLIT_IO: DWORD = 0x00200000; -pub const EVENT_TRACE_FLAG_DRIVER: DWORD = 0x00800000; -pub const EVENT_TRACE_FLAG_PROFILE: DWORD = 0x01000000; -pub const EVENT_TRACE_FLAG_FILE_IO: DWORD = 0x02000000; -pub const EVENT_TRACE_FLAG_FILE_IO_INIT: DWORD = 0x04000000; -pub const EVENT_TRACE_FLAG_DISPATCHER: DWORD = 0x00000800; -pub const EVENT_TRACE_FLAG_VIRTUAL_ALLOC: DWORD = 0x00004000; -pub const EVENT_TRACE_FLAG_VAMAP: DWORD = 0x00008000; -pub const EVENT_TRACE_FLAG_NO_SYSCONFIG: DWORD = 0x10000000; -pub const EVENT_TRACE_FLAG_JOB: DWORD = 0x00080000; -pub const EVENT_TRACE_FLAG_DEBUG_EVENTS: DWORD = 0x00400000; -pub const EVENT_TRACE_FLAG_EXTENSION: DWORD = 0x80000000; -pub const EVENT_TRACE_FLAG_FORWARD_WMI: DWORD = 0x40000000; -pub const EVENT_TRACE_FLAG_ENABLE_RESERVE: DWORD = 0x20000000; -pub const EVENT_TRACE_FILE_MODE_NONE: DWORD = 0x00000000; -pub const EVENT_TRACE_FILE_MODE_SEQUENTIAL: DWORD = 0x00000001; -pub const EVENT_TRACE_FILE_MODE_CIRCULAR: DWORD = 0x00000002; -pub const EVENT_TRACE_FILE_MODE_APPEND: DWORD = 0x00000004; -pub const EVENT_TRACE_REAL_TIME_MODE: DWORD = 0x00000100; -pub const EVENT_TRACE_DELAY_OPEN_FILE_MODE: DWORD = 0x00000200; -pub const EVENT_TRACE_BUFFERING_MODE: DWORD = 0x00000400; -pub const EVENT_TRACE_PRIVATE_LOGGER_MODE: DWORD = 0x00000800; -pub const EVENT_TRACE_ADD_HEADER_MODE: DWORD = 0x00001000; -pub const EVENT_TRACE_USE_GLOBAL_SEQUENCE: DWORD = 0x00004000; -pub const EVENT_TRACE_USE_LOCAL_SEQUENCE: DWORD = 0x00008000; -pub const EVENT_TRACE_RELOG_MODE: DWORD = 0x00010000; -pub const EVENT_TRACE_USE_PAGED_MEMORY: DWORD = 0x01000000; -pub const EVENT_TRACE_FILE_MODE_NEWFILE: DWORD = 0x00000008; -pub const EVENT_TRACE_FILE_MODE_PREALLOCATE: DWORD = 0x00000020; -pub const EVENT_TRACE_NONSTOPPABLE_MODE: DWORD = 0x00000040; -pub const EVENT_TRACE_SECURE_MODE: DWORD = 0x00000080; -pub const EVENT_TRACE_USE_KBYTES_FOR_SIZE: DWORD = 0x00002000; -pub const EVENT_TRACE_PRIVATE_IN_PROC: DWORD = 0x00020000; -pub const EVENT_TRACE_MODE_RESERVED: DWORD = 0x00100000; -pub const EVENT_TRACE_NO_PER_PROCESSOR_BUFFERING: DWORD = 0x10000000; -pub const EVENT_TRACE_SYSTEM_LOGGER_MODE: DWORD = 0x02000000; -pub const EVENT_TRACE_ADDTO_TRIAGE_DUMP: DWORD = 0x80000000; -pub const EVENT_TRACE_STOP_ON_HYBRID_SHUTDOWN: DWORD = 0x00400000; -pub const EVENT_TRACE_PERSIST_ON_HYBRID_SHUTDOWN: DWORD = 0x00800000; -pub const EVENT_TRACE_INDEPENDENT_SESSION_MODE: DWORD = 0x08000000; -pub const EVENT_TRACE_COMPRESSED_MODE: DWORD = 0x04000000; -pub const EVENT_TRACE_CONTROL_QUERY: DWORD = 0; -pub const EVENT_TRACE_CONTROL_STOP: DWORD = 1; -pub const EVENT_TRACE_CONTROL_UPDATE: DWORD = 2; -pub const EVENT_TRACE_CONTROL_FLUSH: DWORD = 3; -pub const TRACE_MESSAGE_SEQUENCE: DWORD = 1; -pub const TRACE_MESSAGE_GUID: DWORD = 2; -pub const TRACE_MESSAGE_COMPONENTID: DWORD = 4; -pub const TRACE_MESSAGE_TIMESTAMP: DWORD = 8; -pub const TRACE_MESSAGE_PERFORMANCE_TIMESTAMP: DWORD = 16; -pub const TRACE_MESSAGE_SYSTEMINFO: DWORD = 32; -pub const TRACE_MESSAGE_POINTER32: DWORD = 0x0040; -pub const TRACE_MESSAGE_POINTER64: DWORD = 0x0080; -pub const TRACE_MESSAGE_FLAG_MASK: DWORD = 0xFFFF; -pub const TRACE_MESSAGE_MAXIMUM_SIZE: SIZE_T = 64 * 1024; -pub const EVENT_TRACE_USE_PROCTIME: DWORD = 0x0001; -pub const EVENT_TRACE_USE_NOCPUTIME: DWORD = 0x0002; -pub const TRACE_HEADER_FLAG_USE_TIMESTAMP: DWORD = 0x00000200; -pub const TRACE_HEADER_FLAG_TRACED_GUID: DWORD = 0x00020000; -pub const TRACE_HEADER_FLAG_LOG_WNODE: DWORD = 0x00040000; -pub const TRACE_HEADER_FLAG_USE_GUID_PTR: DWORD = 0x00080000; -pub const TRACE_HEADER_FLAG_USE_MOF_PTR: DWORD = 0x00100000; -ENUM!{enum ETW_COMPRESSION_RESUMPTION_MODE { - EtwCompressionModeRestart = 0, - EtwCompressionModeNoDisable = 1, - EtwCompressionModeNoRestart = 2, -}} -STRUCT!{struct EVENT_TRACE_HEADER_u1_s { - HeaderType: UCHAR, - MarkerFlags: UCHAR, -}} -UNION!{union EVENT_TRACE_HEADER_u1 { - [u16; 1], - FieldTypeFlags FieldTypeFlags_mut: USHORT, - s s_mut: EVENT_TRACE_HEADER_u1_s, -}} -STRUCT!{struct EVENT_TRACE_HEADER_u2_CLASS { - Type: UCHAR, - Level: UCHAR, - Version: USHORT, -}} -UNION!{union EVENT_TRACE_HEADER_u2 { - [u32; 1], - Version Version_mut: ULONG, - Class Class_mut: EVENT_TRACE_HEADER_u2_CLASS, -}} -UNION!{union EVENT_TRACE_HEADER_u3 { - [u64; 2], - Guid Guid_mut: GUID, - GuidPtr GuidPtr_mut: ULONGLONG, -}} -STRUCT!{struct EVENT_TRACE_HEADER_u4_s1 { - ClientContext: ULONG, - Flags: ULONG, -}} -STRUCT!{struct EVENT_TRACE_HEADER_u4_s2 { - KernelTime: ULONG, - UserTime: ULONG, -}} -UNION!{union EVENT_TRACE_HEADER_u4 { - [u64; 1], - s1 s1_mut: EVENT_TRACE_HEADER_u4_s1, - s2 s2_mut: EVENT_TRACE_HEADER_u4_s2, - ProcessorTime ProcessorTime_mut: ULONG64, -}} -STRUCT!{struct EVENT_TRACE_HEADER { - Size: USHORT, - u1: EVENT_TRACE_HEADER_u1, - u2: EVENT_TRACE_HEADER_u2, - ThreadId: ULONG, - ProcessId: ULONG, - TimeStamp: LARGE_INTEGER, - u3: EVENT_TRACE_HEADER_u3, - u4: EVENT_TRACE_HEADER_u4, -}} -pub type PEVENT_TRACE_HEADER = *mut EVENT_TRACE_HEADER; -STRUCT!{struct EVENT_INSTANCE_HEADER_u1_s { - HeaderType: UCHAR, - MarkerFlags: UCHAR, -}} -UNION!{union EVENT_INSTANCE_HEADER_u1 { - [u16; 1], - FieldTypeFlags FieldTypeFlags_mut: USHORT, - s s_mut: EVENT_INSTANCE_HEADER_u1_s, -}} -STRUCT!{struct EVENT_INSTANCE_HEADER_u2_CLASS { - Type: UCHAR, - Level: UCHAR, - Version: USHORT, -}} -UNION!{union EVENT_INSTANCE_HEADER_u2 { - [u32; 1], - Version Version_mut: ULONG, - Class Class_mut: EVENT_INSTANCE_HEADER_u2_CLASS, -}} -STRUCT!{struct EVENT_INSTANCE_HEADER_u3_s1 { - KernelTime: ULONG, - UserTime: ULONG, -}} -STRUCT!{struct EVENT_INSTANCE_HEADER_u3_s2 { - EventId: ULONG, - Flags: ULONG, -}} -UNION!{union EVENT_INSTANCE_HEADER_u3 { - [u64; 1], - s1 s1_mut: EVENT_INSTANCE_HEADER_u3_s1, - ProcessorTime ProcessorTime_mut: ULONG64, - s2 s2_mut: EVENT_INSTANCE_HEADER_u3_s2, -}} -STRUCT!{struct EVENT_INSTANCE_HEADER { - Size: USHORT, - u1: EVENT_INSTANCE_HEADER_u1, - u2: EVENT_INSTANCE_HEADER_u2, - ThreadId: ULONG, - ProcessId: ULONG, - TimeStamp: LARGE_INTEGER, - RegHandle: ULONGLONG, - InstanceId: ULONG, - ParentInstanceId: ULONG, - u3: EVENT_INSTANCE_HEADER_u3, - ParentRegHandle: ULONGLONG, -}} -pub type PEVENT_INSTANCE_HEADER = *mut EVENT_INSTANCE_HEADER; -pub const ETW_NULL_TYPE_VALUE: ULONG = 0; -pub const ETW_OBJECT_TYPE_VALUE: ULONG = 1; -pub const ETW_STRING_TYPE_VALUE: ULONG = 2; -pub const ETW_SBYTE_TYPE_VALUE: ULONG = 3; -pub const ETW_BYTE_TYPE_VALUE: ULONG = 4; -pub const ETW_INT16_TYPE_VALUE: ULONG = 5; -pub const ETW_UINT16_TYPE_VALUE: ULONG = 6; -pub const ETW_INT32_TYPE_VALUE: ULONG = 7; -pub const ETW_UINT32_TYPE_VALUE: ULONG = 8; -pub const ETW_INT64_TYPE_VALUE: ULONG = 9; -pub const ETW_UINT64_TYPE_VALUE: ULONG = 10; -pub const ETW_CHAR_TYPE_VALUE: ULONG = 11; -pub const ETW_SINGLE_TYPE_VALUE: ULONG = 12; -pub const ETW_DOUBLE_TYPE_VALUE: ULONG = 13; -pub const ETW_BOOLEAN_TYPE_VALUE: ULONG = 14; -pub const ETW_DECIMAL_TYPE_VALUE: ULONG = 15; -pub const ETW_GUID_TYPE_VALUE: ULONG = 101; -pub const ETW_ASCIICHAR_TYPE_VALUE: ULONG = 102; -pub const ETW_ASCIISTRING_TYPE_VALUE: ULONG = 103; -pub const ETW_COUNTED_STRING_TYPE_VALUE: ULONG = 104; -pub const ETW_POINTER_TYPE_VALUE: ULONG = 105; -pub const ETW_SIZET_TYPE_VALUE: ULONG = 106; -pub const ETW_HIDDEN_TYPE_VALUE: ULONG = 107; -pub const ETW_BOOL_TYPE_VALUE: ULONG = 108; -pub const ETW_COUNTED_ANSISTRING_TYPE_VALUE: ULONG = 109; -pub const ETW_REVERSED_COUNTED_STRING_TYPE_VALUE: ULONG = 110; -pub const ETW_REVERSED_COUNTED_ANSISTRING_TYPE_VALUE: ULONG = 111; -pub const ETW_NON_NULL_TERMINATED_STRING_TYPE_VALUE: ULONG = 112; -pub const ETW_REDUCED_ANSISTRING_TYPE_VALUE: ULONG = 113; -pub const ETW_REDUCED_STRING_TYPE_VALUE: ULONG = 114; -pub const ETW_SID_TYPE_VALUE: ULONG = 115; -pub const ETW_VARIANT_TYPE_VALUE: ULONG = 116; -pub const ETW_PTVECTOR_TYPE_VALUE: ULONG = 117; -pub const ETW_WMITIME_TYPE_VALUE: ULONG = 118; -pub const ETW_DATETIME_TYPE_VALUE: ULONG = 119; -pub const ETW_REFRENCE_TYPE_VALUE: ULONG = 120; -// TODO: DEFINE_TRACE_MOF_FIELD -STRUCT!{struct MOF_FIELD { - DataPtr: ULONG64, - Length: ULONG, - DataType: ULONG, -}} -pub type PMOF_FIELD = *mut MOF_FIELD; -STRUCT!{struct TRACE_LOGFILE_HEADER_u1_VERSIONDETAIL { - MajorVersion: UCHAR, - MinorVersion: UCHAR, - SubVersion: UCHAR, - SubMinorVersion: UCHAR, -}} -UNION!{union TRACE_LOGFILE_HEADER_u1 { - [u32; 1], - Version Version_mut: ULONG, - VersionDetail VersionDetail_mut: TRACE_LOGFILE_HEADER_u1_VERSIONDETAIL, -}} -STRUCT!{struct TRACE_LOGFILE_HEADER_u2_s { - StartBuffers: ULONG, - PointerSize: ULONG, - EventsLost: ULONG, - CpuSpeedInMHz: ULONG, -}} -UNION!{union TRACE_LOGFILE_HEADER_u2 { - [u32; 4], - LogInstanceGuid LogInstanceGuid_mut: GUID, - s s_mut: TRACE_LOGFILE_HEADER_u2_s, -}} -STRUCT!{struct TRACE_LOGFILE_HEADER { - BufferSize: ULONG, - u1: TRACE_LOGFILE_HEADER_u1, - ProviderVersion: ULONG, - NumberOfProcessors: ULONG, - EndTime: LARGE_INTEGER, - TimerResolution: ULONG, - MaximumFileSize: ULONG, - LogFileMode: ULONG, - BuffersWritten: ULONG, - u2: TRACE_LOGFILE_HEADER_u2, - LoggerName: LPWSTR, - LogFileName: LPWSTR, - TimeZone: TIME_ZONE_INFORMATION, - BootTime: LARGE_INTEGER, - PrefFreq: LARGE_INTEGER, - StartTime: LARGE_INTEGER, - ReservedFlags: ULONG, - BuffersLost: ULONG, -}} -pub type PTRACE_LOGFILE_HEADER = *mut TRACE_LOGFILE_HEADER; -STRUCT!{struct TRACE_LOGFILE_HEADER32 { - BufferSize: ULONG, - u1: TRACE_LOGFILE_HEADER_u1, - ProviderVersion: ULONG, - NumberOfProcessors: ULONG, - EndTime: LARGE_INTEGER, - TimerResolution: ULONG, - MaximumFileSize: ULONG, - LogFileMode: ULONG, - BuffersWritten: ULONG, - u2: TRACE_LOGFILE_HEADER_u2, - LoggerName: ULONG32, - LogFileName: ULONG32, - TimeZone: TIME_ZONE_INFORMATION, - BootTime: LARGE_INTEGER, - PrefFreq: LARGE_INTEGER, - StartTime: LARGE_INTEGER, - ReservedFlags: ULONG, - BuffersLost: ULONG, -}} -pub type PTRACE_LOGFILE_HEADER32 = *mut TRACE_LOGFILE_HEADER32; -STRUCT!{struct TRACE_LOGFILE_HEADER64 { - BufferSize: ULONG, - u1: TRACE_LOGFILE_HEADER_u1, - ProviderVersion: ULONG, - NumberOfProcessors: ULONG, - EndTime: LARGE_INTEGER, - TimerResolution: ULONG, - MaximumFileSize: ULONG, - LogFileMode: ULONG, - BuffersWritten: ULONG, - u2: TRACE_LOGFILE_HEADER_u2, - LoggerName: ULONG64, - LogFileName: ULONG64, - TimeZone: TIME_ZONE_INFORMATION, - BootTime: LARGE_INTEGER, - PrefFreq: LARGE_INTEGER, - StartTime: LARGE_INTEGER, - ReservedFlags: ULONG, - BuffersLost: ULONG, -}} -pub type PTRACE_LOGFILE_HEADER64 = *mut TRACE_LOGFILE_HEADER64; -STRUCT!{struct EVENT_INSTANCE_INFO { - RegHandle: HANDLE, - InstanceId: ULONG, -}} -pub type PEVENT_INSTANCE_INFO = *mut EVENT_INSTANCE_INFO; -UNION!{union EVENT_TRACE_PROPERTIES_u { - [u32; 1], - AgeLimit AgeLimit_mut: LONG, - FlushThreshold FlushThreshold_mut: LONG, -}} -STRUCT!{struct EVENT_TRACE_PROPERTIES { - Wnode: WNODE_HEADER, - BufferSize: ULONG, - MinimumBuffers: ULONG, - MaximumBuffers: ULONG, - MaximumFileSize: ULONG, - LogFileMode: ULONG, - FlushTimer: ULONG, - EnableFlags: ULONG, - u: EVENT_TRACE_PROPERTIES_u, - NumberOfBuffers: ULONG, - FreeBuffers: ULONG, - EventsLost: ULONG, - BuffersWritten: ULONG, - LogBuffersLost: ULONG, - RealTimeBuffersLost: ULONG, - LoggerThreadId: HANDLE, - LogFileNameOffset: ULONG, - LoggerNameOffset: ULONG, -}} -pub type PEVENT_TRACE_PROPERTIES = *mut EVENT_TRACE_PROPERTIES; -UNION!{union EVENT_TRACE_PROPERTIES_V2_u1 { - [u32; 1], - AgeLimit AgeLimit_mut: LONG, - FlushThreshold FlushThreshold_mut: LONG, -}} -STRUCT!{struct EVENT_TRACE_PROPERTIES_V2_u2_s { - bitfield: ULONG, -}} -BITFIELD!{EVENT_TRACE_PROPERTIES_V2_u2_s bitfield: ULONG [ - VersionNumber set_VersionNumber[0..8], -]} -UNION!{union EVENT_TRACE_PROPERTIES_V2_u2 { - [u32; 1], - s s_mut: EVENT_TRACE_PROPERTIES_V2_u2_s, - V2Control V2Control_mut: ULONG, -}} -STRUCT!{struct EVENT_TRACE_PROPERTIES_V2_u3_s { - bitfield: ULONG, -}} -BITFIELD!{EVENT_TRACE_PROPERTIES_V2_u3_s bitfield: ULONG [ - Wow set_Wow[0..1], -]} -UNION!{union EVENT_TRACE_PROPERTIES_V2_u3 { - [u64; 1], - s s_mut: EVENT_TRACE_PROPERTIES_V2_u3_s, - V2Options V2Options_mut: ULONG64, -}} -STRUCT!{struct EVENT_TRACE_PROPERTIES_V2 { - Wnode: WNODE_HEADER, - BufferSize: ULONG, - MinimumBuffers: ULONG, - MaximumBuffers: ULONG, - MaximumFileSize: ULONG, - LogFileMode: ULONG, - FlushTimer: ULONG, - EnableFlags: ULONG, - u1: EVENT_TRACE_PROPERTIES_u, - NumberOfBuffers: ULONG, - FreeBuffers: ULONG, - EventsLost: ULONG, - BuffersWritten: ULONG, - LogBuffersLost: ULONG, - RealTimeBuffersLost: ULONG, - LoggerThreadId: HANDLE, - LogFileNameOffset: ULONG, - LoggerNameOffset: ULONG, - u2: EVENT_TRACE_PROPERTIES_V2_u2, - FilterDescCount: ULONG, - FilterDesc: PEVENT_FILTER_DESCRIPTOR, - u3: EVENT_TRACE_PROPERTIES_V2_u3, -}} -pub type PEVENT_TRACE_PROPERTIES_V2 = *mut EVENT_TRACE_PROPERTIES_V2; -STRUCT!{struct TRACE_GUID_REGISTRATION { - Guid: LPCGUID, - RegHandle: HANDLE, -}} -pub type PTRACE_GUID_REGISTRATION = *mut TRACE_GUID_REGISTRATION; -STRUCT!{struct TRACE_GUID_PROPERTIES { - Guid: GUID, - GuidType: ULONG, - LoggerId: ULONG, - EnableLevel: ULONG, - EnableFlags: ULONG, - IsEnable: BOOLEAN, -}} -pub type PTRACE_GUID_PROPERTIES = *mut TRACE_GUID_PROPERTIES; -STRUCT!{struct ETW_BUFFER_CONTEXT_u_s { - ProcessorNumber: UCHAR, - Alignment: UCHAR, -}} -UNION!{union ETW_BUFFER_CONTEXT_u { - [u16; 1], - s s_mut: ETW_BUFFER_CONTEXT_u_s, - ProcessorIndex ProcessorIndex_mut: USHORT, -}} -STRUCT!{struct ETW_BUFFER_CONTEXT { - u: ETW_BUFFER_CONTEXT_u, - LoggerId: USHORT, -}} -pub type PETW_BUFFER_CONTEXT = *mut ETW_BUFFER_CONTEXT; -pub const TRACE_PROVIDER_FLAG_LEGACY: ULONG = 0x00000001; -pub const TRACE_PROVIDER_FLAG_PRE_ENABLE: ULONG = 0x00000002; -STRUCT!{struct TRACE_ENABLE_INFO { - IsEnabled: ULONG, - Level: UCHAR, - Reserved1: UCHAR, - LoggerId: USHORT, - EnabledProperty: ULONG, - Reserved2: ULONG, - MatchAnyKeyword: ULONGLONG, - MatchAllKeyword: ULONGLONG, -}} -pub type PTRACE_ENABLE_INFO = *mut TRACE_ENABLE_INFO; -STRUCT!{struct TRACE_PROVIDER_INSTANCE_INFO { - NameOffset: ULONG, - EnableCount: ULONG, - Pid: ULONG, - Flags: ULONG, -}} -pub type PTRACE_PROVIDER_INSTANCE_INFO = *mut TRACE_PROVIDER_INSTANCE_INFO; -STRUCT!{struct TRACE_GUID_INFO { - InstanceCount: ULONG, - Reserved: ULONG, -}} -pub type PTRACE_GUID_INFO = *mut TRACE_GUID_INFO; -STRUCT!{struct PROFILE_SOURCE_INFO { - NextEntryOffset: ULONG, - Source: ULONG, - MinInterval: ULONG, - MaxInterval: ULONG, - Reserved: ULONG64, - Description: [WCHAR; ANYSIZE_ARRAY], -}} -pub type PPROFILE_SOURCE_INFO = *mut PROFILE_SOURCE_INFO; -UNION!{union EVENT_TRACE_u { - [u32; 1], - ClientContext ClientContext_mut: ULONG, - BufferContext BufferContext_mut: ETW_BUFFER_CONTEXT, -}} -STRUCT!{struct EVENT_TRACE { - Header: EVENT_TRACE_HEADER, - InstanceId: ULONG, - ParentInstanceId: ULONG, - ParentGuid: GUID, - MofData: PVOID, - MofLength: ULONG, - u: EVENT_TRACE_u, -}} -pub type PEVENT_TRACE = *mut EVENT_TRACE; -pub const EVENT_CONTROL_CODE_DISABLE_PROVIDER: ULONG = 0; -pub const EVENT_CONTROL_CODE_ENABLE_PROVIDER: ULONG = 1; -pub const EVENT_CONTROL_CODE_CAPTURE_STATE: ULONG = 2; -FN!{stdcall PEVENT_TRACE_BUFFER_CALLBACKW( - PEVENT_TRACE_LOGFILEW, -) -> ULONG} -FN!{stdcall PEVENT_TRACE_BUFFER_CALLBACKA( - PEVENT_TRACE_LOGFILEA, -) -> ULONG} -FN!{stdcall PEVENT_CALLBACK( - pEvent: PEVENT_TRACE, -) -> ()} -FN!{stdcall PEVENT_RECORD_CALLBACK( - EventRecord: PEVENT_RECORD, -) -> ()} -FN!{stdcall WMIDPREQUEST( - RequestCode: WMIDPREQUESTCODE, - RequestContext: PVOID, - BufferSize: *mut ULONG, - Buffer: PVOID, -) -> ULONG} -UNION!{union EVENT_TRACE_LOGFILE_u1 { - [u32; 1], - LogFileMode LogFileMode_mut: ULONG, - ProcessTraceMode ProcessTraceMode_mut: ULONG, -}} -UNION!{union EVENT_TRACE_LOGFILE_u2 { - [u32; 1] [u64; 1], - EventCallback EventCallback_mut: PEVENT_CALLBACK, - EventRecordCallback EventRecordCallback_mut: PEVENT_RECORD_CALLBACK, -}} -STRUCT!{struct EVENT_TRACE_LOGFILEW { - LogFileName: LPWSTR, - LoggerName: LPWSTR, - CurrentTime: LONGLONG, - BuffersRead: ULONG, - u1: EVENT_TRACE_LOGFILE_u1, - CurrentEvent: EVENT_TRACE, - LogfileHeader: TRACE_LOGFILE_HEADER, - BufferCallback: PEVENT_TRACE_BUFFER_CALLBACKW, - BufferSize: ULONG, - Filled: ULONG, - EventsLost: ULONG, - u2: EVENT_TRACE_LOGFILE_u2, - IsKernelTrace: ULONG, - Context: PVOID, -}} -pub type PEVENT_TRACE_LOGFILEW = *mut EVENT_TRACE_LOGFILEW; -STRUCT!{struct EVENT_TRACE_LOGFILEA { - LogFileName: LPSTR, - LoggerName: LPSTR, - CurrentTime: LONGLONG, - BuffersRead: ULONG, - u1: EVENT_TRACE_LOGFILE_u1, - CurrentEvent: EVENT_TRACE, - LogfileHeader: TRACE_LOGFILE_HEADER, - BufferCallback: PEVENT_TRACE_BUFFER_CALLBACKA, - BufferSize: ULONG, - Filled: ULONG, - EventsLost: ULONG, - u2: EVENT_TRACE_LOGFILE_u2, - IsKernelTrace: ULONG, - Context: PVOID, -}} -pub type PEVENT_TRACE_LOGFILEA = *mut EVENT_TRACE_LOGFILEA; -extern "system" { - pub fn StartTraceW( - SessionHandle: PTRACEHANDLE, - SessionName: LPCWSTR, - Properties: PEVENT_TRACE_PROPERTIES, - ) -> ULONG; - pub fn StartTraceA( - SessionHandle: PTRACEHANDLE, - SessionName: LPCSTR, - Properties: PEVENT_TRACE_PROPERTIES, - ) -> ULONG; - pub fn StopTraceW( - SessionHandle: TRACEHANDLE, - SessionName: LPCWSTR, - Properties: PEVENT_TRACE_PROPERTIES, - ) -> ULONG; - pub fn StopTraceA( - SessionHandle: TRACEHANDLE, - SessionName: LPCSTR, - Properties: PEVENT_TRACE_PROPERTIES, - ) -> ULONG; - pub fn QueryTraceW( - SessionHandle: TRACEHANDLE, - SessionName: LPCWSTR, - Properties: PEVENT_TRACE_PROPERTIES, - ) -> ULONG; - pub fn QueryTraceA( - SessionHandle: TRACEHANDLE, - SessionName: LPCSTR, - Properties: PEVENT_TRACE_PROPERTIES, - ) -> ULONG; - pub fn UpdateTraceW( - SessionHandle: TRACEHANDLE, - SessionName: LPCWSTR, - Properties: PEVENT_TRACE_PROPERTIES, - ) -> ULONG; - pub fn UpdateTraceA( - SessionHandle: TRACEHANDLE, - SessionName: LPCSTR, - Properties: PEVENT_TRACE_PROPERTIES, - ) -> ULONG; - pub fn FlushTraceW( - SessionHandle: TRACEHANDLE, - SessionName: LPCWSTR, - Properties: PEVENT_TRACE_PROPERTIES, - ) -> ULONG; - pub fn FlushTraceA( - SessionHandle: TRACEHANDLE, - SessionName: LPCSTR, - Properties: PEVENT_TRACE_PROPERTIES, - ) -> ULONG; - pub fn ControlTraceW( - SessionHandle: TRACEHANDLE, - SessionName: LPCWSTR, - Properties: PEVENT_TRACE_PROPERTIES, - ControlCode: ULONG, - ) -> ULONG; - pub fn ControlTraceA( - SessionHandle: TRACEHANDLE, - SessionName: LPCSTR, - Properties: PEVENT_TRACE_PROPERTIES, - ControlCode: ULONG, - ) -> ULONG; - pub fn QueryAllTracesW( - PropertyArray: *mut PEVENT_TRACE_PROPERTIES, - PropertyArrayCount: ULONG, - SessionCount: PULONG, - ) -> ULONG; - pub fn QueryAllTracesA( - PropertyArray: *mut PEVENT_TRACE_PROPERTIES, - PropertyArrayCount: ULONG, - SessionCount: PULONG, - ) -> ULONG; - pub fn EnableTrace( - Enable: ULONG, - EnableFlag: ULONG, - EnableLevel: ULONG, - ControlGuid: LPCGUID, - SessionHandle: TRACEHANDLE, - ) -> ULONG; - pub fn EnableTraceEx( - ProviderId: LPCGUID, - SourceId: LPCGUID, - TraceHandle: TRACEHANDLE, - IsEnabled: ULONG, - Level: UCHAR, - MatchAnyKeyword: ULONGLONG, - MatchAllKeyword: ULONGLONG, - EnableProperty: ULONG, - EnableFilterDesc: PEVENT_FILTER_DESCRIPTOR, - ) -> ULONG; -} -pub const ENABLE_TRACE_PARAMETERS_VERSION: ULONG = 1; -pub const ENABLE_TRACE_PARAMETERS_VERSION_2: ULONG = 2; -STRUCT!{struct ENABLE_TRACE_PARAMETERS_V1 { - Version: ULONG, - EnableProperty: ULONG, - ControlFlags: ULONG, - SourceId: GUID, - EnableFilterDesc: PEVENT_FILTER_DESCRIPTOR, -}} -pub type PENABLE_TRACE_PARAMETERS_V1 = *mut ENABLE_TRACE_PARAMETERS_V1; -STRUCT!{struct ENABLE_TRACE_PARAMETERS { - Version: ULONG, - EnableProperty: ULONG, - ControlFlags: ULONG, - SourceId: GUID, - EnableFilterDesc: PEVENT_FILTER_DESCRIPTOR, - FilterDescCount: ULONG, -}} -pub type PENABLE_TRACE_PARAMETERS = *mut ENABLE_TRACE_PARAMETERS; -extern "system" { - pub fn EnableTraceEx2( - TraceHandle: TRACEHANDLE, - ProviderId: LPCGUID, - ControlCode: ULONG, - Level: UCHAR, - MatchAnyKeyword: ULONGLONG, - MatchAllKeyword: ULONGLONG, - Timeout: ULONG, - EnableParameters: PENABLE_TRACE_PARAMETERS, - ) -> ULONG; -} -ENUM!{enum TRACE_QUERY_INFO_CLASS { - TraceGuidQueryList, - TraceGuidQueryInfo, - TraceGuidQueryProcess, - TraceStackTracingInfo, - TraceSystemTraceEnableFlagsInfo, - TraceSampledProfileIntervalInfo, - TraceProfileSourceConfigInfo, - TraceProfileSourceListInfo, - TracePmcEventListInfo, - TracePmcCounterListInfo, - TraceSetDisallowList, - TraceVersionInfo, - TraceGroupQueryList, - TraceGroupQueryInfo, - TraceDisallowListQuery, - TraceCompressionInfo, - TracePeriodicCaptureStateListInfo, - TracePeriodicCaptureStateInfo, - TraceProviderBinaryTracking, - TraceMaxLoggersQuery, - MaxTraceSetInfoClass, -}} -pub type TRACE_INFO_CLASS = TRACE_QUERY_INFO_CLASS; -extern "system" { - pub fn EnumerateTraceGuidsEx( - TraceQueryInfoClass: TRACE_QUERY_INFO_CLASS, - InBuffer: PVOID, - InBufferSize: ULONG, - OutBuffer: PVOID, - OutBufferSize: ULONG, - ReturnLength: PULONG, - ) -> ULONG; -} -STRUCT!{struct CLASSIC_EVENT_ID { - EventGuid: GUID, - Type: UCHAR, - Reserved: [UCHAR; 7], -}} -pub type PCLASSIC_EVENT_ID = *mut CLASSIC_EVENT_ID; -STRUCT!{struct TRACE_PROFILE_INTERVAL { - Source: ULONG, - Interval: ULONG, -}} -pub type PTRACE_PROFILE_INTERVAL = *mut TRACE_PROFILE_INTERVAL; -STRUCT!{struct TRACE_VERSION_INFO { - EtwTraceProcessingVersion: UINT, - Reserved: UINT, -}} -pub type PTRACE_VERSION_INFO = *mut TRACE_VERSION_INFO; -STRUCT!{struct TRACE_PERIODIC_CAPTURE_STATE_INFO { - CaptureStateFrequencyInSeconds: ULONG, - ProviderCount: USHORT, - Reserved: USHORT, -}} -pub type PTRACE_PERIODIC_CAPTURE_STATE_INFO = *mut TRACE_PERIODIC_CAPTURE_STATE_INFO; -extern "system" { - pub fn TraceSetInformation( - SessionHandle: TRACEHANDLE, - InformationClass: TRACE_INFO_CLASS, - TraceInformation: PVOID, - InformationLength: ULONG, - ) -> ULONG; - pub fn TraceQueryInformation( - SessionHandle: TRACEHANDLE, - InformationClass: TRACE_QUERY_INFO_CLASS, - TraceInformation: PVOID, - InformationLength: ULONG, - ReturnLength: PULONG, - ) -> ULONG; - pub fn CreateTraceInstanceId( - RegHandle: HANDLE, - pInstInfo: PEVENT_INSTANCE_INFO, - ) -> ULONG; - pub fn TraceEvent( - SessionHandle: TRACEHANDLE, - EventTrace: PEVENT_TRACE_HEADER, - ) -> ULONG; - pub fn TraceEventInstance( - SessionHandle: TRACEHANDLE, - EventTrace: PEVENT_TRACE_HEADER, - pInstInfo: PEVENT_INSTANCE_INFO, - pParentInstInfo: PEVENT_INSTANCE_INFO, - ) -> ULONG; - pub fn RegisterTraceGuidsW( - RequestAddress: WMIDPREQUEST, - RequestContext: PVOID, - ControlGuid: LPCGUID, - GuidCount: ULONG, - TraceGuidReg: PTRACE_GUID_REGISTRATION, - MofImagePath: LPCWSTR, - MofResourceName: LPCWSTR, - RegistrationHandle: PTRACEHANDLE, - ) -> ULONG; - pub fn RegisterTraceGuidsA( - RequestAddress: WMIDPREQUEST, - RequestContext: PVOID, - ControlGuid: LPCGUID, - GuidCount: ULONG, - TraceGuidReg: PTRACE_GUID_REGISTRATION, - MofImagePath: LPCSTR, - MofResourceName: LPCSTR, - RegistrationHandle: PTRACEHANDLE, - ) -> ULONG; - pub fn EnumerateTraceGuids( - GuidPropertiesArray: *mut PTRACE_GUID_PROPERTIES, - PropertyArrayCount: ULONG, - GuidCount: PULONG, - ) -> ULONG; - pub fn UnregisterTraceGuids( - RegistrationHandle: TRACEHANDLE, - ) -> ULONG; - pub fn GetTraceLoggerHandle( - Buffer: PVOID, - ) -> TRACEHANDLE; - pub fn GetTraceEnableLevel( - SessionHandle: TRACEHANDLE, - ) -> UCHAR; - pub fn GetTraceEnableFlags( - SessionHandle: TRACEHANDLE, - ) -> ULONG; - pub fn OpenTraceW( - Logfile: PEVENT_TRACE_LOGFILEW, - ) -> TRACEHANDLE; - pub fn ProcessTrace( - HandleArray: PTRACEHANDLE, - HandleCount: ULONG, - StartTime: LPFILETIME, - EndTime: LPFILETIME, - ) -> ULONG; - pub fn CloseTrace( - TraceHandle: TRACEHANDLE, - ) -> ULONG; -} -ENUM!{enum ETW_PROCESS_HANDLE_INFO_TYPE { - EtwQueryPartitionInformation = 1, - EtwQueryProcessHandleInfoMax, -}} -STRUCT!{struct ETW_TRACE_PARTITION_INFORMATION { - PartitionId: GUID, - ParentId: GUID, - Reserved: ULONG64, - PartitionType: ULONG, -}} -pub type PETW_TRACE_PARTITION_INFORMATION = *mut ETW_TRACE_PARTITION_INFORMATION; -extern "system" { - pub fn QueryTraceProcessingHandle( - ProcessingHandle: TRACEHANDLE, - InformationClass: ETW_PROCESS_HANDLE_INFO_TYPE, - InBuffer: PVOID, - InBufferSize: ULONG, - OutBuffer: PVOID, - OutBufferSize: ULONG, - ReturnLength: PULONG, - ) -> ULONG; - pub fn OpenTraceA( - Logfile: PEVENT_TRACE_LOGFILEA, - ) -> TRACEHANDLE; - pub fn SetTraceCallback( - pGuid: LPCGUID, - EventCallback: PEVENT_CALLBACK, - ) -> ULONG; - pub fn RemoveTraceCallback( - pGuid: LPCGUID, - ) -> ULONG; -} -extern "C" { - pub fn TraceMessage( - SessionHandle: TRACEHANDLE, - MessageFlags: ULONG, - MessageGuid: LPGUID, - MessageNumber: USHORT, - ... - ) -> ULONG; - pub fn TraceMessageVa( - SessionHandle: TRACEHANDLE, - MessageFlags: ULONG, - MessageGuid: LPGUID, - MessageNumber: USHORT, - MessageArgList: va_list, - ); -} -pub const INVALID_PROCESSTRACE_HANDLE: TRACEHANDLE = INVALID_HANDLE_VALUE as TRACEHANDLE; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/guiddef.rs b/vendor/registry-40351f815f426200/winapi/src/shared/guiddef.rs deleted file mode 100644 index dcd39dcc4..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/guiddef.rs +++ /dev/null @@ -1,36 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! GUID definition -use ctypes::{c_uchar, c_ulong, c_ushort}; -STRUCT!{#[debug] struct GUID { - Data1: c_ulong, - Data2: c_ushort, - Data3: c_ushort, - Data4: [c_uchar; 8], -}} -pub type LPGUID = *mut GUID; -pub type LPCGUID = *const GUID; -pub type IID = GUID; -pub type LPIID = *mut IID; -pub use self::IsEqualGUID as IsEqualIID; -pub type CLSID = GUID; -pub type LPCLSID = *mut CLSID; -pub use self::IsEqualGUID as IsEqualCLSID; -pub type FMTID = GUID; -pub type LPFMTID = *mut FMTID; -pub use self::IsEqualGUID as IsEqualFMTID; -pub type REFGUID = *const GUID; -pub type REFIID = *const IID; -pub type REFCLSID = *const IID; -pub type REFFMTID = *const IID; -DEFINE_GUID!{IID_NULL, - 0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} -#[inline] -pub fn IsEqualGUID(g1: &GUID, g2: &GUID) -> bool { - let a = unsafe { &*(g1 as *const _ as *const [u32; 4]) }; - let b = unsafe { &*(g2 as *const _ as *const [u32; 4]) }; - a[0] == b[0] && a[1] == b[1] && a[2] == b[2] && a[3] == b[3] -} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/hidclass.rs b/vendor/registry-40351f815f426200/winapi/src/shared/hidclass.rs deleted file mode 100644 index c65c14faf..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/hidclass.rs +++ /dev/null @@ -1,68 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::guiddef::GUID; -use shared::minwindef::{DWORD, PUCHAR, UCHAR, ULONG, USHORT}; -use um::winioctl::{ - FILE_ANY_ACCESS, FILE_DEVICE_KEYBOARD, METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_NEITHER, - METHOD_OUT_DIRECT, -}; -use um::winnt::BOOLEAN; -DEFINE_GUID!{GUID_DEVINTERFACE_HID, - 0x4D1E55B2, 0xF16F, 0x11CF, 0x88, 0xCB, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30} -pub const GUID_CLASS_INPUT: GUID = GUID_DEVINTERFACE_HID; -DEFINE_GUID!{GUID_HID_INTERFACE_NOTIFY, - 0x2c4e2e88, 0x25e6, 0x4c33, 0x88, 0x2f, 0x3d, 0x82, 0xe6, 0x07, 0x36, 0x81} -DEFINE_GUID!{GUID_HID_INTERFACE_HIDPARSE, - 0xf5c315a5, 0x69ac, 0x4bc2, 0x92, 0x79, 0xd0, 0xb6, 0x45, 0x76, 0xf4, 0x4b} -// FIXME devpropkey stuff -pub const HID_REVISION: DWORD = 0x00000001; -pub const IOCTL_HID_GET_DRIVER_CONFIG: DWORD = HID_BUFFER_CTL_CODE!(100); -pub const IOCTL_HID_SET_DRIVER_CONFIG: DWORD = HID_BUFFER_CTL_CODE!(101); -pub const IOCTL_HID_GET_POLL_FREQUENCY_MSEC: DWORD = HID_BUFFER_CTL_CODE!(102); -pub const IOCTL_HID_SET_POLL_FREQUENCY_MSEC: DWORD = HID_BUFFER_CTL_CODE!(103); -pub const IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS: DWORD = HID_BUFFER_CTL_CODE!(104); -pub const IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS: DWORD = HID_BUFFER_CTL_CODE!(105); -pub const IOCTL_HID_GET_COLLECTION_INFORMATION: DWORD = HID_BUFFER_CTL_CODE!(106); -pub const IOCTL_HID_ENABLE_WAKE_ON_SX: DWORD = HID_BUFFER_CTL_CODE!(107); -pub const IOCTL_HID_SET_S0_IDLE_TIMEOUT: DWORD = HID_BUFFER_CTL_CODE!(108); -pub const IOCTL_HID_GET_COLLECTION_DESCRIPTOR: DWORD = HID_CTL_CODE!(100); -pub const IOCTL_HID_FLUSH_QUEUE: DWORD = HID_CTL_CODE!(101); -pub const IOCTL_HID_SET_FEATURE: DWORD = HID_IN_CTL_CODE!(100); -pub const IOCTL_HID_SET_OUTPUT_REPORT: DWORD = HID_IN_CTL_CODE!(101); -pub const IOCTL_HID_GET_FEATURE: DWORD = HID_OUT_CTL_CODE!(100); -pub const IOCTL_GET_PHYSICAL_DESCRIPTOR: DWORD = HID_OUT_CTL_CODE!(102); -pub const IOCTL_HID_GET_HARDWARE_ID: DWORD = HID_OUT_CTL_CODE!(103); -pub const IOCTL_HID_GET_INPUT_REPORT: DWORD = HID_OUT_CTL_CODE!(104); -pub const IOCTL_HID_GET_OUTPUT_REPORT: DWORD = HID_OUT_CTL_CODE!(105); -pub const IOCTL_HID_GET_MANUFACTURER_STRING: DWORD = HID_OUT_CTL_CODE!(110); -pub const IOCTL_HID_GET_PRODUCT_STRING: DWORD = HID_OUT_CTL_CODE!(111); -pub const IOCTL_HID_GET_SERIALNUMBER_STRING: DWORD = HID_OUT_CTL_CODE!(112); -pub const IOCTL_HID_GET_INDEXED_STRING: DWORD = HID_OUT_CTL_CODE!(120); -pub const IOCTL_HID_GET_MS_GENRE_DESCRIPTOR: DWORD = HID_OUT_CTL_CODE!(121); -pub const IOCTL_HID_ENABLE_SECURE_READ: DWORD = HID_CTL_CODE!(130); -pub const IOCTL_HID_DISABLE_SECURE_READ: DWORD = HID_CTL_CODE!(131); -pub const IOCTL_HID_DEVICERESET_NOTIFICATION: DWORD = HID_CTL_CODE!(140); -STRUCT!{struct HID_XFER_PACKET { - reportBuffer: PUCHAR, - reportBufferLen: ULONG, - reportId: UCHAR, -}} -pub type PHID_XFER_PACKET = *mut HID_XFER_PACKET; -//FIXME Stuff for NT_INCLUDED -STRUCT!{struct HID_COLLECTION_INFORMATION { - DescriptorSize: ULONG, - Polled: BOOLEAN, - Reserved1: [UCHAR; 1], - VendorID: USHORT, - ProductID: USHORT, - VersionNumber: USHORT, -}} -pub type PHID_COLLECTION_INFORMATION = *mut HID_COLLECTION_INFORMATION; -STRUCT!{struct HID_DRIVER_CONFIG { - Size: ULONG, - RingBufferSize: ULONG, -}} -pub type PHID_DRIVER_CONFIG = *mut HID_DRIVER_CONFIG; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/hidpi.rs b/vendor/registry-40351f815f426200/winapi/src/shared/hidpi.rs deleted file mode 100644 index ea0229253..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/hidpi.rs +++ /dev/null @@ -1,393 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::hidusage::{PUSAGE, USAGE}; -use shared::minwindef::{PUCHAR, PULONG, PUSHORT, UCHAR, ULONG, USHORT}; -use shared::ntdef::NTSTATUS; -use shared::ntstatus::FACILITY_HID_ERROR_CODE; -use um::winnt::{BOOLEAN, LONG, PCHAR, PLONG, PVOID}; -pub const HIDP_LINK_COLLECTION_ROOT: USHORT = -1i16 as u16; -pub const HIDP_LINK_COLLECTION_UNSPECIFIED: USHORT = 0; -ENUM!{enum HIDP_REPORT_TYPE { - HidP_Input, - HidP_Output, - HidP_Feature, -}} -STRUCT!{struct USAGE_AND_PAGE { - Usage: USAGE, - UsagePage: USAGE, -}} -pub type PUSAGE_AND_PAGE = *mut USAGE_AND_PAGE; -// HidP_IsSameUsageAndPage -STRUCT!{struct HIDP_CAPS_Range { - UsageMin: USAGE, - UsageMax: USAGE, - StringMin: USHORT, - StringMax: USHORT, - DesignatorMin: USHORT, - DesignatorMax: USHORT, - DataIndexMin: USHORT, - DataIndexMax: USHORT, -}} -STRUCT!{struct HIDP_CAPS_NotRange { - Usage: USAGE, - Reserved1: USAGE, - StringIndex: USHORT, - Reserved2: USHORT, - DesignatorIndex: USHORT, - Reserved3: USHORT, - DataIndex: USHORT, - Reserved4: USHORT, -}} -UNION!{union HIDP_CAPS_u { - [u16; 8], - Range Range_mut: HIDP_CAPS_Range, - NotRange NotRange_mut: HIDP_CAPS_NotRange, -}} -STRUCT!{struct HIDP_BUTTON_CAPS { - UsagePage: USAGE, - ReportID: UCHAR, - IsAlias: BOOLEAN, - BitField: USHORT, - LinkCollection: USHORT, - LinkUsage: USAGE, - LinkUsagePage: USAGE, - IsRange: BOOLEAN, - IsStringRange: BOOLEAN, - IsDesignatorRange: BOOLEAN, - IsAbsolute: BOOLEAN, - Reserved: [ULONG; 10], - u: HIDP_CAPS_u, -}} -pub type PHIDP_BUTTON_CAPS = *mut HIDP_BUTTON_CAPS; -STRUCT!{struct HIDP_VALUE_CAPS { - UsagePage: USAGE, - ReportID: UCHAR, - IsAlias: BOOLEAN, - BitField: USHORT, - LinkCollection: USHORT, - LinkUsage: USAGE, - LinkUsagePage: USAGE, - IsRange: BOOLEAN, - IsStringRange: BOOLEAN, - IsDesignatorRange: BOOLEAN, - IsAbsolute: BOOLEAN, - HasNull: BOOLEAN, - Reserved: UCHAR, - BitSize: USHORT, - ReportCount: USHORT, - Reserved2: [USHORT; 5], - UnitsExp: ULONG, - Units: ULONG, - LogicalMin: LONG, - LogicalMax: LONG, - PhysicalMin: LONG, - PhysicalMax: LONG, - u: HIDP_CAPS_u, -}} -pub type PHIDP_VALUE_CAPS = *mut HIDP_VALUE_CAPS; -STRUCT!{struct HIDP_LINK_COLLECTION_NODE { - LinkUsage: USAGE, - LinkUsagePage: USAGE, - Parent: USHORT, - NumberOfChildren: USHORT, - NextSibling: USHORT, - FirstChild: USHORT, - bit_fields: ULONG, - UserContext: PVOID, -}} -BITFIELD!{HIDP_LINK_COLLECTION_NODE bit_fields: ULONG [ - CollectionType set_CollectionType[0..8], - IsAlias set_IsAlias[8..9], -]} -pub type PHIDP_LINK_COLLECTION_NODE = *mut HIDP_LINK_COLLECTION_NODE; -pub type PHIDP_REPORT_DESCRIPTOR = PUCHAR; -pub enum HIDP_PREPARSED_DATA {} -pub type PHIDP_PREPARSED_DATA = *mut HIDP_PREPARSED_DATA; -STRUCT!{struct HIDP_CAPS { - Usage: USAGE, - UsagePage: USAGE, - InputReportByteLength: USHORT, - OutputReportByteLength: USHORT, - FeatureReportByteLength: USHORT, - Reserved: [USHORT; 17], - NumberLinkCollectionNodes: USHORT, - NumberInputButtonCaps: USHORT, - NumberInputValueCaps: USHORT, - NumberInputDataIndices: USHORT, - NumberOutputButtonCaps: USHORT, - NumberOutputValueCaps: USHORT, - NumberOutputDataIndices: USHORT, - NumberFeatureButtonCaps: USHORT, - NumberFeatureValueCaps: USHORT, - NumberFeatureDataIndices: USHORT, -}} -pub type PHIDP_CAPS = *mut HIDP_CAPS; -UNION!{union HIDP_DATA_u { - [u32; 1], - RawValue RawValue_mut: ULONG, - On On_mut: BOOLEAN, -}} -STRUCT!{struct HIDP_DATA { - DataIndex: USHORT, - Reserved: USHORT, - u: HIDP_DATA_u, -}} -pub type PHIDP_DATA = *mut HIDP_DATA; -STRUCT!{struct HIDP_UNKNOWN_TOKEN { - Token: UCHAR, - Reserved: [UCHAR; 3], - BitField: ULONG, -}} -pub type PHIDP_UNKNOWN_TOKEN = *mut HIDP_UNKNOWN_TOKEN; -STRUCT!{struct HIDP_EXTENDED_ATTRIBUTES { - NumGlobalUnknowns: UCHAR, - Reserved: [UCHAR; 3], - GlobalUnknowns: PHIDP_UNKNOWN_TOKEN, - Data: [ULONG; 1], -}} -pub type PHIDP_EXTENDED_ATTRIBUTES = *mut HIDP_EXTENDED_ATTRIBUTES; -extern "system" { - pub fn HidP_GetCaps( - PreparsedData: PHIDP_PREPARSED_DATA, - Capabilities: PHIDP_CAPS, - ) -> NTSTATUS; - pub fn HidP_GetLinkCollectionNodes( - LinkCollectionNodes: PHIDP_LINK_COLLECTION_NODE, - LinkCollectionNodesLength: PULONG, - PreparsedData: PHIDP_PREPARSED_DATA, - ) -> NTSTATUS; - pub fn HidP_GetSpecificButtonCaps( - ReportType: HIDP_REPORT_TYPE, - UsagePage: USAGE, - LinkCollection: USHORT, - Usage: USAGE, - ButtonCaps: PHIDP_BUTTON_CAPS, - ButtonCapsLength: PUSHORT, - PreparsedData: PHIDP_PREPARSED_DATA, - ) -> NTSTATUS; - pub fn HidP_GetButtonCaps( - ReportType: HIDP_REPORT_TYPE, - ButtonCaps: PHIDP_BUTTON_CAPS, - ButtonCapsLength: PUSHORT, - PreparsedData: PHIDP_PREPARSED_DATA, - ) -> NTSTATUS; - pub fn HidP_GetSpecificValueCaps( - ReportType: HIDP_REPORT_TYPE, - UsagePage: USAGE, - LinkCollection: USHORT, - Usage: USAGE, - ValueCaps: PHIDP_VALUE_CAPS, - ValueCapsLength: PUSHORT, - PreparsedData: PHIDP_PREPARSED_DATA, - ) -> NTSTATUS; - pub fn HidP_GetValueCaps( - ReportType: HIDP_REPORT_TYPE, - ValueCaps: PHIDP_VALUE_CAPS, - ValueCapsLength: PUSHORT, - PreparsedData: PHIDP_PREPARSED_DATA, - ) -> NTSTATUS; - pub fn HidP_GetExtendedAttributes( - ReportType: HIDP_REPORT_TYPE, - DataIndex: USHORT, - PreparsedData: PHIDP_PREPARSED_DATA, - Attributes: PHIDP_EXTENDED_ATTRIBUTES, - LengthAttributes: PULONG, - ) -> NTSTATUS; - pub fn HidP_InitializeReportForID( - ReportType: HIDP_REPORT_TYPE, - ReportID: UCHAR, - PreparsedData: PHIDP_PREPARSED_DATA, - Report: PCHAR, - ReportLength: ULONG, - ) -> NTSTATUS; - pub fn HidP_SetData( - ReportType: HIDP_REPORT_TYPE, - DataList: PHIDP_DATA, - DataLength: PULONG, - PreparsedData: PHIDP_PREPARSED_DATA, - Report: PCHAR, - ReportLength: ULONG, - ) -> NTSTATUS; - pub fn HidP_GetData( - ReportType: HIDP_REPORT_TYPE, - DataList: PHIDP_DATA, - DataLength: PULONG, - PreparsedData: PHIDP_PREPARSED_DATA, - Report: PCHAR, - ReportLength: ULONG, - ) -> NTSTATUS; - pub fn HidP_MaxDataListLength( - ReportType: HIDP_REPORT_TYPE, - PreparsedData: PHIDP_PREPARSED_DATA, - ) -> ULONG; - pub fn HidP_SetUsages( - ReportType: HIDP_REPORT_TYPE, - UsagePage: USAGE, - LinkCollection: USHORT, - UsageList: PUSAGE, - UsageLength: PULONG, - PreparsedData: PHIDP_PREPARSED_DATA, - Report: PCHAR, - ReportLength: ULONG, - ) -> NTSTATUS; - pub fn HidP_UnsetUsages( - ReportType: HIDP_REPORT_TYPE, - UsagePage: USAGE, - LinkCollection: USHORT, - UsageList: PUSAGE, - UsageLength: PULONG, - PreparsedData: PHIDP_PREPARSED_DATA, - Report: PCHAR, - ReportLength: ULONG, - ) -> NTSTATUS; - pub fn HidP_GetUsages( - ReportType: HIDP_REPORT_TYPE, - UsagePage: USAGE, - LinkCollection: USHORT, - UsageList: PUSAGE, - UsageLength: PULONG, - PreparsedData: PHIDP_PREPARSED_DATA, - Report: PCHAR, - ReportLength: ULONG, - ) -> NTSTATUS; - pub fn HidP_GetUsagesEx( - ReportType: HIDP_REPORT_TYPE, - LinkCollection: USHORT, - ButtonList: PUSAGE_AND_PAGE, - UsageLength: *mut ULONG, - PreparsedData: PHIDP_PREPARSED_DATA, - Report: PCHAR, - ReportLength: ULONG, - ) -> NTSTATUS; - pub fn HidP_MaxUsageListLength( - ReportType: HIDP_REPORT_TYPE, - UsagePage: USAGE, - PreparsedData: PHIDP_PREPARSED_DATA, - ) -> ULONG; - pub fn HidP_SetUsageValue( - ReportType: HIDP_REPORT_TYPE, - UsagePage: USAGE, - LinkCollection: USHORT, - Usage: USAGE, - UsageValue: ULONG, - PreparsedData: PHIDP_PREPARSED_DATA, - Report: PCHAR, - ReportLength: ULONG, - ) -> NTSTATUS; - pub fn HidP_SetScaledUsageValue( - ReportType: HIDP_REPORT_TYPE, - UsagePage: USAGE, - LinkCollection: USHORT, - Usage: USAGE, - UsageValue: LONG, - PreparsedData: PHIDP_PREPARSED_DATA, - Report: PCHAR, - ReportLength: ULONG, - ) -> NTSTATUS; - pub fn HidP_SetUsageValueArray( - ReportType: HIDP_REPORT_TYPE, - UsagePage: USAGE, - LinkCollection: USHORT, - Usage: USAGE, - UsageValue: PCHAR, - UsageValueByteLength: USHORT, - PreparsedData: PHIDP_PREPARSED_DATA, - Report: PCHAR, - ReportLength: ULONG, - ) -> NTSTATUS; - pub fn HidP_GetUsageValue( - ReportType: HIDP_REPORT_TYPE, - UsagePage: USAGE, - LinkCollection: USHORT, - Usage: USAGE, - UsageValue: PULONG, - PreparsedData: PHIDP_PREPARSED_DATA, - Report: PCHAR, - ReportLength: ULONG, - ) -> NTSTATUS; - pub fn HidP_GetScaledUsageValue( - ReportType: HIDP_REPORT_TYPE, - UsagePage: USAGE, - LinkCollection: USHORT, - Usage: USAGE, - UsageValue: PLONG, - PreparsedData: PHIDP_PREPARSED_DATA, - Report: PCHAR, - ReportLength: ULONG, - ) -> NTSTATUS; - pub fn HidP_GetUsageValueArray( - ReportType: HIDP_REPORT_TYPE, - UsagePage: USAGE, - LinkCollection: USHORT, - Usage: USAGE, - UsageValue: PCHAR, - UsageValueByteLength: USHORT, - PreparsedData: PHIDP_PREPARSED_DATA, - Report: PCHAR, - ReportLength: ULONG, - ) -> NTSTATUS; - pub fn HidP_UsageListDifference( - PreviousUsageList: PUSAGE, - CurrentUsageList: PUSAGE, - BreakUsageList: PUSAGE, - MakeUsageList: PUSAGE, - UsageListLength: ULONG, - ) -> NTSTATUS; - pub fn HidP_TranslateUsagesToI8042ScanCodes( - ChangedUsageList: PUSAGE, - UsageListLength: ULONG, - KeyAction: HIDP_KEYBOARD_DIRECTION, - ModifierState: PHIDP_KEYBOARD_MODIFIER_STATE, - InsertCodesProcedure: PHIDP_INSERT_SCANCODES, - InsertCodesContext: PVOID, - ) -> NTSTATUS; -} -ENUM!{enum HIDP_KEYBOARD_DIRECTION { - HidP_Keyboard_Break, - HidP_Keyboard_Make, -}} -STRUCT!{struct HIDP_KEYBOARD_MODIFIER_STATE { - ul: ULONG, -}} -BITFIELD!{HIDP_KEYBOARD_MODIFIER_STATE ul: ULONG [ - LeftControl set_LeftControl[0..1], - LeftShift set_LeftShift[1..2], - LeftAlt set_LeftAlt[2..3], - LeftGUI set_LeftGUI[3..4], - RightControl set_RightControl[4..5], - RightShift set_RightShift[5..6], - RightAlt set_RightAlt[6..7], - RigthGUI set_RigthGUI[7..8], - CapsLock set_CapsLock[8..9], - ScollLock set_ScollLock[9..10], - NumLock set_NumLock[10..11], -]} -pub type PHIDP_KEYBOARD_MODIFIER_STATE = *mut HIDP_KEYBOARD_MODIFIER_STATE; -FN!{stdcall PHIDP_INSERT_SCANCODES( - Context: PVOID, - NewScanCodes: PCHAR, - Length: ULONG, -) -> BOOLEAN} -pub const HIDP_STATUS_SUCCESS: NTSTATUS = HIDP_ERROR_CODES!(0x0, 0); -pub const HIDP_STATUS_NULL: NTSTATUS = HIDP_ERROR_CODES!(0x8, 1); -pub const HIDP_STATUS_INVALID_PREPARSED_DATA: NTSTATUS = HIDP_ERROR_CODES!(0xC, 1); -pub const HIDP_STATUS_INVALID_REPORT_TYPE: NTSTATUS = HIDP_ERROR_CODES!(0xC, 2); -pub const HIDP_STATUS_INVALID_REPORT_LENGTH: NTSTATUS = HIDP_ERROR_CODES!(0xC, 3); -pub const HIDP_STATUS_USAGE_NOT_FOUND: NTSTATUS = HIDP_ERROR_CODES!(0xC, 4); -pub const HIDP_STATUS_VALUE_OUT_OF_RANGE: NTSTATUS = HIDP_ERROR_CODES!(0xC, 5); -pub const HIDP_STATUS_BAD_LOG_PHY_VALUES: NTSTATUS = HIDP_ERROR_CODES!(0xC, 6); -pub const HIDP_STATUS_BUFFER_TOO_SMALL: NTSTATUS = HIDP_ERROR_CODES!(0xC, 7); -pub const HIDP_STATUS_INTERNAL_ERROR: NTSTATUS = HIDP_ERROR_CODES!(0xC, 8); -pub const HIDP_STATUS_I8042_TRANS_UNKNOWN: NTSTATUS = HIDP_ERROR_CODES!(0xC, 9); -pub const HIDP_STATUS_INCOMPATIBLE_REPORT_ID: NTSTATUS = HIDP_ERROR_CODES!(0xC, 0xA); -pub const HIDP_STATUS_NOT_VALUE_ARRAY: NTSTATUS = HIDP_ERROR_CODES!(0xC, 0xB); -pub const HIDP_STATUS_IS_VALUE_ARRAY: NTSTATUS = HIDP_ERROR_CODES!(0xC, 0xC); -pub const HIDP_STATUS_DATA_INDEX_NOT_FOUND: NTSTATUS = HIDP_ERROR_CODES!(0xC, 0xD); -pub const HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE: NTSTATUS = HIDP_ERROR_CODES!(0xC, 0xE); -pub const HIDP_STATUS_BUTTON_NOT_PRESSED: NTSTATUS = HIDP_ERROR_CODES!(0xC, 0xF); -pub const HIDP_STATUS_REPORT_DOES_NOT_EXIST: NTSTATUS = HIDP_ERROR_CODES!(0xC, 0x10); -pub const HIDP_STATUS_NOT_IMPLEMENTED: NTSTATUS = HIDP_ERROR_CODES!(0xC, 0x20); -pub const HIDP_STATUS_I8242_TRANS_UNKNOWN: NTSTATUS = HIDP_STATUS_I8042_TRANS_UNKNOWN; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/hidsdi.rs b/vendor/registry-40351f815f426200/winapi/src/shared/hidsdi.rs deleted file mode 100644 index ebdd3ed4f..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/hidsdi.rs +++ /dev/null @@ -1,110 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::guiddef::LPGUID; -use shared::hidpi::PHIDP_PREPARSED_DATA; -use shared::minwindef::{PULONG, ULONG, USHORT}; -use um::winnt::{BOOLEAN, HANDLE, PVOID}; -STRUCT!{struct HIDD_CONFIGURATION { - cookie: PVOID, - size: ULONG, - RingBufferSize: ULONG, -}} -pub type PHIDD_CONFIGURATION = *mut HIDD_CONFIGURATION; -STRUCT!{struct HIDD_ATTRIBUTES { - Size: ULONG, - VendorID: USHORT, - ProductID: USHORT, - VersionNumber: USHORT, -}} -pub type PHIDD_ATTRIBUTES = *mut HIDD_ATTRIBUTES; -extern "system" { - pub fn HidD_GetAttributes( - HidDeviceObject: HANDLE, - Attributes: PHIDD_ATTRIBUTES, - ) -> BOOLEAN; - pub fn HidD_GetHidGuid( - HidGuid: LPGUID, - ); - pub fn HidD_GetPreparsedData( - HidDeviceObject: HANDLE, - PreparsedData: *mut PHIDP_PREPARSED_DATA, - ) -> BOOLEAN; - pub fn HidD_FreePreparsedData( - PreparsedData: PHIDP_PREPARSED_DATA, - ) -> BOOLEAN; - pub fn HidD_FlushQueue( - HidDeviceObject: HANDLE, - ) -> BOOLEAN; - pub fn HidD_GetConfiguration( - HidDeviceObject: HANDLE, - Configuration: PHIDD_CONFIGURATION, - ConfigurationLength: ULONG, - ) -> BOOLEAN; - pub fn HidD_SetConfiguration( - HidDeviceObject: HANDLE, - Configuration: PHIDD_CONFIGURATION, - ConfigurationLength: ULONG, - ) -> BOOLEAN; - pub fn HidD_GetFeature( - HidDeviceObject: HANDLE, - ReportBuffer: PVOID, - ReportBufferLength: ULONG, - ) -> BOOLEAN; - pub fn HidD_SetFeature( - HidDeviceObject: HANDLE, - ReportBuffer: PVOID, - ReportBufferLength: ULONG, - ) -> BOOLEAN; - pub fn HidD_GetInputReport( - HidDeviceObject: HANDLE, - ReportBuffer: PVOID, - ReportBufferLength: ULONG, - ) -> BOOLEAN; - pub fn HidD_SetOutputReport( - HidDeviceObject: HANDLE, - ReportBuffer: PVOID, - ReportBufferLength: ULONG, - ) -> BOOLEAN; - pub fn HidD_GetNumInputBuffers( - HidDeviceObject: HANDLE, - NumberBuffers: PULONG, - ) -> BOOLEAN; - pub fn HidD_SetNumInputBuffers( - HidDeviceObject: HANDLE, - NumberBuffers: ULONG, - ) -> BOOLEAN; - pub fn HidD_GetPhysicalDescriptor( - HidDeviceObject: HANDLE, - Buffer: PVOID, - BufferLength: ULONG, - ) -> BOOLEAN; - pub fn HidD_GetManufacturerString( - HidDeviceObject: HANDLE, - Buffer: PVOID, - BufferLength: ULONG, - ) -> BOOLEAN; - pub fn HidD_GetProductString( - HidDeviceObject: HANDLE, - Buffer: PVOID, - BufferLength: ULONG, - ) -> BOOLEAN; - pub fn HidD_GetIndexedString( - HidDeviceObject: HANDLE, - StringIndex: ULONG, - Buffer: PVOID, - BufferLength: ULONG, - ) -> BOOLEAN; - pub fn HidD_GetSerialNumberString( - HidDeviceObject: HANDLE, - Buffer: PVOID, - BufferLength: ULONG, - ) -> BOOLEAN; - pub fn HidD_GetMsGenreDescriptor( - HidDeviceObject: HANDLE, - Buffer: PVOID, - BufferLength: ULONG, - ) -> BOOLEAN; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/hidusage.rs b/vendor/registry-40351f815f426200/winapi/src/shared/hidusage.rs deleted file mode 100644 index a483bf27d..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/hidusage.rs +++ /dev/null @@ -1,274 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::USHORT; -pub type USAGE = USHORT; -pub type PUSAGE = *mut USAGE; -pub const HID_USAGE_PAGE_UNDEFINED: USAGE = 0x00; -pub const HID_USAGE_PAGE_GENERIC: USAGE = 0x01; -pub const HID_USAGE_PAGE_SIMULATION: USAGE = 0x02; -pub const HID_USAGE_PAGE_VR: USAGE = 0x03; -pub const HID_USAGE_PAGE_SPORT: USAGE = 0x04; -pub const HID_USAGE_PAGE_GAME: USAGE = 0x05; -pub const HID_USAGE_PAGE_KEYBOARD: USAGE = 0x07; -pub const HID_USAGE_PAGE_LED: USAGE = 0x08; -pub const HID_USAGE_PAGE_BUTTON: USAGE = 0x09; -pub const HID_USAGE_PAGE_ORDINAL: USAGE = 0x0A; -pub const HID_USAGE_PAGE_TELEPHONY: USAGE = 0x0B; -pub const HID_USAGE_PAGE_CONSUMER: USAGE = 0x0C; -pub const HID_USAGE_PAGE_DIGITIZER: USAGE = 0x0D; -pub const HID_USAGE_PAGE_UNICODE: USAGE = 0x10; -pub const HID_USAGE_PAGE_ALPHANUMERIC: USAGE = 0x14; -pub const HID_USAGE_PAGE_SENSOR: USAGE = 0x20; -pub const HID_USAGE_PAGE_BARCODE_SCANNER: USAGE = 0x8C; -pub const HID_USAGE_PAGE_WEIGHING_DEVICE: USAGE = 0x8D; -pub const HID_USAGE_PAGE_MAGNETIC_STRIPE_READER: USAGE = 0x8E; -pub const HID_USAGE_PAGE_CAMERA_CONTROL: USAGE = 0x90; -pub const HID_USAGE_PAGE_MICROSOFT_BLUETOOTH_HANDSFREE: USAGE = 0xFFF3; -pub const HID_USAGE_PAGE_VENDOR_DEFINED_BEGIN: USAGE = 0xFF00; -pub const HID_USAGE_PAGE_VENDOR_DEFINED_END: USAGE = 0xFFFF; -pub const HID_USAGE_GENERIC_POINTER: USAGE = 0x01; -pub const HID_USAGE_GENERIC_MOUSE: USAGE = 0x02; -pub const HID_USAGE_GENERIC_JOYSTICK: USAGE = 0x04; -pub const HID_USAGE_GENERIC_GAMEPAD: USAGE = 0x05; -pub const HID_USAGE_GENERIC_KEYBOARD: USAGE = 0x06; -pub const HID_USAGE_GENERIC_KEYPAD: USAGE = 0x07; -pub const HID_USAGE_GENERIC_PORTABLE_DEVICE_CONTROL: USAGE = 0x0D; -pub const HID_USAGE_GENERIC_SYSTEM_CTL: USAGE = 0x80; -pub const HID_USAGE_GENERIC_X: USAGE = 0x30; -pub const HID_USAGE_GENERIC_Y: USAGE = 0x31; -pub const HID_USAGE_GENERIC_Z: USAGE = 0x32; -pub const HID_USAGE_GENERIC_RX: USAGE = 0x33; -pub const HID_USAGE_GENERIC_RY: USAGE = 0x34; -pub const HID_USAGE_GENERIC_RZ: USAGE = 0x35; -pub const HID_USAGE_GENERIC_SLIDER: USAGE = 0x36; -pub const HID_USAGE_GENERIC_DIAL: USAGE = 0x37; -pub const HID_USAGE_GENERIC_WHEEL: USAGE = 0x38; -pub const HID_USAGE_GENERIC_HATSWITCH: USAGE = 0x39; -pub const HID_USAGE_GENERIC_COUNTED_BUFFER: USAGE = 0x3A; -pub const HID_USAGE_GENERIC_BYTE_COUNT: USAGE = 0x3B; -pub const HID_USAGE_GENERIC_MOTION_WAKEUP: USAGE = 0x3C; -pub const HID_USAGE_GENERIC_VX: USAGE = 0x40; -pub const HID_USAGE_GENERIC_VY: USAGE = 0x41; -pub const HID_USAGE_GENERIC_VZ: USAGE = 0x42; -pub const HID_USAGE_GENERIC_VBRX: USAGE = 0x43; -pub const HID_USAGE_GENERIC_VBRY: USAGE = 0x44; -pub const HID_USAGE_GENERIC_VBRZ: USAGE = 0x45; -pub const HID_USAGE_GENERIC_VNO: USAGE = 0x46; -pub const HID_USAGE_GENERIC_RESOLUTION_MULTIPLIER: USAGE = 0x48; -pub const HID_USAGE_GENERIC_SYSCTL_POWER: USAGE = 0x81; -pub const HID_USAGE_GENERIC_SYSCTL_SLEEP: USAGE = 0x82; -pub const HID_USAGE_GENERIC_SYSCTL_WAKE: USAGE = 0x83; -pub const HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU: USAGE = 0x84; -pub const HID_USAGE_GENERIC_SYSCTL_MAIN_MENU: USAGE = 0x85; -pub const HID_USAGE_GENERIC_SYSCTL_APP_MENU: USAGE = 0x86; -pub const HID_USAGE_GENERIC_SYSCTL_HELP_MENU: USAGE = 0x87; -pub const HID_USAGE_GENERIC_SYSCTL_MENU_EXIT: USAGE = 0x88; -pub const HID_USAGE_GENERIC_SYSCTL_MENU_SELECT: USAGE = 0x89; -pub const HID_USAGE_GENERIC_SYSCTL_MENU_RIGHT: USAGE = 0x8A; -pub const HID_USAGE_GENERIC_SYSCTL_MENU_LEFT: USAGE = 0x8B; -pub const HID_USAGE_GENERIC_SYSCTL_MENU_UP: USAGE = 0x8C; -pub const HID_USAGE_GENERIC_SYSCTL_MENU_DOWN: USAGE = 0x8D; -pub const HID_USAGE_GENERIC_SYSTEM_DISPLAY_ROTATION_LOCK_BUTTON: USAGE = 0xC9; -pub const HID_USAGE_GENERIC_SYSTEM_DISPLAY_ROTATION_LOCK_SLIDER_SWITCH: USAGE = 0xCA; -pub const HID_USAGE_GENERIC_CONTROL_ENABLE: USAGE = 0xCB; -pub const HID_USAGE_SIMULATION_RUDDER: USAGE = 0xBA; -pub const HID_USAGE_SIMULATION_THROTTLE: USAGE = 0xBB; -pub const HID_USAGE_KEYBOARD_NOEVENT: USAGE = 0x00; -pub const HID_USAGE_KEYBOARD_ROLLOVER: USAGE = 0x01; -pub const HID_USAGE_KEYBOARD_POSTFAIL: USAGE = 0x02; -pub const HID_USAGE_KEYBOARD_UNDEFINED: USAGE = 0x03; -pub const HID_USAGE_KEYBOARD_aA: USAGE = 0x04; -pub const HID_USAGE_KEYBOARD_zZ: USAGE = 0x1D; -pub const HID_USAGE_KEYBOARD_ONE: USAGE = 0x1E; -pub const HID_USAGE_KEYBOARD_ZERO: USAGE = 0x27; -pub const HID_USAGE_KEYBOARD_LCTRL: USAGE = 0xE0; -pub const HID_USAGE_KEYBOARD_LSHFT: USAGE = 0xE1; -pub const HID_USAGE_KEYBOARD_LALT: USAGE = 0xE2; -pub const HID_USAGE_KEYBOARD_LGUI: USAGE = 0xE3; -pub const HID_USAGE_KEYBOARD_RCTRL: USAGE = 0xE4; -pub const HID_USAGE_KEYBOARD_RSHFT: USAGE = 0xE5; -pub const HID_USAGE_KEYBOARD_RALT: USAGE = 0xE6; -pub const HID_USAGE_KEYBOARD_RGUI: USAGE = 0xE7; -pub const HID_USAGE_KEYBOARD_SCROLL_LOCK: USAGE = 0x47; -pub const HID_USAGE_KEYBOARD_NUM_LOCK: USAGE = 0x53; -pub const HID_USAGE_KEYBOARD_CAPS_LOCK: USAGE = 0x39; -pub const HID_USAGE_KEYBOARD_F1: USAGE = 0x3A; -pub const HID_USAGE_KEYBOARD_F2: USAGE = 0x3B; -pub const HID_USAGE_KEYBOARD_F3: USAGE = 0x3C; -pub const HID_USAGE_KEYBOARD_F4: USAGE = 0x3D; -pub const HID_USAGE_KEYBOARD_F5: USAGE = 0x3E; -pub const HID_USAGE_KEYBOARD_F6: USAGE = 0x3F; -pub const HID_USAGE_KEYBOARD_F7: USAGE = 0x40; -pub const HID_USAGE_KEYBOARD_F8: USAGE = 0x41; -pub const HID_USAGE_KEYBOARD_F9: USAGE = 0x42; -pub const HID_USAGE_KEYBOARD_F10: USAGE = 0x43; -pub const HID_USAGE_KEYBOARD_F11: USAGE = 0x44; -pub const HID_USAGE_KEYBOARD_F12: USAGE = 0x45; -pub const HID_USAGE_KEYBOARD_F13: USAGE = 0x68; -pub const HID_USAGE_KEYBOARD_F14: USAGE = 0x69; -pub const HID_USAGE_KEYBOARD_F15: USAGE = 0x6A; -pub const HID_USAGE_KEYBOARD_F16: USAGE = 0x6B; -pub const HID_USAGE_KEYBOARD_F17: USAGE = 0x6C; -pub const HID_USAGE_KEYBOARD_F18: USAGE = 0x6D; -pub const HID_USAGE_KEYBOARD_F19: USAGE = 0x6E; -pub const HID_USAGE_KEYBOARD_F20: USAGE = 0x6F; -pub const HID_USAGE_KEYBOARD_F21: USAGE = 0x70; -pub const HID_USAGE_KEYBOARD_F22: USAGE = 0x71; -pub const HID_USAGE_KEYBOARD_F23: USAGE = 0x72; -pub const HID_USAGE_KEYBOARD_F24: USAGE = 0x73; -pub const HID_USAGE_KEYBOARD_RETURN: USAGE = 0x28; -pub const HID_USAGE_KEYBOARD_ESCAPE: USAGE = 0x29; -pub const HID_USAGE_KEYBOARD_DELETE: USAGE = 0x2A; -pub const HID_USAGE_KEYBOARD_PRINT_SCREEN: USAGE = 0x46; -pub const HID_USAGE_KEYBOARD_DELETE_FORWARD: USAGE = 0x4C; -pub const HID_USAGE_LED_NUM_LOCK: USAGE = 0x01; -pub const HID_USAGE_LED_CAPS_LOCK: USAGE = 0x02; -pub const HID_USAGE_LED_SCROLL_LOCK: USAGE = 0x03; -pub const HID_USAGE_LED_COMPOSE: USAGE = 0x04; -pub const HID_USAGE_LED_KANA: USAGE = 0x05; -pub const HID_USAGE_LED_POWER: USAGE = 0x06; -pub const HID_USAGE_LED_SHIFT: USAGE = 0x07; -pub const HID_USAGE_LED_DO_NOT_DISTURB: USAGE = 0x08; -pub const HID_USAGE_LED_MUTE: USAGE = 0x09; -pub const HID_USAGE_LED_TONE_ENABLE: USAGE = 0x0A; -pub const HID_USAGE_LED_HIGH_CUT_FILTER: USAGE = 0x0B; -pub const HID_USAGE_LED_LOW_CUT_FILTER: USAGE = 0x0C; -pub const HID_USAGE_LED_EQUALIZER_ENABLE: USAGE = 0x0D; -pub const HID_USAGE_LED_SOUND_FIELD_ON: USAGE = 0x0E; -pub const HID_USAGE_LED_SURROUND_FIELD_ON: USAGE = 0x0F; -pub const HID_USAGE_LED_REPEAT: USAGE = 0x10; -pub const HID_USAGE_LED_STEREO: USAGE = 0x11; -pub const HID_USAGE_LED_SAMPLING_RATE_DETECT: USAGE = 0x12; -pub const HID_USAGE_LED_SPINNING: USAGE = 0x13; -pub const HID_USAGE_LED_CAV: USAGE = 0x14; -pub const HID_USAGE_LED_CLV: USAGE = 0x15; -pub const HID_USAGE_LED_RECORDING_FORMAT_DET: USAGE = 0x16; -pub const HID_USAGE_LED_OFF_HOOK: USAGE = 0x17; -pub const HID_USAGE_LED_RING: USAGE = 0x18; -pub const HID_USAGE_LED_MESSAGE_WAITING: USAGE = 0x19; -pub const HID_USAGE_LED_DATA_MODE: USAGE = 0x1A; -pub const HID_USAGE_LED_BATTERY_OPERATION: USAGE = 0x1B; -pub const HID_USAGE_LED_BATTERY_OK: USAGE = 0x1C; -pub const HID_USAGE_LED_BATTERY_LOW: USAGE = 0x1D; -pub const HID_USAGE_LED_SPEAKER: USAGE = 0x1E; -pub const HID_USAGE_LED_HEAD_SET: USAGE = 0x1F; -pub const HID_USAGE_LED_HOLD: USAGE = 0x20; -pub const HID_USAGE_LED_MICROPHONE: USAGE = 0x21; -pub const HID_USAGE_LED_COVERAGE: USAGE = 0x22; -pub const HID_USAGE_LED_NIGHT_MODE: USAGE = 0x23; -pub const HID_USAGE_LED_SEND_CALLS: USAGE = 0x24; -pub const HID_USAGE_LED_CALL_PICKUP: USAGE = 0x25; -pub const HID_USAGE_LED_CONFERENCE: USAGE = 0x26; -pub const HID_USAGE_LED_STAND_BY: USAGE = 0x27; -pub const HID_USAGE_LED_CAMERA_ON: USAGE = 0x28; -pub const HID_USAGE_LED_CAMERA_OFF: USAGE = 0x29; -pub const HID_USAGE_LED_ON_LINE: USAGE = 0x2A; -pub const HID_USAGE_LED_OFF_LINE: USAGE = 0x2B; -pub const HID_USAGE_LED_BUSY: USAGE = 0x2C; -pub const HID_USAGE_LED_READY: USAGE = 0x2D; -pub const HID_USAGE_LED_PAPER_OUT: USAGE = 0x2E; -pub const HID_USAGE_LED_PAPER_JAM: USAGE = 0x2F; -pub const HID_USAGE_LED_REMOTE: USAGE = 0x30; -pub const HID_USAGE_LED_FORWARD: USAGE = 0x31; -pub const HID_USAGE_LED_REVERSE: USAGE = 0x32; -pub const HID_USAGE_LED_STOP: USAGE = 0x33; -pub const HID_USAGE_LED_REWIND: USAGE = 0x34; -pub const HID_USAGE_LED_FAST_FORWARD: USAGE = 0x35; -pub const HID_USAGE_LED_PLAY: USAGE = 0x36; -pub const HID_USAGE_LED_PAUSE: USAGE = 0x37; -pub const HID_USAGE_LED_RECORD: USAGE = 0x38; -pub const HID_USAGE_LED_ERROR: USAGE = 0x39; -pub const HID_USAGE_LED_SELECTED_INDICATOR: USAGE = 0x3A; -pub const HID_USAGE_LED_IN_USE_INDICATOR: USAGE = 0x3B; -pub const HID_USAGE_LED_MULTI_MODE_INDICATOR: USAGE = 0x3C; -pub const HID_USAGE_LED_INDICATOR_ON: USAGE = 0x3D; -pub const HID_USAGE_LED_INDICATOR_FLASH: USAGE = 0x3E; -pub const HID_USAGE_LED_INDICATOR_SLOW_BLINK: USAGE = 0x3F; -pub const HID_USAGE_LED_INDICATOR_FAST_BLINK: USAGE = 0x40; -pub const HID_USAGE_LED_INDICATOR_OFF: USAGE = 0x41; -pub const HID_USAGE_LED_FLASH_ON_TIME: USAGE = 0x42; -pub const HID_USAGE_LED_SLOW_BLINK_ON_TIME: USAGE = 0x43; -pub const HID_USAGE_LED_SLOW_BLINK_OFF_TIME: USAGE = 0x44; -pub const HID_USAGE_LED_FAST_BLINK_ON_TIME: USAGE = 0x45; -pub const HID_USAGE_LED_FAST_BLINK_OFF_TIME: USAGE = 0x46; -pub const HID_USAGE_LED_INDICATOR_COLOR: USAGE = 0x47; -pub const HID_USAGE_LED_RED: USAGE = 0x48; -pub const HID_USAGE_LED_GREEN: USAGE = 0x49; -pub const HID_USAGE_LED_AMBER: USAGE = 0x4A; -pub const HID_USAGE_LED_GENERIC_INDICATOR: USAGE = 0x4B; -pub const HID_USAGE_TELEPHONY_PHONE: USAGE = 0x01; -pub const HID_USAGE_TELEPHONY_ANSWERING_MACHINE: USAGE = 0x02; -pub const HID_USAGE_TELEPHONY_MESSAGE_CONTROLS: USAGE = 0x03; -pub const HID_USAGE_TELEPHONY_HANDSET: USAGE = 0x04; -pub const HID_USAGE_TELEPHONY_HEADSET: USAGE = 0x05; -pub const HID_USAGE_TELEPHONY_KEYPAD: USAGE = 0x06; -pub const HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON: USAGE = 0x07; -pub const HID_USAGE_TELEPHONY_REDIAL: USAGE = 0x24; -pub const HID_USAGE_TELEPHONY_TRANSFER: USAGE = 0x25; -pub const HID_USAGE_TELEPHONY_DROP: USAGE = 0x26; -pub const HID_USAGE_TELEPHONY_LINE: USAGE = 0x2A; -pub const HID_USAGE_TELEPHONY_RING_ENABLE: USAGE = 0x2D; -pub const HID_USAGE_TELEPHONY_SEND: USAGE = 0x31; -pub const HID_USAGE_TELEPHONY_KEYPAD_0: USAGE = 0xB0; -pub const HID_USAGE_TELEPHONY_KEYPAD_D: USAGE = 0xBF; -pub const HID_USAGE_TELEPHONY_HOST_AVAILABLE: USAGE = 0xF1; -pub const HID_USAGE_CONSUMERCTRL: USAGE = 0x01; -pub const HID_USAGE_CONSUMER_CHANNEL_INCREMENT: USAGE = 0x9C; -pub const HID_USAGE_CONSUMER_CHANNEL_DECREMENT: USAGE = 0x9D; -pub const HID_USAGE_CONSUMER_PLAY: USAGE = 0xB0; -pub const HID_USAGE_CONSUMER_PAUSE: USAGE = 0xB1; -pub const HID_USAGE_CONSUMER_RECORD: USAGE = 0xB2; -pub const HID_USAGE_CONSUMER_FAST_FORWARD: USAGE = 0xB3; -pub const HID_USAGE_CONSUMER_REWIND: USAGE = 0xB4; -pub const HID_USAGE_CONSUMER_SCAN_NEXT_TRACK: USAGE = 0xB5; -pub const HID_USAGE_CONSUMER_SCAN_PREV_TRACK: USAGE = 0xB6; -pub const HID_USAGE_CONSUMER_STOP: USAGE = 0xB7; -pub const HID_USAGE_CONSUMER_PLAY_PAUSE: USAGE = 0xCD; -pub const HID_USAGE_CONSUMER_VOLUME: USAGE = 0xE0; -pub const HID_USAGE_CONSUMER_BALANCE: USAGE = 0xE1; -pub const HID_USAGE_CONSUMER_MUTE: USAGE = 0xE2; -pub const HID_USAGE_CONSUMER_BASS: USAGE = 0xE3; -pub const HID_USAGE_CONSUMER_TREBLE: USAGE = 0xE4; -pub const HID_USAGE_CONSUMER_BASS_BOOST: USAGE = 0xE5; -pub const HID_USAGE_CONSUMER_SURROUND_MODE: USAGE = 0xE6; -pub const HID_USAGE_CONSUMER_LOUDNESS: USAGE = 0xE7; -pub const HID_USAGE_CONSUMER_MPX: USAGE = 0xE8; -pub const HID_USAGE_CONSUMER_VOLUME_INCREMENT: USAGE = 0xE9; -pub const HID_USAGE_CONSUMER_VOLUME_DECREMENT: USAGE = 0xEA; -pub const HID_USAGE_CONSUMER_BASS_INCREMENT: USAGE = 0x152; -pub const HID_USAGE_CONSUMER_BASS_DECREMENT: USAGE = 0x153; -pub const HID_USAGE_CONSUMER_TREBLE_INCREMENT: USAGE = 0x154; -pub const HID_USAGE_CONSUMER_TREBLE_DECREMENT: USAGE = 0x155; -pub const HID_USAGE_CONSUMER_AL_CONFIGURATION: USAGE = 0x183; -pub const HID_USAGE_CONSUMER_AL_EMAIL: USAGE = 0x18A; -pub const HID_USAGE_CONSUMER_AL_CALCULATOR: USAGE = 0x192; -pub const HID_USAGE_CONSUMER_AL_BROWSER: USAGE = 0x194; -pub const HID_USAGE_CONSUMER_AC_SEARCH: USAGE = 0x221; -pub const HID_USAGE_CONSUMER_AC_GOTO: USAGE = 0x222; -pub const HID_USAGE_CONSUMER_AC_HOME: USAGE = 0x223; -pub const HID_USAGE_CONSUMER_AC_BACK: USAGE = 0x224; -pub const HID_USAGE_CONSUMER_AC_FORWARD: USAGE = 0x225; -pub const HID_USAGE_CONSUMER_AC_STOP: USAGE = 0x226; -pub const HID_USAGE_CONSUMER_AC_REFRESH: USAGE = 0x227; -pub const HID_USAGE_CONSUMER_AC_PREVIOUS: USAGE = 0x228; -pub const HID_USAGE_CONSUMER_AC_NEXT: USAGE = 0x229; -pub const HID_USAGE_CONSUMER_AC_BOOKMARKS: USAGE = 0x22A; -pub const HID_USAGE_CONSUMER_AC_PAN: USAGE = 0x238; -pub const HID_USAGE_CONSUMER_EXTENDED_KEYBOARD_ATTRIBUTES_COLLECTION: USAGE = 0x2C0; -pub const HID_USAGE_CONSUMER_KEYBOARD_FORM_FACTOR: USAGE = 0x2C1; -pub const HID_USAGE_CONSUMER_KEYBOARD_KEY_TYPE: USAGE = 0x2C2; -pub const HID_USAGE_CONSUMER_KEYBOARD_PHYSICAL_LAYOUT: USAGE = 0x2C3; -pub const HID_USAGE_CONSUMER_VENDOR_SPECIFIC_KEYBOARD_PHYSICAL_LAYOUT: USAGE = 0x2C4; -pub const HID_USAGE_CONSUMER_KEYBOARD_IETF_LANGUAGE_TAG_INDEX: USAGE = 0x2C5; -pub const HID_USAGE_CONSUMER_IMPLEMENTED_KEYBOARD_INPUT_ASSIST_CONTROLS: USAGE = 0x2C6; -pub const HID_USAGE_DIGITIZER_PEN: USAGE = 0x02; -pub const HID_USAGE_DIGITIZER_IN_RANGE: USAGE = 0x32; -pub const HID_USAGE_DIGITIZER_TIP_SWITCH: USAGE = 0x42; -pub const HID_USAGE_DIGITIZER_BARREL_SWITCH: USAGE = 0x44; -pub const HID_USAGE_CAMERA_AUTO_FOCUS: USAGE = 0x20; -pub const HID_USAGE_CAMERA_SHUTTER: USAGE = 0x21; -pub const HID_USAGE_MS_BTH_HF_DIALNUMBER: USAGE = 0x21; -pub const HID_USAGE_MS_BTH_HF_DIALMEMORY: USAGE = 0x22; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/ifdef.rs b/vendor/registry-40351f815f426200/winapi/src/shared/ifdef.rs deleted file mode 100644 index e64527a3f..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/ifdef.rs +++ /dev/null @@ -1,22 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::{UINT16, ULONG64}; -use shared::minwindef::ULONG; -STRUCT!{struct NET_LUID_LH { - Value: ULONG64, -}} -BITFIELD!{NET_LUID_LH Value: ULONG64 [ - Reserved set_Reserved[0..24], - NetLuidIndex set_NetLuidIndex[24..48], - IfType set_IfType[48..64], -]} -pub type PNET_LUID_LH = *mut NET_LUID_LH; -pub type NET_LUID = NET_LUID_LH; -pub type PNET_LUID = *mut NET_LUID; -pub type NET_IFINDEX = ULONG; -pub type PNET_IFINDEX = *mut ULONG; -pub type NET_IFTYPE = UINT16; -pub type PNET_IFTYPE = *mut UINT16; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/in6addr.rs b/vendor/registry-40351f815f426200/winapi/src/shared/in6addr.rs deleted file mode 100644 index 6ed9382e6..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/in6addr.rs +++ /dev/null @@ -1,17 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::{UCHAR, USHORT}; -UNION!{union in6_addr_u { - [u16; 8], - Byte Byte_mut: [UCHAR; 16], - Word Word_mut: [USHORT; 8], -}} -STRUCT!{struct in6_addr { - u: in6_addr_u, -}} -pub type IN6_ADDR = in6_addr; -pub type PIN6_ADDR = *mut IN6_ADDR; -pub type LPIN6_ADDR = *mut IN6_ADDR; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/inaddr.rs b/vendor/registry-40351f815f426200/winapi/src/shared/inaddr.rs deleted file mode 100644 index c56e1ea8b..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/inaddr.rs +++ /dev/null @@ -1,29 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! IPv4 Internet address -use shared::minwindef::{UCHAR, ULONG, USHORT}; -STRUCT!{struct in_addr_S_un_b { - s_b1: UCHAR, - s_b2: UCHAR, - s_b3: UCHAR, - s_b4: UCHAR, -}} -STRUCT!{struct in_addr_S_un_w { - s_w1: USHORT, - s_w2: USHORT, -}} -UNION!{union in_addr_S_un { - [u32; 1], - S_un_b S_un_b_mut: in_addr_S_un_b, - S_un_w S_un_w_mut: in_addr_S_un_w, - S_addr S_addr_mut: ULONG, -}} -STRUCT!{struct in_addr { - S_un: in_addr_S_un, -}} -pub type IN_ADDR = in_addr; -pub type PIN_ADDR = *mut in_addr; -pub type LPIN_ADDR = *mut in_addr; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/intsafe.rs b/vendor/registry-40351f815f426200/winapi/src/shared/intsafe.rs deleted file mode 100644 index 916dc0e1a..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/intsafe.rs +++ /dev/null @@ -1,5 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/ks.rs b/vendor/registry-40351f815f426200/winapi/src/shared/ks.rs deleted file mode 100644 index 3a2ab103c..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/ks.rs +++ /dev/null @@ -1,63 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -// Licensed under the MIT License -//! Mappings for the contents of ks.h -DEFINE_GUID!{KSCATEGORY_BRIDGE, - 0x085AFF00, 0x62CE, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00} -DEFINE_GUID!{KSCATEGORY_CAPTURE, - 0x65E8773D, 0x8F56, 0x11D0, 0xA3, 0xB9, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} -DEFINE_GUID!{KSCATEGORY_VIDEO_CAMERA, - 0xe5323777, 0xf976, 0x4f5b, 0x9b, 0x55, 0xb9, 0x46, 0x99, 0xc4, 0x6e, 0x44} -DEFINE_GUID!{KSCATEGORY_SENSOR_CAMERA, - 0x24e552d7, 0x6523, 0x47f7, 0xa6, 0x47, 0xd3, 0x46, 0x5b, 0xf1, 0xf5, 0xca} -DEFINE_GUID!{KSCATEGORY_SENSOR_GROUP, - 0x669C7214, 0x0A88, 0x4311, 0xA7, 0xF3, 0x4E, 0x79, 0x82, 0x0E, 0x33, 0xBD} -DEFINE_GUID!{KSCATEGORY_RENDER, - 0x65E8773E, 0x8F56, 0x11D0, 0xA3, 0xB9, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} -DEFINE_GUID!{KSCATEGORY_MIXER, - 0xAD809C00, 0x7B88, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00} -DEFINE_GUID!{KSCATEGORY_SPLITTER, - 0x0A4252A0, 0x7E70, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00} -DEFINE_GUID!{KSCATEGORY_DATACOMPRESSOR, - 0x1E84C900, 0x7E70, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00} -DEFINE_GUID!{KSCATEGORY_DATADECOMPRESSOR, - 0x2721AE20, 0x7E70, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00} -DEFINE_GUID!{KSCATEGORY_DATATRANSFORM, - 0x2EB07EA0, 0x7E70, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00} -DEFINE_GUID!{KSMFT_CATEGORY_VIDEO_DECODER, - 0xd6c02d4b, 0x6833, 0x45b4, 0x97, 0x1a, 0x05, 0xa4, 0xb0, 0x4b, 0xab, 0x91} -DEFINE_GUID!{KSMFT_CATEGORY_VIDEO_ENCODER, - 0xf79eac7d, 0xe545, 0x4387, 0xbd, 0xee, 0xd6, 0x47, 0xd7, 0xbd, 0xe4, 0x2a} -DEFINE_GUID!{KSMFT_CATEGORY_VIDEO_EFFECT, - 0x12e17c21, 0x532c, 0x4a6e, 0x8a, 0x1c, 0x40, 0x82, 0x5a, 0x73, 0x63, 0x97} -DEFINE_GUID!{KSMFT_CATEGORY_MULTIPLEXER, - 0x059c561e, 0x05ae, 0x4b61, 0xb6, 0x9d, 0x55, 0xb6, 0x1e, 0xe5, 0x4a, 0x7b} -DEFINE_GUID!{KSMFT_CATEGORY_DEMULTIPLEXER, - 0xa8700a7a, 0x939b, 0x44c5, 0x99, 0xd7, 0x76, 0x22, 0x6b, 0x23, 0xb3, 0xf1} -DEFINE_GUID!{KSMFT_CATEGORY_AUDIO_DECODER, - 0x9ea73fb4, 0xef7a, 0x4559, 0x8d, 0x5d, 0x71, 0x9d, 0x8f, 0x04, 0x26, 0xc7} -DEFINE_GUID!{KSMFT_CATEGORY_AUDIO_ENCODER, - 0x91c64bd0, 0xf91e, 0x4d8c, 0x92, 0x76, 0xdb, 0x24, 0x82, 0x79, 0xd9, 0x75} -DEFINE_GUID!{KSMFT_CATEGORY_AUDIO_EFFECT, - 0x11064c48, 0x3648, 0x4ed0, 0x93, 0x2e, 0x05, 0xce, 0x8a, 0xc8, 0x11, 0xb7} -DEFINE_GUID!{KSMFT_CATEGORY_VIDEO_PROCESSOR, - 0x302ea3fc, 0xaa5f, 0x47f9, 0x9f, 0x7a, 0xc2, 0x18, 0x8b, 0xb1, 0x63, 0x02} -DEFINE_GUID!{KSMFT_CATEGORY_OTHER, - 0x90175d57, 0xb7ea, 0x4901, 0xae, 0xb3, 0x93, 0x3a, 0x87, 0x47, 0x75, 0x6f} -DEFINE_GUID!{KSCATEGORY_COMMUNICATIONSTRANSFORM, - 0xCF1DDA2C, 0x9743, 0x11D0, 0xA3, 0xEE, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} -DEFINE_GUID!{KSCATEGORY_INTERFACETRANSFORM, - 0xCF1DDA2D, 0x9743, 0x11D0, 0xA3, 0xEE, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} -DEFINE_GUID!{KSCATEGORY_MEDIUMTRANSFORM, - 0xCF1DDA2E, 0x9743, 0x11D0, 0xA3, 0xEE, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} -DEFINE_GUID!{KSCATEGORY_FILESYSTEM, - 0x760FED5E, 0x9357, 0x11D0, 0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} -DEFINE_GUID!{KSCATEGORY_CLOCK, - 0x53172480, 0x4791, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00} -DEFINE_GUID!{KSCATEGORY_PROXY, - 0x97EBAACA, 0x95BD, 0x11D0, 0xA3, 0xEA, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} -DEFINE_GUID!{KSCATEGORY_QUALITY, - 0x97EBAACB, 0x95BD, 0x11D0, 0xA3, 0xEA, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/ksmedia.rs b/vendor/registry-40351f815f426200/winapi/src/shared/ksmedia.rs deleted file mode 100644 index 01d390d3c..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/ksmedia.rs +++ /dev/null @@ -1,59 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -// Licensed under the MIT License -//! Mappings for the contents of ksmedia.h -DEFINE_GUID!{KSCATEGORY_AUDIO, - 0x6994AD04, 0x93EF, 0x11D0, 0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} -DEFINE_GUID!{KSCATEGORY_VIDEO, - 0x6994AD05, 0x93EF, 0x11D0, 0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} -DEFINE_GUID!{KSCATEGORY_REALTIME, - 0xEB115FFC, 0x10C8, 0x4964, 0x83, 0x1D, 0x6D, 0xCB, 0x02, 0xE6, 0xF2, 0x3F} -DEFINE_GUID!{KSCATEGORY_TEXT, - 0x6994AD06, 0x93EF, 0x11D0, 0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} -DEFINE_GUID!{KSCATEGORY_NETWORK, - 0x67C9CC3C, 0x69C4, 0x11D2, 0x87, 0x59, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} -DEFINE_GUID!{KSCATEGORY_TOPOLOGY, - 0xDDA54A40, 0x1E4C, 0x11D1, 0xA0, 0x50, 0x40, 0x57, 0x05, 0xC1, 0x00, 0x00} -DEFINE_GUID!{KSCATEGORY_VIRTUAL, - 0x3503EAC4, 0x1F26, 0x11D1, 0x8A, 0xB0, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} -DEFINE_GUID!{KSCATEGORY_ACOUSTIC_ECHO_CANCEL, - 0xBF963D80, 0xC559, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1} -DEFINE_GUID!{KSCATEGORY_SYSAUDIO, - 0xA7C7A5B1, 0x5AF3, 0x11D1, 0x9C, 0xED, 0x00, 0xA0, 0x24, 0xBF, 0x04, 0x07} -DEFINE_GUID!{KSCATEGORY_WDMAUD, - 0x3E227E76, 0x690D, 0x11D2, 0x81, 0x61, 0x00, 0x00, 0xF8, 0x77, 0x5B, 0xF1} -DEFINE_GUID!{KSCATEGORY_AUDIO_GFX, - 0x9BAF9572, 0x340C, 0x11D3, 0xAB, 0xDC, 0x00, 0xA0, 0xC9, 0x0A, 0xB1, 0x6F} -DEFINE_GUID!{KSCATEGORY_AUDIO_SPLITTER, - 0x9EA331FA, 0xB91B, 0x45F8, 0x92, 0x85, 0xBD, 0x2B, 0xC7, 0x7A, 0xFC, 0xDE} -DEFINE_GUID!{KSCATEGORY_AUDIO_DEVICE, - 0xFBF6F530, 0x07B9, 0x11D2, 0xA7, 0x1E, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88} -DEFINE_GUID!{KSCATEGORY_PREFERRED_WAVEOUT_DEVICE, - 0xD6C5066E, 0x72C1, 0x11D2, 0x97, 0x55, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88} -DEFINE_GUID!{KSCATEGORY_PREFERRED_WAVEIN_DEVICE, - 0xD6C50671, 0x72C1, 0x11D2, 0x97, 0x55, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88} -DEFINE_GUID!{KSCATEGORY_PREFERRED_MIDIOUT_DEVICE, - 0xD6C50674, 0x72C1, 0x11D2, 0x97, 0x55, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88} -DEFINE_GUID!{KSCATEGORY_WDMAUD_USE_PIN_NAME, - 0x47A4FA20, 0xA251, 0x11D1, 0xA0, 0x50, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88} -DEFINE_GUID!{KSCATEGORY_ESCALANTE_PLATFORM_DRIVER, - 0x74F3AEA8, 0x9768, 0x11D1, 0x8E, 0x07, 0x00, 0xA0, 0xC9, 0x5E, 0xC2, 0x2E} -DEFINE_GUID!{KSDATAFORMAT_SUBTYPE_ANALOG, - 0x6DBA3190, 0x67BD, 0x11CF, 0xA0, 0xF7, 0x00, 0x20, 0xAF, 0xD1, 0x56, 0xE4} -DEFINE_GUID!{KSDATAFORMAT_SUBTYPE_PCM, - 0x00000001, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71} -DEFINE_GUID!{KSDATAFORMAT_SUBTYPE_IEEE_FLOAT, - 0x00000003, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71} -DEFINE_GUID!{KSDATAFORMAT_SUBTYPE_DRM, - 0x00000009, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71} -DEFINE_GUID!{KSDATAFORMAT_SUBTYPE_ALAW, - 0x00000006, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71} -DEFINE_GUID!{KSDATAFORMAT_SUBTYPE_MULAW, - 0x00000007, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71} -DEFINE_GUID!{KSDATAFORMAT_SUBTYPE_ADPCM, - 0x00000002, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71} -DEFINE_GUID!{KSDATAFORMAT_SUBTYPE_MPEG, - 0x00000050, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/ktmtypes.rs b/vendor/registry-40351f815f426200/winapi/src/shared/ktmtypes.rs deleted file mode 100644 index 77394e2d5..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/ktmtypes.rs +++ /dev/null @@ -1,138 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Common types for KTM exposed at both the Nt- and Win32-layer -use shared::guiddef::GUID; -use shared::minwindef::{DWORD, ULONG}; -use um::winnt::{LARGE_INTEGER, PVOID, WCHAR}; -pub type UOW = GUID; -pub type PUOW = *mut GUID; -pub type CRM_PROTOCOL_ID = GUID; -pub type PCRM_PROTOCOL_ID = *mut GUID; -pub const TRANSACTION_MANAGER_VOLATILE: ULONG = 0x00000001; -pub const TRANSACTION_MANAGER_COMMIT_DEFAULT: ULONG = 0x00000000; -pub const TRANSACTION_MANAGER_COMMIT_SYSTEM_VOLUME: ULONG = 0x00000002; -pub const TRANSACTION_MANAGER_COMMIT_SYSTEM_HIVES: ULONG = 0x00000004; -pub const TRANSACTION_MANAGER_COMMIT_LOWEST: ULONG = 0x00000008; -pub const TRANSACTION_MANAGER_CORRUPT_FOR_RECOVERY: ULONG = 0x00000010; -pub const TRANSACTION_MANAGER_CORRUPT_FOR_PROGRESS: ULONG = 0x00000020; -pub const TRANSACTION_MANAGER_MAXIMUM_OPTION: ULONG = 0x0000003F; -pub const TRANSACTION_DO_NOT_PROMOTE: DWORD = 0x00000001; -pub const TRANSACTION_MAXIMUM_OPTION: DWORD = 0x00000001; -pub const RESOURCE_MANAGER_VOLATILE: DWORD = 0x00000001; -pub const RESOURCE_MANAGER_COMMUNICATION: DWORD = 0x00000002; -pub const RESOURCE_MANAGER_MAXIMUM_OPTION: DWORD = 0x00000003; -pub const CRM_PROTOCOL_EXPLICIT_MARSHAL_ONLY: DWORD = 0x00000001; -pub const CRM_PROTOCOL_DYNAMIC_MARSHAL_INFO: DWORD = 0x00000002; -pub const CRM_PROTOCOL_MAXIMUM_OPTION: DWORD = 0x00000003; -pub const ENLISTMENT_SUPERIOR: ULONG = 0x00000001; -pub const ENLISTMENT_MAXIMUM_OPTION: ULONG = 0x00000001; -pub type NOTIFICATION_MASK = ULONG; -pub const TRANSACTION_NOTIFY_MASK: ULONG = 0x3FFFFFFF; -pub const TRANSACTION_NOTIFY_PREPREPARE: ULONG = 0x00000001; -pub const TRANSACTION_NOTIFY_PREPARE: ULONG = 0x00000002; -pub const TRANSACTION_NOTIFY_COMMIT: ULONG = 0x00000004; -pub const TRANSACTION_NOTIFY_ROLLBACK: ULONG = 0x00000008; -pub const TRANSACTION_NOTIFY_PREPREPARE_COMPLETE: ULONG = 0x00000010; -pub const TRANSACTION_NOTIFY_PREPARE_COMPLETE: ULONG = 0x00000020; -pub const TRANSACTION_NOTIFY_COMMIT_COMPLETE: ULONG = 0x00000040; -pub const TRANSACTION_NOTIFY_ROLLBACK_COMPLETE: ULONG = 0x00000080; -pub const TRANSACTION_NOTIFY_RECOVER: ULONG = 0x00000100; -pub const TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT: ULONG = 0x00000200; -pub const TRANSACTION_NOTIFY_DELEGATE_COMMIT: ULONG = 0x00000400; -pub const TRANSACTION_NOTIFY_RECOVER_QUERY: ULONG = 0x00000800; -pub const TRANSACTION_NOTIFY_ENLIST_PREPREPARE: ULONG = 0x00001000; -pub const TRANSACTION_NOTIFY_LAST_RECOVER: ULONG = 0x00002000; -pub const TRANSACTION_NOTIFY_INDOUBT: ULONG = 0x00004000; -pub const TRANSACTION_NOTIFY_PROPAGATE_PULL: ULONG = 0x00008000; -pub const TRANSACTION_NOTIFY_PROPAGATE_PUSH: ULONG = 0x00010000; -pub const TRANSACTION_NOTIFY_MARSHAL: ULONG = 0x00020000; -pub const TRANSACTION_NOTIFY_ENLIST_MASK: ULONG = 0x00040000; -pub const TRANSACTION_NOTIFY_RM_DISCONNECTED: ULONG = 0x01000000; -pub const TRANSACTION_NOTIFY_TM_ONLINE: ULONG = 0x02000000; -pub const TRANSACTION_NOTIFY_COMMIT_REQUEST: ULONG = 0x04000000; -pub const TRANSACTION_NOTIFY_PROMOTE: ULONG = 0x08000000; -pub const TRANSACTION_NOTIFY_PROMOTE_NEW: ULONG = 0x10000000; -pub const TRANSACTION_NOTIFY_REQUEST_OUTCOME: ULONG = 0x20000000; -pub const TRANSACTION_NOTIFY_COMMIT_FINALIZE: ULONG = 0x40000000; -pub const TRANSACTIONMANAGER_OBJECT_PATH: &'static str = "\\TransactionManager\\"; -pub const TRANSACTION_OBJECT_PATH: &'static str = "\\Transaction\\"; -pub const ENLISTMENT_OBJECT_PATH: &'static str = "\\Enlistment\\"; -pub const RESOURCE_MANAGER_OBJECT_PATH: &'static str = "\\ResourceManager\\"; -STRUCT!{struct TRANSACTION_NOTIFICATION { - TransactionKey: PVOID, - TransactionNotification: ULONG, - TmVirtualClock: LARGE_INTEGER, - ArgumentLength: ULONG, -}} -pub type PTRANSACTION_NOTIFICATION = *mut TRANSACTION_NOTIFICATION; -STRUCT!{struct TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT { - EnlistmentId: GUID, - UOW: UOW, -}} -pub type PTRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT - = *mut TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT; -pub const TRANSACTION_NOTIFICATION_TM_ONLINE_FLAG_IS_CLUSTERED: ULONG = 0x1; -STRUCT!{struct TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT { - TmIdentity: GUID, - Flags: ULONG, -}} -pub type PTRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT - = *mut TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT; -pub type SAVEPOINT_ID = ULONG; -pub type PSAVEPOINT_ID = *mut ULONG; -STRUCT!{struct TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT { - SavepointId: SAVEPOINT_ID, -}} -pub type PTRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT - = *mut TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT; -STRUCT!{struct TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT { - PropagationCookie: ULONG, - UOW: GUID, - TmIdentity: GUID, - BufferLength: ULONG, -}} -pub type PTRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT - = *mut TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT; -STRUCT!{struct TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT { - MarshalCookie: ULONG, - UOW: GUID, -}} -pub type PTRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT - = *mut TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT; -pub type TRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT = TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT; -pub type PTRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT - = *mut TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT; -pub const KTM_MARSHAL_BLOB_VERSION_MAJOR: ULONG = 1; -pub const KTM_MARSHAL_BLOB_VERSION_MINOR: ULONG = 1; -pub const MAX_TRANSACTION_DESCRIPTION_LENGTH: usize = 64; -pub const MAX_RESOURCEMANAGER_DESCRIPTION_LENGTH: usize = 64; -STRUCT!{struct KCRM_MARSHAL_HEADER { - VersionMajor: ULONG, - VersionMinor: ULONG, - NumProtocols: ULONG, - Unused: ULONG, -}} -pub type PKCRM_MARSHAL_HEADER = *mut KCRM_MARSHAL_HEADER; -pub type PRKCRM_MARSHAL_HEADER = *mut KCRM_MARSHAL_HEADER; -STRUCT!{struct KCRM_TRANSACTION_BLOB { - UOW: UOW, - TmIdentity: GUID, - IsolationLevel: ULONG, - IsolationFlags: ULONG, - Timeout: ULONG, - Description: [WCHAR; MAX_TRANSACTION_DESCRIPTION_LENGTH], -}} -pub type PKCRM_TRANSACTION_BLOB = *mut KCRM_TRANSACTION_BLOB; -pub type PRKCRM_TRANSACTION_BLOB = *mut KCRM_TRANSACTION_BLOB; -STRUCT!{struct KCRM_PROTOCOL_BLOB { - ProtocolId: CRM_PROTOCOL_ID, - StaticInfoLength: ULONG, - TransactionIdInfoLength: ULONG, - Unused1: ULONG, - Unused2: ULONG, -}} -pub type PKCRM_PROTOCOL_BLOB = *mut KCRM_PROTOCOL_BLOB; -pub type PRKCRM_PROTOCOL_BLOB = *mut KCRM_PROTOCOL_BLOB; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/lmcons.rs b/vendor/registry-40351f815f426200/winapi/src/shared/lmcons.rs deleted file mode 100644 index ca2819b4f..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/lmcons.rs +++ /dev/null @@ -1,60 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This file contains constants used throughout the LAN Manager API header files. -use shared::minwindef::DWORD; -use um::winnt::{LPCWSTR, LPWSTR}; -pub const CNLEN: DWORD = 15; -pub const LM20_CNLEN: DWORD = 15; -pub const DNLEN: DWORD = CNLEN; -pub const LM20_DNLEN: DWORD = LM20_CNLEN; -pub const UNCLEN: DWORD = CNLEN + 2; -pub const LM20_UNCLEN: DWORD = LM20_CNLEN + 2; -pub const NNLEN: DWORD = 80; -pub const LM20_NNLEN: DWORD = 12; -pub const RMLEN: DWORD = UNCLEN + 1 + NNLEN; -pub const LM20_RMLEN: DWORD = LM20_UNCLEN + 1 + LM20_NNLEN; -pub const SNLEN: usize = 80; -pub const LM20_SNLEN: DWORD = 15; -pub const STXTLEN: DWORD = 256; -pub const LM20_STXTLEN: DWORD = 63; -pub const PATHLEN: DWORD = 256; -pub const LM20_PATHLEN: DWORD = 256; -pub const DEVLEN: DWORD = 80; -pub const LM20_DEVLEN: DWORD = 8; -pub const EVLEN: usize = 16; -pub const UNLEN: DWORD = 256; -pub const LM20_UNLEN: DWORD = 20; -pub const GNLEN: DWORD = UNLEN; -pub const LM20_GNLEN: DWORD = LM20_UNLEN; -pub const PWLEN: DWORD = 256; -pub const LM20_PWLEN: DWORD = 14; -pub const SHPWLEN: DWORD = 8; -pub const CLTYPE_LEN: DWORD = 12; -pub const MAXCOMMENTSZ: DWORD = 256; -pub const LM20_MAXCOMMENTSZ: DWORD = 48; -pub const QNLEN: DWORD = NNLEN; -pub const LM20_QNLEN: DWORD = LM20_NNLEN; -pub const ALERTSZ: DWORD = 128; -pub const MAXDEVENTRIES: DWORD = 4 * 8; // FIXME: sizeof(int) instead of 4 -pub const NETBIOS_NAME_LEN: DWORD = 16; -pub const MAX_PREFERRED_LENGTH: DWORD = -1i32 as u32; -pub const CRYPT_KEY_LEN: DWORD = 7; -pub const CRYPT_TXT_LEN: DWORD = 8; -pub const ENCRYPTED_PWLEN: usize = 16; -pub const SESSION_PWLEN: DWORD = 24; -pub const SESSION_CRYPT_KLEN: DWORD = 21; -pub const PARM_ERROR_UNKNOWN: DWORD = -1i32 as u32; -pub const PARM_ERROR_NONE: DWORD = 0; -pub const PARMNUM_BASE_INFOLEVEL: DWORD = 1000; -pub type LMSTR = LPWSTR; -pub type LMCSTR = LPCWSTR; -pub type NET_API_STATUS = DWORD; -pub type API_RET_TYPE = NET_API_STATUS; -pub const PLATFORM_ID_DOS: DWORD = 300; -pub const PLATFORM_ID_OS2: DWORD = 400; -pub const PLATFORM_ID_NT: DWORD = 500; -pub const PLATFORM_ID_OSF: DWORD = 600; -pub const PLATFORM_ID_VMS: DWORD = 700; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/minwindef.rs b/vendor/registry-40351f815f426200/winapi/src/shared/minwindef.rs deleted file mode 100644 index 6c2e38d2c..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/minwindef.rs +++ /dev/null @@ -1,102 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Basic Windows Type Definitions for minwin partition -use ctypes::{c_char, c_float, c_int, c_long, c_uchar, c_uint, c_ulong, c_ushort, c_void}; -use shared::basetsd::{LONG_PTR, UINT_PTR}; -use shared::ntdef::{HANDLE, LONG}; -pub type ULONG = c_ulong; -pub type PULONG = *mut ULONG; -pub type USHORT = c_ushort; -pub type PUSHORT = *mut USHORT; -pub type UCHAR = c_uchar; -pub type PUCHAR = *mut UCHAR; -pub type PSZ = *mut c_char; -pub const MAX_PATH: usize = 260; -pub const FALSE: BOOL = 0; -pub const TRUE: BOOL = 1; -pub type DWORD = c_ulong; -pub type BOOL = c_int; -pub type BYTE = c_uchar; -pub type WORD = c_ushort; -pub type FLOAT = c_float; -pub type PFLOAT = *mut FLOAT; -pub type PBOOL = *mut BOOL; -pub type LPBOOL = *mut BOOL; -pub type PBYTE = *mut BYTE; -pub type LPBYTE = *mut BYTE; -pub type PINT = *mut c_int; -pub type LPINT = *mut c_int; -pub type PWORD = *mut WORD; -pub type LPWORD = *mut WORD; -pub type LPLONG = *mut c_long; -pub type PDWORD = *mut DWORD; -pub type LPDWORD = *mut DWORD; -pub type LPVOID = *mut c_void; -pub type LPCVOID = *const c_void; -pub type INT = c_int; -pub type UINT = c_uint; -pub type PUINT = *mut c_uint; -pub type WPARAM = UINT_PTR; -pub type LPARAM = LONG_PTR; -pub type LRESULT = LONG_PTR; -#[inline] -pub fn MAKEWORD(a: BYTE, b: BYTE) -> WORD { - (a as WORD) | ((b as WORD) << 8) -} -#[inline] -pub fn MAKELONG(a: WORD, b: WORD) -> LONG { - ((a as DWORD) | ((b as DWORD) << 16)) as LONG -} -#[inline] -pub fn LOWORD(l: DWORD) -> WORD { - (l & 0xffff) as WORD -} -#[inline] -pub fn HIWORD(l: DWORD) -> WORD { - ((l >> 16) & 0xffff) as WORD -} -#[inline] -pub fn LOBYTE(l: WORD) -> BYTE { - (l & 0xff) as BYTE -} -#[inline] -pub fn HIBYTE(l: WORD) -> BYTE { - ((l >> 8) & 0xff) as BYTE -} -pub type SPHANDLE = *mut HANDLE; -pub type LPHANDLE = *mut HANDLE; -pub type HGLOBAL = HANDLE; -pub type HLOCAL = HANDLE; -pub type GLOBALHANDLE = HANDLE; -pub type LOCALHANDLE = HANDLE; -pub enum __some_function {} -/// Pointer to a function with unknown type signature. -pub type FARPROC = *mut __some_function; -/// Pointer to a function with unknown type signature. -pub type NEARPROC = *mut __some_function; -/// Pointer to a function with unknown type signature. -pub type PROC = *mut __some_function; -pub type ATOM = WORD; -DECLARE_HANDLE!{HKEY, HKEY__} -pub type PHKEY = *mut HKEY; -DECLARE_HANDLE!{HMETAFILE, HMETAFILE__} -DECLARE_HANDLE!{HINSTANCE, HINSTANCE__} -pub type HMODULE = HINSTANCE; -DECLARE_HANDLE!{HRGN, HRGN__} -DECLARE_HANDLE!{HRSRC, HRSRC__} -DECLARE_HANDLE!{HSPRITE, HSPRITE__} -DECLARE_HANDLE!{HLSURF, HLSURF__} -DECLARE_HANDLE!{HSTR, HSTR__} -DECLARE_HANDLE!{HTASK, HTASK__} -DECLARE_HANDLE!{HWINSTA, HWINSTA__} -DECLARE_HANDLE!{HKL, HKL__} -pub type HFILE = c_int; -STRUCT!{#[debug] struct FILETIME { - dwLowDateTime: DWORD, - dwHighDateTime: DWORD, -}} -pub type PFILETIME = *mut FILETIME; -pub type LPFILETIME = *mut FILETIME; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/mmreg.rs b/vendor/registry-40351f815f426200/winapi/src/shared/mmreg.rs deleted file mode 100644 index 06ad900f2..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/mmreg.rs +++ /dev/null @@ -1,309 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::guiddef::GUID; -use shared::minwindef::{DWORD, WORD}; -pub const WAVE_FORMAT_UNKNOWN: WORD = 0x0000; -pub const WAVE_FORMAT_PCM: WORD = 0x0001; -pub const WAVE_FORMAT_ADPCM: WORD = 0x0002; -pub const WAVE_FORMAT_IEEE_FLOAT: WORD = 0x0003; -pub const WAVE_FORMAT_VSELP: WORD = 0x0004; -pub const WAVE_FORMAT_IBM_CVSD: WORD = 0x0005; -pub const WAVE_FORMAT_ALAW: WORD = 0x0006; -pub const WAVE_FORMAT_MULAW: WORD = 0x0007; -pub const WAVE_FORMAT_DTS: WORD = 0x0008; -pub const WAVE_FORMAT_DRM: WORD = 0x0009; -pub const WAVE_FORMAT_WMAVOICE9: WORD = 0x000A; -pub const WAVE_FORMAT_WMAVOICE10: WORD = 0x000B; -pub const WAVE_FORMAT_OKI_ADPCM: WORD = 0x0010; -pub const WAVE_FORMAT_DVI_ADPCM: WORD = 0x0011; -pub const WAVE_FORMAT_IMA_ADPCM: WORD = WAVE_FORMAT_DVI_ADPCM; -pub const WAVE_FORMAT_MEDIASPACE_ADPCM: WORD = 0x0012; -pub const WAVE_FORMAT_SIERRA_ADPCM: WORD = 0x0013; -pub const WAVE_FORMAT_G723_ADPCM: WORD = 0x0014; -pub const WAVE_FORMAT_DIGISTD: WORD = 0x0015; -pub const WAVE_FORMAT_DIGIFIX: WORD = 0x0016; -pub const WAVE_FORMAT_DIALOGIC_OKI_ADPCM: WORD = 0x0017; -pub const WAVE_FORMAT_MEDIAVISION_ADPCM: WORD = 0x0018; -pub const WAVE_FORMAT_CU_CODEC: WORD = 0x0019; -pub const WAVE_FORMAT_HP_DYN_VOICE: WORD = 0x001A; -pub const WAVE_FORMAT_YAMAHA_ADPCM: WORD = 0x0020; -pub const WAVE_FORMAT_SONARC: WORD = 0x0021; -pub const WAVE_FORMAT_DSPGROUP_TRUESPEECH: WORD = 0x0022; -pub const WAVE_FORMAT_ECHOSC1: WORD = 0x0023; -pub const WAVE_FORMAT_AUDIOFILE_AF36: WORD = 0x0024; -pub const WAVE_FORMAT_APTX: WORD = 0x0025; -pub const WAVE_FORMAT_AUDIOFILE_AF10: WORD = 0x0026; -pub const WAVE_FORMAT_PROSODY_1612: WORD = 0x0027; -pub const WAVE_FORMAT_LRC: WORD = 0x0028; -pub const WAVE_FORMAT_DOLBY_AC2: WORD = 0x0030; -pub const WAVE_FORMAT_GSM610: WORD = 0x0031; -pub const WAVE_FORMAT_MSNAUDIO: WORD = 0x0032; -pub const WAVE_FORMAT_ANTEX_ADPCME: WORD = 0x0033; -pub const WAVE_FORMAT_CONTROL_RES_VQLPC: WORD = 0x0034; -pub const WAVE_FORMAT_DIGIREAL: WORD = 0x0035; -pub const WAVE_FORMAT_DIGIADPCM: WORD = 0x0036; -pub const WAVE_FORMAT_CONTROL_RES_CR10: WORD = 0x0037; -pub const WAVE_FORMAT_NMS_VBXADPCM: WORD = 0x0038; -pub const WAVE_FORMAT_CS_IMAADPCM: WORD = 0x0039; -pub const WAVE_FORMAT_ECHOSC3: WORD = 0x003A; -pub const WAVE_FORMAT_ROCKWELL_ADPCM: WORD = 0x003B; -pub const WAVE_FORMAT_ROCKWELL_DIGITALK: WORD = 0x003C; -pub const WAVE_FORMAT_XEBEC: WORD = 0x003D; -pub const WAVE_FORMAT_G721_ADPCM: WORD = 0x0040; -pub const WAVE_FORMAT_G728_CELP: WORD = 0x0041; -pub const WAVE_FORMAT_MSG723: WORD = 0x0042; -pub const WAVE_FORMAT_INTEL_G723_1: WORD = 0x0043; -pub const WAVE_FORMAT_INTEL_G729: WORD = 0x0044; -pub const WAVE_FORMAT_SHARP_G726: WORD = 0x0045; -pub const WAVE_FORMAT_MPEG: WORD = 0x0050; -pub const WAVE_FORMAT_RT24: WORD = 0x0052; -pub const WAVE_FORMAT_PAC: WORD = 0x0053; -pub const WAVE_FORMAT_MPEGLAYER3: WORD = 0x0055; -pub const WAVE_FORMAT_LUCENT_G723: WORD = 0x0059; -pub const WAVE_FORMAT_CIRRUS: WORD = 0x0060; -pub const WAVE_FORMAT_ESPCM: WORD = 0x0061; -pub const WAVE_FORMAT_VOXWARE: WORD = 0x0062; -pub const WAVE_FORMAT_CANOPUS_ATRAC: WORD = 0x0063; -pub const WAVE_FORMAT_G726_ADPCM: WORD = 0x0064; -pub const WAVE_FORMAT_G722_ADPCM: WORD = 0x0065; -pub const WAVE_FORMAT_DSAT: WORD = 0x0066; -pub const WAVE_FORMAT_DSAT_DISPLAY: WORD = 0x0067; -pub const WAVE_FORMAT_VOXWARE_BYTE_ALIGNED: WORD = 0x0069; -pub const WAVE_FORMAT_VOXWARE_AC8: WORD = 0x0070; -pub const WAVE_FORMAT_VOXWARE_AC10: WORD = 0x0071; -pub const WAVE_FORMAT_VOXWARE_AC16: WORD = 0x0072; -pub const WAVE_FORMAT_VOXWARE_AC20: WORD = 0x0073; -pub const WAVE_FORMAT_VOXWARE_RT24: WORD = 0x0074; -pub const WAVE_FORMAT_VOXWARE_RT29: WORD = 0x0075; -pub const WAVE_FORMAT_VOXWARE_RT29HW: WORD = 0x0076; -pub const WAVE_FORMAT_VOXWARE_VR12: WORD = 0x0077; -pub const WAVE_FORMAT_VOXWARE_VR18: WORD = 0x0078; -pub const WAVE_FORMAT_VOXWARE_TQ40: WORD = 0x0079; -pub const WAVE_FORMAT_VOXWARE_SC3: WORD = 0x007A; -pub const WAVE_FORMAT_VOXWARE_SC3_1: WORD = 0x007B; -pub const WAVE_FORMAT_SOFTSOUND: WORD = 0x0080; -pub const WAVE_FORMAT_VOXWARE_TQ60: WORD = 0x0081; -pub const WAVE_FORMAT_MSRT24: WORD = 0x0082; -pub const WAVE_FORMAT_G729A: WORD = 0x0083; -pub const WAVE_FORMAT_MVI_MVI2: WORD = 0x0084; -pub const WAVE_FORMAT_DF_G726: WORD = 0x0085; -pub const WAVE_FORMAT_DF_GSM610: WORD = 0x0086; -pub const WAVE_FORMAT_ISIAUDIO: WORD = 0x0088; -pub const WAVE_FORMAT_ONLIVE: WORD = 0x0089; -pub const WAVE_FORMAT_MULTITUDE_FT_SX20: WORD = 0x008A; -pub const WAVE_FORMAT_INFOCOM_ITS_G721_ADPCM: WORD = 0x008B; -pub const WAVE_FORMAT_CONVEDIA_G729: WORD = 0x008C; -pub const WAVE_FORMAT_CONGRUENCY: WORD = 0x008D; -pub const WAVE_FORMAT_SBC24: WORD = 0x0091; -pub const WAVE_FORMAT_DOLBY_AC3_SPDIF: WORD = 0x0092; -pub const WAVE_FORMAT_MEDIASONIC_G723: WORD = 0x0093; -pub const WAVE_FORMAT_PROSODY_8KBPS: WORD = 0x0094; -pub const WAVE_FORMAT_ZYXEL_ADPCM: WORD = 0x0097; -pub const WAVE_FORMAT_PHILIPS_LPCBB: WORD = 0x0098; -pub const WAVE_FORMAT_PACKED: WORD = 0x0099; -pub const WAVE_FORMAT_MALDEN_PHONYTALK: WORD = 0x00A0; -pub const WAVE_FORMAT_RACAL_RECORDER_GSM: WORD = 0x00A1; -pub const WAVE_FORMAT_RACAL_RECORDER_G720_A: WORD = 0x00A2; -pub const WAVE_FORMAT_RACAL_RECORDER_G723_1: WORD = 0x00A3; -pub const WAVE_FORMAT_RACAL_RECORDER_TETRA_ACELP: WORD = 0x00A4; -pub const WAVE_FORMAT_NEC_AAC: WORD = 0x00B0; -pub const WAVE_FORMAT_RAW_AAC1: WORD = 0x00FF; -pub const WAVE_FORMAT_RHETOREX_ADPCM: WORD = 0x0100; -pub const WAVE_FORMAT_IRAT: WORD = 0x0101; -pub const WAVE_FORMAT_VIVO_G723: WORD = 0x0111; -pub const WAVE_FORMAT_VIVO_SIREN: WORD = 0x0112; -pub const WAVE_FORMAT_PHILIPS_CELP: WORD = 0x0120; -pub const WAVE_FORMAT_PHILIPS_GRUNDIG: WORD = 0x0121; -pub const WAVE_FORMAT_DIGITAL_G723: WORD = 0x0123; -pub const WAVE_FORMAT_SANYO_LD_ADPCM: WORD = 0x0125; -pub const WAVE_FORMAT_SIPROLAB_ACEPLNET: WORD = 0x0130; -pub const WAVE_FORMAT_SIPROLAB_ACELP4800: WORD = 0x0131; -pub const WAVE_FORMAT_SIPROLAB_ACELP8V3: WORD = 0x0132; -pub const WAVE_FORMAT_SIPROLAB_G729: WORD = 0x0133; -pub const WAVE_FORMAT_SIPROLAB_G729A: WORD = 0x0134; -pub const WAVE_FORMAT_SIPROLAB_KELVIN: WORD = 0x0135; -pub const WAVE_FORMAT_VOICEAGE_AMR: WORD = 0x0136; -pub const WAVE_FORMAT_G726ADPCM: WORD = 0x0140; -pub const WAVE_FORMAT_DICTAPHONE_CELP68: WORD = 0x0141; -pub const WAVE_FORMAT_DICTAPHONE_CELP54: WORD = 0x0142; -pub const WAVE_FORMAT_QUALCOMM_PUREVOICE: WORD = 0x0150; -pub const WAVE_FORMAT_QUALCOMM_HALFRATE: WORD = 0x0151; -pub const WAVE_FORMAT_TUBGSM: WORD = 0x0155; -pub const WAVE_FORMAT_MSAUDIO1: WORD = 0x0160; -pub const WAVE_FORMAT_WMAUDIO2: WORD = 0x0161; -pub const WAVE_FORMAT_WMAUDIO3: WORD = 0x0162; -pub const WAVE_FORMAT_WMAUDIO_LOSSLESS: WORD = 0x0163; -pub const WAVE_FORMAT_WMASPDIF: WORD = 0x0164; -pub const WAVE_FORMAT_UNISYS_NAP_ADPCM: WORD = 0x0170; -pub const WAVE_FORMAT_UNISYS_NAP_ULAW: WORD = 0x0171; -pub const WAVE_FORMAT_UNISYS_NAP_ALAW: WORD = 0x0172; -pub const WAVE_FORMAT_UNISYS_NAP_16K: WORD = 0x0173; -pub const WAVE_FORMAT_SYCOM_ACM_SYC008: WORD = 0x0174; -pub const WAVE_FORMAT_SYCOM_ACM_SYC701_G726L: WORD = 0x0175; -pub const WAVE_FORMAT_SYCOM_ACM_SYC701_CELP54: WORD = 0x0176; -pub const WAVE_FORMAT_SYCOM_ACM_SYC701_CELP68: WORD = 0x0177; -pub const WAVE_FORMAT_KNOWLEDGE_ADVENTURE_ADPCM: WORD = 0x0178; -pub const WAVE_FORMAT_FRAUNHOFER_IIS_MPEG2_AAC: WORD = 0x0180; -pub const WAVE_FORMAT_DTS_DS: WORD = 0x0190; -pub const WAVE_FORMAT_CREATIVE_ADPCM: WORD = 0x0200; -pub const WAVE_FORMAT_CREATIVE_FASTSPEECH8: WORD = 0x0202; -pub const WAVE_FORMAT_CREATIVE_FASTSPEECH10: WORD = 0x0203; -pub const WAVE_FORMAT_UHER_ADPCM: WORD = 0x0210; -pub const WAVE_FORMAT_ULEAD_DV_AUDIO: WORD = 0x0215; -pub const WAVE_FORMAT_ULEAD_DV_AUDIO_1: WORD = 0x0216; -pub const WAVE_FORMAT_QUARTERDECK: WORD = 0x0220; -pub const WAVE_FORMAT_ILINK_VC: WORD = 0x0230; -pub const WAVE_FORMAT_RAW_SPORT: WORD = 0x0240; -pub const WAVE_FORMAT_ESST_AC3: WORD = 0x0241; -pub const WAVE_FORMAT_GENERIC_PASSTHRU: WORD = 0x0249; -pub const WAVE_FORMAT_IPI_HSX: WORD = 0x0250; -pub const WAVE_FORMAT_IPI_RPELP: WORD = 0x0251; -pub const WAVE_FORMAT_CS2: WORD = 0x0260; -pub const WAVE_FORMAT_SONY_SCX: WORD = 0x0270; -pub const WAVE_FORMAT_SONY_SCY: WORD = 0x0271; -pub const WAVE_FORMAT_SONY_ATRAC3: WORD = 0x0272; -pub const WAVE_FORMAT_SONY_SPC: WORD = 0x0273; -pub const WAVE_FORMAT_TELUM_AUDIO: WORD = 0x0280; -pub const WAVE_FORMAT_TELUM_IA_AUDIO: WORD = 0x0281; -pub const WAVE_FORMAT_NORCOM_VOICE_SYSTEMS_ADPCM: WORD = 0x0285; -pub const WAVE_FORMAT_FM_TOWNS_SND: WORD = 0x0300; -pub const WAVE_FORMAT_MICRONAS: WORD = 0x0350; -pub const WAVE_FORMAT_MICRONAS_CELP833: WORD = 0x0351; -pub const WAVE_FORMAT_BTV_DIGITAL: WORD = 0x0400; -pub const WAVE_FORMAT_INTEL_MUSIC_CODER: WORD = 0x0401; -pub const WAVE_FORMAT_INDEO_AUDIO: WORD = 0x0402; -pub const WAVE_FORMAT_QDESIGN_MUSIC: WORD = 0x0450; -pub const WAVE_FORMAT_ON2_VP7_AUDIO: WORD = 0x0500; -pub const WAVE_FORMAT_ON2_VP6_AUDIO: WORD = 0x0501; -pub const WAVE_FORMAT_VME_VMPCM: WORD = 0x0680; -pub const WAVE_FORMAT_TPC: WORD = 0x0681; -pub const WAVE_FORMAT_LIGHTWAVE_LOSSLESS: WORD = 0x08AE; -pub const WAVE_FORMAT_OLIGSM: WORD = 0x1000; -pub const WAVE_FORMAT_OLIADPCM: WORD = 0x1001; -pub const WAVE_FORMAT_OLICELP: WORD = 0x1002; -pub const WAVE_FORMAT_OLISBC: WORD = 0x1003; -pub const WAVE_FORMAT_OLIOPR: WORD = 0x1004; -pub const WAVE_FORMAT_LH_CODEC: WORD = 0x1100; -pub const WAVE_FORMAT_LH_CODEC_CELP: WORD = 0x1101; -pub const WAVE_FORMAT_LH_CODEC_SBC8: WORD = 0x1102; -pub const WAVE_FORMAT_LH_CODEC_SBC12: WORD = 0x1103; -pub const WAVE_FORMAT_LH_CODEC_SBC16: WORD = 0x1104; -pub const WAVE_FORMAT_NORRIS: WORD = 0x1400; -pub const WAVE_FORMAT_ISIAUDIO_2: WORD = 0x1401; -pub const WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS: WORD = 0x1500; -pub const WAVE_FORMAT_MPEG_ADTS_AAC: WORD = 0x1600; -pub const WAVE_FORMAT_MPEG_RAW_AAC: WORD = 0x1601; -pub const WAVE_FORMAT_MPEG_LOAS: WORD = 0x1602; -pub const WAVE_FORMAT_NOKIA_MPEG_ADTS_AAC: WORD = 0x1608; -pub const WAVE_FORMAT_NOKIA_MPEG_RAW_AAC: WORD = 0x1609; -pub const WAVE_FORMAT_VODAFONE_MPEG_ADTS_AAC: WORD = 0x160A; -pub const WAVE_FORMAT_VODAFONE_MPEG_RAW_AAC: WORD = 0x160B; -pub const WAVE_FORMAT_MPEG_HEAAC: WORD = 0x1610; -pub const WAVE_FORMAT_VOXWARE_RT24_SPEECH: WORD = 0x181C; -pub const WAVE_FORMAT_SONICFOUNDRY_LOSSLESS: WORD = 0x1971; -pub const WAVE_FORMAT_INNINGS_TELECOM_ADPCM: WORD = 0x1979; -pub const WAVE_FORMAT_LUCENT_SX8300P: WORD = 0x1C07; -pub const WAVE_FORMAT_LUCENT_SX5363S: WORD = 0x1C0C; -pub const WAVE_FORMAT_CUSEEME: WORD = 0x1F03; -pub const WAVE_FORMAT_NTCSOFT_ALF2CM_ACM: WORD = 0x1FC4; -pub const WAVE_FORMAT_DVM: WORD = 0x2000; -pub const WAVE_FORMAT_DTS2: WORD = 0x2001; -pub const WAVE_FORMAT_MAKEAVIS: WORD = 0x3313; -pub const WAVE_FORMAT_DIVIO_MPEG4_AAC: WORD = 0x4143; -pub const WAVE_FORMAT_NOKIA_ADAPTIVE_MULTIRATE: WORD = 0x4201; -pub const WAVE_FORMAT_DIVIO_G726: WORD = 0x4243; -pub const WAVE_FORMAT_LEAD_SPEECH: WORD = 0x434C; -pub const WAVE_FORMAT_LEAD_VORBIS: WORD = 0x564C; -pub const WAVE_FORMAT_WAVPACK_AUDIO: WORD = 0x5756; -pub const WAVE_FORMAT_OGG_VORBIS_MODE_1: WORD = 0x674F; -pub const WAVE_FORMAT_OGG_VORBIS_MODE_2: WORD = 0x6750; -pub const WAVE_FORMAT_OGG_VORBIS_MODE_3: WORD = 0x6751; -pub const WAVE_FORMAT_OGG_VORBIS_MODE_1_PLUS: WORD = 0x676F; -pub const WAVE_FORMAT_OGG_VORBIS_MODE_2_PLUS: WORD = 0x6770; -pub const WAVE_FORMAT_OGG_VORBIS_MODE_3_PLUS: WORD = 0x6771; -pub const WAVE_FORMAT_3COM_NBX: WORD = 0x7000; -pub const WAVE_FORMAT_FAAD_AAC: WORD = 0x706D; -pub const WAVE_FORMAT_AMR_NB: WORD = 0x7361; -pub const WAVE_FORMAT_AMR_WB: WORD = 0x7362; -pub const WAVE_FORMAT_AMR_WP: WORD = 0x7363; -pub const WAVE_FORMAT_GSM_AMR_CBR: WORD = 0x7A21; -pub const WAVE_FORMAT_GSM_AMR_VBR_SID: WORD = 0x7A22; -pub const WAVE_FORMAT_COMVERSE_INFOSYS_G723_1: WORD = 0xA100; -pub const WAVE_FORMAT_COMVERSE_INFOSYS_AVQSBC: WORD = 0xA101; -pub const WAVE_FORMAT_COMVERSE_INFOSYS_SBC: WORD = 0xA102; -pub const WAVE_FORMAT_SYMBOL_G729_A: WORD = 0xA103; -pub const WAVE_FORMAT_VOICEAGE_AMR_WB: WORD = 0xA104; -pub const WAVE_FORMAT_INGENIENT_G726: WORD = 0xA105; -pub const WAVE_FORMAT_MPEG4_AAC: WORD = 0xA106; -pub const WAVE_FORMAT_ENCORE_G726: WORD = 0xA107; -pub const WAVE_FORMAT_ZOLL_ASAO: WORD = 0xA108; -pub const WAVE_FORMAT_SPEEX_VOICE: WORD = 0xA109; -pub const WAVE_FORMAT_VIANIX_MASC: WORD = 0xA10A; -pub const WAVE_FORMAT_WM9_SPECTRUM_ANALYZER: WORD = 0xA10B; -pub const WAVE_FORMAT_WMF_SPECTRUM_ANAYZER: WORD = 0xA10C; -pub const WAVE_FORMAT_GSM_610: WORD = 0xA10D; -pub const WAVE_FORMAT_GSM_620: WORD = 0xA10E; -pub const WAVE_FORMAT_GSM_660: WORD = 0xA10F; -pub const WAVE_FORMAT_GSM_690: WORD = 0xA110; -pub const WAVE_FORMAT_GSM_ADAPTIVE_MULTIRATE_WB: WORD = 0xA111; -pub const WAVE_FORMAT_POLYCOM_G722: WORD = 0xA112; -pub const WAVE_FORMAT_POLYCOM_G728: WORD = 0xA113; -pub const WAVE_FORMAT_POLYCOM_G729_A: WORD = 0xA114; -pub const WAVE_FORMAT_POLYCOM_SIREN: WORD = 0xA115; -pub const WAVE_FORMAT_GLOBAL_IP_ILBC: WORD = 0xA116; -pub const WAVE_FORMAT_RADIOTIME_TIME_SHIFT_RADIO: WORD = 0xA117; -pub const WAVE_FORMAT_NICE_ACA: WORD = 0xA118; -pub const WAVE_FORMAT_NICE_ADPCM: WORD = 0xA119; -pub const WAVE_FORMAT_VOCORD_G721: WORD = 0xA11A; -pub const WAVE_FORMAT_VOCORD_G726: WORD = 0xA11B; -pub const WAVE_FORMAT_VOCORD_G722_1: WORD = 0xA11C; -pub const WAVE_FORMAT_VOCORD_G728: WORD = 0xA11D; -pub const WAVE_FORMAT_VOCORD_G729: WORD = 0xA11E; -pub const WAVE_FORMAT_VOCORD_G729_A: WORD = 0xA11F; -pub const WAVE_FORMAT_VOCORD_G723_1: WORD = 0xA120; -pub const WAVE_FORMAT_VOCORD_LBC: WORD = 0xA121; -pub const WAVE_FORMAT_NICE_G728: WORD = 0xA122; -pub const WAVE_FORMAT_FRACE_TELECOM_G729: WORD = 0xA123; -pub const WAVE_FORMAT_CODIAN: WORD = 0xA124; -pub const WAVE_FORMAT_FLAC: WORD = 0xF1AC; -pub const WAVE_FORMAT_EXTENSIBLE: WORD = 0xFFFE; -pub const WAVE_FORMAT_DEVELOPMENT: WORD = 0xFFFF; -//2557 -pub const SPEAKER_FRONT_LEFT: DWORD = 0x1; -pub const SPEAKER_FRONT_RIGHT: DWORD = 0x2; -pub const SPEAKER_FRONT_CENTER: DWORD = 0x4; -pub const SPEAKER_LOW_FREQUENCY: DWORD = 0x8; -pub const SPEAKER_BACK_LEFT: DWORD = 0x10; -pub const SPEAKER_BACK_RIGHT: DWORD = 0x20; -pub const SPEAKER_FRONT_LEFT_OF_CENTER: DWORD = 0x40; -pub const SPEAKER_FRONT_RIGHT_OF_CENTER: DWORD = 0x80; -pub const SPEAKER_BACK_CENTER: DWORD = 0x100; -pub const SPEAKER_SIDE_LEFT: DWORD = 0x200; -pub const SPEAKER_SIDE_RIGHT: DWORD = 0x400; -pub const SPEAKER_TOP_CENTER: DWORD = 0x800; -pub const SPEAKER_TOP_FRONT_LEFT: DWORD = 0x1000; -pub const SPEAKER_TOP_FRONT_CENTER: DWORD = 0x2000; -pub const SPEAKER_TOP_FRONT_RIGHT: DWORD = 0x4000; -pub const SPEAKER_TOP_BACK_LEFT: DWORD = 0x8000; -pub const SPEAKER_TOP_BACK_CENTER: DWORD = 0x10000; -pub const SPEAKER_TOP_BACK_RIGHT: DWORD = 0x20000; -pub const SPEAKER_RESERVED: DWORD = 0x7FFC0000; -pub const SPEAKER_ALL: DWORD = 0x80000000; -STRUCT!{#[repr(packed)] struct WAVEFORMATEX { - wFormatTag: WORD, - nChannels: WORD, - nSamplesPerSec: DWORD, - nAvgBytesPerSec: DWORD, - nBlockAlign: WORD, - wBitsPerSample: WORD, - cbSize: WORD, -}} -STRUCT!{#[repr(packed)] struct WAVEFORMATEXTENSIBLE { - Format: WAVEFORMATEX, - Samples: WORD, - dwChannelMask: DWORD, - SubFormat: GUID, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/mod.rs b/vendor/registry-40351f815f426200/winapi/src/shared/mod.rs deleted file mode 100644 index cc14a5cec..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/mod.rs +++ /dev/null @@ -1,75 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Headers shared between user mode and kernel mode -#[cfg(feature = "basetsd")] pub mod basetsd; -#[cfg(feature = "bcrypt")] pub mod bcrypt; -#[cfg(feature = "bugcodes")] pub mod bugcodes; -#[cfg(feature = "cderr")] pub mod cderr; -#[cfg(feature = "cfg")] pub mod cfg; -#[cfg(feature = "d3d9")] pub mod d3d9; -#[cfg(feature = "d3d9caps")] pub mod d3d9caps; -#[cfg(feature = "d3d9types")] pub mod d3d9types; -#[cfg(feature = "d3dkmdt")] pub mod d3dkmdt; -#[cfg(feature = "d3dukmdt")] pub mod d3dukmdt; -#[cfg(feature = "dcomptypes")] pub mod dcomptypes; -#[cfg(feature = "devguid")] pub mod devguid; -#[cfg(feature = "devpkey")] pub mod devpkey; -#[cfg(feature = "devpropdef")] pub mod devpropdef; -#[cfg(feature = "dinputd")] pub mod dinputd; -#[cfg(feature = "dxgi")] pub mod dxgi; -#[cfg(feature = "dxgi1_2")] pub mod dxgi1_2; -#[cfg(feature = "dxgi1_3")] pub mod dxgi1_3; -#[cfg(feature = "dxgi1_4")] pub mod dxgi1_4; -#[cfg(feature = "dxgi1_5")] pub mod dxgi1_5; -#[cfg(feature = "dxgi1_6")] pub mod dxgi1_6; -#[cfg(feature = "dxgiformat")] pub mod dxgiformat; -#[cfg(feature = "dxgitype")] pub mod dxgitype; -#[cfg(feature = "evntprov")] pub mod evntprov; -#[cfg(feature = "evntrace")] pub mod evntrace; -pub mod guiddef; -#[cfg(feature = "hidclass")] pub mod hidclass; -#[cfg(feature = "hidpi")] pub mod hidpi; -#[cfg(feature = "hidsdi")] pub mod hidsdi; -#[cfg(feature = "hidusage")] pub mod hidusage; -#[cfg(feature = "ifdef")] pub mod ifdef; -#[cfg(feature = "in6addr")] pub mod in6addr; -#[cfg(feature = "inaddr")] pub mod inaddr; -#[cfg(feature = "intsafe")] pub mod intsafe; -#[cfg(feature = "ks")] pub mod ks; -#[cfg(feature = "ksmedia")] pub mod ksmedia; -#[cfg(feature = "ktmtypes")] pub mod ktmtypes; -#[cfg(feature = "lmcons")] pub mod lmcons; -#[cfg(feature = "minwindef")] pub mod minwindef; -#[cfg(feature = "mmreg")] pub mod mmreg; -#[cfg(feature = "mstcpip")] pub mod mstcpip; -#[cfg(feature = "mswsockdef")] pub mod mswsockdef; -#[cfg(feature = "netioapi")] pub mod netioapi; -#[cfg(feature = "ntddscsi")] pub mod ntddscsi; -#[cfg(feature = "ntddser")] pub mod ntddser; -#[cfg(feature = "ntdef")] pub mod ntdef; -#[cfg(feature = "ntstatus")] pub mod ntstatus; -#[cfg(feature = "qos")] pub mod qos; -#[cfg(feature = "rpc")] pub mod rpc; -#[cfg(feature = "rpcdce")] pub mod rpcdce; -#[cfg(feature = "rpcndr")] pub mod rpcndr; -#[cfg(feature = "sddl")] pub mod sddl; -#[cfg(feature = "sspi")] pub mod sspi; -#[cfg(feature = "stralign")] pub mod stralign; -#[cfg(feature = "transportsettingcommon")] pub mod transportsettingcommon; -#[cfg(feature = "tvout")] pub mod tvout; -#[cfg(feature = "usb")] pub mod usb; -#[cfg(feature = "usbiodef")] pub mod usbiodef; -#[cfg(feature = "usbspec")] pub mod usbspec; -#[cfg(feature = "windef")] pub mod windef; -#[cfg(feature = "windowsx")] pub mod windowsx; -#[cfg(feature = "winerror")] pub mod winerror; -#[cfg(feature = "winusbio")] pub mod winusbio; -#[cfg(feature = "wmistr")] pub mod wmistr; -#[cfg(feature = "wnnc")] pub mod wnnc; -#[cfg(feature = "ws2def")] pub mod ws2def; -#[cfg(feature = "ws2ipdef")] pub mod ws2ipdef; -#[cfg(feature = "wtypes")] pub mod wtypes; -#[cfg(feature = "wtypesbase")] pub mod wtypesbase; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/mstcpip.rs b/vendor/registry-40351f815f426200/winapi/src/shared/mstcpip.rs deleted file mode 100644 index fe2072544..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/mstcpip.rs +++ /dev/null @@ -1,492 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -//! This module contains Microsoft-specific extensions to the core Winsock definitions. -use ctypes::wchar_t; -use shared::basetsd::{UINT32, UINT64, ULONG64}; -use shared::guiddef::GUID; -use shared::in6addr::IN6_ADDR; -use shared::inaddr::IN_ADDR; -use shared::minwindef::{DWORD, PULONG, PUSHORT, UCHAR, ULONG, USHORT}; -use shared::ws2def::{ - INADDR_ANY, INADDR_BROADCAST, INADDR_NONE, IOC_VENDOR, SOCKADDR_IN, - SOCKADDR_STORAGE, -}; -use um::winnt::{BOOLEAN, LONG, LPCWSTR, PCSTR, PCWSTR, PSTR, PWSTR}; -DEFINE_GUID!{SOCKET_DEFAULT2_QM_POLICY, - 0xaec2ef9c, 0x3a4d, 0x4d3e, 0x88, 0x42, 0x23, 0x99, 0x42, 0xe3, 0x9a, 0x47} -DEFINE_GUID!{REAL_TIME_NOTIFICATION_CAPABILITY, - 0x6b59819a, 0x5cae, 0x492d, 0xa9, 0x01, 0x2a, 0x3c, 0x2c, 0x50, 0x16, 0x4f} -DEFINE_GUID!{REAL_TIME_NOTIFICATION_CAPABILITY_EX, - 0x6843da03, 0x154a, 0x4616, 0xa5, 0x08, 0x44, 0x37, 0x12, 0x95, 0xf9, 0x6b} -DEFINE_GUID!{ASSOCIATE_NAMERES_CONTEXT, - 0x59a38b67, 0xd4fe, 0x46e1, 0xba, 0x3c, 0x87, 0xea, 0x74, 0xca, 0x30, 0x49} -ENUM!{enum TCPSTATE { - TCPSTATE_CLOSED, - TCPSTATE_LISTEN, - TCPSTATE_SYN_SENT, - TCPSTATE_SYN_RCVD, - TCPSTATE_ESTABLISHED, - TCPSTATE_FIN_WAIT_1, - TCPSTATE_FIN_WAIT_2, - TCPSTATE_CLOSE_WAIT, - TCPSTATE_CLOSING, - TCPSTATE_LAST_ACK, - TCPSTATE_TIME_WAIT, - TCPSTATE_MAX, -}} -STRUCT!{struct TRANSPORT_SETTING_ID { - Guid: GUID, -}} -pub type PTRANSPORT_SETTING_ID = *mut TRANSPORT_SETTING_ID; -STRUCT!{struct tcp_keepalive { - onoff: ULONG, - keepalivetime: ULONG, - keepaliveinterval: ULONG, -}} -ENUM!{enum CONTROL_CHANNEL_TRIGGER_STATUS { - CONTROL_CHANNEL_TRIGGER_STATUS_INVALID = 0, - CONTROL_CHANNEL_TRIGGER_STATUS_SOFTWARE_SLOT_ALLOCATED = 1, - CONTROL_CHANNEL_TRIGGER_STATUS_HARDWARE_SLOT_ALLOCATED = 2, - CONTROL_CHANNEL_TRIGGER_STATUS_POLICY_ERROR = 3, - CONTROL_CHANNEL_TRIGGER_STATUS_SYSTEM_ERROR = 4, - CONTROL_CHANNEL_TRIGGER_STATUS_TRANSPORT_DISCONNECTED = 5, - CONTROL_CHANNEL_TRIGGER_STATUS_SERVICE_UNAVAILABLE = 6, -}} -pub type PCONTROL_CHANNEL_TRIGGER_STATUS = *mut CONTROL_CHANNEL_TRIGGER_STATUS; -pub const CONTROL_CHANNEL_TRIGGER_STATUS_MAX: u32 = CONTROL_CHANNEL_TRIGGER_STATUS_SYSTEM_ERROR; -STRUCT!{struct REAL_TIME_NOTIFICATION_SETTING_INPUT { - TransportSettingId: TRANSPORT_SETTING_ID, - BrokerEventGuid: GUID, -}} -pub type PREAL_TIME_NOTIFICATION_SETTING_INPUT = *mut REAL_TIME_NOTIFICATION_SETTING_INPUT; -STRUCT!{struct REAL_TIME_NOTIFICATION_SETTING_INPUT_EX { - TransportSettingId: TRANSPORT_SETTING_ID, - BrokerEventGuid: GUID, - Unmark: BOOLEAN, -}} -pub type PREAL_TIME_NOTIFICATION_SETTING_INPUT_EX = *mut REAL_TIME_NOTIFICATION_SETTING_INPUT_EX; -STRUCT!{struct REAL_TIME_NOTIFICATION_SETTING_OUTPUT { - ChannelStatus: CONTROL_CHANNEL_TRIGGER_STATUS, -}} -pub type PREAL_TIME_NOTIFICATION_SETTING_OUTPUT = *mut REAL_TIME_NOTIFICATION_SETTING_OUTPUT; -STRUCT!{struct ASSOCIATE_NAMERES_CONTEXT_INPUT { - TransportSettingId: TRANSPORT_SETTING_ID, - Handle: UINT64, -}} -pub type PASSOCIATE_NAMERES_CONTEXT_INPUT = *mut ASSOCIATE_NAMERES_CONTEXT_INPUT; -pub const SIO_RCVALL: DWORD = _WSAIOW!(IOC_VENDOR,1); -pub const SIO_RCVALL_MCAST: DWORD = _WSAIOW!(IOC_VENDOR,2); -pub const SIO_RCVALL_IGMPMCAST: DWORD = _WSAIOW!(IOC_VENDOR,3); -pub const SIO_KEEPALIVE_VALS: DWORD = _WSAIOW!(IOC_VENDOR,4); -pub const SIO_ABSORB_RTRALERT: DWORD = _WSAIOW!(IOC_VENDOR,5); -pub const SIO_UCAST_IF: DWORD = _WSAIOW!(IOC_VENDOR,6); -pub const SIO_LIMIT_BROADCASTS: DWORD = _WSAIOW!(IOC_VENDOR,7); -pub const SIO_INDEX_BIND: DWORD = _WSAIOW!(IOC_VENDOR,8); -pub const SIO_INDEX_MCASTIF: DWORD = _WSAIOW!(IOC_VENDOR,9); -pub const SIO_INDEX_ADD_MCAST: DWORD = _WSAIOW!(IOC_VENDOR,10); -pub const SIO_INDEX_DEL_MCAST: DWORD = _WSAIOW!(IOC_VENDOR,11); -pub const SIO_RCVALL_MCAST_IF: DWORD = _WSAIOW!(IOC_VENDOR,13); -pub const SIO_RCVALL_IF: DWORD = _WSAIOW!(IOC_VENDOR,14); -pub const SIO_LOOPBACK_FAST_PATH: DWORD = _WSAIOW!(IOC_VENDOR,16); -pub const SIO_TCP_INITIAL_RTO: DWORD = _WSAIOW!(IOC_VENDOR,17); -pub const SIO_APPLY_TRANSPORT_SETTING: DWORD = _WSAIOW!(IOC_VENDOR,19); -pub const SIO_QUERY_TRANSPORT_SETTING: DWORD = _WSAIOW!(IOC_VENDOR,20); -pub const SIO_TCP_SET_ICW: DWORD = _WSAIOW!(IOC_VENDOR,22); -pub const SIO_TCP_SET_ACK_FREQUENCY: DWORD = _WSAIOW!(IOC_VENDOR,23); -pub const SIO_TCP_INFO: DWORD = _WSAIORW!(IOC_VENDOR,39); -ENUM!{enum RCVALL_VALUE { - RCVALL_OFF = 0, - RCVALL_ON = 1, - RCVALL_SOCKETLEVELONLY = 2, - RCVALL_IPLEVEL = 3, -}} -pub type PRCVALL_VALUE = *mut RCVALL_VALUE; -STRUCT!{struct RCVALL_IF { - Mode: RCVALL_VALUE, - Interface: ULONG, -}} -pub type PRCVALL_IF = *mut RCVALL_IF; -pub const TCP_INITIAL_RTO_UNSPECIFIED_RTT: USHORT = -1i16 as u16; -pub const TCP_INITIAL_RTO_UNSPECIFIED_MAX_SYN_RETRANSMISSIONS: UCHAR = -1i8 as u8; -pub const TCP_INITIAL_RTO_DEFAULT_RTT: USHORT = 0; -pub const TCP_INITIAL_RTO_DEFAULT_MAX_SYN_RETRANSMISSIONS: UCHAR = 0; -STRUCT!{struct TCP_INITIAL_RTO_PARAMETERS { - Rtt: USHORT, - MaxSynRetransmissions: UCHAR, -}} -pub type PTCP_INITIAL_RTO_PARAMETERS = *mut TCP_INITIAL_RTO_PARAMETERS; -ENUM!{enum TCP_ICW_LEVEL { - TCP_ICW_LEVEL_DEFAULT = 0, - TCP_ICW_LEVEL_HIGH = 1, - TCP_ICW_LEVEL_VERY_HIGH = 2, - TCP_ICW_LEVEL_AGGRESSIVE = 3, - TCP_ICW_LEVEL_EXPERIMENTAL = 4, - TCP_ICW_LEVEL_COMPAT = 254, - TCP_ICW_LEVEL_MAX = 255, -}} -pub type PTCP_ICW_LEVEL = *mut TCP_ICW_LEVEL; -STRUCT!{struct TCP_ICW_PARAMETERS { - Level: TCP_ICW_LEVEL, -}} -pub type PTCP_ICW_PARAMETERS = *mut TCP_ICW_PARAMETERS; -STRUCT!{struct TCP_ACK_FREQUENCY_PARAMETERS { - TcpDelayedAckFrequency: UCHAR, -}} -pub type PTCP_ACK_FREQUENCY_PARAMETERS = *mut TCP_ACK_FREQUENCY_PARAMETERS; -STRUCT!{struct TCP_INFO_v0 { - State: TCPSTATE, - Mss: ULONG, - ConnectionTimeMs: ULONG64, - TimestampsEnabled: BOOLEAN, - RttUs: ULONG, - MinRttUs: ULONG, - BytesInFlight: ULONG, - Cwnd: ULONG, - SndWnd: ULONG, - RcvWnd: ULONG, - RcvBuf: ULONG, - BytesOut: ULONG64, - BytesIn: ULONG64, - BytesReordered: ULONG, - BytesRetrans: ULONG, - FastRetrans: ULONG, - DupAcksIn: ULONG, - TimeoutEpisodes: ULONG, - SynRetrans: UCHAR, -}} -pub type PTCP_INFO_v0 = *mut TCP_INFO_v0; -pub const SIO_ACQUIRE_PORT_RESERVATION: DWORD = _WSAIOW!(IOC_VENDOR, 100); -pub const SIO_RELEASE_PORT_RESERVATION: DWORD = _WSAIOW!(IOC_VENDOR, 101); -pub const SIO_ASSOCIATE_PORT_RESERVATION: DWORD = _WSAIOW!(IOC_VENDOR, 102); -STRUCT!{struct INET_PORT_RANGE { - StartPort: USHORT, - NumberOfPorts: USHORT, -}} -pub type PINET_PORT_RANGE = *mut INET_PORT_RANGE; -pub type INET_PORT_RESERVATION = INET_PORT_RANGE; -pub type PINET_PORT_RESERVATION = *mut INET_PORT_RANGE; -STRUCT!{struct INET_PORT_RESERVATION_TOKEN { - Token: ULONG64, -}} -pub type PINET_PORT_RESERVATION_TOKEN = *mut INET_PORT_RESERVATION_TOKEN; -STRUCT!{struct INET_PORT_RESERVATION_INSTANCE { - Reservation: INET_PORT_RESERVATION, - Token: INET_PORT_RESERVATION_TOKEN, -}} -pub type PINET_PORT_RESERVATION_INSTANCE = *mut INET_PORT_RESERVATION_INSTANCE; -STRUCT!{struct INET_PORT_RESERVATION_INFORMATION { - OwningPid: ULONG, -}} -pub type PINET_PORT_RESERVATION_INFORMATION = *mut INET_PORT_RESERVATION_INFORMATION; -pub const SIO_SET_SECURITY: DWORD = _WSAIOW!(IOC_VENDOR, 200); -pub const SIO_QUERY_SECURITY: DWORD = _WSAIORW!(IOC_VENDOR, 201); -pub const SIO_SET_PEER_TARGET_NAME: DWORD = _WSAIOW!(IOC_VENDOR, 202); -pub const SIO_DELETE_PEER_TARGET_NAME: DWORD = _WSAIOW!(IOC_VENDOR, 203); -pub const SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS: DWORD = _WSAIOW!(IOC_VENDOR, 220); -pub const SIO_QUERY_WFP_CONNECTION_REDIRECT_CONTEXT: DWORD = _WSAIOW!(IOC_VENDOR, 221); -pub const SIO_SET_WFP_CONNECTION_REDIRECT_RECORDS: DWORD = _WSAIOW!(IOC_VENDOR, 222); -pub const SIO_SOCKET_USAGE_NOTIFICATION: DWORD = _WSAIOW!(IOC_VENDOR, 204); -ENUM!{enum SOCKET_USAGE_TYPE { - SYSTEM_CRITICAL_SOCKET = 1, -}} -ENUM!{enum SOCKET_SECURITY_PROTOCOL { - SOCKET_SECURITY_PROTOCOL_DEFAULT, - SOCKET_SECURITY_PROTOCOL_IPSEC, - SOCKET_SECURITY_PROTOCOL_IPSEC2, - SOCKET_SECURITY_PROTOCOL_INVALID, -}} -STRUCT!{struct SOCKET_SECURITY_SETTINGS { - SecurityProtocol: SOCKET_SECURITY_PROTOCOL, - SecurityFlags: ULONG, -}} -pub const SOCKET_SETTINGS_IPSEC_SKIP_FILTER_INSTANTIATION: ULONG = 0x1; -pub const SOCKET_SETTINGS_IPSEC_OPTIONAL_PEER_NAME_VERIFICATION: ULONG = 0x2; -pub const SOCKET_SETTINGS_IPSEC_ALLOW_FIRST_INBOUND_PKT_UNENCRYPTED: ULONG = 0x4; -pub const SOCKET_SETTINGS_IPSEC_PEER_NAME_IS_RAW_FORMAT: ULONG = 0x8; -STRUCT!{struct SOCKET_SECURITY_SETTINGS_IPSEC { - SecurityProtocol: SOCKET_SECURITY_PROTOCOL, - SecurityFlags: ULONG, - IpsecFlags: ULONG, - AuthipMMPolicyKey: GUID, - AuthipQMPolicyKey: GUID, - Reserved: GUID, - Reserved2: UINT64, - UserNameStringLen: ULONG, - DomainNameStringLen: ULONG, - PasswordStringLen: ULONG, - AllStrings: [wchar_t; 0], -}} -STRUCT!{struct SOCKET_PEER_TARGET_NAME { - SecurityProtocol: SOCKET_SECURITY_PROTOCOL, - PeerAddress: SOCKADDR_STORAGE, - PeerTargetNameStringLen: ULONG, - AllStrings: [wchar_t; 0], -}} -STRUCT!{struct SOCKET_SECURITY_QUERY_TEMPLATE { - SecurityProtocol: SOCKET_SECURITY_PROTOCOL, - PeerAddress: SOCKADDR_STORAGE, - PeerTokenAccessMask: ULONG, -}} -pub const SOCKET_QUERY_IPSEC2_ABORT_CONNECTION_ON_FIELD_CHANGE: ULONG = 0x1; -pub const SOCKET_QUERY_IPSEC2_FIELD_MASK_MM_SA_ID: ULONG = 0x1; -pub const SOCKET_QUERY_IPSEC2_FIELD_MASK_QM_SA_ID: ULONG = 0x2; -STRUCT!{struct SOCKET_SECURITY_QUERY_TEMPLATE_IPSEC2 { - SecurityProtocol: SOCKET_SECURITY_PROTOCOL, - PeerAddress: SOCKADDR_STORAGE, - PeerTokenAccessMask: ULONG, - Flags: ULONG, - FieldMask: ULONG, -}} -pub const SOCKET_INFO_CONNECTION_SECURED: ULONG = 0x1; -pub const SOCKET_INFO_CONNECTION_ENCRYPTED: ULONG = 0x2; -pub const SOCKET_INFO_CONNECTION_IMPERSONATED: ULONG = 0x4; -STRUCT!{struct SOCKET_SECURITY_QUERY_INFO { - SecurityProtocol: SOCKET_SECURITY_PROTOCOL, - Flags: ULONG, - PeerApplicationAccessTokenHandle: UINT64, - PeerMachineAccessTokenHandle: UINT64, -}} -STRUCT!{struct SOCKET_SECURITY_QUERY_INFO_IPSEC2 { - SecurityProtocol: SOCKET_SECURITY_PROTOCOL, - Flags: ULONG, - PeerApplicationAccessTokenHandle: UINT64, - PeerMachineAccessTokenHandle: UINT64, - MmSaId: UINT64, - QmSaId: UINT64, - NegotiationWinerr: UINT32, - SaLookupContext: GUID, -}} -pub const SIO_QUERY_WFP_ALE_ENDPOINT_HANDLE: DWORD = _WSAIOR!(IOC_VENDOR, 205); -pub const SIO_QUERY_RSS_SCALABILITY_INFO: DWORD = _WSAIOR!(IOC_VENDOR, 210); -STRUCT!{struct RSS_SCALABILITY_INFO { - RssEnabled: BOOLEAN, -}} -pub type PRSS_SCALABILITY_INFO = *mut RSS_SCALABILITY_INFO; -#[inline] -pub fn IN4_CLASSA(i: LONG) -> bool { - (i & 0x80) == 0 -} -#[inline] -pub fn IN4_CLASSB(i: LONG) -> bool { - (i & 0xc0) == 0x80 -} -#[inline] -pub fn IN4_CLASSC(i: LONG) -> bool { - (i & 0xe0) == 0xc0 -} -#[inline] -pub fn IN4_CLASSD(i: LONG) -> bool { - (i & 0xf0) == 0xe0 -} -#[inline] -pub fn IN4_MULTICAST(i: LONG) -> bool { - IN4_CLASSD(i) -} -pub const IN4ADDR_ANY: ULONG = INADDR_ANY; -pub const IN4ADDR_LOOPBACK: ULONG = 0x0100007f; -pub const IN4ADDR_BROADCAST: ULONG = INADDR_BROADCAST; -pub const IN4ADDR_NONE: ULONG = INADDR_NONE; -pub const IN4ADDR_LOOPBACKPREFIX_LENGTH: usize = 8; -pub const IN4ADDR_LINKLOCALPREFIX_LENGTH: usize = 16; -pub const IN4ADDR_MULTICASTPREFIX_LENGTH: usize = 4; -#[inline] -pub fn IN4_ADDR_EQUAL(a: &IN_ADDR, b: &IN_ADDR) -> bool { - unsafe { *a.S_un.S_addr() == *b.S_un.S_addr() } -} -#[inline] -pub fn IN4_UNALIGNED_ADDR_EQUAL(a: &IN_ADDR, b: &IN_ADDR) -> bool { - unsafe { *a.S_un.S_addr() == *b.S_un.S_addr() } -} -#[inline] -pub fn IN4_IS_ADDR_UNSPECIFIED(a: &IN_ADDR) -> bool { - unsafe { *a.S_un.S_addr() == IN4ADDR_ANY } -} -#[inline] -pub fn IN4_IS_UNALIGNED_ADDR_UNSPECIFIED(a: &IN_ADDR) -> bool { - unsafe { *a.S_un.S_addr() == IN4ADDR_ANY } -} -#[inline] -pub fn IN4_IS_ADDR_LOOPBACK(a: &IN_ADDR) -> bool { - unsafe { a.S_un.S_un_b().s_b1 == 0x7f } -} -#[inline] -pub fn IN4_IS_UNALIGNED_ADDR_LOOPBACK(a: &IN_ADDR) -> bool { - unsafe { a.S_un.S_un_b().s_b1 == 0x7f } -} -#[inline] -pub fn IN4_IS_ADDR_BROADCAST(a: &IN_ADDR) -> bool { - unsafe { *a.S_un.S_addr() == IN4ADDR_BROADCAST } -} -#[inline] -pub fn IN4_IS_UNALIGNED_ADDR_BROADCAST(a: &IN_ADDR) -> bool { - unsafe { *a.S_un.S_addr() == IN4ADDR_BROADCAST } -} -#[inline] -pub fn IN4_IS_ADDR_MULTICAST(a: &IN_ADDR) -> bool { - IN4_MULTICAST(unsafe { *a.S_un.S_addr() as LONG }) -} -#[inline] -pub fn IN4_IS_UNALIGNED_ADDR_MULTICAST(a: &IN_ADDR) -> bool { - IN4_MULTICAST(unsafe { *a.S_un.S_addr() as LONG }) -} -#[inline] -pub fn IN4_IS_ADDR_LINKLOCAL(a: &IN_ADDR) -> bool { - unsafe { (*a.S_un.S_addr() & 0xffff) == 0xfea9 } -} -#[inline] -pub fn IN4_IS_UNALIGNED_ADDR_LINKLOCAL(a: &IN_ADDR) -> bool { - unsafe { (*a.S_un.S_addr() & 0xffff) == 0xfea9 } -} -#[inline] -pub fn IN4_IS_ADDR_SITELOCAL(_: &IN_ADDR) -> bool { - false -} -#[inline] -pub fn IN4_IS_UNALIGNED_ADDR_SITELOCAL(_: &IN_ADDR) -> bool { - false -} -#[inline] -pub fn IN4_IS_ADDR_RFC1918(a: &IN_ADDR) -> bool { - let s_addr = unsafe { *a.S_un.S_addr() }; - ((s_addr & 0x00ff) == 0x0a) || ((s_addr & 0xf0ff) == 0x10ac) || ((s_addr & 0xffff) == 0xa8c0) -} -#[inline] -pub fn IN4_IS_UNALIGNED_ADDR_RFC1918(a: &IN_ADDR) -> bool { - IN4_IS_ADDR_RFC1918(a) -} -#[inline] -pub fn IN4_IS_ADDR_MC_LINKLOCAL(a: &IN_ADDR) -> bool { - unsafe { (*a.S_un.S_addr() & 0xffffff) == 0xe0 } -} -#[inline] -pub fn IN4_IS_ADDR_MC_ADMINLOCAL(a: &IN_ADDR) -> bool { - unsafe { (*a.S_un.S_addr() & 0xffff) == 0xffef } -} -#[inline] -pub fn IN4_IS_ADDR_MC_SITELOCAL(a: &IN_ADDR) -> bool { - let first = unsafe { (*a.S_un.S_addr() & 0xff) == 0xef }; - first && !IN4_IS_ADDR_MC_ADMINLOCAL(a) -} -#[inline] -pub fn IN4ADDR_ISANY(a: &SOCKADDR_IN) -> bool { - IN4_IS_ADDR_UNSPECIFIED(&a.sin_addr) -} -#[inline] -pub fn IN4ADDR_ISLOOPBACK(a: &SOCKADDR_IN) -> bool { - IN4_IS_ADDR_LOOPBACK(&a.sin_addr) -} -extern "system" { - pub fn RtlIpv4AddressToStringA( - Addr: *const IN_ADDR, - S: PSTR, - ) -> PSTR; - pub fn RtlIpv4AddressToStringExA( - Address: *const IN_ADDR, - Port: USHORT, - AddressString: PSTR, - AddressStringLength: PULONG, - ) -> LONG; - pub fn RtlIpv4AddressToStringW( - Addr: *const IN_ADDR, - S: PWSTR, - ) -> PWSTR; - pub fn RtlIpv4AddressToStringExW( - Address: *const IN_ADDR, - Port: USHORT, - AddressString: PWSTR, - AddressStringLength: PULONG, - ) -> LONG; - pub fn RtlIpv4StringToAddressA( - S: PCSTR, - Strict: BOOLEAN, - Terminator: *mut PCSTR, - Addr: *mut IN_ADDR, - ) -> LONG; - pub fn RtlIpv4StringToAddressExA( - AddressString: PCSTR, - Strict: BOOLEAN, - Address: *mut IN_ADDR, - Port: PUSHORT, - ) -> LONG; - pub fn RtlIpv4StringToAddressW( - S: PCWSTR, - Strict: BOOLEAN, - Terminator: *mut LPCWSTR, - Addr: *mut IN_ADDR, - ) -> LONG; - pub fn RtlIpv4StringToAddressExW( - AddressString: PCWSTR, - Strict: BOOLEAN, - Address: *mut IN_ADDR, - Port: PUSHORT, - ) -> LONG; - pub fn RtlIpv6AddressToStringA( - Addr: *const IN6_ADDR, - S: PSTR, - ) -> PSTR; - pub fn RtlIpv6AddressToStringExA( - Address: *const IN6_ADDR, - ScopeId: ULONG, - Port: USHORT, - AddressString: PSTR, - AddressStringLength: PULONG, - ) -> LONG; - pub fn RtlIpv6AddressToStringW( - Addr: *const IN6_ADDR, - S: PWSTR, - ) -> PWSTR; - pub fn RtlIpv6AddressToStringExW( - Address: *const IN6_ADDR, - ScopeId: ULONG, - Port: USHORT, - AddressString: PWSTR, - AddressStringLength: PULONG, - ) -> LONG; - pub fn RtlIpv6StringToAddressA( - S: PCSTR, - Terminator: *mut PCSTR, - Addr: *mut IN6_ADDR, - ) -> LONG; - pub fn RtlIpv6StringToAddressExA( - AddressString: PCSTR, - Address: *mut IN6_ADDR, - ScopeId: PULONG, - Port: PUSHORT, - ) -> LONG; - pub fn RtlIpv6StringToAddressW( - S: PCWSTR, - Terminator: *mut PCWSTR, - Addr: *mut IN6_ADDR, - ) -> LONG; - pub fn RtlIpv6StringToAddressExW( - AddressString: PCWSTR, - Address: *mut IN6_ADDR, - ScopeId: PULONG, - Port: PUSHORT, - ) -> LONG; -} -DECLARE_HANDLE!{DL_EUI48, _DL_EUI48} -pub type PDL_EUI48 = *mut DL_EUI48; -extern "system" { - pub fn RtlEthernetAddressToStringA( - Addr: *const DL_EUI48, - S: PSTR, - ) -> PSTR; - pub fn RtlEthernetAddressToStringW( - Addr: *const DL_EUI48, - S: PWSTR, - ) -> PWSTR; - pub fn RtlEthernetStringToAddressA( - S: PCSTR, - Terminator: *mut PCSTR, - Addr: *mut DL_EUI48, - ) -> LONG; - pub fn RtlEthernetStringToAddressW( - S: PCWSTR, - Terminator: *mut LPCWSTR, - Addr: *mut DL_EUI48, - ) -> LONG; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/mswsockdef.rs b/vendor/registry-40351f815f426200/winapi/src/shared/mswsockdef.rs deleted file mode 100644 index b62cf299d..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/mswsockdef.rs +++ /dev/null @@ -1,48 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::{DWORD, ULONG}; -use shared::ws2def::IOC_VENDOR; -use um::winnt::{LONG, PVOID, ULONGLONG}; -pub const SIO_SET_COMPATIBILITY_MODE: DWORD = _WSAIOW!(IOC_VENDOR, 300); -ENUM!{enum WSA_COMPATIBILITY_BEHAVIOR_ID { - WsaBehaviorAll = 0, - WsaBehaviorReceiveBuffering, - WsaBehaviorAutoTuning, -}} -pub type PWSA_COMPATIBILITY_BEHAVIOR_ID = *mut WSA_COMPATIBILITY_BEHAVIOR_ID; -STRUCT!{struct WSA_COMPATIBILITY_MODE { - BehaviorId: WSA_COMPATIBILITY_BEHAVIOR_ID, - TargetOsVersion: ULONG, -}} -pub type PWSA_COMPATIBILITY_MODE = *mut WSA_COMPATIBILITY_MODE; -pub type RIO_BUFFERID = PVOID; -pub type PRIO_BUFFERID = *mut PVOID; -pub type RIO_CQ = PVOID; -pub type PRIO_CQ = *mut PVOID; -pub type RIO_RQ = PVOID; -pub type PRIO_RQ = *mut PVOID; -STRUCT!{struct RIORESULT { - Status: LONG, - BytesTransferred: ULONG, - SocketContext: ULONGLONG, - RequestContext: ULONGLONG, -}} -pub type PRIORESULT = *mut RIORESULT; -STRUCT!{struct RIO_BUF { - BufferId: RIO_BUFFERID, - Offset: ULONG, - Length: ULONG, -}} -pub type PRIO_BUF = *mut RIO_BUF; -pub const RIO_MSG_DONT_NOTIFY: DWORD = 0x00000001; -pub const RIO_MSG_DEFER: DWORD = 0x00000002; -pub const RIO_MSG_WAITALL: DWORD = 0x00000004; -pub const RIO_MSG_COMMIT_ONLY: DWORD = 0x00000008; -pub const RIO_INVALID_BUFFERID: RIO_BUFFERID = 0xFFFFFFFF as RIO_BUFFERID; -pub const RIO_INVALID_CQ: RIO_CQ = 0 as RIO_CQ; -pub const RIO_INVALID_RQ: RIO_RQ = 0 as RIO_RQ; -pub const RIO_MAX_CQ_SIZE: DWORD = 0x8000000; -pub const RIO_CORRUPT_CQ: ULONG = 0xFFFFFFFF; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/netioapi.rs b/vendor/registry-40351f815f426200/winapi/src/shared/netioapi.rs deleted file mode 100644 index e8788e50b..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/netioapi.rs +++ /dev/null @@ -1,57 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::SIZE_T; -use shared::guiddef::GUID; -use shared::ifdef::{NET_IFINDEX, NET_LUID, PNET_IFINDEX, PNET_LUID}; -use shared::minwindef::DWORD; -use shared::ntdef::{CHAR, PSTR, PWSTR, WCHAR}; -pub type NETIO_STATUS = DWORD; -pub type NETIOAPI_API = NETIO_STATUS; -extern "system" { - pub fn ConvertInterfaceNameToLuidA( - InterfaceName: *const CHAR, - InterfaceLuid: *mut NET_LUID, - ) -> NETIOAPI_API; - pub fn ConvertInterfaceNameToLuidW( - InterfaceName: *const WCHAR, - InterfaceLuid: *mut NET_LUID, - ) -> NETIOAPI_API; - pub fn ConvertInterfaceLuidToNameA( - InterfaceLuid: *const NET_LUID, - InterfaceName: PSTR, - Length: SIZE_T, - ) -> NETIOAPI_API; - pub fn ConvertInterfaceLuidToNameW( - InterfaceLuid: *const NET_LUID, - InterfaceName: PWSTR, - Length: SIZE_T, - ) -> NETIOAPI_API; - pub fn ConvertInterfaceLuidToIndex( - InterfaceLuid: *const NET_LUID, - InterfaceIndex: PNET_IFINDEX, - ) -> NETIOAPI_API; - pub fn ConvertInterfaceIndexToLuid( - InterfaceIndex: NET_IFINDEX, - InterfaceLuid: PNET_LUID, - ) -> NETIOAPI_API; - pub fn ConvertInterfaceLuidToAlias( - InterfaceLuid: *const NET_LUID, - InterfaceAlias: PWSTR, - Length: SIZE_T, - ) -> NETIOAPI_API; - pub fn ConvertInterfaceAliasToLuid( - InterfaceAlias: *const WCHAR, - InterfaceLuid: PNET_LUID, - ) -> NETIOAPI_API; - pub fn ConvertInterfaceLuidToGuid( - InterfaceLuid: *const NET_LUID, - InterfaceGuid: *mut GUID, - ) -> NETIOAPI_API; - pub fn ConvertInterfaceGuidToLuid( - InterfaceGuid: *const GUID, - InterfaceLuid: PNET_LUID, - ) -> NETIOAPI_API; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/ntddscsi.rs b/vendor/registry-40351f815f426200/winapi/src/shared/ntddscsi.rs deleted file mode 100644 index ac47ec4e1..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/ntddscsi.rs +++ /dev/null @@ -1,834 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Constants and types for accessing SCSI port adapters. -use shared::basetsd::{ULONG32, ULONG_PTR}; -use shared::minwindef::{UCHAR, ULONG, USHORT}; -use shared::ntdef::{LARGE_INTEGER, LONG, LONGLONG, PVOID, ULONGLONG, VOID, WCHAR}; -use um::winioctl::{ - DEVICE_TYPE, FILE_ANY_ACCESS, FILE_DEVICE_CONTROLLER, FILE_READ_ACCESS, - FILE_WRITE_ACCESS, METHOD_BUFFERED -}; -use um::winnt::{ANYSIZE_ARRAY, BOOLEAN, PBOOLEAN}; -DEFINE_GUID!{ScsiRawInterfaceGuid, - 0x53f56309, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b} -DEFINE_GUID!{WmiScsiAddressGuid, - 0x53f5630f, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b} -pub const IOCTL_SCSI_BASE: DEVICE_TYPE = FILE_DEVICE_CONTROLLER; -pub const FILE_DEVICE_SCSI: ULONG = 0x0000001; -pub const DD_SCSI_DEVICE_NAME: &'static str = "\\Device\\ScsiPort"; -pub const IOCTL_SCSI_PASS_THROUGH: ULONG = - CTL_CODE!(IOCTL_SCSI_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_SCSI_MINIPORT: ULONG = - CTL_CODE!(IOCTL_SCSI_BASE, 0x0402, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_SCSI_GET_INQUIRY_DATA: ULONG = - CTL_CODE!(IOCTL_SCSI_BASE, 0x0403, METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_SCSI_GET_CAPABILITIES: ULONG = - CTL_CODE!(IOCTL_SCSI_BASE, 0x0404, METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_SCSI_PASS_THROUGH_DIRECT: ULONG = - CTL_CODE!(IOCTL_SCSI_BASE, 0x0405, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_SCSI_GET_ADDRESS: ULONG = - CTL_CODE!(IOCTL_SCSI_BASE, 0x0406, METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_SCSI_RESCAN_BUS: ULONG = - CTL_CODE!(IOCTL_SCSI_BASE, 0x0407, METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_SCSI_GET_DUMP_POINTERS: ULONG = - CTL_CODE!(IOCTL_SCSI_BASE, 0x0408, METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_SCSI_FREE_DUMP_POINTERS: ULONG = - CTL_CODE!(IOCTL_SCSI_BASE, 0x0409, METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_IDE_PASS_THROUGH: ULONG = - CTL_CODE!(IOCTL_SCSI_BASE, 0x040a, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_ATA_PASS_THROUGH: ULONG = - CTL_CODE!(IOCTL_SCSI_BASE, 0x040b, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_ATA_PASS_THROUGH_DIRECT: ULONG = - CTL_CODE!(IOCTL_SCSI_BASE, 0x040c, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_ATA_MINIPORT: ULONG = - CTL_CODE!(IOCTL_SCSI_BASE, 0x040d, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_MINIPORT_PROCESS_SERVICE_IRP: ULONG = - CTL_CODE!(IOCTL_SCSI_BASE, 0x040e, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_MPIO_PASS_THROUGH_PATH: ULONG = - CTL_CODE!(IOCTL_SCSI_BASE, 0x040f, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT: ULONG = - CTL_CODE!(IOCTL_SCSI_BASE, 0x0410, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_SCSI_PASS_THROUGH_EX: ULONG = - CTL_CODE!(IOCTL_SCSI_BASE, 0x0411, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_SCSI_PASS_THROUGH_DIRECT_EX: ULONG = - CTL_CODE!(IOCTL_SCSI_BASE, 0x0412, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_MPIO_PASS_THROUGH_PATH_EX: ULONG = - CTL_CODE!(IOCTL_SCSI_BASE, 0x0413, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX: ULONG = - CTL_CODE!(IOCTL_SCSI_BASE, 0x0414, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_SCSI_MINIPORT_NVCACHE: ULONG = ((FILE_DEVICE_SCSI << 16) + 0x0600); -pub const IOCTL_SCSI_MINIPORT_HYBRID: ULONG = ((FILE_DEVICE_SCSI << 16) + 0x0620); -pub const IOCTL_SCSI_MINIPORT_FIRMWARE: ULONG = ((FILE_DEVICE_SCSI << 16) + 0x0780); -STRUCT!{struct SCSI_PASS_THROUGH { - Length: USHORT, - ScsiStatus: UCHAR, - PathId: UCHAR, - TargetId: UCHAR, - Lun: UCHAR, - CdbLength: UCHAR, - SenseInfoLength: UCHAR, - DataIn: UCHAR, - DataTransferLength: ULONG, - TimeOutValue: ULONG, - DataBufferOffset: ULONG_PTR, - SenseInfoOffset: ULONG, - Cdb: [UCHAR; 16], -}} -pub type PSCSI_PASS_THROUGH = *mut SCSI_PASS_THROUGH; -STRUCT!{struct SCSI_PASS_THROUGH_DIRECT { - Length: USHORT, - ScsiStatus: UCHAR, - PathId: UCHAR, - TargetId: UCHAR, - Lun: UCHAR, - CdbLength: UCHAR, - SenseInfoLength: UCHAR, - DataIn: UCHAR, - DataTransferLength: ULONG, - TimeOutValue: ULONG, - DataBuffer: PVOID, - SenseInfoOffset: ULONG, - Cdb: [UCHAR; 16], -}} -pub type PSCSI_PASS_THROUGH_DIRECT = *mut SCSI_PASS_THROUGH_DIRECT; -STRUCT!{struct SCSI_PASS_THROUGH32 { - Length: USHORT, - ScsiStatus: UCHAR, - PathId: UCHAR, - TargetId: UCHAR, - Lun: UCHAR, - CdbLength: UCHAR, - SenseInfoLength: UCHAR, - DataIn: UCHAR, - DataTransferLength: ULONG, - TimeOutValue: ULONG, - DataBufferOffset: ULONG32, - SenseInfoOffset: ULONG, - Cdb: [UCHAR; 16], -}} -#[cfg(target_arch = "x86_64")] -IFDEF!{ -pub type PSCSI_PASS_THROUGH32 = *mut SCSI_PASS_THROUGH32; -STRUCT!{struct SCSI_PASS_THROUGH_DIRECT32 { - Length: USHORT, - ScsiStatus: UCHAR, - PathId: UCHAR, - TargetId: UCHAR, - Lun: UCHAR, - CdbLength: UCHAR, - SenseInfoLength: UCHAR, - DataIn: UCHAR, - DataTransferLength: ULONG, - TimeOutValue: ULONG, - DataBuffer: ULONG32, // Rust doesn't have anything like __ptr32 - SenseInfoOffset: ULONG, - Cdb: [UCHAR; 16], -}} -pub type PSCSI_PASS_THROUGH_DIRECT32 = *mut SCSI_PASS_THROUGH_DIRECT32; -} -STRUCT!{struct SCSI_PASS_THROUGH_EX { - Version: ULONG, - Length: ULONG, - CdbLength: ULONG, - StorAddressLength: ULONG, - ScsiStatus: UCHAR, - SenseInfolength: UCHAR, - DataDirection: UCHAR, - Reserved: UCHAR, - TimeOutValue: ULONG, - StorAddressOffset: ULONG, - SenseInfoOffset: ULONG, - DataOutTransferLength: ULONG, - DataInTransferLength: ULONG, - DataOutBufferOffset: ULONG_PTR, - DataInBufferOffset: ULONG_PTR, - Cdb: [UCHAR; ANYSIZE_ARRAY], -}} -pub type PSCSI_PASS_THROUGH_EX = *mut SCSI_PASS_THROUGH_EX; -STRUCT!{struct SCSI_PASS_THROUGH_DIRECT_EX { - Version: ULONG, - Length: ULONG, - CdbLength: ULONG, - StorAddressLength: ULONG, - ScsiStatus: UCHAR, - SenseInfolength: UCHAR, - DataDirection: UCHAR, - Reserved: UCHAR, - TimeOutValue: ULONG, - StorAddressOffset: ULONG, - SenseInfoOffset: ULONG, - DataOutTransferLength: ULONG, - DataInTransferLength: ULONG, - DataOutBuffer: *mut VOID, - DataInBuffer: *mut VOID, - Cdb: [UCHAR; ANYSIZE_ARRAY], -}} -pub type PSCSI_PASS_THROUGH_DIRECT_EX = *mut SCSI_PASS_THROUGH_DIRECT_EX; -#[cfg(target_arch = "x86_64")] -IFDEF!{ -STRUCT!{struct SCSI_PASS_THROUGH32_EX { - Version: ULONG, - Length: ULONG, - CdbLength: ULONG, - StorAddressLength: ULONG, - ScsiStatus: UCHAR, - SenseInfolength: UCHAR, - DataDirection: UCHAR, - Reserved: UCHAR, - TimeOutValue: ULONG, - StorAddressOffset: ULONG, - SenseInfoOffset: ULONG, - DataOutTransferLength: ULONG, - DataInTransferLength: ULONG, - DataOutBufferOffset: ULONG32, - DataInBufferOffset: ULONG32, - Cdb: [UCHAR; ANYSIZE_ARRAY], -}} -pub type PSCSI_PASS_THROUGH32_EX = *mut SCSI_PASS_THROUGH32_EX; -STRUCT!{struct SCSI_PASS_THROUGH_DIRECT32_EX { - Version: ULONG, - Length: ULONG, - CdbLength: ULONG, - StorAddressLength: ULONG, - ScsiStatus: UCHAR, - SenseInfolength: UCHAR, - DataDirection: UCHAR, - Reserved: UCHAR, - TimeOutValue: ULONG, - StorAddressOffset: ULONG, - SenseInfoOffset: ULONG, - DataOutTransferLength: ULONG, - DataInTransferLength: ULONG, - DataOutBuffer: ULONG32, - DataInBuffer: ULONG32, - Cdb: [UCHAR; ANYSIZE_ARRAY], -}} -pub type PSCSI_PASS_THROUGH_DIRECT32_EX = *mut SCSI_PASS_THROUGH_DIRECT32_EX; -} -STRUCT!{struct ATA_PASS_THROUGH_EX { - Length: USHORT, - AtaFlags: USHORT, - PathId: UCHAR, - TargetId: UCHAR, - Lun: UCHAR, - ReservedAsUchar: UCHAR, - DataTransferLength: ULONG, - TimeOutValue: ULONG, - ReservedAsUlong: ULONG, - DataBufferOffset: ULONG_PTR, - PreviousTaskFile: [UCHAR; 8], - CurrentTaskFile: [UCHAR; 8], -}} -pub type PATA_PASS_THROUGH_EX = *mut ATA_PASS_THROUGH_EX; -STRUCT!{struct ATA_PASS_THROUGH_DIRECT { - Length: USHORT, - AtaFlags: USHORT, - PathId: UCHAR, - TargetId: UCHAR, - Lun: UCHAR, - ReservedAsUchar: UCHAR, - DataTransferLength: ULONG, - TimeOutValue: ULONG, - ReservedAsUlong: ULONG, - DataBuffer: PVOID, - PreviousTaskFile: [UCHAR; 8], - CurrentTaskFile: [UCHAR; 8], -}} -pub type PATA_PASS_THROUGH_DIRECT = *mut ATA_PASS_THROUGH_DIRECT; -#[cfg(target_arch = "x86_64")] -IFDEF!{ -STRUCT!{struct ATA_PASS_THROUGH_EX32 { - Length: USHORT, - AtaFlags: USHORT, - PathId: UCHAR, - TargetId: UCHAR, - Lun: UCHAR, - ReservedAsUchar: UCHAR, - DataTransferLength: ULONG, - TimeOutValue: ULONG, - ReservedAsUlong: ULONG, - DataBufferOffset: ULONG32, - PreviousTaskFile: [UCHAR; 8], - CurrentTaskFile: [UCHAR; 8], -}} -pub type PATA_PASS_THROUGH_EX32 = *mut ATA_PASS_THROUGH_EX32; -STRUCT!{struct ATA_PASS_THROUGH_DIRECT32 { - Length: USHORT, - AtaFlags: USHORT, - PathId: UCHAR, - TargetId: UCHAR, - Lun: UCHAR, - ReservedAsUchar: UCHAR, - DataTransferLength: ULONG, - TimeOutValue: ULONG, - ReservedAsUlong: ULONG, - DataBuffer: ULONG32, - PreviousTaskFile: [UCHAR; 8], - CurrentTaskFile: [UCHAR; 8], -}} -pub type PATA_PASS_THROUGH_DIRECT32 = *mut ATA_PASS_THROUGH_DIRECT32; -} -pub const ATA_FLAGS_DRDY_REQUIRED: USHORT = 1 << 0; -pub const ATA_FLAGS_DATA_IN: USHORT = 1 << 1; -pub const ATA_FLAGS_DATA_OUT: USHORT = 1 << 2; -pub const ATA_FLAGS_48BIT_COMMAND: USHORT = 1 << 3; -pub const ATA_FLAGS_USE_DMA: USHORT = 1 << 4; -pub const ATA_FLAGS_NO_MULTIPLE: USHORT = 1 << 5; -STRUCT!{struct IDE_IO_CONTROL { - HeaderLength: ULONG, - Signature: [UCHAR; 8], - Timeout: ULONG, - ControlCode: ULONG, - ReturnStatus: ULONG, - DataLength: ULONG, -}} -pub type PIDE_IO_CONTROL = *mut IDE_IO_CONTROL; -STRUCT!{struct MPIO_PASS_THROUGH_PATH { - PassThrough: SCSI_PASS_THROUGH, - Version: ULONG, - Length: USHORT, - Flags: UCHAR, - PortNumber: UCHAR, - MpioPathId: ULONGLONG, -}} -pub type PMPIO_PASS_THROUGH_PATH = *mut MPIO_PASS_THROUGH_PATH; -STRUCT!{struct MPIO_PASS_THROUGH_PATH_DIRECT { - PassThrough: SCSI_PASS_THROUGH_DIRECT, - Version: ULONG, - Length: USHORT, - Flags: UCHAR, - PortNumber: UCHAR, - MpioPathId: ULONGLONG, -}} -pub type PMPIO_PASS_THROUGH_PATH_DIRECT = *mut MPIO_PASS_THROUGH_PATH_DIRECT; -STRUCT!{struct MPIO_PASS_THROUGH_PATH_EX { - PassThroughOffset: ULONG, - Version: ULONG, - Length: USHORT, - Flags: UCHAR, - PortNumber: UCHAR, - MpioPathId: ULONGLONG, -}} -pub type PMPIO_PASS_THROUGH_PATH_EX = *mut MPIO_PASS_THROUGH_PATH_EX; -STRUCT!{struct MPIO_PASS_THROUGH_PATH_DIRECT_EX { - PassThroughOffset: ULONG, - Version: ULONG, - Length: USHORT, - Flags: UCHAR, - PortNumber: UCHAR, - MpioPathId: ULONGLONG, -}} -pub type PMPIO_PASS_THROUGH_PATH_DIRECT_EX = *mut MPIO_PASS_THROUGH_PATH_DIRECT_EX; -#[cfg(target_arch = "x86_64")] -IFDEF!{ -STRUCT!{struct MPIO_PASS_THROUGH_PATH32 { - PassThrough: SCSI_PASS_THROUGH32, - Version: ULONG, - Length: USHORT, - Flags: UCHAR, - PortNumber: UCHAR, - MpioPathId: ULONGLONG, -}} -pub type PMPIO_PASS_THROUGH_PATH32 = *mut MPIO_PASS_THROUGH_PATH32; -STRUCT!{struct MPIO_PASS_THROUGH_PATH_DIRECT32 { - PassThrough: SCSI_PASS_THROUGH_DIRECT32, - Version: ULONG, - Length: USHORT, - Flags: UCHAR, - PortNumber: UCHAR, - MpioPathId: ULONGLONG, -}} -pub type PMPIO_PASS_THROUGH_PATH_DIRECT32 = *mut MPIO_PASS_THROUGH_PATH_DIRECT32; -STRUCT!{struct MPIO_PASS_THROUGH_PATH32_EX { - PassThroughOffset: ULONG, - Version: ULONG, - Length: USHORT, - Flags: UCHAR, - PortNumber: UCHAR, - MpioPathId: ULONGLONG, -}} -pub type PMPIO_PASS_THROUGH_PATH32_EX = *mut MPIO_PASS_THROUGH_PATH32_EX; -STRUCT!{struct MPIO_PASS_THROUGH_PATH_DIRECT32_EX { - PassThroughOffset: ULONG, - Version: ULONG, - Length: USHORT, - Flags: UCHAR, - PortNumber: UCHAR, - MpioPathId: ULONGLONG, -}} -pub type PMPIO_PASS_THROUGH_PATH_DIRECT32_EX = *mut MPIO_PASS_THROUGH_PATH_DIRECT32_EX; -} -STRUCT!{struct SCSI_BUS_DATA { - NumberOfLogicalUnits: UCHAR, - InitiatorBusId: UCHAR, - InquiryDataOffset: ULONG, -}} -pub type PSCSI_BUS_DATA = *mut SCSI_BUS_DATA; -STRUCT!{struct SCSI_ADAPTER_BUS_INFO { - NumberOfBuses: UCHAR, - BusData: [SCSI_BUS_DATA; 1], -}} -pub type PSCSI_ADAPTER_BUS_INFO = *mut SCSI_ADAPTER_BUS_INFO; -STRUCT!{struct SCSI_INQUIRY_DATA { - PathId: UCHAR, - TargetId: UCHAR, - Lun: UCHAR, - DeviceClaimed: BOOLEAN, - InquiryDataLength: ULONG, - NextInquiryDataOffset: ULONG, - InquiryData: [UCHAR; 1], -}} -pub type PSCSI_INQUIRY_DATA = *mut SCSI_INQUIRY_DATA; -pub const IOCTL_MINIPORT_SIGNATURE_SCSIDISK: &'static str = "SCSIDISK"; -pub const IOCTL_MINIPORT_SIGNATURE_HYBRDISK: &'static str = "HYBRDISK"; -pub const IOCTL_MINIPORT_SIGNATURE_DSM_NOTIFICATION: &'static str = "MPDSM "; -pub const IOCTL_MINIPORT_SIGNATURE_DSM_GENERAL: &'static str = "MPDSMGEN"; -pub const IOCTL_MINIPORT_SIGNATURE_FIRMWARE: &'static str = "FIRMWARE"; -pub const IOCTL_MINIPORT_SIGNATURE_QUERY_PROTOCOL: &'static str = "PROTOCOL"; -pub const IOCTL_MINIPORT_SIGNATURE_QUERY_TEMPERATURE: &'static str = "TEMPERAT"; -pub const IOCTL_MINIPORT_SIGNATURE_SET_TEMPERATURE_THRESHOLD: &'static str = "SETTEMPT"; -pub const IOCTL_MINIPORT_SIGNATURE_QUERY_PHYSICAL_TOPOLOGY: &'static str = "TOPOLOGY"; -STRUCT!{struct SRB_IO_CONTROL { - HeaderLength: ULONG, - Signature: [UCHAR; 8], - Timeout: ULONG, - ControlCode: ULONG, - ReturnCode: ULONG, - Length: ULONG, -}} -pub type PSRB_IO_CONTROL = *mut SRB_IO_CONTROL; -STRUCT!{struct NVCACHE_REQUEST_BLOCK { - NRBSize: ULONG, - Function: USHORT, - NRBFlags: ULONG, - NRBStatus: ULONG, - Count: ULONG, - LBA: ULONGLONG, - DataBufSize: ULONG, - NVCacheStatus: ULONG, - NVCacheSubStatus: ULONG, -}} -pub type PNVCACHE_REQUEST_BLOCK = *mut NVCACHE_REQUEST_BLOCK; -pub const NRB_FUNCTION_NVCACHE_INFO: USHORT = 0xEC; -pub const NRB_FUNCTION_SPINDLE_STATUS: USHORT = 0xE5; -pub const NRB_FUNCTION_NVCACHE_POWER_MODE_SET: USHORT = 0x00; -pub const NRB_FUNCTION_NVCACHE_POWER_MODE_RETURN: USHORT = 0x01; -pub const NRB_FUNCTION_FLUSH_NVCACHE: USHORT = 0x14; -pub const NRB_FUNCTION_QUERY_PINNED_SET: USHORT = 0x12; -pub const NRB_FUNCTION_QUERY_CACHE_MISS: USHORT = 0x13; -pub const NRB_FUNCTION_ADD_LBAS_PINNED_SET: USHORT = 0x10; -pub const NRB_FUNCTION_REMOVE_LBAS_PINNED_SET: USHORT = 0x11; -pub const NRB_FUNCTION_QUERY_ASCENDER_STATUS: USHORT = 0xD0; -pub const NRB_FUNCTION_QUERY_HYBRID_DISK_STATUS: USHORT = 0xD1; -pub const NRB_FUNCTION_PASS_HINT_PAYLOAD: USHORT = 0xE0; -pub const NRB_FUNCTION_NVSEPARATED_INFO: USHORT = 0xc0; -pub const NRB_FUNCTION_NVSEPARATED_FLUSH: USHORT = 0xc1; -pub const NRB_FUNCTION_NVSEPARATED_WB_DISABLE: USHORT = 0xc2; -pub const NRB_FUNCTION_NVSEPARATED_WB_REVERT_DEFAULT: USHORT = 0xc3; -pub const NRB_SUCCESS: ULONG = 0; -pub const NRB_ILLEGAL_REQUEST: ULONG = 1; -pub const NRB_INVALID_PARAMETER: ULONG = 2; -pub const NRB_INPUT_DATA_OVERRUN: ULONG = 3; -pub const NRB_INPUT_DATA_UNDERRUN: ULONG = 4; -pub const NRB_OUTPUT_DATA_OVERRUN: ULONG = 5; -pub const NRB_OUTPUT_DATA_UNDERRUN: ULONG = 6; -STRUCT!{struct NV_FEATURE_PARAMETER { - NVPowerModeEnabled: USHORT, - NVParameterReserv1: USHORT, - NVCmdEnabled: USHORT, - NVParameterReserv2: USHORT, - NVPowerModeVer: USHORT, - NVCmdVer: USHORT, - NVSize: ULONG, - NVReadSpeed: USHORT, - NVWrtSpeed: USHORT, - DeviceSpinUpTime: ULONG, -}} -pub type PNV_FEATURE_PARAMETER = *mut NV_FEATURE_PARAMETER; -STRUCT!{struct NVCACHE_HINT_PAYLOAD { - Command: UCHAR, - Feature7_0: UCHAR, - Feature15_8: UCHAR, - Count15_8: UCHAR, - LBA7_0: UCHAR, - LBA15_8: UCHAR, - LBA23_16: UCHAR, - LBA31_24: UCHAR, - LBA39_32: UCHAR, - LBA47_40: UCHAR, - Auxiliary7_0: UCHAR, - Auxiliary23_16: UCHAR, - Reserved: [UCHAR; 4], -}} -pub type PNVCACHE_HINT_PAYLOAD = *mut NVCACHE_HINT_PAYLOAD; -STRUCT!{struct NV_SEP_CACHE_PARAMETER { - Version: ULONG, - Size: ULONG, - Flags: NV_SEP_CACHE_PARAMETER_Flags, - WriteCacheType: UCHAR, - WriteCacheTypeEffective: UCHAR, - ParameterReserve1: [UCHAR; 3], -}} -pub type PNV_SEP_CACHE_PARAMETER = *mut NV_SEP_CACHE_PARAMETER; -UNION!{union NV_SEP_CACHE_PARAMETER_Flags { - [u8; 1], - CacheFlags CacheFlags_mut: NV_SEP_CACHE_PARAMETER_Flags_CacheFlags, - CacheFlagsSet CacheFlagsSet_mut: UCHAR, -}} -STRUCT!{struct NV_SEP_CACHE_PARAMETER_Flags_CacheFlags { - Bitfield: UCHAR, -}} -BITFIELD!{NV_SEP_CACHE_PARAMETER_Flags_CacheFlags Bitfield: UCHAR [ - WriteCacheEnabled set_WriteCacheEnabled[0..1], - WriteCacheChangeable set_WriteCacheChangeable[1..2], - WriteThroughIOSupported set_WriteThroughIOSupported[2..3], - FlushCacheSupported set_FlushCacheSupported[3..4], - ReservedBits set_ReservedBits[4..8], -]} -pub const NV_SEP_CACHE_PARAMETER_VERSION_1: ULONG = 1; -pub const NV_SEP_CACHE_PARAMETER_VERSION: ULONG = NV_SEP_CACHE_PARAMETER_VERSION_1; -ENUM!{enum NV_SEP_WRITE_CACHE_TYPE { - NVSEPWriteCacheTypeUnknown = 0, - NVSEPWriteCacheTypeNone = 1, - NVSEPWriteCacheTypeWriteBack = 2, - NVSEPWriteCacheTypeWriteThrough = 3, -}} -pub type PNV_SEP_WRITE_CACHE_TYPE = *mut NV_SEP_WRITE_CACHE_TYPE; -STRUCT!{struct MP_DEVICE_DATA_SET_RANGE { - StartingOffset: LONGLONG, - LengthInBytes: ULONGLONG, -}} -pub type PMP_DEVICE_DATA_SET_RANGE = *mut MP_DEVICE_DATA_SET_RANGE; -STRUCT!{struct DSM_NOTIFICATION_REQUEST_BLOCK { - Size: ULONG, - Version: ULONG, - NotifyFlags: ULONG, - DataSetProfile: ULONG, - Reserved: [ULONG; 3], - DataSetRangesCount: ULONG, - DataSetRanges: [MP_DEVICE_DATA_SET_RANGE; ANYSIZE_ARRAY], -}} -pub type PDSM_NOTIFICATION_REQUEST_BLOCK = *mut DSM_NOTIFICATION_REQUEST_BLOCK; -pub const MINIPORT_DSM_NOTIFICATION_VERSION_1: ULONG = 1; -pub const MINIPORT_DSM_NOTIFICATION_VERSION: ULONG = MINIPORT_DSM_NOTIFICATION_VERSION_1; -pub const MINIPORT_DSM_PROFILE_UNKNOWN: ULONG = 0; -pub const MINIPORT_DSM_PROFILE_PAGE_FILE: ULONG = 1; -pub const MINIPORT_DSM_PROFILE_HIBERNATION_FILE: ULONG = 2; -pub const MINIPORT_DSM_PROFILE_CRASHDUMP_FILE: ULONG = 3; -pub const MINIPORT_DSM_NOTIFY_FLAG_BEGIN: ULONG = 0x00000001; -pub const MINIPORT_DSM_NOTIFY_FLAG_END: ULONG = 0x00000002; -pub const HYBRID_FUNCTION_GET_INFO: ULONG = 0x01; -pub const HYBRID_FUNCTION_DISABLE_CACHING_MEDIUM: ULONG = 0x10; -pub const HYBRID_FUNCTION_ENABLE_CACHING_MEDIUM: ULONG = 0x11; -pub const HYBRID_FUNCTION_SET_DIRTY_THRESHOLD: ULONG = 0x12; -pub const HYBRID_FUNCTION_DEMOTE_BY_SIZE: ULONG = 0x13; -pub const HYBRID_STATUS_SUCCESS: ULONG = 0x0; -pub const HYBRID_STATUS_ILLEGAL_REQUEST: ULONG = 0x1; -pub const HYBRID_STATUS_INVALID_PARAMETER: ULONG = 0x2; -pub const HYBRID_STATUS_OUTPUT_BUFFER_TOO_SMALL: ULONG = 0x3; -pub const HYBRID_STATUS_ENABLE_REFCOUNT_HOLD: ULONG = 0x10; -pub const HYBRID_REQUEST_BLOCK_STRUCTURE_VERSION: ULONG = 0x1; -STRUCT!{struct HYBRID_REQUEST_BLOCK { - Version: ULONG, - Size: ULONG, - Function: ULONG, - Flags: ULONG, - DataBufferOffset: ULONG, - DataBufferLength: ULONG, -}} -pub type PHYBRID_REQUEST_BLOCK = *mut HYBRID_REQUEST_BLOCK; -ENUM!{enum NVCACHE_TYPE { - NvCacheTypeUnknown = 0, - NvCacheTypeNone = 1, - NvCacheTypeWriteBack = 2, - NvCacheTypeWriteThrough = 3, -}} -ENUM!{enum NVCACHE_STATUS { - NvCacheStatusUnknown = 0, - NvCacheStatusDisabling = 1, - NvCacheStatusDisabled = 2, - NvCacheStatusEnabled = 3, -}} -STRUCT!{struct NVCACHE_PRIORITY_LEVEL_DESCRIPTOR { - PriorityLevel: UCHAR, - Reserved0: [UCHAR; 3], - ConsumedNVMSizeFraction: ULONG, - ConsumedMappingResourcesFraction: ULONG, - ConsumedNVMSizeForDirtyDataFraction: ULONG, - ConsumedMappingResourcesForDirtyDataFraction: ULONG, - Reserved1: ULONG, -}} -pub type PNVCACHE_PRIORITY_LEVEL_DESCRIPTOR = *mut NVCACHE_PRIORITY_LEVEL_DESCRIPTOR; -pub const HYBRID_REQUEST_INFO_STRUCTURE_VERSION: ULONG = 1; -STRUCT!{struct HYBRID_INFORMATION { - Version: ULONG, - Size: ULONG, - HybridSupported: BOOLEAN, - Status: NVCACHE_STATUS, - CacheTypeEffective: NVCACHE_TYPE, - CacheTypeDefault: NVCACHE_TYPE, - FractionBase: ULONG, - CacheSize: ULONGLONG, - Attributes: HYBRID_INFORMATION_Attributes, - Priorities: HYBRID_INFORMATION_Priorities, -}} -pub type PHYBRID_INFORMATION = *mut HYBRID_INFORMATION; -STRUCT!{struct HYBRID_INFORMATION_Attributes { - Bitfield: ULONG, -}} -BITFIELD!{HYBRID_INFORMATION_Attributes Bitfield: ULONG [ - WriteCacheChangeable set_WriteCacheChangeable[0..1], - WriteThroughIoSupported set_WriteThroughIoSupported[1..2], - FlushCacheSupported set_FlushCacheSupported[2..3], - Removable set_Removable[3..4], - ReservedBits set_ReservedBits[4..32], -]} -STRUCT!{struct HYBRID_INFORMATION_Priorities { - PriorityLevelCount: UCHAR, - MaxPriorityBehavior: BOOLEAN, - OptimalWriteGranularity: UCHAR, - Reserved: UCHAR, - DirtyThresholdLow: ULONG, - DirtyThresholdHigh: ULONG, - SupportedCommands: HYBRID_INFORMATION_Priorities_SupportedCommands, - Priority: [NVCACHE_PRIORITY_LEVEL_DESCRIPTOR; 0], -}} -STRUCT!{struct HYBRID_INFORMATION_Priorities_SupportedCommands { - Bitfield: ULONG, - MaxEvictCommands: ULONG, - MaxLbaRangeCountForEvict: ULONG, - MaxLbaRangeCountForChangeLba: ULONG, -}} -BITFIELD!{HYBRID_INFORMATION_Priorities_SupportedCommands Bitfield: ULONG [ - CacheDisable set_CacheDisable[0..1], - SetDirtyThreshold set_SetDirtyThreshold[1..2], - PriorityDemoteBySize set_PriorityDemoteBySize[2..3], - PriorityChangeByLbaRange set_PriorityChangeByLbaRange[3..4], - Evict set_Evict[4..5], - ReservedBits set_ReservedBits[5..32], -]} -STRUCT!{struct HYBRID_DIRTY_THRESHOLDS { - Version: ULONG, - Size: ULONG, - DirtyLowThreshold: ULONG, - DirtyHighThreshold: ULONG, -}} -pub type PHYBRID_DIRTY_THRESHOLDS = *mut HYBRID_DIRTY_THRESHOLDS; -STRUCT!{struct HYBRID_DEMOTE_BY_SIZE { - Version: ULONG, - Size: ULONG, - SourcePriority: UCHAR, - TargetPriority: UCHAR, - Reserved0: USHORT, - Reserved1: ULONG, - LbaCount: ULONGLONG, -}} -pub type PHYBRID_DEMOTE_BY_SIZE = *mut HYBRID_DEMOTE_BY_SIZE; -pub const FIRMWARE_FUNCTION_GET_INFO: ULONG = 0x01; -pub const FIRMWARE_FUNCTION_DOWNLOAD: ULONG = 0x02; -pub const FIRMWARE_FUNCTION_ACTIVATE: ULONG = 0x03; -pub const FIRMWARE_STATUS_SUCCESS: ULONG = 0x0; -pub const FIRMWARE_STATUS_ERROR: ULONG = 0x1; -pub const FIRMWARE_STATUS_ILLEGAL_REQUEST: ULONG = 0x2; -pub const FIRMWARE_STATUS_INVALID_PARAMETER: ULONG = 0x3; -pub const FIRMWARE_STATUS_INPUT_BUFFER_TOO_BIG: ULONG = 0x4; -pub const FIRMWARE_STATUS_OUTPUT_BUFFER_TOO_SMALL: ULONG = 0x5; -pub const FIRMWARE_STATUS_INVALID_SLOT: ULONG = 0x6; -pub const FIRMWARE_STATUS_INVALID_IMAGE: ULONG = 0x7; -pub const FIRMWARE_STATUS_CONTROLLER_ERROR: ULONG = 0x10; -pub const FIRMWARE_STATUS_POWER_CYCLE_REQUIRED: ULONG = 0x20; -pub const FIRMWARE_STATUS_DEVICE_ERROR: ULONG = 0x40; -pub const FIRMWARE_STATUS_INTERFACE_CRC_ERROR: ULONG = 0x80; -pub const FIRMWARE_STATUS_UNCORRECTABLE_DATA_ERROR: ULONG = 0x81; -pub const FIRMWARE_STATUS_MEDIA_CHANGE: ULONG = 0x82; -pub const FIRMWARE_STATUS_ID_NOT_FOUND: ULONG = 0x83; -pub const FIRMWARE_STATUS_MEDIA_CHANGE_REQUEST: ULONG = 0x84; -pub const FIRMWARE_STATUS_COMMAND_ABORT: ULONG = 0x85; -pub const FIRMWARE_STATUS_END_OF_MEDIA: ULONG = 0x86; -pub const FIRMWARE_STATUS_ILLEGAL_LENGTH: ULONG = 0x87; -pub const FIRMWARE_REQUEST_BLOCK_STRUCTURE_VERSION: ULONG = 0x1; -STRUCT!{struct FIRMWARE_REQUEST_BLOCK { - Version: ULONG, - Size: ULONG, - Function: ULONG, - Flags: ULONG, - DataBufferOffset: ULONG, - DataBufferLength: ULONG, -}} -pub type PFIRMWARE_REQUEST_BLOCK = *mut FIRMWARE_REQUEST_BLOCK; -pub const FIRMWARE_REQUEST_FLAG_CONTROLLER: ULONG = 0x00000001; -pub const FIRMWARE_REQUEST_FLAG_LAST_SEGMENT: ULONG = 0x00000002; -pub const FIRMWARE_REQUEST_FLAG_SWITCH_TO_EXISTING_FIRMWARE: ULONG = 0x80000000; -pub const STORAGE_FIRMWARE_INFO_STRUCTURE_VERSION: ULONG = 0x1; -pub const STORAGE_FIRMWARE_INFO_STRUCTURE_VERSION_V2: ULONG = 0x2; -pub const STORAGE_FIRMWARE_INFO_INVALID_SLOT: UCHAR = 0xFF; -STRUCT!{struct STORAGE_FIRMWARE_SLOT_INFO { - SlotNumber: UCHAR, - ReadOnly: BOOLEAN, - Reserved: [UCHAR; 6], - Revision: STORAGE_FIRMWARE_SLOT_INFO_Revision, -}} -pub type PSTORAGE_FIRMWARE_SLOT_INFO = *mut STORAGE_FIRMWARE_SLOT_INFO; -UNION!{union STORAGE_FIRMWARE_SLOT_INFO_Revision { - [u64; 1], - Info Info_mut: [UCHAR; 8], - AsUlonglong AsUlonglong_mut: ULONGLONG, -}} -pub const STORAGE_FIRMWARE_SLOT_INFO_V2_REVISION_LENGTH: usize = 16; -STRUCT!{struct STORAGE_FIRMWARE_SLOT_INFO_V2 { - SlotNumber: UCHAR, - ReadOnly: BOOLEAN, - Reserved: [UCHAR; 6], - Revision: [UCHAR; STORAGE_FIRMWARE_SLOT_INFO_V2_REVISION_LENGTH], -}} -pub type PSTORAGE_FIRMWARE_SLOT_INFO_V2 = *mut STORAGE_FIRMWARE_SLOT_INFO_V2; -STRUCT!{struct STORAGE_FIRMWARE_INFO { - Version: ULONG, - Size: ULONG, - UpgradeSupport: BOOLEAN, - SlotCount: UCHAR, - ActiveSlot: UCHAR, - PendingActivateSlot: UCHAR, - Reserved: ULONG, - Slot: [STORAGE_FIRMWARE_SLOT_INFO; 0], -}} -pub type PSTORAGE_FIRMWARE_INFO = *mut STORAGE_FIRMWARE_INFO; -STRUCT!{struct STORAGE_FIRMWARE_INFO_V2 { - Version: ULONG, - Size: ULONG, - UpgradeSupport: BOOLEAN, - SlotCount: UCHAR, - ActiveSlot: UCHAR, - PendingActivateSlot: UCHAR, - FirmwareShared: BOOLEAN, - Reserved: [UCHAR; 3], - ImagePayloadAlignment: ULONG, - ImagePayloadMaxSize: ULONG, - Slot: [STORAGE_FIRMWARE_SLOT_INFO_V2; 0], -}} -pub type PSTORAGE_FIRMWARE_INFO_V2 = *mut STORAGE_FIRMWARE_INFO_V2; -pub const STORAGE_FIRMWARE_DOWNLOAD_STRUCTURE_VERSION: ULONG = 0x1; -pub const STORAGE_FIRMWARE_DOWNLOAD_STRUCTURE_VERSION_V2: ULONG = 0x2; -STRUCT!{struct STORAGE_FIRMWARE_DOWNLOAD { - Version: ULONG, - Size: ULONG, - Offset: ULONGLONG, - BufferSize: ULONGLONG, - ImageBuffer: [UCHAR; 0], -}} -pub type PSTORAGE_FIRMWARE_DOWNLOAD = *mut STORAGE_FIRMWARE_DOWNLOAD; -STRUCT!{struct STORAGE_FIRMWARE_DOWNLOAD_V2 { - Version: ULONG, - Size: ULONG, - Offset: ULONGLONG, - BufferSize: ULONGLONG, - Slot: UCHAR, - Reserved: [UCHAR; 7], - ImageBuffer: [UCHAR; 0], -}} -pub type PSTORAGE_FIRMWARE_DOWNLOAD_V2 = *mut STORAGE_FIRMWARE_DOWNLOAD_V2; -pub const STORAGE_FIRMWARE_ACTIVATE_STRUCTURE_VERSION: ULONG = 0x1; -STRUCT!{struct STORAGE_FIRMWARE_ACTIVATE { - Version: ULONG, - Size: ULONG, - SlotToActivate: UCHAR, - Reserved0: [UCHAR; 3], -}} -pub type PSTORAGE_FIRMWARE_ACTIVATE = *mut STORAGE_FIRMWARE_ACTIVATE; -STRUCT!{struct IO_SCSI_CAPABILITIES { - Length: ULONG, - MaximumTransferLength: ULONG, - MaximumPhysicalPages: ULONG, - SupportedAsynchronousEvents: ULONG, - AlignmentMask: ULONG, - TaggedQueuing: BOOLEAN, - AdapterScansDown: BOOLEAN, - AdapterUsesPio: BOOLEAN, -}} -pub type PIO_SCSI_CAPABILITIES = *mut IO_SCSI_CAPABILITIES; -STRUCT!{struct SCSI_ADDRESS { - Length: ULONG, - PortNumber: UCHAR, - PathId: UCHAR, - TargetId: UCHAR, - Lun: UCHAR, -}} -pub type PSCSI_ADDRESS = *mut SCSI_ADDRESS; -pub const DUMP_POINTERS_VERSION_1: ULONG = 1; -pub const DUMP_POINTERS_VERSION_2: ULONG = 2; -pub const DUMP_POINTERS_VERSION_3: ULONG = 3; -pub const DUMP_POINTERS_VERSION_4: ULONG = 4; -pub const DUMP_DRIVER_NAME_LENGTH: usize = 15; -FN!{cdecl DUMP_DEVICE_POWERON_ROUTINE( - Context: PVOID, -) -> LONG} -pub type PDUMP_DEVICE_POWERON_ROUTINE = *mut DUMP_DEVICE_POWERON_ROUTINE; -STRUCT!{struct DUMP_POINTERS_VERSION { - Version: ULONG, - Size: ULONG, -}} -pub type PDUMP_POINTERS_VERSION = *mut DUMP_POINTERS_VERSION; -STRUCT!{struct DUMP_POINTERS { - AdapterObject: PVOID, // struct _ADAPTER_OBJECT * - MappedRegisterBase: PVOID, - DumpData: PVOID, - CommonBufferVa: PVOID, - CommonBufferPa: LARGE_INTEGER, - CommonBufferSize: ULONG, - AllocateCommonBuffers: BOOLEAN, - UseDiskDump: BOOLEAN, - Spare1: [UCHAR; 2], - DeviceObject: PVOID, -}} -pub type PDUMP_POINTERS = *mut DUMP_POINTERS; -STRUCT!{struct DUMP_POINTERS_EX { - Header: DUMP_POINTERS_VERSION, - DumpData: PVOID, - CommonBufferVa: PVOID, - CommonBufferSize: ULONG, - AllocateCommonBuffers: BOOLEAN, - DeviceObject: PVOID, - DriverList: PVOID, - dwPortFlags: ULONG, - MaxDeviceDumpSectionSize: ULONG, - MaxDeviceDumpLevel: ULONG, - MaxTransferSize: ULONG, - AdapterObject: PVOID, - MappedRegisterBase: PVOID, - DeviceReady: PBOOLEAN, - DumpDevicePowerOn: PDUMP_DEVICE_POWERON_ROUTINE, - DumpDevicePowerOnContext: PVOID, -}} -pub type PDUMP_POINTERS_EX = *mut DUMP_POINTERS_EX; -// TODO: Revisit these definitions when const size_of and offset_of! arrive. -#[cfg(target_pointer_width = "32")] -IFDEF!{ -pub const DUMP_POINTERS_EX_V2_SIZE: ULONG = 32; -pub const DUMP_POINTERS_EX_V3_SIZE: ULONG = 60; -pub const DUMP_POINTERS_EX_V4_SIZE: ULONG = 68; -} -#[cfg(target_pointer_width = "64")] -IFDEF!{ -pub const DUMP_POINTERS_EX_V2_SIZE: ULONG = 48; -pub const DUMP_POINTERS_EX_V3_SIZE: ULONG = 88; -pub const DUMP_POINTERS_EX_V4_SIZE: ULONG = 104; -} -pub const DUMP_EX_FLAG_SUPPORT_64BITMEMORY: ULONG = 0x00000001; -pub const DUMP_EX_FLAG_SUPPORT_DD_TELEMETRY: ULONG = 0x00000002; -pub const DUMP_EX_FLAG_RESUME_SUPPORT: ULONG = 0x00000004; -STRUCT!{struct DUMP_DRIVER { - DumpDriverList: PVOID, - DriverName: [WCHAR; DUMP_DRIVER_NAME_LENGTH], - BaseName: [WCHAR; DUMP_DRIVER_NAME_LENGTH], -}} -pub type PDUMP_DRIVER = *mut DUMP_DRIVER; -pub const SCSI_IOCTL_DATA_OUT: UCHAR = 0; -pub const SCSI_IOCTL_DATA_IN: UCHAR = 1; -pub const SCSI_IOCTL_DATA_UNSPECIFIED: UCHAR = 2; -pub const SCSI_IOCTL_DATA_BIDIRECTIONAL: UCHAR = 3; -pub const MPIO_IOCTL_FLAG_USE_PATHID: UCHAR = 1; -pub const MPIO_IOCTL_FLAG_USE_SCSIADDRESS: UCHAR = 2; -pub const MPIO_IOCTL_FLAG_INVOLVE_DSM: UCHAR = 4; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/ntddser.rs b/vendor/registry-40351f815f426200/winapi/src/shared/ntddser.rs deleted file mode 100644 index d37b7f6ae..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/ntddser.rs +++ /dev/null @@ -1,17 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -//! This is the include file that defines all constants and types for accessing the Serial device. -use shared::devpropdef::DEVPROPKEY; -DEFINE_GUID!{GUID_DEVINTERFACE_COMPORT, - 0x86E0D1E0, 0x8089, 0x11D0, 0x9C, 0xE4, 0x08, 0x00, 0x3E, 0x30, 0x1F, 0x73} -DEFINE_GUID!{GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR, - 0x4D36E978, 0xE325, 0x11CE, 0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceInterface_Serial_UsbVendorId, - 0x4C6BF15C, 0x4C03, 0x4AAC, 0x91, 0xF5, 0x64, 0xC0, 0xF8, 0x52, 0xBC, 0xF4, 2} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceInterface_Serial_UsbProductId, - 0x4C6BF15C, 0x4C03, 0x4AAC, 0x91, 0xF5, 0x64, 0xC0, 0xF8, 0x52, 0xBC, 0xF4, 3} -DEFINE_DEVPROPKEY!{DEVPKEY_DeviceInterface_Serial_PortName, - 0x4C6BF15C, 0x4C03, 0x4AAC, 0x91, 0xF5, 0x64, 0xC0, 0xF8, 0x52, 0xBC, 0xF4, 4} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/ntdef.rs b/vendor/registry-40351f815f426200/winapi/src/shared/ntdef.rs deleted file mode 100644 index 2a4e1209a..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/ntdef.rs +++ /dev/null @@ -1,1073 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Type definitions for the basic types. -use ctypes::{ - __int64, __uint64, c_char, c_double, c_int, c_long, c_schar, c_short, c_uchar, c_ulong, - c_ushort, c_void, wchar_t -}; -use shared::basetsd::{KAFFINITY, LONG_PTR, ULONG64, ULONG_PTR}; -use shared::guiddef::GUID; -#[cfg(target_arch = "x86_64")] -IFDEF!{ -pub const MAX_NATURAL_ALIGNMENT: usize = 8; -pub const MEMORY_ALLOCATION_ALIGNMENT: usize = 16; -} -#[cfg(not(target_arch = "x86_64"))] -IFDEF!{ -pub const MAX_NATURAL_ALIGNMENT: usize = 4; -pub const MEMORY_ALLOCATION_ALIGNMENT: usize = 8; -} -#[cfg(any(target_arch = "x86_64", target_arch = "x86"))] -pub const SYSTEM_CACHE_ALIGNMENT_SIZE: usize = 64; -#[cfg(not(any(target_arch = "x86_64", target_arch = "x86")))] -pub const SYSTEM_CACHE_ALIGNMENT_SIZE: usize = 128; -pub type PVOID = *mut c_void; -pub type PVOID64 = u64; // This is a 64-bit pointer, even when in 32-bit -pub type VOID = c_void; -pub type CHAR = c_char; -pub type SHORT = c_short; -pub type LONG = c_long; -pub type INT = c_int; -pub type WCHAR = wchar_t; -pub type PWCHAR = *mut WCHAR; -pub type LPWCH = *mut WCHAR; -pub type PWCH = *mut WCHAR; -pub type LPCWCH = *const WCHAR; -pub type PCWCH = *const WCHAR; -pub type NWPSTR = *mut WCHAR; -pub type LPWSTR = *mut WCHAR; -pub type LPTSTR = LPSTR; -pub type PWSTR = *mut WCHAR; -pub type PZPWSTR = *mut PWSTR; -pub type PCZPWSTR = *const PWSTR; -pub type LPUWSTR = *mut WCHAR; // Unaligned pointer -pub type PUWSTR = *mut WCHAR; // Unaligned pointer -pub type LPCWSTR = *const WCHAR; -pub type PCWSTR = *const WCHAR; -pub type PZPCWSTR = *mut PCWSTR; -pub type PCZPCWSTR = *const PCWSTR; -pub type LPCUWSTR = *const WCHAR; // Unaligned pointer -pub type PCUWSTR = *const WCHAR; // Unaligned pointer -pub type PZZWSTR = *mut WCHAR; -pub type PCZZWSTR = *const WCHAR; -pub type PUZZWSTR = *mut WCHAR; // Unaligned pointer -pub type PCUZZWSTR = *const WCHAR; // Unaligned pointer -pub type PNZWCH = *mut WCHAR; -pub type PCNZWCH = *const WCHAR; -pub type PUNZWCH = *mut WCHAR; // Unaligned pointer -pub type PCUNZWCH = *const WCHAR; // Unaligned pointer -pub type LPCWCHAR = *const WCHAR; -pub type PCWCHAR = *const WCHAR; -pub type LPCUWCHAR = *const WCHAR; // Unaligned pointer -pub type PCUWCHAR = *const WCHAR; // Unaligned pointer -pub type UCSCHAR = c_ulong; -pub const UCSCHAR_INVALID_CHARACTER: UCSCHAR = 0xffffffff; -pub const MIN_UCSCHAR: UCSCHAR = 0; -pub const MAX_UCSCHAR: UCSCHAR = 0x0010FFFF; -pub type PUCSCHAR = *mut UCSCHAR; -pub type PCUCSCHAR = *const UCSCHAR; -pub type PUCSSTR = *mut UCSCHAR; -pub type PUUCSSTR = *mut UCSCHAR; // Unaligned pointer -pub type PCUCSSTR = *const UCSCHAR; -pub type PCUUCSSTR = *const UCSCHAR; // Unaligned pointer -pub type PUUCSCHAR = *mut UCSCHAR; // Unaligned pointer -pub type PCUUCSCHAR = *const UCSCHAR; // Unaligned pointer -pub type PCHAR = *mut CHAR; -pub type LPCH = *mut CHAR; -pub type PCH = *mut CHAR; -pub type LPCCH = *const CHAR; -pub type PCCH = *const CHAR; -pub type NPSTR = *mut CHAR; -pub type LPSTR = *mut CHAR; -pub type PSTR = *mut CHAR; -pub type PZPSTR = *mut PSTR; -pub type PCZPSTR = *const PSTR; -pub type LPCSTR = *const CHAR; -pub type PCSTR = *const CHAR; -pub type PZPCSTR = *mut PCSTR; -pub type PCZPCSTR = *const PCSTR; -pub type PZZSTR = *mut CHAR; -pub type PCZZSTR = *const CHAR; -pub type PNZCH = *mut CHAR; -pub type PCNZCH = *const CHAR; -// Skipping TCHAR things -pub type DOUBLE = c_double; -STRUCT!{struct QUAD { - UseThisFieldToCopy: __int64, -}} -pub type PSHORT = *mut SHORT; -pub type PLONG = *mut LONG; -pub type PQUAD = *mut QUAD; -pub type UCHAR = c_uchar; -pub type USHORT = c_ushort; -pub type ULONG = c_ulong; -pub type UQUAD = QUAD; -pub type PUCHAR = *mut UCHAR; -pub type PUSHORT = *mut USHORT; -pub type PULONG = *mut ULONG; -pub type PUQUAD = *mut UQUAD; -pub type PCUCHAR = *const UCHAR; -pub type PCUSHORT = *const USHORT; -pub type PCULONG = *const ULONG; -pub type PCUQUAD = *const UQUAD; -pub type SCHAR = c_schar; -pub type PSCHAR = *mut SCHAR; -pub type PCSCHAR = *const SCHAR; -pub const ALL_PROCESSOR_GROUPS: USHORT = 0xffff; -STRUCT!{struct PROCESSOR_NUMBER { - Group: USHORT, - Number: UCHAR, - Reserved: UCHAR, -}} -pub type PPROCESSOR_NUMBER = *mut PROCESSOR_NUMBER; -STRUCT!{struct GROUP_AFFINITY { - Mask: KAFFINITY, - Group: USHORT, - Reserved: [USHORT; 3], -}} -pub type PGROUP_AFFINITY = *mut GROUP_AFFINITY; -#[cfg(target_arch = "x86_64")] -pub const MAXIMUM_PROC_PER_GROUP: UCHAR = 64; -#[cfg(not(target_arch = "x86_64"))] -pub const MAXIMUM_PROC_PER_GROUP: UCHAR = 32; -pub const MAXIMUM_PROCESSORS: UCHAR = MAXIMUM_PROC_PER_GROUP; -pub type HANDLE = *mut c_void; -pub type PHANDLE = *mut HANDLE; -pub type FCHAR = UCHAR; -pub type FSHORT = USHORT; -pub type FLONG = ULONG; -pub type HRESULT = c_long; -pub const OBJ_HANDLE_TAGBITS: usize = 0x00000003; -pub type CCHAR = c_char; -pub type CSHORT = c_short; -pub type CLONG = ULONG; -pub type PCCHAR = *mut CCHAR; -pub type PCSHORT = *mut CSHORT; -pub type PCLONG = *mut CLONG; -pub type LCID = ULONG; -pub type PLCID = PULONG; -pub type LANGID = USHORT; -ENUM!{enum COMPARTMENT_ID { - UNSPECIFIED_COMPARTMENT_ID = 0, - DEFAULT_COMPARTMENT_ID, -}} -pub type PCOMPARTMENT_ID = *mut COMPARTMENT_ID; -pub type LOGICAL = ULONG; -pub type PLOGICAL = *mut ULONG; -pub type NTSTATUS = LONG; -pub type PNTSTATUS = *mut NTSTATUS; -pub type PCNTSTATUS = *const NTSTATUS; -#[inline] -pub fn NT_SUCCESS(Status: NTSTATUS) -> bool { - Status >= 0 -} -#[inline] -pub fn NT_INFORMATION(Status: NTSTATUS) -> bool { - ((Status as ULONG) >> 30) == 1 -} -#[inline] -pub fn NT_WARNING(Status: NTSTATUS) -> bool { - ((Status as ULONG) >> 30) == 2 -} -#[inline] -pub fn NT_ERROR(Status: NTSTATUS) -> bool { - ((Status as ULONG) >> 30) == 3 -} -pub const APPLICATION_ERROR_MASK: ULONG = 0x20000000; -pub const ERROR_SEVERITY_SUCCESS: ULONG = 0x00000000; -pub const ERROR_SEVERITY_INFORMATIONAL: ULONG = 0x40000000; -pub const ERROR_SEVERITY_WARNING: ULONG = 0x80000000; -pub const ERROR_SEVERITY_ERROR: ULONG = 0xC0000000; -pub type SECURITY_STATUS = c_long; -pub type TIME = LARGE_INTEGER; -pub type PTIME = *mut TIME; -STRUCT!{struct FLOAT128 { - LowPart: __int64, - HighPart: __int64, -}} -pub type PFLOAT128 = *mut FLOAT128; -pub type LONGLONG = __int64; -pub type ULONGLONG = __uint64; -pub const MAXLONGLONG: LONGLONG = 0x7fffffffffffffff; -pub type PLONGLONG = *mut LONGLONG; -pub type PULONGLONG = *mut ULONGLONG; -pub type USN = LONGLONG; -UNION!{union LARGE_INTEGER { - [i64; 1], - s s_mut: LARGE_INTEGER_s, - QuadPart QuadPart_mut: LONGLONG, -}} -STRUCT!{struct LARGE_INTEGER_s { - LowPart: ULONG, - HighPart: LONG, -}} -pub type PLARGE_INTEGER = *mut LARGE_INTEGER; -UNION!{union ULARGE_INTEGER { - [u64; 1], - s s_mut: ULARGE_INTEGER_s, - QuadPart QuadPart_mut: ULONGLONG, -}} -STRUCT!{struct ULARGE_INTEGER_s { - LowPart: ULONG, - HighPart: ULONG, -}} -pub type PULARGE_INTEGER = *mut ULARGE_INTEGER; -pub type RTL_REFERENCE_COUNT = LONG_PTR; -pub type PRTL_REFERENCE_COUNT = *mut RTL_REFERENCE_COUNT; -STRUCT!{struct LUID { - LowPart: ULONG, - HighPart: LONG, -}} -pub type PLUID = *mut LUID; -pub type DWORDLONG = ULONGLONG; -pub type PDWORDLONG = *mut DWORDLONG; -pub type PHYSICAL_ADDRESS = LARGE_INTEGER; -pub type PPHYSICAL_ADDRESS = *mut PHYSICAL_ADDRESS; -ENUM!{enum EVENT_TYPE { - NotificationEvent, - SynchronizationEvent, -}} -ENUM!{enum TIMER_TYPE { - NotificationTimer, - SynchronizationTimer, -}} -ENUM!{enum WAIT_TYPE { - WaitAll, - WaitAny, - WaitNotification, - WaitDequeue, -}} -pub type PSZ = *mut CHAR; -pub type PCSZ = *const c_char; -pub type RTL_STRING_LENGTH_TYPE = USHORT; -STRUCT!{struct STRING { - Length: USHORT, - MaximumLength: USHORT, - Buffer: PCHAR, -}} -pub type PSTRING = *mut STRING; -pub type ANSI_STRING = STRING; -pub type PANSI_STRING = PSTRING; -pub type OEM_STRING = STRING; -pub type POEM_STRING = PSTRING; -pub type PCOEM_STRING = *const STRING; -STRUCT!{struct CSTRING { - Length: USHORT, - MaximumLength: USHORT, - Buffer: *const c_char, -}} -pub type PCSTRING = *mut CSTRING; -pub const ANSI_NULL: CHAR = 0; -pub type CANSI_STRING = STRING; -pub type PCANSI_STRING = PSTRING; -STRUCT!{struct UNICODE_STRING { - Length: USHORT, - MaximumLength: USHORT, - Buffer: PWCH, -}} -pub type PUNICODE_STRING = *mut UNICODE_STRING; -pub type PCUNICODE_STRING = *const UNICODE_STRING; -pub const UNICODE_NULL: WCHAR = 0; -pub const UNICODE_STRING_MAX_BYTES: USHORT = 65534; -pub const UNICODE_STRING_MAX_CHARS: usize = 32767; -pub type BOOLEAN = UCHAR; -pub type PBOOLEAN = *mut BOOLEAN; -STRUCT!{struct LIST_ENTRY { - Flink: *mut LIST_ENTRY, - Blink: *mut LIST_ENTRY, -}} -pub type PLIST_ENTRY = *mut LIST_ENTRY; -pub type PRLIST_ENTRY = *mut LIST_ENTRY; // Restricted pointer -STRUCT!{struct SINGLE_LIST_ENTRY { - Next: *mut SINGLE_LIST_ENTRY, -}} -pub type PSINGLE_LIST_ENTRY = *mut SINGLE_LIST_ENTRY; -STRUCT!{struct RTL_BALANCED_NODE { - u: RTL_BALANCED_NODE_u, - ParentValue: ULONG_PTR, -}} -UNION!{union RTL_BALANCED_NODE_u { - [usize; 2], - Children Children_mut: [*mut RTL_BALANCED_NODE; 2], - s s_mut: RTL_BALANCED_NODE_s, -}} -STRUCT!{struct RTL_BALANCED_NODE_s { - Left: *mut RTL_BALANCED_NODE, - Right: *mut RTL_BALANCED_NODE, -}} -pub const RTL_BALANCED_NODE_RESERVED_PARENT_MASK: ULONG_PTR = 3; -pub type PRTL_BALANCED_NODE = *mut RTL_BALANCED_NODE; -#[inline] -pub unsafe fn RTL_BALANCED_NODE_GET_PARENT_POINTER( - Node: PRTL_BALANCED_NODE, -) -> PRTL_BALANCED_NODE { - ((*Node).ParentValue & !RTL_BALANCED_NODE_RESERVED_PARENT_MASK) as *mut RTL_BALANCED_NODE -} -STRUCT!{struct LIST_ENTRY32 { - Flink: ULONG, - Blink: ULONG, -}} -pub type PLIST_ENTRY32 = *mut LIST_ENTRY32; -STRUCT!{struct LIST_ENTRY64 { - Flink: ULONGLONG, - Blink: ULONGLONG, -}} -pub type PLIST_ENTRY64 = *mut LIST_ENTRY64; -STRUCT!{struct SINGLE_LIST_ENTRY32 { - Next: ULONG, -}} -pub type PSINGLE_LIST_ENTRY32 = *mut SINGLE_LIST_ENTRY32; -#[inline] -pub unsafe fn ListEntry32To64(l32: PLIST_ENTRY32, l64: PLIST_ENTRY64) { - (*l64).Flink = (*l32).Flink as ULONGLONG; - (*l64).Blink = (*l32).Blink as ULONGLONG; -} -#[inline] -pub unsafe fn ListEntry64To32(l64: PLIST_ENTRY64, l32: PLIST_ENTRY32) { - (*l32).Flink = (*l64).Flink as ULONG; - (*l32).Blink = (*l64).Blink as ULONG; -} -STRUCT!{struct WNF_STATE_NAME { - Data: [ULONG; 2], -}} -pub type PWNF_STATE_NAME = *mut WNF_STATE_NAME; -pub type PCWNF_STATE_NAME = *const WNF_STATE_NAME; -STRUCT!{struct STRING32 { - Length: USHORT, - MaximumLength: USHORT, - Buffer: ULONG, -}} -pub type PSTRING32 = *mut STRING32; -pub type UNICODE_STRING32 = STRING32; -pub type PUNICODE_STRING32 = *mut UNICODE_STRING32; -pub type ANSI_STRING32 = STRING32; -pub type PANSI_STRING32 = *mut ANSI_STRING32; -STRUCT!{struct STRING64 { - Length: USHORT, - MaximumLength: USHORT, - Buffer: ULONGLONG, -}} -pub type PSTRING64 = *mut STRING64; -pub type UNICODE_STRING64 = STRING64; -pub type PUNICODE_STRING64 = *mut UNICODE_STRING64; -pub type ANSI_STRING64 = STRING64; -pub type PANSI_STRING64 = *mut ANSI_STRING64; -pub const OBJ_INHERIT: ULONG = 0x00000002; -pub const OBJ_PERMANENT: ULONG = 0x00000010; -pub const OBJ_EXCLUSIVE: ULONG = 0x00000020; -pub const OBJ_CASE_INSENSITIVE: ULONG = 0x00000040; -pub const OBJ_OPENIF: ULONG = 0x00000080; -pub const OBJ_OPENLINK: ULONG = 0x00000100; -pub const OBJ_KERNEL_HANDLE: ULONG = 0x00000200; -pub const OBJ_FORCE_ACCESS_CHECK: ULONG = 0x00000400; -pub const OBJ_IGNORE_IMPERSONATED_DEVICEMAP: ULONG = 0x00000800; -pub const OBJ_DONT_REPARSE: ULONG = 0x00001000; -pub const OBJ_VALID_ATTRIBUTES: ULONG = 0x00001FF2; -STRUCT!{struct OBJECT_ATTRIBUTES64 { - Length: ULONG, - RootDirectory: ULONG64, - ObjectName: ULONG64, - Attributes: ULONG, - SecurityDescriptor: ULONG64, - SecurityQualityOfService: ULONG64, -}} -pub type POBJECT_ATTRIBUTES64 = *mut OBJECT_ATTRIBUTES64; -pub type PCOBJECT_ATTRIBUTES64 = *const OBJECT_ATTRIBUTES64; -STRUCT!{struct OBJECT_ATTRIBUTES32 { - Length: ULONG, - RootDirectory: ULONG, - ObjectName: ULONG, - Attributes: ULONG, - SecurityDescriptor: ULONG, - SecurityQualityOfService: ULONG, -}} -pub type POBJECT_ATTRIBUTES32 = *mut OBJECT_ATTRIBUTES32; -pub type PCOBJECT_ATTRIBUTES32 = *const OBJECT_ATTRIBUTES32; -STRUCT!{struct OBJECT_ATTRIBUTES { - Length: ULONG, - RootDirectory: HANDLE, - ObjectName: PUNICODE_STRING, - Attributes: ULONG, - SecurityDescriptor: PVOID, - SecurityQualityOfService: PVOID, -}} -pub type POBJECT_ATTRIBUTES = *mut OBJECT_ATTRIBUTES; -pub type PCOBJECT_ATTRIBUTES = *const OBJECT_ATTRIBUTES; -#[inline] -pub unsafe fn InitializeObjectAttributes( - p: POBJECT_ATTRIBUTES, - n: PUNICODE_STRING, - a: ULONG, - r: HANDLE, - s: PVOID, -) { - use core::mem::size_of; - (*p).Length = size_of::() as ULONG; - (*p).RootDirectory = r; - (*p).Attributes = a; - (*p).ObjectName = n; - (*p).SecurityDescriptor = s; - (*p).SecurityQualityOfService = NULL; -} -pub const FALSE: BOOLEAN = 0; -pub const TRUE: BOOLEAN = 1; -pub const NULL: PVOID = 0 as PVOID; -pub const NULL64: PVOID64 = 0; -STRUCT!{struct OBJECTID { - Lineage: GUID, - Uniquifier: ULONG, -}} -pub const MINCHAR: CHAR = 0x80; -pub const MAXCHAR: CHAR = 0x7f; -pub const MINSHORT: SHORT = 0x8000; -pub const MAXSHORT: SHORT = 0x7fff; -pub const MINLONG: LONG = 0x80000000; -pub const MAXLONG: LONG = 0x7fffffff; -pub const MAXUCHAR: UCHAR = 0xff; -pub const MAXUSHORT: USHORT = 0xffff; -pub const MAXULONG: ULONG = 0xffffffff; -// PEXCEPTION_ROUTINE: Can't define here, because it needs EXCEPTION_RECORD and CONTEXT. -pub type KIRQL = UCHAR; -pub type PKIRQL = *mut KIRQL; -ENUM!{enum NT_PRODUCT_TYPE { - NtProductWinNt = 1, - NtProductLanManNt, - NtProductServer, -}} -pub type PNT_PRODUCT_TYPE = *mut NT_PRODUCT_TYPE; -ENUM!{enum SUITE_TYPE { - SmallBusiness, - Enterprise, - BackOffice, - CommunicationServer, - TerminalServer, - SmallBusinessRestricted, - EmbeddedNT, - DataCenter, - SingleUserTS, - Personal, - Blade, - EmbeddedRestricted, - SecurityAppliance, - StorageServer, - ComputeServer, - WHServer, - PhoneNT, - MaxSuiteType, -}} -pub const VER_SERVER_NT: ULONG = 0x80000000; -pub const VER_WORKSTATION_NT: ULONG = 0x40000000; -pub const VER_SUITE_SMALLBUSINESS: ULONG = 0x00000001; -pub const VER_SUITE_ENTERPRISE: ULONG = 0x00000002; -pub const VER_SUITE_BACKOFFICE: ULONG = 0x00000004; -pub const VER_SUITE_COMMUNICATIONS: ULONG = 0x00000008; -pub const VER_SUITE_TERMINAL: ULONG = 0x00000010; -pub const VER_SUITE_SMALLBUSINESS_RESTRICTED: ULONG = 0x00000020; -pub const VER_SUITE_EMBEDDEDNT: ULONG = 0x00000040; -pub const VER_SUITE_DATACENTER: ULONG = 0x00000080; -pub const VER_SUITE_SINGLEUSERTS: ULONG = 0x00000100; -pub const VER_SUITE_PERSONAL: ULONG = 0x00000200; -pub const VER_SUITE_BLADE: ULONG = 0x00000400; -pub const VER_SUITE_EMBEDDED_RESTRICTED: ULONG = 0x00000800; -pub const VER_SUITE_SECURITY_APPLIANCE: ULONG = 0x00001000; -pub const VER_SUITE_STORAGE_SERVER: ULONG = 0x00002000; -pub const VER_SUITE_COMPUTE_SERVER: ULONG = 0x00004000; -pub const VER_SUITE_WH_SERVER: ULONG = 0x00008000; -pub const PRODUCT_UNDEFINED: ULONG = 0x00000000; -pub const PRODUCT_ULTIMATE: ULONG = 0x00000001; -pub const PRODUCT_HOME_BASIC: ULONG = 0x00000002; -pub const PRODUCT_HOME_PREMIUM: ULONG = 0x00000003; -pub const PRODUCT_ENTERPRISE: ULONG = 0x00000004; -pub const PRODUCT_HOME_BASIC_N: ULONG = 0x00000005; -pub const PRODUCT_BUSINESS: ULONG = 0x00000006; -pub const PRODUCT_STANDARD_SERVER: ULONG = 0x00000007; -pub const PRODUCT_DATACENTER_SERVER: ULONG = 0x00000008; -pub const PRODUCT_SMALLBUSINESS_SERVER: ULONG = 0x00000009; -pub const PRODUCT_ENTERPRISE_SERVER: ULONG = 0x0000000A; -pub const PRODUCT_STARTER: ULONG = 0x0000000B; -pub const PRODUCT_DATACENTER_SERVER_CORE: ULONG = 0x0000000C; -pub const PRODUCT_STANDARD_SERVER_CORE: ULONG = 0x0000000D; -pub const PRODUCT_ENTERPRISE_SERVER_CORE: ULONG = 0x0000000E; -pub const PRODUCT_ENTERPRISE_SERVER_IA64: ULONG = 0x0000000F; -pub const PRODUCT_BUSINESS_N: ULONG = 0x00000010; -pub const PRODUCT_WEB_SERVER: ULONG = 0x00000011; -pub const PRODUCT_CLUSTER_SERVER: ULONG = 0x00000012; -pub const PRODUCT_HOME_SERVER: ULONG = 0x00000013; -pub const PRODUCT_STORAGE_EXPRESS_SERVER: ULONG = 0x00000014; -pub const PRODUCT_STORAGE_STANDARD_SERVER: ULONG = 0x00000015; -pub const PRODUCT_STORAGE_WORKGROUP_SERVER: ULONG = 0x00000016; -pub const PRODUCT_STORAGE_ENTERPRISE_SERVER: ULONG = 0x00000017; -pub const PRODUCT_SERVER_FOR_SMALLBUSINESS: ULONG = 0x00000018; -pub const PRODUCT_SMALLBUSINESS_SERVER_PREMIUM: ULONG = 0x00000019; -pub const PRODUCT_HOME_PREMIUM_N: ULONG = 0x0000001A; -pub const PRODUCT_ENTERPRISE_N: ULONG = 0x0000001B; -pub const PRODUCT_ULTIMATE_N: ULONG = 0x0000001C; -pub const PRODUCT_WEB_SERVER_CORE: ULONG = 0x0000001D; -pub const PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT: ULONG = 0x0000001E; -pub const PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY: ULONG = 0x0000001F; -pub const PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING: ULONG = 0x00000020; -pub const PRODUCT_SERVER_FOUNDATION: ULONG = 0x00000021; -pub const PRODUCT_HOME_PREMIUM_SERVER: ULONG = 0x00000022; -pub const PRODUCT_SERVER_FOR_SMALLBUSINESS_V: ULONG = 0x00000023; -pub const PRODUCT_STANDARD_SERVER_V: ULONG = 0x00000024; -pub const PRODUCT_DATACENTER_SERVER_V: ULONG = 0x00000025; -pub const PRODUCT_ENTERPRISE_SERVER_V: ULONG = 0x00000026; -pub const PRODUCT_DATACENTER_SERVER_CORE_V: ULONG = 0x00000027; -pub const PRODUCT_STANDARD_SERVER_CORE_V: ULONG = 0x00000028; -pub const PRODUCT_ENTERPRISE_SERVER_CORE_V: ULONG = 0x00000029; -pub const PRODUCT_HYPERV: ULONG = 0x0000002A; -pub const PRODUCT_STORAGE_EXPRESS_SERVER_CORE: ULONG = 0x0000002B; -pub const PRODUCT_STORAGE_STANDARD_SERVER_CORE: ULONG = 0x0000002C; -pub const PRODUCT_STORAGE_WORKGROUP_SERVER_CORE: ULONG = 0x0000002D; -pub const PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE: ULONG = 0x0000002E; -pub const PRODUCT_STARTER_N: ULONG = 0x0000002F; -pub const PRODUCT_PROFESSIONAL: ULONG = 0x00000030; -pub const PRODUCT_PROFESSIONAL_N: ULONG = 0x00000031; -pub const PRODUCT_SB_SOLUTION_SERVER: ULONG = 0x00000032; -pub const PRODUCT_SERVER_FOR_SB_SOLUTIONS: ULONG = 0x00000033; -pub const PRODUCT_STANDARD_SERVER_SOLUTIONS: ULONG = 0x00000034; -pub const PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE: ULONG = 0x00000035; -pub const PRODUCT_SB_SOLUTION_SERVER_EM: ULONG = 0x00000036; -pub const PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM: ULONG = 0x00000037; -pub const PRODUCT_SOLUTION_EMBEDDEDSERVER: ULONG = 0x00000038; -pub const PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE: ULONG = 0x00000039; -pub const PRODUCT_PROFESSIONAL_EMBEDDED: ULONG = 0x0000003A; -pub const PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT: ULONG = 0x0000003B; -pub const PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL: ULONG = 0x0000003C; -pub const PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC: ULONG = 0x0000003D; -pub const PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC: ULONG = 0x0000003E; -pub const PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE: ULONG = 0x0000003F; -pub const PRODUCT_CLUSTER_SERVER_V: ULONG = 0x00000040; -pub const PRODUCT_EMBEDDED: ULONG = 0x00000041; -pub const PRODUCT_STARTER_E: ULONG = 0x00000042; -pub const PRODUCT_HOME_BASIC_E: ULONG = 0x00000043; -pub const PRODUCT_HOME_PREMIUM_E: ULONG = 0x00000044; -pub const PRODUCT_PROFESSIONAL_E: ULONG = 0x00000045; -pub const PRODUCT_ENTERPRISE_E: ULONG = 0x00000046; -pub const PRODUCT_ULTIMATE_E: ULONG = 0x00000047; -pub const PRODUCT_ENTERPRISE_EVALUATION: ULONG = 0x00000048; -pub const PRODUCT_MULTIPOINT_STANDARD_SERVER: ULONG = 0x0000004C; -pub const PRODUCT_MULTIPOINT_PREMIUM_SERVER: ULONG = 0x0000004D; -pub const PRODUCT_STANDARD_EVALUATION_SERVER: ULONG = 0x0000004F; -pub const PRODUCT_DATACENTER_EVALUATION_SERVER: ULONG = 0x00000050; -pub const PRODUCT_ENTERPRISE_N_EVALUATION: ULONG = 0x00000054; -pub const PRODUCT_EMBEDDED_AUTOMOTIVE: ULONG = 0x00000055; -pub const PRODUCT_EMBEDDED_INDUSTRY_A: ULONG = 0x00000056; -pub const PRODUCT_THINPC: ULONG = 0x00000057; -pub const PRODUCT_EMBEDDED_A: ULONG = 0x00000058; -pub const PRODUCT_EMBEDDED_INDUSTRY: ULONG = 0x00000059; -pub const PRODUCT_EMBEDDED_E: ULONG = 0x0000005A; -pub const PRODUCT_EMBEDDED_INDUSTRY_E: ULONG = 0x0000005B; -pub const PRODUCT_EMBEDDED_INDUSTRY_A_E: ULONG = 0x0000005C; -pub const PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER: ULONG = 0x0000005F; -pub const PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER: ULONG = 0x00000060; -pub const PRODUCT_CORE_ARM: ULONG = 0x00000061; -pub const PRODUCT_CORE_N: ULONG = 0x00000062; -pub const PRODUCT_CORE_COUNTRYSPECIFIC: ULONG = 0x00000063; -pub const PRODUCT_CORE_SINGLELANGUAGE: ULONG = 0x00000064; -pub const PRODUCT_CORE: ULONG = 0x00000065; -pub const PRODUCT_PROFESSIONAL_WMC: ULONG = 0x00000067; -pub const PRODUCT_MOBILE_CORE: ULONG = 0x00000068; -pub const PRODUCT_EMBEDDED_INDUSTRY_EVAL: ULONG = 0x00000069; -pub const PRODUCT_EMBEDDED_INDUSTRY_E_EVAL: ULONG = 0x0000006A; -pub const PRODUCT_EMBEDDED_EVAL: ULONG = 0x0000006B; -pub const PRODUCT_EMBEDDED_E_EVAL: ULONG = 0x0000006C; -pub const PRODUCT_NANO_SERVER: ULONG = 0x0000006D; -pub const PRODUCT_CLOUD_STORAGE_SERVER: ULONG = 0x0000006E; -pub const PRODUCT_CORE_CONNECTED: ULONG = 0x0000006F; -pub const PRODUCT_PROFESSIONAL_STUDENT: ULONG = 0x00000070; -pub const PRODUCT_CORE_CONNECTED_N: ULONG = 0x00000071; -pub const PRODUCT_PROFESSIONAL_STUDENT_N: ULONG = 0x00000072; -pub const PRODUCT_CORE_CONNECTED_SINGLELANGUAGE: ULONG = 0x00000073; -pub const PRODUCT_CORE_CONNECTED_COUNTRYSPECIFIC: ULONG = 0x00000074; -pub const PRODUCT_CONNECTED_CAR: ULONG = 0x00000075; -pub const PRODUCT_INDUSTRY_HANDHELD: ULONG = 0x00000076; -pub const PRODUCT_PPI_PRO: ULONG = 0x00000077; -pub const PRODUCT_ARM64_SERVER: ULONG = 0x00000078; -pub const PRODUCT_EDUCATION: ULONG = 0x00000079; -pub const PRODUCT_EDUCATION_N: ULONG = 0x0000007A; -pub const PRODUCT_IOTUAP: ULONG = 0x0000007B; -pub const PRODUCT_CLOUD_HOST_INFRASTRUCTURE_SERVER: ULONG = 0x0000007C; -pub const PRODUCT_ENTERPRISE_S: ULONG = 0x0000007D; -pub const PRODUCT_ENTERPRISE_S_N: ULONG = 0x0000007E; -pub const PRODUCT_PROFESSIONAL_S: ULONG = 0x0000007F; -pub const PRODUCT_PROFESSIONAL_S_N: ULONG = 0x00000080; -pub const PRODUCT_ENTERPRISE_S_EVALUATION: ULONG = 0x00000081; -pub const PRODUCT_ENTERPRISE_S_N_EVALUATION: ULONG = 0x00000082; -pub const PRODUCT_HOLOGRAPHIC: ULONG = 0x00000087; -pub const PRODUCT_PRO_SINGLE_LANGUAGE: ULONG = 0x0000008A; -pub const PRODUCT_PRO_CHINA: ULONG = 0x0000008B; -pub const PRODUCT_ENTERPRISE_SUBSCRIPTION: ULONG = 0x0000008C; -pub const PRODUCT_ENTERPRISE_SUBSCRIPTION_N: ULONG = 0x0000008D; -pub const PRODUCT_DATACENTER_NANO_SERVER: ULONG = 0x0000008F; -pub const PRODUCT_STANDARD_NANO_SERVER: ULONG = 0x00000090; -pub const PRODUCT_DATACENTER_A_SERVER_CORE: ULONG = 0x00000091; -pub const PRODUCT_STANDARD_A_SERVER_CORE: ULONG = 0x00000092; -pub const PRODUCT_DATACENTER_WS_SERVER_CORE: ULONG = 0x00000093; -pub const PRODUCT_STANDARD_WS_SERVER_CORE: ULONG = 0x00000094; -pub const PRODUCT_UTILITY_VM: ULONG = 0x00000095; -pub const PRODUCT_DATACENTER_EVALUATION_SERVER_CORE: ULONG = 0x0000009F; -pub const PRODUCT_STANDARD_EVALUATION_SERVER_CORE: ULONG = 0x000000A0; -pub const PRODUCT_PRO_WORKSTATION: ULONG = 0x000000A1; -pub const PRODUCT_PRO_WORKSTATION_N: ULONG = 0x000000A2; -pub const PRODUCT_PRO_FOR_EDUCATION: ULONG = 0x000000A4; -pub const PRODUCT_PRO_FOR_EDUCATION_N: ULONG = 0x000000A5; -pub const PRODUCT_AZURE_SERVER_CORE: ULONG = 0x000000A8; -pub const PRODUCT_AZURE_NANO_SERVER: ULONG = 0x000000A9; -pub const PRODUCT_UNLICENSED: ULONG = 0xABCDABCD; -pub const LANG_NEUTRAL: USHORT = 0x00; -pub const LANG_INVARIANT: USHORT = 0x7f; -pub const LANG_AFRIKAANS: USHORT = 0x36; -pub const LANG_ALBANIAN: USHORT = 0x1c; -pub const LANG_ALSATIAN: USHORT = 0x84; -pub const LANG_AMHARIC: USHORT = 0x5e; -pub const LANG_ARABIC: USHORT = 0x01; -pub const LANG_ARMENIAN: USHORT = 0x2b; -pub const LANG_ASSAMESE: USHORT = 0x4d; -pub const LANG_AZERI: USHORT = 0x2c; -pub const LANG_AZERBAIJANI: USHORT = 0x2c; -pub const LANG_BANGLA: USHORT = 0x45; -pub const LANG_BASHKIR: USHORT = 0x6d; -pub const LANG_BASQUE: USHORT = 0x2d; -pub const LANG_BELARUSIAN: USHORT = 0x23; -pub const LANG_BENGALI: USHORT = 0x45; -pub const LANG_BRETON: USHORT = 0x7e; -pub const LANG_BOSNIAN: USHORT = 0x1a; -pub const LANG_BOSNIAN_NEUTRAL: USHORT = 0x781a; -pub const LANG_BULGARIAN: USHORT = 0x02; -pub const LANG_CATALAN: USHORT = 0x03; -pub const LANG_CENTRAL_KURDISH: USHORT = 0x92; -pub const LANG_CHEROKEE: USHORT = 0x5c; -pub const LANG_CHINESE: USHORT = 0x04; -pub const LANG_CHINESE_SIMPLIFIED: USHORT = 0x04; -pub const LANG_CHINESE_TRADITIONAL: USHORT = 0x7c04; -pub const LANG_CORSICAN: USHORT = 0x83; -pub const LANG_CROATIAN: USHORT = 0x1a; -pub const LANG_CZECH: USHORT = 0x05; -pub const LANG_DANISH: USHORT = 0x06; -pub const LANG_DARI: USHORT = 0x8c; -pub const LANG_DIVEHI: USHORT = 0x65; -pub const LANG_DUTCH: USHORT = 0x13; -pub const LANG_ENGLISH: USHORT = 0x09; -pub const LANG_ESTONIAN: USHORT = 0x25; -pub const LANG_FAEROESE: USHORT = 0x38; -pub const LANG_FARSI: USHORT = 0x29; -pub const LANG_FILIPINO: USHORT = 0x64; -pub const LANG_FINNISH: USHORT = 0x0b; -pub const LANG_FRENCH: USHORT = 0x0c; -pub const LANG_FRISIAN: USHORT = 0x62; -pub const LANG_FULAH: USHORT = 0x67; -pub const LANG_GALICIAN: USHORT = 0x56; -pub const LANG_GEORGIAN: USHORT = 0x37; -pub const LANG_GERMAN: USHORT = 0x07; -pub const LANG_GREEK: USHORT = 0x08; -pub const LANG_GREENLANDIC: USHORT = 0x6f; -pub const LANG_GUJARATI: USHORT = 0x47; -pub const LANG_HAUSA: USHORT = 0x68; -pub const LANG_HAWAIIAN: USHORT = 0x75; -pub const LANG_HEBREW: USHORT = 0x0d; -pub const LANG_HINDI: USHORT = 0x39; -pub const LANG_HUNGARIAN: USHORT = 0x0e; -pub const LANG_ICELANDIC: USHORT = 0x0f; -pub const LANG_IGBO: USHORT = 0x70; -pub const LANG_INDONESIAN: USHORT = 0x21; -pub const LANG_INUKTITUT: USHORT = 0x5d; -pub const LANG_IRISH: USHORT = 0x3c; -pub const LANG_ITALIAN: USHORT = 0x10; -pub const LANG_JAPANESE: USHORT = 0x11; -pub const LANG_KANNADA: USHORT = 0x4b; -pub const LANG_KASHMIRI: USHORT = 0x60; -pub const LANG_KAZAK: USHORT = 0x3f; -pub const LANG_KHMER: USHORT = 0x53; -pub const LANG_KICHE: USHORT = 0x86; -pub const LANG_KINYARWANDA: USHORT = 0x87; -pub const LANG_KONKANI: USHORT = 0x57; -pub const LANG_KOREAN: USHORT = 0x12; -pub const LANG_KYRGYZ: USHORT = 0x40; -pub const LANG_LAO: USHORT = 0x54; -pub const LANG_LATVIAN: USHORT = 0x26; -pub const LANG_LITHUANIAN: USHORT = 0x27; -pub const LANG_LOWER_SORBIAN: USHORT = 0x2e; -pub const LANG_LUXEMBOURGISH: USHORT = 0x6e; -pub const LANG_MACEDONIAN: USHORT = 0x2f; -pub const LANG_MALAY: USHORT = 0x3e; -pub const LANG_MALAYALAM: USHORT = 0x4c; -pub const LANG_MALTESE: USHORT = 0x3a; -pub const LANG_MANIPURI: USHORT = 0x58; -pub const LANG_MAORI: USHORT = 0x81; -pub const LANG_MAPUDUNGUN: USHORT = 0x7a; -pub const LANG_MARATHI: USHORT = 0x4e; -pub const LANG_MOHAWK: USHORT = 0x7c; -pub const LANG_MONGOLIAN: USHORT = 0x50; -pub const LANG_NEPALI: USHORT = 0x61; -pub const LANG_NORWEGIAN: USHORT = 0x14; -pub const LANG_OCCITAN: USHORT = 0x82; -pub const LANG_ODIA: USHORT = 0x48; -pub const LANG_ORIYA: USHORT = 0x48; -pub const LANG_PASHTO: USHORT = 0x63; -pub const LANG_PERSIAN: USHORT = 0x29; -pub const LANG_POLISH: USHORT = 0x15; -pub const LANG_PORTUGUESE: USHORT = 0x16; -pub const LANG_PULAR: USHORT = 0x67; -pub const LANG_PUNJABI: USHORT = 0x46; -pub const LANG_QUECHUA: USHORT = 0x6b; -pub const LANG_ROMANIAN: USHORT = 0x18; -pub const LANG_ROMANSH: USHORT = 0x17; -pub const LANG_RUSSIAN: USHORT = 0x19; -pub const LANG_SAKHA: USHORT = 0x85; -pub const LANG_SAMI: USHORT = 0x3b; -pub const LANG_SANSKRIT: USHORT = 0x4f; -pub const LANG_SCOTTISH_GAELIC: USHORT = 0x91; -pub const LANG_SERBIAN: USHORT = 0x1a; -pub const LANG_SERBIAN_NEUTRAL: USHORT = 0x7c1a; -pub const LANG_SINDHI: USHORT = 0x59; -pub const LANG_SINHALESE: USHORT = 0x5b; -pub const LANG_SLOVAK: USHORT = 0x1b; -pub const LANG_SLOVENIAN: USHORT = 0x24; -pub const LANG_SOTHO: USHORT = 0x6c; -pub const LANG_SPANISH: USHORT = 0x0a; -pub const LANG_SWAHILI: USHORT = 0x41; -pub const LANG_SWEDISH: USHORT = 0x1d; -pub const LANG_SYRIAC: USHORT = 0x5a; -pub const LANG_TAJIK: USHORT = 0x28; -pub const LANG_TAMAZIGHT: USHORT = 0x5f; -pub const LANG_TAMIL: USHORT = 0x49; -pub const LANG_TATAR: USHORT = 0x44; -pub const LANG_TELUGU: USHORT = 0x4a; -pub const LANG_THAI: USHORT = 0x1e; -pub const LANG_TIBETAN: USHORT = 0x51; -pub const LANG_TIGRIGNA: USHORT = 0x73; -pub const LANG_TIGRINYA: USHORT = 0x73; -pub const LANG_TSWANA: USHORT = 0x32; -pub const LANG_TURKISH: USHORT = 0x1f; -pub const LANG_TURKMEN: USHORT = 0x42; -pub const LANG_UIGHUR: USHORT = 0x80; -pub const LANG_UKRAINIAN: USHORT = 0x22; -pub const LANG_UPPER_SORBIAN: USHORT = 0x2e; -pub const LANG_URDU: USHORT = 0x20; -pub const LANG_UZBEK: USHORT = 0x43; -pub const LANG_VALENCIAN: USHORT = 0x03; -pub const LANG_VIETNAMESE: USHORT = 0x2a; -pub const LANG_WELSH: USHORT = 0x52; -pub const LANG_WOLOF: USHORT = 0x88; -pub const LANG_XHOSA: USHORT = 0x34; -pub const LANG_YAKUT: USHORT = 0x85; -pub const LANG_YI: USHORT = 0x78; -pub const LANG_YORUBA: USHORT = 0x6a; -pub const LANG_ZULU: USHORT = 0x35; -pub const SUBLANG_NEUTRAL: USHORT = 0x00; -pub const SUBLANG_DEFAULT: USHORT = 0x01; -pub const SUBLANG_SYS_DEFAULT: USHORT = 0x02; -pub const SUBLANG_CUSTOM_DEFAULT: USHORT = 0x03; -pub const SUBLANG_CUSTOM_UNSPECIFIED: USHORT = 0x04; -pub const SUBLANG_UI_CUSTOM_DEFAULT: USHORT = 0x05; -pub const SUBLANG_AFRIKAANS_SOUTH_AFRICA: USHORT = 0x01; -pub const SUBLANG_ALBANIAN_ALBANIA: USHORT = 0x01; -pub const SUBLANG_ALSATIAN_FRANCE: USHORT = 0x01; -pub const SUBLANG_AMHARIC_ETHIOPIA: USHORT = 0x01; -pub const SUBLANG_ARABIC_SAUDI_ARABIA: USHORT = 0x01; -pub const SUBLANG_ARABIC_IRAQ: USHORT = 0x02; -pub const SUBLANG_ARABIC_EGYPT: USHORT = 0x03; -pub const SUBLANG_ARABIC_LIBYA: USHORT = 0x04; -pub const SUBLANG_ARABIC_ALGERIA: USHORT = 0x05; -pub const SUBLANG_ARABIC_MOROCCO: USHORT = 0x06; -pub const SUBLANG_ARABIC_TUNISIA: USHORT = 0x07; -pub const SUBLANG_ARABIC_OMAN: USHORT = 0x08; -pub const SUBLANG_ARABIC_YEMEN: USHORT = 0x09; -pub const SUBLANG_ARABIC_SYRIA: USHORT = 0x0a; -pub const SUBLANG_ARABIC_JORDAN: USHORT = 0x0b; -pub const SUBLANG_ARABIC_LEBANON: USHORT = 0x0c; -pub const SUBLANG_ARABIC_KUWAIT: USHORT = 0x0d; -pub const SUBLANG_ARABIC_UAE: USHORT = 0x0e; -pub const SUBLANG_ARABIC_BAHRAIN: USHORT = 0x0f; -pub const SUBLANG_ARABIC_QATAR: USHORT = 0x10; -pub const SUBLANG_ARMENIAN_ARMENIA: USHORT = 0x01; -pub const SUBLANG_ASSAMESE_INDIA: USHORT = 0x01; -pub const SUBLANG_AZERI_LATIN: USHORT = 0x01; -pub const SUBLANG_AZERI_CYRILLIC: USHORT = 0x02; -pub const SUBLANG_AZERBAIJANI_AZERBAIJAN_LATIN: USHORT = 0x01; -pub const SUBLANG_AZERBAIJANI_AZERBAIJAN_CYRILLIC: USHORT = 0x02; -pub const SUBLANG_BANGLA_INDIA: USHORT = 0x01; -pub const SUBLANG_BANGLA_BANGLADESH: USHORT = 0x02; -pub const SUBLANG_BASHKIR_RUSSIA: USHORT = 0x01; -pub const SUBLANG_BASQUE_BASQUE: USHORT = 0x01; -pub const SUBLANG_BELARUSIAN_BELARUS: USHORT = 0x01; -pub const SUBLANG_BENGALI_INDIA: USHORT = 0x01; -pub const SUBLANG_BENGALI_BANGLADESH: USHORT = 0x02; -pub const SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN: USHORT = 0x05; -pub const SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC: USHORT = 0x08; -pub const SUBLANG_BRETON_FRANCE: USHORT = 0x01; -pub const SUBLANG_BULGARIAN_BULGARIA: USHORT = 0x01; -pub const SUBLANG_CATALAN_CATALAN: USHORT = 0x01; -pub const SUBLANG_CENTRAL_KURDISH_IRAQ: USHORT = 0x01; -pub const SUBLANG_CHEROKEE_CHEROKEE: USHORT = 0x01; -pub const SUBLANG_CHINESE_TRADITIONAL: USHORT = 0x01; -pub const SUBLANG_CHINESE_SIMPLIFIED: USHORT = 0x02; -pub const SUBLANG_CHINESE_HONGKONG: USHORT = 0x03; -pub const SUBLANG_CHINESE_SINGAPORE: USHORT = 0x04; -pub const SUBLANG_CHINESE_MACAU: USHORT = 0x05; -pub const SUBLANG_CORSICAN_FRANCE: USHORT = 0x01; -pub const SUBLANG_CZECH_CZECH_REPUBLIC: USHORT = 0x01; -pub const SUBLANG_CROATIAN_CROATIA: USHORT = 0x01; -pub const SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN: USHORT = 0x04; -pub const SUBLANG_DANISH_DENMARK: USHORT = 0x01; -pub const SUBLANG_DARI_AFGHANISTAN: USHORT = 0x01; -pub const SUBLANG_DIVEHI_MALDIVES: USHORT = 0x01; -pub const SUBLANG_DUTCH: USHORT = 0x01; -pub const SUBLANG_DUTCH_BELGIAN: USHORT = 0x02; -pub const SUBLANG_ENGLISH_US: USHORT = 0x01; -pub const SUBLANG_ENGLISH_UK: USHORT = 0x02; -pub const SUBLANG_ENGLISH_AUS: USHORT = 0x03; -pub const SUBLANG_ENGLISH_CAN: USHORT = 0x04; -pub const SUBLANG_ENGLISH_NZ: USHORT = 0x05; -pub const SUBLANG_ENGLISH_EIRE: USHORT = 0x06; -pub const SUBLANG_ENGLISH_SOUTH_AFRICA: USHORT = 0x07; -pub const SUBLANG_ENGLISH_JAMAICA: USHORT = 0x08; -pub const SUBLANG_ENGLISH_CARIBBEAN: USHORT = 0x09; -pub const SUBLANG_ENGLISH_BELIZE: USHORT = 0x0a; -pub const SUBLANG_ENGLISH_TRINIDAD: USHORT = 0x0b; -pub const SUBLANG_ENGLISH_ZIMBABWE: USHORT = 0x0c; -pub const SUBLANG_ENGLISH_PHILIPPINES: USHORT = 0x0d; -pub const SUBLANG_ENGLISH_INDIA: USHORT = 0x10; -pub const SUBLANG_ENGLISH_MALAYSIA: USHORT = 0x11; -pub const SUBLANG_ENGLISH_SINGAPORE: USHORT = 0x12; -pub const SUBLANG_ESTONIAN_ESTONIA: USHORT = 0x01; -pub const SUBLANG_FAEROESE_FAROE_ISLANDS: USHORT = 0x01; -pub const SUBLANG_FILIPINO_PHILIPPINES: USHORT = 0x01; -pub const SUBLANG_FINNISH_FINLAND: USHORT = 0x01; -pub const SUBLANG_FRENCH: USHORT = 0x01; -pub const SUBLANG_FRENCH_BELGIAN: USHORT = 0x02; -pub const SUBLANG_FRENCH_CANADIAN: USHORT = 0x03; -pub const SUBLANG_FRENCH_SWISS: USHORT = 0x04; -pub const SUBLANG_FRENCH_LUXEMBOURG: USHORT = 0x05; -pub const SUBLANG_FRENCH_MONACO: USHORT = 0x06; -pub const SUBLANG_FRISIAN_NETHERLANDS: USHORT = 0x01; -pub const SUBLANG_FULAH_SENEGAL: USHORT = 0x02; -pub const SUBLANG_GALICIAN_GALICIAN: USHORT = 0x01; -pub const SUBLANG_GEORGIAN_GEORGIA: USHORT = 0x01; -pub const SUBLANG_GERMAN: USHORT = 0x01; -pub const SUBLANG_GERMAN_SWISS: USHORT = 0x02; -pub const SUBLANG_GERMAN_AUSTRIAN: USHORT = 0x03; -pub const SUBLANG_GERMAN_LUXEMBOURG: USHORT = 0x04; -pub const SUBLANG_GERMAN_LIECHTENSTEIN: USHORT = 0x05; -pub const SUBLANG_GREEK_GREECE: USHORT = 0x01; -pub const SUBLANG_GREENLANDIC_GREENLAND: USHORT = 0x01; -pub const SUBLANG_GUJARATI_INDIA: USHORT = 0x01; -pub const SUBLANG_HAUSA_NIGERIA_LATIN: USHORT = 0x01; -pub const SUBLANG_HAWAIIAN_US: USHORT = 0x01; -pub const SUBLANG_HEBREW_ISRAEL: USHORT = 0x01; -pub const SUBLANG_HINDI_INDIA: USHORT = 0x01; -pub const SUBLANG_HUNGARIAN_HUNGARY: USHORT = 0x01; -pub const SUBLANG_ICELANDIC_ICELAND: USHORT = 0x01; -pub const SUBLANG_IGBO_NIGERIA: USHORT = 0x01; -pub const SUBLANG_INDONESIAN_INDONESIA: USHORT = 0x01; -pub const SUBLANG_INUKTITUT_CANADA: USHORT = 0x01; -pub const SUBLANG_INUKTITUT_CANADA_LATIN: USHORT = 0x02; -pub const SUBLANG_IRISH_IRELAND: USHORT = 0x02; -pub const SUBLANG_ITALIAN: USHORT = 0x01; -pub const SUBLANG_ITALIAN_SWISS: USHORT = 0x02; -pub const SUBLANG_JAPANESE_JAPAN: USHORT = 0x01; -pub const SUBLANG_KANNADA_INDIA: USHORT = 0x01; -pub const SUBLANG_KASHMIRI_SASIA: USHORT = 0x02; -pub const SUBLANG_KASHMIRI_INDIA: USHORT = 0x02; -pub const SUBLANG_KAZAK_KAZAKHSTAN: USHORT = 0x01; -pub const SUBLANG_KHMER_CAMBODIA: USHORT = 0x01; -pub const SUBLANG_KICHE_GUATEMALA: USHORT = 0x01; -pub const SUBLANG_KINYARWANDA_RWANDA: USHORT = 0x01; -pub const SUBLANG_KONKANI_INDIA: USHORT = 0x01; -pub const SUBLANG_KOREAN: USHORT = 0x01; -pub const SUBLANG_KYRGYZ_KYRGYZSTAN: USHORT = 0x01; -pub const SUBLANG_LAO_LAO: USHORT = 0x01; -pub const SUBLANG_LATVIAN_LATVIA: USHORT = 0x01; -pub const SUBLANG_LITHUANIAN: USHORT = 0x01; -pub const SUBLANG_LOWER_SORBIAN_GERMANY: USHORT = 0x02; -pub const SUBLANG_LUXEMBOURGISH_LUXEMBOURG: USHORT = 0x01; -pub const SUBLANG_MACEDONIAN_MACEDONIA: USHORT = 0x01; -pub const SUBLANG_MALAY_MALAYSIA: USHORT = 0x01; -pub const SUBLANG_MALAY_BRUNEI_DARUSSALAM: USHORT = 0x02; -pub const SUBLANG_MALAYALAM_INDIA: USHORT = 0x01; -pub const SUBLANG_MALTESE_MALTA: USHORT = 0x01; -pub const SUBLANG_MAORI_NEW_ZEALAND: USHORT = 0x01; -pub const SUBLANG_MAPUDUNGUN_CHILE: USHORT = 0x01; -pub const SUBLANG_MARATHI_INDIA: USHORT = 0x01; -pub const SUBLANG_MOHAWK_MOHAWK: USHORT = 0x01; -pub const SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA: USHORT = 0x01; -pub const SUBLANG_MONGOLIAN_PRC: USHORT = 0x02; -pub const SUBLANG_NEPALI_INDIA: USHORT = 0x02; -pub const SUBLANG_NEPALI_NEPAL: USHORT = 0x01; -pub const SUBLANG_NORWEGIAN_BOKMAL: USHORT = 0x01; -pub const SUBLANG_NORWEGIAN_NYNORSK: USHORT = 0x02; -pub const SUBLANG_OCCITAN_FRANCE: USHORT = 0x01; -pub const SUBLANG_ODIA_INDIA: USHORT = 0x01; -pub const SUBLANG_ORIYA_INDIA: USHORT = 0x01; -pub const SUBLANG_PASHTO_AFGHANISTAN: USHORT = 0x01; -pub const SUBLANG_PERSIAN_IRAN: USHORT = 0x01; -pub const SUBLANG_POLISH_POLAND: USHORT = 0x01; -pub const SUBLANG_PORTUGUESE: USHORT = 0x02; -pub const SUBLANG_PORTUGUESE_BRAZILIAN: USHORT = 0x01; -pub const SUBLANG_PULAR_SENEGAL: USHORT = 0x02; -pub const SUBLANG_PUNJABI_INDIA: USHORT = 0x01; -pub const SUBLANG_PUNJABI_PAKISTAN: USHORT = 0x02; -pub const SUBLANG_QUECHUA_BOLIVIA: USHORT = 0x01; -pub const SUBLANG_QUECHUA_ECUADOR: USHORT = 0x02; -pub const SUBLANG_QUECHUA_PERU: USHORT = 0x03; -pub const SUBLANG_ROMANIAN_ROMANIA: USHORT = 0x01; -pub const SUBLANG_ROMANSH_SWITZERLAND: USHORT = 0x01; -pub const SUBLANG_RUSSIAN_RUSSIA: USHORT = 0x01; -pub const SUBLANG_SAKHA_RUSSIA: USHORT = 0x01; -pub const SUBLANG_SAMI_NORTHERN_NORWAY: USHORT = 0x01; -pub const SUBLANG_SAMI_NORTHERN_SWEDEN: USHORT = 0x02; -pub const SUBLANG_SAMI_NORTHERN_FINLAND: USHORT = 0x03; -pub const SUBLANG_SAMI_LULE_NORWAY: USHORT = 0x04; -pub const SUBLANG_SAMI_LULE_SWEDEN: USHORT = 0x05; -pub const SUBLANG_SAMI_SOUTHERN_NORWAY: USHORT = 0x06; -pub const SUBLANG_SAMI_SOUTHERN_SWEDEN: USHORT = 0x07; -pub const SUBLANG_SAMI_SKOLT_FINLAND: USHORT = 0x08; -pub const SUBLANG_SAMI_INARI_FINLAND: USHORT = 0x09; -pub const SUBLANG_SANSKRIT_INDIA: USHORT = 0x01; -pub const SUBLANG_SCOTTISH_GAELIC: USHORT = 0x01; -pub const SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN: USHORT = 0x06; -pub const SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC: USHORT = 0x07; -pub const SUBLANG_SERBIAN_MONTENEGRO_LATIN: USHORT = 0x0b; -pub const SUBLANG_SERBIAN_MONTENEGRO_CYRILLIC: USHORT = 0x0c; -pub const SUBLANG_SERBIAN_SERBIA_LATIN: USHORT = 0x09; -pub const SUBLANG_SERBIAN_SERBIA_CYRILLIC: USHORT = 0x0a; -pub const SUBLANG_SERBIAN_CROATIA: USHORT = 0x01; -pub const SUBLANG_SERBIAN_LATIN: USHORT = 0x02; -pub const SUBLANG_SERBIAN_CYRILLIC: USHORT = 0x03; -pub const SUBLANG_SINDHI_INDIA: USHORT = 0x01; -pub const SUBLANG_SINDHI_PAKISTAN: USHORT = 0x02; -pub const SUBLANG_SINDHI_AFGHANISTAN: USHORT = 0x02; -pub const SUBLANG_SINHALESE_SRI_LANKA: USHORT = 0x01; -pub const SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA: USHORT = 0x01; -pub const SUBLANG_SLOVAK_SLOVAKIA: USHORT = 0x01; -pub const SUBLANG_SLOVENIAN_SLOVENIA: USHORT = 0x01; -pub const SUBLANG_SPANISH: USHORT = 0x01; -pub const SUBLANG_SPANISH_MEXICAN: USHORT = 0x02; -pub const SUBLANG_SPANISH_MODERN: USHORT = 0x03; -pub const SUBLANG_SPANISH_GUATEMALA: USHORT = 0x04; -pub const SUBLANG_SPANISH_COSTA_RICA: USHORT = 0x05; -pub const SUBLANG_SPANISH_PANAMA: USHORT = 0x06; -pub const SUBLANG_SPANISH_DOMINICAN_REPUBLIC: USHORT = 0x07; -pub const SUBLANG_SPANISH_VENEZUELA: USHORT = 0x08; -pub const SUBLANG_SPANISH_COLOMBIA: USHORT = 0x09; -pub const SUBLANG_SPANISH_PERU: USHORT = 0x0a; -pub const SUBLANG_SPANISH_ARGENTINA: USHORT = 0x0b; -pub const SUBLANG_SPANISH_ECUADOR: USHORT = 0x0c; -pub const SUBLANG_SPANISH_CHILE: USHORT = 0x0d; -pub const SUBLANG_SPANISH_URUGUAY: USHORT = 0x0e; -pub const SUBLANG_SPANISH_PARAGUAY: USHORT = 0x0f; -pub const SUBLANG_SPANISH_BOLIVIA: USHORT = 0x10; -pub const SUBLANG_SPANISH_EL_SALVADOR: USHORT = 0x11; -pub const SUBLANG_SPANISH_HONDURAS: USHORT = 0x12; -pub const SUBLANG_SPANISH_NICARAGUA: USHORT = 0x13; -pub const SUBLANG_SPANISH_PUERTO_RICO: USHORT = 0x14; -pub const SUBLANG_SPANISH_US: USHORT = 0x15; -pub const SUBLANG_SWAHILI_KENYA: USHORT = 0x01; -pub const SUBLANG_SWEDISH: USHORT = 0x01; -pub const SUBLANG_SWEDISH_FINLAND: USHORT = 0x02; -pub const SUBLANG_SYRIAC_SYRIA: USHORT = 0x01; -pub const SUBLANG_TAJIK_TAJIKISTAN: USHORT = 0x01; -pub const SUBLANG_TAMAZIGHT_ALGERIA_LATIN: USHORT = 0x02; -pub const SUBLANG_TAMAZIGHT_MOROCCO_TIFINAGH: USHORT = 0x04; -pub const SUBLANG_TAMIL_INDIA: USHORT = 0x01; -pub const SUBLANG_TAMIL_SRI_LANKA: USHORT = 0x02; -pub const SUBLANG_TATAR_RUSSIA: USHORT = 0x01; -pub const SUBLANG_TELUGU_INDIA: USHORT = 0x01; -pub const SUBLANG_THAI_THAILAND: USHORT = 0x01; -pub const SUBLANG_TIBETAN_PRC: USHORT = 0x01; -pub const SUBLANG_TIGRIGNA_ERITREA: USHORT = 0x02; -pub const SUBLANG_TIGRINYA_ERITREA: USHORT = 0x02; -pub const SUBLANG_TIGRINYA_ETHIOPIA: USHORT = 0x01; -pub const SUBLANG_TSWANA_BOTSWANA: USHORT = 0x02; -pub const SUBLANG_TSWANA_SOUTH_AFRICA: USHORT = 0x01; -pub const SUBLANG_TURKISH_TURKEY: USHORT = 0x01; -pub const SUBLANG_TURKMEN_TURKMENISTAN: USHORT = 0x01; -pub const SUBLANG_UIGHUR_PRC: USHORT = 0x01; -pub const SUBLANG_UKRAINIAN_UKRAINE: USHORT = 0x01; -pub const SUBLANG_UPPER_SORBIAN_GERMANY: USHORT = 0x01; -pub const SUBLANG_URDU_PAKISTAN: USHORT = 0x01; -pub const SUBLANG_URDU_INDIA: USHORT = 0x02; -pub const SUBLANG_UZBEK_LATIN: USHORT = 0x01; -pub const SUBLANG_UZBEK_CYRILLIC: USHORT = 0x02; -pub const SUBLANG_VALENCIAN_VALENCIA: USHORT = 0x02; -pub const SUBLANG_VIETNAMESE_VIETNAM: USHORT = 0x01; -pub const SUBLANG_WELSH_UNITED_KINGDOM: USHORT = 0x01; -pub const SUBLANG_WOLOF_SENEGAL: USHORT = 0x01; -pub const SUBLANG_XHOSA_SOUTH_AFRICA: USHORT = 0x01; -pub const SUBLANG_YAKUT_RUSSIA: USHORT = 0x01; -pub const SUBLANG_YI_PRC: USHORT = 0x01; -pub const SUBLANG_YORUBA_NIGERIA: USHORT = 0x01; -pub const SUBLANG_ZULU_SOUTH_AFRICA: USHORT = 0x01; -pub const SORT_DEFAULT: USHORT = 0x0; -pub const SORT_INVARIANT_MATH: USHORT = 0x1; -pub const SORT_JAPANESE_XJIS: USHORT = 0x0; -pub const SORT_JAPANESE_UNICODE: USHORT = 0x1; -pub const SORT_JAPANESE_RADICALSTROKE: USHORT = 0x4; -pub const SORT_CHINESE_BIG5: USHORT = 0x0; -pub const SORT_CHINESE_PRCP: USHORT = 0x0; -pub const SORT_CHINESE_UNICODE: USHORT = 0x1; -pub const SORT_CHINESE_PRC: USHORT = 0x2; -pub const SORT_CHINESE_BOPOMOFO: USHORT = 0x3; -pub const SORT_CHINESE_RADICALSTROKE: USHORT = 0x4; -pub const SORT_KOREAN_KSC: USHORT = 0x0; -pub const SORT_KOREAN_UNICODE: USHORT = 0x1; -pub const SORT_GERMAN_PHONE_BOOK: USHORT = 0x1; -pub const SORT_HUNGARIAN_DEFAULT: USHORT = 0x0; -pub const SORT_HUNGARIAN_TECHNICAL: USHORT = 0x1; -pub const SORT_GEORGIAN_TRADITIONAL: USHORT = 0x0; -pub const SORT_GEORGIAN_MODERN: USHORT = 0x1; -macro_rules! MAKELANGID { - ($p:expr, $s:expr) => { - (($s as USHORT) << 10) | ($p as USHORT) - } -} -#[inline] -pub fn MAKELANGID(p: USHORT, s: USHORT) -> LANGID { (s << 10) | p } -#[inline] -pub fn PRIMARYLANGID(lgid: LANGID) -> USHORT { lgid & 0x3ff } -#[inline] -pub fn SUBLANGID(lgid: LANGID) -> USHORT { lgid >> 10 } -pub const NLS_VALID_LOCALE_MASK: ULONG = 0x000fffff; -macro_rules! MAKELCID { - ($lgid:expr, $srtid:expr) => { - (($srtid as ULONG) << 16) | ($lgid as ULONG) - } -} -#[inline] -pub fn MAKELCID(lgid: LANGID, srtid: USHORT) -> LCID { - ((srtid as ULONG) << 16) | (lgid as ULONG) -} -#[inline] -pub fn MAKESORTLCID(lgid: LANGID, srtid: USHORT, ver: USHORT) -> LCID { - MAKELCID(lgid, srtid) | ((ver as ULONG) << 20) -} -#[inline] -pub fn LANGIDFROMLCID(lcid: LCID) -> LANGID { lcid as LANGID } -#[inline] -pub fn SORTIDFROMLCID(lcid: LCID) -> USHORT { ((lcid >> 16) & 0xf) as USHORT } -#[inline] -pub fn SORTVERSIONFROMLCID(lcid: LCID) -> USHORT { ((lcid >> 16) & 0xf) as USHORT } -pub const LOCALE_NAME_MAX_LENGTH: usize = 85; -pub const LANG_SYSTEM_DEFAULT: LANGID = MAKELANGID!(LANG_NEUTRAL, SUBLANG_SYS_DEFAULT); -pub const LANG_USER_DEFAULT: LANGID = MAKELANGID!(LANG_NEUTRAL, SUBLANG_DEFAULT); -pub const LOCALE_SYSTEM_DEFAULT: LCID = MAKELCID!(LANG_SYSTEM_DEFAULT, SORT_DEFAULT); -pub const LOCALE_USER_DEFAULT: LCID = MAKELCID!(LANG_USER_DEFAULT, SORT_DEFAULT); -pub const LOCALE_CUSTOM_DEFAULT: LCID - = MAKELCID!(MAKELANGID!(LANG_NEUTRAL, SUBLANG_CUSTOM_DEFAULT), SORT_DEFAULT); -pub const LOCALE_CUSTOM_UNSPECIFIED: LCID - = MAKELCID!(MAKELANGID!(LANG_NEUTRAL, SUBLANG_CUSTOM_UNSPECIFIED), SORT_DEFAULT); -pub const LOCALE_CUSTOM_UI_DEFAULT: LCID - = MAKELCID!(MAKELANGID!(LANG_NEUTRAL, SUBLANG_UI_CUSTOM_DEFAULT), SORT_DEFAULT); -pub const LOCALE_NEUTRAL: LCID - = MAKELCID!(MAKELANGID!(LANG_NEUTRAL, SUBLANG_NEUTRAL), SORT_DEFAULT); -pub const LOCALE_INVARIANT: LCID - = MAKELCID!(MAKELANGID!(LANG_INVARIANT, SUBLANG_NEUTRAL), SORT_DEFAULT); -pub const LOCALE_TRANSIENT_KEYBOARD1: LCID = 0x2000; -pub const LOCALE_TRANSIENT_KEYBOARD2: LCID = 0x2400; -pub const LOCALE_TRANSIENT_KEYBOARD3: LCID = 0x2800; -pub const LOCALE_TRANSIENT_KEYBOARD4: LCID = 0x2c00; -pub const LOCALE_UNASSIGNED_LCID: LCID = LOCALE_CUSTOM_UNSPECIFIED; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/ntstatus.rs b/vendor/registry-40351f815f426200/winapi/src/shared/ntstatus.rs deleted file mode 100644 index c369c22fc..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/ntstatus.rs +++ /dev/null @@ -1,2574 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Constant definitions for the NTSTATUS values. -use shared::ntdef::NTSTATUS; -pub const STATUS_WAIT_0: NTSTATUS = 0x00000000; -pub const FACILITY_VSM: NTSTATUS = 0x45; -pub const FACILITY_VOLSNAP: NTSTATUS = 0x50; -pub const FACILITY_VOLMGR: NTSTATUS = 0x38; -pub const FACILITY_VIRTUALIZATION: NTSTATUS = 0x37; -pub const FACILITY_VIDEO: NTSTATUS = 0x1B; -pub const FACILITY_USB_ERROR_CODE: NTSTATUS = 0x10; -pub const FACILITY_TRANSACTION: NTSTATUS = 0x19; -pub const FACILITY_TPM: NTSTATUS = 0x29; -pub const FACILITY_TERMINAL_SERVER: NTSTATUS = 0xA; -pub const FACILITY_SXS_ERROR_CODE: NTSTATUS = 0x15; -pub const FACILITY_NTSSPI: NTSTATUS = 0x9; -pub const FACILITY_SPACES: NTSTATUS = 0xE7; -pub const FACILITY_SMB: NTSTATUS = 0x5D; -pub const FACILITY_SYSTEM_INTEGRITY: NTSTATUS = 0xE9; -pub const FACILITY_SHARED_VHDX: NTSTATUS = 0x5C; -pub const FACILITY_SECUREBOOT: NTSTATUS = 0x43; -pub const FACILITY_SECURITY_CORE: NTSTATUS = 0xE8; -pub const FACILITY_SDBUS: NTSTATUS = 0x51; -pub const FACILITY_RTPM: NTSTATUS = 0x2A; -pub const FACILITY_RPC_STUBS: NTSTATUS = 0x3; -pub const FACILITY_RPC_RUNTIME: NTSTATUS = 0x2; -pub const FACILITY_RESUME_KEY_FILTER: NTSTATUS = 0x40; -pub const FACILITY_RDBSS: NTSTATUS = 0x41; -pub const FACILITY_PLATFORM_MANIFEST: NTSTATUS = 0xEB; -pub const FACILITY_NTWIN32: NTSTATUS = 0x7; -pub const FACILITY_WIN32K_NTUSER: NTSTATUS = 0x3E; -pub const FACILITY_WIN32K_NTGDI: NTSTATUS = 0x3F; -pub const FACILITY_NDIS_ERROR_CODE: NTSTATUS = 0x23; -pub const FACILTIY_MUI_ERROR_CODE: NTSTATUS = 0xB; -pub const FACILITY_MONITOR: NTSTATUS = 0x1D; -pub const FACILITY_MAXIMUM_VALUE: NTSTATUS = 0xEC; -pub const FACILITY_LICENSING: NTSTATUS = 0xEA; -pub const FACILITY_IPSEC: NTSTATUS = 0x36; -pub const FACILITY_IO_ERROR_CODE: NTSTATUS = 0x4; -pub const FACILITY_INTERIX: NTSTATUS = 0x99; -pub const FACILITY_HYPERVISOR: NTSTATUS = 0x35; -pub const FACILITY_HID_ERROR_CODE: NTSTATUS = 0x11; -pub const FACILITY_GRAPHICS_KERNEL: NTSTATUS = 0x1E; -pub const FACILITY_FWP_ERROR_CODE: NTSTATUS = 0x22; -pub const FACILITY_FVE_ERROR_CODE: NTSTATUS = 0x21; -pub const FACILITY_FIREWIRE_ERROR_CODE: NTSTATUS = 0x12; -pub const FACILITY_FILTER_MANAGER: NTSTATUS = 0x1C; -pub const FACILITY_DRIVER_FRAMEWORK: NTSTATUS = 0x20; -pub const FACILITY_DEBUGGER: NTSTATUS = 0x1; -pub const FACILITY_COMMONLOG: NTSTATUS = 0x1A; -pub const FACILITY_CODCLASS_ERROR_CODE: NTSTATUS = 0x6; -pub const FACILITY_CLUSTER_ERROR_CODE: NTSTATUS = 0x13; -pub const FACILITY_NTCERT: NTSTATUS = 0x8; -pub const FACILITY_BTH_ATT: NTSTATUS = 0x42; -pub const FACILITY_BCD_ERROR_CODE: NTSTATUS = 0x39; -pub const FACILITY_AUDIO_KERNEL: NTSTATUS = 0x44; -pub const FACILITY_ACPI_ERROR_CODE: NTSTATUS = 0x14; -pub const STATUS_SEVERITY_WARNING: NTSTATUS = 0x2; -pub const STATUS_SEVERITY_SUCCESS: NTSTATUS = 0x0; -pub const STATUS_SEVERITY_INFORMATIONAL: NTSTATUS = 0x1; -pub const STATUS_SEVERITY_ERROR: NTSTATUS = 0x3; -pub const STATUS_SUCCESS: NTSTATUS = 0x00000000; -pub const STATUS_WAIT_1: NTSTATUS = 0x00000001; -pub const STATUS_WAIT_2: NTSTATUS = 0x00000002; -pub const STATUS_WAIT_3: NTSTATUS = 0x00000003; -pub const STATUS_WAIT_63: NTSTATUS = 0x0000003F; -pub const STATUS_ABANDONED: NTSTATUS = 0x00000080; -pub const STATUS_ABANDONED_WAIT_0: NTSTATUS = 0x00000080; -pub const STATUS_ABANDONED_WAIT_63: NTSTATUS = 0x000000BF; -pub const STATUS_USER_APC: NTSTATUS = 0x000000C0; -pub const STATUS_ALREADY_COMPLETE: NTSTATUS = 0x000000FF; -pub const STATUS_KERNEL_APC: NTSTATUS = 0x00000100; -pub const STATUS_ALERTED: NTSTATUS = 0x00000101; -pub const STATUS_TIMEOUT: NTSTATUS = 0x00000102; -pub const STATUS_PENDING: NTSTATUS = 0x00000103; -pub const STATUS_REPARSE: NTSTATUS = 0x00000104; -pub const STATUS_MORE_ENTRIES: NTSTATUS = 0x00000105; -pub const STATUS_NOT_ALL_ASSIGNED: NTSTATUS = 0x00000106; -pub const STATUS_SOME_NOT_MAPPED: NTSTATUS = 0x00000107; -pub const STATUS_OPLOCK_BREAK_IN_PROGRESS: NTSTATUS = 0x00000108; -pub const STATUS_VOLUME_MOUNTED: NTSTATUS = 0x00000109; -pub const STATUS_RXACT_COMMITTED: NTSTATUS = 0x0000010A; -pub const STATUS_NOTIFY_CLEANUP: NTSTATUS = 0x0000010B; -pub const STATUS_NOTIFY_ENUM_DIR: NTSTATUS = 0x0000010C; -pub const STATUS_NO_QUOTAS_FOR_ACCOUNT: NTSTATUS = 0x0000010D; -pub const STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED: NTSTATUS = 0x0000010E; -pub const STATUS_PAGE_FAULT_TRANSITION: NTSTATUS = 0x00000110; -pub const STATUS_PAGE_FAULT_DEMAND_ZERO: NTSTATUS = 0x00000111; -pub const STATUS_PAGE_FAULT_COPY_ON_WRITE: NTSTATUS = 0x00000112; -pub const STATUS_PAGE_FAULT_GUARD_PAGE: NTSTATUS = 0x00000113; -pub const STATUS_PAGE_FAULT_PAGING_FILE: NTSTATUS = 0x00000114; -pub const STATUS_CACHE_PAGE_LOCKED: NTSTATUS = 0x00000115; -pub const STATUS_CRASH_DUMP: NTSTATUS = 0x00000116; -pub const STATUS_BUFFER_ALL_ZEROS: NTSTATUS = 0x00000117; -pub const STATUS_REPARSE_OBJECT: NTSTATUS = 0x00000118; -pub const STATUS_RESOURCE_REQUIREMENTS_CHANGED: NTSTATUS = 0x00000119; -pub const STATUS_TRANSLATION_COMPLETE: NTSTATUS = 0x00000120; -pub const STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY: NTSTATUS = 0x00000121; -pub const STATUS_NOTHING_TO_TERMINATE: NTSTATUS = 0x00000122; -pub const STATUS_PROCESS_NOT_IN_JOB: NTSTATUS = 0x00000123; -pub const STATUS_PROCESS_IN_JOB: NTSTATUS = 0x00000124; -pub const STATUS_VOLSNAP_HIBERNATE_READY: NTSTATUS = 0x00000125; -pub const STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY: NTSTATUS = 0x00000126; -pub const STATUS_INTERRUPT_VECTOR_ALREADY_CONNECTED: NTSTATUS = 0x00000127; -pub const STATUS_INTERRUPT_STILL_CONNECTED: NTSTATUS = 0x00000128; -pub const STATUS_PROCESS_CLONED: NTSTATUS = 0x00000129; -pub const STATUS_FILE_LOCKED_WITH_ONLY_READERS: NTSTATUS = 0x0000012A; -pub const STATUS_FILE_LOCKED_WITH_WRITERS: NTSTATUS = 0x0000012B; -pub const STATUS_VALID_IMAGE_HASH: NTSTATUS = 0x0000012C; -pub const STATUS_VALID_CATALOG_HASH: NTSTATUS = 0x0000012D; -pub const STATUS_VALID_STRONG_CODE_HASH: NTSTATUS = 0x0000012E; -pub const STATUS_GHOSTED: NTSTATUS = 0x0000012F; -pub const STATUS_RESOURCEMANAGER_READ_ONLY: NTSTATUS = 0x00000202; -pub const STATUS_RING_PREVIOUSLY_EMPTY: NTSTATUS = 0x00000210; -pub const STATUS_RING_PREVIOUSLY_FULL: NTSTATUS = 0x00000211; -pub const STATUS_RING_PREVIOUSLY_ABOVE_QUOTA: NTSTATUS = 0x00000212; -pub const STATUS_RING_NEWLY_EMPTY: NTSTATUS = 0x00000213; -pub const STATUS_RING_SIGNAL_OPPOSITE_ENDPOINT: NTSTATUS = 0x00000214; -pub const STATUS_OPLOCK_SWITCHED_TO_NEW_HANDLE: NTSTATUS = 0x00000215; -pub const STATUS_OPLOCK_HANDLE_CLOSED: NTSTATUS = 0x00000216; -pub const STATUS_WAIT_FOR_OPLOCK: NTSTATUS = 0x00000367; -pub const STATUS_REPARSE_GLOBAL: NTSTATUS = 0x00000368; -pub const DBG_EXCEPTION_HANDLED: NTSTATUS = 0x00010001; -pub const DBG_CONTINUE: NTSTATUS = 0x00010002; -pub const STATUS_FLT_IO_COMPLETE: NTSTATUS = 0x001C0001; -pub const STATUS_OBJECT_NAME_EXISTS: NTSTATUS = 0x40000000; -pub const STATUS_THREAD_WAS_SUSPENDED: NTSTATUS = 0x40000001; -pub const STATUS_WORKING_SET_LIMIT_RANGE: NTSTATUS = 0x40000002; -pub const STATUS_IMAGE_NOT_AT_BASE: NTSTATUS = 0x40000003; -pub const STATUS_RXACT_STATE_CREATED: NTSTATUS = 0x40000004; -pub const STATUS_SEGMENT_NOTIFICATION: NTSTATUS = 0x40000005; -pub const STATUS_LOCAL_USER_SESSION_KEY: NTSTATUS = 0x40000006; -pub const STATUS_BAD_CURRENT_DIRECTORY: NTSTATUS = 0x40000007; -pub const STATUS_SERIAL_MORE_WRITES: NTSTATUS = 0x40000008; -pub const STATUS_REGISTRY_RECOVERED: NTSTATUS = 0x40000009; -pub const STATUS_FT_READ_RECOVERY_FROM_BACKUP: NTSTATUS = 0x4000000A; -pub const STATUS_FT_WRITE_RECOVERY: NTSTATUS = 0x4000000B; -pub const STATUS_SERIAL_COUNTER_TIMEOUT: NTSTATUS = 0x4000000C; -pub const STATUS_NULL_LM_PASSWORD: NTSTATUS = 0x4000000D; -pub const STATUS_IMAGE_MACHINE_TYPE_MISMATCH: NTSTATUS = 0x4000000E; -pub const STATUS_RECEIVE_PARTIAL: NTSTATUS = 0x4000000F; -pub const STATUS_RECEIVE_EXPEDITED: NTSTATUS = 0x40000010; -pub const STATUS_RECEIVE_PARTIAL_EXPEDITED: NTSTATUS = 0x40000011; -pub const STATUS_EVENT_DONE: NTSTATUS = 0x40000012; -pub const STATUS_EVENT_PENDING: NTSTATUS = 0x40000013; -pub const STATUS_CHECKING_FILE_SYSTEM: NTSTATUS = 0x40000014; -pub const STATUS_FATAL_APP_EXIT: NTSTATUS = 0x40000015; -pub const STATUS_PREDEFINED_HANDLE: NTSTATUS = 0x40000016; -pub const STATUS_WAS_UNLOCKED: NTSTATUS = 0x40000017; -pub const STATUS_SERVICE_NOTIFICATION: NTSTATUS = 0x40000018; -pub const STATUS_WAS_LOCKED: NTSTATUS = 0x40000019; -pub const STATUS_LOG_HARD_ERROR: NTSTATUS = 0x4000001A; -pub const STATUS_ALREADY_WIN32: NTSTATUS = 0x4000001B; -pub const STATUS_WX86_UNSIMULATE: NTSTATUS = 0x4000001C; -pub const STATUS_WX86_CONTINUE: NTSTATUS = 0x4000001D; -pub const STATUS_WX86_SINGLE_STEP: NTSTATUS = 0x4000001E; -pub const STATUS_WX86_BREAKPOINT: NTSTATUS = 0x4000001F; -pub const STATUS_WX86_EXCEPTION_CONTINUE: NTSTATUS = 0x40000020; -pub const STATUS_WX86_EXCEPTION_LASTCHANCE: NTSTATUS = 0x40000021; -pub const STATUS_WX86_EXCEPTION_CHAIN: NTSTATUS = 0x40000022; -pub const STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE: NTSTATUS = 0x40000023; -pub const STATUS_NO_YIELD_PERFORMED: NTSTATUS = 0x40000024; -pub const STATUS_TIMER_RESUME_IGNORED: NTSTATUS = 0x40000025; -pub const STATUS_ARBITRATION_UNHANDLED: NTSTATUS = 0x40000026; -pub const STATUS_CARDBUS_NOT_SUPPORTED: NTSTATUS = 0x40000027; -pub const STATUS_WX86_CREATEWX86TIB: NTSTATUS = 0x40000028; -pub const STATUS_MP_PROCESSOR_MISMATCH: NTSTATUS = 0x40000029; -pub const STATUS_HIBERNATED: NTSTATUS = 0x4000002A; -pub const STATUS_RESUME_HIBERNATION: NTSTATUS = 0x4000002B; -pub const STATUS_FIRMWARE_UPDATED: NTSTATUS = 0x4000002C; -pub const STATUS_DRIVERS_LEAKING_LOCKED_PAGES: NTSTATUS = 0x4000002D; -pub const STATUS_MESSAGE_RETRIEVED: NTSTATUS = 0x4000002E; -pub const STATUS_SYSTEM_POWERSTATE_TRANSITION: NTSTATUS = 0x4000002F; -pub const STATUS_ALPC_CHECK_COMPLETION_LIST: NTSTATUS = 0x40000030; -pub const STATUS_SYSTEM_POWERSTATE_COMPLEX_TRANSITION: NTSTATUS = 0x40000031; -pub const STATUS_ACCESS_AUDIT_BY_POLICY: NTSTATUS = 0x40000032; -pub const STATUS_ABANDON_HIBERFILE: NTSTATUS = 0x40000033; -pub const STATUS_BIZRULES_NOT_ENABLED: NTSTATUS = 0x40000034; -pub const STATUS_FT_READ_FROM_COPY: NTSTATUS = 0x40000035; -pub const STATUS_IMAGE_AT_DIFFERENT_BASE: NTSTATUS = 0x40000036; -pub const DBG_REPLY_LATER: NTSTATUS = 0x40010001; -pub const DBG_UNABLE_TO_PROVIDE_HANDLE: NTSTATUS = 0x40010002; -pub const DBG_TERMINATE_THREAD: NTSTATUS = 0x40010003; -pub const DBG_TERMINATE_PROCESS: NTSTATUS = 0x40010004; -pub const DBG_CONTROL_C: NTSTATUS = 0x40010005; -pub const DBG_PRINTEXCEPTION_C: NTSTATUS = 0x40010006; -pub const DBG_RIPEXCEPTION: NTSTATUS = 0x40010007; -pub const DBG_CONTROL_BREAK: NTSTATUS = 0x40010008; -pub const DBG_COMMAND_EXCEPTION: NTSTATUS = 0x40010009; -pub const DBG_PRINTEXCEPTION_WIDE_C: NTSTATUS = 0x4001000A; -pub const STATUS_HEURISTIC_DAMAGE_POSSIBLE: NTSTATUS = 0x40190001; -pub const STATUS_GUARD_PAGE_VIOLATION: NTSTATUS = 0x80000001; -pub const STATUS_DATATYPE_MISALIGNMENT: NTSTATUS = 0x80000002; -pub const STATUS_BREAKPOINT: NTSTATUS = 0x80000003; -pub const STATUS_SINGLE_STEP: NTSTATUS = 0x80000004; -pub const STATUS_BUFFER_OVERFLOW: NTSTATUS = 0x80000005; -pub const STATUS_NO_MORE_FILES: NTSTATUS = 0x80000006; -pub const STATUS_WAKE_SYSTEM_DEBUGGER: NTSTATUS = 0x80000007; -pub const STATUS_HANDLES_CLOSED: NTSTATUS = 0x8000000A; -pub const STATUS_NO_INHERITANCE: NTSTATUS = 0x8000000B; -pub const STATUS_GUID_SUBSTITUTION_MADE: NTSTATUS = 0x8000000C; -pub const STATUS_PARTIAL_COPY: NTSTATUS = 0x8000000D; -pub const STATUS_DEVICE_PAPER_EMPTY: NTSTATUS = 0x8000000E; -pub const STATUS_DEVICE_POWERED_OFF: NTSTATUS = 0x8000000F; -pub const STATUS_DEVICE_OFF_LINE: NTSTATUS = 0x80000010; -pub const STATUS_DEVICE_BUSY: NTSTATUS = 0x80000011; -pub const STATUS_NO_MORE_EAS: NTSTATUS = 0x80000012; -pub const STATUS_INVALID_EA_NAME: NTSTATUS = 0x80000013; -pub const STATUS_EA_LIST_INCONSISTENT: NTSTATUS = 0x80000014; -pub const STATUS_INVALID_EA_FLAG: NTSTATUS = 0x80000015; -pub const STATUS_VERIFY_REQUIRED: NTSTATUS = 0x80000016; -pub const STATUS_EXTRANEOUS_INFORMATION: NTSTATUS = 0x80000017; -pub const STATUS_RXACT_COMMIT_NECESSARY: NTSTATUS = 0x80000018; -pub const STATUS_NO_MORE_ENTRIES: NTSTATUS = 0x8000001A; -pub const STATUS_FILEMARK_DETECTED: NTSTATUS = 0x8000001B; -pub const STATUS_MEDIA_CHANGED: NTSTATUS = 0x8000001C; -pub const STATUS_BUS_RESET: NTSTATUS = 0x8000001D; -pub const STATUS_END_OF_MEDIA: NTSTATUS = 0x8000001E; -pub const STATUS_BEGINNING_OF_MEDIA: NTSTATUS = 0x8000001F; -pub const STATUS_MEDIA_CHECK: NTSTATUS = 0x80000020; -pub const STATUS_SETMARK_DETECTED: NTSTATUS = 0x80000021; -pub const STATUS_NO_DATA_DETECTED: NTSTATUS = 0x80000022; -pub const STATUS_REDIRECTOR_HAS_OPEN_HANDLES: NTSTATUS = 0x80000023; -pub const STATUS_SERVER_HAS_OPEN_HANDLES: NTSTATUS = 0x80000024; -pub const STATUS_ALREADY_DISCONNECTED: NTSTATUS = 0x80000025; -pub const STATUS_LONGJUMP: NTSTATUS = 0x80000026; -pub const STATUS_CLEANER_CARTRIDGE_INSTALLED: NTSTATUS = 0x80000027; -pub const STATUS_PLUGPLAY_QUERY_VETOED: NTSTATUS = 0x80000028; -pub const STATUS_UNWIND_CONSOLIDATE: NTSTATUS = 0x80000029; -pub const STATUS_REGISTRY_HIVE_RECOVERED: NTSTATUS = 0x8000002A; -pub const STATUS_DLL_MIGHT_BE_INSECURE: NTSTATUS = 0x8000002B; -pub const STATUS_DLL_MIGHT_BE_INCOMPATIBLE: NTSTATUS = 0x8000002C; -pub const STATUS_STOPPED_ON_SYMLINK: NTSTATUS = 0x8000002D; -pub const STATUS_CANNOT_GRANT_REQUESTED_OPLOCK: NTSTATUS = 0x8000002E; -pub const STATUS_NO_ACE_CONDITION: NTSTATUS = 0x8000002F; -pub const STATUS_DEVICE_SUPPORT_IN_PROGRESS: NTSTATUS = 0x80000030; -pub const STATUS_DEVICE_POWER_CYCLE_REQUIRED: NTSTATUS = 0x80000031; -pub const STATUS_NO_WORK_DONE: NTSTATUS = 0x80000032; -pub const DBG_EXCEPTION_NOT_HANDLED: NTSTATUS = 0x80010001; -pub const STATUS_CLUSTER_NODE_ALREADY_UP: NTSTATUS = 0x80130001; -pub const STATUS_CLUSTER_NODE_ALREADY_DOWN: NTSTATUS = 0x80130002; -pub const STATUS_CLUSTER_NETWORK_ALREADY_ONLINE: NTSTATUS = 0x80130003; -pub const STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE: NTSTATUS = 0x80130004; -pub const STATUS_CLUSTER_NODE_ALREADY_MEMBER: NTSTATUS = 0x80130005; -pub const STATUS_FLT_BUFFER_TOO_SMALL: NTSTATUS = 0x801C0001; -pub const STATUS_FVE_PARTIAL_METADATA: NTSTATUS = 0x80210001; -pub const STATUS_FVE_TRANSIENT_STATE: NTSTATUS = 0x80210002; -pub const STATUS_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH: NTSTATUS = 0x8000CF00; -pub const STATUS_UNSUCCESSFUL: NTSTATUS = 0xC0000001; -pub const STATUS_NOT_IMPLEMENTED: NTSTATUS = 0xC0000002; -pub const STATUS_INVALID_INFO_CLASS: NTSTATUS = 0xC0000003; -pub const STATUS_INFO_LENGTH_MISMATCH: NTSTATUS = 0xC0000004; -pub const STATUS_ACCESS_VIOLATION: NTSTATUS = 0xC0000005; -pub const STATUS_IN_PAGE_ERROR: NTSTATUS = 0xC0000006; -pub const STATUS_PAGEFILE_QUOTA: NTSTATUS = 0xC0000007; -pub const STATUS_INVALID_HANDLE: NTSTATUS = 0xC0000008; -pub const STATUS_BAD_INITIAL_STACK: NTSTATUS = 0xC0000009; -pub const STATUS_BAD_INITIAL_PC: NTSTATUS = 0xC000000A; -pub const STATUS_INVALID_CID: NTSTATUS = 0xC000000B; -pub const STATUS_TIMER_NOT_CANCELED: NTSTATUS = 0xC000000C; -pub const STATUS_INVALID_PARAMETER: NTSTATUS = 0xC000000D; -pub const STATUS_NO_SUCH_DEVICE: NTSTATUS = 0xC000000E; -pub const STATUS_NO_SUCH_FILE: NTSTATUS = 0xC000000F; -pub const STATUS_INVALID_DEVICE_REQUEST: NTSTATUS = 0xC0000010; -pub const STATUS_END_OF_FILE: NTSTATUS = 0xC0000011; -pub const STATUS_WRONG_VOLUME: NTSTATUS = 0xC0000012; -pub const STATUS_NO_MEDIA_IN_DEVICE: NTSTATUS = 0xC0000013; -pub const STATUS_UNRECOGNIZED_MEDIA: NTSTATUS = 0xC0000014; -pub const STATUS_NONEXISTENT_SECTOR: NTSTATUS = 0xC0000015; -pub const STATUS_MORE_PROCESSING_REQUIRED: NTSTATUS = 0xC0000016; -pub const STATUS_NO_MEMORY: NTSTATUS = 0xC0000017; -pub const STATUS_CONFLICTING_ADDRESSES: NTSTATUS = 0xC0000018; -pub const STATUS_NOT_MAPPED_VIEW: NTSTATUS = 0xC0000019; -pub const STATUS_UNABLE_TO_FREE_VM: NTSTATUS = 0xC000001A; -pub const STATUS_UNABLE_TO_DELETE_SECTION: NTSTATUS = 0xC000001B; -pub const STATUS_INVALID_SYSTEM_SERVICE: NTSTATUS = 0xC000001C; -pub const STATUS_ILLEGAL_INSTRUCTION: NTSTATUS = 0xC000001D; -pub const STATUS_INVALID_LOCK_SEQUENCE: NTSTATUS = 0xC000001E; -pub const STATUS_INVALID_VIEW_SIZE: NTSTATUS = 0xC000001F; -pub const STATUS_INVALID_FILE_FOR_SECTION: NTSTATUS = 0xC0000020; -pub const STATUS_ALREADY_COMMITTED: NTSTATUS = 0xC0000021; -pub const STATUS_ACCESS_DENIED: NTSTATUS = 0xC0000022; -pub const STATUS_BUFFER_TOO_SMALL: NTSTATUS = 0xC0000023; -pub const STATUS_OBJECT_TYPE_MISMATCH: NTSTATUS = 0xC0000024; -pub const STATUS_NONCONTINUABLE_EXCEPTION: NTSTATUS = 0xC0000025; -pub const STATUS_INVALID_DISPOSITION: NTSTATUS = 0xC0000026; -pub const STATUS_UNWIND: NTSTATUS = 0xC0000027; -pub const STATUS_BAD_STACK: NTSTATUS = 0xC0000028; -pub const STATUS_INVALID_UNWIND_TARGET: NTSTATUS = 0xC0000029; -pub const STATUS_NOT_LOCKED: NTSTATUS = 0xC000002A; -pub const STATUS_PARITY_ERROR: NTSTATUS = 0xC000002B; -pub const STATUS_UNABLE_TO_DECOMMIT_VM: NTSTATUS = 0xC000002C; -pub const STATUS_NOT_COMMITTED: NTSTATUS = 0xC000002D; -pub const STATUS_INVALID_PORT_ATTRIBUTES: NTSTATUS = 0xC000002E; -pub const STATUS_PORT_MESSAGE_TOO_LONG: NTSTATUS = 0xC000002F; -pub const STATUS_INVALID_PARAMETER_MIX: NTSTATUS = 0xC0000030; -pub const STATUS_INVALID_QUOTA_LOWER: NTSTATUS = 0xC0000031; -pub const STATUS_DISK_CORRUPT_ERROR: NTSTATUS = 0xC0000032; -pub const STATUS_OBJECT_NAME_INVALID: NTSTATUS = 0xC0000033; -pub const STATUS_OBJECT_NAME_NOT_FOUND: NTSTATUS = 0xC0000034; -pub const STATUS_OBJECT_NAME_COLLISION: NTSTATUS = 0xC0000035; -pub const STATUS_PORT_DO_NOT_DISTURB: NTSTATUS = 0xC0000036; -pub const STATUS_PORT_DISCONNECTED: NTSTATUS = 0xC0000037; -pub const STATUS_DEVICE_ALREADY_ATTACHED: NTSTATUS = 0xC0000038; -pub const STATUS_OBJECT_PATH_INVALID: NTSTATUS = 0xC0000039; -pub const STATUS_OBJECT_PATH_NOT_FOUND: NTSTATUS = 0xC000003A; -pub const STATUS_OBJECT_PATH_SYNTAX_BAD: NTSTATUS = 0xC000003B; -pub const STATUS_DATA_OVERRUN: NTSTATUS = 0xC000003C; -pub const STATUS_DATA_LATE_ERROR: NTSTATUS = 0xC000003D; -pub const STATUS_DATA_ERROR: NTSTATUS = 0xC000003E; -pub const STATUS_CRC_ERROR: NTSTATUS = 0xC000003F; -pub const STATUS_SECTION_TOO_BIG: NTSTATUS = 0xC0000040; -pub const STATUS_PORT_CONNECTION_REFUSED: NTSTATUS = 0xC0000041; -pub const STATUS_INVALID_PORT_HANDLE: NTSTATUS = 0xC0000042; -pub const STATUS_SHARING_VIOLATION: NTSTATUS = 0xC0000043; -pub const STATUS_QUOTA_EXCEEDED: NTSTATUS = 0xC0000044; -pub const STATUS_INVALID_PAGE_PROTECTION: NTSTATUS = 0xC0000045; -pub const STATUS_MUTANT_NOT_OWNED: NTSTATUS = 0xC0000046; -pub const STATUS_SEMAPHORE_LIMIT_EXCEEDED: NTSTATUS = 0xC0000047; -pub const STATUS_PORT_ALREADY_SET: NTSTATUS = 0xC0000048; -pub const STATUS_SECTION_NOT_IMAGE: NTSTATUS = 0xC0000049; -pub const STATUS_SUSPEND_COUNT_EXCEEDED: NTSTATUS = 0xC000004A; -pub const STATUS_THREAD_IS_TERMINATING: NTSTATUS = 0xC000004B; -pub const STATUS_BAD_WORKING_SET_LIMIT: NTSTATUS = 0xC000004C; -pub const STATUS_INCOMPATIBLE_FILE_MAP: NTSTATUS = 0xC000004D; -pub const STATUS_SECTION_PROTECTION: NTSTATUS = 0xC000004E; -pub const STATUS_EAS_NOT_SUPPORTED: NTSTATUS = 0xC000004F; -pub const STATUS_EA_TOO_LARGE: NTSTATUS = 0xC0000050; -pub const STATUS_NONEXISTENT_EA_ENTRY: NTSTATUS = 0xC0000051; -pub const STATUS_NO_EAS_ON_FILE: NTSTATUS = 0xC0000052; -pub const STATUS_EA_CORRUPT_ERROR: NTSTATUS = 0xC0000053; -pub const STATUS_FILE_LOCK_CONFLICT: NTSTATUS = 0xC0000054; -pub const STATUS_LOCK_NOT_GRANTED: NTSTATUS = 0xC0000055; -pub const STATUS_DELETE_PENDING: NTSTATUS = 0xC0000056; -pub const STATUS_CTL_FILE_NOT_SUPPORTED: NTSTATUS = 0xC0000057; -pub const STATUS_UNKNOWN_REVISION: NTSTATUS = 0xC0000058; -pub const STATUS_REVISION_MISMATCH: NTSTATUS = 0xC0000059; -pub const STATUS_INVALID_OWNER: NTSTATUS = 0xC000005A; -pub const STATUS_INVALID_PRIMARY_GROUP: NTSTATUS = 0xC000005B; -pub const STATUS_NO_IMPERSONATION_TOKEN: NTSTATUS = 0xC000005C; -pub const STATUS_CANT_DISABLE_MANDATORY: NTSTATUS = 0xC000005D; -pub const STATUS_NO_LOGON_SERVERS: NTSTATUS = 0xC000005E; -pub const STATUS_NO_SUCH_LOGON_SESSION: NTSTATUS = 0xC000005F; -pub const STATUS_NO_SUCH_PRIVILEGE: NTSTATUS = 0xC0000060; -pub const STATUS_PRIVILEGE_NOT_HELD: NTSTATUS = 0xC0000061; -pub const STATUS_INVALID_ACCOUNT_NAME: NTSTATUS = 0xC0000062; -pub const STATUS_USER_EXISTS: NTSTATUS = 0xC0000063; -pub const STATUS_NO_SUCH_USER: NTSTATUS = 0xC0000064; -pub const STATUS_GROUP_EXISTS: NTSTATUS = 0xC0000065; -pub const STATUS_NO_SUCH_GROUP: NTSTATUS = 0xC0000066; -pub const STATUS_MEMBER_IN_GROUP: NTSTATUS = 0xC0000067; -pub const STATUS_MEMBER_NOT_IN_GROUP: NTSTATUS = 0xC0000068; -pub const STATUS_LAST_ADMIN: NTSTATUS = 0xC0000069; -pub const STATUS_WRONG_PASSWORD: NTSTATUS = 0xC000006A; -pub const STATUS_ILL_FORMED_PASSWORD: NTSTATUS = 0xC000006B; -pub const STATUS_PASSWORD_RESTRICTION: NTSTATUS = 0xC000006C; -pub const STATUS_LOGON_FAILURE: NTSTATUS = 0xC000006D; -pub const STATUS_ACCOUNT_RESTRICTION: NTSTATUS = 0xC000006E; -pub const STATUS_INVALID_LOGON_HOURS: NTSTATUS = 0xC000006F; -pub const STATUS_INVALID_WORKSTATION: NTSTATUS = 0xC0000070; -pub const STATUS_PASSWORD_EXPIRED: NTSTATUS = 0xC0000071; -pub const STATUS_ACCOUNT_DISABLED: NTSTATUS = 0xC0000072; -pub const STATUS_NONE_MAPPED: NTSTATUS = 0xC0000073; -pub const STATUS_TOO_MANY_LUIDS_REQUESTED: NTSTATUS = 0xC0000074; -pub const STATUS_LUIDS_EXHAUSTED: NTSTATUS = 0xC0000075; -pub const STATUS_INVALID_SUB_AUTHORITY: NTSTATUS = 0xC0000076; -pub const STATUS_INVALID_ACL: NTSTATUS = 0xC0000077; -pub const STATUS_INVALID_SID: NTSTATUS = 0xC0000078; -pub const STATUS_INVALID_SECURITY_DESCR: NTSTATUS = 0xC0000079; -pub const STATUS_PROCEDURE_NOT_FOUND: NTSTATUS = 0xC000007A; -pub const STATUS_INVALID_IMAGE_FORMAT: NTSTATUS = 0xC000007B; -pub const STATUS_NO_TOKEN: NTSTATUS = 0xC000007C; -pub const STATUS_BAD_INHERITANCE_ACL: NTSTATUS = 0xC000007D; -pub const STATUS_RANGE_NOT_LOCKED: NTSTATUS = 0xC000007E; -pub const STATUS_DISK_FULL: NTSTATUS = 0xC000007F; -pub const STATUS_SERVER_DISABLED: NTSTATUS = 0xC0000080; -pub const STATUS_SERVER_NOT_DISABLED: NTSTATUS = 0xC0000081; -pub const STATUS_TOO_MANY_GUIDS_REQUESTED: NTSTATUS = 0xC0000082; -pub const STATUS_GUIDS_EXHAUSTED: NTSTATUS = 0xC0000083; -pub const STATUS_INVALID_ID_AUTHORITY: NTSTATUS = 0xC0000084; -pub const STATUS_AGENTS_EXHAUSTED: NTSTATUS = 0xC0000085; -pub const STATUS_INVALID_VOLUME_LABEL: NTSTATUS = 0xC0000086; -pub const STATUS_SECTION_NOT_EXTENDED: NTSTATUS = 0xC0000087; -pub const STATUS_NOT_MAPPED_DATA: NTSTATUS = 0xC0000088; -pub const STATUS_RESOURCE_DATA_NOT_FOUND: NTSTATUS = 0xC0000089; -pub const STATUS_RESOURCE_TYPE_NOT_FOUND: NTSTATUS = 0xC000008A; -pub const STATUS_RESOURCE_NAME_NOT_FOUND: NTSTATUS = 0xC000008B; -pub const STATUS_ARRAY_BOUNDS_EXCEEDED: NTSTATUS = 0xC000008C; -pub const STATUS_FLOAT_DENORMAL_OPERAND: NTSTATUS = 0xC000008D; -pub const STATUS_FLOAT_DIVIDE_BY_ZERO: NTSTATUS = 0xC000008E; -pub const STATUS_FLOAT_INEXACT_RESULT: NTSTATUS = 0xC000008F; -pub const STATUS_FLOAT_INVALID_OPERATION: NTSTATUS = 0xC0000090; -pub const STATUS_FLOAT_OVERFLOW: NTSTATUS = 0xC0000091; -pub const STATUS_FLOAT_STACK_CHECK: NTSTATUS = 0xC0000092; -pub const STATUS_FLOAT_UNDERFLOW: NTSTATUS = 0xC0000093; -pub const STATUS_INTEGER_DIVIDE_BY_ZERO: NTSTATUS = 0xC0000094; -pub const STATUS_INTEGER_OVERFLOW: NTSTATUS = 0xC0000095; -pub const STATUS_PRIVILEGED_INSTRUCTION: NTSTATUS = 0xC0000096; -pub const STATUS_TOO_MANY_PAGING_FILES: NTSTATUS = 0xC0000097; -pub const STATUS_FILE_INVALID: NTSTATUS = 0xC0000098; -pub const STATUS_ALLOTTED_SPACE_EXCEEDED: NTSTATUS = 0xC0000099; -pub const STATUS_INSUFFICIENT_RESOURCES: NTSTATUS = 0xC000009A; -pub const STATUS_DFS_EXIT_PATH_FOUND: NTSTATUS = 0xC000009B; -pub const STATUS_DEVICE_DATA_ERROR: NTSTATUS = 0xC000009C; -pub const STATUS_DEVICE_NOT_CONNECTED: NTSTATUS = 0xC000009D; -pub const STATUS_DEVICE_POWER_FAILURE: NTSTATUS = 0xC000009E; -pub const STATUS_FREE_VM_NOT_AT_BASE: NTSTATUS = 0xC000009F; -pub const STATUS_MEMORY_NOT_ALLOCATED: NTSTATUS = 0xC00000A0; -pub const STATUS_WORKING_SET_QUOTA: NTSTATUS = 0xC00000A1; -pub const STATUS_MEDIA_WRITE_PROTECTED: NTSTATUS = 0xC00000A2; -pub const STATUS_DEVICE_NOT_READY: NTSTATUS = 0xC00000A3; -pub const STATUS_INVALID_GROUP_ATTRIBUTES: NTSTATUS = 0xC00000A4; -pub const STATUS_BAD_IMPERSONATION_LEVEL: NTSTATUS = 0xC00000A5; -pub const STATUS_CANT_OPEN_ANONYMOUS: NTSTATUS = 0xC00000A6; -pub const STATUS_BAD_VALIDATION_CLASS: NTSTATUS = 0xC00000A7; -pub const STATUS_BAD_TOKEN_TYPE: NTSTATUS = 0xC00000A8; -pub const STATUS_BAD_MASTER_BOOT_RECORD: NTSTATUS = 0xC00000A9; -pub const STATUS_INSTRUCTION_MISALIGNMENT: NTSTATUS = 0xC00000AA; -pub const STATUS_INSTANCE_NOT_AVAILABLE: NTSTATUS = 0xC00000AB; -pub const STATUS_PIPE_NOT_AVAILABLE: NTSTATUS = 0xC00000AC; -pub const STATUS_INVALID_PIPE_STATE: NTSTATUS = 0xC00000AD; -pub const STATUS_PIPE_BUSY: NTSTATUS = 0xC00000AE; -pub const STATUS_ILLEGAL_FUNCTION: NTSTATUS = 0xC00000AF; -pub const STATUS_PIPE_DISCONNECTED: NTSTATUS = 0xC00000B0; -pub const STATUS_PIPE_CLOSING: NTSTATUS = 0xC00000B1; -pub const STATUS_PIPE_CONNECTED: NTSTATUS = 0xC00000B2; -pub const STATUS_PIPE_LISTENING: NTSTATUS = 0xC00000B3; -pub const STATUS_INVALID_READ_MODE: NTSTATUS = 0xC00000B4; -pub const STATUS_IO_TIMEOUT: NTSTATUS = 0xC00000B5; -pub const STATUS_FILE_FORCED_CLOSED: NTSTATUS = 0xC00000B6; -pub const STATUS_PROFILING_NOT_STARTED: NTSTATUS = 0xC00000B7; -pub const STATUS_PROFILING_NOT_STOPPED: NTSTATUS = 0xC00000B8; -pub const STATUS_COULD_NOT_INTERPRET: NTSTATUS = 0xC00000B9; -pub const STATUS_FILE_IS_A_DIRECTORY: NTSTATUS = 0xC00000BA; -pub const STATUS_NOT_SUPPORTED: NTSTATUS = 0xC00000BB; -pub const STATUS_REMOTE_NOT_LISTENING: NTSTATUS = 0xC00000BC; -pub const STATUS_DUPLICATE_NAME: NTSTATUS = 0xC00000BD; -pub const STATUS_BAD_NETWORK_PATH: NTSTATUS = 0xC00000BE; -pub const STATUS_NETWORK_BUSY: NTSTATUS = 0xC00000BF; -pub const STATUS_DEVICE_DOES_NOT_EXIST: NTSTATUS = 0xC00000C0; -pub const STATUS_TOO_MANY_COMMANDS: NTSTATUS = 0xC00000C1; -pub const STATUS_ADAPTER_HARDWARE_ERROR: NTSTATUS = 0xC00000C2; -pub const STATUS_INVALID_NETWORK_RESPONSE: NTSTATUS = 0xC00000C3; -pub const STATUS_UNEXPECTED_NETWORK_ERROR: NTSTATUS = 0xC00000C4; -pub const STATUS_BAD_REMOTE_ADAPTER: NTSTATUS = 0xC00000C5; -pub const STATUS_PRINT_QUEUE_FULL: NTSTATUS = 0xC00000C6; -pub const STATUS_NO_SPOOL_SPACE: NTSTATUS = 0xC00000C7; -pub const STATUS_PRINT_CANCELLED: NTSTATUS = 0xC00000C8; -pub const STATUS_NETWORK_NAME_DELETED: NTSTATUS = 0xC00000C9; -pub const STATUS_NETWORK_ACCESS_DENIED: NTSTATUS = 0xC00000CA; -pub const STATUS_BAD_DEVICE_TYPE: NTSTATUS = 0xC00000CB; -pub const STATUS_BAD_NETWORK_NAME: NTSTATUS = 0xC00000CC; -pub const STATUS_TOO_MANY_NAMES: NTSTATUS = 0xC00000CD; -pub const STATUS_TOO_MANY_SESSIONS: NTSTATUS = 0xC00000CE; -pub const STATUS_SHARING_PAUSED: NTSTATUS = 0xC00000CF; -pub const STATUS_REQUEST_NOT_ACCEPTED: NTSTATUS = 0xC00000D0; -pub const STATUS_REDIRECTOR_PAUSED: NTSTATUS = 0xC00000D1; -pub const STATUS_NET_WRITE_FAULT: NTSTATUS = 0xC00000D2; -pub const STATUS_PROFILING_AT_LIMIT: NTSTATUS = 0xC00000D3; -pub const STATUS_NOT_SAME_DEVICE: NTSTATUS = 0xC00000D4; -pub const STATUS_FILE_RENAMED: NTSTATUS = 0xC00000D5; -pub const STATUS_VIRTUAL_CIRCUIT_CLOSED: NTSTATUS = 0xC00000D6; -pub const STATUS_NO_SECURITY_ON_OBJECT: NTSTATUS = 0xC00000D7; -pub const STATUS_CANT_WAIT: NTSTATUS = 0xC00000D8; -pub const STATUS_PIPE_EMPTY: NTSTATUS = 0xC00000D9; -pub const STATUS_CANT_ACCESS_DOMAIN_INFO: NTSTATUS = 0xC00000DA; -pub const STATUS_CANT_TERMINATE_SELF: NTSTATUS = 0xC00000DB; -pub const STATUS_INVALID_SERVER_STATE: NTSTATUS = 0xC00000DC; -pub const STATUS_INVALID_DOMAIN_STATE: NTSTATUS = 0xC00000DD; -pub const STATUS_INVALID_DOMAIN_ROLE: NTSTATUS = 0xC00000DE; -pub const STATUS_NO_SUCH_DOMAIN: NTSTATUS = 0xC00000DF; -pub const STATUS_DOMAIN_EXISTS: NTSTATUS = 0xC00000E0; -pub const STATUS_DOMAIN_LIMIT_EXCEEDED: NTSTATUS = 0xC00000E1; -pub const STATUS_OPLOCK_NOT_GRANTED: NTSTATUS = 0xC00000E2; -pub const STATUS_INVALID_OPLOCK_PROTOCOL: NTSTATUS = 0xC00000E3; -pub const STATUS_INTERNAL_DB_CORRUPTION: NTSTATUS = 0xC00000E4; -pub const STATUS_INTERNAL_ERROR: NTSTATUS = 0xC00000E5; -pub const STATUS_GENERIC_NOT_MAPPED: NTSTATUS = 0xC00000E6; -pub const STATUS_BAD_DESCRIPTOR_FORMAT: NTSTATUS = 0xC00000E7; -pub const STATUS_INVALID_USER_BUFFER: NTSTATUS = 0xC00000E8; -pub const STATUS_UNEXPECTED_IO_ERROR: NTSTATUS = 0xC00000E9; -pub const STATUS_UNEXPECTED_MM_CREATE_ERR: NTSTATUS = 0xC00000EA; -pub const STATUS_UNEXPECTED_MM_MAP_ERROR: NTSTATUS = 0xC00000EB; -pub const STATUS_UNEXPECTED_MM_EXTEND_ERR: NTSTATUS = 0xC00000EC; -pub const STATUS_NOT_LOGON_PROCESS: NTSTATUS = 0xC00000ED; -pub const STATUS_LOGON_SESSION_EXISTS: NTSTATUS = 0xC00000EE; -pub const STATUS_INVALID_PARAMETER_1: NTSTATUS = 0xC00000EF; -pub const STATUS_INVALID_PARAMETER_2: NTSTATUS = 0xC00000F0; -pub const STATUS_INVALID_PARAMETER_3: NTSTATUS = 0xC00000F1; -pub const STATUS_INVALID_PARAMETER_4: NTSTATUS = 0xC00000F2; -pub const STATUS_INVALID_PARAMETER_5: NTSTATUS = 0xC00000F3; -pub const STATUS_INVALID_PARAMETER_6: NTSTATUS = 0xC00000F4; -pub const STATUS_INVALID_PARAMETER_7: NTSTATUS = 0xC00000F5; -pub const STATUS_INVALID_PARAMETER_8: NTSTATUS = 0xC00000F6; -pub const STATUS_INVALID_PARAMETER_9: NTSTATUS = 0xC00000F7; -pub const STATUS_INVALID_PARAMETER_10: NTSTATUS = 0xC00000F8; -pub const STATUS_INVALID_PARAMETER_11: NTSTATUS = 0xC00000F9; -pub const STATUS_INVALID_PARAMETER_12: NTSTATUS = 0xC00000FA; -pub const STATUS_REDIRECTOR_NOT_STARTED: NTSTATUS = 0xC00000FB; -pub const STATUS_REDIRECTOR_STARTED: NTSTATUS = 0xC00000FC; -pub const STATUS_STACK_OVERFLOW: NTSTATUS = 0xC00000FD; -pub const STATUS_NO_SUCH_PACKAGE: NTSTATUS = 0xC00000FE; -pub const STATUS_BAD_FUNCTION_TABLE: NTSTATUS = 0xC00000FF; -pub const STATUS_VARIABLE_NOT_FOUND: NTSTATUS = 0xC0000100; -pub const STATUS_DIRECTORY_NOT_EMPTY: NTSTATUS = 0xC0000101; -pub const STATUS_FILE_CORRUPT_ERROR: NTSTATUS = 0xC0000102; -pub const STATUS_NOT_A_DIRECTORY: NTSTATUS = 0xC0000103; -pub const STATUS_BAD_LOGON_SESSION_STATE: NTSTATUS = 0xC0000104; -pub const STATUS_LOGON_SESSION_COLLISION: NTSTATUS = 0xC0000105; -pub const STATUS_NAME_TOO_LONG: NTSTATUS = 0xC0000106; -pub const STATUS_FILES_OPEN: NTSTATUS = 0xC0000107; -pub const STATUS_CONNECTION_IN_USE: NTSTATUS = 0xC0000108; -pub const STATUS_MESSAGE_NOT_FOUND: NTSTATUS = 0xC0000109; -pub const STATUS_PROCESS_IS_TERMINATING: NTSTATUS = 0xC000010A; -pub const STATUS_INVALID_LOGON_TYPE: NTSTATUS = 0xC000010B; -pub const STATUS_NO_GUID_TRANSLATION: NTSTATUS = 0xC000010C; -pub const STATUS_CANNOT_IMPERSONATE: NTSTATUS = 0xC000010D; -pub const STATUS_IMAGE_ALREADY_LOADED: NTSTATUS = 0xC000010E; -pub const STATUS_ABIOS_NOT_PRESENT: NTSTATUS = 0xC000010F; -pub const STATUS_ABIOS_LID_NOT_EXIST: NTSTATUS = 0xC0000110; -pub const STATUS_ABIOS_LID_ALREADY_OWNED: NTSTATUS = 0xC0000111; -pub const STATUS_ABIOS_NOT_LID_OWNER: NTSTATUS = 0xC0000112; -pub const STATUS_ABIOS_INVALID_COMMAND: NTSTATUS = 0xC0000113; -pub const STATUS_ABIOS_INVALID_LID: NTSTATUS = 0xC0000114; -pub const STATUS_ABIOS_SELECTOR_NOT_AVAILABLE: NTSTATUS = 0xC0000115; -pub const STATUS_ABIOS_INVALID_SELECTOR: NTSTATUS = 0xC0000116; -pub const STATUS_NO_LDT: NTSTATUS = 0xC0000117; -pub const STATUS_INVALID_LDT_SIZE: NTSTATUS = 0xC0000118; -pub const STATUS_INVALID_LDT_OFFSET: NTSTATUS = 0xC0000119; -pub const STATUS_INVALID_LDT_DESCRIPTOR: NTSTATUS = 0xC000011A; -pub const STATUS_INVALID_IMAGE_NE_FORMAT: NTSTATUS = 0xC000011B; -pub const STATUS_RXACT_INVALID_STATE: NTSTATUS = 0xC000011C; -pub const STATUS_RXACT_COMMIT_FAILURE: NTSTATUS = 0xC000011D; -pub const STATUS_MAPPED_FILE_SIZE_ZERO: NTSTATUS = 0xC000011E; -pub const STATUS_TOO_MANY_OPENED_FILES: NTSTATUS = 0xC000011F; -pub const STATUS_CANCELLED: NTSTATUS = 0xC0000120; -pub const STATUS_CANNOT_DELETE: NTSTATUS = 0xC0000121; -pub const STATUS_INVALID_COMPUTER_NAME: NTSTATUS = 0xC0000122; -pub const STATUS_FILE_DELETED: NTSTATUS = 0xC0000123; -pub const STATUS_SPECIAL_ACCOUNT: NTSTATUS = 0xC0000124; -pub const STATUS_SPECIAL_GROUP: NTSTATUS = 0xC0000125; -pub const STATUS_SPECIAL_USER: NTSTATUS = 0xC0000126; -pub const STATUS_MEMBERS_PRIMARY_GROUP: NTSTATUS = 0xC0000127; -pub const STATUS_FILE_CLOSED: NTSTATUS = 0xC0000128; -pub const STATUS_TOO_MANY_THREADS: NTSTATUS = 0xC0000129; -pub const STATUS_THREAD_NOT_IN_PROCESS: NTSTATUS = 0xC000012A; -pub const STATUS_TOKEN_ALREADY_IN_USE: NTSTATUS = 0xC000012B; -pub const STATUS_PAGEFILE_QUOTA_EXCEEDED: NTSTATUS = 0xC000012C; -pub const STATUS_COMMITMENT_LIMIT: NTSTATUS = 0xC000012D; -pub const STATUS_INVALID_IMAGE_LE_FORMAT: NTSTATUS = 0xC000012E; -pub const STATUS_INVALID_IMAGE_NOT_MZ: NTSTATUS = 0xC000012F; -pub const STATUS_INVALID_IMAGE_PROTECT: NTSTATUS = 0xC0000130; -pub const STATUS_INVALID_IMAGE_WIN_16: NTSTATUS = 0xC0000131; -pub const STATUS_LOGON_SERVER_CONFLICT: NTSTATUS = 0xC0000132; -pub const STATUS_TIME_DIFFERENCE_AT_DC: NTSTATUS = 0xC0000133; -pub const STATUS_SYNCHRONIZATION_REQUIRED: NTSTATUS = 0xC0000134; -pub const STATUS_DLL_NOT_FOUND: NTSTATUS = 0xC0000135; -pub const STATUS_OPEN_FAILED: NTSTATUS = 0xC0000136; -pub const STATUS_IO_PRIVILEGE_FAILED: NTSTATUS = 0xC0000137; -pub const STATUS_ORDINAL_NOT_FOUND: NTSTATUS = 0xC0000138; -pub const STATUS_ENTRYPOINT_NOT_FOUND: NTSTATUS = 0xC0000139; -pub const STATUS_CONTROL_C_EXIT: NTSTATUS = 0xC000013A; -pub const STATUS_LOCAL_DISCONNECT: NTSTATUS = 0xC000013B; -pub const STATUS_REMOTE_DISCONNECT: NTSTATUS = 0xC000013C; -pub const STATUS_REMOTE_RESOURCES: NTSTATUS = 0xC000013D; -pub const STATUS_LINK_FAILED: NTSTATUS = 0xC000013E; -pub const STATUS_LINK_TIMEOUT: NTSTATUS = 0xC000013F; -pub const STATUS_INVALID_CONNECTION: NTSTATUS = 0xC0000140; -pub const STATUS_INVALID_ADDRESS: NTSTATUS = 0xC0000141; -pub const STATUS_DLL_INIT_FAILED: NTSTATUS = 0xC0000142; -pub const STATUS_MISSING_SYSTEMFILE: NTSTATUS = 0xC0000143; -pub const STATUS_UNHANDLED_EXCEPTION: NTSTATUS = 0xC0000144; -pub const STATUS_APP_INIT_FAILURE: NTSTATUS = 0xC0000145; -pub const STATUS_PAGEFILE_CREATE_FAILED: NTSTATUS = 0xC0000146; -pub const STATUS_NO_PAGEFILE: NTSTATUS = 0xC0000147; -pub const STATUS_INVALID_LEVEL: NTSTATUS = 0xC0000148; -pub const STATUS_WRONG_PASSWORD_CORE: NTSTATUS = 0xC0000149; -pub const STATUS_ILLEGAL_FLOAT_CONTEXT: NTSTATUS = 0xC000014A; -pub const STATUS_PIPE_BROKEN: NTSTATUS = 0xC000014B; -pub const STATUS_REGISTRY_CORRUPT: NTSTATUS = 0xC000014C; -pub const STATUS_REGISTRY_IO_FAILED: NTSTATUS = 0xC000014D; -pub const STATUS_NO_EVENT_PAIR: NTSTATUS = 0xC000014E; -pub const STATUS_UNRECOGNIZED_VOLUME: NTSTATUS = 0xC000014F; -pub const STATUS_SERIAL_NO_DEVICE_INITED: NTSTATUS = 0xC0000150; -pub const STATUS_NO_SUCH_ALIAS: NTSTATUS = 0xC0000151; -pub const STATUS_MEMBER_NOT_IN_ALIAS: NTSTATUS = 0xC0000152; -pub const STATUS_MEMBER_IN_ALIAS: NTSTATUS = 0xC0000153; -pub const STATUS_ALIAS_EXISTS: NTSTATUS = 0xC0000154; -pub const STATUS_LOGON_NOT_GRANTED: NTSTATUS = 0xC0000155; -pub const STATUS_TOO_MANY_SECRETS: NTSTATUS = 0xC0000156; -pub const STATUS_SECRET_TOO_LONG: NTSTATUS = 0xC0000157; -pub const STATUS_INTERNAL_DB_ERROR: NTSTATUS = 0xC0000158; -pub const STATUS_FULLSCREEN_MODE: NTSTATUS = 0xC0000159; -pub const STATUS_TOO_MANY_CONTEXT_IDS: NTSTATUS = 0xC000015A; -pub const STATUS_LOGON_TYPE_NOT_GRANTED: NTSTATUS = 0xC000015B; -pub const STATUS_NOT_REGISTRY_FILE: NTSTATUS = 0xC000015C; -pub const STATUS_NT_CROSS_ENCRYPTION_REQUIRED: NTSTATUS = 0xC000015D; -pub const STATUS_DOMAIN_CTRLR_CONFIG_ERROR: NTSTATUS = 0xC000015E; -pub const STATUS_FT_MISSING_MEMBER: NTSTATUS = 0xC000015F; -pub const STATUS_ILL_FORMED_SERVICE_ENTRY: NTSTATUS = 0xC0000160; -pub const STATUS_ILLEGAL_CHARACTER: NTSTATUS = 0xC0000161; -pub const STATUS_UNMAPPABLE_CHARACTER: NTSTATUS = 0xC0000162; -pub const STATUS_UNDEFINED_CHARACTER: NTSTATUS = 0xC0000163; -pub const STATUS_FLOPPY_VOLUME: NTSTATUS = 0xC0000164; -pub const STATUS_FLOPPY_ID_MARK_NOT_FOUND: NTSTATUS = 0xC0000165; -pub const STATUS_FLOPPY_WRONG_CYLINDER: NTSTATUS = 0xC0000166; -pub const STATUS_FLOPPY_UNKNOWN_ERROR: NTSTATUS = 0xC0000167; -pub const STATUS_FLOPPY_BAD_REGISTERS: NTSTATUS = 0xC0000168; -pub const STATUS_DISK_RECALIBRATE_FAILED: NTSTATUS = 0xC0000169; -pub const STATUS_DISK_OPERATION_FAILED: NTSTATUS = 0xC000016A; -pub const STATUS_DISK_RESET_FAILED: NTSTATUS = 0xC000016B; -pub const STATUS_SHARED_IRQ_BUSY: NTSTATUS = 0xC000016C; -pub const STATUS_FT_ORPHANING: NTSTATUS = 0xC000016D; -pub const STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT: NTSTATUS = 0xC000016E; -pub const STATUS_PARTITION_FAILURE: NTSTATUS = 0xC0000172; -pub const STATUS_INVALID_BLOCK_LENGTH: NTSTATUS = 0xC0000173; -pub const STATUS_DEVICE_NOT_PARTITIONED: NTSTATUS = 0xC0000174; -pub const STATUS_UNABLE_TO_LOCK_MEDIA: NTSTATUS = 0xC0000175; -pub const STATUS_UNABLE_TO_UNLOAD_MEDIA: NTSTATUS = 0xC0000176; -pub const STATUS_EOM_OVERFLOW: NTSTATUS = 0xC0000177; -pub const STATUS_NO_MEDIA: NTSTATUS = 0xC0000178; -pub const STATUS_NO_SUCH_MEMBER: NTSTATUS = 0xC000017A; -pub const STATUS_INVALID_MEMBER: NTSTATUS = 0xC000017B; -pub const STATUS_KEY_DELETED: NTSTATUS = 0xC000017C; -pub const STATUS_NO_LOG_SPACE: NTSTATUS = 0xC000017D; -pub const STATUS_TOO_MANY_SIDS: NTSTATUS = 0xC000017E; -pub const STATUS_LM_CROSS_ENCRYPTION_REQUIRED: NTSTATUS = 0xC000017F; -pub const STATUS_KEY_HAS_CHILDREN: NTSTATUS = 0xC0000180; -pub const STATUS_CHILD_MUST_BE_VOLATILE: NTSTATUS = 0xC0000181; -pub const STATUS_DEVICE_CONFIGURATION_ERROR: NTSTATUS = 0xC0000182; -pub const STATUS_DRIVER_INTERNAL_ERROR: NTSTATUS = 0xC0000183; -pub const STATUS_INVALID_DEVICE_STATE: NTSTATUS = 0xC0000184; -pub const STATUS_IO_DEVICE_ERROR: NTSTATUS = 0xC0000185; -pub const STATUS_DEVICE_PROTOCOL_ERROR: NTSTATUS = 0xC0000186; -pub const STATUS_BACKUP_CONTROLLER: NTSTATUS = 0xC0000187; -pub const STATUS_LOG_FILE_FULL: NTSTATUS = 0xC0000188; -pub const STATUS_TOO_LATE: NTSTATUS = 0xC0000189; -pub const STATUS_NO_TRUST_LSA_SECRET: NTSTATUS = 0xC000018A; -pub const STATUS_NO_TRUST_SAM_ACCOUNT: NTSTATUS = 0xC000018B; -pub const STATUS_TRUSTED_DOMAIN_FAILURE: NTSTATUS = 0xC000018C; -pub const STATUS_TRUSTED_RELATIONSHIP_FAILURE: NTSTATUS = 0xC000018D; -pub const STATUS_EVENTLOG_FILE_CORRUPT: NTSTATUS = 0xC000018E; -pub const STATUS_EVENTLOG_CANT_START: NTSTATUS = 0xC000018F; -pub const STATUS_TRUST_FAILURE: NTSTATUS = 0xC0000190; -pub const STATUS_MUTANT_LIMIT_EXCEEDED: NTSTATUS = 0xC0000191; -pub const STATUS_NETLOGON_NOT_STARTED: NTSTATUS = 0xC0000192; -pub const STATUS_ACCOUNT_EXPIRED: NTSTATUS = 0xC0000193; -pub const STATUS_POSSIBLE_DEADLOCK: NTSTATUS = 0xC0000194; -pub const STATUS_NETWORK_CREDENTIAL_CONFLICT: NTSTATUS = 0xC0000195; -pub const STATUS_REMOTE_SESSION_LIMIT: NTSTATUS = 0xC0000196; -pub const STATUS_EVENTLOG_FILE_CHANGED: NTSTATUS = 0xC0000197; -pub const STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT: NTSTATUS = 0xC0000198; -pub const STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT: NTSTATUS = 0xC0000199; -pub const STATUS_NOLOGON_SERVER_TRUST_ACCOUNT: NTSTATUS = 0xC000019A; -pub const STATUS_DOMAIN_TRUST_INCONSISTENT: NTSTATUS = 0xC000019B; -pub const STATUS_FS_DRIVER_REQUIRED: NTSTATUS = 0xC000019C; -pub const STATUS_IMAGE_ALREADY_LOADED_AS_DLL: NTSTATUS = 0xC000019D; -pub const STATUS_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING: NTSTATUS - = 0xC000019E; -pub const STATUS_SHORT_NAMES_NOT_ENABLED_ON_VOLUME: NTSTATUS = 0xC000019F; -pub const STATUS_SECURITY_STREAM_IS_INCONSISTENT: NTSTATUS = 0xC00001A0; -pub const STATUS_INVALID_LOCK_RANGE: NTSTATUS = 0xC00001A1; -pub const STATUS_INVALID_ACE_CONDITION: NTSTATUS = 0xC00001A2; -pub const STATUS_IMAGE_SUBSYSTEM_NOT_PRESENT: NTSTATUS = 0xC00001A3; -pub const STATUS_NOTIFICATION_GUID_ALREADY_DEFINED: NTSTATUS = 0xC00001A4; -pub const STATUS_INVALID_EXCEPTION_HANDLER: NTSTATUS = 0xC00001A5; -pub const STATUS_DUPLICATE_PRIVILEGES: NTSTATUS = 0xC00001A6; -pub const STATUS_NOT_ALLOWED_ON_SYSTEM_FILE: NTSTATUS = 0xC00001A7; -pub const STATUS_REPAIR_NEEDED: NTSTATUS = 0xC00001A8; -pub const STATUS_QUOTA_NOT_ENABLED: NTSTATUS = 0xC00001A9; -pub const STATUS_NO_APPLICATION_PACKAGE: NTSTATUS = 0xC00001AA; -pub const STATUS_FILE_METADATA_OPTIMIZATION_IN_PROGRESS: NTSTATUS = 0xC00001AB; -pub const STATUS_NOT_SAME_OBJECT: NTSTATUS = 0xC00001AC; -pub const STATUS_FATAL_MEMORY_EXHAUSTION: NTSTATUS = 0xC00001AD; -pub const STATUS_ERROR_PROCESS_NOT_IN_JOB: NTSTATUS = 0xC00001AE; -pub const STATUS_CPU_SET_INVALID: NTSTATUS = 0xC00001AF; -pub const STATUS_NETWORK_OPEN_RESTRICTION: NTSTATUS = 0xC0000201; -pub const STATUS_NO_USER_SESSION_KEY: NTSTATUS = 0xC0000202; -pub const STATUS_USER_SESSION_DELETED: NTSTATUS = 0xC0000203; -pub const STATUS_RESOURCE_LANG_NOT_FOUND: NTSTATUS = 0xC0000204; -pub const STATUS_INSUFF_SERVER_RESOURCES: NTSTATUS = 0xC0000205; -pub const STATUS_INVALID_BUFFER_SIZE: NTSTATUS = 0xC0000206; -pub const STATUS_INVALID_ADDRESS_COMPONENT: NTSTATUS = 0xC0000207; -pub const STATUS_INVALID_ADDRESS_WILDCARD: NTSTATUS = 0xC0000208; -pub const STATUS_TOO_MANY_ADDRESSES: NTSTATUS = 0xC0000209; -pub const STATUS_ADDRESS_ALREADY_EXISTS: NTSTATUS = 0xC000020A; -pub const STATUS_ADDRESS_CLOSED: NTSTATUS = 0xC000020B; -pub const STATUS_CONNECTION_DISCONNECTED: NTSTATUS = 0xC000020C; -pub const STATUS_CONNECTION_RESET: NTSTATUS = 0xC000020D; -pub const STATUS_TOO_MANY_NODES: NTSTATUS = 0xC000020E; -pub const STATUS_TRANSACTION_ABORTED: NTSTATUS = 0xC000020F; -pub const STATUS_TRANSACTION_TIMED_OUT: NTSTATUS = 0xC0000210; -pub const STATUS_TRANSACTION_NO_RELEASE: NTSTATUS = 0xC0000211; -pub const STATUS_TRANSACTION_NO_MATCH: NTSTATUS = 0xC0000212; -pub const STATUS_TRANSACTION_RESPONDED: NTSTATUS = 0xC0000213; -pub const STATUS_TRANSACTION_INVALID_ID: NTSTATUS = 0xC0000214; -pub const STATUS_TRANSACTION_INVALID_TYPE: NTSTATUS = 0xC0000215; -pub const STATUS_NOT_SERVER_SESSION: NTSTATUS = 0xC0000216; -pub const STATUS_NOT_CLIENT_SESSION: NTSTATUS = 0xC0000217; -pub const STATUS_CANNOT_LOAD_REGISTRY_FILE: NTSTATUS = 0xC0000218; -pub const STATUS_DEBUG_ATTACH_FAILED: NTSTATUS = 0xC0000219; -pub const STATUS_SYSTEM_PROCESS_TERMINATED: NTSTATUS = 0xC000021A; -pub const STATUS_DATA_NOT_ACCEPTED: NTSTATUS = 0xC000021B; -pub const STATUS_NO_BROWSER_SERVERS_FOUND: NTSTATUS = 0xC000021C; -pub const STATUS_VDM_HARD_ERROR: NTSTATUS = 0xC000021D; -pub const STATUS_DRIVER_CANCEL_TIMEOUT: NTSTATUS = 0xC000021E; -pub const STATUS_REPLY_MESSAGE_MISMATCH: NTSTATUS = 0xC000021F; -pub const STATUS_MAPPED_ALIGNMENT: NTSTATUS = 0xC0000220; -pub const STATUS_IMAGE_CHECKSUM_MISMATCH: NTSTATUS = 0xC0000221; -pub const STATUS_LOST_WRITEBEHIND_DATA: NTSTATUS = 0xC0000222; -pub const STATUS_CLIENT_SERVER_PARAMETERS_INVALID: NTSTATUS = 0xC0000223; -pub const STATUS_PASSWORD_MUST_CHANGE: NTSTATUS = 0xC0000224; -pub const STATUS_NOT_FOUND: NTSTATUS = 0xC0000225; -pub const STATUS_NOT_TINY_STREAM: NTSTATUS = 0xC0000226; -pub const STATUS_RECOVERY_FAILURE: NTSTATUS = 0xC0000227; -pub const STATUS_STACK_OVERFLOW_READ: NTSTATUS = 0xC0000228; -pub const STATUS_FAIL_CHECK: NTSTATUS = 0xC0000229; -pub const STATUS_DUPLICATE_OBJECTID: NTSTATUS = 0xC000022A; -pub const STATUS_OBJECTID_EXISTS: NTSTATUS = 0xC000022B; -pub const STATUS_CONVERT_TO_LARGE: NTSTATUS = 0xC000022C; -pub const STATUS_RETRY: NTSTATUS = 0xC000022D; -pub const STATUS_FOUND_OUT_OF_SCOPE: NTSTATUS = 0xC000022E; -pub const STATUS_ALLOCATE_BUCKET: NTSTATUS = 0xC000022F; -pub const STATUS_PROPSET_NOT_FOUND: NTSTATUS = 0xC0000230; -pub const STATUS_MARSHALL_OVERFLOW: NTSTATUS = 0xC0000231; -pub const STATUS_INVALID_VARIANT: NTSTATUS = 0xC0000232; -pub const STATUS_DOMAIN_CONTROLLER_NOT_FOUND: NTSTATUS = 0xC0000233; -pub const STATUS_ACCOUNT_LOCKED_OUT: NTSTATUS = 0xC0000234; -pub const STATUS_HANDLE_NOT_CLOSABLE: NTSTATUS = 0xC0000235; -pub const STATUS_CONNECTION_REFUSED: NTSTATUS = 0xC0000236; -pub const STATUS_GRACEFUL_DISCONNECT: NTSTATUS = 0xC0000237; -pub const STATUS_ADDRESS_ALREADY_ASSOCIATED: NTSTATUS = 0xC0000238; -pub const STATUS_ADDRESS_NOT_ASSOCIATED: NTSTATUS = 0xC0000239; -pub const STATUS_CONNECTION_INVALID: NTSTATUS = 0xC000023A; -pub const STATUS_CONNECTION_ACTIVE: NTSTATUS = 0xC000023B; -pub const STATUS_NETWORK_UNREACHABLE: NTSTATUS = 0xC000023C; -pub const STATUS_HOST_UNREACHABLE: NTSTATUS = 0xC000023D; -pub const STATUS_PROTOCOL_UNREACHABLE: NTSTATUS = 0xC000023E; -pub const STATUS_PORT_UNREACHABLE: NTSTATUS = 0xC000023F; -pub const STATUS_REQUEST_ABORTED: NTSTATUS = 0xC0000240; -pub const STATUS_CONNECTION_ABORTED: NTSTATUS = 0xC0000241; -pub const STATUS_BAD_COMPRESSION_BUFFER: NTSTATUS = 0xC0000242; -pub const STATUS_USER_MAPPED_FILE: NTSTATUS = 0xC0000243; -pub const STATUS_AUDIT_FAILED: NTSTATUS = 0xC0000244; -pub const STATUS_TIMER_RESOLUTION_NOT_SET: NTSTATUS = 0xC0000245; -pub const STATUS_CONNECTION_COUNT_LIMIT: NTSTATUS = 0xC0000246; -pub const STATUS_LOGIN_TIME_RESTRICTION: NTSTATUS = 0xC0000247; -pub const STATUS_LOGIN_WKSTA_RESTRICTION: NTSTATUS = 0xC0000248; -pub const STATUS_IMAGE_MP_UP_MISMATCH: NTSTATUS = 0xC0000249; -pub const STATUS_INSUFFICIENT_LOGON_INFO: NTSTATUS = 0xC0000250; -pub const STATUS_BAD_DLL_ENTRYPOINT: NTSTATUS = 0xC0000251; -pub const STATUS_BAD_SERVICE_ENTRYPOINT: NTSTATUS = 0xC0000252; -pub const STATUS_LPC_REPLY_LOST: NTSTATUS = 0xC0000253; -pub const STATUS_IP_ADDRESS_CONFLICT1: NTSTATUS = 0xC0000254; -pub const STATUS_IP_ADDRESS_CONFLICT2: NTSTATUS = 0xC0000255; -pub const STATUS_REGISTRY_QUOTA_LIMIT: NTSTATUS = 0xC0000256; -pub const STATUS_PATH_NOT_COVERED: NTSTATUS = 0xC0000257; -pub const STATUS_NO_CALLBACK_ACTIVE: NTSTATUS = 0xC0000258; -pub const STATUS_LICENSE_QUOTA_EXCEEDED: NTSTATUS = 0xC0000259; -pub const STATUS_PWD_TOO_SHORT: NTSTATUS = 0xC000025A; -pub const STATUS_PWD_TOO_RECENT: NTSTATUS = 0xC000025B; -pub const STATUS_PWD_HISTORY_CONFLICT: NTSTATUS = 0xC000025C; -pub const STATUS_PLUGPLAY_NO_DEVICE: NTSTATUS = 0xC000025E; -pub const STATUS_UNSUPPORTED_COMPRESSION: NTSTATUS = 0xC000025F; -pub const STATUS_INVALID_HW_PROFILE: NTSTATUS = 0xC0000260; -pub const STATUS_INVALID_PLUGPLAY_DEVICE_PATH: NTSTATUS = 0xC0000261; -pub const STATUS_DRIVER_ORDINAL_NOT_FOUND: NTSTATUS = 0xC0000262; -pub const STATUS_DRIVER_ENTRYPOINT_NOT_FOUND: NTSTATUS = 0xC0000263; -pub const STATUS_RESOURCE_NOT_OWNED: NTSTATUS = 0xC0000264; -pub const STATUS_TOO_MANY_LINKS: NTSTATUS = 0xC0000265; -pub const STATUS_QUOTA_LIST_INCONSISTENT: NTSTATUS = 0xC0000266; -pub const STATUS_FILE_IS_OFFLINE: NTSTATUS = 0xC0000267; -pub const STATUS_EVALUATION_EXPIRATION: NTSTATUS = 0xC0000268; -pub const STATUS_ILLEGAL_DLL_RELOCATION: NTSTATUS = 0xC0000269; -pub const STATUS_LICENSE_VIOLATION: NTSTATUS = 0xC000026A; -pub const STATUS_DLL_INIT_FAILED_LOGOFF: NTSTATUS = 0xC000026B; -pub const STATUS_DRIVER_UNABLE_TO_LOAD: NTSTATUS = 0xC000026C; -pub const STATUS_DFS_UNAVAILABLE: NTSTATUS = 0xC000026D; -pub const STATUS_VOLUME_DISMOUNTED: NTSTATUS = 0xC000026E; -pub const STATUS_WX86_INTERNAL_ERROR: NTSTATUS = 0xC000026F; -pub const STATUS_WX86_FLOAT_STACK_CHECK: NTSTATUS = 0xC0000270; -pub const STATUS_VALIDATE_CONTINUE: NTSTATUS = 0xC0000271; -pub const STATUS_NO_MATCH: NTSTATUS = 0xC0000272; -pub const STATUS_NO_MORE_MATCHES: NTSTATUS = 0xC0000273; -pub const STATUS_NOT_A_REPARSE_POINT: NTSTATUS = 0xC0000275; -pub const STATUS_IO_REPARSE_TAG_INVALID: NTSTATUS = 0xC0000276; -pub const STATUS_IO_REPARSE_TAG_MISMATCH: NTSTATUS = 0xC0000277; -pub const STATUS_IO_REPARSE_DATA_INVALID: NTSTATUS = 0xC0000278; -pub const STATUS_IO_REPARSE_TAG_NOT_HANDLED: NTSTATUS = 0xC0000279; -pub const STATUS_PWD_TOO_LONG: NTSTATUS = 0xC000027A; -pub const STATUS_STOWED_EXCEPTION: NTSTATUS = 0xC000027B; -pub const STATUS_REPARSE_POINT_NOT_RESOLVED: NTSTATUS = 0xC0000280; -pub const STATUS_DIRECTORY_IS_A_REPARSE_POINT: NTSTATUS = 0xC0000281; -pub const STATUS_RANGE_LIST_CONFLICT: NTSTATUS = 0xC0000282; -pub const STATUS_SOURCE_ELEMENT_EMPTY: NTSTATUS = 0xC0000283; -pub const STATUS_DESTINATION_ELEMENT_FULL: NTSTATUS = 0xC0000284; -pub const STATUS_ILLEGAL_ELEMENT_ADDRESS: NTSTATUS = 0xC0000285; -pub const STATUS_MAGAZINE_NOT_PRESENT: NTSTATUS = 0xC0000286; -pub const STATUS_REINITIALIZATION_NEEDED: NTSTATUS = 0xC0000287; -pub const STATUS_DEVICE_REQUIRES_CLEANING: NTSTATUS = 0x80000288; -pub const STATUS_DEVICE_DOOR_OPEN: NTSTATUS = 0x80000289; -pub const STATUS_ENCRYPTION_FAILED: NTSTATUS = 0xC000028A; -pub const STATUS_DECRYPTION_FAILED: NTSTATUS = 0xC000028B; -pub const STATUS_RANGE_NOT_FOUND: NTSTATUS = 0xC000028C; -pub const STATUS_NO_RECOVERY_POLICY: NTSTATUS = 0xC000028D; -pub const STATUS_NO_EFS: NTSTATUS = 0xC000028E; -pub const STATUS_WRONG_EFS: NTSTATUS = 0xC000028F; -pub const STATUS_NO_USER_KEYS: NTSTATUS = 0xC0000290; -pub const STATUS_FILE_NOT_ENCRYPTED: NTSTATUS = 0xC0000291; -pub const STATUS_NOT_EXPORT_FORMAT: NTSTATUS = 0xC0000292; -pub const STATUS_FILE_ENCRYPTED: NTSTATUS = 0xC0000293; -pub const STATUS_WAKE_SYSTEM: NTSTATUS = 0x40000294; -pub const STATUS_WMI_GUID_NOT_FOUND: NTSTATUS = 0xC0000295; -pub const STATUS_WMI_INSTANCE_NOT_FOUND: NTSTATUS = 0xC0000296; -pub const STATUS_WMI_ITEMID_NOT_FOUND: NTSTATUS = 0xC0000297; -pub const STATUS_WMI_TRY_AGAIN: NTSTATUS = 0xC0000298; -pub const STATUS_SHARED_POLICY: NTSTATUS = 0xC0000299; -pub const STATUS_POLICY_OBJECT_NOT_FOUND: NTSTATUS = 0xC000029A; -pub const STATUS_POLICY_ONLY_IN_DS: NTSTATUS = 0xC000029B; -pub const STATUS_VOLUME_NOT_UPGRADED: NTSTATUS = 0xC000029C; -pub const STATUS_REMOTE_STORAGE_NOT_ACTIVE: NTSTATUS = 0xC000029D; -pub const STATUS_REMOTE_STORAGE_MEDIA_ERROR: NTSTATUS = 0xC000029E; -pub const STATUS_NO_TRACKING_SERVICE: NTSTATUS = 0xC000029F; -pub const STATUS_SERVER_SID_MISMATCH: NTSTATUS = 0xC00002A0; -pub const STATUS_DS_NO_ATTRIBUTE_OR_VALUE: NTSTATUS = 0xC00002A1; -pub const STATUS_DS_INVALID_ATTRIBUTE_SYNTAX: NTSTATUS = 0xC00002A2; -pub const STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED: NTSTATUS = 0xC00002A3; -pub const STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS: NTSTATUS = 0xC00002A4; -pub const STATUS_DS_BUSY: NTSTATUS = 0xC00002A5; -pub const STATUS_DS_UNAVAILABLE: NTSTATUS = 0xC00002A6; -pub const STATUS_DS_NO_RIDS_ALLOCATED: NTSTATUS = 0xC00002A7; -pub const STATUS_DS_NO_MORE_RIDS: NTSTATUS = 0xC00002A8; -pub const STATUS_DS_INCORRECT_ROLE_OWNER: NTSTATUS = 0xC00002A9; -pub const STATUS_DS_RIDMGR_INIT_ERROR: NTSTATUS = 0xC00002AA; -pub const STATUS_DS_OBJ_CLASS_VIOLATION: NTSTATUS = 0xC00002AB; -pub const STATUS_DS_CANT_ON_NON_LEAF: NTSTATUS = 0xC00002AC; -pub const STATUS_DS_CANT_ON_RDN: NTSTATUS = 0xC00002AD; -pub const STATUS_DS_CANT_MOD_OBJ_CLASS: NTSTATUS = 0xC00002AE; -pub const STATUS_DS_CROSS_DOM_MOVE_FAILED: NTSTATUS = 0xC00002AF; -pub const STATUS_DS_GC_NOT_AVAILABLE: NTSTATUS = 0xC00002B0; -pub const STATUS_DIRECTORY_SERVICE_REQUIRED: NTSTATUS = 0xC00002B1; -pub const STATUS_REPARSE_ATTRIBUTE_CONFLICT: NTSTATUS = 0xC00002B2; -pub const STATUS_CANT_ENABLE_DENY_ONLY: NTSTATUS = 0xC00002B3; -pub const STATUS_FLOAT_MULTIPLE_FAULTS: NTSTATUS = 0xC00002B4; -pub const STATUS_FLOAT_MULTIPLE_TRAPS: NTSTATUS = 0xC00002B5; -pub const STATUS_DEVICE_REMOVED: NTSTATUS = 0xC00002B6; -pub const STATUS_JOURNAL_DELETE_IN_PROGRESS: NTSTATUS = 0xC00002B7; -pub const STATUS_JOURNAL_NOT_ACTIVE: NTSTATUS = 0xC00002B8; -pub const STATUS_NOINTERFACE: NTSTATUS = 0xC00002B9; -pub const STATUS_DS_RIDMGR_DISABLED: NTSTATUS = 0xC00002BA; -pub const STATUS_DS_ADMIN_LIMIT_EXCEEDED: NTSTATUS = 0xC00002C1; -pub const STATUS_DRIVER_FAILED_SLEEP: NTSTATUS = 0xC00002C2; -pub const STATUS_MUTUAL_AUTHENTICATION_FAILED: NTSTATUS = 0xC00002C3; -pub const STATUS_CORRUPT_SYSTEM_FILE: NTSTATUS = 0xC00002C4; -pub const STATUS_DATATYPE_MISALIGNMENT_ERROR: NTSTATUS = 0xC00002C5; -pub const STATUS_WMI_READ_ONLY: NTSTATUS = 0xC00002C6; -pub const STATUS_WMI_SET_FAILURE: NTSTATUS = 0xC00002C7; -pub const STATUS_COMMITMENT_MINIMUM: NTSTATUS = 0xC00002C8; -pub const STATUS_REG_NAT_CONSUMPTION: NTSTATUS = 0xC00002C9; -pub const STATUS_TRANSPORT_FULL: NTSTATUS = 0xC00002CA; -pub const STATUS_DS_SAM_INIT_FAILURE: NTSTATUS = 0xC00002CB; -pub const STATUS_ONLY_IF_CONNECTED: NTSTATUS = 0xC00002CC; -pub const STATUS_DS_SENSITIVE_GROUP_VIOLATION: NTSTATUS = 0xC00002CD; -pub const STATUS_PNP_RESTART_ENUMERATION: NTSTATUS = 0xC00002CE; -pub const STATUS_JOURNAL_ENTRY_DELETED: NTSTATUS = 0xC00002CF; -pub const STATUS_DS_CANT_MOD_PRIMARYGROUPID: NTSTATUS = 0xC00002D0; -pub const STATUS_SYSTEM_IMAGE_BAD_SIGNATURE: NTSTATUS = 0xC00002D1; -pub const STATUS_PNP_REBOOT_REQUIRED: NTSTATUS = 0xC00002D2; -pub const STATUS_POWER_STATE_INVALID: NTSTATUS = 0xC00002D3; -pub const STATUS_DS_INVALID_GROUP_TYPE: NTSTATUS = 0xC00002D4; -pub const STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN: NTSTATUS = 0xC00002D5; -pub const STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN: NTSTATUS = 0xC00002D6; -pub const STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER: NTSTATUS = 0xC00002D7; -pub const STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER: NTSTATUS = 0xC00002D8; -pub const STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER: NTSTATUS = 0xC00002D9; -pub const STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER: NTSTATUS = 0xC00002DA; -pub const STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER: NTSTATUS = 0xC00002DB; -pub const STATUS_DS_HAVE_PRIMARY_MEMBERS: NTSTATUS = 0xC00002DC; -pub const STATUS_WMI_NOT_SUPPORTED: NTSTATUS = 0xC00002DD; -pub const STATUS_INSUFFICIENT_POWER: NTSTATUS = 0xC00002DE; -pub const STATUS_SAM_NEED_BOOTKEY_PASSWORD: NTSTATUS = 0xC00002DF; -pub const STATUS_SAM_NEED_BOOTKEY_FLOPPY: NTSTATUS = 0xC00002E0; -pub const STATUS_DS_CANT_START: NTSTATUS = 0xC00002E1; -pub const STATUS_DS_INIT_FAILURE: NTSTATUS = 0xC00002E2; -pub const STATUS_SAM_INIT_FAILURE: NTSTATUS = 0xC00002E3; -pub const STATUS_DS_GC_REQUIRED: NTSTATUS = 0xC00002E4; -pub const STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY: NTSTATUS = 0xC00002E5; -pub const STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS: NTSTATUS = 0xC00002E6; -pub const STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED: NTSTATUS = 0xC00002E7; -pub const STATUS_MULTIPLE_FAULT_VIOLATION: NTSTATUS = 0xC00002E8; -pub const STATUS_CURRENT_DOMAIN_NOT_ALLOWED: NTSTATUS = 0xC00002E9; -pub const STATUS_CANNOT_MAKE: NTSTATUS = 0xC00002EA; -pub const STATUS_SYSTEM_SHUTDOWN: NTSTATUS = 0xC00002EB; -pub const STATUS_DS_INIT_FAILURE_CONSOLE: NTSTATUS = 0xC00002EC; -pub const STATUS_DS_SAM_INIT_FAILURE_CONSOLE: NTSTATUS = 0xC00002ED; -pub const STATUS_UNFINISHED_CONTEXT_DELETED: NTSTATUS = 0xC00002EE; -pub const STATUS_NO_TGT_REPLY: NTSTATUS = 0xC00002EF; -pub const STATUS_OBJECTID_NOT_FOUND: NTSTATUS = 0xC00002F0; -pub const STATUS_NO_IP_ADDRESSES: NTSTATUS = 0xC00002F1; -pub const STATUS_WRONG_CREDENTIAL_HANDLE: NTSTATUS = 0xC00002F2; -pub const STATUS_CRYPTO_SYSTEM_INVALID: NTSTATUS = 0xC00002F3; -pub const STATUS_MAX_REFERRALS_EXCEEDED: NTSTATUS = 0xC00002F4; -pub const STATUS_MUST_BE_KDC: NTSTATUS = 0xC00002F5; -pub const STATUS_STRONG_CRYPTO_NOT_SUPPORTED: NTSTATUS = 0xC00002F6; -pub const STATUS_TOO_MANY_PRINCIPALS: NTSTATUS = 0xC00002F7; -pub const STATUS_NO_PA_DATA: NTSTATUS = 0xC00002F8; -pub const STATUS_PKINIT_NAME_MISMATCH: NTSTATUS = 0xC00002F9; -pub const STATUS_SMARTCARD_LOGON_REQUIRED: NTSTATUS = 0xC00002FA; -pub const STATUS_KDC_INVALID_REQUEST: NTSTATUS = 0xC00002FB; -pub const STATUS_KDC_UNABLE_TO_REFER: NTSTATUS = 0xC00002FC; -pub const STATUS_KDC_UNKNOWN_ETYPE: NTSTATUS = 0xC00002FD; -pub const STATUS_SHUTDOWN_IN_PROGRESS: NTSTATUS = 0xC00002FE; -pub const STATUS_SERVER_SHUTDOWN_IN_PROGRESS: NTSTATUS = 0xC00002FF; -pub const STATUS_NOT_SUPPORTED_ON_SBS: NTSTATUS = 0xC0000300; -pub const STATUS_WMI_GUID_DISCONNECTED: NTSTATUS = 0xC0000301; -pub const STATUS_WMI_ALREADY_DISABLED: NTSTATUS = 0xC0000302; -pub const STATUS_WMI_ALREADY_ENABLED: NTSTATUS = 0xC0000303; -pub const STATUS_MFT_TOO_FRAGMENTED: NTSTATUS = 0xC0000304; -pub const STATUS_COPY_PROTECTION_FAILURE: NTSTATUS = 0xC0000305; -pub const STATUS_CSS_AUTHENTICATION_FAILURE: NTSTATUS = 0xC0000306; -pub const STATUS_CSS_KEY_NOT_PRESENT: NTSTATUS = 0xC0000307; -pub const STATUS_CSS_KEY_NOT_ESTABLISHED: NTSTATUS = 0xC0000308; -pub const STATUS_CSS_SCRAMBLED_SECTOR: NTSTATUS = 0xC0000309; -pub const STATUS_CSS_REGION_MISMATCH: NTSTATUS = 0xC000030A; -pub const STATUS_CSS_RESETS_EXHAUSTED: NTSTATUS = 0xC000030B; -pub const STATUS_PASSWORD_CHANGE_REQUIRED: NTSTATUS = 0xC000030C; -pub const STATUS_PKINIT_FAILURE: NTSTATUS = 0xC0000320; -pub const STATUS_SMARTCARD_SUBSYSTEM_FAILURE: NTSTATUS = 0xC0000321; -pub const STATUS_NO_KERB_KEY: NTSTATUS = 0xC0000322; -pub const STATUS_HOST_DOWN: NTSTATUS = 0xC0000350; -pub const STATUS_UNSUPPORTED_PREAUTH: NTSTATUS = 0xC0000351; -pub const STATUS_EFS_ALG_BLOB_TOO_BIG: NTSTATUS = 0xC0000352; -pub const STATUS_PORT_NOT_SET: NTSTATUS = 0xC0000353; -pub const STATUS_DEBUGGER_INACTIVE: NTSTATUS = 0xC0000354; -pub const STATUS_DS_VERSION_CHECK_FAILURE: NTSTATUS = 0xC0000355; -pub const STATUS_AUDITING_DISABLED: NTSTATUS = 0xC0000356; -pub const STATUS_PRENT4_MACHINE_ACCOUNT: NTSTATUS = 0xC0000357; -pub const STATUS_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER: NTSTATUS = 0xC0000358; -pub const STATUS_INVALID_IMAGE_WIN_32: NTSTATUS = 0xC0000359; -pub const STATUS_INVALID_IMAGE_WIN_64: NTSTATUS = 0xC000035A; -pub const STATUS_BAD_BINDINGS: NTSTATUS = 0xC000035B; -pub const STATUS_NETWORK_SESSION_EXPIRED: NTSTATUS = 0xC000035C; -pub const STATUS_APPHELP_BLOCK: NTSTATUS = 0xC000035D; -pub const STATUS_ALL_SIDS_FILTERED: NTSTATUS = 0xC000035E; -pub const STATUS_NOT_SAFE_MODE_DRIVER: NTSTATUS = 0xC000035F; -pub const STATUS_ACCESS_DISABLED_BY_POLICY_DEFAULT: NTSTATUS = 0xC0000361; -pub const STATUS_ACCESS_DISABLED_BY_POLICY_PATH: NTSTATUS = 0xC0000362; -pub const STATUS_ACCESS_DISABLED_BY_POLICY_PUBLISHER: NTSTATUS = 0xC0000363; -pub const STATUS_ACCESS_DISABLED_BY_POLICY_OTHER: NTSTATUS = 0xC0000364; -pub const STATUS_FAILED_DRIVER_ENTRY: NTSTATUS = 0xC0000365; -pub const STATUS_DEVICE_ENUMERATION_ERROR: NTSTATUS = 0xC0000366; -pub const STATUS_MOUNT_POINT_NOT_RESOLVED: NTSTATUS = 0xC0000368; -pub const STATUS_INVALID_DEVICE_OBJECT_PARAMETER: NTSTATUS = 0xC0000369; -pub const STATUS_MCA_OCCURED: NTSTATUS = 0xC000036A; -pub const STATUS_DRIVER_BLOCKED_CRITICAL: NTSTATUS = 0xC000036B; -pub const STATUS_DRIVER_BLOCKED: NTSTATUS = 0xC000036C; -pub const STATUS_DRIVER_DATABASE_ERROR: NTSTATUS = 0xC000036D; -pub const STATUS_SYSTEM_HIVE_TOO_LARGE: NTSTATUS = 0xC000036E; -pub const STATUS_INVALID_IMPORT_OF_NON_DLL: NTSTATUS = 0xC000036F; -pub const STATUS_DS_SHUTTING_DOWN: NTSTATUS = 0x40000370; -pub const STATUS_NO_SECRETS: NTSTATUS = 0xC0000371; -pub const STATUS_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY: NTSTATUS = 0xC0000372; -pub const STATUS_FAILED_STACK_SWITCH: NTSTATUS = 0xC0000373; -pub const STATUS_HEAP_CORRUPTION: NTSTATUS = 0xC0000374; -pub const STATUS_SMARTCARD_WRONG_PIN: NTSTATUS = 0xC0000380; -pub const STATUS_SMARTCARD_CARD_BLOCKED: NTSTATUS = 0xC0000381; -pub const STATUS_SMARTCARD_CARD_NOT_AUTHENTICATED: NTSTATUS = 0xC0000382; -pub const STATUS_SMARTCARD_NO_CARD: NTSTATUS = 0xC0000383; -pub const STATUS_SMARTCARD_NO_KEY_CONTAINER: NTSTATUS = 0xC0000384; -pub const STATUS_SMARTCARD_NO_CERTIFICATE: NTSTATUS = 0xC0000385; -pub const STATUS_SMARTCARD_NO_KEYSET: NTSTATUS = 0xC0000386; -pub const STATUS_SMARTCARD_IO_ERROR: NTSTATUS = 0xC0000387; -pub const STATUS_DOWNGRADE_DETECTED: NTSTATUS = 0xC0000388; -pub const STATUS_SMARTCARD_CERT_REVOKED: NTSTATUS = 0xC0000389; -pub const STATUS_ISSUING_CA_UNTRUSTED: NTSTATUS = 0xC000038A; -pub const STATUS_REVOCATION_OFFLINE_C: NTSTATUS = 0xC000038B; -pub const STATUS_PKINIT_CLIENT_FAILURE: NTSTATUS = 0xC000038C; -pub const STATUS_SMARTCARD_CERT_EXPIRED: NTSTATUS = 0xC000038D; -pub const STATUS_DRIVER_FAILED_PRIOR_UNLOAD: NTSTATUS = 0xC000038E; -pub const STATUS_SMARTCARD_SILENT_CONTEXT: NTSTATUS = 0xC000038F; -pub const STATUS_PER_USER_TRUST_QUOTA_EXCEEDED: NTSTATUS = 0xC0000401; -pub const STATUS_ALL_USER_TRUST_QUOTA_EXCEEDED: NTSTATUS = 0xC0000402; -pub const STATUS_USER_DELETE_TRUST_QUOTA_EXCEEDED: NTSTATUS = 0xC0000403; -pub const STATUS_DS_NAME_NOT_UNIQUE: NTSTATUS = 0xC0000404; -pub const STATUS_DS_DUPLICATE_ID_FOUND: NTSTATUS = 0xC0000405; -pub const STATUS_DS_GROUP_CONVERSION_ERROR: NTSTATUS = 0xC0000406; -pub const STATUS_VOLSNAP_PREPARE_HIBERNATE: NTSTATUS = 0xC0000407; -pub const STATUS_USER2USER_REQUIRED: NTSTATUS = 0xC0000408; -pub const STATUS_STACK_BUFFER_OVERRUN: NTSTATUS = 0xC0000409; -pub const STATUS_NO_S4U_PROT_SUPPORT: NTSTATUS = 0xC000040A; -pub const STATUS_CROSSREALM_DELEGATION_FAILURE: NTSTATUS = 0xC000040B; -pub const STATUS_REVOCATION_OFFLINE_KDC: NTSTATUS = 0xC000040C; -pub const STATUS_ISSUING_CA_UNTRUSTED_KDC: NTSTATUS = 0xC000040D; -pub const STATUS_KDC_CERT_EXPIRED: NTSTATUS = 0xC000040E; -pub const STATUS_KDC_CERT_REVOKED: NTSTATUS = 0xC000040F; -pub const STATUS_PARAMETER_QUOTA_EXCEEDED: NTSTATUS = 0xC0000410; -pub const STATUS_HIBERNATION_FAILURE: NTSTATUS = 0xC0000411; -pub const STATUS_DELAY_LOAD_FAILED: NTSTATUS = 0xC0000412; -pub const STATUS_AUTHENTICATION_FIREWALL_FAILED: NTSTATUS = 0xC0000413; -pub const STATUS_VDM_DISALLOWED: NTSTATUS = 0xC0000414; -pub const STATUS_HUNG_DISPLAY_DRIVER_THREAD: NTSTATUS = 0xC0000415; -pub const STATUS_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE: NTSTATUS - = 0xC0000416; -pub const STATUS_INVALID_CRUNTIME_PARAMETER: NTSTATUS = 0xC0000417; -pub const STATUS_NTLM_BLOCKED: NTSTATUS = 0xC0000418; -pub const STATUS_DS_SRC_SID_EXISTS_IN_FOREST: NTSTATUS = 0xC0000419; -pub const STATUS_DS_DOMAIN_NAME_EXISTS_IN_FOREST: NTSTATUS = 0xC000041A; -pub const STATUS_DS_FLAT_NAME_EXISTS_IN_FOREST: NTSTATUS = 0xC000041B; -pub const STATUS_INVALID_USER_PRINCIPAL_NAME: NTSTATUS = 0xC000041C; -pub const STATUS_FATAL_USER_CALLBACK_EXCEPTION: NTSTATUS = 0xC000041D; -pub const STATUS_ASSERTION_FAILURE: NTSTATUS = 0xC0000420; -pub const STATUS_VERIFIER_STOP: NTSTATUS = 0xC0000421; -pub const STATUS_CALLBACK_POP_STACK: NTSTATUS = 0xC0000423; -pub const STATUS_INCOMPATIBLE_DRIVER_BLOCKED: NTSTATUS = 0xC0000424; -pub const STATUS_HIVE_UNLOADED: NTSTATUS = 0xC0000425; -pub const STATUS_COMPRESSION_DISABLED: NTSTATUS = 0xC0000426; -pub const STATUS_FILE_SYSTEM_LIMITATION: NTSTATUS = 0xC0000427; -pub const STATUS_INVALID_IMAGE_HASH: NTSTATUS = 0xC0000428; -pub const STATUS_NOT_CAPABLE: NTSTATUS = 0xC0000429; -pub const STATUS_REQUEST_OUT_OF_SEQUENCE: NTSTATUS = 0xC000042A; -pub const STATUS_IMPLEMENTATION_LIMIT: NTSTATUS = 0xC000042B; -pub const STATUS_ELEVATION_REQUIRED: NTSTATUS = 0xC000042C; -pub const STATUS_NO_SECURITY_CONTEXT: NTSTATUS = 0xC000042D; -pub const STATUS_PKU2U_CERT_FAILURE: NTSTATUS = 0xC000042F; -pub const STATUS_BEYOND_VDL: NTSTATUS = 0xC0000432; -pub const STATUS_ENCOUNTERED_WRITE_IN_PROGRESS: NTSTATUS = 0xC0000433; -pub const STATUS_PTE_CHANGED: NTSTATUS = 0xC0000434; -pub const STATUS_PURGE_FAILED: NTSTATUS = 0xC0000435; -pub const STATUS_CRED_REQUIRES_CONFIRMATION: NTSTATUS = 0xC0000440; -pub const STATUS_CS_ENCRYPTION_INVALID_SERVER_RESPONSE: NTSTATUS = 0xC0000441; -pub const STATUS_CS_ENCRYPTION_UNSUPPORTED_SERVER: NTSTATUS = 0xC0000442; -pub const STATUS_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE: NTSTATUS = 0xC0000443; -pub const STATUS_CS_ENCRYPTION_NEW_ENCRYPTED_FILE: NTSTATUS = 0xC0000444; -pub const STATUS_CS_ENCRYPTION_FILE_NOT_CSE: NTSTATUS = 0xC0000445; -pub const STATUS_INVALID_LABEL: NTSTATUS = 0xC0000446; -pub const STATUS_DRIVER_PROCESS_TERMINATED: NTSTATUS = 0xC0000450; -pub const STATUS_AMBIGUOUS_SYSTEM_DEVICE: NTSTATUS = 0xC0000451; -pub const STATUS_SYSTEM_DEVICE_NOT_FOUND: NTSTATUS = 0xC0000452; -pub const STATUS_RESTART_BOOT_APPLICATION: NTSTATUS = 0xC0000453; -pub const STATUS_INSUFFICIENT_NVRAM_RESOURCES: NTSTATUS = 0xC0000454; -pub const STATUS_INVALID_SESSION: NTSTATUS = 0xC0000455; -pub const STATUS_THREAD_ALREADY_IN_SESSION: NTSTATUS = 0xC0000456; -pub const STATUS_THREAD_NOT_IN_SESSION: NTSTATUS = 0xC0000457; -pub const STATUS_INVALID_WEIGHT: NTSTATUS = 0xC0000458; -pub const STATUS_REQUEST_PAUSED: NTSTATUS = 0xC0000459; -pub const STATUS_NO_RANGES_PROCESSED: NTSTATUS = 0xC0000460; -pub const STATUS_DISK_RESOURCES_EXHAUSTED: NTSTATUS = 0xC0000461; -pub const STATUS_NEEDS_REMEDIATION: NTSTATUS = 0xC0000462; -pub const STATUS_DEVICE_FEATURE_NOT_SUPPORTED: NTSTATUS = 0xC0000463; -pub const STATUS_DEVICE_UNREACHABLE: NTSTATUS = 0xC0000464; -pub const STATUS_INVALID_TOKEN: NTSTATUS = 0xC0000465; -pub const STATUS_SERVER_UNAVAILABLE: NTSTATUS = 0xC0000466; -pub const STATUS_FILE_NOT_AVAILABLE: NTSTATUS = 0xC0000467; -pub const STATUS_DEVICE_INSUFFICIENT_RESOURCES: NTSTATUS = 0xC0000468; -pub const STATUS_PACKAGE_UPDATING: NTSTATUS = 0xC0000469; -pub const STATUS_NOT_READ_FROM_COPY: NTSTATUS = 0xC000046A; -pub const STATUS_FT_WRITE_FAILURE: NTSTATUS = 0xC000046B; -pub const STATUS_FT_DI_SCAN_REQUIRED: NTSTATUS = 0xC000046C; -pub const STATUS_OBJECT_NOT_EXTERNALLY_BACKED: NTSTATUS = 0xC000046D; -pub const STATUS_EXTERNAL_BACKING_PROVIDER_UNKNOWN: NTSTATUS = 0xC000046E; -pub const STATUS_COMPRESSION_NOT_BENEFICIAL: NTSTATUS = 0xC000046F; -pub const STATUS_DATA_CHECKSUM_ERROR: NTSTATUS = 0xC0000470; -pub const STATUS_INTERMIXED_KERNEL_EA_OPERATION: NTSTATUS = 0xC0000471; -pub const STATUS_TRIM_READ_ZERO_NOT_SUPPORTED: NTSTATUS = 0xC0000472; -pub const STATUS_TOO_MANY_SEGMENT_DESCRIPTORS: NTSTATUS = 0xC0000473; -pub const STATUS_INVALID_OFFSET_ALIGNMENT: NTSTATUS = 0xC0000474; -pub const STATUS_INVALID_FIELD_IN_PARAMETER_LIST: NTSTATUS = 0xC0000475; -pub const STATUS_OPERATION_IN_PROGRESS: NTSTATUS = 0xC0000476; -pub const STATUS_INVALID_INITIATOR_TARGET_PATH: NTSTATUS = 0xC0000477; -pub const STATUS_SCRUB_DATA_DISABLED: NTSTATUS = 0xC0000478; -pub const STATUS_NOT_REDUNDANT_STORAGE: NTSTATUS = 0xC0000479; -pub const STATUS_RESIDENT_FILE_NOT_SUPPORTED: NTSTATUS = 0xC000047A; -pub const STATUS_COMPRESSED_FILE_NOT_SUPPORTED: NTSTATUS = 0xC000047B; -pub const STATUS_DIRECTORY_NOT_SUPPORTED: NTSTATUS = 0xC000047C; -pub const STATUS_IO_OPERATION_TIMEOUT: NTSTATUS = 0xC000047D; -pub const STATUS_SYSTEM_NEEDS_REMEDIATION: NTSTATUS = 0xC000047E; -pub const STATUS_APPX_INTEGRITY_FAILURE_CLR_NGEN: NTSTATUS = 0xC000047F; -pub const STATUS_SHARE_UNAVAILABLE: NTSTATUS = 0xC0000480; -pub const STATUS_APISET_NOT_HOSTED: NTSTATUS = 0xC0000481; -pub const STATUS_APISET_NOT_PRESENT: NTSTATUS = 0xC0000482; -pub const STATUS_DEVICE_HARDWARE_ERROR: NTSTATUS = 0xC0000483; -pub const STATUS_FIRMWARE_SLOT_INVALID: NTSTATUS = 0xC0000484; -pub const STATUS_FIRMWARE_IMAGE_INVALID: NTSTATUS = 0xC0000485; -pub const STATUS_STORAGE_TOPOLOGY_ID_MISMATCH: NTSTATUS = 0xC0000486; -pub const STATUS_WIM_NOT_BOOTABLE: NTSTATUS = 0xC0000487; -pub const STATUS_BLOCKED_BY_PARENTAL_CONTROLS: NTSTATUS = 0xC0000488; -pub const STATUS_NEEDS_REGISTRATION: NTSTATUS = 0xC0000489; -pub const STATUS_QUOTA_ACTIVITY: NTSTATUS = 0xC000048A; -pub const STATUS_CALLBACK_INVOKE_INLINE: NTSTATUS = 0xC000048B; -pub const STATUS_BLOCK_TOO_MANY_REFERENCES: NTSTATUS = 0xC000048C; -pub const STATUS_MARKED_TO_DISALLOW_WRITES: NTSTATUS = 0xC000048D; -pub const STATUS_NETWORK_ACCESS_DENIED_EDP: NTSTATUS = 0xC000048E; -pub const STATUS_ENCLAVE_FAILURE: NTSTATUS = 0xC000048F; -pub const STATUS_PNP_NO_COMPAT_DRIVERS: NTSTATUS = 0xC0000490; -pub const STATUS_PNP_DRIVER_PACKAGE_NOT_FOUND: NTSTATUS = 0xC0000491; -pub const STATUS_PNP_DRIVER_CONFIGURATION_NOT_FOUND: NTSTATUS = 0xC0000492; -pub const STATUS_PNP_DRIVER_CONFIGURATION_INCOMPLETE: NTSTATUS = 0xC0000493; -pub const STATUS_PNP_FUNCTION_DRIVER_REQUIRED: NTSTATUS = 0xC0000494; -pub const STATUS_PNP_DEVICE_CONFIGURATION_PENDING: NTSTATUS = 0xC0000495; -pub const STATUS_DEVICE_HINT_NAME_BUFFER_TOO_SMALL: NTSTATUS = 0xC0000496; -pub const STATUS_PACKAGE_NOT_AVAILABLE: NTSTATUS = 0xC0000497; -pub const STATUS_DEVICE_IN_MAINTENANCE: NTSTATUS = 0xC0000499; -pub const STATUS_NOT_SUPPORTED_ON_DAX: NTSTATUS = 0xC000049A; -pub const STATUS_FREE_SPACE_TOO_FRAGMENTED: NTSTATUS = 0xC000049B; -pub const STATUS_DAX_MAPPING_EXISTS: NTSTATUS = 0xC000049C; -pub const STATUS_CHILD_PROCESS_BLOCKED: NTSTATUS = 0xC000049D; -pub const STATUS_STORAGE_LOST_DATA_PERSISTENCE: NTSTATUS = 0xC000049E; -pub const STATUS_INVALID_TASK_NAME: NTSTATUS = 0xC0000500; -pub const STATUS_INVALID_TASK_INDEX: NTSTATUS = 0xC0000501; -pub const STATUS_THREAD_ALREADY_IN_TASK: NTSTATUS = 0xC0000502; -pub const STATUS_CALLBACK_BYPASS: NTSTATUS = 0xC0000503; -pub const STATUS_UNDEFINED_SCOPE: NTSTATUS = 0xC0000504; -pub const STATUS_INVALID_CAP: NTSTATUS = 0xC0000505; -pub const STATUS_NOT_GUI_PROCESS: NTSTATUS = 0xC0000506; -pub const STATUS_DEVICE_HUNG: NTSTATUS = 0xC0000507; -pub const STATUS_CONTAINER_ASSIGNED: NTSTATUS = 0xC0000508; -pub const STATUS_JOB_NO_CONTAINER: NTSTATUS = 0xC0000509; -pub const STATUS_DEVICE_UNRESPONSIVE: NTSTATUS = 0xC000050A; -pub const STATUS_REPARSE_POINT_ENCOUNTERED: NTSTATUS = 0xC000050B; -pub const STATUS_FAIL_FAST_EXCEPTION: NTSTATUS = 0xC0000602; -pub const STATUS_IMAGE_CERT_REVOKED: NTSTATUS = 0xC0000603; -pub const STATUS_DYNAMIC_CODE_BLOCKED: NTSTATUS = 0xC0000604; -pub const STATUS_IMAGE_CERT_EXPIRED: NTSTATUS = 0xC0000605; -pub const STATUS_PORT_CLOSED: NTSTATUS = 0xC0000700; -pub const STATUS_MESSAGE_LOST: NTSTATUS = 0xC0000701; -pub const STATUS_INVALID_MESSAGE: NTSTATUS = 0xC0000702; -pub const STATUS_REQUEST_CANCELED: NTSTATUS = 0xC0000703; -pub const STATUS_RECURSIVE_DISPATCH: NTSTATUS = 0xC0000704; -pub const STATUS_LPC_RECEIVE_BUFFER_EXPECTED: NTSTATUS = 0xC0000705; -pub const STATUS_LPC_INVALID_CONNECTION_USAGE: NTSTATUS = 0xC0000706; -pub const STATUS_LPC_REQUESTS_NOT_ALLOWED: NTSTATUS = 0xC0000707; -pub const STATUS_RESOURCE_IN_USE: NTSTATUS = 0xC0000708; -pub const STATUS_HARDWARE_MEMORY_ERROR: NTSTATUS = 0xC0000709; -pub const STATUS_THREADPOOL_HANDLE_EXCEPTION: NTSTATUS = 0xC000070A; -pub const STATUS_THREADPOOL_SET_EVENT_ON_COMPLETION_FAILED: NTSTATUS = 0xC000070B; -pub const STATUS_THREADPOOL_RELEASE_SEMAPHORE_ON_COMPLETION_FAILED: NTSTATUS - = 0xC000070C; -pub const STATUS_THREADPOOL_RELEASE_MUTEX_ON_COMPLETION_FAILED: NTSTATUS = 0xC000070D; -pub const STATUS_THREADPOOL_FREE_LIBRARY_ON_COMPLETION_FAILED: NTSTATUS = 0xC000070E; -pub const STATUS_THREADPOOL_RELEASED_DURING_OPERATION: NTSTATUS = 0xC000070F; -pub const STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING: NTSTATUS = 0xC0000710; -pub const STATUS_APC_RETURNED_WHILE_IMPERSONATING: NTSTATUS = 0xC0000711; -pub const STATUS_PROCESS_IS_PROTECTED: NTSTATUS = 0xC0000712; -pub const STATUS_MCA_EXCEPTION: NTSTATUS = 0xC0000713; -pub const STATUS_CERTIFICATE_MAPPING_NOT_UNIQUE: NTSTATUS = 0xC0000714; -pub const STATUS_SYMLINK_CLASS_DISABLED: NTSTATUS = 0xC0000715; -pub const STATUS_INVALID_IDN_NORMALIZATION: NTSTATUS = 0xC0000716; -pub const STATUS_NO_UNICODE_TRANSLATION: NTSTATUS = 0xC0000717; -pub const STATUS_ALREADY_REGISTERED: NTSTATUS = 0xC0000718; -pub const STATUS_CONTEXT_MISMATCH: NTSTATUS = 0xC0000719; -pub const STATUS_PORT_ALREADY_HAS_COMPLETION_LIST: NTSTATUS = 0xC000071A; -pub const STATUS_CALLBACK_RETURNED_THREAD_PRIORITY: NTSTATUS = 0xC000071B; -pub const STATUS_INVALID_THREAD: NTSTATUS = 0xC000071C; -pub const STATUS_CALLBACK_RETURNED_TRANSACTION: NTSTATUS = 0xC000071D; -pub const STATUS_CALLBACK_RETURNED_LDR_LOCK: NTSTATUS = 0xC000071E; -pub const STATUS_CALLBACK_RETURNED_LANG: NTSTATUS = 0xC000071F; -pub const STATUS_CALLBACK_RETURNED_PRI_BACK: NTSTATUS = 0xC0000720; -pub const STATUS_CALLBACK_RETURNED_THREAD_AFFINITY: NTSTATUS = 0xC0000721; -pub const STATUS_LPC_HANDLE_COUNT_EXCEEDED: NTSTATUS = 0xC0000722; -pub const STATUS_DISK_REPAIR_DISABLED: NTSTATUS = 0xC0000800; -pub const STATUS_DS_DOMAIN_RENAME_IN_PROGRESS: NTSTATUS = 0xC0000801; -pub const STATUS_DISK_QUOTA_EXCEEDED: NTSTATUS = 0xC0000802; -pub const STATUS_DATA_LOST_REPAIR: NTSTATUS = 0x80000803; -pub const STATUS_CONTENT_BLOCKED: NTSTATUS = 0xC0000804; -pub const STATUS_BAD_CLUSTERS: NTSTATUS = 0xC0000805; -pub const STATUS_VOLUME_DIRTY: NTSTATUS = 0xC0000806; -pub const STATUS_DISK_REPAIR_REDIRECTED: NTSTATUS = 0x40000807; -pub const STATUS_DISK_REPAIR_UNSUCCESSFUL: NTSTATUS = 0xC0000808; -pub const STATUS_CORRUPT_LOG_OVERFULL: NTSTATUS = 0xC0000809; -pub const STATUS_CORRUPT_LOG_CORRUPTED: NTSTATUS = 0xC000080A; -pub const STATUS_CORRUPT_LOG_UNAVAILABLE: NTSTATUS = 0xC000080B; -pub const STATUS_CORRUPT_LOG_DELETED_FULL: NTSTATUS = 0xC000080C; -pub const STATUS_CORRUPT_LOG_CLEARED: NTSTATUS = 0xC000080D; -pub const STATUS_ORPHAN_NAME_EXHAUSTED: NTSTATUS = 0xC000080E; -pub const STATUS_PROACTIVE_SCAN_IN_PROGRESS: NTSTATUS = 0xC000080F; -pub const STATUS_ENCRYPTED_IO_NOT_POSSIBLE: NTSTATUS = 0xC0000810; -pub const STATUS_CORRUPT_LOG_UPLEVEL_RECORDS: NTSTATUS = 0xC0000811; -pub const STATUS_FILE_CHECKED_OUT: NTSTATUS = 0xC0000901; -pub const STATUS_CHECKOUT_REQUIRED: NTSTATUS = 0xC0000902; -pub const STATUS_BAD_FILE_TYPE: NTSTATUS = 0xC0000903; -pub const STATUS_FILE_TOO_LARGE: NTSTATUS = 0xC0000904; -pub const STATUS_FORMS_AUTH_REQUIRED: NTSTATUS = 0xC0000905; -pub const STATUS_VIRUS_INFECTED: NTSTATUS = 0xC0000906; -pub const STATUS_VIRUS_DELETED: NTSTATUS = 0xC0000907; -pub const STATUS_BAD_MCFG_TABLE: NTSTATUS = 0xC0000908; -pub const STATUS_CANNOT_BREAK_OPLOCK: NTSTATUS = 0xC0000909; -pub const STATUS_BAD_KEY: NTSTATUS = 0xC000090A; -pub const STATUS_BAD_DATA: NTSTATUS = 0xC000090B; -pub const STATUS_NO_KEY: NTSTATUS = 0xC000090C; -pub const STATUS_FILE_HANDLE_REVOKED: NTSTATUS = 0xC0000910; -pub const STATUS_WOW_ASSERTION: NTSTATUS = 0xC0009898; -pub const STATUS_INVALID_SIGNATURE: NTSTATUS = 0xC000A000; -pub const STATUS_HMAC_NOT_SUPPORTED: NTSTATUS = 0xC000A001; -pub const STATUS_AUTH_TAG_MISMATCH: NTSTATUS = 0xC000A002; -pub const STATUS_INVALID_STATE_TRANSITION: NTSTATUS = 0xC000A003; -pub const STATUS_INVALID_KERNEL_INFO_VERSION: NTSTATUS = 0xC000A004; -pub const STATUS_INVALID_PEP_INFO_VERSION: NTSTATUS = 0xC000A005; -pub const STATUS_HANDLE_REVOKED: NTSTATUS = 0xC000A006; -pub const STATUS_EOF_ON_GHOSTED_RANGE: NTSTATUS = 0xC000A007; -pub const STATUS_IPSEC_QUEUE_OVERFLOW: NTSTATUS = 0xC000A010; -pub const STATUS_ND_QUEUE_OVERFLOW: NTSTATUS = 0xC000A011; -pub const STATUS_HOPLIMIT_EXCEEDED: NTSTATUS = 0xC000A012; -pub const STATUS_PROTOCOL_NOT_SUPPORTED: NTSTATUS = 0xC000A013; -pub const STATUS_FASTPATH_REJECTED: NTSTATUS = 0xC000A014; -pub const STATUS_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED: NTSTATUS = 0xC000A080; -pub const STATUS_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR: NTSTATUS = 0xC000A081; -pub const STATUS_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR: NTSTATUS = 0xC000A082; -pub const STATUS_XML_PARSE_ERROR: NTSTATUS = 0xC000A083; -pub const STATUS_XMLDSIG_ERROR: NTSTATUS = 0xC000A084; -pub const STATUS_WRONG_COMPARTMENT: NTSTATUS = 0xC000A085; -pub const STATUS_AUTHIP_FAILURE: NTSTATUS = 0xC000A086; -pub const STATUS_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS: NTSTATUS = 0xC000A087; -pub const STATUS_DS_OID_NOT_FOUND: NTSTATUS = 0xC000A088; -pub const STATUS_INCORRECT_ACCOUNT_TYPE: NTSTATUS = 0xC000A089; -pub const STATUS_HASH_NOT_SUPPORTED: NTSTATUS = 0xC000A100; -pub const STATUS_HASH_NOT_PRESENT: NTSTATUS = 0xC000A101; -pub const STATUS_SECONDARY_IC_PROVIDER_NOT_REGISTERED: NTSTATUS = 0xC000A121; -pub const STATUS_GPIO_CLIENT_INFORMATION_INVALID: NTSTATUS = 0xC000A122; -pub const STATUS_GPIO_VERSION_NOT_SUPPORTED: NTSTATUS = 0xC000A123; -pub const STATUS_GPIO_INVALID_REGISTRATION_PACKET: NTSTATUS = 0xC000A124; -pub const STATUS_GPIO_OPERATION_DENIED: NTSTATUS = 0xC000A125; -pub const STATUS_GPIO_INCOMPATIBLE_CONNECT_MODE: NTSTATUS = 0xC000A126; -pub const STATUS_GPIO_INTERRUPT_ALREADY_UNMASKED: NTSTATUS = 0x8000A127; -pub const STATUS_CANNOT_SWITCH_RUNLEVEL: NTSTATUS = 0xC000A141; -pub const STATUS_INVALID_RUNLEVEL_SETTING: NTSTATUS = 0xC000A142; -pub const STATUS_RUNLEVEL_SWITCH_TIMEOUT: NTSTATUS = 0xC000A143; -pub const STATUS_SERVICES_FAILED_AUTOSTART: NTSTATUS = 0x4000A144; -pub const STATUS_RUNLEVEL_SWITCH_AGENT_TIMEOUT: NTSTATUS = 0xC000A145; -pub const STATUS_RUNLEVEL_SWITCH_IN_PROGRESS: NTSTATUS = 0xC000A146; -pub const STATUS_NOT_APPCONTAINER: NTSTATUS = 0xC000A200; -pub const STATUS_NOT_SUPPORTED_IN_APPCONTAINER: NTSTATUS = 0xC000A201; -pub const STATUS_INVALID_PACKAGE_SID_LENGTH: NTSTATUS = 0xC000A202; -pub const STATUS_APP_DATA_NOT_FOUND: NTSTATUS = 0xC000A281; -pub const STATUS_APP_DATA_EXPIRED: NTSTATUS = 0xC000A282; -pub const STATUS_APP_DATA_CORRUPT: NTSTATUS = 0xC000A283; -pub const STATUS_APP_DATA_LIMIT_EXCEEDED: NTSTATUS = 0xC000A284; -pub const STATUS_APP_DATA_REBOOT_REQUIRED: NTSTATUS = 0xC000A285; -pub const STATUS_OFFLOAD_READ_FLT_NOT_SUPPORTED: NTSTATUS = 0xC000A2A1; -pub const STATUS_OFFLOAD_WRITE_FLT_NOT_SUPPORTED: NTSTATUS = 0xC000A2A2; -pub const STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED: NTSTATUS = 0xC000A2A3; -pub const STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED: NTSTATUS = 0xC000A2A4; -pub const STATUS_CLOUD_FILE_PROVIDER_UNKNOWN: NTSTATUS = 0xC000CF00; -pub const STATUS_CLOUD_FILE_PROVIDER_NOT_RUNNING: NTSTATUS = 0xC000CF01; -pub const STATUS_CLOUD_FILE_METADATA_CORRUPT: NTSTATUS = 0xC000CF02; -pub const STATUS_CLOUD_FILE_METADATA_TOO_LARGE: NTSTATUS = 0xC000CF03; -pub const STATUS_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE: NTSTATUS = 0x8000CF04; -pub const DBG_NO_STATE_CHANGE: NTSTATUS = 0xC0010001; -pub const DBG_APP_NOT_IDLE: NTSTATUS = 0xC0010002; -pub const RPC_NT_INVALID_STRING_BINDING: NTSTATUS = 0xC0020001; -pub const RPC_NT_WRONG_KIND_OF_BINDING: NTSTATUS = 0xC0020002; -pub const RPC_NT_INVALID_BINDING: NTSTATUS = 0xC0020003; -pub const RPC_NT_PROTSEQ_NOT_SUPPORTED: NTSTATUS = 0xC0020004; -pub const RPC_NT_INVALID_RPC_PROTSEQ: NTSTATUS = 0xC0020005; -pub const RPC_NT_INVALID_STRING_UUID: NTSTATUS = 0xC0020006; -pub const RPC_NT_INVALID_ENDPOINT_FORMAT: NTSTATUS = 0xC0020007; -pub const RPC_NT_INVALID_NET_ADDR: NTSTATUS = 0xC0020008; -pub const RPC_NT_NO_ENDPOINT_FOUND: NTSTATUS = 0xC0020009; -pub const RPC_NT_INVALID_TIMEOUT: NTSTATUS = 0xC002000A; -pub const RPC_NT_OBJECT_NOT_FOUND: NTSTATUS = 0xC002000B; -pub const RPC_NT_ALREADY_REGISTERED: NTSTATUS = 0xC002000C; -pub const RPC_NT_TYPE_ALREADY_REGISTERED: NTSTATUS = 0xC002000D; -pub const RPC_NT_ALREADY_LISTENING: NTSTATUS = 0xC002000E; -pub const RPC_NT_NO_PROTSEQS_REGISTERED: NTSTATUS = 0xC002000F; -pub const RPC_NT_NOT_LISTENING: NTSTATUS = 0xC0020010; -pub const RPC_NT_UNKNOWN_MGR_TYPE: NTSTATUS = 0xC0020011; -pub const RPC_NT_UNKNOWN_IF: NTSTATUS = 0xC0020012; -pub const RPC_NT_NO_BINDINGS: NTSTATUS = 0xC0020013; -pub const RPC_NT_NO_PROTSEQS: NTSTATUS = 0xC0020014; -pub const RPC_NT_CANT_CREATE_ENDPOINT: NTSTATUS = 0xC0020015; -pub const RPC_NT_OUT_OF_RESOURCES: NTSTATUS = 0xC0020016; -pub const RPC_NT_SERVER_UNAVAILABLE: NTSTATUS = 0xC0020017; -pub const RPC_NT_SERVER_TOO_BUSY: NTSTATUS = 0xC0020018; -pub const RPC_NT_INVALID_NETWORK_OPTIONS: NTSTATUS = 0xC0020019; -pub const RPC_NT_NO_CALL_ACTIVE: NTSTATUS = 0xC002001A; -pub const RPC_NT_CALL_FAILED: NTSTATUS = 0xC002001B; -pub const RPC_NT_CALL_FAILED_DNE: NTSTATUS = 0xC002001C; -pub const RPC_NT_PROTOCOL_ERROR: NTSTATUS = 0xC002001D; -pub const RPC_NT_UNSUPPORTED_TRANS_SYN: NTSTATUS = 0xC002001F; -pub const RPC_NT_UNSUPPORTED_TYPE: NTSTATUS = 0xC0020021; -pub const RPC_NT_INVALID_TAG: NTSTATUS = 0xC0020022; -pub const RPC_NT_INVALID_BOUND: NTSTATUS = 0xC0020023; -pub const RPC_NT_NO_ENTRY_NAME: NTSTATUS = 0xC0020024; -pub const RPC_NT_INVALID_NAME_SYNTAX: NTSTATUS = 0xC0020025; -pub const RPC_NT_UNSUPPORTED_NAME_SYNTAX: NTSTATUS = 0xC0020026; -pub const RPC_NT_UUID_NO_ADDRESS: NTSTATUS = 0xC0020028; -pub const RPC_NT_DUPLICATE_ENDPOINT: NTSTATUS = 0xC0020029; -pub const RPC_NT_UNKNOWN_AUTHN_TYPE: NTSTATUS = 0xC002002A; -pub const RPC_NT_MAX_CALLS_TOO_SMALL: NTSTATUS = 0xC002002B; -pub const RPC_NT_STRING_TOO_LONG: NTSTATUS = 0xC002002C; -pub const RPC_NT_PROTSEQ_NOT_FOUND: NTSTATUS = 0xC002002D; -pub const RPC_NT_PROCNUM_OUT_OF_RANGE: NTSTATUS = 0xC002002E; -pub const RPC_NT_BINDING_HAS_NO_AUTH: NTSTATUS = 0xC002002F; -pub const RPC_NT_UNKNOWN_AUTHN_SERVICE: NTSTATUS = 0xC0020030; -pub const RPC_NT_UNKNOWN_AUTHN_LEVEL: NTSTATUS = 0xC0020031; -pub const RPC_NT_INVALID_AUTH_IDENTITY: NTSTATUS = 0xC0020032; -pub const RPC_NT_UNKNOWN_AUTHZ_SERVICE: NTSTATUS = 0xC0020033; -pub const EPT_NT_INVALID_ENTRY: NTSTATUS = 0xC0020034; -pub const EPT_NT_CANT_PERFORM_OP: NTSTATUS = 0xC0020035; -pub const EPT_NT_NOT_REGISTERED: NTSTATUS = 0xC0020036; -pub const RPC_NT_NOTHING_TO_EXPORT: NTSTATUS = 0xC0020037; -pub const RPC_NT_INCOMPLETE_NAME: NTSTATUS = 0xC0020038; -pub const RPC_NT_INVALID_VERS_OPTION: NTSTATUS = 0xC0020039; -pub const RPC_NT_NO_MORE_MEMBERS: NTSTATUS = 0xC002003A; -pub const RPC_NT_NOT_ALL_OBJS_UNEXPORTED: NTSTATUS = 0xC002003B; -pub const RPC_NT_INTERFACE_NOT_FOUND: NTSTATUS = 0xC002003C; -pub const RPC_NT_ENTRY_ALREADY_EXISTS: NTSTATUS = 0xC002003D; -pub const RPC_NT_ENTRY_NOT_FOUND: NTSTATUS = 0xC002003E; -pub const RPC_NT_NAME_SERVICE_UNAVAILABLE: NTSTATUS = 0xC002003F; -pub const RPC_NT_INVALID_NAF_ID: NTSTATUS = 0xC0020040; -pub const RPC_NT_CANNOT_SUPPORT: NTSTATUS = 0xC0020041; -pub const RPC_NT_NO_CONTEXT_AVAILABLE: NTSTATUS = 0xC0020042; -pub const RPC_NT_INTERNAL_ERROR: NTSTATUS = 0xC0020043; -pub const RPC_NT_ZERO_DIVIDE: NTSTATUS = 0xC0020044; -pub const RPC_NT_ADDRESS_ERROR: NTSTATUS = 0xC0020045; -pub const RPC_NT_FP_DIV_ZERO: NTSTATUS = 0xC0020046; -pub const RPC_NT_FP_UNDERFLOW: NTSTATUS = 0xC0020047; -pub const RPC_NT_FP_OVERFLOW: NTSTATUS = 0xC0020048; -pub const RPC_NT_NO_MORE_ENTRIES: NTSTATUS = 0xC0030001; -pub const RPC_NT_SS_CHAR_TRANS_OPEN_FAIL: NTSTATUS = 0xC0030002; -pub const RPC_NT_SS_CHAR_TRANS_SHORT_FILE: NTSTATUS = 0xC0030003; -pub const RPC_NT_SS_IN_NULL_CONTEXT: NTSTATUS = 0xC0030004; -pub const RPC_NT_SS_CONTEXT_MISMATCH: NTSTATUS = 0xC0030005; -pub const RPC_NT_SS_CONTEXT_DAMAGED: NTSTATUS = 0xC0030006; -pub const RPC_NT_SS_HANDLES_MISMATCH: NTSTATUS = 0xC0030007; -pub const RPC_NT_SS_CANNOT_GET_CALL_HANDLE: NTSTATUS = 0xC0030008; -pub const RPC_NT_NULL_REF_POINTER: NTSTATUS = 0xC0030009; -pub const RPC_NT_ENUM_VALUE_OUT_OF_RANGE: NTSTATUS = 0xC003000A; -pub const RPC_NT_BYTE_COUNT_TOO_SMALL: NTSTATUS = 0xC003000B; -pub const RPC_NT_BAD_STUB_DATA: NTSTATUS = 0xC003000C; -pub const RPC_NT_CALL_IN_PROGRESS: NTSTATUS = 0xC0020049; -pub const RPC_NT_NO_MORE_BINDINGS: NTSTATUS = 0xC002004A; -pub const RPC_NT_GROUP_MEMBER_NOT_FOUND: NTSTATUS = 0xC002004B; -pub const EPT_NT_CANT_CREATE: NTSTATUS = 0xC002004C; -pub const RPC_NT_INVALID_OBJECT: NTSTATUS = 0xC002004D; -pub const RPC_NT_NO_INTERFACES: NTSTATUS = 0xC002004F; -pub const RPC_NT_CALL_CANCELLED: NTSTATUS = 0xC0020050; -pub const RPC_NT_BINDING_INCOMPLETE: NTSTATUS = 0xC0020051; -pub const RPC_NT_COMM_FAILURE: NTSTATUS = 0xC0020052; -pub const RPC_NT_UNSUPPORTED_AUTHN_LEVEL: NTSTATUS = 0xC0020053; -pub const RPC_NT_NO_PRINC_NAME: NTSTATUS = 0xC0020054; -pub const RPC_NT_NOT_RPC_ERROR: NTSTATUS = 0xC0020055; -pub const RPC_NT_UUID_LOCAL_ONLY: NTSTATUS = 0x40020056; -pub const RPC_NT_SEC_PKG_ERROR: NTSTATUS = 0xC0020057; -pub const RPC_NT_NOT_CANCELLED: NTSTATUS = 0xC0020058; -pub const RPC_NT_INVALID_ES_ACTION: NTSTATUS = 0xC0030059; -pub const RPC_NT_WRONG_ES_VERSION: NTSTATUS = 0xC003005A; -pub const RPC_NT_WRONG_STUB_VERSION: NTSTATUS = 0xC003005B; -pub const RPC_NT_INVALID_PIPE_OBJECT: NTSTATUS = 0xC003005C; -pub const RPC_NT_INVALID_PIPE_OPERATION: NTSTATUS = 0xC003005D; -pub const RPC_NT_WRONG_PIPE_VERSION: NTSTATUS = 0xC003005E; -pub const RPC_NT_PIPE_CLOSED: NTSTATUS = 0xC003005F; -pub const RPC_NT_PIPE_DISCIPLINE_ERROR: NTSTATUS = 0xC0030060; -pub const RPC_NT_PIPE_EMPTY: NTSTATUS = 0xC0030061; -pub const RPC_NT_INVALID_ASYNC_HANDLE: NTSTATUS = 0xC0020062; -pub const RPC_NT_INVALID_ASYNC_CALL: NTSTATUS = 0xC0020063; -pub const RPC_NT_PROXY_ACCESS_DENIED: NTSTATUS = 0xC0020064; -pub const RPC_NT_COOKIE_AUTH_FAILED: NTSTATUS = 0xC0020065; -pub const RPC_NT_SEND_INCOMPLETE: NTSTATUS = 0x400200AF; -pub const STATUS_ACPI_INVALID_OPCODE: NTSTATUS = 0xC0140001; -pub const STATUS_ACPI_STACK_OVERFLOW: NTSTATUS = 0xC0140002; -pub const STATUS_ACPI_ASSERT_FAILED: NTSTATUS = 0xC0140003; -pub const STATUS_ACPI_INVALID_INDEX: NTSTATUS = 0xC0140004; -pub const STATUS_ACPI_INVALID_ARGUMENT: NTSTATUS = 0xC0140005; -pub const STATUS_ACPI_FATAL: NTSTATUS = 0xC0140006; -pub const STATUS_ACPI_INVALID_SUPERNAME: NTSTATUS = 0xC0140007; -pub const STATUS_ACPI_INVALID_ARGTYPE: NTSTATUS = 0xC0140008; -pub const STATUS_ACPI_INVALID_OBJTYPE: NTSTATUS = 0xC0140009; -pub const STATUS_ACPI_INVALID_TARGETTYPE: NTSTATUS = 0xC014000A; -pub const STATUS_ACPI_INCORRECT_ARGUMENT_COUNT: NTSTATUS = 0xC014000B; -pub const STATUS_ACPI_ADDRESS_NOT_MAPPED: NTSTATUS = 0xC014000C; -pub const STATUS_ACPI_INVALID_EVENTTYPE: NTSTATUS = 0xC014000D; -pub const STATUS_ACPI_HANDLER_COLLISION: NTSTATUS = 0xC014000E; -pub const STATUS_ACPI_INVALID_DATA: NTSTATUS = 0xC014000F; -pub const STATUS_ACPI_INVALID_REGION: NTSTATUS = 0xC0140010; -pub const STATUS_ACPI_INVALID_ACCESS_SIZE: NTSTATUS = 0xC0140011; -pub const STATUS_ACPI_ACQUIRE_GLOBAL_LOCK: NTSTATUS = 0xC0140012; -pub const STATUS_ACPI_ALREADY_INITIALIZED: NTSTATUS = 0xC0140013; -pub const STATUS_ACPI_NOT_INITIALIZED: NTSTATUS = 0xC0140014; -pub const STATUS_ACPI_INVALID_MUTEX_LEVEL: NTSTATUS = 0xC0140015; -pub const STATUS_ACPI_MUTEX_NOT_OWNED: NTSTATUS = 0xC0140016; -pub const STATUS_ACPI_MUTEX_NOT_OWNER: NTSTATUS = 0xC0140017; -pub const STATUS_ACPI_RS_ACCESS: NTSTATUS = 0xC0140018; -pub const STATUS_ACPI_INVALID_TABLE: NTSTATUS = 0xC0140019; -pub const STATUS_ACPI_REG_HANDLER_FAILED: NTSTATUS = 0xC0140020; -pub const STATUS_ACPI_POWER_REQUEST_FAILED: NTSTATUS = 0xC0140021; -pub const STATUS_CTX_WINSTATION_NAME_INVALID: NTSTATUS = 0xC00A0001; -pub const STATUS_CTX_INVALID_PD: NTSTATUS = 0xC00A0002; -pub const STATUS_CTX_PD_NOT_FOUND: NTSTATUS = 0xC00A0003; -pub const STATUS_CTX_CDM_CONNECT: NTSTATUS = 0x400A0004; -pub const STATUS_CTX_CDM_DISCONNECT: NTSTATUS = 0x400A0005; -pub const STATUS_CTX_CLOSE_PENDING: NTSTATUS = 0xC00A0006; -pub const STATUS_CTX_NO_OUTBUF: NTSTATUS = 0xC00A0007; -pub const STATUS_CTX_MODEM_INF_NOT_FOUND: NTSTATUS = 0xC00A0008; -pub const STATUS_CTX_INVALID_MODEMNAME: NTSTATUS = 0xC00A0009; -pub const STATUS_CTX_RESPONSE_ERROR: NTSTATUS = 0xC00A000A; -pub const STATUS_CTX_MODEM_RESPONSE_TIMEOUT: NTSTATUS = 0xC00A000B; -pub const STATUS_CTX_MODEM_RESPONSE_NO_CARRIER: NTSTATUS = 0xC00A000C; -pub const STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE: NTSTATUS = 0xC00A000D; -pub const STATUS_CTX_MODEM_RESPONSE_BUSY: NTSTATUS = 0xC00A000E; -pub const STATUS_CTX_MODEM_RESPONSE_VOICE: NTSTATUS = 0xC00A000F; -pub const STATUS_CTX_TD_ERROR: NTSTATUS = 0xC00A0010; -pub const STATUS_CTX_LICENSE_CLIENT_INVALID: NTSTATUS = 0xC00A0012; -pub const STATUS_CTX_LICENSE_NOT_AVAILABLE: NTSTATUS = 0xC00A0013; -pub const STATUS_CTX_LICENSE_EXPIRED: NTSTATUS = 0xC00A0014; -pub const STATUS_CTX_WINSTATION_NOT_FOUND: NTSTATUS = 0xC00A0015; -pub const STATUS_CTX_WINSTATION_NAME_COLLISION: NTSTATUS = 0xC00A0016; -pub const STATUS_CTX_WINSTATION_BUSY: NTSTATUS = 0xC00A0017; -pub const STATUS_CTX_BAD_VIDEO_MODE: NTSTATUS = 0xC00A0018; -pub const STATUS_CTX_GRAPHICS_INVALID: NTSTATUS = 0xC00A0022; -pub const STATUS_CTX_NOT_CONSOLE: NTSTATUS = 0xC00A0024; -pub const STATUS_CTX_CLIENT_QUERY_TIMEOUT: NTSTATUS = 0xC00A0026; -pub const STATUS_CTX_CONSOLE_DISCONNECT: NTSTATUS = 0xC00A0027; -pub const STATUS_CTX_CONSOLE_CONNECT: NTSTATUS = 0xC00A0028; -pub const STATUS_CTX_SHADOW_DENIED: NTSTATUS = 0xC00A002A; -pub const STATUS_CTX_WINSTATION_ACCESS_DENIED: NTSTATUS = 0xC00A002B; -pub const STATUS_CTX_INVALID_WD: NTSTATUS = 0xC00A002E; -pub const STATUS_CTX_WD_NOT_FOUND: NTSTATUS = 0xC00A002F; -pub const STATUS_CTX_SHADOW_INVALID: NTSTATUS = 0xC00A0030; -pub const STATUS_CTX_SHADOW_DISABLED: NTSTATUS = 0xC00A0031; -pub const STATUS_RDP_PROTOCOL_ERROR: NTSTATUS = 0xC00A0032; -pub const STATUS_CTX_CLIENT_LICENSE_NOT_SET: NTSTATUS = 0xC00A0033; -pub const STATUS_CTX_CLIENT_LICENSE_IN_USE: NTSTATUS = 0xC00A0034; -pub const STATUS_CTX_SHADOW_ENDED_BY_MODE_CHANGE: NTSTATUS = 0xC00A0035; -pub const STATUS_CTX_SHADOW_NOT_RUNNING: NTSTATUS = 0xC00A0036; -pub const STATUS_CTX_LOGON_DISABLED: NTSTATUS = 0xC00A0037; -pub const STATUS_CTX_SECURITY_LAYER_ERROR: NTSTATUS = 0xC00A0038; -pub const STATUS_TS_INCOMPATIBLE_SESSIONS: NTSTATUS = 0xC00A0039; -pub const STATUS_TS_VIDEO_SUBSYSTEM_ERROR: NTSTATUS = 0xC00A003A; -pub const STATUS_PNP_BAD_MPS_TABLE: NTSTATUS = 0xC0040035; -pub const STATUS_PNP_TRANSLATION_FAILED: NTSTATUS = 0xC0040036; -pub const STATUS_PNP_IRQ_TRANSLATION_FAILED: NTSTATUS = 0xC0040037; -pub const STATUS_PNP_INVALID_ID: NTSTATUS = 0xC0040038; -pub const STATUS_IO_REISSUE_AS_CACHED: NTSTATUS = 0xC0040039; -pub const STATUS_MUI_FILE_NOT_FOUND: NTSTATUS = 0xC00B0001; -pub const STATUS_MUI_INVALID_FILE: NTSTATUS = 0xC00B0002; -pub const STATUS_MUI_INVALID_RC_CONFIG: NTSTATUS = 0xC00B0003; -pub const STATUS_MUI_INVALID_LOCALE_NAME: NTSTATUS = 0xC00B0004; -pub const STATUS_MUI_INVALID_ULTIMATEFALLBACK_NAME: NTSTATUS = 0xC00B0005; -pub const STATUS_MUI_FILE_NOT_LOADED: NTSTATUS = 0xC00B0006; -pub const STATUS_RESOURCE_ENUM_USER_STOP: NTSTATUS = 0xC00B0007; -//FILTER_FLT_NTSTATUS_FROM_HRESULT -pub const STATUS_FLT_NO_HANDLER_DEFINED: NTSTATUS = 0xC01C0001; -pub const STATUS_FLT_CONTEXT_ALREADY_DEFINED: NTSTATUS = 0xC01C0002; -pub const STATUS_FLT_INVALID_ASYNCHRONOUS_REQUEST: NTSTATUS = 0xC01C0003; -pub const STATUS_FLT_DISALLOW_FAST_IO: NTSTATUS = 0xC01C0004; -pub const STATUS_FLT_INVALID_NAME_REQUEST: NTSTATUS = 0xC01C0005; -pub const STATUS_FLT_NOT_SAFE_TO_POST_OPERATION: NTSTATUS = 0xC01C0006; -pub const STATUS_FLT_NOT_INITIALIZED: NTSTATUS = 0xC01C0007; -pub const STATUS_FLT_FILTER_NOT_READY: NTSTATUS = 0xC01C0008; -pub const STATUS_FLT_POST_OPERATION_CLEANUP: NTSTATUS = 0xC01C0009; -pub const STATUS_FLT_INTERNAL_ERROR: NTSTATUS = 0xC01C000A; -pub const STATUS_FLT_DELETING_OBJECT: NTSTATUS = 0xC01C000B; -pub const STATUS_FLT_MUST_BE_NONPAGED_POOL: NTSTATUS = 0xC01C000C; -pub const STATUS_FLT_DUPLICATE_ENTRY: NTSTATUS = 0xC01C000D; -pub const STATUS_FLT_CBDQ_DISABLED: NTSTATUS = 0xC01C000E; -pub const STATUS_FLT_DO_NOT_ATTACH: NTSTATUS = 0xC01C000F; -pub const STATUS_FLT_DO_NOT_DETACH: NTSTATUS = 0xC01C0010; -pub const STATUS_FLT_INSTANCE_ALTITUDE_COLLISION: NTSTATUS = 0xC01C0011; -pub const STATUS_FLT_INSTANCE_NAME_COLLISION: NTSTATUS = 0xC01C0012; -pub const STATUS_FLT_FILTER_NOT_FOUND: NTSTATUS = 0xC01C0013; -pub const STATUS_FLT_VOLUME_NOT_FOUND: NTSTATUS = 0xC01C0014; -pub const STATUS_FLT_INSTANCE_NOT_FOUND: NTSTATUS = 0xC01C0015; -pub const STATUS_FLT_CONTEXT_ALLOCATION_NOT_FOUND: NTSTATUS = 0xC01C0016; -pub const STATUS_FLT_INVALID_CONTEXT_REGISTRATION: NTSTATUS = 0xC01C0017; -pub const STATUS_FLT_NAME_CACHE_MISS: NTSTATUS = 0xC01C0018; -pub const STATUS_FLT_NO_DEVICE_OBJECT: NTSTATUS = 0xC01C0019; -pub const STATUS_FLT_VOLUME_ALREADY_MOUNTED: NTSTATUS = 0xC01C001A; -pub const STATUS_FLT_ALREADY_ENLISTED: NTSTATUS = 0xC01C001B; -pub const STATUS_FLT_CONTEXT_ALREADY_LINKED: NTSTATUS = 0xC01C001C; -pub const STATUS_FLT_NO_WAITER_FOR_REPLY: NTSTATUS = 0xC01C0020; -pub const STATUS_FLT_REGISTRATION_BUSY: NTSTATUS = 0xC01C0023; -pub const STATUS_SXS_SECTION_NOT_FOUND: NTSTATUS = 0xC0150001; -pub const STATUS_SXS_CANT_GEN_ACTCTX: NTSTATUS = 0xC0150002; -pub const STATUS_SXS_INVALID_ACTCTXDATA_FORMAT: NTSTATUS = 0xC0150003; -pub const STATUS_SXS_ASSEMBLY_NOT_FOUND: NTSTATUS = 0xC0150004; -pub const STATUS_SXS_MANIFEST_FORMAT_ERROR: NTSTATUS = 0xC0150005; -pub const STATUS_SXS_MANIFEST_PARSE_ERROR: NTSTATUS = 0xC0150006; -pub const STATUS_SXS_ACTIVATION_CONTEXT_DISABLED: NTSTATUS = 0xC0150007; -pub const STATUS_SXS_KEY_NOT_FOUND: NTSTATUS = 0xC0150008; -pub const STATUS_SXS_VERSION_CONFLICT: NTSTATUS = 0xC0150009; -pub const STATUS_SXS_WRONG_SECTION_TYPE: NTSTATUS = 0xC015000A; -pub const STATUS_SXS_THREAD_QUERIES_DISABLED: NTSTATUS = 0xC015000B; -pub const STATUS_SXS_ASSEMBLY_MISSING: NTSTATUS = 0xC015000C; -pub const STATUS_SXS_RELEASE_ACTIVATION_CONTEXT: NTSTATUS = 0x4015000D; -pub const STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET: NTSTATUS = 0xC015000E; -pub const STATUS_SXS_EARLY_DEACTIVATION: NTSTATUS = 0xC015000F; -pub const STATUS_SXS_INVALID_DEACTIVATION: NTSTATUS = 0xC0150010; -pub const STATUS_SXS_MULTIPLE_DEACTIVATION: NTSTATUS = 0xC0150011; -pub const STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY: NTSTATUS = 0xC0150012; -pub const STATUS_SXS_PROCESS_TERMINATION_REQUESTED: NTSTATUS = 0xC0150013; -pub const STATUS_SXS_CORRUPT_ACTIVATION_STACK: NTSTATUS = 0xC0150014; -pub const STATUS_SXS_CORRUPTION: NTSTATUS = 0xC0150015; -pub const STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE: NTSTATUS = 0xC0150016; -pub const STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME: NTSTATUS = 0xC0150017; -pub const STATUS_SXS_IDENTITY_DUPLICATE_ATTRIBUTE: NTSTATUS = 0xC0150018; -pub const STATUS_SXS_IDENTITY_PARSE_ERROR: NTSTATUS = 0xC0150019; -pub const STATUS_SXS_COMPONENT_STORE_CORRUPT: NTSTATUS = 0xC015001A; -pub const STATUS_SXS_FILE_HASH_MISMATCH: NTSTATUS = 0xC015001B; -pub const STATUS_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT: NTSTATUS - = 0xC015001C; -pub const STATUS_SXS_IDENTITIES_DIFFERENT: NTSTATUS = 0xC015001D; -pub const STATUS_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT: NTSTATUS = 0xC015001E; -pub const STATUS_SXS_FILE_NOT_PART_OF_ASSEMBLY: NTSTATUS = 0xC015001F; -pub const STATUS_ADVANCED_INSTALLER_FAILED: NTSTATUS = 0xC0150020; -pub const STATUS_XML_ENCODING_MISMATCH: NTSTATUS = 0xC0150021; -pub const STATUS_SXS_MANIFEST_TOO_BIG: NTSTATUS = 0xC0150022; -pub const STATUS_SXS_SETTING_NOT_REGISTERED: NTSTATUS = 0xC0150023; -pub const STATUS_SXS_TRANSACTION_CLOSURE_INCOMPLETE: NTSTATUS = 0xC0150024; -pub const STATUS_SMI_PRIMITIVE_INSTALLER_FAILED: NTSTATUS = 0xC0150025; -pub const STATUS_GENERIC_COMMAND_FAILED: NTSTATUS = 0xC0150026; -pub const STATUS_SXS_FILE_HASH_MISSING: NTSTATUS = 0xC0150027; -pub const STATUS_CLUSTER_INVALID_NODE: NTSTATUS = 0xC0130001; -pub const STATUS_CLUSTER_NODE_EXISTS: NTSTATUS = 0xC0130002; -pub const STATUS_CLUSTER_JOIN_IN_PROGRESS: NTSTATUS = 0xC0130003; -pub const STATUS_CLUSTER_NODE_NOT_FOUND: NTSTATUS = 0xC0130004; -pub const STATUS_CLUSTER_LOCAL_NODE_NOT_FOUND: NTSTATUS = 0xC0130005; -pub const STATUS_CLUSTER_NETWORK_EXISTS: NTSTATUS = 0xC0130006; -pub const STATUS_CLUSTER_NETWORK_NOT_FOUND: NTSTATUS = 0xC0130007; -pub const STATUS_CLUSTER_NETINTERFACE_EXISTS: NTSTATUS = 0xC0130008; -pub const STATUS_CLUSTER_NETINTERFACE_NOT_FOUND: NTSTATUS = 0xC0130009; -pub const STATUS_CLUSTER_INVALID_REQUEST: NTSTATUS = 0xC013000A; -pub const STATUS_CLUSTER_INVALID_NETWORK_PROVIDER: NTSTATUS = 0xC013000B; -pub const STATUS_CLUSTER_NODE_DOWN: NTSTATUS = 0xC013000C; -pub const STATUS_CLUSTER_NODE_UNREACHABLE: NTSTATUS = 0xC013000D; -pub const STATUS_CLUSTER_NODE_NOT_MEMBER: NTSTATUS = 0xC013000E; -pub const STATUS_CLUSTER_JOIN_NOT_IN_PROGRESS: NTSTATUS = 0xC013000F; -pub const STATUS_CLUSTER_INVALID_NETWORK: NTSTATUS = 0xC0130010; -pub const STATUS_CLUSTER_NO_NET_ADAPTERS: NTSTATUS = 0xC0130011; -pub const STATUS_CLUSTER_NODE_UP: NTSTATUS = 0xC0130012; -pub const STATUS_CLUSTER_NODE_PAUSED: NTSTATUS = 0xC0130013; -pub const STATUS_CLUSTER_NODE_NOT_PAUSED: NTSTATUS = 0xC0130014; -pub const STATUS_CLUSTER_NO_SECURITY_CONTEXT: NTSTATUS = 0xC0130015; -pub const STATUS_CLUSTER_NETWORK_NOT_INTERNAL: NTSTATUS = 0xC0130016; -pub const STATUS_CLUSTER_POISONED: NTSTATUS = 0xC0130017; -pub const STATUS_CLUSTER_NON_CSV_PATH: NTSTATUS = 0xC0130018; -pub const STATUS_CLUSTER_CSV_VOLUME_NOT_LOCAL: NTSTATUS = 0xC0130019; -pub const STATUS_CLUSTER_CSV_READ_OPLOCK_BREAK_IN_PROGRESS: NTSTATUS = 0xC0130020; -pub const STATUS_CLUSTER_CSV_AUTO_PAUSE_ERROR: NTSTATUS = 0xC0130021; -pub const STATUS_CLUSTER_CSV_REDIRECTED: NTSTATUS = 0xC0130022; -pub const STATUS_CLUSTER_CSV_NOT_REDIRECTED: NTSTATUS = 0xC0130023; -pub const STATUS_CLUSTER_CSV_VOLUME_DRAINING: NTSTATUS = 0xC0130024; -pub const STATUS_CLUSTER_CSV_SNAPSHOT_CREATION_IN_PROGRESS: NTSTATUS = 0xC0130025; -pub const STATUS_CLUSTER_CSV_VOLUME_DRAINING_SUCCEEDED_DOWNLEVEL: NTSTATUS = 0xC0130026; -pub const STATUS_CLUSTER_CSV_NO_SNAPSHOTS: NTSTATUS = 0xC0130027; -pub const STATUS_CSV_IO_PAUSE_TIMEOUT: NTSTATUS = 0xC0130028; -pub const STATUS_CLUSTER_CSV_INVALID_HANDLE: NTSTATUS = 0xC0130029; -pub const STATUS_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR: NTSTATUS = 0xC0130030; -pub const STATUS_TRANSACTIONAL_CONFLICT: NTSTATUS = 0xC0190001; -pub const STATUS_INVALID_TRANSACTION: NTSTATUS = 0xC0190002; -pub const STATUS_TRANSACTION_NOT_ACTIVE: NTSTATUS = 0xC0190003; -pub const STATUS_TM_INITIALIZATION_FAILED: NTSTATUS = 0xC0190004; -pub const STATUS_RM_NOT_ACTIVE: NTSTATUS = 0xC0190005; -pub const STATUS_RM_METADATA_CORRUPT: NTSTATUS = 0xC0190006; -pub const STATUS_TRANSACTION_NOT_JOINED: NTSTATUS = 0xC0190007; -pub const STATUS_DIRECTORY_NOT_RM: NTSTATUS = 0xC0190008; -pub const STATUS_COULD_NOT_RESIZE_LOG: NTSTATUS = 0x80190009; -pub const STATUS_TRANSACTIONS_UNSUPPORTED_REMOTE: NTSTATUS = 0xC019000A; -pub const STATUS_LOG_RESIZE_INVALID_SIZE: NTSTATUS = 0xC019000B; -pub const STATUS_REMOTE_FILE_VERSION_MISMATCH: NTSTATUS = 0xC019000C; -pub const STATUS_CRM_PROTOCOL_ALREADY_EXISTS: NTSTATUS = 0xC019000F; -pub const STATUS_TRANSACTION_PROPAGATION_FAILED: NTSTATUS = 0xC0190010; -pub const STATUS_CRM_PROTOCOL_NOT_FOUND: NTSTATUS = 0xC0190011; -pub const STATUS_TRANSACTION_SUPERIOR_EXISTS: NTSTATUS = 0xC0190012; -pub const STATUS_TRANSACTION_REQUEST_NOT_VALID: NTSTATUS = 0xC0190013; -pub const STATUS_TRANSACTION_NOT_REQUESTED: NTSTATUS = 0xC0190014; -pub const STATUS_TRANSACTION_ALREADY_ABORTED: NTSTATUS = 0xC0190015; -pub const STATUS_TRANSACTION_ALREADY_COMMITTED: NTSTATUS = 0xC0190016; -pub const STATUS_TRANSACTION_INVALID_MARSHALL_BUFFER: NTSTATUS = 0xC0190017; -pub const STATUS_CURRENT_TRANSACTION_NOT_VALID: NTSTATUS = 0xC0190018; -pub const STATUS_LOG_GROWTH_FAILED: NTSTATUS = 0xC0190019; -pub const STATUS_OBJECT_NO_LONGER_EXISTS: NTSTATUS = 0xC0190021; -pub const STATUS_STREAM_MINIVERSION_NOT_FOUND: NTSTATUS = 0xC0190022; -pub const STATUS_STREAM_MINIVERSION_NOT_VALID: NTSTATUS = 0xC0190023; -pub const STATUS_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION: NTSTATUS - = 0xC0190024; -pub const STATUS_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT: NTSTATUS = 0xC0190025; -pub const STATUS_CANT_CREATE_MORE_STREAM_MINIVERSIONS: NTSTATUS = 0xC0190026; -pub const STATUS_HANDLE_NO_LONGER_VALID: NTSTATUS = 0xC0190028; -pub const STATUS_NO_TXF_METADATA: NTSTATUS = 0x80190029; -pub const STATUS_LOG_CORRUPTION_DETECTED: NTSTATUS = 0xC0190030; -pub const STATUS_CANT_RECOVER_WITH_HANDLE_OPEN: NTSTATUS = 0x80190031; -pub const STATUS_RM_DISCONNECTED: NTSTATUS = 0xC0190032; -pub const STATUS_ENLISTMENT_NOT_SUPERIOR: NTSTATUS = 0xC0190033; -pub const STATUS_RECOVERY_NOT_NEEDED: NTSTATUS = 0x40190034; -pub const STATUS_RM_ALREADY_STARTED: NTSTATUS = 0x40190035; -pub const STATUS_FILE_IDENTITY_NOT_PERSISTENT: NTSTATUS = 0xC0190036; -pub const STATUS_CANT_BREAK_TRANSACTIONAL_DEPENDENCY: NTSTATUS = 0xC0190037; -pub const STATUS_CANT_CROSS_RM_BOUNDARY: NTSTATUS = 0xC0190038; -pub const STATUS_TXF_DIR_NOT_EMPTY: NTSTATUS = 0xC0190039; -pub const STATUS_INDOUBT_TRANSACTIONS_EXIST: NTSTATUS = 0xC019003A; -pub const STATUS_TM_VOLATILE: NTSTATUS = 0xC019003B; -pub const STATUS_ROLLBACK_TIMER_EXPIRED: NTSTATUS = 0xC019003C; -pub const STATUS_TXF_ATTRIBUTE_CORRUPT: NTSTATUS = 0xC019003D; -pub const STATUS_EFS_NOT_ALLOWED_IN_TRANSACTION: NTSTATUS = 0xC019003E; -pub const STATUS_TRANSACTIONAL_OPEN_NOT_ALLOWED: NTSTATUS = 0xC019003F; -pub const STATUS_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE: NTSTATUS = 0xC0190040; -pub const STATUS_TXF_METADATA_ALREADY_PRESENT: NTSTATUS = 0x80190041; -pub const STATUS_TRANSACTION_SCOPE_CALLBACKS_NOT_SET: NTSTATUS = 0x80190042; -pub const STATUS_TRANSACTION_REQUIRED_PROMOTION: NTSTATUS = 0xC0190043; -pub const STATUS_CANNOT_EXECUTE_FILE_IN_TRANSACTION: NTSTATUS = 0xC0190044; -pub const STATUS_TRANSACTIONS_NOT_FROZEN: NTSTATUS = 0xC0190045; -pub const STATUS_TRANSACTION_FREEZE_IN_PROGRESS: NTSTATUS = 0xC0190046; -pub const STATUS_NOT_SNAPSHOT_VOLUME: NTSTATUS = 0xC0190047; -pub const STATUS_NO_SAVEPOINT_WITH_OPEN_FILES: NTSTATUS = 0xC0190048; -pub const STATUS_SPARSE_NOT_ALLOWED_IN_TRANSACTION: NTSTATUS = 0xC0190049; -pub const STATUS_TM_IDENTITY_MISMATCH: NTSTATUS = 0xC019004A; -pub const STATUS_FLOATED_SECTION: NTSTATUS = 0xC019004B; -pub const STATUS_CANNOT_ACCEPT_TRANSACTED_WORK: NTSTATUS = 0xC019004C; -pub const STATUS_CANNOT_ABORT_TRANSACTIONS: NTSTATUS = 0xC019004D; -pub const STATUS_TRANSACTION_NOT_FOUND: NTSTATUS = 0xC019004E; -pub const STATUS_RESOURCEMANAGER_NOT_FOUND: NTSTATUS = 0xC019004F; -pub const STATUS_ENLISTMENT_NOT_FOUND: NTSTATUS = 0xC0190050; -pub const STATUS_TRANSACTIONMANAGER_NOT_FOUND: NTSTATUS = 0xC0190051; -pub const STATUS_TRANSACTIONMANAGER_NOT_ONLINE: NTSTATUS = 0xC0190052; -pub const STATUS_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION: NTSTATUS = 0xC0190053; -pub const STATUS_TRANSACTION_NOT_ROOT: NTSTATUS = 0xC0190054; -pub const STATUS_TRANSACTION_OBJECT_EXPIRED: NTSTATUS = 0xC0190055; -pub const STATUS_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION: NTSTATUS = 0xC0190056; -pub const STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED: NTSTATUS = 0xC0190057; -pub const STATUS_TRANSACTION_RECORD_TOO_LONG: NTSTATUS = 0xC0190058; -pub const STATUS_NO_LINK_TRACKING_IN_TRANSACTION: NTSTATUS = 0xC0190059; -pub const STATUS_OPERATION_NOT_SUPPORTED_IN_TRANSACTION: NTSTATUS = 0xC019005A; -pub const STATUS_TRANSACTION_INTEGRITY_VIOLATED: NTSTATUS = 0xC019005B; -pub const STATUS_TRANSACTIONMANAGER_IDENTITY_MISMATCH: NTSTATUS = 0xC019005C; -pub const STATUS_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT: NTSTATUS = 0xC019005D; -pub const STATUS_TRANSACTION_MUST_WRITETHROUGH: NTSTATUS = 0xC019005E; -pub const STATUS_TRANSACTION_NO_SUPERIOR: NTSTATUS = 0xC019005F; -pub const STATUS_EXPIRED_HANDLE: NTSTATUS = 0xC0190060; -pub const STATUS_TRANSACTION_NOT_ENLISTED: NTSTATUS = 0xC0190061; -pub const STATUS_LOG_SECTOR_INVALID: NTSTATUS = 0xC01A0001; -pub const STATUS_LOG_SECTOR_PARITY_INVALID: NTSTATUS = 0xC01A0002; -pub const STATUS_LOG_SECTOR_REMAPPED: NTSTATUS = 0xC01A0003; -pub const STATUS_LOG_BLOCK_INCOMPLETE: NTSTATUS = 0xC01A0004; -pub const STATUS_LOG_INVALID_RANGE: NTSTATUS = 0xC01A0005; -pub const STATUS_LOG_BLOCKS_EXHAUSTED: NTSTATUS = 0xC01A0006; -pub const STATUS_LOG_READ_CONTEXT_INVALID: NTSTATUS = 0xC01A0007; -pub const STATUS_LOG_RESTART_INVALID: NTSTATUS = 0xC01A0008; -pub const STATUS_LOG_BLOCK_VERSION: NTSTATUS = 0xC01A0009; -pub const STATUS_LOG_BLOCK_INVALID: NTSTATUS = 0xC01A000A; -pub const STATUS_LOG_READ_MODE_INVALID: NTSTATUS = 0xC01A000B; -pub const STATUS_LOG_NO_RESTART: NTSTATUS = 0x401A000C; -pub const STATUS_LOG_METADATA_CORRUPT: NTSTATUS = 0xC01A000D; -pub const STATUS_LOG_METADATA_INVALID: NTSTATUS = 0xC01A000E; -pub const STATUS_LOG_METADATA_INCONSISTENT: NTSTATUS = 0xC01A000F; -pub const STATUS_LOG_RESERVATION_INVALID: NTSTATUS = 0xC01A0010; -pub const STATUS_LOG_CANT_DELETE: NTSTATUS = 0xC01A0011; -pub const STATUS_LOG_CONTAINER_LIMIT_EXCEEDED: NTSTATUS = 0xC01A0012; -pub const STATUS_LOG_START_OF_LOG: NTSTATUS = 0xC01A0013; -pub const STATUS_LOG_POLICY_ALREADY_INSTALLED: NTSTATUS = 0xC01A0014; -pub const STATUS_LOG_POLICY_NOT_INSTALLED: NTSTATUS = 0xC01A0015; -pub const STATUS_LOG_POLICY_INVALID: NTSTATUS = 0xC01A0016; -pub const STATUS_LOG_POLICY_CONFLICT: NTSTATUS = 0xC01A0017; -pub const STATUS_LOG_PINNED_ARCHIVE_TAIL: NTSTATUS = 0xC01A0018; -pub const STATUS_LOG_RECORD_NONEXISTENT: NTSTATUS = 0xC01A0019; -pub const STATUS_LOG_RECORDS_RESERVED_INVALID: NTSTATUS = 0xC01A001A; -pub const STATUS_LOG_SPACE_RESERVED_INVALID: NTSTATUS = 0xC01A001B; -pub const STATUS_LOG_TAIL_INVALID: NTSTATUS = 0xC01A001C; -pub const STATUS_LOG_FULL: NTSTATUS = 0xC01A001D; -pub const STATUS_LOG_MULTIPLEXED: NTSTATUS = 0xC01A001E; -pub const STATUS_LOG_DEDICATED: NTSTATUS = 0xC01A001F; -pub const STATUS_LOG_ARCHIVE_NOT_IN_PROGRESS: NTSTATUS = 0xC01A0020; -pub const STATUS_LOG_ARCHIVE_IN_PROGRESS: NTSTATUS = 0xC01A0021; -pub const STATUS_LOG_EPHEMERAL: NTSTATUS = 0xC01A0022; -pub const STATUS_LOG_NOT_ENOUGH_CONTAINERS: NTSTATUS = 0xC01A0023; -pub const STATUS_LOG_CLIENT_ALREADY_REGISTERED: NTSTATUS = 0xC01A0024; -pub const STATUS_LOG_CLIENT_NOT_REGISTERED: NTSTATUS = 0xC01A0025; -pub const STATUS_LOG_FULL_HANDLER_IN_PROGRESS: NTSTATUS = 0xC01A0026; -pub const STATUS_LOG_CONTAINER_READ_FAILED: NTSTATUS = 0xC01A0027; -pub const STATUS_LOG_CONTAINER_WRITE_FAILED: NTSTATUS = 0xC01A0028; -pub const STATUS_LOG_CONTAINER_OPEN_FAILED: NTSTATUS = 0xC01A0029; -pub const STATUS_LOG_CONTAINER_STATE_INVALID: NTSTATUS = 0xC01A002A; -pub const STATUS_LOG_STATE_INVALID: NTSTATUS = 0xC01A002B; -pub const STATUS_LOG_PINNED: NTSTATUS = 0xC01A002C; -pub const STATUS_LOG_METADATA_FLUSH_FAILED: NTSTATUS = 0xC01A002D; -pub const STATUS_LOG_INCONSISTENT_SECURITY: NTSTATUS = 0xC01A002E; -pub const STATUS_LOG_APPENDED_FLUSH_FAILED: NTSTATUS = 0xC01A002F; -pub const STATUS_LOG_PINNED_RESERVATION: NTSTATUS = 0xC01A0030; -pub const STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD: NTSTATUS = 0xC01B00EA; -pub const STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD_RECOVERED: NTSTATUS = 0x801B00EB; -pub const STATUS_VIDEO_DRIVER_DEBUG_REPORT_REQUEST: NTSTATUS = 0x401B00EC; -pub const STATUS_MONITOR_NO_DESCRIPTOR: NTSTATUS = 0xC01D0001; -pub const STATUS_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT: NTSTATUS = 0xC01D0002; -pub const STATUS_MONITOR_INVALID_DESCRIPTOR_CHECKSUM: NTSTATUS = 0xC01D0003; -pub const STATUS_MONITOR_INVALID_STANDARD_TIMING_BLOCK: NTSTATUS = 0xC01D0004; -pub const STATUS_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED: NTSTATUS = 0xC01D0005; -pub const STATUS_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK: NTSTATUS = 0xC01D0006; -pub const STATUS_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK: NTSTATUS = 0xC01D0007; -pub const STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA: NTSTATUS = 0xC01D0008; -pub const STATUS_MONITOR_INVALID_DETAILED_TIMING_BLOCK: NTSTATUS = 0xC01D0009; -pub const STATUS_MONITOR_INVALID_MANUFACTURE_DATE: NTSTATUS = 0xC01D000A; -pub const STATUS_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER: NTSTATUS = 0xC01E0000; -pub const STATUS_GRAPHICS_INSUFFICIENT_DMA_BUFFER: NTSTATUS = 0xC01E0001; -pub const STATUS_GRAPHICS_INVALID_DISPLAY_ADAPTER: NTSTATUS = 0xC01E0002; -pub const STATUS_GRAPHICS_ADAPTER_WAS_RESET: NTSTATUS = 0xC01E0003; -pub const STATUS_GRAPHICS_INVALID_DRIVER_MODEL: NTSTATUS = 0xC01E0004; -pub const STATUS_GRAPHICS_PRESENT_MODE_CHANGED: NTSTATUS = 0xC01E0005; -pub const STATUS_GRAPHICS_PRESENT_OCCLUDED: NTSTATUS = 0xC01E0006; -pub const STATUS_GRAPHICS_PRESENT_DENIED: NTSTATUS = 0xC01E0007; -pub const STATUS_GRAPHICS_CANNOTCOLORCONVERT: NTSTATUS = 0xC01E0008; -pub const STATUS_GRAPHICS_DRIVER_MISMATCH: NTSTATUS = 0xC01E0009; -pub const STATUS_GRAPHICS_PARTIAL_DATA_POPULATED: NTSTATUS = 0x401E000A; -pub const STATUS_GRAPHICS_PRESENT_REDIRECTION_DISABLED: NTSTATUS = 0xC01E000B; -pub const STATUS_GRAPHICS_PRESENT_UNOCCLUDED: NTSTATUS = 0xC01E000C; -pub const STATUS_GRAPHICS_WINDOWDC_NOT_AVAILABLE: NTSTATUS = 0xC01E000D; -pub const STATUS_GRAPHICS_WINDOWLESS_PRESENT_DISABLED: NTSTATUS = 0xC01E000E; -pub const STATUS_GRAPHICS_NO_VIDEO_MEMORY: NTSTATUS = 0xC01E0100; -pub const STATUS_GRAPHICS_CANT_LOCK_MEMORY: NTSTATUS = 0xC01E0101; -pub const STATUS_GRAPHICS_ALLOCATION_BUSY: NTSTATUS = 0xC01E0102; -pub const STATUS_GRAPHICS_TOO_MANY_REFERENCES: NTSTATUS = 0xC01E0103; -pub const STATUS_GRAPHICS_TRY_AGAIN_LATER: NTSTATUS = 0xC01E0104; -pub const STATUS_GRAPHICS_TRY_AGAIN_NOW: NTSTATUS = 0xC01E0105; -pub const STATUS_GRAPHICS_ALLOCATION_INVALID: NTSTATUS = 0xC01E0106; -pub const STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE: NTSTATUS = 0xC01E0107; -pub const STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED: NTSTATUS = 0xC01E0108; -pub const STATUS_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION: NTSTATUS = 0xC01E0109; -pub const STATUS_GRAPHICS_INVALID_ALLOCATION_USAGE: NTSTATUS = 0xC01E0110; -pub const STATUS_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION: NTSTATUS = 0xC01E0111; -pub const STATUS_GRAPHICS_ALLOCATION_CLOSED: NTSTATUS = 0xC01E0112; -pub const STATUS_GRAPHICS_INVALID_ALLOCATION_INSTANCE: NTSTATUS = 0xC01E0113; -pub const STATUS_GRAPHICS_INVALID_ALLOCATION_HANDLE: NTSTATUS = 0xC01E0114; -pub const STATUS_GRAPHICS_WRONG_ALLOCATION_DEVICE: NTSTATUS = 0xC01E0115; -pub const STATUS_GRAPHICS_ALLOCATION_CONTENT_LOST: NTSTATUS = 0xC01E0116; -pub const STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE: NTSTATUS = 0xC01E0200; -pub const STATUS_GRAPHICS_SKIP_ALLOCATION_PREPARATION: NTSTATUS = 0x401E0201; -pub const STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY: NTSTATUS = 0xC01E0300; -pub const STATUS_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED: NTSTATUS = 0xC01E0301; -pub const STATUS_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED: NTSTATUS = 0xC01E0302; -pub const STATUS_GRAPHICS_INVALID_VIDPN: NTSTATUS = 0xC01E0303; -pub const STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE: NTSTATUS = 0xC01E0304; -pub const STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET: NTSTATUS = 0xC01E0305; -pub const STATUS_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED: NTSTATUS = 0xC01E0306; -pub const STATUS_GRAPHICS_MODE_NOT_PINNED: NTSTATUS = 0x401E0307; -pub const STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET: NTSTATUS = 0xC01E0308; -pub const STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET: NTSTATUS = 0xC01E0309; -pub const STATUS_GRAPHICS_INVALID_FREQUENCY: NTSTATUS = 0xC01E030A; -pub const STATUS_GRAPHICS_INVALID_ACTIVE_REGION: NTSTATUS = 0xC01E030B; -pub const STATUS_GRAPHICS_INVALID_TOTAL_REGION: NTSTATUS = 0xC01E030C; -pub const STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE: NTSTATUS = 0xC01E0310; -pub const STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE: NTSTATUS = 0xC01E0311; -pub const STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET: NTSTATUS = 0xC01E0312; -pub const STATUS_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY: NTSTATUS = 0xC01E0313; -pub const STATUS_GRAPHICS_MODE_ALREADY_IN_MODESET: NTSTATUS = 0xC01E0314; -pub const STATUS_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET: NTSTATUS = 0xC01E0315; -pub const STATUS_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET: NTSTATUS = 0xC01E0316; -pub const STATUS_GRAPHICS_SOURCE_ALREADY_IN_SET: NTSTATUS = 0xC01E0317; -pub const STATUS_GRAPHICS_TARGET_ALREADY_IN_SET: NTSTATUS = 0xC01E0318; -pub const STATUS_GRAPHICS_INVALID_VIDPN_PRESENT_PATH: NTSTATUS = 0xC01E0319; -pub const STATUS_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY: NTSTATUS = 0xC01E031A; -pub const STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET: NTSTATUS = 0xC01E031B; -pub const STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE: NTSTATUS = 0xC01E031C; -pub const STATUS_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET: NTSTATUS = 0xC01E031D; -pub const STATUS_GRAPHICS_NO_PREFERRED_MODE: NTSTATUS = 0x401E031E; -pub const STATUS_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET: NTSTATUS = 0xC01E031F; -pub const STATUS_GRAPHICS_STALE_MODESET: NTSTATUS = 0xC01E0320; -pub const STATUS_GRAPHICS_INVALID_MONITOR_SOURCEMODESET: NTSTATUS = 0xC01E0321; -pub const STATUS_GRAPHICS_INVALID_MONITOR_SOURCE_MODE: NTSTATUS = 0xC01E0322; -pub const STATUS_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN: NTSTATUS = 0xC01E0323; -pub const STATUS_GRAPHICS_MODE_ID_MUST_BE_UNIQUE: NTSTATUS = 0xC01E0324; -pub const STATUS_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION: NTSTATUS - = 0xC01E0325; -pub const STATUS_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES: NTSTATUS = 0xC01E0326; -pub const STATUS_GRAPHICS_PATH_NOT_IN_TOPOLOGY: NTSTATUS = 0xC01E0327; -pub const STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE: NTSTATUS = 0xC01E0328; -pub const STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET: NTSTATUS = 0xC01E0329; -pub const STATUS_GRAPHICS_INVALID_MONITORDESCRIPTORSET: NTSTATUS = 0xC01E032A; -pub const STATUS_GRAPHICS_INVALID_MONITORDESCRIPTOR: NTSTATUS = 0xC01E032B; -pub const STATUS_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET: NTSTATUS = 0xC01E032C; -pub const STATUS_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET: NTSTATUS = 0xC01E032D; -pub const STATUS_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE: NTSTATUS = 0xC01E032E; -pub const STATUS_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE: NTSTATUS = 0xC01E032F; -pub const STATUS_GRAPHICS_RESOURCES_NOT_RELATED: NTSTATUS = 0xC01E0330; -pub const STATUS_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE: NTSTATUS = 0xC01E0331; -pub const STATUS_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE: NTSTATUS = 0xC01E0332; -pub const STATUS_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET: NTSTATUS = 0xC01E0333; -pub const STATUS_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER: NTSTATUS - = 0xC01E0334; -pub const STATUS_GRAPHICS_NO_VIDPNMGR: NTSTATUS = 0xC01E0335; -pub const STATUS_GRAPHICS_NO_ACTIVE_VIDPN: NTSTATUS = 0xC01E0336; -pub const STATUS_GRAPHICS_STALE_VIDPN_TOPOLOGY: NTSTATUS = 0xC01E0337; -pub const STATUS_GRAPHICS_MONITOR_NOT_CONNECTED: NTSTATUS = 0xC01E0338; -pub const STATUS_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY: NTSTATUS = 0xC01E0339; -pub const STATUS_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE: NTSTATUS = 0xC01E033A; -pub const STATUS_GRAPHICS_INVALID_VISIBLEREGION_SIZE: NTSTATUS = 0xC01E033B; -pub const STATUS_GRAPHICS_INVALID_STRIDE: NTSTATUS = 0xC01E033C; -pub const STATUS_GRAPHICS_INVALID_PIXELFORMAT: NTSTATUS = 0xC01E033D; -pub const STATUS_GRAPHICS_INVALID_COLORBASIS: NTSTATUS = 0xC01E033E; -pub const STATUS_GRAPHICS_INVALID_PIXELVALUEACCESSMODE: NTSTATUS = 0xC01E033F; -pub const STATUS_GRAPHICS_TARGET_NOT_IN_TOPOLOGY: NTSTATUS = 0xC01E0340; -pub const STATUS_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT: NTSTATUS = 0xC01E0341; -pub const STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE: NTSTATUS = 0xC01E0342; -pub const STATUS_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN: NTSTATUS = 0xC01E0343; -pub const STATUS_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL: NTSTATUS = 0xC01E0344; -pub const STATUS_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION: NTSTATUS - = 0xC01E0345; -pub const STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED: NTSTATUS - = 0xC01E0346; -pub const STATUS_GRAPHICS_INVALID_GAMMA_RAMP: NTSTATUS = 0xC01E0347; -pub const STATUS_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED: NTSTATUS = 0xC01E0348; -pub const STATUS_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED: NTSTATUS = 0xC01E0349; -pub const STATUS_GRAPHICS_MODE_NOT_IN_MODESET: NTSTATUS = 0xC01E034A; -pub const STATUS_GRAPHICS_DATASET_IS_EMPTY: NTSTATUS = 0x401E034B; -pub const STATUS_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET: NTSTATUS = 0x401E034C; -pub const STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON: NTSTATUS - = 0xC01E034D; -pub const STATUS_GRAPHICS_INVALID_PATH_CONTENT_TYPE: NTSTATUS = 0xC01E034E; -pub const STATUS_GRAPHICS_INVALID_COPYPROTECTION_TYPE: NTSTATUS = 0xC01E034F; -pub const STATUS_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS: NTSTATUS = 0xC01E0350; -pub const STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED: NTSTATUS = 0x401E0351; -pub const STATUS_GRAPHICS_INVALID_SCANLINE_ORDERING: NTSTATUS = 0xC01E0352; -pub const STATUS_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED: NTSTATUS = 0xC01E0353; -pub const STATUS_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS: NTSTATUS = 0xC01E0354; -pub const STATUS_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT: NTSTATUS = 0xC01E0355; -pub const STATUS_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM: NTSTATUS = 0xC01E0356; -pub const STATUS_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN: NTSTATUS = 0xC01E0357; -pub const STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT: NTSTATUS - = 0xC01E0358; -pub const STATUS_GRAPHICS_MAX_NUM_PATHS_REACHED: NTSTATUS = 0xC01E0359; -pub const STATUS_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION: NTSTATUS = 0xC01E035A; -pub const STATUS_GRAPHICS_INVALID_CLIENT_TYPE: NTSTATUS = 0xC01E035B; -pub const STATUS_GRAPHICS_CLIENTVIDPN_NOT_SET: NTSTATUS = 0xC01E035C; -pub const STATUS_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED: NTSTATUS = 0xC01E0400; -pub const STATUS_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED: NTSTATUS = 0xC01E0401; -pub const STATUS_GRAPHICS_UNKNOWN_CHILD_STATUS: NTSTATUS = 0x401E042F; -pub const STATUS_GRAPHICS_NOT_A_LINKED_ADAPTER: NTSTATUS = 0xC01E0430; -pub const STATUS_GRAPHICS_LEADLINK_NOT_ENUMERATED: NTSTATUS = 0xC01E0431; -pub const STATUS_GRAPHICS_CHAINLINKS_NOT_ENUMERATED: NTSTATUS = 0xC01E0432; -pub const STATUS_GRAPHICS_ADAPTER_CHAIN_NOT_READY: NTSTATUS = 0xC01E0433; -pub const STATUS_GRAPHICS_CHAINLINKS_NOT_STARTED: NTSTATUS = 0xC01E0434; -pub const STATUS_GRAPHICS_CHAINLINKS_NOT_POWERED_ON: NTSTATUS = 0xC01E0435; -pub const STATUS_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE: NTSTATUS = 0xC01E0436; -pub const STATUS_GRAPHICS_LEADLINK_START_DEFERRED: NTSTATUS = 0x401E0437; -pub const STATUS_GRAPHICS_NOT_POST_DEVICE_DRIVER: NTSTATUS = 0xC01E0438; -pub const STATUS_GRAPHICS_POLLING_TOO_FREQUENTLY: NTSTATUS = 0x401E0439; -pub const STATUS_GRAPHICS_START_DEFERRED: NTSTATUS = 0x401E043A; -pub const STATUS_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED: NTSTATUS = 0xC01E043B; -pub const STATUS_GRAPHICS_DEPENDABLE_CHILD_STATUS: NTSTATUS = 0x401E043C; -pub const STATUS_GRAPHICS_OPM_NOT_SUPPORTED: NTSTATUS = 0xC01E0500; -pub const STATUS_GRAPHICS_COPP_NOT_SUPPORTED: NTSTATUS = 0xC01E0501; -pub const STATUS_GRAPHICS_UAB_NOT_SUPPORTED: NTSTATUS = 0xC01E0502; -pub const STATUS_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS: NTSTATUS = 0xC01E0503; -pub const STATUS_GRAPHICS_OPM_NO_PROTECTED_OUTPUTS_EXIST: NTSTATUS = 0xC01E0505; -pub const STATUS_GRAPHICS_OPM_INTERNAL_ERROR: NTSTATUS = 0xC01E050B; -pub const STATUS_GRAPHICS_OPM_INVALID_HANDLE: NTSTATUS = 0xC01E050C; -pub const STATUS_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH: NTSTATUS = 0xC01E050E; -pub const STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED: NTSTATUS = 0xC01E050F; -pub const STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED: NTSTATUS = 0xC01E0510; -pub const STATUS_GRAPHICS_PVP_HFS_FAILED: NTSTATUS = 0xC01E0511; -pub const STATUS_GRAPHICS_OPM_INVALID_SRM: NTSTATUS = 0xC01E0512; -pub const STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP: NTSTATUS = 0xC01E0513; -pub const STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP: NTSTATUS = 0xC01E0514; -pub const STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA: NTSTATUS = 0xC01E0515; -pub const STATUS_GRAPHICS_OPM_HDCP_SRM_NEVER_SET: NTSTATUS = 0xC01E0516; -pub const STATUS_GRAPHICS_OPM_RESOLUTION_TOO_HIGH: NTSTATUS = 0xC01E0517; -pub const STATUS_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE: NTSTATUS = 0xC01E0518; -pub const STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_NO_LONGER_EXISTS: NTSTATUS = 0xC01E051A; -pub const STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS: NTSTATUS - = 0xC01E051C; -pub const STATUS_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST: NTSTATUS = 0xC01E051D; -pub const STATUS_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR: NTSTATUS = 0xC01E051E; -pub const STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS: NTSTATUS - = 0xC01E051F; -pub const STATUS_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED: NTSTATUS = 0xC01E0520; -pub const STATUS_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST: NTSTATUS = 0xC01E0521; -pub const STATUS_GRAPHICS_I2C_NOT_SUPPORTED: NTSTATUS = 0xC01E0580; -pub const STATUS_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST: NTSTATUS = 0xC01E0581; -pub const STATUS_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA: NTSTATUS = 0xC01E0582; -pub const STATUS_GRAPHICS_I2C_ERROR_RECEIVING_DATA: NTSTATUS = 0xC01E0583; -pub const STATUS_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED: NTSTATUS = 0xC01E0584; -pub const STATUS_GRAPHICS_DDCCI_INVALID_DATA: NTSTATUS = 0xC01E0585; -pub const STATUS_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE: NTSTATUS - = 0xC01E0586; -pub const STATUS_GRAPHICS_DDCCI_INVALID_CAPABILITIES_STRING: NTSTATUS = 0xC01E0587; -pub const STATUS_GRAPHICS_MCA_INTERNAL_ERROR: NTSTATUS = 0xC01E0588; -pub const STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND: NTSTATUS = 0xC01E0589; -pub const STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH: NTSTATUS = 0xC01E058A; -pub const STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM: NTSTATUS = 0xC01E058B; -pub const STATUS_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE: NTSTATUS = 0xC01E058C; -pub const STATUS_GRAPHICS_MONITOR_NO_LONGER_EXISTS: NTSTATUS = 0xC01E058D; -pub const STATUS_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED: NTSTATUS = 0xC01E05E0; -pub const STATUS_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME: NTSTATUS = 0xC01E05E1; -pub const STATUS_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP: NTSTATUS = 0xC01E05E2; -pub const STATUS_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED: NTSTATUS = 0xC01E05E3; -pub const STATUS_GRAPHICS_INVALID_POINTER: NTSTATUS = 0xC01E05E4; -pub const STATUS_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE: NTSTATUS - = 0xC01E05E5; -pub const STATUS_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL: NTSTATUS = 0xC01E05E6; -pub const STATUS_GRAPHICS_INTERNAL_ERROR: NTSTATUS = 0xC01E05E7; -pub const STATUS_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS: NTSTATUS = 0xC01E05E8; -pub const STATUS_FVE_LOCKED_VOLUME: NTSTATUS = 0xC0210000; -pub const STATUS_FVE_NOT_ENCRYPTED: NTSTATUS = 0xC0210001; -pub const STATUS_FVE_BAD_INFORMATION: NTSTATUS = 0xC0210002; -pub const STATUS_FVE_TOO_SMALL: NTSTATUS = 0xC0210003; -pub const STATUS_FVE_FAILED_WRONG_FS: NTSTATUS = 0xC0210004; -pub const STATUS_FVE_BAD_PARTITION_SIZE: NTSTATUS = 0xC0210005; -pub const STATUS_FVE_FS_NOT_EXTENDED: NTSTATUS = 0xC0210006; -pub const STATUS_FVE_FS_MOUNTED: NTSTATUS = 0xC0210007; -pub const STATUS_FVE_NO_LICENSE: NTSTATUS = 0xC0210008; -pub const STATUS_FVE_ACTION_NOT_ALLOWED: NTSTATUS = 0xC0210009; -pub const STATUS_FVE_BAD_DATA: NTSTATUS = 0xC021000A; -pub const STATUS_FVE_VOLUME_NOT_BOUND: NTSTATUS = 0xC021000B; -pub const STATUS_FVE_NOT_DATA_VOLUME: NTSTATUS = 0xC021000C; -pub const STATUS_FVE_CONV_READ_ERROR: NTSTATUS = 0xC021000D; -pub const STATUS_FVE_CONV_WRITE_ERROR: NTSTATUS = 0xC021000E; -pub const STATUS_FVE_OVERLAPPED_UPDATE: NTSTATUS = 0xC021000F; -pub const STATUS_FVE_FAILED_SECTOR_SIZE: NTSTATUS = 0xC0210010; -pub const STATUS_FVE_FAILED_AUTHENTICATION: NTSTATUS = 0xC0210011; -pub const STATUS_FVE_NOT_OS_VOLUME: NTSTATUS = 0xC0210012; -pub const STATUS_FVE_KEYFILE_NOT_FOUND: NTSTATUS = 0xC0210013; -pub const STATUS_FVE_KEYFILE_INVALID: NTSTATUS = 0xC0210014; -pub const STATUS_FVE_KEYFILE_NO_VMK: NTSTATUS = 0xC0210015; -pub const STATUS_FVE_TPM_DISABLED: NTSTATUS = 0xC0210016; -pub const STATUS_FVE_TPM_SRK_AUTH_NOT_ZERO: NTSTATUS = 0xC0210017; -pub const STATUS_FVE_TPM_INVALID_PCR: NTSTATUS = 0xC0210018; -pub const STATUS_FVE_TPM_NO_VMK: NTSTATUS = 0xC0210019; -pub const STATUS_FVE_PIN_INVALID: NTSTATUS = 0xC021001A; -pub const STATUS_FVE_AUTH_INVALID_APPLICATION: NTSTATUS = 0xC021001B; -pub const STATUS_FVE_AUTH_INVALID_CONFIG: NTSTATUS = 0xC021001C; -pub const STATUS_FVE_DEBUGGER_ENABLED: NTSTATUS = 0xC021001D; -pub const STATUS_FVE_DRY_RUN_FAILED: NTSTATUS = 0xC021001E; -pub const STATUS_FVE_BAD_METADATA_POINTER: NTSTATUS = 0xC021001F; -pub const STATUS_FVE_OLD_METADATA_COPY: NTSTATUS = 0xC0210020; -pub const STATUS_FVE_REBOOT_REQUIRED: NTSTATUS = 0xC0210021; -pub const STATUS_FVE_RAW_ACCESS: NTSTATUS = 0xC0210022; -pub const STATUS_FVE_RAW_BLOCKED: NTSTATUS = 0xC0210023; -pub const STATUS_FVE_NO_AUTOUNLOCK_MASTER_KEY: NTSTATUS = 0xC0210024; -pub const STATUS_FVE_MOR_FAILED: NTSTATUS = 0xC0210025; -pub const STATUS_FVE_NO_FEATURE_LICENSE: NTSTATUS = 0xC0210026; -pub const STATUS_FVE_POLICY_USER_DISABLE_RDV_NOT_ALLOWED: NTSTATUS = 0xC0210027; -pub const STATUS_FVE_CONV_RECOVERY_FAILED: NTSTATUS = 0xC0210028; -pub const STATUS_FVE_VIRTUALIZED_SPACE_TOO_BIG: NTSTATUS = 0xC0210029; -pub const STATUS_FVE_INVALID_DATUM_TYPE: NTSTATUS = 0xC021002A; -pub const STATUS_FVE_VOLUME_TOO_SMALL: NTSTATUS = 0xC0210030; -pub const STATUS_FVE_ENH_PIN_INVALID: NTSTATUS = 0xC0210031; -pub const STATUS_FVE_FULL_ENCRYPTION_NOT_ALLOWED_ON_TP_STORAGE: NTSTATUS = 0xC0210032; -pub const STATUS_FVE_WIPE_NOT_ALLOWED_ON_TP_STORAGE: NTSTATUS = 0xC0210033; -pub const STATUS_FVE_NOT_ALLOWED_ON_CSV_STACK: NTSTATUS = 0xC0210034; -pub const STATUS_FVE_NOT_ALLOWED_ON_CLUSTER: NTSTATUS = 0xC0210035; -pub const STATUS_FVE_NOT_ALLOWED_TO_UPGRADE_WHILE_CONVERTING: NTSTATUS = 0xC0210036; -pub const STATUS_FVE_WIPE_CANCEL_NOT_APPLICABLE: NTSTATUS = 0xC0210037; -pub const STATUS_FVE_EDRIVE_DRY_RUN_FAILED: NTSTATUS = 0xC0210038; -pub const STATUS_FVE_SECUREBOOT_DISABLED: NTSTATUS = 0xC0210039; -pub const STATUS_FVE_SECUREBOOT_CONFIG_CHANGE: NTSTATUS = 0xC021003A; -pub const STATUS_FVE_DEVICE_LOCKEDOUT: NTSTATUS = 0xC021003B; -pub const STATUS_FVE_VOLUME_EXTEND_PREVENTS_EOW_DECRYPT: NTSTATUS = 0xC021003C; -pub const STATUS_FVE_NOT_DE_VOLUME: NTSTATUS = 0xC021003D; -pub const STATUS_FVE_PROTECTION_DISABLED: NTSTATUS = 0xC021003E; -pub const STATUS_FVE_PROTECTION_CANNOT_BE_DISABLED: NTSTATUS = 0xC021003F; -pub const STATUS_FWP_CALLOUT_NOT_FOUND: NTSTATUS = 0xC0220001; -pub const STATUS_FWP_CONDITION_NOT_FOUND: NTSTATUS = 0xC0220002; -pub const STATUS_FWP_FILTER_NOT_FOUND: NTSTATUS = 0xC0220003; -pub const STATUS_FWP_LAYER_NOT_FOUND: NTSTATUS = 0xC0220004; -pub const STATUS_FWP_PROVIDER_NOT_FOUND: NTSTATUS = 0xC0220005; -pub const STATUS_FWP_PROVIDER_CONTEXT_NOT_FOUND: NTSTATUS = 0xC0220006; -pub const STATUS_FWP_SUBLAYER_NOT_FOUND: NTSTATUS = 0xC0220007; -pub const STATUS_FWP_NOT_FOUND: NTSTATUS = 0xC0220008; -pub const STATUS_FWP_ALREADY_EXISTS: NTSTATUS = 0xC0220009; -pub const STATUS_FWP_IN_USE: NTSTATUS = 0xC022000A; -pub const STATUS_FWP_DYNAMIC_SESSION_IN_PROGRESS: NTSTATUS = 0xC022000B; -pub const STATUS_FWP_WRONG_SESSION: NTSTATUS = 0xC022000C; -pub const STATUS_FWP_NO_TXN_IN_PROGRESS: NTSTATUS = 0xC022000D; -pub const STATUS_FWP_TXN_IN_PROGRESS: NTSTATUS = 0xC022000E; -pub const STATUS_FWP_TXN_ABORTED: NTSTATUS = 0xC022000F; -pub const STATUS_FWP_SESSION_ABORTED: NTSTATUS = 0xC0220010; -pub const STATUS_FWP_INCOMPATIBLE_TXN: NTSTATUS = 0xC0220011; -pub const STATUS_FWP_TIMEOUT: NTSTATUS = 0xC0220012; -pub const STATUS_FWP_NET_EVENTS_DISABLED: NTSTATUS = 0xC0220013; -pub const STATUS_FWP_INCOMPATIBLE_LAYER: NTSTATUS = 0xC0220014; -pub const STATUS_FWP_KM_CLIENTS_ONLY: NTSTATUS = 0xC0220015; -pub const STATUS_FWP_LIFETIME_MISMATCH: NTSTATUS = 0xC0220016; -pub const STATUS_FWP_BUILTIN_OBJECT: NTSTATUS = 0xC0220017; -pub const STATUS_FWP_TOO_MANY_CALLOUTS: NTSTATUS = 0xC0220018; -pub const STATUS_FWP_NOTIFICATION_DROPPED: NTSTATUS = 0xC0220019; -pub const STATUS_FWP_TRAFFIC_MISMATCH: NTSTATUS = 0xC022001A; -pub const STATUS_FWP_INCOMPATIBLE_SA_STATE: NTSTATUS = 0xC022001B; -pub const STATUS_FWP_NULL_POINTER: NTSTATUS = 0xC022001C; -pub const STATUS_FWP_INVALID_ENUMERATOR: NTSTATUS = 0xC022001D; -pub const STATUS_FWP_INVALID_FLAGS: NTSTATUS = 0xC022001E; -pub const STATUS_FWP_INVALID_NET_MASK: NTSTATUS = 0xC022001F; -pub const STATUS_FWP_INVALID_RANGE: NTSTATUS = 0xC0220020; -pub const STATUS_FWP_INVALID_INTERVAL: NTSTATUS = 0xC0220021; -pub const STATUS_FWP_ZERO_LENGTH_ARRAY: NTSTATUS = 0xC0220022; -pub const STATUS_FWP_NULL_DISPLAY_NAME: NTSTATUS = 0xC0220023; -pub const STATUS_FWP_INVALID_ACTION_TYPE: NTSTATUS = 0xC0220024; -pub const STATUS_FWP_INVALID_WEIGHT: NTSTATUS = 0xC0220025; -pub const STATUS_FWP_MATCH_TYPE_MISMATCH: NTSTATUS = 0xC0220026; -pub const STATUS_FWP_TYPE_MISMATCH: NTSTATUS = 0xC0220027; -pub const STATUS_FWP_OUT_OF_BOUNDS: NTSTATUS = 0xC0220028; -pub const STATUS_FWP_RESERVED: NTSTATUS = 0xC0220029; -pub const STATUS_FWP_DUPLICATE_CONDITION: NTSTATUS = 0xC022002A; -pub const STATUS_FWP_DUPLICATE_KEYMOD: NTSTATUS = 0xC022002B; -pub const STATUS_FWP_ACTION_INCOMPATIBLE_WITH_LAYER: NTSTATUS = 0xC022002C; -pub const STATUS_FWP_ACTION_INCOMPATIBLE_WITH_SUBLAYER: NTSTATUS = 0xC022002D; -pub const STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_LAYER: NTSTATUS = 0xC022002E; -pub const STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_CALLOUT: NTSTATUS = 0xC022002F; -pub const STATUS_FWP_INCOMPATIBLE_AUTH_METHOD: NTSTATUS = 0xC0220030; -pub const STATUS_FWP_INCOMPATIBLE_DH_GROUP: NTSTATUS = 0xC0220031; -pub const STATUS_FWP_EM_NOT_SUPPORTED: NTSTATUS = 0xC0220032; -pub const STATUS_FWP_NEVER_MATCH: NTSTATUS = 0xC0220033; -pub const STATUS_FWP_PROVIDER_CONTEXT_MISMATCH: NTSTATUS = 0xC0220034; -pub const STATUS_FWP_INVALID_PARAMETER: NTSTATUS = 0xC0220035; -pub const STATUS_FWP_TOO_MANY_SUBLAYERS: NTSTATUS = 0xC0220036; -pub const STATUS_FWP_CALLOUT_NOTIFICATION_FAILED: NTSTATUS = 0xC0220037; -pub const STATUS_FWP_INVALID_AUTH_TRANSFORM: NTSTATUS = 0xC0220038; -pub const STATUS_FWP_INVALID_CIPHER_TRANSFORM: NTSTATUS = 0xC0220039; -pub const STATUS_FWP_INCOMPATIBLE_CIPHER_TRANSFORM: NTSTATUS = 0xC022003A; -pub const STATUS_FWP_INVALID_TRANSFORM_COMBINATION: NTSTATUS = 0xC022003B; -pub const STATUS_FWP_DUPLICATE_AUTH_METHOD: NTSTATUS = 0xC022003C; -pub const STATUS_FWP_INVALID_TUNNEL_ENDPOINT: NTSTATUS = 0xC022003D; -pub const STATUS_FWP_L2_DRIVER_NOT_READY: NTSTATUS = 0xC022003E; -pub const STATUS_FWP_KEY_DICTATOR_ALREADY_REGISTERED: NTSTATUS = 0xC022003F; -pub const STATUS_FWP_KEY_DICTATION_INVALID_KEYING_MATERIAL: NTSTATUS = 0xC0220040; -pub const STATUS_FWP_CONNECTIONS_DISABLED: NTSTATUS = 0xC0220041; -pub const STATUS_FWP_INVALID_DNS_NAME: NTSTATUS = 0xC0220042; -pub const STATUS_FWP_STILL_ON: NTSTATUS = 0xC0220043; -pub const STATUS_FWP_IKEEXT_NOT_RUNNING: NTSTATUS = 0xC0220044; -pub const STATUS_FWP_TCPIP_NOT_READY: NTSTATUS = 0xC0220100; -pub const STATUS_FWP_INJECT_HANDLE_CLOSING: NTSTATUS = 0xC0220101; -pub const STATUS_FWP_INJECT_HANDLE_STALE: NTSTATUS = 0xC0220102; -pub const STATUS_FWP_CANNOT_PEND: NTSTATUS = 0xC0220103; -pub const STATUS_FWP_DROP_NOICMP: NTSTATUS = 0xC0220104; -pub const STATUS_NDIS_CLOSING: NTSTATUS = 0xC0230002; -pub const STATUS_NDIS_BAD_VERSION: NTSTATUS = 0xC0230004; -pub const STATUS_NDIS_BAD_CHARACTERISTICS: NTSTATUS = 0xC0230005; -pub const STATUS_NDIS_ADAPTER_NOT_FOUND: NTSTATUS = 0xC0230006; -pub const STATUS_NDIS_OPEN_FAILED: NTSTATUS = 0xC0230007; -pub const STATUS_NDIS_DEVICE_FAILED: NTSTATUS = 0xC0230008; -pub const STATUS_NDIS_MULTICAST_FULL: NTSTATUS = 0xC0230009; -pub const STATUS_NDIS_MULTICAST_EXISTS: NTSTATUS = 0xC023000A; -pub const STATUS_NDIS_MULTICAST_NOT_FOUND: NTSTATUS = 0xC023000B; -pub const STATUS_NDIS_REQUEST_ABORTED: NTSTATUS = 0xC023000C; -pub const STATUS_NDIS_RESET_IN_PROGRESS: NTSTATUS = 0xC023000D; -pub const STATUS_NDIS_NOT_SUPPORTED: NTSTATUS = 0xC02300BB; -pub const STATUS_NDIS_INVALID_PACKET: NTSTATUS = 0xC023000F; -pub const STATUS_NDIS_ADAPTER_NOT_READY: NTSTATUS = 0xC0230011; -pub const STATUS_NDIS_INVALID_LENGTH: NTSTATUS = 0xC0230014; -pub const STATUS_NDIS_INVALID_DATA: NTSTATUS = 0xC0230015; -pub const STATUS_NDIS_BUFFER_TOO_SHORT: NTSTATUS = 0xC0230016; -pub const STATUS_NDIS_INVALID_OID: NTSTATUS = 0xC0230017; -pub const STATUS_NDIS_ADAPTER_REMOVED: NTSTATUS = 0xC0230018; -pub const STATUS_NDIS_UNSUPPORTED_MEDIA: NTSTATUS = 0xC0230019; -pub const STATUS_NDIS_GROUP_ADDRESS_IN_USE: NTSTATUS = 0xC023001A; -pub const STATUS_NDIS_FILE_NOT_FOUND: NTSTATUS = 0xC023001B; -pub const STATUS_NDIS_ERROR_READING_FILE: NTSTATUS = 0xC023001C; -pub const STATUS_NDIS_ALREADY_MAPPED: NTSTATUS = 0xC023001D; -pub const STATUS_NDIS_RESOURCE_CONFLICT: NTSTATUS = 0xC023001E; -pub const STATUS_NDIS_MEDIA_DISCONNECTED: NTSTATUS = 0xC023001F; -pub const STATUS_NDIS_INVALID_ADDRESS: NTSTATUS = 0xC0230022; -pub const STATUS_NDIS_INVALID_DEVICE_REQUEST: NTSTATUS = 0xC0230010; -pub const STATUS_NDIS_PAUSED: NTSTATUS = 0xC023002A; -pub const STATUS_NDIS_INTERFACE_NOT_FOUND: NTSTATUS = 0xC023002B; -pub const STATUS_NDIS_UNSUPPORTED_REVISION: NTSTATUS = 0xC023002C; -pub const STATUS_NDIS_INVALID_PORT: NTSTATUS = 0xC023002D; -pub const STATUS_NDIS_INVALID_PORT_STATE: NTSTATUS = 0xC023002E; -pub const STATUS_NDIS_LOW_POWER_STATE: NTSTATUS = 0xC023002F; -pub const STATUS_NDIS_REINIT_REQUIRED: NTSTATUS = 0xC0230030; -pub const STATUS_NDIS_DOT11_AUTO_CONFIG_ENABLED: NTSTATUS = 0xC0232000; -pub const STATUS_NDIS_DOT11_MEDIA_IN_USE: NTSTATUS = 0xC0232001; -pub const STATUS_NDIS_DOT11_POWER_STATE_INVALID: NTSTATUS = 0xC0232002; -pub const STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL: NTSTATUS = 0xC0232003; -pub const STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL: NTSTATUS = 0xC0232004; -pub const STATUS_NDIS_DOT11_AP_CHANNEL_CURRENTLY_NOT_AVAILABLE: NTSTATUS = 0xC0232005; -pub const STATUS_NDIS_DOT11_AP_BAND_CURRENTLY_NOT_AVAILABLE: NTSTATUS = 0xC0232006; -pub const STATUS_NDIS_DOT11_AP_CHANNEL_NOT_ALLOWED: NTSTATUS = 0xC0232007; -pub const STATUS_NDIS_DOT11_AP_BAND_NOT_ALLOWED: NTSTATUS = 0xC0232008; -pub const STATUS_NDIS_INDICATION_REQUIRED: NTSTATUS = 0x40230001; -pub const STATUS_NDIS_OFFLOAD_POLICY: NTSTATUS = 0xC023100F; -pub const STATUS_NDIS_OFFLOAD_CONNECTION_REJECTED: NTSTATUS = 0xC0231012; -pub const STATUS_NDIS_OFFLOAD_PATH_REJECTED: NTSTATUS = 0xC0231013; -pub const STATUS_TPM_ERROR_MASK: NTSTATUS = 0xC0290000; -pub const STATUS_TPM_AUTHFAIL: NTSTATUS = 0xC0290001; -pub const STATUS_TPM_BADINDEX: NTSTATUS = 0xC0290002; -pub const STATUS_TPM_BAD_PARAMETER: NTSTATUS = 0xC0290003; -pub const STATUS_TPM_AUDITFAILURE: NTSTATUS = 0xC0290004; -pub const STATUS_TPM_CLEAR_DISABLED: NTSTATUS = 0xC0290005; -pub const STATUS_TPM_DEACTIVATED: NTSTATUS = 0xC0290006; -pub const STATUS_TPM_DISABLED: NTSTATUS = 0xC0290007; -pub const STATUS_TPM_DISABLED_CMD: NTSTATUS = 0xC0290008; -pub const STATUS_TPM_FAIL: NTSTATUS = 0xC0290009; -pub const STATUS_TPM_BAD_ORDINAL: NTSTATUS = 0xC029000A; -pub const STATUS_TPM_INSTALL_DISABLED: NTSTATUS = 0xC029000B; -pub const STATUS_TPM_INVALID_KEYHANDLE: NTSTATUS = 0xC029000C; -pub const STATUS_TPM_KEYNOTFOUND: NTSTATUS = 0xC029000D; -pub const STATUS_TPM_INAPPROPRIATE_ENC: NTSTATUS = 0xC029000E; -pub const STATUS_TPM_MIGRATEFAIL: NTSTATUS = 0xC029000F; -pub const STATUS_TPM_INVALID_PCR_INFO: NTSTATUS = 0xC0290010; -pub const STATUS_TPM_NOSPACE: NTSTATUS = 0xC0290011; -pub const STATUS_TPM_NOSRK: NTSTATUS = 0xC0290012; -pub const STATUS_TPM_NOTSEALED_BLOB: NTSTATUS = 0xC0290013; -pub const STATUS_TPM_OWNER_SET: NTSTATUS = 0xC0290014; -pub const STATUS_TPM_RESOURCES: NTSTATUS = 0xC0290015; -pub const STATUS_TPM_SHORTRANDOM: NTSTATUS = 0xC0290016; -pub const STATUS_TPM_SIZE: NTSTATUS = 0xC0290017; -pub const STATUS_TPM_WRONGPCRVAL: NTSTATUS = 0xC0290018; -pub const STATUS_TPM_BAD_PARAM_SIZE: NTSTATUS = 0xC0290019; -pub const STATUS_TPM_SHA_THREAD: NTSTATUS = 0xC029001A; -pub const STATUS_TPM_SHA_ERROR: NTSTATUS = 0xC029001B; -pub const STATUS_TPM_FAILEDSELFTEST: NTSTATUS = 0xC029001C; -pub const STATUS_TPM_AUTH2FAIL: NTSTATUS = 0xC029001D; -pub const STATUS_TPM_BADTAG: NTSTATUS = 0xC029001E; -pub const STATUS_TPM_IOERROR: NTSTATUS = 0xC029001F; -pub const STATUS_TPM_ENCRYPT_ERROR: NTSTATUS = 0xC0290020; -pub const STATUS_TPM_DECRYPT_ERROR: NTSTATUS = 0xC0290021; -pub const STATUS_TPM_INVALID_AUTHHANDLE: NTSTATUS = 0xC0290022; -pub const STATUS_TPM_NO_ENDORSEMENT: NTSTATUS = 0xC0290023; -pub const STATUS_TPM_INVALID_KEYUSAGE: NTSTATUS = 0xC0290024; -pub const STATUS_TPM_WRONG_ENTITYTYPE: NTSTATUS = 0xC0290025; -pub const STATUS_TPM_INVALID_POSTINIT: NTSTATUS = 0xC0290026; -pub const STATUS_TPM_INAPPROPRIATE_SIG: NTSTATUS = 0xC0290027; -pub const STATUS_TPM_BAD_KEY_PROPERTY: NTSTATUS = 0xC0290028; -pub const STATUS_TPM_BAD_MIGRATION: NTSTATUS = 0xC0290029; -pub const STATUS_TPM_BAD_SCHEME: NTSTATUS = 0xC029002A; -pub const STATUS_TPM_BAD_DATASIZE: NTSTATUS = 0xC029002B; -pub const STATUS_TPM_BAD_MODE: NTSTATUS = 0xC029002C; -pub const STATUS_TPM_BAD_PRESENCE: NTSTATUS = 0xC029002D; -pub const STATUS_TPM_BAD_VERSION: NTSTATUS = 0xC029002E; -pub const STATUS_TPM_NO_WRAP_TRANSPORT: NTSTATUS = 0xC029002F; -pub const STATUS_TPM_AUDITFAIL_UNSUCCESSFUL: NTSTATUS = 0xC0290030; -pub const STATUS_TPM_AUDITFAIL_SUCCESSFUL: NTSTATUS = 0xC0290031; -pub const STATUS_TPM_NOTRESETABLE: NTSTATUS = 0xC0290032; -pub const STATUS_TPM_NOTLOCAL: NTSTATUS = 0xC0290033; -pub const STATUS_TPM_BAD_TYPE: NTSTATUS = 0xC0290034; -pub const STATUS_TPM_INVALID_RESOURCE: NTSTATUS = 0xC0290035; -pub const STATUS_TPM_NOTFIPS: NTSTATUS = 0xC0290036; -pub const STATUS_TPM_INVALID_FAMILY: NTSTATUS = 0xC0290037; -pub const STATUS_TPM_NO_NV_PERMISSION: NTSTATUS = 0xC0290038; -pub const STATUS_TPM_REQUIRES_SIGN: NTSTATUS = 0xC0290039; -pub const STATUS_TPM_KEY_NOTSUPPORTED: NTSTATUS = 0xC029003A; -pub const STATUS_TPM_AUTH_CONFLICT: NTSTATUS = 0xC029003B; -pub const STATUS_TPM_AREA_LOCKED: NTSTATUS = 0xC029003C; -pub const STATUS_TPM_BAD_LOCALITY: NTSTATUS = 0xC029003D; -pub const STATUS_TPM_READ_ONLY: NTSTATUS = 0xC029003E; -pub const STATUS_TPM_PER_NOWRITE: NTSTATUS = 0xC029003F; -pub const STATUS_TPM_FAMILYCOUNT: NTSTATUS = 0xC0290040; -pub const STATUS_TPM_WRITE_LOCKED: NTSTATUS = 0xC0290041; -pub const STATUS_TPM_BAD_ATTRIBUTES: NTSTATUS = 0xC0290042; -pub const STATUS_TPM_INVALID_STRUCTURE: NTSTATUS = 0xC0290043; -pub const STATUS_TPM_KEY_OWNER_CONTROL: NTSTATUS = 0xC0290044; -pub const STATUS_TPM_BAD_COUNTER: NTSTATUS = 0xC0290045; -pub const STATUS_TPM_NOT_FULLWRITE: NTSTATUS = 0xC0290046; -pub const STATUS_TPM_CONTEXT_GAP: NTSTATUS = 0xC0290047; -pub const STATUS_TPM_MAXNVWRITES: NTSTATUS = 0xC0290048; -pub const STATUS_TPM_NOOPERATOR: NTSTATUS = 0xC0290049; -pub const STATUS_TPM_RESOURCEMISSING: NTSTATUS = 0xC029004A; -pub const STATUS_TPM_DELEGATE_LOCK: NTSTATUS = 0xC029004B; -pub const STATUS_TPM_DELEGATE_FAMILY: NTSTATUS = 0xC029004C; -pub const STATUS_TPM_DELEGATE_ADMIN: NTSTATUS = 0xC029004D; -pub const STATUS_TPM_TRANSPORT_NOTEXCLUSIVE: NTSTATUS = 0xC029004E; -pub const STATUS_TPM_OWNER_CONTROL: NTSTATUS = 0xC029004F; -pub const STATUS_TPM_DAA_RESOURCES: NTSTATUS = 0xC0290050; -pub const STATUS_TPM_DAA_INPUT_DATA0: NTSTATUS = 0xC0290051; -pub const STATUS_TPM_DAA_INPUT_DATA1: NTSTATUS = 0xC0290052; -pub const STATUS_TPM_DAA_ISSUER_SETTINGS: NTSTATUS = 0xC0290053; -pub const STATUS_TPM_DAA_TPM_SETTINGS: NTSTATUS = 0xC0290054; -pub const STATUS_TPM_DAA_STAGE: NTSTATUS = 0xC0290055; -pub const STATUS_TPM_DAA_ISSUER_VALIDITY: NTSTATUS = 0xC0290056; -pub const STATUS_TPM_DAA_WRONG_W: NTSTATUS = 0xC0290057; -pub const STATUS_TPM_BAD_HANDLE: NTSTATUS = 0xC0290058; -pub const STATUS_TPM_BAD_DELEGATE: NTSTATUS = 0xC0290059; -pub const STATUS_TPM_BADCONTEXT: NTSTATUS = 0xC029005A; -pub const STATUS_TPM_TOOMANYCONTEXTS: NTSTATUS = 0xC029005B; -pub const STATUS_TPM_MA_TICKET_SIGNATURE: NTSTATUS = 0xC029005C; -pub const STATUS_TPM_MA_DESTINATION: NTSTATUS = 0xC029005D; -pub const STATUS_TPM_MA_SOURCE: NTSTATUS = 0xC029005E; -pub const STATUS_TPM_MA_AUTHORITY: NTSTATUS = 0xC029005F; -pub const STATUS_TPM_PERMANENTEK: NTSTATUS = 0xC0290061; -pub const STATUS_TPM_BAD_SIGNATURE: NTSTATUS = 0xC0290062; -pub const STATUS_TPM_NOCONTEXTSPACE: NTSTATUS = 0xC0290063; -pub const STATUS_TPM_COMMAND_BLOCKED: NTSTATUS = 0xC0290400; -pub const STATUS_TPM_INVALID_HANDLE: NTSTATUS = 0xC0290401; -pub const STATUS_TPM_DUPLICATE_VHANDLE: NTSTATUS = 0xC0290402; -pub const STATUS_TPM_EMBEDDED_COMMAND_BLOCKED: NTSTATUS = 0xC0290403; -pub const STATUS_TPM_EMBEDDED_COMMAND_UNSUPPORTED: NTSTATUS = 0xC0290404; -pub const STATUS_TPM_RETRY: NTSTATUS = 0xC0290800; -pub const STATUS_TPM_NEEDS_SELFTEST: NTSTATUS = 0xC0290801; -pub const STATUS_TPM_DOING_SELFTEST: NTSTATUS = 0xC0290802; -pub const STATUS_TPM_DEFEND_LOCK_RUNNING: NTSTATUS = 0xC0290803; -pub const STATUS_TPM_COMMAND_CANCELED: NTSTATUS = 0xC0291001; -pub const STATUS_TPM_TOO_MANY_CONTEXTS: NTSTATUS = 0xC0291002; -pub const STATUS_TPM_NOT_FOUND: NTSTATUS = 0xC0291003; -pub const STATUS_TPM_ACCESS_DENIED: NTSTATUS = 0xC0291004; -pub const STATUS_TPM_INSUFFICIENT_BUFFER: NTSTATUS = 0xC0291005; -pub const STATUS_TPM_PPI_FUNCTION_UNSUPPORTED: NTSTATUS = 0xC0291006; -pub const STATUS_PCP_ERROR_MASK: NTSTATUS = 0xC0292000; -pub const STATUS_PCP_DEVICE_NOT_READY: NTSTATUS = 0xC0292001; -pub const STATUS_PCP_INVALID_HANDLE: NTSTATUS = 0xC0292002; -pub const STATUS_PCP_INVALID_PARAMETER: NTSTATUS = 0xC0292003; -pub const STATUS_PCP_FLAG_NOT_SUPPORTED: NTSTATUS = 0xC0292004; -pub const STATUS_PCP_NOT_SUPPORTED: NTSTATUS = 0xC0292005; -pub const STATUS_PCP_BUFFER_TOO_SMALL: NTSTATUS = 0xC0292006; -pub const STATUS_PCP_INTERNAL_ERROR: NTSTATUS = 0xC0292007; -pub const STATUS_PCP_AUTHENTICATION_FAILED: NTSTATUS = 0xC0292008; -pub const STATUS_PCP_AUTHENTICATION_IGNORED: NTSTATUS = 0xC0292009; -pub const STATUS_PCP_POLICY_NOT_FOUND: NTSTATUS = 0xC029200A; -pub const STATUS_PCP_PROFILE_NOT_FOUND: NTSTATUS = 0xC029200B; -pub const STATUS_PCP_VALIDATION_FAILED: NTSTATUS = 0xC029200C; -pub const STATUS_PCP_DEVICE_NOT_FOUND: NTSTATUS = 0xC029200D; -pub const STATUS_RTPM_CONTEXT_CONTINUE: NTSTATUS = 0x00293000; -pub const STATUS_RTPM_CONTEXT_COMPLETE: NTSTATUS = 0x00293001; -pub const STATUS_RTPM_NO_RESULT: NTSTATUS = 0xC0293002; -pub const STATUS_RTPM_PCR_READ_INCOMPLETE: NTSTATUS = 0xC0293003; -pub const STATUS_RTPM_INVALID_CONTEXT: NTSTATUS = 0xC0293004; -pub const STATUS_RTPM_UNSUPPORTED_CMD: NTSTATUS = 0xC0293005; -pub const STATUS_HV_INVALID_HYPERCALL_CODE: NTSTATUS = 0xC0350002; -pub const STATUS_HV_INVALID_HYPERCALL_INPUT: NTSTATUS = 0xC0350003; -pub const STATUS_HV_INVALID_ALIGNMENT: NTSTATUS = 0xC0350004; -pub const STATUS_HV_INVALID_PARAMETER: NTSTATUS = 0xC0350005; -pub const STATUS_HV_ACCESS_DENIED: NTSTATUS = 0xC0350006; -pub const STATUS_HV_INVALID_PARTITION_STATE: NTSTATUS = 0xC0350007; -pub const STATUS_HV_OPERATION_DENIED: NTSTATUS = 0xC0350008; -pub const STATUS_HV_UNKNOWN_PROPERTY: NTSTATUS = 0xC0350009; -pub const STATUS_HV_PROPERTY_VALUE_OUT_OF_RANGE: NTSTATUS = 0xC035000A; -pub const STATUS_HV_INSUFFICIENT_MEMORY: NTSTATUS = 0xC035000B; -pub const STATUS_HV_PARTITION_TOO_DEEP: NTSTATUS = 0xC035000C; -pub const STATUS_HV_INVALID_PARTITION_ID: NTSTATUS = 0xC035000D; -pub const STATUS_HV_INVALID_VP_INDEX: NTSTATUS = 0xC035000E; -pub const STATUS_HV_INVALID_PORT_ID: NTSTATUS = 0xC0350011; -pub const STATUS_HV_INVALID_CONNECTION_ID: NTSTATUS = 0xC0350012; -pub const STATUS_HV_INSUFFICIENT_BUFFERS: NTSTATUS = 0xC0350013; -pub const STATUS_HV_NOT_ACKNOWLEDGED: NTSTATUS = 0xC0350014; -pub const STATUS_HV_INVALID_VP_STATE: NTSTATUS = 0xC0350015; -pub const STATUS_HV_ACKNOWLEDGED: NTSTATUS = 0xC0350016; -pub const STATUS_HV_INVALID_SAVE_RESTORE_STATE: NTSTATUS = 0xC0350017; -pub const STATUS_HV_INVALID_SYNIC_STATE: NTSTATUS = 0xC0350018; -pub const STATUS_HV_OBJECT_IN_USE: NTSTATUS = 0xC0350019; -pub const STATUS_HV_INVALID_PROXIMITY_DOMAIN_INFO: NTSTATUS = 0xC035001A; -pub const STATUS_HV_NO_DATA: NTSTATUS = 0xC035001B; -pub const STATUS_HV_INACTIVE: NTSTATUS = 0xC035001C; -pub const STATUS_HV_NO_RESOURCES: NTSTATUS = 0xC035001D; -pub const STATUS_HV_FEATURE_UNAVAILABLE: NTSTATUS = 0xC035001E; -pub const STATUS_HV_INSUFFICIENT_BUFFER: NTSTATUS = 0xC0350033; -pub const STATUS_HV_INSUFFICIENT_DEVICE_DOMAINS: NTSTATUS = 0xC0350038; -pub const STATUS_HV_CPUID_FEATURE_VALIDATION_ERROR: NTSTATUS = 0xC035003C; -pub const STATUS_HV_CPUID_XSAVE_FEATURE_VALIDATION_ERROR: NTSTATUS = 0xC035003D; -pub const STATUS_HV_PROCESSOR_STARTUP_TIMEOUT: NTSTATUS = 0xC035003E; -pub const STATUS_HV_SMX_ENABLED: NTSTATUS = 0xC035003F; -pub const STATUS_HV_INVALID_LP_INDEX: NTSTATUS = 0xC0350041; -pub const STATUS_HV_INVALID_REGISTER_VALUE: NTSTATUS = 0xC0350050; -pub const STATUS_HV_INVALID_VTL_STATE: NTSTATUS = 0xC0350051; -pub const STATUS_HV_NX_NOT_DETECTED: NTSTATUS = 0xC0350055; -pub const STATUS_HV_INVALID_DEVICE_ID: NTSTATUS = 0xC0350057; -pub const STATUS_HV_INVALID_DEVICE_STATE: NTSTATUS = 0xC0350058; -pub const STATUS_HV_PENDING_PAGE_REQUESTS: NTSTATUS = 0x00350059; -pub const STATUS_HV_PAGE_REQUEST_INVALID: NTSTATUS = 0xC0350060; -pub const STATUS_HV_INVALID_CPU_GROUP_ID: NTSTATUS = 0xC035006F; -pub const STATUS_HV_INVALID_CPU_GROUP_STATE: NTSTATUS = 0xC0350070; -pub const STATUS_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE: NTSTATUS = 0xC0350071; -pub const STATUS_HV_NOT_PRESENT: NTSTATUS = 0xC0351000; -pub const STATUS_VID_DUPLICATE_HANDLER: NTSTATUS = 0xC0370001; -pub const STATUS_VID_TOO_MANY_HANDLERS: NTSTATUS = 0xC0370002; -pub const STATUS_VID_QUEUE_FULL: NTSTATUS = 0xC0370003; -pub const STATUS_VID_HANDLER_NOT_PRESENT: NTSTATUS = 0xC0370004; -pub const STATUS_VID_INVALID_OBJECT_NAME: NTSTATUS = 0xC0370005; -pub const STATUS_VID_PARTITION_NAME_TOO_LONG: NTSTATUS = 0xC0370006; -pub const STATUS_VID_MESSAGE_QUEUE_NAME_TOO_LONG: NTSTATUS = 0xC0370007; -pub const STATUS_VID_PARTITION_ALREADY_EXISTS: NTSTATUS = 0xC0370008; -pub const STATUS_VID_PARTITION_DOES_NOT_EXIST: NTSTATUS = 0xC0370009; -pub const STATUS_VID_PARTITION_NAME_NOT_FOUND: NTSTATUS = 0xC037000A; -pub const STATUS_VID_MESSAGE_QUEUE_ALREADY_EXISTS: NTSTATUS = 0xC037000B; -pub const STATUS_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT: NTSTATUS = 0xC037000C; -pub const STATUS_VID_MB_STILL_REFERENCED: NTSTATUS = 0xC037000D; -pub const STATUS_VID_CHILD_GPA_PAGE_SET_CORRUPTED: NTSTATUS = 0xC037000E; -pub const STATUS_VID_INVALID_NUMA_SETTINGS: NTSTATUS = 0xC037000F; -pub const STATUS_VID_INVALID_NUMA_NODE_INDEX: NTSTATUS = 0xC0370010; -pub const STATUS_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED: NTSTATUS = 0xC0370011; -pub const STATUS_VID_INVALID_MEMORY_BLOCK_HANDLE: NTSTATUS = 0xC0370012; -pub const STATUS_VID_PAGE_RANGE_OVERFLOW: NTSTATUS = 0xC0370013; -pub const STATUS_VID_INVALID_MESSAGE_QUEUE_HANDLE: NTSTATUS = 0xC0370014; -pub const STATUS_VID_INVALID_GPA_RANGE_HANDLE: NTSTATUS = 0xC0370015; -pub const STATUS_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE: NTSTATUS = 0xC0370016; -pub const STATUS_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED: NTSTATUS = 0xC0370017; -pub const STATUS_VID_INVALID_PPM_HANDLE: NTSTATUS = 0xC0370018; -pub const STATUS_VID_MBPS_ARE_LOCKED: NTSTATUS = 0xC0370019; -pub const STATUS_VID_MESSAGE_QUEUE_CLOSED: NTSTATUS = 0xC037001A; -pub const STATUS_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED: NTSTATUS = 0xC037001B; -pub const STATUS_VID_STOP_PENDING: NTSTATUS = 0xC037001C; -pub const STATUS_VID_INVALID_PROCESSOR_STATE: NTSTATUS = 0xC037001D; -pub const STATUS_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT: NTSTATUS = 0xC037001E; -pub const STATUS_VID_KM_INTERFACE_ALREADY_INITIALIZED: NTSTATUS = 0xC037001F; -pub const STATUS_VID_MB_PROPERTY_ALREADY_SET_RESET: NTSTATUS = 0xC0370020; -pub const STATUS_VID_MMIO_RANGE_DESTROYED: NTSTATUS = 0xC0370021; -pub const STATUS_VID_INVALID_CHILD_GPA_PAGE_SET: NTSTATUS = 0xC0370022; -pub const STATUS_VID_RESERVE_PAGE_SET_IS_BEING_USED: NTSTATUS = 0xC0370023; -pub const STATUS_VID_RESERVE_PAGE_SET_TOO_SMALL: NTSTATUS = 0xC0370024; -pub const STATUS_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE: NTSTATUS = 0xC0370025; -pub const STATUS_VID_MBP_COUNT_EXCEEDED_LIMIT: NTSTATUS = 0xC0370026; -pub const STATUS_VID_SAVED_STATE_CORRUPT: NTSTATUS = 0xC0370027; -pub const STATUS_VID_SAVED_STATE_UNRECOGNIZED_ITEM: NTSTATUS = 0xC0370028; -pub const STATUS_VID_SAVED_STATE_INCOMPATIBLE: NTSTATUS = 0xC0370029; -pub const STATUS_VID_VTL_ACCESS_DENIED: NTSTATUS = 0xC037002A; -pub const STATUS_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED: NTSTATUS = 0x80370001; -pub const STATUS_IPSEC_BAD_SPI: NTSTATUS = 0xC0360001; -pub const STATUS_IPSEC_SA_LIFETIME_EXPIRED: NTSTATUS = 0xC0360002; -pub const STATUS_IPSEC_WRONG_SA: NTSTATUS = 0xC0360003; -pub const STATUS_IPSEC_REPLAY_CHECK_FAILED: NTSTATUS = 0xC0360004; -pub const STATUS_IPSEC_INVALID_PACKET: NTSTATUS = 0xC0360005; -pub const STATUS_IPSEC_INTEGRITY_CHECK_FAILED: NTSTATUS = 0xC0360006; -pub const STATUS_IPSEC_CLEAR_TEXT_DROP: NTSTATUS = 0xC0360007; -pub const STATUS_IPSEC_AUTH_FIREWALL_DROP: NTSTATUS = 0xC0360008; -pub const STATUS_IPSEC_THROTTLE_DROP: NTSTATUS = 0xC0360009; -pub const STATUS_IPSEC_DOSP_BLOCK: NTSTATUS = 0xC0368000; -pub const STATUS_IPSEC_DOSP_RECEIVED_MULTICAST: NTSTATUS = 0xC0368001; -pub const STATUS_IPSEC_DOSP_INVALID_PACKET: NTSTATUS = 0xC0368002; -pub const STATUS_IPSEC_DOSP_STATE_LOOKUP_FAILED: NTSTATUS = 0xC0368003; -pub const STATUS_IPSEC_DOSP_MAX_ENTRIES: NTSTATUS = 0xC0368004; -pub const STATUS_IPSEC_DOSP_KEYMOD_NOT_ALLOWED: NTSTATUS = 0xC0368005; -pub const STATUS_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES: NTSTATUS = 0xC0368006; -pub const STATUS_VOLMGR_INCOMPLETE_REGENERATION: NTSTATUS = 0x80380001; -pub const STATUS_VOLMGR_INCOMPLETE_DISK_MIGRATION: NTSTATUS = 0x80380002; -pub const STATUS_VOLMGR_DATABASE_FULL: NTSTATUS = 0xC0380001; -pub const STATUS_VOLMGR_DISK_CONFIGURATION_CORRUPTED: NTSTATUS = 0xC0380002; -pub const STATUS_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC: NTSTATUS = 0xC0380003; -pub const STATUS_VOLMGR_PACK_CONFIG_UPDATE_FAILED: NTSTATUS = 0xC0380004; -pub const STATUS_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME: NTSTATUS = 0xC0380005; -pub const STATUS_VOLMGR_DISK_DUPLICATE: NTSTATUS = 0xC0380006; -pub const STATUS_VOLMGR_DISK_DYNAMIC: NTSTATUS = 0xC0380007; -pub const STATUS_VOLMGR_DISK_ID_INVALID: NTSTATUS = 0xC0380008; -pub const STATUS_VOLMGR_DISK_INVALID: NTSTATUS = 0xC0380009; -pub const STATUS_VOLMGR_DISK_LAST_VOTER: NTSTATUS = 0xC038000A; -pub const STATUS_VOLMGR_DISK_LAYOUT_INVALID: NTSTATUS = 0xC038000B; -pub const STATUS_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS: NTSTATUS - = 0xC038000C; -pub const STATUS_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED: NTSTATUS = 0xC038000D; -pub const STATUS_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL: NTSTATUS = 0xC038000E; -pub const STATUS_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS: NTSTATUS - = 0xC038000F; -pub const STATUS_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS: NTSTATUS = 0xC0380010; -pub const STATUS_VOLMGR_DISK_MISSING: NTSTATUS = 0xC0380011; -pub const STATUS_VOLMGR_DISK_NOT_EMPTY: NTSTATUS = 0xC0380012; -pub const STATUS_VOLMGR_DISK_NOT_ENOUGH_SPACE: NTSTATUS = 0xC0380013; -pub const STATUS_VOLMGR_DISK_REVECTORING_FAILED: NTSTATUS = 0xC0380014; -pub const STATUS_VOLMGR_DISK_SECTOR_SIZE_INVALID: NTSTATUS = 0xC0380015; -pub const STATUS_VOLMGR_DISK_SET_NOT_CONTAINED: NTSTATUS = 0xC0380016; -pub const STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS: NTSTATUS = 0xC0380017; -pub const STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES: NTSTATUS = 0xC0380018; -pub const STATUS_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED: NTSTATUS = 0xC0380019; -pub const STATUS_VOLMGR_EXTENT_ALREADY_USED: NTSTATUS = 0xC038001A; -pub const STATUS_VOLMGR_EXTENT_NOT_CONTIGUOUS: NTSTATUS = 0xC038001B; -pub const STATUS_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION: NTSTATUS = 0xC038001C; -pub const STATUS_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED: NTSTATUS = 0xC038001D; -pub const STATUS_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION: NTSTATUS = 0xC038001E; -pub const STATUS_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH: NTSTATUS = 0xC038001F; -pub const STATUS_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED: NTSTATUS = 0xC0380020; -pub const STATUS_VOLMGR_INTERLEAVE_LENGTH_INVALID: NTSTATUS = 0xC0380021; -pub const STATUS_VOLMGR_MAXIMUM_REGISTERED_USERS: NTSTATUS = 0xC0380022; -pub const STATUS_VOLMGR_MEMBER_IN_SYNC: NTSTATUS = 0xC0380023; -pub const STATUS_VOLMGR_MEMBER_INDEX_DUPLICATE: NTSTATUS = 0xC0380024; -pub const STATUS_VOLMGR_MEMBER_INDEX_INVALID: NTSTATUS = 0xC0380025; -pub const STATUS_VOLMGR_MEMBER_MISSING: NTSTATUS = 0xC0380026; -pub const STATUS_VOLMGR_MEMBER_NOT_DETACHED: NTSTATUS = 0xC0380027; -pub const STATUS_VOLMGR_MEMBER_REGENERATING: NTSTATUS = 0xC0380028; -pub const STATUS_VOLMGR_ALL_DISKS_FAILED: NTSTATUS = 0xC0380029; -pub const STATUS_VOLMGR_NO_REGISTERED_USERS: NTSTATUS = 0xC038002A; -pub const STATUS_VOLMGR_NO_SUCH_USER: NTSTATUS = 0xC038002B; -pub const STATUS_VOLMGR_NOTIFICATION_RESET: NTSTATUS = 0xC038002C; -pub const STATUS_VOLMGR_NUMBER_OF_MEMBERS_INVALID: NTSTATUS = 0xC038002D; -pub const STATUS_VOLMGR_NUMBER_OF_PLEXES_INVALID: NTSTATUS = 0xC038002E; -pub const STATUS_VOLMGR_PACK_DUPLICATE: NTSTATUS = 0xC038002F; -pub const STATUS_VOLMGR_PACK_ID_INVALID: NTSTATUS = 0xC0380030; -pub const STATUS_VOLMGR_PACK_INVALID: NTSTATUS = 0xC0380031; -pub const STATUS_VOLMGR_PACK_NAME_INVALID: NTSTATUS = 0xC0380032; -pub const STATUS_VOLMGR_PACK_OFFLINE: NTSTATUS = 0xC0380033; -pub const STATUS_VOLMGR_PACK_HAS_QUORUM: NTSTATUS = 0xC0380034; -pub const STATUS_VOLMGR_PACK_WITHOUT_QUORUM: NTSTATUS = 0xC0380035; -pub const STATUS_VOLMGR_PARTITION_STYLE_INVALID: NTSTATUS = 0xC0380036; -pub const STATUS_VOLMGR_PARTITION_UPDATE_FAILED: NTSTATUS = 0xC0380037; -pub const STATUS_VOLMGR_PLEX_IN_SYNC: NTSTATUS = 0xC0380038; -pub const STATUS_VOLMGR_PLEX_INDEX_DUPLICATE: NTSTATUS = 0xC0380039; -pub const STATUS_VOLMGR_PLEX_INDEX_INVALID: NTSTATUS = 0xC038003A; -pub const STATUS_VOLMGR_PLEX_LAST_ACTIVE: NTSTATUS = 0xC038003B; -pub const STATUS_VOLMGR_PLEX_MISSING: NTSTATUS = 0xC038003C; -pub const STATUS_VOLMGR_PLEX_REGENERATING: NTSTATUS = 0xC038003D; -pub const STATUS_VOLMGR_PLEX_TYPE_INVALID: NTSTATUS = 0xC038003E; -pub const STATUS_VOLMGR_PLEX_NOT_RAID5: NTSTATUS = 0xC038003F; -pub const STATUS_VOLMGR_PLEX_NOT_SIMPLE: NTSTATUS = 0xC0380040; -pub const STATUS_VOLMGR_STRUCTURE_SIZE_INVALID: NTSTATUS = 0xC0380041; -pub const STATUS_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS: NTSTATUS = 0xC0380042; -pub const STATUS_VOLMGR_TRANSACTION_IN_PROGRESS: NTSTATUS = 0xC0380043; -pub const STATUS_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE: NTSTATUS = 0xC0380044; -pub const STATUS_VOLMGR_VOLUME_CONTAINS_MISSING_DISK: NTSTATUS = 0xC0380045; -pub const STATUS_VOLMGR_VOLUME_ID_INVALID: NTSTATUS = 0xC0380046; -pub const STATUS_VOLMGR_VOLUME_LENGTH_INVALID: NTSTATUS = 0xC0380047; -pub const STATUS_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE: NTSTATUS = 0xC0380048; -pub const STATUS_VOLMGR_VOLUME_NOT_MIRRORED: NTSTATUS = 0xC0380049; -pub const STATUS_VOLMGR_VOLUME_NOT_RETAINED: NTSTATUS = 0xC038004A; -pub const STATUS_VOLMGR_VOLUME_OFFLINE: NTSTATUS = 0xC038004B; -pub const STATUS_VOLMGR_VOLUME_RETAINED: NTSTATUS = 0xC038004C; -pub const STATUS_VOLMGR_NUMBER_OF_EXTENTS_INVALID: NTSTATUS = 0xC038004D; -pub const STATUS_VOLMGR_DIFFERENT_SECTOR_SIZE: NTSTATUS = 0xC038004E; -pub const STATUS_VOLMGR_BAD_BOOT_DISK: NTSTATUS = 0xC038004F; -pub const STATUS_VOLMGR_PACK_CONFIG_OFFLINE: NTSTATUS = 0xC0380050; -pub const STATUS_VOLMGR_PACK_CONFIG_ONLINE: NTSTATUS = 0xC0380051; -pub const STATUS_VOLMGR_NOT_PRIMARY_PACK: NTSTATUS = 0xC0380052; -pub const STATUS_VOLMGR_PACK_LOG_UPDATE_FAILED: NTSTATUS = 0xC0380053; -pub const STATUS_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID: NTSTATUS = 0xC0380054; -pub const STATUS_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID: NTSTATUS = 0xC0380055; -pub const STATUS_VOLMGR_VOLUME_MIRRORED: NTSTATUS = 0xC0380056; -pub const STATUS_VOLMGR_PLEX_NOT_SIMPLE_SPANNED: NTSTATUS = 0xC0380057; -pub const STATUS_VOLMGR_NO_VALID_LOG_COPIES: NTSTATUS = 0xC0380058; -pub const STATUS_VOLMGR_PRIMARY_PACK_PRESENT: NTSTATUS = 0xC0380059; -pub const STATUS_VOLMGR_NUMBER_OF_DISKS_INVALID: NTSTATUS = 0xC038005A; -pub const STATUS_VOLMGR_MIRROR_NOT_SUPPORTED: NTSTATUS = 0xC038005B; -pub const STATUS_VOLMGR_RAID5_NOT_SUPPORTED: NTSTATUS = 0xC038005C; -pub const STATUS_BCD_NOT_ALL_ENTRIES_IMPORTED: NTSTATUS = 0x80390001; -pub const STATUS_BCD_TOO_MANY_ELEMENTS: NTSTATUS = 0xC0390002; -pub const STATUS_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED: NTSTATUS = 0x80390003; -pub const STATUS_VHD_DRIVE_FOOTER_MISSING: NTSTATUS = 0xC03A0001; -pub const STATUS_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH: NTSTATUS = 0xC03A0002; -pub const STATUS_VHD_DRIVE_FOOTER_CORRUPT: NTSTATUS = 0xC03A0003; -pub const STATUS_VHD_FORMAT_UNKNOWN: NTSTATUS = 0xC03A0004; -pub const STATUS_VHD_FORMAT_UNSUPPORTED_VERSION: NTSTATUS = 0xC03A0005; -pub const STATUS_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH: NTSTATUS = 0xC03A0006; -pub const STATUS_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION: NTSTATUS = 0xC03A0007; -pub const STATUS_VHD_SPARSE_HEADER_CORRUPT: NTSTATUS = 0xC03A0008; -pub const STATUS_VHD_BLOCK_ALLOCATION_FAILURE: NTSTATUS = 0xC03A0009; -pub const STATUS_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT: NTSTATUS = 0xC03A000A; -pub const STATUS_VHD_INVALID_BLOCK_SIZE: NTSTATUS = 0xC03A000B; -pub const STATUS_VHD_BITMAP_MISMATCH: NTSTATUS = 0xC03A000C; -pub const STATUS_VHD_PARENT_VHD_NOT_FOUND: NTSTATUS = 0xC03A000D; -pub const STATUS_VHD_CHILD_PARENT_ID_MISMATCH: NTSTATUS = 0xC03A000E; -pub const STATUS_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH: NTSTATUS = 0xC03A000F; -pub const STATUS_VHD_METADATA_READ_FAILURE: NTSTATUS = 0xC03A0010; -pub const STATUS_VHD_METADATA_WRITE_FAILURE: NTSTATUS = 0xC03A0011; -pub const STATUS_VHD_INVALID_SIZE: NTSTATUS = 0xC03A0012; -pub const STATUS_VHD_INVALID_FILE_SIZE: NTSTATUS = 0xC03A0013; -pub const STATUS_VIRTDISK_PROVIDER_NOT_FOUND: NTSTATUS = 0xC03A0014; -pub const STATUS_VIRTDISK_NOT_VIRTUAL_DISK: NTSTATUS = 0xC03A0015; -pub const STATUS_VHD_PARENT_VHD_ACCESS_DENIED: NTSTATUS = 0xC03A0016; -pub const STATUS_VHD_CHILD_PARENT_SIZE_MISMATCH: NTSTATUS = 0xC03A0017; -pub const STATUS_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED: NTSTATUS = 0xC03A0018; -pub const STATUS_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT: NTSTATUS = 0xC03A0019; -pub const STATUS_VIRTUAL_DISK_LIMITATION: NTSTATUS = 0xC03A001A; -pub const STATUS_VHD_INVALID_TYPE: NTSTATUS = 0xC03A001B; -pub const STATUS_VHD_INVALID_STATE: NTSTATUS = 0xC03A001C; -pub const STATUS_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE: NTSTATUS = 0xC03A001D; -pub const STATUS_VIRTDISK_DISK_ALREADY_OWNED: NTSTATUS = 0xC03A001E; -pub const STATUS_VIRTDISK_DISK_ONLINE_AND_WRITABLE: NTSTATUS = 0xC03A001F; -pub const STATUS_CTLOG_TRACKING_NOT_INITIALIZED: NTSTATUS = 0xC03A0020; -pub const STATUS_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE: NTSTATUS = 0xC03A0021; -pub const STATUS_CTLOG_VHD_CHANGED_OFFLINE: NTSTATUS = 0xC03A0022; -pub const STATUS_CTLOG_INVALID_TRACKING_STATE: NTSTATUS = 0xC03A0023; -pub const STATUS_CTLOG_INCONSISTENT_TRACKING_FILE: NTSTATUS = 0xC03A0024; -pub const STATUS_VHD_METADATA_FULL: NTSTATUS = 0xC03A0028; -pub const STATUS_VHD_INVALID_CHANGE_TRACKING_ID: NTSTATUS = 0xC03A0029; -pub const STATUS_VHD_CHANGE_TRACKING_DISABLED: NTSTATUS = 0xC03A002A; -pub const STATUS_VHD_MISSING_CHANGE_TRACKING_INFORMATION: NTSTATUS = 0xC03A0030; -pub const STATUS_VHD_RESIZE_WOULD_TRUNCATE_DATA: NTSTATUS = 0xC03A0031; -pub const STATUS_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE: NTSTATUS = 0xC03A0032; -pub const STATUS_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE: NTSTATUS = 0xC03A0033; -pub const STATUS_QUERY_STORAGE_ERROR: NTSTATUS = 0x803A0001; -pub const STATUS_RKF_KEY_NOT_FOUND: NTSTATUS = 0xC0400001; -pub const STATUS_RKF_DUPLICATE_KEY: NTSTATUS = 0xC0400002; -pub const STATUS_RKF_BLOB_FULL: NTSTATUS = 0xC0400003; -pub const STATUS_RKF_STORE_FULL: NTSTATUS = 0xC0400004; -pub const STATUS_RKF_FILE_BLOCKED: NTSTATUS = 0xC0400005; -pub const STATUS_RKF_ACTIVE_KEY: NTSTATUS = 0xC0400006; -pub const STATUS_RDBSS_RESTART_OPERATION: NTSTATUS = 0xC0410001; -pub const STATUS_RDBSS_CONTINUE_OPERATION: NTSTATUS = 0xC0410002; -pub const STATUS_RDBSS_POST_OPERATION: NTSTATUS = 0xC0410003; -pub const STATUS_BTH_ATT_INVALID_HANDLE: NTSTATUS = 0xC0420001; -pub const STATUS_BTH_ATT_READ_NOT_PERMITTED: NTSTATUS = 0xC0420002; -pub const STATUS_BTH_ATT_WRITE_NOT_PERMITTED: NTSTATUS = 0xC0420003; -pub const STATUS_BTH_ATT_INVALID_PDU: NTSTATUS = 0xC0420004; -pub const STATUS_BTH_ATT_INSUFFICIENT_AUTHENTICATION: NTSTATUS = 0xC0420005; -pub const STATUS_BTH_ATT_REQUEST_NOT_SUPPORTED: NTSTATUS = 0xC0420006; -pub const STATUS_BTH_ATT_INVALID_OFFSET: NTSTATUS = 0xC0420007; -pub const STATUS_BTH_ATT_INSUFFICIENT_AUTHORIZATION: NTSTATUS = 0xC0420008; -pub const STATUS_BTH_ATT_PREPARE_QUEUE_FULL: NTSTATUS = 0xC0420009; -pub const STATUS_BTH_ATT_ATTRIBUTE_NOT_FOUND: NTSTATUS = 0xC042000A; -pub const STATUS_BTH_ATT_ATTRIBUTE_NOT_LONG: NTSTATUS = 0xC042000B; -pub const STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE: NTSTATUS = 0xC042000C; -pub const STATUS_BTH_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH: NTSTATUS = 0xC042000D; -pub const STATUS_BTH_ATT_UNLIKELY: NTSTATUS = 0xC042000E; -pub const STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION: NTSTATUS = 0xC042000F; -pub const STATUS_BTH_ATT_UNSUPPORTED_GROUP_TYPE: NTSTATUS = 0xC0420010; -pub const STATUS_BTH_ATT_INSUFFICIENT_RESOURCES: NTSTATUS = 0xC0420011; -pub const STATUS_BTH_ATT_UNKNOWN_ERROR: NTSTATUS = 0xC0421000; -pub const STATUS_SECUREBOOT_ROLLBACK_DETECTED: NTSTATUS = 0xC0430001; -pub const STATUS_SECUREBOOT_POLICY_VIOLATION: NTSTATUS = 0xC0430002; -pub const STATUS_SECUREBOOT_INVALID_POLICY: NTSTATUS = 0xC0430003; -pub const STATUS_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND: NTSTATUS = 0xC0430004; -pub const STATUS_SECUREBOOT_POLICY_NOT_SIGNED: NTSTATUS = 0xC0430005; -pub const STATUS_SECUREBOOT_NOT_ENABLED: NTSTATUS = 0x80430006; -pub const STATUS_SECUREBOOT_FILE_REPLACED: NTSTATUS = 0xC0430007; -pub const STATUS_SECUREBOOT_POLICY_NOT_AUTHORIZED: NTSTATUS = 0xC0430008; -pub const STATUS_SECUREBOOT_POLICY_UNKNOWN: NTSTATUS = 0xC0430009; -pub const STATUS_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION: NTSTATUS = 0xC043000A; -pub const STATUS_SECUREBOOT_PLATFORM_ID_MISMATCH: NTSTATUS = 0xC043000B; -pub const STATUS_SECUREBOOT_POLICY_ROLLBACK_DETECTED: NTSTATUS = 0xC043000C; -pub const STATUS_SECUREBOOT_POLICY_UPGRADE_MISMATCH: NTSTATUS = 0xC043000D; -pub const STATUS_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING: NTSTATUS = 0xC043000E; -pub const STATUS_SECUREBOOT_NOT_BASE_POLICY: NTSTATUS = 0xC043000F; -pub const STATUS_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY: NTSTATUS = 0xC0430010; -pub const STATUS_PLATFORM_MANIFEST_NOT_AUTHORIZED: NTSTATUS = 0xC0EB0001; -pub const STATUS_PLATFORM_MANIFEST_INVALID: NTSTATUS = 0xC0EB0002; -pub const STATUS_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED: NTSTATUS = 0xC0EB0003; -pub const STATUS_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED: NTSTATUS = 0xC0EB0004; -pub const STATUS_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND: NTSTATUS = 0xC0EB0005; -pub const STATUS_PLATFORM_MANIFEST_NOT_ACTIVE: NTSTATUS = 0xC0EB0006; -pub const STATUS_PLATFORM_MANIFEST_NOT_SIGNED: NTSTATUS = 0xC0EB0007; -pub const STATUS_SYSTEM_INTEGRITY_ROLLBACK_DETECTED: NTSTATUS = 0xC0E90001; -pub const STATUS_SYSTEM_INTEGRITY_POLICY_VIOLATION: NTSTATUS = 0xC0E90002; -pub const STATUS_SYSTEM_INTEGRITY_INVALID_POLICY: NTSTATUS = 0xC0E90003; -pub const STATUS_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED: NTSTATUS = 0xC0E90004; -pub const STATUS_NO_APPLICABLE_APP_LICENSES_FOUND: NTSTATUS = 0xC0EA0001; -pub const STATUS_CLIP_LICENSE_NOT_FOUND: NTSTATUS = 0xC0EA0002; -pub const STATUS_CLIP_DEVICE_LICENSE_MISSING: NTSTATUS = 0xC0EA0003; -pub const STATUS_CLIP_LICENSE_INVALID_SIGNATURE: NTSTATUS = 0xC0EA0004; -pub const STATUS_CLIP_KEYHOLDER_LICENSE_MISSING_OR_INVALID: NTSTATUS = 0xC0EA0005; -pub const STATUS_CLIP_LICENSE_EXPIRED: NTSTATUS = 0xC0EA0006; -pub const STATUS_CLIP_LICENSE_SIGNED_BY_UNKNOWN_SOURCE: NTSTATUS = 0xC0EA0007; -pub const STATUS_CLIP_LICENSE_NOT_SIGNED: NTSTATUS = 0xC0EA0008; -pub const STATUS_CLIP_LICENSE_HARDWARE_ID_OUT_OF_TOLERANCE: NTSTATUS = 0xC0EA0009; -pub const STATUS_CLIP_LICENSE_DEVICE_ID_MISMATCH: NTSTATUS = 0xC0EA000A; -pub const STATUS_AUDIO_ENGINE_NODE_NOT_FOUND: NTSTATUS = 0xC0440001; -pub const STATUS_HDAUDIO_EMPTY_CONNECTION_LIST: NTSTATUS = 0xC0440002; -pub const STATUS_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED: NTSTATUS = 0xC0440003; -pub const STATUS_HDAUDIO_NO_LOGICAL_DEVICES_CREATED: NTSTATUS = 0xC0440004; -pub const STATUS_HDAUDIO_NULL_LINKED_LIST_ENTRY: NTSTATUS = 0xC0440005; -pub const STATUS_SPACES_REPAIRED: NTSTATUS = 0x00E70000; -pub const STATUS_SPACES_PAUSE: NTSTATUS = 0x00E70001; -pub const STATUS_SPACES_COMPLETE: NTSTATUS = 0x00E70002; -pub const STATUS_SPACES_FAULT_DOMAIN_TYPE_INVALID: NTSTATUS = 0xC0E70001; -pub const STATUS_SPACES_RESILIENCY_TYPE_INVALID: NTSTATUS = 0xC0E70003; -pub const STATUS_SPACES_DRIVE_SECTOR_SIZE_INVALID: NTSTATUS = 0xC0E70004; -pub const STATUS_SPACES_DRIVE_REDUNDANCY_INVALID: NTSTATUS = 0xC0E70006; -pub const STATUS_SPACES_NUMBER_OF_DATA_COPIES_INVALID: NTSTATUS = 0xC0E70007; -pub const STATUS_SPACES_INTERLEAVE_LENGTH_INVALID: NTSTATUS = 0xC0E70009; -pub const STATUS_SPACES_NUMBER_OF_COLUMNS_INVALID: NTSTATUS = 0xC0E7000A; -pub const STATUS_SPACES_NOT_ENOUGH_DRIVES: NTSTATUS = 0xC0E7000B; -pub const STATUS_SPACES_EXTENDED_ERROR: NTSTATUS = 0xC0E7000C; -pub const STATUS_SPACES_PROVISIONING_TYPE_INVALID: NTSTATUS = 0xC0E7000D; -pub const STATUS_SPACES_ALLOCATION_SIZE_INVALID: NTSTATUS = 0xC0E7000E; -pub const STATUS_SPACES_ENCLOSURE_AWARE_INVALID: NTSTATUS = 0xC0E7000F; -pub const STATUS_SPACES_WRITE_CACHE_SIZE_INVALID: NTSTATUS = 0xC0E70010; -pub const STATUS_SPACES_NUMBER_OF_GROUPS_INVALID: NTSTATUS = 0xC0E70011; -pub const STATUS_SPACES_DRIVE_OPERATIONAL_STATE_INVALID: NTSTATUS = 0xC0E70012; -pub const STATUS_SPACES_UPDATE_COLUMN_STATE: NTSTATUS = 0xC0E70013; -pub const STATUS_SPACES_MAP_REQUIRED: NTSTATUS = 0xC0E70014; -pub const STATUS_SPACES_UNSUPPORTED_VERSION: NTSTATUS = 0xC0E70015; -pub const STATUS_SPACES_CORRUPT_METADATA: NTSTATUS = 0xC0E70016; -pub const STATUS_SPACES_DRT_FULL: NTSTATUS = 0xC0E70017; -pub const STATUS_SPACES_INCONSISTENCY: NTSTATUS = 0xC0E70018; -pub const STATUS_SPACES_LOG_NOT_READY: NTSTATUS = 0xC0E70019; -pub const STATUS_SPACES_NO_REDUNDANCY: NTSTATUS = 0xC0E7001A; -pub const STATUS_SPACES_DRIVE_NOT_READY: NTSTATUS = 0xC0E7001B; -pub const STATUS_SPACES_DRIVE_SPLIT: NTSTATUS = 0xC0E7001C; -pub const STATUS_SPACES_DRIVE_LOST_DATA: NTSTATUS = 0xC0E7001D; -pub const STATUS_VOLSNAP_BOOTFILE_NOT_VALID: NTSTATUS = 0xC0500003; -pub const STATUS_VOLSNAP_ACTIVATION_TIMEOUT: NTSTATUS = 0xC0500004; -pub const STATUS_IO_PREEMPTED: NTSTATUS = 0xC0510001; -pub const STATUS_SVHDX_ERROR_STORED: NTSTATUS = 0xC05C0000; -pub const STATUS_SVHDX_ERROR_NOT_AVAILABLE: NTSTATUS = 0xC05CFF00; -pub const STATUS_SVHDX_UNIT_ATTENTION_AVAILABLE: NTSTATUS = 0xC05CFF01; -pub const STATUS_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED: NTSTATUS = 0xC05CFF02; -pub const STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED: NTSTATUS = 0xC05CFF03; -pub const STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED: NTSTATUS = 0xC05CFF04; -pub const STATUS_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED: NTSTATUS = 0xC05CFF05; -pub const STATUS_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED: NTSTATUS - = 0xC05CFF06; -pub const STATUS_SVHDX_RESERVATION_CONFLICT: NTSTATUS = 0xC05CFF07; -pub const STATUS_SVHDX_WRONG_FILE_TYPE: NTSTATUS = 0xC05CFF08; -pub const STATUS_SVHDX_VERSION_MISMATCH: NTSTATUS = 0xC05CFF09; -pub const STATUS_VHD_SHARED: NTSTATUS = 0xC05CFF0A; -pub const STATUS_SVHDX_NO_INITIATOR: NTSTATUS = 0xC05CFF0B; -pub const STATUS_VHDSET_BACKING_STORAGE_NOT_FOUND: NTSTATUS = 0xC05CFF0C; -pub const STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP: NTSTATUS = 0xC05D0000; -pub const STATUS_SMB_BAD_CLUSTER_DIALECT: NTSTATUS = 0xC05D0001; -pub const STATUS_SMB_GUEST_LOGON_BLOCKED: NTSTATUS = 0xC05D0002; -pub const STATUS_SECCORE_INVALID_COMMAND: NTSTATUS = 0xC0E80000; -pub const STATUS_VSM_NOT_INITIALIZED: NTSTATUS = 0xC0450000; -pub const STATUS_VSM_DMA_PROTECTION_NOT_IN_USE: NTSTATUS = 0xC0450001; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/qos.rs b/vendor/registry-40351f815f426200/winapi/src/shared/qos.rs deleted file mode 100644 index 5117bd26a..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/qos.rs +++ /dev/null @@ -1,20 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! QoS definitions for NDIS components. -use shared::minwindef::ULONG; -pub type SERVICETYPE = ULONG; -STRUCT!{struct FLOWSPEC { - TokenRate: ULONG, - TokenBucketSize: ULONG, - PeakBandwidth: ULONG, - Latency: ULONG, - DelayVariation: ULONG, - ServiceType: SERVICETYPE, - MaxSduSize: ULONG, - MinimumPolicedSize: ULONG, -}} -pub type PFLOWSPEC = *mut FLOWSPEC; -pub type LPFLOWSPEC = *mut FLOWSPEC; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/rpc.rs b/vendor/registry-40351f815f426200/winapi/src/shared/rpc.rs deleted file mode 100644 index 5af7e095d..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/rpc.rs +++ /dev/null @@ -1,9 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Master include file for RPC applications. -use ctypes::{c_long, c_void}; -pub type I_RPC_HANDLE = *mut c_void; -pub type RPC_STATUS = c_long; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/rpcdce.rs b/vendor/registry-40351f815f426200/winapi/src/shared/rpcdce.rs deleted file mode 100644 index ab2879d92..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/rpcdce.rs +++ /dev/null @@ -1,563 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This module contains the DCE RPC runtime APIs. -use ctypes::{c_int, c_uchar, c_uint, c_ulong, c_ushort, c_void, wchar_t}; -use shared::guiddef::GUID; -use shared::minwindef::DWORD; -use shared::rpc::{I_RPC_HANDLE, RPC_STATUS}; -pub type RPC_CSTR = *mut c_uchar; -pub type RPC_WSTR = *mut wchar_t; -pub type RPC_CWSTR = *const wchar_t; -pub type RPC_BINDING_HANDLE = I_RPC_HANDLE; -pub type handle_t = RPC_BINDING_HANDLE; -pub type rpc_binding_handle_t = RPC_BINDING_HANDLE; -pub type UUID = GUID; -pub type uuid_t = UUID; -STRUCT!{struct RPC_BINDING_VECTOR { - Count: c_ulong, - BindingH: [RPC_BINDING_HANDLE; 1], -}} -pub type rpc_binding_vector_t = RPC_BINDING_VECTOR; -STRUCT!{struct UUID_VECTOR { - Count: c_ulong, - Uuid: [*mut UUID; 1], -}} -pub type uuid_vector_t = UUID_VECTOR; -pub type RPC_IF_HANDLE = *mut c_void; -STRUCT!{struct RPC_IF_ID { - Uuid: UUID, - VersMajor: c_ushort, - VersMinor: c_ushort, -}} -pub const RPC_C_BINDING_INFINITE_TIMEOUT: DWORD = 10; -pub const RPC_C_BINDING_MIN_TIMEOUT: DWORD = 0; -pub const RPC_C_BINDING_DEFAULT_TIMEOUT: DWORD = 5; -pub const RPC_C_BINDING_MAX_TIMEOUT: DWORD = 9; -pub const RPC_C_CANCEL_INFINITE_TIMEOUT: c_int = -1; -pub const RPC_C_LISTEN_MAX_CALLS_DEFAULT: DWORD = 1234; -pub const RPC_C_PROTSEQ_MAX_REQS_DEFAULT: DWORD = 10; -pub const RPC_C_BIND_TO_ALL_NICS: DWORD = 1; -pub const RPC_C_USE_INTERNET_PORT: DWORD = 0x1; -pub const RPC_C_USE_INTRANET_PORT: DWORD = 0x2; -pub const RPC_C_DONT_FAIL: DWORD = 0x4; -pub const RPC_C_RPCHTTP_USE_LOAD_BALANCE: DWORD = 0x8; -pub const RPC_C_MQ_TEMPORARY: DWORD = 0x0000; -pub const RPC_C_MQ_PERMANENT: DWORD = 0x0001; -pub const RPC_C_MQ_CLEAR_ON_OPEN: DWORD = 0x0002; -pub const RPC_C_MQ_USE_EXISTING_SECURITY: DWORD = 0x0004; -pub const RPC_C_MQ_AUTHN_LEVEL_NONE: DWORD = 0x0000; -pub const RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY: DWORD = 0x0008; -pub const RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY: DWORD = 0x0010; -pub const RPC_C_OPT_MQ_DELIVERY: DWORD = 1; -pub const RPC_C_OPT_MQ_PRIORITY: DWORD = 2; -pub const RPC_C_OPT_MQ_JOURNAL: DWORD = 3; -pub const RPC_C_OPT_MQ_ACKNOWLEDGE: DWORD = 4; -pub const RPC_C_OPT_MQ_AUTHN_SERVICE: DWORD = 5; -pub const RPC_C_OPT_MQ_AUTHN_LEVEL: DWORD = 6; -pub const RPC_C_OPT_MQ_TIME_TO_REACH_QUEUE: DWORD = 7; -pub const RPC_C_OPT_MQ_TIME_TO_BE_RECEIVED: DWORD = 8; -pub const RPC_C_OPT_BINDING_NONCAUSAL: DWORD = 9; -pub const RPC_C_OPT_SECURITY_CALLBACK: DWORD = 10; -pub const RPC_C_OPT_UNIQUE_BINDING: DWORD = 11; -pub const RPC_C_OPT_CALL_TIMEOUT: DWORD = 12; -pub const RPC_C_OPT_DONT_LINGER: DWORD = 13; -pub const RPC_C_OPT_TRUST_PEER: DWORD = 14; -pub const RPC_C_OPT_ASYNC_BLOCK: DWORD = 15; -pub const RPC_C_OPT_OPTIMIZE_TIME: DWORD = 16; -pub const RPC_C_OPT_MAX_OPTIONS: DWORD = 17; -pub const RPC_C_MQ_EXPRESS: DWORD = 0; -pub const RPC_C_MQ_RECOVERABLE: DWORD = 1; -pub const RPC_C_MQ_JOURNAL_NONE: DWORD = 0; -pub const RPC_C_MQ_JOURNAL_DEADLETTER: DWORD = 1; -pub const RPC_C_MQ_JOURNAL_ALWAYS: DWORD = 2; -pub const RPC_C_FULL_CERT_CHAIN: DWORD = 0x0001; -STRUCT!{struct RPC_PROTSEQ_VECTORA { - Count: c_uint, - Protseq: [*mut c_uchar; 1], -}} -STRUCT!{struct RPC_PROTSEQ_VECTORW { - Count: c_uint, - Protseq: [*mut c_ushort; 1], -}} -STRUCT!{struct RPC_POLICY { - Length: c_uint, - EndpointFlags: c_ulong, - NICFlags: c_ulong, -}} -pub type PRPC_POLICY = *mut RPC_POLICY; -FN!{stdcall RPC_OBJECT_INQ_FN( - ObjectUuid: *mut UUID, - TypeUuid: *mut UUID, - Status: *mut RPC_STATUS, -) -> ()} -FN!{stdcall RPC_IF_CALLBACK_FN( - InterfaceUuid: RPC_IF_HANDLE, - Context: *mut c_void, -) -> RPC_STATUS} -FN!{stdcall RPC_SECURITY_CALLBACK_FN( - Context: *mut c_void, -) -> ()} -pub type RPC_MGR_EPV = c_void; -STRUCT!{struct RPC_STATS_VECTOR { - Count: c_uint, - Stats: [c_ulong; 1], -}} -pub const RPC_C_STATS_CALLS_IN: c_ulong = 0; -pub const RPC_C_STATS_CALLS_OUT: c_ulong = 1; -pub const RPC_C_STATS_PKTS_IN: c_ulong = 2; -pub const RPC_C_STATS_PKTS_OUT: c_ulong = 3; -STRUCT!{struct RPC_IF_ID_VECTOR { - Count: c_ulong, - IfId: [*mut RPC_IF_ID; 1], -}} -pub type RPC_AUTH_IDENTITY_HANDLE = *mut c_void; -pub type RPC_AUTHZ_HANDLE = *mut c_void; -pub const RPC_C_AUTHN_LEVEL_DEFAULT: DWORD = 0; -pub const RPC_C_AUTHN_LEVEL_NONE: DWORD = 1; -pub const RPC_C_AUTHN_LEVEL_CONNECT: DWORD = 2; -pub const RPC_C_AUTHN_LEVEL_CALL: DWORD = 3; -pub const RPC_C_AUTHN_LEVEL_PKT: DWORD = 4; -pub const RPC_C_AUTHN_LEVEL_PKT_INTEGRITY: DWORD = 5; -pub const RPC_C_AUTHN_LEVEL_PKT_PRIVACY: DWORD = 6; -pub const RPC_C_IMP_LEVEL_DEFAULT: DWORD = 0; -pub const RPC_C_IMP_LEVEL_ANONYMOUS: DWORD = 1; -pub const RPC_C_IMP_LEVEL_IDENTIFY: DWORD = 2; -pub const RPC_C_IMP_LEVEL_IMPERSONATE: DWORD = 3; -pub const RPC_C_IMP_LEVEL_DELEGATE: DWORD = 4; -pub const RPC_C_QOS_IDENTITY_STATIC: DWORD = 0; -pub const RPC_C_QOS_IDENTITY_DYNAMIC: DWORD = 1; -pub const RPC_C_QOS_CAPABILITIES_DEFAULT: DWORD = 0x0; -pub const RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH: DWORD = 0x1; -pub const RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC: DWORD = 0x2; -pub const RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY: DWORD = 0x4; -pub const RPC_C_QOS_CAPABILITIES_IGNORE_DELEGATE_FAILURE: DWORD = 0x8; -pub const RPC_C_QOS_CAPABILITIES_LOCAL_MA_HINT: DWORD = 0x10; -pub const RPC_C_QOS_CAPABILITIES_SCHANNEL_FULL_AUTH_IDENTITY: DWORD = 0x20; -pub const RPC_C_PROTECT_LEVEL_DEFAULT: DWORD = RPC_C_AUTHN_LEVEL_DEFAULT; -pub const RPC_C_PROTECT_LEVEL_NONE: DWORD = RPC_C_AUTHN_LEVEL_NONE; -pub const RPC_C_PROTECT_LEVEL_CONNECT: DWORD = RPC_C_AUTHN_LEVEL_CONNECT; -pub const RPC_C_PROTECT_LEVEL_CALL: DWORD = RPC_C_AUTHN_LEVEL_CALL; -pub const RPC_C_PROTECT_LEVEL_PKT: DWORD = RPC_C_AUTHN_LEVEL_PKT; -pub const RPC_C_PROTECT_LEVEL_PKT_INTEGRITY: DWORD = RPC_C_AUTHN_LEVEL_PKT_INTEGRITY; -pub const RPC_C_PROTECT_LEVEL_PKT_PRIVACY: DWORD = RPC_C_AUTHN_LEVEL_PKT_PRIVACY; -pub const RPC_C_AUTHN_NONE: DWORD = 0; -pub const RPC_C_AUTHN_DCE_PRIVATE: DWORD = 1; -pub const RPC_C_AUTHN_DCE_PUBLIC: DWORD = 2; -pub const RPC_C_AUTHN_DEC_PUBLIC: DWORD = 4; -pub const RPC_C_AUTHN_GSS_NEGOTIATE: DWORD = 9; -pub const RPC_C_AUTHN_WINNT: DWORD = 10; -pub const RPC_C_AUTHN_GSS_SCHANNEL: DWORD = 14; -pub const RPC_C_AUTHN_GSS_KERBEROS: DWORD = 16; -pub const RPC_C_AUTHN_DPA: DWORD = 17; -pub const RPC_C_AUTHN_MSN: DWORD = 18; -pub const RPC_C_AUTHN_DIGEST: DWORD = 21; -pub const RPC_C_AUTHN_KERNEL: DWORD = 20; -pub const RPC_C_AUTHN_NEGO_EXTENDER: DWORD = 30; -pub const RPC_C_AUTHN_PKU2U: DWORD = 31; -pub const RPC_C_AUTHN_LIVE_SSP: DWORD = 32; -pub const RPC_C_AUTHN_LIVEXP_SSP: DWORD = 35; -pub const RPC_C_AUTHN_MSONLINE: DWORD = 82; -pub const RPC_C_AUTHN_MQ: DWORD = 100; -pub const RPC_C_AUTHN_DEFAULT: DWORD = 0xFFFFFFFF; -pub const RPC_C_NO_CREDENTIALS: DWORD = 0xFFFFFFFF; -pub const RPC_C_SECURITY_QOS_VERSION: DWORD = 1; -pub const RPC_C_SECURITY_QOS_VERSION_1: DWORD = 1; -STRUCT!{struct RPC_SECURITY_QOS { - Version: c_ulong, - Capabilities: c_ulong, - IdentityTracking: c_ulong, - ImpersonationType: c_ulong, -}} -pub type PRPC_SECURITY_QOS = *mut RPC_SECURITY_QOS; -STRUCT!{struct SEC_WINNT_AUTH_IDENTITY_W { - User: *mut c_ushort, - UserLength: c_ulong, - Domain: *mut c_ushort, - DomainLength: c_ulong, - Password: *mut c_ushort, - PasswordLength: c_ulong, - Flags: c_ulong, -}} -pub type PSEC_WINNT_AUTH_IDENTITY_W = *mut SEC_WINNT_AUTH_IDENTITY_W; -STRUCT!{struct SEC_WINNT_AUTH_IDENTITY_A { - User: *mut c_uchar, - UserLength: c_ulong, - Domain: *mut c_uchar, - DomainLength: c_ulong, - Password: *mut c_uchar, - PasswordLength: c_ulong, - Flags: c_ulong, -}} -pub type PSEC_WINNT_AUTH_IDENTITY_A = *mut SEC_WINNT_AUTH_IDENTITY_A; -pub const RPC_C_AUTHN_INFO_TYPE_HTTP: c_ulong = 1; -pub const RPC_C_HTTP_AUTHN_TARGET_SERVER: c_ulong = 1; -pub const RPC_C_HTTP_AUTHN_TARGET_PROXY: c_ulong = 2; -pub const RPC_C_HTTP_AUTHN_SCHEME_BASIC: c_ulong = 0x00000001; -pub const RPC_C_HTTP_AUTHN_SCHEME_NTLM: c_ulong = 0x00000002; -pub const RPC_C_HTTP_AUTHN_SCHEME_PASSPORT: c_ulong = 0x00000004; -pub const RPC_C_HTTP_AUTHN_SCHEME_DIGEST: c_ulong = 0x00000008; -pub const RPC_C_HTTP_AUTHN_SCHEME_NEGOTIATE: c_ulong = 0x00000010; -pub const RPC_C_HTTP_AUTHN_SCHEME_CERT: c_ulong = 0x00010000; -pub const RPC_C_HTTP_FLAG_USE_SSL: c_ulong = 1; -pub const RPC_C_HTTP_FLAG_USE_FIRST_AUTH_SCHEME: c_ulong = 2; -pub const RPC_C_HTTP_FLAG_IGNORE_CERT_CN_INVALID: c_ulong = 8; -pub const RPC_C_HTTP_FLAG_ENABLE_CERT_REVOCATION_CHECK: c_ulong = 16; -STRUCT!{struct RPC_HTTP_TRANSPORT_CREDENTIALS_W { - TransportCredentials: *mut SEC_WINNT_AUTH_IDENTITY_W, - Flags: c_ulong, - AuthenticationTarget: c_ulong, - NumberOfAuthnSchemes: c_ulong, - AuthnSchemes: *mut c_ulong, - ServerCertificateSubject: *mut c_ushort, -}} -pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_W = *mut RPC_HTTP_TRANSPORT_CREDENTIALS_W; -STRUCT!{struct RPC_HTTP_TRANSPORT_CREDENTIALS_A { - TransportCredentials: *mut SEC_WINNT_AUTH_IDENTITY_A, - Flags: c_ulong, - AuthenticationTarget: c_ulong, - NumberOfAuthnSchemes: c_ulong, - AuthnSchemes: *mut c_ulong, - ServerCertificateSubject: *mut c_uchar, -}} -pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_A = *mut RPC_HTTP_TRANSPORT_CREDENTIALS_A; -STRUCT!{struct RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W { - TransportCredentials: *mut SEC_WINNT_AUTH_IDENTITY_W, - Flags: c_ulong, - AuthenticationTarget: c_ulong, - NumberOfAuthnSchemes: c_ulong, - AuthnSchemes: *mut c_ulong, - ServerCertificateSubject: *mut c_ushort, - ProxyCredentials: *mut SEC_WINNT_AUTH_IDENTITY_W, - NumberOfProxyAuthnSchemes: c_ulong, - ProxyAuthnSchemes: *mut c_ulong, -}} -pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_V2_W = *mut RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W; -STRUCT!{struct RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A { - TransportCredentials: *mut SEC_WINNT_AUTH_IDENTITY_A, - Flags: c_ulong, - AuthenticationTarget: c_ulong, - NumberOfAuthnSchemes: c_ulong, - AuthnSchemes: *mut c_ulong, - ServerCertificateSubject: *mut c_uchar, - ProxyCredentials: *mut SEC_WINNT_AUTH_IDENTITY_A, - NumberOfProxyAuthnSchemes: c_ulong, - ProxyAuthnSchemes: *mut c_ulong, -}} -pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_V2_A = *mut RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A; -STRUCT!{struct RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W { - TransportCredentials: RPC_AUTH_IDENTITY_HANDLE, - Flags: c_ulong, - AuthenticationTarget: c_ulong, - NumberOfAuthnSchemes: c_ulong, - AuthnSchemes: *mut c_ulong, - ServerCertificateSubject: *mut c_ushort, - ProxyCredentials: *mut RPC_AUTH_IDENTITY_HANDLE, - NumberOfProxyAuthnSchemes: c_ulong, - ProxyAuthnSchemes: *mut c_ulong, -}} -pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_V3_W = *mut RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W; -STRUCT!{struct RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A { - TransportCredentials: RPC_AUTH_IDENTITY_HANDLE, - Flags: c_ulong, - AuthenticationTarget: c_ulong, - NumberOfAuthnSchemes: c_ulong, - AuthnSchemes: *mut c_ulong, - ServerCertificateSubject: *mut c_uchar, - ProxyCredentials: *mut RPC_AUTH_IDENTITY_HANDLE, - NumberOfProxyAuthnSchemes: c_ulong, - ProxyAuthnSchemes: *mut c_ulong, -}} -pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_V3_A = *mut RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A; -STRUCT!{struct RPC_SECURITY_QOS_V2_W_union { - HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_W, -}} -STRUCT!{struct RPC_SECURITY_QOS_V2_W { - Version: c_ulong, - Capabilities: c_ulong, - IdentityTracking: c_ulong, - ImpersonationType: c_ulong, - AdditionalSecurityInfoType: c_ulong, - u: RPC_SECURITY_QOS_V2_W_union, -}} -pub type PRPC_SECURITY_QOS_V2_W = *mut RPC_SECURITY_QOS_V2_W; -STRUCT!{struct RPC_SECURITY_QOS_V2_A_union { - HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_A, -}} -STRUCT!{struct RPC_SECURITY_QOS_V2_A { - Version: c_ulong, - Capabilities: c_ulong, - IdentityTracking: c_ulong, - ImpersonationType: c_ulong, - AdditionalSecurityInfoType: c_ulong, - u: RPC_SECURITY_QOS_V2_A_union, -}} -pub type PRPC_SECURITY_QOS_V2_A = *mut RPC_SECURITY_QOS_V2_A; -STRUCT!{struct RPC_SECURITY_QOS_V3_W_union { - HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_W, -}} -STRUCT!{struct RPC_SECURITY_QOS_V3_W { - Version: c_ulong, - Capabilities: c_ulong, - IdentityTracking: c_ulong, - ImpersonationType: c_ulong, - AdditionalSecurityInfoType: c_ulong, - u: RPC_SECURITY_QOS_V3_W_union, - Sid: *mut c_void, -}} -pub type PRPC_SECURITY_QOS_V3_W = *mut RPC_SECURITY_QOS_V3_W; -STRUCT!{struct RPC_SECURITY_QOS_V3_A_union { - HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_A, -}} -STRUCT!{struct RPC_SECURITY_QOS_V3_A { - Version: c_ulong, - Capabilities: c_ulong, - IdentityTracking: c_ulong, - ImpersonationType: c_ulong, - AdditionalSecurityInfoType: c_ulong, - u: RPC_SECURITY_QOS_V3_A_union, - Sid: *mut c_void, -}} -pub type PRPC_SECURITY_QOS_V3_A = *mut RPC_SECURITY_QOS_V3_A; -STRUCT!{struct RPC_SECURITY_QOS_V4_W_union { - HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_W, -}} -STRUCT!{struct RPC_SECURITY_QOS_V4_W { - Version: c_ulong, - Capabilities: c_ulong, - IdentityTracking: c_ulong, - ImpersonationType: c_ulong, - AdditionalSecurityInfoType: c_ulong, - u: RPC_SECURITY_QOS_V4_W_union, - Sid: *mut c_void, - EffectiveOnly: c_uint, -}} -pub type PRPC_SECURITY_QOS_V4_W = *mut RPC_SECURITY_QOS_V4_W; -STRUCT!{struct RPC_SECURITY_QOS_V4_A_union { - HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_A, -}} -STRUCT!{struct RPC_SECURITY_QOS_V4_A { - Version: c_ulong, - Capabilities: c_ulong, - IdentityTracking: c_ulong, - ImpersonationType: c_ulong, - AdditionalSecurityInfoType: c_ulong, - u: RPC_SECURITY_QOS_V4_A_union, - Sid: *mut c_void, - EffectiveOnly: c_uint, -}} -pub type PRPC_SECURITY_QOS_V4_A = *mut RPC_SECURITY_QOS_V4_A; -STRUCT!{struct RPC_SECURITY_QOS_V5_W_union { - HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_W, -}} -STRUCT!{struct RPC_SECURITY_QOS_V5_W { - Version: c_ulong, - Capabilities: c_ulong, - IdentityTracking: c_ulong, - ImpersonationType: c_ulong, - AdditionalSecurityInfoType: c_ulong, - u: RPC_SECURITY_QOS_V5_W_union, - Sid: *mut c_void, - EffectiveOnly: c_uint, - ServerSecurityDescriptor: *mut c_void, -}} -pub type PRPC_SECURITY_QOS_V5_W = *mut RPC_SECURITY_QOS_V5_W; -STRUCT!{struct RPC_SECURITY_QOS_V5_A_union { - HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_A, -}} -STRUCT!{struct RPC_SECURITY_QOS_V5_A { - Version: c_ulong, - Capabilities: c_ulong, - IdentityTracking: c_ulong, - ImpersonationType: c_ulong, - AdditionalSecurityInfoType: c_ulong, - u: RPC_SECURITY_QOS_V5_A_union, - Sid: *mut c_void, - EffectiveOnly: c_uint, - ServerSecurityDescriptor: *mut c_void, -}} -pub type PRPC_SECURITY_QOS_V5_A = *mut RPC_SECURITY_QOS_V5_A; -pub const RPC_PROTSEQ_TCP: c_ulong = 0x1; -pub const RPC_PROTSEQ_NMP: c_ulong = 0x2; -pub const RPC_PROTSEQ_LRPC: c_ulong = 0x3; -pub const RPC_PROTSEQ_HTTP: c_ulong = 0x4; -pub const RPC_BHT_OBJECT_UUID_VALID: c_ulong = 0x1; -pub const RPC_BHO_NONCAUSAL: c_ulong = 0x1; -pub const RPC_BHO_DONTLINGER: c_ulong = 0x2; -pub const RPC_BHO_EXCLUSIVE_AND_GUARANTEED: c_ulong = 0x4; -STRUCT!{struct RPC_BINDING_HANDLE_TEMPLATE_V1_W_union { - Reserved: *mut c_ushort, -}} -STRUCT!{struct RPC_BINDING_HANDLE_TEMPLATE_V1_W { - Version: c_ulong, - Flags: c_ulong, - ProtocolSequence: c_ulong, - NetworkAddress: *mut c_ushort, - StringEndpoint: *mut c_ushort, - u1: RPC_BINDING_HANDLE_TEMPLATE_V1_W_union, - ObjectUuid: UUID, -}} -pub type PRPC_BINDING_HANDLE_TEMPLATE_V1_W = *mut RPC_BINDING_HANDLE_TEMPLATE_V1_W; -STRUCT!{struct RPC_BINDING_HANDLE_TEMPLATE_V1_A_union { - Reserved: *mut c_uchar, -}} -STRUCT!{struct RPC_BINDING_HANDLE_TEMPLATE_V1_A { - Version: c_ulong, - Flags: c_ulong, - ProtocolSequence: c_ulong, - NetworkAddress: *mut c_uchar, - StringEndpoint: *mut c_uchar, - u1: RPC_BINDING_HANDLE_TEMPLATE_V1_A_union, - ObjectUuid: UUID, -}} -pub type PRPC_BINDING_HANDLE_TEMPLATE_V1_A = *mut RPC_BINDING_HANDLE_TEMPLATE_V1_A; -STRUCT!{struct RPC_BINDING_HANDLE_SECURITY_V1_W { - Version: c_ulong, - ServerPrincName: *mut c_ushort, - AuthnLevel: c_ulong, - AuthnSvc: c_ulong, - AuthIdentity: *mut SEC_WINNT_AUTH_IDENTITY_W, - SecurityQos: *mut RPC_SECURITY_QOS, -}} -pub type PRPC_BINDING_HANDLE_SECURITY_V1_W = *mut RPC_BINDING_HANDLE_SECURITY_V1_W; -STRUCT!{struct RPC_BINDING_HANDLE_SECURITY_V1_A { - Version: c_ulong, - ServerPrincName: *mut c_uchar, - AuthnLevel: c_ulong, - AuthnSvc: c_ulong, - AuthIdentity: *mut SEC_WINNT_AUTH_IDENTITY_A, - SecurityQos: *mut RPC_SECURITY_QOS, -}} -pub type PRPC_BINDING_HANDLE_SECURITY_V1_A = *mut RPC_BINDING_HANDLE_SECURITY_V1_A; -STRUCT!{struct RPC_BINDING_HANDLE_OPTIONS_V1 { - Version: c_ulong, - Flags: c_ulong, - ComTimeout: c_ulong, - CallTimeout: c_ulong, -}} -pub type PRPC_BINDING_HANDLE_OPTIONS_V1 = *mut RPC_BINDING_HANDLE_OPTIONS_V1; -ENUM!{enum RPC_HTTP_REDIRECTOR_STAGE { - RPCHTTP_RS_REDIRECT = 1, - RPCHTTP_RS_ACCESS_1, - RPCHTTP_RS_SESSION, - RPCHTTP_RS_ACCESS_2, - RPCHTTP_RS_INTERFACE, -}} -FN!{stdcall RPC_NEW_HTTP_PROXY_CHANNEL( - RedirectorStage: RPC_HTTP_REDIRECTOR_STAGE, - ServerName: RPC_WSTR, - ServerPort: RPC_WSTR, - RemoteUser: RPC_WSTR, - AuthType: RPC_WSTR, - ResourceUuid: *mut c_void, - SessionId: *mut c_void, - Interface: *mut c_void, - Reserved: *mut c_void, - Flags: c_ulong, - NewServerName: *mut RPC_WSTR, - NewServerPort: *mut RPC_WSTR, -) -> RPC_STATUS} -FN!{stdcall RPC_HTTP_PROXY_FREE_STRING( - String: RPC_WSTR, -) -> ()} -pub const RPC_C_AUTHZ_NONE: DWORD = 0; -pub const RPC_C_AUTHZ_NAME: DWORD = 1; -pub const RPC_C_AUTHZ_DCE: DWORD = 2; -pub const RPC_C_AUTHZ_DEFAULT: DWORD = 0xffffffff; -FN!{stdcall RPC_AUTH_KEY_RETRIEVAL_FN( - Arg: *mut c_void, - ServerPrincName: RPC_WSTR, - KeyVer: c_ulong, - Key: *mut *mut c_void, - Status: *mut RPC_STATUS, -) -> ()} -STRUCT!{struct RPC_CLIENT_INFORMATION1 { - UserName: *mut c_uchar, - ComputerName: *mut c_uchar, - Privilege: c_ushort, - AuthFlags: c_ulong, -}} -pub type PRPC_CLIENT_INFORMATION1 = *mut RPC_CLIENT_INFORMATION1; -pub type RPC_EP_INQ_HANDLE = *mut I_RPC_HANDLE; -pub const RPC_C_EP_ALL_ELTS: c_ulong = 0; -pub const RPC_C_EP_MATCH_BY_IF: c_ulong = 1; -pub const RPC_C_EP_MATCH_BY_OBJ: c_ulong = 2; -pub const RPC_C_EP_MATCH_BY_BOTH: c_ulong = 3; -pub const RPC_C_VERS_ALL: c_ulong = 1; -pub const RPC_C_VERS_COMPATIBLE: c_ulong = 2; -pub const RPC_C_VERS_EXACT: c_ulong = 3; -pub const RPC_C_VERS_MAJOR_ONLY: c_ulong = 4; -pub const RPC_C_VERS_UPTO: c_ulong = 5; -FN!{stdcall RPC_MGMT_AUTHORIZATION_FN( - ClientBinding: RPC_BINDING_HANDLE, - RequestedMgmtOperation: c_ulong, - Status: *mut RPC_STATUS, -) -> c_int} -pub const RPC_C_MGMT_INQ_IF_IDS: c_ulong = 0; -pub const RPC_C_MGMT_INQ_PRINC_NAME: c_ulong = 1; -pub const RPC_C_MGMT_INQ_STATS: c_ulong = 2; -pub const RPC_C_MGMT_IS_SERVER_LISTEN: c_ulong = 3; -pub const RPC_C_MGMT_STOP_SERVER_LISTEN: c_ulong = 4; -pub const RPC_IF_AUTOLISTEN: c_uint = 0x0001; -pub const RPC_IF_OLE: c_uint = 0x0002; -pub const RPC_IF_ALLOW_UNKNOWN_AUTHORITY: c_uint = 0x0004; -pub const RPC_IF_ALLOW_SECURE_ONLY: c_uint = 0x0008; -pub const RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH: c_uint = 0x0010; -pub const RPC_IF_ALLOW_LOCAL_ONLY: c_uint = 0x0020; -pub const RPC_IF_SEC_NO_CACHE: c_uint = 0x0040; -pub const RPC_IF_SEC_CACHE_PER_PROC: c_uint = 0x0080; -pub const RPC_IF_ASYNC_CALLBACK: c_uint = 0x0100; -pub const RPC_FW_IF_FLAG_DCOM: c_uint = 0x0001; -pub type RPC_INTERFACE_GROUP = *mut c_void; -pub type PRPC_INTERFACE_GROUP = *mut *mut c_void; -STRUCT!{struct RPC_ENDPOINT_TEMPLATEW { - Version: c_ulong, - ProtSeq: RPC_WSTR, - Endpoint: RPC_WSTR, - SecurityDescriptor: *mut c_void, - Backlog: c_ulong, -}} -pub type PRPC_ENDPOINT_TEMPLATEW = *mut RPC_ENDPOINT_TEMPLATEW; -STRUCT!{struct RPC_ENDPOINT_TEMPLATEA { - Version: c_ulong, - ProtSeq: RPC_CSTR, - Endpoint: RPC_CSTR, - SecurityDescriptor: *mut c_void, - Backlog: c_ulong, -}} -pub type PRPC_ENDPOINT_TEMPLATEA = *mut RPC_ENDPOINT_TEMPLATEA; -STRUCT!{struct RPC_INTERFACE_TEMPLATEA { - Version: c_ulong, - IfSpec: RPC_IF_HANDLE, - MgrTypeUuid: *mut UUID, - MgrEpv: *mut RPC_MGR_EPV, - Flags: c_uint, - MaxCalls: c_uint, - MaxRpcSize: c_uint, - IfCallback: *mut RPC_IF_CALLBACK_FN, - UuidVector: *mut UUID_VECTOR, - Annotation: RPC_CSTR, - SecurityDescriptor: *mut c_void, -}} -pub type PRPC_INTERFACE_TEMPLATEA = *mut RPC_INTERFACE_TEMPLATEA; -STRUCT!{struct RPC_INTERFACE_TEMPLATEW { - Version: c_ulong, - IfSpec: RPC_IF_HANDLE, - MgrTypeUuid: *mut UUID, - MgrEpv: *mut RPC_MGR_EPV, - Flags: c_uint, - MaxCalls: c_uint, - MaxRpcSize: c_uint, - IfCallback: *mut RPC_IF_CALLBACK_FN, - UuidVector: *mut UUID_VECTOR, - Annotation: RPC_WSTR, - SecurityDescriptor: *mut c_void, -}} -pub type PRPC_INTERFACE_TEMPLATEW = *mut RPC_INTERFACE_TEMPLATEW; -FN!{stdcall RPC_INTERFACE_GROUP_IDLE_CALLBACK_FN( - IfGroup: RPC_INTERFACE_GROUP, - IdleCallbackContext: *mut c_void, - IsGroupIdle: c_ulong, -) -> ()} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/rpcndr.rs b/vendor/registry-40351f815f426200/winapi/src/shared/rpcndr.rs deleted file mode 100644 index b65a3da05..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/rpcndr.rs +++ /dev/null @@ -1,25 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{__int64, __uint64, c_char, c_uchar, c_ulong}; -pub const NDR_CHAR_REP_MASK: c_ulong = 0x0000000F; -pub const NDR_INT_REP_MASK: c_ulong = 0x000000F0; -pub const NDR_FLOAT_REP_MASK: c_ulong = 0x0000FF00; -pub const NDR_LITTLE_ENDIAN: c_ulong = 0x00000010; -pub const NDR_BIG_ENDIAN: c_ulong = 0x00000000; -pub const NDR_IEEE_FLOAT: c_ulong = 0x00000000; -pub const NDR_VAX_FLOAT: c_ulong = 0x00000100; -pub const NDR_IBM_FLOAT: c_ulong = 0x00000300; -pub const NDR_ASCII_CHAR: c_ulong = 0x00000000; -pub const NDR_EBCDIC_CHAR: c_ulong = 0x00000001; -pub const NDR_LOCAL_DATA_REPRESENTATION: c_ulong = 0x00000010; -pub const NDR_LOCAL_ENDIAN: c_ulong = NDR_LITTLE_ENDIAN; -pub type small = c_char; -pub type byte = c_uchar; -pub type cs_byte = byte; -pub type boolean = c_uchar; -pub type hyper = __int64; -pub type MIDL_uhyper = __uint64; -// TODO Finish the rest diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/sddl.rs b/vendor/registry-40351f815f426200/winapi/src/shared/sddl.rs deleted file mode 100644 index cf64387a4..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/sddl.rs +++ /dev/null @@ -1,217 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::SIZE_T; -use shared::minwindef::{BOOL, DWORD, PULONG, UCHAR}; -use um::winnt::{LPCSTR, LPCWSTR, LPSTR, LPWSTR, PSECURITY_DESCRIPTOR, PSID, SECURITY_INFORMATION}; -pub const SDDL_REVISION_1: UCHAR = 1; -pub const SDDL_REVISION: UCHAR = SDDL_REVISION_1; -pub const SDDL_OWNER: &'static str = "O"; -pub const SDDL_GROUP: &'static str = "G"; -pub const SDDL_DACL: &'static str = "D"; -pub const SDDL_SACL: &'static str = "S"; -pub const SDDL_PROTECTED: &'static str = "P"; -pub const SDDL_AUTO_INHERIT_REQ: &'static str = "AR"; -pub const SDDL_AUTO_INHERITED: &'static str = "AI"; -pub const SDDL_NULL_ACL: &'static str = "NO_ACCESS_CONTROL"; -pub const SDDL_ACCESS_ALLOWED: &'static str = "A"; -pub const SDDL_ACCESS_DENIED: &'static str = "D"; -pub const SDDL_OBJECT_ACCESS_ALLOWED: &'static str = "OA"; -pub const SDDL_OBJECT_ACCESS_DENIED: &'static str = "OD"; -pub const SDDL_AUDIT: &'static str = "AU"; -pub const SDDL_ALARM: &'static str = "AL"; -pub const SDDL_OBJECT_AUDIT: &'static str = "OU"; -pub const SDDL_OBJECT_ALARM: &'static str = "OL"; -pub const SDDL_MANDATORY_LABEL: &'static str = "ML"; -pub const SDDL_PROCESS_TRUST_LABEL: &'static str = "TL"; -pub const SDDL_CALLBACK_ACCESS_ALLOWED: &'static str = "XA"; -pub const SDDL_CALLBACK_ACCESS_DENIED: &'static str = "XD"; -pub const SDDL_RESOURCE_ATTRIBUTE: &'static str = "RA"; -pub const SDDL_SCOPED_POLICY_ID: &'static str = "SP"; -pub const SDDL_CALLBACK_AUDIT: &'static str = "XU"; -pub const SDDL_CALLBACK_OBJECT_ACCESS_ALLOWED: &'static str = "ZA"; -pub const SDDL_ACCESS_FILTER: &'static str = "FL"; -pub const SDDL_INT: &'static str = "TI"; -pub const SDDL_UINT: &'static str = "TU"; -pub const SDDL_WSTRING: &'static str = "TS"; -pub const SDDL_SID: &'static str = "TD"; -pub const SDDL_BLOB: &'static str = "TX"; -pub const SDDL_BOOLEAN: &'static str = "TB"; -pub const SDDL_CONTAINER_INHERIT: &'static str = "CI"; -pub const SDDL_OBJECT_INHERIT: &'static str = "OI"; -pub const SDDL_NO_PROPAGATE: &'static str = "NP"; -pub const SDDL_INHERIT_ONLY: &'static str = "IO"; -pub const SDDL_INHERITED: &'static str = "ID"; -pub const SDDL_TRUST_PROTECTED_FILTER: &'static str = "TP"; -pub const SDDL_AUDIT_SUCCESS: &'static str = "SA"; -pub const SDDL_AUDIT_FAILURE: &'static str = "FA"; -pub const SDDL_READ_PROPERTY: &'static str = "RP"; -pub const SDDL_WRITE_PROPERTY: &'static str = "WP"; -pub const SDDL_CREATE_CHILD: &'static str = "CC"; -pub const SDDL_DELETE_CHILD: &'static str = "DC"; -pub const SDDL_LIST_CHILDREN: &'static str = "LC"; -pub const SDDL_SELF_WRITE: &'static str = "SW"; -pub const SDDL_LIST_OBJECT: &'static str = "LO"; -pub const SDDL_DELETE_TREE: &'static str = "DT"; -pub const SDDL_CONTROL_ACCESS: &'static str = "CR"; -pub const SDDL_READ_CONTROL: &'static str = "RC"; -pub const SDDL_WRITE_DAC: &'static str = "WD"; -pub const SDDL_WRITE_OWNER: &'static str = "WO"; -pub const SDDL_STANDARD_DELETE: &'static str = "SD"; -pub const SDDL_GENERIC_ALL: &'static str = "GA"; -pub const SDDL_GENERIC_READ: &'static str = "GR"; -pub const SDDL_GENERIC_WRITE: &'static str = "GW"; -pub const SDDL_GENERIC_EXECUTE: &'static str = "GX"; -pub const SDDL_FILE_ALL: &'static str = "FA"; -pub const SDDL_FILE_READ: &'static str = "FR"; -pub const SDDL_FILE_WRITE: &'static str = "FW"; -pub const SDDL_FILE_EXECUTE: &'static str = "FX"; -pub const SDDL_KEY_ALL: &'static str = "KA"; -pub const SDDL_KEY_READ: &'static str = "KR"; -pub const SDDL_KEY_WRITE: &'static str = "KW"; -pub const SDDL_KEY_EXECUTE: &'static str = "KX"; -pub const SDDL_NO_WRITE_UP: &'static str = "NW"; -pub const SDDL_NO_READ_UP: &'static str = "NR"; -pub const SDDL_NO_EXECUTE_UP: &'static str = "NX"; -pub const SDDL_ALIAS_SIZE: SIZE_T = 2; -pub const SDDL_DOMAIN_ADMINISTRATORS: &'static str = "DA"; -pub const SDDL_DOMAIN_GUESTS: &'static str = "DG"; -pub const SDDL_DOMAIN_USERS: &'static str = "DU"; -pub const SDDL_ENTERPRISE_DOMAIN_CONTROLLERS: &'static str = "ED"; -pub const SDDL_DOMAIN_DOMAIN_CONTROLLERS: &'static str = "DD"; -pub const SDDL_DOMAIN_COMPUTERS: &'static str = "DC"; -pub const SDDL_BUILTIN_ADMINISTRATORS: &'static str = "BA"; -pub const SDDL_BUILTIN_GUESTS: &'static str = "BG"; -pub const SDDL_BUILTIN_USERS: &'static str = "BU"; -pub const SDDL_LOCAL_ADMIN: &'static str = "LA"; -pub const SDDL_LOCAL_GUEST: &'static str = "LG"; -pub const SDDL_ACCOUNT_OPERATORS: &'static str = "AO"; -pub const SDDL_BACKUP_OPERATORS: &'static str = "BO"; -pub const SDDL_PRINTER_OPERATORS: &'static str = "PO"; -pub const SDDL_SERVER_OPERATORS: &'static str = "SO"; -pub const SDDL_AUTHENTICATED_USERS: &'static str = "AU"; -pub const SDDL_PERSONAL_SELF: &'static str = "PS"; -pub const SDDL_CREATOR_OWNER: &'static str = "CO"; -pub const SDDL_CREATOR_GROUP: &'static str = "CG"; -pub const SDDL_LOCAL_SYSTEM: &'static str = "SY"; -pub const SDDL_POWER_USERS: &'static str = "PU"; -pub const SDDL_EVERYONE: &'static str = "WD"; -pub const SDDL_REPLICATOR: &'static str = "RE"; -pub const SDDL_INTERACTIVE: &'static str = "IU"; -pub const SDDL_NETWORK: &'static str = "NU"; -pub const SDDL_SERVICE: &'static str = "SU"; -pub const SDDL_RESTRICTED_CODE: &'static str = "RC"; -pub const SDDL_WRITE_RESTRICTED_CODE: &'static str = "WR"; -pub const SDDL_ANONYMOUS: &'static str = "AN"; -pub const SDDL_SCHEMA_ADMINISTRATORS: &'static str = "SA"; -pub const SDDL_CERT_SERV_ADMINISTRATORS: &'static str = "CA"; -pub const SDDL_RAS_SERVERS: &'static str = "RS"; -pub const SDDL_ENTERPRISE_ADMINS: &'static str = "EA"; -pub const SDDL_GROUP_POLICY_ADMINS: &'static str = "PA"; -pub const SDDL_ALIAS_PREW2KCOMPACC: &'static str = "RU"; -pub const SDDL_LOCAL_SERVICE: &'static str = "LS"; -pub const SDDL_NETWORK_SERVICE: &'static str = "NS"; -pub const SDDL_REMOTE_DESKTOP: &'static str = "RD"; -pub const SDDL_NETWORK_CONFIGURATION_OPS: &'static str = "NO"; -pub const SDDL_PERFMON_USERS: &'static str = "MU"; -pub const SDDL_PERFLOG_USERS: &'static str = "LU"; -pub const SDDL_IIS_USERS: &'static str = "IS"; -pub const SDDL_CRYPTO_OPERATORS: &'static str = "CY"; -pub const SDDL_OWNER_RIGHTS: &'static str = "OW"; -pub const SDDL_EVENT_LOG_READERS: &'static str = "ER"; -pub const SDDL_ENTERPRISE_RO_DCs: &'static str = "RO"; -pub const SDDL_CERTSVC_DCOM_ACCESS: &'static str = "CD"; -pub const SDDL_ALL_APP_PACKAGES: &'static str = "AC"; -pub const SDDL_RDS_REMOTE_ACCESS_SERVERS: &'static str = "RA"; -pub const SDDL_RDS_ENDPOINT_SERVERS: &'static str = "ES"; -pub const SDDL_RDS_MANAGEMENT_SERVERS: &'static str = "MS"; -pub const SDDL_USER_MODE_DRIVERS: &'static str = "UD"; -pub const SDDL_HYPER_V_ADMINS: &'static str = "HA"; -pub const SDDL_CLONEABLE_CONTROLLERS: &'static str = "CN"; -pub const SDDL_ACCESS_CONTROL_ASSISTANCE_OPS: &'static str = "AA"; -pub const SDDL_REMOTE_MANAGEMENT_USERS: &'static str = "RM"; -pub const SDDL_AUTHORITY_ASSERTED: &'static str = "AS"; -pub const SDDL_SERVICE_ASSERTED: &'static str = "SS"; -pub const SDDL_PROTECTED_USERS: &'static str = "AP"; -pub const SDDL_KEY_ADMINS: &'static str = "KA"; -pub const SDDL_ENTERPRISE_KEY_ADMINS: &'static str = "EK"; -pub const SDDL_ML_LOW: &'static str = "LW"; -pub const SDDL_ML_MEDIUM: &'static str = "ME"; -pub const SDDL_ML_MEDIUM_PLUS: &'static str = "MP"; -pub const SDDL_ML_HIGH: &'static str = "HI"; -pub const SDDL_ML_SYSTEM: &'static str = "SI"; -pub const SDDL_SEPERATORC: char = ';'; -pub const SDDL_DELIMINATORC: char = ':'; -pub const SDDL_ACE_BEGINC: char = '('; -pub const SDDL_ACE_ENDC: char = ')'; -pub const SDDL_SPACEC: char = ' '; -pub const SDDL_ACE_COND_BEGINC: char = '('; -pub const SDDL_ACE_COND_ENDC: char = ')'; -pub const SDDL_ACE_COND_STRING_BEGINC: char = '"'; -pub const SDDL_ACE_COND_STRING_ENDC: char = '"'; -pub const SDDL_ACE_COND_COMPOSITEVALUE_BEGINC: char = '{'; -pub const SDDL_ACE_COND_COMPOSITEVALUE_ENDC: char = '}'; -pub const SDDL_ACE_COND_COMPOSITEVALUE_SEPERATORC: char = ','; -pub const SDDL_ACE_COND_BLOB_PREFIXC: char = '#'; -pub const SDDL_ACE_COND_SID_BEGINC: char = '('; -pub const SDDL_ACE_COND_SID_ENDC: char = ')'; -pub const SDDL_SEPERATOR: &'static str = ";"; -pub const SDDL_DELIMINATOR: &'static str = ":"; -pub const SDDL_ACE_BEGIN: &'static str = "("; -pub const SDDL_ACE_END: &'static str = ")"; -pub const SDDL_ACE_COND_BEGIN: &'static str = "("; -pub const SDDL_ACE_COND_END: &'static str = ")"; -pub const SDDL_SPACE: &'static str = " "; -pub const SDDL_ACE_COND_BLOB_PREFIX: &'static str = "#"; -pub const SDDL_ACE_COND_SID_PREFIX: &'static str = "SID"; -pub const SDDL_ACE_COND_ATTRIBUTE_PREFIX: &'static str = "@"; -pub const SDDL_ACE_COND_USER_ATTRIBUTE_PREFIX: &'static str = "@USER."; -pub const SDDL_ACE_COND_RESOURCE_ATTRIBUTE_PREFIX: &'static str = "@RESOURCE."; -pub const SDDL_ACE_COND_DEVICE_ATTRIBUTE_PREFIX: &'static str = "@DEVICE."; -pub const SDDL_ACE_COND_TOKEN_ATTRIBUTE_PREFIX: &'static str = "@TOKEN."; -extern "system" { - pub fn ConvertSidToStringSidA( - Sid: PSID, - StringSid: *mut LPSTR, - ) -> BOOL; - pub fn ConvertSidToStringSidW( - Sid: PSID, - StringSid: *mut LPWSTR, - ) -> BOOL; - pub fn ConvertStringSidToSidA( - StringSid: LPCSTR, - Sid: *mut PSID, - ) -> BOOL; - pub fn ConvertStringSidToSidW( - StringSid: LPCWSTR, - Sid: *mut PSID, - ) -> BOOL; - pub fn ConvertStringSecurityDescriptorToSecurityDescriptorA( - StringSecurityDescriptor: LPCSTR, - StringSDRevision: DWORD, - SecurityDescriptor: *mut PSECURITY_DESCRIPTOR, - SecurityDescriptorSize: PULONG, - ) -> BOOL; - pub fn ConvertStringSecurityDescriptorToSecurityDescriptorW( - StringSecurityDescriptor: LPCWSTR, - StringSDRevision: DWORD, - SecurityDescriptor: *mut PSECURITY_DESCRIPTOR, - SecurityDescriptorSize: PULONG, - ) -> BOOL; - pub fn ConvertSecurityDescriptorToStringSecurityDescriptorA( - SecurityDescriptor: PSECURITY_DESCRIPTOR, - RequestedStringSDRevision: DWORD, - SecurityInformation: SECURITY_INFORMATION, - StringSecurityDescriptor: *mut LPSTR, - StringSecurityDescriptorLen: PULONG, - ) -> BOOL; - pub fn ConvertSecurityDescriptorToStringSecurityDescriptorW( - SecurityDescriptor: PSECURITY_DESCRIPTOR, - RequestedStringSDRevision: DWORD, - SecurityInformation: SECURITY_INFORMATION, - StringSecurityDescriptor: *mut LPWSTR, - StringSecurityDescriptorLen: PULONG, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/sspi.rs b/vendor/registry-40351f815f426200/winapi/src/shared/sspi.rs deleted file mode 100644 index 3b7c2d68a..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/sspi.rs +++ /dev/null @@ -1,1074 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Security Support Provider Interface Prototypes and structure definitions -use ctypes::{c_char, c_int, c_uchar, c_ulong, c_ushort, c_void}; -use shared::basetsd::ULONG_PTR; -use shared::guiddef::GUID; -use shared::minwindef::{PUCHAR, ULONG, USHORT}; -use um::subauth::PUNICODE_STRING; -use um::wincred::{PCREDUI_INFOA, PCREDUI_INFOW}; -use um::winnt::{ - ANYSIZE_ARRAY, BOOLEAN, CHAR, HANDLE, LARGE_INTEGER, LONG, LPSTR, LPWSTR, LUID, PCSTR, PCWSTR, - PVOID, WCHAR -}; -pub type SEC_WCHAR = WCHAR; -pub type SEC_CHAR = CHAR; -pub type SECURITY_STATUS = LONG; -STRUCT!{struct SecHandle { - dwLower: ULONG_PTR, - dwUpper: ULONG_PTR, -}} -pub type PSecHandle = *mut SecHandle; -pub const SEC_DELETED_HANDLE: ULONG_PTR = 2; -pub type CredHandle = SecHandle; -pub type PCredHandle = PSecHandle; -pub type CtxtHandle = SecHandle; -pub type PCtxtHandle = PSecHandle; -pub type SECURITY_INTEGER = LARGE_INTEGER; -pub type PSECURITY_INTEGER = *mut LARGE_INTEGER; -pub type TimeStamp = SECURITY_INTEGER; -pub type PTimeStamp = *mut SECURITY_INTEGER; -STRUCT!{struct SECURITY_STRING { - Length: c_ushort, - MaximumLength: c_ushort, - Buffer: *mut c_ushort, -}} -pub type PSECURITY_STRING = *mut SECURITY_STRING; -STRUCT!{struct SecPkgInfoW { - fCapabilities: c_ulong, - wVersion: c_ushort, - wRPCID: c_ushort, - cbMaxToken: c_ulong, - Name: *mut SEC_WCHAR, - Comment: *mut SEC_WCHAR, -}} -pub type PSecPkgInfoW = *mut SecPkgInfoW; -STRUCT!{struct SecPkgInfoA { - fCapabilities: c_ulong, - wVersion: c_ushort, - wRPCID: c_ushort, - cbMaxToken: c_ulong, - Name: *mut SEC_CHAR, - Comment: *mut SEC_CHAR, -}} -pub type PSecPkgInfoA = *mut SecPkgInfoA; -pub const SECPKG_FLAG_INTEGRITY: c_ulong = 0x00000001; -pub const SECPKG_FLAG_PRIVACY: c_ulong = 0x00000002; -pub const SECPKG_FLAG_TOKEN_ONLY: c_ulong = 0x00000004; -pub const SECPKG_FLAG_DATAGRAM: c_ulong = 0x00000008; -pub const SECPKG_FLAG_CONNECTION: c_ulong = 0x00000010; -pub const SECPKG_FLAG_MULTI_REQUIRED: c_ulong = 0x00000020; -pub const SECPKG_FLAG_CLIENT_ONLY: c_ulong = 0x00000040; -pub const SECPKG_FLAG_EXTENDED_ERROR: c_ulong = 0x00000080; -pub const SECPKG_FLAG_IMPERSONATION: c_ulong = 0x00000100; -pub const SECPKG_FLAG_ACCEPT_WIN32_NAME: c_ulong = 0x00000200; -pub const SECPKG_FLAG_STREAM: c_ulong = 0x00000400; -pub const SECPKG_FLAG_NEGOTIABLE: c_ulong = 0x00000800; -pub const SECPKG_FLAG_GSS_COMPATIBLE: c_ulong = 0x00001000; -pub const SECPKG_FLAG_LOGON: c_ulong = 0x00002000; -pub const SECPKG_FLAG_ASCII_BUFFERS: c_ulong = 0x00004000; -pub const SECPKG_FLAG_FRAGMENT: c_ulong = 0x00008000; -pub const SECPKG_FLAG_MUTUAL_AUTH: c_ulong = 0x00010000; -pub const SECPKG_FLAG_DELEGATION: c_ulong = 0x00020000; -pub const SECPKG_FLAG_READONLY_WITH_CHECKSUM: c_ulong = 0x00040000; -pub const SECPKG_FLAG_RESTRICTED_TOKENS: c_ulong = 0x00080000; -pub const SECPKG_FLAG_NEGO_EXTENDER: c_ulong = 0x00100000; -pub const SECPKG_FLAG_NEGOTIABLE2: c_ulong = 0x00200000; -pub const SECPKG_FLAG_APPCONTAINER_PASSTHROUGH: c_ulong = 0x00400000; -pub const SECPKG_FLAG_APPCONTAINER_CHECKS: c_ulong = 0x00800000; -pub const SECPKG_ID_NONE: c_ulong = 0xFFFF; -pub const SECPKG_CALLFLAGS_APPCONTAINER: c_ulong = 0x00000001; -pub const SECPKG_CALLFLAGS_APPCONTAINER_AUTHCAPABLE: c_ulong = 0x00000002; -pub const SECPKG_CALLFLAGS_FORCE_SUPPLIED: c_ulong = 0x00000004; -STRUCT!{struct SecBuffer { - cbBuffer: c_ulong, - BufferType: c_ulong, - pvBuffer: *mut c_void, -}} -pub type PSecBuffer = *mut SecBuffer; -STRUCT!{struct SecBufferDesc { - ulVersion: c_ulong, - cBuffers: c_ulong, - pBuffers: PSecBuffer, -}} -pub type PSecBufferDesc = *mut SecBufferDesc; -pub const SECBUFFER_VERSION: c_ulong = 0; -pub const SECBUFFER_EMPTY: c_ulong = 0; -pub const SECBUFFER_DATA: c_ulong = 1; -pub const SECBUFFER_TOKEN: c_ulong = 2; -pub const SECBUFFER_PKG_PARAMS: c_ulong = 3; -pub const SECBUFFER_MISSING: c_ulong = 4; -pub const SECBUFFER_EXTRA: c_ulong = 5; -pub const SECBUFFER_STREAM_TRAILER: c_ulong = 6; -pub const SECBUFFER_STREAM_HEADER: c_ulong = 7; -pub const SECBUFFER_NEGOTIATION_INFO: c_ulong = 8; -pub const SECBUFFER_PADDING: c_ulong = 9; -pub const SECBUFFER_STREAM: c_ulong = 10; -pub const SECBUFFER_MECHLIST: c_ulong = 11; -pub const SECBUFFER_MECHLIST_SIGNATURE: c_ulong = 12; -pub const SECBUFFER_TARGET: c_ulong = 13; -pub const SECBUFFER_CHANNEL_BINDINGS: c_ulong = 14; -pub const SECBUFFER_CHANGE_PASS_RESPONSE: c_ulong = 15; -pub const SECBUFFER_TARGET_HOST: c_ulong = 16; -pub const SECBUFFER_ALERT: c_ulong = 17; -pub const SECBUFFER_APPLICATION_PROTOCOLS: c_ulong = 18; -pub const SECBUFFER_ATTRMASK: c_ulong = 0xF0000000; -pub const SECBUFFER_READONLY: c_ulong = 0x80000000; -pub const SECBUFFER_READONLY_WITH_CHECKSUM: c_ulong = 0x10000000; -pub const SECBUFFER_RESERVED: c_ulong = 0x60000000; -STRUCT!{struct SEC_NEGOTIATION_INFO { - Size: c_ulong, - NameLength: c_ulong, - Name: *mut SEC_WCHAR, - Reserved: *mut c_void, -}} -pub type PSEC_NEGOTIATION_INFO = *mut SEC_NEGOTIATION_INFO; -STRUCT!{struct SEC_CHANNEL_BINDINGS { - dwInitiatorAddrType: c_ulong, - cbInitiatorLength: c_ulong, - dwInitiatorOffset: c_ulong, - dwAcceptorAddrType: c_ulong, - cbAcceptorLength: c_ulong, - dwAcceptorOffset: c_ulong, - cbApplicationDataLength: c_ulong, - dwApplicationDataOffset: c_ulong, -}} -pub type PSEC_CHANNEL_BINDINGS = *mut SEC_CHANNEL_BINDINGS; -ENUM!{enum SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT { - SecApplicationProtocolNegotiationExt_None, - SecApplicationProtocolNegotiationExt_NPN, - SecApplicationProtocolNegotiationExt_ALPN, -}} -pub type PSEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT = *mut SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT; -STRUCT!{struct SEC_APPLICATION_PROTOCOL_LIST { - ProtoNegoExt: SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT, - ProtocolListSize: c_ushort, - ProtocolList: [c_uchar; 0], -}} -pub type PSEC_APPLICATION_PROTOCOL_LIST = *mut SEC_APPLICATION_PROTOCOL_LIST; -STRUCT!{struct SEC_APPLICATION_PROTOCOLS { - ProtocolListsSize: c_ulong, - ProtocolLists: [SEC_APPLICATION_PROTOCOL_LIST; ANYSIZE_ARRAY], -}} -pub type PSEC_APPLICATION_PROTOCOLS = *mut SEC_APPLICATION_PROTOCOLS; -pub const SECURITY_NATIVE_DREP: c_ulong = 0x00000010; -pub const SECURITY_NETWORK_DREP: c_ulong = 0x00000000; -pub const SECPKG_CRED_INBOUND: c_ulong = 0x00000001; -pub const SECPKG_CRED_OUTBOUND: c_ulong = 0x00000002; -pub const SECPKG_CRED_BOTH: c_ulong = 0x00000003; -pub const SECPKG_CRED_DEFAULT: c_ulong = 0x00000004; -pub const SECPKG_CRED_RESERVED: c_ulong = 0xF0000000; -pub const SECPKG_CRED_AUTOLOGON_RESTRICTED: c_ulong = 0x00000010; -pub const SECPKG_CRED_PROCESS_POLICY_ONLY: c_ulong = 0x00000020; -pub const ISC_REQ_DELEGATE: c_ulong = 0x00000001; -pub const ISC_REQ_MUTUAL_AUTH: c_ulong = 0x00000002; -pub const ISC_REQ_REPLAY_DETECT: c_ulong = 0x00000004; -pub const ISC_REQ_SEQUENCE_DETECT: c_ulong = 0x00000008; -pub const ISC_REQ_CONFIDENTIALITY: c_ulong = 0x00000010; -pub const ISC_REQ_USE_SESSION_KEY: c_ulong = 0x00000020; -pub const ISC_REQ_PROMPT_FOR_CREDS: c_ulong = 0x00000040; -pub const ISC_REQ_USE_SUPPLIED_CREDS: c_ulong = 0x00000080; -pub const ISC_REQ_ALLOCATE_MEMORY: c_ulong = 0x00000100; -pub const ISC_REQ_USE_DCE_STYLE: c_ulong = 0x00000200; -pub const ISC_REQ_DATAGRAM: c_ulong = 0x00000400; -pub const ISC_REQ_CONNECTION: c_ulong = 0x00000800; -pub const ISC_REQ_CALL_LEVEL: c_ulong = 0x00001000; -pub const ISC_REQ_FRAGMENT_SUPPLIED: c_ulong = 0x00002000; -pub const ISC_REQ_EXTENDED_ERROR: c_ulong = 0x00004000; -pub const ISC_REQ_STREAM: c_ulong = 0x00008000; -pub const ISC_REQ_INTEGRITY: c_ulong = 0x00010000; -pub const ISC_REQ_IDENTIFY: c_ulong = 0x00020000; -pub const ISC_REQ_NULL_SESSION: c_ulong = 0x00040000; -pub const ISC_REQ_MANUAL_CRED_VALIDATION: c_ulong = 0x00080000; -pub const ISC_REQ_RESERVED1: c_ulong = 0x00100000; -pub const ISC_REQ_FRAGMENT_TO_FIT: c_ulong = 0x00200000; -pub const ISC_REQ_FORWARD_CREDENTIALS: c_ulong = 0x00400000; -pub const ISC_REQ_NO_INTEGRITY: c_ulong = 0x00800000; -pub const ISC_REQ_USE_HTTP_STYLE: c_ulong = 0x01000000; -pub const ISC_REQ_UNVERIFIED_TARGET_NAME: c_ulong = 0x20000000; -pub const ISC_REQ_CONFIDENTIALITY_ONLY: c_ulong = 0x40000000; -pub const ISC_RET_DELEGATE: c_ulong = 0x00000001; -pub const ISC_RET_MUTUAL_AUTH: c_ulong = 0x00000002; -pub const ISC_RET_REPLAY_DETECT: c_ulong = 0x00000004; -pub const ISC_RET_SEQUENCE_DETECT: c_ulong = 0x00000008; -pub const ISC_RET_CONFIDENTIALITY: c_ulong = 0x00000010; -pub const ISC_RET_USE_SESSION_KEY: c_ulong = 0x00000020; -pub const ISC_RET_USED_COLLECTED_CREDS: c_ulong = 0x00000040; -pub const ISC_RET_USED_SUPPLIED_CREDS: c_ulong = 0x00000080; -pub const ISC_RET_ALLOCATED_MEMORY: c_ulong = 0x00000100; -pub const ISC_RET_USED_DCE_STYLE: c_ulong = 0x00000200; -pub const ISC_RET_DATAGRAM: c_ulong = 0x00000400; -pub const ISC_RET_CONNECTION: c_ulong = 0x00000800; -pub const ISC_RET_INTERMEDIATE_RETURN: c_ulong = 0x00001000; -pub const ISC_RET_CALL_LEVEL: c_ulong = 0x00002000; -pub const ISC_RET_EXTENDED_ERROR: c_ulong = 0x00004000; -pub const ISC_RET_STREAM: c_ulong = 0x00008000; -pub const ISC_RET_INTEGRITY: c_ulong = 0x00010000; -pub const ISC_RET_IDENTIFY: c_ulong = 0x00020000; -pub const ISC_RET_NULL_SESSION: c_ulong = 0x00040000; -pub const ISC_RET_MANUAL_CRED_VALIDATION: c_ulong = 0x00080000; -pub const ISC_RET_RESERVED1: c_ulong = 0x00100000; -pub const ISC_RET_FRAGMENT_ONLY: c_ulong = 0x00200000; -pub const ISC_RET_FORWARD_CREDENTIALS: c_ulong = 0x00400000; -pub const ISC_RET_USED_HTTP_STYLE: c_ulong = 0x01000000; -pub const ISC_RET_NO_ADDITIONAL_TOKEN: c_ulong = 0x02000000; -pub const ISC_RET_REAUTHENTICATION: c_ulong = 0x08000000; -pub const ISC_RET_CONFIDENTIALITY_ONLY: c_ulong = 0x40000000; -pub const ASC_REQ_DELEGATE: c_ulong = 0x00000001; -pub const ASC_REQ_MUTUAL_AUTH: c_ulong = 0x00000002; -pub const ASC_REQ_REPLAY_DETECT: c_ulong = 0x00000004; -pub const ASC_REQ_SEQUENCE_DETECT: c_ulong = 0x00000008; -pub const ASC_REQ_CONFIDENTIALITY: c_ulong = 0x00000010; -pub const ASC_REQ_USE_SESSION_KEY: c_ulong = 0x00000020; -pub const ASC_REQ_SESSION_TICKET: c_ulong = 0x00000040; -pub const ASC_REQ_ALLOCATE_MEMORY: c_ulong = 0x00000100; -pub const ASC_REQ_USE_DCE_STYLE: c_ulong = 0x00000200; -pub const ASC_REQ_DATAGRAM: c_ulong = 0x00000400; -pub const ASC_REQ_CONNECTION: c_ulong = 0x00000800; -pub const ASC_REQ_CALL_LEVEL: c_ulong = 0x00001000; -pub const ASC_REQ_EXTENDED_ERROR: c_ulong = 0x00008000; -pub const ASC_REQ_STREAM: c_ulong = 0x00010000; -pub const ASC_REQ_INTEGRITY: c_ulong = 0x00020000; -pub const ASC_REQ_LICENSING: c_ulong = 0x00040000; -pub const ASC_REQ_IDENTIFY: c_ulong = 0x00080000; -pub const ASC_REQ_ALLOW_NULL_SESSION: c_ulong = 0x00100000; -pub const ASC_REQ_ALLOW_NON_USER_LOGONS: c_ulong = 0x00200000; -pub const ASC_REQ_ALLOW_CONTEXT_REPLAY: c_ulong = 0x00400000; -pub const ASC_REQ_FRAGMENT_TO_FIT: c_ulong = 0x00800000; -pub const ASC_REQ_FRAGMENT_SUPPLIED: c_ulong = 0x00002000; -pub const ASC_REQ_NO_TOKEN: c_ulong = 0x01000000; -pub const ASC_REQ_PROXY_BINDINGS: c_ulong = 0x04000000; -pub const ASC_REQ_ALLOW_MISSING_BINDINGS: c_ulong = 0x10000000; -pub const ASC_RET_DELEGATE: c_ulong = 0x00000001; -pub const ASC_RET_MUTUAL_AUTH: c_ulong = 0x00000002; -pub const ASC_RET_REPLAY_DETECT: c_ulong = 0x00000004; -pub const ASC_RET_SEQUENCE_DETECT: c_ulong = 0x00000008; -pub const ASC_RET_CONFIDENTIALITY: c_ulong = 0x00000010; -pub const ASC_RET_USE_SESSION_KEY: c_ulong = 0x00000020; -pub const ASC_RET_SESSION_TICKET: c_ulong = 0x00000040; -pub const ASC_RET_ALLOCATED_MEMORY: c_ulong = 0x00000100; -pub const ASC_RET_USED_DCE_STYLE: c_ulong = 0x00000200; -pub const ASC_RET_DATAGRAM: c_ulong = 0x00000400; -pub const ASC_RET_CONNECTION: c_ulong = 0x00000800; -pub const ASC_RET_CALL_LEVEL: c_ulong = 0x00002000; -pub const ASC_RET_THIRD_LEG_FAILED: c_ulong = 0x00004000; -pub const ASC_RET_EXTENDED_ERROR: c_ulong = 0x00008000; -pub const ASC_RET_STREAM: c_ulong = 0x00010000; -pub const ASC_RET_INTEGRITY: c_ulong = 0x00020000; -pub const ASC_RET_LICENSING: c_ulong = 0x00040000; -pub const ASC_RET_IDENTIFY: c_ulong = 0x00080000; -pub const ASC_RET_NULL_SESSION: c_ulong = 0x00100000; -pub const ASC_RET_ALLOW_NON_USER_LOGONS: c_ulong = 0x00200000; -pub const ASC_RET_ALLOW_CONTEXT_REPLAY: c_ulong = 0x00400000; -pub const ASC_RET_FRAGMENT_ONLY: c_ulong = 0x00800000; -pub const ASC_RET_NO_TOKEN: c_ulong = 0x01000000; -pub const ASC_RET_NO_ADDITIONAL_TOKEN: c_ulong = 0x02000000; -pub const SECPKG_CRED_ATTR_NAMES: c_ulong = 1; -pub const SECPKG_CRED_ATTR_SSI_PROVIDER: c_ulong = 2; -pub const SECPKG_CRED_ATTR_KDC_PROXY_SETTINGS: c_ulong = 3; -pub const SECPKG_CRED_ATTR_CERT: c_ulong = 4; -STRUCT!{struct SecPkgCredentials_NamesW { - sUserName: *mut SEC_WCHAR, -}} -pub type PSecPkgCredentials_NamesW = *mut SecPkgCredentials_NamesW; -STRUCT!{struct SecPkgCredentials_NamesA { - sUserName: *mut SEC_CHAR, -}} -pub type PSecPkgCredentials_NamesA = *mut SecPkgCredentials_NamesA; -STRUCT!{struct SecPkgCredentials_SSIProviderW { - sProviderName: *mut SEC_WCHAR, - ProviderInfoLength: c_ulong, - ProviderInfo: *mut c_char, -}} -pub type PSecPkgCredentials_SSIProviderW = *mut SecPkgCredentials_SSIProviderW; -STRUCT!{struct SecPkgCredentials_SSIProviderA { - sProviderName: *mut SEC_CHAR, - ProviderInfoLength: c_ulong, - ProviderInfo: *mut c_char, -}} -pub type PSecPkgCredentials_SSIProviderA = *mut SecPkgCredentials_SSIProviderA; -pub const KDC_PROXY_SETTINGS_V1: ULONG = 1; -pub const KDC_PROXY_SETTINGS_FLAGS_FORCEPROXY: ULONG = 0x1; -STRUCT!{struct SecPkgCredentials_KdcProxySettingsW { - Version: ULONG, - Flags: ULONG, - ProxyServerOffset: USHORT, - ProxyServerLength: USHORT, - ClientTlsCredOffset: USHORT, - ClientTlsCredLength: USHORT, -}} -pub type PSecPkgCredentials_KdcProxySettingsW = *mut SecPkgCredentials_KdcProxySettingsW; -STRUCT!{struct SecPkgCredentials_Cert { - EncodedCertSize: c_ulong, - EncodedCert: *mut c_uchar, -}} -pub type PSecPkgCredentials_Cert = *mut SecPkgCredentials_Cert; -pub const SECPKG_ATTR_SIZES: c_ulong = 0; -pub const SECPKG_ATTR_NAMES: c_ulong = 1; -pub const SECPKG_ATTR_LIFESPAN: c_ulong = 2; -pub const SECPKG_ATTR_DCE_INFO: c_ulong = 3; -pub const SECPKG_ATTR_STREAM_SIZES: c_ulong = 4; -pub const SECPKG_ATTR_KEY_INFO: c_ulong = 5; -pub const SECPKG_ATTR_AUTHORITY: c_ulong = 6; -pub const SECPKG_ATTR_PROTO_INFO: c_ulong = 7; -pub const SECPKG_ATTR_PASSWORD_EXPIRY: c_ulong = 8; -pub const SECPKG_ATTR_SESSION_KEY: c_ulong = 9; -pub const SECPKG_ATTR_PACKAGE_INFO: c_ulong = 10; -pub const SECPKG_ATTR_USER_FLAGS: c_ulong = 11; -pub const SECPKG_ATTR_NEGOTIATION_INFO: c_ulong = 12; -pub const SECPKG_ATTR_NATIVE_NAMES: c_ulong = 13; -pub const SECPKG_ATTR_FLAGS: c_ulong = 14; -pub const SECPKG_ATTR_USE_VALIDATED: c_ulong = 15; -pub const SECPKG_ATTR_CREDENTIAL_NAME: c_ulong = 16; -pub const SECPKG_ATTR_TARGET_INFORMATION: c_ulong = 17; -pub const SECPKG_ATTR_ACCESS_TOKEN: c_ulong = 18; -pub const SECPKG_ATTR_TARGET: c_ulong = 19; -pub const SECPKG_ATTR_AUTHENTICATION_ID: c_ulong = 20; -pub const SECPKG_ATTR_LOGOFF_TIME: c_ulong = 21; -pub const SECPKG_ATTR_NEGO_KEYS: c_ulong = 22; -pub const SECPKG_ATTR_PROMPTING_NEEDED: c_ulong = 24; -pub const SECPKG_ATTR_UNIQUE_BINDINGS: c_ulong = 25; -pub const SECPKG_ATTR_ENDPOINT_BINDINGS: c_ulong = 26; -pub const SECPKG_ATTR_CLIENT_SPECIFIED_TARGET: c_ulong = 27; -pub const SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS: c_ulong = 30; -pub const SECPKG_ATTR_NEGO_PKG_INFO: c_ulong = 31; -pub const SECPKG_ATTR_NEGO_STATUS: c_ulong = 32; -pub const SECPKG_ATTR_CONTEXT_DELETED: c_ulong = 33; -pub const SECPKG_ATTR_DTLS_MTU: c_ulong = 34; -pub const SECPKG_ATTR_DATAGRAM_SIZES: c_ulong = SECPKG_ATTR_STREAM_SIZES; -pub const SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES: c_ulong = 128; -pub const SECPKG_ATTR_APPLICATION_PROTOCOL: c_ulong = 35; -STRUCT!{struct SecPkgContext_SubjectAttributes { - AttributeInfo: *mut c_void, -}} -pub type PSecPkgContext_SubjectAttributes = *mut SecPkgContext_SubjectAttributes; -pub const SECPKG_ATTR_NEGO_INFO_FLAG_NO_KERBEROS: c_ulong = 0x1; -pub const SECPKG_ATTR_NEGO_INFO_FLAG_NO_NTLM: c_ulong = 0x2; -ENUM!{enum SECPKG_CRED_CLASS { - SecPkgCredClass_None = 0, - SecPkgCredClass_Ephemeral = 10, - SecPkgCredClass_PersistedGeneric = 20, - SecPkgCredClass_PersistedSpecific = 30, - SecPkgCredClass_Explicit = 40, -}} -pub type PSECPKG_CRED_CLASS = *mut SECPKG_CRED_CLASS; -STRUCT!{struct SecPkgContext_CredInfo { - CredClass: SECPKG_CRED_CLASS, - IsPromptingNeeded: c_ulong, -}} -pub type PSecPkgContext_CredInfo = *mut SecPkgContext_CredInfo; -STRUCT!{struct SecPkgContext_NegoPackageInfo { - PackageMask: c_ulong, -}} -pub type PSecPkgContext_NegoPackageInfo = *mut SecPkgContext_NegoPackageInfo; -STRUCT!{struct SecPkgContext_NegoStatus { - LastStatus: c_ulong, -}} -pub type PSecPkgContext_NegoStatus = *mut SecPkgContext_NegoStatus; -STRUCT!{struct SecPkgContext_Sizes { - cbMaxToken: c_ulong, - cbMaxSignature: c_ulong, - cbBlockSize: c_ulong, - cbSecurityTrailer: c_ulong, -}} -pub type PSecPkgContext_Sizes = *mut SecPkgContext_Sizes; -STRUCT!{struct SecPkgContext_StreamSizes { - cbHeader: c_ulong, - cbTrailer: c_ulong, - cbMaximumMessage: c_ulong, - cBuffers: c_ulong, - cbBlockSize: c_ulong, -}} -pub type PSecPkgContext_StreamSizes = *mut SecPkgContext_StreamSizes; -pub type SecPkgContext_DatagramSizes = SecPkgContext_StreamSizes; -pub type PSecPkgContext_DatagramSizes = PSecPkgContext_StreamSizes; -STRUCT!{struct SecPkgContext_NamesW { - sUserName: *mut SEC_WCHAR, -}} -pub type PSecPkgContext_NamesW = *mut SecPkgContext_NamesW; -ENUM!{enum SECPKG_ATTR_LCT_STATUS { - SecPkgAttrLastClientTokenYes, - SecPkgAttrLastClientTokenNo, - SecPkgAttrLastClientTokenMaybe, -}} -pub type PSECPKG_ATTR_LCT_STATUS = *mut SECPKG_ATTR_LCT_STATUS; -STRUCT!{struct SecPkgContext_LastClientTokenStatus { - LastClientTokenStatus: SECPKG_ATTR_LCT_STATUS, -}} -pub type PSecPkgContext_LastClientTokenStatus = *mut SecPkgContext_LastClientTokenStatus; -STRUCT!{struct SecPkgContext_NamesA { - sUserName: *mut SEC_CHAR, -}} -pub type PSecPkgContext_NamesA = *mut SecPkgContext_NamesA; -STRUCT!{struct SecPkgContext_Lifespan { - tsStart: TimeStamp, - tsExpiry: TimeStamp, -}} -pub type PSecPkgContext_Lifespan = *mut SecPkgContext_Lifespan; -STRUCT!{struct SecPkgContext_DceInfo { - AuthzSvc: c_ulong, - pPac: *mut c_void, -}} -pub type PSecPkgContext_DceInfo = *mut SecPkgContext_DceInfo; -STRUCT!{struct SecPkgContext_KeyInfoA { - sSignatureAlgorithmName: *mut SEC_CHAR, - sEncryptAlgorithmName: *mut SEC_CHAR, - KeySize: c_ulong, - SignatureAlgorithm: c_ulong, - EncryptAlgorithm: c_ulong, -}} -pub type PSecPkgContext_KeyInfoA = *mut SecPkgContext_KeyInfoA; -STRUCT!{struct SecPkgContext_KeyInfoW { - sSignatureAlgorithmName: *mut SEC_WCHAR, - sEncryptAlgorithmName: *mut SEC_WCHAR, - KeySize: c_ulong, - SignatureAlgorithm: c_ulong, - EncryptAlgorithm: c_ulong, -}} -pub type PSecPkgContext_KeyInfoW = *mut SecPkgContext_KeyInfoW; -STRUCT!{struct SecPkgContext_AuthorityA { - sAuthorityName: *mut SEC_CHAR, -}} -pub type PSecPkgContext_AuthorityA = *mut SecPkgContext_AuthorityA; -STRUCT!{struct SecPkgContext_AuthorityW { - sAuthorityName: *mut SEC_WCHAR, -}} -pub type PSecPkgContext_AuthorityW = *mut SecPkgContext_AuthorityW; -STRUCT!{struct SecPkgContext_ProtoInfoA { - sProtocolName: *mut SEC_CHAR, - majorVersion: c_ulong, - minorVersion: c_ulong, -}} -pub type PSecPkgContext_ProtoInfoA = *mut SecPkgContext_ProtoInfoA; -STRUCT!{struct SecPkgContext_ProtoInfoW { - sProtocolName: *mut SEC_WCHAR, - majorVersion: c_ulong, - minorVersion: c_ulong, -}} -pub type PSecPkgContext_ProtoInfoW = *mut SecPkgContext_ProtoInfoW; -STRUCT!{struct SecPkgContext_PasswordExpiry { - tsPasswordExpires: TimeStamp, -}} -pub type PSecPkgContext_PasswordExpiry = *mut SecPkgContext_PasswordExpiry; -STRUCT!{struct SecPkgContext_LogoffTime { - tsLogoffTime: TimeStamp, -}} -pub type PSecPkgContext_LogoffTime = *mut SecPkgContext_LogoffTime; -STRUCT!{struct SecPkgContext_SessionKey { - SessionKeyLength: c_ulong, - SessionKey: *mut c_uchar, -}} -pub type PSecPkgContext_SessionKey = *mut SecPkgContext_SessionKey; -STRUCT!{struct SecPkgContext_NegoKeys { - KeyType: c_ulong, - KeyLength: c_ushort, - KeyValue: *mut c_uchar, - VerifyKeyType: c_ulong, - VerifyKeyLength: c_ushort, - VerifyKeyValue: *mut c_uchar, -}} -pub type PSecPkgContext_NegoKeys = *mut SecPkgContext_NegoKeys; -STRUCT!{struct SecPkgContext_PackageInfoW { - PackageInfo: PSecPkgInfoW, -}} -pub type PSecPkgContext_PackageInfoW = *mut SecPkgContext_PackageInfoW; -STRUCT!{struct SecPkgContext_PackageInfoA { - PackageInfo: PSecPkgInfoA, -}} -pub type PSecPkgContext_PackageInfoA = *mut SecPkgContext_PackageInfoA; -STRUCT!{struct SecPkgContext_UserFlags { - UserFlags: c_ulong, -}} -pub type PSecPkgContext_UserFlags = *mut SecPkgContext_UserFlags; -STRUCT!{struct SecPkgContext_Flags { - Flags: c_ulong, -}} -pub type PSecPkgContext_Flags = *mut SecPkgContext_Flags; -STRUCT!{struct SecPkgContext_NegotiationInfoA { - PackageInfo: PSecPkgInfoA, - NegotiationState: c_ulong, -}} -pub type PSecPkgContext_NegotiationInfoA = *mut SecPkgContext_NegotiationInfoA; -STRUCT!{struct SecPkgContext_NegotiationInfoW { - PackageInfo: PSecPkgInfoW, - NegotiationState: c_ulong, -}} -pub type PSecPkgContext_NegotiationInfoW = *mut SecPkgContext_NegotiationInfoW; -pub const SECPKG_NEGOTIATION_COMPLETE: c_ulong = 0; -pub const SECPKG_NEGOTIATION_OPTIMISTIC: c_ulong = 1; -pub const SECPKG_NEGOTIATION_IN_PROGRESS: c_ulong = 2; -pub const SECPKG_NEGOTIATION_DIRECT: c_ulong = 3; -pub const SECPKG_NEGOTIATION_TRY_MULTICRED: c_ulong = 4; -STRUCT!{struct SecPkgContext_NativeNamesW { - sClientName: *mut SEC_WCHAR, - sServerName: *mut SEC_WCHAR, -}} -pub type PSecPkgContext_NativeNamesW = *mut SecPkgContext_NativeNamesW; -STRUCT!{struct SecPkgContext_NativeNamesA { - sClientName: *mut SEC_CHAR, - sServerName: *mut SEC_CHAR, -}} -pub type PSecPkgContext_NativeNamesA = *mut SecPkgContext_NativeNamesA; -STRUCT!{struct SecPkgContext_CredentialNameW { - CredentialType: c_ulong, - sCredentialName: *mut SEC_WCHAR, -}} -pub type PSecPkgContext_CredentialNameW = *mut SecPkgContext_CredentialNameW; -STRUCT!{struct SecPkgContext_CredentialNameA { - CredentialType: c_ulong, - sCredentialName: *mut SEC_CHAR, -}} -pub type PSecPkgContext_CredentialNameA = *mut SecPkgContext_CredentialNameA; -STRUCT!{struct SecPkgContext_AccessToken { - AccessToken: *mut c_void, -}} -pub type PSecPkgContext_AccessToken = *mut SecPkgContext_AccessToken; -STRUCT!{struct SecPkgContext_TargetInformation { - MarshalledTargetInfoLength: c_ulong, - MarshalledTargetInfo: *mut c_uchar, -}} -pub type PSecPkgContext_TargetInformation = *mut SecPkgContext_TargetInformation; -STRUCT!{struct SecPkgContext_AuthzID { - AuthzIDLength: c_ulong, - AuthzID: *mut c_char, -}} -pub type PSecPkgContext_AuthzID = *mut SecPkgContext_AuthzID; -STRUCT!{struct SecPkgContext_Target { - TargetLength: c_ulong, - Target: *mut c_char, -}} -pub type PSecPkgContext_Target = *mut SecPkgContext_Target; -STRUCT!{struct SecPkgContext_ClientSpecifiedTarget { - sTargetName: *mut SEC_WCHAR, -}} -pub type PSecPkgContext_ClientSpecifiedTarget = *mut SecPkgContext_ClientSpecifiedTarget; -STRUCT!{struct SecPkgContext_Bindings { - BindingsLength: c_ulong, - Bindings: *mut SEC_CHANNEL_BINDINGS, -}} -pub type PSecPkgContext_Bindings = *mut SecPkgContext_Bindings; -ENUM!{enum SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS { - SecApplicationProtocolNegotiationStatus_None, - SecApplicationProtocolNegotiationStatus_Success, - SecApplicationProtocolNegotiationStatus_SelectedClientOnly, -}} -pub type PSEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS = - *mut SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS; -pub const MAX_PROTOCOL_ID_SIZE: usize = 0xff; -STRUCT!{struct SecPkgContext_ApplicationProtocol { - ProtoNegoStatus: SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS, - ProtoNegoExt: SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT, - ProtocolIdSize: c_uchar, - ProtocolId: [c_uchar; MAX_PROTOCOL_ID_SIZE], -}} -pub type PSecPkgContext_ApplicationProtocol = *mut SecPkgContext_ApplicationProtocol; -FN!{stdcall SEC_GET_KEY_FN( - Arg: *mut c_void, - Principal: *mut c_void, - KeyVer: c_ulong, - Key: *mut *mut c_void, - Status: *mut SECURITY_STATUS, -) -> ()} -pub const SECPKG_CONTEXT_EXPORT_RESET_NEW: c_ulong = 0x00000001; -pub const SECPKG_CONTEXT_EXPORT_DELETE_OLD: c_ulong = 0x00000002; -pub const SECPKG_CONTEXT_EXPORT_TO_KERNEL: c_ulong = 0x00000004; -extern "system" { - pub fn AcquireCredentialsHandleW( - pszPrincipal: LPWSTR, - pszPackage: LPWSTR, - fCredentialUse: c_ulong, - pvLogonId: *mut c_void, - pAuthData: *mut c_void, - pGetKeyFn: SEC_GET_KEY_FN, - pvGetKeyArgument: *mut c_void, - phCredential: PCredHandle, - ptsExpiry: PTimeStamp, - ) -> SECURITY_STATUS; -} -FN!{stdcall ACQUIRE_CREDENTIALS_HANDLE_FN_W( - *mut SEC_WCHAR, - *mut SEC_WCHAR, - c_ulong, - *mut c_void, - *mut c_void, - SEC_GET_KEY_FN, - *mut c_void, - PCredHandle, - PTimeStamp, -) -> SECURITY_STATUS} -extern "system" { - pub fn AcquireCredentialsHandleA( - pszPrincipal: LPSTR, - pszPackage: LPSTR, - fCredentialUse: c_ulong, - pvLogonId: *mut c_void, - pAuthData: *mut c_void, - pGetKeyFn: SEC_GET_KEY_FN, - pvGetKeyArgument: *mut c_void, - phCredential: PCredHandle, - ptsExpiry: PTimeStamp, - ) -> SECURITY_STATUS; -} -FN!{stdcall ACQUIRE_CREDENTIALS_HANDLE_FN_A( - *mut SEC_CHAR, - *mut SEC_CHAR, - c_ulong, - *mut c_void, - *mut c_void, - SEC_GET_KEY_FN, - *mut c_void, - PCredHandle, - PTimeStamp, -) -> SECURITY_STATUS} -extern "system" { - pub fn FreeCredentialsHandle( - phCredential: PCredHandle, - ) -> SECURITY_STATUS; -} -FN!{stdcall FREE_CREDENTIALS_HANDLE_FN( - PCredHandle, -) -> SECURITY_STATUS} -extern "system" { - pub fn AddCredentialsW( - hCredentials: PCredHandle, - pszPrincipal: LPWSTR, - pszPackage: LPWSTR, - fCredentialUse: c_ulong, - pAuthData: *mut c_void, - pGetKeyFn: SEC_GET_KEY_FN, - pvGetKeyArgument: *mut c_void, - ptsExpiry: PTimeStamp, - ) -> SECURITY_STATUS; -} -FN!{stdcall ADD_CREDENTIALS_FN_W( - PCredHandle, - *mut SEC_WCHAR, - *mut SEC_WCHAR, - c_ulong, - *mut c_void, - SEC_GET_KEY_FN, - *mut c_void, - PTimeStamp, -) -> SECURITY_STATUS} -extern "system" { - pub fn AddCredentialsA( - hCredentials: PCredHandle, - pszPrincipal: LPSTR, - pszPackage: LPSTR, - fCredentialUse: c_ulong, - pAuthData: *mut c_void, - pGetKeyFn: SEC_GET_KEY_FN, - pvGetKeyArgument: *mut c_void, - ptsExpiry: PTimeStamp, - ) -> SECURITY_STATUS; -} -FN!{stdcall ADD_CREDENTIALS_FN_A( - PCredHandle, - *mut SEC_CHAR, - *mut SEC_CHAR, - c_ulong, - *mut c_void, - SEC_GET_KEY_FN, - *mut c_void, - PTimeStamp, -) -> SECURITY_STATUS} -extern "system" { - // pub fn spiCreateAsyncContext(); - // pub fn SspiFreeAsyncContext(); - // pub fn SspiReinitAsyncContext(); - // pub fn SspiSetAsyncNotifyCallback(); - // pub fn SspiAsyncContextRequiresNotify(); - // pub fn SspiGetAsyncCallStatus(); - // pub fn SspiAcquireCredentialsHandleAsyncW(); - // pub fn SspiAcquireCredentialsHandleAsyncA(); - // pub fn SspiInitializeSecurityContextAsyncW(); - // pub fn SspiInitializeSecurityContextAsyncA(); - // pub fn SspiAcceptSecurityContextAsync(); - // pub fn SspiFreeCredentialsHandleAsync(); - // pub fn SspiDeleteSecurityContextAsync(); - pub fn ChangeAccountPasswordW( - pszPackageName: *mut SEC_WCHAR, - pszDomainName: *mut SEC_WCHAR, - pszAccountName: *mut SEC_WCHAR, - pszOldPassword: *mut SEC_WCHAR, - pszNewPassword: *mut SEC_WCHAR, - bImpersonating: BOOLEAN, - dwReserved: c_ulong, - pOutput: PSecBufferDesc, - ) -> SECURITY_STATUS; -} -FN!{stdcall CHANGE_PASSWORD_FN_W( - *mut SEC_WCHAR, - *mut SEC_WCHAR, - *mut SEC_WCHAR, - *mut SEC_WCHAR, - *mut SEC_WCHAR, - BOOLEAN, - c_ulong, - PSecBufferDesc, -) -> SECURITY_STATUS} -extern "system" { - pub fn ChangeAccountPasswordA( - pszPackageName: *mut SEC_CHAR, - pszDomainName: *mut SEC_CHAR, - pszAccountName: *mut SEC_CHAR, - pszOldPassword: *mut SEC_CHAR, - pszNewPassword: *mut SEC_CHAR, - bImpersonating: BOOLEAN, - dwReserved: c_ulong, - pOutput: PSecBufferDesc, - ) -> SECURITY_STATUS; -} -FN!{stdcall CHANGE_PASSWORD_FN_A( - *mut SEC_CHAR, - *mut SEC_CHAR, - *mut SEC_CHAR, - *mut SEC_CHAR, - *mut SEC_CHAR, - BOOLEAN, - c_ulong, - PSecBufferDesc, -) -> SECURITY_STATUS} -extern "system" { - pub fn InitializeSecurityContextW( - phCredential: PCredHandle, - phContext: PCtxtHandle, - pszTargetName: *mut SEC_WCHAR, - fContextReq: c_ulong, - Reserved1: c_ulong, - TargetDataRep: c_ulong, - pInput: PSecBufferDesc, - Reserved2: c_ulong, - phNewContext: PCtxtHandle, - pOutput: PSecBufferDesc, - pfContextAttr: *mut c_ulong, - ptsExpiry: PTimeStamp, - ) -> SECURITY_STATUS; -} -// INITIALIZE_SECURITY_CONTEXT_FN_W -extern "system" { - pub fn InitializeSecurityContextA( - phCredential: PCredHandle, - phContext: PCtxtHandle, - pszTargetName: *mut SEC_CHAR, - fContextReq: c_ulong, - Reserved1: c_ulong, - TargetDataRep: c_ulong, - pInput: PSecBufferDesc, - Reserved2: c_ulong, - phNewContext: PCtxtHandle, - pOutput: PSecBufferDesc, - pfContextAttr: *mut c_ulong, - ptsExpiry: PTimeStamp, - ) -> SECURITY_STATUS; - pub fn AcceptSecurityContext( - phCredential: PCredHandle, - phContext: PCtxtHandle, - pInput: PSecBufferDesc, - fContextReq: c_ulong, - TargetDataRep: c_ulong, - phNewContext: PCtxtHandle, - pOutput: PSecBufferDesc, - pfContextAttr: *mut c_ulong, - ptsExpiry: PTimeStamp, - ) -> SECURITY_STATUS; - pub fn CompleteAuthToken( - phContext: PCtxtHandle, - pToken: PSecBufferDesc, - ) -> SECURITY_STATUS; - pub fn ImpersonateSecurityContext( - phContext: PCtxtHandle, - ) -> SECURITY_STATUS; - pub fn RevertSecurityContext( - phContext: PCtxtHandle, - ) -> SECURITY_STATUS; - pub fn QuerySecurityContextToken( - phContext: PCtxtHandle, - Token: *mut *mut c_void, - ) -> SECURITY_STATUS; - pub fn DeleteSecurityContext( - phContext: PCtxtHandle, - ) -> SECURITY_STATUS; - pub fn ApplyControlToken( - phContext: PCtxtHandle, - pInput: PSecBufferDesc, - ) -> SECURITY_STATUS; - pub fn QueryContextAttributesW( - phContext: PCtxtHandle, - ulAttribute: c_ulong, - pBuffer: *mut c_void, - ) -> SECURITY_STATUS; - // pub fn QueryContextAttributesExW(); - pub fn QueryContextAttributesA( - phContext: PCtxtHandle, - ulAttribute: c_ulong, - pBuffer: *mut c_void, - ) -> SECURITY_STATUS; - // pub fn QueryContextAttributesExA(); - pub fn SetContextAttributesW( - phContext: PCtxtHandle, - ulAttribute: c_ulong, - pBuffer: *mut c_void, - cbBuffer: c_ulong, - ) -> SECURITY_STATUS; - pub fn SetContextAttributesA( - phContext: PCtxtHandle, - ulAttribute: c_ulong, - pBuffer: *mut c_void, - cbBuffer: c_ulong, - ) -> SECURITY_STATUS; - pub fn QueryCredentialsAttributesW( - phCredential: PCredHandle, - ulAttribute: c_ulong, - pBuffer: *mut c_void, - ) -> SECURITY_STATUS; - // pub fn QueryCredentialsAttributesExW(); - pub fn QueryCredentialsAttributesA( - phCredential: PCredHandle, - ulAttribute: c_ulong, - pBuffer: *mut c_void, - ) -> SECURITY_STATUS; - // pub fn QueryCredentialsAttributesExA(); - pub fn SetCredentialsAttributesW( - phCredential: PCredHandle, - ulAttribute: c_ulong, - pBuffer: *mut c_void, - cbBuffer: c_ulong, - ) -> SECURITY_STATUS; - pub fn SetCredentialsAttributesA( - phCredential: PCredHandle, - ulAttribute: c_ulong, - pBuffer: *mut c_void, - cbBuffer: c_ulong, - ) -> SECURITY_STATUS; - pub fn FreeContextBuffer( - pvContextBuffer: PVOID, - ) -> SECURITY_STATUS; - pub fn MakeSignature( - phContext: PCtxtHandle, - fQOP: c_ulong, - pMessage: PSecBufferDesc, - MessageSeqNo: c_ulong, - ) -> SECURITY_STATUS; - pub fn VerifySignature( - phContext: PCtxtHandle, - pMessage: PSecBufferDesc, - MessageSeqNo: c_ulong, - pfQOP: *mut c_ulong, - ) -> SECURITY_STATUS; - pub fn EncryptMessage( - phContext: PCtxtHandle, - fQOP: c_ulong, - pMessage: PSecBufferDesc, - MessageSeqNo: c_ulong, - ) -> SECURITY_STATUS; - pub fn DecryptMessage( - phContext: PCtxtHandle, - pMessage: PSecBufferDesc, - MessageSeqNo: c_ulong, - pfQOP: *mut c_ulong, - ) -> SECURITY_STATUS; - pub fn EnumerateSecurityPackagesW( - pcPackages: *mut c_ulong, - ppPackageInfo: *mut PSecPkgInfoW, - ) -> SECURITY_STATUS; - pub fn EnumerateSecurityPackagesA( - pcPackages: *mut c_ulong, - ppPackageInfo: *mut PSecPkgInfoA, - ) -> SECURITY_STATUS; - pub fn QuerySecurityPackageInfoW( - pszPackageName: LPWSTR, - ppPackageInfo: *mut PSecPkgInfoW, - ) -> SECURITY_STATUS; - pub fn QuerySecurityPackageInfoA( - pszPackageName: LPSTR, - ppPackageInfo: *mut PSecPkgInfoA, - ) -> SECURITY_STATUS; -} -ENUM!{enum SecDelegationType { - SecFull, - SecService, - SecTree, - SecDirectory, - SecObject, -}} -pub type PSecDelegationType = *mut SecDelegationType; -extern "system" { - // pub fn DelegateSecurityContext(); - pub fn ExportSecurityContext( - phContext: PCtxtHandle, - fFlags: ULONG, - pPackedContext: PSecBuffer, - pToken: *mut *mut c_void, - ) -> SECURITY_STATUS; - pub fn ImportSecurityContextW( - pszPackage: LPWSTR, - pPackedContext: PSecBuffer, - Token: *mut c_void, - phContext: PCtxtHandle, - ) -> SECURITY_STATUS; - pub fn ImportSecurityContextA( - pszPackage: LPSTR, - pPackedContext: PSecBuffer, - Token: *mut c_void, - phContext: PCtxtHandle, - ) -> SECURITY_STATUS; -// pub fn SecMakeSPN(); -// pub fn SecMakeSPNEx(); -// pub fn SecMakeSPNEx2(); -// pub fn SecLookupAccountSid(); -// pub fn SecLookupAccountName(); -// pub fn SecLookupWellKnownSid(); -} -extern "system" { - // pub fn InitSecurityInterfaceA(); - // pub fn InitSecurityInterfaceW(); - // pub fn SaslEnumerateProfilesA(); - // pub fn SaslEnumerateProfilesW(); - // pub fn SaslGetProfilePackageA(); - // pub fn SaslGetProfilePackageW(); - // pub fn SaslIdentifyPackageA(); - // pub fn SaslIdentifyPackageW(); - // pub fn SaslInitializeSecurityContextW(); - // pub fn SaslInitializeSecurityContextA(); - // pub fn SaslAcceptSecurityContext(); - // pub fn SaslSetContextOption(); - // pub fn SaslGetContextOption(); -} -pub type PSEC_WINNT_AUTH_IDENTITY_OPAQUE = PVOID; -extern "system" { - pub fn SspiPromptForCredentialsW( - pszTargetName: PCWSTR, - pUiInfo: PCREDUI_INFOW, - dwAuthError: c_ulong, - pszPackage: PCWSTR, - pInputAuthIdentity: PSEC_WINNT_AUTH_IDENTITY_OPAQUE, - ppAuthIdentity: *mut PSEC_WINNT_AUTH_IDENTITY_OPAQUE, - pfSave: *mut c_int, - dwFlags: c_ulong, - ) -> c_ulong; - pub fn SspiPromptForCredentialsA( - pszTargetName: PCSTR, - pUiInfo: PCREDUI_INFOA, - dwAuthError: c_ulong, - pszPackage: PCSTR, - pInputAuthIdentity: PSEC_WINNT_AUTH_IDENTITY_OPAQUE, - ppAuthIdentity: *mut PSEC_WINNT_AUTH_IDENTITY_OPAQUE, - pfSave: *mut c_int, - dwFlags: c_ulong, - ) -> c_ulong; -} -STRUCT!{struct SEC_WINNT_AUTH_BYTE_VECTOR { - ByteArrayOffset: c_ulong, - ByteArrayLength: c_ushort, -}} -pub type PSEC_WINNT_AUTH_BYTE_VECTOR = *mut SEC_WINNT_AUTH_BYTE_VECTOR; -STRUCT!{struct SEC_WINNT_AUTH_DATA { - CredType: GUID, - CredData: SEC_WINNT_AUTH_BYTE_VECTOR, -}} -pub type PSEC_WINNT_AUTH_DATA = *mut SEC_WINNT_AUTH_DATA; -STRUCT!{struct SEC_WINNT_AUTH_PACKED_CREDENTIALS { - cbHeaderLength: c_ushort, - cbStructureLength: c_ushort, - AuthData: SEC_WINNT_AUTH_DATA, -}} -pub type PSEC_WINNT_AUTH_PACKED_CREDENTIALS = *mut SEC_WINNT_AUTH_PACKED_CREDENTIALS; -DEFINE_GUID!{SEC_WINNT_AUTH_DATA_TYPE_PASSWORD, - 0x28bfc32f, 0x10f6, 0x4738, 0x98, 0xd1, 0x1a, 0xc0, 0x61, 0xdf, 0x71, 0x6a} -DEFINE_GUID!{SEC_WINNT_AUTH_DATA_TYPE_CERT, - 0x235f69ad, 0x73fb, 0x4dbc, 0x82, 0x3, 0x6, 0x29, 0xe7, 0x39, 0x33, 0x9b} -STRUCT!{struct SEC_WINNT_AUTH_DATA_PASSWORD { - UnicodePassword: SEC_WINNT_AUTH_BYTE_VECTOR, -}} -pub type PSEC_WINNT_AUTH_DATA_PASSWORD = *mut SEC_WINNT_AUTH_DATA_PASSWORD; -DEFINE_GUID!{SEC_WINNT_AUTH_DATA_TYPE_CSP_DATA, - 0x68fd9879, 0x79c, 0x4dfe, 0x82, 0x81, 0x57, 0x8a, 0xad, 0xc1, 0xc1, 0x0} -// GUID SEC_WINNT_AUTH_DATA_TYPE_SMARTCARD_CONTEXTS -STRUCT!{struct SEC_WINNT_AUTH_CERTIFICATE_DATA { - cbHeaderLength: c_ushort, - cbStructureLength: c_ushort, - Certificate: SEC_WINNT_AUTH_BYTE_VECTOR, -}} -pub type PSEC_WINNT_AUTH_CERTIFICATE_DATA = *mut SEC_WINNT_AUTH_CERTIFICATE_DATA; -STRUCT!{struct SEC_WINNT_CREDUI_CONTEXT_VECTOR { - CredUIContextArrayOffset: ULONG, - CredUIContextCount: USHORT, -}} -pub type PSEC_WINNT_CREDUI_CONTEXT_VECTOR = *mut SEC_WINNT_CREDUI_CONTEXT_VECTOR; -STRUCT!{struct SEC_WINNT_AUTH_SHORT_VECTOR { - ShortArrayOffset: ULONG, - ShortArrayCount: USHORT, -}} -pub type PSEC_WINNT_AUTH_SHORT_VECTOR = *mut SEC_WINNT_AUTH_SHORT_VECTOR; -extern "system" { - pub fn SspiGetCredUIContext( - ContextHandle: HANDLE, - CredType: *mut GUID, - LogonId: *mut LUID, - CredUIContexts: *mut PSEC_WINNT_CREDUI_CONTEXT_VECTOR, - TokenHandle: *mut HANDLE, - ) -> SECURITY_STATUS; - pub fn SspiUpdateCredentials( - ContextHandle: HANDLE, - CredType: *mut GUID, - FlatCredUIContextLength: ULONG, - FlatCredUIContext: PUCHAR, - ) -> SECURITY_STATUS; -} -STRUCT!{struct CREDUIWIN_MARSHALED_CONTEXT { - StructureType: GUID, - cbHeaderLength: USHORT, - LogonId: LUID, - MarshaledDataType: GUID, - MarshaledDataOffset: ULONG, - MarshaledDataLength: USHORT, -}} -pub type PCREDUIWIN_MARSHALED_CONTEXT = *mut CREDUIWIN_MARSHALED_CONTEXT; -STRUCT!{struct SEC_WINNT_CREDUI_CONTEXT { - cbHeaderLength: USHORT, - CredUIContextHandle: HANDLE, - UIInfo: PCREDUI_INFOW, - dwAuthError: ULONG, - pInputAuthIdentity: PSEC_WINNT_AUTH_IDENTITY_OPAQUE, - TargetName: PUNICODE_STRING, -}} -pub type PSEC_WINNT_CREDUI_CONTEXT = *mut SEC_WINNT_CREDUI_CONTEXT; -// GUID CREDUIWIN_STRUCTURE_TYPE_SSPIPFC -// GUID SSPIPFC_STRUCTURE_TYPE_CREDUI_CONTEXT -extern "system" { - pub fn SspiUnmarshalCredUIContext( - MarshaledCredUIContext: PUCHAR, - MarshaledCredUIContextLength: ULONG, - CredUIContext: *mut PSEC_WINNT_CREDUI_CONTEXT, - ) -> SECURITY_STATUS; - // pub fn SspiPrepareForCredRead(); - // pub fn SspiPrepareForCredWrite(); - // pub fn SspiEncryptAuthIdentity(); - // pub fn SspiEncryptAuthIdentityEx(); - // pub fn SspiDecryptAuthIdentity(); - // pub fn SspiDecryptAuthIdentityEx(); - // pub fn SspiIsAuthIdentityEncrypted(); - // pub fn SspiEncodeAuthIdentityAsStrings(); - // pub fn SspiValidateAuthIdentity(); - // pub fn SspiCopyAuthIdentity(); - // pub fn SspiFreeAuthIdentity(); - // pub fn SspiZeroAuthIdentity(); - // pub fn SspiLocalFree(); - // pub fn SspiEncodeStringsAsAuthIdentity(); - // pub fn SspiCompareAuthIdentities(); - // pub fn SspiMarshalAuthIdentity(); - // pub fn SspiUnmarshalAuthIdentity(); - pub fn SspiIsPromptingNeeded( - ErrorOrNtStatus: c_ulong, - ) -> BOOLEAN; - // pub fn SspiGetTargetHostName(); - // pub fn SspiExcludePackage(); - // pub fn AddSecurityPackageA(); - // pub fn AddSecurityPackageW(); - // pub fn DeleteSecurityPackageA(); - // pub fn DeleteSecurityPackageW(); -} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/stralign.rs b/vendor/registry-40351f815f426200/winapi/src/shared/stralign.rs deleted file mode 100644 index 2e2a703fe..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/stralign.rs +++ /dev/null @@ -1,40 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_int; -use um::winnt::{LPCUWSTR, PCUWSTR, PUWSTR, WCHAR}; -use vc::vcruntime::size_t; -extern "system" { - pub fn uaw_lstrcmpW( - String1: PCUWSTR, - String2: PCUWSTR, - ) -> c_int; - pub fn uaw_lstrcmpiW( - String1: PCUWSTR, - String2: PCUWSTR, - ) -> c_int; - pub fn uaw_lstrlenW( - String: LPCUWSTR, - ) -> c_int; - pub fn uaw_wcschr( - String: PCUWSTR, - Character: WCHAR, - ) -> PUWSTR; - pub fn uaw_wcscpy( - Destination: PUWSTR, - Source: PCUWSTR, - ) -> PUWSTR; - pub fn uaw_wcsicmp( - String1: PCUWSTR, - String2: PCUWSTR, - ) -> c_int; - pub fn uaw_wcslen( - String: PCUWSTR, - ) -> size_t; - pub fn uaw_wcsrchr( - String: PCUWSTR, - Character: WCHAR, - ) -> PUWSTR; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/transportsettingcommon.rs b/vendor/registry-40351f815f426200/winapi/src/shared/transportsettingcommon.rs deleted file mode 100644 index 2f5f6fb6c..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/transportsettingcommon.rs +++ /dev/null @@ -1,10 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::guiddef::GUID; -STRUCT!{struct TRANSPORT_SETTING_ID { - Guid: GUID, -}} -pub type PTRANSPORT_SETTING_ID = *mut TRANSPORT_SETTING_ID; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/tvout.rs b/vendor/registry-40351f815f426200/winapi/src/shared/tvout.rs deleted file mode 100644 index f691bdf32..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/tvout.rs +++ /dev/null @@ -1,72 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::guiddef::GUID; -use shared::minwindef::{UCHAR, ULONG}; -STRUCT!{struct VIDEOPARAMETERS { - Guid: GUID, - dwOffset: ULONG, - dwCommand: ULONG, - dwFlags: ULONG, - dwMode: ULONG, - dwTVStandard: ULONG, - dwAvailableModes: ULONG, - dwAvailableTVStandard: ULONG, - dwFlickerFilter: ULONG, - dwOverScanX: ULONG, - dwOverScanY: ULONG, - dwMaxUnscaledX: ULONG, - dwMaxUnscaledY: ULONG, - dwPositionX: ULONG, - dwPositionY: ULONG, - dwBrightness: ULONG, - dwContrast: ULONG, - dwCPType: ULONG, - dwCPCommand: ULONG, - dwCPStandard: ULONG, - dwCPKey: ULONG, - bCP_APSTriggerBits: ULONG, - bOEMCopyProtection: [UCHAR; 256], -}} -pub type PVIDEOPARAMETERS = *mut VIDEOPARAMETERS; -pub type LPVIDEOPARAMETERS = *mut VIDEOPARAMETERS; -pub const VP_COMMAND_GET: ULONG = 0x0001; -pub const VP_COMMAND_SET: ULONG = 0x0002; -pub const VP_FLAGS_TV_MODE: ULONG = 0x0001; -pub const VP_FLAGS_TV_STANDARD: ULONG = 0x0002; -pub const VP_FLAGS_FLICKER: ULONG = 0x0004; -pub const VP_FLAGS_OVERSCAN: ULONG = 0x0008; -pub const VP_FLAGS_MAX_UNSCALED: ULONG = 0x0010; -pub const VP_FLAGS_POSITION: ULONG = 0x0020; -pub const VP_FLAGS_BRIGHTNESS: ULONG = 0x0040; -pub const VP_FLAGS_CONTRAST: ULONG = 0x0080; -pub const VP_FLAGS_COPYPROTECT: ULONG = 0x0100; -pub const VP_MODE_WIN_GRAPHICS: ULONG = 0x0001; -pub const VP_MODE_TV_PLAYBACK: ULONG = 0x0002; -pub const VP_TV_STANDARD_NTSC_M: ULONG = 0x0001; -pub const VP_TV_STANDARD_NTSC_M_J: ULONG = 0x0002; -pub const VP_TV_STANDARD_PAL_B: ULONG = 0x0004; -pub const VP_TV_STANDARD_PAL_D: ULONG = 0x0008; -pub const VP_TV_STANDARD_PAL_H: ULONG = 0x0010; -pub const VP_TV_STANDARD_PAL_I: ULONG = 0x0020; -pub const VP_TV_STANDARD_PAL_M: ULONG = 0x0040; -pub const VP_TV_STANDARD_PAL_N: ULONG = 0x0080; -pub const VP_TV_STANDARD_SECAM_B: ULONG = 0x0100; -pub const VP_TV_STANDARD_SECAM_D: ULONG = 0x0200; -pub const VP_TV_STANDARD_SECAM_G: ULONG = 0x0400; -pub const VP_TV_STANDARD_SECAM_H: ULONG = 0x0800; -pub const VP_TV_STANDARD_SECAM_K: ULONG = 0x1000; -pub const VP_TV_STANDARD_SECAM_K1: ULONG = 0x2000; -pub const VP_TV_STANDARD_SECAM_L: ULONG = 0x4000; -pub const VP_TV_STANDARD_WIN_VGA: ULONG = 0x8000; -pub const VP_TV_STANDARD_NTSC_433: ULONG = 0x00010000; -pub const VP_TV_STANDARD_PAL_G: ULONG = 0x00020000; -pub const VP_TV_STANDARD_PAL_60: ULONG = 0x00040000; -pub const VP_TV_STANDARD_SECAM_L1: ULONG = 0x00080000; -pub const VP_CP_TYPE_APS_TRIGGER: ULONG = 0x0001; -pub const VP_CP_TYPE_MACROVISION: ULONG = 0x0002; -pub const VP_CP_CMD_ACTIVATE: ULONG = 0x0001; -pub const VP_CP_CMD_DEACTIVATE: ULONG = 0x0002; -pub const VP_CP_CMD_CHANGE: ULONG = 0x0004; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/usb.rs b/vendor/registry-40351f815f426200/winapi/src/shared/usb.rs deleted file mode 100644 index 7caae833c..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/usb.rs +++ /dev/null @@ -1,523 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! USB Definitions. -use shared::minwindef::{UCHAR, ULONG, USHORT}; -use shared::usbspec::{ - PUSB_CONFIGURATION_DESCRIPTOR, USB_DEVICE_DESCRIPTOR, USB_ENDPOINT_DIRECTION_MASK, -}; -use um::winnt::{LONG, PVOID, WCHAR}; -pub type PRIP = PVOID; -pub type PMDL = PVOID; -pub const USBDI_VERSION: ULONG = 0x00000600; -pub const USB_PORTATTR_NO_CONNECTOR: ULONG = 0x00000001; -pub const USB_PORTATTR_SHARED_USB2: ULONG = 0x00000002; -pub const USB_PORTATTR_MINI_CONNECTOR: ULONG = 0x00000004; -pub const USB_PORTATTR_OEM_CONNECTOR: ULONG = 0x00000008; -pub const USB_PORTATTR_OWNED_BY_CC: ULONG = 0x01000000; -pub const USB_PORTATTR_NO_OVERCURRENT_UI: ULONG = 0x02000000; -ENUM!{enum USB_CONTROLLER_FLAVOR { - USB_HcGeneric = 0, - OHCI_Generic = 100, - OHCI_Hydra, - OHCI_NEC, - UHCI_Generic = 200, - UHCI_Piix4 = 201, - UHCI_Piix3 = 202, - UHCI_Ich2 = 203, - UHCI_Reserved204 = 204, - UHCI_Ich1 = 205, - UHCI_Ich3m = 206, - UHCI_Ich4 = 207, - UHCI_Ich5 = 208, - UHCI_Ich6 = 209, - UHCI_Intel = 249, - UHCI_VIA = 250, - UHCI_VIA_x01 = 251, - UHCI_VIA_x02 = 252, - UHCI_VIA_x03 = 253, - UHCI_VIA_x04 = 254, - UHCI_VIA_x0E_FIFO = 264, - EHCI_Generic = 1000, - EHCI_NEC = 2000, - EHCI_Lucent = 3000, - EHCI_NVIDIA_Tegra2 = 4000, - EHCI_NVIDIA_Tegra3 = 4001, - EHCI_Intel_Medfield = 5001, -}} -pub const USB_DEFAULT_DEVICE_ADDRESS: UCHAR = 0; -pub const USB_DEFAULT_ENDPOINT_ADDRESS: UCHAR = 0; -pub const USB_DEFAULT_MAX_PACKET: USHORT = 64; -pub const URB_FUNCTION_SELECT_CONFIGURATION: USHORT = 0x0000; -pub const URB_FUNCTION_SELECT_INTERFACE: USHORT = 0x0001; -pub const URB_FUNCTION_ABORT_PIPE: USHORT = 0x0002; -pub const URB_FUNCTION_TAKE_FRAME_LENGTH_CONTROL: USHORT = 0x0003; -pub const URB_FUNCTION_RELEASE_FRAME_LENGTH_CONTROL: USHORT = 0x0004; -pub const URB_FUNCTION_GET_FRAME_LENGTH: USHORT = 0x0005; -pub const URB_FUNCTION_SET_FRAME_LENGTH: USHORT = 0x0006; -pub const URB_FUNCTION_GET_CURRENT_FRAME_NUMBER: USHORT = 0x0007; -pub const URB_FUNCTION_CONTROL_TRANSFER: USHORT = 0x0008; -pub const URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER: USHORT = 0x0009; -pub const URB_FUNCTION_ISOCH_TRANSFER: USHORT = 0x000A; -pub const URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE: USHORT = 0x000B; -pub const URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE: USHORT = 0x000C; -pub const URB_FUNCTION_SET_FEATURE_TO_DEVICE: USHORT = 0x000D; -pub const URB_FUNCTION_SET_FEATURE_TO_INTERFACE: USHORT = 0x000E; -pub const URB_FUNCTION_SET_FEATURE_TO_ENDPOINT: USHORT = 0x000F; -pub const URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE: USHORT = 0x0010; -pub const URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE: USHORT = 0x0011; -pub const URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT: USHORT = 0x0012; -pub const URB_FUNCTION_GET_STATUS_FROM_DEVICE: USHORT = 0x0013; -pub const URB_FUNCTION_GET_STATUS_FROM_INTERFACE: USHORT = 0x0014; -pub const URB_FUNCTION_GET_STATUS_FROM_ENDPOINT: USHORT = 0x0015; -pub const URB_FUNCTION_RESERVED_0X0016: USHORT = 0x0016; -pub const URB_FUNCTION_VENDOR_DEVICE: USHORT = 0x0017; -pub const URB_FUNCTION_VENDOR_INTERFACE: USHORT = 0x0018; -pub const URB_FUNCTION_VENDOR_ENDPOINT: USHORT = 0x0019; -pub const URB_FUNCTION_CLASS_DEVICE: USHORT = 0x001A; -pub const URB_FUNCTION_CLASS_INTERFACE: USHORT = 0x001B; -pub const URB_FUNCTION_CLASS_ENDPOINT: USHORT = 0x001C; -pub const URB_FUNCTION_RESERVE_0X001D: USHORT = 0x001D; -pub const URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL: USHORT = 0x001E; -pub const URB_FUNCTION_CLASS_OTHER: USHORT = 0x001F; -pub const URB_FUNCTION_VENDOR_OTHER: USHORT = 0x0020; -pub const URB_FUNCTION_GET_STATUS_FROM_OTHER: USHORT = 0x0021; -pub const URB_FUNCTION_CLEAR_FEATURE_TO_OTHER: USHORT = 0x0022; -pub const URB_FUNCTION_SET_FEATURE_TO_OTHER: USHORT = 0x0023; -pub const URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT: USHORT = 0x0024; -pub const URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT: USHORT = 0x0025; -pub const URB_FUNCTION_GET_CONFIGURATION: USHORT = 0x0026; -pub const URB_FUNCTION_GET_INTERFACE: USHORT = 0x0027; -pub const URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE: USHORT = 0x0028; -pub const URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE: USHORT = 0x0029; -pub const URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR: USHORT = 0x002A; -pub const URB_FUNCTION_SYNC_RESET_PIPE: USHORT = 0x0030; -pub const URB_FUNCTION_SYNC_CLEAR_STALL: USHORT = 0x0031; -pub const URB_FUNCTION_CONTROL_TRANSFER_EX: USHORT = 0x0032; -pub const URB_FUNCTION_RESERVE_0X0033: USHORT = 0x0033; -pub const URB_FUNCTION_RESERVE_0X0034: USHORT = 0x0034; -pub const URB_FUNCTION_OPEN_STATIC_STREAMS: USHORT = 0x0035; -pub const URB_FUNCTION_CLOSE_STATIC_STREAMS: USHORT = 0x0036; -pub const URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER_USING_CHAINED_MDL: USHORT = 0x0037; -pub const URB_FUNCTION_ISOCH_TRANSFER_USING_CHAINED_MDL: USHORT = 0x0038; -pub const URB_FUNCTION_RESERVE_0X002B: USHORT = 0x002B; -pub const URB_FUNCTION_RESERVE_0X002C: USHORT = 0x002C; -pub const URB_FUNCTION_RESERVE_0X002D: USHORT = 0x002D; -pub const URB_FUNCTION_RESERVE_0X002E: USHORT = 0x002E; -pub const URB_FUNCTION_RESERVE_0X002F: USHORT = 0x002F; -pub const URB_FUNCTION_RESET_PIPE: USHORT = URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL; -pub const USBD_SHORT_TRANSFER_OK: ULONG = 0x00000002; -pub const USBD_START_ISO_TRANSFER_ASAP: ULONG = 0x00000004; -pub const USBD_DEFAULT_PIPE_TRANSFER: ULONG = 0x00000008; -pub const USBD_TRANSFER_DIRECTION_OUT: ULONG = 0; -pub const USBD_TRANSFER_DIRECTION_IN: ULONG = 1; -pub const USBD_TRANSFER_DIRECTION: ULONG = USBD_TRANSFER_DIRECTION_IN; -#[inline] -pub fn USBD_TRANSFER_DIRECTION_FLAG(flags: ULONG) -> ULONG { - flags & USBD_TRANSFER_DIRECTION -} -pub const VALID_TRANSFER_FLAGS_MASK: ULONG = USBD_SHORT_TRANSFER_OK | USBD_TRANSFER_DIRECTION - | USBD_START_ISO_TRANSFER_ASAP | USBD_DEFAULT_PIPE_TRANSFER; -pub const USBD_ISO_START_FRAME_RANGE: ULONG = 1024; -pub type USBD_STATUS = LONG; -#[inline] -pub fn USBD_SUCCESS(Status: USBD_STATUS) -> bool { - Status >= 0 -} -#[inline] -pub fn USBD_PENDING(Status: ULONG) -> bool { - (Status >> 30) == 1 -} -pub const USBD_STATUS_SUCCESS: USBD_STATUS = 0x00000000; -pub const USBD_STATUS_PORT_OPERATION_PENDING: USBD_STATUS = 0x00000001; -pub const USBD_STATUS_PENDING: USBD_STATUS = 0x40000000; -pub const USBD_STATUS_CRC: USBD_STATUS = 0xC0000001; -pub const USBD_STATUS_BTSTUFF: USBD_STATUS = 0xC0000002; -pub const USBD_STATUS_DATA_TOGGLE_MISMATCH: USBD_STATUS = 0xC0000003; -pub const USBD_STATUS_STALL_PID: USBD_STATUS = 0xC0000004; -pub const USBD_STATUS_DEV_NOT_RESPONDING: USBD_STATUS = 0xC0000005; -pub const USBD_STATUS_PID_CHECK_FAILURE: USBD_STATUS = 0xC0000006; -pub const USBD_STATUS_UNEXPECTED_PID: USBD_STATUS = 0xC0000007; -pub const USBD_STATUS_DATA_OVERRUN: USBD_STATUS = 0xC0000008; -pub const USBD_STATUS_DATA_UNDERRUN: USBD_STATUS = 0xC0000009; -pub const USBD_STATUS_RESERVED1: USBD_STATUS = 0xC000000A; -pub const USBD_STATUS_RESERVED2: USBD_STATUS = 0xC000000B; -pub const USBD_STATUS_BUFFER_OVERRUN: USBD_STATUS = 0xC000000C; -pub const USBD_STATUS_BUFFER_UNDERRUN: USBD_STATUS = 0xC000000D; -pub const USBD_STATUS_NOT_ACCESSED: USBD_STATUS = 0xC000000F; -pub const USBD_STATUS_FIFO: USBD_STATUS = 0xC0000010; -pub const USBD_STATUS_XACT_ERROR: USBD_STATUS = 0xC0000011; -pub const USBD_STATUS_BABBLE_DETECTED: USBD_STATUS = 0xC0000012; -pub const USBD_STATUS_DATA_BUFFER_ERROR: USBD_STATUS = 0xC0000013; -pub const USBD_STATUS_NO_PING_RESPONSE: USBD_STATUS = 0xC0000014; -pub const USBD_STATUS_INVALID_STREAM_TYPE: USBD_STATUS = 0xC0000015; -pub const USBD_STATUS_INVALID_STREAM_ID: USBD_STATUS = 0xC0000016; -pub const USBD_STATUS_ENDPOINT_HALTED: USBD_STATUS = 0xC0000030; -pub const USBD_STATUS_INVALID_URB_FUNCTION: USBD_STATUS = 0x80000200; -pub const USBD_STATUS_INVALID_PARAMETER: USBD_STATUS = 0x80000300; -pub const USBD_STATUS_ERROR_BUSY: USBD_STATUS = 0x80000400; -pub const USBD_STATUS_INVALID_PIPE_HANDLE: USBD_STATUS = 0x80000600; -pub const USBD_STATUS_NO_BANDWIDTH: USBD_STATUS = 0x80000700; -pub const USBD_STATUS_INTERNAL_HC_ERROR: USBD_STATUS = 0x80000800; -pub const USBD_STATUS_ERROR_SHORT_TRANSFER: USBD_STATUS = 0x80000900; -pub const USBD_STATUS_BAD_START_FRAME: USBD_STATUS = 0xC0000A00; -pub const USBD_STATUS_ISOCH_REQUEST_FAILED: USBD_STATUS = 0xC0000B00; -pub const USBD_STATUS_FRAME_CONTROL_OWNED: USBD_STATUS = 0xC0000C00; -pub const USBD_STATUS_FRAME_CONTROL_NOT_OWNED: USBD_STATUS = 0xC0000D00; -pub const USBD_STATUS_NOT_SUPPORTED: USBD_STATUS = 0xC0000E00; -pub const USBD_STATUS_INAVLID_CONFIGURATION_DESCRIPTOR: USBD_STATUS = 0xC0000F00; -pub const USBD_STATUS_INVALID_CONFIGURATION_DESCRIPTOR: USBD_STATUS = 0xC0000F00; -pub const USBD_STATUS_INSUFFICIENT_RESOURCES: USBD_STATUS = 0xC0001000; -pub const USBD_STATUS_SET_CONFIG_FAILED: USBD_STATUS = 0xC0002000; -pub const USBD_STATUS_BUFFER_TOO_SMALL: USBD_STATUS = 0xC0003000; -pub const USBD_STATUS_INTERFACE_NOT_FOUND: USBD_STATUS = 0xC0004000; -pub const USBD_STATUS_INAVLID_PIPE_FLAGS: USBD_STATUS = 0xC0005000; -pub const USBD_STATUS_TIMEOUT: USBD_STATUS = 0xC0006000; -pub const USBD_STATUS_DEVICE_GONE: USBD_STATUS = 0xC0007000; -pub const USBD_STATUS_STATUS_NOT_MAPPED: USBD_STATUS = 0xC0008000; -pub const USBD_STATUS_HUB_INTERNAL_ERROR: USBD_STATUS = 0xC0009000; -pub const USBD_STATUS_CANCELED: USBD_STATUS = 0xC0010000; -pub const USBD_STATUS_ISO_NOT_ACCESSED_BY_HW: USBD_STATUS = 0xC0020000; -pub const USBD_STATUS_ISO_TD_ERROR: USBD_STATUS = 0xC0030000; -pub const USBD_STATUS_ISO_NA_LATE_USBPORT: USBD_STATUS = 0xC0040000; -pub const USBD_STATUS_ISO_NOT_ACCESSED_LATE: USBD_STATUS = 0xC0050000; -pub const USBD_STATUS_BAD_DESCRIPTOR: USBD_STATUS = 0xC0100000; -pub const USBD_STATUS_BAD_DESCRIPTOR_BLEN: USBD_STATUS = 0xC0100001; -pub const USBD_STATUS_BAD_DESCRIPTOR_TYPE: USBD_STATUS = 0xC0100002; -pub const USBD_STATUS_BAD_INTERFACE_DESCRIPTOR: USBD_STATUS = 0xC0100003; -pub const USBD_STATUS_BAD_ENDPOINT_DESCRIPTOR: USBD_STATUS = 0xC0100004; -pub const USBD_STATUS_BAD_INTERFACE_ASSOC_DESCRIPTOR: USBD_STATUS = 0xC0100005; -pub const USBD_STATUS_BAD_CONFIG_DESC_LENGTH: USBD_STATUS = 0xC0100006; -pub const USBD_STATUS_BAD_NUMBER_OF_INTERFACES: USBD_STATUS = 0xC0100007; -pub const USBD_STATUS_BAD_NUMBER_OF_ENDPOINTS: USBD_STATUS = 0xC0100008; -pub const USBD_STATUS_BAD_ENDPOINT_ADDRESS: USBD_STATUS = 0xC0100009; -pub type USBD_PIPE_HANDLE = PVOID; -pub type USBD_CONFIGURATION_HANDLE = PVOID; -pub type USBD_INTERFACE_HANDLE = PVOID; -pub const USBD_DEFAULT_MAXIMUM_TRANSFER_SIZE: ULONG = 0xFFFFFFFF; -STRUCT!{struct USBD_VERSION_INFORMATION { - USBDI_Version: ULONG, - Supported_USB_Version: ULONG, -}} -pub type PUSBD_VERSION_INFORMATION = *mut USBD_VERSION_INFORMATION; -ENUM!{enum USBD_PIPE_TYPE { - UsbdPipeTypeControl, - UsbdPipeTypeIsochronous, - UsbdPipeTypeBulk, - UsbdPipeTypeInterrupt, -}} -#[inline] -pub fn USBD_PIPE_DIRECTION_IN(pipeInformation: &USBD_PIPE_INFORMATION) -> UCHAR { - pipeInformation.EndpointAddress & USB_ENDPOINT_DIRECTION_MASK -} -STRUCT!{struct USBD_DEVICE_INFORMATION { - OffsetNext: ULONG, - UsbdDeviceHandle: PVOID, - DeviceDescriptor: USB_DEVICE_DESCRIPTOR, -}} -pub type PUSBD_DEVICE_INFORMATION = *mut USBD_DEVICE_INFORMATION; -STRUCT!{struct USBD_PIPE_INFORMATION { - MaximumPacketSize: USHORT, - EndpointAddress: UCHAR, - Interval: UCHAR, - PipeType: USBD_PIPE_TYPE, - PipeHandle: USBD_PIPE_HANDLE, - MaximumTransferSize: ULONG, - PipeFlags: ULONG, -}} -pub type PUSBD_PIPE_INFORMATION = *mut USBD_PIPE_INFORMATION; -pub const USBD_PF_CHANGE_MAX_PACKET: ULONG = 0x00000001; -pub const USBD_PF_SHORT_PACKET_OPT: ULONG = 0x00000002; -pub const USBD_PF_ENABLE_RT_THREAD_ACCESS: ULONG = 0x00000004; -pub const USBD_PF_MAP_ADD_TRANSFERS: ULONG = 0x00000008; -pub const USBD_PF_VALID_MASK: ULONG = USBD_PF_CHANGE_MAX_PACKET | USBD_PF_SHORT_PACKET_OPT - | USBD_PF_ENABLE_RT_THREAD_ACCESS | USBD_PF_MAP_ADD_TRANSFERS; -STRUCT!{struct USBD_INTERFACE_INFORMATION { - Length: USHORT, - InterfaceNumber: UCHAR, - AlternateSetting: UCHAR, - Class: UCHAR, - SubClass: UCHAR, - Protocol: UCHAR, - Reserved: UCHAR, - InterfaceHandle: USBD_INTERFACE_HANDLE, - NumberOfPipes: ULONG, - Pipes: [USBD_PIPE_INFORMATION; 1], -}} -pub type PUSBD_INTERFACE_INFORMATION = *mut USBD_INTERFACE_INFORMATION; -STRUCT!{struct URB_HCD_AREA { - Reserved8: [PVOID; 8], -}} -STRUCT!{struct URB_HEADER { - Length: USHORT, - Function: USHORT, - Status: USBD_STATUS, - UsbdDeviceHandle: PVOID, - UsbdFlags: ULONG, -}} -STRUCT!{struct URB_SELECT_INTERFACE { - Hdr: URB_HEADER, - ConfigurationHandle: USBD_CONFIGURATION_HANDLE, - Interface: USBD_INTERFACE_INFORMATION, -}} -STRUCT!{struct URB_SELECT_CONFIGURATION { - Hdr: URB_HEADER, - ConfigurationDescriptor: PUSB_CONFIGURATION_DESCRIPTOR, - ConfigurationHandle: USBD_CONFIGURATION_HANDLE, - Interface: USBD_INTERFACE_INFORMATION, -}} -STRUCT!{struct URB_PIPE_REQUEST { - Hdr: URB_HEADER, - PipeHandle: USBD_PIPE_HANDLE, - Reserved: ULONG, -}} -STRUCT!{struct URB_FRAME_LENGTH_CONTROL { - Hdr: URB_HEADER, -}} -STRUCT!{struct URB_GET_FRAME_LENGTH { - Hdr: URB_HEADER, - FrameLength: ULONG, - FrameNumber: ULONG, -}} -STRUCT!{struct URB_SET_FRAME_LENGTH { - Hdr: URB_HEADER, - FrameLengthDelta: LONG, -}} -STRUCT!{struct URB_GET_CURRENT_FRAME_NUMBER { - Hdr: URB_HEADER, - FrameNumber: ULONG, -}} -STRUCT!{struct URB_CONTROL_DESCRIPTOR_REQUEST { - Hdr: URB_HEADER, - Reserved: PVOID, - Reserved0: ULONG, - TransferBufferLength: ULONG, - TransferBuffer: PVOID, - TransferBufferMDL: PMDL, - UrbLink: *mut URB, - hca: URB_HCD_AREA, - Reserved1: USHORT, - Index: UCHAR, - DescriptorType: UCHAR, - LanguageId: USHORT, - Reserved2: USHORT, -}} -STRUCT!{struct URB_CONTROL_GET_STATUS_REQUEST { - Hdr: URB_HEADER, - Reserved: PVOID, - Reserved0: ULONG, - TransferBufferLength: ULONG, - TransferBuffer: PVOID, - TransferBufferMDL: PMDL, - UrbLink: *mut URB, - hca: URB_HCD_AREA, - Reserved1: [UCHAR; 4], - Index: USHORT, - Reserved2: USHORT, -}} -STRUCT!{struct URB_CONTROL_FEATURE_REQUEST { - Hdr: URB_HEADER, - Reserved: PVOID, - Reserved2: ULONG, - Reserved3: ULONG, - Reserved4: PVOID, - Reserved5: PMDL, - UrbLink: *mut URB, - hca: URB_HCD_AREA, - Reserved0: USHORT, - FeatureSelector: USHORT, - Index: USHORT, - Reserved1: USHORT, -}} -STRUCT!{struct URB_CONTROL_VENDOR_OR_CLASS_REQUEST { - Hdr: URB_HEADER, - Reserved: PVOID, - TransferFlags: ULONG, - TransferBufferLength: ULONG, - TransferBuffer: PVOID, - TransferBufferMDL: PMDL, - UrbLink: *mut URB, - hca: URB_HCD_AREA, - RequestTypeReservedBits: UCHAR, - Request: UCHAR, - Value: USHORT, - Index: USHORT, - Reserved1: USHORT, -}} -STRUCT!{struct URB_CONTROL_GET_INTERFACE_REQUEST { - Hdr: URB_HEADER, - Reserved: PVOID, - Reserved0: ULONG, - TransferBufferLength: ULONG, - TransferBuffer: PVOID, - TransferBufferMDL: PMDL, - UrbLink: *mut URB, - hca: URB_HCD_AREA, - Reserved1: [UCHAR; 4], - Interface: USHORT, - Reserved2: USHORT, -}} -STRUCT!{struct URB_CONTROL_GET_CONFIGURATION_REQUEST { - Hdr: URB_HEADER, - Reserved: PVOID, - Reserved0: ULONG, - TransferBufferLength: ULONG, - TransferBuffer: PVOID, - TransferBufferMDL: PMDL, - UrbLink: *mut URB, - hca: URB_HCD_AREA, - Reserved1: [UCHAR; 8], -}} -pub const OS_STRING_DESCRIPTOR_INDEX: UCHAR = 0xEE; -pub const MS_GENRE_DESCRIPTOR_INDEX: USHORT = 0x0001; -pub const MS_POWER_DESCRIPTOR_INDEX: USHORT = 0x0002; -pub const MS_OS_STRING_SIGNATURE: &'static str = "MSFT100"; -pub const MS_OS_FLAGS_CONTAINERID: UCHAR = 0x02; -UNION!{union OS_STRING_u { - [u8; 1], - bPad bPad_mut: UCHAR, - bFlags bFlags_mut: UCHAR, -}} -STRUCT!{struct OS_STRING { - bLength: UCHAR, - bDescriptorType: UCHAR, - MicrosoftString: [WCHAR; 7], - bVendorCode: UCHAR, - u: OS_STRING_u, -}} -pub type POS_STRING = *mut OS_STRING; -STRUCT!{struct URB_OS_FEATURE_DESCRIPTOR_REQUEST { - Hdr: URB_HEADER, - Reserved: PVOID, - Reserved0: ULONG, - TransferBufferLength: ULONG, - TransferBuffer: PVOID, - TransferBufferMDL: PMDL, - UrbLink: *mut URB, - hca: URB_HCD_AREA, - BitField: UCHAR, - Reserved2: UCHAR, - InterfaceNumber: UCHAR, - MS_PageIndex: UCHAR, - MS_FeatureDescriptorIndex: USHORT, - Reserved3: USHORT, -}} -BITFIELD!{URB_OS_FEATURE_DESCRIPTOR_REQUEST BitField: UCHAR [ - Recipient set_Recipient[0..5], - Reserved1 set_Reserved1[5..8], -]} -STRUCT!{struct URB_CONTROL_TRANSFER { - Hdr: URB_HEADER, - PipeHandle: USBD_PIPE_HANDLE, - TransferFlags: ULONG, - TransferBufferLength: ULONG, - TransferBuffer: PVOID, - TransferBufferMDL: PMDL, - UrbLink: *mut URB, - hca: URB_HCD_AREA, - SetupPacket: [UCHAR; 8], -}} -#[cfg(target_pointer_width = "64")] -STRUCT!{struct URB_CONTROL_TRANSFER_EX { - Hdr: URB_HEADER, - PipeHandle: USBD_PIPE_HANDLE, - TransferFlags: ULONG, - TransferBufferLength: ULONG, - TransferBuffer: PVOID, - TransferBufferMDL: PMDL, - Timeout: ULONG, - Pad: ULONG, - hca: URB_HCD_AREA, - SetupPacket: [UCHAR; 8], -}} -#[cfg(target_arch = "x86")] -STRUCT!{struct URB_CONTROL_TRANSFER_EX { - Hdr: URB_HEADER, - PipeHandle: USBD_PIPE_HANDLE, - TransferFlags: ULONG, - TransferBufferLength: ULONG, - TransferBuffer: PVOID, - TransferBufferMDL: PMDL, - Timeout: ULONG, - hca: URB_HCD_AREA, - SetupPacket: [UCHAR; 8], -}} -STRUCT!{struct URB_BULK_OR_INTERRUPT_TRANSFER { - Hdr: URB_HEADER, - PipeHandle: USBD_PIPE_HANDLE, - TransferFlags: ULONG, - TransferBufferLength: ULONG, - TransferBuffer: PVOID, - TransferBufferMDL: PMDL, - UrbLink: *mut URB, - hca: URB_HCD_AREA, -}} -STRUCT!{struct USBD_ISO_PACKET_DESCRIPTOR { - Offset: ULONG, - Length: ULONG, - Status: USBD_STATUS, -}} -pub type PUSBD_ISO_PACKET_DESCRIPTOR = *mut USBD_ISO_PACKET_DESCRIPTOR; -STRUCT!{struct URB_ISOCH_TRANSFER { - Hdr: URB_HEADER, - PipeHandle: USBD_PIPE_HANDLE, - TransferFlags: ULONG, - TransferBufferLength: ULONG, - TransferBuffer: PVOID, - TransferBufferMDL: PMDL, - UrbLink: *mut URB, - hca: URB_HCD_AREA, - StartFrame: ULONG, - NumberOfPackets: ULONG, - ErrorCount: ULONG, - IsoPacket: [USBD_ISO_PACKET_DESCRIPTOR; 1], -}} -pub const URB_OPEN_STATIC_STREAMS_VERSION_100: USHORT = 0x100; -STRUCT!{struct USBD_STREAM_INFORMATION { - PipeHandle: USBD_PIPE_HANDLE, - StreamID: ULONG, - MaximumTransferSize: ULONG, - PipeFlags: ULONG, -}} -pub type PUSBD_STREAM_INFORMATION = *mut USBD_STREAM_INFORMATION; -STRUCT!{struct URB_OPEN_STATIC_STREAMS { - Hdr: URB_HEADER, - PipeHandle: USBD_PIPE_HANDLE, - NumberOfStreams: ULONG, - StreamInfoVersion: USHORT, - StreamInfoSize: USHORT, - Streams: PUSBD_STREAM_INFORMATION, -}} -UNION!{union URB_u { - [u32; 24] [u64; 19], - UrbHeader UrbHeader_mut: URB_HEADER, - UrbSelectInterface UrbSelectInterface_mut: URB_SELECT_INTERFACE, - UrbSelectConfiguration UrbSelectConfiguration_mut: URB_SELECT_CONFIGURATION, - UrbPipeRequest UrbPipeRequest_mut: URB_PIPE_REQUEST, - UrbFrameLengthControl UrbFrameLengthControl_mut: URB_FRAME_LENGTH_CONTROL, - UrbGetFrameLength UrbGetFrameLength_mut: URB_GET_FRAME_LENGTH, - UrbSetFrameLength UrbSetFrameLength_mut: URB_SET_FRAME_LENGTH, - UrbGetCurrentFrameNumber UrbGetCurrentFrameNumber_mut: URB_GET_CURRENT_FRAME_NUMBER, - UrbControlTransfer UrbControlTransfer_mut: URB_CONTROL_TRANSFER, - UrbControlTransferEx UrbControlTransferEx_mut: URB_CONTROL_TRANSFER_EX, - UrbBulkOrInterruptTransfer UrbBulkOrInterruptTransfer_mut: URB_BULK_OR_INTERRUPT_TRANSFER, - UrbIsochronousTransfer UrbIsochronousTransfer_mut: URB_ISOCH_TRANSFER, - UrbControlDescriptorRequest UrbControlDescriptorRequest_mut: URB_CONTROL_DESCRIPTOR_REQUEST, - UrbControlGetStatusRequest UrbControlGetStatusRequest_mut: URB_CONTROL_GET_STATUS_REQUEST, - UrbControlFeatureRequest UrbControlFeatureRequest_mut: URB_CONTROL_FEATURE_REQUEST, - UrbControlVendorClassRequest UrbControlVendorClassRequest_mut: - URB_CONTROL_VENDOR_OR_CLASS_REQUEST, - UrbControlGetInterfaceRequest UrbControlGetInterfaceRequest_mut: - URB_CONTROL_GET_INTERFACE_REQUEST, - UrbControlGetConfigurationRequest UrbControlGetConfigurationRequest_mut: - URB_CONTROL_GET_CONFIGURATION_REQUEST, - UrbOSFeatureDescriptorRequest UrbOSFeatureDescriptorRequest_mut: - URB_OS_FEATURE_DESCRIPTOR_REQUEST, - UrbOpenStaticStreams UrbOpenStaticStreams_mut: URB_OPEN_STATIC_STREAMS, -}} -STRUCT!{struct URB { - u: URB_u, -}} -pub type PURB = *mut URB; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/usbiodef.rs b/vendor/registry-40351f815f426200/winapi/src/shared/usbiodef.rs deleted file mode 100644 index e9028c640..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/usbiodef.rs +++ /dev/null @@ -1,112 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -//! Common header file for all USB IOCTLs defined for -//! the core stack. We define them in this single header file -//! so that we can maintain backward compatibilty with older -//! versions of the stack. -use shared::guiddef::GUID; -use shared::minwindef::ULONG; -use um::winioctl::{FILE_ANY_ACCESS, FILE_DEVICE_UNKNOWN, METHOD_BUFFERED, METHOD_NEITHER}; -use um::winnt::PVOID; -pub const USB_SUBMIT_URB: ULONG = 0; -pub const USB_RESET_PORT: ULONG = 1; -pub const USB_GET_ROOTHUB_PDO: ULONG = 3; -pub const USB_GET_PORT_STATUS: ULONG = 4; -pub const USB_ENABLE_PORT: ULONG = 5; -pub const USB_GET_HUB_COUNT: ULONG = 6; -pub const USB_CYCLE_PORT: ULONG = 7; -pub const USB_GET_HUB_NAME: ULONG = 8; -pub const USB_IDLE_NOTIFICATION: ULONG = 9; -pub const USB_RECORD_FAILURE: ULONG = 10; -pub const USB_GET_BUS_INFO: ULONG = 264; -pub const USB_GET_CONTROLLER_NAME: ULONG = 265; -pub const USB_GET_BUSGUID_INFO: ULONG = 266; -pub const USB_GET_PARENT_HUB_INFO: ULONG = 267; -pub const USB_GET_DEVICE_HANDLE: ULONG = 268; -pub const USB_GET_DEVICE_HANDLE_EX: ULONG = 269; -pub const USB_GET_TT_DEVICE_HANDLE: ULONG = 270; -pub const USB_GET_TOPOLOGY_ADDRESS: ULONG = 271; -pub const USB_IDLE_NOTIFICATION_EX: ULONG = 272; -pub const USB_REQ_GLOBAL_SUSPEND: ULONG = 273; -pub const USB_REQ_GLOBAL_RESUME: ULONG = 274; -pub const USB_GET_HUB_CONFIG_INFO: ULONG = 275; -pub const USB_FAIL_GET_STATUS: ULONG = 280; -pub const USB_REGISTER_COMPOSITE_DEVICE: ULONG = 0; -pub const USB_UNREGISTER_COMPOSITE_DEVICE: ULONG = 1; -pub const USB_REQUEST_REMOTE_WAKE_NOTIFICATION: ULONG = 2; -pub const HCD_GET_STATS_1: ULONG = 255; -pub const HCD_DIAGNOSTIC_MODE_ON: ULONG = 256; -pub const HCD_DIAGNOSTIC_MODE_OFF: ULONG = 257; -pub const HCD_GET_ROOT_HUB_NAME: ULONG = 258; -pub const HCD_GET_DRIVERKEY_NAME: ULONG = 265; -pub const HCD_GET_STATS_2: ULONG = 266; -pub const HCD_DISABLE_PORT: ULONG = 268; -pub const HCD_ENABLE_PORT: ULONG = 269; -pub const HCD_USER_REQUEST: ULONG = 270; -pub const HCD_TRACE_READ_REQUEST: ULONG = 275; -pub const USB_GET_NODE_INFORMATION: ULONG = 258; -pub const USB_GET_NODE_CONNECTION_INFORMATION: ULONG = 259; -pub const USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION: ULONG = 260; -pub const USB_GET_NODE_CONNECTION_NAME: ULONG = 261; -pub const USB_DIAG_IGNORE_HUBS_ON: ULONG = 262; -pub const USB_DIAG_IGNORE_HUBS_OFF: ULONG = 263; -pub const USB_GET_NODE_CONNECTION_DRIVERKEY_NAME: ULONG = 264; -pub const USB_GET_HUB_CAPABILITIES: ULONG = 271; -pub const USB_GET_NODE_CONNECTION_ATTRIBUTES: ULONG = 272; -pub const USB_HUB_CYCLE_PORT: ULONG = 273; -pub const USB_GET_NODE_CONNECTION_INFORMATION_EX: ULONG = 274; -pub const USB_RESET_HUB: ULONG = 275; -pub const USB_GET_HUB_CAPABILITIES_EX: ULONG = 276; -pub const USB_GET_HUB_INFORMATION_EX: ULONG = 277; -pub const USB_GET_PORT_CONNECTOR_PROPERTIES: ULONG = 278; -pub const USB_GET_NODE_CONNECTION_INFORMATION_EX_V2: ULONG = 279; -DEFINE_GUID!{GUID_DEVINTERFACE_USB_HUB, - 0xf18a0e88, 0xc30c, 0x11d0, 0x88, 0x15, 0x00, 0xa0, 0xc9, 0x06, 0xbe, 0xd8} -DEFINE_GUID!{GUID_DEVINTERFACE_USB_DEVICE, - 0xA5DCBF10, 0x6530, 0x11D2, 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED} -DEFINE_GUID!{GUID_DEVINTERFACE_USB_HOST_CONTROLLER, - 0x3abf6f2d, 0x71c4, 0x462a, 0x8a, 0x92, 0x1e, 0x68, 0x61, 0xe6, 0xaf, 0x27} -DEFINE_GUID!{GUID_USB_WMI_STD_DATA, - 0x4E623B20, 0xCB14, 0x11D1, 0xB3, 0x31, 0x00, 0xA0, 0xC9, 0x59, 0xBB, 0xD2} -DEFINE_GUID!{GUID_USB_WMI_STD_NOTIFICATION, - 0x4E623B20, 0xCB14, 0x11D1, 0xB3, 0x31, 0x00, 0xA0, 0xC9, 0x59, 0xBB, 0xD2} -DEFINE_GUID!{GUID_USB_WMI_DEVICE_PERF_INFO, - 0x66c1aa3c, 0x499f, 0x49a0, 0xa9, 0xa5, 0x61, 0xe2, 0x35, 0x9f, 0x64, 0x7} -DEFINE_GUID!{GUID_USB_WMI_NODE_INFO, - 0x9c179357, 0xdc7a, 0x4f41, 0xb6, 0x6b, 0x32, 0x3b, 0x9d, 0xdc, 0xb5, 0xb1} -DEFINE_GUID!{GUID_USB_WMI_TRACING, - 0x3a61881b, 0xb4e6, 0x4bf9, 0xae, 0xf, 0x3c, 0xd8, 0xf3, 0x94, 0xe5, 0x2f} -DEFINE_GUID!{GUID_USB_TRANSFER_TRACING, - 0x681eb8aa, 0x403d, 0x452c, 0x9f, 0x8a, 0xf0, 0x61, 0x6f, 0xac, 0x95, 0x40} -DEFINE_GUID!{GUID_USB_PERFORMANCE_TRACING, - 0xd5de77a6, 0x6ae9, 0x425c, 0xb1, 0xe2, 0xf5, 0x61, 0x5f, 0xd3, 0x48, 0xa9} -DEFINE_GUID!{GUID_USB_WMI_SURPRISE_REMOVAL_NOTIFICATION, - 0x9bbbf831, 0xa2f2, 0x43b4, 0x96, 0xd1, 0x86, 0x94, 0x4b, 0x59, 0x14, 0xb3} -pub const GUID_CLASS_USBHUB: GUID = GUID_DEVINTERFACE_USB_HUB; -pub const GUID_CLASS_USB_DEVICE: GUID = GUID_DEVINTERFACE_USB_DEVICE; -pub const GUID_CLASS_USB_HOST_CONTROLLER: GUID = GUID_DEVINTERFACE_USB_HOST_CONTROLLER; -pub const FILE_DEVICE_USB: ULONG = FILE_DEVICE_UNKNOWN; -#[inline] -pub fn USB_CTL(id: ULONG) -> ULONG { - CTL_CODE!(FILE_DEVICE_USB, id, METHOD_BUFFERED, FILE_ANY_ACCESS) -} -#[inline] -pub fn USB_KERNEL_CTL(id: ULONG) -> ULONG { - CTL_CODE!(FILE_DEVICE_USB, id, METHOD_NEITHER, FILE_ANY_ACCESS) -} -#[inline] -pub fn USB_KERNEL_CTL_BUFFERED(id: ULONG) -> ULONG { - CTL_CODE!(FILE_DEVICE_USB, id, METHOD_BUFFERED, FILE_ANY_ACCESS) -} -// No calling convention was specified in the code -FN!{stdcall USB_IDLE_CALLBACK( - Context: PVOID, -) -> ()} -STRUCT!{struct USB_IDLE_CALLBACK_INFO { - IdleCallback: USB_IDLE_CALLBACK, - IdleContext: PVOID, -}} -pub type PUSB_IDLE_CALLBACK_INFO = *mut USB_IDLE_CALLBACK_INFO; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/usbspec.rs b/vendor/registry-40351f815f426200/winapi/src/shared/usbspec.rs deleted file mode 100644 index 5fae43efd..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/usbspec.rs +++ /dev/null @@ -1,860 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! USB Spec Definitions. -use shared::basetsd::ULONG64; -use shared::guiddef::GUID; -use shared::minwindef::{UCHAR, ULONG, USHORT}; -use um::winnt::WCHAR; -ENUM!{enum USB_DEVICE_SPEED { - UsbLowSpeed = 0, - UsbFullSpeed, - UsbHighSpeed, - UsbSuperSpeed, -}} -ENUM!{enum USB_DEVICE_TYPE { - Usb11Device = 0, - Usb20Device, -}} -STRUCT!{#[repr(packed)] struct BM_REQUEST_TYPE { - B: UCHAR, -}} -BITFIELD!{BM_REQUEST_TYPE B: UCHAR [ - Recipient set_Recipient[0..2], - Reserved set_Reserved[2..5], - Type set_Type[5..7], - Dir set_Dir[7..8], -]} -pub type PBM_REQUEST_TYPE = *mut BM_REQUEST_TYPE; -STRUCT!{#[repr(packed)] struct USB_DEFAULT_PIPE_SETUP_PACKET_wValue_s { - LowByte: UCHAR, - HiByte: UCHAR, -}} -UNION!{#[repr(packed)] union USB_DEFAULT_PIPE_SETUP_PACKET_wValue { - [u16; 1], - s s_mut: USB_DEFAULT_PIPE_SETUP_PACKET_wValue_s, - W W_mut: USHORT, -}} -STRUCT!{#[repr(packed)] struct USB_DEFAULT_PIPE_SETUP_PACKET_wIndex_s { - LowByte: UCHAR, - HiByte: UCHAR, -}} -UNION!{#[repr(packed)] union USB_DEFAULT_PIPE_SETUP_PACKET_wIndex { - [u16; 1], - s s_mut: USB_DEFAULT_PIPE_SETUP_PACKET_wIndex_s, - W W_mut: USHORT, -}} -STRUCT!{#[repr(packed)] struct USB_DEFAULT_PIPE_SETUP_PACKET { - bmRequestType: BM_REQUEST_TYPE, - bRequest: UCHAR, - wValue: USB_DEFAULT_PIPE_SETUP_PACKET_wValue, - wIndex: USB_DEFAULT_PIPE_SETUP_PACKET_wIndex, - wLength: USHORT, -}} -pub type PUSB_DEFAULT_PIPE_SETUP_PACKET = *mut USB_DEFAULT_PIPE_SETUP_PACKET; -pub const BMREQUEST_HOST_TO_DEVICE: UCHAR = 0; -pub const BMREQUEST_DEVICE_TO_HOST: UCHAR = 1; -pub const BMREQUEST_STANDARD: UCHAR = 0; -pub const BMREQUEST_CLASS: UCHAR = 1; -pub const BMREQUEST_VENDOR: UCHAR = 2; -pub const BMREQUEST_TO_DEVICE: UCHAR = 0; -pub const BMREQUEST_TO_INTERFACE: UCHAR = 1; -pub const BMREQUEST_TO_ENDPOINT: UCHAR = 2; -pub const BMREQUEST_TO_OTHER: UCHAR = 3; -#[inline] -pub fn USB_DESCRIPTOR_MAKE_TYPE_AND_INDEX(d: UCHAR, i: UCHAR) -> USHORT { - (d as USHORT) << 8 | (i as USHORT) -} -pub const USB_REQUEST_GET_STATUS: UCHAR = 0x00; -pub const USB_REQUEST_CLEAR_FEATURE: UCHAR = 0x01; -pub const USB_REQUEST_SET_FEATURE: UCHAR = 0x03; -pub const USB_REQUEST_SET_ADDRESS: UCHAR = 0x05; -pub const USB_REQUEST_GET_DESCRIPTOR: UCHAR = 0x06; -pub const USB_REQUEST_SET_DESCRIPTOR: UCHAR = 0x07; -pub const USB_REQUEST_GET_CONFIGURATION: UCHAR = 0x08; -pub const USB_REQUEST_SET_CONFIGURATION: UCHAR = 0x09; -pub const USB_REQUEST_GET_INTERFACE: UCHAR = 0x0A; -pub const USB_REQUEST_SET_INTERFACE: UCHAR = 0x0B; -pub const USB_REQUEST_SYNC_FRAME: UCHAR = 0x0C; -pub const USB_REQUEST_SET_SEL: UCHAR = 0x30; -pub const USB_REQUEST_ISOCH_DELAY: UCHAR = 0x31; -pub const USB_DEVICE_DESCRIPTOR_TYPE: UCHAR = 0x01; -pub const USB_CONFIGURATION_DESCRIPTOR_TYPE: UCHAR = 0x02; -pub const USB_STRING_DESCRIPTOR_TYPE: UCHAR = 0x03; -pub const USB_INTERFACE_DESCRIPTOR_TYPE: UCHAR = 0x04; -pub const USB_ENDPOINT_DESCRIPTOR_TYPE: UCHAR = 0x05; -pub const USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE: UCHAR = 0x06; -pub const USB_OTHER_SPEED_CONFIGURATION_DESCRIPTOR_TYPE: UCHAR = 0x07; -pub const USB_INTERFACE_POWER_DESCRIPTOR_TYPE: UCHAR = 0x08; -pub const USB_OTG_DESCRIPTOR_TYPE: UCHAR = 0x09; -pub const USB_DEBUG_DESCRIPTOR_TYPE: UCHAR = 0x0A; -pub const USB_INTERFACE_ASSOCIATION_DESCRIPTOR_TYPE: UCHAR = 0x0B; -pub const USB_BOS_DESCRIPTOR_TYPE: UCHAR = 0x0F; -pub const USB_DEVICE_CAPABILITY_DESCRIPTOR_TYPE: UCHAR = 0x10; -pub const USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_TYPE: UCHAR = 0x30; -pub const USB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR_TYPE: UCHAR = 0x31; -pub const USB_RESERVED_DESCRIPTOR_TYPE: UCHAR = 0x06; -pub const USB_CONFIG_POWER_DESCRIPTOR_TYPE: UCHAR = 0x07; -pub const USB_FEATURE_ENDPOINT_STALL: UCHAR = 0x00; -pub const USB_FEATURE_REMOTE_WAKEUP: UCHAR = 0x01; -pub const USB_FEATURE_TEST_MODE: UCHAR = 0x02; -pub const USB_FEATURE_FUNCTION_SUSPEND: UCHAR = 0x00; -pub const USB_FEATURE_U1_ENABLE: UCHAR = 0x30; -pub const USB_FEATURE_U2_ENABLE: UCHAR = 0x31; -pub const USB_FEATURE_LTM_ENABLE: UCHAR = 0x32; -pub const USB_FEATURE_LDM_ENABLE: UCHAR = 0x35; -pub const USB_FEATURE_BATTERY_WAKE_MASK: UCHAR = 0x28; -pub const USB_FEATURE_OS_IS_PD_AWARE: UCHAR = 0x29; -pub const USB_FEATURE_POLICY_MODE: UCHAR = 0x2A; -pub const USB_FEATURE_CHARGING_POLICY: UCHAR = 0x36; -pub const USB_CHARGING_POLICY_DEFAULT: UCHAR = 0x00; -pub const USB_CHARGING_POLICY_ICCHPF: UCHAR = 0x01; -pub const USB_CHARGING_POLICY_ICCLPF: UCHAR = 0x02; -pub const USB_CHARGING_POLICY_NO_POWER: UCHAR = 0x03; -pub const USB_STATUS_PORT_STATUS: UCHAR = 0x00; -pub const USB_STATUS_PD_STATUS: UCHAR = 0x01; -pub const USB_STATUS_EXT_PORT_STATUS: UCHAR = 0x02; -pub const USB_GETSTATUS_SELF_POWERED: UCHAR = 0x01; -pub const USB_GETSTATUS_REMOTE_WAKEUP_ENABLED: UCHAR = 0x02; -pub const USB_GETSTATUS_U1_ENABLE: UCHAR = 0x04; -pub const USB_GETSTATUS_U2_ENABLE: UCHAR = 0x08; -pub const USB_GETSTATUS_LTM_ENABLE: UCHAR = 0x10; -STRUCT!{#[repr(packed)] struct USB_DEVICE_STATUS { - AsUshort16: USHORT, -}} -BITFIELD!{USB_DEVICE_STATUS AsUshort16: USHORT [ - SelfPowered set_SelfPowered[0..1], - RemoteWakeup set_RemoteWakeup[1..2], - U1Enable set_U1Enable[2..3], - U2Enable set_U2Enable[3..4], - LtmEnable set_LtmEnable[4..5], - Reserved set_Reserved[5..16], -]} -pub type PUSB_DEVICE_STATUS = *mut USB_DEVICE_STATUS; -STRUCT!{#[repr(packed)] struct USB_INTERFACE_STATUS { - AsUshort16: USHORT, -}} -BITFIELD!{USB_INTERFACE_STATUS AsUshort16: USHORT [ - RemoteWakeupCapable set_RemoteWakeupCapable[0..1], - RemoteWakeupEnabled set_RemoteWakeupEnabled[1..2], - Reserved set_Reserved[2..16], -]} -pub type PUSB_INTERFACE_STATUS = *mut USB_INTERFACE_STATUS; -STRUCT!{#[repr(packed)] struct USB_ENDPOINT_STATUS { - AsUshort16: USHORT, -}} -BITFIELD!{USB_ENDPOINT_STATUS AsUshort16: USHORT [ - Halt set_Halt[0..1], - Reserved set_Reserved[1..16], -]} -pub type PUSB_ENDPOINT_STATUS = *mut USB_ENDPOINT_STATUS; -STRUCT!{#[repr(packed)] struct USB_COMMON_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, -}} -pub type PUSB_COMMON_DESCRIPTOR = *mut USB_COMMON_DESCRIPTOR; -STRUCT!{#[repr(packed)] struct USB_DEVICE_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - bcdUSB: USHORT, - bDeviceClass: UCHAR, - bDeviceSubClass: UCHAR, - bDeviceProtocol: UCHAR, - bMaxPacketSize0: UCHAR, - idVendor: USHORT, - idProduct: USHORT, - bcdDevice: USHORT, - iManufacturer: UCHAR, - iProduct: UCHAR, - iSerialNumber: UCHAR, - bNumConfigurations: UCHAR, -}} -pub type PUSB_DEVICE_DESCRIPTOR = *mut USB_DEVICE_DESCRIPTOR; -pub const USB_DEVICE_CLASS_RESERVED: UCHAR = 0x00; -pub const USB_DEVICE_CLASS_AUDIO: UCHAR = 0x01; -pub const USB_DEVICE_CLASS_COMMUNICATIONS: UCHAR = 0x02; -pub const USB_DEVICE_CLASS_HUMAN_INTERFACE: UCHAR = 0x03; -pub const USB_DEVICE_CLASS_MONITOR: UCHAR = 0x04; -pub const USB_DEVICE_CLASS_PHYSICAL_INTERFACE: UCHAR = 0x05; -pub const USB_DEVICE_CLASS_POWER: UCHAR = 0x06; -pub const USB_DEVICE_CLASS_IMAGE: UCHAR = 0x06; -pub const USB_DEVICE_CLASS_PRINTER: UCHAR = 0x07; -pub const USB_DEVICE_CLASS_STORAGE: UCHAR = 0x08; -pub const USB_DEVICE_CLASS_HUB: UCHAR = 0x09; -pub const USB_DEVICE_CLASS_CDC_DATA: UCHAR = 0x0A; -pub const USB_DEVICE_CLASS_SMART_CARD: UCHAR = 0x0B; -pub const USB_DEVICE_CLASS_CONTENT_SECURITY: UCHAR = 0x0D; -pub const USB_DEVICE_CLASS_VIDEO: UCHAR = 0x0E; -pub const USB_DEVICE_CLASS_PERSONAL_HEALTHCARE: UCHAR = 0x0F; -pub const USB_DEVICE_CLASS_AUDIO_VIDEO: UCHAR = 0x10; -pub const USB_DEVICE_CLASS_BILLBOARD: UCHAR = 0x11; -pub const USB_DEVICE_CLASS_DIAGNOSTIC_DEVICE: UCHAR = 0xDC; -pub const USB_DEVICE_CLASS_WIRELESS_CONTROLLER: UCHAR = 0xE0; -pub const USB_DEVICE_CLASS_MISCELLANEOUS: UCHAR = 0xEF; -pub const USB_DEVICE_CLASS_APPLICATION_SPECIFIC: UCHAR = 0xFE; -pub const USB_DEVICE_CLASS_VENDOR_SPECIFIC: UCHAR = 0xFF; -STRUCT!{#[repr(packed)] struct USB_DEVICE_QUALIFIER_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - bcdUSB: USHORT, - bDeviceClass: UCHAR, - bDeviceSubClass: UCHAR, - bDeviceProtocol: UCHAR, - bMaxPacketSize0: UCHAR, - bNumConfigurations: UCHAR, - bReserved: UCHAR, -}} -pub type PUSB_DEVICE_QUALIFIER_DESCRIPTOR = *mut USB_DEVICE_QUALIFIER_DESCRIPTOR; -STRUCT!{#[repr(packed)] struct USB_BOS_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - wTotalLength: USHORT, - bNumDeviceCaps: UCHAR, -}} -pub type PUSB_BOS_DESCRIPTOR = *mut USB_BOS_DESCRIPTOR; -pub const USB_DEVICE_CAPABILITY_WIRELESS_USB: UCHAR = 0x01; -pub const USB_DEVICE_CAPABILITY_USB20_EXTENSION: UCHAR = 0x02; -pub const USB_DEVICE_CAPABILITY_SUPERSPEED_USB: UCHAR = 0x03; -pub const USB_DEVICE_CAPABILITY_CONTAINER_ID: UCHAR = 0x04; -pub const USB_DEVICE_CAPABILITY_PLATFORM: UCHAR = 0x05; -pub const USB_DEVICE_CAPABILITY_POWER_DELIVERY: UCHAR = 0x06; -pub const USB_DEVICE_CAPABILITY_BATTERY_INFO: UCHAR = 0x07; -pub const USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT: UCHAR = 0x08; -pub const USB_DEVICE_CAPABILITY_PD_PROVIDER_PORT: UCHAR = 0x09; -pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB: UCHAR = 0x0A; -pub const USB_DEVICE_CAPABILITY_PRECISION_TIME_MEASUREMENT: UCHAR = 0x0B; -pub const USB_DEVICE_CAPABILITY_BILLBOARD: UCHAR = 0x0D; -pub const USB_DEVICE_CAPABILITY_CONFIGURATION_SUMMARY: UCHAR = 0x10; -STRUCT!{#[repr(packed)] struct USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR_bmAttributes { - AsUlong: ULONG, -}} -BITFIELD!{USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR_bmAttributes AsUlong: ULONG [ - Reserved set_Reserved[0..1], - LPMCapable set_LPMCapable[1..2], - BESLAndAlternateHIRDSupported set_BESLAndAlternateHIRDSupported[2..3], - BaselineBESLValid set_BaselineBESLValid[3..4], - DeepBESLValid set_DeepBESLValid[4..5], - Reserved1 set_Reserved1[5..8], - BaselineBESL set_BaselineBESL[8..12], - DeepBESL set_DeepBESL[12..16], - Reserved2 set_Reserved2[16..32], -]} -STRUCT!{#[repr(packed)] struct USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - bDevCapabilityType: UCHAR, - bmAttributes: USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR_bmAttributes, -}} -pub type PUSB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR - = *mut USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR; -pub const USB_DEVICE_CAPABILITY_USB20_EXTENSION_BMATTRIBUTES_RESERVED_MASK: ULONG = 0xFFFF00E1; -STRUCT!{#[repr(packed)] struct USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR_bmAttributes { - AsUlong: ULONG, -}} -BITFIELD!{USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR_bmAttributes AsUlong: ULONG [ - Reserved set_Reserved[0..1], - BatteryCharging set_BatteryCharging[1..2], - USBPowerDelivery set_USBPowerDelivery[2..3], - Provider set_Provider[3..4], - Consumer set_Consumer[4..5], - ChargingPolicy set_ChargingPolicy[5..6], - TypeCCurrent set_TypeCCurrent[6..7], - Reserved2 set_Reserved2[7..8], - ACSupply set_ACSupply[8..9], - Battery set_Battery[9..10], - Other set_Other[10..11], - NumBatteries set_NumBatteries[11..14], - UsesVbus set_UsesVbus[14..15], - Reserved3 set_Reserved3[15..32], -]} -STRUCT!{#[repr(packed)] struct USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - bDevCapabilityType: UCHAR, - bReserved: UCHAR, - bmAttributes: USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR_bmAttributes, - bmProviderPorts: USHORT, - bmConsumerPorts: USHORT, - bcdBCVersion: USHORT, - bcdPDVersion: USHORT, - bcdUSBTypeCVersion: USHORT, -}} -pub type PUSB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR - = *mut USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR; -STRUCT!{#[repr(packed)] struct USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR_bmCapabilities { - AsUshort: USHORT, -}} -BITFIELD!{USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR_bmCapabilities AsUshort: USHORT [ - BatteryCharging set_BatteryCharging[0..1], - USBPowerDelivery set_USBPowerDelivery[1..2], - USBTypeCCurrent set_USBTypeCCurrent[2..3], - Reserved set_Reserved[3..16], -]} -STRUCT!{#[repr(packed)] struct USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - bDevCapabilityType: UCHAR, - bReserved: UCHAR, - bmCapabilities: USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR_bmCapabilities, - wMinVoltage: USHORT, - wMaxVoltage: USHORT, - wReserved: USHORT, - dwMaxOperatingPower: ULONG, - dwMaxPeakPower: ULONG, - dwMaxPeakPowerTime: ULONG, -}} -pub type PUSB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR - = *mut USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR; -STRUCT!{#[repr(packed)] struct USB_DEVICE_CAPABILITY_SUPERSPEED_USB_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - bDevCapabilityType: UCHAR, - bmAttributes: UCHAR, - wSpeedsSupported: USHORT, - bFunctionalitySupport: UCHAR, - bU1DevExitLat: UCHAR, - wU2DevExitLat: USHORT, -}} -pub type PUSB_DEVICE_CAPABILITY_SUPERSPEED_USB_DESCRIPTOR - = *mut USB_DEVICE_CAPABILITY_SUPERSPEED_USB_DESCRIPTOR; -pub const USB_DEVICE_CAPABILITY_SUPERSPEED_BMATTRIBUTES_RESERVED_MASK: UCHAR = 0xFD; -pub const USB_DEVICE_CAPABILITY_SUPERSPEED_BMATTRIBUTES_LTM_CAPABLE: UCHAR = 0x02; -pub const USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_RESERVED_MASK: USHORT = 0xFFF0; -pub const USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_LOW: USHORT = 0x0001; -pub const USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_FULL: USHORT = 0x0002; -pub const USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_HIGH: USHORT = 0x0004; -pub const USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_SUPER: USHORT = 0x0008; -pub const USB_DEVICE_CAPABILITY_SUPERSPEED_U1_DEVICE_EXIT_MAX_VALUE: UCHAR = 0x0A; -pub const USB_DEVICE_CAPABILITY_SUPERSPEED_U2_DEVICE_EXIT_MAX_VALUE: USHORT = 0x07FF; -pub const USB_DEVICE_CAPABILITY_MAX_U1_LATENCY: UCHAR = 0x0A; -pub const USB_DEVICE_CAPABILITY_MAX_U2_LATENCY: USHORT = 0x07FF; -pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_LSE_BPS: ULONG = 0; -pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_LSE_KBPS: ULONG = 1; -pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_LSE_MBPS: ULONG = 2; -pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_LSE_GBPS: ULONG = 3; -pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_MODE_SYMMETRIC: ULONG = 0; -pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_MODE_ASYMMETRIC: ULONG = 1; -pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_DIR_RX: ULONG = 0; -pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_DIR_TX: ULONG = 1; -pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_PROTOCOL_SS: ULONG = 0; -pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_PROTOCOL_SSP: ULONG = 1; -STRUCT!{#[repr(packed)] struct USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED { - AsUlong32: ULONG, -}} -BITFIELD!{USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED AsUlong32: ULONG [ - SublinkSpeedAttrID set_SublinkSpeedAttrID[0..4], - LaneSpeedExponent set_LaneSpeedExponent[4..6], - SublinkTypeMode set_SublinkTypeMode[6..7], - SublinkTypeDir set_SublinkTypeDir[7..8], - Reserved set_Reserved[8..14], - LinkProtocol set_LinkProtocol[14..16], - LaneSpeedMantissa set_LaneSpeedMantissa[16..32], -]} -STRUCT!{#[repr(packed)] struct USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_bmAttributes { - AsUlong32: ULONG, -}} -BITFIELD!{USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_bmAttributes AsUlong32: ULONG [ - SublinkSpeedAttrCount set_SublinkSpeedAttrCount[0..5], - SublinkSpeedIDCount set_SublinkSpeedIDCount[5..9], - Reserved set_Reserved[9..32], -]} -STRUCT!{#[repr(packed)] - struct USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_wFunctionalitySupport { - AsUshort: USHORT, -}} -BITFIELD!{ - USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_wFunctionalitySupport AsUshort: USHORT [ - SublinkSpeedAttrID set_SublinkSpeedAttrID[0..4], - Reserved set_Reserved[4..8], - MinRxLaneCount set_MinRxLaneCount[8..12], - MinTxLaneCount set_MinTxLaneCount[12..16], -]} -STRUCT!{#[repr(packed)] struct USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - bDevCapabilityType: UCHAR, - bReserved: UCHAR, - bmAttributes: USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_bmAttributes, - wFunctionalitySupport: - USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_wFunctionalitySupport, - wReserved: USHORT, - bmSublinkSpeedAttr: [USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED; 1], -}} -pub type PUSB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR - = *mut USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR; -STRUCT!{#[repr(packed)] struct USB_DEVICE_CAPABILITY_CONTAINER_ID_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - bDevCapabilityType: UCHAR, - bReserved: UCHAR, - ContainerID: [UCHAR; 16], -}} -pub type PUSB_DEVICE_CAPABILITY_CONTAINER_ID_DESCRIPTOR - = *mut USB_DEVICE_CAPABILITY_CONTAINER_ID_DESCRIPTOR; -STRUCT!{#[repr(packed)] struct USB_DEVICE_CAPABILITY_CONFIGURATION_SUMMARY_DESCRIPTOR_Function { - bClass: UCHAR, - bSubClass: UCHAR, - bProtocol: UCHAR, -}} -STRUCT!{#[repr(packed)] struct USB_DEVICE_CAPABILITY_CONFIGURATION_SUMMARY_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - bDevCapabilityType: UCHAR, - bcdVersion: USHORT, - bConfigurationValue: UCHAR, - bMaxPower: UCHAR, - bNumFunctions: UCHAR, - Function: [USB_DEVICE_CAPABILITY_CONFIGURATION_SUMMARY_DESCRIPTOR_Function; 1], -}} -pub type PUSB_DEVICE_CAPABILITY_CONFIGURATION_SUMMARY_DESCRIPTOR - = *mut USB_DEVICE_CAPABILITY_CONFIGURATION_SUMMARY_DESCRIPTOR; -STRUCT!{#[repr(packed)] struct USB_DEVICE_CAPABILITY_PLATFORM_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - bDevCapabilityType: UCHAR, - bReserved: UCHAR, - PlatformCapabilityUuid: GUID, - CapabililityData: [UCHAR; 1], -}} -pub type PUSB_DEVICE_CAPABILITY_PLATFORM_DESCRIPTOR - = *mut USB_DEVICE_CAPABILITY_PLATFORM_DESCRIPTOR; -STRUCT!{#[repr(packed)] struct USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_VconnPower { - AsUshort: USHORT, -}} -BITFIELD!{USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_VconnPower AsUshort: USHORT [ - VConnPowerNeededForFullFunctionality set_VConnPowerNeededForFullFunctionality[0..3], - Reserved set_Reserved[3..15], - NoVconnPowerRequired set_NoVconnPowerRequired[15..16], -]} -STRUCT!{#[repr(packed)] struct USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_AlternateMode { - wSVID: USHORT, - bAlternateMode: UCHAR, - iAlternateModeSetting: UCHAR, -}} -STRUCT!{#[repr(packed)] struct USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - bDevCapabilityType: UCHAR, - iAddtionalInfoURL: UCHAR, - bNumberOfAlternateModes: UCHAR, - bPreferredAlternateMode: UCHAR, - VconnPower: USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_VconnPower, - bmConfigured: [UCHAR; 32], - bReserved: ULONG, - AlternateMode: [USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_AlternateMode; 1], -}} -pub type PUSB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR - = *mut USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR; -DEFINE_GUID!{GUID_USB_MSOS20_PLATFORM_CAPABILITY_ID, - 0xd8dd60df, 0x4589, 0x4cc7, 0x9c, 0xd2, 0x65, 0x9d, 0x9e, 0x64, 0x8a, 0x9f} -STRUCT!{#[repr(packed)] struct USB_DEVICE_CAPABILITY_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - bDevCapabilityType: UCHAR, -}} -pub type PUSB_DEVICE_CAPABILITY_DESCRIPTOR = *mut USB_DEVICE_CAPABILITY_DESCRIPTOR; -STRUCT!{#[repr(packed)] struct USB_CONFIGURATION_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - wTotalLength: USHORT, - bNumInterfaces: UCHAR, - bConfigurationValue: UCHAR, - iConfiguration: UCHAR, - bmAttributes: UCHAR, - MaxPower: UCHAR, -}} -pub type PUSB_CONFIGURATION_DESCRIPTOR = *mut USB_CONFIGURATION_DESCRIPTOR; -pub const USB_CONFIG_POWERED_MASK: UCHAR = 0xC0; -pub const USB_CONFIG_BUS_POWERED: UCHAR = 0x80; -pub const USB_CONFIG_SELF_POWERED: UCHAR = 0x40; -pub const USB_CONFIG_REMOTE_WAKEUP: UCHAR = 0x20; -pub const USB_CONFIG_RESERVED: UCHAR = 0x1F; -STRUCT!{#[repr(packed)] struct USB_INTERFACE_ASSOCIATION_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - bFirstInterface: UCHAR, - bInterfaceCount: UCHAR, - bFunctionClass: UCHAR, - bFunctionSubClass: UCHAR, - bFunctionProtocol: UCHAR, - iFunction: UCHAR, -}} -pub type PUSB_INTERFACE_ASSOCIATION_DESCRIPTOR = *mut USB_INTERFACE_ASSOCIATION_DESCRIPTOR; -STRUCT!{#[repr(packed)] struct USB_INTERFACE_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - bInterfaceNumber: UCHAR, - bAlternateSetting: UCHAR, - bNumEndpoints: UCHAR, - bInterfaceClass: UCHAR, - bInterfaceSubClass: UCHAR, - bInterfaceProtocol: UCHAR, - iInterface: UCHAR, -}} -pub type PUSB_INTERFACE_DESCRIPTOR = *mut USB_INTERFACE_DESCRIPTOR; -STRUCT!{#[repr(packed)] struct USB_ENDPOINT_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - bEndpointAddress: UCHAR, - bmAttributes: UCHAR, - wMaxPacketSize: USHORT, - bInterval: UCHAR, -}} -pub type PUSB_ENDPOINT_DESCRIPTOR = *mut USB_ENDPOINT_DESCRIPTOR; -pub const USB_ENDPOINT_DIRECTION_MASK: UCHAR = 0x80; -#[inline] -pub fn USB_ENDPOINT_DIRECTION_OUT(addr: UCHAR) -> UCHAR { - !(addr & USB_ENDPOINT_DIRECTION_MASK) -} -#[inline] -pub fn USB_ENDPOINT_DIRECTION_IN(addr: UCHAR) -> UCHAR { - addr & USB_ENDPOINT_DIRECTION_MASK -} -pub const USB_ENDPOINT_ADDRESS_MASK: UCHAR = 0x0F; -pub const USB_ENDPOINT_TYPE_MASK: UCHAR = 0x03; -pub const USB_ENDPOINT_TYPE_CONTROL: UCHAR = 0x00; -pub const USB_ENDPOINT_TYPE_ISOCHRONOUS: UCHAR = 0x01; -pub const USB_ENDPOINT_TYPE_BULK: UCHAR = 0x02; -pub const USB_ENDPOINT_TYPE_INTERRUPT: UCHAR = 0x03; -pub const USB_ENDPOINT_TYPE_BULK_RESERVED_MASK: UCHAR = 0xFC; -pub const USB_ENDPOINT_TYPE_CONTROL_RESERVED_MASK: UCHAR = 0xFC; -pub const USB_20_ENDPOINT_TYPE_INTERRUPT_RESERVED_MASK: UCHAR = 0xFC; -pub const USB_30_ENDPOINT_TYPE_INTERRUPT_RESERVED_MASK: UCHAR = 0xCC; -pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_RESERVED_MASK: UCHAR = 0xC0; -pub const USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_MASK: UCHAR = 0x30; -pub const USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_PERIODIC: UCHAR = 0x00; -pub const USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_NOTIFICATION: UCHAR = 0x10; -pub const USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_RESERVED10: UCHAR = 0x20; -pub const USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_RESERVED11: UCHAR = 0x30; -#[inline] -pub fn USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE(bmAttr: UCHAR) -> UCHAR { - bmAttr & USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_MASK -} -pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_MASK: UCHAR = 0x0C; -pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_NO_SYNCHRONIZATION: UCHAR = 0x00; -pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_ASYNCHRONOUS: UCHAR = 0x04; -pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_ADAPTIVE: UCHAR = 0x08; -pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_SYNCHRONOUS: UCHAR = 0x0C; -#[inline] -pub fn USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION(bmAttr: UCHAR) -> UCHAR { - bmAttr & USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_MASK -} -pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_MASK: UCHAR = 0x30; -pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_DATA_ENDOINT: UCHAR = 0x00; -pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_FEEDBACK_ENDPOINT: UCHAR = 0x10; -pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_IMPLICIT_FEEDBACK_DATA_ENDPOINT: UCHAR = 0x20; -pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_RESERVED: UCHAR = 0x30; -#[inline] -pub fn USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE(bmAttr: UCHAR) -> UCHAR { - bmAttr & USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_MASK -} -STRUCT!{#[repr(packed)] struct USB_HIGH_SPEED_MAXPACKET { - us: USHORT, -}} -BITFIELD!{USB_HIGH_SPEED_MAXPACKET us: USHORT [ - MaxPacket set_MaxPacket[0..11], - HSmux set_HSmux[11..13], - Reserved set_Reserved[13..16], -]} -pub type PUSB_HIGH_SPEED_MAXPACKET = *mut USB_HIGH_SPEED_MAXPACKET; -pub const USB_ENDPOINT_SUPERSPEED_BULK_MAX_PACKET_SIZE: USHORT = 1024; -pub const USB_ENDPOINT_SUPERSPEED_CONTROL_MAX_PACKET_SIZE: USHORT = 512; -pub const USB_ENDPOINT_SUPERSPEED_ISO_MAX_PACKET_SIZE: USHORT = 1024; -pub const USB_ENDPOINT_SUPERSPEED_INTERRUPT_MAX_PACKET_SIZE: USHORT = 1024; -STRUCT!{#[repr(packed)] struct USB_STRING_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - bString: [WCHAR; 1], -}} -pub type PUSB_STRING_DESCRIPTOR = *mut USB_STRING_DESCRIPTOR; -pub const MAXIMUM_USB_STRING_LENGTH: UCHAR = 255; -STRUCT!{#[repr(packed)] struct USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_bmAttributes_Bulk { - BitField: UCHAR, -}} -BITFIELD!{USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_bmAttributes_Bulk BitField: UCHAR [ - MaxStreams set_MaxStreams[0..5], - Reserved1 set_Reserved1[5..8], -]} -STRUCT!{#[repr(packed)] - struct USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_bmAttributes_Isochronous { - BitField: UCHAR, -}} -BITFIELD!{USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_bmAttributes_Isochronous BitField: UCHAR [ - Mult set_Mult[0..2], - Reserved2 set_Reserved2[2..7], - SspCompanion set_SspCompanion[7..8], -]} -UNION!{#[repr(packed)] union USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_bmAttributes { - [u8; 1], - AsUchar AsUchar_mut: UCHAR, - Bulk Bulk_mut: USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_bmAttributes_Bulk, - Isochronous Isochronous_mut: - USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_bmAttributes_Isochronous, -}} -STRUCT!{#[repr(packed)] struct USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - bMaxBurst: UCHAR, - bmAttributes: USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_bmAttributes, - wBytesPerInterval: USHORT, -}} -pub type PUSB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR - = *mut USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR; -pub const USB_SUPERSPEED_ISOCHRONOUS_MAX_MULTIPLIER: UCHAR = 2; -STRUCT!{#[repr(packed)] struct USB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - wReserved: USHORT, - dwBytesPerInterval: ULONG, -}} -pub type PUSB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR - = *mut USB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR; -pub const USB_SUPERSPEEDPLUS_ISOCHRONOUS_MIN_BYTESPERINTERVAL: ULONG = 0xC001; -pub const USB_SUPERSPEEDPLUS_ISOCHRONOUS_MAX_BYTESPERINTERVAL: ULONG = 0xFFFFFF; -STRUCT!{#[repr(packed)] struct USB_HUB_DESCRIPTOR { - bDescriptorLength: UCHAR, - bDescriptorType: UCHAR, - bNumberOfPorts: UCHAR, - wHubCharacteristics: USHORT, - bPowerOnToPowerGood: UCHAR, - bHubControlCurrent: UCHAR, - bRemoveAndPowerMask: [UCHAR; 64], -}} -pub type PUSB_HUB_DESCRIPTOR = *mut USB_HUB_DESCRIPTOR; -pub const USB_20_HUB_DESCRIPTOR_TYPE: UCHAR = 0x29; -STRUCT!{#[repr(packed)] struct USB_30_HUB_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - bNumberOfPorts: UCHAR, - wHubCharacteristics: USHORT, - bPowerOnToPowerGood: UCHAR, - bHubControlCurrent: UCHAR, - bHubHdrDecLat: UCHAR, - wHubDelay: USHORT, - DeviceRemovable: USHORT, -}} -pub type PUSB_30_HUB_DESCRIPTOR = *mut USB_30_HUB_DESCRIPTOR; -pub const USB_30_HUB_DESCRIPTOR_TYPE: UCHAR = 0x2A; -pub const USB_REQUEST_GET_STATE: UCHAR = 0x02; -pub const USB_REQUEST_CLEAR_TT_BUFFER: UCHAR = 0x08; -pub const USB_REQUEST_RESET_TT: UCHAR = 0x09; -pub const USB_REQUEST_GET_TT_STATE: UCHAR = 0x0A; -pub const USB_REQUEST_STOP_TT: UCHAR = 0x0B; -pub const USB_REQUEST_SET_HUB_DEPTH: UCHAR = 0x0C; -pub const USB_REQUEST_GET_PORT_ERR_COUNT: UCHAR = 0x0D; -STRUCT!{#[repr(packed)] struct USB_HUB_STATUS { - AsUshort16: USHORT, -}} -BITFIELD!{USB_HUB_STATUS AsUshort16: USHORT [ - LocalPowerLost set_LocalPowerLost[0..1], - OverCurrent set_OverCurrent[1..2], - Reserved set_Reserved[2..16], -]} -pub type PUSB_HUB_STATUS = *mut USB_HUB_STATUS; -STRUCT!{#[repr(packed)] struct USB_HUB_CHANGE { - AsUshort16: USHORT, -}} -BITFIELD!{USB_HUB_CHANGE AsUshort16: USHORT [ - LocalPowerChange set_LocalPowerChange[0..1], - OverCurrentChange set_OverCurrentChange[1..2], - Reserved set_Reserved[2..16], -]} -pub type PUSB_HUB_CHANGE = *mut USB_HUB_CHANGE; -STRUCT!{#[repr(packed)] struct USB_HUB_STATUS_AND_CHANGE_s { - HubStatus: USB_HUB_STATUS, - HubChange: USB_HUB_CHANGE, -}} -UNION!{#[repr(packed)] union USB_HUB_STATUS_AND_CHANGE { - [u32; 1], - AsUlong32 AsUlong32_mut: ULONG, - s s_mut: USB_HUB_STATUS_AND_CHANGE_s, -}} -pub type PUSB_HUB_STATUS_AND_CHANGE = *mut USB_HUB_STATUS_AND_CHANGE; -STRUCT!{#[repr(packed)] struct USB_20_PORT_STATUS { - AsUshort16: USHORT, -}} -BITFIELD!{USB_20_PORT_STATUS AsUshort16: USHORT [ - CurrentConnectStatus set_CurrentConnectStatus[0..1], - PortEnabledDisabled set_PortEnabledDisabled[1..2], - Suspend set_Suspend[2..3], - OverCurrent set_OverCurrent[3..4], - Reset set_Reset[4..5], - L1 set_L1[5..6], - Reserved0 set_Reserved0[6..8], - PortPower set_PortPower[8..9], - LowSpeedDeviceAttached set_LowSpeedDeviceAttached[9..10], - HighSpeedDeviceAttached set_HighSpeedDeviceAttached[10..11], - PortTestMode set_PortTestMode[11..12], - PortIndicatorControl set_PortIndicatorControl[12..13], - Reserved1 set_Reserved1[13..16], -]} -pub type PUSB_20_PORT_STATUS = *mut USB_20_PORT_STATUS; -pub const USB_PORT_STATUS_CONNECT: USHORT = 0x0001; -pub const USB_PORT_STATUS_ENABLE: USHORT = 0x0002; -pub const USB_PORT_STATUS_SUSPEND: USHORT = 0x0004; -pub const USB_PORT_STATUS_OVER_CURRENT: USHORT = 0x0008; -pub const USB_PORT_STATUS_RESET: USHORT = 0x0010; -pub const USB_PORT_STATUS_POWER: USHORT = 0x0100; -pub const USB_PORT_STATUS_LOW_SPEED: USHORT = 0x0200; -pub const USB_PORT_STATUS_HIGH_SPEED: USHORT = 0x0400; -STRUCT!{#[repr(packed)] struct USB_20_PORT_CHANGE { - AsUshort16: USHORT, -}} -BITFIELD!{USB_20_PORT_CHANGE AsUshort16: USHORT [ - ConnectStatusChange set_ConnectStatusChange[0..1], - PortEnableDisableChange set_PortEnableDisableChange[1..2], - SuspendChange set_SuspendChange[2..3], - OverCurrentIndicatorChange set_OverCurrentIndicatorChange[3..4], - ResetChange set_ResetChange[4..5], - Reserved2 set_Reserved2[5..16], -]} -pub type PUSB_20_PORT_CHANGE = *mut USB_20_PORT_CHANGE; -STRUCT!{#[repr(packed)] struct USB_30_PORT_STATUS { - AsUshort16: USHORT, -}} -BITFIELD!{USB_30_PORT_STATUS AsUshort16: USHORT [ - CurrentConnectStatus set_CurrentConnectStatus[0..1], - PortEnabledDisabled set_PortEnabledDisabled[1..2], - Reserved0 set_Reserved0[2..3], - OverCurrent set_OverCurrent[3..4], - Reset set_Reset[4..5], - PortLinkState set_PortLinkState[5..9], - PortPower set_PortPower[9..10], - NegotiatedDeviceSpeed set_NegotiatedDeviceSpeed[10..13], - Reserved1 set_Reserved1[13..16], -]} -pub type PUSB_30_PORT_STATUS = *mut USB_30_PORT_STATUS; -pub const PORT_LINK_STATE_U0: USHORT = 0; -pub const PORT_LINK_STATE_U1: USHORT = 1; -pub const PORT_LINK_STATE_U2: USHORT = 2; -pub const PORT_LINK_STATE_U3: USHORT = 3; -pub const PORT_LINK_STATE_DISABLED: USHORT = 4; -pub const PORT_LINK_STATE_RX_DETECT: USHORT = 5; -pub const PORT_LINK_STATE_INACTIVE: USHORT = 6; -pub const PORT_LINK_STATE_POLLING: USHORT = 7; -pub const PORT_LINK_STATE_RECOVERY: USHORT = 8; -pub const PORT_LINK_STATE_HOT_RESET: USHORT = 9; -pub const PORT_LINK_STATE_COMPLIANCE_MODE: USHORT = 10; -pub const PORT_LINK_STATE_LOOPBACK: USHORT = 11; -pub const PORT_LINK_STATE_TEST_MODE: USHORT = 11; -STRUCT!{#[repr(packed)] struct USB_30_PORT_CHANGE { - AsUshort16: USHORT, -}} -BITFIELD!{USB_30_PORT_CHANGE AsUshort16: USHORT [ - ConnectStatusChange set_ConnectStatusChange[0..1], - Reserved2 set_Reserved2[1..3], - OverCurrentIndicatorChange set_OverCurrentIndicatorChange[3..4], - ResetChange set_ResetChange[4..5], - BHResetChange set_BHResetChange[5..6], - PortLinkStateChange set_PortLinkStateChange[6..7], - PortConfigErrorChange set_PortConfigErrorChange[7..8], - Reserved3 set_Reserved3[8..16], -]} -pub type PUSB_30_PORT_CHANGE = *mut USB_30_PORT_CHANGE; -UNION!{#[repr(packed)] union USB_PORT_STATUS { - [u16; 1], - AsUshort16 AsUshort16_mut: USHORT, - Usb20PortStatus Usb20PortStatus_mut: USB_20_PORT_STATUS, - Usb30PortStatus Usb30PortStatus_mut: USB_30_PORT_STATUS, -}} -pub type PUSB_PORT_STATUS = *mut USB_PORT_STATUS; -UNION!{#[repr(packed)] union USB_PORT_CHANGE { - [u16; 1], - AsUshort16 AsUshort16_mut: USHORT, - Usb20PortChange Usb20PortChange_mut: USB_20_PORT_CHANGE, - Usb30PortChange Usb30PortChange_mut: USB_30_PORT_CHANGE, -}} -pub type PUSB_PORT_CHANGE = *mut USB_PORT_CHANGE; -STRUCT!{#[repr(packed)] struct USB_PORT_EXT_STATUS { - AsUlong32: ULONG, -}} -BITFIELD!{USB_PORT_EXT_STATUS AsUlong32: ULONG [ - RxSublinkSpeedID set_RxSublinkSpeedID[0..4], - TxSublinkSpeedID set_TxSublinkSpeedID[4..8], - RxLaneCount set_RxLaneCount[8..12], - TxLaneCount set_TxLaneCount[12..16], - Reserved set_Reserved[16..32], -]} -pub type PUSB_PORT_EXT_STATUS = *mut USB_PORT_EXT_STATUS; -STRUCT!{#[repr(packed)] struct USB_PORT_STATUS_AND_CHANGE_s { - PortStatus: USB_PORT_STATUS, - PortChange: USB_PORT_CHANGE, -}} -UNION!{#[repr(packed)] union USB_PORT_STATUS_AND_CHANGE { - [u32; 1], - AsUlong32 AsUlong32_mut: ULONG, - s s_mut: USB_PORT_STATUS_AND_CHANGE_s, -}} -pub type PUSB_PORT_STATUS_AND_CHANGE = *mut USB_PORT_STATUS_AND_CHANGE; -STRUCT!{#[repr(packed)] struct USB_PORT_EXT_STATUS_AND_CHANGE_s { - PortStatusChange: USB_PORT_STATUS_AND_CHANGE, - PortExtStatus: USB_PORT_EXT_STATUS, -}} -UNION!{#[repr(packed)] union USB_PORT_EXT_STATUS_AND_CHANGE { - [u64; 1], - AsUlong64 AsUlong64_mut: ULONG64, - s s_mut: USB_PORT_EXT_STATUS_AND_CHANGE_s, -}} -pub type PUSB_PORT_EXT_STATUS_AND_CHANGE = *mut USB_PORT_EXT_STATUS_AND_CHANGE; -STRUCT!{#[repr(packed)] struct USB_HUB_30_PORT_REMOTE_WAKE_MASK { - AsUchar8: UCHAR, -}} -BITFIELD!{USB_HUB_30_PORT_REMOTE_WAKE_MASK AsUchar8: UCHAR [ - ConnectRemoteWakeEnable set_ConnectRemoteWakeEnable[0..1], - DisconnectRemoteWakeEnable set_DisconnectRemoteWakeEnable[1..2], - OverCurrentRemoteWakeEnable set_OverCurrentRemoteWakeEnable[2..3], - Reserved0 set_Reserved0[3..8], -]} -pub type PUSB_HUB_30_PORT_REMOTE_WAKE_MASK = *mut USB_HUB_30_PORT_REMOTE_WAKE_MASK; -STRUCT!{#[repr(packed)] struct USB_FUNCTION_SUSPEND_OPTIONS { - AsUchar: UCHAR, -}} -BITFIELD!{USB_FUNCTION_SUSPEND_OPTIONS AsUchar: UCHAR [ - PowerState set_PowerState[0..1], - RemoteWakeEnabled set_RemoteWakeEnabled[1..2], - Reserved0 set_Reserved0[2..8], -]} -pub type PUSB_FUNCTION_SUSPEND_OPTIONS = *mut USB_FUNCTION_SUSPEND_OPTIONS; -pub const USB_FEATURE_INTERFACE_POWER_D0: USHORT = 0x0002; -pub const USB_FEATURE_INTERFACE_POWER_D1: USHORT = 0x0003; -pub const USB_FEATURE_INTERFACE_POWER_D2: USHORT = 0x0004; -pub const USB_FEATURE_INTERFACE_POWER_D3: USHORT = 0x0005; -pub const USB_SUPPORT_D0_COMMAND: UCHAR = 0x01; -pub const USB_SUPPORT_D1_COMMAND: UCHAR = 0x02; -pub const USB_SUPPORT_D2_COMMAND: UCHAR = 0x04; -pub const USB_SUPPORT_D3_COMMAND: UCHAR = 0x08; -pub const USB_SUPPORT_D1_WAKEUP: UCHAR = 0x10; -pub const USB_SUPPORT_D2_WAKEUP: UCHAR = 0x20; -STRUCT!{#[repr(packed)] struct USB_CONFIGURATION_POWER_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - SelfPowerConsumedD0: [UCHAR; 3], - bPowerSummaryId: UCHAR, - bBusPowerSavingD1: UCHAR, - bSelfPowerSavingD1: UCHAR, - bBusPowerSavingD2: UCHAR, - bSelfPowerSavingD2: UCHAR, - bBusPowerSavingD3: UCHAR, - bSelfPowerSavingD3: UCHAR, - TransitionTimeFromD1: USHORT, - TransitionTimeFromD2: USHORT, - TransitionTimeFromD3: USHORT, -}} -pub type PUSB_CONFIGURATION_POWER_DESCRIPTOR = *mut USB_CONFIGURATION_POWER_DESCRIPTOR; -STRUCT!{#[repr(packed)] struct USB_INTERFACE_POWER_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - bmCapabilitiesFlags: UCHAR, - bBusPowerSavingD1: UCHAR, - bSelfPowerSavingD1: UCHAR, - bBusPowerSavingD2: UCHAR, - bSelfPowerSavingD2: UCHAR, - bBusPowerSavingD3: UCHAR, - bSelfPowerSavingD3: UCHAR, - TransitionTimeFromD1: USHORT, - TransitionTimeFromD2: USHORT, - TransitionTimeFromD3: USHORT, -}} -pub type PUSB_INTERFACE_POWER_DESCRIPTOR = *mut USB_INTERFACE_POWER_DESCRIPTOR; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/windef.rs b/vendor/registry-40351f815f426200/winapi/src/shared/windef.rs deleted file mode 100644 index d2e5fe01c..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/windef.rs +++ /dev/null @@ -1,125 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Basic Windows Type Definitions -use ctypes::c_void; -use shared::minwindef::{DWORD, HFILE, WORD}; -use um::winnt::{LONG, SHORT}; -DECLARE_HANDLE!{HWND, HWND__} -DECLARE_HANDLE!{HHOOK, HHOOK__} -pub type HGDIOBJ = *mut c_void; -DECLARE_HANDLE!{HACCEL, HACCEL__} -DECLARE_HANDLE!{HBITMAP, HBITMAP__} -DECLARE_HANDLE!{HBRUSH, HBRUSH__} -DECLARE_HANDLE!{HCOLORSPACE, HCOLORSPACE__} -DECLARE_HANDLE!{HDC, HDC__} -DECLARE_HANDLE!{HGLRC, HGLRC__} -DECLARE_HANDLE!{HDESK, HDESK__} -DECLARE_HANDLE!{HENHMETAFILE, HENHMETAFILE__} -DECLARE_HANDLE!{HFONT, HFONT__} -DECLARE_HANDLE!{HICON, HICON__} -DECLARE_HANDLE!{HMENU, HMENU__} -DECLARE_HANDLE!{HPALETTE, HPALETTE__} -DECLARE_HANDLE!{HPEN, HPEN__} -DECLARE_HANDLE!{HWINEVENTHOOK, HWINEVENTHOOK__} -DECLARE_HANDLE!{HMONITOR, HMONITOR__} -DECLARE_HANDLE!{HUMPD, HUMPD__} -pub type HCURSOR = HICON; -pub type COLORREF = DWORD; -pub type LPCOLORREF = *mut DWORD; -pub const HFILE_ERROR: HFILE = -1; -STRUCT!{#[debug] struct RECT { - left: LONG, - top: LONG, - right: LONG, - bottom: LONG, -}} -pub type PRECT = *mut RECT; -pub type NPRECT = *mut RECT; -pub type LPRECT = *mut RECT; -pub type LPCRECT = *const RECT; -STRUCT!{#[debug] struct RECTL { - left: LONG, - top: LONG, - right: LONG, - bottom: LONG, -}} -pub type PRECTL = *mut RECTL; -pub type LPRECTL = *mut RECTL; -pub type LPCRECTL = *const RECTL; -STRUCT!{struct POINT { - x: LONG, - y: LONG, -}} -pub type PPOINT = *mut POINT; -pub type NPPOINT = *mut POINT; -pub type LPPOINT = *mut POINT; -STRUCT!{struct POINTL { - x: LONG, - y: LONG, -}} -pub type PPOINTL = *mut POINTL; -STRUCT!{struct SIZE { - cx: LONG, - cy: LONG, -}} -pub type PSIZE = *mut SIZE; -pub type LPSIZE = *mut SIZE; -pub type SIZEL = SIZE; -pub type PSIZEL = *mut SIZE; -pub type LPSIZEL = *mut SIZE; -STRUCT!{struct POINTS { - x: SHORT, - y: SHORT, -}} -pub type PPOINTS = *mut POINTS; -pub type LPPOINTS = *mut POINTS; -pub const DM_UPDATE: WORD = 1; -pub const DM_COPY: WORD = 2; -pub const DM_PROMPT: WORD = 4; -pub const DM_MODIFY: WORD = 8; -pub const DM_IN_BUFFER: WORD = DM_MODIFY; -pub const DM_IN_PROMPT: WORD = DM_PROMPT; -pub const DM_OUT_BUFFER: WORD = DM_COPY; -pub const DM_OUT_DEFAULT: WORD = DM_UPDATE; -pub const DC_FIELDS: DWORD = 1; -pub const DC_PAPERS: DWORD = 2; -pub const DC_PAPERSIZE: DWORD = 3; -pub const DC_MINEXTENT: DWORD = 4; -pub const DC_MAXEXTENT: DWORD = 5; -pub const DC_BINS: DWORD = 6; -pub const DC_DUPLEX: DWORD = 7; -pub const DC_SIZE: DWORD = 8; -pub const DC_EXTRA: DWORD = 9; -pub const DC_VERSION: DWORD = 10; -pub const DC_DRIVER: DWORD = 11; -pub const DC_BINNAMES: DWORD = 12; -pub const DC_ENUMRESOLUTIONS: DWORD = 13; -pub const DC_FILEDEPENDENCIES: DWORD = 14; -pub const DC_TRUETYPE: DWORD = 15; -pub const DC_PAPERNAMES: DWORD = 16; -pub const DC_ORIENTATION: DWORD = 17; -pub const DC_COPIES: DWORD = 18; -DECLARE_HANDLE!{DPI_AWARENESS_CONTEXT, DPI_AWARENESS_CONTEXT__} -ENUM!{enum DPI_AWARENESS { - DPI_AWARENESS_INVALID = -1i32 as u32, - DPI_AWARENESS_UNAWARE = 0, - DPI_AWARENESS_SYSTEM_AWARE = 1, - DPI_AWARENESS_PER_MONITOR_AWARE = 2, -}} -pub const DPI_AWARENESS_CONTEXT_UNAWARE: DPI_AWARENESS_CONTEXT = -1isize as DPI_AWARENESS_CONTEXT; -pub const DPI_AWARENESS_CONTEXT_SYSTEM_AWARE: DPI_AWARENESS_CONTEXT - = -2isize as DPI_AWARENESS_CONTEXT; -pub const DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE: DPI_AWARENESS_CONTEXT - = -3isize as DPI_AWARENESS_CONTEXT; -pub const DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2: DPI_AWARENESS_CONTEXT - = -4isize as DPI_AWARENESS_CONTEXT; -pub const DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED: DPI_AWARENESS_CONTEXT - = -5isize as DPI_AWARENESS_CONTEXT; -ENUM!{enum DPI_HOSTING_BEHAVIOR { - DPI_HOSTING_BEHAVIOR_INVALID = -1i32 as u32, - DPI_HOSTING_BEHAVIOR_DEFAULT = 0, - DPI_HOSTING_BEHAVIOR_MIXED = 1, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/windowsx.rs b/vendor/registry-40351f815f426200/winapi/src/shared/windowsx.rs deleted file mode 100644 index 4147aa353..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/windowsx.rs +++ /dev/null @@ -1,17 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Macro APIs, window message crackers, and control APIs -use ctypes::{c_int, c_short}; -use shared::minwindef::{DWORD, HIWORD, LOWORD, LPARAM}; -//1233 -#[inline] -pub fn GET_X_LPARAM(lp: LPARAM) -> c_int { - LOWORD(lp as DWORD) as c_short as c_int -} -#[inline] -pub fn GET_Y_LPARAM(lp: LPARAM) -> c_int { - HIWORD(lp as DWORD) as c_short as c_int -} diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/winerror.rs b/vendor/registry-40351f815f426200/winapi/src/shared/winerror.rs deleted file mode 100644 index 378a31a4b..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/winerror.rs +++ /dev/null @@ -1,6149 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! error code definitions for the Win32 API functions -use ctypes::{c_long, c_ulong}; -use shared::minwindef::DWORD; -use shared::wtypesbase::SCODE; -pub const FACILITY_XPS: HRESULT = 82; -pub const FACILITY_XAML: HRESULT = 43; -pub const FACILITY_USN: HRESULT = 129; -pub const FACILITY_BLBUI: HRESULT = 128; -pub const FACILITY_SPP: HRESULT = 256; -pub const FACILITY_WSB_ONLINE: HRESULT = 133; -pub const FACILITY_DLS: HRESULT = 153; -pub const FACILITY_BLB_CLI: HRESULT = 121; -pub const FACILITY_BLB: HRESULT = 120; -pub const FACILITY_WSBAPP: HRESULT = 122; -pub const FACILITY_WPN: HRESULT = 62; -pub const FACILITY_WMAAECMA: HRESULT = 1996; -pub const FACILITY_WINRM: HRESULT = 51; -pub const FACILITY_WINPE: HRESULT = 61; -pub const FACILITY_WINDOWSUPDATE: HRESULT = 36; -pub const FACILITY_WINDOWS_STORE: HRESULT = 63; -pub const FACILITY_WINDOWS_SETUP: HRESULT = 48; -pub const FACILITY_WINDOWS_DEFENDER: HRESULT = 80; -pub const FACILITY_WINDOWS_CE: HRESULT = 24; -pub const FACILITY_WINDOWS: HRESULT = 8; -pub const FACILITY_WINCODEC_DWRITE_DWM: HRESULT = 2200; -pub const FACILITY_WIA: HRESULT = 33; -pub const FACILITY_WER: HRESULT = 27; -pub const FACILITY_WEP: HRESULT = 2049; -pub const FACILITY_WEB_SOCKET: HRESULT = 886; -pub const FACILITY_WEB: HRESULT = 885; -pub const FACILITY_USERMODE_VOLSNAP: HRESULT = 130; -pub const FACILITY_USERMODE_VOLMGR: HRESULT = 56; -pub const FACILITY_VISUALCPP: HRESULT = 109; -pub const FACILITY_USERMODE_VIRTUALIZATION: HRESULT = 55; -pub const FACILITY_USERMODE_VHD: HRESULT = 58; -pub const FACILITY_URT: HRESULT = 19; -pub const FACILITY_UMI: HRESULT = 22; -pub const FACILITY_UI: HRESULT = 42; -pub const FACILITY_TPM_SOFTWARE: HRESULT = 41; -pub const FACILITY_TPM_SERVICES: HRESULT = 40; -pub const FACILITY_TIERING: HRESULT = 131; -pub const FACILITY_SYNCENGINE: HRESULT = 2050; -pub const FACILITY_SXS: HRESULT = 23; -pub const FACILITY_STORAGE: HRESULT = 3; -pub const FACILITY_STATE_MANAGEMENT: HRESULT = 34; -pub const FACILITY_SSPI: HRESULT = 9; -pub const FACILITY_USERMODE_SPACES: HRESULT = 231; -pub const FACILITY_SOS: HRESULT = 160; -pub const FACILITY_SCARD: HRESULT = 16; -pub const FACILITY_SHELL: HRESULT = 39; -pub const FACILITY_SETUPAPI: HRESULT = 15; -pub const FACILITY_SECURITY: HRESULT = 9; -pub const FACILITY_SDIAG: HRESULT = 60; -pub const FACILITY_USERMODE_SDBUS: HRESULT = 2305; -pub const FACILITY_RPC: HRESULT = 1; -pub const FACILITY_RESTORE: HRESULT = 256; -pub const FACILITY_SCRIPT: HRESULT = 112; -pub const FACILITY_PARSE: HRESULT = 113; -pub const FACILITY_RAS: HRESULT = 83; -pub const FACILITY_POWERSHELL: HRESULT = 84; -pub const FACILITY_PLA: HRESULT = 48; -pub const FACILITY_PIDGENX: HRESULT = 2561; -pub const FACILITY_P2P_INT: HRESULT = 98; -pub const FACILITY_P2P: HRESULT = 99; -pub const FACILITY_OPC: HRESULT = 81; -pub const FACILITY_ONLINE_ID: HRESULT = 134; -pub const FACILITY_WIN32: HRESULT = 7; -pub const FACILITY_CONTROL: HRESULT = 10; -pub const FACILITY_WEBSERVICES: HRESULT = 61; -pub const FACILITY_NULL: HRESULT = 0; -pub const FACILITY_NDIS: HRESULT = 52; -pub const FACILITY_NAP: HRESULT = 39; -pub const FACILITY_MOBILE: HRESULT = 1793; -pub const FACILITY_METADIRECTORY: HRESULT = 35; -pub const FACILITY_MSMQ: HRESULT = 14; -pub const FACILITY_MEDIASERVER: HRESULT = 13; -pub const FACILITY_MBN: HRESULT = 84; -pub const FACILITY_LINGUISTIC_SERVICES: HRESULT = 305; -pub const FACILITY_LEAP: HRESULT = 2184; -pub const FACILITY_JSCRIPT: HRESULT = 2306; -pub const FACILITY_INTERNET: HRESULT = 12; -pub const FACILITY_ITF: HRESULT = 4; -pub const FACILITY_INPUT: HRESULT = 64; -pub const FACILITY_USERMODE_HYPERVISOR: HRESULT = 53; -pub const FACILITY_ACCELERATOR: HRESULT = 1536; -pub const FACILITY_HTTP: HRESULT = 25; -pub const FACILITY_GRAPHICS: HRESULT = 38; -pub const FACILITY_FWP: HRESULT = 50; -pub const FACILITY_FVE: HRESULT = 49; -pub const FACILITY_USERMODE_FILTER_MANAGER: HRESULT = 31; -pub const FACILITY_EAS: HRESULT = 85; -pub const FACILITY_EAP: HRESULT = 66; -pub const FACILITY_DXGI_DDI: HRESULT = 2171; -pub const FACILITY_DXGI: HRESULT = 2170; -pub const FACILITY_DPLAY: HRESULT = 21; -pub const FACILITY_DMSERVER: HRESULT = 256; -pub const FACILITY_DISPATCH: HRESULT = 2; -pub const FACILITY_DIRECTORYSERVICE: HRESULT = 37; -pub const FACILITY_DIRECTMUSIC: HRESULT = 2168; -pub const FACILITY_DIRECT3D11: HRESULT = 2172; -pub const FACILITY_DIRECT3D10: HRESULT = 2169; -pub const FACILITY_DIRECT2D: HRESULT = 2201; -pub const FACILITY_DAF: HRESULT = 100; -pub const FACILITY_DEPLOYMENT_SERVICES_UTIL: HRESULT = 260; -pub const FACILITY_DEPLOYMENT_SERVICES_TRANSPORT_MANAGEMENT: HRESULT = 272; -pub const FACILITY_DEPLOYMENT_SERVICES_TFTP: HRESULT = 264; -pub const FACILITY_DEPLOYMENT_SERVICES_PXE: HRESULT = 263; -pub const FACILITY_DEPLOYMENT_SERVICES_MULTICAST_SERVER: HRESULT = 289; -pub const FACILITY_DEPLOYMENT_SERVICES_MULTICAST_CLIENT: HRESULT = 290; -pub const FACILITY_DEPLOYMENT_SERVICES_MANAGEMENT: HRESULT = 259; -pub const FACILITY_DEPLOYMENT_SERVICES_IMAGING: HRESULT = 258; -pub const FACILITY_DEPLOYMENT_SERVICES_DRIVER_PROVISIONING: HRESULT = 278; -pub const FACILITY_DEPLOYMENT_SERVICES_SERVER: HRESULT = 257; -pub const FACILITY_DEPLOYMENT_SERVICES_CONTENT_PROVIDER: HRESULT = 293; -pub const FACILITY_DEPLOYMENT_SERVICES_BINLSVC: HRESULT = 261; -pub const FACILITY_DEFRAG: HRESULT = 2304; -pub const FACILITY_DEBUGGERS: HRESULT = 176; -pub const FACILITY_CONFIGURATION: HRESULT = 33; -pub const FACILITY_COMPLUS: HRESULT = 17; -pub const FACILITY_USERMODE_COMMONLOG: HRESULT = 26; -pub const FACILITY_CMI: HRESULT = 54; -pub const FACILITY_CERT: HRESULT = 11; -pub const FACILITY_BLUETOOTH_ATT: HRESULT = 101; -pub const FACILITY_BCD: HRESULT = 57; -pub const FACILITY_BACKGROUNDCOPY: HRESULT = 32; -pub const FACILITY_AUDIOSTREAMING: HRESULT = 1094; -pub const FACILITY_AUDCLNT: HRESULT = 2185; -pub const FACILITY_AUDIO: HRESULT = 102; -pub const FACILITY_ACTION_QUEUE: HRESULT = 44; -pub const FACILITY_ACS: HRESULT = 20; -pub const FACILITY_AAF: HRESULT = 18; -pub const ERROR_SUCCESS: DWORD = 0; -pub const NO_ERROR: DWORD = 0; -pub const SEC_E_OK: HRESULT = 0; -pub const ERROR_INVALID_FUNCTION: DWORD = 1; -pub const ERROR_FILE_NOT_FOUND: DWORD = 2; -pub const ERROR_PATH_NOT_FOUND: DWORD = 3; -pub const ERROR_TOO_MANY_OPEN_FILES: DWORD = 4; -pub const ERROR_ACCESS_DENIED: DWORD = 5; -pub const ERROR_INVALID_HANDLE: DWORD = 6; -pub const ERROR_ARENA_TRASHED: DWORD = 7; -pub const ERROR_NOT_ENOUGH_MEMORY: DWORD = 8; -pub const ERROR_INVALID_BLOCK: DWORD = 9; -pub const ERROR_BAD_ENVIRONMENT: DWORD = 10; -pub const ERROR_BAD_FORMAT: DWORD = 11; -pub const ERROR_INVALID_ACCESS: DWORD = 12; -pub const ERROR_INVALID_DATA: DWORD = 13; -pub const ERROR_OUTOFMEMORY: DWORD = 14; -pub const ERROR_INVALID_DRIVE: DWORD = 15; -pub const ERROR_CURRENT_DIRECTORY: DWORD = 16; -pub const ERROR_NOT_SAME_DEVICE: DWORD = 17; -pub const ERROR_NO_MORE_FILES: DWORD = 18; -pub const ERROR_WRITE_PROTECT: DWORD = 19; -pub const ERROR_BAD_UNIT: DWORD = 20; -pub const ERROR_NOT_READY: DWORD = 21; -pub const ERROR_BAD_COMMAND: DWORD = 22; -pub const ERROR_CRC: DWORD = 23; -pub const ERROR_BAD_LENGTH: DWORD = 24; -pub const ERROR_SEEK: DWORD = 25; -pub const ERROR_NOT_DOS_DISK: DWORD = 26; -pub const ERROR_SECTOR_NOT_FOUND: DWORD = 27; -pub const ERROR_OUT_OF_PAPER: DWORD = 28; -pub const ERROR_WRITE_FAULT: DWORD = 29; -pub const ERROR_READ_FAULT: DWORD = 30; -pub const ERROR_GEN_FAILURE: DWORD = 31; -pub const ERROR_SHARING_VIOLATION: DWORD = 32; -pub const ERROR_LOCK_VIOLATION: DWORD = 33; -pub const ERROR_WRONG_DISK: DWORD = 34; -pub const ERROR_SHARING_BUFFER_EXCEEDED: DWORD = 36; -pub const ERROR_HANDLE_EOF: DWORD = 38; -pub const ERROR_HANDLE_DISK_FULL: DWORD = 39; -pub const ERROR_NOT_SUPPORTED: DWORD = 50; -pub const ERROR_REM_NOT_LIST: DWORD = 51; -pub const ERROR_DUP_NAME: DWORD = 52; -pub const ERROR_BAD_NETPATH: DWORD = 53; -pub const ERROR_NETWORK_BUSY: DWORD = 54; -pub const ERROR_DEV_NOT_EXIST: DWORD = 55; -pub const ERROR_TOO_MANY_CMDS: DWORD = 56; -pub const ERROR_ADAP_HDW_ERR: DWORD = 57; -pub const ERROR_BAD_NET_RESP: DWORD = 58; -pub const ERROR_UNEXP_NET_ERR: DWORD = 59; -pub const ERROR_BAD_REM_ADAP: DWORD = 60; -pub const ERROR_PRINTQ_FULL: DWORD = 61; -pub const ERROR_NO_SPOOL_SPACE: DWORD = 62; -pub const ERROR_PRINT_CANCELLED: DWORD = 63; -pub const ERROR_NETNAME_DELETED: DWORD = 64; -pub const ERROR_NETWORK_ACCESS_DENIED: DWORD = 65; -pub const ERROR_BAD_DEV_TYPE: DWORD = 66; -pub const ERROR_BAD_NET_NAME: DWORD = 67; -pub const ERROR_TOO_MANY_NAMES: DWORD = 68; -pub const ERROR_TOO_MANY_SESS: DWORD = 69; -pub const ERROR_SHARING_PAUSED: DWORD = 70; -pub const ERROR_REQ_NOT_ACCEP: DWORD = 71; -pub const ERROR_REDIR_PAUSED: DWORD = 72; -pub const ERROR_FILE_EXISTS: DWORD = 80; -pub const ERROR_CANNOT_MAKE: DWORD = 82; -pub const ERROR_FAIL_I24: DWORD = 83; -pub const ERROR_OUT_OF_STRUCTURES: DWORD = 84; -pub const ERROR_ALREADY_ASSIGNED: DWORD = 85; -pub const ERROR_INVALID_PASSWORD: DWORD = 86; -pub const ERROR_INVALID_PARAMETER: DWORD = 87; -pub const ERROR_NET_WRITE_FAULT: DWORD = 88; -pub const ERROR_NO_PROC_SLOTS: DWORD = 89; -pub const ERROR_TOO_MANY_SEMAPHORES: DWORD = 100; -pub const ERROR_EXCL_SEM_ALREADY_OWNED: DWORD = 101; -pub const ERROR_SEM_IS_SET: DWORD = 102; -pub const ERROR_TOO_MANY_SEM_REQUESTS: DWORD = 103; -pub const ERROR_INVALID_AT_INTERRUPT_TIME: DWORD = 104; -pub const ERROR_SEM_OWNER_DIED: DWORD = 105; -pub const ERROR_SEM_USER_LIMIT: DWORD = 106; -pub const ERROR_DISK_CHANGE: DWORD = 107; -pub const ERROR_DRIVE_LOCKED: DWORD = 108; -pub const ERROR_BROKEN_PIPE: DWORD = 109; -pub const ERROR_OPEN_FAILED: DWORD = 110; -pub const ERROR_BUFFER_OVERFLOW: DWORD = 111; -pub const ERROR_DISK_FULL: DWORD = 112; -pub const ERROR_NO_MORE_SEARCH_HANDLES: DWORD = 113; -pub const ERROR_INVALID_TARGET_HANDLE: DWORD = 114; -pub const ERROR_INVALID_CATEGORY: DWORD = 117; -pub const ERROR_INVALID_VERIFY_SWITCH: DWORD = 118; -pub const ERROR_BAD_DRIVER_LEVEL: DWORD = 119; -pub const ERROR_CALL_NOT_IMPLEMENTED: DWORD = 120; -pub const ERROR_SEM_TIMEOUT: DWORD = 121; -pub const ERROR_INSUFFICIENT_BUFFER: DWORD = 122; -pub const ERROR_INVALID_NAME: DWORD = 123; -pub const ERROR_INVALID_LEVEL: DWORD = 124; -pub const ERROR_NO_VOLUME_LABEL: DWORD = 125; -pub const ERROR_MOD_NOT_FOUND: DWORD = 126; -pub const ERROR_PROC_NOT_FOUND: DWORD = 127; -pub const ERROR_WAIT_NO_CHILDREN: DWORD = 128; -pub const ERROR_CHILD_NOT_COMPLETE: DWORD = 129; -pub const ERROR_DIRECT_ACCESS_HANDLE: DWORD = 130; -pub const ERROR_NEGATIVE_SEEK: DWORD = 131; -pub const ERROR_SEEK_ON_DEVICE: DWORD = 132; -pub const ERROR_IS_JOIN_TARGET: DWORD = 133; -pub const ERROR_IS_JOINED: DWORD = 134; -pub const ERROR_IS_SUBSTED: DWORD = 135; -pub const ERROR_NOT_JOINED: DWORD = 136; -pub const ERROR_NOT_SUBSTED: DWORD = 137; -pub const ERROR_JOIN_TO_JOIN: DWORD = 138; -pub const ERROR_SUBST_TO_SUBST: DWORD = 139; -pub const ERROR_JOIN_TO_SUBST: DWORD = 140; -pub const ERROR_SUBST_TO_JOIN: DWORD = 141; -pub const ERROR_BUSY_DRIVE: DWORD = 142; -pub const ERROR_SAME_DRIVE: DWORD = 143; -pub const ERROR_DIR_NOT_ROOT: DWORD = 144; -pub const ERROR_DIR_NOT_EMPTY: DWORD = 145; -pub const ERROR_IS_SUBST_PATH: DWORD = 146; -pub const ERROR_IS_JOIN_PATH: DWORD = 147; -pub const ERROR_PATH_BUSY: DWORD = 148; -pub const ERROR_IS_SUBST_TARGET: DWORD = 149; -pub const ERROR_SYSTEM_TRACE: DWORD = 150; -pub const ERROR_INVALID_EVENT_COUNT: DWORD = 151; -pub const ERROR_TOO_MANY_MUXWAITERS: DWORD = 152; -pub const ERROR_INVALID_LIST_FORMAT: DWORD = 153; -pub const ERROR_LABEL_TOO_LONG: DWORD = 154; -pub const ERROR_TOO_MANY_TCBS: DWORD = 155; -pub const ERROR_SIGNAL_REFUSED: DWORD = 156; -pub const ERROR_DISCARDED: DWORD = 157; -pub const ERROR_NOT_LOCKED: DWORD = 158; -pub const ERROR_BAD_THREADID_ADDR: DWORD = 159; -pub const ERROR_BAD_ARGUMENTS: DWORD = 160; -pub const ERROR_BAD_PATHNAME: DWORD = 161; -pub const ERROR_SIGNAL_PENDING: DWORD = 162; -pub const ERROR_MAX_THRDS_REACHED: DWORD = 164; -pub const ERROR_LOCK_FAILED: DWORD = 167; -pub const ERROR_BUSY: DWORD = 170; -pub const ERROR_DEVICE_SUPPORT_IN_PROGRESS: DWORD = 171; -pub const ERROR_CANCEL_VIOLATION: DWORD = 173; -pub const ERROR_ATOMIC_LOCKS_NOT_SUPPORTED: DWORD = 174; -pub const ERROR_INVALID_SEGMENT_NUMBER: DWORD = 180; -pub const ERROR_INVALID_ORDINAL: DWORD = 182; -pub const ERROR_ALREADY_EXISTS: DWORD = 183; -pub const ERROR_INVALID_FLAG_NUMBER: DWORD = 186; -pub const ERROR_SEM_NOT_FOUND: DWORD = 187; -pub const ERROR_INVALID_STARTING_CODESEG: DWORD = 188; -pub const ERROR_INVALID_STACKSEG: DWORD = 189; -pub const ERROR_INVALID_MODULETYPE: DWORD = 190; -pub const ERROR_INVALID_EXE_SIGNATURE: DWORD = 191; -pub const ERROR_EXE_MARKED_INVALID: DWORD = 192; -pub const ERROR_BAD_EXE_FORMAT: DWORD = 193; -pub const ERROR_ITERATED_DATA_EXCEEDS_64k: DWORD = 194; -pub const ERROR_INVALID_MINALLOCSIZE: DWORD = 195; -pub const ERROR_DYNLINK_FROM_INVALID_RING: DWORD = 196; -pub const ERROR_IOPL_NOT_ENABLED: DWORD = 197; -pub const ERROR_INVALID_SEGDPL: DWORD = 198; -pub const ERROR_AUTODATASEG_EXCEEDS_64k: DWORD = 199; -pub const ERROR_RING2SEG_MUST_BE_MOVABLE: DWORD = 200; -pub const ERROR_RELOC_CHAIN_XEEDS_SEGLIM: DWORD = 201; -pub const ERROR_INFLOOP_IN_RELOC_CHAIN: DWORD = 202; -pub const ERROR_ENVVAR_NOT_FOUND: DWORD = 203; -pub const ERROR_NO_SIGNAL_SENT: DWORD = 205; -pub const ERROR_FILENAME_EXCED_RANGE: DWORD = 206; -pub const ERROR_RING2_STACK_IN_USE: DWORD = 207; -pub const ERROR_META_EXPANSION_TOO_LONG: DWORD = 208; -pub const ERROR_INVALID_SIGNAL_NUMBER: DWORD = 209; -pub const ERROR_THREAD_1_INACTIVE: DWORD = 210; -pub const ERROR_LOCKED: DWORD = 212; -pub const ERROR_TOO_MANY_MODULES: DWORD = 214; -pub const ERROR_NESTING_NOT_ALLOWED: DWORD = 215; -pub const ERROR_EXE_MACHINE_TYPE_MISMATCH: DWORD = 216; -pub const ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY: DWORD = 217; -pub const ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY: DWORD = 218; -pub const ERROR_FILE_CHECKED_OUT: DWORD = 220; -pub const ERROR_CHECKOUT_REQUIRED: DWORD = 221; -pub const ERROR_BAD_FILE_TYPE: DWORD = 222; -pub const ERROR_FILE_TOO_LARGE: DWORD = 223; -pub const ERROR_FORMS_AUTH_REQUIRED: DWORD = 224; -pub const ERROR_VIRUS_INFECTED: DWORD = 225; -pub const ERROR_VIRUS_DELETED: DWORD = 226; -pub const ERROR_PIPE_LOCAL: DWORD = 229; -pub const ERROR_BAD_PIPE: DWORD = 230; -pub const ERROR_PIPE_BUSY: DWORD = 231; -pub const ERROR_NO_DATA: DWORD = 232; -pub const ERROR_PIPE_NOT_CONNECTED: DWORD = 233; -pub const ERROR_MORE_DATA: DWORD = 234; -pub const ERROR_VC_DISCONNECTED: DWORD = 240; -pub const ERROR_INVALID_EA_NAME: DWORD = 254; -pub const ERROR_EA_LIST_INCONSISTENT: DWORD = 255; -pub const WAIT_TIMEOUT: DWORD = 258; -pub const ERROR_NO_MORE_ITEMS: DWORD = 259; -pub const ERROR_CANNOT_COPY: DWORD = 266; -pub const ERROR_DIRECTORY: DWORD = 267; -pub const ERROR_EAS_DIDNT_FIT: DWORD = 275; -pub const ERROR_EA_FILE_CORRUPT: DWORD = 276; -pub const ERROR_EA_TABLE_FULL: DWORD = 277; -pub const ERROR_INVALID_EA_HANDLE: DWORD = 278; -pub const ERROR_EAS_NOT_SUPPORTED: DWORD = 282; -pub const ERROR_NOT_OWNER: DWORD = 288; -pub const ERROR_TOO_MANY_POSTS: DWORD = 298; -pub const ERROR_PARTIAL_COPY: DWORD = 299; -pub const ERROR_OPLOCK_NOT_GRANTED: DWORD = 300; -pub const ERROR_INVALID_OPLOCK_PROTOCOL: DWORD = 301; -pub const ERROR_DISK_TOO_FRAGMENTED: DWORD = 302; -pub const ERROR_DELETE_PENDING: DWORD = 303; -pub const ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING: DWORD = 304; -pub const ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME: DWORD = 305; -pub const ERROR_SECURITY_STREAM_IS_INCONSISTENT: DWORD = 306; -pub const ERROR_INVALID_LOCK_RANGE: DWORD = 307; -pub const ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT: DWORD = 308; -pub const ERROR_NOTIFICATION_GUID_ALREADY_DEFINED: DWORD = 309; -pub const ERROR_INVALID_EXCEPTION_HANDLER: DWORD = 310; -pub const ERROR_DUPLICATE_PRIVILEGES: DWORD = 311; -pub const ERROR_NO_RANGES_PROCESSED: DWORD = 312; -pub const ERROR_NOT_ALLOWED_ON_SYSTEM_FILE: DWORD = 313; -pub const ERROR_DISK_RESOURCES_EXHAUSTED: DWORD = 314; -pub const ERROR_INVALID_TOKEN: DWORD = 315; -pub const ERROR_DEVICE_FEATURE_NOT_SUPPORTED: DWORD = 316; -pub const ERROR_MR_MID_NOT_FOUND: DWORD = 317; -pub const ERROR_SCOPE_NOT_FOUND: DWORD = 318; -pub const ERROR_UNDEFINED_SCOPE: DWORD = 319; -pub const ERROR_INVALID_CAP: DWORD = 320; -pub const ERROR_DEVICE_UNREACHABLE: DWORD = 321; -pub const ERROR_DEVICE_NO_RESOURCES: DWORD = 322; -pub const ERROR_DATA_CHECKSUM_ERROR: DWORD = 323; -pub const ERROR_INTERMIXED_KERNEL_EA_OPERATION: DWORD = 324; -pub const ERROR_FILE_LEVEL_TRIM_NOT_SUPPORTED: DWORD = 326; -pub const ERROR_OFFSET_ALIGNMENT_VIOLATION: DWORD = 327; -pub const ERROR_INVALID_FIELD_IN_PARAMETER_LIST: DWORD = 328; -pub const ERROR_OPERATION_IN_PROGRESS: DWORD = 329; -pub const ERROR_BAD_DEVICE_PATH: DWORD = 330; -pub const ERROR_TOO_MANY_DESCRIPTORS: DWORD = 331; -pub const ERROR_SCRUB_DATA_DISABLED: DWORD = 332; -pub const ERROR_NOT_REDUNDANT_STORAGE: DWORD = 333; -pub const ERROR_RESIDENT_FILE_NOT_SUPPORTED: DWORD = 334; -pub const ERROR_COMPRESSED_FILE_NOT_SUPPORTED: DWORD = 335; -pub const ERROR_DIRECTORY_NOT_SUPPORTED: DWORD = 336; -pub const ERROR_NOT_READ_FROM_COPY: DWORD = 337; -pub const ERROR_FT_WRITE_FAILURE: DWORD = 338; -pub const ERROR_FT_DI_SCAN_REQUIRED: DWORD = 339; -pub const ERROR_INVALID_KERNEL_INFO_VERSION: DWORD = 340; -pub const ERROR_INVALID_PEP_INFO_VERSION: DWORD = 341; -pub const ERROR_OBJECT_NOT_EXTERNALLY_BACKED: DWORD = 342; -pub const ERROR_EXTERNAL_BACKING_PROVIDER_UNKNOWN: DWORD = 343; -pub const ERROR_FAIL_NOACTION_REBOOT: DWORD = 350; -pub const ERROR_FAIL_SHUTDOWN: DWORD = 351; -pub const ERROR_FAIL_RESTART: DWORD = 352; -pub const ERROR_MAX_SESSIONS_REACHED: DWORD = 353; -pub const ERROR_THREAD_MODE_ALREADY_BACKGROUND: DWORD = 400; -pub const ERROR_THREAD_MODE_NOT_BACKGROUND: DWORD = 401; -pub const ERROR_PROCESS_MODE_ALREADY_BACKGROUND: DWORD = 402; -pub const ERROR_PROCESS_MODE_NOT_BACKGROUND: DWORD = 403; -pub const ERROR_DEVICE_HARDWARE_ERROR: DWORD = 483; -pub const ERROR_INVALID_ADDRESS: DWORD = 487; -pub const ERROR_USER_PROFILE_LOAD: DWORD = 500; -pub const ERROR_ARITHMETIC_OVERFLOW: DWORD = 534; -pub const ERROR_PIPE_CONNECTED: DWORD = 535; -pub const ERROR_PIPE_LISTENING: DWORD = 536; -pub const ERROR_VERIFIER_STOP: DWORD = 537; -pub const ERROR_ABIOS_ERROR: DWORD = 538; -pub const ERROR_WX86_WARNING: DWORD = 539; -pub const ERROR_WX86_ERROR: DWORD = 540; -pub const ERROR_TIMER_NOT_CANCELED: DWORD = 541; -pub const ERROR_UNWIND: DWORD = 542; -pub const ERROR_BAD_STACK: DWORD = 543; -pub const ERROR_INVALID_UNWIND_TARGET: DWORD = 544; -pub const ERROR_INVALID_PORT_ATTRIBUTES: DWORD = 545; -pub const ERROR_PORT_MESSAGE_TOO_LONG: DWORD = 546; -pub const ERROR_INVALID_QUOTA_LOWER: DWORD = 547; -pub const ERROR_DEVICE_ALREADY_ATTACHED: DWORD = 548; -pub const ERROR_INSTRUCTION_MISALIGNMENT: DWORD = 549; -pub const ERROR_PROFILING_NOT_STARTED: DWORD = 550; -pub const ERROR_PROFILING_NOT_STOPPED: DWORD = 551; -pub const ERROR_COULD_NOT_INTERPRET: DWORD = 552; -pub const ERROR_PROFILING_AT_LIMIT: DWORD = 553; -pub const ERROR_CANT_WAIT: DWORD = 554; -pub const ERROR_CANT_TERMINATE_SELF: DWORD = 555; -pub const ERROR_UNEXPECTED_MM_CREATE_ERR: DWORD = 556; -pub const ERROR_UNEXPECTED_MM_MAP_ERROR: DWORD = 557; -pub const ERROR_UNEXPECTED_MM_EXTEND_ERR: DWORD = 558; -pub const ERROR_BAD_FUNCTION_TABLE: DWORD = 559; -pub const ERROR_NO_GUID_TRANSLATION: DWORD = 560; -pub const ERROR_INVALID_LDT_SIZE: DWORD = 561; -pub const ERROR_INVALID_LDT_OFFSET: DWORD = 563; -pub const ERROR_INVALID_LDT_DESCRIPTOR: DWORD = 564; -pub const ERROR_TOO_MANY_THREADS: DWORD = 565; -pub const ERROR_THREAD_NOT_IN_PROCESS: DWORD = 566; -pub const ERROR_PAGEFILE_QUOTA_EXCEEDED: DWORD = 567; -pub const ERROR_LOGON_SERVER_CONFLICT: DWORD = 568; -pub const ERROR_SYNCHRONIZATION_REQUIRED: DWORD = 569; -pub const ERROR_NET_OPEN_FAILED: DWORD = 570; -pub const ERROR_IO_PRIVILEGE_FAILED: DWORD = 571; -pub const ERROR_CONTROL_C_EXIT: DWORD = 572; -pub const ERROR_MISSING_SYSTEMFILE: DWORD = 573; -pub const ERROR_UNHANDLED_EXCEPTION: DWORD = 574; -pub const ERROR_APP_INIT_FAILURE: DWORD = 575; -pub const ERROR_PAGEFILE_CREATE_FAILED: DWORD = 576; -pub const ERROR_INVALID_IMAGE_HASH: DWORD = 577; -pub const ERROR_NO_PAGEFILE: DWORD = 578; -pub const ERROR_ILLEGAL_FLOAT_CONTEXT: DWORD = 579; -pub const ERROR_NO_EVENT_PAIR: DWORD = 580; -pub const ERROR_DOMAIN_CTRLR_CONFIG_ERROR: DWORD = 581; -pub const ERROR_ILLEGAL_CHARACTER: DWORD = 582; -pub const ERROR_UNDEFINED_CHARACTER: DWORD = 583; -pub const ERROR_FLOPPY_VOLUME: DWORD = 584; -pub const ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT: DWORD = 585; -pub const ERROR_BACKUP_CONTROLLER: DWORD = 586; -pub const ERROR_MUTANT_LIMIT_EXCEEDED: DWORD = 587; -pub const ERROR_FS_DRIVER_REQUIRED: DWORD = 588; -pub const ERROR_CANNOT_LOAD_REGISTRY_FILE: DWORD = 589; -pub const ERROR_DEBUG_ATTACH_FAILED: DWORD = 590; -pub const ERROR_SYSTEM_PROCESS_TERMINATED: DWORD = 591; -pub const ERROR_DATA_NOT_ACCEPTED: DWORD = 592; -pub const ERROR_VDM_HARD_ERROR: DWORD = 593; -pub const ERROR_DRIVER_CANCEL_TIMEOUT: DWORD = 594; -pub const ERROR_REPLY_MESSAGE_MISMATCH: DWORD = 595; -pub const ERROR_LOST_WRITEBEHIND_DATA: DWORD = 596; -pub const ERROR_CLIENT_SERVER_PARAMETERS_INVALID: DWORD = 597; -pub const ERROR_NOT_TINY_STREAM: DWORD = 598; -pub const ERROR_STACK_OVERFLOW_READ: DWORD = 599; -pub const ERROR_CONVERT_TO_LARGE: DWORD = 600; -pub const ERROR_FOUND_OUT_OF_SCOPE: DWORD = 601; -pub const ERROR_ALLOCATE_BUCKET: DWORD = 602; -pub const ERROR_MARSHALL_OVERFLOW: DWORD = 603; -pub const ERROR_INVALID_VARIANT: DWORD = 604; -pub const ERROR_BAD_COMPRESSION_BUFFER: DWORD = 605; -pub const ERROR_AUDIT_FAILED: DWORD = 606; -pub const ERROR_TIMER_RESOLUTION_NOT_SET: DWORD = 607; -pub const ERROR_INSUFFICIENT_LOGON_INFO: DWORD = 608; -pub const ERROR_BAD_DLL_ENTRYPOINT: DWORD = 609; -pub const ERROR_BAD_SERVICE_ENTRYPOINT: DWORD = 610; -pub const ERROR_IP_ADDRESS_CONFLICT1: DWORD = 611; -pub const ERROR_IP_ADDRESS_CONFLICT2: DWORD = 612; -pub const ERROR_REGISTRY_QUOTA_LIMIT: DWORD = 613; -pub const ERROR_NO_CALLBACK_ACTIVE: DWORD = 614; -pub const ERROR_PWD_TOO_SHORT: DWORD = 615; -pub const ERROR_PWD_TOO_RECENT: DWORD = 616; -pub const ERROR_PWD_HISTORY_CONFLICT: DWORD = 617; -pub const ERROR_UNSUPPORTED_COMPRESSION: DWORD = 618; -pub const ERROR_INVALID_HW_PROFILE: DWORD = 619; -pub const ERROR_INVALID_PLUGPLAY_DEVICE_PATH: DWORD = 620; -pub const ERROR_QUOTA_LIST_INCONSISTENT: DWORD = 621; -pub const ERROR_EVALUATION_EXPIRATION: DWORD = 622; -pub const ERROR_ILLEGAL_DLL_RELOCATION: DWORD = 623; -pub const ERROR_DLL_INIT_FAILED_LOGOFF: DWORD = 624; -pub const ERROR_VALIDATE_CONTINUE: DWORD = 625; -pub const ERROR_NO_MORE_MATCHES: DWORD = 626; -pub const ERROR_RANGE_LIST_CONFLICT: DWORD = 627; -pub const ERROR_SERVER_SID_MISMATCH: DWORD = 628; -pub const ERROR_CANT_ENABLE_DENY_ONLY: DWORD = 629; -pub const ERROR_FLOAT_MULTIPLE_FAULTS: DWORD = 630; -pub const ERROR_FLOAT_MULTIPLE_TRAPS: DWORD = 631; -pub const ERROR_NOINTERFACE: DWORD = 632; -pub const ERROR_DRIVER_FAILED_SLEEP: DWORD = 633; -pub const ERROR_CORRUPT_SYSTEM_FILE: DWORD = 634; -pub const ERROR_COMMITMENT_MINIMUM: DWORD = 635; -pub const ERROR_PNP_RESTART_ENUMERATION: DWORD = 636; -pub const ERROR_SYSTEM_IMAGE_BAD_SIGNATURE: DWORD = 637; -pub const ERROR_PNP_REBOOT_REQUIRED: DWORD = 638; -pub const ERROR_INSUFFICIENT_POWER: DWORD = 639; -pub const ERROR_MULTIPLE_FAULT_VIOLATION: DWORD = 640; -pub const ERROR_SYSTEM_SHUTDOWN: DWORD = 641; -pub const ERROR_PORT_NOT_SET: DWORD = 642; -pub const ERROR_DS_VERSION_CHECK_FAILURE: DWORD = 643; -pub const ERROR_RANGE_NOT_FOUND: DWORD = 644; -pub const ERROR_NOT_SAFE_MODE_DRIVER: DWORD = 646; -pub const ERROR_FAILED_DRIVER_ENTRY: DWORD = 647; -pub const ERROR_DEVICE_ENUMERATION_ERROR: DWORD = 648; -pub const ERROR_MOUNT_POINT_NOT_RESOLVED: DWORD = 649; -pub const ERROR_INVALID_DEVICE_OBJECT_PARAMETER: DWORD = 650; -pub const ERROR_MCA_OCCURED: DWORD = 651; -pub const ERROR_DRIVER_DATABASE_ERROR: DWORD = 652; -pub const ERROR_SYSTEM_HIVE_TOO_LARGE: DWORD = 653; -pub const ERROR_DRIVER_FAILED_PRIOR_UNLOAD: DWORD = 654; -pub const ERROR_VOLSNAP_PREPARE_HIBERNATE: DWORD = 655; -pub const ERROR_HIBERNATION_FAILURE: DWORD = 656; -pub const ERROR_PWD_TOO_LONG: DWORD = 657; -pub const ERROR_FILE_SYSTEM_LIMITATION: DWORD = 665; -pub const ERROR_ASSERTION_FAILURE: DWORD = 668; -pub const ERROR_ACPI_ERROR: DWORD = 669; -pub const ERROR_WOW_ASSERTION: DWORD = 670; -pub const ERROR_PNP_BAD_MPS_TABLE: DWORD = 671; -pub const ERROR_PNP_TRANSLATION_FAILED: DWORD = 672; -pub const ERROR_PNP_IRQ_TRANSLATION_FAILED: DWORD = 673; -pub const ERROR_PNP_INVALID_ID: DWORD = 674; -pub const ERROR_WAKE_SYSTEM_DEBUGGER: DWORD = 675; -pub const ERROR_HANDLES_CLOSED: DWORD = 676; -pub const ERROR_EXTRANEOUS_INFORMATION: DWORD = 677; -pub const ERROR_RXACT_COMMIT_NECESSARY: DWORD = 678; -pub const ERROR_MEDIA_CHECK: DWORD = 679; -pub const ERROR_GUID_SUBSTITUTION_MADE: DWORD = 680; -pub const ERROR_STOPPED_ON_SYMLINK: DWORD = 681; -pub const ERROR_LONGJUMP: DWORD = 682; -pub const ERROR_PLUGPLAY_QUERY_VETOED: DWORD = 683; -pub const ERROR_UNWIND_CONSOLIDATE: DWORD = 684; -pub const ERROR_REGISTRY_HIVE_RECOVERED: DWORD = 685; -pub const ERROR_DLL_MIGHT_BE_INSECURE: DWORD = 686; -pub const ERROR_DLL_MIGHT_BE_INCOMPATIBLE: DWORD = 687; -pub const ERROR_DBG_EXCEPTION_NOT_HANDLED: DWORD = 688; -pub const ERROR_DBG_REPLY_LATER: DWORD = 689; -pub const ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE: DWORD = 690; -pub const ERROR_DBG_TERMINATE_THREAD: DWORD = 691; -pub const ERROR_DBG_TERMINATE_PROCESS: DWORD = 692; -pub const ERROR_DBG_CONTROL_C: DWORD = 693; -pub const ERROR_DBG_PRINTEXCEPTION_C: DWORD = 694; -pub const ERROR_DBG_RIPEXCEPTION: DWORD = 695; -pub const ERROR_DBG_CONTROL_BREAK: DWORD = 696; -pub const ERROR_DBG_COMMAND_EXCEPTION: DWORD = 697; -pub const ERROR_OBJECT_NAME_EXISTS: DWORD = 698; -pub const ERROR_THREAD_WAS_SUSPENDED: DWORD = 699; -pub const ERROR_IMAGE_NOT_AT_BASE: DWORD = 700; -pub const ERROR_RXACT_STATE_CREATED: DWORD = 701; -pub const ERROR_SEGMENT_NOTIFICATION: DWORD = 702; -pub const ERROR_BAD_CURRENT_DIRECTORY: DWORD = 703; -pub const ERROR_FT_READ_RECOVERY_FROM_BACKUP: DWORD = 704; -pub const ERROR_FT_WRITE_RECOVERY: DWORD = 705; -pub const ERROR_IMAGE_MACHINE_TYPE_MISMATCH: DWORD = 706; -pub const ERROR_RECEIVE_PARTIAL: DWORD = 707; -pub const ERROR_RECEIVE_EXPEDITED: DWORD = 708; -pub const ERROR_RECEIVE_PARTIAL_EXPEDITED: DWORD = 709; -pub const ERROR_EVENT_DONE: DWORD = 710; -pub const ERROR_EVENT_PENDING: DWORD = 711; -pub const ERROR_CHECKING_FILE_SYSTEM: DWORD = 712; -pub const ERROR_FATAL_APP_EXIT: DWORD = 713; -pub const ERROR_PREDEFINED_HANDLE: DWORD = 714; -pub const ERROR_WAS_UNLOCKED: DWORD = 715; -pub const ERROR_SERVICE_NOTIFICATION: DWORD = 716; -pub const ERROR_WAS_LOCKED: DWORD = 717; -pub const ERROR_LOG_HARD_ERROR: DWORD = 718; -pub const ERROR_ALREADY_WIN32: DWORD = 719; -pub const ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE: DWORD = 720; -pub const ERROR_NO_YIELD_PERFORMED: DWORD = 721; -pub const ERROR_TIMER_RESUME_IGNORED: DWORD = 722; -pub const ERROR_ARBITRATION_UNHANDLED: DWORD = 723; -pub const ERROR_CARDBUS_NOT_SUPPORTED: DWORD = 724; -pub const ERROR_MP_PROCESSOR_MISMATCH: DWORD = 725; -pub const ERROR_HIBERNATED: DWORD = 726; -pub const ERROR_RESUME_HIBERNATION: DWORD = 727; -pub const ERROR_FIRMWARE_UPDATED: DWORD = 728; -pub const ERROR_DRIVERS_LEAKING_LOCKED_PAGES: DWORD = 729; -pub const ERROR_WAKE_SYSTEM: DWORD = 730; -pub const ERROR_WAIT_1: DWORD = 731; -pub const ERROR_WAIT_2: DWORD = 732; -pub const ERROR_WAIT_3: DWORD = 733; -pub const ERROR_WAIT_63: DWORD = 734; -pub const ERROR_ABANDONED_WAIT_0: DWORD = 735; -pub const ERROR_ABANDONED_WAIT_63: DWORD = 736; -pub const ERROR_USER_APC: DWORD = 737; -pub const ERROR_KERNEL_APC: DWORD = 738; -pub const ERROR_ALERTED: DWORD = 739; -pub const ERROR_ELEVATION_REQUIRED: DWORD = 740; -pub const ERROR_REPARSE: DWORD = 741; -pub const ERROR_OPLOCK_BREAK_IN_PROGRESS: DWORD = 742; -pub const ERROR_VOLUME_MOUNTED: DWORD = 743; -pub const ERROR_RXACT_COMMITTED: DWORD = 744; -pub const ERROR_NOTIFY_CLEANUP: DWORD = 745; -pub const ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED: DWORD = 746; -pub const ERROR_PAGE_FAULT_TRANSITION: DWORD = 747; -pub const ERROR_PAGE_FAULT_DEMAND_ZERO: DWORD = 748; -pub const ERROR_PAGE_FAULT_COPY_ON_WRITE: DWORD = 749; -pub const ERROR_PAGE_FAULT_GUARD_PAGE: DWORD = 750; -pub const ERROR_PAGE_FAULT_PAGING_FILE: DWORD = 751; -pub const ERROR_CACHE_PAGE_LOCKED: DWORD = 752; -pub const ERROR_CRASH_DUMP: DWORD = 753; -pub const ERROR_BUFFER_ALL_ZEROS: DWORD = 754; -pub const ERROR_REPARSE_OBJECT: DWORD = 755; -pub const ERROR_RESOURCE_REQUIREMENTS_CHANGED: DWORD = 756; -pub const ERROR_TRANSLATION_COMPLETE: DWORD = 757; -pub const ERROR_NOTHING_TO_TERMINATE: DWORD = 758; -pub const ERROR_PROCESS_NOT_IN_JOB: DWORD = 759; -pub const ERROR_PROCESS_IN_JOB: DWORD = 760; -pub const ERROR_VOLSNAP_HIBERNATE_READY: DWORD = 761; -pub const ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY: DWORD = 762; -pub const ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED: DWORD = 763; -pub const ERROR_INTERRUPT_STILL_CONNECTED: DWORD = 764; -pub const ERROR_WAIT_FOR_OPLOCK: DWORD = 765; -pub const ERROR_DBG_EXCEPTION_HANDLED: DWORD = 766; -pub const ERROR_DBG_CONTINUE: DWORD = 767; -pub const ERROR_CALLBACK_POP_STACK: DWORD = 768; -pub const ERROR_COMPRESSION_DISABLED: DWORD = 769; -pub const ERROR_CANTFETCHBACKWARDS: DWORD = 770; -pub const ERROR_CANTSCROLLBACKWARDS: DWORD = 771; -pub const ERROR_ROWSNOTRELEASED: DWORD = 772; -pub const ERROR_BAD_ACCESSOR_FLAGS: DWORD = 773; -pub const ERROR_ERRORS_ENCOUNTERED: DWORD = 774; -pub const ERROR_NOT_CAPABLE: DWORD = 775; -pub const ERROR_REQUEST_OUT_OF_SEQUENCE: DWORD = 776; -pub const ERROR_VERSION_PARSE_ERROR: DWORD = 777; -pub const ERROR_BADSTARTPOSITION: DWORD = 778; -pub const ERROR_MEMORY_HARDWARE: DWORD = 779; -pub const ERROR_DISK_REPAIR_DISABLED: DWORD = 780; -pub const ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE: DWORD = 781; -pub const ERROR_SYSTEM_POWERSTATE_TRANSITION: DWORD = 782; -pub const ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION: DWORD = 783; -pub const ERROR_MCA_EXCEPTION: DWORD = 784; -pub const ERROR_ACCESS_AUDIT_BY_POLICY: DWORD = 785; -pub const ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY: DWORD = 786; -pub const ERROR_ABANDON_HIBERFILE: DWORD = 787; -pub const ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED: DWORD = 788; -pub const ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR: DWORD = 789; -pub const ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR: DWORD = 790; -pub const ERROR_BAD_MCFG_TABLE: DWORD = 791; -pub const ERROR_DISK_REPAIR_REDIRECTED: DWORD = 792; -pub const ERROR_DISK_REPAIR_UNSUCCESSFUL: DWORD = 793; -pub const ERROR_CORRUPT_LOG_OVERFULL: DWORD = 794; -pub const ERROR_CORRUPT_LOG_CORRUPTED: DWORD = 795; -pub const ERROR_CORRUPT_LOG_UNAVAILABLE: DWORD = 796; -pub const ERROR_CORRUPT_LOG_DELETED_FULL: DWORD = 797; -pub const ERROR_CORRUPT_LOG_CLEARED: DWORD = 798; -pub const ERROR_ORPHAN_NAME_EXHAUSTED: DWORD = 799; -pub const ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE: DWORD = 800; -pub const ERROR_CANNOT_GRANT_REQUESTED_OPLOCK: DWORD = 801; -pub const ERROR_CANNOT_BREAK_OPLOCK: DWORD = 802; -pub const ERROR_OPLOCK_HANDLE_CLOSED: DWORD = 803; -pub const ERROR_NO_ACE_CONDITION: DWORD = 804; -pub const ERROR_INVALID_ACE_CONDITION: DWORD = 805; -pub const ERROR_FILE_HANDLE_REVOKED: DWORD = 806; -pub const ERROR_IMAGE_AT_DIFFERENT_BASE: DWORD = 807; -pub const ERROR_ENCRYPTED_IO_NOT_POSSIBLE: DWORD = 808; -pub const ERROR_EA_ACCESS_DENIED: DWORD = 994; -pub const ERROR_OPERATION_ABORTED: DWORD = 995; -pub const ERROR_IO_INCOMPLETE: DWORD = 996; -pub const ERROR_IO_PENDING: DWORD = 997; -pub const ERROR_NOACCESS: DWORD = 998; -pub const ERROR_SWAPERROR: DWORD = 999; -pub const ERROR_STACK_OVERFLOW: DWORD = 1001; -pub const ERROR_INVALID_MESSAGE: DWORD = 1002; -pub const ERROR_CAN_NOT_COMPLETE: DWORD = 1003; -pub const ERROR_INVALID_FLAGS: DWORD = 1004; -pub const ERROR_UNRECOGNIZED_VOLUME: DWORD = 1005; -pub const ERROR_FILE_INVALID: DWORD = 1006; -pub const ERROR_FULLSCREEN_MODE: DWORD = 1007; -pub const ERROR_NO_TOKEN: DWORD = 1008; -pub const ERROR_BADDB: DWORD = 1009; -pub const ERROR_BADKEY: DWORD = 1010; -pub const ERROR_CANTOPEN: DWORD = 1011; -pub const ERROR_CANTREAD: DWORD = 1012; -pub const ERROR_CANTWRITE: DWORD = 1013; -pub const ERROR_REGISTRY_RECOVERED: DWORD = 1014; -pub const ERROR_REGISTRY_CORRUPT: DWORD = 1015; -pub const ERROR_REGISTRY_IO_FAILED: DWORD = 1016; -pub const ERROR_NOT_REGISTRY_FILE: DWORD = 1017; -pub const ERROR_KEY_DELETED: DWORD = 1018; -pub const ERROR_NO_LOG_SPACE: DWORD = 1019; -pub const ERROR_KEY_HAS_CHILDREN: DWORD = 1020; -pub const ERROR_CHILD_MUST_BE_VOLATILE: DWORD = 1021; -pub const ERROR_NOTIFY_ENUM_DIR: DWORD = 1022; -pub const ERROR_DEPENDENT_SERVICES_RUNNING: DWORD = 1051; -pub const ERROR_INVALID_SERVICE_CONTROL: DWORD = 1052; -pub const ERROR_SERVICE_REQUEST_TIMEOUT: DWORD = 1053; -pub const ERROR_SERVICE_NO_THREAD: DWORD = 1054; -pub const ERROR_SERVICE_DATABASE_LOCKED: DWORD = 1055; -pub const ERROR_SERVICE_ALREADY_RUNNING: DWORD = 1056; -pub const ERROR_INVALID_SERVICE_ACCOUNT: DWORD = 1057; -pub const ERROR_SERVICE_DISABLED: DWORD = 1058; -pub const ERROR_CIRCULAR_DEPENDENCY: DWORD = 1059; -pub const ERROR_SERVICE_DOES_NOT_EXIST: DWORD = 1060; -pub const ERROR_SERVICE_CANNOT_ACCEPT_CTRL: DWORD = 1061; -pub const ERROR_SERVICE_NOT_ACTIVE: DWORD = 1062; -pub const ERROR_FAILED_SERVICE_CONTROLLER_CONNECT: DWORD = 1063; -pub const ERROR_EXCEPTION_IN_SERVICE: DWORD = 1064; -pub const ERROR_DATABASE_DOES_NOT_EXIST: DWORD = 1065; -pub const ERROR_SERVICE_SPECIFIC_ERROR: DWORD = 1066; -pub const ERROR_PROCESS_ABORTED: DWORD = 1067; -pub const ERROR_SERVICE_DEPENDENCY_FAIL: DWORD = 1068; -pub const ERROR_SERVICE_LOGON_FAILED: DWORD = 1069; -pub const ERROR_SERVICE_START_HANG: DWORD = 1070; -pub const ERROR_INVALID_SERVICE_LOCK: DWORD = 1071; -pub const ERROR_SERVICE_MARKED_FOR_DELETE: DWORD = 1072; -pub const ERROR_SERVICE_EXISTS: DWORD = 1073; -pub const ERROR_ALREADY_RUNNING_LKG: DWORD = 1074; -pub const ERROR_SERVICE_DEPENDENCY_DELETED: DWORD = 1075; -pub const ERROR_BOOT_ALREADY_ACCEPTED: DWORD = 1076; -pub const ERROR_SERVICE_NEVER_STARTED: DWORD = 1077; -pub const ERROR_DUPLICATE_SERVICE_NAME: DWORD = 1078; -pub const ERROR_DIFFERENT_SERVICE_ACCOUNT: DWORD = 1079; -pub const ERROR_CANNOT_DETECT_DRIVER_FAILURE: DWORD = 1080; -pub const ERROR_CANNOT_DETECT_PROCESS_ABORT: DWORD = 1081; -pub const ERROR_NO_RECOVERY_PROGRAM: DWORD = 1082; -pub const ERROR_SERVICE_NOT_IN_EXE: DWORD = 1083; -pub const ERROR_NOT_SAFEBOOT_SERVICE: DWORD = 1084; -pub const ERROR_END_OF_MEDIA: DWORD = 1100; -pub const ERROR_FILEMARK_DETECTED: DWORD = 1101; -pub const ERROR_BEGINNING_OF_MEDIA: DWORD = 1102; -pub const ERROR_SETMARK_DETECTED: DWORD = 1103; -pub const ERROR_NO_DATA_DETECTED: DWORD = 1104; -pub const ERROR_PARTITION_FAILURE: DWORD = 1105; -pub const ERROR_INVALID_BLOCK_LENGTH: DWORD = 1106; -pub const ERROR_DEVICE_NOT_PARTITIONED: DWORD = 1107; -pub const ERROR_UNABLE_TO_LOCK_MEDIA: DWORD = 1108; -pub const ERROR_UNABLE_TO_UNLOAD_MEDIA: DWORD = 1109; -pub const ERROR_MEDIA_CHANGED: DWORD = 1110; -pub const ERROR_BUS_RESET: DWORD = 1111; -pub const ERROR_NO_MEDIA_IN_DRIVE: DWORD = 1112; -pub const ERROR_NO_UNICODE_TRANSLATION: DWORD = 1113; -pub const ERROR_DLL_INIT_FAILED: DWORD = 1114; -pub const ERROR_SHUTDOWN_IN_PROGRESS: DWORD = 1115; -pub const ERROR_NO_SHUTDOWN_IN_PROGRESS: DWORD = 1116; -pub const ERROR_IO_DEVICE: DWORD = 1117; -pub const ERROR_SERIAL_NO_DEVICE: DWORD = 1118; -pub const ERROR_IRQ_BUSY: DWORD = 1119; -pub const ERROR_MORE_WRITES: DWORD = 1120; -pub const ERROR_COUNTER_TIMEOUT: DWORD = 1121; -pub const ERROR_FLOPPY_ID_MARK_NOT_FOUND: DWORD = 1122; -pub const ERROR_FLOPPY_WRONG_CYLINDER: DWORD = 1123; -pub const ERROR_FLOPPY_UNKNOWN_ERROR: DWORD = 1124; -pub const ERROR_FLOPPY_BAD_REGISTERS: DWORD = 1125; -pub const ERROR_DISK_RECALIBRATE_FAILED: DWORD = 1126; -pub const ERROR_DISK_OPERATION_FAILED: DWORD = 1127; -pub const ERROR_DISK_RESET_FAILED: DWORD = 1128; -pub const ERROR_EOM_OVERFLOW: DWORD = 1129; -pub const ERROR_NOT_ENOUGH_SERVER_MEMORY: DWORD = 1130; -pub const ERROR_POSSIBLE_DEADLOCK: DWORD = 1131; -pub const ERROR_MAPPED_ALIGNMENT: DWORD = 1132; -pub const ERROR_SET_POWER_STATE_VETOED: DWORD = 1140; -pub const ERROR_SET_POWER_STATE_FAILED: DWORD = 1141; -pub const ERROR_TOO_MANY_LINKS: DWORD = 1142; -pub const ERROR_OLD_WIN_VERSION: DWORD = 1150; -pub const ERROR_APP_WRONG_OS: DWORD = 1151; -pub const ERROR_SINGLE_INSTANCE_APP: DWORD = 1152; -pub const ERROR_RMODE_APP: DWORD = 1153; -pub const ERROR_INVALID_DLL: DWORD = 1154; -pub const ERROR_NO_ASSOCIATION: DWORD = 1155; -pub const ERROR_DDE_FAIL: DWORD = 1156; -pub const ERROR_DLL_NOT_FOUND: DWORD = 1157; -pub const ERROR_NO_MORE_USER_HANDLES: DWORD = 1158; -pub const ERROR_MESSAGE_SYNC_ONLY: DWORD = 1159; -pub const ERROR_SOURCE_ELEMENT_EMPTY: DWORD = 1160; -pub const ERROR_DESTINATION_ELEMENT_FULL: DWORD = 1161; -pub const ERROR_ILLEGAL_ELEMENT_ADDRESS: DWORD = 1162; -pub const ERROR_MAGAZINE_NOT_PRESENT: DWORD = 1163; -pub const ERROR_DEVICE_REINITIALIZATION_NEEDED: DWORD = 1164; -pub const ERROR_DEVICE_REQUIRES_CLEANING: DWORD = 1165; -pub const ERROR_DEVICE_DOOR_OPEN: DWORD = 1166; -pub const ERROR_DEVICE_NOT_CONNECTED: DWORD = 1167; -pub const ERROR_NOT_FOUND: DWORD = 1168; -pub const ERROR_NO_MATCH: DWORD = 1169; -pub const ERROR_SET_NOT_FOUND: DWORD = 1170; -pub const ERROR_POINT_NOT_FOUND: DWORD = 1171; -pub const ERROR_NO_TRACKING_SERVICE: DWORD = 1172; -pub const ERROR_NO_VOLUME_ID: DWORD = 1173; -pub const ERROR_UNABLE_TO_REMOVE_REPLACED: DWORD = 1175; -pub const ERROR_UNABLE_TO_MOVE_REPLACEMENT: DWORD = 1176; -pub const ERROR_UNABLE_TO_MOVE_REPLACEMENT_2: DWORD = 1177; -pub const ERROR_JOURNAL_DELETE_IN_PROGRESS: DWORD = 1178; -pub const ERROR_JOURNAL_NOT_ACTIVE: DWORD = 1179; -pub const ERROR_POTENTIAL_FILE_FOUND: DWORD = 1180; -pub const ERROR_JOURNAL_ENTRY_DELETED: DWORD = 1181; -pub const ERROR_SHUTDOWN_IS_SCHEDULED: DWORD = 1190; -pub const ERROR_SHUTDOWN_USERS_LOGGED_ON: DWORD = 1191; -pub const ERROR_BAD_DEVICE: DWORD = 1200; -pub const ERROR_CONNECTION_UNAVAIL: DWORD = 1201; -pub const ERROR_DEVICE_ALREADY_REMEMBERED: DWORD = 1202; -pub const ERROR_NO_NET_OR_BAD_PATH: DWORD = 1203; -pub const ERROR_BAD_PROVIDER: DWORD = 1204; -pub const ERROR_CANNOT_OPEN_PROFILE: DWORD = 1205; -pub const ERROR_BAD_PROFILE: DWORD = 1206; -pub const ERROR_NOT_CONTAINER: DWORD = 1207; -pub const ERROR_EXTENDED_ERROR: DWORD = 1208; -pub const ERROR_INVALID_GROUPNAME: DWORD = 1209; -pub const ERROR_INVALID_COMPUTERNAME: DWORD = 1210; -pub const ERROR_INVALID_EVENTNAME: DWORD = 1211; -pub const ERROR_INVALID_DOMAINNAME: DWORD = 1212; -pub const ERROR_INVALID_SERVICENAME: DWORD = 1213; -pub const ERROR_INVALID_NETNAME: DWORD = 1214; -pub const ERROR_INVALID_SHARENAME: DWORD = 1215; -pub const ERROR_INVALID_PASSWORDNAME: DWORD = 1216; -pub const ERROR_INVALID_MESSAGENAME: DWORD = 1217; -pub const ERROR_INVALID_MESSAGEDEST: DWORD = 1218; -pub const ERROR_SESSION_CREDENTIAL_CONFLICT: DWORD = 1219; -pub const ERROR_REMOTE_SESSION_LIMIT_EXCEEDED: DWORD = 1220; -pub const ERROR_DUP_DOMAINNAME: DWORD = 1221; -pub const ERROR_NO_NETWORK: DWORD = 1222; -pub const ERROR_CANCELLED: DWORD = 1223; -pub const ERROR_USER_MAPPED_FILE: DWORD = 1224; -pub const ERROR_CONNECTION_REFUSED: DWORD = 1225; -pub const ERROR_GRACEFUL_DISCONNECT: DWORD = 1226; -pub const ERROR_ADDRESS_ALREADY_ASSOCIATED: DWORD = 1227; -pub const ERROR_ADDRESS_NOT_ASSOCIATED: DWORD = 1228; -pub const ERROR_CONNECTION_INVALID: DWORD = 1229; -pub const ERROR_CONNECTION_ACTIVE: DWORD = 1230; -pub const ERROR_NETWORK_UNREACHABLE: DWORD = 1231; -pub const ERROR_HOST_UNREACHABLE: DWORD = 1232; -pub const ERROR_PROTOCOL_UNREACHABLE: DWORD = 1233; -pub const ERROR_PORT_UNREACHABLE: DWORD = 1234; -pub const ERROR_REQUEST_ABORTED: DWORD = 1235; -pub const ERROR_CONNECTION_ABORTED: DWORD = 1236; -pub const ERROR_RETRY: DWORD = 1237; -pub const ERROR_CONNECTION_COUNT_LIMIT: DWORD = 1238; -pub const ERROR_LOGIN_TIME_RESTRICTION: DWORD = 1239; -pub const ERROR_LOGIN_WKSTA_RESTRICTION: DWORD = 1240; -pub const ERROR_INCORRECT_ADDRESS: DWORD = 1241; -pub const ERROR_ALREADY_REGISTERED: DWORD = 1242; -pub const ERROR_SERVICE_NOT_FOUND: DWORD = 1243; -pub const ERROR_NOT_AUTHENTICATED: DWORD = 1244; -pub const ERROR_NOT_LOGGED_ON: DWORD = 1245; -pub const ERROR_CONTINUE: DWORD = 1246; -pub const ERROR_ALREADY_INITIALIZED: DWORD = 1247; -pub const ERROR_NO_MORE_DEVICES: DWORD = 1248; -pub const ERROR_NO_SUCH_SITE: DWORD = 1249; -pub const ERROR_DOMAIN_CONTROLLER_EXISTS: DWORD = 1250; -pub const ERROR_ONLY_IF_CONNECTED: DWORD = 1251; -pub const ERROR_OVERRIDE_NOCHANGES: DWORD = 1252; -pub const ERROR_BAD_USER_PROFILE: DWORD = 1253; -pub const ERROR_NOT_SUPPORTED_ON_SBS: DWORD = 1254; -pub const ERROR_SERVER_SHUTDOWN_IN_PROGRESS: DWORD = 1255; -pub const ERROR_HOST_DOWN: DWORD = 1256; -pub const ERROR_NON_ACCOUNT_SID: DWORD = 1257; -pub const ERROR_NON_DOMAIN_SID: DWORD = 1258; -pub const ERROR_APPHELP_BLOCK: DWORD = 1259; -pub const ERROR_ACCESS_DISABLED_BY_POLICY: DWORD = 1260; -pub const ERROR_REG_NAT_CONSUMPTION: DWORD = 1261; -pub const ERROR_CSCSHARE_OFFLINE: DWORD = 1262; -pub const ERROR_PKINIT_FAILURE: DWORD = 1263; -pub const ERROR_SMARTCARD_SUBSYSTEM_FAILURE: DWORD = 1264; -pub const ERROR_DOWNGRADE_DETECTED: DWORD = 1265; -pub const ERROR_MACHINE_LOCKED: DWORD = 1271; -pub const ERROR_CALLBACK_SUPPLIED_INVALID_DATA: DWORD = 1273; -pub const ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED: DWORD = 1274; -pub const ERROR_DRIVER_BLOCKED: DWORD = 1275; -pub const ERROR_INVALID_IMPORT_OF_NON_DLL: DWORD = 1276; -pub const ERROR_ACCESS_DISABLED_WEBBLADE: DWORD = 1277; -pub const ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER: DWORD = 1278; -pub const ERROR_RECOVERY_FAILURE: DWORD = 1279; -pub const ERROR_ALREADY_FIBER: DWORD = 1280; -pub const ERROR_ALREADY_THREAD: DWORD = 1281; -pub const ERROR_STACK_BUFFER_OVERRUN: DWORD = 1282; -pub const ERROR_PARAMETER_QUOTA_EXCEEDED: DWORD = 1283; -pub const ERROR_DEBUGGER_INACTIVE: DWORD = 1284; -pub const ERROR_DELAY_LOAD_FAILED: DWORD = 1285; -pub const ERROR_VDM_DISALLOWED: DWORD = 1286; -pub const ERROR_UNIDENTIFIED_ERROR: DWORD = 1287; -pub const ERROR_INVALID_CRUNTIME_PARAMETER: DWORD = 1288; -pub const ERROR_BEYOND_VDL: DWORD = 1289; -pub const ERROR_INCOMPATIBLE_SERVICE_SID_TYPE: DWORD = 1290; -pub const ERROR_DRIVER_PROCESS_TERMINATED: DWORD = 1291; -pub const ERROR_IMPLEMENTATION_LIMIT: DWORD = 1292; -pub const ERROR_PROCESS_IS_PROTECTED: DWORD = 1293; -pub const ERROR_SERVICE_NOTIFY_CLIENT_LAGGING: DWORD = 1294; -pub const ERROR_DISK_QUOTA_EXCEEDED: DWORD = 1295; -pub const ERROR_CONTENT_BLOCKED: DWORD = 1296; -pub const ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE: DWORD = 1297; -pub const ERROR_APP_HANG: DWORD = 1298; -pub const ERROR_INVALID_LABEL: DWORD = 1299; -pub const ERROR_NOT_ALL_ASSIGNED: DWORD = 1300; -pub const ERROR_SOME_NOT_MAPPED: DWORD = 1301; -pub const ERROR_NO_QUOTAS_FOR_ACCOUNT: DWORD = 1302; -pub const ERROR_LOCAL_USER_SESSION_KEY: DWORD = 1303; -pub const ERROR_NULL_LM_PASSWORD: DWORD = 1304; -pub const ERROR_UNKNOWN_REVISION: DWORD = 1305; -pub const ERROR_REVISION_MISMATCH: DWORD = 1306; -pub const ERROR_INVALID_OWNER: DWORD = 1307; -pub const ERROR_INVALID_PRIMARY_GROUP: DWORD = 1308; -pub const ERROR_NO_IMPERSONATION_TOKEN: DWORD = 1309; -pub const ERROR_CANT_DISABLE_MANDATORY: DWORD = 1310; -pub const ERROR_NO_LOGON_SERVERS: DWORD = 1311; -pub const ERROR_NO_SUCH_LOGON_SESSION: DWORD = 1312; -pub const ERROR_NO_SUCH_PRIVILEGE: DWORD = 1313; -pub const ERROR_PRIVILEGE_NOT_HELD: DWORD = 1314; -pub const ERROR_INVALID_ACCOUNT_NAME: DWORD = 1315; -pub const ERROR_USER_EXISTS: DWORD = 1316; -pub const ERROR_NO_SUCH_USER: DWORD = 1317; -pub const ERROR_GROUP_EXISTS: DWORD = 1318; -pub const ERROR_NO_SUCH_GROUP: DWORD = 1319; -pub const ERROR_MEMBER_IN_GROUP: DWORD = 1320; -pub const ERROR_MEMBER_NOT_IN_GROUP: DWORD = 1321; -pub const ERROR_LAST_ADMIN: DWORD = 1322; -pub const ERROR_WRONG_PASSWORD: DWORD = 1323; -pub const ERROR_ILL_FORMED_PASSWORD: DWORD = 1324; -pub const ERROR_PASSWORD_RESTRICTION: DWORD = 1325; -pub const ERROR_LOGON_FAILURE: DWORD = 1326; -pub const ERROR_ACCOUNT_RESTRICTION: DWORD = 1327; -pub const ERROR_INVALID_LOGON_HOURS: DWORD = 1328; -pub const ERROR_INVALID_WORKSTATION: DWORD = 1329; -pub const ERROR_PASSWORD_EXPIRED: DWORD = 1330; -pub const ERROR_ACCOUNT_DISABLED: DWORD = 1331; -pub const ERROR_NONE_MAPPED: DWORD = 1332; -pub const ERROR_TOO_MANY_LUIDS_REQUESTED: DWORD = 1333; -pub const ERROR_LUIDS_EXHAUSTED: DWORD = 1334; -pub const ERROR_INVALID_SUB_AUTHORITY: DWORD = 1335; -pub const ERROR_INVALID_ACL: DWORD = 1336; -pub const ERROR_INVALID_SID: DWORD = 1337; -pub const ERROR_INVALID_SECURITY_DESCR: DWORD = 1338; -pub const ERROR_BAD_INHERITANCE_ACL: DWORD = 1340; -pub const ERROR_SERVER_DISABLED: DWORD = 1341; -pub const ERROR_SERVER_NOT_DISABLED: DWORD = 1342; -pub const ERROR_INVALID_ID_AUTHORITY: DWORD = 1343; -pub const ERROR_ALLOTTED_SPACE_EXCEEDED: DWORD = 1344; -pub const ERROR_INVALID_GROUP_ATTRIBUTES: DWORD = 1345; -pub const ERROR_BAD_IMPERSONATION_LEVEL: DWORD = 1346; -pub const ERROR_CANT_OPEN_ANONYMOUS: DWORD = 1347; -pub const ERROR_BAD_VALIDATION_CLASS: DWORD = 1348; -pub const ERROR_BAD_TOKEN_TYPE: DWORD = 1349; -pub const ERROR_NO_SECURITY_ON_OBJECT: DWORD = 1350; -pub const ERROR_CANT_ACCESS_DOMAIN_INFO: DWORD = 1351; -pub const ERROR_INVALID_SERVER_STATE: DWORD = 1352; -pub const ERROR_INVALID_DOMAIN_STATE: DWORD = 1353; -pub const ERROR_INVALID_DOMAIN_ROLE: DWORD = 1354; -pub const ERROR_NO_SUCH_DOMAIN: DWORD = 1355; -pub const ERROR_DOMAIN_EXISTS: DWORD = 1356; -pub const ERROR_DOMAIN_LIMIT_EXCEEDED: DWORD = 1357; -pub const ERROR_INTERNAL_DB_CORRUPTION: DWORD = 1358; -pub const ERROR_INTERNAL_ERROR: DWORD = 1359; -pub const ERROR_GENERIC_NOT_MAPPED: DWORD = 1360; -pub const ERROR_BAD_DESCRIPTOR_FORMAT: DWORD = 1361; -pub const ERROR_NOT_LOGON_PROCESS: DWORD = 1362; -pub const ERROR_LOGON_SESSION_EXISTS: DWORD = 1363; -pub const ERROR_NO_SUCH_PACKAGE: DWORD = 1364; -pub const ERROR_BAD_LOGON_SESSION_STATE: DWORD = 1365; -pub const ERROR_LOGON_SESSION_COLLISION: DWORD = 1366; -pub const ERROR_INVALID_LOGON_TYPE: DWORD = 1367; -pub const ERROR_CANNOT_IMPERSONATE: DWORD = 1368; -pub const ERROR_RXACT_INVALID_STATE: DWORD = 1369; -pub const ERROR_RXACT_COMMIT_FAILURE: DWORD = 1370; -pub const ERROR_SPECIAL_ACCOUNT: DWORD = 1371; -pub const ERROR_SPECIAL_GROUP: DWORD = 1372; -pub const ERROR_SPECIAL_USER: DWORD = 1373; -pub const ERROR_MEMBERS_PRIMARY_GROUP: DWORD = 1374; -pub const ERROR_TOKEN_ALREADY_IN_USE: DWORD = 1375; -pub const ERROR_NO_SUCH_ALIAS: DWORD = 1376; -pub const ERROR_MEMBER_NOT_IN_ALIAS: DWORD = 1377; -pub const ERROR_MEMBER_IN_ALIAS: DWORD = 1378; -pub const ERROR_ALIAS_EXISTS: DWORD = 1379; -pub const ERROR_LOGON_NOT_GRANTED: DWORD = 1380; -pub const ERROR_TOO_MANY_SECRETS: DWORD = 1381; -pub const ERROR_SECRET_TOO_LONG: DWORD = 1382; -pub const ERROR_INTERNAL_DB_ERROR: DWORD = 1383; -pub const ERROR_TOO_MANY_CONTEXT_IDS: DWORD = 1384; -pub const ERROR_LOGON_TYPE_NOT_GRANTED: DWORD = 1385; -pub const ERROR_NT_CROSS_ENCRYPTION_REQUIRED: DWORD = 1386; -pub const ERROR_NO_SUCH_MEMBER: DWORD = 1387; -pub const ERROR_INVALID_MEMBER: DWORD = 1388; -pub const ERROR_TOO_MANY_SIDS: DWORD = 1389; -pub const ERROR_LM_CROSS_ENCRYPTION_REQUIRED: DWORD = 1390; -pub const ERROR_NO_INHERITANCE: DWORD = 1391; -pub const ERROR_FILE_CORRUPT: DWORD = 1392; -pub const ERROR_DISK_CORRUPT: DWORD = 1393; -pub const ERROR_NO_USER_SESSION_KEY: DWORD = 1394; -pub const ERROR_LICENSE_QUOTA_EXCEEDED: DWORD = 1395; -pub const ERROR_WRONG_TARGET_NAME: DWORD = 1396; -pub const ERROR_MUTUAL_AUTH_FAILED: DWORD = 1397; -pub const ERROR_TIME_SKEW: DWORD = 1398; -pub const ERROR_CURRENT_DOMAIN_NOT_ALLOWED: DWORD = 1399; -pub const ERROR_INVALID_WINDOW_HANDLE: DWORD = 1400; -pub const ERROR_INVALID_MENU_HANDLE: DWORD = 1401; -pub const ERROR_INVALID_CURSOR_HANDLE: DWORD = 1402; -pub const ERROR_INVALID_ACCEL_HANDLE: DWORD = 1403; -pub const ERROR_INVALID_HOOK_HANDLE: DWORD = 1404; -pub const ERROR_INVALID_DWP_HANDLE: DWORD = 1405; -pub const ERROR_TLW_WITH_WSCHILD: DWORD = 1406; -pub const ERROR_CANNOT_FIND_WND_CLASS: DWORD = 1407; -pub const ERROR_WINDOW_OF_OTHER_THREAD: DWORD = 1408; -pub const ERROR_HOTKEY_ALREADY_REGISTERED: DWORD = 1409; -pub const ERROR_CLASS_ALREADY_EXISTS: DWORD = 1410; -pub const ERROR_CLASS_DOES_NOT_EXIST: DWORD = 1411; -pub const ERROR_CLASS_HAS_WINDOWS: DWORD = 1412; -pub const ERROR_INVALID_INDEX: DWORD = 1413; -pub const ERROR_INVALID_ICON_HANDLE: DWORD = 1414; -pub const ERROR_PRIVATE_DIALOG_INDEX: DWORD = 1415; -pub const ERROR_LISTBOX_ID_NOT_FOUND: DWORD = 1416; -pub const ERROR_NO_WILDCARD_CHARACTERS: DWORD = 1417; -pub const ERROR_CLIPBOARD_NOT_OPEN: DWORD = 1418; -pub const ERROR_HOTKEY_NOT_REGISTERED: DWORD = 1419; -pub const ERROR_WINDOW_NOT_DIALOG: DWORD = 1420; -pub const ERROR_CONTROL_ID_NOT_FOUND: DWORD = 1421; -pub const ERROR_INVALID_COMBOBOX_MESSAGE: DWORD = 1422; -pub const ERROR_WINDOW_NOT_COMBOBOX: DWORD = 1423; -pub const ERROR_INVALID_EDIT_HEIGHT: DWORD = 1424; -pub const ERROR_DC_NOT_FOUND: DWORD = 1425; -pub const ERROR_INVALID_HOOK_FILTER: DWORD = 1426; -pub const ERROR_INVALID_FILTER_PROC: DWORD = 1427; -pub const ERROR_HOOK_NEEDS_HMOD: DWORD = 1428; -pub const ERROR_GLOBAL_ONLY_HOOK: DWORD = 1429; -pub const ERROR_JOURNAL_HOOK_SET: DWORD = 1430; -pub const ERROR_HOOK_NOT_INSTALLED: DWORD = 1431; -pub const ERROR_INVALID_LB_MESSAGE: DWORD = 1432; -pub const ERROR_SETCOUNT_ON_BAD_LB: DWORD = 1433; -pub const ERROR_LB_WITHOUT_TABSTOPS: DWORD = 1434; -pub const ERROR_DESTROY_OBJECT_OF_OTHER_THREAD: DWORD = 1435; -pub const ERROR_CHILD_WINDOW_MENU: DWORD = 1436; -pub const ERROR_NO_SYSTEM_MENU: DWORD = 1437; -pub const ERROR_INVALID_MSGBOX_STYLE: DWORD = 1438; -pub const ERROR_INVALID_SPI_VALUE: DWORD = 1439; -pub const ERROR_SCREEN_ALREADY_LOCKED: DWORD = 1440; -pub const ERROR_HWNDS_HAVE_DIFF_PARENT: DWORD = 1441; -pub const ERROR_NOT_CHILD_WINDOW: DWORD = 1442; -pub const ERROR_INVALID_GW_COMMAND: DWORD = 1443; -pub const ERROR_INVALID_THREAD_ID: DWORD = 1444; -pub const ERROR_NON_MDICHILD_WINDOW: DWORD = 1445; -pub const ERROR_POPUP_ALREADY_ACTIVE: DWORD = 1446; -pub const ERROR_NO_SCROLLBARS: DWORD = 1447; -pub const ERROR_INVALID_SCROLLBAR_RANGE: DWORD = 1448; -pub const ERROR_INVALID_SHOWWIN_COMMAND: DWORD = 1449; -pub const ERROR_NO_SYSTEM_RESOURCES: DWORD = 1450; -pub const ERROR_NONPAGED_SYSTEM_RESOURCES: DWORD = 1451; -pub const ERROR_PAGED_SYSTEM_RESOURCES: DWORD = 1452; -pub const ERROR_WORKING_SET_QUOTA: DWORD = 1453; -pub const ERROR_PAGEFILE_QUOTA: DWORD = 1454; -pub const ERROR_COMMITMENT_LIMIT: DWORD = 1455; -pub const ERROR_MENU_ITEM_NOT_FOUND: DWORD = 1456; -pub const ERROR_INVALID_KEYBOARD_HANDLE: DWORD = 1457; -pub const ERROR_HOOK_TYPE_NOT_ALLOWED: DWORD = 1458; -pub const ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION: DWORD = 1459; -pub const ERROR_TIMEOUT: DWORD = 1460; -pub const ERROR_INVALID_MONITOR_HANDLE: DWORD = 1461; -pub const ERROR_INCORRECT_SIZE: DWORD = 1462; -pub const ERROR_SYMLINK_CLASS_DISABLED: DWORD = 1463; -pub const ERROR_SYMLINK_NOT_SUPPORTED: DWORD = 1464; -pub const ERROR_XML_PARSE_ERROR: DWORD = 1465; -pub const ERROR_XMLDSIG_ERROR: DWORD = 1466; -pub const ERROR_RESTART_APPLICATION: DWORD = 1467; -pub const ERROR_WRONG_COMPARTMENT: DWORD = 1468; -pub const ERROR_AUTHIP_FAILURE: DWORD = 1469; -pub const ERROR_NO_NVRAM_RESOURCES: DWORD = 1470; -pub const ERROR_NOT_GUI_PROCESS: DWORD = 1471; -pub const ERROR_EVENTLOG_FILE_CORRUPT: DWORD = 1500; -pub const ERROR_EVENTLOG_CANT_START: DWORD = 1501; -pub const ERROR_LOG_FILE_FULL: DWORD = 1502; -pub const ERROR_EVENTLOG_FILE_CHANGED: DWORD = 1503; -pub const ERROR_INVALID_TASK_NAME: DWORD = 1550; -pub const ERROR_INVALID_TASK_INDEX: DWORD = 1551; -pub const ERROR_THREAD_ALREADY_IN_TASK: DWORD = 1552; -pub const ERROR_INSTALL_SERVICE_FAILURE: DWORD = 1601; -pub const ERROR_INSTALL_USEREXIT: DWORD = 1602; -pub const ERROR_INSTALL_FAILURE: DWORD = 1603; -pub const ERROR_INSTALL_SUSPEND: DWORD = 1604; -pub const ERROR_UNKNOWN_PRODUCT: DWORD = 1605; -pub const ERROR_UNKNOWN_FEATURE: DWORD = 1606; -pub const ERROR_UNKNOWN_COMPONENT: DWORD = 1607; -pub const ERROR_UNKNOWN_PROPERTY: DWORD = 1608; -pub const ERROR_INVALID_HANDLE_STATE: DWORD = 1609; -pub const ERROR_BAD_CONFIGURATION: DWORD = 1610; -pub const ERROR_INDEX_ABSENT: DWORD = 1611; -pub const ERROR_INSTALL_SOURCE_ABSENT: DWORD = 1612; -pub const ERROR_INSTALL_PACKAGE_VERSION: DWORD = 1613; -pub const ERROR_PRODUCT_UNINSTALLED: DWORD = 1614; -pub const ERROR_BAD_QUERY_SYNTAX: DWORD = 1615; -pub const ERROR_INVALID_FIELD: DWORD = 1616; -pub const ERROR_DEVICE_REMOVED: DWORD = 1617; -pub const ERROR_INSTALL_ALREADY_RUNNING: DWORD = 1618; -pub const ERROR_INSTALL_PACKAGE_OPEN_FAILED: DWORD = 1619; -pub const ERROR_INSTALL_PACKAGE_INVALID: DWORD = 1620; -pub const ERROR_INSTALL_UI_FAILURE: DWORD = 1621; -pub const ERROR_INSTALL_LOG_FAILURE: DWORD = 1622; -pub const ERROR_INSTALL_LANGUAGE_UNSUPPORTED: DWORD = 1623; -pub const ERROR_INSTALL_TRANSFORM_FAILURE: DWORD = 1624; -pub const ERROR_INSTALL_PACKAGE_REJECTED: DWORD = 1625; -pub const ERROR_FUNCTION_NOT_CALLED: DWORD = 1626; -pub const ERROR_FUNCTION_FAILED: DWORD = 1627; -pub const ERROR_INVALID_TABLE: DWORD = 1628; -pub const ERROR_DATATYPE_MISMATCH: DWORD = 1629; -pub const ERROR_UNSUPPORTED_TYPE: DWORD = 1630; -pub const ERROR_CREATE_FAILED: DWORD = 1631; -pub const ERROR_INSTALL_TEMP_UNWRITABLE: DWORD = 1632; -pub const ERROR_INSTALL_PLATFORM_UNSUPPORTED: DWORD = 1633; -pub const ERROR_INSTALL_NOTUSED: DWORD = 1634; -pub const ERROR_PATCH_PACKAGE_OPEN_FAILED: DWORD = 1635; -pub const ERROR_PATCH_PACKAGE_INVALID: DWORD = 1636; -pub const ERROR_PATCH_PACKAGE_UNSUPPORTED: DWORD = 1637; -pub const ERROR_PRODUCT_VERSION: DWORD = 1638; -pub const ERROR_INVALID_COMMAND_LINE: DWORD = 1639; -pub const ERROR_INSTALL_REMOTE_DISALLOWED: DWORD = 1640; -pub const ERROR_SUCCESS_REBOOT_INITIATED: DWORD = 1641; -pub const ERROR_PATCH_TARGET_NOT_FOUND: DWORD = 1642; -pub const ERROR_PATCH_PACKAGE_REJECTED: DWORD = 1643; -pub const ERROR_INSTALL_TRANSFORM_REJECTED: DWORD = 1644; -pub const ERROR_INSTALL_REMOTE_PROHIBITED: DWORD = 1645; -pub const ERROR_PATCH_REMOVAL_UNSUPPORTED: DWORD = 1646; -pub const ERROR_UNKNOWN_PATCH: DWORD = 1647; -pub const ERROR_PATCH_NO_SEQUENCE: DWORD = 1648; -pub const ERROR_PATCH_REMOVAL_DISALLOWED: DWORD = 1649; -pub const ERROR_INVALID_PATCH_XML: DWORD = 1650; -pub const ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT: DWORD = 1651; -pub const ERROR_INSTALL_SERVICE_SAFEBOOT: DWORD = 1652; -pub const ERROR_FAIL_FAST_EXCEPTION: DWORD = 1653; -pub const ERROR_INSTALL_REJECTED: DWORD = 1654; -pub const ERROR_DYNAMIC_CODE_BLOCKED: DWORD = 1655; -pub const RPC_S_INVALID_STRING_BINDING: DWORD = 1700; -pub const RPC_S_WRONG_KIND_OF_BINDING: DWORD = 1701; -pub const RPC_S_INVALID_BINDING: DWORD = 1702; -pub const RPC_S_PROTSEQ_NOT_SUPPORTED: DWORD = 1703; -pub const RPC_S_INVALID_RPC_PROTSEQ: DWORD = 1704; -pub const RPC_S_INVALID_STRING_UUID: DWORD = 1705; -pub const RPC_S_INVALID_ENDPOINT_FORMAT: DWORD = 1706; -pub const RPC_S_INVALID_NET_ADDR: DWORD = 1707; -pub const RPC_S_NO_ENDPOINT_FOUND: DWORD = 1708; -pub const RPC_S_INVALID_TIMEOUT: DWORD = 1709; -pub const RPC_S_OBJECT_NOT_FOUND: DWORD = 1710; -pub const RPC_S_ALREADY_REGISTERED: DWORD = 1711; -pub const RPC_S_TYPE_ALREADY_REGISTERED: DWORD = 1712; -pub const RPC_S_ALREADY_LISTENING: DWORD = 1713; -pub const RPC_S_NO_PROTSEQS_REGISTERED: DWORD = 1714; -pub const RPC_S_NOT_LISTENING: DWORD = 1715; -pub const RPC_S_UNKNOWN_MGR_TYPE: DWORD = 1716; -pub const RPC_S_UNKNOWN_IF: DWORD = 1717; -pub const RPC_S_NO_BINDINGS: DWORD = 1718; -pub const RPC_S_NO_PROTSEQS: DWORD = 1719; -pub const RPC_S_CANT_CREATE_ENDPOINT: DWORD = 1720; -pub const RPC_S_OUT_OF_RESOURCES: DWORD = 1721; -pub const RPC_S_SERVER_UNAVAILABLE: DWORD = 1722; -pub const RPC_S_SERVER_TOO_BUSY: DWORD = 1723; -pub const RPC_S_INVALID_NETWORK_OPTIONS: DWORD = 1724; -pub const RPC_S_NO_CALL_ACTIVE: DWORD = 1725; -pub const RPC_S_CALL_FAILED: DWORD = 1726; -pub const RPC_S_CALL_FAILED_DNE: DWORD = 1727; -pub const RPC_S_PROTOCOL_ERROR: DWORD = 1728; -pub const RPC_S_PROXY_ACCESS_DENIED: DWORD = 1729; -pub const RPC_S_UNSUPPORTED_TRANS_SYN: DWORD = 1730; -pub const RPC_S_UNSUPPORTED_TYPE: DWORD = 1732; -pub const RPC_S_INVALID_TAG: DWORD = 1733; -pub const RPC_S_INVALID_BOUND: DWORD = 1734; -pub const RPC_S_NO_ENTRY_NAME: DWORD = 1735; -pub const RPC_S_INVALID_NAME_SYNTAX: DWORD = 1736; -pub const RPC_S_UNSUPPORTED_NAME_SYNTAX: DWORD = 1737; -pub const RPC_S_UUID_NO_ADDRESS: DWORD = 1739; -pub const RPC_S_DUPLICATE_ENDPOINT: DWORD = 1740; -pub const RPC_S_UNKNOWN_AUTHN_TYPE: DWORD = 1741; -pub const RPC_S_MAX_CALLS_TOO_SMALL: DWORD = 1742; -pub const RPC_S_STRING_TOO_LONG: DWORD = 1743; -pub const RPC_S_PROTSEQ_NOT_FOUND: DWORD = 1744; -pub const RPC_S_PROCNUM_OUT_OF_RANGE: DWORD = 1745; -pub const RPC_S_BINDING_HAS_NO_AUTH: DWORD = 1746; -pub const RPC_S_UNKNOWN_AUTHN_SERVICE: DWORD = 1747; -pub const RPC_S_UNKNOWN_AUTHN_LEVEL: DWORD = 1748; -pub const RPC_S_INVALID_AUTH_IDENTITY: DWORD = 1749; -pub const RPC_S_UNKNOWN_AUTHZ_SERVICE: DWORD = 1750; -pub const EPT_S_INVALID_ENTRY: DWORD = 1751; -pub const EPT_S_CANT_PERFORM_OP: DWORD = 1752; -pub const EPT_S_NOT_REGISTERED: DWORD = 1753; -pub const RPC_S_NOTHING_TO_EXPORT: DWORD = 1754; -pub const RPC_S_INCOMPLETE_NAME: DWORD = 1755; -pub const RPC_S_INVALID_VERS_OPTION: DWORD = 1756; -pub const RPC_S_NO_MORE_MEMBERS: DWORD = 1757; -pub const RPC_S_NOT_ALL_OBJS_UNEXPORTED: DWORD = 1758; -pub const RPC_S_INTERFACE_NOT_FOUND: DWORD = 1759; -pub const RPC_S_ENTRY_ALREADY_EXISTS: DWORD = 1760; -pub const RPC_S_ENTRY_NOT_FOUND: DWORD = 1761; -pub const RPC_S_NAME_SERVICE_UNAVAILABLE: DWORD = 1762; -pub const RPC_S_INVALID_NAF_ID: DWORD = 1763; -pub const RPC_S_CANNOT_SUPPORT: DWORD = 1764; -pub const RPC_S_NO_CONTEXT_AVAILABLE: DWORD = 1765; -pub const RPC_S_INTERNAL_ERROR: DWORD = 1766; -pub const RPC_S_ZERO_DIVIDE: DWORD = 1767; -pub const RPC_S_ADDRESS_ERROR: DWORD = 1768; -pub const RPC_S_FP_DIV_ZERO: DWORD = 1769; -pub const RPC_S_FP_UNDERFLOW: DWORD = 1770; -pub const RPC_S_FP_OVERFLOW: DWORD = 1771; -pub const RPC_X_NO_MORE_ENTRIES: DWORD = 1772; -pub const RPC_X_SS_CHAR_TRANS_OPEN_FAIL: DWORD = 1773; -pub const RPC_X_SS_CHAR_TRANS_SHORT_FILE: DWORD = 1774; -pub const RPC_X_SS_IN_NULL_CONTEXT: DWORD = 1775; -pub const RPC_X_SS_CONTEXT_DAMAGED: DWORD = 1777; -pub const RPC_X_SS_HANDLES_MISMATCH: DWORD = 1778; -pub const RPC_X_SS_CANNOT_GET_CALL_HANDLE: DWORD = 1779; -pub const RPC_X_NULL_REF_POINTER: DWORD = 1780; -pub const RPC_X_ENUM_VALUE_OUT_OF_RANGE: DWORD = 1781; -pub const RPC_X_BYTE_COUNT_TOO_SMALL: DWORD = 1782; -pub const RPC_X_BAD_STUB_DATA: DWORD = 1783; -pub const ERROR_INVALID_USER_BUFFER: DWORD = 1784; -pub const ERROR_UNRECOGNIZED_MEDIA: DWORD = 1785; -pub const ERROR_NO_TRUST_LSA_SECRET: DWORD = 1786; -pub const ERROR_NO_TRUST_SAM_ACCOUNT: DWORD = 1787; -pub const ERROR_TRUSTED_DOMAIN_FAILURE: DWORD = 1788; -pub const ERROR_TRUSTED_RELATIONSHIP_FAILURE: DWORD = 1789; -pub const ERROR_TRUST_FAILURE: DWORD = 1790; -pub const RPC_S_CALL_IN_PROGRESS: DWORD = 1791; -pub const ERROR_NETLOGON_NOT_STARTED: DWORD = 1792; -pub const ERROR_ACCOUNT_EXPIRED: DWORD = 1793; -pub const ERROR_REDIRECTOR_HAS_OPEN_HANDLES: DWORD = 1794; -pub const ERROR_PRINTER_DRIVER_ALREADY_INSTALLED: DWORD = 1795; -pub const ERROR_UNKNOWN_PORT: DWORD = 1796; -pub const ERROR_UNKNOWN_PRINTER_DRIVER: DWORD = 1797; -pub const ERROR_UNKNOWN_PRINTPROCESSOR: DWORD = 1798; -pub const ERROR_INVALID_SEPARATOR_FILE: DWORD = 1799; -pub const ERROR_INVALID_PRIORITY: DWORD = 1800; -pub const ERROR_INVALID_PRINTER_NAME: DWORD = 1801; -pub const ERROR_PRINTER_ALREADY_EXISTS: DWORD = 1802; -pub const ERROR_INVALID_PRINTER_COMMAND: DWORD = 1803; -pub const ERROR_INVALID_DATATYPE: DWORD = 1804; -pub const ERROR_INVALID_ENVIRONMENT: DWORD = 1805; -pub const RPC_S_NO_MORE_BINDINGS: DWORD = 1806; -pub const ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT: DWORD = 1807; -pub const ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT: DWORD = 1808; -pub const ERROR_NOLOGON_SERVER_TRUST_ACCOUNT: DWORD = 1809; -pub const ERROR_DOMAIN_TRUST_INCONSISTENT: DWORD = 1810; -pub const ERROR_SERVER_HAS_OPEN_HANDLES: DWORD = 1811; -pub const ERROR_RESOURCE_DATA_NOT_FOUND: DWORD = 1812; -pub const ERROR_RESOURCE_TYPE_NOT_FOUND: DWORD = 1813; -pub const ERROR_RESOURCE_NAME_NOT_FOUND: DWORD = 1814; -pub const ERROR_RESOURCE_LANG_NOT_FOUND: DWORD = 1815; -pub const ERROR_NOT_ENOUGH_QUOTA: DWORD = 1816; -pub const RPC_S_NO_INTERFACES: DWORD = 1817; -pub const RPC_S_CALL_CANCELLED: DWORD = 1818; -pub const RPC_S_BINDING_INCOMPLETE: DWORD = 1819; -pub const RPC_S_COMM_FAILURE: DWORD = 1820; -pub const RPC_S_UNSUPPORTED_AUTHN_LEVEL: DWORD = 1821; -pub const RPC_S_NO_PRINC_NAME: DWORD = 1822; -pub const RPC_S_NOT_RPC_ERROR: DWORD = 1823; -pub const RPC_S_UUID_LOCAL_ONLY: DWORD = 1824; -pub const RPC_S_SEC_PKG_ERROR: DWORD = 1825; -pub const RPC_S_NOT_CANCELLED: DWORD = 1826; -pub const RPC_X_INVALID_ES_ACTION: DWORD = 1827; -pub const RPC_X_WRONG_ES_VERSION: DWORD = 1828; -pub const RPC_X_WRONG_STUB_VERSION: DWORD = 1829; -pub const RPC_X_INVALID_PIPE_OBJECT: DWORD = 1830; -pub const RPC_X_WRONG_PIPE_ORDER: DWORD = 1831; -pub const RPC_X_WRONG_PIPE_VERSION: DWORD = 1832; -pub const RPC_S_COOKIE_AUTH_FAILED: DWORD = 1833; -pub const RPC_S_GROUP_MEMBER_NOT_FOUND: DWORD = 1898; -pub const EPT_S_CANT_CREATE: DWORD = 1899; -pub const RPC_S_INVALID_OBJECT: DWORD = 1900; -pub const ERROR_INVALID_TIME: DWORD = 1901; -pub const ERROR_INVALID_FORM_NAME: DWORD = 1902; -pub const ERROR_INVALID_FORM_SIZE: DWORD = 1903; -pub const ERROR_ALREADY_WAITING: DWORD = 1904; -pub const ERROR_PRINTER_DELETED: DWORD = 1905; -pub const ERROR_INVALID_PRINTER_STATE: DWORD = 1906; -pub const ERROR_PASSWORD_MUST_CHANGE: DWORD = 1907; -pub const ERROR_DOMAIN_CONTROLLER_NOT_FOUND: DWORD = 1908; -pub const ERROR_ACCOUNT_LOCKED_OUT: DWORD = 1909; -pub const OR_INVALID_OXID: DWORD = 1910; -pub const OR_INVALID_OID: DWORD = 1911; -pub const OR_INVALID_SET: DWORD = 1912; -pub const RPC_S_SEND_INCOMPLETE: DWORD = 1913; -pub const RPC_S_INVALID_ASYNC_HANDLE: DWORD = 1914; -pub const RPC_S_INVALID_ASYNC_CALL: DWORD = 1915; -pub const RPC_X_PIPE_CLOSED: DWORD = 1916; -pub const RPC_X_PIPE_DISCIPLINE_ERROR: DWORD = 1917; -pub const RPC_X_PIPE_EMPTY: DWORD = 1918; -pub const ERROR_NO_SITENAME: DWORD = 1919; -pub const ERROR_CANT_ACCESS_FILE: DWORD = 1920; -pub const ERROR_CANT_RESOLVE_FILENAME: DWORD = 1921; -pub const RPC_S_ENTRY_TYPE_MISMATCH: DWORD = 1922; -pub const RPC_S_NOT_ALL_OBJS_EXPORTED: DWORD = 1923; -pub const RPC_S_INTERFACE_NOT_EXPORTED: DWORD = 1924; -pub const RPC_S_PROFILE_NOT_ADDED: DWORD = 1925; -pub const RPC_S_PRF_ELT_NOT_ADDED: DWORD = 1926; -pub const RPC_S_PRF_ELT_NOT_REMOVED: DWORD = 1927; -pub const RPC_S_GRP_ELT_NOT_ADDED: DWORD = 1928; -pub const RPC_S_GRP_ELT_NOT_REMOVED: DWORD = 1929; -pub const ERROR_KM_DRIVER_BLOCKED: DWORD = 1930; -pub const ERROR_CONTEXT_EXPIRED: DWORD = 1931; -pub const ERROR_PER_USER_TRUST_QUOTA_EXCEEDED: DWORD = 1932; -pub const ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED: DWORD = 1933; -pub const ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED: DWORD = 1934; -pub const ERROR_AUTHENTICATION_FIREWALL_FAILED: DWORD = 1935; -pub const ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED: DWORD = 1936; -pub const ERROR_NTLM_BLOCKED: DWORD = 1937; -pub const ERROR_PASSWORD_CHANGE_REQUIRED: DWORD = 1938; -pub const ERROR_INVALID_PIXEL_FORMAT: DWORD = 2000; -pub const ERROR_BAD_DRIVER: DWORD = 2001; -pub const ERROR_INVALID_WINDOW_STYLE: DWORD = 2002; -pub const ERROR_METAFILE_NOT_SUPPORTED: DWORD = 2003; -pub const ERROR_TRANSFORM_NOT_SUPPORTED: DWORD = 2004; -pub const ERROR_CLIPPING_NOT_SUPPORTED: DWORD = 2005; -pub const ERROR_INVALID_CMM: DWORD = 2010; -pub const ERROR_INVALID_PROFILE: DWORD = 2011; -pub const ERROR_TAG_NOT_FOUND: DWORD = 2012; -pub const ERROR_TAG_NOT_PRESENT: DWORD = 2013; -pub const ERROR_DUPLICATE_TAG: DWORD = 2014; -pub const ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE: DWORD = 2015; -pub const ERROR_PROFILE_NOT_FOUND: DWORD = 2016; -pub const ERROR_INVALID_COLORSPACE: DWORD = 2017; -pub const ERROR_ICM_NOT_ENABLED: DWORD = 2018; -pub const ERROR_DELETING_ICM_XFORM: DWORD = 2019; -pub const ERROR_INVALID_TRANSFORM: DWORD = 2020; -pub const ERROR_COLORSPACE_MISMATCH: DWORD = 2021; -pub const ERROR_INVALID_COLORINDEX: DWORD = 2022; -pub const ERROR_PROFILE_DOES_NOT_MATCH_DEVICE: DWORD = 2023; -pub const ERROR_CONNECTED_OTHER_PASSWORD: DWORD = 2108; -pub const ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT: DWORD = 2109; -pub const ERROR_BAD_USERNAME: DWORD = 2202; -pub const ERROR_NOT_CONNECTED: DWORD = 2250; -pub const ERROR_OPEN_FILES: DWORD = 2401; -pub const ERROR_ACTIVE_CONNECTIONS: DWORD = 2402; -pub const ERROR_DEVICE_IN_USE: DWORD = 2404; -pub const ERROR_UNKNOWN_PRINT_MONITOR: DWORD = 3000; -pub const ERROR_PRINTER_DRIVER_IN_USE: DWORD = 3001; -pub const ERROR_SPOOL_FILE_NOT_FOUND: DWORD = 3002; -pub const ERROR_SPL_NO_STARTDOC: DWORD = 3003; -pub const ERROR_SPL_NO_ADDJOB: DWORD = 3004; -pub const ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED: DWORD = 3005; -pub const ERROR_PRINT_MONITOR_ALREADY_INSTALLED: DWORD = 3006; -pub const ERROR_INVALID_PRINT_MONITOR: DWORD = 3007; -pub const ERROR_PRINT_MONITOR_IN_USE: DWORD = 3008; -pub const ERROR_PRINTER_HAS_JOBS_QUEUED: DWORD = 3009; -pub const ERROR_SUCCESS_REBOOT_REQUIRED: DWORD = 3010; -pub const ERROR_SUCCESS_RESTART_REQUIRED: DWORD = 3011; -pub const ERROR_PRINTER_NOT_FOUND: DWORD = 3012; -pub const ERROR_PRINTER_DRIVER_WARNED: DWORD = 3013; -pub const ERROR_PRINTER_DRIVER_BLOCKED: DWORD = 3014; -pub const ERROR_PRINTER_DRIVER_PACKAGE_IN_USE: DWORD = 3015; -pub const ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND: DWORD = 3016; -pub const ERROR_FAIL_REBOOT_REQUIRED: DWORD = 3017; -pub const ERROR_FAIL_REBOOT_INITIATED: DWORD = 3018; -pub const ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED: DWORD = 3019; -pub const ERROR_PRINT_JOB_RESTART_REQUIRED: DWORD = 3020; -pub const ERROR_INVALID_PRINTER_DRIVER_MANIFEST: DWORD = 3021; -pub const ERROR_PRINTER_NOT_SHAREABLE: DWORD = 3022; -pub const ERROR_REQUEST_PAUSED: DWORD = 3050; -pub const ERROR_IO_REISSUE_AS_CACHED: DWORD = 3950; -pub const ERROR_WINS_INTERNAL: DWORD = 4000; -pub const ERROR_CAN_NOT_DEL_LOCAL_WINS: DWORD = 4001; -pub const ERROR_STATIC_INIT: DWORD = 4002; -pub const ERROR_INC_BACKUP: DWORD = 4003; -pub const ERROR_FULL_BACKUP: DWORD = 4004; -pub const ERROR_REC_NON_EXISTENT: DWORD = 4005; -pub const ERROR_RPL_NOT_ALLOWED: DWORD = 4006; -pub const PEERDIST_ERROR_CONTENTINFO_VERSION_UNSUPPORTED: DWORD = 4050; -pub const PEERDIST_ERROR_CANNOT_PARSE_CONTENTINFO: DWORD = 4051; -pub const PEERDIST_ERROR_MISSING_DATA: DWORD = 4052; -pub const PEERDIST_ERROR_NO_MORE: DWORD = 4053; -pub const PEERDIST_ERROR_NOT_INITIALIZED: DWORD = 4054; -pub const PEERDIST_ERROR_ALREADY_INITIALIZED: DWORD = 4055; -pub const PEERDIST_ERROR_SHUTDOWN_IN_PROGRESS: DWORD = 4056; -pub const PEERDIST_ERROR_INVALIDATED: DWORD = 4057; -pub const PEERDIST_ERROR_ALREADY_EXISTS: DWORD = 4058; -pub const PEERDIST_ERROR_OPERATION_NOTFOUND: DWORD = 4059; -pub const PEERDIST_ERROR_ALREADY_COMPLETED: DWORD = 4060; -pub const PEERDIST_ERROR_OUT_OF_BOUNDS: DWORD = 4061; -pub const PEERDIST_ERROR_VERSION_UNSUPPORTED: DWORD = 4062; -pub const PEERDIST_ERROR_INVALID_CONFIGURATION: DWORD = 4063; -pub const PEERDIST_ERROR_NOT_LICENSED: DWORD = 4064; -pub const PEERDIST_ERROR_SERVICE_UNAVAILABLE: DWORD = 4065; -pub const PEERDIST_ERROR_TRUST_FAILURE: DWORD = 4066; -pub const ERROR_DHCP_ADDRESS_CONFLICT: DWORD = 4100; -pub const ERROR_WMI_GUID_NOT_FOUND: DWORD = 4200; -pub const ERROR_WMI_INSTANCE_NOT_FOUND: DWORD = 4201; -pub const ERROR_WMI_ITEMID_NOT_FOUND: DWORD = 4202; -pub const ERROR_WMI_TRY_AGAIN: DWORD = 4203; -pub const ERROR_WMI_DP_NOT_FOUND: DWORD = 4204; -pub const ERROR_WMI_UNRESOLVED_INSTANCE_REF: DWORD = 4205; -pub const ERROR_WMI_ALREADY_ENABLED: DWORD = 4206; -pub const ERROR_WMI_GUID_DISCONNECTED: DWORD = 4207; -pub const ERROR_WMI_SERVER_UNAVAILABLE: DWORD = 4208; -pub const ERROR_WMI_DP_FAILED: DWORD = 4209; -pub const ERROR_WMI_INVALID_MOF: DWORD = 4210; -pub const ERROR_WMI_INVALID_REGINFO: DWORD = 4211; -pub const ERROR_WMI_ALREADY_DISABLED: DWORD = 4212; -pub const ERROR_WMI_READ_ONLY: DWORD = 4213; -pub const ERROR_WMI_SET_FAILURE: DWORD = 4214; -pub const ERROR_NOT_APPCONTAINER: DWORD = 4250; -pub const ERROR_APPCONTAINER_REQUIRED: DWORD = 4251; -pub const ERROR_NOT_SUPPORTED_IN_APPCONTAINER: DWORD = 4252; -pub const ERROR_INVALID_PACKAGE_SID_LENGTH: DWORD = 4253; -pub const ERROR_INVALID_MEDIA: DWORD = 4300; -pub const ERROR_INVALID_LIBRARY: DWORD = 4301; -pub const ERROR_INVALID_MEDIA_POOL: DWORD = 4302; -pub const ERROR_DRIVE_MEDIA_MISMATCH: DWORD = 4303; -pub const ERROR_MEDIA_OFFLINE: DWORD = 4304; -pub const ERROR_LIBRARY_OFFLINE: DWORD = 4305; -pub const ERROR_EMPTY: DWORD = 4306; -pub const ERROR_NOT_EMPTY: DWORD = 4307; -pub const ERROR_MEDIA_UNAVAILABLE: DWORD = 4308; -pub const ERROR_RESOURCE_DISABLED: DWORD = 4309; -pub const ERROR_INVALID_CLEANER: DWORD = 4310; -pub const ERROR_UNABLE_TO_CLEAN: DWORD = 4311; -pub const ERROR_OBJECT_NOT_FOUND: DWORD = 4312; -pub const ERROR_DATABASE_FAILURE: DWORD = 4313; -pub const ERROR_DATABASE_FULL: DWORD = 4314; -pub const ERROR_MEDIA_INCOMPATIBLE: DWORD = 4315; -pub const ERROR_RESOURCE_NOT_PRESENT: DWORD = 4316; -pub const ERROR_INVALID_OPERATION: DWORD = 4317; -pub const ERROR_MEDIA_NOT_AVAILABLE: DWORD = 4318; -pub const ERROR_DEVICE_NOT_AVAILABLE: DWORD = 4319; -pub const ERROR_REQUEST_REFUSED: DWORD = 4320; -pub const ERROR_INVALID_DRIVE_OBJECT: DWORD = 4321; -pub const ERROR_LIBRARY_FULL: DWORD = 4322; -pub const ERROR_MEDIUM_NOT_ACCESSIBLE: DWORD = 4323; -pub const ERROR_UNABLE_TO_LOAD_MEDIUM: DWORD = 4324; -pub const ERROR_UNABLE_TO_INVENTORY_DRIVE: DWORD = 4325; -pub const ERROR_UNABLE_TO_INVENTORY_SLOT: DWORD = 4326; -pub const ERROR_UNABLE_TO_INVENTORY_TRANSPORT: DWORD = 4327; -pub const ERROR_TRANSPORT_FULL: DWORD = 4328; -pub const ERROR_CONTROLLING_IEPORT: DWORD = 4329; -pub const ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA: DWORD = 4330; -pub const ERROR_CLEANER_SLOT_SET: DWORD = 4331; -pub const ERROR_CLEANER_SLOT_NOT_SET: DWORD = 4332; -pub const ERROR_CLEANER_CARTRIDGE_SPENT: DWORD = 4333; -pub const ERROR_UNEXPECTED_OMID: DWORD = 4334; -pub const ERROR_CANT_DELETE_LAST_ITEM: DWORD = 4335; -pub const ERROR_MESSAGE_EXCEEDS_MAX_SIZE: DWORD = 4336; -pub const ERROR_VOLUME_CONTAINS_SYS_FILES: DWORD = 4337; -pub const ERROR_INDIGENOUS_TYPE: DWORD = 4338; -pub const ERROR_NO_SUPPORTING_DRIVES: DWORD = 4339; -pub const ERROR_CLEANER_CARTRIDGE_INSTALLED: DWORD = 4340; -pub const ERROR_IEPORT_FULL: DWORD = 4341; -pub const ERROR_FILE_OFFLINE: DWORD = 4350; -pub const ERROR_REMOTE_STORAGE_NOT_ACTIVE: DWORD = 4351; -pub const ERROR_REMOTE_STORAGE_MEDIA_ERROR: DWORD = 4352; -pub const ERROR_NOT_A_REPARSE_POINT: DWORD = 4390; -pub const ERROR_REPARSE_ATTRIBUTE_CONFLICT: DWORD = 4391; -pub const ERROR_INVALID_REPARSE_DATA: DWORD = 4392; -pub const ERROR_REPARSE_TAG_INVALID: DWORD = 4393; -pub const ERROR_REPARSE_TAG_MISMATCH: DWORD = 4394; -pub const ERROR_APP_DATA_NOT_FOUND: DWORD = 4400; -pub const ERROR_APP_DATA_EXPIRED: DWORD = 4401; -pub const ERROR_APP_DATA_CORRUPT: DWORD = 4402; -pub const ERROR_APP_DATA_LIMIT_EXCEEDED: DWORD = 4403; -pub const ERROR_APP_DATA_REBOOT_REQUIRED: DWORD = 4404; -pub const ERROR_SECUREBOOT_ROLLBACK_DETECTED: DWORD = 4420; -pub const ERROR_SECUREBOOT_POLICY_VIOLATION: DWORD = 4421; -pub const ERROR_SECUREBOOT_INVALID_POLICY: DWORD = 4422; -pub const ERROR_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND: DWORD = 4423; -pub const ERROR_SECUREBOOT_POLICY_NOT_SIGNED: DWORD = 4424; -pub const ERROR_SECUREBOOT_NOT_ENABLED: DWORD = 4425; -pub const ERROR_SECUREBOOT_FILE_REPLACED: DWORD = 4426; -pub const ERROR_OFFLOAD_READ_FLT_NOT_SUPPORTED: DWORD = 4440; -pub const ERROR_OFFLOAD_WRITE_FLT_NOT_SUPPORTED: DWORD = 4441; -pub const ERROR_OFFLOAD_READ_FILE_NOT_SUPPORTED: DWORD = 4442; -pub const ERROR_OFFLOAD_WRITE_FILE_NOT_SUPPORTED: DWORD = 4443; -pub const ERROR_VOLUME_NOT_SIS_ENABLED: DWORD = 4500; -pub const ERROR_DEPENDENT_RESOURCE_EXISTS: DWORD = 5001; -pub const ERROR_DEPENDENCY_NOT_FOUND: DWORD = 5002; -pub const ERROR_DEPENDENCY_ALREADY_EXISTS: DWORD = 5003; -pub const ERROR_RESOURCE_NOT_ONLINE: DWORD = 5004; -pub const ERROR_HOST_NODE_NOT_AVAILABLE: DWORD = 5005; -pub const ERROR_RESOURCE_NOT_AVAILABLE: DWORD = 5006; -pub const ERROR_RESOURCE_NOT_FOUND: DWORD = 5007; -pub const ERROR_SHUTDOWN_CLUSTER: DWORD = 5008; -pub const ERROR_CANT_EVICT_ACTIVE_NODE: DWORD = 5009; -pub const ERROR_OBJECT_ALREADY_EXISTS: DWORD = 5010; -pub const ERROR_OBJECT_IN_LIST: DWORD = 5011; -pub const ERROR_GROUP_NOT_AVAILABLE: DWORD = 5012; -pub const ERROR_GROUP_NOT_FOUND: DWORD = 5013; -pub const ERROR_GROUP_NOT_ONLINE: DWORD = 5014; -pub const ERROR_HOST_NODE_NOT_RESOURCE_OWNER: DWORD = 5015; -pub const ERROR_HOST_NODE_NOT_GROUP_OWNER: DWORD = 5016; -pub const ERROR_RESMON_CREATE_FAILED: DWORD = 5017; -pub const ERROR_RESMON_ONLINE_FAILED: DWORD = 5018; -pub const ERROR_RESOURCE_ONLINE: DWORD = 5019; -pub const ERROR_QUORUM_RESOURCE: DWORD = 5020; -pub const ERROR_NOT_QUORUM_CAPABLE: DWORD = 5021; -pub const ERROR_CLUSTER_SHUTTING_DOWN: DWORD = 5022; -pub const ERROR_INVALID_STATE: DWORD = 5023; -pub const ERROR_RESOURCE_PROPERTIES_STORED: DWORD = 5024; -pub const ERROR_NOT_QUORUM_CLASS: DWORD = 5025; -pub const ERROR_CORE_RESOURCE: DWORD = 5026; -pub const ERROR_QUORUM_RESOURCE_ONLINE_FAILED: DWORD = 5027; -pub const ERROR_QUORUMLOG_OPEN_FAILED: DWORD = 5028; -pub const ERROR_CLUSTERLOG_CORRUPT: DWORD = 5029; -pub const ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE: DWORD = 5030; -pub const ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE: DWORD = 5031; -pub const ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND: DWORD = 5032; -pub const ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE: DWORD = 5033; -pub const ERROR_QUORUM_OWNER_ALIVE: DWORD = 5034; -pub const ERROR_NETWORK_NOT_AVAILABLE: DWORD = 5035; -pub const ERROR_NODE_NOT_AVAILABLE: DWORD = 5036; -pub const ERROR_ALL_NODES_NOT_AVAILABLE: DWORD = 5037; -pub const ERROR_RESOURCE_FAILED: DWORD = 5038; -pub const ERROR_CLUSTER_INVALID_NODE: DWORD = 5039; -pub const ERROR_CLUSTER_NODE_EXISTS: DWORD = 5040; -pub const ERROR_CLUSTER_JOIN_IN_PROGRESS: DWORD = 5041; -pub const ERROR_CLUSTER_NODE_NOT_FOUND: DWORD = 5042; -pub const ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND: DWORD = 5043; -pub const ERROR_CLUSTER_NETWORK_EXISTS: DWORD = 5044; -pub const ERROR_CLUSTER_NETWORK_NOT_FOUND: DWORD = 5045; -pub const ERROR_CLUSTER_NETINTERFACE_EXISTS: DWORD = 5046; -pub const ERROR_CLUSTER_NETINTERFACE_NOT_FOUND: DWORD = 5047; -pub const ERROR_CLUSTER_INVALID_REQUEST: DWORD = 5048; -pub const ERROR_CLUSTER_INVALID_NETWORK_PROVIDER: DWORD = 5049; -pub const ERROR_CLUSTER_NODE_DOWN: DWORD = 5050; -pub const ERROR_CLUSTER_NODE_UNREACHABLE: DWORD = 5051; -pub const ERROR_CLUSTER_NODE_NOT_MEMBER: DWORD = 5052; -pub const ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS: DWORD = 5053; -pub const ERROR_CLUSTER_INVALID_NETWORK: DWORD = 5054; -pub const ERROR_CLUSTER_NODE_UP: DWORD = 5056; -pub const ERROR_CLUSTER_IPADDR_IN_USE: DWORD = 5057; -pub const ERROR_CLUSTER_NODE_NOT_PAUSED: DWORD = 5058; -pub const ERROR_CLUSTER_NO_SECURITY_CONTEXT: DWORD = 5059; -pub const ERROR_CLUSTER_NETWORK_NOT_INTERNAL: DWORD = 5060; -pub const ERROR_CLUSTER_NODE_ALREADY_UP: DWORD = 5061; -pub const ERROR_CLUSTER_NODE_ALREADY_DOWN: DWORD = 5062; -pub const ERROR_CLUSTER_NETWORK_ALREADY_ONLINE: DWORD = 5063; -pub const ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE: DWORD = 5064; -pub const ERROR_CLUSTER_NODE_ALREADY_MEMBER: DWORD = 5065; -pub const ERROR_CLUSTER_LAST_INTERNAL_NETWORK: DWORD = 5066; -pub const ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS: DWORD = 5067; -pub const ERROR_INVALID_OPERATION_ON_QUORUM: DWORD = 5068; -pub const ERROR_DEPENDENCY_NOT_ALLOWED: DWORD = 5069; -pub const ERROR_CLUSTER_NODE_PAUSED: DWORD = 5070; -pub const ERROR_NODE_CANT_HOST_RESOURCE: DWORD = 5071; -pub const ERROR_CLUSTER_NODE_NOT_READY: DWORD = 5072; -pub const ERROR_CLUSTER_NODE_SHUTTING_DOWN: DWORD = 5073; -pub const ERROR_CLUSTER_JOIN_ABORTED: DWORD = 5074; -pub const ERROR_CLUSTER_INCOMPATIBLE_VERSIONS: DWORD = 5075; -pub const ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED: DWORD = 5076; -pub const ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED: DWORD = 5077; -pub const ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND: DWORD = 5078; -pub const ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED: DWORD = 5079; -pub const ERROR_CLUSTER_RESNAME_NOT_FOUND: DWORD = 5080; -pub const ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED: DWORD = 5081; -pub const ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST: DWORD = 5082; -pub const ERROR_CLUSTER_DATABASE_SEQMISMATCH: DWORD = 5083; -pub const ERROR_RESMON_INVALID_STATE: DWORD = 5084; -pub const ERROR_CLUSTER_GUM_NOT_LOCKER: DWORD = 5085; -pub const ERROR_QUORUM_DISK_NOT_FOUND: DWORD = 5086; -pub const ERROR_DATABASE_BACKUP_CORRUPT: DWORD = 5087; -pub const ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT: DWORD = 5088; -pub const ERROR_RESOURCE_PROPERTY_UNCHANGEABLE: DWORD = 5089; -pub const ERROR_NO_ADMIN_ACCESS_POINT: DWORD = 5090; -pub const ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE: DWORD = 5890; -pub const ERROR_CLUSTER_QUORUMLOG_NOT_FOUND: DWORD = 5891; -pub const ERROR_CLUSTER_MEMBERSHIP_HALT: DWORD = 5892; -pub const ERROR_CLUSTER_INSTANCE_ID_MISMATCH: DWORD = 5893; -pub const ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP: DWORD = 5894; -pub const ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH: DWORD = 5895; -pub const ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP: DWORD = 5896; -pub const ERROR_CLUSTER_PARAMETER_MISMATCH: DWORD = 5897; -pub const ERROR_NODE_CANNOT_BE_CLUSTERED: DWORD = 5898; -pub const ERROR_CLUSTER_WRONG_OS_VERSION: DWORD = 5899; -pub const ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME: DWORD = 5900; -pub const ERROR_CLUSCFG_ALREADY_COMMITTED: DWORD = 5901; -pub const ERROR_CLUSCFG_ROLLBACK_FAILED: DWORD = 5902; -pub const ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT: DWORD = 5903; -pub const ERROR_CLUSTER_OLD_VERSION: DWORD = 5904; -pub const ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME: DWORD = 5905; -pub const ERROR_CLUSTER_NO_NET_ADAPTERS: DWORD = 5906; -pub const ERROR_CLUSTER_POISONED: DWORD = 5907; -pub const ERROR_CLUSTER_GROUP_MOVING: DWORD = 5908; -pub const ERROR_CLUSTER_RESOURCE_TYPE_BUSY: DWORD = 5909; -pub const ERROR_RESOURCE_CALL_TIMED_OUT: DWORD = 5910; -pub const ERROR_INVALID_CLUSTER_IPV6_ADDRESS: DWORD = 5911; -pub const ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION: DWORD = 5912; -pub const ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS: DWORD = 5913; -pub const ERROR_CLUSTER_PARTIAL_SEND: DWORD = 5914; -pub const ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION: DWORD = 5915; -pub const ERROR_CLUSTER_INVALID_STRING_TERMINATION: DWORD = 5916; -pub const ERROR_CLUSTER_INVALID_STRING_FORMAT: DWORD = 5917; -pub const ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS: DWORD = 5918; -pub const ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS: DWORD = 5919; -pub const ERROR_CLUSTER_NULL_DATA: DWORD = 5920; -pub const ERROR_CLUSTER_PARTIAL_READ: DWORD = 5921; -pub const ERROR_CLUSTER_PARTIAL_WRITE: DWORD = 5922; -pub const ERROR_CLUSTER_CANT_DESERIALIZE_DATA: DWORD = 5923; -pub const ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT: DWORD = 5924; -pub const ERROR_CLUSTER_NO_QUORUM: DWORD = 5925; -pub const ERROR_CLUSTER_INVALID_IPV6_NETWORK: DWORD = 5926; -pub const ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK: DWORD = 5927; -pub const ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP: DWORD = 5928; -pub const ERROR_DEPENDENCY_TREE_TOO_COMPLEX: DWORD = 5929; -pub const ERROR_EXCEPTION_IN_RESOURCE_CALL: DWORD = 5930; -pub const ERROR_CLUSTER_RHS_FAILED_INITIALIZATION: DWORD = 5931; -pub const ERROR_CLUSTER_NOT_INSTALLED: DWORD = 5932; -pub const ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE: DWORD = 5933; -pub const ERROR_CLUSTER_MAX_NODES_IN_CLUSTER: DWORD = 5934; -pub const ERROR_CLUSTER_TOO_MANY_NODES: DWORD = 5935; -pub const ERROR_CLUSTER_OBJECT_ALREADY_USED: DWORD = 5936; -pub const ERROR_NONCORE_GROUPS_FOUND: DWORD = 5937; -pub const ERROR_FILE_SHARE_RESOURCE_CONFLICT: DWORD = 5938; -pub const ERROR_CLUSTER_EVICT_INVALID_REQUEST: DWORD = 5939; -pub const ERROR_CLUSTER_SINGLETON_RESOURCE: DWORD = 5940; -pub const ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE: DWORD = 5941; -pub const ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED: DWORD = 5942; -pub const ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR: DWORD = 5943; -pub const ERROR_CLUSTER_GROUP_BUSY: DWORD = 5944; -pub const ERROR_CLUSTER_NOT_SHARED_VOLUME: DWORD = 5945; -pub const ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR: DWORD = 5946; -pub const ERROR_CLUSTER_SHARED_VOLUMES_IN_USE: DWORD = 5947; -pub const ERROR_CLUSTER_USE_SHARED_VOLUMES_API: DWORD = 5948; -pub const ERROR_CLUSTER_BACKUP_IN_PROGRESS: DWORD = 5949; -pub const ERROR_NON_CSV_PATH: DWORD = 5950; -pub const ERROR_CSV_VOLUME_NOT_LOCAL: DWORD = 5951; -pub const ERROR_CLUSTER_WATCHDOG_TERMINATING: DWORD = 5952; -pub const ERROR_CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES: DWORD = 5953; -pub const ERROR_CLUSTER_INVALID_NODE_WEIGHT: DWORD = 5954; -pub const ERROR_CLUSTER_RESOURCE_VETOED_CALL: DWORD = 5955; -pub const ERROR_RESMON_SYSTEM_RESOURCES_LACKING: DWORD = 5956; -pub const ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION: DWORD = 5957; -pub const ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE: DWORD = 5958; -pub const ERROR_CLUSTER_GROUP_QUEUED: DWORD = 5959; -pub const ERROR_CLUSTER_RESOURCE_LOCKED_STATUS: DWORD = 5960; -pub const ERROR_CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED: DWORD = 5961; -pub const ERROR_CLUSTER_NODE_DRAIN_IN_PROGRESS: DWORD = 5962; -pub const ERROR_CLUSTER_DISK_NOT_CONNECTED: DWORD = 5963; -pub const ERROR_DISK_NOT_CSV_CAPABLE: DWORD = 5964; -pub const ERROR_RESOURCE_NOT_IN_AVAILABLE_STORAGE: DWORD = 5965; -pub const ERROR_CLUSTER_SHARED_VOLUME_REDIRECTED: DWORD = 5966; -pub const ERROR_CLUSTER_SHARED_VOLUME_NOT_REDIRECTED: DWORD = 5967; -pub const ERROR_CLUSTER_CANNOT_RETURN_PROPERTIES: DWORD = 5968; -pub const ERROR_CLUSTER_RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES: DWORD = 5969; -pub const ERROR_CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE: DWORD = 5970; -pub const ERROR_CLUSTER_AFFINITY_CONFLICT: DWORD = 5971; -pub const ERROR_CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE: DWORD = 5972; -pub const ERROR_ENCRYPTION_FAILED: DWORD = 6000; -pub const ERROR_DECRYPTION_FAILED: DWORD = 6001; -pub const ERROR_FILE_ENCRYPTED: DWORD = 6002; -pub const ERROR_NO_RECOVERY_POLICY: DWORD = 6003; -pub const ERROR_NO_EFS: DWORD = 6004; -pub const ERROR_WRONG_EFS: DWORD = 6005; -pub const ERROR_NO_USER_KEYS: DWORD = 6006; -pub const ERROR_FILE_NOT_ENCRYPTED: DWORD = 6007; -pub const ERROR_NOT_EXPORT_FORMAT: DWORD = 6008; -pub const ERROR_FILE_READ_ONLY: DWORD = 6009; -pub const ERROR_DIR_EFS_DISALLOWED: DWORD = 6010; -pub const ERROR_EFS_SERVER_NOT_TRUSTED: DWORD = 6011; -pub const ERROR_BAD_RECOVERY_POLICY: DWORD = 6012; -pub const ERROR_EFS_ALG_BLOB_TOO_BIG: DWORD = 6013; -pub const ERROR_VOLUME_NOT_SUPPORT_EFS: DWORD = 6014; -pub const ERROR_EFS_DISABLED: DWORD = 6015; -pub const ERROR_EFS_VERSION_NOT_SUPPORT: DWORD = 6016; -pub const ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE: DWORD = 6017; -pub const ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER: DWORD = 6018; -pub const ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE: DWORD = 6019; -pub const ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE: DWORD = 6020; -pub const ERROR_CS_ENCRYPTION_FILE_NOT_CSE: DWORD = 6021; -pub const ERROR_ENCRYPTION_POLICY_DENIES_OPERATION: DWORD = 6022; -pub const ERROR_NO_BROWSER_SERVERS_FOUND: DWORD = 6118; -pub const SCHED_E_SERVICE_NOT_LOCALSYSTEM: DWORD = 6200; -pub const ERROR_LOG_SECTOR_INVALID: DWORD = 6600; -pub const ERROR_LOG_SECTOR_PARITY_INVALID: DWORD = 6601; -pub const ERROR_LOG_SECTOR_REMAPPED: DWORD = 6602; -pub const ERROR_LOG_BLOCK_INCOMPLETE: DWORD = 6603; -pub const ERROR_LOG_INVALID_RANGE: DWORD = 6604; -pub const ERROR_LOG_BLOCKS_EXHAUSTED: DWORD = 6605; -pub const ERROR_LOG_READ_CONTEXT_INVALID: DWORD = 6606; -pub const ERROR_LOG_RESTART_INVALID: DWORD = 6607; -pub const ERROR_LOG_BLOCK_VERSION: DWORD = 6608; -pub const ERROR_LOG_BLOCK_INVALID: DWORD = 6609; -pub const ERROR_LOG_READ_MODE_INVALID: DWORD = 6610; -pub const ERROR_LOG_NO_RESTART: DWORD = 6611; -pub const ERROR_LOG_METADATA_CORRUPT: DWORD = 6612; -pub const ERROR_LOG_METADATA_INVALID: DWORD = 6613; -pub const ERROR_LOG_METADATA_INCONSISTENT: DWORD = 6614; -pub const ERROR_LOG_RESERVATION_INVALID: DWORD = 6615; -pub const ERROR_LOG_CANT_DELETE: DWORD = 6616; -pub const ERROR_LOG_CONTAINER_LIMIT_EXCEEDED: DWORD = 6617; -pub const ERROR_LOG_START_OF_LOG: DWORD = 6618; -pub const ERROR_LOG_POLICY_ALREADY_INSTALLED: DWORD = 6619; -pub const ERROR_LOG_POLICY_NOT_INSTALLED: DWORD = 6620; -pub const ERROR_LOG_POLICY_INVALID: DWORD = 6621; -pub const ERROR_LOG_POLICY_CONFLICT: DWORD = 6622; -pub const ERROR_LOG_PINNED_ARCHIVE_TAIL: DWORD = 6623; -pub const ERROR_LOG_RECORD_NONEXISTENT: DWORD = 6624; -pub const ERROR_LOG_RECORDS_RESERVED_INVALID: DWORD = 6625; -pub const ERROR_LOG_SPACE_RESERVED_INVALID: DWORD = 6626; -pub const ERROR_LOG_TAIL_INVALID: DWORD = 6627; -pub const ERROR_LOG_FULL: DWORD = 6628; -pub const ERROR_COULD_NOT_RESIZE_LOG: DWORD = 6629; -pub const ERROR_LOG_MULTIPLEXED: DWORD = 6630; -pub const ERROR_LOG_DEDICATED: DWORD = 6631; -pub const ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS: DWORD = 6632; -pub const ERROR_LOG_ARCHIVE_IN_PROGRESS: DWORD = 6633; -pub const ERROR_LOG_EPHEMERAL: DWORD = 6634; -pub const ERROR_LOG_NOT_ENOUGH_CONTAINERS: DWORD = 6635; -pub const ERROR_LOG_CLIENT_ALREADY_REGISTERED: DWORD = 6636; -pub const ERROR_LOG_CLIENT_NOT_REGISTERED: DWORD = 6637; -pub const ERROR_LOG_FULL_HANDLER_IN_PROGRESS: DWORD = 6638; -pub const ERROR_LOG_CONTAINER_READ_FAILED: DWORD = 6639; -pub const ERROR_LOG_CONTAINER_WRITE_FAILED: DWORD = 6640; -pub const ERROR_LOG_CONTAINER_OPEN_FAILED: DWORD = 6641; -pub const ERROR_LOG_CONTAINER_STATE_INVALID: DWORD = 6642; -pub const ERROR_LOG_STATE_INVALID: DWORD = 6643; -pub const ERROR_LOG_PINNED: DWORD = 6644; -pub const ERROR_LOG_METADATA_FLUSH_FAILED: DWORD = 6645; -pub const ERROR_LOG_INCONSISTENT_SECURITY: DWORD = 6646; -pub const ERROR_LOG_APPENDED_FLUSH_FAILED: DWORD = 6647; -pub const ERROR_LOG_PINNED_RESERVATION: DWORD = 6648; -pub const ERROR_INVALID_TRANSACTION: DWORD = 6700; -pub const ERROR_TRANSACTION_NOT_ACTIVE: DWORD = 6701; -pub const ERROR_TRANSACTION_REQUEST_NOT_VALID: DWORD = 6702; -pub const ERROR_TRANSACTION_NOT_REQUESTED: DWORD = 6703; -pub const ERROR_TRANSACTION_ALREADY_ABORTED: DWORD = 6704; -pub const ERROR_TRANSACTION_ALREADY_COMMITTED: DWORD = 6705; -pub const ERROR_TM_INITIALIZATION_FAILED: DWORD = 6706; -pub const ERROR_RESOURCEMANAGER_READ_ONLY: DWORD = 6707; -pub const ERROR_TRANSACTION_NOT_JOINED: DWORD = 6708; -pub const ERROR_TRANSACTION_SUPERIOR_EXISTS: DWORD = 6709; -pub const ERROR_CRM_PROTOCOL_ALREADY_EXISTS: DWORD = 6710; -pub const ERROR_TRANSACTION_PROPAGATION_FAILED: DWORD = 6711; -pub const ERROR_CRM_PROTOCOL_NOT_FOUND: DWORD = 6712; -pub const ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER: DWORD = 6713; -pub const ERROR_CURRENT_TRANSACTION_NOT_VALID: DWORD = 6714; -pub const ERROR_TRANSACTION_NOT_FOUND: DWORD = 6715; -pub const ERROR_RESOURCEMANAGER_NOT_FOUND: DWORD = 6716; -pub const ERROR_ENLISTMENT_NOT_FOUND: DWORD = 6717; -pub const ERROR_TRANSACTIONMANAGER_NOT_FOUND: DWORD = 6718; -pub const ERROR_TRANSACTIONMANAGER_NOT_ONLINE: DWORD = 6719; -pub const ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION: DWORD = 6720; -pub const ERROR_TRANSACTION_NOT_ROOT: DWORD = 6721; -pub const ERROR_TRANSACTION_OBJECT_EXPIRED: DWORD = 6722; -pub const ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED: DWORD = 6723; -pub const ERROR_TRANSACTION_RECORD_TOO_LONG: DWORD = 6724; -pub const ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED: DWORD = 6725; -pub const ERROR_TRANSACTION_INTEGRITY_VIOLATED: DWORD = 6726; -pub const ERROR_TRANSACTIONMANAGER_IDENTITY_MISMATCH: DWORD = 6727; -pub const ERROR_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT: DWORD = 6728; -pub const ERROR_TRANSACTION_MUST_WRITETHROUGH: DWORD = 6729; -pub const ERROR_TRANSACTION_NO_SUPERIOR: DWORD = 6730; -pub const ERROR_HEURISTIC_DAMAGE_POSSIBLE: DWORD = 6731; -pub const ERROR_TRANSACTIONAL_CONFLICT: DWORD = 6800; -pub const ERROR_RM_NOT_ACTIVE: DWORD = 6801; -pub const ERROR_RM_METADATA_CORRUPT: DWORD = 6802; -pub const ERROR_DIRECTORY_NOT_RM: DWORD = 6803; -pub const ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE: DWORD = 6805; -pub const ERROR_LOG_RESIZE_INVALID_SIZE: DWORD = 6806; -pub const ERROR_OBJECT_NO_LONGER_EXISTS: DWORD = 6807; -pub const ERROR_STREAM_MINIVERSION_NOT_FOUND: DWORD = 6808; -pub const ERROR_STREAM_MINIVERSION_NOT_VALID: DWORD = 6809; -pub const ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION: DWORD = 6810; -pub const ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT: DWORD = 6811; -pub const ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS: DWORD = 6812; -pub const ERROR_REMOTE_FILE_VERSION_MISMATCH: DWORD = 6814; -pub const ERROR_HANDLE_NO_LONGER_VALID: DWORD = 6815; -pub const ERROR_NO_TXF_METADATA: DWORD = 6816; -pub const ERROR_LOG_CORRUPTION_DETECTED: DWORD = 6817; -pub const ERROR_CANT_RECOVER_WITH_HANDLE_OPEN: DWORD = 6818; -pub const ERROR_RM_DISCONNECTED: DWORD = 6819; -pub const ERROR_ENLISTMENT_NOT_SUPERIOR: DWORD = 6820; -pub const ERROR_RECOVERY_NOT_NEEDED: DWORD = 6821; -pub const ERROR_RM_ALREADY_STARTED: DWORD = 6822; -pub const ERROR_FILE_IDENTITY_NOT_PERSISTENT: DWORD = 6823; -pub const ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY: DWORD = 6824; -pub const ERROR_CANT_CROSS_RM_BOUNDARY: DWORD = 6825; -pub const ERROR_TXF_DIR_NOT_EMPTY: DWORD = 6826; -pub const ERROR_INDOUBT_TRANSACTIONS_EXIST: DWORD = 6827; -pub const ERROR_TM_VOLATILE: DWORD = 6828; -pub const ERROR_ROLLBACK_TIMER_EXPIRED: DWORD = 6829; -pub const ERROR_TXF_ATTRIBUTE_CORRUPT: DWORD = 6830; -pub const ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION: DWORD = 6831; -pub const ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED: DWORD = 6832; -pub const ERROR_LOG_GROWTH_FAILED: DWORD = 6833; -pub const ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE: DWORD = 6834; -pub const ERROR_TXF_METADATA_ALREADY_PRESENT: DWORD = 6835; -pub const ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET: DWORD = 6836; -pub const ERROR_TRANSACTION_REQUIRED_PROMOTION: DWORD = 6837; -pub const ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION: DWORD = 6838; -pub const ERROR_TRANSACTIONS_NOT_FROZEN: DWORD = 6839; -pub const ERROR_TRANSACTION_FREEZE_IN_PROGRESS: DWORD = 6840; -pub const ERROR_NOT_SNAPSHOT_VOLUME: DWORD = 6841; -pub const ERROR_NO_SAVEPOINT_WITH_OPEN_FILES: DWORD = 6842; -pub const ERROR_DATA_LOST_REPAIR: DWORD = 6843; -pub const ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION: DWORD = 6844; -pub const ERROR_TM_IDENTITY_MISMATCH: DWORD = 6845; -pub const ERROR_FLOATED_SECTION: DWORD = 6846; -pub const ERROR_CANNOT_ACCEPT_TRANSACTED_WORK: DWORD = 6847; -pub const ERROR_CANNOT_ABORT_TRANSACTIONS: DWORD = 6848; -pub const ERROR_BAD_CLUSTERS: DWORD = 6849; -pub const ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION: DWORD = 6850; -pub const ERROR_VOLUME_DIRTY: DWORD = 6851; -pub const ERROR_NO_LINK_TRACKING_IN_TRANSACTION: DWORD = 6852; -pub const ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION: DWORD = 6853; -pub const ERROR_EXPIRED_HANDLE: DWORD = 6854; -pub const ERROR_TRANSACTION_NOT_ENLISTED: DWORD = 6855; -pub const ERROR_CTX_WINSTATION_NAME_INVALID: DWORD = 7001; -pub const ERROR_CTX_INVALID_PD: DWORD = 7002; -pub const ERROR_CTX_PD_NOT_FOUND: DWORD = 7003; -pub const ERROR_CTX_WD_NOT_FOUND: DWORD = 7004; -pub const ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY: DWORD = 7005; -pub const ERROR_CTX_SERVICE_NAME_COLLISION: DWORD = 7006; -pub const ERROR_CTX_CLOSE_PENDING: DWORD = 7007; -pub const ERROR_CTX_NO_OUTBUF: DWORD = 7008; -pub const ERROR_CTX_MODEM_INF_NOT_FOUND: DWORD = 7009; -pub const ERROR_CTX_INVALID_MODEMNAME: DWORD = 7010; -pub const ERROR_CTX_MODEM_RESPONSE_ERROR: DWORD = 7011; -pub const ERROR_CTX_MODEM_RESPONSE_TIMEOUT: DWORD = 7012; -pub const ERROR_CTX_MODEM_RESPONSE_NO_CARRIER: DWORD = 7013; -pub const ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE: DWORD = 7014; -pub const ERROR_CTX_MODEM_RESPONSE_BUSY: DWORD = 7015; -pub const ERROR_CTX_MODEM_RESPONSE_VOICE: DWORD = 7016; -pub const ERROR_CTX_TD_ERROR: DWORD = 7017; -pub const ERROR_CTX_WINSTATION_NOT_FOUND: DWORD = 7022; -pub const ERROR_CTX_WINSTATION_ALREADY_EXISTS: DWORD = 7023; -pub const ERROR_CTX_WINSTATION_BUSY: DWORD = 7024; -pub const ERROR_CTX_BAD_VIDEO_MODE: DWORD = 7025; -pub const ERROR_CTX_GRAPHICS_INVALID: DWORD = 7035; -pub const ERROR_CTX_LOGON_DISABLED: DWORD = 7037; -pub const ERROR_CTX_NOT_CONSOLE: DWORD = 7038; -pub const ERROR_CTX_CLIENT_QUERY_TIMEOUT: DWORD = 7040; -pub const ERROR_CTX_CONSOLE_DISCONNECT: DWORD = 7041; -pub const ERROR_CTX_CONSOLE_CONNECT: DWORD = 7042; -pub const ERROR_CTX_SHADOW_DENIED: DWORD = 7044; -pub const ERROR_CTX_WINSTATION_ACCESS_DENIED: DWORD = 7045; -pub const ERROR_CTX_INVALID_WD: DWORD = 7049; -pub const ERROR_CTX_SHADOW_INVALID: DWORD = 7050; -pub const ERROR_CTX_SHADOW_DISABLED: DWORD = 7051; -pub const ERROR_CTX_CLIENT_LICENSE_IN_USE: DWORD = 7052; -pub const ERROR_CTX_CLIENT_LICENSE_NOT_SET: DWORD = 7053; -pub const ERROR_CTX_LICENSE_NOT_AVAILABLE: DWORD = 7054; -pub const ERROR_CTX_LICENSE_CLIENT_INVALID: DWORD = 7055; -pub const ERROR_CTX_LICENSE_EXPIRED: DWORD = 7056; -pub const ERROR_CTX_SHADOW_NOT_RUNNING: DWORD = 7057; -pub const ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE: DWORD = 7058; -pub const ERROR_ACTIVATION_COUNT_EXCEEDED: DWORD = 7059; -pub const ERROR_CTX_WINSTATIONS_DISABLED: DWORD = 7060; -pub const ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED: DWORD = 7061; -pub const ERROR_CTX_SESSION_IN_USE: DWORD = 7062; -pub const ERROR_CTX_NO_FORCE_LOGOFF: DWORD = 7063; -pub const ERROR_CTX_ACCOUNT_RESTRICTION: DWORD = 7064; -pub const ERROR_RDP_PROTOCOL_ERROR: DWORD = 7065; -pub const ERROR_CTX_CDM_CONNECT: DWORD = 7066; -pub const ERROR_CTX_CDM_DISCONNECT: DWORD = 7067; -pub const ERROR_CTX_SECURITY_LAYER_ERROR: DWORD = 7068; -pub const ERROR_TS_INCOMPATIBLE_SESSIONS: DWORD = 7069; -pub const ERROR_TS_VIDEO_SUBSYSTEM_ERROR: DWORD = 7070; -pub const FRS_ERR_INVALID_API_SEQUENCE: DWORD = 8001; -pub const FRS_ERR_STARTING_SERVICE: DWORD = 8002; -pub const FRS_ERR_STOPPING_SERVICE: DWORD = 8003; -pub const FRS_ERR_INTERNAL_API: DWORD = 8004; -pub const FRS_ERR_INTERNAL: DWORD = 8005; -pub const FRS_ERR_SERVICE_COMM: DWORD = 8006; -pub const FRS_ERR_INSUFFICIENT_PRIV: DWORD = 8007; -pub const FRS_ERR_AUTHENTICATION: DWORD = 8008; -pub const FRS_ERR_PARENT_INSUFFICIENT_PRIV: DWORD = 8009; -pub const FRS_ERR_PARENT_AUTHENTICATION: DWORD = 8010; -pub const FRS_ERR_CHILD_TO_PARENT_COMM: DWORD = 8011; -pub const FRS_ERR_PARENT_TO_CHILD_COMM: DWORD = 8012; -pub const FRS_ERR_SYSVOL_POPULATE: DWORD = 8013; -pub const FRS_ERR_SYSVOL_POPULATE_TIMEOUT: DWORD = 8014; -pub const FRS_ERR_SYSVOL_IS_BUSY: DWORD = 8015; -pub const FRS_ERR_SYSVOL_DEMOTE: DWORD = 8016; -pub const FRS_ERR_INVALID_SERVICE_PARAMETER: DWORD = 8017; -pub const DS_S_SUCCESS: DWORD = NO_ERROR; -pub const ERROR_DS_NOT_INSTALLED: DWORD = 8200; -pub const ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY: DWORD = 8201; -pub const ERROR_DS_NO_ATTRIBUTE_OR_VALUE: DWORD = 8202; -pub const ERROR_DS_INVALID_ATTRIBUTE_SYNTAX: DWORD = 8203; -pub const ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED: DWORD = 8204; -pub const ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS: DWORD = 8205; -pub const ERROR_DS_BUSY: DWORD = 8206; -pub const ERROR_DS_UNAVAILABLE: DWORD = 8207; -pub const ERROR_DS_NO_RIDS_ALLOCATED: DWORD = 8208; -pub const ERROR_DS_NO_MORE_RIDS: DWORD = 8209; -pub const ERROR_DS_INCORRECT_ROLE_OWNER: DWORD = 8210; -pub const ERROR_DS_RIDMGR_INIT_ERROR: DWORD = 8211; -pub const ERROR_DS_OBJ_CLASS_VIOLATION: DWORD = 8212; -pub const ERROR_DS_CANT_ON_NON_LEAF: DWORD = 8213; -pub const ERROR_DS_CANT_ON_RDN: DWORD = 8214; -pub const ERROR_DS_CANT_MOD_OBJ_CLASS: DWORD = 8215; -pub const ERROR_DS_CROSS_DOM_MOVE_ERROR: DWORD = 8216; -pub const ERROR_DS_GC_NOT_AVAILABLE: DWORD = 8217; -pub const ERROR_SHARED_POLICY: DWORD = 8218; -pub const ERROR_POLICY_OBJECT_NOT_FOUND: DWORD = 8219; -pub const ERROR_POLICY_ONLY_IN_DS: DWORD = 8220; -pub const ERROR_PROMOTION_ACTIVE: DWORD = 8221; -pub const ERROR_NO_PROMOTION_ACTIVE: DWORD = 8222; -pub const ERROR_DS_OPERATIONS_ERROR: DWORD = 8224; -pub const ERROR_DS_PROTOCOL_ERROR: DWORD = 8225; -pub const ERROR_DS_TIMELIMIT_EXCEEDED: DWORD = 8226; -pub const ERROR_DS_SIZELIMIT_EXCEEDED: DWORD = 8227; -pub const ERROR_DS_ADMIN_LIMIT_EXCEEDED: DWORD = 8228; -pub const ERROR_DS_COMPARE_FALSE: DWORD = 8229; -pub const ERROR_DS_COMPARE_TRUE: DWORD = 8230; -pub const ERROR_DS_AUTH_METHOD_NOT_SUPPORTED: DWORD = 8231; -pub const ERROR_DS_STRONG_AUTH_REQUIRED: DWORD = 8232; -pub const ERROR_DS_INAPPROPRIATE_AUTH: DWORD = 8233; -pub const ERROR_DS_AUTH_UNKNOWN: DWORD = 8234; -pub const ERROR_DS_REFERRAL: DWORD = 8235; -pub const ERROR_DS_UNAVAILABLE_CRIT_EXTENSION: DWORD = 8236; -pub const ERROR_DS_CONFIDENTIALITY_REQUIRED: DWORD = 8237; -pub const ERROR_DS_INAPPROPRIATE_MATCHING: DWORD = 8238; -pub const ERROR_DS_CONSTRAINT_VIOLATION: DWORD = 8239; -pub const ERROR_DS_NO_SUCH_OBJECT: DWORD = 8240; -pub const ERROR_DS_ALIAS_PROBLEM: DWORD = 8241; -pub const ERROR_DS_INVALID_DN_SYNTAX: DWORD = 8242; -pub const ERROR_DS_IS_LEAF: DWORD = 8243; -pub const ERROR_DS_ALIAS_DEREF_PROBLEM: DWORD = 8244; -pub const ERROR_DS_UNWILLING_TO_PERFORM: DWORD = 8245; -pub const ERROR_DS_LOOP_DETECT: DWORD = 8246; -pub const ERROR_DS_NAMING_VIOLATION: DWORD = 8247; -pub const ERROR_DS_OBJECT_RESULTS_TOO_LARGE: DWORD = 8248; -pub const ERROR_DS_AFFECTS_MULTIPLE_DSAS: DWORD = 8249; -pub const ERROR_DS_SERVER_DOWN: DWORD = 8250; -pub const ERROR_DS_LOCAL_ERROR: DWORD = 8251; -pub const ERROR_DS_ENCODING_ERROR: DWORD = 8252; -pub const ERROR_DS_DECODING_ERROR: DWORD = 8253; -pub const ERROR_DS_FILTER_UNKNOWN: DWORD = 8254; -pub const ERROR_DS_PARAM_ERROR: DWORD = 8255; -pub const ERROR_DS_NOT_SUPPORTED: DWORD = 8256; -pub const ERROR_DS_NO_RESULTS_RETURNED: DWORD = 8257; -pub const ERROR_DS_CONTROL_NOT_FOUND: DWORD = 8258; -pub const ERROR_DS_CLIENT_LOOP: DWORD = 8259; -pub const ERROR_DS_REFERRAL_LIMIT_EXCEEDED: DWORD = 8260; -pub const ERROR_DS_SORT_CONTROL_MISSING: DWORD = 8261; -pub const ERROR_DS_OFFSET_RANGE_ERROR: DWORD = 8262; -pub const ERROR_DS_RIDMGR_DISABLED: DWORD = 8263; -pub const ERROR_DS_ROOT_MUST_BE_NC: DWORD = 8301; -pub const ERROR_DS_ADD_REPLICA_INHIBITED: DWORD = 8302; -pub const ERROR_DS_ATT_NOT_DEF_IN_SCHEMA: DWORD = 8303; -pub const ERROR_DS_MAX_OBJ_SIZE_EXCEEDED: DWORD = 8304; -pub const ERROR_DS_OBJ_STRING_NAME_EXISTS: DWORD = 8305; -pub const ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA: DWORD = 8306; -pub const ERROR_DS_RDN_DOESNT_MATCH_SCHEMA: DWORD = 8307; -pub const ERROR_DS_NO_REQUESTED_ATTS_FOUND: DWORD = 8308; -pub const ERROR_DS_USER_BUFFER_TO_SMALL: DWORD = 8309; -pub const ERROR_DS_ATT_IS_NOT_ON_OBJ: DWORD = 8310; -pub const ERROR_DS_ILLEGAL_MOD_OPERATION: DWORD = 8311; -pub const ERROR_DS_OBJ_TOO_LARGE: DWORD = 8312; -pub const ERROR_DS_BAD_INSTANCE_TYPE: DWORD = 8313; -pub const ERROR_DS_MASTERDSA_REQUIRED: DWORD = 8314; -pub const ERROR_DS_OBJECT_CLASS_REQUIRED: DWORD = 8315; -pub const ERROR_DS_MISSING_REQUIRED_ATT: DWORD = 8316; -pub const ERROR_DS_ATT_NOT_DEF_FOR_CLASS: DWORD = 8317; -pub const ERROR_DS_ATT_ALREADY_EXISTS: DWORD = 8318; -pub const ERROR_DS_CANT_ADD_ATT_VALUES: DWORD = 8320; -pub const ERROR_DS_SINGLE_VALUE_CONSTRAINT: DWORD = 8321; -pub const ERROR_DS_RANGE_CONSTRAINT: DWORD = 8322; -pub const ERROR_DS_ATT_VAL_ALREADY_EXISTS: DWORD = 8323; -pub const ERROR_DS_CANT_REM_MISSING_ATT: DWORD = 8324; -pub const ERROR_DS_CANT_REM_MISSING_ATT_VAL: DWORD = 8325; -pub const ERROR_DS_ROOT_CANT_BE_SUBREF: DWORD = 8326; -pub const ERROR_DS_NO_CHAINING: DWORD = 8327; -pub const ERROR_DS_NO_CHAINED_EVAL: DWORD = 8328; -pub const ERROR_DS_NO_PARENT_OBJECT: DWORD = 8329; -pub const ERROR_DS_PARENT_IS_AN_ALIAS: DWORD = 8330; -pub const ERROR_DS_CANT_MIX_MASTER_AND_REPS: DWORD = 8331; -pub const ERROR_DS_CHILDREN_EXIST: DWORD = 8332; -pub const ERROR_DS_OBJ_NOT_FOUND: DWORD = 8333; -pub const ERROR_DS_ALIASED_OBJ_MISSING: DWORD = 8334; -pub const ERROR_DS_BAD_NAME_SYNTAX: DWORD = 8335; -pub const ERROR_DS_ALIAS_POINTS_TO_ALIAS: DWORD = 8336; -pub const ERROR_DS_CANT_DEREF_ALIAS: DWORD = 8337; -pub const ERROR_DS_OUT_OF_SCOPE: DWORD = 8338; -pub const ERROR_DS_OBJECT_BEING_REMOVED: DWORD = 8339; -pub const ERROR_DS_CANT_DELETE_DSA_OBJ: DWORD = 8340; -pub const ERROR_DS_GENERIC_ERROR: DWORD = 8341; -pub const ERROR_DS_DSA_MUST_BE_INT_MASTER: DWORD = 8342; -pub const ERROR_DS_CLASS_NOT_DSA: DWORD = 8343; -pub const ERROR_DS_INSUFF_ACCESS_RIGHTS: DWORD = 8344; -pub const ERROR_DS_ILLEGAL_SUPERIOR: DWORD = 8345; -pub const ERROR_DS_ATTRIBUTE_OWNED_BY_SAM: DWORD = 8346; -pub const ERROR_DS_NAME_TOO_MANY_PARTS: DWORD = 8347; -pub const ERROR_DS_NAME_TOO_LONG: DWORD = 8348; -pub const ERROR_DS_NAME_VALUE_TOO_LONG: DWORD = 8349; -pub const ERROR_DS_NAME_UNPARSEABLE: DWORD = 8350; -pub const ERROR_DS_NAME_TYPE_UNKNOWN: DWORD = 8351; -pub const ERROR_DS_NOT_AN_OBJECT: DWORD = 8352; -pub const ERROR_DS_SEC_DESC_TOO_SHORT: DWORD = 8353; -pub const ERROR_DS_SEC_DESC_INVALID: DWORD = 8354; -pub const ERROR_DS_NO_DELETED_NAME: DWORD = 8355; -pub const ERROR_DS_SUBREF_MUST_HAVE_PARENT: DWORD = 8356; -pub const ERROR_DS_NCNAME_MUST_BE_NC: DWORD = 8357; -pub const ERROR_DS_CANT_ADD_SYSTEM_ONLY: DWORD = 8358; -pub const ERROR_DS_CLASS_MUST_BE_CONCRETE: DWORD = 8359; -pub const ERROR_DS_INVALID_DMD: DWORD = 8360; -pub const ERROR_DS_OBJ_GUID_EXISTS: DWORD = 8361; -pub const ERROR_DS_NOT_ON_BACKLINK: DWORD = 8362; -pub const ERROR_DS_NO_CROSSREF_FOR_NC: DWORD = 8363; -pub const ERROR_DS_SHUTTING_DOWN: DWORD = 8364; -pub const ERROR_DS_UNKNOWN_OPERATION: DWORD = 8365; -pub const ERROR_DS_INVALID_ROLE_OWNER: DWORD = 8366; -pub const ERROR_DS_COULDNT_CONTACT_FSMO: DWORD = 8367; -pub const ERROR_DS_CROSS_NC_DN_RENAME: DWORD = 8368; -pub const ERROR_DS_CANT_MOD_SYSTEM_ONLY: DWORD = 8369; -pub const ERROR_DS_REPLICATOR_ONLY: DWORD = 8370; -pub const ERROR_DS_OBJ_CLASS_NOT_DEFINED: DWORD = 8371; -pub const ERROR_DS_OBJ_CLASS_NOT_SUBCLASS: DWORD = 8372; -pub const ERROR_DS_NAME_REFERENCE_INVALID: DWORD = 8373; -pub const ERROR_DS_CROSS_REF_EXISTS: DWORD = 8374; -pub const ERROR_DS_CANT_DEL_MASTER_CROSSREF: DWORD = 8375; -pub const ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD: DWORD = 8376; -pub const ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX: DWORD = 8377; -pub const ERROR_DS_DUP_RDN: DWORD = 8378; -pub const ERROR_DS_DUP_OID: DWORD = 8379; -pub const ERROR_DS_DUP_MAPI_ID: DWORD = 8380; -pub const ERROR_DS_DUP_SCHEMA_ID_GUID: DWORD = 8381; -pub const ERROR_DS_DUP_LDAP_DISPLAY_NAME: DWORD = 8382; -pub const ERROR_DS_SEMANTIC_ATT_TEST: DWORD = 8383; -pub const ERROR_DS_SYNTAX_MISMATCH: DWORD = 8384; -pub const ERROR_DS_EXISTS_IN_MUST_HAVE: DWORD = 8385; -pub const ERROR_DS_EXISTS_IN_MAY_HAVE: DWORD = 8386; -pub const ERROR_DS_NONEXISTENT_MAY_HAVE: DWORD = 8387; -pub const ERROR_DS_NONEXISTENT_MUST_HAVE: DWORD = 8388; -pub const ERROR_DS_AUX_CLS_TEST_FAIL: DWORD = 8389; -pub const ERROR_DS_NONEXISTENT_POSS_SUP: DWORD = 8390; -pub const ERROR_DS_SUB_CLS_TEST_FAIL: DWORD = 8391; -pub const ERROR_DS_BAD_RDN_ATT_ID_SYNTAX: DWORD = 8392; -pub const ERROR_DS_EXISTS_IN_AUX_CLS: DWORD = 8393; -pub const ERROR_DS_EXISTS_IN_SUB_CLS: DWORD = 8394; -pub const ERROR_DS_EXISTS_IN_POSS_SUP: DWORD = 8395; -pub const ERROR_DS_RECALCSCHEMA_FAILED: DWORD = 8396; -pub const ERROR_DS_TREE_DELETE_NOT_FINISHED: DWORD = 8397; -pub const ERROR_DS_CANT_DELETE: DWORD = 8398; -pub const ERROR_DS_ATT_SCHEMA_REQ_ID: DWORD = 8399; -pub const ERROR_DS_BAD_ATT_SCHEMA_SYNTAX: DWORD = 8400; -pub const ERROR_DS_CANT_CACHE_ATT: DWORD = 8401; -pub const ERROR_DS_CANT_CACHE_CLASS: DWORD = 8402; -pub const ERROR_DS_CANT_REMOVE_ATT_CACHE: DWORD = 8403; -pub const ERROR_DS_CANT_REMOVE_CLASS_CACHE: DWORD = 8404; -pub const ERROR_DS_CANT_RETRIEVE_DN: DWORD = 8405; -pub const ERROR_DS_MISSING_SUPREF: DWORD = 8406; -pub const ERROR_DS_CANT_RETRIEVE_INSTANCE: DWORD = 8407; -pub const ERROR_DS_CODE_INCONSISTENCY: DWORD = 8408; -pub const ERROR_DS_DATABASE_ERROR: DWORD = 8409; -pub const ERROR_DS_GOVERNSID_MISSING: DWORD = 8410; -pub const ERROR_DS_MISSING_EXPECTED_ATT: DWORD = 8411; -pub const ERROR_DS_NCNAME_MISSING_CR_REF: DWORD = 8412; -pub const ERROR_DS_SECURITY_CHECKING_ERROR: DWORD = 8413; -pub const ERROR_DS_SCHEMA_NOT_LOADED: DWORD = 8414; -pub const ERROR_DS_SCHEMA_ALLOC_FAILED: DWORD = 8415; -pub const ERROR_DS_ATT_SCHEMA_REQ_SYNTAX: DWORD = 8416; -pub const ERROR_DS_GCVERIFY_ERROR: DWORD = 8417; -pub const ERROR_DS_DRA_SCHEMA_MISMATCH: DWORD = 8418; -pub const ERROR_DS_CANT_FIND_DSA_OBJ: DWORD = 8419; -pub const ERROR_DS_CANT_FIND_EXPECTED_NC: DWORD = 8420; -pub const ERROR_DS_CANT_FIND_NC_IN_CACHE: DWORD = 8421; -pub const ERROR_DS_CANT_RETRIEVE_CHILD: DWORD = 8422; -pub const ERROR_DS_SECURITY_ILLEGAL_MODIFY: DWORD = 8423; -pub const ERROR_DS_CANT_REPLACE_HIDDEN_REC: DWORD = 8424; -pub const ERROR_DS_BAD_HIERARCHY_FILE: DWORD = 8425; -pub const ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED: DWORD = 8426; -pub const ERROR_DS_CONFIG_PARAM_MISSING: DWORD = 8427; -pub const ERROR_DS_COUNTING_AB_INDICES_FAILED: DWORD = 8428; -pub const ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED: DWORD = 8429; -pub const ERROR_DS_INTERNAL_FAILURE: DWORD = 8430; -pub const ERROR_DS_UNKNOWN_ERROR: DWORD = 8431; -pub const ERROR_DS_ROOT_REQUIRES_CLASS_TOP: DWORD = 8432; -pub const ERROR_DS_REFUSING_FSMO_ROLES: DWORD = 8433; -pub const ERROR_DS_MISSING_FSMO_SETTINGS: DWORD = 8434; -pub const ERROR_DS_UNABLE_TO_SURRENDER_ROLES: DWORD = 8435; -pub const ERROR_DS_DRA_GENERIC: DWORD = 8436; -pub const ERROR_DS_DRA_INVALID_PARAMETER: DWORD = 8437; -pub const ERROR_DS_DRA_BUSY: DWORD = 8438; -pub const ERROR_DS_DRA_BAD_DN: DWORD = 8439; -pub const ERROR_DS_DRA_BAD_NC: DWORD = 8440; -pub const ERROR_DS_DRA_DN_EXISTS: DWORD = 8441; -pub const ERROR_DS_DRA_INTERNAL_ERROR: DWORD = 8442; -pub const ERROR_DS_DRA_INCONSISTENT_DIT: DWORD = 8443; -pub const ERROR_DS_DRA_CONNECTION_FAILED: DWORD = 8444; -pub const ERROR_DS_DRA_BAD_INSTANCE_TYPE: DWORD = 8445; -pub const ERROR_DS_DRA_OUT_OF_MEM: DWORD = 8446; -pub const ERROR_DS_DRA_MAIL_PROBLEM: DWORD = 8447; -pub const ERROR_DS_DRA_REF_ALREADY_EXISTS: DWORD = 8448; -pub const ERROR_DS_DRA_REF_NOT_FOUND: DWORD = 8449; -pub const ERROR_DS_DRA_OBJ_IS_REP_SOURCE: DWORD = 8450; -pub const ERROR_DS_DRA_DB_ERROR: DWORD = 8451; -pub const ERROR_DS_DRA_NO_REPLICA: DWORD = 8452; -pub const ERROR_DS_DRA_ACCESS_DENIED: DWORD = 8453; -pub const ERROR_DS_DRA_NOT_SUPPORTED: DWORD = 8454; -pub const ERROR_DS_DRA_RPC_CANCELLED: DWORD = 8455; -pub const ERROR_DS_DRA_SOURCE_DISABLED: DWORD = 8456; -pub const ERROR_DS_DRA_SINK_DISABLED: DWORD = 8457; -pub const ERROR_DS_DRA_NAME_COLLISION: DWORD = 8458; -pub const ERROR_DS_DRA_SOURCE_REINSTALLED: DWORD = 8459; -pub const ERROR_DS_DRA_MISSING_PARENT: DWORD = 8460; -pub const ERROR_DS_DRA_PREEMPTED: DWORD = 8461; -pub const ERROR_DS_DRA_ABANDON_SYNC: DWORD = 8462; -pub const ERROR_DS_DRA_SHUTDOWN: DWORD = 8463; -pub const ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET: DWORD = 8464; -pub const ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA: DWORD = 8465; -pub const ERROR_DS_DRA_EXTN_CONNECTION_FAILED: DWORD = 8466; -pub const ERROR_DS_INSTALL_SCHEMA_MISMATCH: DWORD = 8467; -pub const ERROR_DS_DUP_LINK_ID: DWORD = 8468; -pub const ERROR_DS_NAME_ERROR_RESOLVING: DWORD = 8469; -pub const ERROR_DS_NAME_ERROR_NOT_FOUND: DWORD = 8470; -pub const ERROR_DS_NAME_ERROR_NOT_UNIQUE: DWORD = 8471; -pub const ERROR_DS_NAME_ERROR_NO_MAPPING: DWORD = 8472; -pub const ERROR_DS_NAME_ERROR_DOMAIN_ONLY: DWORD = 8473; -pub const ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING: DWORD = 8474; -pub const ERROR_DS_CONSTRUCTED_ATT_MOD: DWORD = 8475; -pub const ERROR_DS_WRONG_OM_OBJ_CLASS: DWORD = 8476; -pub const ERROR_DS_DRA_REPL_PENDING: DWORD = 8477; -pub const ERROR_DS_DS_REQUIRED: DWORD = 8478; -pub const ERROR_DS_INVALID_LDAP_DISPLAY_NAME: DWORD = 8479; -pub const ERROR_DS_NON_BASE_SEARCH: DWORD = 8480; -pub const ERROR_DS_CANT_RETRIEVE_ATTS: DWORD = 8481; -pub const ERROR_DS_BACKLINK_WITHOUT_LINK: DWORD = 8482; -pub const ERROR_DS_EPOCH_MISMATCH: DWORD = 8483; -pub const ERROR_DS_SRC_NAME_MISMATCH: DWORD = 8484; -pub const ERROR_DS_SRC_AND_DST_NC_IDENTICAL: DWORD = 8485; -pub const ERROR_DS_DST_NC_MISMATCH: DWORD = 8486; -pub const ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC: DWORD = 8487; -pub const ERROR_DS_SRC_GUID_MISMATCH: DWORD = 8488; -pub const ERROR_DS_CANT_MOVE_DELETED_OBJECT: DWORD = 8489; -pub const ERROR_DS_PDC_OPERATION_IN_PROGRESS: DWORD = 8490; -pub const ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD: DWORD = 8491; -pub const ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION: DWORD = 8492; -pub const ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS: DWORD = 8493; -pub const ERROR_DS_NC_MUST_HAVE_NC_PARENT: DWORD = 8494; -pub const ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE: DWORD = 8495; -pub const ERROR_DS_DST_DOMAIN_NOT_NATIVE: DWORD = 8496; -pub const ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER: DWORD = 8497; -pub const ERROR_DS_CANT_MOVE_ACCOUNT_GROUP: DWORD = 8498; -pub const ERROR_DS_CANT_MOVE_RESOURCE_GROUP: DWORD = 8499; -pub const ERROR_DS_INVALID_SEARCH_FLAG: DWORD = 8500; -pub const ERROR_DS_NO_TREE_DELETE_ABOVE_NC: DWORD = 8501; -pub const ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE: DWORD = 8502; -pub const ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE: DWORD = 8503; -pub const ERROR_DS_SAM_INIT_FAILURE: DWORD = 8504; -pub const ERROR_DS_SENSITIVE_GROUP_VIOLATION: DWORD = 8505; -pub const ERROR_DS_CANT_MOD_PRIMARYGROUPID: DWORD = 8506; -pub const ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD: DWORD = 8507; -pub const ERROR_DS_NONSAFE_SCHEMA_CHANGE: DWORD = 8508; -pub const ERROR_DS_SCHEMA_UPDATE_DISALLOWED: DWORD = 8509; -pub const ERROR_DS_CANT_CREATE_UNDER_SCHEMA: DWORD = 8510; -pub const ERROR_DS_INSTALL_NO_SRC_SCH_VERSION: DWORD = 8511; -pub const ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE: DWORD = 8512; -pub const ERROR_DS_INVALID_GROUP_TYPE: DWORD = 8513; -pub const ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN: DWORD = 8514; -pub const ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN: DWORD = 8515; -pub const ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER: DWORD = 8516; -pub const ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER: DWORD = 8517; -pub const ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER: DWORD = 8518; -pub const ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER: DWORD = 8519; -pub const ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER: DWORD = 8520; -pub const ERROR_DS_HAVE_PRIMARY_MEMBERS: DWORD = 8521; -pub const ERROR_DS_STRING_SD_CONVERSION_FAILED: DWORD = 8522; -pub const ERROR_DS_NAMING_MASTER_GC: DWORD = 8523; -pub const ERROR_DS_DNS_LOOKUP_FAILURE: DWORD = 8524; -pub const ERROR_DS_COULDNT_UPDATE_SPNS: DWORD = 8525; -pub const ERROR_DS_CANT_RETRIEVE_SD: DWORD = 8526; -pub const ERROR_DS_KEY_NOT_UNIQUE: DWORD = 8527; -pub const ERROR_DS_WRONG_LINKED_ATT_SYNTAX: DWORD = 8528; -pub const ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD: DWORD = 8529; -pub const ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY: DWORD = 8530; -pub const ERROR_DS_CANT_START: DWORD = 8531; -pub const ERROR_DS_INIT_FAILURE: DWORD = 8532; -pub const ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION: DWORD = 8533; -pub const ERROR_DS_SOURCE_DOMAIN_IN_FOREST: DWORD = 8534; -pub const ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST: DWORD = 8535; -pub const ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED: DWORD = 8536; -pub const ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN: DWORD = 8537; -pub const ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER: DWORD = 8538; -pub const ERROR_DS_SRC_SID_EXISTS_IN_FOREST: DWORD = 8539; -pub const ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH: DWORD = 8540; -pub const ERROR_SAM_INIT_FAILURE: DWORD = 8541; -pub const ERROR_DS_DRA_SCHEMA_INFO_SHIP: DWORD = 8542; -pub const ERROR_DS_DRA_SCHEMA_CONFLICT: DWORD = 8543; -pub const ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT: DWORD = 8544; -pub const ERROR_DS_DRA_OBJ_NC_MISMATCH: DWORD = 8545; -pub const ERROR_DS_NC_STILL_HAS_DSAS: DWORD = 8546; -pub const ERROR_DS_GC_REQUIRED: DWORD = 8547; -pub const ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY: DWORD = 8548; -pub const ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS: DWORD = 8549; -pub const ERROR_DS_CANT_ADD_TO_GC: DWORD = 8550; -pub const ERROR_DS_NO_CHECKPOINT_WITH_PDC: DWORD = 8551; -pub const ERROR_DS_SOURCE_AUDITING_NOT_ENABLED: DWORD = 8552; -pub const ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC: DWORD = 8553; -pub const ERROR_DS_INVALID_NAME_FOR_SPN: DWORD = 8554; -pub const ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS: DWORD = 8555; -pub const ERROR_DS_UNICODEPWD_NOT_IN_QUOTES: DWORD = 8556; -pub const ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED: DWORD = 8557; -pub const ERROR_DS_MUST_BE_RUN_ON_DST_DC: DWORD = 8558; -pub const ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER: DWORD = 8559; -pub const ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ: DWORD = 8560; -pub const ERROR_DS_INIT_FAILURE_CONSOLE: DWORD = 8561; -pub const ERROR_DS_SAM_INIT_FAILURE_CONSOLE: DWORD = 8562; -pub const ERROR_DS_FOREST_VERSION_TOO_HIGH: DWORD = 8563; -pub const ERROR_DS_DOMAIN_VERSION_TOO_HIGH: DWORD = 8564; -pub const ERROR_DS_FOREST_VERSION_TOO_LOW: DWORD = 8565; -pub const ERROR_DS_DOMAIN_VERSION_TOO_LOW: DWORD = 8566; -pub const ERROR_DS_INCOMPATIBLE_VERSION: DWORD = 8567; -pub const ERROR_DS_LOW_DSA_VERSION: DWORD = 8568; -pub const ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN: DWORD = 8569; -pub const ERROR_DS_NOT_SUPPORTED_SORT_ORDER: DWORD = 8570; -pub const ERROR_DS_NAME_NOT_UNIQUE: DWORD = 8571; -pub const ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4: DWORD = 8572; -pub const ERROR_DS_OUT_OF_VERSION_STORE: DWORD = 8573; -pub const ERROR_DS_INCOMPATIBLE_CONTROLS_USED: DWORD = 8574; -pub const ERROR_DS_NO_REF_DOMAIN: DWORD = 8575; -pub const ERROR_DS_RESERVED_LINK_ID: DWORD = 8576; -pub const ERROR_DS_LINK_ID_NOT_AVAILABLE: DWORD = 8577; -pub const ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER: DWORD = 8578; -pub const ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE: DWORD = 8579; -pub const ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC: DWORD = 8580; -pub const ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG: DWORD = 8581; -pub const ERROR_DS_MODIFYDN_WRONG_GRANDPARENT: DWORD = 8582; -pub const ERROR_DS_NAME_ERROR_TRUST_REFERRAL: DWORD = 8583; -pub const ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER: DWORD = 8584; -pub const ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD: DWORD = 8585; -pub const ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2: DWORD = 8586; -pub const ERROR_DS_THREAD_LIMIT_EXCEEDED: DWORD = 8587; -pub const ERROR_DS_NOT_CLOSEST: DWORD = 8588; -pub const ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF: DWORD = 8589; -pub const ERROR_DS_SINGLE_USER_MODE_FAILED: DWORD = 8590; -pub const ERROR_DS_NTDSCRIPT_SYNTAX_ERROR: DWORD = 8591; -pub const ERROR_DS_NTDSCRIPT_PROCESS_ERROR: DWORD = 8592; -pub const ERROR_DS_DIFFERENT_REPL_EPOCHS: DWORD = 8593; -pub const ERROR_DS_DRS_EXTENSIONS_CHANGED: DWORD = 8594; -pub const ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR: DWORD = 8595; -pub const ERROR_DS_NO_MSDS_INTID: DWORD = 8596; -pub const ERROR_DS_DUP_MSDS_INTID: DWORD = 8597; -pub const ERROR_DS_EXISTS_IN_RDNATTID: DWORD = 8598; -pub const ERROR_DS_AUTHORIZATION_FAILED: DWORD = 8599; -pub const ERROR_DS_INVALID_SCRIPT: DWORD = 8600; -pub const ERROR_DS_REMOTE_CROSSREF_OP_FAILED: DWORD = 8601; -pub const ERROR_DS_CROSS_REF_BUSY: DWORD = 8602; -pub const ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN: DWORD = 8603; -pub const ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC: DWORD = 8604; -pub const ERROR_DS_DUPLICATE_ID_FOUND: DWORD = 8605; -pub const ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT: DWORD = 8606; -pub const ERROR_DS_GROUP_CONVERSION_ERROR: DWORD = 8607; -pub const ERROR_DS_CANT_MOVE_APP_BASIC_GROUP: DWORD = 8608; -pub const ERROR_DS_CANT_MOVE_APP_QUERY_GROUP: DWORD = 8609; -pub const ERROR_DS_ROLE_NOT_VERIFIED: DWORD = 8610; -pub const ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL: DWORD = 8611; -pub const ERROR_DS_DOMAIN_RENAME_IN_PROGRESS: DWORD = 8612; -pub const ERROR_DS_EXISTING_AD_CHILD_NC: DWORD = 8613; -pub const ERROR_DS_REPL_LIFETIME_EXCEEDED: DWORD = 8614; -pub const ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER: DWORD = 8615; -pub const ERROR_DS_LDAP_SEND_QUEUE_FULL: DWORD = 8616; -pub const ERROR_DS_DRA_OUT_SCHEDULE_WINDOW: DWORD = 8617; -pub const ERROR_DS_POLICY_NOT_KNOWN: DWORD = 8618; -pub const ERROR_NO_SITE_SETTINGS_OBJECT: DWORD = 8619; -pub const ERROR_NO_SECRETS: DWORD = 8620; -pub const ERROR_NO_WRITABLE_DC_FOUND: DWORD = 8621; -pub const ERROR_DS_NO_SERVER_OBJECT: DWORD = 8622; -pub const ERROR_DS_NO_NTDSA_OBJECT: DWORD = 8623; -pub const ERROR_DS_NON_ASQ_SEARCH: DWORD = 8624; -pub const ERROR_DS_AUDIT_FAILURE: DWORD = 8625; -pub const ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE: DWORD = 8626; -pub const ERROR_DS_INVALID_SEARCH_FLAG_TUPLE: DWORD = 8627; -pub const ERROR_DS_HIERARCHY_TABLE_TOO_DEEP: DWORD = 8628; -pub const ERROR_DS_DRA_CORRUPT_UTD_VECTOR: DWORD = 8629; -pub const ERROR_DS_DRA_SECRETS_DENIED: DWORD = 8630; -pub const ERROR_DS_RESERVED_MAPI_ID: DWORD = 8631; -pub const ERROR_DS_MAPI_ID_NOT_AVAILABLE: DWORD = 8632; -pub const ERROR_DS_DRA_MISSING_KRBTGT_SECRET: DWORD = 8633; -pub const ERROR_DS_DOMAIN_NAME_EXISTS_IN_FOREST: DWORD = 8634; -pub const ERROR_DS_FLAT_NAME_EXISTS_IN_FOREST: DWORD = 8635; -pub const ERROR_INVALID_USER_PRINCIPAL_NAME: DWORD = 8636; -pub const ERROR_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS: DWORD = 8637; -pub const ERROR_DS_OID_NOT_FOUND: DWORD = 8638; -pub const ERROR_DS_DRA_RECYCLED_TARGET: DWORD = 8639; -pub const ERROR_DS_DISALLOWED_NC_REDIRECT: DWORD = 8640; -pub const ERROR_DS_HIGH_ADLDS_FFL: DWORD = 8641; -pub const ERROR_DS_HIGH_DSA_VERSION: DWORD = 8642; -pub const ERROR_DS_LOW_ADLDS_FFL: DWORD = 8643; -pub const ERROR_DOMAIN_SID_SAME_AS_LOCAL_WORKSTATION: DWORD = 8644; -pub const ERROR_DS_UNDELETE_SAM_VALIDATION_FAILED: DWORD = 8645; -pub const ERROR_INCORRECT_ACCOUNT_TYPE: DWORD = 8646; -pub const ERROR_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST: DWORD = 8647; -pub const ERROR_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST: DWORD = 8648; -pub const DNS_ERROR_RESPONSE_CODES_BASE: DWORD = 9000; -pub const DNS_ERROR_RCODE_NO_ERROR: DWORD = NO_ERROR; -pub const DNS_ERROR_MASK: DWORD = 0x00002328; -pub const DNS_ERROR_RCODE_FORMAT_ERROR: DWORD = 9001; -pub const DNS_ERROR_RCODE_SERVER_FAILURE: DWORD = 9002; -pub const DNS_ERROR_RCODE_NAME_ERROR: DWORD = 9003; -pub const DNS_ERROR_RCODE_NOT_IMPLEMENTED: DWORD = 9004; -pub const DNS_ERROR_RCODE_REFUSED: DWORD = 9005; -pub const DNS_ERROR_RCODE_YXDOMAIN: DWORD = 9006; -pub const DNS_ERROR_RCODE_YXRRSET: DWORD = 9007; -pub const DNS_ERROR_RCODE_NXRRSET: DWORD = 9008; -pub const DNS_ERROR_RCODE_NOTAUTH: DWORD = 9009; -pub const DNS_ERROR_RCODE_NOTZONE: DWORD = 9010; -pub const DNS_ERROR_RCODE_BADSIG: DWORD = 9016; -pub const DNS_ERROR_RCODE_BADKEY: DWORD = 9017; -pub const DNS_ERROR_RCODE_BADTIME: DWORD = 9018; -pub const DNS_ERROR_RCODE_LAST: DWORD = DNS_ERROR_RCODE_BADTIME; -pub const DNS_ERROR_DNSSEC_BASE: DWORD = 9100; -pub const DNS_ERROR_KEYMASTER_REQUIRED: DWORD = 9101; -pub const DNS_ERROR_NOT_ALLOWED_ON_SIGNED_ZONE: DWORD = 9102; -pub const DNS_ERROR_NSEC3_INCOMPATIBLE_WITH_RSA_SHA1: DWORD = 9103; -pub const DNS_ERROR_NOT_ENOUGH_SIGNING_KEY_DESCRIPTORS: DWORD = 9104; -pub const DNS_ERROR_UNSUPPORTED_ALGORITHM: DWORD = 9105; -pub const DNS_ERROR_INVALID_KEY_SIZE: DWORD = 9106; -pub const DNS_ERROR_SIGNING_KEY_NOT_ACCESSIBLE: DWORD = 9107; -pub const DNS_ERROR_KSP_DOES_NOT_SUPPORT_PROTECTION: DWORD = 9108; -pub const DNS_ERROR_UNEXPECTED_DATA_PROTECTION_ERROR: DWORD = 9109; -pub const DNS_ERROR_UNEXPECTED_CNG_ERROR: DWORD = 9110; -pub const DNS_ERROR_UNKNOWN_SIGNING_PARAMETER_VERSION: DWORD = 9111; -pub const DNS_ERROR_KSP_NOT_ACCESSIBLE: DWORD = 9112; -pub const DNS_ERROR_TOO_MANY_SKDS: DWORD = 9113; -pub const DNS_ERROR_INVALID_ROLLOVER_PERIOD: DWORD = 9114; -pub const DNS_ERROR_INVALID_INITIAL_ROLLOVER_OFFSET: DWORD = 9115; -pub const DNS_ERROR_ROLLOVER_IN_PROGRESS: DWORD = 9116; -pub const DNS_ERROR_STANDBY_KEY_NOT_PRESENT: DWORD = 9117; -pub const DNS_ERROR_NOT_ALLOWED_ON_ZSK: DWORD = 9118; -pub const DNS_ERROR_NOT_ALLOWED_ON_ACTIVE_SKD: DWORD = 9119; -pub const DNS_ERROR_ROLLOVER_ALREADY_QUEUED: DWORD = 9120; -pub const DNS_ERROR_NOT_ALLOWED_ON_UNSIGNED_ZONE: DWORD = 9121; -pub const DNS_ERROR_BAD_KEYMASTER: DWORD = 9122; -pub const DNS_ERROR_INVALID_SIGNATURE_VALIDITY_PERIOD: DWORD = 9123; -pub const DNS_ERROR_INVALID_NSEC3_ITERATION_COUNT: DWORD = 9124; -pub const DNS_ERROR_DNSSEC_IS_DISABLED: DWORD = 9125; -pub const DNS_ERROR_INVALID_XML: DWORD = 9126; -pub const DNS_ERROR_NO_VALID_TRUST_ANCHORS: DWORD = 9127; -pub const DNS_ERROR_ROLLOVER_NOT_POKEABLE: DWORD = 9128; -pub const DNS_ERROR_NSEC3_NAME_COLLISION: DWORD = 9129; -pub const DNS_ERROR_NSEC_INCOMPATIBLE_WITH_NSEC3_RSA_SHA1: DWORD = 9130; -pub const DNS_ERROR_PACKET_FMT_BASE: DWORD = 9500; -pub const DNS_INFO_NO_RECORDS: DWORD = 9501; -pub const DNS_ERROR_BAD_PACKET: DWORD = 9502; -pub const DNS_ERROR_NO_PACKET: DWORD = 9503; -pub const DNS_ERROR_RCODE: DWORD = 9504; -pub const DNS_ERROR_UNSECURE_PACKET: DWORD = 9505; -pub const DNS_STATUS_PACKET_UNSECURE: DWORD = DNS_ERROR_UNSECURE_PACKET; -pub const DNS_REQUEST_PENDING: DWORD = 9506; -pub const DNS_ERROR_NO_MEMORY: DWORD = ERROR_OUTOFMEMORY; -pub const DNS_ERROR_INVALID_NAME: DWORD = ERROR_INVALID_NAME; -pub const DNS_ERROR_INVALID_DATA: DWORD = ERROR_INVALID_DATA; -pub const DNS_ERROR_GENERAL_API_BASE: DWORD = 9550; -pub const DNS_ERROR_INVALID_TYPE: DWORD = 9551; -pub const DNS_ERROR_INVALID_IP_ADDRESS: DWORD = 9552; -pub const DNS_ERROR_INVALID_PROPERTY: DWORD = 9553; -pub const DNS_ERROR_TRY_AGAIN_LATER: DWORD = 9554; -pub const DNS_ERROR_NOT_UNIQUE: DWORD = 9555; -pub const DNS_ERROR_NON_RFC_NAME: DWORD = 9556; -pub const DNS_STATUS_FQDN: DWORD = 9557; -pub const DNS_STATUS_DOTTED_NAME: DWORD = 9558; -pub const DNS_STATUS_SINGLE_PART_NAME: DWORD = 9559; -pub const DNS_ERROR_INVALID_NAME_CHAR: DWORD = 9560; -pub const DNS_ERROR_NUMERIC_NAME: DWORD = 9561; -pub const DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER: DWORD = 9562; -pub const DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION: DWORD = 9563; -pub const DNS_ERROR_CANNOT_FIND_ROOT_HINTS: DWORD = 9564; -pub const DNS_ERROR_INCONSISTENT_ROOT_HINTS: DWORD = 9565; -pub const DNS_ERROR_DWORD_VALUE_TOO_SMALL: DWORD = 9566; -pub const DNS_ERROR_DWORD_VALUE_TOO_LARGE: DWORD = 9567; -pub const DNS_ERROR_BACKGROUND_LOADING: DWORD = 9568; -pub const DNS_ERROR_NOT_ALLOWED_ON_RODC: DWORD = 9569; -pub const DNS_ERROR_NOT_ALLOWED_UNDER_DNAME: DWORD = 9570; -pub const DNS_ERROR_DELEGATION_REQUIRED: DWORD = 9571; -pub const DNS_ERROR_INVALID_POLICY_TABLE: DWORD = 9572; -pub const DNS_ERROR_ZONE_BASE: DWORD = 9600; -pub const DNS_ERROR_ZONE_DOES_NOT_EXIST: DWORD = 9601; -pub const DNS_ERROR_NO_ZONE_INFO: DWORD = 9602; -pub const DNS_ERROR_INVALID_ZONE_OPERATION: DWORD = 9603; -pub const DNS_ERROR_ZONE_CONFIGURATION_ERROR: DWORD = 9604; -pub const DNS_ERROR_ZONE_HAS_NO_SOA_RECORD: DWORD = 9605; -pub const DNS_ERROR_ZONE_HAS_NO_NS_RECORDS: DWORD = 9606; -pub const DNS_ERROR_ZONE_LOCKED: DWORD = 9607; -pub const DNS_ERROR_ZONE_CREATION_FAILED: DWORD = 9608; -pub const DNS_ERROR_ZONE_ALREADY_EXISTS: DWORD = 9609; -pub const DNS_ERROR_AUTOZONE_ALREADY_EXISTS: DWORD = 9610; -pub const DNS_ERROR_INVALID_ZONE_TYPE: DWORD = 9611; -pub const DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP: DWORD = 9612; -pub const DNS_ERROR_ZONE_NOT_SECONDARY: DWORD = 9613; -pub const DNS_ERROR_NEED_SECONDARY_ADDRESSES: DWORD = 9614; -pub const DNS_ERROR_WINS_INIT_FAILED: DWORD = 9615; -pub const DNS_ERROR_NEED_WINS_SERVERS: DWORD = 9616; -pub const DNS_ERROR_NBSTAT_INIT_FAILED: DWORD = 9617; -pub const DNS_ERROR_SOA_DELETE_INVALID: DWORD = 9618; -pub const DNS_ERROR_FORWARDER_ALREADY_EXISTS: DWORD = 9619; -pub const DNS_ERROR_ZONE_REQUIRES_MASTER_IP: DWORD = 9620; -pub const DNS_ERROR_ZONE_IS_SHUTDOWN: DWORD = 9621; -pub const DNS_ERROR_ZONE_LOCKED_FOR_SIGNING: DWORD = 9622; -pub const DNS_ERROR_DATAFILE_BASE: DWORD = 9650; -pub const DNS_ERROR_PRIMARY_REQUIRES_DATAFILE: DWORD = 9651; -pub const DNS_ERROR_INVALID_DATAFILE_NAME: DWORD = 9652; -pub const DNS_ERROR_DATAFILE_OPEN_FAILURE: DWORD = 9653; -pub const DNS_ERROR_FILE_WRITEBACK_FAILED: DWORD = 9654; -pub const DNS_ERROR_DATAFILE_PARSING: DWORD = 9655; -pub const DNS_ERROR_DATABASE_BASE: DWORD = 9700; -pub const DNS_ERROR_RECORD_DOES_NOT_EXIST: DWORD = 9701; -pub const DNS_ERROR_RECORD_FORMAT: DWORD = 9702; -pub const DNS_ERROR_NODE_CREATION_FAILED: DWORD = 9703; -pub const DNS_ERROR_UNKNOWN_RECORD_TYPE: DWORD = 9704; -pub const DNS_ERROR_RECORD_TIMED_OUT: DWORD = 9705; -pub const DNS_ERROR_NAME_NOT_IN_ZONE: DWORD = 9706; -pub const DNS_ERROR_CNAME_LOOP: DWORD = 9707; -pub const DNS_ERROR_NODE_IS_CNAME: DWORD = 9708; -pub const DNS_ERROR_CNAME_COLLISION: DWORD = 9709; -pub const DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT: DWORD = 9710; -pub const DNS_ERROR_RECORD_ALREADY_EXISTS: DWORD = 9711; -pub const DNS_ERROR_SECONDARY_DATA: DWORD = 9712; -pub const DNS_ERROR_NO_CREATE_CACHE_DATA: DWORD = 9713; -pub const DNS_ERROR_NAME_DOES_NOT_EXIST: DWORD = 9714; -pub const DNS_WARNING_PTR_CREATE_FAILED: DWORD = 9715; -pub const DNS_WARNING_DOMAIN_UNDELETED: DWORD = 9716; -pub const DNS_ERROR_DS_UNAVAILABLE: DWORD = 9717; -pub const DNS_ERROR_DS_ZONE_ALREADY_EXISTS: DWORD = 9718; -pub const DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE: DWORD = 9719; -pub const DNS_ERROR_NODE_IS_DNAME: DWORD = 9720; -pub const DNS_ERROR_DNAME_COLLISION: DWORD = 9721; -pub const DNS_ERROR_ALIAS_LOOP: DWORD = 9722; -pub const DNS_ERROR_OPERATION_BASE: DWORD = 9750; -pub const DNS_INFO_AXFR_COMPLETE: DWORD = 9751; -pub const DNS_ERROR_AXFR: DWORD = 9752; -pub const DNS_INFO_ADDED_LOCAL_WINS: DWORD = 9753; -pub const DNS_ERROR_SECURE_BASE: DWORD = 9800; -pub const DNS_STATUS_CONTINUE_NEEDED: DWORD = 9801; -pub const DNS_ERROR_SETUP_BASE: DWORD = 9850; -pub const DNS_ERROR_NO_TCPIP: DWORD = 9851; -pub const DNS_ERROR_NO_DNS_SERVERS: DWORD = 9852; -pub const DNS_ERROR_DP_BASE: DWORD = 9900; -pub const DNS_ERROR_DP_DOES_NOT_EXIST: DWORD = 9901; -pub const DNS_ERROR_DP_ALREADY_EXISTS: DWORD = 9902; -pub const DNS_ERROR_DP_NOT_ENLISTED: DWORD = 9903; -pub const DNS_ERROR_DP_ALREADY_ENLISTED: DWORD = 9904; -pub const DNS_ERROR_DP_NOT_AVAILABLE: DWORD = 9905; -pub const DNS_ERROR_DP_FSMO_ERROR: DWORD = 9906; -pub const DNS_ERROR_ZONESCOPE_ALREADY_EXISTS: DWORD = 9951; -pub const DNS_ERROR_ZONESCOPE_DOES_NOT_EXIST: DWORD = 9952; -pub const DNS_ERROR_DEFAULT_ZONESCOPE: DWORD = 9953; -pub const DNS_ERROR_INVALID_ZONESCOPE_NAME: DWORD = 9954; -pub const DNS_ERROR_NOT_ALLOWED_WITH_ZONESCOPES: DWORD = 9955; -pub const DNS_ERROR_LOAD_ZONESCOPE_FAILED: DWORD = 9956; -pub const DNS_ERROR_ZONESCOPE_FILE_WRITEBACK_FAILED: DWORD = 9957; -pub const DNS_ERROR_INVALID_SCOPE_NAME: DWORD = 9958; -pub const DNS_ERROR_SCOPE_DOES_NOT_EXIST: DWORD = 9959; -pub const DNS_ERROR_DEFAULT_SCOPE: DWORD = 9960; -pub const DNS_ERROR_INVALID_SCOPE_OPERATION: DWORD = 9961; -pub const DNS_ERROR_SCOPE_LOCKED: DWORD = 9962; -pub const DNS_ERROR_SCOPE_ALREADY_EXISTS: DWORD = 9963; -pub const WSABASEERR: DWORD = 10000; -pub const WSAEINTR: DWORD = 10004; -pub const WSAEBADF: DWORD = 10009; -pub const WSAEACCES: DWORD = 10013; -pub const WSAEFAULT: DWORD = 10014; -pub const WSAEINVAL: DWORD = 10022; -pub const WSAEMFILE: DWORD = 10024; -pub const WSAEWOULDBLOCK: DWORD = 10035; -pub const WSAEINPROGRESS: DWORD = 10036; -pub const WSAEALREADY: DWORD = 10037; -pub const WSAENOTSOCK: DWORD = 10038; -pub const WSAEDESTADDRREQ: DWORD = 10039; -pub const WSAEMSGSIZE: DWORD = 10040; -pub const WSAEPROTOTYPE: DWORD = 10041; -pub const WSAENOPROTOOPT: DWORD = 10042; -pub const WSAEPROTONOSUPPORT: DWORD = 10043; -pub const WSAESOCKTNOSUPPORT: DWORD = 10044; -pub const WSAEOPNOTSUPP: DWORD = 10045; -pub const WSAEPFNOSUPPORT: DWORD = 10046; -pub const WSAEAFNOSUPPORT: DWORD = 10047; -pub const WSAEADDRINUSE: DWORD = 10048; -pub const WSAEADDRNOTAVAIL: DWORD = 10049; -pub const WSAENETDOWN: DWORD = 10050; -pub const WSAENETUNREACH: DWORD = 10051; -pub const WSAENETRESET: DWORD = 10052; -pub const WSAECONNABORTED: DWORD = 10053; -pub const WSAECONNRESET: DWORD = 10054; -pub const WSAENOBUFS: DWORD = 10055; -pub const WSAEISCONN: DWORD = 10056; -pub const WSAENOTCONN: DWORD = 10057; -pub const WSAESHUTDOWN: DWORD = 10058; -pub const WSAETOOMANYREFS: DWORD = 10059; -pub const WSAETIMEDOUT: DWORD = 10060; -pub const WSAECONNREFUSED: DWORD = 10061; -pub const WSAELOOP: DWORD = 10062; -pub const WSAENAMETOOLONG: DWORD = 10063; -pub const WSAEHOSTDOWN: DWORD = 10064; -pub const WSAEHOSTUNREACH: DWORD = 10065; -pub const WSAENOTEMPTY: DWORD = 10066; -pub const WSAEPROCLIM: DWORD = 10067; -pub const WSAEUSERS: DWORD = 10068; -pub const WSAEDQUOT: DWORD = 10069; -pub const WSAESTALE: DWORD = 10070; -pub const WSAEREMOTE: DWORD = 10071; -pub const WSASYSNOTREADY: DWORD = 10091; -pub const WSAVERNOTSUPPORTED: DWORD = 10092; -pub const WSANOTINITIALISED: DWORD = 10093; -pub const WSAEDISCON: DWORD = 10101; -pub const WSAENOMORE: DWORD = 10102; -pub const WSAECANCELLED: DWORD = 10103; -pub const WSAEINVALIDPROCTABLE: DWORD = 10104; -pub const WSAEINVALIDPROVIDER: DWORD = 10105; -pub const WSAEPROVIDERFAILEDINIT: DWORD = 10106; -pub const WSASYSCALLFAILURE: DWORD = 10107; -pub const WSASERVICE_NOT_FOUND: DWORD = 10108; -pub const WSATYPE_NOT_FOUND: DWORD = 10109; -pub const WSA_E_NO_MORE: DWORD = 10110; -pub const WSA_E_CANCELLED: DWORD = 10111; -pub const WSAEREFUSED: DWORD = 10112; -pub const WSAHOST_NOT_FOUND: DWORD = 11001; -pub const WSATRY_AGAIN: DWORD = 11002; -pub const WSANO_RECOVERY: DWORD = 11003; -pub const WSANO_DATA: DWORD = 11004; -pub const WSA_QOS_RECEIVERS: DWORD = 11005; -pub const WSA_QOS_SENDERS: DWORD = 11006; -pub const WSA_QOS_NO_SENDERS: DWORD = 11007; -pub const WSA_QOS_NO_RECEIVERS: DWORD = 11008; -pub const WSA_QOS_REQUEST_CONFIRMED: DWORD = 11009; -pub const WSA_QOS_ADMISSION_FAILURE: DWORD = 11010; -pub const WSA_QOS_POLICY_FAILURE: DWORD = 11011; -pub const WSA_QOS_BAD_STYLE: DWORD = 11012; -pub const WSA_QOS_BAD_OBJECT: DWORD = 11013; -pub const WSA_QOS_TRAFFIC_CTRL_ERROR: DWORD = 11014; -pub const WSA_QOS_GENERIC_ERROR: DWORD = 11015; -pub const WSA_QOS_ESERVICETYPE: DWORD = 11016; -pub const WSA_QOS_EFLOWSPEC: DWORD = 11017; -pub const WSA_QOS_EPROVSPECBUF: DWORD = 11018; -pub const WSA_QOS_EFILTERSTYLE: DWORD = 11019; -pub const WSA_QOS_EFILTERTYPE: DWORD = 11020; -pub const WSA_QOS_EFILTERCOUNT: DWORD = 11021; -pub const WSA_QOS_EOBJLENGTH: DWORD = 11022; -pub const WSA_QOS_EFLOWCOUNT: DWORD = 11023; -pub const WSA_QOS_EUNKOWNPSOBJ: DWORD = 11024; -pub const WSA_QOS_EPOLICYOBJ: DWORD = 11025; -pub const WSA_QOS_EFLOWDESC: DWORD = 11026; -pub const WSA_QOS_EPSFLOWSPEC: DWORD = 11027; -pub const WSA_QOS_EPSFILTERSPEC: DWORD = 11028; -pub const WSA_QOS_ESDMODEOBJ: DWORD = 11029; -pub const WSA_QOS_ESHAPERATEOBJ: DWORD = 11030; -pub const WSA_QOS_RESERVED_PETYPE: DWORD = 11031; -pub const WSA_SECURE_HOST_NOT_FOUND: DWORD = 11032; -pub const WSA_IPSEC_NAME_POLICY_ERROR: DWORD = 11033; -pub const ERROR_IPSEC_QM_POLICY_EXISTS: DWORD = 13000; -pub const ERROR_IPSEC_QM_POLICY_NOT_FOUND: DWORD = 13001; -pub const ERROR_IPSEC_QM_POLICY_IN_USE: DWORD = 13002; -pub const ERROR_IPSEC_MM_POLICY_EXISTS: DWORD = 13003; -pub const ERROR_IPSEC_MM_POLICY_NOT_FOUND: DWORD = 13004; -pub const ERROR_IPSEC_MM_POLICY_IN_USE: DWORD = 13005; -pub const ERROR_IPSEC_MM_FILTER_EXISTS: DWORD = 13006; -pub const ERROR_IPSEC_MM_FILTER_NOT_FOUND: DWORD = 13007; -pub const ERROR_IPSEC_TRANSPORT_FILTER_EXISTS: DWORD = 13008; -pub const ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND: DWORD = 13009; -pub const ERROR_IPSEC_MM_AUTH_EXISTS: DWORD = 13010; -pub const ERROR_IPSEC_MM_AUTH_NOT_FOUND: DWORD = 13011; -pub const ERROR_IPSEC_MM_AUTH_IN_USE: DWORD = 13012; -pub const ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND: DWORD = 13013; -pub const ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND: DWORD = 13014; -pub const ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND: DWORD = 13015; -pub const ERROR_IPSEC_TUNNEL_FILTER_EXISTS: DWORD = 13016; -pub const ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND: DWORD = 13017; -pub const ERROR_IPSEC_MM_FILTER_PENDING_DELETION: DWORD = 13018; -pub const ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION: DWORD = 13019; -pub const ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION: DWORD = 13020; -pub const ERROR_IPSEC_MM_POLICY_PENDING_DELETION: DWORD = 13021; -pub const ERROR_IPSEC_MM_AUTH_PENDING_DELETION: DWORD = 13022; -pub const ERROR_IPSEC_QM_POLICY_PENDING_DELETION: DWORD = 13023; -pub const WARNING_IPSEC_MM_POLICY_PRUNED: DWORD = 13024; -pub const WARNING_IPSEC_QM_POLICY_PRUNED: DWORD = 13025; -pub const ERROR_IPSEC_IKE_NEG_STATUS_BEGIN: DWORD = 13800; -pub const ERROR_IPSEC_IKE_AUTH_FAIL: DWORD = 13801; -pub const ERROR_IPSEC_IKE_ATTRIB_FAIL: DWORD = 13802; -pub const ERROR_IPSEC_IKE_NEGOTIATION_PENDING: DWORD = 13803; -pub const ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR: DWORD = 13804; -pub const ERROR_IPSEC_IKE_TIMED_OUT: DWORD = 13805; -pub const ERROR_IPSEC_IKE_NO_CERT: DWORD = 13806; -pub const ERROR_IPSEC_IKE_SA_DELETED: DWORD = 13807; -pub const ERROR_IPSEC_IKE_SA_REAPED: DWORD = 13808; -pub const ERROR_IPSEC_IKE_MM_ACQUIRE_DROP: DWORD = 13809; -pub const ERROR_IPSEC_IKE_QM_ACQUIRE_DROP: DWORD = 13810; -pub const ERROR_IPSEC_IKE_QUEUE_DROP_MM: DWORD = 13811; -pub const ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM: DWORD = 13812; -pub const ERROR_IPSEC_IKE_DROP_NO_RESPONSE: DWORD = 13813; -pub const ERROR_IPSEC_IKE_MM_DELAY_DROP: DWORD = 13814; -pub const ERROR_IPSEC_IKE_QM_DELAY_DROP: DWORD = 13815; -pub const ERROR_IPSEC_IKE_ERROR: DWORD = 13816; -pub const ERROR_IPSEC_IKE_CRL_FAILED: DWORD = 13817; -pub const ERROR_IPSEC_IKE_INVALID_KEY_USAGE: DWORD = 13818; -pub const ERROR_IPSEC_IKE_INVALID_CERT_TYPE: DWORD = 13819; -pub const ERROR_IPSEC_IKE_NO_PRIVATE_KEY: DWORD = 13820; -pub const ERROR_IPSEC_IKE_SIMULTANEOUS_REKEY: DWORD = 13821; -pub const ERROR_IPSEC_IKE_DH_FAIL: DWORD = 13822; -pub const ERROR_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED: DWORD = 13823; -pub const ERROR_IPSEC_IKE_INVALID_HEADER: DWORD = 13824; -pub const ERROR_IPSEC_IKE_NO_POLICY: DWORD = 13825; -pub const ERROR_IPSEC_IKE_INVALID_SIGNATURE: DWORD = 13826; -pub const ERROR_IPSEC_IKE_KERBEROS_ERROR: DWORD = 13827; -pub const ERROR_IPSEC_IKE_NO_PUBLIC_KEY: DWORD = 13828; -pub const ERROR_IPSEC_IKE_PROCESS_ERR: DWORD = 13829; -pub const ERROR_IPSEC_IKE_PROCESS_ERR_SA: DWORD = 13830; -pub const ERROR_IPSEC_IKE_PROCESS_ERR_PROP: DWORD = 13831; -pub const ERROR_IPSEC_IKE_PROCESS_ERR_TRANS: DWORD = 13832; -pub const ERROR_IPSEC_IKE_PROCESS_ERR_KE: DWORD = 13833; -pub const ERROR_IPSEC_IKE_PROCESS_ERR_ID: DWORD = 13834; -pub const ERROR_IPSEC_IKE_PROCESS_ERR_CERT: DWORD = 13835; -pub const ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ: DWORD = 13836; -pub const ERROR_IPSEC_IKE_PROCESS_ERR_HASH: DWORD = 13837; -pub const ERROR_IPSEC_IKE_PROCESS_ERR_SIG: DWORD = 13838; -pub const ERROR_IPSEC_IKE_PROCESS_ERR_NONCE: DWORD = 13839; -pub const ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY: DWORD = 13840; -pub const ERROR_IPSEC_IKE_PROCESS_ERR_DELETE: DWORD = 13841; -pub const ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR: DWORD = 13842; -pub const ERROR_IPSEC_IKE_INVALID_PAYLOAD: DWORD = 13843; -pub const ERROR_IPSEC_IKE_LOAD_SOFT_SA: DWORD = 13844; -pub const ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN: DWORD = 13845; -pub const ERROR_IPSEC_IKE_INVALID_COOKIE: DWORD = 13846; -pub const ERROR_IPSEC_IKE_NO_PEER_CERT: DWORD = 13847; -pub const ERROR_IPSEC_IKE_PEER_CRL_FAILED: DWORD = 13848; -pub const ERROR_IPSEC_IKE_POLICY_CHANGE: DWORD = 13849; -pub const ERROR_IPSEC_IKE_NO_MM_POLICY: DWORD = 13850; -pub const ERROR_IPSEC_IKE_NOTCBPRIV: DWORD = 13851; -pub const ERROR_IPSEC_IKE_SECLOADFAIL: DWORD = 13852; -pub const ERROR_IPSEC_IKE_FAILSSPINIT: DWORD = 13853; -pub const ERROR_IPSEC_IKE_FAILQUERYSSP: DWORD = 13854; -pub const ERROR_IPSEC_IKE_SRVACQFAIL: DWORD = 13855; -pub const ERROR_IPSEC_IKE_SRVQUERYCRED: DWORD = 13856; -pub const ERROR_IPSEC_IKE_GETSPIFAIL: DWORD = 13857; -pub const ERROR_IPSEC_IKE_INVALID_FILTER: DWORD = 13858; -pub const ERROR_IPSEC_IKE_OUT_OF_MEMORY: DWORD = 13859; -pub const ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED: DWORD = 13860; -pub const ERROR_IPSEC_IKE_INVALID_POLICY: DWORD = 13861; -pub const ERROR_IPSEC_IKE_UNKNOWN_DOI: DWORD = 13862; -pub const ERROR_IPSEC_IKE_INVALID_SITUATION: DWORD = 13863; -pub const ERROR_IPSEC_IKE_DH_FAILURE: DWORD = 13864; -pub const ERROR_IPSEC_IKE_INVALID_GROUP: DWORD = 13865; -pub const ERROR_IPSEC_IKE_ENCRYPT: DWORD = 13866; -pub const ERROR_IPSEC_IKE_DECRYPT: DWORD = 13867; -pub const ERROR_IPSEC_IKE_POLICY_MATCH: DWORD = 13868; -pub const ERROR_IPSEC_IKE_UNSUPPORTED_ID: DWORD = 13869; -pub const ERROR_IPSEC_IKE_INVALID_HASH: DWORD = 13870; -pub const ERROR_IPSEC_IKE_INVALID_HASH_ALG: DWORD = 13871; -pub const ERROR_IPSEC_IKE_INVALID_HASH_SIZE: DWORD = 13872; -pub const ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG: DWORD = 13873; -pub const ERROR_IPSEC_IKE_INVALID_AUTH_ALG: DWORD = 13874; -pub const ERROR_IPSEC_IKE_INVALID_SIG: DWORD = 13875; -pub const ERROR_IPSEC_IKE_LOAD_FAILED: DWORD = 13876; -pub const ERROR_IPSEC_IKE_RPC_DELETE: DWORD = 13877; -pub const ERROR_IPSEC_IKE_BENIGN_REINIT: DWORD = 13878; -pub const ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY: DWORD = 13879; -pub const ERROR_IPSEC_IKE_INVALID_MAJOR_VERSION: DWORD = 13880; -pub const ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN: DWORD = 13881; -pub const ERROR_IPSEC_IKE_MM_LIMIT: DWORD = 13882; -pub const ERROR_IPSEC_IKE_NEGOTIATION_DISABLED: DWORD = 13883; -pub const ERROR_IPSEC_IKE_QM_LIMIT: DWORD = 13884; -pub const ERROR_IPSEC_IKE_MM_EXPIRED: DWORD = 13885; -pub const ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID: DWORD = 13886; -pub const ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH: DWORD = 13887; -pub const ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID: DWORD = 13888; -pub const ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD: DWORD = 13889; -pub const ERROR_IPSEC_IKE_DOS_COOKIE_SENT: DWORD = 13890; -pub const ERROR_IPSEC_IKE_SHUTTING_DOWN: DWORD = 13891; -pub const ERROR_IPSEC_IKE_CGA_AUTH_FAILED: DWORD = 13892; -pub const ERROR_IPSEC_IKE_PROCESS_ERR_NATOA: DWORD = 13893; -pub const ERROR_IPSEC_IKE_INVALID_MM_FOR_QM: DWORD = 13894; -pub const ERROR_IPSEC_IKE_QM_EXPIRED: DWORD = 13895; -pub const ERROR_IPSEC_IKE_TOO_MANY_FILTERS: DWORD = 13896; -pub const ERROR_IPSEC_IKE_NEG_STATUS_END: DWORD = 13897; -pub const ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL: DWORD = 13898; -pub const ERROR_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE: DWORD = 13899; -pub const ERROR_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING: DWORD = 13900; -pub const ERROR_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING: DWORD = 13901; -pub const ERROR_IPSEC_IKE_COEXISTENCE_SUPPRESS: DWORD = 13902; -pub const ERROR_IPSEC_IKE_RATELIMIT_DROP: DWORD = 13903; -pub const ERROR_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE: DWORD = 13904; -pub const ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE: DWORD = 13905; -pub const ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE: DWORD = 13906; -pub const ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY: DWORD = 13907; -pub const ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE: DWORD = 13908; -pub const ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END: DWORD = 13909; -pub const ERROR_IPSEC_BAD_SPI: DWORD = 13910; -pub const ERROR_IPSEC_SA_LIFETIME_EXPIRED: DWORD = 13911; -pub const ERROR_IPSEC_WRONG_SA: DWORD = 13912; -pub const ERROR_IPSEC_REPLAY_CHECK_FAILED: DWORD = 13913; -pub const ERROR_IPSEC_INVALID_PACKET: DWORD = 13914; -pub const ERROR_IPSEC_INTEGRITY_CHECK_FAILED: DWORD = 13915; -pub const ERROR_IPSEC_CLEAR_TEXT_DROP: DWORD = 13916; -pub const ERROR_IPSEC_AUTH_FIREWALL_DROP: DWORD = 13917; -pub const ERROR_IPSEC_THROTTLE_DROP: DWORD = 13918; -pub const ERROR_IPSEC_DOSP_BLOCK: DWORD = 13925; -pub const ERROR_IPSEC_DOSP_RECEIVED_MULTICAST: DWORD = 13926; -pub const ERROR_IPSEC_DOSP_INVALID_PACKET: DWORD = 13927; -pub const ERROR_IPSEC_DOSP_STATE_LOOKUP_FAILED: DWORD = 13928; -pub const ERROR_IPSEC_DOSP_MAX_ENTRIES: DWORD = 13929; -pub const ERROR_IPSEC_DOSP_KEYMOD_NOT_ALLOWED: DWORD = 13930; -pub const ERROR_IPSEC_DOSP_NOT_INSTALLED: DWORD = 13931; -pub const ERROR_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES: DWORD = 13932; -pub const ERROR_SXS_SECTION_NOT_FOUND: DWORD = 14000; -pub const ERROR_SXS_CANT_GEN_ACTCTX: DWORD = 14001; -pub const ERROR_SXS_INVALID_ACTCTXDATA_FORMAT: DWORD = 14002; -pub const ERROR_SXS_ASSEMBLY_NOT_FOUND: DWORD = 14003; -pub const ERROR_SXS_MANIFEST_FORMAT_ERROR: DWORD = 14004; -pub const ERROR_SXS_MANIFEST_PARSE_ERROR: DWORD = 14005; -pub const ERROR_SXS_ACTIVATION_CONTEXT_DISABLED: DWORD = 14006; -pub const ERROR_SXS_KEY_NOT_FOUND: DWORD = 14007; -pub const ERROR_SXS_VERSION_CONFLICT: DWORD = 14008; -pub const ERROR_SXS_WRONG_SECTION_TYPE: DWORD = 14009; -pub const ERROR_SXS_THREAD_QUERIES_DISABLED: DWORD = 14010; -pub const ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET: DWORD = 14011; -pub const ERROR_SXS_UNKNOWN_ENCODING_GROUP: DWORD = 14012; -pub const ERROR_SXS_UNKNOWN_ENCODING: DWORD = 14013; -pub const ERROR_SXS_INVALID_XML_NAMESPACE_URI: DWORD = 14014; -pub const ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED: DWORD = 14015; -pub const ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED: DWORD = 14016; -pub const ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE: DWORD = 14017; -pub const ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE: DWORD = 14018; -pub const ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE: DWORD = 14019; -pub const ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT: DWORD = 14020; -pub const ERROR_SXS_DUPLICATE_DLL_NAME: DWORD = 14021; -pub const ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME: DWORD = 14022; -pub const ERROR_SXS_DUPLICATE_CLSID: DWORD = 14023; -pub const ERROR_SXS_DUPLICATE_IID: DWORD = 14024; -pub const ERROR_SXS_DUPLICATE_TLBID: DWORD = 14025; -pub const ERROR_SXS_DUPLICATE_PROGID: DWORD = 14026; -pub const ERROR_SXS_DUPLICATE_ASSEMBLY_NAME: DWORD = 14027; -pub const ERROR_SXS_FILE_HASH_MISMATCH: DWORD = 14028; -pub const ERROR_SXS_POLICY_PARSE_ERROR: DWORD = 14029; -pub const ERROR_SXS_XML_E_MISSINGQUOTE: DWORD = 14030; -pub const ERROR_SXS_XML_E_COMMENTSYNTAX: DWORD = 14031; -pub const ERROR_SXS_XML_E_BADSTARTNAMECHAR: DWORD = 14032; -pub const ERROR_SXS_XML_E_BADNAMECHAR: DWORD = 14033; -pub const ERROR_SXS_XML_E_BADCHARINSTRING: DWORD = 14034; -pub const ERROR_SXS_XML_E_XMLDECLSYNTAX: DWORD = 14035; -pub const ERROR_SXS_XML_E_BADCHARDATA: DWORD = 14036; -pub const ERROR_SXS_XML_E_MISSINGWHITESPACE: DWORD = 14037; -pub const ERROR_SXS_XML_E_EXPECTINGTAGEND: DWORD = 14038; -pub const ERROR_SXS_XML_E_MISSINGSEMICOLON: DWORD = 14039; -pub const ERROR_SXS_XML_E_UNBALANCEDPAREN: DWORD = 14040; -pub const ERROR_SXS_XML_E_INTERNALERROR: DWORD = 14041; -pub const ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE: DWORD = 14042; -pub const ERROR_SXS_XML_E_INCOMPLETE_ENCODING: DWORD = 14043; -pub const ERROR_SXS_XML_E_MISSING_PAREN: DWORD = 14044; -pub const ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE: DWORD = 14045; -pub const ERROR_SXS_XML_E_MULTIPLE_COLONS: DWORD = 14046; -pub const ERROR_SXS_XML_E_INVALID_DECIMAL: DWORD = 14047; -pub const ERROR_SXS_XML_E_INVALID_HEXIDECIMAL: DWORD = 14048; -pub const ERROR_SXS_XML_E_INVALID_UNICODE: DWORD = 14049; -pub const ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK: DWORD = 14050; -pub const ERROR_SXS_XML_E_UNEXPECTEDENDTAG: DWORD = 14051; -pub const ERROR_SXS_XML_E_UNCLOSEDTAG: DWORD = 14052; -pub const ERROR_SXS_XML_E_DUPLICATEATTRIBUTE: DWORD = 14053; -pub const ERROR_SXS_XML_E_MULTIPLEROOTS: DWORD = 14054; -pub const ERROR_SXS_XML_E_INVALIDATROOTLEVEL: DWORD = 14055; -pub const ERROR_SXS_XML_E_BADXMLDECL: DWORD = 14056; -pub const ERROR_SXS_XML_E_MISSINGROOT: DWORD = 14057; -pub const ERROR_SXS_XML_E_UNEXPECTEDEOF: DWORD = 14058; -pub const ERROR_SXS_XML_E_BADPEREFINSUBSET: DWORD = 14059; -pub const ERROR_SXS_XML_E_UNCLOSEDSTARTTAG: DWORD = 14060; -pub const ERROR_SXS_XML_E_UNCLOSEDENDTAG: DWORD = 14061; -pub const ERROR_SXS_XML_E_UNCLOSEDSTRING: DWORD = 14062; -pub const ERROR_SXS_XML_E_UNCLOSEDCOMMENT: DWORD = 14063; -pub const ERROR_SXS_XML_E_UNCLOSEDDECL: DWORD = 14064; -pub const ERROR_SXS_XML_E_UNCLOSEDCDATA: DWORD = 14065; -pub const ERROR_SXS_XML_E_RESERVEDNAMESPACE: DWORD = 14066; -pub const ERROR_SXS_XML_E_INVALIDENCODING: DWORD = 14067; -pub const ERROR_SXS_XML_E_INVALIDSWITCH: DWORD = 14068; -pub const ERROR_SXS_XML_E_BADXMLCASE: DWORD = 14069; -pub const ERROR_SXS_XML_E_INVALID_STANDALONE: DWORD = 14070; -pub const ERROR_SXS_XML_E_UNEXPECTED_STANDALONE: DWORD = 14071; -pub const ERROR_SXS_XML_E_INVALID_VERSION: DWORD = 14072; -pub const ERROR_SXS_XML_E_MISSINGEQUALS: DWORD = 14073; -pub const ERROR_SXS_PROTECTION_RECOVERY_FAILED: DWORD = 14074; -pub const ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT: DWORD = 14075; -pub const ERROR_SXS_PROTECTION_CATALOG_NOT_VALID: DWORD = 14076; -pub const ERROR_SXS_UNTRANSLATABLE_HRESULT: DWORD = 14077; -pub const ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING: DWORD = 14078; -pub const ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE: DWORD = 14079; -pub const ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME: DWORD = 14080; -pub const ERROR_SXS_ASSEMBLY_MISSING: DWORD = 14081; -pub const ERROR_SXS_CORRUPT_ACTIVATION_STACK: DWORD = 14082; -pub const ERROR_SXS_CORRUPTION: DWORD = 14083; -pub const ERROR_SXS_EARLY_DEACTIVATION: DWORD = 14084; -pub const ERROR_SXS_INVALID_DEACTIVATION: DWORD = 14085; -pub const ERROR_SXS_MULTIPLE_DEACTIVATION: DWORD = 14086; -pub const ERROR_SXS_PROCESS_TERMINATION_REQUESTED: DWORD = 14087; -pub const ERROR_SXS_RELEASE_ACTIVATION_CONTEXT: DWORD = 14088; -pub const ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY: DWORD = 14089; -pub const ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE: DWORD = 14090; -pub const ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME: DWORD = 14091; -pub const ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE: DWORD = 14092; -pub const ERROR_SXS_IDENTITY_PARSE_ERROR: DWORD = 14093; -pub const ERROR_MALFORMED_SUBSTITUTION_STRING: DWORD = 14094; -pub const ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN: DWORD = 14095; -pub const ERROR_UNMAPPED_SUBSTITUTION_STRING: DWORD = 14096; -pub const ERROR_SXS_ASSEMBLY_NOT_LOCKED: DWORD = 14097; -pub const ERROR_SXS_COMPONENT_STORE_CORRUPT: DWORD = 14098; -pub const ERROR_ADVANCED_INSTALLER_FAILED: DWORD = 14099; -pub const ERROR_XML_ENCODING_MISMATCH: DWORD = 14100; -pub const ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT: DWORD = 14101; -pub const ERROR_SXS_IDENTITIES_DIFFERENT: DWORD = 14102; -pub const ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT: DWORD = 14103; -pub const ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY: DWORD = 14104; -pub const ERROR_SXS_MANIFEST_TOO_BIG: DWORD = 14105; -pub const ERROR_SXS_SETTING_NOT_REGISTERED: DWORD = 14106; -pub const ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE: DWORD = 14107; -pub const ERROR_SMI_PRIMITIVE_INSTALLER_FAILED: DWORD = 14108; -pub const ERROR_GENERIC_COMMAND_FAILED: DWORD = 14109; -pub const ERROR_SXS_FILE_HASH_MISSING: DWORD = 14110; -pub const ERROR_EVT_INVALID_CHANNEL_PATH: DWORD = 15000; -pub const ERROR_EVT_INVALID_QUERY: DWORD = 15001; -pub const ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND: DWORD = 15002; -pub const ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND: DWORD = 15003; -pub const ERROR_EVT_INVALID_PUBLISHER_NAME: DWORD = 15004; -pub const ERROR_EVT_INVALID_EVENT_DATA: DWORD = 15005; -pub const ERROR_EVT_CHANNEL_NOT_FOUND: DWORD = 15007; -pub const ERROR_EVT_MALFORMED_XML_TEXT: DWORD = 15008; -pub const ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL: DWORD = 15009; -pub const ERROR_EVT_CONFIGURATION_ERROR: DWORD = 15010; -pub const ERROR_EVT_QUERY_RESULT_STALE: DWORD = 15011; -pub const ERROR_EVT_QUERY_RESULT_INVALID_POSITION: DWORD = 15012; -pub const ERROR_EVT_NON_VALIDATING_MSXML: DWORD = 15013; -pub const ERROR_EVT_FILTER_ALREADYSCOPED: DWORD = 15014; -pub const ERROR_EVT_FILTER_NOTELTSET: DWORD = 15015; -pub const ERROR_EVT_FILTER_INVARG: DWORD = 15016; -pub const ERROR_EVT_FILTER_INVTEST: DWORD = 15017; -pub const ERROR_EVT_FILTER_INVTYPE: DWORD = 15018; -pub const ERROR_EVT_FILTER_PARSEERR: DWORD = 15019; -pub const ERROR_EVT_FILTER_UNSUPPORTEDOP: DWORD = 15020; -pub const ERROR_EVT_FILTER_UNEXPECTEDTOKEN: DWORD = 15021; -pub const ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL: DWORD = 15022; -pub const ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE: DWORD = 15023; -pub const ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE: DWORD = 15024; -pub const ERROR_EVT_CHANNEL_CANNOT_ACTIVATE: DWORD = 15025; -pub const ERROR_EVT_FILTER_TOO_COMPLEX: DWORD = 15026; -pub const ERROR_EVT_MESSAGE_NOT_FOUND: DWORD = 15027; -pub const ERROR_EVT_MESSAGE_ID_NOT_FOUND: DWORD = 15028; -pub const ERROR_EVT_UNRESOLVED_VALUE_INSERT: DWORD = 15029; -pub const ERROR_EVT_UNRESOLVED_PARAMETER_INSERT: DWORD = 15030; -pub const ERROR_EVT_MAX_INSERTS_REACHED: DWORD = 15031; -pub const ERROR_EVT_EVENT_DEFINITION_NOT_FOUND: DWORD = 15032; -pub const ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND: DWORD = 15033; -pub const ERROR_EVT_VERSION_TOO_OLD: DWORD = 15034; -pub const ERROR_EVT_VERSION_TOO_NEW: DWORD = 15035; -pub const ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY: DWORD = 15036; -pub const ERROR_EVT_PUBLISHER_DISABLED: DWORD = 15037; -pub const ERROR_EVT_FILTER_OUT_OF_RANGE: DWORD = 15038; -pub const ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE: DWORD = 15080; -pub const ERROR_EC_LOG_DISABLED: DWORD = 15081; -pub const ERROR_EC_CIRCULAR_FORWARDING: DWORD = 15082; -pub const ERROR_EC_CREDSTORE_FULL: DWORD = 15083; -pub const ERROR_EC_CRED_NOT_FOUND: DWORD = 15084; -pub const ERROR_EC_NO_ACTIVE_CHANNEL: DWORD = 15085; -pub const ERROR_MUI_FILE_NOT_FOUND: DWORD = 15100; -pub const ERROR_MUI_INVALID_FILE: DWORD = 15101; -pub const ERROR_MUI_INVALID_RC_CONFIG: DWORD = 15102; -pub const ERROR_MUI_INVALID_LOCALE_NAME: DWORD = 15103; -pub const ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME: DWORD = 15104; -pub const ERROR_MUI_FILE_NOT_LOADED: DWORD = 15105; -pub const ERROR_RESOURCE_ENUM_USER_STOP: DWORD = 15106; -pub const ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED: DWORD = 15107; -pub const ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME: DWORD = 15108; -pub const ERROR_MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE: DWORD = 15110; -pub const ERROR_MRM_INVALID_PRICONFIG: DWORD = 15111; -pub const ERROR_MRM_INVALID_FILE_TYPE: DWORD = 15112; -pub const ERROR_MRM_UNKNOWN_QUALIFIER: DWORD = 15113; -pub const ERROR_MRM_INVALID_QUALIFIER_VALUE: DWORD = 15114; -pub const ERROR_MRM_NO_CANDIDATE: DWORD = 15115; -pub const ERROR_MRM_NO_MATCH_OR_DEFAULT_CANDIDATE: DWORD = 15116; -pub const ERROR_MRM_RESOURCE_TYPE_MISMATCH: DWORD = 15117; -pub const ERROR_MRM_DUPLICATE_MAP_NAME: DWORD = 15118; -pub const ERROR_MRM_DUPLICATE_ENTRY: DWORD = 15119; -pub const ERROR_MRM_INVALID_RESOURCE_IDENTIFIER: DWORD = 15120; -pub const ERROR_MRM_FILEPATH_TOO_LONG: DWORD = 15121; -pub const ERROR_MRM_UNSUPPORTED_DIRECTORY_TYPE: DWORD = 15122; -pub const ERROR_MRM_INVALID_PRI_FILE: DWORD = 15126; -pub const ERROR_MRM_NAMED_RESOURCE_NOT_FOUND: DWORD = 15127; -pub const ERROR_MRM_MAP_NOT_FOUND: DWORD = 15135; -pub const ERROR_MRM_UNSUPPORTED_PROFILE_TYPE: DWORD = 15136; -pub const ERROR_MRM_INVALID_QUALIFIER_OPERATOR: DWORD = 15137; -pub const ERROR_MRM_INDETERMINATE_QUALIFIER_VALUE: DWORD = 15138; -pub const ERROR_MRM_AUTOMERGE_ENABLED: DWORD = 15139; -pub const ERROR_MRM_TOO_MANY_RESOURCES: DWORD = 15140; -pub const ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_MERGE: DWORD = 15141; -pub const ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_LOAD_UNLOAD_PRI_FILE: DWORD = 15142; -pub const ERROR_MRM_NO_CURRENT_VIEW_ON_THREAD: DWORD = 15143; -pub const ERROR_DIFFERENT_PROFILE_RESOURCE_MANAGER_EXIST: DWORD = 15144; -pub const ERROR_OPERATION_NOT_ALLOWED_FROM_SYSTEM_COMPONENT: DWORD = 15145; -pub const ERROR_MRM_DIRECT_REF_TO_NON_DEFAULT_RESOURCE: DWORD = 15146; -pub const ERROR_MRM_GENERATION_COUNT_MISMATCH: DWORD = 15147; -pub const ERROR_MCA_INVALID_CAPABILITIES_STRING: DWORD = 15200; -pub const ERROR_MCA_INVALID_VCP_VERSION: DWORD = 15201; -pub const ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION: DWORD = 15202; -pub const ERROR_MCA_MCCS_VERSION_MISMATCH: DWORD = 15203; -pub const ERROR_MCA_UNSUPPORTED_MCCS_VERSION: DWORD = 15204; -pub const ERROR_MCA_INTERNAL_ERROR: DWORD = 15205; -pub const ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED: DWORD = 15206; -pub const ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE: DWORD = 15207; -pub const ERROR_AMBIGUOUS_SYSTEM_DEVICE: DWORD = 15250; -pub const ERROR_SYSTEM_DEVICE_NOT_FOUND: DWORD = 15299; -pub const ERROR_HASH_NOT_SUPPORTED: DWORD = 15300; -pub const ERROR_HASH_NOT_PRESENT: DWORD = 15301; -pub const ERROR_SECONDARY_IC_PROVIDER_NOT_REGISTERED: DWORD = 15321; -pub const ERROR_GPIO_CLIENT_INFORMATION_INVALID: DWORD = 15322; -pub const ERROR_GPIO_VERSION_NOT_SUPPORTED: DWORD = 15323; -pub const ERROR_GPIO_INVALID_REGISTRATION_PACKET: DWORD = 15324; -pub const ERROR_GPIO_OPERATION_DENIED: DWORD = 15325; -pub const ERROR_GPIO_INCOMPATIBLE_CONNECT_MODE: DWORD = 15326; -pub const ERROR_GPIO_INTERRUPT_ALREADY_UNMASKED: DWORD = 15327; -pub const ERROR_CANNOT_SWITCH_RUNLEVEL: DWORD = 15400; -pub const ERROR_INVALID_RUNLEVEL_SETTING: DWORD = 15401; -pub const ERROR_RUNLEVEL_SWITCH_TIMEOUT: DWORD = 15402; -pub const ERROR_RUNLEVEL_SWITCH_AGENT_TIMEOUT: DWORD = 15403; -pub const ERROR_RUNLEVEL_SWITCH_IN_PROGRESS: DWORD = 15404; -pub const ERROR_SERVICES_FAILED_AUTOSTART: DWORD = 15405; -pub const ERROR_COM_TASK_STOP_PENDING: DWORD = 15501; -pub const ERROR_INSTALL_OPEN_PACKAGE_FAILED: DWORD = 15600; -pub const ERROR_INSTALL_PACKAGE_NOT_FOUND: DWORD = 15601; -pub const ERROR_INSTALL_INVALID_PACKAGE: DWORD = 15602; -pub const ERROR_INSTALL_RESOLVE_DEPENDENCY_FAILED: DWORD = 15603; -pub const ERROR_INSTALL_OUT_OF_DISK_SPACE: DWORD = 15604; -pub const ERROR_INSTALL_NETWORK_FAILURE: DWORD = 15605; -pub const ERROR_INSTALL_REGISTRATION_FAILURE: DWORD = 15606; -pub const ERROR_INSTALL_DEREGISTRATION_FAILURE: DWORD = 15607; -pub const ERROR_INSTALL_CANCEL: DWORD = 15608; -pub const ERROR_INSTALL_FAILED: DWORD = 15609; -pub const ERROR_REMOVE_FAILED: DWORD = 15610; -pub const ERROR_PACKAGE_ALREADY_EXISTS: DWORD = 15611; -pub const ERROR_NEEDS_REMEDIATION: DWORD = 15612; -pub const ERROR_INSTALL_PREREQUISITE_FAILED: DWORD = 15613; -pub const ERROR_PACKAGE_REPOSITORY_CORRUPTED: DWORD = 15614; -pub const ERROR_INSTALL_POLICY_FAILURE: DWORD = 15615; -pub const ERROR_PACKAGE_UPDATING: DWORD = 15616; -pub const ERROR_DEPLOYMENT_BLOCKED_BY_POLICY: DWORD = 15617; -pub const ERROR_PACKAGES_IN_USE: DWORD = 15618; -pub const ERROR_RECOVERY_FILE_CORRUPT: DWORD = 15619; -pub const ERROR_INVALID_STAGED_SIGNATURE: DWORD = 15620; -pub const ERROR_DELETING_EXISTING_APPLICATIONDATA_STORE_FAILED: DWORD = 15621; -pub const ERROR_INSTALL_PACKAGE_DOWNGRADE: DWORD = 15622; -pub const ERROR_SYSTEM_NEEDS_REMEDIATION: DWORD = 15623; -pub const ERROR_APPX_INTEGRITY_FAILURE_CLR_NGEN: DWORD = 15624; -pub const ERROR_RESILIENCY_FILE_CORRUPT: DWORD = 15625; -pub const ERROR_INSTALL_FIREWALL_SERVICE_NOT_RUNNING: DWORD = 15626; -pub const APPMODEL_ERROR_NO_PACKAGE: DWORD = 15700; -pub const APPMODEL_ERROR_PACKAGE_RUNTIME_CORRUPT: DWORD = 15701; -pub const APPMODEL_ERROR_PACKAGE_IDENTITY_CORRUPT: DWORD = 15702; -pub const APPMODEL_ERROR_NO_APPLICATION: DWORD = 15703; -pub const APPMODEL_ERROR_DYNAMIC_PROPERTY_READ_FAILED: DWORD = 15704; -pub const APPMODEL_ERROR_DYNAMIC_PROPERTY_INVALID: DWORD = 15705; -pub const ERROR_STATE_LOAD_STORE_FAILED: DWORD = 15800; -pub const ERROR_STATE_GET_VERSION_FAILED: DWORD = 15801; -pub const ERROR_STATE_SET_VERSION_FAILED: DWORD = 15802; -pub const ERROR_STATE_STRUCTURED_RESET_FAILED: DWORD = 15803; -pub const ERROR_STATE_OPEN_CONTAINER_FAILED: DWORD = 15804; -pub const ERROR_STATE_CREATE_CONTAINER_FAILED: DWORD = 15805; -pub const ERROR_STATE_DELETE_CONTAINER_FAILED: DWORD = 15806; -pub const ERROR_STATE_READ_SETTING_FAILED: DWORD = 15807; -pub const ERROR_STATE_WRITE_SETTING_FAILED: DWORD = 15808; -pub const ERROR_STATE_DELETE_SETTING_FAILED: DWORD = 15809; -pub const ERROR_STATE_QUERY_SETTING_FAILED: DWORD = 15810; -pub const ERROR_STATE_READ_COMPOSITE_SETTING_FAILED: DWORD = 15811; -pub const ERROR_STATE_WRITE_COMPOSITE_SETTING_FAILED: DWORD = 15812; -pub const ERROR_STATE_ENUMERATE_CONTAINER_FAILED: DWORD = 15813; -pub const ERROR_STATE_ENUMERATE_SETTINGS_FAILED: DWORD = 15814; -pub const ERROR_STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED: DWORD = 15815; -pub const ERROR_STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED: DWORD = 15816; -pub const ERROR_STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED: DWORD = 15817; -pub const ERROR_STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED: DWORD = 15818; -pub const ERROR_API_UNAVAILABLE: DWORD = 15841; -pub const STORE_ERROR_UNLICENSED: DWORD = 15861; -pub const STORE_ERROR_UNLICENSED_USER: DWORD = 15862; -pub const STORE_ERROR_PENDING_COM_TRANSACTION: DWORD = 15863; -pub const STORE_ERROR_LICENSE_REVOKED: DWORD = 15864; -pub const SEVERITY_SUCCESS: HRESULT = 0; -pub const SEVERITY_ERROR: HRESULT = 1; -#[inline] -pub fn SUCCEEDED(hr: HRESULT) -> bool { - hr >= 0 -} -#[inline] -pub fn FAILED(hr: HRESULT) -> bool { - hr < 0 -} -#[inline] -pub fn IS_ERROR(hr: HRESULT) -> bool { - (hr as u32) >> 31 == (SEVERITY_ERROR as u32) -} -#[inline] -pub fn HRESULT_CODE(hr: HRESULT) -> HRESULT { - hr & 0xFFFF -} -#[inline] -pub fn SCODE_CODE(sc: SCODE) -> HRESULT { - sc & 0xFFFF -} -#[inline] -pub fn HRESULT_FACILITY(hr: HRESULT) -> HRESULT { - (hr >> 16) & 0x1fff -} -#[inline] -pub fn SCODE_FACILITY(sc: SCODE) -> HRESULT { - (sc >> 16) & 0x1fff -} -#[inline] -pub fn HRESULT_SEVERITY(hr: HRESULT) -> HRESULT { - (hr >> 31) & 0x1 -} -#[inline] -pub fn SCODE_SEVERITY(sc: SCODE) -> HRESULT { - (sc >> 31) & 0x1 -} -#[inline] -pub fn MAKE_HRESULT(sev: HRESULT, fac: HRESULT, code: HRESULT) -> HRESULT { - (sev << 31) | (fac << 16) | code -} -#[inline] -pub fn MAKE_SCODE(sev: HRESULT, fac: HRESULT, code: HRESULT) -> SCODE { - (sev << 31) | (fac << 16) | code -} -pub const FACILITY_NT_BIT: HRESULT = 0x10000000; -#[inline] -pub fn HRESULT_FROM_WIN32(x: c_ulong) -> HRESULT { - if x as i32 <= 0 { - x as i32 - } else { - ((x & 0x0000FFFF) | ((FACILITY_WIN32 as u32) << 16) | 0x80000000) as i32 - } -} -pub type HRESULT = c_long; -#[inline] -pub fn HRESULT_FROM_NT(x: c_ulong) -> HRESULT { - (x | FACILITY_NT_BIT as u32) as i32 -} -pub const NOERROR: HRESULT = 0; -pub const E_UNEXPECTED: HRESULT = 0x8000FFFF; -pub const E_NOTIMPL: HRESULT = 0x80004001; -pub const E_OUTOFMEMORY: HRESULT = 0x8007000E; -pub const E_INVALIDARG: HRESULT = 0x80070057; -pub const E_NOINTERFACE: HRESULT = 0x80004002; -pub const E_POINTER: HRESULT = 0x80004003; -pub const E_HANDLE: HRESULT = 0x80070006; -pub const E_ABORT: HRESULT = 0x80004004; -pub const E_FAIL: HRESULT = 0x80004005; -pub const E_ACCESSDENIED: HRESULT = 0x80070005; -pub const E_PENDING: HRESULT = 0x8000000A; -pub const E_BOUNDS: HRESULT = 0x8000000B; -pub const E_CHANGED_STATE: HRESULT = 0x8000000C; -pub const E_ILLEGAL_STATE_CHANGE: HRESULT = 0x8000000D; -pub const E_ILLEGAL_METHOD_CALL: HRESULT = 0x8000000E; -pub const RO_E_METADATA_NAME_NOT_FOUND: HRESULT = 0x8000000F; -pub const RO_E_METADATA_NAME_IS_NAMESPACE: HRESULT = 0x80000010; -pub const RO_E_METADATA_INVALID_TYPE_FORMAT: HRESULT = 0x80000011; -pub const RO_E_INVALID_METADATA_FILE: HRESULT = 0x80000012; -pub const RO_E_CLOSED: HRESULT = 0x80000013; -pub const RO_E_EXCLUSIVE_WRITE: HRESULT = 0x80000014; -pub const RO_E_CHANGE_NOTIFICATION_IN_PROGRESS: HRESULT = 0x80000015; -pub const RO_E_ERROR_STRING_NOT_FOUND: HRESULT = 0x80000016; -pub const E_STRING_NOT_NULL_TERMINATED: HRESULT = 0x80000017; -pub const E_ILLEGAL_DELEGATE_ASSIGNMENT: HRESULT = 0x80000018; -pub const E_ASYNC_OPERATION_NOT_STARTED: HRESULT = 0x80000019; -pub const E_APPLICATION_EXITING: HRESULT = 0x8000001A; -pub const E_APPLICATION_VIEW_EXITING: HRESULT = 0x8000001B; -pub const RO_E_MUST_BE_AGILE: HRESULT = 0x8000001C; -pub const RO_E_UNSUPPORTED_FROM_MTA: HRESULT = 0x8000001D; -pub const RO_E_COMMITTED: HRESULT = 0x8000001E; -pub const RO_E_BLOCKED_CROSS_ASTA_CALL: HRESULT = 0x8000001F; -pub const CO_E_INIT_TLS: HRESULT = 0x80004006; -pub const CO_E_INIT_SHARED_ALLOCATOR: HRESULT = 0x80004007; -pub const CO_E_INIT_MEMORY_ALLOCATOR: HRESULT = 0x80004008; -pub const CO_E_INIT_CLASS_CACHE: HRESULT = 0x80004009; -pub const CO_E_INIT_RPC_CHANNEL: HRESULT = 0x8000400A; -pub const CO_E_INIT_TLS_SET_CHANNEL_CONTROL: HRESULT = 0x8000400B; -pub const CO_E_INIT_TLS_CHANNEL_CONTROL: HRESULT = 0x8000400C; -pub const CO_E_INIT_UNACCEPTED_USER_ALLOCATOR: HRESULT = 0x8000400D; -pub const CO_E_INIT_SCM_MUTEX_EXISTS: HRESULT = 0x8000400E; -pub const CO_E_INIT_SCM_FILE_MAPPING_EXISTS: HRESULT = 0x8000400F; -pub const CO_E_INIT_SCM_MAP_VIEW_OF_FILE: HRESULT = 0x80004010; -pub const CO_E_INIT_SCM_EXEC_FAILURE: HRESULT = 0x80004011; -pub const CO_E_INIT_ONLY_SINGLE_THREADED: HRESULT = 0x80004012; -pub const CO_E_CANT_REMOTE: HRESULT = 0x80004013; -pub const CO_E_BAD_SERVER_NAME: HRESULT = 0x80004014; -pub const CO_E_WRONG_SERVER_IDENTITY: HRESULT = 0x80004015; -pub const CO_E_OLE1DDE_DISABLED: HRESULT = 0x80004016; -pub const CO_E_RUNAS_SYNTAX: HRESULT = 0x80004017; -pub const CO_E_CREATEPROCESS_FAILURE: HRESULT = 0x80004018; -pub const CO_E_RUNAS_CREATEPROCESS_FAILURE: HRESULT = 0x80004019; -pub const CO_E_RUNAS_LOGON_FAILURE: HRESULT = 0x8000401A; -pub const CO_E_LAUNCH_PERMSSION_DENIED: HRESULT = 0x8000401B; -pub const CO_E_START_SERVICE_FAILURE: HRESULT = 0x8000401C; -pub const CO_E_REMOTE_COMMUNICATION_FAILURE: HRESULT = 0x8000401D; -pub const CO_E_SERVER_START_TIMEOUT: HRESULT = 0x8000401E; -pub const CO_E_CLSREG_INCONSISTENT: HRESULT = 0x8000401F; -pub const CO_E_IIDREG_INCONSISTENT: HRESULT = 0x80004020; -pub const CO_E_NOT_SUPPORTED: HRESULT = 0x80004021; -pub const CO_E_RELOAD_DLL: HRESULT = 0x80004022; -pub const CO_E_MSI_ERROR: HRESULT = 0x80004023; -pub const CO_E_ATTEMPT_TO_CREATE_OUTSIDE_CLIENT_CONTEXT: HRESULT = 0x80004024; -pub const CO_E_SERVER_PAUSED: HRESULT = 0x80004025; -pub const CO_E_SERVER_NOT_PAUSED: HRESULT = 0x80004026; -pub const CO_E_CLASS_DISABLED: HRESULT = 0x80004027; -pub const CO_E_CLRNOTAVAILABLE: HRESULT = 0x80004028; -pub const CO_E_ASYNC_WORK_REJECTED: HRESULT = 0x80004029; -pub const CO_E_SERVER_INIT_TIMEOUT: HRESULT = 0x8000402A; -pub const CO_E_NO_SECCTX_IN_ACTIVATE: HRESULT = 0x8000402B; -pub const CO_E_TRACKER_CONFIG: HRESULT = 0x80004030; -pub const CO_E_THREADPOOL_CONFIG: HRESULT = 0x80004031; -pub const CO_E_SXS_CONFIG: HRESULT = 0x80004032; -pub const CO_E_MALFORMED_SPN: HRESULT = 0x80004033; -pub const CO_E_UNREVOKED_REGISTRATION_ON_APARTMENT_SHUTDOWN: HRESULT = 0x80004034; -pub const CO_E_PREMATURE_STUB_RUNDOWN: HRESULT = 0x80004035; -pub const S_OK: HRESULT = 0; -pub const S_FALSE: HRESULT = 1; -pub const OLE_E_FIRST: HRESULT = 0x80040000; -pub const OLE_E_LAST: HRESULT = 0x800400FF; -pub const OLE_S_FIRST: HRESULT = 0x00040000; -pub const OLE_S_LAST: HRESULT = 0x000400FF; -pub const OLE_E_OLEVERB: HRESULT = 0x80040000; -pub const OLE_E_ADVF: HRESULT = 0x80040001; -pub const OLE_E_ENUM_NOMORE: HRESULT = 0x80040002; -pub const OLE_E_ADVISENOTSUPPORTED: HRESULT = 0x80040003; -pub const OLE_E_NOCONNECTION: HRESULT = 0x80040004; -pub const OLE_E_NOTRUNNING: HRESULT = 0x80040005; -pub const OLE_E_NOCACHE: HRESULT = 0x80040006; -pub const OLE_E_BLANK: HRESULT = 0x80040007; -pub const OLE_E_CLASSDIFF: HRESULT = 0x80040008; -pub const OLE_E_CANT_GETMONIKER: HRESULT = 0x80040009; -pub const OLE_E_CANT_BINDTOSOURCE: HRESULT = 0x8004000A; -pub const OLE_E_STATIC: HRESULT = 0x8004000B; -pub const OLE_E_PROMPTSAVECANCELLED: HRESULT = 0x8004000C; -pub const OLE_E_INVALIDRECT: HRESULT = 0x8004000D; -pub const OLE_E_WRONGCOMPOBJ: HRESULT = 0x8004000E; -pub const OLE_E_INVALIDHWND: HRESULT = 0x8004000F; -pub const OLE_E_NOT_INPLACEACTIVE: HRESULT = 0x80040010; -pub const OLE_E_CANTCONVERT: HRESULT = 0x80040011; -pub const OLE_E_NOSTORAGE: HRESULT = 0x80040012; -pub const DV_E_FORMATETC: HRESULT = 0x80040064; -pub const DV_E_DVTARGETDEVICE: HRESULT = 0x80040065; -pub const DV_E_STGMEDIUM: HRESULT = 0x80040066; -pub const DV_E_STATDATA: HRESULT = 0x80040067; -pub const DV_E_LINDEX: HRESULT = 0x80040068; -pub const DV_E_TYMED: HRESULT = 0x80040069; -pub const DV_E_CLIPFORMAT: HRESULT = 0x8004006A; -pub const DV_E_DVASPECT: HRESULT = 0x8004006B; -pub const DV_E_DVTARGETDEVICE_SIZE: HRESULT = 0x8004006C; -pub const DV_E_NOIVIEWOBJECT: HRESULT = 0x8004006D; -pub const DRAGDROP_E_FIRST: HRESULT = 0x80040100; -pub const DRAGDROP_E_LAST: HRESULT = 0x8004010F; -pub const DRAGDROP_S_FIRST: HRESULT = 0x00040100; -pub const DRAGDROP_S_LAST: HRESULT = 0x0004010F; -pub const DRAGDROP_E_NOTREGISTERED: HRESULT = 0x80040100; -pub const DRAGDROP_E_ALREADYREGISTERED: HRESULT = 0x80040101; -pub const DRAGDROP_E_INVALIDHWND: HRESULT = 0x80040102; -pub const DRAGDROP_E_CONCURRENT_DRAG_ATTEMPTED: HRESULT = 0x80040103; -pub const CLASSFACTORY_E_FIRST: HRESULT = 0x80040110; -pub const CLASSFACTORY_E_LAST: HRESULT = 0x8004011F; -pub const CLASSFACTORY_S_FIRST: HRESULT = 0x00040110; -pub const CLASSFACTORY_S_LAST: HRESULT = 0x0004011F; -pub const CLASS_E_NOAGGREGATION: HRESULT = 0x80040110; -pub const CLASS_E_CLASSNOTAVAILABLE: HRESULT = 0x80040111; -pub const CLASS_E_NOTLICENSED: HRESULT = 0x80040112; -pub const MARSHAL_E_FIRST: HRESULT = 0x80040120; -pub const MARSHAL_E_LAST: HRESULT = 0x8004012F; -pub const MARSHAL_S_FIRST: HRESULT = 0x00040120; -pub const MARSHAL_S_LAST: HRESULT = 0x0004012F; -pub const DATA_E_FIRST: HRESULT = 0x80040130; -pub const DATA_E_LAST: HRESULT = 0x8004013F; -pub const DATA_S_FIRST: HRESULT = 0x00040130; -pub const DATA_S_LAST: HRESULT = 0x0004013F; -pub const VIEW_E_FIRST: HRESULT = 0x80040140; -pub const VIEW_E_LAST: HRESULT = 0x8004014F; -pub const VIEW_S_FIRST: HRESULT = 0x00040140; -pub const VIEW_S_LAST: HRESULT = 0x0004014F; -pub const VIEW_E_DRAW: HRESULT = 0x80040140; -pub const REGDB_E_FIRST: HRESULT = 0x80040150; -pub const REGDB_E_LAST: HRESULT = 0x8004015F; -pub const REGDB_S_FIRST: HRESULT = 0x00040150; -pub const REGDB_S_LAST: HRESULT = 0x0004015F; -pub const REGDB_E_READREGDB: HRESULT = 0x80040150; -pub const REGDB_E_WRITEREGDB: HRESULT = 0x80040151; -pub const REGDB_E_KEYMISSING: HRESULT = 0x80040152; -pub const REGDB_E_INVALIDVALUE: HRESULT = 0x80040153; -pub const REGDB_E_CLASSNOTREG: HRESULT = 0x80040154; -pub const REGDB_E_IIDNOTREG: HRESULT = 0x80040155; -pub const REGDB_E_BADTHREADINGMODEL: HRESULT = 0x80040156; -pub const CAT_E_FIRST: HRESULT = 0x80040160; -pub const CAT_E_LAST: HRESULT = 0x80040161; -pub const CAT_E_CATIDNOEXIST: HRESULT = 0x80040160; -pub const CAT_E_NODESCRIPTION: HRESULT = 0x80040161; -pub const CS_E_FIRST: HRESULT = 0x80040164; -pub const CS_E_LAST: HRESULT = 0x8004016F; -pub const CS_E_PACKAGE_NOTFOUND: HRESULT = 0x80040164; -pub const CS_E_NOT_DELETABLE: HRESULT = 0x80040165; -pub const CS_E_CLASS_NOTFOUND: HRESULT = 0x80040166; -pub const CS_E_INVALID_VERSION: HRESULT = 0x80040167; -pub const CS_E_NO_CLASSSTORE: HRESULT = 0x80040168; -pub const CS_E_OBJECT_NOTFOUND: HRESULT = 0x80040169; -pub const CS_E_OBJECT_ALREADY_EXISTS: HRESULT = 0x8004016A; -pub const CS_E_INVALID_PATH: HRESULT = 0x8004016B; -pub const CS_E_NETWORK_ERROR: HRESULT = 0x8004016C; -pub const CS_E_ADMIN_LIMIT_EXCEEDED: HRESULT = 0x8004016D; -pub const CS_E_SCHEMA_MISMATCH: HRESULT = 0x8004016E; -pub const CS_E_INTERNAL_ERROR: HRESULT = 0x8004016F; -pub const CACHE_E_FIRST: HRESULT = 0x80040170; -pub const CACHE_E_LAST: HRESULT = 0x8004017F; -pub const CACHE_S_FIRST: HRESULT = 0x00040170; -pub const CACHE_S_LAST: HRESULT = 0x0004017F; -pub const CACHE_E_NOCACHE_UPDATED: HRESULT = 0x80040170; -pub const OLEOBJ_E_FIRST: HRESULT = 0x80040180; -pub const OLEOBJ_E_LAST: HRESULT = 0x8004018F; -pub const OLEOBJ_S_FIRST: HRESULT = 0x00040180; -pub const OLEOBJ_S_LAST: HRESULT = 0x0004018F; -pub const OLEOBJ_E_NOVERBS: HRESULT = 0x80040180; -pub const OLEOBJ_E_INVALIDVERB: HRESULT = 0x80040181; -pub const CLIENTSITE_E_FIRST: HRESULT = 0x80040190; -pub const CLIENTSITE_E_LAST: HRESULT = 0x8004019F; -pub const CLIENTSITE_S_FIRST: HRESULT = 0x00040190; -pub const CLIENTSITE_S_LAST: HRESULT = 0x0004019F; -pub const INPLACE_E_NOTUNDOABLE: HRESULT = 0x800401A0; -pub const INPLACE_E_NOTOOLSPACE: HRESULT = 0x800401A1; -pub const INPLACE_E_FIRST: HRESULT = 0x800401A0; -pub const INPLACE_E_LAST: HRESULT = 0x800401AF; -pub const INPLACE_S_FIRST: HRESULT = 0x000401A0; -pub const INPLACE_S_LAST: HRESULT = 0x000401AF; -pub const ENUM_E_FIRST: HRESULT = 0x800401B0; -pub const ENUM_E_LAST: HRESULT = 0x800401BF; -pub const ENUM_S_FIRST: HRESULT = 0x000401B0; -pub const ENUM_S_LAST: HRESULT = 0x000401BF; -pub const CONVERT10_E_FIRST: HRESULT = 0x800401C0; -pub const CONVERT10_E_LAST: HRESULT = 0x800401CF; -pub const CONVERT10_S_FIRST: HRESULT = 0x000401C0; -pub const CONVERT10_S_LAST: HRESULT = 0x000401CF; -pub const CONVERT10_E_OLESTREAM_GET: HRESULT = 0x800401C0; -pub const CONVERT10_E_OLESTREAM_PUT: HRESULT = 0x800401C1; -pub const CONVERT10_E_OLESTREAM_FMT: HRESULT = 0x800401C2; -pub const CONVERT10_E_OLESTREAM_BITMAP_TO_DIB: HRESULT = 0x800401C3; -pub const CONVERT10_E_STG_FMT: HRESULT = 0x800401C4; -pub const CONVERT10_E_STG_NO_STD_STREAM: HRESULT = 0x800401C5; -pub const CONVERT10_E_STG_DIB_TO_BITMAP: HRESULT = 0x800401C6; -pub const CLIPBRD_E_FIRST: HRESULT = 0x800401D0; -pub const CLIPBRD_E_LAST: HRESULT = 0x800401DF; -pub const CLIPBRD_S_FIRST: HRESULT = 0x000401D0; -pub const CLIPBRD_S_LAST: HRESULT = 0x000401DF; -pub const CLIPBRD_E_CANT_OPEN: HRESULT = 0x800401D0; -pub const CLIPBRD_E_CANT_EMPTY: HRESULT = 0x800401D1; -pub const CLIPBRD_E_CANT_SET: HRESULT = 0x800401D2; -pub const CLIPBRD_E_BAD_DATA: HRESULT = 0x800401D3; -pub const CLIPBRD_E_CANT_CLOSE: HRESULT = 0x800401D4; -pub const MK_E_FIRST: HRESULT = 0x800401E0; -pub const MK_E_LAST: HRESULT = 0x800401EF; -pub const MK_S_FIRST: HRESULT = 0x000401E0; -pub const MK_S_LAST: HRESULT = 0x000401EF; -pub const MK_E_CONNECTMANUALLY: HRESULT = 0x800401E0; -pub const MK_E_EXCEEDEDDEADLINE: HRESULT = 0x800401E1; -pub const MK_E_NEEDGENERIC: HRESULT = 0x800401E2; -pub const MK_E_UNAVAILABLE: HRESULT = 0x800401E3; -pub const MK_E_SYNTAX: HRESULT = 0x800401E4; -pub const MK_E_NOOBJECT: HRESULT = 0x800401E5; -pub const MK_E_INVALIDEXTENSION: HRESULT = 0x800401E6; -pub const MK_E_INTERMEDIATEINTERFACENOTSUPPORTED: HRESULT = 0x800401E7; -pub const MK_E_NOTBINDABLE: HRESULT = 0x800401E8; -pub const MK_E_NOTBOUND: HRESULT = 0x800401E9; -pub const MK_E_CANTOPENFILE: HRESULT = 0x800401EA; -pub const MK_E_MUSTBOTHERUSER: HRESULT = 0x800401EB; -pub const MK_E_NOINVERSE: HRESULT = 0x800401EC; -pub const MK_E_NOSTORAGE: HRESULT = 0x800401ED; -pub const MK_E_NOPREFIX: HRESULT = 0x800401EE; -pub const MK_E_ENUMERATION_FAILED: HRESULT = 0x800401EF; -pub const CO_E_FIRST: HRESULT = 0x800401F0; -pub const CO_E_LAST: HRESULT = 0x800401FF; -pub const CO_S_FIRST: HRESULT = 0x000401F0; -pub const CO_S_LAST: HRESULT = 0x000401FF; -pub const CO_E_NOTINITIALIZED: HRESULT = 0x800401F0; -pub const CO_E_ALREADYINITIALIZED: HRESULT = 0x800401F1; -pub const CO_E_CANTDETERMINECLASS: HRESULT = 0x800401F2; -pub const CO_E_CLASSSTRING: HRESULT = 0x800401F3; -pub const CO_E_IIDSTRING: HRESULT = 0x800401F4; -pub const CO_E_APPNOTFOUND: HRESULT = 0x800401F5; -pub const CO_E_APPSINGLEUSE: HRESULT = 0x800401F6; -pub const CO_E_ERRORINAPP: HRESULT = 0x800401F7; -pub const CO_E_DLLNOTFOUND: HRESULT = 0x800401F8; -pub const CO_E_ERRORINDLL: HRESULT = 0x800401F9; -pub const CO_E_WRONGOSFORAPP: HRESULT = 0x800401FA; -pub const CO_E_OBJNOTREG: HRESULT = 0x800401FB; -pub const CO_E_OBJISREG: HRESULT = 0x800401FC; -pub const CO_E_OBJNOTCONNECTED: HRESULT = 0x800401FD; -pub const CO_E_APPDIDNTREG: HRESULT = 0x800401FE; -pub const CO_E_RELEASED: HRESULT = 0x800401FF; -pub const EVENT_E_FIRST: HRESULT = 0x80040200; -pub const EVENT_E_LAST: HRESULT = 0x8004021F; -pub const EVENT_S_FIRST: HRESULT = 0x00040200; -pub const EVENT_S_LAST: HRESULT = 0x0004021F; -pub const EVENT_S_SOME_SUBSCRIBERS_FAILED: HRESULT = 0x00040200; -pub const EVENT_E_ALL_SUBSCRIBERS_FAILED: HRESULT = 0x80040201; -pub const EVENT_S_NOSUBSCRIBERS: HRESULT = 0x00040202; -pub const EVENT_E_QUERYSYNTAX: HRESULT = 0x80040203; -pub const EVENT_E_QUERYFIELD: HRESULT = 0x80040204; -pub const EVENT_E_INTERNALEXCEPTION: HRESULT = 0x80040205; -pub const EVENT_E_INTERNALERROR: HRESULT = 0x80040206; -pub const EVENT_E_INVALID_PER_USER_SID: HRESULT = 0x80040207; -pub const EVENT_E_USER_EXCEPTION: HRESULT = 0x80040208; -pub const EVENT_E_TOO_MANY_METHODS: HRESULT = 0x80040209; -pub const EVENT_E_MISSING_EVENTCLASS: HRESULT = 0x8004020A; -pub const EVENT_E_NOT_ALL_REMOVED: HRESULT = 0x8004020B; -pub const EVENT_E_COMPLUS_NOT_INSTALLED: HRESULT = 0x8004020C; -pub const EVENT_E_CANT_MODIFY_OR_DELETE_UNCONFIGURED_OBJECT: HRESULT = 0x8004020D; -pub const EVENT_E_CANT_MODIFY_OR_DELETE_CONFIGURED_OBJECT: HRESULT = 0x8004020E; -pub const EVENT_E_INVALID_EVENT_CLASS_PARTITION: HRESULT = 0x8004020F; -pub const EVENT_E_PER_USER_SID_NOT_LOGGED_ON: HRESULT = 0x80040210; -pub const TPC_E_INVALID_PROPERTY: HRESULT = 0x80040241; -pub const TPC_E_NO_DEFAULT_TABLET: HRESULT = 0x80040212; -pub const TPC_E_UNKNOWN_PROPERTY: HRESULT = 0x8004021B; -pub const TPC_E_INVALID_INPUT_RECT: HRESULT = 0x80040219; -pub const TPC_E_INVALID_STROKE: HRESULT = 0x80040222; -pub const TPC_E_INITIALIZE_FAIL: HRESULT = 0x80040223; -pub const TPC_E_NOT_RELEVANT: HRESULT = 0x80040232; -pub const TPC_E_INVALID_PACKET_DESCRIPTION: HRESULT = 0x80040233; -pub const TPC_E_RECOGNIZER_NOT_REGISTERED: HRESULT = 0x80040235; -pub const TPC_E_INVALID_RIGHTS: HRESULT = 0x80040236; -pub const TPC_E_OUT_OF_ORDER_CALL: HRESULT = 0x80040237; -pub const TPC_E_QUEUE_FULL: HRESULT = 0x80040238; -pub const TPC_E_INVALID_CONFIGURATION: HRESULT = 0x80040239; -pub const TPC_E_INVALID_DATA_FROM_RECOGNIZER: HRESULT = 0x8004023A; -pub const TPC_S_TRUNCATED: HRESULT = 0x00040252; -pub const TPC_S_INTERRUPTED: HRESULT = 0x00040253; -pub const TPC_S_NO_DATA_TO_PROCESS: HRESULT = 0x00040254; -pub const XACT_E_FIRST: HRESULT = 0x8004D000; -pub const XACT_E_LAST: HRESULT = 0x8004D02B; -pub const XACT_S_FIRST: HRESULT = 0x0004D000; -pub const XACT_S_LAST: HRESULT = 0x0004D010; -pub const XACT_E_ALREADYOTHERSINGLEPHASE: HRESULT = 0x8004D000; -pub const XACT_E_CANTRETAIN: HRESULT = 0x8004D001; -pub const XACT_E_COMMITFAILED: HRESULT = 0x8004D002; -pub const XACT_E_COMMITPREVENTED: HRESULT = 0x8004D003; -pub const XACT_E_HEURISTICABORT: HRESULT = 0x8004D004; -pub const XACT_E_HEURISTICCOMMIT: HRESULT = 0x8004D005; -pub const XACT_E_HEURISTICDAMAGE: HRESULT = 0x8004D006; -pub const XACT_E_HEURISTICDANGER: HRESULT = 0x8004D007; -pub const XACT_E_ISOLATIONLEVEL: HRESULT = 0x8004D008; -pub const XACT_E_NOASYNC: HRESULT = 0x8004D009; -pub const XACT_E_NOENLIST: HRESULT = 0x8004D00A; -pub const XACT_E_NOISORETAIN: HRESULT = 0x8004D00B; -pub const XACT_E_NORESOURCE: HRESULT = 0x8004D00C; -pub const XACT_E_NOTCURRENT: HRESULT = 0x8004D00D; -pub const XACT_E_NOTRANSACTION: HRESULT = 0x8004D00E; -pub const XACT_E_NOTSUPPORTED: HRESULT = 0x8004D00F; -pub const XACT_E_UNKNOWNRMGRID: HRESULT = 0x8004D010; -pub const XACT_E_WRONGSTATE: HRESULT = 0x8004D011; -pub const XACT_E_WRONGUOW: HRESULT = 0x8004D012; -pub const XACT_E_XTIONEXISTS: HRESULT = 0x8004D013; -pub const XACT_E_NOIMPORTOBJECT: HRESULT = 0x8004D014; -pub const XACT_E_INVALIDCOOKIE: HRESULT = 0x8004D015; -pub const XACT_E_INDOUBT: HRESULT = 0x8004D016; -pub const XACT_E_NOTIMEOUT: HRESULT = 0x8004D017; -pub const XACT_E_ALREADYINPROGRESS: HRESULT = 0x8004D018; -pub const XACT_E_ABORTED: HRESULT = 0x8004D019; -pub const XACT_E_LOGFULL: HRESULT = 0x8004D01A; -pub const XACT_E_TMNOTAVAILABLE: HRESULT = 0x8004D01B; -pub const XACT_E_CONNECTION_DOWN: HRESULT = 0x8004D01C; -pub const XACT_E_CONNECTION_DENIED: HRESULT = 0x8004D01D; -pub const XACT_E_REENLISTTIMEOUT: HRESULT = 0x8004D01E; -pub const XACT_E_TIP_CONNECT_FAILED: HRESULT = 0x8004D01F; -pub const XACT_E_TIP_PROTOCOL_ERROR: HRESULT = 0x8004D020; -pub const XACT_E_TIP_PULL_FAILED: HRESULT = 0x8004D021; -pub const XACT_E_DEST_TMNOTAVAILABLE: HRESULT = 0x8004D022; -pub const XACT_E_TIP_DISABLED: HRESULT = 0x8004D023; -pub const XACT_E_NETWORK_TX_DISABLED: HRESULT = 0x8004D024; -pub const XACT_E_PARTNER_NETWORK_TX_DISABLED: HRESULT = 0x8004D025; -pub const XACT_E_XA_TX_DISABLED: HRESULT = 0x8004D026; -pub const XACT_E_UNABLE_TO_READ_DTC_CONFIG: HRESULT = 0x8004D027; -pub const XACT_E_UNABLE_TO_LOAD_DTC_PROXY: HRESULT = 0x8004D028; -pub const XACT_E_ABORTING: HRESULT = 0x8004D029; -pub const XACT_E_PUSH_COMM_FAILURE: HRESULT = 0x8004D02A; -pub const XACT_E_PULL_COMM_FAILURE: HRESULT = 0x8004D02B; -pub const XACT_E_LU_TX_DISABLED: HRESULT = 0x8004D02C; -pub const XACT_E_CLERKNOTFOUND: HRESULT = 0x8004D080; -pub const XACT_E_CLERKEXISTS: HRESULT = 0x8004D081; -pub const XACT_E_RECOVERYINPROGRESS: HRESULT = 0x8004D082; -pub const XACT_E_TRANSACTIONCLOSED: HRESULT = 0x8004D083; -pub const XACT_E_INVALIDLSN: HRESULT = 0x8004D084; -pub const XACT_E_REPLAYREQUEST: HRESULT = 0x8004D085; -pub const XACT_S_ASYNC: HRESULT = 0x0004D000; -pub const XACT_S_DEFECT: HRESULT = 0x0004D001; -pub const XACT_S_READONLY: HRESULT = 0x0004D002; -pub const XACT_S_SOMENORETAIN: HRESULT = 0x0004D003; -pub const XACT_S_OKINFORM: HRESULT = 0x0004D004; -pub const XACT_S_MADECHANGESCONTENT: HRESULT = 0x0004D005; -pub const XACT_S_MADECHANGESINFORM: HRESULT = 0x0004D006; -pub const XACT_S_ALLNORETAIN: HRESULT = 0x0004D007; -pub const XACT_S_ABORTING: HRESULT = 0x0004D008; -pub const XACT_S_SINGLEPHASE: HRESULT = 0x0004D009; -pub const XACT_S_LOCALLY_OK: HRESULT = 0x0004D00A; -pub const XACT_S_LASTRESOURCEMANAGER: HRESULT = 0x0004D010; -pub const CONTEXT_E_FIRST: HRESULT = 0x8004E000; -pub const CONTEXT_E_LAST: HRESULT = 0x8004E02F; -pub const CONTEXT_S_FIRST: HRESULT = 0x0004E000; -pub const CONTEXT_S_LAST: HRESULT = 0x0004E02F; -pub const CONTEXT_E_ABORTED: HRESULT = 0x8004E002; -pub const CONTEXT_E_ABORTING: HRESULT = 0x8004E003; -pub const CONTEXT_E_NOCONTEXT: HRESULT = 0x8004E004; -pub const CONTEXT_E_WOULD_DEADLOCK: HRESULT = 0x8004E005; -pub const CONTEXT_E_SYNCH_TIMEOUT: HRESULT = 0x8004E006; -pub const CONTEXT_E_OLDREF: HRESULT = 0x8004E007; -pub const CONTEXT_E_ROLENOTFOUND: HRESULT = 0x8004E00C; -pub const CONTEXT_E_TMNOTAVAILABLE: HRESULT = 0x8004E00F; -pub const CO_E_ACTIVATIONFAILED: HRESULT = 0x8004E021; -pub const CO_E_ACTIVATIONFAILED_EVENTLOGGED: HRESULT = 0x8004E022; -pub const CO_E_ACTIVATIONFAILED_CATALOGERROR: HRESULT = 0x8004E023; -pub const CO_E_ACTIVATIONFAILED_TIMEOUT: HRESULT = 0x8004E024; -pub const CO_E_INITIALIZATIONFAILED: HRESULT = 0x8004E025; -pub const CONTEXT_E_NOJIT: HRESULT = 0x8004E026; -pub const CONTEXT_E_NOTRANSACTION: HRESULT = 0x8004E027; -pub const CO_E_THREADINGMODEL_CHANGED: HRESULT = 0x8004E028; -pub const CO_E_NOIISINTRINSICS: HRESULT = 0x8004E029; -pub const CO_E_NOCOOKIES: HRESULT = 0x8004E02A; -pub const CO_E_DBERROR: HRESULT = 0x8004E02B; -pub const CO_E_NOTPOOLED: HRESULT = 0x8004E02C; -pub const CO_E_NOTCONSTRUCTED: HRESULT = 0x8004E02D; -pub const CO_E_NOSYNCHRONIZATION: HRESULT = 0x8004E02E; -pub const CO_E_ISOLEVELMISMATCH: HRESULT = 0x8004E02F; -pub const CO_E_CALL_OUT_OF_TX_SCOPE_NOT_ALLOWED: HRESULT = 0x8004E030; -pub const CO_E_EXIT_TRANSACTION_SCOPE_NOT_CALLED: HRESULT = 0x8004E031; -pub const OLE_S_USEREG: HRESULT = 0x00040000; -pub const OLE_S_STATIC: HRESULT = 0x00040001; -pub const OLE_S_MAC_CLIPFORMAT: HRESULT = 0x00040002; -pub const DRAGDROP_S_DROP: HRESULT = 0x00040100; -pub const DRAGDROP_S_CANCEL: HRESULT = 0x00040101; -pub const DRAGDROP_S_USEDEFAULTCURSORS: HRESULT = 0x00040102; -pub const DATA_S_SAMEFORMATETC: HRESULT = 0x00040130; -pub const VIEW_S_ALREADY_FROZEN: HRESULT = 0x00040140; -pub const CACHE_S_FORMATETC_NOTSUPPORTED: HRESULT = 0x00040170; -pub const CACHE_S_SAMECACHE: HRESULT = 0x00040171; -pub const CACHE_S_SOMECACHES_NOTUPDATED: HRESULT = 0x00040172; -pub const OLEOBJ_S_INVALIDVERB: HRESULT = 0x00040180; -pub const OLEOBJ_S_CANNOT_DOVERB_NOW: HRESULT = 0x00040181; -pub const OLEOBJ_S_INVALIDHWND: HRESULT = 0x00040182; -pub const INPLACE_S_TRUNCATED: HRESULT = 0x000401A0; -pub const CONVERT10_S_NO_PRESENTATION: HRESULT = 0x000401C0; -pub const MK_S_REDUCED_TO_SELF: HRESULT = 0x000401E2; -pub const MK_S_ME: HRESULT = 0x000401E4; -pub const MK_S_HIM: HRESULT = 0x000401E5; -pub const MK_S_US: HRESULT = 0x000401E6; -pub const MK_S_MONIKERALREADYREGISTERED: HRESULT = 0x000401E7; -pub const SCHED_S_TASK_READY: HRESULT = 0x00041300; -pub const SCHED_S_TASK_RUNNING: HRESULT = 0x00041301; -pub const SCHED_S_TASK_DISABLED: HRESULT = 0x00041302; -pub const SCHED_S_TASK_HAS_NOT_RUN: HRESULT = 0x00041303; -pub const SCHED_S_TASK_NO_MORE_RUNS: HRESULT = 0x00041304; -pub const SCHED_S_TASK_NOT_SCHEDULED: HRESULT = 0x00041305; -pub const SCHED_S_TASK_TERMINATED: HRESULT = 0x00041306; -pub const SCHED_S_TASK_NO_VALID_TRIGGERS: HRESULT = 0x00041307; -pub const SCHED_S_EVENT_TRIGGER: HRESULT = 0x00041308; -pub const SCHED_E_TRIGGER_NOT_FOUND: HRESULT = 0x80041309; -pub const SCHED_E_TASK_NOT_READY: HRESULT = 0x8004130A; -pub const SCHED_E_TASK_NOT_RUNNING: HRESULT = 0x8004130B; -pub const SCHED_E_SERVICE_NOT_INSTALLED: HRESULT = 0x8004130C; -pub const SCHED_E_CANNOT_OPEN_TASK: HRESULT = 0x8004130D; -pub const SCHED_E_INVALID_TASK: HRESULT = 0x8004130E; -pub const SCHED_E_ACCOUNT_INFORMATION_NOT_SET: HRESULT = 0x8004130F; -pub const SCHED_E_ACCOUNT_NAME_NOT_FOUND: HRESULT = 0x80041310; -pub const SCHED_E_ACCOUNT_DBASE_CORRUPT: HRESULT = 0x80041311; -pub const SCHED_E_NO_SECURITY_SERVICES: HRESULT = 0x80041312; -pub const SCHED_E_UNKNOWN_OBJECT_VERSION: HRESULT = 0x80041313; -pub const SCHED_E_UNSUPPORTED_ACCOUNT_OPTION: HRESULT = 0x80041314; -pub const SCHED_E_SERVICE_NOT_RUNNING: HRESULT = 0x80041315; -pub const SCHED_E_UNEXPECTEDNODE: HRESULT = 0x80041316; -pub const SCHED_E_NAMESPACE: HRESULT = 0x80041317; -pub const SCHED_E_INVALIDVALUE: HRESULT = 0x80041318; -pub const SCHED_E_MISSINGNODE: HRESULT = 0x80041319; -pub const SCHED_E_MALFORMEDXML: HRESULT = 0x8004131A; -pub const SCHED_S_SOME_TRIGGERS_FAILED: HRESULT = 0x0004131B; -pub const SCHED_S_BATCH_LOGON_PROBLEM: HRESULT = 0x0004131C; -pub const SCHED_E_TOO_MANY_NODES: HRESULT = 0x8004131D; -pub const SCHED_E_PAST_END_BOUNDARY: HRESULT = 0x8004131E; -pub const SCHED_E_ALREADY_RUNNING: HRESULT = 0x8004131F; -pub const SCHED_E_USER_NOT_LOGGED_ON: HRESULT = 0x80041320; -pub const SCHED_E_INVALID_TASK_HASH: HRESULT = 0x80041321; -pub const SCHED_E_SERVICE_NOT_AVAILABLE: HRESULT = 0x80041322; -pub const SCHED_E_SERVICE_TOO_BUSY: HRESULT = 0x80041323; -pub const SCHED_E_TASK_ATTEMPTED: HRESULT = 0x80041324; -pub const SCHED_S_TASK_QUEUED: HRESULT = 0x00041325; -pub const SCHED_E_TASK_DISABLED: HRESULT = 0x80041326; -pub const SCHED_E_TASK_NOT_V1_COMPAT: HRESULT = 0x80041327; -pub const SCHED_E_START_ON_DEMAND: HRESULT = 0x80041328; -pub const SCHED_E_TASK_NOT_UBPM_COMPAT: HRESULT = 0x80041329; -pub const SCHED_E_DEPRECATED_FEATURE_USED: HRESULT = 0x80041330; -pub const CO_E_CLASS_CREATE_FAILED: HRESULT = 0x80080001; -pub const CO_E_SCM_ERROR: HRESULT = 0x80080002; -pub const CO_E_SCM_RPC_FAILURE: HRESULT = 0x80080003; -pub const CO_E_BAD_PATH: HRESULT = 0x80080004; -pub const CO_E_SERVER_EXEC_FAILURE: HRESULT = 0x80080005; -pub const CO_E_OBJSRV_RPC_FAILURE: HRESULT = 0x80080006; -pub const MK_E_NO_NORMALIZED: HRESULT = 0x80080007; -pub const CO_E_SERVER_STOPPING: HRESULT = 0x80080008; -pub const MEM_E_INVALID_ROOT: HRESULT = 0x80080009; -pub const MEM_E_INVALID_LINK: HRESULT = 0x80080010; -pub const MEM_E_INVALID_SIZE: HRESULT = 0x80080011; -pub const CO_S_NOTALLINTERFACES: HRESULT = 0x00080012; -pub const CO_S_MACHINENAMENOTFOUND: HRESULT = 0x00080013; -pub const CO_E_MISSING_DISPLAYNAME: HRESULT = 0x80080015; -pub const CO_E_RUNAS_VALUE_MUST_BE_AAA: HRESULT = 0x80080016; -pub const CO_E_ELEVATION_DISABLED: HRESULT = 0x80080017; -pub const APPX_E_PACKAGING_INTERNAL: HRESULT = 0x80080200; -pub const APPX_E_INTERLEAVING_NOT_ALLOWED: HRESULT = 0x80080201; -pub const APPX_E_RELATIONSHIPS_NOT_ALLOWED: HRESULT = 0x80080202; -pub const APPX_E_MISSING_REQUIRED_FILE: HRESULT = 0x80080203; -pub const APPX_E_INVALID_MANIFEST: HRESULT = 0x80080204; -pub const APPX_E_INVALID_BLOCKMAP: HRESULT = 0x80080205; -pub const APPX_E_CORRUPT_CONTENT: HRESULT = 0x80080206; -pub const APPX_E_BLOCK_HASH_INVALID: HRESULT = 0x80080207; -pub const APPX_E_REQUESTED_RANGE_TOO_LARGE: HRESULT = 0x80080208; -pub const APPX_E_INVALID_SIP_CLIENT_DATA: HRESULT = 0x80080209; -pub const BT_E_SPURIOUS_ACTIVATION: HRESULT = 0x80080300; -pub const DISP_E_UNKNOWNINTERFACE: HRESULT = 0x80020001; -pub const DISP_E_MEMBERNOTFOUND: HRESULT = 0x80020003; -pub const DISP_E_PARAMNOTFOUND: HRESULT = 0x80020004; -pub const DISP_E_TYPEMISMATCH: HRESULT = 0x80020005; -pub const DISP_E_UNKNOWNNAME: HRESULT = 0x80020006; -pub const DISP_E_NONAMEDARGS: HRESULT = 0x80020007; -pub const DISP_E_BADVARTYPE: HRESULT = 0x80020008; -pub const DISP_E_EXCEPTION: HRESULT = 0x80020009; -pub const DISP_E_OVERFLOW: HRESULT = 0x8002000A; -pub const DISP_E_BADINDEX: HRESULT = 0x8002000B; -pub const DISP_E_UNKNOWNLCID: HRESULT = 0x8002000C; -pub const DISP_E_ARRAYISLOCKED: HRESULT = 0x8002000D; -pub const DISP_E_BADPARAMCOUNT: HRESULT = 0x8002000E; -pub const DISP_E_PARAMNOTOPTIONAL: HRESULT = 0x8002000F; -pub const DISP_E_BADCALLEE: HRESULT = 0x80020010; -pub const DISP_E_NOTACOLLECTION: HRESULT = 0x80020011; -pub const DISP_E_DIVBYZERO: HRESULT = 0x80020012; -pub const DISP_E_BUFFERTOOSMALL: HRESULT = 0x80020013; -pub const TYPE_E_BUFFERTOOSMALL: HRESULT = 0x80028016; -pub const TYPE_E_FIELDNOTFOUND: HRESULT = 0x80028017; -pub const TYPE_E_INVDATAREAD: HRESULT = 0x80028018; -pub const TYPE_E_UNSUPFORMAT: HRESULT = 0x80028019; -pub const TYPE_E_REGISTRYACCESS: HRESULT = 0x8002801C; -pub const TYPE_E_LIBNOTREGISTERED: HRESULT = 0x8002801D; -pub const TYPE_E_UNDEFINEDTYPE: HRESULT = 0x80028027; -pub const TYPE_E_QUALIFIEDNAMEDISALLOWED: HRESULT = 0x80028028; -pub const TYPE_E_INVALIDSTATE: HRESULT = 0x80028029; -pub const TYPE_E_WRONGTYPEKIND: HRESULT = 0x8002802A; -pub const TYPE_E_ELEMENTNOTFOUND: HRESULT = 0x8002802B; -pub const TYPE_E_AMBIGUOUSNAME: HRESULT = 0x8002802C; -pub const TYPE_E_NAMECONFLICT: HRESULT = 0x8002802D; -pub const TYPE_E_UNKNOWNLCID: HRESULT = 0x8002802E; -pub const TYPE_E_DLLFUNCTIONNOTFOUND: HRESULT = 0x8002802F; -pub const TYPE_E_BADMODULEKIND: HRESULT = 0x800288BD; -pub const TYPE_E_SIZETOOBIG: HRESULT = 0x800288C5; -pub const TYPE_E_DUPLICATEID: HRESULT = 0x800288C6; -pub const TYPE_E_INVALIDID: HRESULT = 0x800288CF; -pub const TYPE_E_TYPEMISMATCH: HRESULT = 0x80028CA0; -pub const TYPE_E_OUTOFBOUNDS: HRESULT = 0x80028CA1; -pub const TYPE_E_IOERROR: HRESULT = 0x80028CA2; -pub const TYPE_E_CANTCREATETMPFILE: HRESULT = 0x80028CA3; -pub const TYPE_E_CANTLOADLIBRARY: HRESULT = 0x80029C4A; -pub const TYPE_E_INCONSISTENTPROPFUNCS: HRESULT = 0x80029C83; -pub const TYPE_E_CIRCULARTYPE: HRESULT = 0x80029C84; -pub const STG_E_INVALIDFUNCTION: HRESULT = 0x80030001; -pub const STG_E_FILENOTFOUND: HRESULT = 0x80030002; -pub const STG_E_PATHNOTFOUND: HRESULT = 0x80030003; -pub const STG_E_TOOMANYOPENFILES: HRESULT = 0x80030004; -pub const STG_E_ACCESSDENIED: HRESULT = 0x80030005; -pub const STG_E_INVALIDHANDLE: HRESULT = 0x80030006; -pub const STG_E_INSUFFICIENTMEMORY: HRESULT = 0x80030008; -pub const STG_E_INVALIDPOINTER: HRESULT = 0x80030009; -pub const STG_E_NOMOREFILES: HRESULT = 0x80030012; -pub const STG_E_DISKISWRITEPROTECTED: HRESULT = 0x80030013; -pub const STG_E_SEEKERROR: HRESULT = 0x80030019; -pub const STG_E_WRITEFAULT: HRESULT = 0x8003001D; -pub const STG_E_READFAULT: HRESULT = 0x8003001E; -pub const STG_E_SHAREVIOLATION: HRESULT = 0x80030020; -pub const STG_E_LOCKVIOLATION: HRESULT = 0x80030021; -pub const STG_E_FILEALREADYEXISTS: HRESULT = 0x80030050; -pub const STG_E_INVALIDPARAMETER: HRESULT = 0x80030057; -pub const STG_E_MEDIUMFULL: HRESULT = 0x80030070; -pub const STG_E_PROPSETMISMATCHED: HRESULT = 0x800300F0; -pub const STG_E_ABNORMALAPIEXIT: HRESULT = 0x800300FA; -pub const STG_E_INVALIDHEADER: HRESULT = 0x800300FB; -pub const STG_E_INVALIDNAME: HRESULT = 0x800300FC; -pub const STG_E_UNKNOWN: HRESULT = 0x800300FD; -pub const STG_E_UNIMPLEMENTEDFUNCTION: HRESULT = 0x800300FE; -pub const STG_E_INVALIDFLAG: HRESULT = 0x800300FF; -pub const STG_E_INUSE: HRESULT = 0x80030100; -pub const STG_E_NOTCURRENT: HRESULT = 0x80030101; -pub const STG_E_REVERTED: HRESULT = 0x80030102; -pub const STG_E_CANTSAVE: HRESULT = 0x80030103; -pub const STG_E_OLDFORMAT: HRESULT = 0x80030104; -pub const STG_E_OLDDLL: HRESULT = 0x80030105; -pub const STG_E_SHAREREQUIRED: HRESULT = 0x80030106; -pub const STG_E_NOTFILEBASEDSTORAGE: HRESULT = 0x80030107; -pub const STG_E_EXTANTMARSHALLINGS: HRESULT = 0x80030108; -pub const STG_E_DOCFILECORRUPT: HRESULT = 0x80030109; -pub const STG_E_BADBASEADDRESS: HRESULT = 0x80030110; -pub const STG_E_DOCFILETOOLARGE: HRESULT = 0x80030111; -pub const STG_E_NOTSIMPLEFORMAT: HRESULT = 0x80030112; -pub const STG_E_INCOMPLETE: HRESULT = 0x80030201; -pub const STG_E_TERMINATED: HRESULT = 0x80030202; -pub const STG_S_CONVERTED: HRESULT = 0x00030200; -pub const STG_S_BLOCK: HRESULT = 0x00030201; -pub const STG_S_RETRYNOW: HRESULT = 0x00030202; -pub const STG_S_MONITORING: HRESULT = 0x00030203; -pub const STG_S_MULTIPLEOPENS: HRESULT = 0x00030204; -pub const STG_S_CONSOLIDATIONFAILED: HRESULT = 0x00030205; -pub const STG_S_CANNOTCONSOLIDATE: HRESULT = 0x00030206; -pub const STG_E_STATUS_COPY_PROTECTION_FAILURE: HRESULT = 0x80030305; -pub const STG_E_CSS_AUTHENTICATION_FAILURE: HRESULT = 0x80030306; -pub const STG_E_CSS_KEY_NOT_PRESENT: HRESULT = 0x80030307; -pub const STG_E_CSS_KEY_NOT_ESTABLISHED: HRESULT = 0x80030308; -pub const STG_E_CSS_SCRAMBLED_SECTOR: HRESULT = 0x80030309; -pub const STG_E_CSS_REGION_MISMATCH: HRESULT = 0x8003030A; -pub const STG_E_RESETS_EXHAUSTED: HRESULT = 0x8003030B; -pub const RPC_E_CALL_REJECTED: HRESULT = 0x80010001; -pub const RPC_E_CALL_CANCELED: HRESULT = 0x80010002; -pub const RPC_E_CANTPOST_INSENDCALL: HRESULT = 0x80010003; -pub const RPC_E_CANTCALLOUT_INASYNCCALL: HRESULT = 0x80010004; -pub const RPC_E_CANTCALLOUT_INEXTERNALCALL: HRESULT = 0x80010005; -pub const RPC_E_CONNECTION_TERMINATED: HRESULT = 0x80010006; -pub const RPC_E_SERVER_DIED: HRESULT = 0x80010007; -pub const RPC_E_CLIENT_DIED: HRESULT = 0x80010008; -pub const RPC_E_INVALID_DATAPACKET: HRESULT = 0x80010009; -pub const RPC_E_CANTTRANSMIT_CALL: HRESULT = 0x8001000A; -pub const RPC_E_CLIENT_CANTMARSHAL_DATA: HRESULT = 0x8001000B; -pub const RPC_E_CLIENT_CANTUNMARSHAL_DATA: HRESULT = 0x8001000C; -pub const RPC_E_SERVER_CANTMARSHAL_DATA: HRESULT = 0x8001000D; -pub const RPC_E_SERVER_CANTUNMARSHAL_DATA: HRESULT = 0x8001000E; -pub const RPC_E_INVALID_DATA: HRESULT = 0x8001000F; -pub const RPC_E_INVALID_PARAMETER: HRESULT = 0x80010010; -pub const RPC_E_CANTCALLOUT_AGAIN: HRESULT = 0x80010011; -pub const RPC_E_SERVER_DIED_DNE: HRESULT = 0x80010012; -pub const RPC_E_SYS_CALL_FAILED: HRESULT = 0x80010100; -pub const RPC_E_OUT_OF_RESOURCES: HRESULT = 0x80010101; -pub const RPC_E_ATTEMPTED_MULTITHREAD: HRESULT = 0x80010102; -pub const RPC_E_NOT_REGISTERED: HRESULT = 0x80010103; -pub const RPC_E_FAULT: HRESULT = 0x80010104; -pub const RPC_E_SERVERFAULT: HRESULT = 0x80010105; -pub const RPC_E_CHANGED_MODE: HRESULT = 0x80010106; -pub const RPC_E_INVALIDMETHOD: HRESULT = 0x80010107; -pub const RPC_E_DISCONNECTED: HRESULT = 0x80010108; -pub const RPC_E_RETRY: HRESULT = 0x80010109; -pub const RPC_E_SERVERCALL_RETRYLATER: HRESULT = 0x8001010A; -pub const RPC_E_SERVERCALL_REJECTED: HRESULT = 0x8001010B; -pub const RPC_E_INVALID_CALLDATA: HRESULT = 0x8001010C; -pub const RPC_E_CANTCALLOUT_ININPUTSYNCCALL: HRESULT = 0x8001010D; -pub const RPC_E_WRONG_THREAD: HRESULT = 0x8001010E; -pub const RPC_E_THREAD_NOT_INIT: HRESULT = 0x8001010F; -pub const RPC_E_VERSION_MISMATCH: HRESULT = 0x80010110; -pub const RPC_E_INVALID_HEADER: HRESULT = 0x80010111; -pub const RPC_E_INVALID_EXTENSION: HRESULT = 0x80010112; -pub const RPC_E_INVALID_IPID: HRESULT = 0x80010113; -pub const RPC_E_INVALID_OBJECT: HRESULT = 0x80010114; -pub const RPC_S_CALLPENDING: HRESULT = 0x80010115; -pub const RPC_S_WAITONTIMER: HRESULT = 0x80010116; -pub const RPC_E_CALL_COMPLETE: HRESULT = 0x80010117; -pub const RPC_E_UNSECURE_CALL: HRESULT = 0x80010118; -pub const RPC_E_TOO_LATE: HRESULT = 0x80010119; -pub const RPC_E_NO_GOOD_SECURITY_PACKAGES: HRESULT = 0x8001011A; -pub const RPC_E_ACCESS_DENIED: HRESULT = 0x8001011B; -pub const RPC_E_REMOTE_DISABLED: HRESULT = 0x8001011C; -pub const RPC_E_INVALID_OBJREF: HRESULT = 0x8001011D; -pub const RPC_E_NO_CONTEXT: HRESULT = 0x8001011E; -pub const RPC_E_TIMEOUT: HRESULT = 0x8001011F; -pub const RPC_E_NO_SYNC: HRESULT = 0x80010120; -pub const RPC_E_FULLSIC_REQUIRED: HRESULT = 0x80010121; -pub const RPC_E_INVALID_STD_NAME: HRESULT = 0x80010122; -pub const CO_E_FAILEDTOIMPERSONATE: HRESULT = 0x80010123; -pub const CO_E_FAILEDTOGETSECCTX: HRESULT = 0x80010124; -pub const CO_E_FAILEDTOOPENTHREADTOKEN: HRESULT = 0x80010125; -pub const CO_E_FAILEDTOGETTOKENINFO: HRESULT = 0x80010126; -pub const CO_E_TRUSTEEDOESNTMATCHCLIENT: HRESULT = 0x80010127; -pub const CO_E_FAILEDTOQUERYCLIENTBLANKET: HRESULT = 0x80010128; -pub const CO_E_FAILEDTOSETDACL: HRESULT = 0x80010129; -pub const CO_E_ACCESSCHECKFAILED: HRESULT = 0x8001012A; -pub const CO_E_NETACCESSAPIFAILED: HRESULT = 0x8001012B; -pub const CO_E_WRONGTRUSTEENAMESYNTAX: HRESULT = 0x8001012C; -pub const CO_E_INVALIDSID: HRESULT = 0x8001012D; -pub const CO_E_CONVERSIONFAILED: HRESULT = 0x8001012E; -pub const CO_E_NOMATCHINGSIDFOUND: HRESULT = 0x8001012F; -pub const CO_E_LOOKUPACCSIDFAILED: HRESULT = 0x80010130; -pub const CO_E_NOMATCHINGNAMEFOUND: HRESULT = 0x80010131; -pub const CO_E_LOOKUPACCNAMEFAILED: HRESULT = 0x80010132; -pub const CO_E_SETSERLHNDLFAILED: HRESULT = 0x80010133; -pub const CO_E_FAILEDTOGETWINDIR: HRESULT = 0x80010134; -pub const CO_E_PATHTOOLONG: HRESULT = 0x80010135; -pub const CO_E_FAILEDTOGENUUID: HRESULT = 0x80010136; -pub const CO_E_FAILEDTOCREATEFILE: HRESULT = 0x80010137; -pub const CO_E_FAILEDTOCLOSEHANDLE: HRESULT = 0x80010138; -pub const CO_E_EXCEEDSYSACLLIMIT: HRESULT = 0x80010139; -pub const CO_E_ACESINWRONGORDER: HRESULT = 0x8001013A; -pub const CO_E_INCOMPATIBLESTREAMVERSION: HRESULT = 0x8001013B; -pub const CO_E_FAILEDTOOPENPROCESSTOKEN: HRESULT = 0x8001013C; -pub const CO_E_DECODEFAILED: HRESULT = 0x8001013D; -pub const CO_E_ACNOTINITIALIZED: HRESULT = 0x8001013F; -pub const CO_E_CANCEL_DISABLED: HRESULT = 0x80010140; -pub const RPC_E_UNEXPECTED: HRESULT = 0x8001FFFF; -pub const ERROR_AUDITING_DISABLED: HRESULT = 0xC0090001; -pub const ERROR_ALL_SIDS_FILTERED: HRESULT = 0xC0090002; -pub const ERROR_BIZRULES_NOT_ENABLED: HRESULT = 0xC0090003; -pub const NTE_BAD_UID: HRESULT = 0x80090001; -pub const NTE_BAD_HASH: HRESULT = 0x80090002; -pub const NTE_BAD_KEY: HRESULT = 0x80090003; -pub const NTE_BAD_LEN: HRESULT = 0x80090004; -pub const NTE_BAD_DATA: HRESULT = 0x80090005; -pub const NTE_BAD_SIGNATURE: HRESULT = 0x80090006; -pub const NTE_BAD_VER: HRESULT = 0x80090007; -pub const NTE_BAD_ALGID: HRESULT = 0x80090008; -pub const NTE_BAD_FLAGS: HRESULT = 0x80090009; -pub const NTE_BAD_TYPE: HRESULT = 0x8009000A; -pub const NTE_BAD_KEY_STATE: HRESULT = 0x8009000B; -pub const NTE_BAD_HASH_STATE: HRESULT = 0x8009000C; -pub const NTE_NO_KEY: HRESULT = 0x8009000D; -pub const NTE_NO_MEMORY: HRESULT = 0x8009000E; -pub const NTE_EXISTS: HRESULT = 0x8009000F; -pub const NTE_PERM: HRESULT = 0x80090010; -pub const NTE_NOT_FOUND: HRESULT = 0x80090011; -pub const NTE_DOUBLE_ENCRYPT: HRESULT = 0x80090012; -pub const NTE_BAD_PROVIDER: HRESULT = 0x80090013; -pub const NTE_BAD_PROV_TYPE: HRESULT = 0x80090014; -pub const NTE_BAD_PUBLIC_KEY: HRESULT = 0x80090015; -pub const NTE_BAD_KEYSET: HRESULT = 0x80090016; -pub const NTE_PROV_TYPE_NOT_DEF: HRESULT = 0x80090017; -pub const NTE_PROV_TYPE_ENTRY_BAD: HRESULT = 0x80090018; -pub const NTE_KEYSET_NOT_DEF: HRESULT = 0x80090019; -pub const NTE_KEYSET_ENTRY_BAD: HRESULT = 0x8009001A; -pub const NTE_PROV_TYPE_NO_MATCH: HRESULT = 0x8009001B; -pub const NTE_SIGNATURE_FILE_BAD: HRESULT = 0x8009001C; -pub const NTE_PROVIDER_DLL_FAIL: HRESULT = 0x8009001D; -pub const NTE_PROV_DLL_NOT_FOUND: HRESULT = 0x8009001E; -pub const NTE_BAD_KEYSET_PARAM: HRESULT = 0x8009001F; -pub const NTE_FAIL: HRESULT = 0x80090020; -pub const NTE_SYS_ERR: HRESULT = 0x80090021; -pub const NTE_SILENT_CONTEXT: HRESULT = 0x80090022; -pub const NTE_TOKEN_KEYSET_STORAGE_FULL: HRESULT = 0x80090023; -pub const NTE_TEMPORARY_PROFILE: HRESULT = 0x80090024; -pub const NTE_FIXEDPARAMETER: HRESULT = 0x80090025; -pub const NTE_INVALID_HANDLE: HRESULT = 0x80090026; -pub const NTE_INVALID_PARAMETER: HRESULT = 0x80090027; -pub const NTE_BUFFER_TOO_SMALL: HRESULT = 0x80090028; -pub const NTE_NOT_SUPPORTED: HRESULT = 0x80090029; -pub const NTE_NO_MORE_ITEMS: HRESULT = 0x8009002A; -pub const NTE_BUFFERS_OVERLAP: HRESULT = 0x8009002B; -pub const NTE_DECRYPTION_FAILURE: HRESULT = 0x8009002C; -pub const NTE_INTERNAL_ERROR: HRESULT = 0x8009002D; -pub const NTE_UI_REQUIRED: HRESULT = 0x8009002E; -pub const NTE_HMAC_NOT_SUPPORTED: HRESULT = 0x8009002F; -pub const NTE_DEVICE_NOT_READY: HRESULT = 0x80090030; -pub const NTE_AUTHENTICATION_IGNORED: HRESULT = 0x80090031; -pub const NTE_VALIDATION_FAILED: HRESULT = 0x80090032; -pub const NTE_INCORRECT_PASSWORD: HRESULT = 0x80090033; -pub const NTE_ENCRYPTION_FAILURE: HRESULT = 0x80090034; -pub const NTE_DEVICE_NOT_FOUND: HRESULT = 0x80090035; -pub const SEC_E_INSUFFICIENT_MEMORY: HRESULT = 0x80090300; -pub const SEC_E_INVALID_HANDLE: HRESULT = 0x80090301; -pub const SEC_E_UNSUPPORTED_FUNCTION: HRESULT = 0x80090302; -pub const SEC_E_TARGET_UNKNOWN: HRESULT = 0x80090303; -pub const SEC_E_INTERNAL_ERROR: HRESULT = 0x80090304; -pub const SEC_E_SECPKG_NOT_FOUND: HRESULT = 0x80090305; -pub const SEC_E_NOT_OWNER: HRESULT = 0x80090306; -pub const SEC_E_CANNOT_INSTALL: HRESULT = 0x80090307; -pub const SEC_E_INVALID_TOKEN: HRESULT = 0x80090308; -pub const SEC_E_CANNOT_PACK: HRESULT = 0x80090309; -pub const SEC_E_QOP_NOT_SUPPORTED: HRESULT = 0x8009030A; -pub const SEC_E_NO_IMPERSONATION: HRESULT = 0x8009030B; -pub const SEC_E_LOGON_DENIED: HRESULT = 0x8009030C; -pub const SEC_E_UNKNOWN_CREDENTIALS: HRESULT = 0x8009030D; -pub const SEC_E_NO_CREDENTIALS: HRESULT = 0x8009030E; -pub const SEC_E_MESSAGE_ALTERED: HRESULT = 0x8009030F; -pub const SEC_E_OUT_OF_SEQUENCE: HRESULT = 0x80090310; -pub const SEC_E_NO_AUTHENTICATING_AUTHORITY: HRESULT = 0x80090311; -pub const SEC_I_CONTINUE_NEEDED: HRESULT = 0x00090312; -pub const SEC_I_COMPLETE_NEEDED: HRESULT = 0x00090313; -pub const SEC_I_COMPLETE_AND_CONTINUE: HRESULT = 0x00090314; -pub const SEC_I_LOCAL_LOGON: HRESULT = 0x00090315; -pub const SEC_E_BAD_PKGID: HRESULT = 0x80090316; -pub const SEC_E_CONTEXT_EXPIRED: HRESULT = 0x80090317; -pub const SEC_I_CONTEXT_EXPIRED: HRESULT = 0x00090317; -pub const SEC_E_INCOMPLETE_MESSAGE: HRESULT = 0x80090318; -pub const SEC_E_INCOMPLETE_CREDENTIALS: HRESULT = 0x80090320; -pub const SEC_E_BUFFER_TOO_SMALL: HRESULT = 0x80090321; -pub const SEC_I_INCOMPLETE_CREDENTIALS: HRESULT = 0x00090320; -pub const SEC_I_RENEGOTIATE: HRESULT = 0x00090321; -pub const SEC_E_WRONG_PRINCIPAL: HRESULT = 0x80090322; -pub const SEC_I_NO_LSA_CONTEXT: HRESULT = 0x00090323; -pub const SEC_E_TIME_SKEW: HRESULT = 0x80090324; -pub const SEC_E_UNTRUSTED_ROOT: HRESULT = 0x80090325; -pub const SEC_E_ILLEGAL_MESSAGE: HRESULT = 0x80090326; -pub const SEC_E_CERT_UNKNOWN: HRESULT = 0x80090327; -pub const SEC_E_CERT_EXPIRED: HRESULT = 0x80090328; -pub const SEC_E_ENCRYPT_FAILURE: HRESULT = 0x80090329; -pub const SEC_E_DECRYPT_FAILURE: HRESULT = 0x80090330; -pub const SEC_E_ALGORITHM_MISMATCH: HRESULT = 0x80090331; -pub const SEC_E_SECURITY_QOS_FAILED: HRESULT = 0x80090332; -pub const SEC_E_UNFINISHED_CONTEXT_DELETED: HRESULT = 0x80090333; -pub const SEC_E_NO_TGT_REPLY: HRESULT = 0x80090334; -pub const SEC_E_NO_IP_ADDRESSES: HRESULT = 0x80090335; -pub const SEC_E_WRONG_CREDENTIAL_HANDLE: HRESULT = 0x80090336; -pub const SEC_E_CRYPTO_SYSTEM_INVALID: HRESULT = 0x80090337; -pub const SEC_E_MAX_REFERRALS_EXCEEDED: HRESULT = 0x80090338; -pub const SEC_E_MUST_BE_KDC: HRESULT = 0x80090339; -pub const SEC_E_STRONG_CRYPTO_NOT_SUPPORTED: HRESULT = 0x8009033A; -pub const SEC_E_TOO_MANY_PRINCIPALS: HRESULT = 0x8009033B; -pub const SEC_E_NO_PA_DATA: HRESULT = 0x8009033C; -pub const SEC_E_PKINIT_NAME_MISMATCH: HRESULT = 0x8009033D; -pub const SEC_E_SMARTCARD_LOGON_REQUIRED: HRESULT = 0x8009033E; -pub const SEC_E_SHUTDOWN_IN_PROGRESS: HRESULT = 0x8009033F; -pub const SEC_E_KDC_INVALID_REQUEST: HRESULT = 0x80090340; -pub const SEC_E_KDC_UNABLE_TO_REFER: HRESULT = 0x80090341; -pub const SEC_E_KDC_UNKNOWN_ETYPE: HRESULT = 0x80090342; -pub const SEC_E_UNSUPPORTED_PREAUTH: HRESULT = 0x80090343; -pub const SEC_E_DELEGATION_REQUIRED: HRESULT = 0x80090345; -pub const SEC_E_BAD_BINDINGS: HRESULT = 0x80090346; -pub const SEC_E_MULTIPLE_ACCOUNTS: HRESULT = 0x80090347; -pub const SEC_E_NO_KERB_KEY: HRESULT = 0x80090348; -pub const SEC_E_CERT_WRONG_USAGE: HRESULT = 0x80090349; -pub const SEC_E_DOWNGRADE_DETECTED: HRESULT = 0x80090350; -pub const SEC_E_SMARTCARD_CERT_REVOKED: HRESULT = 0x80090351; -pub const SEC_E_ISSUING_CA_UNTRUSTED: HRESULT = 0x80090352; -pub const SEC_E_REVOCATION_OFFLINE_C: HRESULT = 0x80090353; -pub const SEC_E_PKINIT_CLIENT_FAILURE: HRESULT = 0x80090354; -pub const SEC_E_SMARTCARD_CERT_EXPIRED: HRESULT = 0x80090355; -pub const SEC_E_NO_S4U_PROT_SUPPORT: HRESULT = 0x80090356; -pub const SEC_E_CROSSREALM_DELEGATION_FAILURE: HRESULT = 0x80090357; -pub const SEC_E_REVOCATION_OFFLINE_KDC: HRESULT = 0x80090358; -pub const SEC_E_ISSUING_CA_UNTRUSTED_KDC: HRESULT = 0x80090359; -pub const SEC_E_KDC_CERT_EXPIRED: HRESULT = 0x8009035A; -pub const SEC_E_KDC_CERT_REVOKED: HRESULT = 0x8009035B; -pub const SEC_I_SIGNATURE_NEEDED: HRESULT = 0x0009035C; -pub const SEC_E_INVALID_PARAMETER: HRESULT = 0x8009035D; -pub const SEC_E_DELEGATION_POLICY: HRESULT = 0x8009035E; -pub const SEC_E_POLICY_NLTM_ONLY: HRESULT = 0x8009035F; -pub const SEC_I_NO_RENEGOTIATION: HRESULT = 0x00090360; -pub const SEC_E_NO_CONTEXT: HRESULT = 0x80090361; -pub const SEC_E_PKU2U_CERT_FAILURE: HRESULT = 0x80090362; -pub const SEC_E_MUTUAL_AUTH_FAILED: HRESULT = 0x80090363; -pub const SEC_I_MESSAGE_FRAGMENT: HRESULT = 0x00090364; -pub const SEC_E_ONLY_HTTPS_ALLOWED: HRESULT = 0x80090365; -pub const SEC_I_CONTINUE_NEEDED_MESSAGE_OK: HRESULT = 0x00090366; -pub const SEC_E_APPLICATION_PROTOCOL_MISMATCH: HRESULT = 0x80090367; -pub const SEC_E_NO_SPM: HRESULT = SEC_E_INTERNAL_ERROR; -pub const SEC_E_NOT_SUPPORTED: HRESULT = SEC_E_UNSUPPORTED_FUNCTION; -pub const CRYPT_E_MSG_ERROR: HRESULT = 0x80091001; -pub const CRYPT_E_UNKNOWN_ALGO: HRESULT = 0x80091002; -pub const CRYPT_E_OID_FORMAT: HRESULT = 0x80091003; -pub const CRYPT_E_INVALID_MSG_TYPE: HRESULT = 0x80091004; -pub const CRYPT_E_UNEXPECTED_ENCODING: HRESULT = 0x80091005; -pub const CRYPT_E_AUTH_ATTR_MISSING: HRESULT = 0x80091006; -pub const CRYPT_E_HASH_VALUE: HRESULT = 0x80091007; -pub const CRYPT_E_INVALID_INDEX: HRESULT = 0x80091008; -pub const CRYPT_E_ALREADY_DECRYPTED: HRESULT = 0x80091009; -pub const CRYPT_E_NOT_DECRYPTED: HRESULT = 0x8009100A; -pub const CRYPT_E_RECIPIENT_NOT_FOUND: HRESULT = 0x8009100B; -pub const CRYPT_E_CONTROL_TYPE: HRESULT = 0x8009100C; -pub const CRYPT_E_ISSUER_SERIALNUMBER: HRESULT = 0x8009100D; -pub const CRYPT_E_SIGNER_NOT_FOUND: HRESULT = 0x8009100E; -pub const CRYPT_E_ATTRIBUTES_MISSING: HRESULT = 0x8009100F; -pub const CRYPT_E_STREAM_MSG_NOT_READY: HRESULT = 0x80091010; -pub const CRYPT_E_STREAM_INSUFFICIENT_DATA: HRESULT = 0x80091011; -pub const CRYPT_I_NEW_PROTECTION_REQUIRED: HRESULT = 0x00091012; -pub const CRYPT_E_BAD_LEN: HRESULT = 0x80092001; -pub const CRYPT_E_BAD_ENCODE: HRESULT = 0x80092002; -pub const CRYPT_E_FILE_ERROR: HRESULT = 0x80092003; -pub const CRYPT_E_NOT_FOUND: HRESULT = 0x80092004; -pub const CRYPT_E_EXISTS: HRESULT = 0x80092005; -pub const CRYPT_E_NO_PROVIDER: HRESULT = 0x80092006; -pub const CRYPT_E_SELF_SIGNED: HRESULT = 0x80092007; -pub const CRYPT_E_DELETED_PREV: HRESULT = 0x80092008; -pub const CRYPT_E_NO_MATCH: HRESULT = 0x80092009; -pub const CRYPT_E_UNEXPECTED_MSG_TYPE: HRESULT = 0x8009200A; -pub const CRYPT_E_NO_KEY_PROPERTY: HRESULT = 0x8009200B; -pub const CRYPT_E_NO_DECRYPT_CERT: HRESULT = 0x8009200C; -pub const CRYPT_E_BAD_MSG: HRESULT = 0x8009200D; -pub const CRYPT_E_NO_SIGNER: HRESULT = 0x8009200E; -pub const CRYPT_E_PENDING_CLOSE: HRESULT = 0x8009200F; -pub const CRYPT_E_REVOKED: HRESULT = 0x80092010; -pub const CRYPT_E_NO_REVOCATION_DLL: HRESULT = 0x80092011; -pub const CRYPT_E_NO_REVOCATION_CHECK: HRESULT = 0x80092012; -pub const CRYPT_E_REVOCATION_OFFLINE: HRESULT = 0x80092013; -pub const CRYPT_E_NOT_IN_REVOCATION_DATABASE: HRESULT = 0x80092014; -pub const CRYPT_E_INVALID_NUMERIC_STRING: HRESULT = 0x80092020; -pub const CRYPT_E_INVALID_PRINTABLE_STRING: HRESULT = 0x80092021; -pub const CRYPT_E_INVALID_IA5_STRING: HRESULT = 0x80092022; -pub const CRYPT_E_INVALID_X500_STRING: HRESULT = 0x80092023; -pub const CRYPT_E_NOT_CHAR_STRING: HRESULT = 0x80092024; -pub const CRYPT_E_FILERESIZED: HRESULT = 0x80092025; -pub const CRYPT_E_SECURITY_SETTINGS: HRESULT = 0x80092026; -pub const CRYPT_E_NO_VERIFY_USAGE_DLL: HRESULT = 0x80092027; -pub const CRYPT_E_NO_VERIFY_USAGE_CHECK: HRESULT = 0x80092028; -pub const CRYPT_E_VERIFY_USAGE_OFFLINE: HRESULT = 0x80092029; -pub const CRYPT_E_NOT_IN_CTL: HRESULT = 0x8009202A; -pub const CRYPT_E_NO_TRUSTED_SIGNER: HRESULT = 0x8009202B; -pub const CRYPT_E_MISSING_PUBKEY_PARA: HRESULT = 0x8009202C; -pub const CRYPT_E_OBJECT_LOCATOR_OBJECT_NOT_FOUND: HRESULT = 0x8009202D; -pub const CRYPT_E_OSS_ERROR: HRESULT = 0x80093000; -pub const OSS_MORE_BUF: HRESULT = 0x80093001; -pub const OSS_NEGATIVE_UINTEGER: HRESULT = 0x80093002; -pub const OSS_PDU_RANGE: HRESULT = 0x80093003; -pub const OSS_MORE_INPUT: HRESULT = 0x80093004; -pub const OSS_DATA_ERROR: HRESULT = 0x80093005; -pub const OSS_BAD_ARG: HRESULT = 0x80093006; -pub const OSS_BAD_VERSION: HRESULT = 0x80093007; -pub const OSS_OUT_MEMORY: HRESULT = 0x80093008; -pub const OSS_PDU_MISMATCH: HRESULT = 0x80093009; -pub const OSS_LIMITED: HRESULT = 0x8009300A; -pub const OSS_BAD_PTR: HRESULT = 0x8009300B; -pub const OSS_BAD_TIME: HRESULT = 0x8009300C; -pub const OSS_INDEFINITE_NOT_SUPPORTED: HRESULT = 0x8009300D; -pub const OSS_MEM_ERROR: HRESULT = 0x8009300E; -pub const OSS_BAD_TABLE: HRESULT = 0x8009300F; -pub const OSS_TOO_LONG: HRESULT = 0x80093010; -pub const OSS_CONSTRAINT_VIOLATED: HRESULT = 0x80093011; -pub const OSS_FATAL_ERROR: HRESULT = 0x80093012; -pub const OSS_ACCESS_SERIALIZATION_ERROR: HRESULT = 0x80093013; -pub const OSS_NULL_TBL: HRESULT = 0x80093014; -pub const OSS_NULL_FCN: HRESULT = 0x80093015; -pub const OSS_BAD_ENCRULES: HRESULT = 0x80093016; -pub const OSS_UNAVAIL_ENCRULES: HRESULT = 0x80093017; -pub const OSS_CANT_OPEN_TRACE_WINDOW: HRESULT = 0x80093018; -pub const OSS_UNIMPLEMENTED: HRESULT = 0x80093019; -pub const OSS_OID_DLL_NOT_LINKED: HRESULT = 0x8009301A; -pub const OSS_CANT_OPEN_TRACE_FILE: HRESULT = 0x8009301B; -pub const OSS_TRACE_FILE_ALREADY_OPEN: HRESULT = 0x8009301C; -pub const OSS_TABLE_MISMATCH: HRESULT = 0x8009301D; -pub const OSS_TYPE_NOT_SUPPORTED: HRESULT = 0x8009301E; -pub const OSS_REAL_DLL_NOT_LINKED: HRESULT = 0x8009301F; -pub const OSS_REAL_CODE_NOT_LINKED: HRESULT = 0x80093020; -pub const OSS_OUT_OF_RANGE: HRESULT = 0x80093021; -pub const OSS_COPIER_DLL_NOT_LINKED: HRESULT = 0x80093022; -pub const OSS_CONSTRAINT_DLL_NOT_LINKED: HRESULT = 0x80093023; -pub const OSS_COMPARATOR_DLL_NOT_LINKED: HRESULT = 0x80093024; -pub const OSS_COMPARATOR_CODE_NOT_LINKED: HRESULT = 0x80093025; -pub const OSS_MEM_MGR_DLL_NOT_LINKED: HRESULT = 0x80093026; -pub const OSS_PDV_DLL_NOT_LINKED: HRESULT = 0x80093027; -pub const OSS_PDV_CODE_NOT_LINKED: HRESULT = 0x80093028; -pub const OSS_API_DLL_NOT_LINKED: HRESULT = 0x80093029; -pub const OSS_BERDER_DLL_NOT_LINKED: HRESULT = 0x8009302A; -pub const OSS_PER_DLL_NOT_LINKED: HRESULT = 0x8009302B; -pub const OSS_OPEN_TYPE_ERROR: HRESULT = 0x8009302C; -pub const OSS_MUTEX_NOT_CREATED: HRESULT = 0x8009302D; -pub const OSS_CANT_CLOSE_TRACE_FILE: HRESULT = 0x8009302E; -pub const CRYPT_E_ASN1_ERROR: HRESULT = 0x80093100; -pub const CRYPT_E_ASN1_INTERNAL: HRESULT = 0x80093101; -pub const CRYPT_E_ASN1_EOD: HRESULT = 0x80093102; -pub const CRYPT_E_ASN1_CORRUPT: HRESULT = 0x80093103; -pub const CRYPT_E_ASN1_LARGE: HRESULT = 0x80093104; -pub const CRYPT_E_ASN1_CONSTRAINT: HRESULT = 0x80093105; -pub const CRYPT_E_ASN1_MEMORY: HRESULT = 0x80093106; -pub const CRYPT_E_ASN1_OVERFLOW: HRESULT = 0x80093107; -pub const CRYPT_E_ASN1_BADPDU: HRESULT = 0x80093108; -pub const CRYPT_E_ASN1_BADARGS: HRESULT = 0x80093109; -pub const CRYPT_E_ASN1_BADREAL: HRESULT = 0x8009310A; -pub const CRYPT_E_ASN1_BADTAG: HRESULT = 0x8009310B; -pub const CRYPT_E_ASN1_CHOICE: HRESULT = 0x8009310C; -pub const CRYPT_E_ASN1_RULE: HRESULT = 0x8009310D; -pub const CRYPT_E_ASN1_UTF8: HRESULT = 0x8009310E; -pub const CRYPT_E_ASN1_PDU_TYPE: HRESULT = 0x80093133; -pub const CRYPT_E_ASN1_NYI: HRESULT = 0x80093134; -pub const CRYPT_E_ASN1_EXTENDED: HRESULT = 0x80093201; -pub const CRYPT_E_ASN1_NOEOD: HRESULT = 0x80093202; -pub const CERTSRV_E_BAD_REQUESTSUBJECT: HRESULT = 0x80094001; -pub const CERTSRV_E_NO_REQUEST: HRESULT = 0x80094002; -pub const CERTSRV_E_BAD_REQUESTSTATUS: HRESULT = 0x80094003; -pub const CERTSRV_E_PROPERTY_EMPTY: HRESULT = 0x80094004; -pub const CERTSRV_E_INVALID_CA_CERTIFICATE: HRESULT = 0x80094005; -pub const CERTSRV_E_SERVER_SUSPENDED: HRESULT = 0x80094006; -pub const CERTSRV_E_ENCODING_LENGTH: HRESULT = 0x80094007; -pub const CERTSRV_E_ROLECONFLICT: HRESULT = 0x80094008; -pub const CERTSRV_E_RESTRICTEDOFFICER: HRESULT = 0x80094009; -pub const CERTSRV_E_KEY_ARCHIVAL_NOT_CONFIGURED: HRESULT = 0x8009400A; -pub const CERTSRV_E_NO_VALID_KRA: HRESULT = 0x8009400B; -pub const CERTSRV_E_BAD_REQUEST_KEY_ARCHIVAL: HRESULT = 0x8009400C; -pub const CERTSRV_E_NO_CAADMIN_DEFINED: HRESULT = 0x8009400D; -pub const CERTSRV_E_BAD_RENEWAL_CERT_ATTRIBUTE: HRESULT = 0x8009400E; -pub const CERTSRV_E_NO_DB_SESSIONS: HRESULT = 0x8009400F; -pub const CERTSRV_E_ALIGNMENT_FAULT: HRESULT = 0x80094010; -pub const CERTSRV_E_ENROLL_DENIED: HRESULT = 0x80094011; -pub const CERTSRV_E_TEMPLATE_DENIED: HRESULT = 0x80094012; -pub const CERTSRV_E_DOWNLEVEL_DC_SSL_OR_UPGRADE: HRESULT = 0x80094013; -pub const CERTSRV_E_ADMIN_DENIED_REQUEST: HRESULT = 0x80094014; -pub const CERTSRV_E_NO_POLICY_SERVER: HRESULT = 0x80094015; -pub const CERTSRV_E_WEAK_SIGNATURE_OR_KEY: HRESULT = 0x80094016; -pub const CERTSRV_E_KEY_ATTESTATION_NOT_SUPPORTED: HRESULT = 0x80094017; -pub const CERTSRV_E_ENCRYPTION_CERT_REQUIRED: HRESULT = 0x80094018; -pub const CERTSRV_E_UNSUPPORTED_CERT_TYPE: HRESULT = 0x80094800; -pub const CERTSRV_E_NO_CERT_TYPE: HRESULT = 0x80094801; -pub const CERTSRV_E_TEMPLATE_CONFLICT: HRESULT = 0x80094802; -pub const CERTSRV_E_SUBJECT_ALT_NAME_REQUIRED: HRESULT = 0x80094803; -pub const CERTSRV_E_ARCHIVED_KEY_REQUIRED: HRESULT = 0x80094804; -pub const CERTSRV_E_SMIME_REQUIRED: HRESULT = 0x80094805; -pub const CERTSRV_E_BAD_RENEWAL_SUBJECT: HRESULT = 0x80094806; -pub const CERTSRV_E_BAD_TEMPLATE_VERSION: HRESULT = 0x80094807; -pub const CERTSRV_E_TEMPLATE_POLICY_REQUIRED: HRESULT = 0x80094808; -pub const CERTSRV_E_SIGNATURE_POLICY_REQUIRED: HRESULT = 0x80094809; -pub const CERTSRV_E_SIGNATURE_COUNT: HRESULT = 0x8009480A; -pub const CERTSRV_E_SIGNATURE_REJECTED: HRESULT = 0x8009480B; -pub const CERTSRV_E_ISSUANCE_POLICY_REQUIRED: HRESULT = 0x8009480C; -pub const CERTSRV_E_SUBJECT_UPN_REQUIRED: HRESULT = 0x8009480D; -pub const CERTSRV_E_SUBJECT_DIRECTORY_GUID_REQUIRED: HRESULT = 0x8009480E; -pub const CERTSRV_E_SUBJECT_DNS_REQUIRED: HRESULT = 0x8009480F; -pub const CERTSRV_E_ARCHIVED_KEY_UNEXPECTED: HRESULT = 0x80094810; -pub const CERTSRV_E_KEY_LENGTH: HRESULT = 0x80094811; -pub const CERTSRV_E_SUBJECT_EMAIL_REQUIRED: HRESULT = 0x80094812; -pub const CERTSRV_E_UNKNOWN_CERT_TYPE: HRESULT = 0x80094813; -pub const CERTSRV_E_CERT_TYPE_OVERLAP: HRESULT = 0x80094814; -pub const CERTSRV_E_TOO_MANY_SIGNATURES: HRESULT = 0x80094815; -pub const CERTSRV_E_RENEWAL_BAD_PUBLIC_KEY: HRESULT = 0x80094816; -pub const CERTSRV_E_INVALID_EK: HRESULT = 0x80094817; -pub const CERTSRV_E_INVALID_IDBINDING: HRESULT = 0x80094818; -pub const CERTSRV_E_INVALID_ATTESTATION: HRESULT = 0x80094819; -pub const CERTSRV_E_KEY_ATTESTATION: HRESULT = 0x8009481A; -pub const CERTSRV_E_CORRUPT_KEY_ATTESTATION: HRESULT = 0x8009481B; -pub const CERTSRV_E_EXPIRED_CHALLENGE: HRESULT = 0x8009481C; -pub const CERTSRV_E_INVALID_RESPONSE: HRESULT = 0x8009481D; -pub const CERTSRV_E_INVALID_REQUESTID: HRESULT = 0x8009481E; -pub const XENROLL_E_KEY_NOT_EXPORTABLE: HRESULT = 0x80095000; -pub const XENROLL_E_CANNOT_ADD_ROOT_CERT: HRESULT = 0x80095001; -pub const XENROLL_E_RESPONSE_KA_HASH_NOT_FOUND: HRESULT = 0x80095002; -pub const XENROLL_E_RESPONSE_UNEXPECTED_KA_HASH: HRESULT = 0x80095003; -pub const XENROLL_E_RESPONSE_KA_HASH_MISMATCH: HRESULT = 0x80095004; -pub const XENROLL_E_KEYSPEC_SMIME_MISMATCH: HRESULT = 0x80095005; -pub const TRUST_E_SYSTEM_ERROR: HRESULT = 0x80096001; -pub const TRUST_E_NO_SIGNER_CERT: HRESULT = 0x80096002; -pub const TRUST_E_COUNTER_SIGNER: HRESULT = 0x80096003; -pub const TRUST_E_CERT_SIGNATURE: HRESULT = 0x80096004; -pub const TRUST_E_TIME_STAMP: HRESULT = 0x80096005; -pub const TRUST_E_BAD_DIGEST: HRESULT = 0x80096010; -pub const TRUST_E_BASIC_CONSTRAINTS: HRESULT = 0x80096019; -pub const TRUST_E_FINANCIAL_CRITERIA: HRESULT = 0x8009601E; -pub const MSSIPOTF_E_OUTOFMEMRANGE: HRESULT = 0x80097001; -pub const MSSIPOTF_E_CANTGETOBJECT: HRESULT = 0x80097002; -pub const MSSIPOTF_E_NOHEADTABLE: HRESULT = 0x80097003; -pub const MSSIPOTF_E_BAD_MAGICNUMBER: HRESULT = 0x80097004; -pub const MSSIPOTF_E_BAD_OFFSET_TABLE: HRESULT = 0x80097005; -pub const MSSIPOTF_E_TABLE_TAGORDER: HRESULT = 0x80097006; -pub const MSSIPOTF_E_TABLE_LONGWORD: HRESULT = 0x80097007; -pub const MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT: HRESULT = 0x80097008; -pub const MSSIPOTF_E_TABLES_OVERLAP: HRESULT = 0x80097009; -pub const MSSIPOTF_E_TABLE_PADBYTES: HRESULT = 0x8009700A; -pub const MSSIPOTF_E_FILETOOSMALL: HRESULT = 0x8009700B; -pub const MSSIPOTF_E_TABLE_CHECKSUM: HRESULT = 0x8009700C; -pub const MSSIPOTF_E_FILE_CHECKSUM: HRESULT = 0x8009700D; -pub const MSSIPOTF_E_FAILED_POLICY: HRESULT = 0x80097010; -pub const MSSIPOTF_E_FAILED_HINTS_CHECK: HRESULT = 0x80097011; -pub const MSSIPOTF_E_NOT_OPENTYPE: HRESULT = 0x80097012; -pub const MSSIPOTF_E_FILE: HRESULT = 0x80097013; -pub const MSSIPOTF_E_CRYPT: HRESULT = 0x80097014; -pub const MSSIPOTF_E_BADVERSION: HRESULT = 0x80097015; -pub const MSSIPOTF_E_DSIG_STRUCTURE: HRESULT = 0x80097016; -pub const MSSIPOTF_E_PCONST_CHECK: HRESULT = 0x80097017; -pub const MSSIPOTF_E_STRUCTURE: HRESULT = 0x80097018; -pub const ERROR_CRED_REQUIRES_CONFIRMATION: HRESULT = 0x80097019; -pub const NTE_OP_OK: HRESULT = 0; -pub const TRUST_E_PROVIDER_UNKNOWN: HRESULT = 0x800B0001; -pub const TRUST_E_ACTION_UNKNOWN: HRESULT = 0x800B0002; -pub const TRUST_E_SUBJECT_FORM_UNKNOWN: HRESULT = 0x800B0003; -pub const TRUST_E_SUBJECT_NOT_TRUSTED: HRESULT = 0x800B0004; -pub const DIGSIG_E_ENCODE: HRESULT = 0x800B0005; -pub const DIGSIG_E_DECODE: HRESULT = 0x800B0006; -pub const DIGSIG_E_EXTENSIBILITY: HRESULT = 0x800B0007; -pub const DIGSIG_E_CRYPTO: HRESULT = 0x800B0008; -pub const PERSIST_E_SIZEDEFINITE: HRESULT = 0x800B0009; -pub const PERSIST_E_SIZEINDEFINITE: HRESULT = 0x800B000A; -pub const PERSIST_E_NOTSELFSIZING: HRESULT = 0x800B000B; -pub const TRUST_E_NOSIGNATURE: HRESULT = 0x800B0100; -pub const CERT_E_EXPIRED: HRESULT = 0x800B0101; -pub const CERT_E_VALIDITYPERIODNESTING: HRESULT = 0x800B0102; -pub const CERT_E_ROLE: HRESULT = 0x800B0103; -pub const CERT_E_PATHLENCONST: HRESULT = 0x800B0104; -pub const CERT_E_CRITICAL: HRESULT = 0x800B0105; -pub const CERT_E_PURPOSE: HRESULT = 0x800B0106; -pub const CERT_E_ISSUERCHAINING: HRESULT = 0x800B0107; -pub const CERT_E_MALFORMED: HRESULT = 0x800B0108; -pub const CERT_E_UNTRUSTEDROOT: HRESULT = 0x800B0109; -pub const CERT_E_CHAINING: HRESULT = 0x800B010A; -pub const TRUST_E_FAIL: HRESULT = 0x800B010B; -pub const CERT_E_REVOKED: HRESULT = 0x800B010C; -pub const CERT_E_UNTRUSTEDTESTROOT: HRESULT = 0x800B010D; -pub const CERT_E_REVOCATION_FAILURE: HRESULT = 0x800B010E; -pub const CERT_E_CN_NO_MATCH: HRESULT = 0x800B010F; -pub const CERT_E_WRONG_USAGE: HRESULT = 0x800B0110; -pub const TRUST_E_EXPLICIT_DISTRUST: HRESULT = 0x800B0111; -pub const CERT_E_UNTRUSTEDCA: HRESULT = 0x800B0112; -pub const CERT_E_INVALID_POLICY: HRESULT = 0x800B0113; -pub const CERT_E_INVALID_NAME: HRESULT = 0x800B0114; -pub const SPAPI_E_EXPECTED_SECTION_NAME: HRESULT = 0x800F0000; -pub const SPAPI_E_BAD_SECTION_NAME_LINE: HRESULT = 0x800F0001; -pub const SPAPI_E_SECTION_NAME_TOO_LONG: HRESULT = 0x800F0002; -pub const SPAPI_E_GENERAL_SYNTAX: HRESULT = 0x800F0003; -pub const SPAPI_E_WRONG_INF_STYLE: HRESULT = 0x800F0100; -pub const SPAPI_E_SECTION_NOT_FOUND: HRESULT = 0x800F0101; -pub const SPAPI_E_LINE_NOT_FOUND: HRESULT = 0x800F0102; -pub const SPAPI_E_NO_BACKUP: HRESULT = 0x800F0103; -pub const SPAPI_E_NO_ASSOCIATED_CLASS: HRESULT = 0x800F0200; -pub const SPAPI_E_CLASS_MISMATCH: HRESULT = 0x800F0201; -pub const SPAPI_E_DUPLICATE_FOUND: HRESULT = 0x800F0202; -pub const SPAPI_E_NO_DRIVER_SELECTED: HRESULT = 0x800F0203; -pub const SPAPI_E_KEY_DOES_NOT_EXIST: HRESULT = 0x800F0204; -pub const SPAPI_E_INVALID_DEVINST_NAME: HRESULT = 0x800F0205; -pub const SPAPI_E_INVALID_CLASS: HRESULT = 0x800F0206; -pub const SPAPI_E_DEVINST_ALREADY_EXISTS: HRESULT = 0x800F0207; -pub const SPAPI_E_DEVINFO_NOT_REGISTERED: HRESULT = 0x800F0208; -pub const SPAPI_E_INVALID_REG_PROPERTY: HRESULT = 0x800F0209; -pub const SPAPI_E_NO_INF: HRESULT = 0x800F020A; -pub const SPAPI_E_NO_SUCH_DEVINST: HRESULT = 0x800F020B; -pub const SPAPI_E_CANT_LOAD_CLASS_ICON: HRESULT = 0x800F020C; -pub const SPAPI_E_INVALID_CLASS_INSTALLER: HRESULT = 0x800F020D; -pub const SPAPI_E_DI_DO_DEFAULT: HRESULT = 0x800F020E; -pub const SPAPI_E_DI_NOFILECOPY: HRESULT = 0x800F020F; -pub const SPAPI_E_INVALID_HWPROFILE: HRESULT = 0x800F0210; -pub const SPAPI_E_NO_DEVICE_SELECTED: HRESULT = 0x800F0211; -pub const SPAPI_E_DEVINFO_LIST_LOCKED: HRESULT = 0x800F0212; -pub const SPAPI_E_DEVINFO_DATA_LOCKED: HRESULT = 0x800F0213; -pub const SPAPI_E_DI_BAD_PATH: HRESULT = 0x800F0214; -pub const SPAPI_E_NO_CLASSINSTALL_PARAMS: HRESULT = 0x800F0215; -pub const SPAPI_E_FILEQUEUE_LOCKED: HRESULT = 0x800F0216; -pub const SPAPI_E_BAD_SERVICE_INSTALLSECT: HRESULT = 0x800F0217; -pub const SPAPI_E_NO_CLASS_DRIVER_LIST: HRESULT = 0x800F0218; -pub const SPAPI_E_NO_ASSOCIATED_SERVICE: HRESULT = 0x800F0219; -pub const SPAPI_E_NO_DEFAULT_DEVICE_INTERFACE: HRESULT = 0x800F021A; -pub const SPAPI_E_DEVICE_INTERFACE_ACTIVE: HRESULT = 0x800F021B; -pub const SPAPI_E_DEVICE_INTERFACE_REMOVED: HRESULT = 0x800F021C; -pub const SPAPI_E_BAD_INTERFACE_INSTALLSECT: HRESULT = 0x800F021D; -pub const SPAPI_E_NO_SUCH_INTERFACE_CLASS: HRESULT = 0x800F021E; -pub const SPAPI_E_INVALID_REFERENCE_STRING: HRESULT = 0x800F021F; -pub const SPAPI_E_INVALID_MACHINENAME: HRESULT = 0x800F0220; -pub const SPAPI_E_REMOTE_COMM_FAILURE: HRESULT = 0x800F0221; -pub const SPAPI_E_MACHINE_UNAVAILABLE: HRESULT = 0x800F0222; -pub const SPAPI_E_NO_CONFIGMGR_SERVICES: HRESULT = 0x800F0223; -pub const SPAPI_E_INVALID_PROPPAGE_PROVIDER: HRESULT = 0x800F0224; -pub const SPAPI_E_NO_SUCH_DEVICE_INTERFACE: HRESULT = 0x800F0225; -pub const SPAPI_E_DI_POSTPROCESSING_REQUIRED: HRESULT = 0x800F0226; -pub const SPAPI_E_INVALID_COINSTALLER: HRESULT = 0x800F0227; -pub const SPAPI_E_NO_COMPAT_DRIVERS: HRESULT = 0x800F0228; -pub const SPAPI_E_NO_DEVICE_ICON: HRESULT = 0x800F0229; -pub const SPAPI_E_INVALID_INF_LOGCONFIG: HRESULT = 0x800F022A; -pub const SPAPI_E_DI_DONT_INSTALL: HRESULT = 0x800F022B; -pub const SPAPI_E_INVALID_FILTER_DRIVER: HRESULT = 0x800F022C; -pub const SPAPI_E_NON_WINDOWS_NT_DRIVER: HRESULT = 0x800F022D; -pub const SPAPI_E_NON_WINDOWS_DRIVER: HRESULT = 0x800F022E; -pub const SPAPI_E_NO_CATALOG_FOR_OEM_INF: HRESULT = 0x800F022F; -pub const SPAPI_E_DEVINSTALL_QUEUE_NONNATIVE: HRESULT = 0x800F0230; -pub const SPAPI_E_NOT_DISABLEABLE: HRESULT = 0x800F0231; -pub const SPAPI_E_CANT_REMOVE_DEVINST: HRESULT = 0x800F0232; -pub const SPAPI_E_INVALID_TARGET: HRESULT = 0x800F0233; -pub const SPAPI_E_DRIVER_NONNATIVE: HRESULT = 0x800F0234; -pub const SPAPI_E_IN_WOW64: HRESULT = 0x800F0235; -pub const SPAPI_E_SET_SYSTEM_RESTORE_POINT: HRESULT = 0x800F0236; -pub const SPAPI_E_INCORRECTLY_COPIED_INF: HRESULT = 0x800F0237; -pub const SPAPI_E_SCE_DISABLED: HRESULT = 0x800F0238; -pub const SPAPI_E_UNKNOWN_EXCEPTION: HRESULT = 0x800F0239; -pub const SPAPI_E_PNP_REGISTRY_ERROR: HRESULT = 0x800F023A; -pub const SPAPI_E_REMOTE_REQUEST_UNSUPPORTED: HRESULT = 0x800F023B; -pub const SPAPI_E_NOT_AN_INSTALLED_OEM_INF: HRESULT = 0x800F023C; -pub const SPAPI_E_INF_IN_USE_BY_DEVICES: HRESULT = 0x800F023D; -pub const SPAPI_E_DI_FUNCTION_OBSOLETE: HRESULT = 0x800F023E; -pub const SPAPI_E_NO_AUTHENTICODE_CATALOG: HRESULT = 0x800F023F; -pub const SPAPI_E_AUTHENTICODE_DISALLOWED: HRESULT = 0x800F0240; -pub const SPAPI_E_AUTHENTICODE_TRUSTED_PUBLISHER: HRESULT = 0x800F0241; -pub const SPAPI_E_AUTHENTICODE_TRUST_NOT_ESTABLISHED: HRESULT = 0x800F0242; -pub const SPAPI_E_AUTHENTICODE_PUBLISHER_NOT_TRUSTED: HRESULT = 0x800F0243; -pub const SPAPI_E_SIGNATURE_OSATTRIBUTE_MISMATCH: HRESULT = 0x800F0244; -pub const SPAPI_E_ONLY_VALIDATE_VIA_AUTHENTICODE: HRESULT = 0x800F0245; -pub const SPAPI_E_DEVICE_INSTALLER_NOT_READY: HRESULT = 0x800F0246; -pub const SPAPI_E_DRIVER_STORE_ADD_FAILED: HRESULT = 0x800F0247; -pub const SPAPI_E_DEVICE_INSTALL_BLOCKED: HRESULT = 0x800F0248; -pub const SPAPI_E_DRIVER_INSTALL_BLOCKED: HRESULT = 0x800F0249; -pub const SPAPI_E_WRONG_INF_TYPE: HRESULT = 0x800F024A; -pub const SPAPI_E_FILE_HASH_NOT_IN_CATALOG: HRESULT = 0x800F024B; -pub const SPAPI_E_DRIVER_STORE_DELETE_FAILED: HRESULT = 0x800F024C; -pub const SPAPI_E_UNRECOVERABLE_STACK_OVERFLOW: HRESULT = 0x800F0300; -pub const SPAPI_E_ERROR_NOT_INSTALLED: HRESULT = 0x800F1000; -pub const SCARD_S_SUCCESS: HRESULT = NO_ERROR as i32; -pub const SCARD_F_INTERNAL_ERROR: HRESULT = 0x80100001; -pub const SCARD_E_CANCELLED: HRESULT = 0x80100002; -pub const SCARD_E_INVALID_HANDLE: HRESULT = 0x80100003; -pub const SCARD_E_INVALID_PARAMETER: HRESULT = 0x80100004; -pub const SCARD_E_INVALID_TARGET: HRESULT = 0x80100005; -pub const SCARD_E_NO_MEMORY: HRESULT = 0x80100006; -pub const SCARD_F_WAITED_TOO_LONG: HRESULT = 0x80100007; -pub const SCARD_E_INSUFFICIENT_BUFFER: HRESULT = 0x80100008; -pub const SCARD_E_UNKNOWN_READER: HRESULT = 0x80100009; -pub const SCARD_E_TIMEOUT: HRESULT = 0x8010000A; -pub const SCARD_E_SHARING_VIOLATION: HRESULT = 0x8010000B; -pub const SCARD_E_NO_SMARTCARD: HRESULT = 0x8010000C; -pub const SCARD_E_UNKNOWN_CARD: HRESULT = 0x8010000D; -pub const SCARD_E_CANT_DISPOSE: HRESULT = 0x8010000E; -pub const SCARD_E_PROTO_MISMATCH: HRESULT = 0x8010000F; -pub const SCARD_E_NOT_READY: HRESULT = 0x80100010; -pub const SCARD_E_INVALID_VALUE: HRESULT = 0x80100011; -pub const SCARD_E_SYSTEM_CANCELLED: HRESULT = 0x80100012; -pub const SCARD_F_COMM_ERROR: HRESULT = 0x80100013; -pub const SCARD_F_UNKNOWN_ERROR: HRESULT = 0x80100014; -pub const SCARD_E_INVALID_ATR: HRESULT = 0x80100015; -pub const SCARD_E_NOT_TRANSACTED: HRESULT = 0x80100016; -pub const SCARD_E_READER_UNAVAILABLE: HRESULT = 0x80100017; -pub const SCARD_P_SHUTDOWN: HRESULT = 0x80100018; -pub const SCARD_E_PCI_TOO_SMALL: HRESULT = 0x80100019; -pub const SCARD_E_READER_UNSUPPORTED: HRESULT = 0x8010001A; -pub const SCARD_E_DUPLICATE_READER: HRESULT = 0x8010001B; -pub const SCARD_E_CARD_UNSUPPORTED: HRESULT = 0x8010001C; -pub const SCARD_E_NO_SERVICE: HRESULT = 0x8010001D; -pub const SCARD_E_SERVICE_STOPPED: HRESULT = 0x8010001E; -pub const SCARD_E_UNEXPECTED: HRESULT = 0x8010001F; -pub const SCARD_E_ICC_INSTALLATION: HRESULT = 0x80100020; -pub const SCARD_E_ICC_CREATEORDER: HRESULT = 0x80100021; -pub const SCARD_E_UNSUPPORTED_FEATURE: HRESULT = 0x80100022; -pub const SCARD_E_DIR_NOT_FOUND: HRESULT = 0x80100023; -pub const SCARD_E_FILE_NOT_FOUND: HRESULT = 0x80100024; -pub const SCARD_E_NO_DIR: HRESULT = 0x80100025; -pub const SCARD_E_NO_FILE: HRESULT = 0x80100026; -pub const SCARD_E_NO_ACCESS: HRESULT = 0x80100027; -pub const SCARD_E_WRITE_TOO_MANY: HRESULT = 0x80100028; -pub const SCARD_E_BAD_SEEK: HRESULT = 0x80100029; -pub const SCARD_E_INVALID_CHV: HRESULT = 0x8010002A; -pub const SCARD_E_UNKNOWN_RES_MNG: HRESULT = 0x8010002B; -pub const SCARD_E_NO_SUCH_CERTIFICATE: HRESULT = 0x8010002C; -pub const SCARD_E_CERTIFICATE_UNAVAILABLE: HRESULT = 0x8010002D; -pub const SCARD_E_NO_READERS_AVAILABLE: HRESULT = 0x8010002E; -pub const SCARD_E_COMM_DATA_LOST: HRESULT = 0x8010002F; -pub const SCARD_E_NO_KEY_CONTAINER: HRESULT = 0x80100030; -pub const SCARD_E_SERVER_TOO_BUSY: HRESULT = 0x80100031; -pub const SCARD_E_PIN_CACHE_EXPIRED: HRESULT = 0x80100032; -pub const SCARD_E_NO_PIN_CACHE: HRESULT = 0x80100033; -pub const SCARD_E_READ_ONLY_CARD: HRESULT = 0x80100034; -pub const SCARD_W_UNSUPPORTED_CARD: HRESULT = 0x80100065; -pub const SCARD_W_UNRESPONSIVE_CARD: HRESULT = 0x80100066; -pub const SCARD_W_UNPOWERED_CARD: HRESULT = 0x80100067; -pub const SCARD_W_RESET_CARD: HRESULT = 0x80100068; -pub const SCARD_W_REMOVED_CARD: HRESULT = 0x80100069; -pub const SCARD_W_SECURITY_VIOLATION: HRESULT = 0x8010006A; -pub const SCARD_W_WRONG_CHV: HRESULT = 0x8010006B; -pub const SCARD_W_CHV_BLOCKED: HRESULT = 0x8010006C; -pub const SCARD_W_EOF: HRESULT = 0x8010006D; -pub const SCARD_W_CANCELLED_BY_USER: HRESULT = 0x8010006E; -pub const SCARD_W_CARD_NOT_AUTHENTICATED: HRESULT = 0x8010006F; -pub const SCARD_W_CACHE_ITEM_NOT_FOUND: HRESULT = 0x80100070; -pub const SCARD_W_CACHE_ITEM_STALE: HRESULT = 0x80100071; -pub const SCARD_W_CACHE_ITEM_TOO_BIG: HRESULT = 0x80100072; -pub const COMADMIN_E_OBJECTERRORS: HRESULT = 0x80110401; -pub const COMADMIN_E_OBJECTINVALID: HRESULT = 0x80110402; -pub const COMADMIN_E_KEYMISSING: HRESULT = 0x80110403; -pub const COMADMIN_E_ALREADYINSTALLED: HRESULT = 0x80110404; -pub const COMADMIN_E_APP_FILE_WRITEFAIL: HRESULT = 0x80110407; -pub const COMADMIN_E_APP_FILE_READFAIL: HRESULT = 0x80110408; -pub const COMADMIN_E_APP_FILE_VERSION: HRESULT = 0x80110409; -pub const COMADMIN_E_BADPATH: HRESULT = 0x8011040A; -pub const COMADMIN_E_APPLICATIONEXISTS: HRESULT = 0x8011040B; -pub const COMADMIN_E_ROLEEXISTS: HRESULT = 0x8011040C; -pub const COMADMIN_E_CANTCOPYFILE: HRESULT = 0x8011040D; -pub const COMADMIN_E_NOUSER: HRESULT = 0x8011040F; -pub const COMADMIN_E_INVALIDUSERIDS: HRESULT = 0x80110410; -pub const COMADMIN_E_NOREGISTRYCLSID: HRESULT = 0x80110411; -pub const COMADMIN_E_BADREGISTRYPROGID: HRESULT = 0x80110412; -pub const COMADMIN_E_AUTHENTICATIONLEVEL: HRESULT = 0x80110413; -pub const COMADMIN_E_USERPASSWDNOTVALID: HRESULT = 0x80110414; -pub const COMADMIN_E_CLSIDORIIDMISMATCH: HRESULT = 0x80110418; -pub const COMADMIN_E_REMOTEINTERFACE: HRESULT = 0x80110419; -pub const COMADMIN_E_DLLREGISTERSERVER: HRESULT = 0x8011041A; -pub const COMADMIN_E_NOSERVERSHARE: HRESULT = 0x8011041B; -pub const COMADMIN_E_DLLLOADFAILED: HRESULT = 0x8011041D; -pub const COMADMIN_E_BADREGISTRYLIBID: HRESULT = 0x8011041E; -pub const COMADMIN_E_APPDIRNOTFOUND: HRESULT = 0x8011041F; -pub const COMADMIN_E_REGISTRARFAILED: HRESULT = 0x80110423; -pub const COMADMIN_E_COMPFILE_DOESNOTEXIST: HRESULT = 0x80110424; -pub const COMADMIN_E_COMPFILE_LOADDLLFAIL: HRESULT = 0x80110425; -pub const COMADMIN_E_COMPFILE_GETCLASSOBJ: HRESULT = 0x80110426; -pub const COMADMIN_E_COMPFILE_CLASSNOTAVAIL: HRESULT = 0x80110427; -pub const COMADMIN_E_COMPFILE_BADTLB: HRESULT = 0x80110428; -pub const COMADMIN_E_COMPFILE_NOTINSTALLABLE: HRESULT = 0x80110429; -pub const COMADMIN_E_NOTCHANGEABLE: HRESULT = 0x8011042A; -pub const COMADMIN_E_NOTDELETEABLE: HRESULT = 0x8011042B; -pub const COMADMIN_E_SESSION: HRESULT = 0x8011042C; -pub const COMADMIN_E_COMP_MOVE_LOCKED: HRESULT = 0x8011042D; -pub const COMADMIN_E_COMP_MOVE_BAD_DEST: HRESULT = 0x8011042E; -pub const COMADMIN_E_REGISTERTLB: HRESULT = 0x80110430; -pub const COMADMIN_E_SYSTEMAPP: HRESULT = 0x80110433; -pub const COMADMIN_E_COMPFILE_NOREGISTRAR: HRESULT = 0x80110434; -pub const COMADMIN_E_COREQCOMPINSTALLED: HRESULT = 0x80110435; -pub const COMADMIN_E_SERVICENOTINSTALLED: HRESULT = 0x80110436; -pub const COMADMIN_E_PROPERTYSAVEFAILED: HRESULT = 0x80110437; -pub const COMADMIN_E_OBJECTEXISTS: HRESULT = 0x80110438; -pub const COMADMIN_E_COMPONENTEXISTS: HRESULT = 0x80110439; -pub const COMADMIN_E_REGFILE_CORRUPT: HRESULT = 0x8011043B; -pub const COMADMIN_E_PROPERTY_OVERFLOW: HRESULT = 0x8011043C; -pub const COMADMIN_E_NOTINREGISTRY: HRESULT = 0x8011043E; -pub const COMADMIN_E_OBJECTNOTPOOLABLE: HRESULT = 0x8011043F; -pub const COMADMIN_E_APPLID_MATCHES_CLSID: HRESULT = 0x80110446; -pub const COMADMIN_E_ROLE_DOES_NOT_EXIST: HRESULT = 0x80110447; -pub const COMADMIN_E_START_APP_NEEDS_COMPONENTS: HRESULT = 0x80110448; -pub const COMADMIN_E_REQUIRES_DIFFERENT_PLATFORM: HRESULT = 0x80110449; -pub const COMADMIN_E_CAN_NOT_EXPORT_APP_PROXY: HRESULT = 0x8011044A; -pub const COMADMIN_E_CAN_NOT_START_APP: HRESULT = 0x8011044B; -pub const COMADMIN_E_CAN_NOT_EXPORT_SYS_APP: HRESULT = 0x8011044C; -pub const COMADMIN_E_CANT_SUBSCRIBE_TO_COMPONENT: HRESULT = 0x8011044D; -pub const COMADMIN_E_EVENTCLASS_CANT_BE_SUBSCRIBER: HRESULT = 0x8011044E; -pub const COMADMIN_E_LIB_APP_PROXY_INCOMPATIBLE: HRESULT = 0x8011044F; -pub const COMADMIN_E_BASE_PARTITION_ONLY: HRESULT = 0x80110450; -pub const COMADMIN_E_START_APP_DISABLED: HRESULT = 0x80110451; -pub const COMADMIN_E_CAT_DUPLICATE_PARTITION_NAME: HRESULT = 0x80110457; -pub const COMADMIN_E_CAT_INVALID_PARTITION_NAME: HRESULT = 0x80110458; -pub const COMADMIN_E_CAT_PARTITION_IN_USE: HRESULT = 0x80110459; -pub const COMADMIN_E_FILE_PARTITION_DUPLICATE_FILES: HRESULT = 0x8011045A; -pub const COMADMIN_E_CAT_IMPORTED_COMPONENTS_NOT_ALLOWED: HRESULT = 0x8011045B; -pub const COMADMIN_E_AMBIGUOUS_APPLICATION_NAME: HRESULT = 0x8011045C; -pub const COMADMIN_E_AMBIGUOUS_PARTITION_NAME: HRESULT = 0x8011045D; -pub const COMADMIN_E_REGDB_NOTINITIALIZED: HRESULT = 0x80110472; -pub const COMADMIN_E_REGDB_NOTOPEN: HRESULT = 0x80110473; -pub const COMADMIN_E_REGDB_SYSTEMERR: HRESULT = 0x80110474; -pub const COMADMIN_E_REGDB_ALREADYRUNNING: HRESULT = 0x80110475; -pub const COMADMIN_E_MIG_VERSIONNOTSUPPORTED: HRESULT = 0x80110480; -pub const COMADMIN_E_MIG_SCHEMANOTFOUND: HRESULT = 0x80110481; -pub const COMADMIN_E_CAT_BITNESSMISMATCH: HRESULT = 0x80110482; -pub const COMADMIN_E_CAT_UNACCEPTABLEBITNESS: HRESULT = 0x80110483; -pub const COMADMIN_E_CAT_WRONGAPPBITNESS: HRESULT = 0x80110484; -pub const COMADMIN_E_CAT_PAUSE_RESUME_NOT_SUPPORTED: HRESULT = 0x80110485; -pub const COMADMIN_E_CAT_SERVERFAULT: HRESULT = 0x80110486; -pub const COMQC_E_APPLICATION_NOT_QUEUED: HRESULT = 0x80110600; -pub const COMQC_E_NO_QUEUEABLE_INTERFACES: HRESULT = 0x80110601; -pub const COMQC_E_QUEUING_SERVICE_NOT_AVAILABLE: HRESULT = 0x80110602; -pub const COMQC_E_NO_IPERSISTSTREAM: HRESULT = 0x80110603; -pub const COMQC_E_BAD_MESSAGE: HRESULT = 0x80110604; -pub const COMQC_E_UNAUTHENTICATED: HRESULT = 0x80110605; -pub const COMQC_E_UNTRUSTED_ENQUEUER: HRESULT = 0x80110606; -pub const MSDTC_E_DUPLICATE_RESOURCE: HRESULT = 0x80110701; -pub const COMADMIN_E_OBJECT_PARENT_MISSING: HRESULT = 0x80110808; -pub const COMADMIN_E_OBJECT_DOES_NOT_EXIST: HRESULT = 0x80110809; -pub const COMADMIN_E_APP_NOT_RUNNING: HRESULT = 0x8011080A; -pub const COMADMIN_E_INVALID_PARTITION: HRESULT = 0x8011080B; -pub const COMADMIN_E_SVCAPP_NOT_POOLABLE_OR_RECYCLABLE: HRESULT = 0x8011080D; -pub const COMADMIN_E_USER_IN_SET: HRESULT = 0x8011080E; -pub const COMADMIN_E_CANTRECYCLELIBRARYAPPS: HRESULT = 0x8011080F; -pub const COMADMIN_E_CANTRECYCLESERVICEAPPS: HRESULT = 0x80110811; -pub const COMADMIN_E_PROCESSALREADYRECYCLED: HRESULT = 0x80110812; -pub const COMADMIN_E_PAUSEDPROCESSMAYNOTBERECYCLED: HRESULT = 0x80110813; -pub const COMADMIN_E_CANTMAKEINPROCSERVICE: HRESULT = 0x80110814; -pub const COMADMIN_E_PROGIDINUSEBYCLSID: HRESULT = 0x80110815; -pub const COMADMIN_E_DEFAULT_PARTITION_NOT_IN_SET: HRESULT = 0x80110816; -pub const COMADMIN_E_RECYCLEDPROCESSMAYNOTBEPAUSED: HRESULT = 0x80110817; -pub const COMADMIN_E_PARTITION_ACCESSDENIED: HRESULT = 0x80110818; -pub const COMADMIN_E_PARTITION_MSI_ONLY: HRESULT = 0x80110819; -pub const COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_1_0_FORMAT: HRESULT = 0x8011081A; -pub const COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_NONBASE_PARTITIONS: HRESULT - = 0x8011081B; -pub const COMADMIN_E_COMP_MOVE_SOURCE: HRESULT = 0x8011081C; -pub const COMADMIN_E_COMP_MOVE_DEST: HRESULT = 0x8011081D; -pub const COMADMIN_E_COMP_MOVE_PRIVATE: HRESULT = 0x8011081E; -pub const COMADMIN_E_BASEPARTITION_REQUIRED_IN_SET: HRESULT = 0x8011081F; -pub const COMADMIN_E_CANNOT_ALIAS_EVENTCLASS: HRESULT = 0x80110820; -pub const COMADMIN_E_PRIVATE_ACCESSDENIED: HRESULT = 0x80110821; -pub const COMADMIN_E_SAFERINVALID: HRESULT = 0x80110822; -pub const COMADMIN_E_REGISTRY_ACCESSDENIED: HRESULT = 0x80110823; -pub const COMADMIN_E_PARTITIONS_DISABLED: HRESULT = 0x80110824; -pub const WER_S_REPORT_DEBUG: HRESULT = 0x001B0000; -pub const WER_S_REPORT_UPLOADED: HRESULT = 0x001B0001; -pub const WER_S_REPORT_QUEUED: HRESULT = 0x001B0002; -pub const WER_S_DISABLED: HRESULT = 0x001B0003; -pub const WER_S_SUSPENDED_UPLOAD: HRESULT = 0x001B0004; -pub const WER_S_DISABLED_QUEUE: HRESULT = 0x001B0005; -pub const WER_S_DISABLED_ARCHIVE: HRESULT = 0x001B0006; -pub const WER_S_REPORT_ASYNC: HRESULT = 0x001B0007; -pub const WER_S_IGNORE_ASSERT_INSTANCE: HRESULT = 0x001B0008; -pub const WER_S_IGNORE_ALL_ASSERTS: HRESULT = 0x001B0009; -pub const WER_S_ASSERT_CONTINUE: HRESULT = 0x001B000A; -pub const WER_S_THROTTLED: HRESULT = 0x001B000B; -pub const WER_E_CRASH_FAILURE: HRESULT = 0x801B8000; -pub const WER_E_CANCELED: HRESULT = 0x801B8001; -pub const WER_E_NETWORK_FAILURE: HRESULT = 0x801B8002; -pub const WER_E_NOT_INITIALIZED: HRESULT = 0x801B8003; -pub const WER_E_ALREADY_REPORTING: HRESULT = 0x801B8004; -pub const WER_E_DUMP_THROTTLED: HRESULT = 0x801B8005; -pub const ERROR_FLT_IO_COMPLETE: HRESULT = 0x001F0001; -pub const ERROR_FLT_NO_HANDLER_DEFINED: HRESULT = 0x801F0001; -pub const ERROR_FLT_CONTEXT_ALREADY_DEFINED: HRESULT = 0x801F0002; -pub const ERROR_FLT_INVALID_ASYNCHRONOUS_REQUEST: HRESULT = 0x801F0003; -pub const ERROR_FLT_DISALLOW_FAST_IO: HRESULT = 0x801F0004; -pub const ERROR_FLT_INVALID_NAME_REQUEST: HRESULT = 0x801F0005; -pub const ERROR_FLT_NOT_SAFE_TO_POST_OPERATION: HRESULT = 0x801F0006; -pub const ERROR_FLT_NOT_INITIALIZED: HRESULT = 0x801F0007; -pub const ERROR_FLT_FILTER_NOT_READY: HRESULT = 0x801F0008; -pub const ERROR_FLT_POST_OPERATION_CLEANUP: HRESULT = 0x801F0009; -pub const ERROR_FLT_INTERNAL_ERROR: HRESULT = 0x801F000A; -pub const ERROR_FLT_DELETING_OBJECT: HRESULT = 0x801F000B; -pub const ERROR_FLT_MUST_BE_NONPAGED_POOL: HRESULT = 0x801F000C; -pub const ERROR_FLT_DUPLICATE_ENTRY: HRESULT = 0x801F000D; -pub const ERROR_FLT_CBDQ_DISABLED: HRESULT = 0x801F000E; -pub const ERROR_FLT_DO_NOT_ATTACH: HRESULT = 0x801F000F; -pub const ERROR_FLT_DO_NOT_DETACH: HRESULT = 0x801F0010; -pub const ERROR_FLT_INSTANCE_ALTITUDE_COLLISION: HRESULT = 0x801F0011; -pub const ERROR_FLT_INSTANCE_NAME_COLLISION: HRESULT = 0x801F0012; -pub const ERROR_FLT_FILTER_NOT_FOUND: HRESULT = 0x801F0013; -pub const ERROR_FLT_VOLUME_NOT_FOUND: HRESULT = 0x801F0014; -pub const ERROR_FLT_INSTANCE_NOT_FOUND: HRESULT = 0x801F0015; -pub const ERROR_FLT_CONTEXT_ALLOCATION_NOT_FOUND: HRESULT = 0x801F0016; -pub const ERROR_FLT_INVALID_CONTEXT_REGISTRATION: HRESULT = 0x801F0017; -pub const ERROR_FLT_NAME_CACHE_MISS: HRESULT = 0x801F0018; -pub const ERROR_FLT_NO_DEVICE_OBJECT: HRESULT = 0x801F0019; -pub const ERROR_FLT_VOLUME_ALREADY_MOUNTED: HRESULT = 0x801F001A; -pub const ERROR_FLT_ALREADY_ENLISTED: HRESULT = 0x801F001B; -pub const ERROR_FLT_CONTEXT_ALREADY_LINKED: HRESULT = 0x801F001C; -pub const ERROR_FLT_NO_WAITER_FOR_REPLY: HRESULT = 0x801F0020; -pub const ERROR_FLT_REGISTRATION_BUSY: HRESULT = 0x801F0023; -pub const ERROR_HUNG_DISPLAY_DRIVER_THREAD: HRESULT = 0x80260001; -pub const DWM_E_COMPOSITIONDISABLED: HRESULT = 0x80263001; -pub const DWM_E_REMOTING_NOT_SUPPORTED: HRESULT = 0x80263002; -pub const DWM_E_NO_REDIRECTION_SURFACE_AVAILABLE: HRESULT = 0x80263003; -pub const DWM_E_NOT_QUEUING_PRESENTS: HRESULT = 0x80263004; -pub const DWM_E_ADAPTER_NOT_FOUND: HRESULT = 0x80263005; -pub const DWM_S_GDI_REDIRECTION_SURFACE: HRESULT = 0x00263005; -pub const DWM_E_TEXTURE_TOO_LARGE: HRESULT = 0x80263007; -pub const ERROR_MONITOR_NO_DESCRIPTOR: HRESULT = 0x80261001; -pub const ERROR_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT: HRESULT = 0x80261002; -pub const ERROR_MONITOR_INVALID_DESCRIPTOR_CHECKSUM: HRESULT = 0xC0261003; -pub const ERROR_MONITOR_INVALID_STANDARD_TIMING_BLOCK: HRESULT = 0xC0261004; -pub const ERROR_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED: HRESULT = 0xC0261005; -pub const ERROR_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK: HRESULT = 0xC0261006; -pub const ERROR_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK: HRESULT = 0xC0261007; -pub const ERROR_MONITOR_NO_MORE_DESCRIPTOR_DATA: HRESULT = 0xC0261008; -pub const ERROR_MONITOR_INVALID_DETAILED_TIMING_BLOCK: HRESULT = 0xC0261009; -pub const ERROR_MONITOR_INVALID_MANUFACTURE_DATE: HRESULT = 0xC026100A; -pub const ERROR_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER: HRESULT = 0xC0262000; -pub const ERROR_GRAPHICS_INSUFFICIENT_DMA_BUFFER: HRESULT = 0xC0262001; -pub const ERROR_GRAPHICS_INVALID_DISPLAY_ADAPTER: HRESULT = 0xC0262002; -pub const ERROR_GRAPHICS_ADAPTER_WAS_RESET: HRESULT = 0xC0262003; -pub const ERROR_GRAPHICS_INVALID_DRIVER_MODEL: HRESULT = 0xC0262004; -pub const ERROR_GRAPHICS_PRESENT_MODE_CHANGED: HRESULT = 0xC0262005; -pub const ERROR_GRAPHICS_PRESENT_OCCLUDED: HRESULT = 0xC0262006; -pub const ERROR_GRAPHICS_PRESENT_DENIED: HRESULT = 0xC0262007; -pub const ERROR_GRAPHICS_CANNOTCOLORCONVERT: HRESULT = 0xC0262008; -pub const ERROR_GRAPHICS_DRIVER_MISMATCH: HRESULT = 0xC0262009; -pub const ERROR_GRAPHICS_PARTIAL_DATA_POPULATED: HRESULT = 0x4026200A; -pub const ERROR_GRAPHICS_PRESENT_REDIRECTION_DISABLED: HRESULT = 0xC026200B; -pub const ERROR_GRAPHICS_PRESENT_UNOCCLUDED: HRESULT = 0xC026200C; -pub const ERROR_GRAPHICS_WINDOWDC_NOT_AVAILABLE: HRESULT = 0xC026200D; -pub const ERROR_GRAPHICS_WINDOWLESS_PRESENT_DISABLED: HRESULT = 0xC026200E; -pub const ERROR_GRAPHICS_NO_VIDEO_MEMORY: HRESULT = 0xC0262100; -pub const ERROR_GRAPHICS_CANT_LOCK_MEMORY: HRESULT = 0xC0262101; -pub const ERROR_GRAPHICS_ALLOCATION_BUSY: HRESULT = 0xC0262102; -pub const ERROR_GRAPHICS_TOO_MANY_REFERENCES: HRESULT = 0xC0262103; -pub const ERROR_GRAPHICS_TRY_AGAIN_LATER: HRESULT = 0xC0262104; -pub const ERROR_GRAPHICS_TRY_AGAIN_NOW: HRESULT = 0xC0262105; -pub const ERROR_GRAPHICS_ALLOCATION_INVALID: HRESULT = 0xC0262106; -pub const ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE: HRESULT = 0xC0262107; -pub const ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED: HRESULT = 0xC0262108; -pub const ERROR_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION: HRESULT = 0xC0262109; -pub const ERROR_GRAPHICS_INVALID_ALLOCATION_USAGE: HRESULT = 0xC0262110; -pub const ERROR_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION: HRESULT = 0xC0262111; -pub const ERROR_GRAPHICS_ALLOCATION_CLOSED: HRESULT = 0xC0262112; -pub const ERROR_GRAPHICS_INVALID_ALLOCATION_INSTANCE: HRESULT = 0xC0262113; -pub const ERROR_GRAPHICS_INVALID_ALLOCATION_HANDLE: HRESULT = 0xC0262114; -pub const ERROR_GRAPHICS_WRONG_ALLOCATION_DEVICE: HRESULT = 0xC0262115; -pub const ERROR_GRAPHICS_ALLOCATION_CONTENT_LOST: HRESULT = 0xC0262116; -pub const ERROR_GRAPHICS_GPU_EXCEPTION_ON_DEVICE: HRESULT = 0xC0262200; -pub const ERROR_GRAPHICS_SKIP_ALLOCATION_PREPARATION: HRESULT = 0x40262201; -pub const ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY: HRESULT = 0xC0262300; -pub const ERROR_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED: HRESULT = 0xC0262301; -pub const ERROR_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED: HRESULT - = 0xC0262302; -pub const ERROR_GRAPHICS_INVALID_VIDPN: HRESULT = 0xC0262303; -pub const ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE: HRESULT = 0xC0262304; -pub const ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET: HRESULT = 0xC0262305; -pub const ERROR_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED: HRESULT = 0xC0262306; -pub const ERROR_GRAPHICS_MODE_NOT_PINNED: HRESULT = 0x00262307; -pub const ERROR_GRAPHICS_INVALID_VIDPN_SOURCEMODESET: HRESULT = 0xC0262308; -pub const ERROR_GRAPHICS_INVALID_VIDPN_TARGETMODESET: HRESULT = 0xC0262309; -pub const ERROR_GRAPHICS_INVALID_FREQUENCY: HRESULT = 0xC026230A; -pub const ERROR_GRAPHICS_INVALID_ACTIVE_REGION: HRESULT = 0xC026230B; -pub const ERROR_GRAPHICS_INVALID_TOTAL_REGION: HRESULT = 0xC026230C; -pub const ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE: HRESULT = 0xC0262310; -pub const ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE: HRESULT = 0xC0262311; -pub const ERROR_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET: HRESULT = 0xC0262312; -pub const ERROR_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY: HRESULT = 0xC0262313; -pub const ERROR_GRAPHICS_MODE_ALREADY_IN_MODESET: HRESULT = 0xC0262314; -pub const ERROR_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET: HRESULT = 0xC0262315; -pub const ERROR_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET: HRESULT = 0xC0262316; -pub const ERROR_GRAPHICS_SOURCE_ALREADY_IN_SET: HRESULT = 0xC0262317; -pub const ERROR_GRAPHICS_TARGET_ALREADY_IN_SET: HRESULT = 0xC0262318; -pub const ERROR_GRAPHICS_INVALID_VIDPN_PRESENT_PATH: HRESULT = 0xC0262319; -pub const ERROR_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY: HRESULT = 0xC026231A; -pub const ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET: HRESULT = 0xC026231B; -pub const ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE: HRESULT = 0xC026231C; -pub const ERROR_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET: HRESULT = 0xC026231D; -pub const ERROR_GRAPHICS_NO_PREFERRED_MODE: HRESULT = 0x0026231E; -pub const ERROR_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET: HRESULT = 0xC026231F; -pub const ERROR_GRAPHICS_STALE_MODESET: HRESULT = 0xC0262320; -pub const ERROR_GRAPHICS_INVALID_MONITOR_SOURCEMODESET: HRESULT = 0xC0262321; -pub const ERROR_GRAPHICS_INVALID_MONITOR_SOURCE_MODE: HRESULT = 0xC0262322; -pub const ERROR_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN: HRESULT = 0xC0262323; -pub const ERROR_GRAPHICS_MODE_ID_MUST_BE_UNIQUE: HRESULT = 0xC0262324; -pub const ERROR_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION: HRESULT - = 0xC0262325; -pub const ERROR_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES: HRESULT - = 0xC0262326; -pub const ERROR_GRAPHICS_PATH_NOT_IN_TOPOLOGY: HRESULT = 0xC0262327; -pub const ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE: HRESULT = 0xC0262328; -pub const ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET: HRESULT = 0xC0262329; -pub const ERROR_GRAPHICS_INVALID_MONITORDESCRIPTORSET: HRESULT = 0xC026232A; -pub const ERROR_GRAPHICS_INVALID_MONITORDESCRIPTOR: HRESULT = 0xC026232B; -pub const ERROR_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET: HRESULT = 0xC026232C; -pub const ERROR_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET: HRESULT = 0xC026232D; -pub const ERROR_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE: HRESULT = 0xC026232E; -pub const ERROR_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE: HRESULT = 0xC026232F; -pub const ERROR_GRAPHICS_RESOURCES_NOT_RELATED: HRESULT = 0xC0262330; -pub const ERROR_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE: HRESULT = 0xC0262331; -pub const ERROR_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE: HRESULT = 0xC0262332; -pub const ERROR_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET: HRESULT = 0xC0262333; -pub const ERROR_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER: HRESULT - = 0xC0262334; -pub const ERROR_GRAPHICS_NO_VIDPNMGR: HRESULT = 0xC0262335; -pub const ERROR_GRAPHICS_NO_ACTIVE_VIDPN: HRESULT = 0xC0262336; -pub const ERROR_GRAPHICS_STALE_VIDPN_TOPOLOGY: HRESULT = 0xC0262337; -pub const ERROR_GRAPHICS_MONITOR_NOT_CONNECTED: HRESULT = 0xC0262338; -pub const ERROR_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY: HRESULT = 0xC0262339; -pub const ERROR_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE: HRESULT = 0xC026233A; -pub const ERROR_GRAPHICS_INVALID_VISIBLEREGION_SIZE: HRESULT = 0xC026233B; -pub const ERROR_GRAPHICS_INVALID_STRIDE: HRESULT = 0xC026233C; -pub const ERROR_GRAPHICS_INVALID_PIXELFORMAT: HRESULT = 0xC026233D; -pub const ERROR_GRAPHICS_INVALID_COLORBASIS: HRESULT = 0xC026233E; -pub const ERROR_GRAPHICS_INVALID_PIXELVALUEACCESSMODE: HRESULT = 0xC026233F; -pub const ERROR_GRAPHICS_TARGET_NOT_IN_TOPOLOGY: HRESULT = 0xC0262340; -pub const ERROR_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT: HRESULT = 0xC0262341; -pub const ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE: HRESULT = 0xC0262342; -pub const ERROR_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN: HRESULT = 0xC0262343; -pub const ERROR_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL: HRESULT = 0xC0262344; -pub const ERROR_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION: HRESULT - = 0xC0262345; -pub const ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED: HRESULT - = 0xC0262346; -pub const ERROR_GRAPHICS_INVALID_GAMMA_RAMP: HRESULT = 0xC0262347; -pub const ERROR_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED: HRESULT = 0xC0262348; -pub const ERROR_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED: HRESULT = 0xC0262349; -pub const ERROR_GRAPHICS_MODE_NOT_IN_MODESET: HRESULT = 0xC026234A; -pub const ERROR_GRAPHICS_DATASET_IS_EMPTY: HRESULT = 0x0026234B; -pub const ERROR_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET: HRESULT = 0x0026234C; -pub const ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON: HRESULT - = 0xC026234D; -pub const ERROR_GRAPHICS_INVALID_PATH_CONTENT_TYPE: HRESULT = 0xC026234E; -pub const ERROR_GRAPHICS_INVALID_COPYPROTECTION_TYPE: HRESULT = 0xC026234F; -pub const ERROR_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS: HRESULT = 0xC0262350; -pub const ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED: HRESULT = 0x00262351; -pub const ERROR_GRAPHICS_INVALID_SCANLINE_ORDERING: HRESULT = 0xC0262352; -pub const ERROR_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED: HRESULT = 0xC0262353; -pub const ERROR_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS: HRESULT = 0xC0262354; -pub const ERROR_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT: HRESULT = 0xC0262355; -pub const ERROR_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM: HRESULT = 0xC0262356; -pub const ERROR_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN: HRESULT = 0xC0262357; -pub const ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT: HRESULT - = 0xC0262358; -pub const ERROR_GRAPHICS_MAX_NUM_PATHS_REACHED: HRESULT = 0xC0262359; -pub const ERROR_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION: HRESULT = 0xC026235A; -pub const ERROR_GRAPHICS_INVALID_CLIENT_TYPE: HRESULT = 0xC026235B; -pub const ERROR_GRAPHICS_CLIENTVIDPN_NOT_SET: HRESULT = 0xC026235C; -pub const ERROR_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED: HRESULT = 0xC0262400; -pub const ERROR_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED: HRESULT = 0xC0262401; -pub const ERROR_GRAPHICS_UNKNOWN_CHILD_STATUS: HRESULT = 0x4026242F; -pub const ERROR_GRAPHICS_NOT_A_LINKED_ADAPTER: HRESULT = 0xC0262430; -pub const ERROR_GRAPHICS_LEADLINK_NOT_ENUMERATED: HRESULT = 0xC0262431; -pub const ERROR_GRAPHICS_CHAINLINKS_NOT_ENUMERATED: HRESULT = 0xC0262432; -pub const ERROR_GRAPHICS_ADAPTER_CHAIN_NOT_READY: HRESULT = 0xC0262433; -pub const ERROR_GRAPHICS_CHAINLINKS_NOT_STARTED: HRESULT = 0xC0262434; -pub const ERROR_GRAPHICS_CHAINLINKS_NOT_POWERED_ON: HRESULT = 0xC0262435; -pub const ERROR_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE: HRESULT = 0xC0262436; -pub const ERROR_GRAPHICS_LEADLINK_START_DEFERRED: HRESULT = 0x40262437; -pub const ERROR_GRAPHICS_NOT_POST_DEVICE_DRIVER: HRESULT = 0xC0262438; -pub const ERROR_GRAPHICS_POLLING_TOO_FREQUENTLY: HRESULT = 0x40262439; -pub const ERROR_GRAPHICS_START_DEFERRED: HRESULT = 0x4026243A; -pub const ERROR_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED: HRESULT = 0xC026243B; -pub const ERROR_GRAPHICS_OPM_NOT_SUPPORTED: HRESULT = 0xC0262500; -pub const ERROR_GRAPHICS_COPP_NOT_SUPPORTED: HRESULT = 0xC0262501; -pub const ERROR_GRAPHICS_UAB_NOT_SUPPORTED: HRESULT = 0xC0262502; -pub const ERROR_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS: HRESULT = 0xC0262503; -pub const ERROR_GRAPHICS_OPM_NO_VIDEO_OUTPUTS_EXIST: HRESULT = 0xC0262505; -pub const ERROR_GRAPHICS_OPM_INTERNAL_ERROR: HRESULT = 0xC026250B; -pub const ERROR_GRAPHICS_OPM_INVALID_HANDLE: HRESULT = 0xC026250C; -pub const ERROR_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH: HRESULT = 0xC026250E; -pub const ERROR_GRAPHICS_OPM_SPANNING_MODE_ENABLED: HRESULT = 0xC026250F; -pub const ERROR_GRAPHICS_OPM_THEATER_MODE_ENABLED: HRESULT = 0xC0262510; -pub const ERROR_GRAPHICS_PVP_HFS_FAILED: HRESULT = 0xC0262511; -pub const ERROR_GRAPHICS_OPM_INVALID_SRM: HRESULT = 0xC0262512; -pub const ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP: HRESULT = 0xC0262513; -pub const ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP: HRESULT = 0xC0262514; -pub const ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA: HRESULT = 0xC0262515; -pub const ERROR_GRAPHICS_OPM_HDCP_SRM_NEVER_SET: HRESULT = 0xC0262516; -pub const ERROR_GRAPHICS_OPM_RESOLUTION_TOO_HIGH: HRESULT = 0xC0262517; -pub const ERROR_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE: HRESULT = 0xC0262518; -pub const ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_NO_LONGER_EXISTS: HRESULT = 0xC026251A; -pub const ERROR_GRAPHICS_OPM_SESSION_TYPE_CHANGE_IN_PROGRESS: HRESULT = 0xC026251B; -pub const ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS: HRESULT - = 0xC026251C; -pub const ERROR_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST: HRESULT = 0xC026251D; -pub const ERROR_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR: HRESULT = 0xC026251E; -pub const ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS: HRESULT - = 0xC026251F; -pub const ERROR_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED: HRESULT = 0xC0262520; -pub const ERROR_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST: HRESULT = 0xC0262521; -pub const ERROR_GRAPHICS_I2C_NOT_SUPPORTED: HRESULT = 0xC0262580; -pub const ERROR_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST: HRESULT = 0xC0262581; -pub const ERROR_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA: HRESULT = 0xC0262582; -pub const ERROR_GRAPHICS_I2C_ERROR_RECEIVING_DATA: HRESULT = 0xC0262583; -pub const ERROR_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED: HRESULT = 0xC0262584; -pub const ERROR_GRAPHICS_DDCCI_INVALID_DATA: HRESULT = 0xC0262585; -pub const ERROR_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE: HRESULT - = 0xC0262586; -pub const ERROR_GRAPHICS_MCA_INVALID_CAPABILITIES_STRING: HRESULT = 0xC0262587; -pub const ERROR_GRAPHICS_MCA_INTERNAL_ERROR: HRESULT = 0xC0262588; -pub const ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND: HRESULT = 0xC0262589; -pub const ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH: HRESULT = 0xC026258A; -pub const ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM: HRESULT = 0xC026258B; -pub const ERROR_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE: HRESULT = 0xC026258C; -pub const ERROR_GRAPHICS_MONITOR_NO_LONGER_EXISTS: HRESULT = 0xC026258D; -pub const ERROR_GRAPHICS_DDCCI_CURRENT_CURRENT_VALUE_GREATER_THAN_MAXIMUM_VALUE: HRESULT - = 0xC02625D8; -pub const ERROR_GRAPHICS_MCA_INVALID_VCP_VERSION: HRESULT = 0xC02625D9; -pub const ERROR_GRAPHICS_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION: HRESULT - = 0xC02625DA; -pub const ERROR_GRAPHICS_MCA_MCCS_VERSION_MISMATCH: HRESULT = 0xC02625DB; -pub const ERROR_GRAPHICS_MCA_UNSUPPORTED_MCCS_VERSION: HRESULT = 0xC02625DC; -pub const ERROR_GRAPHICS_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED: HRESULT = 0xC02625DE; -pub const ERROR_GRAPHICS_MCA_UNSUPPORTED_COLOR_TEMPERATURE: HRESULT = 0xC02625DF; -pub const ERROR_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED: HRESULT = 0xC02625E0; -pub const ERROR_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME: HRESULT = 0xC02625E1; -pub const ERROR_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP: HRESULT - = 0xC02625E2; -pub const ERROR_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED: HRESULT = 0xC02625E3; -pub const ERROR_GRAPHICS_INVALID_POINTER: HRESULT = 0xC02625E4; -pub const ERROR_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE: HRESULT - = 0xC02625E5; -pub const ERROR_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL: HRESULT = 0xC02625E6; -pub const ERROR_GRAPHICS_INTERNAL_ERROR: HRESULT = 0xC02625E7; -pub const ERROR_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS: HRESULT = 0xC02605E8; -pub const NAP_E_INVALID_PACKET: HRESULT = 0x80270001; -pub const NAP_E_MISSING_SOH: HRESULT = 0x80270002; -pub const NAP_E_CONFLICTING_ID: HRESULT = 0x80270003; -pub const NAP_E_NO_CACHED_SOH: HRESULT = 0x80270004; -pub const NAP_E_STILL_BOUND: HRESULT = 0x80270005; -pub const NAP_E_NOT_REGISTERED: HRESULT = 0x80270006; -pub const NAP_E_NOT_INITIALIZED: HRESULT = 0x80270007; -pub const NAP_E_MISMATCHED_ID: HRESULT = 0x80270008; -pub const NAP_E_NOT_PENDING: HRESULT = 0x80270009; -pub const NAP_E_ID_NOT_FOUND: HRESULT = 0x8027000A; -pub const NAP_E_MAXSIZE_TOO_SMALL: HRESULT = 0x8027000B; -pub const NAP_E_SERVICE_NOT_RUNNING: HRESULT = 0x8027000C; -pub const NAP_S_CERT_ALREADY_PRESENT: HRESULT = 0x0027000D; -pub const NAP_E_ENTITY_DISABLED: HRESULT = 0x8027000E; -pub const NAP_E_NETSH_GROUPPOLICY_ERROR: HRESULT = 0x8027000F; -pub const NAP_E_TOO_MANY_CALLS: HRESULT = 0x80270010; -pub const NAP_E_SHV_CONFIG_EXISTED: HRESULT = 0x80270011; -pub const NAP_E_SHV_CONFIG_NOT_FOUND: HRESULT = 0x80270012; -pub const NAP_E_SHV_TIMEOUT: HRESULT = 0x80270013; -pub const TPM_E_ERROR_MASK: HRESULT = 0x80280000; -pub const TPM_E_AUTHFAIL: HRESULT = 0x80280001; -pub const TPM_E_BADINDEX: HRESULT = 0x80280002; -pub const TPM_E_BAD_PARAMETER: HRESULT = 0x80280003; -pub const TPM_E_AUDITFAILURE: HRESULT = 0x80280004; -pub const TPM_E_CLEAR_DISABLED: HRESULT = 0x80280005; -pub const TPM_E_DEACTIVATED: HRESULT = 0x80280006; -pub const TPM_E_DISABLED: HRESULT = 0x80280007; -pub const TPM_E_DISABLED_CMD: HRESULT = 0x80280008; -pub const TPM_E_FAIL: HRESULT = 0x80280009; -pub const TPM_E_BAD_ORDINAL: HRESULT = 0x8028000A; -pub const TPM_E_INSTALL_DISABLED: HRESULT = 0x8028000B; -pub const TPM_E_INVALID_KEYHANDLE: HRESULT = 0x8028000C; -pub const TPM_E_KEYNOTFOUND: HRESULT = 0x8028000D; -pub const TPM_E_INAPPROPRIATE_ENC: HRESULT = 0x8028000E; -pub const TPM_E_MIGRATEFAIL: HRESULT = 0x8028000F; -pub const TPM_E_INVALID_PCR_INFO: HRESULT = 0x80280010; -pub const TPM_E_NOSPACE: HRESULT = 0x80280011; -pub const TPM_E_NOSRK: HRESULT = 0x80280012; -pub const TPM_E_NOTSEALED_BLOB: HRESULT = 0x80280013; -pub const TPM_E_OWNER_SET: HRESULT = 0x80280014; -pub const TPM_E_RESOURCES: HRESULT = 0x80280015; -pub const TPM_E_SHORTRANDOM: HRESULT = 0x80280016; -pub const TPM_E_SIZE: HRESULT = 0x80280017; -pub const TPM_E_WRONGPCRVAL: HRESULT = 0x80280018; -pub const TPM_E_BAD_PARAM_SIZE: HRESULT = 0x80280019; -pub const TPM_E_SHA_THREAD: HRESULT = 0x8028001A; -pub const TPM_E_SHA_ERROR: HRESULT = 0x8028001B; -pub const TPM_E_FAILEDSELFTEST: HRESULT = 0x8028001C; -pub const TPM_E_AUTH2FAIL: HRESULT = 0x8028001D; -pub const TPM_E_BADTAG: HRESULT = 0x8028001E; -pub const TPM_E_IOERROR: HRESULT = 0x8028001F; -pub const TPM_E_ENCRYPT_ERROR: HRESULT = 0x80280020; -pub const TPM_E_DECRYPT_ERROR: HRESULT = 0x80280021; -pub const TPM_E_INVALID_AUTHHANDLE: HRESULT = 0x80280022; -pub const TPM_E_NO_ENDORSEMENT: HRESULT = 0x80280023; -pub const TPM_E_INVALID_KEYUSAGE: HRESULT = 0x80280024; -pub const TPM_E_WRONG_ENTITYTYPE: HRESULT = 0x80280025; -pub const TPM_E_INVALID_POSTINIT: HRESULT = 0x80280026; -pub const TPM_E_INAPPROPRIATE_SIG: HRESULT = 0x80280027; -pub const TPM_E_BAD_KEY_PROPERTY: HRESULT = 0x80280028; -pub const TPM_E_BAD_MIGRATION: HRESULT = 0x80280029; -pub const TPM_E_BAD_SCHEME: HRESULT = 0x8028002A; -pub const TPM_E_BAD_DATASIZE: HRESULT = 0x8028002B; -pub const TPM_E_BAD_MODE: HRESULT = 0x8028002C; -pub const TPM_E_BAD_PRESENCE: HRESULT = 0x8028002D; -pub const TPM_E_BAD_VERSION: HRESULT = 0x8028002E; -pub const TPM_E_NO_WRAP_TRANSPORT: HRESULT = 0x8028002F; -pub const TPM_E_AUDITFAIL_UNSUCCESSFUL: HRESULT = 0x80280030; -pub const TPM_E_AUDITFAIL_SUCCESSFUL: HRESULT = 0x80280031; -pub const TPM_E_NOTRESETABLE: HRESULT = 0x80280032; -pub const TPM_E_NOTLOCAL: HRESULT = 0x80280033; -pub const TPM_E_BAD_TYPE: HRESULT = 0x80280034; -pub const TPM_E_INVALID_RESOURCE: HRESULT = 0x80280035; -pub const TPM_E_NOTFIPS: HRESULT = 0x80280036; -pub const TPM_E_INVALID_FAMILY: HRESULT = 0x80280037; -pub const TPM_E_NO_NV_PERMISSION: HRESULT = 0x80280038; -pub const TPM_E_REQUIRES_SIGN: HRESULT = 0x80280039; -pub const TPM_E_KEY_NOTSUPPORTED: HRESULT = 0x8028003A; -pub const TPM_E_AUTH_CONFLICT: HRESULT = 0x8028003B; -pub const TPM_E_AREA_LOCKED: HRESULT = 0x8028003C; -pub const TPM_E_BAD_LOCALITY: HRESULT = 0x8028003D; -pub const TPM_E_READ_ONLY: HRESULT = 0x8028003E; -pub const TPM_E_PER_NOWRITE: HRESULT = 0x8028003F; -pub const TPM_E_FAMILYCOUNT: HRESULT = 0x80280040; -pub const TPM_E_WRITE_LOCKED: HRESULT = 0x80280041; -pub const TPM_E_BAD_ATTRIBUTES: HRESULT = 0x80280042; -pub const TPM_E_INVALID_STRUCTURE: HRESULT = 0x80280043; -pub const TPM_E_KEY_OWNER_CONTROL: HRESULT = 0x80280044; -pub const TPM_E_BAD_COUNTER: HRESULT = 0x80280045; -pub const TPM_E_NOT_FULLWRITE: HRESULT = 0x80280046; -pub const TPM_E_CONTEXT_GAP: HRESULT = 0x80280047; -pub const TPM_E_MAXNVWRITES: HRESULT = 0x80280048; -pub const TPM_E_NOOPERATOR: HRESULT = 0x80280049; -pub const TPM_E_RESOURCEMISSING: HRESULT = 0x8028004A; -pub const TPM_E_DELEGATE_LOCK: HRESULT = 0x8028004B; -pub const TPM_E_DELEGATE_FAMILY: HRESULT = 0x8028004C; -pub const TPM_E_DELEGATE_ADMIN: HRESULT = 0x8028004D; -pub const TPM_E_TRANSPORT_NOTEXCLUSIVE: HRESULT = 0x8028004E; -pub const TPM_E_OWNER_CONTROL: HRESULT = 0x8028004F; -pub const TPM_E_DAA_RESOURCES: HRESULT = 0x80280050; -pub const TPM_E_DAA_INPUT_DATA0: HRESULT = 0x80280051; -pub const TPM_E_DAA_INPUT_DATA1: HRESULT = 0x80280052; -pub const TPM_E_DAA_ISSUER_SETTINGS: HRESULT = 0x80280053; -pub const TPM_E_DAA_TPM_SETTINGS: HRESULT = 0x80280054; -pub const TPM_E_DAA_STAGE: HRESULT = 0x80280055; -pub const TPM_E_DAA_ISSUER_VALIDITY: HRESULT = 0x80280056; -pub const TPM_E_DAA_WRONG_W: HRESULT = 0x80280057; -pub const TPM_E_BAD_HANDLE: HRESULT = 0x80280058; -pub const TPM_E_BAD_DELEGATE: HRESULT = 0x80280059; -pub const TPM_E_BADCONTEXT: HRESULT = 0x8028005A; -pub const TPM_E_TOOMANYCONTEXTS: HRESULT = 0x8028005B; -pub const TPM_E_MA_TICKET_SIGNATURE: HRESULT = 0x8028005C; -pub const TPM_E_MA_DESTINATION: HRESULT = 0x8028005D; -pub const TPM_E_MA_SOURCE: HRESULT = 0x8028005E; -pub const TPM_E_MA_AUTHORITY: HRESULT = 0x8028005F; -pub const TPM_E_PERMANENTEK: HRESULT = 0x80280061; -pub const TPM_E_BAD_SIGNATURE: HRESULT = 0x80280062; -pub const TPM_E_NOCONTEXTSPACE: HRESULT = 0x80280063; -pub const TPM_E_COMMAND_BLOCKED: HRESULT = 0x80280400; -pub const TPM_E_INVALID_HANDLE: HRESULT = 0x80280401; -pub const TPM_E_DUPLICATE_VHANDLE: HRESULT = 0x80280402; -pub const TPM_E_EMBEDDED_COMMAND_BLOCKED: HRESULT = 0x80280403; -pub const TPM_E_EMBEDDED_COMMAND_UNSUPPORTED: HRESULT = 0x80280404; -pub const TPM_E_RETRY: HRESULT = 0x80280800; -pub const TPM_E_NEEDS_SELFTEST: HRESULT = 0x80280801; -pub const TPM_E_DOING_SELFTEST: HRESULT = 0x80280802; -pub const TPM_E_DEFEND_LOCK_RUNNING: HRESULT = 0x80280803; -pub const TBS_E_INTERNAL_ERROR: HRESULT = 0x80284001; -pub const TBS_E_BAD_PARAMETER: HRESULT = 0x80284002; -pub const TBS_E_INVALID_OUTPUT_POINTER: HRESULT = 0x80284003; -pub const TBS_E_INVALID_CONTEXT: HRESULT = 0x80284004; -pub const TBS_E_INSUFFICIENT_BUFFER: HRESULT = 0x80284005; -pub const TBS_E_IOERROR: HRESULT = 0x80284006; -pub const TBS_E_INVALID_CONTEXT_PARAM: HRESULT = 0x80284007; -pub const TBS_E_SERVICE_NOT_RUNNING: HRESULT = 0x80284008; -pub const TBS_E_TOO_MANY_TBS_CONTEXTS: HRESULT = 0x80284009; -pub const TBS_E_TOO_MANY_RESOURCES: HRESULT = 0x8028400A; -pub const TBS_E_SERVICE_START_PENDING: HRESULT = 0x8028400B; -pub const TBS_E_PPI_NOT_SUPPORTED: HRESULT = 0x8028400C; -pub const TBS_E_COMMAND_CANCELED: HRESULT = 0x8028400D; -pub const TBS_E_BUFFER_TOO_LARGE: HRESULT = 0x8028400E; -pub const TBS_E_TPM_NOT_FOUND: HRESULT = 0x8028400F; -pub const TBS_E_SERVICE_DISABLED: HRESULT = 0x80284010; -pub const TBS_E_NO_EVENT_LOG: HRESULT = 0x80284011; -pub const TBS_E_ACCESS_DENIED: HRESULT = 0x80284012; -pub const TBS_E_PROVISIONING_NOT_ALLOWED: HRESULT = 0x80284013; -pub const TBS_E_PPI_FUNCTION_UNSUPPORTED: HRESULT = 0x80284014; -pub const TBS_E_OWNERAUTH_NOT_FOUND: HRESULT = 0x80284015; -pub const TBS_E_PROVISIONING_INCOMPLETE: HRESULT = 0x80284016; -pub const TPMAPI_E_INVALID_STATE: HRESULT = 0x80290100; -pub const TPMAPI_E_NOT_ENOUGH_DATA: HRESULT = 0x80290101; -pub const TPMAPI_E_TOO_MUCH_DATA: HRESULT = 0x80290102; -pub const TPMAPI_E_INVALID_OUTPUT_POINTER: HRESULT = 0x80290103; -pub const TPMAPI_E_INVALID_PARAMETER: HRESULT = 0x80290104; -pub const TPMAPI_E_OUT_OF_MEMORY: HRESULT = 0x80290105; -pub const TPMAPI_E_BUFFER_TOO_SMALL: HRESULT = 0x80290106; -pub const TPMAPI_E_INTERNAL_ERROR: HRESULT = 0x80290107; -pub const TPMAPI_E_ACCESS_DENIED: HRESULT = 0x80290108; -pub const TPMAPI_E_AUTHORIZATION_FAILED: HRESULT = 0x80290109; -pub const TPMAPI_E_INVALID_CONTEXT_HANDLE: HRESULT = 0x8029010A; -pub const TPMAPI_E_TBS_COMMUNICATION_ERROR: HRESULT = 0x8029010B; -pub const TPMAPI_E_TPM_COMMAND_ERROR: HRESULT = 0x8029010C; -pub const TPMAPI_E_MESSAGE_TOO_LARGE: HRESULT = 0x8029010D; -pub const TPMAPI_E_INVALID_ENCODING: HRESULT = 0x8029010E; -pub const TPMAPI_E_INVALID_KEY_SIZE: HRESULT = 0x8029010F; -pub const TPMAPI_E_ENCRYPTION_FAILED: HRESULT = 0x80290110; -pub const TPMAPI_E_INVALID_KEY_PARAMS: HRESULT = 0x80290111; -pub const TPMAPI_E_INVALID_MIGRATION_AUTHORIZATION_BLOB: HRESULT = 0x80290112; -pub const TPMAPI_E_INVALID_PCR_INDEX: HRESULT = 0x80290113; -pub const TPMAPI_E_INVALID_DELEGATE_BLOB: HRESULT = 0x80290114; -pub const TPMAPI_E_INVALID_CONTEXT_PARAMS: HRESULT = 0x80290115; -pub const TPMAPI_E_INVALID_KEY_BLOB: HRESULT = 0x80290116; -pub const TPMAPI_E_INVALID_PCR_DATA: HRESULT = 0x80290117; -pub const TPMAPI_E_INVALID_OWNER_AUTH: HRESULT = 0x80290118; -pub const TPMAPI_E_FIPS_RNG_CHECK_FAILED: HRESULT = 0x80290119; -pub const TPMAPI_E_EMPTY_TCG_LOG: HRESULT = 0x8029011A; -pub const TPMAPI_E_INVALID_TCG_LOG_ENTRY: HRESULT = 0x8029011B; -pub const TPMAPI_E_TCG_SEPARATOR_ABSENT: HRESULT = 0x8029011C; -pub const TPMAPI_E_TCG_INVALID_DIGEST_ENTRY: HRESULT = 0x8029011D; -pub const TPMAPI_E_POLICY_DENIES_OPERATION: HRESULT = 0x8029011E; -pub const TBSIMP_E_BUFFER_TOO_SMALL: HRESULT = 0x80290200; -pub const TBSIMP_E_CLEANUP_FAILED: HRESULT = 0x80290201; -pub const TBSIMP_E_INVALID_CONTEXT_HANDLE: HRESULT = 0x80290202; -pub const TBSIMP_E_INVALID_CONTEXT_PARAM: HRESULT = 0x80290203; -pub const TBSIMP_E_TPM_ERROR: HRESULT = 0x80290204; -pub const TBSIMP_E_HASH_BAD_KEY: HRESULT = 0x80290205; -pub const TBSIMP_E_DUPLICATE_VHANDLE: HRESULT = 0x80290206; -pub const TBSIMP_E_INVALID_OUTPUT_POINTER: HRESULT = 0x80290207; -pub const TBSIMP_E_INVALID_PARAMETER: HRESULT = 0x80290208; -pub const TBSIMP_E_RPC_INIT_FAILED: HRESULT = 0x80290209; -pub const TBSIMP_E_SCHEDULER_NOT_RUNNING: HRESULT = 0x8029020A; -pub const TBSIMP_E_COMMAND_CANCELED: HRESULT = 0x8029020B; -pub const TBSIMP_E_OUT_OF_MEMORY: HRESULT = 0x8029020C; -pub const TBSIMP_E_LIST_NO_MORE_ITEMS: HRESULT = 0x8029020D; -pub const TBSIMP_E_LIST_NOT_FOUND: HRESULT = 0x8029020E; -pub const TBSIMP_E_NOT_ENOUGH_SPACE: HRESULT = 0x8029020F; -pub const TBSIMP_E_NOT_ENOUGH_TPM_CONTEXTS: HRESULT = 0x80290210; -pub const TBSIMP_E_COMMAND_FAILED: HRESULT = 0x80290211; -pub const TBSIMP_E_UNKNOWN_ORDINAL: HRESULT = 0x80290212; -pub const TBSIMP_E_RESOURCE_EXPIRED: HRESULT = 0x80290213; -pub const TBSIMP_E_INVALID_RESOURCE: HRESULT = 0x80290214; -pub const TBSIMP_E_NOTHING_TO_UNLOAD: HRESULT = 0x80290215; -pub const TBSIMP_E_HASH_TABLE_FULL: HRESULT = 0x80290216; -pub const TBSIMP_E_TOO_MANY_TBS_CONTEXTS: HRESULT = 0x80290217; -pub const TBSIMP_E_TOO_MANY_RESOURCES: HRESULT = 0x80290218; -pub const TBSIMP_E_PPI_NOT_SUPPORTED: HRESULT = 0x80290219; -pub const TBSIMP_E_TPM_INCOMPATIBLE: HRESULT = 0x8029021A; -pub const TBSIMP_E_NO_EVENT_LOG: HRESULT = 0x8029021B; -pub const TPM_E_PPI_ACPI_FAILURE: HRESULT = 0x80290300; -pub const TPM_E_PPI_USER_ABORT: HRESULT = 0x80290301; -pub const TPM_E_PPI_BIOS_FAILURE: HRESULT = 0x80290302; -pub const TPM_E_PPI_NOT_SUPPORTED: HRESULT = 0x80290303; -pub const TPM_E_PPI_BLOCKED_IN_BIOS: HRESULT = 0x80290304; -pub const TPM_E_PCP_ERROR_MASK: HRESULT = 0x80290400; -pub const TPM_E_PCP_DEVICE_NOT_READY: HRESULT = 0x80290401; -pub const TPM_E_PCP_INVALID_HANDLE: HRESULT = 0x80290402; -pub const TPM_E_PCP_INVALID_PARAMETER: HRESULT = 0x80290403; -pub const TPM_E_PCP_FLAG_NOT_SUPPORTED: HRESULT = 0x80290404; -pub const TPM_E_PCP_NOT_SUPPORTED: HRESULT = 0x80290405; -pub const TPM_E_PCP_BUFFER_TOO_SMALL: HRESULT = 0x80290406; -pub const TPM_E_PCP_INTERNAL_ERROR: HRESULT = 0x80290407; -pub const TPM_E_PCP_AUTHENTICATION_FAILED: HRESULT = 0x80290408; -pub const TPM_E_PCP_AUTHENTICATION_IGNORED: HRESULT = 0x80290409; -pub const TPM_E_PCP_POLICY_NOT_FOUND: HRESULT = 0x8029040A; -pub const TPM_E_PCP_PROFILE_NOT_FOUND: HRESULT = 0x8029040B; -pub const TPM_E_PCP_VALIDATION_FAILED: HRESULT = 0x8029040C; -pub const PLA_E_DCS_NOT_FOUND: HRESULT = 0x80300002; -pub const PLA_E_DCS_IN_USE: HRESULT = 0x803000AA; -pub const PLA_E_TOO_MANY_FOLDERS: HRESULT = 0x80300045; -pub const PLA_E_NO_MIN_DISK: HRESULT = 0x80300070; -pub const PLA_E_DCS_ALREADY_EXISTS: HRESULT = 0x803000B7; -pub const PLA_S_PROPERTY_IGNORED: HRESULT = 0x00300100; -pub const PLA_E_PROPERTY_CONFLICT: HRESULT = 0x80300101; -pub const PLA_E_DCS_SINGLETON_REQUIRED: HRESULT = 0x80300102; -pub const PLA_E_CREDENTIALS_REQUIRED: HRESULT = 0x80300103; -pub const PLA_E_DCS_NOT_RUNNING: HRESULT = 0x80300104; -pub const PLA_E_CONFLICT_INCL_EXCL_API: HRESULT = 0x80300105; -pub const PLA_E_NETWORK_EXE_NOT_VALID: HRESULT = 0x80300106; -pub const PLA_E_EXE_ALREADY_CONFIGURED: HRESULT = 0x80300107; -pub const PLA_E_EXE_PATH_NOT_VALID: HRESULT = 0x80300108; -pub const PLA_E_DC_ALREADY_EXISTS: HRESULT = 0x80300109; -pub const PLA_E_DCS_START_WAIT_TIMEOUT: HRESULT = 0x8030010A; -pub const PLA_E_DC_START_WAIT_TIMEOUT: HRESULT = 0x8030010B; -pub const PLA_E_REPORT_WAIT_TIMEOUT: HRESULT = 0x8030010C; -pub const PLA_E_NO_DUPLICATES: HRESULT = 0x8030010D; -pub const PLA_E_EXE_FULL_PATH_REQUIRED: HRESULT = 0x8030010E; -pub const PLA_E_INVALID_SESSION_NAME: HRESULT = 0x8030010F; -pub const PLA_E_PLA_CHANNEL_NOT_ENABLED: HRESULT = 0x80300110; -pub const PLA_E_TASKSCHED_CHANNEL_NOT_ENABLED: HRESULT = 0x80300111; -pub const PLA_E_RULES_MANAGER_FAILED: HRESULT = 0x80300112; -pub const PLA_E_CABAPI_FAILURE: HRESULT = 0x80300113; -pub const FVE_E_LOCKED_VOLUME: HRESULT = 0x80310000; -pub const FVE_E_NOT_ENCRYPTED: HRESULT = 0x80310001; -pub const FVE_E_NO_TPM_BIOS: HRESULT = 0x80310002; -pub const FVE_E_NO_MBR_METRIC: HRESULT = 0x80310003; -pub const FVE_E_NO_BOOTSECTOR_METRIC: HRESULT = 0x80310004; -pub const FVE_E_NO_BOOTMGR_METRIC: HRESULT = 0x80310005; -pub const FVE_E_WRONG_BOOTMGR: HRESULT = 0x80310006; -pub const FVE_E_SECURE_KEY_REQUIRED: HRESULT = 0x80310007; -pub const FVE_E_NOT_ACTIVATED: HRESULT = 0x80310008; -pub const FVE_E_ACTION_NOT_ALLOWED: HRESULT = 0x80310009; -pub const FVE_E_AD_SCHEMA_NOT_INSTALLED: HRESULT = 0x8031000A; -pub const FVE_E_AD_INVALID_DATATYPE: HRESULT = 0x8031000B; -pub const FVE_E_AD_INVALID_DATASIZE: HRESULT = 0x8031000C; -pub const FVE_E_AD_NO_VALUES: HRESULT = 0x8031000D; -pub const FVE_E_AD_ATTR_NOT_SET: HRESULT = 0x8031000E; -pub const FVE_E_AD_GUID_NOT_FOUND: HRESULT = 0x8031000F; -pub const FVE_E_BAD_INFORMATION: HRESULT = 0x80310010; -pub const FVE_E_TOO_SMALL: HRESULT = 0x80310011; -pub const FVE_E_SYSTEM_VOLUME: HRESULT = 0x80310012; -pub const FVE_E_FAILED_WRONG_FS: HRESULT = 0x80310013; -pub const FVE_E_BAD_PARTITION_SIZE: HRESULT = 0x80310014; -pub const FVE_E_NOT_SUPPORTED: HRESULT = 0x80310015; -pub const FVE_E_BAD_DATA: HRESULT = 0x80310016; -pub const FVE_E_VOLUME_NOT_BOUND: HRESULT = 0x80310017; -pub const FVE_E_TPM_NOT_OWNED: HRESULT = 0x80310018; -pub const FVE_E_NOT_DATA_VOLUME: HRESULT = 0x80310019; -pub const FVE_E_AD_INSUFFICIENT_BUFFER: HRESULT = 0x8031001A; -pub const FVE_E_CONV_READ: HRESULT = 0x8031001B; -pub const FVE_E_CONV_WRITE: HRESULT = 0x8031001C; -pub const FVE_E_KEY_REQUIRED: HRESULT = 0x8031001D; -pub const FVE_E_CLUSTERING_NOT_SUPPORTED: HRESULT = 0x8031001E; -pub const FVE_E_VOLUME_BOUND_ALREADY: HRESULT = 0x8031001F; -pub const FVE_E_OS_NOT_PROTECTED: HRESULT = 0x80310020; -pub const FVE_E_PROTECTION_DISABLED: HRESULT = 0x80310021; -pub const FVE_E_RECOVERY_KEY_REQUIRED: HRESULT = 0x80310022; -pub const FVE_E_FOREIGN_VOLUME: HRESULT = 0x80310023; -pub const FVE_E_OVERLAPPED_UPDATE: HRESULT = 0x80310024; -pub const FVE_E_TPM_SRK_AUTH_NOT_ZERO: HRESULT = 0x80310025; -pub const FVE_E_FAILED_SECTOR_SIZE: HRESULT = 0x80310026; -pub const FVE_E_FAILED_AUTHENTICATION: HRESULT = 0x80310027; -pub const FVE_E_NOT_OS_VOLUME: HRESULT = 0x80310028; -pub const FVE_E_AUTOUNLOCK_ENABLED: HRESULT = 0x80310029; -pub const FVE_E_WRONG_BOOTSECTOR: HRESULT = 0x8031002A; -pub const FVE_E_WRONG_SYSTEM_FS: HRESULT = 0x8031002B; -pub const FVE_E_POLICY_PASSWORD_REQUIRED: HRESULT = 0x8031002C; -pub const FVE_E_CANNOT_SET_FVEK_ENCRYPTED: HRESULT = 0x8031002D; -pub const FVE_E_CANNOT_ENCRYPT_NO_KEY: HRESULT = 0x8031002E; -pub const FVE_E_BOOTABLE_CDDVD: HRESULT = 0x80310030; -pub const FVE_E_PROTECTOR_EXISTS: HRESULT = 0x80310031; -pub const FVE_E_RELATIVE_PATH: HRESULT = 0x80310032; -pub const FVE_E_PROTECTOR_NOT_FOUND: HRESULT = 0x80310033; -pub const FVE_E_INVALID_KEY_FORMAT: HRESULT = 0x80310034; -pub const FVE_E_INVALID_PASSWORD_FORMAT: HRESULT = 0x80310035; -pub const FVE_E_FIPS_RNG_CHECK_FAILED: HRESULT = 0x80310036; -pub const FVE_E_FIPS_PREVENTS_RECOVERY_PASSWORD: HRESULT = 0x80310037; -pub const FVE_E_FIPS_PREVENTS_EXTERNAL_KEY_EXPORT: HRESULT = 0x80310038; -pub const FVE_E_NOT_DECRYPTED: HRESULT = 0x80310039; -pub const FVE_E_INVALID_PROTECTOR_TYPE: HRESULT = 0x8031003A; -pub const FVE_E_NO_PROTECTORS_TO_TEST: HRESULT = 0x8031003B; -pub const FVE_E_KEYFILE_NOT_FOUND: HRESULT = 0x8031003C; -pub const FVE_E_KEYFILE_INVALID: HRESULT = 0x8031003D; -pub const FVE_E_KEYFILE_NO_VMK: HRESULT = 0x8031003E; -pub const FVE_E_TPM_DISABLED: HRESULT = 0x8031003F; -pub const FVE_E_NOT_ALLOWED_IN_SAFE_MODE: HRESULT = 0x80310040; -pub const FVE_E_TPM_INVALID_PCR: HRESULT = 0x80310041; -pub const FVE_E_TPM_NO_VMK: HRESULT = 0x80310042; -pub const FVE_E_PIN_INVALID: HRESULT = 0x80310043; -pub const FVE_E_AUTH_INVALID_APPLICATION: HRESULT = 0x80310044; -pub const FVE_E_AUTH_INVALID_CONFIG: HRESULT = 0x80310045; -pub const FVE_E_FIPS_DISABLE_PROTECTION_NOT_ALLOWED: HRESULT = 0x80310046; -pub const FVE_E_FS_NOT_EXTENDED: HRESULT = 0x80310047; -pub const FVE_E_FIRMWARE_TYPE_NOT_SUPPORTED: HRESULT = 0x80310048; -pub const FVE_E_NO_LICENSE: HRESULT = 0x80310049; -pub const FVE_E_NOT_ON_STACK: HRESULT = 0x8031004A; -pub const FVE_E_FS_MOUNTED: HRESULT = 0x8031004B; -pub const FVE_E_TOKEN_NOT_IMPERSONATED: HRESULT = 0x8031004C; -pub const FVE_E_DRY_RUN_FAILED: HRESULT = 0x8031004D; -pub const FVE_E_REBOOT_REQUIRED: HRESULT = 0x8031004E; -pub const FVE_E_DEBUGGER_ENABLED: HRESULT = 0x8031004F; -pub const FVE_E_RAW_ACCESS: HRESULT = 0x80310050; -pub const FVE_E_RAW_BLOCKED: HRESULT = 0x80310051; -pub const FVE_E_BCD_APPLICATIONS_PATH_INCORRECT: HRESULT = 0x80310052; -pub const FVE_E_NOT_ALLOWED_IN_VERSION: HRESULT = 0x80310053; -pub const FVE_E_NO_AUTOUNLOCK_MASTER_KEY: HRESULT = 0x80310054; -pub const FVE_E_MOR_FAILED: HRESULT = 0x80310055; -pub const FVE_E_HIDDEN_VOLUME: HRESULT = 0x80310056; -pub const FVE_E_TRANSIENT_STATE: HRESULT = 0x80310057; -pub const FVE_E_PUBKEY_NOT_ALLOWED: HRESULT = 0x80310058; -pub const FVE_E_VOLUME_HANDLE_OPEN: HRESULT = 0x80310059; -pub const FVE_E_NO_FEATURE_LICENSE: HRESULT = 0x8031005A; -pub const FVE_E_INVALID_STARTUP_OPTIONS: HRESULT = 0x8031005B; -pub const FVE_E_POLICY_RECOVERY_PASSWORD_NOT_ALLOWED: HRESULT = 0x8031005C; -pub const FVE_E_POLICY_RECOVERY_PASSWORD_REQUIRED: HRESULT = 0x8031005D; -pub const FVE_E_POLICY_RECOVERY_KEY_NOT_ALLOWED: HRESULT = 0x8031005E; -pub const FVE_E_POLICY_RECOVERY_KEY_REQUIRED: HRESULT = 0x8031005F; -pub const FVE_E_POLICY_STARTUP_PIN_NOT_ALLOWED: HRESULT = 0x80310060; -pub const FVE_E_POLICY_STARTUP_PIN_REQUIRED: HRESULT = 0x80310061; -pub const FVE_E_POLICY_STARTUP_KEY_NOT_ALLOWED: HRESULT = 0x80310062; -pub const FVE_E_POLICY_STARTUP_KEY_REQUIRED: HRESULT = 0x80310063; -pub const FVE_E_POLICY_STARTUP_PIN_KEY_NOT_ALLOWED: HRESULT = 0x80310064; -pub const FVE_E_POLICY_STARTUP_PIN_KEY_REQUIRED: HRESULT = 0x80310065; -pub const FVE_E_POLICY_STARTUP_TPM_NOT_ALLOWED: HRESULT = 0x80310066; -pub const FVE_E_POLICY_STARTUP_TPM_REQUIRED: HRESULT = 0x80310067; -pub const FVE_E_POLICY_INVALID_PIN_LENGTH: HRESULT = 0x80310068; -pub const FVE_E_KEY_PROTECTOR_NOT_SUPPORTED: HRESULT = 0x80310069; -pub const FVE_E_POLICY_PASSPHRASE_NOT_ALLOWED: HRESULT = 0x8031006A; -pub const FVE_E_POLICY_PASSPHRASE_REQUIRED: HRESULT = 0x8031006B; -pub const FVE_E_FIPS_PREVENTS_PASSPHRASE: HRESULT = 0x8031006C; -pub const FVE_E_OS_VOLUME_PASSPHRASE_NOT_ALLOWED: HRESULT = 0x8031006D; -pub const FVE_E_INVALID_BITLOCKER_OID: HRESULT = 0x8031006E; -pub const FVE_E_VOLUME_TOO_SMALL: HRESULT = 0x8031006F; -pub const FVE_E_DV_NOT_SUPPORTED_ON_FS: HRESULT = 0x80310070; -pub const FVE_E_DV_NOT_ALLOWED_BY_GP: HRESULT = 0x80310071; -pub const FVE_E_POLICY_USER_CERTIFICATE_NOT_ALLOWED: HRESULT = 0x80310072; -pub const FVE_E_POLICY_USER_CERTIFICATE_REQUIRED: HRESULT = 0x80310073; -pub const FVE_E_POLICY_USER_CERT_MUST_BE_HW: HRESULT = 0x80310074; -pub const FVE_E_POLICY_USER_CONFIGURE_FDV_AUTOUNLOCK_NOT_ALLOWED: HRESULT - = 0x80310075; -pub const FVE_E_POLICY_USER_CONFIGURE_RDV_AUTOUNLOCK_NOT_ALLOWED: HRESULT - = 0x80310076; -pub const FVE_E_POLICY_USER_CONFIGURE_RDV_NOT_ALLOWED: HRESULT = 0x80310077; -pub const FVE_E_POLICY_USER_ENABLE_RDV_NOT_ALLOWED: HRESULT = 0x80310078; -pub const FVE_E_POLICY_USER_DISABLE_RDV_NOT_ALLOWED: HRESULT = 0x80310079; -pub const FVE_E_POLICY_INVALID_PASSPHRASE_LENGTH: HRESULT = 0x80310080; -pub const FVE_E_POLICY_PASSPHRASE_TOO_SIMPLE: HRESULT = 0x80310081; -pub const FVE_E_RECOVERY_PARTITION: HRESULT = 0x80310082; -pub const FVE_E_POLICY_CONFLICT_FDV_RK_OFF_AUK_ON: HRESULT = 0x80310083; -pub const FVE_E_POLICY_CONFLICT_RDV_RK_OFF_AUK_ON: HRESULT = 0x80310084; -pub const FVE_E_NON_BITLOCKER_OID: HRESULT = 0x80310085; -pub const FVE_E_POLICY_PROHIBITS_SELFSIGNED: HRESULT = 0x80310086; -pub const FVE_E_POLICY_CONFLICT_RO_AND_STARTUP_KEY_REQUIRED: HRESULT = 0x80310087; -pub const FVE_E_CONV_RECOVERY_FAILED: HRESULT = 0x80310088; -pub const FVE_E_VIRTUALIZED_SPACE_TOO_BIG: HRESULT = 0x80310089; -pub const FVE_E_POLICY_CONFLICT_OSV_RP_OFF_ADB_ON: HRESULT = 0x80310090; -pub const FVE_E_POLICY_CONFLICT_FDV_RP_OFF_ADB_ON: HRESULT = 0x80310091; -pub const FVE_E_POLICY_CONFLICT_RDV_RP_OFF_ADB_ON: HRESULT = 0x80310092; -pub const FVE_E_NON_BITLOCKER_KU: HRESULT = 0x80310093; -pub const FVE_E_PRIVATEKEY_AUTH_FAILED: HRESULT = 0x80310094; -pub const FVE_E_REMOVAL_OF_DRA_FAILED: HRESULT = 0x80310095; -pub const FVE_E_OPERATION_NOT_SUPPORTED_ON_VISTA_VOLUME: HRESULT = 0x80310096; -pub const FVE_E_CANT_LOCK_AUTOUNLOCK_ENABLED_VOLUME: HRESULT = 0x80310097; -pub const FVE_E_FIPS_HASH_KDF_NOT_ALLOWED: HRESULT = 0x80310098; -pub const FVE_E_ENH_PIN_INVALID: HRESULT = 0x80310099; -pub const FVE_E_INVALID_PIN_CHARS: HRESULT = 0x8031009A; -pub const FVE_E_INVALID_DATUM_TYPE: HRESULT = 0x8031009B; -pub const FVE_E_EFI_ONLY: HRESULT = 0x8031009C; -pub const FVE_E_MULTIPLE_NKP_CERTS: HRESULT = 0x8031009D; -pub const FVE_E_REMOVAL_OF_NKP_FAILED: HRESULT = 0x8031009E; -pub const FVE_E_INVALID_NKP_CERT: HRESULT = 0x8031009F; -pub const FVE_E_NO_EXISTING_PIN: HRESULT = 0x803100A0; -pub const FVE_E_PROTECTOR_CHANGE_PIN_MISMATCH: HRESULT = 0x803100A1; -pub const FVE_E_PIN_PROTECTOR_CHANGE_BY_STD_USER_DISALLOWED: HRESULT = 0x803100A2; -pub const FVE_E_PROTECTOR_CHANGE_MAX_PIN_CHANGE_ATTEMPTS_REACHED: HRESULT - = 0x803100A3; -pub const FVE_E_POLICY_PASSPHRASE_REQUIRES_ASCII: HRESULT = 0x803100A4; -pub const FVE_E_FULL_ENCRYPTION_NOT_ALLOWED_ON_TP_STORAGE: HRESULT = 0x803100A5; -pub const FVE_E_WIPE_NOT_ALLOWED_ON_TP_STORAGE: HRESULT = 0x803100A6; -pub const FVE_E_KEY_LENGTH_NOT_SUPPORTED_BY_EDRIVE: HRESULT = 0x803100A7; -pub const FVE_E_NO_EXISTING_PASSPHRASE: HRESULT = 0x803100A8; -pub const FVE_E_PROTECTOR_CHANGE_PASSPHRASE_MISMATCH: HRESULT = 0x803100A9; -pub const FVE_E_PASSPHRASE_TOO_LONG: HRESULT = 0x803100AA; -pub const FVE_E_NO_PASSPHRASE_WITH_TPM: HRESULT = 0x803100AB; -pub const FVE_E_NO_TPM_WITH_PASSPHRASE: HRESULT = 0x803100AC; -pub const FVE_E_NOT_ALLOWED_ON_CSV_STACK: HRESULT = 0x803100AD; -pub const FVE_E_NOT_ALLOWED_ON_CLUSTER: HRESULT = 0x803100AE; -pub const FVE_E_EDRIVE_NO_FAILOVER_TO_SW: HRESULT = 0x803100AF; -pub const FVE_E_EDRIVE_BAND_IN_USE: HRESULT = 0x803100B0; -pub const FVE_E_EDRIVE_DISALLOWED_BY_GP: HRESULT = 0x803100B1; -pub const FVE_E_EDRIVE_INCOMPATIBLE_VOLUME: HRESULT = 0x803100B2; -pub const FVE_E_NOT_ALLOWED_TO_UPGRADE_WHILE_CONVERTING: HRESULT = 0x803100B3; -pub const FVE_E_EDRIVE_DV_NOT_SUPPORTED: HRESULT = 0x803100B4; -pub const FVE_E_NO_PREBOOT_KEYBOARD_DETECTED: HRESULT = 0x803100B5; -pub const FVE_E_NO_PREBOOT_KEYBOARD_OR_WINRE_DETECTED: HRESULT = 0x803100B6; -pub const FVE_E_POLICY_REQUIRES_STARTUP_PIN_ON_TOUCH_DEVICE: HRESULT = 0x803100B7; -pub const FVE_E_POLICY_REQUIRES_RECOVERY_PASSWORD_ON_TOUCH_DEVICE: HRESULT - = 0x803100B8; -pub const FVE_E_WIPE_CANCEL_NOT_APPLICABLE: HRESULT = 0x803100B9; -pub const FVE_E_SECUREBOOT_DISABLED: HRESULT = 0x803100BA; -pub const FVE_E_SECUREBOOT_CONFIGURATION_INVALID: HRESULT = 0x803100BB; -pub const FVE_E_EDRIVE_DRY_RUN_FAILED: HRESULT = 0x803100BC; -pub const FVE_E_SHADOW_COPY_PRESENT: HRESULT = 0x803100BD; -pub const FVE_E_POLICY_INVALID_ENHANCED_BCD_SETTINGS: HRESULT = 0x803100BE; -pub const FVE_E_EDRIVE_INCOMPATIBLE_FIRMWARE: HRESULT = 0x803100BF; -pub const FVE_E_PROTECTOR_CHANGE_MAX_PASSPHRASE_CHANGE_ATTEMPTS_REACHED: HRESULT - = 0x803100C0; -pub const FVE_E_PASSPHRASE_PROTECTOR_CHANGE_BY_STD_USER_DISALLOWED: HRESULT - = 0x803100C1; -pub const FVE_E_LIVEID_ACCOUNT_SUSPENDED: HRESULT = 0x803100C2; -pub const FVE_E_LIVEID_ACCOUNT_BLOCKED: HRESULT = 0x803100C3; -pub const FVE_E_NOT_PROVISIONED_ON_ALL_VOLUMES: HRESULT = 0x803100C4; -pub const FVE_E_DE_FIXED_DATA_NOT_SUPPORTED: HRESULT = 0x803100C5; -pub const FVE_E_DE_HARDWARE_NOT_COMPLIANT: HRESULT = 0x803100C6; -pub const FVE_E_DE_WINRE_NOT_CONFIGURED: HRESULT = 0x803100C7; -pub const FVE_E_DE_PROTECTION_SUSPENDED: HRESULT = 0x803100C8; -pub const FVE_E_DE_OS_VOLUME_NOT_PROTECTED: HRESULT = 0x803100C9; -pub const FVE_E_DE_DEVICE_LOCKEDOUT: HRESULT = 0x803100CA; -pub const FVE_E_DE_PROTECTION_NOT_YET_ENABLED: HRESULT = 0x803100CB; -pub const FVE_E_INVALID_PIN_CHARS_DETAILED: HRESULT = 0x803100CC; -pub const FVE_E_DEVICE_LOCKOUT_COUNTER_UNAVAILABLE: HRESULT = 0x803100CD; -pub const FVE_E_DEVICELOCKOUT_COUNTER_MISMATCH: HRESULT = 0x803100CE; -pub const FVE_E_BUFFER_TOO_LARGE: HRESULT = 0x803100CF; -pub const FVE_E_NO_SUCH_CAPABILITY_ON_TARGET: HRESULT = 0x803100D0; -pub const FVE_E_DE_PREVENTED_FOR_OS: HRESULT = 0x803100D1; -pub const FVE_E_DE_VOLUME_OPTED_OUT: HRESULT = 0x803100D2; -pub const FVE_E_DE_VOLUME_NOT_SUPPORTED: HRESULT = 0x803100D3; -pub const FVE_E_EOW_NOT_SUPPORTED_IN_VERSION: HRESULT = 0x803100D4; -pub const FVE_E_ADBACKUP_NOT_ENABLED: HRESULT = 0x803100D5; -pub const FVE_E_VOLUME_EXTEND_PREVENTS_EOW_DECRYPT: HRESULT = 0x803100D6; -pub const FVE_E_NOT_DE_VOLUME: HRESULT = 0x803100D7; -pub const FVE_E_PROTECTION_CANNOT_BE_DISABLED: HRESULT = 0x803100D8; -pub const FWP_E_CALLOUT_NOT_FOUND: HRESULT = 0x80320001; -pub const FWP_E_CONDITION_NOT_FOUND: HRESULT = 0x80320002; -pub const FWP_E_FILTER_NOT_FOUND: HRESULT = 0x80320003; -pub const FWP_E_LAYER_NOT_FOUND: HRESULT = 0x80320004; -pub const FWP_E_PROVIDER_NOT_FOUND: HRESULT = 0x80320005; -pub const FWP_E_PROVIDER_CONTEXT_NOT_FOUND: HRESULT = 0x80320006; -pub const FWP_E_SUBLAYER_NOT_FOUND: HRESULT = 0x80320007; -pub const FWP_E_NOT_FOUND: HRESULT = 0x80320008; -pub const FWP_E_ALREADY_EXISTS: HRESULT = 0x80320009; -pub const FWP_E_IN_USE: HRESULT = 0x8032000A; -pub const FWP_E_DYNAMIC_SESSION_IN_PROGRESS: HRESULT = 0x8032000B; -pub const FWP_E_WRONG_SESSION: HRESULT = 0x8032000C; -pub const FWP_E_NO_TXN_IN_PROGRESS: HRESULT = 0x8032000D; -pub const FWP_E_TXN_IN_PROGRESS: HRESULT = 0x8032000E; -pub const FWP_E_TXN_ABORTED: HRESULT = 0x8032000F; -pub const FWP_E_SESSION_ABORTED: HRESULT = 0x80320010; -pub const FWP_E_INCOMPATIBLE_TXN: HRESULT = 0x80320011; -pub const FWP_E_TIMEOUT: HRESULT = 0x80320012; -pub const FWP_E_NET_EVENTS_DISABLED: HRESULT = 0x80320013; -pub const FWP_E_INCOMPATIBLE_LAYER: HRESULT = 0x80320014; -pub const FWP_E_KM_CLIENTS_ONLY: HRESULT = 0x80320015; -pub const FWP_E_LIFETIME_MISMATCH: HRESULT = 0x80320016; -pub const FWP_E_BUILTIN_OBJECT: HRESULT = 0x80320017; -pub const FWP_E_TOO_MANY_CALLOUTS: HRESULT = 0x80320018; -pub const FWP_E_NOTIFICATION_DROPPED: HRESULT = 0x80320019; -pub const FWP_E_TRAFFIC_MISMATCH: HRESULT = 0x8032001A; -pub const FWP_E_INCOMPATIBLE_SA_STATE: HRESULT = 0x8032001B; -pub const FWP_E_NULL_POINTER: HRESULT = 0x8032001C; -pub const FWP_E_INVALID_ENUMERATOR: HRESULT = 0x8032001D; -pub const FWP_E_INVALID_FLAGS: HRESULT = 0x8032001E; -pub const FWP_E_INVALID_NET_MASK: HRESULT = 0x8032001F; -pub const FWP_E_INVALID_RANGE: HRESULT = 0x80320020; -pub const FWP_E_INVALID_INTERVAL: HRESULT = 0x80320021; -pub const FWP_E_ZERO_LENGTH_ARRAY: HRESULT = 0x80320022; -pub const FWP_E_NULL_DISPLAY_NAME: HRESULT = 0x80320023; -pub const FWP_E_INVALID_ACTION_TYPE: HRESULT = 0x80320024; -pub const FWP_E_INVALID_WEIGHT: HRESULT = 0x80320025; -pub const FWP_E_MATCH_TYPE_MISMATCH: HRESULT = 0x80320026; -pub const FWP_E_TYPE_MISMATCH: HRESULT = 0x80320027; -pub const FWP_E_OUT_OF_BOUNDS: HRESULT = 0x80320028; -pub const FWP_E_RESERVED: HRESULT = 0x80320029; -pub const FWP_E_DUPLICATE_CONDITION: HRESULT = 0x8032002A; -pub const FWP_E_DUPLICATE_KEYMOD: HRESULT = 0x8032002B; -pub const FWP_E_ACTION_INCOMPATIBLE_WITH_LAYER: HRESULT = 0x8032002C; -pub const FWP_E_ACTION_INCOMPATIBLE_WITH_SUBLAYER: HRESULT = 0x8032002D; -pub const FWP_E_CONTEXT_INCOMPATIBLE_WITH_LAYER: HRESULT = 0x8032002E; -pub const FWP_E_CONTEXT_INCOMPATIBLE_WITH_CALLOUT: HRESULT = 0x8032002F; -pub const FWP_E_INCOMPATIBLE_AUTH_METHOD: HRESULT = 0x80320030; -pub const FWP_E_INCOMPATIBLE_DH_GROUP: HRESULT = 0x80320031; -pub const FWP_E_EM_NOT_SUPPORTED: HRESULT = 0x80320032; -pub const FWP_E_NEVER_MATCH: HRESULT = 0x80320033; -pub const FWP_E_PROVIDER_CONTEXT_MISMATCH: HRESULT = 0x80320034; -pub const FWP_E_INVALID_PARAMETER: HRESULT = 0x80320035; -pub const FWP_E_TOO_MANY_SUBLAYERS: HRESULT = 0x80320036; -pub const FWP_E_CALLOUT_NOTIFICATION_FAILED: HRESULT = 0x80320037; -pub const FWP_E_INVALID_AUTH_TRANSFORM: HRESULT = 0x80320038; -pub const FWP_E_INVALID_CIPHER_TRANSFORM: HRESULT = 0x80320039; -pub const FWP_E_INCOMPATIBLE_CIPHER_TRANSFORM: HRESULT = 0x8032003A; -pub const FWP_E_INVALID_TRANSFORM_COMBINATION: HRESULT = 0x8032003B; -pub const FWP_E_DUPLICATE_AUTH_METHOD: HRESULT = 0x8032003C; -pub const FWP_E_INVALID_TUNNEL_ENDPOINT: HRESULT = 0x8032003D; -pub const FWP_E_L2_DRIVER_NOT_READY: HRESULT = 0x8032003E; -pub const FWP_E_KEY_DICTATOR_ALREADY_REGISTERED: HRESULT = 0x8032003F; -pub const FWP_E_KEY_DICTATION_INVALID_KEYING_MATERIAL: HRESULT = 0x80320040; -pub const FWP_E_CONNECTIONS_DISABLED: HRESULT = 0x80320041; -pub const FWP_E_INVALID_DNS_NAME: HRESULT = 0x80320042; -pub const FWP_E_STILL_ON: HRESULT = 0x80320043; -pub const FWP_E_IKEEXT_NOT_RUNNING: HRESULT = 0x80320044; -pub const FWP_E_DROP_NOICMP: HRESULT = 0x80320104; -pub const WS_S_ASYNC: HRESULT = 0x003D0000; -pub const WS_S_END: HRESULT = 0x003D0001; -pub const WS_E_INVALID_FORMAT: HRESULT = 0x803D0000; -pub const WS_E_OBJECT_FAULTED: HRESULT = 0x803D0001; -pub const WS_E_NUMERIC_OVERFLOW: HRESULT = 0x803D0002; -pub const WS_E_INVALID_OPERATION: HRESULT = 0x803D0003; -pub const WS_E_OPERATION_ABORTED: HRESULT = 0x803D0004; -pub const WS_E_ENDPOINT_ACCESS_DENIED: HRESULT = 0x803D0005; -pub const WS_E_OPERATION_TIMED_OUT: HRESULT = 0x803D0006; -pub const WS_E_OPERATION_ABANDONED: HRESULT = 0x803D0007; -pub const WS_E_QUOTA_EXCEEDED: HRESULT = 0x803D0008; -pub const WS_E_NO_TRANSLATION_AVAILABLE: HRESULT = 0x803D0009; -pub const WS_E_SECURITY_VERIFICATION_FAILURE: HRESULT = 0x803D000A; -pub const WS_E_ADDRESS_IN_USE: HRESULT = 0x803D000B; -pub const WS_E_ADDRESS_NOT_AVAILABLE: HRESULT = 0x803D000C; -pub const WS_E_ENDPOINT_NOT_FOUND: HRESULT = 0x803D000D; -pub const WS_E_ENDPOINT_NOT_AVAILABLE: HRESULT = 0x803D000E; -pub const WS_E_ENDPOINT_FAILURE: HRESULT = 0x803D000F; -pub const WS_E_ENDPOINT_UNREACHABLE: HRESULT = 0x803D0010; -pub const WS_E_ENDPOINT_ACTION_NOT_SUPPORTED: HRESULT = 0x803D0011; -pub const WS_E_ENDPOINT_TOO_BUSY: HRESULT = 0x803D0012; -pub const WS_E_ENDPOINT_FAULT_RECEIVED: HRESULT = 0x803D0013; -pub const WS_E_ENDPOINT_DISCONNECTED: HRESULT = 0x803D0014; -pub const WS_E_PROXY_FAILURE: HRESULT = 0x803D0015; -pub const WS_E_PROXY_ACCESS_DENIED: HRESULT = 0x803D0016; -pub const WS_E_NOT_SUPPORTED: HRESULT = 0x803D0017; -pub const WS_E_PROXY_REQUIRES_BASIC_AUTH: HRESULT = 0x803D0018; -pub const WS_E_PROXY_REQUIRES_DIGEST_AUTH: HRESULT = 0x803D0019; -pub const WS_E_PROXY_REQUIRES_NTLM_AUTH: HRESULT = 0x803D001A; -pub const WS_E_PROXY_REQUIRES_NEGOTIATE_AUTH: HRESULT = 0x803D001B; -pub const WS_E_SERVER_REQUIRES_BASIC_AUTH: HRESULT = 0x803D001C; -pub const WS_E_SERVER_REQUIRES_DIGEST_AUTH: HRESULT = 0x803D001D; -pub const WS_E_SERVER_REQUIRES_NTLM_AUTH: HRESULT = 0x803D001E; -pub const WS_E_SERVER_REQUIRES_NEGOTIATE_AUTH: HRESULT = 0x803D001F; -pub const WS_E_INVALID_ENDPOINT_URL: HRESULT = 0x803D0020; -pub const WS_E_OTHER: HRESULT = 0x803D0021; -pub const WS_E_SECURITY_TOKEN_EXPIRED: HRESULT = 0x803D0022; -pub const WS_E_SECURITY_SYSTEM_FAILURE: HRESULT = 0x803D0023; -pub const ERROR_NDIS_INTERFACE_CLOSING: HRESULT = 0x80340002; -pub const ERROR_NDIS_BAD_VERSION: HRESULT = 0x80340004; -pub const ERROR_NDIS_BAD_CHARACTERISTICS: HRESULT = 0x80340005; -pub const ERROR_NDIS_ADAPTER_NOT_FOUND: HRESULT = 0x80340006; -pub const ERROR_NDIS_OPEN_FAILED: HRESULT = 0x80340007; -pub const ERROR_NDIS_DEVICE_FAILED: HRESULT = 0x80340008; -pub const ERROR_NDIS_MULTICAST_FULL: HRESULT = 0x80340009; -pub const ERROR_NDIS_MULTICAST_EXISTS: HRESULT = 0x8034000A; -pub const ERROR_NDIS_MULTICAST_NOT_FOUND: HRESULT = 0x8034000B; -pub const ERROR_NDIS_REQUEST_ABORTED: HRESULT = 0x8034000C; -pub const ERROR_NDIS_RESET_IN_PROGRESS: HRESULT = 0x8034000D; -pub const ERROR_NDIS_NOT_SUPPORTED: HRESULT = 0x803400BB; -pub const ERROR_NDIS_INVALID_PACKET: HRESULT = 0x8034000F; -pub const ERROR_NDIS_ADAPTER_NOT_READY: HRESULT = 0x80340011; -pub const ERROR_NDIS_INVALID_LENGTH: HRESULT = 0x80340014; -pub const ERROR_NDIS_INVALID_DATA: HRESULT = 0x80340015; -pub const ERROR_NDIS_BUFFER_TOO_SHORT: HRESULT = 0x80340016; -pub const ERROR_NDIS_INVALID_OID: HRESULT = 0x80340017; -pub const ERROR_NDIS_ADAPTER_REMOVED: HRESULT = 0x80340018; -pub const ERROR_NDIS_UNSUPPORTED_MEDIA: HRESULT = 0x80340019; -pub const ERROR_NDIS_GROUP_ADDRESS_IN_USE: HRESULT = 0x8034001A; -pub const ERROR_NDIS_FILE_NOT_FOUND: HRESULT = 0x8034001B; -pub const ERROR_NDIS_ERROR_READING_FILE: HRESULT = 0x8034001C; -pub const ERROR_NDIS_ALREADY_MAPPED: HRESULT = 0x8034001D; -pub const ERROR_NDIS_RESOURCE_CONFLICT: HRESULT = 0x8034001E; -pub const ERROR_NDIS_MEDIA_DISCONNECTED: HRESULT = 0x8034001F; -pub const ERROR_NDIS_INVALID_ADDRESS: HRESULT = 0x80340022; -pub const ERROR_NDIS_INVALID_DEVICE_REQUEST: HRESULT = 0x80340010; -pub const ERROR_NDIS_PAUSED: HRESULT = 0x8034002A; -pub const ERROR_NDIS_INTERFACE_NOT_FOUND: HRESULT = 0x8034002B; -pub const ERROR_NDIS_UNSUPPORTED_REVISION: HRESULT = 0x8034002C; -pub const ERROR_NDIS_INVALID_PORT: HRESULT = 0x8034002D; -pub const ERROR_NDIS_INVALID_PORT_STATE: HRESULT = 0x8034002E; -pub const ERROR_NDIS_LOW_POWER_STATE: HRESULT = 0x8034002F; -pub const ERROR_NDIS_REINIT_REQUIRED: HRESULT = 0x80340030; -pub const ERROR_NDIS_DOT11_AUTO_CONFIG_ENABLED: HRESULT = 0x80342000; -pub const ERROR_NDIS_DOT11_MEDIA_IN_USE: HRESULT = 0x80342001; -pub const ERROR_NDIS_DOT11_POWER_STATE_INVALID: HRESULT = 0x80342002; -pub const ERROR_NDIS_PM_WOL_PATTERN_LIST_FULL: HRESULT = 0x80342003; -pub const ERROR_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL: HRESULT = 0x80342004; -pub const ERROR_NDIS_INDICATION_REQUIRED: HRESULT = 0x00340001; -pub const ERROR_NDIS_OFFLOAD_POLICY: HRESULT = 0xC034100F; -pub const ERROR_NDIS_OFFLOAD_CONNECTION_REJECTED: HRESULT = 0xC0341012; -pub const ERROR_NDIS_OFFLOAD_PATH_REJECTED: HRESULT = 0xC0341013; -pub const ERROR_HV_INVALID_HYPERCALL_CODE: HRESULT = 0xC0350002; -pub const ERROR_HV_INVALID_HYPERCALL_INPUT: HRESULT = 0xC0350003; -pub const ERROR_HV_INVALID_ALIGNMENT: HRESULT = 0xC0350004; -pub const ERROR_HV_INVALID_PARAMETER: HRESULT = 0xC0350005; -pub const ERROR_HV_ACCESS_DENIED: HRESULT = 0xC0350006; -pub const ERROR_HV_INVALID_PARTITION_STATE: HRESULT = 0xC0350007; -pub const ERROR_HV_OPERATION_DENIED: HRESULT = 0xC0350008; -pub const ERROR_HV_UNKNOWN_PROPERTY: HRESULT = 0xC0350009; -pub const ERROR_HV_PROPERTY_VALUE_OUT_OF_RANGE: HRESULT = 0xC035000A; -pub const ERROR_HV_INSUFFICIENT_MEMORY: HRESULT = 0xC035000B; -pub const ERROR_HV_PARTITION_TOO_DEEP: HRESULT = 0xC035000C; -pub const ERROR_HV_INVALID_PARTITION_ID: HRESULT = 0xC035000D; -pub const ERROR_HV_INVALID_VP_INDEX: HRESULT = 0xC035000E; -pub const ERROR_HV_INVALID_PORT_ID: HRESULT = 0xC0350011; -pub const ERROR_HV_INVALID_CONNECTION_ID: HRESULT = 0xC0350012; -pub const ERROR_HV_INSUFFICIENT_BUFFERS: HRESULT = 0xC0350013; -pub const ERROR_HV_NOT_ACKNOWLEDGED: HRESULT = 0xC0350014; -pub const ERROR_HV_ACKNOWLEDGED: HRESULT = 0xC0350016; -pub const ERROR_HV_INVALID_SAVE_RESTORE_STATE: HRESULT = 0xC0350017; -pub const ERROR_HV_INVALID_SYNIC_STATE: HRESULT = 0xC0350018; -pub const ERROR_HV_OBJECT_IN_USE: HRESULT = 0xC0350019; -pub const ERROR_HV_INVALID_PROXIMITY_DOMAIN_INFO: HRESULT = 0xC035001A; -pub const ERROR_HV_NO_DATA: HRESULT = 0xC035001B; -pub const ERROR_HV_INACTIVE: HRESULT = 0xC035001C; -pub const ERROR_HV_NO_RESOURCES: HRESULT = 0xC035001D; -pub const ERROR_HV_FEATURE_UNAVAILABLE: HRESULT = 0xC035001E; -pub const ERROR_HV_INSUFFICIENT_BUFFER: HRESULT = 0xC0350033; -pub const ERROR_HV_INSUFFICIENT_DEVICE_DOMAINS: HRESULT = 0xC0350038; -pub const ERROR_HV_INVALID_LP_INDEX: HRESULT = 0xC0350041; -pub const ERROR_HV_NOT_PRESENT: HRESULT = 0xC0351000; -pub const ERROR_VID_DUPLICATE_HANDLER: HRESULT = 0xC0370001; -pub const ERROR_VID_TOO_MANY_HANDLERS: HRESULT = 0xC0370002; -pub const ERROR_VID_QUEUE_FULL: HRESULT = 0xC0370003; -pub const ERROR_VID_HANDLER_NOT_PRESENT: HRESULT = 0xC0370004; -pub const ERROR_VID_INVALID_OBJECT_NAME: HRESULT = 0xC0370005; -pub const ERROR_VID_PARTITION_NAME_TOO_LONG: HRESULT = 0xC0370006; -pub const ERROR_VID_MESSAGE_QUEUE_NAME_TOO_LONG: HRESULT = 0xC0370007; -pub const ERROR_VID_PARTITION_ALREADY_EXISTS: HRESULT = 0xC0370008; -pub const ERROR_VID_PARTITION_DOES_NOT_EXIST: HRESULT = 0xC0370009; -pub const ERROR_VID_PARTITION_NAME_NOT_FOUND: HRESULT = 0xC037000A; -pub const ERROR_VID_MESSAGE_QUEUE_ALREADY_EXISTS: HRESULT = 0xC037000B; -pub const ERROR_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT: HRESULT = 0xC037000C; -pub const ERROR_VID_MB_STILL_REFERENCED: HRESULT = 0xC037000D; -pub const ERROR_VID_CHILD_GPA_PAGE_SET_CORRUPTED: HRESULT = 0xC037000E; -pub const ERROR_VID_INVALID_NUMA_SETTINGS: HRESULT = 0xC037000F; -pub const ERROR_VID_INVALID_NUMA_NODE_INDEX: HRESULT = 0xC0370010; -pub const ERROR_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED: HRESULT = 0xC0370011; -pub const ERROR_VID_INVALID_MEMORY_BLOCK_HANDLE: HRESULT = 0xC0370012; -pub const ERROR_VID_PAGE_RANGE_OVERFLOW: HRESULT = 0xC0370013; -pub const ERROR_VID_INVALID_MESSAGE_QUEUE_HANDLE: HRESULT = 0xC0370014; -pub const ERROR_VID_INVALID_GPA_RANGE_HANDLE: HRESULT = 0xC0370015; -pub const ERROR_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE: HRESULT = 0xC0370016; -pub const ERROR_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED: HRESULT = 0xC0370017; -pub const ERROR_VID_INVALID_PPM_HANDLE: HRESULT = 0xC0370018; -pub const ERROR_VID_MBPS_ARE_LOCKED: HRESULT = 0xC0370019; -pub const ERROR_VID_MESSAGE_QUEUE_CLOSED: HRESULT = 0xC037001A; -pub const ERROR_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED: HRESULT = 0xC037001B; -pub const ERROR_VID_STOP_PENDING: HRESULT = 0xC037001C; -pub const ERROR_VID_INVALID_PROCESSOR_STATE: HRESULT = 0xC037001D; -pub const ERROR_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT: HRESULT = 0xC037001E; -pub const ERROR_VID_KM_INTERFACE_ALREADY_INITIALIZED: HRESULT = 0xC037001F; -pub const ERROR_VID_MB_PROPERTY_ALREADY_SET_RESET: HRESULT = 0xC0370020; -pub const ERROR_VID_MMIO_RANGE_DESTROYED: HRESULT = 0xC0370021; -pub const ERROR_VID_INVALID_CHILD_GPA_PAGE_SET: HRESULT = 0xC0370022; -pub const ERROR_VID_RESERVE_PAGE_SET_IS_BEING_USED: HRESULT = 0xC0370023; -pub const ERROR_VID_RESERVE_PAGE_SET_TOO_SMALL: HRESULT = 0xC0370024; -pub const ERROR_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE: HRESULT = 0xC0370025; -pub const ERROR_VID_MBP_COUNT_EXCEEDED_LIMIT: HRESULT = 0xC0370026; -pub const ERROR_VID_SAVED_STATE_CORRUPT: HRESULT = 0xC0370027; -pub const ERROR_VID_SAVED_STATE_UNRECOGNIZED_ITEM: HRESULT = 0xC0370028; -pub const ERROR_VID_SAVED_STATE_INCOMPATIBLE: HRESULT = 0xC0370029; -pub const ERROR_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED: HRESULT = 0x80370001; -pub const ERROR_VOLMGR_INCOMPLETE_REGENERATION: HRESULT = 0x80380001; -pub const ERROR_VOLMGR_INCOMPLETE_DISK_MIGRATION: HRESULT = 0x80380002; -pub const ERROR_VOLMGR_DATABASE_FULL: HRESULT = 0xC0380001; -pub const ERROR_VOLMGR_DISK_CONFIGURATION_CORRUPTED: HRESULT = 0xC0380002; -pub const ERROR_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC: HRESULT = 0xC0380003; -pub const ERROR_VOLMGR_PACK_CONFIG_UPDATE_FAILED: HRESULT = 0xC0380004; -pub const ERROR_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME: HRESULT = 0xC0380005; -pub const ERROR_VOLMGR_DISK_DUPLICATE: HRESULT = 0xC0380006; -pub const ERROR_VOLMGR_DISK_DYNAMIC: HRESULT = 0xC0380007; -pub const ERROR_VOLMGR_DISK_ID_INVALID: HRESULT = 0xC0380008; -pub const ERROR_VOLMGR_DISK_INVALID: HRESULT = 0xC0380009; -pub const ERROR_VOLMGR_DISK_LAST_VOTER: HRESULT = 0xC038000A; -pub const ERROR_VOLMGR_DISK_LAYOUT_INVALID: HRESULT = 0xC038000B; -pub const ERROR_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS: HRESULT - = 0xC038000C; -pub const ERROR_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED: HRESULT = 0xC038000D; -pub const ERROR_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL: HRESULT = 0xC038000E; -pub const ERROR_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS: HRESULT - = 0xC038000F; -pub const ERROR_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS: HRESULT = 0xC0380010; -pub const ERROR_VOLMGR_DISK_MISSING: HRESULT = 0xC0380011; -pub const ERROR_VOLMGR_DISK_NOT_EMPTY: HRESULT = 0xC0380012; -pub const ERROR_VOLMGR_DISK_NOT_ENOUGH_SPACE: HRESULT = 0xC0380013; -pub const ERROR_VOLMGR_DISK_REVECTORING_FAILED: HRESULT = 0xC0380014; -pub const ERROR_VOLMGR_DISK_SECTOR_SIZE_INVALID: HRESULT = 0xC0380015; -pub const ERROR_VOLMGR_DISK_SET_NOT_CONTAINED: HRESULT = 0xC0380016; -pub const ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS: HRESULT = 0xC0380017; -pub const ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES: HRESULT = 0xC0380018; -pub const ERROR_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED: HRESULT = 0xC0380019; -pub const ERROR_VOLMGR_EXTENT_ALREADY_USED: HRESULT = 0xC038001A; -pub const ERROR_VOLMGR_EXTENT_NOT_CONTIGUOUS: HRESULT = 0xC038001B; -pub const ERROR_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION: HRESULT = 0xC038001C; -pub const ERROR_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED: HRESULT = 0xC038001D; -pub const ERROR_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION: HRESULT = 0xC038001E; -pub const ERROR_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH: HRESULT = 0xC038001F; -pub const ERROR_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED: HRESULT = 0xC0380020; -pub const ERROR_VOLMGR_INTERLEAVE_LENGTH_INVALID: HRESULT = 0xC0380021; -pub const ERROR_VOLMGR_MAXIMUM_REGISTERED_USERS: HRESULT = 0xC0380022; -pub const ERROR_VOLMGR_MEMBER_IN_SYNC: HRESULT = 0xC0380023; -pub const ERROR_VOLMGR_MEMBER_INDEX_DUPLICATE: HRESULT = 0xC0380024; -pub const ERROR_VOLMGR_MEMBER_INDEX_INVALID: HRESULT = 0xC0380025; -pub const ERROR_VOLMGR_MEMBER_MISSING: HRESULT = 0xC0380026; -pub const ERROR_VOLMGR_MEMBER_NOT_DETACHED: HRESULT = 0xC0380027; -pub const ERROR_VOLMGR_MEMBER_REGENERATING: HRESULT = 0xC0380028; -pub const ERROR_VOLMGR_ALL_DISKS_FAILED: HRESULT = 0xC0380029; -pub const ERROR_VOLMGR_NO_REGISTERED_USERS: HRESULT = 0xC038002A; -pub const ERROR_VOLMGR_NO_SUCH_USER: HRESULT = 0xC038002B; -pub const ERROR_VOLMGR_NOTIFICATION_RESET: HRESULT = 0xC038002C; -pub const ERROR_VOLMGR_NUMBER_OF_MEMBERS_INVALID: HRESULT = 0xC038002D; -pub const ERROR_VOLMGR_NUMBER_OF_PLEXES_INVALID: HRESULT = 0xC038002E; -pub const ERROR_VOLMGR_PACK_DUPLICATE: HRESULT = 0xC038002F; -pub const ERROR_VOLMGR_PACK_ID_INVALID: HRESULT = 0xC0380030; -pub const ERROR_VOLMGR_PACK_INVALID: HRESULT = 0xC0380031; -pub const ERROR_VOLMGR_PACK_NAME_INVALID: HRESULT = 0xC0380032; -pub const ERROR_VOLMGR_PACK_OFFLINE: HRESULT = 0xC0380033; -pub const ERROR_VOLMGR_PACK_HAS_QUORUM: HRESULT = 0xC0380034; -pub const ERROR_VOLMGR_PACK_WITHOUT_QUORUM: HRESULT = 0xC0380035; -pub const ERROR_VOLMGR_PARTITION_STYLE_INVALID: HRESULT = 0xC0380036; -pub const ERROR_VOLMGR_PARTITION_UPDATE_FAILED: HRESULT = 0xC0380037; -pub const ERROR_VOLMGR_PLEX_IN_SYNC: HRESULT = 0xC0380038; -pub const ERROR_VOLMGR_PLEX_INDEX_DUPLICATE: HRESULT = 0xC0380039; -pub const ERROR_VOLMGR_PLEX_INDEX_INVALID: HRESULT = 0xC038003A; -pub const ERROR_VOLMGR_PLEX_LAST_ACTIVE: HRESULT = 0xC038003B; -pub const ERROR_VOLMGR_PLEX_MISSING: HRESULT = 0xC038003C; -pub const ERROR_VOLMGR_PLEX_REGENERATING: HRESULT = 0xC038003D; -pub const ERROR_VOLMGR_PLEX_TYPE_INVALID: HRESULT = 0xC038003E; -pub const ERROR_VOLMGR_PLEX_NOT_RAID5: HRESULT = 0xC038003F; -pub const ERROR_VOLMGR_PLEX_NOT_SIMPLE: HRESULT = 0xC0380040; -pub const ERROR_VOLMGR_STRUCTURE_SIZE_INVALID: HRESULT = 0xC0380041; -pub const ERROR_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS: HRESULT = 0xC0380042; -pub const ERROR_VOLMGR_TRANSACTION_IN_PROGRESS: HRESULT = 0xC0380043; -pub const ERROR_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE: HRESULT = 0xC0380044; -pub const ERROR_VOLMGR_VOLUME_CONTAINS_MISSING_DISK: HRESULT = 0xC0380045; -pub const ERROR_VOLMGR_VOLUME_ID_INVALID: HRESULT = 0xC0380046; -pub const ERROR_VOLMGR_VOLUME_LENGTH_INVALID: HRESULT = 0xC0380047; -pub const ERROR_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE: HRESULT = 0xC0380048; -pub const ERROR_VOLMGR_VOLUME_NOT_MIRRORED: HRESULT = 0xC0380049; -pub const ERROR_VOLMGR_VOLUME_NOT_RETAINED: HRESULT = 0xC038004A; -pub const ERROR_VOLMGR_VOLUME_OFFLINE: HRESULT = 0xC038004B; -pub const ERROR_VOLMGR_VOLUME_RETAINED: HRESULT = 0xC038004C; -pub const ERROR_VOLMGR_NUMBER_OF_EXTENTS_INVALID: HRESULT = 0xC038004D; -pub const ERROR_VOLMGR_DIFFERENT_SECTOR_SIZE: HRESULT = 0xC038004E; -pub const ERROR_VOLMGR_BAD_BOOT_DISK: HRESULT = 0xC038004F; -pub const ERROR_VOLMGR_PACK_CONFIG_OFFLINE: HRESULT = 0xC0380050; -pub const ERROR_VOLMGR_PACK_CONFIG_ONLINE: HRESULT = 0xC0380051; -pub const ERROR_VOLMGR_NOT_PRIMARY_PACK: HRESULT = 0xC0380052; -pub const ERROR_VOLMGR_PACK_LOG_UPDATE_FAILED: HRESULT = 0xC0380053; -pub const ERROR_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID: HRESULT = 0xC0380054; -pub const ERROR_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID: HRESULT = 0xC0380055; -pub const ERROR_VOLMGR_VOLUME_MIRRORED: HRESULT = 0xC0380056; -pub const ERROR_VOLMGR_PLEX_NOT_SIMPLE_SPANNED: HRESULT = 0xC0380057; -pub const ERROR_VOLMGR_NO_VALID_LOG_COPIES: HRESULT = 0xC0380058; -pub const ERROR_VOLMGR_PRIMARY_PACK_PRESENT: HRESULT = 0xC0380059; -pub const ERROR_VOLMGR_NUMBER_OF_DISKS_INVALID: HRESULT = 0xC038005A; -pub const ERROR_VOLMGR_MIRROR_NOT_SUPPORTED: HRESULT = 0xC038005B; -pub const ERROR_VOLMGR_RAID5_NOT_SUPPORTED: HRESULT = 0xC038005C; -pub const ERROR_BCD_NOT_ALL_ENTRIES_IMPORTED: HRESULT = 0x80390001; -pub const ERROR_BCD_TOO_MANY_ELEMENTS: HRESULT = 0xC0390002; -pub const ERROR_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED: HRESULT = 0x80390003; -pub const ERROR_VHD_DRIVE_FOOTER_MISSING: HRESULT = 0xC03A0001; -pub const ERROR_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH: HRESULT = 0xC03A0002; -pub const ERROR_VHD_DRIVE_FOOTER_CORRUPT: HRESULT = 0xC03A0003; -pub const ERROR_VHD_FORMAT_UNKNOWN: HRESULT = 0xC03A0004; -pub const ERROR_VHD_FORMAT_UNSUPPORTED_VERSION: HRESULT = 0xC03A0005; -pub const ERROR_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH: HRESULT = 0xC03A0006; -pub const ERROR_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION: HRESULT = 0xC03A0007; -pub const ERROR_VHD_SPARSE_HEADER_CORRUPT: HRESULT = 0xC03A0008; -pub const ERROR_VHD_BLOCK_ALLOCATION_FAILURE: HRESULT = 0xC03A0009; -pub const ERROR_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT: HRESULT = 0xC03A000A; -pub const ERROR_VHD_INVALID_BLOCK_SIZE: HRESULT = 0xC03A000B; -pub const ERROR_VHD_BITMAP_MISMATCH: HRESULT = 0xC03A000C; -pub const ERROR_VHD_PARENT_VHD_NOT_FOUND: HRESULT = 0xC03A000D; -pub const ERROR_VHD_CHILD_PARENT_ID_MISMATCH: HRESULT = 0xC03A000E; -pub const ERROR_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH: HRESULT = 0xC03A000F; -pub const ERROR_VHD_METADATA_READ_FAILURE: HRESULT = 0xC03A0010; -pub const ERROR_VHD_METADATA_WRITE_FAILURE: HRESULT = 0xC03A0011; -pub const ERROR_VHD_INVALID_SIZE: HRESULT = 0xC03A0012; -pub const ERROR_VHD_INVALID_FILE_SIZE: HRESULT = 0xC03A0013; -pub const ERROR_VIRTDISK_PROVIDER_NOT_FOUND: HRESULT = 0xC03A0014; -pub const ERROR_VIRTDISK_NOT_VIRTUAL_DISK: HRESULT = 0xC03A0015; -pub const ERROR_VHD_PARENT_VHD_ACCESS_DENIED: HRESULT = 0xC03A0016; -pub const ERROR_VHD_CHILD_PARENT_SIZE_MISMATCH: HRESULT = 0xC03A0017; -pub const ERROR_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED: HRESULT = 0xC03A0018; -pub const ERROR_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT: HRESULT = 0xC03A0019; -pub const ERROR_VIRTUAL_DISK_LIMITATION: HRESULT = 0xC03A001A; -pub const ERROR_VHD_INVALID_TYPE: HRESULT = 0xC03A001B; -pub const ERROR_VHD_INVALID_STATE: HRESULT = 0xC03A001C; -pub const ERROR_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE: HRESULT = 0xC03A001D; -pub const ERROR_VIRTDISK_DISK_ALREADY_OWNED: HRESULT = 0xC03A001E; -pub const ERROR_VIRTDISK_DISK_ONLINE_AND_WRITABLE: HRESULT = 0xC03A001F; -pub const ERROR_CTLOG_TRACKING_NOT_INITIALIZED: HRESULT = 0xC03A0020; -pub const ERROR_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE: HRESULT = 0xC03A0021; -pub const ERROR_CTLOG_VHD_CHANGED_OFFLINE: HRESULT = 0xC03A0022; -pub const ERROR_CTLOG_INVALID_TRACKING_STATE: HRESULT = 0xC03A0023; -pub const ERROR_CTLOG_INCONSISTENT_TRACKING_FILE: HRESULT = 0xC03A0024; -pub const ERROR_VHD_RESIZE_WOULD_TRUNCATE_DATA: HRESULT = 0xC03A0025; -pub const ERROR_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE: HRESULT = 0xC03A0026; -pub const ERROR_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE: HRESULT = 0xC03A0027; -pub const ERROR_VHD_METADATA_FULL: HRESULT = 0xC03A0028; -pub const ERROR_QUERY_STORAGE_ERROR: HRESULT = 0x803A0001; -pub const SDIAG_E_CANCELLED: HRESULT = 0x803C0100; -pub const SDIAG_E_SCRIPT: HRESULT = 0x803C0101; -pub const SDIAG_E_POWERSHELL: HRESULT = 0x803C0102; -pub const SDIAG_E_MANAGEDHOST: HRESULT = 0x803C0103; -pub const SDIAG_E_NOVERIFIER: HRESULT = 0x803C0104; -pub const SDIAG_S_CANNOTRUN: HRESULT = 0x003C0105; -pub const SDIAG_E_DISABLED: HRESULT = 0x803C0106; -pub const SDIAG_E_TRUST: HRESULT = 0x803C0107; -pub const SDIAG_E_CANNOTRUN: HRESULT = 0x803C0108; -pub const SDIAG_E_VERSION: HRESULT = 0x803C0109; -pub const SDIAG_E_RESOURCE: HRESULT = 0x803C010A; -pub const SDIAG_E_ROOTCAUSE: HRESULT = 0x803C010B; -pub const WPN_E_CHANNEL_CLOSED: HRESULT = 0x803E0100; -pub const WPN_E_CHANNEL_REQUEST_NOT_COMPLETE: HRESULT = 0x803E0101; -pub const WPN_E_INVALID_APP: HRESULT = 0x803E0102; -pub const WPN_E_OUTSTANDING_CHANNEL_REQUEST: HRESULT = 0x803E0103; -pub const WPN_E_DUPLICATE_CHANNEL: HRESULT = 0x803E0104; -pub const WPN_E_PLATFORM_UNAVAILABLE: HRESULT = 0x803E0105; -pub const WPN_E_NOTIFICATION_POSTED: HRESULT = 0x803E0106; -pub const WPN_E_NOTIFICATION_HIDDEN: HRESULT = 0x803E0107; -pub const WPN_E_NOTIFICATION_NOT_POSTED: HRESULT = 0x803E0108; -pub const WPN_E_CLOUD_DISABLED: HRESULT = 0x803E0109; -pub const WPN_E_CLOUD_INCAPABLE: HRESULT = 0x803E0110; -pub const WPN_E_CLOUD_AUTH_UNAVAILABLE: HRESULT = 0x803E011A; -pub const WPN_E_CLOUD_SERVICE_UNAVAILABLE: HRESULT = 0x803E011B; -pub const WPN_E_FAILED_LOCK_SCREEN_UPDATE_INTIALIZATION: HRESULT = 0x803E011C; -pub const WPN_E_NOTIFICATION_DISABLED: HRESULT = 0x803E0111; -pub const WPN_E_NOTIFICATION_INCAPABLE: HRESULT = 0x803E0112; -pub const WPN_E_INTERNET_INCAPABLE: HRESULT = 0x803E0113; -pub const WPN_E_NOTIFICATION_TYPE_DISABLED: HRESULT = 0x803E0114; -pub const WPN_E_NOTIFICATION_SIZE: HRESULT = 0x803E0115; -pub const WPN_E_TAG_SIZE: HRESULT = 0x803E0116; -pub const WPN_E_ACCESS_DENIED: HRESULT = 0x803E0117; -pub const WPN_E_DUPLICATE_REGISTRATION: HRESULT = 0x803E0118; -pub const WPN_E_PUSH_NOTIFICATION_INCAPABLE: HRESULT = 0x803E0119; -pub const WPN_E_DEV_ID_SIZE: HRESULT = 0x803E0120; -pub const WPN_E_TAG_ALPHANUMERIC: HRESULT = 0x803E012A; -pub const WPN_E_INVALID_HTTP_STATUS_CODE: HRESULT = 0x803E012B; -pub const WPN_E_OUT_OF_SESSION: HRESULT = 0x803E0200; -pub const WPN_E_POWER_SAVE: HRESULT = 0x803E0201; -pub const WPN_E_IMAGE_NOT_FOUND_IN_CACHE: HRESULT = 0x803E0202; -pub const WPN_E_ALL_URL_NOT_COMPLETED: HRESULT = 0x803E0203; -pub const WPN_E_INVALID_CLOUD_IMAGE: HRESULT = 0x803E0204; -pub const WPN_E_NOTIFICATION_ID_MATCHED: HRESULT = 0x803E0205; -pub const WPN_E_CALLBACK_ALREADY_REGISTERED: HRESULT = 0x803E0206; -pub const WPN_E_TOAST_NOTIFICATION_DROPPED: HRESULT = 0x803E0207; -pub const WPN_E_STORAGE_LOCKED: HRESULT = 0x803E0208; -pub const E_MBN_CONTEXT_NOT_ACTIVATED: HRESULT = 0x80548201; -pub const E_MBN_BAD_SIM: HRESULT = 0x80548202; -pub const E_MBN_DATA_CLASS_NOT_AVAILABLE: HRESULT = 0x80548203; -pub const E_MBN_INVALID_ACCESS_STRING: HRESULT = 0x80548204; -pub const E_MBN_MAX_ACTIVATED_CONTEXTS: HRESULT = 0x80548205; -pub const E_MBN_PACKET_SVC_DETACHED: HRESULT = 0x80548206; -pub const E_MBN_PROVIDER_NOT_VISIBLE: HRESULT = 0x80548207; -pub const E_MBN_RADIO_POWER_OFF: HRESULT = 0x80548208; -pub const E_MBN_SERVICE_NOT_ACTIVATED: HRESULT = 0x80548209; -pub const E_MBN_SIM_NOT_INSERTED: HRESULT = 0x8054820A; -pub const E_MBN_VOICE_CALL_IN_PROGRESS: HRESULT = 0x8054820B; -pub const E_MBN_INVALID_CACHE: HRESULT = 0x8054820C; -pub const E_MBN_NOT_REGISTERED: HRESULT = 0x8054820D; -pub const E_MBN_PROVIDERS_NOT_FOUND: HRESULT = 0x8054820E; -pub const E_MBN_PIN_NOT_SUPPORTED: HRESULT = 0x8054820F; -pub const E_MBN_PIN_REQUIRED: HRESULT = 0x80548210; -pub const E_MBN_PIN_DISABLED: HRESULT = 0x80548211; -pub const E_MBN_FAILURE: HRESULT = 0x80548212; -pub const E_MBN_INVALID_PROFILE: HRESULT = 0x80548218; -pub const E_MBN_DEFAULT_PROFILE_EXIST: HRESULT = 0x80548219; -pub const E_MBN_SMS_ENCODING_NOT_SUPPORTED: HRESULT = 0x80548220; -pub const E_MBN_SMS_FILTER_NOT_SUPPORTED: HRESULT = 0x80548221; -pub const E_MBN_SMS_INVALID_MEMORY_INDEX: HRESULT = 0x80548222; -pub const E_MBN_SMS_LANG_NOT_SUPPORTED: HRESULT = 0x80548223; -pub const E_MBN_SMS_MEMORY_FAILURE: HRESULT = 0x80548224; -pub const E_MBN_SMS_NETWORK_TIMEOUT: HRESULT = 0x80548225; -pub const E_MBN_SMS_UNKNOWN_SMSC_ADDRESS: HRESULT = 0x80548226; -pub const E_MBN_SMS_FORMAT_NOT_SUPPORTED: HRESULT = 0x80548227; -pub const E_MBN_SMS_OPERATION_NOT_ALLOWED: HRESULT = 0x80548228; -pub const E_MBN_SMS_MEMORY_FULL: HRESULT = 0x80548229; -pub const PEER_E_IPV6_NOT_INSTALLED: HRESULT = 0x80630001; -pub const PEER_E_NOT_INITIALIZED: HRESULT = 0x80630002; -pub const PEER_E_CANNOT_START_SERVICE: HRESULT = 0x80630003; -pub const PEER_E_NOT_LICENSED: HRESULT = 0x80630004; -pub const PEER_E_INVALID_GRAPH: HRESULT = 0x80630010; -pub const PEER_E_DBNAME_CHANGED: HRESULT = 0x80630011; -pub const PEER_E_DUPLICATE_GRAPH: HRESULT = 0x80630012; -pub const PEER_E_GRAPH_NOT_READY: HRESULT = 0x80630013; -pub const PEER_E_GRAPH_SHUTTING_DOWN: HRESULT = 0x80630014; -pub const PEER_E_GRAPH_IN_USE: HRESULT = 0x80630015; -pub const PEER_E_INVALID_DATABASE: HRESULT = 0x80630016; -pub const PEER_E_TOO_MANY_ATTRIBUTES: HRESULT = 0x80630017; -pub const PEER_E_CONNECTION_NOT_FOUND: HRESULT = 0x80630103; -pub const PEER_E_CONNECT_SELF: HRESULT = 0x80630106; -pub const PEER_E_ALREADY_LISTENING: HRESULT = 0x80630107; -pub const PEER_E_NODE_NOT_FOUND: HRESULT = 0x80630108; -pub const PEER_E_CONNECTION_FAILED: HRESULT = 0x80630109; -pub const PEER_E_CONNECTION_NOT_AUTHENTICATED: HRESULT = 0x8063010A; -pub const PEER_E_CONNECTION_REFUSED: HRESULT = 0x8063010B; -pub const PEER_E_CLASSIFIER_TOO_LONG: HRESULT = 0x80630201; -pub const PEER_E_TOO_MANY_IDENTITIES: HRESULT = 0x80630202; -pub const PEER_E_NO_KEY_ACCESS: HRESULT = 0x80630203; -pub const PEER_E_GROUPS_EXIST: HRESULT = 0x80630204; -pub const PEER_E_RECORD_NOT_FOUND: HRESULT = 0x80630301; -pub const PEER_E_DATABASE_ACCESSDENIED: HRESULT = 0x80630302; -pub const PEER_E_DBINITIALIZATION_FAILED: HRESULT = 0x80630303; -pub const PEER_E_MAX_RECORD_SIZE_EXCEEDED: HRESULT = 0x80630304; -pub const PEER_E_DATABASE_ALREADY_PRESENT: HRESULT = 0x80630305; -pub const PEER_E_DATABASE_NOT_PRESENT: HRESULT = 0x80630306; -pub const PEER_E_IDENTITY_NOT_FOUND: HRESULT = 0x80630401; -pub const PEER_E_EVENT_HANDLE_NOT_FOUND: HRESULT = 0x80630501; -pub const PEER_E_INVALID_SEARCH: HRESULT = 0x80630601; -pub const PEER_E_INVALID_ATTRIBUTES: HRESULT = 0x80630602; -pub const PEER_E_INVITATION_NOT_TRUSTED: HRESULT = 0x80630701; -pub const PEER_E_CHAIN_TOO_LONG: HRESULT = 0x80630703; -pub const PEER_E_INVALID_TIME_PERIOD: HRESULT = 0x80630705; -pub const PEER_E_CIRCULAR_CHAIN_DETECTED: HRESULT = 0x80630706; -pub const PEER_E_CERT_STORE_CORRUPTED: HRESULT = 0x80630801; -pub const PEER_E_NO_CLOUD: HRESULT = 0x80631001; -pub const PEER_E_CLOUD_NAME_AMBIGUOUS: HRESULT = 0x80631005; -pub const PEER_E_INVALID_RECORD: HRESULT = 0x80632010; -pub const PEER_E_NOT_AUTHORIZED: HRESULT = 0x80632020; -pub const PEER_E_PASSWORD_DOES_NOT_MEET_POLICY: HRESULT = 0x80632021; -pub const PEER_E_DEFERRED_VALIDATION: HRESULT = 0x80632030; -pub const PEER_E_INVALID_GROUP_PROPERTIES: HRESULT = 0x80632040; -pub const PEER_E_INVALID_PEER_NAME: HRESULT = 0x80632050; -pub const PEER_E_INVALID_CLASSIFIER: HRESULT = 0x80632060; -pub const PEER_E_INVALID_FRIENDLY_NAME: HRESULT = 0x80632070; -pub const PEER_E_INVALID_ROLE_PROPERTY: HRESULT = 0x80632071; -pub const PEER_E_INVALID_CLASSIFIER_PROPERTY: HRESULT = 0x80632072; -pub const PEER_E_INVALID_RECORD_EXPIRATION: HRESULT = 0x80632080; -pub const PEER_E_INVALID_CREDENTIAL_INFO: HRESULT = 0x80632081; -pub const PEER_E_INVALID_CREDENTIAL: HRESULT = 0x80632082; -pub const PEER_E_INVALID_RECORD_SIZE: HRESULT = 0x80632083; -pub const PEER_E_UNSUPPORTED_VERSION: HRESULT = 0x80632090; -pub const PEER_E_GROUP_NOT_READY: HRESULT = 0x80632091; -pub const PEER_E_GROUP_IN_USE: HRESULT = 0x80632092; -pub const PEER_E_INVALID_GROUP: HRESULT = 0x80632093; -pub const PEER_E_NO_MEMBERS_FOUND: HRESULT = 0x80632094; -pub const PEER_E_NO_MEMBER_CONNECTIONS: HRESULT = 0x80632095; -pub const PEER_E_UNABLE_TO_LISTEN: HRESULT = 0x80632096; -pub const PEER_E_IDENTITY_DELETED: HRESULT = 0x806320A0; -pub const PEER_E_SERVICE_NOT_AVAILABLE: HRESULT = 0x806320A1; -pub const PEER_E_CONTACT_NOT_FOUND: HRESULT = 0x80636001; -pub const PEER_S_GRAPH_DATA_CREATED: HRESULT = 0x00630001; -pub const PEER_S_NO_EVENT_DATA: HRESULT = 0x00630002; -pub const PEER_S_ALREADY_CONNECTED: HRESULT = 0x00632000; -pub const PEER_S_SUBSCRIPTION_EXISTS: HRESULT = 0x00636000; -pub const PEER_S_NO_CONNECTIVITY: HRESULT = 0x00630005; -pub const PEER_S_ALREADY_A_MEMBER: HRESULT = 0x00630006; -pub const PEER_E_CANNOT_CONVERT_PEER_NAME: HRESULT = 0x80634001; -pub const PEER_E_INVALID_PEER_HOST_NAME: HRESULT = 0x80634002; -pub const PEER_E_NO_MORE: HRESULT = 0x80634003; -pub const PEER_E_PNRP_DUPLICATE_PEER_NAME: HRESULT = 0x80634005; -pub const PEER_E_INVITE_CANCELLED: HRESULT = 0x80637000; -pub const PEER_E_INVITE_RESPONSE_NOT_AVAILABLE: HRESULT = 0x80637001; -pub const PEER_E_NOT_SIGNED_IN: HRESULT = 0x80637003; -pub const PEER_E_PRIVACY_DECLINED: HRESULT = 0x80637004; -pub const PEER_E_TIMEOUT: HRESULT = 0x80637005; -pub const PEER_E_INVALID_ADDRESS: HRESULT = 0x80637007; -pub const PEER_E_FW_EXCEPTION_DISABLED: HRESULT = 0x80637008; -pub const PEER_E_FW_BLOCKED_BY_POLICY: HRESULT = 0x80637009; -pub const PEER_E_FW_BLOCKED_BY_SHIELDS_UP: HRESULT = 0x8063700A; -pub const PEER_E_FW_DECLINED: HRESULT = 0x8063700B; -pub const UI_E_CREATE_FAILED: HRESULT = 0x802A0001; -pub const UI_E_SHUTDOWN_CALLED: HRESULT = 0x802A0002; -pub const UI_E_ILLEGAL_REENTRANCY: HRESULT = 0x802A0003; -pub const UI_E_OBJECT_SEALED: HRESULT = 0x802A0004; -pub const UI_E_VALUE_NOT_SET: HRESULT = 0x802A0005; -pub const UI_E_VALUE_NOT_DETERMINED: HRESULT = 0x802A0006; -pub const UI_E_INVALID_OUTPUT: HRESULT = 0x802A0007; -pub const UI_E_BOOLEAN_EXPECTED: HRESULT = 0x802A0008; -pub const UI_E_DIFFERENT_OWNER: HRESULT = 0x802A0009; -pub const UI_E_AMBIGUOUS_MATCH: HRESULT = 0x802A000A; -pub const UI_E_FP_OVERFLOW: HRESULT = 0x802A000B; -pub const UI_E_WRONG_THREAD: HRESULT = 0x802A000C; -pub const UI_E_STORYBOARD_ACTIVE: HRESULT = 0x802A0101; -pub const UI_E_STORYBOARD_NOT_PLAYING: HRESULT = 0x802A0102; -pub const UI_E_START_KEYFRAME_AFTER_END: HRESULT = 0x802A0103; -pub const UI_E_END_KEYFRAME_NOT_DETERMINED: HRESULT = 0x802A0104; -pub const UI_E_LOOPS_OVERLAP: HRESULT = 0x802A0105; -pub const UI_E_TRANSITION_ALREADY_USED: HRESULT = 0x802A0106; -pub const UI_E_TRANSITION_NOT_IN_STORYBOARD: HRESULT = 0x802A0107; -pub const UI_E_TRANSITION_ECLIPSED: HRESULT = 0x802A0108; -pub const UI_E_TIME_BEFORE_LAST_UPDATE: HRESULT = 0x802A0109; -pub const UI_E_TIMER_CLIENT_ALREADY_CONNECTED: HRESULT = 0x802A010A; -pub const UI_E_INVALID_DIMENSION: HRESULT = 0x802A010B; -pub const UI_E_PRIMITIVE_OUT_OF_BOUNDS: HRESULT = 0x802A010C; -pub const UI_E_WINDOW_CLOSED: HRESULT = 0x802A0201; -pub const E_BLUETOOTH_ATT_INVALID_HANDLE: HRESULT = 0x80650001; -pub const E_BLUETOOTH_ATT_READ_NOT_PERMITTED: HRESULT = 0x80650002; -pub const E_BLUETOOTH_ATT_WRITE_NOT_PERMITTED: HRESULT = 0x80650003; -pub const E_BLUETOOTH_ATT_INVALID_PDU: HRESULT = 0x80650004; -pub const E_BLUETOOTH_ATT_INSUFFICIENT_AUTHENTICATION: HRESULT = 0x80650005; -pub const E_BLUETOOTH_ATT_REQUEST_NOT_SUPPORTED: HRESULT = 0x80650006; -pub const E_BLUETOOTH_ATT_INVALID_OFFSET: HRESULT = 0x80650007; -pub const E_BLUETOOTH_ATT_INSUFFICIENT_AUTHORIZATION: HRESULT = 0x80650008; -pub const E_BLUETOOTH_ATT_PREPARE_QUEUE_FULL: HRESULT = 0x80650009; -pub const E_BLUETOOTH_ATT_ATTRIBUTE_NOT_FOUND: HRESULT = 0x8065000A; -pub const E_BLUETOOTH_ATT_ATTRIBUTE_NOT_LONG: HRESULT = 0x8065000B; -pub const E_BLUETOOTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE: HRESULT = 0x8065000C; -pub const E_BLUETOOTH_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH: HRESULT = 0x8065000D; -pub const E_BLUETOOTH_ATT_UNLIKELY: HRESULT = 0x8065000E; -pub const E_BLUETOOTH_ATT_INSUFFICIENT_ENCRYPTION: HRESULT = 0x8065000F; -pub const E_BLUETOOTH_ATT_UNSUPPORTED_GROUP_TYPE: HRESULT = 0x80650010; -pub const E_BLUETOOTH_ATT_INSUFFICIENT_RESOURCES: HRESULT = 0x80650011; -pub const E_BLUETOOTH_ATT_UNKNOWN_ERROR: HRESULT = 0x80651000; -pub const E_AUDIO_ENGINE_NODE_NOT_FOUND: HRESULT = 0x80660001; -pub const E_HDAUDIO_EMPTY_CONNECTION_LIST: HRESULT = 0x80660002; -pub const E_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED: HRESULT = 0x80660003; -pub const E_HDAUDIO_NO_LOGICAL_DEVICES_CREATED: HRESULT = 0x80660004; -pub const E_HDAUDIO_NULL_LINKED_LIST_ENTRY: HRESULT = 0x80660005; -pub const ERROR_SPACES_POOL_WAS_DELETED: HRESULT = 0x00E70001; -pub const ERROR_SPACES_RESILIENCY_TYPE_INVALID: HRESULT = 0x80E70003; -pub const ERROR_SPACES_DRIVE_SECTOR_SIZE_INVALID: HRESULT = 0x80E70004; -pub const ERROR_SPACES_DRIVE_REDUNDANCY_INVALID: HRESULT = 0x80E70006; -pub const ERROR_SPACES_NUMBER_OF_DATA_COPIES_INVALID: HRESULT = 0x80E70007; -pub const ERROR_SPACES_PARITY_LAYOUT_INVALID: HRESULT = 0x80E70008; -pub const ERROR_SPACES_INTERLEAVE_LENGTH_INVALID: HRESULT = 0x80E70009; -pub const ERROR_SPACES_NUMBER_OF_COLUMNS_INVALID: HRESULT = 0x80E7000A; -pub const ERROR_SPACES_NOT_ENOUGH_DRIVES: HRESULT = 0x80E7000B; -pub const ERROR_VOLSNAP_BOOTFILE_NOT_VALID: HRESULT = 0x80820001; -pub const ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME: HRESULT = 0x80830001; -pub const ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS: HRESULT = 0x80830002; -pub const ERROR_TIERING_STORAGE_TIER_NOT_FOUND: HRESULT = 0x80830003; -pub const ERROR_TIERING_INVALID_FILE_ID: HRESULT = 0x80830004; -pub const ERROR_TIERING_WRONG_CLUSTER_NODE: HRESULT = 0x80830005; -pub const ERROR_TIERING_ALREADY_PROCESSING: HRESULT = 0x80830006; -pub const ERROR_TIERING_CANNOT_PIN_OBJECT: HRESULT = 0x80830007; -pub const DXGI_STATUS_OCCLUDED: HRESULT = 0x087A0001; -pub const DXGI_STATUS_CLIPPED: HRESULT = 0x087A0002; -pub const DXGI_STATUS_NO_REDIRECTION: HRESULT = 0x087A0004; -pub const DXGI_STATUS_NO_DESKTOP_ACCESS: HRESULT = 0x087A0005; -pub const DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE: HRESULT = 0x087A0006; -pub const DXGI_STATUS_MODE_CHANGED: HRESULT = 0x087A0007; -pub const DXGI_STATUS_MODE_CHANGE_IN_PROGRESS: HRESULT = 0x087A0008; -pub const DXGI_ERROR_INVALID_CALL: HRESULT = 0x887A0001; -pub const DXGI_ERROR_NOT_FOUND: HRESULT = 0x887A0002; -pub const DXGI_ERROR_MORE_DATA: HRESULT = 0x887A0003; -pub const DXGI_ERROR_UNSUPPORTED: HRESULT = 0x887A0004; -pub const DXGI_ERROR_DEVICE_REMOVED: HRESULT = 0x887A0005; -pub const DXGI_ERROR_DEVICE_HUNG: HRESULT = 0x887A0006; -pub const DXGI_ERROR_DEVICE_RESET: HRESULT = 0x887A0007; -pub const DXGI_ERROR_WAS_STILL_DRAWING: HRESULT = 0x887A000A; -pub const DXGI_ERROR_FRAME_STATISTICS_DISJOINT: HRESULT = 0x887A000B; -pub const DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE: HRESULT = 0x887A000C; -pub const DXGI_ERROR_DRIVER_INTERNAL_ERROR: HRESULT = 0x887A0020; -pub const DXGI_ERROR_NONEXCLUSIVE: HRESULT = 0x887A0021; -pub const DXGI_ERROR_NOT_CURRENTLY_AVAILABLE: HRESULT = 0x887A0022; -pub const DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED: HRESULT = 0x887A0023; -pub const DXGI_ERROR_REMOTE_OUTOFMEMORY: HRESULT = 0x887A0024; -pub const DXGI_ERROR_ACCESS_LOST: HRESULT = 0x887A0026; -pub const DXGI_ERROR_WAIT_TIMEOUT: HRESULT = 0x887A0027; -pub const DXGI_ERROR_SESSION_DISCONNECTED: HRESULT = 0x887A0028; -pub const DXGI_ERROR_RESTRICT_TO_OUTPUT_STALE: HRESULT = 0x887A0029; -pub const DXGI_ERROR_CANNOT_PROTECT_CONTENT: HRESULT = 0x887A002A; -pub const DXGI_ERROR_ACCESS_DENIED: HRESULT = 0x887A002B; -pub const DXGI_ERROR_NAME_ALREADY_EXISTS: HRESULT = 0x887A002C; -pub const DXGI_ERROR_SDK_COMPONENT_MISSING: HRESULT = 0x887A002D; -pub const DXGI_STATUS_UNOCCLUDED: HRESULT = 0x087A0009; -pub const DXGI_STATUS_DDA_WAS_STILL_DRAWING: HRESULT = 0x087A000A; -pub const DXGI_ERROR_MODE_CHANGE_IN_PROGRESS: HRESULT = 0x887A0025; -pub const DXGI_DDI_ERR_WASSTILLDRAWING: HRESULT = 0x887B0001; -pub const DXGI_DDI_ERR_UNSUPPORTED: HRESULT = 0x887B0002; -pub const DXGI_DDI_ERR_NONEXCLUSIVE: HRESULT = 0x887B0003; -pub const D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS: HRESULT = 0x88790001; -pub const D3D10_ERROR_FILE_NOT_FOUND: HRESULT = 0x88790002; -pub const D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS: HRESULT = 0x887C0001; -pub const D3D11_ERROR_FILE_NOT_FOUND: HRESULT = 0x887C0002; -pub const D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS: HRESULT = 0x887C0003; -pub const D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD: HRESULT - = 0x887C0004; -pub const D2DERR_WRONG_STATE: HRESULT = 0x88990001; -pub const D2DERR_NOT_INITIALIZED: HRESULT = 0x88990002; -pub const D2DERR_UNSUPPORTED_OPERATION: HRESULT = 0x88990003; -pub const D2DERR_SCANNER_FAILED: HRESULT = 0x88990004; -pub const D2DERR_SCREEN_ACCESS_DENIED: HRESULT = 0x88990005; -pub const D2DERR_DISPLAY_STATE_INVALID: HRESULT = 0x88990006; -pub const D2DERR_ZERO_VECTOR: HRESULT = 0x88990007; -pub const D2DERR_INTERNAL_ERROR: HRESULT = 0x88990008; -pub const D2DERR_DISPLAY_FORMAT_NOT_SUPPORTED: HRESULT = 0x88990009; -pub const D2DERR_INVALID_CALL: HRESULT = 0x8899000A; -pub const D2DERR_NO_HARDWARE_DEVICE: HRESULT = 0x8899000B; -pub const D2DERR_RECREATE_TARGET: HRESULT = 0x8899000C; -pub const D2DERR_TOO_MANY_SHADER_ELEMENTS: HRESULT = 0x8899000D; -pub const D2DERR_SHADER_COMPILE_FAILED: HRESULT = 0x8899000E; -pub const D2DERR_MAX_TEXTURE_SIZE_EXCEEDED: HRESULT = 0x8899000F; -pub const D2DERR_UNSUPPORTED_VERSION: HRESULT = 0x88990010; -pub const D2DERR_BAD_NUMBER: HRESULT = 0x88990011; -pub const D2DERR_WRONG_FACTORY: HRESULT = 0x88990012; -pub const D2DERR_LAYER_ALREADY_IN_USE: HRESULT = 0x88990013; -pub const D2DERR_POP_CALL_DID_NOT_MATCH_PUSH: HRESULT = 0x88990014; -pub const D2DERR_WRONG_RESOURCE_DOMAIN: HRESULT = 0x88990015; -pub const D2DERR_PUSH_POP_UNBALANCED: HRESULT = 0x88990016; -pub const D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT: HRESULT = 0x88990017; -pub const D2DERR_INCOMPATIBLE_BRUSH_TYPES: HRESULT = 0x88990018; -pub const D2DERR_WIN32_ERROR: HRESULT = 0x88990019; -pub const D2DERR_TARGET_NOT_GDI_COMPATIBLE: HRESULT = 0x8899001A; -pub const D2DERR_TEXT_EFFECT_IS_WRONG_TYPE: HRESULT = 0x8899001B; -pub const D2DERR_TEXT_RENDERER_NOT_RELEASED: HRESULT = 0x8899001C; -pub const D2DERR_EXCEEDS_MAX_BITMAP_SIZE: HRESULT = 0x8899001D; -pub const D2DERR_INVALID_GRAPH_CONFIGURATION: HRESULT = 0x8899001E; -pub const D2DERR_INVALID_INTERNAL_GRAPH_CONFIGURATION: HRESULT = 0x8899001F; -pub const D2DERR_CYCLIC_GRAPH: HRESULT = 0x88990020; -pub const D2DERR_BITMAP_CANNOT_DRAW: HRESULT = 0x88990021; -pub const D2DERR_OUTSTANDING_BITMAP_REFERENCES: HRESULT = 0x88990022; -pub const D2DERR_ORIGINAL_TARGET_NOT_BOUND: HRESULT = 0x88990023; -pub const D2DERR_INVALID_TARGET: HRESULT = 0x88990024; -pub const D2DERR_BITMAP_BOUND_AS_TARGET: HRESULT = 0x88990025; -pub const D2DERR_INSUFFICIENT_DEVICE_CAPABILITIES: HRESULT = 0x88990026; -pub const D2DERR_INTERMEDIATE_TOO_LARGE: HRESULT = 0x88990027; -pub const D2DERR_EFFECT_IS_NOT_REGISTERED: HRESULT = 0x88990028; -pub const D2DERR_INVALID_PROPERTY: HRESULT = 0x88990029; -pub const D2DERR_NO_SUBPROPERTIES: HRESULT = 0x8899002A; -pub const D2DERR_PRINT_JOB_CLOSED: HRESULT = 0x8899002B; -pub const D2DERR_PRINT_FORMAT_NOT_SUPPORTED: HRESULT = 0x8899002C; -pub const D2DERR_TOO_MANY_TRANSFORM_INPUTS: HRESULT = 0x8899002D; -pub const DWRITE_E_FILEFORMAT: HRESULT = 0x88985000; -pub const DWRITE_E_UNEXPECTED: HRESULT = 0x88985001; -pub const DWRITE_E_NOFONT: HRESULT = 0x88985002; -pub const DWRITE_E_FILENOTFOUND: HRESULT = 0x88985003; -pub const DWRITE_E_FILEACCESS: HRESULT = 0x88985004; -pub const DWRITE_E_FONTCOLLECTIONOBSOLETE: HRESULT = 0x88985005; -pub const DWRITE_E_ALREADYREGISTERED: HRESULT = 0x88985006; -pub const DWRITE_E_CACHEFORMAT: HRESULT = 0x88985007; -pub const DWRITE_E_CACHEVERSION: HRESULT = 0x88985008; -pub const DWRITE_E_UNSUPPORTEDOPERATION: HRESULT = 0x88985009; -pub const DWRITE_E_TEXTRENDERERINCOMPATIBLE: HRESULT = 0x8898500A; -pub const DWRITE_E_FLOWDIRECTIONCONFLICTS: HRESULT = 0x8898500B; -pub const DWRITE_E_NOCOLOR: HRESULT = 0x8898500C; -pub const WINCODEC_ERR_WRONGSTATE: HRESULT = 0x88982F04; -pub const WINCODEC_ERR_VALUEOUTOFRANGE: HRESULT = 0x88982F05; -pub const WINCODEC_ERR_UNKNOWNIMAGEFORMAT: HRESULT = 0x88982F07; -pub const WINCODEC_ERR_UNSUPPORTEDVERSION: HRESULT = 0x88982F0B; -pub const WINCODEC_ERR_NOTINITIALIZED: HRESULT = 0x88982F0C; -pub const WINCODEC_ERR_ALREADYLOCKED: HRESULT = 0x88982F0D; -pub const WINCODEC_ERR_PROPERTYNOTFOUND: HRESULT = 0x88982F40; -pub const WINCODEC_ERR_PROPERTYNOTSUPPORTED: HRESULT = 0x88982F41; -pub const WINCODEC_ERR_PROPERTYSIZE: HRESULT = 0x88982F42; -pub const WINCODEC_ERR_CODECPRESENT: HRESULT = 0x88982F43; -pub const WINCODEC_ERR_CODECNOTHUMBNAIL: HRESULT = 0x88982F44; -pub const WINCODEC_ERR_PALETTEUNAVAILABLE: HRESULT = 0x88982F45; -pub const WINCODEC_ERR_CODECTOOMANYSCANLINES: HRESULT = 0x88982F46; -pub const WINCODEC_ERR_INTERNALERROR: HRESULT = 0x88982F48; -pub const WINCODEC_ERR_SOURCERECTDOESNOTMATCHDIMENSIONS: HRESULT = 0x88982F49; -pub const WINCODEC_ERR_COMPONENTNOTFOUND: HRESULT = 0x88982F50; -pub const WINCODEC_ERR_IMAGESIZEOUTOFRANGE: HRESULT = 0x88982F51; -pub const WINCODEC_ERR_TOOMUCHMETADATA: HRESULT = 0x88982F52; -pub const WINCODEC_ERR_BADIMAGE: HRESULT = 0x88982F60; -pub const WINCODEC_ERR_BADHEADER: HRESULT = 0x88982F61; -pub const WINCODEC_ERR_FRAMEMISSING: HRESULT = 0x88982F62; -pub const WINCODEC_ERR_BADMETADATAHEADER: HRESULT = 0x88982F63; -pub const WINCODEC_ERR_BADSTREAMDATA: HRESULT = 0x88982F70; -pub const WINCODEC_ERR_STREAMWRITE: HRESULT = 0x88982F71; -pub const WINCODEC_ERR_STREAMREAD: HRESULT = 0x88982F72; -pub const WINCODEC_ERR_STREAMNOTAVAILABLE: HRESULT = 0x88982F73; -pub const WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT: HRESULT = 0x88982F80; -pub const WINCODEC_ERR_UNSUPPORTEDOPERATION: HRESULT = 0x88982F81; -pub const WINCODEC_ERR_INVALIDREGISTRATION: HRESULT = 0x88982F8A; -pub const WINCODEC_ERR_COMPONENTINITIALIZEFAILURE: HRESULT = 0x88982F8B; -pub const WINCODEC_ERR_INSUFFICIENTBUFFER: HRESULT = 0x88982F8C; -pub const WINCODEC_ERR_DUPLICATEMETADATAPRESENT: HRESULT = 0x88982F8D; -pub const WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE: HRESULT = 0x88982F8E; -pub const WINCODEC_ERR_UNEXPECTEDSIZE: HRESULT = 0x88982F8F; -pub const WINCODEC_ERR_INVALIDQUERYREQUEST: HRESULT = 0x88982F90; -pub const WINCODEC_ERR_UNEXPECTEDMETADATATYPE: HRESULT = 0x88982F91; -pub const WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT: HRESULT = 0x88982F92; -pub const WINCODEC_ERR_INVALIDQUERYCHARACTER: HRESULT = 0x88982F93; -pub const WINCODEC_ERR_WIN32ERROR: HRESULT = 0x88982F94; -pub const WINCODEC_ERR_INVALIDPROGRESSIVELEVEL: HRESULT = 0x88982F95; -pub const MILERR_OBJECTBUSY: HRESULT = 0x88980001; -pub const MILERR_INSUFFICIENTBUFFER: HRESULT = 0x88980002; -pub const MILERR_WIN32ERROR: HRESULT = 0x88980003; -pub const MILERR_SCANNER_FAILED: HRESULT = 0x88980004; -pub const MILERR_SCREENACCESSDENIED: HRESULT = 0x88980005; -pub const MILERR_DISPLAYSTATEINVALID: HRESULT = 0x88980006; -pub const MILERR_NONINVERTIBLEMATRIX: HRESULT = 0x88980007; -pub const MILERR_ZEROVECTOR: HRESULT = 0x88980008; -pub const MILERR_TERMINATED: HRESULT = 0x88980009; -pub const MILERR_BADNUMBER: HRESULT = 0x8898000A; -pub const MILERR_INTERNALERROR: HRESULT = 0x88980080; -pub const MILERR_DISPLAYFORMATNOTSUPPORTED: HRESULT = 0x88980084; -pub const MILERR_INVALIDCALL: HRESULT = 0x88980085; -pub const MILERR_ALREADYLOCKED: HRESULT = 0x88980086; -pub const MILERR_NOTLOCKED: HRESULT = 0x88980087; -pub const MILERR_DEVICECANNOTRENDERTEXT: HRESULT = 0x88980088; -pub const MILERR_GLYPHBITMAPMISSED: HRESULT = 0x88980089; -pub const MILERR_MALFORMEDGLYPHCACHE: HRESULT = 0x8898008A; -pub const MILERR_GENERIC_IGNORE: HRESULT = 0x8898008B; -pub const MILERR_MALFORMED_GUIDELINE_DATA: HRESULT = 0x8898008C; -pub const MILERR_NO_HARDWARE_DEVICE: HRESULT = 0x8898008D; -pub const MILERR_NEED_RECREATE_AND_PRESENT: HRESULT = 0x8898008E; -pub const MILERR_ALREADY_INITIALIZED: HRESULT = 0x8898008F; -pub const MILERR_MISMATCHED_SIZE: HRESULT = 0x88980090; -pub const MILERR_NO_REDIRECTION_SURFACE_AVAILABLE: HRESULT = 0x88980091; -pub const MILERR_REMOTING_NOT_SUPPORTED: HRESULT = 0x88980092; -pub const MILERR_QUEUED_PRESENT_NOT_SUPPORTED: HRESULT = 0x88980093; -pub const MILERR_NOT_QUEUING_PRESENTS: HRESULT = 0x88980094; -pub const MILERR_NO_REDIRECTION_SURFACE_RETRY_LATER: HRESULT = 0x88980095; -pub const MILERR_TOOMANYSHADERELEMNTS: HRESULT = 0x88980096; -pub const MILERR_MROW_READLOCK_FAILED: HRESULT = 0x88980097; -pub const MILERR_MROW_UPDATE_FAILED: HRESULT = 0x88980098; -pub const MILERR_SHADER_COMPILE_FAILED: HRESULT = 0x88980099; -pub const MILERR_MAX_TEXTURE_SIZE_EXCEEDED: HRESULT = 0x8898009A; -pub const MILERR_QPC_TIME_WENT_BACKWARD: HRESULT = 0x8898009B; -pub const MILERR_DXGI_ENUMERATION_OUT_OF_SYNC: HRESULT = 0x8898009D; -pub const MILERR_ADAPTER_NOT_FOUND: HRESULT = 0x8898009E; -pub const MILERR_COLORSPACE_NOT_SUPPORTED: HRESULT = 0x8898009F; -pub const MILERR_PREFILTER_NOT_SUPPORTED: HRESULT = 0x889800A0; -pub const MILERR_DISPLAYID_ACCESS_DENIED: HRESULT = 0x889800A1; -pub const UCEERR_INVALIDPACKETHEADER: HRESULT = 0x88980400; -pub const UCEERR_UNKNOWNPACKET: HRESULT = 0x88980401; -pub const UCEERR_ILLEGALPACKET: HRESULT = 0x88980402; -pub const UCEERR_MALFORMEDPACKET: HRESULT = 0x88980403; -pub const UCEERR_ILLEGALHANDLE: HRESULT = 0x88980404; -pub const UCEERR_HANDLELOOKUPFAILED: HRESULT = 0x88980405; -pub const UCEERR_RENDERTHREADFAILURE: HRESULT = 0x88980406; -pub const UCEERR_CTXSTACKFRSTTARGETNULL: HRESULT = 0x88980407; -pub const UCEERR_CONNECTIONIDLOOKUPFAILED: HRESULT = 0x88980408; -pub const UCEERR_BLOCKSFULL: HRESULT = 0x88980409; -pub const UCEERR_MEMORYFAILURE: HRESULT = 0x8898040A; -pub const UCEERR_PACKETRECORDOUTOFRANGE: HRESULT = 0x8898040B; -pub const UCEERR_ILLEGALRECORDTYPE: HRESULT = 0x8898040C; -pub const UCEERR_OUTOFHANDLES: HRESULT = 0x8898040D; -pub const UCEERR_UNCHANGABLE_UPDATE_ATTEMPTED: HRESULT = 0x8898040E; -pub const UCEERR_NO_MULTIPLE_WORKER_THREADS: HRESULT = 0x8898040F; -pub const UCEERR_REMOTINGNOTSUPPORTED: HRESULT = 0x88980410; -pub const UCEERR_MISSINGENDCOMMAND: HRESULT = 0x88980411; -pub const UCEERR_MISSINGBEGINCOMMAND: HRESULT = 0x88980412; -pub const UCEERR_CHANNELSYNCTIMEDOUT: HRESULT = 0x88980413; -pub const UCEERR_CHANNELSYNCABANDONED: HRESULT = 0x88980414; -pub const UCEERR_UNSUPPORTEDTRANSPORTVERSION: HRESULT = 0x88980415; -pub const UCEERR_TRANSPORTUNAVAILABLE: HRESULT = 0x88980416; -pub const UCEERR_FEEDBACK_UNSUPPORTED: HRESULT = 0x88980417; -pub const UCEERR_COMMANDTRANSPORTDENIED: HRESULT = 0x88980418; -pub const UCEERR_GRAPHICSSTREAMUNAVAILABLE: HRESULT = 0x88980419; -pub const UCEERR_GRAPHICSSTREAMALREADYOPEN: HRESULT = 0x88980420; -pub const UCEERR_TRANSPORTDISCONNECTED: HRESULT = 0x88980421; -pub const UCEERR_TRANSPORTOVERLOADED: HRESULT = 0x88980422; -pub const UCEERR_PARTITION_ZOMBIED: HRESULT = 0x88980423; -pub const MILAVERR_NOCLOCK: HRESULT = 0x88980500; -pub const MILAVERR_NOMEDIATYPE: HRESULT = 0x88980501; -pub const MILAVERR_NOVIDEOMIXER: HRESULT = 0x88980502; -pub const MILAVERR_NOVIDEOPRESENTER: HRESULT = 0x88980503; -pub const MILAVERR_NOREADYFRAMES: HRESULT = 0x88980504; -pub const MILAVERR_MODULENOTLOADED: HRESULT = 0x88980505; -pub const MILAVERR_WMPFACTORYNOTREGISTERED: HRESULT = 0x88980506; -pub const MILAVERR_INVALIDWMPVERSION: HRESULT = 0x88980507; -pub const MILAVERR_INSUFFICIENTVIDEORESOURCES: HRESULT = 0x88980508; -pub const MILAVERR_VIDEOACCELERATIONNOTAVAILABLE: HRESULT = 0x88980509; -pub const MILAVERR_REQUESTEDTEXTURETOOBIG: HRESULT = 0x8898050A; -pub const MILAVERR_SEEKFAILED: HRESULT = 0x8898050B; -pub const MILAVERR_UNEXPECTEDWMPFAILURE: HRESULT = 0x8898050C; -pub const MILAVERR_MEDIAPLAYERCLOSED: HRESULT = 0x8898050D; -pub const MILAVERR_UNKNOWNHARDWAREERROR: HRESULT = 0x8898050E; -pub const MILEFFECTSERR_UNKNOWNPROPERTY: HRESULT = 0x8898060E; -pub const MILEFFECTSERR_EFFECTNOTPARTOFGROUP: HRESULT = 0x8898060F; -pub const MILEFFECTSERR_NOINPUTSOURCEATTACHED: HRESULT = 0x88980610; -pub const MILEFFECTSERR_CONNECTORNOTCONNECTED: HRESULT = 0x88980611; -pub const MILEFFECTSERR_CONNECTORNOTASSOCIATEDWITHEFFECT: HRESULT = 0x88980612; -pub const MILEFFECTSERR_RESERVED: HRESULT = 0x88980613; -pub const MILEFFECTSERR_CYCLEDETECTED: HRESULT = 0x88980614; -pub const MILEFFECTSERR_EFFECTINMORETHANONEGRAPH: HRESULT = 0x88980615; -pub const MILEFFECTSERR_EFFECTALREADYINAGRAPH: HRESULT = 0x88980616; -pub const MILEFFECTSERR_EFFECTHASNOCHILDREN: HRESULT = 0x88980617; -pub const MILEFFECTSERR_ALREADYATTACHEDTOLISTENER: HRESULT = 0x88980618; -pub const MILEFFECTSERR_NOTAFFINETRANSFORM: HRESULT = 0x88980619; -pub const MILEFFECTSERR_EMPTYBOUNDS: HRESULT = 0x8898061A; -pub const MILEFFECTSERR_OUTPUTSIZETOOLARGE: HRESULT = 0x8898061B; -pub const DWMERR_STATE_TRANSITION_FAILED: HRESULT = 0x88980700; -pub const DWMERR_THEME_FAILED: HRESULT = 0x88980701; -pub const DWMERR_CATASTROPHIC_FAILURE: HRESULT = 0x88980702; -pub const DCOMPOSITION_ERROR_WINDOW_ALREADY_COMPOSED: HRESULT = 0x88980800; -pub const DCOMPOSITION_ERROR_SURFACE_BEING_RENDERED: HRESULT = 0x88980801; -pub const DCOMPOSITION_ERROR_SURFACE_NOT_BEING_RENDERED: HRESULT = 0x88980802; -pub const ONL_E_INVALID_AUTHENTICATION_TARGET: HRESULT = 0x80860001; -pub const ONL_E_ACCESS_DENIED_BY_TOU: HRESULT = 0x80860002; -pub const ONL_E_INVALID_APPLICATION: HRESULT = 0x80860003; -pub const ONL_E_PASSWORD_UPDATE_REQUIRED: HRESULT = 0x80860004; -pub const ONL_E_ACCOUNT_UPDATE_REQUIRED: HRESULT = 0x80860005; -pub const ONL_E_FORCESIGNIN: HRESULT = 0x80860006; -pub const ONL_E_ACCOUNT_LOCKED: HRESULT = 0x80860007; -pub const ONL_E_PARENTAL_CONSENT_REQUIRED: HRESULT = 0x80860008; -pub const ONL_E_EMAIL_VERIFICATION_REQUIRED: HRESULT = 0x80860009; -pub const ONL_E_ACCOUNT_SUSPENDED_COMPROIMISE: HRESULT = 0x8086000A; -pub const ONL_E_ACCOUNT_SUSPENDED_ABUSE: HRESULT = 0x8086000B; -pub const ONL_E_ACTION_REQUIRED: HRESULT = 0x8086000C; -pub const ONL_CONNECTION_COUNT_LIMIT: HRESULT = 0x8086000D; -pub const ONL_E_CONNECTED_ACCOUNT_CAN_NOT_SIGNOUT: HRESULT = 0x8086000E; -pub const ONL_E_USER_AUTHENTICATION_REQUIRED: HRESULT = 0x8086000F; -pub const ONL_E_REQUEST_THROTTLED: HRESULT = 0x80860010; -pub const FA_E_MAX_PERSISTED_ITEMS_REACHED: HRESULT = 0x80270220; -pub const FA_E_HOMEGROUP_NOT_AVAILABLE: HRESULT = 0x80270222; -pub const E_MONITOR_RESOLUTION_TOO_LOW: HRESULT = 0x80270250; -pub const E_ELEVATED_ACTIVATION_NOT_SUPPORTED: HRESULT = 0x80270251; -pub const E_UAC_DISABLED: HRESULT = 0x80270252; -pub const E_FULL_ADMIN_NOT_SUPPORTED: HRESULT = 0x80270253; -pub const E_APPLICATION_NOT_REGISTERED: HRESULT = 0x80270254; -pub const E_MULTIPLE_EXTENSIONS_FOR_APPLICATION: HRESULT = 0x80270255; -pub const E_MULTIPLE_PACKAGES_FOR_FAMILY: HRESULT = 0x80270256; -pub const E_APPLICATION_MANAGER_NOT_RUNNING: HRESULT = 0x80270257; -pub const S_STORE_LAUNCHED_FOR_REMEDIATION: HRESULT = 0x00270258; -pub const S_APPLICATION_ACTIVATION_ERROR_HANDLED_BY_DIALOG: HRESULT = 0x00270259; -pub const E_APPLICATION_ACTIVATION_TIMED_OUT: HRESULT = 0x8027025A; -pub const E_APPLICATION_ACTIVATION_EXEC_FAILURE: HRESULT = 0x8027025B; -pub const E_APPLICATION_TEMPORARY_LICENSE_ERROR: HRESULT = 0x8027025C; -pub const E_APPLICATION_TRIAL_LICENSE_EXPIRED: HRESULT = 0x8027025D; -pub const E_SKYDRIVE_ROOT_TARGET_FILE_SYSTEM_NOT_SUPPORTED: HRESULT = 0x80270260; -pub const E_SKYDRIVE_ROOT_TARGET_OVERLAP: HRESULT = 0x80270261; -pub const E_SKYDRIVE_ROOT_TARGET_CANNOT_INDEX: HRESULT = 0x80270262; -pub const E_SKYDRIVE_FILE_NOT_UPLOADED: HRESULT = 0x80270263; -pub const E_SKYDRIVE_UPDATE_AVAILABILITY_FAIL: HRESULT = 0x80270264; -pub const E_SKYDRIVE_ROOT_TARGET_VOLUME_ROOT_NOT_SUPPORTED: HRESULT = 0x80270265; -pub const E_SYNCENGINE_FILE_SIZE_OVER_LIMIT: HRESULT = 0x8802B001; -pub const E_SYNCENGINE_FILE_SIZE_EXCEEDS_REMAINING_QUOTA: HRESULT = 0x8802B002; -pub const E_SYNCENGINE_UNSUPPORTED_FILE_NAME: HRESULT = 0x8802B003; -pub const E_SYNCENGINE_FOLDER_ITEM_COUNT_LIMIT_EXCEEDED: HRESULT = 0x8802B004; -pub const E_SYNCENGINE_FILE_SYNC_PARTNER_ERROR: HRESULT = 0x8802B005; -pub const E_SYNCENGINE_SYNC_PAUSED_BY_SERVICE: HRESULT = 0x8802B006; -pub const E_SYNCENGINE_FILE_IDENTIFIER_UNKNOWN: HRESULT = 0x8802C002; -pub const E_SYNCENGINE_SERVICE_AUTHENTICATION_FAILED: HRESULT = 0x8802C003; -pub const E_SYNCENGINE_UNKNOWN_SERVICE_ERROR: HRESULT = 0x8802C004; -pub const E_SYNCENGINE_SERVICE_RETURNED_UNEXPECTED_SIZE: HRESULT = 0x8802C005; -pub const E_SYNCENGINE_REQUEST_BLOCKED_BY_SERVICE: HRESULT = 0x8802C006; -pub const E_SYNCENGINE_REQUEST_BLOCKED_DUE_TO_CLIENT_ERROR: HRESULT = 0x8802C007; -pub const E_SYNCENGINE_FOLDER_INACCESSIBLE: HRESULT = 0x8802D001; -pub const E_SYNCENGINE_UNSUPPORTED_FOLDER_NAME: HRESULT = 0x8802D002; -pub const E_SYNCENGINE_UNSUPPORTED_MARKET: HRESULT = 0x8802D003; -pub const E_SYNCENGINE_PATH_LENGTH_LIMIT_EXCEEDED: HRESULT = 0x8802D004; -pub const E_SYNCENGINE_REMOTE_PATH_LENGTH_LIMIT_EXCEEDED: HRESULT = 0x8802D005; -pub const E_SYNCENGINE_CLIENT_UPDATE_NEEDED: HRESULT = 0x8802D006; -pub const E_SYNCENGINE_PROXY_AUTHENTICATION_REQUIRED: HRESULT = 0x8802D007; -pub const E_SYNCENGINE_STORAGE_SERVICE_PROVISIONING_FAILED: HRESULT = 0x8802D008; -pub const E_SYNCENGINE_UNSUPPORTED_REPARSE_POINT: HRESULT = 0x8802D009; -pub const E_SYNCENGINE_STORAGE_SERVICE_BLOCKED: HRESULT = 0x8802D00A; -pub const E_SYNCENGINE_FOLDER_IN_REDIRECTION: HRESULT = 0x8802D00B; -pub const EAS_E_POLICY_NOT_MANAGED_BY_OS: HRESULT = 0x80550001; -pub const EAS_E_POLICY_COMPLIANT_WITH_ACTIONS: HRESULT = 0x80550002; -pub const EAS_E_REQUESTED_POLICY_NOT_ENFORCEABLE: HRESULT = 0x80550003; -pub const EAS_E_CURRENT_USER_HAS_BLANK_PASSWORD: HRESULT = 0x80550004; -pub const EAS_E_REQUESTED_POLICY_PASSWORD_EXPIRATION_INCOMPATIBLE: HRESULT - = 0x80550005; -pub const EAS_E_USER_CANNOT_CHANGE_PASSWORD: HRESULT = 0x80550006; -pub const EAS_E_ADMINS_HAVE_BLANK_PASSWORD: HRESULT = 0x80550007; -pub const EAS_E_ADMINS_CANNOT_CHANGE_PASSWORD: HRESULT = 0x80550008; -pub const EAS_E_LOCAL_CONTROLLED_USERS_CANNOT_CHANGE_PASSWORD: HRESULT = 0x80550009; -pub const EAS_E_PASSWORD_POLICY_NOT_ENFORCEABLE_FOR_CONNECTED_ADMINS: HRESULT - = 0x8055000A; -pub const EAS_E_CONNECTED_ADMINS_NEED_TO_CHANGE_PASSWORD: HRESULT = 0x8055000B; -pub const EAS_E_PASSWORD_POLICY_NOT_ENFORCEABLE_FOR_CURRENT_CONNECTED_USER: HRESULT - = 0x8055000C; -pub const EAS_E_CURRENT_CONNECTED_USER_NEED_TO_CHANGE_PASSWORD: HRESULT = 0x8055000D; -pub const WEB_E_UNSUPPORTED_FORMAT: HRESULT = 0x83750001; -pub const WEB_E_INVALID_XML: HRESULT = 0x83750002; -pub const WEB_E_MISSING_REQUIRED_ELEMENT: HRESULT = 0x83750003; -pub const WEB_E_MISSING_REQUIRED_ATTRIBUTE: HRESULT = 0x83750004; -pub const WEB_E_UNEXPECTED_CONTENT: HRESULT = 0x83750005; -pub const WEB_E_RESOURCE_TOO_LARGE: HRESULT = 0x83750006; -pub const WEB_E_INVALID_JSON_STRING: HRESULT = 0x83750007; -pub const WEB_E_INVALID_JSON_NUMBER: HRESULT = 0x83750008; -pub const WEB_E_JSON_VALUE_NOT_FOUND: HRESULT = 0x83750009; -pub const HTTP_E_STATUS_UNEXPECTED: HRESULT = 0x80190001; -pub const HTTP_E_STATUS_UNEXPECTED_REDIRECTION: HRESULT = 0x80190003; -pub const HTTP_E_STATUS_UNEXPECTED_CLIENT_ERROR: HRESULT = 0x80190004; -pub const HTTP_E_STATUS_UNEXPECTED_SERVER_ERROR: HRESULT = 0x80190005; -pub const HTTP_E_STATUS_AMBIGUOUS: HRESULT = 0x8019012C; -pub const HTTP_E_STATUS_MOVED: HRESULT = 0x8019012D; -pub const HTTP_E_STATUS_REDIRECT: HRESULT = 0x8019012E; -pub const HTTP_E_STATUS_REDIRECT_METHOD: HRESULT = 0x8019012F; -pub const HTTP_E_STATUS_NOT_MODIFIED: HRESULT = 0x80190130; -pub const HTTP_E_STATUS_USE_PROXY: HRESULT = 0x80190131; -pub const HTTP_E_STATUS_REDIRECT_KEEP_VERB: HRESULT = 0x80190133; -pub const HTTP_E_STATUS_BAD_REQUEST: HRESULT = 0x80190190; -pub const HTTP_E_STATUS_DENIED: HRESULT = 0x80190191; -pub const HTTP_E_STATUS_PAYMENT_REQ: HRESULT = 0x80190192; -pub const HTTP_E_STATUS_FORBIDDEN: HRESULT = 0x80190193; -pub const HTTP_E_STATUS_NOT_FOUND: HRESULT = 0x80190194; -pub const HTTP_E_STATUS_BAD_METHOD: HRESULT = 0x80190195; -pub const HTTP_E_STATUS_NONE_ACCEPTABLE: HRESULT = 0x80190196; -pub const HTTP_E_STATUS_PROXY_AUTH_REQ: HRESULT = 0x80190197; -pub const HTTP_E_STATUS_REQUEST_TIMEOUT: HRESULT = 0x80190198; -pub const HTTP_E_STATUS_CONFLICT: HRESULT = 0x80190199; -pub const HTTP_E_STATUS_GONE: HRESULT = 0x8019019A; -pub const HTTP_E_STATUS_LENGTH_REQUIRED: HRESULT = 0x8019019B; -pub const HTTP_E_STATUS_PRECOND_FAILED: HRESULT = 0x8019019C; -pub const HTTP_E_STATUS_REQUEST_TOO_LARGE: HRESULT = 0x8019019D; -pub const HTTP_E_STATUS_URI_TOO_LONG: HRESULT = 0x8019019E; -pub const HTTP_E_STATUS_UNSUPPORTED_MEDIA: HRESULT = 0x8019019F; -pub const HTTP_E_STATUS_RANGE_NOT_SATISFIABLE: HRESULT = 0x801901A0; -pub const HTTP_E_STATUS_EXPECTATION_FAILED: HRESULT = 0x801901A1; -pub const HTTP_E_STATUS_SERVER_ERROR: HRESULT = 0x801901F4; -pub const HTTP_E_STATUS_NOT_SUPPORTED: HRESULT = 0x801901F5; -pub const HTTP_E_STATUS_BAD_GATEWAY: HRESULT = 0x801901F6; -pub const HTTP_E_STATUS_SERVICE_UNAVAIL: HRESULT = 0x801901F7; -pub const HTTP_E_STATUS_GATEWAY_TIMEOUT: HRESULT = 0x801901F8; -pub const HTTP_E_STATUS_VERSION_NOT_SUP: HRESULT = 0x801901F9; -pub const E_INVALID_PROTOCOL_OPERATION: HRESULT = 0x83760001; -pub const E_INVALID_PROTOCOL_FORMAT: HRESULT = 0x83760002; -pub const E_PROTOCOL_EXTENSIONS_NOT_SUPPORTED: HRESULT = 0x83760003; -pub const E_SUBPROTOCOL_NOT_SUPPORTED: HRESULT = 0x83760004; -pub const E_PROTOCOL_VERSION_NOT_SUPPORTED: HRESULT = 0x83760005; -pub const INPUT_E_OUT_OF_ORDER: HRESULT = 0x80400000; -pub const INPUT_E_REENTRANCY: HRESULT = 0x80400001; -pub const INPUT_E_MULTIMODAL: HRESULT = 0x80400002; -pub const INPUT_E_PACKET: HRESULT = 0x80400003; -pub const INPUT_E_FRAME: HRESULT = 0x80400004; -pub const INPUT_E_HISTORY: HRESULT = 0x80400005; -pub const INPUT_E_DEVICE_INFO: HRESULT = 0x80400006; -pub const INPUT_E_TRANSFORM: HRESULT = 0x80400007; -pub const INPUT_E_DEVICE_PROPERTY: HRESULT = 0x80400008; -pub const INET_E_INVALID_URL: HRESULT = 0x800C0002; -pub const INET_E_NO_SESSION: HRESULT = 0x800C0003; -pub const INET_E_CANNOT_CONNECT: HRESULT = 0x800C0004; -pub const INET_E_RESOURCE_NOT_FOUND: HRESULT = 0x800C0005; -pub const INET_E_OBJECT_NOT_FOUND: HRESULT = 0x800C0006; -pub const INET_E_DATA_NOT_AVAILABLE: HRESULT = 0x800C0007; -pub const INET_E_DOWNLOAD_FAILURE: HRESULT = 0x800C0008; -pub const INET_E_AUTHENTICATION_REQUIRED: HRESULT = 0x800C0009; -pub const INET_E_NO_VALID_MEDIA: HRESULT = 0x800C000A; -pub const INET_E_CONNECTION_TIMEOUT: HRESULT = 0x800C000B; -pub const INET_E_INVALID_REQUEST: HRESULT = 0x800C000C; -pub const INET_E_UNKNOWN_PROTOCOL: HRESULT = 0x800C000D; -pub const INET_E_SECURITY_PROBLEM: HRESULT = 0x800C000E; -pub const INET_E_CANNOT_LOAD_DATA: HRESULT = 0x800C000F; -pub const INET_E_CANNOT_INSTANTIATE_OBJECT: HRESULT = 0x800C0010; -pub const INET_E_INVALID_CERTIFICATE: HRESULT = 0x800C0019; -pub const INET_E_REDIRECT_FAILED: HRESULT = 0x800C0014; -pub const INET_E_REDIRECT_TO_DIR: HRESULT = 0x800C0015; -pub const ERROR_DBG_CREATE_PROCESS_FAILURE_LOCKDOWN: HRESULT = 0x80B00001; -pub const ERROR_DBG_ATTACH_PROCESS_FAILURE_LOCKDOWN: HRESULT = 0x80B00002; -pub const ERROR_DBG_CONNECT_SERVER_FAILURE_LOCKDOWN: HRESULT = 0x80B00003; -pub const ERROR_DBG_START_SERVER_FAILURE_LOCKDOWN: HRESULT = 0x80B00004; -pub const ERROR_IO_PREEMPTED: HRESULT = 0x89010001; -pub const JSCRIPT_E_CANTEXECUTE: HRESULT = 0x89020001; -pub const WEP_E_NOT_PROVISIONED_ON_ALL_VOLUMES: HRESULT = 0x88010001; -pub const WEP_E_FIXED_DATA_NOT_SUPPORTED: HRESULT = 0x88010002; -pub const WEP_E_HARDWARE_NOT_COMPLIANT: HRESULT = 0x88010003; -pub const WEP_E_LOCK_NOT_CONFIGURED: HRESULT = 0x88010004; -pub const WEP_E_PROTECTION_SUSPENDED: HRESULT = 0x88010005; -pub const WEP_E_NO_LICENSE: HRESULT = 0x88010006; -pub const WEP_E_OS_NOT_PROTECTED: HRESULT = 0x88010007; -pub const WEP_E_UNEXPECTED_FAIL: HRESULT = 0x88010008; -pub const WEP_E_BUFFER_TOO_LARGE: HRESULT = 0x88010009; -pub const ERROR_SVHDX_ERROR_STORED: HRESULT = 0xC05C0000; -pub const ERROR_SVHDX_ERROR_NOT_AVAILABLE: HRESULT = 0xC05CFF00; -pub const ERROR_SVHDX_UNIT_ATTENTION_AVAILABLE: HRESULT = 0xC05CFF01; -pub const ERROR_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED: HRESULT = 0xC05CFF02; -pub const ERROR_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED: HRESULT = 0xC05CFF03; -pub const ERROR_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED: HRESULT = 0xC05CFF04; -pub const ERROR_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED: HRESULT = 0xC05CFF05; -pub const ERROR_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED: HRESULT - = 0xC05CFF06; -pub const ERROR_SVHDX_RESERVATION_CONFLICT: HRESULT = 0xC05CFF07; -pub const ERROR_SVHDX_WRONG_FILE_TYPE: HRESULT = 0xC05CFF08; -pub const ERROR_SVHDX_VERSION_MISMATCH: HRESULT = 0xC05CFF09; -pub const ERROR_VHD_SHARED: HRESULT = 0xC05CFF0A; -pub const WININET_E_OUT_OF_HANDLES: HRESULT = 0x80072EE1; -pub const WININET_E_TIMEOUT: HRESULT = 0x80072EE2; -pub const WININET_E_EXTENDED_ERROR: HRESULT = 0x80072EE3; -pub const WININET_E_INTERNAL_ERROR: HRESULT = 0x80072EE4; -pub const WININET_E_INVALID_URL: HRESULT = 0x80072EE5; -pub const WININET_E_UNRECOGNIZED_SCHEME: HRESULT = 0x80072EE6; -pub const WININET_E_NAME_NOT_RESOLVED: HRESULT = 0x80072EE7; -pub const WININET_E_PROTOCOL_NOT_FOUND: HRESULT = 0x80072EE8; -pub const WININET_E_INVALID_OPTION: HRESULT = 0x80072EE9; -pub const WININET_E_BAD_OPTION_LENGTH: HRESULT = 0x80072EEA; -pub const WININET_E_OPTION_NOT_SETTABLE: HRESULT = 0x80072EEB; -pub const WININET_E_SHUTDOWN: HRESULT = 0x80072EEC; -pub const WININET_E_INCORRECT_USER_NAME: HRESULT = 0x80072EED; -pub const WININET_E_INCORRECT_PASSWORD: HRESULT = 0x80072EEE; -pub const WININET_E_LOGIN_FAILURE: HRESULT = 0x80072EEF; -pub const WININET_E_INVALID_OPERATION: HRESULT = 0x80072EF0; -pub const WININET_E_OPERATION_CANCELLED: HRESULT = 0x80072EF1; -pub const WININET_E_INCORRECT_HANDLE_TYPE: HRESULT = 0x80072EF2; -pub const WININET_E_INCORRECT_HANDLE_STATE: HRESULT = 0x80072EF3; -pub const WININET_E_NOT_PROXY_REQUEST: HRESULT = 0x80072EF4; -pub const WININET_E_REGISTRY_VALUE_NOT_FOUND: HRESULT = 0x80072EF5; -pub const WININET_E_BAD_REGISTRY_PARAMETER: HRESULT = 0x80072EF6; -pub const WININET_E_NO_DIRECT_ACCESS: HRESULT = 0x80072EF7; -pub const WININET_E_NO_CONTEXT: HRESULT = 0x80072EF8; -pub const WININET_E_NO_CALLBACK: HRESULT = 0x80072EF9; -pub const WININET_E_REQUEST_PENDING: HRESULT = 0x80072EFA; -pub const WININET_E_INCORRECT_FORMAT: HRESULT = 0x80072EFB; -pub const WININET_E_ITEM_NOT_FOUND: HRESULT = 0x80072EFC; -pub const WININET_E_CANNOT_CONNECT: HRESULT = 0x80072EFD; -pub const WININET_E_CONNECTION_ABORTED: HRESULT = 0x80072EFE; -pub const WININET_E_CONNECTION_RESET: HRESULT = 0x80072EFF; -pub const WININET_E_FORCE_RETRY: HRESULT = 0x80072F00; -pub const WININET_E_INVALID_PROXY_REQUEST: HRESULT = 0x80072F01; -pub const WININET_E_NEED_UI: HRESULT = 0x80072F02; -pub const WININET_E_HANDLE_EXISTS: HRESULT = 0x80072F04; -pub const WININET_E_SEC_CERT_DATE_INVALID: HRESULT = 0x80072F05; -pub const WININET_E_SEC_CERT_CN_INVALID: HRESULT = 0x80072F06; -pub const WININET_E_HTTP_TO_HTTPS_ON_REDIR: HRESULT = 0x80072F07; -pub const WININET_E_HTTPS_TO_HTTP_ON_REDIR: HRESULT = 0x80072F08; -pub const WININET_E_MIXED_SECURITY: HRESULT = 0x80072F09; -pub const WININET_E_CHG_POST_IS_NON_SECURE: HRESULT = 0x80072F0A; -pub const WININET_E_POST_IS_NON_SECURE: HRESULT = 0x80072F0B; -pub const WININET_E_CLIENT_AUTH_CERT_NEEDED: HRESULT = 0x80072F0C; -pub const WININET_E_INVALID_CA: HRESULT = 0x80072F0D; -pub const WININET_E_CLIENT_AUTH_NOT_SETUP: HRESULT = 0x80072F0E; -pub const WININET_E_ASYNC_THREAD_FAILED: HRESULT = 0x80072F0F; -pub const WININET_E_REDIRECT_SCHEME_CHANGE: HRESULT = 0x80072F10; -pub const WININET_E_DIALOG_PENDING: HRESULT = 0x80072F11; -pub const WININET_E_RETRY_DIALOG: HRESULT = 0x80072F12; -pub const WININET_E_NO_NEW_CONTAINERS: HRESULT = 0x80072F13; -pub const WININET_E_HTTPS_HTTP_SUBMIT_REDIR: HRESULT = 0x80072F14; -pub const WININET_E_SEC_CERT_ERRORS: HRESULT = 0x80072F17; -pub const WININET_E_SEC_CERT_REV_FAILED: HRESULT = 0x80072F19; -pub const WININET_E_HEADER_NOT_FOUND: HRESULT = 0x80072F76; -pub const WININET_E_DOWNLEVEL_SERVER: HRESULT = 0x80072F77; -pub const WININET_E_INVALID_SERVER_RESPONSE: HRESULT = 0x80072F78; -pub const WININET_E_INVALID_HEADER: HRESULT = 0x80072F79; -pub const WININET_E_INVALID_QUERY_REQUEST: HRESULT = 0x80072F7A; -pub const WININET_E_HEADER_ALREADY_EXISTS: HRESULT = 0x80072F7B; -pub const WININET_E_REDIRECT_FAILED: HRESULT = 0x80072F7C; -pub const WININET_E_SECURITY_CHANNEL_ERROR: HRESULT = 0x80072F7D; -pub const WININET_E_UNABLE_TO_CACHE_FILE: HRESULT = 0x80072F7E; -pub const WININET_E_TCPIP_NOT_INSTALLED: HRESULT = 0x80072F7F; -pub const WININET_E_DISCONNECTED: HRESULT = 0x80072F83; -pub const WININET_E_SERVER_UNREACHABLE: HRESULT = 0x80072F84; -pub const WININET_E_PROXY_SERVER_UNREACHABLE: HRESULT = 0x80072F85; -pub const WININET_E_BAD_AUTO_PROXY_SCRIPT: HRESULT = 0x80072F86; -pub const WININET_E_UNABLE_TO_DOWNLOAD_SCRIPT: HRESULT = 0x80072F87; -pub const WININET_E_SEC_INVALID_CERT: HRESULT = 0x80072F89; -pub const WININET_E_SEC_CERT_REVOKED: HRESULT = 0x80072F8A; -pub const WININET_E_FAILED_DUETOSECURITYCHECK: HRESULT = 0x80072F8B; -pub const WININET_E_NOT_INITIALIZED: HRESULT = 0x80072F8C; -pub const WININET_E_LOGIN_FAILURE_DISPLAY_ENTITY_BODY: HRESULT = 0x80072F8E; -pub const WININET_E_DECODING_FAILED: HRESULT = 0x80072F8F; -pub const WININET_E_NOT_REDIRECTED: HRESULT = 0x80072F80; -pub const WININET_E_COOKIE_NEEDS_CONFIRMATION: HRESULT = 0x80072F81; -pub const WININET_E_COOKIE_DECLINED: HRESULT = 0x80072F82; -pub const WININET_E_REDIRECT_NEEDS_CONFIRMATION: HRESULT = 0x80072F88; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/winusbio.rs b/vendor/registry-40351f815f426200/winapi/src/shared/winusbio.rs deleted file mode 100644 index 800694333..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/winusbio.rs +++ /dev/null @@ -1,38 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Public header for WINUSB -use shared::minwindef::{UCHAR, ULONG, USHORT}; -use shared::usb::USBD_PIPE_TYPE; -pub const SHORT_PACKET_TERMINATE: ULONG = 0x01; -pub const AUTO_CLEAR_STALL: ULONG = 0x02; -pub const PIPE_TRANSFER_TIMEOUT: ULONG = 0x03; -pub const IGNORE_SHORT_PACKETS: ULONG = 0x04; -pub const ALLOW_PARTIAL_READS: ULONG = 0x05; -pub const AUTO_FLUSH: ULONG = 0x06; -pub const RAW_IO: ULONG = 0x07; -pub const MAXIMUM_TRANSFER_SIZE: ULONG = 0x08; -pub const RESET_PIPE_ON_RESUME: ULONG = 0x09; -pub const DEVICE_SPEED: ULONG = 0x01; -pub const LowSpeed: ULONG = 0x01; -pub const FullSpeed: ULONG = 0x02; -pub const HighSpeed: ULONG = 0x03; -DEFINE_GUID!{WinUSB_TestGuid, - 0xda812bff, 0x12c3, 0x46a2, 0x8e, 0x2b, 0xdb, 0xd3, 0xb7, 0x83, 0x4c, 0x43} -STRUCT!{struct WINUSB_PIPE_INFORMATION { - PipeType: USBD_PIPE_TYPE, - PipeId: UCHAR, - MaximumPacketSize: USHORT, - Interval: UCHAR, -}} -pub type PWINUSB_PIPE_INFORMATION = *mut WINUSB_PIPE_INFORMATION; -STRUCT!{struct WINUSB_PIPE_INFORMATION_EX { - PipeType: USBD_PIPE_TYPE, - PipeId: UCHAR, - MaximumPacketSize: USHORT, - Interval: UCHAR, - MaximumBytesPerInterval: ULONG, -}} -pub type PWINUSB_PIPE_INFORMATION_EX = *mut WINUSB_PIPE_INFORMATION_EX; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/wmistr.rs b/vendor/registry-40351f815f426200/winapi/src/shared/wmistr.rs deleted file mode 100644 index 35374e92b..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/wmistr.rs +++ /dev/null @@ -1,199 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::{ULONG64, ULONG_PTR}; -use shared::guiddef::GUID; -use shared::minwindef::{UCHAR, ULONG}; -use um::winnt::{HANDLE, LARGE_INTEGER, STANDARD_RIGHTS_READ, SYNCHRONIZE, WCHAR}; -STRUCT!{struct WNODE_HEADER_u1_s { - Version: ULONG, - Linkage: ULONG, -}} -UNION!{union WNODE_HEADER_u1 { - [u64; 1], - HistoricalContext HistoricalContext_mut: ULONG64, - s s_mut: WNODE_HEADER_u1_s, -}} -UNION!{union WNODE_HEADER_u2 { - [u64; 1], - CountLost CountLost_mut: ULONG, - KernelHandle KernelHandle_mut: HANDLE, - TimeStamp TimeStamp_mut: LARGE_INTEGER, -}} -STRUCT!{struct WNODE_HEADER { - BufferSize: ULONG, - ProviderId: ULONG, - u1: WNODE_HEADER_u1, - u2: WNODE_HEADER_u2, - Guid: GUID, - ClientContext: ULONG, - Flags: ULONG, -}} -pub type PWNODE_HEADER = *mut WNODE_HEADER; -pub const WNODE_FLAG_ALL_DATA: ULONG = 0x00000001; -pub const WNODE_FLAG_SINGLE_INSTANCE: ULONG = 0x00000002; -pub const WNODE_FLAG_SINGLE_ITEM: ULONG = 0x00000004; -pub const WNODE_FLAG_EVENT_ITEM: ULONG = 0x00000008; -pub const WNODE_FLAG_FIXED_INSTANCE_SIZE: ULONG = 0x00000010; -pub const WNODE_FLAG_TOO_SMALL: ULONG = 0x00000020; -pub const WNODE_FLAG_INSTANCES_SAME: ULONG = 0x00000040; -pub const WNODE_FLAG_STATIC_INSTANCE_NAMES: ULONG = 0x00000080; -pub const WNODE_FLAG_INTERNAL: ULONG = 0x00000100; -pub const WNODE_FLAG_USE_TIMESTAMP: ULONG = 0x00000200; -pub const WNODE_FLAG_PERSIST_EVENT: ULONG = 0x00000400; -pub const WNODE_FLAG_EVENT_REFERENCE: ULONG = 0x00002000; -pub const WNODE_FLAG_ANSI_INSTANCENAMES: ULONG = 0x00004000; -pub const WNODE_FLAG_METHOD_ITEM: ULONG = 0x00008000; -pub const WNODE_FLAG_PDO_INSTANCE_NAMES: ULONG = 0x00010000; -pub const WNODE_FLAG_TRACED_GUID: ULONG = 0x00020000; -pub const WNODE_FLAG_LOG_WNODE: ULONG = 0x00040000; -pub const WNODE_FLAG_USE_GUID_PTR: ULONG = 0x00080000; -pub const WNODE_FLAG_USE_MOF_PTR: ULONG = 0x00100000; -pub const WNODE_FLAG_NO_HEADER: ULONG = 0x00200000; -pub const WNODE_FLAG_SEND_DATA_BLOCK: ULONG = 0x00400000; -pub const WNODE_FLAG_VERSIONED_PROPERTIES: ULONG = 0x00800000; -pub const WNODE_FLAG_SEVERITY_MASK: ULONG = 0xff000000; -STRUCT!{struct OFFSETINSTANCEDATAANDLENGTH { - OffsetInstanceData: ULONG, - LengthInstanceData: ULONG, -}} -pub type POFFSETINSTANCEDATAANDLENGTH = *mut OFFSETINSTANCEDATAANDLENGTH; -UNION!{union WNODE_ALL_DATA_u { - [u32; 2], - FixedInstanceSize FixedInstanceSize_mut: ULONG, - OffsetInstanceDataAndLength OffsetInstanceDataAndLength_mut: - [OFFSETINSTANCEDATAANDLENGTH; 0], -}} -STRUCT!{struct WNODE_ALL_DATA { - WnodeHeader: WNODE_HEADER, - DataBlockOffset: ULONG, - InstanceCount: ULONG, - OffsetInstanceNameOffsets: ULONG, - u: WNODE_ALL_DATA_u, -}} -pub type PWNODE_ALL_DATA = *mut WNODE_ALL_DATA; -STRUCT!{struct WNODE_SINGLE_INSTANCE { - WnodeHeader: WNODE_HEADER, - OffsetInstanceName: ULONG, - InstanceIndex: ULONG, - DataBlockOffset: ULONG, - SizeDataBlock: ULONG, - VariableData: [UCHAR; 0], -}} -pub type PWNODE_SINGLE_INSTANCE = *mut WNODE_SINGLE_INSTANCE; -STRUCT!{struct WNODE_SINGLE_ITEM { - WnodeHeader: WNODE_HEADER, - OffsetInstanceName: ULONG, - InstanceIndex: ULONG, - ItemId: ULONG, - DataBlockOffset: ULONG, - SizeDataItem: ULONG, - VariableData: [UCHAR; 0], -}} -pub type PWNODE_SINGLE_ITEM = *mut WNODE_SINGLE_ITEM; -STRUCT!{struct WNODE_METHOD_ITEM { - WnodeHeader: WNODE_HEADER, - OffsetInstanceName: ULONG, - InstanceIndex: ULONG, - MethodId: ULONG, - DataBlockOffset: ULONG, - SizeDataBlock: ULONG, - VariableData: [UCHAR; 0], -}} -pub type PWNODE_METHOD_ITEM = *mut WNODE_METHOD_ITEM; -STRUCT!{struct WNODE_EVENT_ITEM { - WnodeHeader: WNODE_HEADER, -}} -pub type PWNODE_EVENT_ITEM = *mut WNODE_EVENT_ITEM; -UNION!{union WNODE_EVENT_REFERENCE_u { - [u32; 1], - TargetInstanceIndex TargetInstanceIndex_mut: ULONG, - TargetInstanceName TargetInstanceName_mut: [WCHAR; 0], -}} -STRUCT!{struct WNODE_EVENT_REFERENCE { - WnodeHeader: WNODE_HEADER, - TargetGuid: GUID, - TargetDataBlockSize: ULONG, - u: WNODE_EVENT_REFERENCE_u, -}} -pub type PWNODE_EVENT_REFERENCE = *mut WNODE_EVENT_REFERENCE; -STRUCT!{struct WNODE_TOO_SMALL { - WnodeHeader: WNODE_HEADER, - SizeNeeded: ULONG, -}} -pub type PWNODE_TOO_SMALL = *mut WNODE_TOO_SMALL; -UNION!{union WMIREGGUIDW_u { - [usize; 1], - InstanceNameList InstanceNameList_mut: ULONG, - BaseNameOffset BaseNameOffset_mut: ULONG, - Pdo Pdo_mut: ULONG_PTR, - InstanceInfo InstanceInfo_mut: ULONG_PTR, -}} -STRUCT!{struct WMIREGGUIDW { - Guid: GUID, - Flags: ULONG, - InstanceCount: ULONG, - u: WMIREGGUIDW_u, -}} -pub type PWMIREGGUIDW = *mut WMIREGGUIDW; -pub const WMIREG_FLAG_EXPENSIVE: ULONG = 0x00000001; -pub const WMIREG_FLAG_INSTANCE_LIST: ULONG = 0x00000004; -pub const WMIREG_FLAG_INSTANCE_BASENAME: ULONG = 0x00000008; -pub const WMIREG_FLAG_INSTANCE_PDO: ULONG = 0x00000020; -pub const WMIREG_FLAG_REMOVE_GUID: ULONG = 0x00010000; -pub const WMIREG_FLAG_RESERVED1: ULONG = 0x00020000; -pub const WMIREG_FLAG_RESERVED2: ULONG = 0x00040000; -pub const WMIREG_FLAG_TRACED_GUID: ULONG = 0x00080000; -pub const WMIREG_FLAG_TRACE_CONTROL_GUID: ULONG = 0x00001000; -pub const WMIREG_FLAG_EVENT_ONLY_GUID: ULONG = 0x00000040; -STRUCT!{struct WMIREGINFOW { - BufferSize: ULONG, - NextWmiRegInfo: ULONG, - RegistryPath: ULONG, - MofResourceName: ULONG, - GuidGount: ULONG, - WmiRegGuid: [WMIREGGUIDW; 0], -}} -pub type PWMIREGINFOW = *mut WMIREGINFOW; -ENUM!{enum WMIDPREQUESTCODE { - WMI_GET_ALL_DATA = 0, - WMI_GET_SINGLE_INSTANCE = 1, - WMI_SET_SINGLE_INSTANCE = 2, - WMI_SET_SINGLE_ITEM = 3, - WMI_ENABLE_EVENTS = 4, - WMI_DISABLE_EVENTS = 5, - WMI_ENABLE_COLLECTION = 6, - WMI_DISABLE_COLLECTION = 7, - WMI_REGINFO = 8, - WMI_EXECUTE_METHOD = 9, - WMI_CAPTURE_STATE = 10, -}} -pub const WMI_GUIDTYPE_TRACECONTROL: ULONG = 0; -pub const WMI_GUIDTYPE_TRACE: ULONG = 1; -pub const WMI_GUIDTYPE_DATA: ULONG = 2; -pub const WMI_GUIDTYPE_EVENT: ULONG = 3; -pub const WMIGUID_QUERY: ULONG = 0x0001; -pub const WMIGUID_SET: ULONG = 0x0002; -pub const WMIGUID_NOTIFICATION: ULONG = 0x0004; -pub const WMIGUID_READ_DESCRIPTION: ULONG = 0x0008; -pub const WMIGUID_EXECUTE: ULONG = 0x0010; -pub const TRACELOG_CREATE_REALTIME: ULONG = 0x0020; -pub const TRACELOG_CREATE_ONDISK: ULONG = 0x0040; -pub const TRACELOG_GUID_ENABLE: ULONG = 0x0080; -pub const TRACELOG_ACCESS_KERNEL_LOGGER: ULONG = 0x0100; -pub const TRACELOG_LOG_EVENT: ULONG = 0x0200; -pub const TRACELOG_CREATE_INPROC: ULONG = 0x0200; -pub const TRACELOG_ACCESS_REALTIME: ULONG = 0x0400; -pub const TRACELOG_REGISTER_GUIDS: ULONG = 0x0800; -pub const TRACELOG_JOIN_GROUP: ULONG = 0x1000; -pub const WMIGUID_ALL_ACCESS_WIN2K: ULONG = STANDARD_RIGHTS_READ | WMIGUID_QUERY | WMIGUID_SET - | WMIGUID_NOTIFICATION | WMIGUID_READ_DESCRIPTION | WMIGUID_EXECUTE | TRACELOG_CREATE_REALTIME - | TRACELOG_CREATE_ONDISK | TRACELOG_GUID_ENABLE | TRACELOG_ACCESS_KERNEL_LOGGER - | TRACELOG_CREATE_INPROC | TRACELOG_ACCESS_REALTIME; -pub const WMIGUID_ALL_ACCESS_WINXP: ULONG = WMIGUID_ALL_ACCESS_WIN2K | SYNCHRONIZE - | TRACELOG_REGISTER_GUIDS; -pub const WMIGUID_ALL_ACCESS_RS1: ULONG = WMIGUID_ALL_ACCESS_WINXP | TRACELOG_JOIN_GROUP; -pub const WMIGUID_ALL_ACCESS: ULONG = WMIGUID_ALL_ACCESS_RS1; -pub const WMI_GLOBAL_LOGGER_ID: ULONG = 0x0001; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/wnnc.rs b/vendor/registry-40351f815f426200/winapi/src/shared/wnnc.rs deleted file mode 100644 index 305137c58..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/wnnc.rs +++ /dev/null @@ -1,77 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Provides the Windows Networking WNNC_NET definitions to winnetwk.h and the IFS Kit. -use shared::minwindef::DWORD; -pub const WNNC_NET_MSNET: DWORD = 0x00010000; -pub const WNNC_NET_SMB: DWORD = 0x00020000; -pub const WNNC_NET_NETWARE: DWORD = 0x00030000; -pub const WNNC_NET_VINES: DWORD = 0x00040000; -pub const WNNC_NET_10NET: DWORD = 0x00050000; -pub const WNNC_NET_LOCUS: DWORD = 0x00060000; -pub const WNNC_NET_SUN_PC_NFS: DWORD = 0x00070000; -pub const WNNC_NET_LANSTEP: DWORD = 0x00080000; -pub const WNNC_NET_9TILES: DWORD = 0x00090000; -pub const WNNC_NET_LANTASTIC: DWORD = 0x000A0000; -pub const WNNC_NET_AS400: DWORD = 0x000B0000; -pub const WNNC_NET_FTP_NFS: DWORD = 0x000C0000; -pub const WNNC_NET_PATHWORKS: DWORD = 0x000D0000; -pub const WNNC_NET_LIFENET: DWORD = 0x000E0000; -pub const WNNC_NET_POWERLAN: DWORD = 0x000F0000; -pub const WNNC_NET_BWNFS: DWORD = 0x00100000; -pub const WNNC_NET_COGENT: DWORD = 0x00110000; -pub const WNNC_NET_FARALLON: DWORD = 0x00120000; -pub const WNNC_NET_APPLETALK: DWORD = 0x00130000; -pub const WNNC_NET_INTERGRAPH: DWORD = 0x00140000; -pub const WNNC_NET_SYMFONET: DWORD = 0x00150000; -pub const WNNC_NET_CLEARCASE: DWORD = 0x00160000; -pub const WNNC_NET_FRONTIER: DWORD = 0x00170000; -pub const WNNC_NET_BMC: DWORD = 0x00180000; -pub const WNNC_NET_DCE: DWORD = 0x00190000; -pub const WNNC_NET_AVID: DWORD = 0x001A0000; -pub const WNNC_NET_DOCUSPACE: DWORD = 0x001B0000; -pub const WNNC_NET_MANGOSOFT: DWORD = 0x001C0000; -pub const WNNC_NET_SERNET: DWORD = 0x001D0000; -pub const WNNC_NET_RIVERFRONT1: DWORD = 0x001E0000; -pub const WNNC_NET_RIVERFRONT2: DWORD = 0x001F0000; -pub const WNNC_NET_DECORB: DWORD = 0x00200000; -pub const WNNC_NET_PROTSTOR: DWORD = 0x00210000; -pub const WNNC_NET_FJ_REDIR: DWORD = 0x00220000; -pub const WNNC_NET_DISTINCT: DWORD = 0x00230000; -pub const WNNC_NET_TWINS: DWORD = 0x00240000; -pub const WNNC_NET_RDR2SAMPLE: DWORD = 0x00250000; -pub const WNNC_NET_CSC: DWORD = 0x00260000; -pub const WNNC_NET_3IN1: DWORD = 0x00270000; -pub const WNNC_NET_EXTENDNET: DWORD = 0x00290000; -pub const WNNC_NET_STAC: DWORD = 0x002A0000; -pub const WNNC_NET_FOXBAT: DWORD = 0x002B0000; -pub const WNNC_NET_YAHOO: DWORD = 0x002C0000; -pub const WNNC_NET_EXIFS: DWORD = 0x002D0000; -pub const WNNC_NET_DAV: DWORD = 0x002E0000; -pub const WNNC_NET_KNOWARE: DWORD = 0x002F0000; -pub const WNNC_NET_OBJECT_DIRE: DWORD = 0x00300000; -pub const WNNC_NET_MASFAX: DWORD = 0x00310000; -pub const WNNC_NET_HOB_NFS: DWORD = 0x00320000; -pub const WNNC_NET_SHIVA: DWORD = 0x00330000; -pub const WNNC_NET_IBMAL: DWORD = 0x00340000; -pub const WNNC_NET_LOCK: DWORD = 0x00350000; -pub const WNNC_NET_TERMSRV: DWORD = 0x00360000; -pub const WNNC_NET_SRT: DWORD = 0x00370000; -pub const WNNC_NET_QUINCY: DWORD = 0x00380000; -pub const WNNC_NET_OPENAFS: DWORD = 0x00390000; -pub const WNNC_NET_AVID1: DWORD = 0x003A0000; -pub const WNNC_NET_DFS: DWORD = 0x003B0000; -pub const WNNC_NET_KWNP: DWORD = 0x003C0000; -pub const WNNC_NET_ZENWORKS: DWORD = 0x003D0000; -pub const WNNC_NET_DRIVEONWEB: DWORD = 0x003E0000; -pub const WNNC_NET_VMWARE: DWORD = 0x003F0000; -pub const WNNC_NET_RSFX: DWORD = 0x00400000; -pub const WNNC_NET_MFILES: DWORD = 0x00410000; -pub const WNNC_NET_MS_NFS: DWORD = 0x00420000; -pub const WNNC_NET_GOOGLE: DWORD = 0x00430000; -pub const WNNC_NET_NDFS: DWORD = 0x00440000; -pub const WNNC_NET_DOCUSHARE: DWORD = 0x00450000; -pub const WNNC_CRED_MANAGER: DWORD = 0xFFFF0000; -pub const WNNC_NET_LANMAN: DWORD = WNNC_NET_SMB; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/ws2def.rs b/vendor/registry-40351f815f426200/winapi/src/shared/ws2def.rs deleted file mode 100644 index 484f6d4a6..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/ws2def.rs +++ /dev/null @@ -1,556 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Core definitions for the Winsock2 specification -use ctypes::{__int64, c_char, c_int, c_long, c_short, c_void}; -use shared::basetsd::SIZE_T; -use shared::guiddef::LPGUID; -use shared::inaddr::IN_ADDR; -use shared::minwindef::{DWORD, INT, UCHAR, ULONG, USHORT}; -use um::winnt::{CHAR, HANDLE, LONG, PROCESSOR_NUMBER, PWSTR}; -use vc::vcruntime::size_t; -pub type ADDRESS_FAMILY = USHORT; -pub const AF_UNSPEC: c_int = 0; -pub const AF_UNIX: c_int = 1; -pub const AF_INET: c_int = 2; -pub const AF_IMPLINK: c_int = 3; -pub const AF_PUP: c_int = 4; -pub const AF_CHAOS: c_int = 5; -pub const AF_NS: c_int = 6; -pub const AF_IPX: c_int = AF_NS; -pub const AF_ISO: c_int = 7; -pub const AF_OSI: c_int = AF_ISO; -pub const AF_ECMA: c_int = 8; -pub const AF_DATAKIT: c_int = 9; -pub const AF_CCITT: c_int = 10; -pub const AF_SNA: c_int = 11; -pub const AF_DECnet: c_int = 12; -pub const AF_DLI: c_int = 13; -pub const AF_LAT: c_int = 14; -pub const AF_HYLINK: c_int = 15; -pub const AF_APPLETALK: c_int = 16; -pub const AF_NETBIOS: c_int = 17; -pub const AF_VOICEVIEW: c_int = 18; -pub const AF_FIREFOX: c_int = 19; -pub const AF_UNKNOWN1: c_int = 20; -pub const AF_BAN: c_int = 21; -pub const AF_ATM: c_int = 22; -pub const AF_INET6: c_int = 23; -pub const AF_CLUSTER: c_int = 24; -pub const AF_12844: c_int = 25; -pub const AF_IRDA: c_int = 26; -pub const AF_NETDES: c_int = 28; -pub const AF_TCNPROCESS: c_int = 29; -pub const AF_TCNMESSAGE: c_int = 30; -pub const AF_ICLFXBM: c_int = 31; -pub const AF_BTH: c_int = 32; -pub const AF_LINK: c_int = 33; -pub const AF_HYPERV: c_int = 34; -pub const AF_MAX: c_int = 35; -pub const SOCK_STREAM: c_int = 1; -pub const SOCK_DGRAM: c_int = 2; -pub const SOCK_RAW: c_int = 3; -pub const SOCK_RDM: c_int = 4; -pub const SOCK_SEQPACKET: c_int = 5; -pub const SOL_SOCKET: c_int = 0xffff; -pub const SO_DEBUG: c_int = 0x0001; -pub const SO_ACCEPTCONN: c_int = 0x0002; -pub const SO_REUSEADDR: c_int = 0x0004; -pub const SO_KEEPALIVE: c_int = 0x0008; -pub const SO_DONTROUTE: c_int = 0x0010; -pub const SO_BROADCAST: c_int = 0x0020; -pub const SO_USELOOPBACK: c_int = 0x0040; -pub const SO_LINGER: c_int = 0x0080; -pub const SO_OOBINLINE: c_int = 0x0100; -pub const SO_DONTLINGER: c_int = !SO_LINGER; -pub const SO_EXCLUSIVEADDRUSE: c_int = !SO_REUSEADDR; -pub const SO_SNDBUF: c_int = 0x1001; -pub const SO_RCVBUF: c_int = 0x1002; -pub const SO_SNDLOWAT: c_int = 0x1003; -pub const SO_RCVLOWAT: c_int = 0x1004; -pub const SO_SNDTIMEO: c_int = 0x1005; -pub const SO_RCVTIMEO: c_int = 0x1006; -pub const SO_ERROR: c_int = 0x1007; -pub const SO_TYPE: c_int = 0x1008; -pub const SO_BSP_STATE: c_int = 0x1009; -pub const SO_GROUP_ID: c_int = 0x2001; -pub const SO_GROUP_PRIORITY: c_int = 0x2002; -pub const SO_MAX_MSG_SIZE: c_int = 0x2003; -pub const SO_CONDITIONAL_ACCEPT: c_int = 0x3002; -pub const SO_PAUSE_ACCEPT: c_int = 0x3003; -pub const SO_COMPARTMENT_ID: c_int = 0x3004; -pub const SO_RANDOMIZE_PORT: c_int = 0x3005; -pub const SO_PORT_SCALABILITY: c_int = 0x3006; -pub const SO_REUSE_UNICASTPORT: c_int = 0x3007; -pub const SO_REUSE_MULTICASTPORT: c_int = 0x3008; -pub const WSK_SO_BASE: c_int = 0x4000; -pub const TCP_NODELAY: c_int = 0x0001; -STRUCT!{struct SOCKADDR { - sa_family: ADDRESS_FAMILY, - sa_data: [CHAR; 14], -}} -pub type PSOCKADDR = *mut SOCKADDR; -pub type LPSOCKADDR = *mut SOCKADDR; -STRUCT!{struct SOCKET_ADDRESS { - lpSockaddr: LPSOCKADDR, - iSockaddrLength: INT, -}} -pub type PSOCKET_ADDRESS = *mut SOCKET_ADDRESS; -pub type LPSOCKET_ADDRESS = *mut SOCKET_ADDRESS; -STRUCT!{struct SOCKET_ADDRESS_LIST { - iAddressCount: INT, - Address: [SOCKET_ADDRESS; 1], -}} -pub type PSOCKET_ADDRESS_LIST = *mut SOCKET_ADDRESS_LIST; -pub type LPSOCKET_ADDRESS_LIST = *mut SOCKET_ADDRESS_LIST; -STRUCT!{struct CSADDR_INFO { - LocalAddr: SOCKET_ADDRESS, - RemoteAddr: SOCKET_ADDRESS, - iSocketType: INT, - iProtocol: INT, -}} -pub type PCSADDR_INFO = *mut CSADDR_INFO; -pub type LPCSADDR_INFO = *mut CSADDR_INFO; -STRUCT!{struct SOCKADDR_STORAGE_LH { - ss_family: ADDRESS_FAMILY, - __ss_pad1: [CHAR; 6], - __ss_align: __int64, - __ss_pad2: [CHAR; 112], -}} -pub type PSOCKADDR_STORAGE_LH = *mut SOCKADDR_STORAGE_LH; -pub type LPSOCKADDR_STORAGE_LH = *mut SOCKADDR_STORAGE_LH; -STRUCT!{struct SOCKADDR_STORAGE_XP { - ss_family: c_short, - __ss_pad1: [CHAR; 6], - __ss_align: __int64, - __ss_pad2: [CHAR; 112], -}} -pub type PSOCKADDR_STORAGE_XP = *mut SOCKADDR_STORAGE_XP; -pub type LPSOCKADDR_STORAGE_XP = *mut SOCKADDR_STORAGE_XP; -pub type SOCKADDR_STORAGE = SOCKADDR_STORAGE_LH; -pub type PSOCKADDR_STORAGE = *mut SOCKADDR_STORAGE; -pub type LPSOCKADDR_STORAGE = *mut SOCKADDR_STORAGE; -STRUCT!{struct SOCKET_PROCESSOR_AFFINITY { - Processor: PROCESSOR_NUMBER, - NumaNodeId: USHORT, - Reserved: USHORT, -}} -pub type PSOCKET_PROCESSOR_AFFINITY = *mut SOCKET_PROCESSOR_AFFINITY; -pub const IOC_UNIX: DWORD = 0x00000000; -pub const IOC_WS2: DWORD = 0x08000000; -pub const IOC_PROTOCOL: DWORD = 0x10000000; -pub const IOC_VENDOR: DWORD = 0x18000000; -pub const IOC_WSK: DWORD = IOC_WS2 | 0x07000000; -pub const SIO_ASSOCIATE_HANDLE: DWORD = _WSAIOW!(IOC_WS2, 1); -pub const SIO_ENABLE_CIRCULAR_QUEUEING: DWORD = _WSAIO!(IOC_WS2, 2); -pub const SIO_FIND_ROUTE: DWORD = _WSAIOR!(IOC_WS2, 3); -pub const SIO_FLUSH: DWORD = _WSAIO!(IOC_WS2, 4); -pub const SIO_GET_BROADCAST_ADDRESS: DWORD = _WSAIOR!(IOC_WS2, 5); -pub const SIO_GET_EXTENSION_FUNCTION_POINTER: DWORD = _WSAIORW!(IOC_WS2, 6); -pub const SIO_GET_QOS: DWORD = _WSAIORW!(IOC_WS2, 7); -pub const SIO_GET_GROUP_QOS: DWORD = _WSAIORW!(IOC_WS2, 8); -pub const SIO_MULTIPOINT_LOOPBACK: DWORD = _WSAIOW!(IOC_WS2, 9); -pub const SIO_MULTICAST_SCOPE: DWORD = _WSAIOW!(IOC_WS2, 10); -pub const SIO_SET_QOS: DWORD = _WSAIOW!(IOC_WS2, 11); -pub const SIO_SET_GROUP_QOS: DWORD = _WSAIOW!(IOC_WS2, 12); -pub const SIO_TRANSLATE_HANDLE: DWORD = _WSAIORW!(IOC_WS2, 13); -pub const SIO_ROUTING_INTERFACE_QUERY: DWORD = _WSAIORW!(IOC_WS2, 20); -pub const SIO_ROUTING_INTERFACE_CHANGE: DWORD = _WSAIOW!(IOC_WS2, 21); -pub const SIO_ADDRESS_LIST_QUERY: DWORD = _WSAIOR!(IOC_WS2, 22); -pub const SIO_ADDRESS_LIST_CHANGE: DWORD = _WSAIO!(IOC_WS2, 23); -pub const SIO_QUERY_TARGET_PNP_HANDLE: DWORD = _WSAIOR!(IOC_WS2, 24); -pub const SIO_QUERY_RSS_PROCESSOR_INFO: DWORD = _WSAIOR!(IOC_WS2, 37); -pub const SIO_ADDRESS_LIST_SORT: DWORD = _WSAIORW!(IOC_WS2, 25); -pub const SIO_RESERVED_1: DWORD = _WSAIOW!(IOC_WS2, 26); -pub const SIO_RESERVED_2: DWORD = _WSAIOW!(IOC_WS2, 33); -pub const SIO_GET_MULTIPLE_EXTENSION_FUNCTION_POINTER: DWORD = _WSAIORW!(IOC_WS2, 36); -pub const IPPROTO_IP: c_int = 0; -ENUM!{enum IPPROTO { - IPPROTO_HOPOPTS = 0, // IPv6 Hop-by-Hop options - IPPROTO_ICMP = 1, - IPPROTO_IGMP = 2, - IPPROTO_GGP = 3, - IPPROTO_IPV4 = 4, - IPPROTO_ST = 5, - IPPROTO_TCP = 6, - IPPROTO_CBT = 7, - IPPROTO_EGP = 8, - IPPROTO_IGP = 9, - IPPROTO_PUP = 12, - IPPROTO_UDP = 17, - IPPROTO_IDP = 22, - IPPROTO_RDP = 27, - IPPROTO_IPV6 = 41, // IPv6 header - IPPROTO_ROUTING = 43, // IPv6 Routing header - IPPROTO_FRAGMENT = 44, // IPv6 fragmentation header - IPPROTO_ESP = 50, // encapsulating security payload - IPPROTO_AH = 51, // authentication header - IPPROTO_ICMPV6 = 58, // ICMPv6 - IPPROTO_NONE = 59, // IPv6 no next header - IPPROTO_DSTOPTS = 60, // IPv6 Destination options - IPPROTO_ND = 77, - IPPROTO_ICLFXBM = 78, - IPPROTO_PIM = 103, - IPPROTO_PGM = 113, - IPPROTO_L2TP = 115, - IPPROTO_SCTP = 132, - IPPROTO_RAW = 255, - IPPROTO_MAX = 256, - IPPROTO_RESERVED_RAW = 257, - IPPROTO_RESERVED_IPSEC = 258, - IPPROTO_RESERVED_IPSECOFFLOAD = 259, - IPPROTO_RESERVED_WNV = 260, - IPPROTO_RESERVED_MAX = 261, -}} -pub type PIPPROTO = *mut IPPROTO; -pub const IPPORT_TCPMUX: USHORT = 1; -pub const IPPORT_ECHO: USHORT = 7; -pub const IPPORT_DISCARD: USHORT = 9; -pub const IPPORT_SYSTAT: USHORT = 11; -pub const IPPORT_DAYTIME: USHORT = 13; -pub const IPPORT_NETSTAT: USHORT = 15; -pub const IPPORT_QOTD: USHORT = 17; -pub const IPPORT_MSP: USHORT = 18; -pub const IPPORT_CHARGEN: USHORT = 19; -pub const IPPORT_FTP_DATA: USHORT = 20; -pub const IPPORT_FTP: USHORT = 21; -pub const IPPORT_TELNET: USHORT = 23; -pub const IPPORT_SMTP: USHORT = 25; -pub const IPPORT_TIMESERVER: USHORT = 37; -pub const IPPORT_NAMESERVER: USHORT = 42; -pub const IPPORT_WHOIS: USHORT = 43; -pub const IPPORT_MTP: USHORT = 57; -pub const IPPORT_TFTP: USHORT = 69; -pub const IPPORT_RJE: USHORT = 77; -pub const IPPORT_FINGER: USHORT = 79; -pub const IPPORT_TTYLINK: USHORT = 87; -pub const IPPORT_SUPDUP: USHORT = 95; -pub const IPPORT_POP3: USHORT = 110; -pub const IPPORT_NTP: USHORT = 123; -pub const IPPORT_EPMAP: USHORT = 135; -pub const IPPORT_NETBIOS_NS: USHORT = 137; -pub const IPPORT_NETBIOS_DGM: USHORT = 138; -pub const IPPORT_NETBIOS_SSN: USHORT = 139; -pub const IPPORT_IMAP: USHORT = 143; -pub const IPPORT_SNMP: USHORT = 161; -pub const IPPORT_SNMP_TRAP: USHORT = 162; -pub const IPPORT_IMAP3: USHORT = 220; -pub const IPPORT_LDAP: USHORT = 389; -pub const IPPORT_HTTPS: USHORT = 443; -pub const IPPORT_MICROSOFT_DS: USHORT = 445; -pub const IPPORT_EXECSERVER: USHORT = 512; -pub const IPPORT_LOGINSERVER: USHORT = 513; -pub const IPPORT_CMDSERVER: USHORT = 514; -pub const IPPORT_EFSSERVER: USHORT = 520; -pub const IPPORT_BIFFUDP: USHORT = 512; -pub const IPPORT_WHOSERVER: USHORT = 513; -pub const IPPORT_ROUTESERVER: USHORT = 520; -pub const IPPORT_RESERVED: USHORT = 1024; -pub const IPPORT_REGISTERED_MIN: USHORT = IPPORT_RESERVED; -pub const IPPORT_REGISTERED_MAX: USHORT = 0xbfff; -pub const IPPORT_DYNAMIC_MIN: USHORT = 0xc000; -pub const IPPORT_DYNAMIC_MAX: USHORT = 0xffff; -#[inline] -pub fn IN_CLASSA(i: LONG) -> bool { - (i & 0x80000000) == 0 -} -pub const IN_CLASSA_NET: LONG = 0xff000000; -pub const IN_CLASSA_NSHIFT: LONG = 24; -pub const IN_CLASSA_HOST: LONG = 0x00ffffff; -pub const IN_CLASSA_MAX: LONG = 128; -#[inline] -pub fn IN_CLASSB(i: LONG) -> bool { - (i as u32 & 0xc0000000) == 0x80000000 -} -pub const IN_CLASSB_NET: LONG = 0xffff0000; -pub const IN_CLASSB_NSHIFT: LONG = 16; -pub const IN_CLASSB_HOST: LONG = 0x0000ffff; -pub const IN_CLASSB_MAX: LONG = 65536; -#[inline] -pub fn IN_CLASSC(i: LONG) -> bool { - (i as u32 & 0xe0000000) == 0xc0000000 -} -pub const IN_CLASSC_NET: LONG = 0xffffff00; -pub const IN_CLASSC_NSHIFT: LONG = 8; -pub const IN_CLASSC_HOST: LONG = 0x000000ff; -#[inline] -pub fn IN_CLASSD(i: c_long) -> bool { - (i as u32 & 0xf0000000) == 0xe0000000 -} -pub const IN_CLASSD_NET: LONG = 0xf0000000; -pub const IN_CLASSD_NSHIFT: LONG = 28; -pub const IN_CLASSD_HOST: LONG = 0x0fffffff; -#[inline] -pub fn IN_MULTICAST(i: c_long) -> bool { - IN_CLASSD(i) -} -pub const INADDR_ANY: ULONG = 0x00000000; -pub const INADDR_LOOPBACK: ULONG = 0x7f000001; -pub const INADDR_BROADCAST: ULONG = 0xffffffff; -pub const INADDR_NONE: ULONG = 0xffffffff; -ENUM!{enum SCOPE_LEVEL { - ScopeLevelInterface = 1, - ScopeLevelLink = 2, - ScopeLevelSubnet = 3, - ScopeLevelAdmin = 4, - ScopeLevelSite = 5, - ScopeLevelOrganization = 8, - ScopeLevelGlobal = 14, - ScopeLevelCount = 16, -}} -STRUCT!{struct SCOPE_ID_u_s { - bitfield: ULONG, -}} -BITFIELD!{SCOPE_ID_u_s bitfield: ULONG [ - Zone set_Zone[0..28], - Level set_Level[28..32], -]} -UNION!{union SCOPE_ID_u { - [u32; 1], - s s_mut: SCOPE_ID_u_s, - Value Value_mut: ULONG, -}} -STRUCT!{struct SCOPE_ID { - u: SCOPE_ID_u, -}} -pub type PSCOPE_ID = *mut SCOPE_ID; -STRUCT!{struct SOCKADDR_IN { - sin_family: ADDRESS_FAMILY, - sin_port: USHORT, - sin_addr: IN_ADDR, - sin_zero: [CHAR; 8], -}} -pub type PSOCKADDR_IN = *mut SOCKADDR_IN; -STRUCT!{struct SOCKADDR_DL { - sdl_family: ADDRESS_FAMILY, - sdl_data: [UCHAR; 8], - sdl_zero: [UCHAR; 4], -}} -pub type PSOCKADDR_DL = *mut SOCKADDR_DL; -pub const IOCPARM_MASK: DWORD = 0x7f; -pub const IOC_VOID: DWORD = 0x20000000; -pub const IOC_OUT: DWORD = 0x40000000; -pub const IOC_IN: DWORD = 0x80000000; -pub const IOC_INOUT: DWORD = IOC_IN | IOC_OUT; -STRUCT!{struct WSABUF { - len: ULONG, - buf: *mut CHAR, -}} -pub type LPWSABUF = *mut WSABUF; -STRUCT!{struct WSAMSG { - name: LPSOCKADDR, - namelen: INT, - lpBuffers: LPWSABUF, - dwBufferCount: ULONG, - Control: WSABUF, - dwFlags: ULONG, -}} -pub type PWSAMSG = *mut WSAMSG; -pub type LPWSAMSG = *mut WSAMSG; -STRUCT!{struct WSACMSGHDR { - cmsg_len: SIZE_T, - cmsg_level: INT, - cmsg_type: INT, -}} -pub type PWSACMSGHDR = *mut WSACMSGHDR; -pub type LPWSACMSGHDR = *mut WSACMSGHDR; -pub type CMSGHDR = WSACMSGHDR; -pub type PCMSGHDR = *mut WSACMSGHDR; -pub const MSG_TRUNC: ULONG = 0x0100; -pub const MSG_CTRUNC: ULONG = 0x0200; -pub const MSG_BCAST: ULONG = 0x0400; -pub const MSG_MCAST: ULONG = 0x0800; -pub const AI_PASSIVE: c_int = 0x00000001; -pub const AI_CANONNAME: c_int = 0x00000002; -pub const AI_NUMERICHOST: c_int = 0x00000004; -pub const AI_NUMERICSERV: c_int = 0x00000008; -pub const AI_DNS_ONLY: c_int = 0x00000010; -pub const AI_ALL: c_int = 0x00000100; -pub const AI_ADDRCONFIG: c_int = 0x00000400; -pub const AI_V4MAPPED: c_int = 0x00000800; -pub const AI_NON_AUTHORITATIVE: c_int = 0x00004000; -pub const AI_SECURE: c_int = 0x00008000; -pub const AI_RETURN_PREFERRED_NAMES: c_int = 0x00010000; -pub const AI_FQDN: c_int = 0x00020000; -pub const AI_FILESERVER: c_int = 0x00040000; -pub const AI_DISABLE_IDN_ENCODING: c_int = 0x00080000; -pub const AI_EXTENDED: c_int = 0x80000000; -pub const AI_RESOLUTION_HANDLE: c_int = 0x40000000; -STRUCT!{struct ADDRINFOA { - ai_flags: c_int, - ai_family: c_int, - ai_socktype: c_int, - ai_protocol: c_int, - ai_addrlen: size_t, - ai_canonname: *mut c_char, - ai_addr: *mut SOCKADDR, - ai_next: *mut ADDRINFOA, -}} -pub type PADDRINFOA = *mut ADDRINFOA; -STRUCT!{struct ADDRINFOW { - ai_flags: c_int, - ai_family: c_int, - ai_socktype: c_int, - ai_protocol: c_int, - ai_addrlen: size_t, - ai_canonname: PWSTR, - ai_addr: *mut SOCKADDR, - ai_next: *mut ADDRINFOW, -}} -pub type PADDRINFOW = *mut ADDRINFOW; -STRUCT!{struct ADDRINFOEXA { - ai_flags: c_int, - ai_family: c_int, - ai_socktype: c_int, - ai_protocol: c_int, - ai_addrlen: size_t, - ai_canonname: *mut c_char, - ai_addr: *mut SOCKADDR, - ai_blob: *mut c_void, - ai_bloblen: size_t, - ai_provider: LPGUID, - ai_next: *mut ADDRINFOEXA, -}} -pub type PADDRINFOEXA = *mut ADDRINFOEXA; -pub type LPADDRINFOEXA = *mut ADDRINFOEXA; -STRUCT!{struct ADDRINFOEXW { - ai_flags: c_int, - ai_family: c_int, - ai_socktype: c_int, - ai_protocol: c_int, - ai_addrlen: size_t, - ai_canonname: PWSTR, - ai_addr: *mut SOCKADDR, - ai_blob: *mut c_void, - ai_bloblen: size_t, - ai_provider: LPGUID, - ai_next: *mut ADDRINFOEXW, -}} -pub type PADDRINFOEXW = *mut ADDRINFOEXW; -pub type LPADDRINFOEXW = *mut ADDRINFOEXW; -pub const ADDRINFOEX_VERSION_2: c_int = 2; -pub const ADDRINFOEX_VERSION_3: c_int = 3; -pub const ADDRINFOEX_VERSION_4: c_int = 4; -STRUCT!{struct ADDRINFOEX2A { - ai_flags: c_int, - ai_family: c_int, - ai_socktype: c_int, - ai_protocol: c_int, - ai_addrlen: size_t, - ai_canonname: *mut c_char, - ai_addr: *mut SOCKADDR, - ai_blob: *mut c_void, - ai_bloblen: size_t, - ai_provider: LPGUID, - ai_next: *mut ADDRINFOEX2W, - ai_version: c_int, - ai_fqdn: *mut c_char, -}} -pub type PADDRINFOEX2A = *mut ADDRINFOEX2A; -pub type LPADDRINFOEX2A = *mut ADDRINFOEX2A; -STRUCT!{struct ADDRINFOEX2W { - ai_flags: c_int, - ai_family: c_int, - ai_socktype: c_int, - ai_protocol: c_int, - ai_addrlen: size_t, - ai_canonname: PWSTR, - ai_addr: *mut SOCKADDR, - ai_blob: *mut c_void, - ai_bloblen: size_t, - ai_provider: LPGUID, - ai_next: *mut ADDRINFOEX2W, - ai_version: c_int, - ai_fqdn: PWSTR, -}} -pub type PADDRINFOEX2W = *mut ADDRINFOEX2W; -pub type LPADDRINFOEX2W = *mut ADDRINFOEX2W; -STRUCT!{struct ADDRINFOEX3A { - ai_flags: c_int, - ai_family: c_int, - ai_socktype: c_int, - ai_protocol: c_int, - ai_addrlen: size_t, - ai_canonname: *mut c_char, - ai_addr: *mut SOCKADDR, - ai_blob: *mut c_void, - ai_bloblen: size_t, - ai_provider: LPGUID, - ai_next: *mut ADDRINFOEX3W, - ai_version: c_int, - ai_fqdn: *mut c_char, - ai_interfaceindex: c_int, -}} -pub type PADDRINFOEX3A = *mut ADDRINFOEX3A; -pub type LPADDRINFOEX3A = *mut ADDRINFOEX3A; -STRUCT!{struct ADDRINFOEX3W { - ai_flags: c_int, - ai_family: c_int, - ai_socktype: c_int, - ai_protocol: c_int, - ai_addrlen: size_t, - ai_canonname: PWSTR, - ai_addr: *mut SOCKADDR, - ai_blob: *mut c_void, - ai_bloblen: size_t, - ai_provider: LPGUID, - ai_next: *mut ADDRINFOEX3W, - ai_version: c_int, - ai_fqdn: PWSTR, - ai_interfaceindex: c_int, -}} -pub type PADDRINFOEX3W = *mut ADDRINFOEX3W; -pub type LPADDRINFOEX3W = *mut ADDRINFOEX3W; -STRUCT!{struct ADDRINFOEX4 { - ai_flags: c_int, - ai_family: c_int, - ai_socktype: c_int, - ai_protocol: c_int, - ai_addrlen: size_t, - ai_canonname: PWSTR, - ai_addr: *mut SOCKADDR, - ai_blob: *mut c_void, - ai_bloblen: size_t, - ai_provider: LPGUID, - ai_next: *mut ADDRINFOEX4, - ai_version: c_int, - ai_fqdn: PWSTR, - ai_interfaceindex: c_int, - ai_resolutionhandle: HANDLE, -}} -pub type PADDRINFOEX4 = *mut ADDRINFOEX4; -pub type LPADDRINFOEX4 = *mut ADDRINFOEX4; -pub const NS_ALL: DWORD = 0; -pub const NS_SAP: DWORD = 1; -pub const NS_NDS: DWORD = 2; -pub const NS_PEER_BROWSE: DWORD = 3; -pub const NS_SLP: DWORD = 5; -pub const NS_DHCP: DWORD = 6; -pub const NS_TCPIP_LOCAL: DWORD = 10; -pub const NS_TCPIP_HOSTS: DWORD = 11; -pub const NS_DNS: DWORD = 12; -pub const NS_NETBT: DWORD = 13; -pub const NS_WINS: DWORD = 14; -pub const NS_NLA: DWORD = 15; -pub const NS_BTH: DWORD = 16; -pub const NS_NBP: DWORD = 20; -pub const NS_MS: DWORD = 30; -pub const NS_STDA: DWORD = 31; -pub const NS_NTDS: DWORD = 32; -pub const NS_EMAIL: DWORD = 37; -pub const NS_PNRPNAME: DWORD = 38; -pub const NS_PNRPCLOUD: DWORD = 39; -pub const NS_X500: DWORD = 40; -pub const NS_NIS: DWORD = 41; -pub const NS_NISPLUS: DWORD = 42; -pub const NS_WRQ: DWORD = 50; -pub const NS_NETDES: DWORD = 60; -pub const NI_NOFQDN: c_int = 0x01; -pub const NI_NUMERICHOST: c_int = 0x02; -pub const NI_NAMEREQD: c_int = 0x04; -pub const NI_NUMERICSERV: c_int = 0x08; -pub const NI_DGRAM: c_int = 0x10; -pub const NI_MAXHOST: c_int = 1025; -pub const NI_MAXSERV: c_int = 32; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/ws2ipdef.rs b/vendor/registry-40351f815f426200/winapi/src/shared/ws2ipdef.rs deleted file mode 100644 index b48518ecc..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/ws2ipdef.rs +++ /dev/null @@ -1,92 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! TCP/IP specific information for use by WinSock2 compatible applications. -use ctypes::c_int; -use shared::in6addr::IN6_ADDR; -use shared::inaddr::IN_ADDR; -use shared::minwindef::{ULONG, USHORT}; -use shared::ws2def::{ADDRESS_FAMILY, SCOPE_ID}; -pub const IFF_UP: ULONG = 0x00000001; -pub const IFF_BROADCAST: ULONG = 0x00000002; -pub const IFF_LOOPBACK: ULONG = 0x00000004; -pub const IFF_POINTTOPOINT: ULONG = 0x00000008; -pub const IFF_MULTICAST: ULONG = 0x00000010; -pub const IP_OPTIONS: c_int = 1; -pub const IP_HDRINCL: c_int = 2; -pub const IP_TOS: c_int = 3; -pub const IP_TTL: c_int = 4; -pub const IP_MULTICAST_IF: c_int = 9; -pub const IP_MULTICAST_TTL: c_int = 10; -pub const IP_MULTICAST_LOOP: c_int = 11; -pub const IP_ADD_MEMBERSHIP: c_int = 12; -pub const IP_DROP_MEMBERSHIP: c_int = 13; -pub const IP_DONTFRAGMENT: c_int = 14; -pub const IP_ADD_SOURCE_MEMBERSHIP: c_int = 15; -pub const IP_DROP_SOURCE_MEMBERSHIP: c_int = 16; -pub const IP_BLOCK_SOURCE: c_int = 17; -pub const IP_UNBLOCK_SOURCE: c_int = 18; -pub const IP_PKTINFO: c_int = 19; -pub const IP_RECEIVE_BROADCAST: c_int = 22; -pub const IP_RECVDSTADDR: c_int = 25; -UNION!{union SOCKADDR_IN6_LH_u { - [u32; 1], - sin6_scope_id sin6_scope_id_mut: ULONG, - sin6_scope_struct sin6_scope_struct_mut: SCOPE_ID, -}} -STRUCT!{struct SOCKADDR_IN6_LH { - sin6_family: ADDRESS_FAMILY, - sin6_port: USHORT, - sin6_flowinfo: ULONG, - sin6_addr: IN6_ADDR, - u: SOCKADDR_IN6_LH_u, -}} -pub type PSOCKADDR_IN6_LH = *mut SOCKADDR_IN6_LH; -STRUCT!{struct IP_MREQ { - imr_multiaddr: IN_ADDR, - imr_interface: IN_ADDR, -}} -pub type PIP_MREQ = *mut IP_MREQ; -pub const IPV6_HOPOPTS: c_int = 1; -pub const IPV6_HDRINCL: c_int = 2; -pub const IPV6_UNICAST_HOPS: c_int = 4; -pub const IPV6_MULTICAST_IF: c_int = 9; -pub const IPV6_MULTICAST_HOPS: c_int = 10; -pub const IPV6_MULTICAST_LOOP: c_int = 11; -pub const IPV6_ADD_MEMBERSHIP: c_int = 12; -pub const IPV6_JOIN_GROUP: c_int = IPV6_ADD_MEMBERSHIP; -pub const IPV6_DROP_MEMBERSHIP: c_int = 13; -pub const IPV6_LEAVE_GROUP: c_int = IPV6_DROP_MEMBERSHIP; -pub const IPV6_DONTFRAG: c_int = 14; -pub const IPV6_PKTINFO: c_int = 19; -pub const IPV6_HOPLIMIT: c_int = 21; -pub const IPV6_PROTECTION_LEVEL: c_int = 23; -pub const IPV6_RECVIF: c_int = 24; -pub const IPV6_RECVDSTADDR: c_int = 25; -pub const IPV6_CHECKSUM: c_int = 26; -pub const IPV6_V6ONLY: c_int = 27; -pub const IPV6_IFLIST: c_int = 28; -pub const IPV6_ADD_IFLIST: c_int = 29; -pub const IPV6_DEL_IFLIST: c_int = 30; -pub const IPV6_UNICAST_IF: c_int = 31; -pub const IPV6_RTHDR: c_int = 32; -pub const IPV6_RECVRTHDR: c_int = 38; -pub const IPV6_TCLASS: c_int = 39; -pub const IPV6_RECVTCLASS: c_int = 40; -STRUCT!{struct IPV6_MREQ { - ipv6mr_multiaddr: IN6_ADDR, - ipv6mr_interface: ULONG, -}} -pub type PIPV6_MREQ = *mut IPV6_MREQ; -STRUCT!{struct IN_PKTINFO { - ipi_addr: IN_ADDR, - ipi_ifindex: ULONG, -}} -pub type PIN_PKTINFO = *mut IN_PKTINFO; -STRUCT!{struct IN6_PKTINFO { - ipi6_addr: IN6_ADDR, - ipi6_ifindex: ULONG, -}} -pub type PIN6_PKTINFO = *mut IN6_PKTINFO; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/wtypes.rs b/vendor/registry-40351f815f426200/winapi/src/shared/wtypes.rs deleted file mode 100644 index 8b5c88811..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/wtypes.rs +++ /dev/null @@ -1,344 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{__int64, c_double, c_short, c_ushort, c_void, wchar_t}; -use shared::guiddef::{CLSID, GUID}; -use shared::minwindef::{BYTE, DWORD, ULONG, USHORT, WORD}; -use shared::ntdef::{LCID, LONG, LONGLONG, ULONGLONG}; -use shared::rpcndr::byte; -use shared::wtypesbase::{ - BYTE_BLOB, DWORD_BLOB, FLAGGED_BYTE_BLOB, FLAGGED_WORD_BLOB, LPOLESTR, OLECHAR -}; -use um::wingdi::LOGPALETTE; -// extern RPC_IF_HANDLE __MIDL_itf_wtypes_0000_0000_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wtypes_0000_0000_v0_0_s_ifspec; -STRUCT!{struct RemHGLOBAL { - fNullHGlobal: LONG, - cbData: ULONG, - data: [byte; 1], -}} -STRUCT!{struct RemHMETAFILEPICT { - mm: LONG, - xExt: LONG, - yExt: LONG, - cbData: ULONG, - data: [byte; 1], -}} -STRUCT!{struct RemHENHMETAFILE { - cbData: ULONG, - data: [byte; 1], -}} -STRUCT!{struct RemHBITMAP { - cbData: ULONG, - data: [byte; 1], -}} -STRUCT!{struct RemHPALETTE { - cbData: ULONG, - data: [byte; 1], -}} -STRUCT!{struct RemHBRUSH { - cbData: ULONG, - data: [byte; 1], -}} -pub const ROTFLAGS_REGISTRATIONKEEPSALIVE: DWORD = 0x1; -pub const ROTFLAGS_ALLOWANYCLIENT: DWORD = 0x2; -pub const ROT_COMPARE_MAX: DWORD = 2048; -ENUM!{enum DVASPECT { - DVASPECT_CONTENT = 1, - DVASPECT_THUMBNAIL = 2, - DVASPECT_ICON = 4, - DVASPECT_DOCPRINT = 8, -}} -ENUM!{enum STGC { - STGC_DEFAULT = 0, - STGC_OVERWRITE = 1, - STGC_ONLYIFCURRENT = 2, - STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4, - STGC_CONSOLIDATE = 8, -}} -ENUM!{enum STGMOVE { - STGMOVE_MOVE = 0, - STGMOVE_COPY = 1, - STGMOVE_SHALLOWCOPY = 2, -}} -ENUM!{enum STATFLAG { - STATFLAG_DEFAULT = 0, - STATFLAG_NONAME = 1, - STATFLAG_NOOPEN = 2, -}} -pub type HCONTEXT = *mut c_void; -pub const WDT_INPROC_CALL: ULONG = 0x48746457; -pub const WDT_REMOTE_CALL: ULONG = 0x52746457; -pub const WDT_INPROC64_CALL: ULONG = 0x50746457; -UNION!{union userCLIPFORMAT_u { - [usize; 1], - dwValue dwValue_mut: DWORD, - pwszName pwszName_mut: *mut wchar_t, -}} -STRUCT!{struct userCLIPFORMAT { - fContext: LONG, - u: userCLIPFORMAT_u, -}} -pub type wireCLIPFORMAT = *mut userCLIPFORMAT; -pub type CLIPFORMAT = WORD; -UNION!{union GDI_NONREMOTE_u { - [usize; 1], - hInproc hInproc_mut: LONG, - hRemote hRemote_mut: *mut DWORD_BLOB, -}} -STRUCT!{struct GDI_NONREMOTE { - fContext: LONG, - u: GDI_NONREMOTE_u, -}} -UNION!{union userHGLOBAL_u { - [u64; 1], - hInproc hInproc_mut: LONG, - hRemote hRemote_mut: *mut FLAGGED_BYTE_BLOB, - hInproc64 hInproc64_mut: __int64, -}} -STRUCT!{struct userHGLOBAL { - fContext: LONG, - u: userHGLOBAL_u, -}} -pub type wireHGLOBAL = *mut userHGLOBAL; -UNION!{union userHMETAFILE_u { - [u64; 1], - hInproc hInproc_mut: LONG, - hRemote hRemote_mut: *mut BYTE_BLOB, - hInproc64 hInproc64_mut: __int64, -}} -STRUCT!{struct userHMETAFILE { - fContext: LONG, - u: userHMETAFILE_u, -}} -STRUCT!{struct remoteMETAFILEPICT { - mm: LONG, - xExt: LONG, - yExt: LONG, - hMF: *mut userHMETAFILE, -}} -UNION!{union userHMETAFILEPICT_u { - [u64; 1], - hInproc hInproc_mut: LONG, - hRemote hRemote_mut: *mut remoteMETAFILEPICT, - hInproc64 hInproc64_mut: __int64, -}} -STRUCT!{struct userHMETAFILEPICT { - fContext: LONG, - u: userHMETAFILEPICT_u, -}} -UNION!{union userHENHMETAFILE_u { - [u64; 1], - hInproc hInproc_mut: LONG, - hRemote hRemote_mut: *mut BYTE_BLOB, - hInproc64 hInproc64_mut: __int64, -}} -STRUCT!{struct userHENHMETAFILE { - fContext: LONG, - u: userHENHMETAFILE_u, -}} -STRUCT!{struct userBITMAP { - bmType: LONG, - bmWidth: LONG, - bmHeight: LONG, - bmWidthBytes: LONG, - bmPlanes: WORD, - bmBitsPixel: WORD, - cbSize: ULONG, - pBuffer: [byte; 1], -}} -UNION!{union userHBITMAP_u { - [u64; 1], - hInproc hInproc_mut: LONG, - hRemote hRemote_mut: *mut userBITMAP, - hInproc64 hInproc64_mut: __int64, -}} -STRUCT!{struct userHBITMAP { - fContext: LONG, - u: userHBITMAP_u, -}} -UNION!{union userHPALETTE_u { - [u64; 1], - hInproc hInproc_mut: LONG, - hRemote hRemote_mut: *mut LOGPALETTE, - hInproc64 hInproc64_mut: __int64, -}} -STRUCT!{struct userHPALETTE { - fContext: LONG, - u: userHPALETTE_u, -}} -UNION!{union RemotableHandle_u { - [u32; 1], - hInproc hInproc_mut: LONG, - hRemote hRemote_mut: LONG, -}} -STRUCT!{struct RemotableHandle { - fContext: LONG, - u: RemotableHandle_u, -}} -pub type wireHWND = *mut RemotableHandle; -pub type wireHMENU = *mut RemotableHandle; -pub type wireHACCEL = *mut RemotableHandle; -pub type wireHBRUSH = *mut RemotableHandle; -pub type wireHFONT = *mut RemotableHandle; -pub type wireHDC = *mut RemotableHandle; -pub type wireHICON = *mut RemotableHandle; -pub type wireHRGN = *mut RemotableHandle; -pub type wireHMONITOR = *mut RemotableHandle; -pub type wireHBITMAP = *mut userHBITMAP; -pub type wireHPALETTE = *mut userHPALETTE; -pub type wireHENHMETAFILE = *mut userHENHMETAFILE; -pub type wireHMETAFILE = *mut userHMETAFILE; -pub type wireHMETAFILEPICT = *mut userHMETAFILEPICT; -pub type HMETAFILEPICT = *mut c_void; -// extern RPC_IF_HANDLE IWinTypes_v0_1_c_ifspec; -// extern RPC_IF_HANDLE IWinTypes_v0_1_s_ifspec; -pub type DATE = c_double; -STRUCT!{struct CY { - int64: LONGLONG, -}} -pub type LPCY = *mut CY; -STRUCT!{struct DECIMAL { - wReserved: USHORT, - scale: BYTE, - sign: BYTE, - Hi32: ULONG, - Lo64: ULONGLONG, -}} -pub const DECIMAL_NEG: BYTE = 0x80; -#[inline] -pub fn DECIMAL_SETZERO(dec: &mut DECIMAL) { - dec.Lo64 = 0; - dec.Hi32 = 0; - dec.scale = 0; - dec.sign = 0; -} -pub type LPDECIMAL = *mut DECIMAL; -pub type wireBSTR = *mut FLAGGED_WORD_BLOB; -pub type BSTR = *mut OLECHAR; -pub type LPBSTR = *mut BSTR; -pub type VARIANT_BOOL = c_short; -STRUCT!{struct BSTRBLOB { - cbSize: ULONG, - pData: *mut BYTE, -}} -pub type LPBSTRBLOB = *mut BSTRBLOB; -pub const VARIANT_TRUE: VARIANT_BOOL = -1; -pub const VARIANT_FALSE: VARIANT_BOOL = 0; -STRUCT!{struct CLIPDATA { - cbSize: ULONG, - ulClipFmt: LONG, - pClipData: *mut BYTE, -}} -#[inline] -pub fn CBPCLIPDATA(clipdata: CLIPDATA) -> ULONG { - clipdata.cbSize - 4 -} -pub type VARTYPE = c_ushort; -ENUM!{enum VARENUM { - VT_EMPTY = 0, - VT_NULL = 1, - VT_I2 = 2, - VT_I4 = 3, - VT_R4 = 4, - VT_R8 = 5, - VT_CY = 6, - VT_DATE = 7, - VT_BSTR = 8, - VT_DISPATCH = 9, - VT_ERROR = 10, - VT_BOOL = 11, - VT_VARIANT = 12, - VT_UNKNOWN = 13, - VT_DECIMAL = 14, - VT_I1 = 16, - VT_UI1 = 17, - VT_UI2 = 18, - VT_UI4 = 19, - VT_I8 = 20, - VT_UI8 = 21, - VT_INT = 22, - VT_UINT = 23, - VT_VOID = 24, - VT_HRESULT = 25, - VT_PTR = 26, - VT_SAFEARRAY = 27, - VT_CARRAY = 28, - VT_USERDEFINED = 29, - VT_LPSTR = 30, - VT_LPWSTR = 31, - VT_RECORD = 36, - VT_INT_PTR = 37, - VT_UINT_PTR = 38, - VT_FILETIME = 64, - VT_BLOB = 65, - VT_STREAM = 66, - VT_STORAGE = 67, - VT_STREAMED_OBJECT = 68, - VT_STORED_OBJECT = 69, - VT_BLOB_OBJECT = 70, - VT_CF = 71, - VT_CLSID = 72, - VT_VERSIONED_STREAM = 73, - VT_BSTR_BLOB = 0xfff, - VT_VECTOR = 0x1000, - VT_ARRAY = 0x2000, - VT_BYREF = 0x4000, - VT_RESERVED = 0x8000, - VT_ILLEGAL = 0xffff, - VT_ILLEGALMASKED = 0xfff, - VT_TYPEMASK = 0xfff, -}} -pub type PROPID = ULONG; -STRUCT!{struct PROPERTYKEY { - fmtid: GUID, - pid: DWORD, -}} -STRUCT!{struct CSPLATFORM { - dwPlatformId: DWORD, - dwVersionHi: DWORD, - dwVersionLo: DWORD, - dwProcessorArch: DWORD, -}} -STRUCT!{struct QUERYCONTEXT { - dwContext: DWORD, - Platform: CSPLATFORM, - Locale: LCID, - dwVersionHi: DWORD, - dwVersionLo: DWORD, -}} -ENUM!{enum TYSPEC { - TYSPEC_CLSID, - TYSPEC_FILEEXT, - TYSPEC_MIMETYPE, - TYSPEC_FILENAME, - TYSPEC_PROGID, - TYSPEC_PACKAGENAME, - TYSPEC_OBJECTID, -}} -STRUCT!{struct uCLSSPEC_ByName { - pPackageName: LPOLESTR, - PolicyId: GUID, -}} -STRUCT!{struct uCLSSPEC_ByObjectId { - ObjectId: GUID, - PolicyId: GUID, -}} -UNION!{union uCLSSPEC_u { - [u32; 8] [u64; 4], - clsid clsid_mut: CLSID, - pFileExt pFileExt_mut: LPOLESTR, - pMimeType pMimeType_mut: LPOLESTR, - pProgId pProgId_mut: LPOLESTR, - pFileName pFileName_mut: LPOLESTR, - ByName ByName_mut: uCLSSPEC_ByName, - ByObjectId ByObjectId_mut: uCLSSPEC_ByObjectId, -}} -STRUCT!{struct uCLSSPEC { - tyspec: DWORD, - u: uCLSSPEC_u, -}} -// extern RPC_IF_HANDLE __MIDL_itf_wtypes_0000_0001_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wtypes_0000_0001_v0_0_s_ifspec; diff --git a/vendor/registry-40351f815f426200/winapi/src/shared/wtypesbase.rs b/vendor/registry-40351f815f426200/winapi/src/shared/wtypesbase.rs deleted file mode 100644 index e8ca7ee08..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/shared/wtypesbase.rs +++ /dev/null @@ -1,161 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_double, c_short, c_uchar, c_ushort}; -use shared::minwindef::{BYTE, DWORD}; -use shared::rpcndr::{boolean, byte, hyper}; -use um::winnt::{LONG, LPWSTR, WCHAR}; -pub type OLECHAR = WCHAR; -pub type LPOLESTR = *mut OLECHAR; -pub type LPCOLESTR = *const OLECHAR; -pub type UCHAR = c_uchar; -pub type SHORT = c_short; -pub type USHORT = c_ushort; -pub type ULONG = DWORD; -pub type DOUBLE = c_double; -STRUCT!{struct COAUTHIDENTITY { - User: *mut USHORT, - UserLength: ULONG, - Domain: *mut USHORT, - DomainLength: ULONG, - Password: *mut USHORT, - PasswordLength: ULONG, - Flags: ULONG, -}} -STRUCT!{struct COAUTHINFO { - dwAuthnSvc: DWORD, - dwAuthzSvc: DWORD, - pwszServerPrincName: LPWSTR, - dwAuthnLevel: DWORD, - dwImpersonationLevel: DWORD, - pAuthIdentityData: *mut COAUTHIDENTITY, - dwCapabilities: DWORD, -}} -pub type SCODE = LONG; -pub type PSCODE = *mut SCODE; -ENUM!{enum MEMCTX { - MEMCTX_TASK = 1, - MEMCTX_SHARED = 2, - MEMCTX_MACSYSTEM = 3, - MEMCTX_UNKNOWN = -1i32 as u32, - MEMCTX_SAME = -2i32 as u32, -}} -pub const ROTREGFLAGS_ALLOWANYCLIENT: DWORD = 0x1; -pub const APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP: DWORD = 0x1; -pub const APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND: DWORD = 0x2; -pub const APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY: DWORD = 0x4; -pub const APPIDREGFLAGS_IUSERVER_UNMODIFIED_LOGON_TOKEN: DWORD = 0x8; -pub const APPIDREGFLAGS_IUSERVER_SELF_SID_IN_LAUNCH_PERMISSION: DWORD = 0x10; -pub const APPIDREGFLAGS_IUSERVER_ACTIVATE_IN_CLIENT_SESSION_ONLY: DWORD = 0x20; -pub const APPIDREGFLAGS_RESERVED1: DWORD = 0x40; -pub const APPIDREGFLAGS_RESERVED2: DWORD = 0x80; -pub const APPIDREGFLAGS_RESERVED3: DWORD = 0x100; -pub const APPIDREGFLAGS_RESERVED4: DWORD = 0x200; -pub const APPIDREGFLAGS_RESERVED5: DWORD = 0x400; -pub const APPIDREGFLAGS_RESERVED6: DWORD = 0x800; -pub const DCOMSCM_ACTIVATION_USE_ALL_AUTHNSERVICES: DWORD = 0x1; -pub const DCOMSCM_ACTIVATION_DISALLOW_UNSECURE_CALL: DWORD = 0x2; -pub const DCOMSCM_RESOLVE_USE_ALL_AUTHNSERVICES: DWORD = 0x4; -pub const DCOMSCM_RESOLVE_DISALLOW_UNSECURE_CALL: DWORD = 0x8; -pub const DCOMSCM_PING_USE_MID_AUTHNSERVICE: DWORD = 0x10; -pub const DCOMSCM_PING_DISALLOW_UNSECURE_CALL: DWORD = 0x20; -ENUM!{enum CLSCTX { - CLSCTX_INPROC_SERVER = 0x1, - CLSCTX_INPROC_HANDLER = 0x2, - CLSCTX_LOCAL_SERVER = 0x4, - CLSCTX_INPROC_SERVER16 = 0x8, - CLSCTX_REMOTE_SERVER = 0x10, - CLSCTX_INPROC_HANDLER16 = 0x20, - CLSCTX_RESERVED1 = 0x40, - CLSCTX_RESERVED2 = 0x80, - CLSCTX_RESERVED3 = 0x100, - CLSCTX_RESERVED4 = 0x200, - CLSCTX_NO_CODE_DOWNLOAD = 0x400, - CLSCTX_RESERVED5 = 0x800, - CLSCTX_NO_CUSTOM_MARSHAL = 0x1000, - CLSCTX_ENABLE_CODE_DOWNLOAD = 0x2000, - CLSCTX_NO_FAILURE_LOG = 0x4000, - CLSCTX_DISABLE_AAA = 0x8000, - CLSCTX_ENABLE_AAA = 0x10000, - CLSCTX_FROM_DEFAULT_CONTEXT = 0x20000, - CLSCTX_ACTIVATE_32_BIT_SERVER = 0x40000, - CLSCTX_ACTIVATE_64_BIT_SERVER = 0x80000, - CLSCTX_ENABLE_CLOAKING = 0x100000, - CLSCTX_APPCONTAINER = 0x400000, - CLSCTX_ACTIVATE_AAA_AS_IU = 0x800000, - CLSCTX_PS_DLL = 0x80000000, -}} -pub const CLSCTX_VALID_MASK: CLSCTX = CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER - | CLSCTX_LOCAL_SERVER | CLSCTX_INPROC_SERVER16 | CLSCTX_REMOTE_SERVER - | CLSCTX_NO_CODE_DOWNLOAD | CLSCTX_NO_CUSTOM_MARSHAL | CLSCTX_ENABLE_CODE_DOWNLOAD - | CLSCTX_NO_FAILURE_LOG | CLSCTX_DISABLE_AAA | CLSCTX_ENABLE_AAA | CLSCTX_FROM_DEFAULT_CONTEXT - | CLSCTX_ACTIVATE_32_BIT_SERVER | CLSCTX_ACTIVATE_64_BIT_SERVER | CLSCTX_ENABLE_CLOAKING - | CLSCTX_APPCONTAINER | CLSCTX_ACTIVATE_AAA_AS_IU | CLSCTX_PS_DLL; -ENUM!{enum MSHLFLAGS { - MSHLFLAGS_NORMAL = 0, - MSHLFLAGS_TABLESTRONG = 1, - MSHLFLAGS_TABLEWEAK = 2, - MSHLFLAGS_NOPING = 4, - MSHLFLAGS_RESERVED1 = 8, - MSHLFLAGS_RESERVED2 = 16, - MSHLFLAGS_RESERVED3 = 32, - MSHLFLAGS_RESERVED4 = 64, -}} -ENUM!{enum MSHCTX { - MSHCTX_LOCAL = 0, - MSHCTX_NOSHAREDMEM = 1, - MSHCTX_DIFFERENTMACHINE = 2, - MSHCTX_INPROC = 3, - MSHCTX_CROSSCTX = 4, -}} -STRUCT!{struct BYTE_BLOB { - clSize: ULONG, - abData: [byte; 1], -}} -pub type UP_BYTE_BLOB = *mut BYTE_BLOB; -STRUCT!{struct WORD_BLOB { - clSize: ULONG, - asData: [c_ushort; 1], -}} -pub type UP_WORD_BLOB = *mut WORD_BLOB; -STRUCT!{struct DWORD_BLOB { - clSize: ULONG, - alData: [ULONG; 1], -}} -pub type UP_DWORD_BLOB = *mut DWORD_BLOB; -STRUCT!{struct FLAGGED_BYTE_BLOB { - fFlags: ULONG, - clSize: ULONG, - abData: [byte; 1], -}} -pub type UP_FLAGGED_BYTE_BLOB = *mut FLAGGED_BYTE_BLOB; -STRUCT!{struct FLAGGED_WORD_BLOB { - fFlags: ULONG, - clSize: ULONG, - alData: [ULONG; 1], -}} -pub type UP_FLAGGED_WORD_BLOB = *mut FLAGGED_WORD_BLOB; -STRUCT!{struct BYTE_SIZEDARR { - clSize: ULONG, - pData: *mut byte, -}} -STRUCT!{struct WORD_SIZEDARR { - clSize: ULONG, - pData: *mut c_ushort, -}} -STRUCT!{struct DWORD_SIZEDARR { - clSize: ULONG, - pData: *mut ULONG, -}} -STRUCT!{struct HYPER_SIZEDARR { - clSize: ULONG, - pData: *mut hyper, -}} -pub type BOOLEAN = boolean; -STRUCT!{struct BLOB { - cbSize: ULONG, - pBlobData: *mut BYTE, -}} -pub type LPBLOB = *mut BLOB; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/accctrl.rs b/vendor/registry-40351f815f426200/winapi/src/um/accctrl.rs deleted file mode 100644 index 829ce5793..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/accctrl.rs +++ /dev/null @@ -1,371 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::guiddef::GUID; -use shared::minwindef::{DWORD, ULONG}; -use um::winbase::LocalFree; -use um::winnt::{HANDLE, LONG, LPSTR, LPWSTR, PVOID, SID}; -#[inline] -pub unsafe fn AccFree(p: PVOID) -> PVOID { - LocalFree(p) -} -ENUM!{enum SE_OBJECT_TYPE { - SE_UNKNOWN_OBJECT_TYPE = 0, - SE_FILE_OBJECT, - SE_SERVICE, - SE_PRINTER, - SE_REGISTRY_KEY, - SE_LMSHARE, - SE_KERNEL_OBJECT, - SE_WINDOW_OBJECT, - SE_DS_OBJECT, - SE_DS_OBJECT_ALL, - SE_PROVIDER_DEFINED_OBJECT, - SE_WMIGUID_OBJECT, - SE_REGISTRY_WOW64_32KEY, - SE_REGISTRY_WOW64_64KEY, -}} -ENUM!{enum TRUSTEE_TYPE { - TRUSTEE_IS_UNKNOWN, - TRUSTEE_IS_USER, - TRUSTEE_IS_GROUP, - TRUSTEE_IS_DOMAIN, - TRUSTEE_IS_ALIAS, - TRUSTEE_IS_WELL_KNOWN_GROUP, - TRUSTEE_IS_DELETED, - TRUSTEE_IS_INVALID, - TRUSTEE_IS_COMPUTER, -}} -ENUM!{enum TRUSTEE_FORM { - TRUSTEE_IS_SID, - TRUSTEE_IS_NAME, - TRUSTEE_BAD_FORM, - TRUSTEE_IS_OBJECTS_AND_SID, - TRUSTEE_IS_OBJECTS_AND_NAME, -}} -ENUM!{enum MULTIPLE_TRUSTEE_OPERATION { - NO_MULTIPLE_TRUSTEE, - TRUSTEE_IS_IMPERSONATE, -}} -STRUCT!{struct OBJECTS_AND_SID { - ObjectsPresent: DWORD, - ObjectTypeGuid: GUID, - InheritedObjectTypeGuid: GUID, - pSid: *mut SID, -}} -pub type POBJECTS_AND_SID = *mut OBJECTS_AND_SID; -STRUCT!{struct OBJECTS_AND_NAME_A { - ObjectsPresent: DWORD, - ObjectType: SE_OBJECT_TYPE, - ObjectTypeName: LPSTR, - InheritedObjectTypeName: LPSTR, - ptstrName: LPSTR, -}} -pub type POBJECTS_AND_NAME_A = *mut OBJECTS_AND_NAME_A; -STRUCT!{struct OBJECTS_AND_NAME_W { - ObjectsPresent: DWORD, - ObjectType: SE_OBJECT_TYPE, - ObjectTypeName: LPWSTR, - InheritedObjectTypeName: LPWSTR, - ptstrName: LPWSTR, -}} -pub type POBJECTS_AND_NAME_W = *mut OBJECTS_AND_NAME_W; -STRUCT!{struct TRUSTEE_A { - pMultipleTrustee: *mut TRUSTEE_A, - MultipleTrusteeOperation: MULTIPLE_TRUSTEE_OPERATION, - TrusteeForm: TRUSTEE_FORM, - TrusteeType: TRUSTEE_TYPE, - ptstrName: LPSTR, -}} -pub type PTRUSTEE_A = *mut TRUSTEE_A; -pub type TRUSTEEA = TRUSTEE_A; -pub type PTRUSTEEA = PTRUSTEE_A; -STRUCT!{struct TRUSTEE_W { - pMultipleTrustee: *mut TRUSTEE_W, - MultipleTrusteeOperation: MULTIPLE_TRUSTEE_OPERATION, - TrusteeForm: TRUSTEE_FORM, - TrusteeType: TRUSTEE_TYPE, - ptstrName: LPWSTR, -}} -pub type PTRUSTEE_W = *mut TRUSTEE_W; -pub type TRUSTEEW = TRUSTEE_W; -pub type PTRUSTEEW = PTRUSTEE_W; -ENUM!{enum ACCESS_MODE { - NOT_USED_ACCESS = 0, - GRANT_ACCESS, - SET_ACCESS, - DENY_ACCESS, - REVOKE_ACCESS, - SET_AUDIT_SUCCESS, - SET_AUDIT_FAILURE, -}} -pub const NO_INHERITANCE: DWORD = 0x0; -pub const SUB_OBJECTS_ONLY_INHERIT: DWORD = 0x1; -pub const SUB_CONTAINERS_ONLY_INHERIT: DWORD = 0x2; -pub const SUB_CONTAINERS_AND_OBJECTS_INHERIT: DWORD = 0x3; -pub const INHERIT_NO_PROPAGATE: DWORD = 0x4; -pub const INHERIT_ONLY: DWORD = 0x8; -pub const INHERITED_ACCESS_ENTRY: DWORD = 0x10; -pub const INHERITED_PARENT: DWORD = 0x10000000; -pub const INHERITED_GRANDPARENT: DWORD = 0x20000000; -STRUCT!{struct EXPLICIT_ACCESS_A { - grfAccessPermissions: DWORD, - grfAccessMode: ACCESS_MODE, - grfInheritance: DWORD, - Trustee: TRUSTEE_A, -}} -pub type PEXPLICIT_ACCESS_A = *mut EXPLICIT_ACCESS_A; -pub type EXPLICIT_ACCESSA = EXPLICIT_ACCESS_A; -pub type PEXPLICIT_ACCESSA = PEXPLICIT_ACCESS_A; -STRUCT!{struct EXPLICIT_ACCESS_W { - grfAccessPermissions: DWORD, - grfAccessMode: ACCESS_MODE, - grfInheritance: DWORD, - Trustee: TRUSTEE_W, -}} -pub type PEXPLICIT_ACCESS_W = *mut EXPLICIT_ACCESS_W; -pub type EXPLICIT_ACCESSW = EXPLICIT_ACCESS_W; -pub type PEXPLICIT_ACCESSW = PEXPLICIT_ACCESS_W; -pub const ACCCTRL_DEFAULT_PROVIDER: &'static str = "Windows NT Access Provider"; -pub type ACCESS_RIGHTS = ULONG; -pub type PACCESS_RIGHTS = *mut ACCESS_RIGHTS; -pub type INHERIT_FLAGS = ULONG; -pub type PINHERIT_FLAGS = *mut INHERIT_FLAGS; -STRUCT!{struct ACTRL_ACCESS_ENTRYA { - Trustee: TRUSTEE_A, - fAccessFlags: ULONG, - Access: ACCESS_RIGHTS, - ProvSpecificAccess: ACCESS_RIGHTS, - Inheritance: INHERIT_FLAGS, - lpInheritProperty: LPSTR, -}} -pub type PACTRL_ACCESS_ENTRYA = *mut ACTRL_ACCESS_ENTRYA; -STRUCT!{struct ACTRL_ACCESS_ENTRYW { - Trustee: TRUSTEE_W, - fAccessFlags: ULONG, - Access: ACCESS_RIGHTS, - ProvSpecificAccess: ACCESS_RIGHTS, - Inheritance: INHERIT_FLAGS, - lpInheritProperty: LPWSTR, -}} -pub type PACTRL_ACCESS_ENTRYW = *mut ACTRL_ACCESS_ENTRYW; -STRUCT!{struct ACTRL_ACCESS_ENTRY_LISTA { - cEntries: ULONG, - pAccessList: *mut ACTRL_ACCESS_ENTRYA, -}} -pub type PACTRL_ACCESS_ENTRY_LISTA = *mut ACTRL_ACCESS_ENTRY_LISTA; -STRUCT!{struct ACTRL_ACCESS_ENTRY_LISTW { - cEntries: ULONG, - pAccessList: *mut ACTRL_ACCESS_ENTRYW, -}} -pub type PACTRL_ACCESS_ENTRY_LISTW = *mut ACTRL_ACCESS_ENTRY_LISTW; -STRUCT!{struct ACTRL_PROPERTY_ENTRYA { - lpProperty: LPSTR, - pAccessEntryList: PACTRL_ACCESS_ENTRY_LISTA, - fListFlags: ULONG, -}} -pub type PACTRL_PROPERTY_ENTRYA = *mut ACTRL_PROPERTY_ENTRYA; -STRUCT!{struct ACTRL_PROPERTY_ENTRYW { - lpProperty: LPWSTR, - pAccessEntryList: PACTRL_ACCESS_ENTRY_LISTW, - fListFlags: ULONG, -}} -pub type PACTRL_PROPERTY_ENTRYW = *mut ACTRL_PROPERTY_ENTRYW; -STRUCT!{struct ACTRL_ACCESSA { - cEntries: ULONG, - pPropertyAccessList: PACTRL_PROPERTY_ENTRYA, -}} -pub type PACTRL_ACCESSA = *mut ACTRL_ACCESSA; -pub type ACTRL_AUDITA = ACTRL_ACCESSA; -pub type PACTRL_AUDITA = *mut ACTRL_AUDITA; -STRUCT!{struct ACTRL_ACCESSW { - cEntries: ULONG, - pPropertyAccessList: PACTRL_PROPERTY_ENTRYW, -}} -pub type PACTRL_ACCESSW = *mut ACTRL_ACCESSW; -pub type ACTRL_AUDITW = ACTRL_ACCESSW; -pub type PACTRL_AUDITW = *mut ACTRL_AUDITW; -pub const TRUSTEE_ACCESS_ALLOWED: ULONG = 0x00000001; -pub const TRUSTEE_ACCESS_READ: ULONG = 0x00000002; -pub const TRUSTEE_ACCESS_WRITE: ULONG = 0x00000004; -pub const TRUSTEE_ACCESS_EXPLICIT: ULONG = 0x00000001; -pub const TRUSTEE_ACCESS_READ_WRITE: ULONG = TRUSTEE_ACCESS_READ | TRUSTEE_ACCESS_WRITE; -pub const TRUSTEE_ACCESS_ALL: ULONG = 0xFFFFFFFF; -STRUCT!{struct TRUSTEE_ACCESSA { - lpProperty: LPSTR, - Access: ACCESS_RIGHTS, - fAccessFlags: ULONG, - fReturnedAccess: ULONG, -}} -pub type PTRUSTEE_ACCESSA = *mut TRUSTEE_ACCESSA; -STRUCT!{struct TRUSTEE_ACCESSW { - lpProperty: LPWSTR, - Access: ACCESS_RIGHTS, - fAccessFlags: ULONG, - fReturnedAccess: ULONG, -}} -pub type PTRUSTEE_ACCESSW = *mut TRUSTEE_ACCESSW; -pub const ACTRL_RESERVED: ULONG = 0x00000000; -pub const ACTRL_PERM_1: ULONG = 0x00000001; -pub const ACTRL_PERM_2: ULONG = 0x00000002; -pub const ACTRL_PERM_3: ULONG = 0x00000004; -pub const ACTRL_PERM_4: ULONG = 0x00000008; -pub const ACTRL_PERM_5: ULONG = 0x00000010; -pub const ACTRL_PERM_6: ULONG = 0x00000020; -pub const ACTRL_PERM_7: ULONG = 0x00000040; -pub const ACTRL_PERM_8: ULONG = 0x00000080; -pub const ACTRL_PERM_9: ULONG = 0x00000100; -pub const ACTRL_PERM_10: ULONG = 0x00000200; -pub const ACTRL_PERM_11: ULONG = 0x00000400; -pub const ACTRL_PERM_12: ULONG = 0x00000800; -pub const ACTRL_PERM_13: ULONG = 0x00001000; -pub const ACTRL_PERM_14: ULONG = 0x00002000; -pub const ACTRL_PERM_15: ULONG = 0x00004000; -pub const ACTRL_PERM_16: ULONG = 0x00008000; -pub const ACTRL_PERM_17: ULONG = 0x00010000; -pub const ACTRL_PERM_18: ULONG = 0x00020000; -pub const ACTRL_PERM_19: ULONG = 0x00040000; -pub const ACTRL_PERM_20: ULONG = 0x00080000; -pub const ACTRL_ACCESS_ALLOWED: ULONG = 0x00000001; -pub const ACTRL_ACCESS_DENIED: ULONG = 0x00000002; -pub const ACTRL_AUDIT_SUCCESS: ULONG = 0x00000004; -pub const ACTRL_AUDIT_FAILURE: ULONG = 0x00000008; -pub const ACTRL_ACCESS_PROTECTED: ULONG = 0x00000001; -pub const ACTRL_SYSTEM_ACCESS: ULONG = 0x04000000; -pub const ACTRL_DELETE: ULONG = 0x08000000; -pub const ACTRL_READ_CONTROL: ULONG = 0x10000000; -pub const ACTRL_CHANGE_ACCESS: ULONG = 0x20000000; -pub const ACTRL_CHANGE_OWNER: ULONG = 0x40000000; -pub const ACTRL_SYNCHRONIZE: ULONG = 0x80000000; -pub const ACTRL_STD_RIGHTS_ALL: ULONG = 0xf8000000; -pub const ACTRL_STD_RIGHT_REQUIRED: ULONG = ACTRL_STD_RIGHTS_ALL & !ACTRL_SYNCHRONIZE; -pub const ACTRL_DS_OPEN: ULONG = ACTRL_RESERVED; -pub const ACTRL_DS_CREATE_CHILD: ULONG = ACTRL_PERM_1; -pub const ACTRL_DS_DELETE_CHILD: ULONG = ACTRL_PERM_2; -pub const ACTRL_DS_LIST: ULONG = ACTRL_PERM_3; -pub const ACTRL_DS_SELF: ULONG = ACTRL_PERM_4; -pub const ACTRL_DS_READ_PROP: ULONG = ACTRL_PERM_5; -pub const ACTRL_DS_WRITE_PROP: ULONG = ACTRL_PERM_6; -pub const ACTRL_DS_DELETE_TREE: ULONG = ACTRL_PERM_7; -pub const ACTRL_DS_LIST_OBJECT: ULONG = ACTRL_PERM_8; -pub const ACTRL_DS_CONTROL_ACCESS: ULONG = ACTRL_PERM_9; -pub const ACTRL_FILE_READ: ULONG = ACTRL_PERM_1; -pub const ACTRL_FILE_WRITE: ULONG = ACTRL_PERM_2; -pub const ACTRL_FILE_APPEND: ULONG = ACTRL_PERM_3; -pub const ACTRL_FILE_READ_PROP: ULONG = ACTRL_PERM_4; -pub const ACTRL_FILE_WRITE_PROP: ULONG = ACTRL_PERM_5; -pub const ACTRL_FILE_EXECUTE: ULONG = ACTRL_PERM_6; -pub const ACTRL_FILE_READ_ATTRIB: ULONG = ACTRL_PERM_8; -pub const ACTRL_FILE_WRITE_ATTRIB: ULONG = ACTRL_PERM_9; -pub const ACTRL_FILE_CREATE_PIPE: ULONG = ACTRL_PERM_10; -pub const ACTRL_DIR_LIST: ULONG = ACTRL_PERM_1; -pub const ACTRL_DIR_CREATE_OBJECT: ULONG = ACTRL_PERM_2; -pub const ACTRL_DIR_CREATE_CHILD: ULONG = ACTRL_PERM_3; -pub const ACTRL_DIR_DELETE_CHILD: ULONG = ACTRL_PERM_7; -pub const ACTRL_DIR_TRAVERSE: ULONG = ACTRL_PERM_6; -pub const ACTRL_KERNEL_TERMINATE: ULONG = ACTRL_PERM_1; -pub const ACTRL_KERNEL_THREAD: ULONG = ACTRL_PERM_2; -pub const ACTRL_KERNEL_VM: ULONG = ACTRL_PERM_3; -pub const ACTRL_KERNEL_VM_READ: ULONG = ACTRL_PERM_4; -pub const ACTRL_KERNEL_VM_WRITE: ULONG = ACTRL_PERM_5; -pub const ACTRL_KERNEL_DUP_HANDLE: ULONG = ACTRL_PERM_6; -pub const ACTRL_KERNEL_PROCESS: ULONG = ACTRL_PERM_7; -pub const ACTRL_KERNEL_SET_INFO: ULONG = ACTRL_PERM_8; -pub const ACTRL_KERNEL_GET_INFO: ULONG = ACTRL_PERM_9; -pub const ACTRL_KERNEL_CONTROL: ULONG = ACTRL_PERM_10; -pub const ACTRL_KERNEL_ALERT: ULONG = ACTRL_PERM_11; -pub const ACTRL_KERNEL_GET_CONTEXT: ULONG = ACTRL_PERM_12; -pub const ACTRL_KERNEL_SET_CONTEXT: ULONG = ACTRL_PERM_13; -pub const ACTRL_KERNEL_TOKEN: ULONG = ACTRL_PERM_14; -pub const ACTRL_KERNEL_IMPERSONATE: ULONG = ACTRL_PERM_15; -pub const ACTRL_KERNEL_DIMPERSONATE: ULONG = ACTRL_PERM_16; -pub const ACTRL_PRINT_SADMIN: ULONG = ACTRL_PERM_1; -pub const ACTRL_PRINT_SLIST: ULONG = ACTRL_PERM_2; -pub const ACTRL_PRINT_PADMIN: ULONG = ACTRL_PERM_3; -pub const ACTRL_PRINT_PUSE: ULONG = ACTRL_PERM_4; -pub const ACTRL_PRINT_JADMIN: ULONG = ACTRL_PERM_5; -pub const ACTRL_SVC_GET_INFO: ULONG = ACTRL_PERM_1; -pub const ACTRL_SVC_SET_INFO: ULONG = ACTRL_PERM_2; -pub const ACTRL_SVC_STATUS: ULONG = ACTRL_PERM_3; -pub const ACTRL_SVC_LIST: ULONG = ACTRL_PERM_4; -pub const ACTRL_SVC_START: ULONG = ACTRL_PERM_5; -pub const ACTRL_SVC_STOP: ULONG = ACTRL_PERM_6; -pub const ACTRL_SVC_PAUSE: ULONG = ACTRL_PERM_7; -pub const ACTRL_SVC_INTERROGATE: ULONG = ACTRL_PERM_8; -pub const ACTRL_SVC_UCONTROL: ULONG = ACTRL_PERM_9; -pub const ACTRL_REG_QUERY: ULONG = ACTRL_PERM_1; -pub const ACTRL_REG_SET: ULONG = ACTRL_PERM_2; -pub const ACTRL_REG_CREATE_CHILD: ULONG = ACTRL_PERM_3; -pub const ACTRL_REG_LIST: ULONG = ACTRL_PERM_4; -pub const ACTRL_REG_NOTIFY: ULONG = ACTRL_PERM_5; -pub const ACTRL_REG_LINK: ULONG = ACTRL_PERM_6; -pub const ACTRL_WIN_CLIPBRD: ULONG = ACTRL_PERM_1; -pub const ACTRL_WIN_GLOBAL_ATOMS: ULONG = ACTRL_PERM_2; -pub const ACTRL_WIN_CREATE: ULONG = ACTRL_PERM_3; -pub const ACTRL_WIN_LIST_DESK: ULONG = ACTRL_PERM_4; -pub const ACTRL_WIN_LIST: ULONG = ACTRL_PERM_5; -pub const ACTRL_WIN_READ_ATTRIBS: ULONG = ACTRL_PERM_6; -pub const ACTRL_WIN_WRITE_ATTRIBS: ULONG = ACTRL_PERM_7; -pub const ACTRL_WIN_SCREEN: ULONG = ACTRL_PERM_8; -pub const ACTRL_WIN_EXIT: ULONG = ACTRL_PERM_9; -UNION!{union ACTRL_OVERLAPPED_u { - [u32; 1] [u64; 1], - Provider Provider_mut: PVOID, - Reserved1 Reserved1_mut: ULONG, -}} -STRUCT!{struct ACTRL_OVERLAPPED { - u: ACTRL_OVERLAPPED_u, - Reserved2: ULONG, - hEvent: HANDLE, -}} -pub type PACTRL_OVERLAPPED = *mut ACTRL_OVERLAPPED; -STRUCT!{struct ACTRL_ACCESS_INFOA { - fAccessPermission: ULONG, - lpAccessPermissionName: LPSTR, -}} -pub type PACTRL_ACCESS_INFOA = *mut ACTRL_ACCESS_INFOA; -STRUCT!{struct ACTRL_ACCESS_INFOW { - fAccessPermission: ULONG, - lpAccessPermissionName: LPWSTR, -}} -pub type PACTRL_ACCESS_INFOW = *mut ACTRL_ACCESS_INFOW; -STRUCT!{struct ACTRL_CONTROL_INFOA { - lpControlId: LPSTR, - lpControlName: LPSTR, -}} -pub type PACTRL_CONTROL_INFOA = *mut ACTRL_CONTROL_INFOA; -STRUCT!{struct ACTRL_CONTROL_INFOW { - lpControlId: LPWSTR, - lpControlName: LPWSTR, -}} -pub type PACTRL_CONTROL_INFOW = *mut ACTRL_CONTROL_INFOW; -pub const ACTRL_ACCESS_NO_OPTIONS: DWORD = 0x00000000; -pub const ACTRL_ACCESS_SUPPORTS_OBJECT_ENTRIES: DWORD = 0x00000001; -pub const TREE_SEC_INFO_SET: DWORD = 0x00000001; -pub const TREE_SEC_INFO_RESET: DWORD = 0x00000002; -pub const TREE_SEC_INFO_RESET_KEEP_EXPLICIT: DWORD = 0x00000003; -ENUM!{enum PROG_INVOKE_SETTING { - ProgressInvokeNever = 1, - ProgressInvokeEveryObject, - ProgressInvokeOnError, - ProgressCancelOperation, - ProgressRetryOperation, - ProgressInvokePrePostError, -}} -pub type PPROG_INVOKE_SETTING = *mut PROG_INVOKE_SETTING; -STRUCT!{struct FN_OBJECT_MGR_FUNCTS { - Placeholder: ULONG, -}} -pub type PFN_OBJECT_MGR_FUNCTS = *mut FN_OBJECT_MGR_FUNCTS; -STRUCT!{struct INHERITED_FROMA { - GenerationGap: LONG, - AncestorName: LPSTR, -}} -pub type PINHERITED_FROMA = *mut INHERITED_FROMA; -STRUCT!{struct INHERITED_FROMW { - GenerationGap: LONG, - AncestorName: LPWSTR, -}} -pub type PINHERITED_FROMW = *mut INHERITED_FROMW; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/aclapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/aclapi.rs deleted file mode 100644 index 5c2c5f121..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/aclapi.rs +++ /dev/null @@ -1,362 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::guiddef::GUID; -use shared::minwindef::{BOOL, DWORD, PULONG, ULONG, USHORT}; -use um::accctrl::{ - ACCESS_MODE, MULTIPLE_TRUSTEE_OPERATION, PEXPLICIT_ACCESS_A, PEXPLICIT_ACCESS_W, - PFN_OBJECT_MGR_FUNCTS, PINHERITED_FROMA, PINHERITED_FROMW, POBJECTS_AND_NAME_A, - POBJECTS_AND_NAME_W, POBJECTS_AND_SID, PPROG_INVOKE_SETTING, PROG_INVOKE_SETTING, PTRUSTEE_A, - PTRUSTEE_W, SE_OBJECT_TYPE, TRUSTEE_FORM, TRUSTEE_TYPE -}; -use um::winnt::{ - HANDLE, LPCSTR, LPCWSTR, LPSTR, LPWSTR, PACCESS_MASK, PACL, PGENERIC_MAPPING, - PSECURITY_DESCRIPTOR, PSID, PVOID, SECURITY_INFORMATION -}; -FN!{cdecl FN_PROGRESS( - pObjectName: LPWSTR, - Status: DWORD, - pInvokeSetting: PPROG_INVOKE_SETTING, - Args: PVOID, - SecuritySet: BOOL, -) -> ()} -extern "system" { - pub fn SetEntriesInAclA( - cCountOfExplicitEntries: ULONG, - pListOfExplicitEntries: PEXPLICIT_ACCESS_A, - OldAcl: PACL, - NewAcl: *mut PACL, - ) -> DWORD; - pub fn SetEntriesInAclW( - cCountOfExplicitEntries: ULONG, - pListOfExplicitEntries: PEXPLICIT_ACCESS_W, - OldAcl: PACL, - NewAcl: *mut PACL, - ) -> DWORD; - pub fn GetExplicitEntriesFromAclA( - pacl: PACL, - pcCountOfExplicitEntries: PULONG, - pListOfExplicitEntries: *mut PEXPLICIT_ACCESS_A, - ) -> DWORD; - pub fn GetExplicitEntriesFromAclW( - pacl: PACL, - pcCountOfExplicitEntries: PULONG, - pListOfExplicitEntries: *mut PEXPLICIT_ACCESS_W, - ) -> DWORD; - pub fn GetEffectiveRightsFromAclA( - pacl: PACL, - pTrustee: PTRUSTEE_A, - pAccessRight: PACCESS_MASK, - ) -> DWORD; - pub fn GetEffectiveRightsFromAclW( - pacl: PACL, - pTrustee: PTRUSTEE_W, - pAccessRight: PACCESS_MASK, - ) -> DWORD; - pub fn GetAuditedPermissionsFromAclA( - pAcl: PACL, - pTrustee: PTRUSTEE_A, - pSuccessfulAuditedRights: PACCESS_MASK, - pFailedAuditRights: PACCESS_MASK, - ) -> DWORD; - pub fn GetAuditedPermissionsFromAclW( - pAcl: PACL, - pTrustee: PTRUSTEE_W, - pSuccessfulAuditedRights: PACCESS_MASK, - pFailedAuditRights: PACCESS_MASK, - ) -> DWORD; - pub fn GetNamedSecurityInfoA( - pObjectName: LPCSTR, - ObjectType: SE_OBJECT_TYPE, - SecurityInfo: SECURITY_INFORMATION, - ppsidOwner: *mut PSID, - ppsidGroup: *mut PSID, - ppDacl: *mut PACL, - ppSacl: *mut PACL, - ppSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, - ) -> DWORD; - pub fn GetNamedSecurityInfoW( - pObjectName: LPCWSTR, - ObjectType: SE_OBJECT_TYPE, - SecurityInfo: SECURITY_INFORMATION, - ppsidOwner: *mut PSID, - ppsidGroup: *mut PSID, - ppDacl: *mut PACL, - ppSacl: *mut PACL, - ppSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, - ) -> DWORD; - pub fn GetSecurityInfo( - handle: HANDLE, - ObjectType: SE_OBJECT_TYPE, - SecurityInfo: SECURITY_INFORMATION, - ppsidOwner: *mut PSID, - ppsidGroup: *mut PSID, - ppDacl: *mut PACL, - ppSacl: *mut PACL, - ppSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, - ) -> DWORD; - pub fn SetNamedSecurityInfoA( - pObjectame: LPSTR, - ObjectType: SE_OBJECT_TYPE, - SecurityInfo: SECURITY_INFORMATION, - psidOwner: PSID, - psidGroup: PSID, - pDacl: PACL, - pSacl: PACL, - ) -> DWORD; - pub fn SetNamedSecurityInfoW( - pObjectame: LPWSTR, - ObjectType: SE_OBJECT_TYPE, - SecurityInfo: SECURITY_INFORMATION, - psidOwner: PSID, - psidGroup: PSID, - pDacl: PACL, - pSacl: PACL, - ) -> DWORD; - pub fn SetSecurityInfo( - handle: HANDLE, - ObjectType: SE_OBJECT_TYPE, - SecurityInfo: SECURITY_INFORMATION, - psidOwner: PSID, - psidGroup: PSID, - pDacl: PACL, - pSacl: PACL, - ) -> DWORD; - pub fn GetInheritanceSourceA( - pObjectName: LPSTR, - ObjectType: SE_OBJECT_TYPE, - SecurityInfo: SECURITY_INFORMATION, - Container: BOOL, - pObjectClassGuids: *mut *mut GUID, - GuidCount: DWORD, - pAcl: PACL, - pfnArray: PFN_OBJECT_MGR_FUNCTS, - pGenericMapping: PGENERIC_MAPPING, - pInheritArray: PINHERITED_FROMA, - ) -> DWORD; - pub fn GetInheritanceSourceW( - pObjectName: LPWSTR, - ObjectType: SE_OBJECT_TYPE, - SecurityInfo: SECURITY_INFORMATION, - Container: BOOL, - pObjectClassGuids: *mut *mut GUID, - GuidCount: DWORD, - pAcl: PACL, - pfnArray: PFN_OBJECT_MGR_FUNCTS, - pGenericMapping: PGENERIC_MAPPING, - pInheritArray: PINHERITED_FROMW, - ) -> DWORD; - pub fn FreeInheritedFromArray( - pInheritArray: PINHERITED_FROMW, - AceCnt: USHORT, - pfnArray: PFN_OBJECT_MGR_FUNCTS, - ) -> DWORD; - pub fn TreeResetNamedSecurityInfoA( - pObjectName: LPSTR, - ObjectType: SE_OBJECT_TYPE, - SecurityInfo: SECURITY_INFORMATION, - pOwner: PSID, - pGroup: PSID, - pDacl: PACL, - pSacl: PACL, - KeepExplicit: BOOL, - fnProgress: FN_PROGRESS, - ProgressInvokeSetting: PROG_INVOKE_SETTING, - Args: PVOID, - ) -> DWORD; - pub fn TreeResetNamedSecurityInfoW( - pObjectName: LPWSTR, - ObjectType: SE_OBJECT_TYPE, - SecurityInfo: SECURITY_INFORMATION, - pOwner: PSID, - pGroup: PSID, - pDacl: PACL, - pSacl: PACL, - KeepExplicit: BOOL, - fnProgress: FN_PROGRESS, - ProgressInvokeSetting: PROG_INVOKE_SETTING, - Args: PVOID, - ) -> DWORD; - pub fn TreeSetNamedSecurityInfoA( - pObjectName: LPSTR, - ObjectType: SE_OBJECT_TYPE, - SecurityInfo: SECURITY_INFORMATION, - pOwner: PSID, - pGroup: PSID, - pDacl: PACL, - pSacl: PACL, - dwAction: DWORD, - fnProgress: FN_PROGRESS, - ProgressInvokeSetting: PROG_INVOKE_SETTING, - Args: PVOID, - ) -> DWORD; - pub fn TreeSetNamedSecurityInfoW( - pObjectName: LPWSTR, - ObjectType: SE_OBJECT_TYPE, - SecurityInfo: SECURITY_INFORMATION, - pOwner: PSID, - pGroup: PSID, - pDacl: PACL, - pSacl: PACL, - dwAction: DWORD, - fnProgress: FN_PROGRESS, - ProgressInvokeSetting: PROG_INVOKE_SETTING, - Args: PVOID, - ) -> DWORD; - pub fn BuildSecurityDescriptorA( - pOwner: PTRUSTEE_A, - pGroup: PTRUSTEE_A, - cCountOfAccessEntries: ULONG, - pListOfAccessEntries: PEXPLICIT_ACCESS_A, - cCountOfAuditEntries: ULONG, - pListOfAuditEntries: PEXPLICIT_ACCESS_A, - pOldSD: PSECURITY_DESCRIPTOR, - pSizeNewSD: PULONG, - pNewSD: *mut PSECURITY_DESCRIPTOR, - ) -> DWORD; - pub fn BuildSecurityDescriptorW( - pOwner: PTRUSTEE_W, - pGroup: PTRUSTEE_W, - cCountOfAccessEntries: ULONG, - pListOfAccessEntries: PEXPLICIT_ACCESS_W, - cCountOfAuditEntries: ULONG, - pListOfAuditEntries: PEXPLICIT_ACCESS_W, - pOldSD: PSECURITY_DESCRIPTOR, - pSizeNewSD: PULONG, - pNewSD: *mut PSECURITY_DESCRIPTOR, - ) -> DWORD; - pub fn LookupSecurityDescriptorPartsA( - ppOwner: *mut PTRUSTEE_A, - ppGroup: *mut PTRUSTEE_A, - pcCountOfAccessEntries: PULONG, - ppListOfAccessEntries: *mut PEXPLICIT_ACCESS_A, - pcCountOfAuditEntries: PULONG, - ppListOfAuditEntries: *mut PEXPLICIT_ACCESS_A, - pSD: PSECURITY_DESCRIPTOR, - ) -> DWORD; - pub fn LookupSecurityDescriptorPartsW( - ppOwner: *mut PTRUSTEE_W, - ppGroup: *mut PTRUSTEE_W, - pcCountOfAccessEntries: PULONG, - ppListOfAccessEntries: *mut PEXPLICIT_ACCESS_W, - pcCountOfAuditEntries: PULONG, - ppListOfAuditEntries: *mut PEXPLICIT_ACCESS_W, - pSD: PSECURITY_DESCRIPTOR, - ) -> DWORD; - pub fn BuildExplicitAccessWithNameA( - pExplicitAccess: PEXPLICIT_ACCESS_A, - pTrusteeName: LPSTR, - AccessPermissions: DWORD, - AccessMode: ACCESS_MODE, - Inheritance: DWORD, - ); - pub fn BuildExplicitAccessWithNameW( - pExplicitAccess: PEXPLICIT_ACCESS_W, - pTrusteeName: LPWSTR, - AccessPermissions: DWORD, - AccessMode: ACCESS_MODE, - Inheritance: DWORD, - ); - pub fn BuildImpersonateExplicitAccessWithNameA( - pExplicitAccess: PEXPLICIT_ACCESS_A, - pTrusteeName: LPSTR, - pTrustee: PTRUSTEE_A, - AccessPermissions: DWORD, - AccessMode: ACCESS_MODE, - Inheritance: DWORD, - ); - pub fn BuildImpersonateExplicitAccessWithNameW( - pExplicitAccess: PEXPLICIT_ACCESS_W, - pTrusteeName: LPWSTR, - pTrustee: PTRUSTEE_W, - AccessPermissions: DWORD, - AccessMode: ACCESS_MODE, - Inheritance: DWORD, - ); - pub fn BuildTrusteeWithNameA( - pTrustee: PTRUSTEE_A, - pName: LPSTR, - ); - pub fn BuildTrusteeWithNameW( - pTrustee: PTRUSTEE_W, - pName: LPWSTR, - ); - pub fn BuildImpersonateTrusteeA( - pTrustee: PTRUSTEE_A, - pImpersonateTrustee: PTRUSTEE_A, - ); - pub fn BuildImpersonateTrusteeW( - pTrustee: PTRUSTEE_W, - pImpersonateTrustee: PTRUSTEE_W, - ); - pub fn BuildTrusteeWithSidA( - pTrustee: PTRUSTEE_A, - pSid: PSID, - ); - pub fn BuildTrusteeWithSidW( - pTrustee: PTRUSTEE_W, - pSid: PSID, - ); - pub fn BuildTrusteeWithObjectsAndSidA( - pTrustee: PTRUSTEE_A, - pObjSid: POBJECTS_AND_SID, - pObjectGuid: *mut GUID, - pInheritedObjectGuid: *mut GUID, - pSid: PSID, - ); - pub fn BuildTrusteeWithObjectsAndSidW( - pTrustee: PTRUSTEE_W, - pObjSid: POBJECTS_AND_SID, - pObjectGuid: *mut GUID, - pInheritedObjectGuid: *mut GUID, - pSid: PSID, - ); - pub fn BuildTrusteeWithObjectsAndNameA( - pTrustee: PTRUSTEE_A, - pObjName: POBJECTS_AND_NAME_A, - ObjectType: SE_OBJECT_TYPE, - ObjectTypeName: LPSTR, - InheritedObjectTypeName: LPSTR, - Name: LPSTR, - ); - pub fn BuildTrusteeWithObjectsAndNameW( - pTrustee: PTRUSTEE_W, - pObjName: POBJECTS_AND_NAME_W, - ObjectType: SE_OBJECT_TYPE, - ObjectTypeName: LPWSTR, - InheritedObjectTypeName: LPWSTR, - Name: LPWSTR, - ); - pub fn GetTrusteeNameA( - pTrustee: PTRUSTEE_A, - ) -> LPSTR; - pub fn GetTrusteeNameW( - pTrustee: PTRUSTEE_W, - ) -> LPWSTR; - pub fn GetTrusteeTypeA( - pTrustee: PTRUSTEE_A, - ) -> TRUSTEE_TYPE; - pub fn GetTrusteeTypeW( - pTrustee: PTRUSTEE_W, - ) -> TRUSTEE_TYPE; - pub fn GetTrusteeFormA( - pTrustee: PTRUSTEE_A, - ) -> TRUSTEE_FORM; - pub fn GetTrusteeFormW( - pTrustee: PTRUSTEE_W, - ) -> TRUSTEE_FORM; - pub fn GetMultipleTrusteeOperationA( - pTrustee: PTRUSTEE_A, - ) -> MULTIPLE_TRUSTEE_OPERATION; - pub fn GetMultipleTrusteeOperationW( - pTrustee: PTRUSTEE_W, - ) -> MULTIPLE_TRUSTEE_OPERATION; - pub fn GetMultipleTrusteeA( - pTrustee: PTRUSTEE_A, - ) -> PTRUSTEE_A; - pub fn GetMultipleTrusteeW( - pTrustee: PTRUSTEE_W, - ) -> PTRUSTEE_W; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/appmgmt.rs b/vendor/registry-40351f815f426200/winapi/src/um/appmgmt.rs deleted file mode 100644 index 1d7b910d4..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/appmgmt.rs +++ /dev/null @@ -1,122 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::guiddef::GUID; -use shared::minwindef::{BOOL, DWORD, LPDWORD}; -use um::winnt::{LANGID, LCID, LPWSTR, WCHAR}; -ENUM!{enum INSTALLSPECTYPE { - APPNAME = 1, - FILEEXT, - PROGID, - COMCLASS, -}} -STRUCT!{struct INSTALLSPEC_APPNAME { - Name: *mut WCHAR, - GPOId: GUID, -}} -STRUCT!{struct INSTALLSPEC_COMCLASS { - Clsid: GUID, - ClsCtx: DWORD, -}} -UNION!{union INSTALLSPEC { - [u32; 5] [u64; 3], - AppName AppName_mut: INSTALLSPEC_APPNAME, - FileExt FileExt_mut: *mut WCHAR, - ProgId ProgId_mut: *mut WCHAR, - COMClass COMClass_mut: INSTALLSPEC_COMCLASS, -}} -STRUCT!{struct INSTALLDATA { - Type: INSTALLSPECTYPE, - Spec: INSTALLSPEC, -}} -pub type PINSTALLDATA = *mut INSTALLDATA; -ENUM!{enum APPSTATE { - ABSENT, - ASSIGNED, - PUBLISHED, -}} -pub const LOCALSTATE_ASSIGNED: DWORD = 0x1; -pub const LOCALSTATE_PUBLISHED: DWORD = 0x2; -pub const LOCALSTATE_UNINSTALL_UNMANAGED: DWORD = 0x4; -pub const LOCALSTATE_POLICYREMOVE_ORPHAN: DWORD = 0x8; -pub const LOCALSTATE_POLICYREMOVE_UNINSTALL: DWORD = 0x10; -pub const LOCALSTATE_ORPHANED: DWORD = 0x20; -pub const LOCALSTATE_UNINSTALLED: DWORD = 0x40; -STRUCT!{struct LOCALMANAGEDAPPLICATION { - pszDeploymentName: LPWSTR, - pszPolicyName: LPWSTR, - pszProductId: LPWSTR, - dwState: DWORD, -}} -pub type PLOCALMANAGEDAPPLICATION = *mut LOCALMANAGEDAPPLICATION; -pub const MANAGED_APPS_USERAPPLICATIONS: DWORD = 0x1; -pub const MANAGED_APPS_FROMCATEGORY: DWORD = 0x2; -pub const MANAGED_APPS_INFOLEVEL_DEFAULT: DWORD = 0x10000; -pub const MANAGED_APPTYPE_WINDOWSINSTALLER: DWORD = 0x1; -pub const MANAGED_APPTYPE_SETUPEXE: DWORD = 0x2; -pub const MANAGED_APPTYPE_UNSUPPORTED: DWORD = 0x3; -STRUCT!{struct MANAGEDAPPLICATION { - pszPackageName: LPWSTR, - pszPublisher: LPWSTR, - dwVersionHi: DWORD, - dwVersionLo: DWORD, - dwRevision: DWORD, - GpoId: GUID, - pszPolicyName: LPWSTR, - ProductId: GUID, - Language: LANGID, - pszOwner: LPWSTR, - pszCompany: LPWSTR, - pszComments: LPWSTR, - pszContact: LPWSTR, - pszSupportUrl: LPWSTR, - dwPathType: DWORD, - bInstalled: BOOL, -}} -pub type PMANAGEDAPPLICATION = *mut MANAGEDAPPLICATION; -STRUCT!{struct APPCATEGORYINFO { - Locale: LCID, - pszDescription: LPWSTR, - AppCategoryId: GUID, -}} -STRUCT!{struct APPCATEGORYINFOLIST { - cCategory: DWORD, - pCategoryInfo: *mut APPCATEGORYINFO, -}} -extern "system" { - pub fn InstallApplication( - pInstallInfo: PINSTALLDATA, - ) -> DWORD; - pub fn UninstallApplication( - ProductCode: LPWSTR, - dwStatus: DWORD, - ) -> DWORD; - pub fn CommandLineFromMsiDescriptor( - Descriptor: LPWSTR, - CommandLine: LPWSTR, - CommandLineLength: *mut DWORD, - ) -> DWORD; - pub fn GetManagedApplications( - pCategory: *mut GUID, - dwQueryFlags: DWORD, - dwInfoLevel: DWORD, - pdwApps: LPDWORD, - prgManagedApps: *mut PMANAGEDAPPLICATION, - ) -> DWORD; - pub fn GetLocalManagedApplications( - bUserApps: BOOL, - pdwApps: LPDWORD, - prgManagedApps: *mut PMANAGEDAPPLICATION, - ) -> DWORD; - pub fn GetLocalManagedApplicationData( - ProductCode: LPWSTR, - DisplayName: *mut LPWSTR, - SupportUrl: *mut LPWSTR, - ); - pub fn GetManagedApplicationCategories( - dwReserved: DWORD, - pAppCategory: *mut APPCATEGORYINFOLIST, - ) -> DWORD; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/audioclient.rs b/vendor/registry-40351f815f426200/winapi/src/um/audioclient.rs deleted file mode 100644 index 5f7b83e46..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/audioclient.rs +++ /dev/null @@ -1,172 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -//! this ALWAYS GENERATED file contains the definitions for the interfaces -use ctypes::c_float; -use shared::basetsd::{UINT32, UINT64}; -use shared::guiddef::{LPCGUID, REFIID}; -use shared::minwindef::{BYTE, DWORD, LPVOID}; -use shared::mmreg::WAVEFORMATEX; -use shared::winerror::{FACILITY_AUDCLNT, SEVERITY_ERROR, SEVERITY_SUCCESS}; -use shared::wtypesbase::SCODE; -use um::audiosessiontypes::AUDCLNT_SHAREMODE; -use um::strmif::REFERENCE_TIME; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HANDLE, HRESULT}; -//1627 -pub const AUDCLNT_E_NOT_INITIALIZED: HRESULT = AUDCLNT_ERR!(0x001); -pub const AUDCLNT_E_ALREADY_INITIALIZED: HRESULT = AUDCLNT_ERR!(0x002); -pub const AUDCLNT_E_WRONG_ENDPOINT_TYPE: HRESULT = AUDCLNT_ERR!(0x003); -pub const AUDCLNT_E_DEVICE_INVALIDATED: HRESULT = AUDCLNT_ERR!(0x004); -pub const AUDCLNT_E_NOT_STOPPED: HRESULT = AUDCLNT_ERR!(0x005); -pub const AUDCLNT_E_BUFFER_TOO_LARGE: HRESULT = AUDCLNT_ERR!(0x006); -pub const AUDCLNT_E_OUT_OF_ORDER: HRESULT = AUDCLNT_ERR!(0x007); -pub const AUDCLNT_E_UNSUPPORTED_FORMAT: HRESULT = AUDCLNT_ERR!(0x008); -pub const AUDCLNT_E_INVALID_SIZE: HRESULT = AUDCLNT_ERR!(0x009); -pub const AUDCLNT_E_DEVICE_IN_USE: HRESULT = AUDCLNT_ERR!(0x00a); -pub const AUDCLNT_E_BUFFER_OPERATION_PENDING: HRESULT = AUDCLNT_ERR!(0x00b); -pub const AUDCLNT_E_THREAD_NOT_REGISTERED: HRESULT = AUDCLNT_ERR!(0x00c); -pub const AUDCLNT_E_EXCLUSIVE_MODE_NOT_ALLOWED: HRESULT = AUDCLNT_ERR!(0x00e); -pub const AUDCLNT_E_ENDPOINT_CREATE_FAILED: HRESULT = AUDCLNT_ERR!(0x00f); -pub const AUDCLNT_E_SERVICE_NOT_RUNNING: HRESULT = AUDCLNT_ERR!(0x010); -pub const AUDCLNT_E_EVENTHANDLE_NOT_EXPECTED: HRESULT = AUDCLNT_ERR!(0x011); -pub const AUDCLNT_E_EXCLUSIVE_MODE_ONLY: HRESULT = AUDCLNT_ERR!(0x012); -pub const AUDCLNT_E_BUFDURATION_PERIOD_NOT_EQUAL: HRESULT = AUDCLNT_ERR!(0x013); -pub const AUDCLNT_E_EVENTHANDLE_NOT_SET: HRESULT = AUDCLNT_ERR!(0x014); -pub const AUDCLNT_E_INCORRECT_BUFFER_SIZE: HRESULT = AUDCLNT_ERR!(0x015); -pub const AUDCLNT_E_BUFFER_SIZE_ERROR: HRESULT = AUDCLNT_ERR!(0x016); -pub const AUDCLNT_E_CPUUSAGE_EXCEEDED: HRESULT = AUDCLNT_ERR!(0x017); -pub const AUDCLNT_E_BUFFER_ERROR: HRESULT = AUDCLNT_ERR!(0x018); -pub const AUDCLNT_E_BUFFER_SIZE_NOT_ALIGNED: HRESULT = AUDCLNT_ERR!(0x019); -pub const AUDCLNT_E_INVALID_DEVICE_PERIOD: HRESULT = AUDCLNT_ERR!(0x020); -pub const AUDCLNT_E_INVALID_STREAM_FLAG: HRESULT = AUDCLNT_ERR!(0x021); -pub const AUDCLNT_E_ENDPOINT_OFFLOAD_NOT_CAPABLE: HRESULT = AUDCLNT_ERR!(0x022); -pub const AUDCLNT_E_OUT_OF_OFFLOAD_RESOURCES: HRESULT = AUDCLNT_ERR!(0x023); -pub const AUDCLNT_E_OFFLOAD_MODE_ONLY: HRESULT = AUDCLNT_ERR!(0x024); -pub const AUDCLNT_E_NONOFFLOAD_MODE_ONLY: HRESULT = AUDCLNT_ERR!(0x025); -pub const AUDCLNT_E_RESOURCES_INVALIDATED: HRESULT = AUDCLNT_ERR!(0x026); -pub const AUDCLNT_E_RAW_MODE_UNSUPPORTED: HRESULT = AUDCLNT_ERR!(0x027); -pub const AUDCLNT_S_BUFFER_EMPTY: SCODE = AUDCLNT_SUCCESS!(0x001); -pub const AUDCLNT_S_THREAD_ALREADY_REGISTERED: SCODE = AUDCLNT_SUCCESS!(0x002); -pub const AUDCLNT_S_POSITION_STALLED: SCODE = AUDCLNT_SUCCESS!(0x003); -ENUM!{enum AUDCLNT_BUFFERFLAGS { - AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY = 0x1, - AUDCLNT_BUFFERFLAGS_SILENT = 0x2, - AUDCLNT_BUFFERFLAGS_TIMESTAMP_ERROR = 0x4, -}} -DEFINE_GUID!{IID_IAudioClient, - 0x1CB9AD4C, 0xDBFA, 0x4c32, 0xB1, 0x78, 0xC2, 0xF5, 0x68, 0xA7, 0x03, 0xB2} -DEFINE_GUID!{IID_IAudioRenderClient, - 0xF294ACFC, 0x3146, 0x4483, 0xA7, 0xBF, 0xAD, 0xDC, 0xA7, 0xC2, 0x60, 0xE2} -DEFINE_GUID!{IID_IAudioCaptureClient, - 0xc8adbd64, 0xe71e, 0x48a0, 0xa4, 0xde, 0x18, 0x5c, 0x39, 0x5c, 0xd3, 0x17} -DEFINE_GUID!{IID_IAudioClock, - 0xcd63314f, 0x3fba, 0x4a1b, 0x81, 0x2c, 0xef, 0x96, 0x35, 0x87, 0x28, 0xe7} -DEFINE_GUID!{IID_IAudioStreamVolume, - 0x93014887, 0x242d, 0x4068, 0x8a, 0x15, 0xcf, 0x5e, 0x93, 0xb9, 0x0f, 0xe3} -RIDL!{#[uuid(0x1cb9ad4c, 0xdbfa, 0x4c32, 0xb1, 0x78, 0xc2, 0xf5, 0x68, 0xa7, 0x03, 0xb2)] -interface IAudioClient(IAudioClientVtbl): IUnknown(IUnknownVtbl) { - fn Initialize( - ShareMode: AUDCLNT_SHAREMODE, - StreamFlags: DWORD, - hnsBufferDuration: REFERENCE_TIME, - hnsPeriodicity: REFERENCE_TIME, - pFormat: *const WAVEFORMATEX, - AudioSessionGuid: LPCGUID, - ) -> HRESULT, - fn GetBufferSize( - pNumBufferFrames: *mut UINT32, - ) -> HRESULT, - fn GetStreamLatency( - phnsLatency: *mut REFERENCE_TIME, - ) -> HRESULT, - fn GetCurrentPadding( - pNumPaddingFrames: *mut UINT32, - ) -> HRESULT, - fn IsFormatSupported( - ShareMode: AUDCLNT_SHAREMODE, - pFormat: *const WAVEFORMATEX, - ppClosestMatch: *mut *mut WAVEFORMATEX, - ) -> HRESULT, - fn GetMixFormat( - ppDeviceFormat: *mut *mut WAVEFORMATEX, - ) -> HRESULT, - fn GetDevicePeriod( - phnsDefaultDevicePeriod: *mut REFERENCE_TIME, - phnsMinimumDevicePeriod: *mut REFERENCE_TIME, - ) -> HRESULT, - fn Start() -> HRESULT, - fn Stop() -> HRESULT, - fn Reset() -> HRESULT, - fn SetEventHandle( - eventHandle: HANDLE, - ) -> HRESULT, - fn GetService( - riid: REFIID, - ppv: *mut LPVOID, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xf294acfc, 0x3146, 0x4483, 0xa7, 0xbf, 0xad, 0xdc, 0xa7, 0xc2, 0x60, 0xe2)] -interface IAudioRenderClient(IAudioRenderClientVtbl): IUnknown(IUnknownVtbl) { - fn GetBuffer( - NumFramesRequested: UINT32, - ppData: *mut *mut BYTE, - ) -> HRESULT, - fn ReleaseBuffer( - NumFramesWritten: UINT32, - dwFlags: DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xc8adbd64, 0xe71e, 0x48a0, 0xa4, 0xde, 0x18, 0x5c, 0x39, 0x5c, 0xd3, 0x17)] -interface IAudioCaptureClient(IAudioCaptureClientVtbl): IUnknown(IUnknownVtbl) { - fn GetBuffer( - ppData: *mut *mut BYTE, - pNumFramesToRead: *mut UINT32, - pdwFlags: *mut DWORD, - pu64DevicePosition: *mut UINT64, - pu64QPCPosition: *mut UINT64, - ) -> HRESULT, - fn ReleaseBuffer( - NumFramesRead: UINT32, - ) -> HRESULT, - fn GetNextPacketSize( - pNumFramesInNextPacket: *mut UINT32, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xcd63314f, 0x3fba, 0x4a1b, 0x81, 0x2c, 0xef, 0x96, 0x35, 0x87, 0x28, 0xe7)] -interface IAudioClock(IAudioClockVtbl): IUnknown(IUnknownVtbl) { - fn GetFrequency( - pu64Frequency: *mut UINT64, - ) -> HRESULT, - fn GetPosition( - pu64Position: *mut UINT64, - pu64QPCPosition: *mut UINT64, - ) -> HRESULT, - fn GetCharacteristics( - pdwCharacteristics: *mut DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x93014887, 0x242d, 0x4068, 0x8a, 0x15, 0xcf, 0x5e, 0x93, 0xb9, 0x0f, 0xe3)] -interface IAudioStreamVolume(IAudioStreamVolumeVtbl): IUnknown(IUnknownVtbl) { - fn GetChannelCount( - pdwCount: *mut UINT32, - ) -> HRESULT, - fn SetChannelVolume( - dwIndex: UINT32, - fLevel: c_float, - ) -> HRESULT, - fn GetChannelVolume( - dwIndex: UINT32, - pfLevel: *mut c_float, - ) -> HRESULT, - fn SetAllVolumes( - dwCount: UINT32, - pfVolumes: *const c_float, - ) -> HRESULT, - fn GetAllVolumes( - dwCount: UINT32, - pfVolumes: *mut c_float, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/audiosessiontypes.rs b/vendor/registry-40351f815f426200/winapi/src/um/audiosessiontypes.rs deleted file mode 100644 index 3c64f4244..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/audiosessiontypes.rs +++ /dev/null @@ -1,37 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::DWORD; -ENUM!{enum AUDCLNT_SHAREMODE { - AUDCLNT_SHAREMODE_SHARED, - AUDCLNT_SHAREMODE_EXCLUSIVE, -}} -ENUM!{enum AUDIO_STREAM_CATEGORY { - AudioCategory_Other = 0, - AudioCategory_ForegroundOnlyMedia = 1, - AudioCategory_BackgroundCapableMedia = 2, - AudioCategory_Communications = 3, - AudioCategory_Alerts = 4, - AudioCategory_SoundEffects = 5, - AudioCategory_GameEffects = 6, - AudioCategory_GameMedia = 7, - AudioCategory_GameChat = 8, - AudioCategory_Speech = 9, - AudioCategory_Movie = 10, - AudioCategory_Media = 11, -}} -pub const AUDCLNT_STREAMFLAGS_CROSSPROCESS: DWORD = 0x00010000; -pub const AUDCLNT_STREAMFLAGS_LOOPBACK: DWORD = 0x00020000; -pub const AUDCLNT_STREAMFLAGS_EVENTCALLBACK: DWORD = 0x00040000; -pub const AUDCLNT_STREAMFLAGS_NOPERSIST: DWORD = 0x00080000; -pub const AUDCLNT_STREAMFLAGS_RATEADJUST: DWORD = 0x00100000; -pub const AUDCLNT_SESSIONFLAGS_EXPIREWHENUNOWNED: DWORD = 0x10000000; -pub const AUDCLNT_SESSIONFLAGS_DISPLAY_HIDE: DWORD = 0x20000000; -pub const AUDCLNT_SESSIONFLAGS_DISPLAY_HIDEWHENEXPIRED: DWORD = 0x40000000; -ENUM!{enum AudioSessionState { - AudioSessionStateInactive = 0, - AudioSessionStateActive = 1, - AudioSessionStateExpired = 2, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/avrt.rs b/vendor/registry-40351f815f426200/winapi/src/um/avrt.rs deleted file mode 100644 index 62b0e9c88..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/avrt.rs +++ /dev/null @@ -1,82 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_longlong; -use shared::guiddef::GUID; -use shared::minwindef::{BOOL, LPDWORD, PULONG}; -use um::winnt::{HANDLE, LPCSTR, LPCWSTR, PHANDLE, PLARGE_INTEGER}; -ENUM!{enum AVRT_PRIORITY { - AVRT_PRIORITY_VERYLOW = -2i32 as u32, - AVRT_PRIORITY_LOW, - AVRT_PRIORITY_NORMAL = 0, - AVRT_PRIORITY_HIGH, - AVRT_PRIORITY_CRITICAL, -}} -pub const THREAD_ORDER_GROUP_INFINITE_TIMEOUT: c_longlong = -1; -extern "system" { - pub fn AvSetMmThreadCharacteristicsA( - TaskName: LPCSTR, - TaskIndex: LPDWORD, - ) -> HANDLE; - pub fn AvSetMmThreadCharacteristicsW( - TaskName: LPCWSTR, - TaskIndex: LPDWORD, - ) -> HANDLE; - pub fn AvSetMmMaxThreadCharacteristicsA( - FirstTask: LPCSTR, - SecondTask: LPCSTR, - TaskIndex: LPDWORD, - ) -> HANDLE; - pub fn AvSetMmMaxThreadCharacteristicsW( - FirstTask: LPCWSTR, - SecondTask: LPCWSTR, - TaskIndex: LPDWORD, - ) -> HANDLE; - pub fn AvRevertMmThreadCharacteristics( - avrt_handle: HANDLE, - ) -> BOOL; - pub fn AvSetMmThreadPriority( - AvrtHandle: HANDLE, - Priority: AVRT_PRIORITY, - ) -> BOOL; - pub fn AvRtCreateThreadOrderingGroup( - Context: PHANDLE, - Period: PLARGE_INTEGER, - ThreadOrderingGuid: *mut GUID, - Timeout: PLARGE_INTEGER, - ) -> BOOL; - pub fn AvRtCreateThreadOrderingGroupExA( - Context: PHANDLE, - Period: PLARGE_INTEGER, - ThreadOrderingGuid: *mut GUID, - Timeout: PLARGE_INTEGER, - TaskName: LPCSTR, - )-> BOOL; - pub fn AvRtCreateThreadOrderingGroupExW( - Context: PHANDLE, - Period: PLARGE_INTEGER, - ThreadOrderingGuid: *mut GUID, - Timeout: PLARGE_INTEGER, - TaskName: LPCWSTR, - ) -> BOOL; - pub fn AvRtJoinThreadOrderingGroup( - Context: PHANDLE, - ThreadOrderingGuid: *mut GUID, - Before: BOOL, - ) -> BOOL; - pub fn AvRtWaitOnThreadOrderingGroup( - Context: HANDLE, - ) -> BOOL; - pub fn AvRtLeaveThreadOrderingGroup( - Context: HANDLE, - ) -> BOOL; - pub fn AvRtDeleteThreadOrderingGroup( - Context: HANDLE, - ) -> BOOL; - pub fn AvQuerySystemResponsiveness( - AvrtHandle: HANDLE, - SystemResponsivenessValue: PULONG, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/bits.rs b/vendor/registry-40351f815f426200/winapi/src/um/bits.rs deleted file mode 100644 index aef603fe0..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/bits.rs +++ /dev/null @@ -1,295 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::UINT64; -use shared::guiddef::{GUID, REFGUID}; -use shared::minwindef::{BOOL, DWORD, FILETIME, ULONG}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LPCWSTR, LPWSTR, WCHAR}; -RIDL!{#[uuid(0x4991d34b, 0x80a1, 0x4291, 0x83, 0xb6, 0x33, 0x28, 0x36, 0x6b, 0x90, 0x97)] -class BackgroundCopyManager;} -pub const BG_SIZE_UNKNOWN: UINT64 = -1i64 as u64; -STRUCT!{struct BG_FILE_PROGRESS { - BytesTotal: UINT64, - BytesTransferred: UINT64, - Completed: BOOL, -}} -RIDL!{#[uuid(0x01b7bd23, 0xfb88, 0x4a77, 0x84, 0x90, 0x58, 0x91, 0xd3, 0xe4, 0x65, 0x3a)] -interface IBackgroundCopyFile(IBackgroundCopyFileVtbl): IUnknown(IUnknownVtbl) { - fn GetRemoteName( - pVal: *mut LPWSTR, - ) -> HRESULT, - fn GetLocalName( - pVal: *mut LPWSTR, - ) -> HRESULT, - fn GetProgress( - pVal: *mut BG_FILE_PROGRESS, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xca51e165, 0xc365, 0x424c, 0x8d, 0x41, 0x24, 0xaa, 0xa4, 0xff, 0x3c, 0x40)] -interface IEnumBackgroundCopyFiles(IEnumBackgroundCopyFilesVtbl): IUnknown(IUnknownVtbl) { - fn Next( - celt: ULONG, - rgelt: *mut *mut IBackgroundCopyFile, - pceltFetched: *mut ULONG, - ) -> HRESULT, - fn Skip( - celt: ULONG, - ) -> HRESULT, - fn Reset() -> HRESULT, - fn Clone( - ppenum: *mut *mut IEnumBackgroundCopyFiles, - ) -> HRESULT, - fn GetCount( - puCount: *mut ULONG, - ) -> HRESULT, -}} -ENUM!{enum BG_ERROR_CONTEXT { - BG_ERROR_CONTEXT_NONE = 0, - BG_ERROR_CONTEXT_UNKNOWN = 1, - BG_ERROR_CONTEXT_GENERAL_QUEUE_MANAGER = 2, - BG_ERROR_CONTEXT_QUEUE_MANAGER_NOTIFICATION = 3, - BG_ERROR_CONTEXT_LOCAL_FILE = 4, - BG_ERROR_CONTEXT_REMOTE_FILE = 5, - BG_ERROR_CONTEXT_GENERAL_TRANSPORT = 6, - BG_ERROR_CONTEXT_REMOTE_APPLICATION = 7, -}} -RIDL!{#[uuid(0x19c613a0, 0xfcb8, 0x4f28, 0x81, 0xae, 0x89, 0x7c, 0x3d, 0x07, 0x8f, 0x81)] -interface IBackgroundCopyError(IBackgroundCopyErrorVtbl): IUnknown(IUnknownVtbl) { - fn GetError( - pContext: *mut BG_ERROR_CONTEXT, - pCode: *mut HRESULT, - ) -> HRESULT, - fn GetFile( - pVal: *mut *mut IBackgroundCopyFile, - ) -> HRESULT, - fn GetErrorDescription( - LanguageId: DWORD, - pErrorDescription: *mut LPWSTR, - ) -> HRESULT, - fn GetErrorContextDescription( - LanguageId: DWORD, - pContextDescription: *mut LPWSTR, - ) -> HRESULT, - fn GetProtocol( - pProtocol: *mut LPWSTR, - ) -> HRESULT, -}} -STRUCT!{struct BG_FILE_INFO { - RemoteName: LPWSTR, - LocalName: LPWSTR, -}} -STRUCT!{struct BG_JOB_PROGRESS { - BytesTotal: UINT64, - BytesTransferred: UINT64, - FilesTotal: ULONG, - FilesTransferred: ULONG, -}} -STRUCT!{struct BG_JOB_TIMES { - CreationTime: FILETIME, - ModificationTime: FILETIME, - TransferCompletionTime: FILETIME, -}} -ENUM!{enum BG_JOB_PRIORITY { - BG_JOB_PRIORITY_FOREGROUND = 0, - BG_JOB_PRIORITY_HIGH = BG_JOB_PRIORITY_FOREGROUND + 1, - BG_JOB_PRIORITY_NORMAL = BG_JOB_PRIORITY_HIGH + 1, - BG_JOB_PRIORITY_LOW = BG_JOB_PRIORITY_NORMAL + 1, -}} -ENUM!{enum BG_JOB_STATE { - BG_JOB_STATE_QUEUED = 0, - BG_JOB_STATE_CONNECTING = BG_JOB_STATE_QUEUED + 1, - BG_JOB_STATE_TRANSFERRING = BG_JOB_STATE_CONNECTING + 1, - BG_JOB_STATE_SUSPENDED = BG_JOB_STATE_TRANSFERRING + 1, - BG_JOB_STATE_ERROR = BG_JOB_STATE_SUSPENDED + 1, - BG_JOB_STATE_TRANSIENT_ERROR = BG_JOB_STATE_ERROR + 1, - BG_JOB_STATE_TRANSFERRED = BG_JOB_STATE_TRANSIENT_ERROR + 1, - BG_JOB_STATE_ACKNOWLEDGED = BG_JOB_STATE_TRANSFERRED + 1, - BG_JOB_STATE_CANCELLED = BG_JOB_STATE_ACKNOWLEDGED + 1, -}} -ENUM!{enum BG_JOB_TYPE { - BG_JOB_TYPE_DOWNLOAD = 0, - BG_JOB_TYPE_UPLOAD = BG_JOB_TYPE_DOWNLOAD + 1, - BG_JOB_TYPE_UPLOAD_REPLY = BG_JOB_TYPE_UPLOAD + 1, -}} -ENUM!{enum BG_JOB_PROXY_USAGE { - BG_JOB_PROXY_USAGE_PRECONFIG = 0, - BG_JOB_PROXY_USAGE_NO_PROXY = BG_JOB_PROXY_USAGE_PRECONFIG + 1, - BG_JOB_PROXY_USAGE_OVERRIDE = BG_JOB_PROXY_USAGE_NO_PROXY + 1, - BG_JOB_PROXY_USAGE_AUTODETECT = BG_JOB_PROXY_USAGE_OVERRIDE + 1, -}} -RIDL!{#[uuid(0x37668d37, 0x507e, 0x4160, 0x93, 0x16, 0x26, 0x30, 0x6d, 0x15, 0x0b, 0x12)] -interface IBackgroundCopyJob(IBackgroundCopyJobVtbl): IUnknown(IUnknownVtbl) { - fn AddFileSet( - cFileCount: ULONG, - pFileSet: *mut BG_FILE_INFO, - ) -> HRESULT, - fn AddFile( - RemoteUrl: LPCWSTR, - LocalName: LPCWSTR, - ) -> HRESULT, - fn EnumFiles( - pErrorDescription: *mut *mut IEnumBackgroundCopyFiles, - ) -> HRESULT, - fn Suspend() -> HRESULT, - fn Resume() -> HRESULT, - fn Cancel() -> HRESULT, - fn Complete() -> HRESULT, - fn GetId( - pVal: *mut GUID, - ) -> HRESULT, - fn GetType( - pVal: *mut BG_JOB_TYPE, - ) -> HRESULT, - fn GetProgress( - pVal: *mut BG_JOB_PROGRESS, - ) -> HRESULT, - fn GetTimes( - pVal: *mut BG_JOB_TIMES, - ) -> HRESULT, - fn GetState( - pVal: *mut BG_JOB_STATE, - ) -> HRESULT, - fn GetError( - ppError: *mut *mut IBackgroundCopyError, - ) -> HRESULT, - fn GetOwner( - pVal: *mut LPWSTR, - ) -> HRESULT, - fn SetDisplayName( - Val: LPCWSTR, - ) -> HRESULT, - fn GetDisplayName( - pVal: *mut LPWSTR, - ) -> HRESULT, - fn SetDescription( - Val: LPCWSTR, - ) -> HRESULT, - fn GetDescription( - pVal: *mut LPWSTR, - ) -> HRESULT, - fn SetPriority( - Val: BG_JOB_PRIORITY, - ) -> HRESULT, - fn GetPriority( - pVal: *mut BG_JOB_PRIORITY, - ) -> HRESULT, - fn SetNotifyFlags( - Val: ULONG, - ) -> HRESULT, - fn GetNotifyFlags( - pVal: *mut ULONG, - ) -> HRESULT, - fn SetNotifyInterface( - Val: *mut IUnknown, - ) -> HRESULT, - fn GetNotifyInterface( - pVal: *mut *mut IUnknown, - ) -> HRESULT, - fn SetMinimumRetryDelay( - Seconds: ULONG, - ) -> HRESULT, - fn GetMinimumRetryDelay( - Seconds: *mut ULONG, - ) -> HRESULT, - fn SetNoProgressTimeout( - Seconds: ULONG, - ) -> HRESULT, - fn GetNoProgressTimeout( - Seconds: *mut ULONG, - ) -> HRESULT, - fn GetErrorCount( - Errors: *mut ULONG, - ) -> HRESULT, - fn SetProxySettings( - ProxyUsage: BG_JOB_PROXY_USAGE, - ProxyList: *const WCHAR, - ProxyBypassList: *const WCHAR, - ) -> HRESULT, - fn GetProxySettings( - pProxyUsage: *mut BG_JOB_PROXY_USAGE, - pProxyList: *mut LPWSTR, - pProxyBypassListpProxyList: *mut LPWSTR, - ) -> HRESULT, - fn TakeOwnership() -> HRESULT, -}} -RIDL!{#[uuid(0x1af4f612, 0x3b71, 0x466f, 0x8f, 0x58, 0x7b, 0x6f, 0x73, 0xac, 0x57, 0xad)] -interface IEnumBackgroundCopyJobs(IEnumBackgroundCopyJobsVtbl): IUnknown(IUnknownVtbl) { - fn Next( - celt: ULONG, - rgelt: *mut *mut IBackgroundCopyJob, - pceltFetched: *mut ULONG, - ) -> HRESULT, - fn Skip( - celt: ULONG, - ) -> HRESULT, - fn Reset() -> HRESULT, - fn Clone( - ppenum: *mut *mut IEnumBackgroundCopyJobs, - ) -> HRESULT, - fn GetCount( - puCount: *mut ULONG, - ) -> HRESULT, -}} -pub const BG_NOTIFY_JOB_TRANSFERRED: DWORD = 0x0001; -pub const BG_NOTIFY_JOB_ERROR: DWORD = 0x0002; -pub const BG_NOTIFY_DISABLE: DWORD = 0x0004; -pub const BG_NOTIFY_JOB_MODIFICATION: DWORD = 0x0008; -pub const BG_NOTIFY_FILE_TRANSFERRED: DWORD = 0x0010; -pub const BG_NOTIFY_FILE_RANGES_TRANSFERRED: DWORD = 0x0020; -RIDL!{#[uuid(0x97ea99c7, 0x0186, 0x4ad4, 0x8d, 0xf9, 0xc5, 0xb4, 0xe0, 0xed, 0x6b, 0x22)] -interface IBackgroundCopyCallback(IBackgroundCopyCallbackVtbl): IUnknown(IUnknownVtbl) { - fn JobTransferred( - pJob: *mut IBackgroundCopyJob, - ) -> HRESULT, - fn JobError( - pJob: *mut IBackgroundCopyJob, - pError: *mut IBackgroundCopyError, - ) -> HRESULT, - fn JobModification( - pJob: *mut IBackgroundCopyJob, - dwReserved: DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xca29d251, 0xb4bb, 0x4679, 0xa3, 0xd9, 0xae, 0x80, 0x06, 0x11, 0x9d, 0x54)] -interface AsyncIBackgroundCopyCallback(AsyncIBackgroundCopyCallbackVtbl): IUnknown(IUnknownVtbl) { - fn Begin_JobTransferred( - pJob: *mut IBackgroundCopyJob, - ) -> HRESULT, - fn Finish_JobTransferred() -> HRESULT, - fn Begin_JobError( - pJob: *mut IBackgroundCopyJob, - pError: *mut IBackgroundCopyError, - ) -> HRESULT, - fn Finish_JobError() -> HRESULT, - fn Begin_JobModification( - pJob: *mut IBackgroundCopyJob, - dwReserved: DWORD, - ) -> HRESULT, - fn Finish_JobModification() -> HRESULT, -}} -pub const BG_JOB_ENUM_ALL_USERS: DWORD = 0x0001; -RIDL!{#[uuid(0x5ce34c0d, 0x0dc9, 0x4c1f, 0x89, 0x7c, 0xda, 0xa1, 0xb7, 0x8c, 0xee, 0x7c)] -interface IBackgroundCopyManager(IBackgroundCopyManagerVtbl): IUnknown(IUnknownVtbl) { - fn CreateJob( - DisplayName: LPCWSTR, - Type: BG_JOB_TYPE, - pJobId: *mut GUID, - ppJob: *mut *mut IBackgroundCopyJob, - ) -> HRESULT, - fn GetJob( - jobID: REFGUID, - ppJob: *mut *mut IBackgroundCopyJob, - ) -> HRESULT, - fn EnumJobs( - dwFlags: DWORD, - ppEnum: *mut *mut IEnumBackgroundCopyJobs, - ) -> HRESULT, - fn GetErrorDescription( - hResult: HRESULT, - LanguageId: DWORD, - pErrorDescription: *mut LPWSTR, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/bits10_1.rs b/vendor/registry-40351f815f426200/winapi/src/um/bits10_1.rs deleted file mode 100644 index 327161a8d..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/bits10_1.rs +++ /dev/null @@ -1,37 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::UINT64; -use shared::minwindef::DWORD; -use um::bits::{IBackgroundCopyFile, IBackgroundCopyJob}; -use um::bits2_0::BG_FILE_RANGE; -use um::bits3_0::{IBackgroundCopyCallback2, IBackgroundCopyCallback2Vtbl}; -use um::bits5_0::{IBackgroundCopyFile5, IBackgroundCopyFile5Vtbl}; -use um::winnt::HRESULT; -RIDL!{#[uuid(0x98c97bd2, 0xe32b, 0x4ad8, 0xa5, 0x28, 0x95, 0xfd, 0x8b, 0x16, 0xbd, 0x42)] -interface IBackgroundCopyCallback3(IBackgroundCopyCallback3Vtbl): - IBackgroundCopyCallback2(IBackgroundCopyCallback2Vtbl) { - fn FileRangesTransferred( - job: *mut IBackgroundCopyJob, - file: *mut IBackgroundCopyFile, - rangeCount: DWORD, - ranges: *const BG_FILE_RANGE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xcf6784f7, 0xd677, 0x49fd, 0x93, 0x68, 0xcb, 0x47, 0xae, 0xe9, 0xd1, 0xad)] -interface IBackgroundCopyFile6(IBackgroundCopyFile6Vtbl): - IBackgroundCopyFile5(IBackgroundCopyFile5Vtbl) { - fn UpdateDownloadPosition( - offset: UINT64, - ) -> HRESULT, - fn RequestFileRanges( - rangeCount: DWORD, - ranges: *const BG_FILE_RANGE, - ) -> HRESULT, - fn GetFilledFileRanges( - rangeCount: *mut DWORD, - ranges: *mut *mut BG_FILE_RANGE, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/bits1_5.rs b/vendor/registry-40351f815f426200/winapi/src/um/bits1_5.rs deleted file mode 100644 index b2890e7db..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/bits1_5.rs +++ /dev/null @@ -1,70 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::UINT64; -use shared::rpcndr::byte; -use um::bits::{IBackgroundCopyJob, IBackgroundCopyJobVtbl}; -use um::winnt::{HRESULT, LPCWSTR, LPWSTR}; -STRUCT!{struct BG_JOB_REPLY_PROGRESS { - BytesTotal: UINT64, - BytesTransferred: UINT64, -}} -ENUM!{enum BG_AUTH_TARGET { - BG_AUTH_TARGET_SERVER = 1, - BG_AUTH_TARGET_PROXY = BG_AUTH_TARGET_SERVER + 1, -}} -ENUM!{enum BG_AUTH_SCHEME { - BG_AUTH_SCHEME_BASIC = 1, - BG_AUTH_SCHEME_DIGEST = BG_AUTH_SCHEME_BASIC + 1, - BG_AUTH_SCHEME_NTLM = BG_AUTH_SCHEME_DIGEST + 1, - BG_AUTH_SCHEME_NEGOTIATE = BG_AUTH_SCHEME_NTLM + 1, - BG_AUTH_SCHEME_PASSPORT = BG_AUTH_SCHEME_NEGOTIATE + 1, -}} -STRUCT!{struct BG_BASIC_CREDENTIALS { - UserName: LPWSTR, - Password: LPWSTR, -}} -UNION!{union BG_AUTH_CREDENTIALS_UNION { - [usize; 2], - Basic Basic_mut: BG_BASIC_CREDENTIALS, -}} -STRUCT!{struct BG_AUTH_CREDENTIALS { - Target: BG_AUTH_TARGET, - Scheme: BG_AUTH_SCHEME, - Credentials: BG_AUTH_CREDENTIALS_UNION, -}} -pub type PBG_AUTH_CREDENTIALS = *mut BG_AUTH_CREDENTIALS; -RIDL!{#[uuid(0x54b50739, 0x686f, 0x45eb, 0x9d, 0xff, 0xd6, 0xa9, 0xa0, 0xfa, 0xa9, 0xaf)] -interface IBackgroundCopyJob2(IBackgroundCopyJob2Vtbl): - IBackgroundCopyJob(IBackgroundCopyJobVtbl) { - fn SetNotifyCmdLine( - Program: LPCWSTR, - Parameters: LPCWSTR, - ) -> HRESULT, - fn GetNotifyCmdLine( - pProgram: *mut LPWSTR, - pParameters: *mut LPWSTR, - ) -> HRESULT, - fn GetReplyProgress( - pProgress: *mut BG_JOB_REPLY_PROGRESS, - ) -> HRESULT, - fn GetReplyData( - ppBuffer: *mut *mut byte, - pLength: *mut UINT64, - ) -> HRESULT, - fn SetReplyFileName( - ReplyFileName: LPCWSTR, - ) -> HRESULT, - fn GetReplyFileName( - pReplyFileName: *mut LPWSTR, - ) -> HRESULT, - fn SetCredentials( - credentials: *mut BG_AUTH_CREDENTIALS, - ) -> HRESULT, - fn RemoveCredentials( - Target: BG_AUTH_TARGET, - Scheme: BG_AUTH_SCHEME, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/bits2_0.rs b/vendor/registry-40351f815f426200/winapi/src/um/bits2_0.rs deleted file mode 100644 index 15e582708..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/bits2_0.rs +++ /dev/null @@ -1,51 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::UINT64; -use shared::minwindef::DWORD; -use um::bits::{IBackgroundCopyFile, IBackgroundCopyFileVtbl}; -use um::bits1_5::{IBackgroundCopyJob2, IBackgroundCopyJob2Vtbl}; -use um::winnt::{HRESULT, LPCWSTR}; -pub const BG_LENGTH_TO_EOF: UINT64 = -1i64 as u64; -STRUCT!{struct BG_FILE_RANGE { - InitialOffset: UINT64, - Length: UINT64, -}} -pub const BG_COPY_FILE_OWNER: DWORD = 1; -pub const BG_COPY_FILE_GROUP: DWORD = 2; -pub const BG_COPY_FILE_DACL: DWORD = 4; -pub const BG_COPY_FILE_SACL: DWORD = 8; -pub const BG_COPY_FILE_ALL: DWORD = 15; -RIDL!{#[uuid(0x443c8934, 0x90ff, 0x48ed, 0xbc, 0xde, 0x26, 0xf5, 0xc7, 0x45, 0x00, 0x42)] -interface IBackgroundCopyJob3(IBackgroundCopyJob3Vtbl): - IBackgroundCopyJob2(IBackgroundCopyJob2Vtbl) { - fn ReplaceRemotePrefix( - OldPrefix: LPCWSTR, - NewPrefix: LPCWSTR, - ) -> HRESULT, - fn AddFileWithRanges( - RemoteUrl: LPCWSTR, - LocalName: LPCWSTR, - RangeCount: DWORD, - Ranges: *mut BG_FILE_RANGE, - ) -> HRESULT, - fn SetFileACLFlags( - Flags: DWORD, - ) -> HRESULT, - fn GetFileACLFlags( - Flags: *mut DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x83e81b93, 0x0873, 0x474d, 0x8a, 0x8c, 0xf2, 0x01, 0x8b, 0x1a, 0x93, 0x9c)] -interface IBackgroundCopyFile2(IBackgroundCopyFile2Vtbl): - IBackgroundCopyFile(IBackgroundCopyFileVtbl) { - fn GetFileRanges( - RangeCount: *mut DWORD, - Ranges: *mut *mut BG_FILE_RANGE, - ) -> HRESULT, - fn SetRemoteName( - Val: LPCWSTR, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/bits2_5.rs b/vendor/registry-40351f815f426200/winapi/src/um/bits2_5.rs deleted file mode 100644 index 50a5b4d17..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/bits2_5.rs +++ /dev/null @@ -1,64 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::ULONG; -use shared::rpcndr::byte; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LPCWSTR, LPWSTR}; -ENUM!{enum BG_CERT_STORE_LOCATION { - BG_CERT_STORE_LOCATION_CURRENT_USER = 0, - BG_CERT_STORE_LOCATION_LOCAL_MACHINE = BG_CERT_STORE_LOCATION_CURRENT_USER + 1, - BG_CERT_STORE_LOCATION_CURRENT_SERVICE = BG_CERT_STORE_LOCATION_LOCAL_MACHINE + 1, - BG_CERT_STORE_LOCATION_SERVICES = BG_CERT_STORE_LOCATION_CURRENT_SERVICE + 1, - BG_CERT_STORE_LOCATION_USERS = BG_CERT_STORE_LOCATION_SERVICES + 1, - BG_CERT_STORE_LOCATION_CURRENT_USER_GROUP_POLICY = BG_CERT_STORE_LOCATION_USERS + 1, - BG_CERT_STORE_LOCATION_LOCAL_MACHINE_GROUP_POLICY - = BG_CERT_STORE_LOCATION_CURRENT_USER_GROUP_POLICY + 1, - BG_CERT_STORE_LOCATION_LOCAL_MACHINE_ENTERPRISE - = BG_CERT_STORE_LOCATION_LOCAL_MACHINE_GROUP_POLICY + 1, -}} -RIDL!{#[uuid(0xf1bd1079, 0x9f01, 0x4bdc, 0x80, 0x36, 0xf0, 0x9b, 0x70, 0x09, 0x50, 0x66)] -interface IBackgroundCopyJobHttpOptions(IBackgroundCopyJobHttpOptionsVtbl): - IUnknown(IUnknownVtbl) { - fn SetClientCertificateByID( - StoreLocation: BG_CERT_STORE_LOCATION, - StoreName: LPCWSTR, - pCertHashBlob: *mut byte, - ) -> HRESULT, - fn SetClientCertificateByName( - StoreLocation: BG_CERT_STORE_LOCATION, - StoreName: LPCWSTR, - SubjectName: LPCWSTR, - ) -> HRESULT, - fn RemoveClientCertificate() -> HRESULT, - fn GetClientCertificate( - pStoreLocation: *mut BG_CERT_STORE_LOCATION, - pStoreName: *mut LPWSTR, - ppCertHashBlob: *mut *mut byte, - pSubjectName: *mut LPWSTR, - ) -> HRESULT, - fn SetCustomHeaders( - RequestHeaders: LPCWSTR, - ) -> HRESULT, - fn GetCustomHeaders( - pRequestHeaders: *mut LPWSTR, - ) -> HRESULT, - fn SetSecurityFlags( - Flags: ULONG, - ) -> HRESULT, - fn GetSecurityFlags( - pFlags: *mut ULONG, - ) -> HRESULT, -}} -pub const BG_SSL_ENABLE_CRL_CHECK: ULONG = 0x0001; -pub const BG_SSL_IGNORE_CERT_CN_INVALID: ULONG = 0x0002; -pub const BG_SSL_IGNORE_CERT_DATE_INVALID: ULONG = 0x0004; -pub const BG_SSL_IGNORE_UNKNOWN_CA: ULONG = 0x0008; -pub const BG_SSL_IGNORE_CERT_WRONG_USAGE: ULONG = 0x0010; -pub const BG_HTTP_REDIRECT_POLICY_MASK: ULONG = 0x0700; -pub const BG_HTTP_REDIRECT_POLICY_ALLOW_SILENT: ULONG = 0x0000; -pub const BG_HTTP_REDIRECT_POLICY_ALLOW_REPORT: ULONG = 0x0100; -pub const BG_HTTP_REDIRECT_POLICY_DISALLOW: ULONG = 0x0200; -pub const BG_HTTP_REDIRECT_POLICY_ALLOW_HTTPS_TO_HTTP: ULONG = 0x0800; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/bits3_0.rs b/vendor/registry-40351f815f426200/winapi/src/um/bits3_0.rs deleted file mode 100644 index 478dce642..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/bits3_0.rs +++ /dev/null @@ -1,179 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::UINT64; -use shared::guiddef::{GUID, REFGUID}; -use shared::minwindef::{BOOL, DWORD, FILETIME, ULONG}; -use um::bits::{ - IBackgroundCopyCallback, IBackgroundCopyCallbackVtbl, IBackgroundCopyFile, IBackgroundCopyJob, -}; -use um::bits2_0::{ - BG_FILE_RANGE, IBackgroundCopyFile2, IBackgroundCopyFile2Vtbl, IBackgroundCopyJob3, - IBackgroundCopyJob3Vtbl, -}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LPCWSTR, LPWSTR}; -RIDL!{#[uuid(0x659cdeaf, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)] -interface IBitsPeerCacheRecord(IBitsPeerCacheRecordVtbl): IUnknown(IUnknownVtbl) { - fn GetId( - pVal: *mut GUID, - ) -> HRESULT, - fn GetOriginUrl( - pVal: *mut LPWSTR, - ) -> HRESULT, - fn GetFileSize( - pVal: *mut UINT64, - ) -> HRESULT, - fn GetFileModificationTime( - pVal: *mut FILETIME, - ) -> HRESULT, - fn GetLastAccessTime( - pVal: *mut FILETIME, - ) -> HRESULT, - fn IsFileValidated() -> HRESULT, - fn GetFileRanges( - pRangeCount: *mut DWORD, - ppRanges: *mut *mut BG_FILE_RANGE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x659cdea4, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)] -interface IEnumBitsPeerCacheRecords(IEnumBitsPeerCacheRecordsVtbl): IUnknown(IUnknownVtbl) { - fn Next( - celt: ULONG, - rgelt: *mut *mut IBitsPeerCacheRecord, - pceltFetched: *mut ULONG, - ) -> HRESULT, - fn Skip( - celt: ULONG, - ) -> HRESULT, - fn Reset() -> HRESULT, - fn Clone( - ppenum: *mut *mut IEnumBitsPeerCacheRecords, - ) -> HRESULT, - fn GetCount( - puCount: *mut ULONG, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x659cdea2, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)] -interface IBitsPeer(IBitsPeerVtbl): IUnknown(IUnknownVtbl) { - fn GetPeerName( - pName: *mut LPWSTR, - ) -> HRESULT, - fn IsAuthenticated( - pAuth: *mut BOOL, - ) -> HRESULT, - fn IsAvailable( - pOnline: *mut BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x659cdea5, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)] -interface IEnumBitsPeers(IEnumBitsPeersVtbl): IUnknown(IUnknownVtbl) { - fn Next( - celt: ULONG, - rgelt: *mut *mut IBitsPeer, - pceltFetched: *mut ULONG, - ) -> HRESULT, - fn Skip( - celt: ULONG, - ) -> HRESULT, - fn Reset() -> HRESULT, - fn Clone( - ppenum: *mut *mut IEnumBitsPeers, - ) -> HRESULT, - fn GetCount( - puCount: *mut ULONG, - ) -> HRESULT, -}} -pub const BG_ENABLE_PEERCACHING_CLIENT: DWORD = 0x0001; -pub const BG_ENABLE_PEERCACHING_SERVER: DWORD = 0x0002; -pub const BG_DISABLE_BRANCH_CACHE: DWORD = 0x0004; -RIDL!{#[uuid(0x659cdead, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)] -interface IBitsPeerCacheAdministration(IBitsPeerCacheAdministrationVtbl): IUnknown(IUnknownVtbl) { - fn GetMaximumCacheSize( - pBytes: *mut DWORD, - ) -> HRESULT, - fn SetMaximumCacheSize( - Bytes: DWORD, - ) -> HRESULT, - fn GetMaximumContentAge( - pSeconds: *mut ULONG, - ) -> HRESULT, - fn SetMaximumContentAge( - Seconds: ULONG, - ) -> HRESULT, - fn GetConfigurationFlags( - pFlags: *mut DWORD, - ) -> HRESULT, - fn SetConfigurationFlags( - Flags: DWORD, - ) -> HRESULT, - fn EnumRecords( - ppEnum: *mut *mut IEnumBitsPeerCacheRecords, - ) -> HRESULT, - fn GetRecord( - ppRecord: *mut *mut IBitsPeerCacheRecord, - ) -> HRESULT, - fn ClearRecords() -> HRESULT, - fn DeleteRecord( - id: REFGUID, - ) -> HRESULT, - fn DeleteUrl( - url: LPCWSTR, - ) -> HRESULT, - fn EnumPeers( - ppEnum: *mut *mut IEnumBitsPeers, - ) -> HRESULT, - fn ClearPeers() -> HRESULT, - fn DiscoverPeers() -> HRESULT, -}} -pub const BG_JOB_ENABLE_PEERCACHING_CLIENT: DWORD = 0x0001; -pub const BG_JOB_ENABLE_PEERCACHING_SERVER: DWORD = 0x0002; -pub const BG_JOB_DISABLE_BRANCH_CACHE: DWORD = 0x0004; -RIDL!{#[uuid(0x659cdeae, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)] -interface IBackgroundCopyJob4(IBackgroundCopyJob4Vtbl): - IBackgroundCopyJob3(IBackgroundCopyJob3Vtbl) { - fn SetPeerCachingFlags( - Flags: DWORD, - ) -> HRESULT, - fn GetPeerCachingFlags( - pFlags: *mut DWORD, - ) -> HRESULT, - fn GetOwnerIntegrityLevel( - pLevel: *mut ULONG, - ) -> HRESULT, - fn GetOwnerElevationState( - pElevated: *mut BOOL, - ) -> HRESULT, - fn SetMaximumDownloadTime( - Timeout: ULONG, - ) -> HRESULT, - fn GetMaximumDownloadTime( - pTimeout: *mut ULONG, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x659cdeaa, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)] -interface IBackgroundCopyFile3(IBackgroundCopyFile3Vtbl): - IBackgroundCopyFile2(IBackgroundCopyFile2Vtbl) { - fn GetTemporaryName( - pFilename: *mut LPWSTR, - ) -> HRESULT, - fn SetValidationState( - state: BOOL, - ) -> HRESULT, - fn GetValidationState( - pState: *mut BOOL, - ) -> HRESULT, - fn IsDownloadedFromPeer( - pVal: *mut BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x659cdeac, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)] -interface IBackgroundCopyCallback2(IBackgroundCopyCallback2Vtbl): - IBackgroundCopyCallback(IBackgroundCopyCallbackVtbl) { - fn FileTransferred( - pJob: *mut IBackgroundCopyJob, - pFile: *mut IBackgroundCopyFile, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/bits4_0.rs b/vendor/registry-40351f815f426200/winapi/src/um/bits4_0.rs deleted file mode 100644 index 2cd763a68..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/bits4_0.rs +++ /dev/null @@ -1,32 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::PUINT64; -use shared::minwindef::DWORD; -use um::bits3_0::{IBackgroundCopyFile3, IBackgroundCopyFile3Vtbl}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LPWSTR}; -RIDL!{#[uuid(0x9a2584c3, 0xf7d2, 0x457a, 0x9a, 0x5e, 0x22, 0xb6, 0x7b, 0xff, 0xc7, 0xd2)] -interface IBitsTokenOptions(IBitsTokenOptionsVtbl): IUnknown(IUnknownVtbl) { - fn SetHelperTokenFlags( - UsageFlags: DWORD, - ) -> HRESULT, - fn GetHelperTokenFlags( - pFlags: *mut DWORD, - ) -> HRESULT, - fn SetHelperToken() -> HRESULT, - fn ClearHelperToken() -> HRESULT, - fn GetHelperTokenSid( - pSid: *mut LPWSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xef7e0655, 0x7888, 0x4960, 0xb0, 0xe5, 0x73, 0x08, 0x46, 0xe0, 0x34, 0x92)] -interface IBackgroundCopyFile4(IBackgroundCopyFile4Vtbl): - IBackgroundCopyFile3(IBackgroundCopyFile3Vtbl) { - fn GetPeerDownloadStats( - pFromOrigin: PUINT64, - pFromPeers: PUINT64, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/bits5_0.rs b/vendor/registry-40351f815f426200/winapi/src/um/bits5_0.rs deleted file mode 100644 index 97166eb83..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/bits5_0.rs +++ /dev/null @@ -1,95 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::UINT64; -use shared::guiddef::GUID; -use shared::minwindef::{BOOL, DWORD}; -use um::bits1_5::BG_AUTH_TARGET; -use um::bits3_0::{IBackgroundCopyJob4, IBackgroundCopyJob4Vtbl}; -use um::bits4_0::{IBackgroundCopyFile4, IBackgroundCopyFile4Vtbl}; -use um::winnt::{HRESULT, LPWSTR}; -pub const BITS_COST_STATE_UNRESTRICTED: DWORD = 0x1; -pub const BITS_COST_STATE_CAPPED_USAGE_UNKNOWN: DWORD = 0x2; -pub const BITS_COST_STATE_BELOW_CAP: DWORD = 0x4; -pub const BITS_COST_STATE_NEAR_CAP: DWORD = 0x8; -pub const BITS_COST_STATE_OVERCAP_CHARGED: DWORD = 0x10; -pub const BITS_COST_STATE_OVERCAP_THROTTLED: DWORD = 0x20; -pub const BITS_COST_STATE_USAGE_BASED: DWORD = 0x40; -pub const BITS_COST_STATE_ROAMING: DWORD = 0x80; -pub const BITS_COST_OPTION_IGNORE_CONGESTION: DWORD = 0x80000000; -pub const BITS_COST_STATE_RESERVED: DWORD = 0x40000000; -pub const BITS_COST_STATE_TRANSFER_NOT_ROAMING: DWORD = BITS_COST_OPTION_IGNORE_CONGESTION - | BITS_COST_STATE_USAGE_BASED | BITS_COST_STATE_OVERCAP_THROTTLED - | BITS_COST_STATE_OVERCAP_CHARGED | BITS_COST_STATE_NEAR_CAP | BITS_COST_STATE_BELOW_CAP - | BITS_COST_STATE_CAPPED_USAGE_UNKNOWN | BITS_COST_STATE_UNRESTRICTED; -pub const BITS_COST_STATE_TRANSFER_NO_SURCHARGE: DWORD = BITS_COST_OPTION_IGNORE_CONGESTION - | BITS_COST_STATE_USAGE_BASED | BITS_COST_STATE_OVERCAP_THROTTLED | BITS_COST_STATE_NEAR_CAP - | BITS_COST_STATE_BELOW_CAP | BITS_COST_STATE_CAPPED_USAGE_UNKNOWN - | BITS_COST_STATE_UNRESTRICTED; -pub const BITS_COST_STATE_TRANSFER_STANDARD: DWORD = BITS_COST_OPTION_IGNORE_CONGESTION - | BITS_COST_STATE_USAGE_BASED | BITS_COST_STATE_OVERCAP_THROTTLED | BITS_COST_STATE_BELOW_CAP - | BITS_COST_STATE_CAPPED_USAGE_UNKNOWN | BITS_COST_STATE_UNRESTRICTED; -pub const BITS_COST_STATE_TRANSFER_UNRESTRICTED: DWORD = BITS_COST_OPTION_IGNORE_CONGESTION - | BITS_COST_STATE_OVERCAP_THROTTLED | BITS_COST_STATE_UNRESTRICTED; -pub const BITS_COST_STATE_TRANSFER_ALWAYS: DWORD = BITS_COST_OPTION_IGNORE_CONGESTION - | BITS_COST_STATE_ROAMING | BITS_COST_STATE_USAGE_BASED | BITS_COST_STATE_OVERCAP_THROTTLED - | BITS_COST_STATE_OVERCAP_CHARGED | BITS_COST_STATE_NEAR_CAP | BITS_COST_STATE_BELOW_CAP - | BITS_COST_STATE_CAPPED_USAGE_UNKNOWN | BITS_COST_STATE_UNRESTRICTED; -ENUM!{enum BITS_JOB_TRANSFER_POLICY { - BITS_JOB_TRANSFER_POLICY_ALWAYS = 0x800000ff, - BITS_JOB_TRANSFER_POLICY_NOT_ROAMING = 0x8000007f, - BITS_JOB_TRANSFER_POLICY_NO_SURCHARGE = 0x8000006f, - BITS_JOB_TRANSFER_POLICY_STANDARD = 0x80000067, - BITS_JOB_TRANSFER_POLICY_UNRESTRICTED = 0x80000021, -}} -ENUM!{enum BITS_JOB_PROPERTY_ID { - BITS_JOB_PROPERTY_ID_COST_FLAGS = 1, - BITS_JOB_PROPERTY_NOTIFICATION_CLSID = 2, - BITS_JOB_PROPERTY_DYNAMIC_CONTENT = 3, - BITS_JOB_PROPERTY_HIGH_PERFORMANCE = 4, - BITS_JOB_PROPERTY_MAX_DOWNLOAD_SIZE = 5, - BITS_JOB_PROPERTY_USE_STORED_CREDENTIALS = 7, - BITS_JOB_PROPERTY_MINIMUM_NOTIFICATION_INTERVAL_MS = 9, - BITS_JOB_PROPERTY_ON_DEMAND_MODE = 10, -}} -UNION!{union BITS_JOB_PROPERTY_VALUE { - [u64; 2], - Dword Dword_mut: DWORD, - ClsID ClsID_mut: GUID, - Enable Enable_mut: BOOL, - Uint64 Uint64_mut: UINT64, - Target Target_mut: BG_AUTH_TARGET, -}} -ENUM!{enum BITS_FILE_PROPERTY_ID { - BITS_FILE_PROPERTY_ID_HTTP_RESPONSE_HEADERS = 1, -}} -UNION!{union BITS_FILE_PROPERTY_VALUE { - [usize; 1], - String String_mut: LPWSTR, -}} -RIDL!{#[uuid(0xe847030c, 0xbbba, 0x4657, 0xaf, 0x6d, 0x48, 0x4a, 0xa4, 0x2b, 0xf1, 0xfe)] -interface IBackgroundCopyJob5(IBackgroundCopyJob5Vtbl): - IBackgroundCopyJob4(IBackgroundCopyJob4Vtbl) { - fn SetProperty( - PropertyId: BITS_JOB_PROPERTY_ID, - PropertyValue: BITS_JOB_PROPERTY_VALUE, - ) -> HRESULT, - fn GetProperty( - PropertyId: BITS_JOB_PROPERTY_ID, - PropertyValue: *mut BITS_JOB_PROPERTY_VALUE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x85c1657f, 0xdafc, 0x40e8, 0x88, 0x34, 0xdf, 0x18, 0xea, 0x25, 0x71, 0x7e)] -interface IBackgroundCopyFile5(IBackgroundCopyFile5Vtbl): - IBackgroundCopyFile4(IBackgroundCopyFile4Vtbl) { - fn SetProperty( - PropertyId: BITS_JOB_PROPERTY_ID, - PropertyValue: BITS_JOB_PROPERTY_VALUE, - ) -> HRESULT, - fn GetProperty( - PropertyId: BITS_JOB_PROPERTY_ID, - PropertyValue: *mut BITS_JOB_PROPERTY_VALUE, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/bitscfg.rs b/vendor/registry-40351f815f426200/winapi/src/um/bitscfg.rs deleted file mode 100644 index 3d9f46a2d..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/bitscfg.rs +++ /dev/null @@ -1,70 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_uchar, c_ulong}; -use shared::guiddef::REFIID; -use shared::wtypes::BSTR; -use um::oaidl::{IDispatch, IDispatchVtbl}; -use um::unknwnbase::IUnknown; -use um::winnt::HRESULT; -RIDL!{#[uuid(0x29cfbbf7, 0x09e4, 0x4b97, 0xb0, 0xbc, 0xf2, 0x28, 0x7e, 0x3d, 0x8e, 0xb3)] -interface IBITSExtensionSetup(IBITSExtensionSetupVtbl): IDispatch(IDispatchVtbl) { - fn EnableBITSUploads() -> HRESULT, - fn DisableBITSUploads() -> HRESULT, - fn GetCleanupTaskName( - pTaskName: *mut BSTR, - ) -> HRESULT, - fn GetCleanupTask( - riid: REFIID, - ppUnk: *mut *mut IUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xd5d2d542, 0x5503, 0x4e64, 0x8b, 0x48, 0x72, 0xef, 0x91, 0xa3, 0x2e, 0xe1)] -interface IBITSExtensionSetupFactory(IBITSExtensionSetupFactoryVtbl): IDispatch(IDispatchVtbl) { - fn GetObject( - Path: BSTR, - ppExtensionSetup: *mut *mut IBITSExtensionSetup, - ) -> HRESULT, -}} -extern "system" { - pub fn BSTR_UserSize( - pFlags: *mut c_ulong, - Offset: c_ulong, - pBstr: *mut BSTR, - ) -> c_ulong; - pub fn BSTR_UserMarshal( - pFlags: *mut c_ulong, - pBuffer: *mut c_uchar, - pBstr: *mut BSTR, - ) -> *mut c_uchar; - pub fn BSTR_UserUnmarshal( - pFlags: *mut c_ulong, - pBuffer: *mut c_uchar, - pBstr: *mut BSTR, - ) -> *mut c_uchar; - pub fn BSTR_UserFree( - pFlags: *mut c_ulong, - pBstr: *mut BSTR, - ); - pub fn BSTR_UserSize64( - pFlags: *mut c_ulong, - Offset: c_ulong, - pBstr: *mut BSTR, - ) -> c_ulong; - pub fn BSTR_UserMarshal64( - pFlags: *mut c_ulong, - pBuffer: *mut c_uchar, - pBstr: *mut BSTR, - ) -> *mut c_uchar; - pub fn BSTR_UserUnmarshal64( - pFlags: *mut c_ulong, - pBuffer: *mut c_uchar, - pBstr: *mut BSTR, - ) -> *mut c_uchar; - pub fn BSTR_UserFree64( - pFlags: *mut c_ulong, - pBstr: *mut BSTR, - ); -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/bitsmsg.rs b/vendor/registry-40351f815f426200/winapi/src/um/bitsmsg.rs deleted file mode 100644 index b7029f730..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/bitsmsg.rs +++ /dev/null @@ -1,142 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! error code definitions for the background file copier -use shared::minwindef::DWORD; -pub const BG_E_NOT_FOUND: DWORD = 0x80200001; -pub const BG_E_INVALID_STATE: DWORD = 0x80200002; -pub const BG_E_EMPTY: DWORD = 0x80200003; -pub const BG_E_FILE_NOT_AVAILABLE: DWORD = 0x80200004; -pub const BG_E_PROTOCOL_NOT_AVAILABLE: DWORD = 0x80200005; -pub const BG_S_ERROR_CONTEXT_NONE: DWORD = 0x00200006; -pub const BG_E_ERROR_CONTEXT_UNKNOWN: DWORD = 0x80200007; -pub const BG_E_ERROR_CONTEXT_GENERAL_QUEUE_MANAGER: DWORD = 0x80200008; -pub const BG_E_ERROR_CONTEXT_LOCAL_FILE: DWORD = 0x80200009; -pub const BG_E_ERROR_CONTEXT_REMOTE_FILE: DWORD = 0x8020000A; -pub const BG_E_ERROR_CONTEXT_GENERAL_TRANSPORT: DWORD = 0x8020000B; -pub const BG_E_ERROR_CONTEXT_QUEUE_MANAGER_NOTIFICATION: DWORD = 0x8020000C; -pub const BG_E_DESTINATION_LOCKED: DWORD = 0x8020000D; -pub const BG_E_VOLUME_CHANGED: DWORD = 0x8020000E; -pub const BG_E_ERROR_INFORMATION_UNAVAILABLE: DWORD = 0x8020000F; -pub const BG_E_NETWORK_DISCONNECTED: DWORD = 0x80200010; -pub const BG_E_MISSING_FILE_SIZE: DWORD = 0x80200011; -pub const BG_E_INSUFFICIENT_HTTP_SUPPORT: DWORD = 0x80200012; -pub const BG_E_INSUFFICIENT_RANGE_SUPPORT: DWORD = 0x80200013; -pub const BG_E_REMOTE_NOT_SUPPORTED: DWORD = 0x80200014; -pub const BG_E_NEW_OWNER_DIFF_MAPPING: DWORD = 0x80200015; -pub const BG_E_NEW_OWNER_NO_FILE_ACCESS: DWORD = 0x80200016; -pub const BG_S_PARTIAL_COMPLETE: DWORD = 0x00200017; -pub const BG_E_PROXY_LIST_TOO_LARGE: DWORD = 0x80200018; -pub const BG_E_PROXY_BYPASS_LIST_TOO_LARGE: DWORD = 0x80200019; -pub const BG_S_UNABLE_TO_DELETE_FILES: DWORD = 0x0020001A; -pub const BG_E_INVALID_SERVER_RESPONSE: DWORD = 0x8020001B; -pub const BG_E_TOO_MANY_FILES: DWORD = 0x8020001C; -pub const BG_E_LOCAL_FILE_CHANGED: DWORD = 0x8020001D; -pub const BG_E_ERROR_CONTEXT_REMOTE_APPLICATION: DWORD = 0x8020001E; -pub const BG_E_SESSION_NOT_FOUND: DWORD = 0x8020001F; -pub const BG_E_TOO_LARGE: DWORD = 0x80200020; -pub const BG_E_STRING_TOO_LONG: DWORD = 0x80200021; -pub const BG_E_CLIENT_SERVER_PROTOCOL_MISMATCH: DWORD = 0x80200022; -pub const BG_E_SERVER_EXECUTE_ENABLE: DWORD = 0x80200023; -pub const BG_E_NO_PROGRESS: DWORD = 0x80200024; -pub const BG_E_USERNAME_TOO_LARGE: DWORD = 0x80200025; -pub const BG_E_PASSWORD_TOO_LARGE: DWORD = 0x80200026; -pub const BG_E_INVALID_AUTH_TARGET: DWORD = 0x80200027; -pub const BG_E_INVALID_AUTH_SCHEME: DWORD = 0x80200028; -pub const BG_E_FILE_NOT_FOUND: DWORD = 0x80200029; -pub const BG_S_PROXY_CHANGED: DWORD = 0x0020002A; -pub const BG_E_INVALID_RANGE: DWORD = 0x8020002B; -pub const BG_E_OVERLAPPING_RANGES: DWORD = 0x8020002C; -pub const BG_E_CONNECT_FAILURE: DWORD = 0x8020002D; -pub const BG_E_CONNECTION_CLOSED: DWORD = 0x8020002E; -pub const BG_E_BLOCKED_BY_POLICY: DWORD = 0x8020003E; -pub const BG_E_INVALID_PROXY_INFO: DWORD = 0x8020003F; -pub const BG_E_INVALID_CREDENTIALS: DWORD = 0x80200040; -pub const BG_E_INVALID_HASH_ALGORITHM: DWORD = 0x80200041; -pub const BG_E_RECORD_DELETED: DWORD = 0x80200042; -pub const BG_E_COMMIT_IN_PROGRESS: DWORD = 0x80200043; -pub const BG_E_DISCOVERY_IN_PROGRESS: DWORD = 0x80200044; -pub const BG_E_UPNP_ERROR: DWORD = 0x80200045; -pub const BG_E_TEST_OPTION_BLOCKED_DOWNLOAD: DWORD = 0x80200046; -pub const BG_E_PEERCACHING_DISABLED: DWORD = 0x80200047; -pub const BG_E_BUSYCACHERECORD: DWORD = 0x80200048; -pub const BG_E_TOO_MANY_JOBS_PER_USER: DWORD = 0x80200049; -pub const BG_E_TOO_MANY_JOBS_PER_MACHINE: DWORD = 0x80200050; -pub const BG_E_TOO_MANY_FILES_IN_JOB: DWORD = 0x80200051; -pub const BG_E_TOO_MANY_RANGES_IN_FILE: DWORD = 0x80200052; -pub const BG_E_VALIDATION_FAILED: DWORD = 0x80200053; -pub const BG_E_MAXDOWNLOAD_TIMEOUT: DWORD = 0x80200054; -pub const BG_S_OVERRIDDEN_BY_POLICY: DWORD = 0x00200055; -pub const BG_E_TOKEN_REQUIRED: DWORD = 0x80200056; -pub const BG_E_UNKNOWN_PROPERTY_ID: DWORD = 0x80200057; -pub const BG_E_READ_ONLY_PROPERTY: DWORD = 0x80200058; -pub const BG_E_BLOCKED_BY_COST_TRANSFER_POLICY: DWORD = 0x80200059; -pub const BG_E_PROPERTY_SUPPORTED_FOR_DOWNLOAD_JOBS_ONLY: DWORD = 0x80200060; -pub const BG_E_READ_ONLY_PROPERTY_AFTER_ADDFILE: DWORD = 0x80200061; -pub const BG_E_READ_ONLY_PROPERTY_AFTER_RESUME: DWORD = 0x80200062; -pub const BG_E_MAX_DOWNLOAD_SIZE_INVALID_VALUE: DWORD = 0x80200063; -pub const BG_E_MAX_DOWNLOAD_SIZE_LIMIT_REACHED: DWORD = 0x80200064; -pub const BG_E_STANDBY_MODE: DWORD = 0x80200065; -pub const BG_E_USE_STORED_CREDENTIALS_NOT_SUPPORTED: DWORD = 0x80200066; -pub const BG_E_BLOCKED_BY_BATTERY_POLICY: DWORD = 0x80200067; -pub const BG_E_BLOCKED_BY_BATTERY_SAVER: DWORD = 0x80200068; -pub const BG_E_WATCHDOG_TIMEOUT: DWORD = 0x80200069; -pub const BG_E_APP_PACKAGE_NOT_FOUND: DWORD = 0x8020006A; -pub const BG_E_APP_PACKAGE_SCENARIO_NOT_SUPPORTED: DWORD = 0x8020006B; -pub const BG_E_DATABASE_CORRUPT: DWORD = 0x8020006C; -pub const BG_E_RANDOM_ACCESS_NOT_SUPPORTED: DWORD = 0x8020006D; -pub const BG_E_HTTP_ERROR_100: DWORD = 0x80190064; -pub const BG_E_HTTP_ERROR_101: DWORD = 0x80190065; -pub const BG_E_HTTP_ERROR_200: DWORD = 0x801900C8; -pub const BG_E_HTTP_ERROR_201: DWORD = 0x801900C9; -pub const BG_E_HTTP_ERROR_202: DWORD = 0x801900CA; -pub const BG_E_HTTP_ERROR_203: DWORD = 0x801900CB; -pub const BG_E_HTTP_ERROR_204: DWORD = 0x801900CC; -pub const BG_E_HTTP_ERROR_205: DWORD = 0x801900CD; -pub const BG_E_HTTP_ERROR_206: DWORD = 0x801900CE; -pub const BG_E_HTTP_ERROR_300: DWORD = 0x8019012C; -pub const BG_E_HTTP_ERROR_301: DWORD = 0x8019012D; -pub const BG_E_HTTP_ERROR_302: DWORD = 0x8019012E; -pub const BG_E_HTTP_ERROR_303: DWORD = 0x8019012F; -pub const BG_E_HTTP_ERROR_304: DWORD = 0x80190130; -pub const BG_E_HTTP_ERROR_305: DWORD = 0x80190131; -pub const BG_E_HTTP_ERROR_307: DWORD = 0x80190133; -pub const BG_E_HTTP_ERROR_400: DWORD = 0x80190190; -pub const BG_E_HTTP_ERROR_401: DWORD = 0x80190191; -pub const BG_E_HTTP_ERROR_402: DWORD = 0x80190192; -pub const BG_E_HTTP_ERROR_403: DWORD = 0x80190193; -pub const BG_E_HTTP_ERROR_404: DWORD = 0x80190194; -pub const BG_E_HTTP_ERROR_405: DWORD = 0x80190195; -pub const BG_E_HTTP_ERROR_406: DWORD = 0x80190196; -pub const BG_E_HTTP_ERROR_407: DWORD = 0x80190197; -pub const BG_E_HTTP_ERROR_408: DWORD = 0x80190198; -pub const BG_E_HTTP_ERROR_409: DWORD = 0x80190199; -pub const BG_E_HTTP_ERROR_410: DWORD = 0x8019019A; -pub const BG_E_HTTP_ERROR_411: DWORD = 0x8019019B; -pub const BG_E_HTTP_ERROR_412: DWORD = 0x8019019C; -pub const BG_E_HTTP_ERROR_413: DWORD = 0x8019019D; -pub const BG_E_HTTP_ERROR_414: DWORD = 0x8019019E; -pub const BG_E_HTTP_ERROR_415: DWORD = 0x8019019F; -pub const BG_E_HTTP_ERROR_416: DWORD = 0x801901A0; -pub const BG_E_HTTP_ERROR_417: DWORD = 0x801901A1; -pub const BG_E_HTTP_ERROR_449: DWORD = 0x801901C1; -pub const BG_E_HTTP_ERROR_500: DWORD = 0x801901F4; -pub const BG_E_HTTP_ERROR_501: DWORD = 0x801901F5; -pub const BG_E_HTTP_ERROR_502: DWORD = 0x801901F6; -pub const BG_E_HTTP_ERROR_503: DWORD = 0x801901F7; -pub const BG_E_HTTP_ERROR_504: DWORD = 0x801901F8; -pub const BG_E_HTTP_ERROR_505: DWORD = 0x801901F9; -pub const BITS_MC_JOB_CANCELLED: DWORD = 0x80194000; -pub const BITS_MC_FILE_DELETION_FAILED: DWORD = 0x80194001; -pub const BITS_MC_FILE_DELETION_FAILED_MORE: DWORD = 0x80194002; -pub const BITS_MC_JOB_PROPERTY_CHANGE: DWORD = 0x80194003; -pub const BITS_MC_JOB_TAKE_OWNERSHIP: DWORD = 0x80194004; -pub const BITS_MC_JOB_SCAVENGED: DWORD = 0x80194005; -pub const BITS_MC_JOB_NOTIFICATION_FAILURE: DWORD = 0x80194006; -pub const BITS_MC_STATE_FILE_CORRUPT: DWORD = 0x80194007; -pub const BITS_MC_FAILED_TO_START: DWORD = 0x80194008; -pub const BITS_MC_FATAL_IGD_ERROR: DWORD = 0x80194009; -pub const BITS_MC_PEERCACHING_PORT: DWORD = 0x8019400A; -pub const BITS_MC_WSD_PORT: DWORD = 0x8019400B; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/cfgmgr32.rs b/vendor/registry-40351f815f426200/winapi/src/um/cfgmgr32.rs deleted file mode 100644 index 2c4c7f39f..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/cfgmgr32.rs +++ /dev/null @@ -1,2077 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! user APIs for the Configuration Manager -use shared::basetsd::{DWORD_PTR, ULONG32, ULONG64, ULONG_PTR}; -use shared::cfg::PPNP_VETO_TYPE; -use shared::devpropdef::{DEVPROPKEY, DEVPROPTYPE}; -use shared::guiddef::{GUID, LPGUID}; -use shared::minwindef::{BOOL, BYTE, DWORD, MAX_PATH, PBOOL, PBYTE, PHKEY, PULONG, ULONG, WORD}; -use um::winnt::{ - ANYSIZE_ARRAY, CHAR, DWORDLONG, HANDLE, LARGE_INTEGER, LONG, LPCSTR, LPCWSTR, LPSTR, LPWSTR, - PCHAR, PCSTR, PCWSTR, PDWORDLONG, PSTR, PVOID, PWCHAR, PWSTR, ULONGLONG, VOID, WCHAR -}; -use um::winreg::REGSAM; -pub type PCVOID = *const VOID; -pub const MAX_DEVICE_ID_LEN: usize = 200; -pub const MAX_DEVNODE_ID_LEN: usize = MAX_DEVICE_ID_LEN; -pub const MAX_GUID_STRING_LEN: usize = 39; -pub const MAX_CLASS_NAME_LEN: usize = 32; -pub const MAX_PROFILE_LEN: usize = 80; -pub const MAX_CONFIG_VALUE: DWORD = 9999; -pub const MAX_INSTANCE_VALUE: DWORD = 9999; -pub const MAX_MEM_REGISTERS: DWORD = 9; -pub const MAX_IO_PORTS: DWORD = 20; -pub const MAX_IRQS: DWORD = 7; -pub const MAX_DMA_CHANNELS: DWORD = 7; -pub const DWORD_MAX: DWORD = 0xffffffff; -pub const DWORDLONG_MAX: DWORDLONG = 0xffffffffffffffff; -pub const CONFIGMG_VERSION: DWORD = 0x0400; -pub type RETURN_TYPE = DWORD; -pub type CONFIGRET = RETURN_TYPE; -pub type DEVNODE = DWORD; -pub type DEVINST = DWORD; -pub type PDEVNODE = *mut DEVNODE; -pub type PDEVINST = *mut DEVNODE; -pub type DEVNODEID_A = *mut CHAR; -pub type DEVINSTID_A = *mut CHAR; -pub type DEVNODEID_W = *mut WCHAR; -pub type DEVINSTID_W = *mut WCHAR; -pub type LOG_CONF = DWORD_PTR; -pub type PLOG_CONF = *mut LOG_CONF; -pub type RES_DES = DWORD_PTR; -pub type PRES_DES = *mut RES_DES; -pub type RESOURCEID = ULONG; -pub type PRESOURCEID = *mut RESOURCEID; -pub type PRIORITY = ULONG; -pub type PPRIORITY = *mut PRIORITY; -pub type RANGE_LIST = DWORD_PTR; -pub type PRANGE_LIST = *mut RANGE_LIST; -pub type RANGE_ELEMENT = DWORD_PTR; -pub type PRANGE_ELEMENT = *mut RANGE_ELEMENT; -pub type HMACHINE = HANDLE; -pub type PHMACHINE = *mut HMACHINE; -pub type CONFLICT_LIST = ULONG_PTR; -pub type PCONFLICT_LIST = *mut CONFLICT_LIST; -STRUCT!{struct CONFLICT_DETAILS_A { - CD_ulSize: ULONG, - CD_ulMask: ULONG, - CD_dnDevInst: DEVINST, - CD_rdResDes: RES_DES, - CD_ulFlags: ULONG, - CD_szDescription: [CHAR; MAX_PATH], -}} -pub type PCONFLICT_DETAILS_A = *mut CONFLICT_DETAILS_A; -STRUCT!{struct CONFLICT_DETAILS_W { - CD_ulSize: ULONG, - CD_ulMask: ULONG, - CD_dnDevInst: DEVINST, - CD_rdResDes: RES_DES, - CD_ulFlags: ULONG, - CD_szDescription: [WCHAR; MAX_PATH], -}} -pub type PCONFLICT_DETAILS_W = *mut CONFLICT_DETAILS_W; -pub const CM_CDMASK_DEVINST: ULONG = 0x00000001; -pub const CM_CDMASK_RESDES: ULONG = 0x00000002; -pub const CM_CDMASK_FLAGS: ULONG = 0x00000004; -pub const CM_CDMASK_DESCRIPTION: ULONG = 0x00000008; -pub const CM_CDMASK_VALID: ULONG = 0x0000000F; -pub const CM_CDFLAGS_DRIVER: ULONG = 0x00000001; -pub const CM_CDFLAGS_ROOT_OWNED: ULONG = 0x00000002; -pub const CM_CDFLAGS_RESERVED: ULONG = 0x00000004; -pub type REGDISPOSITION = ULONG; -pub const mMD_MemoryType: DWORD = 0x1; -pub const fMD_MemoryType: DWORD = mMD_MemoryType; -pub const fMD_ROM: DWORD = 0x0; -pub const fMD_RAM: DWORD = 0x1; -pub const mMD_32_24: DWORD = 0x2; -pub const fMD_32_24: DWORD = mMD_32_24; -pub const fMD_24: DWORD = 0x0; -pub const fMD_32: DWORD = 0x2; -pub const mMD_Prefetchable: DWORD = 0x4; -pub const fMD_Prefetchable: DWORD = mMD_Prefetchable; -pub const fMD_Pref: DWORD = mMD_Prefetchable; -pub const fMD_PrefetchDisallowed: DWORD = 0x0; -pub const fMD_PrefetchAllowed: DWORD = 0x4; -pub const mMD_Readable: DWORD = 0x8; -pub const fMD_Readable: DWORD = mMD_Readable; -pub const fMD_ReadAllowed: DWORD = 0x0; -pub const fMD_ReadDisallowed: DWORD = 0x8; -pub const mMD_CombinedWrite: DWORD = 0x10; -pub const fMD_CombinedWrite: DWORD = mMD_CombinedWrite; -pub const fMD_CombinedWriteDisallowed: DWORD = 0x0; -pub const fMD_CombinedWriteAllowed: DWORD = 0x10; -pub const mMD_Cacheable: DWORD = 0x20; -pub const fMD_NonCacheable: DWORD = 0x0; -pub const fMD_Cacheable: DWORD = 0x20; -pub const fMD_WINDOW_DECODE: DWORD = 0x40; -pub const fMD_MEMORY_BAR: DWORD = 0x80; -STRUCT!{#[repr(packed)] struct MEM_RANGE { - MR_Align: DWORDLONG, - MR_nBytes: ULONG, - MR_Min: DWORDLONG, - MR_Max: DWORDLONG, - MR_Flags: DWORD, - MR_Reserved: DWORD, -}} -pub type PMEM_RANGE = *mut MEM_RANGE; -STRUCT!{#[repr(packed)] struct MEM_DES { - MD_Count: DWORD, - MD_Type: DWORD, - MD_Alloc_Base: DWORDLONG, - MD_Alloc_End: DWORDLONG, - MD_Flags: DWORD, - MD_Reserved: DWORD, -}} -pub type PMEM_DES = *mut MEM_DES; -STRUCT!{#[repr(packed)] struct MEM_RESOURCE { - MEM_Header: MEM_DES, - MEM_Data: [MEM_RANGE; ANYSIZE_ARRAY], -}} -pub type PMEM_RESOURCE = *mut MEM_RESOURCE; -STRUCT!{#[repr(packed)] struct MEM_LARGE_RANGE { - MLR_Align: DWORDLONG, - MLR_nBytes: ULONGLONG, - MLR_Min: DWORDLONG, - MLR_Max: DWORDLONG, - MLR_Flags: DWORD, - MLR_Reserved: DWORD, -}} -pub type PMEM_LARGE_RANGE = *mut MEM_LARGE_RANGE; -STRUCT!{#[repr(packed)] struct MEM_LARGE_DES { - MLD_Count: DWORD, - MLD_Type: DWORD, - MLD_Alloc_Base: DWORDLONG, - MLD_Alloc_End: DWORDLONG, - MLD_Flags: DWORD, - MLD_Reserved: DWORD, -}} -pub type PMEM_LARGE_DES = *mut MEM_LARGE_DES; -STRUCT!{#[repr(packed)] struct MEM_LARGE_RESOURCE { - MEM_LARGE_Header: MEM_LARGE_DES, - MEM_LARGE_Data: [MEM_LARGE_RANGE; ANYSIZE_ARRAY], -}} -pub type PMEM_LARGE_RESOURCE = *mut MEM_LARGE_RESOURCE; -pub const fIOD_PortType: DWORD = 0x1; -pub const fIOD_Memory: DWORD = 0x0; -pub const fIOD_IO: DWORD = 0x1; -pub const fIOD_DECODE: DWORD = 0x00fc; -pub const fIOD_10_BIT_DECODE: DWORD = 0x0004; -pub const fIOD_12_BIT_DECODE: DWORD = 0x0008; -pub const fIOD_16_BIT_DECODE: DWORD = 0x0010; -pub const fIOD_POSITIVE_DECODE: DWORD = 0x0020; -pub const fIOD_PASSIVE_DECODE: DWORD = 0x0040; -pub const fIOD_WINDOW_DECODE: DWORD = 0x0080; -pub const fIOD_PORT_BAR: DWORD = 0x0100; -pub const IO_ALIAS_10_BIT_DECODE: DWORDLONG = 0x00000004; -pub const IO_ALIAS_12_BIT_DECODE: DWORDLONG = 0x00000010; -pub const IO_ALIAS_16_BIT_DECODE: DWORDLONG = 0x00000000; -pub const IO_ALIAS_POSITIVE_DECODE: DWORDLONG = 0x000000FF; -STRUCT!{#[repr(packed)] struct IO_RANGE { - IOR_Align: DWORDLONG, - IOR_nPorts: DWORD, - IOR_Min: DWORDLONG, - IOR_Max: DWORDLONG, - IOR_RangeFlags: DWORD, - IOR_Alias: DWORDLONG, -}} -pub type PIO_RANGE = *mut IO_RANGE; -STRUCT!{#[repr(packed)] struct IO_DES { - IOD_Count: DWORD, - IOD_Type: DWORD, - IOD_Alloc_Base: DWORDLONG, - IOD_Alloc_End: DWORDLONG, - IOD_DesFlags: DWORD, -}} -pub type PIO_DES = *mut IO_DES; -STRUCT!{#[repr(packed)] struct IO_RESOURCE { - IO_Header: IO_DES, - IO_Data: [IO_RANGE; ANYSIZE_ARRAY], -}} -pub type PIO_RESOURCE = *mut IO_RESOURCE; -pub const mDD_Width: ULONG = 0x3; -pub const fDD_BYTE: ULONG = 0x0; -pub const fDD_WORD: ULONG = 0x1; -pub const fDD_DWORD: ULONG = 0x2; -pub const fDD_BYTE_AND_WORD: ULONG = 0x3; -pub const mDD_BusMaster: ULONG = 0x4; -pub const fDD_NoBusMaster: ULONG = 0x0; -pub const fDD_BusMaster: ULONG = 0x4; -pub const mDD_Type: ULONG = 0x18; -pub const fDD_TypeStandard: ULONG = 0x00; -pub const fDD_TypeA: ULONG = 0x08; -pub const fDD_TypeB: ULONG = 0x10; -pub const fDD_TypeF: ULONG = 0x18; -STRUCT!{#[repr(packed)] struct DMA_RANGE { - DR_Min: ULONG, - DR_Max: ULONG, - DR_Flags: ULONG, -}} -pub type PDMA_RANGE = *mut DMA_RANGE; -STRUCT!{#[repr(packed)] struct DMA_DES { - DD_Count: DWORD, - DD_Type: DWORD, - DD_Flags: DWORD, - DD_Alloc_Chan: ULONG, -}} -pub type PDMA_DES = *mut DMA_DES; -STRUCT!{#[repr(packed)] struct DMA_RESOURCE { - DMA_Header: DMA_DES, - DMA_Data: [DMA_RANGE; ANYSIZE_ARRAY], -}} -pub type PDMA_RESOURCE = *mut DMA_RESOURCE; -pub const mIRQD_Share: ULONG = 0x1; -pub const fIRQD_Exclusive: ULONG = 0x0; -pub const fIRQD_Share: ULONG = 0x1; -pub const fIRQD_Share_Bit: ULONG = 0; -pub const fIRQD_Level_Bit: ULONG = 1; -pub const mIRQD_Edge_Level: ULONG = 0x2; -pub const fIRQD_Level: ULONG = 0x0; -pub const fIRQD_Edge: ULONG = 0x2; -STRUCT!{#[repr(packed)] struct IRQ_RANGE { - IRQR_Min: ULONG, - IRQR_Max: ULONG, - IRQR_Flags: ULONG, -}} -pub type PIRQ_RANGE = *mut IRQ_RANGE; -STRUCT!{#[repr(packed)] struct IRQ_DES_32 { - IRQD_Count: DWORD, - IRQD_Type: DWORD, - IRQD_Flags: DWORD, - IRQD_Alloc_Num: ULONG, - IRQD_Affinity: ULONG32, -}} -pub type PIRQ_DES_32 = *mut IRQ_DES_32; -STRUCT!{#[repr(packed)] struct IRQ_DES_64 { - IRQD_Count: DWORD, - IRQD_Type: DWORD, - IRQD_Flags: DWORD, - IRQD_Alloc_Num: ULONG, - IRQD_Affinity: ULONG64, -}} -pub type PIRQ_DES_64 = *mut IRQ_DES_64; -STRUCT!{#[repr(packed)] struct IRQ_RESOURCE_32 { - IRQ_Header: IRQ_DES_32, - IRQ_Data: [IRQ_RANGE; ANYSIZE_ARRAY], -}} -pub type PIRQ_RESOURCE_32 = *mut IRQ_RESOURCE_32; -STRUCT!{#[repr(packed)] struct IRQ_RESOURCE_64 { - IRQ_Header: IRQ_DES_64, - IRQ_Data: [IRQ_RANGE; ANYSIZE_ARRAY], -}} -pub type PIRQ_RESOURCE_64 = *mut IRQ_RESOURCE_64; -STRUCT!{#[repr(packed)] struct DEVPRIVATE_RANGE { - PR_Data1: DWORD, - PR_Data2: DWORD, - PR_Data3: DWORD, -}} -pub type PDEVPRIVATE_RANGE = *mut DEVPRIVATE_RANGE; -STRUCT!{#[repr(packed)] struct DEVPRIVATE_DES { - PD_Count: DWORD, - PD_Type: DWORD, - PD_Data1: DWORD, - PD_Data2: DWORD, - PD_Data3: DWORD, - PD_Flags: DWORD, -}} -pub type PDEVPRIVATE_DES = *mut DEVPRIVATE_DES; -STRUCT!{#[repr(packed)] struct DEVPRIVATE_RESOURCE { - PRV_Header: DEVPRIVATE_DES, - PRV_Data: [DEVPRIVATE_RANGE; ANYSIZE_ARRAY], -}} -pub type PDEVPRIVATE_RESOURCE = *mut DEVPRIVATE_RESOURCE; -STRUCT!{#[repr(packed)] struct CS_DES { - CSD_SignatureLength: DWORD, - CSD_LegacyDataOffset: DWORD, - CSD_LegacyDataSize: DWORD, - CSD_Flags: DWORD, - CSD_ClassGuid: GUID, - CSD_Signature: [BYTE; ANYSIZE_ARRAY], -}} -pub type PCS_DES = *mut CS_DES; -STRUCT!{#[repr(packed)] struct CS_RESOURCE { - CS_Header: CS_DES, -}} -pub type PCS_RESOURCE = *mut CS_RESOURCE; -pub const mPCD_IO_8_16: DWORD = 0x1; -pub const fPCD_IO_8: DWORD = 0x0; -pub const fPCD_IO_16: DWORD = 0x1; -pub const mPCD_MEM_8_16: DWORD = 0x2; -pub const fPCD_MEM_8: DWORD = 0x0; -pub const fPCD_MEM_16: DWORD = 0x2; -pub const mPCD_MEM_A_C: DWORD = 0xC; -pub const fPCD_MEM1_A: DWORD = 0x4; -pub const fPCD_MEM2_A: DWORD = 0x8; -pub const fPCD_IO_ZW_8: DWORD = 0x10; -pub const fPCD_IO_SRC_16: DWORD = 0x20; -pub const fPCD_IO_WS_16: DWORD = 0x40; -pub const mPCD_MEM_WS: DWORD = 0x300; -pub const fPCD_MEM_WS_ONE: DWORD = 0x100; -pub const fPCD_MEM_WS_TWO: DWORD = 0x200; -pub const fPCD_MEM_WS_THREE: DWORD = 0x300; -pub const fPCD_MEM_A: DWORD = 0x4; -pub const fPCD_ATTRIBUTES_PER_WINDOW: DWORD = 0x8000; -pub const fPCD_IO1_16: DWORD = 0x00010000; -pub const fPCD_IO1_ZW_8: DWORD = 0x00020000; -pub const fPCD_IO1_SRC_16: DWORD = 0x00040000; -pub const fPCD_IO1_WS_16: DWORD = 0x00080000; -pub const fPCD_IO2_16: DWORD = 0x00100000; -pub const fPCD_IO2_ZW_8: DWORD = 0x00200000; -pub const fPCD_IO2_SRC_16: DWORD = 0x00400000; -pub const fPCD_IO2_WS_16: DWORD = 0x00800000; -pub const mPCD_MEM1_WS: DWORD = 0x03000000; -pub const fPCD_MEM1_WS_TWO: DWORD = 0x02000000; -pub const fPCD_MEM1_WS_THREE: DWORD = 0x03000000; -pub const fPCD_MEM1_16: DWORD = 0x04000000; -pub const mPCD_MEM2_WS: DWORD = 0x30000000; -pub const fPCD_MEM2_WS_ONE: DWORD = 0x10000000; -pub const fPCD_MEM2_WS_TWO: DWORD = 0x20000000; -pub const fPCD_MEM2_WS_THREE: DWORD = 0x30000000; -pub const fPCD_MEM2_16: DWORD = 0x40000000; -pub const PCD_MAX_MEMORY: usize = 2; -pub const PCD_MAX_IO: usize = 2; -STRUCT!{#[repr(packed)] struct PCCARD_DES { - PCD_Count: DWORD, - PCD_Type: DWORD, - PCD_Flags: DWORD, - PCD_ConfigIndex: BYTE, - PCD_Reserved: [BYTE; 3], - PCD_MemoryCardBase1: DWORD, - PCD_MemoryCardBase2: DWORD, - PCD_MemoryCardBase: [DWORD; PCD_MAX_MEMORY], - PCD_MemoryFlags: [WORD; PCD_MAX_MEMORY], - PCD_IoFlags: [BYTE; PCD_MAX_IO], -}} -pub type PPCCARD_DES = *mut PCCARD_DES; -STRUCT!{#[repr(packed)] struct PCCARD_RESOURCE { - PcCard_Header: PCCARD_DES, -}} -pub type PPCCARD_RESOURCE = *mut PCCARD_RESOURCE; -pub const mPMF_AUDIO_ENABLE: DWORD = 0x8; -pub const fPMF_AUDIO_ENABLE: DWORD = 0x8; -STRUCT!{#[repr(packed)] struct MFCARD_DES { - PMF_Count: DWORD, - PMF_Type: DWORD, - PMF_Flags: DWORD, - PMF_ConfigOptions: BYTE, - PMF_IoResourceIndex: BYTE, - PMF_Reserved: [BYTE; 2], - PMF_ConfigRegisterBase: DWORD, -}} -pub type PMFCARD_DES = *mut MFCARD_DES; -STRUCT!{#[repr(packed)] struct MFCARD_RESOURCE { - MfCard_Header: MFCARD_DES, -}} -pub type PMFCARD_RESOURCE = *mut MFCARD_RESOURCE; -STRUCT!{#[repr(packed)] struct BUSNUMBER_RANGE { - BUSR_Min: ULONG, - BUSR_Max: ULONG, - BUSR_nBusNumbers: ULONG, - BUSR_Flags: ULONG, -}} -pub type PBUSNUMBER_RANGE = *mut BUSNUMBER_RANGE; -STRUCT!{#[repr(packed)] struct BUSNUMBER_DES { - BUSD_Count: DWORD, - BUSD_Type: DWORD, - BUSD_Flags: DWORD, - BUSD_Alloc_Base: ULONG, - BUSD_Alloc_End: ULONG, -}} -pub type PBUSNUMBER_DES = *mut BUSNUMBER_DES; -STRUCT!{#[repr(packed)] struct BUSNUMBER_RESOURCE { - BusNumber_Header: BUSNUMBER_DES, - BusNumber_Data: [BUSNUMBER_RANGE; ANYSIZE_ARRAY], -}} -pub type PBUSNUMBER_RESOURCE = *mut BUSNUMBER_RESOURCE; -STRUCT!{#[repr(packed)] struct CONNECTION_DES { - COND_Type: DWORD, - COND_Flags: DWORD, - COND_Class: BYTE, - COND_ClassType: BYTE, - COND_Reserved1: BYTE, - COND_Reserved2: BYTE, - COND_Id: LARGE_INTEGER, -}} -pub type PCONNECTION_DES = *mut CONNECTION_DES; -STRUCT!{#[repr(packed)] struct CONNECTION_RESOURCE { - Connection_Header: CONNECTION_DES, -}} -pub type PCONNECTION_RESOURCE = *mut CONNECTION_RESOURCE; -pub const CM_HWPI_NOT_DOCKABLE: DWORD = 0x00000000; -pub const CM_HWPI_UNDOCKED: DWORD = 0x00000001; -pub const CM_HWPI_DOCKED: DWORD = 0x00000002; -STRUCT!{#[repr(packed)] struct HWPROFILEINFO_A { - HWPI_ulHWProfile: ULONG, - HWPI_szFriendlyName: [CHAR; MAX_PROFILE_LEN], - HWPI_dwFlags: DWORD, -}} -pub type PHWPROFILEINFO_A = *mut HWPROFILEINFO_A; -STRUCT!{#[repr(packed)] struct HWPROFILEINFO_W { - HWPI_ulHWProfile: ULONG, - HWPI_szFriendlyName: [WCHAR; MAX_PROFILE_LEN], - HWPI_dwFlags: DWORD, -}} -pub type PHWPROFILEINFO_W = *mut HWPROFILEINFO_W; -pub const ResType_All: RESOURCEID = 0x00000000; -pub const ResType_None: RESOURCEID = 0x00000000; -pub const ResType_Mem: RESOURCEID = 0x00000001; -pub const ResType_IO: RESOURCEID = 0x00000002; -pub const ResType_DMA: RESOURCEID = 0x00000003; -pub const ResType_IRQ: RESOURCEID = 0x00000004; -pub const ResType_DoNotUse: RESOURCEID = 0x00000005; -pub const ResType_BusNumber: RESOURCEID = 0x00000006; -pub const ResType_MemLarge: RESOURCEID = 0x00000007; -pub const ResType_MAX: RESOURCEID = 0x00000007; -pub const ResType_Ignored_Bit: RESOURCEID = 0x00008000; -pub const ResType_ClassSpecific: RESOURCEID = 0x0000FFFF; -pub const ResType_Reserved: RESOURCEID = 0x00008000; -pub const ResType_DevicePrivate: RESOURCEID = 0x00008001; -pub const ResType_PcCardConfig: RESOURCEID = 0x00008002; -pub const ResType_MfCardConfig: RESOURCEID = 0x00008003; -pub const ResType_Connection: RESOURCEID = 0x00008004; -pub const CM_ADD_RANGE_ADDIFCONFLICT: ULONG = 0x00000000; -pub const CM_ADD_RANGE_DONOTADDIFCONFLICT: ULONG = 0x00000001; -pub const CM_ADD_RANGE_BITS: ULONG = 0x00000001; -pub const BASIC_LOG_CONF: ULONG = 0x00000000; -pub const FILTERED_LOG_CONF: ULONG = 0x00000001; -pub const ALLOC_LOG_CONF: ULONG = 0x00000002; -pub const BOOT_LOG_CONF: ULONG = 0x00000003; -pub const FORCED_LOG_CONF: ULONG = 0x00000004; -pub const OVERRIDE_LOG_CONF: ULONG = 0x00000005; -pub const NUM_LOG_CONF: ULONG = 0x00000006; -pub const LOG_CONF_BITS: ULONG = 0x00000007; -pub const PRIORITY_EQUAL_FIRST: ULONG = 0x00000008; -pub const PRIORITY_EQUAL_LAST: ULONG = 0x00000000; -pub const PRIORITY_BIT: ULONG = 0x00000008; -pub const RegDisposition_OpenAlways: REGDISPOSITION = 0x00000000; -pub const RegDisposition_OpenExisting: REGDISPOSITION = 0x00000001; -pub const RegDisposition_Bits: REGDISPOSITION = 0x00000001; -pub const CM_ADD_ID_HARDWARE: ULONG = 0x00000000; -pub const CM_ADD_ID_COMPATIBLE: ULONG = 0x00000001; -pub const CM_ADD_ID_BITS: ULONG = 0x00000001; -pub const CM_CREATE_DEVNODE_NORMAL: ULONG = 0x00000000; -pub const CM_CREATE_DEVNODE_NO_WAIT_INSTALL: ULONG = 0x00000001; -pub const CM_CREATE_DEVNODE_PHANTOM: ULONG = 0x00000002; -pub const CM_CREATE_DEVNODE_GENERATE_ID: ULONG = 0x00000004; -pub const CM_CREATE_DEVNODE_DO_NOT_INSTALL: ULONG = 0x00000008; -pub const CM_CREATE_DEVNODE_BITS: ULONG = 0x0000000F; -pub const CM_CREATE_DEVINST_NORMAL: ULONG = CM_CREATE_DEVNODE_NORMAL; -pub const CM_CREATE_DEVINST_NO_WAIT_INSTALL: ULONG = CM_CREATE_DEVNODE_NO_WAIT_INSTALL; -pub const CM_CREATE_DEVINST_PHANTOM: ULONG = CM_CREATE_DEVNODE_PHANTOM; -pub const CM_CREATE_DEVINST_GENERATE_ID: ULONG = CM_CREATE_DEVNODE_GENERATE_ID; -pub const CM_CREATE_DEVINST_DO_NOT_INSTALL: ULONG = CM_CREATE_DEVNODE_DO_NOT_INSTALL; -pub const CM_CREATE_DEVINST_BITS: ULONG = CM_CREATE_DEVNODE_BITS; -pub const CM_DELETE_CLASS_ONLY: ULONG = 0x00000000; -pub const CM_DELETE_CLASS_SUBKEYS: ULONG = 0x00000001; -pub const CM_DELETE_CLASS_INTERFACE: ULONG = 0x00000002; -pub const CM_DELETE_CLASS_BITS: ULONG = 0x00000003; -pub const CM_ENUMERATE_CLASSES_INSTALLER: ULONG = 0x00000000; -pub const CM_ENUMERATE_CLASSES_INTERFACE: ULONG = 0x00000001; -pub const CM_ENUMERATE_CLASSES_BITS: ULONG = 0x00000001; -pub const CM_DETECT_NEW_PROFILE: ULONG = 0x00000001; -pub const CM_DETECT_CRASHED: ULONG = 0x00000002; -pub const CM_DETECT_HWPROF_FIRST_BOOT: ULONG = 0x00000004; -pub const CM_DETECT_RUN: ULONG = 0x80000000; -pub const CM_DETECT_BITS: ULONG = 0x80000007; -pub const CM_DISABLE_POLITE: ULONG = 0x00000000; -pub const CM_DISABLE_ABSOLUTE: ULONG = 0x00000001; -pub const CM_DISABLE_HARDWARE: ULONG = 0x00000002; -pub const CM_DISABLE_UI_NOT_OK: ULONG = 0x00000004; -pub const CM_DISABLE_BITS: ULONG = 0x00000007; -pub const CM_GETIDLIST_FILTER_NONE: ULONG = 0x00000000; -pub const CM_GETIDLIST_FILTER_ENUMERATOR: ULONG = 0x00000001; -pub const CM_GETIDLIST_FILTER_SERVICE: ULONG = 0x00000002; -pub const CM_GETIDLIST_FILTER_EJECTRELATIONS: ULONG = 0x00000004; -pub const CM_GETIDLIST_FILTER_REMOVALRELATIONS: ULONG = 0x00000008; -pub const CM_GETIDLIST_FILTER_POWERRELATIONS: ULONG = 0x00000010; -pub const CM_GETIDLIST_FILTER_BUSRELATIONS: ULONG = 0x00000020; -pub const CM_GETIDLIST_DONOTGENERATE: ULONG = 0x10000040; -pub const CM_GETIDLIST_FILTER_TRANSPORTRELATIONS: ULONG = 0x00000080; -pub const CM_GETIDLIST_FILTER_PRESENT: ULONG = 0x00000100; -pub const CM_GETIDLIST_FILTER_CLASS: ULONG = 0x00000200; -pub const CM_GETIDLIST_FILTER_BITS: ULONG = 0x100003FF; -pub const CM_GET_DEVICE_INTERFACE_LIST_PRESENT: ULONG = 0x00000000; -pub const CM_GET_DEVICE_INTERFACE_LIST_ALL_DEVICES: ULONG = 0x00000001; -pub const CM_GET_DEVICE_INTERFACE_LIST_BITS: ULONG = 0x00000001; -pub const CM_DRP_DEVICEDESC: ULONG = 0x00000001; -pub const CM_DRP_HARDWAREID: ULONG = 0x00000002; -pub const CM_DRP_COMPATIBLEIDS: ULONG = 0x00000003; -pub const CM_DRP_UNUSED0: ULONG = 0x00000004; -pub const CM_DRP_SERVICE: ULONG = 0x00000005; -pub const CM_DRP_UNUSED1: ULONG = 0x00000006; -pub const CM_DRP_UNUSED2: ULONG = 0x00000007; -pub const CM_DRP_CLASS: ULONG = 0x00000008; -pub const CM_DRP_CLASSGUID: ULONG = 0x00000009; -pub const CM_DRP_DRIVER: ULONG = 0x0000000A; -pub const CM_DRP_CONFIGFLAGS: ULONG = 0x0000000B; -pub const CM_DRP_MFG: ULONG = 0x0000000C; -pub const CM_DRP_FRIENDLYNAME: ULONG = 0x0000000D; -pub const CM_DRP_LOCATION_INFORMATION: ULONG = 0x0000000E; -pub const CM_DRP_PHYSICAL_DEVICE_OBJECT_NAME: ULONG = 0x0000000F; -pub const CM_DRP_CAPABILITIES: ULONG = 0x00000010; -pub const CM_DRP_UI_NUMBER: ULONG = 0x00000011; -pub const CM_DRP_UPPERFILTERS: ULONG = 0x00000012; -pub const CM_CRP_UPPERFILTERS: ULONG = CM_DRP_UPPERFILTERS; -pub const CM_DRP_LOWERFILTERS: ULONG = 0x00000013; -pub const CM_CRP_LOWERFILTERS: ULONG = CM_DRP_LOWERFILTERS; -pub const CM_DRP_BUSTYPEGUID: ULONG = 0x00000014; -pub const CM_DRP_LEGACYBUSTYPE: ULONG = 0x00000015; -pub const CM_DRP_BUSNUMBER: ULONG = 0x00000016; -pub const CM_DRP_ENUMERATOR_NAME: ULONG = 0x00000017; -pub const CM_DRP_SECURITY: ULONG = 0x00000018; -pub const CM_CRP_SECURITY: ULONG = CM_DRP_SECURITY; -pub const CM_DRP_SECURITY_SDS: ULONG = 0x00000019; -pub const CM_CRP_SECURITY_SDS: ULONG = CM_DRP_SECURITY_SDS; -pub const CM_DRP_DEVTYPE: ULONG = 0x0000001A; -pub const CM_CRP_DEVTYPE: ULONG = CM_DRP_DEVTYPE; -pub const CM_DRP_EXCLUSIVE: ULONG = 0x0000001B; -pub const CM_CRP_EXCLUSIVE: ULONG = CM_DRP_EXCLUSIVE; -pub const CM_DRP_CHARACTERISTICS: ULONG = 0x0000001C; -pub const CM_CRP_CHARACTERISTICS: ULONG = CM_DRP_CHARACTERISTICS; -pub const CM_DRP_ADDRESS: ULONG = 0x0000001D; -pub const CM_DRP_UI_NUMBER_DESC_FORMAT: ULONG = 0x0000001E; -pub const CM_DRP_DEVICE_POWER_DATA: ULONG = 0x0000001F; -pub const CM_DRP_REMOVAL_POLICY: ULONG = 0x00000020; -pub const CM_DRP_REMOVAL_POLICY_HW_DEFAULT: ULONG = 0x00000021; -pub const CM_DRP_REMOVAL_POLICY_OVERRIDE: ULONG = 0x00000022; -pub const CM_DRP_INSTALL_STATE: ULONG = 0x00000023; -pub const CM_DRP_LOCATION_PATHS: ULONG = 0x00000024; -pub const CM_DRP_BASE_CONTAINERID: ULONG = 0x00000025; -pub const CM_DRP_MIN: ULONG = 0x00000001; -pub const CM_CRP_MIN: ULONG = CM_DRP_MIN; -pub const CM_DRP_MAX: ULONG = 0x00000025; -pub const CM_CRP_MAX: ULONG = CM_DRP_MAX; -pub const CM_DEVCAP_LOCKSUPPORTED: ULONG = 0x00000001; -pub const CM_DEVCAP_EJECTSUPPORTED: ULONG = 0x00000002; -pub const CM_DEVCAP_REMOVABLE: ULONG = 0x00000004; -pub const CM_DEVCAP_DOCKDEVICE: ULONG = 0x00000008; -pub const CM_DEVCAP_UNIQUEID: ULONG = 0x00000010; -pub const CM_DEVCAP_SILENTINSTALL: ULONG = 0x00000020; -pub const CM_DEVCAP_RAWDEVICEOK: ULONG = 0x00000040; -pub const CM_DEVCAP_SURPRISEREMOVALOK: ULONG = 0x00000080; -pub const CM_DEVCAP_HARDWAREDISABLED: ULONG = 0x00000100; -pub const CM_DEVCAP_NONDYNAMIC: ULONG = 0x00000200; -pub const CM_REMOVAL_POLICY_EXPECT_NO_REMOVAL: ULONG = 1; -pub const CM_REMOVAL_POLICY_EXPECT_ORDERLY_REMOVAL: ULONG = 2; -pub const CM_REMOVAL_POLICY_EXPECT_SURPRISE_REMOVAL: ULONG = 3; -pub const CM_INSTALL_STATE_INSTALLED: ULONG = 0; -pub const CM_INSTALL_STATE_NEEDS_REINSTALL: ULONG = 1; -pub const CM_INSTALL_STATE_FAILED_INSTALL: ULONG = 2; -pub const CM_INSTALL_STATE_FINISH_INSTALL: ULONG = 3; -pub const CM_LOCATE_DEVNODE_NORMAL: ULONG = 0x00000000; -pub const CM_LOCATE_DEVNODE_PHANTOM: ULONG = 0x00000001; -pub const CM_LOCATE_DEVNODE_CANCELREMOVE: ULONG = 0x00000002; -pub const CM_LOCATE_DEVNODE_NOVALIDATION: ULONG = 0x00000004; -pub const CM_LOCATE_DEVNODE_BITS: ULONG = 0x00000007; -pub const CM_LOCATE_DEVINST_NORMAL: ULONG = CM_LOCATE_DEVNODE_NORMAL; -pub const CM_LOCATE_DEVINST_PHANTOM: ULONG = CM_LOCATE_DEVNODE_PHANTOM; -pub const CM_LOCATE_DEVINST_CANCELREMOVE: ULONG = CM_LOCATE_DEVNODE_CANCELREMOVE; -pub const CM_LOCATE_DEVINST_NOVALIDATION: ULONG = CM_LOCATE_DEVNODE_NOVALIDATION; -pub const CM_LOCATE_DEVINST_BITS: ULONG = CM_LOCATE_DEVNODE_BITS; -pub const CM_OPEN_CLASS_KEY_INSTALLER: ULONG = 0x00000000; -pub const CM_OPEN_CLASS_KEY_INTERFACE: ULONG = 0x00000001; -pub const CM_OPEN_CLASS_KEY_BITS: ULONG = 0x00000001; -pub const CM_REMOVE_UI_OK: ULONG = 0x00000000; -pub const CM_REMOVE_UI_NOT_OK: ULONG = 0x00000001; -pub const CM_REMOVE_NO_RESTART: ULONG = 0x00000002; -pub const CM_REMOVE_BITS: ULONG = 0x00000003; -pub const CM_QUERY_REMOVE_UI_OK: ULONG = CM_REMOVE_UI_OK; -pub const CM_QUERY_REMOVE_UI_NOT_OK: ULONG = CM_REMOVE_UI_NOT_OK; -pub const CM_QUERY_REMOVE_BITS: ULONG = CM_QUERY_REMOVE_UI_OK | CM_QUERY_REMOVE_UI_NOT_OK; -pub const CM_REENUMERATE_NORMAL: ULONG = 0x00000000; -pub const CM_REENUMERATE_SYNCHRONOUS: ULONG = 0x00000001; -pub const CM_REENUMERATE_RETRY_INSTALLATION: ULONG = 0x00000002; -pub const CM_REENUMERATE_ASYNCHRONOUS: ULONG = 0x00000004; -pub const CM_REENUMERATE_BITS: ULONG = 0x00000007; -pub const CM_REGISTER_DEVICE_DRIVER_STATIC: ULONG = 0x00000000; -pub const CM_REGISTER_DEVICE_DRIVER_DISABLEABLE: ULONG = 0x00000001; -pub const CM_REGISTER_DEVICE_DRIVER_REMOVABLE: ULONG = 0x00000002; -pub const CM_REGISTER_DEVICE_DRIVER_BITS: ULONG = 0x00000003; -pub const CM_REGISTRY_HARDWARE: ULONG = 0x00000000; -pub const CM_REGISTRY_SOFTWARE: ULONG = 0x00000001; -pub const CM_REGISTRY_USER: ULONG = 0x00000100; -pub const CM_REGISTRY_CONFIG: ULONG = 0x00000200; -pub const CM_REGISTRY_BITS: ULONG = 0x00000301; -pub const CM_SET_DEVNODE_PROBLEM_NORMAL: ULONG = 0x00000000; -pub const CM_SET_DEVNODE_PROBLEM_OVERRIDE: ULONG = 0x00000001; -pub const CM_SET_DEVNODE_PROBLEM_BITS: ULONG = 0x00000001; -pub const CM_SET_DEVINST_PROBLEM_NORMAL: ULONG = CM_SET_DEVNODE_PROBLEM_NORMAL; -pub const CM_SET_DEVINST_PROBLEM_OVERRIDE: ULONG = CM_SET_DEVNODE_PROBLEM_OVERRIDE; -pub const CM_SET_DEVINST_PROBLEM_BITS: ULONG = CM_SET_DEVNODE_PROBLEM_BITS; -pub const CM_SET_HW_PROF_FLAGS_UI_NOT_OK: ULONG = 0x00000001; -pub const CM_SET_HW_PROF_FLAGS_BITS: ULONG = 0x00000001; -pub const CM_SETUP_DEVNODE_READY: ULONG = 0x00000000; -pub const CM_SETUP_DEVINST_READY: ULONG = CM_SETUP_DEVNODE_READY; -pub const CM_SETUP_DOWNLOAD: ULONG = 0x00000001; -pub const CM_SETUP_WRITE_LOG_CONFS: ULONG = 0x00000002; -pub const CM_SETUP_PROP_CHANGE: ULONG = 0x00000003; -pub const CM_SETUP_DEVNODE_RESET: ULONG = 0x00000004; -pub const CM_SETUP_DEVINST_RESET: ULONG = CM_SETUP_DEVNODE_RESET; -pub const CM_SETUP_DEVNODE_CONFIG: ULONG = 0x00000005; -pub const CM_SETUP_DEVINST_CONFIG: ULONG = CM_SETUP_DEVNODE_CONFIG; -pub const CM_SETUP_DEVNODE_CONFIG_CLASS: ULONG = 0x00000006; -pub const CM_SETUP_DEVINST_CONFIG_CLASS: ULONG = CM_SETUP_DEVNODE_CONFIG_CLASS; -pub const CM_SETUP_DEVNODE_CONFIG_EXTENSIONS: ULONG = 0x00000007; -pub const CM_SETUP_DEVINST_CONFIG_EXTENSIONS: ULONG = CM_SETUP_DEVNODE_CONFIG_EXTENSIONS; -pub const CM_SETUP_BITS: ULONG = 0x00000007; -pub const CM_QUERY_ARBITRATOR_RAW: ULONG = 0x00000000; -pub const CM_QUERY_ARBITRATOR_TRANSLATED: ULONG = 0x00000001; -pub const CM_QUERY_ARBITRATOR_BITS: ULONG = 0x00000001; -pub const CM_CUSTOMDEVPROP_MERGE_MULTISZ: ULONG = 0x00000001; -pub const CM_CUSTOMDEVPROP_BITS: ULONG = 0x00000001; -pub const CM_NAME_ATTRIBUTE_NAME_RETRIEVED_FROM_DEVICE: ULONG = 0x1; -pub const CM_NAME_ATTRIBUTE_USER_ASSIGNED_NAME: ULONG = 0x2; -pub const CM_CLASS_PROPERTY_INSTALLER: ULONG = 0x00000000; -pub const CM_CLASS_PROPERTY_INTERFACE: ULONG = 0x00000001; -pub const CM_CLASS_PROPERTY_BITS: ULONG = 0x00000001; -DECLARE_HANDLE!{HCMNOTIFICATION, HCMNOTIFICATION__} -pub type PHCMNOTIFICATION = *mut HCMNOTIFICATION; -pub const CM_NOTIFY_FILTER_FLAG_ALL_INTERFACE_CLASSES: ULONG = 0x00000001; -pub const CM_NOTIFY_FILTER_FLAG_ALL_DEVICE_INSTANCES: ULONG = 0x00000002; -pub const CM_NOTIFY_FILTER_VALID_FLAGS: ULONG = CM_NOTIFY_FILTER_FLAG_ALL_INTERFACE_CLASSES - | CM_NOTIFY_FILTER_FLAG_ALL_DEVICE_INSTANCES; -ENUM!{enum CM_NOTIFY_FILTER_TYPE { - CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE = 0, - CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE, - CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE, - CM_NOTIFY_FILTER_TYPE_MAX, -}} -pub type PCM_NOTIFY_FILTER_TYPE = *mut CM_NOTIFY_FILTER_TYPE; -STRUCT!{struct CM_NOTIFY_FILTER_DeviceInterface { - ClassGuid: GUID, -}} -STRUCT!{struct CM_NOTIFY_FILTER_DeviceHandle { - hTarget: HANDLE, -}} -STRUCT!{struct CM_NOTIFY_FILTER_DeviceInstance { - InstanceId: [WCHAR; MAX_DEVICE_ID_LEN], -}} -UNION!{union CM_NOTIFY_FILTER_u { - [u32; 100] [u64; 50], - DeviceInterface DeviceInterface_mut: CM_NOTIFY_FILTER_DeviceInterface, - DeviceHandle DeviceHandle_mut: CM_NOTIFY_FILTER_DeviceHandle, - DeviceInstance DeviceInstance_mut: CM_NOTIFY_FILTER_DeviceInstance, -}} -STRUCT!{struct CM_NOTIFY_FILTER { - cbSize: DWORD, - Flags: DWORD, - FilterType: CM_NOTIFY_FILTER_TYPE, - Reserved: DWORD, - u: CM_NOTIFY_FILTER_u, -}} -pub type PCM_NOTIFY_FILTER = *mut CM_NOTIFY_FILTER; -ENUM!{enum CM_NOTIFY_ACTION { - CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL = 0, - CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL, - CM_NOTIFY_ACTION_DEVICEQUERYREMOVE, - CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED, - CM_NOTIFY_ACTION_DEVICEREMOVEPENDING, - CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE, - CM_NOTIFY_ACTION_DEVICECUSTOMEVENT, - CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED, - CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED, - CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED, - CM_NOTIFY_ACTION_MAX, -}} -pub type PCM_NOTIFY_ACTION = *mut CM_NOTIFY_ACTION; -STRUCT!{struct CM_NOTIFY_EVENT_DATA_DeviceInterface { - ClassGuid: GUID, - SymbolicLink: [WCHAR; ANYSIZE_ARRAY], -}} -STRUCT!{struct CM_NOTIFY_EVENT_DATA_DeviceHandle { - EventGuid: GUID, - NameOffset: LONG, - DataSize: DWORD, - Data: [BYTE; ANYSIZE_ARRAY], -}} -STRUCT!{struct CM_NOTIFY_EVENT_DATA_DeviceInstance { - InstanceId: [WCHAR; ANYSIZE_ARRAY], -}} -UNION!{union CM_NOTIFY_EVENT_DATA_u { - [u32; 7], - DeviceInterface DeviceInterface_mut: CM_NOTIFY_EVENT_DATA_DeviceInterface, - DeviceHandle DeviceHandle_mut: CM_NOTIFY_EVENT_DATA_DeviceHandle, - DeviceInstance DeviceInstance_mut: CM_NOTIFY_EVENT_DATA_DeviceInstance, -}} -STRUCT!{struct CM_NOTIFY_EVENT_DATA { - FilterType: CM_NOTIFY_FILTER_TYPE, - Reserved: DWORD, - u: CM_NOTIFY_EVENT_DATA_u, -}} -pub type PCM_NOTIFY_EVENT_DATA = *mut CM_NOTIFY_EVENT_DATA; -FN!{stdcall PCM_NOTIFY_CALLBACK( - hNotify: HCMNOTIFICATION, - Context: PVOID, - Action: CM_NOTIFY_ACTION, - EventData: PCM_NOTIFY_EVENT_DATA, - EventDataSize: DWORD, -) -> DWORD} -extern "system" { - pub fn CM_Add_Empty_Log_Conf( - plcLogConf: PLOG_CONF, - dnDevInst: DEVINST, - Priority: PRIORITY, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Add_Empty_Log_Conf_Ex( - plcLogConf: PLOG_CONF, - dnDevInst: DEVINST, - Priority: PRIORITY, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Add_IDA( - dnDevInst: DEVINST, - pszID: PSTR, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Add_IDW( - dnDevInst: DEVINST, - pszID: PWSTR, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Add_ID_ExA( - dnDevInst: DEVINST, - pszID: PSTR, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Add_ID_ExW( - dnDevInst: DEVINST, - pszID: PWSTR, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Add_Range( - ullStartValue: DWORDLONG, - ullEndValue: DWORDLONG, - rlh: RANGE_LIST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Add_Res_Des( - prdResDes: PRES_DES, - lcLogConf: LOG_CONF, - ResourceID: RESOURCEID, - ResourceData: PCVOID, - ResourceLen: ULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Add_Res_Des_Ex( - prdResDes: PRES_DES, - lcLogConf: LOG_CONF, - ResourceID: RESOURCEID, - ResourceData: PCVOID, - ResourceLen: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Connect_MachineA( - UNCServerName: PCSTR, - phMachine: PHMACHINE, - ) -> CONFIGRET; - pub fn CM_Connect_MachineW( - UNCServerName: PCWSTR, - phMachine: PHMACHINE, - ) -> CONFIGRET; - pub fn CM_Create_DevNodeA( - pdnDevInst: PDEVINST, - pDeviceID: DEVINSTID_A, - dnParent: DEVINST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Create_DevNodeW( - pdnDevInst: PDEVINST, - pDeviceID: DEVINSTID_W, - dnParent: DEVINST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Create_DevNode_ExA( - pdnDevInst: PDEVINST, - pDeviceID: DEVINSTID_A, - dnParent: DEVINST, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Create_DevNode_ExW( - pdnDevInst: PDEVINST, - pDeviceID: DEVINSTID_W, - dnParent: DEVINST, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Create_Range_List( - prlh: PRANGE_LIST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Delete_Class_Key( - ClassGuid: LPGUID, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Delete_Class_Key_Ex( - ClassGuid: LPGUID, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Delete_DevNode_Key( - dnDevNode: DEVNODE, - ulHardwareProfile: ULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Delete_DevNode_Key_Ex( - dnDevNode: DEVNODE, - ulHardwareProfile: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Delete_Range( - ullStartValue: DWORDLONG, - ullEndValue: DWORDLONG, - rlh: RANGE_LIST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Detect_Resource_Conflict( - dnDevInst: DEVINST, - ResourceID: RESOURCEID, - ResourceData: PCVOID, - ResourceLen: ULONG, - pbConflictDetected: PBOOL, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Detect_Resource_Conflict_Ex( - dnDevInst: DEVINST, - ResourceID: RESOURCEID, - ResourceData: PCVOID, - ResourceLen: ULONG, - pbConflictDetected: PBOOL, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Disable_DevNode( - dnDevInst: DEVINST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Disable_DevNode_Ex( - dnDevInst: DEVINST, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Disconnect_Machine( - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Dup_Range_List( - rlhOld: RANGE_LIST, - rlhNew: RANGE_LIST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Enable_DevNode( - dnDevInst: DEVINST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Enable_DevNode_Ex( - dnDevInst: DEVINST, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Enumerate_Classes( - ulClassIndex: ULONG, - ClassGuid: LPGUID, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Enumerate_Classes_Ex( - ulClassIndex: ULONG, - ClassGuid: LPGUID, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Enumerate_EnumeratorsA( - ulEnumIndex: ULONG, - Buffer: PSTR, - pulLength: PULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Enumerate_EnumeratorsW( - ulEnumIndex: ULONG, - Buffer: PWSTR, - pulLength: PULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Enumerate_Enumerators_ExA( - ulEnumIndex: ULONG, - Buffer: PSTR, - pulLength: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Enumerate_Enumerators_ExW( - ulEnumIndex: ULONG, - Buffer: PWSTR, - pulLength: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Find_Range( - pullStart: PDWORDLONG, - ullStart: DWORDLONG, - ulLength: ULONG, - ullAlignment: DWORDLONG, - ullEnd: DWORDLONG, - rlh: RANGE_LIST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_First_Range( - rlh: RANGE_LIST, - pullStart: PDWORDLONG, - pullEnd: PDWORDLONG, - preElement: PRANGE_LIST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Free_Log_Conf( - lcLogConfToBeFreed: LOG_CONF, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Free_Log_Conf_Ex( - lcLogConfToBeFreed: LOG_CONF, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Free_Log_Conf_Handle( - lcLogConf: LOG_CONF, - ) -> CONFIGRET; - pub fn CM_Free_Range_List( - rlh: RANGE_LIST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Free_Res_Des( - prdResDes: PRES_DES, - rdResDes: RES_DES, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Free_Res_Des_Ex( - prdResDes: PRES_DES, - rdResDes: RES_DES, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Free_Res_Des_Handle( - rdResDes: RES_DES, - ) -> CONFIGRET; - pub fn CM_Get_Child( - pdnDevInst: PDEVINST, - dnDevInst: DEVINST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Child_Ex( - pdnDevInst: PDEVINST, - dnDevInst: DEVINST, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Class_Key_NameA( - ClassGuid: LPGUID, - pszKeyName: LPSTR, - pulLength: PULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Class_Key_NameW( - ClassGuid: LPGUID, - pszKeyName: LPWSTR, - pulLength: PULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Class_Key_Name_ExA( - ClassGuid: LPGUID, - pszKeyName: LPSTR, - pulLength: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Class_Key_Name_ExW( - ClassGuid: LPGUID, - pszKeyName: LPWSTR, - pulLength: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Class_NameA( - ClassGuid: LPGUID, - Buffer: PSTR, - pulLength: PULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Class_NameW( - ClassGuid: LPGUID, - Buffer: PWSTR, - pulLength: PULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Class_Name_ExA( - ClassGuid: LPGUID, - Buffer: PSTR, - pulLength: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Class_Name_ExW( - ClassGuid: LPGUID, - Buffer: PWSTR, - pulLength: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Depth( - pulDepth: PULONG, - dnDevInst: DEVINST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Depth_Ex( - pulDepth: PULONG, - dnDevInst: DEVINST, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Device_IDA( - dnDevInst: DEVINST, - Buffer: PSTR, - BufferLen: ULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Device_IDW( - dnDevInst: DEVINST, - Buffer: PWSTR, - BufferLen: ULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Device_ID_ExA( - dnDevInst: DEVINST, - Buffer: PSTR, - BufferLen: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Device_ID_ExW( - dnDevInst: DEVINST, - Buffer: PWSTR, - BufferLen: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Device_ID_ListA( - pszFilter: PCSTR, - Buffer: PCHAR, - BufferLen: ULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Device_ID_ListW( - pszFilter: PCWSTR, - Buffer: PWCHAR, - BufferLen: ULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Device_ID_List_ExA( - pszFilter: PCSTR, - Buffer: PCHAR, - BufferLen: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Device_ID_List_ExW( - pszFilter: PCWSTR, - Buffer: PWCHAR, - BufferLen: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Device_ID_List_SizeA( - pulLen: PULONG, - pszFilter: PCSTR, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Device_ID_List_SizeW( - pulLen: PULONG, - pszFilter: PCWSTR, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Device_ID_List_Size_ExA( - pulLen: PULONG, - pszFilter: PCSTR, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Device_ID_List_Size_ExW( - pulLen: PULONG, - pszFilter: PCWSTR, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Device_ID_Size( - pulLen: PULONG, - dnDevInst: DEVINST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Device_ID_Size_Ex( - pulLen: PULONG, - dnDevInst: DEVINST, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_DevNode_PropertyW( - dnDevInst: DEVINST, - PropertyKey: *const DEVPROPKEY, - PropertyType: *mut DEVPROPTYPE, - PropertyBuffer: PBYTE, - PropertyBufferSize: PULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_DevNode_PropertyExW( - dnDevInst: DEVINST, - PropertyKey: *const DEVPROPKEY, - PropertyType: *mut DEVPROPTYPE, - PropertyBuffer: PBYTE, - PropertyBufferSize: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_DevNode_Registry_PropertyA( - dnDevInst: DEVINST, - ulProperty: ULONG, - pulRegDataType: PULONG, - Buffer: PVOID, - pulLength: PULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_DevNode_Registry_PropertyW( - dnDevInst: DEVINST, - ulProperty: ULONG, - pulRegDataType: PULONG, - Buffer: PVOID, - pulLength: PULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_DevNode_Registry_Property_ExA( - dnDevInst: DEVINST, - ulProperty: ULONG, - pulRegDataType: PULONG, - Buffer: PVOID, - pulLength: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_DevNode_Registry_Property_ExW( - dnDevInst: DEVINST, - ulProperty: ULONG, - pulRegDataType: PULONG, - Buffer: PVOID, - pulLength: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_DevNode_Custom_PropertyA( - dnDevInst: DEVINST, - pszCustomPropertyName: PCSTR, - pulRegDataType: PULONG, - Buffer: PVOID, - pulLength: PULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_DevNode_Custom_PropertyW( - dnDevInst: DEVINST, - pszCustomPropertyName: PCWSTR, - pulRegDataType: PULONG, - Buffer: PVOID, - pulLength: PULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_DevNode_Custom_Property_ExA( - dnDevInst: DEVINST, - pszCustomPropertyName: PCSTR, - pulRegDataType: PULONG, - Buffer: PVOID, - pulLength: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_DevNode_Custom_Property_ExW( - dnDevInst: DEVINST, - pszCustomPropertyName: PCWSTR, - pulRegDataType: PULONG, - Buffer: PVOID, - pulLength: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_DevNode_Status( - pulStatus: PULONG, - pulProblemNumber: PULONG, - dnDevInst: DEVINST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_DevNode_Status_Ex( - pulStatus: PULONG, - pulProblemNumber: PULONG, - dnDevInst: DEVINST, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_First_Log_Conf( - plcLogConf: PLOG_CONF, - dnDevInst: DEVINST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_First_Log_Conf_Ex( - plcLogConf: PLOG_CONF, - dnDevInst: DEVINST, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Global_State( - pulState: PULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Global_State_Ex( - pulState: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Hardware_Profile_InfoA( - ulIndex: ULONG, - pHWProfileInfo: PHWPROFILEINFO_A, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Hardware_Profile_Info_ExA( - ulIndex: ULONG, - pHWProfileInfo: PHWPROFILEINFO_A, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Hardware_Profile_InfoW( - ulIndex: ULONG, - pHWProfileInfo: PHWPROFILEINFO_W, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Hardware_Profile_Info_ExW( - ulIndex: ULONG, - pHWProfileInfo: PHWPROFILEINFO_W, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_HW_Prof_FlagsA( - pDeviceID: DEVINSTID_A, - ulHardwareProfile: ULONG, - pulValue: PULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_HW_Prof_FlagsW( - pDeviceID: DEVINSTID_W, - ulHardwareProfile: ULONG, - pulValue: PULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_HW_Prof_Flags_ExA( - pDeviceID: DEVINSTID_A, - ulHardwareProfile: ULONG, - pulValue: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_HW_Prof_Flags_ExW( - pDeviceID: DEVINSTID_W, - ulHardwareProfile: ULONG, - pulValue: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Device_Interface_AliasA( - pszDeviceInterface: LPCSTR, - AliasInterfaceGuid: LPGUID, - pszAliasDeviceInterface: LPSTR, - pulLength: PULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Device_Interface_AliasW( - pszDeviceInterface: LPCWSTR, - AliasInterfaceGuid: LPGUID, - pszAliasDeviceInterface: LPWSTR, - pulLength: PULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Device_Interface_Alias_ExA( - pszDeviceInterface: LPCSTR, - AliasInterfaceGuid: LPGUID, - pszAliasDeviceInterface: LPSTR, - pulLength: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Device_Interface_Alias_ExW( - pszDeviceInterface: LPCWSTR, - AliasInterfaceGuid: LPGUID, - pszAliasDeviceInterface: LPWSTR, - pulLength: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Device_Interface_ListA( - InterfaceClassGuid: LPGUID, - pDeviceID: DEVINSTID_A, - Buffer: PCHAR, - BufferLen: ULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Device_Interface_ListW( - InterfaceClassGuid: LPGUID, - pDeviceID: DEVINSTID_W, - Buffer: PWCHAR, - BufferLen: ULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Device_Interface_List_ExA( - InterfaceClassGuid: LPGUID, - pDeviceID: DEVINSTID_A, - Buffer: PCHAR, - BufferLen: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Device_Interface_List_ExW( - InterfaceClassGuid: LPGUID, - pDeviceID: DEVINSTID_W, - Buffer: PWCHAR, - BufferLen: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Device_Interface_List_SizeA( - pulLen: PULONG, - InterfaceClassGuid: LPGUID, - pDeviceID: DEVINSTID_A, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Device_Interface_List_SizeW( - pulLen: PULONG, - InterfaceClassGuid: LPGUID, - pDeviceID: DEVINSTID_W, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Device_Interface_List_Size_ExA( - pulLen: PULONG, - InterfaceClassGuid: LPGUID, - pDeviceID: DEVINSTID_A, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Device_Interface_List_Size_ExW( - pulLen: PULONG, - InterfaceClassGuid: LPGUID, - pDeviceID: DEVINSTID_W, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Device_Interface_PropertyW( - pszDeviceInterface: LPCWSTR, - PropertyKey: *const DEVPROPKEY, - PropertyType: *mut DEVPROPTYPE, - PropertyBuffer: PBYTE, - PropertyBufferSize: PULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Device_Interface_PropertyExW( - pszDeviceInterface: LPCWSTR, - PropertyKey: *const DEVPROPKEY, - PropertyType: *mut DEVPROPTYPE, - PropertyBuffer: PBYTE, - PropertyBufferSize: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Log_Conf_Priority( - lcLogConf: LOG_CONF, - pPriority: PRIORITY, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Log_Conf_Priority_Ex( - lcLogConf: LOG_CONF, - pPriority: PRIORITY, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Next_Log_Conf( - plcLogConf: PLOG_CONF, - lcLogConf: LOG_CONF, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Next_Log_Conf_Ex( - plcLogConf: PLOG_CONF, - lcLogConf: LOG_CONF, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Parent( - pdnDevInst: PDEVINST, - dnDevInst: DEVINST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Parent_Ex( - pdnDevInst: PDEVINST, - dnDevInst: DEVINST, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Res_Des_Data( - rdResDes: RES_DES, - Buffer: PVOID, - BufferLen: ULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Res_Des_Data_Ex( - rdResDes: RES_DES, - Buffer: PVOID, - BufferLen: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Res_Des_Data_Size( - pulSize: PULONG, - rdResDes: RES_DES, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Res_Des_Data_Size_Ex( - pulSize: PULONG, - rdResDes: RES_DES, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Sibling( - pdnDevInst: PDEVINST, - dnDevInst: DEVINST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Sibling_Ex( - pdnDevInst: PDEVINST, - dnDevInst: DEVINST, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Version() -> WORD; - pub fn CM_Get_Version_Ex( - hMachine: HMACHINE, - ) -> WORD; - pub fn CM_Is_Version_Available( - wVersion: WORD, - ) -> BOOL; - pub fn CM_Is_Version_Available_Ex( - wVersion: WORD, - hMachine: HMACHINE, - ) -> BOOL; - pub fn CM_Intersect_Range_List( - rlhOld1: RANGE_LIST, - rlhOld2: RANGE_LIST, - rlhNew: RANGE_LIST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Invert_Range_List( - rlhOld: RANGE_LIST, - rlhNew: RANGE_LIST, - ullMaxValue: DWORDLONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Locate_DevNodeA( - pdnDevInst: PDEVINST, - pDeviceID: DEVINSTID_A, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Locate_DevNodeW( - pdnDevInst: PDEVINST, - pDeviceID: DEVINSTID_W, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Locate_DevNode_ExA( - pdnDevInst: PDEVINST, - pDeviceID: DEVINSTID_A, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Locate_DevNode_ExW( - pdnDevInst: PDEVINST, - pDeviceID: DEVINSTID_W, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Merge_Range_List( - rlhOld1: RANGE_LIST, - rlhOld2: RANGE_LIST, - rlhNew: RANGE_LIST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Modify_Res_Des( - prdResDes: PRES_DES, - rdResDes: RES_DES, - ResourceID: RESOURCEID, - ResourceData: PCVOID, - ResourceLen: ULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Modify_Res_Des_Ex( - prdResDes: PRES_DES, - rdResDes: RES_DES, - ResourceID: RESOURCEID, - ResourceData: PCVOID, - ResourceLen: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Move_DevNode( - dnFromDevInst: DEVINST, - dnToDevInst: DEVINST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Move_DevNode_Ex( - dnFromDevInst: DEVINST, - dnToDevInst: DEVINST, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Next_Range( - preElement: PRANGE_LIST, - pullStart: PDWORDLONG, - pullEnd: PDWORDLONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Next_Res_Des( - prdResDes: PRES_DES, - rdResDes: RES_DES, - ForResource: RESOURCEID, - pResourceID: PRESOURCEID, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Get_Next_Res_Des_Ex( - prdResDes: PRES_DES, - rdResDes: RES_DES, - ForResource: RESOURCEID, - pResourceID: PRESOURCEID, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Open_Class_KeyA( - ClassGuid: LPGUID, - pszClassName: LPCSTR, - samDesired: REGSAM, - Disposition: REGDISPOSITION, - phkClass: PHKEY, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Open_Class_KeyW( - ClassGuid: LPGUID, - pszClassName: LPCWSTR, - samDesired: REGSAM, - Disposition: REGDISPOSITION, - phkClass: PHKEY, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Open_Class_Key_ExA( - ClassGuid: LPGUID, - pszClassName: LPCSTR, - samDesired: REGSAM, - Disposition: REGDISPOSITION, - phkClass: PHKEY, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Open_Class_Key_ExW( - ClassGuid: LPGUID, - pszClassName: LPCWSTR, - samDesired: REGSAM, - Disposition: REGDISPOSITION, - phkClass: PHKEY, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Open_DevNode_Key( - dnDevNode: DEVINST, - samDesired: REGSAM, - ulHardwareProfile: ULONG, - Disposition: REGDISPOSITION, - phkDevice: PHKEY, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Open_DevNode_Key_Ex( - dnDevNode: DEVINST, - samDesired: REGSAM, - ulHardwareProfile: ULONG, - Disposition: REGDISPOSITION, - phkDevice: PHKEY, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Open_Device_Interface_KeyA( - pszDeviceInterface: LPCSTR, - samDesired: REGSAM, - Disposition: REGDISPOSITION, - phkDeviceInterface: PHKEY, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Open_Device_Interface_KeyW( - pszDeviceInterface: LPCWSTR, - samDesired: REGSAM, - Disposition: REGDISPOSITION, - phkDeviceInterface: PHKEY, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Open_Device_Interface_Key_ExA( - pszDeviceInterface: LPCSTR, - samDesired: REGSAM, - Disposition: REGDISPOSITION, - phkDeviceInterface: PHKEY, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Open_Device_Interface_Key_ExW( - pszDeviceInterface: LPCWSTR, - samDesired: REGSAM, - Disposition: REGDISPOSITION, - phkDeviceInterface: PHKEY, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Delete_Device_Interface_KeyA( - pszDeviceInterface: LPCSTR, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Delete_Device_Interface_KeyW( - pszDeviceInterface: LPCWSTR, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Delete_Device_Interface_Key_ExA( - pszDeviceInterface: LPCSTR, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Delete_Device_Interface_Key_ExW( - pszDeviceInterface: LPCWSTR, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Query_Arbitrator_Free_Data( - pData: PVOID, - DataLen: ULONG, - dnDevInst: DEVINST, - ResourceID: RESOURCEID, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Query_Arbitrator_Free_Data_Ex( - pData: PVOID, - DataLen: ULONG, - dnDevInst: DEVINST, - ResourceID: RESOURCEID, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Query_Arbitrator_Free_Size( - pulSize: PULONG, - dnDevInst: DEVINST, - ResourceID: RESOURCEID, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Query_Arbitrator_Free_Size_Ex( - pulSize: PULONG, - dnDevInst: DEVINST, - ResourceID: RESOURCEID, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Query_Remove_SubTree( - dnAncestor: DEVINST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Query_Remove_SubTree_Ex( - dnAncestor: DEVINST, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Query_And_Remove_SubTreeA( - dnAncestor: DEVINST, - pVetoType: PPNP_VETO_TYPE, - pszVetoName: LPSTR, - ulNameLength: ULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Query_And_Remove_SubTree_ExA( - dnAncestor: DEVINST, - pVetoType: PPNP_VETO_TYPE, - pszVetoName: LPSTR, - ulNameLength: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Query_And_Remove_SubTreeW( - dnAncestor: DEVINST, - pVetoType: PPNP_VETO_TYPE, - pszVetoName: LPWSTR, - ulNameLength: ULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Query_And_Remove_SubTree_ExW( - dnAncestor: DEVINST, - pVetoType: PPNP_VETO_TYPE, - pszVetoName: LPWSTR, - ulNameLength: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Request_Device_EjectA( - dnDevInst: DEVINST, - pVetoType: PPNP_VETO_TYPE, - pszVetoName: LPSTR, - ulNameLength: ULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Request_Device_Eject_ExA( - dnDevInst: DEVINST, - pVetoType: PPNP_VETO_TYPE, - pszVetoName: LPSTR, - ulNameLength: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Request_Device_EjectW( - dnDevInst: DEVINST, - pVetoType: PPNP_VETO_TYPE, - pszVetoName: LPWSTR, - ulNameLength: ULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Request_Device_Eject_ExW( - dnDevInst: DEVINST, - pVetoType: PPNP_VETO_TYPE, - pszVetoName: LPWSTR, - ulNameLength: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Reenumerate_DevNode( - dnDevInst: DEVINST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Reenumerate_DevNode_Ex( - dnDevInst: DEVINST, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Register_Device_InterfaceA( - dnDevInst: DEVINST, - InterfaceClassGuid: LPGUID, - pszReference: LPCSTR, - pszDeviceInterface: LPSTR, - pulLength: PULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Register_Device_InterfaceW( - dnDevInst: DEVINST, - InterfaceClassGuid: LPGUID, - pszReference: LPCWSTR, - pszDeviceInterface: LPWSTR, - pulLength: PULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Register_Device_Interface_ExA( - dnDevInst: DEVINST, - InterfaceClassGuid: LPGUID, - pszReference: LPCSTR, - pszDeviceInterface: LPSTR, - pulLength: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Register_Device_Interface_ExW( - dnDevInst: DEVINST, - InterfaceClassGuid: LPGUID, - pszReference: LPCWSTR, - pszDeviceInterface: LPWSTR, - pulLength: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Set_DevNode_Problem_Ex( - dnDevInst: DEVINST, - ulProblem: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Set_DevNode_Problem( - dnDevInst: DEVINST, - ulProblem: ULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Unregister_Device_InterfaceA( - pszDeviceInterface: LPCSTR, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Unregister_Device_InterfaceW( - pszDeviceInterface: LPCWSTR, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Unregister_Device_Interface_ExA( - pszDeviceInterface: LPCSTR, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Unregister_Device_Interface_ExW( - pszDeviceInterface: LPCWSTR, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Register_Device_Driver( - dnDevInst: DEVINST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Register_Device_Driver_Ex( - dnDevInst: DEVINST, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Remove_SubTree( - dnAncestor: DEVINST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Remove_SubTree_Ex( - dnAncestor: DEVINST, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Set_DevNode_Registry_PropertyA( - dnDevInst: DEVINST, - ulProperty: ULONG, - Buffer: PCVOID, - ulLength: ULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Set_DevNode_Registry_PropertyW( - dnDevInst: DEVINST, - ulProperty: ULONG, - Buffer: PCVOID, - ulLength: ULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Set_DevNode_Registry_Property_ExA( - dnDevInst: DEVINST, - ulProperty: ULONG, - Buffer: PCVOID, - ulLength: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Set_DevNode_Registry_Property_ExW( - dnDevInst: DEVINST, - ulProperty: ULONG, - Buffer: PCVOID, - ulLength: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Is_Dock_Station_Present( - pbPresent: PBOOL, - ) -> CONFIGRET; - pub fn CM_Is_Dock_Station_Present_Ex( - pbPresent: PBOOL, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Request_Eject_PC() -> CONFIGRET; - pub fn CM_Request_Eject_PC_Ex( - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Set_HW_Prof_FlagsA( - pDeviceID: DEVINSTID_A, - ulConfig: ULONG, - ulValue: ULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Set_HW_Prof_FlagsW( - pDeviceID: DEVINSTID_W, - ulConfig: ULONG, - ulValue: ULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Set_HW_Prof_Flags_ExA( - pDeviceID: DEVINSTID_A, - ulConfig: ULONG, - ulValue: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Set_HW_Prof_Flags_ExW( - pDeviceID: DEVINSTID_A, - ulConfig: ULONG, - ulValue: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Setup_DevNode( - dnDevInst: DEVINST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Setup_DevNode_Ex( - dnDevInst: DEVINST, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Test_Range_Available( - ullStartValue: DWORDLONG, - ullEndValue: DWORDLONG, - rlh: RANGE_LIST, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Uninstall_DevNode( - dnDevInst: DEVNODE, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Uninstall_DevNode_Ex( - dnDevInst: DEVNODE, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Run_Detection( - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Run_Detection_Ex( - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Set_HW_Prof( - ulHardwareProfile: ULONG, - ulFlags: ULONG, - ) -> CONFIGRET; - pub fn CM_Set_HW_Prof_Ex( - ulHardwareProfile: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Query_Resource_Conflict_List( - pclConflictList: PCONFLICT_LIST, - dnDevInst: DEVINST, - ResourceID: RESOURCEID, - ResourceData: PCVOID, - ResourceLen: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Free_Resource_Conflict_Handle( - clConflictList: CONFLICT_LIST, - ) -> CONFIGRET; - pub fn CM_Get_Resource_Conflict_Count( - clConflictList: CONFLICT_LIST, - pulCount: PULONG, - ) -> CONFIGRET; - pub fn CM_Get_Resource_Conflict_DetailsA( - clConflictList: CONFLICT_LIST, - ulIndex: ULONG, - pConflictDetails: PCONFLICT_DETAILS_A, - ) -> CONFIGRET; - pub fn CM_Get_Resource_Conflict_DetailsW( - clConflictList: CONFLICT_LIST, - ulIndex: ULONG, - pConflictDetails: PCONFLICT_DETAILS_W, - ) -> CONFIGRET; - pub fn CM_Get_Class_Registry_PropertyW( - ClassGuid: LPGUID, - ulProperty: ULONG, - pulRegDataType: PULONG, - Buffer: PVOID, - pulLength: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Set_Class_Registry_PropertyW( - ClassGuid: LPGUID, - ulProperty: ULONG, - Buffer: PCVOID, - ulLength: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Get_Class_Registry_PropertyA( - ClassGuid: LPGUID, - ulProperty: ULONG, - pulRegDataType: PULONG, - Buffer: PVOID, - pulLength: PULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CM_Set_Class_Registry_PropertyA( - ClassGuid: LPGUID, - ulProperty: ULONG, - Buffer: PCVOID, - ulLength: ULONG, - ulFlags: ULONG, - hMachine: HMACHINE, - ) -> CONFIGRET; - pub fn CMP_WaitNoPendingInstallEvents( - dwTimeout: DWORD, - ) -> DWORD; -} -pub const CR_SUCCESS: CONFIGRET = 0x00000000; -pub const CR_DEFAULT: CONFIGRET = 0x00000001; -pub const CR_OUT_OF_MEMORY: CONFIGRET = 0x00000002; -pub const CR_INVALID_POINTER: CONFIGRET = 0x00000003; -pub const CR_INVALID_FLAG: CONFIGRET = 0x00000004; -pub const CR_INVALID_DEVNODE: CONFIGRET = 0x00000005; -pub const CR_INVALID_DEVINST: CONFIGRET = CR_INVALID_DEVNODE; -pub const CR_INVALID_RES_DES: CONFIGRET = 0x00000006; -pub const CR_INVALID_LOG_CONF: CONFIGRET = 0x00000007; -pub const CR_INVALID_ARBITRATOR: CONFIGRET = 0x00000008; -pub const CR_INVALID_NODELIST: CONFIGRET = 0x00000009; -pub const CR_DEVNODE_HAS_REQS: CONFIGRET = 0x0000000A; -pub const CR_DEVINST_HAS_REQS: CONFIGRET = CR_DEVNODE_HAS_REQS; -pub const CR_INVALID_RESOURCEID: CONFIGRET = 0x0000000B; -pub const CR_DLVXD_NOT_FOUND: CONFIGRET = 0x0000000C; -pub const CR_NO_SUCH_DEVNODE: CONFIGRET = 0x0000000D; -pub const CR_NO_SUCH_DEVINST: CONFIGRET = CR_NO_SUCH_DEVNODE; -pub const CR_NO_MORE_LOG_CONF: CONFIGRET = 0x0000000E; -pub const CR_NO_MORE_RES_DES: CONFIGRET = 0x0000000F; -pub const CR_ALREADY_SUCH_DEVNODE: CONFIGRET = 0x00000010; -pub const CR_ALREADY_SUCH_DEVINST: CONFIGRET = CR_ALREADY_SUCH_DEVNODE; -pub const CR_INVALID_RANGE_LIST: CONFIGRET = 0x00000011; -pub const CR_INVALID_RANGE: CONFIGRET = 0x00000012; -pub const CR_FAILURE: CONFIGRET = 0x00000013; -pub const CR_NO_SUCH_LOGICAL_DEV: CONFIGRET = 0x00000014; -pub const CR_CREATE_BLOCKED: CONFIGRET = 0x00000015; -pub const CR_NOT_SYSTEM_VM: CONFIGRET = 0x00000016; -pub const CR_REMOVE_VETOED: CONFIGRET = 0x00000017; -pub const CR_APM_VETOED: CONFIGRET = 0x00000018; -pub const CR_INVALID_LOAD_TYPE: CONFIGRET = 0x00000019; -pub const CR_BUFFER_SMALL: CONFIGRET = 0x0000001A; -pub const CR_NO_ARBITRATOR: CONFIGRET = 0x0000001B; -pub const CR_NO_REGISTRY_HANDLE: CONFIGRET = 0x0000001C; -pub const CR_REGISTRY_ERROR: CONFIGRET = 0x0000001D; -pub const CR_INVALID_DEVICE_ID: CONFIGRET = 0x0000001E; -pub const CR_INVALID_DATA: CONFIGRET = 0x0000001F; -pub const CR_INVALID_API: CONFIGRET = 0x00000020; -pub const CR_DEVLOADER_NOT_READY: CONFIGRET = 0x00000021; -pub const CR_NEED_RESTART: CONFIGRET = 0x00000022; -pub const CR_NO_MORE_HW_PROFILES: CONFIGRET = 0x00000023; -pub const CR_DEVICE_NOT_THERE: CONFIGRET = 0x00000024; -pub const CR_NO_SUCH_VALUE: CONFIGRET = 0x00000025; -pub const CR_WRONG_TYPE: CONFIGRET = 0x00000026; -pub const CR_INVALID_PRIORITY: CONFIGRET = 0x00000027; -pub const CR_NOT_DISABLEABLE: CONFIGRET = 0x00000028; -pub const CR_FREE_RESOURCES: CONFIGRET = 0x00000029; -pub const CR_QUERY_VETOED: CONFIGRET = 0x0000002A; -pub const CR_CANT_SHARE_IRQ: CONFIGRET = 0x0000002B; -pub const CR_NO_DEPENDENT: CONFIGRET = 0x0000002C; -pub const CR_SAME_RESOURCES: CONFIGRET = 0x0000002D; -pub const CR_NO_SUCH_REGISTRY_KEY: CONFIGRET = 0x0000002E; -pub const CR_INVALID_MACHINENAME: CONFIGRET = 0x0000002F; -pub const CR_REMOTE_COMM_FAILURE: CONFIGRET = 0x00000030; -pub const CR_MACHINE_UNAVAILABLE: CONFIGRET = 0x00000031; -pub const CR_NO_CM_SERVICES: CONFIGRET = 0x00000032; -pub const CR_ACCESS_DENIED: CONFIGRET = 0x00000033; -pub const CR_CALL_NOT_IMPLEMENTED: CONFIGRET = 0x00000034; -pub const CR_INVALID_PROPERTY: CONFIGRET = 0x00000035; -pub const CR_DEVICE_INTERFACE_ACTIVE: CONFIGRET = 0x00000036; -pub const CR_NO_SUCH_DEVICE_INTERFACE: CONFIGRET = 0x00000037; -pub const CR_INVALID_REFERENCE_STRING: CONFIGRET = 0x00000038; -pub const CR_INVALID_CONFLICT_LIST: CONFIGRET = 0x00000039; -pub const CR_INVALID_INDEX: CONFIGRET = 0x0000003A; -pub const CR_INVALID_STRUCTURE_SIZE: CONFIGRET = 0x0000003B; -pub const NUM_CR_RESULTS: CONFIGRET = 0x0000003C; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/cguid.rs b/vendor/registry-40351f815f426200/winapi/src/um/cguid.rs deleted file mode 100644 index be7f92958..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/cguid.rs +++ /dev/null @@ -1,134 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -// Some of these definitions are commented out because I could not find their value -DEFINE_GUID!{GUID_NULL, - 0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} -DEFINE_GUID!{CATID_MARSHALER, - 0x00000003, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{IID_IRpcChannel, - 0x00000004, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{IID_IRpcStub, - 0x00000005, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{IID_IStubManager, - 0x00000006, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{IID_IRpcProxy, - 0x00000007, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{IID_IProxyManager, - 0x00000008, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{IID_IPSFactory, - 0x00000009, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{IID_IInternalMoniker, - 0x00000011, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{IID_IDfReserved1, - 0x00000013, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{IID_IDfReserved2, - 0x00000014, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{IID_IDfReserved3, - 0x00000015, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_StdMarshal, - 0x00000017, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -// extern const CLSID CLSID_AggStdMarshal; -DEFINE_GUID!{CLSID_StdAsyncActManager, - 0x00000329, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{IID_IStub, - 0x00000026, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{IID_IProxy, - 0x00000027, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{IID_IEnumGeneric, - 0x00000106, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{IID_IEnumHolder, - 0x00000107, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{IID_IEnumCallback, - 0x00000108, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{IID_IOleManager, - 0x0000011f, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{IID_IOlePresObj, - 0x00000120, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{IID_IDebug, - 0x00000123, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{IID_IDebugStream, - 0x00000124, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_PSGenObject, - 0x0000030c, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_PSClientSite, - 0x0000030d, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_PSClassObject, - 0x0000030e, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_PSInPlaceActive, - 0x0000030f, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_PSInPlaceFrame, - 0x00000310, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_PSDragDrop, - 0x00000311, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_PSBindCtx, - 0x00000312, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_PSEnumerators, - 0x00000313, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_StaticMetafile, - 0x00000315, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_StaticDib, - 0x00000316, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -// extern const CLSID CID_CDfsVolume; -DEFINE_GUID!{CLSID_DCOMAccessControl, - 0x0000031d, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_GlobalOptions, - 0x0000034b, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_StdGlobalInterfaceTable, - 0x00000323, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_ComBinding, - 0x00000328, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_StdEvent, - 0x0000032b, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_ManualResetEvent, - 0x0000032c, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_SynchronizeContainer, - 0x0000032d, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_AddrControl, - 0x00000348, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_ContextSwitcher, - 0x0000034e, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -// extern const CLSID CLSID_CCDFormKrnl; -// extern const CLSID CLSID_CCDPropertyPage; -// extern const CLSID CLSID_CCDFormDialog; -// extern const CLSID CLSID_CCDCommandButton; -// extern const CLSID CLSID_CCDComboBox; -// extern const CLSID CLSID_CCDTextBox; -// extern const CLSID CLSID_CCDCheckBox; -// extern const CLSID CLSID_CCDLabel; -// extern const CLSID CLSID_CCDOptionButton; -// extern const CLSID CLSID_CCDListBox; -// extern const CLSID CLSID_CCDScrollBar; -// extern const CLSID CLSID_CCDGroupBox; -// extern const CLSID CLSID_CCDGeneralPropertyPage; -// extern const CLSID CLSID_CCDGenericPropertyPage; -// extern const CLSID CLSID_CCDFontPropertyPage; -// extern const CLSID CLSID_CCDColorPropertyPage; -// extern const CLSID CLSID_CCDLabelPropertyPage; -// extern const CLSID CLSID_CCDCheckBoxPropertyPage; -// extern const CLSID CLSID_CCDTextBoxPropertyPage; -// extern const CLSID CLSID_CCDOptionButtonPropertyPage; -// extern const CLSID CLSID_CCDListBoxPropertyPage; -// extern const CLSID CLSID_CCDCommandButtonPropertyPage; -// extern const CLSID CLSID_CCDComboBoxPropertyPage; -// extern const CLSID CLSID_CCDScrollBarPropertyPage; -// extern const CLSID CLSID_CCDGroupBoxPropertyPage; -// extern const CLSID CLSID_CCDXObjectPropertyPage; -// extern const CLSID CLSID_CStdPropertyFrame; -// extern const CLSID CLSID_CFormPropertyPage; -// extern const CLSID CLSID_CGridPropertyPage; -// extern const CLSID CLSID_CWSJArticlePage; -// extern const CLSID CLSID_CSystemPage; -// extern const CLSID CLSID_IdentityUnmarshal; -DEFINE_GUID!{CLSID_InProcFreeMarshaler, - 0x0000033a, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_Picture_Metafile, - 0x00000315, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_Picture_EnhMetafile, - 0x00000319, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{CLSID_Picture_Dib, - 0x00000316, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} -DEFINE_GUID!{GUID_TRISTATE, - 0x6650430a, 0xbe0f, 0x101a, 0x8b, 0xbb, 0x00, 0xaa, 0x00, 0x30, 0x0c, 0xab} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/combaseapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/combaseapi.rs deleted file mode 100644 index 823c026ac..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/combaseapi.rs +++ /dev/null @@ -1,477 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Base Component Object Model defintions. -use ctypes::{c_int, c_void}; -use shared::basetsd::{SIZE_T, UINT64, ULONG_PTR}; -use shared::guiddef::{CLSID, GUID, LPCLSID, LPIID, REFCLSID, REFGUID, REFIID}; -use shared::minwindef::{BOOL, DWORD, FILETIME, HGLOBAL, LPDWORD, LPHANDLE, LPVOID, ULONG}; -use shared::rpcdce::{RPC_AUTHZ_HANDLE, RPC_AUTH_IDENTITY_HANDLE}; -use shared::wtypesbase::{ - CLSCTX, CLSCTX_INPROC_HANDLER, CLSCTX_INPROC_SERVER, CLSCTX_LOCAL_SERVER, CLSCTX_REMOTE_SERVER, - LPCOLESTR, LPOLESTR, OLECHAR, -}; -use um::objidl::SOLE_AUTHENTICATION_SERVICE; -use um::objidlbase::{ - APTTYPE, APTTYPEQUALIFIER, COSERVERINFO, IActivationFilter, IAgileReference, LPMALLOC, - LPMARSHAL, LPSTREAM, LPSURROGATE, MULTI_QI, -}; -use um::propidl::PROPVARIANT; -use um::unknwnbase::{IUnknown, LPUNKNOWN}; -use um::winnt::{HANDLE, HRESULT, LARGE_INTEGER, LONG, PSECURITY_DESCRIPTOR, PVOID, ULARGE_INTEGER}; -#[inline] -pub fn LISet32(li: &mut LARGE_INTEGER, v: DWORD) { - unsafe { - li.u_mut().HighPart = if (v as LONG) < 0 { - -1 - } else { - 0 - }; - li.u_mut().LowPart = v; - } -} -#[inline] -pub fn ULISet32(li: &mut ULARGE_INTEGER, v: DWORD) { - unsafe { - li.u_mut().HighPart = 0; - li.u_mut().LowPart = v; - } -} -pub const CLSCTX_INPROC: CLSCTX = CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER; -pub const CLSCTX_ALL: CLSCTX = CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER - | CLSCTX_REMOTE_SERVER; -pub const CLSCTX_SERVER: CLSCTX = CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER - | CLSCTX_REMOTE_SERVER; -ENUM!{enum REGCLS { - REGCLS_SINGLEUSE = 0, - REGCLS_MULTIPLEUSE = 1, - REGCLS_MULTI_SEPARATE = 2, - REGCLS_SUSPENDED = 4, - REGCLS_SURROGATE = 8, - REGCLS_AGILE = 0x10, -}} -ENUM!{enum COINITBASE { - COINITBASE_MULTITHREADED = 0x0, -}} -extern "system" { - pub fn CoGetMalloc( - dwMemContext: DWORD, - ppMalloc: *mut LPMALLOC, - ) -> HRESULT; - pub fn CreateStreamOnHGlobal( - hGlobal: HGLOBAL, - fDeleteOnRelease: BOOL, - ppstm: *mut LPSTREAM, - ) -> HRESULT; - pub fn GetHGlobalFromStream( - pstm: LPSTREAM, - phglobal: *mut HGLOBAL, - ) -> HRESULT; - pub fn CoUninitialize() -> (); - pub fn CoGetCurrentProcess() -> DWORD; - pub fn CoInitializeEx( - pvReserved: LPVOID, - dwCoInit: DWORD, - ) -> HRESULT; - pub fn CoGetCallerTID( - lpdwTID: LPDWORD, - ) -> HRESULT; - pub fn CoGetCurrentLogicalThreadId( - pguid: *mut GUID, - ) -> HRESULT; - pub fn CoGetContextToken( - pToken: *mut ULONG_PTR, - ) -> HRESULT; - pub fn CoGetDefaultContext( - aptType: APTTYPE, - riid: REFIID, - ppv: *mut *mut c_void, - ) -> HRESULT; - pub fn CoGetApartmentType( - pAptType: *mut APTTYPE, - pAptQualifier: *mut APTTYPEQUALIFIER, - ) -> HRESULT; -} -STRUCT!{struct ServerInformation { - dwServerPid: DWORD, - dwServerTid: DWORD, - ui64ServerAddress: UINT64, -}} -pub type PServerInformation = *mut ServerInformation; -extern "system" { - pub fn CoDecodeProxy( - dwClientPid: DWORD, - ui64ProxyAddress: UINT64, - pServerInformation: PServerInformation, - ) -> HRESULT; -} -DECLARE_HANDLE!{CO_MTA_USAGE_COOKIE, CO_MTA_USAGE_COOKIE__} -extern "system" { - pub fn CoIncrementMTAUsage( - pCookie: *mut CO_MTA_USAGE_COOKIE, - ) -> HRESULT; - pub fn CoDecrementMTAUsage( - Cookie: CO_MTA_USAGE_COOKIE, - ) -> HRESULT; - pub fn CoAllowUnmarshalerCLSID( - clsid: REFCLSID, - ) -> HRESULT; - pub fn CoGetObjectContext( - riid: REFIID, - ppv: *mut LPVOID, - ) -> HRESULT; - pub fn CoGetClassObject( - rclsid: REFCLSID, - dwClsContext: DWORD, - pvReserved: LPVOID, - riid: REFIID, - ppv: *mut LPVOID, - ) -> HRESULT; - pub fn CoRegisterClassObject( - rclsid: REFCLSID, - pUnk: LPUNKNOWN, - dwClsContext: DWORD, - flags: DWORD, - lpdwRegister: LPDWORD, - ) -> HRESULT; - pub fn CoRevokeClassObject( - dwRegister: DWORD, - ) -> HRESULT; - pub fn CoResumeClassObjects() -> HRESULT; - pub fn CoSuspendClassObjects() -> HRESULT; - pub fn CoAddRefServerProcess() -> ULONG; - pub fn CoReleaseServerProcess() -> ULONG; - pub fn CoGetPSClsid( - riid: REFIID, - pClsid: *mut CLSID, - ) -> HRESULT; - pub fn CoRegisterPSClsid( - riid: REFIID, - rclsid: REFCLSID, - ) -> HRESULT; - pub fn CoRegisterSurrogate( - pSurrogate: LPSURROGATE, - ) -> HRESULT; - pub fn CoGetMarshalSizeMax( - pulSize: *mut ULONG, - riid: REFIID, - pUnk: LPUNKNOWN, - dwDestContext: DWORD, - pvDestContext: LPVOID, - mshlflags: DWORD, - ) -> HRESULT; - pub fn CoMarshalInterface( - pStm: LPSTREAM, - riid: REFIID, - pUnk: LPUNKNOWN, - dwDestContext: DWORD, - pvDestContext: LPVOID, - mshlflags: DWORD, - ) -> HRESULT; - pub fn CoUnmarshalInterface( - pStm: LPSTREAM, - riid: REFIID, - ppv: *mut LPVOID, - ) -> HRESULT; - pub fn CoMarshalHresult( - pstm: LPSTREAM, - hresult: HRESULT, - ) -> HRESULT; - pub fn CoUnmarshalHresult( - pstm: LPSTREAM, - phresult: *mut HRESULT, - ) -> HRESULT; - pub fn CoReleaseMarshalData( - pstm: LPSTREAM, - ) -> HRESULT; - pub fn CoDisconnectObject( - pUnk: LPUNKNOWN, - dwReserved: DWORD, - ) -> HRESULT; - pub fn CoLockObjectExternal( - pUnk: LPUNKNOWN, - fLock: BOOL, - fLastUnlockReleases: BOOL, - ) -> HRESULT; - pub fn CoGetStandardMarshal( - riid: REFIID, - pUnk: LPUNKNOWN, - dwDestContext: DWORD, - pvDestContext: LPVOID, - mshlflags: DWORD, - ppMarshal: *mut LPMARSHAL, - ) -> HRESULT; - pub fn CoGetStdMarshalEx( - pUnkOuter: LPUNKNOWN, - smexflags: DWORD, - ppUnkInner: *mut LPUNKNOWN, - ) -> HRESULT; -} -ENUM!{enum STDMSHLFLAGS { - SMEXF_SERVER = 0x01, - SMEXF_HANDLER = 0x02, -}} -extern "system" { - pub fn CoIsHandlerConnected( - pUnk: LPUNKNOWN, - ) -> BOOL; - pub fn CoMarshalInterThreadInterfaceInStream( - riid: REFIID, - pUnk: LPUNKNOWN, - ppStm: *mut LPSTREAM, - ) -> HRESULT; - pub fn CoGetInterfaceAndReleaseStream( - pStm: LPSTREAM, - iid: REFIID, - ppv: *mut LPVOID, - ) -> HRESULT; - pub fn CoCreateFreeThreadedMarshaler( - punkOuter: LPUNKNOWN, - ppunkMarshal: *mut LPUNKNOWN, - ) -> HRESULT; - pub fn CoFreeUnusedLibraries(); - pub fn CoFreeUnusedLibrariesEx( - dwUnloadDelay: DWORD, - dwReserved: DWORD, - ); - pub fn CoDisconnectContext( - dwTimeout: DWORD, - )-> HRESULT; - pub fn CoInitializeSecurity( - pSecDesc: PSECURITY_DESCRIPTOR, - cAuthSvc: LONG, - asAuthSvc: *mut SOLE_AUTHENTICATION_SERVICE, - pReserved1: *mut c_void, - dwAuthnLevel: DWORD, - dwImpLevel: DWORD, - pAuthList: *mut c_void, - dwCapabilities: DWORD, - pReserved3: *mut c_void, - ) -> HRESULT; - pub fn CoGetCallContext( - riid: REFIID, - ppInterface: *mut *mut c_void, - ) -> HRESULT; - pub fn CoQueryProxyBlanket( - pProxy: *mut IUnknown, - pwAuthnSvc: *mut DWORD, - pAuthzSvc: *mut DWORD, - pServerPrincName: *mut LPOLESTR, - pAuthnLevel: *mut DWORD, - pImpLevel: *mut DWORD, - pAuthInfo: *mut RPC_AUTH_IDENTITY_HANDLE, - pCapabilites: *mut DWORD, - ) -> HRESULT; - pub fn CoSetProxyBlanket( - pProxy: *mut IUnknown, - dwAuthnSvc: DWORD, - dwAuthzSvc: DWORD, - pServerPrincName: *mut OLECHAR, - dwAuthnLevel: DWORD, - dwImpLevel: DWORD, - pAuthInfo: RPC_AUTH_IDENTITY_HANDLE, - dwCapabilities: DWORD, - ) -> HRESULT; - pub fn CoCopyProxy( - pProxy: *mut IUnknown, - ppCopy: *mut *mut IUnknown, - ) -> HRESULT; - pub fn CoQueryClientBlanket( - pAuthnSvc: *mut DWORD, - pAuthzSvc: *mut DWORD, - pServerPrincName: *mut LPOLESTR, - pAuthnLevel: *mut DWORD, - pImpLevel: *mut DWORD, - pPrivs: *mut RPC_AUTHZ_HANDLE, - pCapabilities: *mut DWORD, - ) -> HRESULT; - pub fn CoImpersonateClient() -> HRESULT; - pub fn CoRevertToSelf() -> HRESULT; - pub fn CoQueryAuthenticationServices( - pcAuthSvc: *mut DWORD, - asAuthSvc: *mut *mut SOLE_AUTHENTICATION_SERVICE, - ) -> HRESULT; - pub fn CoSwitchCallContext( - pNewObject: *mut IUnknown, - ppOldObject: *mut *mut IUnknown, - ) -> HRESULT; -} -pub const COM_RIGHTS_EXECUTE: DWORD = 1; -pub const COM_RIGHTS_EXECUTE_LOCAL: DWORD = 2; -pub const COM_RIGHTS_EXECUTE_REMOTE: DWORD = 4; -pub const COM_RIGHTS_ACTIVATE_LOCAL: DWORD = 8; -pub const COM_RIGHTS_ACTIVATE_REMOTE: DWORD = 16; -extern "system" { - pub fn CoCreateInstance( - rclsid: REFCLSID, - pUnkOuter: LPUNKNOWN, - dwClsContext: DWORD, - riid: REFIID, - ppv: *mut LPVOID, - ) -> HRESULT; - pub fn CoCreateInstanceEx( - Clsid: REFCLSID, - punkOuter: *mut IUnknown, - dwClsCtx: DWORD, - pServerInfo: *mut COSERVERINFO, - dwCount: DWORD, - pResults: *mut MULTI_QI, - ) -> HRESULT; - pub fn CoRegisterActivationFilter( - pActivationFilter: *mut IActivationFilter, - ) -> HRESULT; - pub fn CoCreateInstanceFromApp( - Clsid: REFCLSID, - punkOuter: *mut IUnknown, - dwClsCtx: DWORD, - reserved: PVOID, - dwCount: DWORD, - pResults: *mut MULTI_QI, - ) -> HRESULT; - pub fn CoGetCancelObject( - dwThreadId: DWORD, - iid: REFIID, - ppUnk: *mut *mut c_void, - ) -> HRESULT; - pub fn CoSetCancelObject( - pUnk: *mut *mut IUnknown, - ) -> HRESULT; - pub fn CoCancelCall( - dwThreadId: DWORD, - ulTimeout: ULONG, - ) -> HRESULT; - pub fn CoTestCancel() -> HRESULT; - pub fn CoEnableCallCancellation( - pReserved: LPVOID, - ) -> HRESULT; - pub fn CoDisableCallCancellation( - pReserved: LPVOID, - ) -> HRESULT; - pub fn StringFromCLSID( - rclsid: REFCLSID, - lplpsz: *mut LPOLESTR, - ) -> HRESULT; - pub fn CLSIDFromString( - lpsz: LPCOLESTR, - pclsid: LPCLSID, - ) -> HRESULT; - pub fn StringFromIID( - rclsid: REFIID, - lplpsz: *mut LPOLESTR, - ) -> HRESULT; - pub fn IIDFromString( - lpsz: LPCOLESTR, - lpiid: LPIID, - ) -> HRESULT; - pub fn ProgIDFromCLSID( - clsid: REFCLSID, - lplpszProgID: *mut LPOLESTR, - ) -> HRESULT; - pub fn CLSIDFromProgID( - lpszProgID: LPCOLESTR, - lpclsid: LPCLSID, - ) -> HRESULT; - pub fn StringFromGUID2( - rguid: REFGUID, - lpsz: LPOLESTR, - cchMax: c_int, - ) -> c_int; - pub fn CoCreateGuid( - pguid: *mut GUID, - ) -> HRESULT; - pub fn PropVariantCopy( - pvarDest: *mut PROPVARIANT, - pvarSrc: *const PROPVARIANT, - ) -> HRESULT; - pub fn PropVariantClear( - pvar: *mut PROPVARIANT, - ) -> HRESULT; - pub fn FreePropVariantArray( - cVariants: ULONG, - rgvars: *mut PROPVARIANT, - ) -> HRESULT; - pub fn CoWaitForMultipleHandles( - dwFlags: DWORD, - dwTimeout: DWORD, - cHandles: ULONG, - pHandles: LPHANDLE, - lpdwindex: LPDWORD, - ) -> HRESULT; -} -ENUM!{enum COWAIT_FLAGS { - COWAIT_DEFAULT = 0, - COWAIT_WAITALL = 1, - COWAIT_ALERTABLE = 2, - COWAIT_INPUTAVAILABLE = 4, - COWAIT_DISPATCH_CALLS = 8, - COWAIT_DISPATCH_WINDOW_MESSAGES = 0x10, -}} -ENUM!{enum CWMO_FLAGS { - CWMO_DEFAULT = 0, - CWMO_DISPATCH_CALLS = 1, - CWMO_DISPATCH_WINDOW_MESSAGES = 2, -}} -extern "system" { - pub fn CoWaitForMultipleObjects( - dwFlags: DWORD, - dwTimeout: DWORD, - cHandles: ULONG, - pHandles: *const HANDLE, - lpdwindex: LPDWORD, - ) -> HRESULT; -} -pub const CWMO_MAX_HANDLES: ULONG = 56; -extern "system" { - pub fn CoGetTreatAsClass( - clsidOld: REFCLSID, - pClsidNew: LPCLSID, - ) -> HRESULT; - pub fn CoInvalidateRemoteMachineBindings( - pszMachineName: LPOLESTR, - ) -> HRESULT; -} -ENUM!{enum AgileReferenceOptions { - AGILEREFERENCE_DEFAULT = 0, - AGILEREFERENCE_DELAYEDMARSHAL = 1, -}} -extern "system" { - pub fn RoGetAgileReference( - options: AgileReferenceOptions, - riid: REFIID, - pUnk: *mut IUnknown, - ppAgileReference: *mut *mut IAgileReference, - ) -> HRESULT; -} -FN!{stdcall LPFNGETCLASSOBJECT( - REFCLSID, - REFIID, - *mut LPVOID, -) -> HRESULT} -FN!{stdcall LPFNCANUNLOADNOW() -> HRESULT} -extern "system" { - pub fn DllGetClassObject( - rclsid: REFCLSID, - riid: REFIID, - ppv: *mut LPVOID, - ) -> HRESULT; - pub fn DllCanUnloadNow() -> HRESULT; - pub fn CoTaskMemAlloc( - cb: SIZE_T, - ) -> LPVOID; - pub fn CoTaskMemRealloc( - pv: LPVOID, - cb: SIZE_T, - ) -> LPVOID; - pub fn CoTaskMemFree( - pv: LPVOID, - ); - pub fn CoFileTimeNow( - lpFileTime: *mut FILETIME, - ) -> HRESULT; - pub fn CLSIDFromProgIDEx( - lpszProgID: LPCOLESTR, - lpclsid: LPCLSID, - ) -> HRESULT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/coml2api.rs b/vendor/registry-40351f815f426200/winapi/src/um/coml2api.rs deleted file mode 100644 index 449be87e3..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/coml2api.rs +++ /dev/null @@ -1,10 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -//! Structured storage, property sets, and related APIs. -use shared::minwindef::DWORD; -pub const STGM_READ: DWORD = 0x00000000; -pub const STGM_WRITE: DWORD = 0x00000001; -pub const STGM_READWRITE: DWORD = 0x00000002; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/commapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/commapi.rs deleted file mode 100644 index 433bb78fa..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/commapi.rs +++ /dev/null @@ -1,87 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_char; -use shared::minwindef::{BOOL, DWORD, LPDWORD}; -use um::minwinbase::LPOVERLAPPED; -use um::winbase::{LPCOMMCONFIG, LPCOMMPROP, LPCOMMTIMEOUTS, LPCOMSTAT, LPDCB}; -use um::winnt::HANDLE; -extern "system" { - pub fn ClearCommBreak( - hFile: HANDLE, - ) -> BOOL; - pub fn ClearCommError( - hFile: HANDLE, - lpErrors: LPDWORD, - lpStat: LPCOMSTAT, - ) -> BOOL; - pub fn SetupComm( - hFile: HANDLE, - dwInQueue: DWORD, - dwOutQueue: DWORD, - ) -> BOOL; - pub fn EscapeCommFunction( - hFile: HANDLE, - dwFunc: DWORD, - ) -> BOOL; - pub fn GetCommConfig( - hCommDev: HANDLE, - lpCC: LPCOMMCONFIG, - lpdwSize: LPDWORD, - ) -> BOOL; - pub fn GetCommMask( - hFile: HANDLE, - lpEvtMask: LPDWORD, - ) -> BOOL; - pub fn GetCommModemStatus( - hFile: HANDLE, - lpModemStat: LPDWORD, - ) -> BOOL; - pub fn GetCommProperties( - hFile: HANDLE, - lpCommProp: LPCOMMPROP, - ) -> BOOL; - pub fn GetCommState( - hFile: HANDLE, - lpDCB: LPDCB, - ) -> BOOL; - pub fn GetCommTimeouts( - hFile: HANDLE, - lpCommTimeouts: LPCOMMTIMEOUTS, - ) -> BOOL; - pub fn PurgeComm( - hFile: HANDLE, - dwFlags: DWORD, - ) -> BOOL; - pub fn SetCommBreak( - hFile: HANDLE, - ) -> BOOL; - pub fn SetCommConfig( - hCommDev: HANDLE, - lpCC: LPCOMMCONFIG, - dwSize: DWORD, - ) -> BOOL; - pub fn SetCommMask( - hFile: HANDLE, - dwEvtMask: DWORD, - ) -> BOOL; - pub fn SetCommState( - hFile: HANDLE, - lpDCB: LPDCB, - ) -> BOOL; - pub fn SetCommTimeouts( - hFile: HANDLE, - lpCommTimeouts: LPCOMMTIMEOUTS, - ) -> BOOL; - pub fn TransmitCommChar( - hFile: HANDLE, - cChar: c_char, - ) -> BOOL; - pub fn WaitCommEvent( - hFile: HANDLE, - lpEvtMask: LPDWORD, - lpOverlapped: LPOVERLAPPED, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/commctrl.rs b/vendor/registry-40351f815f426200/winapi/src/um/commctrl.rs deleted file mode 100644 index 9b32d3259..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/commctrl.rs +++ /dev/null @@ -1,4135 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_char, c_int, c_long, c_short, c_void}; -use shared::basetsd::{DWORD_PTR, INT_PTR, LONG_PTR, UINT_PTR}; -#[cfg(target_pointer_width = "64")] use shared::basetsd::PINT_PTR; -use shared::guiddef::{IID, REFIID}; -use shared::minwindef::{ - BOOL, BYTE, DWORD, HINSTANCE, HKEY, INT, LPARAM, LPINT, LRESULT, PUINT, UINT, ULONG, WORD, - WPARAM, -}; -use shared::windef::{ - COLORREF, HBITMAP, HBRUSH, HDC, HICON, HMENU, HPEN, HWND, LPCRECT, LPRECT, POINT, RECT, SIZE, -}; -use um::commoncontrols::IImageList; -use um::minwinbase::SYSTEMTIME; -use um::winnt::{CHAR, LANGID, LONG, LPCSTR, LPCWSTR, LPSTR, LPWSTR, PCWSTR, PVOID, PWSTR, WCHAR}; -use um::winuser::{ - CB_DELETESTRING, IMAGE_BITMAP, LPSCROLLINFO, LPTRACKMOUSEEVENT, NMHDR, - WINDOWPOS, WM_USER, -}; -use vc::vcruntime::size_t; -pub type HRESULT = c_long; -extern "system" { - pub fn InitCommonControls(); -} -//138 -STRUCT!{struct INITCOMMONCONTROLSEX { - dwSize: DWORD, - dwICC: DWORD, -}} -pub type LPINITCOMMONCONTROLSEX = *mut INITCOMMONCONTROLSEX; -pub const ICC_LISTVIEW_CLASSES: DWORD = 0x1; -pub const ICC_TREEVIEW_CLASSES: DWORD = 0x2; -pub const ICC_BAR_CLASSES: DWORD = 0x4; -pub const ICC_TAB_CLASSES: DWORD = 0x8; -pub const ICC_UPDOWN_CLASS: DWORD = 0x10; -pub const ICC_PROGRESS_CLASS: DWORD = 0x20; -pub const ICC_HOTKEY_CLASS: DWORD = 0x40; -pub const ICC_ANIMATE_CLASS: DWORD = 0x80; -pub const ICC_WIN95_CLASSES: DWORD = 0xFF; -pub const ICC_DATE_CLASSES: DWORD = 0x100; -pub const ICC_USEREX_CLASSES: DWORD = 0x200; -pub const ICC_COOL_CLASSES: DWORD = 0x400; -pub const ICC_INTERNET_CLASSES: DWORD = 0x800; -pub const ICC_PAGESCROLLER_CLASS: DWORD = 0x1000; -pub const ICC_NATIVEFNTCTL_CLASS: DWORD = 0x2000; -pub const ICC_STANDARD_CLASSES: DWORD = 0x4000; -pub const ICC_LINK_CLASS: DWORD = 0x8000; -extern "system" { - pub fn InitCommonControlsEx( - lpInitCtrls: *const INITCOMMONCONTROLSEX, - ) -> BOOL; -} -pub const ODT_HEADER: UINT = 100; -pub const ODT_TAB: UINT = 101; -pub const ODT_LISTVIEW: UINT = 102; -pub const LVM_FIRST: UINT = 0x1000; -pub const TV_FIRST: UINT = 0x1100; -pub const HDM_FIRST: UINT = 0x1200; -pub const TCM_FIRST: UINT = 0x1300; -pub const PGM_FIRST: UINT = 0x1400; -pub const ECM_FIRST: UINT = 0x1500; -pub const BCM_FIRST: UINT = 0x1600; -pub const CBM_FIRST: UINT = 0x1700; -pub const CCM_FIRST: UINT = 0x2000; -pub const CCM_LAST: UINT = CCM_FIRST + 0x200; -pub const CCM_SETBKCOLOR: UINT = CCM_FIRST + 1; -STRUCT!{struct COLORSCHEME { - dwSize: DWORD, - clrBtnHighlight: COLORREF, - clrBtnShadow: COLORREF, -}} -pub type LPCOLORSCHEME = *mut COLORSCHEME; -pub const CCM_SETCOLORSCHEME: UINT = CCM_FIRST + 2; -pub const CCM_GETCOLORSCHEME: UINT = CCM_FIRST + 3; -pub const CCM_GETDROPTARGET: UINT = CCM_FIRST + 4; -pub const CCM_SETUNICODEFORMAT: UINT = CCM_FIRST + 5; -pub const CCM_GETUNICODEFORMAT: UINT = CCM_FIRST + 6; -pub const CCM_SETVERSION: UINT = CCM_FIRST + 7; -pub const CCM_GETVERSION: UINT = CCM_FIRST + 8; -pub const CCM_SETNOTIFYWINDOW: UINT = CCM_FIRST + 9; -pub const CCM_SETWINDOWTHEME: UINT = CCM_FIRST + 0xb; -pub const CCM_DPISCALE: UINT = CCM_FIRST + 0xc; -pub const INFOTIPSIZE: c_int = 1024; -pub const NM_OUTOFMEMORY: UINT = (NM_FIRST as i32 - 1) as u32; -pub const NM_CLICK: UINT = (NM_FIRST as i32 - 2) as u32; -pub const NM_DBLCLK: UINT = (NM_FIRST as i32 - 3) as u32; -pub const NM_RETURN: UINT = (NM_FIRST as i32 - 4) as u32; -pub const NM_RCLICK: UINT = (NM_FIRST as i32 - 5) as u32; -pub const NM_RDBLCLK: UINT = (NM_FIRST as i32 - 6) as u32; -pub const NM_SETFOCUS: UINT = (NM_FIRST as i32 - 7) as u32; -pub const NM_KILLFOCUS: UINT = (NM_FIRST as i32 - 8) as u32; -pub const NM_CUSTOMDRAW: UINT = (NM_FIRST as i32 - 12) as u32; -pub const NM_HOVER: UINT = (NM_FIRST as i32 - 13) as u32; -pub const NM_NCHITTEST: UINT = (NM_FIRST as i32 - 14) as u32; -pub const NM_KEYDOWN: UINT = (NM_FIRST as i32 - 15) as u32; -pub const NM_RELEASEDCAPTURE: UINT = (NM_FIRST as i32 - 16) as u32; -pub const NM_SETCURSOR: UINT = (NM_FIRST as i32 - 17) as u32; -pub const NM_CHAR: UINT = (NM_FIRST as i32 - 18) as u32; -pub const NM_TOOLTIPSCREATED: UINT = (NM_FIRST as i32 - 19) as u32; -pub const NM_LDOWN: UINT = (NM_FIRST as i32 - 20) as u32; -pub const NM_RDOWN: UINT = (NM_FIRST as i32 - 21) as u32; -pub const NM_THEMECHANGED: UINT = (NM_FIRST as i32 - 22) as u32; -pub const NM_FONTCHANGED: UINT = (NM_FIRST as i32 - 23) as u32; -pub const NM_CUSTOMTEXT: UINT = (NM_FIRST as i32 - 24) as u32; -pub const NM_TVSTATEIMAGECHANGING: UINT = (NM_FIRST as i32 - 24) as u32; -STRUCT!{struct NMTOOLTIPSCREATED { - hdr: NMHDR, - hwndToolTips: HWND, -}} -pub type LPNMTOOLTIPSCREATED = *mut NMTOOLTIPSCREATED; -STRUCT!{struct NMMOUSE { - hdr: NMHDR, - dwItemSpec: DWORD_PTR, - dwItemData: DWORD_PTR, - pt: POINT, - dwHitInfo: LPARAM, -}} -pub type LPNMMOUSE = *mut NMMOUSE; -pub type NMCLICK = NMMOUSE; -pub type LPNMCLICK = LPNMMOUSE; -STRUCT!{struct NMOBJECTNOTIFY { - hdr: NMHDR, - iItem: c_int, - piid: *const IID, - pObject: *mut c_void, - hResult: HRESULT, - dwFlags: DWORD, -}} -pub type LPNMOBJECTNOTIFY = *mut NMOBJECTNOTIFY; -STRUCT!{struct NMKEY { - hdr: NMHDR, - nVKey: UINT, - uFlags: UINT, -}} -pub type LPNMKEY = *mut NMKEY; -STRUCT!{struct NMCHAR { - hdr: NMHDR, - ch: UINT, - dwItemPrev: DWORD, - dwItemNext: DWORD, -}} -pub type LPNMCHAR = *mut NMCHAR; -STRUCT!{struct NMCUSTOMTEXT { - hdr: NMHDR, - hDC: HDC, - lpString: LPCWSTR, - nCount: c_int, - lpRect: LPRECT, - uFormat: UINT, - fLink: BOOL, -}} -pub type LPNMCUSTOMTEXT = *mut NMCUSTOMTEXT; -pub const NM_FIRST: UINT = 0; -pub const NM_LAST: UINT = -99i32 as u32; -pub const LVN_FIRST: UINT = -100i32 as u32; -pub const LVN_LAST: UINT = -199i32 as u32; -pub const HDN_FIRST: UINT = -300i32 as u32; -pub const HDN_LAST: UINT = -399i32 as u32; -pub const TVN_FIRST: UINT = -400i32 as u32; -pub const TVN_LAST: UINT = -499i32 as u32; -pub const TTN_FIRST: UINT = -520i32 as u32; -pub const TTN_LAST: UINT = -549i32 as u32; -pub const TCN_FIRST: UINT = -550i32 as u32; -pub const TCN_LAST: UINT = -580i32 as u32; -pub const CDN_FIRST: UINT = -601i32 as u32; -pub const CDN_LAST: UINT = -699i32 as u32; -pub const TBN_FIRST: UINT = -700i32 as u32; -pub const TBN_LAST: UINT = -720i32 as u32; -pub const UDN_FIRST: UINT = -721i32 as u32; -pub const UDN_LAST: UINT = -729i32 as u32; -pub const DTN_FIRST: UINT = -740i32 as u32; -pub const DTN_LAST: UINT = -745i32 as u32; -pub const MCN_FIRST: UINT = -746i32 as u32; -pub const MCN_LAST: UINT = -752i32 as u32; -pub const DTN_FIRST2: UINT = -753i32 as u32; -pub const DTN_LAST2: UINT = -799i32 as u32; -pub const CBEN_FIRST: UINT = -800i32 as u32; -pub const CBEN_LAST: UINT = -830i32 as u32; -pub const RBN_FIRST: UINT = -831i32 as u32; -pub const RBN_LAST: UINT = -859i32 as u32; -pub const IPN_FIRST: UINT = -860i32 as u32; -pub const IPN_LAST: UINT = -879i32 as u32; -pub const SBN_FIRST: UINT = -880i32 as u32; -pub const SBN_LAST: UINT = -899i32 as u32; -pub const PGN_FIRST: UINT = -900i32 as u32; -pub const PGN_LAST: UINT = -950i32 as u32; -pub const WMN_FIRST: UINT = -1000i32 as u32; -pub const WMN_LAST: UINT = -1200i32 as u32; -pub const BCN_FIRST: UINT = -1250i32 as u32; -pub const BCN_LAST: UINT = -1350i32 as u32; -pub const TRBN_FIRST: UINT = -1501i32 as u32; -pub const TRBN_LAST: UINT = -1519i32 as u32; -pub const MSGF_COMMCTRL_BEGINDRAG: c_int = 0x4200; -pub const MSGF_COMMCTRL_SIZEHEADER: c_int = 0x4201; -pub const MSGF_COMMCTRL_DRAGSELECT: c_int = 0x4202; -pub const MSGF_COMMCTRL_TOOLBARCUST: c_int = 0x4203; -pub const CDRF_DODEFAULT: LRESULT = 0x00000000; -pub const CDRF_NEWFONT: LRESULT = 0x00000002; -pub const CDRF_SKIPDEFAULT: LRESULT = 0x00000004; -pub const CDRF_DOERASE: LRESULT = 0x00000008; -pub const CDRF_SKIPPOSTPAINT: LRESULT = 0x00000100; -pub const CDRF_NOTIFYPOSTPAINT: LRESULT = 0x00000010; -pub const CDRF_NOTIFYITEMDRAW: LRESULT = 0x00000020; -pub const CDRF_NOTIFYSUBITEMDRAW: LRESULT = 0x00000020; -pub const CDRF_NOTIFYPOSTERASE: LRESULT = 0x00000040; -pub const CDDS_PREPAINT: DWORD = 0x00000001; -pub const CDDS_POSTPAINT: DWORD = 0x00000002; -pub const CDDS_PREERASE: DWORD = 0x00000003; -pub const CDDS_POSTERASE: DWORD = 0x00000004; -pub const CDDS_ITEM: DWORD = 0x00010000; -pub const CDDS_ITEMPREPAINT: DWORD = CDDS_ITEM | CDDS_PREPAINT; -pub const CDDS_ITEMPOSTPAINT: DWORD = CDDS_ITEM | CDDS_POSTPAINT; -pub const CDDS_ITEMPREERASE: DWORD = CDDS_ITEM | CDDS_PREERASE; -pub const CDDS_ITEMPOSTERASE: DWORD = CDDS_ITEM | CDDS_POSTERASE; -pub const CDDS_SUBITEM: DWORD = 0x00020000; -pub const CDIS_SELECTED: UINT = 0x0001; -pub const CDIS_GRAYED: UINT = 0x0002; -pub const CDIS_DISABLED: UINT = 0x0004; -pub const CDIS_CHECKED: UINT = 0x0008; -pub const CDIS_FOCUS: UINT = 0x0010; -pub const CDIS_DEFAULT: UINT = 0x0020; -pub const CDIS_HOT: UINT = 0x0040; -pub const CDIS_MARKED: UINT = 0x0080; -pub const CDIS_INDETERMINATE: UINT = 0x0100; -pub const CDIS_SHOWKEYBOARDCUES: UINT = 0x0200; -pub const CDIS_NEARHOT: UINT = 0x0400; -pub const CDIS_OTHERSIDEHOT: UINT = 0x0800; -pub const CDIS_DROPHILITED: UINT = 0x1000; -STRUCT!{struct NMCUSTOMDRAW { - hdr: NMHDR, - dwDrawStage: DWORD, - hdc: HDC, - rc: RECT, - dwItemSpec: DWORD_PTR, - uItemState: UINT, - lItemlParam: LPARAM, -}} -pub type LPNMCUSTOMDRAW = *mut NMCUSTOMDRAW; -STRUCT!{struct NMTTCUSTOMDRAW { - nmcd: NMCUSTOMDRAW, - uDrawFlags: UINT, -}} -pub type LPNMTTCUSTOMDRAW = *mut NMTTCUSTOMDRAW; -STRUCT!{struct NMCUSTOMSPLITRECTINFO { - hdr: NMHDR, - rcClient: RECT, - rcButton: RECT, - rcSplit: RECT, -}} -pub type LPNMCUSTOMSPLITRECTINFO = *mut NMCUSTOMSPLITRECTINFO; -pub const NM_GETCUSTOMSPLITRECT: UINT = BCN_FIRST + 0x0003; -pub const CLR_NONE: DWORD = 0xFFFFFFFF; -pub const CLR_DEFAULT: DWORD = 0xFF000000; -pub enum IMAGELIST {} -pub type HIMAGELIST = *mut IMAGELIST; -STRUCT!{struct IMAGELISTDRAWPARAMS { - cbSize: DWORD, - himl: HIMAGELIST, - i: c_int, - hdcDst: HDC, - x: c_int, - y: c_int, - cx: c_int, - cy: c_int, - xBitmap: c_int, - yBitmap: c_int, - rgbBk: COLORREF, - rgbFg: COLORREF, - fStyle: UINT, - dwRop: DWORD, - fState: DWORD, - Frame: DWORD, - crEffect: COLORREF, -}} -pub type LPIMAGELISTDRAWPARAMS = *mut IMAGELISTDRAWPARAMS; -pub const ILC_MASK: UINT = 0x00000001; -pub const ILC_COLOR: UINT = 0x00000000; -pub const ILC_COLORDDB: UINT = 0x000000FE; -pub const ILC_COLOR4: UINT = 0x00000004; -pub const ILC_COLOR8: UINT = 0x00000008; -pub const ILC_COLOR16: UINT = 0x00000010; -pub const ILC_COLOR24: UINT = 0x00000018; -pub const ILC_COLOR32: UINT = 0x00000020; -pub const ILC_PALETTE: UINT = 0x00000800; -pub const ILC_MIRROR: UINT = 0x00002000; -pub const ILC_PERITEMMIRROR: UINT = 0x00008000; -pub const ILC_ORIGINALSIZE: UINT = 0x00010000; -pub const ILC_HIGHQUALITYSCALE: UINT = 0x00020000; -extern "system" { - pub fn ImageList_Create( - cx: c_int, - cy: c_int, - flags: UINT, - cInitial: c_int, - cGrow: c_int, - ) -> HIMAGELIST; - pub fn ImageList_Destroy( - himl: HIMAGELIST, - ) -> BOOL; - pub fn ImageList_GetImageCount( - himl: HIMAGELIST, - ) -> c_int; - pub fn ImageList_SetImageCount( - himl: HIMAGELIST, - uNewCount: UINT, - ) -> BOOL; - pub fn ImageList_Add( - himl: HIMAGELIST, - hbmImage: HBITMAP, - hbmMask: HBITMAP, - ) -> c_int; - pub fn ImageList_ReplaceIcon( - himl: HIMAGELIST, - i: c_int, - hicon: HICON, - ) -> c_int; - pub fn ImageList_SetBkColor( - himl: HIMAGELIST, - clrBk: COLORREF, - ) -> COLORREF; - pub fn ImageList_GetBkColor( - himl: HIMAGELIST, - ) -> COLORREF; - pub fn ImageList_SetOverlayImage( - himl: HIMAGELIST, - iImage: c_int, - iOverlay: c_int, - ) -> BOOL; -} -#[inline] -pub unsafe fn ImageList_AddIcon(himl: HIMAGELIST, hicon: HICON) -> c_int { - ImageList_ReplaceIcon(himl, -1, hicon) -} -pub const ILD_NORMAL: UINT = 0x00000000; -pub const ILD_TRANSPARENT: UINT = 0x00000001; -pub const ILD_MASK: UINT = 0x00000010; -pub const ILD_IMAGE: UINT = 0x00000020; -pub const ILD_ROP: UINT = 0x00000040; -pub const ILD_BLEND25: UINT = 0x00000002; -pub const ILD_BLEND50: UINT = 0x00000004; -pub const ILD_OVERLAYMASK: UINT = 0x00000F00; -#[inline] -pub fn INDEXTOOVERLAYMASK(i: UINT) -> UINT { - i << 8 -} -pub const ILD_PRESERVEALPHA: UINT = 0x00001000; -pub const ILD_SCALE: UINT = 0x00002000; -pub const ILD_DPISCALE: UINT = 0x00004000; -pub const ILD_ASYNC: UINT = 0x00008000; -pub const ILD_SELECTED: UINT = ILD_BLEND50; -pub const ILD_FOCUS: UINT = ILD_BLEND25; -pub const ILD_BLEND: UINT = ILD_BLEND50; -pub const CLR_HILIGHT: DWORD = CLR_DEFAULT; -pub const ILS_NORMAL: DWORD = 0x00000000; -pub const ILS_GLOW: DWORD = 0x00000001; -pub const ILS_SHADOW: DWORD = 0x00000002; -pub const ILS_SATURATE: DWORD = 0x00000004; -pub const ILS_ALPHA: DWORD = 0x00000008; -pub const ILGT_NORMAL: DWORD = 0x00000000; -pub const ILGT_ASYNC : DWORD = 0x00000001; -extern "system" { - pub fn ImageList_Draw( - himl: HIMAGELIST, - i: c_int, - hdcDst: HDC, - x: c_int, - y: c_int, - fStyle: UINT, - ) -> BOOL; -} -pub const HBITMAP_CALLBACK: HBITMAP = -1isize as HBITMAP; -extern "system" { - pub fn ImageList_Replace( - himl: HIMAGELIST, - i: c_int, - hbmImage: HBITMAP, - hbmMask: HBITMAP, - ) -> BOOL; - pub fn ImageList_AddMasked( - himl: HIMAGELIST, - hbmImage: HBITMAP, - crMask: COLORREF, - ) -> c_int; - pub fn ImageList_DrawEx( - himl: HIMAGELIST, - i: c_int, - hdcDst: HDC, - x: c_int, - y: c_int, - dx: c_int, - dy: c_int, - rgbBk: COLORREF, - rgbFg: COLORREF, - fStyle: UINT, - ) -> BOOL; - pub fn ImageList_DrawIndirect( - pimldp: *mut IMAGELISTDRAWPARAMS, - ) -> BOOL; - pub fn ImageList_Remove( - himl: HIMAGELIST, - i: c_int, - ) -> BOOL; - pub fn ImageList_GetIcon( - himl: HIMAGELIST, - i: c_int, - flags: UINT, - ) -> HICON; - pub fn ImageList_LoadImageA( - hi: HINSTANCE, - lpbmp: LPCSTR, - cx: c_int, - cGrow: c_int, - crMask: COLORREF, - uType: UINT, - uFlags: UINT, - ) -> HIMAGELIST; - pub fn ImageList_LoadImageW( - hi: HINSTANCE, - lpbmp: LPCWSTR, - cx: c_int, - cGrow: c_int, - crMask: COLORREF, - uType: UINT, - uFlags: UINT, - ) -> HIMAGELIST; -} -pub const ILCF_MOVE: UINT = 0x00000000; -pub const ILCF_SWAP: UINT = 0x00000001; -extern "system" { - pub fn ImageList_Copy( - himlDst: HIMAGELIST, - iDst: c_int, - himlSrc: HIMAGELIST, - iSrc: c_int, - uFlags: UINT, - ) -> BOOL; - pub fn ImageList_BeginDrag( - himlTrack: HIMAGELIST, - iTrack: c_int, - dxHotspot: c_int, - dyHotspot: c_int, - ) -> BOOL; - pub fn ImageList_EndDrag(); - pub fn ImageList_DragEnter( - hwndLock: HWND, - x: c_int, - y: c_int, - ) -> BOOL; - pub fn ImageList_DragLeave( - hwndLock: HWND, - ) -> BOOL; - pub fn ImageList_DragMove( - x: c_int, - y: c_int, - ) -> BOOL; - pub fn ImageList_SetDragCursorImage( - himlDrag: HIMAGELIST, - iDrag: c_int, - dxHotspot: c_int, - dyHotspot: c_int, - ) -> BOOL; - pub fn ImageList_DragShowNolock( - fShow: BOOL, - ) -> BOOL; - pub fn ImageList_GetDragImage( - ppt: *mut POINT, - pptHotspot: *mut POINT, - ) -> HIMAGELIST; -} -#[inline] -pub unsafe fn ImageList_RemoveAll(himl: HIMAGELIST) -> BOOL { - ImageList_Remove(himl, -1) -} -#[inline] -pub unsafe fn ImageList_ExtractIcon(_: HINSTANCE, himl: HIMAGELIST, i: c_int) -> HICON { - ImageList_GetIcon(himl, i, 0) -} -#[inline] -pub unsafe fn ImageList_LoadBitmap( - hi: HINSTANCE, - lpbmp: LPCWSTR, - cx: c_int, - cGrow: c_int, - crMask: COLORREF, -) -> HIMAGELIST { - ImageList_LoadImageW(hi, lpbmp, cx, cGrow, crMask, IMAGE_BITMAP, 0) -} -pub enum IStream {} -extern "system" { - pub fn ImageList_Read( - pstm: *mut IStream, - ) -> HIMAGELIST; - pub fn ImageList_Write( - himl: HIMAGELIST, - pstm: *mut IStream, - ) -> BOOL; -} -pub const ILP_NORMAL: DWORD = 0; -pub const ILP_DOWNLEVEL: DWORD = 0; -extern "system" { - pub fn ImageList_ReadEx( - dwFlags: DWORD, - pstm: *mut IStream, - riid: REFIID, - ppv: *mut PVOID, - ) -> HRESULT; - pub fn ImageList_WriteEx( - himl: HIMAGELIST, - dwFlags: DWORD, - pstm: *mut IStream, - ) -> HRESULT; -} -STRUCT!{struct IMAGEINFO { - hbmImage: HBITMAP, - hbmMask: HBITMAP, - Unused1: c_int, - Unused2: c_int, - rcImage: RECT, -}} -pub type LPIMAGEINFO = *mut IMAGEINFO; -extern "system" { - pub fn ImageList_GetIconSize( - himl: HIMAGELIST, - cx: *mut c_int, - cy: *mut c_int, - ) -> BOOL; - pub fn ImageList_SetIconSize( - himl: HIMAGELIST, - cx: c_int, - cy: c_int, - ) -> BOOL; - pub fn ImageList_GetImageInfo( - himl: HIMAGELIST, - i: c_int, - pImageInfo: *mut IMAGEINFO, - ) -> BOOL; - pub fn ImageList_Merge( - himl1: HIMAGELIST, - i1: c_int, - himl2: HIMAGELIST, - i2: c_int, - dx: c_int, - dy: c_int, - ) -> HIMAGELIST; - pub fn ImageList_Duplicate( - himl: HIMAGELIST, - ) -> HIMAGELIST; - pub fn HIMAGELIST_QueryInterface( - himl: HIMAGELIST, - riid: REFIID, - ppv: *mut *mut c_void, - ) -> HRESULT; -} -#[inline] -pub fn IImageListToHIMAGELIST(himl: *mut IImageList) -> HIMAGELIST { - himl as HIMAGELIST -} -pub const WC_HEADER: &'static str = "SysHeader32"; -pub const HDS_HORZ: DWORD = 0x0000; -pub const HDS_BUTTONS: DWORD = 0x0002; -pub const HDS_HOTTRACK: DWORD = 0x0004; -pub const HDS_HIDDEN: DWORD = 0x0008; -pub const HDS_DRAGDROP: DWORD = 0x0040; -pub const HDS_FULLDRAG: DWORD = 0x0080; -pub const HDS_FILTERBAR: DWORD = 0x0100; -pub const HDS_FLAT: DWORD = 0x0200; -pub const HDS_CHECKBOXES: DWORD = 0x0400; -pub const HDS_NOSIZING: DWORD = 0x0800; -pub const HDS_OVERFLOW: DWORD = 0x1000; -pub const HDFT_ISSTRING: UINT = 0x0000; -pub const HDFT_ISNUMBER: UINT = 0x0001; -pub const HDFT_ISDATE: UINT = 0x0002; -pub const HDFT_HASNOVALUE: UINT = 0x8000; -STRUCT!{struct HD_TEXTFILTERA { - pszText: LPSTR, - cchTextMax: INT, -}} -pub type LPHD_TEXTFILTERA = *mut HD_TEXTFILTERA; -STRUCT!{struct HD_TEXTFILTERW { - pszText: LPWSTR, - cchTextMax: INT, -}} -pub type LPHD_TEXTFILTERW = *mut HD_TEXTFILTERW; -STRUCT!{struct HDITEMA { - mask: UINT, - cxy: c_int, - pszText: LPSTR, - hbm: HBITMAP, - cchTextMax: c_int, - fmt: c_int, - lParam: LPARAM, - iImage: c_int, - iOrder: c_int, - _type: UINT, - pvFilter: *mut c_void, - state: UINT, -}} -pub type LPHDITEMA = *mut HDITEMA; -STRUCT!{struct HDITEMW { - mask: UINT, - cxy: c_int, - pszText: LPWSTR, - hbm: HBITMAP, - cchTextMax: c_int, - fmt: c_int, - lParam: LPARAM, - iImage: c_int, - iOrder: c_int, - _type: UINT, - pvFilter: *mut c_void, - state: UINT, -}} -pub type LPHDITEMW = *mut HDITEMW; -pub const HDI_WIDTH: UINT = 0x0001; -pub const HDI_HEIGHT: UINT = HDI_WIDTH; -pub const HDI_TEXT: UINT = 0x0002; -pub const HDI_FORMAT: UINT = 0x0004; -pub const HDI_LPARAM: UINT = 0x0008; -pub const HDI_BITMAP: UINT = 0x0010; -pub const HDI_IMAGE: UINT = 0x0020; -pub const HDI_DI_SETITEM: UINT = 0x0040; -pub const HDI_ORDER: UINT = 0x0080; -pub const HDI_FILTER: UINT = 0x0100; -pub const HDI_STATE: UINT = 0x0200; -pub const HDF_LEFT: c_int = 0x0000; -pub const HDF_RIGHT: c_int = 0x0001; -pub const HDF_CENTER: c_int = 0x0002; -pub const HDF_JUSTIFYMASK: c_int = 0x0003; -pub const HDF_RTLREADING: c_int = 0x0004; -pub const HDF_BITMAP: c_int = 0x2000; -pub const HDF_STRING: c_int = 0x4000; -pub const HDF_OWNERDRAW: c_int = 0x8000; -pub const HDF_IMAGE: c_int = 0x0800; -pub const HDF_BITMAP_ON_RIGHT: c_int = 0x1000; -pub const HDF_SORTUP: c_int = 0x0400; -pub const HDF_SORTDOWN: c_int = 0x0200; -pub const HDF_CHECKBOX: c_int = 0x0040; -pub const HDF_CHECKED: c_int = 0x0080; -pub const HDF_FIXEDWIDTH: c_int = 0x0100; -pub const HDF_SPLITBUTTON: c_int = 0x1000000; -pub const HDIS_FOCUSED: UINT = 0x00000001; -pub const HDM_GETITEMCOUNT: UINT = HDM_FIRST + 0; -pub const HDM_INSERTITEMA: UINT = HDM_FIRST + 1; -pub const HDM_INSERTITEMW: UINT = HDM_FIRST + 10; -pub const HDM_DELETEITEM: UINT = HDM_FIRST + 2; -pub const HDM_GETITEMA: UINT = HDM_FIRST + 3; -pub const HDM_GETITEMW: UINT = HDM_FIRST + 11; -pub const HDM_SETITEMA: UINT = HDM_FIRST + 4; -pub const HDM_SETITEMW: UINT = HDM_FIRST + 12; -STRUCT!{struct HDLAYOUT { - prc: *mut RECT, - pwpos: *mut WINDOWPOS, -}} -pub type LPHDLAYOUT = *mut HDLAYOUT; -pub const HDM_LAYOUT: UINT = HDM_FIRST + 5; -pub const HHT_NOWHERE: UINT = 0x0001; -pub const HHT_ONHEADER: UINT = 0x0002; -pub const HHT_ONDIVIDER: UINT = 0x0004; -pub const HHT_ONDIVOPEN: UINT = 0x0008; -pub const HHT_ONFILTER: UINT = 0x0010; -pub const HHT_ONFILTERBUTTON: UINT = 0x0020; -pub const HHT_ABOVE: UINT = 0x0100; -pub const HHT_BELOW: UINT = 0x0200; -pub const HHT_TORIGHT: UINT = 0x0400; -pub const HHT_TOLEFT: UINT = 0x0800; -pub const HHT_ONITEMSTATEICON: UINT = 0x1000; -pub const HHT_ONDROPDOWN: UINT = 0x2000; -pub const HHT_ONOVERFLOW: UINT = 0x4000; -STRUCT!{struct HDHITTESTINFO { - pt: POINT, - flags: UINT, - iItem: c_int, -}} -pub type LPHDHITTESTINFO = *mut HDHITTESTINFO; -pub type HD_HITTESTINFO = HDHITTESTINFO; -pub const HDSIL_NORMAL: WPARAM = 0; -pub const HDSIL_STATE: WPARAM = 1; -pub const HDM_HITTEST: UINT = HDM_FIRST + 6; -pub const HDM_GETITEMRECT: UINT = HDM_FIRST + 7; -pub const HDM_SETIMAGELIST: UINT = HDM_FIRST + 8; -pub const HDM_GETIMAGELIST: UINT = HDM_FIRST + 9; -pub const HDM_ORDERTOINDEX: UINT = HDM_FIRST + 15; -pub const HDM_CREATEDRAGIMAGE: UINT = HDM_FIRST + 16; -pub const HDM_GETORDERARRAY: UINT = HDM_FIRST + 17; -pub const HDM_SETORDERARRAY: UINT = HDM_FIRST + 18; -pub const HDM_SETHOTDIVIDER: UINT = HDM_FIRST + 19; -pub const HDM_SETBITMAPMARGIN: UINT = HDM_FIRST + 20; -pub const HDM_GETBITMAPMARGIN: UINT = HDM_FIRST + 21; -pub const HDM_SETUNICODEFORMAT: UINT = CCM_SETUNICODEFORMAT; -pub const HDM_GETUNICODEFORMAT: UINT = CCM_GETUNICODEFORMAT; -pub const HDM_SETFILTERCHANGETIMEOUT: UINT = HDM_FIRST + 22; -pub const HDM_EDITFILTER: UINT = HDM_FIRST + 23; -pub const HDM_CLEARFILTER: UINT = HDM_FIRST + 24; -pub const HDM_GETITEMDROPDOWNRECT: UINT = HDM_FIRST + 25; -pub const HDM_GETOVERFLOWRECT: UINT = HDM_FIRST + 26; -pub const HDM_GETFOCUSEDITEM: UINT = HDM_FIRST + 27; -pub const HDM_SETFOCUSEDITEM: UINT = HDM_FIRST + 28; -pub const HDN_ITEMCHANGINGA: UINT = HDN_FIRST - 0; -pub const HDN_ITEMCHANGINGW: UINT = HDN_FIRST - 20; -pub const HDN_ITEMCHANGEDA: UINT = HDN_FIRST - 1; -pub const HDN_ITEMCHANGEDW: UINT = HDN_FIRST - 21; -pub const HDN_ITEMCLICKA: UINT = HDN_FIRST - 2; -pub const HDN_ITEMCLICKW: UINT = HDN_FIRST - 22; -pub const HDN_ITEMDBLCLICKA: UINT = HDN_FIRST - 3; -pub const HDN_ITEMDBLCLICKW: UINT = HDN_FIRST - 23; -pub const HDN_DIVIDERDBLCLICKA: UINT = HDN_FIRST - 5; -pub const HDN_DIVIDERDBLCLICKW: UINT = HDN_FIRST - 25; -pub const HDN_BEGINTRACKA: UINT = HDN_FIRST - 6; -pub const HDN_BEGINTRACKW: UINT = HDN_FIRST - 26; -pub const HDN_ENDTRACKA: UINT = HDN_FIRST - 7; -pub const HDN_ENDTRACKW: UINT = HDN_FIRST - 27; -pub const HDN_TRACKA: UINT = HDN_FIRST - 8; -pub const HDN_TRACKW: UINT = HDN_FIRST - 28; -pub const HDN_GETDISPINFOA: UINT = HDN_FIRST - 9; -pub const HDN_GETDISPINFOW: UINT = HDN_FIRST - 29; -pub const HDN_BEGINDRAG: UINT = HDN_FIRST - 10; -pub const HDN_ENDDRAG: UINT = HDN_FIRST - 11; -pub const HDN_FILTERCHANGE: UINT = HDN_FIRST - 12; -pub const HDN_FILTERBTNCLICK: UINT = HDN_FIRST - 13; -pub const HDN_BEGINFILTEREDIT: UINT = HDN_FIRST - 14; -pub const HDN_ENDFILTEREDIT: UINT = HDN_FIRST - 15; -pub const HDN_ITEMSTATEICONCLICK: UINT = HDN_FIRST - 16; -pub const HDN_ITEMKEYDOWN: UINT = HDN_FIRST - 17; -pub const HDN_DROPDOWN: UINT = HDN_FIRST - 18; -pub const HDN_OVERFLOWCLICK: UINT = HDN_FIRST - 19; -STRUCT!{struct NMHEADERA { - hdr: NMHDR, - iItem: c_int, - iButton: c_int, - pitem: *mut HDITEMA, -}} -pub type LPNMHEADERA = *mut NMHEADERA; -pub type HD_NOTIFYA = NMHEADERA; -STRUCT!{struct NMHEADERW { - hdr: NMHDR, - iItem: c_int, - iButton: c_int, - pitem: *mut HDITEMW, -}} -pub type LPNMHEADERW = *mut NMHEADERW; -pub type HD_NOTIFYW = NMHEADERW; -STRUCT!{struct NMHDDISPINFOW { - hdr: NMHDR, - iItem: c_int, - mask: UINT, - pszText: LPWSTR, - cchTextMax: c_int, - iImage: c_int, - lParam: LPARAM, -}} -pub type LPNMHDDISPINFOW = *mut NMHDDISPINFOW; -STRUCT!{struct NMHDDISPINFOA { - hdr: NMHDR, - iItem: c_int, - mask: UINT, - pszText: LPSTR, - cchTextMax: c_int, - iImage: c_int, - lParam: LPARAM, -}} -pub type LPNMHDDISPINFOA = *mut NMHDDISPINFOA; -STRUCT!{struct NMHDFILTERBTNCLICK { - hdr: NMHDR, - iItem: INT, - rc: RECT, -}} -pub type LPNMHDFILTERBTNCLICK = *mut NMHDFILTERBTNCLICK; -pub const TOOLBARCLASSNAME: &'static str = "ToolbarWindow32"; -#[cfg(target_arch = "x86")] -STRUCT!{struct TBBUTTON { - iBitmap: c_int, - idCommand: c_int, - fsState: BYTE, - fsStyle: BYTE, - bReserved: [BYTE; 2], - dwData: DWORD_PTR, - iString: INT_PTR, -}} -#[cfg(target_pointer_width = "64")] -STRUCT!{struct TBBUTTON { - iBitmap: c_int, - idCommand: c_int, - fsState: BYTE, - fsStyle: BYTE, - bReserved: [BYTE; 6], - dwData: DWORD_PTR, - iString: INT_PTR, -}} -pub type PTBBUTTON = *mut TBBUTTON; -pub type LPTBBUTTON = *mut TBBUTTON; -pub type LPCTBBUTTON = *const TBBUTTON; -STRUCT!{struct COLORMAP { - from: COLORREF, - to: COLORREF, -}} -pub type LPCOLORMAP = *mut COLORMAP; -extern "system" { - pub fn CreateToolbarEx( - hwnd: HWND, - ws: DWORD, - wID: UINT, - nBitmaps: c_int, - hBMInst: HINSTANCE, - wBMID: UINT_PTR, - lpButtons: LPCTBBUTTON, - iNumButtons: c_int, - dxButton: c_int, - dyButton: c_int, - dxBitmap: c_int, - dyBitmap: c_int, - uStructSize: UINT, - ) -> HWND; - pub fn CreateMappedBitmap( - hInstance: HINSTANCE, - idBitmap: INT_PTR, - wFlags: UINT, - lpColorMap: LPCOLORMAP, - iNumMaps: c_int, - ) -> HBITMAP; -} -pub const CMB_MASKED: UINT = 0x02; -pub const TBSTATE_CHECKED: BYTE = 0x01; -pub const TBSTATE_PRESSED: BYTE = 0x02; -pub const TBSTATE_ENABLED: BYTE = 0x04; -pub const TBSTATE_HIDDEN: BYTE = 0x08; -pub const TBSTATE_INDETERMINATE: BYTE = 0x10; -pub const TBSTATE_WRAP: BYTE = 0x20; -pub const TBSTATE_ELLIPSES: BYTE = 0x40; -pub const TBSTATE_MARKED: BYTE = 0x80; -pub const TBSTYLE_BUTTON: DWORD = 0x0000; -pub const TBSTYLE_SEP: DWORD = 0x0001; -pub const TBSTYLE_CHECK: DWORD = 0x0002; -pub const TBSTYLE_GROUP: DWORD = 0x0004; -pub const TBSTYLE_CHECKGROUP: DWORD = TBSTYLE_GROUP | TBSTYLE_CHECK; -pub const TBSTYLE_DROPDOWN: DWORD = 0x0008; -pub const TBSTYLE_AUTOSIZE: DWORD = 0x0010; -pub const TBSTYLE_NOPREFIX: DWORD = 0x0020; -pub const TBSTYLE_TOOLTIPS: DWORD = 0x0100; -pub const TBSTYLE_WRAPABLE: DWORD = 0x0200; -pub const TBSTYLE_ALTDRAG: DWORD = 0x0400; -pub const TBSTYLE_FLAT: DWORD = 0x0800; -pub const TBSTYLE_LIST: DWORD = 0x1000; -pub const TBSTYLE_CUSTOMERASE: DWORD = 0x2000; -pub const TBSTYLE_REGISTERDROP: DWORD = 0x4000; -pub const TBSTYLE_TRANSPARENT: DWORD = 0x8000; -pub const TBSTYLE_EX_DRAWDDARROWS: DWORD = 0x00000001; -pub const BTNS_BUTTON: DWORD = TBSTYLE_BUTTON; -pub const BTNS_SEP: DWORD = TBSTYLE_SEP; -pub const BTNS_CHECK: DWORD = TBSTYLE_CHECK; -pub const BTNS_GROUP: DWORD = TBSTYLE_GROUP; -pub const BTNS_CHECKGROUP: DWORD = TBSTYLE_CHECKGROUP; -pub const BTNS_DROPDOWN: DWORD = TBSTYLE_DROPDOWN; -pub const BTNS_AUTOSIZE: DWORD = TBSTYLE_AUTOSIZE; -pub const BTNS_NOPREFIX: DWORD = TBSTYLE_NOPREFIX; -pub const BTNS_SHOWTEXT: DWORD = 0x0040; -pub const BTNS_WHOLEDROPDOWN: DWORD = 0x0080; -pub const TBSTYLE_EX_MIXEDBUTTONS: DWORD = 0x00000008; -pub const TBSTYLE_EX_HIDECLIPPEDBUTTONS: DWORD = 0x00000010; -pub const TBSTYLE_EX_MULTICOLUMN: DWORD = 0x00000002; -pub const TBSTYLE_EX_VERTICAL: DWORD = 0x00000004; -pub const TBSTYLE_EX_DOUBLEBUFFER: DWORD = 0x00000080; -STRUCT!{struct NMTBCUSTOMDRAW { - nmcd: NMCUSTOMDRAW, - hbrMonoDither: HBRUSH, - hbrLines: HBRUSH, - hpenLines: HPEN, - clrText: COLORREF, - clrMark: COLORREF, - clrTextHighlight: COLORREF, - clrBtnFace: COLORREF, - clrBtnHighlight: COLORREF, - clrHighlightHotTrack: COLORREF, - rcText: RECT, - nStringBkMode: c_int, - nHLStringBkMode: c_int, - iListGap: c_int, -}} -pub type LPNMTBCUSTOMDRAW = *mut NMTBCUSTOMDRAW; -pub const TBCDRF_NOEDGES: LRESULT = 0x00010000; -pub const TBCDRF_HILITEHOTTRACK: LRESULT = 0x00020000; -pub const TBCDRF_NOOFFSET: LRESULT = 0x00040000; -pub const TBCDRF_NOMARK: LRESULT = 0x00080000; -pub const TBCDRF_NOETCHEDEFFECT: LRESULT = 0x00100000; -pub const TBCDRF_BLENDICON: LRESULT = 0x00200000; -pub const TBCDRF_NOBACKGROUND: LRESULT = 0x00400000; -pub const TBCDRF_USECDCOLORS: LRESULT = 0x00800000; -pub const TB_ENABLEBUTTON: UINT = WM_USER + 1; -pub const TB_CHECKBUTTON: UINT = WM_USER + 2; -pub const TB_PRESSBUTTON: UINT = WM_USER + 3; -pub const TB_HIDEBUTTON: UINT = WM_USER + 4; -pub const TB_INDETERMINATE: UINT = WM_USER + 5; -pub const TB_MARKBUTTON: UINT = WM_USER + 6; -pub const TB_ISBUTTONENABLED: UINT = WM_USER + 9; -pub const TB_ISBUTTONCHECKED: UINT = WM_USER + 10; -pub const TB_ISBUTTONPRESSED: UINT = WM_USER + 11; -pub const TB_ISBUTTONHIDDEN: UINT = WM_USER + 12; -pub const TB_ISBUTTONINDETERMINATE: UINT = WM_USER + 13; -pub const TB_ISBUTTONHIGHLIGHTED: UINT = WM_USER + 14; -pub const TB_SETSTATE: UINT = WM_USER + 17; -pub const TB_GETSTATE: UINT = WM_USER + 18; -pub const TB_ADDBITMAP: UINT = WM_USER + 19; -STRUCT!{struct TBADDBITMAP { - hInst: HINSTANCE, - nID: UINT_PTR, -}} -pub type LPTBADDBITMAP = *mut TBADDBITMAP; -pub const HINST_COMMCTRL: HINSTANCE = -1isize as HINSTANCE; -pub const IDB_STD_SMALL_COLOR: WPARAM = 0; -pub const IDB_STD_LARGE_COLOR: WPARAM = 1; -pub const IDB_VIEW_SMALL_COLOR: WPARAM = 4; -pub const IDB_VIEW_LARGE_COLOR: WPARAM = 5; -pub const IDB_HIST_SMALL_COLOR: WPARAM = 8; -pub const IDB_HIST_LARGE_COLOR: WPARAM = 9; -pub const IDB_HIST_NORMAL: WPARAM = 12; -pub const IDB_HIST_HOT: WPARAM = 13; -pub const IDB_HIST_DISABLED: WPARAM = 14; -pub const IDB_HIST_PRESSED: WPARAM = 15; -pub const STD_CUT: c_int = 0; -pub const STD_COPY: c_int = 1; -pub const STD_PASTE: c_int = 2; -pub const STD_UNDO: c_int = 3; -pub const STD_REDOW: c_int = 4; -pub const STD_DELETE: c_int = 5; -pub const STD_FILENEW: c_int = 6; -pub const STD_FILEOPEN: c_int = 7; -pub const STD_FILESAVE: c_int = 8; -pub const STD_PRINTPRE: c_int = 9; -pub const STD_PROPERTIES: c_int = 10; -pub const STD_HELP: c_int = 11; -pub const STD_FIND: c_int = 12; -pub const STD_REPLACE: c_int = 13; -pub const STD_PRINT: c_int = 14; -pub const VIEW_LARGEICONS: c_int = 0; -pub const VIEW_SMALLICONS: c_int = 1; -pub const VIEW_LIST: c_int = 2; -pub const VIEW_DETAILS: c_int = 3; -pub const VIEW_SORTNAME: c_int = 4; -pub const VIEW_SORTSIZE: c_int = 5; -pub const VIEW_SORTDATE: c_int = 6; -pub const VIEW_SORTTYPE: c_int = 7; -pub const VIEW_PARENTFOLDER: c_int = 8; -pub const VIEW_NETCONNECT: c_int = 9; -pub const VIEW_NETDISCONNECT: c_int = 10; -pub const VIEW_NEWFOLDER: c_int = 11; -pub const VIEW_VIEWMENU: c_int = 12; -pub const HIST_BACK: c_int = 0; -pub const HIST_FORWARD: c_int = 1; -pub const HIST_FAVORITES: c_int = 2; -pub const HIST_ADDTOFAVORITES: c_int = 3; -pub const HIST_VIEWTREE: c_int = 4; -pub const TB_ADDBUTTONSA: UINT = WM_USER + 20; -pub const TB_INSERTBUTTONA: UINT = WM_USER + 21; -pub const TB_DELETEBUTTON: UINT = WM_USER + 22; -pub const TB_GETBUTTON: UINT = WM_USER + 23; -pub const TB_BUTTONCOUNT: UINT = WM_USER + 24; -pub const TB_COMMANDTOINDEX: UINT = WM_USER + 25; -STRUCT!{struct TBSAVEPARAMSA { - hkr: HKEY, - pszSubKey: LPCSTR, - pszValueName: LPCSTR, -}} -pub type LPTBSAVEPARAMSA = *mut TBSAVEPARAMSA; -STRUCT!{struct TBSAVEPARAMSW { - hkr: HKEY, - pszSubKey: LPCWSTR, - pszValueName: LPCWSTR, -}} -pub type LPTBSAVEPARAMSW = *mut TBSAVEPARAMSW; -pub const TB_SAVERESTOREA: UINT = WM_USER + 26; -pub const TB_SAVERESTOREW: UINT = WM_USER + 76; -pub const TB_CUSTOMIZE: UINT = WM_USER + 27; -pub const TB_ADDSTRINGA: UINT = WM_USER + 28; -pub const TB_ADDSTRINGW: UINT = WM_USER + 77; -pub const TB_GETITEMRECT: UINT = WM_USER + 29; -pub const TB_BUTTONSTRUCTSIZE: UINT = WM_USER + 30; -pub const TB_SETBUTTONSIZE: UINT = WM_USER + 31; -pub const TB_SETBITMAPSIZE: UINT = WM_USER + 32; -pub const TB_AUTOSIZE: UINT = WM_USER + 33; -pub const TB_GETTOOLTIPS: UINT = WM_USER + 35; -pub const TB_SETTOOLTIPS: UINT = WM_USER + 36; -pub const TB_SETPARENT: UINT = WM_USER + 37; -pub const TB_SETROWS: UINT = WM_USER + 39; -pub const TB_GETROWS: UINT = WM_USER + 40; -pub const TB_SETCMDID: UINT = WM_USER + 42; -pub const TB_CHANGEBITMAP: UINT = WM_USER + 43; -pub const TB_GETBITMAP: UINT = WM_USER + 44; -pub const TB_GETBUTTONTEXTA: UINT = WM_USER + 45; -pub const TB_GETBUTTONTEXTW: UINT = WM_USER + 75; -pub const TB_REPLACEBITMAP: UINT = WM_USER + 46; -pub const TB_SETINDENT: UINT = WM_USER + 47; -pub const TB_SETIMAGELIST: UINT = WM_USER + 48; -pub const TB_GETIMAGELIST: UINT = WM_USER + 49; -pub const TB_LOADIMAGES: UINT = WM_USER + 50; -pub const TB_GETRECT: UINT = WM_USER + 51; -pub const TB_SETHOTIMAGELIST: UINT = WM_USER + 52; -pub const TB_GETHOTIMAGELIST: UINT = WM_USER + 53; -pub const TB_SETDISABLEDIMAGELIST: UINT = WM_USER + 54; -pub const TB_GETDISABLEDIMAGELIST: UINT = WM_USER + 55; -pub const TB_SETSTYLE: UINT = WM_USER + 56; -pub const TB_GETSTYLE: UINT = WM_USER + 57; -pub const TB_GETBUTTONSIZE: UINT = WM_USER + 58; -pub const TB_SETBUTTONWIDTH: UINT = WM_USER + 59; -pub const TB_SETMAXTEXTROWS: UINT = WM_USER + 60; -pub const TB_GETTEXTROWS: UINT = WM_USER + 61; -pub const TB_GETOBJECT: UINT = WM_USER + 62; -pub const TB_GETHOTITEM: UINT = WM_USER + 71; -pub const TB_SETHOTITEM: UINT = WM_USER + 72; -pub const TB_SETANCHORHIGHLIGHT: UINT = WM_USER + 73; -pub const TB_GETANCHORHIGHLIGHT: UINT = WM_USER + 74; -pub const TB_MAPACCELERATORA: UINT = WM_USER + 78; -STRUCT!{struct TBINSERTMARK { - iButton: c_int, - dwFlags: DWORD, -}} -pub type LPTBINSERTMARK = *mut TBINSERTMARK; -pub const TBIMHT_AFTER: DWORD = 0x00000001; -pub const TBIMHT_BACKGROUND: DWORD = 0x00000002; -pub const TB_GETINSERTMARK: UINT = WM_USER + 79; -pub const TB_SETINSERTMARK: UINT = WM_USER + 80; -pub const TB_INSERTMARKHITTEST: UINT = WM_USER + 81; -pub const TB_MOVEBUTTON: UINT = WM_USER + 82; -pub const TB_GETMAXSIZE: UINT = WM_USER + 83; -pub const TB_SETEXTENDEDSTYLE: UINT = WM_USER + 84; -pub const TB_GETEXTENDEDSTYLE: UINT = WM_USER + 85; -pub const TB_GETPADDING: UINT = WM_USER + 86; -pub const TB_SETPADDING: UINT = WM_USER + 87; -pub const TB_SETINSERTMARKCOLOR: UINT = WM_USER + 88; -pub const TB_GETINSERTMARKCOLOR: UINT = WM_USER + 89; -pub const TB_SETCOLORSCHEME: UINT = CCM_SETCOLORSCHEME; -pub const TB_GETCOLORSCHEME: UINT = CCM_GETCOLORSCHEME; -pub const TB_SETUNICODEFORMAT: UINT = CCM_SETUNICODEFORMAT; -pub const TB_GETUNICODEFORMAT: UINT = CCM_GETUNICODEFORMAT; -pub const TB_MAPACCELERATORW: UINT = WM_USER + 90; -STRUCT!{struct TBREPLACEBITMAP { - hInstOld: HINSTANCE, - nIDOld: UINT_PTR, - hInstNew: HINSTANCE, - nIDNew: UINT_PTR, - nButtons: c_int, -}} -pub type LPTBREPLACEBITMAP = *mut TBREPLACEBITMAP; -pub const TBBF_LARGE: DWORD = 0x0001; -pub const TB_GETBITMAPFLAGS: UINT = WM_USER + 41; -pub const TBIF_IMAGE: DWORD = 0x00000001; -pub const TBIF_TEXT: DWORD = 0x00000002; -pub const TBIF_STATE: DWORD = 0x00000004; -pub const TBIF_STYLE: DWORD = 0x00000008; -pub const TBIF_LPARAM: DWORD = 0x00000010; -pub const TBIF_COMMAND: DWORD = 0x00000020; -pub const TBIF_SIZE: DWORD = 0x00000040; -pub const TBIF_BYINDEX: DWORD = 0x80000000; -STRUCT!{struct TBBUTTONINFOA { - cbSize: UINT, - dwMask: DWORD, - idCommand: c_int, - iImage: c_int, - fsState: BYTE, - fsStyle: BYTE, - cx: WORD, - lParam: DWORD_PTR, - pszText: LPSTR, - cchText: c_int, -}} -pub type LPTBBUTTONINFOA = *mut TBBUTTONINFOA; -STRUCT!{struct TBBUTTONINFOW { - cbSize: UINT, - dwMask: DWORD, - idCommand: c_int, - iImage: c_int, - fsState: BYTE, - fsStyle: BYTE, - cx: WORD, - lParam: DWORD_PTR, - pszText: LPWSTR, - cchText: c_int, -}} -pub type LPTBBUTTONINFOW = *mut TBBUTTONINFOW; -pub const TB_GETBUTTONINFOW: UINT = WM_USER + 63; -pub const TB_SETBUTTONINFOW: UINT = WM_USER + 64; -pub const TB_GETBUTTONINFOA: UINT = WM_USER + 65; -pub const TB_SETBUTTONINFOA: UINT = WM_USER + 66; -pub const TB_INSERTBUTTONW: UINT = WM_USER + 67; -pub const TB_ADDBUTTONSW: UINT = WM_USER + 68; -pub const TB_HITTEST: UINT = WM_USER + 69; -pub const TB_SETDRAWTEXTFLAGS: UINT = WM_USER + 70; -pub const TB_GETSTRINGW: UINT = WM_USER + 91; -pub const TB_GETSTRINGA: UINT = WM_USER + 92; -pub const TB_SETBOUNDINGSIZE: UINT = WM_USER + 93; -pub const TB_SETHOTITEM2: UINT = WM_USER + 94; -pub const TB_HASACCELERATOR: UINT = WM_USER + 95; -pub const TB_SETLISTGAP: UINT = WM_USER + 96; -pub const TB_GETIMAGELISTCOUNT: UINT = WM_USER + 98; -pub const TB_GETIDEALSIZE: UINT = WM_USER + 99; -pub const TBMF_PAD: DWORD = 0x00000001; -pub const TBMF_BARPAD: DWORD = 0x00000002; -pub const TBMF_BUTTONSPACING: DWORD = 0x00000004; -STRUCT!{struct TBMETRICS { - cbSize: UINT, - dwMask: DWORD, - cxPad: c_int, - cyPad: c_int, - cxBarPad: c_int, - cyBarPad: c_int, - cxButtonSpacing: c_int, - cyButtonSpacing: c_int, -}} -pub type LPTBMETRICS = *mut TBMETRICS; -pub const TB_GETMETRICS: UINT = WM_USER + 101; -pub const TB_SETMETRICS: UINT = WM_USER + 102; -pub const TB_GETITEMDROPDOWNRECT: UINT = WM_USER + 103; -pub const TB_SETPRESSEDIMAGELIST: UINT = WM_USER + 104; -pub const TB_GETPRESSEDIMAGELIST: UINT = WM_USER + 105; -pub const TB_SETWINDOWTHEME: UINT = CCM_SETWINDOWTHEME; -pub const TBN_GETBUTTONINFOA: UINT = TBN_FIRST - 0; -pub const TBN_BEGINDRAG: UINT = TBN_FIRST - 1; -pub const TBN_ENDDRAG: UINT = TBN_FIRST - 2; -pub const TBN_BEGINADJUST: UINT = TBN_FIRST - 3; -pub const TBN_ENDADJUST: UINT = TBN_FIRST - 4; -pub const TBN_RESET: UINT = TBN_FIRST - 5; -pub const TBN_QUERYINSERT: UINT = TBN_FIRST - 6; -pub const TBN_QUERYDELETE: UINT = TBN_FIRST - 7; -pub const TBN_TOOLBARCHANGE: UINT = TBN_FIRST - 8; -pub const TBN_CUSTHELP: UINT = TBN_FIRST - 9; -pub const TBN_DROPDOWN: UINT = TBN_FIRST - 10; -pub const TBN_GETOBJECT: UINT = TBN_FIRST - 12; -STRUCT!{struct NMTBHOTITEM { - hdr: NMHDR, - idOld: c_int, - idNew: c_int, - dwFlags: DWORD, -}} -pub type LPNMTBHOTITEM = *mut NMTBHOTITEM; -pub const HICF_OTHER: DWORD = 0x00000000; -pub const HICF_MOUSE: DWORD = 0x00000001; -pub const HICF_ARROWKEYS: DWORD = 0x00000002; -pub const HICF_ACCELERATOR: DWORD = 0x00000004; -pub const HICF_DUPACCEL: DWORD = 0x00000008; -pub const HICF_ENTERING: DWORD = 0x00000010; -pub const HICF_LEAVING: DWORD = 0x00000020; -pub const HICF_RESELECT: DWORD = 0x00000040; -pub const HICF_LMOUSE: DWORD = 0x00000080; -pub const HICF_TOGGLEDROPDOWN: DWORD = 0x00000100; -pub const TBN_HOTITEMCHANGE: UINT = TBN_FIRST - 13; -pub const TBN_DRAGOUT: UINT = TBN_FIRST - 14; -pub const TBN_DELETINGBUTTON: UINT = TBN_FIRST - 15; -pub const TBN_GETDISPINFOA: UINT = TBN_FIRST - 16; -pub const TBN_GETDISPINFOW: UINT = TBN_FIRST - 17; -pub const TBN_GETINFOTIPA: UINT = TBN_FIRST - 18; -pub const TBN_GETINFOTIPW: UINT = TBN_FIRST - 19; -pub const TBN_GETBUTTONINFOW: UINT = TBN_FIRST - 20; -pub const TBN_RESTORE: UINT = TBN_FIRST - 21; -pub const TBN_SAVE: UINT = TBN_FIRST - 22; -pub const TBN_INITCUSTOMIZE: UINT = TBN_FIRST - 23; -pub const TBNRF_HIDEHELP: LRESULT = 0x00000001; -pub const TBNRF_ENDCUSTOMIZE: LRESULT = 0x00000002; -pub const TBN_WRAPHOTITEM: UINT = TBN_FIRST - 24; -pub const TBN_DUPACCELERATOR: UINT = TBN_FIRST - 25; -pub const TBN_WRAPACCELERATOR: UINT = TBN_FIRST - 26; -pub const TBN_DRAGOVER: UINT = TBN_FIRST - 27; -pub const TBN_MAPACCELERATOR: UINT = TBN_FIRST - 28; -STRUCT!{struct NMTBSAVE { - hdr: NMHDR, - pData: *mut DWORD, - pCurrent: *mut DWORD, - cbData: UINT, - iItem: c_int, - cButtons: c_int, - tbButton: TBBUTTON, -}} -pub type LPNMTBSAVE = *mut NMTBSAVE; -STRUCT!{struct NMTBRESTORE { - hdr: NMHDR, - pData: *mut DWORD, - pCurrent: *mut DWORD, - cbData: UINT, - iItem: c_int, - cButtons: c_int, - cbBytesPerRecord: c_int, - tbButton: TBBUTTON, -}} -pub type LPNMTBRESTORE = *mut NMTBRESTORE; -STRUCT!{struct NMTBGETINFOTIPA { - hdr: NMHDR, - pszText: LPSTR, - cchTextMax: c_int, - iItem: c_int, - lParal: LPARAM, -}} -pub type LPNMTBGETINFOTIPA = *mut NMTBGETINFOTIPA; -STRUCT!{struct NMTBGETINFOTIPW { - hdr: NMHDR, - pszText: LPWSTR, - cchTextMax: c_int, - iItem: c_int, - lParal: LPARAM, -}} -pub type LPNMTBGETINFOTIPW = *mut NMTBGETINFOTIPW; -pub const TBNF_IMAGE: DWORD = 0x00000001; -pub const TBNF_TEXT: DWORD = 0x00000002; -pub const TBNF_DI_SETITEM: DWORD = 0x10000000; -STRUCT!{struct NMTBDISPINFOA { - hdr: NMHDR, - dwMask: DWORD, - idCommand: c_int, - lParam: DWORD_PTR, - iImage: c_int, - pszText: LPSTR, - cchText: c_int, -}} -pub type LPNMTBDISPINFOA = *mut NMTBDISPINFOA; -STRUCT!{struct NMTBDISPINFOW { - hdr: NMHDR, - dwMask: DWORD, - idCommand: c_int, - lParam: DWORD_PTR, - iImage: c_int, - pszText: LPWSTR, - cchText: c_int, -}} -pub type LPNMTBDISPINFOW = *mut NMTBDISPINFOW; -pub const TBDDRET_DEFAULT: LRESULT = 0; -pub const TBDDRET_NODEFAULT: LRESULT = 1; -pub const TBDDRET_TREATPRESSED: LRESULT = 2; -pub type TBNOTIFYA = NMTOOLBARA; -pub type TBNOTIFYW = NMTOOLBARW; -pub type LPTBNOTIFYA = LPNMTOOLBARA; -pub type LPTBNOTIFYW = LPNMTOOLBARW; -STRUCT!{struct NMTOOLBARA { - hdr: NMHDR, - iItem: c_int, - tbButton: TBBUTTON, - cchText: c_int, - pszText: LPSTR, - rcButton: RECT, -}} -pub type LPNMTOOLBARA = *mut NMTOOLBARA; -STRUCT!{struct NMTOOLBARW { - hdr: NMHDR, - iItem: c_int, - tbButton: TBBUTTON, - cchText: c_int, - pszText: LPWSTR, - rcButton: RECT, -}} -pub type LPNMTOOLBARW = *mut NMTOOLBARW; -pub const REBARCLASSNAME: &'static str = "ReBarWindow32"; -pub const RBIM_IMAGELIST: UINT = 0x00000001; -pub const RBS_TOOLTIPS: DWORD = 0x00000100; -pub const RBS_VARHEIGHT: DWORD = 0x00000200; -pub const RBS_BANDBORDERS: DWORD = 0x00000400; -pub const RBS_FIXEDORDER: DWORD = 0x00000800; -pub const RBS_REGISTERDROP: DWORD = 0x00001000; -pub const RBS_AUTOSIZE: DWORD = 0x00002000; -pub const RBS_VERTICALGRIPPER: DWORD = 0x00004000; -pub const RBS_DBLCLKTOGGLE: DWORD = 0x00008000; -STRUCT!{struct REBARINFO { - cbSize: UINT, - fMask: UINT, - himl: HIMAGELIST, -}} -pub type LPREBARINFO = *mut REBARINFO; -pub const RBBS_BREAK: UINT = 0x00000001; -pub const RBBS_FIXEDSIZE: UINT = 0x00000002; -pub const RBBS_CHILDEDGE: UINT = 0x00000004; -pub const RBBS_HIDDEN: UINT = 0x00000008; -pub const RBBS_NOVERT: UINT = 0x00000010; -pub const RBBS_FIXEDBMP: UINT = 0x00000020; -pub const RBBS_VARIABLEHEIGHT: UINT = 0x00000040; -pub const RBBS_GRIPPERALWAYS: UINT = 0x00000080; -pub const RBBS_NOGRIPPER: UINT = 0x00000100; -pub const RBBS_USECHEVRON: UINT = 0x00000200; -pub const RBBS_HIDETITLE: UINT = 0x00000400; -pub const RBBS_TOPALIGN: UINT = 0x00000800; -pub const RBBIM_STYLE: UINT = 0x00000001; -pub const RBBIM_COLORS: UINT = 0x00000002; -pub const RBBIM_TEXT: UINT = 0x00000004; -pub const RBBIM_IMAGE: UINT = 0x00000008; -pub const RBBIM_CHILD: UINT = 0x00000010; -pub const RBBIM_CHILDSIZE: UINT = 0x00000020; -pub const RBBIM_SIZE: UINT = 0x00000040; -pub const RBBIM_BACKGROUND: UINT = 0x00000080; -pub const RBBIM_ID: UINT = 0x00000100; -pub const RBBIM_IDEALSIZE: UINT = 0x00000200; -pub const RBBIM_LPARAM: UINT = 0x00000400; -pub const RBBIM_HEADERSIZE: UINT = 0x00000800; -pub const RBBIM_CHEVRONLOCATION: UINT = 0x00001000; -pub const RBBIM_CHEVRONSTATE: UINT = 0x00002000; -STRUCT!{struct REBARBANDINFOA { - cbSize: UINT, - fMask: UINT, - fStyle: UINT, - clrFore: COLORREF, - clrBack: COLORREF, - lpText: LPSTR, - cch: UINT, - iImage: c_int, - hwndChild: HWND, - cxMinChild: UINT, - cyMinChild: UINT, - cx: UINT, - hbmBack: HBITMAP, - wID: UINT, - cyChild: UINT, - cyMaxChild: UINT, - cyIntegral: UINT, - cxIdeal: UINT, - lParam: LPARAM, - cxHeader: UINT, - rcChevronLocation: RECT, - uChevronState: UINT, -}} -pub type LPREBARBANDINFOA = *mut REBARBANDINFOA; -pub type LPCREBARBANDINFOA = *const REBARBANDINFOA; -STRUCT!{struct REBARBANDINFOW { - cbSize: UINT, - fMask: UINT, - fStyle: UINT, - clrFore: COLORREF, - clrBack: COLORREF, - lpText: LPWSTR, - cch: UINT, - iImage: c_int, - hwndChild: HWND, - cxMinChild: UINT, - cyMinChild: UINT, - cx: UINT, - hbmBack: HBITMAP, - wID: UINT, - cyChild: UINT, - cyMaxChild: UINT, - cyIntegral: UINT, - cxIdeal: UINT, - lParam: LPARAM, - cxHeader: UINT, - rcChevronLocation: RECT, - uChevronState: UINT, -}} -pub type LPREBARBANDINFOW = *mut REBARBANDINFOW; -pub type LPCREBARBANDINFOW = *const REBARBANDINFOW; -pub const RB_INSERTBANDA: UINT = WM_USER + 1; -pub const RB_DELETEBAND: UINT = WM_USER + 2; -pub const RB_GETBARINFO: UINT = WM_USER + 3; -pub const RB_SETBARINFO: UINT = WM_USER + 4; -pub const RB_SETBANDINFOA: UINT = WM_USER + 6; -pub const RB_SETPARENT: UINT = WM_USER + 7; -pub const RB_HITTEST: UINT = WM_USER + 8; -pub const RB_GETRECT: UINT = WM_USER + 9; -pub const RB_INSERTBANDW: UINT = WM_USER + 10; -pub const RB_SETBANDINFOW: UINT = WM_USER + 11; -pub const RB_GETBANDCOUNT: UINT = WM_USER + 12; -pub const RB_GETROWCOUNT: UINT = WM_USER + 13; -pub const RB_GETROWHEIGHT: UINT = WM_USER + 14; -pub const RB_IDTOINDEX: UINT = WM_USER + 16; -pub const RB_GETTOOLTIPS: UINT = WM_USER + 17; -pub const RB_SETTOOLTIPS: UINT = WM_USER + 18; -pub const RB_SETBKCOLOR: UINT = WM_USER + 19; -pub const RB_GETBKCOLOR: UINT = WM_USER + 20; -pub const RB_SETTEXTCOLOR: UINT = WM_USER + 21; -pub const RB_GETTEXTCOLOR: UINT = WM_USER + 22; -pub const RBSTR_CHANGERECT: WPARAM = 0x0001; -pub const RB_SIZETORECT: UINT = WM_USER + 23; -pub const RB_SETCOLORSCHEME: UINT = CCM_SETCOLORSCHEME; -pub const RB_GETCOLORSCHEME: UINT = CCM_GETCOLORSCHEME; -pub const RB_BEGINDRAG: UINT = WM_USER + 24; -pub const RB_ENDDRAG: UINT = WM_USER + 25; -pub const RB_DRAGMOVE: UINT = WM_USER + 26; -pub const RB_GETBARHEIGHT: UINT = WM_USER + 27; -pub const RB_GETBANDINFOW: UINT = WM_USER + 28; -pub const RB_GETBANDINFOA: UINT = WM_USER + 29; -pub const RB_MINIMIZEBAND: UINT = WM_USER + 30; -pub const RB_MAXIMIZEBAND: UINT = WM_USER + 31; -pub const RB_GETDROPTARGET: UINT = CCM_GETDROPTARGET; -pub const RB_GETBANDBORDERS: UINT = WM_USER + 34; -pub const RB_SHOWBAND: UINT = WM_USER + 35; -pub const RB_SETPALETTE: UINT = WM_USER + 37; -pub const RB_GETPALETTE: UINT = WM_USER + 38; -pub const RB_MOVEBAND: UINT = WM_USER + 39; -pub const RB_SETUNICODEFORMAT: UINT = CCM_SETUNICODEFORMAT; -pub const RB_GETUNICODEFORMAT: UINT = CCM_GETUNICODEFORMAT; -pub const RB_GETBANDMARGINS: UINT = WM_USER + 40; -pub const RB_SETWINDOWTHEME: UINT = CCM_SETWINDOWTHEME; -pub const RB_SETEXTENDEDSTYLE: UINT = WM_USER + 41; -pub const RB_GETEXTENDEDSTYLE: UINT = WM_USER + 42; -pub const RB_PUSHCHEVRON: UINT = WM_USER + 43; -pub const RB_SETBANDWIDTH: UINT = WM_USER + 44; -pub const RBN_HEIGHTCHANGE: UINT = RBN_FIRST - 0; -pub const RBN_GETOBJECT: UINT = RBN_FIRST - 1; -pub const RBN_LAYOUTCHANGED: UINT = RBN_FIRST - 2; -pub const RBN_AUTOSIZE: UINT = RBN_FIRST - 3; -pub const RBN_BEGINDRAG: UINT = RBN_FIRST - 4; -pub const RBN_ENDDRAG: UINT = RBN_FIRST - 5; -pub const RBN_DELETINGBAND: UINT = RBN_FIRST - 6; -pub const RBN_DELETEDBAND: UINT = RBN_FIRST - 7; -pub const RBN_CHILDSIZE: UINT = RBN_FIRST - 8; -pub const RBN_CHEVRONPUSHED: UINT = RBN_FIRST - 10; -pub const RBN_SPLITTERDRAG: UINT = RBN_FIRST - 11; -pub const RBN_MINMAX: UINT = RBN_FIRST - 21; -pub const RBN_AUTOBREAK: UINT = RBN_FIRST - 22; -STRUCT!{struct NMREBARCHILDSIZE { - hdr: NMHDR, - uBand: UINT, - wID: UINT, - rcChild: RECT, - rcBand: RECT, -}} -pub type LPNMREBARCHILDSIZE = *mut NMREBARCHILDSIZE; -STRUCT!{struct NMREBAR { - hdr: NMHDR, - dwMask: DWORD, - uBand: UINT, - fStyle: UINT, - wID: UINT, - lParam: LPARAM, -}} -pub type LPNMREBAR = *mut NMREBAR; -pub const RBNM_ID: DWORD = 0x00000001; -pub const RBNM_STYLE: DWORD = 0x00000002; -pub const RBNM_LPARAM: DWORD = 0x00000004; -STRUCT!{struct NMRBAUTOSIZE { - hdr: NMHDR, - fChanged: BOOL, - rcTarget: RECT, - rcActual: RECT, -}} -pub type LPNMRBAUTOSIZE = *mut NMRBAUTOSIZE; -STRUCT!{struct NMREBARCHEVRON { - hdr: NMHDR, - uBand: UINT, - wID: UINT, - lParam: LPARAM, - rc: RECT, - lParamNM: LPARAM, -}} -pub type LPNMREBARCHEVRON = *mut NMREBARCHEVRON; -STRUCT!{struct NMREBARSPLITTER { - hdr: NMHDR, - rcSizing: RECT, -}} -pub type LPNMREBARSPLITTER = *mut NMREBARSPLITTER; -pub const RBAB_AUTOSIZE: UINT = 0x0001; -pub const RBAB_ADDBAND: UINT = 0x0002; -STRUCT!{struct NMREBARAUTOBREAK { - hdr: NMHDR, - uBand: UINT, - wID: UINT, - lParam: LPARAM, - uMsg: UINT, - fStyleCurrent: UINT, - fAutoBreak: UINT, -}} -pub type LPNMREBARAUTOBREAK = *mut NMREBARAUTOBREAK; -pub const RBHT_NOWHERE: UINT = 0x0001; -pub const RBHT_CAPTION: UINT = 0x0002; -pub const RBHT_CLIENT: UINT = 0x0003; -pub const RBHT_GRABBER: UINT = 0x0004; -pub const RBHT_CHEVRON: UINT = 0x0008; -pub const RBHT_SPLITTER: UINT = 0x0010; -STRUCT!{struct RBHITTESTINFO { - pt: POINT, - flags: UINT, - iBand: c_int, -}} -pub type LPRBHITTESTINFO = *mut RBHITTESTINFO; -pub const TOOLTIPS_CLASS: &'static str = "tooltips_class32"; -pub type LPTOOLINFOA = LPTTTOOLINFOA; -pub type LPTOOLINFOW = LPTTTOOLINFOW; -pub type TOOLINFOA = TTTOOLINFOA; -pub type TOOLINFOW = TTTOOLINFOW; -STRUCT!{struct TTTOOLINFOA { - cbSize: UINT, - uFlags: UINT, - hwnd: HWND, - uId: UINT_PTR, - rect: RECT, - hinst: HINSTANCE, - lpszText: LPSTR, - lParam: LPARAM, - lpReserved: *mut c_void, -}} -pub type PTTTOOLINFOA = *mut TTTOOLINFOA; -pub type LPTTTOOLINFOA = *mut TTTOOLINFOA; -STRUCT!{struct TTTOOLINFOW { - cbSize: UINT, - uFlags: UINT, - hwnd: HWND, - uId: UINT_PTR, - rect: RECT, - hinst: HINSTANCE, - lpszText: LPSTR, - lParam: LPARAM, - lpReserved: *mut c_void, -}} -pub type PTTTOOLINFOW = *mut TTTOOLINFOW; -pub type LPTTTOOLINFOW = *mut TTTOOLINFOW; -pub const TTS_ALWAYSTIP: DWORD = 0x01; -pub const TTS_NOPREFIX: DWORD = 0x02; -pub const TTS_NOANIMATE: DWORD = 0x10; -pub const TTS_NOFADE: DWORD = 0x20; -pub const TTS_BALLOON: DWORD = 0x40; -pub const TTS_CLOSE: DWORD = 0x80; -pub const TTS_USEVISUALSTYLE: DWORD = 0x100; -pub const TTF_IDISHWND: UINT = 0x0001; -pub const TTF_CENTERTIP: UINT = 0x0002; -pub const TTF_RTLREADING: UINT = 0x0004; -pub const TTF_SUBCLASS: UINT = 0x0010; -pub const TTF_TRACK: UINT = 0x0020; -pub const TTF_ABSOLUTE: UINT = 0x0080; -pub const TTF_TRANSPARENT: UINT = 0x0100; -pub const TTF_PARSELINKS: UINT = 0x1000; -pub const TTF_DI_SETITEM: UINT = 0x8000; -pub const TTDT_AUTOMATIC: WPARAM = 0; -pub const TTDT_RESHOW: WPARAM = 1; -pub const TTDT_AUTOPOP: WPARAM = 2; -pub const TTDT_INITIAL: WPARAM = 3; -pub const TTI_NONE: WPARAM = 0; -pub const TTI_INFO: WPARAM = 1; -pub const TTI_WARNING: WPARAM = 2; -pub const TTI_ERROR: WPARAM = 3; -pub const TTI_INFO_LARGE: WPARAM = 4; -pub const TTI_WARNING_LARGE: WPARAM = 5; -pub const TTI_ERROR_LARGE: WPARAM = 6; -pub const TTM_ACTIVATE: UINT = WM_USER + 1; -pub const TTM_SETDELAYTIME: UINT = WM_USER + 3; -pub const TTM_ADDTOOLA: UINT = WM_USER + 4; -pub const TTM_ADDTOOLW: UINT = WM_USER + 50; -pub const TTM_DELTOOLA: UINT = WM_USER + 5; -pub const TTM_DELTOOLW: UINT = WM_USER + 51; -pub const TTM_NEWTOOLRECTA: UINT = WM_USER + 6; -pub const TTM_NEWTOOLRECTW: UINT = WM_USER + 52; -pub const TTM_RELAYEVENT: UINT = WM_USER + 7; -pub const TTM_GETTOOLINFOA: UINT = WM_USER + 8; -pub const TTM_GETTOOLINFOW: UINT = WM_USER + 53; -pub const TTM_SETTOOLINFOA: UINT = WM_USER + 9; -pub const TTM_SETTOOLINFOW: UINT = WM_USER + 54; -pub const TTM_HITTESTA: UINT = WM_USER + 10; -pub const TTM_HITTESTW: UINT = WM_USER + 55; -pub const TTM_GETTEXTA: UINT = WM_USER + 11; -pub const TTM_GETTEXTW: UINT = WM_USER + 56; -pub const TTM_UPDATETIPTEXTA: UINT = WM_USER + 12; -pub const TTM_UPDATETIPTEXTW: UINT = WM_USER + 57; -pub const TTM_GETTOOLCOUNT: UINT = WM_USER + 13; -pub const TTM_ENUMTOOLSA: UINT = WM_USER + 14; -pub const TTM_ENUMTOOLSW: UINT = WM_USER + 58; -pub const TTM_GETCURRENTTOOLA: UINT = WM_USER + 15; -pub const TTM_GETCURRENTTOOLW: UINT = WM_USER + 59; -pub const TTM_WINDOWFROMPOINT: UINT = WM_USER + 16; -pub const TTM_TRACKACTIVATE: UINT = WM_USER + 17; -pub const TTM_TRACKPOSITION: UINT = WM_USER + 18; -pub const TTM_SETTIPBKCOLOR: UINT = WM_USER + 19; -pub const TTM_SETTIPTEXTCOLOR: UINT = WM_USER + 20; -pub const TTM_GETDELAYTIME: UINT = WM_USER + 21; -pub const TTM_GETTIPBKCOLOR: UINT = WM_USER + 22; -pub const TTM_GETTIPTEXTCOLOR: UINT = WM_USER + 23; -pub const TTM_SETMAXTIPWIDTH: UINT = WM_USER + 24; -pub const TTM_GETMAXTIPWIDTH: UINT = WM_USER + 25; -pub const TTM_SETMARGIN: UINT = WM_USER + 26; -pub const TTM_GETMARGIN: UINT = WM_USER + 27; -pub const TTM_POP: UINT = WM_USER + 28; -pub const TTM_UPDATE: UINT = WM_USER + 29; -pub const TTM_GETBUBBLESIZE: UINT = WM_USER + 30; -pub const TTM_ADJUSTRECT: UINT = WM_USER + 31; -pub const TTM_SETTITLEA: UINT = WM_USER + 32; -pub const TTM_SETTITLEW: UINT = WM_USER + 33; -pub const TTM_POPUP: UINT = WM_USER + 34; -pub const TTM_GETTITLE: UINT = WM_USER + 35; -STRUCT!{struct TTGETTITLE { - dwSize: DWORD, - uTitleBitmap: UINT, - cch: UINT, - pszTitle: *mut WCHAR, -}} -pub type LPTTGETTITLE = *mut TTGETTITLE; -pub const TTM_SETWINDOWTHEME: UINT = CCM_SETWINDOWTHEME; -pub type LPHITTESTINFOW = LPTTHITTESTINFOW; -pub type LPHITTESTINFOA = LPTTHITTESTINFOA; -STRUCT!{struct TTHITTESTINFOA { - hwnd: HWND, - pt: POINT, - ti: TTTOOLINFOA, -}} -pub type LPTTHITTESTINFOA = *mut TTHITTESTINFOA; -STRUCT!{struct TTHITTESTINFOW { - hwnd: HWND, - pt: POINT, - ti: TTTOOLINFOW, -}} -pub type LPTTHITTESTINFOW = *mut TTHITTESTINFOW; -pub const TTN_GETDISPINFOA: UINT = TTN_FIRST - 0; -pub const TTN_GETDISPINFOW: UINT = TTN_FIRST - 10; -pub const TTN_SHOW: UINT = TTN_FIRST - 1; -pub const TTN_POP: UINT = TTN_FIRST - 2; -pub const TTN_LINKCLICK: UINT = TTN_FIRST - 3; -pub const TTN_NEEDTEXTA: UINT = TTN_GETDISPINFOA; -pub const TTN_NEEDTEXTW: UINT = TTN_GETDISPINFOW; -pub type TOOLTIPTEXTW = NMTTDISPINFOW; -pub type TOOLTIPTEXTA = NMTTDISPINFOA; -pub type LPTOOLTIPTEXTA = LPNMTTDISPINFOA; -pub type LPTOOLTIPTEXTW = LPNMTTDISPINFOW; -STRUCT!{struct NMTTDISPINFOA { - hdr: NMHDR, - lpszText: LPSTR, - szText: [c_char; 80], - hinst: HINSTANCE, - uFlags: UINT, - lParam: LPARAM, -}} -pub type LPNMTTDISPINFOA = *mut NMTTDISPINFOA; -STRUCT!{struct NMTTDISPINFOW { - hdr: NMHDR, - lpszText: LPWSTR, - szText: [WCHAR; 80], - hinst: HINSTANCE, - uFlags: UINT, - lParam: LPARAM, -}} -pub type LPNMTTDISPINFOW = *mut NMTTDISPINFOW; -pub const SBARS_SIZEGRIP: DWORD = 0x0100; -pub const SBARS_TOOLTIPS: DWORD = 0x0800; -pub const SBT_TOOLTIPS: DWORD = 0x0800; -extern "system" { - pub fn DrawStatusTextA( - hDC: HDC, - lprc: LPCRECT, - pszText: LPCSTR, - uFlags: UINT, - ); - pub fn DrawStatusTextW( - hDC: HDC, - lprc: LPCRECT, - pszText: LPCWSTR, - uFlags: UINT, - ); - pub fn CreateStatusWindowA( - style: LONG, - lpszText: LPCSTR, - hwndParent: HWND, - wID: UINT, - ) -> HWND; - pub fn CreateStatusWindowW( - style: LONG, - lpszText: LPCWSTR, - hwndParent: HWND, - wID: UINT, - ) -> HWND; -} -pub const STATUSCLASSNAME: &'static str = "msctls_statusbar32"; -pub const SB_SETTEXTA: UINT = WM_USER + 1; -pub const SB_SETTEXTW: UINT = WM_USER + 11; -pub const SB_GETTEXTA: UINT = WM_USER + 2; -pub const SB_GETTEXTW: UINT = WM_USER + 13; -pub const SB_GETTEXTLENGTHA: UINT = WM_USER + 3; -pub const SB_GETTEXTLENGTHW: UINT = WM_USER + 12; -pub const SB_SETPARTS: UINT = WM_USER + 4; -pub const SB_GETPARTS: UINT = WM_USER + 6; -pub const SB_GETBORDERS: UINT = WM_USER + 7; -pub const SB_SETMINHEIGHT: UINT = WM_USER + 8; -pub const SB_SIMPLE: UINT = WM_USER + 9; -pub const SB_GETRECT: UINT = WM_USER + 10; -pub const SB_ISSIMPLE: UINT = WM_USER + 14; -pub const SB_SETICON: UINT = WM_USER + 15; -pub const SB_SETTIPTEXTA: UINT = WM_USER + 16; -pub const SB_SETTIPTEXTW: UINT = WM_USER + 17; -pub const SB_GETTIPTEXTA: UINT = WM_USER + 18; -pub const SB_GETTIPTEXTW: UINT = WM_USER + 19; -pub const SB_GETICON: UINT = WM_USER + 20; -pub const SB_SETUNICODEFORMAT: UINT = CCM_SETUNICODEFORMAT; -pub const SB_GETUNICODEFORMAT: UINT = CCM_GETUNICODEFORMAT; -pub const SBT_OWNERDRAW: WPARAM = 0x1000; -pub const SBT_NOBORDERS: WPARAM = 0x0100; -pub const SBT_POPOUT: WPARAM = 0x0200; -pub const SBT_RTLREADING: WPARAM = 0x0400; -pub const SBT_NOTABPARSING: WPARAM = 0x0800; -pub const SB_SETBKCOLOR: UINT = CCM_SETBKCOLOR; -pub const SBN_SIMPLEMODECHANGE: UINT = SBN_FIRST - 0; -pub const SB_SIMPLEID: WPARAM = 0x00ff; -extern "system" { - pub fn MenuHelp( - uMsg: UINT, - wParam: WPARAM, - lParam: LPARAM, - hMainMenu: HMENU, - hInst: HINSTANCE, - hwndStatus: HWND, - lpwIDs: *mut UINT, - ); - pub fn ShowHideMenuCtl( - hWnd: HWND, - uFlags: UINT_PTR, - lpInfo: LPINT, - ) -> BOOL; - pub fn GetEffectiveClientRect( - hWnd: HWND, - lprc: LPRECT, - lpInfo: *const INT, - ); -} -pub const TRACKBAR_CLASS: &'static str = "msctls_trackbar32"; -pub const TBS_AUTOTICKS: DWORD = 0x0001; -pub const TBS_VERT: DWORD = 0x0002; -pub const TBS_HORZ: DWORD = 0x0000; -pub const TBS_TOP: DWORD = 0x0004; -pub const TBS_BOTTOM: DWORD = 0x0000; -pub const TBS_LEFT: DWORD = 0x0004; -pub const TBS_RIGHT: DWORD = 0x0000; -pub const TBS_BOTH: DWORD = 0x0008; -pub const TBS_NOTICKS: DWORD = 0x0010; -pub const TBS_ENABLESELRANGE: DWORD = 0x0020; -pub const TBS_FIXEDLENGTH: DWORD = 0x0040; -pub const TBS_NOTHUMB: DWORD = 0x0080; -pub const TBS_TOOLTIPS: DWORD = 0x0100; -pub const TBS_REVERSED: DWORD = 0x0200; -pub const TBS_DOWNISLEFT: DWORD = 0x0400; -pub const TBS_NOTIFYBEFOREMOVE: DWORD = 0x0800; -pub const TBS_TRANSPARENTBKGND: DWORD = 0x1000; -pub const TBM_GETPOS: UINT = WM_USER; -pub const TBM_GETRANGEMIN: UINT = WM_USER + 1; -pub const TBM_GETRANGEMAX: UINT = WM_USER + 2; -pub const TBM_GETTIC: UINT = WM_USER + 3; -pub const TBM_SETTIC: UINT = WM_USER + 4; -pub const TBM_SETPOS: UINT = WM_USER + 5; -pub const TBM_SETRANGE: UINT = WM_USER + 6; -pub const TBM_SETRANGEMIN: UINT = WM_USER + 7; -pub const TBM_SETRANGEMAX: UINT = WM_USER + 8; -pub const TBM_CLEARTICS: UINT = WM_USER + 9; -pub const TBM_SETSEL: UINT = WM_USER + 10; -pub const TBM_SETSELSTART: UINT = WM_USER + 11; -pub const TBM_SETSELEND: UINT = WM_USER + 12; -pub const TBM_GETPTICS: UINT = WM_USER + 14; -pub const TBM_GETTICPOS: UINT = WM_USER + 15; -pub const TBM_GETNUMTICS: UINT = WM_USER + 16; -pub const TBM_GETSELSTART: UINT = WM_USER + 17; -pub const TBM_GETSELEND: UINT = WM_USER + 18; -pub const TBM_CLEARSEL: UINT = WM_USER + 19; -pub const TBM_SETTICFREQ: UINT = WM_USER + 20; -pub const TBM_SETPAGESIZE: UINT = WM_USER + 21; -pub const TBM_GETPAGESIZE: UINT = WM_USER + 22; -pub const TBM_SETLINESIZE: UINT = WM_USER + 23; -pub const TBM_GETLINESIZE: UINT = WM_USER + 24; -pub const TBM_GETTHUMBRECT: UINT = WM_USER + 25; -pub const TBM_GETCHANNELRECT: UINT = WM_USER + 26; -pub const TBM_SETTHUMBLENGTH: UINT = WM_USER + 27; -pub const TBM_GETTHUMBLENGTH: UINT = WM_USER + 28; -pub const TBM_SETTOOLTIPS: UINT = WM_USER + 29; -pub const TBM_GETTOOLTIPS: UINT = WM_USER + 30; -pub const TBM_SETTIPSIDE: UINT = WM_USER + 31; -pub const TBTS_TOP: WPARAM = 0; -pub const TBTS_LEFT: WPARAM = 1; -pub const TBTS_BOTTOM: WPARAM = 2; -pub const TBTS_RIGHT: WPARAM = 3; -pub const TBM_SETBUDDY: UINT = WM_USER + 32; -pub const TBM_GETBUDDY: UINT = WM_USER + 33; -pub const TBM_SETPOSNOTIFY: UINT = WM_USER + 34; -pub const TBM_SETUNICODEFORMAT: UINT = CCM_SETUNICODEFORMAT; -pub const TBM_GETUNICODEFORMAT: UINT = CCM_GETUNICODEFORMAT; -pub const TB_LINEUP: WPARAM = 0; -pub const TB_LINEDOWN: WPARAM = 1; -pub const TB_PAGEUP: WPARAM = 2; -pub const TB_PAGEDOWN: WPARAM = 3; -pub const TB_THUMBPOSITION: WPARAM = 4; -pub const TB_THUMBTRACK: WPARAM = 5; -pub const TB_TOP: WPARAM = 6; -pub const TB_BOTTOM: WPARAM = 7; -pub const TB_ENDTRACK: WPARAM = 8; -pub const TBCD_TICS: DWORD_PTR = 0x0001; -pub const TBCD_THUMB: DWORD_PTR = 0x0001; -pub const TBCD_CHANNEL: DWORD_PTR = 0x0001; -pub const TRBN_THUMBPOSCHANGING: UINT = TRBN_FIRST - 1; -STRUCT!{struct NMTRBTHUMBPOSCHANGING { - hdr: NMHDR, - dwPos: DWORD, - nReason: c_int, -}} -STRUCT!{struct DRAGLISTINFO { - uNotification: UINT, - hWnd: HWND, - ptCursor: POINT, -}} -pub type LPDRAGLISTINFO = *mut DRAGLISTINFO; -pub const DL_BEGINDRAG: UINT = WM_USER + 133; -pub const DL_DRAGGING: UINT = WM_USER + 134; -pub const DL_DROPPED: UINT = WM_USER + 135; -pub const DL_CANCELDRAG: UINT = WM_USER + 136; -pub const DL_CURSORSET: UINT = 0; -pub const DL_STOPCURSOR: UINT = 1; -pub const DL_COPYCURSOR: UINT = 2; -pub const DL_MOVECURSOR: UINT = 3; -pub const DRAGLISTMSGSTRING: &'static str = "commctrl_DragListMsg"; -extern "system" { - pub fn MakeDragList( - hLB: HWND, - ) -> BOOL; - pub fn DrawInsert( - handParent: HWND, - hLB: HWND, - nItem: c_int, - ); - pub fn LBItemFromPt( - hLB: HWND, - pt: POINT, - bAutoScroll: BOOL, - ) -> c_int; -} -pub const UPDOWN_CLASS: &'static str = "msctls_updown32"; -STRUCT!{struct UDACCEL { - nSec: UINT, - nInc: UINT, -}} -pub type LPUDACCEL = *mut UDACCEL; -pub const UD_MAXVAL: c_short = 0x7fff; -pub const UD_MINVAL: c_short = 0 - UD_MAXVAL; -pub const UDS_WRAP: DWORD = 0x0001; -pub const UDS_SETBUDDYINT: DWORD = 0x0002; -pub const UDS_ALIGNRIGHT: DWORD = 0x0004; -pub const UDS_ALIGNLEFT: DWORD = 0x0008; -pub const UDS_AUTOBUDDY: DWORD = 0x0010; -pub const UDS_ARROWKEYS: DWORD = 0x0020; -pub const UDS_HORZ: DWORD = 0x0040; -pub const UDS_NOTHOUSANDS: DWORD = 0x0080; -pub const UDS_HOTTRACK: DWORD = 0x0100; -pub const UDM_SETRANGE: UINT = WM_USER + 101; -pub const UDM_GETRANGE: UINT = WM_USER + 102; -pub const UDM_SETPOS: UINT = WM_USER + 103; -pub const UDM_GETPOS: UINT = WM_USER + 104; -pub const UDM_SETBUDDY: UINT = WM_USER + 105; -pub const UDM_GETBUDDY: UINT = WM_USER + 106; -pub const UDM_SETACCEL: UINT = WM_USER + 107; -pub const UDM_GETACCEL: UINT = WM_USER + 108; -pub const UDM_SETBASE: UINT = WM_USER + 109; -pub const UDM_GETBASE: UINT = WM_USER + 110; -pub const UDM_SETRANGE32: UINT = WM_USER + 111; -pub const UDM_GETRANGE32: UINT = WM_USER + 112; -pub const UDM_SETUNICODEFORMAT: UINT = CCM_SETUNICODEFORMAT; -pub const UDM_GETUNICODEFORMAT: UINT = CCM_GETUNICODEFORMAT; -pub const UDM_SETPOS32: UINT = WM_USER + 113; -pub const UDM_GETPOS32: UINT = WM_USER + 114; -extern "system" { - pub fn CreateUpDownControl( - dwStyle: DWORD, - x: c_int, - y: c_int, - cx: c_int, - cy: c_int, - hParent: HWND, - nID: c_int, - hInst: HINSTANCE, - nBuddy: HWND, - nUpper: c_int, - nLower: c_int, - nPos: c_int, - ) -> HWND; -} -pub type NM_UPDOWN = NMUPDOWN; -pub type LPNM_UPDOWN = LPNMUPDOWN; -STRUCT!{struct NMUPDOWN { - hdr: NMHDR, - iPos: c_int, - iDelta: c_int, -}} -pub type LPNMUPDOWN = *mut NMUPDOWN; -pub const UDN_DELTAPOS: UINT = UDN_FIRST - 1; -pub const PROGRESS_CLASS: &'static str = "msctls_progress32"; -pub const PBS_SMOOTH: DWORD = 0x01; -pub const PBS_VERTICAL: DWORD = 0x04; -pub const PBM_SETRANGE: UINT = WM_USER + 1; -pub const PBM_SETPOS: UINT = WM_USER + 2; -pub const PBM_DELTAPOS: UINT = WM_USER + 3; -pub const PBM_SETSTEP: UINT = WM_USER + 4; -pub const PBM_STEPIT: UINT = WM_USER + 5; -pub const PBM_SETRANGE32: UINT = WM_USER + 6; -STRUCT!{struct PBRANGE { - iLow: c_int, - iHigh: c_int, -}} -pub type LPPBRANGE = *mut PBRANGE; -pub const PBM_GETRANGE: UINT = WM_USER + 7; -pub const PBM_GETPOS: UINT = WM_USER + 8; -pub const PBM_SETBARCOLOR: UINT = WM_USER + 9; -pub const PBM_SETBKCOLOR: UINT = CCM_SETBKCOLOR; -pub const PBS_MARQUEE: DWORD = 0x08; -pub const PBM_SETMARQUEE: UINT = WM_USER + 10; -pub const PBS_SMOOTHREVERSE: DWORD = 0x10; -pub const PBM_GETSTEP: UINT = WM_USER + 13; -pub const PBM_GETBKCOLOR: UINT = WM_USER + 14; -pub const PBM_GETBARCOLOR: UINT = WM_USER + 15; -pub const PBM_SETSTATE: UINT = WM_USER + 16; -pub const PBM_GETSTATE: UINT = WM_USER + 17; -pub const PBST_NORMAL: c_int = 0x0001; -pub const PBST_ERROR: c_int = 0x0002; -pub const PBST_PAUSED: c_int = 0x0003; -pub const HOTKEYF_SHIFT: BYTE = 0x01; -pub const HOTKEYF_CONTROL: BYTE = 0x02; -pub const HOTKEYF_ALT: BYTE = 0x04; -pub const HOTKEYF_EXT: BYTE = 0x08; -pub const HKCOMB_NONE: WPARAM = 0x0001; -pub const HKCOMB_S: WPARAM = 0x0002; -pub const HKCOMB_C: WPARAM = 0x0004; -pub const HKCOMB_A: WPARAM = 0x0008; -pub const HKCOMB_SC: WPARAM = 0x0010; -pub const HKCOMB_SA: WPARAM = 0x0020; -pub const HKCOMB_CA: WPARAM = 0x0040; -pub const HKCOMB_SCA: WPARAM = 0x0080; -pub const HKM_SETHOTKEY: UINT = WM_USER + 1; -pub const HKM_GETHOTKEY: UINT = WM_USER + 2; -pub const HKM_SETRULES: UINT = WM_USER + 3; -pub const HOTKEY_CLASS: &'static str = "msctls_hotkey32"; -pub const CCS_TOP: DWORD = 0x00000001; -pub const CCS_NOMOVEY: DWORD = 0x00000002; -pub const CCS_BOTTOM: DWORD = 0x00000003; -pub const CCS_NORESIZE: DWORD = 0x00000004; -pub const CCS_NOPARENTALIGN: DWORD = 0x00000008; -pub const CCS_ADJUSTABLE: DWORD = 0x00000020; -pub const CCS_NODIVIDER: DWORD = 0x00000040; -pub const CCS_VERT: DWORD = 0x00000080; -pub const CCS_LEFT: DWORD = CCS_VERT | CCS_TOP; -pub const CCS_RIGHT: DWORD = CCS_VERT | CCS_BOTTOM; -pub const CCS_NOMOVEX: DWORD = CCS_VERT | CCS_NOMOVEY; -pub const INVALID_LINK_INDEX: c_int = -1; -pub const MAX_LINKID_TEXT: usize = 48; -pub const L_MAX_URL_LENGTH: usize = 2048 + 32 + 4; -pub const WC_LINK: &'static str = "SysLink"; -pub const LWS_TRANSPARENT: DWORD = 0x0001; -pub const LWS_IGNORERETURN: DWORD = 0x0002; -pub const LWS_NOPREFIX: DWORD = 0x0004; -pub const LWS_USEVISUALSTYLE: DWORD = 0x0008; -pub const LWS_USECUSTOMTEXT: DWORD = 0x0010; -pub const LWS_RIGHT: DWORD = 0x0020; -pub const LIF_ITEMINDEX: UINT = 0x00000001; -pub const LIF_STATE: UINT = 0x00000002; -pub const LIF_ITEMID: UINT = 0x00000004; -pub const LIF_URL: UINT = 0x00000008; -pub const LIS_FOCUSED: UINT = 0x00000001; -pub const LIS_ENABLED: UINT = 0x00000002; -pub const LIS_VISITED: UINT = 0x00000004; -pub const LIS_HOTTRACK: UINT = 0x00000008; -pub const LIS_DEFAULTCOLORS: UINT = 0x00000010; -STRUCT!{struct LITEM { - mask: UINT, - iLink: c_int, - state: UINT, - stateMask: UINT, - szID: [WCHAR; MAX_LINKID_TEXT], - szUrl: [WCHAR; L_MAX_URL_LENGTH], -}} -pub type PLITEM = *mut LITEM; -STRUCT!{struct LHITTESTINFO { - pt: POINT, - item: LITEM, -}} -pub type PLHITTESTINFO = *mut LHITTESTINFO; -STRUCT!{struct NMLINK { - hdr: NMHDR, - item: LITEM, -}} -pub type PNMLINK = *mut NMLINK; -pub const LM_HITTEST: UINT = WM_USER + 0x300; -pub const LM_GETIDEALHEIGHT: UINT = WM_USER + 0x301; -pub const LM_SETITEM: UINT = WM_USER + 0x302; -pub const LM_GETITEM: UINT = WM_USER + 0x303; -pub const LM_GETIDEALSIZE: UINT = LM_GETIDEALHEIGHT; -pub const WC_LISTVIEW: &'static str = "SysListView32"; -pub const LVS_ICON: DWORD = 0x0000; -pub const LVS_REPORT: DWORD = 0x0001; -pub const LVS_SMALLICON: DWORD = 0x0002; -pub const LVS_LIST: DWORD = 0x0003; -pub const LVS_TYPEMASK: DWORD = 0x0003; -pub const LVS_SINGLESEL: DWORD = 0x0004; -pub const LVS_SHOWSELALWAYS: DWORD = 0x0008; -pub const LVS_SORTASCENDING: DWORD = 0x0010; -pub const LVS_SORTDESCENDING: DWORD = 0x0020; -pub const LVS_SHAREIMAGELISTS: DWORD = 0x0040; -pub const LVS_NOLABELWRAP: DWORD = 0x0080; -pub const LVS_AUTOARRANGE: DWORD = 0x0100; -pub const LVS_EDITLABELS: DWORD = 0x0200; -pub const LVS_OWNERDATA: DWORD = 0x1000; -pub const LVS_NOSCROLL: DWORD = 0x2000; -pub const LVS_TYPESTYLEMASK: DWORD = 0xfc00; -pub const LVS_ALIGNTOP: DWORD = 0x0000; -pub const LVS_ALIGNLEFT: DWORD = 0x0800; -pub const LVS_ALIGNMASK: DWORD = 0x0c00; -pub const LVS_OWNERDRAWFIXED: DWORD = 0x0400; -pub const LVS_NOCOLUMNHEADER: DWORD = 0x4000; -pub const LVS_NOSORTHEADER: DWORD = 0x8000; -pub const LVM_SETUNICODEFORMAT: UINT = CCM_SETUNICODEFORMAT; -pub const LVM_GETUNICODEFORMAT: UINT = CCM_GETUNICODEFORMAT; -pub const LVM_GETBKCOLOR: UINT = LVM_FIRST + 0; -pub const LVM_SETBKCOLOR: UINT = LVM_FIRST + 1; -pub const LVM_GETIMAGELIST: UINT = LVM_FIRST + 2; -pub const LVSIL_NORMAL: c_int = 0; -pub const LVSIL_SMALL: c_int = 1; -pub const LVSIL_STATE: c_int = 2; -pub const LVSIL_GROUPHEADER: c_int = 3; -pub const LVM_SETIMAGELIST: UINT = LVM_FIRST + 3; -pub const LVM_GETITEMCOUNT: UINT = LVM_FIRST + 4; -pub const LVIF_TEXT: UINT = 0x00000001; -pub const LVIF_IMAGE: UINT = 0x00000002; -pub const LVIF_PARAM: UINT = 0x00000004; -pub const LVIF_STATE: UINT = 0x00000008; -pub const LVIF_INDENT: UINT = 0x00000010; -pub const LVIF_NORECOMPUTE: UINT = 0x00000800; -pub const LVIF_GROUPID: UINT = 0x00000100; -pub const LVIF_COLUMNS: UINT = 0x00000200; -pub const LVIF_COLFMT: UINT = 0x00010000; -pub const LVIS_FOCUSED: UINT = 0x0001; -pub const LVIS_SELECTED: UINT = 0x0002; -pub const LVIS_CUT: UINT = 0x0004; -pub const LVIS_DROPHILITED: UINT = 0x0008; -pub const LVIS_GLOW: UINT = 0x0010; -pub const LVIS_ACTIVATING: UINT = 0x0020; -pub const LVIS_OVERLAYMASK: UINT = 0x0F00; -pub const LVIS_STATEIMAGEMASK: UINT = 0xF000; -#[inline] -pub fn INDEXTOSTATEIMAGEMASK(i: UINT) -> UINT { - i << 12 -} -pub const I_INDENTCALLBACK: c_int = -1; -pub type LV_ITEMA = LVITEMA; -pub type LV_ITEMW = LVITEMW; -pub const I_GROUPIDCALLBACK: c_int = -1; -pub const I_GROUPIDNONE: c_int = -2; -STRUCT!{struct LVITEMA { - mask: UINT, - iItem: c_int, - iSubItem: c_int, - state: UINT, - stateMask: UINT, - pszText: LPSTR, - cchTextMax: c_int, - iImage: c_int, - lParam: LPARAM, - iIndent: c_int, - iGroupId: c_int, - cColumns: UINT, - puColumns: PUINT, - piColFmt: *mut c_int, - iGroup: c_int, -}} -pub type LPLVITEMA = *mut LVITEMA; -STRUCT!{struct LVITEMW { - mask: UINT, - iItem: c_int, - iSubItem: c_int, - state: UINT, - stateMask: UINT, - pszText: LPWSTR, - cchTextMax: c_int, - iImage: c_int, - lParam: LPARAM, - iIndent: c_int, - iGroupId: c_int, - cColumns: UINT, - puColumns: PUINT, - piColFmt: *mut c_int, - iGroup: c_int, -}} -pub type LPLVITEMW = *mut LVITEMW; -pub const LPSTR_TEXTCALLBACKW: LPWSTR = -1isize as LPWSTR; -pub const LPSTR_TEXTCALLBACKA: LPSTR = -1isize as LPSTR; -pub const I_IMAGECALLBACK: c_int = -1; -pub const I_IMAGENONE: c_int = -2; -pub const I_COLUMNSCALLBACK: UINT = -1i32 as u32; -pub const LVM_GETITEMA: UINT = LVM_FIRST + 5; -pub const LVM_GETITEMW: UINT = LVM_FIRST + 75; -pub const LVM_SETITEMA: UINT = LVM_FIRST + 6; -pub const LVM_SETITEMW: UINT = LVM_FIRST + 76; -pub const LVM_INSERTITEMA: UINT = LVM_FIRST + 7; -pub const LVM_INSERTITEMW: UINT = LVM_FIRST + 77; -pub const LVM_DELETEITEM: UINT = LVM_FIRST + 8; -pub const LVM_DELETEALLITEMS: UINT = LVM_FIRST + 9; -pub const LVM_GETCALLBACKMASK: UINT = LVM_FIRST + 10; -pub const LVM_SETCALLBACKMASK: UINT = LVM_FIRST + 11; -pub const LVNI_ALL: LPARAM = 0x0000; -pub const LVNI_FOCUSED: LPARAM = 0x0001; -pub const LVNI_SELECTED: LPARAM = 0x0002; -pub const LVNI_CUT: LPARAM = 0x0004; -pub const LVNI_DROPHILITED: LPARAM = 0x0008; -pub const LVNI_STATEMASK: LPARAM = LVNI_FOCUSED | LVNI_SELECTED | LVNI_CUT | LVNI_DROPHILITED; -pub const LVNI_VISIBLEORDER: LPARAM = 0x0010; -pub const LVNI_PREVIOUS: LPARAM = 0x0020; -pub const LVNI_VISIBLEONLY: LPARAM = 0x0040; -pub const LVNI_SAMEGROUPONLY: LPARAM = 0x0080; -pub const LVNI_ABOVE: LPARAM = 0x0100; -pub const LVNI_BELOW: LPARAM = 0x0200; -pub const LVNI_TOLEFT: LPARAM = 0x0400; -pub const LVNI_TORIGHT: LPARAM = 0x0800; -pub const LVNI_DIRECTIONMASK: LPARAM = LVNI_ABOVE | LVNI_BELOW | LVNI_TOLEFT | LVNI_TORIGHT; -pub const LVM_GETNEXTITEM: UINT = LVM_FIRST + 12; -pub const LVFI_PARAM: UINT = 0x0001; -pub const LVFI_STRING: UINT = 0x0002; -pub const LVFI_SUBSTRING: UINT = 0x0004; -pub const LVFI_PARTIAL: UINT = 0x0008; -pub const LVFI_WRAP: UINT = 0x0020; -pub const LVFI_NEARESTXY: UINT = 0x0040; -pub type LV_FINDINFOA = LVFINDINFOA; -pub type LV_FINDINFOW = LVFINDINFOW; -STRUCT!{struct LVFINDINFOA { - flags: UINT, - psz: LPCSTR, - lParam: LPARAM, - pt: POINT, - vkDirection: UINT, -}} -pub type LPFINDINFOA = *mut LVFINDINFOA; -STRUCT!{struct LVFINDINFOW { - flags: UINT, - psz: LPCWSTR, - lParam: LPARAM, - pt: POINT, - vkDirection: UINT, -}} -pub type LPFINDINFOW = *mut LVFINDINFOW; -pub const LVM_FINDITEMA: UINT = LVM_FIRST + 13; -pub const LVM_FINDITEMW: UINT = LVM_FIRST + 83; -pub const LVIR_BOUNDS: c_int = 0; -pub const LVIR_ICON: c_int = 1; -pub const LVIR_LABEL: c_int = 2; -pub const LVIR_SELECTBOUNDS: c_int = 3; -pub const LVM_GETITEMRECT: UINT = LVM_FIRST + 14; -pub const LVM_SETITEMPOSITION: UINT = LVM_FIRST + 15; -pub const LVM_GETITEMPOSITION: UINT = LVM_FIRST + 16; -pub const LVM_GETSTRINGWIDTHA: UINT = LVM_FIRST + 17; -pub const LVM_GETSTRINGWIDTHW: UINT = LVM_FIRST + 87; -pub const LVHT_NOWHERE: UINT = 0x00000001; -pub const LVHT_ONITEMICON: UINT = 0x00000002; -pub const LVHT_ONITEMLABEL: UINT = 0x00000004; -pub const LVHT_ONITEMSTATEICON: UINT = 0x00000008; -pub const LVHT_ONITEM: UINT = LVHT_ONITEMICON | LVHT_ONITEMLABEL | LVHT_ONITEMSTATEICON; -pub const LVHT_ABOVE: UINT = 0x00000008; -pub const LVHT_BELOW: UINT = 0x00000010; -pub const LVHT_TORIGHT: UINT = 0x00000020; -pub const LVHT_TOLEFT: UINT = 0x00000040; -pub const LVHT_EX_GROUP_HEADER: UINT = 0x10000000; -pub const LVHT_EX_GROUP_FOOTER: UINT = 0x20000000; -pub const LVHT_EX_GROUP_COLLAPSE: UINT = 0x40000000; -pub const LVHT_EX_GROUP_BACKGROUND: UINT = 0x80000000; -pub const LVHT_EX_GROUP_STATEICON: UINT = 0x01000000; -pub const LVHT_EX_GROUP_SUBSETLINK: UINT = 0x02000000; -pub const LVHT_EX_GROUP: UINT = LVHT_EX_GROUP_BACKGROUND | LVHT_EX_GROUP_COLLAPSE - | LVHT_EX_GROUP_FOOTER | LVHT_EX_GROUP_HEADER | LVHT_EX_GROUP_STATEICON - | LVHT_EX_GROUP_SUBSETLINK; -pub const LVHT_EX_ONCONTENTS: UINT = 0x04000000; -pub const LVHT_EX_FOOTER: UINT = 0x08000000; -pub type LV_HITTESTINFO = LVHITTESTINFO; -STRUCT!{struct LVHITTESTINFO { - pt: POINT, - flags: UINT, - iItem: c_int, - iSubItem: c_int, - iGroup: c_int, -}} -pub type LPLVHITTESTINFO = *mut LVHITTESTINFO; -pub const LVM_HITTEST: UINT = LVM_FIRST + 18; -pub const LVM_ENSUREVISIBLE: UINT = LVM_FIRST + 19; -pub const LVM_SCROLL: UINT = LVM_FIRST + 20; -pub const LVM_REDRAWITEMS: UINT = LVM_FIRST + 21; -pub const LVA_DEFAULT: WPARAM = 0x0000; -pub const LVA_ALIGNLEFT: WPARAM = 0x0001; -pub const LVA_ALIGNTOP: WPARAM = 0x0002; -pub const LVA_SNAPTOGRID: WPARAM = 0x0005; -pub const LVM_ARRANGE: UINT = LVM_FIRST + 22; -pub const LVM_EDITLABELA: UINT = LVM_FIRST + 23; -pub const LVM_EDITLABELW: UINT = LVM_FIRST + 118; -pub const LVM_GETEDITCONTROL: UINT = LVM_FIRST + 24; -pub type LV_COLUMNA = LVCOLUMNA; -pub type LV_COLUMNW = LVCOLUMNW; -STRUCT!{struct LVCOLUMNA { - mask: UINT, - fmt: c_int, - cx: c_int, - pszText: LPSTR, - cchTextMax: c_int, - iSubItem: c_int, - iImage: c_int, - iOrder: c_int, - cxMin: c_int, - cxDefault: c_int, - cxIdeal: c_int, -}} -pub type LPLVCOLUMNA = *mut LVCOLUMNA; -STRUCT!{struct LVCOLUMNW { - mask: UINT, - fmt: c_int, - cx: c_int, - pszText: LPWSTR, - cchTextMax: c_int, - iSubItem: c_int, - iImage: c_int, - iOrder: c_int, - cxMin: c_int, - cxDefault: c_int, - cxIdeal: c_int, -}} -pub type LPLVCOLUMNW = *mut LVCOLUMNW; -pub const LVCF_FMT: UINT = 0x0001; -pub const LVCF_WIDTH: UINT = 0x0002; -pub const LVCF_TEXT: UINT = 0x0004; -pub const LVCF_SUBITEM: UINT = 0x0008; -pub const LVCF_IMAGE: UINT = 0x0010; -pub const LVCF_ORDER: UINT = 0x0020; -pub const LVCF_MINWIDTH: UINT = 0x0040; -pub const LVCF_DEFAULTWIDTH: UINT = 0x0080; -pub const LVCF_IDEALWIDTH: UINT = 0x0100; -pub const LVCFMT_LEFT: c_int = 0x0000; -pub const LVCFMT_RIGHT: c_int = 0x0001; -pub const LVCFMT_CENTER: c_int = 0x0002; -pub const LVCFMT_JUSTIFYMASK: c_int = 0x0003; -pub const LVCFMT_IMAGE: c_int = 0x0800; -pub const LVCFMT_BITMAP_ON_RIGHT: c_int = 0x1000; -pub const LVCFMT_COL_HAS_IMAGES: c_int = 0x8000; -pub const LVCFMT_FIXED_WIDTH: c_int = 0x00100; -pub const LVCFMT_NO_DPI_SCALE: c_int = 0x40000; -pub const LVCFMT_FIXED_RATIO: c_int = 0x80000; -pub const LVCFMT_LINE_BREAK: c_int = 0x100000; -pub const LVCFMT_FILL: c_int = 0x200000; -pub const LVCFMT_WRAP: c_int = 0x400000; -pub const LVCFMT_NO_TITLE: c_int = 0x800000; -pub const LVCFMT_TILE_PLACEMENTMASK: c_int = LVCFMT_LINE_BREAK | LVCFMT_FILL; -pub const LVCFMT_SPLITBUTTON: c_int = 0x1000000; -pub const LVM_GETCOLUMNA: UINT = LVM_FIRST + 25; -pub const LVM_GETCOLUMNW: UINT = LVM_FIRST + 95; -pub const LVM_SETCOLUMNA: UINT = LVM_FIRST + 26; -pub const LVM_SETCOLUMNW: UINT = LVM_FIRST + 96; -pub const LVM_INSERTCOLUMNA: UINT = LVM_FIRST + 27; -pub const LVM_INSERTCOLUMNW: UINT = LVM_FIRST + 97; -pub const LVM_DELETECOLUMN: UINT = LVM_FIRST + 28; -pub const LVM_GETCOLUMNWIDTH: UINT = LVM_FIRST + 29; -pub const LVSCW_AUTOSIZE: c_int = -1; -pub const LVSCW_AUTOSIZE_USEHEADER: c_int = -2; -pub const LVM_SETCOLUMNWIDTH: UINT = LVM_FIRST + 30; -pub const LVM_GETHEADER: UINT = LVM_FIRST + 31; -pub const LVM_CREATEDRAGIMAGE: UINT = LVM_FIRST + 33; -pub const LVM_GETVIEWRECT: UINT = LVM_FIRST + 34; -pub const LVM_GETTEXTCOLOR: UINT = LVM_FIRST + 35; -pub const LVM_SETTEXTCOLOR: UINT = LVM_FIRST + 36; -pub const LVM_GETTEXTBKCOLOR: UINT = LVM_FIRST + 37; -pub const LVM_SETTEXTBKCOLOR: UINT = LVM_FIRST + 38; -pub const LVM_GETTOPINDEX: UINT = LVM_FIRST + 39; -pub const LVM_GETCOUNTPERPAGE: UINT = LVM_FIRST + 40; -pub const LVM_GETORIGIN: UINT = LVM_FIRST + 41; -pub const LVM_UPDATE: UINT = LVM_FIRST + 42; -pub const LVM_SETITEMSTATE: UINT = LVM_FIRST + 43; -pub const LVM_GETITEMSTATE: UINT = LVM_FIRST + 44; -pub const LVM_GETITEMTEXTA: UINT = LVM_FIRST + 45; -pub const LVM_GETITEMTEXTW: UINT = LVM_FIRST + 115; -pub const LVM_SETITEMTEXTA: UINT = LVM_FIRST + 46; -pub const LVM_SETITEMTEXTW: UINT = LVM_FIRST + 116; -pub const LVSICF_NOINVALIDATEALL: LPARAM = 0x00000001; -pub const LVSICF_NOSCROLL: LPARAM = 0x00000002; -pub const LVM_SETITEMCOUNT: UINT = LVM_FIRST + 47; -FN!{stdcall PFNLVCOMPARE( - LPARAM, - LPARAM, - LPARAM, -) -> c_int} -pub const LVM_SORTITEMS: UINT = LVM_FIRST + 48; -pub const LVM_SETITEMPOSITION32: UINT = LVM_FIRST + 49; -pub const LVM_GETSELECTEDCOUNT: UINT = LVM_FIRST + 50; -pub const LVM_GETITEMSPACING: UINT = LVM_FIRST + 51; -pub const LVM_GETISEARCHSTRINGA: UINT = LVM_FIRST + 52; -pub const LVM_GETISEARCHSTRINGW: UINT = LVM_FIRST + 117; -pub const LVM_SETICONSPACING: UINT = LVM_FIRST + 53; -pub const LVM_SETEXTENDEDLISTVIEWSTYLE: UINT = LVM_FIRST + 54; -pub const LVM_GETEXTENDEDLISTVIEWSTYLE: UINT = LVM_FIRST + 55; -pub const LVS_EX_GRIDLINES: DWORD = 0x00000001; -pub const LVS_EX_SUBITEMIMAGES: DWORD = 0x00000002; -pub const LVS_EX_CHECKBOXES: DWORD = 0x00000004; -pub const LVS_EX_TRACKSELECT: DWORD = 0x00000008; -pub const LVS_EX_HEADERDRAGDROP: DWORD = 0x00000010; -pub const LVS_EX_FULLROWSELECT: DWORD = 0x00000020; -pub const LVS_EX_ONECLICKACTIVATE: DWORD = 0x00000040; -pub const LVS_EX_TWOCLICKACTIVATE: DWORD = 0x00000080; -pub const LVS_EX_FLATSB: DWORD = 0x00000100; -pub const LVS_EX_REGIONAL: DWORD = 0x00000200; -pub const LVS_EX_INFOTIP: DWORD = 0x00000400; -pub const LVS_EX_UNDERLINEHOT: DWORD = 0x00000800; -pub const LVS_EX_UNDERLINECOLD: DWORD = 0x00001000; -pub const LVS_EX_MULTIWORKAREAS: DWORD = 0x00002000; -pub const LVS_EX_LABELTIP: DWORD = 0x00004000; -pub const LVS_EX_BORDERSELECT: DWORD = 0x00008000; -pub const LVS_EX_DOUBLEBUFFER: DWORD = 0x00010000; -pub const LVS_EX_HIDELABELS: DWORD = 0x00020000; -pub const LVS_EX_SINGLEROW: DWORD = 0x00040000; -pub const LVS_EX_SNAPTOGRID: DWORD = 0x00080000; -pub const LVS_EX_SIMPLESELECT: DWORD = 0x00100000; -pub const LVS_EX_JUSTIFYCOLUMNS: DWORD = 0x00200000; -pub const LVS_EX_TRANSPARENTBKGND: DWORD = 0x00400000; -pub const LVS_EX_TRANSPARENTSHADOWTEXT: DWORD = 0x00800000; -pub const LVS_EX_AUTOAUTOARRANGE: DWORD = 0x01000000; -pub const LVS_EX_HEADERINALLVIEWS: DWORD = 0x02000000; -pub const LVS_EX_AUTOCHECKSELECT: DWORD = 0x08000000; -pub const LVS_EX_AUTOSIZECOLUMNS: DWORD = 0x10000000; -pub const LVS_EX_COLUMNSNAPPOINTS: DWORD = 0x40000000; -pub const LVS_EX_COLUMNOVERFLOW: DWORD = 0x80000000; -pub const LVM_GETSUBITEMRECT: UINT = LVM_FIRST + 56; -pub const LVM_SUBITEMHITTEST: UINT = LVM_FIRST + 57; -pub const LVM_SETCOLUMNORDERARRAY: UINT = LVM_FIRST + 58; -pub const LVM_GETCOLUMNORDERARRAY: UINT = LVM_FIRST + 59; -pub const LVM_SETHOTITEM: UINT = LVM_FIRST + 60; -pub const LVM_GETHOTITEM: UINT = LVM_FIRST + 61; -pub const LVM_SETHOTCURSOR: UINT = LVM_FIRST + 62; -pub const LVM_GETHOTCURSOR: UINT = LVM_FIRST + 63; -pub const LVM_APPROXIMATEVIEWRECT: UINT = LVM_FIRST + 64; -pub const LV_MAX_WORKAREAS: WPARAM = 16; -pub const LVM_SETWORKAREAS: UINT = LVM_FIRST + 65; -pub const LVM_GETWORKAREAS: UINT = LVM_FIRST + 70; -pub const LVM_GETNUMBEROFWORKAREAS: UINT = LVM_FIRST + 73; -pub const LVM_GETSELECTIONMARK: UINT = LVM_FIRST + 66; -pub const LVM_SETSELECTIONMARK: UINT = LVM_FIRST + 67; -pub const LVM_SETHOVERTIME: UINT = LVM_FIRST + 71; -pub const LVM_GETHOVERTIME: UINT = LVM_FIRST + 72; -pub const LVM_SETTOOLTIPS: UINT = LVM_FIRST + 74; -pub const LVM_GETTOOLTIPS: UINT = LVM_FIRST + 78; -pub const LVM_SORTITEMSEX: UINT = LVM_FIRST + 81; -STRUCT!{struct LVBKIMAGEA { - ulFlags: ULONG, - hbm: HBITMAP, - pszImage: LPSTR, - cchImageMax: UINT, - xOffsetPercent: c_int, - yOffsetPercent: c_int, -}} -pub type LPLVBKIMAGEA = *mut LVBKIMAGEA; -STRUCT!{struct LVBKIMAGEW { - ulFlags: ULONG, - hbm: HBITMAP, - pszImage: LPWSTR, - cchImageMax: UINT, - xOffsetPercent: c_int, - yOffsetPercent: c_int, -}} -pub type LPLVBKIMAGEW = *mut LVBKIMAGEW; -pub const LVBKIF_SOURCE_NONE: ULONG = 0x00000000; -pub const LVBKIF_SOURCE_HBITMAP: ULONG = 0x00000001; -pub const LVBKIF_SOURCE_URL: ULONG = 0x00000002; -pub const LVBKIF_SOURCE_MASK: ULONG = 0x00000003; -pub const LVBKIF_STYLE_NORMAL: ULONG = 0x00000000; -pub const LVBKIF_STYLE_TILE: ULONG = 0x00000010; -pub const LVBKIF_STYLE_MASK: ULONG = 0x00000010; -pub const LVBKIF_FLAG_TILEOFFSET: ULONG = 0x00000100; -pub const LVBKIF_TYPE_WATERMARK: ULONG = 0x10000000; -pub const LVBKIF_FLAG_ALPHABLEND: ULONG = 0x20000000; -pub const LVM_SETBKIMAGEA: UINT = LVM_FIRST + 68; -pub const LVM_SETBKIMAGEW: UINT = LVM_FIRST + 138; -pub const LVM_GETBKIMAGEA: UINT = LVM_FIRST + 69; -pub const LVM_GETBKIMAGEW: UINT = LVM_FIRST + 139; -pub const LVM_SETSELECTEDCOLUMN: UINT = LVM_FIRST + 140; -pub const LV_VIEW_ICON: DWORD = 0x0000; -pub const LV_VIEW_DETAILS: DWORD = 0x0001; -pub const LV_VIEW_SMALLICON: DWORD = 0x0002; -pub const LV_VIEW_LIST: DWORD = 0x0003; -pub const LV_VIEW_TILE: DWORD = 0x0004; -pub const LV_VIEW_MAX: DWORD = 0x0004; -pub const LVM_SETVIEW: UINT = LVM_FIRST + 142; -pub const LVM_GETVIEW: UINT = LVM_FIRST + 143; -pub const LVGF_NONE: UINT = 0x00000000; -pub const LVGF_HEADER: UINT = 0x00000001; -pub const LVGF_FOOTER: UINT = 0x00000002; -pub const LVGF_STATE: UINT = 0x00000004; -pub const LVGF_ALIGN: UINT = 0x00000008; -pub const LVGF_GROUPID: UINT = 0x00000010; -pub const LVGF_SUBTITLE: UINT = 0x00000100; -pub const LVGF_TASK: UINT = 0x00000200; -pub const LVGF_DESCRIPTIONTOP: UINT = 0x00000400; -pub const LVGF_DESCRIPTIONBOTTOM: UINT = 0x00000800; -pub const LVGF_TITLEIMAGE: UINT = 0x00001000; -pub const LVGF_EXTENDEDIMAGE: UINT = 0x00002000; -pub const LVGF_ITEMS: UINT = 0x00004000; -pub const LVGF_SUBSET: UINT = 0x00008000; -pub const LVGF_SUBSETITEMS: UINT = 0x00010000; -pub const LVGS_NORMAL: UINT = 0x00000000; -pub const LVGS_COLLAPSED: UINT = 0x00000001; -pub const LVGS_HIDDEN: UINT = 0x00000002; -pub const LVGS_NOHEADER: UINT = 0x00000004; -pub const LVGS_COLLAPSIBLE: UINT = 0x00000008; -pub const LVGS_FOCUSED: UINT = 0x00000010; -pub const LVGS_SELECTED: UINT = 0x00000020; -pub const LVGS_SUBSETED: UINT = 0x00000040; -pub const LVGS_SUBSETLINKFOCUSED: UINT = 0x00000080; -pub const LVGA_HEADER_LEFT: UINT = 0x00000001; -pub const LVGA_HEADER_CENTER: UINT = 0x00000002; -pub const LVGA_HEADER_RIGHT: UINT = 0x00000004; -pub const LVGA_FOOTER_LEFT: UINT = 0x00000008; -pub const LVGA_FOOTER_CENTER: UINT = 0x00000010; -pub const LVGA_FOOTER_RIGHT: UINT = 0x00000020; -STRUCT!{struct LVGROUP { - cbSize: UINT, - mask: UINT, - pszHeader: LPWSTR, - cchHeader: c_int, - pszFooter: LPWSTR, - cchFooter: c_int, - iGroupId: c_int, - stateMask: UINT, - state: UINT, - uAlign: UINT, - pszSubtitle: LPWSTR, - cchSubtitle: UINT, - pszTask: LPWSTR, - cchTask: UINT, - pszDescriptionTop: LPWSTR, - cchDescriptionTop: UINT, - pszDescriptionBottom: LPWSTR, - cchDescriptionBottom: UINT, - iTitleImage: c_int, - iExtendedImage: c_int, - iFirstItem: c_int, - cItems: UINT, - pszSubsetTitle: LPWSTR, - cchSubsetTitle: UINT, -}} -pub type PLVGROUP = *mut LVGROUP; -pub const LVM_INSERTGROUP: UINT = LVM_FIRST + 145; -pub const LVM_SETGROUPINFO: UINT = LVM_FIRST + 147; -pub const LVM_GETGROUPINFO: UINT = LVM_FIRST + 149; -pub const LVM_REMOVEGROUP: UINT = LVM_FIRST + 150; -pub const LVM_MOVEGROUP: UINT = LVM_FIRST + 151; -pub const LVM_GETGROUPCOUNT: UINT = LVM_FIRST + 152; -pub const LVM_GETGROUPINFOBYINDEX: UINT = LVM_FIRST + 153; -pub const LVM_MOVEITEMTOGROUP: UINT = LVM_FIRST + 154; -pub const LVGGR_GROUP: LPARAM = 0; -pub const LVGGR_HEADER: LPARAM = 1; -pub const LVGGR_LABEL: LPARAM = 2; -pub const LVGGR_SUBSETLINK: LPARAM = 3; -pub const LVM_GETGROUPRECT: UINT = LVM_FIRST + 98; -pub const LVGMF_NONE: UINT = 0x00000000; -pub const LVGMF_BORDERSIZE: UINT = 0x00000001; -pub const LVGMF_BORDERCOLOR: UINT = 0x00000002; -pub const LVGMF_TEXTCOLOR: UINT = 0x00000004; -STRUCT!{struct LVGROUPMETRICS { - cbSize: UINT, - mask: UINT, - Left: UINT, - Top: UINT, - Right: UINT, - Bottom: UINT, - crLeft: COLORREF, - crTop: COLORREF, - crRight: COLORREF, - crBottom: COLORREF, - crHeader: COLORREF, - crFooter: COLORREF, -}} -pub type PLVGROUPMETRICS = *mut LVGROUPMETRICS; -pub const LVM_SETGROUPMETRICS: UINT = LVM_FIRST + 155; -pub const LVM_GETGROUPMETRICS: UINT = LVM_FIRST + 156; -pub const LVM_ENABLEGROUPVIEW: UINT = LVM_FIRST + 157; -FN!{stdcall PFNLVGROUPCOMPARE( - c_int, - c_int, - *mut c_void, -) -> c_int} -pub const LVM_SORTGROUPS: UINT = LVM_FIRST + 158; -STRUCT!{struct LVINSERTGROUPSORTED { - pfnGroupCompare: PFNLVGROUPCOMPARE, - pvData: *mut c_void, - lvGroup: LVGROUP, -}} -pub type PLVINSERTGROUPSORTED = *mut LVINSERTGROUPSORTED; -pub const LVM_INSERTGROUPSORTED: UINT = LVM_FIRST + 159; -pub const LVM_REMOVEALLGROUPS: UINT = LVM_FIRST + 160; -pub const LVM_HASGROUP: UINT = LVM_FIRST + 161; -pub const LVM_GETGROUPSTATE: UINT = LVM_FIRST + 92; -pub const LVM_GETFOCUSEDGROUP: UINT = LVM_FIRST + 93; -pub const LVTVIF_AUTOSIZE: DWORD = 0x00000000; -pub const LVTVIF_FIXEDWIDTH: DWORD = 0x00000001; -pub const LVTVIF_FIXEDHEIGHT: DWORD = 0x00000002; -pub const LVTVIF_FIXEDSIZE: DWORD = 0x00000003; -pub const LVTVIF_EXTENDED: DWORD = 0x00000004; -pub const LVTVIM_TILESIZE: DWORD = 0x00000001; -pub const LVTVIM_COLUMNS: DWORD = 0x00000002; -pub const LVTVIM_LABELMARGIN: DWORD = 0x00000004; -STRUCT!{struct LVTILEVIEWINFO { - cbSize: UINT, - dwMask: DWORD, - dwFlags: DWORD, - sizeTile: SIZE, - cLines: c_int, - rcLabelMargin: RECT, -}} -pub type PLVTILEVIEWINFO = *mut LVTILEVIEWINFO; -STRUCT!{struct LVTILEINFO { - cbSize: UINT, - iItem: c_int, - cColumns: UINT, - puColumns: PUINT, - piColFmt: *mut c_int, -}} -pub type PLVTILEINFO = *mut LVTILEINFO; -pub const LVM_SETTILEVIEWINFO: UINT = LVM_FIRST + 162; -pub const LVM_GETTILEVIEWINFO: UINT = LVM_FIRST + 163; -pub const LVM_SETTILEINFO: UINT = LVM_FIRST + 164; -pub const LVM_GETTILEINFO: UINT = LVM_FIRST + 165; -STRUCT!{struct LVINSERTMARK { - cbSize: UINT, - dwFlags: DWORD, - iItem: c_int, - dwReserved: DWORD, -}} -pub type LPLVINSERTMARK = *mut LVINSERTMARK; -pub const LVIM_AFTER: DWORD = 0x00000001; -pub const LVM_SETINSERTMARK: UINT = LVM_FIRST + 166; -pub const LVM_GETINSERTMARK: UINT = LVM_FIRST + 167; -pub const LVM_INSERTMARKHITTEST: UINT = LVM_FIRST + 168; -pub const LVM_GETINSERTMARKRECT: UINT = LVM_FIRST + 169; -pub const LVM_SETINSERTMARKCOLOR: UINT = LVM_FIRST + 170; -pub const LVM_GETINSERTMARKCOLOR: UINT = LVM_FIRST + 171; -STRUCT!{struct LVSETINFOTIP { - cbSize: UINT, - dwFlags: DWORD, - pszText: LPWSTR, - iItem: c_int, - iSubItem: c_int, -}} -pub type PLVSETINFOTIP = *mut LVSETINFOTIP; -pub const LVM_SETINFOTIP: UINT = LVM_FIRST + 173; -pub const LVM_GETSELECTEDCOLUMN: UINT = LVM_FIRST + 174; -pub const LVM_ISGROUPVIEWENABLED: UINT = LVM_FIRST + 175; -pub const LVM_GETOUTLINECOLOR: UINT = LVM_FIRST + 176; -pub const LVM_SETOUTLINECOLOR: UINT = LVM_FIRST + 177; -pub const LVM_CANCELEDITLABEL: UINT = LVM_FIRST + 179; -pub const LVM_MAPINDEXTOID: UINT = LVM_FIRST + 180; -pub const LVM_MAPIDTOINDEX: UINT = LVM_FIRST + 181; -pub const LVM_ISITEMVISIBLE: UINT = LVM_FIRST + 182; -pub const LVM_GETEMPTYTEXT: UINT = LVM_FIRST + 204; -pub const LVM_GETFOOTERRECT: UINT = LVM_FIRST + 205; -pub const LVFF_ITEMCOUNT: UINT = 0x00000001; -STRUCT!{struct LVFOOTERINFO { - mask: UINT, - pszText: LPWSTR, - cchTextMax: c_int, - cItems: UINT, -}} -pub type LPLVFOOTERINFO = *mut LVFOOTERINFO; -pub const LVM_GETFOOTERINFO: UINT = LVM_FIRST + 206; -pub const LVM_GETFOOTERITEMRECT: UINT = LVM_FIRST + 207; -pub const LVFIF_TEXT: UINT = 0x00000001; -pub const LVFIF_STATE: UINT = 0x00000002; -pub const LVFIS_FOCUSED: UINT = 0x0001; -STRUCT!{struct LVFOOTERITEM { - mask: UINT, - iItem: c_int, - pszText: LPWSTR, - cchTextMax: c_int, - state: UINT, - stateMask: UINT, -}} -pub type LPLVFOOTERITEM = *mut LVFOOTERITEM; -pub const LVM_GETFOOTERITEM: UINT = LVM_FIRST + 208; -STRUCT!{struct LVITEMINDEX { - iItem: c_int, - iGroup: c_int, -}} -pub type PLVITEMINDEX = *mut LVITEMINDEX; -pub const LVM_GETITEMINDEXRECT: UINT = LVM_FIRST + 209; -pub const LVM_SETITEMINDEXSTATE: UINT = LVM_FIRST + 210; -pub const LVM_GETNEXTITEMINDEX: UINT = LVM_FIRST + 211; -pub type LPNM_LISTVIEW = LPNMLISTVIEW; -pub type NM_LISTVIEW = NMLISTVIEW; -STRUCT!{struct NMLISTVIEW { - hdr: NMHDR, - iItem: c_int, - iSubItem: c_int, - uNewState: UINT, - uOldState: UINT, - uChanged: UINT, - ptAction: POINT, - lParam: LPARAM, -}} -pub type LPNMLISTVIEW = *mut NMLISTVIEW; -STRUCT!{struct NMITEMACTIVATE { - hdr: NMHDR, - iItem: c_int, - iSubItem: c_int, - uNewState: UINT, - uOldState: UINT, - uChanged: UINT, - ptAction: POINT, - lParam: LPARAM, - uKeyFlags: UINT, -}} -pub type LPNMITEMACTIVATE = *mut NMITEMACTIVATE; -pub const LVKF_ALT: UINT = 0x0001; -pub const LVKF_CONTROL: UINT = 0x0002; -pub const LVKF_SHIFT: UINT = 0x0004; -STRUCT!{struct NMLVCUSTOMDRAW { - nmcd: NMCUSTOMDRAW, - clrText: COLORREF, - clrTextBk: COLORREF, - iSubItem: c_int, - dwItemType: DWORD, - clrFace: COLORREF, - iIconEffect: c_int, - iIconPhase: c_int, - iPartId: c_int, - iStateId: c_int, - rcText: RECT, - uAlign: UINT, -}} -pub type LPNMLVCUSTOMDRAW = *mut NMLVCUSTOMDRAW; -pub const LVCDI_ITEM: DWORD = 0x00000000; -pub const LVCDI_GROUP: DWORD = 0x00000001; -pub const LVCDI_ITEMSLIST: DWORD = 0x00000002; -pub const LVCDRF_NOSELECT: LRESULT = 0x00010000; -pub const LVCDRF_NOGROUPFRAME: LRESULT = 0x00020000; -STRUCT!{struct NMLVCACHEHINT { - hdr: NMHDR, - iFrom: c_int, - iTo: c_int, -}} -pub type LPNMLVCACHEHINT = *mut NMLVCACHEHINT; -pub type LPNM_CACHEHINT = LPNMLVCACHEHINT; -pub type PNM_CACHEHINT = LPNMLVCACHEHINT; -pub type NM_CACHEHINT = NMLVCACHEHINT; -STRUCT!{struct NMLVFINDITEMA { - hdr: NMHDR, - iStart: c_int, - lvfi: LVFINDINFOA, -}} -pub type LPNMLVFINDITEMA = *mut NMLVFINDITEMA; -STRUCT!{struct NMLVFINDITEMW { - hdr: NMHDR, - iStart: c_int, - lvfi: LVFINDINFOW, -}} -pub type LPNMLVFINDITEMW = *mut NMLVFINDITEMW; -pub type PNM_FINDITEMA = LPNMLVFINDITEMA; -pub type LPNM_FINDITEMA = LPNMLVFINDITEMA; -pub type NM_FINDITEMA = NMLVFINDITEMA; -pub type PNM_FINDITEMW = LPNMLVFINDITEMW; -pub type LPNM_FINDITEMW = LPNMLVFINDITEMW; -pub type NM_FINDITEMW = NMLVFINDITEMW; -STRUCT!{struct NMLVODSTATECHANGE { - hdr: NMHDR, - iFrom: c_int, - iTo: c_int, - uNewState: UINT, - uOldState: UINT, -}} -pub type LPNMLVODSTATECHANGE = *mut NMLVODSTATECHANGE; -pub type PNM_ODSTATECHANGE = LPNMLVODSTATECHANGE; -pub type LPNM_ODSTATECHANGE = LPNMLVODSTATECHANGE; -pub type NM_ODSTATECHANGE = NMLVODSTATECHANGE; -pub const LVN_ITEMCHANGING: UINT = LVN_FIRST - 0; -pub const LVN_ITEMCHANGED: UINT = LVN_FIRST - 1; -pub const LVN_INSERTITEM: UINT = LVN_FIRST - 2; -pub const LVN_DELETEITEM: UINT = LVN_FIRST - 3; -pub const LVN_DELETEALLITEMS: UINT = LVN_FIRST - 4; -pub const LVN_BEGINLABELEDITA: UINT = LVN_FIRST - 5; -pub const LVN_BEGINLABELEDITW: UINT = LVN_FIRST - 75; -pub const LVN_ENDLABELEDITA: UINT = LVN_FIRST - 6; -pub const LVN_ENDLABELEDITW: UINT = LVN_FIRST - 76; -pub const LVN_COLUMNCLICK: UINT = LVN_FIRST - 8; -pub const LVN_BEGINDRAG: UINT = LVN_FIRST - 9; -pub const LVN_BEGINRDRAG: UINT = LVN_FIRST - 11; -pub const LVN_ODCACHEHINT: UINT = LVN_FIRST - 13; -pub const LVN_ODFINDITEMA: UINT = LVN_FIRST - 52; -pub const LVN_ODFINDITEMW: UINT = LVN_FIRST - 79; -pub const LVN_ITEMACTIVATE: UINT = LVN_FIRST - 14; -pub const LVN_ODSTATECHANGED: UINT = LVN_FIRST - 15; -pub const LVN_HOTTRACK: UINT = LVN_FIRST - 21; -pub const LVN_GETDISPINFOA: UINT = LVN_FIRST - 50; -pub const LVN_GETDISPINFOW: UINT = LVN_FIRST - 77; -pub const LVN_SETDISPINFOA: UINT = LVN_FIRST - 51; -pub const LVN_SETDISPINFOW: UINT = LVN_FIRST - 78; -pub const LVIF_DI_SETITEM: UINT = 0x1000; -pub type LV_DISPINFOA = NMLVDISPINFOA; -pub type LV_DISPINFOW = NMLVDISPINFOW; -STRUCT!{struct NMLVDISPINFOA { - hdr: NMHDR, - item: LVITEMA, -}} -pub type LPNMLVDISPINFOA = *mut NMLVDISPINFOA; -STRUCT!{struct NMLVDISPINFOW { - hdr: NMHDR, - item: LVITEMW, -}} -pub type LPNMLVDISPINFOW = *mut NMLVDISPINFOW; -pub const LVN_KEYDOWN: UINT = LVN_FIRST - 55; -pub type LV_KEYDOWN = NMLVKEYDOWN; -STRUCT!{#[repr(packed)] struct NMLVKEYDOWN { - hdr: NMHDR, - wVKey: WORD, - flags: UINT, -}} -pub type LPNMLVKEYDOWN = *mut NMLVKEYDOWN; -pub const LVN_MARQUEEBEGIN: UINT = LVN_FIRST - 56; -STRUCT!{struct NMLVLINK { - hdr: NMHDR, - link: LITEM, - iItem: c_int, - iSubItem: c_int, -}} -pub type PNMLVLINK = *mut NMLVLINK; -STRUCT!{struct NMLVGETINFOTIPA { - hdr: NMHDR, - dwFlags: DWORD, - pszText: LPSTR, - cchTextMax: c_int, - iItem: c_int, - iSubItem: c_int, - lParam: LPARAM, -}} -pub type LPNMLVGETINFOTIPA = *mut NMLVGETINFOTIPA; -STRUCT!{struct NMLVGETINFOTIPW { - hdr: NMHDR, - dwFlags: DWORD, - pszText: LPWSTR, - cchTextMax: c_int, - iItem: c_int, - iSubItem: c_int, - lParam: LPARAM, -}} -pub type LPNMLVGETINFOTIPW = *mut NMLVGETINFOTIPW; -pub const LVGIT_UNFOLDED: DWORD = 0x0001; -pub const LVN_GETINFOTIPA: UINT = LVN_FIRST - 57; -pub const LVN_GETINFOTIPW: UINT = LVN_FIRST - 58; -pub const LVNSCH_DEFAULT: LPARAM = -1; -pub const LVNSCH_ERROR: LPARAM = -2; -pub const LVNSCH_IGNORE: LPARAM = -3; -pub const LVN_INCREMENTALSEARCHA: UINT = LVN_FIRST - 62; -pub const LVN_INCREMENTALSEARCHW: UINT = LVN_FIRST - 63; -pub const LVN_COLUMNDROPDOWN: UINT = LVN_FIRST - 64; -pub const LVN_COLUMNOVERFLOWCLICK: UINT = LVN_FIRST - 66; -STRUCT!{struct NMLVSCROLL { - hdr: NMHDR, - dx: c_int, - dy: c_int, -}} -pub type LPNMLVSCROLL = *mut NMLVSCROLL; -pub const LVN_BEGINSCROLL: UINT = LVN_FIRST - 80; -pub const LVN_ENDSCROLL: UINT = LVN_FIRST - 81; -pub const LVN_LINKCLICK: UINT = LVN_FIRST - 84; -pub const EMF_CENTERED: DWORD = 0x00000001; -STRUCT!{struct NMLVEMPTYMARKUP { - hdr: NMHDR, - dwFlags: DWORD, - szMarkup: [WCHAR; L_MAX_URL_LENGTH], -}} -pub const LVN_GETEMPTYMARKUP: UINT = LVN_FIRST - 87; -pub const WC_TREEVIEW: &'static str = "SysTreeView32"; -pub const TVS_HASBUTTONS: DWORD = 0x0001; -pub const TVS_HASLINES: DWORD = 0x0002; -pub const TVS_LINESATROOT: DWORD = 0x0004; -pub const TVS_EDITLABELS: DWORD = 0x0008; -pub const TVS_DISABLEDRAGDROP: DWORD = 0x0010; -pub const TVS_SHOWSELALWAYS: DWORD = 0x0020; -pub const TVS_RTLREADING: DWORD = 0x0040; -pub const TVS_NOTOOLTIPS: DWORD = 0x0080; -pub const TVS_CHECKBOXES: DWORD = 0x0100; -pub const TVS_TRACKSELECT: DWORD = 0x0200; -pub const TVS_SINGLEEXPAND: DWORD = 0x0400; -pub const TVS_INFOTIP: DWORD = 0x0800; -pub const TVS_FULLROWSELECT: DWORD = 0x1000; -pub const TVS_NOSCROLL: DWORD = 0x2000; -pub const TVS_NONEVENHEIGHT: DWORD = 0x4000; -pub const TVS_NOHSCROLL: DWORD = 0x8000; -pub const TVS_EX_NOSINGLECOLLAPSE: DWORD = 0x0001; -pub const TVS_EX_MULTISELECT: DWORD = 0x0002; -pub const TVS_EX_DOUBLEBUFFER: DWORD = 0x0004; -pub const TVS_EX_NOINDENTSTATE: DWORD = 0x0008; -pub const TVS_EX_RICHTOOLTIP: DWORD = 0x0010; -pub const TVS_EX_AUTOHSCROLL: DWORD = 0x0020; -pub const TVS_EX_FADEINOUTEXPANDOS: DWORD = 0x0040; -pub const TVS_EX_PARTIALCHECKBOXES: DWORD = 0x0080; -pub const TVS_EX_EXCLUSIONCHECKBOXES: DWORD = 0x0100; -pub const TVS_EX_DIMMEDCHECKBOXES: DWORD = 0x0200; -pub const TVS_EX_DRAWIMAGEASYNC: DWORD = 0x0400; -pub enum TREEITEM {} -pub type HTREEITEM = *mut TREEITEM; -pub const TVIF_TEXT: UINT = 0x0001; -pub const TVIF_IMAGE: UINT = 0x0002; -pub const TVIF_PARAM: UINT = 0x0004; -pub const TVIF_STATE: UINT = 0x0008; -pub const TVIF_HANDLE: UINT = 0x0010; -pub const TVIF_SELECTEDIMAGE: UINT = 0x0020; -pub const TVIF_CHILDREN: UINT = 0x0040; -pub const TVIF_INTEGRAL: UINT = 0x0080; -pub const TVIF_STATEEX: UINT = 0x0100; -pub const TVIF_EXPANDEDIMAGE: UINT = 0x0200; -pub const TVIS_SELECTED: UINT = 0x0002; -pub const TVIS_CUT: UINT = 0x0004; -pub const TVIS_DROPHILITED: UINT = 0x0008; -pub const TVIS_BOLD: UINT = 0x0010; -pub const TVIS_EXPANDED: UINT = 0x0020; -pub const TVIS_EXPANDEDONCE: UINT = 0x0040; -pub const TVIS_EXPANDPARTIAL: UINT = 0x0080; -pub const TVIS_OVERLAYMASK: UINT = 0x0F00; -pub const TVIS_STATEIMAGEMASK: UINT = 0xF000; -pub const TVIS_USERMASK: UINT = 0xF000; -pub const TVIS_EX_FLAT: UINT = 0x0001; -pub const TVIS_EX_DISABLED: UINT = 0x0002; -pub const TVIS_EX_ALL: UINT = 0x0002; -STRUCT!{struct NMTVSTATEIMAGECHANGING { - hdr: NMHDR, - hti: HTREEITEM, - iOldStateImageIndex: c_int, - iNewStateImageIndex: c_int, -}} -pub type LPNMTVSTATEIMAGECHANGING = *mut NMTVSTATEIMAGECHANGING; -pub const I_CHILDRENCALLBACK: c_int = -1; -pub const I_CHILDRENAUTO: c_int = -2; -pub type LPTV_ITEMW = LPTVITEMW; -pub type LPTV_ITEMA = LPTVITEMA; -pub type TV_ITEMW = TVITEMW; -pub type TV_ITEMA = TVITEMA; -STRUCT!{struct TVITEMA { - mask: UINT, - hItem: HTREEITEM, - state: UINT, - stateMask: UINT, - pszText: LPSTR, - cchTextMax: c_int, - iImage: c_int, - iSelectedImage: c_int, - cChildren: c_int, - lParam: LPARAM, -}} -pub type LPTVITEMA = *mut TVITEMA; -STRUCT!{struct TVITEMW { - mask: UINT, - hItem: HTREEITEM, - state: UINT, - stateMask: UINT, - pszText: LPWSTR, - cchTextMax: c_int, - iImage: c_int, - iSelectedImage: c_int, - cChildren: c_int, - lParam: LPARAM, -}} -pub type LPTVITEMW = *mut TVITEMW; -STRUCT!{struct TVITEMEXA { - mask: UINT, - hItem: HTREEITEM, - state: UINT, - stateMask: UINT, - pszText: LPSTR, - cchTextMax: c_int, - iImage: c_int, - iSelectedImage: c_int, - cChildren: c_int, - lParam: LPARAM, - iIntegral: c_int, - uStateEx: UINT, - hwnd: HWND, - iExpandedImage: c_int, - iReserved: c_int, -}} -pub type LPTVITEMEXA = *mut TVITEMEXA; -STRUCT!{struct TVITEMEXW { - mask: UINT, - hItem: HTREEITEM, - state: UINT, - stateMask: UINT, - pszText: LPWSTR, - cchTextMax: c_int, - iImage: c_int, - iSelectedImage: c_int, - cChildren: c_int, - lParam: LPARAM, - iIntegral: c_int, - uStateEx: UINT, - hwnd: HWND, - iExpandedImage: c_int, - iReserved: c_int, -}} -pub type LPTVITEMEXW = *mut TVITEMEXW; -pub const TVI_ROOT: HTREEITEM = -0x10000isize as HTREEITEM; -pub const TVI_FIRST: HTREEITEM = -0x0FFFFisize as HTREEITEM; -pub const TVI_LAST: HTREEITEM = -0x0FFFEisize as HTREEITEM; -pub const TVI_SORT: HTREEITEM = -0x0FFFDisize as HTREEITEM; -pub type LPTV_INSERTSTRUCTA = LPTVINSERTSTRUCTA; -pub type LPTV_INSERTSTRUCTW = LPTVINSERTSTRUCTW; -pub type TV_INSERTSTRUCTA = TVINSERTSTRUCTA; -pub type TV_INSERTSTRUCTW = TVINSERTSTRUCTW; -UNION!{union TVINSERTSTRUCTA_u { - [u32; 15] [u64; 10], - itemex itemex_mut: TVITEMEXA, - item item_mut: TV_ITEMA, -}} -STRUCT!{struct TVINSERTSTRUCTA { - hParent: HTREEITEM, - hInsertAfter: HTREEITEM, - u: TVINSERTSTRUCTA_u, -}} -pub type LPTVINSERTSTRUCTA = *mut TVINSERTSTRUCTA; -UNION!{union TVINSERTSTRUCTW_u { - [u32; 15] [u64; 10], - itemex itemex_mut: TVITEMEXW, - item item_mut: TV_ITEMW, -}} -STRUCT!{struct TVINSERTSTRUCTW { - hParent: HTREEITEM, - hInsertAfter: HTREEITEM, - u: TVINSERTSTRUCTW_u, -}} -pub type LPTVINSERTSTRUCTW = *mut TVINSERTSTRUCTW; -pub const TVM_INSERTITEMA: UINT = TV_FIRST + 0; -pub const TVM_INSERTITEMW: UINT = TV_FIRST + 50; -pub const TVM_DELETEITEM: UINT = TV_FIRST + 1; -pub const TVM_EXPAND: UINT = TV_FIRST + 2; -pub const TVE_COLLAPSE: WPARAM = 0x0001; -pub const TVE_EXPAND: WPARAM = 0x0002; -pub const TVE_TOGGLE: WPARAM = 0x0003; -pub const TVE_EXPANDPARTIAL: WPARAM = 0x4000; -pub const TVE_COLLAPSERESET: WPARAM = 0x8000; -pub const TVM_GETITEMRECT: UINT = TV_FIRST + 4; -pub const TVM_GETCOUNT: UINT = TV_FIRST + 5; -pub const TVM_GETINDENT: UINT = TV_FIRST + 6; -pub const TVM_SETINDENT: UINT = TV_FIRST + 7; -pub const TVM_GETIMAGELIST: UINT = TV_FIRST + 8; -pub const TVSIL_NORMAL: WPARAM = 0; -pub const TVSIL_STATE: WPARAM = 2; -pub const TVM_SETIMAGELIST: UINT = TV_FIRST + 9; -pub const TVM_GETNEXTITEM: UINT = TV_FIRST + 10; -pub const TVGN_ROOT: WPARAM = 0x0000; -pub const TVGN_NEXT: WPARAM = 0x0001; -pub const TVGN_PREVIOUS: WPARAM = 0x0002; -pub const TVGN_PARENT: WPARAM = 0x0003; -pub const TVGN_CHILD: WPARAM = 0x0004; -pub const TVGN_FIRSTVISIBLE: WPARAM = 0x0005; -pub const TVGN_NEXTVISIBLE: WPARAM = 0x0006; -pub const TVGN_PREVIOUSVISIBLE: WPARAM = 0x0007; -pub const TVGN_DROPHILITE: WPARAM = 0x0008; -pub const TVGN_CARET: WPARAM = 0x0009; -pub const TVGN_LASTVISIBLE: WPARAM = 0x000A; -pub const TVGN_NEXTSELECTED: WPARAM = 0x000B; -pub const TVSI_NOSINGLEEXPAND: WPARAM = 0x8000; -pub const TVM_SELECTITEM: UINT = TV_FIRST + 11; -pub const TVM_GETITEMA: UINT = TV_FIRST + 12; -pub const TVM_GETITEMW: UINT = TV_FIRST + 62; -pub const TVM_SETITEMA: UINT = TV_FIRST + 13; -pub const TVM_SETITEMW: UINT = TV_FIRST + 63; -pub const TVM_EDITLABELA: UINT = TV_FIRST + 14; -pub const TVM_EDITLABELW: UINT = TV_FIRST + 65; -pub const TVM_GETEDITCONTROL: UINT = TV_FIRST + 15; -pub const TVM_GETVISIBLECOUNT: UINT = TV_FIRST + 16; -pub const TVM_HITTEST: UINT = TV_FIRST + 17; -pub type LPTV_HITTESTINFO = LPTVHITTESTINFO; -pub type TV_HITTESTINFO = TVHITTESTINFO; -STRUCT!{struct TVHITTESTINFO { - pt: POINT, - flags: UINT, - hItem: HTREEITEM, -}} -pub type LPTVHITTESTINFO = *mut TVHITTESTINFO; -pub const TVHT_NOWHERE: UINT = 0x0001; -pub const TVHT_ONITEMICON: UINT = 0x0002; -pub const TVHT_ONITEMLABEL: UINT = 0x0004; -pub const TVHT_ONITEM: UINT = TVHT_ONITEMICON | TVHT_ONITEMLABEL | TVHT_ONITEMSTATEICON; -pub const TVHT_ONITEMINDENT: UINT = 0x0008; -pub const TVHT_ONITEMBUTTON: UINT = 0x0010; -pub const TVHT_ONITEMRIGHT: UINT = 0x0020; -pub const TVHT_ONITEMSTATEICON: UINT = 0x0040; -pub const TVHT_ABOVE: UINT = 0x0100; -pub const TVHT_BELOW: UINT = 0x0200; -pub const TVHT_TORIGHT: UINT = 0x0400; -pub const TVHT_TOLEFT: UINT = 0x0800; -pub const TVM_CREATEDRAGIMAGE: UINT = TV_FIRST + 18; -pub const TVM_SORTCHILDREN: UINT = TV_FIRST + 19; -pub const TVM_ENSUREVISIBLE: UINT = TV_FIRST + 20; -pub const TVM_SORTCHILDRENCB: UINT = TV_FIRST + 21; -pub const TVM_ENDEDITLABELNOW: UINT = TV_FIRST + 22; -pub const TVM_GETISEARCHSTRINGA: UINT = TV_FIRST + 23; -pub const TVM_GETISEARCHSTRINGW: UINT = TV_FIRST + 64; -pub const TVM_SETTOOLTIPS: UINT = TV_FIRST + 24; -pub const TVM_GETTOOLTIPS: UINT = TV_FIRST + 25; -pub const TVM_SETINSERTMARK: UINT = TV_FIRST + 26; -pub const TVM_SETUNICODEFORMAT: UINT = CCM_SETUNICODEFORMAT; -pub const TVM_GETUNICODEFORMAT: UINT = CCM_GETUNICODEFORMAT; -pub const TVM_SETITEMHEIGHT: UINT = TV_FIRST + 27; -pub const TVM_GETITEMHEIGHT: UINT = TV_FIRST + 28; -pub const TVM_SETBKCOLOR: UINT = TV_FIRST + 29; -pub const TVM_SETTEXTCOLOR: UINT = TV_FIRST + 30; -pub const TVM_GETBKCOLOR: UINT = TV_FIRST + 31; -pub const TVM_GETTEXTCOLOR: UINT = TV_FIRST + 32; -pub const TVM_SETSCROLLTIME: UINT = TV_FIRST + 33; -pub const TVM_GETSCROLLTIME: UINT = TV_FIRST + 34; -pub const TVM_SETINSERTMARKCOLOR: UINT = TV_FIRST + 37; -pub const TVM_GETINSERTMARKCOLOR: UINT = TV_FIRST + 38; -pub const TVM_SETBORDER: UINT = TV_FIRST + 35; -pub const TVSBF_XBORDER: WPARAM = 0x00000001; -pub const TVSBF_YBORDER: WPARAM = 0x00000002; -pub const TVM_GETITEMSTATE: UINT = TV_FIRST + 39; -pub const TVM_SETLINECOLOR: UINT = TV_FIRST + 40; -pub const TVM_GETLINECOLOR: UINT = TV_FIRST + 41; -pub const TVM_MAPACCIDTOHTREEITEM: UINT = TV_FIRST + 42; -pub const TVM_MAPHTREEITEMTOACCID: UINT = TV_FIRST + 43; -pub const TVM_SETEXTENDEDSTYLE: UINT = TV_FIRST + 44; -pub const TVM_GETEXTENDEDSTYLE: UINT = TV_FIRST + 45; -pub const TVM_SETAUTOSCROLLINFO: UINT = TV_FIRST + 59; -pub const TVM_SETHOT: UINT = TV_FIRST + 58; -pub const TVM_GETSELECTEDCOUNT: UINT = TV_FIRST + 70; -pub const TVM_SHOWINFOTIP: UINT = TV_FIRST + 71; -ENUM!{enum TVITEMPART { - TVGIPR_BUTTON = 0x0001, -}} -STRUCT!{struct TVGETITEMPARTRECTINFO { - hti: HTREEITEM, - prc: *mut RECT, - partID: TVITEMPART, -}} -pub const TVM_GETITEMPARTRECT: UINT = TV_FIRST + 72; -FN!{stdcall PFNTVCOMPARE( - lParam1: LPARAM, - lParam2: LPARAM, - lParamSort: LPARAM, -) -> c_int} -pub type LPTV_SORTCB = LPTVSORTCB; -pub type TV_SORTCB = TVSORTCB; -STRUCT!{struct TVSORTCB { - hParent: HTREEITEM, - lpfnCompare: PFNTVCOMPARE, - lParam: LPARAM, -}} -pub type LPTVSORTCB = *mut TVSORTCB; -pub type LPNM_TREEVIEWA = LPNMTREEVIEWA; -pub type LPNM_TREEVIEWW = LPNMTREEVIEWW; -pub type NM_TREEVIEWA = NMTREEVIEWA; -pub type NM_TREEVIEWW = NMTREEVIEWW; -STRUCT!{struct NMTREEVIEWA { - hdr: NMHDR, - action: UINT, - itemOld: TVITEMA, - itemNew: TVITEMA, - ptDrag: POINT, -}} -pub type LPNMTREEVIEWA = *mut NMTREEVIEWA; -STRUCT!{struct NMTREEVIEWW { - hdr: NMHDR, - action: UINT, - itemOld: TVITEMW, - itemNew: TVITEMW, - ptDrag: POINT, -}} -pub type LPNMTREEVIEWW = *mut NMTREEVIEWW; -pub const TVN_SELCHANGINGA: UINT = TVN_FIRST - 1; -pub const TVN_SELCHANGINGW: UINT = TVN_FIRST - 50; -pub const TVN_SELCHANGEDA: UINT = TVN_FIRST - 2; -pub const TVN_SELCHANGEDW: UINT = TVN_FIRST - 51; -pub const TVC_UNKNOWN: LPARAM = 0x0000; -pub const TVC_BYMOUSE: LPARAM = 0x0001; -pub const TVC_BYKEYBOARD: LPARAM = 0x0002; -pub const TVN_GETDISPINFOA: UINT = TVN_FIRST - 3; -pub const TVN_GETDISPINFOW: UINT = TVN_FIRST - 52; -pub const TVN_SETDISPINFOA: UINT = TVN_FIRST - 4; -pub const TVN_SETDISPINFOW: UINT = TVN_FIRST - 53; -pub const TVIF_DI_SETITEM: UINT = 0x1000; -pub type TV_DISPINFOA = NMTVDISPINFOA; -pub type TV_DISPINFOW = NMTVDISPINFOW; -STRUCT!{struct NMTVDISPINFOA { - hdr: NMHDR, - item: TVITEMA, -}} -pub type LPNMTVDISPINFOA = *mut NMTVDISPINFOA; -STRUCT!{struct NMTVDISPINFOW { - hdr: NMHDR, - item: TVITEMW, -}} -pub type LPNMTVDISPINFOW = *mut NMTVDISPINFOW; -STRUCT!{struct NMTVDISPINFOEXA { - hdr: NMHDR, - item: TVITEMEXA, -}} -pub type LPNMTVDISPINFOEXA = *mut NMTVDISPINFOEXA; -STRUCT!{struct NMTVDISPINFOEXW { - hdr: NMHDR, - item: TVITEMEXW, -}} -pub type LPNMTVDISPINFOEXW = *mut NMTVDISPINFOEXW; -pub type TV_DISPINFOEXA = NMTVDISPINFOEXA; -pub type TV_DISPINFOEXW = NMTVDISPINFOEXW; -pub const TVN_ITEMEXPANDINGA: UINT = TVN_FIRST - 5; -pub const TVN_ITEMEXPANDINGW: UINT = TVN_FIRST - 54; -pub const TVN_ITEMEXPANDEDA: UINT = TVN_FIRST - 6; -pub const TVN_ITEMEXPANDEDW: UINT = TVN_FIRST - 55; -pub const TVN_BEGINDRAGA: UINT = TVN_FIRST - 7; -pub const TVN_BEGINDRAGW: UINT = TVN_FIRST - 56; -pub const TVN_BEGINRDRAGA: UINT = TVN_FIRST - 8; -pub const TVN_BEGINRDRAGW: UINT = TVN_FIRST - 57; -pub const TVN_DELETEITEMA: UINT = TVN_FIRST - 9; -pub const TVN_DELETEITEMW: UINT = TVN_FIRST - 58; -pub const TVN_BEGINLABELEDITA: UINT = TVN_FIRST - 10; -pub const TVN_BEGINLABELEDITW: UINT = TVN_FIRST - 59; -pub const TVN_ENDLABELEDITA: UINT = TVN_FIRST - 11; -pub const TVN_ENDLABELEDITW: UINT = TVN_FIRST - 60; -pub const TVN_KEYDOWN: UINT = TVN_FIRST - 12; -pub const TVN_GETINFOTIPA: UINT = TVN_FIRST - 13; -pub const TVN_GETINFOTIPW: UINT = TVN_FIRST - 14; -pub const TVN_SINGLEEXPAND: UINT = TVN_FIRST - 15; -pub const TVNRET_DEFAULT: LRESULT = 0; -pub const TVNRET_SKIPOLD: LRESULT = 1; -pub const TVNRET_SKIPNEW: LRESULT = 2; -pub const TVN_ITEMCHANGINGA: UINT = TVN_FIRST - 16; -pub const TVN_ITEMCHANGINGW: UINT = TVN_FIRST - 17; -pub const TVN_ITEMCHANGEDA: UINT = TVN_FIRST - 18; -pub const TVN_ITEMCHANGEDW: UINT = TVN_FIRST - 19; -pub const TVN_ASYNCDRAW: UINT = TVN_FIRST - 20; -pub type TV_KEYDOWN = NMTVKEYDOWN; -STRUCT!{#[repr(packed)] struct NMTVKEYDOWN { - hdr: NMHDR, - wVKey: WORD, - flags: UINT, -}} -pub type LPNMTVKEYDOWN = *mut NMTVKEYDOWN; -STRUCT!{struct NMTVCUSTOMDRAW { - nmcd: NMCUSTOMDRAW, - clrText: COLORREF, - clrTextBk: COLORREF, - iLevel: c_int, -}} -pub type LPNMTVCUSTOMDRAW = *mut NMTVCUSTOMDRAW; -STRUCT!{struct NMTVGETINFOTIPA { - hdr: NMHDR, - pszText: LPSTR, - cchTextMax: c_int, - hItem: HTREEITEM, - lParam: LPARAM, -}} -pub type LPNMTVGETINFOTIPA = *mut NMTVGETINFOTIPA; -STRUCT!{struct NMTVGETINFOTIPW { - hdr: NMHDR, - pszText: LPWSTR, - cchTextMax: c_int, - hItem: HTREEITEM, - lParam: LPARAM, -}} -pub type LPNMTVGETINFOTIPW = *mut NMTVGETINFOTIPW; -pub const TVCDRF_NOIMAGES: LRESULT = 0x00010000; -STRUCT!{struct NMTVITEMCHANGE { - hdr: NMHDR, - uChanged: UINT, - hItem: HTREEITEM, - uStateNew: UINT, - uStateOld: UINT, - lParam: LPARAM, -}} -STRUCT!{struct NMTVASYNCDRAW { - hdr: NMHDR, - pimldp: *mut IMAGELISTDRAWPARAMS, - hr: HRESULT, - hItem: HTREEITEM, - lParam: LPARAM, - dwRetFlags: DWORD, - iRetImageIndex: c_int, -}} -pub const WC_COMBOBOXEX: &'static str = "ComboBoxEx32"; -pub const CBEIF_TEXT: UINT = 0x00000001; -pub const CBEIF_IMAGE: UINT = 0x00000002; -pub const CBEIF_SELECTEDIMAGE: UINT = 0x00000004; -pub const CBEIF_OVERLAY: UINT = 0x00000008; -pub const CBEIF_INDENT: UINT = 0x00000010; -pub const CBEIF_LPARAM: UINT = 0x00000020; -pub const CBEIF_DI_SETITEM: UINT = 0x10000000; -STRUCT!{struct COMBOBOXEXITEMA { - mask: UINT, - iItem: INT_PTR, - pszText: LPSTR, - cchTextMax: c_int, - iImage: c_int, - iSelectedImage: c_int, - iOverlay: c_int, - iIndent: c_int, - lParam: LPARAM, -}} -pub type PCOMBOBOXEXITEMA = *mut COMBOBOXEXITEMA; -pub type PCCOMBOBOXEXITEMA = *const COMBOBOXEXITEMA; -STRUCT!{struct COMBOBOXEXITEMW { - mask: UINT, - iItem: INT_PTR, - pszText: LPWSTR, - cchTextMax: c_int, - iImage: c_int, - iSelectedImage: c_int, - iOverlay: c_int, - iIndent: c_int, - lParam: LPARAM, -}} -pub type PCOMBOBOXEXITEMW = *mut COMBOBOXEXITEMW; -pub type PCCOMBOBOXEXITEMW = *const COMBOBOXEXITEMW; -pub const CBEM_INSERTITEMA: UINT = WM_USER + 1; -pub const CBEM_SETIMAGELIST: UINT = WM_USER + 2; -pub const CBEM_GETIMAGELIST: UINT = WM_USER + 3; -pub const CBEM_GETITEMA: UINT = WM_USER + 4; -pub const CBEM_SETITEMA: UINT = WM_USER + 5; -pub const CBEM_DELETEITEM: UINT = CB_DELETESTRING; -pub const CBEM_GETCOMBOCONTROL: UINT = WM_USER + 6; -pub const CBEM_GETEDITCONTROL: UINT = WM_USER + 7; -pub const CBEM_SETEXSTYLE: UINT = WM_USER + 8; -pub const CBEM_SETEXTENDEDSTYLE: UINT = WM_USER + 14; -pub const CBEM_GETEXSTYLE: UINT = WM_USER + 9; -pub const CBEM_GETEXTENDEDSTYLE: UINT = WM_USER + 9; -pub const CBEM_SETUNICODEFORMAT: UINT = CCM_SETUNICODEFORMAT; -pub const CBEM_GETUNICODEFORMAT: UINT = CCM_GETUNICODEFORMAT; -pub const CBEM_HASEDITCHANGED: UINT = WM_USER + 10; -pub const CBEM_INSERTITEMW: UINT = WM_USER + 11; -pub const CBEM_SETITEMW: UINT = WM_USER + 12; -pub const CBEM_GETITEMW: UINT = WM_USER + 13; -pub const CBEM_SETWINDOWTHEME: UINT = CCM_SETWINDOWTHEME; -pub const CBES_EX_NOEDITIMAGE: DWORD = 0x00000001; -pub const CBES_EX_NOEDITIMAGEINDENT: DWORD = 0x00000002; -pub const CBES_EX_PATHWORDBREAKPROC: DWORD = 0x00000004; -pub const CBES_EX_NOSIZELIMIT: DWORD = 0x00000008; -pub const CBES_EX_CASESENSITIVE: DWORD = 0x00000010; -pub const CBES_EX_TEXTENDELLIPSIS: DWORD = 0x00000020; -STRUCT!{struct NMCOMBOBOXEXA { - hdr: NMHDR, - ceItem: COMBOBOXEXITEMA, -}} -pub type PNMCOMBOBOXEXA = *mut NMCOMBOBOXEXA; -STRUCT!{struct NMCOMBOBOXEXW { - hdr: NMHDR, - ceItem: COMBOBOXEXITEMW, -}} -pub type PNMCOMBOBOXEXW = *mut NMCOMBOBOXEXW; -pub const CBEN_GETDISPINFOA: UINT = CBEN_FIRST - 0; -pub const CBEN_INSERTITEM: UINT = CBEN_FIRST - 1; -pub const CBEN_DELETEITEM: UINT = CBEN_FIRST - 2; -pub const CBEN_BEGINEDIT: UINT = CBEN_FIRST - 4; -pub const CBEN_ENDEDITA: UINT = CBEN_FIRST - 5; -pub const CBEN_ENDEDITW: UINT = CBEN_FIRST - 6; -pub const CBEN_GETDISPINFOW: UINT = CBEN_FIRST - 7; -pub const CBEN_DRAGBEGINA: UINT = CBEN_FIRST - 8; -pub const CBEN_DRAGBEGINW: UINT = CBEN_FIRST - 9; -pub const CBENF_KILLFOCUS: c_int = 1; -pub const CBENF_RETURN: c_int = 2; -pub const CBENF_ESCAPE: c_int = 3; -pub const CBENF_DROPDOWN: c_int = 4; -pub const CBEMAXSTRLEN: usize = 260; -STRUCT!{struct NMCBEDRAGBEGINW { - hdr: NMHDR, - iItemid: c_int, - szText: [WCHAR; CBEMAXSTRLEN], -}} -pub type PNMCBEDRAGBEGINW = *mut NMCBEDRAGBEGINW; -pub type LPNMCBEDRAGBEGINW = *mut NMCBEDRAGBEGINW; -STRUCT!{struct NMCBEDRAGBEGINA { - hdr: NMHDR, - iItemid: c_int, - szText: [c_char; CBEMAXSTRLEN], -}} -pub type PNMCBEDRAGBEGINA = *mut NMCBEDRAGBEGINA; -pub type LPNMCBEDRAGBEGINA = *mut NMCBEDRAGBEGINA; -STRUCT!{struct NMCBEENDEDITW { - hdr: NMHDR, - fChanged: BOOL, - iNewSelection: c_int, - szText: [WCHAR; CBEMAXSTRLEN], - iWhy: c_int, -}} -pub type PNMCBEENDEDITW = *mut NMCBEENDEDITW; -pub type LPNMCBEENDEDITW = *mut NMCBEENDEDITW; -STRUCT!{struct NMCBEENDEDITA { - hdr: NMHDR, - fChanged: BOOL, - iNewSelection: c_int, - szText: [c_char; CBEMAXSTRLEN], - iWhy: c_int, -}} -pub type PNMCBEENDEDITA = *mut NMCBEENDEDITA; -pub type LPNMCBEENDEDITA = *mut NMCBEENDEDITA; -pub const WC_TABCONTROL: &'static str = "SysTabControl32"; -pub const TCS_SCROLLOPPOSITE: DWORD = 0x0001; -pub const TCS_BOTTOM: DWORD = 0x0002; -pub const TCS_RIGHT: DWORD = 0x0002; -pub const TCS_MULTISELECT: DWORD = 0x0004; -pub const TCS_FLATBUTTONS: DWORD = 0x0008; -pub const TCS_FORCEICONLEFT: DWORD = 0x0010; -pub const TCS_FORCELABELLEFT: DWORD = 0x0020; -pub const TCS_HOTTRACK: DWORD = 0x0040; -pub const TCS_VERTICAL: DWORD = 0x0080; -pub const TCS_TABS: DWORD = 0x0000; -pub const TCS_BUTTONS: DWORD = 0x0100; -pub const TCS_SINGLELINE: DWORD = 0x0000; -pub const TCS_MULTILINE: DWORD = 0x0200; -pub const TCS_RIGHTJUSTIFY: DWORD = 0x0000; -pub const TCS_FIXEDWIDTH: DWORD = 0x0400; -pub const TCS_RAGGEDRIGHT: DWORD = 0x0800; -pub const TCS_FOCUSONBUTTONDOWN: DWORD = 0x1000; -pub const TCS_OWNERDRAWFIXED: DWORD = 0x2000; -pub const TCS_TOOLTIPS: DWORD = 0x4000; -pub const TCS_FOCUSNEVER: DWORD = 0x8000; -pub const TCS_EX_FLATSEPARATORS: DWORD = 0x00000001; -pub const TCS_EX_REGISTERDROP: DWORD = 0x00000002; -pub const TCM_GETIMAGELIST: UINT = TCM_FIRST + 2; -pub const TCM_SETIMAGELIST: UINT = TCM_FIRST + 3; -pub const TCM_GETITEMCOUNT: UINT = TCM_FIRST + 4; -pub const TCIF_TEXT: UINT = 0x0001; -pub const TCIF_IMAGE: UINT = 0x0002; -pub const TCIF_RTLREADING: UINT = 0x0004; -pub const TCIF_PARAM: UINT = 0x0008; -pub const TCIF_STATE: UINT = 0x0010; -pub const TCIS_BUTTONPRESSED: DWORD = 0x0001; -pub const TCIS_HIGHLIGHTED: DWORD = 0x0002; -pub type TC_ITEMHEADERA = TCITEMHEADERA; -pub type TC_ITEMHEADERW = TCITEMHEADERW; -STRUCT!{struct TCITEMHEADERA { - mask: UINT, - lpReserved1: UINT, - lpReserved2: UINT, - pszText: LPSTR, - cchTextMax: c_int, - iImage: c_int, -}} -pub type LPTCITEMHEADERA = *mut TCITEMHEADERA; -STRUCT!{struct TCITEMHEADERW { - mask: UINT, - lpReserved1: UINT, - lpReserved2: UINT, - pszText: LPWSTR, - cchTextMax: c_int, - iImage: c_int, -}} -pub type LPTCITEMHEADERW = *mut TCITEMHEADERW; -pub type TC_ITEMA = TCITEMA; -pub type TC_ITEMW = TCITEMW; -STRUCT!{struct TCITEMA { - mask: UINT, - dwState: DWORD, - dwStateMask: DWORD, - pszText: LPSTR, - cchTextMax: c_int, - iImage: c_int, - lParam: LPARAM, -}} -pub type LPTCITEMA = *mut TCITEMA; -STRUCT!{struct TCITEMW { - mask: UINT, - dwState: DWORD, - dwStateMask: DWORD, - pszText: LPWSTR, - cchTextMax: c_int, - iImage: c_int, - lParam: LPARAM, -}} -pub type LPTCITEMW = *mut TCITEMW; -pub const TCM_GETITEMA: UINT = TCM_FIRST + 5; -pub const TCM_GETITEMW: UINT = TCM_FIRST + 60; -pub const TCM_SETITEMA: UINT = TCM_FIRST + 6; -pub const TCM_SETITEMW: UINT = TCM_FIRST + 61; -pub const TCM_INSERTITEMA: UINT = TCM_FIRST + 7; -pub const TCM_INSERTITEMW: UINT = TCM_FIRST + 62; -pub const TCM_DELETEITEM: UINT = TCM_FIRST + 8; -pub const TCM_DELETEALLITEMS: UINT = TCM_FIRST + 9; -pub const TCM_GETITEMRECT: UINT = TCM_FIRST + 10; -pub const TCM_GETCURSEL: UINT = TCM_FIRST + 11; -pub const TCM_SETCURSEL: UINT = TCM_FIRST + 12; -pub const TCHT_NOWHERE: UINT = 0x0001; -pub const TCHT_ONITEMICON: UINT = 0x0002; -pub const TCHT_ONITEMLABEL: UINT = 0x0004; -pub const TCHT_ONITEM: UINT = TCHT_ONITEMICON | TCHT_ONITEMLABEL; -pub type LPTC_HITTESTINFO = LPTCHITTESTINFO; -pub type TC_HITTESTINFO = TCHITTESTINFO; -STRUCT!{struct TCHITTESTINFO { - pt: POINT, - flags: UINT, -}} -pub type LPTCHITTESTINFO = *mut TCHITTESTINFO; -pub const TCM_HITTEST: UINT = TCM_FIRST + 13; -pub const TCM_SETITEMEXTRA: UINT = TCM_FIRST + 14; -pub const TCM_ADJUSTRECT: UINT = TCM_FIRST + 40; -pub const TCM_SETITEMSIZE: UINT = TCM_FIRST + 41; -pub const TCM_REMOVEIMAGE: UINT = TCM_FIRST + 42; -pub const TCM_SETPADDING: UINT = TCM_FIRST + 43; -pub const TCM_GETROWCOUNT: UINT = TCM_FIRST + 44; -pub const TCM_GETTOOLTIPS: UINT = TCM_FIRST + 45; -pub const TCM_SETTOOLTIPS: UINT = TCM_FIRST + 46; -pub const TCM_GETCURFOCUS: UINT = TCM_FIRST + 47; -pub const TCM_SETCURFOCUS: UINT = TCM_FIRST + 48; -pub const TCM_SETMINTABWIDTH: UINT = TCM_FIRST + 49; -pub const TCM_DESELECTALL: UINT = TCM_FIRST + 50; -pub const TCM_HIGHLIGHTITEM: UINT = TCM_FIRST + 51; -pub const TCM_SETEXTENDEDSTYLE: UINT = TCM_FIRST + 52; -pub const TCM_GETEXTENDEDSTYLE: UINT = TCM_FIRST + 53; -pub const TCM_SETUNICODEFORMAT: UINT = CCM_SETUNICODEFORMAT; -pub const TCM_GETUNICODEFORMAT: UINT = CCM_GETUNICODEFORMAT; -pub const TCN_KEYDOWN: UINT = TCN_FIRST - 0; -pub type TC_KEYDOWN = NMTCKEYDOWN; -STRUCT!{#[repr(packed)] struct NMTCKEYDOWN { - hdr: NMHDR, - wVKey: WORD, - flags: UINT, -}} -pub const TCN_SELCHANGE: UINT = TCN_FIRST - 1; -pub const TCN_SELCHANGING: UINT = TCN_FIRST - 2; -pub const TCN_GETOBJECT: UINT = TCN_FIRST - 3; -pub const TCN_FOCUSCHANGE: UINT = TCN_FIRST - 4; -pub const ANIMATE_CLASS: &'static str = "SysAnimate32"; -pub const ACS_CENTER: DWORD = 0x0001; -pub const ACS_TRANSPARENT: DWORD = 0x0002; -pub const ACS_AUTOPLAY: DWORD = 0x0004; -pub const ACS_TIMER: DWORD = 0x0008; -pub const ACM_OPENA: UINT = WM_USER + 100; -pub const ACM_OPENW: UINT = WM_USER + 103; -pub const ACM_PLAY: UINT = WM_USER + 101; -pub const ACM_STOP: UINT = WM_USER + 102; -pub const ACM_ISPLAYING: UINT = WM_USER + 104; -pub const ACN_START: WPARAM = 1; -pub const ACN_STOP: WPARAM = 2; -pub const MONTHCAL_CLASS: &'static str = "SysMonthCal32"; -pub type MONTHDAYSTATE = DWORD; -pub type LPMONTHDAYSTATE = *mut DWORD; -pub const MCM_FIRST: UINT = 0x1000; -pub const MCM_GETCURSEL: UINT = MCM_FIRST + 1; -pub const MCM_SETCURSEL: UINT = MCM_FIRST + 2; -pub const MCM_GETMAXSELCOUNT: UINT = MCM_FIRST + 3; -pub const MCM_SETMAXSELCOUNT: UINT = MCM_FIRST + 4; -pub const MCM_GETSELRANGE: UINT = MCM_FIRST + 5; -pub const MCM_SETSELRANGE: UINT = MCM_FIRST + 6; -pub const MCM_GETMONTHRANGE: UINT = MCM_FIRST + 7; -pub const MCM_SETDAYSTATE: UINT = MCM_FIRST + 8; -pub const MCM_GETMINREQRECT: UINT = MCM_FIRST + 9; -pub const MCM_SETCOLOR: UINT = MCM_FIRST + 10; -pub const MCM_GETCOLOR: UINT = MCM_FIRST + 11; -pub const MCSC_BACKGROUND: WPARAM = 0; -pub const MCSC_TEXT: WPARAM = 1; -pub const MCSC_TITLEBK: WPARAM = 2; -pub const MCSC_TITLETEXT: WPARAM = 3; -pub const MCSC_MONTHBK: WPARAM = 4; -pub const MCSC_TRAILINGTEXT: WPARAM = 5; -pub const MCM_SETTODAY: UINT = MCM_FIRST + 12; -pub const MCM_GETTODAY: UINT = MCM_FIRST + 13; -pub const MCM_HITTEST: UINT = MCM_FIRST + 14; -STRUCT!{struct MCHITTESTINFO { - cbSize: UINT, - pt: POINT, - uHit: UINT, - st: SYSTEMTIME, - rc: RECT, - iOffset: c_int, - iRow: c_int, - iCol: c_int, -}} -pub type PMCHITTESTINFO = *mut MCHITTESTINFO; -pub const MCHT_TITLE: UINT = 0x00010000; -pub const MCHT_CALENDAR: UINT = 0x00020000; -pub const MCHT_TODAYLINK: UINT = 0x00030000; -pub const MCHT_CALENDARCONTROL: UINT = 0x00100000; -pub const MCHT_NEXT: UINT = 0x01000000; -pub const MCHT_PREV: UINT = 0x02000000; -pub const MCHT_NOWHERE: UINT = 0x00000000; -pub const MCHT_TITLEBK: UINT = MCHT_TITLE; -pub const MCHT_TITLEMONTH: UINT = MCHT_TITLE | 0x0001; -pub const MCHT_TITLEYEAR: UINT = MCHT_TITLE | 0x0002; -pub const MCHT_TITLEBTNNEXT: UINT = MCHT_TITLE | MCHT_NEXT | 0x0003; -pub const MCHT_TITLEBTNPREV: UINT = MCHT_TITLE | MCHT_PREV | 0x0003; -pub const MCHT_CALENDARBK: UINT = MCHT_CALENDAR; -pub const MCHT_CALENDARDATE: UINT = MCHT_CALENDAR | 0x0001; -pub const MCHT_CALENDARDATENEXT: UINT = MCHT_CALENDARDATE | MCHT_NEXT; -pub const MCHT_CALENDARDATEPREV: UINT = MCHT_CALENDARDATE | MCHT_PREV; -pub const MCHT_CALENDARDAY: UINT = MCHT_CALENDAR | 0x0002; -pub const MCHT_CALENDARWEEKNUM: UINT = MCHT_CALENDAR | 0x0003; -pub const MCHT_CALENDARDATEMIN: UINT = MCHT_CALENDAR | 0x0004; -pub const MCHT_CALENDARDATEMAX: UINT = MCHT_CALENDAR | 0x0005; -pub const MCM_SETFIRSTDAYOFWEEK: UINT = MCM_FIRST + 15; -pub const MCM_GETFIRSTDAYOFWEEK: UINT = MCM_FIRST + 16; -pub const MCM_GETRANGE: UINT = MCM_FIRST + 17; -pub const MCM_SETRANGE: UINT = MCM_FIRST + 18; -pub const MCM_GETMONTHDELTA: UINT = MCM_FIRST + 19; -pub const MCM_SETMONTHDELTA: UINT = MCM_FIRST + 20; -pub const MCM_GETMAXTODAYWIDTH: UINT = MCM_FIRST + 21; -pub const MCM_SETUNICODEFORMAT: UINT = CCM_SETUNICODEFORMAT; -pub const MCM_GETUNICODEFORMAT: UINT = CCM_GETUNICODEFORMAT; -pub const MCMV_MONTH: DWORD = 0; -pub const MCMV_YEAR: DWORD = 1; -pub const MCMV_DECADE: DWORD = 2; -pub const MCMV_CENTURY: DWORD = 3; -pub const MCMV_MAX: DWORD = MCMV_CENTURY; -pub const MCM_GETCURRENTVIEW: UINT = MCM_FIRST + 22; -pub const MCM_GETCALENDARCOUNT: UINT = MCM_FIRST + 23; -pub const MCGIP_CALENDARCONTROL: DWORD = 0; -pub const MCGIP_NEXT: DWORD = 1; -pub const MCGIP_PREV: DWORD = 2; -pub const MCGIP_FOOTER: DWORD = 3; -pub const MCGIP_CALENDAR: DWORD = 4; -pub const MCGIP_CALENDARHEADER: DWORD = 5; -pub const MCGIP_CALENDARBODY: DWORD = 6; -pub const MCGIP_CALENDARROW: DWORD = 7; -pub const MCGIP_CALENDARCELL: DWORD = 8; -pub const MCGIF_DATE: DWORD = 0x00000001; -pub const MCGIF_RECT: DWORD = 0x00000002; -pub const MCGIF_NAME: DWORD = 0x00000004; -STRUCT!{struct MCGRIDINFO { - cbSize: UINT, - dwPart: DWORD, - dwFlags: DWORD, - iCalendar: c_int, - iRow: c_int, - iCol: c_int, - bSelected: BOOL, - stStart: SYSTEMTIME, - stEnd: SYSTEMTIME, - rc: RECT, - pszName: PWSTR, - cchName: size_t, -}} -pub type PMCGRIDINFO = *mut MCGRIDINFO; -pub const MCM_GETCALENDARGRIDINFO: UINT = MCM_FIRST + 24; -pub const MCM_GETCALID: UINT = MCM_FIRST + 27; -pub const MCM_SETCALID: UINT = MCM_FIRST + 28; -pub const MCM_SIZERECTTOMIN: UINT = MCM_FIRST + 29; -pub const MCM_SETCALENDARBORDER: UINT = MCM_FIRST + 30; -pub const MCM_GETCALENDARBORDER: UINT = MCM_FIRST + 31; -pub const MCM_SETCURRENTVIEW: UINT = MCM_FIRST + 32; -STRUCT!{struct NMSELCHANGE { - nmhdr: NMHDR, - stSelStart: SYSTEMTIME, - stSelEnd: SYSTEMTIME, -}} -pub type LPNMSELCHANGE = *mut NMSELCHANGE; -pub const MCN_SELCHANGE: UINT = MCN_FIRST - 3; -STRUCT!{struct NMDAYSTATE { - nmhdr: NMHDR, - stStart: SYSTEMTIME, - cDayState: c_int, - prgDayState: LPMONTHDAYSTATE, -}} -pub type LPNMDAYSTATE = *mut NMDAYSTATE; -pub const MCN_GETDAYSTATE: UINT = MCN_FIRST - 1; -pub type NMSELECT = NMSELCHANGE; -pub type LPNMSELECT = *mut NMSELCHANGE; -pub const MCN_SELECT: UINT = MCN_FIRST; -STRUCT!{struct NMVIEWCHANGE { - nmhdr: NMHDR, - dwOldView: DWORD, - dwNewView: DWORD, -}} -pub type LPNMVIEWCHANGE = *mut NMVIEWCHANGE; -pub const MCN_VIEWCHANGE: UINT = MCN_FIRST - 4; -pub const MCS_DAYSTATE: DWORD = 0x0001; -pub const MCS_MULTISELECT: DWORD = 0x0002; -pub const MCS_WEEKNUMBERS: DWORD = 0x0004; -pub const MCS_NOTODAYCIRCLE: DWORD = 0x0008; -pub const MCS_NOTODAY: DWORD = 0x0010; -pub const MCS_NOTRAILINGDATES: DWORD = 0x0040; -pub const MCS_SHORTDAYSOFWEEK: DWORD = 0x0080; -pub const MCS_NOSELCHANGEONNAV: DWORD = 0x0100; -pub const GMR_VISIBLE: DWORD = 0; -pub const GMR_DAYSTATE: DWORD = 1; -pub const DATETIMEPICK_CLASS: &'static str = "SysDateTimePick32"; -STRUCT!{struct DATETIMEPICKERINFO { - cbSize: UINT, - rcCheck: RECT, - stateCheck: DWORD, - rcButton: RECT, - stateButton: DWORD, - hwndEdit: HWND, - hwndUD: HWND, - hwndDropDown: HWND, -}} -pub type LPDATETIMEPICKERINFO = *mut DATETIMEPICKERINFO; -pub const DTM_FIRST: UINT = 0x1000; -pub const DTM_GETSYSTEMTIME: UINT = DTM_FIRST + 1; -pub const DTM_SETSYSTEMTIME: UINT = DTM_FIRST + 2; -pub const DTM_GETRANGE: UINT = DTM_FIRST + 3; -pub const DTM_SETRANGE: UINT = DTM_FIRST + 4; -pub const DTM_SETFORMATA: UINT = DTM_FIRST + 5; -pub const DTM_SETFORMATW: UINT = DTM_FIRST + 50; -pub const DTM_SETMCCOLOR: UINT = DTM_FIRST + 6; -pub const DTM_GETMCCOLOR: UINT = DTM_FIRST + 7; -pub const DTM_GETMONTHCAL: UINT = DTM_FIRST + 8; -pub const DTM_SETMCFONT: UINT = DTM_FIRST + 9; -pub const DTM_GETMCFONT: UINT = DTM_FIRST + 10; -pub const DTM_SETMCSTYLE: UINT = DTM_FIRST + 11; -pub const DTM_GETMCSTYLE: UINT = DTM_FIRST + 12; -pub const DTM_CLOSEMONTHCAL: UINT = DTM_FIRST + 13; -pub const DTM_GETDATETIMEPICKERINFO: UINT = DTM_FIRST + 14; -pub const DTM_GETIDEALSIZE: UINT = DTM_FIRST + 15; -pub const DTS_UPDOWN: DWORD = 0x0001; -pub const DTS_SHOWNONE: DWORD = 0x0002; -pub const DTS_SHORTDATEFORMAT: DWORD = 0x0000; -pub const DTS_LONGDATEFORMAT: DWORD = 0x0004; -pub const DTS_SHORTDATECENTURYFORMAT: DWORD = 0x000C; -pub const DTS_TIMEFORMAT: DWORD = 0x0009; -pub const DTS_APPCANPARSE: DWORD = 0x0010; -pub const DTS_RIGHTALIGN: DWORD = 0x0020; -pub const DTN_DATETIMECHANGE: UINT = DTN_FIRST2 - 6; -STRUCT!{struct NMDATETIMECHANGE { - nmhdr: NMHDR, - dwFlags: DWORD, - st: SYSTEMTIME, -}} -pub type LPNMDATETIMECHANGE = *mut NMDATETIMECHANGE; -pub const DTN_USERSTRINGA: UINT = DTN_FIRST2 - 5; -pub const DTN_USERSTRINGW: UINT = DTN_FIRST - 5; -STRUCT!{struct NMDATETIMESTRINGA { - nmhdr: NMHDR, - pszUserString: LPCSTR, - st: SYSTEMTIME, - dwFlags: DWORD, -}} -pub type LPNMDATETIMESTRINGA = *mut NMDATETIMESTRINGA; -STRUCT!{struct NMDATETIMESTRINGW { - nmhdr: NMHDR, - pszUserString: LPCWSTR, - st: SYSTEMTIME, - dwFlags: DWORD, -}} -pub type LPNMDATETIMESTRINGW = *mut NMDATETIMESTRINGW; -pub const DTN_WMKEYDOWNA: UINT = DTN_FIRST2 - 4; -pub const DTN_WMKEYDOWNW: UINT = DTN_FIRST - 4; -STRUCT!{struct NMDATETIMEWMKEYDOWNA { - nmhdr: NMHDR, - nVirtKey: c_int, - pszFormat: LPCSTR, - st: SYSTEMTIME, -}} -pub type LPNMDATETIMEWMKEYDOWNA = *mut NMDATETIMEWMKEYDOWNA; -STRUCT!{struct NMDATETIMEWMKEYDOWNW { - nmhdr: NMHDR, - nVirtKey: c_int, - pszFormat: LPCWSTR, - st: SYSTEMTIME, -}} -pub type LPNMDATETIMEWMKEYDOWNW = *mut NMDATETIMEWMKEYDOWNW; -pub const DTN_FORMATA: UINT = DTN_FIRST2 - 3; -pub const DTN_FORMATW: UINT = DTN_FIRST - 3; -STRUCT!{struct NMDATETIMEFORMATA { - nmhdr: NMHDR, - pszFormat: LPCSTR, - st: SYSTEMTIME, - pszDisplay: LPCSTR, - szDisplay: [CHAR; 64], -}} -pub type LPNMDATETIMEFORMATA = *mut NMDATETIMEFORMATA; -STRUCT!{struct NMDATETIMEFORMATW { - nmhdr: NMHDR, - pszFormat: LPCWSTR, - st: SYSTEMTIME, - pszDisplay: LPCWSTR, - szDisplay: [WCHAR; 64], -}} -pub type LPNMDATETIMEFORMATW = *mut NMDATETIMEFORMATW; -pub const DTN_FORMATQUERYA: UINT = DTN_FIRST2 - 2; -pub const DTN_FORMATQUERYW: UINT = DTN_FIRST - 2; -STRUCT!{struct NMDATETIMEFORMATQUERYA { - nmhdr: NMHDR, - pszFormat: LPCSTR, - szMax: SIZE, -}} -pub type LPNMDATETIMEFORMATQUERYA = *mut NMDATETIMEFORMATQUERYA; -STRUCT!{struct NMDATETIMEFORMATQUERYW { - nmhdr: NMHDR, - pszFormat: LPCWSTR, - szMax: SIZE, -}} -pub type LPNMDATETIMEFORMATQUERYW = *mut NMDATETIMEFORMATQUERYW; -pub const DTN_DROPDOWN: UINT = DTN_FIRST2 - 1; -pub const DTN_CLOSEUP: UINT = DTN_FIRST2; -pub const GDTR_MIN: WPARAM = 0x0001; -pub const GDTR_MAX: WPARAM = 0x0002; -pub const GDT_ERROR: LRESULT = -1; -pub const GDT_VALID: LRESULT = 0; -pub const GDT_NONE: LRESULT = 1; -pub const IPM_CLEARADDRESS: UINT = WM_USER + 100; -pub const IPM_SETADDRESS: UINT = WM_USER + 101; -pub const IPM_GETADDRESS: UINT = WM_USER + 102; -pub const IPM_SETRANGE: UINT = WM_USER + 103; -pub const IPM_SETFOCUS: UINT = WM_USER + 104; -pub const IPM_ISBLANK: UINT = WM_USER + 105; -pub const WC_IPADDRESS: &'static str = "SysIPAddress32"; -pub const IPN_FIELDCHANGED: UINT = IPN_FIRST - 0; -STRUCT!{struct NMIPADDRESS { - hdr: NMHDR, - iField: c_int, - iValue: c_int, -}} -pub type LPNMIPADDRESS = *mut NMIPADDRESS; -#[inline] -pub fn MAKEIPRANGE(low: BYTE, high: BYTE) -> LPARAM { - (((high as WORD) << 8) + low as WORD) as LPARAM -} -#[inline] -pub fn MAKEIPADDRESS(b1: DWORD, b2: DWORD, b3: DWORD, b4: DWORD) -> LPARAM { - ((b1 << 24) + (b2 << 16) + (b3 << 8) + b4) as LPARAM -} -#[inline] -pub fn FIRST_IPADDRESS(x: LPARAM) -> BYTE { - ((x >> 24) & 0xff) as BYTE -} -#[inline] -pub fn SECOND_IPADDRESS(x: LPARAM) -> BYTE { - ((x >> 16) & 0xff) as BYTE -} -#[inline] -pub fn THIRD_IPADDRESS(x: LPARAM) -> BYTE { - ((x >> 8) & 0xff) as BYTE -} -#[inline] -pub fn FOURTH_IPADDRESS(x: LPARAM) -> BYTE { - (x & 0xff) as BYTE -} -pub const WC_PAGESCROLLER: &'static str = "SysPager"; -pub const PGS_VERT: DWORD = 0x00000000; -pub const PGS_HORZ: DWORD = 0x00000001; -pub const PGS_AUTOSCROLL: DWORD = 0x00000002; -pub const PGS_DRAGNDROP: DWORD = 0x00000004; -pub const PGF_INVISIBLE: DWORD = 0; -pub const PGF_NORMAL: DWORD = 1; -pub const PGF_GRAYED: DWORD = 2; -pub const PGF_DEPRESSED: DWORD = 4; -pub const PGF_HOT: DWORD = 8; -pub const PGB_TOPORLEFT: c_int = 0; -pub const PGB_BOTTOMORRIGHT: c_int = 1; -pub const PGM_SETCHILD: UINT = PGM_FIRST + 1; -pub const PGM_RECALCSIZE: UINT = PGM_FIRST + 2; -pub const PGM_FORWARDMOUSE: UINT = PGM_FIRST + 3; -pub const PGM_SETBKCOLOR: UINT = PGM_FIRST + 4; -pub const PGM_GETBKCOLOR: UINT = PGM_FIRST + 5; -pub const PGM_SETBORDER: UINT = PGM_FIRST + 6; -pub const PGM_GETBORDER: UINT = PGM_FIRST + 7; -pub const PGM_SETPOS: UINT = PGM_FIRST + 8; -pub const PGM_GETPOS: UINT = PGM_FIRST + 9; -pub const PGM_SETBUTTONSIZE: UINT = PGM_FIRST + 10; -pub const PGM_GETBUTTONSIZE: UINT = PGM_FIRST + 11; -pub const PGM_GETBUTTONSTATE: UINT = PGM_FIRST + 12; -pub const PGM_GETDROPTARGET: UINT = CCM_GETDROPTARGET; -pub const PGM_SETSCROLLINFO: UINT = PGM_FIRST + 13; -pub const PGN_SCROLL: UINT = PGN_FIRST - 1; -pub const PGF_SCROLLUP: c_int = 1; -pub const PGF_SCROLLDOWN: c_int = 2; -pub const PGF_SCROLLLEFT: c_int = 4; -pub const PGF_SCROLLRIGHT: c_int = 8; -pub const PGK_SHIFT: BOOL = 1; -pub const PGK_CONTROL: BOOL = 2; -pub const PGK_MENU: BOOL = 4; -STRUCT!{#[repr(packed)] struct NMPGSCROLL { - hdr: NMHDR, - fwKeys: WORD, - rcParent: RECT, - iDir: c_int, - iXpos: c_int, - iYpos: c_int, - iScroll: c_int, -}} -pub type LPNMPGSCROLL = *mut NMPGSCROLL; -pub const PGN_CALCSIZE: UINT = PGN_FIRST - 2; -pub const PGF_CALCWIDTH: DWORD = 1; -pub const PGF_CALCHEIGHT: DWORD = 2; -STRUCT!{struct NMPGCALCSIZE { - hdr: NMHDR, - dwFlag: DWORD, - iWidth: c_int, - iHeight: c_int, -}} -pub type LPNMPGCALCSIZE = *mut NMPGCALCSIZE; -pub const PGN_HOTITEMCHANGE: UINT = PGN_FIRST - 3; -STRUCT!{struct NMPGHOTITEM { - hdr: NMHDR, - idOld: c_int, - idNew: c_int, - dwFlags: DWORD, -}} -pub type LPNMPGHOTITEM = *mut NMPGHOTITEM; -pub const WC_NATIVEFONTCTL: &'static str = "NativeFontCtl"; -pub const NFS_EDIT: DWORD = 0x0001; -pub const NFS_STATIC: DWORD = 0x0002; -pub const NFS_LISTCOMBO: DWORD = 0x0004; -pub const NFS_BUTTON: DWORD = 0x0008; -pub const NFS_ALL: DWORD = 0x0010; -pub const NFS_USEFONTASSOC: DWORD = 0x0020; -pub const WC_BUTTONA: &'static str = "Button"; -pub const BUTTON_IMAGELIST_ALIGN_LEFT: UINT = 0; -pub const BUTTON_IMAGELIST_ALIGN_RIGHT: UINT = 1; -pub const BUTTON_IMAGELIST_ALIGN_TOP: UINT = 2; -pub const BUTTON_IMAGELIST_ALIGN_BOTTOM: UINT = 3; -pub const BUTTON_IMAGELIST_ALIGN_CENTER: UINT = 4; -STRUCT!{struct BUTTON_IMAGELIST { - himl: HIMAGELIST, - margin: RECT, - uAlign: UINT, -}} -pub type PBUTTON_IMAGELIST = *mut BUTTON_IMAGELIST; -pub const BCM_GETIDEALSIZE: UINT = BCM_FIRST + 0x0001; -pub const BCM_SETIMAGELIST: UINT = BCM_FIRST + 0x0002; -pub const BCM_GETIMAGELIST: UINT = BCM_FIRST + 0x0003; -pub const BCM_SETTEXTMARGIN: UINT = BCM_FIRST + 0x0004; -pub const BCM_GETTEXTMARGIN: UINT = BCM_FIRST + 0x0005; -STRUCT!{struct NMBCHOTITEM { - hdr: NMHDR, - dwFlags: DWORD, -}} -pub type LPNMBCHOTITEM = *mut NMBCHOTITEM; -pub const BCN_HOTITEMCHANGE: UINT = BCN_FIRST + 0x0001; -pub const BS_SPLITBUTTON: UINT = 0x0000000C; -pub const BS_DEFSPLITBUTTON: UINT = 0x0000000D; -pub const BS_COMMANDLINK: UINT = 0x0000000E; -pub const BS_DEFCOMMANDLINK: UINT = 0x0000000F; -pub const BCSIF_GLYPH: UINT = 0x0001; -pub const BCSIF_IMAGE: UINT = 0x0002; -pub const BCSIF_STYLE: UINT = 0x0004; -pub const BCSIF_SIZE: UINT = 0x0008; -pub const BCSS_NOSPLIT: UINT = 0x0001; -pub const BCSS_STRETCH: UINT = 0x0002; -pub const BCSS_ALIGNLEFT: UINT = 0x0004; -pub const BCSS_IMAGE: UINT = 0x0008; -STRUCT!{struct BUTTON_SPLITINFO { - mask: UINT, - himlGlyph: HIMAGELIST, - uSplitStyle: UINT, - size: SIZE, -}} -pub type PBUTTON_SPLITINFO = *mut BUTTON_SPLITINFO; -pub const BCM_SETDROPDOWNSTATE: UINT = BCM_FIRST + 0x0006; -pub const BCM_SETSPLITINFO: UINT = BCM_FIRST + 0x0007; -pub const BCM_GETSPLITINFO: UINT = BCM_FIRST + 0x0008; -pub const BCM_SETNOTE: UINT = BCM_FIRST + 0x0009; -pub const BCM_GETNOTE: UINT = BCM_FIRST + 0x000A; -pub const BCM_GETNOTELENGTH: UINT = BCM_FIRST + 0x000B; -pub const BCM_SETSHIELD: UINT = BCM_FIRST + 0x000C; -pub const BCCL_NOGLYPH: HIMAGELIST = -1isize as HIMAGELIST; -STRUCT!{struct NMBCDROPDOWN { - hdr: NMHDR, - rcButton: RECT, -}} -pub type LPNMBCDROPDOWN = *mut NMBCDROPDOWN; -pub const BCN_DROPDOWN: UINT = BCN_FIRST + 0x0002; -pub const WC_STATIC: &'static str = "Static"; -pub const WC_EDIT: &'static str = "Edit"; -pub const EM_SETCUEBANNER: UINT = ECM_FIRST + 1; -pub const EM_GETCUEBANNER: UINT = ECM_FIRST + 2; -STRUCT!{struct EDITBALLOONTIP { - cbStruct: DWORD, - pszTitle: LPCWSTR, - pszText: LPCWSTR, - ttiIcon: INT, -}} -pub type PEDITBALLOONTIP = *mut EDITBALLOONTIP; -pub const EM_SHOWBALLOONTIP: UINT = ECM_FIRST + 3; -pub const EM_HIDEBALLOONTIP: UINT = ECM_FIRST + 4; -pub const EM_SETHILITE: UINT = ECM_FIRST + 5; -pub const EM_GETHILITE: UINT = ECM_FIRST + 6; -pub const EM_NOSETFOCUS: UINT = ECM_FIRST + 7; -pub const EM_TAKEFOCUS: UINT = ECM_FIRST + 8; -pub const WC_LISTBOX: &'static str = "ListBox"; -pub const WC_COMBOBOX: &'static str = "ComboBox"; -pub const CB_SETMINVISIBLE: UINT = CBM_FIRST + 1; -pub const CB_GETMINVISIBLE: UINT = CBM_FIRST + 2; -pub const CB_SETCUEBANNER: UINT = CBM_FIRST + 3; -pub const CB_GETCUEBANNER: UINT = CBM_FIRST + 4; -pub const WC_SCROLLBAR: &'static str = "ScrollBar"; -FN!{stdcall PFTASKDIALOGCALLBACK( - hwnd: HWND, - msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - lpRefData: LONG_PTR, -) -> HRESULT} -ENUM!{enum TASKDIALOG_FLAGS { - TDF_ENABLE_HYPERLINKS = 0x0001, - TDF_USE_HICON_MAIN = 0x0002, - TDF_USE_HICON_FOOTER = 0x0004, - TDF_ALLOW_DIALOG_CANCELLATION = 0x0008, - TDF_USE_COMMAND_LINKS = 0x0010, - TDF_USE_COMMAND_LINKS_NO_ICON = 0x0020, - TDF_EXPAND_FOOTER_AREA = 0x0040, - TDF_EXPANDED_BY_DEFAULT = 0x0080, - TDF_VERIFICATION_FLAG_CHECKED = 0x0100, - TDF_SHOW_PROGRESS_BAR = 0x0200, - TDF_SHOW_MARQUEE_PROGRESS_BAR = 0x0400, - TDF_CALLBACK_TIMER = 0x0800, - TDF_POSITION_RELATIVE_TO_WINDOW = 0x1000, - TDF_RTL_LAYOUT = 0x2000, - TDF_NO_DEFAULT_RADIO_BUTTON = 0x4000, - TDF_CAN_BE_MINIMIZED = 0x8000, - TDF_NO_SET_FOREGROUND = 0x00010000, - TDF_SIZE_TO_CONTENT = 0x01000000, -}} -ENUM!{enum TASKDIALOG_MESSAGES { - TDM_NAVIGATE_PAGE = WM_USER + 101, - TDM_CLICK_BUTTON = WM_USER + 102, - TDM_SET_MARQUEE_PROGRESS_BAR = WM_USER + 103, - TDM_SET_PROGRESS_BAR_STATE = WM_USER + 104, - TDM_SET_PROGRESS_BAR_RANGE = WM_USER + 105, - TDM_SET_PROGRESS_BAR_POS = WM_USER + 106, - TDM_SET_PROGRESS_BAR_MARQUEE = WM_USER + 107, - TDM_SET_ELEMENT_TEXT = WM_USER + 108, - TDM_CLICK_RADIO_BUTTON = WM_USER + 110, - TDM_ENABLE_BUTTON = WM_USER + 111, - TDM_ENABLE_RADIO_BUTTON = WM_USER + 112, - TDM_CLICK_VERIFICATION = WM_USER + 113, - TDM_UPDATE_ELEMENT_TEXT = WM_USER + 114, - TDM_SET_BUTTON_ELEVATION_REQUIRED_STATE = WM_USER + 115, - TDM_UPDATE_ICON = WM_USER + 116, -}} -ENUM!{enum TASKDIALOG_NOTIFICATIONS { - TDN_CREATED = 0, - TDN_NAVIGATED = 1, - TDN_BUTTON_CLICKED = 2, - TDN_HYPERLINK_CLICKED = 3, - TDN_TIMER = 4, - TDN_DESTROYED = 5, - TDN_RADIO_BUTTON_CLICKED = 6, - TDN_DIALOG_CONSTRUCTED = 7, - TDN_VERIFICATION_CLICKED = 8, - TDN_HELP = 9, - TDN_EXPANDO_BUTTON_CLICKED = 10, -}} -STRUCT!{#[repr(packed)] struct TASKDIALOG_BUTTON { - nButtonID: c_int, - pszButtonText: PCWSTR, -}} -ENUM!{enum TASKDIALOG_ELEMENTS { - TDE_CONTENT, - TDE_EXPANDED_INFORMATION, - TDE_FOOTER, - TDE_MAIN_INSTRUCTION, -}} -ENUM!{enum TASKDIALOG_ICON_ELEMENTS { - TDIE_ICON_MAIN, - TDIE_ICON_FOOTER, -}} -pub const TD_WARNING_ICON: LPWSTR = MAKEINTRESOURCE!(-1i16); -pub const TD_ERROR_ICON: LPWSTR = MAKEINTRESOURCE!(-2i16); -pub const TD_INFORMATION_ICON: LPWSTR = MAKEINTRESOURCE!(-3i16); -pub const TD_SHIELD_ICON: LPWSTR = MAKEINTRESOURCE!(-4i16); -ENUM!{enum TASKDIALOG_COMMON_BUTTON_FLAGS { - TDCBF_OK_BUTTON = 0x0001, - TDCBF_YES_BUTTON = 0x0002, - TDCBF_NO_BUTTON = 0x0004, - TDCBF_CANCEL_BUTTON = 0x0008, - TDCBF_RETRY_BUTTON = 0x0010, - TDCBF_CLOSE_BUTTON = 0x0020, -}} -UNION!{#[repr(packed)] union TASKDIALOGCONFIG_u1 { - [usize; 1], - hMainIcon hMainIcon_mut: HICON, - pszMainIcon pszMainIcon_mut: PCWSTR, -}} -UNION!{#[repr(packed)] union TASKDIALOGCONFIG_u2 { - [usize; 1], - hFooterIcon hFooterIcon_mut: HICON, - pszFooterIcon pszFooterIcon_mut: PCWSTR, -}} -STRUCT!{#[repr(packed)] struct TASKDIALOGCONFIG { - cbSize: UINT, - hwndParent: HWND, - hInstance: HINSTANCE, - dwFlags: TASKDIALOG_FLAGS, - dwCommonButtons: TASKDIALOG_COMMON_BUTTON_FLAGS, - pszWindowTitle: PCWSTR, - u1: TASKDIALOGCONFIG_u1, - pszMainInstruction: PCWSTR, - pszContent: PCWSTR, - cButtons: UINT, - pButtons: *const TASKDIALOG_BUTTON, - nDefaultButton: c_int, - cRadioButtons: UINT, - pRadioButtons: *const TASKDIALOG_BUTTON, - nDefaultRadioButton: c_int, - pszVerificationText: PCWSTR, - pszExpandedInformation: PCWSTR, - pszExpandedControlText: PCWSTR, - pszCollapsedControlText: PCWSTR, - u2: TASKDIALOGCONFIG_u2, - pszFooter: PCWSTR, - pfCallback: PFTASKDIALOGCALLBACK, - lpCallbackData: LONG_PTR, - cxWidth: UINT, -}} -extern "system" { - pub fn TaskDialogIndirect( - pTaskConfig: *const TASKDIALOGCONFIG, - pnButton: *mut c_int, - pnRadioButton: *mut c_int, - pfVerificationFlagChecked: *mut BOOL, - ) -> HRESULT; - pub fn TaskDialog( - hwndOwner: HWND, - hInstance: HINSTANCE, - pszWindowTitle: PCWSTR, - pszMainInstruction: PCWSTR, - pszContent: PCWSTR, - dwCommonButtons: TASKDIALOG_COMMON_BUTTON_FLAGS, - pszIcon: PCWSTR, - pnButton: *mut c_int, - ) -> HRESULT; - pub fn InitMUILanguage( - uiLang: LANGID, - ); - pub fn GetMUILanguage() -> LANGID; - pub fn _TrackMouseEvent( - lpEventTrack: LPTRACKMOUSEEVENT, - ) -> BOOL; -} -pub const WSB_PROP_CYVSCROLL: UINT = 0x00000001; -pub const WSB_PROP_CXHSCROLL: UINT = 0x00000002; -pub const WSB_PROP_CYHSCROLL: UINT = 0x00000004; -pub const WSB_PROP_CXVSCROLL: UINT = 0x00000008; -pub const WSB_PROP_CXHTHUMB: UINT = 0x00000010; -pub const WSB_PROP_CYVTHUMB: UINT = 0x00000020; -pub const WSB_PROP_VBKGCOLOR: UINT = 0x00000040; -pub const WSB_PROP_HBKGCOLOR: UINT = 0x00000080; -pub const WSB_PROP_VSTYLE: UINT = 0x00000100; -pub const WSB_PROP_HSTYLE: UINT = 0x00000200; -pub const WSB_PROP_WINSTYLE: UINT = 0x00000400; -pub const WSB_PROP_PALETTE: UINT = 0x00000800; -pub const WSB_PROP_MASK: UINT = 0x00000FFF; -pub const FSB_FLAT_MODE: INT_PTR = 2; -pub const FSB_ENCARTA_MODE: INT_PTR = 1; -pub const FSB_REGULAR_MODE: INT_PTR = 0; -extern "system" { - pub fn FlatSB_EnableScrollBar( - hWnd: HWND, - wSBflags: c_int, - wArrows: UINT, - ) -> BOOL; - pub fn FlatSB_ShowScrollBar( - hWnd: HWND, - code: c_int, - fShow: BOOL, - ) -> BOOL; - pub fn FlatSB_GetScrollRange( - hWnd: HWND, - code: c_int, - lpMinPos: LPINT, - lpMaxPos: LPINT, - ) -> BOOL; - pub fn FlatSB_GetScrollInfo( - hwnd: HWND, - code: c_int, - lpsi: LPSCROLLINFO, - ) -> BOOL; - pub fn FlatSB_GetScrollPos( - hWnd: HWND, - code: c_int, - ) -> c_int; - pub fn FlatSB_GetScrollProp(hWnd: HWND, - propIndex: c_int, - pValue: LPINT, - ) -> BOOL; - #[cfg(target_pointer_width = "64")] - pub fn FlatSB_GetScrollPropPtr( - hWnd: HWND, - propIndex: c_int, - pValue: PINT_PTR, - ) -> BOOL; - pub fn FlatSB_SetScrollPos( - hWnd: HWND, - code: c_int, - pos: c_int, - fRedraw: BOOL, - ) -> c_int; - pub fn FlatSB_SetScrollInfo( - hWnd: HWND, - code: c_int, - psi: LPSCROLLINFO, - fRedraw: BOOL, - ) -> c_int; - pub fn FlatSB_SetScrollRange( - hWnd: HWND, - code: c_int, - min: c_int, - max: c_int, - fRedraw: BOOL, - ) -> c_int; - pub fn FlatSB_SetScrollProp( - hWnd: HWND, - index: UINT, - newValue: INT_PTR, - fRedraw: BOOL, - ) -> BOOL; - pub fn InitializeFlatSB( - hWnd: HWND, - ) -> BOOL; - pub fn UninitializeFlatSB( - hWnd: HWND, - ) -> HRESULT; -} -FN!{stdcall SUBCLASSPROC( - hWnd: HWND, - uMsg: UINT, - wParam: WPARAM, - lParam: LPARAM, - uIdSubclass: UINT_PTR, - dwRefData: DWORD_PTR, -) -> LRESULT} -extern "system" { - pub fn SetWindowSubclass( - hWnd: HWND, - pfnSubclass: SUBCLASSPROC, - uIdSubclass: UINT_PTR, - dwRefData: DWORD_PTR, - ) -> BOOL; - pub fn GetWindowSubclass( - hWnd: HWND, - pfnSubclass: SUBCLASSPROC, - uIdSubclass: UINT_PTR, - pdwRefData: *mut DWORD_PTR, - ) -> BOOL; - pub fn RemoveWindowSubclass( - hWnd: HWND, - pfnSubclass: SUBCLASSPROC, - uIdSubclass: UINT_PTR, - ) -> BOOL; - pub fn DefSubclassProc( - hWnd: HWND, - uMsg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> LRESULT; -} -ENUM!{enum REGCLS { - LIM_SMALL, - LIM_LARGE, -}} -extern "system" { - pub fn LoadIconMetric( - hinst: HINSTANCE, - pszName: PCWSTR, - lims: c_int, - phico: *mut HICON, - ) -> HRESULT; - pub fn LoadIconWithScaleDown( - hinst: HINSTANCE, - pszName: PCWSTR, - cx: c_int, - cy: c_int, - phico: *mut HICON, - ) -> HRESULT; - pub fn DrawShadowText( - hdc: HDC, - pszText: LPCWSTR, - cch: UINT, - prc: *mut RECT, - dwFlags: DWORD, - crText: COLORREF, - crShadow: COLORREF, - ixOffset: c_int, - iyOffset: c_int, - ) -> c_int; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/commdlg.rs b/vendor/registry-40351f815f426200/winapi/src/um/commdlg.rs deleted file mode 100644 index c9326a6fc..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/commdlg.rs +++ /dev/null @@ -1,712 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! 32-Bit Common Dialog APIs -use ctypes::{c_short, c_void}; -use shared::basetsd::UINT_PTR; -use shared::minwindef::{ - BOOL, DWORD, HGLOBAL, HINSTANCE, INT, LPARAM, LPVOID, LRESULT, UINT, WORD, WPARAM, -}; -use shared::windef::{COLORREF, HDC, HWND, POINT, RECT}; -use um::prsht::HPROPSHEETPAGE; -use um::unknwnbase::{IUnknown, IUnknownVtbl, LPUNKNOWN}; -use um::wingdi::{DM_COLLATE, DM_COPIES, LPDEVMODEW, LPLOGFONTA, LPLOGFONTW}; -use um::winnt::{HRESULT, LPCSTR, LPCWSTR, LPSTR, LPWSTR}; -use um::winuser::{NMHDR, WM_USER}; -FN!{stdcall LPOFNHOOKPROC( - HWND, - UINT, - WPARAM, - LPARAM, -) -> UINT_PTR} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct OPENFILENAME_NT4A { - lStructSize: DWORD, - hwndOwner: HWND, - hInstance: HINSTANCE, - lpstrFilter: LPCSTR, - lpstrCustomFilter: LPSTR, - nMaxCustFilter: DWORD, - nFilterIndex: DWORD, - lpstrFile: LPSTR, - nMaxFile: DWORD, - lpstrFileTitle: LPSTR, - nMaxFileTitle: DWORD, - lpstrInitialDir: LPCSTR, - lpstrTitle: LPCSTR, - Flags: DWORD, - nFileOffset: WORD, - nFileExtension: WORD, - lpstrDefExt: LPCSTR, - lCustData: LPARAM, - lpfnHook: LPOFNHOOKPROC, - lpTemplateName: LPCSTR, -}} -pub type LPOPENFILENAME_NT4A = *mut OPENFILENAME_NT4A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct OPENFILENAME_NT4W { - lStructSize: DWORD, - hwndOwner: HWND, - hInstance: HINSTANCE, - lpstrFilter: LPCWSTR, - lpstrCustomFilter: LPWSTR, - nMaxCustFilter: DWORD, - nFilterIndex: DWORD, - lpstrFile: LPWSTR, - nMaxFile: DWORD, - lpstrFileTitle: LPWSTR, - nMaxFileTitle: DWORD, - lpstrInitialDir: LPCWSTR, - lpstrTitle: LPCWSTR, - Flags: DWORD, - nFileOffset: WORD, - nFileExtension: WORD, - lpstrDefExt: LPCWSTR, - lCustData: LPARAM, - lpfnHook: LPOFNHOOKPROC, - lpTemplateName: LPCWSTR, -}} -pub type LPOPENFILENAME_NT4W = *mut OPENFILENAME_NT4W; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct OPENFILENAMEA { - lStructSize: DWORD, - hwndOwner: HWND, - hInstance: HINSTANCE, - lpstrFilter: LPCSTR, - lpstrCustomFilter: LPSTR, - nMaxCustFilter: DWORD, - nFilterIndex: DWORD, - lpstrFile: LPSTR, - nMaxFile: DWORD, - lpstrFileTitle: LPSTR, - nMaxFileTitle: DWORD, - lpstrInitialDir: LPCSTR, - lpstrTitle: LPCSTR, - Flags: DWORD, - nFileOffset: WORD, - nFileExtension: WORD, - lpstrDefExt: LPCSTR, - lCustData: LPARAM, - lpfnHook: LPOFNHOOKPROC, - lpTemplateName: LPCSTR, - pvReserved: *mut c_void, - dwReserved: DWORD, - FlagsEx: DWORD, -}} -pub type LPOPENFILENAMEA = *mut OPENFILENAMEA; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct OPENFILENAMEW { - lStructSize: DWORD, - hwndOwner: HWND, - hInstance: HINSTANCE, - lpstrFilter: LPCWSTR, - lpstrCustomFilter: LPWSTR, - nMaxCustFilter: DWORD, - nFilterIndex: DWORD, - lpstrFile: LPWSTR, - nMaxFile: DWORD, - lpstrFileTitle: LPWSTR, - nMaxFileTitle: DWORD, - lpstrInitialDir: LPCWSTR, - lpstrTitle: LPCWSTR, - Flags: DWORD, - nFileOffset: WORD, - nFileExtension: WORD, - lpstrDefExt: LPCWSTR, - lCustData: LPARAM, - lpfnHook: LPOFNHOOKPROC, - lpTemplateName: LPCWSTR, - pvReserved: *mut c_void, - dwReserved: DWORD, - FlagsEx: DWORD, -}} -pub type LPOPENFILENAMEW = *mut OPENFILENAMEW; -extern "system" { - pub fn GetOpenFileNameA( - lpofn: LPOPENFILENAMEA, - ) -> BOOL; - pub fn GetOpenFileNameW( - lpofn: LPOPENFILENAMEW, - ) -> BOOL; - pub fn GetSaveFileNameA( - lpofn: LPOPENFILENAMEA, - ) -> BOOL; - pub fn GetSaveFileNameW( - lpofn: LPOPENFILENAMEW, - ) -> BOOL; - pub fn GetFileTitleA( - lpszFile: LPCSTR, - Buf: LPSTR, - cchSize: WORD, - ) -> c_short; - pub fn GetFileTitleW( - lpszFile: LPCWSTR, - Buf: LPWSTR, - cchSize: WORD, - ) -> c_short; -} -pub const OFN_READONLY: DWORD = 0x00000001; -pub const OFN_OVERWRITEPROMPT: DWORD = 0x00000002; -pub const OFN_HIDEREADONLY: DWORD = 0x00000004; -pub const OFN_NOCHANGEDIR: DWORD = 0x00000008; -pub const OFN_SHOWHELP: DWORD = 0x00000010; -pub const OFN_ENABLEHOOK: DWORD = 0x00000020; -pub const OFN_ENABLETEMPLATE: DWORD = 0x00000040; -pub const OFN_ENABLETEMPLATEHANDLE: DWORD = 0x00000080; -pub const OFN_NOVALIDATE: DWORD = 0x00000100; -pub const OFN_ALLOWMULTISELECT: DWORD = 0x00000200; -pub const OFN_EXTENSIONDIFFERENT: DWORD = 0x00000400; -pub const OFN_PATHMUSTEXIST: DWORD = 0x00000800; -pub const OFN_FILEMUSTEXIST: DWORD = 0x00001000; -pub const OFN_CREATEPROMPT: DWORD = 0x00002000; -pub const OFN_SHAREAWARE: DWORD = 0x00004000; -pub const OFN_NOREADONLYRETURN: DWORD = 0x00008000; -pub const OFN_NOTESTFILECREATE: DWORD = 0x00010000; -pub const OFN_NONETWORKBUTTON: DWORD = 0x00020000; -pub const OFN_NOLONGNAMES: DWORD = 0x00040000; -pub const OFN_EXPLORER: DWORD = 0x00080000; -pub const OFN_NODEREFERENCELINKS: DWORD = 0x00100000; -pub const OFN_LONGNAMES: DWORD = 0x00200000; -pub const OFN_ENABLEINCLUDENOTIFY: DWORD = 0x00400000; -pub const OFN_ENABLESIZING: DWORD = 0x00800000; -pub const OFN_DONTADDTORECENT: DWORD = 0x02000000; -pub const OFN_FORCESHOWHIDDEN: DWORD = 0x10000000; -pub const OFN_EX_NOPLACESBAR: DWORD = 0x00000001; -pub const OFN_SHAREFALLTHROUGH: UINT_PTR = 2; -pub const OFN_SHARENOWARN: UINT_PTR = 1; -pub const OFN_SHAREWARN: UINT_PTR = 0; -FN!{stdcall LPCCHOOKPROC( - HWND, - UINT, - WPARAM, - LPARAM, -) -> UINT_PTR} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct OFNOTIFYA { - hdr: NMHDR, - lpOFN: LPOPENFILENAMEA, - pszFile: LPSTR, -}} -pub type LPOFNOTIFYA = *mut OFNOTIFYA; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct OFNOTIFYW { - hdr: NMHDR, - lpOFN: LPOPENFILENAMEW, - pszFile: LPWSTR, -}} -pub type LPOFNOTIFYW = *mut OFNOTIFYW; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct OFNOTIFYEXA { - hdr: NMHDR, - lpOFN: LPOPENFILENAMEA, - psf: LPVOID, - pidl: LPVOID, -}} -pub type LPOFNOTIFYEXA = *mut OFNOTIFYEXA; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct OFNOTIFYEXW { - hdr: NMHDR, - lpOFN: LPOPENFILENAMEW, - psf: LPVOID, - pidl: LPVOID, -}} -pub type LPOFNOTIFYEXW = *mut OFNOTIFYEXW; -pub const CDN_FIRST: UINT = -601i32 as u32; -pub const CDN_LAST: UINT = -699i32 as u32; -pub const CDN_INITDONE: UINT = CDN_FIRST - 0x0000; -pub const CDN_SELCHANGE: UINT = CDN_FIRST - 0x0001; -pub const CDN_FOLDERCHANGE: UINT = CDN_FIRST - 0x0002; -pub const CDN_SHAREVIOLATION: UINT = CDN_FIRST - 0x0003; -pub const CDN_HELP: UINT = CDN_FIRST - 0x0004; -pub const CDN_FILEOK: UINT = CDN_FIRST - 0x0005; -pub const CDN_TYPECHANGE: UINT = CDN_FIRST - 0x0006; -pub const CDN_INCLUDEITEM: UINT = CDN_FIRST - 0x0007; -pub const CDM_FIRST: UINT = WM_USER + 100; -pub const CDM_LAST: UINT = WM_USER + 200; -pub const CDM_GETSPEC: UINT = CDM_FIRST + 0x0000; -pub const CDM_GETFILEPATH: UINT = CDM_FIRST + 0x0001; -pub const CDM_GETFOLDERPATH: UINT = CDM_FIRST + 0x0002; -pub const CDM_GETFOLDERIDLIST: UINT = CDM_FIRST + 0x0003; -pub const CDM_SETCONTROLTEXT: UINT = CDM_FIRST + 0x0004; -pub const CDM_HIDECONTROL: UINT = CDM_FIRST + 0x0005; -pub const CDM_SETDEFEXT: UINT = CDM_FIRST + 0x0006; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct CHOOSECOLORA { - lStructSize: DWORD, - hwndOwner: HWND, - hInstance: HWND, - rgbResult: COLORREF, - lpCustColors: *mut COLORREF, - Flags: DWORD, - lCustData: LPARAM, - lpfnHook: LPCCHOOKPROC, - lpTemplateName: LPCSTR, -}} -pub type LPCHOOSECOLORA = *mut CHOOSECOLORA; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct CHOOSECOLORW { - lStructSize: DWORD, - hwndOwner: HWND, - hInstance: HWND, - rgbResult: COLORREF, - lpCustColors: *mut COLORREF, - Flags: DWORD, - lCustData: LPARAM, - lpfnHook: LPCCHOOKPROC, - lpTemplateName: LPCWSTR, -}} -pub type LPCHOOSECOLORW = *mut CHOOSECOLORW; -extern "system" { - pub fn ChooseColorA( - lpcc: LPCHOOSECOLORA, - ) -> BOOL; - pub fn ChooseColorW( - lpcc: LPCHOOSECOLORW, - ) -> BOOL; -} -pub const CC_RGBINIT: DWORD = 0x00000001; -pub const CC_FULLOPEN: DWORD = 0x00000002; -pub const CC_PREVENTFULLOPEN: DWORD = 0x00000004; -pub const CC_SHOWHELP: DWORD = 0x00000008; -pub const CC_ENABLEHOOK: DWORD = 0x00000010; -pub const CC_ENABLETEMPLATE: DWORD = 0x00000020; -pub const CC_ENABLETEMPLATEHANDLE: DWORD = 0x00000040; -pub const CC_SOLIDCOLOR: DWORD = 0x00000080; -pub const CC_ANYCOLOR: DWORD = 0x00000100; -FN!{stdcall LPFRHOOKPROC( - HWND, - UINT, - WPARAM, - LPARAM, -) -> UINT_PTR} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct FINDREPLACEA { - lStructSize: DWORD, - hwndOwner: HWND, - hInstance: HINSTANCE, - Flags: DWORD, - lpstrFindWhat: LPSTR, - lpstrReplaceWith: LPSTR, - wFindWhatLen: WORD, - wReplaceWithLen: WORD, - lCustData: LPARAM, - lpfnHook: LPFRHOOKPROC, - lpTemplateName: LPCSTR, -}} -pub type LPFINDREPLACEA = *mut FINDREPLACEA; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct FINDREPLACEW { - lStructSize: DWORD, - hwndOwner: HWND, - hInstance: HINSTANCE, - Flags: DWORD, - lpstrFindWhat: LPWSTR, - lpstrReplaceWith: LPWSTR, - wFindWhatLen: WORD, - wReplaceWithLen: WORD, - lCustData: LPARAM, - lpfnHook: LPFRHOOKPROC, - lpTemplateName: LPCWSTR, -}} -pub type LPFINDREPLACEW = *mut FINDREPLACEW; -pub const FR_DOWN: DWORD = 0x00000001; -pub const FR_WHOLEWORD: DWORD = 0x00000002; -pub const FR_MATCHCASE: DWORD = 0x00000004; -pub const FR_FINDNEXT: DWORD = 0x00000008; -pub const FR_REPLACE: DWORD = 0x00000010; -pub const FR_REPLACEALL: DWORD = 0x00000020; -pub const FR_DIALOGTERM: DWORD = 0x00000040; -pub const FR_SHOWHELP: DWORD = 0x00000080; -pub const FR_ENABLEHOOK: DWORD = 0x00000100; -pub const FR_ENABLETEMPLATE: DWORD = 0x00000200; -pub const FR_NOUPDOWN: DWORD = 0x00000400; -pub const FR_NOMATCHCASE: DWORD = 0x00000800; -pub const FR_NOWHOLEWORD: DWORD = 0x00001000; -pub const FR_ENABLETEMPLATEHANDLE: DWORD = 0x00002000; -pub const FR_HIDEUPDOWN: DWORD = 0x00004000; -pub const FR_HIDEMATCHCASE: DWORD = 0x00008000; -pub const FR_HIDEWHOLEWORD: DWORD = 0x00010000; -pub const FR_RAW: DWORD = 0x00020000; -pub const FR_MATCHDIAC: DWORD = 0x20000000; -pub const FR_MATCHKASHIDA: DWORD = 0x40000000; -pub const FR_MATCHALEFHAMZA: DWORD = 0x80000000; -extern "system" { - pub fn FindTextA( - lpfr: LPFINDREPLACEA, - ) -> HWND; - pub fn FindTextW( - lpfr: LPFINDREPLACEW, - ) -> HWND; - pub fn ReplaceTextA( - lpfr: LPFINDREPLACEA, - ) -> HWND; - pub fn ReplaceTextW( - lpfr: LPFINDREPLACEW, - ) -> HWND; -} -FN!{stdcall LPCFHOOKPROC( - HWND, - UINT, - WPARAM, - LPARAM, -) -> UINT_PTR} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct CHOOSEFONTA { - lStructSize: DWORD, - hwndOwner: HWND, - hDC: HDC, - lpLogFont: LPLOGFONTA, - iPointSize: INT, - Flags: DWORD, - rgbColors: COLORREF, - lCustData: LPARAM, - lpfnHook: LPCFHOOKPROC, - lpTemplateName: LPCSTR, - hInstance: HINSTANCE, - lpszStyle: LPSTR, - nFontType: WORD, - ___MISSING_ALIGNMENT__: WORD, - nSizeMin: INT, - nSizeMax: INT, -}} -pub type LPCHOOSEFONTA = *mut CHOOSEFONTA; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct CHOOSEFONTW { - lStructSize: DWORD, - hwndOwner: HWND, - hDC: HDC, - lpLogFont: LPLOGFONTW, - iPointSize: INT, - Flags: DWORD, - rgbColors: COLORREF, - lCustData: LPARAM, - lpfnHook: LPCFHOOKPROC, - lpTemplateName: LPCWSTR, - hInstance: HINSTANCE, - lpszStyle: LPWSTR, - nFontType: WORD, - ___MISSING_ALIGNMENT__: WORD, - nSizeMin: INT, - nSizeMax: INT, -}} -pub type LPCHOOSEFONTW = *mut CHOOSEFONTW; -extern "system" { - pub fn ChooseFontA( - lpcf: LPCHOOSEFONTA, - ) -> BOOL; - pub fn ChooseFontW( - lpcf: LPCHOOSEFONTW, - ) -> BOOL; -} -pub const CF_SCREENFONTS: DWORD = 0x00000001; -pub const CF_PRINTERFONTS: DWORD = 0x00000002; -pub const CF_BOTH: DWORD = CF_SCREENFONTS | CF_PRINTERFONTS; -pub const CF_SHOWHELP: DWORD = 0x00000004; -pub const CF_ENABLEHOOK: DWORD = 0x00000008; -pub const CF_ENABLETEMPLATE: DWORD = 0x00000010; -pub const CF_ENABLETEMPLATEHANDLE: DWORD = 0x00000020; -pub const CF_INITTOLOGFONTSTRUCT: DWORD = 0x00000040; -pub const CF_USESTYLE: DWORD = 0x00000080; -pub const CF_EFFECTS: DWORD = 0x00000100; -pub const CF_APPLY: DWORD = 0x00000200; -pub const CF_ANSIONLY: DWORD = 0x00000400; -pub const CF_SCRIPTSONLY: DWORD = CF_ANSIONLY; -pub const CF_NOVECTORFONTS: DWORD = 0x00000800; -pub const CF_NOOEMFONTS: DWORD = CF_NOVECTORFONTS; -pub const CF_NOSIMULATIONS: DWORD = 0x00001000; -pub const CF_LIMITSIZE: DWORD = 0x00002000; -pub const CF_FIXEDPITCHONLY: DWORD = 0x00004000; -pub const CF_WYSIWYG: DWORD = 0x00008000; -pub const CF_FORCEFONTEXIST: DWORD = 0x00010000; -pub const CF_SCALABLEONLY: DWORD = 0x00020000; -pub const CF_TTONLY: DWORD = 0x00040000; -pub const CF_NOFACESEL: DWORD = 0x00080000; -pub const CF_NOSTYLESEL: DWORD = 0x00100000; -pub const CF_NOSIZESEL: DWORD = 0x00200000; -pub const CF_SELECTSCRIPT: DWORD = 0x00400000; -pub const CF_NOSCRIPTSEL: DWORD = 0x00800000; -pub const CF_NOVERTFONTS: DWORD = 0x01000000; -pub const CF_INACTIVEFONTS: DWORD = 0x02000000; -pub const SIMULATED_FONTTYPE: WORD = 0x8000; -pub const PRINTER_FONTTYPE: WORD = 0x4000; -pub const SCREEN_FONTTYPE: WORD = 0x2000; -pub const BOLD_FONTTYPE: WORD = 0x0100; -pub const ITALIC_FONTTYPE: WORD = 0x0200; -pub const REGULAR_FONTTYPE: WORD = 0x0400; -pub const PS_OPENTYPE_FONTTYPE: DWORD = 0x10000; -pub const TT_OPENTYPE_FONTTYPE: DWORD = 0x20000; -pub const TYPE1_FONTTYPE: DWORD = 0x40000; -pub const SYMBOL_FONTTYPE: DWORD = 0x80000; -pub const WM_CHOOSEFONT_GETLOGFONT: UINT = WM_USER + 1; -pub const WM_CHOOSEFONT_SETLOGFONT: UINT = WM_USER + 101; -pub const WM_CHOOSEFONT_SETFLAGS: UINT = WM_USER + 102; -pub const CD_LBSELNOITEMS: WORD = -1i16 as u16; -pub const CD_LBSELCHANGE: WORD = 0; -pub const CD_LBSELSUB: WORD = 1; -pub const CD_LBSELADD: WORD = 2; -FN!{stdcall LPPRINTHOOKPROC( - HWND, - UINT, - WPARAM, - LPARAM, -) -> UINT_PTR} -FN!{stdcall LPSETUPHOOKPROC( - HWND, - UINT, - WPARAM, - LPARAM, -) -> UINT_PTR} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct PRINTDLGA { - lStructSize: DWORD, - hwndOwner: HWND, - hDevMode: HGLOBAL, - hDevNames: HGLOBAL, - hDC: HDC, - Flags: DWORD, - nFromPage: WORD, - nToPage: WORD, - nMinPage: WORD, - nMaxPage: WORD, - nCopies: WORD, - hInstance: HINSTANCE, - lCustData: LPARAM, - lpfnPrintHook: LPPRINTHOOKPROC, - lpfnSetupHook: LPSETUPHOOKPROC, - lpPrintTemplateName: LPCSTR, - lpSetupTemplateName: LPCSTR, - hPrintTemplate: HGLOBAL, - hSetupTemplate: HGLOBAL, -}} -pub type LPPRINTDLGA = *mut PRINTDLGA; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct PRINTDLGW { - lStructSize: DWORD, - hwndOwner: HWND, - hDevMode: HGLOBAL, - hDevNames: HGLOBAL, - hDC: HDC, - Flags: DWORD, - nFromPage: WORD, - nToPage: WORD, - nMinPage: WORD, - nMaxPage: WORD, - nCopies: WORD, - hInstance: HINSTANCE, - lCustData: LPARAM, - lpfnPrintHook: LPPRINTHOOKPROC, - lpfnSetupHook: LPSETUPHOOKPROC, - lpPrintTemplateName: LPCWSTR, - lpSetupTemplateName: LPCWSTR, - hPrintTemplate: HGLOBAL, - hSetupTemplate: HGLOBAL, -}} -pub type LPPRINTDLGW = *mut PRINTDLGW; -extern "system" { - pub fn PrintDlgA( - pPD: LPPRINTDLGA, - ) -> BOOL; - pub fn PrintDlgW( - pPD: LPPRINTDLGW, - ) -> BOOL; -} -RIDL!{#[uuid(0x5852a2c3, 0x6530, 0x11d1, 0xb6, 0xa3, 0x0, 0x0, 0xf8, 0x75, 0x7b, 0xf9)] -interface IPrintDialogCallback(IPrintDialogCallbackVtbl): IUnknown(IUnknownVtbl) { - fn InitDone() -> HRESULT, - fn SelectionChange() -> HRESULT, - fn HandleMessage( - hDlg: HWND, - uMsg: UINT, - wParam: WPARAM, - lParam: LPARAM, - pResult: *mut LRESULT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x509aaeda, 0x5639, 0x11d1, 0xb6, 0xa1, 0x0, 0x0, 0xf8, 0x75, 0x7b, 0xf9)] -interface IPrintDialogServices(IPrintDialogServicesVtbl): IUnknown(IUnknownVtbl) { - fn GetCurrentDevMode( - pDevMode: LPDEVMODEW, - pcbSize: *mut UINT, - ) -> HRESULT, - fn GetCurrentPrinterName( - pPrinterName: LPWSTR, - pcchSize: *mut UINT, - ) -> HRESULT, - fn GetCurrentPortName( - pPortName: LPWSTR, - pcchSize: *mut UINT, - ) -> HRESULT, -}} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct PRINTPAGERANGE { - nFromPage: DWORD, - nToPage: DWORD, -}} -pub type LPPRINTPAGERANGE = *mut PRINTPAGERANGE; -pub type PCPRINTPAGERANGE = *const PRINTPAGERANGE; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct PRINTDLGEXA { - lStructSize: DWORD, - hwndOwner: HWND, - hDevMode: HGLOBAL, - hDevNames: HGLOBAL, - hDC: HDC, - Flags: DWORD, - Flags2: DWORD, - ExclusionFlags: DWORD, - nPageRanges: DWORD, - nMaxPageRanges: DWORD, - lpPageRanges: LPPRINTPAGERANGE, - nMinPage: DWORD, - nMaxPage: DWORD, - nCopies: DWORD, - hInstance: HINSTANCE, - lpPrintTemplateName: LPCSTR, - lpCallback: LPUNKNOWN, - nPropertyPages: DWORD, - lphPropertyPages: *mut HPROPSHEETPAGE, - nStartPage: DWORD, - dwResultAction: DWORD, -}} -pub type LPPRINTDLGEXA = *mut PRINTDLGEXA; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct PRINTDLGEXW { - lStructSize: DWORD, - hwndOwner: HWND, - hDevMode: HGLOBAL, - hDevNames: HGLOBAL, - hDC: HDC, - Flags: DWORD, - Flags2: DWORD, - ExclusionFlags: DWORD, - nPageRanges: DWORD, - nMaxPageRanges: DWORD, - lpPageRanges: LPPRINTPAGERANGE, - nMinPage: DWORD, - nMaxPage: DWORD, - nCopies: DWORD, - hInstance: HINSTANCE, - lpPrintTemplateName: LPCWSTR, - lpCallback: LPUNKNOWN, - nPropertyPages: DWORD, - lphPropertyPages: *mut HPROPSHEETPAGE, - nStartPage: DWORD, - dwResultAction: DWORD, -}} -pub type LPPRINTDLGEXW = *mut PRINTDLGEXW; -extern "system" { - pub fn PrintDlgExA( - pPD: LPPRINTDLGEXA, - ) -> HRESULT; - pub fn PrintDlgExW( - pPD: LPPRINTDLGEXW, - ) -> HRESULT; -} -pub const PD_ALLPAGES: DWORD = 0x00000000; -pub const PD_SELECTION: DWORD = 0x00000001; -pub const PD_PAGENUMS: DWORD = 0x00000002; -pub const PD_NOSELECTION: DWORD = 0x00000004; -pub const PD_NOPAGENUMS: DWORD = 0x00000008; -pub const PD_COLLATE: DWORD = 0x00000010; -pub const PD_PRINTTOFILE: DWORD = 0x00000020; -pub const PD_PRINTSETUP: DWORD = 0x00000040; -pub const PD_NOWARNING: DWORD = 0x00000080; -pub const PD_RETURNDC: DWORD = 0x00000100; -pub const PD_RETURNIC: DWORD = 0x00000200; -pub const PD_RETURNDEFAULT: DWORD = 0x00000400; -pub const PD_SHOWHELP: DWORD = 0x00000800; -pub const PD_ENABLEPRINTHOOK: DWORD = 0x00001000; -pub const PD_ENABLESETUPHOOK: DWORD = 0x00002000; -pub const PD_ENABLEPRINTTEMPLATE: DWORD = 0x00004000; -pub const PD_ENABLESETUPTEMPLATE: DWORD = 0x00008000; -pub const PD_ENABLEPRINTTEMPLATEHANDLE: DWORD = 0x00010000; -pub const PD_ENABLESETUPTEMPLATEHANDLE: DWORD = 0x00020000; -pub const PD_USEDEVMODECOPIES: DWORD = 0x00040000; -pub const PD_USEDEVMODECOPIESANDCOLLATE: DWORD = 0x00040000; -pub const PD_DISABLEPRINTTOFILE: DWORD = 0x00080000; -pub const PD_HIDEPRINTTOFILE: DWORD = 0x00100000; -pub const PD_NONETWORKBUTTON: DWORD = 0x00200000; -pub const PD_CURRENTPAGE: DWORD = 0x00400000; -pub const PD_NOCURRENTPAGE: DWORD = 0x00800000; -pub const PD_EXCLUSIONFLAGS: DWORD = 0x01000000; -pub const PD_USELARGETEMPLATE: DWORD = 0x10000000; -pub const PD_EXCL_COPIESANDCOLLATE: DWORD = DM_COPIES | DM_COLLATE; -pub const START_PAGE_GENERAL: DWORD = 0xffffffff; -pub const PD_RESULT_CANCEL: DWORD = 0; -pub const PD_RESULT_PRINT: DWORD = 1; -pub const PD_RESULT_APPLY: DWORD = 2; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct DEVNAMES { - wDriverOffset: WORD, - wDeviceOffset: WORD, - wOutputOffset: WORD, - wDefault: WORD, -}} -pub type LPDEVNAMES = *mut DEVNAMES; -pub type PCDEVNAMES = *const DEVNAMES; -pub const DN_DEFAULTPRN: WORD = 0x0001; -extern "system" { - pub fn CommDlgExtendedError() -> DWORD; -} -pub const WM_PSD_PAGESETUPDLG: UINT = WM_USER; -pub const WM_PSD_FULLPAGERECT: UINT = WM_USER + 1; -pub const WM_PSD_MINMARGINRECT: UINT = WM_USER + 2; -pub const WM_PSD_MARGINRECT: UINT = WM_USER + 3; -pub const WM_PSD_GREEKTEXTRECT: UINT = WM_USER + 4; -pub const WM_PSD_ENVSTAMPRECT: UINT = WM_USER + 5; -pub const WM_PSD_YAFULLPAGERECT: UINT = WM_USER + 6; -FN!{stdcall LPPAGEPAINTHOOK( - HWND, - UINT, - WPARAM, - LPARAM, -) -> UINT_PTR} -FN!{stdcall LPPAGESETUPHOOK( - HWND, - UINT, - WPARAM, - LPARAM, -) -> UINT_PTR} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct PAGESETUPDLGA { - lStructSize: DWORD, - hwndOwner: HWND, - hDevMode: HGLOBAL, - hDevNames: HGLOBAL, - Flags: DWORD, - ptPaperSize: POINT, - rtMinMargin: RECT, - rtMargin: RECT, - hInstance: HINSTANCE, - lCustData: LPARAM, - lpfnPageSetupHook: LPPAGESETUPHOOK, - lpfnPagePaintHook: LPPAGEPAINTHOOK, - lpPageSetupTemplateName: LPCSTR, - hPageSetupTemplate: HGLOBAL, -}} -pub type LPPAGESETUPDLGA = *mut PAGESETUPDLGA; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct PAGESETUPDLGW { - lStructSize: DWORD, - hwndOwner: HWND, - hDevMode: HGLOBAL, - hDevNames: HGLOBAL, - Flags: DWORD, - ptPaperSize: POINT, - rtMinMargin: RECT, - rtMargin: RECT, - hInstance: HINSTANCE, - lCustData: LPARAM, - lpfnPageSetupHook: LPPAGESETUPHOOK, - lpfnPagePaintHook: LPPAGEPAINTHOOK, - lpPageSetupTemplateName: LPCWSTR, - hPageSetupTemplate: HGLOBAL, -}} -pub type LPPAGESETUPDLGW = *mut PAGESETUPDLGW; -extern "system" { - pub fn PageSetupDlgA( - lppsd: LPPAGESETUPDLGA, - ) -> BOOL; - pub fn PageSetupDlgW( - lppsd: LPPAGESETUPDLGW, - ) -> BOOL; -} -pub const PSD_DEFAULTMINMARGINS: DWORD = 0x00000000; -pub const PSD_INWININIINTLMEASURE: DWORD = 0x00000000; -pub const PSD_MINMARGINS: DWORD = 0x00000001; -pub const PSD_MARGINS: DWORD = 0x00000002; -pub const PSD_INTHOUSANDTHSOFINCHES: DWORD = 0x00000004; -pub const PSD_INHUNDREDTHSOFMILLIMETERS: DWORD = 0x00000008; -pub const PSD_DISABLEMARGINS: DWORD = 0x00000010; -pub const PSD_DISABLEPRINTER: DWORD = 0x00000020; -pub const PSD_NOWARNING: DWORD = 0x00000080; -pub const PSD_DISABLEORIENTATION: DWORD = 0x00000100; -pub const PSD_RETURNDEFAULT: DWORD = 0x00000400; -pub const PSD_DISABLEPAPER: DWORD = 0x00000200; -pub const PSD_SHOWHELP: DWORD = 0x00000800; -pub const PSD_ENABLEPAGESETUPHOOK: DWORD = 0x00002000; -pub const PSD_ENABLEPAGESETUPTEMPLATE: DWORD = 0x00008000; -pub const PSD_ENABLEPAGESETUPTEMPLATEHANDLE: DWORD = 0x00020000; -pub const PSD_ENABLEPAGEPAINTHOOK: DWORD = 0x00040000; -pub const PSD_DISABLEPAGEPAINTING: DWORD = 0x00080000; -pub const PSD_NONETWORKBUTTON: DWORD = 0x00200000; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/commoncontrols.rs b/vendor/registry-40351f815f426200/winapi/src/um/commoncontrols.rs deleted file mode 100644 index d659e046a..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/commoncontrols.rs +++ /dev/null @@ -1,232 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_int, c_void}; -use shared::guiddef::{REFCLSID, REFIID}; -use shared::minwindef::{BOOL, DWORD, LRESULT, UINT}; -use shared::windef::{COLORREF, HBITMAP, HICON, HWND, POINT, RECT}; -use um::commctrl::{IMAGEINFO, IMAGELISTDRAWPARAMS}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::HRESULT; -extern "system" { - pub fn ImageList_CoCreateInstance( - rclsid: REFCLSID, - punkOuter: *const IUnknown, - riid: REFIID, - ppv: *mut *mut c_void, - ) -> HRESULT; -} -pub const ILIF_ALPHA: DWORD = 0x00000001; -pub const ILIF_LOWQUALITY: DWORD = 0x00000001; -pub const ILDRF_IMAGELOWQUALITY: LRESULT = 0x00000001; -pub const ILDRF_OVERLAYLOWQUALITY: LRESULT = 0x00000010; -RIDL!{#[uuid(0x46eb5926, 0x582e, 0x4017, 0x9f, 0xdf, 0xe8, 0x99, 0x8d, 0xaa, 0x09, 0x50)] -interface IImageList(IImageListVtbl): IUnknown(IUnknownVtbl) { - fn Add( - hbmImage: HBITMAP, - hbmMask: HBITMAP, - pi: *mut c_int, - ) -> HRESULT, - fn ReplaceIcon( - hicon: HICON, - pi: *mut c_int, - ) -> HRESULT, - fn SetOverlayImage( - iImage: c_int, - iOverlay: c_int, - ) -> HRESULT, - fn Replace( - hbmImage: HBITMAP, - hbmMask: HBITMAP, - ) -> HRESULT, - fn AddMasked( - hbmImage: HBITMAP, - crMask: COLORREF, - pi: *mut c_int, - ) -> HRESULT, - fn Draw( - pimldp: *mut IMAGELISTDRAWPARAMS, - ) -> HRESULT, - fn Remove( - i: c_int, - ) -> HRESULT, - fn GetIcon( - i: c_int, - flags: UINT, - picon: *mut HICON, - ) -> HRESULT, - fn GetImageInfo( - i: c_int, - pImageInfo: *mut IMAGEINFO, - ) -> HRESULT, - fn Copy( - iDst: c_int, - punkSrc: *mut IUnknown, - iSrc: c_int, - uFlags: UINT, - ) -> HRESULT, - fn Merge( - i1: c_int, - punk2: *mut IUnknown, - i2: c_int, - dx: c_int, - dy: c_int, - riid: REFIID, - ppv: *mut *mut c_void, - ) -> HRESULT, - fn Clone( - riid: REFIID, - ppv: *mut *mut c_void, - ) -> HRESULT, - fn GetImageRect( - i: c_int, - prc: *mut RECT, - ) -> HRESULT, - fn GetIconSize( - cx: *mut c_int, - cy: *mut c_int, - ) -> HRESULT, - fn SetIconSize( - cx: c_int, - cy: c_int, - ) -> HRESULT, - fn GetImageCount( - pi: *mut c_int, - ) -> HRESULT, - fn SetImageCount( - uNewCount: UINT, - ) -> HRESULT, - fn SetBkColor( - clrBk: COLORREF, - pclr: *mut COLORREF, - ) -> HRESULT, - fn GetBkColor( - pclr: *mut COLORREF, - ) -> HRESULT, - fn BeginDrag( - iTrack: c_int, - dxHotspot: c_int, - dyHotspot: c_int, - ) -> HRESULT, - fn EndDrag() -> HRESULT, - fn DragEnter( - hwndLock: HWND, - x: c_int, - y: c_int, - ) -> HRESULT, - fn DragLeave( - hwndLock: HWND, - ) -> HRESULT, - fn DragMove( - x: c_int, - y: c_int, - ) -> HRESULT, - fn SetDragCursorImage( - punk: *mut IUnknown, - iDrag: c_int, - dxHotspot: c_int, - dyHotspot: c_int, - ) -> HRESULT, - fn DragShowNolock( - fShow: BOOL, - ) -> HRESULT, - fn GetDragImage( - ppt: *mut POINT, - pptHotspot: *mut POINT, - riid: REFIID, - ppv: *mut *mut c_void, - ) -> HRESULT, - fn GetItemFlags( - dwFlags: *mut DWORD, - ) -> HRESULT, - fn GetOverlayImage( - iOverlay: c_int, - piIndex: *mut c_int, - ) -> HRESULT, -}} -pub const ILR_DEFAULT: DWORD = 0x0000; -pub const ILR_HORIZONTAL_LEFT: DWORD = 0x0000; -pub const ILR_HORIZONTAL_CENTER: DWORD = 0x0001; -pub const ILR_HORIZONTAL_RIGHT: DWORD = 0x0002; -pub const ILR_VERTICAL_TOP: DWORD = 0x0000; -pub const ILR_VERTICAL_CENTER: DWORD = 0x0010; -pub const ILR_VERTICAL_BOTTOM: DWORD = 0x0020; -pub const ILR_SCALE_CLIP: DWORD = 0x0000; -pub const ILR_SCALE_ASPECTRATIO: DWORD = 0x0100; -pub const ILGOS_ALWAYS: DWORD = 0x00000000; -pub const ILGOS_FROMSTANDBY: DWORD = 0x00000001; -pub const ILFIP_ALWAYS: DWORD = 0x00000000; -pub const ILFIP_FROMSTANDBY: DWORD = 0x00000001; -pub const ILDI_PURGE: DWORD = 0x00000001; -pub const ILDI_STANDBY: DWORD = 0x00000002; -pub const ILDI_RESETACCESS: DWORD = 0x00000004; -pub const ILDI_QUERYACCESS: DWORD = 0x00000008; -STRUCT!{struct IMAGELISTSTATS { - cbSize: DWORD, - cAlloc: c_int, - cUsed: c_int, - cStandby: c_int, -}} -RIDL!{#[uuid(0x192b9d83, 0x58fc, 0x457b, 0x90, 0xa0, 0x2b, 0x82, 0xa8, 0xb5, 0xda, 0xe1)] -interface IImageList2(IImageList2Vtbl): IImageList(IImageListVtbl) { - fn Resize( - cxNewIconSize: c_int, - cyNewIconSize: c_int, - ) -> HRESULT, - fn GetOriginalSize( - iImage: c_int, - dwFlags: DWORD, - pcx: *mut c_int, - pcy: *mut c_int, - ) -> HRESULT, - fn SetOriginalSize( - iImage: c_int, - cx: c_int, - cy: c_int, - ) -> HRESULT, - fn SetCallback( - punk: *mut IUnknown, - ) -> HRESULT, - fn GetCallback( - riid: REFIID, - ppv: *mut *mut c_void, - ) -> HRESULT, - fn ForceImagePresent( - iImage: c_int, - dwFlags: DWORD, - ) -> HRESULT, - fn DiscardImages( - iFirstImage: c_int, - iLastImage: c_int, - dwFlags: DWORD, - ) -> HRESULT, - fn PreloadImages( - pimldp: *mut IMAGELISTDRAWPARAMS, - ) -> HRESULT, - fn GetStatistics( - pils: *mut IMAGELISTSTATS, - ) -> HRESULT, - fn Initialize( - cx: c_int, - cy: c_int, - flags: UINT, - cInitial: c_int, - cGrow: c_int, - ) -> HRESULT, - fn Replace2( - i: c_int, - hbmImage: HBITMAP, - hbmMask: HBITMAP, - punk: *mut IUnknown, - dwFlags: DWORD, - ) -> HRESULT, - fn ReplaceFromImageList( - i: c_int, - pil: *mut IImageList, - iSrc: c_int, - punk: *mut IUnknown, - dwFlags: DWORD, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/consoleapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/consoleapi.rs deleted file mode 100644 index 3f5496b95..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/consoleapi.rs +++ /dev/null @@ -1,91 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! ApiSet Contract for api-ms-win-core-console-l1 -use shared::minwindef::{BOOL, DWORD, LPDWORD, LPVOID, UINT}; -use um::wincon::{PCONSOLE_READCONSOLE_CONTROL, PHANDLER_ROUTINE}; -use um::wincontypes::{COORD, HPCON, PINPUT_RECORD}; -use um::winnt::{HANDLE, HRESULT, VOID}; -extern "system" { - pub fn AllocConsole() -> BOOL; - pub fn GetConsoleCP() -> UINT; - pub fn GetConsoleMode( - hConsoleHandle: HANDLE, - lpMode: LPDWORD, - ) -> BOOL; - pub fn GetConsoleOutputCP() -> UINT; - pub fn GetNumberOfConsoleInputEvents( - hConsoleInput: HANDLE, - lpNumberOfEvents: LPDWORD, - ) -> BOOL; - pub fn PeekConsoleInputA( - hConsoleInput: HANDLE, - lpBuffer: PINPUT_RECORD, - nLength: DWORD, - lpNumberOfEventsRead: LPDWORD, - ) -> BOOL; - pub fn ReadConsoleA( - hConsoleInput: HANDLE, - lpBuffer: LPVOID, - nNumberOfCharsToRead: DWORD, - lpNumberOfCharsRead: LPDWORD, - pInputControl: PCONSOLE_READCONSOLE_CONTROL, - ) -> BOOL; - pub fn ReadConsoleW( - hConsoleInput: HANDLE, - lpBuffer: LPVOID, - nNumberOfCharsToRead: DWORD, - lpNumberOfCharsRead: LPDWORD, - pInputControl: PCONSOLE_READCONSOLE_CONTROL, - ) -> BOOL; - pub fn ReadConsoleInputA( - hConsoleInput: HANDLE, - lpBuffer: PINPUT_RECORD, - nLength: DWORD, - lpNumberOfEventsRead: LPDWORD, - ) -> BOOL; - pub fn ReadConsoleInputW( - hConsoleInput: HANDLE, - lpBuffer: PINPUT_RECORD, - nLength: DWORD, - lpNumberOfEventsRead: LPDWORD, - ) -> BOOL; - pub fn SetConsoleCtrlHandler( - HandlerRoutine: PHANDLER_ROUTINE, - Add: BOOL, - ) -> BOOL; - pub fn SetConsoleMode( - hConsoleHandle: HANDLE, - dwMode: DWORD, - ) -> BOOL; - pub fn WriteConsoleA( - hConsoleOutput: HANDLE, - lpBuffer: *const VOID, - nNumberOfCharsToWrite: DWORD, - lpNumberOfCharsWritten: LPDWORD, - lpReserved: LPVOID, - ) -> BOOL; - pub fn WriteConsoleW( - hConsoleOutput: HANDLE, - lpBuffer: *const VOID, - nNumberOfCharsToWrite: DWORD, - lpNumberOfCharsWritten: LPDWORD, - lpReserved: LPVOID, - ) -> BOOL; - pub fn CreatePseudoConsole( - size: COORD, - hInput: HANDLE, - hOutput: HANDLE, - dwFlags: DWORD, - phPC: *mut HPCON, - ) -> HRESULT; - pub fn ResizePseudoConsole( - hPC: HPCON, - size: COORD, - ) -> HRESULT; - pub fn ClosePseudoConsole( - hPC: HPCON, - ); -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/corsym.rs b/vendor/registry-40351f815f426200/winapi/src/um/corsym.rs deleted file mode 100644 index 2e7c0f983..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/corsym.rs +++ /dev/null @@ -1,89 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -//! Common Language Runtime Debugging Symbol Reader/Writer/Binder Interfaces -use shared::basetsd::ULONG32; -use um::objidlbase::IStream; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, WCHAR}; -DEFINE_GUID!{CorSym_LanguageType_C, - 0x63a08714, 0xfc37, 0x11d2, 0x90, 0x4c, 0x0, 0xc0, 0x4f, 0xa3, 0x02, 0xa1} -DEFINE_GUID!{CorSym_LanguageType_CPlusPlus, - 0x3a12d0b7, 0xc26c, 0x11d0, 0xb4, 0x42, 0x0, 0xa0, 0x24, 0x4a, 0x1d, 0xd2} -DEFINE_GUID!{CorSym_LanguageType_CSharp, - 0x3f5162f8, 0x07c6, 0x11d3, 0x90, 0x53, 0x0, 0xc0, 0x4f, 0xa3, 0x02, 0xa1} -DEFINE_GUID!{CorSym_LanguageType_Basic, - 0x3a12d0b8, 0xc26c, 0x11d0, 0xb4, 0x42, 0x0, 0xa0, 0x24, 0x4a, 0x1d, 0xd2} -DEFINE_GUID!{CorSym_LanguageType_Java, - 0x3a12d0b4, 0xc26c, 0x11d0, 0xb4, 0x42, 0x0, 0xa0, 0x24, 0x4a, 0x1d, 0xd2} -DEFINE_GUID!{CorSym_LanguageType_Cobol, - 0xaf046cd1, 0xd0e1, 0x11d2, 0x97, 0x7c, 0x0, 0xa0, 0xc9, 0xb4, 0xd5, 0xc} -DEFINE_GUID!{CorSym_LanguageType_Pascal, - 0xaf046cd2, 0xd0e1, 0x11d2, 0x97, 0x7c, 0x0, 0xa0, 0xc9, 0xb4, 0xd5, 0xc} -DEFINE_GUID!{CorSym_LanguageType_ILAssembly, - 0xaf046cd3, 0xd0e1, 0x11d2, 0x97, 0x7c, 0x0, 0xa0, 0xc9, 0xb4, 0xd5, 0xc} -DEFINE_GUID!{CorSym_LanguageType_JScript, - 0x3a12d0b6, 0xc26c, 0x11d0, 0xb4, 0x42, 0x00, 0xa0, 0x24, 0x4a, 0x1d, 0xd2} -DEFINE_GUID!{CorSym_LanguageType_SMC, - 0xd9b9f7b, 0x6611, 0x11d3, 0xbd, 0x2a, 0x0, 0x0, 0xf8, 0x8, 0x49, 0xbd} -DEFINE_GUID!{CorSym_LanguageType_MCPlusPlus, - 0x4b35fde8, 0x07c6, 0x11d3, 0x90, 0x53, 0x0, 0xc0, 0x4f, 0xa3, 0x02, 0xa1} -DEFINE_GUID!{CorSym_LanguageVendor_Microsoft, - 0x994b45c4, 0xe6e9, 0x11d2, 0x90, 0x3f, 0x00, 0xc0, 0x4f, 0xa3, 0x02, 0xa1} -DEFINE_GUID!{CorSym_DocumentType_Text, - 0x5a869d0b, 0x6611, 0x11d3, 0xbd, 0x2a, 0x0, 0x0, 0xf8, 0x8, 0x49, 0xbd} -DEFINE_GUID!{CorSym_DocumentType_MC, - 0xeb40cb65, 0x3c1f, 0x4352, 0x9d, 0x7b, 0xba, 0xf, 0xc4, 0x7a, 0x9d, 0x77} -DEFINE_GUID!{CorSym_SourceHash_MD5, - 0x406ea660, 0x64cf, 0x4c82, 0xb6, 0xf0, 0x42, 0xd4, 0x81, 0x72, 0xa7, 0x99} -DEFINE_GUID!{CorSym_SourceHash_SHA1, - 0xff1816ec, 0xaa5e, 0x4d10, 0x87, 0xf7, 0x6f, 0x49, 0x63, 0x83, 0x34, 0x60} -ENUM!{enum CorSymAddrKind { - ADDR_IL_OFFSET = 1, - ADDR_NATIVE_RVA = 2, - ADDR_NATIVE_REGISTER = 3, - ADDR_NATIVE_REGREL = 4, - ADDR_NATIVE_OFFSET = 5, - ADDR_NATIVE_REGREG = 6, - ADDR_NATIVE_REGSTK = 7, - ADDR_NATIVE_STKREG = 8, - ADDR_BITFIELD = 9, - ADDR_NATIVE_ISECTOFFSET = 10, -}} -ENUM!{enum CorSymVarFlag { - VAR_IS_COMP_GEN = 1, -}} -RIDL!{#[uuid(0xaa544d42, 0x28cb, 0x11d3, 0xbd, 0x22, 0x00, 0x00, 0xf8, 0x08, 0x49, 0xbd)] -interface ISymUnmanagedBinder(ISymUnmanagedBinderVtbl): IUnknown(IUnknownVtbl) { - fn GetReaderForFile( - importer: *mut IUnknown, - fileName: *const WCHAR, - searchPath: *const WCHAR, - pRetVal: *mut *mut ISymUnmanagedReader, - ) -> HRESULT, - fn GetReaderFromStream( - importer: *mut IUnknown, - pstream: *mut IStream, - pRetVal: *mut *mut ISymUnmanagedReader, - ) -> HRESULT, -}} -ENUM!{enum CorSymSearchPolicyAttributes { - AllowRegistryAccess = 0x1, - AllowSymbolServerAccess = 0x2, - AllowOriginalPathAccess = 0x4, - AllowReferencePathAccess = 0x8, -}} -RIDL!{#[uuid(0xaccee350, 0x89af, 0x4ccb, 0x8b, 0x40, 0x1c, 0x2c, 0x4c, 0x6f, 0x94, 0x34)] -interface ISymUnmanagedBinder2(ISymUnmanagedBinder2Vtbl): - ISymUnmanagedBinder(ISymUnmanagedBinderVtbl) { - fn GetReaderForFile2( - importer: *mut IUnknown, - fileName: *const WCHAR, - searchPath: *const WCHAR, - searchPolicy: ULONG32, - pRetVal: *mut *mut ISymUnmanagedReader, - ) -> HRESULT, -}} -pub enum ISymUnmanagedReader {} // TODO diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d2d1.rs b/vendor/registry-40351f815f426200/winapi/src/um/d2d1.rs deleted file mode 100644 index 0632e6891..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d2d1.rs +++ /dev/null @@ -1,982 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -//! Mappings for the contents of d2d1.h -use ctypes::c_void; -use shared::basetsd::{UINT32, UINT64}; -use shared::dxgi::IDXGISurface; -use shared::guiddef::REFIID; -use shared::minwindef::{BOOL, DWORD, FLOAT}; -use shared::windef::{HDC, HWND, RECT}; -use um::d2dbasetypes::{ - D2D_COLOR_F, D2D_MATRIX_3X2_F, D2D_POINT_2F, D2D_POINT_2U, D2D_RECT_F, D2D_RECT_U, D2D_SIZE_F, - D2D_SIZE_U, -}; -use um::d3dcommon::{D3D_FEATURE_LEVEL_10_0, D3D_FEATURE_LEVEL_9_1}; -use um::dcommon::{D2D1_PIXEL_FORMAT, DWRITE_MEASURING_MODE}; -use um::dwrite::{DWRITE_GLYPH_RUN, IDWriteRenderingParams, IDWriteTextFormat, IDWriteTextLayout}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::wincodec::{IWICBitmap, IWICBitmapSource}; -use um::winnt::{HRESULT, WCHAR}; -// Types confirmed affected by the ABI issue: -// D2D1_SIZE_F, D2D1_SIZE_U, D2D1_COLOR_F, D2D1_PIXEL_FORMAT, D2D1_POINT_2F -pub const D2D1_DEFAULT_FLATTENING_TOLERANCE: FLOAT = 0.25; -pub const D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR: DWORD = 0; -pub const D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR: DWORD = 1; -pub const D2D1_INTERPOLATION_MODE_DEFINITION_CUBIC: DWORD = 2; -pub const D2D1_INTERPOLATION_MODE_DEFINITION_MULTI_SAMPLE_LINEAR: DWORD = 3; -pub const D2D1_INTERPOLATION_MODE_DEFINITION_ANISOTROPIC: DWORD = 4; -pub const D2D1_INTERPOLATION_MODE_DEFINITION_HIGH_QUALITY_CUBIC: DWORD = 5; -pub const D2D1_INTERPOLATION_MODE_DEFINITION_FANT: DWORD = 6; -pub const D2D1_INTERPOLATION_MODE_DEFINITION_MIPMAP_LINEAR: DWORD = 7; -ENUM!{enum D2D1_GAMMA { - D2D1_GAMMA_2_2 = 0, - D2D1_GAMMA_1_0 = 1, -}} -ENUM!{enum D2D1_OPACITY_MASK_CONTENT { - D2D1_OPACITY_MASK_CONTENT_GRAPHICS = 0, - D2D1_OPACITY_MASK_CONTENT_TEXT_NATURAL = 1, - D2D1_OPACITY_MASK_CONTENT_TEXT_GDI_COMPATIBLE = 2, -}} -ENUM!{enum D2D1_EXTEND_MODE { - D2D1_EXTEND_MODE_CLAMP = 0, - D2D1_EXTEND_MODE_WRAP = 1, - D2D1_EXTEND_MODE_MIRROR = 2, -}} -ENUM!{enum D2D1_ANTIALIAS_MODE { - D2D1_ANTIALIAS_MODE_PER_PRIMITIVE = 0, - D2D1_ANTIALIAS_MODE_ALIASED = 1, -}} -ENUM!{enum D2D1_TEXT_ANTIALIAS_MODE { - D2D1_TEXT_ANTIALIAS_MODE_DEFAULT = 0, - D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE = 1, - D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE = 2, - D2D1_TEXT_ANTIALIAS_MODE_ALIASED = 3, -}} -ENUM!{enum D2D1_BITMAP_INTERPOLATION_MODE { - D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR = - D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR, - D2D1_BITMAP_INTERPOLATION_MODE_LINEAR = - D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR, -}} -ENUM!{enum D2D1_DRAW_TEXT_OPTIONS { - D2D1_DRAW_TEXT_OPTIONS_NO_SNAP = 0x00000001, - D2D1_DRAW_TEXT_OPTIONS_CLIP = 0x00000002, - D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT = 0x00000004, - D2D1_DRAW_TEXT_OPTIONS_NONE = 0x00000000, -}} -pub type D2D1_POINT_2U = D2D_POINT_2U; -pub type D2D1_POINT_2F = D2D_POINT_2F; -pub type D2D1_RECT_F = D2D_RECT_F; -pub type D2D1_RECT_U = D2D_RECT_U; -pub type D2D1_SIZE_F = D2D_SIZE_F; -pub type D2D1_SIZE_U = D2D_SIZE_U; -pub type D2D1_COLOR_F = D2D_COLOR_F; -pub type D2D1_MATRIX_3X2_F = D2D_MATRIX_3X2_F; -pub type D2D1_TAG = UINT64; -STRUCT!{struct D2D1_BITMAP_PROPERTIES { - pixelFormat: D2D1_PIXEL_FORMAT, - dpiX: FLOAT, - dpiY: FLOAT, -}} -STRUCT!{struct D2D1_GRADIENT_STOP { - position: FLOAT, - color: D2D1_COLOR_F, -}} -STRUCT!{struct D2D1_BRUSH_PROPERTIES { - opacity: FLOAT, - transform: D2D1_MATRIX_3X2_F, -}} -STRUCT!{struct D2D1_BITMAP_BRUSH_PROPERTIES { - extendModeX: D2D1_EXTEND_MODE, - extendModeY: D2D1_EXTEND_MODE, - interpolationMode: D2D1_BITMAP_INTERPOLATION_MODE, -}} -STRUCT!{struct D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES { - startPoint: D2D1_POINT_2F, - endPoint: D2D1_POINT_2F, -}} -STRUCT!{struct D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES { - center: D2D1_POINT_2F, - gradientOriginOffset: D2D1_POINT_2F, - radiusX: FLOAT, - radiusY: FLOAT, -}} -ENUM!{enum D2D1_ARC_SIZE { - D2D1_ARC_SIZE_SMALL = 0, - D2D1_ARC_SIZE_LARGE = 1, -}} -ENUM!{enum D2D1_CAP_STYLE { - D2D1_CAP_STYLE_FLAT = 0, - D2D1_CAP_STYLE_SQUARE = 1, - D2D1_CAP_STYLE_ROUND = 2, - D2D1_CAP_STYLE_TRIANGLE = 3, -}} -ENUM!{enum D2D1_DASH_STYLE { - D2D1_DASH_STYLE_SOLID = 0, - D2D1_DASH_STYLE_DASH = 1, - D2D1_DASH_STYLE_DOT = 2, - D2D1_DASH_STYLE_DASH_DOT = 3, - D2D1_DASH_STYLE_DASH_DOT_DOT = 4, - D2D1_DASH_STYLE_CUSTOM = 5, -}} -ENUM!{enum D2D1_LINE_JOIN { - D2D1_LINE_JOIN_MITER = 0, - D2D1_LINE_JOIN_BEVEL = 1, - D2D1_LINE_JOIN_ROUND = 2, - D2D1_LINE_JOIN_MITER_OR_BEVEL = 3, -}} -ENUM!{enum D2D1_COMBINE_MODE { - D2D1_COMBINE_MODE_UNION = 0, - D2D1_COMBINE_MODE_INTERSECT = 1, - D2D1_COMBINE_MODE_XOR = 2, - D2D1_COMBINE_MODE_EXCLUDE = 3, -}} -ENUM!{enum D2D1_GEOMETRY_RELATION { - D2D1_GEOMETRY_RELATION_UNKNOWN = 0, - D2D1_GEOMETRY_RELATION_DISJOINT = 1, - D2D1_GEOMETRY_RELATION_IS_CONTAINED = 2, - D2D1_GEOMETRY_RELATION_CONTAINS = 3, - D2D1_GEOMETRY_RELATION_OVERLAP = 4, -}} -ENUM!{enum D2D1_GEOMETRY_SIMPLIFICATION_OPTION { - D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES = 0, - D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES = 1, -}} -ENUM!{enum D2D1_FIGURE_BEGIN { - D2D1_FIGURE_BEGIN_FILLED = 0, - D2D1_FIGURE_BEGIN_HOLLOW = 1, -}} -ENUM!{enum D2D1_FIGURE_END { - D2D1_FIGURE_END_OPEN = 0, - D2D1_FIGURE_END_CLOSED = 1, -}} -STRUCT!{struct D2D1_BEZIER_SEGMENT { - point1: D2D1_POINT_2F, - point2: D2D1_POINT_2F, - point3: D2D1_POINT_2F, -}} -STRUCT!{struct D2D1_TRIANGLE { - point1: D2D1_POINT_2F, - point2: D2D1_POINT_2F, - point3: D2D1_POINT_2F, -}} -ENUM!{enum D2D1_PATH_SEGMENT { - D2D1_PATH_SEGMENT_NONE = 0x00000000, - D2D1_PATH_SEGMENT_FORCE_UNSTROKED = 0x00000001, - D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN = 0x00000002, -}} -ENUM!{enum D2D1_SWEEP_DIRECTION { - D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE = 0, - D2D1_SWEEP_DIRECTION_CLOCKWISE = 1, -}} -ENUM!{enum D2D1_FILL_MODE { - D2D1_FILL_MODE_ALTERNATE = 0, - D2D1_FILL_MODE_WINDING = 1, -}} -STRUCT!{struct D2D1_ARC_SEGMENT { - point: D2D1_POINT_2F, - size: D2D1_SIZE_F, - rotationAngle: FLOAT, - sweepDirection: D2D1_SWEEP_DIRECTION, - arcSize: D2D1_ARC_SIZE, -}} -STRUCT!{struct D2D1_QUADRATIC_BEZIER_SEGMENT { - point1: D2D1_POINT_2F, - point2: D2D1_POINT_2F, -}} -STRUCT!{struct D2D1_ELLIPSE { - point: D2D1_POINT_2F, - radiusX: FLOAT, - radiusY: FLOAT, -}} -STRUCT!{struct D2D1_ROUNDED_RECT { - rect: D2D1_RECT_F, - radiusX: FLOAT, - radiusY: FLOAT, -}} -STRUCT!{struct D2D1_STROKE_STYLE_PROPERTIES { - startCap: D2D1_CAP_STYLE, - endCap: D2D1_CAP_STYLE, - dashCap: D2D1_CAP_STYLE, - lineJoin: D2D1_LINE_JOIN, - miterLimit: FLOAT, - dashStyle: D2D1_DASH_STYLE, - dashOffset: FLOAT, -}} -ENUM!{enum D2D1_LAYER_OPTIONS { - D2D1_LAYER_OPTIONS_NONE = 0x00000000, - D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE = 0x00000001, -}} -STRUCT!{struct D2D1_LAYER_PARAMETERS { - contentBounds: D2D1_RECT_F, - geometricMask: *mut ID2D1Geometry, - maskAntialiasMode: D2D1_ANTIALIAS_MODE, - maskTransform: D2D1_MATRIX_3X2_F, - opacity: FLOAT, - opacityBrush: *mut ID2D1Brush, - layerOptions: D2D1_LAYER_OPTIONS, -}} -ENUM!{enum D2D1_WINDOW_STATE { - D2D1_WINDOW_STATE_NONE = 0x0000000, - D2D1_WINDOW_STATE_OCCLUDED = 0x0000001, -}} -ENUM!{enum D2D1_RENDER_TARGET_TYPE { - D2D1_RENDER_TARGET_TYPE_DEFAULT = 0, - D2D1_RENDER_TARGET_TYPE_SOFTWARE = 1, - D2D1_RENDER_TARGET_TYPE_HARDWARE = 2, -}} -ENUM!{enum D2D1_FEATURE_LEVEL { - D2D1_FEATURE_LEVEL_DEFAULT = 0, - D2D1_FEATURE_LEVEL_9 = D3D_FEATURE_LEVEL_9_1, - D2D1_FEATURE_LEVEL_10 = D3D_FEATURE_LEVEL_10_0, -}} -ENUM!{enum D2D1_RENDER_TARGET_USAGE { - D2D1_RENDER_TARGET_USAGE_NONE = 0x00000000, - D2D1_RENDER_TARGET_USAGE_FORCE_BITMAP_REMOTING = 0x00000001, - D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE = 0x00000002, -}} -ENUM!{enum D2D1_PRESENT_OPTIONS { - D2D1_PRESENT_OPTIONS_NONE = 0x00000000, - D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS = 0x00000001, - D2D1_PRESENT_OPTIONS_IMMEDIATELY = 0x00000002, -}} -STRUCT!{struct D2D1_RENDER_TARGET_PROPERTIES { - _type: D2D1_RENDER_TARGET_TYPE, - pixelFormat: D2D1_PIXEL_FORMAT, - dpiX: FLOAT, - dpiY: FLOAT, - usage: D2D1_RENDER_TARGET_USAGE, - minLevel: D2D1_FEATURE_LEVEL, -}} -STRUCT!{struct D2D1_HWND_RENDER_TARGET_PROPERTIES { - hwnd: HWND, - pixelSize: D2D1_SIZE_U, - presentOptions: D2D1_PRESENT_OPTIONS, -}} -ENUM!{enum D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS { - D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE = 0x00000000, - D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_GDI_COMPATIBLE = 0x00000001, -}} -STRUCT!{struct D2D1_DRAWING_STATE_DESCRIPTION { - antialiasMode: D2D1_ANTIALIAS_MODE, - textAntialiasMode: D2D1_TEXT_ANTIALIAS_MODE, - tag1: D2D1_TAG, - tag2: D2D1_TAG, - transform: D2D1_MATRIX_3X2_F, -}} -ENUM!{enum D2D1_DC_INITIALIZE_MODE { - D2D1_DC_INITIALIZE_MODE_COPY = 0, - D2D1_DC_INITIALIZE_MODE_CLEAR = 1, -}} -ENUM!{enum D2D1_DEBUG_LEVEL { - D2D1_DEBUG_LEVEL_NONE = 0, - D2D1_DEBUG_LEVEL_ERROR = 1, - D2D1_DEBUG_LEVEL_WARNING = 2, - D2D1_DEBUG_LEVEL_INFORMATION = 3, -}} -ENUM!{enum D2D1_FACTORY_TYPE { - D2D1_FACTORY_TYPE_SINGLE_THREADED = 0, - D2D1_FACTORY_TYPE_MULTI_THREADED = 1, -}} -STRUCT!{struct D2D1_FACTORY_OPTIONS { - debugLevel: D2D1_DEBUG_LEVEL, -}} -RIDL!{#[uuid(0x2cd90691, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1Resource(ID2D1ResourceVtbl): IUnknown(IUnknownVtbl) { - fn GetFactory( - factory: *mut *mut ID2D1Factory, - ) -> (), -}} -RIDL!{#[uuid(0x65019f75, 0x8da2, 0x497c, 0xb3, 0x2c, 0xdf, 0xa3, 0x4e, 0x48, 0xed, 0xe6)] -interface ID2D1Image(ID2D1ImageVtbl): ID2D1Resource(ID2D1ResourceVtbl) {}} -RIDL!{#[uuid(0xa2296057, 0xea42, 0x4099, 0x98, 0x3b, 0x53, 0x9f, 0xb6, 0x50, 0x54, 0x26)] -interface ID2D1Bitmap(ID2D1BitmapVtbl): ID2D1Image(ID2D1ImageVtbl) { - #[fixme] fn GetSize() -> D2D1_SIZE_F, - #[fixme] fn GetPixelSize() -> D2D1_SIZE_U, - #[fixme] fn GetPixelFormat() -> D2D1_PIXEL_FORMAT, - fn GetDpi( - dpiX: *mut FLOAT, - dpiY: *mut FLOAT, - ) -> (), - fn CopyFromBitmap( - destPoint: *const D2D1_POINT_2U, - bitmap: *mut ID2D1Bitmap, - srcRect: *const D2D1_RECT_U, - ) -> HRESULT, - fn CopyFromRenderTarget( - destPoint: *const D2D1_POINT_2U, - renderTarget: *mut ID2D1RenderTarget, - srcRect: *const D2D1_RECT_U, - ) -> HRESULT, - fn CopyFromMemory( - dstRect: *const D2D1_RECT_U, - srcData: *const c_void, - pitch: UINT32, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2cd906a7, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1GradientStopCollection(ID2D1GradientStopCollectionVtbl): - ID2D1Resource(ID2D1ResourceVtbl) { - fn GetGradientStopCount() -> UINT32, - fn GetGradientStops( - gradientStops: *mut D2D1_GRADIENT_STOP, - gradientStopsCount: UINT32, - ) -> (), - fn GetColorInterpolationGamma() -> D2D1_GAMMA, - fn GetExtendMode() -> D2D1_EXTEND_MODE, -}} -RIDL!{#[uuid(0x2cd906a8, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1Brush(ID2D1BrushVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn SetOpacity( - opacity: FLOAT, - ) -> (), - fn SetTransform( - transform: *const D2D1_MATRIX_3X2_F, - ) -> (), - fn GetOpacity() -> FLOAT, - fn GetTransform( - transform: *mut D2D1_MATRIX_3X2_F, - ) -> (), -}} -RIDL!{#[uuid(0x2cd906aa, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1BitmapBrush(ID2D1BitmapBrushVtbl): ID2D1Brush(ID2D1BrushVtbl) { - fn SetExtendModeX( - extendModeX: D2D1_EXTEND_MODE, - ) -> (), - fn SetExtendModeY( - extendModeY: D2D1_EXTEND_MODE, - ) -> (), - fn SetInterpolationMode( - interpolationMode: D2D1_BITMAP_INTERPOLATION_MODE, - ) -> (), - fn SetBitmap( - bitmap: *mut ID2D1Bitmap, - ) -> (), - fn GetExtendModeX() -> D2D1_EXTEND_MODE, - fn GetExtendModeY() -> D2D1_EXTEND_MODE, - fn GetInterpolationMode() -> D2D1_BITMAP_INTERPOLATION_MODE, - fn GetBitmap( - bitmap: *mut *mut ID2D1Bitmap, - ) -> (), -}} -RIDL!{#[uuid(0x2cd906a9, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1SolidColorBrush(ID2D1SolidColorBrushVtbl): ID2D1Brush(ID2D1BrushVtbl) { - fn SetColor( - color: *const D2D1_COLOR_F, - ) -> (), - #[fixme] fn GetColor() -> D2D1_COLOR_F, -}} -RIDL!{#[uuid(0x2cd906ab, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1LinearGradientBrush(ID2D1LinearGradientBrushVtbl): ID2D1Brush(ID2D1BrushVtbl) { - fn SetStartPoint( - startPoint: D2D1_POINT_2F, - ) -> (), - fn SetEndPoint( - endPoint: D2D1_POINT_2F, - ) -> (), - #[fixme] fn GetStartPoint() -> D2D1_POINT_2F, - #[fixme] fn GetEndPoint() -> D2D1_POINT_2F, - fn GetGradientStopCollection( - gradientStopCollection: *mut *mut ID2D1GradientStopCollection, - ) -> (), -}} -RIDL!{#[uuid(0x2cd906ac, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1RadialGradientBrush(ID2D1RadialGradientBrushVtbl): ID2D1Brush(ID2D1BrushVtbl) { - fn SetCenter( - center: D2D1_POINT_2F, - ) -> (), - fn SetGradientOriginOffset( - gradientOriginOffset: D2D1_POINT_2F, - ) -> (), - fn SetRadiusX( - radiusX: FLOAT, - ) -> (), - fn SetRadiusY( - radiusY: FLOAT, - ) -> (), - #[fixme] fn GetCenter() -> D2D1_POINT_2F, - #[fixme] fn GetGradientOriginOffset() -> D2D1_POINT_2F, - fn GetRadiusX() -> FLOAT, - fn GetRadiusY() -> FLOAT, - fn GetGradientStopCollection( - gradientStopCollection: *mut *mut ID2D1GradientStopCollection, - ) -> (), -}} -RIDL!{#[uuid(0x2cd9069d, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1StrokeStyle(ID2D1StrokeStyleVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn GetStartCap() -> D2D1_CAP_STYLE, - fn GetEndCap() -> D2D1_CAP_STYLE, - fn GetDashCap() -> D2D1_CAP_STYLE, - fn GetMiterLimit() -> FLOAT, - fn GetLineJoin() -> D2D1_LINE_JOIN, - fn GetDashOffset() -> FLOAT, - fn GetDashStyle() -> D2D1_DASH_STYLE, - fn GetDashesCount() -> UINT32, - fn GetDashes( - dashes: *mut FLOAT, - dashesCount: UINT32, - ) -> (), -}} -RIDL!{#[uuid(0x2cd906a1, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1Geometry(ID2D1GeometryVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn GetBounds( - worldTransform: *const D2D1_MATRIX_3X2_F, - bounds: *mut D2D1_RECT_F, - ) -> HRESULT, - fn GetWidenedBounds( - strokeWidth: FLOAT, - strokeStyle: *mut ID2D1StrokeStyle, - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - bounds: *mut D2D1_RECT_F, - ) -> HRESULT, - fn StrokeContainsPoint( - point: D2D1_POINT_2F, - strokeWidth: FLOAT, - strokeStyle: *mut ID2D1StrokeStyle, - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - contains: *mut BOOL, - ) -> HRESULT, - fn FillContainsPoint( - point: D2D1_POINT_2F, - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - contains: *mut BOOL, - ) -> HRESULT, - fn CompareWithGeometry( - inputGeometry: *mut ID2D1Geometry, - inputGeometryTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - relation: *mut D2D1_GEOMETRY_RELATION, - ) -> HRESULT, - fn Simplify( - simplificationOption: D2D1_GEOMETRY_SIMPLIFICATION_OPTION, - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - geometrySink: *mut ID2D1SimplifiedGeometrySink, - ) -> HRESULT, - fn Tessellate( - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - tessellationSink: *mut ID2D1TessellationSink, - ) -> HRESULT, - fn CombineWithGeometry( - inputGeometry: *mut ID2D1Geometry, - combineMode: D2D1_COMBINE_MODE, - inputGeometryTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - geometrySink: *mut ID2D1SimplifiedGeometrySink, - ) -> HRESULT, - fn Outline( - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - geometrySink: *mut ID2D1SimplifiedGeometrySink, - ) -> HRESULT, - fn ComputeArea( - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - area: *mut FLOAT, - ) -> HRESULT, - fn ComputeLength( - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - length: *mut FLOAT, - ) -> HRESULT, - fn ComputePointAtLength( - length: FLOAT, - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - point: *mut D2D1_POINT_2F, - unitTangentVector: *mut D2D1_POINT_2F, - ) -> HRESULT, - fn Widen( - strokeWidth: FLOAT, - strokeStyle: *mut ID2D1StrokeStyle, - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - geometrySink: *mut ID2D1SimplifiedGeometrySink, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2cd906a2, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1RectangleGeometry(ID2D1RectangleGeometryVtbl): ID2D1Geometry(ID2D1GeometryVtbl) { - fn GetRect( - rect: *mut D2D1_RECT_F, - ) -> (), -}} -RIDL!{#[uuid(0x2cd906a3, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1RoundedRectangleGeometry(ID2D1RoundedRectangleGeometryVtbl): - ID2D1Geometry(ID2D1GeometryVtbl) { - fn GetRoundedRect( - roundedRect: *mut D2D1_ROUNDED_RECT, - ) -> (), -}} -RIDL!{#[uuid(0x2cd906a4, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1EllipseGeometry(ID2D1EllipseGeometryVtbl): ID2D1Geometry(ID2D1GeometryVtbl) { - fn GetEllipse( - ellipse: *mut D2D1_ELLIPSE, - ) -> (), -}} -RIDL!{#[uuid(0x2cd906a6, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1GeometryGroup(ID2D1GeometryGroupVtbl): ID2D1Geometry(ID2D1GeometryVtbl) { - fn GetFillMode() -> D2D1_FILL_MODE, - fn GetSourceGeometryCount() -> UINT32, - fn GetSourceGeometries( - geometries: *mut *mut ID2D1Geometry, - geometriesCount: UINT32, - ) -> (), -}} -RIDL!{#[uuid(0x2cd906bb, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1TransformedGeometry(ID2D1TransformedGeometryVtbl): - ID2D1Geometry(ID2D1GeometryVtbl) { - fn GetSourceGeometry( - sourceGeometry: *mut *mut ID2D1Geometry, - ) -> (), - fn GetTransform( - transform: *mut D2D1_MATRIX_3X2_F, - ) -> (), -}} -RIDL!{#[uuid(0x2cd9069e, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1SimplifiedGeometrySink(ID2D1SimplifiedGeometrySinkVtbl): IUnknown(IUnknownVtbl) { - fn SetFillMode( - fillMode: D2D1_FILL_MODE, - ) -> (), - fn SetSegmentFlags( - vertexFlags: D2D1_PATH_SEGMENT, - ) -> (), - fn BeginFigure( - startPoint: D2D1_POINT_2F, - figureBegin: D2D1_FIGURE_BEGIN, - ) -> (), - fn AddLines( - points: *const D2D1_POINT_2F, - pointsCount: UINT32, - ) -> (), - fn AddBeziers( - beziers: *const D2D1_BEZIER_SEGMENT, - beziersCount: UINT32, - ) -> (), - fn EndFigure( - figureEnd: D2D1_FIGURE_END, - ) -> (), - fn Close() -> HRESULT, -}} -RIDL!{#[uuid(0x2cd9069f, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1GeometrySink(ID2D1GeometrySinkVtbl): - ID2D1SimplifiedGeometrySink(ID2D1SimplifiedGeometrySinkVtbl) { - fn AddLine( - point: D2D1_POINT_2F, - ) -> (), - fn AddBezier( - bezier: *const D2D1_BEZIER_SEGMENT, - ) -> (), - fn AddQuadraticBezier( - bezier: *const D2D1_QUADRATIC_BEZIER_SEGMENT, - ) -> (), - fn AddQuadraticBeziers( - beziers: *const D2D1_QUADRATIC_BEZIER_SEGMENT, - beziersCount: UINT32, - ) -> (), - fn AddArc( - arc: *const D2D1_ARC_SEGMENT, - ) -> (), -}} -RIDL!{#[uuid(0x2cd906c1, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1TessellationSink(ID2D1TessellationSinkVtbl): IUnknown(IUnknownVtbl) { - fn AddTriangles( - triangles: *const D2D1_TRIANGLE, - triangleCount: UINT32, - ) -> (), - fn Close() -> HRESULT, -}} -RIDL!{#[uuid(0x2cd906a5, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1PathGeometry(ID2D1PathGeometryVtbl): ID2D1Geometry(ID2D1GeometryVtbl) { - fn Open( - geometrySink: *mut *mut ID2D1GeometrySink, - ) -> HRESULT, - fn Stream( - geometrySink: *mut ID2D1GeometrySink, - ) -> HRESULT, - fn GetSegmentCount( - count: *mut UINT32, - ) -> HRESULT, - fn GetFigureCount( - count: *mut UINT32, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2cd906c2, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1Mesh(ID2D1MeshVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn Open( - tessellationSink: *mut *mut ID2D1TessellationSink, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2cd9069b, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1Layer(ID2D1LayerVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - #[fixme] fn GetSize() -> D2D1_SIZE_F, -}} -RIDL!{#[uuid(0x28506e39, 0xebf6, 0x46a1, 0xbb, 0x47, 0xfd, 0x85, 0x56, 0x5a, 0xb9, 0x57)] -interface ID2D1DrawingStateBlock(ID2D1DrawingStateBlockVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn GetDescription( - stateDescription: *mut D2D1_DRAWING_STATE_DESCRIPTION, - ) -> (), - fn SetDescription( - stateDescription: *const D2D1_DRAWING_STATE_DESCRIPTION, - ) -> (), - fn SetTextRenderingParams( - textRenderingParams: *mut IDWriteRenderingParams, - ) -> (), - fn GetTextRenderingParams( - textRenderingParams: *mut *mut IDWriteRenderingParams, - ) -> (), -}} -RIDL!{#[uuid(0x2cd90694, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1RenderTarget(ID2D1RenderTargetVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn CreateBitmap( - size: D2D1_SIZE_U, - srcData: *const c_void, - pitch: UINT32, - bitmapProperties: *const D2D1_BITMAP_PROPERTIES, - bitmap: *mut *mut ID2D1Bitmap, - ) -> HRESULT, - fn CreateBitmapFromWicBitmap( - wicBitmapSource: *mut IWICBitmapSource, - bitmapProperties: *const D2D1_BITMAP_PROPERTIES, - bitmap: *mut *mut ID2D1Bitmap, - ) -> HRESULT, - fn CreateSharedBitmap( - riid: REFIID, - data: *const c_void, - bitmapProperties: *const D2D1_BITMAP_PROPERTIES, - bitmap: *mut *mut ID2D1Bitmap, - ) -> HRESULT, - fn CreateBitmapBrush( - bitmap: *mut ID2D1Bitmap, - bitmapBrushProperties: *const D2D1_BITMAP_BRUSH_PROPERTIES, - brushProperties: *const D2D1_BRUSH_PROPERTIES, - bitmapBrush: *mut *mut ID2D1BitmapBrush, - ) -> HRESULT, - fn CreateSolidColorBrush( - color: *const D2D1_COLOR_F, - brushProperties: *const D2D1_BRUSH_PROPERTIES, - solidColorBrush: *mut *mut ID2D1SolidColorBrush, - ) -> HRESULT, - fn CreateGradientStopCollection( - gradientStops: *const D2D1_GRADIENT_STOP, - gradientStopsCount: UINT32, - colorInterpolationGamma: D2D1_GAMMA, - extendMode: D2D1_EXTEND_MODE, - gradientStopCollection: *mut *mut ID2D1GradientStopCollection, - ) -> HRESULT, - fn CreateLinearGradientBrush( - linearGradientBrushProperties: *const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES, - brushProperties: *const D2D1_BRUSH_PROPERTIES, - gradientStopCollection: *mut ID2D1GradientStopCollection, - linearGradientBrush: *mut *mut ID2D1LinearGradientBrush, - ) -> HRESULT, - fn CreateRadialGradientBrush( - radialGradientBrushProperties: *const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES, - brushProperties: *const D2D1_BRUSH_PROPERTIES, - gradientStopCollection: *mut ID2D1GradientStopCollection, - radialGradientBrush: *mut *mut ID2D1RadialGradientBrush, - ) -> HRESULT, - fn CreateCompatibleRenderTarget( - desiredSize: *const D2D1_SIZE_F, - desiredPixelSize: *const D2D1_SIZE_U, - desiredFormat: *const D2D1_PIXEL_FORMAT, - options: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS, - bitmapRenderTarget: *mut *mut ID2D1BitmapRenderTarget, - ) -> HRESULT, - fn CreateLayer( - size: *const D2D1_SIZE_F, - layer: *mut *mut ID2D1Layer, - ) -> HRESULT, - fn CreateMesh( - mesh: *mut *mut ID2D1Mesh, - ) -> HRESULT, - fn DrawLine( - point0: D2D1_POINT_2F, - point1: D2D1_POINT_2F, - brush: *mut ID2D1Brush, - strokeWidth: FLOAT, - strokeStype: *mut ID2D1StrokeStyle, - ) -> (), - fn DrawRectangle( - rect: *const D2D1_RECT_F, - brush: *mut ID2D1Brush, - strokeWidth: FLOAT, - strokeStyle: *mut ID2D1StrokeStyle, - ) -> (), - fn FillRectangle( - rect: *const D2D1_RECT_F, - brush: *mut ID2D1Brush, - ) -> (), - fn DrawRoundedRectangle( - roundedRect: *const D2D1_ROUNDED_RECT, - brush: *mut ID2D1Brush, - strokeWidth: FLOAT, - strokeStyle: *mut ID2D1StrokeStyle, - ) -> (), - fn FillRoundedRectangle( - roundedRect: *const D2D1_ROUNDED_RECT, - brush: *mut ID2D1Brush, - ) -> (), - fn DrawEllipse( - ellipse: *const D2D1_ELLIPSE, - brush: *mut ID2D1Brush, - strokeWidth: FLOAT, - strokeStyle: *mut ID2D1StrokeStyle, - ) -> (), - fn FillEllipse( - ellipse: *const D2D1_ELLIPSE, - brush: *mut ID2D1Brush, - ) -> (), - fn DrawGeometry( - geometry: *mut ID2D1Geometry, - brush: *mut ID2D1Brush, - strokeWidth: FLOAT, - strokeStyle: *mut ID2D1StrokeStyle, - ) -> (), - fn FillGeometry( - geometry: *mut ID2D1Geometry, - brush: *mut ID2D1Brush, - opacityBrush: *mut ID2D1Brush, - ) -> (), - fn FillMesh( - mesh: *mut ID2D1Mesh, - brush: *const ID2D1Brush, - ) -> (), - fn FillOpacityMask( - opacityMask: *mut ID2D1Bitmap, - brush: *mut ID2D1Brush, - content: D2D1_OPACITY_MASK_CONTENT, - destinationRectangle: *const D2D1_RECT_F, - sourceRectangle: *const D2D1_RECT_F, - ) -> (), - fn DrawBitmap( - bitmap: *mut ID2D1Bitmap, - destinationRectangle: *const D2D1_RECT_F, - opacity: FLOAT, - interpolationMode: D2D1_BITMAP_INTERPOLATION_MODE, - sourceRectangle: *const D2D1_RECT_F, - ) -> (), - fn DrawText( - string: *const WCHAR, - stringLength: UINT32, - textFormat: *mut IDWriteTextFormat, - layoutRect: *const D2D1_RECT_F, - defaultForegroundBrush: *mut ID2D1Brush, - options: D2D1_DRAW_TEXT_OPTIONS, - measuringMode: DWRITE_MEASURING_MODE, - ) -> (), - fn DrawTextLayout( - origin: D2D1_POINT_2F, - textLayout: *mut IDWriteTextLayout, - defaultForegroundBrush: *mut ID2D1Brush, - options: D2D1_DRAW_TEXT_OPTIONS, - ) -> (), - fn DrawGlyphRun( - baselineOrigin: D2D1_POINT_2F, - glyphRun: *const DWRITE_GLYPH_RUN, - foregroundBrush: *mut ID2D1Brush, - measuringMode: DWRITE_MEASURING_MODE, - ) -> (), - fn SetTransform( - transform: *const D2D1_MATRIX_3X2_F, - ) -> (), - fn GetTransform( - transform: *mut D2D1_MATRIX_3X2_F, - ) -> (), - fn SetAntialiasMode( - antialiasMode: D2D1_ANTIALIAS_MODE, - ) -> (), - fn GetAntialiasMode() -> D2D1_ANTIALIAS_MODE, - fn SetTextAntialiasMode( - textAntialiasMode: D2D1_TEXT_ANTIALIAS_MODE, - ) -> (), - fn GetTextAntialiasMode() -> D2D1_TEXT_ANTIALIAS_MODE, - fn SetTextRenderingParams( - textRenderingParams: *mut IDWriteRenderingParams, - ) -> (), - fn GetTextRenderingParams( - textRenderingParams: *mut *mut IDWriteRenderingParams, - ) -> (), - fn SetTags( - tag1: D2D1_TAG, - tag2: D2D1_TAG, - ) -> (), - fn GetTags( - tag1: *mut D2D1_TAG, - tag2: *mut D2D1_TAG, - ) -> (), - fn PushLayer( - layerParameters: *const D2D1_LAYER_PARAMETERS, - layer: *mut ID2D1Layer, - ) -> (), - fn PopLayer() -> (), - fn Flush( - tag1: *mut D2D1_TAG, - tag2: *mut D2D1_TAG, - ) -> HRESULT, - fn SaveDrawingState( - drawingStateBlock: *mut ID2D1DrawingStateBlock, - ) -> (), - fn RestoreDrawingState( - drawingStateBlock: *mut ID2D1DrawingStateBlock, - ) -> (), - fn PushAxisAlignedClip( - clipRect: *const D2D1_RECT_F, - antialiasMode: D2D1_ANTIALIAS_MODE, - ) -> (), - fn PopAxisAlignedClip() -> (), - fn Clear( - clearColor: *const D2D1_COLOR_F, - ) -> (), - fn BeginDraw() -> (), - fn EndDraw( - tag1: *mut D2D1_TAG, - tag2: *mut D2D1_TAG, - ) -> HRESULT, - #[fixme] fn GetPixelFormat() -> D2D1_PIXEL_FORMAT, - fn SetDpi( - dpiX: FLOAT, - dpiY: FLOAT, - ) -> (), - fn GetDpi( - dpiX: *mut FLOAT, - dpiY: *mut FLOAT, - ) -> (), - #[fixme] fn GetSize() -> D2D1_SIZE_F, - #[fixme] fn GetPixelSize() -> D2D1_SIZE_U, - fn GetMaximumBitmapSize() -> UINT32, - fn IsSupported( - renderTargetProperties: *const D2D1_RENDER_TARGET_PROPERTIES, - ) -> BOOL, -}} -RIDL!{#[uuid(0x2cd90695, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1BitmapRenderTarget(ID2D1BitmapRenderTargetVtbl): - ID2D1RenderTarget(ID2D1RenderTargetVtbl) { - fn GetBitmap( - bitmap: *mut *mut ID2D1Bitmap, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2cd90698, 0x12e2, 0x11dc, 0x9f, 0xed, 0x00, 0x11, 0x43, 0xa0, 0x55, 0xf9)] -interface ID2D1HwndRenderTarget(ID2D1HwndRenderTargetVtbl): - ID2D1RenderTarget(ID2D1RenderTargetVtbl) { - fn CheckWindowState() -> D2D1_WINDOW_STATE, - fn Resize( - pixelSize: *const D2D1_SIZE_U, - ) -> HRESULT, - fn GetHwnd() -> HWND, -}} -RIDL!{#[uuid(0xe0db51c3, 0x6f77, 0x4bae, 0xb3, 0xd5, 0xe4, 0x75, 0x09, 0xb3, 0x58, 0x38)] -interface ID2D1GdiInteropRenderTarget(ID2D1GdiInteropRenderTargetVtbl): IUnknown(IUnknownVtbl) { - fn GetDC( - mode: D2D1_DC_INITIALIZE_MODE, - hdc: *mut HDC, - ) -> HRESULT, - fn ReleaseDC( - update: *const RECT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x1c51bc64, 0xde61, 0x46fd, 0x98, 0x99, 0x63, 0xa5, 0xd8, 0xf0, 0x39, 0x50)] -interface ID2D1DCRenderTarget(ID2D1DCRenderTargetVtbl): ID2D1RenderTarget(ID2D1RenderTargetVtbl) { - fn BindDC( - hDC: HDC, - pSubRect: *const RECT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x06152247, 0x6f50, 0x465a, 0x92, 0x45, 0x11, 0x8b, 0xfd, 0x3b, 0x60, 0x07)] -interface ID2D1Factory(ID2D1FactoryVtbl): IUnknown(IUnknownVtbl) { - fn ReloadSystemMetrics() -> HRESULT, - fn GetDesktopDpi( - dpiX: *mut FLOAT, - dpiY: *mut FLOAT, - ) -> (), - fn CreateRectangleGeometry( - rectangle: *const D2D1_RECT_F, - rectangleGeometry: *mut *mut ID2D1RectangleGeometry, - ) -> HRESULT, - fn CreateRoundedRectangleGeometry( - roundedRectangle: *const D2D1_ROUNDED_RECT, - roundedRectangleGeometry: *mut *mut ID2D1RoundedRectangleGeometry, - ) -> HRESULT, - fn CreateEllipseGeometry( - ellipse: *const D2D1_ELLIPSE, - ellipseGeometry: *mut *mut ID2D1EllipseGeometry, - ) -> HRESULT, - fn CreateGeometryGroup( - fillMode: D2D1_FILL_MODE, - geometries: *mut *mut ID2D1Geometry, - geometriesCount: UINT32, - geometryGroup: *mut *mut ID2D1GeometryGroup, - ) -> HRESULT, - fn CreateTransformedGeometry( - sourceGeometry: *mut ID2D1Geometry, - transform: *const D2D1_MATRIX_3X2_F, - transformedGeometry: *mut *mut ID2D1TransformedGeometry, - ) -> HRESULT, - fn CreatePathGeometry( - pathGeometry: *mut *mut ID2D1PathGeometry, - ) -> HRESULT, - fn CreateStrokeStyle( - strokeStyleProperties: *const D2D1_STROKE_STYLE_PROPERTIES, - dashes: *const FLOAT, - dashesCount: UINT32, - strokeStyle: *mut *mut ID2D1StrokeStyle, - ) -> HRESULT, - fn CreateDrawingStateBlock( - drawingStateDescription: *const D2D1_DRAWING_STATE_DESCRIPTION, - textRenderingParams: *mut IDWriteRenderingParams, - drawingStateBlock: *mut *mut ID2D1DrawingStateBlock, - ) -> HRESULT, - fn CreateWicBitmapRenderTarget( - target: *mut IWICBitmap, - renderTargetProperties: *const D2D1_RENDER_TARGET_PROPERTIES, - renderTarget: *mut *mut ID2D1RenderTarget, - ) -> HRESULT, - fn CreateHwndRenderTarget( - renderTargetProperties: *const D2D1_RENDER_TARGET_PROPERTIES, - hwndRenderTargetProperties: *const D2D1_HWND_RENDER_TARGET_PROPERTIES, - hwndRenderTarget: *mut *mut ID2D1HwndRenderTarget, - ) -> HRESULT, - fn CreateDxgiSurfaceRenderTarget( - dxgiSurface: *mut IDXGISurface, - renderTargetProperties: *const D2D1_RENDER_TARGET_PROPERTIES, - renderTarget: *mut *mut ID2D1RenderTarget, - ) -> HRESULT, - fn CreateDCRenderTarget( - renderTargetProperties: *const D2D1_RENDER_TARGET_PROPERTIES, - dcRenderTarget: *mut *mut ID2D1DCRenderTarget, - ) -> HRESULT, -}} -extern "system" { - pub fn D2D1CreateFactory( - factoryType: D2D1_FACTORY_TYPE, - riid: REFIID, - pFactoryOptions: *const D2D1_FACTORY_OPTIONS, - ppIFactory: *mut *mut c_void, - ) -> HRESULT; - pub fn D2D1MakeRotateMatrix( - angle: FLOAT, - center: D2D1_POINT_2F, - matrix: *mut D2D1_MATRIX_3X2_F, - ); - pub fn D2D1MakeSkewMatrix( - angleX: FLOAT, - angleY: FLOAT, - center: D2D1_POINT_2F, - matrix: *mut D2D1_MATRIX_3X2_F, - ); - pub fn D2D1IsMatrixInvertible( - matrix: *const D2D1_MATRIX_3X2_F, - ) -> BOOL; - pub fn D2D1InvertMatrix( - matrix: *mut D2D1_MATRIX_3X2_F, - ) -> BOOL; - pub fn D2D1ComputeMaximumScaleFactor( - matrix: *const D2D1_MATRIX_3X2_F, - ) -> FLOAT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d2d1_1.rs b/vendor/registry-40351f815f426200/winapi/src/um/d2d1_1.rs deleted file mode 100644 index 8217e30ab..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d2d1_1.rs +++ /dev/null @@ -1,847 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of d2d1_1.h -use ctypes::c_void; -use shared::basetsd::{UINT32, UINT64}; -use shared::dxgi::{IDXGIDevice, IDXGISurface}; -use shared::dxgiformat::DXGI_FORMAT; -use shared::guiddef::{CLSID, REFCLSID}; -use shared::minwindef::{BOOL, BYTE, DWORD, FLOAT}; -use um::d2d1::{ - D2D1_ANTIALIAS_MODE, D2D1_BRUSH_PROPERTIES, D2D1_CAP_STYLE, D2D1_COLOR_F, - D2D1_DASH_STYLE, D2D1_DEBUG_LEVEL, D2D1_EXTEND_MODE, D2D1_GRADIENT_STOP, - D2D1_INTERPOLATION_MODE_DEFINITION_ANISOTROPIC, D2D1_INTERPOLATION_MODE_DEFINITION_CUBIC, - D2D1_INTERPOLATION_MODE_DEFINITION_HIGH_QUALITY_CUBIC, - D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR, - D2D1_INTERPOLATION_MODE_DEFINITION_MULTI_SAMPLE_LINEAR, - D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR, D2D1_LINE_JOIN, D2D1_MATRIX_3X2_F, - D2D1_POINT_2F, D2D1_RECT_F, D2D1_SIZE_U, D2D1_TAG, D2D1_TEXT_ANTIALIAS_MODE, ID2D1Bitmap, - ID2D1BitmapBrush, ID2D1BitmapBrushVtbl, ID2D1BitmapVtbl, ID2D1Brush, ID2D1BrushVtbl, - ID2D1DrawingStateBlock, ID2D1DrawingStateBlockVtbl, ID2D1Factory, ID2D1FactoryVtbl, - ID2D1Geometry, ID2D1GradientStopCollection, ID2D1GradientStopCollectionVtbl, ID2D1Image, - ID2D1ImageVtbl, ID2D1Layer, ID2D1Mesh, ID2D1PathGeometry, ID2D1PathGeometryVtbl, - ID2D1RenderTarget, ID2D1RenderTargetVtbl, ID2D1Resource, ID2D1ResourceVtbl, ID2D1StrokeStyle, - ID2D1StrokeStyleVtbl, -}; -use um::d2d1effectauthor::D2D1_PROPERTY_BINDING; -use um::d2dbasetypes::D2D_SIZE_F; -use um::dcommon::{D2D1_PIXEL_FORMAT, DWRITE_MEASURING_MODE}; -use um::documenttarget::IPrintDocumentPackageTarget; -use um::dwrite::{DWRITE_GLYPH_RUN, DWRITE_GLYPH_RUN_DESCRIPTION, IDWriteRenderingParams}; -use um::objidlbase::IStream; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::wincodec::{IWICBitmapSource, IWICColorContext, IWICImagingFactory}; -use um::winnt::{HRESULT, PCWSTR, PWSTR}; -FN!{stdcall PD2D1_EFFECT_FACTORY( - effectImpl: *mut *mut IUnknown, -) -> HRESULT} -pub use um::d2dbasetypes::D2D_RECT_L as D2D1_RECT_L; -pub use um::d2dbasetypes::D2D_POINT_2L as D2D1_POINT_2L; -ENUM!{enum D2D1_PROPERTY_TYPE { - D2D1_PROPERTY_TYPE_UNKNOWN = 0, - D2D1_PROPERTY_TYPE_STRING = 1, - D2D1_PROPERTY_TYPE_BOOL = 2, - D2D1_PROPERTY_TYPE_UINT32 = 3, - D2D1_PROPERTY_TYPE_INT32 = 4, - D2D1_PROPERTY_TYPE_FLOAT = 5, - D2D1_PROPERTY_TYPE_VECTOR2 = 6, - D2D1_PROPERTY_TYPE_VECTOR3 = 7, - D2D1_PROPERTY_TYPE_VECTOR4 = 8, - D2D1_PROPERTY_TYPE_BLOB = 9, - D2D1_PROPERTY_TYPE_IUNKNOWN = 10, - D2D1_PROPERTY_TYPE_ENUM = 11, - D2D1_PROPERTY_TYPE_ARRAY = 12, - D2D1_PROPERTY_TYPE_CLSID = 13, - D2D1_PROPERTY_TYPE_MATRIX_3X2 = 14, - D2D1_PROPERTY_TYPE_MATRIX_4X3 = 15, - D2D1_PROPERTY_TYPE_MATRIX_4X4 = 16, - D2D1_PROPERTY_TYPE_MATRIX_5X4 = 17, - D2D1_PROPERTY_TYPE_COLOR_CONTEXT = 18, - D2D1_PROPERTY_TYPE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_PROPERTY { - D2D1_PROPERTY_CLSID = 0x80000000, - D2D1_PROPERTY_DISPLAYNAME = 0x80000001, - D2D1_PROPERTY_AUTHOR = 0x80000002, - D2D1_PROPERTY_CATEGORY = 0x80000003, - D2D1_PROPERTY_DESCRIPTION = 0x80000004, - D2D1_PROPERTY_INPUTS = 0x80000005, - D2D1_PROPERTY_CACHED = 0x80000006, - D2D1_PROPERTY_PRECISION = 0x80000007, - D2D1_PROPERTY_MIN_INPUTS = 0x80000008, - D2D1_PROPERTY_MAX_INPUTS = 0x80000009, - D2D1_PROPERTY_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_SUBPROPERTY { - D2D1_SUBPROPERTY_DISPLAYNAME = 0x80000000, - D2D1_SUBPROPERTY_ISREADONLY = 0x80000001, - D2D1_SUBPROPERTY_MIN = 0x80000002, - D2D1_SUBPROPERTY_MAX = 0x80000003, - D2D1_SUBPROPERTY_DEFAULT = 0x80000004, - D2D1_SUBPROPERTY_FIELDS = 0x80000005, - D2D1_SUBPROPERTY_INDEX = 0x80000006, - D2D1_SUBPROPERTY_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_BITMAP_OPTIONS { - D2D1_BITMAP_OPTIONS_NONE = 0x00000000, - D2D1_BITMAP_OPTIONS_TARGET = 0x00000001, - D2D1_BITMAP_OPTIONS_CANNOT_DRAW = 0x00000002, - D2D1_BITMAP_OPTIONS_CPU_READ = 0x00000004, - D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE = 0x00000008, - D2D1_BITMAP_OPTIONS_FORCE_DWORD = 0xffffffff, -}} -// DEFINE_ENUM_FLAG_OPERATORS(D2D1_BITMAP_OPTIONS); -ENUM!{enum D2D1_COMPOSITE_MODE { - D2D1_COMPOSITE_MODE_SOURCE_OVER = 0, - D2D1_COMPOSITE_MODE_DESTINATION_OVER = 1, - D2D1_COMPOSITE_MODE_SOURCE_IN = 2, - D2D1_COMPOSITE_MODE_DESTINATION_IN = 3, - D2D1_COMPOSITE_MODE_SOURCE_OUT = 4, - D2D1_COMPOSITE_MODE_DESTINATION_OUT = 5, - D2D1_COMPOSITE_MODE_SOURCE_ATOP = 6, - D2D1_COMPOSITE_MODE_DESTINATION_ATOP = 7, - D2D1_COMPOSITE_MODE_XOR = 8, - D2D1_COMPOSITE_MODE_PLUS = 9, - D2D1_COMPOSITE_MODE_SOURCE_COPY = 10, - D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY = 11, - D2D1_COMPOSITE_MODE_MASK_INVERT = 12, - D2D1_COMPOSITE_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_BUFFER_PRECISION { - D2D1_BUFFER_PRECISION_UNKNOWN = 0, - D2D1_BUFFER_PRECISION_8BPC_UNORM = 1, - D2D1_BUFFER_PRECISION_8BPC_UNORM_SRGB = 2, - D2D1_BUFFER_PRECISION_16BPC_UNORM = 3, - D2D1_BUFFER_PRECISION_16BPC_FLOAT = 4, - D2D1_BUFFER_PRECISION_32BPC_FLOAT = 5, - D2D1_BUFFER_PRECISION_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_MAP_OPTIONS { - D2D1_MAP_OPTIONS_NONE = 0, - D2D1_MAP_OPTIONS_READ = 1, - D2D1_MAP_OPTIONS_WRITE = 2, - D2D1_MAP_OPTIONS_DISCARD = 4, - D2D1_MAP_OPTIONS_FORCE_DWORD = 0xffffffff, -}} -//DEFINE_ENUM_FLAG_OPERATORS(D2D1_MAP_OPTIONS); -ENUM!{enum D2D1_INTERPOLATION_MODE { - D2D1_INTERPOLATION_MODE_NEAREST_NEIGHBOR = D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR, - D2D1_INTERPOLATION_MODE_LINEAR = D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR, - D2D1_INTERPOLATION_MODE_CUBIC = D2D1_INTERPOLATION_MODE_DEFINITION_CUBIC, - D2D1_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR - = D2D1_INTERPOLATION_MODE_DEFINITION_MULTI_SAMPLE_LINEAR, - D2D1_INTERPOLATION_MODE_ANISOTROPIC = D2D1_INTERPOLATION_MODE_DEFINITION_ANISOTROPIC, - D2D1_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC - = D2D1_INTERPOLATION_MODE_DEFINITION_HIGH_QUALITY_CUBIC, - D2D1_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_UNIT_MODE { - D2D1_UNIT_MODE_DIPS = 0, - D2D1_UNIT_MODE_PIXELS = 1, - D2D1_UNIT_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_COLOR_SPACE { - D2D1_COLOR_SPACE_CUSTOM = 0, - D2D1_COLOR_SPACE_SRGB = 1, - D2D1_COLOR_SPACE_SCRGB = 2, - D2D1_COLOR_SPACE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_DEVICE_CONTEXT_OPTIONS { - D2D1_DEVICE_CONTEXT_OPTIONS_NONE = 0, - D2D1_DEVICE_CONTEXT_OPTIONS_ENABLE_MULTITHREADED_OPTIMIZATIONS = 1, - D2D1_DEVICE_CONTEXT_OPTIONS_FORCE_DWORD = 0xffffffff, -}} -//DEFINE_ENUM_FLAG_OPERATORS(D2D1_DEVICE_CONTEXT_OPTIONS); -ENUM!{enum D2D1_STROKE_TRANSFORM_TYPE { - D2D1_STROKE_TRANSFORM_TYPE_NORMAL = 0, - D2D1_STROKE_TRANSFORM_TYPE_FIXED = 1, - D2D1_STROKE_TRANSFORM_TYPE_HAIRLINE = 2, - D2D1_STROKE_TRANSFORM_TYPE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_PRIMITIVE_BLEND { - D2D1_PRIMITIVE_BLEND_SOURCE_OVER = 0, - D2D1_PRIMITIVE_BLEND_COPY = 1, - D2D1_PRIMITIVE_BLEND_MIN = 2, - D2D1_PRIMITIVE_BLEND_ADD = 3, - D2D1_PRIMITIVE_BLEND_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_THREADING_MODE { - D2D1_THREADING_MODE_SINGLE_THREADED = super::d2d1::D2D1_FACTORY_TYPE_SINGLE_THREADED, - D2D1_THREADING_MODE_MULTI_THREADED = super::d2d1::D2D1_FACTORY_TYPE_MULTI_THREADED, - D2D1_THREADING_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_COLOR_INTERPOLATION_MODE { - D2D1_COLOR_INTERPOLATION_MODE_STRAIGHT = 0, - D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED = 1, - D2D1_COLOR_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff, -}} -pub use um::d2dbasetypes::D2D_VECTOR_2F as D2D1_VECTOR_2F; -pub use um::d2dbasetypes::D2D_VECTOR_3F as D2D1_VECTOR_3F; -pub use um::d2dbasetypes::D2D_VECTOR_4F as D2D1_VECTOR_4F; -STRUCT!{struct D2D1_BITMAP_PROPERTIES1 { - pixelFormat: D2D1_PIXEL_FORMAT, - dpiX: FLOAT, - dpiY: FLOAT, - bitmapOptions: D2D1_BITMAP_OPTIONS, - colorContext: *const ID2D1ColorContext, -}} -STRUCT!{struct D2D1_MAPPED_RECT { - pitch: UINT32, - bits: *const BYTE, -}} -STRUCT!{struct D2D1_RENDERING_CONTROLS { - bufferPrecision: D2D1_BUFFER_PRECISION, - tileSize: D2D1_SIZE_U, -}} -STRUCT!{struct D2D1_EFFECT_INPUT_DESCRIPTION { - effect: *const ID2D1Effect, - inputIndex: UINT32, - inputRectangle: D2D1_RECT_F, -}} -pub use um::d2dbasetypes::D2D_MATRIX_4X3_F as D2D1_MATRIX_4X3_F; -pub use um::d2dbasetypes::D2D_MATRIX_4X4_F as D2D1_MATRIX_4X4_F; -pub use um::d2dbasetypes::D2D_MATRIX_5X4_F as D2D1_MATRIX_5X4_F; -STRUCT!{struct D2D1_POINT_DESCRIPTION { - point: D2D1_POINT_2F, - unitTangentVector: D2D1_POINT_2F, - endSegment: UINT32, - endFigure: UINT32, - lengthToEndSegment: FLOAT, -}} -STRUCT!{struct D2D1_IMAGE_BRUSH_PROPERTIES { - sourceRectangle: D2D1_RECT_F, - extendModeX: D2D1_EXTEND_MODE, - extendModeY: D2D1_EXTEND_MODE, - interpolationMode: D2D1_INTERPOLATION_MODE, -}} -STRUCT!{struct D2D1_BITMAP_BRUSH_PROPERTIES1 { - extendModeX: D2D1_EXTEND_MODE, - extendModeY: D2D1_EXTEND_MODE, - interpolationMode: D2D1_INTERPOLATION_MODE, -}} -STRUCT!{struct D2D1_STROKE_STYLE_PROPERTIES1 { - startCap: D2D1_CAP_STYLE, - endCap: D2D1_CAP_STYLE, - dashCap: D2D1_CAP_STYLE, - lineJoin: D2D1_LINE_JOIN, - miterLimit: FLOAT, - dashStyle: D2D1_DASH_STYLE, - dashOffset: FLOAT, - transformType: D2D1_STROKE_TRANSFORM_TYPE, -}} -ENUM!{enum D2D1_LAYER_OPTIONS1 { - D2D1_LAYER_OPTIONS1_NONE = 0, - D2D1_LAYER_OPTIONS1_INITIALIZE_FROM_BACKGROUND = 1, - D2D1_LAYER_OPTIONS1_IGNORE_ALPHA = 2, - D2D1_LAYER_OPTIONS1_FORCE_DWORD = 0xffffffff, -}} -//DEFINE_ENUM_FLAG_OPERATORS(D2D1_LAYER_OPTIONS1); -STRUCT!{struct D2D1_LAYER_PARAMETERS1 { - contentBounds: D2D1_RECT_F, - geometricMask: *const ID2D1Geometry, - maskAntialiasMode: D2D1_ANTIALIAS_MODE, - maskTransform: D2D1_MATRIX_3X2_F, - opacity: FLOAT, - opacityBrush: *const ID2D1Brush, - layerOptions: D2D1_LAYER_OPTIONS1, -}} -ENUM!{enum D2D1_PRINT_FONT_SUBSET_MODE { - D2D1_PRINT_FONT_SUBSET_MODE_DEFAULT = 0, - D2D1_PRINT_FONT_SUBSET_MODE_EACHPAGE = 1, - D2D1_PRINT_FONT_SUBSET_MODE_NONE = 2, - D2D1_PRINT_FONT_SUBSET_MODE_FORCE_DWORD = 0xffffffff, -}} -STRUCT!{struct D2D1_DRAWING_STATE_DESCRIPTION1 { - antialiasMode: D2D1_ANTIALIAS_MODE, - textAntialiasMode: D2D1_TEXT_ANTIALIAS_MODE, - tag1: D2D1_TAG, - tag2: D2D1_TAG, - transform: D2D1_MATRIX_3X2_F, - primitiveBlend: D2D1_PRIMITIVE_BLEND, - unitMode: D2D1_UNIT_MODE, -}} -STRUCT!{struct D2D1_PRINT_CONTROL_PROPERTIES { - fontSubset: D2D1_PRINT_FONT_SUBSET_MODE, - rasterDPI: FLOAT, - colorSpace: D2D1_COLOR_SPACE, -}} -STRUCT!{struct D2D1_CREATION_PROPERTIES { - threadingMode: D2D1_THREADING_MODE, - debugLevel: D2D1_DEBUG_LEVEL, - options: D2D1_DEVICE_CONTEXT_OPTIONS, -}} -RIDL!{#[uuid(0x82237326, 0x8111, 0x4f7c, 0xbc, 0xf4, 0xb5, 0xc1, 0x17, 0x55, 0x64, 0xfe)] -interface ID2D1GdiMetafileSink(ID2D1GdiMetafileSinkVtbl): IUnknown(IUnknownVtbl) { - fn ProcessRecord( - recordType: DWORD, - recordData: *const c_void, - recordDataSize: DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2f543dc3, 0xcfc1, 0x4211, 0x86, 0x4f, 0xcf, 0xd9, 0x1c, 0x6f, 0x33, 0x95)] -interface ID2D1GdiMetafile(ID2D1GdiMetafileVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn Stream( - sink: *const ID2D1GdiMetafileSink, - ) -> HRESULT, - fn GetBounds( - bounds: *mut D2D1_RECT_F, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x54d7898a, 0xa061, 0x40a7, 0xbe, 0xc7, 0xe4, 0x65, 0xbc, 0xba, 0x2c, 0x4f)] -interface ID2D1CommandSink(ID2D1CommandSinkVtbl): IUnknown(IUnknownVtbl) { - fn BeginDraw() -> HRESULT, - fn EndDraw() -> HRESULT, - fn SetAntialiasMode( - antialiasMode: D2D1_ANTIALIAS_MODE, - ) -> HRESULT, - fn SetTags( - tag1: D2D1_TAG, - tag2: D2D1_TAG, - ) -> HRESULT, - fn SetTextAntialiasMode( - textAntialiasMode: D2D1_TEXT_ANTIALIAS_MODE, - ) -> HRESULT, - fn SetTextRenderingParams( - textRenderingParams: *const IDWriteRenderingParams, - ) -> HRESULT, - fn SetTransform( - transform: *const D2D1_MATRIX_3X2_F, - ) -> HRESULT, - fn SetPrimitiveBlend( - primitiveBlend: D2D1_PRIMITIVE_BLEND, - ) -> HRESULT, - fn SetUnitMode( - unitMode: D2D1_UNIT_MODE, - ) -> HRESULT, - fn Clear( - color: *const D2D1_COLOR_F, - ) -> HRESULT, - fn DrawGlyphRun( - baselineOrigin: D2D1_POINT_2F, - glyphRun: *const DWRITE_GLYPH_RUN, - glyphRunDescription: *const DWRITE_GLYPH_RUN_DESCRIPTION, - foregroundBrush: *const ID2D1Brush, - measuringMode: DWRITE_MEASURING_MODE, - ) -> HRESULT, - fn DrawLine( - point0: D2D1_POINT_2F, - point1: D2D1_POINT_2F, - brush: *const ID2D1Brush, - strokeWidth: FLOAT, - strokeStyle: *const ID2D1StrokeStyle, - ) -> HRESULT, - fn DrawGeometry( - geometry: *const ID2D1Geometry, - brush: *const ID2D1Brush, - strokeWidth: FLOAT, - strokeStyle: *const ID2D1StrokeStyle, - ) -> HRESULT, - fn DrawRectangle( - rect: *const D2D1_RECT_F, - brush: *const ID2D1Brush, - strokeWidth: FLOAT, - strokeStyle: *const ID2D1StrokeStyle, - ) -> HRESULT, - fn DrawBitmap( - bitmap: *const ID2D1Bitmap, - destinationRectangle: *const D2D1_RECT_F, - opacity: FLOAT, - interpolationMode: D2D1_INTERPOLATION_MODE, - sourceRectangle: *const D2D1_RECT_F, - perspectiveTransform: *const D2D1_MATRIX_4X4_F, - ) -> HRESULT, - fn DrawImage( - image: *const ID2D1Image, - targetOffset: *const D2D1_POINT_2F, - imageRectangle: *const D2D1_RECT_F, - interpolationMode: D2D1_INTERPOLATION_MODE, - compositeMode: D2D1_COMPOSITE_MODE, - ) -> HRESULT, - fn DrawGdiMetafile( - gdiMetafile: *const ID2D1GdiMetafile, - targetOffset: *const D2D1_POINT_2F, - ) -> HRESULT, - fn FillMesh( - mesh: *const ID2D1Mesh, - brush: *const ID2D1Brush, - ) -> HRESULT, - fn FillOpacityMask( - opacityMask: *const ID2D1Bitmap, - brush: *const ID2D1Brush, - destinationRectangle: *const D2D1_RECT_F, - sourceRectangle: *const D2D1_RECT_F, - ) -> HRESULT, - fn FillGeometry( - geometry: *const ID2D1Geometry, - brush: *const ID2D1Brush, - opacityBrush: *const ID2D1Brush, - ) -> HRESULT, - fn FillRectangle( - rect: *const D2D1_RECT_F, - brush: *const ID2D1Brush, - ) -> HRESULT, - fn PushAxisAlignedClip( - clipRect: *const D2D1_RECT_F, - antialiasMode: D2D1_ANTIALIAS_MODE, - ) -> HRESULT, - fn PushLayer( - layerParameters1: *const D2D1_LAYER_PARAMETERS1, - layer: *const ID2D1Layer, - ) -> HRESULT, - fn PopAxisAlignedClip() -> HRESULT, - fn PopLayer() -> HRESULT, -}} -RIDL!{#[uuid(0xb4f34a19, 0x2383, 0x4d76, 0x94, 0xf6, 0xec, 0x34, 0x36, 0x57, 0xc3, 0xdc)] -interface ID2D1CommandList(ID2D1CommandListVtbl): ID2D1Image(ID2D1ImageVtbl) { - fn Stream( - sink: *const ID2D1CommandSink, - ) -> HRESULT, - fn Close() -> HRESULT, -}} -RIDL!{#[uuid(0x2c1d867d, 0xc290, 0x41c8, 0xae, 0x7e, 0x34, 0xa9, 0x87, 0x02, 0xe9, 0xa5)] -interface ID2D1PrintControl(ID2D1PrintControlVtbl): IUnknown(IUnknownVtbl) { - fn AddPage( - commandList: *const ID2D1CommandList, - pageSize: D2D_SIZE_F, - pagePrintTicketStream: *const IStream, - tag1: *mut D2D1_TAG, - tag2: *mut D2D1_TAG, - ) -> HRESULT, - fn Close() -> HRESULT, -}} -RIDL!{#[uuid(0xfe9e984d, 0x3f95, 0x407c, 0xb5, 0xdb, 0xcb, 0x94, 0xd4, 0xe8, 0xf8, 0x7c)] -interface ID2D1ImageBrush(ID2D1ImageBrushVtbl): ID2D1Brush(ID2D1BrushVtbl) { - fn SetImage( - image: *const ID2D1Image, - ) -> (), - fn SetExtendModeX( - extendModeX: D2D1_EXTEND_MODE, - ) -> (), - fn SetExtendModeY( - extendModeY: D2D1_EXTEND_MODE, - ) -> (), - fn SetInterpolationMode( - interpolationMode: D2D1_INTERPOLATION_MODE, - ) -> (), - fn SetSourceRectangle( - sourceRectangle: *const D2D1_RECT_F, - ) -> (), - fn GetImage( - image: *mut *mut ID2D1Image, - ) -> (), - fn GetExtendModeX() -> D2D1_EXTEND_MODE, - fn GetExtendModeY() -> D2D1_EXTEND_MODE, - fn GetInterpolationMode() -> D2D1_INTERPOLATION_MODE, - fn GetSourceRectangle( - sourceRectangle: *mut D2D1_RECT_F, - ) -> (), -}} -RIDL!{#[uuid(0x41343a53, 0xe41a, 0x49a2, 0x91, 0xcd, 0x21, 0x79, 0x3b, 0xbb, 0x62, 0xe5)] -interface ID2D1BitmapBrush1(ID2D1BitmapBrush1Vtbl): ID2D1BitmapBrush(ID2D1BitmapBrushVtbl) { - fn SetInterpolationMode1( - interpolationMode: D2D1_INTERPOLATION_MODE, - ) -> (), - fn GetInterpolationMode1() -> D2D1_INTERPOLATION_MODE, -}} -RIDL!{#[uuid(0x10a72a66, 0xe91c, 0x43f4, 0x99, 0x3f, 0xdd, 0xf4, 0xb8, 0x2b, 0x0b, 0x4a)] -interface ID2D1StrokeStyle1(ID2D1StrokeStyle1Vtbl): ID2D1StrokeStyle(ID2D1StrokeStyleVtbl) { - fn GetStrokeTransformType() -> D2D1_STROKE_TRANSFORM_TYPE, -}} -RIDL!{#[uuid(0x62baa2d2, 0xab54, 0x41b7, 0xb8, 0x72, 0x78, 0x7e, 0x01, 0x06, 0xa4, 0x21)] -interface ID2D1PathGeometry1(ID2D1PathGeometry1Vtbl): ID2D1PathGeometry(ID2D1PathGeometryVtbl) { - fn ComputePointAndSegmentAtLength( - length: FLOAT, - startSegment: UINT32, - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - pointDescription: *mut D2D1_POINT_DESCRIPTION, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x483473d7, 0xcd46, 0x4f9d, 0x9d, 0x3a, 0x31, 0x12, 0xaa, 0x80, 0x15, 0x9d)] -interface ID2D1Properties(ID2D1PropertiesVtbl): IUnknown(IUnknownVtbl) { - fn GetPropertyCount() -> UINT32, - fn GetPropertyName( - index: UINT32, - name: PWSTR, - nameCount: UINT32, - ) -> HRESULT, - fn GetPropertyNameLength( - index: UINT32, - ) -> UINT32, - fn GetType( - index: UINT32, - ) -> D2D1_PROPERTY_TYPE, - fn GetPropertyIndex( - name: PCWSTR, - ) -> UINT32, - fn SetValueByName( - name: PCWSTR, - prop_type: D2D1_PROPERTY_TYPE, - data: *const BYTE, - dataSize: UINT32, - ) -> HRESULT, - fn SetValue( - index: UINT32, - prop_type: D2D1_PROPERTY_TYPE, - data: *const BYTE, - dataSize: UINT32, - ) -> HRESULT, - fn GetValueByName( - name: PCWSTR, - prop_type: D2D1_PROPERTY_TYPE, - data: *mut BYTE, - dataSize: UINT32, - ) -> HRESULT, - fn GetValue( - index: UINT32, - prop_type: D2D1_PROPERTY_TYPE, - data: *mut BYTE, - dataSize: UINT32, - ) -> HRESULT, - fn GetValueSize( - index: UINT32, - ) -> UINT32, - fn GetSubProperties( - index: UINT32, - subProperties: *mut *mut ID2D1Properties, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x28211a43, 0x7d89, 0x476f, 0x81, 0x81, 0x2d, 0x61, 0x59, 0xb2, 0x20, 0xad)] -interface ID2D1Effect(ID2D1EffectVtbl): ID2D1Properties(ID2D1PropertiesVtbl) { - fn SetInput( - index: UINT32, - input: *const ID2D1Image, - invalidate: BOOL, - ) -> (), - fn SetInputCount( - inputCount: UINT32, - ) -> HRESULT, - fn GetInput( - index: UINT32, - input: *mut *mut ID2D1Image, - ) -> (), - fn GetInputCount() -> UINT32, - fn GetOutput( - outputImage: *mut *mut ID2D1Image, - ) -> (), -}} -RIDL!{#[uuid(0xa898a84c, 0x3873, 0x4588, 0xb0, 0x8b, 0xeb, 0xbf, 0x97, 0x8d, 0xf0, 0x41)] -interface ID2D1Bitmap1(ID2D1Bitmap1Vtbl): ID2D1Bitmap(ID2D1BitmapVtbl) { - fn GetColorContext( - colorContext: *mut *mut ID2D1ColorContext, - ) -> (), - fn GetOptions() -> D2D1_BITMAP_OPTIONS, - fn GetSurface( - dxgiSurface: *mut *mut IDXGISurface, - ) -> HRESULT, - fn Map( - options: D2D1_MAP_OPTIONS, - mappedRect: *mut D2D1_MAPPED_RECT, - ) -> HRESULT, - fn Unmap() -> HRESULT, -}} -RIDL!{#[uuid(0x1c4820bb, 0x5771, 0x4518, 0xa5, 0x81, 0x2f, 0xe4, 0xdd, 0x0e, 0xc6, 0x57)] -interface ID2D1ColorContext(ID2D1ColorContextVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn GetColorSpace() -> D2D1_COLOR_SPACE, - fn GetProfileSize() -> UINT32, - fn GetProfile( - profile: *mut BYTE, - profileSize: UINT32, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xae1572f4, 0x5dd0, 0x4777, 0x99, 0x8b, 0x92, 0x79, 0x47, 0x2a, 0xe6, 0x3b)] -interface ID2D1GradientStopCollection1(ID2D1GradientStopCollection1Vtbl): - ID2D1GradientStopCollection(ID2D1GradientStopCollectionVtbl) { - fn GetGradientStops1( - gradientStops: *mut D2D1_GRADIENT_STOP, - gradientStopsCount: UINT32, - ) -> (), - fn GetPreInterpolationSpace() -> D2D1_COLOR_SPACE, - fn GetPostInterpolationSpace() -> D2D1_COLOR_SPACE, - fn GetBufferPrecision() -> D2D1_BUFFER_PRECISION, - fn GetColorInterpolationMode() -> D2D1_COLOR_INTERPOLATION_MODE, -}} -RIDL!{#[uuid(0x689f1f85, 0xc72e, 0x4e33, 0x8f, 0x19, 0x85, 0x75, 0x4e, 0xfd, 0x5a, 0xce)] -interface ID2D1DrawingStateBlock1(ID2D1DrawingStateBlock1Vtbl): - ID2D1DrawingStateBlock(ID2D1DrawingStateBlockVtbl) { - fn GetDescription( - stateDescription: *mut D2D1_DRAWING_STATE_DESCRIPTION1, - ) -> (), - fn SetDescription( - stateDescription: *const D2D1_DRAWING_STATE_DESCRIPTION1, - ) -> (), -}} -RIDL!{#[uuid(0xe8f7fe7a, 0x191c, 0x466d, 0xad, 0x95, 0x97, 0x56, 0x78, 0xbd, 0xa9, 0x98)] -interface ID2D1DeviceContext(ID2D1DeviceContextVtbl): ID2D1RenderTarget(ID2D1RenderTargetVtbl) { - fn CreateBitmap( - size: D2D1_SIZE_U, - sourceData: *const c_void, - pitch: UINT32, - bitmapProperties: *const D2D1_BITMAP_PROPERTIES1, - bitmap: *mut *mut ID2D1Bitmap1, - ) -> HRESULT, - fn CreateBitmapFromWicBitmap( - wicBitmapSource: *const IWICBitmapSource, - bitmapProperties: *const D2D1_BITMAP_PROPERTIES1, - bitmap: *mut *mut ID2D1Bitmap1, - ) -> HRESULT, - fn CreateColorContext( - space: D2D1_COLOR_SPACE, - profile: *const BYTE, - profileSize: UINT32, - colorContext: *mut *mut ID2D1ColorContext, - ) -> HRESULT, - fn CreateColorContextFromFilename( - filename: PCWSTR, - colorContext: *mut *mut ID2D1ColorContext, - ) -> HRESULT, - fn CreateColorContextFromWicColorContext( - wicColorContext: *const IWICColorContext, - colorContext: *mut *mut ID2D1ColorContext, - ) -> HRESULT, - fn CreateBitmapFromDxgiSurface( - surface: *const IDXGISurface, - bitmapProperties: *const D2D1_BITMAP_PROPERTIES1, - bitmap: *mut *mut ID2D1Bitmap1, - ) -> HRESULT, - fn CreateEffect( - effectId: REFCLSID, - effect: *mut *mut ID2D1Effect, - ) -> HRESULT, - fn CreateGradientStopCollection( - straightAlphaGradientStops: *const D2D1_GRADIENT_STOP, - straightAlphaGradientStopsCount: UINT32, - preInterpolationSpace: D2D1_COLOR_SPACE, - postInterpolationSpace: D2D1_COLOR_SPACE, - bufferPrecision: D2D1_BUFFER_PRECISION, - extendMode: D2D1_EXTEND_MODE, - colorInterpolationMode: D2D1_COLOR_INTERPOLATION_MODE, - gradientStopCollection1: *mut *mut ID2D1GradientStopCollection1, - ) -> HRESULT, - fn CreateImageBrush( - image: *const ID2D1Image, - imageBrushProperties: *const D2D1_IMAGE_BRUSH_PROPERTIES, - brushProperties: *const D2D1_BRUSH_PROPERTIES, - imageBrush: *mut *mut ID2D1ImageBrush, - ) -> HRESULT, - fn CreateBitmapBrush( - bitmap: *const ID2D1Bitmap, - bitmapBrushProperties: *const D2D1_BITMAP_BRUSH_PROPERTIES1, - brushProperties: *const D2D1_BRUSH_PROPERTIES, - bitmapBrush: *mut *mut ID2D1BitmapBrush1, - ) -> HRESULT, - fn CreateCommandList( - commandList: *mut *mut ID2D1CommandList, - ) -> HRESULT, - fn IsDxgiFormatSupported( - format: DXGI_FORMAT, - ) -> BOOL, - fn IsBufferPrecisionSupported( - bufferPrecision: D2D1_BUFFER_PRECISION, - ) -> BOOL, - fn GetImageLocalBounds( - image: *const ID2D1Image, - localBounds: *mut D2D1_RECT_F, - ) -> HRESULT, - fn GetImageWorldBounds( - image: *const ID2D1Image, - worldBounds: *mut D2D1_RECT_F, - ) -> HRESULT, - fn GetGlyphRunWorldBounds( - baselineOrigin: D2D1_POINT_2F, - glyphRun: *const DWRITE_GLYPH_RUN, - measuringMode: DWRITE_MEASURING_MODE, - bounds: *mut D2D1_RECT_F, - ) -> HRESULT, - fn GetDevice( - device: *mut *mut ID2D1Device, - ) -> (), - fn SetTarget( - image: *const ID2D1Image, - ) -> (), - fn GetTarget( - image: *mut *mut ID2D1Image, - ) -> (), - fn SetRenderingControls( - renderingControls: *const D2D1_RENDERING_CONTROLS, - ) -> (), - fn GetRenderingControls( - renderingControls: *mut D2D1_RENDERING_CONTROLS, - ) -> (), - fn SetPrimitiveBlend( - primitiveBlend: D2D1_PRIMITIVE_BLEND, - ) -> (), - fn GetPrimitiveBlend() -> D2D1_PRIMITIVE_BLEND, - fn SetUnitMode( - unitMode: D2D1_UNIT_MODE, - ) -> (), - fn GetUnitMode() -> D2D1_UNIT_MODE, - fn DrawGlyphRun( - baselineOrigin: D2D1_POINT_2F, - glyphRun: *const DWRITE_GLYPH_RUN, - glyphRunDescription: *const DWRITE_GLYPH_RUN_DESCRIPTION, - foregroundBrush: *const ID2D1Brush, - measuringMode: DWRITE_MEASURING_MODE, - ) -> (), - fn DrawImage( - image: *const ID2D1Image, - targetOffset: *const D2D1_POINT_2F, - imageRectangle: *const D2D1_RECT_F, - interpolationMode: D2D1_INTERPOLATION_MODE, - compositeMode: D2D1_COMPOSITE_MODE, - ) -> (), - fn DrawGdiMetafile( - gdiMetafile: *const ID2D1GdiMetafile, - targetOffset: *const D2D1_POINT_2F, - ) -> (), - fn DrawBitmap( - bitmap: *const ID2D1Bitmap, - destinationRectangle: *const D2D1_RECT_F, - opacity: FLOAT, - interpolationMode: D2D1_INTERPOLATION_MODE, - sourceRectangle: *const D2D1_RECT_F, - perspectiveTransform: *const D2D1_MATRIX_4X4_F, - ) -> (), - fn PushLayer( - layerParameters: *const D2D1_LAYER_PARAMETERS1, - layer: *const ID2D1Layer, - ) -> (), - fn InvalidateEffectInputRectangle( - effect: *const ID2D1Effect, - input: UINT32, - inputRectangle: *const D2D1_RECT_F, - ) -> HRESULT, - fn GetEffectInvalidRectangleCount( - effect: *const ID2D1Effect, - rectangleCount: *mut UINT32, - ) -> HRESULT, - fn GetEffectInvalidRectangles( - effect: *const ID2D1Effect, - rectangles: *mut D2D1_RECT_F, - rectanglesCount: UINT32, - ) -> HRESULT, - fn GetEffectRequiredInputRectangles( - renderEffect: *const ID2D1Effect, - renderImageRectangle: *const D2D1_RECT_F, - inputDescriptions: *const D2D1_EFFECT_INPUT_DESCRIPTION, - requiredInputRects: *mut D2D1_RECT_F, - inputCount: UINT32, - ) -> HRESULT, - fn FillOpacityMask( - opacityMask: *const ID2D1Bitmap, - brush: *const ID2D1Brush, - destinationRectangle: *const D2D1_RECT_F, - sourceRectangle: *const D2D1_RECT_F, - ) -> (), -}} -RIDL!{#[uuid(0x47dd575d, 0xac05, 0x4cdd, 0x80, 0x49, 0x9b, 0x02, 0xcd, 0x16, 0xf4, 0x4c)] -interface ID2D1Device(ID2D1DeviceVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn CreateDeviceContext( - options: D2D1_DEVICE_CONTEXT_OPTIONS, - deviceContext: *mut *mut ID2D1DeviceContext, - ) -> HRESULT, - fn CreatePrintControl( - wicFactory: *const IWICImagingFactory, - documentTarget: *const IPrintDocumentPackageTarget, - printControlProperties: *const D2D1_PRINT_CONTROL_PROPERTIES, - printControl: *mut *mut ID2D1PrintControl, - ) -> HRESULT, - fn SetMaximumTextureMemory( - maximumInBytes: UINT64, - ) -> (), - fn GetMaximumTextureMemory() -> UINT64, - fn ClearResources( - millisecondsSinceUse: UINT32, - ) -> (), -}} -RIDL!{#[uuid(0xbb12d362, 0xdaee, 0x4b9a, 0xaa, 0x1d, 0x14, 0xba, 0x40, 0x1c, 0xfa, 0x1f)] -interface ID2D1Factory1(ID2D1Factory1Vtbl): ID2D1Factory(ID2D1FactoryVtbl) { - fn CreateDevice( - dxgiDevice: *const IDXGIDevice, - d2dDevice: *mut *mut ID2D1Device, - ) -> HRESULT, - fn CreateStrokeStyle( - strokeStyleProperties: *const D2D1_STROKE_STYLE_PROPERTIES1, - dashes: *const FLOAT, - dashesCount: UINT32, - strokeStyle: *mut *mut ID2D1StrokeStyle1, - ) -> HRESULT, - fn CreatePathGeometry( - pathGeometry: *mut *mut ID2D1PathGeometry1, - ) -> HRESULT, - fn CreateDrawingStateBlock( - drawingStateDescription: *const D2D1_DRAWING_STATE_DESCRIPTION1, - textRenderingParams: *const IDWriteRenderingParams, - drawingStateBlock: *mut *mut ID2D1DrawingStateBlock1, - ) -> HRESULT, - fn CreateGdiMetafile( - metafileStream: *const IStream, - metafile: *mut *mut ID2D1GdiMetafile, - ) -> HRESULT, - fn RegisterEffectFromStream( - classId: REFCLSID, - propertyXml: *const IStream, - bindings: *const D2D1_PROPERTY_BINDING, - bindingsCount: UINT32, - effectFactory: PD2D1_EFFECT_FACTORY, - ) -> HRESULT, - fn RegisterEffectFromString( - classId: REFCLSID, - propertyXml: PCWSTR, - bindings: *const D2D1_PROPERTY_BINDING, - bindingsCount: UINT32, - effectFactory: PD2D1_EFFECT_FACTORY, - ) -> HRESULT, - fn UnregisterEffect( - classId: REFCLSID, - ) -> HRESULT, - fn GetRegisteredEffects( - effects: *mut CLSID, - effectsCount: UINT32, - effectsReturned: *mut UINT32, - effectsRegistered: *mut UINT32, - ) -> HRESULT, - fn GetEffectProperties( - effectId: REFCLSID, - properties: *mut *mut ID2D1Properties, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x31e6e7bc, 0xe0ff, 0x4d46, 0x8c, 0x64, 0xa0, 0xa8, 0xc4, 0x1c, 0x15, 0xd3)] -interface ID2D1Multithread(ID2D1MultithreadVtbl): IUnknown(IUnknownVtbl) { - fn GetMultithreadProtected() -> BOOL, - fn Enter() -> (), - fn Leave() -> (), -}} -extern "system" { - pub fn D2D1CreateDevice( - dxgiDevice: *const IDXGIDevice, - creationProperties: *const D2D1_CREATION_PROPERTIES, - d2dDevice: *mut *mut ID2D1Device, - ) -> HRESULT; - pub fn D2D1CreateDeviceContext( - dxgiSurface: *const IDXGISurface, - creationProperties: *const D2D1_CREATION_PROPERTIES, - d2dDeviceContext: *mut *mut ID2D1DeviceContext, - ) -> HRESULT; - pub fn D2D1ConvertColorSpace( - sourceColorSpace: D2D1_COLOR_SPACE, - destinationColorSpace: D2D1_COLOR_SPACE, - color: *const D2D1_COLOR_F, - ) -> D2D1_COLOR_F; - pub fn D2D1SinCos( - angle: FLOAT, - s: *mut FLOAT, - c: *mut FLOAT, - ) -> (); - pub fn D2D1Tan( - angle: FLOAT, - ) -> FLOAT; - pub fn D2D1Vec3Length( - x: FLOAT, - y: FLOAT, - z: FLOAT, - ) -> FLOAT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d2d1_2.rs b/vendor/registry-40351f815f426200/winapi/src/um/d2d1_2.rs deleted file mode 100644 index 31b051390..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d2d1_2.rs +++ /dev/null @@ -1,68 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of d2d1_2.h -use shared::dxgi::IDXGIDevice; -use shared::minwindef::FLOAT; -use um::d2d1::{ID2D1Brush, ID2D1Geometry, ID2D1StrokeStyle}; -use um::d2d1::{ID2D1Resource, ID2D1ResourceVtbl}; -use um::d2d1_1::{D2D1_DEVICE_CONTEXT_OPTIONS, D2D1_PRIMITIVE_BLEND}; -use um::d2d1_1::{ID2D1DeviceContext, ID2D1DeviceContextVtbl}; -use um::d2d1_1::{ID2D1Device, ID2D1DeviceVtbl}; -use um::d2d1_1::{ID2D1Factory1, ID2D1Factory1Vtbl}; -use um::d2d1_1::{ID2D1CommandSink, ID2D1CommandSinkVtbl}; -use um::winnt::HRESULT; -ENUM!{enum D2D1_RENDERING_PRIORITY { - D2D1_RENDERING_PRIORITY_NORMAL = 0, - D2D1_RENDERING_PRIORITY_LOW = 1, - D2D1_RENDERING_PRIORITY_FORCE_DWORD = 0xffffffff, -}} -RIDL!{#[uuid(0xa16907d7, 0xbc02, 0x4801, 0x99, 0xe8, 0x8c, 0xf7, 0xf4, 0x85, 0xf7, 0x74)] -interface ID2D1GeometryRealization(ID2D1GeometryRealizationVtbl): - ID2D1Resource(ID2D1ResourceVtbl) {}} -RIDL!{#[uuid(0xd37f57e4, 0x6908, 0x459f, 0xa1, 0x99, 0xe7, 0x2f, 0x24, 0xf7, 0x99, 0x87)] -interface ID2D1DeviceContext1(ID2D1DeviceContext1Vtbl): - ID2D1DeviceContext(ID2D1DeviceContextVtbl) { - fn CreateFilledGeometryRealization( - geometry: *mut ID2D1Geometry, - flatteningTolerance: FLOAT, - geometryRealization: *mut *mut ID2D1GeometryRealization, - ) -> HRESULT, - fn CreateStrokedGeometryRealization( - geometry: *mut ID2D1Geometry, - flatteningTolerance: FLOAT, - strokeWidth: FLOAT, - strokeStyle: *mut ID2D1StrokeStyle, - geometryRealization: *mut *mut ID2D1GeometryRealization, - ) -> HRESULT, - fn DrawGeometryRealization( - geometryRealization: *mut ID2D1GeometryRealization, - brush: *mut ID2D1Brush, - ) -> (), -}} -RIDL!{#[uuid(0xd21768e1, 0x23a4, 0x4823, 0xa1, 0x4b, 0x7c, 0x3e, 0xba, 0x85, 0xd6, 0x58)] -interface ID2D1Device1(ID2D1Device1Vtbl): ID2D1Device(ID2D1DeviceVtbl) { - fn GetRenderingPriority() -> D2D1_RENDERING_PRIORITY, - fn SetRenderingPriority( - renderingPriority: D2D1_RENDERING_PRIORITY, - ) -> (), - fn CreateDeviceContext( - options: D2D1_DEVICE_CONTEXT_OPTIONS, - deviceContext1: *mut *mut ID2D1DeviceContext1, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x94f81a73, 0x9212, 0x4376, 0x9c, 0x58, 0xb1, 0x6a, 0x3a, 0x0d, 0x39, 0x92)] -interface ID2D1Factory2(ID2D1Factory2Vtbl): ID2D1Factory1(ID2D1Factory1Vtbl) { - fn CreateDevice( - dxgiDevice: *mut IDXGIDevice, - d2dDevice1: *mut *mut ID2D1Device1, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x9eb767fd, 0x4269, 0x4467, 0xb8, 0xc2, 0xeb, 0x30, 0xcb, 0x30, 0x57, 0x43)] -interface ID2D1CommandSink1(ID2D1CommandSink1Vtbl): ID2D1CommandSink(ID2D1CommandSinkVtbl) { - fn SetPrimitiveBlend1( - primitiveBlend: D2D1_PRIMITIVE_BLEND, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d2d1_3.rs b/vendor/registry-40351f815f426200/winapi/src/um/d2d1_3.rs deleted file mode 100644 index 64b7bd394..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d2d1_3.rs +++ /dev/null @@ -1,698 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of d2d1_3.h -use ctypes::c_void; -use shared::basetsd::{UINT16, UINT32, UINT64}; -use shared::dxgi::{IDXGIDevice, IDXGISurface}; -use shared::dxgitype::DXGI_COLOR_SPACE_TYPE; -use shared::minwindef::{BOOL, BYTE, DWORD, FLOAT}; -use shared::ntdef::WCHAR; -use shared::winerror::HRESULT; -use um::d2d1::{ - D2D1_BITMAP_INTERPOLATION_MODE, D2D1_COLOR_F, D2D1_DRAW_TEXT_OPTIONS, D2D1_GAMMA_1_0, - D2D1_GAMMA_2_2, D2D1_MATRIX_3X2_F, D2D1_POINT_2F, D2D1_RECT_F, D2D1_RECT_U, D2D1_SIZE_F, - ID2D1Bitmap, ID2D1Brush, ID2D1Image, ID2D1ImageVtbl, ID2D1Resource, ID2D1ResourceVtbl, - ID2D1SimplifiedGeometrySink, -}; -use um::d2d1_1::{ - D2D1_BUFFER_PRECISION, D2D1_DEVICE_CONTEXT_OPTIONS, D2D1_INTERPOLATION_MODE, - D2D1_PRIMITIVE_BLEND, ID2D1ColorContext, ID2D1ColorContextVtbl, ID2D1CommandList, - ID2D1GdiMetafile, ID2D1GdiMetafileSink, ID2D1GdiMetafileSinkVtbl, ID2D1GdiMetafileVtbl, -}; -use um::d2d1_2::{ - ID2D1CommandSink1, ID2D1CommandSink1Vtbl, ID2D1Device1, ID2D1Device1Vtbl, ID2D1DeviceContext1, - ID2D1DeviceContext1Vtbl, ID2D1Factory2, ID2D1Factory2Vtbl, -}; -use um::d2d1effects::D2D1_BLEND_MODE; -use um::d2d1svg::ID2D1SvgDocument; -use um::dcommon::{D2D1_ALPHA_MODE, DWRITE_GLYPH_IMAGE_FORMATS, DWRITE_MEASURING_MODE}; -use um::dwrite::{DWRITE_GLYPH_RUN, IDWriteFontFace, IDWriteTextFormat, IDWriteTextLayout}; -use um::objidlbase::IStream; -use um::wincodec::IWICBitmapSource; -ENUM!{enum D2D1_INK_NIB_SHAPE { - D2D1_INK_NIB_SHAPE_ROUND = 0, - D2D1_INK_NIB_SHAPE_SQUARE = 1, -}} -ENUM!{enum D2D1_ORIENTATION { - D2D1_ORIENTATION_DEFAULT = 1, - D2D1_ORIENTATION_FLIP_HORIZONTAL = 2, - D2D1_ORIENTATION_ROTATE_CLOCKWISE180 = 3, - D2D1_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL = 4, - D2D1_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL = 5, - D2D1_ORIENTATION_ROTATE_CLOCKWISE270 = 6, - D2D1_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL = 7, - D2D1_ORIENTATION_ROTATE_CLOCKWISE90 = 8, -}} -ENUM!{enum D2D1_IMAGE_SOURCE_LOADING_OPTIONS { - D2D1_IMAGE_SOURCE_LOADING_OPTIONS_NONE = 0, - D2D1_IMAGE_SOURCE_LOADING_OPTIONS_RELEASE_SOURCE = 1, - D2D1_IMAGE_SOURCE_LOADING_OPTIONS_CACHE_ON_DEMAND = 2, -}} -ENUM!{enum D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS { - D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_NONE = 0, - D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_LOW_QUALITY_PRIMARY_CONVERSION = 1, -}} -ENUM!{enum D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS { - D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_NONE = 0, - D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_DISABLE_DPI_SCALE = 1, -}} -STRUCT!{struct D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES { - orientation: D2D1_ORIENTATION, - scaleX: FLOAT, - scaleY: FLOAT, - interpolationMode: D2D1_INTERPOLATION_MODE, - options: D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS, -}} -STRUCT!{struct D2D1_INK_POINT { - x: FLOAT, - y: FLOAT, - radius: FLOAT, -}} -STRUCT!{struct D2D1_INK_BEZIER_SEGMENT { - point1: D2D1_INK_POINT, - point2: D2D1_INK_POINT, - point3: D2D1_INK_POINT, -}} -STRUCT!{struct D2D1_INK_STYLE_PROPERTIES { - nibShape: D2D1_INK_NIB_SHAPE, - nibTransform: D2D1_MATRIX_3X2_F, -}} -ENUM!{enum D2D1_PATCH_EDGE_MODE { - D2D1_PATCH_EDGE_MODE_ALIASED = 0, - D2D1_PATCH_EDGE_MODE_ANTIALIASED = 1, - D2D1_PATCH_EDGE_MODE_ALIASED_INFLATED = 2, -}} -STRUCT!{struct D2D1_GRADIENT_MESH_PATCH { - point00: D2D1_POINT_2F, - point01: D2D1_POINT_2F, - point02: D2D1_POINT_2F, - point03: D2D1_POINT_2F, - point10: D2D1_POINT_2F, - point11: D2D1_POINT_2F, - point12: D2D1_POINT_2F, - point13: D2D1_POINT_2F, - point20: D2D1_POINT_2F, - point21: D2D1_POINT_2F, - point22: D2D1_POINT_2F, - point23: D2D1_POINT_2F, - point30: D2D1_POINT_2F, - point31: D2D1_POINT_2F, - point32: D2D1_POINT_2F, - point33: D2D1_POINT_2F, - color00: D2D1_COLOR_F, - color03: D2D1_COLOR_F, - color30: D2D1_COLOR_F, - color33: D2D1_COLOR_F, - topEdgeMode: D2D1_PATCH_EDGE_MODE, - leftEdgeMode: D2D1_PATCH_EDGE_MODE, - bottomEdgeMode: D2D1_PATCH_EDGE_MODE, - rightEdgeMode: D2D1_PATCH_EDGE_MODE, -}} -ENUM!{enum D2D1_SPRITE_OPTIONS { - D2D1_SPRITE_OPTIONS_NONE = 0, - D2D1_SPRITE_OPTIONS_CLAMP_TO_SOURCE_RECTANGLE = 1, -}} -ENUM!{enum D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION { - D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_DEFAULT = 0, - D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_DISABLE = 1, -}} -ENUM!{enum D2D1_GAMMA1 { - D2D1_GAMMA1_G22 = D2D1_GAMMA_2_2, - D2D1_GAMMA1_G10 = D2D1_GAMMA_1_0, - D2D1_GAMMA1_G2084 = 2, -}} -STRUCT!{struct D2D1_SIMPLE_COLOR_PROFILE { - redPrimary: D2D1_POINT_2F, - greenPrimary: D2D1_POINT_2F, - bluePrimary: D2D1_POINT_2F, - whitePointXZ: D2D1_POINT_2F, - gamma: D2D1_GAMMA1, -}} -ENUM!{enum D2D1_COLOR_CONTEXT_TYPE { - D2D1_COLOR_CONTEXT_TYPE_ICC = 0, - D2D1_COLOR_CONTEXT_TYPE_SIMPLE = 1, - D2D1_COLOR_CONTEXT_TYPE_DXGI = 2, -}} -DEFINE_GUID!{IID_ID2D1InkStyle, - 0xbae8b344, 0x23fc, 0x4071, 0x8c, 0xb5, 0xd0, 0x5d, 0x6f, 0x07, 0x38, 0x48} -DEFINE_GUID!{IID_ID2D1Ink, - 0xb499923b, 0x7029, 0x478f, 0xa8, 0xb3, 0x43, 0x2c, 0x7c, 0x5f, 0x53, 0x12} -DEFINE_GUID!{IID_ID2D1GradientMesh, - 0xf292e401, 0xc050, 0x4cde, 0x83, 0xd7, 0x04, 0x96, 0x2d, 0x3b, 0x23, 0xc2} -DEFINE_GUID!{IID_ID2D1ImageSource, - 0xc9b664e5, 0x74a1, 0x4378, 0x9a, 0xc2, 0xee, 0xfc, 0x37, 0xa3, 0xf4, 0xd8} -DEFINE_GUID!{IID_ID2D1ImageSourceFromWic, - 0x77395441, 0x1c8f, 0x4555, 0x86, 0x83, 0xf5, 0x0d, 0xab, 0x0f, 0xe7, 0x92} -DEFINE_GUID!{IID_ID2D1TransformedImageSource, - 0x7f1f79e5, 0x2796, 0x416c, 0x8f, 0x55, 0x70, 0x0f, 0x91, 0x14, 0x45, 0xe5} -DEFINE_GUID!{IID_ID2D1LookupTable3D, - 0x53dd9855, 0xa3b0, 0x4d5b, 0x82, 0xe1, 0x26, 0xe2, 0x5c, 0x5e, 0x57, 0x97} -DEFINE_GUID!{IID_ID2D1DeviceContext2, - 0x394ea6a3, 0x0c34, 0x4321, 0x95, 0x0b, 0x6c, 0xa2, 0x0f, 0x0b, 0xe6, 0xc7} -DEFINE_GUID!{IID_ID2D1Device2, - 0xa44472e1, 0x8dfb, 0x4e60, 0x84, 0x92, 0x6e, 0x28, 0x61, 0xc9, 0xca, 0x8b} -DEFINE_GUID!{IID_ID2D1Factory3, - 0x0869759f, 0x4f00, 0x413f, 0xb0, 0x3e, 0x2b, 0xda, 0x45, 0x40, 0x4d, 0x0f} -DEFINE_GUID!{IID_ID2D1CommandSink2, - 0x3bab440e, 0x417e, 0x47df, 0xa2, 0xe2, 0xbc, 0x0b, 0xe6, 0xa0, 0x09, 0x16} -DEFINE_GUID!{IID_ID2D1GdiMetafile1, - 0x2e69f9e8, 0xdd3f, 0x4bf9, 0x95, 0xba, 0xc0, 0x4f, 0x49, 0xd7, 0x88, 0xdf} -DEFINE_GUID!{IID_ID2D1GdiMetafileSink1, - 0xfd0ecb6b, 0x91e6, 0x411e, 0x86, 0x55, 0x39, 0x5e, 0x76, 0x0f, 0x91, 0xb4} -DEFINE_GUID!{IID_ID2D1SpriteBatch, - 0x4dc583bf, 0x3a10, 0x438a, 0x87, 0x22, 0xe9, 0x76, 0x52, 0x24, 0xf1, 0xf1} -DEFINE_GUID!{IID_ID2D1DeviceContext3, - 0x235a7496, 0x8351, 0x414c, 0xbc, 0xd4, 0x66, 0x72, 0xab, 0x2d, 0x8e, 0x00} -DEFINE_GUID!{IID_ID2D1Device3, - 0x852f2087, 0x802c, 0x4037, 0xab, 0x60, 0xff, 0x2e, 0x7e, 0xe6, 0xfc, 0x01} -DEFINE_GUID!{IID_ID2D1Factory4, - 0xbd4ec2d2, 0x0662, 0x4bee, 0xba, 0x8e, 0x6f, 0x29, 0xf0, 0x32, 0xe0, 0x96} -DEFINE_GUID!{IID_ID2D1CommandSink3, - 0x18079135, 0x4cf3, 0x4868, 0xbc, 0x8e, 0x06, 0x06, 0x7e, 0x6d, 0x24, 0x2d} -DEFINE_GUID!{IID_ID2D1SvgGlyphStyle, - 0xaf671749, 0xd241, 0x4db8, 0x8e, 0x41, 0xdc, 0xc2, 0xe5, 0xc1, 0xa4, 0x38} -DEFINE_GUID!{IID_ID2D1DeviceContext4, - 0x8c427831, 0x3d90, 0x4476, 0xb6, 0x47, 0xc4, 0xfa, 0xe3, 0x49, 0xe4, 0xdb} -DEFINE_GUID!{IID_ID2D1Device4, - 0xd7bdb159, 0x5683, 0x4a46, 0xbc, 0x9c, 0x72, 0xdc, 0x72, 0x0b, 0x85, 0x8b} -DEFINE_GUID!{IID_ID2D1Factory5, - 0xc4349994, 0x838e, 0x4b0f, 0x8c, 0xab, 0x44, 0x99, 0x7d, 0x9e, 0xea, 0xcc} -DEFINE_GUID!{IID_ID2D1CommandSink4, - 0xc78a6519, 0x40d6, 0x4218, 0xb2, 0xde, 0xbe, 0xee, 0xb7, 0x44, 0xbb, 0x3e} -DEFINE_GUID!{IID_ID2D1ColorContext1, - 0x1ab42875, 0xc57f, 0x4be9, 0xbd, 0x85, 0x9c, 0xd7, 0x8d, 0x6f, 0x55, 0xee} -DEFINE_GUID!{IID_ID2D1DeviceContext5, - 0x7836d248, 0x68cc, 0x4df6, 0xb9, 0xe8, 0xde, 0x99, 0x1b, 0xf6, 0x2e, 0xb7} -DEFINE_GUID!{IID_ID2D1Device5, - 0xd55ba0a4, 0x6405, 0x4694, 0xae, 0xf5, 0x08, 0xee, 0x1a, 0x43, 0x58, 0xb4} -DEFINE_GUID!{IID_ID2D1Factory6, - 0xf9976f46, 0xf642, 0x44c1, 0x97, 0xca, 0xda, 0x32, 0xea, 0x2a, 0x26, 0x35} -DEFINE_GUID!{IID_ID2D1CommandSink5, - 0x7047dd26, 0xb1e7, 0x44a7, 0x95, 0x9a, 0x83, 0x49, 0xe2, 0x14, 0x4f, 0xa8} -DEFINE_GUID!{IID_ID2D1DeviceContext6, - 0x985f7e37, 0x4ed0, 0x4a19, 0x98, 0xa3, 0x15, 0xb0, 0xed, 0xfd, 0xe3, 0x06} -DEFINE_GUID!{IID_ID2D1Device6, - 0x7bfef914, 0x2d75, 0x4bad, 0xbe, 0x87, 0xe1, 0x8d, 0xdb, 0x07, 0x7b, 0x6d} -DEFINE_GUID!{IID_ID2D1Factory7, - 0xbdc2bdd3, 0xb96c, 0x4de6, 0xbd, 0xf7, 0x99, 0xd4, 0x74, 0x54, 0x54, 0xde} -RIDL!{#[uuid(0xbae8b344, 0x23fc, 0x4071, 0x8c, 0xb5, 0xd0, 0x5d, 0x6f, 0x07, 0x38, 0x48)] -interface ID2D1InkStyle(ID2D1InkStyleVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn SetNibTransform( - transform: *const D2D1_MATRIX_3X2_F, - ) -> (), - fn GetNibTransform( - transform: *mut D2D1_MATRIX_3X2_F, - ) -> (), - fn SetNibShape( - nibShape: D2D1_INK_NIB_SHAPE, - ) -> (), - fn GetNibShape() -> D2D1_INK_NIB_SHAPE, -}} -RIDL!{#[uuid(0xb499923b, 0x7029, 0x478f, 0xa8, 0xb3, 0x43, 0x2c, 0x7c, 0x5f, 0x53, 0x12)] -interface ID2D1Ink(ID2D1InkVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn SetStartPoint( - startPoint: *const D2D1_INK_POINT, - ) -> (), - fn GetStartPoint() -> D2D1_INK_POINT, - fn AddSegments( - segments: *const D2D1_INK_BEZIER_SEGMENT, - segmentsCount: UINT32, - ) -> HRESULT, - fn RemoveSegmentsAtEnd( - segmentsCount: UINT32, - ) -> HRESULT, - fn SetSegments( - startSegment: UINT32, - segments: *const D2D1_INK_BEZIER_SEGMENT, - segmentsCount: UINT32, - ) -> HRESULT, - fn SetSegmentAtEnd( - segment: *const D2D1_INK_BEZIER_SEGMENT, - ) -> HRESULT, - fn GetSegmentCount() -> UINT32, - fn GetSegments( - startSegment: UINT32, - segments: *mut D2D1_INK_BEZIER_SEGMENT, - segmentsCount: UINT32, - ) -> HRESULT, - fn StreamAsGeometry( - inkStyle: *mut ID2D1InkStyle, - worldTransform: *const D2D1_MATRIX_3X2_F, - flatteningTolerance: FLOAT, - geometrySink: *mut ID2D1SimplifiedGeometrySink, - ) -> HRESULT, - fn GetBounds( - inkStyle: *mut ID2D1InkStyle, - worldTransform: *const D2D1_MATRIX_3X2_F, - bounds: *mut D2D1_RECT_F, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xf292e401, 0xc050, 0x4cde, 0x83, 0xd7, 0x04, 0x96, 0x2d, 0x3b, 0x23, 0xc2)] -interface ID2D1GradientMesh(ID2D1GradientMeshVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn GetPatchCount() -> UINT32, - fn GetPatches( - startIndex: UINT32, - patches: *mut D2D1_GRADIENT_MESH_PATCH, - patchesCount: UINT32, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xc9b664e5, 0x74a1, 0x4378, 0x9a, 0xc2, 0xee, 0xfc, 0x37, 0xa3, 0xf4, 0xd8)] -interface ID2D1ImageSource(ID2D1ImageSourceVtbl): ID2D1Image(ID2D1ImageVtbl) { - fn OfferResources() -> HRESULT, - fn TryReclaimResources( - resourcesDiscarded: *mut BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x77395441, 0x1c8f, 0x4555, 0x86, 0x83, 0xf5, 0x0d, 0xab, 0x0f, 0xe7, 0x92)] -interface ID2D1ImageSourceFromWic(ID2D1ImageSourceFromWicVtbl): - ID2D1ImageSource(ID2D1ImageSourceVtbl) { - fn EnsureCached( - rectangleToFill: *const D2D1_RECT_U, - ) -> HRESULT, - fn TrimCache( - rectangleToPreserve: *const D2D1_RECT_U, - ) -> HRESULT, - fn GetSource( - wicBitmapSource: *mut *mut IWICBitmapSource, - ) -> (), -}} -RIDL!{#[uuid(0x7f1f79e5, 0x2796, 0x416c, 0x8f, 0x55, 0x70, 0x0f, 0x91, 0x14, 0x45, 0xe5)] -interface ID2D1TransformedImageSource(ID2D1TransformedImageSourceVtbl): - ID2D1Image(ID2D1ImageVtbl) { - fn GetSource( - imageSource: *mut *mut ID2D1ImageSource, - ) -> (), - fn GetProperties( - properties: *mut D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES, - ) -> (), -}} -RIDL!{#[uuid(0x53dd9855, 0xa3b0, 0x4d5b, 0x82, 0xe1, 0x26, 0xe2, 0x5c, 0x5e, 0x57, 0x97)] -interface ID2D1LookupTable3D(ID2D1LookupTable3DVtbl): ID2D1Resource(ID2D1ResourceVtbl) {}} -RIDL!{#[uuid(0x394ea6a3, 0x0c34, 0x4321, 0x95, 0x0b, 0x6c, 0xa2, 0x0f, 0x0b, 0xe6, 0xc7)] -interface ID2D1DeviceContext2(ID2D1DeviceContext2Vtbl): - ID2D1DeviceContext1(ID2D1DeviceContext1Vtbl) { - fn CreateInk( - startPoint: *const D2D1_INK_POINT, - ink: *mut *mut ID2D1Ink, - ) -> HRESULT, - fn CreateInkStyle( - inkStyleProperties: *const D2D1_INK_STYLE_PROPERTIES, - inkStyle: *mut *mut ID2D1InkStyle, - ) -> HRESULT, - fn CreateGradientMesh( - patches: *const D2D1_GRADIENT_MESH_PATCH, - patchesCount: UINT32, - gradientMesh: *mut *mut ID2D1GradientMesh, - ) -> HRESULT, - fn CreateImageSourceFromWic( - wicBitmapSource: *mut IWICBitmapSource, - loadingOptions: D2D1_IMAGE_SOURCE_LOADING_OPTIONS, - alphaMode: D2D1_ALPHA_MODE, - imageSource: *mut *mut ID2D1ImageSourceFromWic, - ) -> HRESULT, - fn CreateLookupTable3D( - precision: D2D1_BUFFER_PRECISION, - extents: *const UINT32, - data: *const BYTE, - dataCount: UINT32, - strides: *const UINT32, - lookupTable: *mut *mut ID2D1LookupTable3D, - ) -> HRESULT, - fn CreateImageSourceFromDxgi( - surfaces: *const *mut IDXGISurface, - surfaceCount: UINT32, - colorSpace: DXGI_COLOR_SPACE_TYPE, - options: D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS, - imageSource: *mut *mut ID2D1ImageSource, - ) -> HRESULT, - fn GetGradientMeshWorldBounds( - gradientMesh: *mut ID2D1GradientMesh, - pBounds: *mut D2D1_RECT_F, - ) -> HRESULT, - fn DrawInk( - ink: *mut ID2D1Ink, - brush: *mut ID2D1Brush, - inkStyle: *mut ID2D1InkStyle, - ) -> (), - fn DrawGradientMesh( - gradientMesh: *mut ID2D1GradientMesh, - ) -> (), - fn DrawGdiMetafile( - gdiMetafile: *mut ID2D1GdiMetafile, - destinationRectangle: *const D2D1_RECT_F, - sourceRectangle: *const D2D1_RECT_F, - ) -> (), - fn CreateTransformedImageSource( - imageSource: *mut ID2D1ImageSource, - properties: *const D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES, - transformedImageSource: *mut *mut ID2D1TransformedImageSource, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa44472e1, 0x8dfb, 0x4e60, 0x84, 0x92, 0x6e, 0x28, 0x61, 0xc9, 0xca, 0x8b)] -interface ID2D1Device2(ID2D1Device2Vtbl): ID2D1Device1(ID2D1Device1Vtbl) { - fn CreateDeviceContext( - options: D2D1_DEVICE_CONTEXT_OPTIONS, - deviceContext2: *mut *mut ID2D1DeviceContext2, - ) -> HRESULT, - fn FlushDeviceContexts( - bitmap: *mut ID2D1Bitmap, - ) -> (), - fn GetDxgiDevice( - dxgiDevice: *mut *mut IDXGIDevice, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x0869759f, 0x4f00, 0x413f, 0xb0, 0x3e, 0x2b, 0xda, 0x45, 0x40, 0x4d, 0x0f)] -interface ID2D1Factory3(ID2D1Factory3Vtbl): ID2D1Factory2(ID2D1Factory2Vtbl) { - fn CreateDevice( - dxgiDevice: *mut IDXGIDevice, - d2dDevice2: *mut *mut ID2D1Device2, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x3bab440e, 0x417e, 0x47df, 0xa2, 0xe2, 0xbc, 0x0b, 0xe6, 0xa0, 0x09, 0x16)] -interface ID2D1CommandSink2(ID2D1CommandSink2Vtbl): ID2D1CommandSink1(ID2D1CommandSink1Vtbl) { - fn DrawInk( - ink: *mut ID2D1Ink, - brush: *mut ID2D1Brush, - inkStyle: *mut ID2D1InkStyle, - ) -> (), - fn DrawGradientMesh( - gradientMesh: *mut ID2D1GradientMesh, - ) -> (), - fn DrawGdiMetafile( - gdiMetafile: *mut ID2D1GdiMetafile, - destinationRectangle: *const D2D1_RECT_F, - sourceRectangle: *const D2D1_RECT_F, - ) -> (), -}} -RIDL!{#[uuid(0x2e69f9e8, 0xdd3f, 0x4bf9, 0x95, 0xba, 0xc0, 0x4f, 0x49, 0xd7, 0x88, 0xdf)] -interface ID2D1GdiMetafile1(ID2D1GdiMetafile1Vtbl): ID2D1GdiMetafile(ID2D1GdiMetafileVtbl) { - fn GetDpi( - dpiX: *mut FLOAT, - dpiY: *mut FLOAT, - ) -> HRESULT, - fn GetSourceBounds( - bounds: *mut D2D1_RECT_F, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xfd0ecb6b, 0x91e6, 0x411e, 0x86, 0x55, 0x39, 0x5e, 0x76, 0x0f, 0x91, 0xb4)] -interface ID2D1GdiMetafileSink1(ID2D1GdiMetafileSink1Vtbl): - ID2D1GdiMetafileSink(ID2D1GdiMetafileSinkVtbl) { - fn ProcessRecord( - recordType: DWORD, - recordData: *const c_void, - recordDataSize: DWORD, - flags: UINT32, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x4dc583bf, 0x3a10, 0x438a, 0x87, 0x22, 0xe9, 0x76, 0x52, 0x24, 0xf1, 0xf1)] -interface ID2D1SpriteBatch(ID2D1SpriteBatchVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn AddSprites( - spriteCount: UINT32, - destinationRectangle: *const D2D1_RECT_F, - sourceRectangles: *const D2D1_RECT_U, - colors: *const D2D1_COLOR_F, - transforms: *const D2D1_MATRIX_3X2_F, - destinationRectanglesStride: UINT32, - sourceRectanglesStride: UINT32, - colorsStride: UINT32, - transformsStride: D2D1_MATRIX_3X2_F, - ) -> HRESULT, - fn SetSprites( - startIndex: UINT32, - spriteCount: UINT32, - destinationRectangle: *const D2D1_RECT_F, - sourceRectangles: *const D2D1_RECT_U, - colors: *const D2D1_COLOR_F, - transforms: *const D2D1_MATRIX_3X2_F, - destinationRectanglesStride: UINT32, - sourceRectanglesStride: UINT32, - colorsStride: UINT32, - transformsStride: D2D1_MATRIX_3X2_F, - ) -> HRESULT, - fn GetSprites( - startIndex: UINT32, - spriteCount: UINT32, - destinationRectangle: *mut D2D1_RECT_F, - sourceRectangles: *mut D2D1_RECT_U, - colors: *mut D2D1_COLOR_F, - transforms: *mut D2D1_MATRIX_3X2_F, - ) -> HRESULT, - fn GetSpriteCount() -> UINT32, - fn Clear() -> (), -}} -RIDL!{#[uuid(0x235a7496, 0x8351, 0x414c, 0xbc, 0xd4, 0x66, 0x72, 0xab, 0x2d, 0x8e, 0x00)] -interface ID2D1DeviceContext3(ID2D1DeviceContext3Vtbl): - ID2D1DeviceContext2(ID2D1DeviceContext2Vtbl) { - fn CreateSpriteBatch( - spriteBatch: *mut *mut ID2D1SpriteBatch, - ) -> HRESULT, - fn DrawSpriteBatch( - spriteBatch: *mut ID2D1SpriteBatch, - startIndex: UINT32, - spriteCount: UINT32, - bitmap: *mut ID2D1Bitmap, - interpolationMode: D2D1_BITMAP_INTERPOLATION_MODE, - spriteOptions: D2D1_SPRITE_OPTIONS, - ) -> (), -}} -RIDL!{#[uuid(0x852f2087, 0x802c, 0x4037, 0xab, 0x60, 0xff, 0x2e, 0x7e, 0xe6, 0xfc, 0x01)] -interface ID2D1Device3(ID2D1Device3Vtbl): ID2D1Device2(ID2D1Device2Vtbl) { - fn CreateDeviceContext( - options: D2D1_DEVICE_CONTEXT_OPTIONS, - deviceContext3: *mut *mut ID2D1DeviceContext3, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xbd4ec2d2, 0x0662, 0x4bee, 0xba, 0x8e, 0x6f, 0x29, 0xf0, 0x32, 0xe0, 0x96)] -interface ID2D1Factory4(ID2D1Factory4Vtbl): ID2D1Factory3(ID2D1Factory3Vtbl) { - fn CreateDevice( - dxgiDevice: *mut IDXGIDevice, - d2dDevice3: *mut *mut ID2D1Device3, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x18079135, 0x4cf3, 0x4868, 0xbc, 0x8e, 0x06, 0x06, 0x7e, 0x6d, 0x24, 0x2d)] -interface ID2D1CommandSink3(ID2D1CommandSink3Vtbl): ID2D1CommandSink2(ID2D1CommandSink2Vtbl) { - fn DrawSpriteBatch( - spriteBatch: *mut ID2D1SpriteBatch, - startIndex: UINT32, - spriteCount: UINT32, - bitmap: *mut ID2D1Bitmap, - interpolationMode: D2D1_BITMAP_INTERPOLATION_MODE, - spriteOptions: D2D1_SPRITE_OPTIONS, - ) -> (), -}} -RIDL!{#[uuid(0xaf671749, 0xd241, 0x4db8, 0x8e, 0x41, 0xdc, 0xc2, 0xe5, 0xc1, 0xa4, 0x38)] -interface ID2D1SvgGlyphStyle(ID2D1SvgGlyphStyleVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn SetFill( - brush: *mut ID2D1Brush, - ) -> HRESULT, - fn GetFill( - brush: *mut *mut ID2D1Brush, - ) -> (), - fn SetStroke( - brush: *mut ID2D1Brush, - strokeWidth: FLOAT, - dashes: *const FLOAT, - dashesCount: UINT32, - dashOffset: FLOAT, - ) -> HRESULT, - fn GetStrokeDashesCount() -> UINT32, - fn GetStroke( - brush: *mut *mut ID2D1Brush, - strokeWidth: *mut FLOAT, - dashes: *mut FLOAT, - dashesCount: UINT32, - dashOffset: *mut FLOAT, - ) -> (), -}} -RIDL!{#[uuid(0x8c427831, 0x3d90, 0x4476, 0xb6, 0x47, 0xc4, 0xfa, 0xe3, 0x49, 0xe4, 0xdb)] -interface ID2D1DeviceContext4(ID2D1DeviceContext4Vtbl): - ID2D1DeviceContext3(ID2D1DeviceContext3Vtbl) { - fn CreateSvgGlyphStyle( - svgGlyphStyle: *mut *mut ID2D1SvgGlyphStyle, - ) -> HRESULT, - fn DrawText( - string: *const WCHAR, - stringLength: UINT32, - textFormat: *mut IDWriteTextFormat, - layoutRect: *const D2D1_RECT_F, - defaultFillBrush: *mut ID2D1Brush, - svgGlyphStyle: *mut ID2D1SvgGlyphStyle, - colorPaletteIndex: UINT32, - options: D2D1_DRAW_TEXT_OPTIONS, - measuringMode: DWRITE_MEASURING_MODE, - ) -> (), - fn DrawTextLayout( - origin: D2D1_POINT_2F, - textLayout: *mut IDWriteTextLayout, - defaultFillBrush: *mut ID2D1Brush, - svgGlyphStyle: *mut ID2D1SvgGlyphStyle, - colorPaletteIndex: UINT32, - options: D2D1_DRAW_TEXT_OPTIONS, - ) -> (), - fn DrawColorBitmapGlyphRun( - glyphImageFormat: DWRITE_GLYPH_IMAGE_FORMATS, - baselineOrigin: D2D1_POINT_2F, - glyphRun: *const DWRITE_GLYPH_RUN, - measuringMode: DWRITE_MEASURING_MODE, - bitmapSnapOption: D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION, - ) -> (), - fn DrawSvgGlyphRun( - baselineOrigin: D2D1_POINT_2F, - glyphRun: *const DWRITE_GLYPH_RUN, - defaultFillBrush: *mut ID2D1Brush, - svgGlyphStyle: *mut ID2D1SvgGlyphStyle, - colorPaletteIndex: UINT32, - measuringMode: DWRITE_MEASURING_MODE, - ) -> (), - fn GetColorBitmapGlyphImage( - glyphImageFormat: DWRITE_GLYPH_IMAGE_FORMATS, - glyphOrigin: D2D1_POINT_2F, - fontFace: *mut IDWriteFontFace, - fontEmSize: FLOAT, - glyphIndex: UINT16, - isSideways: BOOL, - worldTransform: *const D2D1_MATRIX_3X2_F, - dpiX: FLOAT, - dpiY: FLOAT, - glyphTransform: *mut D2D1_MATRIX_3X2_F, - glyphImage: *mut *mut ID2D1Image, - ) -> HRESULT, - fn GetSvgGlyphImage( - glyphImageFormat: DWRITE_GLYPH_IMAGE_FORMATS, - glyphOrigin: D2D1_POINT_2F, - fontFace: *mut IDWriteFontFace, - fontEmSize: FLOAT, - glyphIndex: UINT16, - isSideways: BOOL, - worldTransform: *const D2D1_MATRIX_3X2_F, - defaultFillBrush: *mut ID2D1Brush, - svgGlyphStyle: *mut ID2D1SvgGlyphStyle, - colorPaletteIndex: UINT32, - glyphTransform: *mut D2D1_MATRIX_3X2_F, - glyphImage: *mut *mut ID2D1CommandList, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xd7bdb159, 0x5683, 0x4a46, 0xbc, 0x9c, 0x72, 0xdc, 0x72, 0x0b, 0x85, 0x8b)] -interface ID2D1Device4(ID2D1Device4Vtbl): ID2D1Device3(ID2D1Device3Vtbl) { - fn CreateDeviceContext( - options: D2D1_DEVICE_CONTEXT_OPTIONS, - deviceContext4: *mut *mut ID2D1DeviceContext4, - ) -> HRESULT, - fn SetMaximumColorGlyphCacheMemory( - maximumInBytes: UINT64, - ) -> (), - fn GetMaximumColorGlyphCacheMemory() -> UINT64, -}} -RIDL!{#[uuid(0xc4349994, 0x838e, 0x4b0f, 0x8c, 0xab, 0x44, 0x99, 0x7d, 0x9e, 0xea, 0xcc)] -interface ID2D1Factory5(ID2D1Factory5Vtbl): ID2D1Factory4(ID2D1Factory4Vtbl) { - fn CreateDevice( - dxgiDevice: *mut IDXGIDevice, - d2dDevice4: *mut *mut ID2D1Device4, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xc78a6519, 0x40d6, 0x4218, 0xb2, 0xde, 0xbe, 0xee, 0xb7, 0x44, 0xbb, 0x3e)] -interface ID2D1CommandSink4(ID2D1CommandSink4Vtbl): ID2D1CommandSink3(ID2D1CommandSink3Vtbl) { - fn SetPrimitiveBlend2( - primitiveBlend: D2D1_PRIMITIVE_BLEND, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x1ab42875, 0xc57f, 0x4be9, 0xbd, 0x85, 0x9c, 0xd7, 0x8d, 0x6f, 0x55, 0xee)] -interface ID2D1ColorContext1(ID2D1ColorContext1Vtbl): ID2D1ColorContext(ID2D1ColorContextVtbl) { - fn GetColorContextType() -> D2D1_COLOR_CONTEXT_TYPE, - fn GetDXGIColorSpace() -> DXGI_COLOR_SPACE_TYPE, - fn GetSimpleColorProfile( - simpleProfile: *mut D2D1_SIMPLE_COLOR_PROFILE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x7836d248, 0x68cc, 0x4df6, 0xb9, 0xe8, 0xde, 0x99, 0x1b, 0xf6, 0x2e, 0xb7)] -interface ID2D1DeviceContext5(ID2D1DeviceContext5Vtbl): - ID2D1DeviceContext4(ID2D1DeviceContext4Vtbl) { - fn CreateSvgDocument( - inputXmlStream: *mut IStream, - viewportSize: D2D1_SIZE_F, - svgDocument: *mut *mut ID2D1SvgDocument, - ) -> HRESULT, - fn DrawSvgDocument( - svgDocument: *mut ID2D1SvgDocument, - ) -> (), - fn CreateColorContextFromDxgiColorSpace( - colorSpace: DXGI_COLOR_SPACE_TYPE, - colorContext: *mut *mut ID2D1ColorContext1, - ) -> HRESULT, - fn CreateColorContextFromSimpleColorProfile( - simpleProfile: *const D2D1_SIMPLE_COLOR_PROFILE, - colorContext: *mut *mut ID2D1ColorContext1, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xd55ba0a4, 0x6405, 0x4694, 0xae, 0xf5, 0x08, 0xee, 0x1a, 0x43, 0x58, 0xb4)] -interface ID2D1Device5(ID2D1Device5Vtbl): ID2D1Device4(ID2D1Device4Vtbl) { - fn CreateDeviceContext( - options: D2D1_DEVICE_CONTEXT_OPTIONS, - deviceContext5: *mut *mut ID2D1DeviceContext5, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xf9976f46, 0xf642, 0x44c1, 0x97, 0xca, 0xda, 0x32, 0xea, 0x2a, 0x26, 0x35)] -interface ID2D1Factory6(ID2D1Factory6Vtbl): ID2D1Factory5(ID2D1Factory5Vtbl) { - fn CreateDevice( - dxgiDevice: *mut IDXGIDevice, - d2dDevice5: *mut *mut ID2D1Device5, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x7047dd26, 0xb1e7, 0x44a7, 0x95, 0x9a, 0x83, 0x49, 0xe2, 0x14, 0x4f, 0xa8)] -interface ID2D1CommandSink5(ID2D1CommandSink5Vtbl): ID2D1CommandSink4(ID2D1CommandSink4Vtbl) { - fn BlendImage( - image: *mut ID2D1Image, - blendMode: D2D1_BLEND_MODE, - targetOffset: *const D2D1_POINT_2F, - imageRectangle: *const D2D1_RECT_F, - interpolationMode: D2D1_INTERPOLATION_MODE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x985f7e37, 0x4ed0, 0x4a19, 0x98, 0xa3, 0x15, 0xb0, 0xed, 0xfd, 0xe3, 0x06)] -interface ID2D1DeviceContext6(ID2D1DeviceContext6Vtbl): - ID2D1DeviceContext5(ID2D1DeviceContext5Vtbl) { - fn BlendImage( - image: *mut ID2D1Image, - blendMode: D2D1_BLEND_MODE, - targetOffset: *const D2D1_POINT_2F, - imageRectangle: *const D2D1_RECT_F, - interpolationMode: D2D1_INTERPOLATION_MODE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x7bfef914, 0x2d75, 0x4bad, 0xbe, 0x87, 0xe1, 0x8d, 0xdb, 0x07, 0x7b, 0x6d)] -interface ID2D1Device6(ID2D1Device6Vtbl): ID2D1Device5(ID2D1Device5Vtbl) { - fn CreateDeviceContext( - options: D2D1_DEVICE_CONTEXT_OPTIONS, - deviceContext6: *mut *mut ID2D1DeviceContext6, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xbdc2bdd3, 0xb96c, 0x4de6, 0xbd, 0xf7, 0x99, 0xd4, 0x74, 0x54, 0x54, 0xde)] -interface ID2D1Factory7(ID2D1Factory7Vtbl): ID2D1Factory6(ID2D1Factory6Vtbl) { - fn CreateDevice( - dxgiDevice: *mut IDXGIDevice, - d2dDevice6: *mut *mut ID2D1Device6, - ) -> HRESULT, -}} -extern "system" { - pub fn D2D1GetGradientMeshInteriorPointsFromCoonsPatch( - pPoint0: *const D2D1_POINT_2F, - pPoint1: *const D2D1_POINT_2F, - pPoint2: *const D2D1_POINT_2F, - pPoint3: *const D2D1_POINT_2F, - pPoint4: *const D2D1_POINT_2F, - pPoint5: *const D2D1_POINT_2F, - pPoint6: *const D2D1_POINT_2F, - pPoint7: *const D2D1_POINT_2F, - pPoint8: *const D2D1_POINT_2F, - pPoint9: *const D2D1_POINT_2F, - pPoint10: *const D2D1_POINT_2F, - pPoint11: *const D2D1_POINT_2F, - pTensorPoint11: *mut D2D1_POINT_2F, - pTensorPoint12: *mut D2D1_POINT_2F, - pTensorPoint21: *mut D2D1_POINT_2F, - pTensorPoint22: *mut D2D1_POINT_2F, - ); -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d2d1effectauthor.rs b/vendor/registry-40351f815f426200/winapi/src/um/d2d1effectauthor.rs deleted file mode 100644 index c8322791c..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d2d1effectauthor.rs +++ /dev/null @@ -1,516 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_void; -use shared::basetsd::UINT32; -use shared::dxgiformat::DXGI_FORMAT; -use shared::guiddef::{GUID, REFCLSID, REFGUID}; -use shared::minwindef::{BOOL, BYTE, FLOAT}; -use shared::ntdef::{HRESULT, PCSTR, PCWSTR}; -use um::d2d1::D2D1_EXTEND_MODE; -use um::d2d1_1::{ - D2D1_BUFFER_PRECISION, D2D1_COLOR_SPACE, ID2D1Bitmap1, ID2D1ColorContext, ID2D1Effect, -}; -use um::d2dbasetypes::{D2D_POINT_2L, D2D_POINT_2U, D2D_RECT_L}; -use um::d3dcommon::D3D_FEATURE_LEVEL; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::wincodec::IWICColorContext; -FN!{stdcall PD2D1_PROPERTY_SET_FUNCTION( - effect: *const IUnknown, - data: *const BYTE, - dataSize: UINT32, -) -> HRESULT} -FN!{stdcall PD2D1_PROPERTY_GET_FUNCTION( - effect: *const IUnknown, - data: *mut BYTE, - dataSize: UINT32, - actualSize: *mut UINT32, -) -> HRESULT} -ENUM!{enum D2D1_CHANGE_TYPE { - D2D1_CHANGE_TYPE_NONE = 0, - D2D1_CHANGE_TYPE_PROPERTIES = 1, - D2D1_CHANGE_TYPE_CONTEXT = 2, - D2D1_CHANGE_TYPE_GRAPH = 3, -}} -ENUM!{enum D2D1_PIXEL_OPTIONS { - D2D1_PIXEL_OPTIONS_NONE = 0, - D2D1_PIXEL_OPTIONS_TRIVIAL_SAMPLING = 1, -}} -ENUM!{enum D2D1_VERTEX_OPTIONS { - D2D1_VERTEX_OPTIONS_NONE = 0, - D2D1_VERTEX_OPTIONS_DO_NOT_CLEAR = 1, - D2D1_VERTEX_OPTIONS_USE_DEPTH_BUFFER = 2, - D2D1_VERTEX_OPTIONS_ASSUME_NO_OVERLAP = 4, -}} -ENUM!{enum D2D1_VERTEX_USAGE { - D2D1_VERTEX_USAGE_STATIC = 0, - D2D1_VERTEX_USAGE_DYNAMIC = 1, -}} -ENUM!{enum D2D1_BLEND_OPERATION { - D2D1_BLEND_OPERATION_ADD = 1, - D2D1_BLEND_OPERATION_SUBTRACT = 2, - D2D1_BLEND_OPERATION_REV_SUBTRACT = 3, - D2D1_BLEND_OPERATION_MIN = 4, - D2D1_BLEND_OPERATION_MAX = 5, -}} -ENUM!{enum D2D1_BLEND { - D2D1_BLEND_ZERO = 1, - D2D1_BLEND_ONE = 2, - D2D1_BLEND_SRC_COLOR = 3, - D2D1_BLEND_INV_SRC_COLOR = 4, - D2D1_BLEND_SRC_ALPHA = 5, - D2D1_BLEND_INV_SRC_ALPHA = 6, - D2D1_BLEND_DEST_ALPHA = 7, - D2D1_BLEND_INV_DEST_ALPHA = 8, - D2D1_BLEND_DEST_COLOR = 9, - D2D1_BLEND_INV_DEST_COLOR = 10, - D2D1_BLEND_SRC_ALPHA_SAT = 11, - D2D1_BLEND_BLEND_FACTOR = 14, - D2D1_BLEND_INV_BLEND_FACTOR = 15, -}} -ENUM!{enum D2D1_CHANNEL_DEPTH { - D2D1_CHANNEL_DEPTH_DEFAULT = 0, - D2D1_CHANNEL_DEPTH_1 = 1, - D2D1_CHANNEL_DEPTH_4 = 4, -}} -ENUM!{enum D2D1_FILTER { - D2D1_FILTER_MIN_MAG_MIP_POINT = 0x00, - D2D1_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x01, - D2D1_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x04, - D2D1_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x05, - D2D1_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10, - D2D1_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11, - D2D1_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14, - D2D1_FILTER_MIN_MAG_MIP_LINEAR = 0x15, - D2D1_FILTER_ANISOTROPIC = 0x55, -}} -ENUM!{enum D2D1_FEATURE { - D2D1_FEATURE_DOUBLES = 0, - D2D1_FEATURE_D3D10_X_HARDWARE_OPTIONS = 1, -}} -STRUCT!{struct D2D1_PROPERTY_BINDING { - propertyName: PCWSTR, - setFunction: PD2D1_PROPERTY_SET_FUNCTION, - getFunction: PD2D1_PROPERTY_GET_FUNCTION, -}} -STRUCT!{struct D2D1_RESOURCE_TEXTURE_PROPERTIES { - extents: *const UINT32, - dimensions: UINT32, - bufferPrecision: D2D1_BUFFER_PRECISION, - channelDepth: D2D1_CHANNEL_DEPTH, - filter: D2D1_FILTER, - extendModes: *const D2D1_EXTEND_MODE, -}} -STRUCT!{struct D2D1_INPUT_ELEMENT_DESC { - semanticName: PCSTR, - semanticIndex: UINT32, - format: DXGI_FORMAT, - inputSlot: UINT32, - alignedByteOffset: UINT32, -}} -pub const D2D1_APPEND_ALIGNED_ELEMENT: UINT32 = 0xffffffff; -STRUCT!{struct D2D1_VERTEX_BUFFER_PROPERTIES { - inputCount: UINT32, - usage: D2D1_VERTEX_USAGE, - data: *const BYTE, - byteWidth: UINT32, -}} -STRUCT!{struct D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES { - shaderBufferWithInputSignature: *const BYTE, - shaderBufferSize: UINT32, - inputElements: *const D2D1_INPUT_ELEMENT_DESC, - elementCount: UINT32, - stride: UINT32, -}} -STRUCT!{struct D2D1_VERTEX_RANGE { - startVertex: UINT32, - vertexCount: UINT32, -}} -STRUCT!{struct D2D1_BLEND_DESCRIPTION { - sourceBlend: D2D1_BLEND, - destinationBlend: D2D1_BLEND, - blendOperation: D2D1_BLEND_OPERATION, - sourceBlendAlpha: D2D1_BLEND, - destinationBlendAlpha: D2D1_BLEND, - blendOperationAlpha: D2D1_BLEND_OPERATION, - blendFactor: [FLOAT; 4], -}} -STRUCT!{struct D2D1_INPUT_DESCRIPTION { - filter: D2D1_FILTER, - leveOfDetailCount: UINT32, -}} -STRUCT!{struct D2D1_FEATURE_DATA_DOUBLES { - doublePrecisionFloatShaderOps: BOOL, -}} -STRUCT!{struct D2D1_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS { - computeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x: BOOL, -}} -DEFINE_GUID!{IID_ID2D1VertexBuffer, - 0x9b8b1336, 0x00a5, 0x4668, 0x92, 0xb7, 0xce, 0xd5, 0xd8, 0xbf, 0x9b, 0x7b} -DEFINE_GUID!{IID_ID2D1ResourceTexture, - 0x688d15c3, 0x02b0, 0x438d, 0xb1, 0x3a, 0xd1, 0xb4, 0x4c, 0x32, 0xc3, 0x9a} -DEFINE_GUID!{IID_ID2D1RenderInfo, - 0x519ae1bd, 0xd19a, 0x420d, 0xb8, 0x49, 0x36, 0x4f, 0x59, 0x47, 0x76, 0xb7} -DEFINE_GUID!{IID_ID2D1DrawInfo, - 0x693ce632, 0x7f2f, 0x45de, 0x93, 0xfe, 0x18, 0xd8, 0x8b, 0x37, 0xaa, 0x21} -DEFINE_GUID!{IID_ID2D1ComputeInfo, - 0x5598b14b, 0x9fd7, 0x48b7, 0x9b, 0xdb, 0x8f, 0x09, 0x64, 0xeb, 0x38, 0xbc} -DEFINE_GUID!{IID_ID2D1TransformNode, - 0xb2efe1e7, 0x729f, 0x4102, 0x94, 0x9f, 0x50, 0x5f, 0xa2, 0x1b, 0xf6, 0x66} -DEFINE_GUID!{IID_ID2D1TransformGraph, - 0x13d29038, 0xc3e6, 0x4034, 0x90, 0x81, 0x13, 0xb5, 0x3a, 0x41, 0x79, 0x92} -DEFINE_GUID!{IID_ID2D1Transform, - 0xef1a287d, 0x342a, 0x4f76, 0x8f, 0xdb, 0xda, 0x0d, 0x6e, 0xa9, 0xf9, 0x2b} -DEFINE_GUID!{IID_ID2D1DrawTransform, - 0x36bfdcb6, 0x9739, 0x435d, 0xa3, 0x0d, 0xa6, 0x53, 0xbe, 0xff, 0x6a, 0x6f} -DEFINE_GUID!{IID_ID2D1ComputeTransform, - 0x0d85573c, 0x01e3, 0x4f7d, 0xbf, 0xd9, 0x0d, 0x60, 0x60, 0x8b, 0xf3, 0xc3} -DEFINE_GUID!{IID_ID2D1AnalysisTransform, - 0x0359dc30, 0x95e6, 0x4568, 0x90, 0x55, 0x27, 0x72, 0x0d, 0x13, 0x0e, 0x93} -DEFINE_GUID!{IID_ID2D1SourceTransform, - 0xdb1800dd, 0x0c34, 0x4cf9, 0xbe, 0x90, 0x31, 0xcc, 0x0a, 0x56, 0x53, 0xe1} -DEFINE_GUID!{IID_ID2D1ConcreteTransform, - 0x1a799d8a, 0x69f7, 0x4e4c, 0x9f, 0xed, 0x43, 0x7c, 0xcc, 0x66, 0x84, 0xcc} -DEFINE_GUID!{IID_ID2D1BlendTransform, - 0x63ac0b32, 0xba44, 0x450f, 0x88, 0x06, 0x7f, 0x4c, 0xa1, 0xff, 0x2f, 0x1b} -DEFINE_GUID!{IID_ID2D1BorderTransform, - 0x4998735c, 0x3a19, 0x473c, 0x97, 0x81, 0x65, 0x68, 0x47, 0xe3, 0xa3, 0x47} -DEFINE_GUID!{IID_ID2D1OffsetTransform, - 0x3fe6adea, 0x7643, 0x4f53, 0xbd, 0x14, 0xa0, 0xce, 0x63, 0xf2, 0x40, 0x42} -DEFINE_GUID!{IID_ID2D1BoundsAdjustmentTransform, - 0x90f732e2, 0x5092, 0x4606, 0xa8, 0x19, 0x86, 0x51, 0x97, 0x0b, 0xac, 0xcd} -DEFINE_GUID!{IID_ID2D1EffectImpl, - 0xa248fd3f, 0x3e6c, 0x4e63, 0x9f, 0x03, 0x7f, 0x68, 0xec, 0xc9, 0x1d, 0xb9} -DEFINE_GUID!{IID_ID2D1EffectContext, - 0x3d9f916b, 0x27dc, 0x4ad7, 0xb4, 0xf1, 0x64, 0x94, 0x53, 0x40, 0xf5, 0x63} -RIDL!{#[uuid(0x9b8b1336, 0x00a5, 0x4668, 0x92, 0xb7, 0xce, 0xd5, 0xd8, 0xbf, 0x9b, 0x7b)] -interface ID2D1VertexBuffer(ID2D1VertexBufferVtbl): IUnknown(IUnknownVtbl) { - fn Map( - data: *mut *mut BYTE, - ) -> HRESULT, - fn Unmap() -> HRESULT, -}} -RIDL!{#[uuid(0x688d15c3, 0x02b0, 0x438d, 0xb1, 0x3a, 0xd1, 0xb4, 0x4c, 0x32, 0xc3, 0x9a)] -interface ID2D1ResourceTexture(ID2D1ResourceTextureVtbl): IUnknown(IUnknownVtbl) { - fn Update( - minimumExtents: *const UINT32, - maximumExtents: *const UINT32, - strides: *const UINT32, - dimensions: UINT32, - data: *const BYTE, - dataCount: UINT32, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x519ae1bd, 0xd19a, 0x420d, 0xb8, 0x49, 0x36, 0x4f, 0x59, 0x47, 0x76, 0xb7)] -interface ID2D1RenderInfo(ID2D1RenderInfoVtbl): IUnknown(IUnknownVtbl) { - fn SetInputDescription( - inputIndex: UINT32, - inputDescription: D2D1_INPUT_DESCRIPTION, - ) -> HRESULT, - fn SetOutputBuffer( - bufferPrecision: D2D1_BUFFER_PRECISION, - channelDepth: D2D1_CHANNEL_DEPTH, - ) -> HRESULT, - fn SetCached( - isCached: BOOL, - ) -> (), - fn SetInstructionCountHint( - instructionCount: UINT32, - ) -> (), -}} -RIDL!{#[uuid(0x693ce632, 0x7f2f, 0x45de, 0x93, 0xfe, 0x18, 0xd8, 0x8b, 0x37, 0xaa, 0x21)] -interface ID2D1DrawInfo(ID2D1DrawInfoVtbl): ID2D1RenderInfo(ID2D1RenderInfoVtbl) { - fn SetPixelShaderConstantBuffer( - buffer: *const BYTE, - bufferCount: UINT32, - ) -> HRESULT, - fn SetResourceTexture( - textureIndex: UINT32, - resourceTexture: *mut ID2D1ResourceTexture, - ) -> HRESULT, - fn SetVertexShaderConstantBuffer( - buffer: *const BYTE, - bufferCount: UINT32, - ) -> HRESULT, - fn SetPixelShader( - shaderId: REFGUID, - pixelOptions: D2D1_PIXEL_OPTIONS, - ) -> HRESULT, - fn SetVertexProcessing( - vertexBuffer: *mut ID2D1VertexBuffer, - vertexOptions: D2D1_VERTEX_OPTIONS, - blendDescription: *const D2D1_BLEND_DESCRIPTION, - vertexRange: *const D2D1_VERTEX_RANGE, - vertexShader: *const GUID, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x5598b14b, 0x9fd7, 0x48b7, 0x9b, 0xdb, 0x8f, 0x09, 0x64, 0xeb, 0x38, 0xbc)] -interface ID2D1ComputeInfo(ID2D1ComputeInfoVtbl): ID2D1RenderInfo(ID2D1RenderInfoVtbl) { - fn SetComputeShaderConstantBuffer( - buffer: *const BYTE, - bufferCount: UINT32, - ) -> HRESULT, - fn SetComputeShader( - shaderId: REFGUID, - ) -> HRESULT, - fn SetResourceTexture( - textureIndex: UINT32, - resourceTexture: *mut ID2D1ResourceTexture, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xb2efe1e7, 0x729f, 0x4102, 0x94, 0x9f, 0x50, 0x5f, 0xa2, 0x1b, 0xf6, 0x66)] -interface ID2D1TransformNode(ID2D1TransformNodeVtbl): IUnknown(IUnknownVtbl) { - fn GetInputCount() -> UINT32, -}} -RIDL!{#[uuid(0x13d29038, 0xc3e6, 0x4034, 0x90, 0x81, 0x13, 0xb5, 0x3a, 0x41, 0x79, 0x92)] -interface ID2D1TransformGraph(ID2D1TransformGraphVtbl): IUnknown(IUnknownVtbl) { - fn GetInputCount() -> UINT32, - fn SetSingleTransformNode( - node: *mut ID2D1TransformNode, - ) -> HRESULT, - fn AddNode( - node: *mut ID2D1TransformNode, - ) -> HRESULT, - fn RemoveNode( - node: *mut ID2D1TransformNode, - ) -> HRESULT, - fn SetOutputNode( - node: *mut ID2D1TransformNode, - ) -> HRESULT, - fn ConnectNode( - fromNode: *mut ID2D1TransformNode, - toNode: *mut ID2D1TransformNode, - toNodeInputIndex: UINT32, - ) -> HRESULT, - fn ConnectToEffectInput( - toEffectInputIndex: UINT32, - node: *mut ID2D1TransformNode, - toNodeInputIndex: UINT32, - ) -> HRESULT, - fn Clear() -> (), - fn SetPassthroughGraph( - effectInputIndex: UINT32, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xef1a287d, 0x342a, 0x4f76, 0x8f, 0xdb, 0xda, 0x0d, 0x6e, 0xa9, 0xf9, 0x2b)] -interface ID2D1Transform(ID2D1TransformVtbl): ID2D1TransformNode(ID2D1TransformNodeVtbl) { - fn MapOutputRectToInputRects( - outputRect: *const D2D_RECT_L, - inputRects: *mut D2D_RECT_L, - inputRectsCount: UINT32, - ) -> HRESULT, - fn MapInputRectsToOutputRect( - inputRects: *const D2D_RECT_L, - inputOpaqueSubRects: *const D2D_RECT_L, - inputRectCount: UINT32, - outputRect: *mut D2D_RECT_L, - outputOpaqueSubRect: *mut D2D_RECT_L, - ) -> HRESULT, - fn MapInvalidRect( - inputIndex: UINT32, - invalidInputRect: D2D_RECT_L, - invalidOutputRect: *mut D2D_RECT_L, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x36bfdcb6, 0x9739, 0x435d, 0xa3, 0x0d, 0xa6, 0x53, 0xbe, 0xff, 0x6a, 0x6f)] -interface ID2D1DrawTransform(ID2D1DrawTransformVtbl): ID2D1Transform(ID2D1TransformVtbl) { - fn SetDrawInfo( - drawInfo: *mut ID2D1DrawInfo, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x0d85573c, 0x01e3, 0x4f7d, 0xbf, 0xd9, 0x0d, 0x60, 0x60, 0x8b, 0xf3, 0xc3)] -interface ID2D1ComputeTransform(ID2D1ComputeTransformVtbl): ID2D1Transform(ID2D1TransformVtbl) { - fn SetComputeInfo( - computeInfo: *mut ID2D1ComputeInfo, - ) -> HRESULT, - fn CalculateThreadgroups( - outputRect: *const D2D_RECT_L, - dimensionX: *mut UINT32, - dimensionY: *mut UINT32, - dimensionZ: *mut UINT32, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x0359dc30, 0x95e6, 0x4568, 0x90, 0x55, 0x27, 0x72, 0x0d, 0x13, 0x0e, 0x93)] -interface ID2D1AnalysisTransform(ID2D1AnalysisTransformVtbl): IUnknown(IUnknownVtbl) { - fn ProcessAnalysisResults( - analysisData: *const BYTE, - analysisDataCount: UINT32, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xdb1800dd, 0x0c34, 0x4cf9, 0xbe, 0x90, 0x31, 0xcc, 0x0a, 0x56, 0x53, 0xe1)] -interface ID2D1SourceTransform(ID2D1SourceTransformVtbl): ID2D1Transform(ID2D1TransformVtbl) { - fn SetRenderInfo( - renderInfo: *mut ID2D1RenderInfo, - ) -> HRESULT, - fn Draw( - target: *mut ID2D1Bitmap1, - drawRect: *mut D2D_RECT_L, - targetOrigin: D2D_POINT_2U, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x1a799d8a, 0x69f7, 0x4e4c, 0x9f, 0xed, 0x43, 0x7c, 0xcc, 0x66, 0x84, 0xcc)] -interface ID2D1ConcreteTransform(ID2D1ConcreteTransformVtbl): - ID2D1TransformNode(ID2D1TransformNodeVtbl) { - fn SetOutputBuffer( - bufferPrecision: D2D1_BUFFER_PRECISION, - channelDepth: D2D1_CHANNEL_DEPTH, - ) -> HRESULT, - fn SetCached( - isCached: BOOL, - ) -> (), -}} -RIDL!{#[uuid(0x63ac0b32, 0xba44, 0x450f, 0x88, 0x06, 0x7f, 0x4c, 0xa1, 0xff, 0x2f, 0x1b)] -interface ID2D1BlendTransform(ID2D1BlendTransformVtbl): - ID2D1ConcreteTransform(ID2D1ConcreteTransformVtbl) { - fn SetDescription( - description: *const D2D1_BLEND_DESCRIPTION, - ) -> (), - fn GetDescription( - description: *mut D2D1_BLEND_DESCRIPTION, - ) -> (), -}} -RIDL!{#[uuid(0x4998735c, 0x3a19, 0x473c, 0x97, 0x81, 0x65, 0x68, 0x47, 0xe3, 0xa3, 0x47)] -interface ID2D1BorderTransform(ID2D1BorderTransformVtbl): - ID2D1ConcreteTransform(ID2D1ConcreteTransformVtbl) { - fn SetExtendModeX( - extendMode: D2D1_EXTEND_MODE, - ) -> (), - fn SetExtendModeY( - extendMode: D2D1_EXTEND_MODE, - ) -> (), - fn GetExtendModeX() -> D2D1_EXTEND_MODE, - fn GetExtendModeY() -> D2D1_EXTEND_MODE, -}} -RIDL!{#[uuid(0x3fe6adea, 0x7643, 0x4f53, 0xbd, 0x14, 0xa0, 0xce, 0x63, 0xf2, 0x40, 0x42)] -interface ID2D1OffsetTransform(ID2D1OffsetTransformVtbl): - ID2D1TransformNode(ID2D1TransformNodeVtbl) { - fn SetOffset( - offset: D2D_POINT_2L, - ) -> (), - fn GetOffset() -> D2D_POINT_2L, -}} -RIDL!{#[uuid(0x90f732e2, 0x5092, 0x4606, 0xa8, 0x19, 0x86, 0x51, 0x97, 0x0b, 0xac, 0xcd)] -interface ID2D1BoundsAdjustmentTransform(ID2D1BoundsAdjustmentTransformVtbl): - ID2D1TransformNode(ID2D1TransformNodeVtbl) { - fn SetOutputBounds( - outputBounds: *const D2D_RECT_L, - ) -> (), - fn GetOutputBounds( - outputBounds: *mut D2D_RECT_L, - ) -> (), -}} -RIDL!{#[uuid(0xa248fd3f, 0x3e6c, 0x4e63, 0x9f, 0x03, 0x7f, 0x68, 0xec, 0xc9, 0x1d, 0xb9)] -interface ID2D1EffectImpl(ID2D1EffectImplVtbl): IUnknown(IUnknownVtbl) { - fn Initialize( - effectContext: *mut ID2D1EffectContext, - transformGraph: *mut ID2D1TransformGraph, - ) -> HRESULT, - fn PrepareForRender( - changeType: D2D1_CHANGE_TYPE, - ) -> HRESULT, - fn SetGraph( - transformGraph: *mut ID2D1TransformGraph, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x3d9f916b, 0x27dc, 0x4ad7, 0xb4, 0xf1, 0x64, 0x94, 0x53, 0x40, 0xf5, 0x63)] -interface ID2D1EffectContext(ID2D1EffectContextVtbl): IUnknown(IUnknownVtbl) { - fn GetDpi( - dpiX: *mut FLOAT, - dpiY: *mut FLOAT, - ) -> (), - fn CreateEffect( - effectId: REFCLSID, - effect: *mut *mut ID2D1Effect, - ) -> HRESULT, - fn GetMaximumSupportedFeatureLevel( - featureLevels: *const D3D_FEATURE_LEVEL, - featureLevelsCount: UINT32, - maximumSupportedFeatureLevel: *mut D3D_FEATURE_LEVEL, - ) -> HRESULT, - fn CreateTransformNodeFromEffect( - effect: *mut ID2D1Effect, - transformNode: *mut *mut ID2D1TransformNode, - ) -> HRESULT, - fn CreateBlendTransform( - numInputs: UINT32, - blendDescription: D2D1_BLEND_DESCRIPTION, - transform: *mut *mut ID2D1BlendTransform, - ) -> HRESULT, - fn CreateBorderTransform( - extendModeX: D2D1_EXTEND_MODE, - extendModeY: D2D1_EXTEND_MODE, - transform: *mut *mut ID2D1BorderTransform, - ) -> HRESULT, - fn CreateOffsetTransform( - offset: D2D_POINT_2L, - transform: *mut *mut ID2D1OffsetTransform, - ) -> HRESULT, - fn CreateBoundsAdjustmentTransform( - outputRectangle: *mut D2D_RECT_L, - transform: ID2D1BoundsAdjustmentTransform, - ) -> HRESULT, - fn LoadPixelShader( - shaderId: REFGUID, - shaderBuffer: *const BYTE, - shaderBufferCount: UINT32, - ) -> HRESULT, - fn LoadVertexShader( - resourceId: REFGUID, - shaderBuffer: *const BYTE, - shaderBufferCount: UINT32, - ) -> HRESULT, - fn LoadComputeShader( - resourceId: REFGUID, - shaderBuffer: *const BYTE, - shaderBufferCount: UINT32, - ) -> HRESULT, - fn IsShaderLoaded( - shaderId: REFGUID, - ) -> BOOL, - fn CreateResourceTexture( - resourceId: *const GUID, - resourceTextureProperties: *const D2D1_RESOURCE_TEXTURE_PROPERTIES, - data: *const BYTE, - strides: *const UINT32, - dataSize: UINT32, - resourceTexture: *mut *mut ID2D1ResourceTexture, - ) -> HRESULT, - fn FindResourceTexture( - resourceId: *const GUID, - resourceTexture: *mut *mut ID2D1ResourceTexture, - ) -> HRESULT, - fn CreateVertexBuffer( - vertexBufferProperties: *const D2D1_VERTEX_BUFFER_PROPERTIES, - resourceId: *const GUID, - customVertexBufferProperties: *const D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES, - buffer: *mut *mut ID2D1VertexBuffer, - ) -> HRESULT, - fn FindVertexBuffer( - resourceId: *const GUID, - buffer: *mut *mut ID2D1VertexBuffer, - ) -> HRESULT, - fn CreateColorContext( - space: D2D1_COLOR_SPACE, - profile: *const BYTE, - profileSize: UINT32, - colorContext: *mut *mut ID2D1ColorContext, - ) -> HRESULT, - fn CreateColorContextFromFilename( - filename: PCWSTR, - colorContext: *mut *mut ID2D1ColorContext, - ) -> HRESULT, - fn CreateColorContextFromWicColorContext( - wicColorContext: *mut IWICColorContext, - colorContext: *mut *mut ID2D1ColorContext, - ) -> HRESULT, - fn CheckFeatureSupport( - feature: D2D1_FEATURE, - featureSupportData: *mut c_void, - featureSupportDataSize: UINT32, - ) -> HRESULT, - fn IsBufferPrecisionSupported( - bufferPrecision: D2D1_BUFFER_PRECISION, - ) -> BOOL, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d2d1effects.rs b/vendor/registry-40351f815f426200/winapi/src/um/d2d1effects.rs deleted file mode 100644 index c2d1f58a1..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d2d1effects.rs +++ /dev/null @@ -1,617 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of d2d1effects.h -DEFINE_GUID!{CLSID_D2D12DAffineTransform, - 0x6AA97485, 0x6354, 0x4cfc, 0x90, 0x8C, 0xE4, 0xA7, 0x4F, 0x62, 0xC9, 0x6C} -DEFINE_GUID!{CLSID_D2D13DPerspectiveTransform, - 0xC2844D0B, 0x3D86, 0x46e7, 0x85, 0xBA, 0x52, 0x6C, 0x92, 0x40, 0xF3, 0xFB} -DEFINE_GUID!{CLSID_D2D13DTransform, - 0xe8467b04, 0xec61, 0x4b8a, 0xb5, 0xde, 0xd4, 0xd7, 0x3d, 0xeb, 0xea, 0x5a} -DEFINE_GUID!{CLSID_D2D1ArithmeticComposite, - 0xfc151437, 0x049a, 0x4784, 0xa2, 0x4a, 0xf1, 0xc4, 0xda, 0xf2, 0x09, 0x87} -DEFINE_GUID!{CLSID_D2D1Atlas, - 0x913e2be4, 0xfdcf, 0x4fe2, 0xa5, 0xf0, 0x24, 0x54, 0xf1, 0x4f, 0xf4, 0x08} -DEFINE_GUID!{CLSID_D2D1BitmapSource, - 0x5fb6c24d, 0xc6dd, 0x4231, 0x94, 0x4, 0x50, 0xf4, 0xd5, 0xc3, 0x25, 0x2d} -DEFINE_GUID!{CLSID_D2D1Blend, - 0x81c5b77b, 0x13f8, 0x4cdd, 0xad, 0x20, 0xc8, 0x90, 0x54, 0x7a, 0xc6, 0x5d} -DEFINE_GUID!{CLSID_D2D1Border, - 0x2A2D49C0, 0x4ACF, 0x43c7, 0x8C, 0x6A, 0x7C, 0x4A, 0x27, 0x87, 0x4D, 0x27} -DEFINE_GUID!{CLSID_D2D1Brightness, - 0x8cea8d1e, 0x77b0, 0x4986, 0xb3, 0xb9, 0x2f, 0x0c, 0x0e, 0xae, 0x78, 0x87} -DEFINE_GUID!{CLSID_D2D1ColorManagement, - 0x1A28524C, 0xFDD6, 0x4AA4, 0xAE, 0x8F, 0x83, 0x7E, 0xB8, 0x26, 0x7B, 0x37} -DEFINE_GUID!{CLSID_D2D1ColorMatrix, - 0x921F03D6, 0x641C, 0x47DF, 0x85, 0x2D, 0xB4, 0xBB, 0x61, 0x53, 0xAE, 0x11} -DEFINE_GUID!{CLSID_D2D1Composite, - 0x48fc9f51, 0xf6ac, 0x48f1, 0x8b, 0x58, 0x3b, 0x28, 0xac, 0x46, 0xf7, 0x6d} -DEFINE_GUID!{CLSID_D2D1ConvolveMatrix, - 0x407f8c08, 0x5533, 0x4331, 0xa3, 0x41, 0x23, 0xcc, 0x38, 0x77, 0x84, 0x3e} -DEFINE_GUID!{CLSID_D2D1Crop, - 0xE23F7110, 0x0E9A, 0x4324, 0xAF, 0x47, 0x6A, 0x2C, 0x0C, 0x46, 0xF3, 0x5B} -DEFINE_GUID!{CLSID_D2D1DirectionalBlur, - 0x174319a6, 0x58e9, 0x49b2, 0xbb, 0x63, 0xca, 0xf2, 0xc8, 0x11, 0xa3, 0xdb} -DEFINE_GUID!{CLSID_D2D1DiscreteTransfer, - 0x90866fcd, 0x488e, 0x454b, 0xaf, 0x06, 0xe5, 0x04, 0x1b, 0x66, 0xc3, 0x6c} -DEFINE_GUID!{CLSID_D2D1DisplacementMap, - 0xedc48364, 0x417, 0x4111, 0x94, 0x50, 0x43, 0x84, 0x5f, 0xa9, 0xf8, 0x90} -DEFINE_GUID!{CLSID_D2D1DistantDiffuse, - 0x3e7efd62, 0xa32d, 0x46d4, 0xa8, 0x3c, 0x52, 0x78, 0x88, 0x9a, 0xc9, 0x54} -DEFINE_GUID!{CLSID_D2D1DistantSpecular, - 0x428c1ee5, 0x77b8, 0x4450, 0x8a, 0xb5, 0x72, 0x21, 0x9c, 0x21, 0xab, 0xda} -DEFINE_GUID!{CLSID_D2D1DpiCompensation, - 0x6c26c5c7, 0x34e0, 0x46fc, 0x9c, 0xfd, 0xe5, 0x82, 0x37, 0x6, 0xe2, 0x28} -DEFINE_GUID!{CLSID_D2D1Flood, - 0x61c23c20, 0xae69, 0x4d8e, 0x94, 0xcf, 0x50, 0x07, 0x8d, 0xf6, 0x38, 0xf2} -DEFINE_GUID!{CLSID_D2D1GammaTransfer, - 0x409444c4, 0xc419, 0x41a0, 0xb0, 0xc1, 0x8c, 0xd0, 0xc0, 0xa1, 0x8e, 0x42} -DEFINE_GUID!{CLSID_D2D1GaussianBlur, - 0x1feb6d69, 0x2fe6, 0x4ac9, 0x8c, 0x58, 0x1d, 0x7f, 0x93, 0xe7, 0xa6, 0xa5} -DEFINE_GUID!{CLSID_D2D1Scale, - 0x9daf9369, 0x3846, 0x4d0e, 0xa4, 0x4e, 0xc, 0x60, 0x79, 0x34, 0xa5, 0xd7} -DEFINE_GUID!{CLSID_D2D1Histogram, - 0x881db7d0, 0xf7ee, 0x4d4d, 0xa6, 0xd2, 0x46, 0x97, 0xac, 0xc6, 0x6e, 0xe8} -DEFINE_GUID!{CLSID_D2D1HueRotation, - 0x0f4458ec, 0x4b32, 0x491b, 0x9e, 0x85, 0xbd, 0x73, 0xf4, 0x4d, 0x3e, 0xb6} -DEFINE_GUID!{CLSID_D2D1LinearTransfer, - 0xad47c8fd, 0x63ef, 0x4acc, 0x9b, 0x51, 0x67, 0x97, 0x9c, 0x03, 0x6c, 0x06} -DEFINE_GUID!{CLSID_D2D1LuminanceToAlpha, - 0x41251ab7, 0x0beb, 0x46f8, 0x9d, 0xa7, 0x59, 0xe9, 0x3f, 0xcc, 0xe5, 0xde} -DEFINE_GUID!{CLSID_D2D1Morphology, - 0xeae6c40d, 0x626a, 0x4c2d, 0xbf, 0xcb, 0x39, 0x10, 0x01, 0xab, 0xe2, 0x02} -DEFINE_GUID!{CLSID_D2D1OpacityMetadata, - 0x6c53006a, 0x4450, 0x4199, 0xaa, 0x5b, 0xad, 0x16, 0x56, 0xfe, 0xce, 0x5e} -DEFINE_GUID!{CLSID_D2D1PointDiffuse, - 0xb9e303c3, 0xc08c, 0x4f91, 0x8b, 0x7b, 0x38, 0x65, 0x6b, 0xc4, 0x8c, 0x20} -DEFINE_GUID!{CLSID_D2D1PointSpecular, - 0x09c3ca26, 0x3ae2, 0x4f09, 0x9e, 0xbc, 0xed, 0x38, 0x65, 0xd5, 0x3f, 0x22} -DEFINE_GUID!{CLSID_D2D1Premultiply, - 0x06eab419, 0xdeed, 0x4018, 0x80, 0xd2, 0x3e, 0x1d, 0x47, 0x1a, 0xde, 0xb2} -DEFINE_GUID!{CLSID_D2D1Saturation, - 0x5cb2d9cf, 0x327d, 0x459f, 0xa0, 0xce, 0x40, 0xc0, 0xb2, 0x08, 0x6b, 0xf7} -DEFINE_GUID!{CLSID_D2D1Shadow, - 0xC67EA361, 0x1863, 0x4e69, 0x89, 0xDB, 0x69, 0x5D, 0x3E, 0x9A, 0x5B, 0x6B} -DEFINE_GUID!{CLSID_D2D1SpotDiffuse, - 0x818a1105, 0x7932, 0x44f4, 0xaa, 0x86, 0x08, 0xae, 0x7b, 0x2f, 0x2c, 0x93} -DEFINE_GUID!{CLSID_D2D1SpotSpecular, - 0xedae421e, 0x7654, 0x4a37, 0x9d, 0xb8, 0x71, 0xac, 0xc1, 0xbe, 0xb3, 0xc1} -DEFINE_GUID!{CLSID_D2D1TableTransfer, - 0x5bf818c3, 0x5e43, 0x48cb, 0xb6, 0x31, 0x86, 0x83, 0x96, 0xd6, 0xa1, 0xd4} -DEFINE_GUID!{CLSID_D2D1Tile, - 0xB0784138, 0x3B76, 0x4bc5, 0xB1, 0x3B, 0x0F, 0xA2, 0xAD, 0x02, 0x65, 0x9F} -DEFINE_GUID!{CLSID_D2D1Turbulence, - 0xCF2BB6AE, 0x889A, 0x4ad7, 0xBA, 0x29, 0xA2, 0xFD, 0x73, 0x2C, 0x9F, 0xC9} -DEFINE_GUID!{CLSID_D2D1UnPremultiply, - 0xfb9ac489, 0xad8d, 0x41ed, 0x99, 0x99, 0xbb, 0x63, 0x47, 0xd1, 0x10, 0xf7} -ENUM!{enum D2D1_BORDER_MODE { - D2D1_BORDER_MODE_SOFT = 0, - D2D1_BORDER_MODE_HARD = 1, - D2D1_BORDER_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_CHANNEL_SELECTOR { - D2D1_CHANNEL_SELECTOR_R = 0, - D2D1_CHANNEL_SELECTOR_G = 1, - D2D1_CHANNEL_SELECTOR_B = 2, - D2D1_CHANNEL_SELECTOR_A = 3, - D2D1_CHANNEL_SELECTOR_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_BITMAPSOURCE_ORIENTATION { - D2D1_BITMAPSOURCE_ORIENTATION_DEFAULT = 1, - D2D1_BITMAPSOURCE_ORIENTATION_FLIP_HORIZONTAL = 2, - D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180 = 3, - D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL = 4, - D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL = 5, - D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90 = 6, - D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL = 7, - D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270 = 8, - D2D1_BITMAPSOURCE_ORIENTATION_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_GAUSSIANBLUR_PROP { - D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION = 0, - D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION = 1, - D2D1_GAUSSIANBLUR_PROP_BORDER_MODE = 2, - D2D1_GAUSSIANBLUR_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_GAUSSIANBLUR_OPTIMIZATION { - D2D1_GAUSSIANBLUR_OPTIMIZATION_SPEED = 0, - D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED = 1, - D2D1_GAUSSIANBLUR_OPTIMIZATION_QUALITY = 2, - D2D1_GAUSSIANBLUR_OPTIMIZATION_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_DIRECTIONALBLUR_PROP { - D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION = 0, - D2D1_DIRECTIONALBLUR_PROP_ANGLE = 1, - D2D1_DIRECTIONALBLUR_PROP_OPTIMIZATION = 2, - D2D1_DIRECTIONALBLUR_PROP_BORDER_MODE = 3, - D2D1_DIRECTIONALBLUR_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_DIRECTIONALBLUR_OPTIMIZATION { - D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED = 0, - D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED = 1, - D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY = 2, - D2D1_DIRECTIONALBLUR_OPTIMIZATION_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_SHADOW_PROP { - D2D1_SHADOW_PROP_BLUR_STANDARD_DEVIATION = 0, - D2D1_SHADOW_PROP_COLOR = 1, - D2D1_SHADOW_PROP_OPTIMIZATION = 2, - D2D1_SHADOW_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_SHADOW_OPTIMIZATION { - D2D1_SHADOW_OPTIMIZATION_SPEED = 0, - D2D1_SHADOW_OPTIMIZATION_BALANCED = 1, - D2D1_SHADOW_OPTIMIZATION_QUALITY = 2, - D2D1_SHADOW_OPTIMIZATION_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_BLEND_PROP { - D2D1_BLEND_PROP_MODE = 0, - D2D1_BLEND_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_BLEND_MODE { - D2D1_BLEND_MODE_MULTIPLY = 0, - D2D1_BLEND_MODE_SCREEN = 1, - D2D1_BLEND_MODE_DARKEN = 2, - D2D1_BLEND_MODE_LIGHTEN = 3, - D2D1_BLEND_MODE_DISSOLVE = 4, - D2D1_BLEND_MODE_COLOR_BURN = 5, - D2D1_BLEND_MODE_LINEAR_BURN = 6, - D2D1_BLEND_MODE_DARKER_COLOR = 7, - D2D1_BLEND_MODE_LIGHTER_COLOR = 8, - D2D1_BLEND_MODE_COLOR_DODGE = 9, - D2D1_BLEND_MODE_LINEAR_DODGE = 10, - D2D1_BLEND_MODE_OVERLAY = 11, - D2D1_BLEND_MODE_SOFT_LIGHT = 12, - D2D1_BLEND_MODE_HARD_LIGHT = 13, - D2D1_BLEND_MODE_VIVID_LIGHT = 14, - D2D1_BLEND_MODE_LINEAR_LIGHT = 15, - D2D1_BLEND_MODE_PIN_LIGHT = 16, - D2D1_BLEND_MODE_HARD_MIX = 17, - D2D1_BLEND_MODE_DIFFERENCE = 18, - D2D1_BLEND_MODE_EXCLUSION = 19, - D2D1_BLEND_MODE_HUE = 20, - D2D1_BLEND_MODE_SATURATION = 21, - D2D1_BLEND_MODE_COLOR = 22, - D2D1_BLEND_MODE_LUMINOSITY = 23, - D2D1_BLEND_MODE_SUBTRACT = 24, - D2D1_BLEND_MODE_DIVISION = 25, - D2D1_BLEND_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_SATURATION_PROP { - D2D1_SATURATION_PROP_SATURATION = 0, - D2D1_SATURATION_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_HUEROTATION_PROP { - D2D1_HUEROTATION_PROP_ANGLE = 0, - D2D1_HUEROTATION_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_COLORMATRIX_PROP { - D2D1_COLORMATRIX_PROP_COLOR_MATRIX = 0, - D2D1_COLORMATRIX_PROP_ALPHA_MODE = 1, - D2D1_COLORMATRIX_PROP_CLAMP_OUTPUT = 2, - D2D1_COLORMATRIX_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_COLORMATRIX_ALPHA_MODE { - D2D1_COLORMATRIX_ALPHA_MODE_PREMULTIPLIED = 1, - D2D1_COLORMATRIX_ALPHA_MODE_STRAIGHT = 2, - D2D1_COLORMATRIX_ALPHA_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_BITMAPSOURCE_PROP { - D2D1_BITMAPSOURCE_PROP_WIC_BITMAP_SOURCE = 0, - D2D1_BITMAPSOURCE_PROP_SCALE = 1, - D2D1_BITMAPSOURCE_PROP_INTERPOLATION_MODE = 2, - D2D1_BITMAPSOURCE_PROP_ENABLE_DPI_CORRECTION = 3, - D2D1_BITMAPSOURCE_PROP_ALPHA_MODE = 4, - D2D1_BITMAPSOURCE_PROP_ORIENTATION = 5, - D2D1_BITMAPSOURCE_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_BITMAPSOURCE_INTERPOLATION_MODE { - D2D1_BITMAPSOURCE_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0, - D2D1_BITMAPSOURCE_INTERPOLATION_MODE_LINEAR = 1, - D2D1_BITMAPSOURCE_INTERPOLATION_MODE_CUBIC = 2, - D2D1_BITMAPSOURCE_INTERPOLATION_MODE_FANT = 6, - D2D1_BITMAPSOURCE_INTERPOLATION_MODE_MIPMAP_LINEAR = 7, - D2D1_BITMAPSOURCE_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_BITMAPSOURCE_ALPHA_MODE { - D2D1_BITMAPSOURCE_ALPHA_MODE_PREMULTIPLIED = 1, - D2D1_BITMAPSOURCE_ALPHA_MODE_STRAIGHT = 2, - D2D1_BITMAPSOURCE_ALPHA_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_COMPOSITE_PROP { - D2D1_COMPOSITE_PROP_MODE = 0, - D2D1_COMPOSITE_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_3DTRANSFORM_PROP { - D2D1_3DTRANSFORM_PROP_INTERPOLATION_MODE = 0, - D2D1_3DTRANSFORM_PROP_BORDER_MODE = 1, - D2D1_3DTRANSFORM_PROP_TRANSFORM_MATRIX = 2, - D2D1_3DTRANSFORM_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_3DTRANSFORM_INTERPOLATION_MODE { - D2D1_3DTRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0, - D2D1_3DTRANSFORM_INTERPOLATION_MODE_LINEAR = 1, - D2D1_3DTRANSFORM_INTERPOLATION_MODE_CUBIC = 2, - D2D1_3DTRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 3, - D2D1_3DTRANSFORM_INTERPOLATION_MODE_ANISOTROPIC = 4, - D2D1_3DTRANSFORM_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_3DPERSPECTIVETRANSFORM_PROP { - D2D1_3DPERSPECTIVETRANSFORM_PROP_INTERPOLATION_MODE = 0, - D2D1_3DPERSPECTIVETRANSFORM_PROP_BORDER_MODE = 1, - D2D1_3DPERSPECTIVETRANSFORM_PROP_DEPTH = 2, - D2D1_3DPERSPECTIVETRANSFORM_PROP_PERSPECTIVE_ORIGIN = 3, - D2D1_3DPERSPECTIVETRANSFORM_PROP_LOCAL_OFFSET = 4, - D2D1_3DPERSPECTIVETRANSFORM_PROP_GLOBAL_OFFSET = 5, - D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION_ORIGIN = 6, - D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION = 7, - D2D1_3DPERSPECTIVETRANSFORM_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE { - D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0, - D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_LINEAR = 1, - D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_CUBIC = 2, - D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 3, - D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC = 4, - D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_2DAFFINETRANSFORM_PROP { - D2D1_2DAFFINETRANSFORM_PROP_INTERPOLATION_MODE = 0, - D2D1_2DAFFINETRANSFORM_PROP_BORDER_MODE = 1, - D2D1_2DAFFINETRANSFORM_PROP_TRANSFORM_MATRIX = 2, - D2D1_2DAFFINETRANSFORM_PROP_SHARPNESS = 3, - D2D1_2DAFFINETRANSFORM_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE { - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0, - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_LINEAR = 1, - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_CUBIC = 2, - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 3, - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC = 4, - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC = 5, - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_DPICOMPENSATION_PROP { - D2D1_DPICOMPENSATION_PROP_INTERPOLATION_MODE = 0, - D2D1_DPICOMPENSATION_PROP_BORDER_MODE = 1, - D2D1_DPICOMPENSATION_PROP_INPUT_DPI = 2, - D2D1_DPICOMPENSATION_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_DPICOMPENSATION_INTERPOLATION_MODE { - D2D1_DPICOMPENSATION_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0, - D2D1_DPICOMPENSATION_INTERPOLATION_MODE_LINEAR = 1, - D2D1_DPICOMPENSATION_INTERPOLATION_MODE_CUBIC = 2, - D2D1_DPICOMPENSATION_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 3, - D2D1_DPICOMPENSATION_INTERPOLATION_MODE_ANISOTROPIC = 4, - D2D1_DPICOMPENSATION_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC = 5, - D2D1_DPICOMPENSATION_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_SCALE_PROP { - D2D1_SCALE_PROP_SCALE = 0, - D2D1_SCALE_PROP_CENTER_POINT = 1, - D2D1_SCALE_PROP_INTERPOLATION_MODE = 2, - D2D1_SCALE_PROP_BORDER_MODE = 3, - D2D1_SCALE_PROP_SHARPNESS = 4, - D2D1_SCALE_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_SCALE_INTERPOLATION_MODE { - D2D1_SCALE_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0, - D2D1_SCALE_INTERPOLATION_MODE_LINEAR = 1, - D2D1_SCALE_INTERPOLATION_MODE_CUBIC = 2, - D2D1_SCALE_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 3, - D2D1_SCALE_INTERPOLATION_MODE_ANISOTROPIC = 4, - D2D1_SCALE_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC = 5, - D2D1_SCALE_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_TURBULENCE_PROP { - D2D1_TURBULENCE_PROP_OFFSET = 0, - D2D1_TURBULENCE_PROP_SIZE = 1, - D2D1_TURBULENCE_PROP_BASE_FREQUENCY = 2, - D2D1_TURBULENCE_PROP_NUM_OCTAVES = 3, - D2D1_TURBULENCE_PROP_SEED = 4, - D2D1_TURBULENCE_PROP_NOISE = 5, - D2D1_TURBULENCE_PROP_STITCHABLE = 6, - D2D1_TURBULENCE_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_TURBULENCE_NOISE { - D2D1_TURBULENCE_NOISE_FRACTAL_SUM = 0, - D2D1_TURBULENCE_NOISE_TURBULENCE = 1, - D2D1_TURBULENCE_NOISE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_DISPLACEMENTMAP_PROP { - D2D1_DISPLACEMENTMAP_PROP_SCALE = 0, - D2D1_DISPLACEMENTMAP_PROP_X_CHANNEL_SELECT = 1, - D2D1_DISPLACEMENTMAP_PROP_Y_CHANNEL_SELECT = 2, - D2D1_DISPLACEMENTMAP_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_COLORMANAGEMENT_PROP { - D2D1_COLORMANAGEMENT_PROP_SOURCE_COLOR_CONTEXT = 0, - D2D1_COLORMANAGEMENT_PROP_SOURCE_RENDERING_INTENT = 1, - D2D1_COLORMANAGEMENT_PROP_DESTINATION_COLOR_CONTEXT = 2, - D2D1_COLORMANAGEMENT_PROP_DESTINATION_RENDERING_INTENT = 3, - D2D1_COLORMANAGEMENT_PROP_ALPHA_MODE = 4, - D2D1_COLORMANAGEMENT_PROP_QUALITY = 5, - D2D1_COLORMANAGEMENT_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_COLORMANAGEMENT_ALPHA_MODE { - D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED = 1, - D2D1_COLORMANAGEMENT_ALPHA_MODE_STRAIGHT = 2, - D2D1_COLORMANAGEMENT_ALPHA_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_COLORMANAGEMENT_QUALITY { - D2D1_COLORMANAGEMENT_QUALITY_PROOF = 0, - D2D1_COLORMANAGEMENT_QUALITY_NORMAL = 1, - D2D1_COLORMANAGEMENT_QUALITY_BEST = 2, - D2D1_COLORMANAGEMENT_QUALITY_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_COLORMANAGEMENT_RENDERING_INTENT { - D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL = 0, - D2D1_COLORMANAGEMENT_RENDERING_INTENT_RELATIVE_COLORIMETRIC = 1, - D2D1_COLORMANAGEMENT_RENDERING_INTENT_SATURATION = 2, - D2D1_COLORMANAGEMENT_RENDERING_INTENT_ABSOLUTE_COLORIMETRIC = 3, - D2D1_COLORMANAGEMENT_RENDERING_INTENT_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_HISTOGRAM_PROP { - D2D1_HISTOGRAM_PROP_NUM_BINS = 0, - D2D1_HISTOGRAM_PROP_CHANNEL_SELECT = 1, - D2D1_HISTOGRAM_PROP_HISTOGRAM_OUTPUT = 2, - D2D1_HISTOGRAM_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_POINTSPECULAR_PROP { - D2D1_POINTSPECULAR_PROP_LIGHT_POSITION = 0, - D2D1_POINTSPECULAR_PROP_SPECULAR_EXPONENT = 1, - D2D1_POINTSPECULAR_PROP_SPECULAR_CONSTANT = 2, - D2D1_POINTSPECULAR_PROP_SURFACE_SCALE = 3, - D2D1_POINTSPECULAR_PROP_COLOR = 4, - D2D1_POINTSPECULAR_PROP_KERNEL_UNIT_LENGTH = 5, - D2D1_POINTSPECULAR_PROP_SCALE_MODE = 6, - D2D1_POINTSPECULAR_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_POINTSPECULAR_SCALE_MODE { - D2D1_POINTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR = 0, - D2D1_POINTSPECULAR_SCALE_MODE_LINEAR = 1, - D2D1_POINTSPECULAR_SCALE_MODE_CUBIC = 2, - D2D1_POINTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR = 3, - D2D1_POINTSPECULAR_SCALE_MODE_ANISOTROPIC = 4, - D2D1_POINTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC = 5, - D2D1_POINTSPECULAR_SCALE_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_SPOTSPECULAR_PROP { - D2D1_SPOTSPECULAR_PROP_LIGHT_POSITION = 0, - D2D1_SPOTSPECULAR_PROP_POINTS_AT = 1, - D2D1_SPOTSPECULAR_PROP_FOCUS = 2, - D2D1_SPOTSPECULAR_PROP_LIMITING_CONE_ANGLE = 3, - D2D1_SPOTSPECULAR_PROP_SPECULAR_EXPONENT = 4, - D2D1_SPOTSPECULAR_PROP_SPECULAR_CONSTANT = 5, - D2D1_SPOTSPECULAR_PROP_SURFACE_SCALE = 6, - D2D1_SPOTSPECULAR_PROP_COLOR = 7, - D2D1_SPOTSPECULAR_PROP_KERNEL_UNIT_LENGTH = 8, - D2D1_SPOTSPECULAR_PROP_SCALE_MODE = 9, - D2D1_SPOTSPECULAR_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_SPOTSPECULAR_SCALE_MODE { - D2D1_SPOTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR = 0, - D2D1_SPOTSPECULAR_SCALE_MODE_LINEAR = 1, - D2D1_SPOTSPECULAR_SCALE_MODE_CUBIC = 2, - D2D1_SPOTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR = 3, - D2D1_SPOTSPECULAR_SCALE_MODE_ANISOTROPIC = 4, - D2D1_SPOTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC = 5, - D2D1_SPOTSPECULAR_SCALE_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_DISTANTSPECULAR_PROP { - D2D1_DISTANTSPECULAR_PROP_AZIMUTH = 0, - D2D1_DISTANTSPECULAR_PROP_ELEVATION = 1, - D2D1_DISTANTSPECULAR_PROP_SPECULAR_EXPONENT = 2, - D2D1_DISTANTSPECULAR_PROP_SPECULAR_CONSTANT = 3, - D2D1_DISTANTSPECULAR_PROP_SURFACE_SCALE = 4, - D2D1_DISTANTSPECULAR_PROP_COLOR = 5, - D2D1_DISTANTSPECULAR_PROP_KERNEL_UNIT_LENGTH = 6, - D2D1_DISTANTSPECULAR_PROP_SCALE_MODE = 7, - D2D1_DISTANTSPECULAR_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_DISTANTSPECULAR_SCALE_MODE { - D2D1_DISTANTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR = 0, - D2D1_DISTANTSPECULAR_SCALE_MODE_LINEAR = 1, - D2D1_DISTANTSPECULAR_SCALE_MODE_CUBIC = 2, - D2D1_DISTANTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR = 3, - D2D1_DISTANTSPECULAR_SCALE_MODE_ANISOTROPIC = 4, - D2D1_DISTANTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC = 5, - D2D1_DISTANTSPECULAR_SCALE_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_POINTDIFFUSE_PROP { - D2D1_POINTDIFFUSE_PROP_LIGHT_POSITION = 0, - D2D1_POINTDIFFUSE_PROP_DIFFUSE_CONSTANT = 1, - D2D1_POINTDIFFUSE_PROP_SURFACE_SCALE = 2, - D2D1_POINTDIFFUSE_PROP_COLOR = 3, - D2D1_POINTDIFFUSE_PROP_KERNEL_UNIT_LENGTH = 4, - D2D1_POINTDIFFUSE_PROP_SCALE_MODE = 5, - D2D1_POINTDIFFUSE_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_POINTDIFFUSE_SCALE_MODE { - D2D1_POINTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR = 0, - D2D1_POINTDIFFUSE_SCALE_MODE_LINEAR = 1, - D2D1_POINTDIFFUSE_SCALE_MODE_CUBIC = 2, - D2D1_POINTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR = 3, - D2D1_POINTDIFFUSE_SCALE_MODE_ANISOTROPIC = 4, - D2D1_POINTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC = 5, - D2D1_POINTDIFFUSE_SCALE_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_SPOTDIFFUSE_PROP { - D2D1_SPOTDIFFUSE_PROP_LIGHT_POSITION = 0, - D2D1_SPOTDIFFUSE_PROP_POINTS_AT = 1, - D2D1_SPOTDIFFUSE_PROP_FOCUS = 2, - D2D1_SPOTDIFFUSE_PROP_LIMITING_CONE_ANGLE = 3, - D2D1_SPOTDIFFUSE_PROP_DIFFUSE_CONSTANT = 4, - D2D1_SPOTDIFFUSE_PROP_SURFACE_SCALE = 5, - D2D1_SPOTDIFFUSE_PROP_COLOR = 6, - D2D1_SPOTDIFFUSE_PROP_KERNEL_UNIT_LENGTH = 7, - D2D1_SPOTDIFFUSE_PROP_SCALE_MODE = 8, - D2D1_SPOTDIFFUSE_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_SPOTDIFFUSE_SCALE_MODE { - D2D1_SPOTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR = 0, - D2D1_SPOTDIFFUSE_SCALE_MODE_LINEAR = 1, - D2D1_SPOTDIFFUSE_SCALE_MODE_CUBIC = 2, - D2D1_SPOTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR = 3, - D2D1_SPOTDIFFUSE_SCALE_MODE_ANISOTROPIC = 4, - D2D1_SPOTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC = 5, - D2D1_SPOTDIFFUSE_SCALE_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_DISTANTDIFFUSE_PROP { - D2D1_DISTANTDIFFUSE_PROP_AZIMUTH = 0, - D2D1_DISTANTDIFFUSE_PROP_ELEVATION = 1, - D2D1_DISTANTDIFFUSE_PROP_DIFFUSE_CONSTANT = 2, - D2D1_DISTANTDIFFUSE_PROP_SURFACE_SCALE = 3, - D2D1_DISTANTDIFFUSE_PROP_COLOR = 4, - D2D1_DISTANTDIFFUSE_PROP_KERNEL_UNIT_LENGTH = 5, - D2D1_DISTANTDIFFUSE_PROP_SCALE_MODE = 6, - D2D1_DISTANTDIFFUSE_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_DISTANTDIFFUSE_SCALE_MODE { - D2D1_DISTANTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR = 0, - D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR = 1, - D2D1_DISTANTDIFFUSE_SCALE_MODE_CUBIC = 2, - D2D1_DISTANTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR = 3, - D2D1_DISTANTDIFFUSE_SCALE_MODE_ANISOTROPIC = 4, - D2D1_DISTANTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC = 5, - D2D1_DISTANTDIFFUSE_SCALE_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_FLOOD_PROP { - D2D1_FLOOD_PROP_COLOR = 0, - D2D1_FLOOD_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_LINEARTRANSFER_PROP { - D2D1_LINEARTRANSFER_PROP_RED_Y_INTERCEPT = 0, - D2D1_LINEARTRANSFER_PROP_RED_SLOPE = 1, - D2D1_LINEARTRANSFER_PROP_RED_DISABLE = 2, - D2D1_LINEARTRANSFER_PROP_GREEN_Y_INTERCEPT = 3, - D2D1_LINEARTRANSFER_PROP_GREEN_SLOPE = 4, - D2D1_LINEARTRANSFER_PROP_GREEN_DISABLE = 5, - D2D1_LINEARTRANSFER_PROP_BLUE_Y_INTERCEPT = 6, - D2D1_LINEARTRANSFER_PROP_BLUE_SLOPE = 7, - D2D1_LINEARTRANSFER_PROP_BLUE_DISABLE = 8, - D2D1_LINEARTRANSFER_PROP_ALPHA_Y_INTERCEPT = 9, - D2D1_LINEARTRANSFER_PROP_ALPHA_SLOPE = 10, - D2D1_LINEARTRANSFER_PROP_ALPHA_DISABLE = 11, - D2D1_LINEARTRANSFER_PROP_CLAMP_OUTPUT = 12, - D2D1_LINEARTRANSFER_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_GAMMATRANSFER_PROP { - D2D1_GAMMATRANSFER_PROP_RED_AMPLITUDE = 0, - D2D1_GAMMATRANSFER_PROP_RED_EXPONENT = 1, - D2D1_GAMMATRANSFER_PROP_RED_OFFSET = 2, - D2D1_GAMMATRANSFER_PROP_RED_DISABLE = 3, - D2D1_GAMMATRANSFER_PROP_GREEN_AMPLITUDE = 4, - D2D1_GAMMATRANSFER_PROP_GREEN_EXPONENT = 5, - D2D1_GAMMATRANSFER_PROP_GREEN_OFFSET = 6, - D2D1_GAMMATRANSFER_PROP_GREEN_DISABLE = 7, - D2D1_GAMMATRANSFER_PROP_BLUE_AMPLITUDE = 8, - D2D1_GAMMATRANSFER_PROP_BLUE_EXPONENT = 9, - D2D1_GAMMATRANSFER_PROP_BLUE_OFFSET = 10, - D2D1_GAMMATRANSFER_PROP_BLUE_DISABLE = 11, - D2D1_GAMMATRANSFER_PROP_ALPHA_AMPLITUDE = 12, - D2D1_GAMMATRANSFER_PROP_ALPHA_EXPONENT = 13, - D2D1_GAMMATRANSFER_PROP_ALPHA_OFFSET = 14, - D2D1_GAMMATRANSFER_PROP_ALPHA_DISABLE = 15, - D2D1_GAMMATRANSFER_PROP_CLAMP_OUTPUT = 16, - D2D1_GAMMATRANSFER_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_TABLETRANSFER_PROP { - D2D1_TABLETRANSFER_PROP_RED_TABLE = 0, - D2D1_TABLETRANSFER_PROP_RED_DISABLE = 1, - D2D1_TABLETRANSFER_PROP_GREEN_TABLE = 2, - D2D1_TABLETRANSFER_PROP_GREEN_DISABLE = 3, - D2D1_TABLETRANSFER_PROP_BLUE_TABLE = 4, - D2D1_TABLETRANSFER_PROP_BLUE_DISABLE = 5, - D2D1_TABLETRANSFER_PROP_ALPHA_TABLE = 6, - D2D1_TABLETRANSFER_PROP_ALPHA_DISABLE = 7, - D2D1_TABLETRANSFER_PROP_CLAMP_OUTPUT = 8, - D2D1_TABLETRANSFER_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_DISCRETETRANSFER_PROP { - D2D1_DISCRETETRANSFER_PROP_RED_TABLE = 0, - D2D1_DISCRETETRANSFER_PROP_RED_DISABLE = 1, - D2D1_DISCRETETRANSFER_PROP_GREEN_TABLE = 2, - D2D1_DISCRETETRANSFER_PROP_GREEN_DISABLE = 3, - D2D1_DISCRETETRANSFER_PROP_BLUE_TABLE = 4, - D2D1_DISCRETETRANSFER_PROP_BLUE_DISABLE = 5, - D2D1_DISCRETETRANSFER_PROP_ALPHA_TABLE = 6, - D2D1_DISCRETETRANSFER_PROP_ALPHA_DISABLE = 7, - D2D1_DISCRETETRANSFER_PROP_CLAMP_OUTPUT = 8, - D2D1_DISCRETETRANSFER_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_CONVOLVEMATRIX_PROP { - D2D1_CONVOLVEMATRIX_PROP_KERNEL_UNIT_LENGTH = 0, - D2D1_CONVOLVEMATRIX_PROP_SCALE_MODE = 1, - D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_X = 2, - D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_Y = 3, - D2D1_CONVOLVEMATRIX_PROP_KERNEL_MATRIX = 4, - D2D1_CONVOLVEMATRIX_PROP_DIVISOR = 5, - D2D1_CONVOLVEMATRIX_PROP_BIAS = 6, - D2D1_CONVOLVEMATRIX_PROP_KERNEL_OFFSET = 7, - D2D1_CONVOLVEMATRIX_PROP_PRESERVE_ALPHA = 8, - D2D1_CONVOLVEMATRIX_PROP_BORDER_MODE = 9, - D2D1_CONVOLVEMATRIX_PROP_CLAMP_OUTPUT = 10, - D2D1_CONVOLVEMATRIX_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_CONVOLVEMATRIX_SCALE_MODE { - D2D1_CONVOLVEMATRIX_SCALE_MODE_NEAREST_NEIGHBOR = 0, - D2D1_CONVOLVEMATRIX_SCALE_MODE_LINEAR = 1, - D2D1_CONVOLVEMATRIX_SCALE_MODE_CUBIC = 2, - D2D1_CONVOLVEMATRIX_SCALE_MODE_MULTI_SAMPLE_LINEAR = 3, - D2D1_CONVOLVEMATRIX_SCALE_MODE_ANISOTROPIC = 4, - D2D1_CONVOLVEMATRIX_SCALE_MODE_HIGH_QUALITY_CUBIC = 5, - D2D1_CONVOLVEMATRIX_SCALE_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_BRIGHTNESS_PROP { - D2D1_BRIGHTNESS_PROP_WHITE_POINT = 0, - D2D1_BRIGHTNESS_PROP_BLACK_POINT = 1, - D2D1_BRIGHTNESS_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_ARITHMETICCOMPOSITE_PROP { - D2D1_ARITHMETICCOMPOSITE_PROP_COEFFICIENTS = 0, - D2D1_ARITHMETICCOMPOSITE_PROP_CLAMP_OUTPUT = 1, - D2D1_ARITHMETICCOMPOSITE_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_CROP_PROP { - D2D1_CROP_PROP_RECT = 0, - D2D1_CROP_PROP_BORDER_MODE = 1, - D2D1_CROP_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_BORDER_PROP { - D2D1_BORDER_PROP_EDGE_MODE_X = 0, - D2D1_BORDER_PROP_EDGE_MODE_Y = 1, - D2D1_BORDER_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_BORDER_EDGE_MODE { - D2D1_BORDER_EDGE_MODE_CLAMP = 0, - D2D1_BORDER_EDGE_MODE_WRAP = 1, - D2D1_BORDER_EDGE_MODE_MIRROR = 2, - D2D1_BORDER_EDGE_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_MORPHOLOGY_PROP { - D2D1_MORPHOLOGY_PROP_MODE = 0, - D2D1_MORPHOLOGY_PROP_WIDTH = 1, - D2D1_MORPHOLOGY_PROP_HEIGHT = 2, - D2D1_MORPHOLOGY_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_MORPHOLOGY_MODE { - D2D1_MORPHOLOGY_MODE_ERODE = 0, - D2D1_MORPHOLOGY_MODE_DILATE = 1, - D2D1_MORPHOLOGY_MODE_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_TILE_PROP { - D2D1_TILE_PROP_RECT = 0, - D2D1_TILE_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_ATLAS_PROP { - D2D1_ATLAS_PROP_INPUT_RECT = 0, - D2D1_ATLAS_PROP_INPUT_PADDING_RECT = 1, - D2D1_ATLAS_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_OPACITYMETADATA_PROP { - D2D1_OPACITYMETADATA_PROP_INPUT_OPAQUE_RECT = 0, - D2D1_OPACITYMETADATA_PROP_FORCE_DWORD = 0xffffffff, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d2d1effects_1.rs b/vendor/registry-40351f815f426200/winapi/src/um/d2d1effects_1.rs deleted file mode 100644 index ba97f0149..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d2d1effects_1.rs +++ /dev/null @@ -1,31 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -// Mappings for the contents of d2d1effects_1.h -DEFINE_GUID!{CLSID_D2D1YCbCr, - 0x99503cc1, 0x66c7, 0x45c9, 0xa8, 0x75, 0x8a, 0xd8, 0xa7, 0x91, 0x44, 0x01} -ENUM!{enum D2D1_YCBCR_PROP { - D2D1_YCBCR_PROP_CHROMA_SUBSAMPLING = 0, - D2D1_YCBCR_PROP_TRANSFORM_MATRIX = 1, - D2D1_YCBCR_PROP_INTERPOLATION_MODE = 2, - D2D1_YCBCR_PROP_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_YCBCR_CHROMA_SUBSAMPLING { - D2D1_YCBCR_CHROMA_SUBSAMPLING_AUTO = 0, - D2D1_YCBCR_CHROMA_SUBSAMPLING_420 = 1, - D2D1_YCBCR_CHROMA_SUBSAMPLING_422 = 2, - D2D1_YCBCR_CHROMA_SUBSAMPLING_444 = 3, - D2D1_YCBCR_CHROMA_SUBSAMPLING_440 = 4, - D2D1_YCBCR_CHROMA_SUBSAMPLING_FORCE_DWORD = 0xffffffff, -}} -ENUM!{enum D2D1_YCBCR_INTERPOLATION_MODE { - D2D1_YCBCR_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0, - D2D1_YCBCR_INTERPOLATION_MODE_LINEAR = 1, - D2D1_YCBCR_INTERPOLATION_MODE_CUBIC = 2, - D2D1_YCBCR_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 3, - D2D1_YCBCR_INTERPOLATION_MODE_ANISOTROPIC = 4, - D2D1_YCBCR_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC = 5, - D2D1_YCBCR_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d2d1effects_2.rs b/vendor/registry-40351f815f426200/winapi/src/um/d2d1effects_2.rs deleted file mode 100644 index 40eea83a2..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d2d1effects_2.rs +++ /dev/null @@ -1,40 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of d2d1effects_2.h -DEFINE_GUID!{CLSID_D2D1Contrast, - 0xb648a78a, 0x0ed5, 0x4f80, 0xa9, 0x4a, 0x8e, 0x82, 0x5a, 0xca, 0x6b, 0x77} -DEFINE_GUID!{CLSID_D2D1RgbToHue, - 0x23f3e5ec, 0x91e8, 0x4d3d, 0xad, 0x0a, 0xaf, 0xad, 0xc1, 0x00, 0x4a, 0xa1} -DEFINE_GUID!{CLSID_D2D1HueToRgb, - 0x7b78a6bd, 0x0141, 0x4def, 0x8a, 0x52, 0x63, 0x56, 0xee, 0x0c, 0xbd, 0xd5} -DEFINE_GUID!{CLSID_D2D1ChromaKey, - 0x74c01f5b, 0x2a0d, 0x408c, 0x88, 0xe2, 0xc7, 0xa3, 0xc7, 0x19, 0x77, 0x42} -DEFINE_GUID!{CLSID_D2D1Emboss, - 0xb1c5eb2b, 0x0348, 0x43f0, 0x81, 0x07, 0x49, 0x57, 0xca, 0xcb, 0xa2, 0xae} -DEFINE_GUID!{CLSID_D2D1Exposure, - 0xb56c8cfa, 0xf634, 0x41ee, 0xbe, 0xe0, 0xff, 0xa6, 0x17, 0x10, 0x60, 0x04} -DEFINE_GUID!{CLSID_D2D1Grayscale, - 0x36dde0eb, 0x3725, 0x42e0, 0x83, 0x6d, 0x52, 0xfb, 0x20, 0xae, 0xe6, 0x44} -DEFINE_GUID!{CLSID_D2D1Invert, - 0xe0c3784d, 0xcb39, 0x4e84, 0xb6, 0xfd, 0x6b, 0x72, 0xf0, 0x81, 0x02, 0x63} -DEFINE_GUID!{CLSID_D2D1Posterize, - 0x2188945e, 0x33a3, 0x4366, 0xb7, 0xbc, 0x08, 0x6b, 0xd0, 0x2d, 0x08, 0x84} -DEFINE_GUID!{CLSID_D2D1Sepia, - 0x3a1af410, 0x5f1d, 0x4dbe, 0x84, 0xdf, 0x91, 0x5d, 0xa7, 0x9b, 0x71, 0x53} -DEFINE_GUID!{CLSID_D2D1Sharpen, - 0xc9b887cb, 0xc5ff, 0x4dc5, 0x97, 0x79, 0x27, 0x3d, 0xcf, 0x41, 0x7c, 0x7d} -DEFINE_GUID!{CLSID_D2D1Straighten, - 0x4da47b12, 0x79a3, 0x4fb0, 0x82, 0x37, 0xbb, 0xc3, 0xb2, 0xa4, 0xde, 0x08} -DEFINE_GUID!{CLSID_D2D1TemperatureTint, - 0x89176087, 0x8af9, 0x4a08, 0xae, 0xb1, 0x89, 0x5f, 0x38, 0xdb, 0x17, 0x66} -DEFINE_GUID!{CLSID_D2D1Vignette, - 0xc00c40be, 0x5e67, 0x4ca3, 0x95, 0xb4, 0xf4, 0xb0, 0x2c, 0x11, 0x51, 0x35} -DEFINE_GUID!{CLSID_D2D1EdgeDetection, - 0xeff583ca, 0xcb07, 0x4aa9, 0xac, 0x5d, 0x2c, 0xc4, 0x4c, 0x76, 0x46, 0x0f} -DEFINE_GUID!{CLSID_D2D1HighlightsShadows, - 0xcadc8384, 0x323f, 0x4c7e, 0xa3, 0x61, 0x2e, 0x2b, 0x24, 0xdf, 0x6e, 0xe4} -DEFINE_GUID!{CLSID_D2D1LookupTable3D, - 0x349e0eda, 0x0088, 0x4a79, 0x9c, 0xa3, 0xc7, 0xe3, 0x00, 0x20, 0x20, 0x20} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d2d1svg.rs b/vendor/registry-40351f815f426200/winapi/src/um/d2d1svg.rs deleted file mode 100644 index 33e133ebe..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d2d1svg.rs +++ /dev/null @@ -1,411 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of d2d1svg.h -use ctypes::c_void; -use shared::basetsd::UINT32; -use shared::guiddef::REFIID; -use shared::minwindef::{BOOL, FLOAT}; -use shared::ntdef::{PCWSTR, PWSTR, WCHAR}; -use shared::winerror::HRESULT; -use um::d2d1::{ - D2D1_CAP_STYLE_FLAT, D2D1_CAP_STYLE_ROUND, D2D1_CAP_STYLE_SQUARE, D2D1_COLOR_F, D2D1_FILL_MODE, - D2D1_LINE_JOIN_BEVEL, D2D1_LINE_JOIN_MITER_OR_BEVEL, D2D1_LINE_JOIN_ROUND, D2D1_POINT_2F, - D2D1_SIZE_F, ID2D1Resource, ID2D1ResourceVtbl -}; -use um::d2d1_1::ID2D1PathGeometry1; -use um::objidlbase::IStream; -ENUM!{enum D2D1_SVG_PAINT_TYPE { - D2D1_SVG_PAINT_TYPE_NONE = 0, - D2D1_SVG_PAINT_TYPE_COLOR = 1, - D2D1_SVG_PAINT_TYPE_CURRENT_COLOR = 2, - D2D1_SVG_PAINT_TYPE_URI = 3, - D2D1_SVG_PAINT_TYPE_URI_NONE = 4, - D2D1_SVG_PAINT_TYPE_URI_COLOR = 5, - D2D1_SVG_PAINT_TYPE_URI_CURRENT_COLOR = 6, -}} -ENUM!{enum D2D1_SVG_LENGTH_UNITS { - D2D1_SVG_LENGTH_UNITS_NUMBER = 0, - D2D1_SVG_LENGTH_UNITS_PERCENTAGE = 1, -}} -ENUM!{enum D2D1_SVG_DISPLAY { - D2D1_SVG_DISPLAY_INLINE = 0, - D2D1_SVG_DISPLAY_NONE = 1, -}} -ENUM!{enum D2D1_SVG_VISIBILITY { - D2D1_SVG_VISIBILITY_VISIBLE = 0, - D2D1_SVG_VISIBILITY_HIDDEN = 1, -}} -ENUM!{enum D2D1_SVG_OVERFLOW { - D2D1_SVG_OVERFLOW_VISIBLE = 0, - D2D1_SVG_OVERFLOW_HIDDEN = 1, -}} -ENUM!{enum D2D1_SVG_LINE_CAP { - D2D1_SVG_LINE_CAP_BUTT = D2D1_CAP_STYLE_FLAT, - D2D1_SVG_LINE_CAP_SQUARE = D2D1_CAP_STYLE_SQUARE, - D2D1_SVG_LINE_CAP_ROUND = D2D1_CAP_STYLE_ROUND, -}} -ENUM!{enum D2D1_SVG_LINE_JOIN { - D2D1_SVG_LINE_JOIN_BEVEL = D2D1_LINE_JOIN_BEVEL, - D2D1_SVG_LINE_JOIN_MITER = D2D1_LINE_JOIN_MITER_OR_BEVEL, - D2D1_SVG_LINE_JOIN_ROUND = D2D1_LINE_JOIN_ROUND, -}} -ENUM!{enum D2D1_SVG_ASPECT_ALIGN { - D2D1_SVG_ASPECT_ALIGN_NONE = 0, - D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MIN = 1, - D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MIN = 2, - D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MIN = 3, - D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MID = 4, - D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MID = 5, - D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MID = 6, - D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MAX = 7, - D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MAX = 8, - D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MAX = 9, -}} -ENUM!{enum D2D1_SVG_ASPECT_SCALING { - D2D1_SVG_ASPECT_SCALING_MEET = 0, - D2D1_SVG_ASPECT_SCALING_SLICE = 1, -}} -ENUM!{enum D2D1_SVG_PATH_COMMAND { - D2D1_SVG_PATH_COMMAND_CLOSE_PATH = 0, - D2D1_SVG_PATH_COMMAND_MOVE_ABSOLUTE = 1, - D2D1_SVG_PATH_COMMAND_MOVE_RELATIVE = 2, - D2D1_SVG_PATH_COMMAND_LINE_ABSOLUTE = 3, - D2D1_SVG_PATH_COMMAND_LINE_RELATIVE = 4, - D2D1_SVG_PATH_COMMAND_CUBIC_ABSOLUTE = 5, - D2D1_SVG_PATH_COMMAND_CUBIC_RELATIVE = 6, - D2D1_SVG_PATH_COMMAND_QUADRADIC_ABSOLUTE = 7, - D2D1_SVG_PATH_COMMAND_QUADRADIC_RELATIVE = 8, - D2D1_SVG_PATH_COMMAND_ARC_ABSOLUTE = 9, - D2D1_SVG_PATH_COMMAND_ARC_RELATIVE = 10, - D2D1_SVG_PATH_COMMAND_HORIZONTAL_ABSOLUTE = 11, - D2D1_SVG_PATH_COMMAND_HORIZONTAL_RELATIVE = 12, - D2D1_SVG_PATH_COMMAND_VERTICAL_ABSOLUTE = 13, - D2D1_SVG_PATH_COMMAND_VERTICAL_RELATIVE = 14, - D2D1_SVG_PATH_COMMAND_CUBIC_SMOOTH_ABSOLUTE = 15, - D2D1_SVG_PATH_COMMAND_CUBIC_SMOOTH_RELATIVE = 16, - D2D1_SVG_PATH_COMMAND_QUADRADIC_SMOOTH_ABSOLUTE = 17, - D2D1_SVG_PATH_COMMAND_QUADRADIC_SMOOTH_RELATIVE = 18, -}} -ENUM!{enum D2D1_SVG_UNIT_TYPE { - D2D1_SVG_UNIT_TYPE_USER_SPACE_ON_USE = 0, - D2D1_SVG_UNIT_TYPE_OBJECT_BOUNDING_BOX = 1, -}} -ENUM!{enum D2D1_SVG_ATTRIBUTE_STRING_TYPE { - D2D1_SVG_ATTRIBUTE_STRING_TYPE_SVG = 0, - D2D1_SVG_ATTRIBUTE_STRING_TYPE_ID = 1, -}} -ENUM!{enum D2D1_SVG_ATTRIBUTE_POD_TYPE { - D2D1_SVG_ATTRIBUTE_POD_TYPE_FLOAT = 0, - D2D1_SVG_ATTRIBUTE_POD_TYPE_COLOR = 1, - D2D1_SVG_ATTRIBUTE_POD_TYPE_FILL_MODE = 2, - D2D1_SVG_ATTRIBUTE_POD_TYPE_DISPLAY = 3, - D2D1_SVG_ATTRIBUTE_POD_TYPE_OVERFLOW = 4, - D2D1_SVG_ATTRIBUTE_POD_TYPE_LINE_CAP = 5, - D2D1_SVG_ATTRIBUTE_POD_TYPE_LINE_JOIN = 6, - D2D1_SVG_ATTRIBUTE_POD_TYPE_VISIBILITY = 7, - D2D1_SVG_ATTRIBUTE_POD_TYPE_MATRIX = 8, - D2D1_SVG_ATTRIBUTE_POD_TYPE_UNIT_TYPE = 9, - D2D1_SVG_ATTRIBUTE_POD_TYPE_EXTEND_MODE = 10, - D2D1_SVG_ATTRIBUTE_POD_TYPE_PRESERVE_ASPECT_RATIO = 11, - D2D1_SVG_ATTRIBUTE_POD_TYPE_VIEWBOX = 12, - D2D1_SVG_ATTRIBUTE_POD_TYPE_LENGTH = 13, -}} -STRUCT!{struct D2D1_SVG_LENGTH { - value: FLOAT, - units: D2D1_SVG_LENGTH_UNITS, -}} -STRUCT!{struct D2D1_SVG_PRESERVE_ASPECT_RATIO { - defer: BOOL, - align: D2D1_SVG_ASPECT_ALIGN, - meetOrSlice: D2D1_SVG_ASPECT_SCALING, -}} -STRUCT!{struct D2D1_SVG_VIEWBOX { - x: FLOAT, - y: FLOAT, - width: FLOAT, - height: FLOAT, -}} -DEFINE_GUID!{IID_ID2D1SvgAttribute, - 0xc9cdb0dd, 0xf8c9, 0x4e70, 0xb7, 0xc2, 0x30, 0x1c, 0x80, 0x29, 0x2c, 0x5e} -DEFINE_GUID!{IID_ID2D1SvgPaint, - 0xd59bab0a, 0x68a2, 0x455b, 0xa5, 0xdc, 0x9e, 0xb2, 0x85, 0x4e, 0x24, 0x90} -DEFINE_GUID!{IID_ID2D1SvgStrokeDashArray, - 0xf1c0ca52, 0x92a3, 0x4f00, 0xb4, 0xce, 0xf3, 0x56, 0x91, 0xef, 0xd9, 0xd9} -DEFINE_GUID!{IID_ID2D1SvgPointCollection, - 0x9dbe4c0d, 0x3572, 0x4dd9, 0x98, 0x25, 0x55, 0x30, 0x81, 0x3b, 0xb7, 0x12} -DEFINE_GUID!{IID_ID2D1SvgPathData, - 0xc095e4f4, 0xbb98, 0x43d6, 0x97, 0x45, 0x4d, 0x1b, 0x84, 0xec, 0x98, 0x88} -DEFINE_GUID!{IID_ID2D1SvgElement, - 0xac7b67a6, 0x183e, 0x49c1, 0xa8, 0x23, 0x0e, 0xbe, 0x40, 0xb0, 0xdb, 0x29} -DEFINE_GUID!{IID_ID2D1SvgDocument, - 0x86b88e4d, 0xafa4, 0x4d7b, 0x88, 0xe4, 0x68, 0xa5, 0x1c, 0x4a, 0x0a, 0xec} -RIDL!{#[uuid(0xc9cdb0dd, 0xf8c9, 0x4e70, 0xb7, 0xc2, 0x30, 0x1c, 0x80, 0x29, 0x2c, 0x5e)] -interface ID2D1SvgAttribute(ID2D1SvgAttributeVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn GetElement( - element: *mut *mut ID2D1SvgElement, - ) -> (), - fn Clone( - attribute: *mut *mut ID2D1SvgAttribute, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xd59bab0a, 0x68a2, 0x455b, 0xa5, 0xdc, 0x9e, 0xb2, 0x85, 0x4e, 0x24, 0x90)] -interface ID2D1SvgPaint(ID2D1SvgPaintVtbl): ID2D1SvgAttribute(ID2D1SvgAttributeVtbl) { - fn SetPaintType( - paintType: D2D1_SVG_PAINT_TYPE, - ) -> HRESULT, - fn GetPaintType() -> D2D1_SVG_PAINT_TYPE, - fn SetColor( - color: D2D1_COLOR_F, - ) -> HRESULT, - fn GetColor( - color: *mut D2D1_COLOR_F, - ) -> (), - fn SetId( - id: PCWSTR, - ) -> HRESULT, - fn GetId( - id: PWSTR, - idCount: UINT32, - ) -> HRESULT, - fn GetIdLength() -> UINT32, -}} -RIDL!{#[uuid(0xf1c0ca52, 0x92a3, 0x4f00, 0xb4, 0xce, 0xf3, 0x56, 0x91, 0xef, 0xd9, 0xd9)] -interface ID2D1SvgStrokeDashArray(ID2D1SvgStrokeDashArrayVtbl): - ID2D1SvgAttribute(ID2D1SvgAttributeVtbl) { - fn RemoveDashesAtEnd( - dashesCount: UINT32, - ) -> HRESULT, - fn UpdateDashes_1( - dashes: *const D2D1_SVG_LENGTH, - dashesCount: UINT32, - startIndex: UINT32, - ) -> HRESULT, - fn UpdateDashes_2( - dashes: *const FLOAT, - dashesCount: UINT32, - startIndex: UINT32, - ) -> HRESULT, - fn GetDashes_1( - dashes: *mut D2D1_SVG_LENGTH, - dashesCount: UINT32, - startIndex: UINT32, - ) -> HRESULT, - fn GetDashes_2( - dashes: *mut FLOAT, - dashesCount: UINT32, - startIndex: UINT32, - ) -> HRESULT, - fn GetDashesCount() -> UINT32, -}} -RIDL!{#[uuid(0x9dbe4c0d, 0x3572, 0x4dd9, 0x98, 0x25, 0x55, 0x30, 0x81, 0x3b, 0xb7, 0x12)] -interface ID2D1SvgPointCollection(ID2D1SvgPointCollectionVtbl): - ID2D1SvgAttribute(ID2D1SvgAttributeVtbl) { - fn RemovePointsAtEnd( - pointsCount: UINT32, - ) -> HRESULT, - fn UpdatePoints( - points: *const D2D1_POINT_2F, - pointsCount: UINT32, - startIndex: UINT32, - ) -> HRESULT, - fn GetPoints( - points: *mut D2D1_POINT_2F, - pointsCount: UINT32, - startIndex: UINT32, - ) -> HRESULT, - fn GetPointsCount() -> UINT32, -}} -RIDL!{#[uuid(0xc095e4f4, 0xbb98, 0x43d6, 0x97, 0x45, 0x4d, 0x1b, 0x84, 0xec, 0x98, 0x88)] -interface ID2D1SvgPathData(ID2D1SvgPathDataVtbl): ID2D1SvgAttribute(ID2D1SvgAttributeVtbl) { - fn RemoveSegmentDataAtEnd( - dataCount: UINT32, - ) -> HRESULT, - fn UpdateSegmentData( - data: *const FLOAT, - dataCount: UINT32, - startIndex: UINT32, - ) -> HRESULT, - fn GetSegmentData( - data: *mut FLOAT, - dataCount: UINT32, - startIndex: UINT32, - ) -> HRESULT, - fn GetSegmentDataCount() -> UINT32, - fn RemoveCommandsAtEnd( - commandsCount: UINT32, - ) -> HRESULT, - fn UpdateCommands( - commands: *const D2D1_SVG_PATH_COMMAND, - commandsCount: UINT32, - startIndex: UINT32, - ) -> HRESULT, - fn GetCommands( - commands: *mut D2D1_SVG_PATH_COMMAND, - commandsCount: UINT32, - startIndex: UINT32, - ) -> HRESULT, - fn GetCommandsCount() -> UINT32, - fn CreatePathGeometry( - fillMode: D2D1_FILL_MODE, - pathGeometry: *mut *mut ID2D1PathGeometry1, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xac7b67a6, 0x183e, 0x49c1, 0xa8, 0x23, 0x0e, 0xbe, 0x40, 0xb0, 0xdb, 0x29)] -interface ID2D1SvgElement(ID2D1SvgElementVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn GetDocument( - document: *mut *mut ID2D1SvgDocument, - ) -> (), - fn GetTagName( - name: PWSTR, - nameCount: UINT32, - ) -> HRESULT, - fn GetTagNameLength() -> UINT32, - fn IsTextContent() -> BOOL, - fn GetParent( - parent: *mut *mut ID2D1SvgElement, - ) -> (), - fn HasChildren() -> BOOL, - fn GetFirstChild( - child: *mut *mut ID2D1SvgElement, - ) -> (), - fn GetLastChild( - child: *mut *mut ID2D1SvgElement, - ) -> (), - fn GetPreviousChild( - referenceChild: *mut ID2D1SvgElement, - previousChild: *mut *mut ID2D1SvgElement, - ) -> HRESULT, - fn GetNextChild( - referenceChild: *mut ID2D1SvgElement, - nextChild: *mut *mut ID2D1SvgElement, - ) -> HRESULT, - fn InsertChildBefore( - newChild: *mut ID2D1SvgElement, - referenceChild: *mut ID2D1SvgElement, - ) -> HRESULT, - fn AppendChild( - newChild: *mut ID2D1SvgElement, - ) -> HRESULT, - fn ReplaceChild( - newChild: *mut ID2D1SvgElement, - oldChild: *mut ID2D1SvgElement, - ) -> HRESULT, - fn RemoveChild( - oldChild: *mut ID2D1SvgElement, - ) -> HRESULT, - fn IsAttributeSpecified( - name: PCWSTR, inherited: *mut BOOL, - ) -> BOOL, - fn GetSpecifiedAttributeCount() -> UINT32, - fn GetSpecifiedAttributeName( - index: UINT32, - name: PWSTR, - nameCount: UINT32, - inherited: *mut BOOL, - ) -> HRESULT, - fn GetSpecifiedAttributeNameLength( - index: UINT32, - nameLength: *mut UINT32, - inherited: *mut BOOL, - ) -> HRESULT, - fn RemoveAttribute( - name: PCWSTR, - ) -> HRESULT, - fn SetTextValue( - name: *const WCHAR, - nameCount: UINT32, - ) -> HRESULT, - fn GetTextValue( - name: PWSTR, - nameCount: UINT32, - ) -> HRESULT, - fn GetTextValueLength() -> UINT32, - fn SetAttributeValue_1( - name: PCWSTR, - value: *mut ID2D1SvgAttribute, - ) -> HRESULT, - fn SetAttributeValue_2( - name: PCWSTR, - type_: D2D1_SVG_ATTRIBUTE_POD_TYPE, - value: *const c_void, - valueSizeInBytes: UINT32, - ) -> HRESULT, - fn SetAttributeValue_3( - name: PCWSTR, - type_: D2D1_SVG_ATTRIBUTE_STRING_TYPE, - value: PCWSTR, - ) -> HRESULT, - fn GetAttributeValue_1( - name: PCWSTR, - riid: REFIID, - value: *mut *mut c_void, - ) -> HRESULT, - fn GetAttributeValue_2( - name: PCWSTR, - type_: D2D1_SVG_ATTRIBUTE_POD_TYPE, - value: *mut c_void, - valueSizeInBytes: UINT32, - ) -> HRESULT, - fn GetAttributeValue_3( - name: PCWSTR, - type_: D2D1_SVG_ATTRIBUTE_STRING_TYPE, - value: PWSTR, - valueCount: UINT32, - ) -> HRESULT, - fn GetAttributeValueLength( - name: PCWSTR, - type_: D2D1_SVG_ATTRIBUTE_STRING_TYPE, - valueLength: *mut UINT32, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x86b88e4d, 0xafa4, 0x4d7b, 0x88, 0xe4, 0x68, 0xa5, 0x1c, 0x4a, 0x0a, 0xec)] -interface ID2D1SvgDocument(ID2D1SvgDocumentVtbl): ID2D1Resource(ID2D1ResourceVtbl) { - fn SetViewportSize( - viewportSize: D2D1_SIZE_F, - ) -> HRESULT, - fn GetViewportSize() -> D2D1_SIZE_F, - fn SetRoot( - root: *mut ID2D1SvgElement, - ) -> HRESULT, - fn GetRoot( - root: *mut *mut ID2D1SvgElement, - ) -> (), - fn FindElementById( - id: PCWSTR, - svgElement: *mut *mut ID2D1SvgElement, - ) -> HRESULT, - fn Serialize( - outputXmlStream: *mut IStream, - subtree: *mut ID2D1SvgElement, - ) -> HRESULT, - fn Deserialize( - inputXmlStream: *mut IStream, - subtree: *mut *mut ID2D1SvgElement, - ) -> HRESULT, - fn CreatePaint( - paintType: D2D1_SVG_PAINT_TYPE, - color: *const D2D1_COLOR_F, - id: PCWSTR, - paint: *mut *mut ID2D1SvgPaint, - ) -> HRESULT, - fn CreateStrokeDashArray( - dashes: *const D2D1_SVG_LENGTH, - dashesCount: UINT32, - strokeDashArray: *mut *mut ID2D1SvgStrokeDashArray, - ) -> HRESULT, - fn CreatePointCollection( - points: *const D2D1_POINT_2F, - pountsCount: UINT32, - pointCollection: *mut ID2D1SvgPointCollection, - ) -> HRESULT, - fn CreatePathData( - segmentData: *const FLOAT, - segmentDataCount: UINT32, - commands: *const D2D1_SVG_PATH_COMMAND, - commandsCount: UINT32, - pathData: *mut *mut ID2D1SvgPathData, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d2dbasetypes.rs b/vendor/registry-40351f815f426200/winapi/src/um/d2dbasetypes.rs deleted file mode 100644 index 754a05572..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d2dbasetypes.rs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of d2dbasetypes.h -use shared::d3d9types::D3DCOLORVALUE; -// FIXME: Remove in next major version -pub use um::dcommon::{ - D2D1_MATRIX_3X2_F, D2D1_POINT_2F, D2D1_POINT_2L, D2D1_POINT_2U, D2D1_RECT_F, D2D1_RECT_L, - D2D1_RECT_U, D2D1_SIZE_F, D2D1_SIZE_U, D2D_MATRIX_3X2_F, D2D_MATRIX_4X3_F, D2D_MATRIX_4X4_F, - D2D_MATRIX_5X4_F, D2D_POINT_2F, D2D_POINT_2L, D2D_POINT_2U, D2D_RECT_F, D2D_RECT_L, D2D_RECT_U, - D2D_SIZE_F, D2D_SIZE_U, D2D_VECTOR_2F, D2D_VECTOR_3F, D2D_VECTOR_4F, -}; -pub type D2D_COLOR_F = D3DCOLORVALUE; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3d.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3d.rs deleted file mode 100644 index e4b0250b6..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3d.rs +++ /dev/null @@ -1,61 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{IID_IDirect3D, - 0x3bba0080, 0x2421, 0x11cf, 0xa3, 0x1a, 0x00, 0xaa, 0x00, 0xb9, 0x33, 0x56} -DEFINE_GUID!{IID_IDirect3D2, - 0x6aae1ec1, 0x662a, 0x11d0, 0x88, 0x9d, 0x00, 0xaa, 0x00, 0xbb, 0xb7, 0x6a} -DEFINE_GUID!{IID_IDirect3D3, - 0xbb223240, 0xe72b, 0x11d0, 0xa9, 0xb4, 0x00, 0xaa, 0x00, 0xc0, 0x99, 0x3e} -DEFINE_GUID!{IID_IDirect3D7, - 0xf5049e77, 0x4861, 0x11d2, 0xa4, 0x07, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0xa8} -DEFINE_GUID!{IID_IDirect3DRampDevice, - 0xf2086b20, 0x259f, 0x11cf, 0xa3, 0x1a, 0x00, 0xaa, 0x00, 0xb9, 0x33, 0x56} -DEFINE_GUID!{IID_IDirect3DRGBDevice, - 0xa4665c60, 0x2673, 0x11cf, 0xa3, 0x1a, 0x00, 0xaa, 0x00, 0xb9, 0x33, 0x56} -DEFINE_GUID!{IID_IDirect3DHALDevice, - 0x84e63de0, 0x46aa, 0x11cf, 0x81, 0x6f, 0x00, 0x00, 0xc0, 0x20, 0x15, 0x6e} -DEFINE_GUID!{IID_IDirect3DMMXDevice, - 0x881949a1, 0xd6f3, 0x11d0, 0x89, 0xab, 0x00, 0xa0, 0xc9, 0x05, 0x41, 0x29} -DEFINE_GUID!{IID_IDirect3DRefDevice, - 0x50936643, 0x13e9, 0x11d1, 0x89, 0xaa, 0x00, 0xa0, 0xc9, 0x05, 0x41, 0x29} -DEFINE_GUID!{IID_IDirect3DNullDevice, - 0x8767df22, 0xbacc, 0x11d1, 0x89, 0x69, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0xa8} -DEFINE_GUID!{IID_IDirect3DTnLHalDevice, - 0xf5049e78, 0x4861, 0x11d2, 0xa4, 0x07, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0xa8} -DEFINE_GUID!{IID_IDirect3DDevice, - 0x64108800, 0x957d, 0x11d0, 0x89, 0xab, 0x00, 0xa0, 0xc9, 0x05, 0x41, 0x29} -DEFINE_GUID!{IID_IDirect3DDevice2, - 0x93281501, 0x8cf8, 0x11d0, 0x89, 0xab, 0x00, 0xa0, 0xc9, 0x05, 0x41, 0x29} -DEFINE_GUID!{IID_IDirect3DDevice3, - 0xb0ab3b60, 0x33d7, 0x11d1, 0xa9, 0x81, 0x00, 0xc0, 0x4f, 0xd7, 0xb1, 0x74} -DEFINE_GUID!{IID_IDirect3DDevice7, - 0xf5049e79, 0x4861, 0x11d2, 0xa4, 0x07, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0xa8} -DEFINE_GUID!{IID_IDirect3DTexture, - 0x2cdcd9e0, 0x25a0, 0x11cf, 0xa3, 0x1a, 0x00, 0xaa, 0x00, 0xb9, 0x33, 0x56} -DEFINE_GUID!{IID_IDirect3DTexture2, - 0x93281502, 0x8cf8, 0x11d0, 0x89, 0xab, 0x00, 0xa0, 0xc9, 0x05, 0x41, 0x29} -DEFINE_GUID!{IID_IDirect3DLight, - 0x4417c142, 0x33ad, 0x11cf, 0x81, 0x6f, 0x00, 0x00, 0xc0, 0x20, 0x15, 0x6e} -DEFINE_GUID!{IID_IDirect3DMaterial, - 0x4417c144, 0x33ad, 0x11cf, 0x81, 0x6f, 0x00, 0x00, 0xc0, 0x20, 0x15, 0x6e} -DEFINE_GUID!{IID_IDirect3DIndexBuffer8, - 0x0e689c9a, 0x053d, 0x44a0, 0x9d, 0x92, 0xdb, 0x0e, 0x3d, 0x75, 0x0f, 0x86} -DEFINE_GUID!{IID_IDirect3DMaterial2, - 0x93281503, 0x8cf8, 0x11d0, 0x89, 0xab, 0x00, 0xa0, 0xc9, 0x05, 0x41, 0x29} -DEFINE_GUID!{IID_IDirect3DMaterial3, - 0xca9c46f4, 0xd3c5, 0x11d1, 0xb7, 0x5a, 0x00, 0x60, 0x08, 0x52, 0xb3, 0x12} -DEFINE_GUID!{IID_IDirect3DExecuteBuffer, - 0x4417c145, 0x33ad, 0x11cf, 0x81, 0x6f, 0x00, 0x00, 0xc0, 0x20, 0x15, 0x6e} -DEFINE_GUID!{IID_IDirect3DViewport, - 0x4417c146, 0x33ad, 0x11cf, 0x81, 0x6f, 0x00, 0x00, 0xc0, 0x20, 0x15, 0x6e} -DEFINE_GUID!{IID_IDirect3DViewport2, - 0x93281500, 0x8cf8, 0x11d0, 0x89, 0xab, 0x00, 0xa0, 0xc9, 0x05, 0x41, 0x29} -DEFINE_GUID!{IID_IDirect3DViewport3, - 0xb0ab3b61, 0x33d7, 0x11d1, 0xa9, 0x81, 0x00, 0xc0, 0x4f, 0xd7, 0xb1, 0x74} -DEFINE_GUID!{IID_IDirect3DVertexBuffer, - 0x7a503555, 0x4a83, 0x11d1, 0xa5, 0xdb, 0x00, 0xa0, 0xc9, 0x03, 0x67, 0xf8} -DEFINE_GUID!{IID_IDirect3DVertexBuffer7, - 0xf5049e7d, 0x4861, 0x11d2, 0xa4, 0x07, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0xa8} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3d10.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3d10.rs deleted file mode 100644 index 887b7a344..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3d10.rs +++ /dev/null @@ -1,57 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use um::d3dcommon::{D3D_PRIMITIVE, D3D_PRIMITIVE_TOPOLOGY, D3D_SRV_DIMENSION}; -pub type D3D10_PRIMITIVE_TOPOLOGY = D3D_PRIMITIVE_TOPOLOGY; -pub type D3D10_PRIMITIVE = D3D_PRIMITIVE; -pub type D3D10_SRV_DIMENSION = D3D_SRV_DIMENSION; -DEFINE_GUID!{IID_ID3D10DeviceChild, - 0x9b7e4c00, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} -DEFINE_GUID!{IID_ID3D10DepthStencilState, - 0x2b4b1cc8, 0xa4ad, 0x41f8, 0x83, 0x22, 0xca, 0x86, 0xfc, 0x3e, 0xc6, 0x75} -DEFINE_GUID!{IID_ID3D10BlendState, - 0xedad8d19, 0x8a35, 0x4d6d, 0x85, 0x66, 0x2e, 0xa2, 0x76, 0xcd, 0xe1, 0x61} -DEFINE_GUID!{IID_ID3D10RasterizerState, - 0xa2a07292, 0x89af, 0x4345, 0xbe, 0x2e, 0xc5, 0x3d, 0x9f, 0xbb, 0x6e, 0x9f} -DEFINE_GUID!{IID_ID3D10Resource, - 0x9b7e4c01, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} -DEFINE_GUID!{IID_ID3D10Buffer, - 0x9b7e4c02, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} -DEFINE_GUID!{IID_ID3D10Texture1D, - 0x9b7e4c03, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} -DEFINE_GUID!{IID_ID3D10Texture2D, - 0x9b7e4c04, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} -DEFINE_GUID!{IID_ID3D10Texture3D, - 0x9b7e4c05, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} -DEFINE_GUID!{IID_ID3D10View, - 0xc902b03f, 0x60a7, 0x49ba, 0x99, 0x36, 0x2a, 0x3a, 0xb3, 0x7a, 0x7e, 0x33} -DEFINE_GUID!{IID_ID3D10ShaderResourceView, - 0x9b7e4c07, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} -DEFINE_GUID!{IID_ID3D10RenderTargetView, - 0x9b7e4c08, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} -DEFINE_GUID!{IID_ID3D10DepthStencilView, - 0x9b7e4c09, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} -DEFINE_GUID!{IID_ID3D10VertexShader, - 0x9b7e4c0a, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} -DEFINE_GUID!{IID_ID3D10GeometryShader, - 0x6316be88, 0x54cd, 0x4040, 0xab, 0x44, 0x20, 0x46, 0x1b, 0xc8, 0x1f, 0x68} -DEFINE_GUID!{IID_ID3D10PixelShader, - 0x4968b601, 0x9d00, 0x4cde, 0x83, 0x46, 0x8e, 0x7f, 0x67, 0x58, 0x19, 0xb6} -DEFINE_GUID!{IID_ID3D10InputLayout, - 0x9b7e4c0b, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} -DEFINE_GUID!{IID_ID3D10SamplerState, - 0x9b7e4c0c, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} -DEFINE_GUID!{IID_ID3D10Asynchronous, - 0x9b7e4c0d, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} -DEFINE_GUID!{IID_ID3D10Query, - 0x9b7e4c0e, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} -DEFINE_GUID!{IID_ID3D10Predicate, - 0x9b7e4c10, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} -DEFINE_GUID!{IID_ID3D10Counter, - 0x9b7e4c11, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} -DEFINE_GUID!{IID_ID3D10Device, - 0x9b7e4c0f, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} -DEFINE_GUID!{IID_ID3D10Multithread, - 0x9b7e4e00, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3d10_1.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3d10_1.rs deleted file mode 100644 index 3765ce309..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3d10_1.rs +++ /dev/null @@ -1,11 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{IID_ID3D10BlendState1, - 0xedad8d99, 0x8a35, 0x4d6d, 0x85, 0x66, 0x2e, 0xa2, 0x76, 0xcd, 0xe1, 0x61} -DEFINE_GUID!{IID_ID3D10ShaderResourceView1, - 0x9b7e4c87, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} -DEFINE_GUID!{IID_ID3D10Device1, - 0x9b7e4c8f, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3d10_1shader.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3d10_1shader.rs deleted file mode 100644 index 69d9583ce..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3d10_1shader.rs +++ /dev/null @@ -1,7 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{IID_ID3D10ShaderReflection1, - 0xc3457783, 0xa846, 0x47ce, 0x95, 0x20, 0xce, 0xa6, 0xf6, 0x6e, 0x74, 0x47} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3d10effect.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3d10effect.rs deleted file mode 100644 index de93acec4..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3d10effect.rs +++ /dev/null @@ -1,45 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{IID_ID3D10StateBlock, - 0x0803425a, 0x57f5, 0x4dd6, 0x94, 0x65, 0xa8, 0x75, 0x70, 0x83, 0x4a, 0x08} -DEFINE_GUID!{IID_ID3D10EffectType, - 0x4e9e1ddc, 0xcd9d, 0x4772, 0xa8, 0x37, 0x00, 0x18, 0x0b, 0x9b, 0x88, 0xfd} -DEFINE_GUID!{IID_ID3D10EffectVariable, - 0xae897105, 0x00e6, 0x45bf, 0xbb, 0x8e, 0x28, 0x1d, 0xd6, 0xdb, 0x8e, 0x1b} -DEFINE_GUID!{IID_ID3D10EffectScalarVariable, - 0x00e48f7b, 0xd2c8, 0x49e8, 0xa8, 0x6c, 0x02, 0x2d, 0xee, 0x53, 0x43, 0x1f} -DEFINE_GUID!{IID_ID3D10EffectVectorVariable, - 0x62b98c44, 0x1f82, 0x4c67, 0xbc, 0xd0, 0x72, 0xcf, 0x8f, 0x21, 0x7e, 0x81} -DEFINE_GUID!{IID_ID3D10EffectMatrixVariable, - 0x50666c24, 0xb82f, 0x4eed, 0xa1, 0x72, 0x5b, 0x6e, 0x7e, 0x85, 0x22, 0xe0} -DEFINE_GUID!{IID_ID3D10EffectStringVariable, - 0x71417501, 0x8df9, 0x4e0a, 0xa7, 0x8a, 0x25, 0x5f, 0x97, 0x56, 0xba, 0xff} -DEFINE_GUID!{IID_ID3D10EffectShaderResourceVariable, - 0xc0a7157b, 0xd872, 0x4b1d, 0x80, 0x73, 0xef, 0xc2, 0xac, 0xd4, 0xb1, 0xfc} -DEFINE_GUID!{IID_ID3D10EffectRenderTargetViewVariable, - 0x28ca0cc3, 0xc2c9, 0x40bb, 0xb5, 0x7f, 0x67, 0xb7, 0x37, 0x12, 0x2b, 0x17} -DEFINE_GUID!{IID_ID3D10EffectDepthStencilViewVariable, - 0x3e02c918, 0xcc79, 0x4985, 0xb6, 0x22, 0x2d, 0x92, 0xad, 0x70, 0x16, 0x23} -DEFINE_GUID!{IID_ID3D10EffectConstantBuffer, - 0x56648f4d, 0xcc8b, 0x4444, 0xa5, 0xad, 0xb5, 0xa3, 0xd7, 0x6e, 0x91, 0xb3} -DEFINE_GUID!{IID_ID3D10EffectShaderVariable, - 0x80849279, 0xc799, 0x4797, 0x8c, 0x33, 0x04, 0x07, 0xa0, 0x7d, 0x9e, 0x06} -DEFINE_GUID!{IID_ID3D10EffectBlendVariable, - 0x1fcd2294, 0xdf6d, 0x4eae, 0x86, 0xb3, 0x0e, 0x91, 0x60, 0xcf, 0xb0, 0x7b} -DEFINE_GUID!{IID_ID3D10EffectDepthStencilVariable, - 0xaf482368, 0x330a, 0x46a5, 0x9a, 0x5c, 0x01, 0xc7, 0x1a, 0xf2, 0x4c, 0x8d} -DEFINE_GUID!{IID_ID3D10EffectRasterizerVariable, - 0x21af9f0e, 0x4d94, 0x4ea9, 0x97, 0x85, 0x2c, 0xb7, 0x6b, 0x8c, 0x0b, 0x34} -DEFINE_GUID!{IID_ID3D10EffectSamplerVariable, - 0x6530d5c7, 0x07e9, 0x4271, 0xa4, 0x18, 0xe7, 0xce, 0x4b, 0xd1, 0xe4, 0x80} -DEFINE_GUID!{IID_ID3D10EffectPass, - 0x5cfbeb89, 0x1a06, 0x46e0, 0xb2, 0x82, 0xe3, 0xf9, 0xbf, 0xa3, 0x6a, 0x54} -DEFINE_GUID!{IID_ID3D10EffectTechnique, - 0xdb122ce8, 0xd1c9, 0x4292, 0xb2, 0x37, 0x24, 0xed, 0x3d, 0xe8, 0xb1, 0x75} -DEFINE_GUID!{IID_ID3D10Effect, - 0x51b0ca8b, 0xec0b, 0x4519, 0x87, 0x0d, 0x8e, 0xe1, 0xcb, 0x50, 0x17, 0xc7} -DEFINE_GUID!{IID_ID3D10EffectPool, - 0x9537ab04, 0x3250, 0x412e, 0x82, 0x13, 0xfc, 0xd2, 0xf8, 0x67, 0x79, 0x33} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3d10misc.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3d10misc.rs deleted file mode 100644 index 5303f2eb3..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3d10misc.rs +++ /dev/null @@ -1,7 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{GUID_DeviceType, - 0xd722fb4d, 0x7a68, 0x437a, 0xb2, 0x0c, 0x58, 0x04, 0xee, 0x24, 0x94, 0xa6} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3d10sdklayers.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3d10sdklayers.rs deleted file mode 100644 index d71c483e4..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3d10sdklayers.rs +++ /dev/null @@ -1,13 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{DXGI_DEBUG_D3D10, - 0x243b4c52, 0x3606, 0x4d3a, 0x99, 0xd7, 0xa7, 0xe7, 0xb3, 0x3e, 0xd7, 0x06} -DEFINE_GUID!{IID_ID3D10Debug, - 0x9b7e4e01, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} -DEFINE_GUID!{IID_ID3D10SwitchToRef, - 0x9b7e4e02, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0} -DEFINE_GUID!{IID_ID3D10InfoQueue, - 0x1b940b17, 0x2642, 0x4d1f, 0xab, 0x1f, 0xb9, 0x9b, 0xad, 0x0c, 0x39, 0x5f} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3d10shader.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3d10shader.rs deleted file mode 100644 index 952fd6dc2..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3d10shader.rs +++ /dev/null @@ -1,206 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -use shared::minwindef::{BYTE, LPVOID, UINT}; -use um::d3d10::{D3D10_PRIMITIVE_TOPOLOGY, D3D10_SRV_DIMENSION}; -use um::d3dcommon::{ - D3D_CBUFFER_TYPE, D3D_INCLUDE_TYPE, D3D_NAME, D3D_REGISTER_COMPONENT_TYPE, - D3D_RESOURCE_RETURN_TYPE, D3D_SHADER_CBUFFER_FLAGS, D3D_SHADER_INPUT_FLAGS, - D3D_SHADER_INPUT_TYPE, D3D_SHADER_MACRO, D3D_SHADER_VARIABLE_CLASS, D3D_SHADER_VARIABLE_FLAGS, - D3D_SHADER_VARIABLE_TYPE, ID3DInclude, -}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LPCSTR}; -pub const D3D10_SHADER_DEBUG: UINT = 1 << 0; -pub const D3D10_SHADER_SKIP_VALIDATION: UINT = 1 << 1; -pub const D3D10_SHADER_SKIP_OPTIMIZATION: UINT = 1 << 2; -pub const D3D10_SHADER_PACK_MATRIX_ROW_MAJOR: UINT = 1 << 3; -pub const D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR: UINT = 1 << 4; -pub const D3D10_SHADER_PARTIAL_PRECISION: UINT = 1 << 5; -pub const D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT: UINT = 1 << 6; -pub const D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT: UINT = 1 << 7; -pub const D3D10_SHADER_NO_PRESHADER: UINT = 1 << 8; -pub const D3D10_SHADER_AVOID_FLOW_CONTROL: UINT = 1 << 9; -pub const D3D10_SHADER_PREFER_FLOW_CONTROL: UINT = 1 << 10; -pub const D3D10_SHADER_ENABLE_STRICTNESS: UINT = 1 << 11; -pub const D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY: UINT = 1 << 12; -pub const D3D10_SHADER_IEEE_STRICTNESS: UINT = 1 << 13; -pub const D3D10_SHADER_WARNINGS_ARE_ERRORS: UINT = 1 << 18; -pub const D3D10_SHADER_RESOURCES_MAY_ALIAS: UINT = 1 << 19; -pub const D3D10_ENABLE_UNBOUNDED_DESCRIPTOR_TABLES: UINT = 1 << 20; -pub const D3D10_ALL_RESOURCES_BOUND: UINT = 1 << 21; -pub const D3D10_SHADER_OPTIMIZATION_LEVEL0: UINT = 1 << 14; -pub const D3D10_SHADER_OPTIMIZATION_LEVEL1: UINT = 0; -pub const D3D10_SHADER_OPTIMIZATION_LEVEL2: UINT = (1 << 14) | (1 << 15); -pub const D3D10_SHADER_OPTIMIZATION_LEVEL3: UINT = 1 << 15; -pub const D3D10_SHADER_FLAGS2_FORCE_ROOT_SIGNATURE_LATEST: UINT = 0; -pub const D3D10_SHADER_FLAGS2_FORCE_ROOT_SIGNATURE_1_0: UINT = 1 << 4; -pub const D3D10_SHADER_FLAGS2_FORCE_ROOT_SIGNATURE_1_1: UINT = 1 << 5; -pub type D3D10_SHADER_MACRO = D3D_SHADER_MACRO; -pub type LPD3D10_SHADER_MACRO = *mut D3D10_SHADER_MACRO; -pub type D3D10_SHADER_VARIABLE_CLASS = D3D_SHADER_VARIABLE_CLASS; -pub type LPD3D10_SHADER_VARIABLE_CLASS = *mut D3D10_SHADER_VARIABLE_CLASS; -pub type D3D10_SHADER_VARIABLE_FLAGS = D3D_SHADER_VARIABLE_FLAGS; -pub type LPD3D10_SHADER_VARIABLE_FLAGS = *mut D3D10_SHADER_VARIABLE_FLAGS; -pub type D3D10_SHADER_VARIABLE_TYPE = D3D_SHADER_VARIABLE_TYPE; -pub type LPD3D10_SHADER_VARIABLE_TYPE = *mut D3D10_SHADER_VARIABLE_TYPE; -pub type D3D10_SHADER_INPUT_FLAGS = D3D_SHADER_INPUT_FLAGS; -pub type LPD3D10_SHADER_INPUT_FLAGS = *mut D3D10_SHADER_INPUT_FLAGS; -pub type D3D10_SHADER_INPUT_TYPE = D3D_SHADER_INPUT_TYPE; -pub type LPD3D10_SHADER_INPUT_TYPE = *mut D3D10_SHADER_INPUT_TYPE; -pub type D3D10_SHADER_CBUFFER_FLAGS = D3D_SHADER_CBUFFER_FLAGS; -pub type LPD3D10_SHADER_CBUFFER_FLAGS = *mut D3D10_SHADER_CBUFFER_FLAGS; -pub type D3D10_CBUFFER_TYPE = D3D_CBUFFER_TYPE; -pub type LPD3D10_CBUFFER_TYPE = *mut D3D10_CBUFFER_TYPE; -pub type D3D10_NAME = D3D_NAME; -pub type D3D10_RESOURCE_RETURN_TYPE = D3D_RESOURCE_RETURN_TYPE; -pub type D3D10_REGISTER_COMPONENT_TYPE = D3D_REGISTER_COMPONENT_TYPE; -pub type D3D10_INCLUDE_TYPE = D3D_INCLUDE_TYPE; -pub type ID3D10Include = ID3DInclude; -pub type LPD3D10INCLUDE = *mut ID3DInclude; -// const IID_ID3D10Include: IID = IID_ID3DInclude; -STRUCT!{struct D3D10_SHADER_DESC { - Version: UINT, - Creator: LPCSTR, - Flags: UINT, - ConstantBuffers: UINT, - BoundResources: UINT, - InputParameters: UINT, - OutputParameters: UINT, - InstructionCount: UINT, - TempRegisterCount: UINT, - TempArrayCount: UINT, - DefCount: UINT, - DclCount: UINT, - TextureNormalInstructions: UINT, - TextureLoadInstructions: UINT, - TextureCompInstructions: UINT, - TextureBiasInstructions: UINT, - TextureGradientInstructions: UINT, - FloatInstructionCount: UINT, - IntInstructionCount: UINT, - UintInstructionCount: UINT, - StaticFlowControlCount: UINT, - DynamicFlowControlCount: UINT, - MacroInstructionCount: UINT, - ArrayInstructionCount: UINT, - CutInstructionCount: UINT, - EmitInstructionCount: UINT, - GSOutputTopology: D3D10_PRIMITIVE_TOPOLOGY, - GSMaxOutputVertexCount: UINT, -}} -STRUCT!{struct D3D10_SHADER_BUFFER_DESC { - Name: LPCSTR, - Type: D3D10_CBUFFER_TYPE, - Variables: UINT, - Size: UINT, - uFlags: UINT, -}} -STRUCT!{struct D3D10_SHADER_VARIABLE_DESC { - Name: LPCSTR, - StartOffset: UINT, - Size: UINT, - uFlags: UINT, - DefaultValue: LPVOID, -}} -STRUCT!{struct D3D10_SHADER_TYPE_DESC { - Class: D3D10_SHADER_VARIABLE_CLASS, - Type: D3D10_SHADER_VARIABLE_TYPE, - Rows: UINT, - Columns: UINT, - Elements: UINT, - Members: UINT, - Offset: UINT, -}} -STRUCT!{struct D3D10_SHADER_INPUT_BIND_DESC { - Name: LPCSTR, - Type: D3D10_SHADER_INPUT_TYPE, - BindPoint: UINT, - BindCount: UINT, - uFlags: UINT, - ReturnType: D3D10_RESOURCE_RETURN_TYPE, - Dimension: D3D10_SRV_DIMENSION, - NumSamples: UINT, -}} -STRUCT!{struct D3D10_SIGNATURE_PARAMETER_DESC { - SemanticName: LPCSTR, - SemanticIndex: UINT, - Register: UINT, - SystemValueType: D3D10_NAME, - ComponentType: D3D10_REGISTER_COMPONENT_TYPE, - Mask: BYTE, - ReadWriteMask: BYTE, -}} -pub type LPD3D10SHADERREFLECTIONTYPE = *mut ID3D10ShaderReflectionType; -DEFINE_GUID!{IID_ID3D10ShaderReflectionType, - 0xc530ad7d, 0x9b16, 0x4395, 0xa9, 0x79, 0xba, 0x2e, 0xcf, 0xf8, 0x3a, 0xdd} -RIDL!{#[uuid(0xc530ad7d, 0x9b16, 0x4395, 0xa9, 0x79, 0xba, 0x2e, 0xcf, 0xf8, 0x3a, 0xdd)] -interface ID3D10ShaderReflectionType(ID3D10ShaderReflectionTypeVtbl) { - fn GetDesc( - pDesc: *mut D3D10_SHADER_TYPE_DESC, - ) -> HRESULT, - fn GetMemberTypeByIndex( - Index: UINT, - ) -> *mut ID3D10ShaderReflectionType, - fn GetMemberTypeByName( - Name: LPCSTR, - ) -> *mut ID3D10ShaderReflectionType, - fn GetMemberTypeName( - Index: UINT, - ) -> LPCSTR, -}} -pub type LPD3D10SHADERREFLECTIONVARIABLE = *mut ID3D10ShaderReflectionVariable; -DEFINE_GUID!{IID_ID3D10ShaderReflectionVariable, - 0x1bf63c95, 0x2650, 0x405d, 0x99, 0xc1, 0x36, 0x36, 0xbd, 0x1d, 0xa0, 0xa1} -RIDL!{#[uuid(0x1bf63c95, 0x2650, 0x405d, 0x99, 0xc1, 0x36, 0x36, 0xbd, 0x1d, 0xa0, 0xa1)] -interface ID3D10ShaderReflectionVariable(ID3D10ShaderReflectionVariableVtbl) { - fn GetDesc( - pDesc: *mut D3D10_SHADER_VARIABLE_DESC, - ) -> HRESULT, - fn GetType() -> *mut ID3D10ShaderReflectionType, -}} -pub type LPD3D10SHADERREFLECTIONCONSTANTBUFFER = *mut ID3D10ShaderReflectionConstantBuffer; -DEFINE_GUID!{IID_ID3D10ShaderReflectionConstantBuffer, - 0x66c66a94, 0xdddd, 0x4b62, 0xa6, 0x6a, 0xf0, 0xda, 0x33, 0xc2, 0xb4, 0xd0} -RIDL!{#[uuid(0x66c66a94, 0xdddd, 0x4b62, 0xa6, 0x6a, 0xf0, 0xda, 0x33, 0xc2, 0xb4, 0xd0)] -interface ID3D10ShaderReflectionConstantBuffer(ID3D10ShaderReflectionConstantBufferVtbl) { - fn GetDesc( - pDesc: *mut D3D10_SHADER_BUFFER_DESC, - ) -> HRESULT, - fn GetVariableByIndex( - Index: UINT, - ) -> *mut ID3D10ShaderReflectionVariable, - fn GetVariableByName( - Name: LPCSTR, - ) -> *mut ID3D10ShaderReflectionVariable, -}} -pub type LPD3D10SHADERREFLECTION = *mut ID3D10ShaderReflection; -DEFINE_GUID!{IID_ID3D10ShaderReflection, - 0xd40e20b6, 0xf8f7, 0x42ad, 0xab, 0x20, 0x4b, 0xaf, 0x8f, 0x15, 0xdf, 0xaa} -RIDL!{#[uuid(0xd40e20b6, 0xf8f7, 0x42ad, 0xab, 0x20, 0x4b, 0xaf, 0x8f, 0x15, 0xdf, 0xaa)] -interface ID3D10ShaderReflection(ID3D10ShaderReflectionVtbl): IUnknown(IUnknownVtbl) { - fn GetDesc( - pDesc: *mut D3D10_SHADER_DESC, - ) -> HRESULT, - fn GetConstantBufferByIndex( - Index: UINT, - ) -> *mut ID3D10ShaderReflectionConstantBuffer, - fn GetConstantBufferByName( - Name: LPCSTR, - ) -> *mut ID3D10ShaderReflectionConstantBuffer, - fn GetResourceBindingDesc( - ResourceIndex: UINT, - pDesc: *mut D3D10_SHADER_INPUT_BIND_DESC, - ) -> HRESULT, - fn GetInputParameterDesc( - ParameterIndex: UINT, - pDesc: *mut D3D10_SIGNATURE_PARAMETER_DESC, - ) -> HRESULT, - fn GetOutputParameterDesc( - ParameterIndex: UINT, - pDesc: *mut D3D10_SIGNATURE_PARAMETER_DESC, - ) -> HRESULT, -}} -// TODO Some functions diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3d11.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3d11.rs deleted file mode 100644 index d6e306a2b..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3d11.rs +++ /dev/null @@ -1,3420 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_float, c_int, c_long, c_void}; -use shared::basetsd::{SIZE_T, UINT64, UINT8}; -use shared::dxgi::{DXGI_SWAP_CHAIN_DESC, IDXGIAdapter, IDXGISwapChain}; -use shared::dxgiformat::DXGI_FORMAT; -use shared::dxgitype::{DXGI_RATIONAL, DXGI_SAMPLE_DESC}; -use shared::guiddef::{GUID, REFGUID, REFIID}; -use shared::minwindef::{BOOL, BYTE, DWORD, FLOAT, HMODULE, INT, UINT, USHORT}; -use shared::windef::{RECT, SIZE}; -use um::d3dcommon::{ - D3D_DRIVER_TYPE, D3D_FEATURE_LEVEL, D3D_PRIMITIVE, D3D_PRIMITIVE_TOPOLOGY, D3D_SRV_DIMENSION, -}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HANDLE, HRESULT, LPCSTR, LPSTR, ULONGLONG}; -pub const D3D11_16BIT_INDEX_STRIP_CUT_VALUE: DWORD = 0xffff; -pub const D3D11_32BIT_INDEX_STRIP_CUT_VALUE: DWORD = 0xffffffff; -pub const D3D11_8BIT_INDEX_STRIP_CUT_VALUE: DWORD = 0xff; -pub const D3D11_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT: DWORD = 9; -pub const D3D11_CLIP_OR_CULL_DISTANCE_COUNT: DWORD = 8; -pub const D3D11_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT: DWORD = 2; -pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT: DWORD = 14; -pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS: DWORD = 4; -pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT: DWORD = 15; -pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT: DWORD = 16; -pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS: DWORD = 4; -pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT: DWORD = 15; -pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST: DWORD = 1; -pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS: DWORD = 1; -pub const D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT: DWORD = 64; -pub const D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS: DWORD = 4; -pub const D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT: DWORD = 1; -pub const D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST: DWORD = 1; -pub const D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS: DWORD = 1; -pub const D3D11_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS: DWORD = 1; -pub const D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT: DWORD = 128; -pub const D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST: DWORD = 1; -pub const D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS: DWORD = 1; -pub const D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT: DWORD = 128; -pub const D3D11_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS: DWORD = 1; -pub const D3D11_COMMONSHADER_SAMPLER_REGISTER_COUNT: DWORD = 16; -pub const D3D11_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST: DWORD = 1; -pub const D3D11_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS: DWORD = 1; -pub const D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT: DWORD = 16; -pub const D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT: DWORD = 32; -pub const D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENTS: DWORD = 4; -pub const D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_COMMONSHADER_TEMP_REGISTER_COUNT: DWORD = 4096; -pub const D3D11_COMMONSHADER_TEMP_REGISTER_READS_PER_INST: DWORD = 3; -pub const D3D11_COMMONSHADER_TEMP_REGISTER_READ_PORTS: DWORD = 3; -pub const D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX: DWORD = 10; -pub const D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN: c_long = -10; -pub const D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE: c_long = -8; -pub const D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE: DWORD = 7; -pub const D3D11_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 256; -pub const D3D11_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP: DWORD = 64; -pub const D3D11_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 240; -pub const D3D11_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP: DWORD = 68; -pub const D3D11_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 224; -pub const D3D11_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP: DWORD = 72; -pub const D3D11_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 208; -pub const D3D11_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP: DWORD = 76; -pub const D3D11_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 192; -pub const D3D11_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP: DWORD = 84; -pub const D3D11_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 176; -pub const D3D11_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP: DWORD = 92; -pub const D3D11_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 160; -pub const D3D11_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP: DWORD = 100; -pub const D3D11_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 144; -pub const D3D11_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP: DWORD = 112; -pub const D3D11_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 128; -pub const D3D11_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP: DWORD = 128; -pub const D3D11_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 112; -pub const D3D11_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP: DWORD = 144; -pub const D3D11_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 96; -pub const D3D11_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP: DWORD = 168; -pub const D3D11_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 80; -pub const D3D11_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP: DWORD = 204; -pub const D3D11_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 64; -pub const D3D11_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP: DWORD = 256; -pub const D3D11_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 48; -pub const D3D11_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP: DWORD = 340; -pub const D3D11_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 32; -pub const D3D11_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP: DWORD = 512; -pub const D3D11_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 16; -pub const D3D11_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP: DWORD = 768; -pub const D3D11_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION: DWORD = 1; -pub const D3D11_CS_4_X_RAW_UAV_BYTE_ALIGNMENT: DWORD = 256; -pub const D3D11_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP: DWORD = 768; -pub const D3D11_CS_4_X_THREAD_GROUP_MAX_X: DWORD = 768; -pub const D3D11_CS_4_X_THREAD_GROUP_MAX_Y: DWORD = 768; -pub const D3D11_CS_4_X_UAV_REGISTER_COUNT: DWORD = 1; -pub const D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION: DWORD = 65535; -pub const D3D11_CS_TGSM_REGISTER_COUNT: DWORD = 8192; -pub const D3D11_CS_TGSM_REGISTER_READS_PER_INST: DWORD = 1; -pub const D3D11_CS_TGSM_RESOURCE_REGISTER_COMPONENTS: DWORD = 1; -pub const D3D11_CS_TGSM_RESOURCE_REGISTER_READ_PORTS: DWORD = 1; -pub const D3D11_CS_THREADGROUPID_REGISTER_COMPONENTS: DWORD = 3; -pub const D3D11_CS_THREADGROUPID_REGISTER_COUNT: DWORD = 1; -pub const D3D11_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS: DWORD = 1; -pub const D3D11_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT: DWORD = 1; -pub const D3D11_CS_THREADIDINGROUP_REGISTER_COMPONENTS: DWORD = 3; -pub const D3D11_CS_THREADIDINGROUP_REGISTER_COUNT: DWORD = 1; -pub const D3D11_CS_THREADID_REGISTER_COMPONENTS: DWORD = 3; -pub const D3D11_CS_THREADID_REGISTER_COUNT: DWORD = 1; -pub const D3D11_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP: DWORD = 1024; -pub const D3D11_CS_THREAD_GROUP_MAX_X: DWORD = 1024; -pub const D3D11_CS_THREAD_GROUP_MAX_Y: DWORD = 1024; -pub const D3D11_CS_THREAD_GROUP_MAX_Z: DWORD = 64; -pub const D3D11_CS_THREAD_GROUP_MIN_X: DWORD = 1; -pub const D3D11_CS_THREAD_GROUP_MIN_Y: DWORD = 1; -pub const D3D11_CS_THREAD_GROUP_MIN_Z: DWORD = 1; -pub const D3D11_CS_THREAD_LOCAL_TEMP_REGISTER_POOL: DWORD = 16384; -pub const D3D11_DEFAULT_BLEND_FACTOR_ALPHA: FLOAT = 1.0; -pub const D3D11_DEFAULT_BLEND_FACTOR_BLUE: FLOAT = 1.0; -pub const D3D11_DEFAULT_BLEND_FACTOR_GREEN: FLOAT = 1.0; -pub const D3D11_DEFAULT_BLEND_FACTOR_RED: FLOAT = 1.0; -pub const D3D11_DEFAULT_BORDER_COLOR_COMPONENT: FLOAT = 0.0; -pub const D3D11_DEFAULT_DEPTH_BIAS: DWORD = 0; -pub const D3D11_DEFAULT_DEPTH_BIAS_CLAMP: FLOAT = 0.0; -pub const D3D11_DEFAULT_MAX_ANISOTROPY: DWORD = 16; -pub const D3D11_DEFAULT_MIP_LOD_BIAS: FLOAT = 0.0; -pub const D3D11_DEFAULT_RENDER_TARGET_ARRAY_INDEX: DWORD = 0; -pub const D3D11_DEFAULT_SAMPLE_MASK: DWORD = 0xffffffff; -pub const D3D11_DEFAULT_SCISSOR_ENDX: DWORD = 0; -pub const D3D11_DEFAULT_SCISSOR_ENDY: DWORD = 0; -pub const D3D11_DEFAULT_SCISSOR_STARTX: DWORD = 0; -pub const D3D11_DEFAULT_SCISSOR_STARTY: DWORD = 0; -pub const D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS: FLOAT = 0.0; -pub const D3D11_DEFAULT_STENCIL_READ_MASK: DWORD = 0xff; -pub const D3D11_DEFAULT_STENCIL_REFERENCE: DWORD = 0; -pub const D3D11_DEFAULT_STENCIL_WRITE_MASK: DWORD = 0xff; -pub const D3D11_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX: DWORD = 0; -pub const D3D11_DEFAULT_VIEWPORT_HEIGHT: DWORD = 0; -pub const D3D11_DEFAULT_VIEWPORT_MAX_DEPTH: FLOAT = 0.0; -pub const D3D11_DEFAULT_VIEWPORT_MIN_DEPTH: FLOAT = 0.0; -pub const D3D11_DEFAULT_VIEWPORT_TOPLEFTX: DWORD = 0; -pub const D3D11_DEFAULT_VIEWPORT_TOPLEFTY: DWORD = 0; -pub const D3D11_DEFAULT_VIEWPORT_WIDTH: DWORD = 0; -pub const D3D11_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS: DWORD = 3968; -pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS: DWORD = 4; -pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT: DWORD = 32; -pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST: DWORD = 2; -pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS: DWORD = 1; -pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS: DWORD = 3; -pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT: DWORD = 1; -pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST: DWORD = 2; -pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS: DWORD = 1; -pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS: DWORD = 4; -pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT: DWORD = 32; -pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST: DWORD = 2; -pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS: DWORD = 1; -pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS: DWORD = 1; -pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT: DWORD = 1; -pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST: DWORD = 2; -pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS: DWORD = 1; -pub const D3D11_DS_OUTPUT_REGISTER_COMPONENTS: DWORD = 4; -pub const D3D11_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_DS_OUTPUT_REGISTER_COUNT: DWORD = 32; -pub const D3D11_FLOAT16_FUSED_TOLERANCE_IN_ULP: FLOAT = 0.6; -pub const D3D11_FLOAT32_MAX: FLOAT = 3.402823466E+38; -pub const D3D11_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP: FLOAT = 0.6; -pub const D3D11_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR: FLOAT = 2.4; -pub const D3D11_FLOAT_TO_SRGB_EXPONENT_NUMERATOR: FLOAT = 1.0; -pub const D3D11_FLOAT_TO_SRGB_OFFSET: FLOAT = 0.055; -pub const D3D11_FLOAT_TO_SRGB_SCALE_1: FLOAT = 12.92; -pub const D3D11_FLOAT_TO_SRGB_SCALE_2: FLOAT = 1.055; -pub const D3D11_FLOAT_TO_SRGB_THRESHOLD: FLOAT = 0.0031308; -pub const D3D11_FTOI_INSTRUCTION_MAX_INPUT: FLOAT = 2147483647.999; -pub const D3D11_FTOI_INSTRUCTION_MIN_INPUT: FLOAT = -2147483648.999; -pub const D3D11_FTOU_INSTRUCTION_MAX_INPUT: FLOAT = 4294967295.999; -pub const D3D11_FTOU_INSTRUCTION_MIN_INPUT: FLOAT = 0.0; -pub const D3D11_GS_INPUT_INSTANCE_ID_READS_PER_INST: DWORD = 2; -pub const D3D11_GS_INPUT_INSTANCE_ID_READ_PORTS: DWORD = 1; -pub const D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS: DWORD = 1; -pub const D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COUNT: DWORD = 1; -pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS: DWORD = 1; -pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_COUNT: DWORD = 1; -pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST: DWORD = 2; -pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS: DWORD = 1; -pub const D3D11_GS_INPUT_REGISTER_COMPONENTS: DWORD = 4; -pub const D3D11_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_GS_INPUT_REGISTER_COUNT: DWORD = 32; -pub const D3D11_GS_INPUT_REGISTER_READS_PER_INST: DWORD = 2; -pub const D3D11_GS_INPUT_REGISTER_READ_PORTS: DWORD = 1; -pub const D3D11_GS_INPUT_REGISTER_VERTICES: DWORD = 32; -pub const D3D11_GS_MAX_INSTANCE_COUNT: DWORD = 32; -pub const D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES: DWORD = 1024; -pub const D3D11_GS_OUTPUT_ELEMENTS: DWORD = 32; -pub const D3D11_GS_OUTPUT_REGISTER_COMPONENTS: DWORD = 4; -pub const D3D11_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_GS_OUTPUT_REGISTER_COUNT: DWORD = 32; -pub const D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT: DWORD = 32; -pub const D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT: DWORD = 32; -pub const D3D11_HS_CONTROL_POINT_REGISTER_COMPONENTS: DWORD = 4; -pub const D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_HS_CONTROL_POINT_REGISTER_READS_PER_INST: DWORD = 2; -pub const D3D11_HS_CONTROL_POINT_REGISTER_READ_PORTS: DWORD = 1; -pub const D3D11_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND: DWORD = 0xffffffff; -pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS: DWORD = 1; -pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT: DWORD = 1; -pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST: DWORD = 2; -pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS: DWORD = 1; -pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS: DWORD = 1; -pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT: DWORD = 1; -pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST: DWORD = 2; -pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS: DWORD = 1; -pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS: DWORD = 1; -pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT: DWORD = 1; -pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST: DWORD = 2; -pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS: DWORD = 1; -pub const D3D11_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND: DWORD = 0xffffffff; -pub const D3D11_HS_MAXTESSFACTOR_LOWER_BOUND: FLOAT = 1.0; -pub const D3D11_HS_MAXTESSFACTOR_UPPER_BOUND: FLOAT = 64.0; -pub const D3D11_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS: DWORD = 3968; -pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS: DWORD = 1; -pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT: DWORD = 1; -pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST: DWORD = 2; -pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS: DWORD = 1; -pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS: DWORD = 4; -pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT: DWORD = 32; -pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST: DWORD = 2; -pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS: DWORD = 1; -pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS: DWORD = 128; -pub const D3D11_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES: DWORD = 0; -pub const D3D11_IA_DEFAULT_PRIMITIVE_TOPOLOGY: DWORD = 0; -pub const D3D11_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES: DWORD = 0; -pub const D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT: DWORD = 1; -pub const D3D11_IA_INSTANCE_ID_BIT_COUNT: DWORD = 32; -pub const D3D11_IA_INTEGER_ARITHMETIC_BIT_COUNT: DWORD = 32; -pub const D3D11_IA_PATCH_MAX_CONTROL_POINT_COUNT: DWORD = 32; -pub const D3D11_IA_PRIMITIVE_ID_BIT_COUNT: DWORD = 32; -pub const D3D11_IA_VERTEX_ID_BIT_COUNT: DWORD = 32; -pub const D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT: DWORD = 32; -pub const D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS: DWORD = 128; -pub const D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT: DWORD = 32; -pub const D3D11_INTEGER_DIVIDE_BY_ZERO_QUOTIENT: DWORD = 0xffffffff; -pub const D3D11_INTEGER_DIVIDE_BY_ZERO_REMAINDER: DWORD = 0xffffffff; -pub const D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL: DWORD = 0xffffffff; -pub const D3D11_KEEP_UNORDERED_ACCESS_VIEWS: DWORD = 0xffffffff; -pub const D3D11_LINEAR_GAMMA: FLOAT = 1.0; -pub const D3D11_MAJOR_VERSION: DWORD = 11; -pub const D3D11_MAX_BORDER_COLOR_COMPONENT: FLOAT = 1.0; -pub const D3D11_MAX_DEPTH: FLOAT = 1.0; -pub const D3D11_MAX_MAXANISOTROPY: DWORD = 16; -pub const D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT: DWORD = 32; -pub const D3D11_MAX_POSITION_VALUE: FLOAT = 3.402823466E+34; -pub const D3D11_MAX_TEXTURE_DIMENSION_2_TO_EXP: DWORD = 17; -pub const D3D11_MINOR_VERSION: DWORD = 0; -pub const D3D11_MIN_BORDER_COLOR_COMPONENT: FLOAT = 0.0; -pub const D3D11_MIN_DEPTH: FLOAT = 0.0; -pub const D3D11_MIN_MAXANISOTROPY: DWORD = 0; -pub const D3D11_MIP_LOD_BIAS_MAX: FLOAT = 15.99; -pub const D3D11_MIP_LOD_BIAS_MIN: FLOAT = -16.0; -pub const D3D11_MIP_LOD_FRACTIONAL_BIT_COUNT: DWORD = 8; -pub const D3D11_MIP_LOD_RANGE_BIT_COUNT: DWORD = 8; -pub const D3D11_MULTISAMPLE_ANTIALIAS_LINE_WIDTH: FLOAT = 1.4; -pub const D3D11_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT: DWORD = 0; -pub const D3D11_PIXEL_ADDRESS_RANGE_BIT_COUNT: DWORD = 15; -pub const D3D11_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT: DWORD = 16; -pub const D3D11_PS_CS_UAV_REGISTER_COMPONENTS: DWORD = 1; -pub const D3D11_PS_CS_UAV_REGISTER_COUNT: DWORD = 8; -pub const D3D11_PS_CS_UAV_REGISTER_READS_PER_INST: DWORD = 1; -pub const D3D11_PS_CS_UAV_REGISTER_READ_PORTS: DWORD = 1; -pub const D3D11_PS_FRONTFACING_DEFAULT_VALUE: DWORD = 0xffffffff; -pub const D3D11_PS_FRONTFACING_FALSE_VALUE: DWORD = 0; -pub const D3D11_PS_FRONTFACING_TRUE_VALUE: DWORD = 0xffffffff; -pub const D3D11_PS_INPUT_REGISTER_COMPONENTS: DWORD = 4; -pub const D3D11_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_PS_INPUT_REGISTER_COUNT: DWORD = 32; -pub const D3D11_PS_INPUT_REGISTER_READS_PER_INST: DWORD = 2; -pub const D3D11_PS_INPUT_REGISTER_READ_PORTS: DWORD = 1; -pub const D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT: FLOAT = 0.0; -pub const D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS: DWORD = 1; -pub const D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT: DWORD = 1; -pub const D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENTS: DWORD = 1; -pub const D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_PS_OUTPUT_MASK_REGISTER_COUNT: DWORD = 1; -pub const D3D11_PS_OUTPUT_REGISTER_COMPONENTS: DWORD = 4; -pub const D3D11_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_PS_OUTPUT_REGISTER_COUNT: DWORD = 8; -pub const D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT: FLOAT = 0.5; -pub const D3D11_RAW_UAV_SRV_BYTE_ALIGNMENT: DWORD = 16; -pub const D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE: DWORD = 4096; -pub const D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP: DWORD = 27; -pub const D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT: DWORD = 4096; -pub const D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE: DWORD = 4096; -pub const D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP: DWORD = 32; -pub const D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP: DWORD = 32; -pub const D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION: DWORD = 16384; -pub const D3D11_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT: DWORD = 1024; -pub const D3D11_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT: DWORD = 4096; -pub const D3D11_REQ_MAXANISOTROPY: DWORD = 16; -pub const D3D11_REQ_MIP_LEVELS: DWORD = 15; -pub const D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES: DWORD = 2048; -pub const D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE: DWORD = 4096; -pub const D3D11_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH: DWORD = 16384; -pub const D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM: DWORD = 128; -pub const D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM: FLOAT = 0.25; -pub const D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM: DWORD = 2048; -pub const D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP: DWORD = 20; -pub const D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE: DWORD = 4096; -pub const D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION: DWORD = 2048; -pub const D3D11_REQ_TEXTURE1D_U_DIMENSION: DWORD = 16384; -pub const D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION: DWORD = 2048; -pub const D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION: DWORD = 16384; -pub const D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION: DWORD = 2048; -pub const D3D11_REQ_TEXTURECUBE_DIMENSION: DWORD = 16384; -pub const D3D11_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL: DWORD = 0; -pub const D3D11_SHADER_MAJOR_VERSION: DWORD = 5; -pub const D3D11_SHADER_MAX_INSTANCES: DWORD = 65535; -pub const D3D11_SHADER_MAX_INTERFACES: DWORD = 253; -pub const D3D11_SHADER_MAX_INTERFACE_CALL_SITES: DWORD = 4096; -pub const D3D11_SHADER_MAX_TYPES: DWORD = 65535; -pub const D3D11_SHADER_MINOR_VERSION: DWORD = 0; -pub const D3D11_SHIFT_INSTRUCTION_PAD_VALUE: DWORD = 0; -pub const D3D11_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT: DWORD = 5; -pub const D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT: DWORD = 8; -pub const D3D11_SO_BUFFER_MAX_STRIDE_IN_BYTES: DWORD = 2048; -pub const D3D11_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES: DWORD = 512; -pub const D3D11_SO_BUFFER_SLOT_COUNT: DWORD = 4; -pub const D3D11_SO_DDI_REGISTER_INDEX_DENOTING_GAP: DWORD = 0xffffffff; -pub const D3D11_SO_NO_RASTERIZED_STREAM: DWORD = 0xffffffff; -pub const D3D11_SO_OUTPUT_COMPONENT_COUNT: DWORD = 128; -pub const D3D11_SO_STREAM_COUNT: DWORD = 4; -pub const D3D11_SPEC_DATE_DAY: DWORD = 16; -pub const D3D11_SPEC_DATE_MONTH: DWORD = 0o5; -pub const D3D11_SPEC_DATE_YEAR: DWORD = 2011; -pub const D3D11_SPEC_VERSION: FLOAT = 1.07; -pub const D3D11_SRGB_GAMMA: FLOAT = 2.2; -pub const D3D11_SRGB_TO_FLOAT_DENOMINATOR_1: FLOAT = 12.92; -pub const D3D11_SRGB_TO_FLOAT_DENOMINATOR_2: FLOAT = 1.055; -pub const D3D11_SRGB_TO_FLOAT_EXPONENT: FLOAT = 2.4; -pub const D3D11_SRGB_TO_FLOAT_OFFSET: FLOAT = 0.055; -pub const D3D11_SRGB_TO_FLOAT_THRESHOLD: FLOAT = 0.04045; -pub const D3D11_SRGB_TO_FLOAT_TOLERANCE_IN_ULP: FLOAT = 0.5; -pub const D3D11_STANDARD_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_STANDARD_COMPONENT_BIT_COUNT_DOUBLED: DWORD = 64; -pub const D3D11_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE: DWORD = 4; -pub const D3D11_STANDARD_PIXEL_COMPONENT_COUNT: DWORD = 128; -pub const D3D11_STANDARD_PIXEL_ELEMENT_COUNT: DWORD = 32; -pub const D3D11_STANDARD_VECTOR_SIZE: DWORD = 4; -pub const D3D11_STANDARD_VERTEX_ELEMENT_COUNT: DWORD = 32; -pub const D3D11_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT: DWORD = 64; -pub const D3D11_SUBPIXEL_FRACTIONAL_BIT_COUNT: DWORD = 8; -pub const D3D11_SUBTEXEL_FRACTIONAL_BIT_COUNT: DWORD = 8; -pub const D3D11_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR: DWORD = 64; -pub const D3D11_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR: DWORD = 64; -pub const D3D11_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR: DWORD = 63; -pub const D3D11_TESSELLATOR_MAX_TESSELLATION_FACTOR: DWORD = 64; -pub const D3D11_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR: DWORD = 2; -pub const D3D11_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR: DWORD = 1; -pub const D3D11_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR: DWORD = 1; -pub const D3D11_TEXEL_ADDRESS_RANGE_BIT_COUNT: DWORD = 16; -pub const D3D11_UNBOUND_MEMORY_ACCESS_RESULT: DWORD = 0; -pub const D3D11_VIEWPORT_AND_SCISSORRECT_MAX_INDEX: DWORD = 15; -pub const D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE: DWORD = 16; -pub const D3D11_VIEWPORT_BOUNDS_MAX: DWORD = 32767; -pub const D3D11_VIEWPORT_BOUNDS_MIN: c_long = -32768; -pub const D3D11_VS_INPUT_REGISTER_COMPONENTS: DWORD = 4; -pub const D3D11_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_VS_INPUT_REGISTER_COUNT: DWORD = 32; -pub const D3D11_VS_INPUT_REGISTER_READS_PER_INST: DWORD = 2; -pub const D3D11_VS_INPUT_REGISTER_READ_PORTS: DWORD = 1; -pub const D3D11_VS_OUTPUT_REGISTER_COMPONENTS: DWORD = 4; -pub const D3D11_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; -pub const D3D11_VS_OUTPUT_REGISTER_COUNT: DWORD = 32; -pub const D3D11_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT: DWORD = 10; -pub const D3D11_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP: DWORD = 25; -pub const D3D11_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP: DWORD = 25; -pub const D3D11_1_UAV_SLOT_COUNT: DWORD = 64; -pub const D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES: DWORD = 65536; -ENUM!{enum D3D11_INPUT_CLASSIFICATION { - D3D11_INPUT_PER_VERTEX_DATA = 0, - D3D11_INPUT_PER_INSTANCE_DATA = 1, -}} -pub const D3D11_APPEND_ALIGNED_ELEMENT: DWORD = 0xffffffff; -STRUCT!{struct D3D11_INPUT_ELEMENT_DESC { - SemanticName: LPCSTR, - SemanticIndex: UINT, - Format: DXGI_FORMAT, - InputSlot: UINT, - AlignedByteOffset: UINT, - InputSlotClass: D3D11_INPUT_CLASSIFICATION, - InstanceDataStepRate: UINT, -}} -ENUM!{enum D3D11_FILL_MODE { - D3D11_FILL_WIREFRAME = 2, - D3D11_FILL_SOLID = 3, -}} -pub type D3D11_PRIMITIVE_TOPOLOGY = D3D_PRIMITIVE_TOPOLOGY; -pub type D3D11_PRIMITIVE = D3D_PRIMITIVE; -ENUM!{enum D3D11_CULL_MODE { - D3D11_CULL_NONE = 1, - D3D11_CULL_FRONT = 2, - D3D11_CULL_BACK = 3, -}} -STRUCT!{struct D3D11_SO_DECLARATION_ENTRY { - Stream: UINT, - SemanticName: LPCSTR, - SemanticIndex: UINT, - StartComponent: BYTE, - ComponentCount: BYTE, - OutputSlot: BYTE, -}} -STRUCT!{struct D3D11_VIEWPORT { - TopLeftX: FLOAT, - TopLeftY: FLOAT, - Width: FLOAT, - Height: FLOAT, - MinDepth: FLOAT, - MaxDepth: FLOAT, -}} -STRUCT!{struct D3D11_DRAW_INSTANCED_INDIRECT_ARGS { - VertexCountPerInstance: UINT, - InstanceCount: UINT, - StartVertexLocation: UINT, - StartInstanceLocation: UINT, -}} -STRUCT!{struct D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS { - IndexCountPerInstance: UINT, - InstanceCount: UINT, - StartIndexLocation: UINT, - BaseVertexLocation: INT, - StartInstanceLocation: UINT, -}} -ENUM!{enum D3D11_RESOURCE_DIMENSION { - D3D11_RESOURCE_DIMENSION_UNKNOWN = 0, - D3D11_RESOURCE_DIMENSION_BUFFER = 1, - D3D11_RESOURCE_DIMENSION_TEXTURE1D = 2, - D3D11_RESOURCE_DIMENSION_TEXTURE2D = 3, - D3D11_RESOURCE_DIMENSION_TEXTURE3D = 4, -}} -pub type D3D11_SRV_DIMENSION = D3D_SRV_DIMENSION; -ENUM!{enum D3D11_DSV_DIMENSION { - D3D11_DSV_DIMENSION_UNKNOWN = 0, - D3D11_DSV_DIMENSION_TEXTURE1D = 1, - D3D11_DSV_DIMENSION_TEXTURE1DARRAY = 2, - D3D11_DSV_DIMENSION_TEXTURE2D = 3, - D3D11_DSV_DIMENSION_TEXTURE2DARRAY = 4, - D3D11_DSV_DIMENSION_TEXTURE2DMS = 5, - D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY = 6, -}} -ENUM!{enum D3D11_RTV_DIMENSION { - D3D11_RTV_DIMENSION_UNKNOWN = 0, - D3D11_RTV_DIMENSION_BUFFER = 1, - D3D11_RTV_DIMENSION_TEXTURE1D = 2, - D3D11_RTV_DIMENSION_TEXTURE1DARRAY = 3, - D3D11_RTV_DIMENSION_TEXTURE2D = 4, - D3D11_RTV_DIMENSION_TEXTURE2DARRAY = 5, - D3D11_RTV_DIMENSION_TEXTURE2DMS = 6, - D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY = 7, - D3D11_RTV_DIMENSION_TEXTURE3D = 8, -}} -ENUM!{enum D3D11_UAV_DIMENSION { - D3D11_UAV_DIMENSION_UNKNOWN = 0, - D3D11_UAV_DIMENSION_BUFFER = 1, - D3D11_UAV_DIMENSION_TEXTURE1D = 2, - D3D11_UAV_DIMENSION_TEXTURE1DARRAY = 3, - D3D11_UAV_DIMENSION_TEXTURE2D = 4, - D3D11_UAV_DIMENSION_TEXTURE2DARRAY = 5, - D3D11_UAV_DIMENSION_TEXTURE3D = 8, -}} -ENUM!{enum D3D11_USAGE { - D3D11_USAGE_DEFAULT = 0, - D3D11_USAGE_IMMUTABLE = 1, - D3D11_USAGE_DYNAMIC = 2, - D3D11_USAGE_STAGING = 3, -}} -ENUM!{enum D3D11_BIND_FLAG { - D3D11_BIND_VERTEX_BUFFER = 0x1, - D3D11_BIND_INDEX_BUFFER = 0x2, - D3D11_BIND_CONSTANT_BUFFER = 0x4, - D3D11_BIND_SHADER_RESOURCE = 0x8, - D3D11_BIND_STREAM_OUTPUT = 0x10, - D3D11_BIND_RENDER_TARGET = 0x20, - D3D11_BIND_DEPTH_STENCIL = 0x40, - D3D11_BIND_UNORDERED_ACCESS = 0x80, - D3D11_BIND_DECODER = 0x200, - D3D11_BIND_VIDEO_ENCODER = 0x400, -}} -ENUM!{enum D3D11_CPU_ACCESS_FLAG { - D3D11_CPU_ACCESS_WRITE = 0x10000, - D3D11_CPU_ACCESS_READ = 0x20000, -}} -ENUM!{enum D3D11_RESOURCE_MISC_FLAG { - D3D11_RESOURCE_MISC_GENERATE_MIPS = 0x1, - D3D11_RESOURCE_MISC_SHARED = 0x2, - D3D11_RESOURCE_MISC_TEXTURECUBE = 0x4, - D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS = 0x10, - D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS = 0x20, - D3D11_RESOURCE_MISC_BUFFER_STRUCTURED = 0x40, - D3D11_RESOURCE_MISC_RESOURCE_CLAMP = 0x80, - D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x100, - D3D11_RESOURCE_MISC_GDI_COMPATIBLE = 0x200, - D3D11_RESOURCE_MISC_SHARED_NTHANDLE = 0x800, - D3D11_RESOURCE_MISC_RESTRICTED_CONTENT = 0x1000, - D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE = 0x2000, - D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER = 0x4000, - D3D11_RESOURCE_MISC_GUARDED = 0x8000, - D3D11_RESOURCE_MISC_TILE_POOL = 0x20000, - D3D11_RESOURCE_MISC_TILED = 0x40000, - D3D11_RESOURCE_MISC_HW_PROTECTED = 0x80000, -}} -ENUM!{enum D3D11_MAP { - D3D11_MAP_READ = 1, - D3D11_MAP_WRITE = 2, - D3D11_MAP_READ_WRITE = 3, - D3D11_MAP_WRITE_DISCARD = 4, - D3D11_MAP_WRITE_NO_OVERWRITE = 5, -}} -ENUM!{enum D3D11_MAP_FLAG { - D3D11_MAP_FLAG_DO_NOT_WAIT = 0x100000, -}} -ENUM!{enum D3D11_RAISE_FLAG { - D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR = 0x1, -}} -ENUM!{enum D3D11_CLEAR_FLAG { - D3D11_CLEAR_DEPTH = 0x1, - D3D11_CLEAR_STENCIL = 0x2, -}} -pub type D3D11_RECT = RECT; -STRUCT!{struct D3D11_BOX { - left: UINT, - top: UINT, - front: UINT, - right: UINT, - bottom: UINT, - back: UINT, -}} -RIDL!{#[uuid(0x1841e5c8, 0x16b0, 0x489b, 0xbc, 0xc8, 0x44, 0xcf, 0xb0, 0xd5, 0xde, 0xae)] -interface ID3D11DeviceChild(ID3D11DeviceChildVtbl): IUnknown(IUnknownVtbl) { - fn GetDevice( - ppDevice: *mut *mut ID3D11Device, - ) -> (), - fn GetPrivateData( - guid: REFGUID, - pDataSize: *mut UINT, - pData: *mut c_void, - ) -> HRESULT, - fn SetPrivateData( - guid: REFGUID, - DataSize: UINT, - pData: *const c_void, - ) -> HRESULT, - fn SetPrivateDataInterface( - guid: REFGUID, - pData: *const IUnknown, - ) -> HRESULT, -}} -ENUM!{enum D3D11_COMPARISON_FUNC { - D3D11_COMPARISON_NEVER = 1, - D3D11_COMPARISON_LESS = 2, - D3D11_COMPARISON_EQUAL = 3, - D3D11_COMPARISON_LESS_EQUAL = 4, - D3D11_COMPARISON_GREATER = 5, - D3D11_COMPARISON_NOT_EQUAL = 6, - D3D11_COMPARISON_GREATER_EQUAL = 7, - D3D11_COMPARISON_ALWAYS = 8, -}} -ENUM!{enum D3D11_DEPTH_WRITE_MASK { - D3D11_DEPTH_WRITE_MASK_ZERO = 0, - D3D11_DEPTH_WRITE_MASK_ALL = 1, -}} -ENUM!{enum D3D11_STENCIL_OP { - D3D11_STENCIL_OP_KEEP = 1, - D3D11_STENCIL_OP_ZERO = 2, - D3D11_STENCIL_OP_REPLACE = 3, - D3D11_STENCIL_OP_INCR_SAT = 4, - D3D11_STENCIL_OP_DECR_SAT = 5, - D3D11_STENCIL_OP_INVERT = 6, - D3D11_STENCIL_OP_INCR = 7, - D3D11_STENCIL_OP_DECR = 8, -}} -STRUCT!{struct D3D11_DEPTH_STENCILOP_DESC { - StencilFailOp: D3D11_STENCIL_OP, - StencilDepthFailOp: D3D11_STENCIL_OP, - StencilPassOp: D3D11_STENCIL_OP, - StencilFunc: D3D11_COMPARISON_FUNC, -}} -STRUCT!{struct D3D11_DEPTH_STENCIL_DESC { - DepthEnable: BOOL, - DepthWriteMask: D3D11_DEPTH_WRITE_MASK, - DepthFunc: D3D11_COMPARISON_FUNC, - StencilEnable: BOOL, - StencilReadMask: UINT8, - StencilWriteMask: UINT8, - FrontFace: D3D11_DEPTH_STENCILOP_DESC, - BackFace: D3D11_DEPTH_STENCILOP_DESC, -}} -RIDL!{#[uuid(0x03823efb, 0x8d8f, 0x4e1c, 0x9a, 0xa2, 0xf6, 0x4b, 0xb2, 0xcb, 0xfd, 0xf1)] -interface ID3D11DepthStencilState(ID3D11DepthStencilStateVtbl): - ID3D11DeviceChild(ID3D11DeviceChildVtbl) { - fn GetDesc( - pDesc: *mut D3D11_DEPTH_STENCIL_DESC, - ) -> (), -}} -ENUM!{enum D3D11_BLEND { - D3D11_BLEND_ZERO = 1, - D3D11_BLEND_ONE = 2, - D3D11_BLEND_SRC_COLOR = 3, - D3D11_BLEND_INV_SRC_COLOR = 4, - D3D11_BLEND_SRC_ALPHA = 5, - D3D11_BLEND_INV_SRC_ALPHA = 6, - D3D11_BLEND_DEST_ALPHA = 7, - D3D11_BLEND_INV_DEST_ALPHA = 8, - D3D11_BLEND_DEST_COLOR = 9, - D3D11_BLEND_INV_DEST_COLOR = 10, - D3D11_BLEND_SRC_ALPHA_SAT = 11, - D3D11_BLEND_BLEND_FACTOR = 14, - D3D11_BLEND_INV_BLEND_FACTOR = 15, - D3D11_BLEND_SRC1_COLOR = 16, - D3D11_BLEND_INV_SRC1_COLOR = 17, - D3D11_BLEND_SRC1_ALPHA = 18, - D3D11_BLEND_INV_SRC1_ALPHA = 19, -}} -ENUM!{enum D3D11_BLEND_OP { - D3D11_BLEND_OP_ADD = 1, - D3D11_BLEND_OP_SUBTRACT = 2, - D3D11_BLEND_OP_REV_SUBTRACT = 3, - D3D11_BLEND_OP_MIN = 4, - D3D11_BLEND_OP_MAX = 5, -}} -ENUM!{enum D3D11_COLOR_WRITE_ENABLE { - D3D11_COLOR_WRITE_ENABLE_RED = 1, - D3D11_COLOR_WRITE_ENABLE_GREEN = 2, - D3D11_COLOR_WRITE_ENABLE_BLUE = 4, - D3D11_COLOR_WRITE_ENABLE_ALPHA = 8, - D3D11_COLOR_WRITE_ENABLE_ALL = D3D11_COLOR_WRITE_ENABLE_RED | D3D11_COLOR_WRITE_ENABLE_GREEN - | D3D11_COLOR_WRITE_ENABLE_BLUE | D3D11_COLOR_WRITE_ENABLE_ALPHA, -}} -STRUCT!{struct D3D11_RENDER_TARGET_BLEND_DESC { - BlendEnable: BOOL, - SrcBlend: D3D11_BLEND, - DestBlend: D3D11_BLEND, - BlendOp: D3D11_BLEND_OP, - SrcBlendAlpha: D3D11_BLEND, - DestBlendAlpha: D3D11_BLEND, - BlendOpAlpha: D3D11_BLEND_OP, - RenderTargetWriteMask: UINT8, -}} -STRUCT!{struct D3D11_BLEND_DESC { - AlphaToCoverageEnable: BOOL, - IndependentBlendEnable: BOOL, - RenderTarget: [D3D11_RENDER_TARGET_BLEND_DESC; 8], -}} -RIDL!{#[uuid(0x75b68faa, 0x347d, 0x4159, 0x8f, 0x45, 0xa0, 0x64, 0x0f, 0x01, 0xcd, 0x9a)] -interface ID3D11BlendState(ID3D11BlendStateVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { - fn GetDesc( - pDesc: *mut D3D11_BLEND_DESC, - ) -> (), -}} -STRUCT!{struct D3D11_RASTERIZER_DESC { - FillMode: D3D11_FILL_MODE, - CullMode: D3D11_CULL_MODE, - FrontCounterClockwise: BOOL, - DepthBias: INT, - DepthBiasClamp: FLOAT, - SlopeScaledDepthBias: FLOAT, - DepthClipEnable: BOOL, - ScissorEnable: BOOL, - MultisampleEnable: BOOL, - AntialiasedLineEnable: BOOL, -}} -RIDL!{#[uuid(0x9bb4ab81, 0xab1a, 0x4d8f, 0xb5, 0x06, 0xfc, 0x04, 0x20, 0x0b, 0x6e, 0xe7)] -interface ID3D11RasterizerState(ID3D11RasterizerStateVtbl): - ID3D11DeviceChild(ID3D11DeviceChildVtbl) { - fn GetDesc( - pDesc: *mut D3D11_RASTERIZER_DESC, - ) -> (), -}} -STRUCT!{struct D3D11_SUBRESOURCE_DATA { - pSysMem: *const c_void, - SysMemPitch: UINT, - SysMemSlicePitch: UINT, -}} -STRUCT!{struct D3D11_MAPPED_SUBRESOURCE { - pData: *mut c_void, - RowPitch: UINT, - DepthPitch: UINT, -}} -RIDL!{#[uuid(0xdc8e63f3, 0xd12b, 0x4952, 0xb4, 0x7b, 0x5e, 0x45, 0x02, 0x6a, 0x86, 0x2d)] -interface ID3D11Resource(ID3D11ResourceVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { - fn GetType( - pResourceDimension: *mut D3D11_RESOURCE_DIMENSION, - ) -> (), - fn SetEvictionPriority( - EvictionPriority: UINT, - ) -> (), - fn GetEvictionPriority() -> UINT, -}} -STRUCT!{struct D3D11_BUFFER_DESC { - ByteWidth: UINT, - Usage: D3D11_USAGE, - BindFlags: UINT, - CPUAccessFlags: UINT, - MiscFlags: UINT, - StructureByteStride: UINT, -}} -RIDL!{#[uuid(0x48570b85, 0xd1ee, 0x4fcd, 0xa2, 0x50, 0xeb, 0x35, 0x07, 0x22, 0xb0, 0x37)] -interface ID3D11Buffer(ID3D11BufferVtbl): ID3D11Resource(ID3D11ResourceVtbl) { - fn GetDesc( - pDesc: *mut D3D11_BUFFER_DESC, - ) -> (), -}} -STRUCT!{struct D3D11_TEXTURE1D_DESC { - Width: UINT, - MipLevels: UINT, - ArraySize: UINT, - Format: DXGI_FORMAT, - Usage: D3D11_USAGE, - BindFlags: UINT, - CPUAccessFlags: UINT, - MiscFlags: UINT, -}} -RIDL!{#[uuid(0xf8fb5c27, 0xc6b3, 0x4f75, 0xa4, 0xc8, 0x43, 0x9a, 0xf2, 0xef, 0x56, 0x4c)] -interface ID3D11Texture1D(ID3D11Texture1DVtbl): ID3D11Resource(ID3D11ResourceVtbl) { - fn GetDesc( - pDesc: *mut D3D11_TEXTURE1D_DESC, - ) -> (), -}} -STRUCT!{struct D3D11_TEXTURE2D_DESC { - Width: UINT, - Height: UINT, - MipLevels: UINT, - ArraySize: UINT, - Format: DXGI_FORMAT, - SampleDesc: DXGI_SAMPLE_DESC, - Usage: D3D11_USAGE, - BindFlags: UINT, - CPUAccessFlags: UINT, - MiscFlags: UINT, -}} -RIDL!{#[uuid(0x6f15aaf2, 0xd208, 0x4e89, 0x9a, 0xb4, 0x48, 0x95, 0x35, 0xd3, 0x4f, 0x9c)] -interface ID3D11Texture2D(ID3D11Texture2DVtbl): ID3D11Resource(ID3D11ResourceVtbl) { - fn GetDesc( - pDesc: *mut D3D11_TEXTURE2D_DESC, - ) -> (), -}} -STRUCT!{struct D3D11_TEXTURE3D_DESC { - Width: UINT, - Height: UINT, - Depth: UINT, - MipLevels: UINT, - Format: DXGI_FORMAT, - Usage: D3D11_USAGE, - BindFlags: UINT, - CPUAccessFlags: UINT, - MiscFlags: UINT, -}} -RIDL!{#[uuid(0x037e866e, 0xf56d, 0x4357, 0xa8, 0xaf, 0x9d, 0xab, 0xbe, 0x6e, 0x25, 0x0e)] -interface ID3D11Texture3D(ID3D11Texture3DVtbl): ID3D11Resource(ID3D11ResourceVtbl) { - fn GetDesc( - pDesc: *mut D3D11_TEXTURE3D_DESC, - ) -> (), -}} -ENUM!{enum D3D11_TEXTURECUBE_FACE { - D3D11_TEXTURECUBE_FACE_POSITIVE_X = 0, - D3D11_TEXTURECUBE_FACE_NEGATIVE_X = 1, - D3D11_TEXTURECUBE_FACE_POSITIVE_Y = 2, - D3D11_TEXTURECUBE_FACE_NEGATIVE_Y = 3, - D3D11_TEXTURECUBE_FACE_POSITIVE_Z = 4, - D3D11_TEXTURECUBE_FACE_NEGATIVE_Z = 5, -}} -RIDL!{#[uuid(0x839d1216, 0xbb2e, 0x412b, 0xb7, 0xf4, 0xa9, 0xdb, 0xeb, 0xe0, 0x8e, 0xd1)] -interface ID3D11View(ID3D11ViewVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { - fn GetResource( - ppResource: *mut *mut ID3D11Resource, - ) -> (), -}} -UNION!{union D3D11_BUFFER_SRV_u1 { - [u32; 1], - FirstElement FirstElement_mut: UINT, - ElementOffset ElementOffset_mut: UINT, -}} -UNION!{union D3D11_BUFFER_SRV_u2 { - [u32; 1], - NumElements NumElements_mut: UINT, - ElementWidth ElementWidth_mut: UINT, -}} -STRUCT!{struct D3D11_BUFFER_SRV { - u1: D3D11_BUFFER_SRV_u1, - u2: D3D11_BUFFER_SRV_u2, -}} -ENUM!{enum D3D11_BUFFEREX_SRV_FLAG { - D3D11_BUFFEREX_SRV_FLAG_RAW = 0x1, -}} -STRUCT!{struct D3D11_BUFFEREX_SRV { - FirstElement: UINT, - NumElements: UINT, - Flags: UINT, -}} -STRUCT!{struct D3D11_TEX1D_SRV { - MostDetailedMip: UINT, - MipLevels: UINT, -}} -STRUCT!{struct D3D11_TEX1D_ARRAY_SRV { - MostDetailedMip: UINT, - MipLevels: UINT, - FirstArraySlice: UINT, - ArraySize: UINT, -}} -STRUCT!{struct D3D11_TEX2D_SRV { - MostDetailedMip: UINT, - MipLevels: UINT, -}} -STRUCT!{struct D3D11_TEX2D_ARRAY_SRV { - MostDetailedMip: UINT, - MipLevels: UINT, - FirstArraySlice: UINT, - ArraySize: UINT, -}} -STRUCT!{struct D3D11_TEX3D_SRV { - MostDetailedMip: UINT, - MipLevels: UINT, -}} -STRUCT!{struct D3D11_TEXCUBE_SRV { - MostDetailedMip: UINT, - MipLevels: UINT, -}} -STRUCT!{struct D3D11_TEXCUBE_ARRAY_SRV { - MostDetailedMip: UINT, - MipLevels: UINT, - First2DArrayFace: UINT, - NumCubes: UINT, -}} -STRUCT!{struct D3D11_TEX2DMS_SRV { - UnusedField_NothingToDefine: UINT, -}} -STRUCT!{struct D3D11_TEX2DMS_ARRAY_SRV { - FirstArraySlice: UINT, - ArraySize: UINT, -}} -UNION!{union D3D11_SHADER_RESOURCE_VIEW_DESC_u { - [u32; 4], - Buffer Buffer_mut: D3D11_BUFFER_SRV, - Texture1D Texture1D_mut: D3D11_TEX1D_SRV, - Texture1DArray Texture1DArray_mut: D3D11_TEX1D_ARRAY_SRV, - Texture2D Texture2D_mut: D3D11_TEX2D_SRV, - Texture2DArray Texture2DArray_mut: D3D11_TEX2D_ARRAY_SRV, - Texture2DMS Texture2DMS_mut: D3D11_TEX2DMS_SRV, - Texture2DMSArray Texture2DMSArray_mut: D3D11_TEX2DMS_ARRAY_SRV, - Texture3D Texture3D_mut: D3D11_TEX3D_SRV, - TextureCube TextureCube_mut: D3D11_TEXCUBE_SRV, - TextureCubeArray TextureCubeArray_mut: D3D11_TEXCUBE_ARRAY_SRV, - BufferEx BufferEx_mut: D3D11_BUFFEREX_SRV, -}} -STRUCT!{struct D3D11_SHADER_RESOURCE_VIEW_DESC { - Format: DXGI_FORMAT, - ViewDimension: D3D11_SRV_DIMENSION, - u: D3D11_SHADER_RESOURCE_VIEW_DESC_u, -}} -RIDL!{#[uuid(0xb0e06fe0, 0x8192, 0x4e1a, 0xb1, 0xca, 0x36, 0xd7, 0x41, 0x47, 0x10, 0xb2)] -interface ID3D11ShaderResourceView(ID3D11ShaderResourceViewVtbl): ID3D11View(ID3D11ViewVtbl) { - fn GetDesc( - pDesc: *mut D3D11_SHADER_RESOURCE_VIEW_DESC, - ) -> (), -}} -UNION!{union D3D11_BUFFER_RTV_u1 { - [u32; 1], - FirstElement FirstElement_mut: UINT, - ElementOffset ElementOffset_mut: UINT, -}} -UNION!{union D3D11_BUFFER_RTV_u2 { - [u32; 1], - NumElements NumElements_mut: UINT, - ElementWidth ElementWidth_mut: UINT, -}} -STRUCT!{struct D3D11_BUFFER_RTV { - u1: D3D11_BUFFER_RTV_u1, - u2: D3D11_BUFFER_RTV_u2, -}} -STRUCT!{struct D3D11_TEX1D_RTV { - MipSlice: UINT, -}} -STRUCT!{struct D3D11_TEX1D_ARRAY_RTV { - MipSlice: UINT, - FirstArraySlice: UINT, - ArraySize: UINT, -}} -STRUCT!{struct D3D11_TEX2D_RTV { - MipSlice: UINT, -}} -STRUCT!{struct D3D11_TEX2DMS_RTV { - UnusedField_NothingToDefine: UINT, -}} -STRUCT!{struct D3D11_TEX2D_ARRAY_RTV { - MipSlice: UINT, - FirstArraySlice: UINT, - ArraySize: UINT, -}} -STRUCT!{struct D3D11_TEX2DMS_ARRAY_RTV { - FirstArraySlice: UINT, - ArraySize: UINT, -}} -STRUCT!{struct D3D11_TEX3D_RTV { - MipSlice: UINT, - FirstWSlice: UINT, - WSize: UINT, -}} -UNION!{union D3D11_RENDER_TARGET_VIEW_DESC_u { - [u32; 3], - Buffer Buffer_mut: D3D11_BUFFER_RTV, - Texture1D Texture1D_mut: D3D11_TEX1D_RTV, - Texture1DArray Texture1DArray_mut: D3D11_TEX1D_ARRAY_RTV, - Texture2D Texture2D_mut: D3D11_TEX2D_RTV, - Texture2DArray Texture2DArray_mut: D3D11_TEX2D_ARRAY_RTV, - Texture2DMS Texture2DMS_mut: D3D11_TEX2DMS_RTV, - Texture2DMSArray Texture2DMSArray_mut: D3D11_TEX2DMS_ARRAY_RTV, - Texture3D Texture3D_mut: D3D11_TEX3D_RTV, -}} -STRUCT!{struct D3D11_RENDER_TARGET_VIEW_DESC { - Format: DXGI_FORMAT, - ViewDimension: D3D11_RTV_DIMENSION, - u: D3D11_RENDER_TARGET_VIEW_DESC_u, -}} -RIDL!{#[uuid(0xdfdba067, 0x0b8d, 0x4865, 0x87, 0x5b, 0xd7, 0xb4, 0x51, 0x6c, 0xc1, 0x64)] -interface ID3D11RenderTargetView(ID3D11RenderTargetViewVtbl): ID3D11View(ID3D11ViewVtbl) { - fn GetDesc( - pDesc: *mut D3D11_RENDER_TARGET_VIEW_DESC, - ) -> (), -}} -STRUCT!{struct D3D11_TEX1D_DSV { - MipSlice: UINT, -}} -STRUCT!{struct D3D11_TEX1D_ARRAY_DSV { - MipSlice: UINT, - FirstArraySlice: UINT, - ArraySize: UINT, -}} -STRUCT!{struct D3D11_TEX2D_DSV { - MipSlice: UINT, -}} -STRUCT!{struct D3D11_TEX2D_ARRAY_DSV { - MipSlice: UINT, - FirstArraySlice: UINT, - ArraySize: UINT, -}} -STRUCT!{struct D3D11_TEX2DMS_DSV { - UnusedField_NothingToDefine: UINT, -}} -STRUCT!{struct D3D11_TEX2DMS_ARRAY_DSV { - FirstArraySlice: UINT, - ArraySize: UINT, -}} -ENUM!{enum D3D11_DSV_FLAG { - D3D11_DSV_READ_ONLY_DEPTH = 0x1, - D3D11_DSV_READ_ONLY_STENCIL = 0x2, -}} -UNION!{union D3D11_DEPTH_STENCIL_VIEW_DESC_u { - [u32; 3], - Texture1D Texture1D_mut: D3D11_TEX1D_DSV, - Texture1DArray Texture1DArray_mut: D3D11_TEX1D_ARRAY_DSV, - Texture2D Texture2D_mut: D3D11_TEX2D_DSV, - Texture2DArray Texture2DArray_mut: D3D11_TEX2D_ARRAY_DSV, - Texture2DMS Texture2DMS_mut: D3D11_TEX2DMS_DSV, - Texture2DMSArray Texture2DMSArray_mut: D3D11_TEX2DMS_ARRAY_DSV, -}} -STRUCT!{struct D3D11_DEPTH_STENCIL_VIEW_DESC { - Format: DXGI_FORMAT, - ViewDimension: D3D11_DSV_DIMENSION, - Flags: UINT, - u: D3D11_DEPTH_STENCIL_VIEW_DESC_u, -}} -RIDL!{#[uuid(0x9fdac92a, 0x1876, 0x48c3, 0xaf, 0xad, 0x25, 0xb9, 0x4f, 0x84, 0xa9, 0xb6)] -interface ID3D11DepthStencilView(ID3D11DepthStencilViewVtbl): ID3D11View(ID3D11ViewVtbl) { - fn GetDesc( - pDesc: *mut D3D11_DEPTH_STENCIL_VIEW_DESC, - ) -> (), -}} -ENUM!{enum D3D11_BUFFER_UAV_FLAG { - D3D11_BUFFER_UAV_FLAG_RAW = 0x1, - D3D11_BUFFER_UAV_FLAG_APPEND = 0x2, - D3D11_BUFFER_UAV_FLAG_COUNTER = 0x4, -}} -STRUCT!{struct D3D11_BUFFER_UAV { - FirstElement: UINT, - NumElements: UINT, - Flags: UINT, -}} -STRUCT!{struct D3D11_TEX1D_UAV { - MipSlice: UINT, -}} -STRUCT!{struct D3D11_TEX1D_ARRAY_UAV { - MipSlice: UINT, - FirstArraySlice: UINT, - ArraySize: UINT, -}} -STRUCT!{struct D3D11_TEX2D_UAV { - MipSlice: UINT, -}} -STRUCT!{struct D3D11_TEX2D_ARRAY_UAV { - MipSlice: UINT, - FirstArraySlice: UINT, - ArraySize: UINT, -}} -STRUCT!{struct D3D11_TEX3D_UAV { - MipSlice: UINT, - FirstWSlice: UINT, - WSize: UINT, -}} -UNION!{union D3D11_UNORDERED_ACCESS_VIEW_DESC_u { - [u32; 3], - Buffer Buffer_mut: D3D11_BUFFER_UAV, - Texture1D Texture1D_mut: D3D11_TEX1D_UAV, - Texture1DArray Texture1DArray_mut: D3D11_TEX1D_ARRAY_UAV, - Texture2D Texture2D_mut: D3D11_TEX2D_UAV, - Texture2DArray Texture2DArray_mut: D3D11_TEX2D_ARRAY_UAV, - Texture3D Texture3D_mut: D3D11_TEX3D_UAV, -}} -STRUCT!{struct D3D11_UNORDERED_ACCESS_VIEW_DESC { - Format: DXGI_FORMAT, - ViewDimension: D3D11_UAV_DIMENSION, - u: D3D11_UNORDERED_ACCESS_VIEW_DESC_u, -}} -RIDL!{#[uuid(0x28acf509, 0x7f5c, 0x48f6, 0x86, 0x11, 0xf3, 0x16, 0x01, 0x0a, 0x63, 0x80)] -interface ID3D11UnorderedAccessView(ID3D11UnorderedAccessViewVtbl): ID3D11View(ID3D11ViewVtbl) { - fn GetDesc( - pDesc: *mut D3D11_UNORDERED_ACCESS_VIEW_DESC, - ) -> (), -}} -RIDL!{#[uuid(0x3b301d64, 0xd678, 0x4289, 0x88, 0x97, 0x22, 0xf8, 0x92, 0x8b, 0x72, 0xf3)] -interface ID3D11VertexShader(ID3D11VertexShaderVtbl): - ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} -RIDL!{#[uuid(0x8e5c6061, 0x628a, 0x4c8e, 0x82, 0x64, 0xbb, 0xe4, 0x5c, 0xb3, 0xd5, 0xdd)] -interface ID3D11HullShader(ID3D11HullShaderVtbl): - ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} -RIDL!{#[uuid(0xf582c508, 0x0f36, 0x490c, 0x99, 0x77, 0x31, 0xee, 0xce, 0x26, 0x8c, 0xfa)] -interface ID3D11DomainShader(ID3D11DomainShaderVtbl): - ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} -RIDL!{#[uuid(0x38325b96, 0xeffb, 0x4022, 0xba, 0x02, 0x2e, 0x79, 0x5b, 0x70, 0x27, 0x5c)] -interface ID3D11GeometryShader(ID3D11GeometryShaderVtbl): - ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} -RIDL!{#[uuid(0xea82e40d, 0x51dc, 0x4f33, 0x93, 0xd4, 0xdb, 0x7c, 0x91, 0x25, 0xae, 0x8c)] -interface ID3D11PixelShader(ID3D11PixelShaderVtbl): - ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} -RIDL!{#[uuid(0x4f5b196e, 0xc2bd, 0x495e, 0xbd, 0x01, 0x1f, 0xde, 0xd3, 0x8e, 0x49, 0x69)] -interface ID3D11ComputeShader(ID3D11ComputeShaderVtbl): - ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} -RIDL!{#[uuid(0xe4819ddc, 0x4cf0, 0x4025, 0xbd, 0x26, 0x5d, 0xe8, 0x2a, 0x3e, 0x07, 0xb7)] -interface ID3D11InputLayout(ID3D11InputLayoutVtbl): - ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} -ENUM!{enum D3D11_FILTER { - D3D11_FILTER_MIN_MAG_MIP_POINT = 0, - D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1, - D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4, - D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5, - D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10, - D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11, - D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14, - D3D11_FILTER_MIN_MAG_MIP_LINEAR = 0x15, - D3D11_FILTER_ANISOTROPIC = 0x55, - D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80, - D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81, - D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84, - D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85, - D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90, - D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91, - D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94, - D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95, - D3D11_FILTER_COMPARISON_ANISOTROPIC = 0xd5, - D3D11_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100, - D3D11_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101, - D3D11_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104, - D3D11_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105, - D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110, - D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111, - D3D11_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114, - D3D11_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115, - D3D11_FILTER_MINIMUM_ANISOTROPIC = 0x155, - D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180, - D3D11_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181, - D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184, - D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185, - D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190, - D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191, - D3D11_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194, - D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195, - D3D11_FILTER_MAXIMUM_ANISOTROPIC = 0x1d5, -}} -ENUM!{enum D3D11_FILTER_TYPE { - D3D11_FILTER_TYPE_POINT = 0, - D3D11_FILTER_TYPE_LINEAR = 1, -}} -ENUM!{enum D3D11_FILTER_REDUCTION_TYPE { - D3D11_FILTER_REDUCTION_TYPE_STANDARD = 0, - D3D11_FILTER_REDUCTION_TYPE_COMPARISON = 1, - D3D11_FILTER_REDUCTION_TYPE_MINIMUM = 2, - D3D11_FILTER_REDUCTION_TYPE_MAXIMUM = 3, -}} -pub const D3D11_FILTER_REDUCTION_TYPE_MASK: DWORD = 0x3; -pub const D3D11_FILTER_REDUCTION_TYPE_SHIFT: DWORD = 7; -pub const D3D11_FILTER_TYPE_MASK: DWORD = 0x3; -pub const D3D11_MIN_FILTER_SHIFT: DWORD = 4; -pub const D3D11_MAG_FILTER_SHIFT: DWORD = 2; -pub const D3D11_MIP_FILTER_SHIFT: DWORD = 0; -pub const D3D11_COMPARISON_FILTERING_BIT: DWORD = 0x80; -pub const D3D11_ANISOTROPIC_FILTERING_BIT: DWORD = 0x40; -ENUM!{enum D3D11_TEXTURE_ADDRESS_MODE { - D3D11_TEXTURE_ADDRESS_WRAP = 1, - D3D11_TEXTURE_ADDRESS_MIRROR = 2, - D3D11_TEXTURE_ADDRESS_CLAMP = 3, - D3D11_TEXTURE_ADDRESS_BORDER = 4, - D3D11_TEXTURE_ADDRESS_MIRROR_ONCE = 5, -}} -STRUCT!{struct D3D11_SAMPLER_DESC { - Filter: D3D11_FILTER, - AddressU: D3D11_TEXTURE_ADDRESS_MODE, - AddressV: D3D11_TEXTURE_ADDRESS_MODE, - AddressW: D3D11_TEXTURE_ADDRESS_MODE, - MipLODBias: FLOAT, - MaxAnisotropy: UINT, - ComparisonFunc: D3D11_COMPARISON_FUNC, - BorderColor: [FLOAT; 4], - MinLOD: FLOAT, - MaxLOD: FLOAT, -}} -RIDL!{#[uuid(0xda6fea51, 0x564c, 0x4487, 0x98, 0x10, 0xf0, 0xd0, 0xf9, 0xb4, 0xe3, 0xa5)] -interface ID3D11SamplerState(ID3D11SamplerStateVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { - fn GetDesc( - pDesc: *mut D3D11_SAMPLER_DESC, - ) -> (), -}} -ENUM!{enum D3D11_FORMAT_SUPPORT { - D3D11_FORMAT_SUPPORT_BUFFER = 0x1, - D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER = 0x2, - D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER = 0x4, - D3D11_FORMAT_SUPPORT_SO_BUFFER = 0x8, - D3D11_FORMAT_SUPPORT_TEXTURE1D = 0x10, - D3D11_FORMAT_SUPPORT_TEXTURE2D = 0x20, - D3D11_FORMAT_SUPPORT_TEXTURE3D = 0x40, - D3D11_FORMAT_SUPPORT_TEXTURECUBE = 0x80, - D3D11_FORMAT_SUPPORT_SHADER_LOAD = 0x100, - D3D11_FORMAT_SUPPORT_SHADER_SAMPLE = 0x200, - D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON = 0x400, - D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT = 0x800, - D3D11_FORMAT_SUPPORT_MIP = 0x1000, - D3D11_FORMAT_SUPPORT_MIP_AUTOGEN = 0x2000, - D3D11_FORMAT_SUPPORT_RENDER_TARGET = 0x4000, - D3D11_FORMAT_SUPPORT_BLENDABLE = 0x8000, - D3D11_FORMAT_SUPPORT_DEPTH_STENCIL = 0x10000, - D3D11_FORMAT_SUPPORT_CPU_LOCKABLE = 0x20000, - D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE = 0x40000, - D3D11_FORMAT_SUPPORT_DISPLAY = 0x80000, - D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT = 0x100000, - D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET = 0x200000, - D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD = 0x400000, - D3D11_FORMAT_SUPPORT_SHADER_GATHER = 0x800000, - D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST = 0x1000000, - D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW = 0x2000000, - D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON = 0x4000000, - D3D11_FORMAT_SUPPORT_DECODER_OUTPUT = 0x8000000, - D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_OUTPUT = 0x10000000, - D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_INPUT = 0x20000000, - D3D11_FORMAT_SUPPORT_VIDEO_ENCODER = 0x40000000, -}} -ENUM!{enum D3D11_FORMAT_SUPPORT2 { - D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x1, - D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x2, - D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x4, - D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x8, - D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x10, - D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x20, - D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x40, - D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x80, - D3D11_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x100, - D3D11_FORMAT_SUPPORT2_TILED = 0x200, - D3D11_FORMAT_SUPPORT2_SHAREABLE = 0x400, - D3D11_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x4000, -}} -RIDL!{#[uuid(0x4b35d0cd, 0x1e15, 0x4258, 0x9c, 0x98, 0x1b, 0x13, 0x33, 0xf6, 0xdd, 0x3b)] -interface ID3D11Asynchronous(ID3D11AsynchronousVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { - fn GetDataSize() -> UINT, -}} -ENUM!{enum D3D11_ASYNC_GETDATA_FLAG { - D3D11_ASYNC_GETDATA_DONOTFLUSH = 0x1, -}} -ENUM!{enum D3D11_QUERY { - D3D11_QUERY_EVENT = 0, - D3D11_QUERY_OCCLUSION = D3D11_QUERY_EVENT + 1u32, - D3D11_QUERY_TIMESTAMP = D3D11_QUERY_OCCLUSION + 1u32, - D3D11_QUERY_TIMESTAMP_DISJOINT = D3D11_QUERY_TIMESTAMP + 1u32, - D3D11_QUERY_PIPELINE_STATISTICS = D3D11_QUERY_TIMESTAMP_DISJOINT + 1u32, - D3D11_QUERY_OCCLUSION_PREDICATE = D3D11_QUERY_PIPELINE_STATISTICS + 1u32, - D3D11_QUERY_SO_STATISTICS = D3D11_QUERY_OCCLUSION_PREDICATE + 1u32, - D3D11_QUERY_SO_OVERFLOW_PREDICATE = D3D11_QUERY_SO_STATISTICS + 1u32, - D3D11_QUERY_SO_STATISTICS_STREAM0 = D3D11_QUERY_SO_OVERFLOW_PREDICATE + 1u32, - D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 = D3D11_QUERY_SO_STATISTICS_STREAM0 + 1u32, - D3D11_QUERY_SO_STATISTICS_STREAM1 = D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 + 1u32, - D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 = D3D11_QUERY_SO_STATISTICS_STREAM1 + 1u32, - D3D11_QUERY_SO_STATISTICS_STREAM2 = D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 + 1u32, - D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 = D3D11_QUERY_SO_STATISTICS_STREAM2 + 1u32, - D3D11_QUERY_SO_STATISTICS_STREAM3 = D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 + 1u32, - D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3 = D3D11_QUERY_SO_STATISTICS_STREAM3 + 1u32, -}} -ENUM!{enum D3D11_QUERY_MISC_FLAG { - D3D11_QUERY_MISC_PREDICATEHINT = 0x1, -}} -STRUCT!{struct D3D11_QUERY_DESC { - Query: D3D11_QUERY, - MiscFlags: UINT, -}} -RIDL!{#[uuid(0xd6c00747, 0x87b7, 0x425e, 0xb8, 0x4d, 0x44, 0xd1, 0x08, 0x56, 0x0a, 0xfd)] -interface ID3D11Query(ID3D11QueryVtbl): ID3D11Asynchronous(ID3D11AsynchronousVtbl) { - fn GetDesc( - pDesc: *mut D3D11_QUERY_DESC, - ) -> (), -}} -RIDL!{#[uuid(0x9eb576dd, 0x9f77, 0x4d86, 0x81, 0xaa, 0x8b, 0xab, 0x5f, 0xe4, 0x90, 0xe2)] -interface ID3D11Predicate(ID3D11PredicateVtbl): ID3D11Query(ID3D11QueryVtbl) {}} -STRUCT!{struct D3D11_QUERY_DATA_TIMESTAMP_DISJOINT { - Frequency: UINT64, - Disjoint: BOOL, -}} -STRUCT!{struct D3D11_QUERY_DATA_PIPELINE_STATISTICS { - IAVertices: UINT64, - IAPrimitives: UINT64, - VSInvocations: UINT64, - GSInvocations: UINT64, - GSPrimitives: UINT64, - CInvocations: UINT64, - CPrimitives: UINT64, - PSInvocations: UINT64, - HSInvocations: UINT64, - DSInvocations: UINT64, - CSInvocations: UINT64, -}} -STRUCT!{struct D3D11_QUERY_DATA_SO_STATISTICS { - NumPrimitivesWritten: UINT64, - PrimitivesStorageNeeded: UINT64, -}} -ENUM!{enum D3D11_COUNTER { - D3D11_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000, -}} -ENUM!{enum D3D11_COUNTER_TYPE { - D3D11_COUNTER_TYPE_FLOAT32 = 0, - D3D11_COUNTER_TYPE_UINT16 = D3D11_COUNTER_TYPE_FLOAT32 + 1u32, - D3D11_COUNTER_TYPE_UINT32 = D3D11_COUNTER_TYPE_UINT16 + 1u32, - D3D11_COUNTER_TYPE_UINT64 = D3D11_COUNTER_TYPE_UINT32 + 1u32, -}} -STRUCT!{struct D3D11_COUNTER_DESC { - Counter: D3D11_COUNTER, - MiscFlags: UINT, -}} -STRUCT!{struct D3D11_COUNTER_INFO { - LastDeviceDependentCounter: D3D11_COUNTER, - NumSimultaneousCounters: UINT, - NumDetectableParallelUnits: UINT8, -}} -RIDL!{#[uuid(0x6e8c49fb, 0xa371, 0x4770, 0xb4, 0x40, 0x29, 0x08, 0x60, 0x22, 0xb7, 0x41)] -interface ID3D11Counter(ID3D11CounterVtbl): ID3D11Asynchronous(ID3D11AsynchronousVtbl) { - fn GetDesc( - pDesc: *mut D3D11_COUNTER_DESC, - ) -> (), -}} -ENUM!{enum D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS { - D3D11_STANDARD_MULTISAMPLE_PATTERN = 0xffffffff, - D3D11_CENTER_MULTISAMPLE_PATTERN = 0xfffffffe, -}} -ENUM!{enum D3D11_DEVICE_CONTEXT_TYPE { - D3D11_DEVICE_CONTEXT_IMMEDIATE = 0, - D3D11_DEVICE_CONTEXT_DEFERRED = D3D11_DEVICE_CONTEXT_IMMEDIATE + 1u32, -}} -STRUCT!{struct D3D11_CLASS_INSTANCE_DESC { - InstanceId: UINT, - InstanceIndex: UINT, - TypeId: UINT, - ConstantBuffer: UINT, - BaseConstantBufferOffset: UINT, - BaseTexture: UINT, - BaseSampler: UINT, - Created: BOOL, -}} -RIDL!{#[uuid(0xa6cd7faa, 0xb0b7, 0x4a2f, 0x94, 0x36, 0x86, 0x62, 0xa6, 0x57, 0x97, 0xcb)] -interface ID3D11ClassInstance(ID3D11ClassInstanceVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { - fn GetClassLinkage( - ppLinkage: *mut *mut ID3D11ClassLinkage, - ) -> (), - fn GetDesc( - pDesc: *mut D3D11_CLASS_INSTANCE_DESC, - ) -> (), - fn GetInstanceName( - pInstanceName: LPSTR, - pBufferLength: *mut SIZE_T, - ) -> (), - fn GetTypeName( - pTypeName: LPSTR, - pBufferLength: *mut SIZE_T, - ) -> (), -}} -RIDL!{#[uuid(0xddf57cba, 0x9543, 0x46e4, 0xa1, 0x2b, 0xf2, 0x07, 0xa0, 0xfe, 0x7f, 0xed)] -interface ID3D11ClassLinkage(ID3D11ClassLinkageVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { - fn GetClassInstance( - GetClassInstance: LPCSTR, - InstanceIndex: UINT, - ppInstance: *mut *mut ID3D11ClassInstance, - ) -> HRESULT, - fn CreateClassInstance( - pClassTypeName: LPCSTR, - ConstantBufferOffset: UINT, - ConstantVectorOffset: UINT, - TextureOffset: UINT, - SamplerOffset: UINT, - ppInstance: *mut *mut ID3D11ClassInstance, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa24bc4d1, 0x769e, 0x43f7, 0x80, 0x13, 0x98, 0xff, 0x56, 0x6c, 0x18, 0xe2)] -interface ID3D11CommandList(ID3D11CommandListVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { - fn GetContextFlags() -> UINT, -}} -ENUM!{enum D3D11_FEATURE { - D3D11_FEATURE_THREADING = 0, - D3D11_FEATURE_DOUBLES = D3D11_FEATURE_THREADING + 1u32, - D3D11_FEATURE_FORMAT_SUPPORT = D3D11_FEATURE_DOUBLES + 1u32, - D3D11_FEATURE_FORMAT_SUPPORT2 = D3D11_FEATURE_FORMAT_SUPPORT + 1u32, - D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS = D3D11_FEATURE_FORMAT_SUPPORT2 + 1u32, - D3D11_FEATURE_D3D11_OPTIONS = D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS + 1u32, - D3D11_FEATURE_ARCHITECTURE_INFO = D3D11_FEATURE_D3D11_OPTIONS + 1u32, - D3D11_FEATURE_D3D9_OPTIONS = D3D11_FEATURE_ARCHITECTURE_INFO + 1u32, - D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT = D3D11_FEATURE_D3D9_OPTIONS + 1u32, - D3D11_FEATURE_D3D9_SHADOW_SUPPORT = D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT + 1u32, - D3D11_FEATURE_D3D11_OPTIONS1 = D3D11_FEATURE_D3D9_SHADOW_SUPPORT + 1u32, - D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT = D3D11_FEATURE_D3D11_OPTIONS1 + 1u32, - D3D11_FEATURE_MARKER_SUPPORT = D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT + 1u32, - D3D11_FEATURE_D3D9_OPTIONS1 = D3D11_FEATURE_MARKER_SUPPORT + 1u32, - D3D11_FEATURE_D3D11_OPTIONS2 = D3D11_FEATURE_D3D9_OPTIONS1 + 1u32, - D3D11_FEATURE_D3D11_OPTIONS3 = D3D11_FEATURE_D3D11_OPTIONS2 + 1u32, - D3D11_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = D3D11_FEATURE_D3D11_OPTIONS3 + 1u32, -}} -STRUCT!{struct D3D11_FEATURE_DATA_THREADING { - DriverConcurrentCreates: BOOL, - DriverCommandLists: BOOL, -}} -STRUCT!{struct D3D11_FEATURE_DATA_DOUBLES { - DoublePrecisionFloatShaderOps: BOOL, -}} -STRUCT!{struct D3D11_FEATURE_DATA_FORMAT_SUPPORT { - InFormat: DXGI_FORMAT, - OutFormatSupport: UINT, -}} -STRUCT!{struct D3D11_FEATURE_DATA_FORMAT_SUPPORT2 { - InFormat: DXGI_FORMAT, - OutFormatSupport2: UINT, -}} -STRUCT!{struct D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS { - ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x: BOOL, -}} -STRUCT!{struct D3D11_FEATURE_DATA_D3D11_OPTIONS { - OutputMergerLogicOp: BOOL, - UAVOnlyRenderingForcedSampleCount: BOOL, - DiscardAPIsSeenByDriver: BOOL, - FlagsForUpdateAndCopySeenByDriver: BOOL, - ClearView: BOOL, - CopyWithOverlap: BOOL, - ConstantBufferPartialUpdate: BOOL, - ConstantBufferOffsetting: BOOL, - MapNoOverwriteOnDynamicConstantBuffer: BOOL, - MapNoOverwriteOnDynamicBufferSRV: BOOL, - MultisampleRTVWithForcedSampleCountOne: BOOL, - SAD4ShaderInstructions: BOOL, - ExtendedDoublesShaderInstructions: BOOL, - ExtendedResourceSharing: BOOL, -}} -STRUCT!{struct D3D11_FEATURE_DATA_ARCHITECTURE_INFO { - TileBasedDeferredRenderer: BOOL, -}} -STRUCT!{struct D3D11_FEATURE_DATA_D3D9_OPTIONS { - FullNonPow2TextureSupport: BOOL, -}} -STRUCT!{struct D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT { - SupportsDepthAsTextureWithLessEqualComparisonFilter: BOOL, -}} -ENUM!{enum D3D11_SHADER_MIN_PRECISION_SUPPORT { - D3D11_SHADER_MIN_PRECISION_10_BIT = 0x1, - D3D11_SHADER_MIN_PRECISION_16_BIT = 0x2, -}} -STRUCT!{struct D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT { - PixelShaderMinPrecision: UINT, - AllOtherShaderStagesMinPrecision: UINT, -}} -ENUM!{enum D3D11_TILED_RESOURCES_TIER { - D3D11_TILED_RESOURCES_NOT_SUPPORTED = 0, - D3D11_TILED_RESOURCES_TIER_1 = 1, - D3D11_TILED_RESOURCES_TIER_2 = 2, - D3D11_TILED_RESOURCES_TIER_3 = 3, -}} -STRUCT!{struct D3D11_FEATURE_DATA_D3D11_OPTIONS1 { - TiledResourcesTier: D3D11_TILED_RESOURCES_TIER, - MinMaxFiltering: BOOL, - ClearViewAlsoSupportsDepthOnlyFormats: BOOL, - MapOnDefaultBuffers: BOOL, -}} -STRUCT!{struct D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT { - SimpleInstancingSupported: BOOL, -}} -STRUCT!{struct D3D11_FEATURE_DATA_MARKER_SUPPORT { - Profile: BOOL, -}} -STRUCT!{struct D3D11_FEATURE_DATA_D3D9_OPTIONS1 { - FullNonPow2TextureSupported: BOOL, - DepthAsTextureWithLessEqualComparisonFilterSupported: BOOL, - SimpleInstancingSupported: BOOL, - TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported: BOOL, -}} -ENUM!{enum D3D11_CONSERVATIVE_RASTERIZATION_TIER { - D3D11_CONSERVATIVE_RASTERIZATION_NOT_SUPPORTED = 0, - D3D11_CONSERVATIVE_RASTERIZATION_TIER_1 = 1, - D3D11_CONSERVATIVE_RASTERIZATION_TIER_2 = 2, - D3D11_CONSERVATIVE_RASTERIZATION_TIER_3 = 3, -}} -STRUCT!{struct D3D11_FEATURE_DATA_D3D11_OPTIONS2 { - PSSpecifiedStencilRefSupported: BOOL, - TypedUAVLoadAdditionalFormats: BOOL, - ROVsSupported: BOOL, - ConservativeRasterizationTier: D3D11_CONSERVATIVE_RASTERIZATION_TIER, - TiledResourcesTier: D3D11_TILED_RESOURCES_TIER, - MapOnDefaultTextures: BOOL, - StandardSwizzle: BOOL, - UnifiedMemoryArchitecture: BOOL, -}} -STRUCT!{struct D3D11_FEATURE_DATA_D3D11_OPTIONS3 { - VPAndRTArrayIndexFromAnyShaderFeedingRasterizer: BOOL, -}} -STRUCT!{struct D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT { - MaxGPUVirtualAddressBitsPerResource: UINT, - MaxGPUVirtualAddressBitsPerProcess: UINT, -}} -RIDL!{#[uuid(0xc0bfa96c, 0xe089, 0x44fb, 0x8e, 0xaf, 0x26, 0xf8, 0x79, 0x61, 0x90, 0xda)] -interface ID3D11DeviceContext(ID3D11DeviceContextVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { - fn VSSetConstantBuffers( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *const *mut ID3D11Buffer, - ) -> (), - fn PSSetShaderResources( - StartSlot: UINT, - NumViews: UINT, - ppShaderResourceViews: *const *mut ID3D11ShaderResourceView, - ) -> (), - fn PSSetShader( - pPixelShader: *mut ID3D11PixelShader, - ppClassInstances: *const *mut ID3D11ClassInstance, - NumClassInstances: UINT, - ) -> (), - fn PSSetSamplers( - StartSlot: UINT, - NumSamplers: UINT, - ppSamplers: *const *mut ID3D11SamplerState, - ) -> (), - fn VSSetShader( - pVertexShader: *mut ID3D11VertexShader, - ppClassInstances: *const *mut ID3D11ClassInstance, - NumClassInstances: UINT, - ) -> (), - fn DrawIndexed( - IndexCount: UINT, - StartIndexLocation: UINT, - BaseVertexLocation: INT, - ) -> (), - fn Draw( - VertexCount: UINT, - StartVertexLocation: UINT, - ) -> (), - fn Map( - pResource: *mut ID3D11Resource, - Subresource: UINT, - MapType: D3D11_MAP, - MapFlags: UINT, - pMappedResource: *mut D3D11_MAPPED_SUBRESOURCE, - ) -> HRESULT, - fn Unmap( - pResource: *mut ID3D11Resource, - Subresource: UINT, - ) -> (), - fn PSSetConstantBuffers( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *const *mut ID3D11Buffer, - ) -> (), - fn IASetInputLayout( - pInputLayout: *mut ID3D11InputLayout, - ) -> (), - fn IASetVertexBuffers( - StartSlot: UINT, - NumBuffers: UINT, - ppVertexBuffers: *const *mut ID3D11Buffer, - pStrides: *const UINT, - pOffsets: *const UINT, - ) -> (), - fn IASetIndexBuffer( - pIndexBuffer: *mut ID3D11Buffer, - Format: DXGI_FORMAT, - Offset: UINT, - ) -> (), - fn DrawIndexedInstanced( - IndexCountPerInstance: UINT, - InstanceCount: UINT, - StartIndexLocation: UINT, - BaseVertexLocation: INT, - StartInstanceLocation: UINT, - ) -> (), - fn DrawInstanced( - VertexCountPerInstance: UINT, - InstanceCount: UINT, - StartVertexLocation: UINT, - StartInstanceLocation: UINT, - ) -> (), - fn GSSetConstantBuffers( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *const *mut ID3D11Buffer, - ) -> (), - fn GSSetShader( - pShader: *mut ID3D11GeometryShader, - ppClassInstances: *const *mut ID3D11ClassInstance, - NumClassInstances: UINT, - ) -> (), - fn IASetPrimitiveTopology( - Topology: D3D11_PRIMITIVE_TOPOLOGY, - ) -> (), - fn VSSetShaderResources( - StartSlot: UINT, - NumViews: UINT, - ppShaderResourceViews: *const *mut ID3D11ShaderResourceView, - ) -> (), - fn VSSetSamplers( - StartSlot: UINT, - NumSamplers: UINT, - ppSamplers: *const *mut ID3D11SamplerState, - ) -> (), - fn Begin( - pAsync: *mut ID3D11Asynchronous, - ) -> (), - fn End( - pAsync: *mut ID3D11Asynchronous, - ) -> (), - fn GetData( - pAsync: *mut ID3D11Asynchronous, - pData: *mut c_void, - DataSize: UINT, - GetDataFlags: UINT, - ) -> HRESULT, - fn SetPredication( - pPredicate: *mut ID3D11Predicate, - PredicateValue: BOOL, - ) -> (), - fn GSSetShaderResources( - StartSlot: UINT, - NumViews: UINT, - ppShaderResourceViews: *const *mut ID3D11ShaderResourceView, - ) -> (), - fn GSSetSamplers( - StartSlot: UINT, - NumSamplers: UINT, - ppSamplers: *const *mut ID3D11SamplerState, - ) -> (), - fn OMSetRenderTargets( - NumViews: UINT, - ppRenderTargetViews: *const *mut ID3D11RenderTargetView, - pDepthStencilView: *mut ID3D11DepthStencilView, - ) -> (), - fn OMSetRenderTargetsAndUnorderedAccessViews( - NumRTVs: UINT, - ppRenderTargetViews: *const *mut ID3D11RenderTargetView, - pDepthStencilView: *mut ID3D11DepthStencilView, - UAVStartSlot: UINT, - NumUAVs: UINT, - ppUnorderedAccessViews: *const *mut ID3D11UnorderedAccessView, - pUAVInitialCounts: *const UINT, - ) -> (), - fn OMSetBlendState( - pBlendState: *mut ID3D11BlendState, - BlendFactor: &[FLOAT; 4], - SampleMask: UINT, - ) -> (), - fn OMSetDepthStencilState( - pDepthStencilState: *mut ID3D11DepthStencilState, - StencilRef: UINT, - ) -> (), - fn SOSetTargets( - NumBuffers: UINT, - ppSOTargets: *const *mut ID3D11Buffer, - pOffsets: *const UINT, - ) -> (), - fn DrawAuto() -> (), - fn DrawIndexedInstancedIndirect( - pBufferForArgs: *mut ID3D11Buffer, - AlignedByteOffsetForArgs: UINT, - ) -> (), - fn DrawInstancedIndirect( - pBufferForArgs: *mut ID3D11Buffer, - AlignedByteOffsetForArgs: UINT, - ) -> (), - fn Dispatch( - ThreadGroupCountX: UINT, - ThreadGroupCountY: UINT, - ThreadGroupCountZ: UINT, - ) -> (), - fn DispatchIndirect( - pBufferForArgs: *mut ID3D11Buffer, - AlignedByteOffsetForArgs: UINT, - ) -> (), - fn RSSetState( - pRasterizerState: *mut ID3D11RasterizerState, - ) -> (), - fn RSSetViewports( - NumViewports: UINT, - pViewports: *const D3D11_VIEWPORT, - ) -> (), - fn RSSetScissorRects( - NumRects: UINT, - pRects: *const D3D11_RECT, - ) -> (), - fn CopySubresourceRegion( - pDstResource: *mut ID3D11Resource, - DstSubresource: UINT, - DstX: UINT, - DstY: UINT, - DstZ: UINT, - pSrcResource: *mut ID3D11Resource, - SrcSubresource: UINT, - pSrcBox: *const D3D11_BOX, - ) -> (), - fn CopyResource( - pDstResource: *mut ID3D11Resource, - pSrcResource: *mut ID3D11Resource, - ) -> (), - fn UpdateSubresource( - pDstResource: *mut ID3D11Resource, - DstSubresource: UINT, - pDstBox: *const D3D11_BOX, - pSrcData: *const c_void, - SrcRowPitch: UINT, - SrcDepthPitch: UINT, - ) -> (), - fn CopyStructureCount( - pDstBuffer: *mut ID3D11Buffer, - DstAlignedByteOffset: UINT, - pSrcView: *mut ID3D11UnorderedAccessView, - ) -> (), - fn ClearRenderTargetView( - pRenderTargetView: *mut ID3D11RenderTargetView, - ColorRGBA: &[FLOAT; 4], - ) -> (), - fn ClearUnorderedAccessViewUint( - pUnorderedAccessView: *mut ID3D11UnorderedAccessView, - Values: &[UINT; 4], - ) -> (), - fn ClearUnorderedAccessViewFloat( - pUnorderedAccessView: *mut ID3D11UnorderedAccessView, - Values: &[FLOAT; 4], - ) -> (), - fn ClearDepthStencilView( - pDepthStencilView: *mut ID3D11DepthStencilView, - ClearFlags: UINT, - Depth: FLOAT, - Stencil: UINT8, - ) -> (), - fn GenerateMips( - pShaderResourceView: *mut ID3D11ShaderResourceView, - ) -> (), - fn SetResourceMinLOD( - pResource: *mut ID3D11Resource, - MinLOD: FLOAT, - ) -> (), - fn GetResourceMinLOD( - pResource: *mut ID3D11Resource, - ) -> FLOAT, - fn ResolveSubresource( - pDstResource: *mut ID3D11Resource, - DstSubresource: UINT, - pSrcResource: *mut ID3D11Resource, - SrcSubresource: UINT, - Format: DXGI_FORMAT, - ) -> (), - fn ExecuteCommandList( - pCommandList: *mut ID3D11CommandList, - RestoreContextState: BOOL, - ) -> (), - fn HSSetShaderResources( - StartSlot: UINT, - NumViews: UINT, - ppShaderResourceViews: *const *mut ID3D11ShaderResourceView, - ) -> (), - fn HSSetShader( - pHullShader: *mut ID3D11HullShader, - ppClassInstances: *const *mut ID3D11ClassInstance, - NumClassInstances: UINT, - ) -> (), - fn HSSetSamplers( - StartSlot: UINT, - NumSamplers: UINT, - ppSamplers: *const *mut ID3D11SamplerState, - ) -> (), - fn HSSetConstantBuffers( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *const *mut ID3D11Buffer, - ) -> (), - fn DSSetShaderResources( - StartSlot: UINT, - NumViews: UINT, - ppShaderResourceViews: *const *mut ID3D11ShaderResourceView, - ) -> (), - fn DSSetShader( - pDomainShader: *mut ID3D11DomainShader, - ppClassInstances: *const *mut ID3D11ClassInstance, - NumClassInstances: UINT, - ) -> (), - fn DSSetSamplers( - StartSlot: UINT, - NumSamplers: UINT, - ppSamplers: *const *mut ID3D11SamplerState, - ) -> (), - fn DSSetConstantBuffers( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *const *mut ID3D11Buffer, - ) -> (), - fn CSSetShaderResources( - StartSlot: UINT, - NumViews: UINT, - ppShaderResourceViews: *const *mut ID3D11ShaderResourceView, - ) -> (), - fn CSSetUnorderedAccessViews( - StartSlot: UINT, - NumUAVs: UINT, - ppUnorderedAccessViews: *const *mut ID3D11UnorderedAccessView, - pUAVInitialCounts: *const UINT, - ) -> (), - fn CSSetShader( - pComputeShader: *mut ID3D11ComputeShader, - ppClassInstances: *const *mut ID3D11ClassInstance, - NumClassInstances: UINT, - ) -> (), - fn CSSetSamplers( - StartSlot: UINT, - NumSamplers: UINT, - ppSamplers: *const *mut ID3D11SamplerState, - ) -> (), - fn CSSetConstantBuffers( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *const *mut ID3D11Buffer, - ) -> (), - fn VSGetConstantBuffers( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *mut *mut ID3D11Buffer, - ) -> (), - fn PSGetShaderResources( - StartSlot: UINT, - NumViews: UINT, - ppShaderResourceViews: *mut *mut ID3D11ShaderResourceView, - ) -> (), - fn PSGetShader( - ppPixelShader: *mut *mut ID3D11PixelShader, - ppClassInstances: *mut *mut ID3D11ClassInstance, - pNumClassInstances: *mut UINT, - ) -> (), - fn PSGetSamplers( - StartSlot: UINT, - NumSamplers: UINT, - ppSamplers: *mut *mut ID3D11SamplerState, - ) -> (), - fn VSGetShader( - ppVertexShader: *mut *mut ID3D11VertexShader, - ppClassInstances: *mut *mut ID3D11ClassInstance, - pNumClassInstances: *mut UINT, - ) -> (), - fn PSGetConstantBuffers( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *mut *mut ID3D11Buffer, - ) -> (), - fn IAGetInputLayout( - ppInputLayout: *mut *mut ID3D11InputLayout, - ) -> (), - fn IAGetVertexBuffers( - StartSlot: UINT, - NumBuffers: UINT, - ppVertexBuffers: *mut *mut ID3D11Buffer, - pStrides: *mut UINT, - pOffsets: *mut UINT, - ) -> (), - fn IAGetIndexBuffer( - pIndexBuffer: *mut *mut ID3D11Buffer, - Format: *mut DXGI_FORMAT, - Offset: *mut UINT, - ) -> (), - fn GSGetConstantBuffers( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *mut *mut ID3D11Buffer, - ) -> (), - fn GSGetShader( - ppGeometryShader: *mut *mut ID3D11GeometryShader, - ppClassInstances: *mut *mut ID3D11ClassInstance, - pNumClassInstances: *mut UINT, - ) -> (), - fn IAGetPrimitiveTopology( - pTopology: *mut D3D11_PRIMITIVE_TOPOLOGY, - ) -> (), - fn VSGetShaderResources( - StartSlot: UINT, - NumViews: UINT, - ppShaderResourceViews: *mut *mut ID3D11ShaderResourceView, - ) -> (), - fn VSGetSamplers( - StartSlot: UINT, - NumSamplers: UINT, - ppSamplers: *mut *mut ID3D11SamplerState, - ) -> (), - fn GetPredication( - ppPredicate: *mut *mut ID3D11Predicate, - pPredicateValue: *mut BOOL, - ) -> (), - fn GSGetShaderResources( - StartSlot: UINT, - NumViews: UINT, - ppShaderResourceViews: *mut *mut ID3D11ShaderResourceView, - ) -> (), - fn GSGetSamplers( - StartSlot: UINT, - NumSamplers: UINT, - ppSamplers: *mut *mut ID3D11SamplerState, - ) -> (), - fn OMGetRenderTargets( - NumViews: UINT, - ppRenderTargetViews: *mut *mut ID3D11RenderTargetView, - ppDepthStencilView: *mut *mut ID3D11DepthStencilView, - ) -> (), - fn OMGetRenderTargetsAndUnorderedAccessViews( - NumRTVs: UINT, - ppRenderTargetViews: *mut *mut ID3D11RenderTargetView, - ppDepthStencilView: *mut *mut ID3D11DepthStencilView, - UAVStartSlot: UINT, - ppUnorderedAccessViews: *mut *mut ID3D11UnorderedAccessView, - ) -> (), - fn OMGetBlendState( - ppBlendState: *mut *mut ID3D11BlendState, - BlendFactor: &mut [FLOAT; 4], - pSampleMask: *mut UINT, - ) -> (), - fn OMGetDepthStencilState( - ppDepthStencilState: *mut *mut ID3D11DepthStencilState, - pStencilRef: *mut UINT, - ) -> (), - fn SOGetTargets( - NumBuffers: UINT, - ppSOTargets: *mut *mut ID3D11Buffer, - ) -> (), - fn RSGetState( - ppRasterizerState: *mut *mut ID3D11RasterizerState, - ) -> (), - fn RSGetViewports( - pNumViewports: *mut UINT, - pViewports: *mut D3D11_VIEWPORT, - ) -> (), - fn RSGetScissorRects( - pNumRects: *mut UINT, - pRects: *mut D3D11_RECT, - ) -> (), - fn HSGetShaderResources( - StartSlot: UINT, - NumViews: UINT, - ppShaderResourceViews: *mut *mut ID3D11ShaderResourceView, - ) -> (), - fn HSGetShader( - ppHullShader: *mut *mut ID3D11HullShader, - ppClassInstances: *mut *mut ID3D11ClassInstance, - pNumClassInstances: *mut UINT, - ) -> (), - fn HSGetSamplers( - StartSlot: UINT, - NumSamplers: UINT, - ppSamplers: *mut *mut ID3D11SamplerState, - ) -> (), - fn HSGetConstantBuffers( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *mut *mut ID3D11Buffer, - ) -> (), - fn DSGetShaderResources( - StartSlot: UINT, - NumViews: UINT, - ppShaderResourceViews: *mut *mut ID3D11ShaderResourceView, - ) -> (), - fn DSGetShader( - ppDomainShader: *mut *mut ID3D11DomainShader, - ppClassInstances: *mut *mut ID3D11ClassInstance, - pNumClassInstances: *mut UINT, - ) -> (), - fn DSGetSamplers( - StartSlot: UINT, - NumSamplers: UINT, - ppSamplers: *mut *mut ID3D11SamplerState, - ) -> (), - fn DSGetConstantBuffers( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *mut *mut ID3D11Buffer, - ) -> (), - fn CSGetShaderResources( - StartSlot: UINT, - NumViews: UINT, - ppShaderResourceViews: *mut *mut ID3D11ShaderResourceView, - ) -> (), - fn CSGetUnorderedAccessViews( - StartSlot: UINT, - NumUAVs: UINT, - ppUnorderedAccessViews: *mut *mut ID3D11UnorderedAccessView, - ) -> (), - fn CSGetShader( - ppComputeShader: *mut *mut ID3D11ComputeShader, - ppClassInstances: *mut *mut ID3D11ClassInstance, - pNumClassInstances: *mut UINT, - ) -> (), - fn CSGetSamplers( - StartSlot: UINT, - NumSamplers: UINT, - ppSamplers: *mut *mut ID3D11SamplerState, - ) -> (), - fn CSGetConstantBuffers( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *mut *mut ID3D11Buffer, - ) -> (), - fn ClearState() -> (), - fn Flush() -> (), - fn GetType() -> D3D11_DEVICE_CONTEXT_TYPE, - fn GetContextFlags() -> UINT, - fn FinishCommandList( - RestoreDeferredContextState: BOOL, - ppCommandList: *mut *mut ID3D11CommandList, - ) -> HRESULT, -}} -DEFINE_GUID!{D3D11_DECODER_PROFILE_MPEG2_MOCOMP, - 0xe6a9f44b, 0x61b0, 0x4563, 0x9e, 0xa4, 0x63, 0xd2, 0xa3, 0xc6, 0xfe, 0x66} -DEFINE_GUID!{D3D11_DECODER_PROFILE_MPEG2_IDCT, - 0xbf22ad00, 0x03ea, 0x4690, 0x80, 0x77, 0x47, 0x33, 0x46, 0x20, 0x9b, 0x7e} -DEFINE_GUID!{D3D11_DECODER_PROFILE_MPEG2_VLD, - 0xee27417f, 0x5e28, 0x4e65, 0xbe, 0xea, 0x1d, 0x26, 0xb5, 0x08, 0xad, 0xc9} -DEFINE_GUID!{D3D11_DECODER_PROFILE_MPEG1_VLD, - 0x6f3ec719, 0x3735, 0x42cc, 0x80, 0x63, 0x65, 0xcc, 0x3c, 0xb3, 0x66, 0x16} -DEFINE_GUID!{D3D11_DECODER_PROFILE_MPEG2and1_VLD, - 0x86695f12, 0x340e, 0x4f04, 0x9f, 0xd3, 0x92, 0x53, 0xdd, 0x32, 0x74, 0x60} -DEFINE_GUID!{D3D11_DECODER_PROFILE_H264_MOCOMP_NOFGT, - 0x1b81be64, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{D3D11_DECODER_PROFILE_H264_MOCOMP_FGT, - 0x1b81be65, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{D3D11_DECODER_PROFILE_H264_IDCT_NOFGT, - 0x1b81be66, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{D3D11_DECODER_PROFILE_H264_IDCT_FGT, - 0x1b81be67, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{D3D11_DECODER_PROFILE_H264_VLD_NOFGT, - 0x1b81be68, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{D3D11_DECODER_PROFILE_H264_VLD_FGT, - 0x1b81be69, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{D3D11_DECODER_PROFILE_H264_VLD_WITHFMOASO_NOFGT, - 0xd5f04ff9, 0x3418, 0x45d8, 0x95, 0x61, 0x32, 0xa7, 0x6a, 0xae, 0x2d, 0xdd} -DEFINE_GUID!{D3D11_DECODER_PROFILE_H264_VLD_STEREO_PROGRESSIVE_NOFGT, - 0xd79be8da, 0x0cf1, 0x4c81, 0xb8, 0x2a, 0x69, 0xa4, 0xe2, 0x36, 0xf4, 0x3d} -DEFINE_GUID!{D3D11_DECODER_PROFILE_H264_VLD_STEREO_NOFGT, - 0xf9aaccbb, 0xc2b6, 0x4cfc, 0x87, 0x79, 0x57, 0x07, 0xb1, 0x76, 0x05, 0x52} -DEFINE_GUID!{D3D11_DECODER_PROFILE_H264_VLD_MULTIVIEW_NOFGT, - 0x705b9d82, 0x76cf, 0x49d6, 0xb7, 0xe6, 0xac, 0x88, 0x72, 0xdb, 0x01, 0x3c} -DEFINE_GUID!{D3D11_DECODER_PROFILE_WMV8_POSTPROC, - 0x1b81be80, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{D3D11_DECODER_PROFILE_WMV8_MOCOMP, - 0x1b81be81, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{D3D11_DECODER_PROFILE_WMV9_POSTPROC, - 0x1b81be90, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{D3D11_DECODER_PROFILE_WMV9_MOCOMP, - 0x1b81be91, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{D3D11_DECODER_PROFILE_WMV9_IDCT, - 0x1b81be94, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{D3D11_DECODER_PROFILE_VC1_POSTPROC, - 0x1b81bea0, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{D3D11_DECODER_PROFILE_VC1_MOCOMP, - 0x1b81bea1, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{D3D11_DECODER_PROFILE_VC1_IDCT, - 0x1b81bea2, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{D3D11_DECODER_PROFILE_VC1_VLD, - 0x1b81bea3, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{D3D11_DECODER_PROFILE_VC1_D2010, - 0x1b81bea4, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{D3D11_DECODER_PROFILE_MPEG4PT2_VLD_SIMPLE, - 0xefd64d74, 0xc9e8, 0x41d7, 0xa5, 0xe9, 0xe9, 0xb0, 0xe3, 0x9f, 0xa3, 0x19} -DEFINE_GUID!{D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_NOGMC, - 0xed418a9f, 0x010d, 0x4eda, 0x9a, 0xe3, 0x9a, 0x65, 0x35, 0x8d, 0x8d, 0x2e} -DEFINE_GUID!{D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_GMC, - 0xab998b5b, 0x4258, 0x44a9, 0x9f, 0xeb, 0x94, 0xe5, 0x97, 0xa6, 0xba, 0xae} -DEFINE_GUID!{D3D11_DECODER_PROFILE_HEVC_VLD_MAIN, - 0x5b11d51b, 0x2f4c, 0x4452, 0xbc, 0xc3, 0x09, 0xf2, 0xa1, 0x16, 0x0c, 0xc0} -DEFINE_GUID!{D3D11_DECODER_PROFILE_HEVC_VLD_MAIN10, - 0x107af0e0, 0xef1a, 0x4d19, 0xab, 0xa8, 0x67, 0xa1, 0x63, 0x07, 0x3d, 0x13} -DEFINE_GUID!{D3D11_DECODER_PROFILE_VP9_VLD_PROFILE0, - 0x463707f8, 0xa1d0, 0x4585, 0x87, 0x6d, 0x83, 0xaa, 0x6d, 0x60, 0xb8, 0x9e} -DEFINE_GUID!{D3D11_DECODER_PROFILE_VP8_VLD, - 0x90b899ea, 0x3a62, 0x4705, 0x88, 0xb3, 0x8d, 0xf0, 0x4b, 0x27, 0x44, 0xe7} -STRUCT!{struct D3D11_VIDEO_DECODER_DESC { - Guid: GUID, - SampleWidth: UINT, - SampleHeight: UINT, - OutputFormat: DXGI_FORMAT, -}} -STRUCT!{struct D3D11_VIDEO_DECODER_CONFIG { - guidConfigBitstreamEncryption: GUID, - guidConfigMBcontrolEncryption: GUID, - guidConfigResidDiffEncryption: GUID, - ConfigBitstreamRaw: UINT, - ConfigMBcontrolRasterOrder: UINT, - ConfigResidDiffHost: UINT, - ConfigSpatialResid8: UINT, - ConfigResid8Subtraction: UINT, - ConfigSpatialHost8or9Clipping: UINT, - ConfigSpatialResidInterleaved: UINT, - ConfigIntraResidUnsigned: UINT, - ConfigResidDiffAccelerator: UINT, - ConfigHostInverseScan: UINT, - ConfigSpecificIDCT: UINT, - Config4GroupedCoefs: UINT, - ConfigMinRenderTargetBuffCount: USHORT, - ConfigDecoderSpecific: USHORT, -}} -ENUM!{enum D3D11_VIDEO_DECODER_BUFFER_TYPE { - D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS = 0, - D3D11_VIDEO_DECODER_BUFFER_MACROBLOCK_CONTROL = 1, - D3D11_VIDEO_DECODER_BUFFER_RESIDUAL_DIFFERENCE = 2, - D3D11_VIDEO_DECODER_BUFFER_DEBLOCKING_CONTROL = 3, - D3D11_VIDEO_DECODER_BUFFER_INVERSE_QUANTIZATION_MATRIX = 4, - D3D11_VIDEO_DECODER_BUFFER_SLICE_CONTROL = 5, - D3D11_VIDEO_DECODER_BUFFER_BITSTREAM = 6, - D3D11_VIDEO_DECODER_BUFFER_MOTION_VECTOR = 7, - D3D11_VIDEO_DECODER_BUFFER_FILM_GRAIN = 8, -}} -STRUCT!{struct D3D11_AES_CTR_IV { - IV: UINT64, - Count: UINT64, -}} -STRUCT!{struct D3D11_ENCRYPTED_BLOCK_INFO { - NumEncryptedBytesAtBeginning: UINT, - NumBytesInSkipPattern: UINT, - NumBytesInEncryptPattern: UINT, -}} -STRUCT!{struct D3D11_VIDEO_DECODER_BUFFER_DESC { - BufferType: D3D11_VIDEO_DECODER_BUFFER_TYPE, - BufferIndex: UINT, - DataOffset: UINT, - DataSize: UINT, - FirstMBaddress: UINT, - NumMBsInBuffer: UINT, - Width: UINT, - Height: UINT, - Stride: UINT, - ReservedBits: UINT, - pIV: *mut c_void, - IVSize: UINT, - PartialEncryption: BOOL, - EncryptedBlockInfo: D3D11_ENCRYPTED_BLOCK_INFO, -}} -STRUCT!{struct D3D11_VIDEO_DECODER_EXTENSION { - Function: UINT, - pPrivateInputData: *mut c_void, - PrivateInputDataSize: UINT, - pPrivateOutputData: *mut c_void, - PrivateOutputDataSize: UINT, - ResourceCount: UINT, - ppResourceList: *mut *mut ID3D11Resource, -}} -RIDL!{#[uuid(0x3c9c5b51, 0x995d, 0x48d1, 0x9b, 0x8d, 0xfa, 0x5c, 0xae, 0xde, 0xd6, 0x5c)] -interface ID3D11VideoDecoder(ID3D11VideoDecoderVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { - fn GetCreationParameters( - pVideoDesc: *mut D3D11_VIDEO_DECODER_DESC, - pConfig: *mut D3D11_VIDEO_DECODER_CONFIG, - ) -> HRESULT, - fn GetDriverHandle( - pDriverHandle: *mut HANDLE, - ) -> HRESULT, -}} -ENUM!{enum D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT { - D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_INPUT = 0x1, - D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT = 0x2, -}} -ENUM!{enum D3D11_VIDEO_PROCESSOR_DEVICE_CAPS { - D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_LINEAR_SPACE = 0x1, - D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_xvYCC = 0x2, - D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_RGB_RANGE_CONVERSION = 0x4, - D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION = 0x8, - D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_NOMINAL_RANGE = 0x10, -}} -ENUM!{enum D3D11_VIDEO_PROCESSOR_FEATURE_CAPS { - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_FILL = 0x1, - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_CONSTRICTION = 0x2, - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY = 0x4, - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_PALETTE = 0x8, - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LEGACY = 0x10, - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_STEREO = 0x20, - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ROTATION = 0x40, - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_STREAM = 0x80, - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_PIXEL_ASPECT_RATIO = 0x100, - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_MIRROR = 0x200, - D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_SHADER_USAGE = 0x400, -}} -ENUM!{enum D3D11_VIDEO_PROCESSOR_FILTER_CAPS { - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_BRIGHTNESS = 0x1, - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_CONTRAST = 0x2, - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_HUE = 0x4, - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_SATURATION = 0x8, - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_NOISE_REDUCTION = 0x10, - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_EDGE_ENHANCEMENT = 0x20, - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_ANAMORPHIC_SCALING = 0x40, - D3D11_VIDEO_PROCESSOR_FILTER_CAPS_STEREO_ADJUSTMENT = 0x80, -}} -ENUM!{enum D3D11_VIDEO_PROCESSOR_FORMAT_CAPS { - D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_INTERLACED = 0x1, - D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_PROCAMP = 0x2, - D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY = 0x4, - D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_PALETTE_INTERLACED = 0x8, -}} -ENUM!{enum D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS { - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DENOISE = 0x1, - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DERINGING = 0x2, - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_EDGE_ENHANCEMENT = 0x4, - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_COLOR_CORRECTION = 0x8, - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_FLESH_TONE_MAPPING = 0x10, - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_IMAGE_STABILIZATION = 0x20, - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_SUPER_RESOLUTION = 0x40, - D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_ANAMORPHIC_SCALING = 0x80, -}} -ENUM!{enum D3D11_VIDEO_PROCESSOR_STEREO_CAPS { - D3D11_VIDEO_PROCESSOR_STEREO_CAPS_MONO_OFFSET = 0x1, - D3D11_VIDEO_PROCESSOR_STEREO_CAPS_ROW_INTERLEAVED = 0x2, - D3D11_VIDEO_PROCESSOR_STEREO_CAPS_COLUMN_INTERLEAVED = 0x4, - D3D11_VIDEO_PROCESSOR_STEREO_CAPS_CHECKERBOARD = 0x8, - D3D11_VIDEO_PROCESSOR_STEREO_CAPS_FLIP_MODE = 0x10, -}} -STRUCT!{struct D3D11_VIDEO_PROCESSOR_CAPS { - DeviceCaps: UINT, - FeatureCaps: UINT, - FilterCaps: UINT, - InputFormatCaps: UINT, - AutoStreamCaps: UINT, - StereoCaps: UINT, - RateConversionCapsCount: UINT, - MaxInputStreams: UINT, - MaxStreamStates: UINT, -}} -ENUM!{enum D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS { - D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BLEND = 0x1, - D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BOB = 0x2, - D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE = 0x4, - D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION = 0x8, - D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_INVERSE_TELECINE = 0x10, - D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_FRAME_RATE_CONVERSION = 0x20, -}} -ENUM!{enum D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS { - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32 = 0x1, - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_22 = 0x2, - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2224 = 0x4, - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2332 = 0x8, - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32322 = 0x10, - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_55 = 0x20, - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_64 = 0x40, - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_87 = 0x80, - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_222222222223 = 0x100, - D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_OTHER = 0x80000000, -}} -STRUCT!{struct D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS { - PastFrames: UINT, - FutureFrames: UINT, - ProcessorCaps: UINT, - ITelecineCaps: UINT, - CustomRateCount: UINT, -}} -ENUM!{enum D3D11_CONTENT_PROTECTION_CAPS { - D3D11_CONTENT_PROTECTION_CAPS_SOFTWARE = 0x1, - D3D11_CONTENT_PROTECTION_CAPS_HARDWARE = 0x2, - D3D11_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ON = 0x4, - D3D11_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION = 0x8, - D3D11_CONTENT_PROTECTION_CAPS_CONTENT_KEY = 0x10, - D3D11_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEY = 0x20, - D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK = 0x40, - D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY = 0x80, - D3D11_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IV = 0x100, - D3D11_CONTENT_PROTECTION_CAPS_ENCRYPT_SLICEDATA_ONLY = 0x200, - D3D11_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT = 0x400, - D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECT_UNCOMPRESSED = 0x800, - D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_PAGEABLE = 0x1000, - D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_TEARDOWN = 0x2000, - D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION = 0x4000, -}} -DEFINE_GUID!{D3D11_CRYPTO_TYPE_AES128_CTR, - 0x9b6bd711, 0x4f74, 0x41c9, 0x9e, 0x7b, 0x0b, 0xe2, 0xd7, 0xd9, 0x3b, 0x4f} -DEFINE_GUID!{D3D11_DECODER_ENCRYPTION_HW_CENC, - 0x89d6ac4f, 0x09f2, 0x4229, 0xb2, 0xcd, 0x37, 0x74, 0x0a, 0x6d, 0xfd, 0x81} -DEFINE_GUID!{D3D11_KEY_EXCHANGE_HW_PROTECTION, - 0xb1170d8a, 0x628d, 0x4da3, 0xad, 0x3b, 0x82, 0xdd, 0xb0, 0x8b, 0x49, 0x70} -STRUCT!{struct D3D11_VIDEO_CONTENT_PROTECTION_CAPS { - Caps: UINT, - KeyExchangeTypeCount: UINT, - BlockAlignmentSize: UINT, - ProtectedMemorySize: ULONGLONG, -}} -STRUCT!{struct D3D11_VIDEO_PROCESSOR_CUSTOM_RATE { - CustomRate: DXGI_RATIONAL, - OutputFrames: UINT, - InputInterlaced: BOOL, - InputFramesOrFields: UINT, -}} -ENUM!{enum D3D11_VIDEO_PROCESSOR_FILTER { - D3D11_VIDEO_PROCESSOR_FILTER_BRIGHTNESS = 0, - D3D11_VIDEO_PROCESSOR_FILTER_CONTRAST = 1, - D3D11_VIDEO_PROCESSOR_FILTER_HUE = 2, - D3D11_VIDEO_PROCESSOR_FILTER_SATURATION = 3, - D3D11_VIDEO_PROCESSOR_FILTER_NOISE_REDUCTION = 4, - D3D11_VIDEO_PROCESSOR_FILTER_EDGE_ENHANCEMENT = 5, - D3D11_VIDEO_PROCESSOR_FILTER_ANAMORPHIC_SCALING = 6, - D3D11_VIDEO_PROCESSOR_FILTER_STEREO_ADJUSTMENT = 7, -}} -STRUCT!{struct D3D11_VIDEO_PROCESSOR_FILTER_RANGE { - Minimum: c_int, - Maximum: c_int, - Default: c_int, - Multiplier: c_float, -}} -ENUM!{enum D3D11_VIDEO_FRAME_FORMAT { - D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE = 0, - D3D11_VIDEO_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST = 1, - D3D11_VIDEO_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST = 2, -}} -ENUM!{enum D3D11_VIDEO_USAGE { - D3D11_VIDEO_USAGE_PLAYBACK_NORMAL = 0, - D3D11_VIDEO_USAGE_OPTIMAL_SPEED = 1, - D3D11_VIDEO_USAGE_OPTIMAL_QUALITY = 2, -}} -STRUCT!{struct D3D11_VIDEO_PROCESSOR_CONTENT_DESC { - InputFrameFormat: D3D11_VIDEO_FRAME_FORMAT, - InputFrameRate: DXGI_RATIONAL, - InputWidth: UINT, - InputHeight: UINT, - OutputFrameRate: DXGI_RATIONAL, - OutputWidth: UINT, - OutputHeight: UINT, - Usage: D3D11_VIDEO_USAGE, -}} -RIDL!{#[uuid(0x31627037, 0x53ab, 0x4200, 0x90, 0x61, 0x05, 0xfa, 0xa9, 0xab, 0x45, 0xf9)] -interface ID3D11VideoProcessorEnumerator(ID3D11VideoProcessorEnumeratorVtbl): - ID3D11DeviceChild(ID3D11DeviceChildVtbl) { - fn GetVideoProcessorContentDesc( - pContentDesc: *mut D3D11_VIDEO_PROCESSOR_CONTENT_DESC, - ) -> HRESULT, - fn CheckVideoProcessorFormat( - Format: DXGI_FORMAT, - pFlags: *mut UINT, - ) -> HRESULT, - fn GetVideoProcessorCaps( - pCaps: *mut D3D11_VIDEO_PROCESSOR_CAPS, - ) -> HRESULT, - fn GetVideoProcessorRateConversionCaps( - TypeIndex: UINT, - pCaps: *mut D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS, - ) -> HRESULT, - fn GetVideoProcessorCustomRate( - TypeIndex: UINT, - CustomRateIndex: UINT, - pRate: *mut D3D11_VIDEO_PROCESSOR_CUSTOM_RATE, - ) -> HRESULT, - fn GetVideoProcessorFilterRange( - Filter: D3D11_VIDEO_PROCESSOR_FILTER, - Range: *mut D3D11_VIDEO_PROCESSOR_FILTER_RANGE, - ) -> HRESULT, -}} -STRUCT!{struct D3D11_VIDEO_COLOR_RGBA { - R: c_float, - G: c_float, - B: c_float, - A: c_float, -}} -STRUCT!{struct D3D11_VIDEO_COLOR_YCbCrA { - Y: c_float, - Cb: c_float, - Cr: c_float, - A: c_float, -}} -UNION!{union D3D11_VIDEO_COLOR { - [f32; 4], - YCbCr YCbCr_mut: D3D11_VIDEO_COLOR_YCbCrA, - RGBA RGBA_mut: D3D11_VIDEO_COLOR_RGBA, -}} -ENUM!{enum D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE { - D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_UNDEFINED = 0, - D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_16_235 = 1, - D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_0_255 = 2, -}} -STRUCT!{struct D3D11_VIDEO_PROCESSOR_COLOR_SPACE { - bitfield: UINT, -}} -BITFIELD!{D3D11_VIDEO_PROCESSOR_COLOR_SPACE bitfield: UINT [ - Usage set_Usage[0..1], - RGB_Range set_RGB_Range[1..2], - YCbCr_Matrix set_YCbCr_Matrix[2..3], - YCbCr_xvYCC set_YCbCr_xvYCC[3..4], - Nominal_Range set_Nominal_Range[4..6], -]} -ENUM!{enum D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE { - D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_OPAQUE = 0, - D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_BACKGROUND = 1, - D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_DESTINATION = 2, - D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_SOURCE_STREAM = 3, -}} -ENUM!{enum D3D11_VIDEO_PROCESSOR_OUTPUT_RATE { - D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_NORMAL = 0, - D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_HALF = 1, - D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_CUSTOM = 2, -}} -ENUM!{enum D3D11_VIDEO_PROCESSOR_STEREO_FORMAT { - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO = 0, - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL = 1, - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERTICAL = 2, - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE = 3, - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET = 4, - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_ROW_INTERLEAVED = 5, - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_COLUMN_INTERLEAVED = 6, - D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_CHECKERBOARD = 7, -}} -ENUM!{enum D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE { - D3D11_VIDEO_PROCESSOR_STEREO_FLIP_NONE = 0, - D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME0 = 1, - D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME1 = 2, -}} -ENUM!{enum D3D11_VIDEO_PROCESSOR_ROTATION { - D3D11_VIDEO_PROCESSOR_ROTATION_IDENTITY = 0, - D3D11_VIDEO_PROCESSOR_ROTATION_90 = 1, - D3D11_VIDEO_PROCESSOR_ROTATION_180 = 2, - D3D11_VIDEO_PROCESSOR_ROTATION_270 = 3, -}} -STRUCT!{struct D3D11_VIDEO_PROCESSOR_STREAM { - Enable: BOOL, - OutputIndex: UINT, - InputFrameOrField: UINT, - PastFrames: UINT, - FutureFrames: UINT, - ppPastSurfaces: *mut *mut ID3D11VideoProcessorInputView, - pInputSurface: *mut ID3D11VideoProcessorInputView, - ppFutureSurfaces: *mut *mut ID3D11VideoProcessorInputView, - ppPastSurfacesRight: *mut *mut ID3D11VideoProcessorInputView, - pInputSurfaceRight: *mut ID3D11VideoProcessorInputView, - ppFutureSurfacesRight: *mut *mut ID3D11VideoProcessorInputView, -}} -RIDL!{#[uuid(0x1d7b0652, 0x185f, 0x41c6, 0x85, 0xce, 0x0c, 0x5b, 0xe3, 0xd4, 0xae, 0x6c)] -interface ID3D11VideoProcessor(ID3D11VideoProcessorVtbl): - ID3D11DeviceChild(ID3D11DeviceChildVtbl) { - fn GetContentDesc( - pDesc: *mut D3D11_VIDEO_PROCESSOR_CONTENT_DESC, - ) -> (), - fn GetRateConversionCaps( - pCaps: *mut D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS, - ) -> (), -}} -STRUCT!{struct D3D11_OMAC { - Omac: [BYTE; 16], -}} -ENUM!{enum D3D11_AUTHENTICATED_CHANNEL_TYPE { - D3D11_AUTHENTICATED_CHANNEL_D3D11 = 1, - D3D11_AUTHENTICATED_CHANNEL_DRIVER_SOFTWARE = 2, - D3D11_AUTHENTICATED_CHANNEL_DRIVER_HARDWARE = 3, -}} -RIDL!{#[uuid(0x3015a308, 0xdcbd, 0x47aa, 0xa7, 0x47, 0x19, 0x24, 0x86, 0xd1, 0x4d, 0x4a)] -interface ID3D11AuthenticatedChannel(ID3D11AuthenticatedChannelVtbl): - ID3D11DeviceChild(ID3D11DeviceChildVtbl) { - fn GetCertificateSize( - pCertificateSize: *mut UINT, - ) -> HRESULT, - fn GetCertificate( - CertificateSize: UINT, - pCertificate: *mut BYTE, - ) -> HRESULT, - fn GetChannelHandle( - pChannelHandle: *mut HANDLE, - ) -> (), -}} -DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_PROTECTION, - 0xa84eb584, 0xc495, 0x48aa, 0xb9, 0x4d, 0x8b, 0xd2, 0xd6, 0xfb, 0xce, 0x05} -DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE, - 0xbc1b18a5, 0xb1fb, 0x42ab, 0xbd, 0x94, 0xb5, 0x82, 0x8b, 0x4b, 0xf7, 0xbe} -DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE, - 0xec1c539d, 0x8cff, 0x4e2a, 0xbc, 0xc4, 0xf5, 0x69, 0x2f, 0x99, 0xf4, 0x80} -DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION, - 0x2634499e, 0xd018, 0x4d74, 0xac, 0x17, 0x7f, 0x72, 0x40, 0x59, 0x52, 0x8d} -DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT, - 0x0db207b3, 0x9450, 0x46a6, 0x82, 0xde, 0x1b, 0x96, 0xd4, 0x4f, 0x9c, 0xf2} -DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS, - 0x649bbadb, 0xf0f4, 0x4639, 0xa1, 0x5b, 0x24, 0x39, 0x3f, 0xc3, 0xab, 0xac} -DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT, - 0x012f0bd6, 0xe662, 0x4474, 0xbe, 0xfd, 0xaa, 0x53, 0xe5, 0x14, 0x3c, 0x6d} -DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT, - 0x2c042b5e, 0x8c07, 0x46d5, 0xaa, 0xbe, 0x8f, 0x75, 0xcb, 0xad, 0x4c, 0x31} -DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_OUTPUT_ID, - 0x839ddca3, 0x9b4e, 0x41e4, 0xb0, 0x53, 0x89, 0x2b, 0xd2, 0xa1, 0x1e, 0xe7} -DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ATTRIBUTES, - 0x6214d9d2, 0x432c, 0x4abb, 0x9f, 0xce, 0x21, 0x6e, 0xea, 0x26, 0x9e, 0x3b} -DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_ENCRYPTION_WHEN_ACCESSIBLE_GUID_COUNT, - 0xb30f7066, 0x203c, 0x4b07, 0x93, 0xfc, 0xce, 0xaa, 0xfd, 0x61, 0x24, 0x1e} -DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_ENCRYPTION_WHEN_ACCESSIBLE_GUID, - 0xf83a5958, 0xe986, 0x4bda, 0xbe, 0xb0, 0x41, 0x1f, 0x6a, 0x7a, 0x01, 0xb7} -DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_CURRENT_ENCRYPTION_WHEN_ACCESSIBLE, - 0xec1791c7, 0xdad3, 0x4f15, 0x9e, 0xc3, 0xfa, 0xa9, 0x3d, 0x60, 0xd4, 0xf0} -DEFINE_GUID!{D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE, - 0x06114bdb, 0x3523, 0x470a, 0x8d, 0xca, 0xfb, 0xc2, 0x84, 0x51, 0x54, 0xf0} -DEFINE_GUID!{D3D11_AUTHENTICATED_CONFIGURE_PROTECTION, - 0x50455658, 0x3f47, 0x4362, 0xbf, 0x99, 0xbf, 0xdf, 0xcd, 0xe9, 0xed, 0x29} -DEFINE_GUID!{D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION, - 0x6346cc54, 0x2cfc, 0x4ad4, 0x82, 0x24, 0xd1, 0x58, 0x37, 0xde, 0x77, 0x00} -DEFINE_GUID!{D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE, - 0x0772d047, 0x1b40, 0x48e8, 0x9c, 0xa6, 0xb5, 0xf5, 0x10, 0xde, 0x9f, 0x01} -DEFINE_GUID!{D3D11_AUTHENTICATED_CONFIGURE_ENCRYPTION_WHEN_ACCESSIBLE, - 0x41fff286, 0x6ae0, 0x4d43, 0x9d, 0x55, 0xa4, 0x6e, 0x9e, 0xfd, 0x15, 0x8a} -STRUCT!{struct D3D11_AUTHENTICATED_QUERY_INPUT { - QueryType: GUID, - hChannel: HANDLE, - SequenceNumber: UINT, -}} -STRUCT!{struct D3D11_AUTHENTICATED_QUERY_OUTPUT { - omac: D3D11_OMAC, - QueryType: GUID, - hChannel: HANDLE, - SequenceNumber: UINT, - ReturnCode: HRESULT, -}} -//FIXME bitfield -STRUCT!{struct D3D11_AUTHENTICATED_PROTECTION_FLAGS { - u: UINT, -}} -STRUCT!{struct D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT { - Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, - ProtectionFlags: D3D11_AUTHENTICATED_PROTECTION_FLAGS, -}} -STRUCT!{struct D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT { - Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, - ChannelType: D3D11_AUTHENTICATED_CHANNEL_TYPE, -}} -STRUCT!{struct D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT { - Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, - DeviceHandle: HANDLE, -}} -STRUCT!{struct D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT { - Input: D3D11_AUTHENTICATED_QUERY_INPUT, - DecoderHandle: HANDLE, -}} -STRUCT!{struct D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT { - Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, - DecoderHandle: HANDLE, - CryptoSessionHandle: HANDLE, - DeviceHandle: HANDLE, -}} -STRUCT!{struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT { - Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, - RestrictedSharedResourceProcessCount: UINT, -}} -STRUCT!{struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT { - Input: D3D11_AUTHENTICATED_QUERY_INPUT, - ProcessIndex: UINT, -}} -ENUM!{enum D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE { - DD3D11_PROCESSIDTYPE_UNKNOWN = 0, - DD3D11_PROCESSIDTYPE_DWM = 1, - DD3D11_PROCESSIDTYPE_HANDLE = 2, -}} -STRUCT!{struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT { - Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, - ProcessIndex: UINT, - ProcessIdentifier: D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE, - ProcessHandle: HANDLE, -}} -STRUCT!{struct D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT { - Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, - UnrestrictedProtectedSharedResourceCount: UINT, -}} -STRUCT!{struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT { - Input: D3D11_AUTHENTICATED_QUERY_INPUT, - DeviceHandle: HANDLE, - CryptoSessionHandle: HANDLE, -}} -STRUCT!{struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT { - Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, - DeviceHandle: HANDLE, - CryptoSessionHandle: HANDLE, - OutputIDCount: UINT, -}} -STRUCT!{struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT { - Input: D3D11_AUTHENTICATED_QUERY_INPUT, - DeviceHandle: HANDLE, - CryptoSessionHandle: HANDLE, - OutputIDIndex: UINT, -}} -STRUCT!{struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT { - Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, - DeviceHandle: HANDLE, - CryptoSessionHandle: HANDLE, - OutputIDIndex: UINT, - OutputID: UINT64, -}} -ENUM!{enum D3D11_BUS_TYPE { - D3D11_BUS_TYPE_OTHER = 0, - D3D11_BUS_TYPE_PCI = 0x1, - D3D11_BUS_TYPE_PCIX = 0x2, - D3D11_BUS_TYPE_PCIEXPRESS = 0x3, - D3D11_BUS_TYPE_AGP = 0x4, - D3D11_BUS_IMPL_MODIFIER_INSIDE_OF_CHIPSET = 0x10000, - D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_CHIP = 0x20000, - D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_SOCKET = 0x30000, - D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR = 0x40000, - D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR_INSIDE_OF_NUAE = 0x50000, - D3D11_BUS_IMPL_MODIFIER_NON_STANDARD = 0x80000000, -}} -STRUCT!{struct D3D11_AUTHENTICATED_QUERY_ACESSIBILITY_OUTPUT { - Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, - BusType: D3D11_BUS_TYPE, - AccessibleInContiguousBlocks: BOOL, - AccessibleInNonContiguousBlocks: BOOL, -}} -STRUCT!{struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT { - Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, - EncryptionGuidCount: UINT, -}} -STRUCT!{struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT { - Input: D3D11_AUTHENTICATED_QUERY_INPUT, - EncryptionGuidIndex: UINT, -}} -STRUCT!{struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT { - Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, - EncryptionGuidIndex: UINT, - EncryptionGuid: GUID, -}} -STRUCT!{struct D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT { - Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, - EncryptionGuid: GUID, -}} -STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_INPUT { - omac: D3D11_OMAC, - ConfigureType: GUID, - hChannel: HANDLE, - SequenceNumber: UINT, -}} -STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_OUTPUT { - omac: D3D11_OMAC, - ConfigureType: GUID, - hChannel: HANDLE, - SequenceNumber: UINT, - ReturnCode: HRESULT, -}} -STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT { - Parameters: D3D11_AUTHENTICATED_CONFIGURE_INPUT, - StartSequenceQuery: UINT, - StartSequenceConfigure: UINT, -}} -STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT { - Parameters: D3D11_AUTHENTICATED_CONFIGURE_INPUT, - Protections: D3D11_AUTHENTICATED_PROTECTION_FLAGS, -}} -STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT { - Parameters: D3D11_AUTHENTICATED_CONFIGURE_INPUT, - DecoderHandle: HANDLE, - CryptoSessionHandle: HANDLE, - DeviceHandle: HANDLE, -}} -STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT { - Parameters: D3D11_AUTHENTICATED_CONFIGURE_INPUT, - ProcessType: D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE, - ProcessHandle: HANDLE, - AllowAccess: BOOL, -}} -STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT { - Parameters: D3D11_AUTHENTICATED_CONFIGURE_INPUT, - EncryptionGuid: GUID, -}} -DEFINE_GUID!{D3D11_KEY_EXCHANGE_RSAES_OAEP, - 0xc1949895, 0xd72a, 0x4a1d, 0x8e, 0x5d, 0xed, 0x85, 0x7d, 0x17, 0x15, 0x20} -RIDL!{#[uuid(0x9b32f9ad, 0xbdcc, 0x40a6, 0xa3, 0x9d, 0xd5, 0xc8, 0x65, 0x84, 0x57, 0x20)] -interface ID3D11CryptoSession(ID3D11CryptoSessionVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { - fn GetCryptoType( - pCryptoType: *mut GUID, - ) -> (), - fn GetDecoderProfile( - pDecoderProfile: *mut GUID, - ) -> (), - fn GetCertificateSize( - pCertificateSize: *mut UINT, - ) -> HRESULT, - fn GetCertificate( - CertificateSize: UINT, - pCertificate: *mut BYTE, - ) -> HRESULT, - fn GetCryptoSessionHandle( - pCertificate: *mut HANDLE, - ) -> (), -}} -ENUM!{enum D3D11_VDOV_DIMENSION { - D3D11_VDOV_DIMENSION_UNKNOWN = 0, - D3D11_VDOV_DIMENSION_TEXTURE2D = 1, -}} -STRUCT!{struct D3D11_TEX2D_VDOV { - ArraySlice: UINT, -}} -STRUCT!{struct D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC { - DecodeProfile: GUID, - ViewDimension: D3D11_VDOV_DIMENSION, - Texture2D: D3D11_TEX2D_VDOV, -}} -RIDL!{#[uuid(0xc2931aea, 0x2a85, 0x4f20, 0x86, 0x0f, 0xfb, 0xa1, 0xfd, 0x25, 0x6e, 0x18)] -interface ID3D11VideoDecoderOutputView(ID3D11VideoDecoderOutputViewVtbl): - ID3D11View(ID3D11ViewVtbl) { - fn GetDesc( - pDesc: *mut D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC, - ) -> (), -}} -ENUM!{enum D3D11_VPIV_DIMENSION { - D3D11_VPIV_DIMENSION_UNKNOWN = 0, - D3D11_VPIV_DIMENSION_TEXTURE2D = 1, -}} -STRUCT!{struct D3D11_TEX2D_VPIV { - MipSlice: UINT, - ArraySlice: UINT, -}} -STRUCT!{struct D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC { - FourCC: UINT, - ViewDimension: D3D11_VPIV_DIMENSION, - Texture2D: D3D11_TEX2D_VPIV, -}} -RIDL!{#[uuid(0x11ec5a5f, 0x51dc, 0x4945, 0xab, 0x34, 0x6e, 0x8c, 0x21, 0x30, 0x0e, 0xa5)] -interface ID3D11VideoProcessorInputView(ID3D11VideoProcessorInputViewVtbl): - ID3D11View(ID3D11ViewVtbl) { - fn GetDesc( - pDesc: *mut D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC, - ) -> (), -}} -ENUM!{enum D3D11_VPOV_DIMENSION { - D3D11_VPOV_DIMENSION_UNKNOWN = 0, - D3D11_VPOV_DIMENSION_TEXTURE2D = 1, - D3D11_VPOV_DIMENSION_TEXTURE2DARRAY = 2, -}} -STRUCT!{struct D3D11_TEX2D_VPOV { - MipSlice: UINT, -}} -STRUCT!{struct D3D11_TEX2D_ARRAY_VPOV { - MipSlice: UINT, - FirstArraySlice: UINT, - ArraySize: UINT, -}} -UNION!{union D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC_u { - [u32; 3], - Texture2D Texture2D_mut: D3D11_TEX2D_VPOV, - Texture2DArray Texture2DArray_mut: D3D11_TEX2D_ARRAY_VPOV, -}} -STRUCT!{struct D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC { - ViewDimension: D3D11_VPOV_DIMENSION, - u: D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC_u, -}} -RIDL!{#[uuid(0xa048285e, 0x25a9, 0x4527, 0xbd, 0x93, 0xd6, 0x8b, 0x68, 0xc4, 0x42, 0x54)] -interface ID3D11VideoProcessorOutputView(ID3D11VideoProcessorOutputViewVtbl): - ID3D11View(ID3D11ViewVtbl) { - fn GetDesc( - pDesc: *mut D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC, - ) -> (), -}} -RIDL!{#[uuid(0x61f21c45, 0x3c0e, 0x4a74, 0x9c, 0xea, 0x67, 0x10, 0x0d, 0x9a, 0xd5, 0xe4)] -interface ID3D11VideoContext(ID3D11VideoContextVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { - fn GetDecoderBuffer( - pDecoder: *mut ID3D11VideoDecoder, - Type: D3D11_VIDEO_DECODER_BUFFER_TYPE, - pBufferSize: *mut UINT, - ppBuffer: *mut *mut c_void, - ) -> HRESULT, - fn ReleaseDecoderBuffer( - pDecoder: *mut ID3D11VideoDecoder, - Type: D3D11_VIDEO_DECODER_BUFFER_TYPE, - ) -> HRESULT, - fn DecoderBeginFrame( - pDecoder: *mut ID3D11VideoDecoder, - pView: *mut ID3D11VideoDecoderOutputView, - ContentKeySize: UINT, - pContentKey: *const c_void, - ) -> HRESULT, - fn DecoderEndFrame( - pDecoder: *mut ID3D11VideoDecoder, - ) -> HRESULT, - fn SubmitDecoderBuffers( - pDecoder: *mut ID3D11VideoDecoder, - NumBuffers: UINT, - pBufferDesc: *const D3D11_VIDEO_DECODER_BUFFER_DESC, - ) -> HRESULT, - fn DecoderExtension( - pDecoder: *mut ID3D11VideoDecoder, - pExtensionData: *const D3D11_VIDEO_DECODER_EXTENSION, - ) -> HRESULT, - fn VideoProcessorSetOutputTargetRect( - pVideoProcessor: *mut ID3D11VideoProcessor, - Enable: BOOL, - pRect: *const RECT, - ) -> (), - fn VideoProcessorSetOutputBackgroundColor( - pVideoProcessor: *mut ID3D11VideoProcessor, - YCbCr: BOOL, - pRect: *const RECT, - ) -> (), - fn VideoProcessorSetOutputColorSpace( - pVideoProcessor: *mut ID3D11VideoProcessor, - pColorSpace: *const D3D11_VIDEO_PROCESSOR_COLOR_SPACE, - ) -> HRESULT, - fn VideoProcessorSetOutputAlphaFillMode( - pVideoProcessor: *mut ID3D11VideoProcessor, - AlphaFillMode: D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE, - StreamIndex: UINT, - ) -> (), - fn VideoProcessorSetOutputConstriction( - pVideoProcessor: *mut ID3D11VideoProcessor, - Enable: BOOL, - Size: SIZE, - ) -> (), - fn VideoProcessorSetOutputStereoMode( - pVideoProcessor: *mut ID3D11VideoProcessor, - Enable: BOOL, - ) -> (), - fn VideoProcessorSetOutputExtension( - pVideoProcessor: *mut ID3D11VideoProcessor, - pExtensionGuid: *const GUID, - DataSize: UINT, - pData: *mut c_void, - ) -> HRESULT, - fn VideoProcessorGetOutputTargetRect( - pVideoProcessor: *mut ID3D11VideoProcessor, - Enabled: *mut BOOL, - pRect: *mut RECT, - ) -> (), - fn VideoProcessorGetOutputBackgroundColor( - pVideoProcessor: *mut ID3D11VideoProcessor, - pYCbCr: *mut BOOL, - pColor: *mut D3D11_VIDEO_COLOR, - ) -> (), - fn VideoProcessorGetOutputColorSpace( - pVideoProcessor: *mut ID3D11VideoProcessor, - pColorSpace: *mut D3D11_VIDEO_PROCESSOR_COLOR_SPACE, - ) -> (), - fn VideoProcessorGetOutputAlphaFillMode( - pVideoProcessor: *mut ID3D11VideoProcessor, - pAlphaFillMode: *mut D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE, - pStreamIndex: *mut UINT, - ) -> (), - fn VideoProcessorGetOutputConstriction( - pVideoProcessor: *mut ID3D11VideoProcessor, - pEnabled: *mut BOOL, - pSize: *mut SIZE, - ) -> (), - fn VideoProcessorGetOutputStereoMode( - pVideoProcessor: *mut ID3D11VideoProcessor, - pEnabled: *mut BOOL, - ) -> (), - fn VideoProcessorGetOutputExtension( - pVideoProcessor: *mut ID3D11VideoProcessor, - pExtensionGuid: *const GUID, - DataSize: UINT, - pData: *mut c_void, - ) -> HRESULT, - fn VideoProcessorSetStreamFrameFormat( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - FrameFormat: D3D11_VIDEO_FRAME_FORMAT, - ) -> (), - fn VideoProcessorSetStreamColorSpace( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - pColorSpace: *const D3D11_VIDEO_PROCESSOR_COLOR_SPACE, - ) -> (), - fn VideoProcessorSetStreamOutputRate( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - OutputRate: D3D11_VIDEO_PROCESSOR_OUTPUT_RATE, - RepeatFrame: BOOL, - pCustomRate: *const DXGI_RATIONAL, - ) -> (), - fn VideoProcessorSetStreamSourceRect( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - Enable: BOOL, - pRect: *const RECT, - ) -> (), - fn VideoProcessorSetStreamDestRect( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - Enable: BOOL, - pRect: *const RECT, - ) -> (), - fn VideoProcessorSetStreamAlpha( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - Enable: BOOL, - Alpha: FLOAT, - ) -> (), - fn VideoProcessorSetStreamPalette( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - Count: UINT, - pEntries: *const UINT, - ) -> (), - fn VideoProcessorSetStreamPixelAspectRatio( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - Enable: BOOL, - pSourceAspectRatio: *const DXGI_RATIONAL, - pDestinationAspectRatio: *const DXGI_RATIONAL, - ) -> (), - fn VideoProcessorSetStreamLumaKey( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - Enable: BOOL, - Lower: FLOAT, - Upper: FLOAT, - ) -> (), - fn VideoProcessorSetStreamStereoFormat( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - Enable: BOOL, - Format: D3D11_VIDEO_PROCESSOR_STEREO_FORMAT, - LeftViewFrame0: BOOL, - BaseViewFrame0: BOOL, - FlipMode: D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE, - ) -> (), - fn VideoProcessorSetStreamAutoProcessingMode( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - Enable: BOOL, - ) -> (), - fn VideoProcessorSetStreamFilter( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - Filter: D3D11_VIDEO_PROCESSOR_FILTER, - Enable: BOOL, - Level: c_int, - ) -> (), - fn VideoProcessorSetStreamExtension( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - pExtensionGuid: *const GUID, - DataSize: UINT, - pData: *mut c_void, - ) -> HRESULT, - fn VideoProcessorGetStreamFrameFormat( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - pFrameFormat: *mut D3D11_VIDEO_FRAME_FORMAT, - ) -> (), - fn VideoProcessorGetStreamColorSpace( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - pColorSpace: *mut D3D11_VIDEO_PROCESSOR_COLOR_SPACE, - ) -> (), - fn VideoProcessorGetStreamOutputRate( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - pOutputRate: *mut D3D11_VIDEO_PROCESSOR_OUTPUT_RATE, - pRepeatFrame: *mut BOOL, - pCustomRate: *mut DXGI_RATIONAL, - ) -> (), - fn VideoProcessorGetStreamSourceRect( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - pEnabled: *mut BOOL, - pRect: *mut RECT, - ) -> (), - fn VideoProcessorGetStreamDestRect( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - pEnabled: *mut BOOL, - pRect: *mut RECT, - ) -> (), - fn VideoProcessorGetStreamAlpha( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - pEnabled: *mut BOOL, - pAlpha: *mut FLOAT, - ) -> (), - fn VideoProcessorGetStreamPalette( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - Count: UINT, - pEntries: *mut UINT, - ) -> (), - fn VideoProcessorGetStreamPixelAspectRatio( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - pEnabled: *mut BOOL, - pSourceAspectRatio: *mut DXGI_RATIONAL, - pDestinationAspectRatio: *mut DXGI_RATIONAL, - ) -> (), - fn VideoProcessorGetStreamLumaKey( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - pEnabled: *mut BOOL, - pLower: *mut FLOAT, - pUpper: *mut FLOAT, - ) -> (), - fn VideoProcessorGetStreamStereoFormat( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - pEnabled: *mut BOOL, - pFormat: *mut D3D11_VIDEO_PROCESSOR_STEREO_FORMAT, - pLeftViewFrame0: *mut BOOL, - pBaseViewFrame0: *mut BOOL, - pFlipMode: *mut D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE, - MonoOffset: *mut c_int, - ) -> (), - fn VideoProcessorGetStreamAutoProcessingMode( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - pEnabled: *mut BOOL, - ) -> (), - fn VideoProcessorGetStreamFilter( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - Filter: D3D11_VIDEO_PROCESSOR_FILTER, - pEnabled: *mut BOOL, - pLevel: *mut c_int, - ) -> (), - fn VideoProcessorGetStreamExtension( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - pExtensionGuid: *const GUID, - DataSize: UINT, - pData: *mut c_void, - ) -> HRESULT, - fn VideoProcessorBlt( - pVideoProcessor: *mut ID3D11VideoProcessor, - pView: *mut ID3D11VideoProcessorOutputView, - OutputFrame: UINT, - StreamCount: UINT, - pStreams: *const D3D11_VIDEO_PROCESSOR_STREAM, - ) -> HRESULT, - fn NegotiateCryptoSessionKeyExchange( - pCryptoSession: *mut ID3D11CryptoSession, - DataSize: UINT, - pData: *mut c_void, - ) -> HRESULT, - fn EncryptionBlt( - pCryptoSession: *mut ID3D11CryptoSession, - pSrcSurface: *mut ID3D11Texture2D, - pDstSurface: *mut ID3D11Texture2D, - IVSize: UINT, - pIV: *mut c_void, - ) -> HRESULT, - fn DecryptionBlt( - pCryptoSession: *mut ID3D11CryptoSession, - pSrcSurface: *mut ID3D11Texture2D, - pDstSurface: *mut ID3D11Texture2D, - pEncryptedBlockInfo: *mut D3D11_ENCRYPTED_BLOCK_INFO, - ContentKeySize: UINT, - pContentKey: *const c_void, - IVSize: UINT, - pIV: *mut c_void, - ) -> HRESULT, - fn StartSessionKeyRefresh( - pCryptoSession: *mut ID3D11CryptoSession, - RandomNumberSize: UINT, - pRandomNumber: *mut c_void, - ) -> HRESULT, - fn FinishSessionKeyRefresh( - pCryptoSession: *mut ID3D11CryptoSession, - ) -> HRESULT, - fn GetEncryptionBltKey( - pCryptoSession: *mut ID3D11CryptoSession, - KeySize: UINT, - pReadbackKey: *mut c_void, - ) -> HRESULT, - fn NegotiateAuthenticatedChannelKeyExchange( - pChannel: *mut ID3D11AuthenticatedChannel, - DataSize: UINT, - pData: *mut c_void, - ) -> HRESULT, - fn QueryAuthenticatedChannel( - pChannel: *mut ID3D11AuthenticatedChannel, - InputSize: UINT, - pInput: *const c_void, - OutputSize: UINT, - pOutput: *mut c_void, - ) -> HRESULT, - fn ConfigureAuthenticatedChannel( - pChannel: *mut ID3D11AuthenticatedChannel, - InputSize: UINT, - pInput: *const c_void, - pOutput: *mut D3D11_AUTHENTICATED_CONFIGURE_OUTPUT, - ) -> HRESULT, - fn VideoProcessorSetStreamRotation( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - Enable: BOOL, - Rotation: D3D11_VIDEO_PROCESSOR_ROTATION, - ) -> HRESULT, - fn VideoProcessorGetStreamRotation( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - pEnable: *mut BOOL, - pRotation: *mut D3D11_VIDEO_PROCESSOR_ROTATION, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x10ec4d5b, 0x975a, 0x4689, 0xb9, 0xe4, 0xd0, 0xaa, 0xc3, 0x0f, 0xe3, 0x33)] -interface ID3D11VideoDevice(ID3D11VideoDeviceVtbl): IUnknown(IUnknownVtbl) { - fn CreateVideoDecoder( - pVideoDesc: *const D3D11_VIDEO_DECODER_DESC, - pConfig: *const D3D11_VIDEO_DECODER_CONFIG, - ppDecoder: *mut *mut ID3D11VideoDecoder, - ) -> HRESULT, - fn CreateVideoProcessor( - pEnum: *mut ID3D11VideoProcessorEnumerator, - RateConversionIndex: UINT, - ppVideoProcessor: *mut *mut ID3D11VideoProcessor, - ) -> HRESULT, - fn CreateAuthenticatedChannel( - ChannelType: D3D11_AUTHENTICATED_CHANNEL_TYPE, - ppAuthenticatedChannel: *mut *mut ID3D11AuthenticatedChannel, - ) -> HRESULT, - fn CreateCryptoSession( - pCryptoType: *const GUID, - pDecoderProfile: *const GUID, - pKeyExchangeType: *const GUID, - ppCryptoSession: *mut *mut ID3D11CryptoSession, - ) -> HRESULT, - fn CreateVideoDecoderOutputView( - pResource: *mut ID3D11Resource, - pDesc: *const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC, - ppVDOVView: *mut *mut ID3D11VideoDecoderOutputView, - ) -> HRESULT, - fn CreateVideoProcessorInputView( - pResource: *mut ID3D11Resource, - pEnum: *mut ID3D11VideoProcessorEnumerator, - pDesc: *const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC, - ppVPIView: *mut *mut ID3D11VideoProcessorInputView, - ) -> HRESULT, - fn CreateVideoProcessorOutputView( - pResource: *mut ID3D11Resource, - pEnum: *mut ID3D11VideoProcessorEnumerator, - pDesc: *const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC, - ppVPOView: *mut *mut ID3D11VideoProcessorOutputView, - ) -> HRESULT, - fn CreateVideoProcessorEnumerator( - pDesc: *const D3D11_VIDEO_PROCESSOR_CONTENT_DESC, - ppEnum: *mut *mut ID3D11VideoProcessorEnumerator, - ) -> HRESULT, - fn GetVideoDecoderProfileCount() -> UINT, - fn GetVideoDecoderProfile( - Index: UINT, - pDecoderProfile: *mut GUID, - ) -> HRESULT, - fn CheckVideoDecoderFormat( - pDecoderProfile: *const GUID, - Format: DXGI_FORMAT, - pSupported: *mut BOOL, - ) -> HRESULT, - fn GetVideoDecoderConfigCount( - pDesc: *const D3D11_VIDEO_DECODER_DESC, - pCount: *mut UINT, - ) -> HRESULT, - fn GetVideoDecoderConfig( - pDesc: *const D3D11_VIDEO_DECODER_DESC, - Index: UINT, - pConfig: *mut D3D11_VIDEO_DECODER_CONFIG, - ) -> HRESULT, - fn GetContentProtectionCaps( - pCryptoType: *const GUID, - pDecoderProfile: *const GUID, - pCaps: *mut D3D11_VIDEO_CONTENT_PROTECTION_CAPS, - ) -> HRESULT, - fn CheckCryptoKeyExchange( - pCryptoType: *const GUID, - pDecoderProfile: *const GUID, - Index: UINT, - pKeyExchangeType: *mut GUID, - ) -> HRESULT, - fn SetPrivateData( - guid: REFGUID, - DataSize: UINT, - pData: *const c_void, - ) -> HRESULT, - fn SetPrivateDataInterface( - guid: REFGUID, - pData: *const IUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xdb6f6ddb, 0xac77, 0x4e88, 0x82, 0x53, 0x81, 0x9d, 0xf9, 0xbb, 0xf1, 0x40)] -interface ID3D11Device(ID3D11DeviceVtbl): IUnknown(IUnknownVtbl) { - fn CreateBuffer( - pDesc: *const D3D11_BUFFER_DESC, - pInitialData: *const D3D11_SUBRESOURCE_DATA, - ppBuffer: *mut *mut ID3D11Buffer, - ) -> HRESULT, - fn CreateTexture1D( - pDesc: *const D3D11_TEXTURE1D_DESC, - pInitialData: *const D3D11_SUBRESOURCE_DATA, - ppTexture1D: *mut *mut ID3D11Texture1D, - ) -> HRESULT, - fn CreateTexture2D( - pDesc: *const D3D11_TEXTURE2D_DESC, - pInitialData: *const D3D11_SUBRESOURCE_DATA, - ppTexture2D: *mut *mut ID3D11Texture2D, - ) -> HRESULT, - fn CreateTexture3D( - pDesc: *const D3D11_TEXTURE3D_DESC, - pInitialData: *const D3D11_SUBRESOURCE_DATA, - ppTexture3D: *mut *mut ID3D11Texture3D, - ) -> HRESULT, - fn CreateShaderResourceView( - pResource: *mut ID3D11Resource, - pDesc: *const D3D11_SHADER_RESOURCE_VIEW_DESC, - ppSRView: *mut *mut ID3D11ShaderResourceView, - ) -> HRESULT, - fn CreateUnorderedAccessView( - pResource: *mut ID3D11Resource, - pDesc: *const D3D11_UNORDERED_ACCESS_VIEW_DESC, - ppUAView: *mut *mut ID3D11UnorderedAccessView, - ) -> HRESULT, - fn CreateRenderTargetView( - pResource: *mut ID3D11Resource, - pDesc: *const D3D11_RENDER_TARGET_VIEW_DESC, - ppRTView: *mut *mut ID3D11RenderTargetView, - ) -> HRESULT, - fn CreateDepthStencilView( - pResource: *mut ID3D11Resource, - pDesc: *const D3D11_DEPTH_STENCIL_VIEW_DESC, - ppDepthStencilView: *mut *mut ID3D11DepthStencilView, - ) -> HRESULT, - fn CreateInputLayout( - pInputElementDescs: *const D3D11_INPUT_ELEMENT_DESC, - NumElements: UINT, - pShaderBytecodeWithInputSignature: *const c_void, - BytecodeLength: SIZE_T, - ppInputLayout: *mut *mut ID3D11InputLayout, - ) -> HRESULT, - fn CreateVertexShader( - pShaderBytecode: *const c_void, - BytecodeLength: SIZE_T, - pClassLinkage: *mut ID3D11ClassLinkage, - ppVertexShader: *mut *mut ID3D11VertexShader, - ) -> HRESULT, - fn CreateGeometryShader( - pShaderBytecode: *const c_void, - BytecodeLength: SIZE_T, - pClassLinkage: *mut ID3D11ClassLinkage, - ppGeometryShader: *mut *mut ID3D11GeometryShader, - ) -> HRESULT, - fn CreateGeometryShaderWithStreamOutput( - pShaderBytecode: *const c_void, - BytecodeLength: SIZE_T, - pSODeclaration: *const D3D11_SO_DECLARATION_ENTRY, - NumEntries: UINT, - pBufferStrides: *const UINT, - NumStrides: UINT, - RasterizedStream: UINT, - pClassLinkage: *mut ID3D11ClassLinkage, - ppGeometryShader: *mut *mut ID3D11GeometryShader, - ) -> HRESULT, - fn CreatePixelShader( - pShaderBytecode: *const c_void, - BytecodeLength: SIZE_T, - pClassLinkage: *mut ID3D11ClassLinkage, - ppPixelShader: *mut *mut ID3D11PixelShader, - ) -> HRESULT, - fn CreateHullShader( - pShaderBytecode: *const c_void, - BytecodeLength: SIZE_T, - pClassLinkage: *mut ID3D11ClassLinkage, - ppHullShader: *mut *mut ID3D11HullShader, - ) -> HRESULT, - fn CreateDomainShader( - pShaderBytecode: *const c_void, - BytecodeLength: SIZE_T, - pClassLinkage: *mut ID3D11ClassLinkage, - ppDomainShader: *mut *mut ID3D11DomainShader, - ) -> HRESULT, - fn CreateComputeShader( - pShaderBytecode: *const c_void, - BytecodeLength: SIZE_T, - pClassLinkage: *mut ID3D11ClassLinkage, - ppComputeShader: *mut *mut ID3D11ComputeShader, - ) -> HRESULT, - fn CreateClassLinkage( - ppLinkage: *mut *mut ID3D11ClassLinkage, - ) -> HRESULT, - fn CreateBlendState( - pBlendStateDesc: *const D3D11_BLEND_DESC, - ppBlendState: *mut *mut ID3D11BlendState, - ) -> HRESULT, - fn CreateDepthStencilState( - pDepthStencilDesc: *const D3D11_DEPTH_STENCIL_DESC, - ppDepthStencilState: *mut *mut ID3D11DepthStencilState, - ) -> HRESULT, - fn CreateRasterizerState( - pRasterizerDesc: *const D3D11_RASTERIZER_DESC, - ppRasterizerState: *mut *mut ID3D11RasterizerState, - ) -> HRESULT, - fn CreateSamplerState( - pSamplerDesc: *const D3D11_SAMPLER_DESC, - ppSamplerState: *mut *mut ID3D11SamplerState, - ) -> HRESULT, - fn CreateQuery( - pQueryDesc: *const D3D11_QUERY_DESC, - ppQuery: *mut *mut ID3D11Query, - ) -> HRESULT, - fn CreatePredicate( - pPredicateDesc: *const D3D11_QUERY_DESC, - ppPredicate: *mut *mut ID3D11Predicate, - ) -> HRESULT, - fn CreateCounter( - pCounterDesc: *const D3D11_COUNTER_DESC, - ppCounter: *mut *mut ID3D11Counter, - ) -> HRESULT, - fn CreateDeferredContext( - ContextFlags: UINT, - ppDeferredContext: *mut *mut ID3D11DeviceContext, - ) -> HRESULT, - fn OpenSharedResource( - hResource: HANDLE, - ReturnedInterface: REFIID, - ppResource: *mut *mut c_void, - ) -> HRESULT, - fn CheckFormatSupport( - Format: DXGI_FORMAT, - pFormatSupport: *mut UINT, - ) -> HRESULT, - fn CheckMultisampleQualityLevels( - Format: DXGI_FORMAT, - SampleCount: UINT, - pNumQualityLevels: *mut UINT, - ) -> HRESULT, - fn CheckCounterInfo( - pCounterInfo: *mut D3D11_COUNTER_INFO, - ) -> (), - fn CheckCounter( - pDesc: *const D3D11_COUNTER_DESC, - pType: *mut D3D11_COUNTER_TYPE, - pActiveCounters: *mut UINT, - szName: LPSTR, - pNameLength: *mut UINT, - szUnits: LPSTR, - pUnitsLength: *mut UINT, - szDescription: LPSTR, - pDescriptionLength: *mut UINT, - ) -> HRESULT, - fn CheckFeatureSupport( - Feature: D3D11_FEATURE, - pFeatureSupportData: *mut c_void, - FeatureSupportDataSize: UINT, - ) -> HRESULT, - fn GetPrivateData( - guid: REFGUID, - pDataSize: *mut UINT, - pData: *mut c_void, - ) -> HRESULT, - fn SetPrivateData( - guid: REFGUID, - DataSize: UINT, - pData: *const c_void, - ) -> HRESULT, - fn SetPrivateDataInterface( - guid: REFGUID, - pData: *const IUnknown, - ) -> HRESULT, - fn GetFeatureLevel() -> D3D_FEATURE_LEVEL, - fn GetCreationFlags() -> UINT, - fn GetDeviceRemovedReason() -> HRESULT, - fn GetImmediateContext( - ppImmediateContext: *mut *mut ID3D11DeviceContext, - ) -> (), - fn SetExceptionMode( - RaiseFlags: UINT, - ) -> HRESULT, - fn GetExceptionMode() -> UINT, -}} -ENUM!{enum D3D11_CREATE_DEVICE_FLAG { - D3D11_CREATE_DEVICE_SINGLETHREADED = 0x1, - D3D11_CREATE_DEVICE_DEBUG = 0x2, - D3D11_CREATE_DEVICE_SWITCH_TO_REF = 0x4, - D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8, - D3D11_CREATE_DEVICE_BGRA_SUPPORT = 0x20, - D3D11_CREATE_DEVICE_DEBUGGABLE = 0x40, - D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 0x80, - D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT = 0x100, - D3D11_CREATE_DEVICE_VIDEO_SUPPORT = 0x800, -}} -pub const D3D11_SDK_VERSION: DWORD = 7; -#[inline] -pub fn D3D11CalcSubresource(MipSlice: UINT, ArraySlice: UINT, MipLevels: UINT) -> UINT { - MipSlice + ArraySlice * MipLevels -} -extern "system" { - pub fn D3D11CreateDevice( - pAdapter: *mut IDXGIAdapter, - DriverType: D3D_DRIVER_TYPE, - Software: HMODULE, - Flags: UINT, - pFeatureLevels: *const D3D_FEATURE_LEVEL, - FeatureLevels: UINT, - SDKVersion: UINT, - ppDevice: *mut *mut ID3D11Device, - pFeatureLevel: *mut D3D_FEATURE_LEVEL, - ppImmediateContext: *mut *mut ID3D11DeviceContext, - ) -> HRESULT; - pub fn D3D11CreateDeviceAndSwapChain( - pAdapter: *mut IDXGIAdapter, - DriverType: D3D_DRIVER_TYPE, - Software: HMODULE, - Flags: UINT, - pFeatureLevels: *const D3D_FEATURE_LEVEL, - FeatureLevels: UINT, - SDKVersion: UINT, - pSwapChainDesc: *const DXGI_SWAP_CHAIN_DESC, - ppSwapChain: *mut *mut IDXGISwapChain, - ppDevice: *mut *mut ID3D11Device, - pFeatureLevel: *mut D3D_FEATURE_LEVEL, - ppImmediateContext: *mut *mut ID3D11DeviceContext, - ) -> HRESULT; -} -DEFINE_GUID!{IID_ID3D11DeviceChild, - 0x1841e5c8, 0x16b0, 0x489b, 0xbc, 0xc8, 0x44, 0xcf, 0xb0, 0xd5, 0xde, 0xae} -DEFINE_GUID!{IID_ID3D11DepthStencilState, - 0x03823efb, 0x8d8f, 0x4e1c, 0x9a, 0xa2, 0xf6, 0x4b, 0xb2, 0xcb, 0xfd, 0xf1} -DEFINE_GUID!{IID_ID3D11BlendState, - 0x75b68faa, 0x347d, 0x4159, 0x8f, 0x45, 0xa0, 0x64, 0x0f, 0x01, 0xcd, 0x9a} -DEFINE_GUID!{IID_ID3D11RasterizerState, - 0x9bb4ab81, 0xab1a, 0x4d8f, 0xb5, 0x06, 0xfc, 0x04, 0x20, 0x0b, 0x6e, 0xe7} -DEFINE_GUID!{IID_ID3D11Resource, - 0xdc8e63f3, 0xd12b, 0x4952, 0xb4, 0x7b, 0x5e, 0x45, 0x02, 0x6a, 0x86, 0x2d} -DEFINE_GUID!{IID_ID3D11Buffer, - 0x48570b85, 0xd1ee, 0x4fcd, 0xa2, 0x50, 0xeb, 0x35, 0x07, 0x22, 0xb0, 0x37} -DEFINE_GUID!{IID_ID3D11Texture1D, - 0xf8fb5c27, 0xc6b3, 0x4f75, 0xa4, 0xc8, 0x43, 0x9a, 0xf2, 0xef, 0x56, 0x4c} -DEFINE_GUID!{IID_ID3D11Texture2D, - 0x6f15aaf2, 0xd208, 0x4e89, 0x9a, 0xb4, 0x48, 0x95, 0x35, 0xd3, 0x4f, 0x9c} -DEFINE_GUID!{IID_ID3D11Texture3D, - 0x037e866e, 0xf56d, 0x4357, 0xa8, 0xaf, 0x9d, 0xab, 0xbe, 0x6e, 0x25, 0x0e} -DEFINE_GUID!{IID_ID3D11View, - 0x839d1216, 0xbb2e, 0x412b, 0xb7, 0xf4, 0xa9, 0xdb, 0xeb, 0xe0, 0x8e, 0xd1} -DEFINE_GUID!{IID_ID3D11ShaderResourceView, - 0xb0e06fe0, 0x8192, 0x4e1a, 0xb1, 0xca, 0x36, 0xd7, 0x41, 0x47, 0x10, 0xb2} -DEFINE_GUID!{IID_ID3D11RenderTargetView, - 0xdfdba067, 0x0b8d, 0x4865, 0x87, 0x5b, 0xd7, 0xb4, 0x51, 0x6c, 0xc1, 0x64} -DEFINE_GUID!{IID_ID3D11DepthStencilView, - 0x9fdac92a, 0x1876, 0x48c3, 0xaf, 0xad, 0x25, 0xb9, 0x4f, 0x84, 0xa9, 0xb6} -DEFINE_GUID!{IID_ID3D11UnorderedAccessView, - 0x28acf509, 0x7f5c, 0x48f6, 0x86, 0x11, 0xf3, 0x16, 0x01, 0x0a, 0x63, 0x80} -DEFINE_GUID!{IID_ID3D11VertexShader, - 0x3b301d64, 0xd678, 0x4289, 0x88, 0x97, 0x22, 0xf8, 0x92, 0x8b, 0x72, 0xf3} -DEFINE_GUID!{IID_ID3D11HullShader, - 0x8e5c6061, 0x628a, 0x4c8e, 0x82, 0x64, 0xbb, 0xe4, 0x5c, 0xb3, 0xd5, 0xdd} -DEFINE_GUID!{IID_ID3D11DomainShader, - 0xf582c508, 0x0f36, 0x490c, 0x99, 0x77, 0x31, 0xee, 0xce, 0x26, 0x8c, 0xfa} -DEFINE_GUID!{IID_ID3D11GeometryShader, - 0x38325b96, 0xeffb, 0x4022, 0xba, 0x02, 0x2e, 0x79, 0x5b, 0x70, 0x27, 0x5c} -DEFINE_GUID!{IID_ID3D11PixelShader, - 0xea82e40d, 0x51dc, 0x4f33, 0x93, 0xd4, 0xdb, 0x7c, 0x91, 0x25, 0xae, 0x8c} -DEFINE_GUID!{IID_ID3D11ComputeShader, - 0x4f5b196e, 0xc2bd, 0x495e, 0xbd, 0x01, 0x1f, 0xde, 0xd3, 0x8e, 0x49, 0x69} -DEFINE_GUID!{IID_ID3D11InputLayout, - 0xe4819ddc, 0x4cf0, 0x4025, 0xbd, 0x26, 0x5d, 0xe8, 0x2a, 0x3e, 0x07, 0xb7} -DEFINE_GUID!{IID_ID3D11SamplerState, - 0xda6fea51, 0x564c, 0x4487, 0x98, 0x10, 0xf0, 0xd0, 0xf9, 0xb4, 0xe3, 0xa5} -DEFINE_GUID!{IID_ID3D11Asynchronous, - 0x4b35d0cd, 0x1e15, 0x4258, 0x9c, 0x98, 0x1b, 0x13, 0x33, 0xf6, 0xdd, 0x3b} -DEFINE_GUID!{IID_ID3D11Query, - 0xd6c00747, 0x87b7, 0x425e, 0xb8, 0x4d, 0x44, 0xd1, 0x08, 0x56, 0x0a, 0xfd} -DEFINE_GUID!{IID_ID3D11Predicate, - 0x9eb576dd, 0x9f77, 0x4d86, 0x81, 0xaa, 0x8b, 0xab, 0x5f, 0xe4, 0x90, 0xe2} -DEFINE_GUID!{IID_ID3D11Counter, - 0x6e8c49fb, 0xa371, 0x4770, 0xb4, 0x40, 0x29, 0x08, 0x60, 0x22, 0xb7, 0x41} -DEFINE_GUID!{IID_ID3D11ClassInstance, - 0xa6cd7faa, 0xb0b7, 0x4a2f, 0x94, 0x36, 0x86, 0x62, 0xa6, 0x57, 0x97, 0xcb} -DEFINE_GUID!{IID_ID3D11ClassLinkage, - 0xddf57cba, 0x9543, 0x46e4, 0xa1, 0x2b, 0xf2, 0x07, 0xa0, 0xfe, 0x7f, 0xed} -DEFINE_GUID!{IID_ID3D11CommandList, - 0xa24bc4d1, 0x769e, 0x43f7, 0x80, 0x13, 0x98, 0xff, 0x56, 0x6c, 0x18, 0xe2} -DEFINE_GUID!{IID_ID3D11DeviceContext, - 0xc0bfa96c, 0xe089, 0x44fb, 0x8e, 0xaf, 0x26, 0xf8, 0x79, 0x61, 0x90, 0xda} -DEFINE_GUID!{IID_ID3D11VideoDecoder, - 0x3c9c5b51, 0x995d, 0x48d1, 0x9b, 0x8d, 0xfa, 0x5c, 0xae, 0xde, 0xd6, 0x5c} -DEFINE_GUID!{IID_ID3D11VideoProcessorEnumerator, - 0x31627037, 0x53ab, 0x4200, 0x90, 0x61, 0x05, 0xfa, 0xa9, 0xab, 0x45, 0xf9} -DEFINE_GUID!{IID_ID3D11VideoProcessor, - 0x1d7b0652, 0x185f, 0x41c6, 0x85, 0xce, 0x0c, 0x5b, 0xe3, 0xd4, 0xae, 0x6c} -DEFINE_GUID!{IID_ID3D11AuthenticatedChannel, - 0x3015a308, 0xdcbd, 0x47aa, 0xa7, 0x47, 0x19, 0x24, 0x86, 0xd1, 0x4d, 0x4a} -DEFINE_GUID!{IID_ID3D11CryptoSession, - 0x9b32f9ad, 0xbdcc, 0x40a6, 0xa3, 0x9d, 0xd5, 0xc8, 0x65, 0x84, 0x57, 0x20} -DEFINE_GUID!{IID_ID3D11VideoDecoderOutputView, - 0xc2931aea, 0x2a85, 0x4f20, 0x86, 0x0f, 0xfb, 0xa1, 0xfd, 0x25, 0x6e, 0x18} -DEFINE_GUID!{IID_ID3D11VideoProcessorInputView, - 0x11ec5a5f, 0x51dc, 0x4945, 0xab, 0x34, 0x6e, 0x8c, 0x21, 0x30, 0x0e, 0xa5} -DEFINE_GUID!{IID_ID3D11VideoProcessorOutputView, - 0xa048285e, 0x25a9, 0x4527, 0xbd, 0x93, 0xd6, 0x8b, 0x68, 0xc4, 0x42, 0x54} -DEFINE_GUID!{IID_ID3D11VideoContext, - 0x61f21c45, 0x3c0e, 0x4a74, 0x9c, 0xea, 0x67, 0x10, 0x0d, 0x9a, 0xd5, 0xe4} -DEFINE_GUID!{IID_ID3D11VideoDevice, - 0x10ec4d5b, 0x975a, 0x4689, 0xb9, 0xe4, 0xd0, 0xaa, 0xc3, 0x0f, 0xe3, 0x33} -DEFINE_GUID!{IID_ID3D11Device, - 0xdb6f6ddb, 0xac77, 0x4e88, 0x82, 0x53, 0x81, 0x9d, 0xf9, 0xbb, 0xf1, 0x40} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3d11_1.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3d11_1.rs deleted file mode 100644 index 7b0b46ec2..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3d11_1.rs +++ /dev/null @@ -1,484 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_void; -use shared::basetsd::{UINT64, UINT8}; -use shared::dxgiformat::DXGI_FORMAT; -use shared::dxgitype::{DXGI_COLOR_SPACE_TYPE, DXGI_RATIONAL}; -use shared::guiddef::{GUID, REFIID}; -use shared::minwindef::{BOOL, BYTE, DWORD, FLOAT, INT, UINT}; -use um::d3d11::{ - D3D11_BLEND, D3D11_BLEND_OP, D3D11_BOX, D3D11_CULL_MODE, D3D11_FILL_MODE, D3D11_RECT, - D3D11_VIDEO_DECODER_BUFFER_TYPE, D3D11_VIDEO_DECODER_CONFIG, D3D11_VIDEO_DECODER_DESC, - ID3D11BlendState, ID3D11BlendStateVtbl, ID3D11Buffer, ID3D11CryptoSession, ID3D11Device, - ID3D11DeviceChild, ID3D11DeviceChildVtbl, ID3D11DeviceContext, ID3D11DeviceContextVtbl, - ID3D11DeviceVtbl, ID3D11RasterizerState, ID3D11RasterizerStateVtbl, ID3D11Resource, - ID3D11VideoContext, ID3D11VideoContextVtbl, ID3D11VideoDecoder, ID3D11VideoDevice, - ID3D11VideoDeviceVtbl, ID3D11VideoProcessor, ID3D11VideoProcessorEnumerator, - ID3D11VideoProcessorEnumeratorVtbl, ID3D11View -}; -use um::d3dcommon::D3D_FEATURE_LEVEL; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HANDLE, HRESULT, LPCWSTR}; -DEFINE_GUID!{IID_ID3D11BlendState1, - 0xcc86fabe, 0xda55, 0x401d, 0x85, 0xe7, 0xe3, 0xc9, 0xde, 0x28, 0x77, 0xe9} -DEFINE_GUID!{IID_ID3D11RasterizerState1, - 0x1217d7a6, 0x5039, 0x418c, 0xb0, 0x42, 0x9c, 0xbe, 0x25, 0x6a, 0xfd, 0x6e} -DEFINE_GUID!{IID_ID3DDeviceContextState, - 0x5c1e0d8a, 0x7c23, 0x48f9, 0x8c, 0x59, 0xa9, 0x29, 0x58, 0xce, 0xff, 0x11} -DEFINE_GUID!{IID_ID3D11DeviceContext1, - 0xbb2c6faa, 0xb5fb, 0x4082, 0x8e, 0x6b, 0x38, 0x8b, 0x8c, 0xfa, 0x90, 0xe1} -DEFINE_GUID!{IID_ID3D11VideoContext1, - 0xa7f026da, 0xa5f8, 0x4487, 0xa5, 0x64, 0x15, 0xe3, 0x43, 0x57, 0x65, 0x1e} -DEFINE_GUID!{IID_ID3D11VideoDevice1, - 0x29da1d51, 0x1321, 0x4454, 0x80, 0x4b, 0xf5, 0xfc, 0x9f, 0x86, 0x1f, 0x0f} -DEFINE_GUID!{IID_ID3D11VideoProcessorEnumerator1, - 0x465217f2, 0x5568, 0x43cf, 0xb5, 0xb9, 0xf6, 0x1d, 0x54, 0x53, 0x1c, 0xa1} -DEFINE_GUID!{IID_ID3D11Device1, - 0xa04bfb29, 0x08ef, 0x43d6, 0xa4, 0x9c, 0xa9, 0xbd, 0xbd, 0xcb, 0xe6, 0x86} -DEFINE_GUID!{IID_ID3DUserDefinedAnnotation, - 0xb2daad8b, 0x03d4, 0x4dbf, 0x95, 0xeb, 0x32, 0xab, 0x4b, 0x63, 0xd0, 0xab} -ENUM!{enum D3D11_COPY_FLAGS { - D3D11_COPY_NO_OVERWRITE = 0x00000001, - D3D11_COPY_DISCARD = 0x00000002, -}} -ENUM!{enum D3D11_LOGIC_OP { - D3D11_LOGIC_OP_CLEAR = 0, - D3D11_LOGIC_OP_SET = 1, - D3D11_LOGIC_OP_COPY = 2, - D3D11_LOGIC_OP_COPY_INVERTED = 3, - D3D11_LOGIC_OP_NOOP = 4, - D3D11_LOGIC_OP_INVERT = 5, - D3D11_LOGIC_OP_AND = 6, - D3D11_LOGIC_OP_NAND = 7, - D3D11_LOGIC_OP_OR = 8, - D3D11_LOGIC_OP_NOR = 9, - D3D11_LOGIC_OP_XOR = 10, - D3D11_LOGIC_OP_EQUIV = 11, - D3D11_LOGIC_OP_AND_REVERSE = 12, - D3D11_LOGIC_OP_AND_INVERTED = 13, - D3D11_LOGIC_OP_OR_REVERSE = 14, - D3D11_LOGIC_OP_OR_INVERTED = 15, -}} -STRUCT!{struct D3D11_RENDER_TARGET_BLEND_DESC1 { - BlendEnable: BOOL, - LogicOpEnable: BOOL, - SrcBlend: D3D11_BLEND, - DestBlend: D3D11_BLEND, - BlendOp: D3D11_BLEND_OP, - SrcBlendAlpha: D3D11_BLEND, - DestBlendAlpha: D3D11_BLEND, - BlendOpAlpha: D3D11_BLEND_OP, - LogicOp: D3D11_LOGIC_OP, - RenderTargetWriteMask: UINT8, -}} -STRUCT!{struct D3D11_BLEND_DESC1 { - AlphaToCoverageEnable: BOOL, - IndependentBlendEnable: BOOL, - RenderTarget: [D3D11_RENDER_TARGET_BLEND_DESC1; 8], -}} -RIDL!{#[uuid(0xcc86fabe, 0xda55, 0x401d, 0x85, 0xe7, 0xe3, 0xc9, 0xde, 0x28, 0x77, 0xe9)] -interface ID3D11BlendState1(ID3D11BlendState1Vtbl): ID3D11BlendState(ID3D11BlendStateVtbl) { - fn GetDesc1( - pDesc: *mut D3D11_BLEND_DESC1, - ) -> (), -}} -STRUCT!{struct D3D11_RASTERIZER_DESC1 { - FillMode: D3D11_FILL_MODE, - CullMode: D3D11_CULL_MODE, - FrontCounterClockwise: BOOL, - DepthBias: INT, - DepthBiasClamp: FLOAT, - SlopeScaledDepthBias: FLOAT, - DepthClipEnable: BOOL, - ScissorEnable: BOOL, - MultisampleEnable: BOOL, - AntialiasedLineEnable: BOOL, - ForcedSampleCount: UINT, -}} -RIDL!{#[uuid(0x1217d7a6, 0x5039, 0x418c, 0xb0, 0x42, 0x9c, 0xbe, 0x25, 0x6a, 0xfd, 0x6e)] -interface ID3D11RasterizerState1(ID3D11RasterizerState1Vtbl): - ID3D11RasterizerState(ID3D11RasterizerStateVtbl) { - fn GetDesc1( - pDesc: *mut D3D11_RASTERIZER_DESC1, - ) -> (), -}} -ENUM!{enum D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG { - D3D11_1_CREATE_DEVICE_CONTEXT_STATE_SINGLETHREADED = 0x1, -}} -RIDL!{#[uuid(0x5c1e0d8a, 0x7c23, 0x48f9, 0x8c, 0x59, 0xa9, 0x29, 0x58, 0xce, 0xff, 0x11)] -interface ID3DDeviceContextState(ID3DDeviceContextStateVtbl): - ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} -RIDL!{#[uuid(0xbb2c6faa, 0xb5fb, 0x4082, 0x8e, 0x6b, 0x38, 0x8b, 0x8c, 0xfa, 0x90, 0xe1)] -interface ID3D11DeviceContext1(ID3D11DeviceContext1Vtbl): - ID3D11DeviceContext(ID3D11DeviceContextVtbl) { - fn CopySubresourceRegion1( - pDstResource: *mut ID3D11Resource, - DstSubresource: UINT, - DstX: UINT, - DstY: UINT, - DstZ: UINT, - pSrcResource: *mut ID3D11Resource, - SrcSubresource: UINT, - pSrcBox: *const D3D11_BOX, - CopyFlags: UINT, - ) -> (), - fn UpdateSubresource1( - pDstResource: *mut ID3D11Resource, - DstSubresource: UINT, - pDstBox: *const D3D11_BOX, - pSrcData: *mut c_void, - SrcRowPitch: UINT, - SrcDepthPitch: UINT, - CopyFlags: UINT, - ) -> (), - fn DiscardResource( - pResource: *mut ID3D11Resource, - ) -> (), - fn DiscardView( - pResource: *mut ID3D11Resource, - ) -> (), - fn VSSetConstantBuffers1( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *const *mut ID3D11Buffer, - pFirstConstant: *const UINT, - pNumConstants: *const UINT, - ) -> (), - fn HSSetConstantBuffers1( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *const *mut ID3D11Buffer, - pFirstConstant: *const UINT, - pNumConstants: *const UINT, - ) -> (), - fn DSSetConstantBuffers1( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *const *mut ID3D11Buffer, - pFirstConstant: *const UINT, - pNumConstants: *const UINT, - ) -> (), - fn GSSetConstantBuffers1( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *const *mut ID3D11Buffer, - pFirstConstant: *const UINT, - pNumConstants: *const UINT, - ) -> (), - fn PSSetConstantBuffers1( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *const *mut ID3D11Buffer, - pFirstConstant: *const UINT, - pNumConstants: *const UINT, - ) -> (), - fn CSSetConstantBuffers1( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *const *mut ID3D11Buffer, - pFirstConstant: *const UINT, - pNumConstants: *const UINT, - ) -> (), - fn VSGetConstantBuffers1( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *mut *mut ID3D11Buffer, - pFirstConstant: *mut UINT, - pNumConstants: *mut UINT, - ) -> (), - fn HSGetConstantBuffers1( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *mut *mut ID3D11Buffer, - pFirstConstant: *mut UINT, - pNumConstants: *mut UINT, - ) -> (), - fn DSGetConstantBuffers1( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *mut *mut ID3D11Buffer, - pFirstConstant: *mut UINT, - pNumConstants: *mut UINT, - ) -> (), - fn GSGetConstantBuffers1( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *mut *mut ID3D11Buffer, - pFirstConstant: *mut UINT, - pNumConstants: *mut UINT, - ) -> (), - fn PSGetConstantBuffers1( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *mut *mut ID3D11Buffer, - pFirstConstant: *mut UINT, - pNumConstants: *mut UINT, - ) -> (), - fn CSGetConstantBuffers1( - StartSlot: UINT, - NumBuffers: UINT, - ppConstantBuffers: *mut *mut ID3D11Buffer, - pFirstConstant: *mut UINT, - pNumConstants: *mut UINT, - ) -> (), - fn SwapDeviceContextState( - pState: *mut ID3DDeviceContextState, - ppPreviousState: *mut *mut ID3DDeviceContextState, - ) -> (), - fn ClearView( - pView: *mut ID3D11View, - Color: [FLOAT; 4], - pRect: *const D3D11_RECT, - NumRects: UINT, - ) -> (), - fn DiscardView1( - pResourceView: *mut ID3D11View, - pRects: *const D3D11_RECT, - NumRects: UINT, - ) -> (), -}} -STRUCT!{struct D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK { - ClearSize: UINT, - EncryptedSize: UINT, -}} -STRUCT!{struct D3D11_VIDEO_DECODER_BUFFER_DESC1 { - BufferType: D3D11_VIDEO_DECODER_BUFFER_TYPE, - DataOffset: UINT, - DataSize: UINT, - pIV: *mut c_void, - IVSize: UINT, - pSubSampleMappingBlock: *mut D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK, - SubSampleMappingCount: UINT, -}} -STRUCT!{struct D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION { - pCryptoSession: *mut ID3D11CryptoSession, - BlobSize: UINT, - pBlob: *mut c_void, - pKeyInfoId: *mut GUID, - PrivateDataSize: UINT, - pPrivateData: *mut c_void, -}} -ENUM!{enum D3D11_VIDEO_DECODER_CAPS { - D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE = 0x1, - D3D11_VIDEO_DECODER_CAPS_NON_REAL_TIME = 0x02, - D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE_DYNAMIC = 0x04, - D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE_REQUIRED = 0x08, - D3D11_VIDEO_DECODER_CAPS_UNSUPPORTED = 0x10, -}} -ENUM!{enum D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINTS { - D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_ROTATION = 0x01, - D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_RESIZE = 0x02, - D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_COLOR_SPACE_CONVERSION = 0x04, - D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_TRIPLE_BUFFER_OUTPUT = 0x08, -}} -STRUCT!{struct D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT { - Enable: BOOL, - Width: UINT, - Height: UINT, - Format: DXGI_FORMAT, -}} -ENUM!{enum D3D11_CRYPTO_SESSION_STATUS { - D3D11_CRYPTO_SESSION_STATUS_OK = 0, - D3D11_CRYPTO_SESSION_STATUS_KEY_LOST = 1, - D3D11_CRYPTO_SESSION_STATUS_KEY_AND_CONTENT_LOST = 2, -}} -STRUCT!{struct D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA { - PrivateDataSize: UINT, - HWProtectionDataSize: UINT, - pbInput: [BYTE; 4], -}} -STRUCT!{struct D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA { - PrivateDataSize: UINT, - MaxHWProtectionDataSize: UINT, - HWProtectionDataSize: UINT, - TransportTime: UINT64, - ExecutionTime: UINT64, - pbOutput: [BYTE; 4], -}} -STRUCT!{struct D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA { - HWProtectionFunctionID: UINT, - pInputData: *mut D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA, - pOutputData: *mut D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA, - Status: HRESULT, -}} -STRUCT!{struct D3D11_VIDEO_SAMPLE_DESC { - Width: UINT, - Height: UINT, - Format: DXGI_FORMAT, - ColorSpace: DXGI_COLOR_SPACE_TYPE, -}} -RIDL!{#[uuid(0xa7f026da, 0xa5f8, 0x4487, 0xa5, 0x64, 0x15, 0xe3, 0x43, 0x57, 0x65, 0x1e)] -interface ID3D11VideoContext1(ID3D11VideoContext1Vtbl): - ID3D11VideoContext(ID3D11VideoContextVtbl) { - fn SubmitDecoderBuffers1( - pDecoder: *mut ID3D11VideoDecoder, - NumBuffers: UINT, - pBufferDesc: *const D3D11_VIDEO_DECODER_BUFFER_DESC1, - ) -> HRESULT, - fn GetDataForNewHardwareKey( - pCryptoSession: *mut ID3D11CryptoSession, - PrivateInputSize: UINT, - pPrivateInputData: *const c_void, - pPrivateOutputData: *mut UINT64, - ) -> HRESULT, - fn CheckCryptoSessionStatus( - pCryptoSession: *mut ID3D11CryptoSession, - pStatus: *mut D3D11_CRYPTO_SESSION_STATUS, - ) -> HRESULT, - fn DecoderEnableDownsampling( - pDecoder: *mut ID3D11VideoDecoder, - InputColorSpace: DXGI_COLOR_SPACE_TYPE, - pOutputDesc: *const D3D11_VIDEO_SAMPLE_DESC, - ReferenceFrameCount: UINT, - ) -> HRESULT, - fn DecoderUpdateDownsampling( - pDecoder: *mut ID3D11VideoDecoder, - pOutputDesc: *const D3D11_VIDEO_SAMPLE_DESC, - ) -> HRESULT, - fn VideoProcessorSetOutputColorSpace1( - pVideoProcessor: *mut ID3D11VideoProcessor, - ColorSpace: DXGI_COLOR_SPACE_TYPE, - ) -> (), - fn VideoProcessorSetOutputShaderUsage( - pVideoProcessor: *mut ID3D11VideoProcessor, - ShaderUsage: BOOL, - ) -> (), - fn VideoProcessorGetOutputColorSpace1( - pVideoProcessor: *mut ID3D11VideoProcessor, - pColorSpace: *mut DXGI_COLOR_SPACE_TYPE, - ) -> (), - fn VideoProcessorGetOutputShaderUsage( - pVideoProcessor: *mut ID3D11VideoProcessor, - pShaderUsage: *mut BOOL, - ) -> (), - fn VideoProcessorSetStreamColorSpace1( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - ColorSpace: DXGI_COLOR_SPACE_TYPE, - ) -> (), - fn VideoProcessorSetStreamMirror( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - Enable: BOOL, - FlipHorizontal: BOOL, - FlipVertical: BOOL, - ) -> (), - fn VideoProcessorGetStreamColorSpace1( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - pColorSpace: *mut DXGI_COLOR_SPACE_TYPE, - ) -> (), - fn VideoProcessorGetStreamMirror( - pVideoProcessor: *mut ID3D11VideoProcessor, - StreamIndex: UINT, - pEnable: *mut BOOL, - pFlipHorizontal: *mut BOOL, - pFlipVertical: *mut BOOL, - ) -> (), - fn VideoProcessorGetBehaviorHints( - pVideoProcessor: *mut ID3D11VideoProcessor, - OutputWidth: UINT, - OutputHeight: UINT, - OutputFormat: DXGI_FORMAT, - StreamCount: UINT, - pStreams: *const D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT, - pBehaviorHints: *mut UINT, - ) -> (), -}} -RIDL!{#[uuid(0x29da1d51, 0x1321, 0x4454, 0x80, 0x4b, 0xf5, 0xfc, 0x9f, 0x86, 0x1f, 0x0f)] -interface ID3D11VideoDevice1(ID3D11VideoDevice1Vtbl): ID3D11VideoDevice(ID3D11VideoDeviceVtbl) { - fn GetCryptoSessionPrivateDataSize( - pCryptoType: *const GUID, - pDecoderProfile: *const GUID, - pKeyExchangeType: *const GUID, - pPrivateInputSize: *mut UINT, - pPrivateOutputSize: *mut UINT, - ) -> HRESULT, - fn GetVideoDecoderCaps( - pDecoderProfile: *const GUID, - SampleWidth: UINT, - SampleHeight: UINT, - pFrameRate: *const DXGI_RATIONAL, - BitRate: UINT, - pCryptoType: *const GUID, - pDecoderCaps: *mut UINT, - ) -> HRESULT, - fn CheckVideoDecoderDownsampling( - pInputDesc: *const D3D11_VIDEO_DECODER_DESC, - InputColorSpace: DXGI_COLOR_SPACE_TYPE, - pInputConfig: *const D3D11_VIDEO_DECODER_CONFIG, - pFrameRate: *const DXGI_RATIONAL, - pOutputDesc: *const D3D11_VIDEO_SAMPLE_DESC, - pSupported: *mut BOOL, - pRealTimeHint: *mut BOOL, - ) -> HRESULT, - fn RecommendVideoDecoderDownsampleParameters( - pInputDesc: *const D3D11_VIDEO_DECODER_DESC, - InputColorSpace: DXGI_COLOR_SPACE_TYPE, - pInputConfig: *const D3D11_VIDEO_DECODER_CONFIG, - pRecommendedOutputDesc: *mut D3D11_VIDEO_SAMPLE_DESC, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x465217f2, 0x5568, 0x43cf, 0xb5, 0xb9, 0xf6, 0x1d, 0x54, 0x53, 0x1c, 0xa1)] -interface ID3D11VideoProcessorEnumerator1(ID3D11VideoProcessorEnumerator1Vtbl): - ID3D11VideoProcessorEnumerator(ID3D11VideoProcessorEnumeratorVtbl) { - fn CheckVideoProcessorFormatConversion( - InputFormat: DXGI_FORMAT, - InputCOlorSpace: DXGI_COLOR_SPACE_TYPE, - OutputFormat: DXGI_FORMAT, - OutputColorSpace: DXGI_COLOR_SPACE_TYPE, - pSupported: *mut BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa04bfb29, 0x08ef, 0x43d6, 0xa4, 0x9c, 0xa9, 0xbd, 0xbd, 0xcb, 0xe6, 0x86)] -interface ID3D11Device1(ID3D11Device1Vtbl): ID3D11Device(ID3D11DeviceVtbl) { - fn GetImmediateContext1( - ppImmediateContext: *mut *mut ID3D11DeviceContext1, - ) -> (), - fn CreateDeferredContext1( - ContextFlags: UINT, - ppDeferredContext: *mut *mut ID3D11DeviceContext1, - ) -> HRESULT, - fn CreateBlendState( - pBlendStateDesc: *const D3D11_BLEND_DESC1, - ppBlendState: *mut *mut ID3D11BlendState1, - ) -> HRESULT, - fn CreateRasterizerState( - pRasterizerDesc: *const D3D11_RASTERIZER_DESC1, - ppRasterizerState: *mut *mut ID3D11RasterizerState1, - ) -> HRESULT, - fn CreateDeviceContextState( - Flags: UINT, - pFeatureLevels: *const D3D_FEATURE_LEVEL, - FeatureLevels: UINT, - SDKVersion: UINT, - EmulatedInterface: REFIID, - pChosenFeatureLevel: *mut D3D_FEATURE_LEVEL, - ppContextState: *mut *mut ID3DDeviceContextState, - ) -> HRESULT, - fn OpenSharedResource1( - hResource: HANDLE, - returnedInterface: REFIID, - ppResource: *mut *mut c_void, - ) -> HRESULT, - fn OpenSharedResourceByName( - Name: LPCWSTR, - dwDesiredAccess: DWORD, - returnedInterface: REFIID, - ppResource: *mut *mut c_void, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xb2daad8b, 0x03d4, 0x4dbf, 0x95, 0xeb, 0x32, 0xab, 0x4b, 0x63, 0xd0, 0xab)] -interface ID3DUserDefinedAnnotation(ID3DUserDefinedAnnotationVtbl): IUnknown(IUnknownVtbl) { - fn BeginEvent( - Name: LPCWSTR, - ) -> INT, - fn EndEvent() -> INT, - fn SetMarker( - Name: LPCWSTR, - ) -> (), - fn GetStatus() -> BOOL, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3d11_2.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3d11_2.rs deleted file mode 100644 index 28b655a05..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3d11_2.rs +++ /dev/null @@ -1,146 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_void; -use shared::basetsd::{UINT16, UINT64, UINT8}; -use shared::dxgiformat::DXGI_FORMAT; -use shared::minwindef::{BOOL, INT, UINT}; -use um::d3d11::{ID3D11Buffer, ID3D11DeviceChild, ID3D11Resource}; -use um::d3d11_1::{ - ID3D11Device1, ID3D11Device1Vtbl, ID3D11DeviceContext1, ID3D11DeviceContext1Vtbl, -}; -use um::winnt::{HRESULT, LPCWSTR}; -DEFINE_GUID!{IID_ID3D11DeviceContext2, - 0x420d5b32, 0xb90c, 0x4da4, 0xbe, 0xf0, 0x35, 0x9f, 0x6a, 0x24, 0xa8, 0x3a} -DEFINE_GUID!{IID_ID3D11Device2, - 0x9d06dffa, 0xd1e5, 0x4d07, 0x83, 0xa8, 0x1b, 0xb1, 0x23, 0xf2, 0xf8, 0x41} -STRUCT!{struct D3D11_TILED_RESOURCE_COORDINATE { - X: UINT, - Y: UINT, - Z: UINT, - Subresource: UINT, -}} -STRUCT!{struct D3D11_TILE_REGION_SIZE { - NumTiles: UINT, - bUseBox: BOOL, - Width: UINT, - Height: UINT16, - Depth: UINT16, -}} -ENUM!{enum D3D11_TILE_MAPPING_FLAG { - D3D11_TILE_MAPPING_NO_OVERWRITE = 0x00000001, -}} -ENUM!{enum D3D11_TILE_RANGE_FLAG { - D3D11_TILE_RANGE_NULL = 0x00000001, - D3D11_TILE_RANGE_SKIP = 0x00000002, - D3D11_TILE_RANGE_REUSE_SINGLE_TILE = 0x00000004, -}} -STRUCT!{struct D3D11_SUBRESOURCE_TILING { - WidthInTiles: UINT, - HeightInTiles: UINT16, - DepthInTiles: UINT16, - StartTileIndexInOverallResource: UINT, -}} -STRUCT!{struct D3D11_TILE_SHAPE { - WidthInTexels: UINT, - HeightInTexels: UINT, - DepthInTexels: UINT, -}} -STRUCT!{struct D3D11_PACKED_MIP_DESC { - NumStandardMips: UINT8, - NumPackedMips: UINT8, - NumTilesForPackedMips: UINT, - StartTileIndexInOverallResource: UINT, -}} -ENUM!{enum D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG { - D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_TILED_RESOURCE = 0x00000001, -}} -ENUM!{enum D3D11_TILE_COPY_FLAG { - D3D11_TILE_COPY_NO_OVERWRITE = 0x00000001, - D3D11_TILE_COPY_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 0x00000002, - D3D11_TILE_COPY_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 0x00000004, -}} -RIDL!{#[uuid(0x420d5b32, 0xb90c, 0x4da4, 0xbe, 0xf0, 0x35, 0x9f, 0x6a, 0x24, 0xa8, 0x3a)] -interface ID3D11DeviceContext2(ID3D11DeviceContext2Vtbl): - ID3D11DeviceContext1(ID3D11DeviceContext1Vtbl) { - fn UpdateTileMappings( - pTiledResource: *mut ID3D11Resource, - NumTiledResourceRegions: UINT, - pTiledResourceRegionStartCoordinates: *const D3D11_TILED_RESOURCE_COORDINATE, - pTiledResourceRegionSizes: *const D3D11_TILE_REGION_SIZE, - pTilePool: *mut ID3D11Buffer, - NumRanges: UINT, - pRangeFlags: *const UINT, - pTilePoolStartOffsets: *const UINT, - pRangeTileCounts: *const UINT, - Flags: UINT, - ) -> HRESULT, - fn CopyTileMappings( - pDestTiledResource: *mut ID3D11Resource, - pDestRegionStartCoordinate: *const D3D11_TILED_RESOURCE_COORDINATE, - pSourceTiledResource: *mut ID3D11Resource, - pSourceRegionStartCoordinate: *const D3D11_TILED_RESOURCE_COORDINATE, - pTileRegionSize: *const D3D11_TILE_REGION_SIZE, - Flags: UINT, - ) -> HRESULT, - fn CopyTiles( - pTiledResource: *mut ID3D11Resource, - pTileRegionStartCoordinate: *const D3D11_TILED_RESOURCE_COORDINATE, - pTileRegionSize: *const D3D11_TILE_REGION_SIZE, - pBuffer: *mut ID3D11Buffer, - BufferStartOffsetInBytes: UINT64, - Flags: UINT, - ) -> (), - fn UpdateTiles( - pDestTiledResource: *mut ID3D11Resource, - pDestTileRegionStartCoordinate: *const D3D11_TILED_RESOURCE_COORDINATE, - pDestTileRegionSize: *const D3D11_TILE_REGION_SIZE, - pSourceTileData: *const c_void, - Flags: UINT, - ) -> (), - fn ResizeTilePool( - pTilePool: *mut ID3D11Buffer, - NewSizeInBytes: UINT64, - ) -> HRESULT, - fn TiledResourceBarrier( - pTiledResourceOrViewAccessBeforeBarrier: *mut ID3D11DeviceChild, - pTiledResourceOrViewAccessAfterBarrier: *mut ID3D11DeviceChild, - ) -> (), - fn IsAnnotationEnabled() -> BOOL, - fn SetMarkerInt( - pLabel: LPCWSTR, - Data: INT, - ) -> (), - fn BeginEventInt( - pLabel: LPCWSTR, - Data: INT, - ) -> (), - fn EndEvent() -> (), -}} -RIDL!{#[uuid(0x9d06dffa, 0xd1e5, 0x4d07, 0x83, 0xa8, 0x1b, 0xb1, 0x23, 0xf2, 0xf8, 0x41)] -interface ID3D11Device2(ID3D11Device2Vtbl): ID3D11Device1(ID3D11Device1Vtbl) { - fn GetImmediateContext2( - ppImmediateContext: *mut *mut ID3D11DeviceContext2, - ) -> (), - fn CreateDeferredContext2( - ContextFlags: UINT, - ppDeferredContext: *mut *mut ID3D11DeviceContext2, - ) -> HRESULT, - fn GetResourceTiling( - pTiledResource: *mut ID3D11Resource, - pNumTilesForEntireResource: *mut UINT, - pPackedMipDesc: *mut D3D11_PACKED_MIP_DESC, - pStandardTileShapeForNonPackedMips: *mut D3D11_TILE_SHAPE, - pNumSubresourceTilings: *mut UINT, - FirstSubresourceTilingToGet: UINT, - pSubresourceTilingsForNonPackedMips: *mut D3D11_SUBRESOURCE_TILING, - ) -> (), - fn CheckMultisampleQualityLevels1( - Format: DXGI_FORMAT, - SampleCount: UINT, - Flags: UINT, - pNumQualityLevels: *mut UINT, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3d11_3.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3d11_3.rs deleted file mode 100644 index 5ae721380..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3d11_3.rs +++ /dev/null @@ -1,23 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{IID_ID3D11Texture2D1, - 0x51218251, 0x1e33, 0x4617, 0x9c, 0xcb, 0x4d, 0x3a, 0x43, 0x67, 0xe7, 0xbb} -DEFINE_GUID!{IID_ID3D11Texture3D1, - 0x0c711683, 0x2853, 0x4846, 0x9b, 0xb0, 0xf3, 0xe6, 0x06, 0x39, 0xe4, 0x6a} -DEFINE_GUID!{IID_ID3D11RasterizerState2, - 0x6fbd02fb, 0x209f, 0x46c4, 0xb0, 0x59, 0x2e, 0xd1, 0x55, 0x86, 0xa6, 0xac} -DEFINE_GUID!{IID_ID3D11ShaderResourceView1, - 0x91308b87, 0x9040, 0x411d, 0x8c, 0x67, 0xc3, 0x92, 0x53, 0xce, 0x38, 0x02} -DEFINE_GUID!{IID_ID3D11RenderTargetView1, - 0xffbe2e23, 0xf011, 0x418a, 0xac, 0x56, 0x5c, 0xee, 0xd7, 0xc5, 0xb9, 0x4b} -DEFINE_GUID!{IID_ID3D11UnorderedAccessView1, - 0x7b3b6153, 0xa886, 0x4544, 0xab, 0x37, 0x65, 0x37, 0xc8, 0x50, 0x04, 0x03} -DEFINE_GUID!{IID_ID3D11Query1, - 0x631b4766, 0x36dc, 0x461d, 0x8d, 0xb6, 0xc4, 0x7e, 0x13, 0xe6, 0x09, 0x16} -DEFINE_GUID!{IID_ID3D11DeviceContext3, - 0xb4e3c01d, 0xe79e, 0x4637, 0x91, 0xb2, 0x51, 0x0e, 0x9f, 0x4c, 0x9b, 0x8f} -DEFINE_GUID!{IID_ID3D11Device3, - 0xa05c8c37, 0xd2c6, 0x4732, 0xb3, 0xa0, 0x9c, 0xe0, 0xb0, 0xdc, 0x9a, 0xe6} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3d11_4.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3d11_4.rs deleted file mode 100644 index 5d0da98b5..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3d11_4.rs +++ /dev/null @@ -1,7 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{IID_ID3D11Device4, - 0x8992ab71, 0x02e6, 0x4b8d, 0xba, 0x48, 0xb0, 0x56, 0xdc, 0xda, 0x42, 0xc4} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3d11on12.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3d11on12.rs deleted file mode 100644 index bf106a38b..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3d11on12.rs +++ /dev/null @@ -1,67 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the content of d3d11on12.h -use ctypes::c_void; -use shared::guiddef::IID; -use shared::minwindef::UINT; -use um::d3d11::{ID3D11Device, ID3D11DeviceContext, ID3D11Resource}; -use um::d3d12::D3D12_RESOURCE_STATES; -use um::d3dcommon::D3D_FEATURE_LEVEL; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::HRESULT; -FN!{stdcall PFN_D3D11ON12_CREATE_DEVICE( - *mut IUnknown, - UINT, - *const D3D_FEATURE_LEVEL, - UINT, - *mut *mut IUnknown, - UINT, - UINT, - *mut *mut ID3D11Device, - *mut *mut ID3D11DeviceContext, - *mut D3D_FEATURE_LEVEL, -) -> HRESULT} -extern "system" { - pub fn D3D11On12CreateDevice( - pDevice: *mut IUnknown, - Flags: UINT, - pFeatureLevels: *const D3D_FEATURE_LEVEL, - FeatureLevels: UINT, - ppCommandQueues: *mut *mut IUnknown, - NumQueues: UINT, - NodeMask: UINT, - ppDevice: *mut *mut ID3D11Device, - ppImmediateContext: *mut *mut ID3D11DeviceContext, - pChosenFeatureLevel: *mut D3D_FEATURE_LEVEL, - ) -> HRESULT; -} -STRUCT!{struct D3D11_RESOURCE_FLAGS { - BindFlags: UINT, - MiscFlags: UINT, - CPUAccessFlags: UINT, - StructureByteStride: UINT, -}} -RIDL!{#[uuid(0x85611e73, 0x70a9, 0x490e, 0x96, 0x14, 0xa9, 0xe3, 0x02, 0x77, 0x79, 0x04)] -interface ID3D11On12Device(ID3D11On12DeviceVtbl): IUnknown(IUnknownVtbl) { - fn CreateWrappedResource( - pResource12: *mut IUnknown, - pFlags11: *const D3D11_RESOURCE_FLAGS, - InState: D3D12_RESOURCE_STATES, - OutState: D3D12_RESOURCE_STATES, - riid: *const IID, - ppResource11: *mut *mut c_void, - ) -> HRESULT, - fn ReleaseWrappedResources( - ppResources: *mut *mut ID3D11Resource, - NumResources: UINT, - ) -> (), - fn AcquireWrappedResources( - ppResources: *mut *mut ID3D11Resource, - NumResources: UINT, - ) -> (), -}} -DEFINE_GUID!{IID_ID3D11On12Device, - 0x85611e73, 0x70a9, 0x490e, 0x96, 0x14, 0xa9, 0xe3, 0x02, 0x77, 0x79, 0x04} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3d11sdklayers.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3d11sdklayers.rs deleted file mode 100644 index e70b6686e..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3d11sdklayers.rs +++ /dev/null @@ -1,2679 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_char; -use shared::basetsd::{SIZE_T, UINT64}; -use shared::dxgi::IDXGISwapChain; -use shared::minwindef::{BOOL, UINT}; -use um::d3d11::ID3D11DeviceContext; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LPCSTR}; -pub const D3D11_SDK_LAYERS_VERSION: UINT = 0x1; -pub const D3D11_DEBUG_FEATURE_FLUSH_PER_RENDER_OP: UINT = 0x1; -pub const D3D11_DEBUG_FEATURE_FINISH_PER_RENDER_OP: UINT = 0x2; -pub const D3D11_DEBUG_FEATURE_PRESENT_PER_RENDER_OP: UINT = 0x4; -pub const D3D11_DEBUG_FEATURE_ALWAYS_DISCARD_OFFERED_RESOURCE: UINT = 0x8; -pub const D3D11_DEBUG_FEATURE_NEVER_DISCARD_OFFERED_RESOURCE: UINT = 0x10; -pub const D3D11_DEBUG_FEATURE_AVOID_BEHAVIOR_CHANGING_DEBUG_AIDS: UINT = 0x40; -pub const D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION: UINT = 0x80; -ENUM!{enum D3D11_RLDO_FLAGS { - D3D11_RLDO_SUMMARY = 0x1, - D3D11_RLDO_DETAIL = 0x2, - D3D11_RLDO_IGNORE_INTERNAL = 0x4, -}} -RIDL!{#[uuid(0x79cf2233, 0x7536, 0x4948, 0x9d, 0x36, 0x1e, 0x46, 0x92, 0xdc, 0x57, 0x60)] -interface ID3D11Debug(ID3D11DebugVtbl): IUnknown(IUnknownVtbl) { - fn SetFeatureMask( - Mask: UINT, - ) -> HRESULT, - fn GetFeatureMask() -> UINT, - fn SetPresentPerRenderOpDelay( - Milliseconds: UINT, - ) -> HRESULT, - fn GetPresentPerRenderOpDelay() -> UINT, - fn SetSwapChain( - pSwapChain: *mut IDXGISwapChain, - ) -> HRESULT, - fn GetSwapChain( - ppSwapChain: *mut *mut IDXGISwapChain, - ) -> HRESULT, - fn ValidateContext( - pContext: *const ID3D11DeviceContext, - ) -> HRESULT, - fn ReportLiveDeviceObjects( - Flags: D3D11_RLDO_FLAGS, - ) -> HRESULT, - fn ValidateContextForDispatch( - pContext: *mut ID3D11DeviceContext, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x1ef337e3, 0x58e7, 0x4f83, 0xa6, 0x92, 0xdb, 0x22, 0x1f, 0x5e, 0xd4, 0x7e)] -interface ID3D11SwitchToRef(ID3D11SwitchToRefVtbl): IUnknown(IUnknownVtbl) { - fn SetUseRef( - UseRef: BOOL, - ) -> BOOL, - fn GetUseRef() -> BOOL, -}} -ENUM!{enum D3D11_SHADER_TRACKING_RESOURCE_TYPE { - D3D11_SHADER_TRACKING_RESOURCE_TYPE_NONE = 0, - D3D11_SHADER_TRACKING_RESOURCE_TYPE_UAV_DEVICEMEMORY = 1, - D3D11_SHADER_TRACKING_RESOURCE_TYPE_NON_UAV_DEVICEMEMORY = 2, - D3D11_SHADER_TRACKING_RESOURCE_TYPE_ALL_DEVICEMEMORY = 3, - D3D11_SHADER_TRACKING_RESOURCE_TYPE_GROUPSHARED_MEMORY = 4, - D3D11_SHADER_TRACKING_RESOURCE_TYPE_ALL_SHARED_MEMORY = 5, - D3D11_SHADER_TRACKING_RESOURCE_TYPE_GROUPSHARED_NON_UAV = 6, - D3D11_SHADER_TRACKING_RESOURCE_TYPE_ALL = 7, -}} -ENUM!{enum D3D11_SHADER_TRACKING_OPTION { - D3D11_SHADER_TRACKING_OPTION_IGNORE = 0, - D3D11_SHADER_TRACKING_OPTION_TRACK_UNINITIALIZED = 0x1, - D3D11_SHADER_TRACKING_OPTION_TRACK_RAW = 0x2, - D3D11_SHADER_TRACKING_OPTION_TRACK_WAR = 0x4, - D3D11_SHADER_TRACKING_OPTION_TRACK_WAW = 0x8, - D3D11_SHADER_TRACKING_OPTION_ALLOW_SAME = 0x10, - D3D11_SHADER_TRACKING_OPTION_TRACK_ATOMIC_CONSISTENCY = 0x20, - D3D11_SHADER_TRACKING_OPTION_TRACK_RAW_ACROSS_THREADGROUPS = 0x40, - D3D11_SHADER_TRACKING_OPTION_TRACK_WAR_ACROSS_THREADGROUPS = 0x80, - D3D11_SHADER_TRACKING_OPTION_TRACK_WAW_ACROSS_THREADGROUPS = 0x100, - D3D11_SHADER_TRACKING_OPTION_TRACK_ATOMIC_CONSISTENCY_ACROSS_THREADGROUPS = 0x200, - D3D11_SHADER_TRACKING_OPTION_UAV_SPECIFIC_FLAGS - = D3D11_SHADER_TRACKING_OPTION_TRACK_RAW_ACROSS_THREADGROUPS - | D3D11_SHADER_TRACKING_OPTION_TRACK_WAR_ACROSS_THREADGROUPS - | D3D11_SHADER_TRACKING_OPTION_TRACK_WAW_ACROSS_THREADGROUPS - | D3D11_SHADER_TRACKING_OPTION_TRACK_ATOMIC_CONSISTENCY_ACROSS_THREADGROUPS, - D3D11_SHADER_TRACKING_OPTION_ALL_HAZARDS = D3D11_SHADER_TRACKING_OPTION_TRACK_RAW - | D3D11_SHADER_TRACKING_OPTION_TRACK_WAR | D3D11_SHADER_TRACKING_OPTION_TRACK_WAW - | D3D11_SHADER_TRACKING_OPTION_TRACK_ATOMIC_CONSISTENCY - | D3D11_SHADER_TRACKING_OPTION_TRACK_RAW_ACROSS_THREADGROUPS - | D3D11_SHADER_TRACKING_OPTION_TRACK_WAR_ACROSS_THREADGROUPS - | D3D11_SHADER_TRACKING_OPTION_TRACK_WAW_ACROSS_THREADGROUPS - | D3D11_SHADER_TRACKING_OPTION_TRACK_ATOMIC_CONSISTENCY_ACROSS_THREADGROUPS, - D3D11_SHADER_TRACKING_OPTION_ALL_HAZARDS_ALLOWING_SAME - = D3D11_SHADER_TRACKING_OPTION_ALL_HAZARDS | D3D11_SHADER_TRACKING_OPTION_ALLOW_SAME, - D3D11_SHADER_TRACKING_OPTION_ALL_OPTIONS - = D3D11_SHADER_TRACKING_OPTION_ALL_HAZARDS_ALLOWING_SAME - | D3D11_SHADER_TRACKING_OPTION_TRACK_UNINITIALIZED, -}} -RIDL!{#[uuid(0x1911c771, 0x1587, 0x413e, 0xa7, 0xe0, 0xfb, 0x26, 0xc3, 0xde, 0x02, 0x68)] -interface ID3D11TracingDevice(ID3D11TracingDeviceVtbl): IUnknown(IUnknownVtbl) { - fn SetShaderTrackingOptionsByType( - ResourceTypeFlags: UINT, - Options: UINT, - ) -> HRESULT, - fn SetShaderTrackingOptions( - pShader: *const IUnknown, - Options: UINT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x193dacdf, 0x0db2, 0x4c05, 0xa5, 0x5c, 0xef, 0x06, 0xca, 0xc5, 0x6f, 0xd9)] -interface ID3D11RefTrackingOptions(ID3D11RefTrackingOptionsVtbl): IUnknown(IUnknownVtbl) { - fn SetTrackingOptions( - Options: UINT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x03916615, 0xc644, 0x418c, 0x9b, 0xf4, 0x75, 0xdb, 0x5b, 0xe6, 0x3c, 0xa0)] -interface ID3D11RefDefaultTrackingOptions(ID3D11RefDefaultTrackingOptionsVtbl): - IUnknown(IUnknownVtbl) { - fn SetTrackingOptions( - ResourceTypeFlags: UINT, - Options: UINT, - ) -> HRESULT, -}} -DEFINE_GUID!{DXGI_DEBUG_D3D11, - 0x4b99317b, 0xac39, 0x4aa6, 0xbb, 0x0b, 0xba, 0xa0, 0x47, 0x84, 0x79, 0x8f} -pub const D3D11_REGKEY_PATH: &'static str = "Software\\Microsoft\\Direct3D"; -pub const D3D11_MUTE_DEBUG_OUTPUT: &'static str = "MuteDebugOutput"; -pub const D3D11_ENABLE_BREAK_ON_MESSAGE: &'static str = "EnableBreakOnMessage"; -pub const D3D11_INFOQUEUE_STORAGE_FILTER_OVERRIDE: &'static str = "InfoQueueStorageFilterOverride"; -pub const D3D11_MUTE_CATEGORY: &'static str = "Mute_CATEGORY_%s"; -pub const D3D11_MUTE_SEVERITY: &'static str = "Mute_SEVERITY_%s"; -pub const D3D11_MUTE_ID_STRING: &'static str = "Mute_ID_%s"; -pub const D3D11_MUTE_ID_DECIMAL: &'static str = "Mute_ID_%d"; -pub const D3D11_UNMUTE_SEVERITY_INFO: &'static str = "Unmute_SEVERITY_INFO"; -pub const D3D11_BREAKON_CATEGORY: &'static str = "BreakOn_CATEGORY_%s"; -pub const D3D11_BREAKON_SEVERITY: &'static str = "BreakOn_SEVERITY_%s"; -pub const D3D11_BREAKON_ID_STRING: &'static str = "BreakOn_ID_%s"; -pub const D3D11_BREAKON_ID_DECIMAL: &'static str = "BreakOn_ID_%d"; -pub const D3D11_APPSIZE_STRING: &'static str = "Size"; -pub const D3D11_APPNAME_STRING: &'static str = "Name"; -pub const D3D11_FORCE_DEBUGGABLE: &'static str = "ForceDebuggable"; -pub const D3D11_FORCE_SHADER_SKIP_OPTIMIZATION: &'static str = "ForceShaderSkipOptimization"; -ENUM!{enum D3D11_MESSAGE_CATEGORY { - D3D11_MESSAGE_CATEGORY_APPLICATION_DEFINED = 0, - D3D11_MESSAGE_CATEGORY_MISCELLANEOUS = D3D11_MESSAGE_CATEGORY_APPLICATION_DEFINED + 1, - D3D11_MESSAGE_CATEGORY_INITIALIZATION = D3D11_MESSAGE_CATEGORY_MISCELLANEOUS + 1, - D3D11_MESSAGE_CATEGORY_CLEANUP = D3D11_MESSAGE_CATEGORY_INITIALIZATION + 1, - D3D11_MESSAGE_CATEGORY_COMPILATION = D3D11_MESSAGE_CATEGORY_CLEANUP + 1, - D3D11_MESSAGE_CATEGORY_STATE_CREATION = D3D11_MESSAGE_CATEGORY_COMPILATION + 1, - D3D11_MESSAGE_CATEGORY_STATE_SETTING = D3D11_MESSAGE_CATEGORY_STATE_CREATION + 1, - D3D11_MESSAGE_CATEGORY_STATE_GETTING = D3D11_MESSAGE_CATEGORY_STATE_SETTING + 1, - D3D11_MESSAGE_CATEGORY_RESOURCE_MANIPULATION = D3D11_MESSAGE_CATEGORY_STATE_GETTING + 1, - D3D11_MESSAGE_CATEGORY_EXECUTION = D3D11_MESSAGE_CATEGORY_RESOURCE_MANIPULATION + 1, - D3D11_MESSAGE_CATEGORY_SHADER = D3D11_MESSAGE_CATEGORY_EXECUTION + 1, -}} -ENUM!{enum D3D11_MESSAGE_SEVERITY { - D3D11_MESSAGE_SEVERITY_CORRUPTION = 0, - D3D11_MESSAGE_SEVERITY_ERROR = D3D11_MESSAGE_SEVERITY_CORRUPTION + 1, - D3D11_MESSAGE_SEVERITY_WARNING = D3D11_MESSAGE_SEVERITY_ERROR + 1, - D3D11_MESSAGE_SEVERITY_INFO = D3D11_MESSAGE_SEVERITY_WARNING + 1, - D3D11_MESSAGE_SEVERITY_MESSAGE = D3D11_MESSAGE_SEVERITY_INFO + 1, -}} -ENUM!{enum D3D11_MESSAGE_ID { - D3D11_MESSAGE_ID_UNKNOWN = 0, - D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_HAZARD = D3D11_MESSAGE_ID_UNKNOWN + 1, - D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_HAZARD - = D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_HAZARD + 1, - D3D11_MESSAGE_ID_DEVICE_VSSETSHADERRESOURCES_HAZARD - = D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_HAZARD + 1, - D3D11_MESSAGE_ID_DEVICE_VSSETCONSTANTBUFFERS_HAZARD - = D3D11_MESSAGE_ID_DEVICE_VSSETSHADERRESOURCES_HAZARD + 1, - D3D11_MESSAGE_ID_DEVICE_GSSETSHADERRESOURCES_HAZARD - = D3D11_MESSAGE_ID_DEVICE_VSSETCONSTANTBUFFERS_HAZARD + 1, - D3D11_MESSAGE_ID_DEVICE_GSSETCONSTANTBUFFERS_HAZARD - = D3D11_MESSAGE_ID_DEVICE_GSSETSHADERRESOURCES_HAZARD + 1, - D3D11_MESSAGE_ID_DEVICE_PSSETSHADERRESOURCES_HAZARD - = D3D11_MESSAGE_ID_DEVICE_GSSETCONSTANTBUFFERS_HAZARD + 1, - D3D11_MESSAGE_ID_DEVICE_PSSETCONSTANTBUFFERS_HAZARD - = D3D11_MESSAGE_ID_DEVICE_PSSETSHADERRESOURCES_HAZARD + 1, - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETS_HAZARD - = D3D11_MESSAGE_ID_DEVICE_PSSETCONSTANTBUFFERS_HAZARD + 1, - D3D11_MESSAGE_ID_DEVICE_SOSETTARGETS_HAZARD - = D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETS_HAZARD + 1, - D3D11_MESSAGE_ID_STRING_FROM_APPLICATION = D3D11_MESSAGE_ID_DEVICE_SOSETTARGETS_HAZARD + 1, - D3D11_MESSAGE_ID_CORRUPTED_THIS = D3D11_MESSAGE_ID_STRING_FROM_APPLICATION + 1, - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER1 = D3D11_MESSAGE_ID_CORRUPTED_THIS + 1, - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER2 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER1 + 1, - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER3 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER2 + 1, - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER4 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER3 + 1, - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER5 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER4 + 1, - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER6 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER5 + 1, - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER7 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER6 + 1, - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER8 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER7 + 1, - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER9 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER8 + 1, - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER10 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER9 + 1, - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER11 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER10 + 1, - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER12 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER11 + 1, - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER13 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER12 + 1, - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER14 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER13 + 1, - D3D11_MESSAGE_ID_CORRUPTED_PARAMETER15 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER14 + 1, - D3D11_MESSAGE_ID_CORRUPTED_MULTITHREADING = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER15 + 1, - D3D11_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY - = D3D11_MESSAGE_ID_CORRUPTED_MULTITHREADING + 1, - D3D11_MESSAGE_ID_IASETINPUTLAYOUT_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY + 1, - D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_IASETINPUTLAYOUT_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_IASETINDEXBUFFER_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_VSSETSHADER_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_IASETINDEXBUFFER_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_VSSETSHADERRESOURCES_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_VSSETSHADER_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_VSSETSHADERRESOURCES_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_VSSETSAMPLERS_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_GSSETSHADER_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_VSSETSAMPLERS_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_GSSETSHADERRESOURCES_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_GSSETSHADER_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_GSSETSHADERRESOURCES_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_GSSETSAMPLERS_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_SOSETTARGETS_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_GSSETSAMPLERS_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_PSSETSHADER_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_SOSETTARGETS_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_PSSETSHADERRESOURCES_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_PSSETSHADER_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_PSSETSHADERRESOURCES_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_PSSETSAMPLERS_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_RSSETSTATE_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_PSSETSAMPLERS_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_OMSETBLENDSTATE_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_RSSETSTATE_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_OMSETDEPTHSTENCILSTATE_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_OMSETBLENDSTATE_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_OMSETRENDERTARGETS_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_OMSETDEPTHSTENCILSTATE_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_SETPREDICATION_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_OMSETRENDERTARGETS_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_GETPRIVATEDATA_MOREDATA - = D3D11_MESSAGE_ID_SETPREDICATION_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA = D3D11_MESSAGE_ID_GETPRIVATEDATA_MOREDATA + 1, - D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDIUNKNOWN - = D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA + 1, - D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDFLAGS - = D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDIUNKNOWN + 1, - D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS - = D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDFLAGS + 1, - D3D11_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY - = D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS + 1, - D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDFORMAT - = D3D11_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY + 1, - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDSAMPLES - = D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDFORMAT + 1, - D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDUSAGE - = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDSAMPLES + 1, - D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDBINDFLAGS - = D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDUSAGE + 1, - D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDCPUACCESSFLAGS - = D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDBINDFLAGS + 1, - D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDMISCFLAGS - = D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDCPUACCESSFLAGS + 1, - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDCPUACCESSFLAGS - = D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDMISCFLAGS + 1, - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDBINDFLAGS - = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDCPUACCESSFLAGS + 1, - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDINITIALDATA - = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDBINDFLAGS + 1, - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDDIMENSIONS - = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDINITIALDATA + 1, - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDMIPLEVELS - = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDDIMENSIONS + 1, - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDMISCFLAGS - = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDMIPLEVELS + 1, - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDARG_RETURN - = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDMISCFLAGS + 1, - D3D11_MESSAGE_ID_CREATEBUFFER_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDARG_RETURN + 1, - D3D11_MESSAGE_ID_CREATEBUFFER_NULLDESC = D3D11_MESSAGE_ID_CREATEBUFFER_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDCONSTANTBUFFERBINDINGS - = D3D11_MESSAGE_ID_CREATEBUFFER_NULLDESC + 1, - D3D11_MESSAGE_ID_CREATEBUFFER_LARGEALLOCATION - = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDCONSTANTBUFFERBINDINGS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDFORMAT - = D3D11_MESSAGE_ID_CREATEBUFFER_LARGEALLOCATION + 1, - D3D11_MESSAGE_ID_CREATETEXTURE1D_UNSUPPORTEDFORMAT - = D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDFORMAT + 1, - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDSAMPLES - = D3D11_MESSAGE_ID_CREATETEXTURE1D_UNSUPPORTEDFORMAT + 1, - D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDUSAGE - = D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDSAMPLES + 1, - D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDBINDFLAGS - = D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDUSAGE + 1, - D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDCPUACCESSFLAGS - = D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDBINDFLAGS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDMISCFLAGS - = D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDCPUACCESSFLAGS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDCPUACCESSFLAGS - = D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDMISCFLAGS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDBINDFLAGS - = D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDCPUACCESSFLAGS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDINITIALDATA - = D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDBINDFLAGS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDDIMENSIONS - = D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDINITIALDATA + 1, - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDMIPLEVELS - = D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDDIMENSIONS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDMISCFLAGS - = D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDMIPLEVELS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDARG_RETURN - = D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDMISCFLAGS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE1D_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDARG_RETURN + 1, - D3D11_MESSAGE_ID_CREATETEXTURE1D_NULLDESC - = D3D11_MESSAGE_ID_CREATETEXTURE1D_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_CREATETEXTURE1D_LARGEALLOCATION - = D3D11_MESSAGE_ID_CREATETEXTURE1D_NULLDESC + 1, - D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDFORMAT - = D3D11_MESSAGE_ID_CREATETEXTURE1D_LARGEALLOCATION + 1, - D3D11_MESSAGE_ID_CREATETEXTURE2D_UNSUPPORTEDFORMAT - = D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDFORMAT + 1, - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDSAMPLES - = D3D11_MESSAGE_ID_CREATETEXTURE2D_UNSUPPORTEDFORMAT + 1, - D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDUSAGE - = D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDSAMPLES + 1, - D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDBINDFLAGS - = D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDUSAGE + 1, - D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDCPUACCESSFLAGS - = D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDBINDFLAGS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDMISCFLAGS - = D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDCPUACCESSFLAGS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDCPUACCESSFLAGS - = D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDMISCFLAGS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDBINDFLAGS - = D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDCPUACCESSFLAGS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDINITIALDATA - = D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDBINDFLAGS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDDIMENSIONS - = D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDINITIALDATA + 1, - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDMIPLEVELS - = D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDDIMENSIONS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDMISCFLAGS - = D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDMIPLEVELS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDARG_RETURN - = D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDMISCFLAGS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE2D_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDARG_RETURN + 1, - D3D11_MESSAGE_ID_CREATETEXTURE2D_NULLDESC - = D3D11_MESSAGE_ID_CREATETEXTURE2D_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_CREATETEXTURE2D_LARGEALLOCATION - = D3D11_MESSAGE_ID_CREATETEXTURE2D_NULLDESC + 1, - D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDFORMAT - = D3D11_MESSAGE_ID_CREATETEXTURE2D_LARGEALLOCATION + 1, - D3D11_MESSAGE_ID_CREATETEXTURE3D_UNSUPPORTEDFORMAT - = D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDFORMAT + 1, - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDSAMPLES - = D3D11_MESSAGE_ID_CREATETEXTURE3D_UNSUPPORTEDFORMAT + 1, - D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDUSAGE - = D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDSAMPLES + 1, - D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDBINDFLAGS - = D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDUSAGE + 1, - D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDCPUACCESSFLAGS - = D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDBINDFLAGS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDMISCFLAGS - = D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDCPUACCESSFLAGS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDCPUACCESSFLAGS - = D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDMISCFLAGS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDBINDFLAGS - = D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDCPUACCESSFLAGS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDINITIALDATA - = D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDBINDFLAGS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDDIMENSIONS - = D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDINITIALDATA + 1, - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDMIPLEVELS - = D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDDIMENSIONS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDMISCFLAGS - = D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDMIPLEVELS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDARG_RETURN - = D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDMISCFLAGS + 1, - D3D11_MESSAGE_ID_CREATETEXTURE3D_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDARG_RETURN + 1, - D3D11_MESSAGE_ID_CREATETEXTURE3D_NULLDESC - = D3D11_MESSAGE_ID_CREATETEXTURE3D_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_CREATETEXTURE3D_LARGEALLOCATION - = D3D11_MESSAGE_ID_CREATETEXTURE3D_NULLDESC + 1, - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT - = D3D11_MESSAGE_ID_CREATETEXTURE3D_LARGEALLOCATION + 1, - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC - = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT + 1, - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT - = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC + 1, - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS - = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT + 1, - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE - = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS + 1, - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_TOOMANYOBJECTS - = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE + 1, - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDARG_RETURN - = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_TOOMANYOBJECTS + 1, - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDARG_RETURN + 1, - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT - = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT - = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT + 1, - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC - = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT + 1, - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT - = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC + 1, - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS - = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT + 1, - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE - = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS + 1, - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_TOOMANYOBJECTS - = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE + 1, - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDARG_RETURN - = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_TOOMANYOBJECTS + 1, - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDARG_RETURN + 1, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT - = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT + 1, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC + 1, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT + 1, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS + 1, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_TOOMANYOBJECTS - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE + 1, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDARG_RETURN - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_TOOMANYOBJECTS + 1, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDARG_RETURN + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_NULLDESC - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT + 1, - D3D11_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_NULLDESC + 1, - D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE - = D3D11_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY + 1, - D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE - = D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY - = D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDDECL - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_EXPECTEDDECL - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDDECL + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_EXPECTEDDECL + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION = - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT - + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX + 1, - D3D11_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE + 1, - D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE - = D3D11_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY + 1, - D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE - = D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE + 1, - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE - = D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE + 1, - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE - = D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE + 1, - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP - = D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE + 1, - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS - = D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP + 1, - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_TOOMANYOBJECTS - = D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS + 1, - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_NULLDESC - = D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_TOOMANYOBJECTS + 1, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK - = D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_NULLDESC + 1, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK + 1, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC + 1, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP + 1, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP + 1, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP + 1, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC + 1, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP + 1, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP + 1, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP + 1, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_TOOMANYOBJECTS - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC + 1, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_NULLDESC - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_TOOMANYOBJECTS + 1, - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_NULLDESC + 1, - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND - = D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND + 1, - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP - = D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND + 1, - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA - = D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP + 1, - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA - = D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA + 1, - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA - = D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA + 1, - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK - = D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA + 1, - D3D11_MESSAGE_ID_CREATEBLENDSTATE_TOOMANYOBJECTS - = D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK + 1, - D3D11_MESSAGE_ID_CREATEBLENDSTATE_NULLDESC - = D3D11_MESSAGE_ID_CREATEBLENDSTATE_TOOMANYOBJECTS + 1, - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDFILTER - = D3D11_MESSAGE_ID_CREATEBLENDSTATE_NULLDESC + 1, - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSU - = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDFILTER + 1, - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSV - = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSU + 1, - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSW - = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSV + 1, - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMIPLODBIAS - = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSW + 1, - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXANISOTROPY - = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMIPLODBIAS + 1, - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDCOMPARISONFUNC - = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXANISOTROPY + 1, - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMINLOD - = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDCOMPARISONFUNC + 1, - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXLOD - = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMINLOD + 1, - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_TOOMANYOBJECTS - = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXLOD + 1, - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NULLDESC - = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_TOOMANYOBJECTS + 1, - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDQUERY - = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NULLDESC + 1, - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDMISCFLAGS - = D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDQUERY + 1, - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_UNEXPECTEDMISCFLAG - = D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDMISCFLAGS + 1, - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_NULLDESC - = D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_UNEXPECTEDMISCFLAG + 1, - D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNRECOGNIZED - = D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_NULLDESC + 1, - D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNDEFINED - = D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNRECOGNIZED + 1, - D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_INVALIDBUFFER - = D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNDEFINED + 1, - D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_OFFSET_TOO_LARGE - = D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_INVALIDBUFFER + 1, - D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_BUFFERS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_OFFSET_TOO_LARGE + 1, - D3D11_MESSAGE_ID_IASETINDEXBUFFER_INVALIDBUFFER - = D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_BUFFERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_FORMAT_INVALID - = D3D11_MESSAGE_ID_IASETINDEXBUFFER_INVALIDBUFFER + 1, - D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_OFFSET_TOO_LARGE - = D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_FORMAT_INVALID + 1, - D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_OFFSET_UNALIGNED - = D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_OFFSET_TOO_LARGE + 1, - D3D11_MESSAGE_ID_DEVICE_VSSETSHADERRESOURCES_VIEWS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_OFFSET_UNALIGNED + 1, - D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_INVALIDBUFFER - = D3D11_MESSAGE_ID_DEVICE_VSSETSHADERRESOURCES_VIEWS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_VSSETCONSTANTBUFFERS_BUFFERS_EMPTY - = D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_INVALIDBUFFER + 1, - D3D11_MESSAGE_ID_DEVICE_VSSETSAMPLERS_SAMPLERS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_VSSETCONSTANTBUFFERS_BUFFERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_GSSETSHADERRESOURCES_VIEWS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_VSSETSAMPLERS_SAMPLERS_EMPTY + 1, - D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_INVALIDBUFFER - = D3D11_MESSAGE_ID_DEVICE_GSSETSHADERRESOURCES_VIEWS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_GSSETCONSTANTBUFFERS_BUFFERS_EMPTY - = D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_INVALIDBUFFER + 1, - D3D11_MESSAGE_ID_DEVICE_GSSETSAMPLERS_SAMPLERS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_GSSETCONSTANTBUFFERS_BUFFERS_EMPTY + 1, - D3D11_MESSAGE_ID_SOSETTARGETS_INVALIDBUFFER - = D3D11_MESSAGE_ID_DEVICE_GSSETSAMPLERS_SAMPLERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_SOSETTARGETS_OFFSET_UNALIGNED - = D3D11_MESSAGE_ID_SOSETTARGETS_INVALIDBUFFER + 1, - D3D11_MESSAGE_ID_DEVICE_PSSETSHADERRESOURCES_VIEWS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_SOSETTARGETS_OFFSET_UNALIGNED + 1, - D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_INVALIDBUFFER - = D3D11_MESSAGE_ID_DEVICE_PSSETSHADERRESOURCES_VIEWS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_PSSETCONSTANTBUFFERS_BUFFERS_EMPTY - = D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_INVALIDBUFFER + 1, - D3D11_MESSAGE_ID_DEVICE_PSSETSAMPLERS_SAMPLERS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_PSSETCONSTANTBUFFERS_BUFFERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_INVALIDVIEWPORT - = D3D11_MESSAGE_ID_DEVICE_PSSETSAMPLERS_SAMPLERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_INVALIDSCISSOR - = D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_INVALIDVIEWPORT + 1, - D3D11_MESSAGE_ID_CLEARRENDERTARGETVIEW_DENORMFLUSH - = D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_INVALIDSCISSOR + 1, - D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DENORMFLUSH - = D3D11_MESSAGE_ID_CLEARRENDERTARGETVIEW_DENORMFLUSH + 1, - D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID - = D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DENORMFLUSH + 1, - D3D11_MESSAGE_ID_DEVICE_IAGETVERTEXBUFFERS_BUFFERS_EMPTY - = D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID + 1, - D3D11_MESSAGE_ID_DEVICE_VSGETSHADERRESOURCES_VIEWS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_IAGETVERTEXBUFFERS_BUFFERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_VSGETCONSTANTBUFFERS_BUFFERS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_VSGETSHADERRESOURCES_VIEWS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_VSGETSAMPLERS_SAMPLERS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_VSGETCONSTANTBUFFERS_BUFFERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_GSGETSHADERRESOURCES_VIEWS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_VSGETSAMPLERS_SAMPLERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_GSGETCONSTANTBUFFERS_BUFFERS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_GSGETSHADERRESOURCES_VIEWS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_GSGETSAMPLERS_SAMPLERS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_GSGETCONSTANTBUFFERS_BUFFERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_SOGETTARGETS_BUFFERS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_GSGETSAMPLERS_SAMPLERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_PSGETSHADERRESOURCES_VIEWS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_SOGETTARGETS_BUFFERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_PSGETCONSTANTBUFFERS_BUFFERS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_PSGETSHADERRESOURCES_VIEWS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_PSGETSAMPLERS_SAMPLERS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_PSGETCONSTANTBUFFERS_BUFFERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_RSGETVIEWPORTS_VIEWPORTS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_PSGETSAMPLERS_SAMPLERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_RSGETSCISSORRECTS_RECTS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_RSGETVIEWPORTS_VIEWPORTS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_GENERATEMIPS_RESOURCE_INVALID - = D3D11_MESSAGE_ID_DEVICE_RSGETSCISSORRECTS_RECTS_EMPTY + 1, - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDDESTINATIONSUBRESOURCE - = D3D11_MESSAGE_ID_DEVICE_GENERATEMIPS_RESOURCE_INVALID + 1, - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCESUBRESOURCE - = D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDDESTINATIONSUBRESOURCE + 1, - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCEBOX - = D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCESUBRESOURCE + 1, - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCE - = D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCEBOX + 1, - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDDESTINATIONSTATE - = D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCE + 1, - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCESTATE - = D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDDESTINATIONSTATE + 1, - D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCE - = D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCESTATE + 1, - D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDDESTINATIONSTATE - = D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCE + 1, - D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCESTATE - = D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDDESTINATIONSTATE + 1, - D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSUBRESOURCE - = D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCESTATE + 1, - D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONBOX - = D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSUBRESOURCE + 1, - D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSTATE - = D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONBOX + 1, - D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_INVALID - = D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSTATE + 1, - D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_SUBRESOURCE_INVALID - = D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_INVALID + 1, - D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_INVALID - = D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_SUBRESOURCE_INVALID + 1, - D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_SUBRESOURCE_INVALID - = D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_INVALID + 1, - D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_FORMAT_INVALID - = D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_SUBRESOURCE_INVALID + 1, - D3D11_MESSAGE_ID_BUFFER_MAP_INVALIDMAPTYPE - = D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_FORMAT_INVALID + 1, - D3D11_MESSAGE_ID_BUFFER_MAP_INVALIDFLAGS = D3D11_MESSAGE_ID_BUFFER_MAP_INVALIDMAPTYPE + 1, - D3D11_MESSAGE_ID_BUFFER_MAP_ALREADYMAPPED = D3D11_MESSAGE_ID_BUFFER_MAP_INVALIDFLAGS + 1, - D3D11_MESSAGE_ID_BUFFER_MAP_DEVICEREMOVED_RETURN - = D3D11_MESSAGE_ID_BUFFER_MAP_ALREADYMAPPED + 1, - D3D11_MESSAGE_ID_BUFFER_UNMAP_NOTMAPPED = D3D11_MESSAGE_ID_BUFFER_MAP_DEVICEREMOVED_RETURN + 1, - D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDMAPTYPE = D3D11_MESSAGE_ID_BUFFER_UNMAP_NOTMAPPED + 1, - D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDSUBRESOURCE - = D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDMAPTYPE + 1, - D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDFLAGS - = D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDSUBRESOURCE + 1, - D3D11_MESSAGE_ID_TEXTURE1D_MAP_ALREADYMAPPED = D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDFLAGS + 1, - D3D11_MESSAGE_ID_TEXTURE1D_MAP_DEVICEREMOVED_RETURN - = D3D11_MESSAGE_ID_TEXTURE1D_MAP_ALREADYMAPPED + 1, - D3D11_MESSAGE_ID_TEXTURE1D_UNMAP_INVALIDSUBRESOURCE - = D3D11_MESSAGE_ID_TEXTURE1D_MAP_DEVICEREMOVED_RETURN + 1, - D3D11_MESSAGE_ID_TEXTURE1D_UNMAP_NOTMAPPED - = D3D11_MESSAGE_ID_TEXTURE1D_UNMAP_INVALIDSUBRESOURCE + 1, - D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDMAPTYPE = D3D11_MESSAGE_ID_TEXTURE1D_UNMAP_NOTMAPPED + 1, - D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDSUBRESOURCE - = D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDMAPTYPE + 1, - D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDFLAGS - = D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDSUBRESOURCE + 1, - D3D11_MESSAGE_ID_TEXTURE2D_MAP_ALREADYMAPPED - = D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDFLAGS + 1, - D3D11_MESSAGE_ID_TEXTURE2D_MAP_DEVICEREMOVED_RETURN - = D3D11_MESSAGE_ID_TEXTURE2D_MAP_ALREADYMAPPED + 1, - D3D11_MESSAGE_ID_TEXTURE2D_UNMAP_INVALIDSUBRESOURCE - = D3D11_MESSAGE_ID_TEXTURE2D_MAP_DEVICEREMOVED_RETURN + 1, - D3D11_MESSAGE_ID_TEXTURE2D_UNMAP_NOTMAPPED - = D3D11_MESSAGE_ID_TEXTURE2D_UNMAP_INVALIDSUBRESOURCE + 1, - D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDMAPTYPE = D3D11_MESSAGE_ID_TEXTURE2D_UNMAP_NOTMAPPED + 1, - D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDSUBRESOURCE - = D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDMAPTYPE + 1, - D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDFLAGS - = D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDSUBRESOURCE + 1, - D3D11_MESSAGE_ID_TEXTURE3D_MAP_ALREADYMAPPED = D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDFLAGS + 1, - D3D11_MESSAGE_ID_TEXTURE3D_MAP_DEVICEREMOVED_RETURN - = D3D11_MESSAGE_ID_TEXTURE3D_MAP_ALREADYMAPPED + 1, - D3D11_MESSAGE_ID_TEXTURE3D_UNMAP_INVALIDSUBRESOURCE - = D3D11_MESSAGE_ID_TEXTURE3D_MAP_DEVICEREMOVED_RETURN + 1, - D3D11_MESSAGE_ID_TEXTURE3D_UNMAP_NOTMAPPED - = D3D11_MESSAGE_ID_TEXTURE3D_UNMAP_INVALIDSUBRESOURCE + 1, - D3D11_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_DEPRECATED - = D3D11_MESSAGE_ID_TEXTURE3D_UNMAP_NOTMAPPED + 1, - D3D11_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_FORMAT_DEPRECATED - = D3D11_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_DEPRECATED + 1, - D3D11_MESSAGE_ID_SETEXCEPTIONMODE_UNRECOGNIZEDFLAGS - = D3D11_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_FORMAT_DEPRECATED + 1, - D3D11_MESSAGE_ID_SETEXCEPTIONMODE_INVALIDARG_RETURN - = D3D11_MESSAGE_ID_SETEXCEPTIONMODE_UNRECOGNIZEDFLAGS + 1, - D3D11_MESSAGE_ID_SETEXCEPTIONMODE_DEVICEREMOVED_RETURN - = D3D11_MESSAGE_ID_SETEXCEPTIONMODE_INVALIDARG_RETURN + 1, - D3D11_MESSAGE_ID_REF_SIMULATING_INFINITELY_FAST_HARDWARE - = D3D11_MESSAGE_ID_SETEXCEPTIONMODE_DEVICEREMOVED_RETURN + 1, - D3D11_MESSAGE_ID_REF_THREADING_MODE - = D3D11_MESSAGE_ID_REF_SIMULATING_INFINITELY_FAST_HARDWARE + 1, - D3D11_MESSAGE_ID_REF_UMDRIVER_EXCEPTION = D3D11_MESSAGE_ID_REF_THREADING_MODE + 1, - D3D11_MESSAGE_ID_REF_KMDRIVER_EXCEPTION = D3D11_MESSAGE_ID_REF_UMDRIVER_EXCEPTION + 1, - D3D11_MESSAGE_ID_REF_HARDWARE_EXCEPTION = D3D11_MESSAGE_ID_REF_KMDRIVER_EXCEPTION + 1, - D3D11_MESSAGE_ID_REF_ACCESSING_INDEXABLE_TEMP_OUT_OF_RANGE - = D3D11_MESSAGE_ID_REF_HARDWARE_EXCEPTION + 1, - D3D11_MESSAGE_ID_REF_PROBLEM_PARSING_SHADER - = D3D11_MESSAGE_ID_REF_ACCESSING_INDEXABLE_TEMP_OUT_OF_RANGE + 1, - D3D11_MESSAGE_ID_REF_OUT_OF_MEMORY = D3D11_MESSAGE_ID_REF_PROBLEM_PARSING_SHADER + 1, - D3D11_MESSAGE_ID_REF_INFO = D3D11_MESSAGE_ID_REF_OUT_OF_MEMORY + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEXPOS_OVERFLOW = D3D11_MESSAGE_ID_REF_INFO + 1, - D3D11_MESSAGE_ID_DEVICE_DRAWINDEXED_INDEXPOS_OVERFLOW - = D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEXPOS_OVERFLOW + 1, - D3D11_MESSAGE_ID_DEVICE_DRAWINSTANCED_VERTEXPOS_OVERFLOW - = D3D11_MESSAGE_ID_DEVICE_DRAWINDEXED_INDEXPOS_OVERFLOW + 1, - D3D11_MESSAGE_ID_DEVICE_DRAWINSTANCED_INSTANCEPOS_OVERFLOW - = D3D11_MESSAGE_ID_DEVICE_DRAWINSTANCED_VERTEXPOS_OVERFLOW + 1, - D3D11_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INSTANCEPOS_OVERFLOW - = D3D11_MESSAGE_ID_DEVICE_DRAWINSTANCED_INSTANCEPOS_OVERFLOW + 1, - D3D11_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INDEXPOS_OVERFLOW - = D3D11_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INSTANCEPOS_OVERFLOW + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_SHADER_NOT_SET - = D3D11_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INDEXPOS_OVERFLOW + 1, - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND - = D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_SHADER_NOT_SET + 1, - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERINDEX - = D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND + 1, - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_COMPONENTTYPE - = D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERINDEX + 1, - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERMASK - = D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_COMPONENTTYPE + 1, - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SYSTEMVALUE - = D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERMASK + 1, - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS - = D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SYSTEMVALUE + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_NOT_SET - = D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_INPUTLAYOUT_NOT_SET - = D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_NOT_SET + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_CONSTANT_BUFFER_NOT_SET - = D3D11_MESSAGE_ID_DEVICE_DRAW_INPUTLAYOUT_NOT_SET + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_CONSTANT_BUFFER_TOO_SMALL - = D3D11_MESSAGE_ID_DEVICE_DRAW_CONSTANT_BUFFER_NOT_SET + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLER_NOT_SET - = D3D11_MESSAGE_ID_DEVICE_DRAW_CONSTANT_BUFFER_TOO_SMALL + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_SHADERRESOURCEVIEW_NOT_SET - = D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLER_NOT_SET + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_VIEW_DIMENSION_MISMATCH - = D3D11_MESSAGE_ID_DEVICE_DRAW_SHADERRESOURCEVIEW_NOT_SET + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL - = D3D11_MESSAGE_ID_DEVICE_DRAW_VIEW_DIMENSION_MISMATCH + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_TOO_SMALL - = D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_NOT_SET - = D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_TOO_SMALL + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_FORMAT_INVALID - = D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_NOT_SET + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_TOO_SMALL - = D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_FORMAT_INVALID + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_GS_INPUT_PRIMITIVE_MISMATCH - = D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_TOO_SMALL + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_RETURN_TYPE_MISMATCH - = D3D11_MESSAGE_ID_DEVICE_DRAW_GS_INPUT_PRIMITIVE_MISMATCH + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_POSITION_NOT_PRESENT - = D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_RETURN_TYPE_MISMATCH + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_OUTPUT_STREAM_NOT_SET - = D3D11_MESSAGE_ID_DEVICE_DRAW_POSITION_NOT_PRESENT + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_BOUND_RESOURCE_MAPPED - = D3D11_MESSAGE_ID_DEVICE_DRAW_OUTPUT_STREAM_NOT_SET + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_PRIMITIVETOPOLOGY - = D3D11_MESSAGE_ID_DEVICE_DRAW_BOUND_RESOURCE_MAPPED + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_OFFSET_UNALIGNED - = D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_PRIMITIVETOPOLOGY + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_STRIDE_UNALIGNED - = D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_OFFSET_UNALIGNED + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_OFFSET_UNALIGNED - = D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_STRIDE_UNALIGNED + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_OUTPUT_STREAM_OFFSET_UNALIGNED - = D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_OFFSET_UNALIGNED + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_LD_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_DRAW_OUTPUT_STREAM_OFFSET_UNALIGNED + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_SAMPLE_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_LD_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_SAMPLE_C_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_SAMPLE_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_MULTISAMPLE_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_SAMPLE_C_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_SO_TARGETS_BOUND_WITHOUT_SOURCE - = D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_MULTISAMPLE_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_SO_STRIDE_LARGER_THAN_BUFFER - = D3D11_MESSAGE_ID_DEVICE_DRAW_SO_TARGETS_BOUND_WITHOUT_SOURCE + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING - = D3D11_MESSAGE_ID_DEVICE_DRAW_SO_STRIDE_LARGER_THAN_BUFFER + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 - = D3D11_MESSAGE_ID_DEVICE_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING + 1, - D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT - = D3D11_MESSAGE_ID_DEVICE_DRAW_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 + 1, - D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT - = D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT + 1, - D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT - = D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT + 1, - D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_INVALIDARG_RETURN - = D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT + 1, - D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_INVALIDARG_RETURN + 1, - D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BADINTERFACE_RETURN - = D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_VIEWPORT_NOT_SET - = D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BADINTERFACE_RETURN + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC - = D3D11_MESSAGE_ID_DEVICE_DRAW_VIEWPORT_NOT_SET + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC + 1, - D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_DENORMFLUSH - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC + 1, - D3D11_MESSAGE_ID_OMSETRENDERTARGETS_INVALIDVIEW - = D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_DENORMFLUSH + 1, - D3D11_MESSAGE_ID_DEVICE_SETTEXTFILTERSIZE_INVALIDDIMENSIONS - = D3D11_MESSAGE_ID_OMSETRENDERTARGETS_INVALIDVIEW + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLER_MISMATCH - = D3D11_MESSAGE_ID_DEVICE_SETTEXTFILTERSIZE_INVALIDDIMENSIONS + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH - = D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLER_MISMATCH + 1, - D3D11_MESSAGE_ID_BLENDSTATE_GETDESC_LEGACY - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH + 1, - D3D11_MESSAGE_ID_SHADERRESOURCEVIEW_GETDESC_LEGACY - = D3D11_MESSAGE_ID_BLENDSTATE_GETDESC_LEGACY + 1, - D3D11_MESSAGE_ID_CREATEQUERY_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_SHADERRESOURCEVIEW_GETDESC_LEGACY + 1, - D3D11_MESSAGE_ID_CREATEPREDICATE_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_CREATEQUERY_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_CREATECOUNTER_OUTOFRANGE_COUNTER - = D3D11_MESSAGE_ID_CREATEPREDICATE_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_CREATECOUNTER_SIMULTANEOUS_ACTIVE_COUNTERS_EXHAUSTED - = D3D11_MESSAGE_ID_CREATECOUNTER_OUTOFRANGE_COUNTER + 1, - D3D11_MESSAGE_ID_CREATECOUNTER_UNSUPPORTED_WELLKNOWN_COUNTER - = D3D11_MESSAGE_ID_CREATECOUNTER_SIMULTANEOUS_ACTIVE_COUNTERS_EXHAUSTED + 1, - D3D11_MESSAGE_ID_CREATECOUNTER_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_CREATECOUNTER_UNSUPPORTED_WELLKNOWN_COUNTER + 1, - D3D11_MESSAGE_ID_CREATECOUNTER_NONEXCLUSIVE_RETURN - = D3D11_MESSAGE_ID_CREATECOUNTER_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_CREATECOUNTER_NULLDESC - = D3D11_MESSAGE_ID_CREATECOUNTER_NONEXCLUSIVE_RETURN + 1, - D3D11_MESSAGE_ID_CHECKCOUNTER_OUTOFRANGE_COUNTER = D3D11_MESSAGE_ID_CREATECOUNTER_NULLDESC + 1, - D3D11_MESSAGE_ID_CHECKCOUNTER_UNSUPPORTED_WELLKNOWN_COUNTER - = D3D11_MESSAGE_ID_CHECKCOUNTER_OUTOFRANGE_COUNTER + 1, - D3D11_MESSAGE_ID_SETPREDICATION_INVALID_PREDICATE_STATE - = D3D11_MESSAGE_ID_CHECKCOUNTER_UNSUPPORTED_WELLKNOWN_COUNTER + 1, - D3D11_MESSAGE_ID_QUERY_BEGIN_UNSUPPORTED - = D3D11_MESSAGE_ID_SETPREDICATION_INVALID_PREDICATE_STATE + 1, - D3D11_MESSAGE_ID_PREDICATE_BEGIN_DURING_PREDICATION - = D3D11_MESSAGE_ID_QUERY_BEGIN_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_QUERY_BEGIN_DUPLICATE - = D3D11_MESSAGE_ID_PREDICATE_BEGIN_DURING_PREDICATION + 1, - D3D11_MESSAGE_ID_QUERY_BEGIN_ABANDONING_PREVIOUS_RESULTS - = D3D11_MESSAGE_ID_QUERY_BEGIN_DUPLICATE + 1, - D3D11_MESSAGE_ID_PREDICATE_END_DURING_PREDICATION - = D3D11_MESSAGE_ID_QUERY_BEGIN_ABANDONING_PREVIOUS_RESULTS + 1, - D3D11_MESSAGE_ID_QUERY_END_ABANDONING_PREVIOUS_RESULTS - = D3D11_MESSAGE_ID_PREDICATE_END_DURING_PREDICATION + 1, - D3D11_MESSAGE_ID_QUERY_END_WITHOUT_BEGIN - = D3D11_MESSAGE_ID_QUERY_END_ABANDONING_PREVIOUS_RESULTS + 1, - D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_DATASIZE = D3D11_MESSAGE_ID_QUERY_END_WITHOUT_BEGIN + 1, - D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_FLAGS - = D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_DATASIZE + 1, - D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_CALL = D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_FLAGS + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_PS_OUTPUT_TYPE_MISMATCH - = D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_CALL + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_GATHER_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_DRAW_PS_OUTPUT_TYPE_MISMATCH + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN - = D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_GATHER_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_STRIDE_TOO_LARGE - = D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN + 1, - D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_INVALIDRANGE - = D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_STRIDE_TOO_LARGE + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT - = D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_INVALIDRANGE + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_SAMPLE_COUNT_MISMATCH - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT + 1, - D3D11_MESSAGE_ID_LIVE_OBJECT_SUMMARY - = D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_SAMPLE_COUNT_MISMATCH + 1, - D3D11_MESSAGE_ID_LIVE_BUFFER = D3D11_MESSAGE_ID_LIVE_OBJECT_SUMMARY + 1, - D3D11_MESSAGE_ID_LIVE_TEXTURE1D = D3D11_MESSAGE_ID_LIVE_BUFFER + 1, - D3D11_MESSAGE_ID_LIVE_TEXTURE2D = D3D11_MESSAGE_ID_LIVE_TEXTURE1D + 1, - D3D11_MESSAGE_ID_LIVE_TEXTURE3D = D3D11_MESSAGE_ID_LIVE_TEXTURE2D + 1, - D3D11_MESSAGE_ID_LIVE_SHADERRESOURCEVIEW = D3D11_MESSAGE_ID_LIVE_TEXTURE3D + 1, - D3D11_MESSAGE_ID_LIVE_RENDERTARGETVIEW = D3D11_MESSAGE_ID_LIVE_SHADERRESOURCEVIEW + 1, - D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILVIEW = D3D11_MESSAGE_ID_LIVE_RENDERTARGETVIEW + 1, - D3D11_MESSAGE_ID_LIVE_VERTEXSHADER = D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILVIEW + 1, - D3D11_MESSAGE_ID_LIVE_GEOMETRYSHADER = D3D11_MESSAGE_ID_LIVE_VERTEXSHADER + 1, - D3D11_MESSAGE_ID_LIVE_PIXELSHADER = D3D11_MESSAGE_ID_LIVE_GEOMETRYSHADER + 1, - D3D11_MESSAGE_ID_LIVE_INPUTLAYOUT = D3D11_MESSAGE_ID_LIVE_PIXELSHADER + 1, - D3D11_MESSAGE_ID_LIVE_SAMPLER = D3D11_MESSAGE_ID_LIVE_INPUTLAYOUT + 1, - D3D11_MESSAGE_ID_LIVE_BLENDSTATE = D3D11_MESSAGE_ID_LIVE_SAMPLER + 1, - D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILSTATE = D3D11_MESSAGE_ID_LIVE_BLENDSTATE + 1, - D3D11_MESSAGE_ID_LIVE_RASTERIZERSTATE = D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILSTATE + 1, - D3D11_MESSAGE_ID_LIVE_QUERY = D3D11_MESSAGE_ID_LIVE_RASTERIZERSTATE + 1, - D3D11_MESSAGE_ID_LIVE_PREDICATE = D3D11_MESSAGE_ID_LIVE_QUERY + 1, - D3D11_MESSAGE_ID_LIVE_COUNTER = D3D11_MESSAGE_ID_LIVE_PREDICATE + 1, - D3D11_MESSAGE_ID_LIVE_DEVICE = D3D11_MESSAGE_ID_LIVE_COUNTER + 1, - D3D11_MESSAGE_ID_LIVE_SWAPCHAIN = D3D11_MESSAGE_ID_LIVE_DEVICE + 1, - D3D11_MESSAGE_ID_D3D10_MESSAGES_END = D3D11_MESSAGE_ID_LIVE_SWAPCHAIN + 1, - D3D11_MESSAGE_ID_D3D10L9_MESSAGES_START = 0x100000, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_STENCIL_NO_TWO_SIDED - = D3D11_MESSAGE_ID_D3D10L9_MESSAGES_START + 1, - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_DepthBiasClamp_NOT_SUPPORTED - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_STENCIL_NO_TWO_SIDED + 1, - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NO_COMPARISON_SUPPORT - = D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_DepthBiasClamp_NOT_SUPPORTED + 1, - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_EXCESSIVE_ANISOTROPY - = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NO_COMPARISON_SUPPORT + 1, - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_BORDER_OUT_OF_RANGE - = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_EXCESSIVE_ANISOTROPY + 1, - D3D11_MESSAGE_ID_VSSETSAMPLERS_NOT_SUPPORTED - = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_BORDER_OUT_OF_RANGE + 1, - D3D11_MESSAGE_ID_VSSETSAMPLERS_TOO_MANY_SAMPLERS - = D3D11_MESSAGE_ID_VSSETSAMPLERS_NOT_SUPPORTED + 1, - D3D11_MESSAGE_ID_PSSETSAMPLERS_TOO_MANY_SAMPLERS - = D3D11_MESSAGE_ID_VSSETSAMPLERS_TOO_MANY_SAMPLERS + 1, - D3D11_MESSAGE_ID_CREATERESOURCE_NO_ARRAYS - = D3D11_MESSAGE_ID_PSSETSAMPLERS_TOO_MANY_SAMPLERS + 1, - D3D11_MESSAGE_ID_CREATERESOURCE_NO_VB_AND_IB_BIND - = D3D11_MESSAGE_ID_CREATERESOURCE_NO_ARRAYS + 1, - D3D11_MESSAGE_ID_CREATERESOURCE_NO_TEXTURE_1D - = D3D11_MESSAGE_ID_CREATERESOURCE_NO_VB_AND_IB_BIND + 1, - D3D11_MESSAGE_ID_CREATERESOURCE_DIMENSION_OUT_OF_RANGE - = D3D11_MESSAGE_ID_CREATERESOURCE_NO_TEXTURE_1D + 1, - D3D11_MESSAGE_ID_CREATERESOURCE_NOT_BINDABLE_AS_SHADER_RESOURCE - = D3D11_MESSAGE_ID_CREATERESOURCE_DIMENSION_OUT_OF_RANGE + 1, - D3D11_MESSAGE_ID_OMSETRENDERTARGETS_TOO_MANY_RENDER_TARGETS - = D3D11_MESSAGE_ID_CREATERESOURCE_NOT_BINDABLE_AS_SHADER_RESOURCE + 1, - D3D11_MESSAGE_ID_OMSETRENDERTARGETS_NO_DIFFERING_BIT_DEPTHS - = D3D11_MESSAGE_ID_OMSETRENDERTARGETS_TOO_MANY_RENDER_TARGETS + 1, - D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_BAD_BUFFER_INDEX - = D3D11_MESSAGE_ID_OMSETRENDERTARGETS_NO_DIFFERING_BIT_DEPTHS + 1, - D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_TOO_MANY_VIEWPORTS - = D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_BAD_BUFFER_INDEX + 1, - D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_ADJACENCY_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_TOO_MANY_VIEWPORTS + 1, - D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_TOO_MANY_SCISSORS - = D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_ADJACENCY_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_COPYRESOURCE_ONLY_TEXTURE_2D_WITHIN_GPU_MEMORY - = D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_TOO_MANY_SCISSORS + 1, - D3D11_MESSAGE_ID_COPYRESOURCE_NO_TEXTURE_3D_READBACK - = D3D11_MESSAGE_ID_COPYRESOURCE_ONLY_TEXTURE_2D_WITHIN_GPU_MEMORY + 1, - D3D11_MESSAGE_ID_COPYRESOURCE_NO_TEXTURE_ONLY_READBACK - = D3D11_MESSAGE_ID_COPYRESOURCE_NO_TEXTURE_3D_READBACK + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_UNSUPPORTED_FORMAT - = D3D11_MESSAGE_ID_COPYRESOURCE_NO_TEXTURE_ONLY_READBACK + 1, - D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_ALPHA_TO_COVERAGE - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_UNSUPPORTED_FORMAT + 1, - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_DepthClipEnable_MUST_BE_TRUE - = D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_ALPHA_TO_COVERAGE + 1, - D3D11_MESSAGE_ID_DRAWINDEXED_STARTINDEXLOCATION_MUST_BE_POSITIVE - = D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_DepthClipEnable_MUST_BE_TRUE + 1, - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_MUST_USE_LOWEST_LOD - = D3D11_MESSAGE_ID_DRAWINDEXED_STARTINDEXLOCATION_MUST_BE_POSITIVE + 1, - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_MINLOD_MUST_NOT_BE_FRACTIONAL - = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_MUST_USE_LOWEST_LOD + 1, - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_MAXLOD_MUST_BE_FLT_MAX - = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_MINLOD_MUST_NOT_BE_FRACTIONAL + 1, - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_FIRSTARRAYSLICE_MUST_BE_ZERO - = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_MAXLOD_MUST_BE_FLT_MAX + 1, - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_CUBES_MUST_HAVE_6_SIDES - = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_FIRSTARRAYSLICE_MUST_BE_ZERO + 1, - D3D11_MESSAGE_ID_CREATERESOURCE_NOT_BINDABLE_AS_RENDER_TARGET - = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_CUBES_MUST_HAVE_6_SIDES + 1, - D3D11_MESSAGE_ID_CREATERESOURCE_NO_DWORD_INDEX_BUFFER - = D3D11_MESSAGE_ID_CREATERESOURCE_NOT_BINDABLE_AS_RENDER_TARGET + 1, - D3D11_MESSAGE_ID_CREATERESOURCE_MSAA_PRECLUDES_SHADER_RESOURCE - = D3D11_MESSAGE_ID_CREATERESOURCE_NO_DWORD_INDEX_BUFFER + 1, - D3D11_MESSAGE_ID_CREATERESOURCE_PRESENTATION_PRECLUDES_SHADER_RESOURCE - = D3D11_MESSAGE_ID_CREATERESOURCE_MSAA_PRECLUDES_SHADER_RESOURCE + 1, - D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_INDEPENDENT_BLEND_ENABLE - = D3D11_MESSAGE_ID_CREATERESOURCE_PRESENTATION_PRECLUDES_SHADER_RESOURCE + 1, - D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_INDEPENDENT_WRITE_MASKS - = D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_INDEPENDENT_BLEND_ENABLE + 1, - D3D11_MESSAGE_ID_CREATERESOURCE_NO_STREAM_OUT - = D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_INDEPENDENT_WRITE_MASKS + 1, - D3D11_MESSAGE_ID_CREATERESOURCE_ONLY_VB_IB_FOR_BUFFERS - = D3D11_MESSAGE_ID_CREATERESOURCE_NO_STREAM_OUT + 1, - D3D11_MESSAGE_ID_CREATERESOURCE_NO_AUTOGEN_FOR_VOLUMES - = D3D11_MESSAGE_ID_CREATERESOURCE_ONLY_VB_IB_FOR_BUFFERS + 1, - D3D11_MESSAGE_ID_CREATERESOURCE_DXGI_FORMAT_R8G8B8A8_CANNOT_BE_SHARED - = D3D11_MESSAGE_ID_CREATERESOURCE_NO_AUTOGEN_FOR_VOLUMES + 1, - D3D11_MESSAGE_ID_VSSHADERRESOURCES_NOT_SUPPORTED - = D3D11_MESSAGE_ID_CREATERESOURCE_DXGI_FORMAT_R8G8B8A8_CANNOT_BE_SHARED + 1, - D3D11_MESSAGE_ID_GEOMETRY_SHADER_NOT_SUPPORTED - = D3D11_MESSAGE_ID_VSSHADERRESOURCES_NOT_SUPPORTED + 1, - D3D11_MESSAGE_ID_STREAM_OUT_NOT_SUPPORTED = D3D11_MESSAGE_ID_GEOMETRY_SHADER_NOT_SUPPORTED + 1, - D3D11_MESSAGE_ID_TEXT_FILTER_NOT_SUPPORTED = D3D11_MESSAGE_ID_STREAM_OUT_NOT_SUPPORTED + 1, - D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_SEPARATE_ALPHA_BLEND - = D3D11_MESSAGE_ID_TEXT_FILTER_NOT_SUPPORTED + 1, - D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_MRT_BLEND - = D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_SEPARATE_ALPHA_BLEND + 1, - D3D11_MESSAGE_ID_CREATEBLENDSTATE_OPERATION_NOT_SUPPORTED - = D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_MRT_BLEND + 1, - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NO_MIRRORONCE - = D3D11_MESSAGE_ID_CREATEBLENDSTATE_OPERATION_NOT_SUPPORTED + 1, - D3D11_MESSAGE_ID_DRAWINSTANCED_NOT_SUPPORTED - = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NO_MIRRORONCE + 1, - D3D11_MESSAGE_ID_DRAWINDEXEDINSTANCED_NOT_SUPPORTED_BELOW_9_3 - = D3D11_MESSAGE_ID_DRAWINSTANCED_NOT_SUPPORTED + 1, - D3D11_MESSAGE_ID_DRAWINDEXED_POINTLIST_UNSUPPORTED - = D3D11_MESSAGE_ID_DRAWINDEXEDINSTANCED_NOT_SUPPORTED_BELOW_9_3 + 1, - D3D11_MESSAGE_ID_SETBLENDSTATE_SAMPLE_MASK_CANNOT_BE_ZERO - = D3D11_MESSAGE_ID_DRAWINDEXED_POINTLIST_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_CREATERESOURCE_DIMENSION_EXCEEDS_FEATURE_LEVEL_DEFINITION - = D3D11_MESSAGE_ID_SETBLENDSTATE_SAMPLE_MASK_CANNOT_BE_ZERO + 1, - D3D11_MESSAGE_ID_CREATERESOURCE_ONLY_SINGLE_MIP_LEVEL_DEPTH_STENCIL_SUPPORTED - = D3D11_MESSAGE_ID_CREATERESOURCE_DIMENSION_EXCEEDS_FEATURE_LEVEL_DEFINITION + 1, - D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_NEGATIVESCISSOR - = D3D11_MESSAGE_ID_CREATERESOURCE_ONLY_SINGLE_MIP_LEVEL_DEPTH_STENCIL_SUPPORTED + 1, - D3D11_MESSAGE_ID_SLOT_ZERO_MUST_BE_D3D10_INPUT_PER_VERTEX_DATA - = D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_NEGATIVESCISSOR + 1, - D3D11_MESSAGE_ID_CREATERESOURCE_NON_POW_2_MIPMAP - = D3D11_MESSAGE_ID_SLOT_ZERO_MUST_BE_D3D10_INPUT_PER_VERTEX_DATA + 1, - D3D11_MESSAGE_ID_CREATESAMPLERSTATE_BORDER_NOT_SUPPORTED - = D3D11_MESSAGE_ID_CREATERESOURCE_NON_POW_2_MIPMAP + 1, - D3D11_MESSAGE_ID_OMSETRENDERTARGETS_NO_SRGB_MRT - = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_BORDER_NOT_SUPPORTED + 1, - D3D11_MESSAGE_ID_COPYRESOURCE_NO_3D_MISMATCHED_UPDATES - = D3D11_MESSAGE_ID_OMSETRENDERTARGETS_NO_SRGB_MRT + 1, - D3D11_MESSAGE_ID_D3D10L9_MESSAGES_END - = D3D11_MESSAGE_ID_COPYRESOURCE_NO_3D_MISMATCHED_UPDATES + 1, - D3D11_MESSAGE_ID_D3D11_MESSAGES_START = 0x200000, - D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS - = D3D11_MESSAGE_ID_D3D11_MESSAGES_START + 1, - D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE - = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE - = D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTREAMS - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTREAMS + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTREAMS - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCLASSLINKAGE - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTREAMS + 1, - D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCLASSLINKAGE + 1, - D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALID_COMMANDLISTFLAGS - = D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE + 1, - D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_SINGLETHREADED - = D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALID_COMMANDLISTFLAGS + 1, - D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALIDARG_RETURN - = D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_SINGLETHREADED + 1, - D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALID_CALL_RETURN - = D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALIDARG_RETURN + 1, - D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALID_CALL_RETURN + 1, - D3D11_MESSAGE_ID_FINISHDISPLAYLIST_ONIMMEDIATECONTEXT - = D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_FINISHDISPLAYLIST_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_FINISHDISPLAYLIST_ONIMMEDIATECONTEXT + 1, - D3D11_MESSAGE_ID_FINISHDISPLAYLIST_INVALID_CALL_RETURN - = D3D11_MESSAGE_ID_FINISHDISPLAYLIST_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM - = D3D11_MESSAGE_ID_FINISHDISPLAYLIST_INVALID_CALL_RETURN + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES + 1, - D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES + 1, - D3D11_MESSAGE_ID_DEVICE_HSSETSHADERRESOURCES_HAZARD - = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES + 1, - D3D11_MESSAGE_ID_DEVICE_HSSETCONSTANTBUFFERS_HAZARD - = D3D11_MESSAGE_ID_DEVICE_HSSETSHADERRESOURCES_HAZARD + 1, - D3D11_MESSAGE_ID_HSSETSHADERRESOURCES_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_DEVICE_HSSETCONSTANTBUFFERS_HAZARD + 1, - D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_HSSETSHADERRESOURCES_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDCALL - = D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY - = D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDCALL + 1, - D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE - = D3D11_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY + 1, - D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE - = D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE + 1, - D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE - = D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE + 1, - D3D11_MESSAGE_ID_DEVICE_HSSETSHADERRESOURCES_VIEWS_EMPTY - = D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE + 1, - D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_INVALIDBUFFER - = D3D11_MESSAGE_ID_DEVICE_HSSETSHADERRESOURCES_VIEWS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_HSSETCONSTANTBUFFERS_BUFFERS_EMPTY - = D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_INVALIDBUFFER + 1, - D3D11_MESSAGE_ID_DEVICE_HSSETSAMPLERS_SAMPLERS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_HSSETCONSTANTBUFFERS_BUFFERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_HSGETSHADERRESOURCES_VIEWS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_HSSETSAMPLERS_SAMPLERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_HSGETCONSTANTBUFFERS_BUFFERS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_HSGETSHADERRESOURCES_VIEWS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_HSGETSAMPLERS_SAMPLERS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_HSGETCONSTANTBUFFERS_BUFFERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_DSSETSHADERRESOURCES_HAZARD - = D3D11_MESSAGE_ID_DEVICE_HSGETSAMPLERS_SAMPLERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_DSSETCONSTANTBUFFERS_HAZARD - = D3D11_MESSAGE_ID_DEVICE_DSSETSHADERRESOURCES_HAZARD + 1, - D3D11_MESSAGE_ID_DSSETSHADERRESOURCES_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_DEVICE_DSSETCONSTANTBUFFERS_HAZARD + 1, - D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_DSSETSHADERRESOURCES_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCALL - = D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY - = D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCALL + 1, - D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE - = D3D11_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY + 1, - D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE - = D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE + 1, - D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE - = D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE + 1, - D3D11_MESSAGE_ID_DEVICE_DSSETSHADERRESOURCES_VIEWS_EMPTY - = D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE + 1, - D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_INVALIDBUFFER - = D3D11_MESSAGE_ID_DEVICE_DSSETSHADERRESOURCES_VIEWS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_DSSETCONSTANTBUFFERS_BUFFERS_EMPTY - = D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_INVALIDBUFFER + 1, - D3D11_MESSAGE_ID_DEVICE_DSSETSAMPLERS_SAMPLERS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_DSSETCONSTANTBUFFERS_BUFFERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_DSGETSHADERRESOURCES_VIEWS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_DSSETSAMPLERS_SAMPLERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_DSGETCONSTANTBUFFERS_BUFFERS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_DSGETSHADERRESOURCES_VIEWS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_DSGETSAMPLERS_SAMPLERS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_DSGETCONSTANTBUFFERS_BUFFERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_HS_XOR_DS_MISMATCH - = D3D11_MESSAGE_ID_DEVICE_DSGETSAMPLERS_SAMPLERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEFERRED_CONTEXT_REMOVAL_PROCESS_AT_FAULT - = D3D11_MESSAGE_ID_DEVICE_DRAW_HS_XOR_DS_MISMATCH + 1, - D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_INVALID_ARG_BUFFER - = D3D11_MESSAGE_ID_DEFERRED_CONTEXT_REMOVAL_PROCESS_AT_FAULT + 1, - D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_UNALIGNED - = D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_INVALID_ARG_BUFFER + 1, - D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_OVERFLOW - = D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_UNALIGNED + 1, - D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDMAPTYPE - = D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_OVERFLOW + 1, - D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDSUBRESOURCE - = D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDMAPTYPE + 1, - D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDFLAGS - = D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDSUBRESOURCE + 1, - D3D11_MESSAGE_ID_RESOURCE_MAP_ALREADYMAPPED = D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDFLAGS + 1, - D3D11_MESSAGE_ID_RESOURCE_MAP_DEVICEREMOVED_RETURN - = D3D11_MESSAGE_ID_RESOURCE_MAP_ALREADYMAPPED + 1, - D3D11_MESSAGE_ID_RESOURCE_MAP_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_RESOURCE_MAP_DEVICEREMOVED_RETURN + 1, - D3D11_MESSAGE_ID_RESOURCE_MAP_WITHOUT_INITIAL_DISCARD - = D3D11_MESSAGE_ID_RESOURCE_MAP_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_RESOURCE_UNMAP_INVALIDSUBRESOURCE - = D3D11_MESSAGE_ID_RESOURCE_MAP_WITHOUT_INITIAL_DISCARD + 1, - D3D11_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED - = D3D11_MESSAGE_ID_RESOURCE_UNMAP_INVALIDSUBRESOURCE + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_RASTERIZING_CONTROL_POINTS - = D3D11_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED + 1, - D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_DRAW_RASTERIZING_CONTROL_POINTS + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_SIGNATURE_MISMATCH - = D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH - = D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_SIGNATURE_MISMATCH + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_CONTROL_POINT_COUNT_MISMATCH - = D3D11_MESSAGE_ID_DEVICE_DRAW_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_TESSELLATOR_DOMAIN_MISMATCH - = D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_CONTROL_POINT_COUNT_MISMATCH + 1, - D3D11_MESSAGE_ID_CREATE_CONTEXT - = D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_TESSELLATOR_DOMAIN_MISMATCH + 1, - D3D11_MESSAGE_ID_LIVE_CONTEXT = D3D11_MESSAGE_ID_CREATE_CONTEXT + 1, - D3D11_MESSAGE_ID_DESTROY_CONTEXT = D3D11_MESSAGE_ID_LIVE_CONTEXT + 1, - D3D11_MESSAGE_ID_CREATE_BUFFER = D3D11_MESSAGE_ID_DESTROY_CONTEXT + 1, - D3D11_MESSAGE_ID_LIVE_BUFFER_WIN7 = D3D11_MESSAGE_ID_CREATE_BUFFER + 1, - D3D11_MESSAGE_ID_DESTROY_BUFFER = D3D11_MESSAGE_ID_LIVE_BUFFER_WIN7 + 1, - D3D11_MESSAGE_ID_CREATE_TEXTURE1D = D3D11_MESSAGE_ID_DESTROY_BUFFER + 1, - D3D11_MESSAGE_ID_LIVE_TEXTURE1D_WIN7 = D3D11_MESSAGE_ID_CREATE_TEXTURE1D + 1, - D3D11_MESSAGE_ID_DESTROY_TEXTURE1D = D3D11_MESSAGE_ID_LIVE_TEXTURE1D_WIN7 + 1, - D3D11_MESSAGE_ID_CREATE_TEXTURE2D = D3D11_MESSAGE_ID_DESTROY_TEXTURE1D + 1, - D3D11_MESSAGE_ID_LIVE_TEXTURE2D_WIN7 = D3D11_MESSAGE_ID_CREATE_TEXTURE2D + 1, - D3D11_MESSAGE_ID_DESTROY_TEXTURE2D = D3D11_MESSAGE_ID_LIVE_TEXTURE2D_WIN7 + 1, - D3D11_MESSAGE_ID_CREATE_TEXTURE3D = D3D11_MESSAGE_ID_DESTROY_TEXTURE2D + 1, - D3D11_MESSAGE_ID_LIVE_TEXTURE3D_WIN7 = D3D11_MESSAGE_ID_CREATE_TEXTURE3D + 1, - D3D11_MESSAGE_ID_DESTROY_TEXTURE3D = D3D11_MESSAGE_ID_LIVE_TEXTURE3D_WIN7 + 1, - D3D11_MESSAGE_ID_CREATE_SHADERRESOURCEVIEW = D3D11_MESSAGE_ID_DESTROY_TEXTURE3D + 1, - D3D11_MESSAGE_ID_LIVE_SHADERRESOURCEVIEW_WIN7 = D3D11_MESSAGE_ID_CREATE_SHADERRESOURCEVIEW + 1, - D3D11_MESSAGE_ID_DESTROY_SHADERRESOURCEVIEW - = D3D11_MESSAGE_ID_LIVE_SHADERRESOURCEVIEW_WIN7 + 1, - D3D11_MESSAGE_ID_CREATE_RENDERTARGETVIEW = D3D11_MESSAGE_ID_DESTROY_SHADERRESOURCEVIEW + 1, - D3D11_MESSAGE_ID_LIVE_RENDERTARGETVIEW_WIN7 = D3D11_MESSAGE_ID_CREATE_RENDERTARGETVIEW + 1, - D3D11_MESSAGE_ID_DESTROY_RENDERTARGETVIEW = D3D11_MESSAGE_ID_LIVE_RENDERTARGETVIEW_WIN7 + 1, - D3D11_MESSAGE_ID_CREATE_DEPTHSTENCILVIEW = D3D11_MESSAGE_ID_DESTROY_RENDERTARGETVIEW + 1, - D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILVIEW_WIN7 = D3D11_MESSAGE_ID_CREATE_DEPTHSTENCILVIEW + 1, - D3D11_MESSAGE_ID_DESTROY_DEPTHSTENCILVIEW = D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILVIEW_WIN7 + 1, - D3D11_MESSAGE_ID_CREATE_VERTEXSHADER = D3D11_MESSAGE_ID_DESTROY_DEPTHSTENCILVIEW + 1, - D3D11_MESSAGE_ID_LIVE_VERTEXSHADER_WIN7 = D3D11_MESSAGE_ID_CREATE_VERTEXSHADER + 1, - D3D11_MESSAGE_ID_DESTROY_VERTEXSHADER = D3D11_MESSAGE_ID_LIVE_VERTEXSHADER_WIN7 + 1, - D3D11_MESSAGE_ID_CREATE_HULLSHADER = D3D11_MESSAGE_ID_DESTROY_VERTEXSHADER + 1, - D3D11_MESSAGE_ID_LIVE_HULLSHADER = D3D11_MESSAGE_ID_CREATE_HULLSHADER + 1, - D3D11_MESSAGE_ID_DESTROY_HULLSHADER = D3D11_MESSAGE_ID_LIVE_HULLSHADER + 1, - D3D11_MESSAGE_ID_CREATE_DOMAINSHADER = D3D11_MESSAGE_ID_DESTROY_HULLSHADER + 1, - D3D11_MESSAGE_ID_LIVE_DOMAINSHADER = D3D11_MESSAGE_ID_CREATE_DOMAINSHADER + 1, - D3D11_MESSAGE_ID_DESTROY_DOMAINSHADER = D3D11_MESSAGE_ID_LIVE_DOMAINSHADER + 1, - D3D11_MESSAGE_ID_CREATE_GEOMETRYSHADER = D3D11_MESSAGE_ID_DESTROY_DOMAINSHADER + 1, - D3D11_MESSAGE_ID_LIVE_GEOMETRYSHADER_WIN7 = D3D11_MESSAGE_ID_CREATE_GEOMETRYSHADER + 1, - D3D11_MESSAGE_ID_DESTROY_GEOMETRYSHADER = D3D11_MESSAGE_ID_LIVE_GEOMETRYSHADER_WIN7 + 1, - D3D11_MESSAGE_ID_CREATE_PIXELSHADER = D3D11_MESSAGE_ID_DESTROY_GEOMETRYSHADER + 1, - D3D11_MESSAGE_ID_LIVE_PIXELSHADER_WIN7 = D3D11_MESSAGE_ID_CREATE_PIXELSHADER + 1, - D3D11_MESSAGE_ID_DESTROY_PIXELSHADER = D3D11_MESSAGE_ID_LIVE_PIXELSHADER_WIN7 + 1, - D3D11_MESSAGE_ID_CREATE_INPUTLAYOUT = D3D11_MESSAGE_ID_DESTROY_PIXELSHADER + 1, - D3D11_MESSAGE_ID_LIVE_INPUTLAYOUT_WIN7 = D3D11_MESSAGE_ID_CREATE_INPUTLAYOUT + 1, - D3D11_MESSAGE_ID_DESTROY_INPUTLAYOUT = D3D11_MESSAGE_ID_LIVE_INPUTLAYOUT_WIN7 + 1, - D3D11_MESSAGE_ID_CREATE_SAMPLER = D3D11_MESSAGE_ID_DESTROY_INPUTLAYOUT + 1, - D3D11_MESSAGE_ID_LIVE_SAMPLER_WIN7 = D3D11_MESSAGE_ID_CREATE_SAMPLER + 1, - D3D11_MESSAGE_ID_DESTROY_SAMPLER = D3D11_MESSAGE_ID_LIVE_SAMPLER_WIN7 + 1, - D3D11_MESSAGE_ID_CREATE_BLENDSTATE = D3D11_MESSAGE_ID_DESTROY_SAMPLER + 1, - D3D11_MESSAGE_ID_LIVE_BLENDSTATE_WIN7 = D3D11_MESSAGE_ID_CREATE_BLENDSTATE + 1, - D3D11_MESSAGE_ID_DESTROY_BLENDSTATE = D3D11_MESSAGE_ID_LIVE_BLENDSTATE_WIN7 + 1, - D3D11_MESSAGE_ID_CREATE_DEPTHSTENCILSTATE = D3D11_MESSAGE_ID_DESTROY_BLENDSTATE + 1, - D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILSTATE_WIN7 = D3D11_MESSAGE_ID_CREATE_DEPTHSTENCILSTATE + 1, - D3D11_MESSAGE_ID_DESTROY_DEPTHSTENCILSTATE = D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILSTATE_WIN7 + 1, - D3D11_MESSAGE_ID_CREATE_RASTERIZERSTATE = D3D11_MESSAGE_ID_DESTROY_DEPTHSTENCILSTATE + 1, - D3D11_MESSAGE_ID_LIVE_RASTERIZERSTATE_WIN7 = D3D11_MESSAGE_ID_CREATE_RASTERIZERSTATE + 1, - D3D11_MESSAGE_ID_DESTROY_RASTERIZERSTATE = D3D11_MESSAGE_ID_LIVE_RASTERIZERSTATE_WIN7 + 1, - D3D11_MESSAGE_ID_CREATE_QUERY = D3D11_MESSAGE_ID_DESTROY_RASTERIZERSTATE + 1, - D3D11_MESSAGE_ID_LIVE_QUERY_WIN7 = D3D11_MESSAGE_ID_CREATE_QUERY + 1, - D3D11_MESSAGE_ID_DESTROY_QUERY = D3D11_MESSAGE_ID_LIVE_QUERY_WIN7 + 1, - D3D11_MESSAGE_ID_CREATE_PREDICATE = D3D11_MESSAGE_ID_DESTROY_QUERY + 1, - D3D11_MESSAGE_ID_LIVE_PREDICATE_WIN7 = D3D11_MESSAGE_ID_CREATE_PREDICATE + 1, - D3D11_MESSAGE_ID_DESTROY_PREDICATE = D3D11_MESSAGE_ID_LIVE_PREDICATE_WIN7 + 1, - D3D11_MESSAGE_ID_CREATE_COUNTER = D3D11_MESSAGE_ID_DESTROY_PREDICATE + 1, - D3D11_MESSAGE_ID_DESTROY_COUNTER = D3D11_MESSAGE_ID_CREATE_COUNTER + 1, - D3D11_MESSAGE_ID_CREATE_COMMANDLIST = D3D11_MESSAGE_ID_DESTROY_COUNTER + 1, - D3D11_MESSAGE_ID_LIVE_COMMANDLIST = D3D11_MESSAGE_ID_CREATE_COMMANDLIST + 1, - D3D11_MESSAGE_ID_DESTROY_COMMANDLIST = D3D11_MESSAGE_ID_LIVE_COMMANDLIST + 1, - D3D11_MESSAGE_ID_CREATE_CLASSINSTANCE = D3D11_MESSAGE_ID_DESTROY_COMMANDLIST + 1, - D3D11_MESSAGE_ID_LIVE_CLASSINSTANCE = D3D11_MESSAGE_ID_CREATE_CLASSINSTANCE + 1, - D3D11_MESSAGE_ID_DESTROY_CLASSINSTANCE = D3D11_MESSAGE_ID_LIVE_CLASSINSTANCE + 1, - D3D11_MESSAGE_ID_CREATE_CLASSLINKAGE = D3D11_MESSAGE_ID_DESTROY_CLASSINSTANCE + 1, - D3D11_MESSAGE_ID_LIVE_CLASSLINKAGE = D3D11_MESSAGE_ID_CREATE_CLASSLINKAGE + 1, - D3D11_MESSAGE_ID_DESTROY_CLASSLINKAGE = D3D11_MESSAGE_ID_LIVE_CLASSLINKAGE + 1, - D3D11_MESSAGE_ID_LIVE_DEVICE_WIN7 = D3D11_MESSAGE_ID_DESTROY_CLASSLINKAGE + 1, - D3D11_MESSAGE_ID_LIVE_OBJECT_SUMMARY_WIN7 = D3D11_MESSAGE_ID_LIVE_DEVICE_WIN7 + 1, - D3D11_MESSAGE_ID_CREATE_COMPUTESHADER = D3D11_MESSAGE_ID_LIVE_OBJECT_SUMMARY_WIN7 + 1, - D3D11_MESSAGE_ID_LIVE_COMPUTESHADER = D3D11_MESSAGE_ID_CREATE_COMPUTESHADER + 1, - D3D11_MESSAGE_ID_DESTROY_COMPUTESHADER = D3D11_MESSAGE_ID_LIVE_COMPUTESHADER + 1, - D3D11_MESSAGE_ID_CREATE_UNORDEREDACCESSVIEW = D3D11_MESSAGE_ID_DESTROY_COMPUTESHADER + 1, - D3D11_MESSAGE_ID_LIVE_UNORDEREDACCESSVIEW = D3D11_MESSAGE_ID_CREATE_UNORDEREDACCESSVIEW + 1, - D3D11_MESSAGE_ID_DESTROY_UNORDEREDACCESSVIEW = D3D11_MESSAGE_ID_LIVE_UNORDEREDACCESSVIEW + 1, - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INTERFACES_FEATURELEVEL - = D3D11_MESSAGE_ID_DESTROY_UNORDEREDACCESSVIEW + 1, - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INTERFACE_COUNT_MISMATCH - = D3D11_MESSAGE_ID_DEVICE_SETSHADER_INTERFACES_FEATURELEVEL + 1, - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE - = D3D11_MESSAGE_ID_DEVICE_SETSHADER_INTERFACE_COUNT_MISMATCH + 1, - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_INDEX - = D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE + 1, - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_TYPE - = D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_INDEX + 1, - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_DATA - = D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_TYPE + 1, - D3D11_MESSAGE_ID_DEVICE_SETSHADER_UNBOUND_INSTANCE_DATA - = D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_DATA + 1, - D3D11_MESSAGE_ID_DEVICE_SETSHADER_INSTANCE_DATA_BINDINGS - = D3D11_MESSAGE_ID_DEVICE_SETSHADER_UNBOUND_INSTANCE_DATA + 1, - D3D11_MESSAGE_ID_DEVICE_CREATESHADER_CLASSLINKAGE_FULL - = D3D11_MESSAGE_ID_DEVICE_SETSHADER_INSTANCE_DATA_BINDINGS + 1, - D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_UNRECOGNIZED_FEATURE - = D3D11_MESSAGE_ID_DEVICE_CREATESHADER_CLASSLINKAGE_FULL + 1, - D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE - = D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_UNRECOGNIZED_FEATURE + 1, - D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_INVALIDARG_RETURN - = D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE + 1, - D3D11_MESSAGE_ID_DEVICE_CSSETSHADERRESOURCES_HAZARD - = D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_INVALIDARG_RETURN + 1, - D3D11_MESSAGE_ID_DEVICE_CSSETCONSTANTBUFFERS_HAZARD - = D3D11_MESSAGE_ID_DEVICE_CSSETSHADERRESOURCES_HAZARD + 1, - D3D11_MESSAGE_ID_CSSETSHADERRESOURCES_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_DEVICE_CSSETCONSTANTBUFFERS_HAZARD + 1, - D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_CSSETSHADERRESOURCES_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCALL - = D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY - = D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCALL + 1, - D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE - = D3D11_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY + 1, - D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERTYPE - = D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE + 1, - D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE - = D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERTYPE + 1, - D3D11_MESSAGE_ID_DEVICE_CSSETSHADERRESOURCES_VIEWS_EMPTY - = D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE + 1, - D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_INVALIDBUFFER - = D3D11_MESSAGE_ID_DEVICE_CSSETSHADERRESOURCES_VIEWS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_CSSETCONSTANTBUFFERS_BUFFERS_EMPTY - = D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_INVALIDBUFFER + 1, - D3D11_MESSAGE_ID_DEVICE_CSSETSAMPLERS_SAMPLERS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_CSSETCONSTANTBUFFERS_BUFFERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_CSGETSHADERRESOURCES_VIEWS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_CSSETSAMPLERS_SAMPLERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_CSGETCONSTANTBUFFERS_BUFFERS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_CSGETSHADERRESOURCES_VIEWS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_CSGETSAMPLERS_SAMPLERS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_CSGETCONSTANTBUFFERS_BUFFERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CSGETSAMPLERS_SAMPLERS_EMPTY + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED - + 1, - D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDSTRUCTURESTRIDE - = D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFLAGS - = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDSTRUCTURESTRIDE + 1, - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE - = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFLAGS + 1, - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC - = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE + 1, - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT - = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC + 1, - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS - = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT + 1, - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT - = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS + 1, - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_HAZARD - = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT + 1, - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_OVERLAPPING_OLD_SLOTS - = D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_HAZARD + 1, - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_NO_OP - = D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_OVERLAPPING_OLD_SLOTS - + 1, - D3D11_MESSAGE_ID_CSSETUNORDEREDACCESSVIEWS_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_NO_OP + 1, - D3D11_MESSAGE_ID_PSSETUNORDEREDACCESSVIEWS_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_CSSETUNORDEREDACCESSVIEWS_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDARG_RETURN - = D3D11_MESSAGE_ID_PSSETUNORDEREDACCESSVIEWS_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDARG_RETURN + 1, - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_TOOMANYOBJECTS - = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_HAZARD - = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_TOOMANYOBJECTS + 1, - D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_DENORMFLUSH - = D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_HAZARD + 1, - D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSS_VIEWS_EMPTY - = D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_DENORMFLUSH + 1, - D3D11_MESSAGE_ID_DEVICE_CSGETUNORDEREDACCESSS_VIEWS_EMPTY - = D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSS_VIEWS_EMPTY + 1, - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS - = D3D11_MESSAGE_ID_DEVICE_CSGETUNORDEREDACCESSS_VIEWS_EMPTY + 1, - D3D11_MESSAGE_ID_CREATESHADERRESESOURCEVIEW_TOOMANYOBJECTS - = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS + 1, - D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_INVALID_ARG_BUFFER - = D3D11_MESSAGE_ID_CREATESHADERRESESOURCEVIEW_TOOMANYOBJECTS + 1, - D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_UNALIGNED - = D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_INVALID_ARG_BUFFER + 1, - D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_OVERFLOW - = D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_UNALIGNED + 1, - D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDCONTEXT - = D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_OVERFLOW + 1, - D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDRESOURCE - = D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDCONTEXT + 1, - D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDMINLOD - = D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDRESOURCE + 1, - D3D11_MESSAGE_ID_DEVICE_GETRESOURCEMINLOD_INVALIDCONTEXT - = D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDMINLOD + 1, - D3D11_MESSAGE_ID_DEVICE_GETRESOURCEMINLOD_INVALIDRESOURCE - = D3D11_MESSAGE_ID_DEVICE_GETRESOURCEMINLOD_INVALIDCONTEXT + 1, - D3D11_MESSAGE_ID_OMSETDEPTHSTENCIL_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_DEVICE_GETRESOURCEMINLOD_INVALIDRESOURCE + 1, - D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DEPTH_READONLY - = D3D11_MESSAGE_ID_OMSETDEPTHSTENCIL_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_STENCIL_READONLY - = D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DEPTH_READONLY + 1, - D3D11_MESSAGE_ID_CHECKFEATURESUPPORT_FORMAT_DEPRECATED - = D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_STENCIL_READONLY + 1, - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RETURN_TYPE_MISMATCH - = D3D11_MESSAGE_ID_CHECKFEATURESUPPORT_FORMAT_DEPRECATED + 1, - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET - = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RETURN_TYPE_MISMATCH + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_UNORDEREDACCESSVIEW_RENDERTARGETVIEW_OVERLAP - = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET + 1, - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_DIMENSION_MISMATCH - = D3D11_MESSAGE_ID_DEVICE_DRAW_UNORDEREDACCESSVIEW_RENDERTARGETVIEW_OVERLAP + 1, - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_APPEND_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_DIMENSION_MISMATCH + 1, - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMICS_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_APPEND_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_STRUCTURE_STRIDE_MISMATCH - = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMICS_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_BUFFER_TYPE_MISMATCH - = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_STRUCTURE_STRIDE_MISMATCH + 1, - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RAW_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_BUFFER_TYPE_MISMATCH + 1, - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_LD_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RAW_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_STORE_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_LD_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_ADD_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_STORE_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_BITWISE_OPS_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_ADD_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_CMPSTORE_CMPEXCHANGE_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_BITWISE_OPS_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_EXCHANGE_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_CMPSTORE_CMPEXCHANGE_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_SIGNED_MINMAX_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_EXCHANGE_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_UNSIGNED_MINMAX_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_SIGNED_MINMAX_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_DISPATCH_BOUND_RESOURCE_MAPPED - = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_UNSIGNED_MINMAX_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_OVERFLOW - = D3D11_MESSAGE_ID_DEVICE_DISPATCH_BOUND_RESOURCE_MAPPED + 1, - D3D11_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_ZERO - = D3D11_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_OVERFLOW + 1, - D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_STRUCTURE_STRIDE_MISMATCH - = D3D11_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_ZERO + 1, - D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_BUFFER_TYPE_MISMATCH - = D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_STRUCTURE_STRIDE_MISMATCH + 1, - D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_RAW_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_BUFFER_TYPE_MISMATCH + 1, - D3D11_MESSAGE_ID_DEVICE_DISPATCH_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_RAW_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_DISPATCH_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDOFFSET - = D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_LARGEOFFSET - = D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDOFFSET + 1, - D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDDESTINATIONSTATE - = D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_LARGEOFFSET + 1, - D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDSOURCESTATE - = D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDDESTINATIONSTATE + 1, - D3D11_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_NOT_SUPPORTED - = D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDSOURCESTATE + 1, - D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_INVALIDVIEW - = D3D11_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_NOT_SUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_INVALIDOFFSET - = D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_INVALIDVIEW + 1, - D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_TOOMANYVIEWS - = D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_INVALIDOFFSET + 1, - D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWFLOAT_INVALIDFORMAT - = D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_TOOMANYVIEWS + 1, - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_COUNTER_UNSUPPORTED - = D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWFLOAT_INVALIDFORMAT + 1, - D3D11_MESSAGE_ID_REF_WARNING - = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_COUNTER_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_PIXEL_SHADER_WITHOUT_RTV_OR_DSV - = D3D11_MESSAGE_ID_REF_WARNING + 1, - D3D11_MESSAGE_ID_SHADER_ABORT - = D3D11_MESSAGE_ID_DEVICE_DRAW_PIXEL_SHADER_WITHOUT_RTV_OR_DSV + 1, - D3D11_MESSAGE_ID_SHADER_MESSAGE = D3D11_MESSAGE_ID_SHADER_ABORT + 1, - D3D11_MESSAGE_ID_SHADER_ERROR = D3D11_MESSAGE_ID_SHADER_MESSAGE + 1, - D3D11_MESSAGE_ID_OFFERRESOURCES_INVALIDRESOURCE = D3D11_MESSAGE_ID_SHADER_ERROR + 1, - D3D11_MESSAGE_ID_HSSETSAMPLERS_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_OFFERRESOURCES_INVALIDRESOURCE + 1, - D3D11_MESSAGE_ID_DSSETSAMPLERS_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_HSSETSAMPLERS_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_CSSETSAMPLERS_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_DSSETSAMPLERS_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_HSSETSHADER_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_CSSETSAMPLERS_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_DSSETSHADER_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_HSSETSHADER_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_CSSETSHADER_UNBINDDELETINGOBJECT - = D3D11_MESSAGE_ID_DSSETSHADER_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_ENQUEUESETEVENT_INVALIDARG_RETURN - = D3D11_MESSAGE_ID_CSSETSHADER_UNBINDDELETINGOBJECT + 1, - D3D11_MESSAGE_ID_ENQUEUESETEVENT_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_ENQUEUESETEVENT_INVALIDARG_RETURN + 1, - D3D11_MESSAGE_ID_ENQUEUESETEVENT_ACCESSDENIED_RETURN - = D3D11_MESSAGE_ID_ENQUEUESETEVENT_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_NUMUAVS_INVALIDRANGE - = D3D11_MESSAGE_ID_ENQUEUESETEVENT_ACCESSDENIED_RETURN + 1, - D3D11_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT - = D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_NUMUAVS_INVALIDRANGE - + 1, - D3D11_MESSAGE_ID_D3D11_MESSAGES_END = D3D11_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT + 1, - D3D11_MESSAGE_ID_D3D11_1_MESSAGES_START = 0x300000, - D3D11_MESSAGE_ID_CREATE_VIDEODECODER = D3D11_MESSAGE_ID_D3D11_1_MESSAGES_START + 1, - D3D11_MESSAGE_ID_CREATE_VIDEOPROCESSORENUM = D3D11_MESSAGE_ID_CREATE_VIDEODECODER + 1, - D3D11_MESSAGE_ID_CREATE_VIDEOPROCESSOR = D3D11_MESSAGE_ID_CREATE_VIDEOPROCESSORENUM + 1, - D3D11_MESSAGE_ID_CREATE_DECODEROUTPUTVIEW = D3D11_MESSAGE_ID_CREATE_VIDEOPROCESSOR + 1, - D3D11_MESSAGE_ID_CREATE_PROCESSORINPUTVIEW = D3D11_MESSAGE_ID_CREATE_DECODEROUTPUTVIEW + 1, - D3D11_MESSAGE_ID_CREATE_PROCESSOROUTPUTVIEW = D3D11_MESSAGE_ID_CREATE_PROCESSORINPUTVIEW + 1, - D3D11_MESSAGE_ID_CREATE_DEVICECONTEXTSTATE = D3D11_MESSAGE_ID_CREATE_PROCESSOROUTPUTVIEW + 1, - D3D11_MESSAGE_ID_LIVE_VIDEODECODER = D3D11_MESSAGE_ID_CREATE_DEVICECONTEXTSTATE + 1, - D3D11_MESSAGE_ID_LIVE_VIDEOPROCESSORENUM = D3D11_MESSAGE_ID_LIVE_VIDEODECODER + 1, - D3D11_MESSAGE_ID_LIVE_VIDEOPROCESSOR = D3D11_MESSAGE_ID_LIVE_VIDEOPROCESSORENUM + 1, - D3D11_MESSAGE_ID_LIVE_DECODEROUTPUTVIEW = D3D11_MESSAGE_ID_LIVE_VIDEOPROCESSOR + 1, - D3D11_MESSAGE_ID_LIVE_PROCESSORINPUTVIEW = D3D11_MESSAGE_ID_LIVE_DECODEROUTPUTVIEW + 1, - D3D11_MESSAGE_ID_LIVE_PROCESSOROUTPUTVIEW = D3D11_MESSAGE_ID_LIVE_PROCESSORINPUTVIEW + 1, - D3D11_MESSAGE_ID_LIVE_DEVICECONTEXTSTATE = D3D11_MESSAGE_ID_LIVE_PROCESSOROUTPUTVIEW + 1, - D3D11_MESSAGE_ID_DESTROY_VIDEODECODER = D3D11_MESSAGE_ID_LIVE_DEVICECONTEXTSTATE + 1, - D3D11_MESSAGE_ID_DESTROY_VIDEOPROCESSORENUM = D3D11_MESSAGE_ID_DESTROY_VIDEODECODER + 1, - D3D11_MESSAGE_ID_DESTROY_VIDEOPROCESSOR = D3D11_MESSAGE_ID_DESTROY_VIDEOPROCESSORENUM + 1, - D3D11_MESSAGE_ID_DESTROY_DECODEROUTPUTVIEW = D3D11_MESSAGE_ID_DESTROY_VIDEOPROCESSOR + 1, - D3D11_MESSAGE_ID_DESTROY_PROCESSORINPUTVIEW = D3D11_MESSAGE_ID_DESTROY_DECODEROUTPUTVIEW + 1, - D3D11_MESSAGE_ID_DESTROY_PROCESSOROUTPUTVIEW = D3D11_MESSAGE_ID_DESTROY_PROCESSORINPUTVIEW + 1, - D3D11_MESSAGE_ID_DESTROY_DEVICECONTEXTSTATE = D3D11_MESSAGE_ID_DESTROY_PROCESSOROUTPUTVIEW + 1, - D3D11_MESSAGE_ID_CREATEDEVICECONTEXTSTATE_INVALIDFLAGS - = D3D11_MESSAGE_ID_DESTROY_DEVICECONTEXTSTATE + 1, - D3D11_MESSAGE_ID_CREATEDEVICECONTEXTSTATE_INVALIDFEATURELEVEL - = D3D11_MESSAGE_ID_CREATEDEVICECONTEXTSTATE_INVALIDFLAGS + 1, - D3D11_MESSAGE_ID_CREATEDEVICECONTEXTSTATE_FEATURELEVELS_NOT_SUPPORTED - = D3D11_MESSAGE_ID_CREATEDEVICECONTEXTSTATE_INVALIDFEATURELEVEL + 1, - D3D11_MESSAGE_ID_CREATEDEVICECONTEXTSTATE_INVALIDREFIID - = D3D11_MESSAGE_ID_CREATEDEVICECONTEXTSTATE_FEATURELEVELS_NOT_SUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_DISCARDVIEW_INVALIDVIEW - = D3D11_MESSAGE_ID_CREATEDEVICECONTEXTSTATE_INVALIDREFIID + 1, - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION1_INVALIDCOPYFLAGS - = D3D11_MESSAGE_ID_DEVICE_DISCARDVIEW_INVALIDVIEW + 1, - D3D11_MESSAGE_ID_UPDATESUBRESOURCE1_INVALIDCOPYFLAGS - = D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION1_INVALIDCOPYFLAGS + 1, - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT - = D3D11_MESSAGE_ID_UPDATESUBRESOURCE1_INVALIDCOPYFLAGS + 1, - D3D11_MESSAGE_ID_CREATEVIDEODECODER_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT + 1, - D3D11_MESSAGE_ID_CREATEVIDEODECODER_NULLPARAM - = D3D11_MESSAGE_ID_CREATEVIDEODECODER_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_CREATEVIDEODECODER_INVALIDFORMAT - = D3D11_MESSAGE_ID_CREATEVIDEODECODER_NULLPARAM + 1, - D3D11_MESSAGE_ID_CREATEVIDEODECODER_ZEROWIDTHHEIGHT - = D3D11_MESSAGE_ID_CREATEVIDEODECODER_INVALIDFORMAT + 1, - D3D11_MESSAGE_ID_CREATEVIDEODECODER_DRIVER_INVALIDBUFFERSIZE - = D3D11_MESSAGE_ID_CREATEVIDEODECODER_ZEROWIDTHHEIGHT + 1, - D3D11_MESSAGE_ID_CREATEVIDEODECODER_DRIVER_INVALIDBUFFERUSAGE - = D3D11_MESSAGE_ID_CREATEVIDEODECODER_DRIVER_INVALIDBUFFERSIZE + 1, - D3D11_MESSAGE_ID_GETVIDEODECODERPROFILECOUNT_OUTOFMEMORY - = D3D11_MESSAGE_ID_CREATEVIDEODECODER_DRIVER_INVALIDBUFFERUSAGE + 1, - D3D11_MESSAGE_ID_GETVIDEODECODERPROFILE_NULLPARAM - = D3D11_MESSAGE_ID_GETVIDEODECODERPROFILECOUNT_OUTOFMEMORY + 1, - D3D11_MESSAGE_ID_GETVIDEODECODERPROFILE_INVALIDINDEX - = D3D11_MESSAGE_ID_GETVIDEODECODERPROFILE_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETVIDEODECODERPROFILE_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_GETVIDEODECODERPROFILE_INVALIDINDEX + 1, - D3D11_MESSAGE_ID_CHECKVIDEODECODERFORMAT_NULLPARAM - = D3D11_MESSAGE_ID_GETVIDEODECODERPROFILE_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_CHECKVIDEODECODERFORMAT_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_CHECKVIDEODECODERFORMAT_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETVIDEODECODERCONFIGCOUNT_NULLPARAM - = D3D11_MESSAGE_ID_CHECKVIDEODECODERFORMAT_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_GETVIDEODECODERCONFIGCOUNT_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_GETVIDEODECODERCONFIGCOUNT_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETVIDEODECODERCONFIG_NULLPARAM - = D3D11_MESSAGE_ID_GETVIDEODECODERCONFIGCOUNT_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_GETVIDEODECODERCONFIG_INVALIDINDEX - = D3D11_MESSAGE_ID_GETVIDEODECODERCONFIG_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETVIDEODECODERCONFIG_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_GETVIDEODECODERCONFIG_INVALIDINDEX + 1, - D3D11_MESSAGE_ID_GETDECODERCREATIONPARAMS_NULLPARAM - = D3D11_MESSAGE_ID_GETVIDEODECODERCONFIG_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_GETDECODERDRIVERHANDLE_NULLPARAM - = D3D11_MESSAGE_ID_GETDECODERCREATIONPARAMS_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETDECODERBUFFER_NULLPARAM - = D3D11_MESSAGE_ID_GETDECODERDRIVERHANDLE_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETDECODERBUFFER_INVALIDBUFFER - = D3D11_MESSAGE_ID_GETDECODERBUFFER_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETDECODERBUFFER_INVALIDTYPE - = D3D11_MESSAGE_ID_GETDECODERBUFFER_INVALIDBUFFER + 1, - D3D11_MESSAGE_ID_GETDECODERBUFFER_LOCKED = D3D11_MESSAGE_ID_GETDECODERBUFFER_INVALIDTYPE + 1, - D3D11_MESSAGE_ID_RELEASEDECODERBUFFER_NULLPARAM = D3D11_MESSAGE_ID_GETDECODERBUFFER_LOCKED + 1, - D3D11_MESSAGE_ID_RELEASEDECODERBUFFER_INVALIDTYPE - = D3D11_MESSAGE_ID_RELEASEDECODERBUFFER_NULLPARAM + 1, - D3D11_MESSAGE_ID_RELEASEDECODERBUFFER_NOTLOCKED - = D3D11_MESSAGE_ID_RELEASEDECODERBUFFER_INVALIDTYPE + 1, - D3D11_MESSAGE_ID_DECODERBEGINFRAME_NULLPARAM - = D3D11_MESSAGE_ID_RELEASEDECODERBUFFER_NOTLOCKED + 1, - D3D11_MESSAGE_ID_DECODERBEGINFRAME_HAZARD = D3D11_MESSAGE_ID_DECODERBEGINFRAME_NULLPARAM + 1, - D3D11_MESSAGE_ID_DECODERENDFRAME_NULLPARAM = D3D11_MESSAGE_ID_DECODERBEGINFRAME_HAZARD + 1, - D3D11_MESSAGE_ID_SUBMITDECODERBUFFERS_NULLPARAM - = D3D11_MESSAGE_ID_DECODERENDFRAME_NULLPARAM + 1, - D3D11_MESSAGE_ID_SUBMITDECODERBUFFERS_INVALIDTYPE - = D3D11_MESSAGE_ID_SUBMITDECODERBUFFERS_NULLPARAM + 1, - D3D11_MESSAGE_ID_DECODEREXTENSION_NULLPARAM - = D3D11_MESSAGE_ID_SUBMITDECODERBUFFERS_INVALIDTYPE + 1, - D3D11_MESSAGE_ID_DECODEREXTENSION_INVALIDRESOURCE - = D3D11_MESSAGE_ID_DECODEREXTENSION_NULLPARAM + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_DECODEREXTENSION_INVALIDRESOURCE + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_NULLPARAM - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDFRAMEFORMAT - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_NULLPARAM + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDUSAGE - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDFRAMEFORMAT + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDINPUTFRAMERATE - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDUSAGE + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDOUTPUTFRAMERATE - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDINPUTFRAMERATE + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDWIDTHHEIGHT - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDOUTPUTFRAMERATE + 1, - D3D11_MESSAGE_ID_GETVIDEOPROCESSORCONTENTDESC_NULLPARAM - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORENUMERATOR_INVALIDWIDTHHEIGHT + 1, - D3D11_MESSAGE_ID_CHECKVIDEOPROCESSORFORMAT_NULLPARAM - = D3D11_MESSAGE_ID_GETVIDEOPROCESSORCONTENTDESC_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETVIDEOPROCESSORCAPS_NULLPARAM - = D3D11_MESSAGE_ID_CHECKVIDEOPROCESSORFORMAT_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETVIDEOPROCESSORRATECONVERSIONCAPS_NULLPARAM - = D3D11_MESSAGE_ID_GETVIDEOPROCESSORCAPS_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETVIDEOPROCESSORRATECONVERSIONCAPS_INVALIDINDEX - = D3D11_MESSAGE_ID_GETVIDEOPROCESSORRATECONVERSIONCAPS_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETVIDEOPROCESSORCUSTOMRATE_NULLPARAM - = D3D11_MESSAGE_ID_GETVIDEOPROCESSORRATECONVERSIONCAPS_INVALIDINDEX + 1, - D3D11_MESSAGE_ID_GETVIDEOPROCESSORCUSTOMRATE_INVALIDINDEX - = D3D11_MESSAGE_ID_GETVIDEOPROCESSORCUSTOMRATE_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETVIDEOPROCESSORFILTERRANGE_NULLPARAM - = D3D11_MESSAGE_ID_GETVIDEOPROCESSORCUSTOMRATE_INVALIDINDEX + 1, - D3D11_MESSAGE_ID_GETVIDEOPROCESSORFILTERRANGE_UNSUPPORTED - = D3D11_MESSAGE_ID_GETVIDEOPROCESSORFILTERRANGE_NULLPARAM + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOR_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_GETVIDEOPROCESSORFILTERRANGE_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOR_NULLPARAM - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOR_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTTARGETRECT_NULLPARAM - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOR_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTBACKGROUNDCOLOR_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTTARGETRECT_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTBACKGROUNDCOLOR_INVALIDALPHA - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTBACKGROUNDCOLOR_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCOLORSPACE_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTBACKGROUNDCOLOR_INVALIDALPHA + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTALPHAFILLMODE_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCOLORSPACE_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTALPHAFILLMODE_UNSUPPORTED - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTALPHAFILLMODE_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTALPHAFILLMODE_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTALPHAFILLMODE_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTALPHAFILLMODE_INVALIDFILLMODE - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTALPHAFILLMODE_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCONSTRICTION_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTALPHAFILLMODE_INVALIDFILLMODE + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTSTEREOMODE_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCONSTRICTION_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTSTEREOMODE_UNSUPPORTED - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTSTEREOMODE_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTEXTENSION_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTSTEREOMODE_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTTARGETRECT_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTEXTENSION_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTBACKGROUNDCOLOR_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTTARGETRECT_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTCOLORSPACE_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTBACKGROUNDCOLOR_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTALPHAFILLMODE_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTCOLORSPACE_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTCONSTRICTION_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTALPHAFILLMODE_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCONSTRICTION_UNSUPPORTED - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTCONSTRICTION_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCONSTRICTION_INVALIDSIZE - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCONSTRICTION_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTSTEREOMODE_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCONSTRICTION_INVALIDSIZE + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTEXTENSION_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTSTEREOMODE_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFRAMEFORMAT_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTEXTENSION_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFRAMEFORMAT_INVALIDFORMAT - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFRAMEFORMAT_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFRAMEFORMAT_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFRAMEFORMAT_INVALIDFORMAT + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFRAMEFORMAT_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMOUTPUTRATE_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMOUTPUTRATE_INVALIDRATE - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMOUTPUTRATE_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMOUTPUTRATE_INVALIDFLAG - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMOUTPUTRATE_INVALIDRATE + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMOUTPUTRATE_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMOUTPUTRATE_INVALIDFLAG + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSOURCERECT_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMOUTPUTRATE_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSOURCERECT_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSOURCERECT_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSOURCERECT_INVALIDRECT - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSOURCERECT_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMDESTRECT_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSOURCERECT_INVALIDRECT + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMDESTRECT_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMDESTRECT_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMDESTRECT_INVALIDRECT - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMDESTRECT_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMALPHA_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMDESTRECT_INVALIDRECT + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMALPHA_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMALPHA_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMALPHA_INVALIDALPHA - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMALPHA_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPALETTE_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMALPHA_INVALIDALPHA + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPALETTE_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPALETTE_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPALETTE_INVALIDCOUNT - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPALETTE_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPALETTE_INVALIDALPHA - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPALETTE_INVALIDCOUNT + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPIXELASPECTRATIO_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPALETTE_INVALIDALPHA + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPIXELASPECTRATIO_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPIXELASPECTRATIO_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPIXELASPECTRATIO_INVALIDRATIO - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPIXELASPECTRATIO_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMLUMAKEY_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPIXELASPECTRATIO_INVALIDRATIO + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMLUMAKEY_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMLUMAKEY_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMLUMAKEY_INVALIDRANGE - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMLUMAKEY_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMLUMAKEY_UNSUPPORTED - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMLUMAKEY_INVALIDRANGE + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMLUMAKEY_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_UNSUPPORTED - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_FLIPUNSUPPORTED - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_MONOOFFSETUNSUPPORTED - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_FLIPUNSUPPORTED + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_FORMATUNSUPPORTED - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_MONOOFFSETUNSUPPORTED + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_INVALIDFORMAT - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_FORMATUNSUPPORTED + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMAUTOPROCESSINGMODE_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMSTEREOFORMAT_INVALIDFORMAT + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMAUTOPROCESSINGMODE_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMAUTOPROCESSINGMODE_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMAUTOPROCESSINGMODE_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_INVALIDFILTER - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_UNSUPPORTED - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_INVALIDFILTER + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_INVALIDLEVEL - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMEXTENSION_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMFILTER_INVALIDLEVEL + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMEXTENSION_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMEXTENSION_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMFRAMEFORMAT_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMEXTENSION_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMFRAMEFORMAT_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMOUTPUTRATE_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMSOURCERECT_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMOUTPUTRATE_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMDESTRECT_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMSOURCERECT_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMALPHA_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMDESTRECT_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMPALETTE_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMALPHA_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMPIXELASPECTRATIO_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMPALETTE_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMLUMAKEY_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMPIXELASPECTRATIO_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMSTEREOFORMAT_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMLUMAKEY_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMAUTOPROCESSINGMODE_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMSTEREOFORMAT_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMFILTER_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMAUTOPROCESSINGMODE_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMEXTENSION_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMFILTER_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMEXTENSION_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMEXTENSION_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMEXTENSION_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDSTREAMCOUNT - = D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_TARGETRECT - = D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDSTREAMCOUNT + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDOUTPUT - = D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_TARGETRECT + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDPASTFRAMES - = D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDOUTPUT + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDFUTUREFRAMES - = D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDPASTFRAMES + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDSOURCERECT - = D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDFUTUREFRAMES + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDDESTRECT - = D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDSOURCERECT + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDINPUTRESOURCE - = D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDDESTRECT + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDARRAYSIZE - = D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDINPUTRESOURCE + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDARRAY - = D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDARRAYSIZE + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_RIGHTEXPECTED - = D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDARRAY + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_RIGHTNOTEXPECTED - = D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_RIGHTEXPECTED + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_STEREONOTENABLED - = D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_RIGHTNOTEXPECTED + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDRIGHTRESOURCE - = D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_STEREONOTENABLED + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_NOSTEREOSTREAMS - = D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INVALIDRIGHTRESOURCE + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INPUTHAZARD - = D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_NOSTEREOSTREAMS + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_OUTPUTHAZARD - = D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_INPUTHAZARD + 1, - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_VIDEOPROCESSORBLT_OUTPUTHAZARD + 1, - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_NULLPARAM - = D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDTYPE - = D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_NULLPARAM + 1, - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDBIND - = D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDTYPE + 1, - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_UNSUPPORTEDFORMAT - = D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDBIND + 1, - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDMIP - = D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_UNSUPPORTEDFORMAT + 1, - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_UNSUPPORTEMIP - = D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDMIP + 1, - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDARRAYSIZE - = D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_UNSUPPORTEMIP + 1, - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDARRAY - = D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDARRAYSIZE + 1, - D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDDIMENSION - = D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDARRAY + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_CREATEVIDEODECODEROUTPUTVIEW_INVALIDDIMENSION + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_NULLPARAM - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDTYPE - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_NULLPARAM + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDBIND - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDTYPE + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDMISC - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDBIND + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDUSAGE - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDMISC + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDFORMAT - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDUSAGE + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDFOURCC - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDFORMAT + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDMIP - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDFOURCC + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_UNSUPPORTEDMIP - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDMIP + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDARRAYSIZE - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_UNSUPPORTEDMIP + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDARRAY - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDARRAYSIZE + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDDIMENSION - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDARRAY + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDDIMENSION + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_NULLPARAM - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDTYPE - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_NULLPARAM + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDBIND - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDTYPE + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDFORMAT - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDBIND + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDMIP - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDFORMAT + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_UNSUPPORTEDMIP - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDMIP + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_UNSUPPORTEDARRAY - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_UNSUPPORTEDMIP + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDARRAY - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_UNSUPPORTEDARRAY + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDDIMENSION - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDARRAY + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_FORCED_SAMPLE_COUNT - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDDIMENSION + 1, - D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS - = D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_FORCED_SAMPLE_COUNT + 1, - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDARRAYWITHDECODER - = D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS + 1, - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDARRAYWITHDECODER - = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDARRAYWITHDECODER + 1, - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDARRAYWITHDECODER - = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDARRAYWITHDECODER + 1, - D3D11_MESSAGE_ID_DEVICE_LOCKEDOUT_INTERFACE - = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDARRAYWITHDECODER + 1, - D3D11_MESSAGE_ID_REF_WARNING_ATOMIC_INCONSISTENT - = D3D11_MESSAGE_ID_DEVICE_LOCKEDOUT_INTERFACE + 1, - D3D11_MESSAGE_ID_REF_WARNING_READING_UNINITIALIZED_RESOURCE - = D3D11_MESSAGE_ID_REF_WARNING_ATOMIC_INCONSISTENT + 1, - D3D11_MESSAGE_ID_REF_WARNING_RAW_HAZARD - = D3D11_MESSAGE_ID_REF_WARNING_READING_UNINITIALIZED_RESOURCE + 1, - D3D11_MESSAGE_ID_REF_WARNING_WAR_HAZARD = D3D11_MESSAGE_ID_REF_WARNING_RAW_HAZARD + 1, - D3D11_MESSAGE_ID_REF_WARNING_WAW_HAZARD = D3D11_MESSAGE_ID_REF_WARNING_WAR_HAZARD + 1, - D3D11_MESSAGE_ID_CREATECRYPTOSESSION_NULLPARAM = D3D11_MESSAGE_ID_REF_WARNING_WAW_HAZARD + 1, - D3D11_MESSAGE_ID_CREATECRYPTOSESSION_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_CREATECRYPTOSESSION_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETCRYPTOTYPE_NULLPARAM - = D3D11_MESSAGE_ID_CREATECRYPTOSESSION_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_GETDECODERPROFILE_NULLPARAM = D3D11_MESSAGE_ID_GETCRYPTOTYPE_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETCRYPTOSESSIONCERTIFICATESIZE_NULLPARAM - = D3D11_MESSAGE_ID_GETDECODERPROFILE_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETCRYPTOSESSIONCERTIFICATE_NULLPARAM - = D3D11_MESSAGE_ID_GETCRYPTOSESSIONCERTIFICATESIZE_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETCRYPTOSESSIONCERTIFICATE_WRONGSIZE - = D3D11_MESSAGE_ID_GETCRYPTOSESSIONCERTIFICATE_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETCRYPTOSESSIONHANDLE_WRONGSIZE - = D3D11_MESSAGE_ID_GETCRYPTOSESSIONCERTIFICATE_WRONGSIZE + 1, - D3D11_MESSAGE_ID_NEGOTIATECRPYTOSESSIONKEYEXCHANGE_NULLPARAM - = D3D11_MESSAGE_ID_GETCRYPTOSESSIONHANDLE_WRONGSIZE + 1, - D3D11_MESSAGE_ID_ENCRYPTIONBLT_UNSUPPORTED - = D3D11_MESSAGE_ID_NEGOTIATECRPYTOSESSIONKEYEXCHANGE_NULLPARAM + 1, - D3D11_MESSAGE_ID_ENCRYPTIONBLT_NULLPARAM = D3D11_MESSAGE_ID_ENCRYPTIONBLT_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_WRONGDEVICE = D3D11_MESSAGE_ID_ENCRYPTIONBLT_NULLPARAM + 1, - D3D11_MESSAGE_ID_ENCRYPTIONBLT_DST_WRONGDEVICE - = D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_WRONGDEVICE + 1, - D3D11_MESSAGE_ID_ENCRYPTIONBLT_FORMAT_MISMATCH - = D3D11_MESSAGE_ID_ENCRYPTIONBLT_DST_WRONGDEVICE + 1, - D3D11_MESSAGE_ID_ENCRYPTIONBLT_SIZE_MISMATCH - = D3D11_MESSAGE_ID_ENCRYPTIONBLT_FORMAT_MISMATCH + 1, - D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_MULTISAMPLED - = D3D11_MESSAGE_ID_ENCRYPTIONBLT_SIZE_MISMATCH + 1, - D3D11_MESSAGE_ID_ENCRYPTIONBLT_DST_NOT_STAGING - = D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_MULTISAMPLED + 1, - D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_MAPPED = D3D11_MESSAGE_ID_ENCRYPTIONBLT_DST_NOT_STAGING + 1, - D3D11_MESSAGE_ID_ENCRYPTIONBLT_DST_MAPPED = D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_MAPPED + 1, - D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_OFFERED = D3D11_MESSAGE_ID_ENCRYPTIONBLT_DST_MAPPED + 1, - D3D11_MESSAGE_ID_ENCRYPTIONBLT_DST_OFFERED = D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_OFFERED + 1, - D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_CONTENT_UNDEFINED - = D3D11_MESSAGE_ID_ENCRYPTIONBLT_DST_OFFERED + 1, - D3D11_MESSAGE_ID_DECRYPTIONBLT_UNSUPPORTED - = D3D11_MESSAGE_ID_ENCRYPTIONBLT_SRC_CONTENT_UNDEFINED + 1, - D3D11_MESSAGE_ID_DECRYPTIONBLT_NULLPARAM = D3D11_MESSAGE_ID_DECRYPTIONBLT_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_WRONGDEVICE = D3D11_MESSAGE_ID_DECRYPTIONBLT_NULLPARAM + 1, - D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_WRONGDEVICE - = D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_WRONGDEVICE + 1, - D3D11_MESSAGE_ID_DECRYPTIONBLT_FORMAT_MISMATCH - = D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_WRONGDEVICE + 1, - D3D11_MESSAGE_ID_DECRYPTIONBLT_SIZE_MISMATCH - = D3D11_MESSAGE_ID_DECRYPTIONBLT_FORMAT_MISMATCH + 1, - D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_MULTISAMPLED - = D3D11_MESSAGE_ID_DECRYPTIONBLT_SIZE_MISMATCH + 1, - D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_NOT_STAGING - = D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_MULTISAMPLED + 1, - D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_NOT_RENDER_TARGET - = D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_NOT_STAGING + 1, - D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_MAPPED - = D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_NOT_RENDER_TARGET + 1, - D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_MAPPED = D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_MAPPED + 1, - D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_OFFERED = D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_MAPPED + 1, - D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_OFFERED = D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_OFFERED + 1, - D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_CONTENT_UNDEFINED - = D3D11_MESSAGE_ID_DECRYPTIONBLT_DST_OFFERED + 1, - D3D11_MESSAGE_ID_STARTSESSIONKEYREFRESH_NULLPARAM - = D3D11_MESSAGE_ID_DECRYPTIONBLT_SRC_CONTENT_UNDEFINED + 1, - D3D11_MESSAGE_ID_STARTSESSIONKEYREFRESH_INVALIDSIZE - = D3D11_MESSAGE_ID_STARTSESSIONKEYREFRESH_NULLPARAM + 1, - D3D11_MESSAGE_ID_FINISHSESSIONKEYREFRESH_NULLPARAM - = D3D11_MESSAGE_ID_STARTSESSIONKEYREFRESH_INVALIDSIZE + 1, - D3D11_MESSAGE_ID_GETENCRYPTIONBLTKEY_NULLPARAM - = D3D11_MESSAGE_ID_FINISHSESSIONKEYREFRESH_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETENCRYPTIONBLTKEY_INVALIDSIZE - = D3D11_MESSAGE_ID_GETENCRYPTIONBLTKEY_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETCONTENTPROTECTIONCAPS_NULLPARAM - = D3D11_MESSAGE_ID_GETENCRYPTIONBLTKEY_INVALIDSIZE + 1, - D3D11_MESSAGE_ID_CHECKCRYPTOKEYEXCHANGE_NULLPARAM - = D3D11_MESSAGE_ID_GETCONTENTPROTECTIONCAPS_NULLPARAM + 1, - D3D11_MESSAGE_ID_CHECKCRYPTOKEYEXCHANGE_INVALIDINDEX - = D3D11_MESSAGE_ID_CHECKCRYPTOKEYEXCHANGE_NULLPARAM + 1, - D3D11_MESSAGE_ID_CREATEAUTHENTICATEDCHANNEL_NULLPARAM - = D3D11_MESSAGE_ID_CHECKCRYPTOKEYEXCHANGE_INVALIDINDEX + 1, - D3D11_MESSAGE_ID_CREATEAUTHENTICATEDCHANNEL_UNSUPPORTED - = D3D11_MESSAGE_ID_CREATEAUTHENTICATEDCHANNEL_NULLPARAM + 1, - D3D11_MESSAGE_ID_CREATEAUTHENTICATEDCHANNEL_INVALIDTYPE - = D3D11_MESSAGE_ID_CREATEAUTHENTICATEDCHANNEL_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_CREATEAUTHENTICATEDCHANNEL_OUTOFMEMORY_RETURN - = D3D11_MESSAGE_ID_CREATEAUTHENTICATEDCHANNEL_INVALIDTYPE + 1, - D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATESIZE_INVALIDCHANNEL - = D3D11_MESSAGE_ID_CREATEAUTHENTICATEDCHANNEL_OUTOFMEMORY_RETURN + 1, - D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATESIZE_NULLPARAM - = D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATESIZE_INVALIDCHANNEL + 1, - D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATE_INVALIDCHANNEL - = D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATESIZE_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATE_NULLPARAM - = D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATE_INVALIDCHANNEL + 1, - D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATE_WRONGSIZE - = D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATE_NULLPARAM + 1, - D3D11_MESSAGE_ID_NEGOTIATEAUTHENTICATEDCHANNELKEYEXCHANGE_INVALIDCHANNEL - = D3D11_MESSAGE_ID_GETAUTHENTICATEDCHANNELCERTIFICATE_WRONGSIZE + 1, - D3D11_MESSAGE_ID_NEGOTIATEAUTHENTICATEDCHANNELKEYEXCHANGE_NULLPARAM - = D3D11_MESSAGE_ID_NEGOTIATEAUTHENTICATEDCHANNELKEYEXCHANGE_INVALIDCHANNEL + 1, - D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_NULLPARAM - = D3D11_MESSAGE_ID_NEGOTIATEAUTHENTICATEDCHANNELKEYEXCHANGE_NULLPARAM + 1, - D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_WRONGCHANNEL - = D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_NULLPARAM + 1, - D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_UNSUPPORTEDQUERY - = D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_WRONGCHANNEL + 1, - D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_WRONGSIZE - = D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_UNSUPPORTEDQUERY + 1, - D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_INVALIDPROCESSINDEX - = D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_WRONGSIZE + 1, - D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_NULLPARAM - = D3D11_MESSAGE_ID_QUERYAUTHENTICATEDCHANNEL_INVALIDPROCESSINDEX + 1, - D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_WRONGCHANNEL - = D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_NULLPARAM + 1, - D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_UNSUPPORTEDCONFIGURE - = D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_WRONGCHANNEL + 1, - D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_WRONGSIZE - = D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_UNSUPPORTEDCONFIGURE + 1, - D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_INVALIDPROCESSIDTYPE - = D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_WRONGSIZE + 1, - D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT - = D3D11_MESSAGE_ID_CONFIGUREAUTHENTICATEDCHANNEL_INVALIDPROCESSIDTYPE + 1, - D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT - = D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT + 1, - D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT - = D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT + 1, - D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT - = D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT + 1, - D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT - = D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT + 1, - D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT - = D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT + 1, - D3D11_MESSAGE_ID_NEGOTIATECRPYTOSESSIONKEYEXCHANGE_INVALIDSIZE - = D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_INVALIDBUFFEROFFSETORCOUNT + 1, - D3D11_MESSAGE_ID_NEGOTIATEAUTHENTICATEDCHANNELKEYEXCHANGE_INVALIDSIZE - = D3D11_MESSAGE_ID_NEGOTIATECRPYTOSESSIONKEYEXCHANGE_INVALIDSIZE + 1, - D3D11_MESSAGE_ID_OFFERRESOURCES_INVALIDPRIORITY - = D3D11_MESSAGE_ID_NEGOTIATEAUTHENTICATEDCHANNELKEYEXCHANGE_INVALIDSIZE + 1, - D3D11_MESSAGE_ID_GETCRYPTOSESSIONHANDLE_OUTOFMEMORY - = D3D11_MESSAGE_ID_OFFERRESOURCES_INVALIDPRIORITY + 1, - D3D11_MESSAGE_ID_ACQUIREHANDLEFORCAPTURE_NULLPARAM - = D3D11_MESSAGE_ID_GETCRYPTOSESSIONHANDLE_OUTOFMEMORY + 1, - D3D11_MESSAGE_ID_ACQUIREHANDLEFORCAPTURE_INVALIDTYPE - = D3D11_MESSAGE_ID_ACQUIREHANDLEFORCAPTURE_NULLPARAM + 1, - D3D11_MESSAGE_ID_ACQUIREHANDLEFORCAPTURE_INVALIDBIND - = D3D11_MESSAGE_ID_ACQUIREHANDLEFORCAPTURE_INVALIDTYPE + 1, - D3D11_MESSAGE_ID_ACQUIREHANDLEFORCAPTURE_INVALIDARRAY - = D3D11_MESSAGE_ID_ACQUIREHANDLEFORCAPTURE_INVALIDBIND + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMROTATION_NULLPARAM - = D3D11_MESSAGE_ID_ACQUIREHANDLEFORCAPTURE_INVALIDARRAY + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMROTATION_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMROTATION_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMROTATION_INVALID - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMROTATION_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMROTATION_UNSUPPORTED - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMROTATION_INVALID + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMROTATION_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMROTATION_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDVIEW - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMROTATION_NULLPARAM + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDVIEW + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_SHADEREXTENSIONSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_SHADEREXTENSIONSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_SHADEREXTENSIONSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_SHADEREXTENSIONSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_SHADEREXTENSIONSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_SHADEREXTENSIONSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_SHADEREXTENSIONSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_SHADEREXTENSIONSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_SHADEREXTENSIONSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED - + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_SHADEREXTENSIONSNOTSUPPORTED - + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_SHADEREXTENSIONSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_SHADEREXTENSIONSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_SHADEREXTENSIONSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_MINPRECISION - = D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_SHADEREXTENSIONSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMALPHA_UNSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_MINPRECISION + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPIXELASPECTRATIO_UNSUPPORTED - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMALPHA_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMPIXELASPECTRATIO_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_INVALIDOFFSET - = D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_TOOMANYVIEWS - = D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_INVALIDOFFSET + 1, - D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_NOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_TOOMANYVIEWS + 1, - D3D11_MESSAGE_ID_SWAPDEVICECONTEXTSTATE_NOTSUPPORTED - = D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_NOTSUPPORTED + 1, - D3D11_MESSAGE_ID_UPDATESUBRESOURCE_PREFERUPDATESUBRESOURCE1 - = D3D11_MESSAGE_ID_SWAPDEVICECONTEXTSTATE_NOTSUPPORTED + 1, - D3D11_MESSAGE_ID_GETDC_INACCESSIBLE - = D3D11_MESSAGE_ID_UPDATESUBRESOURCE_PREFERUPDATESUBRESOURCE1 + 1, - D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDRECT = D3D11_MESSAGE_ID_GETDC_INACCESSIBLE + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLE_MASK_IGNORED_ON_FL9 - = D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDRECT + 1, - D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE1_NOT_SUPPORTED - = D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLE_MASK_IGNORED_ON_FL9 + 1, - D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BY_NAME_NOT_SUPPORTED - = D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE1_NOT_SUPPORTED + 1, - D3D11_MESSAGE_ID_ENQUEUESETEVENT_NOT_SUPPORTED - = D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BY_NAME_NOT_SUPPORTED + 1, - D3D11_MESSAGE_ID_OFFERRELEASE_NOT_SUPPORTED - = D3D11_MESSAGE_ID_ENQUEUESETEVENT_NOT_SUPPORTED + 1, - D3D11_MESSAGE_ID_OFFERRESOURCES_INACCESSIBLE = D3D11_MESSAGE_ID_OFFERRELEASE_NOT_SUPPORTED + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDMSAA - = D3D11_MESSAGE_ID_OFFERRESOURCES_INACCESSIBLE + 1, - D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDMSAA - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDMSAA + 1, - D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT - = D3D11_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDMSAA + 1, - D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT - = D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT + 1, - D3D11_MESSAGE_ID_UPDATESUBRESOURCE_EMPTYDESTBOX - = D3D11_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT + 1, - D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_EMPTYSOURCEBOX - = D3D11_MESSAGE_ID_UPDATESUBRESOURCE_EMPTYDESTBOX + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS - = D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_EMPTYSOURCEBOX + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_DEPTHSTENCILVIEW_NOT_SET - = D3D11_MESSAGE_ID_DEVICE_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET - = D3D11_MESSAGE_ID_DEVICE_DRAW_DEPTHSTENCILVIEW_NOT_SET + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET_DUE_TO_FLIP_PRESENT - = D3D11_MESSAGE_ID_DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET + 1, - D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET_DUE_TO_FLIP_PRESENT - = D3D11_MESSAGE_ID_DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET_DUE_TO_FLIP_PRESENT + 1, - D3D11_MESSAGE_ID_GETDATAFORNEWHARDWAREKEY_NULLPARAM - = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET_DUE_TO_FLIP_PRESENT + 1, - D3D11_MESSAGE_ID_CHECKCRYPTOSESSIONSTATUS_NULLPARAM - = D3D11_MESSAGE_ID_GETDATAFORNEWHARDWAREKEY_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETCRYPTOSESSIONPRIVATEDATASIZE_NULLPARAM - = D3D11_MESSAGE_ID_CHECKCRYPTOSESSIONSTATUS_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETVIDEODECODERCAPS_NULLPARAM - = D3D11_MESSAGE_ID_GETCRYPTOSESSIONPRIVATEDATASIZE_NULLPARAM + 1, - D3D11_MESSAGE_ID_GETVIDEODECODERCAPS_ZEROWIDTHHEIGHT - = D3D11_MESSAGE_ID_GETVIDEODECODERCAPS_NULLPARAM + 1, - D3D11_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_NULLPARAM - = D3D11_MESSAGE_ID_GETVIDEODECODERCAPS_ZEROWIDTHHEIGHT + 1, - D3D11_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_INVALIDCOLORSPACE - = D3D11_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_NULLPARAM + 1, - D3D11_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_ZEROWIDTHHEIGHT - = D3D11_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_INVALIDCOLORSPACE + 1, - D3D11_MESSAGE_ID_VIDEODECODERENABLEDOWNSAMPLING_NULLPARAM - = D3D11_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_ZEROWIDTHHEIGHT + 1, - D3D11_MESSAGE_ID_VIDEODECODERENABLEDOWNSAMPLING_UNSUPPORTED - = D3D11_MESSAGE_ID_VIDEODECODERENABLEDOWNSAMPLING_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEODECODERUPDATEDOWNSAMPLING_NULLPARAM - = D3D11_MESSAGE_ID_VIDEODECODERENABLEDOWNSAMPLING_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_VIDEODECODERUPDATEDOWNSAMPLING_UNSUPPORTED - = D3D11_MESSAGE_ID_VIDEODECODERUPDATEDOWNSAMPLING_NULLPARAM + 1, - D3D11_MESSAGE_ID_CHECKVIDEOPROCESSORFORMATCONVERSION_NULLPARAM - = D3D11_MESSAGE_ID_VIDEODECODERUPDATEDOWNSAMPLING_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCOLORSPACE1_NULLPARAM - = D3D11_MESSAGE_ID_CHECKVIDEOPROCESSORFORMATCONVERSION_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTCOLORSPACE1_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCOLORSPACE1_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE1_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTCOLORSPACE1_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE1_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE1_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE1_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_UNSUPPORTED - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE1_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_UNSUPPORTED + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE1_NULLPARAM + 1, - D3D11_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_NULLPARAM + 1, - D3D11_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_INVALIDCOLORSPACE - = D3D11_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_NULLPARAM + 1, - D3D11_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_ZEROWIDTHHEIGHT - = D3D11_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_INVALIDCOLORSPACE + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTSHADERUSAGE_NULLPARAM - = D3D11_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_ZEROWIDTHHEIGHT + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTSHADERUSAGE_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTSHADERUSAGE_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTSHADERUSAGE_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDSTREAMCOUNT - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_TARGETRECT - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDSTREAMCOUNT + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDSOURCERECT - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_TARGETRECT + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDDESTRECT - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDSOURCERECT + 1, - D3D11_MESSAGE_ID_GETCRYPTOSESSIONPRIVATEDATASIZE_INVALID_KEY_EXCHANGE_TYPE - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDDESTRECT + 1, - D3D11_MESSAGE_ID_D3D11_1_MESSAGES_END - = D3D11_MESSAGE_ID_GETCRYPTOSESSIONPRIVATEDATASIZE_INVALID_KEY_EXCHANGE_TYPE + 1, - D3D11_MESSAGE_ID_D3D11_2_MESSAGES_START = D3D11_MESSAGE_ID_D3D11_1_MESSAGES_END + 1, - D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDUSAGE = D3D11_MESSAGE_ID_D3D11_2_MESSAGES_START + 1, - D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDUSAGE = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDUSAGE + 1, - D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDUSAGE - = D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDUSAGE + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_LEVEL9_STEPRATE_NOT_1 - = D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDUSAGE + 1, - D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_LEVEL9_INSTANCING_NOT_SUPPORTED - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_LEVEL9_STEPRATE_NOT_1 + 1, - D3D11_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER - = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_LEVEL9_INSTANCING_NOT_SUPPORTED + 1, - D3D11_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER - = D3D11_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER + 1, - D3D11_MESSAGE_ID_COPYTILES_INVALID_PARAMETER - = D3D11_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER + 1, - D3D11_MESSAGE_ID_UPDATETILES_INVALID_PARAMETER - = D3D11_MESSAGE_ID_COPYTILES_INVALID_PARAMETER + 1, - D3D11_MESSAGE_ID_RESIZETILEPOOL_INVALID_PARAMETER - = D3D11_MESSAGE_ID_UPDATETILES_INVALID_PARAMETER + 1, - D3D11_MESSAGE_ID_TILEDRESOURCEBARRIER_INVALID_PARAMETER - = D3D11_MESSAGE_ID_RESIZETILEPOOL_INVALID_PARAMETER + 1, - D3D11_MESSAGE_ID_NULL_TILE_MAPPING_ACCESS_WARNING - = D3D11_MESSAGE_ID_TILEDRESOURCEBARRIER_INVALID_PARAMETER + 1, - D3D11_MESSAGE_ID_NULL_TILE_MAPPING_ACCESS_ERROR - = D3D11_MESSAGE_ID_NULL_TILE_MAPPING_ACCESS_WARNING + 1, - D3D11_MESSAGE_ID_DIRTY_TILE_MAPPING_ACCESS - = D3D11_MESSAGE_ID_NULL_TILE_MAPPING_ACCESS_ERROR + 1, - D3D11_MESSAGE_ID_DUPLICATE_TILE_MAPPINGS_IN_COVERED_AREA - = D3D11_MESSAGE_ID_DIRTY_TILE_MAPPING_ACCESS + 1, - D3D11_MESSAGE_ID_TILE_MAPPINGS_IN_COVERED_AREA_DUPLICATED_OUTSIDE - = D3D11_MESSAGE_ID_DUPLICATE_TILE_MAPPINGS_IN_COVERED_AREA + 1, - D3D11_MESSAGE_ID_TILE_MAPPINGS_SHARED_BETWEEN_INCOMPATIBLE_RESOURCES - = D3D11_MESSAGE_ID_TILE_MAPPINGS_IN_COVERED_AREA_DUPLICATED_OUTSIDE + 1, - D3D11_MESSAGE_ID_TILE_MAPPINGS_SHARED_BETWEEN_INPUT_AND_OUTPUT - = D3D11_MESSAGE_ID_TILE_MAPPINGS_SHARED_BETWEEN_INCOMPATIBLE_RESOURCES + 1, - D3D11_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_INVALIDFLAGS - = D3D11_MESSAGE_ID_TILE_MAPPINGS_SHARED_BETWEEN_INPUT_AND_OUTPUT + 1, - D3D11_MESSAGE_ID_GETRESOURCETILING_NONTILED_RESOURCE - = D3D11_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_INVALIDFLAGS + 1, - D3D11_MESSAGE_ID_RESIZETILEPOOL_SHRINK_WITH_MAPPINGS_STILL_DEFINED_PAST_END - = D3D11_MESSAGE_ID_GETRESOURCETILING_NONTILED_RESOURCE + 1, - D3D11_MESSAGE_ID_NEED_TO_CALL_TILEDRESOURCEBARRIER - = D3D11_MESSAGE_ID_RESIZETILEPOOL_SHRINK_WITH_MAPPINGS_STILL_DEFINED_PAST_END + 1, - D3D11_MESSAGE_ID_CREATEDEVICE_INVALIDARGS - = D3D11_MESSAGE_ID_NEED_TO_CALL_TILEDRESOURCEBARRIER + 1, - D3D11_MESSAGE_ID_CREATEDEVICE_WARNING = D3D11_MESSAGE_ID_CREATEDEVICE_INVALIDARGS + 1, - D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWUINT_HAZARD - = D3D11_MESSAGE_ID_CREATEDEVICE_WARNING + 1, - D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWFLOAT_HAZARD - = D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWUINT_HAZARD + 1, - D3D11_MESSAGE_ID_TILED_RESOURCE_TIER_1_BUFFER_TEXTURE_MISMATCH - = D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWFLOAT_HAZARD + 1, - D3D11_MESSAGE_ID_CREATE_CRYPTOSESSION - = D3D11_MESSAGE_ID_TILED_RESOURCE_TIER_1_BUFFER_TEXTURE_MISMATCH + 1, - D3D11_MESSAGE_ID_CREATE_AUTHENTICATEDCHANNEL = D3D11_MESSAGE_ID_CREATE_CRYPTOSESSION + 1, - D3D11_MESSAGE_ID_LIVE_CRYPTOSESSION = D3D11_MESSAGE_ID_CREATE_AUTHENTICATEDCHANNEL + 1, - D3D11_MESSAGE_ID_LIVE_AUTHENTICATEDCHANNEL = D3D11_MESSAGE_ID_LIVE_CRYPTOSESSION + 1, - D3D11_MESSAGE_ID_DESTROY_CRYPTOSESSION = D3D11_MESSAGE_ID_LIVE_AUTHENTICATEDCHANNEL + 1, - D3D11_MESSAGE_ID_DESTROY_AUTHENTICATEDCHANNEL = D3D11_MESSAGE_ID_DESTROY_CRYPTOSESSION + 1, - D3D11_MESSAGE_ID_D3D11_2_MESSAGES_END = D3D11_MESSAGE_ID_DESTROY_AUTHENTICATEDCHANNEL + 1, - D3D11_MESSAGE_ID_D3D11_3_MESSAGES_START = D3D11_MESSAGE_ID_D3D11_2_MESSAGES_END + 1, - D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE - = D3D11_MESSAGE_ID_D3D11_3_MESSAGES_START + 1, - D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_SYSTEMVALUE - = D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE + 1, - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDCONTEXTTYPE - = D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_SYSTEMVALUE + 1, - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_DECODENOTSUPPORTED - = D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDCONTEXTTYPE + 1, - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_ENCODENOTSUPPORTED - = D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_DECODENOTSUPPORTED + 1, - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANEINDEX - = D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_ENCODENOTSUPPORTED + 1, - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANEINDEX - = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANEINDEX + 1, - D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_AMBIGUOUSVIDEOPLANEINDEX - = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANEINDEX + 1, - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANEINDEX - = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_AMBIGUOUSVIDEOPLANEINDEX + 1, - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANEINDEX - = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANEINDEX + 1, - D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_AMBIGUOUSVIDEOPLANEINDEX - = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANEINDEX + 1, - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANEINDEX - = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_AMBIGUOUSVIDEOPLANEINDEX + 1, - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANEINDEX - = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANEINDEX + 1, - D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_AMBIGUOUSVIDEOPLANEINDEX - = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANEINDEX + 1, - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDSCANDATAOFFSET - = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_AMBIGUOUSVIDEOPLANEINDEX + 1, - D3D11_MESSAGE_ID_JPEGDECODE_NOTSUPPORTED - = D3D11_MESSAGE_ID_JPEGDECODE_INVALIDSCANDATAOFFSET + 1, - D3D11_MESSAGE_ID_JPEGDECODE_DIMENSIONSTOOLARGE = D3D11_MESSAGE_ID_JPEGDECODE_NOTSUPPORTED + 1, - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDCOMPONENTS - = D3D11_MESSAGE_ID_JPEGDECODE_DIMENSIONSTOOLARGE + 1, - D3D11_MESSAGE_ID_JPEGDECODE_DESTINATIONNOT2D - = D3D11_MESSAGE_ID_JPEGDECODE_INVALIDCOMPONENTS + 1, - D3D11_MESSAGE_ID_JPEGDECODE_TILEDRESOURCESUNSUPPORTED - = D3D11_MESSAGE_ID_JPEGDECODE_DESTINATIONNOT2D + 1, - D3D11_MESSAGE_ID_JPEGDECODE_GUARDRECTSUNSUPPORTED - = D3D11_MESSAGE_ID_JPEGDECODE_TILEDRESOURCESUNSUPPORTED + 1, - D3D11_MESSAGE_ID_JPEGDECODE_FORMATUNSUPPORTED - = D3D11_MESSAGE_ID_JPEGDECODE_GUARDRECTSUNSUPPORTED + 1, - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDSUBRESOURCE - = D3D11_MESSAGE_ID_JPEGDECODE_FORMATUNSUPPORTED + 1, - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDMIPLEVEL - = D3D11_MESSAGE_ID_JPEGDECODE_INVALIDSUBRESOURCE + 1, - D3D11_MESSAGE_ID_JPEGDECODE_EMPTYDESTBOX = D3D11_MESSAGE_ID_JPEGDECODE_INVALIDMIPLEVEL + 1, - D3D11_MESSAGE_ID_JPEGDECODE_DESTBOXNOT2D = D3D11_MESSAGE_ID_JPEGDECODE_EMPTYDESTBOX + 1, - D3D11_MESSAGE_ID_JPEGDECODE_DESTBOXNOTSUB = D3D11_MESSAGE_ID_JPEGDECODE_DESTBOXNOT2D + 1, - D3D11_MESSAGE_ID_JPEGDECODE_DESTBOXESINTERSECT = D3D11_MESSAGE_ID_JPEGDECODE_DESTBOXNOTSUB + 1, - D3D11_MESSAGE_ID_JPEGDECODE_XSUBSAMPLEMISMATCH - = D3D11_MESSAGE_ID_JPEGDECODE_DESTBOXESINTERSECT + 1, - D3D11_MESSAGE_ID_JPEGDECODE_YSUBSAMPLEMISMATCH - = D3D11_MESSAGE_ID_JPEGDECODE_XSUBSAMPLEMISMATCH + 1, - D3D11_MESSAGE_ID_JPEGDECODE_XSUBSAMPLEODD = D3D11_MESSAGE_ID_JPEGDECODE_YSUBSAMPLEMISMATCH + 1, - D3D11_MESSAGE_ID_JPEGDECODE_YSUBSAMPLEODD = D3D11_MESSAGE_ID_JPEGDECODE_XSUBSAMPLEODD + 1, - D3D11_MESSAGE_ID_JPEGDECODE_OUTPUTDIMENSIONSTOOLARGE - = D3D11_MESSAGE_ID_JPEGDECODE_YSUBSAMPLEODD + 1, - D3D11_MESSAGE_ID_JPEGDECODE_NONPOW2SCALEUNSUPPORTED - = D3D11_MESSAGE_ID_JPEGDECODE_OUTPUTDIMENSIONSTOOLARGE + 1, - D3D11_MESSAGE_ID_JPEGDECODE_FRACTIONALDOWNSCALETOLARGE - = D3D11_MESSAGE_ID_JPEGDECODE_NONPOW2SCALEUNSUPPORTED + 1, - D3D11_MESSAGE_ID_JPEGDECODE_CHROMASIZEMISMATCH - = D3D11_MESSAGE_ID_JPEGDECODE_FRACTIONALDOWNSCALETOLARGE + 1, - D3D11_MESSAGE_ID_JPEGDECODE_LUMACHROMASIZEMISMATCH - = D3D11_MESSAGE_ID_JPEGDECODE_CHROMASIZEMISMATCH + 1, - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDNUMDESTINATIONS - = D3D11_MESSAGE_ID_JPEGDECODE_LUMACHROMASIZEMISMATCH + 1, - D3D11_MESSAGE_ID_JPEGDECODE_SUBBOXUNSUPPORTED - = D3D11_MESSAGE_ID_JPEGDECODE_INVALIDNUMDESTINATIONS + 1, - D3D11_MESSAGE_ID_JPEGDECODE_1DESTUNSUPPORTEDFORMAT - = D3D11_MESSAGE_ID_JPEGDECODE_SUBBOXUNSUPPORTED + 1, - D3D11_MESSAGE_ID_JPEGDECODE_3DESTUNSUPPORTEDFORMAT - = D3D11_MESSAGE_ID_JPEGDECODE_1DESTUNSUPPORTEDFORMAT + 1, - D3D11_MESSAGE_ID_JPEGDECODE_SCALEUNSUPPORTED - = D3D11_MESSAGE_ID_JPEGDECODE_3DESTUNSUPPORTEDFORMAT + 1, - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDSOURCESIZE - = D3D11_MESSAGE_ID_JPEGDECODE_SCALEUNSUPPORTED + 1, - D3D11_MESSAGE_ID_JPEGDECODE_INVALIDCOPYFLAGS - = D3D11_MESSAGE_ID_JPEGDECODE_INVALIDSOURCESIZE + 1, - D3D11_MESSAGE_ID_JPEGDECODE_HAZARD = D3D11_MESSAGE_ID_JPEGDECODE_INVALIDCOPYFLAGS + 1, - D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDSRCBUFFERUSAGE = D3D11_MESSAGE_ID_JPEGDECODE_HAZARD + 1, - D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDSRCBUFFERMISCFLAGS - = D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDSRCBUFFERUSAGE + 1, - D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDDSTTEXTUREUSAGE - = D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDSRCBUFFERMISCFLAGS + 1, - D3D11_MESSAGE_ID_JPEGDECODE_BACKBUFFERNOTSUPPORTED - = D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDDSTTEXTUREUSAGE + 1, - D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPRTEDCOPYFLAGS - = D3D11_MESSAGE_ID_JPEGDECODE_BACKBUFFERNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_JPEGENCODE_NOTSUPPORTED = D3D11_MESSAGE_ID_JPEGDECODE_UNSUPPRTEDCOPYFLAGS + 1, - D3D11_MESSAGE_ID_JPEGENCODE_INVALIDSCANDATAOFFSET - = D3D11_MESSAGE_ID_JPEGENCODE_NOTSUPPORTED + 1, - D3D11_MESSAGE_ID_JPEGENCODE_INVALIDCOMPONENTS - = D3D11_MESSAGE_ID_JPEGENCODE_INVALIDSCANDATAOFFSET + 1, - D3D11_MESSAGE_ID_JPEGENCODE_SOURCENOT2D = D3D11_MESSAGE_ID_JPEGENCODE_INVALIDCOMPONENTS + 1, - D3D11_MESSAGE_ID_JPEGENCODE_TILEDRESOURCESUNSUPPORTED - = D3D11_MESSAGE_ID_JPEGENCODE_SOURCENOT2D + 1, - D3D11_MESSAGE_ID_JPEGENCODE_GUARDRECTSUNSUPPORTED - = D3D11_MESSAGE_ID_JPEGENCODE_TILEDRESOURCESUNSUPPORTED + 1, - D3D11_MESSAGE_ID_JPEGENCODE_XSUBSAMPLEMISMATCH - = D3D11_MESSAGE_ID_JPEGENCODE_GUARDRECTSUNSUPPORTED + 1, - D3D11_MESSAGE_ID_JPEGENCODE_YSUBSAMPLEMISMATCH - = D3D11_MESSAGE_ID_JPEGENCODE_XSUBSAMPLEMISMATCH + 1, - D3D11_MESSAGE_ID_JPEGENCODE_FORMATUNSUPPORTED - = D3D11_MESSAGE_ID_JPEGENCODE_YSUBSAMPLEMISMATCH + 1, - D3D11_MESSAGE_ID_JPEGENCODE_INVALIDSUBRESOURCE - = D3D11_MESSAGE_ID_JPEGENCODE_FORMATUNSUPPORTED + 1, - D3D11_MESSAGE_ID_JPEGENCODE_INVALIDMIPLEVEL - = D3D11_MESSAGE_ID_JPEGENCODE_INVALIDSUBRESOURCE + 1, - D3D11_MESSAGE_ID_JPEGENCODE_DIMENSIONSTOOLARGE - = D3D11_MESSAGE_ID_JPEGENCODE_INVALIDMIPLEVEL + 1, - D3D11_MESSAGE_ID_JPEGENCODE_HAZARD = D3D11_MESSAGE_ID_JPEGENCODE_DIMENSIONSTOOLARGE + 1, - D3D11_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDDSTBUFFERUSAGE = D3D11_MESSAGE_ID_JPEGENCODE_HAZARD + 1, - D3D11_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDDSTBUFFERMISCFLAGS - = D3D11_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDDSTBUFFERUSAGE + 1, - D3D11_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDSRCTEXTUREUSAGE - = D3D11_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDDSTBUFFERMISCFLAGS + 1, - D3D11_MESSAGE_ID_JPEGENCODE_BACKBUFFERNOTSUPPORTED - = D3D11_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDSRCTEXTUREUSAGE + 1, - D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_UNSUPPORTEDCONTEXTTTYPEFORQUERY - = D3D11_MESSAGE_ID_JPEGENCODE_BACKBUFFERNOTSUPPORTED + 1, - D3D11_MESSAGE_ID_FLUSH1_INVALIDCONTEXTTYPE - = D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_UNSUPPORTEDCONTEXTTTYPEFORQUERY + 1, - D3D11_MESSAGE_ID_DEVICE_SETHARDWAREPROTECTION_INVALIDCONTEXT - = D3D11_MESSAGE_ID_FLUSH1_INVALIDCONTEXTTYPE + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTHDRMETADATA_NULLPARAM - = D3D11_MESSAGE_ID_DEVICE_SETHARDWAREPROTECTION_INVALIDCONTEXT + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTHDRMETADATA_INVALIDSIZE - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTHDRMETADATA_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTHDRMETADATA_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTHDRMETADATA_INVALIDSIZE + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTHDRMETADATA_INVALIDSIZE - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTHDRMETADATA_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMHDRMETADATA_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTHDRMETADATA_INVALIDSIZE + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMHDRMETADATA_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMHDRMETADATA_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMHDRMETADATA_INVALIDSIZE - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMHDRMETADATA_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMHDRMETADATA_NULLPARAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORSETSTREAMHDRMETADATA_INVALIDSIZE + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMHDRMETADATA_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMHDRMETADATA_NULLPARAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMHDRMETADATA_INVALIDSIZE - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMHDRMETADATA_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMFRAMEFORMAT_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMHDRMETADATA_INVALIDSIZE + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMFRAMEFORMAT_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMOUTPUTRATE_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMSOURCERECT_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMOUTPUTRATE_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMDESTRECT_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMSOURCERECT_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMALPHA_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMDESTRECT_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMPALETTE_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMALPHA_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMPIXELASPECTRATIO_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMPALETTE_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMLUMAKEY_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMPIXELASPECTRATIO_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMSTEREOFORMAT_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMLUMAKEY_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMAUTOPROCESSINGMODE_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMSTEREOFORMAT_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMFILTER_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMAUTOPROCESSINGMODE_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMROTATION_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMFILTER_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE1_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMROTATION_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_INVALIDSTREAM - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE1_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_CREATE_FENCE - = D3D11_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_INVALIDSTREAM + 1, - D3D11_MESSAGE_ID_LIVE_FENCE = D3D11_MESSAGE_ID_CREATE_FENCE + 1, - D3D11_MESSAGE_ID_DESTROY_FENCE = D3D11_MESSAGE_ID_LIVE_FENCE + 1, - D3D11_MESSAGE_ID_D3D11_3_MESSAGES_END = D3D11_MESSAGE_ID_DESTROY_FENCE + 1, -}} -STRUCT!{struct D3D11_MESSAGE { - Category: D3D11_MESSAGE_CATEGORY, - Severity: D3D11_MESSAGE_SEVERITY, - ID: D3D11_MESSAGE_ID, - pDescription: *const c_char, - DescriptionByteLength: SIZE_T, -}} -STRUCT!{struct D3D11_INFO_QUEUE_FILTER_DESC { - NumCategories: UINT, - pCategoryList: *const D3D11_MESSAGE_CATEGORY, - NumSeverities: UINT, - pSeverityList: *const D3D11_MESSAGE_SEVERITY, - NumIDs: UINT, - pIDList: *const D3D11_MESSAGE_ID, -}} -STRUCT!{struct D3D11_INFO_QUEUE_FILTER { - AllowList: D3D11_INFO_QUEUE_FILTER_DESC, - DenyList: D3D11_INFO_QUEUE_FILTER_DESC, -}} -pub const D3D11_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT: UINT64 = 1024; -RIDL!{#[uuid(0x6543dbb6, 0x1b48, 0x42f5, 0xab, 0x82, 0xe9, 0x7e, 0xc7, 0x43, 0x26, 0xf6)] -interface ID3D11InfoQueue(ID3D11InfoQueueVtbl): IUnknown(IUnknownVtbl) { - fn SetMessageCountLimit( - MessageCountLimit: UINT64, - ) -> HRESULT, - fn ClearStoredMessages() -> (), - fn GetMessage( - MessageIndex: UINT64, - pMessage: *mut D3D11_MESSAGE, - pMessageByteLength: *mut SIZE_T, - ) -> HRESULT, - fn GetNumMessagesAllowedByStorageFilter() -> UINT64, - fn GetNumMessagesDeniedByStorageFilter() -> UINT64, - fn GetNumStoredMessages() -> UINT64, - fn GetNumStoredMessagesAllowedByRetrievalFilter() -> UINT64, - fn GetNumMessagesDiscardedByMessageCountLimit() -> UINT64, - fn GetMessageCountLimit() -> UINT64, - fn AddStorageFilterEntries( - pFilter: *const D3D11_INFO_QUEUE_FILTER, - ) -> HRESULT, - fn GetStorageFilter( - pFilter: *mut D3D11_INFO_QUEUE_FILTER, - pFilterByteLength: *mut SIZE_T, - ) -> HRESULT, - fn ClearStorageFilter() -> (), - fn PushEmptyStorageFilter() -> HRESULT, - fn PushCopyOfStorageFilter() -> HRESULT, - fn PushStorageFilter( - pFilter: *const D3D11_INFO_QUEUE_FILTER, - ) -> HRESULT, - fn PopStorageFilter() -> (), - fn GetStorageFilterStackSize() -> UINT, - fn AddRetrievalFilterEntries( - pFilter: *const D3D11_INFO_QUEUE_FILTER, - ) -> HRESULT, - fn GetRetrievalFilter( - pFilter: *mut D3D11_INFO_QUEUE_FILTER, - pFilterByteLength: *mut SIZE_T, - ) -> HRESULT, - fn ClearRetrievalFilter() -> (), - fn PushEmptyRetrievalFilter() -> HRESULT, - fn PushCopyOfRetrievalFilter() -> HRESULT, - fn PushRetrievalFilter( - pFilter: *const D3D11_INFO_QUEUE_FILTER, - ) -> HRESULT, - fn PopRetrievalFilter() -> (), - fn GetRetrievalFilterStackSize() -> UINT, - fn AddMessage( - Category: D3D11_MESSAGE_CATEGORY, - Severity: D3D11_MESSAGE_SEVERITY, - ID: D3D11_MESSAGE_ID, - pDescription: LPCSTR, - ) -> HRESULT, - fn AddApplicationMessage( - Severity: D3D11_MESSAGE_SEVERITY, - pDescription: LPCSTR, - ) -> HRESULT, - fn SetBreakOnCategory( - Category: D3D11_MESSAGE_CATEGORY, - bEnable: BOOL, - ) -> HRESULT, - fn SetBreakOnSeverity( - ID: D3D11_MESSAGE_ID, - bEnable: BOOL, - ) -> HRESULT, - fn SetBreakOnID( - Severity: D3D11_MESSAGE_SEVERITY, - bEnable: BOOL, - ) -> HRESULT, - fn GetBreakOnCategory( - Category: D3D11_MESSAGE_CATEGORY, - ) -> BOOL, - fn GetBreakOnSeverity( - Severity: D3D11_MESSAGE_SEVERITY, - ) -> BOOL, - fn GetBreakOnID( - ID: D3D11_MESSAGE_ID, - ) -> BOOL, - fn SetMuteDebugOutput( - bMute: BOOL, - ) -> (), - fn GetMuteDebugOutput() -> BOOL, -}} -DEFINE_GUID!{IID_ID3D11Debug, - 0x79cf2233, 0x7536, 0x4948, 0x9d, 0x36, 0x1e, 0x46, 0x92, 0xdc, 0x57, 0x60} -DEFINE_GUID!{IID_ID3D11SwitchToRef, - 0x1ef337e3, 0x58e7, 0x4f83, 0xa6, 0x92, 0xdb, 0x22, 0x1f, 0x5e, 0xd4, 0x7e} -DEFINE_GUID!{IID_ID3D11TracingDevice, - 0x1911c771, 0x1587, 0x413e, 0xa7, 0xe0, 0xfb, 0x26, 0xc3, 0xde, 0x02, 0x68} -DEFINE_GUID!{IID_ID3D11RefTrackingOptions, - 0x193dacdf, 0x0db2, 0x4c05, 0xa5, 0x5c, 0xef, 0x06, 0xca, 0xc5, 0x6f, 0xd9} -DEFINE_GUID!{IID_ID3D11RefDefaultTrackingOptions, - 0x03916615, 0xc644, 0x418c, 0x9b, 0xf4, 0x75, 0xdb, 0x5b, 0xe6, 0x3c, 0xa0} -DEFINE_GUID!{IID_ID3D11InfoQueue, - 0x6543dbb6, 0x1b48, 0x42f5, 0xab, 0x82, 0xe9, 0x7e, 0xc7, 0x43, 0x26, 0xf6} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3d11shader.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3d11shader.rs deleted file mode 100644 index ebe06b424..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3d11shader.rs +++ /dev/null @@ -1,477 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_int; -use shared::basetsd::UINT64; -use shared::minwindef::{BOOL, BYTE, INT, LPVOID, UINT}; -use um::d3dcommon::{ - D3D_CBUFFER_TYPE, D3D_FEATURE_LEVEL, D3D_INTERPOLATION_MODE, D3D_MIN_PRECISION, D3D_NAME, - D3D_PARAMETER_FLAGS, D3D_PRIMITIVE, D3D_PRIMITIVE_TOPOLOGY, D3D_REGISTER_COMPONENT_TYPE, - D3D_RESOURCE_RETURN_TYPE, D3D_SHADER_INPUT_TYPE, D3D_SHADER_VARIABLE_CLASS, - D3D_SHADER_VARIABLE_TYPE, D3D_SRV_DIMENSION, D3D_TESSELLATOR_DOMAIN, - D3D_TESSELLATOR_OUTPUT_PRIMITIVE, D3D_TESSELLATOR_PARTITIONING, ID3DBlob, -}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LPCSTR}; -ENUM!{enum D3D11_SHADER_VERSION_TYPE { - D3D11_SHVER_PIXEL_SHADER = 0, - D3D11_SHVER_VERTEX_SHADER = 1, - D3D11_SHVER_GEOMETRY_SHADER = 2, - D3D11_SHVER_HULL_SHADER = 3, - D3D11_SHVER_DOMAIN_SHADER = 4, - D3D11_SHVER_COMPUTE_SHADER = 5, - D3D11_SHVER_RESERVED0 = 0xFFF0, -}} -pub const D3D_RETURN_PARAMETER_INDEX: c_int = -1; -pub type D3D11_RESOURCE_RETURN_TYPE = D3D_RESOURCE_RETURN_TYPE; -pub type D3D11_CBUFFER_TYPE = D3D_CBUFFER_TYPE; -STRUCT!{struct D3D11_SIGNATURE_PARAMETER_DESC { - SemanticName: LPCSTR, - SemanticIndex: UINT, - Register: UINT, - SystemValueType: D3D_NAME, - ComponentType: D3D_REGISTER_COMPONENT_TYPE, - Mask: BYTE, - ReadWriteMask: BYTE, - Stream: UINT, - MinPrecision: D3D_MIN_PRECISION, -}} -STRUCT!{struct D3D11_SHADER_BUFFER_DESC { - Name: LPCSTR, - Type: D3D_CBUFFER_TYPE, - Variables: UINT, - Size: UINT, - uFlags: UINT, -}} -STRUCT!{struct D3D11_SHADER_VARIABLE_DESC { - Name: LPCSTR, - StartOffset: UINT, - Size: UINT, - uFlags: UINT, - DefaultValue: LPVOID, - StartTexture: UINT, - TextureSize: UINT, - StartSampler: UINT, - SamplerSize: UINT, -}} -STRUCT!{struct D3D11_SHADER_TYPE_DESC { - Class: D3D_SHADER_VARIABLE_CLASS, - Type: D3D_SHADER_VARIABLE_TYPE, - Rows: UINT, - Columns: UINT, - Elements: UINT, - Members: UINT, - Offset: UINT, - Name: LPCSTR, -}} -pub type D3D11_TESSELLATOR_DOMAIN = D3D_TESSELLATOR_DOMAIN; -pub type D3D11_TESSELLATOR_PARTITIONING = D3D_TESSELLATOR_PARTITIONING; -pub type D3D11_TESSELLATOR_OUTPUT_PRIMITIVE = D3D_TESSELLATOR_OUTPUT_PRIMITIVE; -STRUCT!{struct D3D11_SHADER_DESC { - Version: UINT, - Creator: LPCSTR, - Flags: UINT, - ConstantBuffers: UINT, - BoundResources: UINT, - InputParameters: UINT, - OutputParameters: UINT, - InstructionCount: UINT, - TempRegisterCount: UINT, - TempArrayCount: UINT, - DefCount: UINT, - DclCount: UINT, - TextureNormalInstructions: UINT, - TextureLoadInstructions: UINT, - TextureCompInstructions: UINT, - TextureBiasInstructions: UINT, - TextureGradientInstructions: UINT, - FloatInstructionCount: UINT, - IntInstructionCount: UINT, - UintInstructionCount: UINT, - StaticFlowControlCount: UINT, - DynamicFlowControlCount: UINT, - MacroInstructionCount: UINT, - ArrayInstructionCount: UINT, - CutInstructionCount: UINT, - EmitInstructionCount: UINT, - GSOutputTopology: D3D_PRIMITIVE_TOPOLOGY, - GSMaxOutputVertexCount: UINT, - InputPrimitive: D3D_PRIMITIVE, - PatchConstantParameters: UINT, - cGSInstanceCount: UINT, - cControlPoints: UINT, - HSOutputPrimitive: D3D_TESSELLATOR_OUTPUT_PRIMITIVE, - HSPartitioning: D3D_TESSELLATOR_PARTITIONING, - TessellatorDomain: D3D_TESSELLATOR_DOMAIN, - cBarrierInstructions: UINT, - cInterlockedInstructions: UINT, - cTextureStoreInstructions: UINT, -}} -STRUCT!{struct D3D11_SHADER_INPUT_BIND_DESC { - Name: LPCSTR, - Type: D3D_SHADER_INPUT_TYPE, - BindPoint: UINT, - BindCount: UINT, - uFlags: UINT, - ReturnType: D3D_RESOURCE_RETURN_TYPE, - Dimension: D3D_SRV_DIMENSION, - NumSamples: UINT, -}} -pub const D3D_SHADER_REQUIRES_DOUBLES: UINT64 = 0x00000001; -pub const D3D_SHADER_REQUIRES_EARLY_DEPTH_STENCIL: UINT64 = 0x00000002; -pub const D3D_SHADER_REQUIRES_UAVS_AT_EVERY_STAGE: UINT64 = 0x00000004; -pub const D3D_SHADER_REQUIRES_64_UAVS: UINT64 = 0x00000008; -pub const D3D_SHADER_REQUIRES_MINIMUM_PRECISION: UINT64 = 0x00000010; -pub const D3D_SHADER_REQUIRES_11_1_DOUBLE_EXTENSIONS: UINT64 = 0x00000020; -pub const D3D_SHADER_REQUIRES_11_1_SHADER_EXTENSIONS: UINT64 = 0x00000040; -pub const D3D_SHADER_REQUIRES_LEVEL_9_COMPARISON_FILTERING: UINT64 = 0x00000080; -pub const D3D_SHADER_REQUIRES_TILED_RESOURCES: UINT64 = 0x00000100; -STRUCT!{struct D3D11_LIBRARY_DESC { - Creator: LPCSTR, - Flags: UINT, - FunctionCount: UINT, -}} -STRUCT!{struct D3D11_FUNCTION_DESC { - Version: UINT, - Creator: LPCSTR, - Flags: UINT, - ConstantBuffers: UINT, - BoundResources: UINT, - InstructionCount: UINT, - TempRegisterCount: UINT, - TempArrayCount: UINT, - DefCount: UINT, - DclCount: UINT, - TextureNormalInstructions: UINT, - TextureLoadInstructions: UINT, - TextureCompInstructions: UINT, - TextureBiasInstructions: UINT, - TextureGradientInstructions: UINT, - FloatInstructionCount: UINT, - IntInstructionCount: UINT, - UintInstructionCount: UINT, - StaticFlowControlCount: UINT, - DynamicFlowControlCount: UINT, - MacroInstructionCount: UINT, - ArrayInstructionCount: UINT, - MovInstructionCount: UINT, - MovcInstructionCount: UINT, - ConversionInstructionCount: UINT, - BitwiseInstructionCount: UINT, - MinFeatureLevel: D3D_FEATURE_LEVEL, - RequiredFeatureFlags: UINT64, - Name: LPCSTR, - FunctionParameterCount: INT, - HasReturn: BOOL, - Has10Level9VertexShader: BOOL, - Has10Level9PixelShader: BOOL, -}} -STRUCT!{struct D3D11_PARAMETER_DESC { - Name: LPCSTR, - SemanticName: LPCSTR, - Type: D3D_SHADER_VARIABLE_TYPE, - Class: D3D_SHADER_VARIABLE_CLASS, - Rows: UINT, - Columns: UINT, - InterpolationMode: D3D_INTERPOLATION_MODE, - Flags: D3D_PARAMETER_FLAGS, - FirstInRegister: UINT, - FirstInComponent: UINT, - FirstOutRegister: UINT, - FirstOutComponent: UINT, -}} -DEFINE_GUID!{IID_ID3D11ShaderReflectionType, - 0x6e6ffa6a, 0x9bae, 0x4613, 0xa5, 0x1e, 0x91, 0x65, 0x2d, 0x50, 0x8c, 0x21} -RIDL!{#[uuid(0x6e6ffa6a, 0x9bae, 0x4613, 0xa5, 0x1e, 0x91, 0x65, 0x2d, 0x50, 0x8c, 0x21)] -interface ID3D11ShaderReflectionType(ID3D11ShaderReflectionTypeVtbl) { - fn GetDesc( - pDesc: *mut D3D11_SHADER_TYPE_DESC, - ) -> HRESULT, - fn GetMemberTypeByIndex( - Index: UINT, - ) -> *mut ID3D11ShaderReflectionType, - fn GetMemberTypeByName( - Name: LPCSTR, - ) -> *mut ID3D11ShaderReflectionType, - fn GetMemberTypeName( - Index: UINT, - ) -> LPCSTR, - fn IsEqual( - pType: *mut ID3D11ShaderReflectionType, - ) -> HRESULT, - fn GetSubType() -> *mut ID3D11ShaderReflectionType, - fn GetBaseClass() -> *mut ID3D11ShaderReflectionType, - fn GetNumInterfaces() -> UINT, - fn GetInterfaceByIndex( - uIndex: UINT, - ) -> *mut ID3D11ShaderReflectionType, - fn IsOfType( - pType: *mut ID3D11ShaderReflectionType, - ) -> HRESULT, - fn ImplementsInterface( - pBase: *mut ID3D11ShaderReflectionType, - ) -> HRESULT, -}} -DEFINE_GUID!{IID_ID3D11ShaderReflectionVariable, - 0x51f23923, 0xf3e5, 0x4bd1, 0x91, 0xcb, 0x60, 0x61, 0x77, 0xd8, 0xdb, 0x4c} -RIDL!{#[uuid(0x51f23923, 0xf3e5, 0x4bd1, 0x91, 0xcb, 0x60, 0x61, 0x77, 0xd8, 0xdb, 0x4c)] -interface ID3D11ShaderReflectionVariable(ID3D11ShaderReflectionVariableVtbl) { - fn GetDesc( - pDesc: *mut D3D11_SHADER_VARIABLE_DESC, - ) -> HRESULT, - fn GetType() -> *mut ID3D11ShaderReflectionType, - fn GetBuffer() -> *mut ID3D11ShaderReflectionConstantBuffer, - fn GetInterfaceSlot( - uArrayIndex: UINT, - ) -> UINT, -}} -DEFINE_GUID!{IID_ID3D11ShaderReflectionConstantBuffer, - 0xeb62d63d, 0x93dd, 0x4318, 0x8a, 0xe8, 0xc6, 0xf8, 0x3a, 0xd3, 0x71, 0xb8} -RIDL!{#[uuid(0xeb62d63d, 0x93dd, 0x4318, 0x8a, 0xe8, 0xc6, 0xf8, 0x3a, 0xd3, 0x71, 0xb8)] -interface ID3D11ShaderReflectionConstantBuffer(ID3D11ShaderReflectionConstantBufferVtbl) { - fn GetDesc( - pDesc: *mut D3D11_SHADER_BUFFER_DESC, - ) -> HRESULT, - fn GetVariableByIndex( - Index: UINT, - ) -> *mut ID3D11ShaderReflectionVariable, - fn GetVariableByName( - Name: LPCSTR, - ) -> *mut ID3D11ShaderReflectionVariable, -}} -DEFINE_GUID!{IID_ID3D11ShaderReflection, - 0x8d536ca1, 0x0cca, 0x4956, 0xa8, 0x37, 0x78, 0x69, 0x63, 0x75, 0x55, 0x84} -RIDL!{#[uuid(0x8d536ca1, 0x0cca, 0x4956, 0xa8, 0x37, 0x78, 0x69, 0x63, 0x75, 0x55, 0x84)] -interface ID3D11ShaderReflection(ID3D11ShaderReflectionVtbl): IUnknown(IUnknownVtbl) { - fn GetDesc( - pDesc: *mut D3D11_SHADER_DESC, - ) -> HRESULT, - fn GetConstantBufferByIndex( - Index: UINT, - ) -> *mut ID3D11ShaderReflectionConstantBuffer, - fn GetConstantBufferByName( - Name: LPCSTR, - ) -> *mut ID3D11ShaderReflectionConstantBuffer, - fn GetResourceBindingDesc( - ResourceIndex: UINT, - pDesc: *mut D3D11_SHADER_INPUT_BIND_DESC, - ) -> HRESULT, - fn GetInputParameterDesc( - ParameterIndex: UINT, - pDesc: *mut D3D11_SIGNATURE_PARAMETER_DESC, - ) -> HRESULT, - fn GetOutputParameterDesc( - ParameterIndex: UINT, - pDesc: *mut D3D11_SIGNATURE_PARAMETER_DESC, - ) -> HRESULT, - fn GetPatchConstantParameterDesc( - ParameterIndex: UINT, - pDesc: *mut D3D11_SIGNATURE_PARAMETER_DESC, - ) -> HRESULT, - fn GetVariableByName( - Name: LPCSTR, - ) -> *mut ID3D11ShaderReflectionVariable, - fn GetResourceBindingDescByName( - Name: LPCSTR, - pDesc: *mut D3D11_SHADER_INPUT_BIND_DESC, - ) -> HRESULT, - fn GetMovInstructionCount() -> UINT, - fn GetMovcInstructionCount() -> UINT, - fn GetConversionInstructionCount() -> UINT, - fn GetBitwiseInstructionCount() -> UINT, - fn GetGSInputPrimitive() -> D3D_PRIMITIVE, - fn IsSampleFrequencyShader() -> BOOL, - fn GetNumInterfaceSlots() -> UINT, - fn GetMinFeatureLevel( - pLevel: *mut D3D_FEATURE_LEVEL, - ) -> HRESULT, - fn GetThreadGroupSize( - pSizeX: *mut UINT, - pSizeY: *mut UINT, - pSizeZ: *mut UINT, - ) -> UINT, - fn GetRequiresFlags() -> UINT64, -}} -DEFINE_GUID!{IID_ID3D11LibraryReflection, - 0x54384f1b, 0x5b3e, 0x4bb7, 0xae, 0x01, 0x60, 0xba, 0x30, 0x97, 0xcb, 0xb6} -RIDL!{#[uuid(0x54384f1b, 0x5b3e, 0x4bb7, 0xae, 0x01, 0x60, 0xba, 0x30, 0x97, 0xcb, 0xb6)] -interface ID3D11LibraryReflection(ID3D11LibraryReflectionVtbl): IUnknown(IUnknownVtbl) { - fn GetDesc( - pDesc: *mut D3D11_LIBRARY_DESC, - ) -> HRESULT, - fn GetFunctionByIndex( - FunctionIndex: INT, - ) -> *mut ID3D11FunctionReflection, -}} -DEFINE_GUID!{IID_ID3D11FunctionReflection, - 0x207bcecb, 0xd683, 0x4a06, 0xa8, 0xa3, 0x9b, 0x14, 0x9b, 0x9f, 0x73, 0xa4} -RIDL!{#[uuid(0x207bcecb, 0xd683, 0x4a06, 0xa8, 0xa3, 0x9b, 0x14, 0x9b, 0x9f, 0x73, 0xa4)] -interface ID3D11FunctionReflection(ID3D11FunctionReflectionVtbl) { - fn GetDesc( - pDesc: *mut D3D11_FUNCTION_DESC, - ) -> HRESULT, - fn GetConstantBufferByIndex( - BufferIndex: UINT, - ) -> *mut ID3D11ShaderReflectionConstantBuffer, - fn GetConstantBufferByName( - Name: LPCSTR, - ) -> *mut ID3D11ShaderReflectionConstantBuffer, - fn GetResourceBindingDesc( - ResourceIndex: UINT, - pDesc: *mut D3D11_SHADER_INPUT_BIND_DESC, - ) -> HRESULT, - fn GetVariableByName( - Name: LPCSTR, - ) -> *mut ID3D11ShaderReflectionVariable, - fn GetResourceBindingDescByName( - Name: LPCSTR, - pDesc: *mut D3D11_SHADER_INPUT_BIND_DESC, - ) -> HRESULT, - fn GetFunctionParameter( - ParameterIndex: INT, - ) -> *mut ID3D11FunctionParameterReflection, -}} -DEFINE_GUID!{IID_ID3D11FunctionParameterReflection, - 0x42757488, 0x334f, 0x47fe, 0x98, 0x2e, 0x1a, 0x65, 0xd0, 0x8c, 0xc4, 0x62} -RIDL!{#[uuid(0x42757488, 0x334f, 0x47fe, 0x98, 0x2e, 0x1a, 0x65, 0xd0, 0x8c, 0xc4, 0x62)] -interface ID3D11FunctionParameterReflection(ID3D11FunctionParameterReflectionVtbl) { - fn GetDesc( - pDesc: *mut D3D11_PARAMETER_DESC, - ) -> HRESULT, -}} -DEFINE_GUID!{IID_ID3D11Module, - 0xcac701ee, 0x80fc, 0x4122, 0x82, 0x42, 0x10, 0xb3, 0x9c, 0x8c, 0xec, 0x34} -RIDL!{#[uuid(0xcac701ee, 0x80fc, 0x4122, 0x82, 0x42, 0x10, 0xb3, 0x9c, 0x8c, 0xec, 0x34)] -interface ID3D11Module(ID3D11ModuleVtbl): IUnknown(IUnknownVtbl) { - fn CreateInstance( - pNamespace: LPCSTR, - ppModuleInstance: *mut *mut ID3D11ModuleInstance, - ) -> HRESULT, -}} -DEFINE_GUID!{IID_ID3D11ModuleInstance, - 0x469e07f7, 0x045a, 0x48d5, 0xaa, 0x12, 0x68, 0xa4, 0x78, 0xcd, 0xf7, 0x5d} -RIDL!{#[uuid(0x469e07f7, 0x045a, 0x48d5, 0xaa, 0x12, 0x68, 0xa4, 0x78, 0xcd, 0xf7, 0x5d)] -interface ID3D11ModuleInstance(ID3D11ModuleInstanceVtbl): IUnknown(IUnknownVtbl) { - fn BindConstantBuffer( - uSrcSlot: UINT, - uDstSlot: UINT, - cbDstOffset: UINT, - ) -> HRESULT, - fn BindConstantBufferByName( - pName: LPCSTR, - uDstSlot: UINT, - cbDstOffset: UINT, - ) -> HRESULT, - fn BindResource( - uSrcSlot: UINT, - uDstSlot: UINT, - uCount: UINT, - ) -> HRESULT, - fn BindResourceByName( - pName: LPCSTR, - uDstSlot: UINT, - uCount: UINT, - ) -> HRESULT, - fn BindSampler( - uSrcSlot: UINT, - uDstSlot: UINT, - uCount: UINT, - ) -> HRESULT, - fn BindSamplerByName( - pName: LPCSTR, - uDstSlot: UINT, - uCount: UINT, - ) -> HRESULT, - fn BindUnorderedAccessView( - uSrcSlot: UINT, - uDstSlot: UINT, - uCount: UINT, - ) -> HRESULT, - fn BindUnorderedAccessViewByName( - pName: LPCSTR, - uDstSlot: UINT, - uCount: UINT, - ) -> HRESULT, - fn BindResourceAsUnorderedAccessView( - uSrcSrvSlot: UINT, - uDstUavSlot: UINT, - uCount: UINT, - ) -> HRESULT, - fn BindResourceAsUnorderedAccessViewByName( - pSrvName: LPCSTR, - uDstUavSlot: UINT, - uCount: UINT, - ) -> HRESULT, -}} -DEFINE_GUID!{IID_ID3D11Linker, - 0x59a6cd0e, 0xe10d, 0x4c1f, 0x88, 0xc0, 0x63, 0xab, 0xa1, 0xda, 0xf3, 0x0e} -RIDL!{#[uuid(0x59a6cd0e, 0xe10d, 0x4c1f, 0x88, 0xc0, 0x63, 0xab, 0xa1, 0xda, 0xf3, 0x0e)] -interface ID3D11Linker(ID3D11LinkerVtbl): IUnknown(IUnknownVtbl) { - fn Link( - pEntry: *mut ID3D11ModuleInstance, - pEntryName: LPCSTR, - pTargetName: LPCSTR, - uFlags: UINT, - ppShaderBlob: *mut *mut ID3DBlob, - ppErrorBuffer: *mut *mut ID3DBlob, - ) -> HRESULT, - fn UseLibrary( - pLibraryMI: *mut ID3D11ModuleInstance, - ) -> HRESULT, - fn AddClipPlaneFromCBuffer( - uCBufferSlot: UINT, - uCBufferEntry: UINT, - ) -> HRESULT, -}} -DEFINE_GUID!{IID_ID3D11LinkingNode, - 0xd80dd70c, 0x8d2f, 0x4751, 0x94, 0xa1, 0x03, 0xc7, 0x9b, 0x35, 0x56, 0xdb} -RIDL!{#[uuid(0xd80dd70c, 0x8d2f, 0x4751, 0x94, 0xa1, 0x03, 0xc7, 0x9b, 0x35, 0x56, 0xdb)] -interface ID3D11LinkingNode(ID3D11LinkingNodeVtbl): IUnknown(IUnknownVtbl) {}} -DEFINE_GUID!{IID_ID3D11FunctionLinkingGraph, - 0x54133220, 0x1ce8, 0x43d3, 0x82, 0x36, 0x98, 0x55, 0xc5, 0xce, 0xec, 0xff} -RIDL!{#[uuid(0x54133220, 0x1ce8, 0x43d3, 0x82, 0x36, 0x98, 0x55, 0xc5, 0xce, 0xec, 0xff)] -interface ID3D11FunctionLinkingGraph(ID3D11FunctionLinkingGraphVtbl): IUnknown(IUnknownVtbl) { - fn CreateModuleInstance( - ppModuleInstance: *mut *mut ID3D11ModuleInstance, - ppErrorBuffer: *mut *mut ID3DBlob, - ) -> HRESULT, - fn SetInputSignature( - pInputParameters: *const D3D11_PARAMETER_DESC, - cInputParameters: UINT, - ppInputNode: *mut *mut ID3D11LinkingNode, - ) -> HRESULT, - fn SetOutputSignature( - pOutputParameters: *const D3D11_PARAMETER_DESC, - cOutputParameters: UINT, - ppOutputNode: *mut *mut ID3D11LinkingNode, - ) -> HRESULT, - fn CallFunction( - pModuleInstanceNamespace: LPCSTR, - pModuleWithFunctionPrototype: *mut ID3D11Module, - pFunctionName: LPCSTR, - ppCallNode: *mut *mut ID3D11LinkingNode, - ) -> HRESULT, - fn PassValue( - pSrcNode: *mut ID3D11LinkingNode, - SrcParameterIndex: INT, - pDstNode: *mut ID3D11LinkingNode, - DstParameterIndex: INT, - ) -> HRESULT, - fn PassValueWithSwizzle( - pSrcNode: *mut ID3D11LinkingNode, - SrcParameterIndex: INT, - pSrcSwizzle: LPCSTR, - pDstNode: *mut ID3D11LinkingNode, - DstParameterIndex: INT, - pDstSwizzle: LPCSTR, - ) -> HRESULT, - fn GetLastError( - ppErrorBuffer: *mut *mut ID3DBlob, - ) -> HRESULT, - fn GenerateHlsl( - uFlags: UINT, - ppBuffer: *mut *mut ID3DBlob, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3d11tokenizedprogramformat.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3d11tokenizedprogramformat.rs deleted file mode 100644 index e81926214..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3d11tokenizedprogramformat.rs +++ /dev/null @@ -1,1335 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::{DWORD, UINT}; -ENUM!{enum D3D10_SB_TOKENIZED_PROGRAM_TYPE { - D3D10_SB_PIXEL_SHADER = 0, - D3D10_SB_VERTEX_SHADER = 1, - D3D10_SB_GEOMETRY_SHADER = 2, - D3D11_SB_HULL_SHADER = 3, - D3D11_SB_DOMAIN_SHADER = 4, - D3D11_SB_COMPUTE_SHADER = 5, - D3D11_SB_RESERVED0 = 0xFFF0, -}} -pub const D3D10_SB_TOKENIZED_PROGRAM_TYPE_MASK: DWORD = 0xffff0000; -pub const D3D10_SB_TOKENIZED_PROGRAM_TYPE_SHIFT: DWORD = 16; -#[inline] -pub fn DECODE_D3D10_SB_TOKENIZED_PROGRAM_TYPE(VerTok: DWORD) -> DWORD { - (((VerTok & D3D10_SB_TOKENIZED_PROGRAM_TYPE_MASK) >> D3D10_SB_TOKENIZED_PROGRAM_TYPE_SHIFT) - as D3D10_SB_TOKENIZED_PROGRAM_TYPE) -} -pub const D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION_MASK: DWORD = 0x000000f0; -pub const D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION_SHIFT: DWORD = 4; -pub const D3D10_SB_TOKENIZED_PROGRAM_MINOR_VERSION_MASK: DWORD = 0x0000000f; -#[inline] -pub fn DECODE_D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION(VerTok: DWORD) -> DWORD { - ((VerTok & D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION_MASK) - >> D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION_SHIFT) -} -#[inline] -pub fn DECODE_D3D10_SB_TOKENIZED_PROGRAM_MINOR_VERSION(VerTok: DWORD) -> DWORD { - (VerTok & D3D10_SB_TOKENIZED_PROGRAM_MINOR_VERSION_MASK) -} -#[inline] -pub fn ENCODE_D3D10_SB_TOKENIZED_PROGRAM_VERSION_TOKEN( - ProgType: DWORD, - MajorVer: DWORD, - MinorVer: DWORD, -) -> DWORD { - ((ProgType << D3D10_SB_TOKENIZED_PROGRAM_TYPE_SHIFT) & D3D10_SB_TOKENIZED_PROGRAM_TYPE_MASK) - | ((MajorVer << D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION_SHIFT) - & D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION_MASK) - | (MinorVer & D3D10_SB_TOKENIZED_PROGRAM_MINOR_VERSION_MASK) -} -#[inline] -pub fn DECODE_D3D10_SB_TOKENIZED_PROGRAM_LENGTH(LenTok: DWORD) -> DWORD { - LenTok -} -#[inline] -pub fn ENCODE_D3D10_SB_TOKENIZED_PROGRAM_LENGTH(Length: DWORD) -> DWORD { - Length -} -pub const MAX_D3D10_SB_TOKENIZED_PROGRAM_LENGTH: DWORD = 0xffffffff; -ENUM!{enum D3D10_SB_OPCODE_TYPE { - D3D10_SB_OPCODE_ADD = 0, - D3D10_SB_OPCODE_AND = 1, - D3D10_SB_OPCODE_BREAK = 2, - D3D10_SB_OPCODE_BREAKC = 3, - D3D10_SB_OPCODE_CALL = 4, - D3D10_SB_OPCODE_CALLC = 5, - D3D10_SB_OPCODE_CASE = 6, - D3D10_SB_OPCODE_CONTINUE = 7, - D3D10_SB_OPCODE_CONTINUEC = 8, - D3D10_SB_OPCODE_CUT = 9, - D3D10_SB_OPCODE_DEFAULT = 10, - D3D10_SB_OPCODE_DERIV_RTX = 11, - D3D10_SB_OPCODE_DERIV_RTY = 12, - D3D10_SB_OPCODE_DISCARD = 13, - D3D10_SB_OPCODE_DIV = 14, - D3D10_SB_OPCODE_DP2 = 15, - D3D10_SB_OPCODE_DP3 = 16, - D3D10_SB_OPCODE_DP4 = 17, - D3D10_SB_OPCODE_ELSE = 18, - D3D10_SB_OPCODE_EMIT = 19, - D3D10_SB_OPCODE_EMITTHENCUT = 20, - D3D10_SB_OPCODE_ENDIF = 21, - D3D10_SB_OPCODE_ENDLOOP = 22, - D3D10_SB_OPCODE_ENDSWITCH = 23, - D3D10_SB_OPCODE_EQ = 24, - D3D10_SB_OPCODE_EXP = 25, - D3D10_SB_OPCODE_FRC = 26, - D3D10_SB_OPCODE_FTOI = 27, - D3D10_SB_OPCODE_FTOU = 28, - D3D10_SB_OPCODE_GE = 29, - D3D10_SB_OPCODE_IADD = 30, - D3D10_SB_OPCODE_IF = 31, - D3D10_SB_OPCODE_IEQ = 32, - D3D10_SB_OPCODE_IGE = 33, - D3D10_SB_OPCODE_ILT = 34, - D3D10_SB_OPCODE_IMAD = 35, - D3D10_SB_OPCODE_IMAX = 36, - D3D10_SB_OPCODE_IMIN = 37, - D3D10_SB_OPCODE_IMUL = 38, - D3D10_SB_OPCODE_INE = 39, - D3D10_SB_OPCODE_INEG = 40, - D3D10_SB_OPCODE_ISHL = 41, - D3D10_SB_OPCODE_ISHR = 42, - D3D10_SB_OPCODE_ITOF = 43, - D3D10_SB_OPCODE_LABEL = 44, - D3D10_SB_OPCODE_LD = 45, - D3D10_SB_OPCODE_LD_MS = 46, - D3D10_SB_OPCODE_LOG = 47, - D3D10_SB_OPCODE_LOOP = 48, - D3D10_SB_OPCODE_LT = 49, - D3D10_SB_OPCODE_MAD = 50, - D3D10_SB_OPCODE_MIN = 51, - D3D10_SB_OPCODE_MAX = 52, - D3D10_SB_OPCODE_CUSTOMDATA = 53, - D3D10_SB_OPCODE_MOV = 54, - D3D10_SB_OPCODE_MOVC = 55, - D3D10_SB_OPCODE_MUL = 56, - D3D10_SB_OPCODE_NE = 57, - D3D10_SB_OPCODE_NOP = 58, - D3D10_SB_OPCODE_NOT = 59, - D3D10_SB_OPCODE_OR = 60, - D3D10_SB_OPCODE_RESINFO = 61, - D3D10_SB_OPCODE_RET = 62, - D3D10_SB_OPCODE_RETC = 63, - D3D10_SB_OPCODE_ROUND_NE = 64, - D3D10_SB_OPCODE_ROUND_NI = 65, - D3D10_SB_OPCODE_ROUND_PI = 66, - D3D10_SB_OPCODE_ROUND_Z = 67, - D3D10_SB_OPCODE_RSQ = 68, - D3D10_SB_OPCODE_SAMPLE = 69, - D3D10_SB_OPCODE_SAMPLE_C = 70, - D3D10_SB_OPCODE_SAMPLE_C_LZ = 71, - D3D10_SB_OPCODE_SAMPLE_L = 72, - D3D10_SB_OPCODE_SAMPLE_D = 73, - D3D10_SB_OPCODE_SAMPLE_B = 74, - D3D10_SB_OPCODE_SQRT = 75, - D3D10_SB_OPCODE_SWITCH = 76, - D3D10_SB_OPCODE_SINCOS = 77, - D3D10_SB_OPCODE_UDIV = 78, - D3D10_SB_OPCODE_ULT = 79, - D3D10_SB_OPCODE_UGE = 80, - D3D10_SB_OPCODE_UMUL = 81, - D3D10_SB_OPCODE_UMAD = 82, - D3D10_SB_OPCODE_UMAX = 83, - D3D10_SB_OPCODE_UMIN = 84, - D3D10_SB_OPCODE_USHR = 85, - D3D10_SB_OPCODE_UTOF = 86, - D3D10_SB_OPCODE_XOR = 87, - D3D10_SB_OPCODE_DCL_RESOURCE = 88, - D3D10_SB_OPCODE_DCL_CONSTANT_BUFFER = 89, - D3D10_SB_OPCODE_DCL_SAMPLER = 90, - D3D10_SB_OPCODE_DCL_INDEX_RANGE = 91, - D3D10_SB_OPCODE_DCL_GS_OUTPUT_PRIMITIVE_TOPOLOGY = 92, - D3D10_SB_OPCODE_DCL_GS_INPUT_PRIMITIVE = 93, - D3D10_SB_OPCODE_DCL_MAX_OUTPUT_VERTEX_COUNT = 94, - D3D10_SB_OPCODE_DCL_INPUT = 95, - D3D10_SB_OPCODE_DCL_INPUT_SGV = 96, - D3D10_SB_OPCODE_DCL_INPUT_SIV = 97, - D3D10_SB_OPCODE_DCL_INPUT_PS = 98, - D3D10_SB_OPCODE_DCL_INPUT_PS_SGV = 99, - D3D10_SB_OPCODE_DCL_INPUT_PS_SIV = 100, - D3D10_SB_OPCODE_DCL_OUTPUT = 101, - D3D10_SB_OPCODE_DCL_OUTPUT_SGV = 102, - D3D10_SB_OPCODE_DCL_OUTPUT_SIV = 103, - D3D10_SB_OPCODE_DCL_TEMPS = 104, - D3D10_SB_OPCODE_DCL_INDEXABLE_TEMP = 105, - D3D10_SB_OPCODE_DCL_GLOBAL_FLAGS = 106, - D3D10_SB_OPCODE_RESERVED0 = 107, - D3D10_1_SB_OPCODE_LOD = 108, - D3D10_1_SB_OPCODE_GATHER4 = 109, - D3D10_1_SB_OPCODE_SAMPLE_POS = 110, - D3D10_1_SB_OPCODE_SAMPLE_INFO = 111, - D3D10_1_SB_OPCODE_RESERVED1 = 112, - D3D11_SB_OPCODE_HS_DECLS = 113, - D3D11_SB_OPCODE_HS_CONTROL_POINT_PHASE = 114, - D3D11_SB_OPCODE_HS_FORK_PHASE = 115, - D3D11_SB_OPCODE_HS_JOIN_PHASE = 116, - D3D11_SB_OPCODE_EMIT_STREAM = 117, - D3D11_SB_OPCODE_CUT_STREAM = 118, - D3D11_SB_OPCODE_EMITTHENCUT_STREAM = 119, - D3D11_SB_OPCODE_INTERFACE_CALL = 120, - D3D11_SB_OPCODE_BUFINFO = 121, - D3D11_SB_OPCODE_DERIV_RTX_COARSE = 122, - D3D11_SB_OPCODE_DERIV_RTX_FINE = 123, - D3D11_SB_OPCODE_DERIV_RTY_COARSE = 124, - D3D11_SB_OPCODE_DERIV_RTY_FINE = 125, - D3D11_SB_OPCODE_GATHER4_C = 126, - D3D11_SB_OPCODE_GATHER4_PO = 127, - D3D11_SB_OPCODE_GATHER4_PO_C = 128, - D3D11_SB_OPCODE_RCP = 129, - D3D11_SB_OPCODE_F32TOF16 = 130, - D3D11_SB_OPCODE_F16TOF32 = 131, - D3D11_SB_OPCODE_UADDC = 132, - D3D11_SB_OPCODE_USUBB = 133, - D3D11_SB_OPCODE_COUNTBITS = 134, - D3D11_SB_OPCODE_FIRSTBIT_HI = 135, - D3D11_SB_OPCODE_FIRSTBIT_LO = 136, - D3D11_SB_OPCODE_FIRSTBIT_SHI = 137, - D3D11_SB_OPCODE_UBFE = 138, - D3D11_SB_OPCODE_IBFE = 139, - D3D11_SB_OPCODE_BFI = 140, - D3D11_SB_OPCODE_BFREV = 141, - D3D11_SB_OPCODE_SWAPC = 142, - D3D11_SB_OPCODE_DCL_STREAM = 143, - D3D11_SB_OPCODE_DCL_FUNCTION_BODY = 144, - D3D11_SB_OPCODE_DCL_FUNCTION_TABLE = 145, - D3D11_SB_OPCODE_DCL_INTERFACE = 146, - D3D11_SB_OPCODE_DCL_INPUT_CONTROL_POINT_COUNT = 147, - D3D11_SB_OPCODE_DCL_OUTPUT_CONTROL_POINT_COUNT = 148, - D3D11_SB_OPCODE_DCL_TESS_DOMAIN = 149, - D3D11_SB_OPCODE_DCL_TESS_PARTITIONING = 150, - D3D11_SB_OPCODE_DCL_TESS_OUTPUT_PRIMITIVE = 151, - D3D11_SB_OPCODE_DCL_HS_MAX_TESSFACTOR = 152, - D3D11_SB_OPCODE_DCL_HS_FORK_PHASE_INSTANCE_COUNT = 153, - D3D11_SB_OPCODE_DCL_HS_JOIN_PHASE_INSTANCE_COUNT = 154, - D3D11_SB_OPCODE_DCL_THREAD_GROUP = 155, - D3D11_SB_OPCODE_DCL_UNORDERED_ACCESS_VIEW_TYPED = 156, - D3D11_SB_OPCODE_DCL_UNORDERED_ACCESS_VIEW_RAW = 157, - D3D11_SB_OPCODE_DCL_UNORDERED_ACCESS_VIEW_STRUCTURED = 158, - D3D11_SB_OPCODE_DCL_THREAD_GROUP_SHARED_MEMORY_RAW = 159, - D3D11_SB_OPCODE_DCL_THREAD_GROUP_SHARED_MEMORY_STRUCTURED = 160, - D3D11_SB_OPCODE_DCL_RESOURCE_RAW = 161, - D3D11_SB_OPCODE_DCL_RESOURCE_STRUCTURED = 162, - D3D11_SB_OPCODE_LD_UAV_TYPED = 163, - D3D11_SB_OPCODE_STORE_UAV_TYPED = 164, - D3D11_SB_OPCODE_LD_RAW = 165, - D3D11_SB_OPCODE_STORE_RAW = 166, - D3D11_SB_OPCODE_LD_STRUCTURED = 167, - D3D11_SB_OPCODE_STORE_STRUCTURED = 168, - D3D11_SB_OPCODE_ATOMIC_AND = 169, - D3D11_SB_OPCODE_ATOMIC_OR = 170, - D3D11_SB_OPCODE_ATOMIC_XOR = 171, - D3D11_SB_OPCODE_ATOMIC_CMP_STORE = 172, - D3D11_SB_OPCODE_ATOMIC_IADD = 173, - D3D11_SB_OPCODE_ATOMIC_IMAX = 174, - D3D11_SB_OPCODE_ATOMIC_IMIN = 175, - D3D11_SB_OPCODE_ATOMIC_UMAX = 176, - D3D11_SB_OPCODE_ATOMIC_UMIN = 177, - D3D11_SB_OPCODE_IMM_ATOMIC_ALLOC = 178, - D3D11_SB_OPCODE_IMM_ATOMIC_CONSUME = 179, - D3D11_SB_OPCODE_IMM_ATOMIC_IADD = 180, - D3D11_SB_OPCODE_IMM_ATOMIC_AND = 181, - D3D11_SB_OPCODE_IMM_ATOMIC_OR = 182, - D3D11_SB_OPCODE_IMM_ATOMIC_XOR = 183, - D3D11_SB_OPCODE_IMM_ATOMIC_EXCH = 184, - D3D11_SB_OPCODE_IMM_ATOMIC_CMP_EXCH = 185, - D3D11_SB_OPCODE_IMM_ATOMIC_IMAX = 186, - D3D11_SB_OPCODE_IMM_ATOMIC_IMIN = 187, - D3D11_SB_OPCODE_IMM_ATOMIC_UMAX = 188, - D3D11_SB_OPCODE_IMM_ATOMIC_UMIN = 189, - D3D11_SB_OPCODE_SYNC = 190, - D3D11_SB_OPCODE_DADD = 191, - D3D11_SB_OPCODE_DMAX = 192, - D3D11_SB_OPCODE_DMIN = 193, - D3D11_SB_OPCODE_DMUL = 194, - D3D11_SB_OPCODE_DEQ = 195, - D3D11_SB_OPCODE_DGE = 196, - D3D11_SB_OPCODE_DLT = 197, - D3D11_SB_OPCODE_DNE = 198, - D3D11_SB_OPCODE_DMOV = 199, - D3D11_SB_OPCODE_DMOVC = 200, - D3D11_SB_OPCODE_DTOF = 201, - D3D11_SB_OPCODE_FTOD = 202, - D3D11_SB_OPCODE_EVAL_SNAPPED = 203, - D3D11_SB_OPCODE_EVAL_SAMPLE_INDEX = 204, - D3D11_SB_OPCODE_EVAL_CENTROID = 205, - D3D11_SB_OPCODE_DCL_GS_INSTANCE_COUNT = 206, - D3D11_SB_OPCODE_ABORT = 207, - D3D11_SB_OPCODE_DEBUG_BREAK = 208, - D3D11_SB_OPCODE_RESERVED0 = 209, - D3D11_1_SB_OPCODE_DDIV = 210, - D3D11_1_SB_OPCODE_DFMA = 211, - D3D11_1_SB_OPCODE_DRCP = 212, - D3D11_1_SB_OPCODE_MSAD = 213, - D3D11_1_SB_OPCODE_DTOI = 214, - D3D11_1_SB_OPCODE_DTOU = 215, - D3D11_1_SB_OPCODE_ITOD = 216, - D3D11_1_SB_OPCODE_UTOD = 217, - D3D11_1_SB_OPCODE_RESERVED0 = 218, - D3DWDDM1_3_SB_OPCODE_GATHER4_FEEDBACK = 219, - D3DWDDM1_3_SB_OPCODE_GATHER4_C_FEEDBACK = 220, - D3DWDDM1_3_SB_OPCODE_GATHER4_PO_FEEDBACK = 221, - D3DWDDM1_3_SB_OPCODE_GATHER4_PO_C_FEEDBACK = 222, - D3DWDDM1_3_SB_OPCODE_LD_FEEDBACK = 223, - D3DWDDM1_3_SB_OPCODE_LD_MS_FEEDBACK = 224, - D3DWDDM1_3_SB_OPCODE_LD_UAV_TYPED_FEEDBACK = 225, - D3DWDDM1_3_SB_OPCODE_LD_RAW_FEEDBACK = 226, - D3DWDDM1_3_SB_OPCODE_LD_STRUCTURED_FEEDBACK = 227, - D3DWDDM1_3_SB_OPCODE_SAMPLE_L_FEEDBACK = 228, - D3DWDDM1_3_SB_OPCODE_SAMPLE_C_LZ_FEEDBACK = 229, - D3DWDDM1_3_SB_OPCODE_SAMPLE_CLAMP_FEEDBACK = 230, - D3DWDDM1_3_SB_OPCODE_SAMPLE_B_CLAMP_FEEDBACK = 231, - D3DWDDM1_3_SB_OPCODE_SAMPLE_D_CLAMP_FEEDBACK = 232, - D3DWDDM1_3_SB_OPCODE_SAMPLE_C_CLAMP_FEEDBACK = 233, - D3DWDDM1_3_SB_OPCODE_CHECK_ACCESS_FULLY_MAPPED = 234, - D3DWDDM1_3_SB_OPCODE_RESERVED0 = 235, - D3D10_SB_NUM_OPCODES = 236, -}} -pub const D3D10_SB_OPCODE_TYPE_MASK: DWORD = 0x00007ff; -#[inline] -pub fn DECODE_D3D10_SB_OPCODE_TYPE(OpcodeToken0: DWORD) -> D3D10_SB_OPCODE_TYPE { - (OpcodeToken0 & D3D10_SB_OPCODE_TYPE_MASK) as D3D10_SB_OPCODE_TYPE -} -#[inline] -pub fn ENCODE_D3D10_SB_OPCODE_TYPE(OpcodeName: D3D10_SB_OPCODE_TYPE) -> DWORD { - OpcodeName & D3D10_SB_OPCODE_TYPE_MASK -} -pub const D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH_MASK: DWORD = 0x7f000000; -pub const D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH_SHIFT: DWORD = 24; -#[inline] -pub fn DECODE_D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH(OpcodeToken0: DWORD) -> DWORD { - (OpcodeToken0 & D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH_MASK) - >> D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH_SHIFT -} -#[inline] -pub fn ENCODE_D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH(Length: DWORD) -> DWORD { - (Length << D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH_SHIFT) - & D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH_MASK -} -pub const MAX_D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH: DWORD = 127; -pub const D3D10_SB_INSTRUCTION_SATURATE_MASK: DWORD = 0x00002000; -#[inline] -pub fn DECODE_IS_D3D10_SB_INSTRUCTION_SATURATE_ENABLED(OpcodeToken0: DWORD) -> DWORD { - OpcodeToken0 & D3D10_SB_INSTRUCTION_SATURATE_MASK -} -#[inline] -pub fn ENCODE_D3D10_SB_INSTRUCTION_SATURATE(bSat: DWORD) -> DWORD { - if bSat != 0 { - D3D10_SB_INSTRUCTION_SATURATE_MASK - } else { - 0 - } -} -ENUM!{enum D3D10_SB_INSTRUCTION_TEST_BOOLEAN { - D3D10_SB_INSTRUCTION_TEST_ZERO = 0, - D3D10_SB_INSTRUCTION_TEST_NONZERO = 1, -}} -pub const D3D10_SB_INSTRUCTION_TEST_BOOLEAN_MASK: DWORD = 0x00040000; -pub const D3D10_SB_INSTRUCTION_TEST_BOOLEAN_SHIFT: DWORD = 18; -#[inline] -pub fn DECODE_D3D10_SB_INSTRUCTION_TEST_BOOLEAN( - OpcodeToken0: DWORD, -) -> D3D10_SB_INSTRUCTION_TEST_BOOLEAN { - ((OpcodeToken0 & D3D10_SB_INSTRUCTION_TEST_BOOLEAN_MASK) - >> D3D10_SB_INSTRUCTION_TEST_BOOLEAN_SHIFT) as D3D10_SB_INSTRUCTION_TEST_BOOLEAN -} -#[inline] -pub fn ENCODE_D3D10_SB_INSTRUCTION_TEST_BOOLEAN( - Boolean: D3D10_SB_INSTRUCTION_TEST_BOOLEAN, -) -> DWORD { - (Boolean << D3D10_SB_INSTRUCTION_TEST_BOOLEAN_SHIFT) & D3D10_SB_INSTRUCTION_TEST_BOOLEAN_MASK -} -pub const D3D11_SB_INSTRUCTION_PRECISE_VALUES_MASK: DWORD = 0x00780000; -pub const D3D11_SB_INSTRUCTION_PRECISE_VALUES_SHIFT: DWORD = 19; -#[inline] -pub fn DECODE_D3D11_SB_INSTRUCTION_PRECISE_VALUES(OpcodeToken0: DWORD) -> DWORD { - (OpcodeToken0 & D3D11_SB_INSTRUCTION_PRECISE_VALUES_MASK) - >> D3D11_SB_INSTRUCTION_PRECISE_VALUES_SHIFT -} -#[inline] -pub fn ENCODE_D3D11_SB_INSTRUCTION_PRECISE_VALUES(ComponentMask: DWORD) -> DWORD { - (ComponentMask << D3D11_SB_INSTRUCTION_PRECISE_VALUES_SHIFT) - & D3D11_SB_INSTRUCTION_PRECISE_VALUES_MASK -} -ENUM!{enum D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE { - D3D10_SB_RESINFO_INSTRUCTION_RETURN_FLOAT = 0, - D3D10_SB_RESINFO_INSTRUCTION_RETURN_RCPFLOAT = 1, - D3D10_SB_RESINFO_INSTRUCTION_RETURN_UINT = 2, -}} -pub const D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE_MASK: DWORD = 0x00001800; -pub const D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE_SHIFT: DWORD = 11; -#[inline] -pub fn DECODE_D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE( - OpcodeToken0: DWORD, -) -> D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE { - ((OpcodeToken0 & D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE_MASK) - >> D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE_SHIFT) - as D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE -} -#[inline] -pub fn ENCODE_D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE( - ReturnType: D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE, -) -> DWORD { - (ReturnType << D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE_SHIFT) - & D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE_MASK -} -pub const D3D11_SB_SYNC_THREADS_IN_GROUP: DWORD = 0x00000800; -pub const D3D11_SB_SYNC_THREAD_GROUP_SHARED_MEMORY: DWORD = 0x00001000; -pub const D3D11_SB_SYNC_UNORDERED_ACCESS_VIEW_MEMORY_GROUP: DWORD = 0x00002000; -pub const D3D11_SB_SYNC_UNORDERED_ACCESS_VIEW_MEMORY_GLOBAL: DWORD = 0x00004000; -pub const D3D11_SB_SYNC_FLAGS_MASK: DWORD = 0x00007800; -#[inline] -pub fn DECODE_D3D11_SB_SYNC_FLAGS(OperandToken0: DWORD) -> DWORD { - OperandToken0 & D3D11_SB_SYNC_FLAGS_MASK -} -#[inline] -pub fn ENCODE_D3D11_SB_SYNC_FLAGS(Flags: DWORD) -> DWORD { - Flags & D3D11_SB_SYNC_FLAGS_MASK -} -pub const D3D10_SB_OPCODE_EXTENDED_MASK: DWORD = 0x80000000; -pub const D3D10_SB_OPCODE_EXTENDED_SHIFT: DWORD = 31; -#[inline] -pub fn DECODE_IS_D3D10_SB_OPCODE_EXTENDED(OpcodeToken0: DWORD) -> DWORD { - (OpcodeToken0 & D3D10_SB_OPCODE_EXTENDED_MASK) >> D3D10_SB_OPCODE_EXTENDED_SHIFT -} -#[inline] -pub fn ENCODE_D3D10_SB_OPCODE_EXTENDED(bExtended: DWORD) -> DWORD { - if bExtended != 0 { - D3D10_SB_OPCODE_EXTENDED_MASK - } else { - 0 - } -} -ENUM!{enum D3D10_SB_EXTENDED_OPCODE_TYPE { - D3D10_SB_EXTENDED_OPCODE_EMPTY = 0, - D3D10_SB_EXTENDED_OPCODE_SAMPLE_CONTROLS = 1, - D3D11_SB_EXTENDED_OPCODE_RESOURCE_DIM = 2, - D3D11_SB_EXTENDED_OPCODE_RESOURCE_RETURN_TYPE = 3, -}} -pub const D3D11_SB_MAX_SIMULTANEOUS_EXTENDED_OPCODES: DWORD = 3; -pub const D3D10_SB_EXTENDED_OPCODE_TYPE_MASK: DWORD = 0x0000003f; -#[inline] -pub fn DECODE_D3D10_SB_EXTENDED_OPCODE_TYPE(OpcodeToken1: DWORD) -> D3D10_SB_EXTENDED_OPCODE_TYPE { - (OpcodeToken1 & D3D10_SB_EXTENDED_OPCODE_TYPE_MASK) as D3D10_SB_EXTENDED_OPCODE_TYPE -} -#[inline] -pub fn ENCODE_D3D10_SB_EXTENDED_OPCODE_TYPE( - ExtOpcodeType: D3D10_SB_EXTENDED_OPCODE_TYPE, -) -> DWORD { - ExtOpcodeType & D3D10_SB_EXTENDED_OPCODE_TYPE_MASK -} -ENUM!{enum D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_COORD { - D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_U = 0, - D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_V = 1, - D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_W = 2, -}} -pub const D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_COORD_MASK: DWORD = 3; -#[inline] -pub fn D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_SHIFT(Coord: DWORD) -> DWORD { - 9 + 4 * (Coord & D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_COORD_MASK) -} -#[inline] -pub fn D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_MASK(Coord: DWORD) -> DWORD { - 0x0000000f << D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_SHIFT(Coord) -} -#[inline] -pub fn DECODE_IMMEDIATE_D3D10_SB_ADDRESS_OFFSET( - Coord: DWORD, - OpcodeToken1: DWORD, -) -> DWORD { - (OpcodeToken1 & D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_MASK(Coord)) - >> D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_SHIFT(Coord) -} -#[inline] -pub fn ENCODE_IMMEDIATE_D3D10_SB_ADDRESS_OFFSET( - Coord: DWORD, - ImmediateOffset: DWORD, -) -> DWORD { - (ImmediateOffset << D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_SHIFT(Coord)) - & D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_MASK(Coord) -} -pub const D3D11_SB_EXTENDED_RESOURCE_DIMENSION_MASK: DWORD = 0x000007C0; -pub const D3D11_SB_EXTENDED_RESOURCE_DIMENSION_SHIFT: DWORD = 6; -#[inline] -pub fn DECODE_D3D11_SB_EXTENDED_RESOURCE_DIMENSION( - OpcodeTokenN: DWORD, -) -> D3D10_SB_RESOURCE_DIMENSION { - ((OpcodeTokenN & D3D11_SB_EXTENDED_RESOURCE_DIMENSION_MASK) - >> D3D11_SB_EXTENDED_RESOURCE_DIMENSION_SHIFT) as D3D10_SB_RESOURCE_DIMENSION -} -#[inline] -pub fn ENCODE_D3D11_SB_EXTENDED_RESOURCE_DIMENSION( - ResourceDim: D3D10_SB_RESOURCE_DIMENSION, -) -> DWORD { - (ResourceDim << D3D11_SB_EXTENDED_RESOURCE_DIMENSION_SHIFT) - & D3D11_SB_EXTENDED_RESOURCE_DIMENSION_MASK -} -pub const D3D11_SB_EXTENDED_RESOURCE_DIMENSION_STRUCTURE_STRIDE_MASK: DWORD = 0x007FF800; -pub const D3D11_SB_EXTENDED_RESOURCE_DIMENSION_STRUCTURE_STRIDE_SHIFT: DWORD = 11; -#[inline] -pub fn DECODE_D3D11_SB_EXTENDED_RESOURCE_DIMENSION_STRUCTURE_STRIDE(OpcodeTokenN: DWORD) -> DWORD { - (OpcodeTokenN & D3D11_SB_EXTENDED_RESOURCE_DIMENSION_STRUCTURE_STRIDE_MASK) - >> D3D11_SB_EXTENDED_RESOURCE_DIMENSION_STRUCTURE_STRIDE_SHIFT -} -#[inline] -pub fn ENCODE_D3D11_SB_EXTENDED_RESOURCE_DIMENSION_STRUCTURE_STRIDE(Stride: DWORD) -> DWORD { - (Stride << D3D11_SB_EXTENDED_RESOURCE_DIMENSION_STRUCTURE_STRIDE_SHIFT) - & D3D11_SB_EXTENDED_RESOURCE_DIMENSION_STRUCTURE_STRIDE_MASK -} -pub const D3D10_SB_RESOURCE_RETURN_TYPE_MASK: DWORD = 0x0000000f; -pub const D3D10_SB_RESOURCE_RETURN_TYPE_NUMBITS: DWORD = 0x00000004; -pub const D3D11_SB_EXTENDED_RESOURCE_RETURN_TYPE_SHIFT: DWORD = 6; -#[inline] -pub fn DECODE_D3D11_SB_EXTENDED_RESOURCE_RETURN_TYPE( - OpcodeTokenN: DWORD, - Component: DWORD, -) -> DWORD { - ((OpcodeTokenN >> (Component * D3D10_SB_RESOURCE_RETURN_TYPE_NUMBITS - + D3D11_SB_EXTENDED_RESOURCE_RETURN_TYPE_SHIFT)) - & D3D10_SB_RESOURCE_RETURN_TYPE_MASK) as D3D10_SB_RESOURCE_RETURN_TYPE -} -#[inline] -pub fn ENCODE_D3D11_SB_EXTENDED_RESOURCE_RETURN_TYPE( - ReturnType: DWORD, - Component: DWORD, -) -> DWORD { - (ReturnType & D3D10_SB_RESOURCE_RETURN_TYPE_MASK) - << (Component * D3D10_SB_RESOURCE_RETURN_TYPE_NUMBITS - + D3D11_SB_EXTENDED_RESOURCE_RETURN_TYPE_SHIFT) -} -ENUM!{enum D3D10_SB_CUSTOMDATA_CLASS { - D3D10_SB_CUSTOMDATA_COMMENT = 0, - D3D10_SB_CUSTOMDATA_DEBUGINFO = 1, - D3D10_SB_CUSTOMDATA_OPAQUE = 2, - D3D10_SB_CUSTOMDATA_DCL_IMMEDIATE_CONSTANT_BUFFER = 3, - D3D11_SB_CUSTOMDATA_SHADER_MESSAGE = 4, - D3D11_SB_CUSTOMDATA_SHADER_CLIP_PLANE_CONSTANT_MAPPINGS_FOR_DX9 = 5, -}} -pub const D3D10_SB_CUSTOMDATA_CLASS_MASK: DWORD = 0xfffff800; -pub const D3D10_SB_CUSTOMDATA_CLASS_SHIFT: DWORD = 11; -#[inline] -pub fn DECODE_D3D10_SB_CUSTOMDATA_CLASS(CustomDataDescTok: DWORD) -> D3D10_SB_CUSTOMDATA_CLASS { - ((CustomDataDescTok & D3D10_SB_CUSTOMDATA_CLASS_MASK) >> D3D10_SB_CUSTOMDATA_CLASS_SHIFT) - as D3D10_SB_CUSTOMDATA_CLASS -} -#[inline] -pub fn ENCODE_D3D10_SB_CUSTOMDATA_CLASS(CustomDataClass: D3D10_SB_CUSTOMDATA_CLASS) -> DWORD { - ENCODE_D3D10_SB_OPCODE_TYPE(D3D10_SB_OPCODE_CUSTOMDATA) - | ((CustomDataClass << D3D10_SB_CUSTOMDATA_CLASS_SHIFT) & D3D10_SB_CUSTOMDATA_CLASS_MASK) -} -ENUM!{enum D3D10_SB_OPERAND_NUM_COMPONENTS { - D3D10_SB_OPERAND_0_COMPONENT = 0, - D3D10_SB_OPERAND_1_COMPONENT = 1, - D3D10_SB_OPERAND_4_COMPONENT = 2, - D3D10_SB_OPERAND_N_COMPONENT = 3, -}} -pub const D3D10_SB_OPERAND_NUM_COMPONENTS_MASK: DWORD = 0x00000003; -#[inline] -pub fn DECODE_D3D10_SB_OPERAND_NUM_COMPONENTS(OperandToken0: DWORD) -> DWORD { - (OperandToken0 & D3D10_SB_OPERAND_NUM_COMPONENTS_MASK) as D3D10_SB_OPERAND_NUM_COMPONENTS -} -#[inline] -pub fn ENCODE_D3D10_SB_OPERAND_NUM_COMPONENTS(NumComp: DWORD) -> DWORD { - NumComp & D3D10_SB_OPERAND_NUM_COMPONENTS_MASK -} -ENUM!{enum D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE { - D3D10_SB_OPERAND_4_COMPONENT_MASK_MODE = 0, - D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_MODE = 1, - D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_MODE = 2, -}} -pub const D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE_MASK: DWORD = 0x0000000c; -pub const D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE_SHIFT: DWORD = 2; -#[inline] -pub fn DECODE_D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE( - OperandToken0: DWORD, -) -> D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE { - ((OperandToken0 & D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE_MASK) - >> D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE_SHIFT) - as D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE -} -#[inline] -pub fn ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE( - SelectionMode: D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE, -) -> DWORD { - (SelectionMode << D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE_SHIFT) - & D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE_MASK -} -ENUM!{enum D3D10_SB_4_COMPONENT_NAME { - D3D10_SB_4_COMPONENT_X = 0, - D3D10_SB_4_COMPONENT_Y = 1, - D3D10_SB_4_COMPONENT_Z = 2, - D3D10_SB_4_COMPONENT_W = 3, - D3D10_SB_4_COMPONENT_R = 0, - D3D10_SB_4_COMPONENT_G = 1, - D3D10_SB_4_COMPONENT_B = 2, - D3D10_SB_4_COMPONENT_A = 3, -}} -pub const D3D10_SB_4_COMPONENT_NAME_MASK: DWORD = 3; -pub const D3D10_SB_OPERAND_4_COMPONENT_MASK_MASK: DWORD = 0x000000f0; -pub const D3D10_SB_OPERAND_4_COMPONENT_MASK_SHIFT: DWORD = 4; -pub const D3D10_SB_OPERAND_4_COMPONENT_MASK_X: DWORD = 0x00000010; -pub const D3D10_SB_OPERAND_4_COMPONENT_MASK_Y: DWORD = 0x00000020; -pub const D3D10_SB_OPERAND_4_COMPONENT_MASK_Z: DWORD = 0x00000040; -pub const D3D10_SB_OPERAND_4_COMPONENT_MASK_W: DWORD = 0x00000080; -pub const D3D10_SB_OPERAND_4_COMPONENT_MASK_R: DWORD = D3D10_SB_OPERAND_4_COMPONENT_MASK_X; -pub const D3D10_SB_OPERAND_4_COMPONENT_MASK_G: DWORD = D3D10_SB_OPERAND_4_COMPONENT_MASK_Y; -pub const D3D10_SB_OPERAND_4_COMPONENT_MASK_B: DWORD = D3D10_SB_OPERAND_4_COMPONENT_MASK_Z; -pub const D3D10_SB_OPERAND_4_COMPONENT_MASK_A: DWORD = D3D10_SB_OPERAND_4_COMPONENT_MASK_W; -pub const D3D10_SB_OPERAND_4_COMPONENT_MASK_ALL: DWORD = D3D10_SB_OPERAND_4_COMPONENT_MASK_MASK; -#[inline] -pub fn DECODE_D3D10_SB_OPERAND_4_COMPONENT_MASK(OperandToken0: DWORD) -> DWORD { - OperandToken0 & D3D10_SB_OPERAND_4_COMPONENT_MASK_MASK -} -#[inline] -pub fn ENCODE_D3D10_SB_OPERAND_4_COMPONENT_MASK(ComponentMask: DWORD) -> DWORD { - ComponentMask & D3D10_SB_OPERAND_4_COMPONENT_MASK_MASK -} -#[inline] -pub fn D3D10_SB_OPERAND_4_COMPONENT_MASK(ComponentName: DWORD) -> DWORD { - (1 << (D3D10_SB_OPERAND_4_COMPONENT_MASK_SHIFT + ComponentName)) - & D3D10_SB_OPERAND_4_COMPONENT_MASK_MASK -} -pub const D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_MASK: DWORD = 0x00000ff0; -pub const D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_SHIFT: DWORD = 4; -#[inline] -pub fn DECODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE(OperandToken0: DWORD) -> DWORD { - OperandToken0 & D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_MASK -} -#[inline] -pub fn DECODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_SOURCE( - OperandToken0: DWORD, - DestComp: DWORD, -) -> D3D10_SB_4_COMPONENT_NAME { - ((OperandToken0 >> (D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_SHIFT + 2 - * (DestComp & D3D10_SB_4_COMPONENT_NAME_MASK))) - & D3D10_SB_4_COMPONENT_NAME_MASK) as D3D10_SB_4_COMPONENT_NAME -} -#[inline] -pub fn ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE( - XSrc: DWORD, - YSrc: DWORD, - ZSrc: DWORD, - WSrc: DWORD, -) -> DWORD { - ((XSrc & D3D10_SB_4_COMPONENT_NAME_MASK) - | ((YSrc & D3D10_SB_4_COMPONENT_NAME_MASK) << 2) - | ((ZSrc & D3D10_SB_4_COMPONENT_NAME_MASK) << 4) - | ((WSrc & D3D10_SB_4_COMPONENT_NAME_MASK) << 6)) - << D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_SHIFT -} -#[inline] -pub fn D3D10_SB_OPERAND_4_COMPONENT_NOSWIZZLE() -> DWORD { - ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE( - D3D10_SB_4_COMPONENT_X, - D3D10_SB_4_COMPONENT_Y, - D3D10_SB_4_COMPONENT_Z, - D3D10_SB_4_COMPONENT_W, - ) -} -#[inline] -pub fn D3D10_SB_OPERAND_4_COMPONENT_REPLICATEX() -> DWORD { - ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE( - D3D10_SB_4_COMPONENT_X, - D3D10_SB_4_COMPONENT_X, - D3D10_SB_4_COMPONENT_X, - D3D10_SB_4_COMPONENT_X, - ) -} -#[inline] -pub fn D3D10_SB_OPERAND_4_COMPONENT_REPLICATEY() -> DWORD { - ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE( - D3D10_SB_4_COMPONENT_Y, - D3D10_SB_4_COMPONENT_Y, - D3D10_SB_4_COMPONENT_Y, - D3D10_SB_4_COMPONENT_Y, - ) -} -#[inline] -pub fn D3D10_SB_OPERAND_4_COMPONENT_REPLICATEZ() -> DWORD { - ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE( - D3D10_SB_4_COMPONENT_Z, - D3D10_SB_4_COMPONENT_Z, - D3D10_SB_4_COMPONENT_Z, - D3D10_SB_4_COMPONENT_Z, - ) -} -#[inline] -pub fn D3D10_SB_OPERAND_4_COMPONENT_REPLICATEW() -> DWORD { - ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE( - D3D10_SB_4_COMPONENT_W, - D3D10_SB_4_COMPONENT_W, - D3D10_SB_4_COMPONENT_W, - D3D10_SB_4_COMPONENT_W, - ) -} -#[inline] -pub fn D3D10_SB_OPERAND_4_COMPONENT_REPLICATERED() -> DWORD { - D3D10_SB_OPERAND_4_COMPONENT_REPLICATEX() -} -#[inline] -pub fn D3D10_SB_OPERAND_4_COMPONENT_REPLICATEGREEN() -> DWORD { - D3D10_SB_OPERAND_4_COMPONENT_REPLICATEY() -} -#[inline] -pub fn D3D10_SB_OPERAND_4_COMPONENT_REPLICATEBLUE() -> DWORD { - D3D10_SB_OPERAND_4_COMPONENT_REPLICATEZ() -} -#[inline] -pub fn D3D10_SB_OPERAND_4_COMPONENT_REPLICATEALPHA() -> DWORD { - D3D10_SB_OPERAND_4_COMPONENT_REPLICATEW() -} -pub const D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_MASK: DWORD = 0x00000030; -pub const D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_SHIFT: DWORD = 4; -#[inline] -pub fn DECODE_D3D10_SB_OPERAND_4_COMPONENT_SELECT_1( - OperandToken0: DWORD, -) -> D3D10_SB_4_COMPONENT_NAME { - ((OperandToken0 & D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_MASK) - >> D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_SHIFT) as D3D10_SB_4_COMPONENT_NAME -} -#[inline] -pub fn ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SELECT_1( - SelectedComp: D3D10_SB_4_COMPONENT_NAME, -) -> DWORD { - (SelectedComp << D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_SHIFT) - & D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_MASK -} -ENUM!{enum D3D10_SB_OPERAND_TYPE { - D3D10_SB_OPERAND_TYPE_TEMP = 0, - D3D10_SB_OPERAND_TYPE_INPUT = 1, - D3D10_SB_OPERAND_TYPE_OUTPUT = 2, - D3D10_SB_OPERAND_TYPE_INDEXABLE_TEMP = 3, - D3D10_SB_OPERAND_TYPE_IMMEDIATE32 = 4, - D3D10_SB_OPERAND_TYPE_IMMEDIATE64 = 5, - D3D10_SB_OPERAND_TYPE_SAMPLER = 6, - D3D10_SB_OPERAND_TYPE_RESOURCE = 7, - D3D10_SB_OPERAND_TYPE_CONSTANT_BUFFER= 8, - D3D10_SB_OPERAND_TYPE_IMMEDIATE_CONSTANT_BUFFER= 9, - D3D10_SB_OPERAND_TYPE_LABEL = 10, - D3D10_SB_OPERAND_TYPE_INPUT_PRIMITIVEID = 11, - D3D10_SB_OPERAND_TYPE_OUTPUT_DEPTH = 12, - D3D10_SB_OPERAND_TYPE_NULL = 13, - D3D10_SB_OPERAND_TYPE_RASTERIZER = 14, - D3D10_SB_OPERAND_TYPE_OUTPUT_COVERAGE_MASK = 15, - D3D11_SB_OPERAND_TYPE_STREAM = 16, - D3D11_SB_OPERAND_TYPE_FUNCTION_BODY = 17, - D3D11_SB_OPERAND_TYPE_FUNCTION_TABLE = 18, - D3D11_SB_OPERAND_TYPE_INTERFACE = 19, - D3D11_SB_OPERAND_TYPE_FUNCTION_INPUT = 20, - D3D11_SB_OPERAND_TYPE_FUNCTION_OUTPUT = 21, - D3D11_SB_OPERAND_TYPE_OUTPUT_CONTROL_POINT_ID = 22, - D3D11_SB_OPERAND_TYPE_INPUT_FORK_INSTANCE_ID = 23, - D3D11_SB_OPERAND_TYPE_INPUT_JOIN_INSTANCE_ID = 24, - D3D11_SB_OPERAND_TYPE_INPUT_CONTROL_POINT = 25, - D3D11_SB_OPERAND_TYPE_OUTPUT_CONTROL_POINT = 26, - D3D11_SB_OPERAND_TYPE_INPUT_PATCH_CONSTANT = 27, - D3D11_SB_OPERAND_TYPE_INPUT_DOMAIN_POINT = 28, - D3D11_SB_OPERAND_TYPE_THIS_POINTER = 29, - D3D11_SB_OPERAND_TYPE_UNORDERED_ACCESS_VIEW = 30, - D3D11_SB_OPERAND_TYPE_THREAD_GROUP_SHARED_MEMORY = 31, - D3D11_SB_OPERAND_TYPE_INPUT_THREAD_ID = 32, - D3D11_SB_OPERAND_TYPE_INPUT_THREAD_GROUP_ID = 33, - D3D11_SB_OPERAND_TYPE_INPUT_THREAD_ID_IN_GROUP = 34, - D3D11_SB_OPERAND_TYPE_INPUT_COVERAGE_MASK = 35, - D3D11_SB_OPERAND_TYPE_INPUT_THREAD_ID_IN_GROUP_FLATTENED = 36, - D3D11_SB_OPERAND_TYPE_INPUT_GS_INSTANCE_ID = 37, - D3D11_SB_OPERAND_TYPE_OUTPUT_DEPTH_GREATER_EQUAL = 38, - D3D11_SB_OPERAND_TYPE_OUTPUT_DEPTH_LESS_EQUAL = 39, - D3D11_SB_OPERAND_TYPE_CYCLE_COUNTER = 40, -}} -pub const D3D10_SB_OPERAND_TYPE_MASK: DWORD = 0x000ff000; -pub const D3D10_SB_OPERAND_TYPE_SHIFT: DWORD = 12; -#[inline] -pub fn DECODE_D3D10_SB_OPERAND_TYPE(OperandToken0: DWORD) -> D3D10_SB_OPERAND_TYPE { - ((OperandToken0 & D3D10_SB_OPERAND_TYPE_MASK) >> D3D10_SB_OPERAND_TYPE_SHIFT) - as D3D10_SB_OPERAND_TYPE -} -#[inline] -pub fn ENCODE_D3D10_SB_OPERAND_TYPE(OperandType: D3D10_SB_OPERAND_TYPE) -> DWORD { - (OperandType << D3D10_SB_OPERAND_TYPE_SHIFT) & D3D10_SB_OPERAND_TYPE_MASK -} -ENUM!{enum D3D10_SB_OPERAND_INDEX_DIMENSION { - D3D10_SB_OPERAND_INDEX_0D = 0, - D3D10_SB_OPERAND_INDEX_1D = 1, - D3D10_SB_OPERAND_INDEX_2D = 2, - D3D10_SB_OPERAND_INDEX_3D = 3, -}} -pub const D3D10_SB_OPERAND_INDEX_DIMENSION_MASK: DWORD = 0x00300000; -pub const D3D10_SB_OPERAND_INDEX_DIMENSION_SHIFT: DWORD = 20; -#[inline] -pub fn DECODE_D3D10_SB_OPERAND_INDEX_DIMENSION( - OperandToken0: DWORD, -) -> D3D10_SB_OPERAND_INDEX_DIMENSION { - ((OperandToken0 & D3D10_SB_OPERAND_INDEX_DIMENSION_MASK) - >> D3D10_SB_OPERAND_INDEX_DIMENSION_SHIFT) as D3D10_SB_OPERAND_INDEX_DIMENSION -} -#[inline] -pub fn ENCODE_D3D10_SB_OPERAND_INDEX_DIMENSION( - OperandIndexDim: D3D10_SB_OPERAND_INDEX_DIMENSION, -) -> DWORD { - (OperandIndexDim << D3D10_SB_OPERAND_INDEX_DIMENSION_SHIFT) - & D3D10_SB_OPERAND_INDEX_DIMENSION_MASK -} -ENUM!{enum D3D10_SB_OPERAND_INDEX_REPRESENTATION { - D3D10_SB_OPERAND_INDEX_IMMEDIATE32 = 0, - D3D10_SB_OPERAND_INDEX_IMMEDIATE64 = 1, - D3D10_SB_OPERAND_INDEX_RELATIVE = 2, - D3D10_SB_OPERAND_INDEX_IMMEDIATE32_PLUS_RELATIVE = 3, - D3D10_SB_OPERAND_INDEX_IMMEDIATE64_PLUS_RELATIVE = 4, -}} -#[inline] -pub fn D3D10_SB_OPERAND_INDEX_REPRESENTATION_SHIFT(Dim: DWORD) -> DWORD { - 22 + 3 * (Dim & 3) -} -#[inline] -pub fn D3D10_SB_OPERAND_INDEX_REPRESENTATION_MASK(Dim: DWORD) -> DWORD { - 0x3 << D3D10_SB_OPERAND_INDEX_REPRESENTATION_SHIFT(Dim) -} -#[inline] -pub fn DECODE_D3D10_SB_OPERAND_INDEX_REPRESENTATION( - Dim: DWORD, - OperandToken0: DWORD, -) -> D3D10_SB_OPERAND_INDEX_REPRESENTATION { - ((OperandToken0 & D3D10_SB_OPERAND_INDEX_REPRESENTATION_MASK(Dim)) - >> D3D10_SB_OPERAND_INDEX_REPRESENTATION_SHIFT(Dim)) - as D3D10_SB_OPERAND_INDEX_REPRESENTATION -} -#[inline] -pub fn ENCODE_D3D10_SB_OPERAND_INDEX_REPRESENTATION( - Dim: DWORD, - IndexRepresentation: D3D10_SB_OPERAND_INDEX_REPRESENTATION, -) -> DWORD { - (IndexRepresentation << D3D10_SB_OPERAND_INDEX_REPRESENTATION_SHIFT(Dim)) - & D3D10_SB_OPERAND_INDEX_REPRESENTATION_MASK(Dim) -} -pub const D3D10_SB_OPERAND_EXTENDED_MASK: DWORD = 0x80000000; -pub const D3D10_SB_OPERAND_EXTENDED_SHIFT: DWORD = 31; -#[inline] -pub fn DECODE_IS_D3D10_SB_OPERAND_EXTENDED(OperandToken0: DWORD) -> DWORD { - (OperandToken0 & D3D10_SB_OPERAND_EXTENDED_MASK) >> D3D10_SB_OPERAND_EXTENDED_SHIFT -} -#[inline] -pub fn ENCODE_D3D10_SB_OPERAND_EXTENDED(bExtended: DWORD) -> DWORD { - if bExtended != 0 { - D3D10_SB_OPERAND_EXTENDED_MASK - } else { - 0 - } -} -ENUM!{enum D3D10_SB_EXTENDED_OPERAND_TYPE { - D3D10_SB_EXTENDED_OPERAND_EMPTY = 0, - D3D10_SB_EXTENDED_OPERAND_MODIFIER = 1, -}} -pub const D3D10_SB_EXTENDED_OPERAND_TYPE_MASK: DWORD = 0x0000003f; -#[inline] -pub fn DECODE_D3D10_SB_EXTENDED_OPERAND_TYPE( - OperandToken1: DWORD, -) -> D3D10_SB_EXTENDED_OPERAND_TYPE { - (OperandToken1 & D3D10_SB_EXTENDED_OPERAND_TYPE_MASK) as D3D10_SB_EXTENDED_OPERAND_TYPE -} -#[inline] -pub fn ENCODE_D3D10_SB_EXTENDED_OPERAND_TYPE( - ExtOperandType: D3D10_SB_EXTENDED_OPERAND_TYPE, -) -> DWORD { - ExtOperandType & D3D10_SB_EXTENDED_OPERAND_TYPE_MASK -} -ENUM!{enum D3D10_SB_OPERAND_MODIFIER { - D3D10_SB_OPERAND_MODIFIER_NONE = 0, - D3D10_SB_OPERAND_MODIFIER_NEG = 1, - D3D10_SB_OPERAND_MODIFIER_ABS = 2, - D3D10_SB_OPERAND_MODIFIER_ABSNEG = 3, -}} -pub const D3D10_SB_OPERAND_MODIFIER_MASK: DWORD = 0x00003fc0; -pub const D3D10_SB_OPERAND_MODIFIER_SHIFT: DWORD = 6; -#[inline] -pub fn DECODE_D3D10_SB_OPERAND_MODIFIER(OperandToken1: DWORD) -> D3D10_SB_OPERAND_MODIFIER { - ((OperandToken1 & D3D10_SB_OPERAND_MODIFIER_MASK) >> D3D10_SB_OPERAND_MODIFIER_SHIFT) - as D3D10_SB_OPERAND_MODIFIER -} -#[inline] -pub fn ENCODE_D3D10_SB_EXTENDED_OPERAND_MODIFIER(SourceMod: D3D10_SB_OPERAND_MODIFIER) -> DWORD { - ((SourceMod << D3D10_SB_OPERAND_MODIFIER_SHIFT) & D3D10_SB_OPERAND_MODIFIER_MASK) - | ENCODE_D3D10_SB_EXTENDED_OPERAND_TYPE(D3D10_SB_EXTENDED_OPERAND_MODIFIER) - | ENCODE_D3D10_SB_OPERAND_DOUBLE_EXTENDED(0) -} -ENUM!{enum D3D11_SB_OPERAND_MIN_PRECISION { - D3D11_SB_OPERAND_MIN_PRECISION_DEFAULT = 0, - D3D11_SB_OPERAND_MIN_PRECISION_FLOAT_16 = 1, - D3D11_SB_OPERAND_MIN_PRECISION_FLOAT_2_8 = 2, - D3D11_SB_OPERAND_MIN_PRECISION_SINT_16 = 4, - D3D11_SB_OPERAND_MIN_PRECISION_UINT_16 = 5, -}} -pub const D3D11_SB_OPERAND_MIN_PRECISION_MASK: DWORD = 0x0001C000; -pub const D3D11_SB_OPERAND_MIN_PRECISION_SHIFT: DWORD = 14; -#[inline] -pub fn DECODE_D3D11_SB_OPERAND_MIN_PRECISION( - OperandToken1: DWORD, -) -> D3D11_SB_OPERAND_MIN_PRECISION { - ((OperandToken1 & D3D11_SB_OPERAND_MIN_PRECISION_MASK) >> D3D11_SB_OPERAND_MIN_PRECISION_SHIFT) - as D3D11_SB_OPERAND_MIN_PRECISION -} -#[inline] -pub fn ENCODE_D3D11_SB_OPERAND_MIN_PRECISION( - MinPrecision: D3D11_SB_OPERAND_MIN_PRECISION, -) -> DWORD { - (MinPrecision << D3D11_SB_OPERAND_MIN_PRECISION_SHIFT) & D3D11_SB_OPERAND_MIN_PRECISION_MASK -} -pub const D3D10_SB_OPERAND_DOUBLE_EXTENDED_MASK: DWORD = 0x80000000; -pub const D3D10_SB_OPERAND_DOUBLE_EXTENDED_SHIFT: DWORD = 31; -#[inline] -pub fn DECODE_IS_D3D10_SB_OPERAND_DOUBLE_EXTENDED(OperandToken1: DWORD) -> DWORD { - (OperandToken1 & D3D10_SB_OPERAND_DOUBLE_EXTENDED_MASK) - >> D3D10_SB_OPERAND_DOUBLE_EXTENDED_SHIFT -} -#[inline] -pub fn ENCODE_D3D10_SB_OPERAND_DOUBLE_EXTENDED(bExtended: DWORD) -> DWORD { - if bExtended != 0 { - D3D10_SB_OPERAND_DOUBLE_EXTENDED_MASK - } else { - 0 - } -} -pub const D3D10_SB_NAME_MASK: DWORD = 0x0000ffff; -#[inline] -pub fn DECODE_D3D10_SB_NAME(NameToken: DWORD) -> D3D10_SB_NAME { - (NameToken & D3D10_SB_NAME_MASK) as D3D10_SB_NAME -} -#[inline] -pub fn ENCODE_D3D10_SB_NAME(Name: D3D10_SB_NAME) -> DWORD { - Name & D3D10_SB_NAME_MASK -} -pub const D3D10_SB_GLOBAL_FLAG_REFACTORING_ALLOWED: DWORD = (1 << 11); -pub const D3D11_SB_GLOBAL_FLAG_ENABLE_DOUBLE_PRECISION_FLOAT_OPS: DWORD = (1 << 12); -pub const D3D11_SB_GLOBAL_FLAG_FORCE_EARLY_DEPTH_STENCIL: DWORD = (1 << 13); -pub const D3D11_SB_GLOBAL_FLAG_ENABLE_RAW_AND_STRUCTURED_BUFFERS: DWORD = (1 << 14); -pub const D3D11_1_SB_GLOBAL_FLAG_SKIP_OPTIMIZATION: DWORD = (1 << 15); -pub const D3D11_1_SB_GLOBAL_FLAG_ENABLE_MINIMUM_PRECISION: DWORD = (1 << 16); -pub const D3D11_1_SB_GLOBAL_FLAG_ENABLE_DOUBLE_EXTENSIONS: DWORD = (1 << 17); -pub const D3D11_1_SB_GLOBAL_FLAG_ENABLE_SHADER_EXTENSIONS: DWORD = (1 << 18); -pub const D3D10_SB_GLOBAL_FLAGS_MASK: DWORD = 0x00fff800; -#[inline] -pub fn DECODE_D3D10_SB_GLOBAL_FLAGS(OpcodeToken0: DWORD) -> DWORD { - OpcodeToken0 & D3D10_SB_GLOBAL_FLAGS_MASK -} -#[inline] -pub fn ENCODE_D3D10_SB_GLOBAL_FLAGS(Flags: DWORD) -> DWORD { - Flags & D3D10_SB_GLOBAL_FLAGS_MASK -} -pub const D3D10_SB_RESOURCE_DIMENSION_MASK: DWORD = 0x0000F800; -pub const D3D10_SB_RESOURCE_DIMENSION_SHIFT: DWORD = 11; -#[inline] -pub fn DECODE_D3D10_SB_RESOURCE_DIMENSION(OpcodeToken0: DWORD) -> D3D10_SB_RESOURCE_DIMENSION { - ((OpcodeToken0 & D3D10_SB_RESOURCE_DIMENSION_MASK) >> D3D10_SB_RESOURCE_DIMENSION_SHIFT) - as D3D10_SB_RESOURCE_DIMENSION -} -#[inline] -pub fn ENCODE_D3D10_SB_RESOURCE_DIMENSION(ResourceDim: D3D10_SB_RESOURCE_DIMENSION) -> DWORD { - (ResourceDim << D3D10_SB_RESOURCE_DIMENSION_SHIFT) & D3D10_SB_RESOURCE_DIMENSION_MASK -} -pub const D3D10_SB_RESOURCE_SAMPLE_COUNT_MASK: DWORD = 0x07F0000; -pub const D3D10_SB_RESOURCE_SAMPLE_COUNT_SHIFT: DWORD = 16; -#[inline] -pub fn DECODE_D3D10_SB_RESOURCE_SAMPLE_COUNT(OpcodeToken0: DWORD) -> UINT { - ((OpcodeToken0 & D3D10_SB_RESOURCE_SAMPLE_COUNT_MASK) >> D3D10_SB_RESOURCE_SAMPLE_COUNT_SHIFT) - as UINT -} -#[inline] -pub fn ENCODE_D3D10_SB_RESOURCE_SAMPLE_COUNT(SampleCount: DWORD) -> DWORD { - (if SampleCount > 127 { 127 } else { SampleCount } << D3D10_SB_RESOURCE_SAMPLE_COUNT_SHIFT) - & D3D10_SB_RESOURCE_SAMPLE_COUNT_MASK -} -#[inline] -pub fn DECODE_D3D10_SB_RESOURCE_RETURN_TYPE( - ResourceReturnTypeToken: D3D10_SB_RESOURCE_RETURN_TYPE, - Component: DWORD, -) -> D3D10_SB_RESOURCE_RETURN_TYPE { - ((ResourceReturnTypeToken >> (Component * D3D10_SB_RESOURCE_RETURN_TYPE_NUMBITS)) - & D3D10_SB_RESOURCE_RETURN_TYPE_MASK) as D3D10_SB_RESOURCE_RETURN_TYPE -} -#[inline] -pub fn ENCODE_D3D10_SB_RESOURCE_RETURN_TYPE( - ReturnType: DWORD, - Component: DWORD, -) -> D3D10_SB_RESOURCE_RETURN_TYPE { - (ReturnType & D3D10_SB_RESOURCE_RETURN_TYPE_MASK) - << (Component * D3D10_SB_RESOURCE_RETURN_TYPE_NUMBITS) -} -ENUM!{enum D3D10_SB_SAMPLER_MODE { - D3D10_SB_SAMPLER_MODE_DEFAULT = 0, - D3D10_SB_SAMPLER_MODE_COMPARISON = 1, - D3D10_SB_SAMPLER_MODE_MONO = 2, -}} -pub const D3D10_SB_SAMPLER_MODE_MASK: DWORD = 0x00007800; -pub const D3D10_SB_SAMPLER_MODE_SHIFT: DWORD = 11; -#[inline] -pub fn DECODE_D3D10_SB_SAMPLER_MODE(OpcodeToken0: DWORD) -> D3D10_SB_SAMPLER_MODE { - ((OpcodeToken0 & D3D10_SB_SAMPLER_MODE_MASK) >> D3D10_SB_SAMPLER_MODE_SHIFT) - as D3D10_SB_SAMPLER_MODE -} -#[inline] -pub fn ENCODE_D3D10_SB_SAMPLER_MODE(SamplerMode: D3D10_SB_SAMPLER_MODE) -> DWORD { - (SamplerMode << D3D10_SB_SAMPLER_MODE_SHIFT) & D3D10_SB_SAMPLER_MODE_MASK -} -pub const D3D10_SB_INPUT_INTERPOLATION_MODE_MASK: DWORD = 0x00007800; -pub const D3D10_SB_INPUT_INTERPOLATION_MODE_SHIFT: DWORD = 11; -#[inline] -pub fn DECODE_D3D10_SB_INPUT_INTERPOLATION_MODE( - OpcodeToken0: DWORD, -) -> D3D10_SB_INTERPOLATION_MODE { - ((OpcodeToken0 & D3D10_SB_INPUT_INTERPOLATION_MODE_MASK) - >> D3D10_SB_INPUT_INTERPOLATION_MODE_SHIFT) as D3D10_SB_INTERPOLATION_MODE -} -#[inline] -pub fn ENCODE_D3D10_SB_INPUT_INTERPOLATION_MODE( - InterpolationMode: D3D10_SB_INTERPOLATION_MODE, -) -> DWORD { - (InterpolationMode << D3D10_SB_INPUT_INTERPOLATION_MODE_SHIFT) - & D3D10_SB_INPUT_INTERPOLATION_MODE_MASK -} -ENUM!{enum D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN { - D3D10_SB_CONSTANT_BUFFER_IMMEDIATE_INDEXED = 0, - D3D10_SB_CONSTANT_BUFFER_DYNAMIC_INDEXED = 1, -}} -pub const D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN_MASK: DWORD = 0x00000800; -pub const D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN_SHIFT: DWORD = 11; -#[inline] -pub fn DECODE_D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN( - OpcodeToken0: DWORD, -) -> D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN { - ((OpcodeToken0 & D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN_MASK) - >> D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN_SHIFT) - as D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN -} -#[inline] -pub fn ENCODE_D3D10_SB_D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN( - AccessPattern: D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN, -) -> DWORD { - (AccessPattern << D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN_SHIFT) - & D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN_MASK -} -ENUM!{enum D3D11_SB_SHADER_MESSAGE_ID { - D3D11_SB_SHADER_MESSAGE_ID_MESSAGE = 0x00200102, - D3D11_SB_SHADER_MESSAGE_ID_ERROR = 0x00200103, -}} -ENUM!{enum D3D11_SB_SHADER_MESSAGE_FORMAT { - D3D11_SB_SHADER_MESSAGE_FORMAT_ANSI_TEXT = 0, - D3D11_SB_SHADER_MESSAGE_FORMAT_ANSI_PRINTF = 1, -}} -pub const D3D10_SB_GS_INPUT_PRIMITIVE_MASK: DWORD = 0x0001f800; -pub const D3D10_SB_GS_INPUT_PRIMITIVE_SHIFT: DWORD = 11; -#[inline] -pub fn DECODE_D3D10_SB_GS_INPUT_PRIMITIVE(OpcodeToken0: DWORD) -> D3D10_SB_PRIMITIVE { - ((OpcodeToken0 & D3D10_SB_GS_INPUT_PRIMITIVE_MASK) >> D3D10_SB_GS_INPUT_PRIMITIVE_SHIFT) - as D3D10_SB_PRIMITIVE -} -#[inline] -pub fn ENCODE_D3D10_SB_GS_INPUT_PRIMITIVE(Prim: D3D10_SB_PRIMITIVE) -> DWORD { - (Prim << D3D10_SB_GS_INPUT_PRIMITIVE_SHIFT) & D3D10_SB_GS_INPUT_PRIMITIVE_MASK -} -pub const D3D10_SB_GS_OUTPUT_PRIMITIVE_TOPOLOGY_MASK: DWORD = 0x0001f800; -pub const D3D10_SB_GS_OUTPUT_PRIMITIVE_TOPOLOGY_SHIFT: DWORD = 11; -#[inline] -pub fn DECODE_D3D10_SB_GS_OUTPUT_PRIMITIVE_TOPOLOGY( - OpcodeToken0: DWORD, -) -> D3D10_SB_PRIMITIVE_TOPOLOGY { - ((OpcodeToken0 & D3D10_SB_GS_OUTPUT_PRIMITIVE_TOPOLOGY_MASK) - >> D3D10_SB_GS_OUTPUT_PRIMITIVE_TOPOLOGY_SHIFT) as D3D10_SB_PRIMITIVE_TOPOLOGY -} -#[inline] -pub fn ENCODE_D3D10_SB_GS_OUTPUT_PRIMITIVE_TOPOLOGY( - PrimTopology: D3D10_SB_PRIMITIVE_TOPOLOGY, -) -> DWORD { - (PrimTopology << D3D10_SB_GS_OUTPUT_PRIMITIVE_TOPOLOGY_SHIFT) - & D3D10_SB_GS_OUTPUT_PRIMITIVE_TOPOLOGY_MASK -} -pub const D3D11_SB_INPUT_CONTROL_POINT_COUNT_MASK: DWORD = 0x0001f800; -pub const D3D11_SB_INPUT_CONTROL_POINT_COUNT_SHIFT: DWORD = 11; -#[inline] -pub fn DECODE_D3D11_SB_INPUT_CONTROL_POINT_COUNT(OpcodeToken0: DWORD) -> UINT { - ((OpcodeToken0 & D3D11_SB_INPUT_CONTROL_POINT_COUNT_MASK) - >> D3D11_SB_INPUT_CONTROL_POINT_COUNT_SHIFT) as UINT -} -#[inline] -pub fn ENCODE_D3D11_SB_INPUT_CONTROL_POINT_COUNT(Count: DWORD) -> DWORD { - (Count << D3D11_SB_INPUT_CONTROL_POINT_COUNT_SHIFT) & D3D11_SB_INPUT_CONTROL_POINT_COUNT_MASK -} -pub const D3D11_SB_OUTPUT_CONTROL_POINT_COUNT_MASK: DWORD = 0x0001f800; -pub const D3D11_SB_OUTPUT_CONTROL_POINT_COUNT_SHIFT: DWORD = 11; -#[inline] -pub fn DECODE_D3D11_SB_OUTPUT_CONTROL_POINT_COUNT(OpcodeToken0: DWORD) -> UINT { - ((OpcodeToken0 & D3D11_SB_OUTPUT_CONTROL_POINT_COUNT_MASK) - >> D3D11_SB_OUTPUT_CONTROL_POINT_COUNT_SHIFT) as UINT -} -#[inline] -pub fn ENCODE_D3D11_SB_OUTPUT_CONTROL_POINT_COUNT(Count: DWORD) -> DWORD { - (Count << D3D11_SB_OUTPUT_CONTROL_POINT_COUNT_SHIFT) & D3D11_SB_OUTPUT_CONTROL_POINT_COUNT_MASK -} -ENUM!{enum D3D11_SB_TESSELLATOR_DOMAIN { - D3D11_SB_TESSELLATOR_DOMAIN_UNDEFINED = 0, - D3D11_SB_TESSELLATOR_DOMAIN_ISOLINE = 1, - D3D11_SB_TESSELLATOR_DOMAIN_TRI = 2, - D3D11_SB_TESSELLATOR_DOMAIN_QUAD = 3, -}} -pub const D3D11_SB_TESS_DOMAIN_MASK: DWORD = 0x00001800; -pub const D3D11_SB_TESS_DOMAIN_SHIFT: DWORD = 11; -#[inline] -pub fn DECODE_D3D11_SB_TESS_DOMAIN(OpcodeToken0: DWORD) -> D3D11_SB_TESSELLATOR_DOMAIN { - ((OpcodeToken0 & D3D11_SB_TESS_DOMAIN_MASK) >> D3D11_SB_TESS_DOMAIN_SHIFT) - as D3D11_SB_TESSELLATOR_DOMAIN -} -#[inline] -pub fn ENCODE_D3D11_SB_TESS_DOMAIN(Domain: D3D11_SB_TESSELLATOR_DOMAIN) -> DWORD { - (Domain << D3D11_SB_TESS_DOMAIN_SHIFT) & D3D11_SB_TESS_DOMAIN_MASK -} -ENUM!{enum D3D11_SB_TESSELLATOR_PARTITIONING { - D3D11_SB_TESSELLATOR_PARTITIONING_UNDEFINED = 0, - D3D11_SB_TESSELLATOR_PARTITIONING_INTEGER = 1, - D3D11_SB_TESSELLATOR_PARTITIONING_POW2 = 2, - D3D11_SB_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = 3, - D3D11_SB_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = 4, -}} -pub const D3D11_SB_TESS_PARTITIONING_MASK: DWORD = 0x00003800; -pub const D3D11_SB_TESS_PARTITIONING_SHIFT: DWORD = 11; -#[inline] -pub fn DECODE_D3D11_SB_TESS_PARTITIONING( - OpcodeToken0: DWORD, -) -> D3D11_SB_TESSELLATOR_PARTITIONING { - ((OpcodeToken0 & D3D11_SB_TESS_PARTITIONING_MASK) >> D3D11_SB_TESS_PARTITIONING_SHIFT) - as D3D11_SB_TESSELLATOR_PARTITIONING -} -#[inline] -pub fn ENCODE_D3D11_SB_TESS_PARTITIONING( - Partitioning: D3D11_SB_TESSELLATOR_PARTITIONING, -) -> DWORD { - (Partitioning << D3D11_SB_TESS_PARTITIONING_SHIFT) & D3D11_SB_TESS_PARTITIONING_MASK -} -ENUM!{enum D3D11_SB_TESSELLATOR_OUTPUT_PRIMITIVE { - D3D11_SB_TESSELLATOR_OUTPUT_UNDEFINED = 0, - D3D11_SB_TESSELLATOR_OUTPUT_POINT = 1, - D3D11_SB_TESSELLATOR_OUTPUT_LINE = 2, - D3D11_SB_TESSELLATOR_OUTPUT_TRIANGLE_CW = 3, - D3D11_SB_TESSELLATOR_OUTPUT_TRIANGLE_CCW = 4, -}} -pub const D3D11_SB_TESS_OUTPUT_PRIMITIVE_MASK: DWORD = 0x00003800; -pub const D3D11_SB_TESS_OUTPUT_PRIMITIVE_SHIFT: DWORD = 11; -#[inline] -pub fn DECODE_D3D11_SB_TESS_OUTPUT_PRIMITIVE( - OpcodeToken0: DWORD, -) -> D3D11_SB_TESSELLATOR_OUTPUT_PRIMITIVE { - ((OpcodeToken0 & D3D11_SB_TESS_OUTPUT_PRIMITIVE_MASK) >> D3D11_SB_TESS_OUTPUT_PRIMITIVE_SHIFT) - as D3D11_SB_TESSELLATOR_OUTPUT_PRIMITIVE -} -#[inline] -pub fn ENCODE_D3D11_SB_TESS_OUTPUT_PRIMITIVE( - OutputPrimitive: D3D11_SB_TESSELLATOR_OUTPUT_PRIMITIVE, -) -> DWORD { - (OutputPrimitive << D3D11_SB_TESS_OUTPUT_PRIMITIVE_SHIFT) & D3D11_SB_TESS_OUTPUT_PRIMITIVE_MASK -} -ENUM!{enum D3D10_SB_INTERPOLATION_MODE { - D3D10_SB_INTERPOLATION_UNDEFINED = 0, - D3D10_SB_INTERPOLATION_CONSTANT = 1, - D3D10_SB_INTERPOLATION_LINEAR = 2, - D3D10_SB_INTERPOLATION_LINEAR_CENTROID = 3, - D3D10_SB_INTERPOLATION_LINEAR_NOPERSPECTIVE = 4, - D3D10_SB_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID = 5, - D3D10_SB_INTERPOLATION_LINEAR_SAMPLE = 6, - D3D10_SB_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE = 7, -}} -ENUM!{enum D3D10_SB_PRIMITIVE_TOPOLOGY { - D3D10_SB_PRIMITIVE_TOPOLOGY_UNDEFINED = 0, - D3D10_SB_PRIMITIVE_TOPOLOGY_POINTLIST = 1, - D3D10_SB_PRIMITIVE_TOPOLOGY_LINELIST = 2, - D3D10_SB_PRIMITIVE_TOPOLOGY_LINESTRIP = 3, - D3D10_SB_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4, - D3D10_SB_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5, - D3D10_SB_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10, - D3D10_SB_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11, - D3D10_SB_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12, - D3D10_SB_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13, -}} -ENUM!{enum D3D10_SB_PRIMITIVE { - D3D10_SB_PRIMITIVE_UNDEFINED = 0, - D3D10_SB_PRIMITIVE_POINT = 1, - D3D10_SB_PRIMITIVE_LINE = 2, - D3D10_SB_PRIMITIVE_TRIANGLE = 3, - D3D10_SB_PRIMITIVE_LINE_ADJ = 6, - D3D10_SB_PRIMITIVE_TRIANGLE_ADJ = 7, - D3D11_SB_PRIMITIVE_1_CONTROL_POINT_PATCH = 8, - D3D11_SB_PRIMITIVE_2_CONTROL_POINT_PATCH = 9, - D3D11_SB_PRIMITIVE_3_CONTROL_POINT_PATCH = 10, - D3D11_SB_PRIMITIVE_4_CONTROL_POINT_PATCH = 11, - D3D11_SB_PRIMITIVE_5_CONTROL_POINT_PATCH = 12, - D3D11_SB_PRIMITIVE_6_CONTROL_POINT_PATCH = 13, - D3D11_SB_PRIMITIVE_7_CONTROL_POINT_PATCH = 14, - D3D11_SB_PRIMITIVE_8_CONTROL_POINT_PATCH = 15, - D3D11_SB_PRIMITIVE_9_CONTROL_POINT_PATCH = 16, - D3D11_SB_PRIMITIVE_10_CONTROL_POINT_PATCH = 17, - D3D11_SB_PRIMITIVE_11_CONTROL_POINT_PATCH = 18, - D3D11_SB_PRIMITIVE_12_CONTROL_POINT_PATCH = 19, - D3D11_SB_PRIMITIVE_13_CONTROL_POINT_PATCH = 20, - D3D11_SB_PRIMITIVE_14_CONTROL_POINT_PATCH = 21, - D3D11_SB_PRIMITIVE_15_CONTROL_POINT_PATCH = 22, - D3D11_SB_PRIMITIVE_16_CONTROL_POINT_PATCH = 23, - D3D11_SB_PRIMITIVE_17_CONTROL_POINT_PATCH = 24, - D3D11_SB_PRIMITIVE_18_CONTROL_POINT_PATCH = 25, - D3D11_SB_PRIMITIVE_19_CONTROL_POINT_PATCH = 26, - D3D11_SB_PRIMITIVE_20_CONTROL_POINT_PATCH = 27, - D3D11_SB_PRIMITIVE_21_CONTROL_POINT_PATCH = 28, - D3D11_SB_PRIMITIVE_22_CONTROL_POINT_PATCH = 29, - D3D11_SB_PRIMITIVE_23_CONTROL_POINT_PATCH = 30, - D3D11_SB_PRIMITIVE_24_CONTROL_POINT_PATCH = 31, - D3D11_SB_PRIMITIVE_25_CONTROL_POINT_PATCH = 32, - D3D11_SB_PRIMITIVE_26_CONTROL_POINT_PATCH = 33, - D3D11_SB_PRIMITIVE_27_CONTROL_POINT_PATCH = 34, - D3D11_SB_PRIMITIVE_28_CONTROL_POINT_PATCH = 35, - D3D11_SB_PRIMITIVE_29_CONTROL_POINT_PATCH = 36, - D3D11_SB_PRIMITIVE_30_CONTROL_POINT_PATCH = 37, - D3D11_SB_PRIMITIVE_31_CONTROL_POINT_PATCH = 38, - D3D11_SB_PRIMITIVE_32_CONTROL_POINT_PATCH = 39, -}} -ENUM!{enum D3D10_SB_COMPONENT_MASK { - D3D10_SB_COMPONENT_MASK_X = 1, - D3D10_SB_COMPONENT_MASK_Y = 2, - D3D10_SB_COMPONENT_MASK_Z = 4, - D3D10_SB_COMPONENT_MASK_W = 8, - D3D10_SB_COMPONENT_MASK_R = 1, - D3D10_SB_COMPONENT_MASK_G = 2, - D3D10_SB_COMPONENT_MASK_B = 4, - D3D10_SB_COMPONENT_MASK_A = 8, - D3D10_SB_COMPONENT_MASK_ALL = 15, -}} -ENUM!{enum D3D10_SB_NAME { - D3D10_SB_NAME_UNDEFINED = 0, - D3D10_SB_NAME_POSITION = 1, - D3D10_SB_NAME_CLIP_DISTANCE = 2, - D3D10_SB_NAME_CULL_DISTANCE = 3, - D3D10_SB_NAME_RENDER_TARGET_ARRAY_INDEX = 4, - D3D10_SB_NAME_VIEWPORT_ARRAY_INDEX = 5, - D3D10_SB_NAME_VERTEX_ID = 6, - D3D10_SB_NAME_PRIMITIVE_ID = 7, - D3D10_SB_NAME_INSTANCE_ID = 8, - D3D10_SB_NAME_IS_FRONT_FACE = 9, - D3D10_SB_NAME_SAMPLE_INDEX = 10, - D3D11_SB_NAME_FINAL_QUAD_U_EQ_0_EDGE_TESSFACTOR = 11, - D3D11_SB_NAME_FINAL_QUAD_V_EQ_0_EDGE_TESSFACTOR = 12, - D3D11_SB_NAME_FINAL_QUAD_U_EQ_1_EDGE_TESSFACTOR = 13, - D3D11_SB_NAME_FINAL_QUAD_V_EQ_1_EDGE_TESSFACTOR = 14, - D3D11_SB_NAME_FINAL_QUAD_U_INSIDE_TESSFACTOR = 15, - D3D11_SB_NAME_FINAL_QUAD_V_INSIDE_TESSFACTOR = 16, - D3D11_SB_NAME_FINAL_TRI_U_EQ_0_EDGE_TESSFACTOR = 17, - D3D11_SB_NAME_FINAL_TRI_V_EQ_0_EDGE_TESSFACTOR = 18, - D3D11_SB_NAME_FINAL_TRI_W_EQ_0_EDGE_TESSFACTOR = 19, - D3D11_SB_NAME_FINAL_TRI_INSIDE_TESSFACTOR = 20, - D3D11_SB_NAME_FINAL_LINE_DETAIL_TESSFACTOR = 21, - D3D11_SB_NAME_FINAL_LINE_DENSITY_TESSFACTOR = 22, -}} -ENUM!{enum D3D10_SB_RESOURCE_DIMENSION { - D3D10_SB_RESOURCE_DIMENSION_UNKNOWN = 0, - D3D10_SB_RESOURCE_DIMENSION_BUFFER = 1, - D3D10_SB_RESOURCE_DIMENSION_TEXTURE1D = 2, - D3D10_SB_RESOURCE_DIMENSION_TEXTURE2D = 3, - D3D10_SB_RESOURCE_DIMENSION_TEXTURE2DMS = 4, - D3D10_SB_RESOURCE_DIMENSION_TEXTURE3D = 5, - D3D10_SB_RESOURCE_DIMENSION_TEXTURECUBE = 6, - D3D10_SB_RESOURCE_DIMENSION_TEXTURE1DARRAY = 7, - D3D10_SB_RESOURCE_DIMENSION_TEXTURE2DARRAY = 8, - D3D10_SB_RESOURCE_DIMENSION_TEXTURE2DMSARRAY = 9, - D3D10_SB_RESOURCE_DIMENSION_TEXTURECUBEARRAY = 10, - D3D11_SB_RESOURCE_DIMENSION_RAW_BUFFER = 11, - D3D11_SB_RESOURCE_DIMENSION_STRUCTURED_BUFFER = 12, -}} -ENUM!{enum D3D10_SB_RESOURCE_RETURN_TYPE { - D3D10_SB_RETURN_TYPE_UNORM = 1, - D3D10_SB_RETURN_TYPE_SNORM = 2, - D3D10_SB_RETURN_TYPE_SINT = 3, - D3D10_SB_RETURN_TYPE_UINT = 4, - D3D10_SB_RETURN_TYPE_FLOAT = 5, - D3D10_SB_RETURN_TYPE_MIXED = 6, - D3D11_SB_RETURN_TYPE_DOUBLE = 7, - D3D11_SB_RETURN_TYPE_CONTINUED = 8, - D3D11_SB_RETURN_TYPE_UNUSED = 9, -}} -ENUM!{enum D3D10_SB_REGISTER_COMPONENT_TYPE { - D3D10_SB_REGISTER_COMPONENT_UNKNOWN = 0, - D3D10_SB_REGISTER_COMPONENT_UINT32 = 1, - D3D10_SB_REGISTER_COMPONENT_SINT32 = 2, - D3D10_SB_REGISTER_COMPONENT_FLOAT32 = 3, -}} -ENUM!{enum D3D10_SB_INSTRUCTION_RETURN_TYPE { - D3D10_SB_INSTRUCTION_RETURN_FLOAT = 0, - D3D10_SB_INSTRUCTION_RETURN_UINT = 1, -}} -pub const D3D10_SB_INSTRUCTION_RETURN_TYPE_MASK: DWORD = 0x00001800; -pub const D3D10_SB_INSTRUCTION_RETURN_TYPE_SHIFT: DWORD = 11; -#[inline] -pub fn DECODE_D3D10_SB_INSTRUCTION_RETURN_TYPE( - OpcodeToken0: DWORD, -) -> D3D10_SB_INSTRUCTION_RETURN_TYPE { - ((OpcodeToken0 & D3D10_SB_INSTRUCTION_RETURN_TYPE_MASK) - >> D3D10_SB_INSTRUCTION_RETURN_TYPE_SHIFT) as D3D10_SB_INSTRUCTION_RETURN_TYPE -} -#[inline] -pub fn ENCODE_D3D10_SB_INSTRUCTION_RETURN_TYPE( - ReturnType: D3D10_SB_INSTRUCTION_RETURN_TYPE, -) -> DWORD { - (ReturnType << D3D10_SB_INSTRUCTION_RETURN_TYPE_SHIFT) & D3D10_SB_INSTRUCTION_RETURN_TYPE_MASK -} -pub const D3D11_SB_INTERFACE_INDEXED_BIT_MASK: DWORD = 0x00000800; -pub const D3D11_SB_INTERFACE_INDEXED_BIT_SHIFT: DWORD = 11; -pub const D3D11_SB_INTERFACE_TABLE_LENGTH_MASK: DWORD = 0x0000ffff; -pub const D3D11_SB_INTERFACE_TABLE_LENGTH_SHIFT: DWORD = 0; -pub const D3D11_SB_INTERFACE_ARRAY_LENGTH_MASK: DWORD = 0xffff0000; -pub const D3D11_SB_INTERFACE_ARRAY_LENGTH_SHIFT: DWORD = 16; -#[inline] -pub fn DECODE_D3D11_SB_INTERFACE_INDEXED_BIT(OpcodeToken0: DWORD) -> DWORD { - if (OpcodeToken0 & D3D11_SB_INTERFACE_INDEXED_BIT_MASK) >> D3D11_SB_INTERFACE_INDEXED_BIT_SHIFT - != 0 { 1 } else { 0 } -} -#[inline] -pub fn ENCODE_D3D11_SB_INTERFACE_INDEXED_BIT(IndexedBit: DWORD) -> DWORD { - (IndexedBit << D3D11_SB_INTERFACE_INDEXED_BIT_SHIFT) & D3D11_SB_INTERFACE_INDEXED_BIT_MASK -} -#[inline] -pub fn DECODE_D3D11_SB_INTERFACE_TABLE_LENGTH(OpcodeToken0: DWORD) -> UINT { - ((OpcodeToken0 & D3D11_SB_INTERFACE_TABLE_LENGTH_MASK) - >> D3D11_SB_INTERFACE_TABLE_LENGTH_SHIFT) as UINT -} -#[inline] -pub fn ENCODE_D3D11_SB_INTERFACE_TABLE_LENGTH(TableLength: DWORD) -> DWORD { - (TableLength << D3D11_SB_INTERFACE_TABLE_LENGTH_SHIFT) & D3D11_SB_INTERFACE_TABLE_LENGTH_MASK -} -#[inline] -pub fn DECODE_D3D11_SB_INTERFACE_ARRAY_LENGTH(OpcodeToken0: DWORD) -> UINT { - ((OpcodeToken0 & D3D11_SB_INTERFACE_ARRAY_LENGTH_MASK) - >> D3D11_SB_INTERFACE_ARRAY_LENGTH_SHIFT) as UINT -} -#[inline] -pub fn ENCODE_D3D11_SB_INTERFACE_ARRAY_LENGTH(ArrayLength: DWORD) -> DWORD { - (ArrayLength << D3D11_SB_INTERFACE_ARRAY_LENGTH_SHIFT) & D3D11_SB_INTERFACE_ARRAY_LENGTH_MASK -} -pub const D3D11_SB_GLOBALLY_COHERENT_ACCESS: DWORD = 0x00010000; -pub const D3D11_SB_ACCESS_COHERENCY_MASK: DWORD = 0x00010000; -#[inline] -pub fn DECODE_D3D11_SB_ACCESS_COHERENCY_FLAGS(OperandToken0: DWORD) -> DWORD { - OperandToken0 & D3D11_SB_ACCESS_COHERENCY_MASK -} -#[inline] -pub fn ENCODE_D3D11_SB_ACCESS_COHERENCY_FLAGS(Flags: DWORD) -> DWORD { - Flags & D3D11_SB_ACCESS_COHERENCY_MASK -} -pub const D3D11_SB_UAV_HAS_ORDER_PRESERVING_COUNTER: DWORD = 0x00800000; -pub const D3D11_SB_UAV_FLAGS_MASK: DWORD = 0x00800000; -#[inline] -pub fn DECODE_D3D11_SB_UAV_FLAGS(OperandToken0: DWORD) -> DWORD { - OperandToken0 & D3D11_SB_UAV_FLAGS_MASK -} -#[inline] -pub fn ENCODE_D3D11_SB_UAV_FLAGS(Flags: DWORD) -> DWORD { - Flags & D3D11_SB_UAV_FLAGS_MASK -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3d12.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3d12.rs deleted file mode 100644 index 56048d939..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3d12.rs +++ /dev/null @@ -1,2722 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_void; -use shared::basetsd::{INT8, LONG_PTR, SIZE_T, UINT16, UINT64, UINT8}; -use shared::dxgiformat::DXGI_FORMAT; -use shared::dxgitype::DXGI_SAMPLE_DESC; -use shared::guiddef::{IID, REFGUID, REFIID}; -use shared::minwindef::{BOOL, BYTE, DWORD, FLOAT, INT, LPCVOID, UINT}; -use shared::windef::RECT; -use um::d3dcommon::{D3D_FEATURE_LEVEL, D3D_PRIMITIVE, D3D_PRIMITIVE_TOPOLOGY, ID3DBlob}; -use um::minwinbase::SECURITY_ATTRIBUTES; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HANDLE, HRESULT, LPCSTR, LPCWSTR, LUID}; -pub const D3D12_16BIT_INDEX_STRIP_CUT_VALUE: UINT = 0xffff; -pub const D3D12_32BIT_INDEX_STRIP_CUT_VALUE: UINT = 0xffffffff; -pub const D3D12_8BIT_INDEX_STRIP_CUT_VALUE: UINT = 0xff; -pub const D3D12_APPEND_ALIGNED_ELEMENT: UINT = 0xffffffff; -pub const D3D12_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT: UINT = 9; -pub const D3D12_CLIP_OR_CULL_DISTANCE_COUNT: UINT = 8; -pub const D3D12_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT: UINT = 2; -pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT: UINT = 14; -pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS: UINT = 4; -pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT: UINT = 15; -pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT: UINT = 16; -pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS: UINT = 4; -pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT: UINT = 15; -pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST: UINT = 1; -pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS: UINT = 1; -pub const D3D12_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT: UINT = 64; -pub const D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS: UINT = 4; -pub const D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT: UINT = 1; -pub const D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST: UINT = 1; -pub const D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS: UINT = 1; -pub const D3D12_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS: UINT = 1; -pub const D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT: UINT = 128; -pub const D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST: UINT = 1; -pub const D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS: UINT = 1; -pub const D3D12_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT: UINT = 128; -pub const D3D12_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS: UINT = 1; -pub const D3D12_COMMONSHADER_SAMPLER_REGISTER_COUNT: UINT = 16; -pub const D3D12_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST: UINT = 1; -pub const D3D12_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS: UINT = 1; -pub const D3D12_COMMONSHADER_SAMPLER_SLOT_COUNT: UINT = 16; -pub const D3D12_COMMONSHADER_SUBROUTINE_NESTING_LIMIT: UINT = 32; -pub const D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENTS: UINT = 4; -pub const D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_COMMONSHADER_TEMP_REGISTER_COUNT: UINT = 4096; -pub const D3D12_COMMONSHADER_TEMP_REGISTER_READS_PER_INST: UINT = 3; -pub const D3D12_COMMONSHADER_TEMP_REGISTER_READ_PORTS: UINT = 3; -pub const D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX: INT = 10; -pub const D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN: INT = -10; -pub const D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE: INT = -8; -pub const D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE: INT = 7; -pub const D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT: UINT = 256; -pub const D3D12_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: UINT = 256; -pub const D3D12_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP: UINT = 64; -pub const D3D12_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: UINT = 240; -pub const D3D12_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP: UINT = 68; -pub const D3D12_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: UINT = 224; -pub const D3D12_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP: UINT = 72; -pub const D3D12_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: UINT = 208; -pub const D3D12_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP: UINT = 76; -pub const D3D12_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: UINT = 192; -pub const D3D12_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP: UINT = 84; -pub const D3D12_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: UINT = 176; -pub const D3D12_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP: UINT = 92; -pub const D3D12_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: UINT = 160; -pub const D3D12_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP: UINT = 100; -pub const D3D12_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: UINT = 144; -pub const D3D12_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP: UINT = 112; -pub const D3D12_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: UINT = 128; -pub const D3D12_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP: UINT = 128; -pub const D3D12_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: UINT = 112; -pub const D3D12_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP: UINT = 144; -pub const D3D12_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: UINT = 96; -pub const D3D12_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP: UINT = 168; -pub const D3D12_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: UINT = 80; -pub const D3D12_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP: UINT = 204; -pub const D3D12_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: UINT = 64; -pub const D3D12_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP: UINT = 256; -pub const D3D12_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: UINT = 48; -pub const D3D12_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP: UINT = 340; -pub const D3D12_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: UINT = 32; -pub const D3D12_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP: UINT = 512; -pub const D3D12_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: UINT = 16; -pub const D3D12_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP: UINT = 768; -pub const D3D12_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION: UINT = 1; -pub const D3D12_CS_4_X_RAW_UAV_BYTE_ALIGNMENT: UINT = 256; -pub const D3D12_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP: UINT = 768; -pub const D3D12_CS_4_X_THREAD_GROUP_MAX_X: UINT = 768; -pub const D3D12_CS_4_X_THREAD_GROUP_MAX_Y: UINT = 768; -pub const D3D12_CS_4_X_UAV_REGISTER_COUNT: UINT = 1; -pub const D3D12_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION: UINT = 65535; -pub const D3D12_CS_TGSM_REGISTER_COUNT: UINT = 8192; -pub const D3D12_CS_TGSM_REGISTER_READS_PER_INST: UINT = 1; -pub const D3D12_CS_TGSM_RESOURCE_REGISTER_COMPONENTS: UINT = 1; -pub const D3D12_CS_TGSM_RESOURCE_REGISTER_READ_PORTS: UINT = 1; -pub const D3D12_CS_THREADGROUPID_REGISTER_COMPONENTS: UINT = 3; -pub const D3D12_CS_THREADGROUPID_REGISTER_COUNT: UINT = 1; -pub const D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS: UINT = 1; -pub const D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT: UINT = 1; -pub const D3D12_CS_THREADIDINGROUP_REGISTER_COMPONENTS: UINT = 3; -pub const D3D12_CS_THREADIDINGROUP_REGISTER_COUNT: UINT = 1; -pub const D3D12_CS_THREADID_REGISTER_COMPONENTS: UINT = 3; -pub const D3D12_CS_THREADID_REGISTER_COUNT: UINT = 1; -pub const D3D12_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP: UINT = 1024; -pub const D3D12_CS_THREAD_GROUP_MAX_X: UINT = 1024; -pub const D3D12_CS_THREAD_GROUP_MAX_Y: UINT = 1024; -pub const D3D12_CS_THREAD_GROUP_MAX_Z: UINT = 64; -pub const D3D12_CS_THREAD_GROUP_MIN_X: UINT = 1; -pub const D3D12_CS_THREAD_GROUP_MIN_Y: UINT = 1; -pub const D3D12_CS_THREAD_GROUP_MIN_Z: UINT = 1; -pub const D3D12_CS_THREAD_LOCAL_TEMP_REGISTER_POOL: UINT = 16384; -pub const D3D12_DEFAULT_BLEND_FACTOR_ALPHA: FLOAT = 1.0; -pub const D3D12_DEFAULT_BLEND_FACTOR_BLUE: FLOAT = 1.0; -pub const D3D12_DEFAULT_BLEND_FACTOR_GREEN: FLOAT = 1.0; -pub const D3D12_DEFAULT_BLEND_FACTOR_RED: FLOAT = 1.0; -pub const D3D12_DEFAULT_BORDER_COLOR_COMPONENT: FLOAT = 0.0; -pub const D3D12_DEFAULT_DEPTH_BIAS: UINT = 0; -pub const D3D12_DEFAULT_DEPTH_BIAS_CLAMP: FLOAT = 0.0; -pub const D3D12_DEFAULT_MAX_ANISOTROPY: UINT = 16; -pub const D3D12_DEFAULT_MIP_LOD_BIAS: FLOAT = 0.0; -pub const D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT: UINT = 4194304; -pub const D3D12_DEFAULT_RENDER_TARGET_ARRAY_INDEX: UINT = 0; -pub const D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT: UINT = 65536; -pub const D3D12_DEFAULT_SAMPLE_MASK: UINT = 0xffffffff; -pub const D3D12_DEFAULT_SCISSOR_ENDX: UINT = 0; -pub const D3D12_DEFAULT_SCISSOR_ENDY: UINT = 0; -pub const D3D12_DEFAULT_SCISSOR_STARTX: UINT = 0; -pub const D3D12_DEFAULT_SCISSOR_STARTY: UINT = 0; -pub const D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS: FLOAT = 0.0; -pub const D3D12_DEFAULT_STENCIL_READ_MASK: UINT = 0xff; -pub const D3D12_DEFAULT_STENCIL_REFERENCE: UINT = 0; -pub const D3D12_DEFAULT_STENCIL_WRITE_MASK: UINT = 0xff; -pub const D3D12_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX: UINT = 0; -pub const D3D12_DEFAULT_VIEWPORT_HEIGHT: UINT = 0; -pub const D3D12_DEFAULT_VIEWPORT_MAX_DEPTH: FLOAT = 0.0; -pub const D3D12_DEFAULT_VIEWPORT_MIN_DEPTH: FLOAT = 0.0; -pub const D3D12_DEFAULT_VIEWPORT_TOPLEFTX: UINT = 0; -pub const D3D12_DEFAULT_VIEWPORT_TOPLEFTY: UINT = 0; -pub const D3D12_DEFAULT_VIEWPORT_WIDTH: UINT = 0; -pub const D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND: UINT = 0xffffffff; -pub const D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_END: UINT = 0xfffffff7; -pub const D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_START: UINT = 0xfffffff0; -pub const D3D12_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS: UINT = 3968; -pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS: UINT = 4; -pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COUNT: UINT = 32; -pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST: UINT = 2; -pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS: UINT = 1; -pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS: UINT = 3; -pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT: UINT = 1; -pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST: UINT = 2; -pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS: UINT = 1; -pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS: UINT = 4; -pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT: UINT = 32; -pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST: UINT = 2; -pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS: UINT = 1; -pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS: UINT = 1; -pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT: UINT = 1; -pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST: UINT = 2; -pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS: UINT = 1; -pub const D3D12_DS_OUTPUT_REGISTER_COMPONENTS: UINT = 4; -pub const D3D12_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_DS_OUTPUT_REGISTER_COUNT: UINT = 32; -pub const D3D12_FLOAT16_FUSED_TOLERANCE_IN_ULP: FLOAT = 0.6; -pub const D3D12_FLOAT32_MAX: FLOAT = 3.402823466e+38; -pub const D3D12_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP: FLOAT = 0.6; -pub const D3D12_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR: FLOAT = 2.4; -pub const D3D12_FLOAT_TO_SRGB_EXPONENT_NUMERATOR: FLOAT = 1.0; -pub const D3D12_FLOAT_TO_SRGB_OFFSET: FLOAT = 0.055; -pub const D3D12_FLOAT_TO_SRGB_SCALE_1: FLOAT = 12.92; -pub const D3D12_FLOAT_TO_SRGB_SCALE_2: FLOAT = 1.055; -pub const D3D12_FLOAT_TO_SRGB_THRESHOLD: FLOAT = 0.0031308; -pub const D3D12_FTOI_INSTRUCTION_MAX_INPUT: FLOAT = 2147483647.999; -pub const D3D12_FTOI_INSTRUCTION_MIN_INPUT: FLOAT = -2147483648.999; -pub const D3D12_FTOU_INSTRUCTION_MAX_INPUT: FLOAT = 4294967295.999; -pub const D3D12_FTOU_INSTRUCTION_MIN_INPUT: FLOAT = 0.0; -pub const D3D12_GS_INPUT_INSTANCE_ID_READS_PER_INST: UINT = 2; -pub const D3D12_GS_INPUT_INSTANCE_ID_READ_PORTS: UINT = 1; -pub const D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS: UINT = 1; -pub const D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COUNT: UINT = 1; -pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS: UINT = 1; -pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_COUNT: UINT = 1; -pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST: UINT = 2; -pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS: UINT = 1; -pub const D3D12_GS_INPUT_REGISTER_COMPONENTS: UINT = 4; -pub const D3D12_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_GS_INPUT_REGISTER_COUNT: UINT = 32; -pub const D3D12_GS_INPUT_REGISTER_READS_PER_INST: UINT = 2; -pub const D3D12_GS_INPUT_REGISTER_READ_PORTS: UINT = 1; -pub const D3D12_GS_INPUT_REGISTER_VERTICES: UINT = 32; -pub const D3D12_GS_MAX_INSTANCE_COUNT: UINT = 32; -pub const D3D12_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES: UINT = 1024; -pub const D3D12_GS_OUTPUT_ELEMENTS: UINT = 32; -pub const D3D12_GS_OUTPUT_REGISTER_COMPONENTS: UINT = 4; -pub const D3D12_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_GS_OUTPUT_REGISTER_COUNT: UINT = 32; -pub const D3D12_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT: UINT = 32; -pub const D3D12_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT: UINT = 32; -pub const D3D12_HS_CONTROL_POINT_REGISTER_COMPONENTS: UINT = 4; -pub const D3D12_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_HS_CONTROL_POINT_REGISTER_READS_PER_INST: UINT = 2; -pub const D3D12_HS_CONTROL_POINT_REGISTER_READ_PORTS: UINT = 1; -pub const D3D12_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND: UINT = 0xffffffff; -pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS: UINT = 1; -pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT: UINT = 1; -pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST: UINT = 2; -pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS: UINT = 1; -pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS: UINT = 1; -pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT: UINT = 1; -pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST: UINT = 2; -pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS: UINT = 1; -pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS: UINT = 1; -pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT: UINT = 1; -pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST: UINT = 2; -pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS: UINT = 1; -pub const D3D12_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND: UINT = 0xffffffff; -pub const D3D12_HS_MAXTESSFACTOR_LOWER_BOUND: FLOAT = 1.0; -pub const D3D12_HS_MAXTESSFACTOR_UPPER_BOUND: FLOAT = 64.0; -pub const D3D12_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS: UINT = 3968; -pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS: UINT = 1; -pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT: UINT = 1; -pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST: UINT = 2; -pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS: UINT = 1; -pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS: UINT = 4; -pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT: UINT = 32; -pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST: UINT = 2; -pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS: UINT = 1; -pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS: UINT = 128; -pub const D3D12_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES: UINT = 0; -pub const D3D12_IA_DEFAULT_PRIMITIVE_TOPOLOGY: UINT = 0; -pub const D3D12_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES: UINT = 0; -pub const D3D12_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT: UINT = 1; -pub const D3D12_IA_INSTANCE_ID_BIT_COUNT: UINT = 32; -pub const D3D12_IA_INTEGER_ARITHMETIC_BIT_COUNT: UINT = 32; -pub const D3D12_IA_PATCH_MAX_CONTROL_POINT_COUNT: UINT = 32; -pub const D3D12_IA_PRIMITIVE_ID_BIT_COUNT: UINT = 32; -pub const D3D12_IA_VERTEX_ID_BIT_COUNT: UINT = 32; -pub const D3D12_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT: UINT = 32; -pub const D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS: UINT = 128; -pub const D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT: UINT = 32; -pub const D3D12_INTEGER_DIVIDE_BY_ZERO_QUOTIENT: UINT = 0xffffffff; -pub const D3D12_INTEGER_DIVIDE_BY_ZERO_REMAINDER: UINT = 0xffffffff; -pub const D3D12_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL: UINT = 0xffffffff; -pub const D3D12_KEEP_UNORDERED_ACCESS_VIEWS: UINT = 0xffffffff; -pub const D3D12_LINEAR_GAMMA: FLOAT = 1.0; -pub const D3D12_MAJOR_VERSION: UINT = 12; -pub const D3D12_MAX_BORDER_COLOR_COMPONENT: FLOAT = 1.0; -pub const D3D12_MAX_DEPTH: FLOAT = 1.0; -pub const D3D12_MAX_LIVE_STATIC_SAMPLERS: UINT = 2032; -pub const D3D12_MAX_MAXANISOTROPY: UINT = 16; -pub const D3D12_MAX_MULTISAMPLE_SAMPLE_COUNT: UINT = 32; -pub const D3D12_MAX_POSITION_VALUE: FLOAT = 3.402823466e+34; -pub const D3D12_MAX_ROOT_COST: UINT = 64; -pub const D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1: UINT = 1000000; -pub const D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_2: UINT = 1000000; -pub const D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE: UINT = 2048; -pub const D3D12_MAX_TEXTURE_DIMENSION_2_TO_EXP: UINT = 17; -pub const D3D12_MINOR_VERSION: UINT = 0; -pub const D3D12_MIN_BORDER_COLOR_COMPONENT: FLOAT = 0.0; -pub const D3D12_MIN_DEPTH: FLOAT = 0.0; -pub const D3D12_MIN_MAXANISOTROPY: UINT = 0; -pub const D3D12_MIP_LOD_BIAS_MAX: FLOAT = 15.99; -pub const D3D12_MIP_LOD_BIAS_MIN: FLOAT = -16.0; -pub const D3D12_MIP_LOD_FRACTIONAL_BIT_COUNT: UINT = 8; -pub const D3D12_MIP_LOD_RANGE_BIT_COUNT: UINT = 8; -pub const D3D12_MULTISAMPLE_ANTIALIAS_LINE_WIDTH: FLOAT = 1.4; -pub const D3D12_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT: UINT = 0; -pub const D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_END: UINT = 0xffffffff; -pub const D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_START: UINT = 0xfffffff8; -pub const D3D12_PACKED_TILE: UINT = 0xffffffff; -pub const D3D12_PIXEL_ADDRESS_RANGE_BIT_COUNT: UINT = 15; -pub const D3D12_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT: UINT = 16; -pub const D3D12_PS_CS_UAV_REGISTER_COMPONENTS: UINT = 1; -pub const D3D12_PS_CS_UAV_REGISTER_COUNT: UINT = 8; -pub const D3D12_PS_CS_UAV_REGISTER_READS_PER_INST: UINT = 1; -pub const D3D12_PS_CS_UAV_REGISTER_READ_PORTS: UINT = 1; -pub const D3D12_PS_FRONTFACING_DEFAULT_VALUE: UINT = 0xffffffff; -pub const D3D12_PS_FRONTFACING_FALSE_VALUE: UINT = 0; -pub const D3D12_PS_FRONTFACING_TRUE_VALUE: UINT = 0xffffffff; -pub const D3D12_PS_INPUT_REGISTER_COMPONENTS: UINT = 4; -pub const D3D12_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_PS_INPUT_REGISTER_COUNT: UINT = 32; -pub const D3D12_PS_INPUT_REGISTER_READS_PER_INST: UINT = 2; -pub const D3D12_PS_INPUT_REGISTER_READ_PORTS: UINT = 1; -pub const D3D12_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT: FLOAT = 0.0; -pub const D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS: UINT = 1; -pub const D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_PS_OUTPUT_DEPTH_REGISTER_COUNT: UINT = 1; -pub const D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENTS: UINT = 1; -pub const D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_PS_OUTPUT_MASK_REGISTER_COUNT: UINT = 1; -pub const D3D12_PS_OUTPUT_REGISTER_COMPONENTS: UINT = 4; -pub const D3D12_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_PS_OUTPUT_REGISTER_COUNT: UINT = 8; -pub const D3D12_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT: FLOAT = 0.5; -pub const D3D12_RAW_UAV_SRV_BYTE_ALIGNMENT: UINT = 16; -pub const D3D12_REQ_BLEND_OBJECT_COUNT_PER_DEVICE: UINT = 4096; -pub const D3D12_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP: UINT = 27; -pub const D3D12_REQ_CONSTANT_BUFFER_ELEMENT_COUNT: UINT = 4096; -pub const D3D12_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE: UINT = 4096; -pub const D3D12_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP: UINT = 32; -pub const D3D12_REQ_DRAW_VERTEX_COUNT_2_TO_EXP: UINT = 32; -pub const D3D12_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION: UINT = 16384; -pub const D3D12_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT: UINT = 1024; -pub const D3D12_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT: UINT = 4096; -pub const D3D12_REQ_MAXANISOTROPY: UINT = 16; -pub const D3D12_REQ_MIP_LEVELS: UINT = 15; -pub const D3D12_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES: UINT = 2048; -pub const D3D12_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE: UINT = 4096; -pub const D3D12_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH: UINT = 16384; -pub const D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM: UINT = 128; -pub const D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM: FLOAT = 0.25; -pub const D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM: UINT = 2048; -pub const D3D12_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP: UINT = 20; -pub const D3D12_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE: UINT = 4096; -pub const D3D12_REQ_SUBRESOURCES: UINT = 30720; -pub const D3D12_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION: UINT = 2048; -pub const D3D12_REQ_TEXTURE1D_U_DIMENSION: UINT = 16384; -pub const D3D12_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION: UINT = 2048; -pub const D3D12_REQ_TEXTURE2D_U_OR_V_DIMENSION: UINT = 16384; -pub const D3D12_REQ_TEXTURE3D_U_V_OR_W_DIMENSION: UINT = 2048; -pub const D3D12_REQ_TEXTURECUBE_DIMENSION: UINT = 16384; -pub const D3D12_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL: UINT = 0; -pub const D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES: UINT = 0xffffffff; -pub const D3D12_SHADER_MAJOR_VERSION: UINT = 5; -pub const D3D12_SHADER_MAX_INSTANCES: UINT = 65535; -pub const D3D12_SHADER_MAX_INTERFACES: UINT = 253; -pub const D3D12_SHADER_MAX_INTERFACE_CALL_SITES: UINT = 4096; -pub const D3D12_SHADER_MAX_TYPES: UINT = 65535; -pub const D3D12_SHADER_MINOR_VERSION: UINT = 1; -pub const D3D12_SHIFT_INSTRUCTION_PAD_VALUE: UINT = 0; -pub const D3D12_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT: UINT = 5; -pub const D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT: UINT = 8; -pub const D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT: UINT = 65536; -pub const D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT: UINT = 4096; -pub const D3D12_SO_BUFFER_MAX_STRIDE_IN_BYTES: UINT = 2048; -pub const D3D12_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES: UINT = 512; -pub const D3D12_SO_BUFFER_SLOT_COUNT: UINT = 4; -pub const D3D12_SO_DDI_REGISTER_INDEX_DENOTING_GAP: UINT = 0xffffffff; -pub const D3D12_SO_NO_RASTERIZED_STREAM: UINT = 0xffffffff; -pub const D3D12_SO_OUTPUT_COMPONENT_COUNT: UINT = 128; -pub const D3D12_SO_STREAM_COUNT: UINT = 4; -pub const D3D12_SPEC_DATE_DAY: UINT = 14; -pub const D3D12_SPEC_DATE_MONTH: UINT = 11; -pub const D3D12_SPEC_DATE_YEAR: UINT = 2014; -pub const D3D12_SPEC_VERSION: FLOAT = 1.16; -pub const D3D12_SRGB_GAMMA: FLOAT = 2.2; -pub const D3D12_SRGB_TO_FLOAT_DENOMINATOR_1: FLOAT = 12.92; -pub const D3D12_SRGB_TO_FLOAT_DENOMINATOR_2: FLOAT = 1.055; -pub const D3D12_SRGB_TO_FLOAT_EXPONENT: FLOAT = 2.4; -pub const D3D12_SRGB_TO_FLOAT_OFFSET: FLOAT = 0.055; -pub const D3D12_SRGB_TO_FLOAT_THRESHOLD: FLOAT = 0.04045; -pub const D3D12_SRGB_TO_FLOAT_TOLERANCE_IN_ULP: FLOAT = 0.5; -pub const D3D12_STANDARD_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_STANDARD_COMPONENT_BIT_COUNT_DOUBLED: UINT = 64; -pub const D3D12_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE: UINT = 4; -pub const D3D12_STANDARD_PIXEL_COMPONENT_COUNT: UINT = 128; -pub const D3D12_STANDARD_PIXEL_ELEMENT_COUNT: UINT = 32; -pub const D3D12_STANDARD_VECTOR_SIZE: UINT = 4; -pub const D3D12_STANDARD_VERTEX_ELEMENT_COUNT: UINT = 32; -pub const D3D12_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT: UINT = 64; -pub const D3D12_SUBPIXEL_FRACTIONAL_BIT_COUNT: UINT = 8; -pub const D3D12_SUBTEXEL_FRACTIONAL_BIT_COUNT: UINT = 8; -pub const D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_END: UINT = 0xffffffff; -pub const D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_START: UINT = 0xfffffff0; -pub const D3D12_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR: UINT = 64; -pub const D3D12_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR: UINT = 64; -pub const D3D12_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR: UINT = 63; -pub const D3D12_TESSELLATOR_MAX_TESSELLATION_FACTOR: UINT = 64; -pub const D3D12_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR: UINT = 2; -pub const D3D12_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR: UINT = 1; -pub const D3D12_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR: UINT = 1; -pub const D3D12_TEXEL_ADDRESS_RANGE_BIT_COUNT: UINT = 16; -pub const D3D12_TEXTURE_DATA_PITCH_ALIGNMENT: UINT = 256; -pub const D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT: UINT = 512; -pub const D3D12_TILED_RESOURCE_TILE_SIZE_IN_BYTES: UINT = 65536; -pub const D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT: UINT = 4096; -pub const D3D12_UAV_SLOT_COUNT: UINT = 64; -pub const D3D12_UNBOUND_MEMORY_ACCESS_RESULT: UINT = 0; -pub const D3D12_VIEWPORT_AND_SCISSORRECT_MAX_INDEX: UINT = 15; -pub const D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE: UINT = 16; -pub const D3D12_VIEWPORT_BOUNDS_MAX: INT = 32767; -pub const D3D12_VIEWPORT_BOUNDS_MIN: INT = -32768; -pub const D3D12_VS_INPUT_REGISTER_COMPONENTS: UINT = 4; -pub const D3D12_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_VS_INPUT_REGISTER_COUNT: UINT = 32; -pub const D3D12_VS_INPUT_REGISTER_READS_PER_INST: UINT = 2; -pub const D3D12_VS_INPUT_REGISTER_READ_PORTS: UINT = 1; -pub const D3D12_VS_OUTPUT_REGISTER_COMPONENTS: UINT = 4; -pub const D3D12_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: UINT = 32; -pub const D3D12_VS_OUTPUT_REGISTER_COUNT: UINT = 32; -pub const D3D12_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT: UINT = 10; -pub const D3D12_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP: UINT = 25; -pub const D3D12_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP: UINT = 25; -pub type D3D12_GPU_VIRTUAL_ADDRESS = UINT64; -ENUM!{enum D3D12_COMMAND_LIST_TYPE { - D3D12_COMMAND_LIST_TYPE_DIRECT = 0, - D3D12_COMMAND_LIST_TYPE_BUNDLE = 1, - D3D12_COMMAND_LIST_TYPE_COMPUTE = 2, - D3D12_COMMAND_LIST_TYPE_COPY = 3, -}} -ENUM!{enum D3D12_COMMAND_QUEUE_FLAGS { - D3D12_COMMAND_QUEUE_FLAG_NONE = 0x0, - D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT = 0x1, -}} -ENUM!{enum D3D12_COMMAND_QUEUE_PRIORITY { - D3D12_COMMAND_QUEUE_PRIORITY_NORMAL = 0, - D3D12_COMMAND_QUEUE_PRIORITY_HIGH = 100, - D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME = 10000, -}} -STRUCT!{struct D3D12_COMMAND_QUEUE_DESC { - Type: D3D12_COMMAND_LIST_TYPE, - Priority: INT, - Flags: D3D12_COMMAND_QUEUE_FLAGS, - NodeMask: UINT, -}} -ENUM!{enum D3D12_PRIMITIVE_TOPOLOGY_TYPE { - D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED = 0, - D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT = 1, - D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE = 2, - D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE = 3, - D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH = 4, -}} -ENUM!{enum D3D12_INPUT_CLASSIFICATION { - D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA = 0, - D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA = 1, -}} -STRUCT!{struct D3D12_INPUT_ELEMENT_DESC { - SemanticName: LPCSTR, - SemanticIndex: UINT, - Format: DXGI_FORMAT, - InputSlot: UINT, - AlignedByteOffset: UINT, - InputSlotClass: D3D12_INPUT_CLASSIFICATION, - InstanceDataStepRate: UINT, -}} -ENUM!{enum D3D12_FILL_MODE { - D3D12_FILL_MODE_WIREFRAME = 2, - D3D12_FILL_MODE_SOLID = 3, -}} -pub type D3D12_PRIMITIVE_TOPOLOGY = D3D_PRIMITIVE_TOPOLOGY; -pub type D3D12_PRIMITIVE = D3D_PRIMITIVE; -ENUM!{enum D3D12_CULL_MODE { - D3D12_CULL_MODE_NONE = 1, - D3D12_CULL_MODE_FRONT = 2, - D3D12_CULL_MODE_BACK = 3, -}} -STRUCT!{struct D3D12_SO_DECLARATION_ENTRY { - Stream: UINT, - SemanticName: LPCSTR, - SemanticIndex: UINT, - StartComponent: BYTE, - ComponentCount: BYTE, - OutputSlot: BYTE, -}} -STRUCT!{struct D3D12_VIEWPORT { - TopLeftX: FLOAT, - TopLeftY: FLOAT, - Width: FLOAT, - Height: FLOAT, - MinDepth: FLOAT, - MaxDepth: FLOAT, -}} -pub type D3D12_RECT = RECT; -STRUCT!{struct D3D12_BOX { - left: UINT, - top: UINT, - front: UINT, - right: UINT, - bottom: UINT, - back: UINT, -}} -ENUM!{enum D3D12_COMPARISON_FUNC { - D3D12_COMPARISON_FUNC_NEVER = 1, - D3D12_COMPARISON_FUNC_LESS = 2, - D3D12_COMPARISON_FUNC_EQUAL = 3, - D3D12_COMPARISON_FUNC_LESS_EQUAL = 4, - D3D12_COMPARISON_FUNC_GREATER = 5, - D3D12_COMPARISON_FUNC_NOT_EQUAL = 6, - D3D12_COMPARISON_FUNC_GREATER_EQUAL = 7, - D3D12_COMPARISON_FUNC_ALWAYS = 8, -}} -ENUM!{enum D3D12_DEPTH_WRITE_MASK { - D3D12_DEPTH_WRITE_MASK_ZERO = 0, - D3D12_DEPTH_WRITE_MASK_ALL = 1, -}} -ENUM!{enum D3D12_STENCIL_OP { - D3D12_STENCIL_OP_KEEP = 1, - D3D12_STENCIL_OP_ZERO = 2, - D3D12_STENCIL_OP_REPLACE = 3, - D3D12_STENCIL_OP_INCR_SAT = 4, - D3D12_STENCIL_OP_DECR_SAT = 5, - D3D12_STENCIL_OP_INVERT = 6, - D3D12_STENCIL_OP_INCR = 7, - D3D12_STENCIL_OP_DECR = 8, -}} -STRUCT!{struct D3D12_DEPTH_STENCILOP_DESC { - StencilFailOp: D3D12_STENCIL_OP, - StencilDepthFailOp: D3D12_STENCIL_OP, - StencilPassOp: D3D12_STENCIL_OP, - StencilFunc: D3D12_COMPARISON_FUNC, -}} -STRUCT!{struct D3D12_DEPTH_STENCIL_DESC { - DepthEnable: BOOL, - DepthWriteMask: D3D12_DEPTH_WRITE_MASK, - DepthFunc: D3D12_COMPARISON_FUNC, - StencilEnable: BOOL, - StencilReadMask: UINT8, - StencilWriteMask: UINT8, - FrontFace: D3D12_DEPTH_STENCILOP_DESC, - BackFace: D3D12_DEPTH_STENCILOP_DESC, -}} -STRUCT!{struct D3D12_DEPTH_STENCIL_DESC1 { - DepthEnable: BOOL, - DepthWriteMask: D3D12_DEPTH_WRITE_MASK, - DepthFunc: D3D12_COMPARISON_FUNC, - StencilEnable: BOOL, - StencilReadMask: UINT8, - StencilWriteMask: UINT8, - FrontFace: D3D12_DEPTH_STENCILOP_DESC, - BackFace: D3D12_DEPTH_STENCILOP_DESC, - DepthBoundsTestEnable: BOOL, -}} -ENUM!{enum D3D12_BLEND { - D3D12_BLEND_ZERO = 1, - D3D12_BLEND_ONE = 2, - D3D12_BLEND_SRC_COLOR = 3, - D3D12_BLEND_INV_SRC_COLOR = 4, - D3D12_BLEND_SRC_ALPHA = 5, - D3D12_BLEND_INV_SRC_ALPHA = 6, - D3D12_BLEND_DEST_ALPHA = 7, - D3D12_BLEND_INV_DEST_ALPHA = 8, - D3D12_BLEND_DEST_COLOR = 9, - D3D12_BLEND_INV_DEST_COLOR = 10, - D3D12_BLEND_SRC_ALPHA_SAT = 11, - D3D12_BLEND_BLEND_FACTOR = 14, - D3D12_BLEND_INV_BLEND_FACTOR = 15, - D3D12_BLEND_SRC1_COLOR = 16, - D3D12_BLEND_INV_SRC1_COLOR = 17, - D3D12_BLEND_SRC1_ALPHA = 18, - D3D12_BLEND_INV_SRC1_ALPHA = 19, -}} -ENUM!{enum D3D12_BLEND_OP { - D3D12_BLEND_OP_ADD = 1, - D3D12_BLEND_OP_SUBTRACT = 2, - D3D12_BLEND_OP_REV_SUBTRACT = 3, - D3D12_BLEND_OP_MIN = 4, - D3D12_BLEND_OP_MAX = 5, -}} -ENUM!{enum D3D12_COLOR_WRITE_ENABLE { - D3D12_COLOR_WRITE_ENABLE_RED = 1, - D3D12_COLOR_WRITE_ENABLE_GREEN = 2, - D3D12_COLOR_WRITE_ENABLE_BLUE = 4, - D3D12_COLOR_WRITE_ENABLE_ALPHA = 8, - D3D12_COLOR_WRITE_ENABLE_ALL = D3D12_COLOR_WRITE_ENABLE_RED | D3D12_COLOR_WRITE_ENABLE_GREEN - | D3D12_COLOR_WRITE_ENABLE_BLUE | D3D12_COLOR_WRITE_ENABLE_ALPHA, -}} -ENUM!{enum D3D12_LOGIC_OP { - D3D12_LOGIC_OP_CLEAR = 0, - D3D12_LOGIC_OP_SET = 1, - D3D12_LOGIC_OP_COPY = 2, - D3D12_LOGIC_OP_COPY_INVERTED = 3, - D3D12_LOGIC_OP_NOOP = 4, - D3D12_LOGIC_OP_INVERT = 5, - D3D12_LOGIC_OP_AND = 6, - D3D12_LOGIC_OP_NAND = 7, - D3D12_LOGIC_OP_OR = 8, - D3D12_LOGIC_OP_NOR = 9, - D3D12_LOGIC_OP_XOR = 10, - D3D12_LOGIC_OP_EQUIV = 11, - D3D12_LOGIC_OP_AND_REVERSE = 12, - D3D12_LOGIC_OP_AND_INVERTED = 13, - D3D12_LOGIC_OP_OR_REVERSE = 14, - D3D12_LOGIC_OP_OR_INVERTED = 15, -}} -STRUCT!{struct D3D12_RENDER_TARGET_BLEND_DESC { - BlendEnable: BOOL, - LogicOpEnable: BOOL, - SrcBlend: D3D12_BLEND, - DestBlend: D3D12_BLEND, - BlendOp: D3D12_BLEND_OP, - SrcBlendAlpha: D3D12_BLEND, - DestBlendAlpha: D3D12_BLEND, - BlendOpAlpha: D3D12_BLEND_OP, - LogicOp: D3D12_LOGIC_OP, - RenderTargetWriteMask: UINT8, -}} -STRUCT!{struct D3D12_BLEND_DESC { - AlphaToCoverageEnable: BOOL, - IndependentBlendEnable: BOOL, - RenderTarget: [D3D12_RENDER_TARGET_BLEND_DESC; 8], -}} -ENUM!{enum D3D12_CONSERVATIVE_RASTERIZATION_MODE { - D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF = 0, - D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON = 1, -}} -STRUCT!{struct D3D12_RASTERIZER_DESC { - FillMode: D3D12_FILL_MODE, - CullMode: D3D12_CULL_MODE, - FrontCounterClockwise: BOOL, - DepthBias: INT, - DepthBiasClamp: FLOAT, - SlopeScaledDepthBias: FLOAT, - DepthClipEnable: BOOL, - MultisampleEnable: BOOL, - AntialiasedLineEnable: BOOL, - ForcedSampleCount: UINT, - ConservativeRaster: D3D12_CONSERVATIVE_RASTERIZATION_MODE, -}} -RIDL!{#[uuid(0xc54a6b66, 0x72df, 0x4ee8, 0x8b, 0xe5, 0xa9, 0x46, 0xa1, 0x42, 0x92, 0x14)] -interface ID3D12RootSignature(ID3D12RootSignatureVtbl): - ID3D12DeviceChild(ID3D12DeviceChildVtbl) {}} -STRUCT!{struct D3D12_SHADER_BYTECODE { - pShaderBytecode: *const c_void, - BytecodeLength: SIZE_T, -}} -STRUCT!{struct D3D12_STREAM_OUTPUT_DESC { - pSODeclaration: *const D3D12_SO_DECLARATION_ENTRY, - NumEntries: UINT, - pBufferStrides: *const UINT, - NumStrides: UINT, - RasterizedStream: UINT, -}} -STRUCT!{struct D3D12_INPUT_LAYOUT_DESC { - pInputElementDescs: *const D3D12_INPUT_ELEMENT_DESC, - NumElements: UINT, -}} -ENUM!{enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE { - D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED = 0, - D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF = 1, - D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF = 2, -}} -STRUCT!{struct D3D12_CACHED_PIPELINE_STATE { - pCachedBlob: *const c_void, - CachedBlobSizeInBytes: SIZE_T, -}} -ENUM!{enum D3D12_PIPELINE_STATE_FLAGS { - D3D12_PIPELINE_STATE_FLAG_NONE = 0, - D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG = 0x1, -}} -STRUCT!{struct D3D12_GRAPHICS_PIPELINE_STATE_DESC { - pRootSignature: *mut ID3D12RootSignature, - VS: D3D12_SHADER_BYTECODE, - PS: D3D12_SHADER_BYTECODE, - DS: D3D12_SHADER_BYTECODE, - HS: D3D12_SHADER_BYTECODE, - GS: D3D12_SHADER_BYTECODE, - StreamOutput: D3D12_STREAM_OUTPUT_DESC, - BlendState: D3D12_BLEND_DESC, - SampleMask: UINT, - RasterizerState: D3D12_RASTERIZER_DESC, - DepthStencilState: D3D12_DEPTH_STENCIL_DESC, - InputLayout: D3D12_INPUT_LAYOUT_DESC, - IBStripCutValue: D3D12_INDEX_BUFFER_STRIP_CUT_VALUE, - PrimitiveTopologyType: D3D12_PRIMITIVE_TOPOLOGY_TYPE, - NumRenderTargets: UINT, - RTVFormats: [DXGI_FORMAT; 8], - DSVFormat: DXGI_FORMAT, - SampleDesc: DXGI_SAMPLE_DESC, - NodeMask: UINT, - CachedPSO: D3D12_CACHED_PIPELINE_STATE, - Flags: D3D12_PIPELINE_STATE_FLAGS, -}} -STRUCT!{struct D3D12_COMPUTE_PIPELINE_STATE_DESC { - pRootSignature: *mut ID3D12RootSignature, - CS: D3D12_SHADER_BYTECODE, - NodeMask: UINT, - CachedPSO: D3D12_CACHED_PIPELINE_STATE, - Flags: D3D12_PIPELINE_STATE_FLAGS, -}} -STRUCT!{struct D3D12_RT_FORMAT_ARRAY { - RTFormats: [DXGI_FORMAT; 8], - NumRenderTargets: UINT, -}} -STRUCT!{struct D3D12_PIPELINE_STATE_STREAM_DESC { - SizeInBytes: SIZE_T, - pPipelineStateSubobjectStream: *mut c_void, -}} -ENUM!{enum D3D12_PIPELINE_STATE_SUBOBJECT_TYPE { - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE = 0, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS = 1, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS = 2, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS = 3, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS = 4, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS = 5, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS = 6, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT = 7, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND = 8, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK = 9, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER = 10, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL = 11, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT = 12, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE = 13, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY = 14, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS = 15, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT = 16, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC = 17, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK = 18, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO = 19, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS = 20, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 = 21, - D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID = 22, -}} -ENUM!{enum D3D12_FEATURE { - D3D12_FEATURE_D3D12_OPTIONS = 0, - D3D12_FEATURE_ARCHITECTURE = 1, - D3D12_FEATURE_FEATURE_LEVELS = 2, - D3D12_FEATURE_FORMAT_SUPPORT = 3, - D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS = 4, - D3D12_FEATURE_FORMAT_INFO = 5, - D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = 6, - D3D12_FEATURE_SHADER_MODEL = 7, - D3D12_FEATURE_D3D12_OPTIONS1 = 8, - D3D12_FEATURE_ROOT_SIGNATURE = 12, - D3D12_FEATURE_ARCHITECTURE1 = 16, - D3D12_FEATURE_D3D12_OPTIONS2 = 18, - D3D12_FEATURE_SHADER_CACHE = 19, - D3D12_FEATURE_COMMAND_QUEUE_PRIORITY = 20, -}} -ENUM!{enum D3D12_SHADER_MIN_PRECISION_SUPPORT { - D3D12_SHADER_MIN_PRECISION_SUPPORT_NONE = 0, - D3D12_SHADER_MIN_PRECISION_SUPPORT_10_BIT = 0x1, - D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT = 0x2, -}} -ENUM!{enum D3D12_TILED_RESOURCES_TIER { - D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED = 0, - D3D12_TILED_RESOURCES_TIER_1 = 1, - D3D12_TILED_RESOURCES_TIER_2 = 2, - D3D12_TILED_RESOURCES_TIER_3 = 3, -}} -ENUM!{enum D3D12_RESOURCE_BINDING_TIER { - D3D12_RESOURCE_BINDING_TIER_1 = 1, - D3D12_RESOURCE_BINDING_TIER_2 = 2, - D3D12_RESOURCE_BINDING_TIER_3 = 3, -}} -ENUM!{enum D3D12_CONSERVATIVE_RASTERIZATION_TIER { - D3D12_CONSERVATIVE_RASTERIZATION_TIER_NOT_SUPPORTED = 0, - D3D12_CONSERVATIVE_RASTERIZATION_TIER_1 = 1, - D3D12_CONSERVATIVE_RASTERIZATION_TIER_2 = 2, - D3D12_CONSERVATIVE_RASTERIZATION_TIER_3 = 3, -}} -ENUM!{enum D3D12_FORMAT_SUPPORT1 { - D3D12_FORMAT_SUPPORT1_NONE = 0, - D3D12_FORMAT_SUPPORT1_BUFFER = 0x1, - D3D12_FORMAT_SUPPORT1_IA_VERTEX_BUFFER = 0x2, - D3D12_FORMAT_SUPPORT1_IA_INDEX_BUFFER = 0x4, - D3D12_FORMAT_SUPPORT1_SO_BUFFER = 0x8, - D3D12_FORMAT_SUPPORT1_TEXTURE1D = 0x10, - D3D12_FORMAT_SUPPORT1_TEXTURE2D = 0x20, - D3D12_FORMAT_SUPPORT1_TEXTURE3D = 0x40, - D3D12_FORMAT_SUPPORT1_TEXTURECUBE = 0x80, - D3D12_FORMAT_SUPPORT1_SHADER_LOAD = 0x100, - D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE = 0x200, - D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_COMPARISON = 0x400, - D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_MONO_TEXT = 0x800, - D3D12_FORMAT_SUPPORT1_MIP = 0x1000, - D3D12_FORMAT_SUPPORT1_RENDER_TARGET = 0x4000, - D3D12_FORMAT_SUPPORT1_BLENDABLE = 0x8000, - D3D12_FORMAT_SUPPORT1_DEPTH_STENCIL = 0x10000, - D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RESOLVE = 0x40000, - D3D12_FORMAT_SUPPORT1_DISPLAY = 0x80000, - D3D12_FORMAT_SUPPORT1_CAST_WITHIN_BIT_LAYOUT = 0x100000, - D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RENDERTARGET = 0x200000, - D3D12_FORMAT_SUPPORT1_MULTISAMPLE_LOAD = 0x400000, - D3D12_FORMAT_SUPPORT1_SHADER_GATHER = 0x800000, - D3D12_FORMAT_SUPPORT1_BACK_BUFFER_CAST = 0x1000000, - D3D12_FORMAT_SUPPORT1_TYPED_UNORDERED_ACCESS_VIEW = 0x2000000, - D3D12_FORMAT_SUPPORT1_SHADER_GATHER_COMPARISON = 0x4000000, - D3D12_FORMAT_SUPPORT1_DECODER_OUTPUT = 0x8000000, - D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_OUTPUT = 0x10000000, - D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_INPUT = 0x20000000, - D3D12_FORMAT_SUPPORT1_VIDEO_ENCODER = 0x40000000, -}} -ENUM!{enum D3D12_FORMAT_SUPPORT2 { - D3D12_FORMAT_SUPPORT2_NONE = 0, - D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x1, - D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x2, - D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x4, - D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x8, - D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x10, - D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x20, - D3D12_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x40, - D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x80, - D3D12_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x100, - D3D12_FORMAT_SUPPORT2_TILED = 0x200, - D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x4000, -}} -ENUM!{enum D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS { - D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_NONE = 0, - D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_TILED_RESOURCE = 0x1, -}} -ENUM!{enum D3D12_CROSS_NODE_SHARING_TIER { - D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED = 0, - D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED = 1, - D3D12_CROSS_NODE_SHARING_TIER_1 = 2, - D3D12_CROSS_NODE_SHARING_TIER_2 = 3, -}} -ENUM!{enum D3D12_RESOURCE_HEAP_TIER { - D3D12_RESOURCE_HEAP_TIER_1 = 1, - D3D12_RESOURCE_HEAP_TIER_2 = 2, -}} -ENUM!{enum D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER { - D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_NOT_SUPPORTED = 0, - D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_1 = 1, - D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2 = 2, -}} -STRUCT!{struct D3D12_FEATURE_DATA_D3D12_OPTIONS { - DoublePrecisionFloatShaderOps: BOOL, - OutputMergerLogicOp: BOOL, - MinPrecisionSupport: D3D12_SHADER_MIN_PRECISION_SUPPORT, - TiledResourcesTier: D3D12_TILED_RESOURCES_TIER, - ResourceBindingTier: D3D12_RESOURCE_BINDING_TIER, - PSSpecifiedStencilRefSupported: BOOL, - TypedUAVLoadAdditionalFormats: BOOL, - ROVsSupported: BOOL, - ConservativeRasterizationTier: D3D12_CONSERVATIVE_RASTERIZATION_TIER, - MaxGPUVirtualAddressBitsPerResource: UINT, - StandardSwizzle64KBSupported: BOOL, - CrossNodeSharingTier: D3D12_CROSS_NODE_SHARING_TIER, - CrossAdapterRowMajorTextureSupported: BOOL, - VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation: BOOL, - ResourceHeapTier: D3D12_RESOURCE_HEAP_TIER, -}} -STRUCT!{struct D3D12_FEATURE_DATA_D3D12_OPTIONS1 { - WaveOps: BOOL, - WaveLaneCountMin: UINT, - WaveLaneCountMax: UINT, - TotalLaneCount: UINT, - ExpandedComputeResourceStates: BOOL, - Int64ShaderOps: BOOL, -}} -STRUCT!{struct D3D12_FEATURE_DATA_D3D12_OPTIONS2 { - DepthBoundsTestSupported: BOOL, - ProgrammableSamplePositionsTier: D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER, -}} -ENUM!{enum D3D_ROOT_SIGNATURE_VERSION { - D3D_ROOT_SIGNATURE_VERSION_1 = 0x1, - D3D_ROOT_SIGNATURE_VERSION_1_0 = 0x1, - D3D_ROOT_SIGNATURE_VERSION_1_1 = 0x2, -}} -STRUCT!{struct D3D12_FEATURE_DATA_ROOT_SIGNATURE { - HighestVersion: D3D_ROOT_SIGNATURE_VERSION, -}} -STRUCT!{struct D3D12_FEATURE_DATA_ARCHITECTURE { - NodeIndex: UINT, - TileBasedRenderer: BOOL, - UMA: BOOL, - CacheCoherentUMA: BOOL, -}} -STRUCT!{struct D3D12_FEATURE_DATA_ARCHITECTURE1 { - NodeIndex: UINT, - TileBasedRenderer: BOOL, - UMA: BOOL, - CacheCoherentUMA: BOOL, - IsolatedMMU: BOOL, -}} -STRUCT!{struct D3D12_FEATURE_DATA_FEATURE_LEVELS { - NumFeatureLevels: UINT, - pFeatureLevelsRequested: *const D3D_FEATURE_LEVEL, - MaxSupportedFeatureLevel: D3D_FEATURE_LEVEL, -}} -ENUM!{enum D3D_SHADER_MODEL { - D3D_SHADER_MODEL_5_1 = 0x51, - D3D_SHADER_MODEL_6_0 = 0x60, -}} -STRUCT!{struct D3D12_FEATURE_DATA_SHADER_MODEL { - HighestShaderModel: D3D_SHADER_MODEL, -}} -STRUCT!{struct D3D12_FEATURE_DATA_FORMAT_SUPPORT { - Format: DXGI_FORMAT, - Support1: D3D12_FORMAT_SUPPORT1, - Support2: D3D12_FORMAT_SUPPORT2, -}} -STRUCT!{struct D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS { - Format: DXGI_FORMAT, - SampleCount: UINT, - Flags: D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS, - NumQualityLevels: UINT, -}} -STRUCT!{struct D3D12_FEATURE_DATA_FORMAT_INFO { - Format: DXGI_FORMAT, - PlaneCount: UINT8, -}} -STRUCT!{struct D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT { - MaxGPUVirtualAddressBitsPerResource: UINT, - MaxGPUVirtualAddressBitsPerProcess: UINT, -}} -ENUM!{enum D3D12_SHADER_CACHE_SUPPORT_FLAGS { - D3D12_SHADER_CACHE_SUPPORT_NONE = 0, - D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO = 0x1, - D3D12_SHADER_CACHE_SUPPORT_LIBRARY = 0x2, - D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE = 0x4, - D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE = 0x8, -}} -STRUCT!{struct D3D12_FEATURE_DATA_SHADER_CACHE { - SupportFlags: D3D12_SHADER_CACHE_SUPPORT_FLAGS, -}} -STRUCT!{struct D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY { - CommandListType: D3D12_COMMAND_LIST_TYPE, - Priority: UINT, - PriorityForTypeIsSupported: BOOL, -}} -STRUCT!{struct D3D12_RESOURCE_ALLOCATION_INFO { - SizeInBytes: UINT64, - Alignment: UINT64, -}} -ENUM!{enum D3D12_HEAP_TYPE { - D3D12_HEAP_TYPE_DEFAULT = 1, - D3D12_HEAP_TYPE_UPLOAD = 2, - D3D12_HEAP_TYPE_READBACK = 3, - D3D12_HEAP_TYPE_CUSTOM = 4, -}} -ENUM!{enum D3D12_CPU_PAGE_PROPERTY { - D3D12_CPU_PAGE_PROPERTY_UNKNOWN = 0, - D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE = 1, - D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE = 2, - D3D12_CPU_PAGE_PROPERTY_WRITE_BACK = 3, -}} -ENUM!{enum D3D12_MEMORY_POOL { - D3D12_MEMORY_POOL_UNKNOWN = 0, - D3D12_MEMORY_POOL_L0 = 1, - D3D12_MEMORY_POOL_L1 = 2, -}} -STRUCT!{struct D3D12_HEAP_PROPERTIES { - Type: D3D12_HEAP_TYPE, - CPUPageProperty: D3D12_CPU_PAGE_PROPERTY, - MemoryPoolPreference: D3D12_MEMORY_POOL, - CreationNodeMask: UINT, - VisibleNodeMask: UINT, -}} -ENUM!{enum D3D12_HEAP_FLAGS { - D3D12_HEAP_FLAG_NONE = 0, - D3D12_HEAP_FLAG_SHARED = 0x1, - D3D12_HEAP_FLAG_DENY_BUFFERS = 0x4, - D3D12_HEAP_FLAG_ALLOW_DISPLAY = 0x8, - D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 0x20, - D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 0x40, - D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 0x80, - D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 0x100, - D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = 0x200, - D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0, - D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 0xc0, - D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 0x44, - D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 0x84, -}} -STRUCT!{struct D3D12_HEAP_DESC { - SizeInBytes: UINT64, - Properties: D3D12_HEAP_PROPERTIES, - Alignment: UINT64, - Flags: D3D12_HEAP_FLAGS, -}} -ENUM!{enum D3D12_RESOURCE_DIMENSION { - D3D12_RESOURCE_DIMENSION_UNKNOWN = 0, - D3D12_RESOURCE_DIMENSION_BUFFER = 1, - D3D12_RESOURCE_DIMENSION_TEXTURE1D = 2, - D3D12_RESOURCE_DIMENSION_TEXTURE2D = 3, - D3D12_RESOURCE_DIMENSION_TEXTURE3D = 4, -}} -ENUM!{enum D3D12_TEXTURE_LAYOUT { - D3D12_TEXTURE_LAYOUT_UNKNOWN = 0, - D3D12_TEXTURE_LAYOUT_ROW_MAJOR = 1, - D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE = 2, - D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE = 3, -}} -ENUM!{enum D3D12_RESOURCE_FLAGS { - D3D12_RESOURCE_FLAG_NONE = 0, - D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 0x1, - D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 0x2, - D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4, - D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8, - D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10, - D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20, -}} -STRUCT!{struct D3D12_RESOURCE_DESC { - Dimension: D3D12_RESOURCE_DIMENSION, - Alignment: UINT64, - Width: UINT64, - Height: UINT, - DepthOrArraySize: UINT16, - MipLevels: UINT16, - Format: DXGI_FORMAT, - SampleDesc: DXGI_SAMPLE_DESC, - Layout: D3D12_TEXTURE_LAYOUT, - Flags: D3D12_RESOURCE_FLAGS, -}} -STRUCT!{struct D3D12_DEPTH_STENCIL_VALUE { - Depth: FLOAT, - Stencil: UINT8, -}} -UNION!{union D3D12_CLEAR_VALUE_u { - [u32; 4], - Color Color_mut: [FLOAT; 4], - DepthStencil DepthStencil_mut: D3D12_DEPTH_STENCIL_VALUE, -}} -STRUCT!{struct D3D12_CLEAR_VALUE { - Format: DXGI_FORMAT, - u: D3D12_CLEAR_VALUE_u, -}} -STRUCT!{struct D3D12_RANGE { - Begin: SIZE_T, - End: SIZE_T, -}} -STRUCT!{struct D3D12_RANGE_UINT64 { - Begin: UINT64, - End: UINT64, -}} -STRUCT!{struct D3D12_SUBRESOURCE_RANGE_UINT64 { - Subresource: UINT, - Range: D3D12_RANGE_UINT64, -}} -STRUCT!{struct D3D12_SUBRESOURCE_INFO { - Offset: UINT64, - RowPitch: UINT, - DepthPitch: UINT, -}} -STRUCT!{struct D3D12_TILED_RESOURCE_COORDINATE { - X: UINT, - Y: UINT, - Z: UINT, - Subresource: UINT, -}} -STRUCT!{struct D3D12_TILE_REGION_SIZE { - NumTiles: UINT, - UseBox: BOOL, - Width: UINT, - Height: UINT16, - Depth: UINT16, -}} -ENUM!{enum D3D12_TILE_RANGE_FLAGS { - D3D12_TILE_RANGE_FLAG_NONE = 0, - D3D12_TILE_RANGE_FLAG_NULL = 1, - D3D12_TILE_RANGE_FLAG_SKIP = 2, - D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE = 4, -}} -STRUCT!{struct D3D12_SUBRESOURCE_TILING { - WidthInTiles: UINT, - HeightInTiles: UINT16, - DepthInTiles: UINT16, - StartTileIndexInOverallResource: UINT, -}} -STRUCT!{struct D3D12_TILE_SHAPE { - WidthInTexels: UINT, - HeightInTexels: UINT, - DepthInTexels: UINT, -}} -STRUCT!{struct D3D12_PACKED_MIP_INFO { - NumStandardMips: UINT8, - NumPackedMips: UINT8, - NumTilesForPackedMips: UINT, - StartTileIndexInOverallResource: UINT, -}} -ENUM!{enum D3D12_TILE_MAPPING_FLAGS { - D3D12_TILE_MAPPING_FLAG_NONE = 0, - D3D12_TILE_MAPPING_FLAG_NO_HAZARD = 0x1, -}} -ENUM!{enum D3D12_TILE_COPY_FLAGS { - D3D12_TILE_COPY_FLAG_NONE = 0, - D3D12_TILE_COPY_FLAG_NO_HAZARD = 0x1, - D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 0x2, - D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 0x4, -}} -ENUM!{enum D3D12_RESOURCE_STATES { - D3D12_RESOURCE_STATE_COMMON = 0, - D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 0x1, - D3D12_RESOURCE_STATE_INDEX_BUFFER = 0x2, - D3D12_RESOURCE_STATE_RENDER_TARGET = 0x4, - D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 0x8, - D3D12_RESOURCE_STATE_DEPTH_WRITE = 0x10, - D3D12_RESOURCE_STATE_DEPTH_READ = 0x20, - D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 0x40, - D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 0x80, - D3D12_RESOURCE_STATE_STREAM_OUT = 0x100, - D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = 0x200, - D3D12_RESOURCE_STATE_COPY_DEST = 0x400, - D3D12_RESOURCE_STATE_COPY_SOURCE = 0x800, - D3D12_RESOURCE_STATE_RESOLVE_DEST = 0x1000, - D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 0x2000, - D3D12_RESOURCE_STATE_GENERIC_READ = 0x1 | 0x2 | 0x40 | 0x80 | 0x200 | 0x800, - D3D12_RESOURCE_STATE_PRESENT = 0, - D3D12_RESOURCE_STATE_PREDICATION = 0x200, -}} -ENUM!{enum D3D12_RESOURCE_BARRIER_TYPE { - D3D12_RESOURCE_BARRIER_TYPE_TRANSITION = 0, - D3D12_RESOURCE_BARRIER_TYPE_ALIASING = 1, - D3D12_RESOURCE_BARRIER_TYPE_UAV = 2, -}} -STRUCT!{struct D3D12_RESOURCE_TRANSITION_BARRIER { - pResource: *mut ID3D12Resource, - Subresource: UINT, - StateBefore: D3D12_RESOURCE_STATES, - StateAfter: D3D12_RESOURCE_STATES, -}} -STRUCT!{struct D3D12_RESOURCE_ALIASING_BARRIER { - pResourceBefore: *mut ID3D12Resource, - pResourceAfter: *mut ID3D12Resource, -}} -STRUCT!{struct D3D12_RESOURCE_UAV_BARRIER { - pResource: *mut ID3D12Resource, -}} -ENUM!{enum D3D12_RESOURCE_BARRIER_FLAGS { - D3D12_RESOURCE_BARRIER_FLAG_NONE = 0x0, - D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY = 0x1, - D3D12_RESOURCE_BARRIER_FLAG_END_ONLY = 0x2, -}} -UNION!{union D3D12_RESOURCE_BARRIER_u { - [u32; 4] [u64; 3], - Transition Transition_mut: D3D12_RESOURCE_TRANSITION_BARRIER, - Aliasing Aliasing_mut: D3D12_RESOURCE_ALIASING_BARRIER, - UAV UAV_mut: D3D12_RESOURCE_UAV_BARRIER, -}} -STRUCT!{struct D3D12_RESOURCE_BARRIER { - Type: D3D12_RESOURCE_BARRIER_TYPE, - Flags: D3D12_RESOURCE_BARRIER_FLAGS, - u: D3D12_RESOURCE_BARRIER_u, -}} -STRUCT!{struct D3D12_SUBRESOURCE_FOOTPRINT { - Format: DXGI_FORMAT, - Width: UINT, - Height: UINT, - Depth: UINT, - RowPitch: UINT, -}} -STRUCT!{struct D3D12_PLACED_SUBRESOURCE_FOOTPRINT { - Offset: UINT64, - Footprint: D3D12_SUBRESOURCE_FOOTPRINT, -}} -ENUM!{enum D3D12_TEXTURE_COPY_TYPE { - D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX = 0, - D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT = 1, -}} -UNION!{union D3D12_TEXTURE_COPY_LOCATION_u { - [u64; 4], - PlacedFootprint PlacedFootprint_mut: D3D12_PLACED_SUBRESOURCE_FOOTPRINT, - SubresourceIndex SubresourceIndex_mut: UINT, -}} -STRUCT!{struct D3D12_TEXTURE_COPY_LOCATION { - pResource: *mut ID3D12Resource, - Type: D3D12_TEXTURE_COPY_TYPE, - u: D3D12_TEXTURE_COPY_LOCATION_u, -}} -ENUM!{enum D3D12_RESOLVE_MODE { - D3D12_RESOLVE_MODE_DECOMPRESS = 0, - D3D12_RESOLVE_MODE_MIN = 1, - D3D12_RESOLVE_MODE_MAX = 2, - D3D12_RESOLVE_MODE_AVERAGE = 3, -}} -STRUCT!{struct D3D12_SAMPLE_POSITION { - X: INT8, - Y: INT8, -}} -ENUM!{enum D3D12_SHADER_COMPONENT_MAPPING { - D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 = 0, - D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 = 1, - D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 = 2, - D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 = 3, - D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 = 4, - D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 = 5, -}} -pub const D3D12_SHADER_COMPONENT_MAPPING_MASK: UINT = 0x7; -pub const D3D12_SHADER_COMPONENT_MAPPING_SHIFT: UINT = 3; -pub const D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES: UINT = 1 - << (D3D12_SHADER_COMPONENT_MAPPING_SHIFT * 4); -// D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING -// D3D12_DECODE_SHADER_4_COMPONENT_MAPPING -// D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING -ENUM!{enum D3D12_BUFFER_SRV_FLAGS { - D3D12_BUFFER_SRV_FLAG_NONE = 0x0, - D3D12_BUFFER_SRV_FLAG_RAW = 0x1, -}} -STRUCT!{struct D3D12_BUFFER_SRV { - FirstElement: UINT64, - NumElements: UINT, - StructureByteStride: UINT, - Flags: D3D12_BUFFER_SRV_FLAGS, -}} -STRUCT!{struct D3D12_TEX1D_SRV { - MostDetailedMip: UINT, - MipLevels: UINT, - ResourceMinLODClamp: FLOAT, -}} -STRUCT!{struct D3D12_TEX1D_ARRAY_SRV { - MostDetailedMip: UINT, - MipLevels: UINT, - FirstArraySlice: UINT, - ArraySize: UINT, - ResourceMinLODClamp: FLOAT, -}} -STRUCT!{struct D3D12_TEX2D_SRV { - MostDetailedMip: UINT, - MipLevels: UINT, - PlaneSlice: UINT, - ResourceMinLODClamp: FLOAT, -}} -STRUCT!{struct D3D12_TEX2D_ARRAY_SRV { - MostDetailedMip: UINT, - MipLevels: UINT, - FirstArraySlice: UINT, - ArraySize: UINT, - PlaneSlice: UINT, - ResourceMinLODClamp: FLOAT, -}} -STRUCT!{struct D3D12_TEX3D_SRV { - MostDetailedMip: UINT, - MipLevels: UINT, - ResourceMinLODClamp: FLOAT, -}} -STRUCT!{struct D3D12_TEXCUBE_SRV { - MostDetailedMip: UINT, - MipLevels: UINT, - ResourceMinLODClamp: FLOAT, -}} -STRUCT!{struct D3D12_TEXCUBE_ARRAY_SRV { - MostDetailedMip: UINT, - MipLevels: UINT, - First2DArrayFace: UINT, - NumCubes: UINT, - ResourceMinLODClamp: FLOAT, -}} -STRUCT!{struct D3D12_TEX2DMS_SRV { - UnusedField_NothingToDefine: UINT, -}} -STRUCT!{struct D3D12_TEX2DMS_ARRAY_SRV { - FirstArraySlice: UINT, - ArraySize: UINT, -}} -ENUM!{enum D3D12_SRV_DIMENSION { - D3D12_SRV_DIMENSION_UNKNOWN = 0, - D3D12_SRV_DIMENSION_BUFFER = 1, - D3D12_SRV_DIMENSION_TEXTURE1D = 2, - D3D12_SRV_DIMENSION_TEXTURE1DARRAY = 3, - D3D12_SRV_DIMENSION_TEXTURE2D = 4, - D3D12_SRV_DIMENSION_TEXTURE2DARRAY = 5, - D3D12_SRV_DIMENSION_TEXTURE2DMS = 6, - D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY = 7, - D3D12_SRV_DIMENSION_TEXTURE3D = 8, - D3D12_SRV_DIMENSION_TEXTURECUBE = 9, - D3D12_SRV_DIMENSION_TEXTURECUBEARRAY = 10, -}} -UNION!{union D3D12_SHADER_RESOURCE_VIEW_DESC_u { - [u64; 3], - Buffer Buffer_mut: D3D12_BUFFER_SRV, - Texture1D Texture1D_mut: D3D12_TEX1D_SRV, - Texture1DArray Texture1DArray_mut: D3D12_TEX1D_ARRAY_SRV, - Texture2D Texture2D_mut: D3D12_TEX2D_SRV, - Texture2DArray Texture2DArray_mut: D3D12_TEX2D_ARRAY_SRV, - Texture2DMS Texture2DMS_mut: D3D12_TEX2DMS_SRV, - Texture2DMSArray Texture2DMSArray_mut: D3D12_TEX2DMS_ARRAY_SRV, - Texture3D Texture3D_mut: D3D12_TEX3D_SRV, - TextureCube TextureCube_mut: D3D12_TEXCUBE_SRV, - TextureCubeArray TextureCubeArray_mut: D3D12_TEXCUBE_ARRAY_SRV, -}} -STRUCT!{struct D3D12_SHADER_RESOURCE_VIEW_DESC { - Format: DXGI_FORMAT, - ViewDimension: D3D12_SRV_DIMENSION, - Shader4ComponentMapping: UINT, - u: D3D12_SHADER_RESOURCE_VIEW_DESC_u, -}} -STRUCT!{struct D3D12_CONSTANT_BUFFER_VIEW_DESC { - BufferLocation: D3D12_GPU_VIRTUAL_ADDRESS, - SizeInBytes: UINT, -}} -ENUM!{enum D3D12_FILTER { - D3D12_FILTER_MIN_MAG_MIP_POINT = 0, - D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1, - D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4, - D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5, - D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10, - D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11, - D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14, - D3D12_FILTER_MIN_MAG_MIP_LINEAR = 0x15, - D3D12_FILTER_ANISOTROPIC = 0x55, - D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80, - D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81, - D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84, - D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85, - D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90, - D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91, - D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94, - D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95, - D3D12_FILTER_COMPARISON_ANISOTROPIC = 0xd5, - D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100, - D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101, - D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104, - D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105, - D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110, - D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111, - D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114, - D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115, - D3D12_FILTER_MINIMUM_ANISOTROPIC = 0x155, - D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180, - D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181, - D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184, - D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185, - D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190, - D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191, - D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194, - D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195, - D3D12_FILTER_MAXIMUM_ANISOTROPIC = 0x1d5, -}} -ENUM!{enum D3D12_FILTER_TYPE { - D3D12_FILTER_TYPE_POINT = 0, - D3D12_FILTER_TYPE_LINEAR = 1, -}} -ENUM!{enum D3D12_FILTER_REDUCTION_TYPE { - D3D12_FILTER_REDUCTION_TYPE_STANDARD = 0, - D3D12_FILTER_REDUCTION_TYPE_COMPARISON = 1, - D3D12_FILTER_REDUCTION_TYPE_MINIMUM = 2, - D3D12_FILTER_REDUCTION_TYPE_MAXIMUM = 3, -}} -pub const D3D12_FILTER_REDUCTION_TYPE_MASK: UINT = 0x3; -pub const D3D12_FILTER_REDUCTION_TYPE_SHIFT: UINT = 7; -pub const D3D12_FILTER_TYPE_MASK: UINT = 0x3; -pub const D3D12_MIN_FILTER_SHIFT: UINT = 4; -pub const D3D12_MAG_FILTER_SHIFT: UINT = 2; -pub const D3D12_MIP_FILTER_SHIFT: UINT = 0; -pub const D3D12_ANISOTROPIC_FILTERING_BIT: UINT = 0x40; -// D3D12_ENCODE_BASIC_FILTER -// D3D12_ENCODE_ANISOTROPIC_FILTER -// D3D12_DECODE_MIN_FILTER -// D3D12_DECODE_MAG_FILTER -// D3D12_DECODE_MIP_FILTER -// D3D12_DECODE_FILTER_REDUCTION -// D3D12_DECODE_IS_COMPARISON_FILTER -// D3D12_DECODE_IS_ANISOTROPIC_FILTER -ENUM!{enum D3D12_TEXTURE_ADDRESS_MODE { - D3D12_TEXTURE_ADDRESS_MODE_WRAP = 1, - D3D12_TEXTURE_ADDRESS_MODE_MIRROR = 2, - D3D12_TEXTURE_ADDRESS_MODE_CLAMP = 3, - D3D12_TEXTURE_ADDRESS_MODE_BORDER = 4, - D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE = 5, -}} -STRUCT!{struct D3D12_SAMPLER_DESC { - Filter: D3D12_FILTER, - AddressU: D3D12_TEXTURE_ADDRESS_MODE, - AddressV: D3D12_TEXTURE_ADDRESS_MODE, - AddressW: D3D12_TEXTURE_ADDRESS_MODE, - MipLODBias: FLOAT, - MaxAnisotropy: UINT, - ComparisonFunc: D3D12_COMPARISON_FUNC, - BorderColor: [FLOAT; 4], - MinLOD: FLOAT, - MaxLOD: FLOAT, -}} -ENUM!{enum D3D12_BUFFER_UAV_FLAGS { - D3D12_BUFFER_UAV_FLAG_NONE = 0, - D3D12_BUFFER_UAV_FLAG_RAW = 0x1, -}} -STRUCT!{struct D3D12_BUFFER_UAV { - FirstElement: UINT64, - NumElements: UINT, - StructureByteStride: UINT, - CounterOffsetInBytes: UINT64, - Flags: D3D12_BUFFER_UAV_FLAGS, -}} -STRUCT!{struct D3D12_TEX1D_UAV { - MipSlice: UINT, -}} -STRUCT!{struct D3D12_TEX1D_ARRAY_UAV { - MipSlice: UINT, - FirstArraySlice: UINT, - ArraySize: UINT, -}} -STRUCT!{struct D3D12_TEX2D_UAV { - MipSlice: UINT, - PlaneSlice: UINT, -}} -STRUCT!{struct D3D12_TEX2D_ARRAY_UAV { - MipSlice: UINT, - FirstArraySlice: UINT, - ArraySize: UINT, - PlaneSlice: UINT, -}} -STRUCT!{struct D3D12_TEX3D_UAV { - MipSlice: UINT, - FirstWSlice: UINT, - WSize: UINT, -}} -ENUM!{enum D3D12_UAV_DIMENSION { - D3D12_UAV_DIMENSION_UNKNOWN = 0, - D3D12_UAV_DIMENSION_BUFFER = 1, - D3D12_UAV_DIMENSION_TEXTURE1D = 2, - D3D12_UAV_DIMENSION_TEXTURE1DARRAY = 3, - D3D12_UAV_DIMENSION_TEXTURE2D = 4, - D3D12_UAV_DIMENSION_TEXTURE2DARRAY = 5, - D3D12_UAV_DIMENSION_TEXTURE3D = 8, -}} -UNION!{union D3D12_UNORDERED_ACCESS_VIEW_DESC_u { - [u64; 4], - Buffer Buffer_mut: D3D12_BUFFER_UAV, - Texture1D Texture1D_mut: D3D12_TEX1D_UAV, - Texture1DArray Texture1DArray_mut: D3D12_TEX1D_ARRAY_UAV, - Texture2D Texture2D_mut: D3D12_TEX2D_UAV, - Texture2DArray Texture2DArray_mut: D3D12_TEX2D_ARRAY_UAV, - Texture3D Texture3D_mut: D3D12_TEX3D_UAV, -}} -STRUCT!{struct D3D12_UNORDERED_ACCESS_VIEW_DESC { - Format: DXGI_FORMAT, - ViewDimension: D3D12_UAV_DIMENSION, - u: D3D12_UNORDERED_ACCESS_VIEW_DESC_u, -}} -STRUCT!{struct D3D12_BUFFER_RTV { - FirstElement: UINT64, - NumElements: UINT, -}} -STRUCT!{struct D3D12_TEX1D_RTV { - MipSlice: UINT, -}} -STRUCT!{struct D3D12_TEX1D_ARRAY_RTV { - MipSlice: UINT, - FirstArraySlice: UINT, - ArraySize: UINT, -}} -STRUCT!{struct D3D12_TEX2D_RTV { - MipSlice: UINT, - PlaneSlice: UINT, -}} -STRUCT!{struct D3D12_TEX2DMS_RTV { - UnusedField_NothingToDefine: UINT, -}} -STRUCT!{struct D3D12_TEX2D_ARRAY_RTV { - MipSlice: UINT, - FirstArraySlice: UINT, - ArraySize: UINT, - PlaneSlice: UINT, -}} -STRUCT!{struct D3D12_TEX2DMS_ARRAY_RTV { - FirstArraySlice: UINT, - ArraySize: UINT, -}} -STRUCT!{struct D3D12_TEX3D_RTV { - MipSlice: UINT, - FirstWSlice: UINT, - WSize: UINT, -}} -ENUM!{enum D3D12_RTV_DIMENSION { - D3D12_RTV_DIMENSION_UNKNOWN = 0, - D3D12_RTV_DIMENSION_BUFFER = 1, - D3D12_RTV_DIMENSION_TEXTURE1D = 2, - D3D12_RTV_DIMENSION_TEXTURE1DARRAY = 3, - D3D12_RTV_DIMENSION_TEXTURE2D = 4, - D3D12_RTV_DIMENSION_TEXTURE2DARRAY = 5, - D3D12_RTV_DIMENSION_TEXTURE2DMS = 6, - D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY = 7, - D3D12_RTV_DIMENSION_TEXTURE3D = 8, -}} -UNION!{union D3D12_RENDER_TARGET_VIEW_DESC_u { - [u64; 2], - Buffer Buffer_mut: D3D12_BUFFER_RTV, - Texture1D Texture1D_mut: D3D12_TEX1D_RTV, - Texture1DArray Texture1DArray_mut: D3D12_TEX1D_ARRAY_RTV, - Texture2D Texture2D_mut: D3D12_TEX2D_RTV, - Texture2DArray Texture2DArray_mut: D3D12_TEX2D_ARRAY_RTV, - Texture2DMS Texture2DMS_mut: D3D12_TEX2DMS_RTV, - Texture2DMSArray Texture2DMSArray_mut: D3D12_TEX2DMS_ARRAY_RTV, - Texture3D Texture3D_mut: D3D12_TEX3D_RTV, -}} -STRUCT!{struct D3D12_RENDER_TARGET_VIEW_DESC { - Format: DXGI_FORMAT, - ViewDimension: D3D12_RTV_DIMENSION, - u: D3D12_RENDER_TARGET_VIEW_DESC_u, -}} -STRUCT!{struct D3D12_TEX1D_DSV { - MipSlice: UINT, -}} -STRUCT!{struct D3D12_TEX1D_ARRAY_DSV { - MipSlice: UINT, - FirstArraySlice: UINT, - ArraySize: UINT, -}} -STRUCT!{struct D3D12_TEX2D_DSV { - MipSlice: UINT, -}} -STRUCT!{struct D3D12_TEX2D_ARRAY_DSV { - MipSlice: UINT, - FirstArraySlice: UINT, - ArraySize: UINT, -}} -STRUCT!{struct D3D12_TEX2DMS_DSV { - UnusedField_NothingToDefine: UINT, -}} -STRUCT!{struct D3D12_TEX2DMS_ARRAY_DSV { - FirstArraySlice: UINT, - ArraySize: UINT, -}} -ENUM!{enum D3D12_DSV_FLAGS { - D3D12_DSV_FLAG_NONE = 0x0, - D3D12_DSV_FLAG_READ_ONLY_DEPTH = 0x1, - D3D12_DSV_FLAG_READ_ONLY_STENCIL = 0x2, -}} -ENUM!{enum D3D12_DSV_DIMENSION { - D3D12_DSV_DIMENSION_UNKNOWN = 0, - D3D12_DSV_DIMENSION_TEXTURE1D = 1, - D3D12_DSV_DIMENSION_TEXTURE1DARRAY = 2, - D3D12_DSV_DIMENSION_TEXTURE2D = 3, - D3D12_DSV_DIMENSION_TEXTURE2DARRAY = 4, - D3D12_DSV_DIMENSION_TEXTURE2DMS = 5, - D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY = 6, -}} -UNION!{union D3D12_DEPTH_STENCIL_VIEW_DESC_u { - [u32; 3], - Texture1D Texture1D_mut: D3D12_TEX1D_DSV, - Texture1DArray Texture1DArray_mut: D3D12_TEX1D_ARRAY_DSV, - Texture2D Texture2D_mut: D3D12_TEX2D_DSV, - Texture2DArray Texture2DArray_mut: D3D12_TEX2D_ARRAY_DSV, - Texture2DMS Texture2DMS_mut: D3D12_TEX2DMS_DSV, - Texture2DMSArray Texture2DMSArray_mut: D3D12_TEX2DMS_ARRAY_DSV, -}} -STRUCT!{struct D3D12_DEPTH_STENCIL_VIEW_DESC { - Format: DXGI_FORMAT, - ViewDimension: D3D12_DSV_DIMENSION, - Flags: D3D12_DSV_FLAGS, - u: D3D12_DEPTH_STENCIL_VIEW_DESC_u, -}} -ENUM!{enum D3D12_CLEAR_FLAGS { - D3D12_CLEAR_FLAG_DEPTH = 0x1, - D3D12_CLEAR_FLAG_STENCIL = 0x2, -}} -ENUM!{enum D3D12_FENCE_FLAGS { - D3D12_FENCE_FLAG_NONE = 0x0, - D3D12_FENCE_FLAG_SHARED = 0x1, - D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = 0x2, -}} -ENUM!{enum D3D12_DESCRIPTOR_HEAP_TYPE { - D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV = 0, - D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER = 1, - D3D12_DESCRIPTOR_HEAP_TYPE_RTV = 2, - D3D12_DESCRIPTOR_HEAP_TYPE_DSV = 3, - D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES = 4, -}} -ENUM!{enum D3D12_DESCRIPTOR_HEAP_FLAGS { - D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0x0, - D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = 0x1, -}} -STRUCT!{struct D3D12_DESCRIPTOR_HEAP_DESC { - Type: D3D12_DESCRIPTOR_HEAP_TYPE, - NumDescriptors: UINT, - Flags: D3D12_DESCRIPTOR_HEAP_FLAGS, - NodeMask: UINT, -}} -ENUM!{enum D3D12_DESCRIPTOR_RANGE_TYPE { - D3D12_DESCRIPTOR_RANGE_TYPE_SRV = 0, - D3D12_DESCRIPTOR_RANGE_TYPE_UAV = 1, - D3D12_DESCRIPTOR_RANGE_TYPE_CBV = 2, - D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER = 3, -}} -STRUCT!{struct D3D12_DESCRIPTOR_RANGE { - RangeType: D3D12_DESCRIPTOR_RANGE_TYPE, - NumDescriptors: UINT, - BaseShaderRegister: UINT, - RegisterSpace: UINT, - OffsetInDescriptorsFromTableStart: UINT, -}} -STRUCT!{struct D3D12_ROOT_DESCRIPTOR_TABLE { - NumDescriptorRanges: UINT, - pDescriptorRanges: *const D3D12_DESCRIPTOR_RANGE, -}} -STRUCT!{struct D3D12_ROOT_CONSTANTS { - ShaderRegister: UINT, - RegisterSpace: UINT, - Num32BitValues: UINT, -}} -STRUCT!{struct D3D12_ROOT_DESCRIPTOR { - ShaderRegister: UINT, - RegisterSpace: UINT, -}} -ENUM!{enum D3D12_SHADER_VISIBILITY { - D3D12_SHADER_VISIBILITY_ALL = 0, - D3D12_SHADER_VISIBILITY_VERTEX = 1, - D3D12_SHADER_VISIBILITY_HULL = 2, - D3D12_SHADER_VISIBILITY_DOMAIN = 3, - D3D12_SHADER_VISIBILITY_GEOMETRY = 4, - D3D12_SHADER_VISIBILITY_PIXEL = 5, -}} -ENUM!{enum D3D12_ROOT_PARAMETER_TYPE { - D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE = 0, - D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS = 1, - D3D12_ROOT_PARAMETER_TYPE_CBV = 2, - D3D12_ROOT_PARAMETER_TYPE_SRV = 3, - D3D12_ROOT_PARAMETER_TYPE_UAV = 4, -}} -UNION!{union D3D12_ROOT_PARAMETER_u { - [u32; 3] [u64; 2], - DescriptorTable DescriptorTable_mut: D3D12_ROOT_DESCRIPTOR_TABLE, - Constants Constants_mut: D3D12_ROOT_CONSTANTS, - Descriptor Descriptor_mut: D3D12_ROOT_DESCRIPTOR, -}} -STRUCT!{struct D3D12_ROOT_PARAMETER { - ParameterType: D3D12_ROOT_PARAMETER_TYPE, - u: D3D12_ROOT_PARAMETER_u, - ShaderVisibility: D3D12_SHADER_VISIBILITY, -}} -ENUM!{enum D3D12_ROOT_SIGNATURE_FLAGS { - D3D12_ROOT_SIGNATURE_FLAG_NONE = 0x0, - D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0x1, - D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS = 0x2, - D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS = 0x4, - D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x8, - D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS = 0x10, - D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20, - D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40, -}} -ENUM!{enum D3D12_STATIC_BORDER_COLOR { - D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK = 0, - D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK = 1, - D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE = 2, -}} -STRUCT!{struct D3D12_STATIC_SAMPLER_DESC { - Filter: D3D12_FILTER, - AddressU: D3D12_TEXTURE_ADDRESS_MODE, - AddressV: D3D12_TEXTURE_ADDRESS_MODE, - AddressW: D3D12_TEXTURE_ADDRESS_MODE, - MipLODBias: FLOAT, - MaxAnisotropy: UINT, - ComparisonFunc: D3D12_COMPARISON_FUNC, - BorderColor: D3D12_STATIC_BORDER_COLOR, - MinLOD: FLOAT, - MaxLOD: FLOAT, - ShaderRegister: UINT, - RegisterSpace: UINT, - ShaderVisibility: D3D12_SHADER_VISIBILITY, -}} -STRUCT!{struct D3D12_ROOT_SIGNATURE_DESC { - NumParameters: UINT, - pParameters: *const D3D12_ROOT_PARAMETER, - NumStaticSamplers: UINT, - pStaticSamplers: *const D3D12_STATIC_SAMPLER_DESC, - Flags: D3D12_ROOT_SIGNATURE_FLAGS, -}} -ENUM!{enum D3D12_DESCRIPTOR_RANGE_FLAGS { - D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0, - D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = 0x1, - D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = 0x2, - D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4, - D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 0x8, -}} -STRUCT!{struct D3D12_DESCRIPTOR_RANGE1 { - RangeType: D3D12_DESCRIPTOR_RANGE_TYPE, - NumDescriptors: UINT, - BaseShaderRegister: UINT, - RegisterSpace: UINT, - Flags: D3D12_DESCRIPTOR_RANGE_FLAGS, - OffsetInDescriptorsFromTableStart: UINT, -}} -STRUCT!{struct D3D12_ROOT_DESCRIPTOR_TABLE1 { - NumDescriptorRanges: UINT, - pDescriptorRanges: *const D3D12_DESCRIPTOR_RANGE1, -}} -ENUM!{enum D3D12_ROOT_DESCRIPTOR_FLAGS { - D3D12_ROOT_DESCRIPTOR_FLAG_NONE = 0, - D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE = 0x2, - D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4, - D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC = 0x8, -}} -STRUCT!{struct D3D12_ROOT_DESCRIPTOR1 { - ShaderRegister: UINT, - RegisterSpace: UINT, - Flags: D3D12_ROOT_DESCRIPTOR_FLAGS, -}} -UNION!{union D3D12_ROOT_PARAMETER1_u { - [u32; 3] [u64; 2], - DescriptorTable DescriptorTable_mut: D3D12_ROOT_DESCRIPTOR_TABLE1, - Constants Constants_mut: D3D12_ROOT_CONSTANTS, - Descriptor Descriptor_mut: D3D12_ROOT_DESCRIPTOR1, -}} -STRUCT!{struct D3D12_ROOT_PARAMETER1 { - ParameterType: D3D12_ROOT_PARAMETER_TYPE, - u: D3D12_ROOT_PARAMETER1_u, - ShaderVisibility: D3D12_SHADER_VISIBILITY, -}} -STRUCT!{struct D3D12_ROOT_SIGNATURE_DESC1 { - NumParameters: UINT, - pParameters: *const D3D12_ROOT_PARAMETER1, - NumStaticSamplers: UINT, - pStaticSamplers: *const D3D12_STATIC_SAMPLER_DESC, - Flags: D3D12_ROOT_SIGNATURE_FLAGS, -}} -UNION!{union D3D12_VERSIONED_ROOT_SIGNATURE_DESC_u { - [u32; 5] [u64; 5], - Desc_1_0 Desc_1_0_mut: D3D12_ROOT_SIGNATURE_DESC, - Desc_1_1 Desc_1_1_mut: D3D12_ROOT_SIGNATURE_DESC1, -}} -STRUCT!{struct D3D12_VERSIONED_ROOT_SIGNATURE_DESC { - Version: UINT, - u: D3D12_VERSIONED_ROOT_SIGNATURE_DESC_u, -}} -RIDL!{#[uuid(0x34ab647b, 0x3cc8, 0x46ac, 0x84, 0x1b, 0xc0, 0x96, 0x56, 0x45, 0xc0, 0x46)] -interface ID3D12RootSignatureDeserializer(ID3D12RootSignatureDeserializerVtbl): - IUnknown(IUnknownVtbl) { - fn GetRootSignatureDesc() -> *const D3D12_ROOT_SIGNATURE_DESC, -}} -RIDL!{#[uuid(0x7f91ce67, 0x090c, 0x4bb7, 0xb7, 0x8e, 0xed, 0x8f, 0xf2, 0xe3, 0x1d, 0xa0)] -interface ID3D12VersionedRootSignatureDeserializer(ID3D12VersionedRootSignatureDeserializerVtbl): - IUnknown(IUnknownVtbl) { - fn GetRootSignatureDescAtVersion( - convertToVersion: D3D_ROOT_SIGNATURE_VERSION, - ppDesc: *mut *mut D3D12_VERSIONED_ROOT_SIGNATURE_DESC, - ) -> HRESULT, - fn GetUnconvertedRootSignatureDesc() -> *const D3D12_VERSIONED_ROOT_SIGNATURE_DESC, -}} -FN!{stdcall PFN_D3D12_SERIALIZE_ROOT_SIGNATURE( - pRootSignature: *const D3D12_ROOT_SIGNATURE_DESC, - Version: D3D_ROOT_SIGNATURE_VERSION, - ppBlob: *mut *mut ID3DBlob, - ppErrorBlob: *mut *mut ID3DBlob, -) -> HRESULT} -extern "system" { - pub fn D3D12SerializeRootSignature( - pRootSignature: *const D3D12_ROOT_SIGNATURE_DESC, - Version: D3D_ROOT_SIGNATURE_VERSION, - ppBlob: *mut *mut ID3DBlob, - ppErrorBlob: *mut *mut ID3DBlob, - ) -> HRESULT; -} -FN!{stdcall PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER( - pSrcData: LPCVOID, - SrcDataSizeInBytes: SIZE_T, - pRootSignatureDeserializerInterface: REFIID, - ppRootSignatureDeserializer: *mut *mut c_void, -) -> HRESULT} -extern "system" { - pub fn D3D12CreateRootSignatureDeserializer( - pSrcData: LPCVOID, - SrcDataSizeInBytes: SIZE_T, - pRootSignatureDeserializerInterface: REFGUID, - ppRootSignatureDeserializer: *mut *mut c_void, - ) -> HRESULT; -} -FN!{stdcall PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE( - pRootSignature: *const D3D12_VERSIONED_ROOT_SIGNATURE_DESC, - ppBlob: *mut *mut ID3DBlob, - ppErrorBlob: *mut *mut ID3DBlob, -) -> HRESULT} -extern "system" { - pub fn D3D12SerializeVersionedRootSignature( - pRootSignature: *const D3D12_VERSIONED_ROOT_SIGNATURE_DESC, - ppBlob: *mut *mut ID3DBlob, - ppErrorBlob: *mut *mut ID3DBlob, - ) -> HRESULT; -} -FN!{stdcall PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER( - pSrcData: LPCVOID, - SrcDataSizeInBytes: SIZE_T, - pRootSignatureDeserializerInterface: REFIID, - ppRootSignatureDeserializer: *mut *mut c_void, -) -> HRESULT} -extern "system" { - pub fn D3D12CreateVersionedRootSignatureDeserializer( - pSrcData: LPCVOID, - SrcDataSizeInBytes: SIZE_T, - pRootSignatureDeserializerInterface: REFIID, - ppRootSignatureDeserializer: *mut *mut c_void, - ) -> HRESULT; -} -STRUCT!{struct D3D12_CPU_DESCRIPTOR_HANDLE { - ptr: SIZE_T, -}} -STRUCT!{struct D3D12_GPU_DESCRIPTOR_HANDLE { - ptr: UINT64, -}} -STRUCT!{struct D3D12_DISCARD_REGION { - NumRects: UINT, - pRects: *const D3D12_RECT, - FirstSubresource: UINT, - NumSubresources: UINT, -}} -ENUM!{enum D3D12_QUERY_HEAP_TYPE { - D3D12_QUERY_HEAP_TYPE_OCCLUSION = 0, - D3D12_QUERY_HEAP_TYPE_TIMESTAMP = 1, - D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS = 2, - D3D12_QUERY_HEAP_TYPE_SO_STATISTICS = 3, -}} -STRUCT!{struct D3D12_QUERY_HEAP_DESC { - Type: D3D12_QUERY_HEAP_TYPE, - Count: UINT, - NodeMask: UINT, -}} -ENUM!{enum D3D12_QUERY_TYPE { - D3D12_QUERY_TYPE_OCCLUSION = 0, - D3D12_QUERY_TYPE_BINARY_OCCLUSION = 1, - D3D12_QUERY_TYPE_TIMESTAMP = 2, - D3D12_QUERY_TYPE_PIPELINE_STATISTICS = 3, - D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0 = 4, - D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1 = 5, - D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2 = 6, - D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3 = 7, -}} -ENUM!{enum D3D12_PREDICATION_OP { - D3D12_PREDICATION_OP_EQUAL_ZERO = 0, - D3D12_PREDICATION_OP_NOT_EQUAL_ZERO = 1, -}} -STRUCT!{struct D3D12_QUERY_DATA_PIPELINE_STATISTICS { - IAVertices: UINT64, - IAPrimitives: UINT64, - VSInvocations: UINT64, - GSInvocations: UINT64, - GSPrimitives: UINT64, - CInvocations: UINT64, - CPrimitives: UINT64, - PSInvocations: UINT64, - HSInvocations: UINT64, - DSInvocations: UINT64, - CSInvocations: UINT64, -}} -STRUCT!{struct D3D12_QUERY_DATA_SO_STATISTICS { - NumPrimitivesWritten: UINT64, - PrimitivesStorageNeeded: UINT64, -}} -STRUCT!{struct D3D12_STREAM_OUTPUT_BUFFER_VIEW { - BufferLocation: D3D12_GPU_VIRTUAL_ADDRESS, - SizeInBytes: UINT64, - BufferFilledSizeLocation: D3D12_GPU_VIRTUAL_ADDRESS, -}} -STRUCT!{struct D3D12_DRAW_ARGUMENTS { - VertexCountPerInstance: UINT, - InstanceCount: UINT, - StartVertexLocation: UINT, - StartInstanceLocation: UINT, -}} -STRUCT!{struct D3D12_DRAW_INDEXED_ARGUMENTS { - IndexCountPerInstance: UINT, - InstanceCount: UINT, - StartIndexLocation: UINT, - BaseVertexLocation: INT, - StartInstanceLocation: UINT, -}} -STRUCT!{struct D3D12_DISPATCH_ARGUMENTS { - ThreadGroupCountX: UINT, - ThreadGroupCountY: UINT, - ThreadGroupCountZ: UINT, -}} -STRUCT!{struct D3D12_VERTEX_BUFFER_VIEW { - BufferLocation: D3D12_GPU_VIRTUAL_ADDRESS, - SizeInBytes: UINT, - StrideInBytes: UINT, -}} -STRUCT!{struct D3D12_INDEX_BUFFER_VIEW { - BufferLocation: D3D12_GPU_VIRTUAL_ADDRESS, - SizeInBytes: UINT, - Format: DXGI_FORMAT, -}} -ENUM!{enum D3D12_INDIRECT_ARGUMENT_TYPE { - D3D12_INDIRECT_ARGUMENT_TYPE_DRAW = 0, - D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED = 1, - D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH = 2, - D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW = 3, - D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW = 4, - D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT = 5, - D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW = 6, - D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW = 7, - D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW = 8, -}} -STRUCT!{struct D3D12_INDIRECT_ARGUMENT_DESC_VertexBuffer { - Slot: UINT, -}} -STRUCT!{struct D3D12_INDIRECT_ARGUMENT_DESC_Constant { - RootParameterIndex: UINT, - DestOffsetIn32BitValues: UINT, - Num32BitValuesToSet: UINT, -}} -STRUCT!{struct D3D12_INDIRECT_ARGUMENT_DESC_ConstantBufferView { - RootParameterIndex: UINT, -}} -STRUCT!{struct D3D12_INDIRECT_ARGUMENT_DESC_ShaderResourceView { - RootParameterIndex: UINT, -}} -STRUCT!{struct D3D12_INDIRECT_ARGUMENT_DESC_UnorderedAccessView { - RootParameterIndex: UINT, -}} -UNION!{union D3D12_INDIRECT_ARGUMENT_DESC_u { - [u32; 3], - VertexBuffer VertexBuffer_mut: D3D12_INDIRECT_ARGUMENT_DESC_VertexBuffer, - Constant Constant_mut: D3D12_INDIRECT_ARGUMENT_DESC_Constant, - ConstantBufferView ConstantBufferView_mut: D3D12_INDIRECT_ARGUMENT_DESC_ConstantBufferView, - ShaderResourceView ShaderResourceView_mut: D3D12_INDIRECT_ARGUMENT_DESC_ShaderResourceView, - UnorderedAccessView UnorderedAccessView_mut: D3D12_INDIRECT_ARGUMENT_DESC_UnorderedAccessView, -}} -STRUCT!{struct D3D12_INDIRECT_ARGUMENT_DESC { - Type: D3D12_INDIRECT_ARGUMENT_TYPE, - u: D3D12_INDIRECT_ARGUMENT_DESC_u, -}} -STRUCT!{struct D3D12_COMMAND_SIGNATURE_DESC { - ByteStride: UINT, - NumArgumentDescs: UINT, - pArgumentDescs: *const D3D12_INDIRECT_ARGUMENT_DESC, - NodeMask: UINT, -}} -RIDL!{#[uuid(0xc4fec28f, 0x7966, 0x4e95, 0x9f, 0x94, 0xf4, 0x31, 0xcb, 0x56, 0xc3, 0xb8)] -interface ID3D12Object(ID3D12ObjectVtbl): IUnknown(IUnknownVtbl) { - fn GetPrivateData( - guid: REFGUID, - pDataSize: *mut UINT, - pData: *mut c_void, - ) -> HRESULT, - fn SetPrivateData( - guid: REFGUID, - DataSize: UINT, - pData: *const c_void, - ) -> HRESULT, - fn SetPrivateDataInterface( - guid: REFGUID, - pData: *const IUnknown, - ) -> HRESULT, - fn SetName( - Name: LPCWSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x905db94b, 0xa00c, 0x4140, 0x9d, 0xf5, 0x2b, 0x64, 0xca, 0x9e, 0xa3, 0x57)] -interface ID3D12DeviceChild(ID3D12DeviceChildVtbl): ID3D12Object(ID3D12ObjectVtbl) { - fn GetDevice( - riid: REFIID, - ppvDevice: *mut *mut c_void, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x63ee58fb, 0x1268, 0x4835, 0x86, 0xda, 0xf0, 0x08, 0xce, 0x62, 0xf0, 0xd6)] -interface ID3D12Pageable(ID3D12PageableVtbl): ID3D12DeviceChild(ID3D12DeviceChildVtbl) {}} -RIDL!{#[uuid(0x6b3b2502, 0x6e51, 0x45b3, 0x90, 0xee, 0x98, 0x84, 0x26, 0x5e, 0x8d, 0xf3)] -interface ID3D12Heap(ID3D12HeapVtbl): ID3D12Pageable(ID3D12PageableVtbl) { - #[fixme] fn GetDesc() -> D3D12_HEAP_DESC, -}} -RIDL!{#[uuid(0x696442be, 0xa72e, 0x4059, 0xbc, 0x79, 0x5b, 0x5c, 0x98, 0x04, 0x0f, 0xad)] -interface ID3D12Resource(ID3D12ResourceVtbl): ID3D12Pageable(ID3D12PageableVtbl) { - fn Map( - Subresource: UINT, - pReadRange: *const D3D12_RANGE, - ppData: *mut *mut c_void, - ) -> HRESULT, - fn Unmap( - Subresource: UINT, - pWrittenRange: *const D3D12_RANGE, - ) -> (), - #[fixme] fn GetDesc() -> D3D12_RESOURCE_DESC, - fn GetGPUVirtualAddress() -> D3D12_GPU_VIRTUAL_ADDRESS, - fn WriteToSubresource( - DstSubresource: UINT, - pDstBox: *const D3D12_BOX, - pSrcData: *const c_void, - SrcRowPitch: UINT, - SrcDepthPitch: UINT, - ) -> HRESULT, - fn ReadFromSubresource( - pDstData: *mut c_void, - DstRowPitch: UINT, - DstDepthPitch: UINT, - SrcSubresource: UINT, - pSrcBox: *const D3D12_BOX, - ) -> HRESULT, - fn GetHeapProperties( - pHeapProperties: *mut D3D12_HEAP_PROPERTIES, - pHeapFlags: *mut D3D12_HEAP_FLAGS, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x6102dee4, 0xaf59, 0x4b09, 0xb9, 0x99, 0xb4, 0x4d, 0x73, 0xf0, 0x9b, 0x24)] -interface ID3D12CommandAllocator(ID3D12CommandAllocatorVtbl): ID3D12Pageable(ID3D12PageableVtbl) { - fn Reset() -> HRESULT, -}} -RIDL!{#[uuid(0x0a753dcf, 0xc4d8, 0x4b91, 0xad, 0xf6, 0xbe, 0x5a, 0x60, 0xd9, 0x5a, 0x76)] -interface ID3D12Fence(ID3D12FenceVtbl): ID3D12Pageable(ID3D12PageableVtbl) { - fn GetCompletedValue() -> UINT64, - fn SetEventOnCompletion( - Value: UINT64, - hEvent: HANDLE, - ) -> HRESULT, - fn Signal( - Value: UINT64, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x765a30f3, 0xf624, 0x4c6f, 0xa8, 0x28, 0xac, 0xe9, 0x48, 0x62, 0x24, 0x45)] -interface ID3D12PipelineState(ID3D12PipelineStateVtbl): ID3D12Pageable(ID3D12PageableVtbl) { - fn GetCachedBlob( - ppBlob: *mut *mut ID3DBlob, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x8efb471d, 0x616c, 0x4f49, 0x90, 0xf7, 0x12, 0x7b, 0xb7, 0x63, 0xfa, 0x51)] -interface ID3D12DescriptorHeap(ID3D12DescriptorHeapVtbl): ID3D12Pageable(ID3D12PageableVtbl) { - #[fixme] fn GetDesc() -> D3D12_DESCRIPTOR_HEAP_DESC, - #[fixme] fn GetCPUDescriptorHandleForHeapStart() -> D3D12_CPU_DESCRIPTOR_HANDLE, - #[fixme] fn GetGPUDescriptorHandleForHeapStart() -> D3D12_GPU_DESCRIPTOR_HANDLE, -}} -RIDL!{#[uuid(0x0d9658ae, 0xed45, 0x469e, 0xa6, 0x1d, 0x97, 0x0e, 0xc5, 0x83, 0xca, 0xb4)] -interface ID3D12QueryHeap(ID3D12QueryHeapVtbl): ID3D12Pageable(ID3D12PageableVtbl) {}} -RIDL!{#[uuid(0xc36a797c, 0xec80, 0x4f0a, 0x89, 0x85, 0xa7, 0xb2, 0x47, 0x50, 0x82, 0xd1)] -interface ID3D12CommandSignature(ID3D12CommandSignatureVtbl): - ID3D12Pageable(ID3D12PageableVtbl) {}} -RIDL!{#[uuid(0x7116d91c, 0xe7e4, 0x47ce, 0xb8, 0xc6, 0xec, 0x81, 0x68, 0xf4, 0x37, 0xe5)] -interface ID3D12CommandList(ID3D12CommandListVtbl): ID3D12DeviceChild(ID3D12DeviceChildVtbl) { - fn GetType() -> D3D12_COMMAND_LIST_TYPE, -}} -RIDL!{#[uuid(0x5b160d0f, 0xac1b, 0x4185, 0x8b, 0xa8, 0xb3, 0xae, 0x42, 0xa5, 0xa4, 0x55)] -interface ID3D12GraphicsCommandList(ID3D12GraphicsCommandListVtbl): - ID3D12CommandList(ID3D12CommandListVtbl) { - fn Close() -> HRESULT, - fn Reset( - pAllocator: *mut ID3D12CommandAllocator, - pInitialState: *mut ID3D12PipelineState, - ) -> HRESULT, - fn ClearState( - pPipelineState: *mut ID3D12PipelineState, - ) -> (), - fn DrawInstanced( - VertexCountPerInstance: UINT, - InstanceCount: UINT, - StartVertexLocation: UINT, - StartInstanceLocation: UINT, - ) -> (), - fn DrawIndexedInstanced( - IndexCountPerInstance: UINT, - InstanceCount: UINT, - StartIndexLocation: UINT, - BaseVertexLocation: INT, - StartInstanceLocation: UINT, - ) -> (), - fn Dispatch( - ThreadGroupCountX: UINT, - ThreadGroupCountY: UINT, - ThreadGroupCountZ: UINT, - ) -> (), - fn CopyBufferRegion( - pDstBuffer: *mut ID3D12Resource, - DstOffset: UINT64, - pSrcBuffer: *mut ID3D12Resource, - SrcOffset: UINT64, - NumBytes: UINT64, - ) -> (), - fn CopyTextureRegion( - pDst: *const D3D12_TEXTURE_COPY_LOCATION, - DstX: UINT, - DstY: UINT, - DstZ: UINT, - pSrc: *const D3D12_TEXTURE_COPY_LOCATION, - pSrcBox: *const D3D12_BOX, - ) -> (), - fn CopyResource( - pDstResource: *mut ID3D12Resource, - pSrcResource: *mut ID3D12Resource, - ) -> (), - fn CopyTiles( - pTiledResource: *mut ID3D12Resource, - pTileRegionStartCoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, - pTileRegionSize: *const D3D12_TILE_REGION_SIZE, - pBuffer: *mut ID3D12Resource, - BufferStartOffsetInBytes: UINT64, - Flags: D3D12_TILE_COPY_FLAGS, - ) -> (), - fn ResolveSubresource( - pDstResource: *mut ID3D12Resource, - DstSubresource: UINT, - pSrcResource: *mut ID3D12Resource, - SrcSubresource: UINT, - Format: DXGI_FORMAT, - ) -> (), - fn IASetPrimitiveTopology( - PrimitiveTopology: D3D12_PRIMITIVE_TOPOLOGY, - ) -> (), - fn RSSetViewports( - NumViewports: UINT, - pViewports: *const D3D12_VIEWPORT, - ) -> (), - fn RSSetScissorRects( - NumRects: UINT, - pRects: *const D3D12_RECT, - ) -> (), - fn OMSetBlendFactor( - BlendFactor: *const [FLOAT; 4], - ) -> (), - fn OMSetStencilRef( - StencilRef: UINT, - ) -> (), - fn SetPipelineState( - pPipelineState: *mut ID3D12PipelineState, - ) -> (), - fn ResourceBarrier( - NumBarriers: UINT, - pBarriers: *const D3D12_RESOURCE_BARRIER, - ) -> (), - fn ExecuteBundle( - pCommandList: *mut ID3D12GraphicsCommandList, - ) -> (), - fn SetDescriptorHeaps( - NumDescriptorHeaps: UINT, - ppDescriptorHeaps: *mut *mut ID3D12DescriptorHeap, - ) -> (), - fn SetComputeRootSignature( - pRootSignature: *mut ID3D12RootSignature, - ) -> (), - fn SetGraphicsRootSignature( - pRootSignature: *mut ID3D12RootSignature, - ) -> (), - fn SetComputeRootDescriptorTable( - RootParameterIndex: UINT, - BaseDescriptor: D3D12_GPU_DESCRIPTOR_HANDLE, - ) -> (), - fn SetGraphicsRootDescriptorTable( - RootParameterIndex: UINT, - BaseDescriptor: D3D12_GPU_DESCRIPTOR_HANDLE, - ) -> (), - fn SetComputeRoot32BitConstant( - RootParameterIndex: UINT, - SrcData: UINT, - DestOffsetIn32BitValues: UINT, - ) -> (), - fn SetGraphicsRoot32BitConstant( - RootParameterIndex: UINT, - SrcData: UINT, - DestOffsetIn32BitValues: UINT, - ) -> (), - fn SetComputeRoot32BitConstants( - RootParameterIndex: UINT, - Num32BitValuesToSet: UINT, - pSrcData: *const c_void, - DestOffsetIn32BitValues: UINT, - ) -> (), - fn SetGraphicsRoot32BitConstants( - RootParameterIndex: UINT, - Num32BitValuesToSet: UINT, - pSrcData: *const c_void, - DestOffsetIn32BitValues: UINT, - ) -> (), - fn SetComputeRootConstantBufferView( - RootParameterIndex: UINT, - BufferLocation: D3D12_GPU_VIRTUAL_ADDRESS, - ) -> (), - fn SetGraphicsRootConstantBufferView( - RootParameterIndex: UINT, - BufferLocation: D3D12_GPU_VIRTUAL_ADDRESS, - ) -> (), - fn SetComputeRootShaderResourceView( - RootParameterIndex: UINT, - BufferLocation: D3D12_GPU_VIRTUAL_ADDRESS, - ) -> (), - fn SetGraphicsRootShaderResourceView( - RootParameterIndex: UINT, - BufferLocation: D3D12_GPU_VIRTUAL_ADDRESS, - ) -> (), - fn SetComputeRootUnorderedAccessView( - RootParameterIndex: UINT, - BufferLocation: D3D12_GPU_VIRTUAL_ADDRESS, - ) -> (), - fn SetGraphicsRootUnorderedAccessView( - RootParameterIndex: UINT, - BufferLocation: D3D12_GPU_VIRTUAL_ADDRESS, - ) -> (), - fn IASetIndexBuffer( - pView: *const D3D12_INDEX_BUFFER_VIEW, - ) -> (), - fn IASetVertexBuffers( - StartSlot: UINT, - NumViews: UINT, - pViews: *const D3D12_VERTEX_BUFFER_VIEW, - ) -> (), - fn SOSetTargets( - StartSlot: UINT, - NumViews: UINT, - pViews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW, - ) -> (), - fn OMSetRenderTargets( - NumRenderTargetDescriptors: UINT, - pRenderTargetDescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, - RTsSingleHandleToDescriptorRange: BOOL, - pDepthStencilDescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE, - ) -> (), - fn ClearDepthStencilView( - DepthStencilView: D3D12_CPU_DESCRIPTOR_HANDLE, - ClearFlags: D3D12_CLEAR_FLAGS, - Depth: FLOAT, - Stencil: UINT8, - NumRects: UINT, - pRects: *const D3D12_RECT, - ) -> (), - fn ClearRenderTargetView( - RenderTargetView: D3D12_CPU_DESCRIPTOR_HANDLE, - ColorRGBA: *const [FLOAT; 4], - NumRects: UINT, - pRects: *const D3D12_RECT, - ) -> (), - fn ClearUnorderedAccessViewUint( - ViewGPUHandleInCurrentHeap: D3D12_GPU_DESCRIPTOR_HANDLE, - ViewCPUHandle: D3D12_CPU_DESCRIPTOR_HANDLE, - pResource: *mut ID3D12Resource, - Values: *const [UINT; 4], - NumRects: UINT, - pRects: *const D3D12_RECT, - ) -> (), - fn ClearUnorderedAccessViewFloat( - ViewGPUHandleInCurrentHeap: D3D12_GPU_DESCRIPTOR_HANDLE, - ViewCPUHandle: D3D12_CPU_DESCRIPTOR_HANDLE, - pResource: *mut ID3D12Resource, - Values: *const [FLOAT; 4], - NumRects: UINT, - pRects: *const D3D12_RECT, - ) -> (), - fn DiscardResource( - pResource: *mut ID3D12Resource, - pRegion: *const D3D12_DISCARD_REGION, - ) -> (), - fn BeginQuery( - pQueryHeap: *mut ID3D12QueryHeap, - Type: D3D12_QUERY_TYPE, - Index: UINT, - ) -> (), - fn EndQuery( - pQueryHeap: *mut ID3D12QueryHeap, - Type: D3D12_QUERY_TYPE, - Index: UINT, - ) -> (), - fn ResolveQueryData( - pQueryHeap: *mut ID3D12QueryHeap, - Type: D3D12_QUERY_TYPE, - StartIndex: UINT, - NumQueries: UINT, - pDestinationBuffer: *mut ID3D12Resource, - AlignedDestinationBufferOffset: UINT64, - ) -> (), - fn SetPredication( - pBuffer: *mut ID3D12Resource, - AlignedBufferOffset: UINT64, - Operation: D3D12_PREDICATION_OP, - ) -> (), - fn SetMarker( - Metadata: UINT, - pData: *const c_void, - Size: UINT, - ) -> (), - fn BeginEvent( - Metadata: UINT, - pData: *const c_void, - Size: UINT, - ) -> (), - fn EndEvent() -> (), - fn ExecuteIndirect( - pCommandSignature: *mut ID3D12CommandSignature, - MaxCommandCount: UINT, - pArgumentBuffer: *mut ID3D12Resource, - ArgumentBufferOffset: UINT64, - pCountBuffer: *mut ID3D12Resource, - CountBufferOffset: UINT64, - ) -> (), -}} -RIDL!{#[uuid(0x553103fb, 0x1fe7, 0x4557, 0xbb, 0x38, 0x94, 0x6d, 0x7d, 0x0e, 0x7c, 0xa7)] -interface ID3D12GraphicsCommandList1(ID3D12GraphicsCommandList1Vtbl): - ID3D12GraphicsCommandList(ID3D12GraphicsCommandListVtbl) { - fn AtomicCopyBufferUINT( - pDstBuffer: *mut ID3D12Resource, - DstOffset: UINT64, - pSrcBuffer: *mut ID3D12Resource, - SrcOffset: UINT64, - Dependencies: UINT, - ppDependentResources: *const *mut ID3D12Resource, - pDependentSubresourceRanges: *mut D3D12_SUBRESOURCE_RANGE_UINT64, - ) -> (), - fn AtomicCopyBufferUINT64( - pDstBuffer: *mut ID3D12Resource, - DstOffset: UINT64, - pSrcBuffer: *mut ID3D12Resource, - SrcOffset: UINT64, - Dependencies: UINT, - ppDependentResources: *const *mut ID3D12Resource, - pDependentSubresourceRanges: *mut D3D12_SUBRESOURCE_RANGE_UINT64, - ) -> (), - fn OMSetDepthBounds( - Min: FLOAT, - Max: FLOAT, - ) -> (), - fn SetSamplePositions( - NumSamplesPerPixel: UINT, - NumPixels: UINT, - pSamplePositions: *mut D3D12_SAMPLE_POSITION, - ) -> (), - fn ResolveSubresourceRegion( - pDstResource: *mut ID3D12Resource, - DstSubresource: UINT, - DstX: UINT, - DstY: UINT, - pSrcResource: *mut ID3D12Resource, - SrcSubresource: UINT, - pSrcRect: *mut D3D12_RECT, - Format: DXGI_FORMAT, - ResolveMode: D3D12_RESOLVE_MODE, - ) -> (), -}} -RIDL!{#[uuid(0x0ec870a6, 0x5d7e, 0x4c22, 0x8c, 0xfc, 0x5b, 0xaa, 0xe0, 0x76, 0x16, 0xed)] -interface ID3D12CommandQueue(ID3D12CommandQueueVtbl): ID3D12Pageable(ID3D12PageableVtbl) { - fn UpdateTileMappings( - pResource: *mut ID3D12Resource, - NumResourceRegions: UINT, - pResourceRegionStartCoordinates: *const D3D12_TILED_RESOURCE_COORDINATE, - pResourceRegionSizes: *const D3D12_TILE_REGION_SIZE, - pHeap: *mut ID3D12Heap, - NumRanges: UINT, - pRangeFlags: *const D3D12_TILE_RANGE_FLAGS, - pHeapRangeStartOffsets: *const UINT, - pRangeTileCounts: *const UINT, - Flags: D3D12_TILE_MAPPING_FLAGS, - ) -> (), - fn CopyTileMappings( - pDstResource: *mut ID3D12Resource, - pDstRegionStartCoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, - pSrcResource: *mut ID3D12Resource, - pSrcRegionStartCoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, - pRegionSize: *const D3D12_TILE_REGION_SIZE, - Flags: D3D12_TILE_MAPPING_FLAGS, - ) -> (), - fn ExecuteCommandLists( - NumCommandLists: UINT, - ppCommandLists: *const *mut ID3D12CommandList, - ) -> (), - fn SetMarker( - Metadata: UINT, - pData: *const c_void, - Size: UINT, - ) -> (), - fn BeginEvent( - Metadata: UINT, - pData: *const c_void, - Size: UINT, - ) -> (), - fn EndEvent() -> (), - fn Signal( - pFence: *mut ID3D12Fence, - Value: UINT64, - ) -> HRESULT, - fn Wait( - pFence: *mut ID3D12Fence, - Value: UINT64, - ) -> HRESULT, - fn GetTimestampFrequency( - pFrequency: *mut UINT64, - ) -> HRESULT, - fn GetClockCalibration( - pGpuTimestamp: *mut UINT64, - pCpuTimestamp: *mut UINT64, - ) -> HRESULT, - #[fixme] fn GetDesc() -> D3D12_COMMAND_QUEUE_DESC, -}} -RIDL!{#[uuid(0x189819f1, 0x1db6, 0x4b57, 0xbe, 0x54, 0x18, 0x21, 0x33, 0x9b, 0x85, 0xf7)] -interface ID3D12Device(ID3D12DeviceVtbl): ID3D12Object(ID3D12ObjectVtbl) { - fn GetNodeCount() -> UINT, - fn CreateCommandQueue( - pDesc: *const D3D12_COMMAND_QUEUE_DESC, - riid: REFGUID, - ppCommandQueue: *mut *mut c_void, - ) -> HRESULT, - fn CreateCommandAllocator( - type_: D3D12_COMMAND_LIST_TYPE, - riid: REFGUID, - ppCommandAllocator: *mut *mut c_void, - ) -> HRESULT, - fn CreateGraphicsPipelineState( - pDesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC, - riid: REFGUID, - ppPipelineState: *mut *mut c_void, - ) -> HRESULT, - fn CreateComputePipelineState( - pDesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC, - riid: REFGUID, - ppPipelineState: *mut *mut c_void, - ) -> HRESULT, - fn CreateCommandList( - nodeMask: UINT, - type_: D3D12_COMMAND_LIST_TYPE, - pCommandAllocator: *mut ID3D12CommandAllocator, - pInitialState: *mut ID3D12PipelineState, - riid: REFGUID, - ppCommandList: *mut *mut c_void, - ) -> HRESULT, - fn CheckFeatureSupport( - Feature: D3D12_FEATURE, - pFeatureSupportData: *mut c_void, - FeatureSupportDataSize: UINT, - ) -> HRESULT, - fn CreateDescriptorHeap( - pDescriptorHeapDesc: *const D3D12_DESCRIPTOR_HEAP_DESC, - riid: REFGUID, - ppvHeap: *mut *mut c_void, - ) -> HRESULT, - fn GetDescriptorHandleIncrementSize( - DescriptorHeapType: D3D12_DESCRIPTOR_HEAP_TYPE, - ) -> UINT, - fn CreateRootSignature( - nodeMask: UINT, - pBlobWithRootSignature: *const c_void, - blobLengthInBytes: SIZE_T, - riid: REFGUID, - ppvRootSignature: *mut *mut c_void, - ) -> HRESULT, - fn CreateConstantBufferView( - pDesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, - DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE, - ) -> (), - fn CreateShaderResourceView( - pResource: *mut ID3D12Resource, - pDesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, - DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE, - ) -> (), - fn CreateUnorderedAccessView( - pResource: *mut ID3D12Resource, - pCounterResource: *mut ID3D12Resource, - pDesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, - DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE, - ) -> (), - fn CreateRenderTargetView( - pResource: *mut ID3D12Resource, - pDesc: *const D3D12_RENDER_TARGET_VIEW_DESC, - DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE, - ) -> (), - fn CreateDepthStencilView( - pResource: *mut ID3D12Resource, - pDesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, - DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE, - ) -> (), - fn CreateSampler( - pDesc: *const D3D12_SAMPLER_DESC, - DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE, - ) -> (), - fn CopyDescriptors( - NumDestDescriptorRanges: UINT, - pDestDescriptorRangeStarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, - pDestDescriptorRangeSizes: *const UINT, - NumSrcDescriptorRanges: UINT, - pSrcDescriptorRangeStarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, - pSrcDescriptorRangeSizes: *const UINT, - DescriptorHeapsType: D3D12_DESCRIPTOR_HEAP_TYPE, - ) -> (), - fn CopyDescriptorsSimple( - NumDescriptors: UINT, - DestDescriptorRangeStart: D3D12_CPU_DESCRIPTOR_HANDLE, - SrcDescriptorRangeStart: D3D12_CPU_DESCRIPTOR_HANDLE, - DescriptorHeapsType: D3D12_DESCRIPTOR_HEAP_TYPE, - ) -> (), - #[fixme] fn GetResourceAllocationInfo( - visibleMask: UINT, - numResourceDescs: UINT, - pResourceDescs: *const D3D12_RESOURCE_DESC, - ) -> D3D12_RESOURCE_ALLOCATION_INFO, - #[fixme] fn GetCustomHeapProperties( - nodeMask: UINT, - heapType: D3D12_HEAP_TYPE, - ) -> D3D12_HEAP_PROPERTIES, - fn CreateCommittedResource( - pHeapProperties: *const D3D12_HEAP_PROPERTIES, - HeapFlags: D3D12_HEAP_FLAGS, - pResourceDesc: *const D3D12_RESOURCE_DESC, - InitialResourceState: D3D12_RESOURCE_STATES, - pOptimizedClearValue: *const D3D12_CLEAR_VALUE, - riidResource: REFGUID, - ppvResource: *mut *mut c_void, - ) -> HRESULT, - fn CreateHeap( - pDesc: *const D3D12_HEAP_DESC, - riid: REFGUID, - ppvHeap: *mut *mut c_void, - ) -> HRESULT, - fn CreatePlacedResource( - pHeap: *mut ID3D12Heap, - HeapOffset: UINT64, - pDesc: *const D3D12_RESOURCE_DESC, - InitialState: D3D12_RESOURCE_STATES, - pOptimizedClearValue: *const D3D12_CLEAR_VALUE, - riid: REFGUID, - ppvResource: *mut *mut c_void, - ) -> HRESULT, - fn CreateReservedResource( - pDesc: *const D3D12_RESOURCE_DESC, - InitialState: D3D12_RESOURCE_STATES, - pOptimizedClearValue: *const D3D12_CLEAR_VALUE, - riid: REFGUID, - ppvResource: *mut *mut c_void, - ) -> HRESULT, - fn CreateSharedHandle( - pObject: *mut ID3D12DeviceChild, - pAttributes: *const SECURITY_ATTRIBUTES, - Access: DWORD, - Name: LPCWSTR, - pHandle: *mut HANDLE, - ) -> HRESULT, - fn OpenSharedHandle( - NTHandle: HANDLE, - riid: REFGUID, - ppvObj: *mut *mut c_void, - ) -> HRESULT, - fn OpenSharedHandleByName( - Name: LPCWSTR, - Access: DWORD, - pNTHandle: *mut HANDLE, - ) -> HRESULT, - fn MakeResident( - NumObjects: UINT, - ppObjects: *mut *mut ID3D12Pageable, - ) -> HRESULT, - fn Evict( - NumObjects: UINT, - ppObjects: *mut *mut ID3D12Pageable, - ) -> HRESULT, - fn CreateFence( - InitialValue: UINT64, - Flags: D3D12_FENCE_FLAGS, - riid: REFGUID, - ppFence: *mut *mut c_void, - ) -> HRESULT, - fn GetDeviceRemovedReason() -> HRESULT, - fn GetCopyableFootprints( - pResourceDesc: *const D3D12_RESOURCE_DESC, - FirstSubresource: UINT, - NumSubresources: UINT, - BaseOffset: UINT64, - pLayouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, - pNumRows: *mut UINT, - pRowSizeInBytes: *mut UINT64, - pTotalBytes: *mut UINT64, - ) -> (), - fn CreateQueryHeap( - pDesc: *const D3D12_QUERY_HEAP_DESC, - riid: REFGUID, - ppvHeap: *mut *mut c_void, - ) -> HRESULT, - fn SetStablePowerState( - Enable: BOOL, - ) -> HRESULT, - fn CreateCommandSignature( - pDesc: *const D3D12_COMMAND_SIGNATURE_DESC, - pRootSignature: *mut ID3D12RootSignature, - riid: REFGUID, - ppvCommandSignature: *mut *mut c_void, - ) -> HRESULT, - fn GetResourceTiling( - pTiledResource: *mut ID3D12Resource, - pNumTilesForEntireResource: *mut UINT, - pPackedMipDesc: *mut D3D12_PACKED_MIP_INFO, - pStandardTileShapeForNonPackedMips: *mut D3D12_TILE_SHAPE, - pNumSubresourceTilings: *mut UINT, - FirstSubresourceTilingToGet: UINT, - pSubresourceTilingsForNonPackedMips: *mut D3D12_SUBRESOURCE_TILING, - ) -> (), - #[fixme] fn GetAdapterLuid() -> LUID, -}} -RIDL!{#[uuid(0xc64226a8, 0x9201, 0x46af, 0xb4, 0xcc, 0x53, 0xfb, 0x9f, 0xf7, 0x41, 0x4f)] -interface ID3D12PipelineLibrary(ID3D12PipelineLibraryVtbl): - ID3D12DeviceChild(ID3D12DeviceChildVtbl) { - fn StorePipeline( - pName: LPCWSTR, - pPipeline: *mut ID3D12PipelineState, - ) -> HRESULT, - fn LoadGraphicsPipeline( - pName: LPCWSTR, - pDesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC, - riid: REFIID, - ppPipelineState: *mut *mut c_void, - ) -> HRESULT, - fn LoadComputePipeline( - pName: LPCWSTR, - pDesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC, - riid: REFIID, - ppPipelineState: *mut *mut c_void, - ) -> HRESULT, - fn GetSerializedSize() -> SIZE_T, - fn Serialize( - pData: *mut c_void, - DataSizeInBytes: SIZE_T, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x80eabf42, 0x2568, 0x4e5e, 0xbd, 0x82, 0xc3, 0x7f, 0x86, 0x96, 0x1d, 0xc3)] -interface ID3D12PipelineLibrary1(ID3D12PipelineLibrary1Vtbl): - ID3D12PipelineLibrary(ID3D12PipelineLibraryVtbl) { - fn LoadPipeline( - pName: LPCWSTR, - pDesc: *const D3D12_PIPELINE_STATE_STREAM_DESC, - riid: REFIID, - ppPipelineState: *mut *mut c_void, - ) -> HRESULT, -}} -ENUM!{enum D3D12_MULTIPLE_FENCE_WAIT_FLAGS { - D3D12_MULTIPLE_FENCE_WAIT_FLAG_NONE = 0, - D3D12_MULTIPLE_FENCE_WAIT_FLAG_ANY = 0x1, - D3D12_MULTIPLE_FENCE_WAIT_FLAG_ALL = 0, -}} -ENUM!{enum D3D12_RESIDENCY_PRIORITY { - D3D12_RESIDENCY_PRIORITY_MINIMUM = 0x28000000, - D3D12_RESIDENCY_PRIORITY_LOW = 0x50000000, - D3D12_RESIDENCY_PRIORITY_NORMAL = 0x78000000, - D3D12_RESIDENCY_PRIORITY_HIGH = 0xa0010000, - D3D12_RESIDENCY_PRIORITY_MAXIMUM = 0xc8000000, -}} -RIDL!{#[uuid(0x77acce80, 0x638e, 0x4e65, 0x88, 0x95, 0xc1, 0xf2, 0x33, 0x86, 0x86, 0x3e)] -interface ID3D12Device1(ID3D12Device1Vtbl): ID3D12Device(ID3D12DeviceVtbl) { - fn CreatePipelineLibrary( - pLibraryBlob: *const c_void, - BlobLength: SIZE_T, - riid: REFIID, - ppPipelineLibrary: *mut *mut c_void, - ) -> HRESULT, - fn SetEventOnMultipleFenceCompletion( - ppFences: *const *mut ID3D12Fence, - pFenceValues: *const UINT64, - NumFences: UINT, - Flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, - hEvent: HANDLE, - ) -> HRESULT, - fn SetResidencyPriority( - NumObjects: UINT, - ppObjects: *const *mut ID3D12Pageable, - pPriorities: *const D3D12_RESIDENCY_PRIORITY, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x30baa41e, 0xb15b, 0x475c, 0xa0, 0xbb, 0x1a, 0xf5, 0xc5, 0xb6, 0x43, 0x28)] -interface ID3D12Device2(ID3D12Device2Vtbl): ID3D12Device1(ID3D12Device1Vtbl) { - fn CreatePipelineState( - pDesc: *const D3D12_PIPELINE_STATE_STREAM_DESC, - riid: REFIID, - ppPipelineState: *mut *mut c_void, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x7071e1f0, 0xe84b, 0x4b33, 0x97, 0x4f, 0x12, 0xfa, 0x49, 0xde, 0x65, 0xc5)] -interface ID3D12Tools(ID3D12ToolsVtbl): IUnknown(IUnknownVtbl) { - fn EnableShaderInstrumentation( - bEnable: BOOL, - ) -> (), - fn ShaderInstrumentationEnabled() -> BOOL, -}} -STRUCT!{struct D3D12_SUBRESOURCE_DATA { - pData: *const c_void, - RowPitch: LONG_PTR, - SlicePitch: LONG_PTR, -}} -STRUCT!{struct D3D12_MEMCPY_DEST { - pData: *mut c_void, - RowPitch: SIZE_T, - SlicePitch: SIZE_T, -}} -FN!{stdcall PFN_D3D12_CREATE_DEVICE( - *mut IUnknown, - D3D_FEATURE_LEVEL, - REFIID, - *mut *mut c_void, -) -> HRESULT} -extern "system" { - pub fn D3D12CreateDevice( - pAdapter: *mut IUnknown, - MinimumFeatureLevel: D3D_FEATURE_LEVEL, - riid: REFGUID, - ppDevice: *mut *mut c_void, - ) -> HRESULT; -} -FN!{stdcall PFN_D3D12_GET_DEBUG_INTERFACE( - REFIID, - *mut *mut c_void, -) -> HRESULT} -extern "system" { - pub fn D3D12GetDebugInterface( - riid: REFGUID, - ppvDebug: *mut *mut c_void, - ) -> HRESULT; - pub fn D3D12EnableExperimentalFeatures( - NumFeatures: UINT, - pIIDs: *const IID, - pConfigurationStructs: *mut c_void, - pConfigurationStructSizes: *mut UINT, - ) -> HRESULT; -} -DEFINE_GUID!{IID_ID3D12Object, - 0xc4fec28f, 0x7966, 0x4e95, 0x9f, 0x94, 0xf4, 0x31, 0xcb, 0x56, 0xc3, 0xb8} -DEFINE_GUID!{IID_ID3D12DeviceChild, - 0x905db94b, 0xa00c, 0x4140, 0x9d, 0xf5, 0x2b, 0x64, 0xca, 0x9e, 0xa3, 0x57} -DEFINE_GUID!{IID_ID3D12RootSignature, - 0xc54a6b66, 0x72df, 0x4ee8, 0x8b, 0xe5, 0xa9, 0x46, 0xa1, 0x42, 0x92, 0x14} -DEFINE_GUID!{IID_ID3D12RootSignatureDeserializer, - 0x34AB647B, 0x3CC8, 0x46AC, 0x84, 0x1B, 0xC0, 0x96, 0x56, 0x45, 0xC0, 0x46} -DEFINE_GUID!{IID_ID3D12VersionedRootSignatureDeserializer, - 0x7F91CE67, 0x090C, 0x4BB7, 0xB7, 0x8E, 0xED, 0x8F, 0xF2, 0xE3, 0x1D, 0xA0} -DEFINE_GUID!{IID_ID3D12Pageable, - 0x63ee58fb, 0x1268, 0x4835, 0x86, 0xda, 0xf0, 0x08, 0xce, 0x62, 0xf0, 0xd6} -DEFINE_GUID!{IID_ID3D12Heap, - 0x6b3b2502, 0x6e51, 0x45b3, 0x90, 0xee, 0x98, 0x84, 0x26, 0x5e, 0x8d, 0xf3} -DEFINE_GUID!{IID_ID3D12Resource, - 0x696442be, 0xa72e, 0x4059, 0xbc, 0x79, 0x5b, 0x5c, 0x98, 0x04, 0x0f, 0xad} -DEFINE_GUID!{IID_ID3D12CommandAllocator, - 0x6102dee4, 0xaf59, 0x4b09, 0xb9, 0x99, 0xb4, 0x4d, 0x73, 0xf0, 0x9b, 0x24} -DEFINE_GUID!{IID_ID3D12Fence, - 0x0a753dcf, 0xc4d8, 0x4b91, 0xad, 0xf6, 0xbe, 0x5a, 0x60, 0xd9, 0x5a, 0x76} -DEFINE_GUID!{IID_ID3D12PipelineState, - 0x765a30f3, 0xf624, 0x4c6f, 0xa8, 0x28, 0xac, 0xe9, 0x48, 0x62, 0x24, 0x45} -DEFINE_GUID!{IID_ID3D12DescriptorHeap, - 0x8efb471d, 0x616c, 0x4f49, 0x90, 0xf7, 0x12, 0x7b, 0xb7, 0x63, 0xfa, 0x51} -DEFINE_GUID!{IID_ID3D12QueryHeap, - 0x0d9658ae, 0xed45, 0x469e, 0xa6, 0x1d, 0x97, 0x0e, 0xc5, 0x83, 0xca, 0xb4} -DEFINE_GUID!{IID_ID3D12CommandSignature, - 0xc36a797c, 0xec80, 0x4f0a, 0x89, 0x85, 0xa7, 0xb2, 0x47, 0x50, 0x82, 0xd1} -DEFINE_GUID!{IID_ID3D12CommandList, - 0x7116d91c, 0xe7e4, 0x47ce, 0xb8, 0xc6, 0xec, 0x81, 0x68, 0xf4, 0x37, 0xe5} -DEFINE_GUID!{IID_ID3D12GraphicsCommandList, - 0x5b160d0f, 0xac1b, 0x4185, 0x8b, 0xa8, 0xb3, 0xae, 0x42, 0xa5, 0xa4, 0x55} -DEFINE_GUID!{IID_ID3D12GraphicsCommandList1, - 0x553103fb, 0x1fe7, 0x4557, 0xbb, 0x38, 0x94, 0x6d, 0x7d, 0x0e, 0x7c, 0xa7} -DEFINE_GUID!{IID_ID3D12CommandQueue, - 0x0ec870a6, 0x5d7e, 0x4c22, 0x8c, 0xfc, 0x5b, 0xaa, 0xe0, 0x76, 0x16, 0xed} -DEFINE_GUID!{IID_ID3D12Device, - 0x189819f1, 0x1db6, 0x4b57, 0xbe, 0x54, 0x18, 0x21, 0x33, 0x9b, 0x85, 0xf7} -DEFINE_GUID!{IID_ID3D12PipelineLibrary, - 0xc64226a8, 0x9201, 0x46af, 0xb4, 0xcc, 0x53, 0xfb, 0x9f, 0xf7, 0x41, 0x4f} -DEFINE_GUID!{IID_ID3D12PipelineLibrary1, - 0x80eabf42, 0x2568, 0x4e5e, 0xbd, 0x82, 0xc3, 0x7f, 0x86, 0x96, 0x1d, 0xc3} -DEFINE_GUID!{IID_ID3D12Device1, - 0x77acce80, 0x638e, 0x4e65, 0x88, 0x95, 0xc1, 0xf2, 0x33, 0x86, 0x86, 0x3e} -DEFINE_GUID!{IID_ID3D12Device2, - 0x30baa41e, 0xb15b, 0x475c, 0xa0, 0xbb, 0x1a, 0xf5, 0xc5, 0xb6, 0x43, 0x28} -DEFINE_GUID!{IID_ID3D12Tools, - 0x7071e1f0, 0xe84b, 0x4b33, 0x97, 0x4f, 0x12, 0xfa, 0x49, 0xde, 0x65, 0xc5} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3d12sdklayers.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3d12sdklayers.rs deleted file mode 100644 index bb9535ccf..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3d12sdklayers.rs +++ /dev/null @@ -1,1364 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_char, c_void}; -use shared::basetsd::{SIZE_T, UINT64}; -use shared::minwindef::{BOOL, FLOAT, UINT}; -use um::d3d12::ID3D12Resource; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LPCSTR}; -RIDL!{#[uuid(0x344488b7, 0x6846, 0x474b, 0xb9, 0x89, 0xf0, 0x27, 0x44, 0x82, 0x45, 0xe0)] -interface ID3D12Debug(ID3D12DebugVtbl): IUnknown(IUnknownVtbl) { - fn EnableDebugLayer() -> (), -}} -RIDL!{#[uuid(0xaffaa4ca, 0x63fe, 0x4d8e, 0xb8, 0xad, 0x15, 0x90, 0x00, 0xaf, 0x43, 0x04)] -interface ID3D12Debug1(ID3D12Debug1Vtbl): IUnknown(IUnknownVtbl) { - fn EnableDebugLayer() -> (), - fn SetEnableGPUBasedValidation( - Enable: BOOL, - ) -> (), - fn SetEnableSynchronizedCommandQueueValidation( - Enable: BOOL, - ) -> (), -}} -ENUM!{enum D3D12_GPU_BASED_VALIDATION_FLAGS { - D3D12_GPU_BASED_VALIDATION_FLAGS_NONE = 0, - D3D12_GPU_BASED_VALIDATION_FLAGS_DISABLE_STATE_TRACKING = 0x01, -}} -RIDL!{#[uuid(0x93a665c4, 0xa3b2, 0x4e5d, 0xb6, 0x92, 0xa2, 0x6a, 0xe1, 0x4e, 0x33, 0x74)] -interface ID3D12Debug2(ID3D12Debug2Vtbl): IUnknown(IUnknownVtbl) { - fn SetGPUBasedValidationFlags( - Flags: D3D12_GPU_BASED_VALIDATION_FLAGS, - ) -> (), -}} -ENUM!{enum D3D12_RLDO_FLAGS { - D3D12_RLDO_NONE = 0, - D3D12_RLDO_SUMMARY = 0x1, - D3D12_RLDO_DETAIL = 0x2, - D3D12_RLDO_IGNORE_INTERNAL = 0x4, -}} -ENUM!{enum D3D12_DEBUG_DEVICE_PARAMETER_TYPE { - D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS = 0, - D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = 1, - D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR = 2, -}} -ENUM!{enum D3D12_DEBUG_FEATURE { - D3D12_DEBUG_FEATURE_NONE = 0, - D3D12_DEBUG_FEATURE_TREAT_BUNDLE_AS_DRAW = 0x1, - D3D12_DEBUG_FEATURE_TREAT_BUNDLE_AS_DISPATCH = 0x2, - D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION = 0x04, - D3D12_DEBUG_FEATURE_VALID_MASK = 0x7, -}} -ENUM!{enum D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE { - D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = 0, - D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY = 1, - D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION = 2, - D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION = 3, - NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = 4, -}} -ENUM!{enum D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS { - D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE = 0, - D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS - = 0x01, - D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS = 0x02, - D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS = 0x04, - D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS_VALID_MASK = 0x07, -}} -STRUCT!{struct D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS { - MaxMessagesPerCommandList: UINT, - DefaultShaderPatchMode: D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE, - PipelineStateCreateFlags: D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS, -}} -STRUCT!{struct D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR { - SlowdownFactor: FLOAT, -}} -RIDL!{#[uuid(0x3febd6dd, 0x4973, 0x4787, 0x81, 0x94, 0xe4, 0x5f, 0x9e, 0x28, 0x92, 0x3e)] -interface ID3D12DebugDevice1(ID3D12DebugDevice1Vtbl): IUnknown(IUnknownVtbl) { - fn SetDebugParameter( - Type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, - pData: *const c_void, - DataSize: UINT, - ) -> HRESULT, - fn GetDebugParameter( - Type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, - pData: *mut c_void, - DataSize: UINT, - ) -> HRESULT, - fn ReportLiveDeviceObjects( - Flags: D3D12_RLDO_FLAGS, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x3febd6dd, 0x4973, 0x4787, 0x81, 0x94, 0xe4, 0x5f, 0x9e, 0x28, 0x92, 0x3e)] -interface ID3D12DebugDevice(ID3D12DebugDeviceVtbl): IUnknown(IUnknownVtbl) { - fn SetFeatureMask( - Mask: D3D12_DEBUG_FEATURE, - ) -> HRESULT, - fn GetFeatureMask() -> D3D12_DEBUG_FEATURE, - fn ReportLiveDeviceObjects( - Flags: D3D12_RLDO_FLAGS, - ) -> HRESULT, -}} -DEFINE_GUID!{DXGI_DEBUG_D3D12, - 0xcf59a98c, 0xa950, 0x4326, 0x91, 0xef, 0x9b, 0xba, 0xa1, 0x7b, 0xfd, 0x95} -RIDL!{#[uuid(0x09e0bf36, 0x54ac, 0x484f, 0x88, 0x47, 0x4b, 0xae, 0xea, 0xb6, 0x05, 0x3a)] -interface ID3D12DebugCommandQueue(ID3D12DebugCommandQueueVtbl): IUnknown(IUnknownVtbl) { - fn AssertResourceState( - pResource: *mut ID3D12Resource, - Subresource: UINT, - State: UINT, - ) -> BOOL, -}} -ENUM!{enum D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE { - D3D12_DEBUG_COMMAND_LIST_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = 0, -}} -STRUCT!{struct D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS { - ShaderPatchMode: D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE, -}} -RIDL!{#[uuid(0x102ca951, 0x311b, 0x4b01, 0xb1, 0x1f, 0xec, 0xb8, 0x3e, 0x06, 0x1b, 0x37)] -interface ID3D12DebugCommandList1(ID3D12DebugCommandList1Vtbl): IUnknown(IUnknownVtbl) { - fn AssertResourceState( - pResource: *mut ID3D12Resource, - Subresource: UINT, - State: UINT, - ) -> BOOL, - fn SetDebugParameter( - Type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, - pData: *const c_void, - DataSize: UINT, - ) -> HRESULT, - fn GetDebugParameter( - Type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, - pData: *mut c_void, - DataSize: UINT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x09e0bf36, 0x54ac, 0x484f, 0x88, 0x47, 0x4b, 0xae, 0xea, 0xb6, 0x05, 0x3f)] -interface ID3D12DebugCommandList(ID3D12DebugCommandListVtbl): IUnknown(IUnknownVtbl) { - fn AssertResourceState( - pResource: *mut ID3D12Resource, - Subresource: UINT, - State: UINT, - ) -> BOOL, - fn SetFeatureMask( - Mask: D3D12_DEBUG_FEATURE, - ) -> HRESULT, - fn GetFeatureMask() -> D3D12_DEBUG_FEATURE, -}} -ENUM!{enum D3D12_MESSAGE_CATEGORY { - D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED = 0, - D3D12_MESSAGE_CATEGORY_MISCELLANEOUS = 1, - D3D12_MESSAGE_CATEGORY_INITIALIZATION = 2, - D3D12_MESSAGE_CATEGORY_CLEANUP = 3, - D3D12_MESSAGE_CATEGORY_COMPILATION = 4, - D3D12_MESSAGE_CATEGORY_STATE_CREATION = 5, - D3D12_MESSAGE_CATEGORY_STATE_SETTING = 6, - D3D12_MESSAGE_CATEGORY_STATE_GETTING = 7, - D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION = 8, - D3D12_MESSAGE_CATEGORY_EXECUTION = 9, - D3D12_MESSAGE_CATEGORY_SHADER = 10, -}} -ENUM!{enum D3D12_MESSAGE_SEVERITY { - D3D12_MESSAGE_SEVERITY_CORRUPTION = 0, - D3D12_MESSAGE_SEVERITY_ERROR = 1, - D3D12_MESSAGE_SEVERITY_WARNING = 2, - D3D12_MESSAGE_SEVERITY_INFO = 3, - D3D12_MESSAGE_SEVERITY_MESSAGE = 4, -}} -ENUM!{enum D3D12_MESSAGE_ID { - D3D12_MESSAGE_ID_UNKNOWN = 0, - D3D12_MESSAGE_ID_STRING_FROM_APPLICATION = 1, - D3D12_MESSAGE_ID_CORRUPTED_THIS = 2, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER1 = 3, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER2 = 4, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER3 = 5, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER4 = 6, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER5 = 7, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER6 = 8, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER7 = 9, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER8 = 10, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER9 = 11, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER10 = 12, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER11 = 13, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER12 = 14, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER13 = 15, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER14 = 16, - D3D12_MESSAGE_ID_CORRUPTED_PARAMETER15 = 17, - D3D12_MESSAGE_ID_CORRUPTED_MULTITHREADING = 18, - D3D12_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY = 19, - D3D12_MESSAGE_ID_GETPRIVATEDATA_MOREDATA = 20, - D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA = 21, - D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDIUNKNOWN = 22, - D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFLAGS = 23, - D3D12_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS = 24, - D3D12_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY = 25, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT = 26, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC = 27, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT = 28, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANESLICE = 29, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANESLICE = 30, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS = 31, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE = 32, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDARG_RETURN = 33, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_OUTOFMEMORY_RETURN = 34, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT = 35, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT = 36, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC = 37, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT = 38, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANESLICE = 39, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANESLICE = 40, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS = 41, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE = 42, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDARG_RETURN = 43, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_OUTOFMEMORY_RETURN = 44, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT = 45, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC = 46, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT = 47, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS = 48, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE = 49, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDARG_RETURN = 50, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_OUTOFMEMORY_RETURN = 51, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY = 52, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS = 53, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT = 54, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT = 55, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT = 56, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS = 57, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH = 58, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE = 59, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE = 60, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT = 61, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC = 62, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE = 63, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC = 64, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT = 65, - D3D12_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY = 66, - D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE = 67, - D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE = 68, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY = 69, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE = 70, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE = 71, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY = 72, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE = 73, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 74, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES = 75, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED = 76, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDDECL = 77, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_EXPECTEDDECL = 78, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED = 79, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT = 80, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT = 81, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT = 82, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT - = 83, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION = 84, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT = 85, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE = 86, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC = 87, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH = 88, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS = 89, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX = 90, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE = 91, - D3D12_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY = 92, - D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE = 93, - D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE = 94, - D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE = 95, - D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE = 96, - D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP = 97, - D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS = 98, - D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_NULLDESC = 99, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK = 100, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC = 101, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP = 102, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP = 103, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP = 104, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC = 105, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP = 106, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP = 107, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP = 108, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC = 109, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_NULLDESC = 110, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND = 111, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND = 112, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP = 113, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA = 114, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA = 115, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA = 116, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK = 117, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_NULLDESC = 118, - D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDFILTER = 119, - D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSU = 120, - D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSV = 121, - D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSW = 122, - D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMIPLODBIAS = 123, - D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXANISOTROPY = 124, - D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDCOMPARISONFUNC = 125, - D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMINLOD = 126, - D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXLOD = 127, - D3D12_MESSAGE_ID_CREATESAMPLERSTATE_NULLDESC = 128, - D3D12_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNRECOGNIZED = 129, - D3D12_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNDEFINED = 130, - D3D12_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_INVALIDVIEWPORT = 131, - D3D12_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_INVALIDSCISSOR = 132, - D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_DENORMFLUSH = 133, - D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DENORMFLUSH = 134, - D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID = 135, - D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCE = 136, - D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDESTINATIONSTATE = 137, - D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCESTATE = 138, - D3D12_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSUBRESOURCE = 139, - D3D12_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONBOX = 140, - D3D12_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSTATE = 141, - D3D12_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_INVALID = 142, - D3D12_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_SUBRESOURCE_INVALID = 143, - D3D12_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_INVALID = 144, - D3D12_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_SUBRESOURCE_INVALID = 145, - D3D12_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_FORMAT_INVALID = 146, - D3D12_MESSAGE_ID_BUFFER_MAP_INVALIDMAPTYPE = 147, - D3D12_MESSAGE_ID_BUFFER_MAP_INVALIDFLAGS = 148, - D3D12_MESSAGE_ID_BUFFER_MAP_ALREADYMAPPED = 149, - D3D12_MESSAGE_ID_BUFFER_MAP_DEVICEREMOVED_RETURN = 150, - D3D12_MESSAGE_ID_BUFFER_UNMAP_NOTMAPPED = 151, - D3D12_MESSAGE_ID_TEXTURE1D_MAP_INVALIDMAPTYPE = 152, - D3D12_MESSAGE_ID_TEXTURE1D_MAP_INVALIDSUBRESOURCE = 153, - D3D12_MESSAGE_ID_TEXTURE1D_MAP_INVALIDFLAGS = 154, - D3D12_MESSAGE_ID_TEXTURE1D_MAP_ALREADYMAPPED = 155, - D3D12_MESSAGE_ID_TEXTURE1D_MAP_DEVICEREMOVED_RETURN = 156, - D3D12_MESSAGE_ID_TEXTURE1D_UNMAP_INVALIDSUBRESOURCE = 157, - D3D12_MESSAGE_ID_TEXTURE1D_UNMAP_NOTMAPPED = 158, - D3D12_MESSAGE_ID_TEXTURE2D_MAP_INVALIDMAPTYPE = 159, - D3D12_MESSAGE_ID_TEXTURE2D_MAP_INVALIDSUBRESOURCE = 160, - D3D12_MESSAGE_ID_TEXTURE2D_MAP_INVALIDFLAGS = 161, - D3D12_MESSAGE_ID_TEXTURE2D_MAP_ALREADYMAPPED = 162, - D3D12_MESSAGE_ID_TEXTURE2D_MAP_DEVICEREMOVED_RETURN = 163, - D3D12_MESSAGE_ID_TEXTURE2D_UNMAP_INVALIDSUBRESOURCE = 164, - D3D12_MESSAGE_ID_TEXTURE2D_UNMAP_NOTMAPPED = 165, - D3D12_MESSAGE_ID_TEXTURE3D_MAP_INVALIDMAPTYPE = 166, - D3D12_MESSAGE_ID_TEXTURE3D_MAP_INVALIDSUBRESOURCE = 167, - D3D12_MESSAGE_ID_TEXTURE3D_MAP_INVALIDFLAGS = 168, - D3D12_MESSAGE_ID_TEXTURE3D_MAP_ALREADYMAPPED = 169, - D3D12_MESSAGE_ID_TEXTURE3D_MAP_DEVICEREMOVED_RETURN = 170, - D3D12_MESSAGE_ID_TEXTURE3D_UNMAP_INVALIDSUBRESOURCE = 171, - D3D12_MESSAGE_ID_TEXTURE3D_UNMAP_NOTMAPPED = 172, - D3D12_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_DEPRECATED = 173, - D3D12_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_FORMAT_DEPRECATED = 174, - D3D12_MESSAGE_ID_SETEXCEPTIONMODE_UNRECOGNIZEDFLAGS = 175, - D3D12_MESSAGE_ID_SETEXCEPTIONMODE_INVALIDARG_RETURN = 176, - D3D12_MESSAGE_ID_SETEXCEPTIONMODE_DEVICEREMOVED_RETURN = 177, - D3D12_MESSAGE_ID_REF_SIMULATING_INFINITELY_FAST_HARDWARE = 178, - D3D12_MESSAGE_ID_REF_THREADING_MODE = 179, - D3D12_MESSAGE_ID_REF_UMDRIVER_EXCEPTION = 180, - D3D12_MESSAGE_ID_REF_KMDRIVER_EXCEPTION = 181, - D3D12_MESSAGE_ID_REF_HARDWARE_EXCEPTION = 182, - D3D12_MESSAGE_ID_REF_ACCESSING_INDEXABLE_TEMP_OUT_OF_RANGE = 183, - D3D12_MESSAGE_ID_REF_PROBLEM_PARSING_SHADER = 184, - D3D12_MESSAGE_ID_REF_OUT_OF_MEMORY = 185, - D3D12_MESSAGE_ID_REF_INFO = 186, - D3D12_MESSAGE_ID_DEVICE_DRAW_VERTEXPOS_OVERFLOW = 187, - D3D12_MESSAGE_ID_DEVICE_DRAWINDEXED_INDEXPOS_OVERFLOW = 188, - D3D12_MESSAGE_ID_DEVICE_DRAWINSTANCED_VERTEXPOS_OVERFLOW = 189, - D3D12_MESSAGE_ID_DEVICE_DRAWINSTANCED_INSTANCEPOS_OVERFLOW = 190, - D3D12_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INSTANCEPOS_OVERFLOW = 191, - D3D12_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INDEXPOS_OVERFLOW = 192, - D3D12_MESSAGE_ID_DEVICE_DRAW_VERTEX_SHADER_NOT_SET = 193, - D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND = 194, - D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERINDEX = 195, - D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_COMPONENTTYPE = 196, - D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERMASK = 197, - D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SYSTEMVALUE = 198, - D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS = 199, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET = 200, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH = 201, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET = 202, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INPUTLAYOUT_NOT_SET = 203, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_CONSTANT_BUFFER_NOT_SET = 204, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_CONSTANT_BUFFER_TOO_SMALL = 205, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_SAMPLER_NOT_SET = 206, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_SHADERRESOURCEVIEW_NOT_SET = 207, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VIEW_DIMENSION_MISMATCH = 208, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL = 209, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_TOO_SMALL = 210, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_NOT_SET = 211, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_FORMAT_INVALID = 212, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_TOO_SMALL = 213, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_GS_INPUT_PRIMITIVE_MISMATCH = 214, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RESOURCE_RETURN_TYPE_MISMATCH = 215, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_POSITION_NOT_PRESENT = 216, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_OUTPUT_STREAM_NOT_SET = 217, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_BOUND_RESOURCE_MAPPED = 218, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INVALID_PRIMITIVETOPOLOGY = 219, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_OFFSET_UNALIGNED = 220, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_STRIDE_UNALIGNED = 221, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_OFFSET_UNALIGNED = 222, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_OUTPUT_STREAM_OFFSET_UNALIGNED = 223, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RESOURCE_FORMAT_LD_UNSUPPORTED = 224, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RESOURCE_FORMAT_SAMPLE_UNSUPPORTED = 225, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RESOURCE_FORMAT_SAMPLE_C_UNSUPPORTED = 226, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RESOURCE_MULTISAMPLE_UNSUPPORTED = 227, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_SO_TARGETS_BOUND_WITHOUT_SOURCE = 228, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_SO_STRIDE_LARGER_THAN_BUFFER = 229, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING = 230, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 = 231, - D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT = 232, - D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT = 233, - D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT = 234, - D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_INVALIDARG_RETURN = 235, - D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_OUTOFMEMORY_RETURN = 236, - D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BADINTERFACE_RETURN = 237, - D3D12_MESSAGE_ID_DEVICE_DRAW_VIEWPORT_NOT_SET = 238, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC = 239, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC = 240, - D3D12_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_DENORMFLUSH = 241, - D3D12_MESSAGE_ID_OMSETRENDERTARGETS_INVALIDVIEW = 242, - D3D12_MESSAGE_ID_DEVICE_SETTEXTFILTERSIZE_INVALIDDIMENSIONS = 243, - D3D12_MESSAGE_ID_DEVICE_DRAW_SAMPLER_MISMATCH = 244, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH = 245, - D3D12_MESSAGE_ID_BLENDSTATE_GETDESC_LEGACY = 246, - D3D12_MESSAGE_ID_SHADERRESOURCEVIEW_GETDESC_LEGACY = 247, - D3D12_MESSAGE_ID_DEVICE_DRAW_PS_OUTPUT_TYPE_MISMATCH = 248, - D3D12_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_GATHER_UNSUPPORTED = 249, - D3D12_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN = 250, - D3D12_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_STRIDE_TOO_LARGE = 251, - D3D12_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_INVALIDRANGE = 252, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT = 253, - D3D12_MESSAGE_ID_DEVICE_DRAW_RESOURCE_SAMPLE_COUNT_MISMATCH = 254, - D3D12_MESSAGE_ID_LIVE_OBJECT_SUMMARY = 255, - D3D12_MESSAGE_ID_LIVE_BUFFER = 256, - D3D12_MESSAGE_ID_LIVE_TEXTURE1D = 257, - D3D12_MESSAGE_ID_LIVE_TEXTURE2D = 258, - D3D12_MESSAGE_ID_LIVE_TEXTURE3D = 259, - D3D12_MESSAGE_ID_LIVE_SHADERRESOURCEVIEW = 260, - D3D12_MESSAGE_ID_LIVE_RENDERTARGETVIEW = 261, - D3D12_MESSAGE_ID_LIVE_DEPTHSTENCILVIEW = 262, - D3D12_MESSAGE_ID_LIVE_VERTEXSHADER = 263, - D3D12_MESSAGE_ID_LIVE_GEOMETRYSHADER = 264, - D3D12_MESSAGE_ID_LIVE_PIXELSHADER = 265, - D3D12_MESSAGE_ID_LIVE_INPUTLAYOUT = 266, - D3D12_MESSAGE_ID_LIVE_SAMPLER = 267, - D3D12_MESSAGE_ID_LIVE_BLENDSTATE = 268, - D3D12_MESSAGE_ID_LIVE_DEPTHSTENCILSTATE = 269, - D3D12_MESSAGE_ID_LIVE_RASTERIZERSTATE = 270, - D3D12_MESSAGE_ID_LIVE_QUERY = 271, - D3D12_MESSAGE_ID_LIVE_PREDICATE = 272, - D3D12_MESSAGE_ID_LIVE_COUNTER = 273, - D3D12_MESSAGE_ID_LIVE_DEVICE = 274, - D3D12_MESSAGE_ID_LIVE_SWAPCHAIN = 275, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS = 276, - D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE = 277, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE = 278, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTREAMS = 279, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER = 280, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTREAMS = 281, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCLASSLINKAGE = 282, - D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE = 283, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM = 284, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES = 285, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES = 286, - D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES = 287, - D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCALL = 288, - D3D12_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY = 289, - D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE = 290, - D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE = 291, - D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE = 292, - D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCALL = 293, - D3D12_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY = 294, - D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE = 295, - D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE = 296, - D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE = 297, - D3D12_MESSAGE_ID_DEVICE_DRAW_HS_XOR_DS_MISMATCH = 298, - D3D12_MESSAGE_ID_DEVICE_DRAWINDIRECT_INVALID_ARG_BUFFER = 299, - D3D12_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_UNALIGNED = 300, - D3D12_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_OVERFLOW = 301, - D3D12_MESSAGE_ID_RESOURCE_MAP_INVALIDMAPTYPE = 302, - D3D12_MESSAGE_ID_RESOURCE_MAP_INVALIDSUBRESOURCE = 303, - D3D12_MESSAGE_ID_RESOURCE_MAP_INVALIDFLAGS = 304, - D3D12_MESSAGE_ID_RESOURCE_MAP_ALREADYMAPPED = 305, - D3D12_MESSAGE_ID_RESOURCE_MAP_DEVICEREMOVED_RETURN = 306, - D3D12_MESSAGE_ID_RESOURCE_MAP_OUTOFMEMORY_RETURN = 307, - D3D12_MESSAGE_ID_RESOURCE_MAP_WITHOUT_INITIAL_DISCARD = 308, - D3D12_MESSAGE_ID_RESOURCE_UNMAP_INVALIDSUBRESOURCE = 309, - D3D12_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED = 310, - D3D12_MESSAGE_ID_DEVICE_DRAW_RASTERIZING_CONTROL_POINTS = 311, - D3D12_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNSUPPORTED = 312, - D3D12_MESSAGE_ID_DEVICE_DRAW_HS_DS_SIGNATURE_MISMATCH = 313, - D3D12_MESSAGE_ID_DEVICE_DRAW_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH = 314, - D3D12_MESSAGE_ID_DEVICE_DRAW_HS_DS_CONTROL_POINT_COUNT_MISMATCH = 315, - D3D12_MESSAGE_ID_DEVICE_DRAW_HS_DS_TESSELLATOR_DOMAIN_MISMATCH = 316, - D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_UNRECOGNIZED_FEATURE = 317, - D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE = 318, - D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_INVALIDARG_RETURN = 319, - D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCALL = 320, - D3D12_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY = 321, - D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE = 322, - D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE = 323, - D3D12_MESSAGE_ID_DEVICE_CSSETSHADERRESOURCES_VIEWS_EMPTY = 324, - D3D12_MESSAGE_ID_CSSETCONSTANTBUFFERS_INVALIDBUFFER = 325, - D3D12_MESSAGE_ID_DEVICE_CSSETCONSTANTBUFFERS_BUFFERS_EMPTY = 326, - D3D12_MESSAGE_ID_DEVICE_CSSETSAMPLERS_SAMPLERS_EMPTY = 327, - D3D12_MESSAGE_ID_DEVICE_CSGETSHADERRESOURCES_VIEWS_EMPTY = 328, - D3D12_MESSAGE_ID_DEVICE_CSGETCONSTANTBUFFERS_BUFFERS_EMPTY = 329, - D3D12_MESSAGE_ID_DEVICE_CSGETSAMPLERS_SAMPLERS_EMPTY = 330, - D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 331, - D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 332, - D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 333, - D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 334, - D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED = 335, - D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 336, - D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED = 337, - D3D12_MESSAGE_ID_CREATEBUFFER_INVALIDSTRUCTURESTRIDE = 338, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFLAGS = 339, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE = 340, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC = 341, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT = 342, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANESLICE = 343, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE = 344, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS = 345, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT = 346, - D3D12_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_OVERLAPPING_OLD_SLOTS = 347, - D3D12_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_NO_OP = 348, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDARG_RETURN = 349, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_OUTOFMEMORY_RETURN = 350, - D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_DENORMFLUSH = 351, - D3D12_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSS_VIEWS_EMPTY = 352, - D3D12_MESSAGE_ID_DEVICE_CSGETUNORDEREDACCESSS_VIEWS_EMPTY = 353, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS = 354, - D3D12_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_INVALID_ARG_BUFFER = 355, - D3D12_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_UNALIGNED = 356, - D3D12_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_OVERFLOW = 357, - D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DEPTH_READONLY = 358, - D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_STENCIL_READONLY = 359, - D3D12_MESSAGE_ID_CHECKFEATURESUPPORT_FORMAT_DEPRECATED = 360, - D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RETURN_TYPE_MISMATCH = 361, - D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET = 362, - D3D12_MESSAGE_ID_DEVICE_DRAW_UNORDEREDACCESSVIEW_RENDERTARGETVIEW_OVERLAP = 363, - D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_DIMENSION_MISMATCH = 364, - D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_APPEND_UNSUPPORTED = 365, - D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMICS_UNSUPPORTED = 366, - D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_STRUCTURE_STRIDE_MISMATCH = 367, - D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_BUFFER_TYPE_MISMATCH = 368, - D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RAW_UNSUPPORTED = 369, - D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_LD_UNSUPPORTED = 370, - D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_STORE_UNSUPPORTED = 371, - D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_ADD_UNSUPPORTED = 372, - D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_BITWISE_OPS_UNSUPPORTED = 373, - D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_CMPSTORE_CMPEXCHANGE_UNSUPPORTED = 374, - D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_EXCHANGE_UNSUPPORTED = 375, - D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_SIGNED_MINMAX_UNSUPPORTED = 376, - D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_UNSIGNED_MINMAX_UNSUPPORTED = 377, - D3D12_MESSAGE_ID_DEVICE_DISPATCH_BOUND_RESOURCE_MAPPED = 378, - D3D12_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_OVERFLOW = 379, - D3D12_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_ZERO = 380, - D3D12_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_STRUCTURE_STRIDE_MISMATCH = 381, - D3D12_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_BUFFER_TYPE_MISMATCH = 382, - D3D12_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_RAW_UNSUPPORTED = 383, - D3D12_MESSAGE_ID_DEVICE_DISPATCH_UNSUPPORTED = 384, - D3D12_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_UNSUPPORTED = 385, - D3D12_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDOFFSET = 386, - D3D12_MESSAGE_ID_COPYSTRUCTURECOUNT_LARGEOFFSET = 387, - D3D12_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDDESTINATIONSTATE = 388, - D3D12_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDSOURCESTATE = 389, - D3D12_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_NOT_SUPPORTED = 390, - D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWFLOAT_INVALIDFORMAT = 391, - D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_COUNTER_UNSUPPORTED = 392, - D3D12_MESSAGE_ID_DEVICE_DRAW_PIXEL_SHADER_WITHOUT_RTV_OR_DSV = 393, - D3D12_MESSAGE_ID_SHADER_ABORT = 394, - D3D12_MESSAGE_ID_SHADER_MESSAGE = 395, - D3D12_MESSAGE_ID_SHADER_ERROR = 396, - D3D12_MESSAGE_ID_OFFERRESOURCES_INVALIDRESOURCE = 397, - D3D12_MESSAGE_ID_ENQUEUESETEVENT_INVALIDARG_RETURN = 398, - D3D12_MESSAGE_ID_ENQUEUESETEVENT_OUTOFMEMORY_RETURN = 399, - D3D12_MESSAGE_ID_ENQUEUESETEVENT_ACCESSDENIED_RETURN = 400, - D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT = 401, - D3D12_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_FORCED_SAMPLE_COUNT = 402, - D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS = 403, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDARRAYWITHDECODER = 404, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDARRAYWITHDECODER = 405, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDARRAYWITHDECODER = 406, - D3D12_MESSAGE_ID_DEVICE_LOCKEDOUT_INTERFACE = 407, - D3D12_MESSAGE_ID_OFFERRESOURCES_INVALIDPRIORITY = 408, - D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDVIEW = 409, - D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 410, - D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_SHADEREXTENSIONSNOTSUPPORTED = 411, - D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 412, - D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_SHADEREXTENSIONSNOTSUPPORTED = 413, - D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 414, - D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_SHADEREXTENSIONSNOTSUPPORTED = 415, - D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 416, - D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_SHADEREXTENSIONSNOTSUPPORTED = 417, - D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED - = 418, - D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_SHADEREXTENSIONSNOTSUPPORTED - = 419, - D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 420, - D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_SHADEREXTENSIONSNOTSUPPORTED = 421, - D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 422, - D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_SHADEREXTENSIONSNOTSUPPORTED = 423, - D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_MINPRECISION = 424, - D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED = 425, - D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED = 426, - D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED = 427, - D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED = 428, - D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED = 429, - D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED = 430, - D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED = 431, - D3D12_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_INVALIDOFFSET = 432, - D3D12_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_TOOMANYVIEWS = 433, - D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_NOTSUPPORTED = 434, - D3D12_MESSAGE_ID_SWAPDEVICECONTEXTSTATE_NOTSUPPORTED = 435, - D3D12_MESSAGE_ID_UPDATESUBRESOURCE_PREFERUPDATESUBRESOURCE1 = 436, - D3D12_MESSAGE_ID_GETDC_INACCESSIBLE = 437, - D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDRECT = 438, - D3D12_MESSAGE_ID_DEVICE_DRAW_SAMPLE_MASK_IGNORED_ON_FL9 = 439, - D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE1_NOT_SUPPORTED = 440, - D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BY_NAME_NOT_SUPPORTED = 441, - D3D12_MESSAGE_ID_ENQUEUESETEVENT_NOT_SUPPORTED = 442, - D3D12_MESSAGE_ID_OFFERRELEASE_NOT_SUPPORTED = 443, - D3D12_MESSAGE_ID_OFFERRESOURCES_INACCESSIBLE = 444, - D3D12_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDMSAA = 445, - D3D12_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDMSAA = 446, - D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT = 447, - D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT = 448, - D3D12_MESSAGE_ID_UPDATESUBRESOURCE_EMPTYDESTBOX = 449, - D3D12_MESSAGE_ID_COPYSUBRESOURCEREGION_EMPTYSOURCEBOX = 450, - D3D12_MESSAGE_ID_DEVICE_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS = 451, - D3D12_MESSAGE_ID_DEVICE_DRAW_DEPTHSTENCILVIEW_NOT_SET = 452, - D3D12_MESSAGE_ID_DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET = 453, - D3D12_MESSAGE_ID_DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET_DUE_TO_FLIP_PRESENT = 454, - D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET_DUE_TO_FLIP_PRESENT = 455, - D3D12_MESSAGE_ID_GETDATAFORNEWHARDWAREKEY_NULLPARAM = 456, - D3D12_MESSAGE_ID_CHECKCRYPTOSESSIONSTATUS_NULLPARAM = 457, - D3D12_MESSAGE_ID_SETEVENTONHARDWARECONTENTPROTECTIONTILT_NULLPARAM = 458, - D3D12_MESSAGE_ID_GETVIDEODECODERCAPS_NULLPARAM = 459, - D3D12_MESSAGE_ID_GETVIDEODECODERCAPS_ZEROWIDTHHEIGHT = 460, - D3D12_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_NULLPARAM = 461, - D3D12_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_INVALIDCOLORSPACE = 462, - D3D12_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_ZEROWIDTHHEIGHT = 463, - D3D12_MESSAGE_ID_VIDEODECODERENABLEDOWNSAMPLING_NULLPARAM = 464, - D3D12_MESSAGE_ID_VIDEODECODERENABLEDOWNSAMPLING_UNSUPPORTED = 465, - D3D12_MESSAGE_ID_VIDEODECODERUPDATEDOWNSAMPLING_NULLPARAM = 466, - D3D12_MESSAGE_ID_VIDEODECODERUPDATEDOWNSAMPLING_UNSUPPORTED = 467, - D3D12_MESSAGE_ID_CHECKVIDEOPROCESSORFORMATCONVERSION_NULLPARAM = 468, - D3D12_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCOLORSPACE1_NULLPARAM = 469, - D3D12_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTCOLORSPACE1_NULLPARAM = 470, - D3D12_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE1_NULLPARAM = 471, - D3D12_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE1_INVALIDSTREAM = 472, - D3D12_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_NULLPARAM = 473, - D3D12_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_INVALIDSTREAM = 474, - D3D12_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_UNSUPPORTED = 475, - D3D12_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE1_NULLPARAM = 476, - D3D12_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_NULLPARAM = 477, - D3D12_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_NULLPARAM = 478, - D3D12_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_INVALIDCOLORSPACE = 479, - D3D12_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_ZEROWIDTHHEIGHT = 480, - D3D12_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTSHADERUSAGE_NULLPARAM = 481, - D3D12_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTSHADERUSAGE_NULLPARAM = 482, - D3D12_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_NULLPARAM = 483, - D3D12_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDSTREAMCOUNT = 484, - D3D12_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_TARGETRECT = 485, - D3D12_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDSOURCERECT = 486, - D3D12_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDDESTRECT = 487, - D3D12_MESSAGE_ID_CREATEBUFFER_INVALIDUSAGE = 488, - D3D12_MESSAGE_ID_CREATETEXTURE1D_INVALIDUSAGE = 489, - D3D12_MESSAGE_ID_CREATETEXTURE2D_INVALIDUSAGE = 490, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_LEVEL9_STEPRATE_NOT_1 = 491, - D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_LEVEL9_INSTANCING_NOT_SUPPORTED = 492, - D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER = 493, - D3D12_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER = 494, - D3D12_MESSAGE_ID_COPYTILES_INVALID_PARAMETER = 495, - D3D12_MESSAGE_ID_NULL_TILE_MAPPING_ACCESS_WARNING = 496, - D3D12_MESSAGE_ID_NULL_TILE_MAPPING_ACCESS_ERROR = 497, - D3D12_MESSAGE_ID_DIRTY_TILE_MAPPING_ACCESS = 498, - D3D12_MESSAGE_ID_DUPLICATE_TILE_MAPPINGS_IN_COVERED_AREA = 499, - D3D12_MESSAGE_ID_TILE_MAPPINGS_IN_COVERED_AREA_DUPLICATED_OUTSIDE = 500, - D3D12_MESSAGE_ID_TILE_MAPPINGS_SHARED_BETWEEN_INCOMPATIBLE_RESOURCES = 501, - D3D12_MESSAGE_ID_TILE_MAPPINGS_SHARED_BETWEEN_INPUT_AND_OUTPUT = 502, - D3D12_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_INVALIDFLAGS = 503, - D3D12_MESSAGE_ID_GETRESOURCETILING_NONTILED_RESOURCE = 504, - D3D12_MESSAGE_ID_NEED_TO_CALL_TILEDRESOURCEBARRIER = 505, - D3D12_MESSAGE_ID_CREATEDEVICE_INVALIDARGS = 506, - D3D12_MESSAGE_ID_CREATEDEVICE_WARNING = 507, - D3D12_MESSAGE_ID_TILED_RESOURCE_TIER_1_BUFFER_TEXTURE_MISMATCH = 508, - D3D12_MESSAGE_ID_CREATE_CRYPTOSESSION = 509, - D3D12_MESSAGE_ID_CREATE_AUTHENTICATEDCHANNEL = 510, - D3D12_MESSAGE_ID_LIVE_CRYPTOSESSION = 511, - D3D12_MESSAGE_ID_LIVE_AUTHENTICATEDCHANNEL = 512, - D3D12_MESSAGE_ID_DESTROY_CRYPTOSESSION = 513, - D3D12_MESSAGE_ID_DESTROY_AUTHENTICATEDCHANNEL = 514, - D3D12_MESSAGE_ID_MAP_INVALID_SUBRESOURCE = 515, - D3D12_MESSAGE_ID_MAP_INVALID_TYPE = 516, - D3D12_MESSAGE_ID_MAP_UNSUPPORTED_TYPE = 517, - D3D12_MESSAGE_ID_UNMAP_INVALID_SUBRESOURCE = 518, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_TYPE = 519, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_NULL_POINTER = 520, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SUBRESOURCE = 521, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_RESERVED_BITS = 522, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISSING_BIND_FLAGS = 523, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_MISC_FLAGS = 524, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_MATCHING_STATES = 525, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINATION = 526, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH = 527, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_RESOURCE = 528, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_SAMPLE_COUNT = 529, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS = 530, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINED_FLAGS = 531, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS_FOR_FORMAT = 532, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SPLIT_BARRIER = 533, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_END = 534, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_BEGIN = 535, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAG = 536, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE = 537, - D3D12_MESSAGE_ID_INVALID_SUBRESOURCE_STATE = 538, - D3D12_MESSAGE_ID_INEFFICIENT_PRESENT = 539, - D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CONTENTION = 540, - D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET = 541, - D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET_BUNDLE = 542, - D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CANNOT_RESET = 543, - D3D12_MESSAGE_ID_COMMAND_LIST_OPEN = 544, - D3D12_MESSAGE_ID_QUERY_STATE_MISMATCH = 545, - D3D12_MESSAGE_ID_INVALID_BUNDLE_API = 546, - D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED = 547, - D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED_WITH_INVALID_RESOURCE = 548, - D3D12_MESSAGE_ID_WRONG_COMMAND_ALLOCATOR_TYPE = 549, - D3D12_MESSAGE_ID_INVALID_INDIRECT_ARGUMENT_BUFFER = 550, - D3D12_MESSAGE_ID_COMPUTE_AND_GRAPHICS_PIPELINE = 551, - D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_SYNC = 552, - D3D12_MESSAGE_ID_COMMAND_LIST_SYNC = 553, - D3D12_MESSAGE_ID_SET_DESCRIPTOR_HEAP_INVALID = 554, - D3D12_MESSAGE_ID_CREATE_QUEUE_IMAGE_NOT_SUPPORTED = 555, - D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_IMAGE_NOT_SUPPORTED = 556, - D3D12_MESSAGE_ID_CREATE_COMMANDQUEUE = 557, - D3D12_MESSAGE_ID_CREATE_COMMANDALLOCATOR = 558, - D3D12_MESSAGE_ID_CREATE_PIPELINESTATE = 559, - D3D12_MESSAGE_ID_CREATE_COMMANDLIST12 = 560, - D3D12_MESSAGE_ID_CREATE_IMAGECOMMANDLIST = 561, - D3D12_MESSAGE_ID_CREATE_RESOURCE = 562, - D3D12_MESSAGE_ID_CREATE_DESCRIPTORHEAP = 563, - D3D12_MESSAGE_ID_CREATE_ROOTSIGNATURE = 564, - D3D12_MESSAGE_ID_CREATE_LIBRARY = 565, - D3D12_MESSAGE_ID_CREATE_HEAP = 566, - D3D12_MESSAGE_ID_CREATE_MONITOREDFENCE = 567, - D3D12_MESSAGE_ID_CREATE_QUERYHEAP = 568, - D3D12_MESSAGE_ID_CREATE_COMMANDSIGNATURE = 569, - D3D12_MESSAGE_ID_LIVE_COMMANDQUEUE = 570, - D3D12_MESSAGE_ID_LIVE_COMMANDALLOCATOR = 571, - D3D12_MESSAGE_ID_LIVE_PIPELINESTATE = 572, - D3D12_MESSAGE_ID_LIVE_COMMANDLIST12 = 573, - D3D12_MESSAGE_ID_LIVE_IMAGECOMMANDLIST = 574, - D3D12_MESSAGE_ID_LIVE_RESOURCE = 575, - D3D12_MESSAGE_ID_LIVE_DESCRIPTORHEAP = 576, - D3D12_MESSAGE_ID_LIVE_ROOTSIGNATURE = 577, - D3D12_MESSAGE_ID_LIVE_LIBRARY = 578, - D3D12_MESSAGE_ID_LIVE_HEAP = 579, - D3D12_MESSAGE_ID_LIVE_MONITOREDFENCE = 580, - D3D12_MESSAGE_ID_LIVE_QUERYHEAP = 581, - D3D12_MESSAGE_ID_LIVE_COMMANDSIGNATURE = 582, - D3D12_MESSAGE_ID_DESTROY_COMMANDQUEUE = 583, - D3D12_MESSAGE_ID_DESTROY_COMMANDALLOCATOR = 584, - D3D12_MESSAGE_ID_DESTROY_PIPELINESTATE = 585, - D3D12_MESSAGE_ID_DESTROY_COMMANDLIST12 = 586, - D3D12_MESSAGE_ID_DESTROY_IMAGECOMMANDLIST = 587, - D3D12_MESSAGE_ID_DESTROY_RESOURCE = 588, - D3D12_MESSAGE_ID_DESTROY_DESCRIPTORHEAP = 589, - D3D12_MESSAGE_ID_DESTROY_ROOTSIGNATURE = 590, - D3D12_MESSAGE_ID_DESTROY_LIBRARY = 591, - D3D12_MESSAGE_ID_DESTROY_HEAP = 592, - D3D12_MESSAGE_ID_DESTROY_MONITOREDFENCE = 593, - D3D12_MESSAGE_ID_DESTROY_QUERYHEAP = 594, - D3D12_MESSAGE_ID_DESTROY_COMMANDSIGNATURE = 595, - D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDHEAPTYPE = 596, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONS = 597, - D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDMISCFLAGS = 598, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMISCFLAGS = 599, - D3D12_MESSAGE_ID_CREATERESOURCE_LARGEALLOCATION = 600, - D3D12_MESSAGE_ID_CREATERESOURCE_SMALLALLOCATION = 601, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDARG_RETURN = 602, - D3D12_MESSAGE_ID_CREATERESOURCE_OUTOFMEMORY_RETURN = 603, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDESC = 604, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDINITIALSTATE = 605, - D3D12_MESSAGE_ID_RESOURCE_HAS_PENDING_INITIAL_DATA = 606, - D3D12_MESSAGE_ID_POSSIBLY_INVALID_SUBRESOURCE_STATE = 607, - D3D12_MESSAGE_ID_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 608, - D3D12_MESSAGE_ID_POSSIBLE_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 609, - D3D12_MESSAGE_ID_BUNDLE_PIPELINE_STATE_MISMATCH = 610, - D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_MISMATCH_PIPELINE_STATE = 611, - D3D12_MESSAGE_ID_RENDER_TARGET_NUMBER_MISMATCH_PIPELINE_STATE = 612, - D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_PIPELINE_STATE = 613, - D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 614, - D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_PIPELINE_STATE = 615, - D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 616, - D3D12_MESSAGE_ID_RENDER_TARGET_NUMBER_MISMATCH_BUNDLE_PIPELINE_STATE = 617, - D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_BUNDLE_PIPELINE_STATE = 618, - D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_BUNDLE_PIPELINE_STATE = 619, - D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_BUNDLE_PIPELINE_STATE = 620, - D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_BUNDLE_PIPELINE_STATE = 621, - D3D12_MESSAGE_ID_CREATESHADER_INVALIDBYTECODE = 622, - D3D12_MESSAGE_ID_CREATEHEAP_NULLDESC = 623, - D3D12_MESSAGE_ID_CREATEHEAP_INVALIDSIZE = 624, - D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDHEAPTYPE = 625, - D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 626, - D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMEMORYPOOL = 627, - D3D12_MESSAGE_ID_CREATEHEAP_INVALIDPROPERTIES = 628, - D3D12_MESSAGE_ID_CREATEHEAP_INVALIDALIGNMENT = 629, - D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMISCFLAGS = 630, - D3D12_MESSAGE_ID_CREATEHEAP_INVALIDMISCFLAGS = 631, - D3D12_MESSAGE_ID_CREATEHEAP_INVALIDARG_RETURN = 632, - D3D12_MESSAGE_ID_CREATEHEAP_OUTOFMEMORY_RETURN = 633, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAPPROPERTIES = 634, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPTYPE = 635, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 636, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDMEMORYPOOL = 637, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPPROPERTIES = 638, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPMISCFLAGS = 639, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPMISCFLAGS = 640, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDARG_RETURN = 641, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_OUTOFMEMORY_RETURN = 642, - D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE = 643, - D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_INVALIDHEAPTYPE = 644, - D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_INVALID_DESC = 645, - D3D12_MESSAGE_ID_INVALID_DESCRIPTOR_HANDLE = 646, - D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE = 647, - D3D12_MESSAGE_ID_DEVICE_DRAW_INVALID_SYSTEMVALUE = 648, - D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE = 649, - D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_DESC = 650, - D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_LARGE_OFFSET = 651, - D3D12_MESSAGE_ID_CREATE_UNORDEREDACCESS_VIEW_INVALID_COUNTER_USAGE = 652, - D3D12_MESSAGE_ID_COPY_DESCRIPTORS_INVALID_RANGES = 653, - D3D12_MESSAGE_ID_COPY_DESCRIPTORS_WRITE_ONLY_DESCRIPTOR = 654, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RTV_FORMAT_NOT_UNKNOWN = 655, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_RENDER_TARGET_COUNT = 656, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VERTEX_SHADER_NOT_SET = 657, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_NOT_SET = 658, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_HS_DS_SIGNATURE_MISMATCH = 659, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERINDEX = 660, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_COMPONENTTYPE = 661, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERMASK = 662, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SYSTEMVALUE = 663, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS = 664, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_MINPRECISION = 665, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND = 666, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_XOR_DS_MISMATCH = 667, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH = 668, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_CONTROL_POINT_COUNT_MISMATCH = 669, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_TESSELLATOR_DOMAIN_MISMATCH = 670, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN = 671, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_FORCED_SAMPLE_COUNT = 672, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_PRIMITIVETOPOLOGY = 673, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SYSTEMVALUE = 674, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 - = 675, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING = 676, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_TYPE_MISMATCH = 677, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS = 678, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDERTARGETVIEW_NOT_SET = 679, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DEPTHSTENCILVIEW_NOT_SET = 680, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_INPUT_PRIMITIVE_MISMATCH = 681, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_POSITION_NOT_PRESENT = 682, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE_FLAGS = 683, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_INDEX_BUFFER_PROPERTIES = 684, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SAMPLE_DESC = 685, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_ROOT_SIGNATURE_MISMATCH = 686, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DS_ROOT_SIGNATURE_MISMATCH = 687, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VS_ROOT_SIGNATURE_MISMATCH = 688, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_ROOT_SIGNATURE_MISMATCH = 689, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_ROOT_SIGNATURE_MISMATCH = 690, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE = 691, - D3D12_MESSAGE_ID_EXECUTE_BUNDLE_OPEN_BUNDLE = 692, - D3D12_MESSAGE_ID_EXECUTE_BUNDLE_DESCRIPTOR_HEAP_MISMATCH = 693, - D3D12_MESSAGE_ID_EXECUTE_BUNDLE_TYPE = 694, - D3D12_MESSAGE_ID_DRAW_EMPTY_SCISSOR_RECTANGLE = 695, - D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_BLOB_NOT_FOUND = 696, - D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_DESERIALIZE_FAILED = 697, - D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_INVALID_CONFIGURATION = 698, - D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_SUPPORTED_ON_DEVICE = 699, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLRESOURCEPROPERTIES = 700, - D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAP = 701, - D3D12_MESSAGE_ID_GETRESOURCEALLOCATIONINFO_INVALIDRDESCS = 702, - D3D12_MESSAGE_ID_MAKERESIDENT_NULLOBJECTARRAY = 703, - D3D12_MESSAGE_ID_MAKERESIDENT_INVALIDOBJECT = 704, - D3D12_MESSAGE_ID_EVICT_NULLOBJECTARRAY = 705, - D3D12_MESSAGE_ID_EVICT_INVALIDOBJECT = 706, - D3D12_MESSAGE_ID_HEAPS_UNSUPPORTED = 707, - D3D12_MESSAGE_ID_SET_DESCRIPTOR_TABLE_INVALID = 708, - D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_INVALID = 709, - D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_BUFFER_VIEW_INVALID = 710, - D3D12_MESSAGE_ID_SET_ROOT_SHADER_RESOURCE_VIEW_INVALID = 711, - D3D12_MESSAGE_ID_SET_ROOT_UNORDERED_ACCESS_VIEW_INVALID = 712, - D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID_DESC = 713, - D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_LARGE_OFFSET = 714, - D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID_DESC = 715, - D3D12_MESSAGE_ID_SET_INDEX_BUFFER_LARGE_OFFSET = 716, - D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID_DESC = 717, - D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDDIMENSIONALITY = 718, - D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDLAYOUT = 719, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONALITY = 720, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT = 721, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMIPLEVELS = 722, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDSAMPLEDESC = 723, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDLAYOUT = 724, - D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID = 725, - D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID = 726, - D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID = 727, - D3D12_MESSAGE_ID_SET_RENDER_TARGETS_INVALID = 728, - D3D12_MESSAGE_ID_CREATEQUERY_HEAP_INVALID_PARAMETERS = 729, - D3D12_MESSAGE_ID_CREATEQUERY_HEAP_JPEG_NOT_SUPPORTED = 730, - D3D12_MESSAGE_ID_BEGIN_END_QUERY_INVALID_PARAMETERS = 731, - D3D12_MESSAGE_ID_CLOSE_COMMAND_LIST_OPEN_QUERY = 732, - D3D12_MESSAGE_ID_RESOLVE_QUERY_DATA_INVALID_PARAMETERS = 733, - D3D12_MESSAGE_ID_SET_PREDICATION_INVALID_PARAMETERS = 734, - D3D12_MESSAGE_ID_TIMESTAMPS_NOT_SUPPORTED = 735, - D3D12_MESSAGE_ID_UNSTABLE_POWER_STATE = 736, - D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDFORMAT = 737, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDFORMAT = 738, - D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDSUBRESOURCERANGE = 739, - D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDBASEOFFSET = 740, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_HEAP = 741, - D3D12_MESSAGE_ID_CREATE_SAMPLER_INVALID = 742, - D3D12_MESSAGE_ID_CREATECOMMANDSIGNATURE_INVALID = 743, - D3D12_MESSAGE_ID_EXECUTE_INDIRECT_INVALID_PARAMETERS = 744, - D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_RESOURCE_DIMENSION = 745, - D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDCONTEXTTYPE = 746, - D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_DECODENOTSUPPORTED = 747, - D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_ENCODENOTSUPPORTED = 748, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANEINDEX = 749, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANEINDEX = 750, - D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_AMBIGUOUSVIDEOPLANEINDEX = 751, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANEINDEX = 752, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANEINDEX = 753, - D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_AMBIGUOUSVIDEOPLANEINDEX = 754, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANEINDEX = 755, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANEINDEX = 756, - D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_AMBIGUOUSVIDEOPLANEINDEX = 757, - D3D12_MESSAGE_ID_JPEGDECODE_INVALIDSCANDATAOFFSET = 758, - D3D12_MESSAGE_ID_JPEGDECODE_NOTSUPPORTED = 759, - D3D12_MESSAGE_ID_JPEGDECODE_DIMENSIONSTOOLARGE = 760, - D3D12_MESSAGE_ID_JPEGDECODE_INVALIDCOMPONENTS = 761, - D3D12_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDCOMPONENTS = 762, - D3D12_MESSAGE_ID_JPEGDECODE_DESTINATIONNOT2D = 763, - D3D12_MESSAGE_ID_JPEGDECODE_TILEDRESOURCESUNSUPPORTED = 764, - D3D12_MESSAGE_ID_JPEGDECODE_GUARDRECTSUNSUPPORTED = 765, - D3D12_MESSAGE_ID_JPEGDECODE_FORMATUNSUPPORTED = 766, - D3D12_MESSAGE_ID_JPEGDECODE_INVALIDSUBRESOURCE = 767, - D3D12_MESSAGE_ID_JPEGDECODE_INVALIDMIPLEVEL = 768, - D3D12_MESSAGE_ID_JPEGDECODE_EMPTYDESTBOX = 769, - D3D12_MESSAGE_ID_JPEGDECODE_DESTBOXNOT2D = 770, - D3D12_MESSAGE_ID_JPEGDECODE_DESTBOXNOTSUB = 771, - D3D12_MESSAGE_ID_JPEGDECODE_DESTBOXESINTERSECT = 772, - D3D12_MESSAGE_ID_JPEGDECODE_XSUBSAMPLEMISMATCH = 773, - D3D12_MESSAGE_ID_JPEGDECODE_YSUBSAMPLEMISMATCH = 774, - D3D12_MESSAGE_ID_JPEGDECODE_XSUBSAMPLEODD = 775, - D3D12_MESSAGE_ID_JPEGDECODE_YSUBSAMPLEODD = 776, - D3D12_MESSAGE_ID_JPEGDECODE_UPSCALEUNSUPPORTED = 777, - D3D12_MESSAGE_ID_JPEGDECODE_TIER4DOWNSCALETOLARGE = 778, - D3D12_MESSAGE_ID_JPEGDECODE_TIER3DOWNSCALEUNSUPPORTED = 779, - D3D12_MESSAGE_ID_JPEGDECODE_CHROMASIZEMISMATCH = 780, - D3D12_MESSAGE_ID_JPEGDECODE_LUMACHROMASIZEMISMATCH = 781, - D3D12_MESSAGE_ID_JPEGDECODE_INVALIDNUMDESTINATIONS = 782, - D3D12_MESSAGE_ID_JPEGDECODE_SUBBOXUNSUPPORTED = 783, - D3D12_MESSAGE_ID_JPEGDECODE_1DESTUNSUPPORTEDFORMAT = 784, - D3D12_MESSAGE_ID_JPEGDECODE_3DESTUNSUPPORTEDFORMAT = 785, - D3D12_MESSAGE_ID_JPEGDECODE_SCALEUNSUPPORTED = 786, - D3D12_MESSAGE_ID_JPEGDECODE_INVALIDSOURCESIZE = 787, - D3D12_MESSAGE_ID_JPEGDECODE_INVALIDCOPYFLAGS = 788, - D3D12_MESSAGE_ID_JPEGDECODE_HAZARD = 789, - D3D12_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDSRCBUFFERUSAGE = 790, - D3D12_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDSRCBUFFERMISCFLAGS = 791, - D3D12_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDDSTTEXTUREUSAGE = 792, - D3D12_MESSAGE_ID_JPEGDECODE_BACKBUFFERNOTSUPPORTED = 793, - D3D12_MESSAGE_ID_JPEGDECODE_UNSUPPRTEDCOPYFLAGS = 794, - D3D12_MESSAGE_ID_JPEGENCODE_NOTSUPPORTED = 795, - D3D12_MESSAGE_ID_JPEGENCODE_INVALIDSCANDATAOFFSET = 796, - D3D12_MESSAGE_ID_JPEGENCODE_INVALIDCOMPONENTS = 797, - D3D12_MESSAGE_ID_JPEGENCODE_SOURCENOT2D = 798, - D3D12_MESSAGE_ID_JPEGENCODE_TILEDRESOURCESUNSUPPORTED = 799, - D3D12_MESSAGE_ID_JPEGENCODE_GUARDRECTSUNSUPPORTED = 800, - D3D12_MESSAGE_ID_JPEGENCODE_XSUBSAMPLEMISMATCH = 801, - D3D12_MESSAGE_ID_JPEGENCODE_YSUBSAMPLEMISMATCH = 802, - D3D12_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDCOMPONENTS = 803, - D3D12_MESSAGE_ID_JPEGENCODE_FORMATUNSUPPORTED = 804, - D3D12_MESSAGE_ID_JPEGENCODE_INVALIDSUBRESOURCE = 805, - D3D12_MESSAGE_ID_JPEGENCODE_INVALIDMIPLEVEL = 806, - D3D12_MESSAGE_ID_JPEGENCODE_DIMENSIONSTOOLARGE = 807, - D3D12_MESSAGE_ID_JPEGENCODE_HAZARD = 808, - D3D12_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDDSTBUFFERUSAGE = 809, - D3D12_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDDSTBUFFERMISCFLAGS = 810, - D3D12_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDSRCTEXTUREUSAGE = 811, - D3D12_MESSAGE_ID_JPEGENCODE_BACKBUFFERNOTSUPPORTED = 812, - D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_UNSUPPORTEDCONTEXTTTYPEFORQUERY = 813, - D3D12_MESSAGE_ID_FLUSH1_INVALIDCONTEXTTYPE = 814, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUE = 815, - D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDCLEARVALUEFORMAT = 816, - D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUEFORMAT = 817, - D3D12_MESSAGE_ID_CREATERESOURCE_CLEARVALUEDENORMFLUSH = 818, - D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALIDDEPTH = 819, - D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE = 820, - D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_MISMATCHINGCLEARVALUE = 821, - D3D12_MESSAGE_ID_MAP_INVALIDHEAP = 822, - D3D12_MESSAGE_ID_UNMAP_INVALIDHEAP = 823, - D3D12_MESSAGE_ID_MAP_INVALIDRESOURCE = 824, - D3D12_MESSAGE_ID_UNMAP_INVALIDRESOURCE = 825, - D3D12_MESSAGE_ID_MAP_INVALIDSUBRESOURCE = 826, - D3D12_MESSAGE_ID_UNMAP_INVALIDSUBRESOURCE = 827, - D3D12_MESSAGE_ID_MAP_INVALIDRANGE = 828, - D3D12_MESSAGE_ID_UNMAP_INVALIDRANGE = 829, - D3D12_MESSAGE_ID_MAP_NULLRANGE = 830, - D3D12_MESSAGE_ID_UNMAP_NULLRANGE = 831, - D3D12_MESSAGE_ID_MAP_INVALIDDATAPOINTER = 832, - D3D12_MESSAGE_ID_MAP_INVALIDARG_RETURN = 833, - D3D12_MESSAGE_ID_MAP_OUTOFMEMORY_RETURN = 834, - D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_BUNDLENOTSUPPORTED = 835, - D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_COMMANDLISTMISMATCH = 836, - D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_OPENCOMMANDLIST = 837, - D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST = 838, - D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLDST = 839, - D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDDSTRESOURCEDIMENSION = 840, - D3D12_MESSAGE_ID_COPYBUFFERREGION_DSTRANGEOUTOFBOUNDS = 841, - D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLSRC = 842, - D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDSRCRESOURCEDIMENSION = 843, - D3D12_MESSAGE_ID_COPYBUFFERREGION_SRCRANGEOUTOFBOUNDS = 844, - D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDCOPYFLAGS = 845, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLDST = 846, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTTYPE = 847, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCEDIMENSION = 848, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCE = 849, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTSUBRESOURCE = 850, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTOFFSET = 851, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTFORMAT = 852, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTFORMAT = 853, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDIMENSIONS = 854, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTROWPITCH = 855, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTPLACEMENT = 856, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDSPLACEDFOOTPRINTFORMAT = 857, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_DSTREGIONOUTOFBOUNDS = 858, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLSRC = 859, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCTYPE = 860, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCEDIMENSION = 861, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCE = 862, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCSUBRESOURCE = 863, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCOFFSET = 864, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCFORMAT = 865, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCFORMAT = 866, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDIMENSIONS = 867, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCROWPITCH = 868, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCPLACEMENT = 869, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDSPLACEDFOOTPRINTFORMAT = 870, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_SRCREGIONOUTOFBOUNDS = 871, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTCOORDINATES = 872, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCBOX = 873, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_FORMATMISMATCH = 874, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_EMPTYBOX = 875, - D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDCOPYFLAGS = 876, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SUBRESOURCE_INDEX = 877, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_FORMAT = 878, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_MISMATCH = 879, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SAMPLE_COUNT = 880, - D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_INVALID_SHADER = 881, - D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH = 882, - D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_MISSING_ROOT_SIGNATURE = 883, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALIDCACHEDBLOB = 884, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBADAPTERMISMATCH = 885, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDRIVERVERSIONMISMATCH = 886, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDESCMISMATCH = 887, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBIGNORED = 888, - D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDHEAP = 889, - D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDRESOURCE = 890, - D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDBOX = 891, - D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDSUBRESOURCE = 892, - D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_EMPTYBOX = 893, - D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDHEAP = 894, - D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDRESOURCE = 895, - D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDBOX = 896, - D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDSUBRESOURCE = 897, - D3D12_MESSAGE_ID_READFROMSUBRESOURCE_EMPTYBOX = 898, - D3D12_MESSAGE_ID_TOO_MANY_NODES_SPECIFIED = 899, - D3D12_MESSAGE_ID_INVALID_NODE_INDEX = 900, - D3D12_MESSAGE_ID_GETHEAPPROPERTIES_INVALIDRESOURCE = 901, - D3D12_MESSAGE_ID_NODE_MASK_MISMATCH = 902, - D3D12_MESSAGE_ID_COMMAND_LIST_OUTOFMEMORY = 903, - D3D12_MESSAGE_ID_COMMAND_LIST_MULTIPLE_SWAPCHAIN_BUFFER_REFERENCES = 904, - D3D12_MESSAGE_ID_COMMAND_LIST_TOO_MANY_SWAPCHAIN_REFERENCES = 905, - D3D12_MESSAGE_ID_COMMAND_QUEUE_TOO_MANY_SWAPCHAIN_REFERENCES = 906, - D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE = 907, - D3D12_MESSAGE_ID_COMMAND_LIST_SETRENDERTARGETS_INVALIDNUMRENDERTARGETS = 908, - D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_TYPE = 909, - D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_FLAGS = 910, - D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFLAGS = 911, - D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFORMAT = 912, - D3D12_MESSAGE_ID_CREATESHAREDHEAP_INVALIDFLAGS = 913, - D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_UNRECOGNIZEDPROPERTIES = 914, - D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDSIZE = 915, - D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDOBJECT = 916, - D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDOBJECT = 917, - D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDKEY = 918, - D3D12_MESSAGE_ID_KEYEDMUTEX_WRONGSTATE = 919, - D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_PRIORITY = 920, - D3D12_MESSAGE_ID_OBJECT_DELETED_WHILE_STILL_IN_USE = 921, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_FLAGS = 922, - D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_HAS_NO_RESOURCE = 923, - D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RENDER_TARGET_DELETED = 924, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_ALL_RENDER_TARGETS_HAVE_UNKNOWN_FORMAT = 925, - D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS = 926, - D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_GPU_WRITTEN_READBACK_RESOURCE_MAPPED = 927, - D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_NEEDED = 928, - D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_EMPTY = 929, - D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE = 930, - D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE = 931, - D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT = 932, - D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT = 933, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED = 934, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED = 935, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS = 936, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS = 937, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED = 938, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH = 939, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH = 940, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH = 941, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE = 942, - D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST = 943, - D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE = 944, - D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC = 945, - D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE = 946, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST = 947, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE = 948, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC = 949, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE = 950, - D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH = 951, - D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET = 952, - D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH = 953, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS = 954, - D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH = 955, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH = 956, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END = 957, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE = 958, - D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT = 959, - D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE = 960, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS = 961, - D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB = 962, - D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH = 963, - D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH = 964, - D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED = 965, - D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY = 966, - D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY = 967, - D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY = 968, - D3D12_MESSAGE_ID_STOREPIPELINE_NONAME = 969, - D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME = 970, - D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND = 971, - D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC = 972, - D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY = 973, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH = 974, - D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS = 975, - D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED = 976, - D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED = 977, - D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED = 978, - D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDLIST = 979, - D3D12_MESSAGE_ID_CREATE_VIDEODECODER = 980, - D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM = 981, - D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDLIST = 982, - D3D12_MESSAGE_ID_LIVE_VIDEODECODER = 983, - D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM = 984, - D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDLIST = 985, - D3D12_MESSAGE_ID_DESTROY_VIDEODECODER = 986, - D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM = 987, - D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS = 988, - D3D12_MESSAGE_ID_DEPRECATED_API = 989, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE = 990, - D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET = 991, - D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET = 992, - D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET = 993, - D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET = 994, - D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE = 995, - D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS = 996, - D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D = 997, - D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE = 998, - D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE = 999, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED = 1000, - D3D12_MESSAGE_ID_STATIC_DESCRIPTOR_INVALID_DESCRIPTOR_CHANGE = 1001, - D3D12_MESSAGE_ID_DATA_STATIC_DESCRIPTOR_INVALID_DATA_CHANGE = 1002, - D3D12_MESSAGE_ID_DATA_STATIC_WHILE_SET_AT_EXECUTE_DESCRIPTOR_INVALID_DATA_CHANGE = 1003, - D3D12_MESSAGE_ID_EXECUTE_BUNDLE_STATIC_DESCRIPTOR_DATA_STATIC_NOT_SET = 1004, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_ACCESS_OUT_OF_BOUNDS = 1005, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SAMPLER_MODE_MISMATCH = 1006, - D3D12_MESSAGE_ID_CREATE_FENCE_INVALID_FLAGS = 1007, - D3D12_MESSAGE_ID_RESOURCE_BARRIER_DUPLICATE_SUBRESOURCE_TRANSITIONS = 1008, - D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PRIORITY = 1009, - D3D12_MESSAGE_ID_CREATE_PASS = 1010, - D3D12_MESSAGE_ID_DESTROY_PASS = 1011, - D3D12_MESSAGE_ID_LIVE_PASS = 1012, - D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_LARGE_NUM_DESCRIPTORS = 1013, - D3D12_MESSAGE_ID_BEGIN_EVENT = 1014, - D3D12_MESSAGE_ID_END_EVENT = 1015, - D3D12_MESSAGE_ID_CREATEDEVICE_DEBUG_LAYER_STARTUP_OPTIONS = 1016, - D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_DEPTHBOUNDSTEST_UNSUPPORTED = 1017, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_DUPLICATE_SUBOBJECT = 1018, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_UNKNOWN_SUBOBJECT = 1019, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_ZERO_SIZE_STREAM = 1020, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_STREAM = 1021, - D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CANNOT_DEDUCE_TYPE = 1022, - D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_RESOURCE_DIMENSION_MISMATCH = 1023, - D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_PRIVILEGE_FOR_GLOBAL_REALTIME = 1024, - D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_HARDWARE_SUPPORT_FOR_GLOBAL_REALTIME = 1025, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_ARCHITECTURE = 1026, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DST = 1027, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE_DIMENSION = 1028, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DST_RANGE_OUT_OF_BOUNDS = 1029, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_SRC = 1030, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE_DIMENSION = 1031, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_SRC_RANGE_OUT_OF_BOUNDS = 1032, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_OFFSET_ALIGNMENT = 1033, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_RESOURCES = 1034, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_SUBRESOURCE_RANGES = 1035, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_RESOURCE = 1036, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_SUBRESOURCE_RANGE = 1037, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_SUBRESOURCE_OUT_OF_BOUNDS = 1038, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_RANGE_OUT_OF_BOUNDS = 1039, - D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_ZERO_DEPENDENCIES = 1040, - D3D12_MESSAGE_ID_DEVICE_CREATE_SHARED_HANDLE_INVALIDARG = 1041, - D3D12_MESSAGE_ID_DESCRIPTOR_HANDLE_WITH_INVALID_RESOURCE = 1042, - D3D12_MESSAGE_ID_SETDEPTHBOUNDS_INVALIDARGS = 1043, - D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_STATE_IMPRECISE = 1044, - D3D12_MESSAGE_ID_COMMAND_LIST_PIPELINE_STATE_NOT_SET = 1045, - D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_MODEL_MISMATCH = 1046, - D3D12_MESSAGE_ID_OBJECT_ACCESSED_WHILE_STILL_IN_USE = 1047, - D3D12_MESSAGE_ID_PROGRAMMABLE_MSAA_UNSUPPORTED = 1048, - D3D12_MESSAGE_ID_SETSAMPLEPOSITIONS_INVALIDARGS = 1049, - D3D12_MESSAGE_ID_RESOLVESUBRESOURCEREGION_INVALID_RECT = 1050, - D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDQUEUE = 1051, - D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDLIST = 1052, - D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDQUEUE = 1053, - D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDQUEUE = 1054, - D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDLIST = 1055, - D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDQUEUE = 1056, - D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDQUEUE = 1057, - D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDLIST = 1058, - D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDQUEUE = 1059, - D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSOR = 1060, - D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSSTREAM = 1061, - D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSOR = 1062, - D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSSTREAM = 1063, - D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSOR = 1064, - D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSSTREAM = 1065, - D3D12_MESSAGE_ID_PROCESS_FRAME_INVALID_PARAMETERS = 1066, - D3D12_MESSAGE_ID_COPY_INVALIDLAYOUT = 1067, - D3D12_MESSAGE_ID_D3D12_MESSAGES_END = 1068, -}} -STRUCT!{struct D3D12_MESSAGE { - Category: D3D12_MESSAGE_CATEGORY, - Severity: D3D12_MESSAGE_SEVERITY, - ID: D3D12_MESSAGE_ID, - pDescription: *const c_char, - DescriptionByteLength: SIZE_T, -}} -STRUCT!{struct D3D12_INFO_QUEUE_FILTER_DESC { - NumCategories: UINT, - pCategoryList: *mut D3D12_MESSAGE_CATEGORY, - NumSeverities: UINT, - pSeverityList: *mut D3D12_MESSAGE_SEVERITY, - NumIDs: UINT, - pIDList: *mut D3D12_MESSAGE_ID, -}} -STRUCT!{struct D3D12_INFO_QUEUE_FILTER { - AllowList: D3D12_INFO_QUEUE_FILTER_DESC, - DenyList: D3D12_INFO_QUEUE_FILTER_DESC, -}} -pub const D3D12_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT: UINT = 1024; -RIDL!{#[uuid(0x0742a90b, 0xc387, 0x483f, 0xb9, 0x46, 0x30, 0xa7, 0xe4, 0xe6, 0x14, 0x58)] -interface ID3D12InfoQueue(ID3D12InfoQueueVtbl): IUnknown(IUnknownVtbl) { - fn SetMessageCountLimit( - MessageCountLimit: UINT64, - ) -> HRESULT, - fn ClearStoredMessages() -> (), - fn GetMessage( - MessageIndex: UINT64, - pMessage: *mut D3D12_MESSAGE, - pMessageByteLength: *mut SIZE_T, - ) -> HRESULT, - fn GetNumMessagesAllowedByStorageFilter() -> UINT64, - fn GetNumMessagesDeniedByStorageFilter() -> UINT64, - fn GetNumStoredMessages() -> UINT64, - fn GetNumStoredMessagesAllowedByRetrievalFilter() -> UINT64, - fn GetNumMessagesDiscardedByMessageCountLimit() -> UINT64, - fn GetMessageCountLimit() -> UINT64, - fn AddStorageFilterEntries( - pFilter: *mut D3D12_INFO_QUEUE_FILTER, - ) -> HRESULT, - fn GetStorageFilter( - pFilter: *mut D3D12_INFO_QUEUE_FILTER, - pFilterByteLength: *mut SIZE_T, - ) -> HRESULT, - fn ClearStorageFilter() -> (), - fn PushEmptyStorageFilter() -> HRESULT, - fn PushCopyOfStorageFilter() -> HRESULT, - fn PushStorageFilter( - pFilter: *mut D3D12_INFO_QUEUE_FILTER, - ) -> HRESULT, - fn PopStorageFilter() -> (), - fn GetStorageFilterStackSize() -> UINT, - fn AddRetrievalFilterEntries( - pFilter: *mut D3D12_INFO_QUEUE_FILTER, - ) -> HRESULT, - fn GetRetrievalFilter( - pFilter: *mut D3D12_INFO_QUEUE_FILTER, - pFilterByteLength: *mut SIZE_T, - ) -> HRESULT, - fn ClearRetrievalFilter() -> (), - fn PushEmptyRetrievalFilter() -> HRESULT, - fn PushCopyOfRetrievalFilter() -> HRESULT, - fn PushRetrievalFilter( - pFilter: *mut D3D12_INFO_QUEUE_FILTER, - ) -> HRESULT, - fn PopRetrievalFilter() -> (), - fn GetRetrievalFilterStackSize() -> UINT, - fn AddMessage( - Category: D3D12_MESSAGE_CATEGORY, - Severity: D3D12_MESSAGE_SEVERITY, - ID: D3D12_MESSAGE_ID, - pDescription: LPCSTR, - ) -> HRESULT, - fn AddApplicationMessage( - Severity: D3D12_MESSAGE_SEVERITY, - pDescription: LPCSTR, - ) -> HRESULT, - fn SetBreakOnCategory( - Category: D3D12_MESSAGE_CATEGORY, - bEnable: BOOL, - ) -> HRESULT, - fn SetBreakOnSeverity( - Severity: D3D12_MESSAGE_SEVERITY, - bEnable: BOOL, - ) -> HRESULT, - fn SetBreakOnID( - ID: D3D12_MESSAGE_ID, - bEnable: BOOL, - ) -> HRESULT, - fn GetBreakOnCategory( - Category: D3D12_MESSAGE_CATEGORY, - ) -> BOOL, - fn GetBreakOnSeverity( - Severity: D3D12_MESSAGE_SEVERITY, - ) -> BOOL, - fn GetBreakOnID( - ID: D3D12_MESSAGE_ID, - ) -> BOOL, - fn SetMuteDebugOutput( - bMute: BOOL, - ) -> (), - fn GetMuteDebugOutput() -> BOOL, -}} -DEFINE_GUID!{IID_ID3D12Debug, - 0x344488b7, 0x6846, 0x474b, 0xb9, 0x89, 0xf0, 0x27, 0x44, 0x82, 0x45, 0xe0} -DEFINE_GUID!{IID_ID3D12Debug1, - 0xaffaa4ca, 0x63fe, 0x4d8e, 0xb8, 0xad, 0x15, 0x90, 0x00, 0xaf, 0x43, 0x04} -DEFINE_GUID!{IID_ID3D12Debug2, - 0x93a665c4, 0xa3b2, 0x4e5d, 0xb6, 0x92, 0xa2, 0x6a, 0xe1, 0x4e, 0x33, 0x74} -DEFINE_GUID!{IID_ID3D12DebugDevice1, - 0xa9b71770, 0xd099, 0x4a65, 0xa6, 0x98, 0x3d, 0xee, 0x10, 0x02, 0x0f, 0x88} -DEFINE_GUID!{IID_ID3D12DebugDevice, - 0x3febd6dd, 0x4973, 0x4787, 0x81, 0x94, 0xe4, 0x5f, 0x9e, 0x28, 0x92, 0x3e} -DEFINE_GUID!{IID_ID3D12DebugCommandQueue, - 0x09e0bf36, 0x54ac, 0x484f, 0x88, 0x47, 0x4b, 0xae, 0xea, 0xb6, 0x05, 0x3a} -DEFINE_GUID!{IID_ID3D12DebugCommandList1, - 0x102ca951, 0x311b, 0x4b01, 0xb1, 0x1f, 0xec, 0xb8, 0x3e, 0x06, 0x1b, 0x37} -DEFINE_GUID!{IID_ID3D12DebugCommandList, - 0x09e0bf36, 0x54ac, 0x484f, 0x88, 0x47, 0x4b, 0xae, 0xea, 0xb6, 0x05, 0x3f} -DEFINE_GUID!{IID_ID3D12InfoQueue, - 0x0742a90b, 0xc387, 0x483f, 0xb9, 0x46, 0x30, 0xa7, 0xe4, 0xe6, 0x14, 0x58} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3d12shader.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3d12shader.rs deleted file mode 100644 index f07bf83a6..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3d12shader.rs +++ /dev/null @@ -1,347 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::UINT64; -use shared::minwindef::{BOOL, BYTE, INT, LPVOID, UINT}; -use um::d3dcommon::{ - D3D_CBUFFER_TYPE, D3D_FEATURE_LEVEL, D3D_INTERPOLATION_MODE, D3D_MIN_PRECISION, D3D_NAME, - D3D_PARAMETER_FLAGS, D3D_PRIMITIVE, D3D_PRIMITIVE_TOPOLOGY, D3D_REGISTER_COMPONENT_TYPE, - D3D_RESOURCE_RETURN_TYPE, D3D_SHADER_INPUT_TYPE, D3D_SHADER_VARIABLE_CLASS, - D3D_SHADER_VARIABLE_TYPE, D3D_SRV_DIMENSION, D3D_TESSELLATOR_DOMAIN, - D3D_TESSELLATOR_OUTPUT_PRIMITIVE, D3D_TESSELLATOR_PARTITIONING, -}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LPCSTR}; -ENUM!{enum D3D12_SHADER_VERSION_TYPE { - D3D12_SHVER_PIXEL_SHADER = 0x0, - D3D12_SHVER_VERTEX_SHADER = 0x1, - D3D12_SHVER_GEOMETRY_SHADER = 0x2, - D3D12_SHVER_HULL_SHADER = 0x3, - D3D12_SHVER_DOMAIN_SHADER = 0x4, - D3D12_SHVER_COMPUTE_SHADER = 0x5, - D3D12_SHVER_RESERVED0 = 0xFFF0, -}} -STRUCT!{struct D3D12_FUNCTION_DESC { - Version: UINT, - Creator: LPCSTR, - Flags: UINT, - ConstantBuffers: UINT, - BoundResources: UINT, - InstructionCount: UINT, - TempRegisterCount: UINT, - TempArrayCount: UINT, - DefCount: UINT, - DclCount: UINT, - TextureNormalInstructions: UINT, - TextureLoadInstructions: UINT, - TextureCompInstructions: UINT, - TextureBiasInstructions: UINT, - TextureGradientInstructions: UINT, - FloatInstructionCount: UINT, - IntInstructionCount: UINT, - UintInstructionCount: UINT, - StaticFlowControlCount: UINT, - DynamicFlowControlCount: UINT, - MacroInstructionCount: UINT, - ArrayInstructionCount: UINT, - MovInstructionCount: UINT, - MovcInstructionCount: UINT, - ConversionInstructionCount: UINT, - BitwiseInstructionCount: UINT, - MinFeatureLevel: D3D_FEATURE_LEVEL, - RequiredFeatureFlags: UINT64, - Name: LPCSTR, - FunctionParameterCount: INT, - HasReturn: BOOL, - Has10Level9VertexShader: BOOL, - Has10Level9PixelShader: BOOL, -}} -STRUCT!{struct D3D12_LIBRARY_DESC { - Creator: LPCSTR, - Flags: UINT, - FunctionCount: UINT, -}} -STRUCT!{struct D3D12_PARAMETER_DESC { - Name: LPCSTR, - SemanticName: LPCSTR, - Type: D3D_SHADER_VARIABLE_TYPE, - Class: D3D_SHADER_VARIABLE_CLASS, - Rows: UINT, - Columns: UINT, - InterpolationMode: D3D_INTERPOLATION_MODE, - Flags: D3D_PARAMETER_FLAGS, - FirstInRegister: UINT, - FirstInComponent: UINT, - FirstOutRegister: UINT, - FirstOutComponent: UINT, -}} -STRUCT!{struct D3D12_SHADER_BUFFER_DESC { - Name: LPCSTR, - Type: D3D_CBUFFER_TYPE, - Variables: UINT, - Size: UINT, - uFlags: UINT, -}} -STRUCT!{struct D3D12_SHADER_DESC { - Version: UINT, - Creator: LPCSTR, - Flags: UINT, - ConstantBuffers: UINT, - BoundResources: UINT, - InputParameters: UINT, - OutputParameters: UINT, - InstructionCount: UINT, - TempRegisterCount: UINT, - TempArrayCount: UINT, - DefCount: UINT, - DclCount: UINT, - TextureNormalInstructions: UINT, - TextureLoadInstructions: UINT, - TextureCompInstructions: UINT, - TextureBiasInstructions: UINT, - TextureGradientInstructions: UINT, - FloatInstructionCount: UINT, - IntInstructionCount: UINT, - UintInstructionCount: UINT, - StaticFlowControlCount: UINT, - DynamicFlowControlCount: UINT, - MacroInstructionCount: UINT, - ArrayInstructionCount: UINT, - CutInstructionCount: UINT, - EmitInstructionCount: UINT, - GSOutputTopology: D3D_PRIMITIVE_TOPOLOGY, - GSMaxOutputVertexCount: UINT, - InputPrimitive: D3D_PRIMITIVE, - PatchConstantParameters: UINT, - cGSInstanceCount: UINT, - cControlPoints: UINT, - HSOutputPrimitive: D3D_TESSELLATOR_OUTPUT_PRIMITIVE, - HSPartitioning: D3D_TESSELLATOR_PARTITIONING, - TessellatorDomain: D3D_TESSELLATOR_DOMAIN, - cBarrierInstructions: UINT, - cInterlockedInstructions: UINT, - cTextureStoreInstructions: UINT, -}} -STRUCT!{struct D3D12_SHADER_INPUT_BIND_DESC { - Name: LPCSTR, - Type: D3D_SHADER_INPUT_TYPE, - BindPoint: UINT, - BindCount: UINT, - uFlags: UINT, - ReturnType: D3D_RESOURCE_RETURN_TYPE, - Dimension: D3D_SRV_DIMENSION, - NumSamples: UINT, - Space: UINT, - uID: UINT, -}} -STRUCT!{struct D3D12_SHADER_TYPE_DESC { - Class: D3D_SHADER_VARIABLE_CLASS, - Type: D3D_SHADER_VARIABLE_TYPE, - Rows: UINT, - Columns: UINT, - Elements: UINT, - Members: UINT, - Offset: UINT, - Name: LPCSTR, -}} -STRUCT!{struct D3D12_SHADER_VARIABLE_DESC { - Name: LPCSTR, - StartOffset: UINT, - Size: UINT, - uFlags: UINT, - DefaultValue: LPVOID, - StartTexture: UINT, - TextureSize: UINT, - StartSampler: UINT, - SamplerSize: UINT, -}} -STRUCT!{struct D3D12_SIGNATURE_PARAMETER_DESC { - SemanticName: LPCSTR, - SemanticIndex: UINT, - Register: UINT, - SystemValueType: D3D_NAME, - ComponentType: D3D_REGISTER_COMPONENT_TYPE, - Mask: BYTE, - ReadWriteMask: BYTE, - Stream: UINT, - MinPrecision: D3D_MIN_PRECISION, -}} -RIDL!{#[uuid(0xec25f42d, 0x7006, 0x4f2b, 0xb3, 0x3e, 0x02, 0xcc, 0x33, 0x75, 0x73, 0x3f)] -interface ID3D12FunctionParameterReflection(ID3D12FunctionParameterReflectionVtbl) { - fn GetDesc( - pDesc: *mut D3D12_PARAMETER_DESC, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x1108795c, 0x2772, 0x4ba9, 0xb2, 0xa8, 0xd4, 0x64, 0xdc, 0x7e, 0x27, 0x99)] -interface ID3D12FunctionReflection(ID3D12FunctionReflectionVtbl) { - fn GetDesc( - pDesc: *mut D3D12_FUNCTION_DESC, - ) -> HRESULT, - fn GetConstantBufferByIndex( - BufferIndex: UINT, - ) -> *mut ID3D12ShaderReflectionConstantBuffer, - fn GetConstantBufferByName( - Name: LPCSTR, - ) -> *mut ID3D12ShaderReflectionConstantBuffer, - fn GetResourceBindingDesc( - ResourceIndex: UINT, - pDesc: *mut D3D12_SHADER_INPUT_BIND_DESC, - ) -> HRESULT, - fn GetVariableByName( - Name: LPCSTR, - ) -> *mut ID3D12ShaderReflectionVariable, - fn GetResourceBindingDescByName( - Name: LPCSTR, - pDesc: *mut D3D12_SHADER_INPUT_BIND_DESC, - ) -> HRESULT, - fn GetFunctionParameter( - ParameterIndex: INT, - ) -> *mut ID3D12FunctionParameterReflection, -}} -RIDL!{#[uuid(0x8e349d19, 0x54db, 0x4a56, 0x9d, 0xc9, 0x11, 0x9d, 0x87, 0xbd, 0xb8, 0x4)] -interface ID3D12LibraryReflection(ID3D12LibraryReflectionVtbl): IUnknown(IUnknownVtbl) { - fn GetDesc( - pDesc: *mut D3D12_LIBRARY_DESC, - ) -> HRESULT, - fn GetFunctionByIndex( - FunctionIndex: INT, - ) -> *mut ID3D12FunctionReflection, -}} -DEFINE_GUID!{IID_ID3D12ShaderReflectionConstantBuffer, - 0xc59598b4, 0x48b3, 0x4869, 0xb9, 0xb1, 0xb1, 0x61, 0x8b, 0x14, 0xa8, 0xb7} -RIDL!{#[uuid(0xc59598b4, 0x48b3, 0x4869, 0xb9, 0xb1, 0xb1, 0x61, 0x8b, 0x14, 0xa8, 0xb7)] -interface ID3D12ShaderReflectionConstantBuffer(ID3D12ShaderReflectionConstantBufferVtbl) { - fn GetDesc( - pDesc: *mut D3D12_SHADER_BUFFER_DESC, - ) -> HRESULT, - fn GetVariableByIndex( - Index: UINT, - ) -> *mut ID3D12ShaderReflectionVariable, - fn GetVariableByName( - Name: LPCSTR, - ) -> *mut ID3D12ShaderReflectionVariable, -}} -DEFINE_GUID!{IID_ID3D12ShaderReflectionType, - 0xe913c351, 0x783d, 0x48ca, 0xa1, 0xd1, 0x4f, 0x30, 0x62, 0x84, 0xad, 0x56} -RIDL!{#[uuid(0xe913c351, 0x783d, 0x48ca, 0xa1, 0xd1, 0x4f, 0x30, 0x62, 0x84, 0xad, 0x56)] -interface ID3D12ShaderReflectionType(ID3D12ShaderReflectionTypeVtbl) { - fn GetDesc( - pDesc: *mut D3D12_SHADER_TYPE_DESC, - ) -> HRESULT, - fn GetMemberTypeByIndex( - Index: UINT, - ) -> *mut ID3D12ShaderReflectionType, - fn GetMemberTypeByName( - Name: LPCSTR, - ) -> *mut ID3D12ShaderReflectionType, - fn GetMemberTypeName( - Index: UINT, - ) -> LPCSTR, - fn IsEqual( - pType: *mut ID3D12ShaderReflectionType, - ) -> HRESULT, - fn GetSubType() -> *mut ID3D12ShaderReflectionType, - fn GetBaseClass() -> *mut ID3D12ShaderReflectionType, - fn GetNumInterfaces() -> UINT, - fn GetInterfaceByIndex( - uIndex: UINT, - ) -> *mut ID3D12ShaderReflectionType, - fn IsOfType( - pType: *mut ID3D12ShaderReflectionType, - ) -> HRESULT, - fn ImplementsInterface( - pBase: *mut ID3D12ShaderReflectionType, - ) -> HRESULT, -}} -DEFINE_GUID!{IID_ID3D12ShaderReflectionVariable, - 0x8337a8a6, 0xa216, 0x444a, 0xb2, 0xf4, 0x31, 0x47, 0x33, 0xa7, 0x3a, 0xea} -RIDL!{#[uuid(0x8337a8a6, 0xa216, 0x444a, 0xb2, 0xf4, 0x31, 0x47, 0x33, 0xa7, 0x3a, 0xea)] -interface ID3D12ShaderReflectionVariable(ID3D12ShaderReflectionVariableVtbl) { - fn GetDesc( - pDesc: *mut D3D12_SHADER_VARIABLE_DESC, - ) -> HRESULT, - fn GetType() -> *mut ID3D12ShaderReflectionType, - fn GetBuffer() -> *mut ID3D12ShaderReflectionConstantBuffer, - fn GetInterfaceSlot( - uArrayIndex: UINT, - ) -> UINT, -}} -DEFINE_GUID!{IID_ID3D12ShaderReflection, - 0x5a58797d, 0xa72c, 0x478d, 0x8b, 0xa2, 0xef, 0xc6, 0xb0, 0xef, 0xe8, 0x8e} -RIDL!{#[uuid(0x5a58797d, 0xa72c, 0x478d, 0x8b, 0xa2, 0xef, 0xc6, 0xb0, 0xef, 0xe8, 0x8e)] -interface ID3D12ShaderReflection(ID3D12ShaderReflectionVtbl): IUnknown(IUnknownVtbl) { - fn GetDesc( - pDesc: *mut D3D12_SHADER_DESC, - ) -> HRESULT, - fn GetConstantBufferByIndex( - Index: UINT, - ) -> *mut ID3D12ShaderReflectionConstantBuffer, - fn GetConstantBufferByName( - Name: LPCSTR, - ) -> *mut ID3D12ShaderReflectionConstantBuffer, - fn GetResourceBindingDesc( - ResourceIndex: UINT, - pDesc: *mut D3D12_SHADER_INPUT_BIND_DESC, - ) -> HRESULT, - fn GetInputParameterDesc( - ParameterIndex: UINT, - pDesc: *mut D3D12_SIGNATURE_PARAMETER_DESC, - ) -> HRESULT, - fn GetOutputParameterDesc( - ParameterIndex: UINT, - pDesc: *mut D3D12_SIGNATURE_PARAMETER_DESC, - ) -> HRESULT, - fn GetPatchConstantParameterDesc( - ParameterIndex: UINT, - pDesc: *mut D3D12_SIGNATURE_PARAMETER_DESC, - ) -> HRESULT, - fn GetVariableByName( - Name: LPCSTR, - ) -> *mut ID3D12ShaderReflectionVariable, - fn GetResourceBindingDescByName( - Name: LPCSTR, - pDesc: *mut D3D12_SHADER_INPUT_BIND_DESC, - ) -> HRESULT, - fn GetMovInstructionCount() -> UINT, - fn GetMovcInstructionCount() -> UINT, - fn GetConversionInstructionCount() -> UINT, - fn GetBitwiseInstructionCount() -> UINT, - fn GetGSInputPrimitive() -> D3D_PRIMITIVE, - fn IsSampleFrequencyShader() -> BOOL, - fn GetNumInterfaceSlots() -> UINT, - fn GetMinFeatureLevel( - pLevel: *mut D3D_FEATURE_LEVEL, - ) -> HRESULT, - fn GetThreadGroupSize( - pSizeX: *mut UINT, - pSizeY: *mut UINT, - pSizeZ: *mut UINT, - ) -> UINT, - fn GetRequiresFlags() -> UINT64, -}} -DEFINE_GUID!{IID_ID3D12LibraryReflection, - 0x8e349d19, 0x54db, 0x4a56, 0x9d, 0xc9, 0x11, 0x9d, 0x87, 0xbd, 0xb8, 0x04} -DEFINE_GUID!{IID_ID3D12FunctionReflection, - 0x1108795c, 0x2772, 0x4ba9, 0xb2, 0xa8, 0xd4, 0x64, 0xdc, 0x7e, 0x27, 0x99} -DEFINE_GUID!{IID_ID3D12FunctionParameterReflection, - 0xec25f42d, 0x7006, 0x4f2b, 0xb3, 0x3e, 0x02, 0xcc, 0x33, 0x75, 0x73, 0x3f} -pub type D3D12_CBUFFER_TYPE = D3D_CBUFFER_TYPE; -pub type D3D12_RESOURCE_RETURN_TYPE = D3D_RESOURCE_RETURN_TYPE; -pub type D3D12_TESSELLATOR_DOMAIN = D3D_TESSELLATOR_DOMAIN; -pub type D3D12_TESSELLATOR_OUTPUT_PRIMITIVE = D3D_TESSELLATOR_OUTPUT_PRIMITIVE; -pub type D3D12_TESSELLATOR_PARTITIONING = D3D_TESSELLATOR_PARTITIONING; -pub type LPD3D12FUNCTIONPARAMETERREFLECTION = *mut ID3D12FunctionParameterReflection; -pub type LPD3D12FUNCTIONREFLECTION = *mut ID3D12FunctionReflection; -pub type LPD3D12LIBRARYREFLECTION = *mut ID3D12LibraryReflection; -pub type LPD3D12SHADERREFLECTION = *mut ID3D12ShaderReflection; -pub type LPD3D12SHADERREFLECTIONCONSTANTBUFFER = *mut ID3D12ShaderReflectionConstantBuffer; -pub type LPD3D12SHADERREFLECTIONTYPE = *mut ID3D12ShaderReflectionType; -pub type LPD3D12SHADERREFLECTIONVARIABLE = *mut ID3D12ShaderReflectionVariable; -pub const D3D_SHADER_REQUIRES_INNER_COVERAGE: UINT64 = 0x00000400; -pub const D3D_SHADER_REQUIRES_ROVS: UINT64 = 0x00001000; -pub const D3D_SHADER_REQUIRES_STENCIL_REF: UINT64 = 0x00000200; -pub const D3D_SHADER_REQUIRES_TYPED_UAV_LOAD_ADDITIONAL_FORMATS: UINT64 = 0x00000800; -pub const D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER: - UINT64 = 0x00002000; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3dcommon.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3dcommon.rs deleted file mode 100644 index b4f67dd12..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3dcommon.rs +++ /dev/null @@ -1,744 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of d3dcommon.h -use shared::basetsd::SIZE_T; -use shared::minwindef::{LPCVOID, LPVOID, UINT}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LPCSTR}; -ENUM!{enum D3D_DRIVER_TYPE { - D3D_DRIVER_TYPE_UNKNOWN, - D3D_DRIVER_TYPE_HARDWARE, - D3D_DRIVER_TYPE_REFERENCE, - D3D_DRIVER_TYPE_NULL, - D3D_DRIVER_TYPE_SOFTWARE, - D3D_DRIVER_TYPE_WARP, -}} -ENUM!{enum D3D_FEATURE_LEVEL { - D3D_FEATURE_LEVEL_9_1 = 0x9100, - D3D_FEATURE_LEVEL_9_2 = 0x9200, - D3D_FEATURE_LEVEL_9_3 = 0x9300, - D3D_FEATURE_LEVEL_10_0 = 0xa000, - D3D_FEATURE_LEVEL_10_1 = 0xa100, - D3D_FEATURE_LEVEL_11_0 = 0xb000, - D3D_FEATURE_LEVEL_11_1 = 0xb100, - D3D_FEATURE_LEVEL_12_0 = 0xc000, - D3D_FEATURE_LEVEL_12_1 = 0xc100, -}} -ENUM!{enum D3D_PRIMITIVE_TOPOLOGY { - D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0, - D3D_PRIMITIVE_TOPOLOGY_POINTLIST = 1, - D3D_PRIMITIVE_TOPOLOGY_LINELIST = 2, - D3D_PRIMITIVE_TOPOLOGY_LINESTRIP = 3, - D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4, - D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5, - D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10, - D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11, - D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12, - D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13, - D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33, - D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = 34, - D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = 35, - D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = 36, - D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = 37, - D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = 38, - D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = 39, - D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = 40, - D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = 41, - D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = 42, - D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = 43, - D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = 44, - D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = 45, - D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = 46, - D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = 47, - D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = 48, - D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = 49, - D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = 50, - D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = 51, - D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = 52, - D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = 53, - D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = 54, - D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = 55, - D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = 56, - D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = 57, - D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = 58, - D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = 59, - D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = 60, - D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = 61, - D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = 62, - D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = 63, - D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = 64, -}} -pub const D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_UNDEFINED; -pub const D3D10_PRIMITIVE_TOPOLOGY_POINTLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_POINTLIST; -pub const D3D10_PRIMITIVE_TOPOLOGY_LINELIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_LINELIST; -pub const D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_LINESTRIP; -pub const D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST; -pub const D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP; -pub const D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ; -pub const D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ; -pub const D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ; -pub const D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ; -pub const D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_UNDEFINED; -pub const D3D11_PRIMITIVE_TOPOLOGY_POINTLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_POINTLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_LINELIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_LINELIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_LINESTRIP; -pub const D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP; -pub const D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ; -pub const D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ; -pub const D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ; -pub const D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ; -pub const D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST; -pub const D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST: D3D_PRIMITIVE_TOPOLOGY = - D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST; -ENUM!{enum D3D_PRIMITIVE { - D3D_PRIMITIVE_UNDEFINED = 0, - D3D_PRIMITIVE_POINT = 1, - D3D_PRIMITIVE_LINE = 2, - D3D_PRIMITIVE_TRIANGLE = 3, - D3D_PRIMITIVE_LINE_ADJ = 6, - D3D_PRIMITIVE_TRIANGLE_ADJ = 7, - D3D_PRIMITIVE_1_CONTROL_POINT_PATCH = 8, - D3D_PRIMITIVE_2_CONTROL_POINT_PATCH = 9, - D3D_PRIMITIVE_3_CONTROL_POINT_PATCH = 10, - D3D_PRIMITIVE_4_CONTROL_POINT_PATCH = 11, - D3D_PRIMITIVE_5_CONTROL_POINT_PATCH = 12, - D3D_PRIMITIVE_6_CONTROL_POINT_PATCH = 13, - D3D_PRIMITIVE_7_CONTROL_POINT_PATCH = 14, - D3D_PRIMITIVE_8_CONTROL_POINT_PATCH = 15, - D3D_PRIMITIVE_9_CONTROL_POINT_PATCH = 16, - D3D_PRIMITIVE_10_CONTROL_POINT_PATCH = 17, - D3D_PRIMITIVE_11_CONTROL_POINT_PATCH = 18, - D3D_PRIMITIVE_12_CONTROL_POINT_PATCH = 19, - D3D_PRIMITIVE_13_CONTROL_POINT_PATCH = 20, - D3D_PRIMITIVE_14_CONTROL_POINT_PATCH = 21, - D3D_PRIMITIVE_15_CONTROL_POINT_PATCH = 22, - D3D_PRIMITIVE_16_CONTROL_POINT_PATCH = 23, - D3D_PRIMITIVE_17_CONTROL_POINT_PATCH = 24, - D3D_PRIMITIVE_18_CONTROL_POINT_PATCH = 25, - D3D_PRIMITIVE_19_CONTROL_POINT_PATCH = 26, - D3D_PRIMITIVE_20_CONTROL_POINT_PATCH = 28, - D3D_PRIMITIVE_21_CONTROL_POINT_PATCH = 29, - D3D_PRIMITIVE_22_CONTROL_POINT_PATCH = 30, - D3D_PRIMITIVE_23_CONTROL_POINT_PATCH = 31, - D3D_PRIMITIVE_24_CONTROL_POINT_PATCH = 32, - D3D_PRIMITIVE_25_CONTROL_POINT_PATCH = 33, - D3D_PRIMITIVE_26_CONTROL_POINT_PATCH = 34, - D3D_PRIMITIVE_27_CONTROL_POINT_PATCH = 35, - D3D_PRIMITIVE_28_CONTROL_POINT_PATCH = 36, - D3D_PRIMITIVE_29_CONTROL_POINT_PATCH = 37, - D3D_PRIMITIVE_30_CONTROL_POINT_PATCH = 38, - D3D_PRIMITIVE_31_CONTROL_POINT_PATCH = 39, - D3D_PRIMITIVE_32_CONTROL_POINT_PATCH = 40, -}} -pub const D3D10_PRIMITIVE_UNDEFINED: D3D_PRIMITIVE = D3D_PRIMITIVE_UNDEFINED; -pub const D3D10_PRIMITIVE_POINT: D3D_PRIMITIVE = D3D_PRIMITIVE_POINT; -pub const D3D10_PRIMITIVE_LINE: D3D_PRIMITIVE = D3D_PRIMITIVE_LINE; -pub const D3D10_PRIMITIVE_TRIANGLE: D3D_PRIMITIVE = D3D_PRIMITIVE_TRIANGLE; -pub const D3D10_PRIMITIVE_LINE_ADJ: D3D_PRIMITIVE = D3D_PRIMITIVE_LINE_ADJ; -pub const D3D10_PRIMITIVE_TRIANGLE_ADJ: D3D_PRIMITIVE = D3D_PRIMITIVE_TRIANGLE_ADJ; -pub const D3D11_PRIMITIVE_UNDEFINED: D3D_PRIMITIVE = D3D_PRIMITIVE_UNDEFINED; -pub const D3D11_PRIMITIVE_POINT: D3D_PRIMITIVE = D3D_PRIMITIVE_POINT; -pub const D3D11_PRIMITIVE_LINE: D3D_PRIMITIVE = D3D_PRIMITIVE_LINE; -pub const D3D11_PRIMITIVE_TRIANGLE: D3D_PRIMITIVE = D3D_PRIMITIVE_TRIANGLE; -pub const D3D11_PRIMITIVE_LINE_ADJ: D3D_PRIMITIVE = D3D_PRIMITIVE_LINE_ADJ; -pub const D3D11_PRIMITIVE_TRIANGLE_ADJ: D3D_PRIMITIVE = D3D_PRIMITIVE_TRIANGLE_ADJ; -pub const D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_1_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_2_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_3_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_4_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_5_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_6_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_7_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_8_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_9_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_10_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_11_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_12_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_13_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_14_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_15_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_16_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_17_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_18_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_19_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_20_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_21_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_22_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_23_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_24_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_25_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_26_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_27_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_28_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_29_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_30_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_31_CONTROL_POINT_PATCH; -pub const D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH: D3D_PRIMITIVE = - D3D_PRIMITIVE_32_CONTROL_POINT_PATCH; -ENUM!{enum D3D_SRV_DIMENSION { - D3D_SRV_DIMENSION_UNKNOWN = 0, - D3D_SRV_DIMENSION_BUFFER = 1, - D3D_SRV_DIMENSION_TEXTURE1D = 2, - D3D_SRV_DIMENSION_TEXTURE1DARRAY = 3, - D3D_SRV_DIMENSION_TEXTURE2D = 4, - D3D_SRV_DIMENSION_TEXTURE2DARRAY = 5, - D3D_SRV_DIMENSION_TEXTURE2DMS = 6, - D3D_SRV_DIMENSION_TEXTURE2DMSARRAY = 7, - D3D_SRV_DIMENSION_TEXTURE3D = 8, - D3D_SRV_DIMENSION_TEXTURECUBE = 9, - D3D_SRV_DIMENSION_TEXTURECUBEARRAY = 10, - D3D_SRV_DIMENSION_BUFFEREX = 11, -}} -pub const D3D10_SRV_DIMENSION_UNKNOWN: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_UNKNOWN; -pub const D3D10_SRV_DIMENSION_BUFFER: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_BUFFER; -pub const D3D10_SRV_DIMENSION_TEXTURE1D: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_TEXTURE1D; -pub const D3D10_SRV_DIMENSION_TEXTURE1DARRAY: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_TEXTURE1DARRAY; -pub const D3D10_SRV_DIMENSION_TEXTURE2D: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_TEXTURE2D; -pub const D3D10_SRV_DIMENSION_TEXTURE2DARRAY: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_TEXTURE2DARRAY; -pub const D3D10_SRV_DIMENSION_TEXTURE2DMS: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_TEXTURE2DMS; -pub const D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY: D3D_SRV_DIMENSION = - D3D_SRV_DIMENSION_TEXTURE2DMSARRAY; -pub const D3D10_SRV_DIMENSION_TEXTURE3D: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_TEXTURE3D; -pub const D3D10_SRV_DIMENSION_TEXTURECUBE: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_TEXTURECUBE; -pub const D3D10_1_SRV_DIMENSION_UNKNOWN: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_UNKNOWN; -pub const D3D10_1_SRV_DIMENSION_BUFFER: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_BUFFER; -pub const D3D10_1_SRV_DIMENSION_TEXTURE1D: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_TEXTURE1D; -pub const D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY: D3D_SRV_DIMENSION = - D3D_SRV_DIMENSION_TEXTURE1DARRAY; -pub const D3D10_1_SRV_DIMENSION_TEXTURE2D: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_TEXTURE2D; -pub const D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY: D3D_SRV_DIMENSION = - D3D_SRV_DIMENSION_TEXTURE2DARRAY; -pub const D3D10_1_SRV_DIMENSION_TEXTURE2DMS: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_TEXTURE2DMS; -pub const D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY: D3D_SRV_DIMENSION = - D3D_SRV_DIMENSION_TEXTURE2DMSARRAY; -pub const D3D10_1_SRV_DIMENSION_TEXTURE3D: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_TEXTURE3D; -pub const D3D10_1_SRV_DIMENSION_TEXTURECUBE: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_TEXTURECUBE; -pub const D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY: D3D_SRV_DIMENSION = - D3D_SRV_DIMENSION_TEXTURECUBEARRAY; -pub const D3D11_SRV_DIMENSION_UNKNOWN: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_UNKNOWN; -pub const D3D11_SRV_DIMENSION_BUFFER: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_BUFFER; -pub const D3D11_SRV_DIMENSION_TEXTURE1D: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_TEXTURE1D; -pub const D3D11_SRV_DIMENSION_TEXTURE1DARRAY: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_TEXTURE1DARRAY; -pub const D3D11_SRV_DIMENSION_TEXTURE2D: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_TEXTURE2D; -pub const D3D11_SRV_DIMENSION_TEXTURE2DARRAY: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_TEXTURE2DARRAY; -pub const D3D11_SRV_DIMENSION_TEXTURE2DMS: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_TEXTURE2DMS; -pub const D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY: D3D_SRV_DIMENSION = - D3D_SRV_DIMENSION_TEXTURE2DMSARRAY; -pub const D3D11_SRV_DIMENSION_TEXTURE3D: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_TEXTURE3D; -pub const D3D11_SRV_DIMENSION_TEXTURECUBE: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_TEXTURECUBE; -pub const D3D11_SRV_DIMENSION_TEXTURECUBEARRAY: D3D_SRV_DIMENSION = - D3D_SRV_DIMENSION_TEXTURECUBEARRAY; -pub const D3D11_SRV_DIMENSION_BUFFEREX: D3D_SRV_DIMENSION = D3D_SRV_DIMENSION_BUFFEREX; -STRUCT!{struct D3D_SHADER_MACRO { - Name: LPCSTR, - Definition: LPCSTR, -}} -pub type LPD3D_SHADER_MACRO = *mut D3D_SHADER_MACRO; -DEFINE_GUID!{IID_ID3D10Blob, - 0x8ba5fb08, 0x5195, 0x40e2, 0xac, 0x58, 0x0d, 0x98, 0x9c, 0x3a, 0x01, 0x02} -RIDL!{#[uuid(0x8ba5fb08, 0x5195, 0x40e2, 0xac, 0x58, 0xd, 0x98, 0x9c, 0x3a, 0x1, 0x2)] -interface ID3D10Blob(ID3D10BlobVtbl): IUnknown(IUnknownVtbl) { - fn GetBufferPointer() -> LPVOID, - fn GetBufferSize() -> SIZE_T, -}} -pub type LPD3D10BLOB = *mut ID3D10Blob; -pub type ID3DBlob = ID3D10Blob; -pub type LPD3DBLOB = *mut ID3DBlob; -ENUM!{enum D3D_INCLUDE_TYPE { - D3D_INCLUDE_LOCAL = 0, - D3D_INCLUDE_SYSTEM, -}} -pub const D3D10_INCLUDE_LOCAL: D3D_INCLUDE_TYPE = D3D_INCLUDE_LOCAL; -pub const D3D10_INCLUDE_SYSTEM: D3D_INCLUDE_TYPE = D3D_INCLUDE_SYSTEM; -RIDL!{#[uuid(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)] -interface ID3DInclude(ID3DIncludeVtbl) { - fn Open( - IncludeType: D3D_INCLUDE_TYPE, - pFileName: LPCSTR, - pParentData: LPCVOID, - ppData: *mut LPCVOID, - pBytes: *mut UINT, - ) -> HRESULT, - fn Close( - pData: LPCVOID, - ) -> HRESULT, -}} -pub type LPD3DINCLUDE = *mut ID3DInclude; -ENUM!{enum D3D_SHADER_VARIABLE_CLASS { - D3D_SVC_SCALAR = 0, - D3D_SVC_VECTOR, - D3D_SVC_MATRIX_ROWS, - D3D_SVC_MATRIX_COLUMNS, - D3D_SVC_OBJECT, - D3D_SVC_STRUCT, - D3D_SVC_INTERFACE_CLASS, - D3D_SVC_INTERFACE_POINTER, -}} -pub const D3D10_SVC_SCALAR: D3D_SHADER_VARIABLE_CLASS = D3D_SVC_SCALAR; -pub const D3D10_SVC_VECTOR: D3D_SHADER_VARIABLE_CLASS = D3D_SVC_VECTOR; -pub const D3D10_SVC_MATRIX_ROWS: D3D_SHADER_VARIABLE_CLASS = D3D_SVC_MATRIX_ROWS; -pub const D3D10_SVC_MATRIX_COLUMNS: D3D_SHADER_VARIABLE_CLASS = D3D_SVC_MATRIX_COLUMNS; -pub const D3D10_SVC_OBJECT: D3D_SHADER_VARIABLE_CLASS = D3D_SVC_OBJECT; -pub const D3D10_SVC_STRUCT: D3D_SHADER_VARIABLE_CLASS = D3D_SVC_STRUCT; -pub const D3D11_SVC_INTERFACE_CLASS: D3D_SHADER_VARIABLE_CLASS = D3D_SVC_INTERFACE_CLASS; -pub const D3D11_SVC_INTERFACE_POINTER: D3D_SHADER_VARIABLE_CLASS = D3D_SVC_INTERFACE_POINTER; -ENUM!{enum D3D_SHADER_VARIABLE_FLAGS { - D3D_SVF_USERPACKED = 1, - D3D_SVF_USED = 2, - D3D_SVF_INTERFACE_POINTER = 4, - D3D_SVF_INTERFACE_PARAMETER = 8, -}} -pub const D3D10_SVF_USERPACKED: D3D_SHADER_VARIABLE_FLAGS = D3D_SVF_USERPACKED; -pub const D3D10_SVF_USED: D3D_SHADER_VARIABLE_FLAGS = D3D_SVF_USED; -pub const D3D11_SVF_INTERFACE_POINTER: D3D_SHADER_VARIABLE_FLAGS = D3D_SVF_INTERFACE_POINTER; -pub const D3D11_SVF_INTERFACE_PARAMETER: D3D_SHADER_VARIABLE_FLAGS = D3D_SVF_INTERFACE_PARAMETER; -ENUM!{enum D3D_SHADER_VARIABLE_TYPE { - D3D_SVT_VOID = 0, - D3D_SVT_BOOL = 1, - D3D_SVT_INT = 2, - D3D_SVT_FLOAT = 3, - D3D_SVT_STRING = 4, - D3D_SVT_TEXTURE = 5, - D3D_SVT_TEXTURE1D = 6, - D3D_SVT_TEXTURE2D = 7, - D3D_SVT_TEXTURE3D = 8, - D3D_SVT_TEXTURECUBE = 9, - D3D_SVT_SAMPLER = 10, - D3D_SVT_SAMPLER1D = 11, - D3D_SVT_SAMPLER2D = 12, - D3D_SVT_SAMPLER3D = 13, - D3D_SVT_SAMPLERCUBE = 14, - D3D_SVT_PIXELSHADER = 15, - D3D_SVT_VERTEXSHADER = 16, - D3D_SVT_PIXELFRAGMENT = 17, - D3D_SVT_VERTEXFRAGMENT = 18, - D3D_SVT_UINT = 19, - D3D_SVT_UINT8 = 20, - D3D_SVT_GEOMETRYSHADER = 21, - D3D_SVT_RASTERIZER = 22, - D3D_SVT_DEPTHSTENCIL = 23, - D3D_SVT_BLEND = 24, - D3D_SVT_BUFFER = 25, - D3D_SVT_CBUFFER = 26, - D3D_SVT_TBUFFER = 27, - D3D_SVT_TEXTURE1DARRAY = 28, - D3D_SVT_TEXTURE2DARRAY = 29, - D3D_SVT_RENDERTARGETVIEW = 30, - D3D_SVT_DEPTHSTENCILVIEW = 31, - D3D_SVT_TEXTURE2DMS = 32, - D3D_SVT_TEXTURE2DMSARRAY = 33, - D3D_SVT_TEXTURECUBEARRAY = 34, - D3D_SVT_HULLSHADER = 35, - D3D_SVT_DOMAINSHADER = 36, - D3D_SVT_INTERFACE_POINTER = 37, - D3D_SVT_COMPUTESHADER = 38, - D3D_SVT_DOUBLE = 39, - D3D_SVT_RWTEXTURE1D = 40, - D3D_SVT_RWTEXTURE1DARRAY = 41, - D3D_SVT_RWTEXTURE2D = 42, - D3D_SVT_RWTEXTURE2DARRAY = 43, - D3D_SVT_RWTEXTURE3D = 44, - D3D_SVT_RWBUFFER = 45, - D3D_SVT_BYTEADDRESS_BUFFER = 46, - D3D_SVT_RWBYTEADDRESS_BUFFER = 47, - D3D_SVT_STRUCTURED_BUFFER = 48, - D3D_SVT_RWSTRUCTURED_BUFFER = 49, - D3D_SVT_APPEND_STRUCTURED_BUFFER = 50, - D3D_SVT_CONSUME_STRUCTURED_BUFFER = 51, - D3D_SVT_MIN8FLOAT = 52, - D3D_SVT_MIN10FLOAT = 53, - D3D_SVT_MIN16FLOAT = 54, - D3D_SVT_MIN12INT = 55, - D3D_SVT_MIN16INT = 56, - D3D_SVT_MIN16UINT = 57, -}} -pub const D3D10_SVT_VOID: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_VOID; -pub const D3D10_SVT_BOOL: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_BOOL; -pub const D3D10_SVT_INT: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_INT; -pub const D3D10_SVT_FLOAT: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_FLOAT; -pub const D3D10_SVT_STRING: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_STRING; -pub const D3D10_SVT_TEXTURE: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TEXTURE; -pub const D3D10_SVT_TEXTURE1D: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TEXTURE1D; -pub const D3D10_SVT_TEXTURE2D: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TEXTURE2D; -pub const D3D10_SVT_TEXTURE3D: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TEXTURE3D; -pub const D3D10_SVT_TEXTURECUBE: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TEXTURECUBE; -pub const D3D10_SVT_SAMPLER: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_SAMPLER; -pub const D3D10_SVT_SAMPLER1D: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_SAMPLER1D; -pub const D3D10_SVT_SAMPLER2D: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_SAMPLER2D; -pub const D3D10_SVT_SAMPLER3D: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_SAMPLER3D; -pub const D3D10_SVT_SAMPLERCUBE: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_SAMPLERCUBE; -pub const D3D10_SVT_PIXELSHADER: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_PIXELSHADER; -pub const D3D10_SVT_VERTEXSHADER: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_VERTEXSHADER; -pub const D3D10_SVT_PIXELFRAGMENT: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_PIXELFRAGMENT; -pub const D3D10_SVT_VERTEXFRAGMENT: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_VERTEXFRAGMENT; -pub const D3D10_SVT_UINT: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_UINT; -pub const D3D10_SVT_UINT8: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_UINT8; -pub const D3D10_SVT_GEOMETRYSHADER: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_GEOMETRYSHADER; -pub const D3D10_SVT_RASTERIZER: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_RASTERIZER; -pub const D3D10_SVT_DEPTHSTENCIL: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_DEPTHSTENCIL; -pub const D3D10_SVT_BLEND: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_BLEND; -pub const D3D10_SVT_BUFFER: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_BUFFER; -pub const D3D10_SVT_CBUFFER: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_CBUFFER; -pub const D3D10_SVT_TBUFFER: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TBUFFER; -pub const D3D10_SVT_TEXTURE1DARRAY: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TEXTURE1DARRAY; -pub const D3D10_SVT_TEXTURE2DARRAY: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TEXTURE2DARRAY; -pub const D3D10_SVT_RENDERTARGETVIEW: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_RENDERTARGETVIEW; -pub const D3D10_SVT_DEPTHSTENCILVIEW: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_DEPTHSTENCILVIEW; -pub const D3D10_SVT_TEXTURE2DMS: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TEXTURE2DMS; -pub const D3D10_SVT_TEXTURE2DMSARRAY: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TEXTURE2DMSARRAY; -pub const D3D10_SVT_TEXTURECUBEARRAY: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TEXTURECUBEARRAY; -pub const D3D11_SVT_HULLSHADER: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_HULLSHADER; -pub const D3D11_SVT_DOMAINSHADER: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_DOMAINSHADER; -pub const D3D11_SVT_INTERFACE_POINTER: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_INTERFACE_POINTER; -pub const D3D11_SVT_COMPUTESHADER: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_COMPUTESHADER; -pub const D3D11_SVT_DOUBLE: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_DOUBLE; -pub const D3D11_SVT_RWTEXTURE1D: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_RWTEXTURE1D; -pub const D3D11_SVT_RWTEXTURE1DARRAY: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_RWTEXTURE1DARRAY; -pub const D3D11_SVT_RWTEXTURE2D: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_RWTEXTURE2D; -pub const D3D11_SVT_RWTEXTURE2DARRAY: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_RWTEXTURE2DARRAY; -pub const D3D11_SVT_RWTEXTURE3D: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_RWTEXTURE3D; -pub const D3D11_SVT_RWBUFFER: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_RWBUFFER; -pub const D3D11_SVT_BYTEADDRESS_BUFFER: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_BYTEADDRESS_BUFFER; -pub const D3D11_SVT_RWBYTEADDRESS_BUFFER: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_RWBYTEADDRESS_BUFFER; -pub const D3D11_SVT_STRUCTURED_BUFFER: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_STRUCTURED_BUFFER; -pub const D3D11_SVT_RWSTRUCTURED_BUFFER: D3D_SHADER_VARIABLE_TYPE = D3D_SVT_RWSTRUCTURED_BUFFER; -pub const D3D11_SVT_APPEND_STRUCTURED_BUFFER: D3D_SHADER_VARIABLE_TYPE = - D3D_SVT_APPEND_STRUCTURED_BUFFER; -pub const D3D11_SVT_CONSUME_STRUCTURED_BUFFER: D3D_SHADER_VARIABLE_TYPE = - D3D_SVT_CONSUME_STRUCTURED_BUFFER; -ENUM!{enum D3D_SHADER_INPUT_FLAGS { - D3D_SIF_USERPACKED = 0x1, - D3D_SIF_COMPARISON_SAMPLER = 0x2, - D3D_SIF_TEXTURE_COMPONENT_0 = 0x4, - D3D_SIF_TEXTURE_COMPONENT_1 = 0x8, - D3D_SIF_TEXTURE_COMPONENTS = 0xc, - D3D_SIF_UNUSED = 0x10, -}} -pub const D3D10_SIF_USERPACKED: D3D_SHADER_INPUT_FLAGS = D3D_SIF_USERPACKED; -pub const D3D10_SIF_COMPARISON_SAMPLER: D3D_SHADER_INPUT_FLAGS = D3D_SIF_COMPARISON_SAMPLER; -pub const D3D10_SIF_TEXTURE_COMPONENT_0: D3D_SHADER_INPUT_FLAGS = D3D_SIF_TEXTURE_COMPONENT_0; -pub const D3D10_SIF_TEXTURE_COMPONENT_1: D3D_SHADER_INPUT_FLAGS = D3D_SIF_TEXTURE_COMPONENT_1; -pub const D3D10_SIF_TEXTURE_COMPONENTS: D3D_SHADER_INPUT_FLAGS = D3D_SIF_TEXTURE_COMPONENTS; -ENUM!{enum D3D_SHADER_INPUT_TYPE { - D3D_SIT_CBUFFER, - D3D_SIT_TBUFFER, - D3D_SIT_TEXTURE, - D3D_SIT_SAMPLER, - D3D_SIT_UAV_RWTYPED, - D3D_SIT_STRUCTURED, - D3D_SIT_UAV_RWSTRUCTURED, - D3D_SIT_BYTEADDRESS, - D3D_SIT_UAV_RWBYTEADDRESS, - D3D_SIT_UAV_APPEND_STRUCTURED, - D3D_SIT_UAV_CONSUME_STRUCTURED, - D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER, -}} -pub const D3D10_SIT_CBUFFER: D3D_SHADER_INPUT_TYPE = D3D_SIT_CBUFFER; -pub const D3D10_SIT_TBUFFER: D3D_SHADER_INPUT_TYPE = D3D_SIT_TBUFFER; -pub const D3D10_SIT_TEXTURE: D3D_SHADER_INPUT_TYPE = D3D_SIT_TEXTURE; -pub const D3D10_SIT_SAMPLER: D3D_SHADER_INPUT_TYPE = D3D_SIT_SAMPLER; -pub const D3D11_SIT_UAV_RWTYPED: D3D_SHADER_INPUT_TYPE = D3D_SIT_UAV_RWTYPED; -pub const D3D11_SIT_STRUCTURED: D3D_SHADER_INPUT_TYPE = D3D_SIT_STRUCTURED; -pub const D3D11_SIT_UAV_RWSTRUCTURED: D3D_SHADER_INPUT_TYPE = D3D_SIT_UAV_RWSTRUCTURED; -pub const D3D11_SIT_BYTEADDRESS: D3D_SHADER_INPUT_TYPE = D3D_SIT_BYTEADDRESS; -pub const D3D11_SIT_UAV_RWBYTEADDRESS: D3D_SHADER_INPUT_TYPE = D3D_SIT_UAV_RWBYTEADDRESS; -pub const D3D11_SIT_UAV_APPEND_STRUCTURED: D3D_SHADER_INPUT_TYPE = D3D_SIT_UAV_APPEND_STRUCTURED; -pub const D3D11_SIT_UAV_CONSUME_STRUCTURED: D3D_SHADER_INPUT_TYPE = D3D_SIT_UAV_CONSUME_STRUCTURED; -pub const D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER: D3D_SHADER_INPUT_TYPE = - D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER; -ENUM!{enum D3D_SHADER_CBUFFER_FLAGS { - D3D_CBF_USERPACKED = 1, -}} -pub const D3D10_CBF_USERPACKED: D3D_SHADER_CBUFFER_FLAGS = D3D_CBF_USERPACKED; -ENUM!{enum D3D_CBUFFER_TYPE { - D3D_CT_CBUFFER, - D3D_CT_TBUFFER, - D3D_CT_INTERFACE_POINTERS, - D3D_CT_RESOURCE_BIND_INFO, -}} -pub const D3D10_CT_CBUFFER: D3D_CBUFFER_TYPE = D3D_CT_CBUFFER; -pub const D3D10_CT_TBUFFER: D3D_CBUFFER_TYPE = D3D_CT_TBUFFER; -pub const D3D11_CT_CBUFFER: D3D_CBUFFER_TYPE = D3D_CT_CBUFFER; -pub const D3D11_CT_TBUFFER: D3D_CBUFFER_TYPE = D3D_CT_TBUFFER; -pub const D3D11_CT_INTERFACE_POINTERS: D3D_CBUFFER_TYPE = D3D_CT_INTERFACE_POINTERS; -pub const D3D11_CT_RESOURCE_BIND_INFO: D3D_CBUFFER_TYPE = D3D_CT_RESOURCE_BIND_INFO; -ENUM!{enum D3D_NAME { - D3D_NAME_UNDEFINED = 0, - D3D_NAME_POSITION = 1, - D3D_NAME_CLIP_DISTANCE = 2, - D3D_NAME_CULL_DISTANCE = 3, - D3D_NAME_RENDER_TARGET_ARRAY_INDEX = 4, - D3D_NAME_VIEWPORT_ARRAY_INDEX = 5, - D3D_NAME_VERTEX_ID = 6, - D3D_NAME_PRIMITIVE_ID = 7, - D3D_NAME_INSTANCE_ID = 8, - D3D_NAME_IS_FRONT_FACE = 9, - D3D_NAME_SAMPLE_INDEX = 10, - D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR = 11, - D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = 12, - D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR = 13, - D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR = 14, - D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR = 15, - D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR = 16, - D3D_NAME_TARGET = 64, - D3D_NAME_DEPTH = 65, - D3D_NAME_COVERAGE = 66, - D3D_NAME_DEPTH_GREATER_EQUAL = 67, - D3D_NAME_DEPTH_LESS_EQUAL = 68, -}} -pub const D3D10_NAME_UNDEFINED: D3D_NAME = D3D_NAME_UNDEFINED; -pub const D3D10_NAME_POSITION: D3D_NAME = D3D_NAME_POSITION; -pub const D3D10_NAME_CLIP_DISTANCE: D3D_NAME = D3D_NAME_CLIP_DISTANCE; -pub const D3D10_NAME_CULL_DISTANCE: D3D_NAME = D3D_NAME_CULL_DISTANCE; -pub const D3D10_NAME_RENDER_TARGET_ARRAY_INDEX: D3D_NAME = D3D_NAME_RENDER_TARGET_ARRAY_INDEX; -pub const D3D10_NAME_VIEWPORT_ARRAY_INDEX: D3D_NAME = D3D_NAME_VIEWPORT_ARRAY_INDEX; -pub const D3D10_NAME_VERTEX_ID: D3D_NAME = D3D_NAME_VERTEX_ID; -pub const D3D10_NAME_PRIMITIVE_ID: D3D_NAME = D3D_NAME_PRIMITIVE_ID; -pub const D3D10_NAME_INSTANCE_ID: D3D_NAME = D3D_NAME_INSTANCE_ID; -pub const D3D10_NAME_IS_FRONT_FACE: D3D_NAME = D3D_NAME_IS_FRONT_FACE; -pub const D3D10_NAME_SAMPLE_INDEX: D3D_NAME = D3D_NAME_SAMPLE_INDEX; -pub const D3D10_NAME_TARGET: D3D_NAME = D3D_NAME_TARGET; -pub const D3D10_NAME_DEPTH: D3D_NAME = D3D_NAME_DEPTH; -pub const D3D10_NAME_COVERAGE: D3D_NAME = D3D_NAME_COVERAGE; -pub const D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR: D3D_NAME = D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR; -pub const D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR: D3D_NAME - = D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR; -pub const D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR: D3D_NAME = D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR; -pub const D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR: D3D_NAME = D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR; -pub const D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR: D3D_NAME - = D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR; -pub const D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR: D3D_NAME - = D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR; -pub const D3D11_NAME_DEPTH_GREATER_EQUAL: D3D_NAME = D3D_NAME_DEPTH_GREATER_EQUAL; -pub const D3D11_NAME_DEPTH_LESS_EQUAL: D3D_NAME = D3D_NAME_DEPTH_LESS_EQUAL; -ENUM!{enum D3D_RESOURCE_RETURN_TYPE { - D3D_RETURN_TYPE_UNORM = 1, - D3D_RETURN_TYPE_SNORM = 2, - D3D_RETURN_TYPE_SINT = 3, - D3D_RETURN_TYPE_UINT = 4, - D3D_RETURN_TYPE_FLOAT = 5, - D3D_RETURN_TYPE_MIXED = 6, - D3D_RETURN_TYPE_DOUBLE = 7, - D3D_RETURN_TYPE_CONTINUED = 8, -}} -pub const D3D10_RETURN_TYPE_UNORM: D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_UNORM; -pub const D3D10_RETURN_TYPE_SNORM: D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_SNORM; -pub const D3D10_RETURN_TYPE_SINT: D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_SINT; -pub const D3D10_RETURN_TYPE_UINT: D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_UINT; -pub const D3D10_RETURN_TYPE_FLOAT: D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_FLOAT; -pub const D3D10_RETURN_TYPE_MIXED: D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_MIXED; -pub const D3D11_RETURN_TYPE_UNORM: D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_UNORM; -pub const D3D11_RETURN_TYPE_SNORM: D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_SNORM; -pub const D3D11_RETURN_TYPE_SINT: D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_SINT; -pub const D3D11_RETURN_TYPE_UINT: D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_UINT; -pub const D3D11_RETURN_TYPE_FLOAT: D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_FLOAT; -pub const D3D11_RETURN_TYPE_MIXED: D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_MIXED; -pub const D3D11_RETURN_TYPE_DOUBLE: D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_DOUBLE; -pub const D3D11_RETURN_TYPE_CONTINUED: D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_CONTINUED; -ENUM!{enum D3D_REGISTER_COMPONENT_TYPE { - D3D_REGISTER_COMPONENT_UNKNOWN = 0, - D3D_REGISTER_COMPONENT_UINT32 = 1, - D3D_REGISTER_COMPONENT_SINT32 = 2, - D3D_REGISTER_COMPONENT_FLOAT32 = 3, -}} -pub const D3D10_REGISTER_COMPONENT_UNKNOWN: D3D_REGISTER_COMPONENT_TYPE = - D3D_REGISTER_COMPONENT_UNKNOWN; -pub const D3D10_REGISTER_COMPONENT_UINT32: D3D_REGISTER_COMPONENT_TYPE = - D3D_REGISTER_COMPONENT_UINT32; -pub const D3D10_REGISTER_COMPONENT_SINT32: D3D_REGISTER_COMPONENT_TYPE = - D3D_REGISTER_COMPONENT_SINT32; -pub const D3D10_REGISTER_COMPONENT_FLOAT32: D3D_REGISTER_COMPONENT_TYPE = - D3D_REGISTER_COMPONENT_FLOAT32; -ENUM!{enum D3D_TESSELLATOR_DOMAIN { - D3D_TESSELLATOR_DOMAIN_UNDEFINED, - D3D_TESSELLATOR_DOMAIN_ISOLINE, - D3D_TESSELLATOR_DOMAIN_TRI, - D3D_TESSELLATOR_DOMAIN_QUAD, -}} -pub const D3D11_TESSELLATOR_DOMAIN_UNDEFINED: D3D_TESSELLATOR_DOMAIN = - D3D_TESSELLATOR_DOMAIN_UNDEFINED; -pub const D3D11_TESSELLATOR_DOMAIN_ISOLINE: D3D_TESSELLATOR_DOMAIN = - D3D_TESSELLATOR_DOMAIN_ISOLINE; -pub const D3D11_TESSELLATOR_DOMAIN_TRI: D3D_TESSELLATOR_DOMAIN = D3D_TESSELLATOR_DOMAIN_TRI; -pub const D3D11_TESSELLATOR_DOMAIN_QUAD: D3D_TESSELLATOR_DOMAIN = D3D_TESSELLATOR_DOMAIN_QUAD; -ENUM!{enum D3D_TESSELLATOR_PARTITIONING { - D3D_TESSELLATOR_PARTITIONING_UNDEFINED, - D3D_TESSELLATOR_PARTITIONING_INTEGER, - D3D_TESSELLATOR_PARTITIONING_POW2, - D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD, - D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN, -}} -pub const D3D11_TESSELLATOR_PARTITIONING_UNDEFINED: D3D_TESSELLATOR_PARTITIONING = - D3D_TESSELLATOR_PARTITIONING_UNDEFINED; -pub const D3D11_TESSELLATOR_PARTITIONING_INTEGER: D3D_TESSELLATOR_PARTITIONING = - D3D_TESSELLATOR_PARTITIONING_INTEGER; -pub const D3D11_TESSELLATOR_PARTITIONING_POW2: D3D_TESSELLATOR_PARTITIONING = - D3D_TESSELLATOR_PARTITIONING_POW2; -pub const D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD: D3D_TESSELLATOR_PARTITIONING = - D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD; -pub const D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN: D3D_TESSELLATOR_PARTITIONING = - D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN; -ENUM!{enum D3D_TESSELLATOR_OUTPUT_PRIMITIVE { - D3D_TESSELLATOR_OUTPUT_UNDEFINED, - D3D_TESSELLATOR_OUTPUT_POINT, - D3D_TESSELLATOR_OUTPUT_LINE, - D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW, - D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW, -}} -pub const D3D11_TESSELLATOR_OUTPUT_UNDEFINED: D3D_TESSELLATOR_OUTPUT_PRIMITIVE = - D3D_TESSELLATOR_OUTPUT_UNDEFINED; -pub const D3D11_TESSELLATOR_OUTPUT_POINT: D3D_TESSELLATOR_OUTPUT_PRIMITIVE = - D3D_TESSELLATOR_OUTPUT_POINT; -pub const D3D11_TESSELLATOR_OUTPUT_LINE: D3D_TESSELLATOR_OUTPUT_PRIMITIVE = - D3D_TESSELLATOR_OUTPUT_LINE; -pub const D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW: D3D_TESSELLATOR_OUTPUT_PRIMITIVE = - D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW; -pub const D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW: D3D_TESSELLATOR_OUTPUT_PRIMITIVE = - D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW; -ENUM!{enum D3D_MIN_PRECISION { - D3D_MIN_PRECISION_DEFAULT, - D3D_MIN_PRECISION_FLOAT_16, - D3D_MIN_PRECISION_FLOAT_2_8, - D3D_MIN_PRECISION_RESERVED, - D3D_MIN_PRECISION_SINT_16, - D3D_MIN_PRECISION_UINT_16, - D3D_MIN_PRECISION_ANY_16 = 0xf0, - D3D_MIN_PRECISION_ANY_10 = 0xf1, -}} -ENUM!{enum D3D_INTERPOLATION_MODE { - D3D_INTERPOLATION_UNDEFINED, - D3D_INTERPOLATION_CONSTANT, - D3D_INTERPOLATION_LINEAR, - D3D_INTERPOLATION_LINEAR_CENTROID, - D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE, - D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID, - D3D_INTERPOLATION_LINEAR_SAMPLE, - D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE, -}} -ENUM!{enum D3D_PARAMETER_FLAGS { - D3D_PF_NONE = 0, - D3D_PF_IN = 0x1, - D3D_PF_OUT = 0x2, -}} -DEFINE_GUID!{WKPDID_D3DDebugObjectName, - 0x429b8c22, 0x9188, 0x4b0c, 0x87, 0x42, 0xac, 0xb0, 0xbf, 0x85, 0xc2, 0x00} -DEFINE_GUID!{WKPDID_D3DDebugObjectNameW, - 0x4cca5fd8, 0x921f, 0x42c8, 0x85, 0x66, 0x70, 0xca, 0xf2, 0xa9, 0xb7, 0x41} -DEFINE_GUID!{WKPDID_CommentStringW, - 0xd0149dc0, 0x90e8, 0x4ec8, 0x81, 0x44, 0xe9, 0x00, 0xad, 0x26, 0x6b, 0xb2} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3dcompiler.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3dcompiler.rs deleted file mode 100644 index 944ae25f0..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3dcompiler.rs +++ /dev/null @@ -1,274 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_void; -use shared::basetsd::SIZE_T; -use shared::guiddef::REFIID; -use shared::minwindef::{BOOL, DWORD, LPCVOID, LPVOID, UINT}; -use um::d3d11shader::{ID3D11FunctionLinkingGraph, ID3D11Linker, ID3D11Module}; -use um::d3dcommon::{D3D_SHADER_MACRO, ID3DBlob, ID3DInclude}; -use um::winnt::{HRESULT, LPCSTR, LPCWSTR}; -pub const D3DCOMPILER_DLL: &'static str = "d3dcompiler_47.dll"; -pub const D3D_COMPILER_VERSION: DWORD = 47; -extern "system" { - pub fn D3DReadFileToBlob( - pFileName: LPCWSTR, - ppContents: *mut *mut ID3DBlob, - ) -> HRESULT; - pub fn D3DWriteBlobToFile( - pBlob: *mut ID3DBlob, - pFileName: LPCWSTR, - bOverwrite: BOOL, - ) -> HRESULT; -} -pub const D3DCOMPILE_DEBUG: DWORD = 1 << 0; -pub const D3DCOMPILE_SKIP_VALIDATION: DWORD = 1 << 1; -pub const D3DCOMPILE_SKIP_OPTIMIZATION: DWORD = 1 << 2; -pub const D3DCOMPILE_PACK_MATRIX_ROW_MAJOR: DWORD = 1 << 3; -pub const D3DCOMPILE_PACK_MATRIX_COLUMN_MAJOR: DWORD = 1 << 4; -pub const D3DCOMPILE_PARTIAL_PRECISION: DWORD = 1 << 5; -pub const D3DCOMPILE_FORCE_VS_SOFTWARE_NO_OPT: DWORD = 1 << 6; -pub const D3DCOMPILE_FORCE_PS_SOFTWARE_NO_OPT: DWORD = 1 << 7; -pub const D3DCOMPILE_NO_PRESHADER: DWORD = 1 << 8; -pub const D3DCOMPILE_AVOID_FLOW_CONTROL: DWORD = 1 << 9; -pub const D3DCOMPILE_PREFER_FLOW_CONTROL: DWORD = 1 << 10; -pub const D3DCOMPILE_ENABLE_STRICTNESS: DWORD = 1 << 11; -pub const D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY: DWORD = 1 << 12; -pub const D3DCOMPILE_IEEE_STRICTNESS: DWORD = 1 << 13; -pub const D3DCOMPILE_OPTIMIZATION_LEVEL0: DWORD = 1 << 14; -pub const D3DCOMPILE_OPTIMIZATION_LEVEL1: DWORD = 0; -pub const D3DCOMPILE_OPTIMIZATION_LEVEL2: DWORD = (1 << 14) | (1 << 15); -pub const D3DCOMPILE_OPTIMIZATION_LEVEL3: DWORD = 1 << 15; -pub const D3DCOMPILE_RESERVED16: DWORD = 1 << 16; -pub const D3DCOMPILE_RESERVED17: DWORD = 1 << 17; -pub const D3DCOMPILE_WARNINGS_ARE_ERRORS: DWORD = 1 << 18; -pub const D3DCOMPILE_RESOURCES_MAY_ALIAS: DWORD = 1 << 19; -pub const D3DCOMPILE_ENABLE_UNBOUNDED_DESCRIPTOR_TABLES: DWORD = 1 << 20; -pub const D3DCOMPILE_ALL_RESOURCES_BOUND: DWORD = 1 << 21; -pub const D3DCOMPILE_EFFECT_CHILD_EFFECT: DWORD = 1 << 0; -pub const D3DCOMPILE_EFFECT_ALLOW_SLOW_OPS: DWORD = 1 << 1; -pub const D3D_COMPILE_STANDARD_FILE_INCLUDE: *mut ID3DInclude = 1 as *mut ID3DInclude; -extern "system" { - pub fn D3DCompile( - pSrcData: LPCVOID, - SrcDataSize: SIZE_T, - pSourceName: LPCSTR, - pDefines: *const D3D_SHADER_MACRO, - pInclude: *mut ID3DInclude, - pEntrypoint: LPCSTR, - pTarget: LPCSTR, - Flags1: UINT, - Flags2: UINT, - ppCode: *mut *mut ID3DBlob, - ppErrorMsgs: *mut *mut ID3DBlob, - ) -> HRESULT; -} -pub const D3DCOMPILE_SECDATA_MERGE_UAV_SLOTS: DWORD = 0x00000001; -pub const D3DCOMPILE_SECDATA_PRESERVE_TEMPLATE_SLOTS: DWORD = 0x00000002; -pub const D3DCOMPILE_SECDATA_REQUIRE_TEMPLATE_MATCH: DWORD = 0x00000004; -extern "system" { - pub fn D3DCompile2( - pSrcData: LPCVOID, - SrcDataSize: SIZE_T, - pSourceName: LPCSTR, - pDefines: *const D3D_SHADER_MACRO, - pInclude: *mut ID3DInclude, - pEntrypoint: LPCSTR, - pTarget: LPCSTR, - Flags1: UINT, - Flags2: UINT, - SecondaryDataFlags: UINT, - pSecondaryData: LPCVOID, - SecondaryDataSize: SIZE_T, - ppCode: *mut *mut ID3DBlob, - ppErrorMsgs: *mut *mut ID3DBlob, - ) -> HRESULT; - pub fn D3DCompileFromFile( - pFileName: LPCWSTR, - pDefines: *const D3D_SHADER_MACRO, - pInclude: *mut ID3DInclude, - pEntrypoint: LPCSTR, - pTarget: LPCSTR, - Flags1: UINT, - Flags2: UINT, - ppCode: *mut *mut ID3DBlob, - ppErrorMsgs: *mut *mut ID3DBlob, - ) -> HRESULT; - pub fn D3DPreprocess( - pSrcData: LPCVOID, - SrcDataSize: SIZE_T, - pSourceName: LPCSTR, - pDefines: *const D3D_SHADER_MACRO, - pInclude: *mut ID3DInclude, - ppCodeText: *mut *mut ID3DBlob, - ppErrorMsgs: *mut *mut ID3DBlob, - ) -> HRESULT; - pub fn D3DGetDebugInfo( - pSrcData: LPCVOID, - SrcDataSize: SIZE_T, - ppDebugInfo: *mut *mut ID3DBlob, - ) -> HRESULT; - pub fn D3DReflect( - pSrcData: LPCVOID, - SrcDataSize: SIZE_T, - pInterface: REFIID, - ppReflector: *mut *mut c_void, - ) -> HRESULT; - pub fn D3DReflectLibrary( - pSrcData: LPCVOID, - SrcDataSize: SIZE_T, - riid: REFIID, - ppReflector: *mut LPVOID, - ) -> HRESULT; -} -pub const D3D_DISASM_ENABLE_COLOR_CODE: DWORD = 0x00000001; -pub const D3D_DISASM_ENABLE_DEFAULT_VALUE_PRINTS: DWORD = 0x00000002; -pub const D3D_DISASM_ENABLE_INSTRUCTION_NUMBERING: DWORD = 0x00000004; -pub const D3D_DISASM_ENABLE_INSTRUCTION_CYCLE: DWORD = 0x00000008; -pub const D3D_DISASM_DISABLE_DEBUG_INFO: DWORD = 0x00000010; -pub const D3D_DISASM_ENABLE_INSTRUCTION_OFFSET: DWORD = 0x00000020; -pub const D3D_DISASM_INSTRUCTION_ONLY: DWORD = 0x00000040; -pub const D3D_DISASM_PRINT_HEX_LITERALS: DWORD = 0x00000080; -extern "system" { - pub fn D3DDisassemble( - pSrcData: LPCVOID, - SrcDataSize: SIZE_T, - Flags: UINT, - szComments: LPCSTR, - ppDisassembly: *mut *mut ID3DBlob, - ) -> HRESULT; - pub fn D3DDisassembleRegion( - pSrcData: LPCVOID, - SrcDataSize: SIZE_T, - Flags: UINT, - szComments: LPCSTR, - StartByteOffset: SIZE_T, - NumInsts: SIZE_T, - pFinishByteOffset: *mut SIZE_T, - ppDisassembly: *mut *mut ID3DBlob, - ) -> HRESULT; - pub fn D3DCreateLinker( - ppLinker: *mut *mut ID3D11Linker, - ) -> HRESULT; - pub fn D3DLoadModule( - pSrcData: LPCVOID, - cbSrcDataSize: SIZE_T, - ppModule: *mut *mut ID3D11Module, - ) -> HRESULT; - pub fn D3DCreateFunctionLinkingGraph( - uFlags: UINT, - ppFunctionLinkingGraph: *mut *mut ID3D11FunctionLinkingGraph, - ) -> HRESULT; -} -pub const D3D_GET_INST_OFFSETS_INCLUDE_NON_EXECUTABLE: DWORD = 0x00000001; -extern "system" { - pub fn D3DGetTraceInstructionOffsets( - pSrcData: LPCVOID, - SrcDataSize: SIZE_T, - Flags: UINT, - StartInstIndex: SIZE_T, - NumInsts: SIZE_T, - pOffsets: *mut SIZE_T, - pTotalInsts: *mut SIZE_T, - ) -> HRESULT; - pub fn D3DGetInputSignatureBlob( - pSrcData: LPCVOID, - SrcDataSize: SIZE_T, - ppSignatureBlob: *mut *mut ID3DBlob, - ) -> HRESULT; - pub fn D3DGetOutputSignatureBlob( - pSrcData: LPCVOID, - SrcDataSize: SIZE_T, - ppSignatureBlob: *mut *mut ID3DBlob, - ) -> HRESULT; - pub fn D3DGetInputAndOutputSignatureBlob( - pSrcData: LPCVOID, - SrcDataSize: SIZE_T, - ppSignatureBlob: *mut *mut ID3DBlob, - ) -> HRESULT; -} -ENUM!{enum D3DCOMPILER_STRIP_FLAGS { - D3DCOMPILER_STRIP_REFLECTION_DATA = 0x00000001, - D3DCOMPILER_STRIP_DEBUG_INFO = 0x00000002, - D3DCOMPILER_STRIP_TEST_BLOBS = 0x00000004, - D3DCOMPILER_STRIP_PRIVATE_DATA = 0x00000008, - D3DCOMPILER_STRIP_ROOT_SIGNATURE = 0x00000010, - D3DCOMPILER_STRIP_FORCE_DWORD = 0x7fffffff, -}} -extern "system" { - pub fn D3DStripShader( - pShaderBytecode: LPCVOID, - BytecodeLength: SIZE_T, - uStripFlags: UINT, - ppStrippedBlob: *mut *mut ID3DBlob, - ) -> HRESULT; -} -ENUM!{enum D3D_BLOB_PART { - D3D_BLOB_INPUT_SIGNATURE_BLOB, - D3D_BLOB_OUTPUT_SIGNATURE_BLOB, - D3D_BLOB_INPUT_AND_OUTPUT_SIGNATURE_BLOB, - D3D_BLOB_PATCH_CONSTANT_SIGNATURE_BLOB, - D3D_BLOB_ALL_SIGNATURE_BLOB, - D3D_BLOB_DEBUG_INFO, - D3D_BLOB_LEGACY_SHADER, - D3D_BLOB_XNA_PREPASS_SHADER, - D3D_BLOB_XNA_SHADER, - D3D_BLOB_PDB, - D3D_BLOB_PRIVATE_DATA, - D3D_BLOB_ROOT_SIGNATURE, - D3D_BLOB_TEST_ALTERNATE_SHADER = 0x8000, - D3D_BLOB_TEST_COMPILE_DETAILS, - D3D_BLOB_TEST_COMPILE_PERF, - D3D_BLOB_TEST_COMPILE_REPORT, -}} -extern "system" { - pub fn D3DGetBlobPart( - pSrcData: LPCVOID, - SrcDataSize: SIZE_T, - Part: D3D_BLOB_PART, - Flags: UINT, - ppPart: *mut *mut ID3DBlob, - ) -> HRESULT; - pub fn D3DSetBlobPart( - pSrcData: LPCVOID, - SrcDataSize: SIZE_T, - Part: D3D_BLOB_PART, - Flags: UINT, - pPart: LPCVOID, - PartSize: SIZE_T, - ppNewShader: *mut *mut ID3DBlob, - ) -> HRESULT; - pub fn D3DCreateBlob( - Size: SIZE_T, - ppBlob: *mut *mut ID3DBlob, - ) -> HRESULT; -} -STRUCT!{struct D3D_SHADER_DATA { - pBytecode: LPCVOID, - BytecodeLength: SIZE_T, -}} -extern "system" { - pub fn D3DCompressShaders( - uNumShaders: UINT, - pShaderData: *mut D3D_SHADER_DATA, - uFlags: UINT, - ppCompressedData: *mut *mut ID3DBlob, - ) -> HRESULT; - pub fn D3DDecompressShaders( - pSrcData: LPCVOID, - SrcDataSize: SIZE_T, - uNumShaders: UINT, - uStartIndex: UINT, - pIndices: *mut UINT, - uFlags: UINT, - ppShaders: *mut *mut ID3DBlob, - pTotalShaders: *mut UINT, - ) -> HRESULT; - // pub fn D3DDisassemble10Effect( - // pEffect: *mut ID3D10Effect, - // Flags: UINT, - // ppDisassembly: *mut *mut ID3DBlob, - // ) -> HRESULT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3dcsx.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3dcsx.rs deleted file mode 100644 index c12640061..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3dcsx.rs +++ /dev/null @@ -1,11 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{IID_ID3DX11Scan, - 0x5089b68f, 0xe71d, 0x4d38, 0xbe, 0x8e, 0xf3, 0x63, 0xb9, 0x5a, 0x94, 0x05} -DEFINE_GUID!{IID_ID3DX11SegmentedScan, - 0xa915128c, 0xd954, 0x4c79, 0xbf, 0xe1, 0x64, 0xdb, 0x92, 0x31, 0x94, 0xd6} -DEFINE_GUID!{IID_ID3DX11FFT, - 0xb3f7a938, 0x4c93, 0x4310, 0xa6, 0x75, 0xb3, 0x0d, 0x6d, 0xe5, 0x05, 0x53} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3dx10core.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3dx10core.rs deleted file mode 100644 index c5fb44923..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3dx10core.rs +++ /dev/null @@ -1,11 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{IID_ID3DX10Sprite, - 0xba0b762d, 0x8d28, 0x43ec, 0xb9, 0xdc, 0x2f, 0x84, 0x44, 0x3b, 0x06, 0x14} -DEFINE_GUID!{IID_ID3DX10ThreadPump, - 0xc93fecfa, 0x6967, 0x478a, 0xab, 0xbc, 0x40, 0x2d, 0x90, 0x62, 0x1f, 0xcb} -DEFINE_GUID!{IID_ID3DX10Font, - 0xd79dbb70, 0x5f21, 0x4d36, 0xbb, 0xc2, 0xff, 0x52, 0x5c, 0x21, 0x3c, 0xdc} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3dx10math.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3dx10math.rs deleted file mode 100644 index 9c6179fdd..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3dx10math.rs +++ /dev/null @@ -1,7 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{IID_ID3DXMatrixStack, - 0xc7885ba7, 0xf990, 0x4fe7, 0x92, 0x2d, 0x85, 0x15, 0xe4, 0x77, 0xdd, 0x85} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/d3dx10mesh.rs b/vendor/registry-40351f815f426200/winapi/src/um/d3dx10mesh.rs deleted file mode 100644 index 319df62d8..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/d3dx10mesh.rs +++ /dev/null @@ -1,19 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{IID_ID3DX10BaseMesh, - 0x7ed943dd, 0x52e8, 0x40b5, 0xa8, 0xd8, 0x76, 0x68, 0x5c, 0x40, 0x63, 0x30} -DEFINE_GUID!{IID_ID3DX10MeshBuffer, - 0x04b0d117, 0x1041, 0x46b1, 0xaa, 0x8a, 0x39, 0x52, 0x84, 0x8b, 0xa2, 0x2e} -DEFINE_GUID!{IID_ID3DX10Mesh, - 0x4020e5c2, 0x1403, 0x4929, 0x88, 0x3f, 0xe2, 0xe8, 0x49, 0xfa, 0xc1, 0x95} -DEFINE_GUID!{IID_ID3DX10PMesh, - 0x8875769a, 0xd579, 0x4088, 0xaa, 0xeb, 0x53, 0x4d, 0x1a, 0xd8, 0x4e, 0x96} -DEFINE_GUID!{IID_ID3DX10SPMesh, - 0x667ea4c7, 0xf1cd, 0x4386, 0xb5, 0x23, 0x7c, 0x02, 0x90, 0xb8, 0x3c, 0xc5} -DEFINE_GUID!{IID_ID3DX10PatchMesh, - 0x3ce6cc22, 0xdbf2, 0x44f4, 0x89, 0x4d, 0xf9, 0xc3, 0x4a, 0x33, 0x71, 0x39} -DEFINE_GUID!{IID_ID3DX10SkinInfo, - 0x420bd604, 0x1c76, 0x4a34, 0xa4, 0x66, 0xe4, 0x5d, 0x06, 0x58, 0xa3, 0x2c} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/datetimeapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/datetimeapi.rs deleted file mode 100644 index e8102a108..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/datetimeapi.rs +++ /dev/null @@ -1,60 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_int; -use shared::minwindef::DWORD; -use um::minwinbase::SYSTEMTIME; -use um::winnt::{LCID, LPCSTR, LPCWSTR, LPSTR, LPWSTR}; -extern "system" { - pub fn GetDateFormatA( - Locale: LCID, - dwFlags: DWORD, - lpDate: *const SYSTEMTIME, - lpFormat: LPCSTR, - lpDateStr: LPSTR, - cchDate: c_int, - ) -> c_int; - pub fn GetDateFormatW( - Locale: LCID, - dwFlags: DWORD, - lpDate: *const SYSTEMTIME, - lpFormat: LPCWSTR, - lpDateStr: LPWSTR, - cchDate: c_int, - ) -> c_int; - pub fn GetTimeFormatA( - Locale: LCID, - dwFlags: DWORD, - lpTime: *const SYSTEMTIME, - lpFormat: LPCSTR, - lpTimeStr: LPSTR, - cchTime: c_int, - ) -> c_int; - pub fn GetTimeFormatW( - Locale: LCID, - dwFlags: DWORD, - lpTime: *const SYSTEMTIME, - lpFormat: LPCWSTR, - lpTimeStr: LPWSTR, - cchTime: c_int, - ) -> c_int; - pub fn GetTimeFormatEx( - lpLocaleName: LPCWSTR, - dwFlags: DWORD, - lpTime: *const SYSTEMTIME, - lpFormat: LPCWSTR, - lpTimeStr: LPWSTR, - cchTime: c_int, - ) -> c_int; - pub fn GetDateFormatEx( - lpLocaleName: LPCWSTR, - dwFlags: DWORD, - lpDate: *const SYSTEMTIME, - lpFormat: LPCWSTR, - lpDateStr: LPWSTR, - cchDate: c_int, - lpCalendar: LPCWSTR, - ) -> c_int; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/davclnt.rs b/vendor/registry-40351f815f426200/winapi/src/um/davclnt.rs deleted file mode 100644 index 9bfc5a371..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/davclnt.rs +++ /dev/null @@ -1,104 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -//! This module defines the DAV specific functions that are exposed to the user -use shared::minwindef::{BOOL, DWORD, LPDWORD, PBYTE, PULONG, ULONG}; -use um::winnt::{HANDLE, LPCWSTR, LPWSTR, PVOID, PWSTR}; -pub type OPAQUE_HANDLE = DWORD; -STRUCT!{struct DAV_CALLBACK_AUTH_BLOB { - pBuffer: PVOID, - ulSize: ULONG, - ulType: ULONG, -}} -pub type PDAV_CALLBACK_AUTH_BLOB = *mut DAV_CALLBACK_AUTH_BLOB; -STRUCT!{struct DAV_CALLBACK_AUTH_UNP { - pszUserName: LPWSTR, - ulUserNameLength: ULONG, - pszPassword: LPWSTR, - ulPasswordLength: ULONG, -}} -pub type PDAV_CALLBACK_AUTH_UNP = *mut DAV_CALLBACK_AUTH_UNP; -STRUCT!{struct DAV_CALLBACK_CRED { - AuthBlob: DAV_CALLBACK_AUTH_BLOB, - UNPBlob: DAV_CALLBACK_AUTH_UNP, - bAuthBlobValid: BOOL, - bSave: BOOL, -}} -pub type PDAV_CALLBACK_CRED = *mut DAV_CALLBACK_CRED; -pub const DAV_AUTHN_SCHEME_BASIC: DWORD = 0x00000001; -pub const DAV_AUTHN_SCHEME_NTLM: DWORD = 0x00000002; -pub const DAV_AUTHN_SCHEME_PASSPORT: DWORD = 0x00000004; -pub const DAV_AUTHN_SCHEME_DIGEST: DWORD = 0x00000008; -pub const DAV_AUTHN_SCHEME_NEGOTIATE: DWORD = 0x00000010; -pub const DAV_AUTHN_SCHEME_CERT: DWORD = 0x00010000; -pub const DAV_AUTHN_SCHEME_FBA: DWORD = 0x00100000; -ENUM!{enum AUTHNEXTSTEP { - DefaultBehavior, - RetryRequest, - CancelRequest, -}} -FN!{stdcall PFNDAVAUTHCALLBACK_FREECRED( - pbuffer: PVOID, -) -> DWORD} -FN!{stdcall PFNDAVAUTHCALLBACK( - lpwzServerName: LPWSTR, - lpwzRemoteName: LPWSTR, - dwAuthScheme: DWORD, - dwFlags: DWORD, - pCallbackCred: PDAV_CALLBACK_CRED, - NextStep: *mut AUTHNEXTSTEP, - pFreeCred: *mut PFNDAVAUTHCALLBACK_FREECRED, -) -> DWORD} -extern "system" { - pub fn DavAddConnection( - ConnectionHandle: *mut HANDLE, - RemoteName: LPCWSTR, - UserName: LPCWSTR, - Password: LPCWSTR, - ClientCert: PBYTE, - CertSize: DWORD, - ) -> DWORD; - pub fn DavDeleteConnection( - ConnectionHandle: HANDLE, - ) -> DWORD; - pub fn DavGetUNCFromHTTPPath( - HttpPath: LPCWSTR, - UncPath: LPWSTR, - lpSize: LPDWORD, - ) -> DWORD; - pub fn DavGetHTTPFromUNCPath( - UncPath: LPCWSTR, - HttpPath: LPWSTR, - lpSize: LPDWORD, - ) -> DWORD; - pub fn DavGetTheLockOwnerOfTheFile( - FileName: LPCWSTR, - LockOwnerName: PWSTR, - LockOwnerNameLengthInBytes: PULONG, - ) -> DWORD; - pub fn DavGetExtendedError( - hFile: HANDLE, - ExtError: *mut DWORD, - ExtErrorString: LPWSTR, - cChSize: *mut DWORD, - ) -> DWORD; - pub fn DavFlushFile( - hFile: HANDLE, - ) -> DWORD; - pub fn DavInvalidateCache( - URLName: LPWSTR, - ) -> DWORD; - pub fn DavCancelConnectionsToServer( - URLName: LPWSTR, - fForce: BOOL, - ) -> DWORD; - pub fn DavRegisterAuthCallback( - CallBack: PFNDAVAUTHCALLBACK, - Version: ULONG, - ) -> OPAQUE_HANDLE; - pub fn DavUnregisterAuthCallback( - hCallback: OPAQUE_HANDLE, - ); -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dbghelp.rs b/vendor/registry-40351f815f426200/winapi/src/um/dbghelp.rs deleted file mode 100644 index 384c9a463..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dbghelp.rs +++ /dev/null @@ -1,667 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! DbgHelp include file -use shared::basetsd::{DWORD64, PDWORD64, ULONG64}; -use shared::guiddef::GUID; -use shared::minwindef::{ - BOOL, DWORD, HMODULE, LPDWORD, PDWORD, PUCHAR, PULONG, UCHAR, ULONG, USHORT, WORD, -}; -use um::winnt::{ - BOOLEAN, CHAR, HANDLE, LIST_ENTRY, PCSTR, PCWSTR, PIMAGE_NT_HEADERS, PIMAGE_SECTION_HEADER, - PSTR, PVOID, PWSTR, WCHAR, -}; -#[cfg(target_arch = "x86")] -use um::winnt::{ - PFPO_DATA, PIMAGE_COFF_SYMBOLS_HEADER, PIMAGE_DEBUG_DIRECTORY, PIMAGE_FUNCTION_ENTRY, - PIMAGE_NT_HEADERS32, -}; -#[cfg(target_pointer_width = "64")] -use um::winnt::PIMAGE_NT_HEADERS64; -use vc::vcruntime::size_t; -#[cfg(target_pointer_width = "64")] -STRUCT!{struct LOADED_IMAGE { - ModuleName: PSTR, - hFile: HANDLE, - MappedAddress: PUCHAR, - FileHeader: PIMAGE_NT_HEADERS64, - LastRvaSection: PIMAGE_SECTION_HEADER, - NumberOfSections: ULONG, - Sections: PIMAGE_SECTION_HEADER, - Characteristics: ULONG, - fSystemImage: BOOLEAN, - fDOSImage: BOOLEAN, - fReadOnly: BOOLEAN, - Version: UCHAR, - Links: LIST_ENTRY, - SizeOfImage: ULONG, -}} -#[cfg(target_arch = "x86")] -STRUCT!{struct LOADED_IMAGE { - ModuleName: PSTR, - hFile: HANDLE, - MappedAddress: PUCHAR, - FileHeader: PIMAGE_NT_HEADERS32, - LastRvaSection: PIMAGE_SECTION_HEADER, - NumberOfSections: ULONG, - Sections: PIMAGE_SECTION_HEADER, - Characteristics: ULONG, - fSystemImage: BOOLEAN, - fDOSImage: BOOLEAN, - fReadOnly: BOOLEAN, - Version: UCHAR, - Links: LIST_ENTRY, - SizeOfImage: ULONG, -}} -pub const MAX_SYM_NAME: usize = 2000; -pub const ERROR_IMAGE_NOT_STRIPPED: DWORD = 0x8800; -pub const ERROR_NO_DBG_POINTER: DWORD = 0x8801; -pub const ERROR_NO_PDB_POINTER: DWORD = 0x8802; -FN!{stdcall PFIND_DEBUG_FILE_CALLBACK( - FileHandle: HANDLE, - FileName: PCSTR, - CallerData: PVOID, -) -> BOOL} -FN!{stdcall PFIND_DEBUG_FILE_CALLBACKW( - FileHandle: HANDLE, - FileName: PCWSTR, - CallerData: PVOID, -) -> BOOL} -FN!{stdcall PFINDFILEINPATHCALLBACK( - filename: PCSTR, - context: PVOID, -) -> BOOL} -FN!{stdcall PFINDFILEINPATHCALLBACKW( - filename: PCWSTR, - context: PVOID, -) -> BOOL} -FN!{stdcall PFIND_EXE_FILE_CALLBACK( - FileHandle: HANDLE, - FileName: PCSTR, - CallerData: PVOID, -) -> BOOL} -FN!{stdcall PFIND_EXE_FILE_CALLBACKW( - FileHandle: HANDLE, - FileName: PCWSTR, - CallerData: PVOID, -) -> BOOL} -FN!{stdcall PSYM_ENUMERATESYMBOLS_CALLBACKW( - pSymInfo: PSYMBOL_INFOW, - SymbolSize: ULONG, - CallerData: PVOID, -) -> BOOL} -#[cfg(target_arch = "x86")] -STRUCT!{struct IMAGE_DEBUG_INFORMATION { - List: LIST_ENTRY, - ReservedSize: DWORD, - ReservedMappedBase: PVOID, - ReservedMachine: USHORT, - ReservedCharacteristics: USHORT, - ReservedCheckSum: DWORD, - ImageBase: DWORD, - SizeOfImage: DWORD, - ReservedNumberOfSections: DWORD, - ReservedSections: PIMAGE_SECTION_HEADER, - ReservedExportedNamesSize: DWORD, - ReservedExportedNames: PSTR, - ReservedNumberOfFunctionTableEntries: DWORD, - ReservedFunctionTableEntries: PIMAGE_FUNCTION_ENTRY, - ReservedLowestFunctionStartingAddress: DWORD, - ReservedHighestFunctionEndingAddress: DWORD, - ReservedNumberOfFpoTableEntries: DWORD, - ReservedFpoTableEntries: PFPO_DATA, - SizeOfCoffSymbols: DWORD, - CoffSymbols: PIMAGE_COFF_SYMBOLS_HEADER, - ReservedSizeOfCodeViewSymbols: DWORD, - ReservedCodeViewSymbols: PVOID, - ImageFilePath: PSTR, - ImageFileName: PSTR, - ReservedDebugFilePath: PSTR, - ReservedTimeDateStamp: DWORD, - ReservedRomImage: BOOL, - ReservedDebugDirectory: PIMAGE_DEBUG_DIRECTORY, - ReservedNumberOfDebugDirectories: DWORD, - ReservedOriginalFunctionTableBaseAddress: DWORD, - Reserved: [DWORD; 2], -}} -#[cfg(target_arch = "x86")] -pub type PIMAGE_DEBUG_INFORMATION = *mut IMAGE_DEBUG_INFORMATION; -FN!{stdcall PENUMDIRTREE_CALLBACK( - FilePath: PCSTR, - CallerData: PVOID, -) -> BOOL} -FN!{stdcall PENUMDIRTREE_CALLBACKW( - FilePath: PCWSTR, - CallerData: PVOID, -) -> BOOL} -pub const UNDNAME_COMPLETE: DWORD = 0x0000; -pub const UNDNAME_NO_LEADING_UNDERSCORES: DWORD = 0x0001; -pub const UNDNAME_NO_MS_KEYWORDS: DWORD = 0x0002; -pub const UNDNAME_NO_FUNCTION_RETURNS: DWORD = 0x0004; -pub const UNDNAME_NO_ALLOCATION_MODEL: DWORD = 0x0008; -pub const UNDNAME_NO_ALLOCATION_LANGUAGE: DWORD = 0x0010; -pub const UNDNAME_NO_MS_THISTYPE: DWORD = 0x0020; -pub const UNDNAME_NO_CV_THISTYPE: DWORD = 0x0040; -pub const UNDNAME_NO_THISTYPE: DWORD = 0x0060; -pub const UNDNAME_NO_ACCESS_SPECIFIERS: DWORD = 0x0080; -pub const UNDNAME_NO_THROW_SIGNATURES: DWORD = 0x0100; -pub const UNDNAME_NO_MEMBER_TYPE: DWORD = 0x0200; -pub const UNDNAME_NO_RETURN_UDT_MODEL: DWORD = 0x0400; -pub const UNDNAME_32_BIT_DECODE: DWORD = 0x0800; -pub const UNDNAME_NAME_ONLY: DWORD = 0x1000; -pub const UNDNAME_NO_ARGUMENTS: DWORD = 0x2000; -pub const UNDNAME_NO_SPECIAL_SYMS: DWORD = 0x4000; -pub const DBHHEADER_DEBUGDIRS: DWORD = 0x1; -pub const DBHHEADER_CVMISC: DWORD = 0x2; -pub const DBHHEADER_PDBGUID: DWORD = 0x3; -STRUCT!{struct MODLOAD_DATA { - ssize: DWORD, - ssig: DWORD, - data: PVOID, - size: DWORD, - flags: DWORD, -}} -pub type PMODLOAD_DATA = *mut MODLOAD_DATA; -STRUCT!{struct MODLOAD_CVMISC { - oCV: DWORD, - cCV: size_t, - oMisc: DWORD, - cMisc: size_t, - dtImage: DWORD, - cImage: DWORD, -}} -pub type PMODLOAD_CVMISC = *mut MODLOAD_CVMISC; -STRUCT!{struct MODLOAD_PDBGUID_PDBAGE { - PdbGuid: GUID, - PdbAge: DWORD, -}} -pub type PMODLOAD_PDBGUID_PDBAGE = *mut MODLOAD_PDBGUID_PDBAGE; -ENUM!{enum ADDRESS_MODE { - AddrMode1616, - AddrMode1632, - AddrModeReal, - AddrModeFlat, -}} -STRUCT!{struct ADDRESS64 { - Offset: DWORD64, - Segment: WORD, - Mode: ADDRESS_MODE, -}} -pub type LPADDRESS64 = *mut ADDRESS64; -#[cfg(target_pointer_width = "64")] -pub type ADDRESS = ADDRESS64; -#[cfg(target_pointer_width = "64")] -pub type LPADDRESS = LPADDRESS64; -#[cfg(target_arch = "x86")] -STRUCT!{struct ADDRESS { - Offset: DWORD, - Segment: WORD, - Mode: ADDRESS_MODE, -}} -#[cfg(target_arch = "x86")] -pub type LPADDRESS = *mut ADDRESS; -STRUCT!{struct KDHELP64 { - Thread: DWORD64, - ThCallbackStack: DWORD, - ThCallbackBStore: DWORD, - NextCallback: DWORD, - FramePointer: DWORD, - KiCallUserMode: DWORD64, - KeUserCallbackDispatcher: DWORD64, - SystemRangeStart: DWORD64, - KiUserExceptionDispatcher: DWORD64, - StackBase: DWORD64, - StackLimit: DWORD64, - BuildVersion: DWORD, - Reserved0: DWORD, - Reserved1: [DWORD64; 4], -}} -pub type PKDHELP64 = *mut KDHELP64; -#[cfg(target_pointer_width = "64")] -pub type KDHELP = KDHELP64; -#[cfg(target_pointer_width = "64")] -pub type PKDHELP = PKDHELP64; -#[cfg(target_arch = "x86")] -STRUCT!{struct KDHELP { - Thread: DWORD, - ThCallbackStack: DWORD, - NextCallback: DWORD, - FramePointer: DWORD, - KiCallUserMode: DWORD, - KeUserCallbackDispatcher: DWORD, - SystemRangeStart: DWORD, - ThCallbackBStore: DWORD, - KiUserExceptionDispatcher: DWORD, - StackBase: DWORD, - StackLimit: DWORD, - Reserved: [DWORD; 5], -}} -#[cfg(target_arch = "x86")] -pub type PKDHELP = *mut KDHELP; -STRUCT!{struct STACKFRAME64 { - AddrPC: ADDRESS64, - AddrReturn: ADDRESS64, - AddrFrame: ADDRESS64, - AddrStack: ADDRESS64, - AddrBStore: ADDRESS64, - FuncTableEntry: PVOID, - Params: [DWORD64; 4], - Far: BOOL, - Virtual: BOOL, - Reserved: [DWORD64; 3], - KdHelp: KDHELP64, -}} -pub type LPSTACKFRAME64 = *mut STACKFRAME64; -pub const INLINE_FRAME_CONTEXT_INIT: DWORD = 0; -pub const INLINE_FRAME_CONTEXT_IGNORE: DWORD = 0xFFFFFFFF; -STRUCT!{struct STACKFRAME_EX { - AddrPC: ADDRESS64, - AddrReturn: ADDRESS64, - AddrFrame: ADDRESS64, - AddrStack: ADDRESS64, - AddrBStore: ADDRESS64, - FuncTableEntry: PVOID, - Params: [DWORD64; 4], - Far: BOOL, - Virtual: BOOL, - Reserved: [DWORD64; 3], - KdHelp: KDHELP64, - StackFrameSize: DWORD, - InlineFrameContext: DWORD, -}} -pub type LPSTACKFRAME_EX = *mut STACKFRAME_EX; -#[cfg(target_pointer_width = "64")] -pub type STACKFRAME = STACKFRAME64; -#[cfg(target_pointer_width = "64")] -pub type LPSTACKFRAME = LPSTACKFRAME64; -#[cfg(target_arch = "x86")] -STRUCT!{struct STACKFRAME { - AddrPC: ADDRESS, - AddrReturn: ADDRESS, - AddrFrame: ADDRESS, - AddrStack: ADDRESS, - FuncTableEntry: PVOID, - Params: [DWORD; 4], - Far: BOOL, - Virtual: BOOL, - Reserved: [DWORD; 3], - KdHelp: KDHELP, - AddrBStore: ADDRESS, -}} -#[cfg(target_arch = "x86")] -pub type LPSTACKFRAME = *mut STACKFRAME; -FN!{stdcall PREAD_PROCESS_MEMORY_ROUTINE64( - hProcess: HANDLE, - qwBaseAddress: DWORD64, - lpBuffer: PVOID, - nSize: DWORD, - lpNumberOfBytesRead: LPDWORD, -) -> BOOL} -FN!{stdcall PFUNCTION_TABLE_ACCESS_ROUTINE64( - ahProcess: HANDLE, - AddrBase: DWORD64, -) -> PVOID} -FN!{stdcall PGET_MODULE_BASE_ROUTINE64( - hProcess: HANDLE, - Address: DWORD64, -) -> DWORD64} -FN!{stdcall PTRANSLATE_ADDRESS_ROUTINE64( - hProcess: HANDLE, - hThread: HANDLE, - lpaddr: LPADDRESS64, -) -> DWORD64} -pub const SYM_STKWALK_DEFAULT: DWORD = 0x00000000; -pub const SYM_STKWALK_FORCE_FRAMEPTR: DWORD = 0x00000001; -#[cfg(target_pointer_width = "64")] -pub type PREAD_PROCESS_MEMORY_ROUTINE = PREAD_PROCESS_MEMORY_ROUTINE64; -#[cfg(target_pointer_width = "64")] -pub type PFUNCTION_TABLE_ACCESS_ROUTINE = PFUNCTION_TABLE_ACCESS_ROUTINE64; -#[cfg(target_pointer_width = "64")] -pub type PGET_MODULE_BASE_ROUTINE = PGET_MODULE_BASE_ROUTINE64; -#[cfg(target_pointer_width = "64")] -pub type PTRANSLATE_ADDRESS_ROUTINE = PTRANSLATE_ADDRESS_ROUTINE64; -#[cfg(target_arch = "x86")] -FN!{stdcall PREAD_PROCESS_MEMORY_ROUTINE( - hProcess: HANDLE, - qwBaseAddress: DWORD, - lpBuffer: PVOID, - nSize: DWORD, - lpNumberOfBytesRead: PDWORD, -) -> BOOL} -#[cfg(target_arch = "x86")] -FN!{stdcall PFUNCTION_TABLE_ACCESS_ROUTINE( - ahProcess: HANDLE, - AddrBase: DWORD, -) -> PVOID} -#[cfg(target_arch = "x86")] -FN!{stdcall PGET_MODULE_BASE_ROUTINE( - hProcess: HANDLE, - Address: DWORD, -) -> DWORD} -#[cfg(target_arch = "x86")] -FN!{stdcall PTRANSLATE_ADDRESS_ROUTINE( - hProcess: HANDLE, - hThread: HANDLE, - lpaddr: LPADDRESS, -) -> DWORD} -pub const API_VERSION_NUMBER: USHORT = 12; -STRUCT!{struct API_VERSION { - MajorVersion: USHORT, - MinorVersion: USHORT, - Revision: USHORT, - Reserved: USHORT, -}} -pub type LPAPI_VERSION = *mut API_VERSION; -STRUCT!{struct SYMBOL_INFOW { - SizeOfStruct: ULONG, - TypeIndex: ULONG, - Reserved: [ULONG64; 2], - Index: ULONG, - Size: ULONG, - ModBase: ULONG64, - Flags: ULONG, - Value: ULONG64, - Address: ULONG64, - Register: ULONG, - Scope: ULONG, - Tag: ULONG, - NameLen: ULONG, - MaxNameLen: ULONG, - Name: [WCHAR; 1], -}} -pub type PSYMBOL_INFOW = *mut SYMBOL_INFOW; -STRUCT!{struct IMAGEHLP_SYMBOL64 { - SizeOfStruct: DWORD, - Address: DWORD64, - Size: DWORD, - Flags: DWORD, - MaxNameLength: DWORD, - Name: [CHAR; 1], -}} -pub type PIMAGEHLP_SYMBOL64 = *mut IMAGEHLP_SYMBOL64; -STRUCT!{struct IMAGEHLP_LINEW64 { - SizeOfStruct: DWORD, - Key: PVOID, - LineNumber: DWORD, - FileName: PWSTR, - Address: DWORD64, -}} -pub type PIMAGEHLP_LINEW64 = *mut IMAGEHLP_LINEW64; -extern "system" { - pub fn EnumDirTree( - hProcess: HANDLE, - RootPath: PCSTR, - InputPathName: PCSTR, - OutputPathBuffer: PSTR, - cb: PENUMDIRTREE_CALLBACK, - data: PVOID, - ) -> BOOL; - pub fn EnumDirTreeW( - hProcess: HANDLE, - RootPath: PCWSTR, - InputPathName: PCWSTR, - OutputPathBuffer: PWSTR, - cb: PENUMDIRTREE_CALLBACKW, - data: PVOID, - ) -> BOOL; - pub fn ImagehlpApiVersion() -> LPAPI_VERSION; - pub fn ImagehlpApiVersionEx( - AppVersion: LPAPI_VERSION, - ) -> LPAPI_VERSION; - pub fn MakeSureDirectoryPathExists( - DirPath: PCSTR, - ) -> BOOL; - pub fn SearchTreeForFile( - RootPath: PCSTR, - InputPathName: PCSTR, - OutputPathBuffer: PSTR, - ) -> BOOL; - pub fn SearchTreeForFileW( - RootPath: PCWSTR, - InputPathName: PCWSTR, - OutputPathBuffer: PWSTR, - ) -> BOOL; - pub fn FindDebugInfoFile( - FileName: PCSTR, - SymbolPath: PCSTR, - DebugFilePath: PSTR, - ) -> HANDLE; - pub fn FindDebugInfoFileEx( - FileName: PCSTR, - SymbolPath: PCSTR, - DebugFilePath: PSTR, - Callback: PFIND_DEBUG_FILE_CALLBACK, - CallerData: PVOID, - ) -> HANDLE; - pub fn FindDebugInfoFileExW( - FileName: PCWSTR, - SymbolPath: PCWSTR, - DebugFilePath: PWSTR, - Callback: PFIND_DEBUG_FILE_CALLBACKW, - CallerData: PVOID, - ) -> HANDLE; - pub fn FindExecutableImage( - FileName: PCSTR, - SymbolPath: PCSTR, - ImageFilePath: PSTR, - ) -> HANDLE; - pub fn FindExecutableImageEx( - FileName: PCSTR, - SymbolPath: PCSTR, - ImageFilePath: PSTR, - Callback: PFIND_EXE_FILE_CALLBACK, - CallerData: PVOID, - ) -> HANDLE; - pub fn FindExecutableImageExW( - FileName: PCWSTR, - SymbolPath: PCWSTR, - ImageFilePath: PWSTR, - Callback: PFIND_EXE_FILE_CALLBACKW, - CallerData: PVOID, - ) -> HANDLE; - pub fn StackWalk( - MachineType: DWORD, - hProcess: HANDLE, - hThread: HANDLE, - StackFrame: LPSTACKFRAME, - ContextRecord: PVOID, - ReadMemoryRoutine: PREAD_PROCESS_MEMORY_ROUTINE, - FunctionTableAccessRoutine: PFUNCTION_TABLE_ACCESS_ROUTINE, - GetModuleBaseRoutine: PGET_MODULE_BASE_ROUTINE, - TranslateAddress: PTRANSLATE_ADDRESS_ROUTINE, - ) -> BOOL; - pub fn StackWalkEx( - MachineType: DWORD, - hProcess: HANDLE, - hThread: HANDLE, - StackFrame: LPSTACKFRAME64, - ContextRecord: PVOID, - ReadMemoryRoutine: PREAD_PROCESS_MEMORY_ROUTINE64, - FunctionTableAccessRoutine: PFUNCTION_TABLE_ACCESS_ROUTINE64, - GetModuleBaseRoutine: PGET_MODULE_BASE_ROUTINE64, - TranslateAddress: PTRANSLATE_ADDRESS_ROUTINE64, - Flags: DWORD, - ) -> BOOL; - pub fn StackWalk64( - MachineType: DWORD, - hProcess: HANDLE, - hThread: HANDLE, - StackFrame: LPSTACKFRAME64, - ContextRecord: PVOID, - ReadMemoryRoutine: PREAD_PROCESS_MEMORY_ROUTINE64, - FunctionTableAccessRoutine: PFUNCTION_TABLE_ACCESS_ROUTINE64, - GetModuleBaseRoutine: PGET_MODULE_BASE_ROUTINE64, - TranslateAddress: PTRANSLATE_ADDRESS_ROUTINE64, - ) -> BOOL; - pub fn UnDecorateSymbolName( - name: PCSTR, - outputString: PSTR, - maxStringLength: DWORD, - flags: DWORD, - ) -> DWORD; - pub fn UnDecorateSymbolNameW( - name: PCWSTR, - outputString: PWSTR, - maxStringLength: DWORD, - flags: DWORD, - ) -> DWORD; - pub fn GetTimestampForLoadedLibrary( - Module: HMODULE, - ) -> DWORD; - pub fn ImageDirectoryEntryToData( - Base: PVOID, - MappedAsImage: BOOLEAN, - DirectoryEntry: USHORT, - Size: PULONG, - ) -> PVOID; - pub fn ImageDirectoryEntryToDataEx( - Base: PVOID, - MappedAsImage: BOOLEAN, - DirectoryEntry: USHORT, - Size: PULONG, - FoundHeader: *mut PIMAGE_SECTION_HEADER, - ) -> PVOID; - pub fn ImageNtHeader( - Base: PVOID, - ) -> PIMAGE_NT_HEADERS; - pub fn ImageRvaToSection( - NtHeaders: PIMAGE_NT_HEADERS, - Base: PVOID, - Rva: ULONG, - ) -> PIMAGE_SECTION_HEADER; - pub fn ImageRvaToVa( - NtHeaders: PIMAGE_NT_HEADERS, - Base: PVOID, - Rva: ULONG, - LastRvaSection: *mut PIMAGE_SECTION_HEADER, - ) -> PVOID; - pub fn SymCleanup( - hProcess: HANDLE, - ) -> BOOL; - pub fn SymEnumSymbolsW( - hProcess: HANDLE, - BaseOfDll: ULONG64, - Mask: PCWSTR, - EnumSymbolsCallback: PSYM_ENUMERATESYMBOLS_CALLBACKW, - CallerData: PVOID, - ) -> BOOL; - pub fn SymFindDebugInfoFile( - hProcess: HANDLE, - FileName: PCSTR, - DebugFilePath: PSTR, - Callback: PFIND_DEBUG_FILE_CALLBACK, - CallerData: PVOID, - ) -> HANDLE; - pub fn SymFindDebugInfoFileW( - hProcess: HANDLE, - FileName: PCWSTR, - DebugFilePath: PWSTR, - Callback: PFIND_DEBUG_FILE_CALLBACKW, - CallerData: PVOID, - ) -> HANDLE; - pub fn SymFindExecutableImage( - hProcess: HANDLE, - FileName: PCSTR, - ImageFilePath: PSTR, - Callback: PFIND_EXE_FILE_CALLBACK, - CallerData: PVOID, - ) -> HANDLE; - pub fn SymFindExecutableImageW( - hProcess: HANDLE, - FileName: PCWSTR, - ImageFilePath: PWSTR, - Callback: PFIND_EXE_FILE_CALLBACKW, - CallerData: PVOID, - ) -> HANDLE; - pub fn SymFindFileInPath( - hprocess: HANDLE, - SearchPath: PCSTR, - FileName: PCSTR, - id: PVOID, - two: DWORD, - three: DWORD, - flags: DWORD, - FoundFile: PSTR, - callback: PFINDFILEINPATHCALLBACK, - context: PVOID, - ) -> BOOL; - pub fn SymFindFileInPathW( - hprocess: HANDLE, - SearchPath: PCWSTR, - FileName: PCWSTR, - id: PVOID, - two: DWORD, - three: DWORD, - flags: DWORD, - FoundFile: PWSTR, - callback: PFINDFILEINPATHCALLBACKW, - context: PVOID, - ) -> BOOL; - pub fn SymFromAddrW( - hProcess: HANDLE, - Address: DWORD64, - Displacement: PDWORD64, - Symbol: PSYMBOL_INFOW, - ) -> BOOL; - pub fn SymFromNameW( - hProcess: HANDLE, - Name: PCWSTR, - Symbol: PSYMBOL_INFOW, - ) -> BOOL; - pub fn SymFunctionTableAccess64( - hProcess: HANDLE, - AddrBase: DWORD64, - ) -> PVOID; - pub fn SymGetLineFromAddrW64( - hProcess: HANDLE, - dwAddr: DWORD64, - pdwDisplacement: PDWORD, - Line: PIMAGEHLP_LINEW64, - ) -> BOOL; - pub fn SymGetModuleBase64( - hProcess: HANDLE, - AddrBase: DWORD64, - ) -> DWORD64; - pub fn SymGetSymFromAddr64( - hProcess: HANDLE, - Address: DWORD64, - Displacement: PDWORD64, - Symbol: PIMAGEHLP_SYMBOL64, - ) -> BOOL; - pub fn SymInitializeW( - hProcess: HANDLE, - UserSearchPath: PCWSTR, - fInvadeProcess: BOOL, - ) -> BOOL; - pub fn SymLoadModuleExW( - hProcess: HANDLE, - hFile: HANDLE, - ImageName: PCWSTR, - ModuleName: PCWSTR, - BaseOfDll: DWORD64, - SizeOfDll: DWORD, - Data: PMODLOAD_DATA, - Flags: DWORD, - ) -> DWORD64; - pub fn SymUnloadModule( - hProcess: HANDLE, - BaseOfDll: DWORD, - ) -> BOOL; - pub fn SymUnloadModule64( - hProcess: HANDLE, - BaseOfDll: DWORD64, - ) -> BOOL; - #[cfg(any(target_arch = "x86", target_arch = "arm"))] - pub fn MapDebugInformation( - FileHandle: HANDLE, - FileName: PCSTR, - SymbolPath: PCSTR, - ImageBase: ULONG, - ) -> PIMAGE_DEBUG_INFORMATION; - #[cfg(any(target_arch = "x86", target_arch = "arm"))] - pub fn UnmapDebugInformation( - DebugInfo: PIMAGE_DEBUG_INFORMATION, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dbt.rs b/vendor/registry-40351f815f426200/winapi/src/um/dbt.rs deleted file mode 100644 index e95a58ce9..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dbt.rs +++ /dev/null @@ -1,192 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_char, wchar_t}; -use shared::basetsd::{ULONG32, ULONG64}; -use shared::guiddef::GUID; -use shared::minwindef::{BYTE, DWORD, UINT, WORD, WPARAM}; -use um::winnt::{HANDLE, LONG}; -use um::winuser::HDEVNOTIFY; -pub const WM_DEVICECHANGE: UINT = 0x0219; -pub const BSF_QUERY: DWORD = 0x00000001; -pub const BSF_IGNORECURRENTTASK: DWORD = 0x00000002; -pub const BSF_FLUSHDISK: DWORD = 0x00000004; -pub const BSF_NOHANG: DWORD = 0x00000008; -pub const BSF_POSTMESSAGE: DWORD = 0x00000010; -pub const BSF_FORCEIFHUNG: DWORD = 0x00000020; -pub const BSF_NOTIMEOUTIFNOTHUNG: DWORD = 0x00000040; -pub const BSF_MSGSRV32ISOK: DWORD = 0x80000000; -pub const BSF_MSGSRV32ISOK_BIT: usize = 31; -pub const BSM_ALLCOMPONENTS: DWORD = 0x00000000; -pub const BSM_VXDS: DWORD = 0x00000001; -pub const BSM_NETDRIVER: DWORD = 0x00000002; -pub const BSM_INSTALLABLEDRIVERS: DWORD = 0x00000004; -pub const BSM_APPLICATIONS: DWORD = 0x00000008; -pub const DBT_APPYBEGIN: WPARAM = 0x0000; -pub const DBT_APPYEND: WPARAM = 0x0001; -pub const DBT_DEVNODES_CHANGED: WPARAM = 0x0007; -pub const DBT_QUERYCHANGECONFIG: WPARAM = 0x0017; -pub const DBT_CONFIGCHANGED: WPARAM = 0x0018; -pub const DBT_CONFIGCHANGECANCELED: WPARAM = 0x0019; -pub const DBT_MONITORCHANGE: WPARAM = 0x001B; -pub const DBT_SHELLLOGGEDON: WPARAM = 0x0020; -pub const DBT_CONFIGMGAPI32: WPARAM = 0x0022; -pub const DBT_VXDINITCOMPLETE: WPARAM = 0x0023; -pub const DBT_VOLLOCKQUERYLOCK: WPARAM = 0x8041; -pub const DBT_VOLLOCKLOCKTAKEN: WPARAM = 0x8042; -pub const DBT_VOLLOCKLOCKFAILED: WPARAM = 0x8043; -pub const DBT_VOLLOCKQUERYUNLOCK: WPARAM = 0x8044; -pub const DBT_VOLLOCKLOCKRELEASED: WPARAM = 0x8045; -pub const DBT_VOLLOCKUNLOCKFAILED: WPARAM = 0x8046; -STRUCT!{struct DEV_BROADCAST_HDR { - dbch_size: DWORD, - dbch_devicetype: DWORD, - dbch_reserved: DWORD, -}} -pub type PDEV_BROADCAST_HDR = *mut DEV_BROADCAST_HDR; -STRUCT!{struct VolLockBroadcast { - vlb_dbh: DEV_BROADCAST_HDR, - vlb_owner: DWORD, - vlb_perms: BYTE, - vlb_lockType: BYTE, - vlb_drive: BYTE, - vlb_flags: BYTE, -}} -pub type pVolLockBroadcast = *mut VolLockBroadcast; -pub const LOCKP_ALLOW_WRITES: BYTE = 0x01; -pub const LOCKP_FAIL_WRITES: BYTE = 0x00; -pub const LOCKP_FAIL_MEM_MAPPING: BYTE = 0x02; -pub const LOCKP_ALLOW_MEM_MAPPING: BYTE = 0x00; -pub const LOCKP_USER_MASK: BYTE = 0x03; -pub const LOCKP_LOCK_FOR_FORMAT: BYTE = 0x04; -pub const LOCKF_LOGICAL_LOCK: BYTE = 0x00; -pub const LOCKF_PHYSICAL_LOCK: BYTE = 0x01; -pub const DBT_NO_DISK_SPACE: WPARAM = 0x0047; -pub const DBT_LOW_DISK_SPACE: WPARAM = 0x0048; -pub const DBT_CONFIGMGPRIVATE: WPARAM = 0x7FFF; -pub const DBT_DEVICEARRIVAL: WPARAM = 0x8000; -pub const DBT_DEVICEQUERYREMOVE: WPARAM = 0x8001; -pub const DBT_DEVICEQUERYREMOVEFAILED: WPARAM = 0x8002; -pub const DBT_DEVICEREMOVEPENDING: WPARAM = 0x8003; -pub const DBT_DEVICEREMOVECOMPLETE: WPARAM = 0x8004; -pub const DBT_DEVICETYPESPECIFIC: WPARAM = 0x8005; -pub const DBT_CUSTOMEVENT: WPARAM = 0x8006; -pub const DBT_DEVTYP_OEM: DWORD = 0x00000000; -pub const DBT_DEVTYP_DEVNODE: DWORD = 0x00000001; -pub const DBT_DEVTYP_VOLUME: DWORD = 0x00000002; -pub const DBT_DEVTYP_PORT: DWORD = 0x00000003; -pub const DBT_DEVTYP_NET: DWORD = 0x00000004; -pub const DBT_DEVTYP_DEVICEINTERFACE: DWORD = 0x00000005; -pub const DBT_DEVTYP_HANDLE: DWORD = 0x00000006; -STRUCT!{struct _DEV_BROADCAST_HEADER { - dbcd_size: DWORD, - dbcd_devicetype: DWORD, - dbcd_reserved: DWORD, -}} -STRUCT!{struct DEV_BROADCAST_OEM { - dbco_size: DWORD, - dbco_devicetype: DWORD, - dbco_reserved: DWORD, - dbco_identifier: DWORD, - dbco_suppfunc: DWORD, -}} -pub type PDEV_BROADCAST_OEM = *mut DEV_BROADCAST_OEM; -STRUCT!{struct DEV_BROADCAST_DEVNODE { - dbcd_size: DWORD, - dbcd_devicetype: DWORD, - dbcd_reserved: DWORD, - dbcd_devnode: DWORD, -}} -pub type PDEV_BROADCAST_DEVNODE = *mut DEV_BROADCAST_DEVNODE; -STRUCT!{struct DEV_BROADCAST_VOLUME { - dbcv_size: DWORD, - dbcv_devicetype: DWORD, - dbcv_reserved: DWORD, - dbcv_unitmask: DWORD, - dbcv_flags: WORD, -}} -pub type PDEV_BROADCAST_VOLUME = *mut DEV_BROADCAST_VOLUME; -pub const DBTF_MEDIA: WORD = 0x0001; -pub const DBTF_NET: WORD = 0x0002; -STRUCT!{struct DEV_BROADCAST_PORT_A { - dbcp_size: DWORD, - dbcp_devicetype: DWORD, - dbcp_reserved: DWORD, - dbcp_name: [c_char; 1], -}} -pub type PDEV_BROADCAST_PORT_A = *mut DEV_BROADCAST_PORT_A; -STRUCT!{struct DEV_BROADCAST_PORT_W { - dbcp_size: DWORD, - dbcp_devicetype: DWORD, - dbcp_reserved: DWORD, - dbcp_name: [wchar_t; 1], -}} -pub type PDEV_BROADCAST_PORT_W = *mut DEV_BROADCAST_PORT_W; -STRUCT!{struct DEV_BROADCAST_NET { - dbcn_size: DWORD, - dbcn_devicetype: DWORD, - dbcn_reserved: DWORD, - dbcn_resource: DWORD, - dbcn_flags: DWORD, -}} -pub type PDEV_BROADCAST_NET = *mut DEV_BROADCAST_NET; -STRUCT!{struct DEV_BROADCAST_DEVICEINTERFACE_A { - dbcc_size: DWORD, - dbcc_devicetype: DWORD, - dbcc_reserved: DWORD, - dbcc_classguid: GUID, - dbcc_name: [c_char; 1], -}} -pub type PDEV_BROADCAST_DEVICEINTERFACE_A = *mut DEV_BROADCAST_DEVICEINTERFACE_A; -STRUCT!{struct DEV_BROADCAST_DEVICEINTERFACE_W { - dbcc_size: DWORD, - dbcc_devicetype: DWORD, - dbcc_reserved: DWORD, - dbcc_classguid: GUID, - dbcc_name: [wchar_t; 1], -}} -pub type PDEV_BROADCAST_DEVICEINTERFACE_W = *mut DEV_BROADCAST_DEVICEINTERFACE_W; -STRUCT!{struct DEV_BROADCAST_HANDLE { - dbch_size: DWORD, - dbch_devicetype: DWORD, - dbch_reserved: DWORD, - dbch_handle: HANDLE, - dbch_hdevnotify: HDEVNOTIFY, - dbch_eventguid: GUID, - dbch_nameoffset: LONG, - dbch_data: [BYTE; 1], -}} -pub type PDEV_BROADCAST_HANDLE = *mut DEV_BROADCAST_HANDLE; -STRUCT!{struct DEV_BROADCAST_HANDLE32 { - dbch_size: DWORD, - dbch_devicetype: DWORD, - dbch_reserved: DWORD, - dbch_handle: ULONG32, - dbch_hdevnotify: ULONG32, - dbch_eventguid: GUID, - dbch_nameoffset: LONG, - dbch_data: [BYTE; 1], -}} -pub type PDEV_BROADCAST_HANDLE32 = *mut DEV_BROADCAST_HANDLE32; -STRUCT!{struct DEV_BROADCAST_HANDLE64 { - dbch_size: DWORD, - dbch_devicetype: DWORD, - dbch_reserved: DWORD, - dbch_handle: ULONG64, - dbch_hdevnotify: ULONG64, - dbch_eventguid: GUID, - dbch_nameoffset: LONG, - dbch_data: [BYTE; 1], -}} -pub type PDEV_BROADCAST_HANDLE64 = *mut DEV_BROADCAST_HANDLE64; -pub const DBTF_RESOURCE: DWORD = 0x00000001; -pub const DBTF_XPORT: DWORD = 0x00000002; -pub const DBTF_SLOWNET: DWORD = 0x00000004; -pub const DBT_VPOWERDAPI: WPARAM = 0x8100; -pub const DBT_USERDEFINED: WPARAM = 0xFFFF; -STRUCT!{struct _DEV_BROADCAST_USERDEFINED { - dbud_dbh: DEV_BROADCAST_HDR, - dbud_szName: [c_char; 1], -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dcommon.rs b/vendor/registry-40351f815f426200/winapi/src/um/dcommon.rs deleted file mode 100644 index e0260cbd9..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dcommon.rs +++ /dev/null @@ -1,114 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of dcommon.h -use ctypes::c_void; -use shared::basetsd::UINT32; -use shared::dxgiformat::DXGI_FORMAT; -use shared::minwindef::FLOAT; -use shared::windef::{POINT, RECT}; -ENUM!{enum DWRITE_MEASURING_MODE { - DWRITE_MEASURING_MODE_NATURAL = 0, - DWRITE_MEASURING_MODE_GDI_CLASSIC = 1, - DWRITE_MEASURING_MODE_GDI_NATURAL = 2, -}} -ENUM!{enum DWRITE_GLYPH_IMAGE_FORMATS { - DWRITE_GLYPH_IMAGE_FORMATS_NONE = 0x00000000, - DWRITE_GLYPH_IMAGE_FORMATS_TRUETYPE = 0x00000001, - DWRITE_GLYPH_IMAGE_FORMATS_CFF = 0x00000002, - DWRITE_GLYPH_IMAGE_FORMATS_COLR = 0x00000004, - DWRITE_GLYPH_IMAGE_FORMATS_SVG = 0x00000008, - DWRITE_GLYPH_IMAGE_FORMATS_PNG = 0x00000010, - DWRITE_GLYPH_IMAGE_FORMATS_JPEG = 0x00000020, - DWRITE_GLYPH_IMAGE_FORMATS_TIFF = 0x00000040, - DWRITE_GLYPH_IMAGE_FORMATS_PREMULTIPLIED_B8G8R8A8 = 0x00000080, -}} -STRUCT!{struct DWRITE_GLYPH_IMAGE_DATA { - imageData: *const c_void, - imageDataSize: UINT32, - uniqueDataId: UINT32, - pixelsPerEm: UINT32, - pixelSize: D2D1_SIZE_U, - horizontalLeftOrigin: D2D1_POINT_2L, - horizontalRightOrigin: D2D1_POINT_2L, - verticalTopOrigin: D2D1_POINT_2L, - verticalBottomOrigin: D2D1_POINT_2L, -}} -ENUM!{enum D2D1_ALPHA_MODE { - D2D1_ALPHA_MODE_UNKNOWN = 0, - D2D1_ALPHA_MODE_PREMULTIPLIED = 1, - D2D1_ALPHA_MODE_STRAIGHT = 2, - D2D1_ALPHA_MODE_IGNORE = 3, -}} -STRUCT!{struct D2D1_PIXEL_FORMAT { - format: DXGI_FORMAT, - alphaMode: D2D1_ALPHA_MODE, -}} -STRUCT!{struct D2D_POINT_2U { - x: UINT32, - y: UINT32, -}} -STRUCT!{struct D2D_POINT_2F { - x: FLOAT, - y: FLOAT, -}} -pub type D2D_POINT_2L = POINT; -STRUCT!{struct D2D_VECTOR_2F { - x: FLOAT, - y: FLOAT, -}} -STRUCT!{struct D2D_VECTOR_3F { - x: FLOAT, - y: FLOAT, - z: FLOAT, -}} -STRUCT!{struct D2D_VECTOR_4F { - x: FLOAT, - y: FLOAT, - z: FLOAT, - w: FLOAT, -}} -STRUCT!{struct D2D_RECT_F { - left: FLOAT, - top: FLOAT, - right: FLOAT, - bottom: FLOAT, -}} -STRUCT!{struct D2D_RECT_U { - left: UINT32, - top: UINT32, - right: UINT32, - bottom: UINT32, -}} -pub type D2D_RECT_L = RECT; -STRUCT!{struct D2D_SIZE_F { - width: FLOAT, - height: FLOAT, -}} -STRUCT!{struct D2D_SIZE_U { - width: UINT32, - height: UINT32, -}} -STRUCT!{struct D2D_MATRIX_3X2_F { - matrix: [[FLOAT; 2]; 3], -}} -STRUCT!{struct D2D_MATRIX_4X3_F { - matrix: [[FLOAT; 3]; 4], -}} -STRUCT!{struct D2D_MATRIX_4X4_F { - matrix: [[FLOAT; 4]; 4], -}} -STRUCT!{struct D2D_MATRIX_5X4_F { - matrix: [[FLOAT; 4]; 5], -}} -pub type D2D1_POINT_2F = D2D_POINT_2F; -pub type D2D1_POINT_2U = D2D_POINT_2U; -pub type D2D1_POINT_2L = D2D_POINT_2L; -pub type D2D1_RECT_F = D2D_RECT_F; -pub type D2D1_RECT_U = D2D_RECT_U; -pub type D2D1_RECT_L = D2D_RECT_L; -pub type D2D1_SIZE_F = D2D_SIZE_F; -pub type D2D1_SIZE_U = D2D_SIZE_U; -pub type D2D1_MATRIX_3X2_F = D2D_MATRIX_3X2_F; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dcomp.rs b/vendor/registry-40351f815f426200/winapi/src/um/dcomp.rs deleted file mode 100644 index 17048650a..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dcomp.rs +++ /dev/null @@ -1,1159 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of dcomp.h -use ctypes::{c_float, c_int, c_void}; -use shared::d3d9types::D3DMATRIX; -use shared::dcomptypes::{ - DCOMPOSITION_BACKFACE_VISIBILITY, DCOMPOSITION_BITMAP_INTERPOLATION_MODE, - DCOMPOSITION_BORDER_MODE, DCOMPOSITION_COMPOSITE_MODE, DCOMPOSITION_DEPTH_MODE, - DCOMPOSITION_FRAME_STATISTICS, DCOMPOSITION_OPACITY_MODE -}; -use shared::dxgi::IDXGIDevice; -use shared::dxgi1_2::DXGI_ALPHA_MODE; -use shared::dxgiformat::DXGI_FORMAT; -use shared::guiddef::REFIID; -use shared::minwindef::{BOOL, DWORD, UINT}; -use shared::ntdef::{HANDLE, HRESULT}; -use shared::windef::{HWND, POINT, RECT}; -use um::d2d1::{D2D1_COLOR_F, D2D1_MATRIX_3X2_F}; -use um::d2d1_1::{D2D1_COMPOSITE_MODE, D2D1_MATRIX_5X4_F, D2D1_VECTOR_2F, D2D1_VECTOR_4F}; -use um::d2d1effects::{ - D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE, D2D1_BLEND_MODE, D2D1_BORDER_MODE, - D2D1_COLORMATRIX_ALPHA_MODE, D2D1_TURBULENCE_NOISE -}; -use um::d2dbasetypes::{D2D_MATRIX_3X2_F, D2D_MATRIX_4X4_F, D2D_RECT_F}; -use um::d3dcommon::D3D_FEATURE_LEVEL; -use um::dcompanimation::IDCompositionAnimation; -use um::minwinbase::SECURITY_ATTRIBUTES; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -extern "system" { - pub fn DCompositionCreateDevice( - dxgiDevice: *const IDXGIDevice, - iid: REFIID, - dcompositionDevice: *mut *mut c_void, - ) -> HRESULT; - pub fn DCompositionCreateDevice2( - renderingDevice: *const IUnknown, - iid: REFIID, - dcompositionDevice: *mut *mut c_void, - ) -> HRESULT; - pub fn DCompositionCreateDevice3( - renderingDevice: *const IUnknown, - iid: REFIID, - dcompositionDevice: *mut *mut c_void, - ) -> HRESULT; - pub fn DCompositionGetFrameStatistics( - statistics: *const DCOMPOSITION_FRAME_STATISTICS, - minSafeFeaturelLevel: *const D3D_FEATURE_LEVEL, - maxHardwareFeaturelLevel: *const D3D_FEATURE_LEVEL, - ) -> HRESULT; - pub fn DCompositionCreateSurfaceHandle( - desiredAccess: DWORD, - securityAttributes: *const SECURITY_ATTRIBUTES, - surfaceHandle: *mut HANDLE, - ) -> HRESULT; - pub fn DCompositionAttachMouseWheelToHwnd( - visual: *const IDCompositionVisual, - hwnd: HWND, - enable: BOOL, - ) -> HRESULT; - pub fn DCompositionAttachMouseDragToHwnd( - visual: *const IDCompositionVisual, - hwnd: HWND, - enable: BOOL, - ) -> HRESULT; -} -RIDL!{#[uuid(0xc37ea93a, 0xe7aa, 0x450d, 0xb1, 0x6f, 0x97, 0x46, 0xcb, 0x04, 0x07, 0xf3)] -interface IDCompositionDevice(IDCompositionDeviceVtbl): IUnknown(IUnknownVtbl) { - fn Commit() -> HRESULT, - fn WaitForCommitCompletion() -> HRESULT, - fn GetFrameStatistics( - statistics: *mut DCOMPOSITION_FRAME_STATISTICS, - ) -> HRESULT, - fn CreateTargetForHwnd( - hwnd: HWND, - topmost: BOOL, - target: *mut *mut IDCompositionTarget, - ) -> HRESULT, - fn CreateVisual( - visual: *mut *mut IDCompositionVisual, - ) -> HRESULT, - fn CreateSurface( - width: UINT, - height: UINT, - pixelFormat: DXGI_FORMAT, - alphaMode: DXGI_ALPHA_MODE, - surface: *mut *mut IDCompositionSurface, - ) -> HRESULT, - fn CreateVirtualSurface( - initialWidth: UINT, - initialHeight: UINT, - pixelFormat: DXGI_FORMAT, - alphaMode: DXGI_ALPHA_MODE, - virtualSurface: *mut *mut IDCompositionVirtualSurface, - ) -> HRESULT, - fn CreateSurfaceFromHandle( - handle: HANDLE, - mutsurface: *mut *mut IUnknown, - ) -> HRESULT, - fn CreateSurfaceFromHwnd( - hwnd: HWND, - mutsurface: *mut *mut IUnknown, - ) -> HRESULT, - fn CreateTranslateTransform( - translateTransform: *mut *mut IDCompositionTranslateTransform, - ) -> HRESULT, - fn CreateScaleTransform( - scaleTransform: *mut *mut IDCompositionScaleTransform, - ) -> HRESULT, - fn CreateRotateTransform( - rotateTransform: *mut *mut IDCompositionRotateTransform, - ) -> HRESULT, - fn CreateSkewTransform( - skewTransform: *mut *mut IDCompositionSkewTransform, - ) -> HRESULT, - fn CreateMatrixTransform( - matrixTransform: *mut *mut IDCompositionMatrixTransform, - ) -> HRESULT, - fn CreateTransformGroup( - transforms: *const *const IDCompositionTransform, - elements: UINT, - transformGroup: *mut *mut IDCompositionTransform, - ) -> HRESULT, - fn CreateTranslateTransform3D( - translateTransform3D: *mut *mut IDCompositionTranslateTransform3D, - ) -> HRESULT, - fn CreateScaleTransform3D( - scaleTransform3D: *mut *mut IDCompositionScaleTransform3D, - ) -> HRESULT, - fn CreateRotateTransform3D( - rotateTransform3D: *mut *mut IDCompositionRotateTransform3D, - ) -> HRESULT, - fn CreateMatrixTransform3D( - matrixTransform3D: *mut *mut IDCompositionMatrixTransform3D, - ) -> HRESULT, - fn CreateTransform3DGroup( - transforms3D: *const *const IDCompositionTransform3D, - elements: UINT, - transform3DGroup: *mut *mut IDCompositionTransform3D, - ) -> HRESULT, - fn CreateEffectGroup( - effectGroup: *mut *mut IDCompositionEffectGroup, - ) -> HRESULT, - fn CreateRectangleClip( - clip: *mut *mut IDCompositionRectangleClip, - ) -> HRESULT, - fn CreateAnimation( - animation: *mut *mut IDCompositionAnimation, - ) -> HRESULT, - fn CheckDeviceState( - pfValid: *mut BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xeacdd04c, 0x117e, 0x4e17, 0x88, 0xf4, 0xd1, 0xb1, 0x2b, 0x0e, 0x3d, 0x89)] -interface IDCompositionTarget(IDCompositionTargetVtbl): IUnknown(IUnknownVtbl) { - fn SetRoot( - visual: *const IDCompositionVisual, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x4d93059d, 0x097b, 0x4651, 0x9a, 0x60, 0xf0, 0xf2, 0x51, 0x16, 0xe2, 0xf3)] -interface IDCompositionVisual(IDCompositionVisualVtbl): IUnknown(IUnknownVtbl) { - fn SetOffsetX_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetOffsetX_1( - offsetX: c_float, - ) -> HRESULT, - fn SetOffsetY_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetOffsetY_1( - offsetY: c_float, - ) -> HRESULT, - fn SetTransform_2( - transform: *const IDCompositionTransform, - ) -> HRESULT, - fn SetTransform_1( - matrix: *const D2D_MATRIX_3X2_F, - ) -> HRESULT, - fn SetTransformParent( - visual: *const IDCompositionVisual, - ) -> HRESULT, - fn SetEffect( - effect: *const IDCompositionEffect, - ) -> HRESULT, - fn SetBitmapInterpolationMode( - interpolationMode: DCOMPOSITION_BITMAP_INTERPOLATION_MODE, - ) -> HRESULT, - fn SetBorderMode( - borderMode: DCOMPOSITION_BORDER_MODE, - ) -> HRESULT, - fn SetClip_2( - clip: *const IDCompositionClip, - ) -> HRESULT, - fn SetClip_1( - rect: *const D2D_RECT_F, - ) -> HRESULT, - fn SetContent( - content: *const IUnknown, - ) -> HRESULT, - fn AddVisual( - visual: *const IDCompositionVisual, - insertAbove: BOOL, - referenceVisual: *const IDCompositionVisual, - ) -> HRESULT, - fn RemoveVisual( - visual: *const IDCompositionVisual, - ) -> HRESULT, - fn RemoveAllVisuals() -> HRESULT, - fn SetCompositeMode( - compositeMode: DCOMPOSITION_COMPOSITE_MODE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xec81b08f, 0xbfcb, 0x4e8d, 0xb1, 0x93, 0xa9, 0x15, 0x58, 0x79, 0x99, 0xe8)] -interface IDCompositionEffect(IDCompositionEffectVtbl): IUnknown(IUnknownVtbl) {}} -RIDL!{#[uuid(0x71185722, 0x246b, 0x41f2, 0xaa, 0xd1, 0x04, 0x43, 0xf7, 0xf4, 0xbf, 0xc2)] -interface IDCompositionTransform3D(IDCompositionTransform3DVtbl): - IDCompositionEffect(IDCompositionEffectVtbl) {}} -RIDL!{#[uuid(0xfd55faa7, 0x37e0, 0x4c20, 0x95, 0xd2, 0x9b, 0xe4, 0x5b, 0xc3, 0x3f, 0x55)] -interface IDCompositionTransform(IDCompositionTransformVtbl): - IDCompositionTransform3D(IDCompositionTransform3DVtbl) {}} -RIDL!{#[uuid(0x06791122, 0xc6f0, 0x417d, 0x83, 0x23, 0x26, 0x9e, 0x98, 0x7f, 0x59, 0x54)] -interface IDCompositionTranslateTransform(IDCompositionTranslateTransformVtbl): - IDCompositionTransform(IDCompositionTransformVtbl) { - fn SetOffsetX_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetOffsetX_1( - offsetX: c_float, - ) -> HRESULT, - fn SetOffsetY_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetOffsetY_1( - offsetY: c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x71fde914, 0x40ef, 0x45ef, 0xbd, 0x51, 0x68, 0xb0, 0x37, 0xc3, 0x39, 0xf9)] -interface IDCompositionScaleTransform(IDCompositionScaleTransformVtbl): - IDCompositionTransform(IDCompositionTransformVtbl) { - fn SetScaleX_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetScaleX_1( - scaleX: c_float, - ) -> HRESULT, - fn SetScaleY_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetScaleY_1( - scaleY: c_float, - ) -> HRESULT, - fn SetCenterX_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetCenterX_1( - centerX: c_float, - ) -> HRESULT, - fn SetCenterY_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetCenterY_1( - centerY: c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x641ed83c, 0xae96, 0x46c5, 0x90, 0xdc, 0x32, 0x77, 0x4c, 0xc5, 0xc6, 0xd5)] -interface IDCompositionRotateTransform(IDCompositionRotateTransformVtbl): - IDCompositionTransform(IDCompositionTransformVtbl) { - fn SetAngle_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetAngle_1( - angle: c_float, - ) -> HRESULT, - fn SetCenterX_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetCenterX_1( - centerX: c_float, - ) -> HRESULT, - fn SetCenterY_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetCenterY_1( - centerY: c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xe57aa735, 0xdcdb, 0x4c72, 0x9c, 0x61, 0x05, 0x91, 0xf5, 0x88, 0x89, 0xee)] -interface IDCompositionSkewTransform(IDCompositionSkewTransformVtbl): - IDCompositionTransform(IDCompositionTransformVtbl) { - fn SetAngleX_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetAngleX_1( - angleX: c_float, - ) -> HRESULT, - fn SetAngleY_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetAngleY_1( - angleY: c_float, - ) -> HRESULT, - fn SetCenterX_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetCenterX_1( - centerX: c_float, - ) -> HRESULT, - fn SetCenterY_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetCenterY_1( - centerY: c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x16cdff07, 0xc503, 0x419c, 0x83, 0xf2, 0x09, 0x65, 0xc7, 0xaf, 0x1f, 0xa6)] -interface IDCompositionMatrixTransform(IDCompositionMatrixTransformVtbl): - IDCompositionTransform(IDCompositionTransformVtbl) { - fn SetMatrix( - matrix: *const D2D_MATRIX_3X2_F, - ) -> HRESULT, - fn SetMatrixElement_2( - row: c_int, - column: c_int, - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetMatrixElement_1( - row: c_int, - column: c_int, - value: c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa7929a74, 0xe6b2, 0x4bd6, 0x8b, 0x95, 0x40, 0x40, 0x11, 0x9c, 0xa3, 0x4d)] -interface IDCompositionEffectGroup(IDCompositionEffectGroupVtbl): - IDCompositionEffect(IDCompositionEffectVtbl) { - fn SetOpacity_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetOpacity_1( - opacity: c_float, - ) -> HRESULT, - fn SetTransform3D( - transform3D: *const IDCompositionTransform3D, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x91636d4b, 0x9ba1, 0x4532, 0xaa, 0xf7, 0xe3, 0x34, 0x49, 0x94, 0xd7, 0x88)] -interface IDCompositionTranslateTransform3D(IDCompositionTranslateTransform3DVtbl): - IDCompositionTransform3D(IDCompositionTransform3DVtbl) { - fn SetOffsetX_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetOffsetX_1( - offsetX: c_float, - ) -> HRESULT, - fn SetOffsetY_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetOffsetY_1( - offsetY: c_float, - ) -> HRESULT, - fn SetOffsetZ_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetOffsetZ_1( - offsetZ: c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2a9e9ead, 0x364b, 0x4b15, 0xa7, 0xc4, 0xa1, 0x99, 0x7f, 0x78, 0xb3, 0x89)] -interface IDCompositionScaleTransform3D(IDCompositionScaleTransform3DVtbl): - IDCompositionTransform3D(IDCompositionTransform3DVtbl) { - fn SetScaleX_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetScaleX_1( - scaleX: c_float, - ) -> HRESULT, - fn SetScaleY_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetScaleY_1( - scaleY: c_float, - ) -> HRESULT, - fn SetScaleZ_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetScaleZ_1( - scaleZ: c_float, - ) -> HRESULT, - fn SetCenterX_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetCenterX_1( - centerX: c_float, - ) -> HRESULT, - fn SetCenterY_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetCenterY_1( - centerY: c_float, - ) -> HRESULT, - fn SetCenterZ_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetCenterZ_1( - centerZ: c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xd8f5b23f, 0xd429, 0x4a91, 0xb5, 0x5a, 0xd2, 0xf4, 0x5f, 0xd7, 0x5b, 0x18)] -interface IDCompositionRotateTransform3D(IDCompositionRotateTransform3DVtbl): - IDCompositionTransform3D(IDCompositionTransform3DVtbl) { - fn SetAngle_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetAngle_1( - angle: c_float, - ) -> HRESULT, - fn SetAxisX_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetAxisX_1( - axisX: c_float, - ) -> HRESULT, - fn SetAxisY_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetAxisY_1( - axisY: c_float, - ) -> HRESULT, - fn SetAxisZ_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetAxisZ_1( - axisZ: c_float, - ) -> HRESULT, - fn SetCenterX_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetCenterX_1( - centerX: c_float, - ) -> HRESULT, - fn SetCenterY_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetCenterY_1( - centerY: c_float, - ) -> HRESULT, - fn SetCenterZ_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetCenterZ_1( - centerZ: c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x4b3363f0, 0x643b, 0x41b7, 0xb6, 0xe0, 0xcc, 0xf2, 0x2d, 0x34, 0x46, 0x7c)] -interface IDCompositionMatrixTransform3D(IDCompositionMatrixTransform3DVtbl): - IDCompositionTransform3D(IDCompositionTransform3DVtbl) { - fn SetMatrix( - matrix: *const D3DMATRIX, - ) -> HRESULT, - fn SetMatrixElement_2( - row: c_int, - column: c_int, - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetMatrixElement_1( - row: c_int, - column: c_int, - value: c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x64ac3703, 0x9d3f, 0x45ec, 0xa1, 0x09, 0x7c, 0xac, 0x0e, 0x7a, 0x13, 0xa7)] -interface IDCompositionClip(IDCompositionClipVtbl): IUnknown(IUnknownVtbl) {}} -RIDL!{#[uuid(0x9842ad7d, 0xd9cf, 0x4908, 0xae, 0xd7, 0x48, 0xb5, 0x1d, 0xa5, 0xe7, 0xc2)] -interface IDCompositionRectangleClip(IDCompositionRectangleClipVtbl): - IDCompositionClip(IDCompositionClipVtbl) { - fn SetLeft_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetLeft_1( - left: c_float, - ) -> HRESULT, - fn SetTop_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetTop_1( - top: c_float, - ) -> HRESULT, - fn SetRight_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetRight_1( - right: c_float, - ) -> HRESULT, - fn SetBottom_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetBottom_1( - bottom: c_float, - ) -> HRESULT, - fn SetTopLeftRadiusX_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetTopLeftRadiusX_1( - radius: c_float, - ) -> HRESULT, - fn SetTopLeftRadiusY_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetTopLeftRadiusY_1( - radius: c_float, - ) -> HRESULT, - fn SetTopRightRadiusX_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetTopRightRadiusX_1( - radius: c_float, - ) -> HRESULT, - fn SetTopRightRadiusY_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetTopRightRadiusY_1( - radius: c_float, - ) -> HRESULT, - fn SetBottomLeftRadiusX_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetBottomLeftRadiusX_1( - radius: c_float, - ) -> HRESULT, - fn SetBottomLeftRadiusY_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetBottomLeftRadiusY_1( - radius: c_float, - ) -> HRESULT, - fn SetBottomRightRadiusX_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetBottomRightRadiusX_1( - radius: c_float, - ) -> HRESULT, - fn SetBottomRightRadiusY_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetBottomRightRadiusY_1( - radius: c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xbb8a4953, 0x2c99, 0x4f5a, 0x96, 0xf5, 0x48, 0x19, 0x02, 0x7f, 0xa3, 0xac)] -interface IDCompositionSurface(IDCompositionSurfaceVtbl): IUnknown(IUnknownVtbl) { - fn BeginDraw( - updateRect: *const RECT, - iid: REFIID, - updateObject: *mut *mut c_void, - updateOffset: *mut POINT, - ) -> HRESULT, - fn EndDraw() -> HRESULT, - fn SuspendDraw() -> HRESULT, - fn ResumeDraw() -> HRESULT, - fn Scroll( - scrollRect: *const RECT, - clipRect: *const RECT, - offsetX: c_int, - offsetY: c_int, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xae471c51, 0x5f53, 0x4a24, 0x8d, 0x3e, 0xd0, 0xc3, 0x9c, 0x30, 0xb3, 0xf0)] -interface IDCompositionVirtualSurface(IDCompositionVirtualSurfaceVtbl): - IDCompositionSurface(IDCompositionSurfaceVtbl) { - fn Resize( - width: UINT, - height: UINT, - ) -> HRESULT, - fn Trim( - rectangles: *const RECT, - count: UINT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x75f6468d, 0x1b8e, 0x447c, 0x9b, 0xc6, 0x75, 0xfe, 0xa8, 0x0b, 0x5b, 0x25)] -interface IDCompositionDevice2(IDCompositionDevice2Vtbl): IUnknown(IUnknownVtbl) { - fn Commit() -> HRESULT, - fn WaitForCommitCompletion() -> HRESULT, - fn GetFrameStatistics( - statistics: *mut DCOMPOSITION_FRAME_STATISTICS, - ) -> HRESULT, - fn CreateVisual( - visual: *mut *mut IDCompositionVisual2, - ) -> HRESULT, - fn CreateSurfaceFactory( - renderingDevice: *const IUnknown, - surfaceFactory: *mut *mut IDCompositionSurfaceFactory, - ) -> HRESULT, - fn CreateSurface( - width: UINT, - height: UINT, - pixelFormat: DXGI_FORMAT, - alphaMode: DXGI_ALPHA_MODE, - surface: *mut *mut IDCompositionSurface, - ) -> HRESULT, - fn CreateVirtualSurface( - initialWidth: UINT, - initialHeight: UINT, - pixelFormat: DXGI_FORMAT, - alphaMode: DXGI_ALPHA_MODE, - virtualSurface: *mut *mut IDCompositionVirtualSurface, - ) -> HRESULT, - fn CreateTranslateTransform( - translateTransform: *mut *mut IDCompositionTranslateTransform, - ) -> HRESULT, - fn CreateScaleTransform( - scaleTransform: *mut *mut IDCompositionScaleTransform, - ) -> HRESULT, - fn CreateRotateTransform( - rotateTransform: *mut *mut IDCompositionRotateTransform, - ) -> HRESULT, - fn CreateSkewTransform( - skewTransform: *mut *mut IDCompositionSkewTransform, - ) -> HRESULT, - fn CreateMatrixTransform( - matrixTransform: *mut *mut IDCompositionMatrixTransform, - ) -> HRESULT, - fn CreateTransformGroup( - transforms: *const *const IDCompositionTransform, - elements: UINT, - transformGroup: *mut *mut IDCompositionTransform, - ) -> HRESULT, - fn CreateTranslateTransform3D( - translateTransform3D: *mut *mut IDCompositionTranslateTransform3D, - ) -> HRESULT, - fn CreateScaleTransform3D( - scaleTransform3D: *mut *mut IDCompositionScaleTransform3D, - ) -> HRESULT, - fn CreateRotateTransform3D( - rotateTransform3D: *mut *mut IDCompositionRotateTransform3D, - ) -> HRESULT, - fn CreateMatrixTransform3D( - matrixTransform3D: *mut *mut IDCompositionMatrixTransform3D, - ) -> HRESULT, - fn CreateTransform3DGroup( - transforms3D: *const *const IDCompositionTransform3D, - elements: UINT, - transform3DGroup: *mut *mut IDCompositionTransform3D, - ) -> HRESULT, - fn CreateEffectGroup( - effectGroup: *mut *mut IDCompositionEffectGroup, - ) -> HRESULT, - fn CreateRectangleClip( - clip: *mut *mut IDCompositionRectangleClip, - ) -> HRESULT, - fn CreateAnimation( - animation: *mut *mut IDCompositionAnimation, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x5f4633fe, 0x1e08, 0x4cb8, 0x8c, 0x75, 0xce, 0x24, 0x33, 0x3f, 0x56, 0x02)] -interface IDCompositionDesktopDevice(IDCompositionDesktopDeviceVtbl): - IDCompositionDevice2(IDCompositionDevice2Vtbl) { - fn CreateTargetForHwnd( - hwnd: HWND, - topmost: BOOL, - target: *mut *mut IDCompositionTarget, - ) -> HRESULT, - fn CreateSurfaceFromHandle( - handle: HANDLE, - surface: *mut *mut IUnknown, - ) -> HRESULT, - fn CreateSurfaceFromHwnd( - hwnd: HWND, - surface: *mut *mut IUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa1a3c64a, 0x224f, 0x4a81, 0x97, 0x73, 0x4f, 0x03, 0xa8, 0x9d, 0x3c, 0x6c)] -interface IDCompositionDeviceDebug(IDCompositionDeviceDebugVtbl): IUnknown(IUnknownVtbl) { - fn EnableDebugCounters() -> HRESULT, - fn DisableDebugCounters() -> HRESULT, -}} -RIDL!{#[uuid(0xe334bc12, 0x3937, 0x4e02, 0x85, 0xeb, 0xfc, 0xf4, 0xeb, 0x30, 0xd2, 0xc8)] -interface IDCompositionSurfaceFactory(IDCompositionSurfaceFactoryVtbl): IUnknown(IUnknownVtbl) { - fn CreateSurface( - width: UINT, - height: UINT, - pixelFormat: DXGI_FORMAT, - alphaMode: DXGI_ALPHA_MODE, - surface: *mut *mut IDCompositionSurface, - ) -> HRESULT, - fn CreateVirtualSurface( - initialWidth: UINT, - initialHeight: UINT, - pixelFormat: DXGI_FORMAT, - alphaMode: DXGI_ALPHA_MODE, - virtualSurface: *mut *mut IDCompositionVirtualSurface, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xe8de1639, 0x4331, 0x4b26, 0xbc, 0x5f, 0x6a, 0x32, 0x1d, 0x34, 0x7a, 0x85)] -interface IDCompositionVisual2(IDCompositionVisual2Vtbl): - IDCompositionVisual(IDCompositionVisualVtbl) { - fn SetOpacityMode( - mode: DCOMPOSITION_OPACITY_MODE, - ) -> HRESULT, - fn SetBackFaceVisibility( - visibility: DCOMPOSITION_BACKFACE_VISIBILITY, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xfed2b808, 0x5eb4, 0x43a0, 0xae, 0xa3, 0x35, 0xf6, 0x52, 0x80, 0xf9, 0x1b)] -interface IDCompositionVisualDebug(IDCompositionVisualDebugVtbl): - IDCompositionVisual2(IDCompositionVisual2Vtbl) { - fn EnableHeatMap( - color: *const D2D1_COLOR_F, - ) -> HRESULT, - fn DisableHeatMap() -> HRESULT, - fn EnableRedrawRegions() -> HRESULT, - fn DisableRedrawRegions() -> HRESULT, -}} -RIDL!{#[uuid(0x2775f462, 0xb6c1, 0x4015, 0xb0, 0xbe, 0xb3, 0xe7, 0xd6, 0xa4, 0x97, 0x6d)] -interface IDCompositionVisual3(IDCompositionVisual3Vtbl): - IDCompositionVisualDebug(IDCompositionVisualDebugVtbl) { - fn SetDepthMode( - mode: DCOMPOSITION_DEPTH_MODE, - ) -> HRESULT, - fn SetOffsetZ_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetOffsetZ_1( - offsetZ: c_float, - ) -> HRESULT, - fn SetOpacity_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetOpacity_1( - opacity: c_float, - ) -> HRESULT, - fn SetTransform_2( - transform: *const IDCompositionTransform3D, - ) -> HRESULT, - fn SetTransform_1( - matrix: *const D2D_MATRIX_4X4_F, - ) -> HRESULT, - fn SetVisible( - visible: BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x0987cb06, 0xf916, 0x48bf, 0x8d, 0x35, 0xce, 0x76, 0x41, 0x78, 0x1b, 0xd9)] -interface IDCompositionDevice3(IDCompositionDevice3Vtbl): - IDCompositionDevice2(IDCompositionDevice2Vtbl) { - fn CreateGaussianBlurEffect( - gaussianBlurEffect: *mut *mut IDCompositionGaussianBlurEffect, - ) -> HRESULT, - fn CreateBrightnessEffect( - brightnessEffect: *mut *mut IDCompositionBrightnessEffect, - ) -> HRESULT, - fn CreateColorMatrixEffect( - colorMatrixEffect: *mut *mut IDCompositionColorMatrixEffect, - ) -> HRESULT, - fn CreateShadowEffect( - shadowEffect: *mut *mut IDCompositionShadowEffect, - ) -> HRESULT, - fn CreateHueRotationEffect( - hueRotationEffect: *mut *mut IDCompositionHueRotationEffect, - ) -> HRESULT, - fn CreateSaturationEffect( - saturationEffect: *mut *mut IDCompositionSaturationEffect, - ) -> HRESULT, - fn CreateTurbulenceEffect( - turbulenceEffect: *mut *mut IDCompositionTurbulenceEffect, - ) -> HRESULT, - fn CreateLinearTransferEffect( - linearTransferEffect: *mut *mut IDCompositionLinearTransferEffect, - ) -> HRESULT, - fn CreateTableTransferEffect( - tableTransferEffect: *mut *mut IDCompositionTableTransferEffect, - ) -> HRESULT, - fn CreateCompositeEffect( - compositeEffect: *mut *mut IDCompositionCompositeEffect, - ) -> HRESULT, - fn CreateBlendEffect( - blendEffect: *mut *mut IDCompositionBlendEffect, - ) -> HRESULT, - fn CreateArithmeticCompositeEffect( - arithmeticCompositeEffect: *mut *mut IDCompositionArithmeticCompositeEffect, - ) -> HRESULT, - fn CreateAffineTransform2DEffect( - affineTransform2dEffect: *mut *mut IDCompositionAffineTransform2DEffect, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x30c421d5, 0x8cb2, 0x4e9f, 0xb1, 0x33, 0x37, 0xbe, 0x27, 0x0d, 0x4a, 0xc2)] -interface IDCompositionFilterEffect(IDCompositionFilterEffectVtbl): - IDCompositionEffect(IDCompositionEffectVtbl) { - fn SetInput( - index: UINT, - input: *const IUnknown, - flags: UINT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x45d4d0b7, 0x1bd4, 0x454e, 0x88, 0x94, 0x2b, 0xfa, 0x68, 0x44, 0x30, 0x33)] -interface IDCompositionGaussianBlurEffect(IDCompositionGaussianBlurEffectVtbl): - IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { - fn SetStandardDeviation_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetStandardDeviation_1( - amount: c_float, - ) -> HRESULT, - fn SetBorderMode( - mode: D2D1_BORDER_MODE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x6027496e, 0xcb3a, 0x49ab, 0x93, 0x4f, 0xd7, 0x98, 0xda, 0x4f, 0x7d, 0xa6)] -interface IDCompositionBrightnessEffect(IDCompositionBrightnessEffectVtbl): - IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { - fn SetWhitePoint( - whitePoint: *const D2D1_VECTOR_2F, - ) -> HRESULT, - fn SetBlackPoint( - blackPoint: *const D2D1_VECTOR_2F, - ) -> HRESULT, - fn SetWhitePointX_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetWhitePointX_1( - whitePointX: c_float, - ) -> HRESULT, - fn SetWhitePointY_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetWhitePointY_1( - whitePointY: c_float, - ) -> HRESULT, - fn SetBlackPointX_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetBlackPointX_1( - blackPointX: c_float, - ) -> HRESULT, - fn SetBlackPointY_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetBlackPointY_1( - blackPointY: c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xc1170a22, 0x3ce2, 0x4966, 0x90, 0xd4, 0x55, 0x40, 0x8b, 0xfc, 0x84, 0xc4)] -interface IDCompositionColorMatrixEffect(IDCompositionColorMatrixEffectVtbl): - IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { - fn SetMatrix( - matrix: *const D2D1_MATRIX_5X4_F, - ) -> HRESULT, - fn SetMatrixElement_2( - row: c_int, - column: c_int, - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetMatrixElement_1( - row: c_int, - column: c_int, - value: c_float, - ) -> HRESULT, - fn SetAlphaMode( - mode: D2D1_COLORMATRIX_ALPHA_MODE, - ) -> HRESULT, - fn SetClampOutput( - clamp: BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x4ad18ac0, 0xcfd2, 0x4c2f, 0xbb, 0x62, 0x96, 0xe5, 0x4f, 0xdb, 0x68, 0x79)] -interface IDCompositionShadowEffect(IDCompositionShadowEffectVtbl): - IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { - fn SetStandardDeviation_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetStandardDeviation_1( - amount: c_float, - ) -> HRESULT, - fn SetColor( - color: *const D2D1_VECTOR_4F, - ) -> HRESULT, - fn SetRed_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetRed_1( - amount: c_float, - ) -> HRESULT, - fn SetGreen_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetGreen_1( - amount: c_float, - ) -> HRESULT, - fn SetBlue_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetBlue_1( - amount: c_float, - ) -> HRESULT, - fn SetAlpha_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetAlpha_1( - amount: c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x6db9f920, 0x0770, 0x4781, 0xb0, 0xc6, 0x38, 0x19, 0x12, 0xf9, 0xd1, 0x67)] -interface IDCompositionHueRotationEffect(IDCompositionHueRotationEffectVtbl): - IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { - // Changes the angle of rotation - fn SetAngle_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetAngle_1( - amountDegrees: c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa08debda, 0x3258, 0x4fa4, 0x9f, 0x16, 0x91, 0x74, 0xd3, 0xfe, 0x93, 0xb1)] -interface IDCompositionSaturationEffect(IDCompositionSaturationEffectVtbl): - IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { - // Changes the amount of saturation to be applied. - fn SetSaturation_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetSaturation_1( - ratio: c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa6a55bda, 0xc09c, 0x49f3, 0x91, 0x93, 0xa4, 0x19, 0x22, 0xc8, 0x97, 0x15)] -interface IDCompositionTurbulenceEffect(IDCompositionTurbulenceEffectVtbl): - IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { - fn SetOffset( - offset: *const D2D1_VECTOR_2F, - ) -> HRESULT, - fn SetBaseFrequency( - frequency: *const D2D1_VECTOR_2F, - ) -> HRESULT, - fn SetSize( - size: *const D2D1_VECTOR_2F, - ) -> HRESULT, - fn SetNumOctaves( - numOctaves: UINT, - ) -> HRESULT, - fn SetSeed( - seed: UINT, - ) -> HRESULT, - fn SetNoise( - noise: D2D1_TURBULENCE_NOISE, - ) -> HRESULT, - fn SetStitchable( - stitchable: BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x4305ee5b, 0xc4a0, 0x4c88, 0x93, 0x85, 0x67, 0x12, 0x4e, 0x01, 0x76, 0x83)] -interface IDCompositionLinearTransferEffect(IDCompositionLinearTransferEffectVtbl): - IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { - fn SetRedYIntercept_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetRedYIntercept_1( - redYIntercept: c_float, - ) -> HRESULT, - fn SetRedSlope_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetRedSlope_1( - redSlope: c_float, - ) -> HRESULT, - fn SetRedDisable( - redDisable: BOOL, - ) -> HRESULT, - fn SetGreenYIntercept_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetGreenYIntercept_1( - greenYIntercept: c_float, - ) -> HRESULT, - fn SetGreenSlope_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetGreenSlope_1( - greenSlope: c_float, - ) -> HRESULT, - fn SetGreenDisable( - greenDisable: BOOL, - ) -> HRESULT, - fn SetBlueYIntercept_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetBlueYIntercept_1( - blueYIntercept: c_float, - ) -> HRESULT, - fn SetBlueSlope_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetBlueSlope_1( - blueSlope: c_float, - ) -> HRESULT, - fn SetBlueDisable( - blueDisable: BOOL, - ) -> HRESULT, - fn SetAlphaYIntercept_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetAlphaYIntercept_1( - alphaYIntercept: c_float, - ) -> HRESULT, - fn SetAlphaSlope_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetAlphaSlope_1( - alphaSlope: c_float, - ) -> HRESULT, - fn SetAlphaDisable( - alphaDisable: BOOL, - ) -> HRESULT, - fn SetClampOutput( - clampOutput: BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x9b7e82e2, 0x69c5, 0x4eb4, 0xa5, 0xf5, 0xa7, 0x03, 0x3f, 0x51, 0x32, 0xcd)] -interface IDCompositionTableTransferEffect(IDCompositionTableTransferEffectVtbl): - IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { - fn SetRedTable( - tableValues: *const c_float, - count: UINT, - ) -> HRESULT, - fn SetGreenTable( - tableValues: *const c_float, - count: UINT, - ) -> HRESULT, - fn SetBlueTable( - tableValues: *const c_float, - count: UINT, - ) -> HRESULT, - fn SetAlphaTable( - tableValues: *const c_float, - count: UINT, - ) -> HRESULT, - fn SetRedDisable( - redDisable: BOOL, - ) -> HRESULT, - fn SetGreenDisable( - greenDisable: BOOL, - ) -> HRESULT, - fn SetBlueDisable( - blueDisable: BOOL, - ) -> HRESULT, - fn SetAlphaDisable( - alphaDisable: BOOL, - ) -> HRESULT, - fn SetClampOutput( - clampOutput: BOOL, - ) -> HRESULT, - fn SetRedTableValue_2( - index: UINT, - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetRedTableValue_1( - index: UINT, - value: c_float, - ) -> HRESULT, - fn SetGreenTableValue_2( - index: UINT, - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetGreenTableValue_1( - index: UINT, - value: c_float, - ) -> HRESULT, - fn SetBlueTableValue_2( - index: UINT, - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetBlueTableValue_1( - index: UINT, - value: c_float, - ) -> HRESULT, - fn SetAlphaTableValue_2( - index: UINT, - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetAlphaTableValue_1( - index: UINT, - value: c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x576616c0, 0xa231, 0x494d, 0xa3, 0x8d, 0x00, 0xfd, 0x5e, 0xc4, 0xdb, 0x46)] -interface IDCompositionCompositeEffect(IDCompositionCompositeEffectVtbl): - IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { - fn SetMode( - mode: D2D1_COMPOSITE_MODE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x33ecdc0a, 0x578a, 0x4a11, 0x9c, 0x14, 0x0c, 0xb9, 0x05, 0x17, 0xf9, 0xc5)] -interface IDCompositionBlendEffect(IDCompositionBlendEffectVtbl): - IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { - fn SetMode( - mode: D2D1_BLEND_MODE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x3b67dfa8, 0xe3dd, 0x4e61, 0xb6, 0x40, 0x46, 0xc2, 0xf3, 0xd7, 0x39, 0xdc)] -interface IDCompositionArithmeticCompositeEffect(IDCompositionArithmeticCompositeEffectVtbl): - IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { - fn SetCoefficients( - coefficients: *const D2D1_VECTOR_4F, - ) -> HRESULT, - fn SetClampOutput( - clampoutput: BOOL, - ) -> HRESULT, - fn SetCoefficient1_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetCoefficient1_1( - Coeffcient1: c_float, - ) -> HRESULT, - fn SetCoefficient2_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetCoefficient2_1( - Coefficient2: c_float, - ) -> HRESULT, - fn SetCoefficient3_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetCoefficient3_1( - Coefficient3: c_float, - ) -> HRESULT, - fn SetCoefficient4_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetCoefficient4_1( - Coefficient4: c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x0b74b9e8, 0xcdd6, 0x492f, 0xbb, 0xbc, 0x5e, 0xd3, 0x21, 0x57, 0x02, 0x6d)] -interface IDCompositionAffineTransform2DEffect(IDCompositionAffineTransform2DEffectVtbl): - IDCompositionFilterEffect(IDCompositionFilterEffectVtbl) { - fn SetInterpolationMode( - interpolationMode: D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE, - ) -> HRESULT, - fn SetBorderMode( - borderMode: D2D1_BORDER_MODE, - ) -> HRESULT, - fn SetTransformMatrix( - transformMatrix: *const D2D1_MATRIX_3X2_F, - ) -> HRESULT, - fn SetTransformMatrixElement_2( - row: c_int, - column: c_int, - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetTransformMatrixElement_1( - row: c_int, - column: c_int, - value: c_float, - ) -> HRESULT, - fn SetSharpness_2( - animation: *const IDCompositionAnimation, - ) -> HRESULT, - fn SetSharpness_1( - sharpness: c_float, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dcompanimation.rs b/vendor/registry-40351f815f426200/winapi/src/um/dcompanimation.rs deleted file mode 100644 index ca54c405e..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dcompanimation.rs +++ /dev/null @@ -1,38 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of dcompanimation.h -use ctypes::{c_double, c_float}; -use shared::ntdef::{HRESULT, LARGE_INTEGER}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -RIDL!{#[uuid(0xcbfd91d9, 0x51b2, 0x45e4, 0xb3, 0xde, 0xd1, 0x9c, 0xcf, 0xb8, 0x63, 0xc5)] -interface IDCompositionAnimation(IDCompositionAnimationVtbl): IUnknown(IUnknownVtbl) { - fn Reset() -> HRESULT, - fn SetAbsoluteBeginTime( - beginTime: LARGE_INTEGER, - ) -> HRESULT, - fn AddCubic( - beginOffset: c_double, - constantCoefficient: c_float, - linearCoefficient: c_float, - quadraticCoefficient: c_float, - cubicCoefficient: c_float, - )-> HRESULT, - fn AddSinusoidal( - beginOffset: c_double, - bias: c_float, - amplitude: c_float, - frequency: c_float, - phase: c_float, - )-> HRESULT, - fn AddRepeat( - beginOffset: c_double, - durationToRepeat: c_double, - )-> HRESULT, - fn End( - endOffset: c_double, - endValue: c_float, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dde.rs b/vendor/registry-40351f815f426200/winapi/src/um/dde.rs deleted file mode 100644 index b3ce4a9da..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dde.rs +++ /dev/null @@ -1,20 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::{PUINT_PTR, UINT_PTR}; -use shared::minwindef::{BOOL, LPARAM, UINT}; -extern "system" { - pub fn PackDDElParam( - msg: UINT, - uiLo: UINT_PTR, - uiHi: UINT_PTR, - ) -> LPARAM; - pub fn UnpackDDElParam( - msg: UINT, - lParam: LPARAM, - puiLo: PUINT_PTR, - puiHi: PUINT_PTR, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/ddraw.rs b/vendor/registry-40351f815f426200/winapi/src/um/ddraw.rs deleted file mode 100644 index fd0d9e89b..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/ddraw.rs +++ /dev/null @@ -1,37 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{CLSID_DirectDraw, - 0xd7b70ee0, 0x4340, 0x11cf, 0xb0, 0x63, 0x00, 0x20, 0xaf, 0xc2, 0xcd, 0x35} -DEFINE_GUID!{CLSID_DirectDraw7, - 0x3c305196, 0x50db, 0x11d3, 0x9c, 0xfe, 0x00, 0xc0, 0x4f, 0xd9, 0x30, 0xc5} -DEFINE_GUID!{CLSID_DirectDrawClipper, - 0x593817a0, 0x7db3, 0x11cf, 0xa2, 0xde, 0x00, 0xaa, 0x00, 0xb9, 0x33, 0x56} -DEFINE_GUID!{IID_IDirectDraw, - 0x6c14db80, 0xa733, 0x11ce, 0xa5, 0x21, 0x00, 0x20, 0xaf, 0x0b, 0xe5, 0x60} -DEFINE_GUID!{IID_IDirectDraw2, - 0xb3a6f3e0, 0x2b43, 0x11cf, 0xa2, 0xde, 0x00, 0xaa, 0x00, 0xb9, 0x33, 0x56} -DEFINE_GUID!{IID_IDirectDraw4, - 0x9c59509a, 0x39bd, 0x11d1, 0x8c, 0x4a, 0x00, 0xc0, 0x4f, 0xd9, 0x30, 0xc5} -DEFINE_GUID!{IID_IDirectDraw7, - 0x15e65ec0, 0x3b9c, 0x11d2, 0xb9, 0x2f, 0x00, 0x60, 0x97, 0x97, 0xea, 0x5b} -DEFINE_GUID!{IID_IDirectDrawSurface, - 0x6c14db81, 0xa733, 0x11ce, 0xa5, 0x21, 0x00, 0x20, 0xaf, 0x0b, 0xe5, 0x60} -DEFINE_GUID!{IID_IDirectDrawSurface2, - 0x57805885, 0x6eec, 0x11cf, 0x94, 0x41, 0xa8, 0x23, 0x03, 0xc1, 0x0e, 0x27} -DEFINE_GUID!{IID_IDirectDrawSurface3, - 0xda044e00, 0x69b2, 0x11d0, 0xa1, 0xd5, 0x00, 0xaa, 0x00, 0xb8, 0xdf, 0xbb} -DEFINE_GUID!{IID_IDirectDrawSurface4, - 0x0b2b8630, 0xad35, 0x11d0, 0x8e, 0xa6, 0x00, 0x60, 0x97, 0x97, 0xea, 0x5b} -DEFINE_GUID!{IID_IDirectDrawSurface7, - 0x06675a80, 0x3b9b, 0x11d2, 0xb9, 0x2f, 0x00, 0x60, 0x97, 0x97, 0xea, 0x5b} -DEFINE_GUID!{IID_IDirectDrawPalette, - 0x6c14db84, 0xa733, 0x11ce, 0xa5, 0x21, 0x00, 0x20, 0xaf, 0x0b, 0xe5, 0x60} -DEFINE_GUID!{IID_IDirectDrawClipper, - 0x6c14db85, 0xa733, 0x11ce, 0xa5, 0x21, 0x00, 0x20, 0xaf, 0x0b, 0xe5, 0x60} -DEFINE_GUID!{IID_IDirectDrawColorControl, - 0x4b9f0ee0, 0x0d7e, 0x11d0, 0x9b, 0x06, 0x00, 0xa0, 0xc9, 0x03, 0xa3, 0xb8} -DEFINE_GUID!{IID_IDirectDrawGammaControl, - 0x69c11c3e, 0xb46b, 0x11d1, 0xad, 0x7a, 0x00, 0xc0, 0x4f, 0xc2, 0x9b, 0x4e} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/ddrawi.rs b/vendor/registry-40351f815f426200/winapi/src/um/ddrawi.rs deleted file mode 100644 index 18e651863..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/ddrawi.rs +++ /dev/null @@ -1,13 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{GUID_OptSurfaceKmodeInfo, - 0xe05c8472, 0x51d4, 0x11d1, 0x8c, 0xce, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0xa8} -DEFINE_GUID!{GUID_OptSurfaceUmodeInfo, - 0x9d792804, 0x5fa8, 0x11d1, 0x8c, 0xd0, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0xa8} -DEFINE_GUID!{GUID_UserModeDriverInfo, - 0xf0b0e8e2, 0x5f97, 0x11d1, 0x8c, 0xd0, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0xa8} -DEFINE_GUID!{GUID_UserModeDriverPassword, - 0x97f861b6, 0x60a1, 0x11d1, 0x8c, 0xd0, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0xa8} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/ddrawint.rs b/vendor/registry-40351f815f426200/winapi/src/um/ddrawint.rs deleted file mode 100644 index 2f9b7431b..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/ddrawint.rs +++ /dev/null @@ -1,41 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{GUID_MiscellaneousCallbacks, - 0xefd60cc0, 0x49e7, 0x11d0, 0x88, 0x9d, 0x00, 0xaa, 0x00, 0xbb, 0xb7, 0x6a} -DEFINE_GUID!{GUID_Miscellaneous2Callbacks, - 0x406b2f00, 0x3e5a, 0x11d1, 0xb6, 0x40, 0x00, 0xaa, 0x00, 0xa1, 0xf9, 0x6a} -DEFINE_GUID!{GUID_VideoPortCallbacks, - 0xefd60cc1, 0x49e7, 0x11d0, 0x88, 0x9d, 0x00, 0xaa, 0x00, 0xbb, 0xb7, 0x6a} -DEFINE_GUID!{GUID_ColorControlCallbacks, - 0xefd60cc2, 0x49e7, 0x11d0, 0x88, 0x9d, 0x00, 0xaa, 0x00, 0xbb, 0xb7, 0x6a} -DEFINE_GUID!{GUID_MotionCompCallbacks, - 0xb1122b40, 0x5da5, 0x11d1, 0x8f, 0xcf, 0x00, 0xc0, 0x4f, 0xc2, 0x9b, 0x4e} -DEFINE_GUID!{GUID_VideoPortCaps, - 0xefd60cc3, 0x49e7, 0x11d0, 0x88, 0x9d, 0x00, 0xaa, 0x00, 0xbb, 0xb7, 0x6a} -DEFINE_GUID!{GUID_D3DExtendedCaps, - 0x7de41f80, 0x9d93, 0x11d0, 0x89, 0xab, 0x00, 0xa0, 0xc9, 0x05, 0x41, 0x29} -DEFINE_GUID!{GUID_D3DCallbacks2, - 0x0ba584e1, 0x70b6, 0x11d0, 0x88, 0x9d, 0x00, 0xaa, 0x00, 0xbb, 0xb7, 0x6a} -DEFINE_GUID!{GUID_D3DCallbacks3, - 0xddf41230, 0xec0a, 0x11d0, 0xa9, 0xb6, 0x00, 0xaa, 0x00, 0xc0, 0x99, 0x3e} -DEFINE_GUID!{GUID_NonLocalVidMemCaps, - 0x86c4fa80, 0x8d84, 0x11d0, 0x94, 0xe8, 0x00, 0xc0, 0x4f, 0xc3, 0x41, 0x37} -DEFINE_GUID!{GUID_KernelCallbacks, - 0x80863800, 0x6b06, 0x11d0, 0x9b, 0x06, 0x00, 0xa0, 0xc9, 0x03, 0xa3, 0xb8} -DEFINE_GUID!{GUID_KernelCaps, - 0xffaa7540, 0x7aa8, 0x11d0, 0x9b, 0x06, 0x00, 0xa0, 0xc9, 0x03, 0xa3, 0xb8} -DEFINE_GUID!{GUID_ZPixelFormats, - 0x93869880, 0x36cf, 0x11d1, 0x9b, 0x1b, 0x00, 0xaa, 0x00, 0xbb, 0xb8, 0xae} -DEFINE_GUID!{GUID_DDMoreCaps, - 0x880baf30, 0xb030, 0x11d0, 0x8e, 0xa7, 0x00, 0x60, 0x97, 0x97, 0xea, 0x5b} -DEFINE_GUID!{GUID_D3DParseUnknownCommandCallback, - 0x2e04ffa0, 0x98e4, 0x11d1, 0x8c, 0xe1, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0xa8} -DEFINE_GUID!{GUID_NTCallbacks, - 0x6fe9ecde, 0xdf89, 0x11d1, 0x9d, 0xb0, 0x00, 0x60, 0x08, 0x27, 0x71, 0xba} -DEFINE_GUID!{GUID_DDMoreSurfaceCaps, - 0x3b8a0466, 0xf269, 0x11d1, 0x88, 0x0b, 0x00, 0xc0, 0x4f, 0xd9, 0x30, 0xc5} -DEFINE_GUID!{GUID_DDStereoMode, - 0xf828169c, 0xa8e8, 0x11d2, 0xa1, 0xf2, 0x00, 0xa0, 0xc9, 0x83, 0xea, 0xf6} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/debugapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/debugapi.rs deleted file mode 100644 index 442b50db4..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/debugapi.rs +++ /dev/null @@ -1,41 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::{BOOL, DWORD, PBOOL}; -use um::minwinbase::LPDEBUG_EVENT; -use um::winnt::{HANDLE, LPCSTR, LPCWSTR}; -extern "system" { - pub fn IsDebuggerPresent() -> BOOL; - pub fn DebugBreak(); - pub fn OutputDebugStringA( - lpOutputString: LPCSTR, - ); - pub fn OutputDebugStringW( - lpOutputString: LPCWSTR, - ); - pub fn ContinueDebugEvent( - dwProcessId: DWORD, - dwThreadId: DWORD, - dwContinueStatus: DWORD, - ) -> BOOL; - pub fn WaitForDebugEvent( - lpDebugEvent: LPDEBUG_EVENT, - dwMilliseconds: DWORD, - ) -> BOOL; - pub fn DebugActiveProcess( - dwProcessId: DWORD, - ) -> BOOL; - pub fn DebugActiveProcessStop( - dwProcessId: DWORD, - ) -> BOOL; - pub fn CheckRemoteDebuggerPresent( - hProcess: HANDLE, - pbDebuggerPresent: PBOOL, - ) -> BOOL; - pub fn WaitForDebugEventEx( - lpDebugEvent: LPDEBUG_EVENT, - dwMilliseconds: DWORD, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/devicetopology.rs b/vendor/registry-40351f815f426200/winapi/src/um/devicetopology.rs deleted file mode 100644 index 6f74ffba1..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/devicetopology.rs +++ /dev/null @@ -1,462 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! The DeviceTopology API gives clients control over a variety of internal functions of audio -//! adapters that they cannot access through the MMDevice API, WASAPI, or the EndpointVolume API. -use ctypes::{c_float, c_void}; -use shared::guiddef::{GUID, LPCGUID, REFGUID, REFIID}; -use shared::minwindef::{BOOL, DWORD, UCHAR, UINT, ULONG, WORD}; -use shared::windef::COLORREF; -use shared::wtypes::VARTYPE; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LONG, LONGLONG, LPWSTR, WCHAR}; -DEFINE_GUID!{EVENTCONTEXT_VOLUMESLIDER, - 0xe2c2e9de, 0x09b1, 0x4b04, 0x84, 0xe5, 0x07, 0x93, 0x12, 0x25, 0xee, 0x04} -STRUCT!{struct KSDATAFORMAT { - FormatSize: ULONG, - Flags: ULONG, - SampleSize: ULONG, - Reserved: ULONG, - MajorFormat: GUID, - SubFormat: GUID, - Specifier: GUID, -}} -pub type PKSDATAFORMAT = *mut KSDATAFORMAT; -STRUCT!{struct KSIDENTIFIER_s { - Set: GUID, - Id: ULONG, - Flags: ULONG, -}} -UNION!{union KSIDENTIFIER { - [u64; 3], - s s_mut: KSIDENTIFIER_s, - Alignment Alignment_mut: LONGLONG, -}} -pub type KSPROPERTY = KSIDENTIFIER; -pub type PKSPROPERTY = *mut KSIDENTIFIER; -pub type KSMETHOD = KSIDENTIFIER; -pub type PKSMETHOD = *mut KSIDENTIFIER; -pub type KSEVENT = KSIDENTIFIER; -pub type PKSEVENT = *mut KSIDENTIFIER; -ENUM!{enum EPcxConnectionType { - eConnTypeUnknown = 0, - eConnType3Point5mm = 1, - eConnTypeQuarter = 2, - eConnTypeAtapiInternal = 3, - eConnTypeRCA = 4, - eConnTypeOptical = 5, - eConnTypeOtherDigital = 6, - eConnTypeOtherAnalog = 7, - eConnTypeMultichannelAnalogDIN = 8, - eConnTypeXlrProfessional = 9, - eConnTypeRJ11Modem = 10, - eConnTypeCombination = 11, -}} -ENUM!{enum EPcxGeoLocation { - eGeoLocRear = 1, - eGeoLocFront = 2, - eGeoLocLeft = 3, - eGeoLocRight = 4, - eGeoLocTop = 5, - eGeoLocBottom = 6, - eGeoLocRearPanel = 7, - eGeoLocRiser = 8, - eGeoLocInsideMobileLid = 9, - eGeoLocDrivebay = 10, - eGeoLocHDMI = 11, - eGeoLocOutsideMobileLid = 12, - eGeoLocATAPI = 13, - eGeoLocNotApplicable = 14, - eGeoLocReserved6 = 15, -}} -ENUM!{enum EPcxGenLocation { - eGenLocPrimaryBox = 0, - eGenLocInternal = 1, - eGenLocSeparate = 2, - eGenLocOther = 3, -}} -ENUM!{enum EPxcPortConnection { - ePortConnJack = 0, - ePortConnIntegratedDevice = 1, - ePortConnBothIntegratedAndJack = 2, - ePortConnUnknown = 3, -}} -STRUCT!{struct KSJACK_DESCRIPTION { - ChannelMapping: DWORD, - Color: COLORREF, - ConnectionType: EPcxConnectionType, - GeoLocation: EPcxGeoLocation, - GenLocation: EPcxGenLocation, - PortConnection: EPxcPortConnection, - IsConnected: BOOL, -}} -pub type PKSJACK_DESCRIPTION = *mut KSJACK_DESCRIPTION; -STRUCT!{struct LUID { - LowPart: DWORD, - HighPart: LONG, -}} -pub type PLUID = *mut LUID; -ENUM!{enum KSJACK_SINK_CONNECTIONTYPE { - KSJACK_SINK_CONNECTIONTYPE_HDMI = 0, - KSJACK_SINK_CONNECTIONTYPE_DISPLAYPORT = 1, -}} -STRUCT!{struct KSJACK_SINK_INFORMATION { - ConnType: KSJACK_SINK_CONNECTIONTYPE, - ManufacturerId: WORD, - ProductId: WORD, - AudioLatency: WORD, - HDCPCapable: BOOL, - AICapable: BOOL, - SinkDescriptionLength: UCHAR, - SinkDescription: [WCHAR; 32], - PortId: LUID, -}} -STRUCT!{struct KSJACK_DESCRIPTION2 { - DeviceStateInfo: DWORD, - JackCapabilities: DWORD, -}} -pub type PKSJACK_DESCRIPTION2 = *mut KSJACK_DESCRIPTION2; -ENUM!{enum DataFlow { - In = 0, - Out = 1, -}} -ENUM!{enum PartType { - Connector = 0, - Subunit = 1, -}} -ENUM!{enum ConnectorType { - Unknown_Connector = 0, - Physical_Internal = 1, - Physical_External = 2, - Software_IO = 3, - Software_Fixed = 4, - Network = 5, -}} -RIDL!{#[uuid(0x28f54685, 0x06fd, 0x11d2, 0xb2, 0x7a, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96)] -interface IKsControl(IKsControlVtbl): IUnknown(IUnknownVtbl) { - fn KsProperty( - Property: PKSPROPERTY, - PropertyLength: ULONG, - PropertyData: *mut c_void, - DataLength: ULONG, - BytesReturned: *mut ULONG, - ) -> HRESULT, - fn KsMethod( - Method: PKSMETHOD, - MethodLength: ULONG, - MethodData: *mut c_void, - DataLength: ULONG, - BytesReturned: *mut ULONG, - ) -> HRESULT, - fn KsEvent( - Event: PKSEVENT, - EventLength: ULONG, - EventData: *mut c_void, - DataLength: ULONG, - BytesReturned: *mut ULONG, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xc2f8e001, 0xf205, 0x4bc9, 0x99, 0xbc, 0xc1, 0x3b, 0x1e, 0x04, 0x8c, 0xcb)] -interface IPerChannelDbLevel(IPerChannelDbLevelVtbl): IUnknown(IUnknownVtbl) { - fn GetChannelCount( - pcChannels: *mut UINT, - ) -> HRESULT, - fn GetLevelRange( - nChannel: UINT, - pfMinLevelDB: *mut c_float, - pfMaxLevelDB: *mut c_float, - pfStepping: *mut c_float, - ) -> HRESULT, - fn GetLevel( - nChannel: UINT, - pfLevelDB: *mut c_float, - ) -> HRESULT, - fn SetLevel( - nChannel: UINT, - fLevelDB: c_float, - pguidEventContext: LPCGUID, - ) -> HRESULT, - fn SetLevelUniform( - fLevelDB: c_float, - pguidEventContext: LPCGUID, - ) -> HRESULT, - fn SetLevelAllChannels( - aLevelsDB: *mut c_float, - cChannels: ULONG, - pguidEventContext: LPCGUID, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x7fb7b48f, 0x531d, 0x44a2, 0xbc, 0xb3, 0x5a, 0xd5, 0xa1, 0x34, 0xb3, 0xdc)] -interface IAudioVolumeLevel(IAudioVolumeLevelVtbl): IPerChannelDbLevel(IPerChannelDbLevelVtbl) {}} -RIDL!{#[uuid(0xbb11c46f, 0xec28, 0x493c, 0xb8, 0x8a, 0x5d, 0xb8, 0x80, 0x62, 0xce, 0x98)] -interface IAudioChannelConfig(IAudioChannelConfigVtbl): IUnknown(IUnknownVtbl) { - fn SetChannelConfig( - dwConfig: DWORD, - pguidEventContext: LPCGUID, - ) -> HRESULT, - fn GetChannelConfig( - pdwConfig: *mut DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x7d8b1437, 0xdd53, 0x4350, 0x9c, 0x1b, 0x1e, 0xe2, 0x89, 0x0b, 0xd9, 0x38)] -interface IAudioLoudness(IAudioLoudnessVtbl): IUnknown(IUnknownVtbl) { - fn GetEnabled( - pbEnabled: *mut BOOL, - ) -> HRESULT, - fn SetEnabled( - bEnable: BOOL, - pguidEventContext: LPCGUID, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x4f03dc02, 0x5e6e, 0x4653, 0x8f, 0x72, 0xa0, 0x30, 0xc1, 0x23, 0xd5, 0x98)] -interface IAudioInputSelector(IAudioInputSelectorVtbl): IUnknown(IUnknownVtbl) { - fn GetSelection( - pnIdSelected: *mut UINT, - ) -> HRESULT, - fn SetSelection( - nIdSelect: UINT, - pguidEventContext: LPCGUID, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xbb515f69, 0x94a7, 0x429e, 0x8b, 0x9c, 0x27, 0x1b, 0x3f, 0x11, 0xa3, 0xab)] -interface IAudioOutputSelector(IAudioOutputSelectorVtbl): IUnknown(IUnknownVtbl) { - fn GetSelection( - pnIdSelected: *mut UINT, - ) -> HRESULT, - fn SetSelection( - nIdSelect: UINT, - pguidEventContext: LPCGUID, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xdf45aeea, 0xb74a, 0x4b6b, 0xaf, 0xad, 0x23, 0x66, 0xb6, 0xaa, 0x01, 0x2e)] -interface IAudioMute(IAudioMuteVtbl): IUnknown(IUnknownVtbl) { - fn SetMute( - bMuted: BOOL, - pguidEventContext: LPCGUID, - ) -> HRESULT, - fn GetMute( - pbMuted: *mut BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa2b1a1d9, 0x4db3, 0x425d, 0xa2, 0xb2, 0xbd, 0x33, 0x5c, 0xb3, 0xe2, 0xe5)] -interface IAudioBass(IAudioBassVtbl): IPerChannelDbLevel(IPerChannelDbLevelVtbl) {}} -RIDL!{#[uuid(0x5e54b6d7, 0xb44b, 0x40d9, 0x9a, 0x9e, 0xe6, 0x91, 0xd9, 0xce, 0x6e, 0xdf)] -interface IAudioMidrange(IAudioMidrangeVtbl): IPerChannelDbLevel(IPerChannelDbLevelVtbl) {}} -RIDL!{#[uuid(0x0a717812, 0x694e, 0x4907, 0xb7, 0x4b, 0xba, 0xfa, 0x5c, 0xfd, 0xca, 0x7b)] -interface IAudioTreble(IAudioTrebleVtbl): IPerChannelDbLevel(IPerChannelDbLevelVtbl) {}} -RIDL!{#[uuid(0x85401fd4, 0x6de4, 0x4b9d, 0x98, 0x69, 0x2d, 0x67, 0x53, 0xa8, 0x2f, 0x3c)] -interface IAudioAutoGainControl(IAudioAutoGainControlVtbl): IUnknown(IUnknownVtbl) { - fn GetEnabled( - pbEnabled: *mut BOOL, - ) -> HRESULT, - fn SetEnabled( - bEnable: BOOL, - pguidEventContext: LPCGUID, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xdd79923c, 0x0599, 0x45e0, 0xb8, 0xb6, 0xc8, 0xdf, 0x7d, 0xb6, 0xe7, 0x96)] -interface IAudioPeakMeter(IAudioPeakMeterVtbl): IUnknown(IUnknownVtbl) { - fn GetChannelCount( - pcChannels: *mut UINT, - ) -> HRESULT, - fn GetLevel( - nChannel: UINT, - pfLevel: *mut c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x3b22bcbf, 0x2586, 0x4af0, 0x85, 0x83, 0x20, 0x5d, 0x39, 0x1b, 0x80, 0x7c)] -interface IDeviceSpecificProperty(IDeviceSpecificPropertyVtbl): IUnknown(IUnknownVtbl) { - fn GetType( - pVType: *mut VARTYPE, - ) -> HRESULT, - fn GetValue( - pvValue: *mut c_void, - pcbValue: *mut DWORD, - ) -> HRESULT, - fn SetValue( - pvValue: *mut c_void, - cbValue: DWORD, - pguidEventContext: LPCGUID, - ) -> HRESULT, - fn Get4BRange( - plMin: *mut LONG, - plMax: *mut LONG, - plStepping: *mut LONG, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x3cb4a69d, 0xbb6f, 0x4d2b, 0x95, 0xb7, 0x45, 0x2d, 0x2c, 0x15, 0x5d, 0xb5)] -interface IKsFormatSupport(IKsFormatSupportVtbl): IUnknown(IUnknownVtbl) { - fn IsFormatSupported( - pKsFormat: PKSDATAFORMAT, - cbFormat: DWORD, - pbSupported: *mut BOOL, - ) -> HRESULT, - fn GetDevicePreferredFormat( - ppKsFormat: *mut PKSDATAFORMAT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x4509f757, 0x2d46, 0x4637, 0x8e, 0x62, 0xce, 0x7d, 0xb9, 0x44, 0xf5, 0x7b)] -interface IKsJackDescription(IKsJackDescriptionVtbl): IUnknown(IUnknownVtbl) { - fn GetJackCount( - pcJacks: *mut UINT, - ) -> HRESULT, - fn GetJackDescription( - nJack: UINT, - pDescription: *mut KSJACK_DESCRIPTION, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x478f3a9b, 0xe0c9, 0x4827, 0x92, 0x28, 0x6f, 0x55, 0x05, 0xff, 0xe7, 0x6a)] -interface IKsJackDescription2(IKsJackDescription2Vtbl): IUnknown(IUnknownVtbl) { - fn GetJackCount( - pcJacks: *mut UINT, - ) -> HRESULT, - fn GetJackDescription2( - nJack: UINT, - pDescription2: *mut KSJACK_DESCRIPTION2, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xd9bd72ed, 0x290f, 0x4581, 0x9f, 0xf3, 0x61, 0x02, 0x7a, 0x8f, 0xe5, 0x32)] -interface IKsJackSinkInformation(IKsJackSinkInformationVtbl): IUnknown(IUnknownVtbl) { - fn GetJackSinkInformation( - pJackSinkInformation: *mut KSJACK_SINK_INFORMATION, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xc99af463, 0xd629, 0x4ec4, 0x8c, 0x00, 0xe5, 0x4d, 0x68, 0x15, 0x42, 0x48)] -interface IKsJackContainerId(IKsJackContainerIdVtbl): IUnknown(IUnknownVtbl) { - fn GetJackContainerId( - pJackContainerId: *mut GUID, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x6daa848c, 0x5eb0, 0x45cc, 0xae, 0xa5, 0x99, 0x8a, 0x2c, 0xda, 0x1f, 0xfb)] -interface IPartsList(IPartsListVtbl): IUnknown(IUnknownVtbl) { - fn GetCount( - pCount: *mut UINT, - ) -> HRESULT, - fn GetPart( - nIndex: UINT, - ppPart: *mut *mut IPart, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xae2de0e4, 0x5bca, 0x4f2d, 0xaa, 0x46, 0x5d, 0x13, 0xf8, 0xfd, 0xb3, 0xa9)] -interface IPart(IPartVtbl): IUnknown(IUnknownVtbl) { - fn GetName( - ppwstrName: *mut LPWSTR, - ) -> HRESULT, - fn GetLocalId( - pnId: *mut UINT, - ) -> HRESULT, - fn GetGlobalId( - ppwstrGlobalId: *mut LPWSTR, - ) -> HRESULT, - fn GetPartType( - pPartType: *mut PartType, - ) -> HRESULT, - fn GetSubType( - pSubType: *mut GUID, - ) -> HRESULT, - fn GetControlInterfaceCount( - pCount: *mut UINT, - ) -> HRESULT, - fn GetControlInterface( - nIndex: UINT, - ppInterfaceDesc: *mut *mut IControlInterface, - ) -> HRESULT, - fn EnumPartsIncoming( - ppParts: *mut *mut IPartsList, - ) -> HRESULT, - fn EnumPartsOutgoing( - ppParts: *mut *mut IPartsList, - ) -> HRESULT, - fn GetTopologyObject( - ppTopology: *mut *mut IDeviceTopology, - ) -> HRESULT, - fn Activate( - dwClsContext: DWORD, - refiid: REFIID, - ppvObject: *mut *mut c_void, - ) -> HRESULT, - fn RegisterControlChangeCallback( - riid: REFGUID, - pNotify: *mut IControlChangeNotify, - ) -> HRESULT, - fn UnregisterControlChangeCallback( - pNotify: *mut IControlChangeNotify, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x9c2c4058, 0x23f5, 0x41de, 0x87, 0x7a, 0xdf, 0x3a, 0xf2, 0x36, 0xa0, 0x9e)] -interface IConnector(IConnectorVtbl): IUnknown(IUnknownVtbl) { - fn GetType( - pType: *mut ConnectorType, - ) -> HRESULT, - fn GetDataFlow( - pFlow: *mut DataFlow, - ) -> HRESULT, - fn ConnectTo( - pConnectTo: *mut IConnector, - ) -> HRESULT, - fn Disconnect() -> HRESULT, - fn IsConnected( - pbConnected: *mut BOOL, - ) -> HRESULT, - fn GetConnectedTo( - ppConTo: *mut *mut IConnector, - ) -> HRESULT, - fn GetConnectorIdConnectedTo( - ppwstrConnectorId: *mut LPWSTR, - ) -> HRESULT, - fn GetDeviceIdConnectedTo( - ppwstrDeviceId: *mut LPWSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x82149a85, 0xdba6, 0x4487, 0x86, 0xbb, 0xea, 0x8f, 0x7f, 0xef, 0xcc, 0x71)] -interface ISubunit(ISubunitVtbl): IUnknown(IUnknownVtbl) {}} -RIDL!{#[uuid(0x45d37c3f, 0x5140, 0x444a, 0xae, 0x24, 0x40, 0x07, 0x89, 0xf3, 0xcb, 0xf3)] -interface IControlInterface(IControlInterfaceVtbl): IUnknown(IUnknownVtbl) { - fn GetName( - ppwstrName: *mut LPWSTR, - ) -> HRESULT, - fn GetIID( - pIID: *mut GUID, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa09513ed, 0xc709, 0x4d21, 0xbd, 0x7b, 0x5f, 0x34, 0xc4, 0x7f, 0x39, 0x47)] -interface IControlChangeNotify(IControlChangeNotifyVtbl): IUnknown(IUnknownVtbl) { - fn OnNotify( - dwSenderProcessId: DWORD, - pguidEventContext: LPCGUID, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2a07407e, 0x6497, 0x4a18, 0x97, 0x87, 0x32, 0xf7, 0x9b, 0xd0, 0xd9, 0x8f)] -interface IDeviceTopology(IDeviceTopologyVtbl): IUnknown(IUnknownVtbl) { - fn GetConnectorCount( - pCount: *mut UINT, - ) -> HRESULT, - fn GetConnector( - nIndex: UINT, - ppConnector: *mut *mut IConnector, - ) -> HRESULT, - fn GetSubunitCount( - pCount: *mut UINT, - ) -> HRESULT, - fn GetSubunit( - nIndex: UINT, - ppSubunit: *mut *mut ISubunit, - ) -> HRESULT, - fn GetPartById( - nId: UINT, - ppPart: *mut *mut IPart, - ) -> HRESULT, - fn GetDeviceId( - ppwstrDeviceId: *mut LPWSTR, - ) -> HRESULT, - fn GetSignalPath( - pIPartFrom: *mut IPart, - pIPartTo: *mut IPart, - bRejectMixedPaths: BOOL, - ppParts: *mut *mut IPartsList, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x1df639d0, 0x5ec1, 0x47aa, 0x93, 0x79, 0x82, 0x8d, 0xc1, 0xaa, 0x8c, 0x59)] -class DeviceTopology;} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dinput.rs b/vendor/registry-40351f815f426200/winapi/src/um/dinput.rs deleted file mode 100644 index 5b5b1c5e5..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dinput.rs +++ /dev/null @@ -1,107 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{CLSID_DirectInput, - 0x25e609e0, 0xb259, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{CLSID_DirectInputDevice, - 0x25e609e1, 0xb259, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{CLSID_DirectInput8, - 0x25e609e4, 0xb259, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{CLSID_DirectInputDevice8, - 0x25e609e5, 0xb259, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{IID_IDirectInputA, - 0x89521360, 0xaa8a, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{IID_IDirectInputW, - 0x89521361, 0xaa8a, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{IID_IDirectInput2A, - 0x5944e662, 0xaa8a, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{IID_IDirectInput2W, - 0x5944e663, 0xaa8a, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{IID_IDirectInput7A, - 0x9a4cb684, 0x236d, 0x11d3, 0x8e, 0x9d, 0x00, 0xc0, 0x4f, 0x68, 0x44, 0xae} -DEFINE_GUID!{IID_IDirectInput7W, - 0x9a4cb685, 0x236d, 0x11d3, 0x8e, 0x9d, 0x00, 0xc0, 0x4f, 0x68, 0x44, 0xae} -DEFINE_GUID!{IID_IDirectInput8A, - 0xbf798030, 0x483a, 0x4da2, 0xaa, 0x99, 0x5d, 0x64, 0xed, 0x36, 0x97, 0x00} -DEFINE_GUID!{IID_IDirectInput8W, - 0xbf798031, 0x483a, 0x4da2, 0xaa, 0x99, 0x5d, 0x64, 0xed, 0x36, 0x97, 0x00} -DEFINE_GUID!{IID_IDirectInputDeviceA, - 0x5944e680, 0xc92e, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{IID_IDirectInputDeviceW, - 0x5944e681, 0xc92e, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{IID_IDirectInputDevice2A, - 0x5944e682, 0xc92e, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{IID_IDirectInputDevice2W, - 0x5944e683, 0xc92e, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{IID_IDirectInputDevice7A, - 0x57d7c6bc, 0x2356, 0x11d3, 0x8e, 0x9d, 0x00, 0xc0, 0x4f, 0x68, 0x44, 0xae} -DEFINE_GUID!{IID_IDirectInputDevice7W, - 0x57d7c6bd, 0x2356, 0x11d3, 0x8e, 0x9d, 0x00, 0xc0, 0x4f, 0x68, 0x44, 0xae} -DEFINE_GUID!{IID_IDirectInputDevice8A, - 0x54d41080, 0xdc15, 0x4833, 0xa4, 0x1b, 0x74, 0x8f, 0x73, 0xa3, 0x81, 0x79} -DEFINE_GUID!{IID_IDirectInputDevice8W, - 0x54d41081, 0xdc15, 0x4833, 0xa4, 0x1b, 0x74, 0x8f, 0x73, 0xa3, 0x81, 0x79} -DEFINE_GUID!{IID_IDirectInputEffect, - 0xe7e1f7c0, 0x88d2, 0x11d0, 0x9a, 0xd0, 0x00, 0xa0, 0xc9, 0xa0, 0x6e, 0x35} -DEFINE_GUID!{GUID_XAxis, - 0xa36d02e0, 0xc9f3, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{GUID_YAxis, - 0xa36d02e1, 0xc9f3, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{GUID_ZAxis, - 0xa36d02e2, 0xc9f3, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{GUID_RxAxis, - 0xa36d02f4, 0xc9f3, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{GUID_RyAxis, - 0xa36d02f5, 0xc9f3, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{GUID_RzAxis, - 0xa36d02e3, 0xc9f3, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{GUID_Slider, - 0xa36d02e4, 0xc9f3, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{GUID_Button, - 0xa36d02f0, 0xc9f3, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{GUID_Key, - 0x55728220, 0xd33c, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{GUID_POV, - 0xa36d02f2, 0xc9f3, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{GUID_Unknown, - 0xa36d02f3, 0xc9f3, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{GUID_SysMouse, - 0x6f1d2b60, 0xd5a0, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{GUID_SysKeyboard, - 0x6f1d2b61, 0xd5a0, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{GUID_Joystick, - 0x6f1d2b70, 0xd5a0, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{GUID_SysMouseEm, - 0x6f1d2b80, 0xd5a0, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{GUID_SysMouseEm2, - 0x6f1d2b81, 0xd5a0, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{GUID_SysKeyboardEm, - 0x6f1d2b82, 0xd5a0, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{GUID_SysKeyboardEm2, - 0x6f1d2b83, 0xd5a0, 0x11cf, 0xbf, 0xc7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{GUID_ConstantForce, - 0x13541c20, 0x8e33, 0x11d0, 0x9a, 0xd0, 0x00, 0xa0, 0xc9, 0xa0, 0x6e, 0x35} -DEFINE_GUID!{GUID_RampForce, - 0x13541c21, 0x8e33, 0x11d0, 0x9a, 0xd0, 0x00, 0xa0, 0xc9, 0xa0, 0x6e, 0x35} -DEFINE_GUID!{GUID_Square, - 0x13541c22, 0x8e33, 0x11d0, 0x9a, 0xd0, 0x00, 0xa0, 0xc9, 0xa0, 0x6e, 0x35} -DEFINE_GUID!{GUID_Sine, - 0x13541c23, 0x8e33, 0x11d0, 0x9a, 0xd0, 0x00, 0xa0, 0xc9, 0xa0, 0x6e, 0x35} -DEFINE_GUID!{GUID_Triangle, - 0x13541c24, 0x8e33, 0x11d0, 0x9a, 0xd0, 0x00, 0xa0, 0xc9, 0xa0, 0x6e, 0x35} -DEFINE_GUID!{GUID_SawtoothUp, - 0x13541c25, 0x8e33, 0x11d0, 0x9a, 0xd0, 0x00, 0xa0, 0xc9, 0xa0, 0x6e, 0x35} -DEFINE_GUID!{GUID_SawtoothDown, - 0x13541c26, 0x8e33, 0x11d0, 0x9a, 0xd0, 0x00, 0xa0, 0xc9, 0xa0, 0x6e, 0x35} -DEFINE_GUID!{GUID_Spring, - 0x13541c27, 0x8e33, 0x11d0, 0x9a, 0xd0, 0x00, 0xa0, 0xc9, 0xa0, 0x6e, 0x35} -DEFINE_GUID!{GUID_Damper, - 0x13541c28, 0x8e33, 0x11d0, 0x9a, 0xd0, 0x00, 0xa0, 0xc9, 0xa0, 0x6e, 0x35} -DEFINE_GUID!{GUID_Inertia, - 0x13541c29, 0x8e33, 0x11d0, 0x9a, 0xd0, 0x00, 0xa0, 0xc9, 0xa0, 0x6e, 0x35} -DEFINE_GUID!{GUID_Friction, - 0x13541c2a, 0x8e33, 0x11d0, 0x9a, 0xd0, 0x00, 0xa0, 0xc9, 0xa0, 0x6e, 0x35} -DEFINE_GUID!{GUID_CustomForce, - 0x13541c2b, 0x8e33, 0x11d0, 0x9a, 0xd0, 0x00, 0xa0, 0xc9, 0xa0, 0x6e, 0x35} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dispex.rs b/vendor/registry-40351f815f426200/winapi/src/um/dispex.rs deleted file mode 100644 index a846b461f..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dispex.rs +++ /dev/null @@ -1,221 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::DWORD_PTR; -use shared::guiddef::GUID; -use shared::minwindef::{DWORD, WORD}; -use shared::winerror::HRESULT; -use shared::wtypes::{BSTR, VARIANT_BOOL, VARTYPE}; -use um::oaidl::{DISPID, DISPID_UNKNOWN, DISPPARAMS, EXCEPINFO, IDispatch, IDispatchVtbl, VARIANT}; -use um::servprov::IServiceProvider; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::LCID; -DEFINE_GUID!{IID_IDispatchEx, - 0xa6ef9860, 0xc720, 0x11d0, 0x93, 0x37, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9} -DEFINE_GUID!{IID_IDispError, - 0xa6ef9861, 0xc720, 0x11d0, 0x93, 0x37, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9} -DEFINE_GUID!{IID_IVariantChangeType, - 0xa6ef9862, 0xc720, 0x11d0, 0x93, 0x37, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9} -DEFINE_GUID!{SID_VariantConversion, - 0x1f101481, 0xbccd, 0x11d0, 0x93, 0x36, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9} -DEFINE_GUID!{SID_GetCaller, - 0x4717cc40, 0xbcb9, 0x11d0, 0x93, 0x36, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9} -DEFINE_GUID!{SID_ProvideRuntimeContext, - 0x74a5040c, 0xdd0c, 0x48f0, 0xac, 0x85, 0x19, 0x4c, 0x32, 0x59, 0x18, 0xa} -DEFINE_GUID!{IID_IProvideRuntimeContext, - 0x10e2414a, 0xec59, 0x49d2, 0xbc, 0x51, 0x5a, 0xdd, 0x2c, 0x36, 0xfe, 0xbc} -DEFINE_GUID!{IID_IObjectIdentity, - 0xca04b7e6, 0xd21, 0x11d1, 0x8c, 0xc5, 0x0, 0xc0, 0x4f, 0xc2, 0xb0, 0x85} -DEFINE_GUID!{IID_ICanHandleException, - 0xc5598e60, 0xb307, 0x11d1, 0xb2, 0x7d, 0x0, 0x60, 0x08, 0xc3, 0xfb, 0xfb} -// pub const SID_GetScriptSite = IID_IActiveScriptSite; -pub const fdexNameCaseSensitive: DWORD = 0x00000001; -pub const fdexNameEnsure: DWORD = 0x00000002; -pub const fdexNameImplicit: DWORD = 0x00000004; -pub const fdexNameCaseInsensitive: DWORD = 0x00000008; -pub const fdexNameInternal: DWORD = 0x00000010; -pub const fdexNameNoDynamicProperties: DWORD = 0x00000020; -pub const fdexPropCanGet: DWORD = 0x00000001; -pub const fdexPropCannotGet: DWORD = 0x00000002; -pub const fdexPropCanPut: DWORD = 0x00000004; -pub const fdexPropCannotPut: DWORD = 0x00000008; -pub const fdexPropCanPutRef: DWORD = 0x00000010; -pub const fdexPropCannotPutRef: DWORD = 0x00000020; -pub const fdexPropNoSideEffects: DWORD = 0x00000040; -pub const fdexPropDynamicType: DWORD = 0x00000080; -pub const fdexPropCanCall: DWORD = 0x00000100; -pub const fdexPropCannotCall: DWORD = 0x00000200; -pub const fdexPropCanConstruct: DWORD = 0x00000400; -pub const fdexPropCannotConstruct: DWORD = 0x00000800; -pub const fdexPropCanSourceEvents: DWORD = 0x00001000; -pub const fdexPropCannotSourceEvents: DWORD = 0x00002000; -pub const grfdexPropCanAll: DWORD = fdexPropCanGet | fdexPropCanPut | fdexPropCanPutRef - | fdexPropCanCall | fdexPropCanConstruct | fdexPropCanSourceEvents; -pub const grfdexPropCannotAll: DWORD = fdexPropCannotGet | fdexPropCannotPut | fdexPropCannotPutRef - | fdexPropCannotCall | fdexPropCannotConstruct | fdexPropCannotSourceEvents; -pub const grfdexPropExtraAll: DWORD = fdexPropNoSideEffects | fdexPropDynamicType; -pub const grfdexPropAll: DWORD = grfdexPropCanAll | grfdexPropCannotAll | grfdexPropExtraAll; -pub const fdexEnumDefault: DWORD = 0x00000001; -pub const fdexEnumAll: DWORD = 0x00000002; -pub const DISPATCH_CONSTRUCT: DWORD = 0x4000; -pub const DISPID_THIS: DISPID = -613; -pub const DISPID_STARTENUM: DISPID = DISPID_UNKNOWN; -// extern RPC_IF_HANDLE __MIDL_itf_dispex_0000_0000_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_dispex_0000_0000_v0_0_s_ifspec; -// EXTERN_C const IID IID_IDispatchEx; -RIDL!{#[uuid(0xa6ef9860, 0xc720, 0x11d0, 0x93, 0x37, 0x00, 0xa0, 0xc9, 0x0d, 0xca, 0xa9)] -interface IDispatchEx(IDispatchExVtbl): IDispatch(IDispatchVtbl) { - fn GetDispID( - bstrName: BSTR, - grfdex: DWORD, - pid: *mut DISPID, - ) -> HRESULT, - fn InvokeEx( - id: DISPID, - lcid: LCID, - wFlags: WORD, - pdp: *mut DISPPARAMS, - pvarRes: *mut VARIANT, - pei: *mut EXCEPINFO, - pspCaller: *mut IServiceProvider, - ) -> HRESULT, - fn DeleteMemberByName( - bstrName: BSTR, - grfdex: DWORD, - ) -> HRESULT, - fn DeleteMemberByDispID( - id: DISPID, - ) -> HRESULT, - fn GetMemberProperties( - id: DISPID, - grfdexFetch: DWORD, - pgrfdex: *mut DWORD, - ) -> HRESULT, - fn GetMemberName( - id: DISPID, - pbstrName: *mut BSTR, - ) -> HRESULT, - fn GetNextDispID( - grfdex: DWORD, - id: DISPID, - pid: *mut DISPID, - ) -> HRESULT, - fn GetNameSpaceParent( - ppunk: *mut *mut IUnknown, - ) -> HRESULT, -}} -// HRESULT STDMETHODCALLTYPE IDispatchEx_RemoteInvokeEx_Proxy( -// IDispatchEx * This, -// DISPID id, -// LCID lcid, -// DWORD dwFlags, -// DISPPARAMS *pdp, -// VARIANT *pvarRes, -// EXCEPINFO *pei, -// IServiceProvider *pspCaller, -// UINT cvarRefArg, -// UINT *rgiRefArg, -// VARIANT *rgvarRefArg); -// void __RPC_STUB IDispatchEx_RemoteInvokeEx_Stub( -// IRpcStubBuffer *This, -// IRpcChannelBuffer *_pRpcChannelBuffer, -// PRPC_MESSAGE _pRpcMessage, -// DWORD *_pdwStubPhase); -// EXTERN_C const IID IID_IDispError; -RIDL!{#[uuid(0xa6ef9861, 0xc720, 0x11d0, 0x93, 0x37, 0x00, 0xa0, 0xc9, 0x0d, 0xca, 0xa9)] -interface IDispError(IDispErrorVtbl): IUnknown(IUnknownVtbl) { - fn QueryErrorInfo( - guidErrorType: GUID, - ppde: *mut *mut IDispError, - ) -> HRESULT, - fn GetNext( - ppde: *mut *mut IDispError, - ) -> HRESULT, - fn GetHresult( - phr: *mut HRESULT, - ) -> HRESULT, - fn GetSource( - pbstrSource: *mut BSTR, - ) -> HRESULT, - fn GetHelpInfo( - pbstrFileName: *mut BSTR, - pdwContext: *mut DWORD, - ) -> HRESULT, - fn GetDescription( - pbstrDescription: *mut BSTR, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IVariantChangeType; -RIDL!{#[uuid(0xa6ef9862, 0xc720, 0x11d0, 0x93, 0x37, 0x00, 0xa0, 0xc9, 0x0d, 0xca, 0xa9)] -interface IVariantChangeType(IVariantChangeTypeVtbl): IUnknown(IUnknownVtbl) { - fn ChangeType( - pvarDst: *mut VARIANT, - pvarSrc: *mut VARIANT, - lcid: LCID, - vtNew: VARTYPE, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IObjectIdentity; -RIDL!{#[uuid(0xca04b7e6, 0x0d21, 0x11d1, 0x8c, 0xc5, 0x00, 0xc0, 0x4f, 0xc2, 0xb0, 0x85)] -interface IObjectIdentity(IObjectIdentityVtbl): IUnknown(IUnknownVtbl) { - fn IsEqualObject( - punk: *mut IUnknown, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_ICanHandleException; -RIDL!{#[uuid(0xc5598e60, 0xb307, 0x11d1, 0xb2, 0x7d, 0x00, 0x60, 0x08, 0xc3, 0xfb, 0xfb)] -interface ICanHandleException(ICanHandleExceptionVtbl): IUnknown(IUnknownVtbl) { - fn CanHandleException( - pExcepInfo: *mut EXCEPINFO, - pvar: *mut VARIANT, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IProvideRuntimeContext; -RIDL!{#[uuid(0x10e2414a, 0xec59, 0x49d2, 0xbc, 0x51, 0x5a, 0xdd, 0x2c, 0x36, 0xfe, 0xbc)] -interface IProvideRuntimeContext(IProvideRuntimeContextVtbl): IUnknown(IUnknownVtbl) { - fn GetCurrentSourceContext( - pdwContext: *mut DWORD_PTR, - pfExecutingGlobalCode: *mut VARIANT_BOOL, - ) -> HRESULT, -}} -// extern RPC_IF_HANDLE __MIDL_itf_dispex_0000_0006_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_dispex_0000_0006_v0_0_s_ifspec; -// unsigned long __RPC_USER BSTR_UserSize( __RPC__in unsigned long *, unsigned long, __RPC__in BSTR * ); -// unsigned char * __RPC_USER BSTR_UserMarshal( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * ); -// unsigned char * __RPC_USER BSTR_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * ); -// void __RPC_USER BSTR_UserFree( __RPC__in unsigned long *, __RPC__in BSTR * ); -// unsigned long __RPC_USER VARIANT_UserSize( __RPC__in unsigned long *, unsigned long, __RPC__in VARIANT * ); -// unsigned char * __RPC_USER VARIANT_UserMarshal( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in VARIANT * ); -// unsigned char * __RPC_USER VARIANT_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out VARIANT * ); -// void __RPC_USER VARIANT_UserFree( __RPC__in unsigned long *, __RPC__in VARIANT * ); -// unsigned long __RPC_USER BSTR_UserSize64( __RPC__in unsigned long *, unsigned long, __RPC__in BSTR * ); -// unsigned char * __RPC_USER BSTR_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * ); -// unsigned char * __RPC_USER BSTR_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * ); -// void __RPC_USER BSTR_UserFree64( __RPC__in unsigned long *, __RPC__in BSTR * ); -// unsigned long __RPC_USER VARIANT_UserSize64( __RPC__in unsigned long *, unsigned long, __RPC__in VARIANT * ); -// unsigned char * __RPC_USER VARIANT_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in VARIANT * ); -// unsigned char * __RPC_USER VARIANT_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out VARIANT * ); -// void __RPC_USER VARIANT_UserFree64( __RPC__in unsigned long *, __RPC__in VARIANT * ); -// HRESULT STDMETHODCALLTYPE IDispatchEx_InvokeEx_Proxy( -// IDispatchEx * This, -// DISPID id, -// LCID lcid, -// WORD wFlags, -// DISPPARAMS *pdp, -// VARIANT *pvarRes, -// EXCEPINFO *pei, -// IServiceProvider *pspCaller); -// HRESULT STDMETHODCALLTYPE IDispatchEx_InvokeEx_Stub( -// IDispatchEx * This, -// DISPID id, -// LCID lcid, -// DWORD dwFlags, -// DISPPARAMS *pdp, -// VARIANT *pvarRes, -// EXCEPINFO *pei, -// IServiceProvider *pspCaller, -// UINT cvarRefArg, -// UINT *rgiRefArg, -// VARIANT *rgvarRefArg); diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dmksctl.rs b/vendor/registry-40351f815f426200/winapi/src/um/dmksctl.rs deleted file mode 100644 index 252ab7387..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dmksctl.rs +++ /dev/null @@ -1,11 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{IID_IKsControl, - 0x28f54685, 0x06fd, 0x11d2, 0xb2, 0x7a, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96} -DEFINE_GUID!{KSDATAFORMAT_SUBTYPE_MIDI, - 0x1d262760, 0xe957, 0x11cf, 0xa5, 0xd6, 0x28, 0xdb, 0x04, 0xc1, 0x00, 0x00} -DEFINE_GUID!{KSDATAFORMAT_SUBTYPE_DIRECTMUSIC, - 0x1a82f8bc, 0x3f8b, 0x11d2, 0xb7, 0x74, 0x00, 0x60, 0x08, 0x33, 0x16, 0xc1} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dmusicc.rs b/vendor/registry-40351f815f426200/winapi/src/um/dmusicc.rs deleted file mode 100644 index ee87b6fde..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dmusicc.rs +++ /dev/null @@ -1,71 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{CLSID_DirectMusic, - 0x636b9f10, 0x0c7d, 0x11d1, 0x95, 0xb2, 0x00, 0x20, 0xaf, 0xdc, 0x74, 0x21} -DEFINE_GUID!{CLSID_DirectMusicCollection, - 0x480ff4b0, 0x28b2, 0x11d1, 0xbe, 0xf7, 0x00, 0xc0, 0x4f, 0xbf, 0x8f, 0xef} -DEFINE_GUID!{CLSID_DirectMusicSynth, - 0x58c2b4d0, 0x46e7, 0x11d1, 0x89, 0xac, 0x00, 0xa0, 0xc9, 0x05, 0x41, 0x29} -DEFINE_GUID!{IID_IDirectMusic, - 0x6536115a, 0x7b2d, 0x11d2, 0xba, 0x18, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12} -DEFINE_GUID!{IID_IDirectMusicBuffer, - 0xd2ac2878, 0xb39b, 0x11d1, 0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd} -DEFINE_GUID!{IID_IDirectMusicPort, - 0x08f2d8c9, 0x37c2, 0x11d2, 0xb9, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12} -DEFINE_GUID!{IID_IDirectMusicThru, - 0xced153e7, 0x3606, 0x11d2, 0xb9, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12} -DEFINE_GUID!{IID_IDirectMusicPortDownload, - 0xd2ac287a, 0xb39b, 0x11d1, 0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd} -DEFINE_GUID!{IID_IDirectMusicDownload, - 0xd2ac287b, 0xb39b, 0x11d1, 0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd} -DEFINE_GUID!{IID_IDirectMusicCollection, - 0xd2ac287c, 0xb39b, 0x11d1, 0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd} -DEFINE_GUID!{IID_IDirectMusicInstrument, - 0xd2ac287d, 0xb39b, 0x11d1, 0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd} -DEFINE_GUID!{IID_IDirectMusicDownloadedInstrument, - 0xd2ac287e, 0xb39b, 0x11d1, 0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd} -DEFINE_GUID!{IID_IDirectMusic2, - 0x6fc2cae1, 0xbc78, 0x11d2, 0xaf, 0xa6, 0x00, 0xaa, 0x00, 0x24, 0xd8, 0xb6} -DEFINE_GUID!{IID_IDirectMusic8, - 0x2d3629f7, 0x813d, 0x4939, 0x85, 0x08, 0xf0, 0x5c, 0x6b, 0x75, 0xfd, 0x97} -DEFINE_GUID!{GUID_DMUS_PROP_GM_Hardware, - 0x178f2f24, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12} -DEFINE_GUID!{GUID_DMUS_PROP_GS_Hardware, - 0x178f2f25, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12} -DEFINE_GUID!{GUID_DMUS_PROP_XG_Hardware, - 0x178f2f26, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12} -DEFINE_GUID!{GUID_DMUS_PROP_XG_Capable, - 0x6496aba1, 0x61b0, 0x11d2, 0xaf, 0xa6, 0x00, 0xaa, 0x00, 0x24, 0xd8, 0xb6} -DEFINE_GUID!{GUID_DMUS_PROP_GS_Capable, - 0x6496aba2, 0x61b0, 0x11d2, 0xaf, 0xa6, 0x00, 0xaa, 0x00, 0x24, 0xd8, 0xb6} -DEFINE_GUID!{GUID_DMUS_PROP_DLS1, - 0x178f2f27, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12} -DEFINE_GUID!{GUID_DMUS_PROP_DLS2, - 0xf14599e5, 0x4689, 0x11d2, 0xaf, 0xa6, 0x00, 0xaa, 0x00, 0x24, 0xd8, 0xb6} -DEFINE_GUID!{GUID_DMUS_PROP_INSTRUMENT2, - 0x865fd372, 0x9f67, 0x11d2, 0x87, 0x2a, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd} -DEFINE_GUID!{GUID_DMUS_PROP_SynthSink_DSOUND, - 0x0aa97844, 0xc877, 0x11d1, 0x87, 0x0c, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd} -DEFINE_GUID!{GUID_DMUS_PROP_SynthSink_WAVE, - 0x0aa97845, 0xc877, 0x11d1, 0x87, 0x0c, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd} -DEFINE_GUID!{GUID_DMUS_PROP_SampleMemorySize, - 0x178f2f28, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12} -DEFINE_GUID!{GUID_DMUS_PROP_SamplePlaybackRate, - 0x2a91f713, 0xa4bf, 0x11d2, 0xbb, 0xdf, 0x00, 0x60, 0x08, 0x33, 0xdb, 0xd8} -DEFINE_GUID!{GUID_DMUS_PROP_WriteLatency, - 0x268a0fa0, 0x60f2, 0x11d2, 0xaf, 0xa6, 0x00, 0xaa, 0x00, 0x24, 0xd8, 0xb6} -DEFINE_GUID!{GUID_DMUS_PROP_WritePeriod, - 0x268a0fa1, 0x60f2, 0x11d2, 0xaf, 0xa6, 0x00, 0xaa, 0x00, 0x24, 0xd8, 0xb6} -DEFINE_GUID!{GUID_DMUS_PROP_MemorySize, - 0x178f2f28, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12} -DEFINE_GUID!{GUID_DMUS_PROP_WavesReverb, - 0x04cb5622, 0x32e5, 0x11d2, 0xaf, 0xa6, 0x00, 0xaa, 0x00, 0x24, 0xd8, 0xb6} -DEFINE_GUID!{GUID_DMUS_PROP_Effects, - 0xcda8d611, 0x684a, 0x11d2, 0x87, 0x1e, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd} -DEFINE_GUID!{GUID_DMUS_PROP_LegacyCaps, - 0xcfa7cdc2, 0x00a1, 0x11d2, 0xaa, 0xd5, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12} -DEFINE_GUID!{GUID_DMUS_PROP_Volume, - 0xfedfae25, 0xe46e, 0x11d1, 0xaa, 0xce, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/docobj.rs b/vendor/registry-40351f815f426200/winapi/src/um/docobj.rs deleted file mode 100644 index e14ddb9e3..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/docobj.rs +++ /dev/null @@ -1,136 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::wchar_t; -use shared::guiddef::GUID; -use shared::minwindef::{DWORD, ULONG}; -use um::oaidl::VARIANT; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::HRESULT; -ENUM!{enum OLECMDF { - OLECMDF_SUPPORTED = 0x1, - OLECMDF_ENABLED = 0x2, - OLECMDF_LATCHED = 0x4, - OLECMDF_NINCHED = 0x8, - OLECMDF_INVISIBLE = 0x10, - OLECMDF_DEFHIDEONCTXTMENU = 0x20, -}} -STRUCT!{struct OLECMD { - cmdID: ULONG, - cmdf: DWORD, -}} -STRUCT!{struct OLECMDTEXT { - cmdtextf: DWORD, - cwActual: ULONG, - cwBuf: ULONG, - rgwz: [wchar_t; 1], -}} -ENUM!{enum OLECMDEXECOPT { - OLECMDEXECOPT_DODEFAULT = 0, - OLECMDEXECOPT_PROMPTUSER = 1, - OLECMDEXECOPT_DONTPROMPTUSER = 2, - OLECMDEXECOPT_SHOWHELP = 3, -}} -ENUM!{enum OLECMDID { - OLECMDID_OPEN = 1, - OLECMDID_NEW = 2, - OLECMDID_SAVE = 3, - OLECMDID_SAVEAS = 4, - OLECMDID_SAVECOPYAS = 5, - OLECMDID_PRINT = 6, - OLECMDID_PRINTPREVIEW = 7, - OLECMDID_PAGESETUP = 8, - OLECMDID_SPELL = 9, - OLECMDID_PROPERTIES = 10, - OLECMDID_CUT = 11, - OLECMDID_COPY = 12, - OLECMDID_PASTE = 13, - OLECMDID_PASTESPECIAL = 14, - OLECMDID_UNDO = 15, - OLECMDID_REDO = 16, - OLECMDID_SELECTALL = 17, - OLECMDID_CLEARSELECTION = 18, - OLECMDID_ZOOM = 19, - OLECMDID_GETZOOMRANGE = 20, - OLECMDID_UPDATECOMMANDS = 21, - OLECMDID_REFRESH = 22, - OLECMDID_STOP = 23, - OLECMDID_HIDETOOLBARS = 24, - OLECMDID_SETPROGRESSMAX = 25, - OLECMDID_SETPROGRESSPOS = 26, - OLECMDID_SETPROGRESSTEXT = 27, - OLECMDID_SETTITLE = 28, - OLECMDID_SETDOWNLOADSTATE = 29, - OLECMDID_STOPDOWNLOAD = 30, - OLECMDID_ONTOOLBARACTIVATED = 31, - OLECMDID_FIND = 32, - OLECMDID_DELETE = 33, - OLECMDID_HTTPEQUIV = 34, - OLECMDID_HTTPEQUIV_DONE = 35, - OLECMDID_ENABLE_INTERACTION = 36, - OLECMDID_ONUNLOAD = 37, - OLECMDID_PROPERTYBAG2 = 38, - OLECMDID_PREREFRESH = 39, - OLECMDID_SHOWSCRIPTERROR = 40, - OLECMDID_SHOWMESSAGE = 41, - OLECMDID_SHOWFIND = 42, - OLECMDID_SHOWPAGESETUP = 43, - OLECMDID_SHOWPRINT = 44, - OLECMDID_CLOSE = 45, - OLECMDID_ALLOWUILESSSAVEAS = 46, - OLECMDID_DONTDOWNLOADCSS = 47, - OLECMDID_UPDATEPAGESTATUS = 48, - OLECMDID_PRINT2 = 49, - OLECMDID_PRINTPREVIEW2 = 50, - OLECMDID_SETPRINTTEMPLATE = 51, - OLECMDID_GETPRINTTEMPLATE = 52, - OLECMDID_PAGEACTIONBLOCKED = 55, - OLECMDID_PAGEACTIONUIQUERY = 56, - OLECMDID_FOCUSVIEWCONTROLS = 57, - OLECMDID_FOCUSVIEWCONTROLSQUERY = 58, - OLECMDID_SHOWPAGEACTIONMENU = 59, - OLECMDID_ADDTRAVELENTRY = 60, - OLECMDID_UPDATETRAVELENTRY = 61, - OLECMDID_UPDATEBACKFORWARDSTATE = 62, - OLECMDID_OPTICAL_ZOOM = 63, - OLECMDID_OPTICAL_GETZOOMRANGE = 64, - OLECMDID_WINDOWSTATECHANGED = 65, - OLECMDID_ACTIVEXINSTALLSCOPE = 66, - OLECMDID_UPDATETRAVELENTRY_DATARECOVERY = 67, - OLECMDID_SHOWTASKDLG = 68, - OLECMDID_POPSTATEEVENT = 69, - OLECMDID_VIEWPORT_MODE = 70, - OLECMDID_LAYOUT_VIEWPORT_WIDTH = 71, - OLECMDID_VISUAL_VIEWPORT_EXCLUDE_BOTTOM = 72, - OLECMDID_USER_OPTICAL_ZOOM = 73, - OLECMDID_PAGEAVAILABLE = 74, - OLECMDID_GETUSERSCALABLE = 75, - OLECMDID_UPDATE_CARET = 76, - OLECMDID_ENABLE_VISIBILITY = 77, - OLECMDID_MEDIA_PLAYBACK = 78, - OLECMDID_SETFAVICON = 79, - OLECMDID_SET_HOST_FULLSCREENMODE = 80, - OLECMDID_EXITFULLSCREEN = 81, - OLECMDID_SCROLLCOMPLETE = 82, - OLECMDID_ONBEFOREUNLOAD = 83, - OLECMDID_SHOWMESSAGE_BLOCKABLE = 84, - OLECMDID_SHOWTASKDLG_BLOCKABLE = 85, -}} -RIDL!{#[uuid(0xb722bccb, 0x4e68, 0x101b, 0xa2, 0xbc, 0x00, 0xaa, 0x00, 0x40, 0x47, 0x70)] -interface IOleCommandTarget(IOleCommandTargetVtbl): IUnknown(IUnknownVtbl) { - fn QueryStatus( - pguidCmdGroup: *const GUID, - cCmds: ULONG, - prgCmds: *mut OLECMD, - pCmdText: *mut OLECMDTEXT, - ) -> HRESULT, - fn Exec( - pguidCmdGroup: *const GUID, - nCmdID: DWORD, - nCmdexecopt: DWORD, - pvaIn: *mut VARIANT, - pvaOut: *mut VARIANT, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/documenttarget.rs b/vendor/registry-40351f815f426200/winapi/src/um/documenttarget.rs deleted file mode 100644 index b4cc1ae0c..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/documenttarget.rs +++ /dev/null @@ -1,24 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -// TODO:It is a minimal implementation. -use ctypes::c_void; -use shared::basetsd::UINT32; -use shared::guiddef::{GUID, REFGUID, REFIID}; -use shared::ntdef::HRESULT; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -RIDL!{#[uuid(0x1b8efec4, 0x3019, 0x4c27, 0x96, 0x4e, 0x36, 0x72, 0x02, 0x15, 0x69, 0x06)] -interface IPrintDocumentPackageTarget(IPrintDocumentPackageTargetVtbl): IUnknown(IUnknownVtbl) { - fn GetPackageTargetTypes( - targetCount: *mut UINT32, - targetTypes: *mut *mut GUID, - ) -> HRESULT, - fn GetPackageTarget( - guidTargetType: REFGUID, - riid: REFIID, - ppvTarget: *mut *mut c_void, - ) -> HRESULT, - fn Cancel() -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dpa_dsa.rs b/vendor/registry-40351f815f426200/winapi/src/um/dpa_dsa.rs deleted file mode 100644 index 21a3f4b3b..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dpa_dsa.rs +++ /dev/null @@ -1,283 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_int, c_void}; -use shared::basetsd::INT_PTR; -use shared::minwindef::{BOOL, DWORD, LPARAM, UINT}; -use um::winnt::{HANDLE, HRESULT, LPCWSTR, LPWSTR, PVOID, ULONGLONG}; -pub const DA_LAST: c_int = 0x7FFFFFFF; -pub const DA_ERR: c_int = -1; -FN!{stdcall PFNDAENUMCALLBACK( - p: *mut c_void, - pData: *mut c_void, -) -> c_int} -FN!{stdcall PFNDAENUMCALLBACKCONST( - p: *const c_void, - pData: *mut c_void, -) -> c_int} -FN!{stdcall PFNDACOMPARE( - p1: *mut c_void, - p2: *mut c_void, - lParam: LPARAM, -) -> c_int} -FN!{stdcall PFNDACOMPARECONST( - p1: *const c_void, - p2: *const c_void, - lParam: LPARAM, -) -> c_int} -pub enum DSA {} -pub type HDSA = *mut DSA; -extern "system" { - pub fn DSA_Create( - cbItem: c_int, - cItemGrow: c_int, - ) -> HDSA; - pub fn DSA_Destroy( - hdsa: HDSA, - ) -> BOOL; - pub fn DSA_DestroyCallback( - hdsa: HDSA, - pfnCB: PFNDAENUMCALLBACK, - pData: *mut c_void, - ); - pub fn DSA_DeleteItem( - hdsa: HDSA, - i: c_int, - ) -> BOOL; - pub fn DSA_DeleteAllItems( - hdsa: HDSA, - ) -> BOOL; - pub fn DSA_EnumCallback( - hdsa: HDSA, - pfnCB: PFNDAENUMCALLBACK, - pData: *mut c_void, - ); - pub fn DSA_InsertItem( - hdsa: HDSA, - i: c_int, - pitem: *const c_void, - ) -> c_int; - pub fn DSA_GetItemPtr( - hdsa: HDSA, - i: c_int, - ) -> PVOID; - pub fn DSA_GetItem( - hdsa: HDSA, - i: c_int, - pitem: *mut c_void, - ) -> BOOL; - pub fn DSA_SetItem( - hdsa: HDSA, - i: c_int, - pitem: *const c_void, - ) -> BOOL; -} -#[inline] -pub unsafe fn DSA_GetItemCount(hdsa: HDSA) -> c_int { - *(hdsa as *mut c_int) -} -#[inline] -pub unsafe fn DSA_AppendItem(hdsa: HDSA, pitem: *const c_void) -> c_int { - DSA_InsertItem(hdsa, DA_LAST, pitem) -} -extern "system" { - pub fn DSA_Clone( - hdsa: HDSA, - ) -> HDSA; - pub fn DSA_GetSize( - hdsa: HDSA, - ) -> ULONGLONG; - pub fn DSA_Sort( - pdsa: HDSA, - pfnCompare: PFNDACOMPARE, - lParam: LPARAM, - ) -> BOOL; -} -pub const DSA_APPEND: c_int = DA_LAST; -pub const DSA_ERR: c_int = DA_ERR; -pub type PFNDSAENUMCALLBACK = PFNDAENUMCALLBACK; -pub type PFNDSAENUMCALLBACKCONST = PFNDAENUMCALLBACKCONST; -pub type PFNDSACOMPARE = PFNDACOMPARE; -pub type PFNDSACOMPARECONST = PFNDACOMPARECONST; -pub enum DPA {} -pub type HDPA = *mut DPA; -extern "system" { - pub fn DPA_Create( - cItemGrow: c_int, - ) -> HDPA; - pub fn DPA_CreateEx( - cpGrow: c_int, - hheap: HANDLE, - ) -> HDPA; - pub fn DPA_Clone( - hdpa: HDPA, - hdpaNew: HDPA, - ) -> HDPA; - pub fn DPA_Destroy( - hdpa: HDPA, - ) -> BOOL; - pub fn DPA_DestroyCallback( - hdpa: HDPA, - pfnCB: PFNDAENUMCALLBACK, - pData: *mut c_void, - ); - pub fn DPA_DeletePtr( - hdpa: HDPA, - i: c_int, - ) -> PVOID; - pub fn DPA_DeleteAllPtrs( - hdpa: HDPA, - ) -> BOOL; - pub fn DPA_EnumCallback( - hdpa: HDPA, - pfnCB: PFNDAENUMCALLBACK, - pData: *mut c_void, - ); - pub fn DPA_Grow( - hdpa: HDPA, - cp: c_int, - ) -> BOOL; - pub fn DPA_InsertPtr( - hdpa: HDPA, - i: c_int, - p: *mut c_void, - ) -> c_int; - pub fn DPA_SetPtr( - hdpa: HDPA, - i: c_int, - p: *mut c_void, - ) -> BOOL; - pub fn DPA_GetPtr( - hdpa: HDPA, - i: INT_PTR, - ) -> PVOID; - pub fn DPA_GetPtrIndex( - hdpa: HDPA, - p: *const c_void, - ) -> c_int; -} -#[inline] -pub unsafe fn DPA_GetPtrCount(hdpa: HDPA) -> c_int { - *(hdpa as *mut c_int) -} -#[inline] -pub unsafe fn DPA_SetPtrCount(hdpa: HDPA, cItems: c_int) { - *(hdpa as *mut c_int) = cItems; -} -#[inline] -pub unsafe fn DPA_FastDeleteLastPtr(hdpa: HDPA) -> c_int { - *(hdpa as *mut c_int) -= 1; - *(hdpa as *mut c_int) -} -#[inline] -pub unsafe fn DPA_AppendPtr(hdpa: HDPA, pitem: *mut c_void) -> c_int { - DPA_InsertPtr(hdpa, DA_LAST, pitem) -} -extern "system" { - pub fn DPA_GetSize( - hdpa: HDPA, - ) -> ULONGLONG; - pub fn DPA_Sort( - hdpa: HDPA, - pfnCompare: PFNDACOMPARE, - lParam: LPARAM, - ) -> BOOL; -} -STRUCT!{struct DPASTREAMINFO { - iPos: c_int, - pvItem: *mut c_void, -}} -pub enum IStream {} -FN!{stdcall PFNDPASTREAM( - pinfo: *mut DPASTREAMINFO, - pstream: *mut IStream, - pvInstData: *mut c_void, -) -> HRESULT} -extern "system" { - pub fn DPA_LoadStream( - phdpa: *mut HDPA, - pfn: PFNDPASTREAM, - pstream: *mut IStream, - pvInstData: *mut c_void, - ) -> HRESULT; - pub fn DPA_SaveStream( - hdpa: HDPA, - pfn: PFNDPASTREAM, - pstream: *mut IStream, - pvInstData: *mut c_void, - ) -> HRESULT; -} -pub const DPAM_SORTED: DWORD = 0x00000001; -pub const DPAM_NORMAL: DWORD = 0x00000002; -pub const DPAM_UNION: DWORD = 0x00000004; -pub const DPAM_INTERSECT: DWORD = 0x00000008; -FN!{stdcall PFNDPAMERGE( - uMsg: UINT, - pvDest: *mut c_void, - pvSrc: *mut c_void, - lParam: LPARAM, -) -> *mut c_void} -FN!{stdcall PFNDPAMERGECONST( - uMsg: UINT, - pvDest: *const c_void, - pvSrc: *const c_void, - lParam: LPARAM, -) -> *const c_void} -pub const DPAMM_MERGE: UINT = 1; -pub const DPAMM_DELETE: UINT = 2; -pub const DPAMM_INSERT: UINT = 3; -extern "system" { - pub fn DPA_Merge( - hdpaDest: HDPA, - hdpaSrc: HDPA, - dwFlags: DWORD, - pfnCompare: PFNDACOMPARE, - pfnMerge: PFNDPAMERGE, - lParam: LPARAM, - ) -> BOOL; -} -pub const DPAS_SORTED: UINT = 0x0001; -pub const DPAS_INSERTBEFORE: UINT = 0x0002; -pub const DPAS_INSERTAFTER: UINT = 0x0004; -extern "system" { - pub fn DPA_Search( - hdpa: HDPA, - pFind: *mut c_void, - iStart: c_int, - pfnCompare: PFNDACOMPARE, - lParam: LPARAM, - options: UINT, - ) -> c_int; -} -#[inline] -pub unsafe fn DPA_SortedInsertPtr( - hdpa: HDPA, - pFind: *mut c_void, - iStart: c_int, - pfnCompare: PFNDACOMPARE, - lParam: LPARAM, - options: UINT, - pitem: *mut c_void, -) -> c_int { - DPA_InsertPtr( - hdpa, - DPA_Search( - hdpa, pFind, iStart, pfnCompare, lParam, DPAS_SORTED | options, - ), - pitem, - ) -} -pub const DPA_APPEND: c_int = DA_LAST; -pub const DPA_ERR: c_int = DA_ERR; -pub type PFNDPAENUMCALLBACK = PFNDAENUMCALLBACK; -pub type PFNDPAENUMCALLBACKCONST = PFNDAENUMCALLBACKCONST; -pub type PFNDPACOMPARE = PFNDACOMPARE; -pub type PFNDPACOMPARECONST = PFNDACOMPARECONST; -extern "system" { - pub fn Str_SetPtrW( - ppsz: *mut LPWSTR, - psz: LPCWSTR, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dpapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/dpapi.rs deleted file mode 100644 index 42f5824f5..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dpapi.rs +++ /dev/null @@ -1,100 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Data Protection API Prototypes and Definitions -use shared::minwindef::{BOOL, BYTE, DWORD, LPVOID}; -use shared::windef::HWND; -use um::wincrypt::DATA_BLOB; -use um::winnt::{LPCWSTR, LPWSTR, PSID, PVOID}; -pub const szFORCE_KEY_PROTECTION: &'static str = "ForceKeyProtection"; -pub const dwFORCE_KEY_PROTECTION_DISABLED: DWORD = 0x0; -pub const dwFORCE_KEY_PROTECTION_USER_SELECT: DWORD = 0x1; -pub const dwFORCE_KEY_PROTECTION_HIGH: DWORD = 0x2; -STRUCT!{struct CRYPTPROTECT_PROMPTSTRUCT { - cbSize: DWORD, - dwPromptFlags: DWORD, - hwndApp: HWND, - szPrompt: LPCWSTR, -}} -pub type PCRYPTPROTECT_PROMPTSTRUCT = *mut CRYPTPROTECT_PROMPTSTRUCT; -pub const CRYPTPROTECT_PROMPT_ON_UNPROTECT: DWORD = 0x1; -pub const CRYPTPROTECT_PROMPT_ON_PROTECT: DWORD = 0x2; -pub const CRYPTPROTECT_PROMPT_RESERVED: DWORD = 0x04; -pub const CRYPTPROTECT_PROMPT_STRONG: DWORD = 0x08; -pub const CRYPTPROTECT_PROMPT_REQUIRE_STRONG: DWORD = 0x10; -pub const CRYPTPROTECT_UI_FORBIDDEN: DWORD = 0x1; -pub const CRYPTPROTECT_LOCAL_MACHINE: DWORD = 0x4; -pub const CRYPTPROTECT_CRED_SYNC: DWORD = 0x8; -pub const CRYPTPROTECT_AUDIT: DWORD = 0x10; -pub const CRYPTPROTECT_NO_RECOVERY: DWORD = 0x20; -pub const CRYPTPROTECT_VERIFY_PROTECTION: DWORD = 0x40; -pub const CRYPTPROTECT_CRED_REGENERATE: DWORD = 0x80; -pub const CRYPTPROTECT_FIRST_RESERVED_FLAGVAL: DWORD = 0x0FFFFFFF; -pub const CRYPTPROTECT_LAST_RESERVED_FLAGVAL: DWORD = 0xFFFFFFFF; -extern "system" { - pub fn CryptProtectData( - pDataIn: *mut DATA_BLOB, - szDataDescr: LPCWSTR, - pOptionalEntropy: *mut DATA_BLOB, - pvReserved: PVOID, - pPromptStruct: *mut CRYPTPROTECT_PROMPTSTRUCT, - dwFlags: DWORD, - pDataOut: *mut DATA_BLOB, - ) -> BOOL; - pub fn CryptUnprotectData( - pDataIn: *mut DATA_BLOB, - ppszDataDescr: *mut LPWSTR, - pOptionalEntropy: *mut DATA_BLOB, - pvReserved: PVOID, - pPromptStruct: *mut CRYPTPROTECT_PROMPTSTRUCT, - dwFlags: DWORD, - pDataOut: *mut DATA_BLOB, - ) -> BOOL; - pub fn CryptProtectDataNoUI( - pDataIn: *mut DATA_BLOB, - szDataDescr: LPCWSTR, - pOptionalEntropy: *mut DATA_BLOB, - pvReserved: PVOID, - pPromptStruct: *mut CRYPTPROTECT_PROMPTSTRUCT, - dwFlags: DWORD, - pbOptionalPassword: *const BYTE, - cbOptionalPassword: DWORD, - pDataOut: *mut DATA_BLOB, - ) -> BOOL; - pub fn CryptUnprotectDataNoUI( - pDataIn: *mut DATA_BLOB, - ppszDataDescr: *mut LPWSTR, - pOptionalEntropy: *mut DATA_BLOB, - pvReserved: PVOID, - pPromptStruct: *mut CRYPTPROTECT_PROMPTSTRUCT, - dwFlags: DWORD, - pbOptionalPassword: *const BYTE, - cbOptionalPassword: DWORD, - pDataOut: *mut DATA_BLOB, - ) -> BOOL; - pub fn CryptUpdateProtectedState( - pOldSid: PSID, - pwszOldPassword: LPCWSTR, - dwFlags: DWORD, - pdwSuccessCount: *mut DWORD, - pdwFailureCount: *mut DWORD, - ) -> BOOL; -} -pub const CRYPTPROTECTMEMORY_BLOCK_SIZE: DWORD = 16; -pub const CRYPTPROTECTMEMORY_SAME_PROCESS: DWORD = 0x00; -pub const CRYPTPROTECTMEMORY_CROSS_PROCESS: DWORD = 0x01; -pub const CRYPTPROTECTMEMORY_SAME_LOGON: DWORD = 0x02; -extern "system" { - pub fn CryptProtectMemory( - pDataIn: LPVOID, - cbDataIn: DWORD, - dwFlags: DWORD, - ) -> BOOL; - pub fn CryptUnprotectMemory( - pDataIn: LPVOID, - cbDataIn: DWORD, - dwFlags: DWORD, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dsgetdc.rs b/vendor/registry-40351f815f426200/winapi/src/um/dsgetdc.rs deleted file mode 100644 index 860a652ec..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dsgetdc.rs +++ /dev/null @@ -1,267 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This file contains structures, function prototypes, and definitions for the DsGetDcName API. -use shared::guiddef::GUID; -use shared::minwindef::{DWORD, PULONG, ULONG}; -use shared::ws2def::{LPSOCKET_ADDRESS, PSOCKET_ADDRESS}; -use um::ntsecapi::PLSA_FOREST_TRUST_INFORMATION; -use um::winnt::{HANDLE, LPCSTR, LPCWSTR, LPSTR, LPWSTR, PHANDLE, PSID}; -pub const DS_FORCE_REDISCOVERY: ULONG = 0x00000001; -pub const DS_DIRECTORY_SERVICE_REQUIRED: ULONG = 0x00000010; -pub const DS_DIRECTORY_SERVICE_PREFERRED: ULONG = 0x00000020; -pub const DS_GC_SERVER_REQUIRED: ULONG = 0x00000040; -pub const DS_PDC_REQUIRED: ULONG = 0x00000080; -pub const DS_BACKGROUND_ONLY: ULONG = 0x00000100; -pub const DS_IP_REQUIRED: ULONG = 0x00000200; -pub const DS_KDC_REQUIRED: ULONG = 0x00000400; -pub const DS_TIMESERV_REQUIRED: ULONG = 0x00000800; -pub const DS_WRITABLE_REQUIRED: ULONG = 0x00001000; -pub const DS_GOOD_TIMESERV_PREFERRED: ULONG = 0x00002000; -pub const DS_AVOID_SELF: ULONG = 0x00004000; -pub const DS_ONLY_LDAP_NEEDED: ULONG = 0x00008000; -pub const DS_IS_FLAT_NAME: ULONG = 0x00010000; -pub const DS_IS_DNS_NAME: ULONG = 0x00020000; -pub const DS_TRY_NEXTCLOSEST_SITE: ULONG = 0x00040000; -pub const DS_DIRECTORY_SERVICE_6_REQUIRED: ULONG = 0x00080000; -pub const DS_WEB_SERVICE_REQUIRED: ULONG = 0x00100000; -pub const DS_DIRECTORY_SERVICE_8_REQUIRED: ULONG = 0x00200000; -pub const DS_DIRECTORY_SERVICE_9_REQUIRED: ULONG = 0x00400000; -pub const DS_DIRECTORY_SERVICE_10_REQUIRED: ULONG = 0x00800000; -pub const DS_RETURN_DNS_NAME: ULONG = 0x40000000; -pub const DS_RETURN_FLAT_NAME: ULONG = 0x80000000; -pub const DSGETDC_VALID_FLAGS: ULONG = DS_FORCE_REDISCOVERY | DS_DIRECTORY_SERVICE_REQUIRED - | DS_DIRECTORY_SERVICE_PREFERRED | DS_GC_SERVER_REQUIRED | DS_PDC_REQUIRED | DS_BACKGROUND_ONLY - | DS_IP_REQUIRED | DS_KDC_REQUIRED | DS_TIMESERV_REQUIRED | DS_WRITABLE_REQUIRED - | DS_GOOD_TIMESERV_PREFERRED | DS_AVOID_SELF | DS_ONLY_LDAP_NEEDED | DS_IS_FLAT_NAME - | DS_IS_DNS_NAME | DS_TRY_NEXTCLOSEST_SITE | DS_DIRECTORY_SERVICE_6_REQUIRED - | DS_DIRECTORY_SERVICE_8_REQUIRED | DS_DIRECTORY_SERVICE_9_REQUIRED - | DS_DIRECTORY_SERVICE_10_REQUIRED | DS_WEB_SERVICE_REQUIRED | DS_RETURN_FLAT_NAME - | DS_RETURN_DNS_NAME; -STRUCT!{struct DOMAIN_CONTROLLER_INFOA { - DomainControllerName: LPSTR, - DomainControllerAddress: LPSTR, - DomainControllerAddressType: ULONG, - DomainGuid: GUID, - DomainName: LPSTR, - DnsForestName: LPSTR, - Flags: ULONG, - DcSiteName: LPSTR, - ClientSiteName: LPSTR, -}} -pub type PDOMAIN_CONTROLLER_INFOA = *mut DOMAIN_CONTROLLER_INFOA; -STRUCT!{struct DOMAIN_CONTROLLER_INFOW { - DomainControllerName: LPWSTR, - DomainControllerAddress: LPWSTR, - DomainControllerAddressType: ULONG, - DomainGuid: GUID, - DomainName: LPWSTR, - DnsForestName: LPWSTR, - Flags: ULONG, - DcSiteName: LPWSTR, - ClientSiteName: LPWSTR, -}} -pub type PDOMAIN_CONTROLLER_INFOW = *mut DOMAIN_CONTROLLER_INFOW; -pub const DS_INET_ADDRESS: ULONG = 1; -pub const DS_NETBIOS_ADDRESS: ULONG = 2; -pub const DS_PDC_FLAG: ULONG = 0x00000001; -pub const DS_GC_FLAG: ULONG = 0x00000004; -pub const DS_LDAP_FLAG: ULONG = 0x00000008; -pub const DS_DS_FLAG: ULONG = 0x00000010; -pub const DS_KDC_FLAG: ULONG = 0x00000020; -pub const DS_TIMESERV_FLAG: ULONG = 0x00000040; -pub const DS_CLOSEST_FLAG: ULONG = 0x00000080; -pub const DS_WRITABLE_FLAG: ULONG = 0x00000100; -pub const DS_GOOD_TIMESERV_FLAG: ULONG = 0x00000200; -pub const DS_NDNC_FLAG: ULONG = 0x00000400; -pub const DS_SELECT_SECRET_DOMAIN_6_FLAG: ULONG = 0x00000800; -pub const DS_FULL_SECRET_DOMAIN_6_FLAG: ULONG = 0x00001000; -pub const DS_WS_FLAG: ULONG = 0x00002000; -pub const DS_DS_8_FLAG: ULONG = 0x00004000; -pub const DS_DS_9_FLAG: ULONG = 0x00008000; -pub const DS_DS_10_FLAG: ULONG = 0x00010000; -pub const DS_PING_FLAGS: ULONG = 0x000FFFFF; -pub const DS_DNS_CONTROLLER_FLAG: ULONG = 0x20000000; -pub const DS_DNS_DOMAIN_FLAG: ULONG = 0x40000000; -pub const DS_DNS_FOREST_FLAG: ULONG = 0x80000000; -extern "system" { - pub fn DsGetDcNameA( - ComputerName: LPCSTR, - DomainName: LPCSTR, - DomainGuid: *mut GUID, - SiteName: LPCSTR, - Flags: ULONG, - DomainControllerInfo: *mut PDOMAIN_CONTROLLER_INFOA, - ) -> DWORD; - pub fn DsGetDcNameW( - ComputerName: LPCWSTR, - DomainName: LPCWSTR, - DomainGuid: *mut GUID, - SiteName: LPCWSTR, - Flags: ULONG, - DomainControllerInfo: *mut PDOMAIN_CONTROLLER_INFOW, - ) -> DWORD; - pub fn DsGetSiteNameA( - ComputerName: LPCSTR, - SiteName: *mut LPSTR, - ) -> DWORD; - pub fn DsGetSiteNameW( - ComputerName: LPCWSTR, - SiteName: *mut LPWSTR, - ) -> DWORD; - pub fn DsValidateSubnetNameW( - SubnetName: LPCWSTR, - ) -> DWORD; - pub fn DsValidateSubnetNameA( - SubnetName: LPCSTR, - ) -> DWORD; - pub fn DsAddressToSiteNamesW( - ComputerName: LPCWSTR, - EntryCount: DWORD, - SocketAddresses: PSOCKET_ADDRESS, - SiteNames: *mut *mut LPWSTR, - ) -> DWORD; - pub fn DsAddressToSiteNamesA( - ComputerName: LPCSTR, - EntryCount: DWORD, - SocketAddresses: PSOCKET_ADDRESS, - SiteNames: *mut *mut LPSTR, - ) -> DWORD; - pub fn DsAddressToSiteNamesExW( - ComputerName: LPCWSTR, - EntryCount: DWORD, - SocketAddresses: PSOCKET_ADDRESS, - SiteNames: *mut *mut LPWSTR, - SubnetNames: *mut *mut LPWSTR, - ) -> DWORD; - pub fn DsAddressToSiteNamesExA( - ComputerName: LPCSTR, - EntryCount: DWORD, - SocketAddresses: PSOCKET_ADDRESS, - SiteNames: *mut *mut LPSTR, - SubnetNames: *mut *mut LPSTR, - ) -> DWORD; -} -pub const DS_DOMAIN_IN_FOREST: ULONG = 0x0001; -pub const DS_DOMAIN_DIRECT_OUTBOUND: ULONG = 0x0002; -pub const DS_DOMAIN_TREE_ROOT: ULONG = 0x0004; -pub const DS_DOMAIN_PRIMARY: ULONG = 0x0008; -pub const DS_DOMAIN_NATIVE_MODE: ULONG = 0x0010; -pub const DS_DOMAIN_DIRECT_INBOUND: ULONG = 0x0020; -pub const DS_DOMAIN_VALID_FLAGS: ULONG = DS_DOMAIN_IN_FOREST | DS_DOMAIN_DIRECT_OUTBOUND - | DS_DOMAIN_TREE_ROOT | DS_DOMAIN_PRIMARY | DS_DOMAIN_NATIVE_MODE | DS_DOMAIN_DIRECT_INBOUND; -STRUCT!{struct DS_DOMAIN_TRUSTSW { - NetbiosDomainName: LPWSTR, - DnsDomainName: LPWSTR, - Flags: ULONG, - ParentIndex: ULONG, - TrustType: ULONG, - TrustAttributes: ULONG, - DomainSid: PSID, - DomainGuid: GUID, -}} -pub type PDS_DOMAIN_TRUSTSW = *mut DS_DOMAIN_TRUSTSW; -STRUCT!{struct DS_DOMAIN_TRUSTSA { - NetbiosDomainName: LPSTR, - DnsDomainName: LPSTR, - Flags: ULONG, - ParentIndex: ULONG, - TrustType: ULONG, - TrustAttributes: ULONG, - DomainSid: PSID, - DomainGuid: GUID, -}} -pub type PDS_DOMAIN_TRUSTSA = *mut DS_DOMAIN_TRUSTSA; -extern "system" { - pub fn DsEnumerateDomainTrustsW( - ServerName: LPWSTR, - Flags: ULONG, - Domains: *mut PDS_DOMAIN_TRUSTSW, - DomainCount: PULONG, - ) -> DWORD; - pub fn DsEnumerateDomainTrustsA( - ServerName: LPSTR, - Flags: ULONG, - Domains: *mut PDS_DOMAIN_TRUSTSA, - DomainCount: PULONG, - ) -> DWORD; - pub fn DsGetForestTrustInformationW( - ServerName: LPCWSTR, - TrustedDomainName: LPCWSTR, - Flags: DWORD, - ForestTrustInfo: *mut PLSA_FOREST_TRUST_INFORMATION, - ) -> DWORD; - pub fn DsMergeForestTrustInformationW( - DomainName: LPCWSTR, - NewForestTrustInfo: PLSA_FOREST_TRUST_INFORMATION, - OldForestTrustInfo: PLSA_FOREST_TRUST_INFORMATION, - MergedForestTrustInfo: *mut PLSA_FOREST_TRUST_INFORMATION, - ) -> DWORD; - pub fn DsGetDcSiteCoverageW( - ServerName: LPCWSTR, - EntryCount: PULONG, - SiteNames: *mut *mut LPWSTR, - ) -> DWORD; - pub fn DsGetDcSiteCoverageA( - ServerName: LPCSTR, - EntryCount: PULONG, - SiteNames: *mut *mut LPSTR, - ) -> DWORD; - pub fn DsDeregisterDnsHostRecordsW( - ServerName: LPWSTR, - DnsDomainName: LPWSTR, - DomainGuid: *mut GUID, - DsaGuid: *mut GUID, - DnsHostName: LPWSTR, - ) -> DWORD; - pub fn DsDeregisterDnsHostRecordsA( - ServerName: LPSTR, - DnsDomainName: LPSTR, - DomainGuid: *mut GUID, - DsaGuid: *mut GUID, - DnsHostName: LPSTR, - ) -> DWORD; -} -pub const DS_ONLY_DO_SITE_NAME: ULONG = 0x01; -pub const DS_NOTIFY_AFTER_SITE_RECORDS: ULONG = 0x02; -pub const DS_OPEN_VALID_OPTION_FLAGS: ULONG = DS_ONLY_DO_SITE_NAME - | DS_NOTIFY_AFTER_SITE_RECORDS; -pub const DS_OPEN_VALID_FLAGS: ULONG = DS_FORCE_REDISCOVERY | DS_ONLY_LDAP_NEEDED - | DS_KDC_REQUIRED | DS_PDC_REQUIRED | DS_GC_SERVER_REQUIRED | DS_WRITABLE_REQUIRED; -extern "system" { - pub fn DsGetDcOpenW( - DnsName: LPCWSTR, - OptionFlags: ULONG, - SiteName: LPCWSTR, - DomainGuid: *mut GUID, - DnsForestName: LPCWSTR, - DcFlags: ULONG, - RetGetDcContext: PHANDLE, - ) -> DWORD; - pub fn DsGetDcOpenA( - DnsName: LPCSTR, - OptionFlags: ULONG, - SiteName: LPCSTR, - DomainGuid: *mut GUID, - DnsForestName: LPCSTR, - DcFlags: ULONG, - RetGetDcContext: PHANDLE, - ) -> DWORD; - pub fn DsGetDcNextA( - GetDcContextHandle: HANDLE, - SockAddressCount: PULONG, - SockAddresses: *mut LPSOCKET_ADDRESS, - DnsHostName: *mut LPSTR, - ) -> DWORD; - pub fn DsGetDcNextW( - GetDcContextHandle: HANDLE, - SockAddressCount: PULONG, - SockAddresses: *mut LPSOCKET_ADDRESS, - DnsHostName: *mut LPWSTR, - ) -> DWORD; - pub fn DsGetDcCloseW( - GetDcContextHandle: HANDLE, - ); -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dsound.rs b/vendor/registry-40351f815f426200/winapi/src/um/dsound.rs deleted file mode 100644 index 9c23bbf53..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dsound.rs +++ /dev/null @@ -1,342 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! DSound procedure declarations, constant definitions and macros -use shared::guiddef::{GUID, LPCGUID, LPGUID}; -use shared::minwindef::{DWORD, LPDWORD, LPLONG, LPVOID}; -use shared::windef::HWND; -use shared::winerror::{E_FAIL, S_OK}; -use um::mmsystem::{LPCWAVEFORMATEX, LPWAVEFORMATEX}; -use um::unknwnbase::{IUnknown, IUnknownVtbl, LPUNKNOWN}; -use um::winnt::{HRESULT, LONG}; -DEFINE_GUID!{CLSID_DirectSound, - 0x47d4d946, 0x62e8, 0x11cf, 0x93, 0xbc, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00} -DEFINE_GUID!{CLSID_DirectSound8, - 0x3901cc3f, 0x84b5, 0x4fa4, 0xba, 0x35, 0xaa, 0x81, 0x72, 0xb8, 0xa0, 0x9b} -DEFINE_GUID!{CLSID_DirectSoundCapture, - 0xb0210780, 0x89cd, 0x11d0, 0xaf, 0x08, 0x00, 0xa0, 0xc9, 0x25, 0xcd, 0x16} -DEFINE_GUID!{CLSID_DirectSoundCapture8, - 0xe4bcac13, 0x7f99, 0x4908, 0x9a, 0x8e, 0x74, 0xe3, 0xbf, 0x24, 0xb6, 0xe1} -DEFINE_GUID!{CLSID_DirectSoundFullDuplex, - 0xfea4300c, 0x7959, 0x4147, 0xb2, 0x6a, 0x23, 0x77, 0xb9, 0xe7, 0xa9, 0x1d} -DEFINE_GUID!{DSDEVID_DefaultPlayback, - 0xdef00000, 0x9c6d, 0x47ed, 0xaa, 0xf1, 0x4d, 0xda, 0x8f, 0x2b, 0x5c, 0x03} -DEFINE_GUID!{DSDEVID_DefaultCapture, - 0xdef00001, 0x9c6d, 0x47ed, 0xaa, 0xf1, 0x4d, 0xda, 0x8f, 0x2b, 0x5c, 0x03} -DEFINE_GUID!{DSDEVID_DefaultVoicePlayback, - 0xdef00002, 0x9c6d, 0x47ed, 0xaa, 0xf1, 0x4d, 0xda, 0x8f, 0x2b, 0x5c, 0x03} -DEFINE_GUID!{DSDEVID_DefaultVoiceCapture, - 0xdef00003, 0x9c6d, 0x47ed, 0xaa, 0xf1, 0x4d, 0xda, 0x8f, 0x2b, 0x5c, 0x03} -STRUCT!{struct DSCAPS { - dwSize: DWORD, - dwFlags: DWORD, - dwMinSecondarySampleRate: DWORD, - dwMaxSecondarySampleRate: DWORD, - dwPrimaryBuffers: DWORD, - dwMaxHwMixingAllBuffers: DWORD, - dwMaxHwMixingStaticBuffers: DWORD, - dwMaxHwMixingStreamingBuffers: DWORD, - dwFreeHwMixingAllBuffers: DWORD, - dwFreeHwMixingStaticBuffers: DWORD, - dwFreeHwMixingStreamingBuffers: DWORD, - dwMaxHw3DAllBuffers: DWORD, - dwMaxHw3DStaticBuffers: DWORD, - dwMaxHw3DStreamingBuffers: DWORD, - dwFreeHw3DAllBuffers: DWORD, - dwFreeHw3DStaticBuffers: DWORD, - dwFreeHw3DStreamingBuffers: DWORD, - dwTotalHwMemBytes: DWORD, - dwFreeHwMemBytes: DWORD, - dwMaxContigFreeHwMemBytes: DWORD, - dwUnlockTransferRateHwBuffers: DWORD, - dwPlayCpuOverheadSwBuffers: DWORD, - dwReserved1: DWORD, - dwReserved2: DWORD, -}} -pub type LPDSCAPS = *mut DSCAPS; -STRUCT!{struct DSBCAPS { - dwSize: DWORD, - dwFlags: DWORD, - dwBufferBytes: DWORD, - dwUnlockTransferRate: DWORD, - dwPlayCpuOverhead: DWORD, -}} -pub type LPDSBCAPS = *mut DSBCAPS; -STRUCT!{struct DSBUFFERDESC { - dwSize: DWORD, - dwFlags: DWORD, - dwBufferBytes: DWORD, - dwReserved: DWORD, - lpwfxFormat: LPWAVEFORMATEX, - guid3DAlgorithm: GUID, -}} -pub type LPCDSBUFFERDESC = *const DSBUFFERDESC; -RIDL!{#[uuid(0x279afa85, 0x4981, 0x11ce, 0xa5, 0x21, 0x00, 0x20, 0xaf, 0x0b, 0xe5, 0x60)] -interface IDirectSoundBuffer(IDirectSoundBufferVtbl): IUnknown(IUnknownVtbl) { - fn GetCaps( - pDSBufferCaps: LPDSBCAPS, - ) -> HRESULT, - fn GetCurrentPosition( - pdwCurrentPlayCursor: LPDWORD, - pdwCurrentWriteCursor: LPDWORD, - ) -> HRESULT, - fn GetFormat( - pwfxFormat: LPWAVEFORMATEX, - dwSizeAllocated: DWORD, - pdwSizeWritten: LPDWORD, - ) -> HRESULT, - fn GetVolume( - plVolume: LPLONG, - ) -> HRESULT, - fn GetPan( - plPan: LPLONG, - ) -> HRESULT, - fn GetFrequency( - pdwFrequency: LPDWORD, - ) -> HRESULT, - fn GetStatus( - pdwStatus: LPDWORD, - ) -> HRESULT, - fn Initialize( - pDirectSound: LPDIRECTSOUND, - pcDSBufferDesc: LPCDSBUFFERDESC, - ) -> HRESULT, - fn Lock( - dwOffset: DWORD, - dwBytes: DWORD, - ppvAudioPtr1: *mut LPVOID, - pdwAudioBytes1: LPDWORD, - ppvAudioPtr2: *mut LPVOID, - pdwAudioBytes2: LPDWORD, - dwFlags: DWORD, - ) -> HRESULT, - fn Play( - dwReserved1: DWORD, - dwPriority: DWORD, - dwFlags: DWORD, - ) -> HRESULT, - fn SetCurrentPosition( - dwNewPosition: DWORD, - ) -> HRESULT, - fn SetFormat( - pcfxFormat: LPCWAVEFORMATEX, - ) -> HRESULT, - fn SetVolume( - lVolume: LONG, - ) -> HRESULT, - fn SetPan( - lPan: LONG, - ) -> HRESULT, - fn SetFrequency( - dwFrequency: DWORD, - ) -> HRESULT, - fn Stop() -> HRESULT, - fn Unlock( - pvAudioPtr1: LPVOID, - dwAudioBytes1: DWORD, - pvAudioPtr2: LPVOID, - dwAudioBytes2: DWORD, - ) -> HRESULT, - fn Restore() -> HRESULT, -}} -pub type LPDIRECTSOUNDBUFFER = *mut IDirectSoundBuffer; -DEFINE_GUID!{IID_IReferenceClock, - 0x56a86897, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70} -DEFINE_GUID!{IID_IDirectSound, - 0x279afa83, 0x4981, 0x11ce, 0xa5, 0x21, 0x00, 0x20, 0xaf, 0x0b, 0xe5, 0x60} -RIDL!{#[uuid(0x279afa83, 0x4981, 0x11ce, 0xa5, 0x21, 0x00, 0x20, 0xaf, 0x0b, 0xe5, 0x60)] -interface IDirectSound(IDirectSoundVtbl): IUnknown(IUnknownVtbl) { - fn CreateSoundBuffer( - pcDSBufferDesc: LPCDSBUFFERDESC, - ppDSBuffer: *mut LPDIRECTSOUNDBUFFER, - pUnkOuter: LPUNKNOWN, - ) -> HRESULT, - fn GetCaps( - pDSCaps: LPDSCAPS, - ) -> HRESULT, - fn DuplicateSoundBuffer( - pDSBufferOriginal: LPDIRECTSOUNDBUFFER, - ppDSBufferDuplicate: *mut LPDIRECTSOUNDBUFFER, - ) -> HRESULT, - fn SetCooperativeLevel( - hWnd: HWND, - dwLevel: DWORD, - ) -> HRESULT, - fn Compact() -> HRESULT, - fn GetSpeakerConfig( - pdwSpeakerConfig: LPDWORD, - ) -> HRESULT, - fn SetSpeakerConfig( - dwSpeakerConfig: DWORD, - ) -> HRESULT, - fn Initialize( - pcGuidDevice: LPCGUID, - ) -> HRESULT, -}} -pub type LPDIRECTSOUND = *mut IDirectSound; -DEFINE_GUID!{IID_IDirectSound8, - 0xc50a7e93, 0xf395, 0x4834, 0x9e, 0xf6, 0x7f, 0xa9, 0x9d, 0xe5, 0x09, 0x66} -DEFINE_GUID!{IID_IDirectSoundBuffer, - 0x279afa85, 0x4981, 0x11ce, 0xa5, 0x21, 0x00, 0x20, 0xaf, 0x0b, 0xe5, 0x60} -DEFINE_GUID!{IID_IDirectSoundBuffer8, - 0x6825a449, 0x7524, 0x4d82, 0x92, 0x0f, 0x50, 0xe3, 0x6a, 0xb3, 0xab, 0x1e} -DEFINE_GUID!{GUID_All_Objects, - 0xaa114de5, 0xc262, 0x4169, 0xa1, 0xc8, 0x23, 0xd6, 0x98, 0xcc, 0x73, 0xb5} -DEFINE_GUID!{IID_IDirectSound3DListener, - 0x279afa84, 0x4981, 0x11ce, 0xa5, 0x21, 0x00, 0x20, 0xaf, 0x0b, 0xe5, 0x60} -DEFINE_GUID!{IID_IDirectSound3DBuffer, - 0x279afa86, 0x4981, 0x11ce, 0xa5, 0x21, 0x00, 0x20, 0xaf, 0x0b, 0xe5, 0x60} -DEFINE_GUID!{IID_IDirectSoundCapture, - 0xb0210781, 0x89cd, 0x11d0, 0xaf, 0x08, 0x00, 0xa0, 0xc9, 0x25, 0xcd, 0x16} -DEFINE_GUID!{IID_IDirectSoundCaptureBuffer, - 0xb0210782, 0x89cd, 0x11d0, 0xaf, 0x08, 0x00, 0xa0, 0xc9, 0x25, 0xcd, 0x16} -DEFINE_GUID!{IID_IDirectSoundCaptureBuffer8, - 0x00990df4, 0x0dbb, 0x4872, 0x83, 0x3e, 0x6d, 0x30, 0x3e, 0x80, 0xae, 0xb6} -DEFINE_GUID!{IID_IDirectSoundNotify, - 0xb0210783, 0x89cd, 0x11d0, 0xaf, 0x08, 0x00, 0xa0, 0xc9, 0x25, 0xcd, 0x16} -DEFINE_GUID!{IID_IKsPropertySet, - 0x31efac30, 0x515c, 0x11d0, 0xa9, 0xaa, 0x00, 0xaa, 0x00, 0x61, 0xbe, 0x93} -DEFINE_GUID!{IID_IDirectSoundFXGargle, - 0xd616f352, 0xd622, 0x11ce, 0xaa, 0xc5, 0x00, 0x20, 0xaf, 0x0b, 0x99, 0xa3} -DEFINE_GUID!{IID_IDirectSoundFXChorus, - 0x880842e3, 0x145f, 0x43e6, 0xa9, 0x34, 0xa7, 0x18, 0x06, 0xe5, 0x05, 0x47} -DEFINE_GUID!{IID_IDirectSoundFXFlanger, - 0x903e9878, 0x2c92, 0x4072, 0x9b, 0x2c, 0xea, 0x68, 0xf5, 0x39, 0x67, 0x83} -DEFINE_GUID!{IID_IDirectSoundFXEcho, - 0x8bd28edf, 0x50db, 0x4e92, 0xa2, 0xbd, 0x44, 0x54, 0x88, 0xd1, 0xed, 0x42} -DEFINE_GUID!{IID_IDirectSoundFXDistortion, - 0x8ecf4326, 0x455f, 0x4d8b, 0xbd, 0xa9, 0x8d, 0x5d, 0x3e, 0x9e, 0x3e, 0x0b} -DEFINE_GUID!{IID_IDirectSoundFXCompressor, - 0x4bbd1154, 0x62f6, 0x4e2c, 0xa1, 0x5c, 0xd3, 0xb6, 0xc4, 0x17, 0xf7, 0xa0} -DEFINE_GUID!{IID_IDirectSoundFXParamEq, - 0xc03ca9fe, 0xfe90, 0x4204, 0x80, 0x78, 0x82, 0x33, 0x4c, 0xd1, 0x77, 0xda} -DEFINE_GUID!{IID_IDirectSoundFXI3DL2Reverb, - 0x4b166a6a, 0x0d66, 0x43f3, 0x80, 0xe3, 0xee, 0x62, 0x80, 0xde, 0xe1, 0xa4} -DEFINE_GUID!{IID_IDirectSoundFXWavesReverb, - 0x46858c3a, 0x0dc6, 0x45e3, 0xb7, 0x60, 0xd4, 0xee, 0xf1, 0x6c, 0xb3, 0x25} -DEFINE_GUID!{IID_IDirectSoundCaptureFXAec, - 0xad74143d, 0x903d, 0x4ab7, 0x80, 0x66, 0x28, 0xd3, 0x63, 0x03, 0x6d, 0x65} -DEFINE_GUID!{IID_IDirectSoundCaptureFXNoiseSuppress, - 0xed311e41, 0xfbae, 0x4175, 0x96, 0x25, 0xcd, 0x08, 0x54, 0xf6, 0x93, 0xca} -DEFINE_GUID!{IID_IDirectSoundFullDuplex, - 0xedcb4c7a, 0xdaab, 0x4216, 0xa4, 0x2e, 0x6c, 0x50, 0x59, 0x6d, 0xdc, 0x1d} -pub const DS_OK: HRESULT = S_OK; -pub const DSERR_GENERIC: HRESULT = E_FAIL; -pub const DSSCL_NORMAL: DWORD = 0x00000001; -pub const DSSCL_PRIORITY: DWORD = 0x00000002; -pub const DSSCL_EXCLUSIVE: DWORD = 0x00000003; -pub const DSSCL_WRITEPRIMARY: DWORD = 0x00000004; -pub const DSBCAPS_PRIMARYBUFFER: DWORD = 0x00000001; -pub const DSBCAPS_STATIC: DWORD = 0x00000002; -pub const DSBCAPS_LOCHARDWARE: DWORD = 0x00000004; -pub const DSBCAPS_LOCSOFTWARE: DWORD = 0x00000008; -pub const DSBCAPS_CTRL3D: DWORD = 0x00000010; -pub const DSBCAPS_CTRLFREQUENCY: DWORD = 0x00000020; -pub const DSBCAPS_CTRLPAN: DWORD = 0x00000040; -pub const DSBCAPS_CTRLVOLUME: DWORD = 0x00000080; -pub const DSBCAPS_CTRLPOSITIONNOTIFY: DWORD = 0x00000100; -pub const DSBCAPS_CTRLFX: DWORD = 0x00000200; -pub const DSBCAPS_STICKYFOCUS: DWORD = 0x00004000; -pub const DSBCAPS_GLOBALFOCUS: DWORD = 0x00008000; -pub const DSBCAPS_GETCURRENTPOSITION2: DWORD = 0x00010000; -pub const DSBCAPS_MUTE3DATMAXDISTANCE: DWORD = 0x00020000; -pub const DSBCAPS_LOCDEFER: DWORD = 0x00040000; -pub const DSBCAPS_TRUEPLAYPOSITION: DWORD = 0x00080000; -pub const DSBPLAY_LOOPING: DWORD = 0x00000001; -pub const DSBPLAY_LOCHARDWARE: DWORD = 0x00000002; -pub const DSBPLAY_LOCSOFTWARE: DWORD = 0x00000004; -pub const DSBPLAY_TERMINATEBY_TIME: DWORD = 0x00000008; -pub const DSBPLAY_TERMINATEBY_DISTANCE: DWORD = 0x000000010; -pub const DSBPLAY_TERMINATEBY_PRIORITY: DWORD = 0x000000020; -extern "system" { - pub fn DirectSoundCreate( - pcGuidDevice: LPCGUID, - ppDS: *mut LPDIRECTSOUND, - pUnkOuter: LPUNKNOWN, - ) -> HRESULT; - // pub fn DirectSoundEnumerateA( - // pDSEnumCallback: LPDSENUMCALLBACKA, - // pContext: LPVOID, - // ) -> HRESULT; - // pub fn DirectSoundEnumerateW( - // pDSEnumCallback: LPDSENUMCALLBACKW, - // pContext: LPVOID, - // ) -> HRESULT; - // pub fn DirectSoundCaptureCreate( - // pcGuidDevice: LPCGUID, - // ppDSC: *mut LPDIRECTSOUNDCAPTURE, - // pUnkOuter: LPUNKNOWN, - // ) -> HRESULT; - // pub fn DirectSoundCaptureEnumerateA( - // pDSEnumCallback: LPDSENUMCALLBACKA, - // pContext: LPVOID, - // ) -> HRESULT; - // pub fn DirectSoundCaptureEnumerateW( - // pDSEnumCallback: LPDSENUMCALLBACKW, - // pContext: LPVOID, - // ) -> HRESULT; - // pub fn DirectSoundCreate8( - // pcGuidDevice: LPCGUID, - // ppDS8: *mut LPDIRECTSOUND8, - // pUnkOuter: LPUNKNOWN, - // ) -> HRESULT; - // pub fn DirectSoundCaptureCreate8( - // pcGuidDevice: LPCGUID, - // ppDSC8: *mut LPDIRECTSOUNDCAPTURE8, - // pUnkOuter: LPUNKNOWN, - // ) -> HRESULT; - // pub fn DirectSoundFullDuplexCreate( - // pcGuidCaptureDevice: LPCGUID, - // pcGuidRenderDevice: LPCGUID, - // pcDSCBufferDesc: LPCDSCBUFFERDESC, - // pcDSBufferDesc: LPCDSBUFFERDESC, - // hWnd: HWND, - // dwLevel: DWORD, - // ppDSFD: *mut LPDIRECTSOUNDFULLDUPLEX, - // ppDSCBuffer8: *mut LPDIRECTSOUNDCAPTUREBUFFER8, - // ppDSBuffer8: *mut LPDIRECTSOUNDBUFFER8, - // pUnkOuter: LPUNKNOWN, - // ) -> HRESULT; - pub fn GetDeviceID( - pGuidSrc: LPCGUID, - pGuidDest: LPGUID, - ) -> HRESULT; -} -DEFINE_GUID!{DS3DALG_NO_VIRTUALIZATION, - 0xc241333f, 0x1c1b, 0x11d2, 0x94, 0xf5, 0x00, 0xc0, 0x4f, 0xc2, 0x8a, 0xca} -DEFINE_GUID!{DS3DALG_HRTF_FULL, - 0xc2413340, 0x1c1b, 0x11d2, 0x94, 0xf5, 0x00, 0xc0, 0x4f, 0xc2, 0x8a, 0xca} -DEFINE_GUID!{DS3DALG_HRTF_LIGHT, - 0xc2413342, 0x1c1b, 0x11d2, 0x94, 0xf5, 0x00, 0xc0, 0x4f, 0xc2, 0x8a, 0xca} -DEFINE_GUID!{GUID_DSFX_STANDARD_GARGLE, - 0xdafd8210, 0x5711, 0x4b91, 0x9f, 0xe3, 0xf7, 0x5b, 0x7a, 0xe2, 0x79, 0xbf} -DEFINE_GUID!{GUID_DSFX_STANDARD_CHORUS, - 0xefe6629c, 0x81f7, 0x4281, 0xbd, 0x91, 0xc9, 0xd6, 0x04, 0xa9, 0x5a, 0xf6} -DEFINE_GUID!{GUID_DSFX_STANDARD_FLANGER, - 0xefca3d92, 0xdfd8, 0x4672, 0xa6, 0x03, 0x74, 0x20, 0x89, 0x4b, 0xad, 0x98} -DEFINE_GUID!{GUID_DSFX_STANDARD_ECHO, - 0xef3e932c, 0xd40b, 0x4f51, 0x8c, 0xcf, 0x3f, 0x98, 0xf1, 0xb2, 0x9d, 0x5d} -DEFINE_GUID!{GUID_DSFX_STANDARD_DISTORTION, - 0xef114c90, 0xcd1d, 0x484e, 0x96, 0xe5, 0x09, 0xcf, 0xaf, 0x91, 0x2a, 0x21} -DEFINE_GUID!{GUID_DSFX_STANDARD_COMPRESSOR, - 0xef011f79, 0x4000, 0x406d, 0x87, 0xaf, 0xbf, 0xfb, 0x3f, 0xc3, 0x9d, 0x57} -DEFINE_GUID!{GUID_DSFX_STANDARD_PARAMEQ, - 0x120ced89, 0x3bf4, 0x4173, 0xa1, 0x32, 0x3c, 0xb4, 0x06, 0xcf, 0x32, 0x31} -DEFINE_GUID!{GUID_DSFX_STANDARD_I3DL2REVERB, - 0xef985e71, 0xd5c7, 0x42d4, 0xba, 0x4d, 0x2d, 0x07, 0x3e, 0x2e, 0x96, 0xf4} -DEFINE_GUID!{GUID_DSFX_WAVES_REVERB, - 0x87fc0268, 0x9a55, 0x4360, 0x95, 0xaa, 0x00, 0x4a, 0x1d, 0x9d, 0xe2, 0x6c} -DEFINE_GUID!{GUID_DSCFX_CLASS_AEC, - 0xbf963d80, 0xc559, 0x11d0, 0x8a, 0x2b, 0x00, 0xa0, 0xc9, 0x25, 0x5a, 0xc1} -DEFINE_GUID!{GUID_DSCFX_MS_AEC, - 0xcdebb919, 0x379a, 0x488a, 0x87, 0x65, 0xf5, 0x3c, 0xfd, 0x36, 0xde, 0x40} -DEFINE_GUID!{GUID_DSCFX_SYSTEM_AEC, - 0x1c22c56d, 0x9879, 0x4f5b, 0xa3, 0x89, 0x27, 0x99, 0x6d, 0xdc, 0x28, 0x10} -DEFINE_GUID!{GUID_DSCFX_CLASS_NS, - 0xe07f903f, 0x62fd, 0x4e60, 0x8c, 0xdd, 0xde, 0xa7, 0x23, 0x66, 0x65, 0xb5} -DEFINE_GUID!{GUID_DSCFX_MS_NS, - 0x11c5c73b, 0x66e9, 0x4ba1, 0xa0, 0xba, 0xe8, 0x14, 0xc6, 0xee, 0xd9, 0x2d} -DEFINE_GUID!{GUID_DSCFX_SYSTEM_NS, - 0x5ab0882e, 0x7274, 0x4516, 0x87, 0x7d, 0x4e, 0xee, 0x99, 0xba, 0x4f, 0xd0} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dsrole.rs b/vendor/registry-40351f815f426200/winapi/src/um/dsrole.rs deleted file mode 100644 index b644d7994..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dsrole.rs +++ /dev/null @@ -1,66 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Contains public interfaces to query the network roles of workstations, servers, and DCs -use shared::guiddef::GUID; -use shared::minwindef::{DWORD, PBYTE, ULONG}; -use um::winnt::{LPCWSTR, LPWSTR, PVOID}; -ENUM!{enum DSROLE_MACHINE_ROLE { - DsRole_RoleStandaloneWorkstation, - DsRole_RoleMemberWorkstation, - DsRole_RoleStandaloneServer, - DsRole_RoleMemberServer, - DsRole_RoleBackupDomainController, - DsRole_RolePrimaryDomainController, -}} -ENUM!{enum DSROLE_SERVER_STATE { - DsRoleServerUnknown = 0, - DsRoleServerPrimary, - DsRoleServerBackup, -}} -pub type PDSROLE_SERVER_STATE = *mut DSROLE_SERVER_STATE; -ENUM!{enum DSROLE_PRIMARY_DOMAIN_INFO_LEVEL { - DsRolePrimaryDomainInfoBasic = 1, - DsRoleUpgradeStatus, - DsRoleOperationState, -}} -pub const DSROLE_PRIMARY_DS_RUNNING: ULONG = 0x00000001; -pub const DSROLE_PRIMARY_DS_MIXED_MODE: ULONG = 0x00000002; -pub const DSROLE_UPGRADE_IN_PROGRESS: ULONG = 0x00000004; -pub const DSROLE_PRIMARY_DS_READONLY: ULONG = 0x00000008; -pub const DSROLE_PRIMARY_DOMAIN_GUID_PRESENT: ULONG = 0x01000000; -STRUCT!{struct DSROLE_PRIMARY_DOMAIN_INFO_BASIC { - MachineRole: DSROLE_MACHINE_ROLE, - Flags: ULONG, - DomainNameFlat: LPWSTR, - DomainNameDns: LPWSTR, - DomainForestName: LPWSTR, - DomainGuid: GUID, -}} -pub type PDSROLE_PRIMARY_DOMAIN_INFO_BASIC = *mut DSROLE_PRIMARY_DOMAIN_INFO_BASIC; -STRUCT!{struct DSROLE_UPGRADE_STATUS_INFO { - OperationState: ULONG, - PreviousServerState: DSROLE_SERVER_STATE, -}} -pub type PDSROLE_UPGRADE_STATUS_INFO = *mut DSROLE_UPGRADE_STATUS_INFO; -ENUM!{enum DSROLE_OPERATION_STATE { - DsRoleOperationIdle = 0, - DsRoleOperationActive, - DsRoleOperationNeedReboot, -}} -STRUCT!{struct DSROLE_OPERATION_STATE_INFO { - OperationState: DSROLE_OPERATION_STATE, -}} -pub type PDSROLE_OPERATION_STATE_INFO = *mut DSROLE_OPERATION_STATE_INFO; -extern "system" { - pub fn DsRoleGetPrimaryDomainInformation( - lpServer: LPCWSTR, - InfoLevel: DSROLE_PRIMARY_DOMAIN_INFO_LEVEL, - Buffer: *mut PBYTE, - ) -> DWORD; - pub fn DsRoleFreeMemory( - Buffer: PVOID, - ); -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dvp.rs b/vendor/registry-40351f815f426200/winapi/src/um/dvp.rs deleted file mode 100644 index 5760732e0..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dvp.rs +++ /dev/null @@ -1,25 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{IID_IDDVideoPortContainer, - 0x6c142760, 0xa733, 0x11ce, 0xa5, 0x21, 0x00, 0x20, 0xaf, 0x0b, 0xe5, 0x60} -DEFINE_GUID!{IID_IDirectDrawVideoPort, - 0xb36d93e0, 0x2b43, 0x11cf, 0xa2, 0xde, 0x00, 0xaa, 0x00, 0xb9, 0x33, 0x56} -DEFINE_GUID!{IID_IDirectDrawVideoPortNotify, - 0xa655fb94, 0x0589, 0x4e57, 0xb3, 0x33, 0x56, 0x7a, 0x89, 0x46, 0x8c, 0x88} -DEFINE_GUID!{DDVPTYPE_E_HREFH_VREFH, - 0x54f39980, 0xda60, 0x11cf, 0x9b, 0x06, 0x00, 0xa0, 0xc9, 0x03, 0xa3, 0xb8} -DEFINE_GUID!{DDVPTYPE_E_HREFH_VREFL, - 0x92783220, 0xda60, 0x11cf, 0x9b, 0x06, 0x00, 0xa0, 0xc9, 0x03, 0xa3, 0xb8} -DEFINE_GUID!{DDVPTYPE_E_HREFL_VREFH, - 0xa07a02e0, 0xda60, 0x11cf, 0x9b, 0x06, 0x00, 0xa0, 0xc9, 0x03, 0xa3, 0xb8} -DEFINE_GUID!{DDVPTYPE_E_HREFL_VREFL, - 0xe09c77e0, 0xda60, 0x11cf, 0x9b, 0x06, 0x00, 0xa0, 0xc9, 0x03, 0xa3, 0xb8} -DEFINE_GUID!{DDVPTYPE_CCIR656, - 0xfca326a0, 0xda60, 0x11cf, 0x9b, 0x06, 0x00, 0xa0, 0xc9, 0x03, 0xa3, 0xb8} -DEFINE_GUID!{DDVPTYPE_BROOKTREE, - 0x1352a560, 0xda61, 0x11cf, 0x9b, 0x06, 0x00, 0xa0, 0xc9, 0x03, 0xa3, 0xb8} -DEFINE_GUID!{DDVPTYPE_PHILIPS, - 0x332cf160, 0xda61, 0x11cf, 0x9b, 0x06, 0x00, 0xa0, 0xc9, 0x03, 0xa3, 0xb8} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dwmapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/dwmapi.rs deleted file mode 100644 index 475473f9a..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dwmapi.rs +++ /dev/null @@ -1,295 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Procedure declarations, constant definitions, and macros for the NLS component. -use shared::basetsd::UINT32; -use shared::minwindef::{ - BOOL, BYTE, DWORD, HRGN, INT, LPARAM, LPCVOID, LPVOID, LRESULT, UINT, WPARAM -}; -use shared::windef::{HBITMAP, HWND, POINT, PSIZE, RECT}; -use um::uxtheme::MARGINS; -use um::winnt::{HANDLE, HRESULT, ULONGLONG}; -pub const DWM_BB_ENABLE: DWORD = 0x00000001; -pub const DWM_BB_BLURREGION: DWORD = 0x00000002; -pub const DWM_BB_TRANSITIONONMAXIMIZED: DWORD = 0x00000004; -STRUCT!{#[repr(packed)] struct DWM_BLURBEHIND { - dwFlags: DWORD, - fEnable: BOOL, - hRgnBlur: HRGN, - fTransitionOnMaximized: BOOL, -}} -ENUM!{enum DWMWINDOWATTRIBUTE { - DWMWA_NCRENDERING_ENABLED = 1, - DWMWA_NCRENDERING_POLICY = 2, - DWMWA_TRANSITIONS_FORCEDISABLED = 3, - DWMWA_ALLOW_NCPAINT = 4, - DWMWA_CAPTION_BUTTON_BOUNDS = 5, - DWMWA_NONCLIENT_RTL_LAYOUT = 6, - DWMWA_FORCE_ICONIC_REPRESENTATION = 7, - DWMWA_FLIP3D_POLICY = 8, - DWMWA_EXTENDED_FRAME_BOUNDS = 9, - DWMWA_HAS_ICONIC_BITMAP = 10, - DWMWA_DISALLOW_PEEK = 11, - DWMWA_EXCLUDED_FROM_PEEK = 12, - DWMWA_CLOAK = 13, - DWMWA_CLOAKED = 14, - DWMWA_FREEZE_REPRESENTATION = 15, - DWMWA_LAST = 16, -}} -ENUM!{enum DWMNCRENDERINGPOLICY { - DWMNCRP_USEWINDOWSTYLE = 0, - DWMNCRP_DISABLED = 1, - DWMNCRP_ENABLED = 2, - DWMNCRP_LAST = 3, -}} -ENUM!{enum DWMFLIP3DWINDOWPOLICY { - DWMFLIP3D_DEFAULT = 0, - DWMFLIP3D_EXCLUDEBELOW = 1, - DWMFLIP3D_EXCLUDEABOVE = 2, - DWMFLIP3D_LAST = 3, -}} -pub const DWM_CLOAKED_APP: u32 = 0x00000001; -pub const DWM_CLOAKED_SHELL: u32 = 0x00000002; -pub const DWM_CLOAKED_INHERITED: u32 = 0x00000004; -pub type HTHUMBNAIL = HANDLE; -pub type PHTHUMBNAIL = *mut HTHUMBNAIL; -pub const DWM_TNP_RECTDESTINATION: DWORD = 0x00000001; -pub const DWM_TNP_RECTSOURCE: DWORD = 0x00000002; -pub const DWM_TNP_OPACITY: DWORD = 0x00000004; -pub const DWM_TNP_VISIBLE: DWORD = 0x00000008; -pub const DWM_TNP_SOURCECLIENTAREAONLY: DWORD = 0x00000010; -STRUCT!{#[repr(packed)] struct DWM_THUMBNAIL_PROPERTIES { - dwFlags: DWORD, - rcDestination: RECT, - rcSource: RECT, - opacity: BYTE, - fVisible: BOOL, - fSourceClientAreaOnly: BOOL, -}} -pub type PDWM_THUMBNAIL_PROPERTIES = *mut DWM_THUMBNAIL_PROPERTIES; -pub type DWM_FRAME_COUNT = ULONGLONG; -pub type QPC_TIME = ULONGLONG; -STRUCT!{#[repr(packed)] struct UNSIGNED_RATIO { - uiNumerator: UINT32, - uiDenominator: UINT32, -}} -STRUCT!{#[repr(packed)] struct DWM_TIMING_INFO { - cbSize: UINT32, - rateRefresh: UNSIGNED_RATIO, - qpcRefreshPeriod: QPC_TIME, - rateCompose: UNSIGNED_RATIO, - qpcVBlank: QPC_TIME, - cRefresh: DWM_FRAME_COUNT, - cDXRefresh: UINT, - qpcCompose: QPC_TIME, - cFrame: DWM_FRAME_COUNT, - cDXPresent: UINT, - cRefreshFrame: DWM_FRAME_COUNT, - cFrameSubmitted: DWM_FRAME_COUNT, - cDXPresentSubmitted: UINT, - cFrameConfirmed: DWM_FRAME_COUNT, - cDXPresentConfirmed: UINT, - cRefreshConfirmed: DWM_FRAME_COUNT, - cDXRefreshConfirmed: UINT, - cFramesLate: DWM_FRAME_COUNT, - cFramesOutstanding: UINT, - cFrameDisplayed: DWM_FRAME_COUNT, - qpcFrameDisplayed: QPC_TIME, - cRefreshFrameDisplayed: DWM_FRAME_COUNT, - cFrameComplete: DWM_FRAME_COUNT, - qpcFrameComplete: QPC_TIME, - cFramePending: DWM_FRAME_COUNT, - qpcFramePending: QPC_TIME, - cFramesDisplayed: DWM_FRAME_COUNT, - cFramesComplete: DWM_FRAME_COUNT, - cFramesPending: DWM_FRAME_COUNT, - cFramesAvailable: DWM_FRAME_COUNT, - cFramesDropped: DWM_FRAME_COUNT, - cFramesMissed: DWM_FRAME_COUNT, - cRefreshNextDisplayed: DWM_FRAME_COUNT, - cRefreshNextPresented: DWM_FRAME_COUNT, - cRefreshesDisplayed: DWM_FRAME_COUNT, - cRefreshesPresented: DWM_FRAME_COUNT, - cRefreshStarted: DWM_FRAME_COUNT, - cPixelsReceived: ULONGLONG, - cPixelsDrawn: ULONGLONG, - cBuffersEmpty: DWM_FRAME_COUNT, -}} -ENUM!{enum DWM_SOURCE_FRAME_SAMPLING { - DWM_SOURCE_FRAME_SAMPLING_POINT = 0, - DWM_SOURCE_FRAME_SAMPLING_COVERAGE = 1, - DWM_SOURCE_FRAME_SAMPLING_LAST = 2, -}} -// pub const c_DwmMaxQueuedBuffers: UINT = 8; -// pub const c_DwmMaxMonitors: UINT = 16; -// pub const c_DwmMaxAdapters: UINT = 16; -STRUCT!{#[repr(packed)] struct DWM_PRESENT_PARAMETERS { - cbSize: UINT32, - fQueue: BOOL, - cRefreshStart: DWM_FRAME_COUNT, - cBuffer: UINT, - fUseSourceRate: BOOL, - rateSource: UNSIGNED_RATIO, - cRefreshesPerFrame: UINT, - eSampling: DWM_SOURCE_FRAME_SAMPLING, -}} -// pub const DWM_FRAME_DURATION_DEFAULT: i32 = -1; -extern "system" { - pub fn DwmDefWindowProc( - hWnd: HWND, - msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - plResult: *mut LRESULT, - ) -> BOOL; - pub fn DwmEnableBlurBehindWindow( - hWnd: HWND, - pBlurBehind: *const DWM_BLURBEHIND, - ) -> HRESULT; -} -pub const DWM_EC_DISABLECOMPOSITION: UINT = 0; -pub const DWM_EC_ENABLECOMPOSITION: UINT = 1; -extern "system" { - pub fn DwmEnableComposition( - uCompositionAction: UINT, - ) -> HRESULT; - pub fn DwmEnableMMCSS( - fEnableMMCSS: BOOL, - ) -> HRESULT; - pub fn DwmExtendFrameIntoClientArea( - hWnd: HWND, - pMarInset: *const MARGINS, - ) -> HRESULT; - pub fn DwmGetColorizationColor( - pcrColorization: *mut DWORD, - pfOpaqueBlend: *mut BOOL, - ) -> HRESULT; - pub fn DwmGetCompositionTimingInfo( - hWnd: HWND, - pTimingInfo: *mut DWM_TIMING_INFO, - ) -> HRESULT; - pub fn DwmGetWindowAttribute( - hWnd: HWND, - dwAttribute: DWORD, - pvAttribute: LPVOID, - cbAttribute: DWORD, - ) -> HRESULT; - pub fn DwmIsCompositionEnabled( - pfEnabled: *mut BOOL, - ) -> HRESULT; - pub fn DwmModifyPreviousDxFrameDuration( - hwnd: HWND, - cRefreshes: INT, - fRelative: BOOL, - ) -> HRESULT; - pub fn DwmQueryThumbnailSourceSize( - hThumbnail: HTHUMBNAIL, - pSize: PSIZE, - ) -> HRESULT; - pub fn DwmRegisterThumbnail( - hwndDestination: HWND, - hwndSource: HWND, - phThumbnailId: PHTHUMBNAIL, - ) -> HRESULT; - pub fn DwmSetDxFrameDuration( - hwnd: HWND, - cRefreshes: INT, - ) -> HRESULT; - pub fn DwmSetPresentParameters( - hwnd: HWND, - pPresentParams: *mut DWM_PRESENT_PARAMETERS, - ) -> HRESULT; - pub fn DwmSetWindowAttribute( - hWnd: HWND, - dwAttribute: DWORD, - pvAttribute: LPCVOID, - cbAttribute: DWORD, - ) -> HRESULT; - pub fn DwmUnregisterThumbnail( - hThumbnailId: HTHUMBNAIL, - ) -> HRESULT; - pub fn DwmUpdateThumbnailProperties( - hThumbnailId: HTHUMBNAIL, - ptnProperties: *const DWM_THUMBNAIL_PROPERTIES, - ) -> HRESULT; -} -pub const DWM_SIT_DISPLAYFRAME: DWORD = 0x00000001; -extern "system" { - pub fn DwmSetIconicThumbnail( - hwnd: HWND, - hbmp: HBITMAP, - dwSITFlags: DWORD, - ) -> HRESULT; - pub fn DwmSetIconicLivePreviewBitmap( - hwnd: HWND, - hbmp: HBITMAP, - pptClient: *mut POINT, - dwSITFlags: DWORD, - ) -> HRESULT; - pub fn DwmInvalidateIconicBitmaps( - hwnd: HWND, - ) -> HRESULT; - // pub fn DwmAttachMilContent(hwnd: HWND) -> HRESULT; - // pub fn DwmDetachMilContent(hwnd: HWND) -> HRESULT; - pub fn DwmFlush() -> HRESULT; - // pub fn DwmGetGraphicsStreamTransformHint(); - // pub fn DwmGetGraphicsStreamClient(); - pub fn DwmGetTransportAttributes( - pfIsRemoting: *mut BOOL, - pfIsConnected: *mut BOOL, - pDwGeneration: *mut DWORD, - ) -> HRESULT; -} -ENUM!{enum DWMTRANSITION_OWNEDWINDOW_TARGET { - DWMTRANSITION_OWNEDWINDOW_NULL = -1i32 as u32, - DWMTRANSITION_OWNEDWINDOW_REPOSITION = 0, -}} -extern "system" { - pub fn DwmTransitionOwnedWindow( - hwnd: HWND, - target: DWMTRANSITION_OWNEDWINDOW_TARGET, - ) -> HRESULT; -} -ENUM!{enum GESTURE_TYPE { - GT_PEN_TAP = 0, - GT_PEN_DOUBLETAP = 1, - GT_PEN_RIGHTTAP = 2, - GT_PEN_PRESSANDHOLD = 3, - GT_PEN_PRESSANDHOLDABORT = 4, - GT_TOUCH_TAP = 5, - GT_TOUCH_DOUBLETAP = 6, - GT_TOUCH_RIGHTTAP = 7, - GT_TOUCH_PRESSANDHOLD = 8, - GT_TOUCH_PRESSANDHOLDABORT = 9, - GT_TOUCH_PRESSANDTAP = 10, -}} -extern "system" { - pub fn DwmRenderGesture( - gt: GESTURE_TYPE, - cContacts: UINT, - pdwPointerID: *const DWORD, - pPoints: *const POINT, - ) -> HRESULT; - pub fn DwmTetherContact( - dwPointerID: DWORD, - fEnable: BOOL, - ptTether: POINT, - ) -> HRESULT; -} -ENUM!{enum DWM_SHOWCONTACT { - DWMSC_DOWN = 0x00000001, - DWMSC_UP = 0x00000002, - DWMSC_DRAG = 0x00000004, - DWMSC_HOLD = 0x00000008, - DWMSC_PENBARREL = 0x00000010, - DWMSC_NONE = 0x00000000, - DWMSC_ALL = 0xFFFFFFFF, -}} -extern "system" { - pub fn DwmShowContact( - dwPointerID: DWORD, - eShowContact: DWM_SHOWCONTACT, - ) -> HRESULT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dwrite.rs b/vendor/registry-40351f815f426200/winapi/src/um/dwrite.rs deleted file mode 100644 index b21cd6f8d..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dwrite.rs +++ /dev/null @@ -1,1477 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! DirectX Typography Services public API definitions. -use ctypes::c_void; -use shared::basetsd::{INT16, INT32, UINT16, UINT32, UINT64, UINT8}; -use shared::guiddef::REFIID; -use shared::minwindef::{BOOL, BYTE, FILETIME, FLOAT}; -use shared::windef::{COLORREF, HDC, HMONITOR, RECT, SIZE}; -use shared::winerror::SEVERITY_ERROR; -use um::d2d1::ID2D1SimplifiedGeometrySink; -use um::dcommon::DWRITE_MEASURING_MODE; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::wingdi::LOGFONTW; -use um::winnt::{HRESULT, WCHAR}; -ENUM!{enum DWRITE_FONT_FILE_TYPE { - DWRITE_FONT_FILE_TYPE_UNKNOWN, - DWRITE_FONT_FILE_TYPE_CFF, - DWRITE_FONT_FILE_TYPE_TRUETYPE, - DWRITE_FONT_FILE_TYPE_OPENTYPE_COLLECTION, - DWRITE_FONT_FILE_TYPE_TYPE1_PFM, - DWRITE_FONT_FILE_TYPE_TYPE1_PFB, - DWRITE_FONT_FILE_TYPE_VECTOR, - DWRITE_FONT_FILE_TYPE_BITMAP, - DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION = DWRITE_FONT_FILE_TYPE_OPENTYPE_COLLECTION, -}} -ENUM!{enum DWRITE_FONT_FACE_TYPE { - DWRITE_FONT_FACE_TYPE_CFF, - DWRITE_FONT_FACE_TYPE_TRUETYPE, - DWRITE_FONT_FACE_TYPE_OPENTYPE_COLLECTION, - DWRITE_FONT_FACE_TYPE_TYPE1, - DWRITE_FONT_FACE_TYPE_VECTOR, - DWRITE_FONT_FACE_TYPE_BITMAP, - DWRITE_FONT_FACE_TYPE_UNKNOWN, - DWRITE_FONT_FACE_TYPE_RAW_CFF, - DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION = DWRITE_FONT_FACE_TYPE_OPENTYPE_COLLECTION, -}} -ENUM!{enum DWRITE_FONT_SIMULATIONS { - DWRITE_FONT_SIMULATIONS_NONE = 0x0000, - DWRITE_FONT_SIMULATIONS_BOLD = 0x0001, - DWRITE_FONT_SIMULATIONS_OBLIQUE = 0x0002, -}} -ENUM!{enum DWRITE_FONT_WEIGHT { - DWRITE_FONT_WEIGHT_THIN = 100, - DWRITE_FONT_WEIGHT_EXTRA_LIGHT = 200, - DWRITE_FONT_WEIGHT_ULTRA_LIGHT = 200, - DWRITE_FONT_WEIGHT_LIGHT = 300, - DWRITE_FONT_WEIGHT_SEMI_LIGHT = 350, - DWRITE_FONT_WEIGHT_NORMAL = 400, - DWRITE_FONT_WEIGHT_REGULAR = 400, - DWRITE_FONT_WEIGHT_MEDIUM = 500, - DWRITE_FONT_WEIGHT_DEMI_BOLD = 600, - DWRITE_FONT_WEIGHT_SEMI_BOLD = 600, - DWRITE_FONT_WEIGHT_BOLD = 700, - DWRITE_FONT_WEIGHT_EXTRA_BOLD = 800, - DWRITE_FONT_WEIGHT_ULTRA_BOLD = 800, - DWRITE_FONT_WEIGHT_BLACK = 900, - DWRITE_FONT_WEIGHT_HEAVY = 900, - DWRITE_FONT_WEIGHT_EXTRA_BLACK = 950, - DWRITE_FONT_WEIGHT_ULTRA_BLACK = 950, -}} -ENUM!{enum DWRITE_FONT_STRETCH { - DWRITE_FONT_STRETCH_UNDEFINED = 0, - DWRITE_FONT_STRETCH_ULTRA_CONDENSED = 1, - DWRITE_FONT_STRETCH_EXTRA_CONDENSED = 2, - DWRITE_FONT_STRETCH_CONDENSED = 3, - DWRITE_FONT_STRETCH_SEMI_CONDENSED = 4, - DWRITE_FONT_STRETCH_NORMAL = 5, - DWRITE_FONT_STRETCH_MEDIUM = 5, - DWRITE_FONT_STRETCH_SEMI_EXPANDED = 6, - DWRITE_FONT_STRETCH_EXPANDED = 7, - DWRITE_FONT_STRETCH_EXTRA_EXPANDED = 8, - DWRITE_FONT_STRETCH_ULTRA_EXPANDED = 9, -}} -ENUM!{enum DWRITE_FONT_STYLE { - DWRITE_FONT_STYLE_NORMAL, - DWRITE_FONT_STYLE_OBLIQUE, - DWRITE_FONT_STYLE_ITALIC, -}} -ENUM!{enum DWRITE_INFORMATIONAL_STRING_ID { - DWRITE_INFORMATIONAL_STRING_NONE, - DWRITE_INFORMATIONAL_STRING_COPYRIGHT_NOTICE, - DWRITE_INFORMATIONAL_STRING_VERSION_STRINGS, - DWRITE_INFORMATIONAL_STRING_TRADEMARK, - DWRITE_INFORMATIONAL_STRING_MANUFACTURER, - DWRITE_INFORMATIONAL_STRING_DESIGNER, - DWRITE_INFORMATIONAL_STRING_DESIGNER_URL, - DWRITE_INFORMATIONAL_STRING_DESCRIPTION, - DWRITE_INFORMATIONAL_STRING_FONT_VENDOR_URL, - DWRITE_INFORMATIONAL_STRING_LICENSE_DESCRIPTION, - DWRITE_INFORMATIONAL_STRING_LICENSE_INFO_URL, - DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES, - DWRITE_INFORMATIONAL_STRING_WIN32_SUBFAMILY_NAMES, - DWRITE_INFORMATIONAL_STRING_PREFERRED_FAMILY_NAMES, - DWRITE_INFORMATIONAL_STRING_PREFERRED_SUBFAMILY_NAMES, - DWRITE_INFORMATIONAL_STRING_SAMPLE_TEXT, - DWRITE_INFORMATIONAL_STRING_FULL_NAME, - DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_NAME, - DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_CID_NAME, - DWRITE_INFORMATIONAL_STRING_WWS_FAMILY_NAME, - DWRITE_INFORMATIONAL_STRING_DESIGN_SCRIPT_LANGUAGE_TAG, - DWRITE_INFORMATIONAL_STRING_SUPPORTED_SCRIPT_LANGUAGE_TAG, -}} -STRUCT!{struct DWRITE_FONT_METRICS { - designUnitsPerEm: UINT16, - ascent: UINT16, - descent: UINT16, - lineGap: INT16, - capHeight: UINT16, - xHeight: UINT16, - underlinePosition: INT16, - underlineThickness: UINT16, - strikethroughPosition: INT16, - strikethroughThickness: UINT16, -}} -STRUCT!{struct DWRITE_GLYPH_METRICS { - leftSideBearing: INT32, - advanceWidth: UINT32, - rightSideBearing: INT32, - topSideBearing: INT32, - advanceHeight: UINT32, - bottomSideBearing: INT32, - verticalOriginY: INT32, -}} -STRUCT!{struct DWRITE_GLYPH_OFFSET { - advanceOffset: FLOAT, - ascenderOffset: FLOAT, -}} -ENUM!{enum DWRITE_FACTORY_TYPE { - DWRITE_FACTORY_TYPE_SHARED, - DWRITE_FACTORY_TYPE_ISOLATED, -}} -RIDL!{#[uuid(0x727cad4e, 0xd6af, 0x4c9e, 0x8a, 0x08, 0xd6, 0x95, 0xb1, 0x1c, 0xaa, 0x49)] -interface IDWriteFontFileLoader(IDWriteFontFileLoaderVtbl): IUnknown(IUnknownVtbl) { - fn CreateStreamFromKey( - fontFileReferenceKey: *const c_void, - fontFileReferenceKeySize: UINT32, - fontFileStream: *mut *mut IDWriteFontFileStream, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xb2d9f3ec, 0xc9fe, 0x4a11, 0xa2, 0xec, 0xd8, 0x62, 0x08, 0xf7, 0xc0, 0xa2)] -interface IDWriteLocalFontFileLoader(IDWriteLocalFontFileLoaderVtbl): - IDWriteFontFileLoader(IDWriteFontFileLoaderVtbl) { - fn GetFilePathLengthFromKey( - fontFileReferenceKey: *const c_void, - fontFileReferenceKeySize: UINT32, - filePathLength: *mut UINT32, - ) -> HRESULT, - fn GetFilePathFromKey( - fontFileReferenceKey: *const c_void, - fontFileReferenceKeySize: UINT32, - filePath: *mut WCHAR, - filePathSize: UINT32, - ) -> HRESULT, - fn GetLastWriteTimeFromKey( - fontFileReferenceKey: *const c_void, - fontFileReferenceKeySize: UINT32, - lastWriteTime: *mut FILETIME, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x6d4865fe, 0x0ab8, 0x4d91, 0x8f, 0x62, 0x5d, 0xd6, 0xbe, 0x34, 0xa3, 0xe0)] -interface IDWriteFontFileStream(IDWriteFontFileStreamVtbl): IUnknown(IUnknownVtbl) { - fn ReadFileFragment( - fragmentStart: *mut *const c_void, - fileOffset: UINT64, - fragmentSize: UINT64, - fragmentContext: *mut *mut c_void, - ) -> HRESULT, - fn ReleaseFileFragment( - fragmentContext: *mut c_void, - ) -> (), - fn GetFileSize( - fileSize: *mut UINT64, - ) -> HRESULT, - fn GetLastWriteTime( - lastWriteTime: *mut UINT64, - ) -> HRESULT, -}} -ENUM!{enum DWRITE_OUTLINE_THRESHOLD { - DWRITE_OUTLINE_THRESHOLD_ANTIALIASED, - DWRITE_OUTLINE_THRESHOLD_ALIASED, -}} -STRUCT!{struct DWRITE_FONT_METRICS1 { - designUnitsPerEm: UINT16, - ascent: UINT16, - descent: UINT16, - lineGap: INT16, - capHeight: UINT16, - xHeight: UINT16, - underlinePosition: INT16, - underlineThickness: UINT16, - strikethroughPosition: INT16, - strikethroughThickness: UINT16, - glyphBoxLeft: INT16, - glyphBoxTop: INT16, - glyphBoxRight: INT16, - glyphBoxBottom: INT16, - subscriptPositionX: INT16, - subscriptPositionY: INT16, - subscriptSizeX: INT16, - subscriptSizeY: INT16, - superscriptPositionX: INT16, - superscriptPositionY: INT16, - superscriptSizeX: INT16, - superscriptSizeY: INT16, - hasTypographicMetrics: BOOL, -}} -STRUCT!{struct DWRITE_UNICODE_RANGE { - first: UINT32, - last: UINT32, -}} -STRUCT!{struct DWRITE_CARET_METRICS { - slopeRise: INT16, - slopeRun: INT16, - offset: INT16, -}} -#[inline] -pub fn DWRITE_MAKE_OPENTYPE_TAG(a: u8, b: u8, c: u8, d: u8) -> u32 { - ((d as u32) << 24) | ((c as u32) << 16) | ((b as u32) << 8) | (a as u32) -} -RIDL!{#[uuid(0x739d886a, 0xcef5, 0x47dc, 0x87, 0x69, 0x1a, 0x8b, 0x41, 0xbe, 0xbb, 0xb0)] -interface IDWriteFontFile(IDWriteFontFileVtbl): IUnknown(IUnknownVtbl) { - fn GetReferenceKey( - fontFileReferenceKey: *mut *const c_void, - fontFileReferenceKeySize: *mut UINT32, - ) -> HRESULT, - fn GetLoader( - fontFileLoader: *mut *mut IDWriteFontFileLoader, - ) -> HRESULT, - fn Analyze( - isSupportedFontType: *mut BOOL, - fontFileType: *mut DWRITE_FONT_FILE_TYPE, - fontFaceType: *mut DWRITE_FONT_FACE_TYPE, - numberOfFaces: *mut UINT32, - ) -> HRESULT, -}} -ENUM!{enum DWRITE_PIXEL_GEOMETRY { - DWRITE_PIXEL_GEOMETRY_FLAT, - DWRITE_PIXEL_GEOMETRY_RGB, - DWRITE_PIXEL_GEOMETRY_BGR, -}} -ENUM!{enum DWRITE_RENDERING_MODE { - DWRITE_RENDERING_MODE_DEFAULT, - DWRITE_RENDERING_MODE_ALIASED, - DWRITE_RENDERING_MODE_GDI_CLASSIC, - DWRITE_RENDERING_MODE_GDI_NATURAL, - DWRITE_RENDERING_MODE_NATURAL, - DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC, - DWRITE_RENDERING_MODE_OUTLINE, - DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC = DWRITE_RENDERING_MODE_GDI_CLASSIC, - DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL = DWRITE_RENDERING_MODE_GDI_NATURAL, - DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL = DWRITE_RENDERING_MODE_NATURAL, - DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC = DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC, -}} -STRUCT!{struct DWRITE_MATRIX { - m11: FLOAT, - m12: FLOAT, - m21: FLOAT, - m22: FLOAT, - dx: FLOAT, - dy: FLOAT, -}} -RIDL!{#[uuid(0x2f0da53a, 0x2add, 0x47cd, 0x82, 0xee, 0xd9, 0xec, 0x34, 0x68, 0x8e, 0x75)] -interface IDWriteRenderingParams(IDWriteRenderingParamsVtbl): IUnknown(IUnknownVtbl) { - fn GetGamma() -> FLOAT, - fn GetEnhancedContrast() -> FLOAT, - fn GetClearTypeLevel() -> FLOAT, - fn GetPixelGeometry() -> DWRITE_PIXEL_GEOMETRY, - fn GetRenderingMode() -> DWRITE_RENDERING_MODE, -}} -pub type IDWriteGeometrySink = ID2D1SimplifiedGeometrySink; -RIDL!{#[uuid(0x5f49804d, 0x7024, 0x4d43, 0xbf, 0xa9, 0xd2, 0x59, 0x84, 0xf5, 0x38, 0x49)] -interface IDWriteFontFace(IDWriteFontFaceVtbl): IUnknown(IUnknownVtbl) { - fn GetType() -> DWRITE_FONT_FACE_TYPE, - fn GetFiles( - numberOfFiles: *mut UINT32, - fontFiles: *mut *mut IDWriteFontFile, - ) -> HRESULT, - fn GetIndex() -> UINT32, - fn GetSimulations() -> DWRITE_FONT_SIMULATIONS, - fn IsSymbolFont() -> BOOL, - fn GetMetrics( - fontFaceMetrics: *mut DWRITE_FONT_METRICS, - ) -> (), - fn GetGlyphCount() -> UINT16, - fn GetDesignGlyphMetrics( - glyphIndices: *const UINT16, - glyphCount: UINT32, - glyphMetrics: *mut DWRITE_GLYPH_METRICS, - isSideways: BOOL, - ) -> HRESULT, - fn GetGlyphIndices( - codePoints: *const UINT32, - codePointCount: UINT32, - glyphIndices: *mut UINT16, - ) -> HRESULT, - fn TryGetFontTable( - openTypeTableTag: UINT32, - tableData: *mut *const c_void, - tableSize: *mut UINT32, - tableContext: *mut *mut c_void, - exists: *mut BOOL, - ) -> HRESULT, - fn ReleaseFontTable( - tableContext: *mut c_void, - ) -> HRESULT, - fn GetGlyphRunOutline( - emSize: FLOAT, - glyphIndices: *const UINT16, - glyphAdvances: *const FLOAT, - glyphOffsets: *const DWRITE_GLYPH_OFFSET, - glyphCount: UINT32, - isSideways: BOOL, - isRightToLeft: BOOL, - geometrySink: *mut IDWriteGeometrySink, - ) -> HRESULT, - fn GetRecommendedRenderingMode( - emSize: FLOAT, - pixelsPerDip: FLOAT, - measuringMode: DWRITE_MEASURING_MODE, - renderingParams: *mut IDWriteRenderingParams, - renderingMode: *mut DWRITE_RENDERING_MODE, - ) -> HRESULT, - fn GetGdiCompatibleMetrics( - emSize: FLOAT, - pixelsPerDip: FLOAT, - transform: *const DWRITE_MATRIX, - fontFaceMetrics: *mut DWRITE_FONT_METRICS, - ) -> HRESULT, - fn GetGdiCompatibleGlyphMetrics( - enSize: FLOAT, - pixelsPerDip: FLOAT, - transform: *const DWRITE_MATRIX, - useGdiNatrual: BOOL, - glyphIndices: *const UINT16, - glyphCount: UINT32, - glyphMetrics: *mut DWRITE_GLYPH_METRICS, - isSideways: BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa71efdb4, 0x9fdb, 0x4838, 0xad, 0x90, 0xcf, 0xc3, 0xbe, 0x8c, 0x3d, 0xaf)] -interface IDWriteFontFace1(IDWriteFontFace1Vtbl): IDWriteFontFace(IDWriteFontFaceVtbl) { - fn GetMetrics( - fontFaceMetrics: *mut DWRITE_FONT_METRICS1, - ) -> (), - fn GetGdiCompatibleMetrics( - emSize: FLOAT, - pixelsPerDip: FLOAT, - transform: *const DWRITE_MATRIX, - fontFaceMetrics: *mut DWRITE_FONT_METRICS1, - ) -> HRESULT, - fn GetCaretMetrics( - caretMetrics: *mut DWRITE_CARET_METRICS, - ) -> (), - fn GetUnicodeRanges( - maxRangeCount: UINT32, - unicodeRanges: *mut DWRITE_UNICODE_RANGE, - actualRangeCount: *mut UINT32, - ) -> HRESULT, - fn IsMonoSpacedFont() -> BOOL, - fn GetDesignGlyphAdvances( - glyphCount: UINT32, - glyphIndices: *const UINT16, - glyphAdvances: *mut INT32, - isSideways: BOOL, - ) -> HRESULT, - fn GetGdiCompatibleGlyphAdvance( - emSize: FLOAT, - pixelsPerDip: FLOAT, - transform: *const DWRITE_MATRIX, - useGdiNatural: BOOL, - isSideways: BOOL, - glyphCount: UINT32, - glyphIndices: *const UINT16, - glyphAdvances: *mut INT32, - ) -> HRESULT, - fn GetKerningPairAdjustments( - glyphCount: UINT32, - glyphIndices: *const UINT16, - glyphAdvanceAdjustments: *mut INT32, - ) -> HRESULT, - fn HasKerningPairs() -> BOOL, - fn GetRecommendedRenderingMode( - fontEmSize: FLOAT, - dpiX: FLOAT, - dpiY: FLOAT, - transform: *const DWRITE_MATRIX, - isSideways: BOOL, - outlineThreshold: DWRITE_OUTLINE_THRESHOLD, - measuringMode: DWRITE_MEASURING_MODE, - renderingMode: *mut DWRITE_RENDERING_MODE, - ) -> HRESULT, - fn GetVerticalGlyphVariants( - nominalGlyphIndices: *const UINT16, - verticalGlyphIndices: *mut UINT16, - ) -> HRESULT, - fn HasVerticalGlyphVariants() -> BOOL, -}} -RIDL!{#[uuid(0xcca920e4, 0x52f0, 0x492b, 0xbf, 0xa8, 0x29, 0xc7, 0x2e, 0xe0, 0xa4, 0x68)] -interface IDWriteFontCollectionLoader(IDWriteFontCollectionLoaderVtbl): - IUnknown(IUnknownVtbl) { - fn CreateEnumeratorFromKey( - factory: *mut IDWriteFactory, - collectionKey: *const c_void, - collectionKeySize: UINT32, - fontFileEnumerator: *mut *mut IDWriteFontFileEnumerator, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x72755049, 0x5ff7, 0x435d, 0x83, 0x48, 0x4b, 0xe9, 0x7c, 0xfa, 0x6c, 0x7c)] -interface IDWriteFontFileEnumerator(IDWriteFontFileEnumeratorVtbl): IUnknown(IUnknownVtbl) { - fn MoveNext( - hasCurrentFile: *mut BOOL, - ) -> HRESULT, - fn GetCurrentFontFile( - fontFile: *mut *mut IDWriteFontFile, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x08256209, 0x099a, 0x4b34, 0xb8, 0x6d, 0xc2, 0x2b, 0x11, 0x0e, 0x77, 0x71)] -interface IDWriteLocalizedStrings(IDWriteLocalizedStringsVtbl): IUnknown(IUnknownVtbl) { - fn GetCount() -> UINT32, - fn FindLocaleName( - localeName: *const WCHAR, - index: *mut UINT32, - exists: *mut BOOL, - ) -> HRESULT, - fn GetLocaleNameLength( - index: UINT32, - length: *mut UINT32, - ) -> HRESULT, - fn GetLocaleName( - index: UINT32, - localeName: *mut WCHAR, - size: UINT32, - ) -> HRESULT, - fn GetStringLength( - index: UINT32, - length: *mut UINT32, - ) -> HRESULT, - fn GetString( - index: UINT32, - stringBuffer: *mut WCHAR, - size: UINT32, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa84cee02, 0x3eea, 0x4eee, 0xa8, 0x27, 0x87, 0xc1, 0xa0, 0x2a, 0x0f, 0xcc)] -interface IDWriteFontCollection(IDWriteFontCollectionVtbl): IUnknown(IUnknownVtbl) { - fn GetFontFamilyCount() -> UINT32, - fn GetFontFamily( - index: UINT32, - fontFamily: *mut *mut IDWriteFontFamily, - ) -> HRESULT, - fn FindFamilyName( - familyName: *const WCHAR, - index: *mut UINT32, - exists: *mut BOOL, - ) -> HRESULT, - fn GetFontFromFontFace( - fontFace: *mut IDWriteFontFace, - font: *mut *mut IDWriteFont, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x1a0d8438, 0x1d97, 0x4ec1, 0xae, 0xf9, 0xa2, 0xfb, 0x86, 0xed, 0x6a, 0xcb)] -interface IDWriteFontList(IDWriteFontListVtbl): IUnknown(IUnknownVtbl) { - fn GetFontCollection( - fontCollection: *mut *mut IDWriteFontCollection, - ) -> HRESULT, - fn GetFontCount() -> UINT32, - fn GetFont( - index: UINT32, - font: *mut *mut IDWriteFont, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xda20d8ef, 0x812a, 0x4c43, 0x98, 0x02, 0x62, 0xec, 0x4a, 0xbd, 0x7a, 0xdd)] -interface IDWriteFontFamily(IDWriteFontFamilyVtbl): IDWriteFontList(IDWriteFontListVtbl) { - fn GetFamilyNames( - names: *mut *mut IDWriteLocalizedStrings, - ) -> HRESULT, - fn GetFirstMatchingFont( - weight: DWRITE_FONT_WEIGHT, - stretch: DWRITE_FONT_STRETCH, - style: DWRITE_FONT_STYLE, - matchingFont: *mut *mut IDWriteFont, - ) -> HRESULT, - fn GetMatchingFonts( - weight: DWRITE_FONT_WEIGHT, - stretch: DWRITE_FONT_STRETCH, - style: DWRITE_FONT_STYLE, - matchingFonts: *mut *mut IDWriteFontList, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xacd16696, 0x8c14, 0x4f5d, 0x87, 0x7e, 0xfe, 0x3f, 0xc1, 0xd3, 0x27, 0x37)] -interface IDWriteFont(IDWriteFontVtbl): IUnknown(IUnknownVtbl) { - fn GetFontFamily( - fontFamily: *mut *mut IDWriteFontFamily, - ) -> HRESULT, - fn GetWeight() -> DWRITE_FONT_WEIGHT, - fn GetStretch() -> DWRITE_FONT_STRETCH, - fn GetStyle() -> DWRITE_FONT_STYLE, - fn IsSymbolFont() -> BOOL, - fn GetFaceNames( - names: *mut *mut IDWriteLocalizedStrings, - ) -> HRESULT, - fn GetInformationalStrings( - informationalStringId: DWRITE_INFORMATIONAL_STRING_ID, - informationalStrings: *mut *mut IDWriteLocalizedStrings, - exists: *mut BOOL, - ) -> HRESULT, - fn GetSimulations() -> DWRITE_FONT_SIMULATIONS, - fn GetMetrics( - fontMetrics: *mut DWRITE_FONT_METRICS, - ) -> (), - fn HasCharacter( - unicodeValue: UINT32, - exists: *mut BOOL, - ) -> HRESULT, - fn CreateFontFace( - fontFace: *mut *mut IDWriteFontFace, - ) -> HRESULT, -}} -ENUM!{enum DWRITE_READING_DIRECTION { - DWRITE_READING_DIRECTION_LEFT_TO_RIGHT = 0, - DWRITE_READING_DIRECTION_RIGHT_TO_LEFT = 1, - DWRITE_READING_DIRECTION_TOP_TO_BOTTOM = 2, - DWRITE_READING_DIRECTION_BOTTOM_TO_TOP = 3, -}} -ENUM!{enum DWRITE_FLOW_DIRECTION { - DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM = 0, - DWRITE_FLOW_DIRECTION_BOTTOM_TO_TOP = 1, - DWRITE_FLOW_DIRECTION_LEFT_TO_RIGHT = 2, - DWRITE_FLOW_DIRECTION_RIGHT_TO_LEFT = 3, -}} -ENUM!{enum DWRITE_TEXT_ALIGNMENT { - DWRITE_TEXT_ALIGNMENT_LEADING, - DWRITE_TEXT_ALIGNMENT_TRAILING, - DWRITE_TEXT_ALIGNMENT_CENTER, - DWRITE_TEXT_ALIGNMENT_JUSTIFIED, -}} -ENUM!{enum DWRITE_PARAGRAPH_ALIGNMENT { - DWRITE_PARAGRAPH_ALIGNMENT_NEAR, - DWRITE_PARAGRAPH_ALIGNMENT_FAR, - DWRITE_PARAGRAPH_ALIGNMENT_CENTER, -}} -ENUM!{enum DWRITE_WORD_WRAPPING { - DWRITE_WORD_WRAPPING_WRAP = 0, - DWRITE_WORD_WRAPPING_NO_WRAP = 1, - DWRITE_WORD_WRAPPING_EMERGENCY_BREAK = 2, - DWRITE_WORD_WRAPPING_WHOLE_WORD = 3, - DWRITE_WORD_WRAPPING_CHARACTER = 4, -}} -ENUM!{enum DWRITE_LINE_SPACING_METHOD { - DWRITE_LINE_SPACING_METHOD_DEFAULT, - DWRITE_LINE_SPACING_METHOD_UNIFORM, - DWRITE_LINE_SPACING_METHOD_PROPORTIONAL, -}} -ENUM!{enum DWRITE_TRIMMING_GRANULARITY { - DWRITE_TRIMMING_GRANULARITY_NONE, - DWRITE_TRIMMING_GRANULARITY_CHARACTER, - DWRITE_TRIMMING_GRANULARITY_WORD, -}} -ENUM!{enum DWRITE_FONT_FEATURE_TAG { - DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS = 0x63726661, // 'afrc' - DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS = 0x63703263, // 'c2pc' - DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS = 0x63733263, // 'c2sc' - DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES = 0x746c6163, // 'calt' - DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS = 0x65736163, // 'case' - DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION = 0x706d6363, // 'ccmp' - DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES = 0x67696c63, // 'clig' - DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING = 0x70737063, // 'cpsp' - DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH = 0x68777363, // 'cswh' - DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING = 0x73727563, // 'curs' - DWRITE_FONT_FEATURE_TAG_DEFAULT = 0x746c6664, // 'dflt' - DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES = 0x67696c64, // 'dlig' - DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS = 0x74707865, // 'expt' - DWRITE_FONT_FEATURE_TAG_FRACTIONS = 0x63617266, // 'frac' - DWRITE_FONT_FEATURE_TAG_FULL_WIDTH = 0x64697766, // 'fwid' - DWRITE_FONT_FEATURE_TAG_HALF_FORMS = 0x666c6168, // 'half' - DWRITE_FONT_FEATURE_TAG_HALANT_FORMS = 0x6e6c6168, // 'haln' - DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH = 0x746c6168, // 'halt' - DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS = 0x74736968, // 'hist' - DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES = 0x616e6b68, // 'hkna' - DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES = 0x67696c68, // 'hlig' - DWRITE_FONT_FEATURE_TAG_HALF_WIDTH = 0x64697768, // 'hwid' - DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS = 0x6f6a6f68, // 'hojo' - DWRITE_FONT_FEATURE_TAG_JIS04_FORMS = 0x3430706a, // 'jp04' - DWRITE_FONT_FEATURE_TAG_JIS78_FORMS = 0x3837706a, // 'jp78' - DWRITE_FONT_FEATURE_TAG_JIS83_FORMS = 0x3338706a, // 'jp83' - DWRITE_FONT_FEATURE_TAG_JIS90_FORMS = 0x3039706a, // 'jp90' - DWRITE_FONT_FEATURE_TAG_KERNING = 0x6e72656b, // 'kern' - DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES = 0x6167696c, // 'liga' - DWRITE_FONT_FEATURE_TAG_LINING_FIGURES = 0x6d756e6c, // 'lnum' - DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS = 0x6c636f6c, // 'locl' - DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING = 0x6b72616d, // 'mark' - DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK = 0x6b72676d, // 'mgrk' - DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING = 0x6b6d6b6d, // 'mkmk' - DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS = 0x746c616e, // 'nalt' - DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS = 0x6b636c6e, // 'nlck' - DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES = 0x6d756e6f, // 'onum' - DWRITE_FONT_FEATURE_TAG_ORDINALS = 0x6e64726f, // 'ordn' - DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH = 0x746c6170, // 'palt' - DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS = 0x70616370, // 'pcap' - DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES = 0x6d756e70, // 'pnum' - DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS = 0x64697770, // 'pwid' - DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS = 0x64697771, // 'qwid' - DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES = 0x67696c72, // 'rlig' - DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS = 0x79627572, // 'ruby' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES = 0x746c6173, // 'salt' - DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS = 0x666e6973, // 'sinf' - DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS = 0x70636d73, // 'smcp' - DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS = 0x6c706d73, // 'smpl' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1 = 0x31307373, // 'ss01' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2 = 0x32307373, // 'ss02' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3 = 0x33307373, // 'ss03' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4 = 0x34307373, // 'ss04' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5 = 0x35307373, // 'ss05' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6 = 0x36307373, // 'ss06' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7 = 0x37307373, // 'ss07' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8 = 0x38307373, // 'ss08' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9 = 0x39307373, // 'ss09' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10 = 0x30317373, // 'ss10' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11 = 0x31317373, // 'ss11' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12 = 0x32317373, // 'ss12' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13 = 0x33317373, // 'ss13' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14 = 0x34317373, // 'ss14' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15 = 0x35317373, // 'ss15' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16 = 0x36317373, // 'ss16' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17 = 0x37317373, // 'ss17' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18 = 0x38317373, // 'ss18' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19 = 0x39317373, // 'ss19' - DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20 = 0x30327373, // 'ss20' - DWRITE_FONT_FEATURE_TAG_SUBSCRIPT = 0x73627573, // 'subs' - DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT = 0x73707573, // 'sups' - DWRITE_FONT_FEATURE_TAG_SWASH = 0x68737773, // 'swsh' - DWRITE_FONT_FEATURE_TAG_TITLING = 0x6c746974, // 'titl' - DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS = 0x6d616e74, // 'tnam' - DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES = 0x6d756e74, // 'tnum' - DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS = 0x64617274, // 'trad' - DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS = 0x64697774, // 'twid' - DWRITE_FONT_FEATURE_TAG_UNICASE = 0x63696e75, // 'unic' - DWRITE_FONT_FEATURE_TAG_VERTICAL_WRITING = 0x74726576, // 'vert' - DWRITE_FONT_FEATURE_TAG_VERTICAL_ALTERNATES_AND_ROTATION = 0x32747276, // 'vrt2' - DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO = 0x6f72657a, // 'zero' -}} -STRUCT!{struct DWRITE_TEXT_RANGE { - startPosition: UINT32, - length: UINT32, -}} -STRUCT!{struct DWRITE_FONT_FEATURE { - nameTag: DWRITE_FONT_FEATURE_TAG, - parameter: UINT32, -}} -STRUCT!{struct DWRITE_TYPOGRAPHIC_FEATURES { - features: *mut DWRITE_FONT_FEATURE, - featureCount: UINT32, -}} -STRUCT!{struct DWRITE_TRIMMING { - granularity: DWRITE_TRIMMING_GRANULARITY, - delimiter: UINT32, - delimiterCount: UINT32, -}} -RIDL!{#[uuid(0x9c906818, 0x31d7, 0x4fd3, 0xa1, 0x51, 0x7c, 0x5e, 0x22, 0x5d, 0xb5, 0x5a)] -interface IDWriteTextFormat(IDWriteTextFormatVtbl): IUnknown(IUnknownVtbl) { - fn SetTextAlignment( - textAlignment: DWRITE_TEXT_ALIGNMENT, - ) -> HRESULT, - fn SetParagraphAlignment( - paragraphAlignment: DWRITE_PARAGRAPH_ALIGNMENT, - ) -> HRESULT, - fn SetWordWrapping( - wordWrapping: DWRITE_WORD_WRAPPING, - ) -> HRESULT, - fn SetReadingDirection( - readingDirection: DWRITE_READING_DIRECTION, - ) -> HRESULT, - fn SetFlowDirection( - flowDirection: DWRITE_FLOW_DIRECTION, - ) -> HRESULT, - fn SetIncrementalTabStop( - incrementalTabStop: FLOAT, - ) -> HRESULT, - fn SetTrimming( - trimmingOptions: *const DWRITE_TRIMMING, - trimmingSign: *mut IDWriteInlineObject, - ) -> HRESULT, - fn SetLineSpacing( - lineSpacingMethod: DWRITE_LINE_SPACING_METHOD, - lineSpacing: FLOAT, - baseLine: FLOAT, - ) -> HRESULT, - fn GetTextAlignment() -> DWRITE_TEXT_ALIGNMENT, - fn GetParagraphAlignment() -> DWRITE_PARAGRAPH_ALIGNMENT, - fn GetWordWrapping() -> DWRITE_WORD_WRAPPING, - fn GetReadingDirection() -> DWRITE_READING_DIRECTION, - fn GetFlowDirection() -> DWRITE_FLOW_DIRECTION, - fn GetIncrementalTabStop() -> FLOAT, - fn GetTrimming( - trimmingOptions: *mut DWRITE_TRIMMING, - trimmingSign: *mut *mut IDWriteInlineObject, - ) -> HRESULT, - fn GetLineSpacing( - lineSpacingMethod: *mut DWRITE_LINE_SPACING_METHOD, - lineSpacing: *mut FLOAT, - baseline: *mut FLOAT, - ) -> HRESULT, - fn GetFontCollection( - fontCollection: *mut *mut IDWriteFontCollection, - ) -> HRESULT, - fn GetFontFamilyNameLength() -> UINT32, - fn GetFontFamilyName( - fontFamilyName: *mut WCHAR, - nameSize: UINT32, - ) -> HRESULT, - fn GetFontWeight() -> DWRITE_FONT_WEIGHT, - fn GetFontStyle() -> DWRITE_FONT_STYLE, - fn GetFontStretch() -> DWRITE_FONT_STRETCH, - fn GetFontSize() -> FLOAT, - fn GetLocaleNameLength() -> UINT32, - fn GetLocaleName( - localeName: *mut WCHAR, - nameSize: UINT32, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x55f1112b, 0x1dc2, 0x4b3c, 0x95, 0x41, 0xf4, 0x68, 0x94, 0xed, 0x85, 0xb6)] -interface IDWriteTypography(IDWriteTypographyVtbl): IUnknown(IUnknownVtbl) { - fn AddFontFeature( - fontFeature: DWRITE_FONT_FEATURE, - ) -> HRESULT, - fn GetFontFeatureCount() -> UINT32, - fn GetFontFeature( - fontFeatureIndex: UINT32, - fontFeature: *mut DWRITE_FONT_FEATURE, - ) -> HRESULT, -}} -ENUM!{enum DWRITE_SCRIPT_SHAPES { - DWRITE_SCRIPT_SHAPES_DEFAULT = 0, - DWRITE_SCRIPT_SHAPES_NO_VISUAL = 1, -}} -STRUCT!{struct DWRITE_SCRIPT_ANALYSIS { - script: UINT16, - shapes: DWRITE_SCRIPT_SHAPES, -}} -ENUM!{enum DWRITE_BREAK_CONDITION { - DWRITE_BREAK_CONDITION_NEUTRAL, - DWRITE_BREAK_CONDITION_CAN_BREAK, - DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, - DWRITE_BREAK_CONDITION_MUST_BREAK, -}} -STRUCT!{struct DWRITE_LINE_BREAKPOINT { - bit_fields: UINT8, -}} -BITFIELD!{DWRITE_LINE_BREAKPOINT bit_fields: UINT8 [ - breakConditionBefore set_breakConditionBefore[0..2], - breakConditionAfter set_breakConditionAfter[2..4], - isWhitespace set_isWhitespace[4..5], - isSoftHyphen set_isSoftHyphen[5..6], - padding set_padding[6..8], -]} -ENUM!{enum DWRITE_NUMBER_SUBSTITUTION_METHOD { - DWRITE_NUMBER_SUBSTITUTION_METHOD_FROM_CULTURE, - DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL, - DWRITE_NUMBER_SUBSTITUTION_METHOD_NONE, - DWRITE_NUMBER_SUBSTITUTION_METHOD_NATIONAL, - DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL, -}} -RIDL!{#[uuid(0x14885cc9, 0xbab0, 0x4f90, 0xb6, 0xed, 0x5c, 0x36, 0x6a, 0x2c, 0xd0, 0x3d)] -interface IDWriteNumberSubstitution(IDWriteNumberSubstitutionVtbl): IUnknown(IUnknownVtbl) {}} -STRUCT!{struct DWRITE_SHAPING_TEXT_PROPERTIES { - bit_fields: UINT16, -}} -BITFIELD!{DWRITE_SHAPING_TEXT_PROPERTIES bit_fields: UINT16 [ - isShapedAlone set_isShapedAlone[0..1], - reserved set_reserved[1..16], -]} -STRUCT!{struct DWRITE_SHAPING_GLYPH_PROPERTIES { - bit_fields: UINT16, -}} -BITFIELD!{DWRITE_SHAPING_GLYPH_PROPERTIES bit_fields: UINT16 [ - justification set_justification[0..4], - isClusterStart set_isClusterStart[4..5], - isDiacritic set_isDiacritic[5..6], - isZeroWidthSpace set_isZeroWidthSpace[6..7], - reserved set_reserved[7..16], -]} -RIDL!{#[uuid(0x688e1a58, 0x5094, 0x47c8, 0xad, 0xc8, 0xfb, 0xce, 0xa6, 0x0a, 0xe9, 0x2b)] -interface IDWriteTextAnalysisSource(IDWriteTextAnalysisSourceVtbl): IUnknown(IUnknownVtbl) { - fn GetTextAtPosition( - textPosition: UINT32, - textString: *mut *const WCHAR, - textLength: *mut UINT32, - ) -> HRESULT, - fn GetTextBeforePosition( - textPosition: UINT32, - textString: *mut *const WCHAR, - textLength: *mut UINT32, - ) -> HRESULT, - fn GetParagraphReadingDirection() -> DWRITE_READING_DIRECTION, - fn GetLocaleName( - textPosition: UINT32, - textLength: *mut UINT32, - localeName: *mut *const WCHAR, - ) -> HRESULT, - fn GetNumberSubstitution( - textPosition: UINT32, - textLength: *mut UINT32, - numberSubstitution: *mut *mut IDWriteNumberSubstitution, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x5810cd44, 0x0ca0, 0x4701, 0xb3, 0xfa, 0xbe, 0xc5, 0x18, 0x2a, 0xe4, 0xf6)] -interface IDWriteTextAnalysisSink(IDWriteTextAnalysisSinkVtbl): IUnknown(IUnknownVtbl) { - fn SetScriptAnalysis( - textPosition: UINT32, - textLength: UINT32, - scriptAnalysis: *const DWRITE_SCRIPT_ANALYSIS, - ) -> HRESULT, - fn SetLineBreakpoints( - textPosition: UINT32, - textLength: UINT32, - lineBreakpoints: *const DWRITE_LINE_BREAKPOINT, - ) -> HRESULT, - fn SetBidiLevel( - textPosition: UINT32, - textLength: UINT32, - explicitLevel: UINT8, - resolvedLevel: UINT8, - ) -> HRESULT, - fn SetNumberSubstitution( - textPosition: UINT32, - textLength: UINT32, - numberSubstitution: *mut IDWriteNumberSubstitution, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xb7e6163e, 0x7f46, 0x43b4, 0x84, 0xb3, 0xe4, 0xe6, 0x24, 0x9c, 0x36, 0x5d)] -interface IDWriteTextAnalyzer(IDWriteTextAnalyzerVtbl): IUnknown(IUnknownVtbl) { - fn AnalyzeScript( - analysisSource: *mut IDWriteTextAnalysisSource, - textPosition: UINT32, - textLength: UINT32, - analysisSink: *mut IDWriteTextAnalysisSink, - ) -> HRESULT, - fn AnalyzeBidi( - analysisSource: *mut IDWriteTextAnalysisSource, - textPosition: UINT32, - textLength: UINT32, - analysisSink: *mut IDWriteTextAnalysisSink, - ) -> HRESULT, - fn AnalyzeNumberSubstitution( - analysisSource: *mut IDWriteTextAnalysisSource, - textPosition: UINT32, - textLength: UINT32, - analysisSink: *mut IDWriteTextAnalysisSink, - ) -> HRESULT, - fn AnalyzeLineBreakpoints( - analysisSource: *mut IDWriteTextAnalysisSource, - textPosition: UINT32, - textLength: UINT32, - analysisSink: *mut IDWriteTextAnalysisSink, - ) -> HRESULT, - fn GetGlyphs( - textString: *const WCHAR, - textLength: UINT32, - fontFace: *mut IDWriteFontFace, - isSideways: BOOL, - isRightToLeft: BOOL, - scriptAnalysis: *const DWRITE_SCRIPT_ANALYSIS, - localeName: *const WCHAR, - numberSubstitution: *mut IDWriteNumberSubstitution, - features: *mut *const DWRITE_TYPOGRAPHIC_FEATURES, - featureRangeLengths: *const UINT32, - featureRanges: UINT32, - maxGlyphCount: UINT32, - clusterMap: *mut UINT16, - textProps: *mut DWRITE_SHAPING_TEXT_PROPERTIES, - glyphIndices: *mut UINT16, - glyphProps: *mut DWRITE_SHAPING_GLYPH_PROPERTIES, - actualGlyphCount: *mut UINT32, - ) -> HRESULT, - fn GetGlyphPlacements( - textString: *const WCHAR, - clusterMap: *const UINT16, - textProps: *mut DWRITE_SHAPING_TEXT_PROPERTIES, - textLength: UINT32, - glyphIndices: *const UINT16, - glyphProps: *const DWRITE_SHAPING_GLYPH_PROPERTIES, - glyphCount: UINT32, - fontFace: *mut IDWriteFontFace, - fontEmSize: FLOAT, - isSideways: BOOL, - isRightToLeft: BOOL, - scriptAnalysis: *const DWRITE_SCRIPT_ANALYSIS, - localeName: *const WCHAR, - features: *mut *const DWRITE_TYPOGRAPHIC_FEATURES, - featureRangeLengths: *const UINT32, - featureRanges: UINT32, - glyphAdvances: *mut FLOAT, - glyphOffsets: *mut DWRITE_GLYPH_OFFSET, - ) -> HRESULT, - fn GetGdiCompatibleGlyphPlacements( - textString: *const WCHAR, - clusterMap: *const UINT16, - textProps: *mut DWRITE_SHAPING_TEXT_PROPERTIES, - textLength: UINT32, - glyphIndices: *const UINT16, - glyphProps: *const DWRITE_SHAPING_GLYPH_PROPERTIES, - glyphCount: UINT32, - fontFace: *mut IDWriteFontFace, - fontEmSize: FLOAT, - pixelsPerDip: FLOAT, - transform: *const DWRITE_MATRIX, - useGdiNatrual: BOOL, - isSideways: BOOL, - isRightToLeft: BOOL, - scriptAnalysis: *const DWRITE_SCRIPT_ANALYSIS, - localeName: *const WCHAR, - features: *mut *const DWRITE_TYPOGRAPHIC_FEATURES, - featureRangeLengths: *const UINT32, - featureRanges: UINT32, - glyphAdvances: *mut FLOAT, - glyphOffsets: *mut DWRITE_GLYPH_OFFSET, - ) -> HRESULT, -}} -STRUCT!{struct DWRITE_GLYPH_RUN { - fontFace: *mut IDWriteFontFace, - fontEmSize: FLOAT, - glyphCount: UINT32, - glyphIndices: *const UINT16, - glyphAdvances: *const FLOAT, - glyphOffsets: *const DWRITE_GLYPH_OFFSET, - isSideways: BOOL, - bidiLevel: UINT32, -}} -STRUCT!{struct DWRITE_GLYPH_RUN_DESCRIPTION { - localeName: *const WCHAR, - string: *const WCHAR, - stringLength: UINT32, - clusterMap: *const UINT16, - textPosition: UINT32, -}} -STRUCT!{struct DWRITE_UNDERLINE { - width: FLOAT, - thickness: FLOAT, - offset: FLOAT, - runHeight: FLOAT, - readingDirection: DWRITE_READING_DIRECTION, - flowDirection: DWRITE_FLOW_DIRECTION, - localeName: *const WCHAR, - measuringMode: DWRITE_MEASURING_MODE, -}} -STRUCT!{struct DWRITE_STRIKETHROUGH { - width: FLOAT, - thickness: FLOAT, - offset: FLOAT, - readingDirection: DWRITE_READING_DIRECTION, - flowDirection: DWRITE_FLOW_DIRECTION, - localeName: *const WCHAR, - measuringMode: DWRITE_MEASURING_MODE, -}} -STRUCT!{struct DWRITE_LINE_METRICS { - length: UINT32, - trailingWhitespaceLength: UINT32, - newlineLength: UINT32, - height: FLOAT, - baseline: FLOAT, - isTrimmed: BOOL, -}} -STRUCT!{struct DWRITE_CLUSTER_METRICS { - width: FLOAT, - length: UINT16, - bit_fields: UINT16, -}} -BITFIELD!{DWRITE_CLUSTER_METRICS bit_fields: UINT16 [ - canWrapLineAfter set_canWrapLineAfter[0..1], - isWhitespace set_isWhitespace[1..2], - isNewline set_isNewline[2..3], - isSoftHyphen set_isSoftHyphen[3..4], - isRightToLeft set_isRightToLeft[4..5], - padding set_padding[5..16], -]} -STRUCT!{struct DWRITE_TEXT_METRICS { - left: FLOAT, - top: FLOAT, - width: FLOAT, - widthIncludingTrailingWhitespace: FLOAT, - height: FLOAT, - layoutWidth: FLOAT, - layoutHeight: FLOAT, - maxBidiReorderingDepth: UINT32, - lineCount: UINT32, -}} -STRUCT!{struct DWRITE_INLINE_OBJECT_METRICS { - width: FLOAT, - height: FLOAT, - baseline: FLOAT, - supportsSideways: BOOL, -}} -STRUCT!{struct DWRITE_OVERHANG_METRICS { - left: FLOAT, - top: FLOAT, - right: FLOAT, - bottom: FLOAT, -}} -STRUCT!{struct DWRITE_HIT_TEST_METRICS { - textPosition: UINT32, - length: UINT32, - left: FLOAT, - top: FLOAT, - width: FLOAT, - height: FLOAT, - bidiLevel: UINT32, - isText: BOOL, - isTrimmed: BOOL, -}} -RIDL!{#[uuid(0x8339fde3, 0x106f, 0x47ab, 0x83, 0x73, 0x1c, 0x62, 0x95, 0xeb, 0x10, 0xb3)] -interface IDWriteInlineObject(IDWriteInlineObjectVtbl): IUnknown(IUnknownVtbl) { - fn Draw( - clientDrawingContext: *mut c_void, - renderer: *mut IDWriteTextRenderer, - originX: FLOAT, - originY: FLOAT, - isSideways: BOOL, - isRightToLeft: BOOL, - clientDrawingEffect: *mut IUnknown, - ) -> HRESULT, - fn GetMetrics( - metrics: *mut DWRITE_INLINE_OBJECT_METRICS, - ) -> HRESULT, - fn GetOverhangMetrics( - overhangs: *mut DWRITE_OVERHANG_METRICS, - ) -> HRESULT, - fn GetBreakConditions( - breakConditionBefore: *mut DWRITE_BREAK_CONDITION, - breakConditionAfter: *mut DWRITE_BREAK_CONDITION, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xeaf3a2da, 0xecf4, 0x4d24, 0xb6, 0x44, 0xb3, 0x4f, 0x68, 0x42, 0x02, 0x4b)] -interface IDWritePixelSnapping(IDWritePixelSnappingVtbl): IUnknown(IUnknownVtbl) { - fn IsPixelSnappingDisabled( - clientDrawingContext: *mut c_void, - isDisabled: *mut BOOL, - ) -> HRESULT, - fn GetCurrentTransform( - clientDrawingContext: *mut c_void, - transform: *mut DWRITE_MATRIX, - ) -> HRESULT, - fn GetPixelsPerDip( - clientDrawingContext: *mut c_void, - pixelsPerDip: *mut FLOAT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xef8a8135, 0x5cc6, 0x45fe, 0x88, 0x25, 0xc5, 0xa0, 0x72, 0x4e, 0xb8, 0x19)] -interface IDWriteTextRenderer(IDWriteTextRendererVtbl): - IDWritePixelSnapping(IDWritePixelSnappingVtbl) { - fn DrawGlyphRun( - clientDrawingContext: *mut c_void, - baselineOriginX: FLOAT, - baselineOriginY: FLOAT, - measuringMode: DWRITE_MEASURING_MODE, - glyphRun: *const DWRITE_GLYPH_RUN, - glyphRunDescription: *const DWRITE_GLYPH_RUN_DESCRIPTION, - clientDrawingEffect: *mut IUnknown, - ) -> HRESULT, - fn DrawUnderline( - clientDrawingContext: *mut c_void, - baselineOriginX: FLOAT, - baselineOriginY: FLOAT, - underline: *const DWRITE_UNDERLINE, - clientDrawingEffect: *mut IUnknown, - ) -> HRESULT, - fn DrawStrikethrough( - clientDrawingContext: *mut c_void, - baselineOriginX: FLOAT, - baselineOriginY: FLOAT, - strikethrough: *const DWRITE_STRIKETHROUGH, - clientDrawingEffect: *mut IUnknown, - ) -> HRESULT, - fn DrawInlineObject( - clientDrawingContext: *mut c_void, - baselineOriginX: FLOAT, - baselineOriginY: FLOAT, - inlineObject: *mut IDWriteInlineObject, - isSideways: BOOL, - isRightToLeft: BOOL, - clientDrawingEffect: *mut IUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x53737037, 0x6d14, 0x410b, 0x9b, 0xfe, 0x0b, 0x18, 0x2b, 0xb7, 0x09, 0x61)] -interface IDWriteTextLayout(IDWriteTextLayoutVtbl): - IDWriteTextFormat(IDWriteTextFormatVtbl) { - fn SetMaxWidth( - maxWidth: FLOAT, - ) -> HRESULT, - fn SetMaxHeight( - maxHeight: FLOAT, - ) -> HRESULT, - fn SetFontCollection( - fontCollection: *mut IDWriteFontCollection, - textRange: DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn SetFontFamilyName( - fontFamilyName: *const WCHAR, - textRange: DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn SetFontWeight( - fontWeight: DWRITE_FONT_WEIGHT, - textRange: DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn SetFontStyle( - fontStyle: DWRITE_FONT_STYLE, - textRange: DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn SetFontStretch( - fontStretch: DWRITE_FONT_STRETCH, - textRange: DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn SetFontSize( - fontSize: FLOAT, - textRange: DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn SetUnderline( - hasUnderline: BOOL, - textRange: DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn SetStrikethrough( - hasStrikethrough: BOOL, - textRange: DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn SetDrawingEffect( - drawingEffect: *mut IUnknown, - textRange: DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn SetInlineObject( - inlineObject: *mut IDWriteInlineObject, - textRange: DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn SetTypography( - typography: *mut IDWriteTypography, - textRange: DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn SetLocaleName( - localeName: *const WCHAR, - textRange: DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn GetMaxWidth() -> FLOAT, - fn GetMaxHeight() -> FLOAT, - fn GetFontCollection( - currentPosition: UINT32, - fontCollection: *mut *mut IDWriteFontCollection, - textRange: *mut DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn GetFontFamilyNameLength( - currentPosition: UINT32, - nameLength: *mut UINT32, - textRange: *mut DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn GetFontFamilyName( - currentPosition: UINT32, - fontFamilyName: *mut WCHAR, - nameSize: UINT32, - textRange: *mut DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn GetFontWeight( - currentPosition: UINT32, - fontWeight: *mut DWRITE_FONT_WEIGHT, - textRange: *mut DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn GetFontStyle( - currentPosition: UINT32, - fontStyle: *mut DWRITE_FONT_STYLE, - textRange: *mut DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn GetFontStretch( - currentPosition: UINT32, - fontStretch: *mut DWRITE_FONT_STRETCH, - textRange: *mut DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn GetFontSize( - currentPosition: UINT32, - fontSize: *mut FLOAT, - textRange: *mut DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn GetUnderline( - currentPosition: UINT32, - hasUnderline: *mut BOOL, - textRange: *mut DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn GetStrikethrough( - currentPosition: UINT32, - hasStrikethrough: *mut BOOL, - textRange: *mut DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn GetDrawingEffect( - currentPosition: UINT32, - drawingEffect: *mut *mut IUnknown, - textRange: *mut DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn GetInlineObject( - currentPosition: UINT32, - inlineObject: *mut *mut IDWriteInlineObject, - textRange: *mut DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn GetTypography( - currentPosition: UINT32, - typography: *mut *mut IDWriteTypography, - textRange: *mut DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn GetLocaleNameLength( - currentPosition: UINT32, - nameLength: *mut UINT32, - textRange: *mut DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn GetLocaleName( - currentPosition: UINT32, - localeName: *mut WCHAR, - nameSize: UINT32, - textRange: *mut DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn Draw( - clientDrawingContext: *mut c_void, - renderer: *mut IDWriteTextRenderer, - originX: FLOAT, - originY: FLOAT, - ) -> HRESULT, - fn GetLineMetrics( - lineMetrics: *mut DWRITE_LINE_METRICS, - maxLineCount: UINT32, - actualLineCount: *mut UINT32, - ) -> HRESULT, - fn GetMetrics( - textMetrics: *mut DWRITE_TEXT_METRICS, - ) -> HRESULT, - fn GetOverhangMetrics( - overhangs: *mut DWRITE_OVERHANG_METRICS, - ) -> HRESULT, - fn GetClusterMetrics( - clusterMetrics: *mut DWRITE_CLUSTER_METRICS, - maxClusterCount: UINT32, - actualClusterCount: *mut UINT32, - ) -> HRESULT, - fn DetermineMinWidth( - minWidth: *mut FLOAT, - ) -> HRESULT, - fn HitTestPoint( - pointX: FLOAT, - pointY: FLOAT, - isTrailingHit: *mut BOOL, - isInside: *mut BOOL, - hitTestMetrics: *mut DWRITE_HIT_TEST_METRICS, - ) -> HRESULT, - fn HitTestTextPosition( - textPosition: UINT32, - isTrailingHit: BOOL, - pointX: *mut FLOAT, - pointY: *mut FLOAT, - hitTestMetrics: *mut DWRITE_HIT_TEST_METRICS, - ) -> HRESULT, - fn HitTestTextRange( - textPosition: UINT32, - textLength: UINT32, - originX: FLOAT, - originY: FLOAT, - hitTestMetrics: *mut DWRITE_HIT_TEST_METRICS, - maxHitTestMetricsCount: UINT32, - actualHitTestMetricsCount: *mut UINT32, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x5e5a32a3, 0x8dff, 0x4773, 0x9f, 0xf6, 0x06, 0x96, 0xea, 0xb7, 0x72, 0x67)] -interface IDWriteBitmapRenderTarget(IDWriteBitmapRenderTargetVtbl): IUnknown(IUnknownVtbl) { - fn DrawGlyphRun( - baselineOriginX: FLOAT, - baselineOriginY: FLOAT, - measuringMode: DWRITE_MEASURING_MODE, - glyphRun: *const DWRITE_GLYPH_RUN, - renderingParams: *mut IDWriteRenderingParams, - textColor: COLORREF, - blackBoxRect: *mut RECT, - ) -> HRESULT, - fn GetMemoryDC() -> HDC, - fn GetPixelsPerDip() -> FLOAT, - fn SetPixelsPerDip( - pixelsPerDip: FLOAT, - ) -> HRESULT, - fn GetCurrentTransform( - transform: *mut DWRITE_MATRIX, - ) -> HRESULT, - fn SetCurrentTransform( - transform: *const DWRITE_MATRIX, - ) -> HRESULT, - fn GetSize( - size: *mut SIZE, - ) -> HRESULT, - fn Resize( - width: UINT32, - height: UINT32, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x1edd9491, 0x9853, 0x4299, 0x89, 0x8f, 0x64, 0x32, 0x98, 0x3b, 0x6f, 0x3a)] -interface IDWriteGdiInterop(IDWriteGdiInteropVtbl): IUnknown(IUnknownVtbl) { - fn CreateFontFromLOGFONT( - logFont: *const LOGFONTW, - font: *mut *mut IDWriteFont, - ) -> HRESULT, - fn ConvertFontToLOGFONT( - font: *mut IDWriteFont, - logFont: *mut LOGFONTW, - isSystemFont: *mut BOOL, - ) -> HRESULT, - fn ConvertFontFaceToLOGFONT( - font: *mut IDWriteFontFace, - logFont: *mut LOGFONTW, - ) -> HRESULT, - fn CreateFontFaceFromHdc( - hdc: HDC, - fontFace: *mut *mut IDWriteFontFace, - ) -> HRESULT, - fn CreateBitmapRenderTarget( - hdc: HDC, - width: UINT32, - height: UINT32, - renderTarget: *mut *mut IDWriteBitmapRenderTarget, - ) -> HRESULT, -}} -ENUM!{enum DWRITE_TEXTURE_TYPE { - DWRITE_TEXTURE_ALIASED_1x1 = 0, - DWRITE_TEXTURE_CLEARTYPE_3x1 = 1, -}} -pub const DWRITE_ALPHA_MAX: BYTE = 255; -RIDL!{#[uuid(0x7d97dbf7, 0xe085, 0x42d4, 0x81, 0xe3, 0x6a, 0x88, 0x3b, 0xde, 0xd1, 0x18)] -interface IDWriteGlyphRunAnalysis(IDWriteGlyphRunAnalysisVtbl): IUnknown(IUnknownVtbl) { - fn GetAlphaTextureBounds( - textureType: DWRITE_TEXTURE_TYPE, - textureBounds: *mut RECT, - ) -> HRESULT, - fn CreateAlphaTexture( - textureType: DWRITE_TEXTURE_TYPE, - textureBounds: *const RECT, - alphaValues: *mut BYTE, - bufferSize: UINT32, - ) -> HRESULT, - fn GetAlphaBlendParams( - renderingParams: *mut IDWriteRenderingParams, - blendGamma: *mut FLOAT, - blendEnhancedContrast: *mut FLOAT, - blendClearTypeLevel: *mut FLOAT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xb859ee5a, 0xd838, 0x4b5b, 0xa2, 0xe8, 0x1a, 0xdc, 0x7d, 0x93, 0xdb, 0x48)] -interface IDWriteFactory(IDWriteFactoryVtbl): IUnknown(IUnknownVtbl) { - fn GetSystemFontCollection( - fontCollection: *mut *mut IDWriteFontCollection, - checkForUpdates: BOOL, - ) -> HRESULT, - fn CreateCustomFontCollection( - collectionLoader: *mut IDWriteFontCollectionLoader, - collectionKey: *const c_void, - collectionKeySize: UINT32, - fontCollection: *mut *mut IDWriteFontCollection, - ) -> HRESULT, - fn RegisterFontCollectionLoader( - fontCollectionLoader: *mut IDWriteFontCollectionLoader, - ) -> HRESULT, - fn UnregisterFontCollectionLoader( - fontCollectionLoader: *mut IDWriteFontCollectionLoader, - ) -> HRESULT, - fn CreateFontFileReference( - filePath: *const WCHAR, - lastWriteTime: *const FILETIME, - fontFile: *mut *mut IDWriteFontFile, - ) -> HRESULT, - fn CreateCustomFontFileReference( - fontFileReferenceKey: *const c_void, - fontFileReferenceKeySize: UINT32, - fontFileLoader: *mut IDWriteFontFileLoader, - fontFile: *mut *mut IDWriteFontFile, - ) -> HRESULT, - fn CreateFontFace( - fontFaceType: DWRITE_FONT_FACE_TYPE, - numberOfFiles: UINT32, - fontFiles: *const *mut IDWriteFontFile, - faceIndex: UINT32, - fontFaceSimulationFlags: DWRITE_FONT_SIMULATIONS, - fontFace: *mut *mut IDWriteFontFace, - ) -> HRESULT, - fn CreateRenderingParams( - renderingParams: *mut *mut IDWriteRenderingParams, - ) -> HRESULT, - fn CreateMonitorRenderingParams( - monitor: HMONITOR, - renderingParams: *mut *mut IDWriteRenderingParams, - ) -> HRESULT, - fn CreateCustomRenderingParams( - gamma: FLOAT, - enhancedContrast: FLOAT, - clearTypeLevel: FLOAT, - pixelGeometry: DWRITE_PIXEL_GEOMETRY, - renderingMode: DWRITE_RENDERING_MODE, - renderingParams: *mut *mut IDWriteRenderingParams, - ) -> HRESULT, - fn RegisterFontFileLoader( - fontFileLoader: *mut IDWriteFontFileLoader, - ) -> HRESULT, - fn UnregisterFontFileLoader( - fontFileLoader: *mut IDWriteFontFileLoader, - ) -> HRESULT, - fn CreateTextFormat( - fontFamilyName: *const WCHAR, - fontCollection: *mut IDWriteFontCollection, - fontWeight: DWRITE_FONT_WEIGHT, - fontStyle: DWRITE_FONT_STYLE, - fontStretch: DWRITE_FONT_STRETCH, - fontSize: FLOAT, - localeName: *const WCHAR, - textFormat: *mut *mut IDWriteTextFormat, - ) -> HRESULT, - fn CreateTypography( - typography: *mut *mut IDWriteTypography, - ) -> HRESULT, - fn GetGdiInterop( - gdiInterop: *mut *mut IDWriteGdiInterop, - ) -> HRESULT, - fn CreateTextLayout( - string: *const WCHAR, - stringLength: UINT32, - textFormat: *mut IDWriteTextFormat, - maxWidth: FLOAT, - maxHeight: FLOAT, - textLayout: *mut *mut IDWriteTextLayout, - ) -> HRESULT, - fn CreateGdiCompatibleTextLayout( - string: *const WCHAR, - stringLength: UINT32, - textFormat: *mut IDWriteTextFormat, - layoutWidth: FLOAT, - layoutHeight: FLOAT, - pixelsPerDip: FLOAT, - transform: *const DWRITE_MATRIX, - useGdiNatrual: BOOL, - textLayout: *mut *mut IDWriteTextLayout, - ) -> HRESULT, - fn CreateEllipsisTrimmingSign( - textFormat: *mut IDWriteTextFormat, - trimmingSign: *mut *mut IDWriteInlineObject, - ) -> HRESULT, - fn CreateTextAnalyzer( - textAnalyzer: *mut *mut IDWriteTextAnalyzer, - ) -> HRESULT, - fn CreateNumberSubstitution( - substitutionMethod: DWRITE_NUMBER_SUBSTITUTION_METHOD, - localeName: *const WCHAR, - ignoreUserOverride: BOOL, - numberSubstitution: *mut *mut IDWriteNumberSubstitution, - ) -> HRESULT, - fn CreateGlyphRunAnalysis( - glyphRun: *const DWRITE_GLYPH_RUN, - pixelsPerDip: FLOAT, - transform: *const DWRITE_MATRIX, - renderingMode: DWRITE_RENDERING_MODE, - measuringMode: DWRITE_MEASURING_MODE, - baselineOriginX: FLOAT, - baselineOriginY: FLOAT, - glyphRunAnalysis: *mut *mut IDWriteGlyphRunAnalysis, - ) -> HRESULT, -}} -pub const FACILITY_DWRITE: HRESULT = 0x898; -pub const DWRITE_ERR_BASE: HRESULT = 0x5000; -#[inline] -pub fn MAKE_DWRITE_HR(severity: HRESULT, code: HRESULT) -> HRESULT { - MAKE_HRESULT!(severity, FACILITY_DWRITE, DWRITE_ERR_BASE + code) -} -#[inline] -pub fn MAKE_DWRITE_HR_ERR(code: HRESULT) -> HRESULT { - MAKE_DWRITE_HR(SEVERITY_ERROR, code) -} -extern "system" { - pub fn DWriteCreateFactory( - factoryType: DWRITE_FACTORY_TYPE, iid: REFIID, factory: *mut *mut IUnknown, - ) -> HRESULT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dwrite_1.rs b/vendor/registry-40351f815f426200/winapi/src/um/dwrite_1.rs deleted file mode 100644 index b762bbdcb..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dwrite_1.rs +++ /dev/null @@ -1,746 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the content of dwrite_1.h -use shared::basetsd::{INT16, INT32, UINT16, UINT32, UINT8}; -use shared::minwindef::{BOOL, FLOAT}; -use um::dcommon::DWRITE_MEASURING_MODE; -use um::dwrite::{ - DWRITE_GLYPH_OFFSET, DWRITE_MATRIX, DWRITE_PIXEL_GEOMETRY, DWRITE_RENDERING_MODE, - DWRITE_SCRIPT_ANALYSIS, DWRITE_SHAPING_GLYPH_PROPERTIES, DWRITE_TEXT_RANGE, - IDWriteBitmapRenderTarget, IDWriteBitmapRenderTargetVtbl, IDWriteFactory, IDWriteFactoryVtbl, - IDWriteFont, IDWriteFontCollection, IDWriteFontFace, IDWriteFontFaceVtbl, IDWriteFontVtbl, - IDWriteRenderingParams, IDWriteRenderingParamsVtbl, IDWriteTextAnalysisSink, - IDWriteTextAnalysisSinkVtbl, IDWriteTextAnalysisSource, IDWriteTextAnalysisSourceVtbl, - IDWriteTextAnalyzer, IDWriteTextAnalyzerVtbl, IDWriteTextLayout, IDWriteTextLayoutVtbl, -}; -use um::winnt::{HRESULT, WCHAR}; -ENUM!{enum DWRITE_PANOSE_FAMILY { - DWRITE_PANOSE_FAMILY_ANY = 0x0, // 0 - DWRITE_PANOSE_FAMILY_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_FAMILY_TEXT_DISPLAY = 0x2, // 2 - DWRITE_PANOSE_FAMILY_SCRIPT = 0x3, // 3 - DWRITE_PANOSE_FAMILY_DECORATIVE = 0x4, // 4 - DWRITE_PANOSE_FAMILY_SYMBOL = 0x5, // 5 - DWRITE_PANOSE_FAMILY_PICTORIAL = 0x5, // 5 -}} -ENUM!{enum DWRITE_PANOSE_SERIF_STYLE { - DWRITE_PANOSE_SERIF_STYLE_ANY = 0x0, // 0 - DWRITE_PANOSE_SERIF_STYLE_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_SERIF_STYLE_COVE = 0x2, // 2 - DWRITE_PANOSE_SERIF_STYLE_OBTUSE_COVE = 0x3, // 3 - DWRITE_PANOSE_SERIF_STYLE_SQUARE_COVE = 0x4, // 4 - DWRITE_PANOSE_SERIF_STYLE_OBTUSE_SQUARE_COVE = 0x5, // 5 - DWRITE_PANOSE_SERIF_STYLE_SQUARE = 0x6, // 6 - DWRITE_PANOSE_SERIF_STYLE_THIN = 0x7, // 7 - DWRITE_PANOSE_SERIF_STYLE_OVAL = 0x8, // 8 - DWRITE_PANOSE_SERIF_STYLE_EXAGGERATED = 0x9, // 9 - DWRITE_PANOSE_SERIF_STYLE_TRIANGLE = 0xA, // 10 - DWRITE_PANOSE_SERIF_STYLE_NORMAL_SANS = 0xB, // 11 - DWRITE_PANOSE_SERIF_STYLE_OBTUSE_SANS = 0xC, // 12 - DWRITE_PANOSE_SERIF_STYLE_PERPENDICULAR_SANS = 0xD, // 13 - DWRITE_PANOSE_SERIF_STYLE_FLARED = 0xE, // 14 - DWRITE_PANOSE_SERIF_STYLE_ROUNDED = 0xF, // 15 - DWRITE_PANOSE_SERIF_STYLE_SCRIPT = 0x10, // 16 - DWRITE_PANOSE_SERIF_STYLE_PERP_SANS = 0xD, // 13 - DWRITE_PANOSE_SERIF_STYLE_BONE = 0x8, // 8 -}} -ENUM!{enum DWRITE_PANOSE_WEIGHT { - DWRITE_PANOSE_WEIGHT_ANY = 0x0, // 0 - DWRITE_PANOSE_WEIGHT_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_WEIGHT_VERY_LIGHT = 0x2, // 2 - DWRITE_PANOSE_WEIGHT_LIGHT = 0x3, // 3 - DWRITE_PANOSE_WEIGHT_THIN = 0x4, // 4 - DWRITE_PANOSE_WEIGHT_BOOK = 0x5, // 5 - DWRITE_PANOSE_WEIGHT_MEDIUM = 0x6, // 6 - DWRITE_PANOSE_WEIGHT_DEMI = 0x7, // 7 - DWRITE_PANOSE_WEIGHT_BOLD = 0x8, // 8 - DWRITE_PANOSE_WEIGHT_HEAVY = 0x9, // 9 - DWRITE_PANOSE_WEIGHT_BLACK = 0xA, // 10 - DWRITE_PANOSE_WEIGHT_EXTRA_BLACK = 0xB, // 11 - DWRITE_PANOSE_WEIGHT_NORD = 0xB, // 11 -}} -ENUM!{enum DWRITE_PANOSE_PROPORTION { - DWRITE_PANOSE_PROPORTION_ANY = 0x0, // 0 - DWRITE_PANOSE_PROPORTION_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_PROPORTION_OLD_STYLE = 0x2, // 2 - DWRITE_PANOSE_PROPORTION_MODERN = 0x3, // 3 - DWRITE_PANOSE_PROPORTION_EVEN_WIDTH = 0x4, // 4 - DWRITE_PANOSE_PROPORTION_EXPANDED = 0x5, // 5 - DWRITE_PANOSE_PROPORTION_CONDENSED = 0x6, // 6 - DWRITE_PANOSE_PROPORTION_VERY_EXPANDED = 0x7, // 7 - DWRITE_PANOSE_PROPORTION_VERY_CONDENSED = 0x8, // 8 - DWRITE_PANOSE_PROPORTION_MONOSPACED = 0x9, // 9 -}} -ENUM!{enum DWRITE_PANOSE_CONTRAST { - DWRITE_PANOSE_CONTRAST_ANY = 0x0, // 0 - DWRITE_PANOSE_CONTRAST_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_CONTRAST_NONE = 0x2, // 2 - DWRITE_PANOSE_CONTRAST_VERY_LOW = 0x3, // 3 - DWRITE_PANOSE_CONTRAST_LOW = 0x4, // 4 - DWRITE_PANOSE_CONTRAST_MEDIUM_LOW = 0x5, // 5 - DWRITE_PANOSE_CONTRAST_MEDIUM = 0x6, // 6 - DWRITE_PANOSE_CONTRAST_MEDIUM_HIGH = 0x7, // 7 - DWRITE_PANOSE_CONTRAST_HIGH = 0x8, // 8 - DWRITE_PANOSE_CONTRAST_VERY_HIGH = 0x9, // 9 - DWRITE_PANOSE_CONTRAST_HORIZONTAL_LOW = 0xA, // 10 - DWRITE_PANOSE_CONTRAST_HORIZONTAL_MEDIUM = 0xB, // 11 - DWRITE_PANOSE_CONTRAST_HORIZONTAL_HIGH = 0xC, // 12 - DWRITE_PANOSE_CONTRAST_BROKEN = 0xD, // 13 -}} -ENUM!{enum DWRITE_PANOSE_STROKE_VARIATION { - DWRITE_PANOSE_STROKE_VARIATION_ANY = 0x0, // 0 - DWRITE_PANOSE_STROKE_VARIATION_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_STROKE_VARIATION_NO_VARIATION = 0x2, // 2 - DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_DIAGONAL = 0x3, // 3 - DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_TRANSITIONAL = 0x4, // 4 - DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_VERTICAL = 0x5, // 5 - DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_HORIZONTAL = 0x6, // 6 - DWRITE_PANOSE_STROKE_VARIATION_RAPID_VERTICAL = 0x7, // 7 - DWRITE_PANOSE_STROKE_VARIATION_RAPID_HORIZONTAL = 0x8, // 8 - DWRITE_PANOSE_STROKE_VARIATION_INSTANT_VERTICAL = 0x9, // 9 - DWRITE_PANOSE_STROKE_VARIATION_INSTANT_HORIZONTAL = 0xA, // 10 -}} -ENUM!{enum DWRITE_PANOSE_ARM_STYLE { - DWRITE_PANOSE_ARM_STYLE_ANY = 0x0, // 0 - DWRITE_PANOSE_ARM_STYLE_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORIZONTAL = 0x2, // 2 - DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_WEDGE = 0x3, // 3 - DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERTICAL = 0x4, // 4 - DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_SINGLE_SERIF = 0x5, // 5 - DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_DOUBLE_SERIF = 0x6, // 6 - DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_HORIZONTAL = 0x7, // 7 - DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_WEDGE = 0x8, // 8 - DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_VERTICAL = 0x9, // 9 - DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_SINGLE_SERIF = 0xA, // 10 - DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_DOUBLE_SERIF = 0xB, // 11 - DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORZ = 0x2, // 2 - DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERT = 0x4, // 4 - DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_HORZ = 0x7, // 7 - DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_WEDGE = 0x8, // 8 - DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_VERT = 0x9, // 9 - DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_SINGLE_SERIF = 0xA, // 10 - DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_DOUBLE_SERIF = 0xB, // 11 -}} -ENUM!{enum DWRITE_PANOSE_LETTERFORM { - DWRITE_PANOSE_LETTERFORM_ANY = 0x0, // 0 - DWRITE_PANOSE_LETTERFORM_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_LETTERFORM_NORMAL_CONTACT = 0x2, // 2 - DWRITE_PANOSE_LETTERFORM_NORMAL_WEIGHTED = 0x3, // 3 - DWRITE_PANOSE_LETTERFORM_NORMAL_BOXED = 0x4, // 4 - DWRITE_PANOSE_LETTERFORM_NORMAL_FLATTENED = 0x5, // 5 - DWRITE_PANOSE_LETTERFORM_NORMAL_ROUNDED = 0x6, // 6 - DWRITE_PANOSE_LETTERFORM_NORMAL_OFF_CENTER = 0x7, // 7 - DWRITE_PANOSE_LETTERFORM_NORMAL_SQUARE = 0x8, // 8 - DWRITE_PANOSE_LETTERFORM_OBLIQUE_CONTACT = 0x9, // 9 - DWRITE_PANOSE_LETTERFORM_OBLIQUE_WEIGHTED = 0xA, // 10 - DWRITE_PANOSE_LETTERFORM_OBLIQUE_BOXED = 0xB, // 11 - DWRITE_PANOSE_LETTERFORM_OBLIQUE_FLATTENED = 0xC, // 12 - DWRITE_PANOSE_LETTERFORM_OBLIQUE_ROUNDED = 0xD, // 13 - DWRITE_PANOSE_LETTERFORM_OBLIQUE_OFF_CENTER = 0xE, // 14 - DWRITE_PANOSE_LETTERFORM_OBLIQUE_SQUARE = 0xF, // 15 -}} -ENUM!{enum DWRITE_PANOSE_MIDLINE { - DWRITE_PANOSE_MIDLINE_ANY = 0x0, // 0 - DWRITE_PANOSE_MIDLINE_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_MIDLINE_STANDARD_TRIMMED = 0x2, // 2 - DWRITE_PANOSE_MIDLINE_STANDARD_POINTED = 0x3, // 3 - DWRITE_PANOSE_MIDLINE_STANDARD_SERIFED = 0x4, // 4 - DWRITE_PANOSE_MIDLINE_HIGH_TRIMMED = 0x5, // 5 - DWRITE_PANOSE_MIDLINE_HIGH_POINTED = 0x6, // 6 - DWRITE_PANOSE_MIDLINE_HIGH_SERIFED = 0x7, // 7 - DWRITE_PANOSE_MIDLINE_CONSTANT_TRIMMED = 0x8, // 8 - DWRITE_PANOSE_MIDLINE_CONSTANT_POINTED = 0x9, // 9 - DWRITE_PANOSE_MIDLINE_CONSTANT_SERIFED = 0xA, // 10 - DWRITE_PANOSE_MIDLINE_LOW_TRIMMED = 0xB, // 11 - DWRITE_PANOSE_MIDLINE_LOW_POINTED = 0xC, // 12 - DWRITE_PANOSE_MIDLINE_LOW_SERIFED = 0xD, // 13 -}} -ENUM!{enum DWRITE_PANOSE_XHEIGHT { - DWRITE_PANOSE_XHEIGHT_ANY = 0x0, // 0 - DWRITE_PANOSE_XHEIGHT_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_XHEIGHT_CONSTANT_SMALL = 0x2, // 2 - DWRITE_PANOSE_XHEIGHT_CONSTANT_STANDARD = 0x3, // 3 - DWRITE_PANOSE_XHEIGHT_CONSTANT_LARGE = 0x4, // 4 - DWRITE_PANOSE_XHEIGHT_DUCKING_SMALL = 0x5, // 5 - DWRITE_PANOSE_XHEIGHT_DUCKING_STANDARD = 0x6, // 6 - DWRITE_PANOSE_XHEIGHT_DUCKING_LARGE = 0x7, // 7 - DWRITE_PANOSE_XHEIGHT_CONSTANT_STD = 0x3, // 3 - DWRITE_PANOSE_XHEIGHT_DUCKING_STD = 0x6, // 6 -}} -ENUM!{enum DWRITE_PANOSE_TOOL_KIND { - DWRITE_PANOSE_TOOL_KIND_ANY = 0x0, // 0 - DWRITE_PANOSE_TOOL_KIND_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_TOOL_KIND_FLAT_NIB = 0x2, // 2 - DWRITE_PANOSE_TOOL_KIND_PRESSURE_POINT = 0x3, // 3 - DWRITE_PANOSE_TOOL_KIND_ENGRAVED = 0x4, // 4 - DWRITE_PANOSE_TOOL_KIND_BALL = 0x5, // 5 - DWRITE_PANOSE_TOOL_KIND_BRUSH = 0x6, // 6 - DWRITE_PANOSE_TOOL_KIND_ROUGH = 0x7, // 7 - DWRITE_PANOSE_TOOL_KIND_FELT_PEN_BRUSH_TIP = 0x8, // 8 - DWRITE_PANOSE_TOOL_KIND_WILD_BRUSH = 0x9, // 9 -}} -ENUM!{enum DWRITE_PANOSE_SPACING { - DWRITE_PANOSE_SPACING_ANY = 0x0, // 0 - DWRITE_PANOSE_SPACING_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_SPACING_PROPORTIONAL_SPACED = 0x2, // 2 - DWRITE_PANOSE_SPACING_MONOSPACED = 0x3, // 3 -}} -ENUM!{enum DWRITE_PANOSE_ASPECT_RATIO { - DWRITE_PANOSE_ASPECT_RATIO_ANY = 0x0, // 0 - DWRITE_PANOSE_ASPECT_RATIO_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_ASPECT_RATIO_VERY_CONDENSED = 0x2, // 2 - DWRITE_PANOSE_ASPECT_RATIO_CONDENSED = 0x3, // 3 - DWRITE_PANOSE_ASPECT_RATIO_NORMAL = 0x4, // 4 - DWRITE_PANOSE_ASPECT_RATIO_EXPANDED = 0x5, // 5 - DWRITE_PANOSE_ASPECT_RATIO_VERY_EXPANDED = 0x6, // 6 -}} -ENUM!{enum DWRITE_PANOSE_SCRIPT_TOPOLOGY { - DWRITE_PANOSE_SCRIPT_TOPOLOGY_ANY = 0x0, // 0 - DWRITE_PANOSE_SCRIPT_TOPOLOGY_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_DISCONNECTED = 0x2, // 2 - DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_TRAILING = 0x3, // 3 - DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_CONNECTED = 0x4, // 4 - DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_DISCONNECTED = 0x5, // 5 - DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_TRAILING = 0x6, // 6 - DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_CONNECTED = 0x7, // 7 - DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_DISCONNECTED = 0x8, // 8 - DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_TRAILING = 0x9, // 9 - DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_CONNECTED = 0xA, // 10 -}} -ENUM!{enum DWRITE_PANOSE_SCRIPT_FORM { - DWRITE_PANOSE_SCRIPT_FORM_ANY = 0x0, // 0 - DWRITE_PANOSE_SCRIPT_FORM_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_NO_WRAPPING = 0x2, // 2 - DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_SOME_WRAPPING = 0x3, // 3 - DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_MORE_WRAPPING = 0x4, // 4 - DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_EXTREME_WRAPPING = 0x5, // 5 - DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_NO_WRAPPING = 0x6, // 6 - DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_SOME_WRAPPING = 0x7, // 7 - DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_MORE_WRAPPING = 0x8, // 8 - DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_EXTREME_WRAPPING = 0x9, // 9 - DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_NO_WRAPPING = 0xA, // 10 - DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_SOME_WRAPPING = 0xB, // 11 - DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_MORE_WRAPPING = 0xC, // 12 - DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_EXTREME_WRAPPING = 0xD, // 13 -}} -ENUM!{enum DWRITE_PANOSE_FINIALS { - DWRITE_PANOSE_FINIALS_ANY = 0x0, // 0 - DWRITE_PANOSE_FINIALS_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_FINIALS_NONE_NO_LOOPS = 0x2, // 2 - DWRITE_PANOSE_FINIALS_NONE_CLOSED_LOOPS = 0x3, // 3 - DWRITE_PANOSE_FINIALS_NONE_OPEN_LOOPS = 0x4, // 4 - DWRITE_PANOSE_FINIALS_SHARP_NO_LOOPS = 0x5, // 5 - DWRITE_PANOSE_FINIALS_SHARP_CLOSED_LOOPS = 0x6, // 6 - DWRITE_PANOSE_FINIALS_SHARP_OPEN_LOOPS = 0x7, // 7 - DWRITE_PANOSE_FINIALS_TAPERED_NO_LOOPS = 0x8, // 8 - DWRITE_PANOSE_FINIALS_TAPERED_CLOSED_LOOPS = 0x9, // 9 - DWRITE_PANOSE_FINIALS_TAPERED_OPEN_LOOPS = 0xA, // 10 - DWRITE_PANOSE_FINIALS_ROUND_NO_LOOPS = 0xB, // 11 - DWRITE_PANOSE_FINIALS_ROUND_CLOSED_LOOPS = 0xC, // 12 - DWRITE_PANOSE_FINIALS_ROUND_OPEN_LOOPS = 0xD, // 13 -}} -ENUM!{enum DWRITE_PANOSE_XASCENT { - DWRITE_PANOSE_XASCENT_ANY = 0x0, // 0 - DWRITE_PANOSE_XASCENT_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_XASCENT_VERY_LOW = 0x2, // 2 - DWRITE_PANOSE_XASCENT_LOW = 0x3, // 3 - DWRITE_PANOSE_XASCENT_MEDIUM = 0x4, // 4 - DWRITE_PANOSE_XASCENT_HIGH = 0x5, // 5 - DWRITE_PANOSE_XASCENT_VERY_HIGH = 0x6, // 6 -}} -ENUM!{enum DWRITE_PANOSE_DECORATIVE_CLASS { - DWRITE_PANOSE_DECORATIVE_CLASS_ANY = 0x0, // 0 - DWRITE_PANOSE_DECORATIVE_CLASS_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_DECORATIVE_CLASS_DERIVATIVE = 0x2, // 2 - DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_TOPOLOGY = 0x3, // 3 - DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_ELEMENTS = 0x4, // 4 - DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_ASPECT = 0x5, // 5 - DWRITE_PANOSE_DECORATIVE_CLASS_INITIALS = 0x6, // 6 - DWRITE_PANOSE_DECORATIVE_CLASS_CARTOON = 0x7, // 7 - DWRITE_PANOSE_DECORATIVE_CLASS_PICTURE_STEMS = 0x8, // 8 - DWRITE_PANOSE_DECORATIVE_CLASS_ORNAMENTED = 0x9, // 9 - DWRITE_PANOSE_DECORATIVE_CLASS_TEXT_AND_BACKGROUND = 0xA, // 10 - DWRITE_PANOSE_DECORATIVE_CLASS_COLLAGE = 0xB, // 11 - DWRITE_PANOSE_DECORATIVE_CLASS_MONTAGE = 0xC, // 12 -}} -ENUM!{enum DWRITE_PANOSE_ASPECT { - DWRITE_PANOSE_ASPECT_ANY = 0x0, // 0 - DWRITE_PANOSE_ASPECT_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_ASPECT_SUPER_CONDENSED = 0x2, // 2 - DWRITE_PANOSE_ASPECT_VERY_CONDENSED = 0x3, // 3 - DWRITE_PANOSE_ASPECT_CONDENSED = 0x4, // 4 - DWRITE_PANOSE_ASPECT_NORMAL = 0x5, // 5 - DWRITE_PANOSE_ASPECT_EXTENDED = 0x6, // 6 - DWRITE_PANOSE_ASPECT_VERY_EXTENDED = 0x7, // 7 - DWRITE_PANOSE_ASPECT_SUPER_EXTENDED = 0x8, // 8 - DWRITE_PANOSE_ASPECT_MONOSPACED = 0x9, // 9 -}} -ENUM!{enum DWRITE_PANOSE_FILL { - DWRITE_PANOSE_FILL_ANY = 0x0, // 0 - DWRITE_PANOSE_FILL_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_FILL_STANDARD_SOLID_FILL = 0x2, // 2 - DWRITE_PANOSE_FILL_NO_FILL = 0x3, // 3 - DWRITE_PANOSE_FILL_PATTERNED_FILL = 0x4, // 4 - DWRITE_PANOSE_FILL_COMPLEX_FILL = 0x5, // 5 - DWRITE_PANOSE_FILL_SHAPED_FILL = 0x6, // 6 - DWRITE_PANOSE_FILL_DRAWN_DISTRESSED = 0x7, // 7 -}} -ENUM!{enum DWRITE_PANOSE_LINING { - DWRITE_PANOSE_LINING_ANY = 0x0, // 0 - DWRITE_PANOSE_LINING_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_LINING_NONE = 0x2, // 2 - DWRITE_PANOSE_LINING_INLINE = 0x3, // 3 - DWRITE_PANOSE_LINING_OUTLINE = 0x4, // 4 - DWRITE_PANOSE_LINING_ENGRAVED = 0x5, // 5 - DWRITE_PANOSE_LINING_SHADOW = 0x6, // 6 - DWRITE_PANOSE_LINING_RELIEF = 0x7, // 7 - DWRITE_PANOSE_LINING_BACKDROP = 0x8, // 8 -}} -ENUM!{enum DWRITE_PANOSE_DECORATIVE_TOPOLOGY { - DWRITE_PANOSE_DECORATIVE_TOPOLOGY_ANY = 0x0, // 0 - DWRITE_PANOSE_DECORATIVE_TOPOLOGY_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_DECORATIVE_TOPOLOGY_STANDARD = 0x2, // 2 - DWRITE_PANOSE_DECORATIVE_TOPOLOGY_SQUARE = 0x3, // 3 - DWRITE_PANOSE_DECORATIVE_TOPOLOGY_MULTIPLE_SEGMENT = 0x4, // 4 - DWRITE_PANOSE_DECORATIVE_TOPOLOGY_ART_DECO = 0x5, // 5 - DWRITE_PANOSE_DECORATIVE_TOPOLOGY_UNEVEN_WEIGHTING = 0x6, // 6 - DWRITE_PANOSE_DECORATIVE_TOPOLOGY_DIVERSE_ARMS = 0x7, // 7 - DWRITE_PANOSE_DECORATIVE_TOPOLOGY_DIVERSE_FORMS = 0x8, // 8 - DWRITE_PANOSE_DECORATIVE_TOPOLOGY_LOMBARDIC_FORMS = 0x9, // 9 - DWRITE_PANOSE_DECORATIVE_TOPOLOGY_UPPER_CASE_IN_LOWER_CASE = 0xA, // 10 - DWRITE_PANOSE_DECORATIVE_TOPOLOGY_IMPLIED_TOPOLOGY = 0xB, // 11 - DWRITE_PANOSE_DECORATIVE_TOPOLOGY_HORSESHOE_E_AND_A = 0xC, // 12 - DWRITE_PANOSE_DECORATIVE_TOPOLOGY_CURSIVE = 0xD, // 13 - DWRITE_PANOSE_DECORATIVE_TOPOLOGY_BLACKLETTER = 0xE, // 14 - DWRITE_PANOSE_DECORATIVE_TOPOLOGY_SWASH_VARIANCE = 0xF, // 15 -}} -ENUM!{enum DWRITE_PANOSE_CHARACTER_RANGES { - DWRITE_PANOSE_CHARACTER_RANGES_ANY = 0x0, // 0 - DWRITE_PANOSE_CHARACTER_RANGES_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_CHARACTER_RANGES_EXTENDED_COLLECTION = 0x2, // 2 - DWRITE_PANOSE_CHARACTER_RANGES_LITERALS = 0x3, // 3 - DWRITE_PANOSE_CHARACTER_RANGES_NO_LOWER_CASE = 0x4, // 4 - DWRITE_PANOSE_CHARACTER_RANGES_SMALL_CAPS = 0x5, // 5 -}} -ENUM!{enum DWRITE_PANOSE_SYMBOL_KIND { - DWRITE_PANOSE_SYMBOL_KIND_ANY = 0x0, // 0 - DWRITE_PANOSE_SYMBOL_KIND_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_SYMBOL_KIND_MONTAGES = 0x2, // 2 - DWRITE_PANOSE_SYMBOL_KIND_PICTURES = 0x3, // 3 - DWRITE_PANOSE_SYMBOL_KIND_SHAPES = 0x4, // 4 - DWRITE_PANOSE_SYMBOL_KIND_SCIENTIFIC = 0x5, // 5 - DWRITE_PANOSE_SYMBOL_KIND_MUSIC = 0x6, // 6 - DWRITE_PANOSE_SYMBOL_KIND_EXPERT = 0x7, // 7 - DWRITE_PANOSE_SYMBOL_KIND_PATTERNS = 0x8, // 8 - DWRITE_PANOSE_SYMBOL_KIND_BOARDERS = 0x9, // 9 - DWRITE_PANOSE_SYMBOL_KIND_ICONS = 0xA, // 10 - DWRITE_PANOSE_SYMBOL_KIND_LOGOS = 0xB, // 11 - DWRITE_PANOSE_SYMBOL_KIND_INDUSTRY_SPECIFIC = 0xC, // 12 -}} -ENUM!{enum DWRITE_PANOSE_SYMBOL_ASPECT_RATIO { - DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_ANY = 0x0, // 0 - DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NO_FIT = 0x1, // 1 - DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NO_WIDTH = 0x2, // 2 - DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_EXCEPTIONALLY_WIDE = 0x3, // 3 - DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_SUPER_WIDE = 0x4, // 4 - DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_VERY_WIDE = 0x5, // 5 - DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_WIDE = 0x6, // 6 - DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NORMAL = 0x7, // 7 - DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NARROW = 0x8, // 8 - DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_VERY_NARROW = 0x9, // 9 -}} -ENUM!{enum DWRITE_OUTLINE_THRESHOLD { - DWRITE_OUTLINE_THRESHOLD_ANTIALIASED = 0x0, // 0 - DWRITE_OUTLINE_THRESHOLD_ALIASED = 0x1, // 1 -}} -ENUM!{enum DWRITE_BASELINE { - DWRITE_BASELINE_DEFAULT = 0x0, // 0 - DWRITE_BASELINE_ROMAN = 0x1, // 1 - DWRITE_BASELINE_CENTRAL = 0x2, // 2 - DWRITE_BASELINE_MATH = 0x3, // 3 - DWRITE_BASELINE_HANGING = 0x4, // 4 - DWRITE_BASELINE_IDEOGRAPHIC_BOTTOM = 0x5, // 5 - DWRITE_BASELINE_IDEOGRAPHIC_TOP = 0x6, // 6 - DWRITE_BASELINE_MINIMUM = 0x7, // 7 - DWRITE_BASELINE_MAXIMUM = 0x8, // 8 -}} -ENUM!{enum DWRITE_VERTICAL_GLYPH_ORIENTATION { - DWRITE_VERTICAL_GLYPH_ORIENTATION_DEFAULT = 0x0, // 0 - DWRITE_VERTICAL_GLYPH_ORIENTATION_STACKED = 0x1, // 1 -}} -ENUM!{enum DWRITE_GLYPH_ORIENTATION_ANGLE { - DWRITE_GLYPH_ORIENTATION_ANGLE_0_DEGREES = 0x0, // 0 - DWRITE_GLYPH_ORIENTATION_ANGLE_90_DEGREES = 0x1, // 1 - DWRITE_GLYPH_ORIENTATION_ANGLE_180_DEGREES = 0x2, // 2 - DWRITE_GLYPH_ORIENTATION_ANGLE_270_DEGREES = 0x3, // 3 -}} -STRUCT!{struct DWRITE_FONT_METRICS1 { - designUnitsPerEm: UINT16, - ascent: UINT16, - descent: UINT16, - lineGap: INT16, - capHeight: UINT16, - xHeight: UINT16, - underlinePosition: INT16, - underlineThickness: UINT16, - strikethroughPosition: INT16, - strikethroughThickness: UINT16, - glyphBoxLeft: INT16, - glyphBoxTop: INT16, - glyphBoxRight: INT16, - glyphBoxBottom: INT16, - subscriptPositionX: INT16, - subscriptPositionY: INT16, - subscriptSizeX: INT16, - subscriptSizeY: INT16, - superscriptPositionX: INT16, - superscriptPositionY: INT16, - superscriptSizeX: INT16, - superscriptSizeY: INT16, - hasTypographicMetrics: BOOL, -}} -STRUCT!{struct DWRITE_CARET_METRICS { - slopeRise: INT16, - slopeRun: INT16, - offset: INT16, -}} -STRUCT!{struct DWRITE_PANOSE_text { - familyKind: UINT8, - serifStyle: UINT8, - weight: UINT8, - proportion: UINT8, - contrast: UINT8, - strokeVariation: UINT8, - armStyle: UINT8, - letterform: UINT8, - midline: UINT8, - xHeight: UINT8, -}} -STRUCT!{struct DWRITE_PANOSE_script { - familyKind: UINT8, - toolKind: UINT8, - weight: UINT8, - spacing: UINT8, - aspectRatio: UINT8, - contrast: UINT8, - scriptTopology: UINT8, - scriptForm: UINT8, - finials: UINT8, - xAscent: UINT8, -}} -STRUCT!{struct DWRITE_PANOSE_decorative { - familyKind: UINT8, - decorativeClass: UINT8, - weight: UINT8, - aspect: UINT8, - contrast: UINT8, - serifVariant: UINT8, - fill: UINT8, - lining: UINT8, - decorativeTopology: UINT8, - characterRange: UINT8, -}} -STRUCT!{struct DWRITE_PANOSE_symbol { - familyKind: UINT8, - symbolKind: UINT8, - weight: UINT8, - spacing: UINT8, - aspectRatioAndContrast: UINT8, - aspectRatio94: UINT8, - aspectRatio119: UINT8, - aspectRatio157: UINT8, - aspectRatio163: UINT8, - aspectRatio211: UINT8, -}} -UNION!{union DWRITE_PANOSE { - [u8; 10], - values values_mut: [UINT8; 10], - familyKind familyKind_mut: UINT8, - text text_mut: DWRITE_PANOSE_text, - script script_mut: DWRITE_PANOSE_script, - decorative decorative_mut: DWRITE_PANOSE_decorative, - symbol symbol_mut: DWRITE_PANOSE_symbol, -}} -STRUCT!{struct DWRITE_UNICODE_RANGE { - first: UINT32, - last: UINT32, -}} -STRUCT!{struct DWRITE_SCRIPT_PROPERTIES { - isoScriptCode: UINT32, - isoScriptNumber: UINT32, - clusterLookahead: UINT32, - justificationCharacter: UINT32, - bitfield0: UINT32, -}} -BITFIELD!{DWRITE_SCRIPT_PROPERTIES bitfield0: UINT32 [ - restrictCaretToClusters set_restrictCaretToClusters[0..1], - usesWordDividers set_usesWordDividers[1..2], - isDiscreteWriting set_isDiscreteWriting[2..3], - isBlockWriting set_isBlockWriting[3..4], - isDistributedWithinCluster set_isDistributedWithinCluster[4..5], - isConnectedWriting set_isConnectedWriting[5..6], - isCursiveWriting set_isCursiveWriting[6..7], - reserved set_reserved[7..32], -]} -STRUCT!{struct DWRITE_JUSTIFICATION_OPPORTUNITY { - expansionMinimum: FLOAT, - expansionMaximum: FLOAT, - compressionMaximum: FLOAT, - bitfield0: UINT32, -}} -BITFIELD!{DWRITE_JUSTIFICATION_OPPORTUNITY bitfield0: UINT32 [ - expansionPriority set_expansionPriority[0..8], - compressionPriority set_compressionPriority[8..16], - allowResidualExpansion set_allowResidualExpansion[16..17], - allowResidualCompression set_allowResidualCompression[17..18], - applyToLeadingEdge set_applyToLeadingEdge[18..19], - applyToTrailingEdge set_applyToTrailingEdge[19..20], - reserved set_reserved[20..32], -]} -RIDL!{#[uuid(0x30572f99, 0xdac6, 0x41db, 0xa1, 0x6e, 0x04, 0x86, 0x30, 0x7e, 0x60, 0x6a)] -interface IDWriteFactory1(IDWriteFactory1Vtbl): IDWriteFactory(IDWriteFactoryVtbl) { - fn GetEudcFontCollection( - fontCollection: *mut *mut IDWriteFontCollection, - checkForUpdates: BOOL, - ) -> HRESULT, - fn CreateCustomRenderingParams( - gamma: FLOAT, - enhancedContrast: FLOAT, - enhancedContrastGrayscale: FLOAT, - clearTypeLevel: FLOAT, - pixelGeometry: DWRITE_PIXEL_GEOMETRY, - renderingMode: DWRITE_RENDERING_MODE, - renderingParams: *mut *mut IDWriteRenderingParams1, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa71efdb4, 0x9fdb, 0x4838, 0xad, 0x90, 0xcf, 0xc3, 0xbe, 0x8c, 0x3d, 0xaf)] -interface IDWriteFontFace1(IDWriteFontFace1Vtbl): IDWriteFontFace(IDWriteFontFaceVtbl) { - fn GetMetrics( - fontMetrics: *mut DWRITE_FONT_METRICS1, - ) -> (), - fn GetGdiCompatibleMetrics( - emSize: FLOAT, - pixelsPerDip: FLOAT, - transform: *const DWRITE_MATRIX, - fontMetrics: *mut DWRITE_FONT_METRICS1, - ) -> HRESULT, - fn GetCaretMetrics( - caretMetrics: *mut DWRITE_CARET_METRICS, - ) -> (), - fn GetUnicodeRanges( - maxRangeCount: UINT32, - unicodeRanges: *mut DWRITE_UNICODE_RANGE, - actualRangeCount: *mut UINT32, - ) -> HRESULT, - fn IsMonospacedFont() -> BOOL, - fn GetDesignGlyphAdvances( - glyphCount: UINT32, - glyphIndices: *const UINT16, - glyphAdvances: *mut INT32, - isSideways: BOOL, - ) -> HRESULT, - fn GetGdiCompatibleGlyphAdvances( - emSize: FLOAT, - pixelsPerDip: FLOAT, - transform: *const DWRITE_MATRIX, - useGdiNatural: BOOL, - isSideways: BOOL, - glyphCount: UINT32, - glyphIndices: *const UINT16, - glyphAdvances: *mut INT32, - ) -> HRESULT, - fn GetKerningPairAdjustments( - glyphCount: UINT32, - glyphIndices: *const UINT16, - glyphAdvanceAdjustments: *mut INT32, - ) -> HRESULT, - fn HasKerningPairs() -> BOOL, - fn GetRecommendedRenderingMode( - fontEmSize: FLOAT, - dpiX: FLOAT, - dpiY: FLOAT, - transform: *const DWRITE_MATRIX, - isSideways: BOOL, - outlineThreshold: DWRITE_OUTLINE_THRESHOLD, - measuringMode: DWRITE_MEASURING_MODE, - renderingMode: *mut DWRITE_RENDERING_MODE, - ) -> HRESULT, - fn GetVerticalGlyphVariants( - glyphCount: UINT32, - nominalGlyphIndices: *const UINT16, - verticalGlyphIndices: *mut UINT16, - ) -> HRESULT, - fn HasVerticalGlyphVariants() -> BOOL, -}} -RIDL!{#[uuid(0xacd16696, 0x8c14, 0x4f5d, 0x87, 0x7e, 0xfe, 0x3f, 0xc1, 0xd3, 0x27, 0x38)] -interface IDWriteFont1(IDWriteFont1Vtbl): IDWriteFont(IDWriteFontVtbl) { - fn GetMetrics( - fontMetrics: *mut DWRITE_FONT_METRICS1, - ) -> (), - fn GetPanose( - panose: *mut DWRITE_PANOSE, - ) -> (), - fn GetUnicodeRanges( - maxRangeCount: UINT32, - unicodeRanges: *mut DWRITE_UNICODE_RANGE, - actualRangeCount: *mut UINT32, - ) -> HRESULT, - fn IsMonospacedFont() -> BOOL, -}} -RIDL!{#[uuid(0x94413cf4, 0xa6fc, 0x4248, 0x8b, 0x50, 0x66, 0x74, 0x34, 0x8f, 0xca, 0xd3)] -interface IDWriteRenderingParams1(IDWriteRenderingParams1Vtbl): - IDWriteRenderingParams(IDWriteRenderingParamsVtbl) { - fn GetGrayscaleEnhancedContrast() -> FLOAT, -}} -RIDL!{#[uuid(0x80dad800, 0xe21f, 0x4e83, 0x96, 0xce, 0xbf, 0xcc, 0xe5, 0x00, 0xdb, 0x7c)] -interface IDWriteTextAnalyzer1(IDWriteTextAnalyzer1Vtbl): - IDWriteTextAnalyzer(IDWriteTextAnalyzerVtbl) { - fn ApplyCharacterSpacing( - leadingSpacing: FLOAT, - trailingSpacing: FLOAT, - minimumAdvanceWidth: FLOAT, - textLength: UINT32, - glyphCount: UINT32, - clusterMap: *const UINT16, - glyphAdvances: *const FLOAT, - glyphOffsets: *const DWRITE_GLYPH_OFFSET, - glyphProperties: *const DWRITE_SHAPING_GLYPH_PROPERTIES, - modifiedGlyphAdvances: *mut FLOAT, - modifiedGlyphOffsets: *mut DWRITE_GLYPH_OFFSET, - ) -> HRESULT, - fn GetBaseline( - fontFace: *mut IDWriteFontFace, - baseline: DWRITE_BASELINE, - isVertical: BOOL, - isSimulationAllowed: BOOL, - scriptAnalysis: DWRITE_SCRIPT_ANALYSIS, - localeName: *const WCHAR, - baselineCoordinate: *mut INT32, - exists: *mut BOOL, - ) -> HRESULT, - fn AnalyzeVerticalGlyphOrientation( - analysisSource: *mut IDWriteTextAnalysisSource1, - textPosition: UINT32, - textLength: UINT32, - analysisSink: *mut IDWriteTextAnalysisSink1, - ) -> HRESULT, - fn GetGlyphOrientationTransform( - glyphOrientationAngle: DWRITE_GLYPH_ORIENTATION_ANGLE, - isSideways: BOOL, - transform: *mut DWRITE_MATRIX, - ) -> HRESULT, - fn GetScriptProperties( - scriptAnalysis: DWRITE_SCRIPT_ANALYSIS, - scriptProperties: *mut DWRITE_SCRIPT_PROPERTIES, - ) -> HRESULT, - fn GetTextComplexity( - textString: *const WCHAR, - textLength: UINT32, - fontFace: *mut IDWriteFontFace, - isTextSimple: *mut BOOL, - textLengthRead: *mut UINT32, - glyphIndices: *mut UINT16, - ) -> HRESULT, - fn GetJustificationOpportunities( - fontFace: *mut IDWriteFontFace, - fontEmSize: FLOAT, - scriptAnalysis: DWRITE_SCRIPT_ANALYSIS, - textLength: UINT32, - glyphCount: UINT32, - textString: *const WCHAR, - clusterMap: *const UINT16, - glyphProperties: *const DWRITE_SHAPING_GLYPH_PROPERTIES, - justificationOpportunities: *mut DWRITE_JUSTIFICATION_OPPORTUNITY, - ) -> HRESULT, - fn JustifyGlyphAdvances( - lineWidth: FLOAT, - glyphCount: UINT32, - justificationOpportunities: *const DWRITE_JUSTIFICATION_OPPORTUNITY, - glyphAdvances: *const FLOAT, - glyphOffsets: *const DWRITE_GLYPH_OFFSET, - justifiedGlyphAdvances: *mut FLOAT, - justifiedGlyphOffsets: *mut DWRITE_GLYPH_OFFSET, - ) -> HRESULT, - fn GetJustifiedGlyphs( - fontFace: *mut IDWriteFontFace, - fontEmSize: FLOAT, - scriptAnalysis: DWRITE_SCRIPT_ANALYSIS, - textLength: UINT32, - glyphCount: UINT32, - maxGlyphCount: UINT32, - clusterMap: *const UINT16, - glyphIndices: *const UINT16, - glyphAdvances: *const FLOAT, - justifiedGlyphAdvances: *const FLOAT, - justifiedGlyphOffsets: *const DWRITE_GLYPH_OFFSET, - glyphProperties: *const DWRITE_SHAPING_GLYPH_PROPERTIES, - actualGlyphCount: *mut UINT32, - modifiedClusterMap: *mut UINT16, - modifiedGlyphIndices: *mut UINT16, - modifiedGlyphAdvances: *mut FLOAT, - modifiedGlyphOffsets: *mut DWRITE_GLYPH_OFFSET, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x639cfad8, 0x0fb4, 0x4b21, 0xa5, 0x8a, 0x06, 0x79, 0x20, 0x12, 0x00, 0x09)] -interface IDWriteTextAnalysisSource1(IDWriteTextAnalysisSource1Vtbl): - IDWriteTextAnalysisSource(IDWriteTextAnalysisSourceVtbl) { - fn GetVerticalGlyphOrientation( - textPosition: UINT32, - textLength: *mut UINT32, - glyphOrientation: *mut DWRITE_VERTICAL_GLYPH_ORIENTATION, - bidiLevel: *mut UINT8, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xb0d941a0, 0x85e7, 0x4d8b, 0x9f, 0xd3, 0x5c, 0xed, 0x99, 0x34, 0x48, 0x2a)] -interface IDWriteTextAnalysisSink1(IDWriteTextAnalysisSink1Vtbl): - IDWriteTextAnalysisSink(IDWriteTextAnalysisSinkVtbl) { - fn SetGlyphOrientation( - textPosition: UINT32, - textLength: UINT32, - glyphOrientationAngle: DWRITE_GLYPH_ORIENTATION_ANGLE, - adjustedBidiLevel: UINT8, - isSideways: BOOL, - isRightToLeft: BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x9064d822, 0x80a7, 0x465c, 0xa9, 0x86, 0xdf, 0x65, 0xf7, 0x8b, 0x8f, 0xeb)] -interface IDWriteTextLayout1(IDWriteTextLayout1Vtbl): - IDWriteTextLayout(IDWriteTextLayoutVtbl) { - fn SetPairKerning( - isPairKerningEnabled: BOOL, - textRange: DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn GetPairKerning( - currentPosition: UINT32, - isPairKerningEnabled: *mut BOOL, - textRange: *mut DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn SetCharacterSpacing( - leadingSpacing: FLOAT, - trailingSpacing: FLOAT, - minimumAdvanceWidth: FLOAT, - textRange: DWRITE_TEXT_RANGE, - ) -> HRESULT, - fn GetCharacterSpacing( - currentPosition: UINT32, - leadingSpacing: *mut FLOAT, - trailingSpacing: *mut FLOAT, - minimumAdvanceWidth: *mut FLOAT, - textRange: *mut DWRITE_TEXT_RANGE, - ) -> HRESULT, -}} -ENUM!{enum DWRITE_TEXT_ANTIALIAS_MODE { - DWRITE_TEXT_ANTIALIAS_MODE_CLEARTYPE = 0x0, // 0 - DWRITE_TEXT_ANTIALIAS_MODE_GRAYSCALE = 0x1, // 1 -}} -RIDL!{#[uuid(0x791e8298, 0x3ef3, 0x4230, 0x98, 0x80, 0xc9, 0xbd, 0xec, 0xc4, 0x20, 0x64)] -interface IDWriteBitmapRenderTarget1(IDWriteBitmapRenderTarget1Vtbl): - IDWriteBitmapRenderTarget(IDWriteBitmapRenderTargetVtbl) { - fn GetTextAntialiasMode() -> DWRITE_TEXT_ANTIALIAS_MODE, - fn SetTextAntialiasMode( - antialiasMode: DWRITE_TEXT_ANTIALIAS_MODE, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dwrite_2.rs b/vendor/registry-40351f815f426200/winapi/src/um/dwrite_2.rs deleted file mode 100644 index e9810bba0..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dwrite_2.rs +++ /dev/null @@ -1,293 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the content of dwrite_2.h -use ctypes::{c_void, wchar_t}; -use shared::basetsd::{UINT16, UINT32, UINT8}; -use shared::d3d9types::D3DCOLORVALUE; -use shared::minwindef::{BOOL, FLOAT}; -use um::dcommon::DWRITE_MEASURING_MODE; -use um::dwrite::{ - DWRITE_FONT_FEATURE_TAG, DWRITE_FONT_STRETCH, DWRITE_FONT_STYLE, DWRITE_FONT_WEIGHT, - DWRITE_GLYPH_RUN, DWRITE_GLYPH_RUN_DESCRIPTION, DWRITE_MATRIX, DWRITE_PIXEL_GEOMETRY, - DWRITE_RENDERING_MODE, DWRITE_SCRIPT_ANALYSIS, DWRITE_STRIKETHROUGH, DWRITE_UNDERLINE, - IDWriteFont, IDWriteFontCollection, IDWriteFontFace, IDWriteGlyphRunAnalysis, - IDWriteInlineObject, IDWriteRenderingParams, IDWriteTextAnalysisSource, IDWriteTextFormat, - IDWriteTextFormatVtbl, IDWriteTextRenderer, IDWriteTextRendererVtbl, -}; -use um::dwrite_1::{ - DWRITE_GLYPH_ORIENTATION_ANGLE, DWRITE_OUTLINE_THRESHOLD, DWRITE_TEXT_ANTIALIAS_MODE, - DWRITE_UNICODE_RANGE, DWRITE_VERTICAL_GLYPH_ORIENTATION, IDWriteFactory1, - IDWriteFactory1Vtbl, IDWriteFont1, IDWriteFont1Vtbl, IDWriteFontFace1, IDWriteFontFace1Vtbl, - IDWriteRenderingParams1, IDWriteRenderingParams1Vtbl, IDWriteTextAnalyzer1, - IDWriteTextAnalyzer1Vtbl, IDWriteTextLayout1, IDWriteTextLayout1Vtbl, -}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, WCHAR}; -ENUM!{enum DWRITE_OPTICAL_ALIGNMENT { - DWRITE_OPTICAL_ALIGNMENT_NONE = 0x0, // 0 - DWRITE_OPTICAL_ALIGNMENT_NO_SIDE_BEARINGS = 0x1, // 1 -}} -ENUM!{enum DWRITE_GRID_FIT_MODE { - DWRITE_GRID_FIT_MODE_DEFAULT = 0x0, // 0 - DWRITE_GRID_FIT_MODE_DISABLED = 0x1, // 1 - DWRITE_GRID_FIT_MODE_ENABLED = 0x2, // 2 -}} -STRUCT!{struct DWRITE_TEXT_METRICS1 { - left: FLOAT, - top: FLOAT, - width: FLOAT, - widthIncludingTrailingWhitespace: FLOAT, - height: FLOAT, - layoutWidth: FLOAT, - layoutHeight: FLOAT, - maxBidiReorderingDepth: UINT32, - lineCount: UINT32, - heightIncludingTrailingWhitespace: FLOAT, -}} -RIDL!{#[uuid(0xd3e0e934, 0x22a0, 0x427e, 0xaa, 0xe4, 0x7d, 0x95, 0x74, 0xb5, 0x9d, 0xb1)] -interface IDWriteTextRenderer1(IDWriteTextRenderer1Vtbl): - IDWriteTextRenderer(IDWriteTextRendererVtbl) { - fn DrawGlyphRun( - clientDrawingContext: *mut c_void, - baselineOriginX: FLOAT, - baselineOriginY: FLOAT, - orientationAngle: DWRITE_GLYPH_ORIENTATION_ANGLE, - measuringMode: DWRITE_MEASURING_MODE, - glyphRun: *const DWRITE_GLYPH_RUN, - glyphRunDescription: *const DWRITE_GLYPH_RUN_DESCRIPTION, - clientDrawingEffect: *mut IUnknown, - ) -> HRESULT, - fn DrawUnderline( - clientDrawingContext: *mut c_void, - baselineOriginX: FLOAT, - baselineOriginY: FLOAT, - orientationAngle: DWRITE_GLYPH_ORIENTATION_ANGLE, - underline: *const DWRITE_UNDERLINE, - clientDrawingEffect: *mut IUnknown, - ) -> HRESULT, - fn DrawStrikethrough( - clientDrawingContext: *mut c_void, - baselineOriginX: FLOAT, - baselineOriginY: FLOAT, - orientationAngle: DWRITE_GLYPH_ORIENTATION_ANGLE, - strikethrough: *const DWRITE_STRIKETHROUGH, - clientDrawingEffect: *mut IUnknown, - ) -> HRESULT, - fn DrawInlineObject( - clientDrawingContext: *mut c_void, - originX: FLOAT, - originY: FLOAT, - orientationAngle: DWRITE_GLYPH_ORIENTATION_ANGLE, - inlineObject: *mut IDWriteInlineObject, - isSideways: BOOL, - isRightToLeft: BOOL, - clientDrawingEffect: *mut IUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x5f174b49, 0x0d8b, 0x4cfb, 0x8b, 0xca, 0xf1, 0xcc, 0xe9, 0xd0, 0x6c, 0x67)] -interface IDWriteTextFormat1(IDWriteTextFormat1Vtbl): - IDWriteTextFormat(IDWriteTextFormatVtbl) { - fn SetVerticalGlyphOrientation( - glyphOrientation: DWRITE_VERTICAL_GLYPH_ORIENTATION, - ) -> HRESULT, - fn GetVerticalGlyphOrientation() -> DWRITE_VERTICAL_GLYPH_ORIENTATION, - fn SetLastLineWrapping( - isLastLineWrappingEnabled: BOOL, - ) -> HRESULT, - fn GetLastLineWrapping() -> BOOL, - fn SetOpticalAlignment( - opticalAlignment: DWRITE_OPTICAL_ALIGNMENT, - ) -> HRESULT, - fn GetOpticalAlignment() -> DWRITE_OPTICAL_ALIGNMENT, - fn SetFontFallback( - fontFallback: *mut IDWriteFontFallback, - ) -> HRESULT, - fn GetFontFallback( - fontFallback: *mut *mut IDWriteFontFallback, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x1093c18f, 0x8d5e, 0x43f0, 0xb0, 0x64, 0x09, 0x17, 0x31, 0x1b, 0x52, 0x5e)] -interface IDWriteTextLayout2(IDWriteTextLayout2Vtbl): - IDWriteTextLayout1(IDWriteTextLayout1Vtbl) { - fn GetMetrics( - textMetrics: *mut DWRITE_TEXT_METRICS1, - ) -> HRESULT, - fn SetVerticalGlyphOrientation( - glyphOrientation: DWRITE_VERTICAL_GLYPH_ORIENTATION, - ) -> HRESULT, - fn GetVerticalGlyphOrientation() -> DWRITE_VERTICAL_GLYPH_ORIENTATION, - fn SetLastLineWrapping( - isLastLineWrappingEnabled: BOOL, - ) -> HRESULT, - fn GetLastLineWrapping() -> BOOL, - fn SetOpticalAlignment( - opticalAlignment: DWRITE_OPTICAL_ALIGNMENT, - ) -> HRESULT, - fn GetOpticalAlignment() -> DWRITE_OPTICAL_ALIGNMENT, - fn SetFontFallback( - fontFallback: *mut IDWriteFontFallback, - ) -> HRESULT, - fn GetFontFallback( - fontFallback: *mut *mut IDWriteFontFallback, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x553a9ff3, 0x5693, 0x4df7, 0xb5, 0x2b, 0x74, 0x80, 0x6f, 0x7f, 0x2e, 0xb9)] -interface IDWriteTextAnalyzer2(IDWriteTextAnalyzer2Vtbl): - IDWriteTextAnalyzer1(IDWriteTextAnalyzer1Vtbl) { - fn GetGlyphOrientationTransform( - glyphOrientationAngle: DWRITE_GLYPH_ORIENTATION_ANGLE, - isSideways: BOOL, - originX: FLOAT, - originY: FLOAT, - transform: *mut DWRITE_MATRIX, - ) -> HRESULT, - fn GetTypographicFeatures( - fontFace: *mut IDWriteFontFace, - scriptAnalysis: DWRITE_SCRIPT_ANALYSIS, - localeName: *const WCHAR, - maxTagCount: UINT32, - actualTagCount: *mut UINT32, - tags: *mut DWRITE_FONT_FEATURE_TAG, - ) -> HRESULT, - fn CheckTypographicFeature( - fontFace: *mut IDWriteFontFace, - scriptAnalysis: DWRITE_SCRIPT_ANALYSIS, - localeName: *const WCHAR, - featureTag: DWRITE_FONT_FEATURE_TAG, - glyphCount: UINT32, - glyphIndices: *const UINT16, - featureApplies: *mut UINT8, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xefa008f9, 0xf7a1, 0x48bf, 0xb0, 0x5c, 0xf2, 0x24, 0x71, 0x3c, 0xc0, 0xff)] -interface IDWriteFontFallback(IDWriteFontFallbackVtbl): IUnknown(IUnknownVtbl) { - fn MapCharacters( - analysisSource: *mut IDWriteTextAnalysisSource, - textPosition: UINT32, - textLength: UINT32, - baseFontCollection: *mut IDWriteFontCollection, - baseFamilyName: *mut wchar_t, - baseWeight: DWRITE_FONT_WEIGHT, - baseStyle: DWRITE_FONT_STYLE, - baseStretch: DWRITE_FONT_STRETCH, - mappedLength: *mut UINT32, - mappedFont: *mut *mut IDWriteFont, - scale: *mut FLOAT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xfd882d06, 0x8aba, 0x4fb8, 0xb8, 0x49, 0x8b, 0xe8, 0xb7, 0x3e, 0x14, 0xde)] -interface IDWriteFontFallbackBuilder(IDWriteFontFallbackBuilderVtbl): - IUnknown(IUnknownVtbl) { - fn AddMapping( - ranges: *const DWRITE_UNICODE_RANGE, - rangesCount: UINT32, - targetFamilyNames: *mut *const WCHAR, - targetFamilyNamesCount: UINT32, - fontCollection: *mut IDWriteFontCollection, - localeName: *const WCHAR, - baseFamilyName: *const WCHAR, - scale: FLOAT, - ) -> HRESULT, - fn AddMappings( - fontFallback: *mut IDWriteFontFallback, - ) -> HRESULT, - fn CreateFontFallback( - fontFallback: *mut *mut IDWriteFontFallback, - ) -> HRESULT, -}} -pub type DWRITE_COLOR_F = D3DCOLORVALUE; -RIDL!{#[uuid(0x29748ed6, 0x8c9c, 0x4a6a, 0xbe, 0x0b, 0xd9, 0x12, 0xe8, 0x53, 0x89, 0x44)] -interface IDWriteFont2(IDWriteFont2Vtbl): IDWriteFont1(IDWriteFont1Vtbl) { - fn IsColorFont() -> BOOL, -}} -RIDL!{#[uuid(0xd8b768ff, 0x64bc, 0x4e66, 0x98, 0x2b, 0xec, 0x8e, 0x87, 0xf6, 0x93, 0xf7)] -interface IDWriteFontFace2(IDWriteFontFace2Vtbl): - IDWriteFontFace1(IDWriteFontFace1Vtbl) { - fn IsColorFont() -> BOOL, - fn GetColorPaletteCount() -> UINT32, - fn GetPaletteEntryCount() -> UINT32, - fn GetPaletteEntries( - colorPaletteIndex: UINT32, - firstEntryIndex: UINT32, - entryCount: UINT32, - paletteEntries: *mut DWRITE_COLOR_F, - ) -> HRESULT, - fn GetRecommendedRenderingMode( - fontEmSize: FLOAT, - dpiX: FLOAT, - dpiY: FLOAT, - transform: *const DWRITE_MATRIX, - isSideways: BOOL, - outlineThreshold: DWRITE_OUTLINE_THRESHOLD, - measuringMode: DWRITE_MEASURING_MODE, - renderingParams: *mut IDWriteRenderingParams, - renderingMode: *mut DWRITE_RENDERING_MODE, - gridFitMode: *mut DWRITE_GRID_FIT_MODE, - ) -> HRESULT, -}} -STRUCT!{struct DWRITE_COLOR_GLYPH_RUN { - glyphRun: DWRITE_GLYPH_RUN, - glyphRunDescription: *mut DWRITE_GLYPH_RUN_DESCRIPTION, - baselineOriginX: FLOAT, - baselineOriginY: FLOAT, - runColor: DWRITE_COLOR_F, - paletteIndex: UINT16, -}} -RIDL!{#[uuid(0xd31fbe17, 0xf157, 0x41a2, 0x8d, 0x24, 0xcb, 0x77, 0x9e, 0x05, 0x60, 0xe8)] -interface IDWriteColorGlyphRunEnumerator(IDWriteColorGlyphRunEnumeratorVtbl): - IUnknown(IUnknownVtbl) { - fn MoveNext( - hasRun: *mut BOOL, - ) -> HRESULT, - fn GetCurrentRun( - colorGlyphRun: *mut *const DWRITE_COLOR_GLYPH_RUN, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xf9d711c3, 0x9777, 0x40ae, 0x87, 0xe8, 0x3e, 0x5a, 0xf9, 0xbf, 0x09, 0x48)] -interface IDWriteRenderingParams2(IDWriteRenderingParams2Vtbl): - IDWriteRenderingParams1(IDWriteRenderingParams1Vtbl) { - fn GetGridFitMode() -> DWRITE_GRID_FIT_MODE, -}} -RIDL!{#[uuid(0x0439fc60, 0xca44, 0x4994, 0x8d, 0xee, 0x3a, 0x9a, 0xf7, 0xb7, 0x32, 0xec)] -interface IDWriteFactory2(IDWriteFactory2Vtbl): IDWriteFactory1(IDWriteFactory1Vtbl) { - fn GetSystemFontFallback( - fontFallback: *mut *mut IDWriteFontFallback, - ) -> HRESULT, - fn CreateFontFallbackBuilder( - fontFallbackBuilder: *mut *mut IDWriteFontFallbackBuilder, - ) -> HRESULT, - fn TranslateColorGlyphRun( - baselineOriginX: FLOAT, - baselineOriginY: FLOAT, - glyphRun: *const DWRITE_GLYPH_RUN, - glyphRunDescription: *const DWRITE_GLYPH_RUN_DESCRIPTION, - measuringMode: DWRITE_MEASURING_MODE, - worldToDeviceTransform: *const DWRITE_MATRIX, - colorPaletteIndex: UINT32, - colorLayers: *mut *mut IDWriteColorGlyphRunEnumerator, - ) -> HRESULT, - fn CreateCustomRenderingParams( - gamma: FLOAT, - enhancedContrast: FLOAT, - grayscaleEnhancedContrast: FLOAT, - clearTypeLevel: FLOAT, - pixelGeometry: DWRITE_PIXEL_GEOMETRY, - renderingMode: DWRITE_RENDERING_MODE, - gridFitMode: DWRITE_GRID_FIT_MODE, - renderingParams: *mut *mut IDWriteRenderingParams2, - ) -> HRESULT, - fn CreateGlyphRunAnalysis( - glyphRun: *const DWRITE_GLYPH_RUN, - transform: *const DWRITE_MATRIX, - renderingMode: DWRITE_RENDERING_MODE, - measuringMode: DWRITE_MEASURING_MODE, - gridFitMode: DWRITE_GRID_FIT_MODE, - antialiasMode: DWRITE_TEXT_ANTIALIAS_MODE, - baselineOriginX: FLOAT, - baselineOriginY: FLOAT, - glyphRunAnalysis: *mut *mut IDWriteGlyphRunAnalysis, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dwrite_3.rs b/vendor/registry-40351f815f426200/winapi/src/um/dwrite_3.rs deleted file mode 100644 index f6645c347..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dwrite_3.rs +++ /dev/null @@ -1,578 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the content of dwrite_3.h -use ctypes::c_void; -use shared::basetsd::{UINT16, UINT32, UINT64}; -use shared::minwindef::{BOOL, FILETIME, FLOAT}; -use um::dcommon::{DWRITE_GLYPH_IMAGE_DATA, DWRITE_GLYPH_IMAGE_FORMATS, DWRITE_MEASURING_MODE}; -use um::dwrite::{ - DWRITE_FONT_SIMULATIONS, DWRITE_FONT_STRETCH, DWRITE_FONT_STYLE, DWRITE_FONT_WEIGHT, - DWRITE_GLYPH_RUN, DWRITE_INFORMATIONAL_STRING_ID, DWRITE_LINE_SPACING_METHOD, DWRITE_MATRIX, - DWRITE_PIXEL_GEOMETRY, DWRITE_RENDERING_MODE_ALIASED, DWRITE_RENDERING_MODE_DEFAULT, - DWRITE_RENDERING_MODE_GDI_CLASSIC, DWRITE_RENDERING_MODE_GDI_NATURAL, - DWRITE_RENDERING_MODE_NATURAL, DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC, - DWRITE_RENDERING_MODE_OUTLINE, IDWriteFont, IDWriteFontCollection, IDWriteFontCollectionVtbl, - IDWriteFontFace, IDWriteFontFamily, IDWriteFontFamilyVtbl, IDWriteFontFile, IDWriteFontList, - IDWriteFontListVtbl, IDWriteGdiInterop, IDWriteGdiInteropVtbl, IDWriteGlyphRunAnalysis, - IDWriteLocalizedStrings, IDWriteRenderingParams, -}; -use um::dwrite_1::{DWRITE_OUTLINE_THRESHOLD, DWRITE_PANOSE, DWRITE_TEXT_ANTIALIAS_MODE}; -use um::dwrite_2::{ - DWRITE_GRID_FIT_MODE, IDWriteFactory2, IDWriteFactory2Vtbl, IDWriteFont2, IDWriteFont2Vtbl, - IDWriteFontFace2, IDWriteFontFace2Vtbl, IDWriteRenderingParams2, IDWriteRenderingParams2Vtbl, - IDWriteTextFormat1, IDWriteTextFormat1Vtbl, IDWriteTextLayout2, IDWriteTextLayout2Vtbl, -}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::wingdi::{FONTSIGNATURE, LOGFONTW}; -use um::winnt::{HRESULT, WCHAR}; -pub const DWRITE_E_REMOTEFONT: HRESULT = 0x8898500D; -pub const DWRITE_E_DOWNLOADCANCELLED: HRESULT = 0x8898500E; -pub const DWRITE_E_DOWNLOADFAILED: HRESULT = 0x8898500F; -pub const DWRITE_E_TOOMANYDOWNLOADS: HRESULT = 0x88985010; -ENUM!{enum DWRITE_FONT_PROPERTY_ID { - DWRITE_FONT_PROPERTY_ID_NONE, - DWRITE_FONT_PROPERTY_ID_FAMILY_NAME, - DWRITE_FONT_PROPERTY_ID_PREFERRED_FAMILY_NAME, - DWRITE_FONT_PROPERTY_ID_FACE_NAME, - DWRITE_FONT_PROPERTY_ID_FULL_NAME, - DWRITE_FONT_PROPERTY_ID_WIN32_FAMILY_NAME, - DWRITE_FONT_PROPERTY_ID_POSTSCRIPT_NAME, - DWRITE_FONT_PROPERTY_ID_DESIGN_SCRIPT_LANGUAGE_TAG, - DWRITE_FONT_PROPERTY_ID_SUPPORTED_SCRIPT_LANGUAGE_TAG, - DWRITE_FONT_PROPERTY_ID_SEMANTIC_TAG, - DWRITE_FONT_PROPERTY_ID_WEIGHT , - DWRITE_FONT_PROPERTY_ID_STRETCH, - DWRITE_FONT_PROPERTY_ID_STYLE, - DWRITE_FONT_PROPERTY_ID_TOTAL, -}} -STRUCT!{struct DWRITE_FONT_PROPERTY { - propertyId: DWRITE_FONT_PROPERTY_ID, - propertyValue: *const WCHAR, - localeName: *const WCHAR, -}} -ENUM!{enum DWRITE_LOCALITY { - DWRITE_LOCALITY_REMOTE, - DWRITE_LOCALITY_PARTIAL, - DWRITE_LOCALITY_LOCAL, -}} -ENUM!{enum DWRITE_RENDERING_MODE1 { - DWRITE_RENDERING_MODE1_DEFAULT = DWRITE_RENDERING_MODE_DEFAULT, - DWRITE_RENDERING_MODE1_ALIASED = DWRITE_RENDERING_MODE_ALIASED, - DWRITE_RENDERING_MODE1_GDI_CLASSIC = DWRITE_RENDERING_MODE_GDI_CLASSIC, - DWRITE_RENDERING_MODE1_GDI_NATURAL = DWRITE_RENDERING_MODE_GDI_NATURAL, - DWRITE_RENDERING_MODE1_NATURAL = DWRITE_RENDERING_MODE_NATURAL, - DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC = DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC, - DWRITE_RENDERING_MODE1_OUTLINE = DWRITE_RENDERING_MODE_OUTLINE, - DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC_DOWNSAMPLED, -}} -RIDL!{#[uuid(0xb7924baa, 0x391b, 0x412a, 0x8c, 0x5c, 0xe4, 0x4c, 0xc2, 0xd8, 0x67, 0xdc)] -interface IDWriteRenderingParams3(IDWriteRenderingParams3Vtbl): - IDWriteRenderingParams2(IDWriteRenderingParams2Vtbl) { - fn GetRenderingMode1() -> DWRITE_RENDERING_MODE1, -}} -RIDL!{#[uuid(0x9a1b41c3, 0xd3bb, 0x466a, 0x87, 0xfc, 0xfe, 0x67, 0x55, 0x6a, 0x3b, 0x65)] -interface IDWriteFactory3(IDWriteFactory3Vtbl): IDWriteFactory2(IDWriteFactory2Vtbl) { - fn CreateGlyphRunAnalysis( - glyphRun: *const DWRITE_GLYPH_RUN, - transform: *const DWRITE_MATRIX, - renderingMode: DWRITE_RENDERING_MODE1, - measuringMode: DWRITE_MEASURING_MODE, - gridFitMode: DWRITE_GRID_FIT_MODE, - antialiasMode: DWRITE_TEXT_ANTIALIAS_MODE, - baselineOriginX: FLOAT, - baselineOriginY: FLOAT, - glyphRunAnalysis: *mut *mut IDWriteGlyphRunAnalysis, - ) -> HRESULT, - fn CreateCustomRenderingParams( - gamma: FLOAT, - enhancedContrast: FLOAT, - grayscaleEnhancedContrast: FLOAT, - clearTypeLevel: FLOAT, - pixelGeometry: DWRITE_PIXEL_GEOMETRY, - renderingMode: DWRITE_RENDERING_MODE1, - gridFitMode: DWRITE_GRID_FIT_MODE, - renderingParams: *mut *mut IDWriteRenderingParams3, - ) -> HRESULT, - fn CreateFontFaceReference_2( - fontFile: *mut IDWriteFontFile, - faceIndex: UINT32, - fontSimulations: DWRITE_FONT_SIMULATIONS, - fontFaceReference: *mut *mut IDWriteFontFaceReference, - ) -> HRESULT, - fn CreateFontFaceReference_1( - filePath: *const WCHAR, - lastWriteTime: *const FILETIME, - faceIndex: UINT32, - fontSimulations: DWRITE_FONT_SIMULATIONS, - fontFaceReference: *mut *mut IDWriteFontFaceReference, - ) -> HRESULT, - fn GetSystemFontSet( - fontSet: *mut *mut IDWriteFontSet, - ) -> HRESULT, - fn CreateFontSetBuilder( - fontSetBuilder: *mut *mut IDWriteFontSetBuilder, - ) -> HRESULT, - fn CreateFontCollectionFromFontSet( - fontSet: *mut IDWriteFontSet, - fontCollection: *mut *mut IDWriteFontCollection1, - ) -> HRESULT, - fn GetSystemFontCollection( - includeDownloadableFonts: BOOL, - fontCollection: *mut *mut IDWriteFontCollection1, - checkForUpdates: BOOL, - ) -> HRESULT, - fn GetFontDownloadQueue( - fontDownloadQueue: *mut *mut IDWriteFontDownloadQueue, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x53585141, 0xd9f8, 0x4095, 0x83, 0x21, 0xd7, 0x3c, 0xf6, 0xbd, 0x11, 0x6b)] -interface IDWriteFontSet(IDWriteFontSetVtbl): IUnknown(IUnknownVtbl) { - fn GetFontCount() -> UINT32, - fn GetFontFaceReference( - listIndex: UINT32, - fontFaceReference: *mut *mut IDWriteFontFaceReference, - ) -> HRESULT, - fn FindFontFaceReference( - fontFaceReference: *mut IDWriteFontFaceReference, - listIndex: *mut UINT32, - exists: *mut BOOL, - ) -> HRESULT, - fn FindFontFace( - fontFace: *mut IDWriteFontFace, - listIndex: *mut UINT32, - exists: *mut BOOL, - ) -> HRESULT, - fn GetPropertyValues_3( - propertyID: DWRITE_FONT_PROPERTY_ID, - values: *mut *mut IDWriteStringList, - ) -> HRESULT, - fn GetPropertyValues_2( - propertyID: DWRITE_FONT_PROPERTY_ID, - preferredLocaleNames: *const WCHAR, - values: *mut *mut IDWriteStringList, - ) -> HRESULT, - fn GetPropertyValues_1( - listIndex: UINT32, - propertyId: DWRITE_FONT_PROPERTY_ID, - exists: *mut BOOL, - values: *mut *mut IDWriteLocalizedStrings, - ) -> HRESULT, - fn GetPropertyOccurrenceCount( - property: *const DWRITE_FONT_PROPERTY, - propertyOccurrenceCount: *mut UINT32, - ) -> HRESULT, - fn GetMatchingFonts_2( - familyName: *const WCHAR, - fontWeight: DWRITE_FONT_WEIGHT, - fontStretch: DWRITE_FONT_STRETCH, - fontStyle: DWRITE_FONT_STYLE, - filteredSet: *mut *mut IDWriteFontSet, - ) -> HRESULT, - fn GetMatchingFonts_1( - properties: *const DWRITE_FONT_PROPERTY, - propertyCount: UINT32, - filteredSet: *mut *mut IDWriteFontSet, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2f642afe, 0x9c68, 0x4f40, 0xb8, 0xbe, 0x45, 0x74, 0x01, 0xaf, 0xcb, 0x3d)] -interface IDWriteFontSetBuilder(IDWriteFontSetBuilderVtbl): IUnknown(IUnknownVtbl) { - fn AddFontFaceReference_2( - fontFaceReference: *mut IDWriteFontFaceReference, - properties: *const DWRITE_FONT_PROPERTY, - propertyCount: UINT32, - ) -> HRESULT, - fn AddFontFaceReference_1( - fontFaceReference: *mut IDWriteFontFaceReference, - ) -> HRESULT, - fn AddFontSet( - fontSet: *mut IDWriteFontSet, - ) -> HRESULT, - fn CreateFontSet( - fontSet: *mut *mut IDWriteFontSet, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x53585141, 0xd9f8, 0x4095, 0x83, 0x21, 0xd7, 0x3c, 0xf6, 0xbd, 0x11, 0x6c)] -interface IDWriteFontCollection1(IDWriteFontCollection1Vtbl): - IDWriteFontCollection(IDWriteFontCollectionVtbl) { - fn GetFontSet( - fontSet: *mut *mut IDWriteFontSet, - ) -> HRESULT, - fn GetFontFamily( - index: UINT32, - fontFamily: *mut *mut IDWriteFontFamily1, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xda20d8ef, 0x812a, 0x4c43, 0x98, 0x02, 0x62, 0xec, 0x4a, 0xbd, 0x7a, 0xdf)] -interface IDWriteFontFamily1(IDWriteFontFamily1Vtbl): - IDWriteFontFamily(IDWriteFontFamilyVtbl) { - fn GetFontLocality( - listIndex: UINT32, - ) -> DWRITE_LOCALITY, - fn GetFont( - listIndex: UINT32, - font: *mut *mut IDWriteFont3, - ) -> HRESULT, - fn GetFontFaceReference( - listIndex: UINT32, - fontFaceReference: *mut *mut IDWriteFontFaceReference, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xda20d8ef, 0x812a, 0x4c43, 0x98, 0x02, 0x62, 0xec, 0x4a, 0xbd, 0x7a, 0xde)] -interface IDWriteFontList1(IDWriteFontList1Vtbl): IDWriteFontList(IDWriteFontListVtbl) { - fn GetFontLocality( - listIndex: UINT32, - ) -> DWRITE_LOCALITY, - fn GetFont( - listIndex: UINT32, - font: *mut *mut IDWriteFont3, - ) -> HRESULT, - fn GetFontFaceReference( - listIndex: UINT32, - fontFaceReference: *mut *mut IDWriteFontFaceReference, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x5e7fa7ca, 0xdde3, 0x424c, 0x89, 0xf0, 0x9f, 0xcd, 0x6f, 0xed, 0x58, 0xcd)] -interface IDWriteFontFaceReference(IDWriteFontFaceReferenceVtbl): - IUnknown(IUnknownVtbl) { - fn CreateFontFace( - fontFace: *mut *mut IDWriteFontFace3, - ) -> HRESULT, - fn CreateFontFaceWithSimulations( - fontFaceSimulationFlags: DWRITE_FONT_SIMULATIONS, - fontFace: *mut *mut IDWriteFontFace3, - ) -> HRESULT, - fn Equals( - fontFaceReference: *mut IDWriteFontFaceReference, - ) -> BOOL, - fn GetFontFaceIndex() -> UINT32, - fn GetSimulations() -> DWRITE_FONT_SIMULATIONS, - fn GetFontFile( - fontFile: *mut *mut IDWriteFontFile, - ) -> HRESULT, - fn GetLocalFileSize() -> UINT64, - fn GetFileSize() -> UINT64, - fn GetFileTime( - lastWriteTime: *mut FILETIME, - ) -> HRESULT, - fn GetLocality() -> DWRITE_LOCALITY, - fn EnqueueFontDownloadRequest() -> HRESULT, - fn EnqueueCharacterDownloadRequest( - characters: *const WCHAR, - characterCount: UINT32, - ) -> HRESULT, - fn EnqueueGlyphDownloadRequest( - glyphIndices: *const UINT16, - glyphCount: UINT32, - ) -> HRESULT, - fn EnqueueFileFragmentDownloadRequest( - fileOffset: UINT64, - fragmentSize: UINT64, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x29748ed6, 0x8c9c, 0x4a6a, 0xbe, 0x0b, 0xd9, 0x12, 0xe8, 0x53, 0x89, 0x44)] -interface IDWriteFont3(IDWriteFont3Vtbl): IDWriteFont2(IDWriteFont2Vtbl) { - fn CreateFontFace( - fontFace: *mut *mut IDWriteFontFace3, - ) -> HRESULT, - fn Equals( - font: *mut IDWriteFont, - ) -> BOOL, - fn GetFontFaceReference( - fontFaceReference: *mut *mut IDWriteFontFaceReference, - ) -> HRESULT, - fn HasCharacter( - unicodeValue: UINT32, - ) -> BOOL, - fn GetLocality() -> DWRITE_LOCALITY, -}} -RIDL!{#[uuid(0xd37d7598, 0x09be, 0x4222, 0xa2, 0x36, 0x20, 0x81, 0x34, 0x1c, 0xc1, 0xf2)] -interface IDWriteFontFace3(IDWriteFontFace3Vtbl): - IDWriteFontFace2(IDWriteFontFace2Vtbl) { - fn GetFontFaceReference( - fontFaceReference: *mut *mut IDWriteFontFaceReference, - ) -> HRESULT, - fn GetPanose( - panose: *mut DWRITE_PANOSE, - ) -> (), - fn GetWeight() -> DWRITE_FONT_WEIGHT, - fn GetStretch() -> DWRITE_FONT_STRETCH, - fn GetStyle() -> DWRITE_FONT_STYLE, - fn GetFamilyNames( - names: *mut *mut IDWriteLocalizedStrings, - ) -> HRESULT, - fn GetFaceNames( - names: *mut *mut IDWriteLocalizedStrings, - ) -> HRESULT, - fn GetInformationalStrings( - informationalStringID: DWRITE_INFORMATIONAL_STRING_ID, - informationalStrings: *mut *mut IDWriteLocalizedStrings, - exists: *mut BOOL, - ) -> HRESULT, - fn HasCharacter( - unicodeValue: UINT32, - ) -> BOOL, - fn GetRecommendedRenderingMode( - fontEmSize: FLOAT, - dpiX: FLOAT, - dpiY: FLOAT, - transform: *const DWRITE_MATRIX, - isSideways: BOOL, - outlineThreshold: DWRITE_OUTLINE_THRESHOLD, - measuringMode: DWRITE_MEASURING_MODE, - renderingParams: *mut IDWriteRenderingParams, - renderingMode: *mut DWRITE_RENDERING_MODE1, - gridFitMode: *mut DWRITE_GRID_FIT_MODE, - ) -> HRESULT, - fn IsCharacterLocal( - unicodeValue: UINT32, - ) -> BOOL, - fn IsGlyphLocal( - glyphId: UINT16, - ) -> BOOL, - fn AreCharactersLocal( - characters: *const WCHAR, - characterCount: UINT32, - enqueueIfNotLocal: BOOL, - isLocal: *mut BOOL, - ) -> HRESULT, - fn AreGlyphsLocal( - glyphIndices: *const UINT16, - glyphCount: UINT32, - enqueueIfNotLocal: BOOL, - isLocal: *mut BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xcfee3140, 0x1157, 0x47ca, 0x8b, 0x85, 0x31, 0xbf, 0xcf, 0x3f, 0x2d, 0x0e)] -interface IDWriteStringList(IDWriteStringListVtbl): IUnknown(IUnknownVtbl) { - fn GetCount() -> UINT32, - fn GetLocaleNameLength( - listIndex: UINT32, - length: *mut UINT32, - ) -> HRESULT, - fn GetLocaleName( - listIndex: UINT32, - localeName: *mut WCHAR, - size: UINT32, - ) -> HRESULT, - fn GetStringLength( - listIndex: UINT32, - length: *mut UINT32, - ) -> HRESULT, - fn GetString( - listIndex: UINT32, - stringBuffer: *mut WCHAR, - stringBufferSize: UINT32, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xb06fe5b9, 0x43ec, 0x4393, 0x88, 0x1b, 0xdb, 0xe4, 0xdc, 0x72, 0xfd, 0xa7)] -interface IDWriteFontDownloadListener(IDWriteFontDownloadListenerVtbl): - IUnknown(IUnknownVtbl) { - fn DownloadCompleted( - downloadQueue: *mut IDWriteFontDownloadQueue, - context: *mut IUnknown, - downloadResult: HRESULT, - ) -> (), -}} -RIDL!{#[uuid(0xb71e6052, 0x5aea, 0x4fa3, 0x83, 0x2e, 0xf6, 0x0d, 0x43, 0x1f, 0x7e, 0x91)] -interface IDWriteFontDownloadQueue(IDWriteFontDownloadQueueVtbl): - IUnknown(IUnknownVtbl) { - fn AddListener( - listener: *mut IDWriteFontDownloadListener, - token: *mut UINT32, - ) -> HRESULT, - fn RemoveListener( - token: UINT32, - ) -> HRESULT, - fn IsEmpty() -> BOOL, - fn BeginDownload( - context: *mut IUnknown, - ) -> HRESULT, - fn CancelDownload() -> HRESULT, - fn GetGenerationCount() -> UINT64, -}} -RIDL!{#[uuid(0x4556be70, 0x3abd, 0x4f70, 0x90, 0xbe, 0x42, 0x17, 0x80, 0xa6, 0xf5, 0x15)] -interface IDWriteGdiInterop1(IDWriteGdiInterop1Vtbl): - IDWriteGdiInterop(IDWriteGdiInteropVtbl) { - fn CreateFontFromLOGFONT( - logFont: *const LOGFONTW, - fontCollection: *mut IDWriteFontCollection, - font: *mut *mut IDWriteFont, - ) -> HRESULT, - fn GetFontSignature_2( - fontFace: *mut IDWriteFontFace, - fontSignature: *mut FONTSIGNATURE, - ) -> HRESULT, - fn GetFontSignature_1( - font: *mut IDWriteFont, - fontSignature: *mut FONTSIGNATURE, - ) -> HRESULT, - fn GetMatchingFontsByLOGFONT( - logFont: *const LOGFONTW, - fontSet: *mut IDWriteFontSet, - filteredSet: *mut *mut IDWriteFontSet, - ) -> HRESULT, -}} -STRUCT!{struct DWRITE_LINE_METRICS1 { - length: UINT32, - trailingWhitespaceLength: UINT32, - newlineLength: UINT32, - height: FLOAT, - baseline: FLOAT, - isTrimmed: BOOL, - leadingBefore: FLOAT, - leadingAfter: FLOAT, -}} -ENUM!{enum DWRITE_FONT_LINE_GAP_USAGE { - DWRITE_FONT_LINE_GAP_USAGE_DEFAULT, - DWRITE_FONT_LINE_GAP_USAGE_DISABLED, - DWRITE_FONT_LINE_GAP_USAGE_ENABLED, -}} -STRUCT!{struct DWRITE_LINE_SPACING { - method: DWRITE_LINE_SPACING_METHOD, - height: FLOAT, - baseline: FLOAT, - leadingBefore: FLOAT, - fontLineGapUsage: DWRITE_FONT_LINE_GAP_USAGE, -}} -RIDL!{#[uuid(0xf67e0edd, 0x9e3d, 0x4ecc, 0x8c, 0x32, 0x41, 0x83, 0x25, 0x3d, 0xfe, 0x70)] -interface IDWriteTextFormat2(IDWriteTextFormat2Vtbl): - IDWriteTextFormat1(IDWriteTextFormat1Vtbl) { - fn SetLineSpacing( - lineSpacingOptions: *const DWRITE_LINE_SPACING, - ) -> HRESULT, - fn GetLineSpacing( - lineSpacingOptions: *mut DWRITE_LINE_SPACING, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x07ddcd52, 0x020e, 0x4de8, 0xac, 0x33, 0x6c, 0x95, 0x3d, 0x83, 0xf9, 0x2d)] -interface IDWriteTextLayout3(IDWriteTextLayout3Vtbl): - IDWriteTextLayout2(IDWriteTextLayout2Vtbl) { - fn InvalidateLayout() -> HRESULT, - fn SetLineSpacing( - lineSpacingOptions: *const DWRITE_LINE_SPACING, - ) -> HRESULT, - fn GetLineSpacing( - lineSpacingOptions: *mut DWRITE_LINE_SPACING, - ) -> HRESULT, - fn GetLineMetrics( - lineMetrics: *mut DWRITE_LINE_METRICS1, - maxLineCount: UINT32, - actualLineCount: *mut UINT32, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x27f2a904, 0x4eb8, 0x441d, 0x96, 0x78, 0x05, 0x63, 0xf5, 0x3e, 0x3e, 0x2f)] -interface IDWriteFontFace4(IDWriteFontFace4Vtbl): IDWriteFontFace3(IDWriteFontFace3Vtbl) { - fn GetGlyphImageFormats_2( - glyph: UINT16, - ppemFirst: UINT32, - ppemLast: UINT32, - formats: *mut DWRITE_GLYPH_IMAGE_FORMATS, - ) -> HRESULT, - fn GetGlyphImageFormats_1() -> DWRITE_GLYPH_IMAGE_FORMATS, - fn GetGlyphImageData( - glyph: UINT16, - ppem: UINT32, - format: DWRITE_GLYPH_IMAGE_FORMATS, - data: *mut DWRITE_GLYPH_IMAGE_DATA, - context: *mut *mut c_void, - ) -> HRESULT, - fn ReleaseGlyphImageData( - context: *mut c_void, - ) -> (), -}} -ENUM!{enum DWRITE_FONT_AXIS_TAG { - DWRITE_FONT_AXIS_TAG_WEIGHT = 0x74686777, - DWRITE_FONT_AXIS_TAG_WIDTH = 0x68746477, - DWRITE_FONT_AXIS_TAG_SLANT = 0x746e6c73, - DWRITE_FONT_AXIS_TAG_OPTICAL_SIZE = 0x7a73706f, - DWRITE_FONT_AXIS_TAG_ITALIC = 0x6c617469, -}} -STRUCT!{struct DWRITE_FONT_AXIS_VALUE { - axisTag: DWRITE_FONT_AXIS_TAG, - value: FLOAT, -}} -STRUCT!{struct DWRITE_FONT_AXIS_RANGE { - axisTag: DWRITE_FONT_AXIS_TAG, - minValue: FLOAT, - maxValue: FLOAT, -}} -ENUM!{enum DWRITE_FONT_AXIS_ATTRIBUTES { - DWRITE_FONT_AXIS_ATTRIBUTES_NONE, - DWRITE_FONT_AXIS_ATTRIBUTES_VARIABLE, - DWRITE_FONT_AXIS_ATTRIBUTES_HIDDEN, -}} -RIDL!{#[uuid(0x98eff3a5, 0xb667, 0x479a, 0xb1, 0x45, 0xe2, 0xfa, 0x5b, 0x9f, 0xdc, 0x29)] -interface IDWriteFontFace5(IDWriteFontFace5Vtbl): IDWriteFontFace4(IDWriteFontFace4Vtbl) { - fn GetFontAxisValueCount() -> UINT32, - fn GetFontAxisValues( - values: *mut DWRITE_FONT_AXIS_VALUE, - valueCount: UINT32, - ) -> HRESULT, - fn HasVariations() -> BOOL, - fn GetFontResource( - resource: *mut *mut IDWriteFontResource, - ) -> HRESULT, - fn Equals( - fontFace: *mut IDWriteFontFace, - ) -> BOOL, -}} -RIDL!{#[uuid(0xc081fe77, 0x2fd1, 0x41ac, 0xa5, 0xa3, 0x34, 0x98, 0x3c, 0x4b, 0xa6, 0x1a)] -interface IDWriteFontFaceReference1(IDWriteFontFaceReference1Vtbl): - IDWriteFontFaceReference(IDWriteFontFaceReferenceVtbl) { - fn CreateFontFace( - fontFace: *mut *mut IDWriteFontFace5, - ) -> HRESULT, - fn GetFontAxisValueCount() -> UINT32, - fn GetFontAxisValues( - values: *mut DWRITE_FONT_AXIS_VALUE, - numValues: UINT32, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x1f803a76, 0x6871, 0x48e8, 0x98, 0x7f, 0xb9, 0x75, 0x55, 0x1c, 0x50, 0xf2)] -interface IDWriteFontResource(IDWriteFontResourceVtbl): IUnknown(IUnknownVtbl) { - fn GetFontFile( - fontFile: *mut *mut IDWriteFontFile, - ) -> HRESULT, - fn GetFontFaceIndex() -> UINT32, - fn GetFontAxisCount() -> UINT32, - fn GetDefaultFontAxisValues( - values: *const DWRITE_FONT_AXIS_VALUE, - numValues: UINT32, - ) -> HRESULT, - fn GetFontAxisRanges( - ranges: *const DWRITE_FONT_AXIS_RANGE, - numRanges: UINT32, - ) -> HRESULT, - fn GetFontAxisAttributes( - axis: UINT32, - ) -> DWRITE_FONT_AXIS_ATTRIBUTES, - fn GetAxisNames( - axis: UINT32, - names: *mut *mut IDWriteLocalizedStrings, - ) -> HRESULT, - fn GetAxisValueNameCount( - axis: UINT32, - ) -> UINT32, - fn GetAxisValueNames( - axis: UINT32, - axisValue: UINT32, - axisRange: *mut DWRITE_FONT_AXIS_RANGE, - names: *mut *mut IDWriteLocalizedStrings, - ) -> HRESULT, - fn HasVariations() -> BOOL, - fn CreateFontFace( - simulations: DWRITE_FONT_SIMULATIONS, - axisValues: *const DWRITE_FONT_AXIS_VALUE, - numValues: UINT32, - fontFace: *mut *mut IDWriteFontFace5, - ) -> HRESULT, - fn CreateFontFaceReference( - simulations: DWRITE_FONT_SIMULATIONS, - axisValues: *const DWRITE_FONT_AXIS_VALUE, - numValues: UINT32, - reference: *mut *mut IDWriteFontFaceReference1, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dxdiag.rs b/vendor/registry-40351f815f426200/winapi/src/um/dxdiag.rs deleted file mode 100644 index 6f46c7ac7..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dxdiag.rs +++ /dev/null @@ -1,11 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{CLSID_DxDiagProvider, - 0xa65b8071, 0x3bfe, 0x4213, 0x9a, 0x5b, 0x49, 0x1d, 0xa4, 0x46, 0x1c, 0xa7} -DEFINE_GUID!{IID_IDxDiagProvider, - 0x9c6b4cb0, 0x23f8, 0x49cc, 0xa3, 0xed, 0x45, 0xa5, 0x50, 0x00, 0xa6, 0xd2} -DEFINE_GUID!{IID_IDxDiagContainer, - 0x7d0f462f, 0x4064, 0x4862, 0xbc, 0x7f, 0x93, 0x3e, 0x50, 0x58, 0xc1, 0x0f} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dxfile.rs b/vendor/registry-40351f815f426200/winapi/src/um/dxfile.rs deleted file mode 100644 index 67ba32c4b..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dxfile.rs +++ /dev/null @@ -1,23 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{CLSID_CDirectXFile, - 0x4516ec43, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3} -DEFINE_GUID!{IID_IDirectXFile, - 0x3d82ab40, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33} -DEFINE_GUID!{IID_IDirectXFileEnumObject, - 0x3d82ab41, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33} -DEFINE_GUID!{IID_IDirectXFileSaveObject, - 0x3d82ab42, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33} -DEFINE_GUID!{IID_IDirectXFileObject, - 0x3d82ab43, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33} -DEFINE_GUID!{IID_IDirectXFileData, - 0x3d82ab44, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33} -DEFINE_GUID!{IID_IDirectXFileDataReference, - 0x3d82ab45, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33} -DEFINE_GUID!{IID_IDirectXFileBinary, - 0x3d82ab46, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33} -DEFINE_GUID!{TID_DXFILEHeader, - 0x3d82ab43, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dxgidebug.rs b/vendor/registry-40351f815f426200/winapi/src/um/dxgidebug.rs deleted file mode 100644 index 3478da300..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dxgidebug.rs +++ /dev/null @@ -1,235 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_char, c_int, c_void}; -use shared::basetsd::{SIZE_T, UINT64}; -use shared::guiddef::{GUID, REFIID}; -use shared::minwindef::{BOOL, DWORD, UINT}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LPCSTR}; -pub const DXGI_DEBUG_BINARY_VERSION: DWORD = 1; -ENUM!{enum DXGI_DEBUG_RLO_FLAGS { - DXGI_DEBUG_RLO_SUMMARY = 0x1, - DXGI_DEBUG_RLO_DETAIL = 0x2, - DXGI_DEBUG_RLO_IGNORE_INTERNAL = 0x4, - DXGI_DEBUG_RLO_ALL = 0x7, -}} -pub type DXGI_DEBUG_ID = GUID; -DEFINE_GUID!{DXGI_DEBUG_ALL, - 0xe48ae283, 0xda80, 0x490b, 0x87, 0xe6, 0x43, 0xe9, 0xa9, 0xcf, 0xda, 0x08} -DEFINE_GUID!{DXGI_DEBUG_DX, - 0x35cdd7fc, 0x13b2, 0x421d, 0xa5, 0xd7, 0x7e, 0x44, 0x51, 0x28, 0x7d, 0x64} -DEFINE_GUID!{DXGI_DEBUG_DXGI, - 0x25cddaa4, 0xb1c6, 0x47e1, 0xac, 0x3e, 0x98, 0x87, 0x5b, 0x5a, 0x2e, 0x2a} -DEFINE_GUID!{DXGI_DEBUG_APP, - 0x06cd6e01, 0x4219, 0x4ebd, 0x87, 0x09, 0x27, 0xed, 0x23, 0x36, 0x0c, 0x62} -ENUM!{enum DXGI_INFO_QUEUE_MESSAGE_CATEGORY { - DXGI_INFO_QUEUE_MESSAGE_CATEGORY_UNKNOWN = 0, - DXGI_INFO_QUEUE_MESSAGE_CATEGORY_MISCELLANEOUS = 1, - DXGI_INFO_QUEUE_MESSAGE_CATEGORY_INITIALIZATION = 2, - DXGI_INFO_QUEUE_MESSAGE_CATEGORY_CLEANUP = 3, - DXGI_INFO_QUEUE_MESSAGE_CATEGORY_COMPILATION = 4, - DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_CREATION = 5, - DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_SETTING = 6, - DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_GETTING = 7, - DXGI_INFO_QUEUE_MESSAGE_CATEGORY_RESOURCE_MANIPULATION = 8, - DXGI_INFO_QUEUE_MESSAGE_CATEGORY_EXECUTION = 9, - DXGI_INFO_QUEUE_MESSAGE_CATEGORY_SHADER = 10, -}} -ENUM!{enum DXGI_INFO_QUEUE_MESSAGE_SEVERITY { - DXGI_INFO_QUEUE_MESSAGE_SEVERITY_CORRUPTION = 0, - DXGI_INFO_QUEUE_MESSAGE_SEVERITY_ERROR = 1, - DXGI_INFO_QUEUE_MESSAGE_SEVERITY_WARNING = 2, - DXGI_INFO_QUEUE_MESSAGE_SEVERITY_INFO = 3, - DXGI_INFO_QUEUE_MESSAGE_SEVERITY_MESSAGE = 4, -}} -pub type DXGI_INFO_QUEUE_MESSAGE_ID = c_int; -STRUCT!{struct DXGI_INFO_QUEUE_MESSAGE { - Producer: DXGI_DEBUG_ID, - Category: DXGI_INFO_QUEUE_MESSAGE_CATEGORY, - Severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY, - ID: DXGI_INFO_QUEUE_MESSAGE_ID, - pDescription: *const c_char, - DescriptionByteLength: SIZE_T, -}} -STRUCT!{struct DXGI_INFO_QUEUE_FILTER_DESC { - NumCategories: UINT, - pCategoryList: *mut DXGI_INFO_QUEUE_MESSAGE_CATEGORY, - NumSeverities: UINT, - pSeverityList: *mut DXGI_INFO_QUEUE_MESSAGE_SEVERITY, - NumIDs: UINT, - pIDList: *mut DXGI_INFO_QUEUE_MESSAGE_ID, -}} -STRUCT!{struct DXGI_INFO_QUEUE_FILTER { - AllowList: DXGI_INFO_QUEUE_FILTER_DESC, - DenyList: DXGI_INFO_QUEUE_FILTER_DESC, -}} -pub const DXGI_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT: DWORD = 1024; -extern "system" { - pub fn DXGIGetDebugInterface( - riid: REFIID, - ppDebug: *mut *mut c_void, - ) -> HRESULT; -} -RIDL!{#[uuid(0xd67441c7, 0x672a, 0x476f, 0x9e, 0x82, 0xcd, 0x55, 0xb4, 0x49, 0x49, 0xce)] -interface IDXGIInfoQueue(IDXGIInfoQueueVtbl): IUnknown(IUnknownVtbl) { - fn SetMessageCountLimit( - Producer: DXGI_DEBUG_ID, - MessageCountLimit: UINT64, - ) -> HRESULT, - fn ClearStoredMessages( - Producer: DXGI_DEBUG_ID, - ) -> (), - fn GetMessage( - Producer: DXGI_DEBUG_ID, - MessageIndex: UINT64, - pMessage: *mut DXGI_INFO_QUEUE_MESSAGE, - pMessageByteLength: *mut SIZE_T, - ) -> HRESULT, - fn GetNumStoredMessagesAllowedByRetrievalFilters( - Producer: DXGI_DEBUG_ID, - ) -> UINT64, - fn GetNumStoredMessages( - Producer: DXGI_DEBUG_ID, - ) -> UINT64, - fn GetNumMessagesDiscardedByMessageCountLimit( - Producer: DXGI_DEBUG_ID, - ) -> UINT64, - fn GetMessageCountLimit( - Producer: DXGI_DEBUG_ID, - ) -> UINT64, - fn GetNumMessagesAllowedByStorageFilter( - Producer: DXGI_DEBUG_ID, - ) -> UINT64, - fn GetNumMessagesDeniedByStorageFilter( - Producer: DXGI_DEBUG_ID, - ) -> UINT64, - fn AddStorageFilterEntries( - Producer: DXGI_DEBUG_ID, - pFilter: *const DXGI_INFO_QUEUE_FILTER, - ) -> HRESULT, - fn GetStorageFilter( - Producer: DXGI_DEBUG_ID, - pFilter: *mut DXGI_INFO_QUEUE_FILTER, - pFilterByteLength: *mut SIZE_T, - ) -> HRESULT, - fn ClearStorageFilter( - Producer: DXGI_DEBUG_ID, - ) -> (), - fn PushEmptyStorageFilter( - Producer: DXGI_DEBUG_ID, - ) -> HRESULT, - fn PushDenyAllStorageFilter( - Producer: DXGI_DEBUG_ID, - ) -> HRESULT, - fn PushCopyOfStorageFilter( - Producer: DXGI_DEBUG_ID, - ) -> HRESULT, - fn PushStorageFilter( - Producer: DXGI_DEBUG_ID, - pFilter: *const DXGI_INFO_QUEUE_FILTER, - ) -> HRESULT, - fn PopStorageFilter( - Producer: DXGI_DEBUG_ID, - ) -> (), - fn GetStorageFilterStackSize( - Producer: DXGI_DEBUG_ID, - ) -> UINT, - fn AddRetrievalFilterEntries( - Producer: DXGI_DEBUG_ID, - pFilter: *const DXGI_INFO_QUEUE_FILTER, - ) -> HRESULT, - fn GetRetrievalFilter( - Producer: DXGI_DEBUG_ID, - pFilter: *mut DXGI_INFO_QUEUE_FILTER, - pFilterByteLength: *mut SIZE_T, - ) -> HRESULT, - fn ClearRetrievalFilter( - Producer: DXGI_DEBUG_ID, - ) -> (), - fn PushEmptyRetrievalFilter( - Producer: DXGI_DEBUG_ID, - ) -> HRESULT, - fn PushDenyAllRetrievalFilter( - Producer: DXGI_DEBUG_ID, - ) -> HRESULT, - fn PushCopyOfRetrievalFilter( - Producer: DXGI_DEBUG_ID, - ) -> HRESULT, - fn PushRetrievalFilter( - Producer: DXGI_DEBUG_ID, - pFilter: *const DXGI_INFO_QUEUE_FILTER, - ) -> HRESULT, - fn PopRetrievalFilter( - Producer: DXGI_DEBUG_ID, - ) -> (), - fn GetRetrievalFilterStackSize( - Producer: DXGI_DEBUG_ID, - ) -> UINT, - fn AddMessage( - Producer: DXGI_DEBUG_ID, - Category: DXGI_INFO_QUEUE_MESSAGE_CATEGORY, - Severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY, - ID: DXGI_INFO_QUEUE_MESSAGE_ID, - pDescription: LPCSTR, - ) -> HRESULT, - fn AddApplicationMessage( - Severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY, - pDescription: LPCSTR, - ) -> HRESULT, - fn SetBreakOnCategory( - Producer: DXGI_DEBUG_ID, - Category: DXGI_INFO_QUEUE_MESSAGE_CATEGORY, - bEnable: BOOL, - ) -> HRESULT, - fn SetBreakOnSeverity( - Producer: DXGI_DEBUG_ID, - Severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY, - bEnable: BOOL, - ) -> HRESULT, - fn SetBreakOnID( - Producer: DXGI_DEBUG_ID, - ID: DXGI_INFO_QUEUE_MESSAGE_ID, - bEnable: BOOL, - ) -> HRESULT, - fn GetBreakOnCategory( - Producer: DXGI_DEBUG_ID, - Category: DXGI_INFO_QUEUE_MESSAGE_CATEGORY, - ) -> BOOL, - fn GetBreakOnSeverity( - Producer: DXGI_DEBUG_ID, - Severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY, - ) -> BOOL, - fn GetBreakOnID( - Producer: DXGI_DEBUG_ID, - ID: DXGI_INFO_QUEUE_MESSAGE_ID, - ) -> BOOL, - fn SetMuteDebugOutput( - Producer: DXGI_DEBUG_ID, - bMute: BOOL, - ) -> (), - fn GetMuteDebugOutput( - Producer: DXGI_DEBUG_ID, - ) -> BOOL, -}} -RIDL!{#[uuid(0x119e7452, 0xde9e, 0x40fe, 0x88, 0x06, 0x88, 0xf9, 0x0c, 0x12, 0xb4, 0x41)] -interface IDXGIDebug(IDXGIDebugVtbl): IUnknown(IUnknownVtbl) { - fn ReportLiveObjects( - apiid: GUID, - flags: DXGI_DEBUG_RLO_FLAGS, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x119e7452, 0xde9e, 0x40fe, 0x88, 0x06, 0x88, 0xf9, 0x0c, 0x12, 0xb4, 0x41)] -interface IDXGIDebug1(IDXGIDebug1Vtbl): IDXGIDebug(IDXGIDebugVtbl) { - fn EnableLeakTrackingForThread() -> (), - fn DisableLeakTrackingForThread() -> (), - fn IsLeakTrackingEnabledForThread() -> BOOL, -}} -DEFINE_GUID!{IID_IDXGIInfoQueue, - 0xd67441c7, 0x672a, 0x476f, 0x9e, 0x82, 0xcd, 0x55, 0xb4, 0x49, 0x49, 0xce} -DEFINE_GUID!{IID_IDXGIDebug, - 0x119e7452, 0xde9e, 0x40fe, 0x88, 0x06, 0x88, 0xf9, 0x0c, 0x12, 0xb4, 0x41} -DEFINE_GUID!{IID_IDXGIDebug1, - 0xc5a05f0c, 0x16f2, 0x4adf, 0x9f, 0x4d, 0xa8, 0xc4, 0xd5, 0x8a, 0xc5, 0x50} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dxva2api.rs b/vendor/registry-40351f815f426200/winapi/src/um/dxva2api.rs deleted file mode 100644 index db07c40e9..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dxva2api.rs +++ /dev/null @@ -1,706 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_float, c_void}; -use shared::basetsd::UINT64; -use shared::d3d9::{IDirect3DDevice9, IDirect3DSurface9}; -use shared::d3d9types::{D3DFORMAT, D3DPOOL}; -use shared::guiddef::{GUID, REFGUID, REFIID}; -use shared::minwindef::{BOOL, DWORD, FLOAT, HIWORD, LOWORD, UCHAR, UINT, USHORT}; -use shared::windef::{RECT, SIZE}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HANDLE, HRESULT, LONG, LONGLONG, PVOID, SHORT}; -DEFINE_GUID!{DXVA2_ModeMPEG2_MoComp, - 0xe6a9f44b, 0x61b0, 0x4563, 0x9e, 0xa4, 0x63, 0xd2, 0xa3, 0xc6, 0xfe, 0x66} -DEFINE_GUID!{DXVA2_ModeMPEG2_IDCT, - 0xbf22ad00, 0x03ea, 0x4690, 0x80, 0x77, 0x47, 0x33, 0x46, 0x20, 0x9b, 0x7e} -DEFINE_GUID!{DXVA2_ModeMPEG2_VLD, - 0xee27417f, 0x5e28, 0x4e65, 0xbe, 0xea, 0x1d, 0x26, 0xb5, 0x08, 0xad, 0xc9} -DEFINE_GUID!{DXVA2_ModeMPEG1_VLD, - 0x6f3ec719, 0x3735, 0x42cc, 0x80, 0x63, 0x65, 0xcc, 0x3c, 0xb3, 0x66, 0x16} -DEFINE_GUID!{DXVA2_ModeMPEG2and1_VLD, - 0x86695f12, 0x340e, 0x4f04, 0x9f, 0xd3, 0x92, 0x53, 0xdd, 0x32, 0x74, 0x60} -DEFINE_GUID!{DXVA2_ModeH264_A, - 0x1b81be64, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{DXVA2_ModeH264_B, - 0x1b81be65, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{DXVA2_ModeH264_C, - 0x1b81be66, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{DXVA2_ModeH264_D, - 0x1b81be67, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{DXVA2_ModeH264_E, - 0x1b81be68, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{DXVA2_ModeH264_F, - 0x1b81be69, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{DXVA2_ModeH264_VLD_WithFMOASO_NoFGT, - 0xd5f04ff9, 0x3418, 0x45d8, 0x95, 0x61, 0x32, 0xa7, 0x6a, 0xae, 0x2d, 0xdd} -DEFINE_GUID!{DXVA2_ModeH264_VLD_Stereo_Progressive_NoFGT, - 0xd79be8da, 0x0cf1, 0x4c81, 0xb8, 0x2a, 0x69, 0xa4, 0xe2, 0x36, 0xf4, 0x3d} -DEFINE_GUID!{DXVA2_ModeH264_VLD_Stereo_NoFGT, - 0xf9aaccbb, 0xc2b6, 0x4cfc, 0x87, 0x79, 0x57, 0x07, 0xb1, 0x76, 0x05, 0x52} -DEFINE_GUID!{DXVA2_ModeH264_VLD_Multiview_NoFGT, - 0x705b9d82, 0x76cf, 0x49d6, 0xb7, 0xe6, 0xac, 0x88, 0x72, 0xdb, 0x01, 0x3c} -DEFINE_GUID!{DXVA2_ModeWMV8_A, - 0x1b81be80, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{DXVA2_ModeWMV8_B, - 0x1b81be81, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{DXVA2_ModeWMV9_A, - 0x1b81be90, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{DXVA2_ModeWMV9_B, - 0x1b81be91, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{DXVA2_ModeWMV9_C, - 0x1b81be94, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{DXVA2_ModeVC1_A, - 0x1b81bea0, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{DXVA2_ModeVC1_B, - 0x1b81bea1, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{DXVA2_ModeVC1_C, - 0x1b81bea2, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{DXVA2_ModeVC1_D, - 0x1b81bea3, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{DXVA2_ModeVC1_D2010, - 0x1b81bea4, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{DXVA2_NoEncrypt, - 0x1b81bed0, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} -DEFINE_GUID!{DXVA2_VideoProcProgressiveDevice, - 0x5a54a0c9, 0xc7ec, 0x4bd9, 0x8e, 0xde, 0xf3, 0xc7, 0x5d, 0xc4, 0x39, 0x3b} -DEFINE_GUID!{DXVA2_VideoProcBobDevice, - 0x335aa36e, 0x7884, 0x43a4, 0x9c, 0x91, 0x7f, 0x87, 0xfa, 0xf3, 0xe3, 0x7e} -DEFINE_GUID!{DXVA2_VideoProcSoftwareDevice, - 0x4553d47f, 0xee7e, 0x4e3f, 0x94, 0x75, 0xdb, 0xf1, 0x37, 0x6c, 0x48, 0x10} -DEFINE_GUID!{DXVA2_ModeMPEG4pt2_VLD_Simple, - 0xefd64d74, 0xc9e8, 0x41d7, 0xa5, 0xe9, 0xe9, 0xb0, 0xe3, 0x9f, 0xa3, 0x19} -DEFINE_GUID!{DXVA2_ModeMPEG4pt2_VLD_AdvSimple_NoGMC, - 0xed418a9f, 0x010d, 0x4eda, 0x9a, 0xe3, 0x9a, 0x65, 0x35, 0x8d, 0x8d, 0x2e} -DEFINE_GUID!{DXVA2_ModeMPEG4pt2_VLD_AdvSimple_GMC, - 0xab998b5b, 0x4258, 0x44a9, 0x9f, 0xeb, 0x94, 0xe5, 0x97, 0xa6, 0xba, 0xae} -DEFINE_GUID!{DXVA2_ModeHEVC_VLD_Main, - 0x5b11d51b, 0x2f4c, 0x4452, 0xbc, 0xc3, 0x09, 0xf2, 0xa1, 0x16, 0x0c, 0xc0} -DEFINE_GUID!{DXVA2_ModeHEVC_VLD_Main10, - 0x107af0e0, 0xef1a, 0x4d19, 0xab, 0xa8, 0x67, 0xa1, 0x63, 0x07, 0x3d, 0x13} -DEFINE_GUID!{DXVA2_ModeVP9_VLD_Profile0, - 0x463707f8, 0xa1d0, 0x4585, 0x87, 0x6d, 0x83, 0xaa, 0x6d, 0x60, 0xb8, 0x9e} -DEFINE_GUID!{DXVA2_ModeVP9_VLD_10bit_Profile2, - 0xa4c749ef, 0x6ecf, 0x48aa, 0x84, 0x48, 0x50, 0xa7, 0xa1, 0x16, 0x5f, 0xf7} -DEFINE_GUID!{DXVA2_ModeVP8_VLD, - 0x90b899ea, 0x3a62, 0x4705, 0x88, 0xb3, 0x8d, 0xf0, 0x4b, 0x27, 0x44, 0xe7} -pub const DXVA2_ModeMPEG2_MOCOMP: GUID = DXVA2_ModeMPEG2_MoComp; -pub const DXVA2_ModeWMV8_PostProc: GUID = DXVA2_ModeWMV8_A; -pub const DXVA2_ModeWMV8_MoComp: GUID = DXVA2_ModeWMV8_B; -pub const DXVA2_ModeWMV9_PostProc: GUID = DXVA2_ModeWMV9_A; -pub const DXVA2_ModeWMV9_MoComp: GUID = DXVA2_ModeWMV9_B; -pub const DXVA2_ModeWMV9_IDCT: GUID = DXVA2_ModeWMV9_C; -pub const DXVA2_ModeVC1_PostProc: GUID = DXVA2_ModeVC1_A; -pub const DXVA2_ModeVC1_MoComp: GUID = DXVA2_ModeVC1_B; -pub const DXVA2_ModeVC1_IDCT: GUID = DXVA2_ModeVC1_C; -pub const DXVA2_ModeVC1_VLD: GUID = DXVA2_ModeVC1_D; -pub const DXVA2_ModeH264_MoComp_NoFGT: GUID = DXVA2_ModeH264_A; -pub const DXVA2_ModeH264_MoComp_FGT: GUID = DXVA2_ModeH264_B; -pub const DXVA2_ModeH264_IDCT_NoFGT: GUID = DXVA2_ModeH264_C; -pub const DXVA2_ModeH264_IDCT_FGT: GUID = DXVA2_ModeH264_D; -pub const DXVA2_ModeH264_VLD_NoFGT: GUID = DXVA2_ModeH264_E; -pub const DXVA2_ModeH264_VLD_FGT: GUID = DXVA2_ModeH264_F; -pub const DXVA2_E_NOT_INITIALIZED: HRESULT = 0x80041000; -pub const DXVA2_E_NEW_VIDEO_DEVICE: HRESULT = 0x80041001; -pub const DXVA2_E_VIDEO_DEVICE_LOCKED: HRESULT = 0x80041002; -pub const DXVA2_E_NOT_AVAILABLE: HRESULT = 0x80041003; -DEFINE_GUID!{IID_IDirect3DDeviceManager9, - 0xa0cade0f, 0x06d5, 0x4cf4, 0xa1, 0xc7, 0xf3, 0xcd, 0xd7, 0x25, 0xaa, 0x75} -DEFINE_GUID!{IID_IDirectXVideoAccelerationService, - 0xfc51a550, 0xd5e7, 0x11d9, 0xaf, 0x55, 0x00, 0x05, 0x4e, 0x43, 0xff, 0x02} -DEFINE_GUID!{IID_IDirectXVideoDecoderService, - 0xfc51a551, 0xd5e7, 0x11d9, 0xaf, 0x55, 0x00, 0x05, 0x4e, 0x43, 0xff, 0x02} -DEFINE_GUID!{IID_IDirectXVideoProcessorService, - 0xfc51a552, 0xd5e7, 0x11d9, 0xaf, 0x55, 0x00, 0x05, 0x4e, 0x43, 0xff, 0x02} -DEFINE_GUID!{IID_IDirectXVideoDecoder, - 0xf2b0810a, 0xfd00, 0x43c9, 0x91, 0x8c, 0xdf, 0x94, 0xe2, 0xd8, 0xef, 0x7d} -DEFINE_GUID!{IID_IDirectXVideoProcessor, - 0x8c3a39f0, 0x916e, 0x4690, 0x80, 0x4f, 0x4c, 0x80, 0x01, 0x35, 0x5d, 0x25} -DEFINE_GUID!{IID_IDirectXVideoMemoryConfiguration, - 0xb7f916dd, 0xdb3b, 0x49c1, 0x84, 0xd7, 0xe4, 0x5e, 0xf9, 0x9e, 0xc7, 0x26} -pub const MAX_DEINTERLACE_SURFACES: usize = 32; -pub const MAX_SUBSTREAMS: usize = 15; -STRUCT!{struct DXVA2_ExtendedFormat { - value: UINT, -}} -BITFIELD!{DXVA2_ExtendedFormat value: UINT [ - SampleFormat set_SampleFormat[0..8], - VideoChromaSubsampling set_VideoChromaSubsampling[8..12], - NominalRange set_NominalRange[12..15], - VideoTransferMatrix set_VideoTransferMatrix[15..18], - VideoLighting set_VideoLighting[18..22], - VideoPrimaries set_VideoPrimaries[22..27], - VideoTransferFunction set_VideoTransferFunction[27..32], -]} -ENUM!{enum DXVA2_SampleFormat { - DXVA2_SampleFormatMask = 0xff, - DXVA2_SampleUnknown = 0, - DXVA2_SampleProgressiveFrame = 2, - DXVA2_SampleFieldInterleavedEvenFirst = 3, - DXVA2_SampleFieldInterleavedOddFirst = 4, - DXVA2_SampleFieldSingleEven = 5, - DXVA2_SampleFieldSingleOdd = 6, - DXVA2_SampleSubStream = 7, -}} -ENUM!{enum DXVA2_VideoChromaSubSampling { - DXVA2_VideoChromaSubsamplingMask = 0xf, - DXVA2_VideoChromaSubsampling_Unknown = 0, - DXVA2_VideoChromaSubsampling_ProgressiveChroma = 0x8, - DXVA2_VideoChromaSubsampling_Horizontally_Cosited = 0x4, - DXVA2_VideoChromaSubsampling_Vertically_Cosited = 0x2, - DXVA2_VideoChromaSubsampling_Vertically_AlignedChromaPlanes = 0x1, - DXVA2_VideoChromaSubsampling_MPEG2 = DXVA2_VideoChromaSubsampling_Horizontally_Cosited | - DXVA2_VideoChromaSubsampling_Vertically_AlignedChromaPlanes, - DXVA2_VideoChromaSubsampling_MPEG1 = - DXVA2_VideoChromaSubsampling_Vertically_AlignedChromaPlanes, - DXVA2_VideoChromaSubsampling_DV_PAL = DXVA2_VideoChromaSubsampling_Horizontally_Cosited | - DXVA2_VideoChromaSubsampling_Vertically_Cosited, - DXVA2_VideoChromaSubsampling_Cosited = DXVA2_VideoChromaSubsampling_Horizontally_Cosited | - DXVA2_VideoChromaSubsampling_Vertically_Cosited | - DXVA2_VideoChromaSubsampling_Vertically_AlignedChromaPlanes, -}} -ENUM!{enum DXVA2_NominalRange { - DXVA2_NominalRangeMask = 0x7, - DXVA2_NominalRange_Unknown = 0, - DXVA2_NominalRange_Normal = 1, - DXVA2_NominalRange_Wide = 2, - DXVA2_NominalRange_0_255 = 1, - DXVA2_NominalRange_16_235 = 2, - DXVA2_NominalRange_48_208 = 3, -}} -ENUM!{enum DXVA2_VideoTransferMatrix { - DXVA2_VideoTransferMatrixMask = 0x7, - DXVA2_VideoTransferMatrix_Unknown = 0, - DXVA2_VideoTransferMatrix_BT709 = 1, - DXVA2_VideoTransferMatrix_BT601 = 2, - DXVA2_VideoTransferMatrix_SMPTE240M = 3, -}} -ENUM!{enum DXVA2_VideoLighting { - DXVA2_VideoLightingMask = 0xf, - DXVA2_VideoLighting_Unknown = 0, - DXVA2_VideoLighting_bright = 1, - DXVA2_VideoLighting_office = 2, - DXVA2_VideoLighting_dim = 3, - DXVA2_VideoLighting_dark = 4, -}} -ENUM!{enum DXVA2_VideoPrimaries { - DXVA2_VideoPrimariesMask = 0x1f, - DXVA2_VideoPrimaries_Unknown = 0, - DXVA2_VideoPrimaries_reserved = 1, - DXVA2_VideoPrimaries_BT709 = 2, - DXVA2_VideoPrimaries_BT470_2_SysM = 3, - DXVA2_VideoPrimaries_BT470_2_SysBG = 4, - DXVA2_VideoPrimaries_SMPTE170M = 5, - DXVA2_VideoPrimaries_SMPTE240M = 6, - DXVA2_VideoPrimaries_EBU3213 = 7, - DXVA2_VideoPrimaries_SMPTE_C = 8, -}} -ENUM!{enum DXVA2_VideoTransferFunction { - DXVA2_VideoTransFuncMask = 0x1f, - DXVA2_VideoTransFunc_Unknown = 0, - DXVA2_VideoTransFunc_10 = 1, - DXVA2_VideoTransFunc_18 = 2, - DXVA2_VideoTransFunc_20 = 3, - DXVA2_VideoTransFunc_22 = 4, - DXVA2_VideoTransFunc_709 = 5, - DXVA2_VideoTransFunc_240M = 6, - DXVA2_VideoTransFunc_sRGB = 7, - DXVA2_VideoTransFunc_28 = 8, -}} -pub const DXVA2_VideoTransFunc_22_709: DWORD = DXVA2_VideoTransFunc_709; -pub const DXVA2_VideoTransFunc_22_240M: DWORD = DXVA2_VideoTransFunc_240M; -pub const DXVA2_VideoTransFunc_22_8bit_sRGB: DWORD = DXVA2_VideoTransFunc_sRGB; -STRUCT!{struct DXVA2_Frequency { - Numerator: UINT, - Denominator: UINT, -}} -STRUCT!{struct DXVA2_VideoDesc { - SampleWidth: UINT, - SampleHeight: UINT, - SampleFormat: DXVA2_ExtendedFormat, - Format: D3DFORMAT, - InputSampleFreq: DXVA2_Frequency, - OutputFrameFreq: DXVA2_Frequency, - UABProtectionLevel: UINT, - Reserved: UINT, -}} -ENUM!{enum __MIDL___MIDL_itf_dxva2api_0000_0000_0003 { - DXVA2_DeinterlaceTech_Unknown = 0, - DXVA2_DeinterlaceTech_BOBLineReplicate = 0x1, - DXVA2_DeinterlaceTech_BOBVerticalStretch = 0x2, - DXVA2_DeinterlaceTech_BOBVerticalStretch4Tap = 0x4, - DXVA2_DeinterlaceTech_MedianFiltering = 0x8, - DXVA2_DeinterlaceTech_EdgeFiltering = 0x10, - DXVA2_DeinterlaceTech_FieldAdaptive = 0x20, - DXVA2_DeinterlaceTech_PixelAdaptive = 0x40, - DXVA2_DeinterlaceTech_MotionVectorSteered = 0x80, - DXVA2_DeinterlaceTech_InverseTelecine = 0x100, - DXVA2_DeinterlaceTech_Mask = 0x1ff, -}} -ENUM!{enum __MIDL___MIDL_itf_dxva2api_0000_0000_0004 { - DXVA2_NoiseFilterLumaLevel = 1, - DXVA2_NoiseFilterLumaThreshold = 2, - DXVA2_NoiseFilterLumaRadius = 3, - DXVA2_NoiseFilterChromaLevel = 4, - DXVA2_NoiseFilterChromaThreshold = 5, - DXVA2_NoiseFilterChromaRadius = 6, - DXVA2_DetailFilterLumaLevel = 7, - DXVA2_DetailFilterLumaThreshold = 8, - DXVA2_DetailFilterLumaRadius = 9, - DXVA2_DetailFilterChromaLevel = 10, - DXVA2_DetailFilterChromaThreshold = 11, - DXVA2_DetailFilterChromaRadius = 12, -}} -ENUM!{enum __MIDL___MIDL_itf_dxva2api_0000_0000_0005 { - DXVA2_NoiseFilterTech_Unsupported = 0, - DXVA2_NoiseFilterTech_Unknown = 0x1, - DXVA2_NoiseFilterTech_Median = 0x2, - DXVA2_NoiseFilterTech_Temporal = 0x4, - DXVA2_NoiseFilterTech_BlockNoise = 0x8, - DXVA2_NoiseFilterTech_MosquitoNoise = 0x10, - DXVA2_NoiseFilterTech_Mask = 0x1f, -}} -ENUM!{enum __MIDL___MIDL_itf_dxva2api_0000_0000_0006 { - DXVA2_DetailFilterTech_Unsupported = 0, - DXVA2_DetailFilterTech_Unknown = 0x1, - DXVA2_DetailFilterTech_Edge = 0x2, - DXVA2_DetailFilterTech_Sharpening = 0x4, - DXVA2_DetailFilterTech_Mask = 0x7, -}} -ENUM!{enum __MIDL___MIDL_itf_dxva2api_0000_0000_0007 { - DXVA2_ProcAmp_None = 0, - DXVA2_ProcAmp_Brightness = 0x1, - DXVA2_ProcAmp_Contrast = 0x2, - DXVA2_ProcAmp_Hue = 0x4, - DXVA2_ProcAmp_Saturation = 0x8, - DXVA2_ProcAmp_Mask = 0xf, -}} -ENUM!{enum __MIDL___MIDL_itf_dxva2api_0000_0000_0008 { - DXVA2_VideoProcess_None = 0, - DXVA2_VideoProcess_YUV2RGB = 0x1, - DXVA2_VideoProcess_StretchX = 0x2, - DXVA2_VideoProcess_StretchY = 0x4, - DXVA2_VideoProcess_AlphaBlend = 0x8, - DXVA2_VideoProcess_SubRects = 0x10, - DXVA2_VideoProcess_SubStreams = 0x20, - DXVA2_VideoProcess_SubStreamsExtended = 0x40, - DXVA2_VideoProcess_YUV2RGBExtended = 0x80, - DXVA2_VideoProcess_AlphaBlendExtended = 0x100, - DXVA2_VideoProcess_Constriction = 0x200, - DXVA2_VideoProcess_NoiseFilter = 0x400, - DXVA2_VideoProcess_DetailFilter = 0x800, - DXVA2_VideoProcess_PlanarAlpha = 0x1000, - DXVA2_VideoProcess_LinearScaling = 0x2000, - DXVA2_VideoProcess_GammaCompensated = 0x4000, - DXVA2_VideoProcess_MaintainsOriginalFieldData = 0x8000, - DXVA2_VideoProcess_Mask = 0xffff, -}} -ENUM!{enum __MIDL___MIDL_itf_dxva2api_0000_0000_0009 { - DXVA2_VPDev_HardwareDevice = 0x1, - DXVA2_VPDev_EmulatedDXVA1 = 0x2, - DXVA2_VPDev_SoftwareDevice = 0x4, - DXVA2_VPDev_Mask = 0x7, -}} -ENUM!{enum __MIDL___MIDL_itf_dxva2api_0000_0000_0010 { - DXVA2_SampleData_RFF = 0x1, - DXVA2_SampleData_TFF = 0x2, - DXVA2_SampleData_RFF_TFF_Present = 0x4, - DXVA2_SampleData_Mask = 0xffff, -}} -ENUM!{enum __MIDL___MIDL_itf_dxva2api_0000_0000_0011 { - DXVA2_DestData_RFF = 0x1, - DXVA2_DestData_TFF = 0x2, - DXVA2_DestData_RFF_TFF_Present = 0x4, - DXVA2_DestData_Mask = 0xffff, -}} -STRUCT!{struct DXVA2_VideoProcessorCaps { - DeviceCaps: UINT, - InputPool: D3DPOOL, - NumForwardRefSamples: UINT, - NumBackwardRefSamples: UINT, - Reserved: UINT, - DeinterlaceTechnology: UINT, - ProcAmpControlCaps: UINT, - VideoProcessorOperations: UINT, - NoiseFilterTechnology: UINT, - DetailFilterTechnology: UINT, -}} -STRUCT!{struct DXVA2_Fixed32_s { - Fraction: USHORT, - Value: SHORT, -}} -UNION!{union DXVA2_Fixed32 { - [u32; 1], - s s_mut: DXVA2_Fixed32_s, - ll s_ll: LONG, -}} -STRUCT!{struct DXVA2_AYUVSample8 { - Cr: UCHAR, - Cb: UCHAR, - Y: UCHAR, - Alpha: UCHAR, -}} -STRUCT!{struct DXVA2_AYUVSample16 { - Cr: USHORT, - Cb: USHORT, - Y: USHORT, - Alpha: USHORT, -}} -pub type REFERENCE_TIME = LONGLONG; -STRUCT!{struct DXVA2_VideoSample { - Start: REFERENCE_TIME, - End: REFERENCE_TIME, - SampleFormat: DXVA2_ExtendedFormat, - SrcSurface: *mut IDirect3DSurface9, - SrcRect: RECT, - DstRect: RECT, - Pal: [DXVA2_AYUVSample8; 16], - PlanarAlpha: DXVA2_Fixed32, - SampleData: DWORD, -}} -STRUCT!{struct DXVA2_ValueRange { - MinValue: DXVA2_Fixed32, - MaxValue: DXVA2_Fixed32, - DefaultValue: DXVA2_Fixed32, - StepSize: DXVA2_Fixed32, -}} -STRUCT!{struct DXVA2_ProcAmpValues { - Brightness: DXVA2_Fixed32, - Contrast: DXVA2_Fixed32, - Hue: DXVA2_Fixed32, - Saturation: DXVA2_Fixed32, -}} -STRUCT!{struct DXVA2_FilterValues { - Level: DXVA2_Fixed32, - Threshold: DXVA2_Fixed32, - Radius: DXVA2_Fixed32, -}} -STRUCT!{struct DXVA2_VideoProcessBltParams { - TargetFrame: REFERENCE_TIME, - TargetRect: RECT, - ConstrictionSize: SIZE, - StreamingFlags: UINT, - BackgroundColor: DXVA2_AYUVSample16, - DestFormat: DXVA2_ExtendedFormat, - ProcAmpValues: DXVA2_ProcAmpValues, - Alpha: DXVA2_Fixed32, - NoiseFilterLuma: DXVA2_FilterValues, - NoiseFilterChroma: DXVA2_FilterValues, - DetailFilterLuma: DXVA2_FilterValues, - DetailFilterChroma: DXVA2_FilterValues, - DestData: DWORD, -}} -ENUM!{enum __MIDL___MIDL_itf_dxva2api_0000_0000_0012 { - DXVA2_PictureParametersBufferType = 0, - DXVA2_MacroBlockControlBufferType = 1, - DXVA2_ResidualDifferenceBufferType = 2, - DXVA2_DeblockingControlBufferType = 3, - DXVA2_InverseQuantizationMatrixBufferType = 4, - DXVA2_SliceControlBufferType = 5, - DXVA2_BitStreamDateBufferType = 6, - DXVA2_MotionVectorBuffer = 7, - DXVA2_FilmGrainBuffer = 8, -}} -ENUM!{enum __MIDL___MIDL_itf_dxva2api_0000_0000_0013 { - DXVA2_VideoDecoderRenderTarget = 0, - DXVA2_VideoProcessorRenderTarget = 1, - DXVA2_VideoSoftwareRenderTarget = 2, -}} -STRUCT!{struct DXVA2_ConfigPictureDecode { - guidConfigBitstreamEncryption: GUID, - guidConfigMBcontrolEncryption: GUID, - guidConfigResidDiffEncryption: GUID, - ConfigBitstreamRaw: UINT, - ConfigMBcontrolRasterOrder: UINT, - ConfigResidDiffHost: UINT, - ConfigSpatialResid8: UINT, - ConfigResid8Subtraction: UINT, - ConfigSpatialHost8or9Clipping: UINT, - ConfigSpatialResidInterleaved: UINT, - ConfigIntraResidUnsigned: UINT, - ConfigResidDiffAccelerator: UINT, - ConfigHostInverseScan: UINT, - ConfigSpecificIDCT: UINT, - Config4GroupedCoefs: UINT, - ConfigMinRenderTargetBuffCount: USHORT, - ConfigDecoderSpecific: USHORT, -}} -STRUCT!{struct DXVA2_DecodeBufferDesc { - CompressedBufferType: DWORD, - BufferIndex: UINT, - DataOffset: UINT, - DataSize: UINT, - FirstMBaddress: UINT, - NumMBsInBuffer: UINT, - Width: UINT, - Height: UINT, - Stride: UINT, - ReservedBits: UINT, - pvPVPState: PVOID, -}} -STRUCT!{struct DXVA2_AES_CTR_IV { - IV: UINT64, - Count: UINT64, -}} -STRUCT!{struct DXVA2_DecodeExtensionData { - Function: UINT, - pPrivateInputData: PVOID, - PrivateInputDataSize: UINT, - pPrivateOutputData: PVOID, - PrivateOutputDataSize: UINT, -}} -pub const DXVA2_DECODE_GET_DRIVER_HANDLE: UINT = 0x725; -pub const DXVA2_DECODE_SPECIFY_ENCRYPTED_BLOCKS: UINT = 0x724; -STRUCT!{struct DXVA2_DecodeExecuteParams { - NumCompBuffers: UINT, - pCompressedBuffers: *mut DXVA2_DecodeBufferDesc, - pExtensionData: *mut DXVA2_DecodeExtensionData, -}} -RIDL!{#[uuid(0xa0cade0f, 0x06d5, 0x4cf4, 0xa1, 0xc7, 0xf3, 0xcd, 0xd7, 0x25, 0xaa, 0x75)] -interface IDirect3DDeviceManager9(IDirect3DDeviceManager9Vtbl): IUnknown(IUnknownVtbl) { - fn ResetDevice( - pDevice: *mut IDirect3DDevice9, - resetToken: UINT, - ) -> HRESULT, - fn OpenDeviceHandle( - phDevice: *mut HANDLE, - ) -> HRESULT, - fn CloseDeviceHandle( - hDevice: HANDLE, - ) -> HRESULT, - fn TestDevice( - hDevice: HANDLE, - ) -> HRESULT, - fn LockDevice( - hDevice: HANDLE, - ppDevice: *mut *mut IDirect3DDevice9, - fBloc: BOOL, - ) -> HRESULT, - fn UnlockDevice( - hDevice: HANDLE, - fSaveState: BOOL, - ) -> HRESULT, - fn GetVideoService( - hDevice: HANDLE, - riid: REFIID, - ppService: *mut *mut c_void, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xfc51a550, 0xd5e7, 0x11d9, 0xaf, 0x55, 0x00, 0x05, 0x4e, 0x43, 0xff, 0x02)] -interface IDirectXVideoAccelerationService(IDirectXVideoAccelerationServiceVtbl): - IUnknown(IUnknownVtbl) { - fn CreateSurface( - Width: UINT, - Height: UINT, - BackBuffers: UINT, - Format: D3DFORMAT, - Pool: D3DPOOL, - Usage: DWORD, - DxvaType: DWORD, - ppSurface: *mut *mut IDirect3DSurface9, - pSharedHandle: *mut HANDLE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xfc51a551, 0xd5e7, 0x11d9, 0xaf, 0x55, 0x00, 0x05, 0x4e, 0x43, 0xff, 0x02)] -interface IDirectXVideoDecoderService(IDirectXVideoDecoderServiceVtbl): - IDirectXVideoAccelerationService(IDirectXVideoAccelerationServiceVtbl) { - fn GetDecoderDeviceGuids( - pCount: *mut UINT, - pGuids: *mut *mut GUID, - ) -> HRESULT, - fn GetDecoderRenderTargets( - Guid: REFGUID, - pCount: *mut UINT, - pFormats: *mut *mut D3DFORMAT, - ) -> HRESULT, - fn GetDecoderConfigurations( - Guid: REFGUID, - pVideoDesc: *const DXVA2_VideoDesc, - pReserved: *mut c_void, - pCount: *mut UINT, - ppConfigs: *mut *mut DXVA2_ConfigPictureDecode, - ) -> HRESULT, - fn CreateVideoDecoder( - Guid: REFGUID, - pVideoDesc: *const DXVA2_VideoDesc, - pConfig: *const DXVA2_ConfigPictureDecode, - ppDecoderRenderTargets: *mut *mut IDirect3DSurface9, - NumRenderTargets: UINT, - ppDecode: *mut *mut IDirectXVideoDecoder, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xfc51a552, 0xd5e7, 0x11d9, 0xaf, 0x55, 0x00, 0x05, 0x4e, 0x43, 0xff, 0x02)] -interface IDirectXVideoProcessorService(IDirectXVideoProcessorServiceVtbl): - IDirectXVideoAccelerationService(IDirectXVideoAccelerationServiceVtbl) { - fn RegisterVideoProcessorSoftwareDevice( - pCallbacks: *mut c_void, - ) -> HRESULT, - fn GetVideoProcessorDeviceGuids( - pVideoDesc: *mut DXVA2_VideoDesc, - pCount: *mut UINT, - pGuids: *mut *mut GUID, - ) -> HRESULT, - fn GetVideoProcessorRenderTargets( - VideoProcDeviceGuid: REFGUID, - pVideoDesc: *const DXVA2_VideoDesc, - pCount: *mut UINT, - pFormats: *mut *mut D3DFORMAT, - ) -> HRESULT, - fn GetVideoProcessorSubStreamFormats( - VideoProcDeviceGuid: REFGUID, - pVideoDesc: *const DXVA2_VideoDesc, - RenderTargetFormat: D3DFORMAT, - pCount: *mut UINT, - pFormats: *mut *mut D3DFORMAT, - ) -> HRESULT, - fn GetVideoProcessorCaps( - VideoProcDeviceGuid: REFGUID, - pVideoDesc: *const DXVA2_VideoDesc, - RenderTargetFormat: D3DFORMAT, - pCaps: *mut DXVA2_VideoProcessorCaps, - ) -> HRESULT, - fn GetProcAmpRange( - VideoProcDeviceGuid: REFGUID, - pVideoDesc: *const DXVA2_VideoDesc, - RenderTargetFormat: D3DFORMAT, - ProcAmpCap: UINT, - pRange: *mut DXVA2_ValueRange, - ) -> HRESULT, - fn GetFilterPropertyRange( - VideoProcDeviceGuid: REFGUID, - pVideoDesc: *const DXVA2_VideoDesc, - RenderTargetFormat: D3DFORMAT, - FilterSetting: UINT, - pRange: *mut DXVA2_ValueRange, - ) -> HRESULT, - fn CreateVideoProcessor( - VideoProcDeviceGuid: REFGUID, - pVideoDesc: *const DXVA2_VideoDesc, - RenderTargetFormat: D3DFORMAT, - MaxNumSubStreams: UINT, - ppVidProcess: *mut *mut IDirectXVideoProcessor, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xf2b0810a, 0xfd00, 0x43c9, 0x91, 0x8c, 0xdf, 0x94, 0xe2, 0xd8, 0xef, 0x7d)] -interface IDirectXVideoDecoder(IDirectXVideoDecoderVtbl): IUnknown(IUnknownVtbl) { - fn GetVideoDecoderService( - ppService: *mut *mut IDirectXVideoDecoderService, - ) -> HRESULT, - fn GetCreationParameters( - pDeviceGuid: *mut GUID, - pVideoDesc: *mut DXVA2_VideoDesc, - pConfig: *mut DXVA2_ConfigPictureDecode, - pDecoderRenderTargets: *mut *mut *mut IDirect3DSurface9, - pNumSurfaces: *mut UINT, - ) -> HRESULT, - fn GetBuffer( - BufferType: UINT, - ppBuffer: *mut *mut c_void, - pBufferSize: *mut UINT, - ) -> HRESULT, - fn ReleaseBuffer( - BufferType: UINT, - ) -> HRESULT, - fn BeginFrame( - pRenderTarget: *mut IDirect3DSurface9, - pvPVPData: *mut c_void, - ) -> HRESULT, - fn EndFrame( - pHandleComplete: *mut HANDLE, - ) -> HRESULT, - fn Execute( - pExecuteParams: *const DXVA2_DecodeExecuteParams, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x8c3a39f0, 0x916e, 0x4690, 0x80, 0x4f, 0x4c, 0x80, 0x01, 0x35, 0x5d, 0x25)] -interface IDirectXVideoProcessor(IDirectXVideoProcessorVtbl): IUnknown(IUnknownVtbl) { - fn GetVideoProcessorService( - ppService: *mut *mut IDirectXVideoProcessorService, - ) -> HRESULT, - fn GetCreationParameters( - pDeviceGuid: *mut GUID, - pVideoDesc: *mut DXVA2_VideoDesc, - pRenderTargetFormat: *mut D3DFORMAT, - pMaxNumSubStreams: *mut UINT, - ) -> HRESULT, - fn GetVideoProcessorCaps( - pCaps: *mut DXVA2_VideoProcessorCaps, - ) -> HRESULT, - fn GetProcAmpRange( - ProcAmpCap: UINT, - pRange: *mut DXVA2_ValueRange, - ) -> HRESULT, - fn GetFilterPropertyRange( - FilterSetting: UINT, - pRange: *mut DXVA2_ValueRange, - ) -> HRESULT, - fn VideoProcessBlt( - pRenderTarget: *mut IDirect3DSurface9, - pBltParams: *const DXVA2_VideoProcessBltParams, - pSamples: *const DXVA2_VideoSample, - NumSamples: UINT, - pHandleComplete: *mut HANDLE, - ) -> HRESULT, -}} -ENUM!{enum DXVA2_SurfaceType { - DXVA2_SurfaceType_DecoderRenderTarget = 0, - DXVA2_SurfaceType_ProcessorRenderTarget = 1, - DXVA2_SurfaceType_D3DRenderTargetTexture = 2, -}} -RIDL!{#[uuid(0xb7f916dd, 0xdb3b, 0x49c1, 0x84, 0xd7, 0xe4, 0x5e, 0xf9, 0x9e, 0xc7, 0x26)] -interface IDirectXVideoMemoryConfiguration(IDirectXVideoMemoryConfigurationVtbl): - IUnknown(IUnknownVtbl) { - fn GetAvailableSurfaceTypeByIndex( - dwTypeIndex: DWORD, - pdwType: *mut DXVA2_SurfaceType, - ) -> HRESULT, - fn SetSurfaceType( - dwType: DXVA2_SurfaceType, - ) -> HRESULT, -}} -extern "system" { - pub fn DXVA2CreateDirect3DDeviceManager9( - pResetToken: *mut UINT, - ppDeviceManager: *mut *mut IDirect3DDeviceManager9, - ) -> HRESULT; - pub fn DXVA2CreateVideoService( - pDD: *mut IDirect3DDevice9, - riid: REFIID, - ppService: *mut *mut c_void, - ) -> HRESULT; -} -#[inline] -pub fn DXVA2FloatToFixed(_float_: c_float) -> DXVA2_Fixed32 { - unsafe { - let mut _fixed_: DXVA2_Fixed32 = ::core::mem::uninitialized(); - _fixed_.s_mut().Fraction = LOWORD((_float_ * 0x10000 as c_float) as DWORD); - _fixed_.s_mut().Value = HIWORD((_float_ * 0x10000 as c_float) as DWORD) as SHORT; - _fixed_ - } -} -#[inline] -pub fn DXVA2FixedToFloat(_fixed_: DXVA2_Fixed32) -> c_float { - unsafe { - _fixed_.s().Value as FLOAT + _fixed_.s().Fraction as FLOAT / 0x10000 as FLOAT - } -} -#[inline] -pub fn DXVA2_Fixed32TransparentAlpha() -> DXVA2_Fixed32 { - unsafe { - let mut _fixed_: DXVA2_Fixed32 = ::core::mem::uninitialized(); - _fixed_.s_mut().Fraction = 0; - _fixed_.s_mut().Value = 0; - _fixed_ - } -} -#[inline] -pub fn DXVA2_Fixed32OpaqueAlpha() -> DXVA2_Fixed32 { - unsafe { - let mut _fixed_: DXVA2_Fixed32 = ::core::mem::uninitialized(); - _fixed_.s_mut().Fraction = 0; - _fixed_.s_mut().Value = 1; - _fixed_ - } -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/dxvahd.rs b/vendor/registry-40351f815f426200/winapi/src/um/dxvahd.rs deleted file mode 100644 index 755dfdc23..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/dxvahd.rs +++ /dev/null @@ -1,555 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_void; -use shared::d3d9::{IDirect3DDevice9Ex, IDirect3DSurface9}; -use shared::d3d9types::{D3DCOLOR, D3DFORMAT, D3DPOOL}; -use shared::guiddef::GUID; -use shared::minwindef::{BOOL, DWORD, FLOAT, INT, UINT}; -use shared::windef::{RECT, SIZE}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HANDLE, HRESULT, ULONGLONG}; -DEFINE_GUID!{IID_IDXVAHD_Device, - 0x95f12dfd, 0xd77e, 0x49be, 0x81, 0x5f, 0x57, 0xd5, 0x79, 0x63, 0x4d, 0x6d} -DEFINE_GUID!{IID_IDXVAHD_VideoProcessor, - 0x95f4edf4, 0x6e03, 0x4cd7, 0xbe, 0x1b, 0x30, 0x75, 0xd6, 0x65, 0xaa, 0x52} -ENUM!{enum DXVAHD_FRAME_FORMAT { - DXVAHD_FRAME_FORMAT_PROGRESSIVE = 0, - DXVAHD_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST = 1, - DXVAHD_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST = 2, -}} -ENUM!{enum DXVAHD_DEVICE_USAGE { - DXVAHD_DEVICE_USAGE_PLAYBACK_NORMAL = 0, - DXVAHD_DEVICE_USAGE_OPTIMAL_SPEED = 1, - DXVAHD_DEVICE_USAGE_OPTIMAL_QUALITY = 2, -}} -ENUM!{enum DXVAHD_SURFACE_TYPE { - DXVAHD_SURFACE_TYPE_VIDEO_INPUT = 0, - DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE = 1, - DXVAHD_SURFACE_TYPE_VIDEO_OUTPUT = 2, -}} -ENUM!{enum DXVAHD_DEVICE_TYPE { - DXVAHD_DEVICE_TYPE_HARDWARE = 0, - DXVAHD_DEVICE_TYPE_SOFTWARE = 1, - DXVAHD_DEVICE_TYPE_REFERENCE = 2, - DXVAHD_DEVICE_TYPE_OTHER = 3, -}} -ENUM!{enum DXVAHD_DEVICE_CAPS { - DXVAHD_DEVICE_CAPS_LINEAR_SPACE = 0x1, - DXVAHD_DEVICE_CAPS_xvYCC = 0x2, - DXVAHD_DEVICE_CAPS_RGB_RANGE_CONVERSION = 0x4, - DXVAHD_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION = 0x8, -}} -ENUM!{enum DXVAHD_FEATURE_CAPS { - DXVAHD_FEATURE_CAPS_ALPHA_FILL = 0x1, - DXVAHD_FEATURE_CAPS_CONSTRICTION = 0x2, - DXVAHD_FEATURE_CAPS_LUMA_KEY = 0x4, - DXVAHD_FEATURE_CAPS_ALPHA_PALETTE = 0x8, -}} -ENUM!{enum DXVAHD_FILTER_CAPS { - DXVAHD_FILTER_CAPS_BRIGHTNESS = 0x1, - DXVAHD_FILTER_CAPS_CONTRAST = 0x2, - DXVAHD_FILTER_CAPS_HUE = 0x4, - DXVAHD_FILTER_CAPS_SATURATION = 0x8, - DXVAHD_FILTER_CAPS_NOISE_REDUCTION = 0x10, - DXVAHD_FILTER_CAPS_EDGE_ENHANCEMENT = 0x20, - DXVAHD_FILTER_CAPS_ANAMORPHIC_SCALING = 0x40, -}} -ENUM!{enum DXVAHD_INPUT_FORMAT_CAPS { - DXVAHD_INPUT_FORMAT_CAPS_RGB_INTERLACED = 0x1, - DXVAHD_INPUT_FORMAT_CAPS_RGB_PROCAMP = 0x2, - DXVAHD_INPUT_FORMAT_CAPS_RGB_LUMA_KEY = 0x4, - DXVAHD_INPUT_FORMAT_CAPS_PALETTE_INTERLACED = 0x8, -}} -ENUM!{enum DXVAHD_PROCESSOR_CAPS { - DXVAHD_PROCESSOR_CAPS_DEINTERLACE_BLEND = 0x1, - DXVAHD_PROCESSOR_CAPS_DEINTERLACE_BOB = 0x2, - DXVAHD_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE = 0x4, - DXVAHD_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION = 0x8, - DXVAHD_PROCESSOR_CAPS_INVERSE_TELECINE = 0x10, - DXVAHD_PROCESSOR_CAPS_FRAME_RATE_CONVERSION = 0x20, -}} -ENUM!{enum DXVAHD_ITELECINE_CAPS { - DXVAHD_ITELECINE_CAPS_32 = 0x1, - DXVAHD_ITELECINE_CAPS_22 = 0x2, - DXVAHD_ITELECINE_CAPS_2224 = 0x4, - DXVAHD_ITELECINE_CAPS_2332 = 0x8, - DXVAHD_ITELECINE_CAPS_32322 = 0x10, - DXVAHD_ITELECINE_CAPS_55 = 0x20, - DXVAHD_ITELECINE_CAPS_64 = 0x40, - DXVAHD_ITELECINE_CAPS_87 = 0x80, - DXVAHD_ITELECINE_CAPS_222222222223 = 0x100, - DXVAHD_ITELECINE_CAPS_OTHER = 0x80000000, -}} -ENUM!{enum DXVAHD_FILTER { - DXVAHD_FILTER_BRIGHTNESS = 0, - DXVAHD_FILTER_CONTRAST = 1, - DXVAHD_FILTER_HUE = 2, - DXVAHD_FILTER_SATURATION = 3, - DXVAHD_FILTER_NOISE_REDUCTION = 4, - DXVAHD_FILTER_EDGE_ENHANCEMENT = 5, - DXVAHD_FILTER_ANAMORPHIC_SCALING = 6, -}} -ENUM!{enum DXVAHD_BLT_STATE { - DXVAHD_BLT_STATE_TARGET_RECT = 0, - DXVAHD_BLT_STATE_BACKGROUND_COLOR = 1, - DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE = 2, - DXVAHD_BLT_STATE_ALPHA_FILL = 3, - DXVAHD_BLT_STATE_CONSTRICTION = 4, - DXVAHD_BLT_STATE_PRIVATE = 1000, -}} -ENUM!{enum DXVAHD_ALPHA_FILL_MODE { - DXVAHD_ALPHA_FILL_MODE_OPAQUE = 0, - DXVAHD_ALPHA_FILL_MODE_BACKGROUND = 1, - DXVAHD_ALPHA_FILL_MODE_DESTINATION = 2, - DXVAHD_ALPHA_FILL_MODE_SOURCE_STREAM = 3, -}} -ENUM!{enum DXVAHD_STREAM_STATE { - DXVAHD_STREAM_STATE_D3DFORMAT = 0, - DXVAHD_STREAM_STATE_FRAME_FORMAT = 1, - DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE = 2, - DXVAHD_STREAM_STATE_OUTPUT_RATE = 3, - DXVAHD_STREAM_STATE_SOURCE_RECT = 4, - DXVAHD_STREAM_STATE_DESTINATION_RECT = 5, - DXVAHD_STREAM_STATE_ALPHA = 6, - DXVAHD_STREAM_STATE_PALETTE = 7, - DXVAHD_STREAM_STATE_LUMA_KEY = 8, - DXVAHD_STREAM_STATE_ASPECT_RATIO = 9, - DXVAHD_STREAM_STATE_FILTER_BRIGHTNESS = 100, - DXVAHD_STREAM_STATE_FILTER_CONTRAST = 101, - DXVAHD_STREAM_STATE_FILTER_HUE = 102, - DXVAHD_STREAM_STATE_FILTER_SATURATION = 103, - DXVAHD_STREAM_STATE_FILTER_NOISE_REDUCTION = 104, - DXVAHD_STREAM_STATE_FILTER_EDGE_ENHANCEMENT = 105, - DXVAHD_STREAM_STATE_FILTER_ANAMORPHIC_SCALING = 106, - DXVAHD_STREAM_STATE_PRIVATE = 1000, -}} -ENUM!{enum DXVAHD_OUTPUT_RATE { - DXVAHD_OUTPUT_RATE_NORMAL = 0, - DXVAHD_OUTPUT_RATE_HALF = 1, - DXVAHD_OUTPUT_RATE_CUSTOM = 2, -}} -STRUCT!{struct DXVAHD_RATIONAL { - Numerator: UINT, - Denominator: UINT, -}} -STRUCT!{struct DXVAHD_COLOR_RGBA { - R: FLOAT, - G: FLOAT, - B: FLOAT, - A: FLOAT, -}} -STRUCT!{struct DXVAHD_COLOR_YCbCrA { - Y: FLOAT, - Cb: FLOAT, - Cr: FLOAT, - A: FLOAT, -}} -UNION!{union DXVAHD_COLOR { - [u32; 4], - RGB RGB_mut: DXVAHD_COLOR_RGBA, - YCbCr YCbCr_mut: DXVAHD_COLOR_YCbCrA, -}} -STRUCT!{struct DXVAHD_CONTENT_DESC { - InputFrameFormat: DXVAHD_FRAME_FORMAT, - InputFrameRate: DXVAHD_RATIONAL, - InputWidth: UINT, - InputHeight: UINT, - OutputFrameRate: DXVAHD_RATIONAL, - OutputWidth: UINT, - OutputHeight: UINT, -}} -STRUCT!{struct DXVAHD_VPDEVCAPS { - DeviceType: DXVAHD_DEVICE_TYPE, - DeviceCaps: UINT, - FeatureCaps: UINT, - FilterCaps: UINT, - InputFormatCaps: UINT, - InputPool: D3DPOOL, - OutputFormatCount: UINT, - InputFormatCount: UINT, - VideoProcessorCount: UINT, - MaxInputStreams: UINT, - MaxStreamStates: UINT, -}} -STRUCT!{struct DXVAHD_VPCAPS { - VPGuid: GUID, - PastFrames: UINT, - FutureFrames: UINT, - ProcessorCaps: UINT, - ITelecineCaps: UINT, - CustomRateCount: UINT, -}} -STRUCT!{struct DXVAHD_CUSTOM_RATE_DATA { - CustomRate: DXVAHD_RATIONAL, - OutputFrames: UINT, - InputInterlaced: BOOL, - InputFramesOrFields: UINT, -}} -STRUCT!{struct DXVAHD_FILTER_RANGE_DATA { - Minimum: INT, - Maximum: INT, - Default: INT, - Multiplier: FLOAT, -}} -STRUCT!{struct DXVAHD_BLT_STATE_TARGET_RECT_DATA { - Enable: BOOL, - TargetRect: RECT, -}} -STRUCT!{struct DXVAHD_BLT_STATE_BACKGROUND_COLOR_DATA { - YCbCr: BOOL, - BackgroundColor: DXVAHD_COLOR, -}} -STRUCT!{struct DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA { - Value: UINT, -}} -BITFIELD!{DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA Value: UINT [ - Usage set_Usage[0..1], - RGB_Range set_RGB_Range[1..2], - YCbCr_Matrix set_YCbCr_Matrix[2..3], - YCbCr_xvYCC set_YCbCr_xvYCC[3..4], - Reserved set_Reserved[4..32], -]} -STRUCT!{struct DXVAHD_BLT_STATE_ALPHA_FILL_DATA { - Mode: DXVAHD_ALPHA_FILL_MODE, - StreamNumber: UINT, -}} -STRUCT!{struct DXVAHD_BLT_STATE_CONSTRICTION_DATA { - Enable: BOOL, - Size: SIZE, -}} -STRUCT!{struct DXVAHD_BLT_STATE_PRIVATE_DATA { - Guid: GUID, - DataSize: UINT, - pData: *mut c_void, -}} -STRUCT!{struct DXVAHD_STREAM_STATE_D3DFORMAT_DATA { - Format: D3DFORMAT, -}} -STRUCT!{struct DXVAHD_STREAM_STATE_FRAME_FORMAT_DATA { - FrameFormat: DXVAHD_FRAME_FORMAT, -}} -STRUCT!{struct DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA { - Value: UINT, -}} -BITFIELD!{DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA Value: UINT [ - Type set_Type[0..1], - RGB_Range set_RGB_Range[1..2], - YCbCr_Matrix set_YCbCr_Matrix[2..3], - YCbCr_xvYCC set_YCbCr_xvYCC[3..4], - Reserved set_Reserved[4..32], -]} -STRUCT!{struct DXVAHD_STREAM_STATE_OUTPUT_RATE_DATA { - RepeatFrame: BOOL, - OutputRate: DXVAHD_OUTPUT_RATE, - CustomRate: DXVAHD_RATIONAL, -}} -STRUCT!{struct DXVAHD_STREAM_STATE_SOURCE_RECT_DATA { - Enable: BOOL, - SourceRect: RECT, -}} -STRUCT!{struct DXVAHD_STREAM_STATE_DESTINATION_RECT_DATA { - Enable: BOOL, - DestinationRect: RECT, -}} -STRUCT!{struct DXVAHD_STREAM_STATE_ALPHA_DATA { - Enable: BOOL, - Alpha: FLOAT, -}} -STRUCT!{struct DXVAHD_STREAM_STATE_PALETTE_DATA { - Count: UINT, - pEntries: *mut D3DCOLOR, -}} -STRUCT!{struct DXVAHD_STREAM_STATE_LUMA_KEY_DATA { - Enable: BOOL, - Lower: FLOAT, - Upper: FLOAT, -}} -STRUCT!{struct DXVAHD_STREAM_STATE_ASPECT_RATIO_DATA { - Enable: BOOL, - SourceAspectRatio: DXVAHD_RATIONAL, - DestinationAspectRatio: DXVAHD_RATIONAL, -}} -STRUCT!{struct DXVAHD_STREAM_STATE_FILTER_DATA { - Enable: BOOL, - Level: INT, -}} -STRUCT!{struct DXVAHD_STREAM_STATE_PRIVATE_DATA { - Guid: GUID, - DataSize: UINT, - pData: *mut c_void, -}} -STRUCT!{struct DXVAHD_STREAM_DATA { - Enable: BOOL, - OutputIndex: UINT, - InputFrameOrField: UINT, - PastFrames: UINT, - FutureFrames: UINT, - ppPastSurfaces: *mut *mut IDirect3DSurface9, - pInputSurface: *mut IDirect3DSurface9, - ppFutureSurfaces: *mut *mut IDirect3DSurface9, -}} -STRUCT!{struct DXVAHD_STREAM_STATE_PRIVATE_IVTC_DATA { - Enable: BOOL, - ITelecineFlags: UINT, - Frames: UINT, - InputField: UINT, -}} -RIDL!{#[uuid(0x95f12dfd, 0xd77e, 0x49be, 0x81, 0x5f, 0x57, 0xd5, 0x79, 0x63, 0x4d, 0x6d)] -interface IDXVAHD_Device(IDXVAHD_DeviceVtbl): IUnknown(IUnknownVtbl) { - fn CreateVideoSurface( - Width: UINT, - Height: UINT, - Format: D3DFORMAT, - Pool: D3DPOOL, - Usage: DWORD, - Type: DXVAHD_SURFACE_TYPE, - NumSurfaces: UINT, - ppSurfaces: *mut *mut IDirect3DSurface9, - pSharedHandle: *mut HANDLE, - ) -> HRESULT, - fn GetVideoProcessorDeviceCaps( - pCaps: *mut DXVAHD_VPDEVCAPS, - ) -> HRESULT, - fn GetVideoProcessorOutputFormats( - Count: UINT, - pFormats: *mut D3DFORMAT, - ) -> HRESULT, - fn GetVideoProcessorInputFormats( - Count: UINT, - pFormats: *mut D3DFORMAT, - ) -> HRESULT, - fn GetVideoProcessorCaps( - Count: UINT, - pCaps: *mut DXVAHD_VPCAPS, - ) -> HRESULT, - fn GetVideoProcessorCustomRates( - pVPGuid: *const GUID, - Count: UINT, - pRates: *mut DXVAHD_CUSTOM_RATE_DATA, - ) -> HRESULT, - fn GetVideoProcessorFilterRange( - Filter: DXVAHD_FILTER, - pRange: *mut DXVAHD_FILTER_RANGE_DATA, - ) -> HRESULT, - fn CreateVideoProcessor( - pVPGuid: *const GUID, - ppVideoProcessor: *mut *mut IDXVAHD_VideoProcessor, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x95f4edf4, 0x6e03, 0x4cd7, 0xbe, 0x1b, 0x30, 0x75, 0xd6, 0x65, 0xaa, 0x52)] -interface IDXVAHD_VideoProcessor(IDXVAHD_VideoProcessorVtbl): IUnknown(IUnknownVtbl) { - fn SetVideoProcessBltState( - State: DXVAHD_BLT_STATE, - DataSize: UINT, - pData: *const c_void, - ) -> HRESULT, - fn GetVideoProcessBltState( - State: DXVAHD_BLT_STATE, - DataSize: UINT, - pData: *mut c_void, - ) -> HRESULT, - fn SetVideoProcessStreamState( - StreamNumber: UINT, - State: DXVAHD_STREAM_STATE, - DataSize: UINT, - pData: *const c_void, - ) -> HRESULT, - fn GetVideoProcessStreamState( - StreamNumber: UINT, - State: DXVAHD_STREAM_STATE, - DataSize: UINT, - pData: *mut c_void, - ) -> HRESULT, - fn VideoProcessBltHD( - pOutputSurface: *mut IDirect3DSurface9, - OutputFrame: UINT, - StreamCount: UINT, - pStreams: *const DXVAHD_STREAM_DATA, - ) -> HRESULT, -}} -FN!{stdcall PDXVAHDSW_CreateDevice( - pD3DDevice: *mut IDirect3DDevice9Ex, - phDevice: *mut HANDLE, -) -> HRESULT} -FN!{stdcall PDXVAHDSW_ProposeVideoPrivateFormat( - hDevice: HANDLE, - pFormat: *mut D3DFORMAT, -) -> HRESULT} -FN!{stdcall PDXVAHDSW_GetVideoProcessorDeviceCaps( - hDevice: HANDLE, - pContentDesc: *const DXVAHD_CONTENT_DESC, - Usage: DXVAHD_DEVICE_USAGE, - pCaps: *mut DXVAHD_VPDEVCAPS, -) -> HRESULT} -FN!{stdcall PDXVAHDSW_GetVideoProcessorOutputFormats( - hDevice: HANDLE, - pContentDesc: *const DXVAHD_CONTENT_DESC, - Usage: DXVAHD_DEVICE_USAGE, - Count: UINT, - pFormats: *mut D3DFORMAT, -) -> HRESULT} -FN!{stdcall PDXVAHDSW_GetVideoProcessorInputFormats( - hDevice: HANDLE, - pContentDesc: *const DXVAHD_CONTENT_DESC, - Usage: DXVAHD_DEVICE_USAGE, - Count: UINT, - pFormats: *mut D3DFORMAT, -) -> HRESULT} -FN!{stdcall PDXVAHDSW_GetVideoProcessorCaps( - hDevice: HANDLE, - pContentDesc: *const DXVAHD_CONTENT_DESC, - Usage: DXVAHD_DEVICE_USAGE, - Count: UINT, - pCaps: *mut DXVAHD_VPCAPS, -) -> HRESULT} -FN!{stdcall PDXVAHDSW_GetVideoProcessorCustomRates( - hDevice: HANDLE, - pVPGuid: *const GUID, - Count: UINT, - pRates: *mut DXVAHD_CUSTOM_RATE_DATA, -) -> HRESULT} -FN!{stdcall PDXVAHDSW_GetVideoProcessorFilterRange( - hDevice: HANDLE, - Filter: DXVAHD_FILTER, - pRange: *mut DXVAHD_FILTER_RANGE_DATA, -) -> HRESULT} -FN!{stdcall PDXVAHDSW_DestroyDevice( - hDevice: HANDLE, -) -> HRESULT} -FN!{stdcall PDXVAHDSW_CreateVideoProcessor( - hDevice: HANDLE, - pVPGuid: *const GUID, - phVideoProcessor: *mut HANDLE, -) -> HRESULT} -FN!{stdcall PDXVAHDSW_SetVideoProcessBltState( - hVideoProcessor: HANDLE, - State: DXVAHD_BLT_STATE, - DataSize: UINT, - pData: *const c_void, -) -> HRESULT} -FN!{stdcall PDXVAHDSW_GetVideoProcessBltStatePrivate( - hVideoProcessor: HANDLE, - pData: *mut DXVAHD_BLT_STATE_PRIVATE_DATA, -) -> HRESULT} -FN!{stdcall PDXVAHDSW_SetVideoProcessStreamState( - hVideoProcessor: HANDLE, - StreamNumber: UINT, - State: DXVAHD_STREAM_STATE, - DataSize: UINT, - pData: *const c_void, -) -> HRESULT} -FN!{stdcall PDXVAHDSW_GetVideoProcessStreamStatePrivate( - hVideoProcessor: HANDLE, - StreamNumber: UINT, - pData: *mut DXVAHD_STREAM_STATE_PRIVATE_DATA, -) -> HRESULT} -FN!{stdcall PDXVAHDSW_VideoProcessBltHD( - hVideoProcessor: HANDLE, - pOutputSurface: *mut IDirect3DSurface9, - OutputFrame: UINT, - StreamCount: UINT, - pStreams: *const DXVAHD_STREAM_DATA, -) -> HRESULT} -FN!{stdcall PDXVAHDSW_DestroyVideoProcessor( - hVideoProcessor: HANDLE, -) -> HRESULT} -STRUCT!{struct DXVAHDSW_CALLBACKS { - CreateDevice: PDXVAHDSW_CreateDevice, - ProposeVideoPrivateFormat: PDXVAHDSW_ProposeVideoPrivateFormat, - GetVideoProcessorDeviceCaps: PDXVAHDSW_GetVideoProcessorDeviceCaps, - GetVideoProcessorOutputFormats: PDXVAHDSW_GetVideoProcessorOutputFormats, - GetVideoProcessorInputFormats: PDXVAHDSW_GetVideoProcessorInputFormats, - GetVideoProcessorCaps: PDXVAHDSW_GetVideoProcessorCaps, - GetVideoProcessorCustomRates: PDXVAHDSW_GetVideoProcessorCustomRates, - GetVideoProcessorFilterRange: PDXVAHDSW_GetVideoProcessorFilterRange, - DestroyDevice: PDXVAHDSW_DestroyDevice, - CreateVideoProcessor: PDXVAHDSW_CreateVideoProcessor, - SetVideoProcessBltState: PDXVAHDSW_SetVideoProcessBltState, - GetVideoProcessBltStatePrivate: PDXVAHDSW_GetVideoProcessBltStatePrivate, - SetVideoProcessStreamState: PDXVAHDSW_SetVideoProcessStreamState, - GetVideoProcessStreamStatePrivate: PDXVAHDSW_GetVideoProcessStreamStatePrivate, - VideoProcessBltHD: PDXVAHDSW_VideoProcessBltHD, - DestroyVideoProcessor: PDXVAHDSW_DestroyVideoProcessor, -}} -FN!{stdcall PDXVAHDSW_Plugin( - Size: UINT, - pCallbacks: *mut c_void, -) -> HRESULT} -DEFINE_GUID!{DXVAHDControlGuid, - 0xa0386e75, 0xf70c, 0x464c, 0xa9, 0xce, 0x33, 0xc4, 0x4e, 0x09, 0x16, 0x23} -DEFINE_GUID!{DXVAHDETWGUID_CREATEVIDEOPROCESSOR, - 0x681e3d1e, 0x5674, 0x4fb3, 0xa5, 0x03, 0x2f, 0x20, 0x55, 0xe9, 0x1f, 0x60} -DEFINE_GUID!{DXVAHDETWGUID_VIDEOPROCESSBLTSTATE, - 0x76c94b5a, 0x193f, 0x4692, 0x94, 0x84, 0xa4, 0xd9, 0x99, 0xda, 0x81, 0xa8} -DEFINE_GUID!{DXVAHDETWGUID_VIDEOPROCESSSTREAMSTATE, - 0x262c0b02, 0x209d, 0x47ed, 0x94, 0xd8, 0x82, 0xae, 0x02, 0xb8, 0x4a, 0xa7} -DEFINE_GUID!{DXVAHDETWGUID_VIDEOPROCESSBLTHD, - 0xbef3d435, 0x78c7, 0x4de3, 0x97, 0x07, 0xcd, 0x1b, 0x08, 0x3b, 0x16, 0x0a} -DEFINE_GUID!{DXVAHDETWGUID_VIDEOPROCESSBLTHD_STREAM, - 0x27ae473e, 0xa5fc, 0x4be5, 0xb4, 0xe3, 0xf2, 0x49, 0x94, 0xd3, 0xc4, 0x95} -DEFINE_GUID!{DXVAHDETWGUID_DESTROYVIDEOPROCESSOR, - 0xf943f0a0, 0x3f16, 0x43e0, 0x80, 0x93, 0x10, 0x5a, 0x98, 0x6a, 0xa5, 0xf1} -STRUCT!{struct DXVAHDETW_CREATEVIDEOPROCESSOR { - pObject: ULONGLONG, - pD3D9Ex: ULONGLONG, - VPGuid: GUID, -}} -STRUCT!{struct DXVAHDETW_VIDEOPROCESSBLTSTATE { - pObject: ULONGLONG, - State: DXVAHD_BLT_STATE, - DataSize: UINT, - SetState: BOOL, -}} -STRUCT!{struct DXVAHDETW_VIDEOPROCESSSTREAMSTATE { - pObject: ULONGLONG, - StreamNumber: UINT, - State: DXVAHD_STREAM_STATE, - DataSize: UINT, - SetState: BOOL, -}} -STRUCT!{struct DXVAHDETW_VIDEOPROCESSBLTHD { - pObject: ULONGLONG, - pOutputSurface: ULONGLONG, - TargetRect: RECT, - OutputFormat: D3DFORMAT, - ColorSpace: UINT, - OutputFrame: UINT, - StreamCount: UINT, - Enter: BOOL, -}} -STRUCT!{struct DXVAHDETW_VIDEOPROCESSBLTHD_STREAM { - pObject: ULONGLONG, - pInputSurface: ULONGLONG, - SourceRect: RECT, - DestinationRect: RECT, - InputFormat: D3DFORMAT, - FrameFormat: DXVAHD_FRAME_FORMAT, - ColorSpace: UINT, - StreamNumber: UINT, - OutputIndex: UINT, - InputFrameOrField: UINT, - PastFrames: UINT, - FutureFrames: UINT, -}} -STRUCT!{struct DXVAHDETW_DESTROYVIDEOPROCESSOR { - pObject: ULONGLONG, -}} -extern "system" { - pub fn DXVAHD_CreateDevice( - pD3DDevice: *mut IDirect3DDevice9Ex, - pContentDesc: *const DXVAHD_CONTENT_DESC, - Usage: DXVAHD_DEVICE_USAGE, - pPlugin: PDXVAHDSW_Plugin, - ppDevice: *mut *mut IDXVAHD_Device, - ) -> HRESULT; -} -FN!{stdcall PDXVAHD_CreateDevice( - pD3DDevice: *mut IDirect3DDevice9Ex, - pContentDesc: *const DXVAHD_CONTENT_DESC, - Usage: DXVAHD_DEVICE_USAGE, - pPlugin: PDXVAHDSW_Plugin, - ppDevice: *mut *mut IDXVAHD_Device, -) -> HRESULT} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/enclaveapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/enclaveapi.rs deleted file mode 100644 index b2da8e145..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/enclaveapi.rs +++ /dev/null @@ -1,64 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::{PSIZE_T, SIZE_T}; -use shared::minwindef::{BOOL, DWORD, LPCVOID, LPDWORD, LPVOID}; -use shared::ntdef::{HANDLE}; -use um::minwinbase::LPENCLAVE_ROUTINE; -use um::winnt::{LPCSTR, LPCWSTR}; -extern "system" { - pub fn IsEnclaveTypeSupported( - flEnclaveType: DWORD, - ) -> BOOL; - pub fn CreateEnclave( - hProcess: HANDLE, - lpAddress: LPVOID, - dwSize: SIZE_T, - dwInitialCommitment: SIZE_T, - flEnclaveType: DWORD, - lpEnclaveInformation: LPCVOID, - dwInfoLength: DWORD, - lpEnclaveError: LPDWORD, - ) -> LPVOID; - pub fn LoadEnclaveData( - hProcess: HANDLE, - lpAddress: LPVOID, - lpBuffer: LPCVOID, - nSize: SIZE_T, - flProtect: DWORD, - lpPageInformation: LPCVOID, - dwInfoLength: DWORD, - lpNumberOfBytesWritten: PSIZE_T, - lpEnclaveError: LPDWORD, - ) -> BOOL; - pub fn InitializeEnclave( - hProcess: HANDLE, - lpAddress: LPVOID, - lpEnclaveInformation: LPCVOID, - dwInfoLength: DWORD, - lpEnclaveError: LPDWORD, - ) -> BOOL; - pub fn LoadEnclaveImageA( - lpEnclaveAddress: LPVOID, - lpImageName: LPCSTR, - ) -> BOOL; - pub fn LoadEnclaveImageW( - lpEnclaveAddress: LPVOID, - lpImageName: LPCWSTR, - ) -> BOOL; - pub fn CallEnclave( - lpRoutine: LPENCLAVE_ROUTINE, - lpParameter: LPVOID, - fWaitForThread: BOOL, - lpReturnValue: *mut LPVOID, - ) -> BOOL; - pub fn TerminateEnclave( - lpAddress: LPVOID, - fWait: BOOL, - ) -> BOOL; - pub fn DeleteEnclave( - lpAddress: LPVOID, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/endpointvolume.rs b/vendor/registry-40351f815f426200/winapi/src/um/endpointvolume.rs deleted file mode 100644 index 384e47b6c..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/endpointvolume.rs +++ /dev/null @@ -1,123 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_float; -use shared::basetsd::UINT32; -use shared::guiddef::{GUID, LPCGUID}; -use shared::minwindef::{BOOL, DWORD, UINT}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::HRESULT; -STRUCT!{struct AUDIO_VOLUME_NOTIFICATION_DATA { - guidEventContext: GUID, - bMuted: BOOL, - fMasterVolume: c_float, - nChannels: UINT, - afChannelVolumes: [c_float; 1], -}} -pub type PAUDIO_VOLUME_NOTIFICATION_DATA = *mut AUDIO_VOLUME_NOTIFICATION_DATA; -pub const ENDPOINT_HARDWARE_SUPPORT_VOLUME: DWORD = 0x00000001; -pub const ENDPOINT_HARDWARE_SUPPORT_MUTE: DWORD = 0x00000002; -pub const ENDPOINT_HARDWARE_SUPPORT_METER: DWORD = 0x00000004; -RIDL!{#[uuid(0x657804fa, 0xd6ad, 0x4496, 0x8a, 0x60, 0x35, 0x27, 0x52, 0xaf, 0x4f, 0x89)] -interface IAudioEndpointVolumeCallback(IAudioEndpointVolumeCallbackVtbl): IUnknown(IUnknownVtbl) { - fn OnNotify( - pNotify: PAUDIO_VOLUME_NOTIFICATION_DATA, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x5cdf2c82, 0x841e, 0x4546, 0x97, 0x22, 0x0c, 0xf7, 0x40, 0x78, 0x22, 0x9a)] -interface IAudioEndpointVolume(IAudioEndpointVolumeVtbl): IUnknown(IUnknownVtbl) { - fn RegisterControlChangeNotify( - pNotify: *mut IAudioEndpointVolumeCallback, - ) -> HRESULT, - fn UnregisterControlChangeNotify( - pNotify: *mut IAudioEndpointVolumeCallback, - ) -> HRESULT, - fn GetChannelCount( - pnChannelCount: *mut UINT, - ) -> HRESULT, - fn SetMasterVolumeLevel( - fLevelDB: c_float, - pguidEventContext: LPCGUID, - ) -> HRESULT, - fn SetMasterVolumeLevelScalar( - fLevel: c_float, - pguidEventContext: LPCGUID, - ) -> HRESULT, - fn GetMasterVolumeLevel( - pfLevelDB: *mut c_float, - ) -> HRESULT, - fn GetMasterVolumeLevelScalar( - pfLevel: *mut c_float, - ) -> HRESULT, - fn SetChannelVolumeLevel( - nChannel: UINT, - fLevelDB: c_float, - pguidEventContext: LPCGUID, - ) -> HRESULT, - fn SetChannelVolumeLevelScalar( - nChannel: UINT, - fLevel: c_float, - pguidEventContext: LPCGUID, - ) -> HRESULT, - fn GetChannelVolumeLevel( - nChannel: UINT, - pfLevelDB: *mut c_float, - ) -> HRESULT, - fn GetChannelVolumeLevelScalar( - nChannel: UINT, - pfLevel: *mut c_float, - ) -> HRESULT, - fn SetMute( - bMute: BOOL, - pguidEventContext: LPCGUID, - ) -> HRESULT, - fn GetMute( - pbMute: *mut BOOL, - ) -> HRESULT, - fn GetVolumeStepInfo( - pnStep: *mut UINT, - pnStepCount: *mut UINT, - ) -> HRESULT, - fn VolumeStepUp( - pguidEventContext: LPCGUID, - ) -> HRESULT, - fn VolumeStepDown( - pguidEventContext: LPCGUID, - ) -> HRESULT, - fn QueryHardwareSupport( - pdwHardwareSupportMask: *mut DWORD, - ) -> HRESULT, - fn GetVolumeRange( - pflVolumeMindB: *mut c_float, - pflVolumeMaxdB: *mut c_float, - pflVolumeIncrementdB: *mut c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x66e11784, 0xf695, 0x4f28, 0xa5, 0x05, 0xa7, 0x08, 0x00, 0x81, 0xa7, 0x8f)] -interface IAudioEndpointVolumeEx(IAudioEndpointVolumeExVtbl): - IAudioEndpointVolume(IAudioEndpointVolumeVtbl) { - fn GetVolumeRangeChannel( - iChannel: UINT, - pflVolumeMindB: *mut c_float, - pflVolumeMaxdB: *mut c_float, - pflVolumeIncrementdB: *mut c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xc02216f6, 0x8c67, 0x4b5b, 0x9d, 0x00, 0xd0, 0x08, 0xe7, 0x3e, 0x00, 0x64)] -interface IAudioMeterInformation(IAudioMeterInformationVtbl): IUnknown(IUnknownVtbl) { - fn GetPeakValue( - pfPeak: *mut c_float, - ) -> HRESULT, - fn GetMeteringChannelCount( - pnChannelCount: *mut UINT, - ) -> HRESULT, - fn GetChannelsPeakValues( - u32ChannelCount: UINT32, - afPeakValues: *mut c_float, - ) -> HRESULT, - fn QueryHardwareSupport( - pdwHardwareSupportMask: *mut DWORD, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/errhandlingapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/errhandlingapi.rs deleted file mode 100644 index 66d7618de..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/errhandlingapi.rs +++ /dev/null @@ -1,75 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! ApiSet Contract for api-ms-win-core-errorhandling-l1 -use shared::basetsd::ULONG_PTR; -use shared::minwindef::{BOOL, DWORD, LPDWORD, UINT, ULONG}; -use um::winnt::{ - EXCEPTION_POINTERS, LONG, LPCSTR, LPCWSTR, PCONTEXT, PEXCEPTION_RECORD, - PVECTORED_EXCEPTION_HANDLER, PVOID, -}; -FN!{stdcall PTOP_LEVEL_EXCEPTION_FILTER( - ExceptionInfo: *mut EXCEPTION_POINTERS, -) -> LONG} -pub type LPTOP_LEVEL_EXCEPTION_FILTER = PTOP_LEVEL_EXCEPTION_FILTER; -extern "system" { - pub fn RaiseException( - dwExceptionCode: DWORD, - dwExceptionFlags: DWORD, - nNumberOfArguments: DWORD, - lpArguments: *const ULONG_PTR, - ); - pub fn UnhandledExceptionFilter( - ExceptionInfo: *mut EXCEPTION_POINTERS, - ) -> LONG; - pub fn SetUnhandledExceptionFilter( - lpTopLevelExceptionFilter: LPTOP_LEVEL_EXCEPTION_FILTER, - ) -> LPTOP_LEVEL_EXCEPTION_FILTER; - pub fn GetLastError() -> DWORD; - pub fn SetLastError( - dwErrCode: DWORD, - ); - pub fn GetErrorMode() -> UINT; - pub fn SetErrorMode( - uMode: UINT, - ) -> UINT; - pub fn AddVectoredExceptionHandler( - First: ULONG, - Handler: PVECTORED_EXCEPTION_HANDLER, - ) -> PVOID; - pub fn RemoveVectoredExceptionHandler( - Handle: PVOID, - ) -> ULONG; - pub fn AddVectoredContinueHandler( - First: ULONG, - Handler: PVECTORED_EXCEPTION_HANDLER, - ) -> PVOID; - pub fn RemoveVectoredContinueHandler( - Handle: PVOID, - ) -> ULONG; -} -// RestoreLastError -extern "system" { - pub fn RaiseFailFastException( - pExceptionRecord: PEXCEPTION_RECORD, - pContextRecord: PCONTEXT, - dwFlags: DWORD, - ); - pub fn FatalAppExitA( - uAction: UINT, - lpMessageText: LPCSTR, - ); - pub fn FatalAppExitW( - uAction: UINT, - lpMessageText: LPCWSTR, - ); - pub fn GetThreadErrorMode() -> DWORD; - pub fn SetThreadErrorMode( - dwNewMode: DWORD, - lpOldMode: LPDWORD, - ) -> BOOL; -} -// What library provides this function? -// TerminateProcessOnMemoryExhaustion diff --git a/vendor/registry-40351f815f426200/winapi/src/um/evntcons.rs b/vendor/registry-40351f815f426200/winapi/src/um/evntcons.rs deleted file mode 100644 index 48d4d700d..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/evntcons.rs +++ /dev/null @@ -1,229 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::ULONG64; -use shared::evntprov::EVENT_DESCRIPTOR; -use shared::evntrace::ETW_BUFFER_CONTEXT; -use shared::guiddef::{GUID, LPGUID}; -use shared::minwindef::{PUCHAR, PULONG, PUSHORT, UCHAR, ULONG, USHORT}; -use um::winnt::{ - ANYSIZE_ARRAY, BOOLEAN, LARGE_INTEGER, PCSTR, PSECURITY_DESCRIPTOR, PSID, PVOID, ULONGLONG, -}; -pub const EVENT_HEADER_EXT_TYPE_RELATED_ACTIVITYID: USHORT = 0x0001; -pub const EVENT_HEADER_EXT_TYPE_SID: USHORT = 0x0002; -pub const EVENT_HEADER_EXT_TYPE_TS_ID: USHORT = 0x0003; -pub const EVENT_HEADER_EXT_TYPE_INSTANCE_INFO: USHORT = 0x0004; -pub const EVENT_HEADER_EXT_TYPE_STACK_TRACE32: USHORT = 0x0005; -pub const EVENT_HEADER_EXT_TYPE_STACK_TRACE64: USHORT = 0x0006; -pub const EVENT_HEADER_EXT_TYPE_PEBS_INDEX: USHORT = 0x0007; -pub const EVENT_HEADER_EXT_TYPE_PMC_COUNTERS: USHORT = 0x0008; -pub const EVENT_HEADER_EXT_TYPE_PSM_KEY: USHORT = 0x0009; -pub const EVENT_HEADER_EXT_TYPE_EVENT_KEY: USHORT = 0x000A; -pub const EVENT_HEADER_EXT_TYPE_EVENT_SCHEMA_TL: USHORT = 0x000B; -pub const EVENT_HEADER_EXT_TYPE_PROV_TRAITS: USHORT = 0x000C; -pub const EVENT_HEADER_EXT_TYPE_PROCESS_START_KEY: USHORT = 0x000D; -pub const EVENT_HEADER_EXT_TYPE_CONTROL_GUID: USHORT = 0x000E; -pub const EVENT_HEADER_EXT_TYPE_MAX: USHORT = 0x000F; -STRUCT!{struct EVENT_HEADER_EXTENDED_DATA_ITEM_s { - bitfield: USHORT, -}} -BITFIELD!{EVENT_HEADER_EXTENDED_DATA_ITEM_s bitfield: USHORT [ - Linkage set_Linkage[0..1], - Reserved2 set_Reserved2[1..16], -]} -STRUCT!{struct EVENT_HEADER_EXTENDED_DATA_ITEM { - Reserved1: USHORT, - ExtType: USHORT, - s: EVENT_HEADER_EXTENDED_DATA_ITEM_s, - DataSize: USHORT, - DataPtr: ULONGLONG, -}} -pub type PEVENT_HEADER_EXTENDED_DATA_ITEM = *mut EVENT_HEADER_EXTENDED_DATA_ITEM; -STRUCT!{struct EVENT_EXTENDED_ITEM_INSTANCE { - InstanceId: ULONG, - ParentInstanceId: ULONG, - ParentGuid: GUID, -}} -pub type PEVENT_EXTENDED_ITEM_INSTANCE = *mut EVENT_EXTENDED_ITEM_INSTANCE; -STRUCT!{struct EVENT_EXTENDED_ITEM_RELATED_ACTIVITYID { - RelatedActivityId: GUID, -}} -pub type PEVENT_EXTENDED_ITEM_RELATED_ACTIVITYID = *mut EVENT_EXTENDED_ITEM_RELATED_ACTIVITYID; -STRUCT!{struct EVENT_EXTENDED_ITEM_TS_ID { - SessionId: ULONG, -}} -pub type PEVENT_EXTENDED_ITEM_TS_ID = *mut EVENT_EXTENDED_ITEM_TS_ID; -STRUCT!{struct EVENT_EXTENDED_ITEM_STACK_TRACE32 { - MatchId: ULONG64, - Address: [ULONG; ANYSIZE_ARRAY], -}} -pub type PEVENT_EXTENDED_ITEM_STACK_TRACE32 = *mut EVENT_EXTENDED_ITEM_STACK_TRACE32; -STRUCT!{struct EVENT_EXTENDED_ITEM_STACK_TRACE64 { - MatchId: ULONG64, - Address: [ULONG64; ANYSIZE_ARRAY], -}} -pub type PEVENT_EXTENDED_ITEM_STACK_TRACE64 = *mut EVENT_EXTENDED_ITEM_STACK_TRACE64; -STRUCT!{struct EVENT_EXTENDED_ITEM_PEBS_INDEX { - PebsIndex: ULONG64, -}} -pub type PEVENT_EXTENDED_ITEM_PEBS_INDEX = *mut EVENT_EXTENDED_ITEM_PEBS_INDEX; -STRUCT!{struct EVENT_EXTENDED_ITEM_PMC_COUNTERS { - Counter: [ULONG64; ANYSIZE_ARRAY], -}} -pub type PEVENT_EXTENDED_ITEM_PMC_COUNTERS = *mut EVENT_EXTENDED_ITEM_PMC_COUNTERS; -STRUCT!{struct EVENT_EXTENDED_ITEM_PROCESS_START_KEY { - ProcessStartKey: ULONG64, -}} -pub type PEVENT_EXTENDED_ITEM_PROCESS_START_KEY = *mut EVENT_EXTENDED_ITEM_PROCESS_START_KEY; -STRUCT!{struct EVENT_EXTENDED_ITEM_EVENT_KEY { - Key: ULONG64, -}} -pub type PEVENT_EXTENDED_ITEM_EVENT_KEY = *mut EVENT_EXTENDED_ITEM_EVENT_KEY; -pub const EVENT_HEADER_PROPERTY_XML: USHORT = 0x0001; -pub const EVENT_HEADER_PROPERTY_FORWARDED_XML: USHORT = 0x0002; -pub const EVENT_HEADER_PROPERTY_LEGACY_EVENTLOG: USHORT = 0x0004; -pub const EVENT_HEADER_PROPERTY_RELOGGABLE: USHORT = 0x0008; -pub const EVENT_HEADER_FLAG_EXTENDED_INFO: USHORT = 0x0001; -pub const EVENT_HEADER_FLAG_PRIVATE_SESSION: USHORT = 0x0002; -pub const EVENT_HEADER_FLAG_STRING_ONLY: USHORT = 0x0004; -pub const EVENT_HEADER_FLAG_TRACE_MESSAGE: USHORT = 0x0008; -pub const EVENT_HEADER_FLAG_NO_CPUTIME: USHORT = 0x0010; -pub const EVENT_HEADER_FLAG_32_BIT_HEADER: USHORT = 0x0020; -pub const EVENT_HEADER_FLAG_64_BIT_HEADER: USHORT = 0x0040; -pub const EVENT_HEADER_FLAG_CLASSIC_HEADER: USHORT = 0x0100; -pub const EVENT_HEADER_FLAG_PROCESSOR_INDEX: USHORT = 0x0200; -STRUCT!{struct EVENT_HEADER_u_s { - KernelTime: ULONG, - UserTime: ULONG, -}} -UNION!{union EVENT_HEADER_u { - [u64; 1], - s s_mut: EVENT_HEADER_u_s, - ProcessorTime ProcessorTime_mut: ULONG64, -}} -STRUCT!{struct EVENT_HEADER { - Size: USHORT, - HeaderType: USHORT, - Flags: USHORT, - EventProperty: USHORT, - ThreadId: ULONG, - ProcessId: ULONG, - TimeStamp: LARGE_INTEGER, - ProviderId: GUID, - EventDescriptor: EVENT_DESCRIPTOR, - u: EVENT_HEADER_u, - ActivityId: GUID, -}} -pub type PEVENT_HEADER = *mut EVENT_HEADER; -STRUCT!{struct EVENT_RECORD { - EventHeader: EVENT_HEADER, - BufferContext: ETW_BUFFER_CONTEXT, - ExtendedDataCount: USHORT, - UserDataLength: USHORT, - ExtendedData: PEVENT_HEADER_EXTENDED_DATA_ITEM, - UserData: PVOID, - UserContext: PVOID, -}} -pub type PEVENT_RECORD = *mut EVENT_RECORD; -pub type PCEVENT_RECORD = *const EVENT_RECORD; -pub const EVENT_ENABLE_PROPERTY_SID: USHORT = 0x00000001; -pub const EVENT_ENABLE_PROPERTY_TS_ID: USHORT = 0x00000002; -pub const EVENT_ENABLE_PROPERTY_STACK_TRACE: USHORT = 0x00000004; -pub const EVENT_ENABLE_PROPERTY_PSM_KEY: USHORT = 0x00000008; -pub const EVENT_ENABLE_PROPERTY_IGNORE_KEYWORD_0: USHORT = 0x00000010; -pub const EVENT_ENABLE_PROPERTY_PROVIDER_GROUP: USHORT = 0x00000020; -pub const EVENT_ENABLE_PROPERTY_ENABLE_KEYWORD_0: USHORT = 0x00000040; -pub const EVENT_ENABLE_PROPERTY_PROCESS_START_KEY: USHORT = 0x00000080; -pub const EVENT_ENABLE_PROPERTY_EVENT_KEY: USHORT = 0x00000100; -pub const EVENT_ENABLE_PROPERTY_EXCLUDE_INPRIVATE: USHORT = 0x00000200; -pub const PROCESS_TRACE_MODE_REAL_TIME: ULONG = 0x00000100; -pub const PROCESS_TRACE_MODE_RAW_TIMESTAMP: ULONG = 0x00001000; -pub const PROCESS_TRACE_MODE_EVENT_RECORD: ULONG = 0x10000000; -#[inline] -pub unsafe fn GetEventProcessorIndex(EventRecord: PCEVENT_RECORD) -> ULONG { - if (*EventRecord).EventHeader.Flags & EVENT_HEADER_FLAG_PROCESSOR_INDEX != 0 { - *(*EventRecord).BufferContext.u.ProcessorIndex() as ULONG - } else { - (*EventRecord).BufferContext.u.s().ProcessorNumber as ULONG - } -} -ENUM!{enum ETW_PROVIDER_TRAIT_TYPE { - EtwProviderTraitTypeGroup = 1, - EtwProviderTraitDecodeGuid = 2, - EtwProviderTraitTypeMax, -}} -#[inline] -unsafe fn strnlen(s: PCSTR, max_len: isize) -> isize { - let mut len = 0; - while *s.offset(len) != 0 && len < max_len { - len += 1 - } - len -} -// Taken from Rust 1.17.0 sources -#[inline] -unsafe fn read_unaligned(src: *const T) -> T { - use core::{mem, ptr}; - let mut tmp: T = mem::uninitialized(); - ptr::copy_nonoverlapping( - src as *const u8, - &mut tmp as *mut T as *mut u8, - mem::size_of::(), - ); - tmp -} -#[inline] -pub unsafe fn EtwGetTraitFromProviderTraits( - ProviderTraits: PVOID, TraitType: UCHAR, Trait: *mut PVOID, Size: PUSHORT, -) { - use core::ptr::null_mut; - let ByteCount = read_unaligned(ProviderTraits as *mut USHORT) as isize; - let mut Ptr = ProviderTraits as PUCHAR; - let PtrEnd = Ptr.offset(ByteCount); - *Trait = null_mut(); - *Size = 0; - if ByteCount < 3 { - return; - } - Ptr = Ptr.offset(2); - Ptr = Ptr.offset(strnlen(Ptr as PCSTR, (ByteCount - 3) as isize)); - Ptr = Ptr.offset(1); - while Ptr < PtrEnd { - let TraitByteCount = read_unaligned(Ptr as *const USHORT); - if TraitByteCount < 3 { - return; - } - if *Ptr.offset(2) == TraitType && Ptr.offset(TraitByteCount as isize) <= PtrEnd { - *Trait = Ptr.offset(3) as PVOID; - *Size = TraitByteCount - 3; - return; - } - Ptr = Ptr.offset(TraitByteCount as isize); - } -} -ENUM!{enum EVENTSECURITYOPERATION { - EventSecuritySetDACL, - EventSecuritySetSACL, - EventSecurityAddDACL, - EventSecurityAddSACL, - EventSecurityMax, -}} -extern "system" { - pub fn EventAccessControl( - Guid: LPGUID, - Operation: ULONG, - Sid: PSID, - Rights: ULONG, - AllowOrDeny: BOOLEAN, - ) -> ULONG; - pub fn EventAccessQuery( - Guid: LPGUID, - Buffer: PSECURITY_DESCRIPTOR, - BufferSize: PULONG, - ) -> ULONG; - pub fn EventAccessRemove( - Guid: LPGUID, - ) -> ULONG; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/exdisp.rs b/vendor/registry-40351f815f426200/winapi/src/um/exdisp.rs deleted file mode 100644 index 3d44fd385..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/exdisp.rs +++ /dev/null @@ -1,220 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of ExDisp.h -use shared::basetsd::SHANDLE_PTR; -use shared::wtypes::{BSTR, VARIANT_BOOL}; -use um::docobj::{OLECMDEXECOPT, OLECMDF, OLECMDID}; -use um::oaidl::{IDispatch, IDispatchVtbl, VARIANT}; -use um::ocidl::READYSTATE; -use um::winnt::{HRESULT, INT, LONG}; -DEFINE_GUID!{IID_IWebBrowser2, - 0xd30c1661, 0xcdaf, 0x11d0, 0x8a, 0x3e, 0x00, 0xc0, 0x4f, 0xc9, 0xe2, 0x6e} -RIDL!{#[uuid(0xeab22ac1, 0x30c1, 0x11cf, 0xa7, 0xeb, 0x00, 0x00, 0xc0, 0x5b, 0xae, 0x0b)] -interface IWebBrowser(IWebBrowserVtbl): IDispatch(IDispatchVtbl) { - fn GoBack() -> HRESULT, - fn GoForward() -> HRESULT, - fn GoHome() -> HRESULT, - fn GoSearch() -> HRESULT, - fn Navigate( - URL: BSTR, - Flags: *const VARIANT, - TargetFrameName: *const VARIANT, - PostData: *const VARIANT, - Headers: *const VARIANT, - ) -> HRESULT, - fn Refresh() -> HRESULT, - fn Refresh2( - Level: *const VARIANT, - ) -> HRESULT, - fn Stop() -> HRESULT, - fn get_Application( - ppDisp: *mut *mut IDispatch, - ) -> HRESULT, - fn get_Parent( - ppDisp: *mut *mut IDispatch, - ) -> HRESULT, - fn get_Container( - ppDisp: *mut *mut IDispatch, - ) -> HRESULT, - fn get_Document( - ppDisp: *mut *mut IDispatch, - ) -> HRESULT, - fn get_TopLevelContainer( - pBool: *mut VARIANT_BOOL, - ) -> HRESULT, - fn get_Type( - Type: *mut BSTR, - ) -> HRESULT, - fn get_Left( - pl: *mut LONG, - ) -> HRESULT, - fn put_Left( - Left: LONG, - ) -> HRESULT, - fn get_Top( - pl: *mut LONG, - ) -> HRESULT, - fn put_Top( - Top: LONG, - ) -> HRESULT, - fn get_Width( - pl: *mut LONG, - ) -> HRESULT, - fn put_Width( - Width: LONG, - ) -> HRESULT, - fn get_Height( - pl: *mut LONG, - ) -> HRESULT, - fn put_Height( - Height: LONG, - ) -> HRESULT, - fn get_LocationName( - LocationName: *mut BSTR, - ) -> HRESULT, - fn get_LocationURL( - LocationURL: *mut BSTR, - ) -> HRESULT, - fn get_Busy( - pBool: *mut VARIANT_BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x0002df05, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IWebBrowserApp(IWebBrowserAppVtbl): IWebBrowser(IWebBrowserVtbl) { - fn Quit() -> HRESULT, - fn ClientToWindow( - pcx: *mut INT, - pcy: *mut INT, - ) -> HRESULT, - fn PutProperty( - Property: BSTR, - vtValue: VARIANT, - ) -> HRESULT, - fn GetProperty( - Property: BSTR, - pvtValue: *mut VARIANT, - ) -> HRESULT, - fn get_Name( - Name: *mut BSTR, - ) -> HRESULT, - fn get_HWND( - pHWND: *mut SHANDLE_PTR, - ) -> HRESULT, - fn get_FullName( - FullName: *mut BSTR, - ) -> HRESULT, - fn get_Path( - Path: *mut BSTR, - ) -> HRESULT, - fn get_Visible( - pBool: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_Visible( - Value: VARIANT_BOOL, - ) -> HRESULT, - fn get_StatusBar( - pBool: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_StatusBar( - Value: VARIANT_BOOL, - ) -> HRESULT, - fn get_StatusText( - StatusText: *mut BSTR, - ) -> HRESULT, - fn put_StatusText( - StatusText: BSTR, - ) -> HRESULT, - fn get_ToolBar( - Value: *mut INT, - ) -> HRESULT, - fn put_ToolBar( - Value: INT, - ) -> HRESULT, - fn get_MenuBar( - Value: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_MenuBar( - Value: VARIANT_BOOL, - ) -> HRESULT, - fn get_FullScreen( - pbFullScreen: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_FullScreen( - bFullScreen: VARIANT_BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xd30c1661, 0xcdaf, 0x11d0, 0x8a, 0x3e, 0x00, 0xc0, 0x4f, 0xc9, 0xe2, 0x6e)] -interface IWebBrowser2(IWebBrowser2Vtbl): IWebBrowserApp(IWebBrowserAppVtbl) { - fn Navigate2( - URL: *const VARIANT, - Flags: *const VARIANT, - TargetFrameName: *const VARIANT, - PostData: *const VARIANT, - Headers: *const VARIANT, - ) -> HRESULT, - fn QueryStatusWB( - cmdID: OLECMDID, - pcmdf: *mut OLECMDF, - ) -> HRESULT, - fn ExecWB( - cmdID: OLECMDID, - cmdexecopt: OLECMDEXECOPT, - pvaIn: *const VARIANT, - pvaOut: *mut VARIANT, - ) -> HRESULT, - fn ShowBrowserBar( - pvaClsid: *const VARIANT, - pvarShow: *const VARIANT, - pvarSize: *const VARIANT, - ) -> HRESULT, - fn get_ReadyState( - plReadyState: *mut READYSTATE, - ) -> HRESULT, - fn get_Offline( - pbOffline: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_Offline( - bOffline: VARIANT_BOOL, - ) -> HRESULT, - fn get_Silent( - pbSilent: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_Silent( - bSilent: VARIANT_BOOL, - ) -> HRESULT, - fn get_RegisterAsBrowser( - pbRegister: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_RegisterAsBrowser( - bRegister: VARIANT_BOOL, - ) -> HRESULT, - fn get_RegisterAsDropTarget( - pbRegister: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_RegisterAsDropTarget( - bRegister: VARIANT_BOOL, - ) -> HRESULT, - fn get_TheaterMode( - pbRegister: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_TheaterMode( - bRegister: VARIANT_BOOL, - ) -> HRESULT, - fn get_AddressBar( - Value: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_AddressBar( - Value: VARIANT_BOOL, - ) -> HRESULT, - fn get_Resizable( - Value: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_Resizable( - Value: VARIANT_BOOL, - ) -> HRESULT, -}} -DEFINE_GUID!{CLSID_InternetExplorer, - 0x0002df01, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/fibersapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/fibersapi.rs deleted file mode 100644 index c2e3b08ff..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/fibersapi.rs +++ /dev/null @@ -1,23 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::{BOOL, DWORD}; -use um::winnt::{PFLS_CALLBACK_FUNCTION, PVOID}; -extern "system" { - pub fn FlsAlloc( - lpCallback: PFLS_CALLBACK_FUNCTION, - ) -> DWORD; - pub fn FlsGetValue( - dwFlsIndex: DWORD, - ) -> PVOID; - pub fn FlsSetValue( - dwFlsIndex: DWORD, - lpFlsData: PVOID, - ) -> BOOL; - pub fn FlsFree( - dwFlsIndex: DWORD, - ) -> BOOL; - pub fn IsThreadAFiber() -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/fileapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/fileapi.rs deleted file mode 100644 index ed183a5fb..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/fileapi.rs +++ /dev/null @@ -1,639 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! ApiSet Contract for api-ms-win-core-file-l1 -use shared::minwindef::{ - BOOL, DWORD, FILETIME, LPCVOID, LPDWORD, LPFILETIME, LPVOID, PDWORD, PUCHAR, UCHAR, UINT, - ULONG, WORD, -}; -use um::minwinbase::{ - FILE_INFO_BY_HANDLE_CLASS, FINDEX_INFO_LEVELS, FINDEX_SEARCH_OPS, GET_FILEEX_INFO_LEVELS, - LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE, LPSECURITY_ATTRIBUTES, LPWIN32_FIND_DATAA, - LPWIN32_FIND_DATAW -}; -use um::winnt::{ - BOOLEAN, CCHAR, FILE_ID_128, FILE_SEGMENT_ELEMENT, HANDLE, LARGE_INTEGER, LONG, LONGLONG, - LPCSTR, LPCWSTR, LPSTR, LPWCH, LPWSTR, PLARGE_INTEGER, PLONG, PULARGE_INTEGER, PWSTR, - ULONGLONG, WCHAR, -}; -pub const CREATE_NEW: DWORD = 1; -pub const CREATE_ALWAYS: DWORD = 2; -pub const OPEN_EXISTING: DWORD = 3; -pub const OPEN_ALWAYS: DWORD = 4; -pub const TRUNCATE_EXISTING: DWORD = 5; -pub const INVALID_FILE_SIZE: DWORD = 0xFFFFFFFF; -pub const INVALID_SET_FILE_POINTER: DWORD = 0xFFFFFFFF; -pub const INVALID_FILE_ATTRIBUTES: DWORD = 0xFFFFFFFF; -STRUCT!{struct WIN32_FILE_ATTRIBUTE_DATA { - dwFileAttributes: DWORD, - ftCreationTime: FILETIME, - ftLastAccessTime: FILETIME, - ftLastWriteTime: FILETIME, - nFileSizeHigh: DWORD, - nFileSizeLow: DWORD, -}} -pub type LPWIN32_FILE_ATTRIBUTE_DATA = *mut WIN32_FILE_ATTRIBUTE_DATA; -STRUCT!{struct BY_HANDLE_FILE_INFORMATION { - dwFileAttributes: DWORD, - ftCreationTime: FILETIME, - ftLastAccessTime: FILETIME, - ftLastWriteTime: FILETIME, - dwVolumeSerialNumber: DWORD, - nFileSizeHigh: DWORD, - nFileSizeLow: DWORD, - nNumberOfLinks: DWORD, - nFileIndexHigh: DWORD, - nFileIndexLow: DWORD, -}} -pub type PBY_HANDLE_FILE_INFORMATION = *mut BY_HANDLE_FILE_INFORMATION; -pub type LPBY_HANDLE_FILE_INFORMATION = *mut BY_HANDLE_FILE_INFORMATION; -STRUCT!{struct CREATEFILE2_EXTENDED_PARAMETERS { - dwSize: DWORD, - dwFileAttributes: DWORD, - dwFileFlags: DWORD, - dwSecurityQosFlags: DWORD, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - hTemplateFile: HANDLE, -}} -pub type PCREATEFILE2_EXTENDED_PARAMETERS = *mut CREATEFILE2_EXTENDED_PARAMETERS; -pub type LPCREATEFILE2_EXTENDED_PARAMETERS = *mut CREATEFILE2_EXTENDED_PARAMETERS; -ENUM!{enum PRIORITY_HINT { - IoPriorityHintVeryLow = 0, - IoPriorityHintLow = 1, - IoPriorityHintNormal = 2, - MaximumIoPriorityHintType = 3, -}} -STRUCT!{struct FILE_BASIC_INFO { - CreationTime: LARGE_INTEGER, - LastAccessTime: LARGE_INTEGER, - LastWriteTime: LARGE_INTEGER, - ChangeTime: LARGE_INTEGER, - FileAttributes: DWORD, -}} -STRUCT!{struct FILE_STANDARD_INFO { - AllocationSize: LARGE_INTEGER, - EndOfFile: LARGE_INTEGER, - NumberOfLinks: DWORD, - DeletePending: BOOLEAN, - Directory: BOOLEAN, -}} -STRUCT!{struct FILE_NAME_INFO { - FileNameLength: DWORD, - FileName: [WCHAR; 1], -}} -STRUCT!{struct FILE_RENAME_INFO { - ReplaceIfExists: BOOL, - RootDirectory: HANDLE, - FileNameLength: DWORD, - FileName: [WCHAR; 1], -}} -STRUCT!{struct FILE_DISPOSITION_INFO { - DeleteFile: BOOLEAN, -}} -STRUCT!{struct FILE_ALLOCATION_INFO { - AllocationSize: LARGE_INTEGER, -}} -STRUCT!{struct FILE_END_OF_FILE_INFO { - EndOfFile: LARGE_INTEGER, -}} -STRUCT!{struct FILE_STREAM_INFO { - NextEntryOffset: DWORD, - StreamNameLength: DWORD, - StreamSize: LARGE_INTEGER, - StreamAllocationSize: LARGE_INTEGER, - StreamName: [WCHAR; 1], -}} -STRUCT!{struct FILE_COMPRESSION_INFO { - CompressedFileSize: LARGE_INTEGER, - CompressionFormat: WORD, - CompressionUnitShift: UCHAR, - ChunkShift: UCHAR, - ClusterShift: UCHAR, - Reserved: [UCHAR; 3], -}} -STRUCT!{struct FILE_ATTRIBUTE_TAG_INFO { - NextEntryOffset: DWORD, - ReparseTag: DWORD, -}} -STRUCT!{struct FILE_ID_BOTH_DIR_INFO { - NextEntryOffset: DWORD, - FileIndex: DWORD, - CreationTime: LARGE_INTEGER, - LastAccessTime: LARGE_INTEGER, - LastWriteTime: LARGE_INTEGER, - ChangeTime: LARGE_INTEGER, - EndOfFile: LARGE_INTEGER, - AllocationSize: LARGE_INTEGER, - FileAttributes: DWORD, - FileNameLength: DWORD, - EaSize: DWORD, - ShortNameLength: CCHAR, - ShortName: [WCHAR; 12], - FileId: LARGE_INTEGER, - FileName: [WCHAR; 1], -}} -STRUCT!{struct FILE_IO_PRIORITY_HINT_INFO { - PriorityHint: PRIORITY_HINT, -}} -STRUCT!{struct FILE_FULL_DIR_INFO { - NextEntryOffset: ULONG, - FileIndex: ULONG, - CreationTime: LARGE_INTEGER, - LastAccessTime: LARGE_INTEGER, - LastWriteTime: LARGE_INTEGER, - ChangeTime: LARGE_INTEGER, - EndOfFile: LARGE_INTEGER, - AllocationSize: LARGE_INTEGER, - FileAttributes: ULONG, - FileNameLength: ULONG, - EaSize: ULONG, - FileName: [WCHAR; 1], -}} -STRUCT!{struct FILE_STORAGE_INFO { - LogicalBytesPerSector: ULONG, - PhysicalBytesPerSectorForAtomicity: ULONG, - PhysicalBytesPerSectorForPerformance: ULONG, - FileSystemEffectivePhysicalBytesPerSectorForAtomicity: ULONG, - Flags: ULONG, - ByteOffsetForSectorAlignment: ULONG, - ByteOffsetForPartitionAlignment: ULONG, -}} -STRUCT!{struct FILE_ALIGNMENT_INFO { - AlignmentRequirement: ULONG, -}} -STRUCT!{struct FILE_ID_INFO { - VolumeSerialNumber: ULONGLONG, - FileId: FILE_ID_128, -}} -extern "system" { - pub fn CompareFileTime( - lpFileTime1: *const FILETIME, - lpFileTime2: *const FILETIME, - ) -> LONG; - pub fn CreateDirectoryA( - lpPathName: LPCSTR, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - ) -> BOOL; - pub fn CreateDirectoryW( - lpPathName: LPCWSTR, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - ) -> BOOL; - pub fn CreateFileA( - lpFileName: LPCSTR, - dwDesiredAccess: DWORD, - dwShareMode: DWORD, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - dwCreationDisposition: DWORD, - dwFlagsAndAttributes: DWORD, - hTemplateFile: HANDLE, - ) -> HANDLE; - pub fn CreateFileW( - lpFileName: LPCWSTR, - dwDesiredAccess: DWORD, - dwShareMode: DWORD, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - dwCreationDisposition: DWORD, - dwFlagsAndAttributes: DWORD, - hTemplateFile: HANDLE, - ) -> HANDLE; - pub fn DefineDosDeviceW( - dwFlags: DWORD, - lpDeviceName: LPCWSTR, - lpTargetPath: LPCWSTR, - ) -> BOOL; - pub fn DeleteFileA( - lpFileName: LPCSTR, - ) -> BOOL; - pub fn DeleteFileW( - lpFileName: LPCWSTR, - ) -> BOOL; - pub fn DeleteVolumeMountPointW( - lpszVolumeMountPoint: LPCWSTR, - ) -> BOOL; - pub fn FileTimeToLocalFileTime( - lpFileTime: *const FILETIME, - lpLocalFileTime: LPFILETIME, - ) -> BOOL; - pub fn FindClose( - hFindFile: HANDLE, - ) -> BOOL; - pub fn FindCloseChangeNotification( - hChangeHandle: HANDLE, - ) -> BOOL; - pub fn FindFirstChangeNotificationA( - lpPathName: LPCSTR, - bWatchSubtree: BOOL, - dwNotifyFilter: DWORD, - ) -> HANDLE; - pub fn FindFirstChangeNotificationW( - lpPathName: LPCWSTR, - bWatchSubtree: BOOL, - dwNotifyFilter: DWORD, - ) -> HANDLE; - pub fn FindFirstFileA( - lpFileName: LPCSTR, - lpFindFileData: LPWIN32_FIND_DATAA, - ) -> HANDLE; - pub fn FindFirstFileW( - lpFileName: LPCWSTR, - lpFindFileData: LPWIN32_FIND_DATAW, - ) -> HANDLE; - pub fn FindFirstFileExA( - lpFileName: LPCSTR, - fInfoLevelId: FINDEX_INFO_LEVELS, - lpFindFileData: LPVOID, - fSearchOp: FINDEX_SEARCH_OPS, - lpSearchFilter: LPVOID, - dwAdditionalFlags: DWORD, - ) -> HANDLE; - pub fn FindFirstFileExW( - lpFileName: LPCWSTR, - fInfoLevelId: FINDEX_INFO_LEVELS, - lpFindFileData: LPVOID, - fSearchOp: FINDEX_SEARCH_OPS, - lpSearchFilter: LPVOID, - dwAdditionalFlags: DWORD, - ) -> HANDLE; - pub fn FindFirstVolumeW( - lpszVolumeName: LPWSTR, - cchBufferLength: DWORD, - ) -> HANDLE; - pub fn FindNextChangeNotification( - hChangeHandle: HANDLE, - ) -> BOOL; - pub fn FindNextFileA( - hFindFile: HANDLE, - lpFindFileData: LPWIN32_FIND_DATAA, - ) -> BOOL; - pub fn FindNextFileW( - hFindFile: HANDLE, - lpFindFileData: LPWIN32_FIND_DATAW, - ) -> BOOL; - pub fn FindNextVolumeW( - hFindVolume: HANDLE, - lpszVolumeName: LPWSTR, - cchBufferLength: DWORD, - ) -> BOOL; - pub fn FindVolumeClose( - hFindVolume: HANDLE, - ) -> BOOL; - pub fn FlushFileBuffers( - hFile: HANDLE, - ) -> BOOL; - pub fn GetDiskFreeSpaceA( - lpRootPathName: LPCSTR, - lpSectorsPerCluster: LPDWORD, - lpBytesPerSector: LPDWORD, - lpNumberOfFreeClusters: LPDWORD, - lpTotalNumberOfClusters: LPDWORD, - ) -> BOOL; - pub fn GetDiskFreeSpaceW( - lpRootPathName: LPCWSTR, - lpSectorsPerCluster: LPDWORD, - lpBytesPerSector: LPDWORD, - lpNumberOfFreeClusters: LPDWORD, - lpTotalNumberOfClusters: LPDWORD, - ) -> BOOL; - pub fn GetDiskFreeSpaceExA( - lpDirectoryName: LPCSTR, - lpFreeBytesAvailableToCaller: PULARGE_INTEGER, - lpTotalNumberOfBytes: PULARGE_INTEGER, - lpTotalNumberOfFreeBytes: PULARGE_INTEGER, - ) -> BOOL; - pub fn GetDiskFreeSpaceExW( - lpDirectoryName: LPCWSTR, - lpFreeBytesAvailableToCaller: PULARGE_INTEGER, - lpTotalNumberOfBytes: PULARGE_INTEGER, - lpTotalNumberOfFreeBytes: PULARGE_INTEGER, - ) -> BOOL; - pub fn GetDriveTypeA( - lpRootPathName: LPCSTR, - ) -> UINT; - pub fn GetDriveTypeW( - lpRootPathName: LPCWSTR, - ) -> UINT; - pub fn GetFileAttributesA( - lpFileName: LPCSTR, - ) -> DWORD; - pub fn GetFileAttributesW( - lpFileName: LPCWSTR, - ) -> DWORD; - pub fn GetFileAttributesExA( - lpFileName: LPCSTR, - fInfoLevelId: GET_FILEEX_INFO_LEVELS, - lpFileInformation: LPVOID, - ) -> BOOL; - pub fn GetFileAttributesExW( - lpFileName: LPCWSTR, - fInfoLevelId: GET_FILEEX_INFO_LEVELS, - lpFileInformation: LPVOID, - ) -> BOOL; - pub fn GetFileInformationByHandle( - hFile: HANDLE, - lpFileInformation: LPBY_HANDLE_FILE_INFORMATION, - ) -> BOOL; - pub fn GetFileSize( - hFile: HANDLE, - lpFileSizeHigh: LPDWORD, - ) -> DWORD; - pub fn GetFileSizeEx( - hFile: HANDLE, - lpFileSize: PLARGE_INTEGER, - ) -> BOOL; - pub fn GetFileType( - hFile: HANDLE, - ) -> DWORD; - pub fn GetFinalPathNameByHandleA( - hFile: HANDLE, - lpszFilePath: LPSTR, - cchFilePath: DWORD, - dwFlags: DWORD, - ) -> DWORD; - pub fn GetFinalPathNameByHandleW( - hFile: HANDLE, - lpszFilePath: LPWSTR, - cchFilePath: DWORD, - dwFlags: DWORD, - ) -> DWORD; - pub fn GetFileTime( - hFile: HANDLE, - lpCreationTime: LPFILETIME, - lpLastAccessTime: LPFILETIME, - lpLastWriteTime: LPFILETIME, - ) -> BOOL; - pub fn GetFullPathNameW( - lpFileName: LPCWSTR, - nBufferLength: DWORD, - lpBuffer: LPWSTR, - lpFilePart: *mut LPWSTR, - ) -> DWORD; - pub fn GetFullPathNameA( - lpFileName: LPCSTR, - nBufferLength: DWORD, - lpBuffer: LPSTR, - lpFilePart: *mut LPSTR, - ) -> DWORD; - pub fn GetLogicalDrives() -> DWORD; - pub fn GetLogicalDriveStringsW( - nBufferLength: DWORD, - lpBuffer: LPWSTR, - ) -> DWORD; - pub fn GetLongPathNameA( - lpszShortPath: LPCSTR, - lpszLongPath: LPSTR, - cchBuffer: DWORD, - ) -> DWORD; - pub fn GetLongPathNameW( - lpszShortPath: LPCWSTR, - lpszLongPath: LPWSTR, - cchBuffer: DWORD, - ) -> DWORD; - pub fn GetShortPathNameW( - lpszLongPath: LPCWSTR, - lpszShortPath: LPWSTR, - cchBuffer: DWORD, - ) -> DWORD; - pub fn GetTempFileNameW( - lpPathName: LPCWSTR, - lpPrefixString: LPCWSTR, - uUnique: UINT, - lpTempFileName: LPWSTR, - ) -> UINT; - pub fn GetVolumeInformationByHandleW( - hFile: HANDLE, - lpVolumeNameBuffer: LPWSTR, - nVolumeNameSize: DWORD, - lpVolumeSerialNumber: LPDWORD, - lpMaximumComponentLength: LPDWORD, - lpFileSystemFlags: LPDWORD, - lpFileSystemNameBuffer: LPWSTR, - nFileSystemNameSize: DWORD, - ) -> BOOL; - pub fn GetVolumeInformationW( - lpRootPathName: LPCWSTR, - lpVolumeNameBuffer: LPWSTR, - nVolumeNameSize: DWORD, - lpVolumeSerialNumber: LPDWORD, - lpMaximumComponentLength: LPDWORD, - lpFileSystemFlags: LPDWORD, - lpFileSystemNameBuffer: LPWSTR, - nFileSystemNameSize: DWORD, - ) -> BOOL; - pub fn GetVolumePathNameW( - lpszFileName: LPCWSTR, - lpszVolumePathName: LPWSTR, - cchBufferLength: DWORD, - ) -> BOOL; - pub fn LocalFileTimeToFileTime( - lpLocalFileTime: *const FILETIME, - lpFileTime: LPFILETIME, - ) -> BOOL; - pub fn LockFile( - hFile: HANDLE, - dwFileOffsetLow: DWORD, - dwFileOffsetHigh: DWORD, - nNumberOfBytesToLockLow: DWORD, - nNumberOfBytesToLockHigh: DWORD, - ) -> BOOL; - pub fn LockFileEx( - hFile: HANDLE, - dwFlags: DWORD, - dwReserved: DWORD, - nNumberOfBytesToLockLow: DWORD, - nNumberOfBytesToLockHigh: DWORD, - lpOverlapped: LPOVERLAPPED, - ) -> BOOL; - pub fn QueryDosDeviceW( - lpDeviceName: LPCWSTR, - lpTargetPath: LPWSTR, - ucchMax: DWORD, - ) -> DWORD; - pub fn ReadFile( - hFile: HANDLE, - lpBuffer: LPVOID, - nNumberOfBytesToRead: DWORD, - lpNumberOfBytesRead: LPDWORD, - lpOverlapped: LPOVERLAPPED, - ) -> BOOL; - pub fn ReadFileEx( - hFile: HANDLE, - lpBuffer: LPVOID, - nNumberOfBytesToRead: DWORD, - lpOverlapped: LPOVERLAPPED, - lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE, - ) -> BOOL; - pub fn ReadFileScatter( - hFile: HANDLE, - aSegmentArray: *mut FILE_SEGMENT_ELEMENT, - nNumberOfBytesToRead: DWORD, - lpReserved: LPDWORD, - lpOverlapped: LPOVERLAPPED, - ) -> BOOL; - pub fn RemoveDirectoryA( - lpPathName: LPCSTR, - ) -> BOOL; - pub fn RemoveDirectoryW( - lpPathName: LPCWSTR, - ) -> BOOL; - pub fn SetEndOfFile( - hFile: HANDLE, - ) -> BOOL; - pub fn SetFileAttributesA( - lpFileName: LPCSTR, - dwFileAttributes: DWORD, - ) -> BOOL; - pub fn SetFileAttributesW( - lpFileName: LPCWSTR, - dwFileAttributes: DWORD, - ) -> BOOL; - pub fn SetFileInformationByHandle( - hFile: HANDLE, - FileInformationClass: FILE_INFO_BY_HANDLE_CLASS, - lpFileInformation: LPVOID, - dwBufferSize: DWORD, - ) -> BOOL; - pub fn SetFilePointer( - hFile: HANDLE, - lDistanceToMove: LONG, - lpDistanceToMoveHigh: PLONG, - dwMoveMethod: DWORD, - ) -> DWORD; - pub fn SetFilePointerEx( - hFile: HANDLE, - liDistanceToMove: LARGE_INTEGER, - lpNewFilePointer: PLARGE_INTEGER, - dwMoveMethod: DWORD, - ) -> BOOL; - pub fn SetFileTime( - hFile: HANDLE, - lpCreationTime: *const FILETIME, - lpLastAccessTime: *const FILETIME, - lpLastWriteTime: *const FILETIME, - ) -> BOOL; - pub fn SetFileValidData( - hFile: HANDLE, - ValidDataLength: LONGLONG, - ) -> BOOL; - pub fn UnlockFile( - hFile: HANDLE, - dwFileOffsetLow: DWORD, - dwFileOffsetHigh: DWORD, - nNumberOfBytesToUnlockLow: DWORD, - nNumberOfBytesToUnlockHigh: DWORD, - ) -> BOOL; - pub fn UnlockFileEx( - hFile: HANDLE, - dwReserved: DWORD, - nNumberOfBytesToUnlockLow: DWORD, - nNumberOfBytesToUnlockHigh: DWORD, - lpOverlapped: LPOVERLAPPED, - ) -> BOOL; - pub fn WriteFile( - hFile: HANDLE, - lpBuffer: LPCVOID, - nNumberOfBytesToWrite: DWORD, - lpNumberOfBytesWritten: LPDWORD, - lpOverlapped: LPOVERLAPPED, - ) -> BOOL; - pub fn WriteFileEx( - hFile: HANDLE, - lpBuffer: LPCVOID, - nNumberOfBytesToWrite: DWORD, - lpOverlapped: LPOVERLAPPED, - lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE, - ) -> BOOL; - pub fn WriteFileGather( - hFile: HANDLE, - aSegmentArray: *mut FILE_SEGMENT_ELEMENT, - nNumberOfBytesToWrite: DWORD, - lpReserved: LPDWORD, - lpOverlapped: LPOVERLAPPED, - ) -> BOOL; - pub fn GetTempPathW( - nBufferLength: DWORD, - lpBuffer: LPWSTR, - ) -> DWORD; - pub fn GetVolumeNameForVolumeMountPointW( - lpszVolumeMountPoint: LPCWSTR, - lpszVolumeName: LPWSTR, - cchBufferLength: DWORD, - ) -> BOOL; - pub fn GetVolumePathNamesForVolumeNameW( - lpszVolumeName: LPCWSTR, - lpszVolumePathNames: LPWCH, - cchBufferLength: DWORD, - lpcchReturnLength: PDWORD, - ) -> BOOL; - pub fn CreateFile2( - lpFileName: LPCWSTR, - dwDesiredAccess: DWORD, - dwShareMode: DWORD, - dwCreationDisposition: DWORD, - pCreateExParams: LPCREATEFILE2_EXTENDED_PARAMETERS, - ) -> HANDLE; - pub fn SetFileIoOverlappedRange( - FileHandle: HANDLE, - OverlappedRangeStart: PUCHAR, - Length: ULONG, - ) -> BOOL; - pub fn GetCompressedFileSizeA( - lpFileName: LPCSTR, - lpFileSizeHigh: LPDWORD, - ) -> DWORD; - pub fn GetCompressedFileSizeW( - lpFileName: LPCWSTR, - lpFileSizeHigh: LPDWORD, - ) -> DWORD; -} -ENUM!{enum STREAM_INFO_LEVELS { - FindStreamInfoStandard, - FindStreamInfoMaxInfoLevel, -}} -extern "system" { - pub fn FindFirstStreamW( - lpFileName: LPCWSTR, - InfoLevel: STREAM_INFO_LEVELS, - lpFindStreamData: LPVOID, - dwFlags: DWORD, - ) -> HANDLE; - pub fn FindNextStreamW( - hFindStream: HANDLE, - lpFindStreamData: LPVOID, - ) -> BOOL; - pub fn AreFileApisANSI() -> BOOL; - pub fn GetTempPathA( - nBufferLength: DWORD, - lpBuffer: LPSTR, - ) -> DWORD; - pub fn FindFirstFileNameW( - lpFileName: LPCWSTR, - dwFlags: DWORD, - StringLength: LPDWORD, - LinkName: PWSTR, - ) -> HANDLE; - pub fn FindNextFileNameW( - hFindStream: HANDLE, - StringLength: LPDWORD, - LinkName: PWSTR, - ) -> BOOL; - pub fn GetVolumeInformationA( - lpRootPathName: LPCSTR, - lpVolumeNameBuffer: LPSTR, - nVolumeNameSize: DWORD, - lpVolumeSerialNumber: LPDWORD, - lpMaximumComponentLength: LPDWORD, - lpFileSystemFlags: LPDWORD, - lpFileSystemNameBuffer: LPSTR, - nFileSystemNameSize: DWORD, - ) -> BOOL; - pub fn GetTempFileNameA( - lpPathName: LPCSTR, - lpPrefixString: LPCSTR, - uUnique: UINT, - lpTempFileName: LPSTR, - ) -> UINT; - pub fn SetFileApisToOEM(); - pub fn SetFileApisToANSI(); -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/gl/gl.rs b/vendor/registry-40351f815f426200/winapi/src/um/gl/gl.rs deleted file mode 100644 index d7c1b586e..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/gl/gl.rs +++ /dev/null @@ -1,52 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_double, c_float, c_int, c_schar, c_short, c_uchar, c_uint, c_ushort, c_void}; -//48 -pub type GLenum = c_uint; -pub type GLboolean = c_uchar; -pub type GLbitfield = c_uint; -pub type GLbyte = c_schar; -pub type GLshort = c_short; -pub type GLint = c_int; -pub type GLsizei = c_int; -pub type GLubyte = c_uchar; -pub type GLushort = c_ushort; -pub type GLuint = c_uint; -pub type GLfloat = c_float; -pub type GLclampf = c_float; -pub type GLdouble = c_double; -pub type GLclampd = c_double; -pub type GLvoid = c_void; -//63 -//68 -//AccumOp -pub const GL_ACCUM: GLenum = 0x0100; -pub const GL_LOAD: GLenum = 0x0101; -pub const GL_RETURN: GLenum = 0x0102; -pub const GL_MULT: GLenum = 0x0103; -pub const GL_ADD: GLenum = 0x0104; -//AlphaFunction -pub const GL_NEVER: GLenum = 0x0200; -pub const GL_LESS: GLenum = 0x0201; -pub const GL_EQUAL: GLenum = 0x0202; -pub const GL_LEQUAL: GLenum = 0x0203; -pub const GL_GREATER: GLenum = 0x0204; -pub const GL_NOTEQUAL: GLenum = 0x0205; -pub const GL_GEQUAL: GLenum = 0x0206; -pub const GL_ALWAYS: GLenum = 0x0207; -// TODO: we're missing about 1500 lines of defines and methods -// until that time, you can use the excellent GL crate -// https://github.com/brendanzab/gl-rs -extern "system" { - pub fn glAccum( - op: GLenum, - value: GLfloat, - ); - pub fn glAlphaFunc( - func: GLenum, - reference: GLclampf, - ); -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/gl/mod.rs b/vendor/registry-40351f815f426200/winapi/src/um/gl/mod.rs deleted file mode 100644 index 6ce6d067f..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/gl/mod.rs +++ /dev/null @@ -1,7 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Headers for user mode only -#[cfg(feature = "gl-gl")] pub mod gl; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/handleapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/handleapi.rs deleted file mode 100644 index 1d7e43d77..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/handleapi.rs +++ /dev/null @@ -1,36 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! handleapi include file -use shared::minwindef::{BOOL, DWORD, LPDWORD, LPHANDLE}; -use um::winnt::HANDLE; -pub const INVALID_HANDLE_VALUE: HANDLE = -1isize as HANDLE; -extern "system" { - pub fn CloseHandle( - hObject: HANDLE, - ) -> BOOL; - pub fn DuplicateHandle( - hSourceProcessHandle: HANDLE, - hSourceHandle: HANDLE, - hTargetProcessHandle: HANDLE, - lpTargetHandle: LPHANDLE, - dwDesiredAccess: DWORD, - bInheritHandle: BOOL, - dwOptions: DWORD, - ) -> BOOL; - pub fn CompareObjectHandles( - hFirstObjectHandle: HANDLE, - hSecondObjectHandle: HANDLE, - ) -> BOOL; - pub fn GetHandleInformation( - hObject: HANDLE, - lpdwFlags: LPDWORD, - ) -> BOOL; - pub fn SetHandleInformation( - hObject: HANDLE, - dwMask: DWORD, - dwFlags: DWORD, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/heapapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/heapapi.rs deleted file mode 100644 index 83073b31e..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/heapapi.rs +++ /dev/null @@ -1,92 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! ApiSet Contract for api-ms-win-core-heap-l1 -use shared::basetsd::{PSIZE_T, SIZE_T}; -use shared::minwindef::{BOOL, DWORD, LPCVOID, LPVOID}; -use um::minwinbase::LPPROCESS_HEAP_ENTRY; -use um::winnt::{HANDLE, HEAP_INFORMATION_CLASS, PHANDLE, PVOID}; -STRUCT!{struct HEAP_SUMMARY { - cb: DWORD, - cbAllocated: SIZE_T, - cbCommitted: SIZE_T, - cbReserved: SIZE_T, - cbMaxReserve: SIZE_T, -}} -pub type PHEAP_SUMMARY = *mut HEAP_SUMMARY; -pub type LPHEAP_SUMMARY = PHEAP_SUMMARY; -extern "system" { - pub fn HeapCreate( - flOptions: DWORD, - dwInitialSize: SIZE_T, - dwMaximumSize: SIZE_T, - ) -> HANDLE; - pub fn HeapDestroy( - hHeap: HANDLE, - ) -> BOOL; - pub fn HeapAlloc( - hHeap: HANDLE, - dwFlags: DWORD, - dwBytes: SIZE_T, - ) -> LPVOID; - pub fn HeapReAlloc( - hHeap: HANDLE, - dwFlags: DWORD, - lpMem: LPVOID, - dwBytes: SIZE_T, - ) -> LPVOID; - pub fn HeapFree( - hHeap: HANDLE, - dwFlags: DWORD, - lpMem: LPVOID, - ) -> BOOL; - pub fn HeapSize( - hHeap: HANDLE, - dwFlags: DWORD, - lpMem: LPCVOID, - ) -> SIZE_T; - pub fn GetProcessHeap() -> HANDLE; - pub fn HeapCompact( - hHeap: HANDLE, - dwFlags: DWORD, - ) -> SIZE_T; - pub fn HeapSetInformation( - HeapHandle: HANDLE, - HeapInformationClass: HEAP_INFORMATION_CLASS, - HeapInformation: PVOID, - HeapInformationLength: SIZE_T, - ) -> BOOL; - pub fn HeapValidate( - hHeap: HANDLE, - dwFlags: DWORD, - lpMem: LPCVOID, - ) -> BOOL; - pub fn HeapSummary( - hHeap: HANDLE, - dwFlags: DWORD, - lpSummary: LPHEAP_SUMMARY, - ) -> BOOL; - pub fn GetProcessHeaps( - NumberOfHeaps: DWORD, - ProcessHeaps: PHANDLE, - ) -> DWORD; - pub fn HeapLock( - hHeap: HANDLE, - ) -> BOOL; - pub fn HeapUnlock( - hHeap: HANDLE, - ) -> BOOL; - pub fn HeapWalk( - hHeap: HANDLE, - lpEntry: LPPROCESS_HEAP_ENTRY, - ) -> BOOL; - pub fn HeapQueryInformation( - HeapHandle: HANDLE, - HeapInformationClass: HEAP_INFORMATION_CLASS, - HeapInformation: PVOID, - HeapInformationLength: SIZE_T, - ReturnLength: PSIZE_T, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/highlevelmonitorconfigurationapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/highlevelmonitorconfigurationapi.rs deleted file mode 100644 index f187aeb26..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/highlevelmonitorconfigurationapi.rs +++ /dev/null @@ -1,171 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::{DWORD, LPDWORD}; -use um::physicalmonitorenumerationapi::_BOOL; -use um::winnt::HANDLE; -pub const MC_CAPS_NONE: DWORD = 0x00000000; -pub const MC_CAPS_MONITOR_TECHNOLOGY_TYPE: DWORD = 0x00000001; -pub const MC_CAPS_BRIGHTNESS: DWORD = 0x00000002; -pub const MC_CAPS_CONTRAST: DWORD = 0x00000004; -pub const MC_CAPS_COLOR_TEMPERATURE: DWORD = 0x00000008; -pub const MC_CAPS_RED_GREEN_BLUE_GAIN: DWORD = 0x00000010; -pub const MC_CAPS_RED_GREEN_BLUE_DRIVE: DWORD = 0x00000020; -pub const MC_CAPS_DEGAUSS: DWORD = 0x00000040; -pub const MC_CAPS_DISPLAY_AREA_POSITION: DWORD = 0x00000080; -pub const MC_CAPS_DISPLAY_AREA_SIZE: DWORD = 0x00000100; -pub const MC_CAPS_RESTORE_FACTORY_DEFAULTS: DWORD = 0x00000400; -pub const MC_CAPS_RESTORE_FACTORY_COLOR_DEFAULTS: DWORD = 0x00000800; -pub const MC_RESTORE_FACTORY_DEFAULTS_ENABLES_MONITOR_SETTINGS: DWORD = 0x00001000; -pub const MC_SUPPORTED_COLOR_TEMPERATURE_NONE: DWORD = 0x00000000; -pub const MC_SUPPORTED_COLOR_TEMPERATURE_4000K: DWORD = 0x00000001; -pub const MC_SUPPORTED_COLOR_TEMPERATURE_5000K: DWORD = 0x00000002; -pub const MC_SUPPORTED_COLOR_TEMPERATURE_6500K: DWORD = 0x00000004; -pub const MC_SUPPORTED_COLOR_TEMPERATURE_7500K: DWORD = 0x00000008; -pub const MC_SUPPORTED_COLOR_TEMPERATURE_8200K: DWORD = 0x00000010; -pub const MC_SUPPORTED_COLOR_TEMPERATURE_9300K: DWORD = 0x00000020; -pub const MC_SUPPORTED_COLOR_TEMPERATURE_10000K: DWORD = 0x00000040; -pub const MC_SUPPORTED_COLOR_TEMPERATURE_11500K: DWORD = 0x00000080; -ENUM!{enum MC_DISPLAY_TECHNOLOGY_TYPE { - MC_SHADOW_MASK_CATHODE_RAY_TUBE, - MC_APERTURE_GRILL_CATHODE_RAY_TUBE, - MC_THIN_FILM_TRANSISTOR, - MC_LIQUID_CRYSTAL_ON_SILICON, - MC_PLASMA, - MC_ORGANIC_LIGHT_EMITTING_DIODE, - MC_ELECTROLUMINESCENT, - MC_MICROELECTROMECHANICAL, - MC_FIELD_EMISSION_DEVICE, -}} -pub type LPMC_DISPLAY_TECHNOLOGY_TYPE = *mut MC_DISPLAY_TECHNOLOGY_TYPE; -ENUM!{enum MC_DRIVE_TYPE { - MC_RED_DRIVE, - MC_GREEN_DRIVE, - MC_BLUE_DRIVE, -}} -ENUM!{enum MC_GAIN_TYPE { - MC_RED_GAIN, - MC_GREEN_GAIN, - MC_BLUE_GAIN, -}} -ENUM!{enum MC_POSITION_TYPE { - MC_HORIZONTAL_POSITION, - MC_VERTICAL_POSITION, -}} -ENUM!{enum MC_SIZE_TYPE { - MC_WIDTH, - MC_HEIGHT, -}} -ENUM!{enum MC_COLOR_TEMPERATURE { - MC_COLOR_TEMPERATURE_UNKNOWN, - MC_COLOR_TEMPERATURE_4000K, - MC_COLOR_TEMPERATURE_5000K, - MC_COLOR_TEMPERATURE_6500K, - MC_COLOR_TEMPERATURE_7500K, - MC_COLOR_TEMPERATURE_8200K, - MC_COLOR_TEMPERATURE_9300K, - MC_COLOR_TEMPERATURE_10000K, - MC_COLOR_TEMPERATURE_11500K, -}} -pub type LPMC_COLOR_TEMPERATURE = *mut MC_COLOR_TEMPERATURE; -extern "system" { - pub fn GetMonitorCapabilities( - hMonitor: HANDLE, - pdwMonitorCapabilities: LPDWORD, - pdwSupportedColorTemperature: LPDWORD, - ) -> _BOOL; - pub fn SaveCurrentMonitorSettings( - hMonitor: HANDLE, - ) -> _BOOL; - pub fn GetMonitorTechnologyType( - hMonitor: HANDLE, - pdtyDisplayTechnologyType: LPMC_DISPLAY_TECHNOLOGY_TYPE, - ) -> _BOOL; - pub fn GetMonitorBrightness( - hMonitor: HANDLE, - pdwMinimumBrightness: LPDWORD, - pdwCurrentBrightness: LPDWORD, - pdwMaximumBrightness: LPDWORD, - ) -> _BOOL; - pub fn GetMonitorContrast( - hMonitor: HANDLE, - pdwMinimumContrast: LPDWORD, - pdwCurrentContrast: LPDWORD, - pdwMaximumContrast: LPDWORD, - ) -> _BOOL; - pub fn GetMonitorColorTemperature( - hMonitor: HANDLE, - pctCurrentColorTemperature: LPMC_COLOR_TEMPERATURE, - ) -> _BOOL; - pub fn GetMonitorRedGreenOrBlueDrive( - hMonitor: HANDLE, - dtDriveType: MC_DRIVE_TYPE, - pdwMinimumDrive: LPDWORD, - pdwCurrentDrive: LPDWORD, - pdwMaximumDrive: LPDWORD, - ) -> _BOOL; - pub fn GetMonitorRedGreenOrBlueGain( - hMonitor: HANDLE, - gtGainType: MC_GAIN_TYPE, - pdwMinimumGain: LPDWORD, - pdwCurrentGain: LPDWORD, - pdwMaximumGain: LPDWORD, - ) -> _BOOL; - pub fn SetMonitorBrightness( - hMonitor: HANDLE, - dwNewBrightness: DWORD, - ) -> _BOOL; - pub fn SetMonitorContrast( - hMonitor: HANDLE, - dwNewContrast: DWORD, - ) -> _BOOL; - pub fn SetMonitorColorTemperature( - hMonitor: HANDLE, - ctCurrentColorTemperature: MC_COLOR_TEMPERATURE, - ) -> _BOOL; - pub fn SetMonitorRedGreenOrBlueDrive( - hMonitor: HANDLE, - dtDriveType: MC_DRIVE_TYPE, - dwNewDrive: DWORD, - ) -> _BOOL; - pub fn SetMonitorRedGreenOrBlueGain( - hMonitor: HANDLE, - gtGainType: MC_GAIN_TYPE, - dwNewGain: DWORD, - ) -> _BOOL; - pub fn DegaussMonitor( - hMonitor: HANDLE, - ) -> _BOOL; - pub fn GetMonitorDisplayAreaSize( - hMonitor: HANDLE, - stSizeType: MC_SIZE_TYPE, - pdwMinimumWidthOrHeight: LPDWORD, - pdwCurrentWidthOrHeight: LPDWORD, - pdwMaximumWidthOrHeight: LPDWORD, - ) -> _BOOL; - pub fn GetMonitorDisplayAreaPosition( - hMonitor: HANDLE, - ptPositionType: MC_POSITION_TYPE, - pdwMinimumPosition: LPDWORD, - pdwCurrentPosition: LPDWORD, - pdwMaximumPosition: LPDWORD, - ) -> _BOOL; - pub fn SetMonitorDisplayAreaSize( - hMonitor: HANDLE, - stSizeType: MC_SIZE_TYPE, - dwNewDisplayAreaWidthOrHeight: DWORD, - ) -> _BOOL; - pub fn SetMonitorDisplayAreaPosition( - hMonitor: HANDLE, - ptPositionType: MC_POSITION_TYPE, - dwNewPosition: DWORD, - ) -> _BOOL; - pub fn RestoreMonitorFactoryColorDefaults( - hMonitor: HANDLE, - ) -> _BOOL; - pub fn RestoreMonitorFactoryDefaults( - hMonitor: HANDLE, - ) -> _BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/http.rs b/vendor/registry-40351f815f426200/winapi/src/um/http.rs deleted file mode 100644 index 38608d1df..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/http.rs +++ /dev/null @@ -1,1072 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! HTTP API specification -use shared::guiddef::GUID; -use shared::minwindef::{DWORD, PUCHAR, PULONG, UCHAR, ULONG, USHORT}; -use shared::sspi::SECURITY_STATUS; -use shared::ws2def::{PSOCKADDR, SOCKADDR_STORAGE}; -use um::minwinbase::{LPOVERLAPPED, PSECURITY_ATTRIBUTES}; -use um::winnt::{ - ANYSIZE_ARRAY, BOOLEAN, HANDLE, PCHAR, PCSTR, PCWSTR, PHANDLE, PSECURITY_DESCRIPTOR, PVOID, - PWCHAR, PWSTR, ULARGE_INTEGER, ULONGLONG, -}; -pub const HTTP_INITIALIZE_SERVER: ULONG = 0x00000001; -pub const HTTP_INITIALIZE_CONFIG: ULONG = 0x00000002; -pub const HTTP_DEMAND_CBT: ULONG = 0x00000004; -ENUM!{enum HTTP_SERVER_PROPERTY { - HttpServerAuthenticationProperty, - HttpServerLoggingProperty, - HttpServerQosProperty, - HttpServerTimeoutsProperty, - HttpServerQueueLengthProperty, - HttpServerStateProperty, - HttpServer503VerbosityProperty, - HttpServerBindingProperty, - HttpServerExtendedAuthenticationProperty, - HttpServerListenEndpointProperty, - HttpServerChannelBindProperty, - HttpServerProtectionLevelProperty, -}} -pub type PHTTP_SERVER_PROPERTY = *mut HTTP_SERVER_PROPERTY; -STRUCT!{struct HTTP_PROPERTY_FLAGS { - BitFields: ULONG, -}} -BITFIELD!{HTTP_PROPERTY_FLAGS BitFields: ULONG [ - Present set_Present[0..1], -]} -pub type PHTTP_PROPERTY_FLAGS = *mut HTTP_PROPERTY_FLAGS; -ENUM!{enum HTTP_ENABLED_STATE { - HttpEnabledStateActive, - HttpEnabledStateInactive, -}} -pub type PHTTP_ENABLED_STATE = *mut HTTP_ENABLED_STATE; -STRUCT!{struct HTTP_STATE_INFO { - Flags: HTTP_PROPERTY_FLAGS, - State: HTTP_ENABLED_STATE, -}} -pub type PHTTP_STATE_INFO = *mut HTTP_STATE_INFO; -ENUM!{enum HTTP_503_RESPONSE_VERBOSITY { - Http503ResponseVerbosityBasic, - Http503ResponseVerbosityLimited, - Http503ResponseVerbosityFull, -}} -pub type PHTTP_503_RESPONSE_VERBOSITY = *mut HTTP_503_RESPONSE_VERBOSITY; -ENUM!{enum HTTP_QOS_SETTING_TYPE { - HttpQosSettingTypeBandwidth, - HttpQosSettingTypeConnectionLimit, - HttpQosSettingTypeFlowRate, -}} -pub type PHTTP_QOS_SETTING_TYPE = *mut HTTP_QOS_SETTING_TYPE; -STRUCT!{struct HTTP_QOS_SETTING_INFO { - QosType: HTTP_QOS_SETTING_TYPE, - QosSetting: PVOID, -}} -pub type PHTTP_QOS_SETTING_INFO = *mut HTTP_QOS_SETTING_INFO; -STRUCT!{struct HTTP_CONNECTION_LIMIT_INFO { - Flags: HTTP_PROPERTY_FLAGS, - MaxConnections: ULONG, -}} -pub type PHTTP_CONNECTION_LIMIT_INFO = *mut HTTP_CONNECTION_LIMIT_INFO; -STRUCT!{struct HTTP_BANDWIDTH_LIMIT_INFO { - Flags: HTTP_PROPERTY_FLAGS, - MaxBandwidth: ULONG, -}} -pub type PHTTP_BANDWIDTH_LIMIT_INFO = *mut HTTP_BANDWIDTH_LIMIT_INFO; -STRUCT!{struct HTTP_FLOWRATE_INFO { - Flags: HTTP_PROPERTY_FLAGS, - MaxBandwidth: ULONG, - MaxPeakBandwidth: ULONG, - BurstSize: ULONG, -}} -pub type PHTTP_FLOWRATE_INFO = *mut HTTP_FLOWRATE_INFO; -pub const HTTP_MIN_ALLOWED_BANDWIDTH_THROTTLING_RATE: ULONG = 1024; -pub const HTTP_LIMIT_INFINITE: ULONG = !0; -ENUM!{enum HTTP_SERVICE_CONFIG_TIMEOUT_KEY { - IdleConnectionTimeout = 0, - HeaderWaitTimeout, -}} -pub type PHTTP_SERVICE_CONFIG_TIMEOUT_KEY = *mut HTTP_SERVICE_CONFIG_TIMEOUT_KEY; -pub type HTTP_SERVICE_CONFIG_TIMEOUT_PARAM = USHORT; -pub type PHTTP_SERVICE_CONFIG_TIMEOUT_PARAM = *mut USHORT; -STRUCT!{struct HTTP_SERVICE_CONFIG_TIMEOUT_SET { - KeyDesc: HTTP_SERVICE_CONFIG_TIMEOUT_KEY, - ParamDesc: HTTP_SERVICE_CONFIG_TIMEOUT_PARAM, -}} -pub type PHTTP_SERVICE_CONFIG_TIMEOUT_SET = *mut HTTP_SERVICE_CONFIG_TIMEOUT_SET; -STRUCT!{struct HTTP_TIMEOUT_LIMIT_INFO { - Flags: HTTP_PROPERTY_FLAGS, - EntityBody: USHORT, - DrainEntityBody: USHORT, - RequestQueue: USHORT, - IdleConnection: USHORT, - HeaderWait: USHORT, - MinSendRate: ULONG, -}} -pub type PHTTP_TIMEOUT_LIMIT_INFO = *mut HTTP_TIMEOUT_LIMIT_INFO; -STRUCT!{struct HTTP_LISTEN_ENDPOINT_INFO { - Flags: HTTP_PROPERTY_FLAGS, - EnableSharing: BOOLEAN, -}} -pub type PHTTP_LISTEN_ENDPOINT_INFO = *mut HTTP_LISTEN_ENDPOINT_INFO; -STRUCT!{struct HTTP_SERVER_AUTHENTICATION_DIGEST_PARAMS { - DomainNameLength: USHORT, - DomainName: PWSTR, - RealmLength: USHORT, - Realm: PWSTR, -}} -pub type PHTTP_SERVER_AUTHENTICATION_DIGEST_PARAMS = *mut HTTP_SERVER_AUTHENTICATION_DIGEST_PARAMS; -STRUCT!{struct HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS { - RealmLength: USHORT, - Realm: PWSTR, -}} -pub type PHTTP_SERVER_AUTHENTICATION_BASIC_PARAMS = *mut HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS; -pub const HTTP_AUTH_ENABLE_BASIC: ULONG = 0x00000001; -pub const HTTP_AUTH_ENABLE_DIGEST: ULONG = 0x00000002; -pub const HTTP_AUTH_ENABLE_NTLM: ULONG = 0x00000004; -pub const HTTP_AUTH_ENABLE_NEGOTIATE: ULONG = 0x00000008; -pub const HTTP_AUTH_ENABLE_KERBEROS: ULONG = 0x00000010; -pub const HTTP_AUTH_ENABLE_ALL: ULONG = HTTP_AUTH_ENABLE_BASIC | HTTP_AUTH_ENABLE_DIGEST | - HTTP_AUTH_ENABLE_NTLM | HTTP_AUTH_ENABLE_NEGOTIATE | HTTP_AUTH_ENABLE_KERBEROS; -pub const HTTP_AUTH_EX_FLAG_ENABLE_KERBEROS_CREDENTIAL_CACHING: UCHAR = 0x01; -pub const HTTP_AUTH_EX_FLAG_CAPTURE_CREDENTIAL: UCHAR = 0x02; -STRUCT!{struct HTTP_SERVER_AUTHENTICATION_INFO { - Flags: HTTP_PROPERTY_FLAGS, - AuthSchemes: ULONG, - ReceiveMutualAuth: BOOLEAN, - ReceiveContextHandle: BOOLEAN, - DisableNTLMCredentialCaching: BOOLEAN, - ExFlags: UCHAR, - DigestParams: HTTP_SERVER_AUTHENTICATION_DIGEST_PARAMS, - BasicParams: HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS, -}} -pub type PHTTP_SERVER_AUTHENTICATION_INFO = *mut HTTP_SERVER_AUTHENTICATION_INFO; -ENUM!{enum HTTP_SERVICE_BINDING_TYPE { - HttpServiceBindingTypeNone = 0, - HttpServiceBindingTypeW, - HttpServiceBindingTypeA, -}} -STRUCT!{struct HTTP_SERVICE_BINDING_BASE { - Type: HTTP_SERVICE_BINDING_TYPE, -}} -pub type PHTTP_SERVICE_BINDING_BASE = *mut HTTP_SERVICE_BINDING_BASE; -STRUCT!{struct HTTP_SERVICE_BINDING_A { - Base: HTTP_SERVICE_BINDING_BASE, - Buffer: PCHAR, - BufferSize: ULONG, -}} -pub type PHTTP_SERVICE_BINDING_A = *mut HTTP_SERVICE_BINDING_A; -STRUCT!{struct HTTP_SERVICE_BINDING_W { - Base: HTTP_SERVICE_BINDING_BASE, - Buffer: PWCHAR, - BufferSize: ULONG, -}} -pub type PHTTP_SERVICE_BINDING_W = *mut HTTP_SERVICE_BINDING_W; -ENUM!{enum HTTP_AUTHENTICATION_HARDENING_LEVELS { - HttpAuthenticationHardeningLegacy = 0, - HttpAuthenticationHardeningMedium, - HttpAuthenticationHardeningStrict, -}} -pub const HTTP_CHANNEL_BIND_PROXY: ULONG = 0x1; -pub const HTTP_CHANNEL_BIND_PROXY_COHOSTING: ULONG = 0x20; -pub const HTTP_CHANNEL_BIND_NO_SERVICE_NAME_CHECK: ULONG = 0x2; -pub const HTTP_CHANNEL_BIND_DOTLESS_SERVICE: ULONG = 0x4; -pub const HTTP_CHANNEL_BIND_SECURE_CHANNEL_TOKEN: ULONG = 0x8; -pub const HTTP_CHANNEL_BIND_CLIENT_SERVICE: ULONG = 0x10; -STRUCT!{struct HTTP_CHANNEL_BIND_INFO { - Hardening: HTTP_AUTHENTICATION_HARDENING_LEVELS, - Flags: ULONG, - ServiceNames: *mut PHTTP_SERVICE_BINDING_BASE, - NumberOfServiceNames: ULONG, -}} -pub type PHTTP_CHANNEL_BIND_INFO = *mut HTTP_CHANNEL_BIND_INFO; -STRUCT!{struct HTTP_REQUEST_CHANNEL_BIND_STATUS { - ServiceName: PHTTP_SERVICE_BINDING_BASE, - ChannelToken: PUCHAR, - ChannelTokenSize: ULONG, - Flags: ULONG, -}} -pub type PHTTP_REQUEST_CHANNEL_BIND_STATUS = *mut HTTP_REQUEST_CHANNEL_BIND_STATUS; -pub const HTTP_LOG_FIELD_DATE: ULONG = 0x00000001; -pub const HTTP_LOG_FIELD_TIME: ULONG = 0x00000002; -pub const HTTP_LOG_FIELD_CLIENT_IP: ULONG = 0x00000004; -pub const HTTP_LOG_FIELD_USER_NAME: ULONG = 0x00000008; -pub const HTTP_LOG_FIELD_SITE_NAME: ULONG = 0x00000010; -pub const HTTP_LOG_FIELD_COMPUTER_NAME: ULONG = 0x00000020; -pub const HTTP_LOG_FIELD_SERVER_IP: ULONG = 0x00000040; -pub const HTTP_LOG_FIELD_METHOD: ULONG = 0x00000080; -pub const HTTP_LOG_FIELD_URI_STEM: ULONG = 0x00000100; -pub const HTTP_LOG_FIELD_URI_QUERY: ULONG = 0x00000200; -pub const HTTP_LOG_FIELD_STATUS: ULONG = 0x00000400; -pub const HTTP_LOG_FIELD_WIN32_STATUS: ULONG = 0x00000800; -pub const HTTP_LOG_FIELD_BYTES_SENT: ULONG = 0x00001000; -pub const HTTP_LOG_FIELD_BYTES_RECV: ULONG = 0x00002000; -pub const HTTP_LOG_FIELD_TIME_TAKEN: ULONG = 0x00004000; -pub const HTTP_LOG_FIELD_SERVER_PORT: ULONG = 0x00008000; -pub const HTTP_LOG_FIELD_USER_AGENT: ULONG = 0x00010000; -pub const HTTP_LOG_FIELD_COOKIE: ULONG = 0x00020000; -pub const HTTP_LOG_FIELD_REFERER: ULONG = 0x00040000; -pub const HTTP_LOG_FIELD_VERSION: ULONG = 0x00080000; -pub const HTTP_LOG_FIELD_HOST: ULONG = 0x00100000; -pub const HTTP_LOG_FIELD_SUB_STATUS: ULONG = 0x00200000; -pub const HTTP_LOG_FIELD_CLIENT_PORT: ULONG = 0x00400000; -pub const HTTP_LOG_FIELD_URI: ULONG = 0x00800000; -pub const HTTP_LOG_FIELD_SITE_ID: ULONG = 0x01000000; -pub const HTTP_LOG_FIELD_REASON: ULONG = 0x02000000; -pub const HTTP_LOG_FIELD_QUEUE_NAME: ULONG = 0x04000000; -ENUM!{enum HTTP_LOGGING_TYPE { - HttpLoggingTypeW3C, - HttpLoggingTypeIIS, - HttpLoggingTypeNCSA, - HttpLoggingTypeRaw, -}} -ENUM!{enum HTTP_LOGGING_ROLLOVER_TYPE { - HttpLoggingRolloverSize, - HttpLoggingRolloverDaily, - HttpLoggingRolloverWeekly, - HttpLoggingRolloverMonthly, - HttpLoggingRolloverHourly, -}} -pub const HTTP_MIN_ALLOWED_LOG_FILE_ROLLOVER_SIZE: ULONG = 1 * 1024 * 1024; -pub const HTTP_LOGGING_FLAG_LOCAL_TIME_ROLLOVER: ULONG = 0x00000001; -pub const HTTP_LOGGING_FLAG_USE_UTF8_CONVERSION: ULONG = 0x00000002; -pub const HTTP_LOGGING_FLAG_LOG_ERRORS_ONLY: ULONG = 0x00000004; -pub const HTTP_LOGGING_FLAG_LOG_SUCCESS_ONLY: ULONG = 0x00000008; -STRUCT!{struct HTTP_LOGGING_INFO { - Flags: HTTP_PROPERTY_FLAGS, - LoggingFlags: ULONG, - SoftwareName: PCWSTR, - SoftwareNameLength: USHORT, - DirectoryNameLength: USHORT, - DirectoryName: PCWSTR, - Format: HTTP_LOGGING_TYPE, - Fields: ULONG, - pExtFields: PVOID, - NumOfExtFields: USHORT, - MaxRecordSize: USHORT, - RolloverType: HTTP_LOGGING_ROLLOVER_TYPE, - RolloverSize: ULONG, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, -}} -pub type PHTTP_LOGGING_INFO = *mut HTTP_LOGGING_INFO; -STRUCT!{struct HTTP_BINDING_INFO { - Flags: HTTP_PROPERTY_FLAGS, - RequestQueueHandle: HANDLE, -}} -pub type PHTTP_BINDING_INFO = *mut HTTP_BINDING_INFO; -ENUM!{enum HTTP_PROTECTION_LEVEL_TYPE { - HttpProtectionLevelUnrestricted, - HttpProtectionLevelEdgeRestricted, - HttpProtectionLevelRestricted, -}} -pub type PHTTP_PROTECTION_LEVEL_TYPE = *mut HTTP_PROTECTION_LEVEL_TYPE; -STRUCT!{struct HTTP_PROTECTION_LEVEL_INFO { - Flags: HTTP_PROPERTY_FLAGS, - Level: HTTP_PROTECTION_LEVEL_TYPE, -}} -pub type PHTTP_PROTECTION_LEVEL_INFO = *mut HTTP_PROTECTION_LEVEL_INFO; -pub const HTTP_CREATE_REQUEST_QUEUE_FLAG_OPEN_EXISTING: ULONG = 0x00000001; -pub const HTTP_CREATE_REQUEST_QUEUE_FLAG_CONTROLLER: ULONG = 0x00000002; -pub const HTTP_RECEIVE_REQUEST_FLAG_COPY_BODY: ULONG = 0x00000001; -pub const HTTP_RECEIVE_REQUEST_FLAG_FLUSH_BODY: ULONG = 0x00000002; -pub const HTTP_RECEIVE_REQUEST_ENTITY_BODY_FLAG_FILL_BUFFER: ULONG = 0x00000001; -pub const HTTP_SEND_RESPONSE_FLAG_DISCONNECT: ULONG = 0x00000001; -pub const HTTP_SEND_RESPONSE_FLAG_MORE_DATA: ULONG = 0x00000002; -pub const HTTP_SEND_RESPONSE_FLAG_BUFFER_DATA: ULONG = 0x00000004; -pub const HTTP_SEND_RESPONSE_FLAG_ENABLE_NAGLING: ULONG = 0x00000008; -pub const HTTP_SEND_RESPONSE_FLAG_PROCESS_RANGES: ULONG = 0x00000020; -pub const HTTP_SEND_RESPONSE_FLAG_OPAQUE: ULONG = 0x00000040; -pub const HTTP_FLUSH_RESPONSE_FLAG_RECURSIVE: ULONG = 0x00000001; -pub type HTTP_OPAQUE_ID = ULONGLONG; -pub type PHTTP_OPAQUE_ID = *mut ULONGLONG; -pub type HTTP_REQUEST_ID = HTTP_OPAQUE_ID; -pub type PHTTP_REQUEST_ID = *mut HTTP_OPAQUE_ID; -pub type HTTP_CONNECTION_ID = HTTP_OPAQUE_ID; -pub type PHTTP_CONNECTION_ID = *mut HTTP_OPAQUE_ID; -pub type HTTP_RAW_CONNECTION_ID = HTTP_OPAQUE_ID; -pub type PHTTP_RAW_CONNECTION_ID = *mut HTTP_OPAQUE_ID; -pub type HTTP_URL_GROUP_ID = HTTP_OPAQUE_ID; -pub type PHTTP_URL_GROUP_ID = *mut HTTP_OPAQUE_ID; -pub type HTTP_SERVER_SESSION_ID = HTTP_OPAQUE_ID; -pub type PHTTP_SERVER_SESSION_ID = *mut HTTP_OPAQUE_ID; -pub const HTTP_BYTE_RANGE_TO_EOF: ULONGLONG = !0; -STRUCT!{struct HTTP_BYTE_RANGE { - StartingOffset: ULARGE_INTEGER, - Length: ULARGE_INTEGER, -}} -pub type PHTTP_BYTE_RANGE = *mut HTTP_BYTE_RANGE; -STRUCT!{struct HTTP_VERSION { - MajorVersion: USHORT, - MinorVersion: USHORT, -}} -pub type PHTTP_VERSION = *mut HTTP_VERSION; -pub const HTTP_VERSION_UNKNOWN: HTTP_VERSION = HTTP_VERSION { MajorVersion: 0, MinorVersion: 0 }; -pub const HTTP_VERSION_0_9: HTTP_VERSION = HTTP_VERSION { MajorVersion: 0, MinorVersion: 9 }; -pub const HTTP_VERSION_1_0: HTTP_VERSION = HTTP_VERSION { MajorVersion: 1, MinorVersion: 0 }; -pub const HTTP_VERSION_1_1: HTTP_VERSION = HTTP_VERSION { MajorVersion: 1, MinorVersion: 1 }; -#[inline] -pub fn HTTP_SET_VERSION(mut version: HTTP_VERSION, major: USHORT, minor: USHORT) { - version.MajorVersion = major; - version.MinorVersion = minor; -} -#[inline] -pub fn HTTP_EQUAL_VERSION(version: HTTP_VERSION, major: USHORT, minor: USHORT) -> bool { - version.MajorVersion == major && version.MinorVersion == minor -} -#[inline] -pub fn HTTP_GREATER_VERSION(version: HTTP_VERSION, major: USHORT, minor: USHORT) -> bool { - version.MajorVersion > major || (version.MajorVersion == major && version.MinorVersion > minor) -} -#[inline] -pub fn HTTP_LESS_VERSION(version: HTTP_VERSION, major: USHORT, minor: USHORT) -> bool { - version.MajorVersion < major || (version.MajorVersion == major && version.MinorVersion < minor) -} -#[inline] -pub fn HTTP_NOT_EQUAL_VERSION(version: HTTP_VERSION, major: USHORT, minor: USHORT) -> bool { - !HTTP_EQUAL_VERSION(version, major, minor) -} -#[inline] -pub fn HTTP_GREATER_EQUAL_VERSION(version: HTTP_VERSION, major: USHORT, minor: USHORT) -> bool { - !HTTP_LESS_VERSION(version, major, minor) -} -#[inline] -pub fn HTTP_LESS_EQUAL_VERSION(version: HTTP_VERSION, major: USHORT, minor: USHORT) -> bool { - !HTTP_GREATER_VERSION(version, major, minor) -} -ENUM!{enum HTTP_VERB { - HttpVerbUnparsed, - HttpVerbUnknown, - HttpVerbInvalid, - HttpVerbOPTIONS, - HttpVerbGET, - HttpVerbHEAD, - HttpVerbPOST, - HttpVerbPUT, - HttpVerbDELETE, - HttpVerbTRACE, - HttpVerbCONNECT, - HttpVerbTRACK, - HttpVerbMOVE, - HttpVerbCOPY, - HttpVerbPROPFIND, - HttpVerbPROPPATCH, - HttpVerbMKCOL, - HttpVerbLOCK, - HttpVerbUNLOCK, - HttpVerbSEARCH, - HttpVerbMaximum, -}} -pub type PHTTP_VERB = *mut HTTP_VERB; -ENUM!{enum HTTP_HEADER_ID { - HttpHeaderCacheControl = 0, - HttpHeaderConnection = 1, - HttpHeaderDate = 2, - HttpHeaderKeepAlive = 3, - HttpHeaderPragma = 4, - HttpHeaderTrailer = 5, - HttpHeaderTransferEncoding = 6, - HttpHeaderUpgrade = 7, - HttpHeaderVia = 8, - HttpHeaderWarning = 9, - HttpHeaderAllow = 10, - HttpHeaderContentLength = 11, - HttpHeaderContentType = 12, - HttpHeaderContentEncoding = 13, - HttpHeaderContentLanguage = 14, - HttpHeaderContentLocation = 15, - HttpHeaderContentMd5 = 16, - HttpHeaderContentRange = 17, - HttpHeaderExpires = 18, - HttpHeaderLastModified = 19, - HttpHeaderAccept = 20, - HttpHeaderAcceptCharset = 21, - HttpHeaderAcceptEncoding = 22, - HttpHeaderAcceptLanguage = 23, - HttpHeaderAuthorization = 24, - HttpHeaderCookie = 25, - HttpHeaderExpect = 26, - HttpHeaderFrom = 27, - HttpHeaderHost = 28, - HttpHeaderIfMatch = 29, - HttpHeaderIfModifiedSince = 30, - HttpHeaderIfNoneMatch = 31, - HttpHeaderIfRange = 32, - HttpHeaderIfUnmodifiedSince = 33, - HttpHeaderMaxForwards = 34, - HttpHeaderProxyAuthorization = 35, - HttpHeaderReferer = 36, - HttpHeaderRange = 37, - HttpHeaderTe = 38, - HttpHeaderTranslate = 39, - HttpHeaderUserAgent = 40, - HttpHeaderRequestMaximum = 41, - HttpHeaderAcceptRanges = 20, - HttpHeaderAge = 21, - HttpHeaderEtag = 22, - HttpHeaderLocation = 23, - HttpHeaderProxyAuthenticate = 24, - HttpHeaderRetryAfter = 25, - HttpHeaderServer = 26, - HttpHeaderSetCookie = 27, - HttpHeaderVary = 28, - HttpHeaderWwwAuthenticate = 29, - HttpHeaderResponseMaximum = 30, - HttpHeaderMaximum = 41, -}} -pub type PHTTP_HEADER_ID = *mut HTTP_HEADER_ID; -STRUCT!{struct HTTP_KNOWN_HEADER { - RawValueLength: USHORT, - pRawValue: PCSTR, -}} -pub type PHTTP_KNOWN_HEADER = *mut HTTP_KNOWN_HEADER; -STRUCT!{struct HTTP_UNKNOWN_HEADER { - NameLength: USHORT, - RawValueLength: USHORT, - pName: PCSTR, - pRawValue: PCSTR, -}} -pub type PHTTP_UNKNOWN_HEADER = *mut HTTP_UNKNOWN_HEADER; -ENUM!{enum HTTP_LOG_DATA_TYPE { - HttpLogDataTypeFields = 0, -}} -pub type PHTTP_LOG_DATA_TYPE = *mut HTTP_LOG_DATA_TYPE; -STRUCT!{struct HTTP_LOG_DATA { - Type: HTTP_LOG_DATA_TYPE, -}} -pub type PHTTP_LOG_DATA = *mut HTTP_LOG_DATA; -STRUCT!{struct HTTP_LOG_FIELDS_DATA { - Base: HTTP_LOG_DATA, - UserNameLength: USHORT, - UriStemLength: USHORT, - ClientIpLength: USHORT, - ServerNameLength: USHORT, - ServiceNameLength: USHORT, - ServerIpLength: USHORT, - MethodLength: USHORT, - UriQueryLength: USHORT, - HostLength: USHORT, - UserAgentLength: USHORT, - CookieLength: USHORT, - ReferrerLength: USHORT, - UserName: PWCHAR, - UriStem: PWCHAR, - ClientIp: PCHAR, - ServerName: PCHAR, - ServiceName: PCHAR, - ServerIp: PCHAR, - Method: PCHAR, - UriQuery: PCHAR, - Host: PCHAR, - UserAgent: PCHAR, - Cookie: PCHAR, - Referrer: PCHAR, - ServerPort: USHORT, - ProtocolStatus: USHORT, - Win32Status: ULONG, - MethodNum: HTTP_VERB, - SubStatus: USHORT, -}} -pub type PHTTP_LOG_FIELDS_DATA = *mut HTTP_LOG_FIELDS_DATA; -ENUM!{enum HTTP_DATA_CHUNK_TYPE { - HttpDataChunkFromMemory, - HttpDataChunkFromFileHandle, - HttpDataChunkFromFragmentCache, - HttpDataChunkFromFragmentCacheEx, - HttpDataChunkMaximum, -}} -pub type PHTTP_DATA_CHUNK_TYPE = *mut HTTP_DATA_CHUNK_TYPE; -STRUCT!{struct HTTP_DATA_CHUNK_FromMemory { - pBuffer: PVOID, - BufferLength: ULONG, -}} -STRUCT!{struct HTTP_DATA_CHUNK_FromFileHandle { - ByteRange: HTTP_BYTE_RANGE, - FileHandle: HANDLE, -}} -STRUCT!{struct HTTP_DATA_CHUNK_FromFragmentCache { - FragmentNameLength: USHORT, - pFragmentName: PCWSTR, -}} -STRUCT!{struct HTTP_DATA_CHUNK_FromFragmentCacheEx { - ByteRange: HTTP_BYTE_RANGE, - pFragmentName: PCWSTR, -}} -UNION!{union HTTP_DATA_CHUNK_u { - [u64; 3], - FromMemory FromMemory_mut: HTTP_DATA_CHUNK_FromMemory, - FromFileHandle FromFileHandle_mut: HTTP_DATA_CHUNK_FromFileHandle, - FromFragmentCache FromFragmentCache_mut: HTTP_DATA_CHUNK_FromFragmentCache, - FromFragmentCacheEx FromFragmentCacheEx_mut: HTTP_DATA_CHUNK_FromFragmentCacheEx, -}} -STRUCT!{struct HTTP_DATA_CHUNK { - DataChunkType: HTTP_DATA_CHUNK_TYPE, - u: HTTP_DATA_CHUNK_u, -}} -pub type PHTTP_DATA_CHUNK = *mut HTTP_DATA_CHUNK; -STRUCT!{struct HTTP_REQUEST_HEADERS { - UnknownHeaderCount: USHORT, - pUnknownHeaders: PHTTP_UNKNOWN_HEADER, - TrailerCount: USHORT, - pTrailers: PHTTP_UNKNOWN_HEADER, - KnownHeaders: [HTTP_KNOWN_HEADER; 41], // FIXME HttpHeaderRequestMaximum -}} -pub type PHTTP_REQUEST_HEADERS = *mut HTTP_REQUEST_HEADERS; -STRUCT!{struct HTTP_RESPONSE_HEADERS { - UnknownHeaderCount: USHORT, - pUnknownHeaders: PHTTP_UNKNOWN_HEADER, - TrailerCount: USHORT, - pTrailers: PHTTP_UNKNOWN_HEADER, - KnownHeaders: [HTTP_KNOWN_HEADER; 30], // FIXME HttpHeaderResponseMaximum -}} -pub type PHTTP_RESPONSE_HEADERS = *mut HTTP_RESPONSE_HEADERS; -STRUCT!{struct HTTP_TRANSPORT_ADDRESS { - pRemoteAddress: PSOCKADDR, - pLocalAddress: PSOCKADDR, -}} -pub type PHTTP_TRANSPORT_ADDRESS = *mut HTTP_TRANSPORT_ADDRESS; -STRUCT!{struct HTTP_COOKED_URL { - FullUrlLength: USHORT, - HostLength: USHORT, - AbsPathLength: USHORT, - QueryStringLength: USHORT, - pFullUrl: PCWSTR, - pHost: PCWSTR, - pAbsPath: PCWSTR, - pQueryString: PCWSTR, -}} -pub type PHTTP_COOKED_URL = *mut HTTP_COOKED_URL; -pub type HTTP_URL_CONTEXT = ULONGLONG; -pub const HTTP_URL_FLAG_REMOVE_ALL: ULONG = 0x00000001; -ENUM!{enum HTTP_AUTH_STATUS { - HttpAuthStatusSuccess, - HttpAuthStatusNotAuthenticated, - HttpAuthStatusFailure, -}} -pub type PHTTP_AUTH_STATUS = *mut HTTP_AUTH_STATUS; -ENUM!{enum HTTP_REQUEST_AUTH_TYPE { - HttpRequestAuthTypeNone = 0, - HttpRequestAuthTypeBasic, - HttpRequestAuthTypeDigest, - HttpRequestAuthTypeNTLM, - HttpRequestAuthTypeNegotiate, - HttpRequestAuthTypeKerberos, -}} -pub type PHTTP_REQUEST_AUTH_TYPE = *mut HTTP_REQUEST_AUTH_TYPE; -STRUCT!{struct HTTP_SSL_CLIENT_CERT_INFO { - CertFlags: ULONG, - CertEncodedSize: ULONG, - pCertEncoded: PUCHAR, - Token: HANDLE, - CertDeniedByMapper: BOOLEAN, -}} -pub type PHTTP_SSL_CLIENT_CERT_INFO = *mut HTTP_SSL_CLIENT_CERT_INFO; -pub const HTTP_RECEIVE_SECURE_CHANNEL_TOKEN: ULONG = 0x1; -STRUCT!{struct HTTP_SSL_INFO { - ServerCertKeySize: USHORT, - ConnectionKeySize: USHORT, - ServerCertIssuerSize: ULONG, - ServerCertSubjectSize: ULONG, - pServerCertIssuer: PCSTR, - pServerCertSubject: PCSTR, - pClientCertInfo: PHTTP_SSL_CLIENT_CERT_INFO, - SslClientCertNegotiated: ULONG, -}} -pub type PHTTP_SSL_INFO = *mut HTTP_SSL_INFO; -ENUM!{enum HTTP_REQUEST_INFO_TYPE { - HttpRequestInfoTypeAuth, - HttpRequestInfoTypeChannelBind, -}} -STRUCT!{struct HTTP_REQUEST_INFO { - InfoType: HTTP_REQUEST_INFO_TYPE, - InfoLength: ULONG, - pInfo: PVOID, -}} -pub type PHTTP_REQUEST_INFO = *mut HTTP_REQUEST_INFO; -pub const HTTP_REQUEST_AUTH_FLAG_TOKEN_FOR_CACHED_CRED: ULONG = 0x00000001; -STRUCT!{struct HTTP_REQUEST_AUTH_INFO { - AuthStatus: HTTP_AUTH_STATUS, - SecStatus: SECURITY_STATUS, - Flags: ULONG, - AuthType: HTTP_REQUEST_AUTH_TYPE, - AccessToken: HANDLE, - ContextAttributes: ULONG, - PackedContextLength: ULONG, - PackedContextType: ULONG, - PackedContext: PVOID, - MutualAuthDataLength: ULONG, - pMutualAuthData: PCHAR, - PackageNameLength: USHORT, - pPackageName: PWSTR, -}} -pub type PHTTP_REQUEST_AUTH_INFO = *mut HTTP_REQUEST_AUTH_INFO; -STRUCT!{struct HTTP_REQUEST_V1 { - Flags: ULONG, - ConnectionId: HTTP_CONNECTION_ID, - RequestId: HTTP_REQUEST_ID, - UrlContext: HTTP_URL_CONTEXT, - Version: HTTP_VERSION, - Verb: HTTP_VERB, - UnknownVerbLength: USHORT, - RawUrlLength: USHORT, - pUnknownVerb: PCSTR, - pRawUrl: PCSTR, - CookedUrl: HTTP_COOKED_URL, - Address: HTTP_TRANSPORT_ADDRESS, - Headers: HTTP_REQUEST_HEADERS, - BytesReceived: ULONGLONG, - EntityChunkCount: USHORT, - pEntityChunks: PHTTP_DATA_CHUNK, - RawConnectionId: HTTP_RAW_CONNECTION_ID, - pSslInfo: PHTTP_SSL_INFO, -}} -pub type PHTTP_REQUEST_V1 = *mut HTTP_REQUEST_V1; -STRUCT!{struct HTTP_REQUEST_V2 { - Base: HTTP_REQUEST_V1, - RequestInfoCount: USHORT, - pRequestInfo: PHTTP_REQUEST_INFO, -}} -pub type PHTTP_REQUEST_V2 = *mut HTTP_REQUEST_V2; -pub type HTTP_REQUEST = HTTP_REQUEST_V2; -pub type PHTTP_REQUEST = *mut HTTP_REQUEST; -pub const HTTP_REQUEST_FLAG_MORE_ENTITY_BODY_EXISTS: ULONG = 0x00000001; -pub const HTTP_REQUEST_FLAG_IP_ROUTED: ULONG = 0x00000002; -STRUCT!{struct HTTP_RESPONSE_V1 { - Flags: ULONG, - Version: HTTP_VERSION, - StatusCode: USHORT, - ReasonLength: USHORT, - pReason: PCSTR, - Headers: HTTP_RESPONSE_HEADERS, - EntityChunkCount: USHORT, - pEntityChunks: PHTTP_DATA_CHUNK, -}} -pub type PHTTP_RESPONSE_V1 = *mut HTTP_RESPONSE_V1; -pub const HTTP_RESPONSE_FLAG_MULTIPLE_ENCODINGS_AVAILABLE: ULONG = 0x00000001; -ENUM!{enum HTTP_RESPONSE_INFO_TYPE { - HttpResponseInfoTypeMultipleKnownHeaders, - HttpResponseInfoTypeAuthenticationProperty, - HttpResponseInfoTypeQoSProperty, - HttpResponseInfoTypeChannelBind, -}} -pub type PHTTP_RESPONSE_INFO_TYPE = *mut HTTP_RESPONSE_INFO_TYPE; -STRUCT!{struct HTTP_RESPONSE_INFO { - Type: HTTP_RESPONSE_INFO_TYPE, - Length: ULONG, - pInfo: PVOID, -}} -pub type PHTTP_RESPONSE_INFO = *mut HTTP_RESPONSE_INFO; -pub const HTTP_RESPONSE_INFO_FLAGS_PRESERVE_ORDER: ULONG = 0x00000001; -STRUCT!{struct HTTP_MULTIPLE_KNOWN_HEADERS { - HeaderId: HTTP_HEADER_ID, - Flags: ULONG, - KnownHeaderCount: USHORT, - KnownHeaders: PHTTP_KNOWN_HEADER, -}} -pub type PHTTP_MULTIPLE_KNOWN_HEADERS = *mut HTTP_MULTIPLE_KNOWN_HEADERS; -STRUCT!{struct HTTP_RESPONSE_V2 { - Base: HTTP_RESPONSE_V1, - ResponseInfoCount: USHORT, - pResponseInfo: PHTTP_RESPONSE_INFO, -}} -pub type PHTTP_RESPONSE_V2 = *mut HTTP_RESPONSE_V2; -pub type HTTP_RESPONSE = HTTP_RESPONSE_V2; -pub type PHTTP_RESPONSE = *mut HTTP_RESPONSE; -STRUCT!{struct HTTPAPI_VERSION { - HttpApiMajorVersion: USHORT, - HttpApiMinorVersion: USHORT, -}} -pub type PHTTPAPI_VERSION = *mut HTTPAPI_VERSION; -pub const HTTPAPI_VERSION_2: HTTPAPI_VERSION = HTTPAPI_VERSION { - HttpApiMajorVersion: 2, - HttpApiMinorVersion: 0, -}; -pub const HTTPAPI_VERSION_1: HTTPAPI_VERSION = HTTPAPI_VERSION { - HttpApiMajorVersion: 1, - HttpApiMinorVersion: 0, -}; -#[inline] -pub fn HTTPAPI_EQUAL_VERSION(version: HTTPAPI_VERSION, major: USHORT, minor: USHORT) -> bool { - version.HttpApiMajorVersion == major && version.HttpApiMinorVersion == minor -} -#[inline] -pub fn HTTPAPI_GREATER_VERSION(version: HTTPAPI_VERSION, major: USHORT, minor: USHORT) -> bool { - version.HttpApiMajorVersion > major || - (version.HttpApiMajorVersion == major && version.HttpApiMinorVersion > minor) -} -#[inline] -pub fn HTTPAPI_LESS_VERSION(version: HTTPAPI_VERSION, major: USHORT, minor: USHORT) -> bool { - version.HttpApiMajorVersion < major || - (version.HttpApiMajorVersion == major && version.HttpApiMinorVersion < minor) -} -#[inline] -pub fn HTTPAPI_VERSION_GREATER_OR_EQUAL( - version: HTTPAPI_VERSION, - major: USHORT, - minor: USHORT, -) -> bool { - !HTTPAPI_LESS_VERSION(version, major, minor) -} -ENUM!{enum HTTP_CACHE_POLICY_TYPE { - HttpCachePolicyNocache, - HttpCachePolicyUserInvalidates, - HttpCachePolicyTimeToLive, - HttpCachePolicyMaximum, -}} -pub type PHTTP_CACHE_POLICY_TYPE = *mut HTTP_CACHE_POLICY_TYPE; -STRUCT!{struct HTTP_CACHE_POLICY { - Policy: HTTP_CACHE_POLICY_TYPE, - SecondsToLive: ULONG, -}} -pub type PHTTP_CACHE_POLICY = *mut HTTP_CACHE_POLICY; -ENUM!{enum HTTP_SERVICE_CONFIG_ID { - HttpServiceConfigIPListenList, - HttpServiceConfigSSLCertInfo, - HttpServiceConfigUrlAclInfo, - HttpServiceConfigTimeout, - HttpServiceConfigCache, - HttpServiceConfigSslSniCertInfo, - HttpServiceConfigSslCcsCertInfo, - HttpServiceConfigMax, -}} -pub type PHTTP_SERVICE_CONFIG_ID = *mut HTTP_SERVICE_CONFIG_ID; -ENUM!{enum HTTP_SERVICE_CONFIG_QUERY_TYPE { - HttpServiceConfigQueryExact, - HttpServiceConfigQueryNext, - HttpServiceConfigQueryMax, -}} -pub type PHTTP_SERVICE_CONFIG_QUERY_TYPE = *mut HTTP_SERVICE_CONFIG_QUERY_TYPE; -STRUCT!{struct HTTP_SERVICE_CONFIG_SSL_KEY { - pIpPort: PSOCKADDR, -}} -pub type PHTTP_SERVICE_CONFIG_SSL_KEY = *mut HTTP_SERVICE_CONFIG_SSL_KEY; -STRUCT!{struct HTTP_SERVICE_CONFIG_SSL_SNI_KEY { - IpPort: SOCKADDR_STORAGE, - Host: PWSTR, -}} -pub type PHTTP_SERVICE_CONFIG_SSL_SNI_KEY = *mut HTTP_SERVICE_CONFIG_SSL_SNI_KEY; -STRUCT!{struct HTTP_SERVICE_CONFIG_SSL_CCS_KEY { - LocalAddress: SOCKADDR_STORAGE, -}} -pub type PHTTP_SERVICE_CONFIG_SSL_CCS_KEY = *mut HTTP_SERVICE_CONFIG_SSL_CCS_KEY; -STRUCT!{struct HTTP_SERVICE_CONFIG_SSL_PARAM { - SslHashLength: ULONG, - pSslHash: PVOID, - AppId: GUID, - pSslCertStoreName: PWSTR, - DefaultCertCheckMode: DWORD, - DefaultRevocationFreshnessTime: DWORD, - DefaultRevocationUrlRetrievalTimeout: DWORD, - pDefaultSslCtlIdentifier: PWSTR, - pDefaultSslCtlStoreName: PWSTR, - DefaultFlags: DWORD, -}} -pub type PHTTP_SERVICE_CONFIG_SSL_PARAM = *mut HTTP_SERVICE_CONFIG_SSL_PARAM; -pub const HTTP_SERVICE_CONFIG_SSL_FLAG_USE_DS_MAPPER: DWORD = 0x00000001; -pub const HTTP_SERVICE_CONFIG_SSL_FLAG_NEGOTIATE_CLIENT_CERT: DWORD = 0x00000002; -pub const HTTP_SERVICE_CONFIG_SSL_FLAG_NO_RAW_FILTER: DWORD = 0x00000004; -STRUCT!{struct HTTP_SERVICE_CONFIG_SSL_SET { - KeyDesc: HTTP_SERVICE_CONFIG_SSL_KEY, - ParamDesc: HTTP_SERVICE_CONFIG_SSL_PARAM, -}} -pub type PHTTP_SERVICE_CONFIG_SSL_SET = *mut HTTP_SERVICE_CONFIG_SSL_SET; -STRUCT!{struct HTTP_SERVICE_CONFIG_SSL_SNI_SET { - KeyDesc: HTTP_SERVICE_CONFIG_SSL_SNI_KEY, - ParamDesc: HTTP_SERVICE_CONFIG_SSL_PARAM, -}} -pub type PHTTP_SERVICE_CONFIG_SSL_SNI_SET = *mut HTTP_SERVICE_CONFIG_SSL_SNI_SET; -STRUCT!{struct HTTP_SERVICE_CONFIG_SSL_CCS_SET { - KeyDesc: HTTP_SERVICE_CONFIG_SSL_CCS_KEY, - ParamDesc: HTTP_SERVICE_CONFIG_SSL_PARAM, -}} -pub type PHTTP_SERVICE_CONFIG_SSL_CCS_SET = *mut HTTP_SERVICE_CONFIG_SSL_CCS_SET; -STRUCT!{struct HTTP_SERVICE_CONFIG_SSL_QUERY { - QueryDesc: HTTP_SERVICE_CONFIG_QUERY_TYPE, - KeyDesc: HTTP_SERVICE_CONFIG_SSL_KEY, - dwToken: DWORD, -}} -pub type PHTTP_SERVICE_CONFIG_SSL_QUERY = *mut HTTP_SERVICE_CONFIG_SSL_QUERY; -STRUCT!{struct HTTP_SERVICE_CONFIG_SSL_SNI_QUERY { - QueryDesc: HTTP_SERVICE_CONFIG_QUERY_TYPE, - KeyDesc: HTTP_SERVICE_CONFIG_SSL_SNI_KEY, - dwToken: DWORD, -}} -pub type PHTTP_SERVICE_CONFIG_SSL_SNI_QUERY = *mut HTTP_SERVICE_CONFIG_SSL_SNI_QUERY; -STRUCT!{struct HTTP_SERVICE_CONFIG_SSL_CCS_QUERY { - QueryDesc: HTTP_SERVICE_CONFIG_QUERY_TYPE, - KeyDesc: HTTP_SERVICE_CONFIG_SSL_CCS_KEY, - dwToken: DWORD, -}} -pub type PHTTP_SERVICE_CONFIG_SSL_CCS_QUERY = *mut HTTP_SERVICE_CONFIG_SSL_CCS_QUERY; -STRUCT!{struct HTTP_SERVICE_CONFIG_IP_LISTEN_PARAM { - AddrLength: USHORT, - pAddress: PSOCKADDR, -}} -pub type PHTTP_SERVICE_CONFIG_IP_LISTEN_PARAM = *mut HTTP_SERVICE_CONFIG_IP_LISTEN_PARAM; -STRUCT!{struct HTTP_SERVICE_CONFIG_IP_LISTEN_QUERY { - AddrCount: ULONG, - AddrList: [SOCKADDR_STORAGE; ANYSIZE_ARRAY], -}} -pub type PHTTP_SERVICE_CONFIG_IP_LISTEN_QUERY = *mut HTTP_SERVICE_CONFIG_IP_LISTEN_QUERY; -STRUCT!{struct HTTP_SERVICE_CONFIG_URLACL_KEY { - pUrlPrefix: PWSTR, -}} -pub type PHTTP_SERVICE_CONFIG_URLACL_KEY = *mut HTTP_SERVICE_CONFIG_URLACL_KEY; -STRUCT!{struct HTTP_SERVICE_CONFIG_URLACL_PARAM { - pStringSecurityDescriptor: PWSTR, -}} -pub type PHTTP_SERVICE_CONFIG_URLACL_PARAM = *mut HTTP_SERVICE_CONFIG_URLACL_PARAM; -STRUCT!{struct HTTP_SERVICE_CONFIG_URLACL_SET { - KeyDesc: HTTP_SERVICE_CONFIG_URLACL_KEY, - ParamDesc: HTTP_SERVICE_CONFIG_URLACL_PARAM, -}} -pub type PHTTP_SERVICE_CONFIG_URLACL_SET = *mut HTTP_SERVICE_CONFIG_URLACL_SET; -STRUCT!{struct HTTP_SERVICE_CONFIG_URLACL_QUERY { - QueryDesc: HTTP_SERVICE_CONFIG_QUERY_TYPE, - KeyDesc: HTTP_SERVICE_CONFIG_URLACL_KEY, - dwToken: DWORD, -}} -pub type PHTTP_SERVICE_CONFIG_URLACL_QUERY = *mut HTTP_SERVICE_CONFIG_URLACL_QUERY; -ENUM!{enum HTTP_SERVICE_CONFIG_CACHE_KEY { - MaxCacheResponseSize = 0, - CacheRangeChunkSize, -}} -pub type PHTTP_SERVICE_CONFIG_CACHE_KEY = *mut HTTP_SERVICE_CONFIG_CACHE_KEY; -pub type HTTP_SERVICE_CONFIG_CACHE_PARAM = ULONG; -pub type PHTTP_SERVICE_CONFIG_CACHE_PARAM = *mut ULONG; -STRUCT!{struct HTTP_SERVICE_CONFIG_CACHE_SET { - KeyDesc: HTTP_SERVICE_CONFIG_CACHE_KEY, - ParamDesc: HTTP_SERVICE_CONFIG_CACHE_PARAM, -}} -pub type PHTTP_SERVICE_CONFIG_CACHE_SET = *mut HTTP_SERVICE_CONFIG_CACHE_SET; -extern "system" { - pub fn HttpInitialize( - Version: HTTPAPI_VERSION, - Flags: ULONG, - pReserved: PVOID, - ) -> ULONG; - pub fn HttpTerminate( - Flags: ULONG, - pReserved: PVOID, - ) -> ULONG; - pub fn HttpCreateHttpHandle( - pReqQueueHandle: HANDLE, - Reserved: ULONG, - ) -> ULONG; - pub fn HttpCreateRequestQueue( - Version: HTTPAPI_VERSION, - pName: PCWSTR, - pSecurityAttributes: PSECURITY_ATTRIBUTES, - Flags: ULONG, - pReqQueueHandle: PHANDLE, - ) -> ULONG; - pub fn HttpCloseRequestQueue( - ReqQueueHandle: HANDLE, - ) -> ULONG; - pub fn HttpSetRequestQueueProperty( - Handle: HANDLE, - Property: HTTP_SERVER_PROPERTY, - pPropertyInformation: PVOID, - PropertyInformationLength: ULONG, - Reserved: ULONG, - pReserved: PVOID, - ) -> ULONG; - pub fn HttpQueryRequestQueueProperty( - Handle: HANDLE, - Property: HTTP_SERVER_PROPERTY, - pPropertyInformation: PVOID, - PropertyInformationLength: ULONG, - Reserved: ULONG, - pReturnLength: PULONG, - pReserved: PVOID, - ) -> ULONG; - pub fn HttpShutdownRequestQueue( - ReqQueueHandle: HANDLE, - ) -> ULONG; - pub fn HttpReceiveClientCertificate( - ReqQueueHandle: HANDLE, - ConnectionId: HTTP_CONNECTION_ID, - Flags: ULONG, - pSslClientCertInfo: PHTTP_SSL_CLIENT_CERT_INFO, - SslClientCertInfoSize: ULONG, - pBytesReceived: PULONG, - pOverlapped: LPOVERLAPPED, - ) -> ULONG; - pub fn HttpCreateServerSession( - Version: HTTPAPI_VERSION, - pServerSessionId: PHTTP_SERVER_SESSION_ID, - Reserved: ULONG, - ) -> ULONG; - pub fn HttpCloseServerSession( - ServerSessionId: HTTP_SERVER_SESSION_ID, - ) -> ULONG; - pub fn HttpQueryServerSessionProperty( - ServerSessionId: HTTP_SERVER_SESSION_ID, - Property: HTTP_SERVER_PROPERTY, - pPropertyInformation: PVOID, - PropertyInformationLength: ULONG, - pReturnLength: PULONG, - ) -> ULONG; - pub fn HttpSetServerSessionProperty( - ServerSessionId: HTTP_SERVER_SESSION_ID, - Property: HTTP_SERVER_PROPERTY, - pPropertyInformation: PVOID, - PropertyInformationLength: ULONG, - ) -> ULONG; - pub fn HttpAddUrl( - ReqQueueHandle: HANDLE, - pFullyQualifiedUrl: PCWSTR, - pReserved: PVOID, - ) -> ULONG; - pub fn HttpRemoveUrl( - ReqQueueHandle: HANDLE, - pFullyQualifiedUrl: PCWSTR, - ) -> ULONG; - pub fn HttpCreateUrlGroup( - ServerSessionId: HTTP_SERVER_SESSION_ID, - pUrlGroupId: PHTTP_URL_GROUP_ID, - Reserved: ULONG, - ) -> ULONG; - pub fn HttpCloseUrlGroup( - UrlGroupId: HTTP_URL_GROUP_ID, - ) -> ULONG; - pub fn HttpAddUrlToUrlGroup( - UrlGroupId: HTTP_URL_GROUP_ID, - pFullyQualifiedUrl: PCWSTR, - UrlContext: HTTP_URL_CONTEXT, - Reserved: ULONG, - ) -> ULONG; - pub fn HttpRemoveUrlFromUrlGroup( - UrlGroupId: HTTP_URL_GROUP_ID, - pFullyQualifiedUrl: PCWSTR, - Flags: ULONG, - ) -> ULONG; - pub fn HttpSetUrlGroupProperty( - UrlGroupId: HTTP_URL_GROUP_ID, - Property: HTTP_SERVER_PROPERTY, - pPropertyInformation: PVOID, - PropertyInformationLength: ULONG, - ) -> ULONG; - pub fn HttpQueryUrlGroupProperty( - UrlGroupId: HTTP_URL_GROUP_ID, - Property: HTTP_SERVER_PROPERTY, - pPropertyInformation: PVOID, - PropertyInformationLength: ULONG, - pReturnLength: PULONG, - ) -> ULONG; - pub fn HttpPrepareUrl( - Reserved: PVOID, - Flags: ULONG, - Url: PCWSTR, - PreparedUrl: *mut PWSTR, - ) -> ULONG; - pub fn HttpReceiveHttpRequest( - ReqQueueHandle: HANDLE, - RequestId: HTTP_REQUEST_ID, - Flags: ULONG, - pRequestBuffer: PHTTP_REQUEST, - RequestBufferLength: ULONG, - pBytesReturned: PULONG, - pOverlapped: LPOVERLAPPED, - ) -> ULONG; - pub fn HttpReceiveRequestEntityBody( - ReqQueueHandle: HANDLE, - RequestId: HTTP_REQUEST_ID, - Flags: ULONG, - pBuffer: PVOID, - EntityBufferLength: ULONG, - pBytesReturned: PULONG, - pOverlapped: LPOVERLAPPED, - ) -> ULONG; - pub fn HttpSendHttpResponse( - ReqQueueHandle: HANDLE, - RequestId: HTTP_REQUEST_ID, - Flags: ULONG, - pHttpResponse: PHTTP_RESPONSE, - pCachePolicy: PHTTP_CACHE_POLICY, - pBytesSent: PULONG, - pReserved1: PVOID, - Reserved2: ULONG, - pOverlapped: LPOVERLAPPED, - pLogData: PHTTP_LOG_DATA, - ) -> ULONG; - pub fn HttpSendResponseEntityBody( - ReqQueueHandle: HANDLE, - RequestId: HTTP_REQUEST_ID, - Flags: ULONG, - EntityChunkCount: USHORT, - pEntityChunks: PHTTP_DATA_CHUNK, - pBytesSent: PULONG, - pReserved1: PVOID, - Reserved2: ULONG, - pOverlapped: LPOVERLAPPED, - pLogData: PHTTP_LOG_DATA, - ) -> ULONG; - pub fn HttpWaitForDisconnect( - ReqQueueHandle: HANDLE, - ConnectionId: HTTP_CONNECTION_ID, - pOverlapped: LPOVERLAPPED, - ) -> ULONG; - pub fn HttpWaitForDisconnectEx( - ReqQueueHandle: HANDLE, - ConnectionId: HTTP_CONNECTION_ID, - Reserved: ULONG, - pOverlapped: LPOVERLAPPED, - ) -> ULONG; - pub fn HttpCancelHttpRequest( - ReqQueueHandle: HANDLE, - RequestId: HTTP_REQUEST_ID, - pOverlapped: LPOVERLAPPED, - ) -> ULONG; - pub fn HttpWaitForDemandStart( - ReqQueueHandle: HANDLE, - pOverlapped: LPOVERLAPPED, - ) -> ULONG; - pub fn HttpFlushResponseCache( - ReqQueueHandle: HANDLE, - pUrlPrefix: PCWSTR, - Flags: ULONG, - pOverlapped: LPOVERLAPPED, - ) -> ULONG; - pub fn HttpAddFragmentToCache( - ReqQueueHandle: HANDLE, - pUrlPrefix: PCWSTR, - pDataChunk: PHTTP_DATA_CHUNK, - pCachePolicy: PHTTP_CACHE_POLICY, - pOverlapped: LPOVERLAPPED, - ) -> ULONG; - pub fn HttpReadFragmentFromCache( - ReqQueueHandle: HANDLE, - pUrlPrefix: PCWSTR, - pByteRange: PHTTP_BYTE_RANGE, - pBuffer: PVOID, - BufferLength: ULONG, - pBytesRead: PULONG, - pOverlapped: LPOVERLAPPED, - ) -> ULONG; - pub fn HttpSetServiceConfiguration( - ServiceHandle: HANDLE, - ConfigId: HTTP_SERVICE_CONFIG_ID, - pConfigInformation: PVOID, - ConfigInformationLength: ULONG, - pOverlapped: LPOVERLAPPED, - ) -> ULONG; - pub fn HttpDeleteServiceConfiguration( - ServiceHandle: HANDLE, - ConfigId: HTTP_SERVICE_CONFIG_ID, - pConfigInformation: PVOID, - ConfigInformationLength: ULONG, - pOverlapped: LPOVERLAPPED, - ) -> ULONG; - pub fn HttpQueryServiceConfiguration( - ServiceHandle: HANDLE, - ConfigId: HTTP_SERVICE_CONFIG_ID, - pInput: PVOID, - InputLength: ULONG, - pOutput: PVOID, - OutputLength: ULONG, - pReturnLength: PULONG, - pOverlapped: LPOVERLAPPED, - ) -> ULONG; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/imm.rs b/vendor/registry-40351f815f426200/winapi/src/um/imm.rs deleted file mode 100644 index ddf4c3f2c..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/imm.rs +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_uint; -use shared::minwindef::{BOOL, DWORD, UINT}; -use shared::windef::{HWND, POINT, RECT}; -pub type LPUINT = *mut c_uint; -STRUCT!{struct COMPOSITIONFORM { - dwStyle: DWORD, - ptCurrentPos: POINT, - rcArea: RECT, -}} -DECLARE_HANDLE!{HIMC, HIMC__} -pub type LPCOMPOSITIONFORM = *mut COMPOSITIONFORM; -extern "system" { - pub fn ImmGetContext( - hwnd: HWND, - ) -> HIMC; - pub fn ImmGetOpenStatus( - himc: HIMC, - ) -> BOOL; - pub fn ImmSetOpenStatus( - himc: HIMC, - fopen: BOOL, - ) -> BOOL; - pub fn ImmSetCompositionWindow( - himc: HIMC, - lpCompForm: LPCOMPOSITIONFORM, - ) -> BOOL; - pub fn ImmReleaseContext( - hwnd: HWND, - himc: HIMC, - ) -> BOOL; -} -pub const CFS_DEFAULT: UINT = 0x0000; -pub const CFS_RECT: UINT = 0x0001; -pub const CFS_POINT: UINT = 0x0002; -pub const CFS_FORCE_POSITION: UINT = 0x0020; -pub const CFS_CANDIDATEPOS: UINT = 0x0040; -pub const CFS_EXCLUDE: UINT = 0x0080; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/interlockedapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/interlockedapi.rs deleted file mode 100644 index 17f656db9..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/interlockedapi.rs +++ /dev/null @@ -1,31 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::{ULONG, USHORT}; -use um::winnt::{PSLIST_ENTRY, PSLIST_HEADER}; -extern "system" { - pub fn InitializeSListHead( - ListHead: PSLIST_HEADER, - ); - pub fn InterlockedPopEntrySList( - ListHead: PSLIST_HEADER, - ) -> PSLIST_ENTRY; - pub fn InterlockedPushEntrySList( - ListHead: PSLIST_HEADER, - ListEntry: PSLIST_ENTRY, - ) -> PSLIST_ENTRY; - pub fn InterlockedPushListSListEx( - ListHead: PSLIST_HEADER, - List: PSLIST_ENTRY, - ListEnd: PSLIST_ENTRY, - Count: ULONG, - ) -> PSLIST_ENTRY; - pub fn InterlockedFlushSList( - ListHead: PSLIST_HEADER, - ) -> PSLIST_ENTRY; - pub fn QueryDepthSList( - ListHead: PSLIST_HEADER, - ) -> USHORT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/ioapiset.rs b/vendor/registry-40351f815f426200/winapi/src/um/ioapiset.rs deleted file mode 100644 index b9b710964..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/ioapiset.rs +++ /dev/null @@ -1,71 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::{PULONG_PTR, ULONG_PTR}; -use shared::minwindef::{BOOL, DWORD, LPDWORD, LPVOID, PULONG, ULONG}; -use um::minwinbase::{LPOVERLAPPED, LPOVERLAPPED_ENTRY}; -use um::winnt::HANDLE; -extern "system" { - pub fn CreateIoCompletionPort( - FileHandle: HANDLE, - ExistingCompletionPort: HANDLE, - CompletionKey: ULONG_PTR, - NumberOfConcurrentThreads: DWORD, - ) -> HANDLE; - pub fn GetQueuedCompletionStatus( - CompletionPort: HANDLE, - lpNumberOfBytesTransferred: LPDWORD, - lpCompletionKey: PULONG_PTR, - lpOverlapped: *mut LPOVERLAPPED, - dwMilliseconds: DWORD, - ) -> BOOL; - pub fn GetQueuedCompletionStatusEx( - CompletionPort: HANDLE, - lpCompletionPortEntries: LPOVERLAPPED_ENTRY, - ulCount: ULONG, - ulNumEntriesRemoved: PULONG, - dwMilliseconds: DWORD, - fAlertable: BOOL, - ) -> BOOL; - pub fn PostQueuedCompletionStatus( - CompletionPort: HANDLE, - dwNumberOfBytesTransferred: DWORD, - dwCompletionKey: ULONG_PTR, - lpOverlapped: LPOVERLAPPED, - ) -> BOOL; - pub fn DeviceIoControl( - hDevice: HANDLE, - dwIoControlCode: DWORD, - lpInBuffer: LPVOID, - nInBufferSize: DWORD, - lpOutBuffer: LPVOID, - nOutBufferSize: DWORD, - lpBytesReturned: LPDWORD, - lpOverlapped: LPOVERLAPPED, - ) -> BOOL; - pub fn GetOverlappedResult( - hFile: HANDLE, - lpOverlapped: LPOVERLAPPED, - lpNumberOfBytesTransferred: LPDWORD, - bWait: BOOL, - ) -> BOOL; - pub fn CancelIoEx( - hFile: HANDLE, - lpOverlapped: LPOVERLAPPED, - ) -> BOOL; - pub fn CancelIo( - hFile: HANDLE, - ) -> BOOL; - pub fn GetOverlappedResultEx( - hFile: HANDLE, - lpOverlapped: LPOVERLAPPED, - lpNumberOfBytesTransferred: LPDWORD, - dwMilliseconds: DWORD, - bAlertable: BOOL, - ) -> BOOL; - pub fn CancelSynchronousIo( - hThread: HANDLE, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/jobapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/jobapi.rs deleted file mode 100644 index cbe45c1dc..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/jobapi.rs +++ /dev/null @@ -1,14 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::{BOOL, PBOOL}; -use um::winnt::HANDLE; -extern "system" { - pub fn IsProcessInJob( - ProcessHandle: HANDLE, - JobHandle: HANDLE, - Result: PBOOL, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/jobapi2.rs b/vendor/registry-40351f815f426200/winapi/src/um/jobapi2.rs deleted file mode 100644 index 98eb1e9d1..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/jobapi2.rs +++ /dev/null @@ -1,63 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::LONG64; -use shared::minwindef::{BOOL, DWORD, LPDWORD, LPVOID, UINT, ULONG}; -use shared::ntdef::{HANDLE, LPCWSTR, PCWSTR, VOID}; -use um::minwinbase::LPSECURITY_ATTRIBUTES; -use um::winnt::JOBOBJECTINFOCLASS; -STRUCT!{struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION { - MaxIops: LONG64, - MaxBandwidth: LONG64, - ReservationIops: LONG64, - VolumeName: PCWSTR, - BaseIoSize: ULONG, - ControlFlags: ULONG, -}} -extern "system" { - pub fn CreateJobObjectW( - lpJobAttributes: LPSECURITY_ATTRIBUTES, - lpName: LPCWSTR, - ) -> HANDLE; - pub fn FreeMemoryJobObject( - Buffer: *mut VOID, - ) -> (); - pub fn OpenJobObjectW( - dwDesiredAccess: DWORD, - bInheritHandle: BOOL, - lpName: LPCWSTR, - ) -> HANDLE; - pub fn AssignProcessToJobObject( - hJob: HANDLE, - hProcess: HANDLE, - ) -> BOOL; - pub fn TerminateJobObject( - hJob: HANDLE, - uExitCode: UINT, - ) -> BOOL; - pub fn SetInformationJobObject( - hJob: HANDLE, - JobObjectInformationClass: JOBOBJECTINFOCLASS, - lpJobObjectInformation: LPVOID, - cbJovObjectInformationLength: DWORD, - ) -> BOOL; - pub fn SetIoRateControlInformationJobObject( - hJob: HANDLE, - IoRateControlInfo: *mut JOBOBJECT_IO_RATE_CONTROL_INFORMATION, - ) -> DWORD; - pub fn QueryInformationJobObject( - hJob: HANDLE, - JobObjectInformationClass: JOBOBJECTINFOCLASS, - lpJobObjectInformation: LPVOID, - cbJovObjectInformationLength: DWORD, - lpReturnLength: LPDWORD, - ) -> BOOL; - pub fn QueryIoRateControlInformationJobObject( - hJob: HANDLE, - VolumeName: PCWSTR, - InfoBlocks: *mut *mut JOBOBJECT_IO_RATE_CONTROL_INFORMATION, - InfoBlockCount: *mut ULONG, - ) -> DWORD; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/knownfolders.rs b/vendor/registry-40351f815f426200/winapi/src/um/knownfolders.rs deleted file mode 100644 index a761ce297..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/knownfolders.rs +++ /dev/null @@ -1,287 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{FOLDERID_NetworkFolder, - 0xD20BEEC4, 0x5CA8, 0x4905, 0xAE, 0x3B, 0xBF, 0x25, 0x1E, 0xA0, 0x9B, 0x53} -DEFINE_GUID!{FOLDERID_ComputerFolder, - 0x0AC0837C, 0xBBF8, 0x452A, 0x85, 0x0D, 0x79, 0xD0, 0x8E, 0x66, 0x7C, 0xA7} -DEFINE_GUID!{FOLDERID_InternetFolder, - 0x4D9F7874, 0x4E0C, 0x4904, 0x96, 0x7B, 0x40, 0xB0, 0xD2, 0x0C, 0x3E, 0x4B} -DEFINE_GUID!{FOLDERID_ControlPanelFolder, - 0x82A74AEB, 0xAEB4, 0x465C, 0xA0, 0x14, 0xD0, 0x97, 0xEE, 0x34, 0x6D, 0x63} -DEFINE_GUID!{FOLDERID_PrintersFolder, - 0x76FC4E2D, 0xD6AD, 0x4519, 0xA6, 0x63, 0x37, 0xBD, 0x56, 0x06, 0x81, 0x85} -DEFINE_GUID!{FOLDERID_SyncManagerFolder, - 0x43668BF8, 0xC14E, 0x49B2, 0x97, 0xC9, 0x74, 0x77, 0x84, 0xD7, 0x84, 0xB7} -DEFINE_GUID!{FOLDERID_SyncSetupFolder, - 0x0f214138, 0xb1d3, 0x4a90, 0xbb, 0xa9, 0x27, 0xcb, 0xc0, 0xc5, 0x38, 0x9a} -DEFINE_GUID!{FOLDERID_ConflictFolder, - 0x4bfefb45, 0x347d, 0x4006, 0xa5, 0xbe, 0xac, 0x0c, 0xb0, 0x56, 0x71, 0x92} -DEFINE_GUID!{FOLDERID_SyncResultsFolder, - 0x289a9a43, 0xbe44, 0x4057, 0xa4, 0x1b, 0x58, 0x7a, 0x76, 0xd7, 0xe7, 0xf9} -DEFINE_GUID!{FOLDERID_RecycleBinFolder, - 0xB7534046, 0x3ECB, 0x4C18, 0xBE, 0x4E, 0x64, 0xCD, 0x4C, 0xB7, 0xD6, 0xAC} -DEFINE_GUID!{FOLDERID_ConnectionsFolder, - 0x6F0CD92B, 0x2E97, 0x45D1, 0x88, 0xFF, 0xB0, 0xD1, 0x86, 0xB8, 0xDE, 0xDD} -DEFINE_GUID!{FOLDERID_Fonts, - 0xFD228CB7, 0xAE11, 0x4AE3, 0x86, 0x4C, 0x16, 0xF3, 0x91, 0x0A, 0xB8, 0xFE} -DEFINE_GUID!{FOLDERID_Desktop, - 0xB4BFCC3A, 0xDB2C, 0x424C, 0xB0, 0x29, 0x7F, 0xE9, 0x9A, 0x87, 0xC6, 0x41} -DEFINE_GUID!{FOLDERID_Startup, - 0xB97D20BB, 0xF46A, 0x4C97, 0xBA, 0x10, 0x5E, 0x36, 0x08, 0x43, 0x08, 0x54} -DEFINE_GUID!{FOLDERID_Programs, - 0xA77F5D77, 0x2E2B, 0x44C3, 0xA6, 0xA2, 0xAB, 0xA6, 0x01, 0x05, 0x4A, 0x51} -DEFINE_GUID!{FOLDERID_StartMenu, - 0x625B53C3, 0xAB48, 0x4EC1, 0xBA, 0x1F, 0xA1, 0xEF, 0x41, 0x46, 0xFC, 0x19} -DEFINE_GUID!{FOLDERID_Recent, - 0xAE50C081, 0xEBD2, 0x438A, 0x86, 0x55, 0x8A, 0x09, 0x2E, 0x34, 0x98, 0x7A} -DEFINE_GUID!{FOLDERID_SendTo, - 0x8983036C, 0x27C0, 0x404B, 0x8F, 0x08, 0x10, 0x2D, 0x10, 0xDC, 0xFD, 0x74} -DEFINE_GUID!{FOLDERID_Documents, - 0xFDD39AD0, 0x238F, 0x46AF, 0xAD, 0xB4, 0x6C, 0x85, 0x48, 0x03, 0x69, 0xC7} -DEFINE_GUID!{FOLDERID_Favorites, - 0x1777F761, 0x68AD, 0x4D8A, 0x87, 0xBD, 0x30, 0xB7, 0x59, 0xFA, 0x33, 0xDD} -DEFINE_GUID!{FOLDERID_NetHood, - 0xC5ABBF53, 0xE17F, 0x4121, 0x89, 0x00, 0x86, 0x62, 0x6F, 0xC2, 0xC9, 0x73} -DEFINE_GUID!{FOLDERID_PrintHood, - 0x9274BD8D, 0xCFD1, 0x41C3, 0xB3, 0x5E, 0xB1, 0x3F, 0x55, 0xA7, 0x58, 0xF4} -DEFINE_GUID!{FOLDERID_Templates, - 0xA63293E8, 0x664E, 0x48DB, 0xA0, 0x79, 0xDF, 0x75, 0x9E, 0x05, 0x09, 0xF7} -DEFINE_GUID!{FOLDERID_CommonStartup, - 0x82A5EA35, 0xD9CD, 0x47C5, 0x96, 0x29, 0xE1, 0x5D, 0x2F, 0x71, 0x4E, 0x6E} -DEFINE_GUID!{FOLDERID_CommonPrograms, - 0x0139D44E, 0x6AFE, 0x49F2, 0x86, 0x90, 0x3D, 0xAF, 0xCA, 0xE6, 0xFF, 0xB8} -DEFINE_GUID!{FOLDERID_CommonStartMenu, - 0xA4115719, 0xD62E, 0x491D, 0xAA, 0x7C, 0xE7, 0x4B, 0x8B, 0xE3, 0xB0, 0x67} -DEFINE_GUID!{FOLDERID_PublicDesktop, - 0xC4AA340D, 0xF20F, 0x4863, 0xAF, 0xEF, 0xF8, 0x7E, 0xF2, 0xE6, 0xBA, 0x25} -DEFINE_GUID!{FOLDERID_ProgramData, - 0x62AB5D82, 0xFDC1, 0x4DC3, 0xA9, 0xDD, 0x07, 0x0D, 0x1D, 0x49, 0x5D, 0x97} -DEFINE_GUID!{FOLDERID_CommonTemplates, - 0xB94237E7, 0x57AC, 0x4347, 0x91, 0x51, 0xB0, 0x8C, 0x6C, 0x32, 0xD1, 0xF7} -DEFINE_GUID!{FOLDERID_PublicDocuments, - 0xED4824AF, 0xDCE4, 0x45A8, 0x81, 0xE2, 0xFC, 0x79, 0x65, 0x08, 0x36, 0x34} -DEFINE_GUID!{FOLDERID_RoamingAppData, - 0x3EB685DB, 0x65F9, 0x4CF6, 0xA0, 0x3A, 0xE3, 0xEF, 0x65, 0x72, 0x9F, 0x3D} -DEFINE_GUID!{FOLDERID_LocalAppData, - 0xF1B32785, 0x6FBA, 0x4FCF, 0x9D, 0x55, 0x7B, 0x8E, 0x7F, 0x15, 0x70, 0x91} -DEFINE_GUID!{FOLDERID_LocalAppDataLow, - 0xA520A1A4, 0x1780, 0x4FF6, 0xBD, 0x18, 0x16, 0x73, 0x43, 0xC5, 0xAF, 0x16} -DEFINE_GUID!{FOLDERID_InternetCache, - 0x352481E8, 0x33BE, 0x4251, 0xBA, 0x85, 0x60, 0x07, 0xCA, 0xED, 0xCF, 0x9D} -DEFINE_GUID!{FOLDERID_Cookies, - 0x2B0F765D, 0xC0E9, 0x4171, 0x90, 0x8E, 0x08, 0xA6, 0x11, 0xB8, 0x4F, 0xF6} -DEFINE_GUID!{FOLDERID_History, - 0xD9DC8A3B, 0xB784, 0x432E, 0xA7, 0x81, 0x5A, 0x11, 0x30, 0xA7, 0x59, 0x63} -DEFINE_GUID!{FOLDERID_System, - 0x1AC14E77, 0x02E7, 0x4E5D, 0xB7, 0x44, 0x2E, 0xB1, 0xAE, 0x51, 0x98, 0xB7} -DEFINE_GUID!{FOLDERID_SystemX86, - 0xD65231B0, 0xB2F1, 0x4857, 0xA4, 0xCE, 0xA8, 0xE7, 0xC6, 0xEA, 0x7D, 0x27} -DEFINE_GUID!{FOLDERID_Windows, - 0xF38BF404, 0x1D43, 0x42F2, 0x93, 0x05, 0x67, 0xDE, 0x0B, 0x28, 0xFC, 0x23} -DEFINE_GUID!{FOLDERID_Profile, - 0x5E6C858F, 0x0E22, 0x4760, 0x9A, 0xFE, 0xEA, 0x33, 0x17, 0xB6, 0x71, 0x73} -DEFINE_GUID!{FOLDERID_Pictures, - 0x33E28130, 0x4E1E, 0x4676, 0x83, 0x5A, 0x98, 0x39, 0x5C, 0x3B, 0xC3, 0xBB} -DEFINE_GUID!{FOLDERID_ProgramFilesX86, - 0x7C5A40EF, 0xA0FB, 0x4BFC, 0x87, 0x4A, 0xC0, 0xF2, 0xE0, 0xB9, 0xFA, 0x8E} -DEFINE_GUID!{FOLDERID_ProgramFilesCommonX86, - 0xDE974D24, 0xD9C6, 0x4D3E, 0xBF, 0x91, 0xF4, 0x45, 0x51, 0x20, 0xB9, 0x17} -DEFINE_GUID!{FOLDERID_ProgramFilesX64, - 0x6d809377, 0x6af0, 0x444b, 0x89, 0x57, 0xa3, 0x77, 0x3f, 0x02, 0x20, 0x0e} -DEFINE_GUID!{FOLDERID_ProgramFilesCommonX64, - 0x6365d5a7, 0x0f0d, 0x45e5, 0x87, 0xf6, 0x0d, 0xa5, 0x6b, 0x6a, 0x4f, 0x7d} -DEFINE_GUID!{FOLDERID_ProgramFiles, - 0x905e63b6, 0xc1bf, 0x494e, 0xb2, 0x9c, 0x65, 0xb7, 0x32, 0xd3, 0xd2, 0x1a} -DEFINE_GUID!{FOLDERID_ProgramFilesCommon, - 0xF7F1ED05, 0x9F6D, 0x47A2, 0xAA, 0xAE, 0x29, 0xD3, 0x17, 0xC6, 0xF0, 0x66} -DEFINE_GUID!{FOLDERID_UserProgramFiles, - 0x5cd7aee2, 0x2219, 0x4a67, 0xb8, 0x5d, 0x6c, 0x9c, 0xe1, 0x56, 0x60, 0xcb} -DEFINE_GUID!{FOLDERID_UserProgramFilesCommon, - 0xbcbd3057, 0xca5c, 0x4622, 0xb4, 0x2d, 0xbc, 0x56, 0xdb, 0x0a, 0xe5, 0x16} -DEFINE_GUID!{FOLDERID_AdminTools, - 0x724EF170, 0xA42D, 0x4FEF, 0x9F, 0x26, 0xB6, 0x0E, 0x84, 0x6F, 0xBA, 0x4F} -DEFINE_GUID!{FOLDERID_CommonAdminTools, - 0xD0384E7D, 0xBAC3, 0x4797, 0x8F, 0x14, 0xCB, 0xA2, 0x29, 0xB3, 0x92, 0xB5} -DEFINE_GUID!{FOLDERID_Music, - 0x4BD8D571, 0x6D19, 0x48D3, 0xBE, 0x97, 0x42, 0x22, 0x20, 0x08, 0x0E, 0x43} -DEFINE_GUID!{FOLDERID_Videos, - 0x18989B1D, 0x99B5, 0x455B, 0x84, 0x1C, 0xAB, 0x7C, 0x74, 0xE4, 0xDD, 0xFC} -DEFINE_GUID!{FOLDERID_Ringtones, - 0xC870044B, 0xF49E, 0x4126, 0xA9, 0xC3, 0xB5, 0x2A, 0x1F, 0xF4, 0x11, 0xE8} -DEFINE_GUID!{FOLDERID_PublicPictures, - 0xB6EBFB86, 0x6907, 0x413C, 0x9A, 0xF7, 0x4F, 0xC2, 0xAB, 0xF0, 0x7C, 0xC5} -DEFINE_GUID!{FOLDERID_PublicMusic, - 0x3214FAB5, 0x9757, 0x4298, 0xBB, 0x61, 0x92, 0xA9, 0xDE, 0xAA, 0x44, 0xFF} -DEFINE_GUID!{FOLDERID_PublicVideos, - 0x2400183A, 0x6185, 0x49FB, 0xA2, 0xD8, 0x4A, 0x39, 0x2A, 0x60, 0x2B, 0xA3} -DEFINE_GUID!{FOLDERID_PublicRingtones, - 0xE555AB60, 0x153B, 0x4D17, 0x9F, 0x04, 0xA5, 0xFE, 0x99, 0xFC, 0x15, 0xEC} -DEFINE_GUID!{FOLDERID_ResourceDir, - 0x8AD10C31, 0x2ADB, 0x4296, 0xA8, 0xF7, 0xE4, 0x70, 0x12, 0x32, 0xC9, 0x72} -DEFINE_GUID!{FOLDERID_LocalizedResourcesDir, - 0x2A00375E, 0x224C, 0x49DE, 0xB8, 0xD1, 0x44, 0x0D, 0xF7, 0xEF, 0x3D, 0xDC} -DEFINE_GUID!{FOLDERID_CommonOEMLinks, - 0xC1BAE2D0, 0x10DF, 0x4334, 0xBE, 0xDD, 0x7A, 0xA2, 0x0B, 0x22, 0x7A, 0x9D} -DEFINE_GUID!{FOLDERID_CDBurning, - 0x9E52AB10, 0xF80D, 0x49DF, 0xAC, 0xB8, 0x43, 0x30, 0xF5, 0x68, 0x78, 0x55} -DEFINE_GUID!{FOLDERID_UserProfiles, - 0x0762D272, 0xC50A, 0x4BB0, 0xA3, 0x82, 0x69, 0x7D, 0xCD, 0x72, 0x9B, 0x80} -DEFINE_GUID!{FOLDERID_Playlists, - 0xDE92C1C7, 0x837F, 0x4F69, 0xA3, 0xBB, 0x86, 0xE6, 0x31, 0x20, 0x4A, 0x23} -DEFINE_GUID!{FOLDERID_SamplePlaylists, - 0x15CA69B3, 0x30EE, 0x49C1, 0xAC, 0xE1, 0x6B, 0x5E, 0xC3, 0x72, 0xAF, 0xB5} -DEFINE_GUID!{FOLDERID_SampleMusic, - 0xB250C668, 0xF57D, 0x4EE1, 0xA6, 0x3C, 0x29, 0x0E, 0xE7, 0xD1, 0xAA, 0x1F} -DEFINE_GUID!{FOLDERID_SamplePictures, - 0xC4900540, 0x2379, 0x4C75, 0x84, 0x4B, 0x64, 0xE6, 0xFA, 0xF8, 0x71, 0x6B} -DEFINE_GUID!{FOLDERID_SampleVideos, - 0x859EAD94, 0x2E85, 0x48AD, 0xA7, 0x1A, 0x09, 0x69, 0xCB, 0x56, 0xA6, 0xCD} -DEFINE_GUID!{FOLDERID_PhotoAlbums, - 0x69D2CF90, 0xFC33, 0x4FB7, 0x9A, 0x0C, 0xEB, 0xB0, 0xF0, 0xFC, 0xB4, 0x3C} -DEFINE_GUID!{FOLDERID_Public, - 0xDFDF76A2, 0xC82A, 0x4D63, 0x90, 0x6A, 0x56, 0x44, 0xAC, 0x45, 0x73, 0x85} -DEFINE_GUID!{FOLDERID_ChangeRemovePrograms, - 0xdf7266ac, 0x9274, 0x4867, 0x8d, 0x55, 0x3b, 0xd6, 0x61, 0xde, 0x87, 0x2d} -DEFINE_GUID!{FOLDERID_AppUpdates, - 0xa305ce99, 0xf527, 0x492b, 0x8b, 0x1a, 0x7e, 0x76, 0xfa, 0x98, 0xd6, 0xe4} -DEFINE_GUID!{FOLDERID_AddNewPrograms, - 0xde61d971, 0x5ebc, 0x4f02, 0xa3, 0xa9, 0x6c, 0x82, 0x89, 0x5e, 0x5c, 0x04} -DEFINE_GUID!{FOLDERID_Downloads, - 0x374de290, 0x123f, 0x4565, 0x91, 0x64, 0x39, 0xc4, 0x92, 0x5e, 0x46, 0x7b} -DEFINE_GUID!{FOLDERID_PublicDownloads, - 0x3d644c9b, 0x1fb8, 0x4f30, 0x9b, 0x45, 0xf6, 0x70, 0x23, 0x5f, 0x79, 0xc0} -DEFINE_GUID!{FOLDERID_SavedSearches, - 0x7d1d3a04, 0xdebb, 0x4115, 0x95, 0xcf, 0x2f, 0x29, 0xda, 0x29, 0x20, 0xda} -DEFINE_GUID!{FOLDERID_QuickLaunch, - 0x52a4f021, 0x7b75, 0x48a9, 0x9f, 0x6b, 0x4b, 0x87, 0xa2, 0x10, 0xbc, 0x8f} -DEFINE_GUID!{FOLDERID_Contacts, - 0x56784854, 0xc6cb, 0x462b, 0x81, 0x69, 0x88, 0xe3, 0x50, 0xac, 0xb8, 0x82} -DEFINE_GUID!{FOLDERID_SidebarParts, - 0xa75d362e, 0x50fc, 0x4fb7, 0xac, 0x2c, 0xa8, 0xbe, 0xaa, 0x31, 0x44, 0x93} -DEFINE_GUID!{FOLDERID_SidebarDefaultParts, - 0x7b396e54, 0x9ec5, 0x4300, 0xbe, 0x0a, 0x24, 0x82, 0xeb, 0xae, 0x1a, 0x26} -DEFINE_GUID!{FOLDERID_PublicGameTasks, - 0xdebf2536, 0xe1a8, 0x4c59, 0xb6, 0xa2, 0x41, 0x45, 0x86, 0x47, 0x6a, 0xea} -DEFINE_GUID!{FOLDERID_GameTasks, - 0x054fae61, 0x4dd8, 0x4787, 0x80, 0xb6, 0x09, 0x02, 0x20, 0xc4, 0xb7, 0x0} -DEFINE_GUID!{FOLDERID_SavedGames, - 0x4c5c32ff, 0xbb9d, 0x43b0, 0xb5, 0xb4, 0x2d, 0x72, 0xe5, 0x4e, 0xaa, 0xa4} -DEFINE_GUID!{FOLDERID_Games, - 0xcac52c1a, 0xb53d, 0x4edc, 0x92, 0xd7, 0x6b, 0x2e, 0x8a, 0xc1, 0x94, 0x34} -DEFINE_GUID!{FOLDERID_SEARCH_MAPI, - 0x98ec0e18, 0x2098, 0x4d44, 0x86, 0x44, 0x66, 0x97, 0x93, 0x15, 0xa2, 0x81} -DEFINE_GUID!{FOLDERID_SEARCH_CSC, - 0xee32e446, 0x31ca, 0x4aba, 0x81, 0x4f, 0xa5, 0xeb, 0xd2, 0xfd, 0x6d, 0x5e} -DEFINE_GUID!{FOLDERID_Links, - 0xbfb9d5e0, 0xc6a9, 0x404c, 0xb2, 0xb2, 0xae, 0x6d, 0xb6, 0xaf, 0x49, 0x68} -DEFINE_GUID!{FOLDERID_UsersFiles, - 0xf3ce0f7c, 0x4901, 0x4acc, 0x86, 0x48, 0xd5, 0xd4, 0x4b, 0x04, 0xef, 0x8f} -DEFINE_GUID!{FOLDERID_UsersLibraries, - 0xa302545d, 0xdeff, 0x464b, 0xab, 0xe8, 0x61, 0xc8, 0x64, 0x8d, 0x93, 0x9b} -DEFINE_GUID!{FOLDERID_SearchHome, - 0x190337d1, 0xb8ca, 0x4121, 0xa6, 0x39, 0x6d, 0x47, 0x2d, 0x16, 0x97, 0x2a} -DEFINE_GUID!{FOLDERID_OriginalImages, - 0x2C36C0AA, 0x5812, 0x4b87, 0xbf, 0xd0, 0x4c, 0xd0, 0xdf, 0xb1, 0x9b, 0x39} -DEFINE_GUID!{FOLDERID_DocumentsLibrary, - 0x7b0db17d, 0x9cd2, 0x4a93, 0x97, 0x33, 0x46, 0xcc, 0x89, 0x02, 0x2e, 0x7c} -DEFINE_GUID!{FOLDERID_MusicLibrary, - 0x2112ab0a, 0xc86a, 0x4ffe, 0xa3, 0x68, 0x0d, 0xe9, 0x6e, 0x47, 0x01, 0x2e} -DEFINE_GUID!{FOLDERID_PicturesLibrary, - 0xa990ae9f, 0xa03b, 0x4e80, 0x94, 0xbc, 0x99, 0x12, 0xd7, 0x50, 0x41, 0x4} -DEFINE_GUID!{FOLDERID_VideosLibrary, - 0x491e922f, 0x5643, 0x4af4, 0xa7, 0xeb, 0x4e, 0x7a, 0x13, 0x8d, 0x81, 0x74} -DEFINE_GUID!{FOLDERID_RecordedTVLibrary, - 0x1a6fdba2, 0xf42d, 0x4358, 0xa7, 0x98, 0xb7, 0x4d, 0x74, 0x59, 0x26, 0xc5} -DEFINE_GUID!{FOLDERID_HomeGroup, - 0x52528a6b, 0xb9e3, 0x4add, 0xb6, 0x0d, 0x58, 0x8c, 0x2d, 0xba, 0x84, 0x2d} -DEFINE_GUID!{FOLDERID_HomeGroupCurrentUser, - 0x9b74b6a3, 0x0dfd, 0x4f11, 0x9e, 0x78, 0x5f, 0x78, 0x00, 0xf2, 0xe7, 0x72} -DEFINE_GUID!{FOLDERID_DeviceMetadataStore, - 0x5ce4a5e9, 0xe4eb, 0x479d, 0xb8, 0x9f, 0x13, 0x0c, 0x02, 0x88, 0x61, 0x55} -DEFINE_GUID!{FOLDERID_Libraries, - 0x1b3ea5dc, 0xb587, 0x4786, 0xb4, 0xef, 0xbd, 0x1d, 0xc3, 0x32, 0xae, 0xae} -DEFINE_GUID!{FOLDERID_PublicLibraries, - 0x48daf80b, 0xe6cf, 0x4f4e, 0xb8, 0x00, 0x0e, 0x69, 0xd8, 0x4e, 0xe3, 0x84} -DEFINE_GUID!{FOLDERID_UserPinned, - 0x9e3995ab, 0x1f9c, 0x4f13, 0xb8, 0x27, 0x48, 0xb2, 0x4b, 0x6c, 0x71, 0x74} -DEFINE_GUID!{FOLDERID_ImplicitAppShortcuts, - 0xbcb5256f, 0x79f6, 0x4cee, 0xb7, 0x25, 0xdc, 0x34, 0xe4, 0x02, 0xfd, 0x46} -DEFINE_GUID!{FOLDERID_AccountPictures, - 0x008ca0b1, 0x55b4, 0x4c56, 0xb8, 0xa8, 0x4d, 0xe4, 0xb2, 0x99, 0xd3, 0xbe} -DEFINE_GUID!{FOLDERID_PublicUserTiles, - 0x0482af6c, 0x08f1, 0x4c34, 0x8c, 0x90, 0xe1, 0x7e, 0xc9, 0x8b, 0x1e, 0x17} -DEFINE_GUID!{FOLDERID_AppsFolder, - 0x1e87508d, 0x89c2, 0x42f0, 0x8a, 0x7e, 0x64, 0x5a, 0x0f, 0x50, 0xca, 0x58} -DEFINE_GUID!{FOLDERID_StartMenuAllPrograms, - 0xf26305ef, 0x6948, 0x40b9, 0xb2, 0x55, 0x81, 0x45, 0x3d, 0x09, 0xc7, 0x85} -DEFINE_GUID!{FOLDERID_CommonStartMenuPlaces, - 0xa440879f, 0x87a0, 0x4f7d, 0xb7, 0x00, 0x02, 0x07, 0xb9, 0x66, 0x19, 0x4a} -DEFINE_GUID!{FOLDERID_ApplicationShortcuts, - 0xa3918781, 0xe5f2, 0x4890, 0xb3, 0xd9, 0xa7, 0xe5, 0x43, 0x32, 0x32, 0x8c} -DEFINE_GUID!{FOLDERID_RoamingTiles, - 0x00bcfc5a, 0xed94, 0x4e48, 0x96, 0xa1, 0x3f, 0x62, 0x17, 0xf2, 0x19, 0x90} -DEFINE_GUID!{FOLDERID_RoamedTileImages, - 0xaaa8d5a5, 0xf1d6, 0x4259, 0xba, 0xa8, 0x78, 0xe7, 0xef, 0x60, 0x83, 0x5e} -DEFINE_GUID!{FOLDERID_Screenshots, - 0xb7bede81, 0xdf94, 0x4682, 0xa7, 0xd8, 0x57, 0xa5, 0x26, 0x20, 0xb8, 0x6f} -DEFINE_GUID!{FOLDERID_CameraRoll, - 0xab5fb87b, 0x7ce2, 0x4f83, 0x91, 0x5d, 0x55, 0x08, 0x46, 0xc9, 0x53, 0x7b} -DEFINE_GUID!{FOLDERID_SkyDrive, - 0xa52bba46, 0xe9e1, 0x435f, 0xb3, 0xd9, 0x28, 0xda, 0xa6, 0x48, 0xc0, 0xf6} -DEFINE_GUID!{FOLDERID_OneDrive, - 0xa52bba46, 0xe9e1, 0x435f, 0xb3, 0xd9, 0x28, 0xda, 0xa6, 0x48, 0xc0, 0xf6} -DEFINE_GUID!{FOLDERID_SkyDriveDocuments, - 0x24d89e24, 0x2f19, 0x4534, 0x9d, 0xde, 0x6a, 0x66, 0x71, 0xfb, 0xb8, 0xfe} -DEFINE_GUID!{FOLDERID_SkyDrivePictures, - 0x339719b5, 0x8c47, 0x4894, 0x94, 0xc2, 0xd8, 0xf7, 0x7a, 0xdd, 0x44, 0xa6} -DEFINE_GUID!{FOLDERID_SkyDriveMusic, - 0xc3f2459e, 0x80d6, 0x45dc, 0xbf, 0xef, 0x1f, 0x76, 0x9f, 0x2b, 0xe7, 0x30} -DEFINE_GUID!{FOLDERID_SkyDriveCameraRoll, - 0x767e6811, 0x49cb, 0x4273, 0x87, 0xc2, 0x20, 0xf3, 0x55, 0xe1, 0x08, 0x5b} -DEFINE_GUID!{FOLDERID_SearchHistory, - 0x0d4c3db6, 0x03a3, 0x462f, 0xa0, 0xe6, 0x08, 0x92, 0x4c, 0x41, 0xb5, 0xd4} -DEFINE_GUID!{FOLDERID_SearchTemplates, - 0x7e636bfe, 0xdfa9, 0x4d5e, 0xb4, 0x56, 0xd7, 0xb3, 0x98, 0x51, 0xd8, 0xa9} -DEFINE_GUID!{FOLDERID_CameraRollLibrary, - 0x2b20df75, 0x1eda, 0x4039, 0x80, 0x97, 0x38, 0x79, 0x82, 0x27, 0xd5, 0xb7} -DEFINE_GUID!{FOLDERID_SavedPictures, - 0x3b193882, 0xd3ad, 0x4eab, 0x96, 0x5a, 0x69, 0x82, 0x9d, 0x1f, 0xb5, 0x9f} -DEFINE_GUID!{FOLDERID_SavedPicturesLibrary, - 0xe25b5812, 0xbe88, 0x4bd9, 0x94, 0xb0, 0x29, 0x23, 0x34, 0x77, 0xb6, 0xc3} -DEFINE_GUID!{FOLDERID_RetailDemo, - 0x12d4c69e, 0x24ad, 0x4923, 0xbe, 0x19, 0x31, 0x32, 0x1c, 0x43, 0xa7, 0x67} -DEFINE_GUID!{FOLDERID_Device, - 0x1C2AC1DC, 0x4358, 0x4B6C, 0x97, 0x33, 0xAF, 0x21, 0x15, 0x65, 0x76, 0xF0} -DEFINE_GUID!{FOLDERID_DevelopmentFiles, - 0xdbe8e08e, 0x3053, 0x4bbc, 0xb1, 0x83, 0x2a, 0x7b, 0x2b, 0x19, 0x1e, 0x59} -DEFINE_GUID!{FOLDERID_Objects3D, - 0x31c0dd25, 0x9439, 0x4f12, 0xbf, 0x41, 0x7f, 0xf4, 0xed, 0xa3, 0x87, 0x22} -DEFINE_GUID!{FOLDERID_AppCaptures, - 0xedc0fe71, 0x98d8, 0x4f4a, 0xb9, 0x20, 0xc8, 0xdc, 0x13, 0x3c, 0xb1, 0x65} -DEFINE_GUID!{FOLDERID_LocalDocuments, - 0xf42ee2d3, 0x909f, 0x4907, 0x88, 0x71, 0x4c, 0x22, 0xfc, 0x0b, 0xf7, 0x56} -DEFINE_GUID!{FOLDERID_LocalPictures, - 0x0ddd015d, 0xb06c, 0x45d5, 0x8c, 0x4c, 0xf5, 0x97, 0x13, 0x85, 0x46, 0x39} -DEFINE_GUID!{FOLDERID_LocalVideos, - 0x35286a68, 0x3c57, 0x41a1, 0xbb, 0xb1, 0x0e, 0xae, 0x73, 0xd7, 0x6c, 0x95} -DEFINE_GUID!{FOLDERID_LocalMusic, - 0xa0c69a99, 0x21c8, 0x4671, 0x87, 0x03, 0x79, 0x34, 0x16, 0x2f, 0xcf, 0x1d} -DEFINE_GUID!{FOLDERID_LocalDownloads, - 0x7d83ee9b, 0x2244, 0x4e70, 0xb1, 0xf5, 0x53, 0x93, 0x04, 0x2a, 0xf1, 0xe4} -DEFINE_GUID!{FOLDERID_RecordedCalls, - 0x2f8b40c2, 0x83ed, 0x48ee, 0xb3, 0x83, 0xa1, 0xf1, 0x57, 0xec, 0x6f, 0x9a} -DEFINE_GUID!{FOLDERID_AllAppMods, - 0x7ad67899, 0x66af, 0x43ba, 0x91, 0x56, 0x6a, 0xad, 0x42, 0xe6, 0xc5, 0x96} -DEFINE_GUID!{FOLDERID_CurrentAppMods, - 0x3db40b20, 0x2a30, 0x4dbe, 0x91, 0x7e, 0x77, 0x1d, 0xd2, 0x1d, 0xd0, 0x99} -DEFINE_GUID!{FOLDERID_AppDataDesktop, - 0xb2c5e279, 0x7add, 0x439f, 0xb2, 0x8c, 0xc4, 0x1f, 0xe1, 0xbb, 0xf6, 0x72} -DEFINE_GUID!{FOLDERID_AppDataDocuments, - 0x7be16610, 0x1f7f, 0x44ac, 0xbf, 0xf0, 0x83, 0xe1, 0x5f, 0x2f, 0xfc, 0xa1} -DEFINE_GUID!{FOLDERID_AppDataFavorites, - 0x7cfbefbc, 0xde1f, 0x45aa, 0xb8, 0x43, 0xa5, 0x42, 0xac, 0x53, 0x6c, 0xc9} -DEFINE_GUID!{FOLDERID_AppDataProgramData, - 0x559d40a3, 0xa036, 0x40fa, 0xaf, 0x61, 0x84, 0xcb, 0x43, 0x0a, 0x4d, 0x34} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/ktmw32.rs b/vendor/registry-40351f815f426200/winapi/src/um/ktmw32.rs deleted file mode 100644 index c1b882247..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/ktmw32.rs +++ /dev/null @@ -1,63 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -//! FFI bindings to ktmw32. -use shared::guiddef::LPGUID; -use shared::minwindef::{BOOL, DWORD}; -use um::minwinbase::LPSECURITY_ATTRIBUTES; -use um::winnt::{HANDLE, LPWSTR}; -extern "system" { - pub fn CreateTransaction( - lpTransactionAttributes: LPSECURITY_ATTRIBUTES, - UOW: LPGUID, - CreateOptions: DWORD, - IsolationLevel: DWORD, - IsolationFlags: DWORD, - Timeout: DWORD, - Description: LPWSTR, - ) -> HANDLE; - // pub fn OpenTransaction(); - pub fn CommitTransaction( - TransactionHandle: HANDLE, - ) -> BOOL; - // pub fn CommitTransactionAsync(); - pub fn RollbackTransaction( - TransactionHandle: HANDLE, - ) -> BOOL; - // pub fn RollbackTransactionAsync(); - // pub fn GetTransactionId(); - // pub fn GetTransactionInformation(); - // pub fn SetTransactionInformation(); - // pub fn CreateTransactionManager(); - // pub fn OpenTransactionManager(); - // pub fn OpenTransactionManagerById(); - // pub fn RenameTransactionManager(); - // pub fn RollforwardTransactionManager(); - // pub fn RecoverTransactionManager(); - // pub fn GetCurrentClockTransactionManager(); - // pub fn GetTransactionManagerId(); - // pub fn CreateResourceManager(); - // pub fn OpenResourceManager(); - // pub fn RecoverResourceManager(); - // pub fn GetNotificationResourceManager(); - // pub fn GetNotificationResourceManagerAsync(); - // pub fn SetResourceManagerCompletionPort(); - // pub fn CreateEnlistment(); - // pub fn OpenEnlistment(); - // pub fn RecoverEnlistment(); - // pub fn GetEnlistmentRecoveryInformation(); - // pub fn GetEnlistmentId(); - // pub fn SetEnlistmentRecoveryInformation(); - // pub fn PrepareEnlistment(); - // pub fn PrePrepareEnlistment(); - // pub fn CommitEnlistment(); - // pub fn RollbackEnlistment(); - // pub fn PrePrepareComplete(); - // pub fn PrepareComplete(); - // pub fn ReadOnlyEnlistment(); - // pub fn CommitComplete(); - // pub fn RollbackComplete(); - // pub fn SinglePhaseReject(); -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/libloaderapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/libloaderapi.rs deleted file mode 100644 index 05e3017d2..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/libloaderapi.rs +++ /dev/null @@ -1,236 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! ApiSet Contract for api-ms-win-core-libraryloader-l1 -use ctypes::c_int; -use shared::basetsd::LONG_PTR; -use shared::minwindef::{ - BOOL, DWORD, FARPROC, HGLOBAL, HINSTANCE, HMODULE, HRSRC, LPVOID, UINT, WORD -}; -use um::winnt::{HANDLE, LANGID, LPCSTR, LPCWSTR, LPSTR, LPWSTR, PCWSTR, PVOID}; -pub const GET_MODULE_HANDLE_EX_FLAG_PIN: DWORD = 0x00000001; -pub const GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT: DWORD = 0x00000002; -pub const GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS: DWORD = 0x00000004; -pub const DONT_RESOLVE_DLL_REFERENCES: DWORD = 0x00000001; -pub const LOAD_LIBRARY_AS_DATAFILE: DWORD = 0x00000002; -pub const LOAD_WITH_ALTERED_SEARCH_PATH: DWORD = 0x00000008; -pub const LOAD_IGNORE_CODE_AUTHZ_LEVEL: DWORD = 0x00000010; -pub const LOAD_LIBRARY_AS_IMAGE_RESOURCE: DWORD = 0x00000020; -pub const LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE: DWORD = 0x00000040; -pub const LOAD_LIBRARY_REQUIRE_SIGNED_TARGET: DWORD = 0x00000080; -pub const LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR: DWORD = 0x00000100; -pub const LOAD_LIBRARY_SEARCH_APPLICATION_DIR: DWORD = 0x00000200; -pub const LOAD_LIBRARY_SEARCH_USER_DIRS: DWORD = 0x00000400; -pub const LOAD_LIBRARY_SEARCH_SYSTEM32: DWORD = 0x00000800; -pub const LOAD_LIBRARY_SEARCH_DEFAULT_DIRS: DWORD = 0x00001000; -pub const LOAD_LIBRARY_SAFE_CURRENT_DIRS: DWORD = 0x00002000; -pub const LOAD_LIBRARY_SEARCH_SYSTEM32_NO_FORWARDER: DWORD = 0x00004000; -pub const LOAD_LIBRARY_OS_INTEGRITY_CONTINUITY: DWORD = 0x00008000; -FN!{stdcall ENUMRESLANGPROCA( - hModule: HMODULE, - lpType: LPCSTR, - lpName: LPCSTR, - wLanguage: WORD, - lParam: LONG_PTR, -) -> BOOL} -FN!{stdcall ENUMRESLANGPROCW( - hModule: HMODULE, - lpType: LPCWSTR, - lpName: LPCWSTR, - wLanguage: WORD, - lParam: LONG_PTR, -) -> BOOL} -FN!{stdcall ENUMRESNAMEPROCA( - hModule: HMODULE, - lpType: LPCSTR, - lpName: LPSTR, - lParam: LONG_PTR, -) -> BOOL} -FN!{stdcall ENUMRESNAMEPROCW( - hModule: HMODULE, - lpType: LPCWSTR, - lpName: LPWSTR, - lParam: LONG_PTR, -) -> BOOL} -FN!{stdcall ENUMRESTYPEPROCA( - hModule: HMODULE, - lpType: LPSTR, - lParam: LONG_PTR, -) -> BOOL} -FN!{stdcall ENUMRESTYPEPROCW( - hModule: HMODULE, - lpType: LPWSTR, - lParam: LONG_PTR, -) -> BOOL} -extern "system" { - pub fn DisableThreadLibraryCalls( - hLibModule: HMODULE, - ) -> BOOL; - pub fn FindResourceExW( - hModule: HMODULE, - lpName: LPCWSTR, - lpType: LPCWSTR, - wLanguage: WORD, - ) -> HRSRC; - pub fn FindStringOrdinal( - dwFindStringOrdinalFlags: DWORD, - lpStringSource: LPCWSTR, - cchSource: c_int, - lpStringValue: LPCWSTR, - cchValue: c_int, - bIgnoreCase: BOOL, - ) -> c_int; - pub fn FreeLibrary( - hLibModule: HMODULE, - ) -> BOOL; - pub fn FreeLibraryAndExitThread( - hLibModule: HMODULE, - dwExitCode: DWORD, - ); - pub fn FreeResource( - hResData: HGLOBAL, - ) -> BOOL; - pub fn GetModuleFileNameA( - hModule: HMODULE, - lpFilename: LPSTR, - nSize: DWORD, - ) -> DWORD; - pub fn GetModuleFileNameW( - hModule: HMODULE, - lpFilename: LPWSTR, - nSize: DWORD, - ) -> DWORD; - pub fn GetModuleHandleA( - lpModuleName: LPCSTR, - ) -> HMODULE; - pub fn GetModuleHandleW( - lpModuleName: LPCWSTR, - ) -> HMODULE; - pub fn GetModuleHandleExA( - dwFlags: DWORD, - lpModuleName: LPCSTR, - phModule: *mut HMODULE, - ) -> BOOL; - pub fn GetModuleHandleExW( - dwFlags: DWORD, - lpModuleName: LPCWSTR, - phModule: *mut HMODULE, - ) -> BOOL; - pub fn GetProcAddress( - hModule: HMODULE, - lpProcName: LPCSTR, - ) -> FARPROC; - pub fn LoadLibraryExA( - lpLibFileName: LPCSTR, - hFile: HANDLE, - dwFlags: DWORD, - ) -> HMODULE; - pub fn LoadLibraryExW( - lpLibFileName: LPCWSTR, - hFile: HANDLE, - dwFlags: DWORD, - ) -> HMODULE; - pub fn LoadResource( - hModule: HMODULE, - hResInfo: HRSRC, - ) -> HGLOBAL; - pub fn LoadStringA( - hInstance: HINSTANCE, - uID: UINT, - lpBuffer: LPSTR, - cchBufferMax: c_int, - ) -> c_int; - pub fn LoadStringW( - hInstance: HINSTANCE, - uID: UINT, - lpBuffer: LPWSTR, - cchBufferMax: c_int, - ) -> c_int; - pub fn LockResource( - hResData: HGLOBAL, - ) -> LPVOID; - pub fn SizeofResource( - hModule: HMODULE, - hResInfo: HRSRC, - ) -> DWORD; -} -pub type DLL_DIRECTORY_COOKIE = PVOID; -pub type PDLL_DIRECTORY_COOKIE = *mut PVOID; -extern "system" { - pub fn AddDllDirectory( - NewDirectory: PCWSTR, - ) -> DLL_DIRECTORY_COOKIE; - pub fn RemoveDllDirectory( - Cookie: DLL_DIRECTORY_COOKIE, - ) -> BOOL; - pub fn SetDefaultDllDirectories( - DirectoryFlags: DWORD, - ) -> BOOL; - pub fn EnumResourceLanguagesExA( - hModule: HMODULE, - lpType: LPCSTR, - lpName: LPCSTR, - lpEnumFunc: ENUMRESLANGPROCA, - lParam: LONG_PTR, - dwFlags: DWORD, - LangId: LANGID, - ) -> BOOL; - pub fn EnumResourceLanguagesExW( - hModule: HMODULE, - lpType: LPCWSTR, - lpName: LPCWSTR, - lpEnumFunc: ENUMRESLANGPROCW, - lParam: LONG_PTR, - dwFlags: DWORD, - LangId: LANGID, - ) -> BOOL; - pub fn EnumResourceNamesExA( - hModule: HMODULE, - lpType: LPCSTR, - lpEnumFunc: ENUMRESNAMEPROCA, - lParam: LONG_PTR, - dwFlags: DWORD, - LangId: LANGID, - ) -> BOOL; - pub fn EnumResourceNamesExW( - hModule: HMODULE, - lpType: LPCWSTR, - lpEnumFunc: ENUMRESNAMEPROCW, - lParam: LONG_PTR, - dwFlags: DWORD, - LangId: LANGID, - ) -> BOOL; - pub fn EnumResourceTypesExA( - hModule: HMODULE, - lpEnumFunc: ENUMRESTYPEPROCA, - lParam: LONG_PTR, - dwFlags: DWORD, - LangId: LANGID, - ) -> BOOL; - pub fn EnumResourceTypesExW( - hModule: HMODULE, - lpEnumFunc: ENUMRESTYPEPROCW, - lParam: LONG_PTR, - dwFlags: DWORD, - LangId: LANGID, - ) -> BOOL; - pub fn FindResourceW( - hModule: HMODULE, - lpName: LPCWSTR, - lpType: LPCWSTR, - ) -> HRSRC; - pub fn LoadLibraryA( - lpFileName: LPCSTR, - ) -> HMODULE; - pub fn LoadLibraryW( - lpFileName: LPCWSTR, - ) -> HMODULE; - pub fn EnumResourceNamesW( - hModule: HMODULE, - lpType: LPCWSTR, - lpEnumFunc: ENUMRESNAMEPROCW, - lParam: LONG_PTR, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/lmaccess.rs b/vendor/registry-40351f815f426200/winapi/src/um/lmaccess.rs deleted file mode 100644 index 3c6c430cb..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/lmaccess.rs +++ /dev/null @@ -1,1214 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -// This file contains structures, function prototypes, and definitions -// for the NetUser, NetUserModals, NetGroup, NetAccess, and NetLogon API. -use shared::basetsd::PDWORD_PTR; -use shared::lmcons::{ENCRYPTED_PWLEN, NET_API_STATUS, PARMNUM_BASE_INFOLEVEL, PWLEN}; -use shared::minwindef::{BOOL, BYTE, DWORD, FILETIME, LPBYTE, LPDWORD, LPVOID, PBYTE, ULONG}; -use um::winnt::{BOOLEAN, LONG, LPCWSTR, LPWSTR, PSID, PVOID, PZPWSTR, SID_NAME_USE}; -extern "system" { - pub fn NetUserAdd( - servername: LPCWSTR, - level: DWORD, - buf: LPBYTE, - parm_err: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetUserEnum( - servername: LPCWSTR, - level: DWORD, - filter: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - resumehandle: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetUserGetInfo( - servername: LPCWSTR, - username: LPCWSTR, - level: DWORD, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn NetUserSetInfo( - servername: LPCWSTR, - username: LPCWSTR, - level: DWORD, - buf: LPBYTE, - parm_err: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetUserDel( - servername: LPCWSTR, - username: LPCWSTR, - ) -> NET_API_STATUS; - pub fn NetUserGetGroups( - servername: LPCWSTR, - username: LPCWSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetUserSetGroups( - servername: LPCWSTR, - username: LPCWSTR, - level: DWORD, - buf: LPBYTE, - num_entries: DWORD, - ) -> NET_API_STATUS; - pub fn NetUserGetLocalGroups( - servername: LPCWSTR, - level: DWORD, - flags: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetUserModalsGet( - servername: LPCWSTR, - level: DWORD, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn NetUserModalsSet( - servername: LPCWSTR, - level: DWORD, - buf: LPBYTE, - parm_err: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetUserChangePassword( - domainname: LPCWSTR, - username: LPCWSTR, - oldpassword: LPCWSTR, - newpassword: LPCWSTR, - ) -> NET_API_STATUS; -} -STRUCT!{struct USER_INFO_0 { - usri0_name: LPWSTR, -}} -pub type PUSER_INFO_0 = *mut USER_INFO_0; -pub type LPUSER_INFO_0 = *mut USER_INFO_0; -STRUCT!{struct USER_INFO_1 { - usri1_name: LPWSTR, - usri1_password: LPWSTR, - usri1_password_age: DWORD, - usri1_priv: DWORD, - usri1_home_dir: LPWSTR, - usri1_comment: LPWSTR, - usri1_flags: DWORD, - usri1_script_path: LPWSTR, -}} -pub type PUSER_INFO_1 = *mut USER_INFO_1; -pub type LPUSER_INFO_1 = *mut USER_INFO_1; -STRUCT!{struct USER_INFO_2 { - usri2_name: LPWSTR, - usri2_password: LPWSTR, - usri2_password_age: DWORD, - usri2_priv: DWORD, - usri2_home_dir: LPWSTR, - usri2_comment: LPWSTR, - usri2_flags: DWORD, - usri2_script_path: LPWSTR, - usri2_auth_flags: DWORD, - usri2_full_name: LPWSTR, - usri2_usr_comment: LPWSTR, - usri2_parms: LPWSTR, - usri2_workstations: LPWSTR, - usri2_last_logon: DWORD, - usri2_last_logoff: DWORD, - usri2_acct_expires: DWORD, - usri2_max_storage: DWORD, - usri2_units_per_week: DWORD, - usri2_logon_hours: PBYTE, - usri2_bad_pw_count: DWORD, - usri2_num_logons: DWORD, - usri2_logon_server: LPWSTR, - usri2_country_code: DWORD, - usri2_code_page: DWORD, -}} -pub type PUSER_INFO_2 = *mut USER_INFO_2; -pub type LPUSER_INFO_2 = *mut USER_INFO_2; -STRUCT!{struct USER_INFO_3 { - usri3_name: LPWSTR, - usri3_password: LPWSTR, - usri3_password_age: DWORD, - usri3_priv: DWORD, - usri3_home_dir: LPWSTR, - usri3_comment: LPWSTR, - usri3_flags: DWORD, - usri3_script_path: LPWSTR, - usri3_auth_flags: DWORD, - usri3_full_name: LPWSTR, - usri3_usr_comment: LPWSTR, - usri3_parms: LPWSTR, - usri3_workstations: LPWSTR, - usri3_last_logon: DWORD, - usri3_last_logoff: DWORD, - usri3_acct_expires: DWORD, - usri3_max_storage: DWORD, - usri3_units_per_week: DWORD, - usri3_logon_hours: PBYTE, - usri3_bad_pw_count: DWORD, - usri3_num_logons: DWORD, - usri3_logon_server: LPWSTR, - usri3_country_code: DWORD, - usri3_code_page: DWORD, - usri3_user_id: DWORD, - usri3_primary_group_id: DWORD, - usri3_profile: LPWSTR, - usri3_home_dir_drive: LPWSTR, - usri3_password_expired: DWORD, -}} -pub type PUSER_INFO_3 = *mut USER_INFO_3; -pub type LPUSER_INFO_3 = *mut USER_INFO_3; -STRUCT!{struct USER_INFO_4 { - usri4_name: LPWSTR, - usri4_password: LPWSTR, - usri4_password_age: DWORD, - usri4_priv: DWORD, - usri4_home_dir: LPWSTR, - usri4_comment: LPWSTR, - usri4_flags: DWORD, - usri4_script_path: LPWSTR, - usri4_auth_flags: DWORD, - usri4_full_name: LPWSTR, - usri4_usr_comment: LPWSTR, - usri4_parms: LPWSTR, - usri4_workstations: LPWSTR, - usri4_last_logon: DWORD, - usri4_last_logoff: DWORD, - usri4_acct_expires: DWORD, - usri4_max_storage: DWORD, - usri4_units_per_week: DWORD, - usri4_logon_hours: PBYTE, - usri4_bad_pw_count: DWORD, - usri4_num_logons: DWORD, - usri4_logon_server: LPWSTR, - usri4_country_code: DWORD, - usri4_code_page: DWORD, - usri4_user_sid: PSID, - usri4_primary_group_id: DWORD, - usri4_profile: LPWSTR, - usri4_home_dir_drive: LPWSTR, - usri4_password_expired: DWORD, -}} -pub type PUSER_INFO_4 = *mut USER_INFO_4; -pub type LPUSER_INFO_4 = *mut USER_INFO_4; -STRUCT!{struct USER_INFO_10 { - usri10_name: LPWSTR, - usri10_comment: LPWSTR, - usri10_usr_comment: LPWSTR, - usri10_full_name: LPWSTR, -}} -pub type PUSER_INFO_10 = *mut USER_INFO_10; -pub type LPUSER_INFO_10 = *mut USER_INFO_10; -STRUCT!{struct USER_INFO_11 { - usri11_name: LPWSTR, - usri11_comment: LPWSTR, - usri11_usr_comment: LPWSTR, - usri11_full_name: LPWSTR, - usri11_priv: DWORD, - usri11_auth_flags: DWORD, - usri11_password_age: DWORD, - usri11_home_dir: LPWSTR, - usri11_parms: LPWSTR, - usri11_last_logon: DWORD, - usri11_last_logoff: DWORD, - usri11_bad_pw_count: DWORD, - usri11_num_logons: DWORD, - usri11_logon_server: LPWSTR, - usri11_country_code: DWORD, - usri11_workstations: LPWSTR, - usri11_max_storage: DWORD, - usri11_units_per_week: DWORD, - usri11_logon_hours: PBYTE, - usri11_code_page: DWORD, -}} -pub type PUSER_INFO_11 = *mut USER_INFO_11; -pub type LPUSER_INFO_11 = *mut USER_INFO_11; -STRUCT!{struct USER_INFO_20 { - usri20_name: LPWSTR, - usri20_full_name: LPWSTR, - usri20_comment: LPWSTR, - usri20_flags: DWORD, - usri20_user_id: DWORD, -}} -pub type PUSER_INFO_20 = *mut USER_INFO_20; -pub type LPUSER_INFO_20 = *mut USER_INFO_20; -STRUCT!{struct USER_INFO_21 { - usri21_password: [BYTE; ENCRYPTED_PWLEN], -}} -pub type PUSER_INFO_21 = *mut USER_INFO_21; -pub type LPUSER_INFO_21 = *mut USER_INFO_21; -STRUCT!{struct USER_INFO_22 { - usri22_name: LPWSTR, - usri22_password: [BYTE; ENCRYPTED_PWLEN], - usri22_password_age: DWORD, - usri22_priv: DWORD, - usri22_home_dir: LPWSTR, - usri22_comment: LPWSTR, - usri22_flags: DWORD, - usri22_script_path: LPWSTR, - usri22_auth_flags: DWORD, - usri22_full_name: LPWSTR, - usri22_usr_comment: LPWSTR, - usri22_parms: LPWSTR, - usri22_workstations: LPWSTR, - usri22_last_logon: DWORD, - usri22_last_logoff: DWORD, - usri22_acct_expires: DWORD, - usri22_max_storage: DWORD, - usri22_units_per_week: DWORD, - usri22_logon_hours: PBYTE, - usri22_bad_pw_count: DWORD, - usri22_num_logons: DWORD, - usri22_logon_server: LPWSTR, - usri22_country_code: DWORD, - usri22_code_page: DWORD, -}} -pub type PUSER_INFO_22 = *mut USER_INFO_22; -pub type LPUSER_INFO_22 = *mut USER_INFO_22; -STRUCT!{struct USER_INFO_23 { - usri23_name: LPWSTR, - usri23_full_name: LPWSTR, - usri23_comment: LPWSTR, - usri23_flags: DWORD, - usri23_user_sid: PSID, -}} -pub type PUSER_INFO_23 = *mut USER_INFO_23; -pub type LPUSER_INFO_23 = *mut USER_INFO_23; -STRUCT!{struct USER_INFO_24 { - usri24_internet_identity: BOOL, - usri24_flags: DWORD, - usri24_internet_provider_name: LPWSTR, - usri24_internet_principal_name: LPWSTR, - usri24_user_sid: PSID, -}} -pub type PUSER_INFO_24 = *mut USER_INFO_24; -pub type LPUSER_INFO_24 = *mut USER_INFO_24; -STRUCT!{struct USER_INFO_1003 { - usri1003_password: LPWSTR, -}} -pub type PUSER_INFO_1003 = *mut USER_INFO_1003; -pub type LPUSER_INFO_1003 = *mut USER_INFO_1003; -STRUCT!{struct USER_INFO_1005 { - usri1005_priv: DWORD, -}} -pub type PUSER_INFO_1005 = *mut USER_INFO_1005; -pub type LPUSER_INFO_1005 = *mut USER_INFO_1005; -STRUCT!{struct USER_INFO_1006 { - usri1006_home_dir: LPWSTR, -}} -pub type PUSER_INFO_1006 = *mut USER_INFO_1006; -pub type LPUSER_INFO_1006 = *mut USER_INFO_1006; -STRUCT!{struct USER_INFO_1007 { - usri1007_comment: LPWSTR, -}} -pub type PUSER_INFO_1007 = *mut USER_INFO_1007; -pub type LPUSER_INFO_1007 = *mut USER_INFO_1007; -STRUCT!{struct USER_INFO_1008 { - usri1008_flags: DWORD, -}} -pub type PUSER_INFO_1008 = *mut USER_INFO_1008; -pub type LPUSER_INFO_1008 = *mut USER_INFO_1008; -STRUCT!{struct USER_INFO_1009 { - usri1009_script_path: LPWSTR, -}} -pub type PUSER_INFO_1009 = *mut USER_INFO_1009; -pub type LPUSER_INFO_1009 = *mut USER_INFO_1009; -STRUCT!{struct USER_INFO_1010 { - usri1010_auth_flags: DWORD, -}} -pub type PUSER_INFO_1010 = *mut USER_INFO_1010; -pub type LPUSER_INFO_1010 = *mut USER_INFO_1010; -STRUCT!{struct USER_INFO_1011 { - usri1011_full_name: LPWSTR, -}} -pub type PUSER_INFO_1011 = *mut USER_INFO_1011; -pub type LPUSER_INFO_1011 = *mut USER_INFO_1011; -STRUCT!{struct USER_INFO_1012 { - usri1012_usr_comment: LPWSTR, -}} -pub type PUSER_INFO_1012 = *mut USER_INFO_1012; -pub type LPUSER_INFO_1012 = *mut USER_INFO_1012; -STRUCT!{struct USER_INFO_1013 { - usri1013_parms: LPWSTR, -}} -pub type PUSER_INFO_1013 = *mut USER_INFO_1013; -pub type LPUSER_INFO_1013 = *mut USER_INFO_1013; -STRUCT!{struct USER_INFO_1014 { - usri1014_workstations: LPWSTR, -}} -pub type PUSER_INFO_1014 = *mut USER_INFO_1014; -pub type LPUSER_INFO_1014 = *mut USER_INFO_1014; -STRUCT!{struct USER_INFO_1017 { - usri1017_acct_expires: DWORD, -}} -pub type PUSER_INFO_1017 = *mut USER_INFO_1017; -pub type LPUSER_INFO_1017 = *mut USER_INFO_1017; -STRUCT!{struct USER_INFO_1018 { - usri1018_max_storage: DWORD, -}} -pub type PUSER_INFO_1018 = *mut USER_INFO_1018; -pub type LPUSER_INFO_1018 = *mut USER_INFO_1018; -STRUCT!{struct USER_INFO_1020 { - usri1020_units_per_week: DWORD, - usri1020_logon_hours: LPBYTE, -}} -pub type PUSER_INFO_1020 = *mut USER_INFO_1020; -pub type LPUSER_INFO_1020 = *mut USER_INFO_1020; -STRUCT!{struct USER_INFO_1023 { - usri1023_logon_server: LPWSTR, -}} -pub type PUSER_INFO_1023 = *mut USER_INFO_1023; -pub type LPUSER_INFO_1023 = *mut USER_INFO_1023; -STRUCT!{struct USER_INFO_1024 { - usri1024_country_code: DWORD, -}} -pub type PUSER_INFO_1024 = *mut USER_INFO_1024; -pub type LPUSER_INFO_1024 = *mut USER_INFO_1024; -STRUCT!{struct USER_INFO_1025 { - usri1025_code_page: DWORD, -}} -pub type PUSER_INFO_1025 = *mut USER_INFO_1025; -pub type LPUSER_INFO_1025 = *mut USER_INFO_1025; -STRUCT!{struct USER_INFO_1051 { - usri1051_primary_group_id: DWORD, -}} -pub type PUSER_INFO_1051 = *mut USER_INFO_1051; -pub type LPUSER_INFO_1051 = *mut USER_INFO_1051; -STRUCT!{struct USER_INFO_1052 { - usri1052_profile: LPWSTR, -}} -pub type PUSER_INFO_1052 = *mut USER_INFO_1052; -pub type LPUSER_INFO_1052 = *mut USER_INFO_1052; -STRUCT!{struct USER_INFO_1053 { - usri1053_home_dir_drive: LPWSTR, -}} -pub type PUSER_INFO_1053 = *mut USER_INFO_1053; -pub type LPUSER_INFO_1053 = *mut USER_INFO_1053; -STRUCT!{struct USER_MODALS_INFO_0 { - usrmod0_min_passwd_len: DWORD, - usrmod0_max_passwd_age: DWORD, - usrmod0_min_passwd_age: DWORD, - usrmod0_force_logoff: DWORD, - usrmod0_password_hist_len: DWORD, -}} -pub type PUSER_MODALS_INFO_0 = *mut USER_MODALS_INFO_0; -pub type LPUSER_MODALS_INFO_0 = *mut USER_MODALS_INFO_0; -STRUCT!{struct USER_MODALS_INFO_1 { - usrmod1_role: DWORD, - usrmod1_primary: LPWSTR, -}} -pub type PUSER_MODALS_INFO_1 = *mut USER_MODALS_INFO_1; -pub type LPUSER_MODALS_INFO_1 = *mut USER_MODALS_INFO_1; -STRUCT!{struct USER_MODALS_INFO_2 { - usrmod2_domain_name: LPWSTR, - usrmod2_domain_id: PSID, -}} -pub type PUSER_MODALS_INFO_2 = *mut USER_MODALS_INFO_2; -pub type LPUSER_MODALS_INFO_2 = *mut USER_MODALS_INFO_2; -STRUCT!{struct USER_MODALS_INFO_3 { - usrmod3_lockout_duration: DWORD, - usrmod3_lockout_observation_window: DWORD, - usrmod3_lockout_threshold: DWORD, -}} -pub type PUSER_MODALS_INFO_3 = *mut USER_MODALS_INFO_3; -pub type LPUSER_MODALS_INFO_3 = *mut USER_MODALS_INFO_3; -STRUCT!{struct USER_MODALS_INFO_1001 { - usrmod1001_min_passwd_len: DWORD, -}} -pub type PUSER_MODALS_INFO_1001 = *mut USER_MODALS_INFO_1001; -pub type LPUSER_MODALS_INFO_1001 = *mut USER_MODALS_INFO_1001; -STRUCT!{struct USER_MODALS_INFO_1002 { - usrmod1002_max_passwd_age: DWORD, -}} -pub type PUSER_MODALS_INFO_1002 = *mut USER_MODALS_INFO_1002; -pub type LPUSER_MODALS_INFO_1002 = *mut USER_MODALS_INFO_1002; -STRUCT!{struct USER_MODALS_INFO_1003 { - usrmod1003_min_passwd_age: DWORD, -}} -pub type PUSER_MODALS_INFO_1003 = *mut USER_MODALS_INFO_1003; -pub type LPUSER_MODALS_INFO_1003 = *mut USER_MODALS_INFO_1003; -STRUCT!{struct USER_MODALS_INFO_1004 { - usrmod1004_force_logoff: DWORD, -}} -pub type PUSER_MODALS_INFO_1004 = *mut USER_MODALS_INFO_1004; -pub type LPUSER_MODALS_INFO_1004 = *mut USER_MODALS_INFO_1004; -STRUCT!{struct USER_MODALS_INFO_1005 { - usrmod1005_password_hist_len: DWORD, -}} -pub type PUSER_MODALS_INFO_1005 = *mut USER_MODALS_INFO_1005; -pub type LPUSER_MODALS_INFO_1005 = *mut USER_MODALS_INFO_1005; -STRUCT!{struct USER_MODALS_INFO_1006 { - usrmod1006_role: DWORD, -}} -pub type PUSER_MODALS_INFO_1006 = *mut USER_MODALS_INFO_1006; -pub type LPUSER_MODALS_INFO_1006 = *mut USER_MODALS_INFO_1006; -STRUCT!{struct USER_MODALS_INFO_1007 { - usrmod1007_primary: LPWSTR, -}} -pub type PUSER_MODALS_INFO_1007 = *mut USER_MODALS_INFO_1007; -pub type LPUSER_MODALS_INFO_1007 = *mut USER_MODALS_INFO_1007; -pub const UF_SCRIPT: DWORD = 0x0001; -pub const UF_ACCOUNTDISABLE: DWORD = 0x0002; -pub const UF_HOMEDIR_REQUIRED: DWORD = 0x0008; -pub const UF_LOCKOUT: DWORD = 0x0010; -pub const UF_PASSWD_NOTREQD: DWORD = 0x0020; -pub const UF_PASSWD_CANT_CHANGE: DWORD = 0x0040; -pub const UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED: DWORD = 0x0080; -pub const UF_TEMP_DUPLICATE_ACCOUNT: DWORD = 0x0100; -pub const UF_NORMAL_ACCOUNT: DWORD = 0x0200; -pub const UF_INTERDOMAIN_TRUST_ACCOUNT: DWORD = 0x0800; -pub const UF_WORKSTATION_TRUST_ACCOUNT: DWORD = 0x1000; -pub const UF_SERVER_TRUST_ACCOUNT: DWORD = 0x2000; -pub const UF_MACHINE_ACCOUNT_MASK: DWORD = UF_INTERDOMAIN_TRUST_ACCOUNT - | UF_WORKSTATION_TRUST_ACCOUNT | UF_SERVER_TRUST_ACCOUNT; -pub const UF_ACCOUNT_TYPE_MASK: DWORD = UF_TEMP_DUPLICATE_ACCOUNT | UF_NORMAL_ACCOUNT - | UF_INTERDOMAIN_TRUST_ACCOUNT | UF_WORKSTATION_TRUST_ACCOUNT | UF_SERVER_TRUST_ACCOUNT; -pub const UF_DONT_EXPIRE_PASSWD: DWORD = 0x10000; -pub const UF_MNS_LOGON_ACCOUNT: DWORD = 0x20000; -pub const UF_SMARTCARD_REQUIRED: DWORD = 0x40000; -pub const UF_TRUSTED_FOR_DELEGATION: DWORD = 0x80000; -pub const UF_NOT_DELEGATED: DWORD = 0x100000; -pub const UF_USE_DES_KEY_ONLY: DWORD = 0x200000; -pub const UF_DONT_REQUIRE_PREAUTH: DWORD = 0x400000; -pub const UF_PASSWORD_EXPIRED: DWORD = 0x800000; -pub const UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION: DWORD = 0x1000000; -pub const UF_NO_AUTH_DATA_REQUIRED: DWORD = 0x2000000; -pub const UF_PARTIAL_SECRETS_ACCOUNT: DWORD = 0x4000000; -pub const UF_USE_AES_KEYS: DWORD = 0x8000000; -pub const UF_SETTABLE_BITS: DWORD = UF_SCRIPT | UF_ACCOUNTDISABLE | UF_LOCKOUT - | UF_HOMEDIR_REQUIRED | UF_PASSWD_NOTREQD | UF_PASSWD_CANT_CHANGE | UF_ACCOUNT_TYPE_MASK - | UF_DONT_EXPIRE_PASSWD | UF_MNS_LOGON_ACCOUNT | UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED - | UF_SMARTCARD_REQUIRED | UF_TRUSTED_FOR_DELEGATION | UF_NOT_DELEGATED | UF_USE_DES_KEY_ONLY - | UF_DONT_REQUIRE_PREAUTH | UF_PASSWORD_EXPIRED | UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION - | UF_NO_AUTH_DATA_REQUIRED | UF_USE_AES_KEYS | UF_PARTIAL_SECRETS_ACCOUNT; -pub const FILTER_TEMP_DUPLICATE_ACCOUNT: DWORD = 0x0001; -pub const FILTER_NORMAL_ACCOUNT: DWORD = 0x0002; -pub const FILTER_INTERDOMAIN_TRUST_ACCOUNT: DWORD = 0x0008; -pub const FILTER_WORKSTATION_TRUST_ACCOUNT: DWORD = 0x0010; -pub const FILTER_SERVER_TRUST_ACCOUNT: DWORD = 0x0020; -pub const LG_INCLUDE_INDIRECT: DWORD = 0x0001; -pub const AF_OP_PRINT: DWORD = 0x1; -pub const AF_OP_COMM: DWORD = 0x2; -pub const AF_OP_SERVER: DWORD = 0x4; -pub const AF_OP_ACCOUNTS: DWORD = 0x8; -pub const AF_SETTABLE_BITS: DWORD = AF_OP_PRINT | AF_OP_COMM | AF_OP_SERVER | AF_OP_ACCOUNTS; -pub const UAS_ROLE_STANDALONE: DWORD = 0; -pub const UAS_ROLE_MEMBER: DWORD = 1; -pub const UAS_ROLE_BACKUP: DWORD = 2; -pub const UAS_ROLE_PRIMARY: DWORD = 3; -pub const USER_NAME_PARMNUM: DWORD = 1; -pub const USER_PASSWORD_PARMNUM: DWORD = 3; -pub const USER_PASSWORD_AGE_PARMNUM: DWORD = 4; -pub const USER_PRIV_PARMNUM: DWORD = 5; -pub const USER_HOME_DIR_PARMNUM: DWORD = 6; -pub const USER_COMMENT_PARMNUM: DWORD = 7; -pub const USER_FLAGS_PARMNUM: DWORD = 8; -pub const USER_SCRIPT_PATH_PARMNUM: DWORD = 9; -pub const USER_AUTH_FLAGS_PARMNUM: DWORD = 10; -pub const USER_FULL_NAME_PARMNUM: DWORD = 11; -pub const USER_USR_COMMENT_PARMNUM: DWORD = 12; -pub const USER_PARMS_PARMNUM: DWORD = 13; -pub const USER_WORKSTATIONS_PARMNUM: DWORD = 14; -pub const USER_LAST_LOGON_PARMNUM: DWORD = 15; -pub const USER_LAST_LOGOFF_PARMNUM: DWORD = 16; -pub const USER_ACCT_EXPIRES_PARMNUM: DWORD = 17; -pub const USER_MAX_STORAGE_PARMNUM: DWORD = 18; -pub const USER_UNITS_PER_WEEK_PARMNUM: DWORD = 19; -pub const USER_LOGON_HOURS_PARMNUM: DWORD = 20; -pub const USER_PAD_PW_COUNT_PARMNUM: DWORD = 21; -pub const USER_NUM_LOGONS_PARMNUM: DWORD = 22; -pub const USER_LOGON_SERVER_PARMNUM: DWORD = 23; -pub const USER_COUNTRY_CODE_PARMNUM: DWORD = 24; -pub const USER_CODE_PAGE_PARMNUM: DWORD = 25; -pub const USER_PRIMARY_GROUP_PARMNUM: DWORD = 51; -pub const USER_PROFILE: DWORD = 52; -pub const USER_PROFILE_PARMNUM: DWORD = 52; -pub const USER_HOME_DIR_DRIVE_PARMNUM: DWORD = 53; -pub const USER_NAME_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + USER_NAME_PARMNUM; -pub const USER_PASSWORD_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + USER_PASSWORD_PARMNUM; -pub const USER_PASSWORD_AGE_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + USER_PASSWORD_AGE_PARMNUM; -pub const USER_PRIV_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + USER_PRIV_PARMNUM; -pub const USER_HOME_DIR_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + USER_HOME_DIR_PARMNUM; -pub const USER_COMMENT_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + USER_COMMENT_PARMNUM; -pub const USER_FLAGS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + USER_FLAGS_PARMNUM; -pub const USER_SCRIPT_PATH_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + USER_SCRIPT_PATH_PARMNUM; -pub const USER_AUTH_FLAGS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + USER_AUTH_FLAGS_PARMNUM; -pub const USER_FULL_NAME_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + USER_FULL_NAME_PARMNUM; -pub const USER_USR_COMMENT_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + USER_USR_COMMENT_PARMNUM; -pub const USER_PARMS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + USER_PARMS_PARMNUM; -pub const USER_WORKSTATIONS_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + USER_WORKSTATIONS_PARMNUM; -pub const USER_LAST_LOGON_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + USER_LAST_LOGON_PARMNUM; -pub const USER_LAST_LOGOFF_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + USER_LAST_LOGOFF_PARMNUM; -pub const USER_ACCT_EXPIRES_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + USER_ACCT_EXPIRES_PARMNUM; -pub const USER_MAX_STORAGE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + USER_MAX_STORAGE_PARMNUM; -pub const USER_UNITS_PER_WEEK_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + USER_UNITS_PER_WEEK_PARMNUM; -pub const USER_LOGON_HOURS_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + USER_LOGON_HOURS_PARMNUM; -pub const USER_PAD_PW_COUNT_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + USER_PAD_PW_COUNT_PARMNUM; -pub const USER_NUM_LOGONS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + USER_NUM_LOGONS_PARMNUM; -pub const USER_LOGON_SERVER_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + USER_LOGON_SERVER_PARMNUM; -pub const USER_COUNTRY_CODE_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + USER_COUNTRY_CODE_PARMNUM; -pub const USER_CODE_PAGE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + USER_CODE_PAGE_PARMNUM; -pub const USER_PRIMARY_GROUP_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + USER_PRIMARY_GROUP_PARMNUM; -pub const USER_HOME_DIR_DRIVE_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + USER_HOME_DIR_DRIVE_PARMNUM; -pub const NULL_USERSETINFO_PASSWD: &'static str = " "; -pub const TIMEQ_FOREVER: DWORD = -1i32 as u32; -pub const USER_MAXSTORAGE_UNLIMITED: DWORD = -1i32 as u32; -pub const USER_NO_LOGOFF: DWORD = -1i32 as u32; -pub const UNITS_PER_DAY: DWORD = 24; -pub const UNITS_PER_WEEK: DWORD = UNITS_PER_DAY * 7; -pub const USER_PRIV_MASK: DWORD = 0x3; -pub const USER_PRIV_GUEST: DWORD = 0; -pub const USER_PRIV_USER: DWORD = 1; -pub const USER_PRIV_ADMIN: DWORD = 2; -pub const MAX_PASSWD_LEN: DWORD = PWLEN; -pub const DEF_MIN_PWLEN: DWORD = 6; -pub const DEF_PWUNIQUENESS: DWORD = 5; -pub const DEF_MAX_PWHIST: DWORD = 8; -pub const DEF_MAX_PWAGE: DWORD = TIMEQ_FOREVER; -pub const DEF_MIN_PWAGE: DWORD = 0; -pub const DEF_FORCE_LOGOFF: DWORD = 0xffffffff; -pub const DEF_MAX_BADPW: DWORD = 0; -pub const ONE_DAY: DWORD = 1 * 24 * 3600; -pub const VALIDATED_LOGON: DWORD = 0; -pub const PASSWORD_EXPIRED: DWORD = 2; -pub const NON_VALIDATED_LOGON: DWORD = 3; -pub const VALID_LOGOFF: DWORD = 1; -pub const MODALS_MIN_PASSWD_LEN_PARMNUM: DWORD = 1; -pub const MODALS_MAX_PASSWD_AGE_PARMNUM: DWORD = 2; -pub const MODALS_MIN_PASSWD_AGE_PARMNUM: DWORD = 3; -pub const MODALS_FORCE_LOGOFF_PARMNUM: DWORD = 4; -pub const MODALS_PASSWD_HIST_LEN_PARMNUM: DWORD = 5; -pub const MODALS_ROLE_PARMNUM: DWORD = 6; -pub const MODALS_PRIMARY_PARMNUM: DWORD = 7; -pub const MODALS_DOMAIN_NAME_PARMNUM: DWORD = 8; -pub const MODALS_DOMAIN_ID_PARMNUM: DWORD = 9; -pub const MODALS_LOCKOUT_DURATION_PARMNUM: DWORD = 10; -pub const MODALS_LOCKOUT_OBSERVATION_WINDOW_PARMNUM: DWORD = 11; -pub const MODALS_LOCKOUT_THRESHOLD_PARMNUM: DWORD = 12; -pub const MODALS_MIN_PASSWD_LEN_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + MODALS_MIN_PASSWD_LEN_PARMNUM; -pub const MODALS_MAX_PASSWD_AGE_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + MODALS_MAX_PASSWD_AGE_PARMNUM; -pub const MODALS_MIN_PASSWD_AGE_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + MODALS_MIN_PASSWD_AGE_PARMNUM; -pub const MODALS_FORCE_LOGOFF_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + MODALS_FORCE_LOGOFF_PARMNUM; -pub const MODALS_PASSWD_HIST_LEN_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + MODALS_PASSWD_HIST_LEN_PARMNUM; -pub const MODALS_ROLE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + MODALS_ROLE_PARMNUM; -pub const MODALS_PRIMARY_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + MODALS_PRIMARY_PARMNUM; -pub const MODALS_DOMAIN_NAME_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + MODALS_DOMAIN_NAME_PARMNUM; -pub const MODALS_DOMAIN_ID_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + MODALS_DOMAIN_ID_PARMNUM; -extern "system" { - pub fn NetGroupAdd( - servername: LPCWSTR, - level: DWORD, - buf: LPBYTE, - parm_err: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetGroupAddUser( - servername: LPCWSTR, - GroupName: LPCWSTR, - username: LPCWSTR, - ) -> NET_API_STATUS; - pub fn NetGroupEnum( - servername: LPCWSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - resume_handle: PDWORD_PTR, - ) -> NET_API_STATUS; - pub fn NetGroupGetInfo( - servername: LPCWSTR, - groupname: LPCWSTR, - level: DWORD, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn NetGroupSetInfo( - servername: LPCWSTR, - groupname: LPCWSTR, - level: DWORD, - buf: LPBYTE, - parm_err: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetGroupDel( - servername: LPCWSTR, - groupname: LPCWSTR, - ) -> NET_API_STATUS; - pub fn NetGroupDelUser( - servername: LPCWSTR, - GroupName: LPCWSTR, - Username: LPCWSTR, - ) -> NET_API_STATUS; - pub fn NetGroupGetUsers( - servername: LPCWSTR, - groupname: LPCWSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - ResumeHandle: PDWORD_PTR, - ) -> NET_API_STATUS; - pub fn NetGroupSetUsers( - servername: LPCWSTR, - groupname: LPCWSTR, - level: DWORD, - buf: LPBYTE, - totalentries: DWORD, - ) -> NET_API_STATUS; -} -STRUCT!{struct GROUP_INFO_0 { - grpi0_name: LPWSTR, -}} -pub type PGROUP_INFO_0 = *mut GROUP_INFO_0; -pub type LPGROUP_INFO_0 = *mut GROUP_INFO_0; -STRUCT!{struct GROUP_INFO_1 { - grpi1_name: LPWSTR, - grpi1_comment: LPWSTR, -}} -pub type PGROUP_INFO_1 = *mut GROUP_INFO_1; -pub type LPGROUP_INFO_1 = *mut GROUP_INFO_1; -STRUCT!{struct GROUP_INFO_2 { - grpi2_name: LPWSTR, - grpi2_comment: LPWSTR, - grpi2_group_id: DWORD, - grpi2_attributes: DWORD, -}} -pub type PGROUP_INFO_2 = *mut GROUP_INFO_2; -STRUCT!{struct GROUP_INFO_3 { - grpi3_name: LPWSTR, - grpi3_comment: LPWSTR, - grpi3_group_sid: PSID, - grpi3_attributes: DWORD, -}} -pub type PGROUP_INFO_3 = *mut GROUP_INFO_3; -STRUCT!{struct GROUP_INFO_1002 { - grpi1002_comment: LPWSTR, -}} -pub type PGROUP_INFO_1002 = *mut GROUP_INFO_1002; -pub type LPGROUP_INFO_1002 = *mut GROUP_INFO_1002; -STRUCT!{struct GROUP_INFO_1005 { - grpi1005_attributes: DWORD, -}} -pub type PGROUP_INFO_1005 = *mut GROUP_INFO_1005; -pub type LPGROUP_INFO_1005 = *mut GROUP_INFO_1005; -STRUCT!{struct GROUP_USERS_INFO_0 { - grui0_name: LPWSTR, -}} -pub type PGROUP_USERS_INFO_0 = *mut GROUP_USERS_INFO_0; -pub type LPGROUP_USERS_INFO_0 = *mut GROUP_USERS_INFO_0; -STRUCT!{struct GROUP_USERS_INFO_1 { - grui1_name: LPWSTR, - grui1_attributes: DWORD, -}} -pub type PGROUP_USERS_INFO_1 = *mut GROUP_USERS_INFO_1; -pub type LPGROUP_USERS_INFO_1 = *mut GROUP_USERS_INFO_1; -pub const GROUPIDMASK: DWORD = 0x8000; -pub const GROUP_SPECIALGRP_USERS: &'static str = "USERS"; -pub const GROUP_SPECIALGRP_ADMINS: &'static str = "ADMINS"; -pub const GROUP_SPECIALGRP_GUESTS: &'static str = "GUESTS"; -pub const GROUP_SPECIALGRP_LOCAL: &'static str = "LOCAL"; -pub const GROUP_ALL_PARMNUM: DWORD = 0; -pub const GROUP_NAME_PARMNUM: DWORD = 1; -pub const GROUP_COMMENT_PARMNUM: DWORD = 2; -pub const GROUP_ATTRIBUTES_PARMNUM: DWORD = 3; -pub const GROUP_ALL_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + GROUP_ALL_PARMNUM; -pub const GROUP_NAME_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + GROUP_NAME_PARMNUM; -pub const GROUP_COMMENT_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + GROUP_COMMENT_PARMNUM; -pub const GROUP_ATTRIBUTES_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + GROUP_ATTRIBUTES_PARMNUM; -extern "system" { - pub fn NetLocalGroupAdd( - servername: LPCWSTR, - level: DWORD, - buf: LPBYTE, - parm_err: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetLocalGroupAddMember( - servername: LPCWSTR, - groupname: LPCWSTR, - membersid: PSID, - ) -> NET_API_STATUS; - pub fn NetLocalGroupEnum( - servername: LPCWSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - resumehandle: PDWORD_PTR, - ) -> NET_API_STATUS; - pub fn NetLocalGroupGetInfo( - servername: LPCWSTR, - groupname: LPCWSTR, - level: DWORD, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn NetLocalGroupSetInfo( - servername: LPCWSTR, - groupname: LPCWSTR, - level: DWORD, - buf: LPBYTE, - parm_err: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetLocalGroupDel( - servername: LPCWSTR, - groupname: LPCWSTR, - ) -> NET_API_STATUS; - pub fn NetLocalGroupDelMember( - servername: LPCWSTR, - groupname: LPCWSTR, - membersid: PSID, - ) -> NET_API_STATUS; - pub fn NetLocalGroupGetMembers( - servername: LPCWSTR, - localgroupname: LPCWSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - resumehandle: PDWORD_PTR, - ) -> NET_API_STATUS; - pub fn NetLocalGroupSetMembers( - servername: LPCWSTR, - groupname: LPCWSTR, - level: DWORD, - buf: LPBYTE, - totalentries: DWORD, - ) -> NET_API_STATUS; - pub fn NetLocalGroupAddMembers( - servername: LPCWSTR, - groupname: LPCWSTR, - level: DWORD, - buf: LPBYTE, - totalentries: DWORD, - ) -> NET_API_STATUS; - pub fn NetLocalGroupDelMembers( - servername: LPCWSTR, - groupname: LPCWSTR, - level: DWORD, - buf: LPBYTE, - totalentries: DWORD, - ) -> NET_API_STATUS; -} -STRUCT!{struct LOCALGROUP_INFO_0 { - lgrpi0_name: LPWSTR, -}} -pub type PLOCALGROUP_INFO_0 = *mut LOCALGROUP_INFO_0; -pub type LPLOCALGROUP_INFO_0 = *mut LOCALGROUP_INFO_0; -STRUCT!{struct LOCALGROUP_INFO_1 { - lgrpi1_name: LPWSTR, - lgrpi1_comment: LPWSTR, -}} -pub type PLOCALGROUP_INFO_1 = *mut LOCALGROUP_INFO_1; -pub type LPLOCALGROUP_INFO_1 = *mut LOCALGROUP_INFO_1; -STRUCT!{struct LOCALGROUP_INFO_1002 { - lgrpi1002_comment: LPWSTR, -}} -pub type PLOCALGROUP_INFO_1002 = *mut LOCALGROUP_INFO_1002; -pub type LPLOCALGROUP_INFO_1002 = *mut LOCALGROUP_INFO_1002; -STRUCT!{struct LOCALGROUP_MEMBERS_INFO_0 { - lgrmi0_sid: PSID, -}} -pub type PLOCALGROUP_MEMBERS_INFO_0 = *mut LOCALGROUP_MEMBERS_INFO_0; -pub type LPLOCALGROUP_MEMBERS_INFO_0 = *mut LOCALGROUP_MEMBERS_INFO_0; -STRUCT!{struct LOCALGROUP_MEMBERS_INFO_1 { - lgrmi1_sid: PSID, - lgrmi1_sidusage: SID_NAME_USE, - lgrmi1_name: LPWSTR, -}} -pub type PLOCALGROUP_MEMBERS_INFO_1 = *mut LOCALGROUP_MEMBERS_INFO_1; -pub type LPLOCALGROUP_MEMBERS_INFO_1 = *mut LOCALGROUP_MEMBERS_INFO_1; -STRUCT!{struct LOCALGROUP_MEMBERS_INFO_2 { - lgrmi2_sid: PSID, - lgrmi2_sidusage: SID_NAME_USE, - lgrmi2_domainandname: LPWSTR, -}} -pub type PLOCALGROUP_MEMBERS_INFO_2 = *mut LOCALGROUP_MEMBERS_INFO_2; -pub type LPLOCALGROUP_MEMBERS_INFO_2 = *mut LOCALGROUP_MEMBERS_INFO_2; -STRUCT!{struct LOCALGROUP_MEMBERS_INFO_3 { - lgrmi3_domainandname: LPWSTR, -}} -pub type PLOCALGROUP_MEMBERS_INFO_3 = *mut LOCALGROUP_MEMBERS_INFO_3; -pub type LPLOCALGROUP_MEMBERS_INFO_3 = *mut LOCALGROUP_MEMBERS_INFO_3; -STRUCT!{struct LOCALGROUP_USERS_INFO_0 { - lgrui0_name: LPWSTR, -}} -pub type PLOCALGROUP_USERS_INFO_0 = *mut LOCALGROUP_USERS_INFO_0; -pub type LPLOCALGROUP_USERS_INFO_0 = *mut LOCALGROUP_USERS_INFO_0; -pub const LOCALGROUP_NAME_PARMNUM: DWORD = 1; -pub const LOCALGROUP_COMMENT_PARMNUM: DWORD = 2; -extern "system" { - pub fn NetQueryDisplayInformation( - ServerName: LPCWSTR, - Level: DWORD, - Index: DWORD, - EntriesRequested: DWORD, - PreferredMaximumLength: DWORD, - ReturnedEntryCount: LPDWORD, - SortedBuffer: *mut PVOID, - ) -> NET_API_STATUS; - pub fn NetGetDisplayInformationIndex( - ServerName: LPCWSTR, - Level: DWORD, - Prefix: LPCWSTR, - Index: LPDWORD, - ) -> NET_API_STATUS; -} -STRUCT!{struct NET_DISPLAY_USER { - usri1_name: LPWSTR, - usri1_comment: LPWSTR, - usri1_flags: DWORD, - usri1_full_name: LPWSTR, - usri1_user_id: DWORD, - usri1_next_index: DWORD, -}} -pub type PNET_DISPLAY_USER = *mut NET_DISPLAY_USER; -STRUCT!{struct NET_DISPLAY_MACHINE { - usri2_name: LPWSTR, - usri2_comment: LPWSTR, - usri2_flags: DWORD, - usri2_user_id: DWORD, - usri2_next_index: DWORD, -}} -pub type PNET_DISPLAY_MACHINE = *mut NET_DISPLAY_MACHINE; -STRUCT!{struct NET_DISPLAY_GROUP { - usri3_name: LPWSTR, - usri3_comment: LPWSTR, - grpi3_group_id: DWORD, - grpi3_attributes: DWORD, - grpi3_next_index: DWORD, -}} -pub type PNET_DISPLAY_GROUP = *mut NET_DISPLAY_GROUP; -extern "system" { - pub fn NetAccessAdd( - servername: LPCWSTR, - level: DWORD, - buf: LPBYTE, - parm_err: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetAccessEnum( - servername: LPCWSTR, - BasePath: LPCWSTR, - Recursive: DWORD, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - resume_handle: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetAccessGetInfo( - servername: LPCWSTR, - resource: LPCWSTR, - level: DWORD, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn NetAccessSetInfo( - servername: LPCWSTR, - resource: LPCWSTR, - level: DWORD, - buf: LPBYTE, - parm_err: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetAccessDel( - servername: LPCWSTR, - resource: LPCWSTR, - ) -> NET_API_STATUS; - pub fn NetAccessGetUserPerms( - servername: LPCWSTR, - UGname: LPCWSTR, - resource: LPCWSTR, - Perms: LPDWORD, - ) -> NET_API_STATUS; -} -STRUCT!{struct ACCESS_INFO_0 { - acc0_resource_name: LPWSTR, -}} -pub type PACCESS_INFO_0 = *mut ACCESS_INFO_0; -pub type LPACCESS_INFO_0 = *mut ACCESS_INFO_0; -STRUCT!{struct ACCESS_INFO_1 { - acc1_resource_name: LPWSTR, - acc1_attr: DWORD, - acc1_count: DWORD, -}} -pub type PACCESS_INFO_1 = *mut ACCESS_INFO_1; -pub type LPACCESS_INFO_1 = *mut ACCESS_INFO_1; -STRUCT!{struct ACCESS_INFO_1002 { - acc1002_attr: DWORD, -}} -pub type PACCESS_INFO_1002 = *mut ACCESS_INFO_1002; -pub type LPACCESS_INFO_1002 = *mut ACCESS_INFO_1002; -STRUCT!{struct ACCESS_LIST { - acl_ugname: LPWSTR, - acl_access: DWORD, -}} -pub type PACCESS_LIST = *mut ACCESS_LIST; -pub type LPACCESS_LIST = *mut ACCESS_LIST; -pub const MAXPERMENTRIES: DWORD = 64; -pub const ACCESS_NONE: DWORD = 0; -pub const ACCESS_ALL: DWORD = ACCESS_READ | ACCESS_WRITE | ACCESS_CREATE | ACCESS_EXEC - | ACCESS_DELETE | ACCESS_ATRIB | ACCESS_PERM; -pub const ACCESS_READ: DWORD = 0x01; -pub const ACCESS_WRITE: DWORD = 0x02; -pub const ACCESS_CREATE: DWORD = 0x04; -pub const ACCESS_EXEC: DWORD = 0x08; -pub const ACCESS_DELETE: DWORD = 0x10; -pub const ACCESS_ATRIB: DWORD = 0x20; -pub const ACCESS_PERM: DWORD = 0x40; -pub const ACCESS_GROUP: DWORD = 0x8000; -pub const ACCESS_AUDIT: DWORD = 0x1; -pub const ACCESS_SUCCESS_OPEN: DWORD = 0x10; -pub const ACCESS_SUCCESS_WRITE: DWORD = 0x20; -pub const ACCESS_SUCCESS_DELETE: DWORD = 0x40; -pub const ACCESS_SUCCESS_ACL: DWORD = 0x80; -pub const ACCESS_SUCCESS_MASK: DWORD = 0xF0; -pub const ACCESS_FAIL_OPEN: DWORD = 0x100; -pub const ACCESS_FAIL_WRITE: DWORD = 0x200; -pub const ACCESS_FAIL_DELETE: DWORD = 0x400; -pub const ACCESS_FAIL_ACL: DWORD = 0x800; -pub const ACCESS_FAIL_MASK: DWORD = 0xF00; -pub const ACCESS_FAIL_SHIFT: DWORD = 4; -pub const ACCESS_RESOURCE_NAME_PARMNUM: DWORD = 1; -pub const ACCESS_ATTR_PARMNUM: DWORD = 2; -pub const ACCESS_COUNT_PARMNUM: DWORD = 3; -pub const ACCESS_ACCESS_LIST_PARMNUM: DWORD = 4; -pub const ACCESS_RESOURCE_NAME_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + ACCESS_RESOURCE_NAME_PARMNUM; -pub const ACCESS_ATTR_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + ACCESS_ATTR_PARMNUM; -pub const ACCESS_COUNT_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + ACCESS_COUNT_PARMNUM; -pub const ACCESS_ACCESS_LIST_INFOLEVEL: DWORD = - PARMNUM_BASE_INFOLEVEL + ACCESS_ACCESS_LIST_PARMNUM; -pub const ACCESS_LETTERS: &'static str = "RWCXDAP "; -ENUM!{enum NET_VALIDATE_PASSWORD_TYPE { - NetValidateAuthentication = 1, - NetValidatePasswordChange, - NetValidatePasswordReset, -}} -pub type PNET_VALIDATE_PASSWORD_TYPE = *mut NET_VALIDATE_PASSWORD_TYPE; -STRUCT!{struct NET_VALIDATE_PASSWORD_HASH { - Length: ULONG, - Hash: LPBYTE, -}} -pub type PNET_VALIDATE_PASSWORD_HASH = *mut NET_VALIDATE_PASSWORD_HASH; -pub const NET_VALIDATE_PASSWORD_LAST_SET: ULONG = 0x00000001; -pub const NET_VALIDATE_BAD_PASSWORD_TIME: ULONG = 0x00000002; -pub const NET_VALIDATE_LOCKOUT_TIME: ULONG = 0x00000004; -pub const NET_VALIDATE_BAD_PASSWORD_COUNT: ULONG = 0x00000008; -pub const NET_VALIDATE_PASSWORD_HISTORY_LENGTH: ULONG = 0x00000010; -pub const NET_VALIDATE_PASSWORD_HISTORY: ULONG = 0x00000020; -STRUCT!{struct NET_VALIDATE_PERSISTED_FIELDS { - PresentFields: ULONG, - PasswordLastSet: FILETIME, - BadPasswordTime: FILETIME, - LockoutTime: FILETIME, - BadPasswordCount: ULONG, - PasswordHistoryLength: ULONG, - PasswordHistory: PNET_VALIDATE_PASSWORD_HASH, -}} -pub type PNET_VALIDATE_PERSISTED_FIELDS = *mut NET_VALIDATE_PERSISTED_FIELDS; -STRUCT!{struct NET_VALIDATE_OUTPUT_ARG { - ChangedPersistedFields: NET_VALIDATE_PERSISTED_FIELDS, - ValidationStatus: NET_API_STATUS, -}} -pub type PNET_VALIDATE_OUTPUT_ARG = *mut NET_VALIDATE_OUTPUT_ARG; -STRUCT!{struct NET_VALIDATE_AUTHENTICATION_INPUT_ARG { - InputPersistedFields: NET_VALIDATE_PERSISTED_FIELDS, - PasswordMatched: BOOLEAN, -}} -pub type PNET_VALIDATE_AUTHENTICATION_INPUT_ARG = *mut NET_VALIDATE_AUTHENTICATION_INPUT_ARG; -STRUCT!{struct NET_VALIDATE_PASSWORD_CHANGE_INPUT_ARG { - InputPersistedFields: NET_VALIDATE_PERSISTED_FIELDS, - ClearPassword: LPWSTR, - UserAccountName: LPWSTR, - HashedPassword: NET_VALIDATE_PASSWORD_HASH, - PasswordMatch: BOOLEAN, -}} -pub type PNET_VALIDATE_PASSWORD_CHANGE_INPUT_ARG = *mut NET_VALIDATE_PASSWORD_CHANGE_INPUT_ARG; -STRUCT!{struct NET_VALIDATE_PASSWORD_RESET_INPUT_ARG { - InputPersistedFields: NET_VALIDATE_PERSISTED_FIELDS, - ClearPassword: LPWSTR, - UserAccountName: LPWSTR, - HashedPassword: NET_VALIDATE_PASSWORD_HASH, - PasswordMustChangeAtNextLogon: BOOLEAN, - ClearLockout: BOOLEAN, -}} -pub type PNET_VALIDATE_PASSWORD_RESET_INPUT_ARG = *mut NET_VALIDATE_PASSWORD_RESET_INPUT_ARG; -extern "system" { - pub fn NetValidatePasswordPolicy( - ServerName: LPCWSTR, - Qualifier: LPVOID, - ValidationType: NET_VALIDATE_PASSWORD_TYPE, - InputArg: LPVOID, - OutputArg: *mut LPVOID, - ) -> NET_API_STATUS; - pub fn NetValidatePasswordPolicyFree( - OutputArg: *mut LPVOID, - ) -> NET_API_STATUS; - pub fn NetGetDCName( - servername: LPCWSTR, - domainname: LPCWSTR, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn NetGetAnyDCName( - servername: LPCWSTR, - domainname: LPCWSTR, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn I_NetLogonControl( - ServerName: LPCWSTR, - FunctionCode: DWORD, - QueryLevel: DWORD, - Buffer: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn I_NetLogonControl2( - ServerName: LPCWSTR, - FunctionCode: DWORD, - QueryLevel: DWORD, - Data: LPBYTE, - Buffer: *mut LPBYTE, - ) -> NET_API_STATUS; -} -pub type NTSTATUS = LONG; -pub type PNTSTATUS = *mut LONG; -extern "system" { - pub fn NetEnumerateTrustedDomains( - ServerName: LPWSTR, - DomainNames: *mut LPWSTR, - ) -> NTSTATUS; -} -pub const NETLOGON_CONTROL_QUERY: DWORD = 1; -pub const NETLOGON_CONTROL_REPLICATE: DWORD = 2; -pub const NETLOGON_CONTROL_SYNCHRONIZE: DWORD = 3; -pub const NETLOGON_CONTROL_PDC_REPLICATE: DWORD = 4; -pub const NETLOGON_CONTROL_REDISCOVER: DWORD = 5; -pub const NETLOGON_CONTROL_TC_QUERY: DWORD = 6; -pub const NETLOGON_CONTROL_TRANSPORT_NOTIFY: DWORD = 7; -pub const NETLOGON_CONTROL_FIND_USER: DWORD = 8; -pub const NETLOGON_CONTROL_CHANGE_PASSWORD: DWORD = 9; -pub const NETLOGON_CONTROL_TC_VERIFY: DWORD = 10; -pub const NETLOGON_CONTROL_FORCE_DNS_REG: DWORD = 11; -pub const NETLOGON_CONTROL_QUERY_DNS_REG: DWORD = 12; -pub const NETLOGON_CONTROL_QUERY_ENC_TYPES: DWORD = 13; -pub const NETLOGON_CONTROL_UNLOAD_NETLOGON_DLL: DWORD = 0xFFFB; -pub const NETLOGON_CONTROL_BACKUP_CHANGE_LOG: DWORD = 0xFFFC; -pub const NETLOGON_CONTROL_TRUNCATE_LOG: DWORD = 0xFFFD; -pub const NETLOGON_CONTROL_SET_DBFLAG: DWORD = 0xFFFE; -pub const NETLOGON_CONTROL_BREAKPOINT: DWORD = 0xFFFF; -STRUCT!{struct NETLOGON_INFO_1 { - netlog1_flags: DWORD, - netlog1_pdc_connection_status: NET_API_STATUS, -}} -pub type PNETLOGON_INFO_1 = *mut NETLOGON_INFO_1; -STRUCT!{struct NETLOGON_INFO_2 { - netlog2_flags: DWORD, - netlog2_pdc_connection_status: NET_API_STATUS, - netlog2_trusted_dc_name: LPWSTR, - netlog2_tc_connection_status: NET_API_STATUS, -}} -pub type PNETLOGON_INFO_2 = *mut NETLOGON_INFO_2; -STRUCT!{struct NETLOGON_INFO_3 { - netlog3_flags: DWORD, - netlog3_logon_attempts: DWORD, - netlog3_reserved1: DWORD, - netlog3_reserved2: DWORD, - netlog3_reserved3: DWORD, - netlog3_reserved4: DWORD, - netlog3_reserved5: DWORD, -}} -pub type PNETLOGON_INFO_3 = *mut NETLOGON_INFO_3; -STRUCT!{struct NETLOGON_INFO_4 { - netlog4_trusted_dc_name: LPWSTR, - netlog4_trusted_domain_name: LPWSTR, -}} -pub type PNETLOGON_INFO_4 = *mut NETLOGON_INFO_4; -pub const NETLOGON_REPLICATION_NEEDED: DWORD = 0x01; -pub const NETLOGON_REPLICATION_IN_PROGRESS: DWORD = 0x02; -pub const NETLOGON_FULL_SYNC_REPLICATION: DWORD = 0x04; -pub const NETLOGON_REDO_NEEDED: DWORD = 0x08; -pub const NETLOGON_HAS_IP: DWORD = 0x10; -pub const NETLOGON_HAS_TIMESERV: DWORD = 0x20; -pub const NETLOGON_DNS_UPDATE_FAILURE: DWORD = 0x40; -pub const NETLOGON_VERIFY_STATUS_RETURNED: DWORD = 0x80; -pub const SERVICE_ACCOUNT_PASSWORD: &'static str = "_SA_{262E99C9-6160-4871-ACEC-4E61736B6F21}"; -pub const SERVICE_ACCOUNT_SECRET_PREFIX: &'static str - = "_SC_{262E99C9-6160-4871-ACEC-4E61736B6F21}_"; -DEFINE_GUID!{ServiceAccountPasswordGUID, - 0x262E99C9, 0x6160, 0x4871, 0xAC, 0xEC, 0x4E, 0x61, 0x73, 0x6B, 0x6F, 0x21} -extern "system" { - pub fn NetAddServiceAccount( - ServerName: LPWSTR, - AccountName: LPWSTR, - Password: LPWSTR, - Flags: DWORD, - ) -> NTSTATUS; -} -pub const SERVICE_ACCOUNT_FLAG_LINK_TO_HOST_ONLY: DWORD = 0x00000001; -pub const SERVICE_ACCOUNT_FLAG_ADD_AGAINST_RODC: DWORD = 0x00000002; -pub const SERVICE_ACCOUNT_FLAG_UNLINK_FROM_HOST_ONLY: DWORD = 0x00000001; -pub const SERVICE_ACCOUNT_FLAG_REMOVE_OFFLINE: DWORD = 0x00000002; -extern "system" { - pub fn NetRemoveServiceAccount( - ServerName: LPWSTR, - AccountName: LPWSTR, - Flags: DWORD, - ) -> NTSTATUS; - pub fn NetEnumerateServiceAccounts( - ServerName: LPWSTR, - Flags: DWORD, - AccountsCount: *mut DWORD, - Accounts: *mut PZPWSTR, - ) -> NTSTATUS; - pub fn NetIsServiceAccount( - ServerName: LPWSTR, - AccountName: LPWSTR, - IsService: *mut BOOL, - ) -> NTSTATUS; - pub fn NetQueryServiceAccount( - ServerName: LPWSTR, - AccountName: LPWSTR, - InfoLevel: DWORD, - Buffer: *mut PBYTE, - ) -> NTSTATUS; -} -ENUM!{enum MSA_INFO_LEVEL { - MsaInfoLevel0 = 0, - MsaInfoLevelMax, -}} -pub type PMSA_INFO_LEVEL = *mut MSA_INFO_LEVEL; -ENUM!{enum MSA_INFO_STATE { - MsaInfoNotExist = 1, - MsaInfoNotService, - MsaInfoCannotInstall, - MsaInfoCanInstall, - MsaInfoInstalled, -}} -pub type PMSA_INFO_STATE = *mut MSA_INFO_STATE; -STRUCT!{struct MSA_INFO_0 { - State: MSA_INFO_STATE, -}} -pub type PMSA_INFO_0 = *mut MSA_INFO_0; -pub type LPMSA_INFO_0 = *mut MSA_INFO_0; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/lmalert.rs b/vendor/registry-40351f815f426200/winapi/src/um/lmalert.rs deleted file mode 100644 index e406d807c..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/lmalert.rs +++ /dev/null @@ -1,75 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This file contains structures for communication with the Alerter service -use shared::lmcons::{EVLEN, NET_API_STATUS, SNLEN}; -use shared::minwindef::{DWORD, LPVOID}; -use um::winnt::{LPCWSTR, WCHAR}; -extern "system" { - pub fn NetAlertRaise( - AlertType: LPCWSTR, - Buffer: LPVOID, - BufferSize: DWORD, - ) -> NET_API_STATUS; - pub fn NetAlertRaiseEx( - AlertType: LPCWSTR, - VariableInfo: LPVOID, - VariableInfoSize: DWORD, - ServiceName: LPCWSTR, - ) -> NET_API_STATUS; -} -STRUCT!{struct STD_ALERT { - alrt_timestamp: DWORD, - alrt_eventname: [WCHAR; EVLEN + 1], - alrt_servicename: [WCHAR; SNLEN + 1], -}} -pub type PSTD_ALERT = *mut STD_ALERT; -pub type LPSTD_ALERT = *mut STD_ALERT; -STRUCT!{struct ADMIN_OTHER_INFO { - alrtad_errcode: DWORD, - alrtad_numstrings: DWORD, -}} -pub type PADMIN_OTHER_INFO = *mut ADMIN_OTHER_INFO; -pub type LPADMIN_OTHER_INFO = *mut ADMIN_OTHER_INFO; -STRUCT!{struct ERRLOG_OTHER_INFO { - alrter_errcode: DWORD, - alrter_offset: DWORD, -}} -pub type PERRLOG_OTHER_INFO = *mut ERRLOG_OTHER_INFO; -pub type LPERRLOG_OTHER_INFO = *mut ERRLOG_OTHER_INFO; -STRUCT!{struct PRINT_OTHER_INFO { - alrtpr_jobid: DWORD, - alrtpr_status: DWORD, - alrtpr_submitted: DWORD, - alrtpr_size: DWORD, -}} -pub type PPRINT_OTHER_INFO = *mut PRINT_OTHER_INFO; -pub type LPPRINT_OTHER_INFO = *mut PRINT_OTHER_INFO; -STRUCT!{struct USER_OTHER_INFO { - alrtus_errcode: DWORD, - alrtus_numstrings: DWORD, -}} -pub type PUSER_OTHER_INFO = *mut USER_OTHER_INFO; -pub type LPUSER_OTHER_INFO = *mut USER_OTHER_INFO; -pub const ALERTER_MAILSLOT: &'static str = "\\\\.\\MAILSLOT\\Alerter"; -pub const ALERT_PRINT_EVENT: &'static str = "PRINTING"; -pub const ALERT_MESSAGE_EVENT: &'static str = "MESSAGE"; -pub const ALERT_ERRORLOG_EVENT: &'static str = "ERRORLOG"; -pub const ALERT_ADMIN_EVENT: &'static str = "ADMIN"; -pub const ALERT_USER_EVENT: &'static str = "USER"; -pub const PRJOB_QSTATUS: DWORD = 0x3; -pub const PRJOB_DEVSTATUS: DWORD = 0x1fc; -pub const PRJOB_COMPLETE: DWORD = 0x4; -pub const PRJOB_INTERV: DWORD = 0x8; -pub const PRJOB_ERROR: DWORD = 0x10; -pub const PRJOB_DESTOFFLINE: DWORD = 0x20; -pub const PRJOB_DESTPAUSED: DWORD = 0x40; -pub const PRJOB_NOTIFY: DWORD = 0x80; -pub const PRJOB_DESTNOPAPER: DWORD = 0x100; -pub const PRJOB_DELETED: DWORD = 0x8000; -pub const PRJOB_QS_QUEUED: DWORD = 0; -pub const PRJOB_QS_PAUSED: DWORD = 1; -pub const PRJOB_QS_SPOOLING: DWORD = 2; -pub const PRJOB_QS_PRINTING: DWORD = 3; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/lmapibuf.rs b/vendor/registry-40351f815f426200/winapi/src/um/lmapibuf.rs deleted file mode 100644 index 620a1319b..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/lmapibuf.rs +++ /dev/null @@ -1,30 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This file contains information about NetApiBuffer APIs -use shared::lmcons::NET_API_STATUS; -use shared::minwindef::{DWORD, LPDWORD, LPVOID}; -extern "system" { - pub fn NetApiBufferAllocate( - ByteCount: DWORD, - Buffer: *mut LPVOID, - ) -> NET_API_STATUS; - pub fn NetApiBufferFree( - Buffer: LPVOID, - ) -> NET_API_STATUS; - pub fn NetApiBufferReallocate( - OldBuffer: LPVOID, - NewByteCount: DWORD, - NewBuffer: *mut LPVOID, - ) -> NET_API_STATUS; - pub fn NetApiBufferSize( - Buffer: LPVOID, - ByteCount: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetapipBufferAllocate( - ByteCount: DWORD, - Buffer: *mut LPVOID, - ) -> NET_API_STATUS; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/lmat.rs b/vendor/registry-40351f815f426200/winapi/src/um/lmat.rs deleted file mode 100644 index 46742eb1b..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/lmat.rs +++ /dev/null @@ -1,62 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::DWORD_PTR; -use shared::lmcons::NET_API_STATUS; -use shared::minwindef::{DWORD, LPBYTE, LPDWORD, UCHAR}; -use um::winnt::{LPCWSTR, LPWSTR}; -pub const JOB_RUN_PERIODICALLY: UCHAR = 0x01; -pub const JOB_EXEC_ERROR: UCHAR = 0x02; -pub const JOB_RUNS_TODAY: UCHAR = 0x04; -pub const JOB_ADD_CURRENT_DATE: UCHAR = 0x08; -pub const JOB_NONINTERACTIVE: UCHAR = 0x10; -pub const JOB_INPUT_FLAGS: UCHAR = JOB_RUN_PERIODICALLY | JOB_ADD_CURRENT_DATE - | JOB_NONINTERACTIVE; -pub const JOB_OUTPUT_FLAGS: UCHAR = JOB_RUN_PERIODICALLY | JOB_EXEC_ERROR | JOB_RUNS_TODAY - | JOB_NONINTERACTIVE; -STRUCT!{struct AT_INFO { - JobTime: DWORD_PTR, - DaysOfMonth: DWORD, - DaysOfWeek: UCHAR, - Flags: UCHAR, - Command: LPWSTR, -}} -pub type PAT_INFO = *mut AT_INFO; -pub type LPAT_INFO = *mut AT_INFO; -STRUCT!{struct AT_ENUM { - JobId: DWORD, - JobTime: DWORD_PTR, - DaysOfMonth: DWORD, - DaysOfWeek: UCHAR, - Flags: UCHAR, - Command: LPWSTR, -}} -pub type PAT_ENUM = *mut AT_ENUM; -pub type LPAT_ENUM = *mut AT_ENUM; -extern "system" { - pub fn NetScheduleJobAdd( - Servername: LPCWSTR, - Buffer: LPBYTE, - JobId: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetScheduleJobDel( - Servername: LPCWSTR, - MinJobId: DWORD, - MaxJobId: DWORD, - ) -> NET_API_STATUS; - pub fn NetScheduleJobEnum( - Servername: LPCWSTR, - PointerToBuffer: *mut LPBYTE, - PointerToBuffer: DWORD, - EntriesRead: LPDWORD, - TotalEntries: LPDWORD, - ResumeHandle: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetScheduleJobGetInfo( - Servername: LPCWSTR, - JobId: DWORD, - PointerToBuffer: *mut LPBYTE, - ) -> NET_API_STATUS; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/lmdfs.rs b/vendor/registry-40351f815f426200/winapi/src/um/lmdfs.rs deleted file mode 100644 index a0be98b26..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/lmdfs.rs +++ /dev/null @@ -1,483 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -// This file contains structures, function prototypes, and definitions for the NetDfs API -use shared::guiddef::GUID; -use shared::lmcons::NET_API_STATUS; -use shared::minwindef::{DWORD, LPBYTE, LPDWORD, ULONG, USHORT}; -use um::winnt::{LPWSTR, PSECURITY_DESCRIPTOR, PWSTR, SECURITY_INFORMATION, ULONGLONG, WCHAR}; -pub const DFS_VOLUME_STATES: DWORD = 0xF; -pub const DFS_VOLUME_STATE_OK: DWORD = 1; -pub const DFS_VOLUME_STATE_INCONSISTENT: DWORD = 2; -pub const DFS_VOLUME_STATE_OFFLINE: DWORD = 3; -pub const DFS_VOLUME_STATE_ONLINE: DWORD = 4; -pub const DFS_VOLUME_STATE_RESYNCHRONIZE: DWORD = 0x10; -pub const DFS_VOLUME_STATE_STANDBY: DWORD = 0x20; -pub const DFS_VOLUME_STATE_FORCE_SYNC: DWORD = 0x40; -pub const DFS_VOLUME_FLAVORS: DWORD = 0x0300; -pub const DFS_VOLUME_FLAVOR_UNUSED1: DWORD = 0x0000; -pub const DFS_VOLUME_FLAVOR_STANDALONE: DWORD = 0x0100; -pub const DFS_VOLUME_FLAVOR_AD_BLOB: DWORD = 0x0200; -pub const DFS_STORAGE_FLAVOR_UNUSED2: DWORD = 0x0300; -pub const DFS_STORAGE_STATES: ULONG = 0xF; -pub const DFS_STORAGE_STATE_OFFLINE: ULONG = 1; -pub const DFS_STORAGE_STATE_ONLINE: ULONG = 2; -pub const DFS_STORAGE_STATE_ACTIVE: ULONG = 4; -ENUM!{enum DFS_TARGET_PRIORITY_CLASS { - DfsInvalidPriorityClass = -1i32 as u32, - DfsSiteCostNormalPriorityClass = 0, - DfsGlobalHighPriorityClass, - DfsSiteCostHighPriorityClass, - DfsSiteCostLowPriorityClass, - DfsGlobalLowPriorityClass, -}} -STRUCT!{struct DFS_TARGET_PRIORITY { - TargetPriorityClass: DFS_TARGET_PRIORITY_CLASS, - TargetPriorityRank: USHORT, - Reserved: USHORT, -}} -pub type PDFS_TARGET_PRIORITY = *mut DFS_TARGET_PRIORITY; -STRUCT!{struct DFS_INFO_1 { - EntryPath: LPWSTR, -}} -pub type PDFS_INFO_1 = *mut DFS_INFO_1; -pub type LPDFS_INFO_1 = *mut DFS_INFO_1; -#[cfg(target_pointer_width = "64")] -IFDEF!{ -STRUCT!{struct DFS_INFO_1_32 { - EntryPath: ULONG, -}} -pub type PDFS_INFO_1_32 = *mut DFS_INFO_1_32; -pub type LPDFS_INFO_1_32 = *mut DFS_INFO_1_32; -} -STRUCT!{struct DFS_INFO_2 { - EntryPath: LPWSTR, - Comment: LPWSTR, - State: DWORD, - NumberOfStorages: DWORD, -}} -pub type PDFS_INFO_2 = *mut DFS_INFO_2; -pub type LPDFS_INFO_2 = *mut DFS_INFO_2; -#[cfg(target_pointer_width = "64")] -IFDEF!{ -STRUCT!{struct DFS_INFO_2_32 { - EntryPath: ULONG, - Comment: ULONG, - State: DWORD, - NumberOfStorages: DWORD, -}} -pub type PDFS_INFO_2_32 = *mut DFS_INFO_2_32; -pub type LPDFS_INFO_2_32 = *mut DFS_INFO_2_32; -} -STRUCT!{struct DFS_STORAGE_INFO { - State: ULONG, - ServerName: LPWSTR, - ShareName: LPWSTR, -}} -pub type PDFS_STORAGE_INFO = *mut DFS_STORAGE_INFO; -pub type LPDFS_STORAGE_INFO = *mut DFS_STORAGE_INFO; -#[cfg(target_pointer_width = "64")] -IFDEF!{ -STRUCT!{struct DFS_STORAGE_INFO_0_32 { - State: ULONG, - ServerName: ULONG, - ShareName: ULONG, -}} -pub type PDFS_STORAGE_INFO_0_32 = *mut DFS_STORAGE_INFO_0_32; -pub type LPDFS_STORAGE_INFO_0_32 = *mut DFS_STORAGE_INFO_0_32; -} -STRUCT!{struct DFS_STORAGE_INFO_1 { - State: ULONG, - ServerName: LPWSTR, - ShareName: LPWSTR, - TargetPriority: DFS_TARGET_PRIORITY, -}} -pub type PDFS_STORAGE_INFO_1 = *mut DFS_STORAGE_INFO_1; -pub type LPDFS_STORAGE_INFO_1 = *mut DFS_STORAGE_INFO_1; -STRUCT!{struct DFS_INFO_3 { - EntryPath: LPWSTR, - Comment: LPWSTR, - State: DWORD, - NumberOfStorages: DWORD, - Storage: LPDFS_STORAGE_INFO, -}} -pub type PDFS_INFO_3 = *mut DFS_INFO_3; -pub type LPDFS_INFO_3 = *mut DFS_INFO_3; -#[cfg(target_pointer_width = "64")] -IFDEF!{ -STRUCT!{struct DFS_INFO_3_32 { - EntryPath: ULONG, - Comment: ULONG, - State: DWORD, - NumberOfStorages: DWORD, - Storage: ULONG, -}} -pub type PDFS_INFO_3_32 = *mut DFS_INFO_3_32; -pub type LPDFS_INFO_3_32 = *mut DFS_INFO_3_32; -} -STRUCT!{struct DFS_INFO_4 { - EntryPath: LPWSTR, - Comment: LPWSTR, - State: DWORD, - Timeout: ULONG, - Guid: GUID, - NumberOfStorages: DWORD, - Storage: LPDFS_STORAGE_INFO, -}} -pub type PDFS_INFO_4 = *mut DFS_INFO_4; -pub type LPDFS_INFO_4 = *mut DFS_INFO_4; -#[cfg(target_pointer_width = "64")] -IFDEF!{ -STRUCT!{struct DFS_INFO_4_32 { - EntryPath: ULONG, - Comment: ULONG, - State: DWORD, - Timeout: ULONG, - Guid: GUID, - NumberOfStorages: DWORD, - Storage: ULONG, -}} -pub type PDFS_INFO_4_32 = *mut DFS_INFO_4_32; -pub type LPDFS_INFO_4_32 = *mut DFS_INFO_4_32; -} -STRUCT!{struct DFS_INFO_5 { - EntryPath: LPWSTR, - Comment: LPWSTR, - State: DWORD, - Timeout: ULONG, - Guid: GUID, - PropertyFlags: ULONG, - MetadataSize: ULONG, - NumberOfStorages: DWORD, -}} -pub type PDFS_INFO_5 = *mut DFS_INFO_5; -pub type LPDFS_INFO_5 = *mut DFS_INFO_5; -STRUCT!{struct DFS_INFO_6 { - EntryPath: LPWSTR, - Comment: LPWSTR, - State: DWORD, - Timeout: ULONG, - Guid: GUID, - PropertyFlags: ULONG, - MetadataSize: ULONG, - NumberOfStorages: DWORD, - Storage: LPDFS_STORAGE_INFO, -}} -pub type PDFS_INFO_6 = *mut DFS_INFO_6; -pub type LPDFS_INFO_6 = *mut DFS_INFO_6; -STRUCT!{struct DFS_INFO_7 { - GenerationGuid: GUID, -}} -pub type PDFS_INFO_7 = *mut DFS_INFO_7; -pub type LPDFS_INFO_7 = *mut DFS_INFO_7; -STRUCT!{struct DFS_INFO_8 { - EntryPath: LPWSTR, - Comment: LPWSTR, - State: DWORD, - Timeout: ULONG, - Guid: GUID, - PropertyFlags: ULONG, - MetadataSize: ULONG, - SdLengthReserved: ULONG, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - NumberOfStorages: DWORD, -}} -pub type PDFS_INFO_8 = *mut DFS_INFO_8; -pub type LPDFS_INFO_8 = *mut DFS_INFO_8; -STRUCT!{struct DFS_INFO_9 { - EntryPath: LPWSTR, - Comment: LPWSTR, - State: DWORD, - Timeout: ULONG, - Guid: GUID, - PropertyFlags: ULONG, - MetadataSize: ULONG, - SdLengthReserved: ULONG, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - NumberOfStorages: DWORD, - Storage: LPDFS_STORAGE_INFO, -}} -pub type PDFS_INFO_9 = *mut DFS_INFO_9; -pub type LPDFS_INFO_9 = *mut DFS_INFO_9; -pub const DFS_VALID_PROPERTY_FLAGS: ULONG = DFS_PROPERTY_FLAG_INSITE_REFERRALS - | DFS_PROPERTY_FLAG_ROOT_SCALABILITY | DFS_PROPERTY_FLAG_SITE_COSTING - | DFS_PROPERTY_FLAG_TARGET_FAILBACK | DFS_PROPERTY_FLAG_CLUSTER_ENABLED - | DFS_PROPERTY_FLAG_ABDE; -pub const DFS_PROPERTY_FLAG_INSITE_REFERRALS: ULONG = 0x00000001; -pub const DFS_PROPERTY_FLAG_ROOT_SCALABILITY: ULONG = 0x00000002; -pub const DFS_PROPERTY_FLAG_SITE_COSTING: ULONG = 0x00000004; -pub const DFS_PROPERTY_FLAG_TARGET_FAILBACK: ULONG = 0x00000008; -pub const DFS_PROPERTY_FLAG_CLUSTER_ENABLED: ULONG = 0x00000010; -pub const DFS_PROPERTY_FLAG_ABDE: ULONG = 0x00000020; -STRUCT!{struct DFS_INFO_50 { - NamespaceMajorVersion: ULONG, - NamespaceMinorVersion: ULONG, - NamespaceCapabilities: ULONGLONG, -}} -pub type PDFS_INFO_50 = *mut DFS_INFO_50; -pub type LPDFS_INFO_50 = *mut DFS_INFO_50; -STRUCT!{struct DFS_INFO_100 { - Comment: LPWSTR, -}} -pub type PDFS_INFO_100 = *mut DFS_INFO_100; -pub type LPDFS_INFO_100 = *mut DFS_INFO_100; -STRUCT!{struct DFS_INFO_101 { - State: DWORD, -}} -pub type PDFS_INFO_101 = *mut DFS_INFO_101; -pub type LPDFS_INFO_101 = *mut DFS_INFO_101; -STRUCT!{struct DFS_INFO_102 { - Timeout: ULONG, -}} -pub type PDFS_INFO_102 = *mut DFS_INFO_102; -pub type LPDFS_INFO_102 = *mut DFS_INFO_102; -STRUCT!{struct DFS_INFO_103 { - PropertyFlagMask: ULONG, - PropertyFlags: ULONG, -}} -pub type PDFS_INFO_103 = *mut DFS_INFO_103; -pub type LPDFS_INFO_103 = *mut DFS_INFO_103; -STRUCT!{struct DFS_INFO_104 { - TargetPriority: DFS_TARGET_PRIORITY, -}} -pub type PDFS_INFO_104 = *mut DFS_INFO_104; -pub type LPDFS_INFO_104 = *mut DFS_INFO_104; -STRUCT!{struct DFS_INFO_105 { - Comment: LPWSTR, - State: DWORD, - Timeout: ULONG, - PropertyFlagMask: ULONG, - PropertyFlags: ULONG, -}} -pub type PDFS_INFO_105 = *mut DFS_INFO_105; -pub type LPDFS_INFO_105 = *mut DFS_INFO_105; -STRUCT!{struct DFS_INFO_106 { - State: DWORD, - TargetPriority: DFS_TARGET_PRIORITY, -}} -pub type PDFS_INFO_106 = *mut DFS_INFO_106; -pub type LPDFS_INFO_106 = *mut DFS_INFO_106; -STRUCT!{struct DFS_INFO_107 { - Comment: LPWSTR, - State: DWORD, - Timeout: ULONG, - PropertyFlagMask: ULONG, - PropertyFlags: ULONG, - SdLengthReserved: ULONG, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, -}} -pub type PDFS_INFO_107 = *mut DFS_INFO_107; -pub type LPDFS_INFO_107 = *mut DFS_INFO_107; -STRUCT!{struct DFS_INFO_150 { - SdLengthReserved: ULONG, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, -}} -pub type PDFS_INFO_150 = *mut DFS_INFO_150; -pub type LPDFS_INFO_150 = *mut DFS_INFO_150; -STRUCT!{struct DFS_INFO_200 { - FtDfsName: LPWSTR, -}} -pub type PDFS_INFO_200 = *mut DFS_INFO_200; -pub type LPDFS_INFO_200 = *mut DFS_INFO_200; -STRUCT!{struct DFS_INFO_300 { - Flags: DWORD, - DfsName: LPWSTR, -}} -pub type PDFS_INFO_300 = *mut DFS_INFO_300; -pub type LPDFS_INFO_300 = *mut DFS_INFO_300; -extern "system" { - pub fn NetDfsAdd( - DfsEntryPath: LPWSTR, - ServerName: LPWSTR, - ShareName: LPWSTR, - Comment: LPWSTR, - Flags: DWORD, - ) -> NET_API_STATUS; -} -pub const DFS_ADD_VOLUME: DWORD = 1; -pub const DFS_RESTORE_VOLUME: DWORD = 2; -extern "system" { - pub fn NetDfsAddStdRoot( - ServerName: LPWSTR, - RootShare: LPWSTR, - Comment: LPWSTR, - Flags: DWORD, - ) -> NET_API_STATUS; - pub fn NetDfsRemoveStdRoot( - ServerName: LPWSTR, - RootShare: LPWSTR, - Flags: DWORD, - ) -> NET_API_STATUS; - pub fn NetDfsAddFtRoot( - ServerName: LPWSTR, - RootShare: LPWSTR, - FtDfsName: LPWSTR, - Comment: LPWSTR, - Flags: DWORD, - ) -> NET_API_STATUS; - pub fn NetDfsRemoveFtRoot( - ServerName: LPWSTR, - RootShare: LPWSTR, - FtDfsName: LPWSTR, - Flags: DWORD, - ) -> NET_API_STATUS; - pub fn NetDfsRemoveFtRootForced( - DomainName: LPWSTR, - ServerName: LPWSTR, - RootShare: LPWSTR, - FtDfsName: LPWSTR, - Flags: DWORD, - ) -> NET_API_STATUS; -} -pub const NET_DFS_SETDC_FLAGS: DWORD = 0x00000000; -pub const NET_DFS_SETDC_TIMEOUT: DWORD = 0x00000001; -pub const NET_DFS_SETDC_INITPKT: DWORD = 0x00000002; -STRUCT!{struct DFS_SITENAME_INFO { - SiteFlags: ULONG, - SiteName: LPWSTR, -}} -pub type PDFS_SITENAME_INFO = *mut DFS_SITENAME_INFO; -pub type LPDFS_SITENAME_INFO = *mut DFS_SITENAME_INFO; -pub const DFS_SITE_PRIMARY: ULONG = 0x1; -STRUCT!{struct DFS_SITELIST_INFO { - cSites: ULONG, - Site: [DFS_SITENAME_INFO; 1], -}} -pub type PDFS_SITELIST_INFO = *mut DFS_SITELIST_INFO; -pub type LPDFS_SITELIST_INFO = *mut DFS_SITELIST_INFO; -extern "system" { - pub fn NetDfsRemove( - DfsEntryPath: LPWSTR, - ServerName: LPWSTR, - ShareName: LPWSTR, - ) -> NET_API_STATUS; - pub fn NetDfsEnum( - DfsName: LPWSTR, - Level: DWORD, - PrefMaxLen: DWORD, - Buffer: *mut LPBYTE, - EntriesRead: LPDWORD, - ResumeHandle: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetDfsGetInfo( - DfsEntryPath: LPWSTR, - ServerName: LPWSTR, - ShareName: LPWSTR, - Level: DWORD, - Buffer: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn NetDfsSetInfo( - DfsEntryPath: LPWSTR, - ServerName: LPWSTR, - ShareName: LPWSTR, - Level: DWORD, - Buffer: LPBYTE, - ) -> NET_API_STATUS; - pub fn NetDfsGetClientInfo( - DfsEntryPath: LPWSTR, - ServerName: LPWSTR, - ShareName: LPWSTR, - Level: DWORD, - Buffer: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn NetDfsSetClientInfo( - DfsEntryPath: LPWSTR, - ServerName: LPWSTR, - ShareName: LPWSTR, - Level: DWORD, - Buffer: LPBYTE, - ) -> NET_API_STATUS; - pub fn NetDfsMove( - OldDfsEntryPath: LPWSTR, - NewDfsEntryPath: LPWSTR, - Flags: ULONG, - ) -> NET_API_STATUS; -} -pub const DFS_MOVE_FLAG_REPLACE_IF_EXISTS: ULONG = 0x00000001; -extern "system" { - pub fn NetDfsRename( - Path: LPWSTR, - NewPath: LPWSTR, - ) -> NET_API_STATUS; - pub fn NetDfsAddRootTarget( - pDfsPath: LPWSTR, - pTargetPath: LPWSTR, - MajorVersion: ULONG, - pComment: LPWSTR, - Flags: ULONG, - ) -> NET_API_STATUS; -} -pub const DFS_FORCE_REMOVE: ULONG = 0x80000000; -extern "system" { - pub fn NetDfsRemoveRootTarget( - pDfsPath: LPWSTR, - pTargetPath: LPWSTR, - Flags: DWORD, - ) -> NET_API_STATUS; - pub fn NetDfsGetSecurity( - DfsEntryPath: LPWSTR, - SecurityInformation: SECURITY_INFORMATION, - ppSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, - lpcbSecurityDescriptor: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetDfsSetSecurity( - DfsEntryPath: LPWSTR, - SecurityInformation: SECURITY_INFORMATION, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - ) -> NET_API_STATUS; - pub fn NetDfsGetStdContainerSecurity( - MachineName: LPWSTR, - SecurityInformation: SECURITY_INFORMATION, - ppSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, - lpcbSecurityDescriptor: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetDfsSetStdContainerSecurity( - MachineName: LPWSTR, - SecurityInformation: SECURITY_INFORMATION, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - ) -> NET_API_STATUS; - pub fn NetDfsGetFtContainerSecurity( - DomainName: LPWSTR, - SecurityInformation: SECURITY_INFORMATION, - ppSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, - lpcbSecurityDescriptor: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetDfsSetFtContainerSecurity( - DomainName: LPWSTR, - SecurityInformation: SECURITY_INFORMATION, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - ) -> NET_API_STATUS; -} -ENUM!{enum DFS_NAMESPACE_VERSION_ORIGIN { - DFS_NAMESPACE_VERSION_ORIGIN_COMBINED = 0, - DFS_NAMESPACE_VERSION_ORIGIN_SERVER, - DFS_NAMESPACE_VERSION_ORIGIN_DOMAIN, -}} -pub type PDFS_NAMESPACE_VERSION_ORIGIN = *mut DFS_NAMESPACE_VERSION_ORIGIN; -pub const DFS_NAMESPACE_CAPABILITY_ABDE: ULONGLONG = 0x0000000000000001; -STRUCT!{struct DFS_SUPPORTED_NAMESPACE_VERSION_INFO { - DomainDfsMajorVersion: ULONG, - DomainDfsMinorVersion: ULONG, - DomainDfsCapabilities: ULONGLONG, - StandaloneDfsMajorVersion: ULONG, - StandaloneDfsMinorVersion: ULONG, - StandaloneDfsCapabilities: ULONGLONG, -}} -pub type PDFS_SUPPORTED_NAMESPACE_VERSION_INFO = *mut DFS_SUPPORTED_NAMESPACE_VERSION_INFO; -extern "system" { - pub fn NetDfsGetSupportedNamespaceVersion( - Origin: DFS_NAMESPACE_VERSION_ORIGIN, - pName: PWSTR, - ppVersionInfo: *mut PDFS_SUPPORTED_NAMESPACE_VERSION_INFO, - ) -> NET_API_STATUS; -} -STRUCT!{struct DFS_GET_PKT_ENTRY_STATE_ARG { - DfsEntryPathLen: USHORT, - ServerNameLen: USHORT, - ShareNameLen: USHORT, - Level: ULONG, - Buffer: [WCHAR; 1], -}} -pub type PDFS_GET_PKT_ENTRY_STATE_ARG = *mut DFS_GET_PKT_ENTRY_STATE_ARG; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/lmerrlog.rs b/vendor/registry-40351f815f426200/winapi/src/um/lmerrlog.rs deleted file mode 100644 index 8a07f731c..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/lmerrlog.rs +++ /dev/null @@ -1,268 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::{DWORD, LPBYTE}; -use um::winnt::LPWSTR; -STRUCT!{struct ERROR_LOG { - el_len: DWORD, - el_reserved: DWORD, - el_time: DWORD, - el_error: DWORD, - el_name: LPWSTR, - el_text: LPWSTR, - el_data: LPBYTE, - el_data_size: DWORD, - el_nstrings: DWORD, -}} -pub type PERROR_LOG = *mut ERROR_LOG; -pub type LPERROR_LOG = *mut ERROR_LOG; -STRUCT!{struct HLOG { - time: DWORD, - last_flags: DWORD, - offset: DWORD, - rec_offset: DWORD, -}} -pub type PHLOG = *mut HLOG; -pub type LPHLOG = *mut HLOG; -pub const LOGFLAGS_FORWARD: DWORD = 0; -pub const LOGFLAGS_BACKWARD: DWORD = 0x1; -pub const LOGFLAGS_SEEK: DWORD = 0x2; -pub const ERRLOG_BASE: DWORD = 3100; -pub const NELOG_Internal_Error: DWORD = ERRLOG_BASE + 0; -pub const NELOG_Resource_Shortage: DWORD = ERRLOG_BASE + 1; -pub const NELOG_Unable_To_Lock_Segment: DWORD = ERRLOG_BASE + 2; -pub const NELOG_Unable_To_Unlock_Segment: DWORD = ERRLOG_BASE + 3; -pub const NELOG_Uninstall_Service: DWORD = ERRLOG_BASE + 4; -pub const NELOG_Init_Exec_Fail: DWORD = ERRLOG_BASE + 5; -pub const NELOG_Ncb_Error: DWORD = ERRLOG_BASE + 6; -pub const NELOG_Net_Not_Started: DWORD = ERRLOG_BASE + 7; -pub const NELOG_Ioctl_Error: DWORD = ERRLOG_BASE + 8; -pub const NELOG_System_Semaphore: DWORD = ERRLOG_BASE + 9; -pub const NELOG_Init_OpenCreate_Err: DWORD = ERRLOG_BASE + 10; -pub const NELOG_NetBios: DWORD = ERRLOG_BASE + 11; -pub const NELOG_SMB_Illegal: DWORD = ERRLOG_BASE + 12; -pub const NELOG_Service_Fail: DWORD = ERRLOG_BASE + 13; -pub const NELOG_Entries_Lost: DWORD = ERRLOG_BASE + 14; -pub const NELOG_Init_Seg_Overflow: DWORD = ERRLOG_BASE + 20; -pub const NELOG_Srv_No_Mem_Grow: DWORD = ERRLOG_BASE + 21; -pub const NELOG_Access_File_Bad: DWORD = ERRLOG_BASE + 22; -pub const NELOG_Srvnet_Not_Started: DWORD = ERRLOG_BASE + 23; -pub const NELOG_Init_Chardev_Err: DWORD = ERRLOG_BASE + 24; -pub const NELOG_Remote_API: DWORD = ERRLOG_BASE + 25; -pub const NELOG_Ncb_TooManyErr: DWORD = ERRLOG_BASE + 26; -pub const NELOG_Mailslot_err: DWORD = ERRLOG_BASE + 27; -pub const NELOG_ReleaseMem_Alert: DWORD = ERRLOG_BASE + 28; -pub const NELOG_AT_cannot_write: DWORD = ERRLOG_BASE + 29; -pub const NELOG_Cant_Make_Msg_File: DWORD = ERRLOG_BASE + 30; -pub const NELOG_Exec_Netservr_NoMem: DWORD = ERRLOG_BASE + 31; -pub const NELOG_Server_Lock_Failure: DWORD = ERRLOG_BASE + 32; -pub const NELOG_Msg_Shutdown: DWORD = ERRLOG_BASE + 40; -pub const NELOG_Msg_Sem_Shutdown: DWORD = ERRLOG_BASE + 41; -pub const NELOG_Msg_Log_Err: DWORD = ERRLOG_BASE + 50; -pub const NELOG_VIO_POPUP_ERR: DWORD = ERRLOG_BASE + 51; -pub const NELOG_Msg_Unexpected_SMB_Type: DWORD = ERRLOG_BASE + 52; -pub const NELOG_Wksta_Infoseg: DWORD = ERRLOG_BASE + 60; -pub const NELOG_Wksta_Compname: DWORD = ERRLOG_BASE + 61; -pub const NELOG_Wksta_BiosThreadFailure: DWORD = ERRLOG_BASE + 62; -pub const NELOG_Wksta_IniSeg: DWORD = ERRLOG_BASE + 63; -pub const NELOG_Wksta_HostTab_Full: DWORD = ERRLOG_BASE + 64; -pub const NELOG_Wksta_Bad_Mailslot_SMB: DWORD = ERRLOG_BASE + 65; -pub const NELOG_Wksta_UASInit: DWORD = ERRLOG_BASE + 66; -pub const NELOG_Wksta_SSIRelogon: DWORD = ERRLOG_BASE + 67; -pub const NELOG_Build_Name: DWORD = ERRLOG_BASE + 70; -pub const NELOG_Name_Expansion: DWORD = ERRLOG_BASE + 71; -pub const NELOG_Message_Send: DWORD = ERRLOG_BASE + 72; -pub const NELOG_Mail_Slt_Err: DWORD = ERRLOG_BASE + 73; -pub const NELOG_AT_cannot_read: DWORD = ERRLOG_BASE + 74; -pub const NELOG_AT_sched_err: DWORD = ERRLOG_BASE + 75; -pub const NELOG_AT_schedule_file_created: DWORD = ERRLOG_BASE + 76; -pub const NELOG_Srvnet_NB_Open: DWORD = ERRLOG_BASE + 77; -pub const NELOG_AT_Exec_Err: DWORD = ERRLOG_BASE + 78; -pub const NELOG_Lazy_Write_Err: DWORD = ERRLOG_BASE + 80; -pub const NELOG_HotFix: DWORD = ERRLOG_BASE + 81; -pub const NELOG_HardErr_From_Server: DWORD = ERRLOG_BASE + 82; -pub const NELOG_LocalSecFail1: DWORD = ERRLOG_BASE + 83; -pub const NELOG_LocalSecFail2: DWORD = ERRLOG_BASE + 84; -pub const NELOG_LocalSecFail3: DWORD = ERRLOG_BASE + 85; -pub const NELOG_LocalSecGeneralFail: DWORD = ERRLOG_BASE + 86; -pub const NELOG_NetWkSta_Internal_Error: DWORD = ERRLOG_BASE + 90; -pub const NELOG_NetWkSta_No_Resource: DWORD = ERRLOG_BASE + 91; -pub const NELOG_NetWkSta_SMB_Err: DWORD = ERRLOG_BASE + 92; -pub const NELOG_NetWkSta_VC_Err: DWORD = ERRLOG_BASE + 93; -pub const NELOG_NetWkSta_Stuck_VC_Err: DWORD = ERRLOG_BASE + 94; -pub const NELOG_NetWkSta_NCB_Err: DWORD = ERRLOG_BASE + 95; -pub const NELOG_NetWkSta_Write_Behind_Err: DWORD = ERRLOG_BASE + 96; -pub const NELOG_NetWkSta_Reset_Err: DWORD = ERRLOG_BASE + 97; -pub const NELOG_NetWkSta_Too_Many: DWORD = ERRLOG_BASE + 98; -pub const NELOG_Srv_Thread_Failure: DWORD = ERRLOG_BASE + 104; -pub const NELOG_Srv_Close_Failure: DWORD = ERRLOG_BASE + 105; -pub const NELOG_ReplUserCurDir: DWORD = ERRLOG_BASE + 106; -pub const NELOG_ReplCannotMasterDir: DWORD = ERRLOG_BASE + 107; -pub const NELOG_ReplUpdateError: DWORD = ERRLOG_BASE + 108; -pub const NELOG_ReplLostMaster: DWORD = ERRLOG_BASE + 109; -pub const NELOG_NetlogonAuthDCFail: DWORD = ERRLOG_BASE + 110; -pub const NELOG_ReplLogonFailed: DWORD = ERRLOG_BASE + 111; -pub const NELOG_ReplNetErr: DWORD = ERRLOG_BASE + 112; -pub const NELOG_ReplMaxFiles: DWORD = ERRLOG_BASE + 113; -pub const NELOG_ReplMaxTreeDepth: DWORD = ERRLOG_BASE + 114; -pub const NELOG_ReplBadMsg: DWORD = ERRLOG_BASE + 115; -pub const NELOG_ReplSysErr: DWORD = ERRLOG_BASE + 116; -pub const NELOG_ReplUserLoged: DWORD = ERRLOG_BASE + 117; -pub const NELOG_ReplBadImport: DWORD = ERRLOG_BASE + 118; -pub const NELOG_ReplBadExport: DWORD = ERRLOG_BASE + 119; -pub const NELOG_ReplSignalFileErr: DWORD = ERRLOG_BASE + 120; -pub const NELOG_DiskFT: DWORD = ERRLOG_BASE + 121; -pub const NELOG_ReplAccessDenied: DWORD = ERRLOG_BASE + 122; -pub const NELOG_NetlogonFailedPrimary: DWORD = ERRLOG_BASE + 123; -pub const NELOG_NetlogonPasswdSetFailed: DWORD = ERRLOG_BASE + 124; -pub const NELOG_NetlogonTrackingError: DWORD = ERRLOG_BASE + 125; -pub const NELOG_NetlogonSyncError: DWORD = ERRLOG_BASE + 126; -pub const NELOG_NetlogonRequireSignOrSealError: DWORD = ERRLOG_BASE + 127; -pub const NELOG_UPS_PowerOut: DWORD = ERRLOG_BASE + 130; -pub const NELOG_UPS_Shutdown: DWORD = ERRLOG_BASE + 131; -pub const NELOG_UPS_CmdFileError: DWORD = ERRLOG_BASE + 132; -pub const NELOG_UPS_CannotOpenDriver: DWORD = ERRLOG_BASE + 133; -pub const NELOG_UPS_PowerBack: DWORD = ERRLOG_BASE + 134; -pub const NELOG_UPS_CmdFileConfig: DWORD = ERRLOG_BASE + 135; -pub const NELOG_UPS_CmdFileExec: DWORD = ERRLOG_BASE + 136; -pub const NELOG_Missing_Parameter: DWORD = ERRLOG_BASE + 150; -pub const NELOG_Invalid_Config_Line: DWORD = ERRLOG_BASE + 151; -pub const NELOG_Invalid_Config_File: DWORD = ERRLOG_BASE + 152; -pub const NELOG_File_Changed: DWORD = ERRLOG_BASE + 153; -pub const NELOG_Files_Dont_Fit: DWORD = ERRLOG_BASE + 154; -pub const NELOG_Wrong_DLL_Version: DWORD = ERRLOG_BASE + 155; -pub const NELOG_Error_in_DLL: DWORD = ERRLOG_BASE + 156; -pub const NELOG_System_Error: DWORD = ERRLOG_BASE + 157; -pub const NELOG_FT_ErrLog_Too_Large: DWORD = ERRLOG_BASE + 158; -pub const NELOG_FT_Update_In_Progress: DWORD = ERRLOG_BASE + 159; -pub const NELOG_Joined_Domain: DWORD = ERRLOG_BASE + 160; -pub const NELOG_Joined_Workgroup: DWORD = ERRLOG_BASE + 161; -pub const NELOG_OEM_Code: DWORD = ERRLOG_BASE + 199; -pub const ERRLOG2_BASE: DWORD = 5700; -pub const NELOG_NetlogonSSIInitError: DWORD = ERRLOG2_BASE + 0; -pub const NELOG_NetlogonFailedToUpdateTrustList: DWORD = ERRLOG2_BASE + 1; -pub const NELOG_NetlogonFailedToAddRpcInterface: DWORD = ERRLOG2_BASE + 2; -pub const NELOG_NetlogonFailedToReadMailslot: DWORD = ERRLOG2_BASE + 3; -pub const NELOG_NetlogonFailedToRegisterSC: DWORD = ERRLOG2_BASE + 4; -pub const NELOG_NetlogonChangeLogCorrupt: DWORD = ERRLOG2_BASE + 5; -pub const NELOG_NetlogonFailedToCreateShare: DWORD = ERRLOG2_BASE + 6; -pub const NELOG_NetlogonDownLevelLogonFailed: DWORD = ERRLOG2_BASE + 7; -pub const NELOG_NetlogonDownLevelLogoffFailed: DWORD = ERRLOG2_BASE + 8; -pub const NELOG_NetlogonNTLogonFailed: DWORD = ERRLOG2_BASE + 9; -pub const NELOG_NetlogonNTLogoffFailed: DWORD = ERRLOG2_BASE + 10; -pub const NELOG_NetlogonPartialSyncCallSuccess: DWORD = ERRLOG2_BASE + 11; -pub const NELOG_NetlogonPartialSyncCallFailed: DWORD = ERRLOG2_BASE + 12; -pub const NELOG_NetlogonFullSyncCallSuccess: DWORD = ERRLOG2_BASE + 13; -pub const NELOG_NetlogonFullSyncCallFailed: DWORD = ERRLOG2_BASE + 14; -pub const NELOG_NetlogonPartialSyncSuccess: DWORD = ERRLOG2_BASE + 15; -pub const NELOG_NetlogonPartialSyncFailed: DWORD = ERRLOG2_BASE + 16; -pub const NELOG_NetlogonFullSyncSuccess: DWORD = ERRLOG2_BASE + 17; -pub const NELOG_NetlogonFullSyncFailed: DWORD = ERRLOG2_BASE + 18; -pub const NELOG_NetlogonAuthNoDomainController: DWORD = ERRLOG2_BASE + 19; -pub const NELOG_NetlogonAuthNoTrustLsaSecret: DWORD = ERRLOG2_BASE + 20; -pub const NELOG_NetlogonAuthNoTrustSamAccount: DWORD = ERRLOG2_BASE + 21; -pub const NELOG_NetlogonServerAuthFailed: DWORD = ERRLOG2_BASE + 22; -pub const NELOG_NetlogonServerAuthNoTrustSamAccount: DWORD = ERRLOG2_BASE + 23; -pub const NELOG_FailedToRegisterSC: DWORD = ERRLOG2_BASE + 24; -pub const NELOG_FailedToSetServiceStatus: DWORD = ERRLOG2_BASE + 25; -pub const NELOG_FailedToGetComputerName: DWORD = ERRLOG2_BASE + 26; -pub const NELOG_DriverNotLoaded: DWORD = ERRLOG2_BASE + 27; -pub const NELOG_NoTranportLoaded: DWORD = ERRLOG2_BASE + 28; -pub const NELOG_NetlogonFailedDomainDelta: DWORD = ERRLOG2_BASE + 29; -pub const NELOG_NetlogonFailedGlobalGroupDelta: DWORD = ERRLOG2_BASE + 30; -pub const NELOG_NetlogonFailedLocalGroupDelta: DWORD = ERRLOG2_BASE + 31; -pub const NELOG_NetlogonFailedUserDelta: DWORD = ERRLOG2_BASE + 32; -pub const NELOG_NetlogonFailedPolicyDelta: DWORD = ERRLOG2_BASE + 33; -pub const NELOG_NetlogonFailedTrustedDomainDelta: DWORD = ERRLOG2_BASE + 34; -pub const NELOG_NetlogonFailedAccountDelta: DWORD = ERRLOG2_BASE + 35; -pub const NELOG_NetlogonFailedSecretDelta: DWORD = ERRLOG2_BASE + 36; -pub const NELOG_NetlogonSystemError: DWORD = ERRLOG2_BASE + 37; -pub const NELOG_NetlogonDuplicateMachineAccounts: DWORD = ERRLOG2_BASE + 38; -pub const NELOG_NetlogonTooManyGlobalGroups: DWORD = ERRLOG2_BASE + 39; -pub const NELOG_NetlogonBrowserDriver: DWORD = ERRLOG2_BASE + 40; -pub const NELOG_NetlogonAddNameFailure: DWORD = ERRLOG2_BASE + 41; -pub const NELOG_RplMessages: DWORD = ERRLOG2_BASE + 42; -pub const NELOG_RplXnsBoot: DWORD = ERRLOG2_BASE + 43; -pub const NELOG_RplSystem: DWORD = ERRLOG2_BASE + 44; -pub const NELOG_RplWkstaTimeout: DWORD = ERRLOG2_BASE + 45; -pub const NELOG_RplWkstaFileOpen: DWORD = ERRLOG2_BASE + 46; -pub const NELOG_RplWkstaFileRead: DWORD = ERRLOG2_BASE + 47; -pub const NELOG_RplWkstaMemory: DWORD = ERRLOG2_BASE + 48; -pub const NELOG_RplWkstaFileChecksum: DWORD = ERRLOG2_BASE + 49; -pub const NELOG_RplWkstaFileLineCount: DWORD = ERRLOG2_BASE + 50; -pub const NELOG_RplWkstaBbcFile: DWORD = ERRLOG2_BASE + 51; -pub const NELOG_RplWkstaFileSize: DWORD = ERRLOG2_BASE + 52; -pub const NELOG_RplWkstaInternal: DWORD = ERRLOG2_BASE + 53; -pub const NELOG_RplWkstaWrongVersion: DWORD = ERRLOG2_BASE + 54; -pub const NELOG_RplWkstaNetwork: DWORD = ERRLOG2_BASE + 55; -pub const NELOG_RplAdapterResource: DWORD = ERRLOG2_BASE + 56; -pub const NELOG_RplFileCopy: DWORD = ERRLOG2_BASE + 57; -pub const NELOG_RplFileDelete: DWORD = ERRLOG2_BASE + 58; -pub const NELOG_RplFilePerms: DWORD = ERRLOG2_BASE + 59; -pub const NELOG_RplCheckConfigs: DWORD = ERRLOG2_BASE + 60; -pub const NELOG_RplCreateProfiles: DWORD = ERRLOG2_BASE + 61; -pub const NELOG_RplRegistry: DWORD = ERRLOG2_BASE + 62; -pub const NELOG_RplReplaceRPLDISK: DWORD = ERRLOG2_BASE + 63; -pub const NELOG_RplCheckSecurity: DWORD = ERRLOG2_BASE + 64; -pub const NELOG_RplBackupDatabase: DWORD = ERRLOG2_BASE + 65; -pub const NELOG_RplInitDatabase: DWORD = ERRLOG2_BASE + 66; -pub const NELOG_RplRestoreDatabaseFailure: DWORD = ERRLOG2_BASE + 67; -pub const NELOG_RplRestoreDatabaseSuccess: DWORD = ERRLOG2_BASE + 68; -pub const NELOG_RplInitRestoredDatabase: DWORD = ERRLOG2_BASE + 69; -pub const NELOG_NetlogonSessionTypeWrong: DWORD = ERRLOG2_BASE + 70; -pub const NELOG_RplUpgradeDBTo40: DWORD = ERRLOG2_BASE + 71; -pub const NELOG_NetlogonLanmanBdcsNotAllowed: DWORD = ERRLOG2_BASE + 72; -pub const NELOG_NetlogonNoDynamicDns: DWORD = ERRLOG2_BASE + 73; -pub const NELOG_NetlogonDynamicDnsRegisterFailure: DWORD = ERRLOG2_BASE + 74; -pub const NELOG_NetlogonDynamicDnsDeregisterFailure: DWORD = ERRLOG2_BASE + 75; -pub const NELOG_NetlogonFailedFileCreate: DWORD = ERRLOG2_BASE + 76; -pub const NELOG_NetlogonGetSubnetToSite: DWORD = ERRLOG2_BASE + 77; -pub const NELOG_NetlogonNoSiteForClient: DWORD = ERRLOG2_BASE + 78; -pub const NELOG_NetlogonBadSiteName: DWORD = ERRLOG2_BASE + 79; -pub const NELOG_NetlogonBadSubnetName: DWORD = ERRLOG2_BASE + 80; -pub const NELOG_NetlogonDynamicDnsServerFailure: DWORD = ERRLOG2_BASE + 81; -pub const NELOG_NetlogonDynamicDnsFailure: DWORD = ERRLOG2_BASE + 82; -pub const NELOG_NetlogonRpcCallCancelled: DWORD = ERRLOG2_BASE + 83; -pub const NELOG_NetlogonDcSiteCovered: DWORD = ERRLOG2_BASE + 84; -pub const NELOG_NetlogonDcSiteNotCovered: DWORD = ERRLOG2_BASE + 85; -pub const NELOG_NetlogonGcSiteCovered: DWORD = ERRLOG2_BASE + 86; -pub const NELOG_NetlogonGcSiteNotCovered: DWORD = ERRLOG2_BASE + 87; -pub const NELOG_NetlogonFailedSpnUpdate: DWORD = ERRLOG2_BASE + 88; -pub const NELOG_NetlogonFailedDnsHostNameUpdate: DWORD = ERRLOG2_BASE + 89; -pub const NELOG_NetlogonAuthNoUplevelDomainController: DWORD = ERRLOG2_BASE + 90; -pub const NELOG_NetlogonAuthDomainDowngraded: DWORD = ERRLOG2_BASE + 91; -pub const NELOG_NetlogonNdncSiteCovered: DWORD = ERRLOG2_BASE + 92; -pub const NELOG_NetlogonNdncSiteNotCovered: DWORD = ERRLOG2_BASE + 93; -pub const NELOG_NetlogonDcOldSiteCovered: DWORD = ERRLOG2_BASE + 94; -pub const NELOG_NetlogonDcSiteNotCoveredAuto: DWORD = ERRLOG2_BASE + 95; -pub const NELOG_NetlogonGcOldSiteCovered: DWORD = ERRLOG2_BASE + 96; -pub const NELOG_NetlogonGcSiteNotCoveredAuto: DWORD = ERRLOG2_BASE + 97; -pub const NELOG_NetlogonNdncOldSiteCovered: DWORD = ERRLOG2_BASE + 98; -pub const NELOG_NetlogonNdncSiteNotCoveredAuto: DWORD = ERRLOG2_BASE + 99; -pub const NELOG_NetlogonSpnMultipleSamAccountNames: DWORD = ERRLOG2_BASE + 100; -pub const NELOG_NetlogonSpnCrackNamesFailure: DWORD = ERRLOG2_BASE + 101; -pub const NELOG_NetlogonNoAddressToSiteMapping: DWORD = ERRLOG2_BASE + 102; -pub const NELOG_NetlogonInvalidGenericParameterValue: DWORD = ERRLOG2_BASE + 103; -pub const NELOG_NetlogonInvalidDwordParameterValue: DWORD = ERRLOG2_BASE + 104; -pub const NELOG_NetlogonServerAuthFailedNoAccount: DWORD = ERRLOG2_BASE + 105; -pub const NELOG_NetlogonNoDynamicDnsManual: DWORD = ERRLOG2_BASE + 106; -pub const NELOG_NetlogonNoSiteForClients: DWORD = ERRLOG2_BASE + 107; -pub const NELOG_NetlogonDnsDeregAborted: DWORD = ERRLOG2_BASE + 108; -pub const NELOG_NetlogonRpcPortRequestFailure: DWORD = ERRLOG2_BASE + 109; -pub const NELOG_NetlogonPartialSiteMappingForClients: DWORD = ERRLOG2_BASE + 110; -pub const NELOG_NetlogonRemoteDynamicDnsRegisterFailure: DWORD = ERRLOG2_BASE + 111; -pub const NELOG_NetlogonRemoteDynamicDnsDeregisterFailure: DWORD = ERRLOG2_BASE + 112; -pub const NELOG_NetlogonRejectedRemoteDynamicDnsRegister: DWORD = ERRLOG2_BASE + 113; -pub const NELOG_NetlogonRejectedRemoteDynamicDnsDeregister: DWORD = ERRLOG2_BASE + 114; -pub const NELOG_NetlogonRemoteDynamicDnsUpdateRequestFailure: DWORD = ERRLOG2_BASE + 115; -pub const NELOG_NetlogonUserValidationReqInitialTimeOut: DWORD = ERRLOG2_BASE + 116; -pub const NELOG_NetlogonUserValidationReqRecurringTimeOut: DWORD = ERRLOG2_BASE + 117; -pub const NELOG_NetlogonUserValidationReqWaitInitialWarning: DWORD = ERRLOG2_BASE + 118; -pub const NELOG_NetlogonUserValidationReqWaitRecurringWarning: DWORD = ERRLOG2_BASE + 119; -pub const NELOG_NetlogonFailedToAddAuthzRpcInterface: DWORD = ERRLOG2_BASE + 120; -pub const NELOG_NetLogonFailedToInitializeAuthzRm: DWORD = ERRLOG2_BASE + 121; -pub const NELOG_NetLogonFailedToInitializeRPCSD: DWORD = ERRLOG2_BASE + 122; -pub const NELOG_NetlogonMachinePasswdSetSucceeded: DWORD = ERRLOG2_BASE + 123; -pub const NELOG_NetlogonMsaPasswdSetSucceeded: DWORD = ERRLOG2_BASE + 124; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/lmjoin.rs b/vendor/registry-40351f815f426200/winapi/src/um/lmjoin.rs deleted file mode 100644 index 72c72c0ee..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/lmjoin.rs +++ /dev/null @@ -1,232 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -// Definitions and prototypes for the Net setup apis -use shared::lmcons::NET_API_STATUS; -use shared::minwindef::{BYTE, DWORD, PBYTE, PDWORD, ULONG}; -use um::wincrypt::PCCERT_CONTEXT; -use um::winnt::{HRESULT, LPCWSTR, LPWSTR, PVOID}; -ENUM!{enum NETSETUP_NAME_TYPE { - NetSetupUnknown = 0, - NetSetupMachine, - NetSetupWorkgroup, - NetSetupDomain, - NetSetupNonExistentDomain, - NetSetupDnsMachine, -}} -pub type PNETSETUP_NAME_TYPE = *mut NETSETUP_NAME_TYPE; -ENUM!{enum DSREG_JOIN_TYPE { - DSREG_UNKNOWN_JOIN = 0, - DSREG_DEVICE_JOIN = 1, - DSREG_WORKPLACE_JOIN = 2, -}} -pub type PDSREG_JOIN_TYPE = *mut DSREG_JOIN_TYPE; -STRUCT!{struct DSREG_USER_INFO { - pszUserEmail: LPWSTR, - pszUserKeyId: LPWSTR, - pszUserKeyName: LPWSTR, -}} -pub type PDSREG_USER_INFO = *mut DSREG_USER_INFO; -STRUCT!{struct DSREG_JOIN_INFO { - joinType: DSREG_JOIN_TYPE, - pJoinCertificate: PCCERT_CONTEXT, - pszDeviceId: LPWSTR, - pszIdpDomain: LPWSTR, - pszTenantId: LPWSTR, - pszJoinUserEmail: LPWSTR, - pszTenantDisplayName: LPWSTR, - pszMdmEnrollmentUrl: LPWSTR, - pszMdmTermsOfUseUrl: LPWSTR, - pszMdmComplianceUrl: LPWSTR, - pszUserSettingSyncUrl: LPWSTR, - pUserInfo: *mut DSREG_USER_INFO, -}} -pub type PDSREG_JOIN_INFO = *mut DSREG_JOIN_INFO; -pub const NETSETUP_JOIN_DOMAIN: DWORD = 0x00000001; -pub const NETSETUP_ACCT_CREATE: DWORD = 0x00000002; -pub const NETSETUP_ACCT_DELETE: DWORD = 0x00000004; -pub const NETSETUP_WIN9X_UPGRADE: DWORD = 0x00000010; -pub const NETSETUP_DOMAIN_JOIN_IF_JOINED: DWORD = 0x00000020; -pub const NETSETUP_JOIN_UNSECURE: DWORD = 0x00000040; -pub const NETSETUP_MACHINE_PWD_PASSED: DWORD = 0x00000080; -pub const NETSETUP_DEFER_SPN_SET: DWORD = 0x00000100; -pub const NETSETUP_JOIN_DC_ACCOUNT: DWORD = 0x00000200; -pub const NETSETUP_JOIN_WITH_NEW_NAME: DWORD = 0x00000400; -pub const NETSETUP_JOIN_READONLY: DWORD = 0x00000800; -pub const NETSETUP_DNS_NAME_CHANGES_ONLY: DWORD = 0x00001000; -pub const NETSETUP_INSTALL_INVOCATION: DWORD = 0x00040000; -pub const NETSETUP_AMBIGUOUS_DC: DWORD = 0x00001000; -pub const NETSETUP_NO_NETLOGON_CACHE: DWORD = 0x00002000; -pub const NETSETUP_DONT_CONTROL_SERVICES: DWORD = 0x00004000; -pub const NETSETUP_SET_MACHINE_NAME: DWORD = 0x00008000; -pub const NETSETUP_FORCE_SPN_SET: DWORD = 0x00010000; -pub const NETSETUP_NO_ACCT_REUSE: DWORD = 0x00020000; -pub const NETSETUP_ALT_SAMACCOUNTNAME: DWORD = 0x00020000; -pub const NETSETUP_IGNORE_UNSUPPORTED_FLAGS: DWORD = 0x10000000; -pub const NETSETUP_VALID_UNJOIN_FLAGS: DWORD = NETSETUP_ACCT_DELETE - | NETSETUP_IGNORE_UNSUPPORTED_FLAGS | NETSETUP_JOIN_DC_ACCOUNT; -pub const NETSETUP_PROCESS_OFFLINE_FLAGS: DWORD = NETSETUP_JOIN_DOMAIN - | NETSETUP_DOMAIN_JOIN_IF_JOINED | NETSETUP_JOIN_WITH_NEW_NAME | NETSETUP_DONT_CONTROL_SERVICES - | NETSETUP_MACHINE_PWD_PASSED; -extern "system" { - pub fn NetJoinDomain( - lpServer: LPCWSTR, - lpDomain: LPCWSTR, - lpMachineAccountOU: LPCWSTR, - lpAccount: LPCWSTR, - lpPassword: LPCWSTR, - fJoinOptions: DWORD, - ) -> NET_API_STATUS; - pub fn NetUnjoinDomain( - lpServer: LPCWSTR, - lpAccount: LPCWSTR, - lpPassword: LPCWSTR, - fUnjoinOptions: DWORD, - ) -> NET_API_STATUS; - pub fn NetRenameMachineInDomain( - lpServer: LPCWSTR, - lpNewMachineName: LPCWSTR, - lpAccount: LPCWSTR, - lpPassword: LPCWSTR, - fRenameOptions: DWORD, - ) -> NET_API_STATUS; - pub fn NetValidateName( - lpServer: LPCWSTR, - lpName: LPCWSTR, - lpAccount: LPCWSTR, - lpPassword: LPCWSTR, - NameType: NETSETUP_NAME_TYPE, - ) -> NET_API_STATUS; - pub fn NetGetJoinableOUs( - lpServer: LPCWSTR, - lpDomain: LPCWSTR, - lpAccount: LPCWSTR, - lpPassword: LPCWSTR, - OUCount: *mut DWORD, - OUs: *mut *mut LPWSTR, - ) -> NET_API_STATUS; -} -pub const NET_IGNORE_UNSUPPORTED_FLAGS: DWORD = 0x01; -extern "system" { - pub fn NetAddAlternateComputerName( - Server: LPCWSTR, - AlternateName: LPCWSTR, - DomainAccount: LPCWSTR, - DomainAccountPassword: LPCWSTR, - Reserved: ULONG, - ) -> NET_API_STATUS; - pub fn NetRemoveAlternateComputerName( - Server: LPCWSTR, - AlternateName: LPCWSTR, - DomainAccount: LPCWSTR, - DomainAccountPassword: LPCWSTR, - Reserved: ULONG, - ) -> NET_API_STATUS; - pub fn NetSetPrimaryComputerName( - Server: LPCWSTR, - PrimaryName: LPCWSTR, - DomainAccount: LPCWSTR, - DomainAccountPassword: LPCWSTR, - Reserved: ULONG, - ) -> NET_API_STATUS; -} -ENUM!{enum NET_COMPUTER_NAME_TYPE { - NetPrimaryComputerName, - NetAlternateComputerNames, - NetAllComputerNames, - NetComputerNameTypeMax, -}} -pub type PNET_COMPUTER_NAME_TYPE = *mut NET_COMPUTER_NAME_TYPE; -extern "system" { - pub fn NetEnumerateComputerNames( - Server: LPCWSTR, - NameType: NET_COMPUTER_NAME_TYPE, - Reserved: ULONG, - EntryCount: PDWORD, - ComputerNames: *mut *mut LPWSTR, - ) -> NET_API_STATUS; -} -pub const NETSETUP_PROVISION_DOWNLEVEL_PRIV_SUPPORT: DWORD = 0x00000001; -pub const NETSETUP_PROVISION_REUSE_ACCOUNT: DWORD = 0x00000002; -pub const NETSETUP_PROVISION_USE_DEFAULT_PASSWORD: DWORD = 0x00000004; -pub const NETSETUP_PROVISION_SKIP_ACCOUNT_SEARCH: DWORD = 0x00000008; -pub const NETSETUP_PROVISION_ROOT_CA_CERTS: DWORD = 0x00000010; -pub const NETSETUP_PROVISION_PERSISTENTSITE: DWORD = 0x00000020; -pub const NETSETUP_PROVISION_ONLINE_CALLER: DWORD = 0x40000000; -pub const NETSETUP_PROVISION_CHECK_PWD_ONLY: DWORD = 0x80000000; -extern "system" { - pub fn NetProvisionComputerAccount( - lpDomain: LPCWSTR, - lpMachineName: LPCWSTR, - lpMachineAccountOU: LPCWSTR, - lpDcName: LPCWSTR, - dwOptions: DWORD, - pProvisionBinData: *mut PBYTE, - pdwProvisionBinDataSize: *mut DWORD, - pProvisionTextData: *mut LPWSTR, - ) -> NET_API_STATUS; - pub fn NetRequestOfflineDomainJoin( - pProvisionBinData: *mut BYTE, - cbProvisionBinDataSize: DWORD, - dwOptions: DWORD, - lpWindowsPath: LPCWSTR, - ) -> NET_API_STATUS; -} -pub const NETSETUP_PROVISIONING_PARAMS_WIN8_VERSION: DWORD = 0x00000001; -pub const NETSETUP_PROVISIONING_PARAMS_CURRENT_VERSION: DWORD = 0x00000002; -STRUCT!{struct NETSETUP_PROVISIONING_PARAMS { - dwVersion: DWORD, - lpDomain: LPCWSTR, - lpHostName: LPCWSTR, - lpMachineAccountOU: LPCWSTR, - lpDcName: LPCWSTR, - dwProvisionOptions: DWORD, - aCertTemplateNames: *mut LPCWSTR, - cCertTemplateNames: DWORD, - aMachinePolicyNames: *mut LPCWSTR, - cMachinePolicyNames: DWORD, - aMachinePolicyPaths: *mut LPCWSTR, - cMachinePolicyPaths: DWORD, - lpNetbiosName: LPWSTR, - lpSiteName: LPWSTR, - lpPrimaryDNSDomain: LPWSTR, -}} -pub type PNETSETUP_PROVISIONING_PARAMS = *mut NETSETUP_PROVISIONING_PARAMS; -extern "system" { - pub fn NetCreateProvisioningPackage( - pProvisioningParams: PNETSETUP_PROVISIONING_PARAMS, - ppPackageBinData: *mut PBYTE, - pdwPackageBinDataSize: *mut DWORD, - ppPackageTextData: *mut LPWSTR, - ) -> NET_API_STATUS; - pub fn NetRequestProvisioningPackageInstall( - pPackageBinData: *mut BYTE, - dwPackageBinDataSize: DWORD, - dwProvisionOptions: DWORD, - lpWindowsPath: LPCWSTR, - pvReserved: PVOID, - ) -> NET_API_STATUS; - pub fn NetGetAadJoinInformation( - pcszTenantId: LPCWSTR, - ppJoinInfo: *mut PDSREG_JOIN_INFO, - ) -> HRESULT; - pub fn NetFreeAadJoinInformation( - pJoinInfo: PDSREG_JOIN_INFO, - ); -} -ENUM!{enum NETSETUP_JOIN_STATUS { - NetSetupUnknownStatus = 0, - NetSetupUnjoined, - NetSetupWorkgroupName, - NetSetupDomainName, -}} -pub type PNETSETUP_JOIN_STATUS = *mut NETSETUP_JOIN_STATUS; -extern "system" { - pub fn NetGetJoinInformation( - lpServer: LPCWSTR, - lpNameBuffer: *mut LPWSTR, - BufferType: PNETSETUP_JOIN_STATUS, - ) -> NET_API_STATUS; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/lmmsg.rs b/vendor/registry-40351f815f426200/winapi/src/um/lmmsg.rs deleted file mode 100644 index 9970fe94e..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/lmmsg.rs +++ /dev/null @@ -1,56 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This file contains structures, function prototypes, and definitions for the NetMessage API -use shared::lmcons::NET_API_STATUS; -use shared::minwindef::{DWORD, LPBYTE, LPDWORD}; -use um::winnt::{LPCWSTR, LPWSTR}; -extern "system" { - pub fn NetMessageNameAdd( - servername: LPCWSTR, - msgname: LPCWSTR, - ) -> NET_API_STATUS; - pub fn NetMessageNameEnum( - servername: LPCWSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - resumehandle: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetMessageNameGetInfo( - servername: LPCWSTR, - msgname: LPCWSTR, - level: DWORD, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn NetMessageNameDel( - servername: LPCWSTR, - msgname: LPCWSTR, - ) -> NET_API_STATUS; - pub fn NetMessageBufferSend( - servername: LPCWSTR, - msgname: LPCWSTR, - fromname: LPCWSTR, - buf: LPBYTE, - buflen: DWORD, - ) -> NET_API_STATUS; -} -STRUCT!{struct MSG_INFO_0 { - msgi0_name: LPWSTR, -}} -pub type PMSG_INFO_0 = *mut MSG_INFO_0; -pub type LPMSG_INFO_0 = *mut MSG_INFO_0; -STRUCT!{struct MSG_INFO_1 { - msgi1_name: LPWSTR, - msgi1_forward_flag: DWORD, - msgi1_forward: LPWSTR, -}} -pub type PMSG_INFO_1 = *mut MSG_INFO_1; -pub type LPMSG_INFO_1 = *mut MSG_INFO_1; -pub const MSGNAME_NOT_FORWARDED: DWORD = 0; -pub const MSGNAME_FORWARDED_TO: DWORD = 0x04; -pub const MSGNAME_FORWARDED_FROM: DWORD = 0x10; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/lmremutl.rs b/vendor/registry-40351f815f426200/winapi/src/um/lmremutl.rs deleted file mode 100644 index 27275203b..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/lmremutl.rs +++ /dev/null @@ -1,61 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This file contains structures, function prototypes, and definitions for the NetRemote API -use shared::lmcons::NET_API_STATUS; -use shared::minwindef::{DWORD, LPBYTE, LPDWORD}; -use um::winnt::{CHAR, LONG, LPCWSTR, LPSTR}; -pub type DESC_CHAR = CHAR; -pub type LPDESC = LPSTR; -extern "system" { - pub fn NetRemoteTOD( - UncServerName: LPCWSTR, - BufferPtr: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn NetRemoteComputerSupports( - UncServerName: LPCWSTR, - OptionsWanted: DWORD, - OptionsSupported: LPDWORD, - ) -> NET_API_STATUS; -} -extern "C" { - pub fn RxRemoteApi( - ApiNumber: DWORD, - UncServerName: LPCWSTR, - ParmDescString: LPDESC, - DataDesc16: LPDESC, - DataDesc32: LPDESC, - DataDescSmb: LPDESC, - AuxDesc16: LPDESC, - AuxDesc32: LPDESC, - AuxDescSmb: LPDESC, - Flags: DWORD, - ) -> NET_API_STATUS; -} -STRUCT!{struct TIME_OF_DAY_INFO { - tod_elapsedt: DWORD, - tod_msecs: DWORD, - tod_hours: DWORD, - tod_mins: DWORD, - tod_secs: DWORD, - tod_hunds: DWORD, - tod_timezone: LONG, - tod_tinterval: DWORD, - tod_day: DWORD, - tod_month: DWORD, - tod_year: DWORD, - tod_weekday: DWORD, -}} -pub type PTIME_OF_DAY_INFO = *mut TIME_OF_DAY_INFO; -pub type LPTIME_OF_DAY_INFO = *mut TIME_OF_DAY_INFO; -pub const SUPPORTS_REMOTE_ADMIN_PROTOCOL: DWORD = 0x00000002; -pub const SUPPORTS_RPC: DWORD = 0x00000004; -pub const SUPPORTS_SAM_PROTOCOL: DWORD = 0x00000008; -pub const SUPPORTS_UNICODE: DWORD = 0x00000010; -pub const SUPPORTS_LOCAL: DWORD = 0x00000020; -pub const SUPPORTS_ANY: DWORD = 0xFFFFFFFF; -pub const NO_PERMISSION_REQUIRED: DWORD = 0x00000001; -pub const ALLOCATE_RESPONSE: DWORD = 0x00000002; -pub const USE_SPECIFIC_TRANSPORT: DWORD = 0x80000000; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/lmrepl.rs b/vendor/registry-40351f815f426200/winapi/src/um/lmrepl.rs deleted file mode 100644 index 81a665be5..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/lmrepl.rs +++ /dev/null @@ -1,200 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This file contains structures, function prototypes, and definitions for the replicator APIs -use shared::lmcons::{NET_API_STATUS, PARMNUM_BASE_INFOLEVEL}; -use shared::minwindef::{DWORD, LPBYTE, LPDWORD}; -use um::winnt::{LPCWSTR, LPWSTR}; -pub const REPL_ROLE_EXPORT: DWORD = 1; -pub const REPL_ROLE_IMPORT: DWORD = 2; -pub const REPL_ROLE_BOTH: DWORD = 3; -pub const REPL_INTERVAL_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + 0; -pub const REPL_PULSE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + 1; -pub const REPL_GUARDTIME_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + 2; -pub const REPL_RANDOM_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + 3; -STRUCT!{struct REPL_INFO_0 { - rp0_role: DWORD, - rp0_exportpath: LPWSTR, - rp0_exportlist: LPWSTR, - rp0_importpath: LPWSTR, - rp0_importlist: LPWSTR, - rp0_logonusername: LPWSTR, - rp0_interval: DWORD, - rp0_pulse: DWORD, - rp0_guardtime: DWORD, - rp0_random: DWORD, -}} -pub type PREPL_INFO_0 = *mut REPL_INFO_0; -pub type LPREPL_INFO_0 = *mut REPL_INFO_0; -STRUCT!{struct REPL_INFO_1000 { - rp1000_interval: DWORD, -}} -pub type PREPL_INFO_1000 = *mut REPL_INFO_1000; -pub type LPREPL_INFO_1000 = *mut REPL_INFO_1000; -STRUCT!{struct REPL_INFO_1001 { - rp1001_pulse: DWORD, -}} -pub type PREPL_INFO_1001 = *mut REPL_INFO_1001; -pub type LPREPL_INFO_1001 = *mut REPL_INFO_1001; -STRUCT!{struct REPL_INFO_1002 { - rp1002_guardtime: DWORD, -}} -pub type PREPL_INFO_1002 = *mut REPL_INFO_1002; -pub type LPREPL_INFO_1002 = *mut REPL_INFO_1002; -STRUCT!{struct REPL_INFO_1003 { - rp1003_random: DWORD, -}} -pub type PREPL_INFO_1003 = *mut REPL_INFO_1003; -pub type LPREPL_INFO_1003 = *mut REPL_INFO_1003; -extern "system" { - pub fn NetReplGetInfo( - servername: LPCWSTR, - level: DWORD, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn NetReplSetInfo( - servername: LPCWSTR, - level: DWORD, - buf: LPBYTE, - parm_err: LPDWORD, - ) -> NET_API_STATUS; -} -pub const REPL_INTEGRITY_FILE: DWORD = 1; -pub const REPL_INTEGRITY_TREE: DWORD = 2; -pub const REPL_EXTENT_FILE: DWORD = 1; -pub const REPL_EXTENT_TREE: DWORD = 2; -pub const REPL_EXPORT_INTEGRITY_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + 0; -pub const REPL_EXPORT_EXTENT_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + 1; -STRUCT!{struct REPL_EDIR_INFO_0 { - rped0_dirname: LPWSTR, -}} -pub type PREPL_EDIR_INFO_0 = *mut REPL_EDIR_INFO_0; -pub type LPREPL_EDIR_INFO_0 = *mut REPL_EDIR_INFO_0; -STRUCT!{struct REPL_EDIR_INFO_1 { - rped1_dirname: LPWSTR, - rped1_integrity: DWORD, - rped1_extent: DWORD, -}} -pub type PREPL_EDIR_INFO_1 = *mut REPL_EDIR_INFO_1; -pub type LPREPL_EDIR_INFO_1 = *mut REPL_EDIR_INFO_1; -STRUCT!{struct REPL_EDIR_INFO_2 { - rped2_dirname: LPWSTR, - rped2_integrity: DWORD, - rped2_extent: DWORD, - rped2_lockcount: DWORD, - rped2_locktime: DWORD, -}} -pub type PREPL_EDIR_INFO_2 = *mut REPL_EDIR_INFO_2; -pub type LPREPL_EDIR_INFO_2 = *mut REPL_EDIR_INFO_2; -STRUCT!{struct REPL_EDIR_INFO_1000 { - rped1000_integrity: DWORD, -}} -pub type PREPL_EDIR_INFO_1000 = *mut REPL_EDIR_INFO_1000; -pub type LPREPL_EDIR_INFO_1000 = *mut REPL_EDIR_INFO_1000; -STRUCT!{struct REPL_EDIR_INFO_1001 { - rped1001_extent: DWORD, -}} -pub type PREPL_EDIR_INFO_1001 = *mut REPL_EDIR_INFO_1001; -pub type LPREPL_EDIR_INFO_1001 = *mut REPL_EDIR_INFO_1001; -extern "system" { - pub fn NetReplExportDirAdd( - servername: LPCWSTR, - level: DWORD, - buf: LPBYTE, - parm_err: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetReplExportDirDel( - servername: LPCWSTR, - dirname: LPCWSTR, - ) -> NET_API_STATUS; - pub fn NetReplExportDirEnum( - servername: LPCWSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - resumehandle: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetReplExportDirGetInfo( - servername: LPCWSTR, - dirname: LPCWSTR, - level: DWORD, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn NetReplExportDirSetInfo( - servername: LPCWSTR, - dirname: LPCWSTR, - level: DWORD, - buf: LPBYTE, - parm_err: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetReplExportDirLock( - servername: LPCWSTR, - dirname: LPCWSTR, - ) -> NET_API_STATUS; - pub fn NetReplExportDirUnlock( - servername: LPCWSTR, - dirname: LPCWSTR, - unlockforce: DWORD, - ) -> NET_API_STATUS; -} -pub const REPL_UNLOCK_NOFORCE: DWORD = 0; -pub const REPL_UNLOCK_FORCE: DWORD = 1; -STRUCT!{struct REPL_IDIR_INFO_0 { - rpid0_dirname: LPWSTR, -}} -pub type PREPL_IDIR_INFO_0 = *mut REPL_IDIR_INFO_0; -pub type LPREPL_IDIR_INFO_0 = *mut REPL_IDIR_INFO_0; -STRUCT!{struct REPL_IDIR_INFO_1 { - rpid1_dirname: LPWSTR, - rpid1_state: DWORD, - rpid1_mastername: LPWSTR, - rpid1_last_update_time: DWORD, - rpid1_lockcount: DWORD, - rpid1_locktime: DWORD, -}} -pub type PREPL_IDIR_INFO_1 = *mut REPL_IDIR_INFO_1; -pub type LPREPL_IDIR_INFO_1 = *mut REPL_IDIR_INFO_1; -extern "system" { - pub fn NetReplImportDirAdd( - servername: LPCWSTR, - level: DWORD, - buf: LPBYTE, - parm_err: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetReplImportDirDel( - servername: LPCWSTR, - dirname: LPCWSTR, - ) -> NET_API_STATUS; - pub fn NetReplImportDirEnum( - servername: LPCWSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - resumehandle: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetReplImportDirGetInfo( - servername: LPCWSTR, - dirname: LPCWSTR, - level: DWORD, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn NetReplImportDirLock( - servername: LPCWSTR, - dirname: LPCWSTR, - ) -> NET_API_STATUS; - pub fn NetReplImportDirUnlock( - servername: LPCWSTR, - dirname: LPCWSTR, - unlockforce: DWORD, - ) -> NET_API_STATUS; -} -pub const REPL_STATE_OK: DWORD = 0; -pub const REPL_STATE_NO_MASTER: DWORD = 1; -pub const REPL_STATE_NO_SYNC: DWORD = 2; -pub const REPL_STATE_NEVER_REPLICATED: DWORD = 3; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/lmserver.rs b/vendor/registry-40351f815f426200/winapi/src/um/lmserver.rs deleted file mode 100644 index 621c4be9a..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/lmserver.rs +++ /dev/null @@ -1,1255 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This file contains information about NetServer APIs -use shared::guiddef::GUID; -use shared::lmcons::{LMCSTR, LMSTR, NET_API_STATUS, PARMNUM_BASE_INFOLEVEL, PATHLEN}; -use shared::minwindef::{BOOL, BYTE, DWORD, LPBYTE, LPDWORD, ULONG}; -use um::winnt::{BOOLEAN, LONG}; -use um::winsvc::SERVICE_STATUS_HANDLE; -extern "system" { - pub fn NetServerEnum( - servername: LMCSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - servertype: DWORD, - domain: LMCSTR, - resumehandle: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetServerEnumEx( - servername: LMCSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - servertype: DWORD, - domain: LMCSTR, - FirstNameToReturn: LMCSTR, - ) -> NET_API_STATUS; - pub fn NetServerGetInfo( - servername: LMSTR, - level: DWORD, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn NetServerSetInfo( - servername: LMSTR, - level: DWORD, - buf: LPBYTE, - ParmError: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetServerDiskEnum( - servername: LMSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - resumehandle: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetServerComputerNameAdd( - ServerName: LMSTR, - EmulatedDomainName: LMSTR, - EmulatedServerName: LMSTR, - ) -> NET_API_STATUS; - pub fn NetServerComputerNameDel( - ServerName: LMSTR, - EmulatedServerName: LMSTR, - ) -> NET_API_STATUS; - pub fn NetServerTransportAdd( - servername: LMSTR, - level: DWORD, - bufptr: LPBYTE, - ) -> NET_API_STATUS; - pub fn NetServerTransportAddEx( - servername: LMSTR, - level: DWORD, - bufptr: LPBYTE, - ) -> NET_API_STATUS; - pub fn NetServerTransportDel( - servername: LMSTR, - level: DWORD, - bufptr: LPBYTE, - ) -> NET_API_STATUS; - pub fn NetServerTransportEnum( - servername: LMSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - resumehandle: LPDWORD, - ) -> NET_API_STATUS; - pub fn SetServiceBits( - hServiceStatus: SERVICE_STATUS_HANDLE, - dwServiceBits: DWORD, - bSetBitsOn: BOOL, - bUpdateImmediately: BOOL, - ) -> BOOL; -} -STRUCT!{struct SERVER_INFO_100 { - sv100_platform_id: DWORD, - sv100_name: LMSTR, -}} -pub type PSERVER_INFO_100 = *mut SERVER_INFO_100; -pub type LPSERVER_INFO_100 = *mut SERVER_INFO_100; -STRUCT!{struct SERVER_INFO_101 { - sv101_platform_id: DWORD, - sv101_name: LMSTR, - sv101_version_major: DWORD, - sv101_version_minor: DWORD, - sv101_type: DWORD, - sv101_comment: LMSTR, -}} -pub type PSERVER_INFO_101 = *mut SERVER_INFO_101; -pub type LPSERVER_INFO_101 = *mut SERVER_INFO_101; -STRUCT!{struct SERVER_INFO_102 { - sv102_platform_id: DWORD, - sv102_name: LMSTR, - sv102_version_major: DWORD, - sv102_version_minor: DWORD, - sv102_type: DWORD, - sv102_comment: LMSTR, - sv102_users: DWORD, - sv102_disc: LONG, - sv102_hidden: BOOL, - sv102_announce: DWORD, - sv102_anndelta: DWORD, - sv102_licenses: DWORD, - sv102_userpath: LMSTR, -}} -pub type PSERVER_INFO_102 = *mut SERVER_INFO_102; -pub type LPSERVER_INFO_102 = *mut SERVER_INFO_102; -STRUCT!{struct SERVER_INFO_103 { - sv103_platform_id: DWORD, - sv103_name: LMSTR, - sv103_version_major: DWORD, - sv103_version_minor: DWORD, - sv103_type: DWORD, - sv103_comment: LMSTR, - sv103_users: DWORD, - sv103_disc: LONG, - sv103_hidden: BOOL, - sv103_announce: DWORD, - sv103_anndelta: DWORD, - sv103_licenses: DWORD, - sv103_userpath: LMSTR, - sv103_capabilities: DWORD, -}} -pub type PSERVER_INFO_103 = *mut SERVER_INFO_103; -pub type LPSERVER_INFO_103 = *mut SERVER_INFO_103; -STRUCT!{struct SERVER_INFO_402 { - sv402_ulist_mtime: DWORD, - sv402_glist_mtime: DWORD, - sv402_alist_mtime: DWORD, - sv402_alerts: LMSTR, - sv402_security: DWORD, - sv402_numadmin: DWORD, - sv402_lanmask: DWORD, - sv402_guestacct: LMSTR, - sv402_chdevs: DWORD, - sv402_chdevq: DWORD, - sv402_chdevjobs: DWORD, - sv402_connections: DWORD, - sv402_shares: DWORD, - sv402_openfiles: DWORD, - sv402_sessopens: DWORD, - sv402_sessvcs: DWORD, - sv402_sessreqs: DWORD, - sv402_opensearch: DWORD, - sv402_activelocks: DWORD, - sv402_numreqbuf: DWORD, - sv402_sizreqbuf: DWORD, - sv402_numbigbuf: DWORD, - sv402_numfiletasks: DWORD, - sv402_alertsched: DWORD, - sv402_erroralert: DWORD, - sv402_logonalert: DWORD, - sv402_accessalert: DWORD, - sv402_diskalert: DWORD, - sv402_netioalert: DWORD, - sv402_maxauditsz: DWORD, - sv402_srvheuristics: LMSTR, -}} -pub type PSERVER_INFO_402 = *mut SERVER_INFO_402; -pub type LPSERVER_INFO_402 = *mut SERVER_INFO_402; -STRUCT!{struct SERVER_INFO_403 { - sv403_ulist_mtime: DWORD, - sv403_glist_mtime: DWORD, - sv403_alist_mtime: DWORD, - sv403_alerts: LMSTR, - sv403_security: DWORD, - sv403_numadmin: DWORD, - sv403_lanmask: DWORD, - sv403_guestacct: LMSTR, - sv403_chdevs: DWORD, - sv403_chdevq: DWORD, - sv403_chdevjobs: DWORD, - sv403_connections: DWORD, - sv403_shares: DWORD, - sv403_openfiles: DWORD, - sv403_sessopens: DWORD, - sv403_sessvcs: DWORD, - sv403_sessreqs: DWORD, - sv403_opensearch: DWORD, - sv403_activelocks: DWORD, - sv403_numreqbuf: DWORD, - sv403_sizreqbuf: DWORD, - sv403_numbigbuf: DWORD, - sv403_numfiletasks: DWORD, - sv403_alertsched: DWORD, - sv403_erroralert: DWORD, - sv403_logonalert: DWORD, - sv403_accessalert: DWORD, - sv403_diskalert: DWORD, - sv403_netioalert: DWORD, - sv403_maxauditsz: DWORD, - sv403_srvheuristics: LMSTR, - sv403_auditedevents: DWORD, - sv403_autoprofile: DWORD, - sv403_autopath: LMSTR, -}} -pub type PSERVER_INFO_403 = *mut SERVER_INFO_403; -pub type LPSERVER_INFO_403 = *mut SERVER_INFO_403; -STRUCT!{struct SERVER_INFO_502 { - sv502_sessopens: DWORD, - sv502_sessvcs: DWORD, - sv502_opensearch: DWORD, - sv502_sizreqbuf: DWORD, - sv502_initworkitems: DWORD, - sv502_maxworkitems: DWORD, - sv502_rawworkitems: DWORD, - sv502_irpstacksize: DWORD, - sv502_maxrawbuflen: DWORD, - sv502_sessusers: DWORD, - sv502_sessconns: DWORD, - sv502_maxpagedmemoryusage: DWORD, - sv502_maxnonpagedmemoryusage: DWORD, - sv502_enablesoftcompat: BOOL, - sv502_enableforcedlogoff: BOOL, - sv502_timesource: BOOL, - sv502_acceptdownlevelapis: BOOL, - sv502_lmannounce: BOOL, -}} -pub type PSERVER_INFO_502 = *mut SERVER_INFO_502; -pub type LPSERVER_INFO_502 = *mut SERVER_INFO_502; -STRUCT!{struct SERVER_INFO_503 { - sv503_sessopens : DWORD, - sv503_sessvcs: DWORD, - sv503_opensearch: DWORD, - sv503_sizreqbuf: DWORD, - sv503_initworkitems: DWORD, - sv503_maxworkitems: DWORD, - sv503_rawworkitems: DWORD, - sv503_irpstacksize: DWORD, - sv503_maxrawbuflen: DWORD, - sv503_sessusers: DWORD, - sv503_sessconns: DWORD, - sv503_maxpagedmemoryusage: DWORD, - sv503_maxnonpagedmemoryusage: DWORD, - sv503_enablesoftcompat: BOOL, - sv503_enableforcedlogoff: BOOL, - sv503_timesource: BOOL, - sv503_acceptdownlevelapis: BOOL, - sv503_lmannounce: BOOL, - sv503_domain: LMSTR, - sv503_maxcopyreadlen: DWORD, - sv503_maxcopywritelen: DWORD, - sv503_minkeepsearch: DWORD, - sv503_maxkeepsearch: DWORD, - sv503_minkeepcomplsearch: DWORD, - sv503_maxkeepcomplsearch: DWORD, - sv503_threadcountadd: DWORD, - sv503_numblockthreads: DWORD, - sv503_scavtimeout: DWORD, - sv503_minrcvqueue: DWORD, - sv503_minfreeworkitems: DWORD, - sv503_xactmemsize: DWORD, - sv503_threadpriority: DWORD, - sv503_maxmpxct: DWORD, - sv503_oplockbreakwait: DWORD, - sv503_oplockbreakresponsewait: DWORD, - sv503_enableoplocks: BOOL, - sv503_enableoplockforceclose: BOOL, - sv503_enablefcbopens: BOOL, - sv503_enableraw: BOOL, - sv503_enablesharednetdrives: BOOL, - sv503_minfreeconnections: DWORD, - sv503_maxfreeconnections: DWORD, -}} -pub type PSERVER_INFO_503 = *mut SERVER_INFO_503; -pub type LPSERVER_INFO_503 = *mut SERVER_INFO_503; -STRUCT!{struct SERVER_INFO_599 { - sv599_sessopens: DWORD, - sv599_sessvcs: DWORD, - sv599_opensearch: DWORD, - sv599_sizreqbuf: DWORD, - sv599_initworkitems: DWORD, - sv599_maxworkitems: DWORD, - sv599_rawworkitems: DWORD, - sv599_irpstacksize: DWORD, - sv599_maxrawbuflen: DWORD, - sv599_sessusers: DWORD, - sv599_sessconns: DWORD, - sv599_maxpagedmemoryusage: DWORD, - sv599_maxnonpagedmemoryusage: DWORD, - sv599_enablesoftcompat: BOOL, - sv599_enableforcedlogoff: BOOL, - sv599_timesource: BOOL, - sv599_acceptdownlevelapis: BOOL, - sv599_lmannounce: BOOL, - sv599_domain: LMSTR, - sv599_maxcopyreadlen: DWORD, - sv599_maxcopywritelen: DWORD, - sv599_minkeepsearch: DWORD, - sv599_maxkeepsearch: DWORD, - sv599_minkeepcomplsearch: DWORD, - sv599_maxkeepcomplsearch: DWORD, - sv599_threadcountadd: DWORD, - sv599_numblockthreads: DWORD, - sv599_scavtimeout: DWORD, - sv599_minrcvqueue: DWORD, - sv599_minfreeworkitems: DWORD, - sv599_xactmemsize: DWORD, - sv599_threadpriority: DWORD, - sv599_maxmpxct: DWORD, - sv599_oplockbreakwait: DWORD, - sv599_oplockbreakresponsewait: DWORD, - sv599_enableoplocks: BOOL, - sv599_enableoplockforceclose: BOOL, - sv599_enablefcbopens: BOOL, - sv599_enableraw: BOOL, - sv599_enablesharednetdrives: BOOL, - sv599_minfreeconnections: DWORD, - sv599_maxfreeconnections: DWORD, - sv599_initsesstable: DWORD, - sv599_initconntable: DWORD, - sv599_initfiletable: DWORD, - sv599_initsearchtable: DWORD, - sv599_alertschedule: DWORD, - sv599_errorthreshold: DWORD, - sv599_networkerrorthreshold: DWORD, - sv599_diskspacethreshold: DWORD, - sv599_reserved: DWORD, - sv599_maxlinkdelay: DWORD, - sv599_minlinkthroughput: DWORD, - sv599_linkinfovalidtime: DWORD, - sv599_scavqosinfoupdatetime: DWORD, - sv599_maxworkitemidletime: DWORD, -}} -pub type PSERVER_INFO_599 = *mut SERVER_INFO_599; -pub type LPSERVER_INFO_599 = *mut SERVER_INFO_599; -STRUCT!{struct SERVER_INFO_598 { - sv598_maxrawworkitems: DWORD, - sv598_maxthreadsperqueue: DWORD, - sv598_producttype: DWORD, - sv598_serversize: DWORD, - sv598_connectionlessautodisc: DWORD, - sv598_sharingviolationretries: DWORD, - sv598_sharingviolationdelay: DWORD, - sv598_maxglobalopensearch: DWORD, - sv598_removeduplicatesearches: DWORD, - sv598_lockviolationoffset: DWORD, - sv598_lockviolationdelay: DWORD, - sv598_mdlreadswitchover: DWORD, - sv598_cachedopenlimit: DWORD, - sv598_otherqueueaffinity: DWORD, - sv598_restrictnullsessaccess: BOOL, - sv598_enablewfw311directipx: BOOL, - sv598_queuesamplesecs: DWORD, - sv598_balancecount: DWORD, - sv598_preferredaffinity: DWORD, - sv598_maxfreerfcbs: DWORD, - sv598_maxfreemfcbs: DWORD, - sv598_maxfreelfcbs: DWORD, - sv598_maxfreepagedpoolchunks: DWORD, - sv598_minpagedpoolchunksize: DWORD, - sv598_maxpagedpoolchunksize: DWORD, - sv598_sendsfrompreferredprocessor: BOOL, - sv598_cacheddirectorylimit: DWORD, - sv598_maxcopylength: DWORD, - sv598_enablecompression: BOOL, - sv598_autosharewks: BOOL, - sv598_autoshareserver: BOOL, - sv598_enablesecuritysignature: BOOL, - sv598_requiresecuritysignature: BOOL, - sv598_minclientbuffersize: DWORD, - sv598_serverguid: GUID, - sv598_ConnectionNoSessionsTimeout: DWORD, - sv598_IdleThreadTimeOut: DWORD, - sv598_enableW9xsecuritysignature: BOOL, - sv598_enforcekerberosreauthentication: BOOL, - sv598_disabledos: BOOL, - sv598_lowdiskspaceminimum: DWORD, - sv598_disablestrictnamechecking: BOOL, - sv598_enableauthenticateusersharing: BOOL, -}} -pub type PSERVER_INFO_598 = *mut SERVER_INFO_598; -pub type LPSERVER_INFO_598 = *mut SERVER_INFO_598; -STRUCT!{struct SERVER_INFO_1005 { - sv1005_comment: LMSTR, -}} -pub type PSERVER_INFO_1005 = *mut SERVER_INFO_1005; -pub type LPSERVER_INFO_1005 = *mut SERVER_INFO_1005; -STRUCT!{struct SERVER_INFO_1107 { - sv1107_users: DWORD, -}} -pub type PSERVER_INFO_1107 = *mut SERVER_INFO_1107; -pub type LPSERVER_INFO_1107 = *mut SERVER_INFO_1107; -STRUCT!{struct SERVER_INFO_1010 { - sv1010_disc: LONG, -}} -pub type PSERVER_INFO_1010 = *mut SERVER_INFO_1010; -pub type LPSERVER_INFO_1010 = *mut SERVER_INFO_1010; -STRUCT!{struct SERVER_INFO_1016 { - sv1016_hidden: BOOL, -}} -pub type PSERVER_INFO_1016 = *mut SERVER_INFO_1016; -pub type LPSERVER_INFO_1016 = *mut SERVER_INFO_1016; -STRUCT!{struct SERVER_INFO_1017 { - sv1017_announce: DWORD, -}} -pub type PSERVER_INFO_1017 = *mut SERVER_INFO_1017; -pub type LPSERVER_INFO_1017 = *mut SERVER_INFO_1017; -STRUCT!{struct SERVER_INFO_1018 { - sv1018_anndelta: DWORD, -}} -pub type PSERVER_INFO_1018 = *mut SERVER_INFO_1018; -pub type LPSERVER_INFO_1018 = *mut SERVER_INFO_1018; -STRUCT!{struct SERVER_INFO_1501 { - sv1501_sessopens: DWORD, -}} -pub type PSERVER_INFO_1501 = *mut SERVER_INFO_1501; -pub type LPSERVER_INFO_1501 = *mut SERVER_INFO_1501; -STRUCT!{struct SERVER_INFO_1502 { - sv1502_sessvcs: DWORD, -}} -pub type PSERVER_INFO_1502 = *mut SERVER_INFO_1502; -pub type LPSERVER_INFO_1502 = *mut SERVER_INFO_1502; -STRUCT!{struct SERVER_INFO_1503 { - sv1503_opensearch: DWORD, -}} -pub type PSERVER_INFO_1503 = *mut SERVER_INFO_1503; -pub type LPSERVER_INFO_1503 = *mut SERVER_INFO_1503; -STRUCT!{struct SERVER_INFO_1506 { - sv1506_maxworkitems: DWORD, -}} -pub type PSERVER_INFO_1506 = *mut SERVER_INFO_1506; -pub type LPSERVER_INFO_1506 = *mut SERVER_INFO_1506; -STRUCT!{struct SERVER_INFO_1509 { - sv1509_maxrawbuflen: DWORD, -}} -pub type PSERVER_INFO_1509 = *mut SERVER_INFO_1509; -pub type LPSERVER_INFO_1509 = *mut SERVER_INFO_1509; -STRUCT!{struct SERVER_INFO_1510 { - sv1510_sessusers: DWORD, -}} -pub type PSERVER_INFO_1510 = *mut SERVER_INFO_1510; -pub type LPSERVER_INFO_1510 = *mut SERVER_INFO_1510; -STRUCT!{struct SERVER_INFO_1511 { - sv1511_sessconns: DWORD, -}} -pub type PSERVER_INFO_1511 = *mut SERVER_INFO_1511; -pub type LPSERVER_INFO_1511 = *mut SERVER_INFO_1511; -STRUCT!{struct SERVER_INFO_1512 { - sv1512_maxnonpagedmemoryusage: DWORD, -}} -pub type PSERVER_INFO_1512 = *mut SERVER_INFO_1512; -pub type LPSERVER_INFO_1512 = *mut SERVER_INFO_1512; -STRUCT!{struct SERVER_INFO_1513 { - sv1513_maxpagedmemoryusage: DWORD, -}} -pub type PSERVER_INFO_1513 = *mut SERVER_INFO_1513; -pub type LPSERVER_INFO_1513 = *mut SERVER_INFO_1513; -STRUCT!{struct SERVER_INFO_1514 { - sv1514_enablesoftcompat: BOOL, -}} -pub type PSERVER_INFO_1514 = *mut SERVER_INFO_1514; -pub type LPSERVER_INFO_1514 = *mut SERVER_INFO_1514; -STRUCT!{struct SERVER_INFO_1515 { - sv1515_enableforcedlogoff: BOOL, -}} -pub type PSERVER_INFO_1515 = *mut SERVER_INFO_1515; -pub type LPSERVER_INFO_1515 = *mut SERVER_INFO_1515; -STRUCT!{struct SERVER_INFO_1516 { - sv1516_timesource: BOOL, -}} -pub type PSERVER_INFO_1516 = *mut SERVER_INFO_1516; -pub type LPSERVER_INFO_1516 = *mut SERVER_INFO_1516; -STRUCT!{struct SERVER_INFO_1518 { - sv1518_lmannounce: BOOL, -}} -pub type PSERVER_INFO_1518 = *mut SERVER_INFO_1518; -pub type LPSERVER_INFO_1518 = *mut SERVER_INFO_1518; -STRUCT!{struct SERVER_INFO_1520 { - sv1520_maxcopyreadlen: DWORD, -}} -pub type PSERVER_INFO_1520 = *mut SERVER_INFO_1520; -pub type LPSERVER_INFO_1520 = *mut SERVER_INFO_1520; -STRUCT!{struct SERVER_INFO_1521 { - sv1521_maxcopywritelen: DWORD, -}} -pub type PSERVER_INFO_1521 = *mut SERVER_INFO_1521; -pub type LPSERVER_INFO_1521 = *mut SERVER_INFO_1521; -STRUCT!{struct SERVER_INFO_1522 { - sv1522_minkeepsearch: DWORD, -}} -pub type PSERVER_INFO_1522 = *mut SERVER_INFO_1522; -pub type LPSERVER_INFO_1522 = *mut SERVER_INFO_1522; -STRUCT!{struct SERVER_INFO_1523 { - sv1523_maxkeepsearch: DWORD, -}} -pub type PSERVER_INFO_1523 = *mut SERVER_INFO_1523; -pub type LPSERVER_INFO_1523 = *mut SERVER_INFO_1523; -STRUCT!{struct SERVER_INFO_1524 { - sv1524_minkeepcomplsearch: DWORD, -}} -pub type PSERVER_INFO_1524 = *mut SERVER_INFO_1524; -pub type LPSERVER_INFO_1524 = *mut SERVER_INFO_1524; -STRUCT!{struct SERVER_INFO_1525 { - sv1525_maxkeepcomplsearch: DWORD, -}} -pub type PSERVER_INFO_1525 = *mut SERVER_INFO_1525; -pub type LPSERVER_INFO_1525 = *mut SERVER_INFO_1525; -STRUCT!{struct SERVER_INFO_1528 { - sv1528_scavtimeout: DWORD, -}} -pub type PSERVER_INFO_1528 = *mut SERVER_INFO_1528; -pub type LPSERVER_INFO_1528 = *mut SERVER_INFO_1528; -STRUCT!{struct SERVER_INFO_1529 { - sv1529_minrcvqueue: DWORD, -}} -pub type PSERVER_INFO_1529 = *mut SERVER_INFO_1529; -pub type LPSERVER_INFO_1529 = *mut SERVER_INFO_1529; -STRUCT!{struct SERVER_INFO_1530 { - sv1530_minfreeworkitems: DWORD, -}} -pub type PSERVER_INFO_1530 = *mut SERVER_INFO_1530; -pub type LPSERVER_INFO_1530 = *mut SERVER_INFO_1530; -STRUCT!{struct SERVER_INFO_1533 { - sv1533_maxmpxct: DWORD, -}} -pub type PSERVER_INFO_1533 = *mut SERVER_INFO_1533; -pub type LPSERVER_INFO_1533 = *mut SERVER_INFO_1533; -STRUCT!{struct SERVER_INFO_1534 { - sv1534_oplockbreakwait: DWORD, -}} -pub type PSERVER_INFO_1534 = *mut SERVER_INFO_1534; -pub type LPSERVER_INFO_1534 = *mut SERVER_INFO_1534; -STRUCT!{struct SERVER_INFO_1535 { - sv1535_oplockbreakresponsewait: DWORD, -}} -pub type PSERVER_INFO_1535 = *mut SERVER_INFO_1535; -pub type LPSERVER_INFO_1535 = *mut SERVER_INFO_1535; -STRUCT!{struct SERVER_INFO_1536 { - sv1536_enableoplocks: BOOL, -}} -pub type PSERVER_INFO_1536 = *mut SERVER_INFO_1536; -pub type LPSERVER_INFO_1536 = *mut SERVER_INFO_1536; -STRUCT!{struct SERVER_INFO_1537 { - sv1537_enableoplockforceclose: BOOL, -}} -pub type PSERVER_INFO_1537 = *mut SERVER_INFO_1537; -pub type LPSERVER_INFO_1537 = *mut SERVER_INFO_1537; -STRUCT!{struct SERVER_INFO_1538 { - sv1538_enablefcbopens: BOOL, -}} -pub type PSERVER_INFO_1538 = *mut SERVER_INFO_1538; -pub type LPSERVER_INFO_1538 = *mut SERVER_INFO_1538; -STRUCT!{struct SERVER_INFO_1539 { - sv1539_enableraw: BOOL, -}} -pub type PSERVER_INFO_1539 = *mut SERVER_INFO_1539; -pub type LPSERVER_INFO_1539 = *mut SERVER_INFO_1539; -STRUCT!{struct SERVER_INFO_1540 { - sv1540_enablesharednetdrives: BOOL, -}} -pub type PSERVER_INFO_1540 = *mut SERVER_INFO_1540; -pub type LPSERVER_INFO_1540 = *mut SERVER_INFO_1540; -STRUCT!{struct SERVER_INFO_1541 { - sv1541_minfreeconnections: BOOL, -}} -pub type PSERVER_INFO_1541 = *mut SERVER_INFO_1541; -pub type LPSERVER_INFO_1541 = *mut SERVER_INFO_1541; -STRUCT!{struct SERVER_INFO_1542 { - sv1542_maxfreeconnections: BOOL, -}} -pub type PSERVER_INFO_1542 = *mut SERVER_INFO_1542; -pub type LPSERVER_INFO_1542 = *mut SERVER_INFO_1542; -STRUCT!{struct SERVER_INFO_1543 { - sv1543_initsesstable: DWORD, -}} -pub type PSERVER_INFO_1543 = *mut SERVER_INFO_1543; -pub type LPSERVER_INFO_1543 = *mut SERVER_INFO_1543; -STRUCT!{struct SERVER_INFO_1544 { - sv1544_initconntable: DWORD, -}} -pub type PSERVER_INFO_1544 = *mut SERVER_INFO_1544; -pub type LPSERVER_INFO_1544 = *mut SERVER_INFO_1544; -STRUCT!{struct SERVER_INFO_1545 { - sv1545_initfiletable: DWORD, -}} -pub type PSERVER_INFO_1545 = *mut SERVER_INFO_1545; -pub type LPSERVER_INFO_1545 = *mut SERVER_INFO_1545; -STRUCT!{struct SERVER_INFO_1546 { - sv1546_initsearchtable: DWORD, -}} -pub type PSERVER_INFO_1546 = *mut SERVER_INFO_1546; -pub type LPSERVER_INFO_1546 = *mut SERVER_INFO_1546; -STRUCT!{struct SERVER_INFO_1547 { - sv1547_alertschedule: DWORD, -}} -pub type PSERVER_INFO_1547 = *mut SERVER_INFO_1547; -pub type LPSERVER_INFO_1547 = *mut SERVER_INFO_1547; -STRUCT!{struct SERVER_INFO_1548 { - sv1548_errorthreshold: DWORD, -}} -pub type PSERVER_INFO_1548 = *mut SERVER_INFO_1548; -pub type LPSERVER_INFO_1548 = *mut SERVER_INFO_1548; -STRUCT!{struct SERVER_INFO_1549 { - sv1549_networkerrorthreshold: DWORD, -}} -pub type PSERVER_INFO_1549 = *mut SERVER_INFO_1549; -pub type LPSERVER_INFO_1549 = *mut SERVER_INFO_1549; -STRUCT!{struct SERVER_INFO_1550 { - sv1550_diskspacethreshold: DWORD, -}} -pub type PSERVER_INFO_1550 = *mut SERVER_INFO_1550; -pub type LPSERVER_INFO_1550 = *mut SERVER_INFO_1550; -STRUCT!{struct SERVER_INFO_1552 { - sv1552_maxlinkdelay: DWORD, -}} -pub type PSERVER_INFO_1552 = *mut SERVER_INFO_1552; -pub type LPSERVER_INFO_1552 = *mut SERVER_INFO_1552; -STRUCT!{struct SERVER_INFO_1553 { - sv1553_minlinkthroughput: DWORD, -}} -pub type PSERVER_INFO_1553 = *mut SERVER_INFO_1553; -pub type LPSERVER_INFO_1553 = *mut SERVER_INFO_1553; -STRUCT!{struct SERVER_INFO_1554 { - sv1554_linkinfovalidtime: DWORD, -}} -pub type PSERVER_INFO_1554 = *mut SERVER_INFO_1554; -pub type LPSERVER_INFO_1554 = *mut SERVER_INFO_1554; -STRUCT!{struct SERVER_INFO_1555 { - sv1555_scavqosinfoupdatetime: DWORD, -}} -pub type PSERVER_INFO_1555 = *mut SERVER_INFO_1555; -pub type LPSERVER_INFO_1555 = *mut SERVER_INFO_1555; -STRUCT!{struct SERVER_INFO_1556 { - sv1556_maxworkitemidletime: DWORD, -}} -pub type PSERVER_INFO_1556 = *mut SERVER_INFO_1556; -pub type LPSERVER_INFO_1556 = *mut SERVER_INFO_1556; -STRUCT!{struct SERVER_INFO_1557 { - sv1557_maxrawworkitems: DWORD, -}} -pub type PSERVER_INFO_1557 = *mut SERVER_INFO_1557; -pub type LPSERVER_INFO_1557 = *mut SERVER_INFO_1557; -STRUCT!{struct SERVER_INFO_1560 { - sv1560_producttype: DWORD, -}} -pub type PSERVER_INFO_1560 = *mut SERVER_INFO_1560; -pub type LPSERVER_INFO_1560 = *mut SERVER_INFO_1560; -STRUCT!{struct SERVER_INFO_1561 { - sv1561_serversize: DWORD, -}} -pub type PSERVER_INFO_1561 = *mut SERVER_INFO_1561; -pub type LPSERVER_INFO_1561 = *mut SERVER_INFO_1561; -STRUCT!{struct SERVER_INFO_1562 { - sv1562_connectionlessautodisc: DWORD, -}} -pub type PSERVER_INFO_1562 = *mut SERVER_INFO_1562; -pub type LPSERVER_INFO_1562 = *mut SERVER_INFO_1562; -STRUCT!{struct SERVER_INFO_1563 { - sv1563_sharingviolationretries: DWORD, -}} -pub type PSERVER_INFO_1563 = *mut SERVER_INFO_1563; -pub type LPSERVER_INFO_1563 = *mut SERVER_INFO_1563; -STRUCT!{struct SERVER_INFO_1564 { - sv1564_sharingviolationdelay: DWORD, -}} -pub type PSERVER_INFO_1564 = *mut SERVER_INFO_1564; -pub type LPSERVER_INFO_1564 = *mut SERVER_INFO_1564; -STRUCT!{struct SERVER_INFO_1565 { - sv1565_maxglobalopensearch: DWORD, -}} -pub type PSERVER_INFO_1565 = *mut SERVER_INFO_1565; -pub type LPSERVER_INFO_1565 = *mut SERVER_INFO_1565; -STRUCT!{struct SERVER_INFO_1566 { - sv1566_removeduplicatesearches: BOOL, -}} -pub type PSERVER_INFO_1566 = *mut SERVER_INFO_1566; -pub type LPSERVER_INFO_1566 = *mut SERVER_INFO_1566; -STRUCT!{struct SERVER_INFO_1567 { - sv1567_lockviolationretries: DWORD, -}} -pub type PSERVER_INFO_1567 = *mut SERVER_INFO_1567; -pub type LPSERVER_INFO_1567 = *mut SERVER_INFO_1567; -STRUCT!{struct SERVER_INFO_1568 { - sv1568_lockviolationoffset: DWORD, -}} -pub type PSERVER_INFO_1568 = *mut SERVER_INFO_1568; -pub type LPSERVER_INFO_1568 = *mut SERVER_INFO_1568; -STRUCT!{struct SERVER_INFO_1569 { - sv1569_lockviolationdelay: DWORD, -}} -pub type PSERVER_INFO_1569 = *mut SERVER_INFO_1569; -pub type LPSERVER_INFO_1569 = *mut SERVER_INFO_1569; -STRUCT!{struct SERVER_INFO_1570 { - sv1570_mdlreadswitchover: DWORD, -}} -pub type PSERVER_INFO_1570 = *mut SERVER_INFO_1570; -pub type LPSERVER_INFO_1570 = *mut SERVER_INFO_1570; -STRUCT!{struct SERVER_INFO_1571 { - sv1571_cachedopenlimit: DWORD, -}} -pub type PSERVER_INFO_1571 = *mut SERVER_INFO_1571; -pub type LPSERVER_INFO_1571 = *mut SERVER_INFO_1571; -STRUCT!{struct SERVER_INFO_1572 { - sv1572_criticalthreads: DWORD, -}} -pub type PSERVER_INFO_1572 = *mut SERVER_INFO_1572; -pub type LPSERVER_INFO_1572 = *mut SERVER_INFO_1572; -STRUCT!{struct SERVER_INFO_1573 { - sv1573_restrictnullsessaccess: DWORD, -}} -pub type PSERVER_INFO_1573 = *mut SERVER_INFO_1573; -pub type LPSERVER_INFO_1573 = *mut SERVER_INFO_1573; -STRUCT!{struct SERVER_INFO_1574 { - sv1574_enablewfw311directipx: DWORD, -}} -pub type PSERVER_INFO_1574 = *mut SERVER_INFO_1574; -pub type LPSERVER_INFO_1574 = *mut SERVER_INFO_1574; -STRUCT!{struct SERVER_INFO_1575 { - sv1575_otherqueueaffinity: DWORD, -}} -pub type PSERVER_INFO_1575 = *mut SERVER_INFO_1575; -pub type LPSERVER_INFO_1575 = *mut SERVER_INFO_1575; -STRUCT!{struct SERVER_INFO_1576 { - sv1576_queuesamplesecs: DWORD, -}} -pub type PSERVER_INFO_1576 = *mut SERVER_INFO_1576; -pub type LPSERVER_INFO_1576 = *mut SERVER_INFO_1576; -STRUCT!{struct SERVER_INFO_1577 { - sv1577_balancecount: DWORD, -}} -pub type PSERVER_INFO_1577 = *mut SERVER_INFO_1577; -pub type LPSERVER_INFO_1577 = *mut SERVER_INFO_1577; -STRUCT!{struct SERVER_INFO_1578 { - sv1578_preferredaffinity: DWORD, -}} -pub type PSERVER_INFO_1578 = *mut SERVER_INFO_1578; -pub type LPSERVER_INFO_1578 = *mut SERVER_INFO_1578; -STRUCT!{struct SERVER_INFO_1579 { - sv1579_maxfreerfcbs: DWORD, -}} -pub type PSERVER_INFO_1579 = *mut SERVER_INFO_1579; -pub type LPSERVER_INFO_1579 = *mut SERVER_INFO_1579; -STRUCT!{struct SERVER_INFO_1580 { - sv1580_maxfreemfcbs: DWORD, -}} -pub type PSERVER_INFO_1580 = *mut SERVER_INFO_1580; -pub type LPSERVER_INFO_1580 = *mut SERVER_INFO_1580; -STRUCT!{struct SERVER_INFO_1581 { - sv1581_maxfreemlcbs: DWORD, -}} -pub type PSERVER_INFO_1581 = *mut SERVER_INFO_1581; -pub type LPSERVER_INFO_1581 = *mut SERVER_INFO_1581; -STRUCT!{struct SERVER_INFO_1582 { - sv1582_maxfreepagedpoolchunks: DWORD, -}} -pub type PSERVER_INFO_1582 = *mut SERVER_INFO_1582; -pub type LPSERVER_INFO_1582 = *mut SERVER_INFO_1582; -STRUCT!{struct SERVER_INFO_1583 { - sv1583_minpagedpoolchunksize: DWORD, -}} -pub type PSERVER_INFO_1583 = *mut SERVER_INFO_1583; -pub type LPSERVER_INFO_1583 = *mut SERVER_INFO_1583; -STRUCT!{struct SERVER_INFO_1584 { - sv1584_maxpagedpoolchunksize: DWORD, -}} -pub type PSERVER_INFO_1584 = *mut SERVER_INFO_1584; -pub type LPSERVER_INFO_1584 = *mut SERVER_INFO_1584; -STRUCT!{struct SERVER_INFO_1585 { - sv1585_sendsfrompreferredprocessor: BOOL, -}} -pub type PSERVER_INFO_1585 = *mut SERVER_INFO_1585; -pub type LPSERVER_INFO_1585 = *mut SERVER_INFO_1585; -STRUCT!{struct SERVER_INFO_1586 { - sv1586_maxthreadsperqueue: DWORD, -}} -pub type PSERVER_INFO_1586 = *mut SERVER_INFO_1586; -pub type LPSERVER_INFO_1586 = *mut SERVER_INFO_1586; -STRUCT!{struct SERVER_INFO_1587 { - sv1587_cacheddirectorylimit: DWORD, -}} -pub type PSERVER_INFO_1587 = *mut SERVER_INFO_1587; -pub type LPSERVER_INFO_1587 = *mut SERVER_INFO_1587; -STRUCT!{struct SERVER_INFO_1588 { - sv1588_maxcopylength: DWORD, -}} -pub type PSERVER_INFO_1588 = *mut SERVER_INFO_1588; -pub type LPSERVER_INFO_1588 = *mut SERVER_INFO_1588; -STRUCT!{struct SERVER_INFO_1590 { - sv1590_enablecompression: DWORD, -}} -pub type PSERVER_INFO_1590 = *mut SERVER_INFO_1590; -pub type LPSERVER_INFO_1590 = *mut SERVER_INFO_1590; -STRUCT!{struct SERVER_INFO_1591 { - sv1591_autosharewks: DWORD, -}} -pub type PSERVER_INFO_1591 = *mut SERVER_INFO_1591; -pub type LPSERVER_INFO_1591 = *mut SERVER_INFO_1591; -STRUCT!{struct SERVER_INFO_1592 { - sv1592_autosharewks: DWORD, -}} -pub type PSERVER_INFO_1592 = *mut SERVER_INFO_1592; -pub type LPSERVER_INFO_1592 = *mut SERVER_INFO_1592; -STRUCT!{struct SERVER_INFO_1593 { - sv1593_enablesecuritysignature: DWORD, -}} -pub type PSERVER_INFO_1593 = *mut SERVER_INFO_1593; -pub type LPSERVER_INFO_1593 = *mut SERVER_INFO_1593; -STRUCT!{struct SERVER_INFO_1594 { - sv1594_requiresecuritysignature: DWORD, -}} -pub type PSERVER_INFO_1594 = *mut SERVER_INFO_1594; -pub type LPSERVER_INFO_1594 = *mut SERVER_INFO_1594; -STRUCT!{struct SERVER_INFO_1595 { - sv1595_minclientbuffersize: DWORD, -}} -pub type PSERVER_INFO_1595 = *mut SERVER_INFO_1595; -pub type LPSERVER_INFO_1595 = *mut SERVER_INFO_1595; -STRUCT!{struct SERVER_INFO_1596 { - sv1596_ConnectionNoSessionsTimeout: DWORD, -}} -pub type PSERVER_INFO_1596 = *mut SERVER_INFO_1596; -pub type LPSERVER_INFO_1596 = *mut SERVER_INFO_1596; -STRUCT!{struct SERVER_INFO_1597 { - sv1597_IdleThreadTimeOut: DWORD, -}} -pub type PSERVER_INFO_1597 = *mut SERVER_INFO_1597; -pub type LPSERVER_INFO_1597 = *mut SERVER_INFO_1597; -STRUCT!{struct SERVER_INFO_1598 { - sv1598_enableW9xsecuritysignature: DWORD, -}} -pub type PSERVER_INFO_1598 = *mut SERVER_INFO_1598; -pub type LPSERVER_INFO_1598 = *mut SERVER_INFO_1598; -STRUCT!{struct SERVER_INFO_1599 { - sv1598_enforcekerberosreauthentication: BOOLEAN, -}} -pub type PSERVER_INFO_1599 = *mut SERVER_INFO_1599; -pub type LPSERVER_INFO_1599 = *mut SERVER_INFO_1599; -STRUCT!{struct SERVER_INFO_1600 { - sv1598_disabledos: BOOLEAN, -}} -pub type PSERVER_INFO_1600 = *mut SERVER_INFO_1600; -pub type LPSERVER_INFO_1600 = *mut SERVER_INFO_1600; -STRUCT!{struct SERVER_INFO_1601 { - sv1598_lowdiskspaceminimum: DWORD, -}} -pub type PSERVER_INFO_1601 = *mut SERVER_INFO_1601; -pub type LPSERVER_INFO_1601 = *mut SERVER_INFO_1601; -STRUCT!{struct SERVER_INFO_1602 { - sv_1598_disablestrictnamechecking: BOOL, -}} -pub type PSERVER_INFO_1602 = *mut SERVER_INFO_1602; -pub type LPSERVER_INFO_1602 = *mut SERVER_INFO_1602; -STRUCT!{struct SERVER_TRANSPORT_INFO_0 { - svti0_numberofvcs: DWORD, - svti0_transportname: LMSTR, - svti0_transportaddress: LPBYTE, - svti0_transportaddresslength: DWORD, - svti0_networkaddress: LMSTR, -}} -pub type PSERVER_TRANSPORT_INFO_0 = *mut SERVER_TRANSPORT_INFO_0; -pub type LPSERVER_TRANSPORT_INFO_0 = *mut SERVER_TRANSPORT_INFO_0; -STRUCT!{struct SERVER_TRANSPORT_INFO_1 { - svti1_numberofvcs: DWORD, - svti1_transportname: LMSTR, - svti1_transportaddress: LPBYTE, - svti1_transportaddresslength: DWORD, - svti1_networkaddress: LMSTR, - svti1_domain: LMSTR, -}} -pub type PSERVER_TRANSPORT_INFO_1 = *mut SERVER_TRANSPORT_INFO_1; -pub type LPSERVER_TRANSPORT_INFO_1 = *mut SERVER_TRANSPORT_INFO_1; -STRUCT!{struct SERVER_TRANSPORT_INFO_2 { - svti2_numberofvcs: DWORD, - svti2_transportname: LMSTR, - svti2_transportaddress: LPBYTE, - svti2_transportaddresslength: DWORD, - svti2_networkaddress: LMSTR, - svti2_domain: LMSTR, - svti2_flags: ULONG, -}} -pub type PSERVER_TRANSPORT_INFO_2 = *mut SERVER_TRANSPORT_INFO_2; -pub type LPSERVER_TRANSPORT_INFO_2 = *mut SERVER_TRANSPORT_INFO_2; -STRUCT!{struct SERVER_TRANSPORT_INFO_3 { - svti3_numberofvcs: DWORD, - svti3_transportname: LMSTR, - svti3_transportaddress: LPBYTE, - svti3_transportaddresslength: DWORD, - svti3_networkaddress: LMSTR, - svti3_domain: LMSTR, - svti3_flags: ULONG, - svti3_passwordlength: DWORD, - svti3_password: [BYTE; 256], -}} -pub type PSERVER_TRANSPORT_INFO_3 = *mut SERVER_TRANSPORT_INFO_3; -pub type LPSERVER_TRANSPORT_INFO_3 = *mut SERVER_TRANSPORT_INFO_3; -pub const SV_PLATFORM_ID_OS2: DWORD = 400; -pub const SV_PLATFORM_ID_NT: DWORD = 500; -pub const MAJOR_VERSION_MASK: DWORD = 0x0F; -pub const SV_TYPE_WORKSTATION: DWORD = 0x00000001; -pub const SV_TYPE_SERVER: DWORD = 0x00000002; -pub const SV_TYPE_SQLSERVER: DWORD = 0x00000004; -pub const SV_TYPE_DOMAIN_CTRL: DWORD = 0x00000008; -pub const SV_TYPE_DOMAIN_BAKCTRL: DWORD = 0x00000010; -pub const SV_TYPE_TIME_SOURCE: DWORD = 0x00000020; -pub const SV_TYPE_AFP: DWORD = 0x00000040; -pub const SV_TYPE_NOVELL: DWORD = 0x00000080; -pub const SV_TYPE_DOMAIN_MEMBER: DWORD = 0x00000100; -pub const SV_TYPE_PRINTQ_SERVER: DWORD = 0x00000200; -pub const SV_TYPE_DIALIN_SERVER: DWORD = 0x00000400; -pub const SV_TYPE_XENIX_SERVER: DWORD = 0x00000800; -pub const SV_TYPE_SERVER_UNIX: DWORD = SV_TYPE_XENIX_SERVER; -pub const SV_TYPE_NT: DWORD = 0x00001000; -pub const SV_TYPE_WFW: DWORD = 0x00002000; -pub const SV_TYPE_SERVER_MFPN: DWORD = 0x00004000; -pub const SV_TYPE_SERVER_NT: DWORD = 0x00008000; -pub const SV_TYPE_POTENTIAL_BROWSER: DWORD = 0x00010000; -pub const SV_TYPE_BACKUP_BROWSER: DWORD = 0x00020000; -pub const SV_TYPE_MASTER_BROWSER: DWORD = 0x00040000; -pub const SV_TYPE_DOMAIN_MASTER: DWORD = 0x00080000; -pub const SV_TYPE_SERVER_OSF: DWORD = 0x00100000; -pub const SV_TYPE_SERVER_VMS: DWORD = 0x00200000; -pub const SV_TYPE_WINDOWS: DWORD = 0x00400000; -pub const SV_TYPE_DFS: DWORD = 0x00800000; -pub const SV_TYPE_CLUSTER_NT: DWORD = 0x01000000; -pub const SV_TYPE_TERMINALSERVER: DWORD = 0x02000000; -pub const SV_TYPE_CLUSTER_VS_NT: DWORD = 0x04000000; -pub const SV_TYPE_DCE: DWORD = 0x10000000; -pub const SV_TYPE_ALTERNATE_XPORT: DWORD = 0x20000000; -pub const SV_TYPE_LOCAL_LIST_ONLY: DWORD = 0x40000000; -pub const SV_TYPE_DOMAIN_ENUM: DWORD = 0x80000000; -pub const SV_TYPE_ALL: DWORD = 0xFFFFFFFF; -pub const SV_NODISC: DWORD = -1i32 as u32; -pub const SV_USERSECURITY: DWORD = 1; -pub const SV_SHARESECURITY: DWORD = 0; -pub const SV_HIDDEN: DWORD = 1; -pub const SV_VISIBLE: DWORD = 0; -pub const SV_PLATFORM_ID_PARMNUM: DWORD = 101; -pub const SV_NAME_PARMNUM: DWORD = 102; -pub const SV_VERSION_MAJOR_PARMNUM: DWORD = 103; -pub const SV_VERSION_MINOR_PARMNUM: DWORD = 104; -pub const SV_TYPE_PARMNUM: DWORD = 105; -pub const SV_COMMENT_PARMNUM: DWORD = 5; -pub const SV_USERS_PARMNUM: DWORD = 107; -pub const SV_DISC_PARMNUM: DWORD = 10; -pub const SV_HIDDEN_PARMNUM: DWORD = 16; -pub const SV_ANNOUNCE_PARMNUM: DWORD = 17; -pub const SV_ANNDELTA_PARMNUM: DWORD = 18; -pub const SV_USERPATH_PARMNUM: DWORD = 112; -pub const SV_ULIST_MTIME_PARMNUM: DWORD = 401; -pub const SV_GLIST_MTIME_PARMNUM: DWORD = 402; -pub const SV_ALIST_MTIME_PARMNUM: DWORD = 403; -pub const SV_ALERTS_PARMNUM: DWORD = 11; -pub const SV_SECURITY_PARMNUM: DWORD = 405; -pub const SV_NUMADMIN_PARMNUM: DWORD = 406; -pub const SV_LANMASK_PARMNUM: DWORD = 407; -pub const SV_GUESTACC_PARMNUM: DWORD = 408; -pub const SV_CHDEVQ_PARMNUM: DWORD = 410; -pub const SV_CHDEVJOBS_PARMNUM: DWORD = 411; -pub const SV_CONNECTIONS_PARMNUM: DWORD = 412; -pub const SV_SHARES_PARMNUM: DWORD = 413; -pub const SV_OPENFILES_PARMNUM: DWORD = 414; -pub const SV_SESSREQS_PARMNUM: DWORD = 417; -pub const SV_ACTIVELOCKS_PARMNUM: DWORD = 419; -pub const SV_NUMREQBUF_PARMNUM: DWORD = 420; -pub const SV_NUMBIGBUF_PARMNUM: DWORD = 422; -pub const SV_NUMFILETASKS_PARMNUM: DWORD = 423; -pub const SV_ALERTSCHED_PARMNUM: DWORD = 37; -pub const SV_ERRORALERT_PARMNUM: DWORD = 38; -pub const SV_LOGONALERT_PARMNUM: DWORD = 39; -pub const SV_ACCESSALERT_PARMNUM: DWORD = 40; -pub const SV_DISKALERT_PARMNUM: DWORD = 41; -pub const SV_NETIOALERT_PARMNUM: DWORD = 42; -pub const SV_MAXAUDITSZ_PARMNUM: DWORD = 43; -pub const SV_SRVHEURISTICS_PARMNUM: DWORD = 431; -pub const SV_SESSOPENS_PARMNUM: DWORD = 501; -pub const SV_SESSVCS_PARMNUM: DWORD = 502; -pub const SV_OPENSEARCH_PARMNUM: DWORD = 503; -pub const SV_SIZREQBUF_PARMNUM: DWORD = 504; -pub const SV_INITWORKITEMS_PARMNUM: DWORD = 505; -pub const SV_MAXWORKITEMS_PARMNUM: DWORD = 506; -pub const SV_RAWWORKITEMS_PARMNUM: DWORD = 507; -pub const SV_IRPSTACKSIZE_PARMNUM: DWORD = 508; -pub const SV_MAXRAWBUFLEN_PARMNUM: DWORD = 509; -pub const SV_SESSUSERS_PARMNUM: DWORD = 510; -pub const SV_SESSCONNS_PARMNUM: DWORD = 511; -pub const SV_MAXNONPAGEDMEMORYUSAGE_PARMNUM: DWORD = 512; -pub const SV_MAXPAGEDMEMORYUSAGE_PARMNUM: DWORD = 513; -pub const SV_ENABLESOFTCOMPAT_PARMNUM: DWORD = 514; -pub const SV_ENABLEFORCEDLOGOFF_PARMNUM: DWORD = 515; -pub const SV_TIMESOURCE_PARMNUM: DWORD = 516; -pub const SV_ACCEPTDOWNLEVELAPIS_PARMNUM: DWORD = 517; -pub const SV_LMANNOUNCE_PARMNUM: DWORD = 518; -pub const SV_DOMAIN_PARMNUM: DWORD = 519; -pub const SV_MAXCOPYREADLEN_PARMNUM: DWORD = 520; -pub const SV_MAXCOPYWRITELEN_PARMNUM: DWORD = 521; -pub const SV_MINKEEPSEARCH_PARMNUM: DWORD = 522; -pub const SV_MAXKEEPSEARCH_PARMNUM: DWORD = 523; -pub const SV_MINKEEPCOMPLSEARCH_PARMNUM: DWORD = 524; -pub const SV_MAXKEEPCOMPLSEARCH_PARMNUM: DWORD = 525; -pub const SV_THREADCOUNTADD_PARMNUM: DWORD = 526; -pub const SV_NUMBLOCKTHREADS_PARMNUM: DWORD = 527; -pub const SV_SCAVTIMEOUT_PARMNUM: DWORD = 528; -pub const SV_MINRCVQUEUE_PARMNUM: DWORD = 529; -pub const SV_MINFREEWORKITEMS_PARMNUM: DWORD = 530; -pub const SV_XACTMEMSIZE_PARMNUM: DWORD = 531; -pub const SV_THREADPRIORITY_PARMNUM: DWORD = 532; -pub const SV_MAXMPXCT_PARMNUM: DWORD = 533; -pub const SV_OPLOCKBREAKWAIT_PARMNUM: DWORD = 534; -pub const SV_OPLOCKBREAKRESPONSEWAIT_PARMNUM: DWORD = 535; -pub const SV_ENABLEOPLOCKS_PARMNUM: DWORD = 536; -pub const SV_ENABLEOPLOCKFORCECLOSE_PARMNUM: DWORD = 537; -pub const SV_ENABLEFCBOPENS_PARMNUM: DWORD = 538; -pub const SV_ENABLERAW_PARMNUM: DWORD = 539; -pub const SV_ENABLESHAREDNETDRIVES_PARMNUM: DWORD = 540; -pub const SV_MINFREECONNECTIONS_PARMNUM: DWORD = 541; -pub const SV_MAXFREECONNECTIONS_PARMNUM: DWORD = 542; -pub const SV_INITSESSTABLE_PARMNUM: DWORD = 543; -pub const SV_INITCONNTABLE_PARMNUM: DWORD = 544; -pub const SV_INITFILETABLE_PARMNUM: DWORD = 545; -pub const SV_INITSEARCHTABLE_PARMNUM: DWORD = 546; -pub const SV_ALERTSCHEDULE_PARMNUM: DWORD = 547; -pub const SV_ERRORTHRESHOLD_PARMNUM: DWORD = 548; -pub const SV_NETWORKERRORTHRESHOLD_PARMNUM: DWORD = 549; -pub const SV_DISKSPACETHRESHOLD_PARMNUM: DWORD = 550; -pub const SV_MAXLINKDELAY_PARMNUM: DWORD = 552; -pub const SV_MINLINKTHROUGHPUT_PARMNUM: DWORD = 553; -pub const SV_LINKINFOVALIDTIME_PARMNUM: DWORD = 554; -pub const SV_SCAVQOSINFOUPDATETIME_PARMNUM: DWORD = 555; -pub const SV_MAXWORKITEMIDLETIME_PARMNUM: DWORD = 556; -pub const SV_MAXRAWWORKITEMS_PARMNUM: DWORD = 557; -pub const SV_PRODUCTTYPE_PARMNUM: DWORD = 560; -pub const SV_SERVERSIZE_PARMNUM: DWORD = 561; -pub const SV_CONNECTIONLESSAUTODISC_PARMNUM: DWORD = 562; -pub const SV_SHARINGVIOLATIONRETRIES_PARMNUM: DWORD = 563; -pub const SV_SHARINGVIOLATIONDELAY_PARMNUM: DWORD = 564; -pub const SV_MAXGLOBALOPENSEARCH_PARMNUM: DWORD = 565; -pub const SV_REMOVEDUPLICATESEARCHES_PARMNUM: DWORD = 566; -pub const SV_LOCKVIOLATIONRETRIES_PARMNUM: DWORD = 567; -pub const SV_LOCKVIOLATIONOFFSET_PARMNUM: DWORD = 568; -pub const SV_LOCKVIOLATIONDELAY_PARMNUM: DWORD = 569; -pub const SV_MDLREADSWITCHOVER_PARMNUM: DWORD = 570; -pub const SV_CACHEDOPENLIMIT_PARMNUM: DWORD = 571; -pub const SV_CRITICALTHREADS_PARMNUM: DWORD = 572; -pub const SV_RESTRICTNULLSESSACCESS_PARMNUM: DWORD = 573; -pub const SV_ENABLEWFW311DIRECTIPX_PARMNUM: DWORD = 574; -pub const SV_OTHERQUEUEAFFINITY_PARMNUM: DWORD = 575; -pub const SV_QUEUESAMPLESECS_PARMNUM: DWORD = 576; -pub const SV_BALANCECOUNT_PARMNUM: DWORD = 577; -pub const SV_PREFERREDAFFINITY_PARMNUM: DWORD = 578; -pub const SV_MAXFREERFCBS_PARMNUM: DWORD = 579; -pub const SV_MAXFREEMFCBS_PARMNUM: DWORD = 580; -pub const SV_MAXFREELFCBS_PARMNUM: DWORD = 581; -pub const SV_MAXFREEPAGEDPOOLCHUNKS_PARMNUM: DWORD = 582; -pub const SV_MINPAGEDPOOLCHUNKSIZE_PARMNUM: DWORD = 583; -pub const SV_MAXPAGEDPOOLCHUNKSIZE_PARMNUM: DWORD = 584; -pub const SV_SENDSFROMPREFERREDPROCESSOR_PARMNUM: DWORD = 585; -pub const SV_MAXTHREADSPERQUEUE_PARMNUM: DWORD = 586; -pub const SV_CACHEDDIRECTORYLIMIT_PARMNUM: DWORD = 587; -pub const SV_MAXCOPYLENGTH_PARMNUM: DWORD = 588; -pub const SV_ENABLECOMPRESSION_PARMNUM: DWORD = 590; -pub const SV_AUTOSHAREWKS_PARMNUM: DWORD = 591; -pub const SV_AUTOSHARESERVER_PARMNUM: DWORD = 592; -pub const SV_ENABLESECURITYSIGNATURE_PARMNUM: DWORD = 593; -pub const SV_REQUIRESECURITYSIGNATURE_PARMNUM: DWORD = 594; -pub const SV_MINCLIENTBUFFERSIZE_PARMNUM: DWORD = 595; -pub const SV_CONNECTIONNOSESSIONSTIMEOUT_PARMNUM: DWORD = 596; -pub const SV_IDLETHREADTIMEOUT_PARMNUM: DWORD = 597; -pub const SV_ENABLEW9XSECURITYSIGNATURE_PARMNUM: DWORD = 598; -pub const SV_ENFORCEKERBEROSREAUTHENTICATION_PARMNUM: DWORD = 599; -pub const SV_DISABLEDOS_PARMNUM: DWORD = 600; -pub const SV_LOWDISKSPACEMINIMUM_PARMNUM: DWORD = 601; -pub const SV_DISABLESTRICTNAMECHECKING_PARMNUM: DWORD = 602; -pub const SV_ENABLEAUTHENTICATEUSERSHARING_PARMNUM: DWORD = 603; -pub const SV_COMMENT_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_COMMENT_PARMNUM; -pub const SV_USERS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_USERS_PARMNUM; -pub const SV_DISC_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_DISC_PARMNUM; -pub const SV_HIDDEN_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_HIDDEN_PARMNUM; -pub const SV_ANNOUNCE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_ANNOUNCE_PARMNUM; -pub const SV_ANNDELTA_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_ANNDELTA_PARMNUM; -pub const SV_SESSOPENS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_SESSOPENS_PARMNUM; -pub const SV_SESSVCS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_SESSVCS_PARMNUM; -pub const SV_OPENSEARCH_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_OPENSEARCH_PARMNUM; -pub const SV_MAXWORKITEMS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_MAXWORKITEMS_PARMNUM; -pub const SV_MAXRAWBUFLEN_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_MAXRAWBUFLEN_PARMNUM; -pub const SV_SESSUSERS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_SESSUSERS_PARMNUM; -pub const SV_SESSCONNS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_SESSCONNS_PARMNUM; -pub const SV_MAXNONPAGEDMEMORYUSAGE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_MAXNONPAGEDMEMORYUSAGE_PARMNUM; -pub const SV_MAXPAGEDMEMORYUSAGE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_MAXPAGEDMEMORYUSAGE_PARMNUM; -pub const SV_ENABLESOFTCOMPAT_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_ENABLESOFTCOMPAT_PARMNUM; -pub const SV_ENABLEFORCEDLOGOFF_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_ENABLEFORCEDLOGOFF_PARMNUM; -pub const SV_TIMESOURCE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_TIMESOURCE_PARMNUM; -pub const SV_LMANNOUNCE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_LMANNOUNCE_PARMNUM; -pub const SV_MAXCOPYREADLEN_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_MAXCOPYREADLEN_PARMNUM; -pub const SV_MAXCOPYWRITELEN_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_MAXCOPYWRITELEN_PARMNUM; -pub const SV_MINKEEPSEARCH_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_MINKEEPSEARCH_PARMNUM; -pub const SV_MAXKEEPSEARCH_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_MAXKEEPSEARCH_PARMNUM; -pub const SV_MINKEEPCOMPLSEARCH_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_MINKEEPCOMPLSEARCH_PARMNUM; -pub const SV_MAXKEEPCOMPLSEARCH_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_MAXKEEPCOMPLSEARCH_PARMNUM; -pub const SV_SCAVTIMEOUT_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_SCAVTIMEOUT_PARMNUM; -pub const SV_MINRCVQUEUE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_MINRCVQUEUE_PARMNUM; -pub const SV_MINFREEWORKITEMS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_MINFREEWORKITEMS_PARMNUM; -pub const SV_MAXMPXCT_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_MAXMPXCT_PARMNUM; -pub const SV_OPLOCKBREAKWAIT_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_OPLOCKBREAKWAIT_PARMNUM; -pub const SV_OPLOCKBREAKRESPONSEWAIT_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_OPLOCKBREAKRESPONSEWAIT_PARMNUM; -pub const SV_ENABLEOPLOCKS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_ENABLEOPLOCKS_PARMNUM; -pub const SV_ENABLEOPLOCKFORCECLOSE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_ENABLEOPLOCKFORCECLOSE_PARMNUM; -pub const SV_ENABLEFCBOPENS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_ENABLEFCBOPENS_PARMNUM; -pub const SV_ENABLERAW_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_ENABLERAW_PARMNUM; -pub const SV_ENABLESHAREDNETDRIVES_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_ENABLESHAREDNETDRIVES_PARMNUM; -pub const SV_MINFREECONNECTIONS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_MINFREECONNECTIONS_PARMNUM; -pub const SV_MAXFREECONNECTIONS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_MAXFREECONNECTIONS_PARMNUM; -pub const SV_INITSESSTABLE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_INITSESSTABLE_PARMNUM; -pub const SV_INITCONNTABLE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_INITCONNTABLE_PARMNUM; -pub const SV_INITFILETABLE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_INITFILETABLE_PARMNUM; -pub const SV_INITSEARCHTABLE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_INITSEARCHTABLE_PARMNUM; -pub const SV_ALERTSCHEDULE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_ALERTSCHEDULE_PARMNUM; -pub const SV_ERRORTHRESHOLD_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_ERRORTHRESHOLD_PARMNUM; -pub const SV_NETWORKERRORTHRESHOLD_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_NETWORKERRORTHRESHOLD_PARMNUM; -pub const SV_DISKSPACETHRESHOLD_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_DISKSPACETHRESHOLD_PARMNUM; -pub const SV_MAXLINKDELAY_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_MAXLINKDELAY_PARMNUM; -pub const SV_MINLINKTHROUGHPUT_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_MINLINKTHROUGHPUT_PARMNUM; -pub const SV_LINKINFOVALIDTIME_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_LINKINFOVALIDTIME_PARMNUM; -pub const SV_SCAVQOSINFOUPDATETIME_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_SCAVQOSINFOUPDATETIME_PARMNUM; -pub const SV_MAXWORKITEMIDLETIME_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_MAXWORKITEMIDLETIME_PARMNUM; -pub const SV_MAXRAWWORKITEMS_INFOLOEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_MAXRAWWORKITEMS_PARMNUM; -pub const SV_PRODUCTTYPE_INFOLOEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_PRODUCTTYPE_PARMNUM; -pub const SV_SERVERSIZE_INFOLOEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_SERVERSIZE_PARMNUM; -pub const SV_CONNECTIONLESSAUTODISC_INFOLOEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_CONNECTIONLESSAUTODISC_PARMNUM; -pub const SV_SHARINGVIOLATIONRETRIES_INFOLOEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_SHARINGVIOLATIONRETRIES_PARMNUM; -pub const SV_SHARINGVIOLATIONDELAY_INFOLOEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_SHARINGVIOLATIONDELAY_PARMNUM; -pub const SV_MAXGLOBALOPENSEARCH_INFOLOEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_MAXGLOBALOPENSEARCH_PARMNUM; -pub const SV_REMOVEDUPLICATESEARCHES_INFOLOEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_REMOVEDUPLICATESEARCHES_PARMNUM; -pub const SV_LOCKVIOLATIONRETRIES_INFOLOEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_LOCKVIOLATIONRETRIES_PARMNUM; -pub const SV_LOCKVIOLATIONOFFSET_INFOLOEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_LOCKVIOLATIONOFFSET_PARMNUM; -pub const SV_LOCKVIOLATIONDELAY_INFOLOEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_LOCKVIOLATIONDELAY_PARMNUM; -pub const SV_MDLREADSWITCHOVER_INFOLOEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_MDLREADSWITCHOVER_PARMNUM; -pub const SV_CACHEDOPENLIMIT_INFOLOEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_CACHEDOPENLIMIT_PARMNUM; -pub const SV_CRITICALTHREADS_INFOLOEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_CRITICALTHREADS_PARMNUM; -pub const SV_RESTRICTNULLSESSACCESS_INFOLOEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_RESTRICTNULLSESSACCESS_PARMNUM; -pub const SV_ENABLEWFW311DIRECTIPX_INFOLOEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_ENABLEWFW311DIRECTIPX_PARMNUM; -pub const SV_OTHERQUEUEAFFINITY_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_OTHERQUEUEAFFINITY_PARMNUM; -pub const SV_QUEUESAMPLESECS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_QUEUESAMPLESECS_PARMNUM; -pub const SV_BALANCECOUNT_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_BALANCECOUNT_PARMNUM; -pub const SV_PREFERREDAFFINITY_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_PREFERREDAFFINITY_PARMNUM; -pub const SV_MAXFREERFCBS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_MAXFREERFCBS_PARMNUM; -pub const SV_MAXFREEMFCBS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_MAXFREEMFCBS_PARMNUM; -pub const SV_MAXFREELFCBS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_MAXFREELFCBS_PARMNUM; -pub const SV_MAXFREEPAGEDPOOLCHUNKS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_MAXFREEPAGEDPOOLCHUNKS_PARMNUM; -pub const SV_MINPAGEDPOOLCHUNKSIZE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_MINPAGEDPOOLCHUNKSIZE_PARMNUM; -pub const SV_MAXPAGEDPOOLCHUNKSIZE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_MAXPAGEDPOOLCHUNKSIZE_PARMNUM; -pub const SV_SENDSFROMPREFERREDPROCESSOR_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_SENDSFROMPREFERREDPROCESSOR_PARMNUM; -pub const SV_MAXTHREADSPERQUEUE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_MAXTHREADSPERQUEUE_PARMNUM; -pub const SV_CACHEDDIRECTORYLIMIT_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_CACHEDDIRECTORYLIMIT_PARMNUM; -pub const SV_MAXCOPYLENGTH_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_MAXCOPYLENGTH_PARMNUM; -pub const SV_ENABLECOMPRESSION_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_ENABLECOMPRESSION_PARMNUM; -pub const SV_AUTOSHAREWKS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_AUTOSHAREWKS_PARMNUM; -pub const SV_AUTOSHARESERVER_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_AUTOSHARESERVER_PARMNUM; -pub const SV_ENABLESECURITYSIGNATURE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_ENABLESECURITYSIGNATURE_PARMNUM; -pub const SV_REQUIRESECURITYSIGNATURE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_REQUIRESECURITYSIGNATURE_PARMNUM; -pub const SV_MINCLIENTBUFFERSIZE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_MINCLIENTBUFFERSIZE_PARMNUM; -pub const SV_CONNECTIONNOSESSIONSTIMEOUT_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_CONNECTIONNOSESSIONSTIMEOUT_PARMNUM; -pub const SV_IDLETHREADTIMEOUT_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_IDLETHREADTIMEOUT_PARMNUM; -pub const SV_ENABLEW9XSECURITYSIGNATURE_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_ENABLEW9XSECURITYSIGNATURE_PARMNUM; -pub const SV_ENFORCEKERBEROSREAUTHENTICATION_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_ENFORCEKERBEROSREAUTHENTICATION_PARMNUM; -pub const SV_DISABLEDOS_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SV_DISABLEDOS_PARMNUM; -pub const SV_LOWDISKSPACEMINIMUM_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_LOWDISKSPACEMINIMUM_PARMNUM; -pub const SV_DISABLESTRICTNAMECHECKING_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_DISABLESTRICTNAMECHECKING_PARMNUM; -pub const SV_ENABLEAUTHENTICATEUSERSHARING_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL - + SV_ENABLEAUTHENTICATEUSERSHARING_PARMNUM; -pub const SVI1_NUM_ELEMENTS: DWORD = 5; -pub const SVI2_NUM_ELEMENTS: DWORD = 40; -pub const SVI3_NUM_ELEMENTS: DWORD = 44; -pub const SV_MAX_CMD_LEN: DWORD = PATHLEN; -pub const SW_AUTOPROF_LOAD_MASK: DWORD = 0x1; -pub const SW_AUTOPROF_SAVE_MASK: DWORD = 0x2; -pub const SV_MAX_SRV_HEUR_LEN: DWORD = 32; -pub const SV_USERS_PER_LICENSE: DWORD = 5; -pub const SVTI2_REMAP_PIPE_NAMES: DWORD = 0x02; -pub const SVTI2_SCOPED_NAME: DWORD = 0x04; -pub const SVTI2_CLUSTER_NAME: DWORD = 0x08; -pub const SVTI2_CLUSTER_DNN_NAME: DWORD = 0x10; -pub const SVTI2_UNICODE_TRANSPORT_ADDRESS: DWORD = 0x20; -pub const SVTI2_RESERVED1: DWORD = 0x1000; -pub const SVTI2_RESERVED2: DWORD = 0x2000; -pub const SVTI2_RESERVED3: DWORD = 0x4000; -pub const SVTI2_VALID_FLAGS: DWORD = SVTI2_REMAP_PIPE_NAMES | SVTI2_SCOPED_NAME - | SVTI2_CLUSTER_NAME | SVTI2_CLUSTER_DNN_NAME | SVTI2_UNICODE_TRANSPORT_ADDRESS; -pub const SRV_SUPPORT_HASH_GENERATION: DWORD = 0x0001; -pub const SRV_HASH_GENERATION_ACTIVE: DWORD = 0x0002; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/lmshare.rs b/vendor/registry-40351f815f426200/winapi/src/um/lmshare.rs deleted file mode 100644 index 3024ac3aa..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/lmshare.rs +++ /dev/null @@ -1,379 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This module defines the API function prototypes and data structures -use shared::basetsd::PDWORD_PTR; -use shared::guiddef::GUID; -use shared::lmcons::{LMSTR, NET_API_STATUS, PARMNUM_BASE_INFOLEVEL}; -use shared::minwindef::{DWORD, LPBYTE, LPDWORD, ULONG}; -use um::winnt::{BOOLEAN, PSECURITY_DESCRIPTOR}; -extern "system" { - pub fn NetShareAdd( - servername: LMSTR, - level: DWORD, - buf: LPBYTE, - parm_err: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetShareEnum( - servername: LMSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - resumehandle: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetShareEnumSticky( - servername: LMSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - resumehandle: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetShareGetInfo( - servername: LMSTR, - netname: LMSTR, - level: DWORD, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn NetShareSetInfo( - servername: LMSTR, - netname: LMSTR, - level: DWORD, - buf: LPBYTE, - parm_err: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetShareDel( - servername: LMSTR, - netname: LMSTR, - reserved: DWORD, - ) -> NET_API_STATUS; - pub fn NetShareDelSticky( - servername: LMSTR, - netname: LMSTR, - reserved: DWORD, - ) -> NET_API_STATUS; - pub fn NetShareCheck( - servername: LMSTR, - device: LMSTR, - _type: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetShareDelEx( - servername: LMSTR, - level: DWORD, - buf: LPBYTE, - ) -> NET_API_STATUS; -} -STRUCT!{struct SHARE_INFO_0 { - shi0_netname: LMSTR, -}} -pub type PSHARE_INFO_0 = *mut SHARE_INFO_0; -pub type LPSHARE_INFO_0 = *mut SHARE_INFO_0; -STRUCT!{struct SHARE_INFO_1 { - shi1_netname: LMSTR, - shi1_type: DWORD, - shi1_remark: LMSTR, -}} -pub type PSHARE_INFO_1 = *mut SHARE_INFO_1; -pub type LPSHARE_INFO_1 = *mut SHARE_INFO_1; -STRUCT!{struct SHARE_INFO_2 { - shi2_netname: LMSTR, - shi2_type: DWORD, - shi2_remark: LMSTR, - shi2_permissions: DWORD, - shi2_max_uses: DWORD, - shi2_current_uses: DWORD, - shi2_path: LMSTR, - shi2_passwd: LMSTR, -}} -pub type PSHARE_INFO_2 = *mut SHARE_INFO_2; -pub type LPSHARE_INFO_2 = *mut SHARE_INFO_2; -STRUCT!{struct SHARE_INFO_501 { - shi501_netname: LMSTR, - shi501_type: DWORD, - shi501_remark: LMSTR, - shi501_flags: DWORD, -}} -pub type PSHARE_INFO_501 = *mut SHARE_INFO_501; -pub type LPSHARE_INFO_501 = *mut SHARE_INFO_501; -STRUCT!{struct SHARE_INFO_502 { - shi502_netname: LMSTR, - shi502_type: DWORD, - shi502_remark: LMSTR, - shi502_permissions: DWORD, - shi502_max_uses: DWORD, - shi502_current_uses: DWORD, - shi502_path: LMSTR, - shi502_passwd: LMSTR, - shi502_reserved: DWORD, - shi502_security_descriptor: PSECURITY_DESCRIPTOR, -}} -pub type PSHARE_INFO_502 = *mut SHARE_INFO_502; -pub type LPSHARE_INFO_502 = *mut SHARE_INFO_502; -STRUCT!{struct SHARE_INFO_503 { - shi503_netname: LMSTR, - shi503_type: DWORD, - shi503_remark: LMSTR, - shi503_permissions: DWORD, - shi503_max_uses: DWORD, - shi503_current_uses: DWORD, - shi503_path: LMSTR, - shi503_passwd: LMSTR, - shi503_servername: LMSTR, - shi503_reserved: DWORD, - shi503_security_descriptor: PSECURITY_DESCRIPTOR, -}} -pub type PSHARE_INFO_503 = *mut SHARE_INFO_503; -pub type LPSHARE_INFO_503 = *mut SHARE_INFO_503; -STRUCT!{struct SHARE_INFO_1004 { - shi1004_remark: LMSTR, -}} -pub type PSHARE_INFO_1004 = *mut SHARE_INFO_1004; -pub type LPSHARE_INFO_1004 = *mut SHARE_INFO_1004; -STRUCT!{struct SHARE_INFO_1005 { - shi1005_flags: DWORD, -}} -pub type PSHARE_INFO_1005 = *mut SHARE_INFO_1005; -pub type LPSHARE_INFO_1005 = *mut SHARE_INFO_1005; -STRUCT!{struct SHARE_INFO_1006 { - shi1006_max_uses: DWORD, -}} -pub type PSHARE_INFO_1006 = *mut SHARE_INFO_1006; -pub type LPSHARE_INFO_1006 = *mut SHARE_INFO_1006; -STRUCT!{struct SHARE_INFO_1501 { - shi1501_reserved: DWORD, - shi1501_security_descriptor: PSECURITY_DESCRIPTOR, -}} -pub type PSHARE_INFO_1501 = *mut SHARE_INFO_1501; -pub type LPSHARE_INFO_1501 = *mut SHARE_INFO_1501; -STRUCT!{struct SHARE_INFO_1503 { - shi1503_sharefilter: GUID, -}} -pub type PSHARE_INFO_1503 = *mut SHARE_INFO_1503; -pub type LPSHARE_INFO_1503 = *mut SHARE_INFO_1503; -extern "system" { - pub fn NetServerAliasAdd( - servername: LMSTR, - level: DWORD, - buf: LPBYTE, - ) -> NET_API_STATUS; - pub fn NetServerAliasDel( - servername: LMSTR, - level: DWORD, - buf: LPBYTE, - ) -> NET_API_STATUS; - pub fn NetServerAliasEnum( - servername: LMSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - resumehandle: LPDWORD, - ) -> NET_API_STATUS; -} -STRUCT!{struct SERVER_ALIAS_INFO_0 { - srvai0_alias: LMSTR, - srvai0_target: LMSTR, - srvai0_default: BOOLEAN, - srvai0_reserved: ULONG, -}} -pub type PSERVER_ALIAS_INFO_0 = *mut SERVER_ALIAS_INFO_0; -pub type LPSERVER_ALIAS_INFO_0 = *mut SERVER_ALIAS_INFO_0; -pub const SHARE_NETNAME_PARMNUM: DWORD = 1; -pub const SHARE_TYPE_PARMNUM: DWORD = 3; -pub const SHARE_REMARK_PARMNUM: DWORD = 4; -pub const SHARE_PERMISSIONS_PARMNUM: DWORD = 5; -pub const SHARE_MAX_USES_PARMNUM: DWORD = 6; -pub const SHARE_CURRENT_USES_PARMNUM: DWORD = 7; -pub const SHARE_PATH_PARMNUM: DWORD = 8; -pub const SHARE_PASSWD_PARMNUM: DWORD = 9; -pub const SHARE_FILE_SD_PARMNUM: DWORD = 501; -pub const SHARE_SERVER_PARMNUM: DWORD = 503; -pub const SHARE_REMARK_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SHARE_REMARK_PARMNUM; -pub const SHARE_MAX_USES_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SHARE_MAX_USES_PARMNUM; -pub const SHARE_FILE_SD_INFOLEVEL: DWORD = PARMNUM_BASE_INFOLEVEL + SHARE_FILE_SD_PARMNUM; -pub const SHI1_NUM_ELEMENTS: DWORD = 4; -pub const SHI2_NUM_ELEMENTS: DWORD = 10; -pub const STYPE_DISKTREE: DWORD = 0; -pub const STYPE_PRINTQ: DWORD = 1; -pub const STYPE_DEVICE: DWORD = 2; -pub const STYPE_IPC: DWORD = 3; -pub const STYPE_MASK: DWORD = 0x000000FF; -pub const STYPE_RESERVED1: DWORD = 0x01000000; -pub const STYPE_RESERVED2: DWORD = 0x02000000; -pub const STYPE_RESERVED3: DWORD = 0x04000000; -pub const STYPE_RESERVED4: DWORD = 0x08000000; -pub const STYPE_RESERVED_ALL: DWORD = 0x3FFFFF00; -pub const STYPE_TEMPORARY: DWORD = 0x40000000; -pub const STYPE_SPECIAL: DWORD = 0x80000000; -pub const SHI_USES_UNLIMITED: DWORD = -1i32 as u32; -pub const SHI1005_FLAGS_DFS: DWORD = 0x0001; -pub const SHI1005_FLAGS_DFS_ROOT: DWORD = 0x0002; -pub const CSC_MASK_EXT: DWORD = 0x2030; -pub const CSC_MASK: DWORD = 0x0030; -pub const CSC_CACHE_MANUAL_REINT: DWORD = 0x0000; -pub const CSC_CACHE_AUTO_REINT: DWORD = 0x0010; -pub const CSC_CACHE_VDO: DWORD = 0x0020; -pub const CSC_CACHE_NONE: DWORD = 0x0030; -pub const SHI1005_FLAGS_RESTRICT_EXCLUSIVE_OPENS: DWORD = 0x00100; -pub const SHI1005_FLAGS_FORCE_SHARED_DELETE: DWORD = 0x00200; -pub const SHI1005_FLAGS_ALLOW_NAMESPACE_CACHING: DWORD = 0x00400; -pub const SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM: DWORD = 0x00800; -pub const SHI1005_FLAGS_FORCE_LEVELII_OPLOCK: DWORD = 0x01000; -pub const SHI1005_FLAGS_ENABLE_HASH: DWORD = 0x02000; -pub const SHI1005_FLAGS_ENABLE_CA: DWORD = 0x04000; -pub const SHI1005_FLAGS_ENCRYPT_DATA: DWORD = 0x08000; -pub const SHI1005_FLAGS_RESERVED: DWORD = 0x10000; -pub const SHI1005_VALID_FLAGS_SET: DWORD = CSC_MASK | SHI1005_FLAGS_RESTRICT_EXCLUSIVE_OPENS - | SHI1005_FLAGS_FORCE_SHARED_DELETE | SHI1005_FLAGS_ALLOW_NAMESPACE_CACHING - | SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM | SHI1005_FLAGS_FORCE_LEVELII_OPLOCK - | SHI1005_FLAGS_ENABLE_HASH | SHI1005_FLAGS_ENABLE_CA | SHI1005_FLAGS_ENCRYPT_DATA - | SHI1005_FLAGS_RESERVED; -extern "system" { - pub fn NetSessionEnum( - servername: LMSTR, - UncClientName: LMSTR, - username: LMSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - resumehandle: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetSessionDel( - servername: LMSTR, - UncClientName: LMSTR, - username: LMSTR, - ) -> NET_API_STATUS; - pub fn NetSessionGetInfo( - servername: LMSTR, - UncClientName: LMSTR, - username: LMSTR, - level: DWORD, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; -} -STRUCT!{struct SESSION_INFO_0 { - sesi0_cname: LMSTR, -}} -pub type PSESSION_INFO_0 = *mut SESSION_INFO_0; -pub type LPSESSION_INFO_0 = *mut SESSION_INFO_0; -STRUCT!{struct SESSION_INFO_1 { - sesi1_cname: LMSTR, - sesi1_username: LMSTR, - sesi1_num_opens: DWORD, - sesi1_time: DWORD, - sesi1_idle_time: DWORD, - sesi1_user_flags: DWORD, -}} -pub type PSESSION_INFO_1 = *mut SESSION_INFO_1; -pub type LPSESSION_INFO_1 = *mut SESSION_INFO_1; -STRUCT!{struct SESSION_INFO_2 { - sesi2_cname: LMSTR, - sesi2_username: LMSTR, - sesi2_num_opens: DWORD, - sesi2_time: DWORD, - sesi2_idle_time: DWORD, - sesi2_user_flags: DWORD, - sesi2_cltype_name: LMSTR, -}} -pub type PSESSION_INFO_2 = *mut SESSION_INFO_2; -pub type LPSESSION_INFO_2 = *mut SESSION_INFO_2; -STRUCT!{struct SESSION_INFO_10 { - sesi10_cname: LMSTR, - sesi10_username: LMSTR, - sesi10_time: DWORD, - sesi10_idle_time: DWORD, -}} -pub type PSESSION_INFO_10 = *mut SESSION_INFO_10; -pub type LPSESSION_INFO_10 = *mut SESSION_INFO_10; -STRUCT!{struct SESSION_INFO_502 { - sesi502_cname: LMSTR, - sesi502_username: LMSTR, - sesi502_num_opens: DWORD, - sesi502_time: DWORD, - sesi502_idle_time: DWORD, - sesi502_user_flags: DWORD, - sesi502_cltype_name: LMSTR, - sesi502_transport: LMSTR, -}} -pub type PSESSION_INFO_502 = *mut SESSION_INFO_502; -pub type LPSESSION_INFO_502 = *mut SESSION_INFO_502; -pub const SESS_GUEST: DWORD = 0x00000001; -pub const SESS_NOENCRYPTION: DWORD = 0x00000002; -pub const SESI1_NUM_ELEMENTS: DWORD = 8; -pub const SESI2_NUM_ELEMENTS: DWORD = 9; -extern "system" { - pub fn NetConnectionEnum( - servername: LMSTR, - qualifier: LMSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - resume_handle: LPDWORD, - ) -> NET_API_STATUS; -} -STRUCT!{struct CONNECTION_INFO_0 { - coni0_id: DWORD, -}} -pub type PCONNECTION_INFO_0 = *mut CONNECTION_INFO_0; -pub type LPCONNECTION_INFO_0 = *mut CONNECTION_INFO_0; -STRUCT!{struct CONNECTION_INFO_1 { - coni1_id: DWORD, - coni1_type: DWORD, - coni1_num_opens: DWORD, - coni1_num_users: DWORD, - coni1_time: DWORD, - coni1_username: LMSTR, - coni1_netname: LMSTR, -}} -pub type PCONNECTION_INFO_1 = *mut CONNECTION_INFO_1; -pub type LPCONNECTION_INFO_1 = *mut CONNECTION_INFO_1; -extern "system" { - pub fn NetFileClose( - servername: LMSTR, - fileid: DWORD, - ) -> NET_API_STATUS; - pub fn NetFileEnum( - servername: LMSTR, - basepath: LMSTR, - username: LMSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - resume_handle: PDWORD_PTR, - ) -> NET_API_STATUS; - pub fn NetFileGetInfo( - servername: LMSTR, - fileid: DWORD, - level: DWORD, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; -} -STRUCT!{struct FILE_INFO_2 { - fi2_id: DWORD, -}} -pub type PFILE_INFO_2 = *mut FILE_INFO_2; -pub type LPFILE_INFO_2 = *mut FILE_INFO_2; -STRUCT!{struct FILE_INFO_3 { - fi3_id: DWORD, - fi3_permissions: DWORD, - fi3_num_locks: DWORD, - fi3_pathname: LMSTR, - fi3_username: LMSTR, -}} -pub type PFILE_INFO_3 = *mut FILE_INFO_3; -pub type LPFILE_INFO_3 = *mut FILE_INFO_3; -pub const PERM_FILE_READ: DWORD = 0x1; -pub const PERM_FILE_WRITE: DWORD = 0x2; -pub const PERM_FILE_CREATE: DWORD = 0x4; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/lmstats.rs b/vendor/registry-40351f815f426200/winapi/src/um/lmstats.rs deleted file mode 100644 index c0bfc3746..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/lmstats.rs +++ /dev/null @@ -1,85 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -use shared::lmcons::NET_API_STATUS; -use shared::minwindef::{DWORD, LPBYTE}; -use um::winnt::{LARGE_INTEGER, LPCWSTR}; -extern "system" { - pub fn NetStatisticsGet( - ServerName: LPCWSTR, - Service: LPCWSTR, - Level: DWORD, - Options: DWORD, - Buffer: *mut LPBYTE, - ) -> NET_API_STATUS; -} -STRUCT!{struct STAT_WORKSTATION_0 { - StatisticsStartTime: LARGE_INTEGER, - BytesReceived: LARGE_INTEGER, - SmbsReceived: LARGE_INTEGER, - PagingReadBytesRequested: LARGE_INTEGER, - NonPagingReadBytesRequested: LARGE_INTEGER, - CacheReadBytesRequested: LARGE_INTEGER, - NetworkReadBytesRequested: LARGE_INTEGER, - BytesTransmitted: LARGE_INTEGER, - SmbsTransmitted: LARGE_INTEGER, - PagingWriteBytesRequested: LARGE_INTEGER, - NonPagingWriteBytesRequested: LARGE_INTEGER, - CacheWriteBytesRequested: LARGE_INTEGER, - NetworkWriteBytesRequested: LARGE_INTEGER, - InitiallyFailedOperations: DWORD, - FailedCompletionOperations: DWORD, - ReadOperations: DWORD, - RandomReadOperations: DWORD, - ReadSmbs: DWORD, - LargeReadSmbs: DWORD, - SmallReadSmbs: DWORD, - WriteOperations: DWORD, - RandomWriteOperations: DWORD, - WriteSmbs: DWORD, - LargeWriteSmbs: DWORD, - SmallWriteSmbs: DWORD, - RawReadsDenied: DWORD, - RawWritesDenied: DWORD, - NetworkErrors: DWORD, - Sessions: DWORD, - FailedSessions: DWORD, - Reconnects: DWORD, - CoreConnects: DWORD, - Lanman20Connects: DWORD, - Lanman21Connects: DWORD, - LanmanNtConnects: DWORD, - ServerDisconnects: DWORD, - HungSessions: DWORD, - UseCount: DWORD, - FailedUseCount: DWORD, - CurrentCommands: DWORD, -}} -pub type PSTAT_WORKSTATION_0 = *mut STAT_WORKSTATION_0; -pub type LPSTAT_WORKSTATION_0 = *mut STAT_WORKSTATION_0; -STRUCT!{struct STAT_SERVER_0 { - sts0_start: DWORD, - sts0_fopens: DWORD, - sts0_devopens: DWORD, - sts0_jobsqueued: DWORD, - sts0_sopens: DWORD, - sts0_stimedout: DWORD, - sts0_serrorout: DWORD, - sts0_pwerrors: DWORD, - sts0_permerrors: DWORD, - sts0_syserrors: DWORD, - sts0_bytessent_low: DWORD, - sts0_bytessent_high: DWORD, - sts0_bytesrcvd_low: DWORD, - sts0_bytesrcvd_high: DWORD, - sts0_avresponse: DWORD, - sts0_reqbufneed: DWORD, - sts0_bigbufneed: DWORD, -}} -pub type PSTAT_SERVER_0 = *mut STAT_SERVER_0; -pub type LPSTAT_SERVER_0 = *mut STAT_SERVER_0; -pub const STATSOPT_CLR: DWORD = 1; -pub const STATS_NO_VALUE: DWORD = -1i32 as u32; -pub const STATS_OVERFLOW: DWORD = -2i32 as u32; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/lmsvc.rs b/vendor/registry-40351f815f426200/winapi/src/um/lmsvc.rs deleted file mode 100644 index 2d9ee5e2e..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/lmsvc.rs +++ /dev/null @@ -1,180 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -//! This file contains structures, function prototypes, and definitions for the NetService API -use ctypes::c_long; -use shared::lmcons::NET_API_STATUS; -use shared::minwindef::{DWORD, LPBYTE, LPDWORD}; -use um::winnt::{LPCWSTR, LPWSTR}; -STRUCT!{struct SERVICE_INFO_0 { - svci0_name: LPWSTR, -}} -pub type PSERVICE_INFO_0 = *mut SERVICE_INFO_0; -pub type LPSERVICE_INFO_0 = *mut SERVICE_INFO_0; -STRUCT!{struct SERVICE_INFO_1 { - svci1_name: LPWSTR, - svci1_status: DWORD, - svci1_code: DWORD, - svci1_pid: DWORD, -}} -pub type PSERVICE_INFO_1 = *mut SERVICE_INFO_1; -pub type LPSERVICE_INFO_1 = *mut SERVICE_INFO_1; -STRUCT!{struct SERVICE_INFO_2 { - svci2_name: LPWSTR, - svci2_status: DWORD, - svci2_code: DWORD, - svci2_pid: DWORD, - svci2_text: LPWSTR, - svci2_specific_error: DWORD, - svci2_display_name: LPWSTR, -}} -pub type PSERVICE_INFO_2 = *mut SERVICE_INFO_2; -pub type LPSERVICE_INFO_2 = *mut SERVICE_INFO_2; -extern "system" { - pub fn NetServiceControl( - servername: LPCWSTR, - service: LPCWSTR, - opcode: DWORD, - arg: DWORD, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn NetServiceEnum( - servername: LPCWSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - resumehandle: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetServiceGetInfo( - servername: LPCWSTR, - service: LPCWSTR, - level: DWORD, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn NetServiceInstall( - servername: LPCWSTR, - service: LPCWSTR, - argc: DWORD, - argv: *mut LPCWSTR, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; -} -pub const SERVICE_INSTALL_STATE: DWORD = 0x03; -pub const SERVICE_UNINSTALLED: DWORD = 0x00; -pub const SERVICE_INSTALL_PENDING: DWORD = 0x01; -pub const SERVICE_UNINSTALL_PENDING: DWORD = 0x02; -pub const SERVICE_INSTALLED: DWORD = 0x03; -pub const SERVICE_PAUSE_STATE: DWORD = 0x0C; -pub const LM20_SERVICE_ACTIVE: DWORD = 0x00; -pub const LM20_SERVICE_CONTINUE_PENDING: DWORD = 0x04; -pub const LM20_SERVICE_PAUSE_PENDING: DWORD = 0x08; -pub const LM20_SERVICE_PAUSED: DWORD = 0x0C; -pub const SERVICE_NOT_UNINSTALLABLE: DWORD = 0x00; -pub const SERVICE_UNINSTALLABLE: DWORD = 0x10; -pub const SERVICE_NOT_PAUSABLE: DWORD = 0x00; -pub const SERVICE_PAUSABLE: DWORD = 0x20; -pub const SERVICE_REDIR_PAUSED: DWORD = 0x700; -pub const SERVICE_REDIR_DISK_PAUSED: DWORD = 0x100; -pub const SERVICE_REDIR_PRINT_PAUSED: DWORD = 0x200; -pub const SERVICE_REDIR_COMM_PAUSED: DWORD = 0x400; -pub const SERVICE_DOS_ENCRYPTION: &'static str = "ENCRYPT"; -pub const SERVICE_CTRL_INTERROGATE: DWORD = 0; -pub const SERVICE_CTRL_PAUSE: DWORD = 1; -pub const SERVICE_CTRL_CONTINUE: DWORD = 2; -pub const SERVICE_CTRL_UNINSTALL: DWORD = 3; -pub const SERVICE_CTRL_REDIR_DISK: DWORD = 0x1; -pub const SERVICE_CTRL_REDIR_PRINT: DWORD = 0x2; -pub const SERVICE_CTRL_REDIR_COMM: DWORD = 0x4; -pub const SERVICE_IP_NO_HINT: DWORD = 0x0; -pub const SERVICE_CCP_NO_HINT: DWORD = 0x0; -pub const SERVICE_IP_QUERY_HINT: DWORD = 0x10000; -pub const SERVICE_CCP_QUERY_HINT: DWORD = 0x10000; -pub const SERVICE_IP_CHKPT_NUM: DWORD = 0x0FF; -pub const SERVICE_CCP_CHKPT_NUM: DWORD = 0x0FF; -pub const SERVICE_IP_WAIT_TIME: DWORD = 0x0FF00; -pub const SERVICE_CCP_WAIT_TIME: DWORD = 0x0FF00; -pub const SERVICE_IP_WAITTIME_SHIFT: DWORD = 8; -pub const SERVICE_NTIP_WAITTIME_SHIFT: DWORD = 12; -pub const UPPER_HINT_MASK: DWORD = 0x0000FF00; -pub const LOWER_HINT_MASK: DWORD = 0x000000FF; -pub const UPPER_GET_HINT_MASK: DWORD = 0x0FF00000; -pub const LOWER_GET_HINT_MASK: DWORD = 0x0000FF00; -pub const SERVICE_NT_MAXTIME: DWORD = 0x0000FFFF; -pub const SERVICE_RESRV_MASK: DWORD = 0x0001FFFF; -pub const SERVICE_MAXTIME: DWORD = 0x000000FF; -pub const SERVICE_BASE: DWORD = 3050; -pub const SERVICE_UIC_NORMAL: DWORD = 0; -pub const SERVICE_UIC_BADPARMVAL: DWORD = SERVICE_BASE + 1; -pub const SERVICE_UIC_MISSPARM: DWORD = SERVICE_BASE + 2; -pub const SERVICE_UIC_UNKPARM: DWORD = SERVICE_BASE + 3; -pub const SERVICE_UIC_RESOURCE: DWORD = SERVICE_BASE + 4; -pub const SERVICE_UIC_CONFIG: DWORD = SERVICE_BASE + 5; -pub const SERVICE_UIC_SYSTEM: DWORD = SERVICE_BASE + 6; -pub const SERVICE_UIC_INTERNAL: DWORD = SERVICE_BASE + 7; -pub const SERVICE_UIC_AMBIGPARM: DWORD = SERVICE_BASE + 8; -pub const SERVICE_UIC_DUPPARM: DWORD = SERVICE_BASE + 9; -pub const SERVICE_UIC_KILL: DWORD = SERVICE_BASE + 10; -pub const SERVICE_UIC_EXEC: DWORD = SERVICE_BASE + 11; -pub const SERVICE_UIC_SUBSERV: DWORD = SERVICE_BASE + 12; -pub const SERVICE_UIC_CONFLPARM: DWORD = SERVICE_BASE + 13; -pub const SERVICE_UIC_FILE: DWORD = SERVICE_BASE + 14; -pub const SERVICE_UIC_M_NULL: DWORD = 0; -pub const SERVICE_UIC_M_MEMORY: DWORD = SERVICE_BASE + 20; -pub const SERVICE_UIC_M_DISK: DWORD = SERVICE_BASE + 21; -pub const SERVICE_UIC_M_THREADS: DWORD = SERVICE_BASE + 22; -pub const SERVICE_UIC_M_PROCESSES: DWORD = SERVICE_BASE + 23; -pub const SERVICE_UIC_M_SECURITY: DWORD = SERVICE_BASE + 24; -pub const SERVICE_UIC_M_LANROOT: DWORD = SERVICE_BASE + 25; -pub const SERVICE_UIC_M_REDIR: DWORD = SERVICE_BASE + 26; -pub const SERVICE_UIC_M_SERVER: DWORD = SERVICE_BASE + 27; -pub const SERVICE_UIC_M_SEC_FILE_ERR: DWORD = SERVICE_BASE + 28; -pub const SERVICE_UIC_M_FILES: DWORD = SERVICE_BASE + 29; -pub const SERVICE_UIC_M_LOGS: DWORD = SERVICE_BASE + 30; -pub const SERVICE_UIC_M_LANGROUP: DWORD = SERVICE_BASE + 31; -pub const SERVICE_UIC_M_MSGNAME: DWORD = SERVICE_BASE + 32; -pub const SERVICE_UIC_M_ANNOUNCE: DWORD = SERVICE_BASE + 33; -pub const SERVICE_UIC_M_UAS: DWORD = SERVICE_BASE + 34; -pub const SERVICE_UIC_M_SERVER_SEC_ERR: DWORD = SERVICE_BASE + 35; -pub const SERVICE_UIC_M_WKSTA: DWORD = SERVICE_BASE + 37; -pub const SERVICE_UIC_M_ERRLOG: DWORD = SERVICE_BASE + 38; -pub const SERVICE_UIC_M_FILE_UW: DWORD = SERVICE_BASE + 39; -pub const SERVICE_UIC_M_ADDPAK: DWORD = SERVICE_BASE + 40; -pub const SERVICE_UIC_M_LAZY: DWORD = SERVICE_BASE + 41; -pub const SERVICE_UIC_M_UAS_MACHINE_ACCT: DWORD = SERVICE_BASE + 42; -pub const SERVICE_UIC_M_UAS_SERVERS_NMEMB: DWORD = SERVICE_BASE + 43; -pub const SERVICE_UIC_M_UAS_SERVERS_NOGRP: DWORD = SERVICE_BASE + 44; -pub const SERVICE_UIC_M_UAS_INVALID_ROLE: DWORD = SERVICE_BASE + 45; -pub const SERVICE_UIC_M_NETLOGON_NO_DC: DWORD = SERVICE_BASE + 46; -pub const SERVICE_UIC_M_NETLOGON_DC_CFLCT: DWORD = SERVICE_BASE + 47; -pub const SERVICE_UIC_M_NETLOGON_AUTH: DWORD = SERVICE_BASE + 48; -pub const SERVICE_UIC_M_UAS_PROLOG: DWORD = SERVICE_BASE + 49; -pub const SERVICE2_BASE: DWORD = 5600; -pub const SERVICE_UIC_M_NETLOGON_MPATH: DWORD = SERVICE2_BASE + 0; -pub const SERVICE_UIC_M_LSA_MACHINE_ACCT: DWORD = SERVICE2_BASE + 1; -pub const SERVICE_UIC_M_DATABASE_ERROR: DWORD = SERVICE2_BASE + 2; -#[inline] -pub fn SERVICE_IP_CODE(tt: DWORD, nn: DWORD) -> c_long { - (SERVICE_IP_QUERY_HINT | (nn | (tt << SERVICE_IP_WAITTIME_SHIFT))) as c_long -} -#[inline] -pub fn SERVICE_CCP_CODE(tt: DWORD, nn: DWORD) -> c_long { - (SERVICE_CCP_QUERY_HINT | (nn | (tt << SERVICE_IP_WAITTIME_SHIFT))) as c_long -} -#[inline] -pub fn SERVICE_UIC_CODE(cc: DWORD, mm: DWORD) -> c_long { - ((cc << 16) | mm) as c_long -} -#[inline] -pub fn SERVICE_NT_CCP_CODE(tt: DWORD, nn: DWORD) -> c_long { - (SERVICE_CCP_QUERY_HINT | nn | ((tt & LOWER_HINT_MASK) << SERVICE_IP_WAITTIME_SHIFT) - | ((tt & UPPER_HINT_MASK) << SERVICE_NTIP_WAITTIME_SHIFT)) as c_long -} -#[inline] -pub fn SERVICE_NT_WAIT_GET(code: DWORD) -> DWORD { - ((code & UPPER_GET_HINT_MASK) >> SERVICE_NTIP_WAITTIME_SHIFT) - | ((code & LOWER_GET_HINT_MASK) >> SERVICE_IP_WAITTIME_SHIFT) -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/lmuse.rs b/vendor/registry-40351f815f426200/winapi/src/um/lmuse.rs deleted file mode 100644 index 66423121f..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/lmuse.rs +++ /dev/null @@ -1,101 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -//! This file contains structures, function prototypes, and definitions for the NetUse API -use shared::lmcons::{LMSTR, NET_API_STATUS}; -use shared::minwindef::{DWORD, LPBYTE, LPDWORD, PBYTE, ULONG}; -use um::winnt::LPWSTR; -extern "system" { - pub fn NetUseAdd( - servername: LPWSTR, - level: DWORD, - buf: LPBYTE, - parm_err: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetUseDel( - UncServerName: LMSTR, - UseName: LMSTR, - ForceCond: DWORD, - ) -> NET_API_STATUS; - pub fn NetUseEnum( - UncServerName: LMSTR, - Level: DWORD, - BufPtr: *mut LPBYTE, - PreferedMaximumSize: DWORD, - EntriesRead: LPDWORD, - TotalEntries: LPDWORD, - ResumeHandle: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetUseGetInfo( - UncServerName: LMSTR, - UseName: LMSTR, - level: DWORD, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; -} -STRUCT!{struct USE_INFO_0 { - ui0_local: LMSTR, - ui0_remote: LMSTR, -}} -pub type PUSE_INFO_0 = *mut USE_INFO_0; -pub type LPUSE_INFO_0 = *mut USE_INFO_0; -STRUCT!{struct USE_INFO_1 { - ui1_local: LMSTR, - ui1_remote: LMSTR, - ui1_password: LMSTR, - ui1_status: DWORD, - ui1_asg_type: DWORD, - ui1_refcount: DWORD, - ui1_usecount: DWORD, -}} -pub type PUSE_INFO_1 = *mut USE_INFO_1; -pub type LPUSE_INFO_1 = *mut USE_INFO_1; -STRUCT!{struct USE_INFO_2 { - ui2_local: LMSTR, - ui2_remote: LMSTR, - ui2_password: LMSTR, - ui2_status: DWORD, - ui2_asg_type: DWORD, - ui2_refcount: DWORD, - ui2_usecount: DWORD, - ui2_username: LMSTR, - ui2_domainname: LMSTR, -}} -pub type PUSE_INFO_2 = *mut USE_INFO_2; -pub type LPUSE_INFO_2 = *mut USE_INFO_2; -STRUCT!{struct USE_INFO_3 { - ui3_ui2: USE_INFO_2, - ui3_flags: ULONG, -}} -pub type PUSE_INFO_3 = *mut USE_INFO_3; -STRUCT!{struct USE_INFO_4 { - ui4_ui3: USE_INFO_3, - ui4_auth_identity_length: DWORD, - ui4_auth_identity: PBYTE, -}} -pub type PUSE_INFO_4 = *mut USE_INFO_4; -pub type LPUSE_INFO_4 = *mut USE_INFO_4; -pub const USE_LOCAL_PARMNUM: DWORD = 1; -pub const USE_REMOTE_PARMNUM: DWORD = 2; -pub const USE_PASSWORD_PARMNUM: DWORD = 3; -pub const USE_ASGTYPE_PARMNUM: DWORD = 4; -pub const USE_USERNAME_PARMNUM: DWORD = 5; -pub const USE_DOMAINNAME_PARMNUM: DWORD = 6; -pub const USE_OK: DWORD = 0; -pub const USE_PAUSED: DWORD = 1; -pub const USE_SESSLOST: DWORD = 2; -pub const USE_DISCONN: DWORD = 2; -pub const USE_NETERR: DWORD = 3; -pub const USE_CONN: DWORD = 4; -pub const USE_RECONN: DWORD = 5; -pub const USE_WILDCARD: DWORD = -1i32 as u32; -pub const USE_DISKDEV: DWORD = 0; -pub const USE_SPOOLDEV: DWORD = 1; -pub const USE_CHARDEV: DWORD = 2; -pub const USE_IPC: DWORD = 3; -pub const CREATE_NO_CONNECT: ULONG = 0x1; -pub const CREATE_BYPASS_CSC: ULONG = 0x2; -pub const CREATE_CRED_RESET: ULONG = 0x4; -pub const USE_DEFAULT_CREDENTIALS: ULONG = 0x4; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/lmwksta.rs b/vendor/registry-40351f815f426200/winapi/src/um/lmwksta.rs deleted file mode 100644 index 9b086bf60..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/lmwksta.rs +++ /dev/null @@ -1,421 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -use shared::lmcons::{LMSTR, NET_API_STATUS}; -use shared::minwindef::{BOOL, DWORD, LPBYTE, LPDWORD}; -use um::winnt::LPCWSTR; -extern "system" { - pub fn NetWkstaGetInfo( - servername: LMSTR, - level: DWORD, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn NetWkstaSetInfo( - servername: LMSTR, - level: DWORD, - buffer: LPBYTE, - parm_err: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetWkstaUserGetInfo( - reserved: LMSTR, - level: DWORD, - bufptr: *mut LPBYTE, - ) -> NET_API_STATUS; - pub fn NetWkstaUserSetInfo( - reserved: LMSTR, - level: DWORD, - buf: LPBYTE, - parm_err: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetWkstaUserEnum( - servername: LMSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - resumehandle: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetWkstaTransportAdd( - servername: LPCWSTR, - level: DWORD, - buf: LPBYTE, - parm_err: LPDWORD, - ) -> NET_API_STATUS; - pub fn NetWkstaTransportDel( - servername: LMSTR, - transportname: LMSTR, - ucond: DWORD, - ) -> NET_API_STATUS; - pub fn NetWkstaTransportEnum( - servername: LPCWSTR, - level: DWORD, - bufptr: *mut LPBYTE, - prefmaxlen: DWORD, - entriesread: LPDWORD, - totalentries: LPDWORD, - resumehandle: LPDWORD, - ) -> NET_API_STATUS; -} -STRUCT!{struct WKSTA_INFO_100 { - wki100_platform_id: DWORD, - wki100_computername: LMSTR, - wki100_langroup: LMSTR, - wki100_ver_major: DWORD, - wki100_ver_minor: DWORD, -}} -pub type PWKSTA_INFO_100 = *mut WKSTA_INFO_100; -pub type LPWKSTA_INFO_100 = *mut WKSTA_INFO_100; -STRUCT!{struct WKSTA_INFO_101 { - wki101_platform_id: DWORD, - wki101_computername: LMSTR, - wki101_langroup: LMSTR, - wki101_ver_major: DWORD, - wki101_ver_minor: DWORD, - wki101_lanroot: LMSTR, -}} -pub type PWKSTA_INFO_101 = *mut WKSTA_INFO_101; -pub type LPWKSTA_INFO_101 = *mut WKSTA_INFO_101; -STRUCT!{struct WKSTA_INFO_102 { - wki102_platform_id: DWORD, - wki102_computername: LMSTR, - wki102_langroup: LMSTR, - wki102_ver_major: DWORD, - wki102_ver_minor: DWORD, - wki102_lanroot: LMSTR, - wki102_logged_on_users: DWORD, -}} -pub type PWKSTA_INFO_102 = *mut WKSTA_INFO_102; -pub type LPWKSTA_INFO_102 = *mut WKSTA_INFO_102; -STRUCT!{struct WKSTA_INFO_302 { - wki302_char_wait: DWORD, - wki302_collection_time: DWORD, - wki302_maximum_collection_count: DWORD, - wki302_keep_conn: DWORD, - wki302_keep_search: DWORD, - wki302_max_cmds: DWORD, - wki302_num_work_buf: DWORD, - wki302_siz_work_buf: DWORD, - wki302_max_wrk_cache: DWORD, - wki302_sess_timeout: DWORD, - wki302_siz_error: DWORD, - wki302_num_alerts: DWORD, - wki302_num_services: DWORD, - wki302_errlog_sz: DWORD, - wki302_print_buf_time: DWORD, - wki302_num_char_buf: DWORD, - wki302_siz_char_buf: DWORD, - wki302_wrk_heuristics: LMSTR, - wki302_mailslots: DWORD, - wki302_num_dgram_buf: DWORD, -}} -pub type PWKSTA_INFO_302 = *mut WKSTA_INFO_302; -pub type LPWKSTA_INFO_302 = *mut WKSTA_INFO_302; -STRUCT!{struct WKSTA_INFO_402 { - wki402_char_wait: DWORD, - wki402_collection_time: DWORD, - wki402_maximum_collection_count: DWORD, - wki402_keep_conn: DWORD, - wki402_keep_search: DWORD, - wki402_max_cmds: DWORD, - wki402_num_work_buf: DWORD, - wki402_siz_work_buf: DWORD, - wki402_max_wrk_cache: DWORD, - wki402_sess_timeout: DWORD, - wki402_siz_error: DWORD, - wki402_num_alerts: DWORD, - wki402_num_services: DWORD, - wki402_errlog_sz: DWORD, - wki402_print_buf_time: DWORD, - wki402_num_char_buf: DWORD, - wki402_siz_char_buf: DWORD, - wki402_wrk_heuristics: LMSTR, - wki402_mailslots: DWORD, - wki402_num_dgram_buf: DWORD, - wki402_max_threads: DWORD, -}} -pub type PWKSTA_INFO_402 = *mut WKSTA_INFO_402; -pub type LPWKSTA_INFO_402 = *mut WKSTA_INFO_402; -STRUCT!{struct WKSTA_INFO_502 { - wki502_char_wait: DWORD, - wki502_collection_time: DWORD, - wki502_maximum_collection_count: DWORD, - wki502_keep_conn: DWORD, - wki502_max_cmds: DWORD, - wki502_sess_timeout: DWORD, - wki502_siz_char_buf: DWORD, - wki502_max_threads: DWORD, - wki502_lock_quota: DWORD, - wki502_lock_increment: DWORD, - wki502_lock_maximum: DWORD, - wki502_pipe_increment: DWORD, - wki502_pipe_maximum: DWORD, - wki502_cache_file_timeout: DWORD, - wki502_dormant_file_limit: DWORD, - wki502_read_ahead_throughput: DWORD, - wki502_num_mailslot_buffers: DWORD, - wki502_num_srv_announce_buffers: DWORD, - wki502_max_illegal_datagram_events: DWORD, - wki502_illegal_datagram_event_reset_frequency: DWORD, - wki502_log_election_packets: BOOL, - wki502_use_opportunistic_locking: BOOL, - wki502_use_unlock_behind: BOOL, - wki502_use_close_behind: BOOL, - wki502_buf_named_pipes: BOOL, - wki502_use_lock_read_unlock: BOOL, - wki502_utilize_nt_caching: BOOL, - wki502_use_raw_read: BOOL, - wki502_use_raw_write: BOOL, - wki502_use_write_raw_data: BOOL, - wki502_use_encryption: BOOL, - wki502_buf_files_deny_write: BOOL, - wki502_buf_read_only_files: BOOL, - wki502_force_core_create_mode: BOOL, - wki502_use_512_byte_max_transfer: BOOL, -}} -pub type PWKSTA_INFO_502 = *mut WKSTA_INFO_502; -pub type LPWKSTA_INFO_502 = *mut WKSTA_INFO_502; -STRUCT!{struct WKSTA_INFO_1010 { - wki1010_char_wait: DWORD, -}} -pub type PWKSTA_INFO_1010 = *mut WKSTA_INFO_1010; -pub type LPWKSTA_INFO_1010 = *mut WKSTA_INFO_1010; -STRUCT!{struct WKSTA_INFO_1011 { - wki1011_collection_time: DWORD, -}} -pub type PWKSTA_INFO_1011 = *mut WKSTA_INFO_1011; -pub type LPWKSTA_INFO_1011 = *mut WKSTA_INFO_1011; -STRUCT!{struct WKSTA_INFO_1012 { - wki1012_maximum_collection_count: DWORD, -}} -pub type PWKSTA_INFO_1012 = *mut WKSTA_INFO_1012; -pub type LPWKSTA_INFO_1012 = *mut WKSTA_INFO_1012; -STRUCT!{struct WKSTA_INFO_1027 { - wki1027_errlog_sz: DWORD, -}} -pub type PWKSTA_INFO_1027 = *mut WKSTA_INFO_1027; -pub type LPWKSTA_INFO_1027 = *mut WKSTA_INFO_1027; -STRUCT!{struct WKSTA_INFO_1028 { - wki1028_print_buf_time: DWORD, -}} -pub type PWKSTA_INFO_1028 = *mut WKSTA_INFO_1028; -pub type LPWKSTA_INFO_1028 = *mut WKSTA_INFO_1028; -STRUCT!{struct WKSTA_INFO_1032 { - wki1032_wrk_heuristics: DWORD, -}} -pub type PWKSTA_INFO_1032 = *mut WKSTA_INFO_1032; -pub type LPWKSTA_INFO_1032 = *mut WKSTA_INFO_1032; -STRUCT!{struct WKSTA_INFO_1013 { - wki1013_keep_conn: DWORD, -}} -pub type PWKSTA_INFO_1013 = *mut WKSTA_INFO_1013; -pub type LPWKSTA_INFO_1013 = *mut WKSTA_INFO_1013; -STRUCT!{struct WKSTA_INFO_1018 { - wki1018_sess_timeout: DWORD, -}} -pub type PWKSTA_INFO_1018 = *mut WKSTA_INFO_1018; -pub type LPWKSTA_INFO_1018 = *mut WKSTA_INFO_1018; -STRUCT!{struct WKSTA_INFO_1023 { - wki1023_siz_char_buf: DWORD, -}} -pub type PWKSTA_INFO_1023 = *mut WKSTA_INFO_1023; -pub type LPWKSTA_INFO_1023 = *mut WKSTA_INFO_1023; -STRUCT!{struct WKSTA_INFO_1033 { - wki1033_max_threads: DWORD, -}} -pub type PWKSTA_INFO_1033 = *mut WKSTA_INFO_1033; -pub type LPWKSTA_INFO_1033 = *mut WKSTA_INFO_1033; -STRUCT!{struct WKSTA_INFO_1041 { - wki1041_lock_quota: DWORD, -}} -pub type PWKSTA_INFO_1041 = *mut WKSTA_INFO_1041; -pub type LPWKSTA_INFO_1041 = *mut WKSTA_INFO_1041; -STRUCT!{struct WKSTA_INFO_1042 { - wki1042_lock_increment: DWORD, -}} -pub type PWKSTA_INFO_1042 = *mut WKSTA_INFO_1042; -pub type LPWKSTA_INFO_1042 = *mut WKSTA_INFO_1042; -STRUCT!{struct WKSTA_INFO_1043 { - wki1043_lock_maximum: DWORD, -}} -pub type PWKSTA_INFO_1043 = *mut WKSTA_INFO_1043; -pub type LPWKSTA_INFO_1043 = *mut WKSTA_INFO_1043; -STRUCT!{struct WKSTA_INFO_1044 { - wki1044_pipe_increment: DWORD, -}} -pub type PWKSTA_INFO_1044 = *mut WKSTA_INFO_1044; -pub type LPWKSTA_INFO_1044 = *mut WKSTA_INFO_1044; -STRUCT!{struct WKSTA_INFO_1045 { - wki1045_pipe_maximum: DWORD, -}} -pub type PWKSTA_INFO_1045 = *mut WKSTA_INFO_1045; -pub type LPWKSTA_INFO_1045 = *mut WKSTA_INFO_1045; -STRUCT!{struct WKSTA_INFO_1046 { - wki1046_dormant_file_limit: DWORD, -}} -pub type PWKSTA_INFO_1046 = *mut WKSTA_INFO_1046; -pub type LPWKSTA_INFO_1046 = *mut WKSTA_INFO_1046; -STRUCT!{struct WKSTA_INFO_1047 { - wki1047_cache_file_timeout: DWORD, -}} -pub type PWKSTA_INFO_1047 = *mut WKSTA_INFO_1047; -pub type LPWKSTA_INFO_1047 = *mut WKSTA_INFO_1047; -STRUCT!{struct WKSTA_INFO_1048 { - wki1048_use_opportunistic_locking: BOOL, -}} -pub type PWKSTA_INFO_1048 = *mut WKSTA_INFO_1048; -pub type LPWKSTA_INFO_1048 = *mut WKSTA_INFO_1048; -STRUCT!{struct WKSTA_INFO_1049 { - wki1049_use_unlock_behind: BOOL, -}} -pub type PWKSTA_INFO_1049 = *mut WKSTA_INFO_1049; -pub type LPWKSTA_INFO_1049 = *mut WKSTA_INFO_1049; -STRUCT!{struct WKSTA_INFO_1050 { - wki1050_use_close_behind: BOOL, -}} -pub type PWKSTA_INFO_1050 = *mut WKSTA_INFO_1050; -pub type LPWKSTA_INFO_1050 = *mut WKSTA_INFO_1050; -STRUCT!{struct WKSTA_INFO_1051 { - wki1051_buf_named_pipes: BOOL, -}} -pub type PWKSTA_INFO_1051 = *mut WKSTA_INFO_1051; -pub type LPWKSTA_INFO_1051 = *mut WKSTA_INFO_1051; -STRUCT!{struct WKSTA_INFO_1052 { - wki1052_use_lock_read_unlock: BOOL, -}} -pub type PWKSTA_INFO_1052 = *mut WKSTA_INFO_1052; -pub type LPWKSTA_INFO_1052 = *mut WKSTA_INFO_1052; -STRUCT!{struct WKSTA_INFO_1053 { - wki1053_utilize_nt_caching: BOOL, -}} -pub type PWKSTA_INFO_1053 = *mut WKSTA_INFO_1053; -pub type LPWKSTA_INFO_1053 = *mut WKSTA_INFO_1053; -STRUCT!{struct WKSTA_INFO_1054 { - wki1054_use_raw_read: BOOL, -}} -pub type PWKSTA_INFO_1054 = *mut WKSTA_INFO_1054; -pub type LPWKSTA_INFO_1054 = *mut WKSTA_INFO_1054; -STRUCT!{struct WKSTA_INFO_1055 { - wki1055_use_raw_write: BOOL, -}} -pub type PWKSTA_INFO_1055 = *mut WKSTA_INFO_1055; -pub type LPWKSTA_INFO_1055 = *mut WKSTA_INFO_1055; -STRUCT!{struct WKSTA_INFO_1056 { - wki1056_use_write_raw_data: BOOL, -}} -pub type PWKSTA_INFO_1056 = *mut WKSTA_INFO_1056; -pub type LPWKSTA_INFO_1056 = *mut WKSTA_INFO_1056; -STRUCT!{struct WKSTA_INFO_1057 { - wki1057_use_encryption: BOOL, -}} -pub type PWKSTA_INFO_1057 = *mut WKSTA_INFO_1057; -pub type LPWKSTA_INFO_1057 = *mut WKSTA_INFO_1057; -STRUCT!{struct WKSTA_INFO_1058 { - wki1058_buf_files_deny_write: BOOL, -}} -pub type PWKSTA_INFO_1058 = *mut WKSTA_INFO_1058; -pub type LPWKSTA_INFO_1058 = *mut WKSTA_INFO_1058; -STRUCT!{struct WKSTA_INFO_1059 { - wki1059_buf_read_only_files: BOOL, -}} -pub type PWKSTA_INFO_1059 = *mut WKSTA_INFO_1059; -pub type LPWKSTA_INFO_1059 = *mut WKSTA_INFO_1059; -STRUCT!{struct WKSTA_INFO_1060 { - wki1060_force_core_create_mode: BOOL, -}} -pub type PWKSTA_INFO_1060 = *mut WKSTA_INFO_1060; -pub type LPWKSTA_INFO_1060 = *mut WKSTA_INFO_1060; -STRUCT!{struct WKSTA_INFO_1061 { - wki1061_use_512_byte_max_transfer: BOOL, -}} -pub type PWKSTA_INFO_1061 = *mut WKSTA_INFO_1061; -pub type LPWKSTA_INFO_1061 = *mut WKSTA_INFO_1061; -STRUCT!{struct WKSTA_INFO_1062 { - wki1062_read_ahead_throughput: DWORD, -}} -pub type PWKSTA_INFO_1062 = *mut WKSTA_INFO_1062; -pub type LPWKSTA_INFO_1062 = *mut WKSTA_INFO_1062; -STRUCT!{struct WKSTA_USER_INFO_0 { - wkui0_username: LMSTR, -}} -pub type PWKSTA_USER_INFO_0 = *mut WKSTA_USER_INFO_0; -pub type LPWKSTA_USER_INFO_0 = *mut WKSTA_USER_INFO_0; -STRUCT!{struct WKSTA_USER_INFO_1 { - wkui1_username: LMSTR, - wkui1_logon_domain: LMSTR, - wkui1_oth_domains: LMSTR, - wkui1_logon_server: LMSTR, -}} -pub type PWKSTA_USER_INFO_1 = *mut WKSTA_USER_INFO_1; -pub type LPWKSTA_USER_INFO_1 = *mut WKSTA_USER_INFO_1; -STRUCT!{struct WKSTA_USER_INFO_1101 { - wkui1101_oth_domains: LMSTR, -}} -pub type PWKSTA_USER_INFO_1101 = *mut WKSTA_USER_INFO_1101; -pub type LPWKSTA_USER_INFO_1101 = *mut WKSTA_USER_INFO_1101; -STRUCT!{struct WKSTA_TRANSPORT_INFO_0 { - wkti0_quality_of_service: DWORD, - wkti0_number_of_vcs: DWORD, - wkti0_transport_name: LMSTR, - wkti0_transport_address: LMSTR, - wkti0_wan_ish: BOOL, -}} -pub type PWKSTA_TRANSPORT_INFO_0 = *mut WKSTA_TRANSPORT_INFO_0; -pub type LPWKSTA_TRANSPORT_INFO_0 = *mut WKSTA_TRANSPORT_INFO_0; -pub const WKSTA_PLATFORM_ID_PARMNUM: DWORD = 100; -pub const WKSTA_COMPUTERNAME_PARMNUM: DWORD = 1; -pub const WKSTA_LANGROUP_PARMNUM: DWORD = 2; -pub const WKSTA_VER_MAJOR_PARMNUM: DWORD = 4; -pub const WKSTA_VER_MINOR_PARMNUM: DWORD = 5; -pub const WKSTA_LOGGED_ON_USERS_PARMNUM: DWORD = 6; -pub const WKSTA_LANROOT_PARMNUM: DWORD = 7; -pub const WKSTA_LOGON_DOMAIN_PARMNUM: DWORD = 8; -pub const WKSTA_LOGON_SERVER_PARMNUM: DWORD = 9; -pub const WKSTA_CHARWAIT_PARMNUM: DWORD = 10; -pub const WKSTA_CHARTIME_PARMNUM: DWORD = 11; -pub const WKSTA_CHARCOUNT_PARMNUM: DWORD = 12; -pub const WKSTA_KEEPCONN_PARMNUM: DWORD = 13; -pub const WKSTA_KEEPSEARCH_PARMNUM: DWORD = 14; -pub const WKSTA_MAXCMDS_PARMNUM: DWORD = 15; -pub const WKSTA_NUMWORKBUF_PARMNUM: DWORD = 16; -pub const WKSTA_MAXWRKCACHE_PARMNUM: DWORD = 17; -pub const WKSTA_SESSTIMEOUT_PARMNUM: DWORD = 18; -pub const WKSTA_SIZERROR_PARMNUM: DWORD = 19; -pub const WKSTA_NUMALERTS_PARMNUM: DWORD = 20; -pub const WKSTA_NUMSERVICES_PARMNUM: DWORD = 21; -pub const WKSTA_NUMCHARBUF_PARMNUM: DWORD = 22; -pub const WKSTA_SIZCHARBUF_PARMNUM: DWORD = 23; -pub const WKSTA_ERRLOGSZ_PARMNUM: DWORD = 27; -pub const WKSTA_PRINTBUFTIME_PARMNUM: DWORD = 28; -pub const WKSTA_SIZWORKBUF_PARMNUM: DWORD = 29; -pub const WKSTA_MAILSLOTS_PARMNUM: DWORD = 30; -pub const WKSTA_NUMDGRAMBUF_PARMNUM: DWORD = 31; -pub const WKSTA_WRKHEURISTICS_PARMNUM: DWORD = 32; -pub const WKSTA_MAXTHREADS_PARMNUM: DWORD = 33; -pub const WKSTA_LOCKQUOTA_PARMNUM: DWORD = 41; -pub const WKSTA_LOCKINCREMENT_PARMNUM: DWORD = 42; -pub const WKSTA_LOCKMAXIMUM_PARMNUM: DWORD = 43; -pub const WKSTA_PIPEINCREMENT_PARMNUM: DWORD = 44; -pub const WKSTA_PIPEMAXIMUM_PARMNUM: DWORD = 45; -pub const WKSTA_DORMANTFILELIMIT_PARMNUM: DWORD = 46; -pub const WKSTA_CACHEFILETIMEOUT_PARMNUM: DWORD = 47; -pub const WKSTA_USEOPPORTUNISTICLOCKING_PARMNUM: DWORD = 48; -pub const WKSTA_USEUNLOCKBEHIND_PARMNUM: DWORD = 49; -pub const WKSTA_USECLOSEBEHIND_PARMNUM: DWORD = 50; -pub const WKSTA_BUFFERNAMEDPIPES_PARMNUM: DWORD = 51; -pub const WKSTA_USELOCKANDREADANDUNLOCK_PARMNUM: DWORD = 52; -pub const WKSTA_UTILIZENTCACHING_PARMNUM: DWORD = 53; -pub const WKSTA_USERAWREAD_PARMNUM: DWORD = 54; -pub const WKSTA_USERAWWRITE_PARMNUM: DWORD = 55; -pub const WKSTA_USEWRITERAWWITHDATA_PARMNUM: DWORD = 56; -pub const WKSTA_USEENCRYPTION_PARMNUM: DWORD = 57; -pub const WKSTA_BUFFILESWITHDENYWRITE_PARMNUM: DWORD = 58; -pub const WKSTA_BUFFERREADONLYFILES_PARMNUM: DWORD = 59; -pub const WKSTA_FORCECORECREATEMODE_PARMNUM: DWORD = 60; -pub const WKSTA_USE512BYTESMAXTRANSFER_PARMNUM: DWORD = 61; -pub const WKSTA_READAHEADTHRUPUT_PARMNUM: DWORD = 62; -pub const WKSTA_OTH_DOMAINS_PARMNUM: DWORD = 101; -pub const TRANSPORT_QUALITYOFSERVICE_PARMNUM: DWORD = 201; -pub const TRANSPORT_NAME_PARMNUM: DWORD = 202; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/lowlevelmonitorconfigurationapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/lowlevelmonitorconfigurationapi.rs deleted file mode 100644 index fe73214b5..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/lowlevelmonitorconfigurationapi.rs +++ /dev/null @@ -1,49 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::{BYTE, DWORD, LPDWORD}; -use um::physicalmonitorenumerationapi::_BOOL; -use um::winnt::{HANDLE, LPSTR}; -STRUCT!{#[repr(packed)] struct MC_TIMING_REPORT { - dwHorizontalFrequencyInHZ: DWORD, - dwVerticalFrequencyInHZ: DWORD, - bTimingStatusByte: BYTE, -}} -pub type LPMC_TIMING_REPORT = *mut MC_TIMING_REPORT; -ENUM!{enum MC_VCP_CODE_TYPE { - MC_MOMENTARY, - MC_SET_PARAMETER, -}} -pub type LPMC_VCP_CODE_TYPE = *mut MC_VCP_CODE_TYPE; -extern "system" { - pub fn GetVCPFeatureAndVCPFeatureReply( - hMonitor: HANDLE, - bVCPCode: BYTE, - pvct: LPMC_VCP_CODE_TYPE, - pdwCurrentValue: LPDWORD, - pdwMaximumValue: LPDWORD, - ) -> _BOOL; - pub fn SetVCPFeature( - hMonitor: HANDLE, - bVCPCode: BYTE, - dwNewValue: DWORD, - ) -> _BOOL; - pub fn SaveCurrentSettings( - hMonitor: HANDLE, - ) -> _BOOL; - pub fn GetCapabilitiesStringLength( - hMonitor: HANDLE, - pdwCapabilitiesStringLengthInCharacters: LPDWORD, - ) -> _BOOL; - pub fn CapabilitiesRequestAndCapabilitiesReply( - hMonitor: HANDLE, - pszASCIICapabilitiesString: LPSTR, - dwCapabilitiesStringLengthInCharacters: DWORD, - ) -> _BOOL; - pub fn GetTimingReport( - hMonitor: HANDLE, - pmtrMonitorTimingReport: LPMC_TIMING_REPORT, - ) -> _BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/lsalookup.rs b/vendor/registry-40351f815f426200/winapi/src/um/lsalookup.rs deleted file mode 100644 index 95a6b62b7..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/lsalookup.rs +++ /dev/null @@ -1,109 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! LSA Policy Lookup API -use shared::guiddef::GUID; -use shared::minwindef::{ULONG, USHORT}; -use shared::ntdef::NTSTATUS; -use um::winnt::{ACCESS_MASK, HANDLE, LONG, PCHAR, PSID, PVOID, PWSTR, SID_NAME_USE}; -STRUCT!{struct LSA_UNICODE_STRING { - Length: USHORT, - MaximumLength: USHORT, - Buffer: PWSTR, -}} -pub type PLSA_UNICODE_STRING = *mut LSA_UNICODE_STRING; -STRUCT!{struct LSA_STRING { - Length: USHORT, - MaximumLength: USHORT, - Buffer: PCHAR, -}} -pub type PLSA_STRING = *mut LSA_STRING; -STRUCT!{struct LSA_OBJECT_ATTRIBUTES { - Length: ULONG, - RootDirectory: HANDLE, - ObjectName: PLSA_UNICODE_STRING, - Attributes: ULONG, - SecurityDescriptor: PVOID, - SecurityQualityOfService: PVOID, -}} -pub type PLSA_OBJECT_ATTRIBUTES = *mut LSA_OBJECT_ATTRIBUTES; -STRUCT!{struct LSA_TRUST_INFORMATION { - Name: LSA_UNICODE_STRING, - Sid: PSID, -}} -pub type PLSA_TRUST_INFORMATION = *mut LSA_TRUST_INFORMATION; -STRUCT!{struct LSA_REFERENCED_DOMAIN_LIST { - Entries: ULONG, - Domains: PLSA_TRUST_INFORMATION, -}} -pub type PLSA_REFERENCED_DOMAIN_LIST = *mut LSA_REFERENCED_DOMAIN_LIST; -STRUCT!{struct LSA_TRANSLATED_SID2 { - Use: SID_NAME_USE, - Sid: PSID, - DomainIndex: LONG, - Flags: ULONG, -}} -pub type PLSA_TRANSLATED_SID2 = *mut LSA_TRANSLATED_SID2; -STRUCT!{struct LSA_TRANSLATED_NAME { - Use: SID_NAME_USE, - Name: LSA_UNICODE_STRING, - DomainIndex: LONG, -}} -pub type PLSA_TRANSLATED_NAME = *mut LSA_TRANSLATED_NAME; -STRUCT!{struct POLICY_ACCOUNT_DOMAIN_INFO { - DomainName: LSA_UNICODE_STRING, - DomainSid: PSID, -}} -pub type PPOLICY_ACCOUNT_DOMAIN_INFO = *mut POLICY_ACCOUNT_DOMAIN_INFO; -STRUCT!{struct POLICY_DNS_DOMAIN_INFO { - Name: LSA_UNICODE_STRING, - DnsDomainName: LSA_UNICODE_STRING, - DnsForestName: LSA_UNICODE_STRING, - DomainGuid: GUID, - Sid: PSID, -}} -pub type PPOLICY_DNS_DOMAIN_INFO = *mut POLICY_DNS_DOMAIN_INFO; -pub const LOOKUP_VIEW_LOCAL_INFORMATION: ACCESS_MASK = 0x00000001; -pub const LOOKUP_TRANSLATE_NAMES: ACCESS_MASK = 0x00000800; -ENUM!{enum LSA_LOOKUP_DOMAIN_INFO_CLASS { - AccountDomainInformation = 5, - DnsDomainInformation = 12, -}} -pub type PLSA_LOOKUP_DOMAIN_INFO_CLASS = *mut LSA_LOOKUP_DOMAIN_INFO_CLASS; -pub type LSA_LOOKUP_HANDLE = PVOID; -pub type PLSA_LOOKUP_HANDLE = *mut PVOID; -extern "C" { - pub fn LsaLookupOpenLocalPolicy( - ObjectAttributes: PLSA_OBJECT_ATTRIBUTES, - AccessMask: ACCESS_MASK, - PolicyHandle: PLSA_LOOKUP_HANDLE, - ) -> NTSTATUS; - pub fn LsaLookupClose( - ObjectHandle: LSA_LOOKUP_HANDLE, - ) -> NTSTATUS; - pub fn LsaLookupTranslateSids( - PolicyHandle: LSA_LOOKUP_HANDLE, - Count: ULONG, - Sids: *mut PSID, - ReferencedDomains: *mut PLSA_REFERENCED_DOMAIN_LIST, - Names: *mut PLSA_TRANSLATED_NAME, - ) -> NTSTATUS; - pub fn LsaLookupTranslateNames( - PolicyHandle: LSA_LOOKUP_HANDLE, - Flags: ULONG, - Count: ULONG, - Names: PLSA_UNICODE_STRING, - ReferencedDomains: *mut PLSA_REFERENCED_DOMAIN_LIST, - Sids: *mut PLSA_TRANSLATED_SID2, - ) -> NTSTATUS; - pub fn LsaLookupGetDomainInfo( - PolicyHandle: LSA_LOOKUP_HANDLE, - DomainInfoClass: LSA_LOOKUP_DOMAIN_INFO_CLASS, - DomainInfo: *mut PVOID, - ) -> NTSTATUS; - pub fn LsaLookupFreeMemory( - Buffer: PVOID, - ) -> NTSTATUS; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/memoryapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/memoryapi.rs deleted file mode 100644 index 5bf5bd01c..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/memoryapi.rs +++ /dev/null @@ -1,390 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! ApiSet Contract for api-ms-win-core-memory-l1-1-0 -use ctypes::c_void; -use shared::basetsd::{PSIZE_T, PULONG_PTR, SIZE_T, ULONG64, ULONG_PTR}; -use shared::minwindef::{ - BOOL, DWORD, LPCVOID, LPDWORD, LPVOID, PBOOL, PDWORD, PULONG, UINT, ULONG, -}; -use um::minwinbase::{LPSECURITY_ATTRIBUTES, PSECURITY_ATTRIBUTES}; -use um::winnt::{ - HANDLE, LPCWSTR, PCWSTR, PMEMORY_BASIC_INFORMATION, PVOID, SECTION_ALL_ACCESS, - SECTION_MAP_EXECUTE_EXPLICIT, SECTION_MAP_READ, SECTION_MAP_WRITE, -}; -pub const FILE_MAP_WRITE: DWORD = SECTION_MAP_WRITE; -pub const FILE_MAP_READ: DWORD = SECTION_MAP_READ; -pub const FILE_MAP_ALL_ACCESS: DWORD = SECTION_ALL_ACCESS; -pub const FILE_MAP_EXECUTE: DWORD = SECTION_MAP_EXECUTE_EXPLICIT; -pub const FILE_MAP_COPY: DWORD = 0x00000001; -pub const FILE_MAP_RESERVE: DWORD = 0x80000000; -pub const FILE_MAP_TARGETS_INVALID: DWORD = 0x40000000; -pub const FILE_MAP_LARGE_PAGES: DWORD = 0x20000000; -extern "system" { - pub fn VirtualAlloc( - lpAddress: LPVOID, - dwSize: SIZE_T, - flAllocationType: DWORD, - flProtect: DWORD, - ) -> LPVOID; - pub fn VirtualProtect( - lpAddress: LPVOID, - dwSize: SIZE_T, - flNewProtect: DWORD, - lpflOldProtect: PDWORD, - ) -> BOOL; - pub fn VirtualFree( - lpAddress: LPVOID, - dwSize: SIZE_T, - dwFreeType: DWORD, - ) -> BOOL; - pub fn VirtualQuery( - lpAddress: LPCVOID, - lpBuffer: PMEMORY_BASIC_INFORMATION, - dwLength: SIZE_T, - ) -> SIZE_T; - pub fn VirtualAllocEx( - hProcess: HANDLE, - lpAddress: LPVOID, - dwSize: SIZE_T, - flAllocationType: DWORD, - flProtect: DWORD, - ) -> LPVOID; - pub fn VirtualFreeEx( - hProcess: HANDLE, - lpAddress: LPVOID, - dwSize: SIZE_T, - dwFreeType: DWORD, - ) -> BOOL; - pub fn VirtualProtectEx( - hProcess: HANDLE, - lpAddress: LPVOID, - dwSize: SIZE_T, - flNewProtect: DWORD, - lpflOldProtect: PDWORD, - ) -> BOOL; - pub fn VirtualQueryEx( - hProcess: HANDLE, - lpAddress: LPCVOID, - lpBuffer: PMEMORY_BASIC_INFORMATION, - dwLength: SIZE_T, - ) -> SIZE_T; - pub fn ReadProcessMemory( - hProcess: HANDLE, - lpBaseAddress: LPCVOID, - lpBuffer: LPVOID, - nSize: SIZE_T, - lpNumberOfBytesRead: *mut SIZE_T, - ) -> BOOL; - pub fn WriteProcessMemory( - hProcess: HANDLE, - lpBaseAddress: LPVOID, - lpBuffer: LPCVOID, - nSize: SIZE_T, - lpNumberOfBytesWritten: *mut SIZE_T, - ) -> BOOL; - pub fn CreateFileMappingW( - hFile: HANDLE, - lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, - flProtect: DWORD, - dwMaximumSizeHigh: DWORD, - dwMaximumSizeLow: DWORD, - lpName: LPCWSTR, - ) -> HANDLE; - pub fn OpenFileMappingW( - dwDesiredAccess: DWORD, - bInheritHandle: BOOL, - lpName: LPCWSTR, - ) -> HANDLE; - pub fn MapViewOfFile( - hFileMappingObject: HANDLE, - dwDesiredAccess: DWORD, - dwFileOffsetHigh: DWORD, - dwFileOffsetLow: DWORD, - dwNumberOfBytesToMap: SIZE_T, - ) -> LPVOID; - pub fn MapViewOfFileEx( - hFileMappingObject: HANDLE, - dwDesiredAccess: DWORD, - dwFileOffsetHigh: DWORD, - dwFileOffsetLow: DWORD, - dwNumberOfBytesToMap: SIZE_T, - lpBaseAddress: LPVOID, - ) -> LPVOID; - pub fn FlushViewOfFile( - lpBaseAddress: LPCVOID, - dwNumberOfBytesToFlush: SIZE_T, - ) -> BOOL; - pub fn UnmapViewOfFile( - lpBaseAddress: LPCVOID, - ) -> BOOL; - pub fn GetLargePageMinimum() -> SIZE_T; - pub fn GetProcessWorkingSetSizeEx( - hProcess: HANDLE, - lpMinimumWorkingSetSize: PSIZE_T, - lpMaximumWorkingSetSize: PSIZE_T, - Flags: PDWORD, - ) -> BOOL; - pub fn SetProcessWorkingSetSizeEx( - hProcess: HANDLE, - dwMinimumWorkingSetSize: SIZE_T, - dwMaximumWorkingSetSize: SIZE_T, - Flags: DWORD, - ) -> BOOL; - pub fn VirtualLock( - lpAddress: LPVOID, - dwSize: SIZE_T, - ) -> BOOL; - pub fn VirtualUnlock( - lpAddress: LPVOID, - dwSize: SIZE_T, - ) -> BOOL; - pub fn GetWriteWatch( - dwFlags: DWORD, - lpBaseAddress: PVOID, - dwRegionSize: SIZE_T, - lpAddresses: *mut PVOID, - lpdwCount: *mut ULONG_PTR, - lpdwGranularity: LPDWORD, - ) -> UINT; - pub fn ResetWriteWatch( - lpBaseAddress: LPVOID, - dwRegionSize: SIZE_T, - ) -> UINT; -} -ENUM!{enum MEMORY_RESOURCE_NOTIFICATION_TYPE { - LowMemoryResourceNotification, - HighMemoryResourceNotification, -}} -extern "system" { - pub fn CreateMemoryResourceNotification( - NotificationType: MEMORY_RESOURCE_NOTIFICATION_TYPE, - ) -> HANDLE; - pub fn QueryMemoryResourceNotification( - ResourceNotificationHandle: HANDLE, - ResourceState: PBOOL, - ) -> BOOL; -} -pub const FILE_CACHE_MAX_HARD_ENABLE: DWORD = 0x00000001; -pub const FILE_CACHE_MAX_HARD_DISABLE: DWORD = 0x00000002; -pub const FILE_CACHE_MIN_HARD_ENABLE: DWORD = 0x00000004; -pub const FILE_CACHE_MIN_HARD_DISABLE: DWORD = 0x00000008; -extern "system" { - pub fn GetSystemFileCacheSize( - lpMinimumFileCacheSize: PSIZE_T, - lpMaximumFileCacheSize: PSIZE_T, - lpFlags: PDWORD, - ) -> BOOL; - pub fn SetSystemFileCacheSize( - MinimumFileCacheSize: SIZE_T, - MaximumFileCacheSize: SIZE_T, - Flags: DWORD, - ) -> BOOL; - pub fn CreateFileMappingNumaW( - hFile: HANDLE, - lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, - flProtect: DWORD, - dwMaximumSizeHigh: DWORD, - dwMaximumSizeLow: DWORD, - lpName: LPCWSTR, - nndPreferred: DWORD, - ) -> HANDLE; -} -STRUCT!{struct WIN32_MEMORY_RANGE_ENTRY { - VirtualAddress: PVOID, - NumberOfBytes: SIZE_T, -}} -pub type PWIN32_MEMORY_RANGE_ENTRY = *mut WIN32_MEMORY_RANGE_ENTRY; -extern "system" { - pub fn PrefetchVirtualMemory( - hProcess: HANDLE, - NumberOfEntries: ULONG_PTR, - VirtualAddresses: PWIN32_MEMORY_RANGE_ENTRY, - Flags: ULONG, - ) -> BOOL; - pub fn CreateFileMappingFromApp( - hFile: HANDLE, - SecurityAttributes: PSECURITY_ATTRIBUTES, - PageProtection: ULONG, - MaximumSize: ULONG64, - Name: PCWSTR, - ) -> HANDLE; - pub fn MapViewOfFileFromApp( - hFileMappingObject: HANDLE, - DesiredAccess: ULONG, - FileOffset: ULONG64, - NumberOfBytesToMap: SIZE_T, - ) -> PVOID; - pub fn UnmapViewOfFileEx( - BaseAddress: PVOID, - UnmapFlags: ULONG, - ) -> BOOL; - pub fn AllocateUserPhysicalPages( - hProcess: HANDLE, - NumberOfPages: PULONG_PTR, - PageArray: PULONG_PTR, - ) -> BOOL; - pub fn FreeUserPhysicalPages( - hProcess: HANDLE, - NumberOfPages: PULONG_PTR, - PageArray: PULONG_PTR, - ) -> BOOL; - pub fn MapUserPhysicalPages( - VirtualAddress: PVOID, - NumberOfPages: ULONG_PTR, - PageArray: PULONG_PTR, - ) -> BOOL; - pub fn AllocateUserPhysicalPagesNuma( - hProcess: HANDLE, - NumberOfPages: PULONG_PTR, - PageArray: PULONG_PTR, - nndPreferred: DWORD, - ) -> BOOL; - pub fn VirtualAllocExNuma( - hProcess: HANDLE, - lpAddress: LPVOID, - dwSize: SIZE_T, - flAllocationType: DWORD, - flProtect: DWORD, - nndPreferred: DWORD, - ) -> LPVOID; -} -pub const MEHC_PATROL_SCRUBBER_PRESENT: ULONG = 0x1; -extern "system" { - pub fn GetMemoryErrorHandlingCapabilities( - Capabilities: PULONG, - ) -> BOOL; -} -FN!{stdcall PBAD_MEMORY_CALLBACK_ROUTINE() -> ()} -extern "system" { - pub fn RegisterBadMemoryNotification( - Callback: PBAD_MEMORY_CALLBACK_ROUTINE, - ) -> PVOID; - pub fn UnregisterBadMemoryNotification( - RegistrationHandle: PVOID, - ) -> BOOL; -} -ENUM!{enum OFFER_PRIORITY { - VmOfferPriorityVeryLow = 1, - VmOfferPriorityLow, - VmOfferPriorityBelowNormal, - VmOfferPriorityNormal, -}} -extern "system" { - pub fn OfferVirtualMemory( - VirtualAddress: PVOID, - Size: SIZE_T, - Priority: OFFER_PRIORITY, - ) -> DWORD; - pub fn ReclaimVirtualMemory( - VirtualAddress: *const c_void, - Size: SIZE_T, - ) -> DWORD; - pub fn DiscardVirtualMemory( - VirtualAddress: PVOID, - Size: SIZE_T, - ) -> DWORD; -// TODO: Needs winnt::PCFG_CALL_TARGET_INFO. -/* pub fn SetProcessValidCallTargets( - hProcess: HANDLE, - VirtualAddress: PVOID, - RegionSize: SIZE_T, - NumberOfOffsets: ULONG, - OffsetInformation: PCFG_CALL_TARGET_INFO, - ) -> BOOL; */ - pub fn VirtualAllocFromApp( - BaseAddress: PVOID, - Size: SIZE_T, - AllocationType: ULONG, - Protection: ULONG, - ) -> PVOID; - pub fn VirtualProtectFromApp( - Address: PVOID, - Size: SIZE_T, - NewProtection: ULONG, - OldProtection: PULONG, - ) -> BOOL; - pub fn OpenFileMappingFromApp( - DesiredAccess: ULONG, - InheritHandle: BOOL, - Name: PCWSTR, - ) -> HANDLE; -} -// TODO: Under WINAPI_PARTITION_APP, define CreateFileMappingW, MapViewOfFile, VirtualAlloc, -// VirtualProtect, and OpenFileMappingW as wrappers around the *FromApp functions. -ENUM!{enum WIN32_MEMORY_INFORMATION_CLASS { - MemoryRegionInfo, -}} -STRUCT!{struct WIN32_MEMORY_REGION_INFORMATION { - AllocationBase: PVOID, - AllocationProtect: ULONG, - u: WIN32_MEMORY_REGION_INFORMATION_u, - RegionSize: SIZE_T, - CommitSize: SIZE_T, -}} -UNION!{union WIN32_MEMORY_REGION_INFORMATION_u { - [u32; 1], - Flags Flags_mut: ULONG, - s s_mut: WIN32_MEMORY_REGION_INFORMATION_u_s, -}} -STRUCT!{struct WIN32_MEMORY_REGION_INFORMATION_u_s { - Bitfield: ULONG, -}} -BITFIELD!{WIN32_MEMORY_REGION_INFORMATION_u_s Bitfield: ULONG [ - Private set_Private[0..1], - MappedDataFile set_MappedDataFile[1..2], - MappedImage set_MappedImage[2..3], - MappedPageFile set_MappedPageFile[3..4], - MappedPhysical set_MappedPhysical[4..5], - DirectMapped set_DirectMapped[5..6], - Reserved set_Reserved[6..32], -]} -// TODO: Need to resolve issue #323 first. -/*extern "system" { - pub fn QueryVirtualMemoryInformation( - Process: HANDLE, - VirtualAddress: *const VOID, - MemoryInformationClass: WIN32_MEMORY_INFORMATION_CLASS, - MemoryInformation: PVOID, - MemoryInformationSize: SIZE_T, - ReturnSize: PSIZE_T, - ) -> BOOL; - pub fn MapViewOfFileNuma2( - FileMappingHandle: HANDLE, - ProcessHandle: HANDLE, - Offset: ULONG64, - BaseAddress: PVOID, - ViewSize: SIZE_T, - AllocationType: ULONG, - PageProtection: ULONG, - PreferredNode: ULONG, - ) -> PVOID; -} -#[inline] -pub unsafe fn MapViewOfFile2( - FileMappingHandle: HANDLE, - ProcessHandle: HANDLE, - Offset: ULONG64, - BaseAddress: PVOID, - ViewSize: SIZE_T, - AllocationType: ULONG, - PageProtection: ULONG, -) -> PVOID { - MapViewOfFileNuma2(FileMappingHandle, - ProcessHandle, - Offset, - BaseAddress, - ViewSize, - AllocationType, - PageProtection, - NUMA_NO_PREFERRED_NODE) -}*/ -extern "system" { - pub fn UnmapViewOfFile2( - ProcessHandle: HANDLE, - BaseAddress: PVOID, - UnmapFlags: ULONG, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/minschannel.rs b/vendor/registry-40351f815f426200/winapi/src/um/minschannel.rs deleted file mode 100644 index ba3ca4f29..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/minschannel.rs +++ /dev/null @@ -1,58 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Public Definitions for MIN SCHANNEL Security Provider -use shared::guiddef::GUID; -use shared::minwindef::{BOOL, DWORD}; -use um::wincrypt::ALG_ID; -use um::winnt::LPWSTR; -pub const SECPKG_ATTR_ISSUER_LIST: DWORD = 0x50; -pub const SECPKG_ATTR_REMOTE_CRED: DWORD = 0x51; -pub const SECPKG_ATTR_LOCAL_CRED: DWORD = 0x52; -pub const SECPKG_ATTR_REMOTE_CERT_CONTEXT: DWORD = 0x53; -pub const SECPKG_ATTR_LOCAL_CERT_CONTEXT: DWORD = 0x54; -pub const SECPKG_ATTR_ROOT_STORE: DWORD = 0x55; -pub const SECPKG_ATTR_SUPPORTED_ALGS: DWORD = 0x56; -pub const SECPKG_ATTR_CIPHER_STRENGTHS: DWORD = 0x57; -pub const SECPKG_ATTR_SUPPORTED_PROTOCOLS: DWORD = 0x58; -pub const SECPKG_ATTR_ISSUER_LIST_EX: DWORD = 0x59; -pub const SECPKG_ATTR_CONNECTION_INFO: DWORD = 0x5a; -pub const SECPKG_ATTR_EAP_KEY_BLOCK: DWORD = 0x5b; -pub const SECPKG_ATTR_MAPPED_CRED_ATTR: DWORD = 0x5c; -pub const SECPKG_ATTR_SESSION_INFO: DWORD = 0x5d; -pub const SECPKG_ATTR_APP_DATA: DWORD = 0x5e; -pub const SECPKG_ATTR_REMOTE_CERTIFICATES: DWORD = 0x5F; -pub const SECPKG_ATTR_CLIENT_CERT_POLICY: DWORD = 0x60; -pub const SECPKG_ATTR_CC_POLICY_RESULT: DWORD = 0x61; -pub const SECPKG_ATTR_USE_NCRYPT: DWORD = 0x62; -pub const SECPKG_ATTR_LOCAL_CERT_INFO: DWORD = 0x63; -pub const SECPKG_ATTR_CIPHER_INFO: DWORD = 0x64; -pub const SECPKG_ATTR_EAP_PRF_INFO: DWORD = 0x65; -pub const SECPKG_ATTR_SUPPORTED_SIGNATURES: DWORD = 0x66; -pub const SECPKG_ATTR_REMOTE_CERT_CHAIN: DWORD = 0x67; -pub const SECPKG_ATTR_UI_INFO: DWORD = 0x68; -pub const SECPKG_ATTR_EARLY_START: DWORD = 0x69; -STRUCT!{struct SecPkgCred_SupportedAlgs { - cSupportedAlgs: DWORD, - palgSupportedAlgs: *mut ALG_ID, -}} -STRUCT!{struct SecPkgCred_CipherStrengths { - dwMinimumCipherStrength: DWORD, - dwMaximumCipherStrength: DWORD, -}} -STRUCT!{struct SecPkgCred_SupportedProtocols { - grbitProtocol: DWORD, -}} -STRUCT!{struct SecPkgCred_ClientCertPolicy { - dwFlags: DWORD, - guidPolicyId: GUID, - dwCertFlags: DWORD, - dwUrlRetrievalTimeout: DWORD, - fCheckRevocationFreshnessTime: BOOL, - dwRevocationFreshnessTime: DWORD, - fOmitUsageCheck: BOOL, - pwszSslCtlStoreName: LPWSTR, - pwszSslCtlIdentifier: LPWSTR, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/minwinbase.rs b/vendor/registry-40351f815f426200/winapi/src/um/minwinbase.rs deleted file mode 100644 index b414af1ba..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/minwinbase.rs +++ /dev/null @@ -1,337 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -//! This module defines the 32-Bit Windows Base APIs -use shared::basetsd::ULONG_PTR; -use shared::minwindef::{BOOL, BYTE, DWORD, FILETIME, HMODULE, LPVOID, MAX_PATH, UINT, ULONG, WORD}; -use shared::ntstatus::{ - STATUS_ACCESS_VIOLATION, STATUS_ARRAY_BOUNDS_EXCEEDED, STATUS_BREAKPOINT, - STATUS_CONTROL_C_EXIT, STATUS_DATATYPE_MISALIGNMENT, STATUS_FLOAT_DENORMAL_OPERAND, - STATUS_FLOAT_DIVIDE_BY_ZERO, STATUS_FLOAT_INEXACT_RESULT, STATUS_FLOAT_INVALID_OPERATION, - STATUS_FLOAT_OVERFLOW, STATUS_FLOAT_STACK_CHECK, STATUS_FLOAT_UNDERFLOW, - STATUS_GUARD_PAGE_VIOLATION, STATUS_ILLEGAL_INSTRUCTION, STATUS_INTEGER_DIVIDE_BY_ZERO, - STATUS_INTEGER_OVERFLOW, STATUS_INVALID_DISPOSITION, STATUS_INVALID_HANDLE, - STATUS_IN_PAGE_ERROR, STATUS_NONCONTINUABLE_EXCEPTION, STATUS_PENDING, - STATUS_POSSIBLE_DEADLOCK, STATUS_PRIVILEGED_INSTRUCTION, STATUS_SINGLE_STEP, - STATUS_STACK_OVERFLOW, -}; -use um::winnt::{ - CHAR, EXCEPTION_RECORD, HANDLE, LPSTR, LPWSTR, PCONTEXT, PRTL_CRITICAL_SECTION, - PRTL_CRITICAL_SECTION_DEBUG, PVOID, RTL_CRITICAL_SECTION, RTL_CRITICAL_SECTION_DEBUG, WCHAR, -}; -//MoveMemory -//CopyMemory -//FillMemory -//ZeroMemory -STRUCT!{struct SECURITY_ATTRIBUTES { - nLength: DWORD, - lpSecurityDescriptor: LPVOID, - bInheritHandle: BOOL, -}} -pub type PSECURITY_ATTRIBUTES = *mut SECURITY_ATTRIBUTES; -pub type LPSECURITY_ATTRIBUTES = *mut SECURITY_ATTRIBUTES; -STRUCT!{struct OVERLAPPED_u_s { - Offset: DWORD, - OffsetHigh: DWORD, -}} -UNION!{union OVERLAPPED_u { - [u32; 2] [u64; 1], - s s_mut: OVERLAPPED_u_s, - Pointer Pointer_mut: PVOID, -}} -STRUCT!{struct OVERLAPPED { - Internal: ULONG_PTR, - InternalHigh: ULONG_PTR, - u: OVERLAPPED_u, - hEvent: HANDLE, -}} -pub type LPOVERLAPPED = *mut OVERLAPPED; -STRUCT!{struct OVERLAPPED_ENTRY { - lpCompletionKey: ULONG_PTR, - lpOverlapped: LPOVERLAPPED, - Internal: ULONG_PTR, - dwNumberOfBytesTransferred: DWORD, -}} -pub type LPOVERLAPPED_ENTRY = *mut OVERLAPPED_ENTRY; -STRUCT!{struct SYSTEMTIME { - wYear: WORD, - wMonth: WORD, - wDayOfWeek: WORD, - wDay: WORD, - wHour: WORD, - wMinute: WORD, - wSecond: WORD, - wMilliseconds: WORD, -}} -pub type PSYSTEMTIME = *mut SYSTEMTIME; -pub type LPSYSTEMTIME = *mut SYSTEMTIME; -STRUCT!{struct WIN32_FIND_DATAA { - dwFileAttributes: DWORD, - ftCreationTime: FILETIME, - ftLastAccessTime: FILETIME, - ftLastWriteTime: FILETIME, - nFileSizeHigh: DWORD, - nFileSizeLow: DWORD, - dwReserved0: DWORD, - dwReserved1: DWORD, - cFileName: [CHAR; MAX_PATH], - cAlternateFileName: [CHAR; 14], -}} -pub type PWIN32_FIND_DATAA = *mut WIN32_FIND_DATAA; -pub type LPWIN32_FIND_DATAA = *mut WIN32_FIND_DATAA; -STRUCT!{struct WIN32_FIND_DATAW { - dwFileAttributes: DWORD, - ftCreationTime: FILETIME, - ftLastAccessTime: FILETIME, - ftLastWriteTime: FILETIME, - nFileSizeHigh: DWORD, - nFileSizeLow: DWORD, - dwReserved0: DWORD, - dwReserved1: DWORD, - cFileName: [WCHAR; MAX_PATH], - cAlternateFileName: [WCHAR; 14], -}} -pub type PWIN32_FIND_DATAW = *mut WIN32_FIND_DATAW; -pub type LPWIN32_FIND_DATAW = *mut WIN32_FIND_DATAW; -ENUM!{enum FINDEX_INFO_LEVELS { - FindExInfoStandard, - FindExInfoBasic, - FindExInfoMaxInfoLevel, -}} -pub const FIND_FIRST_EX_CASE_SENSITIVE: DWORD = 0x00000001; -pub const FIND_FIRST_EX_LARGE_FETCH: DWORD = 0x00000002; -ENUM!{enum FINDEX_SEARCH_OPS { - FindExSearchNameMatch, - FindExSearchLimitToDirectories, - FindExSearchLimitToDevices, - FindExSearchMaxSearchOp, -}} -ENUM!{enum GET_FILEEX_INFO_LEVELS { - GetFileExInfoStandard, - GetFileExMaxInfoLevel, -}} -ENUM!{enum FILE_INFO_BY_HANDLE_CLASS { - FileBasicInfo, - FileStandardInfo, - FileNameInfo, - FileRenameInfo, - FileDispositionInfo, - FileAllocationInfo, - FileEndOfFileInfo, - FileStreamInfo, - FileCompressionInfo, - FileAttributeTagInfo, - FileIdBothDirectoryInfo, - FileIdBothDirectoryRestartInfo, - FileIoPriorityHintInfo, - FileRemoteProtocolInfo, - FileFullDirectoryInfo, - FileFullDirectoryRestartInfo, - FileStorageInfo, - FileAlignmentInfo, - FileIdInfo, - FileIdExtdDirectoryInfo, - FileIdExtdDirectoryRestartInfo, - FileDispositionInfoEx, - FileRenameInfoEx, - MaximumFileInfoByHandleClass, -}} -pub type PFILE_INFO_BY_HANDLE_CLASS = *mut FILE_INFO_BY_HANDLE_CLASS; -pub type CRITICAL_SECTION = RTL_CRITICAL_SECTION; -pub type PCRITICAL_SECTION = PRTL_CRITICAL_SECTION; -pub type LPCRITICAL_SECTION = PRTL_CRITICAL_SECTION; -pub type CRITICAL_SECTION_DEBUG = RTL_CRITICAL_SECTION_DEBUG; -pub type PCRITICAL_SECTION_DEBUG = PRTL_CRITICAL_SECTION_DEBUG; -pub type LPCRITICAL_SECTION_DEBUG = PRTL_CRITICAL_SECTION_DEBUG; -FN!{stdcall LPOVERLAPPED_COMPLETION_ROUTINE( - dwErrorCode: DWORD, - dwNumberOfBytesTransfered: DWORD, - lpOverlapped: LPOVERLAPPED, -) -> ()} -pub const LOCKFILE_FAIL_IMMEDIATELY: DWORD = 0x00000001; -pub const LOCKFILE_EXCLUSIVE_LOCK: DWORD = 0x00000002; -STRUCT!{struct PROCESS_HEAP_ENTRY_Block { - hMem: HANDLE, - dwReserved: [DWORD; 3], -}} -STRUCT!{struct PROCESS_HEAP_ENTRY_Region { - dwCommittedSize: DWORD, - dwUnCommittedSize: DWORD, - lpFirstBlock: LPVOID, - lpLastBlock: LPVOID, -}} -UNION!{union PROCESS_HEAP_ENTRY_u { - [u32; 4] [u64; 3], - Block Block_mut: PROCESS_HEAP_ENTRY_Block, - Region Region_mut: PROCESS_HEAP_ENTRY_Region, -}} -STRUCT!{struct PROCESS_HEAP_ENTRY { - lpData: PVOID, - cbData: DWORD, - cbOverhead: BYTE, - iRegionIndex: BYTE, - wFlags: WORD, - u: PROCESS_HEAP_ENTRY_u, -}} -pub type LPPROCESS_HEAP_ENTRY = *mut PROCESS_HEAP_ENTRY; -pub type PPROCESS_HEAP_ENTRY = *mut PROCESS_HEAP_ENTRY; -pub const PROCESS_HEAP_REGION: WORD = 0x0001; -pub const PROCESS_HEAP_UNCOMMITTED_RANGE: WORD = 0x0002; -pub const PROCESS_HEAP_ENTRY_BUSY: WORD = 0x0004; -pub const PROCESS_HEAP_SEG_ALLOC: WORD = 0x0008; -pub const PROCESS_HEAP_ENTRY_MOVEABLE: WORD = 0x0010; -pub const PROCESS_HEAP_ENTRY_DDESHARE: WORD = 0x0020; -STRUCT!{struct REASON_CONTEXT_Detailed { - LocalizedReasonModule: HMODULE, - LocalizedReasonId: ULONG, - ReasonStringCount: ULONG, - ReasonStrings: *mut LPWSTR, -}} -UNION!{union REASON_CONTEXT_Reason { - [u32; 4] [u64; 3], - Detailed Detailed_mut: REASON_CONTEXT_Detailed, - SimpleReasonString SimpleReasonString_mut: LPWSTR, -}} -STRUCT!{struct REASON_CONTEXT { - Version: ULONG, - Flags: DWORD, - Reason: REASON_CONTEXT_Reason, -}} -pub type PREASON_CONTEXT = *mut REASON_CONTEXT; -pub const EXCEPTION_DEBUG_EVENT: DWORD = 1; -pub const CREATE_THREAD_DEBUG_EVENT: DWORD = 2; -pub const CREATE_PROCESS_DEBUG_EVENT: DWORD = 3; -pub const EXIT_THREAD_DEBUG_EVENT: DWORD = 4; -pub const EXIT_PROCESS_DEBUG_EVENT: DWORD = 5; -pub const LOAD_DLL_DEBUG_EVENT: DWORD = 6; -pub const UNLOAD_DLL_DEBUG_EVENT: DWORD = 7; -pub const OUTPUT_DEBUG_STRING_EVENT: DWORD = 8; -pub const RIP_EVENT: DWORD = 9; -FN!{stdcall PTHREAD_START_ROUTINE( - lpThreadParameter: LPVOID, -) -> DWORD} -pub type LPTHREAD_START_ROUTINE = PTHREAD_START_ROUTINE; -FN!{stdcall PENCLAVE_ROUTINE( - lpThreadParameter: LPVOID, -) -> DWORD} -pub type LPENCLAVE_ROUTINE = PENCLAVE_ROUTINE; -STRUCT!{struct EXCEPTION_DEBUG_INFO { - ExceptionRecord: EXCEPTION_RECORD, - dwFirstChance: DWORD, -}} -pub type LPEXCEPTION_DEBUG_INFO = *mut EXCEPTION_DEBUG_INFO; -STRUCT!{struct CREATE_THREAD_DEBUG_INFO { - hThread: HANDLE, - lpThreadLocalBase: LPVOID, - lpStartAddress: LPTHREAD_START_ROUTINE, -}} -pub type LPCREATE_THREAD_DEBUG_INFO = *mut CREATE_THREAD_DEBUG_INFO; -STRUCT!{struct CREATE_PROCESS_DEBUG_INFO { - hFile: HANDLE, - hProcess: HANDLE, - hThread: HANDLE, - lpBaseOfImage: LPVOID, - dwDebugInfoFileOffset: DWORD, - nDebugInfoSize: DWORD, - lpThreadLocalBase: LPVOID, - lpStartAddress: LPTHREAD_START_ROUTINE, - lpImageName: LPVOID, - fUnicode: WORD, -}} -pub type LPCREATE_PROCESS_DEBUG_INFO = *mut CREATE_PROCESS_DEBUG_INFO; -STRUCT!{struct EXIT_THREAD_DEBUG_INFO { - dwExitCode: DWORD, -}} -pub type LPEXIT_THREAD_DEBUG_INFO = *mut EXIT_THREAD_DEBUG_INFO; -STRUCT!{struct EXIT_PROCESS_DEBUG_INFO { - dwExitCode: DWORD, -}} -pub type LPEXIT_PROCESS_DEBUG_INFO = *mut EXIT_PROCESS_DEBUG_INFO; -STRUCT!{struct LOAD_DLL_DEBUG_INFO { - hFile: HANDLE, - lpBaseOfDll: LPVOID, - dwDebugInfoFileOffset: DWORD, - nDebugInfoSize: DWORD, - lpImageName: LPVOID, - fUnicode: WORD, -}} -pub type LPLOAD_DLL_DEBUG_INFO = *mut LOAD_DLL_DEBUG_INFO; -STRUCT!{struct UNLOAD_DLL_DEBUG_INFO { - lpBaseOfDll: LPVOID, -}} -pub type LPUNLOAD_DLL_DEBUG_INFO = *mut UNLOAD_DLL_DEBUG_INFO; -STRUCT!{struct OUTPUT_DEBUG_STRING_INFO { - lpDebugStringData: LPSTR, - fUnicode: WORD, - nDebugStringLength: WORD, -}} -pub type LPOUTPUT_DEBUG_STRING_INFO = *mut OUTPUT_DEBUG_STRING_INFO; -STRUCT!{struct RIP_INFO { - dwError: DWORD, - dwType: DWORD, -}} -pub type LPRIP_INFO = *mut RIP_INFO; -UNION!{union DEBUG_EVENT_u { - [u32; 21] [u64; 20], - Exception Exception_mut: EXCEPTION_DEBUG_INFO, - CreateThread CreateThread_mut: CREATE_THREAD_DEBUG_INFO, - CreateProcessInfo CreateProcessInfo_mut: CREATE_PROCESS_DEBUG_INFO, - ExitThread ExitThread_mut: EXIT_THREAD_DEBUG_INFO, - ExitProcess ExitProcess_mut: EXIT_PROCESS_DEBUG_INFO, - LoadDll LoadDll_mut: LOAD_DLL_DEBUG_INFO, - UnloadDll UnloadDll_mut: UNLOAD_DLL_DEBUG_INFO, - DebugString DebugString_mut: OUTPUT_DEBUG_STRING_INFO, - RipInfo RipInfo_mut: RIP_INFO, -}} -STRUCT!{struct DEBUG_EVENT { - dwDebugEventCode: DWORD, - dwProcessId: DWORD, - dwThreadId: DWORD, - u: DEBUG_EVENT_u, -}} -pub type LPDEBUG_EVENT = *mut DEBUG_EVENT; -pub type LPCONTEXT = PCONTEXT; -pub const STILL_ACTIVE: DWORD = STATUS_PENDING as u32; -pub const EXCEPTION_ACCESS_VIOLATION: DWORD = STATUS_ACCESS_VIOLATION as u32; -pub const EXCEPTION_DATATYPE_MISALIGNMENT: DWORD = STATUS_DATATYPE_MISALIGNMENT as u32; -pub const EXCEPTION_BREAKPOINT: DWORD = STATUS_BREAKPOINT as u32; -pub const EXCEPTION_SINGLE_STEP: DWORD = STATUS_SINGLE_STEP as u32; -pub const EXCEPTION_ARRAY_BOUNDS_EXCEEDED: DWORD = STATUS_ARRAY_BOUNDS_EXCEEDED as u32; -pub const EXCEPTION_FLT_DENORMAL_OPERAND: DWORD = STATUS_FLOAT_DENORMAL_OPERAND as u32; -pub const EXCEPTION_FLT_DIVIDE_BY_ZERO: DWORD = STATUS_FLOAT_DIVIDE_BY_ZERO as u32; -pub const EXCEPTION_FLT_INEXACT_RESULT: DWORD = STATUS_FLOAT_INEXACT_RESULT as u32; -pub const EXCEPTION_FLT_INVALID_OPERATION: DWORD = STATUS_FLOAT_INVALID_OPERATION as u32; -pub const EXCEPTION_FLT_OVERFLOW: DWORD = STATUS_FLOAT_OVERFLOW as u32; -pub const EXCEPTION_FLT_STACK_CHECK: DWORD = STATUS_FLOAT_STACK_CHECK as u32; -pub const EXCEPTION_FLT_UNDERFLOW: DWORD = STATUS_FLOAT_UNDERFLOW as u32; -pub const EXCEPTION_INT_DIVIDE_BY_ZERO: DWORD = STATUS_INTEGER_DIVIDE_BY_ZERO as u32; -pub const EXCEPTION_INT_OVERFLOW: DWORD = STATUS_INTEGER_OVERFLOW as u32; -pub const EXCEPTION_PRIV_INSTRUCTION: DWORD = STATUS_PRIVILEGED_INSTRUCTION as u32; -pub const EXCEPTION_IN_PAGE_ERROR: DWORD = STATUS_IN_PAGE_ERROR as u32; -pub const EXCEPTION_ILLEGAL_INSTRUCTION: DWORD = STATUS_ILLEGAL_INSTRUCTION as u32; -pub const EXCEPTION_NONCONTINUABLE_EXCEPTION: DWORD = STATUS_NONCONTINUABLE_EXCEPTION as u32; -pub const EXCEPTION_STACK_OVERFLOW: DWORD = STATUS_STACK_OVERFLOW as u32; -pub const EXCEPTION_INVALID_DISPOSITION: DWORD = STATUS_INVALID_DISPOSITION as u32; -pub const EXCEPTION_GUARD_PAGE: DWORD = STATUS_GUARD_PAGE_VIOLATION as u32; -pub const EXCEPTION_INVALID_HANDLE: DWORD = STATUS_INVALID_HANDLE as u32; -pub const EXCEPTION_POSSIBLE_DEADLOCK: DWORD = STATUS_POSSIBLE_DEADLOCK as u32; -pub const CONTROL_C_EXIT: DWORD = STATUS_CONTROL_C_EXIT as u32; -pub const LMEM_FIXED: UINT = 0x0000; -pub const LMEM_MOVEABLE: UINT = 0x0002; -pub const LMEM_NOCOMPACT: UINT = 0x0010; -pub const LMEM_NODISCARD: UINT = 0x0020; -pub const LMEM_ZEROINIT: UINT = 0x0040; -pub const LMEM_MODIFY: UINT = 0x0080; -pub const LMEM_DISCARDABLE: UINT = 0x0F00; -pub const LMEM_VALID_FLAGS: UINT = 0x0F72; -pub const LMEM_INVALID_HANDLE: UINT = 0x8000; -pub const LHND: UINT = LMEM_MOVEABLE | LMEM_ZEROINIT; -pub const LPTR: UINT = LMEM_FIXED | LMEM_ZEROINIT; -pub const NONZEROLHND: UINT = LMEM_MOVEABLE; -pub const NONZEROLPTR: UINT = LMEM_FIXED; -//LocalDiscard -pub const LMEM_DISCARDED: UINT = 0x4000; -pub const LMEM_LOCKCOUNT: UINT = 0x00FF; -pub const NUMA_NO_PREFERRED_NODE: DWORD = -1i32 as u32; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/mmdeviceapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/mmdeviceapi.rs deleted file mode 100644 index 7965bf105..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/mmdeviceapi.rs +++ /dev/null @@ -1,218 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -//! this ALWAYS GENERATED file contains the definitions for the interfaces -use ctypes::c_void; -use shared::guiddef::{GUID, REFIID}; -use shared::minwindef::{DWORD, LPARAM, LPVOID, UINT}; -// use shared::winerror::{ERROR_NOT_FOUND, ERROR_UNSUPPORTED_TYPE, HRESULT_FROM_WIN32}; -use shared::wtypes::PROPERTYKEY; -use um::propidl::PROPVARIANT; -use um::propsys::IPropertyStore; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LPCWSTR, LPWSTR}; -// pub const E_NOTFOUND: HRESULT = HRESULT_FROM_WIN32(ERROR_NOT_FOUND); -// pub const E_UNSUPPORTED_TYPE: HRESULT = HRESULT_FROM_WIN32(ERROR_UNSUPPORTED_TYPE); -pub const DEVICE_STATE_ACTIVE: DWORD = 0x00000001; -pub const DEVICE_STATE_DISABLED: DWORD = 0x00000002; -pub const DEVICE_STATE_NOTPRESENT: DWORD = 0x00000004; -pub const DEVICE_STATE_UNPLUGGED: DWORD = 0x00000008; -pub const DEVICE_STATEMASK_ALL: DWORD = 0x0000000F; -DEFINE_PROPERTYKEY!{PKEY_AudioEndpoint_FormFactor, - 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 0} -DEFINE_PROPERTYKEY!{PKEY_AudioEndpoint_ControlPanelPageProvider, - 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 1} -DEFINE_PROPERTYKEY!{PKEY_AudioEndpoint_Association, - 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 2} -DEFINE_PROPERTYKEY!{PKEY_AudioEndpoint_PhysicalSpeakers, - 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 3} -DEFINE_PROPERTYKEY!{PKEY_AudioEndpoint_GUID, - 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 4} -DEFINE_PROPERTYKEY!{PKEY_AudioEndpoint_Disable_SysFx, - 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 5} -pub const ENDPOINT_SYSFX_ENABLED: DWORD = 0x00000000; -pub const ENDPOINT_SYSFX_DISABLED: DWORD = 0x00000001; -DEFINE_PROPERTYKEY!{PKEY_AudioEndpoint_FullRangeSpeakers, - 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 6} -DEFINE_PROPERTYKEY!{PKEY_AudioEndpoint_Supports_EventDriven_Mode, - 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 7} -DEFINE_PROPERTYKEY!{PKEY_AudioEndpoint_JackSubType, - 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 8} -DEFINE_PROPERTYKEY!{PKEY_AudioEndpoint_Default_VolumeInDb, - 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x23, 0xe0, 0xc0, 0xff, 0xee, 0x7f, 0x0e, 9} -DEFINE_PROPERTYKEY!{PKEY_AudioEngine_DeviceFormat, - 0xf19f064d, 0x82c, 0x4e27, 0xbc, 0x73, 0x68, 0x82, 0xa1, 0xbb, 0x8e, 0x4c, 0} -DEFINE_PROPERTYKEY!{PKEY_AudioEngine_OEMFormat, - 0xe4870e26, 0x3cc5, 0x4cd2, 0xba, 0x46, 0xca, 0xa, 0x9a, 0x70, 0xed, 0x4, 3} -DEFINE_PROPERTYKEY!{PKEY_AudioEndpointLogo_IconEffects, - 0xf1ab780d, 0x2010, 0x4ed3, 0xa3, 0xa6, 0x8b, 0x87, 0xf0, 0xf0, 0xc4, 0x76, 0} -DEFINE_PROPERTYKEY!{PKEY_AudioEndpointLogo_IconPath, - 0xf1ab780d, 0x2010, 0x4ed3, 0xa3, 0xa6, 0x8b, 0x87, 0xf0, 0xf0, 0xc4, 0x76, 1} -DEFINE_PROPERTYKEY!{PKEY_AudioEndpointSettings_MenuText, - 0x14242002, 0x0320, 0x4de4, 0x95, 0x55, 0xa7, 0xd8, 0x2b, 0x73, 0xc2, 0x86, 0} -DEFINE_PROPERTYKEY!{PKEY_AudioEndpointSettings_LaunchContract, - 0x14242002, 0x0320, 0x4de4, 0x95, 0x55, 0xa7, 0xd8, 0x2b, 0x73, 0xc2, 0x86, 1} -STRUCT!{struct DIRECTX_AUDIO_ACTIVATION_PARAMS { - cbDirectXAudioActivationParams: DWORD, - guidAudioSession: GUID, - dwAudioStreamFlags: DWORD, -}} -pub type PDIRECTX_AUDIO_ACTIVATION_PARAMS = *mut DIRECTX_AUDIO_ACTIVATION_PARAMS; -ENUM!{enum EDataFlow { - eRender, - eCapture, - eAll, - EDataFlow_enum_count, -}} -ENUM!{enum ERole { - eConsole, - eMultimedia, - eCommunications, - ERole_enum_count, -}} -ENUM!{enum EndpointFormFactor { - RemoteNetworkDevice, - Speakers, - LineLevel, - Headphones, - Microphone, - Headset, - Handset, - UnknownDigitalPassthrough, - SPDIF, - DigitalAudioDisplayDevice, - UnknownFormFactor, - EndpointFormFactor_enum_count, -}} -pub const HDMI: EndpointFormFactor = DigitalAudioDisplayDevice; -DEFINE_GUID!{DEVINTERFACE_AUDIO_RENDER, - 0xe6327cad, 0xdcec, 0x4949, 0xae, 0x8a, 0x99, 0x1e, 0x97, 0x6a, 0x79, 0xd2} -DEFINE_GUID!{DEVINTERFACE_AUDIO_CAPTURE, - 0x2eef81be, 0x33fa, 0x4800, 0x96, 0x70, 0x1c, 0xd4, 0x74, 0x97, 0x2c, 0x3f} -DEFINE_GUID!{DEVINTERFACE_MIDI_OUTPUT, - 0x6dc23320, 0xab33, 0x4ce4, 0x80, 0xd4, 0xbb, 0xb3, 0xeb, 0xbf, 0x28, 0x14} -DEFINE_GUID!{DEVINTERFACE_MIDI_INPUT, - 0x504be32c, 0xccf6, 0x4d2c, 0xb7, 0x3f, 0x6f, 0x8b, 0x37, 0x47, 0xe2, 0x2b} -RIDL!{#[uuid(0x7991eec9, 0x7e89, 0x4d85, 0x83, 0x90, 0x6c, 0x70, 0x3c, 0xec, 0x60, 0xc0)] -interface IMMNotificationClient(IMMNotificationClientVtbl): IUnknown(IUnknownVtbl) { - fn OnDeviceStateChanged( - pwstrDeviceId: LPCWSTR, - dwNewState: DWORD, - ) -> HRESULT, - fn OnDeviceAdded( - pwstrDeviceId: LPCWSTR, - ) -> HRESULT, - fn OnDeviceRemoved( - pwstrDeviceId: LPCWSTR, - ) -> HRESULT, - fn OnDefaultDeviceChanged( - flow: EDataFlow, - role: ERole, - pwstrDefaultDeviceId: LPCWSTR, - ) -> HRESULT, - fn OnPropertyValueChanged( - pwstrDeviceId: LPCWSTR, - key: PROPERTYKEY, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xd666063f, 0x1587, 0x4e43, 0x81, 0xf1, 0xb9, 0x48, 0xe8, 0x07, 0x36, 0x3f)] -interface IMMDevice(IMMDeviceVtbl): IUnknown(IUnknownVtbl) { - fn Activate( - iid: REFIID, - dwClsCtx: DWORD, - pActivationParams: *mut PROPVARIANT, - ppInterface: *mut LPVOID, - ) -> HRESULT, - fn OpenPropertyStore( - stgmAccess: DWORD, - ppProperties: *mut *mut IPropertyStore, - ) -> HRESULT, - fn GetId( - ppstrId: *mut LPWSTR, - ) -> HRESULT, - fn GetState( - pdwState: *mut DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x0bd7a1be, 0x7a1a, 0x44db, 0x83, 0x97, 0xcc, 0x53, 0x92, 0x38, 0x7b, 0x5e)] -interface IMMDeviceCollection(IMMDeviceCollectionVtbl): IUnknown(IUnknownVtbl) { - fn GetCount( - pcDevices: *const UINT, - ) -> HRESULT, - fn Item( - nDevice: UINT, - ppDevice: *mut *mut IMMDevice, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x1be09788, 0x6894, 0x4089, 0x85, 0x86, 0x9a, 0x2a, 0x6c, 0x26, 0x5a, 0xc5)] -interface IMMEndpoint(IMMEndpointVtbl): IUnknown(IUnknownVtbl) { - fn GetDataFlow( - pDataFlow: *mut EDataFlow, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa95664d2, 0x9614, 0x4f35, 0xa7, 0x46, 0xde, 0x8d, 0xb6, 0x36, 0x17, 0xe6)] -interface IMMDeviceEnumerator(IMMDeviceEnumeratorVtbl): IUnknown(IUnknownVtbl) { - fn EnumAudioEndpoints( - dataFlow: EDataFlow, - dwStateMask: DWORD, - ppDevices: *mut *mut IMMDeviceCollection, - ) -> HRESULT, - fn GetDefaultAudioEndpoint( - dataFlow: EDataFlow, - role: ERole, - ppEndpoint: *mut *mut IMMDevice, - ) -> HRESULT, - fn GetDevice( - pwstrId: LPCWSTR, - ppDevices: *mut *mut IMMDevice, - ) -> HRESULT, - fn RegisterEndpointNotificationCallback( - pClient: *mut IMMNotificationClient, - ) -> HRESULT, - fn UnregisterEndpointNotificationCallback( - pClient: *mut IMMNotificationClient, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x3b0d0ea4, 0xd0a9, 0x4b0e, 0x93, 0x5b, 0x09, 0x51, 0x67, 0x46, 0xfa, 0xc0)] -interface IMMDeviceActivator(IMMDeviceActivatorVtbl): IUnknown(IUnknownVtbl) { - fn Activate( - iid: REFIID, - pDevice: *mut IMMDevice, - pActivationParams: *mut PROPVARIANT, - ppInterface: *mut *mut c_void, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x41d949ab, 0x9862, 0x444a, 0x80, 0xf6, 0xc2, 0x61, 0x33, 0x4d, 0xa5, 0xeb)] -interface IActivateAudioInterfaceCompletionHandler(IActivateAudioInterfaceCompletionHandlerVtbl): - IUnknown(IUnknownVtbl) { - fn ActivateCompleted( - activateOperation: *mut IActivateAudioInterfaceAsyncOperation, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x72a22d78, 0xcde4, 0x431d, 0xb8, 0xcc, 0x84, 0x3a, 0x71, 0x19, 0x9b, 0x6d)] -interface IActivateAudioInterfaceAsyncOperation(IActivateAudioInterfaceAsyncOperationVtbl): - IUnknown(IUnknownVtbl) { - fn GetActivateResult( - activateResult: *mut HRESULT, - activatedInterface: *mut *mut IUnknown, - ) -> HRESULT, -}} -extern "system" { - pub fn ActivateAudioInterfaceAsync( - deviceInterfacePath: LPCWSTR, - riid: REFIID, - activationParams: *mut PROPVARIANT, - completionHandler: *mut IActivateAudioInterfaceCompletionHandler, - activationOperation: *mut *mut IActivateAudioInterfaceAsyncOperation, - ) -> HRESULT; -} -STRUCT!{struct AudioExtensionParams { - AddPageParam: LPARAM, - pEndpoint: *mut IMMDevice, - pPnpInterface: *mut IMMDevice, - pPnpDevnode: *mut IMMDevice, -}} -DEFINE_GUID!{CLSID_MMDeviceEnumerator, - 0xBCDE0395, 0xE52F, 0x467C, 0x8E, 0x3D, 0xC4, 0x57, 0x92, 0x91, 0x69, 0x2E} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/mmeapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/mmeapi.rs deleted file mode 100644 index cc5153b3b..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/mmeapi.rs +++ /dev/null @@ -1,336 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::{DWORD_PTR, UINT_PTR}; -use shared::minwindef::{DWORD, LPBYTE, LPDWORD, LPWORD, PDWORD, UINT}; -use um::imm::LPUINT; -use um::mmsystem::{ - HMIDI, HMIDIIN, HMIDIOUT, HMIDISTRM, HWAVEIN, HWAVEOUT, LPCWAVEFORMATEX, LPHMIDIIN, LPHMIDIOUT, - LPHMIDISTRM, LPHWAVEIN, LPHWAVEOUT, LPMIDIHDR, LPMIDIINCAPSW, LPMIDIOUTCAPSW, LPMMTIME, - LPWAVEHDR, LPWAVEINCAPSW, LPWAVEOUTCAPSW, MMRESULT -}; -use um::winnt::{LPWSTR, PVOID}; -extern "system" { - pub fn waveOutGetNumDevs() -> UINT; - // pub fn waveOutGetDevCapsA(); - pub fn waveOutGetDevCapsW( - uDeviceID: UINT_PTR, - pwoc: LPWAVEOUTCAPSW, - cbwoc: UINT, - ) -> MMRESULT; - pub fn waveOutGetVolume( - hwo: HWAVEOUT, - pdwVolume: LPDWORD, - ) -> MMRESULT; - pub fn waveOutSetVolume( - hwo: HWAVEOUT, - dwVolume: DWORD, - ) -> MMRESULT; - // pub fn waveOutGetErrorTextA(); - pub fn waveOutGetErrorTextW( - mmrError: MMRESULT, - pszText: LPWSTR, - cchText: UINT, - ) -> MMRESULT; - pub fn waveOutOpen( - phwo: LPHWAVEOUT, - uDeviceID: UINT, - pwfx: LPCWAVEFORMATEX, - dwCallback: DWORD_PTR, - dwInstance: DWORD_PTR, - fdwOpen: DWORD, - ) -> MMRESULT; - pub fn waveOutClose( - hwo: HWAVEOUT, - ) -> MMRESULT; - pub fn waveOutPrepareHeader( - hwo: HWAVEOUT, - pwh: LPWAVEHDR, - cbwh: UINT, - ) -> MMRESULT; - pub fn waveOutUnprepareHeader( - hwo: HWAVEOUT, - pwh: LPWAVEHDR, - cbwh: UINT, - ) -> MMRESULT; - pub fn waveOutWrite( - hwo: HWAVEOUT, - pwh: LPWAVEHDR, - cbwh: UINT, - ) -> MMRESULT; - pub fn waveOutPause( - hwo: HWAVEOUT, - ) -> MMRESULT; - pub fn waveOutRestart( - hwo: HWAVEOUT, - ) -> MMRESULT; - pub fn waveOutReset( - hwo: HWAVEOUT, - ) -> MMRESULT; - pub fn waveOutBreakLoop( - hwo: HWAVEOUT, - ) -> MMRESULT; - pub fn waveOutGetPosition( - hwo: HWAVEOUT, - pmmt: LPMMTIME, - cbmmt: UINT, - ) -> MMRESULT; - pub fn waveOutGetPitch( - hwo: HWAVEOUT, - pdwPitch: LPDWORD, - ) -> MMRESULT; - pub fn waveOutSetPitch( - hwo: HWAVEOUT, - dwPitch: DWORD, - ) -> MMRESULT; - pub fn waveOutGetPlaybackRate( - hwo: HWAVEOUT, - pdwRate: LPDWORD, - ) -> MMRESULT; - pub fn waveOutSetPlaybackRate( - hwo: HWAVEOUT, - dwRate: DWORD, - ) -> MMRESULT; - // pub fn waveOutGetID(); - pub fn waveOutMessage( - hwo: HWAVEOUT, - uMsg: UINT, - dw1: DWORD_PTR, - dw2: DWORD_PTR, - ) -> MMRESULT; - pub fn waveInGetNumDevs() -> UINT; - // pub fn waveInGetDevCapsA(); - pub fn waveInGetDevCapsW( - uDeviceID: UINT_PTR, - pwic: LPWAVEINCAPSW, - cbwic: UINT, - ) -> MMRESULT; - // pub fn waveInGetErrorTextA(); - pub fn waveInGetErrorTextW( - mmrError: MMRESULT, - pszText: LPWSTR, - cchText: UINT, - ) -> MMRESULT; - pub fn waveInOpen( - phwi: LPHWAVEIN, - uDeviceID: UINT, - pwfx: LPCWAVEFORMATEX, - dwCallback: DWORD_PTR, - dwInstance: DWORD_PTR, - fdwOpen: DWORD, - ) -> MMRESULT; - pub fn waveInClose( - hwi: HWAVEIN, - ) -> MMRESULT; - pub fn waveInPrepareHeader( - hwi: HWAVEIN, - pwh: LPWAVEHDR, - cbwh: UINT, - ) -> MMRESULT; - pub fn waveInUnprepareHeader( - hwi: HWAVEIN, - pwh: LPWAVEHDR, - cbwh: UINT, - ) -> MMRESULT; - pub fn waveInAddBuffer( - hwi: HWAVEIN, - pwh: LPWAVEHDR, - cbwh: UINT, - ) -> MMRESULT; - pub fn waveInStart( - hwi: HWAVEIN, - ) -> MMRESULT; - pub fn waveInStop( - hwi: HWAVEIN, - ) -> MMRESULT; - pub fn waveInReset( - hwi: HWAVEIN, - ) -> MMRESULT; - pub fn waveInGetPosition( - hwi: HWAVEIN, - pmmt: LPMMTIME, - cbmmt: UINT, - ) -> MMRESULT; - // pub fn waveInGetID(); - pub fn waveInMessage( - hwi: HWAVEIN, - uMsg: UINT, - dw1: DWORD_PTR, - dw2: DWORD_PTR, - ) -> MMRESULT; - pub fn midiOutGetNumDevs() -> UINT; - pub fn midiStreamOpen( - lphStream: LPHMIDISTRM, - puDeviceID: LPUINT, - cMidi: DWORD, - dwCallback: DWORD_PTR, - dwInstance: DWORD_PTR, - fdwOpen: DWORD, - ) -> MMRESULT; - pub fn midiStreamClose( - hStream: HMIDISTRM, - ) -> MMRESULT; - pub fn midiStreamProperty( - hm: HMIDISTRM, - lppropdata: LPBYTE, - dwProperty: DWORD, - ) -> MMRESULT; - pub fn midiStreamPosition( - hms: HMIDISTRM, - pmmt: LPMMTIME, - cbmmt: UINT, - ) -> MMRESULT; - pub fn midiStreamOut( - hMidiStream: HMIDISTRM, - lpMidiHdr: LPMIDIHDR, - cbMidiHdr: UINT, - ) -> MMRESULT; - pub fn midiStreamPause( - hms: HMIDISTRM, - ) -> MMRESULT; - pub fn midiStreamRestart( - hms: HMIDISTRM, - ) -> MMRESULT; - pub fn midiStreamStop( - hms: HMIDISTRM, - ) -> MMRESULT; - pub fn midiConnect( - hMidi: HMIDI, - hmo: HMIDIOUT, - pReserved: PVOID, - ) -> MMRESULT; - pub fn midiDisconnect( - hMidi: HMIDI, - hmo: HMIDIOUT, - pReserved: PVOID, - ) -> MMRESULT; - pub fn midiOutGetDevCapsW( - uDeviceID: UINT_PTR, - lpMidiOutCaps: LPMIDIOUTCAPSW, - cbMidiOutCaps: UINT, - ) -> MMRESULT; - pub fn midiOutGetVolume( - hmo: HMIDIOUT, - lpdwVolume: PDWORD, - ) -> MMRESULT; - pub fn midiOutSetVolume( - hmo: HMIDIOUT, - dwVolume: DWORD, - ) -> MMRESULT; - pub fn midiOutGetErrorTextW( - mmrError: MMRESULT, - lpText: LPWSTR, - cchText: UINT, - ) -> MMRESULT; - pub fn midiOutOpen( - lphmo: LPHMIDIOUT, - uDeviceID: UINT, - dwCallback: DWORD_PTR, - dwCallbackInstance: DWORD_PTR, - dwFlags: DWORD, - ) -> MMRESULT; - pub fn midiOutClose( - hmo: HMIDIOUT, - ) -> MMRESULT; - pub fn midiOutPrepareHeader( - hmo: HMIDIOUT, - lpMidiOutHdr: LPMIDIHDR, - cbMidiOutHdr: UINT, - ) -> MMRESULT; - pub fn midiOutUnprepareHeader( - hmo: HMIDIOUT, - lpMidiOutHdr: LPMIDIHDR, - cbMidiOutHdr: UINT, - ) -> MMRESULT; - pub fn midiOutShortMsg( - hmo: HMIDIOUT, - dwMsg: DWORD, - ) -> MMRESULT; - pub fn midiOutLongMsg( - hmo: HMIDIOUT, - lpMidiOutHdr: LPMIDIHDR, - cbMidiOutHdr: UINT, - ) -> MMRESULT; - pub fn midiOutReset( - hmo: HMIDIOUT, - ) -> MMRESULT; - pub fn midiOutCachePatches( - hmo: HMIDIOUT, - wBank: UINT, - lpPatchArray: LPWORD, - wFlags: UINT, - ) -> MMRESULT; - pub fn midiOutCacheDrumPatches( - hmo: HMIDIOUT, - wPatch: UINT, - lpKeyArray: LPWORD, - wFlags: UINT, - ) -> MMRESULT; - pub fn midiOutGetID( - hmo: HMIDIOUT, - puDeviceID: LPUINT, - ) -> MMRESULT; - pub fn midiOutMessage( - deviceID: HMIDIOUT, - msg: UINT, - dw1: DWORD_PTR, - dw2: DWORD_PTR, - ) -> MMRESULT; - pub fn midiInGetNumDevs() -> UINT; - pub fn midiInGetDevCapsW( - uDeviceID: UINT_PTR, - lpMidiInCaps: LPMIDIINCAPSW, - cbMidiInCaps: UINT, - ) -> MMRESULT; - pub fn midiInGetErrorTextW( - wError: MMRESULT, - lpText: LPWSTR, - cchText: UINT, - ) -> MMRESULT; - pub fn midiInOpen( - lphMidiIn: LPHMIDIIN, - uDeviceID: UINT, - dwCallback: DWORD_PTR, - dwCallbackInstance: DWORD_PTR, - dwFlags: DWORD, - ) -> MMRESULT; - pub fn midiInClose( - hMidiIn: HMIDIIN, - ) -> MMRESULT; - pub fn midiInPrepareHeader( - hMidiIn: HMIDIIN, - lpMidiInHdr: LPMIDIHDR, - cbMidiInHdr: UINT, - ) -> MMRESULT; - pub fn midiInUnprepareHeader( - hMidiIn: HMIDIIN, - lpMidiInHdr: LPMIDIHDR, - cbMidiInHdr: UINT, - ) -> MMRESULT; - pub fn midiInAddBuffer( - hMidiIn: HMIDIIN, - lpMidiInHdr: LPMIDIHDR, - cbMidiInHdr: UINT, - ) -> MMRESULT; - pub fn midiInStart( - hMidiIn: HMIDIIN, - ) -> MMRESULT; - pub fn midiInStop( - hMidiIn: HMIDIIN, - ) -> MMRESULT; - pub fn midiInReset( - hMidiIn: HMIDIIN, - ) -> MMRESULT; - pub fn midiInGetID( - hmi: HMIDIIN, - puDeviceID: LPUINT, - ) -> MMRESULT; - pub fn midiInMessage( - deviceID: HMIDIIN, - msg: UINT, - dw1: DWORD_PTR, - dw2: DWORD_PTR, - ) -> MMRESULT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/mmsystem.rs b/vendor/registry-40351f815f426200/winapi/src/um/mmsystem.rs deleted file mode 100644 index 657ba5f4e..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/mmsystem.rs +++ /dev/null @@ -1,266 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! MM procedure declarations, constant definitions and macros -use shared::basetsd::DWORD_PTR; -use shared::minwindef::{BYTE, DWORD, UINT, WORD}; -use shared::mmreg::WAVEFORMATEX; -use um::winnt::{LPSTR, WCHAR}; -//109 (Win 7 SDK) -pub type MMVERSION = UINT; -pub type MMRESULT = UINT; -STRUCT!{#[repr(packed)] struct MMTIME_smpte { - hour: BYTE, - min: BYTE, - sec: BYTE, - frame: BYTE, - fps: BYTE, - dummy: BYTE, - pad: [BYTE; 2], -}} -STRUCT!{#[repr(packed)] struct MMTIME_midi { - songptrpos: DWORD, -}} -UNION!{#[repr(packed)] union MMTIME_u { - [u32; 2], - ms ms_mut: DWORD, - sample sample_mut: DWORD, - cb cb_mut: DWORD, - ticks ticks_mut: DWORD, - smpte smpte_mut: MMTIME_smpte, - midi midi_mut: MMTIME_midi, -}} -STRUCT!{#[repr(packed)] struct MMTIME { - wType: UINT, - u: MMTIME_u, -}} -pub type PMMTIME = *mut MMTIME; -pub type NPMMTIME = *mut MMTIME; -pub type LPMMTIME = *mut MMTIME; -pub const TIME_MS: UINT = 0x0001; -pub const TIME_SAMPLES: UINT = 0x0002; -pub const TIME_BYTES: UINT = 0x0004; -pub const TIME_SMPTE: UINT = 0x0008; -pub const TIME_MIDI: UINT = 0x0010; -pub const TIME_TICKS: UINT = 0x0020; -pub const MM_JOY1MOVE: UINT = 0x3A0; -pub const MM_JOY2MOVE: UINT = 0x3A1; -pub const MM_JOY1ZMOVE: UINT = 0x3A2; -pub const MM_JOY2ZMOVE: UINT = 0x3A3; -pub const MM_JOY1BUTTONDOWN: UINT = 0x3B5; -pub const MM_JOY2BUTTONDOWN: UINT = 0x3B6; -pub const MM_JOY1BUTTONUP: UINT = 0x3B7; -pub const MM_JOY2BUTTONUP: UINT = 0x3B8; -pub const MM_MCINOTIFY: UINT = 0x3B9; -pub const MM_WOM_OPEN: UINT = 0x3BB; -pub const MM_WOM_CLOSE: UINT = 0x3BC; -pub const MM_WOM_DONE: UINT = 0x3BD; -pub const MM_WIM_OPEN: UINT = 0x3BE; -pub const MM_WIM_CLOSE: UINT = 0x3BF; -pub const MM_WIM_DATA: UINT = 0x3C0; -pub const MM_MIM_OPEN: UINT = 0x3C1; -pub const MM_MIM_CLOSE: UINT = 0x3C2; -pub const MM_MIM_DATA: UINT = 0x3C3; -pub const MM_MIM_LONGDATA: UINT = 0x3C4; -pub const MM_MIM_ERROR: UINT = 0x3C5; -pub const MM_MIM_LONGERROR: UINT = 0x3C6; -pub const MM_MOM_OPEN: UINT = 0x3C7; -pub const MM_MOM_CLOSE: UINT = 0x3C8; -pub const MM_MOM_DONE: UINT = 0x3C9; -pub const MMSYSERR_BASE: MMRESULT = 0; -pub const WAVERR_BASE: MMRESULT = 32; -pub const MIDIERR_BASE: MMRESULT = 64; -pub const TIMERR_BASE: MMRESULT = 96; -pub const JOYERR_BASE: MMRESULT = 160; -pub const MCIERR_BASE: MMRESULT = 256; -pub const MIXERR_BASE: MMRESULT = 1024; -pub const MMSYSERR_NOERROR: MMRESULT = 0; -pub const MMSYSERR_ERROR: MMRESULT = MMSYSERR_BASE + 1; -pub const MMSYSERR_BADDEVICEID: MMRESULT = MMSYSERR_BASE + 2; -pub const MMSYSERR_NOTENABLED: MMRESULT = MMSYSERR_BASE + 3; -pub const MMSYSERR_ALLOCATED: MMRESULT = MMSYSERR_BASE + 4; -pub const MMSYSERR_INVALHANDLE: MMRESULT = MMSYSERR_BASE + 5; -pub const MMSYSERR_NODRIVER: MMRESULT = MMSYSERR_BASE + 6; -pub const MMSYSERR_NOMEM: MMRESULT = MMSYSERR_BASE + 7; -pub const MMSYSERR_NOTSUPPORTED: MMRESULT = MMSYSERR_BASE + 8; -pub const MMSYSERR_BADERRNUM: MMRESULT = MMSYSERR_BASE + 9; -pub const MMSYSERR_INVALFLAG: MMRESULT = MMSYSERR_BASE + 10; -pub const MMSYSERR_INVALPARAM: MMRESULT = MMSYSERR_BASE + 11; -pub const MMSYSERR_HANDLEBUSY: MMRESULT = MMSYSERR_BASE + 12; -pub const MMSYSERR_INVALIDALIAS: MMRESULT = MMSYSERR_BASE + 13; -pub const MMSYSERR_BADDB: MMRESULT = MMSYSERR_BASE + 14; -pub const MMSYSERR_KEYNOTFOUND: MMRESULT = MMSYSERR_BASE + 15; -pub const MMSYSERR_READERROR: MMRESULT = MMSYSERR_BASE + 16; -pub const MMSYSERR_WRITEERROR: MMRESULT = MMSYSERR_BASE + 17; -pub const MMSYSERR_DELETEERROR: MMRESULT = MMSYSERR_BASE + 18; -pub const MMSYSERR_VALNOTFOUND: MMRESULT = MMSYSERR_BASE + 19; -pub const MMSYSERR_NODRIVERCB: MMRESULT = MMSYSERR_BASE + 20; -pub const MMSYSERR_MOREDATA: MMRESULT = MMSYSERR_BASE + 21; -pub const MMSYSERR_LASTERROR: MMRESULT = MMSYSERR_BASE + 21; -pub const MIDIERR_UNPREPARED: MMRESULT = MIDIERR_BASE + 0; -pub const MIDIERR_STILLPLAYING: MMRESULT = MIDIERR_BASE + 1; -pub const MIDIERR_NOMAP: MMRESULT = MIDIERR_BASE + 2; -pub const MIDIERR_NOTREADY: MMRESULT = MIDIERR_BASE + 3; -pub const MIDIERR_NODEVICE: MMRESULT = MIDIERR_BASE + 4; -pub const MIDIERR_INVALIDSETUP: MMRESULT = MIDIERR_BASE + 5; -pub const MIDIERR_BADOPENMODE: MMRESULT = MIDIERR_BASE + 6; -pub const MIDIERR_DONT_CONTINUE: MMRESULT = MIDIERR_BASE + 7; -pub const MIDIERR_LASTERROR: MMRESULT = MIDIERR_BASE + 7; -pub const CALLBACK_TYPEMASK: DWORD = 0x00070000; -pub const CALLBACK_NULL: DWORD = 0x00000000; -pub const CALLBACK_WINDOW: DWORD = 0x00010000; -pub const CALLBACK_TASK: DWORD = 0x00020000; -pub const CALLBACK_FUNCTION: DWORD = 0x00030000; -pub const CALLBACK_THREAD: DWORD = CALLBACK_TASK; -pub const CALLBACK_EVENT: DWORD = 0x00050000; -//497 (Win 7 SDK) -pub const WAVERR_BADFORMAT: MMRESULT = WAVERR_BASE + 0; -pub const WAVERR_STILLPLAYING: MMRESULT = WAVERR_BASE + 1; -pub const WAVERR_UNPREPARED: MMRESULT = WAVERR_BASE + 2; -pub const WAVERR_SYNC: MMRESULT = WAVERR_BASE + 3; -pub const WAVERR_LASTERROR: MMRESULT = WAVERR_BASE + 3; -DECLARE_HANDLE!{HWAVEIN, HWAVEIN__} -DECLARE_HANDLE!{HWAVEOUT, HWAVEOUT__} -pub type LPHWAVEIN = *mut HWAVEIN; -pub type LPHWAVEOUT = *mut HWAVEOUT; -pub const WOM_OPEN: UINT = MM_WOM_OPEN; -pub const WOM_CLOSE: UINT = MM_WOM_CLOSE; -pub const WOM_DONE: UINT = MM_WOM_DONE; -pub const WIM_OPEN: UINT = MM_WIM_OPEN; -pub const WIM_CLOSE: UINT = MM_WIM_CLOSE; -pub const WIM_DATA: UINT = MM_WIM_DATA; -pub const WAVE_MAPPER: UINT = 0xFFFFFFFF; -pub const WAVE_FORMAT_QUERY: DWORD = 0x0001; -pub const WAVE_ALLOWSYNC: DWORD = 0x0002; -pub const WAVE_MAPPED: DWORD = 0x0004; -pub const WAVE_FORMAT_DIRECT: DWORD = 0x0008; -pub const WAVE_FORMAT_DIRECT_QUERY: DWORD = WAVE_FORMAT_QUERY | WAVE_FORMAT_DIRECT; -pub const WAVE_MAPPED_DEFAULT_COMMUNICATION_DEVICE: DWORD = 0x0010; -STRUCT!{#[repr(packed)] struct WAVEHDR { - lpData: LPSTR, - dwBufferLength: DWORD, - dwBytesRecorded: DWORD, - dwUser: DWORD_PTR, - dwFlags: DWORD, - dwLoops: DWORD, - lpNext: *mut WAVEHDR, - reserved: DWORD_PTR, -}} -pub type PWAVEHDR = *mut WAVEHDR; -pub type NPWAVEHDR = *mut WAVEHDR; -pub type LPWAVEHDR = *mut WAVEHDR; -STRUCT!{#[repr(packed)] struct WAVEOUTCAPSW { - wMid: WORD, - wPid: WORD, - vDriverVersion: MMVERSION, - szPname: [WCHAR; 32], - dwFormats: DWORD, - wChannels: WORD, - wReserved1: WORD, - dwSupport: DWORD, -}} -pub type PWAVEOUTCAPSW = *mut WAVEOUTCAPSW; -pub type NPWAVEOUTCAPSW = *mut WAVEOUTCAPSW; -pub type LPWAVEOUTCAPSW = *mut WAVEOUTCAPSW; -STRUCT!{#[repr(packed)] struct WAVEINCAPSW { - wMid: WORD, - wPid: WORD, - vDriverVersion: MMVERSION, - szPname: [WCHAR; 32], - dwFormats: DWORD, - wChannels: WORD, - wReserved1: WORD, -}} -pub type PWAVEINCAPSW = *mut WAVEINCAPSW; -pub type NPWAVEINCAPSW = *mut WAVEINCAPSW; -pub type LPWAVEINCAPSW = *mut WAVEINCAPSW; -pub const WAVE_INVALIDFORMAT: DWORD = 0x00000000; -pub const WAVE_FORMAT_1M08: DWORD = 0x00000001; -pub const WAVE_FORMAT_1S08: DWORD = 0x00000002; -pub const WAVE_FORMAT_1M16: DWORD = 0x00000004; -pub const WAVE_FORMAT_1S16: DWORD = 0x00000008; -pub const WAVE_FORMAT_2M08: DWORD = 0x00000010; -pub const WAVE_FORMAT_2S08: DWORD = 0x00000020; -pub const WAVE_FORMAT_2M16: DWORD = 0x00000040; -pub const WAVE_FORMAT_2S16: DWORD = 0x00000080; -pub const WAVE_FORMAT_4M08: DWORD = 0x00000100; -pub const WAVE_FORMAT_4S08: DWORD = 0x00000200; -pub const WAVE_FORMAT_4M16: DWORD = 0x00000400; -pub const WAVE_FORMAT_4S16: DWORD = 0x00000800; -pub const WAVE_FORMAT_44M08: DWORD = 0x00000100; -pub const WAVE_FORMAT_44S08: DWORD = 0x00000200; -pub const WAVE_FORMAT_44M16: DWORD = 0x00000400; -pub const WAVE_FORMAT_44S16: DWORD = 0x00000800; -pub const WAVE_FORMAT_48M08: DWORD = 0x00001000; -pub const WAVE_FORMAT_48S08: DWORD = 0x00002000; -pub const WAVE_FORMAT_48M16: DWORD = 0x00004000; -pub const WAVE_FORMAT_48S16: DWORD = 0x00008000; -pub const WAVE_FORMAT_96M08: DWORD = 0x00010000; -pub const WAVE_FORMAT_96S08: DWORD = 0x00020000; -pub const WAVE_FORMAT_96M16: DWORD = 0x00040000; -pub const WAVE_FORMAT_96S16: DWORD = 0x00080000; -//782 (Win 7 SDK) -pub type PWAVEFORMATEX = *mut WAVEFORMATEX; -pub type NPWAVEFORMATEX = *mut WAVEFORMATEX; -pub type LPWAVEFORMATEX = *mut WAVEFORMATEX; -pub type LPCWAVEFORMATEX = *const WAVEFORMATEX; -//2170 (Win 7 SDK) -pub const TIMERR_NOERROR: MMRESULT = 0; -pub const TIMERR_NOCANDO: MMRESULT = TIMERR_BASE + 1; -pub const TIMERR_STRUCT: MMRESULT = TIMERR_BASE + 33; -//2198 (Win 7 SDK) -STRUCT!{#[repr(packed)] struct TIMECAPS { - wPeriodMin: UINT, - wPeriodMax: UINT, -}} -pub type PTIMECAPS = *mut TIMECAPS; -pub type NPTIMECAPS = *mut TIMECAPS; -pub type LPTIMECAPS = *mut TIMECAPS; -STRUCT!{#[repr(packed)] struct MIDIHDR { - lpData: LPSTR, - dwBufferLength: DWORD, - dwBytesRecorded: DWORD, - dwUser: DWORD_PTR, - dwFlags: DWORD, - lpNext: *mut MIDIHDR, - reserved: DWORD_PTR, - dwOffset: DWORD, - dwReserved: [DWORD_PTR; 8], -}} -pub type PMIDIHDR = *mut MIDIHDR; -pub type NPMIDIHDR = *mut MIDIHDR; -pub type LPMIDIHDR = *mut MIDIHDR; -STRUCT!{#[repr(packed)] struct MIDIINCAPSW { - wMid: WORD, - wPid: WORD, - vDriverVersion: MMVERSION, - szPname: [WCHAR; 32], - dwSupport: DWORD, -}} -pub type PMIDIINCAPSW = *mut MIDIINCAPSW; -pub type NPMIDIINCAPSW = *mut MIDIINCAPSW; -pub type LPMIDIINCAPSW = *mut MIDIINCAPSW; -STRUCT!{#[repr(packed)] struct MIDIOUTCAPSW { - wMid: WORD, - wPid: WORD, - vDriverVersion: MMVERSION, - szPname: [WCHAR; 32], - wTechnology: WORD, - wVoices: WORD, - wNotes: WORD, - wChannelMask: WORD, - dwSupport: DWORD, -}} -pub type PMIDIOUTCAPSW = *mut MIDIOUTCAPSW; -pub type NPMIDIOUTCAPSW = *mut MIDIOUTCAPSW; -pub type LPMIDIOUTCAPSW = *mut MIDIOUTCAPSW; -DECLARE_HANDLE!{HMIDIIN, HMIDIIN__} -DECLARE_HANDLE!{HMIDIOUT, HMIDIOUT__} -pub type LPHMIDIIN = *mut HMIDIIN; -pub type LPHMIDIOUT = *mut HMIDIOUT; -DECLARE_HANDLE!{HMIDISTRM, HMIDISTRM__} -DECLARE_HANDLE!{HMIDI, HMIDI__} -pub type LPHMIDISTRM = *mut HMIDISTRM; -pub type LPHMIDI = *mut HMIDI; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/mod.rs b/vendor/registry-40351f815f426200/winapi/src/um/mod.rs deleted file mode 100644 index af20c7c69..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/mod.rs +++ /dev/null @@ -1,281 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Headers for user mode only -pub mod gl; -#[cfg(feature = "accctrl")] pub mod accctrl; -#[cfg(feature = "aclapi")] pub mod aclapi; -#[cfg(feature = "appmgmt")] pub mod appmgmt; -#[cfg(feature = "audioclient")] pub mod audioclient; -#[cfg(feature = "audiosessiontypes")] pub mod audiosessiontypes; -#[cfg(feature = "avrt")] pub mod avrt; -#[cfg(feature = "bits")] pub mod bits; -#[cfg(feature = "bits10_1")] pub mod bits10_1; -#[cfg(feature = "bits1_5")] pub mod bits1_5; -#[cfg(feature = "bits2_0")] pub mod bits2_0; -#[cfg(feature = "bits2_5")] pub mod bits2_5; -#[cfg(feature = "bits3_0")] pub mod bits3_0; -#[cfg(feature = "bits4_0")] pub mod bits4_0; -#[cfg(feature = "bits5_0")] pub mod bits5_0; -#[cfg(feature = "bitscfg")] pub mod bitscfg; -#[cfg(feature = "bitsmsg")] pub mod bitsmsg; -#[cfg(feature = "cfgmgr32")] pub mod cfgmgr32; -#[cfg(feature = "cguid")] pub mod cguid; -#[cfg(feature = "combaseapi")] pub mod combaseapi; -#[cfg(feature = "coml2api")] pub mod coml2api; -#[cfg(feature = "commapi")] pub mod commapi; -#[cfg(feature = "commctrl")] pub mod commctrl; -#[cfg(feature = "commdlg")] pub mod commdlg; -#[cfg(feature = "commoncontrols")] pub mod commoncontrols; -#[cfg(feature = "consoleapi")] pub mod consoleapi; -#[cfg(feature = "corsym")] pub mod corsym; -#[cfg(feature = "d2d1")] pub mod d2d1; -#[cfg(feature = "d2d1_1")] pub mod d2d1_1; -#[cfg(feature = "d2d1_2")] pub mod d2d1_2; -#[cfg(feature = "d2d1_3")] pub mod d2d1_3; -#[cfg(feature = "d2d1effectauthor")] pub mod d2d1effectauthor; -#[cfg(feature = "d2d1effects")] pub mod d2d1effects; -#[cfg(feature = "d2d1effects_1")] pub mod d2d1effects_1; -#[cfg(feature = "d2d1effects_2")] pub mod d2d1effects_2; -#[cfg(feature = "d2d1svg")] pub mod d2d1svg; -#[cfg(feature = "d2dbasetypes")] pub mod d2dbasetypes; -#[cfg(feature = "d3d")] pub mod d3d; -#[cfg(feature = "d3d10")] pub mod d3d10; -#[cfg(feature = "d3d10_1")] pub mod d3d10_1; -#[cfg(feature = "d3d10_1shader")] pub mod d3d10_1shader; -#[cfg(feature = "d3d10effect")] pub mod d3d10effect; -#[cfg(feature = "d3d10misc")] pub mod d3d10misc; -#[cfg(feature = "d3d10sdklayers")] pub mod d3d10sdklayers; -#[cfg(feature = "d3d10shader")] pub mod d3d10shader; -#[cfg(feature = "d3d11")] pub mod d3d11; -#[cfg(feature = "d3d11_1")] pub mod d3d11_1; -#[cfg(feature = "d3d11_2")] pub mod d3d11_2; -#[cfg(feature = "d3d11_3")] pub mod d3d11_3; -#[cfg(feature = "d3d11_4")] pub mod d3d11_4; -#[cfg(feature = "d3d11on12")] pub mod d3d11on12; -#[cfg(feature = "d3d11sdklayers")] pub mod d3d11sdklayers; -#[cfg(feature = "d3d11shader")] pub mod d3d11shader; -#[cfg(feature = "d3d11tokenizedprogramformat")] pub mod d3d11tokenizedprogramformat; -#[cfg(feature = "d3d12")] pub mod d3d12; -#[cfg(feature = "d3d12sdklayers")] pub mod d3d12sdklayers; -#[cfg(feature = "d3d12shader")] pub mod d3d12shader; -#[cfg(feature = "d3dcommon")] pub mod d3dcommon; -#[cfg(feature = "d3dcompiler")] pub mod d3dcompiler; -#[cfg(feature = "d3dcsx")] pub mod d3dcsx; -#[cfg(feature = "d3dx10core")] pub mod d3dx10core; -#[cfg(feature = "d3dx10math")] pub mod d3dx10math; -#[cfg(feature = "d3dx10mesh")] pub mod d3dx10mesh; -#[cfg(feature = "datetimeapi")] pub mod datetimeapi; -#[cfg(feature = "davclnt")] pub mod davclnt; -#[cfg(feature = "dbghelp")] pub mod dbghelp; -#[cfg(feature = "dbt")] pub mod dbt; -#[cfg(feature = "dcommon")] pub mod dcommon; -#[cfg(feature = "dcomp")] pub mod dcomp; -#[cfg(feature = "dcompanimation")] pub mod dcompanimation; -#[cfg(feature = "dde")] pub mod dde; -#[cfg(feature = "ddraw")] pub mod ddraw; -#[cfg(feature = "ddrawi")] pub mod ddrawi; -#[cfg(feature = "ddrawint")] pub mod ddrawint; -#[cfg(feature = "debugapi")] pub mod debugapi; -#[cfg(feature = "devicetopology")] pub mod devicetopology; -#[cfg(feature = "dinput")] pub mod dinput; -#[cfg(feature = "dispex")] pub mod dispex; -#[cfg(feature = "dmksctl")] pub mod dmksctl; -#[cfg(feature = "dmusicc")] pub mod dmusicc; -#[cfg(feature = "docobj")] pub mod docobj; -#[cfg(feature = "documenttarget")] pub mod documenttarget; -#[cfg(feature = "dpa_dsa")] pub mod dpa_dsa; -#[cfg(feature = "dpapi")] pub mod dpapi; -#[cfg(feature = "dsgetdc")] pub mod dsgetdc; -#[cfg(feature = "dsound")] pub mod dsound; -#[cfg(feature = "dsrole")] pub mod dsrole; -#[cfg(feature = "dvp")] pub mod dvp; -#[cfg(feature = "dwmapi")] pub mod dwmapi; -#[cfg(feature = "dwrite")] pub mod dwrite; -#[cfg(feature = "dwrite_1")] pub mod dwrite_1; -#[cfg(feature = "dwrite_2")] pub mod dwrite_2; -#[cfg(feature = "dwrite_3")] pub mod dwrite_3; -#[cfg(feature = "dxdiag")] pub mod dxdiag; -#[cfg(feature = "dxfile")] pub mod dxfile; -#[cfg(feature = "dxgidebug")] pub mod dxgidebug; -#[cfg(feature = "dxva2api")] pub mod dxva2api; -#[cfg(feature = "dxvahd")] pub mod dxvahd; -#[cfg(feature = "enclaveapi")] pub mod enclaveapi; -#[cfg(feature = "endpointvolume")] pub mod endpointvolume; -#[cfg(feature = "errhandlingapi")] pub mod errhandlingapi; -#[cfg(feature = "evntcons")] pub mod evntcons; -#[cfg(feature = "exdisp")] pub mod exdisp; -#[cfg(feature = "fibersapi")] pub mod fibersapi; -#[cfg(feature = "fileapi")] pub mod fileapi; -#[cfg(feature = "handleapi")] pub mod handleapi; -#[cfg(feature = "heapapi")] pub mod heapapi; -#[cfg(feature = "highlevelmonitorconfigurationapi")] pub mod highlevelmonitorconfigurationapi; -#[cfg(feature = "http")] pub mod http; -#[cfg(feature = "imm")] pub mod imm; -#[cfg(feature = "interlockedapi")] pub mod interlockedapi; -#[cfg(feature = "ioapiset")] pub mod ioapiset; -#[cfg(feature = "jobapi")] pub mod jobapi; -#[cfg(feature = "jobapi2")] pub mod jobapi2; -#[cfg(feature = "knownfolders")] pub mod knownfolders; -#[cfg(feature = "ktmw32")] pub mod ktmw32; -#[cfg(feature = "libloaderapi")] pub mod libloaderapi; -#[cfg(feature = "lmaccess")] pub mod lmaccess; -#[cfg(feature = "lmalert")] pub mod lmalert; -#[cfg(feature = "lmapibuf")] pub mod lmapibuf; -#[cfg(feature = "lmat")] pub mod lmat; -#[cfg(feature = "lmdfs")] pub mod lmdfs; -#[cfg(feature = "lmerrlog")] pub mod lmerrlog; -#[cfg(feature = "lmjoin")] pub mod lmjoin; -#[cfg(feature = "lmmsg")] pub mod lmmsg; -#[cfg(feature = "lmremutl")] pub mod lmremutl; -#[cfg(feature = "lmrepl")] pub mod lmrepl; -#[cfg(feature = "lmserver")] pub mod lmserver; -#[cfg(feature = "lmshare")] pub mod lmshare; -#[cfg(feature = "lmstats")] pub mod lmstats; -#[cfg(feature = "lmsvc")] pub mod lmsvc; -#[cfg(feature = "lmuse")] pub mod lmuse; -#[cfg(feature = "lmwksta")] pub mod lmwksta; -#[cfg(feature = "lowlevelmonitorconfigurationapi")] pub mod lowlevelmonitorconfigurationapi; -#[cfg(feature = "lsalookup")] pub mod lsalookup; -#[cfg(feature = "memoryapi")] pub mod memoryapi; -#[cfg(feature = "minschannel")] pub mod minschannel; -#[cfg(feature = "minwinbase")] pub mod minwinbase; -#[cfg(feature = "mmdeviceapi")] pub mod mmdeviceapi; -#[cfg(feature = "mmeapi")] pub mod mmeapi; -#[cfg(feature = "mmsystem")] pub mod mmsystem; -#[cfg(feature = "msaatext")] pub mod msaatext; -#[cfg(feature = "mscat")] pub mod mscat; -#[cfg(feature = "mschapp")] pub mod mschapp; -#[cfg(feature = "mssip")] pub mod mssip; -#[cfg(feature = "mswsock")] pub mod mswsock; -#[cfg(feature = "namedpipeapi")] pub mod namedpipeapi; -#[cfg(feature = "namespaceapi")] pub mod namespaceapi; -#[cfg(feature = "nb30")] pub mod nb30; -#[cfg(feature = "ncrypt")] pub mod ncrypt; -#[cfg(feature = "ntlsa")] pub mod ntlsa; -#[cfg(feature = "ntsecapi")] pub mod ntsecapi; -#[cfg(feature = "oaidl")] pub mod oaidl; -#[cfg(feature = "objbase")] pub mod objbase; -#[cfg(feature = "objidl")] pub mod objidl; -#[cfg(feature = "objidlbase")] pub mod objidlbase; -#[cfg(feature = "ocidl")] pub mod ocidl; -#[cfg(feature = "ole2")] pub mod ole2; -#[cfg(feature = "oleauto")] pub mod oleauto; -#[cfg(feature = "olectl")] pub mod olectl; -#[cfg(feature = "oleidl")] pub mod oleidl; -#[cfg(feature = "opmapi")] pub mod opmapi; -#[cfg(feature = "pdh")] pub mod pdh; -#[cfg(feature = "perflib")] pub mod perflib; -#[cfg(feature = "physicalmonitorenumerationapi")] pub mod physicalmonitorenumerationapi; -#[cfg(feature = "playsoundapi")] pub mod playsoundapi; -#[cfg(feature = "portabledevice")] pub mod portabledevice; -#[cfg(feature = "portabledeviceapi")] pub mod portabledeviceapi; -#[cfg(feature = "portabledevicetypes")] pub mod portabledevicetypes; -#[cfg(feature = "powerbase")] pub mod powerbase; -#[cfg(feature = "powersetting")] pub mod powersetting; -#[cfg(feature = "powrprof")] pub mod powrprof; -#[cfg(feature = "processenv")] pub mod processenv; -#[cfg(feature = "processsnapshot")] pub mod processsnapshot; -#[cfg(feature = "processthreadsapi")] pub mod processthreadsapi; -#[cfg(feature = "processtopologyapi")] pub mod processtopologyapi; -#[cfg(feature = "profileapi")] pub mod profileapi; -#[cfg(feature = "propidl")] pub mod propidl; -#[cfg(feature = "propkeydef")] pub mod propkeydef; -#[cfg(feature = "propsys")] pub mod propsys; -#[cfg(feature = "prsht")] pub mod prsht; -#[cfg(feature = "psapi")] pub mod psapi; -#[cfg(feature = "realtimeapiset")] pub mod realtimeapiset; -#[cfg(feature = "reason")] pub mod reason; -#[cfg(feature = "restartmanager")] pub mod restartmanager; -#[cfg(feature = "restrictederrorinfo")] pub mod restrictederrorinfo; -#[cfg(feature = "rmxfguid")] pub mod rmxfguid; -#[cfg(feature = "sapi")] pub mod sapi; -#[cfg(feature = "sapi51")] pub mod sapi51; -#[cfg(feature = "sapi53")] pub mod sapi53; -#[cfg(feature = "sapiddk")] pub mod sapiddk; -#[cfg(feature = "sapiddk51")] pub mod sapiddk51; -#[cfg(feature = "schannel")] pub mod schannel; -#[cfg(feature = "securityappcontainer")] pub mod securityappcontainer; -#[cfg(feature = "securitybaseapi")] pub mod securitybaseapi; -#[cfg(feature = "servprov")] pub mod servprov; -#[cfg(feature = "setupapi")] pub mod setupapi; -#[cfg(feature = "shellapi")] pub mod shellapi; -#[cfg(feature = "shellscalingapi")] pub mod shellscalingapi; -#[cfg(feature = "shlobj")] pub mod shlobj; -#[cfg(feature = "shobjidl")] pub mod shobjidl; -#[cfg(feature = "shobjidl_core")] pub mod shobjidl_core; -#[cfg(feature = "shtypes")] pub mod shtypes; -#[cfg(feature = "spapidef")] pub mod spapidef; -#[cfg(feature = "spellcheck")] pub mod spellcheck; -#[cfg(feature = "sporder")] pub mod sporder; -#[cfg(feature = "sql")] pub mod sql; -#[cfg(feature = "sqlext")] pub mod sqlext; -#[cfg(feature = "sqltypes")] pub mod sqltypes; -#[cfg(feature = "sqlucode")] pub mod sqlucode; -#[cfg(feature = "sspi")] pub mod sspi; -#[cfg(feature = "stringapiset")] pub mod stringapiset; -#[cfg(feature = "strmif")] pub mod strmif; -#[cfg(feature = "subauth")] pub mod subauth; -#[cfg(feature = "synchapi")] pub mod synchapi; -#[cfg(feature = "sysinfoapi")] pub mod sysinfoapi; -#[cfg(feature = "systemtopologyapi")] pub mod systemtopologyapi; -#[cfg(feature = "taskschd")] pub mod taskschd; -#[cfg(feature = "textstor")] pub mod textstor; -#[cfg(feature = "threadpoolapiset")] pub mod threadpoolapiset; -#[cfg(feature = "threadpoollegacyapiset")] pub mod threadpoollegacyapiset; -#[cfg(feature = "timeapi")] pub mod timeapi; -#[cfg(feature = "timezoneapi")] pub mod timezoneapi; -#[cfg(feature = "tlhelp32")] pub mod tlhelp32; -#[cfg(feature = "unknwnbase")] pub mod unknwnbase; -#[cfg(feature = "urlhist")] pub mod urlhist; -#[cfg(feature = "urlmon")] pub mod urlmon; -#[cfg(feature = "userenv")] pub mod userenv; -#[cfg(feature = "usp10")] pub mod usp10; -#[cfg(feature = "utilapiset")] pub mod utilapiset; -#[cfg(feature = "uxtheme")] pub mod uxtheme; -#[cfg(feature = "vsbackup")] pub mod vsbackup; -#[cfg(feature = "vss")] pub mod vss; -#[cfg(feature = "vsserror")] pub mod vsserror; -#[cfg(feature = "vswriter")] pub mod vswriter; -#[cfg(feature = "wbemads")] pub mod wbemads; -#[cfg(feature = "wbemcli")] pub mod wbemcli; -#[cfg(feature = "wbemdisp")] pub mod wbemdisp; -#[cfg(feature = "wbemprov")] pub mod wbemprov; -#[cfg(feature = "wbemtran")] pub mod wbemtran; -#[cfg(feature = "wct")] pub mod wct; -#[cfg(feature = "werapi")] pub mod werapi; -#[cfg(feature = "winbase")] pub mod winbase; -#[cfg(feature = "wincodec")] pub mod wincodec; -#[cfg(feature = "wincodecsdk")] pub mod wincodecsdk; -#[cfg(feature = "wincon")] pub mod wincon; -#[cfg(feature = "wincontypes")] pub mod wincontypes; -#[cfg(feature = "wincred")] pub mod wincred; -#[cfg(feature = "wincrypt")] pub mod wincrypt; -#[cfg(feature = "windowsceip")] pub mod windowsceip; -#[cfg(feature = "winefs")] pub mod winefs; -#[cfg(feature = "winevt")] pub mod winevt; -#[cfg(feature = "wingdi")] pub mod wingdi; -#[cfg(feature = "winhttp")] pub mod winhttp; -#[cfg(feature = "wininet")] pub mod wininet; -#[cfg(feature = "winineti")] pub mod winineti; -#[cfg(feature = "winioctl")] pub mod winioctl; -#[cfg(feature = "winnetwk")] pub mod winnetwk; -#[cfg(feature = "winnls")] pub mod winnls; -#[cfg(feature = "winnt")] pub mod winnt; -#[cfg(feature = "winreg")] pub mod winreg; -#[cfg(feature = "winsafer")] pub mod winsafer; -#[cfg(feature = "winscard")] pub mod winscard; -#[cfg(feature = "winsmcrd")] pub mod winsmcrd; -#[cfg(feature = "winsock2")] pub mod winsock2; -#[cfg(feature = "winspool")] pub mod winspool; -#[cfg(feature = "winsvc")] pub mod winsvc; -#[cfg(feature = "winusb")] pub mod winusb; -#[cfg(feature = "winuser")] pub mod winuser; -#[cfg(feature = "winver")] pub mod winver; -#[cfg(feature = "wow64apiset")] pub mod wow64apiset; -#[cfg(feature = "wpdmtpextensions")] pub mod wpdmtpextensions; -#[cfg(feature = "ws2spi")] pub mod ws2spi; -#[cfg(feature = "ws2tcpip")] pub mod ws2tcpip; -#[cfg(feature = "xinput")] pub mod xinput; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/msaatext.rs b/vendor/registry-40351f815f426200/winapi/src/um/msaatext.rs deleted file mode 100644 index 238ca2c13..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/msaatext.rs +++ /dev/null @@ -1,59 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{IID_ITfMSAAControl, - 0xb5f8fb3b, 0x393f, 0x4f7c, 0x84, 0xcb, 0x50, 0x49, 0x24, 0xc2, 0x70, 0x5a} -DEFINE_GUID!{IID_IInternalDocWrap, - 0xe1aa6466, 0x9db4, 0x40ba, 0xbe, 0x03, 0x77, 0xc3, 0x8e, 0x8e, 0x60, 0xb2} -DEFINE_GUID!{IID_ITextStoreACPEx, - 0xa2de3bc2, 0x3d8e, 0x11d3, 0x81, 0xa9, 0xf7, 0x53, 0xfb, 0xe6, 0x1a, 0x00} -DEFINE_GUID!{IID_ITextStoreAnchorEx, - 0xa2de3bc1, 0x3d8e, 0x11d3, 0x81, 0xa9, 0xf7, 0x53, 0xfb, 0xe6, 0x1a, 0x00} -DEFINE_GUID!{IID_ITextStoreACPSinkEx, - 0x2bdf9464, 0x41e2, 0x43e3, 0x95, 0x0c, 0xa6, 0x86, 0x5b, 0xa2, 0x5c, 0xd4} -DEFINE_GUID!{IID_ITextStoreSinkAnchorEx, - 0x25642426, 0x028d, 0x4474, 0x97, 0x7b, 0x11, 0x1b, 0xb1, 0x14, 0xfe, 0x3e} -DEFINE_GUID!{IID_IAccDictionary, - 0x1dc4cb5f, 0xd737, 0x474d, 0xad, 0xe9, 0x5c, 0xcf, 0xc9, 0xbc, 0x1c, 0xc9} -DEFINE_GUID!{IID_IVersionInfo, - 0x401518ec, 0xdb00, 0x4611, 0x9b, 0x29, 0x2a, 0x0e, 0x4b, 0x9a, 0xfa, 0x85} -DEFINE_GUID!{IID_ICoCreateLocally, - 0x03de00aa, 0xf272, 0x41e3, 0x99, 0xcb, 0x03, 0xc5, 0xe8, 0x11, 0x4e, 0xa0} -DEFINE_GUID!{IID_ICoCreatedLocally, - 0x0a53eb6c, 0x1908, 0x4742, 0x8c, 0xff, 0x2c, 0xee, 0x2e, 0x93, 0xf9, 0x4c} -DEFINE_GUID!{IID_IAccStore, - 0xe2cd4a63, 0x2b72, 0x4d48, 0xb7, 0x39, 0x95, 0xe4, 0x76, 0x51, 0x95, 0xba} -DEFINE_GUID!{IID_IAccServerDocMgr, - 0xad7c73cf, 0x6dd5, 0x4855, 0xab, 0xc2, 0xb0, 0x4b, 0xad, 0x5b, 0x91, 0x53} -DEFINE_GUID!{IID_IAccClientDocMgr, - 0x4c896039, 0x7b6d, 0x49e6, 0xa8, 0xc1, 0x45, 0x11, 0x6a, 0x98, 0x29, 0x2b} -DEFINE_GUID!{IID_IDocWrap, - 0xdcd285fe, 0x0be0, 0x43bd, 0x99, 0xc9, 0xaa, 0xae, 0xc5, 0x13, 0xc5, 0x55} -DEFINE_GUID!{IID_IClonableWrapper, - 0xb33e75ff, 0xe84c, 0x4dca, 0xa2, 0x5c, 0x33, 0xb8, 0xdc, 0x00, 0x33, 0x74} -DEFINE_GUID!{LIBID_MSAATEXTLib, - 0x150e2d7a, 0xdac1, 0x4582, 0x94, 0x7d, 0x2a, 0x8f, 0xd7, 0x8b, 0x82, 0xcd} -DEFINE_GUID!{CLSID_MSAAControl, - 0x08cd963f, 0x7a3e, 0x4f5c, 0x9b, 0xd8, 0xd6, 0x92, 0xbb, 0x04, 0x3c, 0x5b} -DEFINE_GUID!{CLSID_AccStore, - 0x5440837f, 0x4bff, 0x4ae5, 0xa1, 0xb1, 0x77, 0x22, 0xec, 0xc6, 0x33, 0x2a} -DEFINE_GUID!{CLSID_AccDictionary, - 0x6572ee16, 0x5fe5, 0x4331, 0xbb, 0x6d, 0x76, 0xa4, 0x9c, 0x56, 0xe4, 0x23} -DEFINE_GUID!{CLSID_AccServerDocMgr, - 0x6089a37e, 0xeb8a, 0x482d, 0xbd, 0x6f, 0xf9, 0xf4, 0x69, 0x04, 0xd1, 0x6d} -DEFINE_GUID!{CLSID_AccClientDocMgr, - 0xfc48cc30, 0x4f3e, 0x4fa1, 0x80, 0x3b, 0xad, 0x0e, 0x19, 0x6a, 0x83, 0xb1} -DEFINE_GUID!{CLSID_DocWrap, - 0xbf426f7e, 0x7a5e, 0x44d6, 0x83, 0x0c, 0xa3, 0x90, 0xea, 0x94, 0x62, 0xa3} -DEFINE_GUID!{IID_ITextStoreACP, - 0x28888fe3, 0xc2a0, 0x483a, 0xa3, 0xea, 0x8c, 0xb1, 0xce, 0x51, 0xff, 0x3d} -DEFINE_GUID!{IID_ITextStoreAnchor, - 0x9b2077b0, 0x5f18, 0x4dec, 0xbe, 0xe9, 0x3c, 0xc7, 0x22, 0xf5, 0xdf, 0xe0} -DEFINE_GUID!{IID_IAnchor, - 0x0feb7e34, 0x5a60, 0x4356, 0x8e, 0xf7, 0xab, 0xde, 0xc2, 0xff, 0x7c, 0xf8} -DEFINE_GUID!{IID_ITextStoreAnchorSink, - 0xaa80e905, 0x2021, 0x11d2, 0x93, 0xe0, 0x00, 0x60, 0xb0, 0x67, 0xb8, 0x6e} -DEFINE_GUID!{IID_ITextStoreACPSink, - 0x22d44c94, 0xa419, 0x4542, 0xa2, 0x72, 0xae, 0x26, 0x09, 0x3e, 0xce, 0xcf} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/mscat.rs b/vendor/registry-40351f815f426200/winapi/src/um/mscat.rs deleted file mode 100644 index fca635fcb..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/mscat.rs +++ /dev/null @@ -1,36 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Microsoft Internet Security Catalog API Prototypes and Definitions -use shared::guiddef::GUID; -use shared::minwindef::DWORD; -use um::mssip::SIP_INDIRECT_DATA; -use um::wincrypt::{CRYPT_ATTR_BLOB, HCRYPTMSG, HCRYPTPROV}; -use um::winnt::{HANDLE, LPWSTR}; -STRUCT!{struct CRYPTCATSTORE { - cbStruct: DWORD, - dwPublicVersion: DWORD, - pwszP7File: LPWSTR, - hProv: HCRYPTPROV, - dwEncodingType: DWORD, - fdwStoreFlags: DWORD, - hReserved: HANDLE, - hAttrs: HANDLE, - hCryptMsg: HCRYPTMSG, - hSorted: HANDLE, -}} -STRUCT!{struct CRYPTCATMEMBER { - cbStruct: DWORD, - pwszReferenceTag: LPWSTR, - pwszFileName: LPWSTR, - gSubjectType: GUID, - fdwMemberFlags: DWORD, - pIndirectData: *mut SIP_INDIRECT_DATA, - dwCertVersion: DWORD, - dwReserved: DWORD, - hReserved: HANDLE, - sEncodedIndirectData: CRYPT_ATTR_BLOB, - sEncodedMemberInfo: CRYPT_ATTR_BLOB, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/mschapp.rs b/vendor/registry-40351f815f426200/winapi/src/um/mschapp.rs deleted file mode 100644 index 103b54c9f..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/mschapp.rs +++ /dev/null @@ -1,48 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::SIZE_T; -use shared::minwindef::{DWORD, UCHAR}; -use um::winnt::{BOOLEAN, CHAR, PWSTR}; -pub const CYPHER_BLOCK_LENGTH: SIZE_T = 8; -STRUCT!{struct CYPHER_BLOCK { - data: [CHAR; CYPHER_BLOCK_LENGTH], -}} -STRUCT!{struct LM_OWF_PASSWORD { - data: [CYPHER_BLOCK; 2], -}} -pub type PLM_OWF_PASSWORD = *mut LM_OWF_PASSWORD; -pub type NT_OWF_PASSWORD = LM_OWF_PASSWORD; -pub type PNT_OWF_PASSWORD = *mut NT_OWF_PASSWORD; -STRUCT!{struct SAMPR_ENCRYPTED_USER_PASSWORD { - Buffer: [UCHAR; (256 * 2) + 4], -}} -pub type PSAMPR_ENCRYPTED_USER_PASSWORD = *mut SAMPR_ENCRYPTED_USER_PASSWORD; -STRUCT!{struct ENCRYPTED_LM_OWF_PASSWORD { - data: [CYPHER_BLOCK; 2], -}} -pub type PENCRYPTED_LM_OWF_PASSWORD = *mut ENCRYPTED_LM_OWF_PASSWORD; -pub type ENCRYPTED_NT_OWF_PASSWORD = ENCRYPTED_LM_OWF_PASSWORD; -pub type PENCRYPTED_NT_OWF_PASSWORD = *mut ENCRYPTED_NT_OWF_PASSWORD; -extern "system" { - pub fn MSChapSrvChangePassword( - ServerName: PWSTR, - UserName: PWSTR, - LmOldPresent: BOOLEAN, - LmOldOwfPassword: PLM_OWF_PASSWORD, - LmNewOwfPassword: PLM_OWF_PASSWORD, - NtOldOwfPassword: PNT_OWF_PASSWORD, - NtNewOwfPassword: PNT_OWF_PASSWORD, - ) -> DWORD; - pub fn MSChapSrvChangePassword2( - ServerName: PWSTR, - UserName: PWSTR, - NewPasswordEncryptedWithOldNt: PSAMPR_ENCRYPTED_USER_PASSWORD, - OldNtOwfPasswordEncryptedWithNewNt: PENCRYPTED_NT_OWF_PASSWORD, - LmPresent: BOOLEAN, - NewPasswordEncryptedWithOldLm: PSAMPR_ENCRYPTED_USER_PASSWORD, - OldLmOwfPasswordEncryptedWithNewLmOrNt: PENCRYPTED_LM_OWF_PASSWORD, - ) -> DWORD; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/mssip.rs b/vendor/registry-40351f815f426200/winapi/src/um/mssip.rs deleted file mode 100644 index f8cd6e407..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/mssip.rs +++ /dev/null @@ -1,255 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Microsoft SIP Provider Prototypes and Definitions -use shared::guiddef::GUID; -use shared::minwindef::{BOOL, BYTE, DWORD, LPVOID}; -use um::mscat::{CRYPTCATMEMBER, CRYPTCATSTORE}; -use um::wincrypt::{ - CRYPT_ALGORITHM_IDENTIFIER, CRYPT_ATTRIBUTE_TYPE_VALUE, CRYPT_HASH_BLOB, HCRYPTPROV, -}; -use um::winnt::{HANDLE, LPCWSTR, PWSTR, WCHAR}; -pub type CRYPT_DIGEST_DATA = CRYPT_HASH_BLOB; -pub const MSSIP_FLAGS_PROHIBIT_RESIZE_ON_CREATE: DWORD = 0x00010000; -pub const MSSIP_FLAGS_USE_CATALOG: DWORD = 0x00020000; -pub const MSSIP_FLAGS_MULTI_HASH: DWORD = 0x00040000; -pub const SPC_INC_PE_RESOURCES_FLAG: DWORD = 0x80; -pub const SPC_INC_PE_DEBUG_INFO_FLAG: DWORD = 0x40; -pub const SPC_INC_PE_IMPORT_ADDR_TABLE_FLAG: DWORD = 0x20; -pub const SPC_EXC_PE_PAGE_HASHES_FLAG: DWORD = 0x10; -pub const SPC_INC_PE_PAGE_HASHES_FLAG: DWORD = 0x100; -pub const SPC_DIGEST_GENERATE_FLAG: DWORD = 0x200; -pub const SPC_DIGEST_SIGN_FLAG: DWORD = 0x400; -pub const SPC_RELAXED_PE_MARKER_CHECK: DWORD = 0x800; -pub const SPC_MARKER_CHECK_SKIP_SIP_INDIRECT_DATA_FLAG: DWORD = 0x00000001; -pub const SPC_MARKER_CHECK_CURRENTLY_SUPPORTED_FLAGS: DWORD - = SPC_MARKER_CHECK_SKIP_SIP_INDIRECT_DATA_FLAG; -pub const MSSIP_ADDINFO_NONE: DWORD = 0; -pub const MSSIP_ADDINFO_FLAT: DWORD = 1; -pub const MSSIP_ADDINFO_CATMEMBER: DWORD = 2; -pub const MSSIP_ADDINFO_BLOB: DWORD = 3; -pub const MSSIP_ADDINFO_NONMSSIP: DWORD = 500; -UNION!{union SIP_SUBJECTINFO_u { - [usize; 1], - psFlat psFlat_mut: *mut MS_ADDINFO_FLAT, - psCatMember psCatMember_mut: *mut MS_ADDINFO_CATALOGMEMBER, - psBlob psBlob_mut: *mut MS_ADDINFO_BLOB, -}} -STRUCT!{struct SIP_SUBJECTINFO { - cbSize: DWORD, - pgSubjectType: *mut GUID, - hFile: HANDLE, - pwsFileName: LPCWSTR, - pwsDisplayName: LPCWSTR, - dwReserved1: DWORD, - dwIntVersion: DWORD, - hProv: HCRYPTPROV, - DigestAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - dwFlags: DWORD, - dwEncodingType: DWORD, - dwReserved2: DWORD, - fdwCAPISettings: DWORD, - fdwSecuritySettings: DWORD, - dwIndex: DWORD, - dwUnionChoice: DWORD, - u: SIP_SUBJECTINFO_u, - pClientData: LPVOID, -}} -pub type LPSIP_SUBJECTINFO = *mut SIP_SUBJECTINFO; -STRUCT!{struct MS_ADDINFO_FLAT { - cbStruct: DWORD, - pIndirectData: *mut SIP_INDIRECT_DATA, -}} -pub type PMS_ADDINFO_FLAT = *mut MS_ADDINFO_FLAT; -STRUCT!{struct MS_ADDINFO_CATALOGMEMBER { - cbStruct: DWORD, - pStore: *mut CRYPTCATSTORE, - pMember: *mut CRYPTCATMEMBER, -}} -pub type PMS_ADDINFO_CATALOGMEMBER = *mut MS_ADDINFO_CATALOGMEMBER; -STRUCT!{struct MS_ADDINFO_BLOB { - cbStruct: DWORD, - cbMemObject: DWORD, - pbMemObject: *mut BYTE, - cbMemSignedMsg: DWORD, - pbMemSignedMsg: *mut BYTE, -}} -pub type PMS_ADDINFO_BLOB = *mut MS_ADDINFO_BLOB; -STRUCT!{struct SIP_CAP_SET_V2 { - cbSize: DWORD, - dwVersion: DWORD, - isMultiSign: BOOL, - dwReserved: DWORD, -}} -pub type PSIP_CAP_SET_V2 = *mut SIP_CAP_SET_V2; -UNION!{union SIP_CAP_SET_V3_u { - [u32; 1], - dwFlags dwFlags_mut: DWORD, - dwReserved dwReserved_mut: DWORD, -}} -STRUCT!{struct SIP_CAP_SET_V3 { - cbSize: DWORD, - dwVersion: DWORD, - isMultiSign: BOOL, - u: SIP_CAP_SET_V3_u, -}} -pub type PSIP_CAP_SET_V3 = *mut SIP_CAP_SET_V3; -pub type SIP_CAP_SET = SIP_CAP_SET_V3; -pub type PSIP_CAP_SET = PSIP_CAP_SET_V3; -pub const SIP_CAP_SET_VERSION_2: DWORD = 2; -pub const SIP_CAP_SET_VERSION_3: DWORD = 3; -pub const SIP_CAP_SET_CUR_VER: DWORD = 3; -pub const SIP_CAP_FLAG_SEALING: DWORD = 0x00000001; -STRUCT!{struct SIP_INDIRECT_DATA { - Data: CRYPT_ATTRIBUTE_TYPE_VALUE, - DigestAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - Digest: CRYPT_HASH_BLOB, -}} -pub type PSIP_INDIRECT_DATA = *mut SIP_INDIRECT_DATA; -extern "system" { - pub fn CryptSIPGetSignedDataMsg( - pSubjectInfo: *mut SIP_SUBJECTINFO, - pdwEncodingType: *mut DWORD, - dwIndex: DWORD, - pcbSignedDataMsg: *mut DWORD, - pbSignedDataMsg: *mut BYTE, - ) -> BOOL; -} -FN!{stdcall pCryptSIPGetSignedDataMsg( - pSubjectInfo: *mut SIP_SUBJECTINFO, - pdwEncodingType: *mut DWORD, - dwIndex: DWORD, - pcbSignedDataMsg: *mut DWORD, - pbSignedDataMsg: *mut BYTE, -) -> BOOL} -extern "system" { - pub fn CryptSIPPutSignedDataMsg( - pSubjectInfo: *mut SIP_SUBJECTINFO, - dwEncodingType: DWORD, - pdwIndex: *mut DWORD, - cbSignedDataMsg: DWORD, - pbSignedDataMsg: *mut BYTE, - ) -> BOOL; -} -FN!{stdcall pCryptSIPPutSignedDataMsg( - pSubjectInfo: *mut SIP_SUBJECTINFO, - dwEncodingType: DWORD, - pdwIndex: *mut DWORD, - cbSignedDataMsg: DWORD, - pbSignedDataMsg: *mut BYTE, -) -> BOOL} -extern "system" { - pub fn CryptSIPCreateIndirectData( - pSubjectInfo: *mut SIP_SUBJECTINFO, - pcbIndirectData: *mut DWORD, - pIndirectData: *mut SIP_INDIRECT_DATA, - ) -> BOOL; -} -FN!{stdcall pCryptSIPCreateIndirectData( - pSubjectInfo: *mut SIP_SUBJECTINFO, - pcbIndirectData: *mut DWORD, - pIndirectData: *mut SIP_INDIRECT_DATA, -) -> BOOL} -extern "system" { - pub fn CryptSIPVerifyIndirectData( - pSubjectInfo: *mut SIP_SUBJECTINFO, - pIndirectData: *mut SIP_INDIRECT_DATA, - ) -> BOOL; -} -FN!{stdcall pCryptSIPVerifyIndirectData( - pSubjectInfo: *mut SIP_SUBJECTINFO, - pIndirectData: *mut SIP_INDIRECT_DATA, -) -> BOOL} -extern "system" { - pub fn CryptSIPRemoveSignedDataMsg( - pSubjectInfo: *mut SIP_SUBJECTINFO, - dwIndex: DWORD, - ) -> BOOL; -} -FN!{stdcall pCryptSIPRemoveSignedDataMsg( - pSubjectInfo: *mut SIP_SUBJECTINFO, - dwIndex: DWORD, -) -> BOOL} -STRUCT!{struct SIP_DISPATCH_INFO { - cbSize: DWORD, - hSIP: HANDLE, - pfGet: pCryptSIPGetSignedDataMsg, - pfPut: pCryptSIPPutSignedDataMsg, - pfCreate: pCryptSIPCreateIndirectData, - pfVerify: pCryptSIPVerifyIndirectData, - pfRemove: pCryptSIPRemoveSignedDataMsg, -}} -pub type LPSIP_DISPATCH_INFO = *mut SIP_DISPATCH_INFO; -FN!{stdcall pfnIsFileSupported( - hFile: HANDLE, - pgSubject: *mut GUID, -) -> BOOL} -FN!{stdcall pfnIsFileSupportedName( - pwszFileName: *mut WCHAR, - pgSubject: *mut GUID, -) -> BOOL} -STRUCT!{struct SIP_ADD_NEWPROVIDER { - cbStruct: DWORD, - pgSubject: *mut GUID, - pwszDLLFileName: *mut WCHAR, - pwszMagicNumber: *mut WCHAR, - pwszIsFunctionName: *mut WCHAR, - pwszGetFuncName: *mut WCHAR, - pwszPutFuncName: *mut WCHAR, - pwszCreateFuncName: *mut WCHAR, - pwszVerifyFuncName: *mut WCHAR, - pwszRemoveFuncName: *mut WCHAR, - pwszIsFunctionNameFmt2: *mut WCHAR, - pwszGetCapFuncName: PWSTR, -}} -pub type PSIP_ADD_NEWPROVIDER = *mut SIP_ADD_NEWPROVIDER; -pub const SIP_MAX_MAGIC_NUMBER: DWORD = 4; -extern "system" { - pub fn CryptSIPLoad( - pgSubject: *const GUID, - dwFlags: DWORD, - pSipDispatch: *mut SIP_DISPATCH_INFO, - ) -> BOOL; - pub fn CryptSIPRetrieveSubjectGuid( - FileName: LPCWSTR, - hFileIn: HANDLE, - pgSubject: *mut GUID, - ) -> BOOL; - pub fn CryptSIPRetrieveSubjectGuidForCatalogFile( - FileName: LPCWSTR, - hFileIn: HANDLE, - pgSubject: *mut GUID, - ) -> BOOL; - pub fn CryptSIPAddProvider( - psNewProv: *mut SIP_ADD_NEWPROVIDER, - ) -> BOOL; - pub fn CryptSIPRemoveProvider( - pgProv: *mut GUID, - ) -> BOOL; - pub fn CryptSIPGetCaps( - pSubjInfo: *mut SIP_SUBJECTINFO, - pCaps: *mut SIP_CAP_SET, - ) -> BOOL; -} -FN!{stdcall pCryptSIPGetCaps( - pSubjInfo: *mut SIP_SUBJECTINFO, - pCaps: *mut SIP_CAP_SET, -) -> BOOL} -extern "system" { - pub fn CryptSIPGetSealedDigest( - pSubjectInfo: *mut SIP_SUBJECTINFO, - pSig: *const BYTE, - dwSig: DWORD, - pbDigest: *mut BYTE, - pcbDigest: *mut DWORD, - ) -> BOOL; -} -FN!{stdcall pCryptSIPGetSealedDigest( - pSubjectInfo: *mut SIP_SUBJECTINFO, - pSig: *const BYTE, - dwSig: DWORD, - pbDigest: *mut BYTE, - pcbDigest: *mut DWORD, -) -> BOOL} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/mswsock.rs b/vendor/registry-40351f815f426200/winapi/src/um/mswsock.rs deleted file mode 100644 index cbbe19135..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/mswsock.rs +++ /dev/null @@ -1,413 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_char, c_int}; -use shared::minwindef::{BOOL, DWORD, INT, LPDWORD, LPINT, LPVOID, ULONG}; -use shared::mswsockdef::{PRIORESULT, PRIO_BUF, RIO_BUFFERID, RIO_CQ, RIO_RQ}; -use shared::ws2def::{IOC_VENDOR, IOC_WS2, LPWSAMSG, SOCKADDR}; -use um::minwinbase::LPOVERLAPPED; -use um::winnt::{CHAR, HANDLE, LARGE_INTEGER, PCHAR, PVOID, WCHAR}; -use um::winsock2::{ - LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE, LPWSAPOLLFD, SOCKET, WSAESETSERVICEOP, - WSAPOLLFD, -}; -pub const SO_CONNDATA: c_int = 0x7000; -pub const SO_CONNOPT: c_int = 0x7001; -pub const SO_DISCDATA: c_int = 0x7002; -pub const SO_DISCOPT: c_int = 0x7003; -pub const SO_CONNDATALEN: c_int = 0x7004; -pub const SO_CONNOPTLEN: c_int = 0x7005; -pub const SO_DISCDATALEN: c_int = 0x7006; -pub const SO_DISCOPTLEN: c_int = 0x7007; -pub const SO_OPENTYPE: c_int = 0x7008; -pub const SO_SYNCHRONOUS_ALERT: DWORD = 0x10; -pub const SO_SYNCHRONOUS_NONALERT: DWORD = 0x20; -pub const SO_MAXDG: c_int = 0x7009; -pub const SO_MAXPATHDG: c_int = 0x700A; -pub const SO_UPDATE_ACCEPT_CONTEXT: c_int = 0x700B; -pub const SO_CONNECT_TIME: c_int = 0x700C; -pub const SO_UPDATE_CONNECT_CONTEXT: c_int = 0x7010; -pub const TCP_BSDURGENT: c_int = 0x7000; -pub const SIO_UDP_CONNRESET: DWORD = _WSAIOW!(IOC_VENDOR, 12); -pub const SIO_SOCKET_CLOSE_NOTIFY: DWORD = _WSAIOW!(IOC_VENDOR, 13); -pub const SIO_UDP_NETRESET: DWORD = _WSAIOW!(IOC_VENDOR, 15); -extern "system" { - pub fn WSARecvEx( - s: SOCKET, - buf: *mut c_char, - len: c_int, - flags: *mut c_int, - ) -> c_int; -} -STRUCT!{struct TRANSMIT_FILE_BUFFERS { - Head: LPVOID, - HeadLength: DWORD, - Tail: LPVOID, - TailLength: DWORD, -}} -pub type PTRANSMIT_FILE_BUFFERS = *mut TRANSMIT_FILE_BUFFERS; -pub type LPTRANSMIT_FILE_BUFFERS = *mut TRANSMIT_FILE_BUFFERS; -pub const TF_DISCONNECT: DWORD = 0x01; -pub const TF_REUSE_SOCKET: DWORD = 0x02; -pub const TF_WRITE_BEHIND: DWORD = 0x04; -pub const TF_USE_DEFAULT_WORKER: DWORD = 0x00; -pub const TF_USE_SYSTEM_THREAD: DWORD = 0x10; -pub const TF_USE_KERNEL_APC: DWORD = 0x20; -extern "system" { - pub fn TransmitFile( - hSocket: SOCKET, - hFile: HANDLE, - nNumberOfBytesToWrite: DWORD, - nNumberOfBytesPerSend: DWORD, - lpOverlapped: LPOVERLAPPED, - lpTransmitBuffers: LPTRANSMIT_FILE_BUFFERS, - dwReserved: DWORD, - ) -> BOOL; - pub fn AcceptEx( - sListenSocket: SOCKET, - sAcceptSocket: SOCKET, - lpOutputBuffer: PVOID, - dwReceiveDataLength: DWORD, - dwLocalAddressLength: DWORD, - dwRemoteAddressLength: DWORD, - lpdwBytesReceived: LPDWORD, - lpOverlapped: LPOVERLAPPED, - ) -> BOOL; - pub fn GetAcceptExSockaddrs( - lpOutputBuffer: PVOID, - dwReceiveDataLength: DWORD, - dwLocalAddressLength: DWORD, - dwRemoteAddressLength: DWORD, - LocalSockaddr: *mut *mut SOCKADDR, - LocalSockaddrLength: LPINT, - RemoteSockaddr: *mut *mut SOCKADDR, - RemoteSockaddrLength: LPINT, - ); -} -FN!{stdcall LPFN_TRANSMITFILE( - hSocket: SOCKET, - hFile: HANDLE, - nNumberOfBytesToWrite: DWORD, - nNumberOfBytesPerSend: DWORD, - lpOverlapped: LPOVERLAPPED, - lpTransmitBuffers: LPTRANSMIT_FILE_BUFFERS, - dwReserved: DWORD, -) -> BOOL} -DEFINE_GUID!{WSAID_TRANSMITFILE, - 0xb5367df0, 0xcbac, 0x11cf, 0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92} -FN!{stdcall LPFN_ACCEPTEX( - sListenSocket: SOCKET, - sAcceptSocket: SOCKET, - lpOutputBuffer: PVOID, - dwReceiveDataLength: DWORD, - dwLocalAddressLength: DWORD, - dwRemoteAddressLength: DWORD, - lpdwBytesReceived: LPDWORD, - lpOverlapped: LPOVERLAPPED, -) -> BOOL} -DEFINE_GUID!{WSAID_ACCEPTEX, - 0xb5367df1, 0xcbac, 0x11cf, 0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92} -FN!{stdcall LPFN_GETACCEPTEXSOCKADDRS( - lpOutputBuffer: PVOID, - dwReceiveDataLength: DWORD, - dwLocalAddressLength: DWORD, - dwRemoteAddressLength: DWORD, - LocalSockaddr: *mut *mut SOCKADDR, - LocalSockaddrLength: LPINT, - RemoteSockaddr: *mut *mut SOCKADDR, - RemoteSockaddrLength: LPINT, -) -> ()} -DEFINE_GUID!{WSAID_GETACCEPTEXSOCKADDRS, - 0xb5367df2, 0xcbac, 0x11cf, 0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92} -pub const TP_ELEMENT_MEMORY: ULONG = 1; -pub const TP_ELEMENT_FILE: ULONG = 2; -pub const TP_ELEMENT_EOP: ULONG = 4; -STRUCT!{struct TRANSMIT_PACKETS_ELEMENT_u_s { - nFileOffset: LARGE_INTEGER, - hFile: HANDLE, -}} -UNION!{union TRANSMIT_PACKETS_ELEMENT_u { - [u64; 2], - s s_mut: TRANSMIT_PACKETS_ELEMENT_u_s, - pBuffer pBuffer_mut: PVOID, -}} -STRUCT!{struct TRANSMIT_PACKETS_ELEMENT { - dwElFlags: ULONG, - cLength: ULONG, - u: TRANSMIT_PACKETS_ELEMENT_u, -}} -pub type PTRANSMIT_PACKETS_ELEMENT = *mut TRANSMIT_PACKETS_ELEMENT; -pub type LPTRANSMIT_PACKETS_ELEMENT = *mut TRANSMIT_PACKETS_ELEMENT; -pub const TP_DISCONNECT: DWORD = TF_DISCONNECT; -pub const TP_REUSE_SOCKET: DWORD = TF_REUSE_SOCKET; -pub const TP_USE_DEFAULT_WORKER: DWORD = TF_USE_DEFAULT_WORKER; -pub const TP_USE_SYSTEM_THREAD: DWORD = TF_USE_SYSTEM_THREAD; -pub const TP_USE_KERNEL_APC: DWORD = TF_USE_KERNEL_APC; -FN!{stdcall LPFN_TRANSMITPACKETS( - hSocket: SOCKET, - lpPacketArray: LPTRANSMIT_PACKETS_ELEMENT, - nElementCount: DWORD, - nSendSize: DWORD, - lpOverlapped: LPOVERLAPPED, - dwFlags: DWORD, -) -> BOOL} -DEFINE_GUID!{WSAID_TRANSMITPACKETS, - 0xd9689da0, 0x1f90, 0x11d3, 0x99, 0x71, 0x00, 0xc0, 0x4f, 0x68, 0xc8, 0x76} -FN!{stdcall LPFN_CONNECTEX( - s: SOCKET, - name: *const SOCKADDR, - namelen: c_int, - lpSendBuffer: PVOID, - dwSendDataLength: DWORD, - lpdwBytesSent: LPDWORD, - lpOverlapped: LPOVERLAPPED, -) -> BOOL} -DEFINE_GUID!{WSAID_CONNECTEX, - 0x25a207b9, 0xddf3, 0x4660, 0x8e, 0xe9, 0x76, 0xe5, 0x8c, 0x74, 0x06, 0x3e} -FN!{stdcall LPFN_DISCONNECTEX( - s: SOCKET, - lpOverlapped: LPOVERLAPPED, - dwFlags: DWORD, - dwReserved: DWORD, -) -> BOOL} -DEFINE_GUID!{WSAID_DISCONNECTEX, - 0x7fda2e11, 0x8630, 0x436f, 0xa0, 0x31, 0xf5, 0x36, 0xa6, 0xee, 0xc1, 0x57} -pub const DE_REUSE_SOCKET: DWORD = TF_REUSE_SOCKET; -DEFINE_GUID!{NLA_NAMESPACE_GUID, - 0x6642243a, 0x3ba8, 0x4aa6, 0xba, 0xa5, 0x2e, 0xb, 0xd7, 0x1f, 0xdd, 0x83} -DEFINE_GUID!{NLA_SERVICE_CLASS_GUID, - 0x37e515, 0xb5c9, 0x4a43, 0xba, 0xda, 0x8b, 0x48, 0xa8, 0x7a, 0xd2, 0x39} -pub const NLA_ALLUSERS_NETWORK: WSAESETSERVICEOP = 0x00000001; -pub const NLA_FRIENDLY_NAME: WSAESETSERVICEOP = 0x00000002; -ENUM!{enum NLA_BLOB_DATA_TYPE { - NLA_RAW_DATA = 0, - NLA_INTERFACE = 1, - NLA_802_1X_LOCATION = 2, - NLA_CONNECTIVITY = 3, - NLA_ICS = 4, -}} -pub type PNLA_BLOB_DATA_TYPE = *mut NLA_BLOB_DATA_TYPE; -ENUM!{enum NLA_CONNECTIVITY_TYPE { - NLA_NETWORK_AD_HOC = 0, - NLA_NETWORK_MANAGED = 1, - NLA_NETWORK_UNMANAGED = 2, - NLA_NETWORK_UNKNOWN = 3, -}} -pub type PNLA_CONNECTIVITY_TYPE = *mut NLA_CONNECTIVITY_TYPE; -ENUM!{enum NLA_INTERNET { - NLA_INTERNET_UNKNOWN = 0, - NLA_INTERNET_NO = 1, - NLA_INTERNET_YES = 2, -}} -pub type PNLA_INTERNET = *mut NLA_INTERNET; -STRUCT!{struct NLA_BLOB_s { - type_: NLA_BLOB_DATA_TYPE, - dwSize: DWORD, - nextOffset: DWORD, -}} -STRUCT!{struct NLA_BLOB_u_s1 { - dwType: DWORD, - dwSpeed: DWORD, - adapterName: [CHAR; 1], -}} -STRUCT!{struct NLA_BLOB_u_s2 { - information: [CHAR; 1], -}} -STRUCT!{struct NLA_BLOB_u_s3 { - type_: NLA_CONNECTIVITY_TYPE, - internet: NLA_INTERNET, -}} -STRUCT!{struct NLA_BLOB_u_s4_s { - speed: DWORD, - type_: DWORD, - state: DWORD, - machineName: [WCHAR; 256], - sharedAdapterName: [WCHAR; 256], -}} -STRUCT!{struct NLA_BLOB_u_s4 { - remote: NLA_BLOB_u_s4_s, -}} -UNION!{union NLA_BLOB_u { - [u32; 259], - rawData rawData_mut: [CHAR; 1], - interfaceData interfaceData_mut: NLA_BLOB_u_s1, - locationData locationData_mut: NLA_BLOB_u_s2, - connectivity connectivity_mut: NLA_BLOB_u_s3, - ICS ICS_mut: NLA_BLOB_u_s4, -}} -STRUCT!{struct NLA_BLOB { - header: NLA_BLOB_s, - data: NLA_BLOB_u, -}} -pub type PNLA_BLOB = *mut NLA_BLOB; -pub type LPNLA_BLOB = *mut NLA_BLOB; -FN!{stdcall LPFN_WSARECVMSG( - s: SOCKET, - lpMsg: LPWSAMSG, - lpdwNumberOfBytesRecvd: LPDWORD, - lpOverlapped: LPWSAOVERLAPPED, - lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, -) -> INT} -DEFINE_GUID!{WSAID_WSARECVMSG, - 0xf689d7c8, 0x6f1f, 0x436b, 0x8a, 0x53, 0xe5, 0x4f, 0xe3, 0x51, 0xc3, 0x22} -pub const SIO_BSP_HANDLE: DWORD = _WSAIOR!(IOC_WS2, 27); -pub const SIO_BSP_HANDLE_SELECT: DWORD = _WSAIOR!(IOC_WS2, 28); -pub const SIO_BSP_HANDLE_POLL: DWORD = _WSAIOR!(IOC_WS2, 29); -pub const SIO_BASE_HANDLE: DWORD = _WSAIOR!(IOC_WS2, 34); -pub const SIO_EXT_SELECT: DWORD = _WSAIORW!(IOC_WS2, 30); -pub const SIO_EXT_POLL: DWORD = _WSAIORW!(IOC_WS2, 31); -pub const SIO_EXT_SENDMSG: DWORD = _WSAIORW!(IOC_WS2, 32); -STRUCT!{struct WSAPOLLDATA { - result: c_int, - fds: ULONG, - timeout: INT, - fdArray: *mut WSAPOLLFD, -}} -pub type LPWSAPOLLDATA = *mut WSAPOLLDATA; -STRUCT!{struct WSASENDMSG { - lpMsg: LPWSAMSG, - dwFlags: DWORD, - lpNumberOfBytesSent: LPDWORD, - lpOverlapped: LPWSAOVERLAPPED, - lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, -}} -pub type LPWSASENDMSG = *mut WSASENDMSG; -FN!{stdcall LPFN_WSASENDMSG( - s: SOCKET, - lpMsg: LPWSAMSG, - dwFlags: DWORD, - lpNumberOfBytesSent: LPDWORD, - lpOverlapped: LPWSAOVERLAPPED, - lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, -) -> INT} -DEFINE_GUID!{WSAID_WSASENDMSG, - 0xa441e712, 0x754f, 0x43ca, 0x84, 0xa7, 0x0d, 0xee, 0x44, 0xcf, 0x60, 0x6d} -FN!{stdcall LPFN_WSAPOLL( - fdarray: LPWSAPOLLFD, - nfds: ULONG, - timeout: INT, -) -> INT} -DEFINE_GUID!{WSAID_WSAPOLL, - 0x18C76F85, 0xDC66, 0x4964, 0x97, 0x2E, 0x23, 0xC2, 0x72, 0x38, 0x31, 0x2B} -FN!{stdcall LPFN_RIORECEIVE( - SocketQueue: RIO_RQ, - pData: PRIO_BUF, - DataBufferCount: ULONG, - Flags: DWORD, - RequestContext: PVOID, -) -> BOOL} -FN!{stdcall LPFN_RIORECEIVEEX( - SocketQueue: RIO_RQ, - pData: PRIO_BUF, - DataBufferCount: ULONG, - pLocalAddress: PRIO_BUF, - pRemoteAddress: PRIO_BUF, - pControlContext: PRIO_BUF, - pFlags: PRIO_BUF, - Flags: DWORD, - RequestContext: PVOID, -) -> c_int} -FN!{stdcall LPFN_RIOSEND( - SocketQueue: RIO_RQ, - pData: PRIO_BUF, - DataBufferCount: ULONG, - Flags: DWORD, - RequestContext: PVOID, -) -> BOOL} -FN!{stdcall LPFN_RIOSENDEX( - SocketQueue: RIO_RQ, - pData: PRIO_BUF, - DataBufferCount: ULONG, - pLocalAddress: PRIO_BUF, - pRemoteAddress: PRIO_BUF, - pControlContext: PRIO_BUF, - pFlags: PRIO_BUF, - Flags: DWORD, - RequestContext: PVOID, -) -> BOOL} -FN!{stdcall LPFN_RIOCLOSECOMPLETIONQUEUE( - CQ: RIO_CQ, -) -> ()} -ENUM!{enum RIO_NOTIFICATION_COMPLETION_TYPE { - RIO_EVENT_COMPLETION = 1, - RIO_IOCP_COMPLETION = 2, -}} -pub type PRIO_NOTIFICATION_COMPLETION_TYPE = *mut RIO_NOTIFICATION_COMPLETION_TYPE; -STRUCT!{struct RIO_NOTIFICATION_COMPLETION_u_s1 { - EventHandle: HANDLE, - NotifyReset: BOOL, -}} -STRUCT!{struct RIO_NOTIFICATION_COMPLETION_u_s2 { - IocpHandle: HANDLE, - CompletionKey: PVOID, - Overlapped: PVOID, -}} -UNION!{union RIO_NOTIFICATION_COMPLETION_u { - [u32; 3] [u64; 3], - Event Event_mut: RIO_NOTIFICATION_COMPLETION_u_s1, - Iocp Iocp_mut: RIO_NOTIFICATION_COMPLETION_u_s2, -}} -STRUCT!{struct RIO_NOTIFICATION_COMPLETION { - Type: RIO_NOTIFICATION_COMPLETION_TYPE, - u: RIO_NOTIFICATION_COMPLETION_u, -}} -pub type PRIO_NOTIFICATION_COMPLETION = *mut RIO_NOTIFICATION_COMPLETION; -FN!{stdcall LPFN_RIOCREATECOMPLETIONQUEUE( - QueueSize: DWORD, - NotificationCompletion: PRIO_NOTIFICATION_COMPLETION, -) -> RIO_CQ} -FN!{stdcall LPFN_RIOCREATEREQUESTQUEUE( - Socket: SOCKET, - MaxOutstandingReceive: ULONG, - MaxReceiveDataBuffers: ULONG, - MaxOutstandingSend: ULONG, - MaxSendDataBuffers: ULONG, - ReceiveCQ: RIO_CQ, - SendCQ: RIO_CQ, - SocketContext: PVOID, -) -> RIO_RQ} -FN!{stdcall LPFN_RIODEQUEUECOMPLETION( - CQ: RIO_CQ, - Array: PRIORESULT, - ArraySize: ULONG, -) -> ULONG} -FN!{stdcall LPFN_RIODEREGISTERBUFFER( - BufferId: RIO_BUFFERID, -) -> ()} -FN!{stdcall LPFN_RIONOTIFY( - CQ: RIO_CQ, -) -> INT} -FN!{stdcall LPFN_RIOREGISTERBUFFER( - DataBuffer: PCHAR, - DataLength: DWORD, -) -> RIO_BUFFERID} -FN!{stdcall LPFN_RIORESIZECOMPLETIONQUEUE( - CQ: RIO_CQ, - QueueSize: DWORD, -) -> BOOL} -FN!{stdcall LPFN_RIORESIZEREQUESTQUEUE( - RQ: RIO_RQ, - MaxOutstandingReceive: DWORD, - MaxOutstandingSend: DWORD, -) -> BOOL} -STRUCT!{struct RIO_EXTENSION_FUNCTION_TABLE { - cbSize: DWORD, - RIOReceive: LPFN_RIORECEIVE, - RIOReceiveEx: LPFN_RIORECEIVEEX, - RIOSend: LPFN_RIOSEND, - RIOSendEx: LPFN_RIOSENDEX, - RIOCloseCompletionQueue: LPFN_RIOCLOSECOMPLETIONQUEUE, - RIOCreateCompletionQueue: LPFN_RIOCREATECOMPLETIONQUEUE, - RIOCreateRequestQueue: LPFN_RIOCREATEREQUESTQUEUE, - RIODequeueCompletion: LPFN_RIODEQUEUECOMPLETION, - RIODeregisterBuffer: LPFN_RIODEREGISTERBUFFER, - RIONotify: LPFN_RIONOTIFY, - RIORegisterBuffer: LPFN_RIOREGISTERBUFFER, - RIOResizeCompletionQueue: LPFN_RIORESIZECOMPLETIONQUEUE, - RIOResizeRequestQueue: LPFN_RIORESIZEREQUESTQUEUE, -}} -pub type PRIO_EXTENSION_FUNCTION_TABLE = *mut RIO_EXTENSION_FUNCTION_TABLE; -DEFINE_GUID!{WSAID_MULTIPLE_RIO, - 0x8509e081, 0x96dd, 0x4005, 0xb1, 0x65, 0x9e, 0x2e, 0xe8, 0xc7, 0x9e, 0x3f} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/namedpipeapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/namedpipeapi.rs deleted file mode 100644 index 7c7447f1e..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/namedpipeapi.rs +++ /dev/null @@ -1,93 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::{BOOL, DWORD, LPDWORD, LPVOID, ULONG}; -use um::minwinbase::{LPOVERLAPPED, LPSECURITY_ATTRIBUTES}; -use um::winnt::{HANDLE, LPCWSTR, LPWSTR, PHANDLE}; -extern "system" { - pub fn CreatePipe( - hReadPipe: PHANDLE, - hWritePipe: PHANDLE, - lpPipeAttributes: LPSECURITY_ATTRIBUTES, - nSize: DWORD, - ) -> BOOL; - pub fn ConnectNamedPipe( - hNamedPipe: HANDLE, - lpOverlapped: LPOVERLAPPED, - ) -> BOOL; - pub fn DisconnectNamedPipe( - hNamedPipe: HANDLE, - ) -> BOOL; - pub fn SetNamedPipeHandleState( - hNamedPipe: HANDLE, - lpMode: LPDWORD, - lpMaxCollectionCount: LPDWORD, - lpCollectDataTimeout: LPDWORD, - ) -> BOOL; - pub fn PeekNamedPipe( - hNamedPipe: HANDLE, - lpBuffer: LPVOID, - nBufferSize: DWORD, - lpBytesRead: LPDWORD, - lpTotalBytesAvail: LPDWORD, - lpBytesLeftThisMessage: LPDWORD, - ) -> BOOL; - pub fn TransactNamedPipe( - hNamedPipe: HANDLE, - lpInBuffer: LPVOID, - nInBufferSize: DWORD, - lpOutBuffer: LPVOID, - nOutBufferSize: DWORD, - lpBytesRead: LPDWORD, - lpOverlapped: LPOVERLAPPED, - ) -> BOOL; - pub fn CreateNamedPipeW( - lpName: LPCWSTR, - dwOpenMode: DWORD, - dwPipeMode: DWORD, - nMaxInstances: DWORD, - nOutBufferSize: DWORD, - nInBufferSize: DWORD, - nDefaultTimeOut: DWORD, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - ) -> HANDLE; - pub fn WaitNamedPipeW( - lpNamedPipeName: LPCWSTR, - nTimeOut: DWORD, - ) -> BOOL; - pub fn GetNamedPipeClientComputerNameW( - Pipe: HANDLE, - ClientComputerName: LPWSTR, - ClientComputerNameLength: ULONG, - ) -> BOOL; - pub fn ImpersonateNamedPipeClient( - hNamedPipe: HANDLE, - ) -> BOOL; - pub fn GetNamedPipeInfo( - hNamedPipe: HANDLE, - lpFlags: LPDWORD, - lpOutBufferSize: LPDWORD, - lpInBufferSize: LPDWORD, - lpMaxInstances: LPDWORD, - ) -> BOOL; - pub fn GetNamedPipeHandleStateW( - hNamedPipe: HANDLE, - lpState: LPDWORD, - lpCurInstances: LPDWORD, - lpMaxCollectionCount: LPDWORD, - lpCollectDataTimeout: LPDWORD, - lpUserName: LPWSTR, - nMaxUserNameSize: DWORD, - ) -> BOOL; - pub fn CallNamedPipeW( - lpNamedPipeName: LPCWSTR, - lpInBuffer: LPVOID, - nInBufferSize: DWORD, - lpOutBuffer: LPVOID, - nOutBufferSize: DWORD, - lpBytesRead: LPDWORD, - nTimeOut: DWORD, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/namespaceapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/namespaceapi.rs deleted file mode 100644 index cfdb80572..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/namespaceapi.rs +++ /dev/null @@ -1,36 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -use shared::minwindef::{BOOL, LPVOID, ULONG}; -use shared::ntdef::{BOOLEAN, HANDLE, LPCWSTR}; -use um::minwinbase::LPSECURITY_ATTRIBUTES; -use um::winnt::PSID; -pub const PRIVATE_NAMESPACE_FLAG_DESTROY: ULONG = 0x00000001; -extern "system" { - pub fn CreatePrivateNamespaceW( - lpPrivateNamespaceAttributes: LPSECURITY_ATTRIBUTES, - lpBoundaryDescriptor: LPVOID, - lpAliasPrefix: LPCWSTR, - ) -> HANDLE; - pub fn OpenPrivateNamespaceW( - lpBoundaryDescriptor: LPVOID, - lpAliasPrefix: LPCWSTR, - ) -> HANDLE; - pub fn ClosePrivateNamespace( - Handle: HANDLE, - Flags: ULONG, - ) -> BOOLEAN; - pub fn CreateBoundaryDescriptorW( - Name: LPCWSTR, - Flags: ULONG, - ) -> HANDLE; - pub fn AddSIDToBoundaryDescriptor( - BoundaryDescriptor: *mut HANDLE, - RequiredSid: PSID, - ) -> BOOL; - pub fn DeleteBoundaryDescriptor( - BoundaryDescriptor: HANDLE, - ) -> (); -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/nb30.rs b/vendor/registry-40351f815f426200/winapi/src/um/nb30.rs deleted file mode 100644 index 81dfddfb7..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/nb30.rs +++ /dev/null @@ -1,214 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This module contains the definitions for portable NetBIOS 3.0 support. -use shared::minwindef::{DWORD, PUCHAR, UCHAR, ULONG, USHORT, WORD}; -use um::winnt::HANDLE; -pub const NCBNAMSZ: usize = 16; -pub const MAX_LANA: usize = 254; -FN!{stdcall PFPOST( - *mut NCB, -) -> ()} -#[cfg(target_pointer_width = "64")] -STRUCT!{struct NCB { - ncb_command: UCHAR, - ncb_retcode: UCHAR, - ncb_lsn: UCHAR, - ncb_num: UCHAR, - ncb_buffer: PUCHAR, - ncb_length: WORD, - ncb_callname: [UCHAR; NCBNAMSZ], - ncb_name: [UCHAR; NCBNAMSZ], - ncb_rto: UCHAR, - ncb_sto: UCHAR, - ncb_post: PFPOST, - ncb_lana_num: UCHAR, - ncb_cmd_cplt: UCHAR, - ncb_reserve: [UCHAR; 18], - ncb_event: HANDLE, -}} -#[cfg(target_arch = "x86")] -STRUCT!{struct NCB { - ncb_command: UCHAR, - ncb_retcode: UCHAR, - ncb_lsn: UCHAR, - ncb_num: UCHAR, - ncb_buffer: PUCHAR, - ncb_length: WORD, - ncb_callname: [UCHAR; NCBNAMSZ], - ncb_name: [UCHAR; NCBNAMSZ], - ncb_rto: UCHAR, - ncb_sto: UCHAR, - ncb_post: PFPOST, - ncb_lana_num: UCHAR, - ncb_cmd_cplt: UCHAR, - ncb_reserve: [UCHAR; 10], - ncb_event: HANDLE, -}} -pub type PNCB = *mut NCB; -STRUCT!{struct ADAPTER_STATUS { - adapter_address: [UCHAR; 6], - rev_major: UCHAR, - reserved0: UCHAR, - adapter_type: UCHAR, - rev_minor: UCHAR, - duration: WORD, - frmr_recv: WORD, - frmr_xmit: WORD, - iframe_recv_err: WORD, - xmit_aborts: WORD, - xmit_success: DWORD, - recv_success: DWORD, - iframe_xmit_err: WORD, - recv_buff_unavail: WORD, - t1_timeouts: WORD, - ti_timeouts: WORD, - reserved1: DWORD, - free_ncbs: WORD, - max_cfg_ncbs: WORD, - max_ncbs: WORD, - xmit_buf_unavail: WORD, - max_dgram_size: WORD, - pending_sess: WORD, - max_cfg_sess: WORD, - max_sess: WORD, - max_sess_pkt_size: WORD, - name_count: WORD, -}} -pub type PADAPTER_STATUS = *mut ADAPTER_STATUS; -STRUCT!{struct NAME_BUFFER { - name: [UCHAR; NCBNAMSZ], - name_num: UCHAR, - name_flags: UCHAR, -}} -pub type PNAME_BUFFER = *mut NAME_BUFFER; -pub const NAME_FLAGS_MASK: UCHAR = 0x87; -pub const GROUP_NAME: UCHAR = 0x80; -pub const UNIQUE_NAME: UCHAR = 0x00; -pub const REGISTERING: UCHAR = 0x00; -pub const REGISTERED: UCHAR = 0x04; -pub const DEREGISTERED: UCHAR = 0x05; -pub const DUPLICATE: UCHAR = 0x06; -pub const DUPLICATE_DEREG: UCHAR = 0x07; -STRUCT!{struct SESSION_HEADER { - sess_name: UCHAR, - num_sess: UCHAR, - rcv_dg_outstanding: UCHAR, - rcv_any_outstanding: UCHAR, -}} -pub type PSESSION_HEADER = *mut SESSION_HEADER; -STRUCT!{struct SESSION_BUFFER { - lsn: UCHAR, - state: UCHAR, - local_name: [UCHAR; NCBNAMSZ], - remote_name: [UCHAR; NCBNAMSZ], - rcvs_outstanding: UCHAR, - sends_outstanding: UCHAR, -}} -pub type PSESSION_BUFFER = *mut SESSION_BUFFER; -pub const LISTEN_OUTSTANDING: UCHAR = 0x01; -pub const CALL_PENDING: UCHAR = 0x02; -pub const SESSION_ESTABLISHED: UCHAR = 0x03; -pub const HANGUP_PENDING: UCHAR = 0x04; -pub const HANGUP_COMPLETE: UCHAR = 0x05; -pub const SESSION_ABORTED: UCHAR = 0x06; -STRUCT!{struct LANA_ENUM { - length: UCHAR, - lana: [UCHAR; MAX_LANA + 1], -}} -pub type PLANA_ENUM = *mut LANA_ENUM; -STRUCT!{struct FIND_NAME_HEADER { - node_count: WORD, - reserved: UCHAR, - unique_group: UCHAR, -}} -pub type PFIND_NAME_HEADER = *mut FIND_NAME_HEADER; -STRUCT!{struct FIND_NAME_BUFFER { - length: UCHAR, - access_control: UCHAR, - frame_control: UCHAR, - destination_addr: [UCHAR; 6], - source_addr: [UCHAR; 6], - routing_info: [UCHAR; 18], -}} -pub type PFIND_NAME_BUFFER = *mut FIND_NAME_BUFFER; -STRUCT!{struct ACTION_HEADER { - transport_id: ULONG, - action_code: USHORT, - reserved: USHORT, -}} -pub type PACTION_HEADER = *mut ACTION_HEADER; -pub const ALL_TRANSPORTS: ULONG = 0x0000004d; -pub const MS_NBF: ULONG = 0x46424e4d; -pub const NCBCALL: UCHAR = 0x10; -pub const NCBLISTEN: UCHAR = 0x11; -pub const NCBHANGUP: UCHAR = 0x12; -pub const NCBSEND: UCHAR = 0x14; -pub const NCBRECV: UCHAR = 0x15; -pub const NCBRECVANY: UCHAR = 0x16; -pub const NCBCHAINSEND: UCHAR = 0x17; -pub const NCBDGSEND: UCHAR = 0x20; -pub const NCBDGRECV: UCHAR = 0x21; -pub const NCBDGSENDBC: UCHAR = 0x22; -pub const NCBADDNAME: UCHAR = 0x30; -pub const NCBDELNAME: UCHAR = 0x31; -pub const NCBRESET: UCHAR = 0x32; -pub const NCBASTAT: UCHAR = 0x33; -pub const NCBSSTAT: UCHAR = 0x34; -pub const NCBCANCEL: UCHAR = 0x35; -pub const NCBADDGRNAME: UCHAR = 0x36; -pub const NCBENUM: UCHAR = 0x37; -pub const NCBUNLINK: UCHAR = 0x70; -pub const NCBSENDNA: UCHAR = 0x71; -pub const NCBCHAINSENDNA: UCHAR = 0x72; -pub const NCBLANSTALERT: UCHAR = 0x73; -pub const NCBACTION: UCHAR = 0x77; -pub const NCBFINDNAME: UCHAR = 0x78; -pub const NCBTRACE: UCHAR = 0x79; -pub const ASYNCH: UCHAR = 0x80; -pub const NRC_GOODRET: UCHAR = 0x00; -pub const NRC_BUFLEN: UCHAR = 0x01; -pub const NRC_ILLCMD: UCHAR = 0x03; -pub const NRC_CMDTMO: UCHAR = 0x05; -pub const NRC_INCOMP: UCHAR = 0x06; -pub const NRC_BADDR: UCHAR = 0x07; -pub const NRC_SNUMOUT: UCHAR = 0x08; -pub const NRC_NORES: UCHAR = 0x09; -pub const NRC_SCLOSED: UCHAR = 0x0a; -pub const NRC_CMDCAN: UCHAR = 0x0b; -pub const NRC_DUPNAME: UCHAR = 0x0d; -pub const NRC_NAMTFUL: UCHAR = 0x0e; -pub const NRC_ACTSES: UCHAR = 0x0f; -pub const NRC_LOCTFUL: UCHAR = 0x11; -pub const NRC_REMTFUL: UCHAR = 0x12; -pub const NRC_ILLNN: UCHAR = 0x13; -pub const NRC_NOCALL: UCHAR = 0x14; -pub const NRC_NOWILD: UCHAR = 0x15; -pub const NRC_INUSE: UCHAR = 0x16; -pub const NRC_NAMERR: UCHAR = 0x17; -pub const NRC_SABORT: UCHAR = 0x18; -pub const NRC_NAMCONF: UCHAR = 0x19; -pub const NRC_IFBUSY: UCHAR = 0x21; -pub const NRC_TOOMANY: UCHAR = 0x22; -pub const NRC_BRIDGE: UCHAR = 0x23; -pub const NRC_CANOCCR: UCHAR = 0x24; -pub const NRC_CANCEL: UCHAR = 0x26; -pub const NRC_DUPENV: UCHAR = 0x30; -pub const NRC_ENVNOTDEF: UCHAR = 0x34; -pub const NRC_OSRESNOTAV: UCHAR = 0x35; -pub const NRC_MAXAPPS: UCHAR = 0x36; -pub const NRC_NOSAPS: UCHAR = 0x37; -pub const NRC_NORESOURCES: UCHAR = 0x38; -pub const NRC_INVADDRESS: UCHAR = 0x39; -pub const NRC_INVDDID: UCHAR = 0x3B; -pub const NRC_LOCKFAIL: UCHAR = 0x3C; -pub const NRC_OPENERR: UCHAR = 0x3f; -pub const NRC_SYSTEM: UCHAR = 0x40; -pub const NRC_PENDING: UCHAR = 0xff; -extern "system" { - pub fn Netbios( - pncb: PNCB, - ) -> UCHAR; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/ncrypt.rs b/vendor/registry-40351f815f426200/winapi/src/um/ncrypt.rs deleted file mode 100644 index 5f5431e21..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/ncrypt.rs +++ /dev/null @@ -1,88 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::{SIZE_T, ULONG_PTR}; -use shared::bcrypt::{BCRYPT_NO_KEY_VALIDATION, BCryptBufferDesc}; -use shared::minwindef::{DWORD, LPVOID, PBYTE}; -use um::winnt::{LONG, LPCWSTR, VOID}; -pub type SECURITY_STATUS = LONG; -pub type HCRYPTPROV = ULONG_PTR; -pub type HCRYPTKEY = ULONG_PTR; -pub type HCRYPTHASH = ULONG_PTR; -FN!{stdcall PFN_NCRYPT_ALLOC( - cbSize: SIZE_T, -) -> LPVOID} -FN!{stdcall PFN_NCRYPT_FREE( - pv: LPVOID, -) -> VOID} -STRUCT!{struct NCRYPT_ALLOC_PARA { - cbSize: DWORD, - pfnAlloc: PFN_NCRYPT_ALLOC, - pfnFree: PFN_NCRYPT_FREE, -}} -pub type NCryptBufferDesc = BCryptBufferDesc; -pub type NCRYPT_HANDLE = ULONG_PTR; -pub type NCRYPT_PROV_HANDLE = ULONG_PTR; -pub type NCRYPT_KEY_HANDLE = ULONG_PTR; -pub type NCRYPT_HASH_HANDLE = ULONG_PTR; -pub type NCRYPT_SECRET_HANDLE = ULONG_PTR; -pub const NCRYPT_NO_PADDING_FLAG: DWORD = 0x00000001; -pub const NCRYPT_PAD_PKCS1_FLAG: DWORD = 0x00000002; -pub const NCRYPT_PAD_OAEP_FLAG: DWORD = 0x00000004; -pub const NCRYPT_PAD_PSS_FLAG: DWORD = 0x00000008; -pub const NCRYPT_PAD_CIPHER_FLAG: DWORD = 0x00000010; -pub const NCRYPT_ATTESTATION_FLAG: DWORD = 0x00000020; -pub const NCRYPT_SEALING_FLAG: DWORD = 0x00000100; -pub const NCRYPT_REGISTER_NOTIFY_FLAG: DWORD = 0x00000001; -pub const NCRYPT_UNREGISTER_NOTIFY_FLAG: DWORD = 0x00000002; -pub const NCRYPT_NO_KEY_VALIDATION: DWORD = BCRYPT_NO_KEY_VALIDATION; -pub const NCRYPT_MACHINE_KEY_FLAG: DWORD = 0x00000020; -pub const NCRYPT_SILENT_FLAG: DWORD = 0x00000040; -pub const NCRYPT_OVERWRITE_KEY_FLAG: DWORD = 0x00000080; -pub const NCRYPT_WRITE_KEY_TO_LEGACY_STORE_FLAG: DWORD = 0x00000200; -pub const NCRYPT_DO_NOT_FINALIZE_FLAG: DWORD = 0x00000400; -pub const NCRYPT_EXPORT_LEGACY_FLAG: DWORD = 0x00000800; -pub const NCRYPT_IGNORE_DEVICE_STATE_FLAG: DWORD = 0x00001000; -pub const NCRYPT_TREAT_NIST_AS_GENERIC_ECC_FLAG: DWORD = 0x00002000; -pub const NCRYPT_NO_CACHED_PASSWORD: DWORD = 0x00004000; -pub const NCRYPT_PROTECT_TO_LOCAL_SYSTEM: DWORD = 0x00008000; -pub const NCRYPT_PERSIST_ONLY_FLAG: DWORD = 0x40000000; -pub const NCRYPT_PERSIST_FLAG: DWORD = 0x80000000; -pub const NCRYPT_PREFER_VIRTUAL_ISOLATION_FLAG: DWORD = 0x00010000; -pub const NCRYPT_USE_VIRTUAL_ISOLATION_FLAG: DWORD = 0x00020000; -pub const NCRYPT_USE_PER_BOOT_KEY_FLAG: DWORD = 0x00040000; -extern "system" { - pub fn NCryptOpenStorageProvider( - phProvider: *mut NCRYPT_PROV_HANDLE, - pszProviderName: LPCWSTR, - dwFlags: DWORD, - ) -> SECURITY_STATUS; -} -pub const NCRYPT_ALLOW_EXPORT_FLAG: DWORD = 0x00000001; -pub const NCRYPT_ALLOW_PLAINTEXT_EXPORT_FLAG: DWORD = 0x00000002; -pub const NCRYPT_ALLOW_ARCHIVING_FLAG: DWORD = 0x00000004; -pub const NCRYPT_ALLOW_PLAINTEXT_ARCHIVING_FLAG: DWORD = 0x00000008; -extern "system" { - pub fn NCryptSetProperty( - hObject: NCRYPT_HANDLE, - pszProperty: LPCWSTR, - pbInput: PBYTE, - cbInput: DWORD, - dwFlags: DWORD, - ) -> SECURITY_STATUS; - pub fn NCryptImportKey( - hProvider: NCRYPT_PROV_HANDLE, - hImportKey: NCRYPT_KEY_HANDLE, - pszBlobType: LPCWSTR, - pParameterList: *const NCryptBufferDesc, - phKey: *mut NCRYPT_KEY_HANDLE, - pbData: PBYTE, - cbData: DWORD, - dwFlags: DWORD, - ) -> SECURITY_STATUS; - pub fn NCryptFreeObject( - hObject: NCRYPT_HANDLE, - ) -> SECURITY_STATUS; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/ntlsa.rs b/vendor/registry-40351f815f426200/winapi/src/um/ntlsa.rs deleted file mode 100644 index 901c0acf1..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/ntlsa.rs +++ /dev/null @@ -1,1530 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::{SIZE_T, ULONG_PTR}; -use shared::guiddef::GUID; -use shared::minwindef::{PUCHAR, PULONG, UCHAR, ULONG, USHORT}; -use shared::ntdef::{NTSTATUS, PNTSTATUS}; -use um::lsalookup::{ - LSA_TRUST_INFORMATION, LSA_UNICODE_STRING, PLSA_OBJECT_ATTRIBUTES, - PLSA_REFERENCED_DOMAIN_LIST, PLSA_STRING, PLSA_TRANSLATED_NAME, PLSA_TRANSLATED_SID2, - PLSA_TRUST_INFORMATION, PLSA_UNICODE_STRING, -}; -use um::ntsecapi::PLSA_HANDLE; -use um::subauth::{PUNICODE_STRING, UNICODE_STRING}; -use um::winnt::{ - ACCESS_MASK, ANYSIZE_ARRAY, BOOLEAN, HANDLE, LARGE_INTEGER, LONG, LUID, PBOOLEAN, - PCLAIMS_BLOB, PHANDLE, PLARGE_INTEGER, PLUID, PPRIVILEGE_SET, PQUOTA_LIMITS, - PSECURITY_DESCRIPTOR, PSHORT, PSID, PTOKEN_GROUPS, PTOKEN_PRIVILEGES, PTOKEN_SOURCE, PVOID, - PWSTR, QUOTA_LIMITS, SECURITY_INFORMATION, SID_NAME_USE, STANDARD_RIGHTS_EXECUTE, - STANDARD_RIGHTS_READ, STANDARD_RIGHTS_REQUIRED, STANDARD_RIGHTS_WRITE, TOKEN_DEFAULT_DACL, - TOKEN_DEVICE_CLAIMS, TOKEN_OWNER, TOKEN_PRIMARY_GROUP, TOKEN_USER, TOKEN_USER_CLAIMS, -}; -pub type LSA_OPERATIONAL_MODE = ULONG; -pub type PLSA_OPERATIONAL_MODE = *mut LSA_OPERATIONAL_MODE; -pub const LSA_MODE_PASSWORD_PROTECTED: ULONG = 0x00000001; -pub const LSA_MODE_INDIVIDUAL_ACCOUNTS: ULONG = 0x00000002; -pub const LSA_MODE_MANDATORY_ACCESS: ULONG = 0x00000004; -pub const LSA_MODE_LOG_FULL: ULONG = 0x00000008; -pub const LSA_MAXIMUM_SID_COUNT: SIZE_T = 0x00000100; -pub const LSA_MAXIMUM_ENUMERATION_LENGTH: SIZE_T = 32000; -pub const LSA_CALL_LICENSE_SERVER: ULONG = 0x80000000; -ENUM!{enum SECURITY_LOGON_TYPE { - UndefinedLogonType = 0, - Interactive = 2, - Network, - Batch, - Service, - Proxy, - Unlock, - NetworkCleartext, - NewCredentials, - RemoteInteractive, - CachedInteractive, - CachedRemoteInteractive, - CachedUnlock, -}} -pub type PSECURITY_LOGON_TYPE = *mut SECURITY_LOGON_TYPE; -pub const SECURITY_ACCESS_INTERACTIVE_LOGON: ULONG = 0x00000001; -pub const SECURITY_ACCESS_NETWORK_LOGON: ULONG = 0x00000002; -pub const SECURITY_ACCESS_BATCH_LOGON: ULONG = 0x00000004; -pub const SECURITY_ACCESS_SERVICE_LOGON: ULONG = 0x00000010; -pub const SECURITY_ACCESS_PROXY_LOGON: ULONG = 0x00000020; -pub const SECURITY_ACCESS_DENY_INTERACTIVE_LOGON: ULONG = 0x00000040; -pub const SECURITY_ACCESS_DENY_NETWORK_LOGON: ULONG = 0x00000080; -pub const SECURITY_ACCESS_DENY_BATCH_LOGON: ULONG = 0x00000100; -pub const SECURITY_ACCESS_DENY_SERVICE_LOGON: ULONG = 0x00000200; -pub const SECURITY_ACCESS_REMOTE_INTERACTIVE_LOGON: ULONG = 0x00000400; -pub const SECURITY_ACCESS_DENY_REMOTE_INTERACTIVE_LOGON: ULONG = 0x00000800; -ENUM!{enum SE_ADT_PARAMETER_TYPE { - SeAdtParmTypeNone = 0, - SeAdtParmTypeString, - SeAdtParmTypeFileSpec, - SeAdtParmTypeUlong, - SeAdtParmTypeSid, - SeAdtParmTypeLogonId, - SeAdtParmTypeNoLogonId, - SeAdtParmTypeAccessMask, - SeAdtParmTypePrivs, - SeAdtParmTypeObjectTypes, - SeAdtParmTypeHexUlong, - SeAdtParmTypePtr, - SeAdtParmTypeTime, - SeAdtParmTypeGuid, - SeAdtParmTypeLuid, - SeAdtParmTypeHexInt64, - SeAdtParmTypeStringList, - SeAdtParmTypeSidList, - SeAdtParmTypeDuration, - SeAdtParmTypeUserAccountControl, - SeAdtParmTypeNoUac, - SeAdtParmTypeMessage, - SeAdtParmTypeDateTime, - SeAdtParmTypeSockAddr, - SeAdtParmTypeSD, - SeAdtParmTypeLogonHours, - SeAdtParmTypeLogonIdNoSid, - SeAdtParmTypeUlongNoConv, - SeAdtParmTypeSockAddrNoPort, - SeAdtParmTypeAccessReason, - SeAdtParmTypeStagingReason, - SeAdtParmTypeResourceAttribute, - SeAdtParmTypeClaims, - SeAdtParmTypeLogonIdAsSid, - SeAdtParmTypeMultiSzString, - SeAdtParmTypeLogonIdEx, -}} -pub type PSE_ADT_PARAMETER_TYPE = *mut SE_ADT_PARAMETER_TYPE; -pub const SE_ADT_OBJECT_ONLY: USHORT = 0x1; -STRUCT!{struct SE_ADT_OBJECT_TYPE { - ObjectType: GUID, - Flags: USHORT, - Level: USHORT, - AccessMask: ACCESS_MASK, -}} -pub type PSE_ADT_OBJECT_TYPE = *mut SE_ADT_OBJECT_TYPE; -STRUCT!{struct SE_ADT_PARAMETER_ARRAY_ENTRY { - Type: SE_ADT_PARAMETER_TYPE, - Length: ULONG, - Data: [ULONG_PTR; 2], - Address: PVOID, -}} -pub type PSE_ADT_PARAMETER_ARRAY_ENTRY = *mut SE_ADT_PARAMETER_ARRAY_ENTRY; -STRUCT!{struct SE_ADT_ACCESS_REASON { - AccessMask: ACCESS_MASK, - AccessReasons: [ULONG; 32], - ObjectTypeIndex: ULONG, - AccessGranted: ULONG, - SecurityDescriptor: PSECURITY_DESCRIPTOR, -}} -pub type PSE_ADT_ACCESS_REASON = *mut SE_ADT_ACCESS_REASON; -STRUCT!{struct SE_ADT_CLAIMS { - Length: ULONG, - Claims: PCLAIMS_BLOB, -}} -pub type PSE_ADT_CLAIMS = *mut SE_ADT_CLAIMS; -pub const SE_MAX_AUDIT_PARAMETERS: SIZE_T = 32; -pub const SE_MAX_GENERIC_AUDIT_PARAMETERS: SIZE_T = 28; -STRUCT!{struct SE_ADT_PARAMETER_ARRAY { - CategoryId: ULONG, - AuditId: ULONG, - ParameterCount: ULONG, - Length: ULONG, - FlatSubCategoryId: USHORT, - Type: USHORT, - Flags: ULONG, - Parameters: [SE_ADT_PARAMETER_ARRAY_ENTRY; SE_MAX_AUDIT_PARAMETERS], -}} -pub type PSE_ADT_PARAMETER_ARRAY = *mut SE_ADT_PARAMETER_ARRAY; -STRUCT!{struct SE_ADT_PARAMETER_ARRAY_EX { - CategoryId: ULONG, - AuditId: ULONG, - Version: ULONG, - ParameterCount: ULONG, - Length: ULONG, - FlatSubCategoryId: USHORT, - Type: USHORT, - Flags: ULONG, - Parameters: [SE_ADT_PARAMETER_ARRAY_ENTRY; SE_MAX_AUDIT_PARAMETERS], -}} -pub type PSE_ADT_PARAMETER_ARRAY_EX = *mut SE_ADT_PARAMETER_ARRAY_EX; -pub const SE_ADT_PARAMETERS_SELF_RELATIVE: ULONG = 0x00000001; -pub const SE_ADT_PARAMETERS_SEND_TO_LSA: ULONG = 0x00000002; -pub const SE_ADT_PARAMETER_EXTENSIBLE_AUDIT: ULONG = 0x00000004; -pub const SE_ADT_PARAMETER_GENERIC_AUDIT: ULONG = 0x00000008; -pub const SE_ADT_PARAMETER_WRITE_SYNCHRONOUS: ULONG = 0x00000010; -#[cfg(target_arch = "x86")] -#[inline] -pub fn LSAP_SE_ADT_PARAMETER_ARRAY_TRUE_SIZE( - AuditParameters: SE_ADT_PARAMETER_ARRAY, -) -> SIZE_T { - 664 // FIXME: sizeof::() - - (20 // FIXME: sizeof::() - * (SE_MAX_AUDIT_PARAMETERS - AuditParameters.ParameterCount as SIZE_T)) -} -#[cfg(target_arch = "x86_64")] -#[inline] -pub fn LSAP_SE_ADT_PARAMETER_ARRAY_TRUE_SIZE( - AuditParameters: SE_ADT_PARAMETER_ARRAY, -) -> SIZE_T { - 1048 // FIXME: sizeof::() - - (32 // FIXME: sizeof::() - * (SE_MAX_AUDIT_PARAMETERS - AuditParameters.ParameterCount as SIZE_T)) -} -STRUCT!{struct LSA_ADT_STRING_LIST_ENTRY { - Flags: ULONG, - String: UNICODE_STRING, -}} -pub type PLSA_ADT_STRING_LIST_ENTRY = *mut LSA_ADT_STRING_LIST_ENTRY; -STRUCT!{struct LSA_ADT_STRING_LIST { - cStrings: ULONG, - String: PLSA_ADT_STRING_LIST_ENTRY, -}} -pub type PLSA_ADT_STRING_LIST = *mut LSA_ADT_STRING_LIST; -STRUCT!{struct LSA_ADT_SID_LIST_ENTRY { - Flags: ULONG, - Sid: PSID, -}} -pub type PLSA_ADT_SID_LIST_ENTRY = *mut LSA_ADT_SID_LIST_ENTRY; -STRUCT!{struct LSA_ADT_SID_LIST { - cSids: ULONG, - Sid: PLSA_ADT_SID_LIST_ENTRY, -}} -pub type PLSA_ADT_SID_LIST = *mut LSA_ADT_SID_LIST; -pub const LSA_ADT_SECURITY_SOURCE_NAME: &'static str = "Microsoft-Windows-Security-Auditing"; -pub const LSA_ADT_LEGACY_SECURITY_SOURCE_NAME: &'static str = "Security"; -pub const SE_ADT_POLICY_AUDIT_EVENT_TYPE_EX_BEGIN: ULONG = 100; -ENUM!{enum POLICY_AUDIT_EVENT_TYPE_EX { - iSystem_SecurityStateChange = SE_ADT_POLICY_AUDIT_EVENT_TYPE_EX_BEGIN, - iSystem_SecuritySubsystemExtension, - iSystem_Integrity, - iSystem_IPSecDriverEvents, - iSystem_Others, - iLogon_Logon, - iLogon_Logoff, - iLogon_AccountLockout, - iLogon_IPSecMainMode, - iLogon_SpecialLogon, - iLogon_IPSecQuickMode, - iLogon_IPSecUsermode, - iLogon_Others, - iLogon_NPS, - iLogon_Claims, - iLogon_Groups, - iObjectAccess_FileSystem, - iObjectAccess_Registry, - iObjectAccess_Kernel, - iObjectAccess_Sam, - iObjectAccess_Other, - iObjectAccess_CertificationAuthority, - iObjectAccess_ApplicationGenerated, - iObjectAccess_HandleBasedAudits, - iObjectAccess_Share, - iObjectAccess_FirewallPacketDrops, - iObjectAccess_FirewallConnection, - iObjectAccess_DetailedFileShare, - iObjectAccess_RemovableStorage, - iObjectAccess_CbacStaging, - iPrivilegeUse_Sensitive, - iPrivilegeUse_NonSensitive, - iPrivilegeUse_Others, - iDetailedTracking_ProcessCreation, - iDetailedTracking_ProcessTermination, - iDetailedTracking_DpapiActivity, - iDetailedTracking_RpcCall, - iDetailedTracking_PnpActivity, - iDetailedTracking_TokenRightAdjusted, - iPolicyChange_AuditPolicy, - iPolicyChange_AuthenticationPolicy, - iPolicyChange_AuthorizationPolicy, - iPolicyChange_MpsscvRulePolicy, - iPolicyChange_WfpIPSecPolicy, - iPolicyChange_Others, - iAccountManagement_UserAccount, - iAccountManagement_ComputerAccount, - iAccountManagement_SecurityGroup, - iAccountManagement_DistributionGroup, - iAccountManagement_ApplicationGroup, - iAccountManagement_Others, - iDSAccess_DSAccess, - iDSAccess_AdAuditChanges, - iDS_Replication, - iDS_DetailedReplication, - iAccountLogon_CredentialValidation, - iAccountLogon_Kerberos, - iAccountLogon_Others, - iAccountLogon_KerbCredentialValidation, - iUnknownSubCategory = 999, -}} -pub type PPOLICY_AUDIT_EVENT_TYPE_EX = *mut POLICY_AUDIT_EVENT_TYPE_EX; -ENUM!{enum POLICY_AUDIT_EVENT_TYPE { - AuditCategorySystem = 0, - AuditCategoryLogon, - AuditCategoryObjectAccess, - AuditCategoryPrivilegeUse, - AuditCategoryDetailedTracking, - AuditCategoryPolicyChange, - AuditCategoryAccountManagement, - AuditCategoryDirectoryServiceAccess, - AuditCategoryAccountLogon, -}} -pub type PPOLICY_AUDIT_EVENT_TYPE = *mut POLICY_AUDIT_EVENT_TYPE; -pub const POLICY_AUDIT_EVENT_UNCHANGED: ULONG = 0x00000000; -pub const POLICY_AUDIT_EVENT_SUCCESS: ULONG = 0x00000001; -pub const POLICY_AUDIT_EVENT_FAILURE: ULONG = 0x00000002; -pub const POLICY_AUDIT_EVENT_NONE: ULONG = 0x00000004; -pub const POLICY_AUDIT_EVENT_MASK: ULONG = POLICY_AUDIT_EVENT_SUCCESS | POLICY_AUDIT_EVENT_FAILURE - | POLICY_AUDIT_EVENT_UNCHANGED | POLICY_AUDIT_EVENT_NONE; -#[inline] -pub fn LSA_SUCCESS(Error: NTSTATUS) -> bool { - (Error as LONG) >= 0 -} -extern "system" { - pub fn LsaRegisterLogonProcess( - LogonProcessName: PLSA_STRING, - LsaHandle: PHANDLE, - SecurityMode: PLSA_OPERATIONAL_MODE, - ) -> NTSTATUS; - pub fn LsaLogonUser( - LsaHandle: HANDLE, - OriginName: PLSA_STRING, - LogonType: SECURITY_LOGON_TYPE, - AuthenticationPackage: ULONG, - AuthenticationInformation: PVOID, - AuthenticationInformationLength: ULONG, - LocalGroups: PTOKEN_GROUPS, - SourceContext: PTOKEN_SOURCE, - ProfileBuffer: *mut PVOID, - ProfileBufferLength: PULONG, - LogonId: PLUID, - Token: PHANDLE, - Quotas: PQUOTA_LIMITS, - SubStatus: PNTSTATUS, - ) -> NTSTATUS; - pub fn LsaLookupAuthenticationPackage( - LsaHandle: HANDLE, - PackageName: PLSA_STRING, - AuthenticationPackage: PULONG, - ) -> NTSTATUS; - pub fn LsaFreeReturnBuffer( - Buffer: PVOID, - ) -> NTSTATUS; - pub fn LsaCallAuthenticationPackage( - LsaHandle: HANDLE, - AuthenticationPackage: ULONG, - ProtocolSubmitBuffer: PVOID, - SubmitBufferLength: ULONG, - ProtocolReturnBuffer: *mut PVOID, - ReturnBufferLength: PULONG, - ProtocolStatus: PNTSTATUS, - ) -> NTSTATUS; - pub fn LsaDeregisterLogonProcess( - LsaHandle: HANDLE, - ) -> NTSTATUS; - pub fn LsaConnectUntrusted( - LsaHandle: PHANDLE, - ) -> NTSTATUS; -} -extern "C" { - pub fn LsaInsertProtectedProcessAddress( - BufferAddress: PVOID, - BufferSize: ULONG, - ) -> NTSTATUS; - pub fn LsaRemoveProtectedProcessAddress( - BufferAddress: PVOID, - BufferSize: ULONG, - ) -> NTSTATUS; -} -FN!{stdcall PFN_LSA_CALL_AUTH_PKG( - LsaHandle: HANDLE, - AuthenticationPackage: ULONG, - ProtocolSubmitBuffer: PVOID, - SubmitBufferLength: ULONG, - ProtocolReturnBuffer: *mut PVOID, - ReturnBufferLength: PULONG, - ProtocolStatus: PNTSTATUS, -) -> NTSTATUS} -FN!{stdcall PFN_LSA_DEREGISTER_PROC( - LsaHandle: HANDLE, -) -> NTSTATUS} -FN!{stdcall PFN_LSA_FREE_BUFFER( - Buffer: PVOID, -) -> NTSTATUS} -FN!{stdcall PFN_LSA_LOGON_USER( - LsaHandle: HANDLE, - OriginName: PLSA_STRING, - LogonType: SECURITY_LOGON_TYPE, - AuthenticationPackage: ULONG, - AuthenticationInformation: PVOID, - AuthenticationInformationLength: ULONG, - LocalGroups: PTOKEN_GROUPS, - SourceContext: PTOKEN_SOURCE, - ProfileBuffer: *mut PVOID, - ProfileBufferLength: PULONG, - LogonId: PLUID, - Token: PHANDLE, - Quotas: PQUOTA_LIMITS, - SubStatus: PNTSTATUS, -) -> NTSTATUS} -FN!{stdcall PFN_LOOKUP_AUTH_PKG( - LsaHandle: HANDLE, - PackageName: PLSA_STRING, - AuthenticationPackage: PULONG, -) -> NTSTATUS} -FN!{stdcall PFN_LSA_REGISTER_PROC( - LogonProcessName: PLSA_STRING, - LsaHandle: PHANDLE, - SecurityMode: PLSA_OPERATIONAL_MODE, -) -> NTSTATUS} -STRUCT!{struct LSA_AUTH_CALLBACKS { - LsaCallAuthPkgFn: PFN_LSA_CALL_AUTH_PKG, - LsaDeregisterProcFn: PFN_LSA_DEREGISTER_PROC, - LsaFreeReturnBufferFn: PFN_LSA_FREE_BUFFER, - LsaLogonUserFn: PFN_LSA_LOGON_USER, - LsaLookupAuthPkgFn: PFN_LOOKUP_AUTH_PKG, - LsaRegisterProcFn: PFN_LSA_REGISTER_PROC, -}} -pub type PLSA_AUTH_CALLBACKS = *mut LSA_AUTH_CALLBACKS; -pub type PCLSA_AUTH_CALLBACKS = *const LSA_AUTH_CALLBACKS; -pub type PLSA_CLIENT_REQUEST = *mut PVOID; -ENUM!{enum LSA_TOKEN_INFORMATION_TYPE { - LsaTokenInformationNull, - LsaTokenInformationV1, - LsaTokenInformationV2, - LsaTokenInformationV3, -}} -pub type PLSA_TOKEN_INFORMATION_TYPE = *mut LSA_TOKEN_INFORMATION_TYPE; -STRUCT!{struct LSA_TOKEN_INFORMATION_NULL { - ExpirationTime: LARGE_INTEGER, - Groups: PTOKEN_GROUPS, -}} -pub type PLSA_TOKEN_INFORMATION_NULL = *mut LSA_TOKEN_INFORMATION_NULL; -STRUCT!{struct LSA_TOKEN_INFORMATION_V1 { - ExpirationTime: LARGE_INTEGER, - User: TOKEN_USER, - Groups: PTOKEN_GROUPS, - PrimaryGroup: TOKEN_PRIMARY_GROUP, - Privileges: PTOKEN_PRIVILEGES, - Owner: TOKEN_OWNER, - DefaultDacl: TOKEN_DEFAULT_DACL, -}} -pub type PLSA_TOKEN_INFORMATION_V1 = *mut LSA_TOKEN_INFORMATION_V1; -pub type LSA_TOKEN_INFORMATION_V2 = LSA_TOKEN_INFORMATION_V1; -pub type PLSA_TOKEN_INFORMATION_V2 = *mut LSA_TOKEN_INFORMATION_V2; -STRUCT!{struct LSA_TOKEN_INFORMATION_V3 { - ExpirationTime: LARGE_INTEGER, - User: TOKEN_USER, - Groups: PTOKEN_GROUPS, - PrimaryGroup: TOKEN_PRIMARY_GROUP, - Privileges: PTOKEN_PRIVILEGES, - Owner: TOKEN_OWNER, - DefaultDacl: TOKEN_DEFAULT_DACL, - UserClaims: TOKEN_USER_CLAIMS, - DeviceClaims: TOKEN_DEVICE_CLAIMS, - DeviceGroups: PTOKEN_GROUPS, -}} -pub type PLSA_TOKEN_INFORMATION_V3 = *mut LSA_TOKEN_INFORMATION_V3; -FN!{stdcall PLSA_CREATE_LOGON_SESSION( - LogonId: PLUID, -) -> NTSTATUS} -FN!{stdcall PLSA_DELETE_LOGON_SESSION( - LogonId: PLUID, -) -> NTSTATUS} -FN!{stdcall PLSA_ADD_CREDENTIAL( - LogonId: PLUID, - AuthenticationPackage: ULONG, - PrimaryKeyValue: PLSA_STRING, - Credentials: PLSA_STRING, -) -> NTSTATUS} -FN!{stdcall PLSA_GET_CREDENTIALS( - LogonId: PLUID, - AuthenticationPackage: ULONG, - QueryContext: PULONG, - RetrieveAllCredentials: BOOLEAN, - PrimaryKeyValue: PLSA_STRING, - PrimaryKeyLength: PULONG, - Credentials: PLSA_STRING, -) -> NTSTATUS} -FN!{stdcall PLSA_DELETE_CREDENTIAL( - LogonId: PLUID, - AuthenticationPackage: ULONG, - PrimaryKeyValue: PLSA_STRING, -) -> NTSTATUS} -FN!{stdcall PLSA_ALLOCATE_LSA_HEAP( - Length: ULONG, -) -> PVOID} -FN!{stdcall PLSA_FREE_LSA_HEAP( - Base: PVOID, -) -> ()} -FN!{stdcall PLSA_ALLOCATE_PRIVATE_HEAP( - Length: SIZE_T, -) -> PVOID} -FN!{stdcall PLSA_FREE_PRIVATE_HEAP( - Base: PVOID, -) -> ()} -FN!{stdcall PLSA_ALLOCATE_CLIENT_BUFFER( - ClientRequest: PLSA_CLIENT_REQUEST, - LengthRequired: ULONG, - ClientBaseAddress: *mut PVOID, -) -> NTSTATUS} -FN!{stdcall PLSA_FREE_CLIENT_BUFFER( - ClientRequest: PLSA_CLIENT_REQUEST, - ClientBaseAddress: PVOID, -) -> NTSTATUS} -FN!{stdcall PLSA_COPY_TO_CLIENT_BUFFER( - ClientRequest: PLSA_CLIENT_REQUEST, - Length: ULONG, - ClientBaseAddress: PVOID, - BufferToCopy: PVOID, -) -> NTSTATUS} -FN!{stdcall PLSA_COPY_FROM_CLIENT_BUFFER( - ClientRequest: PLSA_CLIENT_REQUEST, - Length: ULONG, - BufferToCopy: PVOID, - ClientBaseAddress: PVOID, -) -> NTSTATUS} -STRUCT!{struct LSA_DISPATCH_TABLE { - CreateLogonSession: PLSA_CREATE_LOGON_SESSION, - DeleteLogonSession: PLSA_DELETE_LOGON_SESSION, - AddCredential: PLSA_ADD_CREDENTIAL, - GetCredentials: PLSA_GET_CREDENTIALS, - DeleteCredential: PLSA_DELETE_CREDENTIAL, - AllocateLsaHeap: PLSA_ALLOCATE_LSA_HEAP, - FreeLsaHeap: PLSA_FREE_LSA_HEAP, - AllocateClientBuffer: PLSA_ALLOCATE_CLIENT_BUFFER, - FreeClientBuffer: PLSA_FREE_CLIENT_BUFFER, - CopyToClientBuffer: PLSA_COPY_TO_CLIENT_BUFFER, - CopyFromClientBuffer: PLSA_COPY_FROM_CLIENT_BUFFER, -}} -pub type PLSA_DISPATCH_TABLE = *mut LSA_DISPATCH_TABLE; -pub const LSA_AP_NAME_INITIALIZE_PACKAGE: &'static str = "LsaApInitializePackage"; -pub const LSA_AP_NAME_LOGON_USER: &'static str = "LsaApLogonUser"; -pub const LSA_AP_NAME_LOGON_USER_EX: &'static str = "LsaApLogonUserEx"; -pub const LSA_AP_NAME_CALL_PACKAGE: &'static str = "LsaApCallPackage"; -pub const LSA_AP_NAME_LOGON_TERMINATED: &'static str = "LsaApLogonTerminated"; -pub const LSA_AP_NAME_CALL_PACKAGE_UNTRUSTED: &'static str = "LsaApCallPackageUntrusted"; -pub const LSA_AP_NAME_CALL_PACKAGE_PASSTHROUGH: &'static str = "LsaApCallPackagePassthrough"; -FN!{stdcall PLSA_AP_INITIALIZE_PACKAGE( - AuthenticationPackageId: ULONG, - LsaDispatchTable: PLSA_DISPATCH_TABLE, - Database: PLSA_STRING, - Confidentiality: PLSA_STRING, - AuthenticationPackageName: *mut PLSA_STRING, -) -> NTSTATUS} -FN!{stdcall PLSA_AP_LOGON_USER( - ClientRequest: PLSA_CLIENT_REQUEST, - LogonType: SECURITY_LOGON_TYPE, - AuthenticationInformation: PVOID, - ClientAuthentication: PVOID, - AuthenticationInformationLength: ULONG, - ProfileBuffer: *mut PVOID, - ProfileBufferLength: PULONG, - LogonId: PLUID, - SubStatus: PNTSTATUS, - TokenInformationType: PLSA_TOKEN_INFORMATION_TYPE, - TokenInformation: *mut PVOID, - AccountName: *mut PLSA_UNICODE_STRING, - AuthenticatingAutority: *mut PLSA_UNICODE_STRING, -) -> NTSTATUS} -FN!{stdcall PLSA_AP_LOGON_USER_EX( - ClientRequest: PLSA_CLIENT_REQUEST, - LogonType: SECURITY_LOGON_TYPE, - AuthenticationInformation: PVOID, - ClientAuthentication: PVOID, - AuthenticationInformationLength: ULONG, - ProfileBuffer: *mut PVOID, - ProfileBufferLength: PULONG, - LogonId: PLUID, - SubStatus: PNTSTATUS, - TokenInformationType: PLSA_TOKEN_INFORMATION_TYPE, - TokenInformation: *mut PVOID, - AccountName: *mut PLSA_UNICODE_STRING, - AuthenticatingAutority: *mut PLSA_UNICODE_STRING, - MachineName: *mut PUNICODE_STRING, -) -> NTSTATUS} -FN!{stdcall PLSA_AP_CALL_PACKAGE( - ClientRequest: PLSA_CLIENT_REQUEST, - ProtocolSubmitBuffer: PVOID, - ClientBufferBase: PVOID, - SubmitBufferLength: ULONG, - ProtocolReturnBuffer: *mut PVOID, - ReturnBufferLength: PULONG, - ProtocolStatus: PNTSTATUS, -) -> NTSTATUS} -FN!{stdcall PLSA_AP_CALL_PACKAGE_PASSTHROUGH( - ClientRequest: PLSA_CLIENT_REQUEST, - ProtocolSubmitBuffer: PVOID, - ClientBufferBase: PVOID, - SubmitBufferLength: ULONG, - ProtocolReturnBuffer: *mut PVOID, - ReturnBufferLength: PULONG, - ProtocolStatus: PNTSTATUS, -) -> NTSTATUS} -FN!{stdcall PLSA_AP_LOGON_TERMINATED( - LogonId: PLUID, -) -> ()} -pub const POLICY_VIEW_LOCAL_INFORMATION: ULONG = 0x00000001; -pub const POLICY_VIEW_AUDIT_INFORMATION: ULONG = 0x00000002; -pub const POLICY_GET_PRIVATE_INFORMATION: ULONG = 0x00000004; -pub const POLICY_TRUST_ADMIN: ULONG = 0x00000008; -pub const POLICY_CREATE_ACCOUNT: ULONG = 0x00000010; -pub const POLICY_CREATE_SECRET: ULONG = 0x00000020; -pub const POLICY_CREATE_PRIVILEGE: ULONG = 0x00000040; -pub const POLICY_SET_DEFAULT_QUOTA_LIMITS: ULONG = 0x00000080; -pub const POLICY_SET_AUDIT_REQUIREMENTS: ULONG = 0x00000100; -pub const POLICY_AUDIT_LOG_ADMIN: ULONG = 0x00000200; -pub const POLICY_SERVER_ADMIN: ULONG = 0x00000400; -pub const POLICY_LOOKUP_NAMES: ULONG = 0x00000800; -pub const POLICY_NOTIFICATION: ULONG = 0x00001000; -pub const POLICY_ALL_ACCESS: ULONG = STANDARD_RIGHTS_REQUIRED | POLICY_VIEW_LOCAL_INFORMATION - | POLICY_VIEW_AUDIT_INFORMATION | POLICY_GET_PRIVATE_INFORMATION | POLICY_TRUST_ADMIN - | POLICY_CREATE_ACCOUNT | POLICY_CREATE_SECRET | POLICY_CREATE_PRIVILEGE - | POLICY_SET_DEFAULT_QUOTA_LIMITS | POLICY_SET_AUDIT_REQUIREMENTS | POLICY_AUDIT_LOG_ADMIN - | POLICY_SERVER_ADMIN | POLICY_LOOKUP_NAMES; -pub const POLICY_READ: ULONG = STANDARD_RIGHTS_READ | POLICY_VIEW_AUDIT_INFORMATION - | POLICY_GET_PRIVATE_INFORMATION; -pub const POLICY_WRITE: ULONG = STANDARD_RIGHTS_WRITE | POLICY_TRUST_ADMIN | POLICY_CREATE_ACCOUNT - | POLICY_CREATE_SECRET | POLICY_CREATE_PRIVILEGE | POLICY_SET_DEFAULT_QUOTA_LIMITS - | POLICY_SET_AUDIT_REQUIREMENTS | POLICY_AUDIT_LOG_ADMIN | POLICY_SERVER_ADMIN; -pub const POLICY_EXECUTE: ULONG = STANDARD_RIGHTS_EXECUTE | POLICY_VIEW_LOCAL_INFORMATION - | POLICY_LOOKUP_NAMES; -STRUCT!{struct LSA_TRANSLATED_SID { - Use: SID_NAME_USE, - RelativeId: ULONG, - DomainIndex: LONG, -}} -pub type PLSA_TRANSLATED_SID = *mut LSA_TRANSLATED_SID; -pub type POLICY_SYSTEM_ACCESS_MODE = ULONG; -pub type PPOLICY_SYSTEM_ACCESS_MODE = *mut POLICY_SYSTEM_ACCESS_MODE; -pub const POLICY_MODE_INTERACTIVE: ULONG = SECURITY_ACCESS_INTERACTIVE_LOGON; -pub const POLICY_MODE_NETWORK: ULONG = SECURITY_ACCESS_NETWORK_LOGON; -pub const POLICY_MODE_BATCH: ULONG = SECURITY_ACCESS_BATCH_LOGON; -pub const POLICY_MODE_SERVICE: ULONG = SECURITY_ACCESS_SERVICE_LOGON; -pub const POLICY_MODE_PROXY: ULONG = SECURITY_ACCESS_PROXY_LOGON; -pub const POLICY_MODE_DENY_INTERACTIVE: ULONG = SECURITY_ACCESS_DENY_INTERACTIVE_LOGON; -pub const POLICY_MODE_DENY_NETWORK: ULONG = SECURITY_ACCESS_DENY_NETWORK_LOGON; -pub const POLICY_MODE_DENY_BATCH: ULONG = SECURITY_ACCESS_DENY_BATCH_LOGON; -pub const POLICY_MODE_DENY_SERVICE: ULONG = SECURITY_ACCESS_DENY_SERVICE_LOGON; -pub const POLICY_MODE_REMOTE_INTERACTIVE: ULONG = SECURITY_ACCESS_REMOTE_INTERACTIVE_LOGON; -pub const POLICY_MODE_DENY_REMOTE_INTERACTIVE: ULONG = - SECURITY_ACCESS_DENY_REMOTE_INTERACTIVE_LOGON; -pub const POLICY_MODE_ALL: ULONG = POLICY_MODE_INTERACTIVE | POLICY_MODE_NETWORK - | POLICY_MODE_BATCH | POLICY_MODE_SERVICE | POLICY_MODE_PROXY | POLICY_MODE_DENY_INTERACTIVE - | POLICY_MODE_DENY_NETWORK | SECURITY_ACCESS_DENY_BATCH_LOGON - | SECURITY_ACCESS_DENY_SERVICE_LOGON | POLICY_MODE_REMOTE_INTERACTIVE - | POLICY_MODE_DENY_REMOTE_INTERACTIVE ; -pub const POLICY_MODE_ALL_NT4: ULONG = POLICY_MODE_INTERACTIVE | POLICY_MODE_NETWORK - | POLICY_MODE_BATCH | POLICY_MODE_SERVICE; -ENUM!{enum POLICY_LSA_SERVER_ROLE { - PolicyServerRoleBackup = 2, - PolicyServerRolePrimary, -}} -pub type PPOLICY_LSA_SERVER_ROLE = *mut POLICY_LSA_SERVER_ROLE; -ENUM!{enum POLICY_SERVER_ENABLE_STATE { - PolicyServerEnabled = 2, - PolicyServerDisabled, -}} -pub type PPOLICY_SERVER_ENABLE_STATE = *mut POLICY_SERVER_ENABLE_STATE; -pub type POLICY_AUDIT_EVENT_OPTIONS = ULONG; -pub type PPOLICY_AUDIT_EVENT_OPTIONS = *mut POLICY_AUDIT_EVENT_OPTIONS; -STRUCT!{struct POLICY_PRIVILEGE_DEFINITION { - Name: LSA_UNICODE_STRING, - LocalValue: LUID, -}} -pub type PPOLICY_PRIVILEGE_DEFINITION = *mut POLICY_PRIVILEGE_DEFINITION; -pub const LSA_LOOKUP_ISOLATED_AS_LOCAL: ULONG = 0x80000000; -pub const LSA_LOOKUP_DISALLOW_CONNECTED_ACCOUNT_INTERNET_SID: ULONG = 0x80000000; -pub const LSA_LOOKUP_PREFER_INTERNET_NAMES: ULONG = 0x40000000; -ENUM!{enum POLICY_INFORMATION_CLASS { - PolicyAuditLogInformation = 1, - PolicyAuditEventsInformation, - PolicyPrimaryDomainInformation, - PolicyPdAccountInformation, - PolicyAccountDomainInformation, - PolicyLsaServerRoleInformation, - PolicyReplicaSourceInformation, - PolicyDefaultQuotaInformation, - PolicyModificationInformation, - PolicyAuditFullSetInformation, - PolicyAuditFullQueryInformation, - PolicyDnsDomainInformation, - PolicyDnsDomainInformationInt, - PolicyLocalAccountDomainInformation, - PolicyLastEntry, -}} -pub type PPOLICY_INFORMATION_CLASS = *mut POLICY_INFORMATION_CLASS; -STRUCT!{struct POLICY_AUDIT_LOG_INFO { - AuditLogPercentFull: ULONG, - MaximumLogSize: ULONG, - AuditRetentionPeriod: LARGE_INTEGER, - AuditLogFullShutdownInProgress: BOOLEAN, - TimeToShutdown: LARGE_INTEGER, - NextAuditRecordId: ULONG, -}} -pub type PPOLICY_AUDIT_LOG_INFO = *mut POLICY_AUDIT_LOG_INFO; -STRUCT!{struct POLICY_AUDIT_EVENTS_INFO { - AuditingMode: BOOLEAN, - EventAuditingOptions: PPOLICY_AUDIT_EVENT_OPTIONS, - MaximumAuditEventCount: ULONG, -}} -pub type PPOLICY_AUDIT_EVENTS_INFO = *mut POLICY_AUDIT_EVENTS_INFO; -STRUCT!{struct POLICY_AUDIT_SUBCATEGORIES_INFO { - MaximumSubCategoryCount: ULONG, - EventAuditingOptions: PPOLICY_AUDIT_EVENT_OPTIONS, -}} -pub type PPOLICY_AUDIT_SUBCATEGORIES_INFO = *mut POLICY_AUDIT_SUBCATEGORIES_INFO; -STRUCT!{struct POLICY_AUDIT_CATEGORIES_INFO { - MaximumCategoryCount: ULONG, - SubCategoriesInfo: PPOLICY_AUDIT_SUBCATEGORIES_INFO, -}} -pub type PPOLICY_AUDIT_CATEGORIES_INFO = *mut POLICY_AUDIT_CATEGORIES_INFO; -pub const PER_USER_POLICY_UNCHANGED: UCHAR = 0x00; -pub const PER_USER_AUDIT_SUCCESS_INCLUDE: UCHAR = 0x01; -pub const PER_USER_AUDIT_SUCCESS_EXCLUDE: UCHAR = 0x02; -pub const PER_USER_AUDIT_FAILURE_INCLUDE: UCHAR = 0x04; -pub const PER_USER_AUDIT_FAILURE_EXCLUDE: UCHAR = 0x08; -pub const PER_USER_AUDIT_NONE: UCHAR = 0x10; -pub const VALID_PER_USER_AUDIT_POLICY_FLAG: UCHAR = PER_USER_AUDIT_SUCCESS_INCLUDE - | PER_USER_AUDIT_SUCCESS_EXCLUDE | PER_USER_AUDIT_FAILURE_INCLUDE - | PER_USER_AUDIT_FAILURE_EXCLUDE | PER_USER_AUDIT_NONE; -STRUCT!{struct POLICY_PRIMARY_DOMAIN_INFO { - Name: LSA_UNICODE_STRING, - Sid: PSID, -}} -pub type PPOLICY_PRIMARY_DOMAIN_INFO = *mut POLICY_PRIMARY_DOMAIN_INFO; -STRUCT!{struct POLICY_PD_ACCOUNT_INFO { - Name: LSA_UNICODE_STRING, -}} -pub type PPOLICY_PD_ACCOUNT_INFO = *mut POLICY_PD_ACCOUNT_INFO; -STRUCT!{struct POLICY_LSA_SERVER_ROLE_INFO { - LsaServerRole: POLICY_LSA_SERVER_ROLE, -}} -pub type PPOLICY_LSA_SERVER_ROLE_INFO = *mut POLICY_LSA_SERVER_ROLE_INFO; -STRUCT!{struct POLICY_REPLICA_SOURCE_INFO { - ReplicaSource: LSA_UNICODE_STRING, - ReplicaAccountName: LSA_UNICODE_STRING, -}} -pub type PPOLICY_REPLICA_SOURCE_INFO = *mut POLICY_REPLICA_SOURCE_INFO; -STRUCT!{struct POLICY_DEFAULT_QUOTA_INFO { - QuotaLimits: QUOTA_LIMITS, -}} -pub type PPOLICY_DEFAULT_QUOTA_INFO = *mut POLICY_DEFAULT_QUOTA_INFO; -STRUCT!{struct POLICY_MODIFICATION_INFO { - ModifiedId: LARGE_INTEGER, - DatabaseCreationTime: LARGE_INTEGER, -}} -pub type PPOLICY_MODIFICATION_INFO = *mut POLICY_MODIFICATION_INFO; -STRUCT!{struct POLICY_AUDIT_FULL_SET_INFO { - ShutDownOnFull: BOOLEAN, -}} -pub type PPOLICY_AUDIT_FULL_SET_INFO = *mut POLICY_AUDIT_FULL_SET_INFO; -STRUCT!{struct POLICY_AUDIT_FULL_QUERY_INFO { - ShutDownOnFull: BOOLEAN, - LogIsFull: BOOLEAN, -}} -pub type PPOLICY_AUDIT_FULL_QUERY_INFO = *mut POLICY_AUDIT_FULL_QUERY_INFO; -ENUM!{enum POLICY_DOMAIN_INFORMATION_CLASS { - PolicyDomainEfsInformation = 2, - PolicyDomainKerberosTicketInformation, -}} -pub type PPOLICY_DOMAIN_INFORMATION_CLASS = *mut POLICY_DOMAIN_INFORMATION_CLASS; -pub const POLICY_QOS_SCHANNEL_REQUIRED: ULONG = 0x00000001; -pub const POLICY_QOS_OUTBOUND_INTEGRITY: ULONG = 0x00000002; -pub const POLICY_QOS_OUTBOUND_CONFIDENTIALITY: ULONG = 0x00000004; -pub const POLICY_QOS_INBOUND_INTEGRITY: ULONG = 0x00000008; -pub const POLICY_QOS_INBOUND_CONFIDENTIALITY: ULONG = 0x00000010; -pub const POLICY_QOS_ALLOW_LOCAL_ROOT_CERT_STORE: ULONG = 0x00000020; -pub const POLICY_QOS_RAS_SERVER_ALLOWED: ULONG = 0x00000040; -pub const POLICY_QOS_DHCP_SERVER_ALLOWED: ULONG = 0x00000080; -STRUCT!{struct POLICY_DOMAIN_EFS_INFO { - InfoLength: ULONG, - EfsBlob: PUCHAR, -}} -pub type PPOLICY_DOMAIN_EFS_INFO = *mut POLICY_DOMAIN_EFS_INFO; -pub const POLICY_KERBEROS_VALIDATE_CLIENT: ULONG = 0x00000080; -STRUCT!{struct POLICY_DOMAIN_KERBEROS_TICKET_INFO { - AuthenticationOptions: ULONG, - MaxServiceTicketAge: LARGE_INTEGER, - MaxTicketAge: LARGE_INTEGER, - MaxRenewAge: LARGE_INTEGER, - MaxClockSkew: LARGE_INTEGER, - Reserved: LARGE_INTEGER, -}} -pub type PPOLICY_DOMAIN_KERBEROS_TICKET_INFO = *mut POLICY_DOMAIN_KERBEROS_TICKET_INFO; -ENUM!{enum POLICY_NOTIFICATION_INFORMATION_CLASS { - PolicyNotifyAuditEventsInformation = 1, - PolicyNotifyAccountDomainInformation, - PolicyNotifyServerRoleInformation, - PolicyNotifyDnsDomainInformation, - PolicyNotifyDomainEfsInformation, - PolicyNotifyDomainKerberosTicketInformation, - PolicyNotifyMachineAccountPasswordInformation, - PolicyNotifyGlobalSaclInformation, - PolicyNotifyMax, -}} -pub type PPOLICY_NOTIFICATION_INFORMATION_CLASS = *mut POLICY_NOTIFICATION_INFORMATION_CLASS; -pub const ACCOUNT_VIEW: ULONG = 0x00000001; -pub const ACCOUNT_ADJUST_PRIVILEGES: ULONG = 0x00000002; -pub const ACCOUNT_ADJUST_QUOTAS: ULONG = 0x00000004; -pub const ACCOUNT_ADJUST_SYSTEM_ACCESS: ULONG = 0x00000008; -pub const ACCOUNT_ALL_ACCESS: ULONG = STANDARD_RIGHTS_REQUIRED | ACCOUNT_VIEW - | ACCOUNT_ADJUST_PRIVILEGES | ACCOUNT_ADJUST_QUOTAS | ACCOUNT_ADJUST_SYSTEM_ACCESS; -pub const ACCOUNT_READ: ULONG = STANDARD_RIGHTS_READ | ACCOUNT_VIEW; -pub const ACCOUNT_WRITE: ULONG = STANDARD_RIGHTS_WRITE | ACCOUNT_ADJUST_PRIVILEGES - | ACCOUNT_ADJUST_QUOTAS | ACCOUNT_ADJUST_SYSTEM_ACCESS; -pub const ACCOUNT_EXECUTE: ULONG = STANDARD_RIGHTS_EXECUTE; -DECLARE_HANDLE!{LSA_HANDLE, __LSA_HANDLE} -pub const TRUSTED_QUERY_DOMAIN_NAME: ULONG = 0x00000001; -pub const TRUSTED_QUERY_CONTROLLERS: ULONG = 0x00000002; -pub const TRUSTED_SET_CONTROLLERS: ULONG = 0x00000004; -pub const TRUSTED_QUERY_POSIX: ULONG = 0x00000008; -pub const TRUSTED_SET_POSIX: ULONG = 0x00000010; -pub const TRUSTED_SET_AUTH: ULONG = 0x00000020; -pub const TRUSTED_QUERY_AUTH: ULONG = 0x00000040; -pub const TRUSTED_ALL_ACCESS: ULONG = STANDARD_RIGHTS_REQUIRED | TRUSTED_QUERY_DOMAIN_NAME - | TRUSTED_QUERY_CONTROLLERS | TRUSTED_SET_CONTROLLERS | TRUSTED_QUERY_POSIX | TRUSTED_SET_POSIX - | TRUSTED_SET_AUTH | TRUSTED_QUERY_AUTH; -pub const TRUSTED_READ: ULONG = STANDARD_RIGHTS_READ | TRUSTED_QUERY_DOMAIN_NAME; -pub const TRUSTED_WRITE: ULONG = STANDARD_RIGHTS_WRITE | TRUSTED_SET_CONTROLLERS - | TRUSTED_SET_POSIX | TRUSTED_SET_AUTH; -pub const TRUSTED_EXECUTE: ULONG = STANDARD_RIGHTS_EXECUTE | TRUSTED_QUERY_CONTROLLERS - | TRUSTED_QUERY_POSIX; -ENUM!{enum TRUSTED_INFORMATION_CLASS { - TrustedDomainNameInformation = 1, - TrustedControllersInformation, - TrustedPosixOffsetInformation, - TrustedPasswordInformation, - TrustedDomainInformationBasic, - TrustedDomainInformationEx, - TrustedDomainAuthInformation, - TrustedDomainFullInformation, - TrustedDomainAuthInformationInternal, - TrustedDomainFullInformationInternal, - TrustedDomainInformationEx2Internal, - TrustedDomainFullInformation2Internal, - TrustedDomainSupportedEncryptionTypes, -}} -pub type PTRUSTED_INFORMATION_CLASS = *mut TRUSTED_INFORMATION_CLASS; -STRUCT!{struct TRUSTED_DOMAIN_NAME_INFO { - Name: LSA_UNICODE_STRING, -}} -pub type PTRUSTED_DOMAIN_NAME_INFO = *mut TRUSTED_DOMAIN_NAME_INFO; -STRUCT!{struct TRUSTED_CONTROLLERS_INFO { - Entries: ULONG, - Names: PLSA_UNICODE_STRING, -}} -pub type PTRUSTED_CONTROLLERS_INFO = *mut TRUSTED_CONTROLLERS_INFO; -STRUCT!{struct TRUSTED_POSIX_OFFSET_INFO { - Offset: ULONG, -}} -pub type PTRUSTED_POSIX_OFFSET_INFO = *mut TRUSTED_POSIX_OFFSET_INFO; -STRUCT!{struct TRUSTED_PASSWORD_INFO { - Password: LSA_UNICODE_STRING, - OldPassword: LSA_UNICODE_STRING, -}} -pub type PTRUSTED_PASSWORD_INFO = *mut TRUSTED_PASSWORD_INFO; -pub type TRUSTED_DOMAIN_INFORMATION_BASIC = LSA_TRUST_INFORMATION; -pub type PTRUSTED_DOMAIN_INFORMATION_BASIC = PLSA_TRUST_INFORMATION; -// NOTE: Ignoring Win XP constants -pub const TRUST_DIRECTION_DISABLED: ULONG = 0x00000000; -pub const TRUST_DIRECTION_INBOUND: ULONG = 0x00000001; -pub const TRUST_DIRECTION_OUTBOUND: ULONG = 0x00000002; -pub const TRUST_DIRECTION_BIDIRECTIONAL: ULONG = TRUST_DIRECTION_INBOUND - | TRUST_DIRECTION_OUTBOUND; -pub const TRUST_TYPE_DOWNLEVEL: ULONG = 0x00000001; -pub const TRUST_TYPE_UPLEVEL: ULONG = 0x00000002; -pub const TRUST_TYPE_MIT: ULONG = 0x00000003; -pub const TRUST_ATTRIBUTE_NON_TRANSITIVE: ULONG = 0x00000001; -pub const TRUST_ATTRIBUTE_UPLEVEL_ONLY: ULONG = 0x00000002; -pub const TRUST_ATTRIBUTE_QUARANTINED_DOMAIN: ULONG = 0x00000004; -pub const TRUST_ATTRIBUTE_FOREST_TRANSITIVE: ULONG = 0x00000008; -pub const TRUST_ATTRIBUTE_CROSS_ORGANIZATION: ULONG = 0x00000010; -pub const TRUST_ATTRIBUTE_WITHIN_FOREST: ULONG = 0x00000020; -pub const TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL: ULONG = 0x00000040; -pub const TRUST_ATTRIBUTE_TRUST_USES_RC4_ENCRYPTION: ULONG = 0x00000080; -pub const TRUST_ATTRIBUTE_TRUST_USES_AES_KEYS: ULONG = 0x00000100; -pub const TRUST_ATTRIBUTE_CROSS_ORGANIZATION_NO_TGT_DELEGATION: ULONG = 0x00000200; -pub const TRUST_ATTRIBUTE_PIM_TRUST: ULONG = 0x00000400; -pub const TRUST_ATTRIBUTES_VALID: ULONG = 0xFF03FFFF; -pub const TRUST_ATTRIBUTES_USER: ULONG = 0xFF000000; -STRUCT!{struct TRUSTED_DOMAIN_INFORMATION_EX { - Name: LSA_UNICODE_STRING, - FlatName: LSA_UNICODE_STRING, - Sid: PSID, - TrustDirection: ULONG, - TrustType: ULONG, - TrustAttributes: ULONG, -}} -pub type PTRUSTED_DOMAIN_INFORMATION_EX = *mut TRUSTED_DOMAIN_INFORMATION_EX; -STRUCT!{struct TRUSTED_DOMAIN_INFORMATION_EX2 { - Name: LSA_UNICODE_STRING, - FlatName: LSA_UNICODE_STRING, - Sid: PSID, - TrustDirection: ULONG, - TrustType: ULONG, - TrustAttributes: ULONG, - ForestTrustLength: ULONG, - ForestTrustInfo: PUCHAR, -}} -pub type PTRUSTED_DOMAIN_INFORMATION_EX2 = *mut TRUSTED_DOMAIN_INFORMATION_EX2; -pub const TRUST_AUTH_TYPE_NONE: ULONG = 0; -pub const TRUST_AUTH_TYPE_NT4OWF: ULONG = 1; -pub const TRUST_AUTH_TYPE_CLEAR: ULONG = 2; -pub const TRUST_AUTH_TYPE_VERSION: ULONG = 3; -STRUCT!{struct LSA_AUTH_INFORMATION { - LastUpdateTime: LARGE_INTEGER, - AuthType: ULONG, - AuthInfoLength: ULONG, - AuthInfo: PUCHAR, -}} -pub type PLSA_AUTH_INFORMATION = *mut LSA_AUTH_INFORMATION; -STRUCT!{struct TRUSTED_DOMAIN_AUTH_INFORMATION { - IncomingAuthInfos: ULONG, - IncomingAuthenticationInformation: PLSA_AUTH_INFORMATION, - IncomingPreviousAuthenticationInformation: PLSA_AUTH_INFORMATION, - OutgoingAuthInfos: ULONG, - OutgoingAuthenticationInformation: PLSA_AUTH_INFORMATION, - OutgoingPreviousAuthenticationInformation: PLSA_AUTH_INFORMATION, -}} -pub type PTRUSTED_DOMAIN_AUTH_INFORMATION = *mut TRUSTED_DOMAIN_AUTH_INFORMATION; -STRUCT!{struct TRUSTED_DOMAIN_FULL_INFORMATION { - Information: TRUSTED_DOMAIN_INFORMATION_EX, - PosixOffset: TRUSTED_POSIX_OFFSET_INFO, - AuthInformation: TRUSTED_DOMAIN_AUTH_INFORMATION, -}} -pub type PTRUSTED_DOMAIN_FULL_INFORMATION = *mut TRUSTED_DOMAIN_FULL_INFORMATION; -STRUCT!{struct TRUSTED_DOMAIN_FULL_INFORMATION2 { - Information: TRUSTED_DOMAIN_INFORMATION_EX2, - PosixOffset: TRUSTED_POSIX_OFFSET_INFO, - AuthInformation: TRUSTED_DOMAIN_AUTH_INFORMATION, -}} -pub type PTRUSTED_DOMAIN_FULL_INFORMATION2 = *mut TRUSTED_DOMAIN_FULL_INFORMATION2; -STRUCT!{struct TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES { - SupportedEncryptionTypes: ULONG, -}} -pub type PTRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES = - *mut TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES; -ENUM!{enum LSA_FOREST_TRUST_RECORD_TYPE { - ForestTrustTopLevelName, - ForestTrustTopLevelNameEx, - ForestTrustDomainInfo, - ForestTrustRecordTypeLast = ForestTrustDomainInfo, -}} -pub const LSA_FTRECORD_DISABLED_REASONS: ULONG = 0x0000FFFF; -pub const LSA_TLN_DISABLED_NEW: ULONG = 0x00000001; -pub const LSA_TLN_DISABLED_ADMIN: ULONG = 0x00000002; -pub const LSA_TLN_DISABLED_CONFLICT: ULONG = 0x00000004; -pub const LSA_SID_DISABLED_ADMIN: ULONG = 0x00000001; -pub const LSA_SID_DISABLED_CONFLICT: ULONG = 0x00000002; -pub const LSA_NB_DISABLED_ADMIN: ULONG = 0x00000004; -pub const LSA_NB_DISABLED_CONFLICT: ULONG = 0x00000008; -STRUCT!{struct LSA_FOREST_TRUST_DOMAIN_INFO { - Sid: PSID, - DnsName: LSA_UNICODE_STRING, - NetbiosName: LSA_UNICODE_STRING, -}} -pub type PLSA_FOREST_TRUST_DOMAIN_INFO = *mut LSA_FOREST_TRUST_DOMAIN_INFO; -pub const MAX_FOREST_TRUST_BINARY_DATA_SIZE: SIZE_T = 128 * 1024; -STRUCT!{struct LSA_FOREST_TRUST_BINARY_DATA { - Length: ULONG, - Buffer: PUCHAR, -}} -pub type PLSA_FOREST_TRUST_BINARY_DATA = *mut LSA_FOREST_TRUST_BINARY_DATA; -UNION!{union LSA_FOREST_TRUST_RECORD_FORESTTRUSTDATA { - [u32; 5] [u64; 5], - TopLevelName TopLevelName_mut: LSA_UNICODE_STRING, - DomainInfo DomainInfo_mut: LSA_FOREST_TRUST_DOMAIN_INFO, - Data Data_mut: LSA_FOREST_TRUST_BINARY_DATA, -}} -STRUCT!{struct LSA_FOREST_TRUST_RECORD { - Flags: ULONG, - ForestTrustType: LSA_FOREST_TRUST_RECORD_TYPE, - Time: LARGE_INTEGER, - ForestTrustData: LSA_FOREST_TRUST_RECORD_FORESTTRUSTDATA, -}} -pub type PLSA_FOREST_TRUST_RECORD = *mut LSA_FOREST_TRUST_RECORD; -pub const MAX_RECORDS_IN_FOREST_TRUST_INFO: SIZE_T = 4000; -STRUCT!{struct LSA_FOREST_TRUST_INFORMATION { - RecordCount: ULONG, - Entries: *mut PLSA_FOREST_TRUST_RECORD, -}} -pub type PLSA_FOREST_TRUST_INFORMATION = LSA_FOREST_TRUST_INFORMATION; -ENUM!{enum LSA_FOREST_TRUST_COLLISION_RECORD_TYPE { - CollisionTdo, - CollisionXref, - CollisionOther, -}} -STRUCT!{struct LSA_FOREST_TRUST_COLLISION_RECORD { - Index: ULONG, - Type: LSA_FOREST_TRUST_COLLISION_RECORD_TYPE, - Flags: ULONG, - Name: LSA_UNICODE_STRING, -}} -pub type PLSA_FOREST_TRUST_COLLISION_RECORD = *mut LSA_FOREST_TRUST_COLLISION_RECORD; -STRUCT!{struct LSA_FOREST_TRUST_COLLISION_INFORMATION { - RecordCount: ULONG, - Entries: *mut PLSA_FOREST_TRUST_COLLISION_RECORD, -}} -pub type PLSA_FOREST_TRUST_COLLISION_INFORMATION = *mut LSA_FOREST_TRUST_COLLISION_INFORMATION; -pub const SECRET_SET_VALUE: ULONG = 0x00000001; -pub const SECRET_QUERY_VALUE: ULONG = 0x00000002; -pub const SECRET_ALL_ACCESS: ULONG = STANDARD_RIGHTS_REQUIRED | SECRET_SET_VALUE - | SECRET_QUERY_VALUE; -pub const SECRET_READ: ULONG = STANDARD_RIGHTS_READ | SECRET_QUERY_VALUE; -pub const SECRET_WRITE: ULONG = STANDARD_RIGHTS_WRITE | SECRET_SET_VALUE; -pub const SECRET_EXECUTE: ULONG = STANDARD_RIGHTS_EXECUTE; -pub const LSA_GLOBAL_SECRET_PREFIX: &'static str = "G$"; -pub const LSA_GLOBAL_SECRET_PREFIX_LENGTH: SIZE_T = 2; -pub const LSA_LOCAL_SECRET_PREFIX: &'static str = "L$"; -pub const LSA_LOCAL_SECRET_PREFIX_LENGTH: SIZE_T = 2; -pub const LSA_MACHINE_SECRET_PREFIX: &'static str = "M$"; -pub const LSA_MACHINE_SECRET_PREFIX_LENGTH: SIZE_T = 2; -pub const LSA_SECRET_MAXIMUM_COUNT: SIZE_T = 0x00001000; -pub const LSA_SECRET_MAXIMUM_LENGTH: SIZE_T = 0x00000200; -DECLARE_HANDLE!{LSA_ENUMERATION_HANDLE, __LSA_ENUMERATION_HANDLE} -pub type PLSA_ENUMERATION_HANDLE = *mut LSA_ENUMERATION_HANDLE; -STRUCT!{struct LSA_ENUMERATION_INFORMATION { - Sid: PSID, -}} -pub type PLSA_ENUMERATION_INFORMATION = *mut LSA_ENUMERATION_INFORMATION; -extern "system" { - pub fn LsaFreeMemory( - Buffer: PVOID, - ) -> NTSTATUS; - pub fn LsaClose( - ObjectHandle: LSA_HANDLE, - ) -> NTSTATUS; - pub fn LsaDelete( - ObjectHandle: LSA_HANDLE, - ) -> NTSTATUS; - pub fn LsaQuerySecurityObject( - ObjectHandle: LSA_HANDLE, - SecurityInformation: SECURITY_INFORMATION, - SecurityDescriptor: *mut PSECURITY_DESCRIPTOR, - ) -> NTSTATUS; - pub fn LsaSetSecurityObject( - ObjectHandle: LSA_HANDLE, - SecurityInformation: SECURITY_INFORMATION, - SecurityDescriptor: PSECURITY_DESCRIPTOR, - ) -> NTSTATUS; - pub fn LsaChangePassword( - ServerName: PLSA_UNICODE_STRING, - DomainName: PLSA_UNICODE_STRING, - AccountName: PLSA_UNICODE_STRING, - OldPassword: PLSA_UNICODE_STRING, - NewPassword: PLSA_UNICODE_STRING, - ) -> NTSTATUS; -} -STRUCT!{struct LSA_LAST_INTER_LOGON_INFO { - LastSuccessfulLogon: LARGE_INTEGER, - LastFailedLogon: LARGE_INTEGER, - FailedAttemptCountSinceLastSuccessfulLogon: ULONG, -}} -pub type PLSA_LAST_INTER_LOGON_INFO = *mut LSA_LAST_INTER_LOGON_INFO; -STRUCT!{struct SECURITY_LOGON_SESSION_DATA { - Size: ULONG, - LogonId: LUID, - UserName: LSA_UNICODE_STRING, - LogonDomain: LSA_UNICODE_STRING, - AuthenticationPackage: LSA_UNICODE_STRING, - LogonType: ULONG, - Session: ULONG, - Sid: PSID, - LogonTime: LARGE_INTEGER, - LogonServer: LSA_UNICODE_STRING, - DnsDomainName: LSA_UNICODE_STRING, - Upn: LSA_UNICODE_STRING, - UserFlags: ULONG, - LastLogonInfo: LSA_LAST_INTER_LOGON_INFO, - LogonScript: LSA_UNICODE_STRING, - ProfilePath: LSA_UNICODE_STRING, - HomeDirectory: LSA_UNICODE_STRING, - HomeDirectoryDrive: LSA_UNICODE_STRING, - LogoffTime: LARGE_INTEGER, - KickOffTime: LARGE_INTEGER, - PasswordLastSet: LARGE_INTEGER, - PasswordCanChange: LARGE_INTEGER, - PasswordMustChange: LARGE_INTEGER, -}} -pub type PSECURITY_LOGON_SESSION_DATA = *mut SECURITY_LOGON_SESSION_DATA; -extern "system" { - pub fn LsaEnumerateLogonSessions( - LogonSessionCount: PULONG, - LogonSessionList: *mut PLUID, - ) -> NTSTATUS; - pub fn LsaGetLogonSessionData( - LogonId: PLUID, - ppLogonSessionData: *mut PSECURITY_LOGON_SESSION_DATA, - ) -> NTSTATUS; - pub fn LsaOpenPolicy( - SystemName: PLSA_UNICODE_STRING, - ObjectAttributes: PLSA_OBJECT_ATTRIBUTES, - DesiredAccess: ACCESS_MASK, - PolicyHandle: PLSA_HANDLE, - ) -> NTSTATUS; - pub fn LsaOpenPolicySce( - SystemName: PLSA_UNICODE_STRING, - ObjectAttributes: PLSA_OBJECT_ATTRIBUTES, - DesiredAccess: ACCESS_MASK, - PolicyHandle: PLSA_HANDLE, - ) -> NTSTATUS; -} -pub const MAXIMUM_CAPES_PER_CAP: SIZE_T = 0x7F; -pub const CENTRAL_ACCESS_POLICY_OWNER_RIGHTS_PRESENT_FLAG: ULONG = 0x00000001; -pub const CENTRAL_ACCESS_POLICY_STAGED_OWNER_RIGHTS_PRESENT_FLAG: ULONG = 0x00000100; -#[inline] -pub fn STAGING_FLAG(Effective: ULONG) -> ULONG { - (Effective & 0xF) << 8 -} -pub const CENTRAL_ACCESS_POLICY_STAGED_FLAG: ULONG = 0x00010000; -pub const CENTRAL_ACCESS_POLICY_VALID_FLAG_MASK: ULONG = - CENTRAL_ACCESS_POLICY_OWNER_RIGHTS_PRESENT_FLAG - | CENTRAL_ACCESS_POLICY_STAGED_OWNER_RIGHTS_PRESENT_FLAG | CENTRAL_ACCESS_POLICY_STAGED_FLAG; -pub const LSASETCAPS_RELOAD_FLAG: ULONG = 0x00000001; -pub const LSASETCAPS_VALID_FLAG_MASK: ULONG = LSASETCAPS_RELOAD_FLAG; -STRUCT!{struct CENTRAL_ACCESS_POLICY_ENTRY { - Name: LSA_UNICODE_STRING, - Description: LSA_UNICODE_STRING, - ChangeId: LSA_UNICODE_STRING, - LengthAppliesTo: ULONG, - AppliesTo: PUCHAR, - LengthSD: ULONG, - SD: PSECURITY_DESCRIPTOR, - LengthStagedSD: ULONG, - StagedSD: PSECURITY_DESCRIPTOR, - Flags: ULONG, -}} -pub type PCENTRAL_ACCESS_POLICY_ENTRY = *mut CENTRAL_ACCESS_POLICY_ENTRY; -pub type PCCENTRAL_ACCESS_POLICY_ENTRY = *const CENTRAL_ACCESS_POLICY_ENTRY; -STRUCT!{struct CENTRAL_ACCESS_POLICY { - CAPID: PSID, - Name: LSA_UNICODE_STRING, - Description: LSA_UNICODE_STRING, - ChangeId: LSA_UNICODE_STRING, - Flags: ULONG, - CAPECount: ULONG, - CAPEs: *mut PCENTRAL_ACCESS_POLICY_ENTRY, -}} -pub type PCENTRAL_ACCESS_POLICY = *mut CENTRAL_ACCESS_POLICY; -pub type PCCENTRAL_ACCESS_POLICY = *const CENTRAL_ACCESS_POLICY; -extern "system" { - pub fn LsaSetCAPs( - CAPDNs: PLSA_UNICODE_STRING, - CAPDNCount: ULONG, - Flags: ULONG, - ) -> NTSTATUS; - pub fn LsaGetAppliedCAPIDs( - SystemName: PLSA_UNICODE_STRING, - CAPIDs: *mut *mut PSID, - CAPIDCount: PULONG, - ) -> NTSTATUS; - pub fn LsaQueryCAPs( - CAPIDs: *mut PSID, - CAPIDCount: ULONG, - CAPs: *mut PCENTRAL_ACCESS_POLICY, - CAPCount: PULONG, - ) -> NTSTATUS; - pub fn LsaQueryInformationPolicy( - PolicyHandle: LSA_HANDLE, - InformationClass: POLICY_INFORMATION_CLASS, - Buffer: *mut PVOID, - ) -> NTSTATUS; - pub fn LsaSetInformationPolicy( - PolicyHandle: LSA_HANDLE, - InformationClass: POLICY_INFORMATION_CLASS, - Buffer: PVOID, - ) -> NTSTATUS; - pub fn LsaQueryDomainInformationPolicy( - PolicyHandle: LSA_HANDLE, - InformationClass: POLICY_DOMAIN_INFORMATION_CLASS, - Buffer: *mut PVOID, - ) -> NTSTATUS; - pub fn LsaSetDomainInformationPolicy( - PolicyHandle: LSA_HANDLE, - InformationClass: POLICY_DOMAIN_INFORMATION_CLASS, - Buffer: PVOID, - ) -> NTSTATUS; - pub fn LsaRegisterPolicyChangeNotification( - InformationClass: POLICY_NOTIFICATION_INFORMATION_CLASS, - NotifcationEventHandle: HANDLE, - ) -> NTSTATUS; - pub fn LsaUnregisterPolicyChangeNotification( - InformationClass: POLICY_NOTIFICATION_INFORMATION_CLASS, - NotifcationEventHandle: HANDLE, - ) -> NTSTATUS; - pub fn LsaClearAuditLog( - PolicyHandle: LSA_HANDLE, - ) -> NTSTATUS; - pub fn LsaCreateAccount( - PolicyHandle: LSA_HANDLE, - AccountSid: PSID, - DesiredAccess: ACCESS_MASK, - AccountHandle: PLSA_HANDLE, - ) -> NTSTATUS; - pub fn LsaEnumerateAccounts( - PolicyHandle: LSA_HANDLE, - EnumerationContext: PLSA_ENUMERATION_HANDLE, - Buffer: *mut PVOID, - PreferredMaximumLength: ULONG, - CountReturned: PULONG, - ) -> NTSTATUS; - pub fn LsaCreateTrustedDomain( - PolicyHandle: LSA_HANDLE, - TrustedDomainInformation: PLSA_TRUST_INFORMATION, - DesiredAccess: ACCESS_MASK, - TrustedDomainHandle: PLSA_HANDLE, - ) -> NTSTATUS; - pub fn LsaEnumerateTrustedDomains( - PolicyHandle: LSA_HANDLE, - EnumerationContext: PLSA_ENUMERATION_HANDLE, - Buffer: *mut PVOID, - PreferredMaximumLength: ULONG, - CountReturned: PULONG, - ) -> NTSTATUS; - pub fn LsaEnumeratePrivileges( - PolicyHandle: LSA_HANDLE, - EnumerationContext: PLSA_ENUMERATION_HANDLE, - Buffer: *mut PVOID, - PreferredMaximumLength: ULONG, - CountReturned: PULONG, - ) -> NTSTATUS; - pub fn LsaLookupNames( - PolicyHandle: LSA_HANDLE, - Count: ULONG, - Names: PLSA_UNICODE_STRING, - ReferencedDomains: *mut PLSA_REFERENCED_DOMAIN_LIST, - Sids: *mut PLSA_TRANSLATED_SID, - ) -> NTSTATUS; - pub fn LsaLookupNames2( - PolicyHandle: LSA_HANDLE, - Flags: ULONG, - Count: ULONG, - Names: PLSA_UNICODE_STRING, - ReferencedDomains: *mut PLSA_REFERENCED_DOMAIN_LIST, - Sids: *mut PLSA_TRANSLATED_SID2, - ) -> NTSTATUS; - pub fn LsaLookupSids( - PolicyHandle: LSA_HANDLE, - Count: ULONG, - Sids: *mut PSID, - ReferencedDomains: *mut PLSA_REFERENCED_DOMAIN_LIST, - Names: *mut PLSA_TRANSLATED_NAME, - ) -> NTSTATUS; - pub fn LsaLookupSids2( - PolicyHandle: LSA_HANDLE, - LookupOptions: ULONG, - Count: ULONG, - Sids: *mut PSID, - ReferencedDomains: *mut PLSA_REFERENCED_DOMAIN_LIST, - Names: *mut PLSA_TRANSLATED_NAME, - ) -> NTSTATUS; - pub fn LsaCreateSecret( - PolicyHandle: LSA_HANDLE, - SecretName: PLSA_UNICODE_STRING, - DesiredAccess: ACCESS_MASK, - SecretHandle: PLSA_HANDLE, - ) -> NTSTATUS; - pub fn LsaOpenAccount( - PolicyHandle: LSA_HANDLE, - AccountSid: PSID, - DesiredAccess: ACCESS_MASK, - AccountHandle: PLSA_HANDLE, - ) -> NTSTATUS; - pub fn LsaEnumeratePrivilegesOfAccount( - AccountHandle: LSA_HANDLE, - Privileges: *mut PPRIVILEGE_SET, - ) -> NTSTATUS; - pub fn LsaAddPrivilegesToAccount( - AccountHandle: LSA_HANDLE, - Privileges: PPRIVILEGE_SET, - ) -> NTSTATUS; - pub fn LsaRemovePrivilegesFromAccount( - AccountHandle: LSA_HANDLE, - AllPrivileges: BOOLEAN, - Privileges: PPRIVILEGE_SET, - ) -> NTSTATUS; - pub fn LsaGetQuotasForAccount( - AccountHandle: LSA_HANDLE, - QuotaLimits: PQUOTA_LIMITS, - ) -> NTSTATUS; - pub fn LsaSetQuotasForAccount( - AccountHandle: LSA_HANDLE, - QuotaLimits: PQUOTA_LIMITS, - ) -> NTSTATUS; - pub fn LsaGetSystemAccessAccount( - AccountHandle: LSA_HANDLE, - SystemAccess: PULONG, - ) -> NTSTATUS; - pub fn LsaSetSystemAccessAccount( - AccountHandle: LSA_HANDLE, - SystemAccess: ULONG, - ) -> NTSTATUS; - pub fn LsaOpenTrustedDomain( - PolicyHandle: LSA_HANDLE, - TrustedDomainSid: PSID, - DesiredAccess: ACCESS_MASK, - TrustedDomainHandle: PLSA_HANDLE, - ) -> NTSTATUS; - pub fn LsaQueryInfoTrustedDomain( - TrustedDomainHandle: LSA_HANDLE, - InformationClass: TRUSTED_INFORMATION_CLASS, - Buffer: *mut PVOID, - ) -> NTSTATUS; - pub fn LsaSetInformationTrustedDomain( - TrustedDomainHandle: LSA_HANDLE, - InformationClass: TRUSTED_INFORMATION_CLASS, - Buffer: PVOID, - ) -> NTSTATUS; - pub fn LsaOpenSecret( - PolicyHandle: LSA_HANDLE, - SecretName: PLSA_UNICODE_STRING, - DesiredAccess: ACCESS_MASK, - SecretHandle: PLSA_HANDLE, - ) -> NTSTATUS; - pub fn LsaSetSecret( - SecretHandle: LSA_HANDLE, - CurrentValue: PLSA_UNICODE_STRING, - OldValue: PLSA_UNICODE_STRING, - ) -> NTSTATUS; - pub fn LsaQuerySecret( - SecretHandle: LSA_HANDLE, - CurrentValue: *mut PLSA_UNICODE_STRING, - CurrentValueSetTime: PLARGE_INTEGER, - OldValue: *mut PLSA_UNICODE_STRING, - OldValueSetTime: PLARGE_INTEGER, - ) -> NTSTATUS; - pub fn LsaLookupPrivilegeValue( - PolicyHandle: LSA_HANDLE, - Name: PLSA_UNICODE_STRING, - Value: PLUID, - ) -> NTSTATUS; - pub fn LsaLookupPrivilegeName( - PolicyHandle: LSA_HANDLE, - Value: PLUID, - Name: *mut PLSA_UNICODE_STRING, - ) -> NTSTATUS; - pub fn LsaLookupPrivilegeDisplayName( - PolicyHandle: LSA_HANDLE, - Name: PLSA_UNICODE_STRING, - DisplayName: *mut PLSA_UNICODE_STRING, - LanguageReturned: PSHORT, - ) -> NTSTATUS; -} -extern "C" { - pub fn LsaGetUserName( - UserName: *mut PLSA_UNICODE_STRING, - DomainName: *mut PLSA_UNICODE_STRING, - ) -> NTSTATUS; - pub fn LsaGetRemoteUserName( - SystemName: PLSA_UNICODE_STRING, - UserName: *mut PLSA_UNICODE_STRING, - DomainName: *mut PLSA_UNICODE_STRING, - ) -> NTSTATUS; -} -pub const SE_INTERACTIVE_LOGON_NAME: &'static str = "SeInteractiveLogonRight"; -pub const SE_NETWORK_LOGON_NAME: &'static str = "SeNetworkLogonRight"; -pub const SE_BATCH_LOGON_NAME: &'static str = "SeBatchLogonRight"; -pub const SE_SERVICE_LOGON_NAME: &'static str = "SeServiceLogonRight"; -pub const SE_DENY_INTERACTIVE_LOGON_NAME: &'static str = "SeDenyInteractiveLogonRight"; -pub const SE_DENY_NETWORK_LOGON_NAME: &'static str = "SeDenyNetworkLogonRight"; -pub const SE_DENY_BATCH_LOGON_NAME: &'static str = "SeDenyBatchLogonRight"; -pub const SE_DENY_SERVICE_LOGON_NAME: &'static str = "SeDenyServiceLogonRight"; -pub const SE_REMOTE_INTERACTIVE_LOGON_NAME: &'static str = "SeRemoteInteractiveLogonRight"; -pub const SE_DENY_REMOTE_INTERACTIVE_LOGON_NAME: &'static str = - "SeDenyRemoteInteractiveLogonRight"; -extern "system" { - pub fn LsaEnumerateAccountsWithUserRight( - PolictHandle: LSA_HANDLE, - UserRights: PLSA_UNICODE_STRING, - EnumerationBuffer: *mut PVOID, - CountReturned: PULONG, - ) -> NTSTATUS; - pub fn LsaEnumerateAccountRights( - PolicyHandle: LSA_HANDLE, - AccountSid: PSID, - UserRights: *mut PLSA_UNICODE_STRING, - CountOfRights: PULONG, - ) -> NTSTATUS; - pub fn LsaAddAccountRights( - PolicyHandle: LSA_HANDLE, - AccountSid: PSID, - UserRights: PLSA_UNICODE_STRING, - CountOfRights: ULONG, - ) -> NTSTATUS; - pub fn LsaRemoveAccountRights( - PolicyHandle: LSA_HANDLE, - AccountSid: PSID, - AllRights: BOOLEAN, - UserRights: PLSA_UNICODE_STRING, - CountOfRights: ULONG, - ) -> NTSTATUS; - pub fn LsaOpenTrustedDomainByName( - PolicyHandle: LSA_HANDLE, - TrustedDomainName: PLSA_UNICODE_STRING, - DesiredAccess: ACCESS_MASK, - TrustedDomainHandle: PLSA_HANDLE, - ) -> NTSTATUS; - pub fn LsaQueryTrustedDomainInfo( - PolicyHandle: LSA_HANDLE, - TrustedDomainSid: PSID, - InformationClass: TRUSTED_INFORMATION_CLASS, - Buffer: *mut PVOID, - ) -> NTSTATUS; - pub fn LsaSetTrustedDomainInformation( - PolicyHandle: LSA_HANDLE, - TrustedDomainSid: PSID, - InformationClass: TRUSTED_INFORMATION_CLASS, - Buffer: PVOID, - ) -> NTSTATUS; - pub fn LsaDeleteTrustedDomain( - PolicyHandle: LSA_HANDLE, - TrustedDomainSid: PSID, - ) -> NTSTATUS; - pub fn LsaQueryTrustedDomainInfoByName( - PolicyHandle: LSA_HANDLE, - TrustedDomainName: PLSA_UNICODE_STRING, - InformationClass: TRUSTED_INFORMATION_CLASS, - Buffer: *mut PVOID, - ) -> NTSTATUS; - pub fn LsaSetTrustedDomainInfoByName( - PolicyHandle: LSA_HANDLE, - TrustedDomainName: PLSA_UNICODE_STRING, - InformationClass: TRUSTED_INFORMATION_CLASS, - Buffer: PVOID, - ) -> NTSTATUS; - pub fn LsaEnumerateTrustedDomainsEx( - PolicyHandle: LSA_HANDLE, - EnumerationContext: PLSA_ENUMERATION_HANDLE, - Buffer: *mut PVOID, - PreferredMaximumLength: ULONG, - CountReturned: PULONG, - ) -> NTSTATUS; - pub fn LsaCreateTrustedDomainEx( - PolicyHandle: LSA_HANDLE, - TrustedDomainInformation: PTRUSTED_DOMAIN_INFORMATION_EX, - AuthenticationInformation: PTRUSTED_DOMAIN_AUTH_INFORMATION, - DesiredAccess: ACCESS_MASK, - TrustedDomainHandle: PLSA_HANDLE, - ) -> NTSTATUS; - pub fn LsaQueryForestTrustInformation( - PolicyHandle: LSA_HANDLE, - TrustedDomainName: PLSA_UNICODE_STRING, - ForestTrustInfo: *mut PLSA_FOREST_TRUST_INFORMATION, - ) -> NTSTATUS; - pub fn LsaSetForestTrustInformation( - PolicyHandle: LSA_HANDLE, - TrustedDomainName: PLSA_UNICODE_STRING, - ForestTrustInfo: PLSA_FOREST_TRUST_INFORMATION, - CheckOnly: BOOLEAN, - CollisionInfo: *mut PLSA_FOREST_TRUST_COLLISION_INFORMATION, - ) -> NTSTATUS; - pub fn LsaForestTrustFindMatch( - PolicyHandle: LSA_HANDLE, - Type: ULONG, - Name: PLSA_UNICODE_STRING, - Match: *mut PLSA_UNICODE_STRING, - ) -> NTSTATUS; - pub fn LsaStorePrivateData( - PolicyHandle: LSA_HANDLE, - KeyName: PLSA_UNICODE_STRING, - PrivateData: PLSA_UNICODE_STRING, - ) -> NTSTATUS; - pub fn LsaRetrievePrivateData( - PolicyHandle: LSA_HANDLE, - KeyName: PLSA_UNICODE_STRING, - PrivateData: *mut PLSA_UNICODE_STRING, - ) -> NTSTATUS; - pub fn LsaNtStatusToWinError( - Status: NTSTATUS, - ) -> ULONG; -} -ENUM!{enum NEGOTIATE_MESSAGES { - NegEnumPackagePrefixes = 0, - NegGetCallerName = 1, - NegTransferCredentials = 2, - NegEnumPackageNames = 3, - NegCallPackageMax, -}} -pub const NEGOTIATE_MAX_PREFIX: SIZE_T = 32; -STRUCT!{struct NEGOTIATE_PACKAGE_PREFIX { - PackageId: ULONG_PTR, - PackageDataA: PVOID, - PackageDataW: PVOID, - PrefixLen: ULONG_PTR, - Prefix: [UCHAR; NEGOTIATE_MAX_PREFIX], -}} -pub type PNEGOTIATE_PACKAGE_PREFIX = *mut NEGOTIATE_PACKAGE_PREFIX; -STRUCT!{struct NEGOTIATE_PACKAGE_PREFIXES { - MessageType: ULONG, - PrefixCount: ULONG, - Offset: ULONG, - Pad: ULONG, -}} -pub type PNEGOTIATE_PACKAGE_PREFIXES = *mut NEGOTIATE_PACKAGE_PREFIXES; -STRUCT!{struct NEGOTIATE_CALLER_NAME_REQUEST { - MessageType: ULONG, - LogonId: LUID, -}} -pub type PNEGOTIATE_CALLER_NAME_REQUEST = *mut NEGOTIATE_CALLER_NAME_REQUEST; -STRUCT!{struct NEGOTIATE_CALLER_NAME_RESPONSE { - Messagetype: ULONG, - CallerName: PWSTR, -}} -pub type PNEGOTIATE_CALLER_NAME_RESPONSE = *mut NEGOTIATE_CALLER_NAME_RESPONSE; -STRUCT!{struct NEGOTIATE_PACKAGE_NAMES { - NamesCount: ULONG, - Names: [UNICODE_STRING; ANYSIZE_ARRAY], -}} -pub type PNEGOTIATE_PACKAGE_NAMES = *mut NEGOTIATE_PACKAGE_NAMES; -pub const NEGOTIATE_ALLOW_NTLM: ULONG = 0x10000000; -pub const NEGOTIATE_NEG_NTLM: ULONG = 0x20000000; -STRUCT!{struct NEGOTIATE_PACKAGE_PREFIX_WOW { - PackageId: ULONG, - PackageDataA: ULONG, - PackageDataW: ULONG, - PrefixLen: ULONG, - Prefix: [UCHAR; NEGOTIATE_MAX_PREFIX], -}} -pub type PNEGOTIATE_PACKAGE_PREFIX_WOW = *mut NEGOTIATE_PACKAGE_PREFIX_WOW; -STRUCT!{struct NEGOTIATE_CALLER_NAME_RESPONSE_WOW { - MessageType: ULONG, - CallerName: ULONG, -}} -pub type PNEGOTIATE_CALLER_NAME_RESPONSE_WOW = *mut NEGOTIATE_CALLER_NAME_RESPONSE_WOW; -extern "system" { - pub fn LsaSetPolicyReplicationHandle( - PolicyHandle: PLSA_HANDLE, - ) -> NTSTATUS; -} -pub const MAX_USER_RECORDS: SIZE_T = 1000; -STRUCT!{struct LSA_USER_REGISTRATION_INFO { - Sid: LSA_UNICODE_STRING, - DeviceId: LSA_UNICODE_STRING, - Username: LSA_UNICODE_STRING, - Thumbprint: LSA_UNICODE_STRING, - RegistrationTime: LARGE_INTEGER, -}} -pub type PLSA_USER_REGISTRATION_INFO = *mut LSA_USER_REGISTRATION_INFO; -STRUCT!{struct LSA_REGISTRATION_INFO { - RegisteredCount: ULONG, - UserRegistrationInfo: *mut PLSA_USER_REGISTRATION_INFO, -}} -pub type PLSA_REGISTRATION_INFO = *mut LSA_REGISTRATION_INFO; -extern "system" { - pub fn LsaGetDeviceRegistrationInfo( - RegistrationInfo: *mut PLSA_REGISTRATION_INFO, - ) -> NTSTATUS; -} -ENUM!{enum LSA_CREDENTIAL_KEY_SOURCE_TYPE { - eFromPrecomputed = 1, - eFromClearPassword, - eFromNtOwf, -}} -pub type PLSA_CREDENTIAL_KEY_SOURCE_TYPE = *mut LSA_CREDENTIAL_KEY_SOURCE_TYPE; -extern "C" { - pub fn SeciIsProtectedUser( - ProtectedUser: PBOOLEAN, - ) -> NTSTATUS; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/ntsecapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/ntsecapi.rs deleted file mode 100644 index cf30ea929..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/ntsecapi.rs +++ /dev/null @@ -1,1728 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This module defines the Local Security Authority APIs. -use shared::basetsd::{ULONG64, ULONG_PTR}; -use shared::guiddef::GUID; -use shared::minwindef::{PUCHAR, PULONG, UCHAR, ULONG, USHORT}; -use shared::ntdef::NTSTATUS; -use shared::sspi::SecHandle; -use um::lsalookup::{ - LSA_TRUST_INFORMATION, LSA_UNICODE_STRING, PLSA_TRUST_INFORMATION, PLSA_UNICODE_STRING -}; -use um::subauth::{PUNICODE_STRING, STRING, UNICODE_STRING}; -use um::winnt::{ - ACCESS_MASK, ANYSIZE_ARRAY, BOOLEAN, HANDLE, LARGE_INTEGER, LONG, LUID, PACL, PCSTR, PCWSTR, - PSECURITY_DESCRIPTOR, PSID, PSTR, PVOID, PWSTR, QUOTA_LIMITS, SECURITY_INFORMATION, SHORT, SID, - SID_NAME_USE, STANDARD_RIGHTS_EXECUTE, STANDARD_RIGHTS_READ, STANDARD_RIGHTS_REQUIRED, - STANDARD_RIGHTS_WRITE, ULONGLONG -}; -DEFINE_GUID!{Audit_System_SecurityStateChange, - 0x0cce9210, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_System_SecuritySubsystemExtension, - 0x0cce9211, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_System_Integrity, - 0x0cce9212, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_System_IPSecDriverEvents, - 0x0cce9213, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_System_Others, - 0x0cce9214, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_Logon_Logon, - 0x0cce9215, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_Logon_Logoff, - 0x0cce9216, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_Logon_AccountLockout, - 0x0cce9217, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_Logon_IPSecMainMode, - 0x0cce9218, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_Logon_IPSecQuickMode, - 0x0cce9219, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_Logon_IPSecUserMode, - 0x0cce921a, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_Logon_SpecialLogon, - 0x0cce921b, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_Logon_Others, - 0x0cce921c, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_ObjectAccess_FileSystem, - 0x0cce921d, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_ObjectAccess_Registry, - 0x0cce921e, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_ObjectAccess_Kernel, - 0x0cce921f, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_ObjectAccess_Sam, - 0x0cce9220, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_ObjectAccess_CertificationServices, - 0x0cce9221, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_ObjectAccess_ApplicationGenerated, - 0x0cce9222, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_ObjectAccess_Handle, - 0x0cce9223, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_ObjectAccess_Share, - 0x0cce9224, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_ObjectAccess_FirewallPacketDrops, - 0x0cce9225, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_ObjectAccess_FirewallConnection, - 0x0cce9226, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_ObjectAccess_Other, - 0x0cce9227, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_PrivilegeUse_Sensitive, - 0x0cce9228, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_PrivilegeUse_NonSensitive, - 0x0cce9229, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_PrivilegeUse_Others, - 0x0cce922a, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_DetailedTracking_ProcessCreation, - 0x0cce922b, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_DetailedTracking_ProcessTermination, - 0x0cce922c, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_DetailedTracking_DpapiActivity, - 0x0cce922d, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_DetailedTracking_RpcCall, - 0x0cce922e, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_PolicyChange_AuditPolicy, - 0x0cce922f, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_PolicyChange_AuthenticationPolicy, - 0x0cce9230, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_PolicyChange_AuthorizationPolicy, - 0x0cce9231, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_PolicyChange_MpsscvRulePolicy, - 0x0cce9232, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_PolicyChange_WfpIPSecPolicy, - 0x0cce9233, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_PolicyChange_Others, - 0x0cce9234, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_AccountManagement_UserAccount, - 0x0cce9235, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_AccountManagement_ComputerAccount, - 0x0cce9236, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_AccountManagement_SecurityGroup, - 0x0cce9237, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_AccountManagement_DistributionGroup, - 0x0cce9238, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_AccountManagement_ApplicationGroup, - 0x0cce9239, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_AccountManagement_Others, - 0x0cce923a, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_DSAccess_DSAccess, - 0x0cce923b, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_DsAccess_AdAuditChanges, - 0x0cce923c, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_Ds_Replication, - 0x0cce923d, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_Ds_DetailedReplication, - 0x0cce923e, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_AccountLogon_CredentialValidation, - 0x0cce923f, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_AccountLogon_Kerberos, - 0x0cce9240, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_AccountLogon_Others, - 0x0cce9241, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_AccountLogon_KerbCredentialValidation, - 0x0cce9242, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_Logon_NPS, - 0x0cce9243, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_ObjectAccess_DetailedFileShare, - 0x0cce9244, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_ObjectAccess_RemovableStorage, - 0x0cce9245, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_ObjectAccess_CbacStaging, - 0x0cce9246, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_Logon_Claims, - 0x0cce9247, 0x69ae, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_System, - 0x69979848, 0x797a, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_Logon, - 0x69979849, 0x797a, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_ObjectAccess, - 0x6997984a, 0x797a, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_PrivilegeUse, - 0x6997984b, 0x797a, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_DetailedTracking, - 0x6997984c, 0x797a, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_PolicyChange, - 0x6997984d, 0x797a, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_AccountManagement, - 0x6997984e, 0x797a, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_DirectoryServiceAccess, - 0x6997984f, 0x797a, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -DEFINE_GUID!{Audit_AccountLogon, - 0x69979850, 0x797a, 0x11d9, 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30} -ENUM!{enum POLICY_AUDIT_EVENT_TYPE { - AuditCategorySystem = 0, - AuditCategoryLogon, - AuditCategoryObjectAccess, - AuditCategoryPrivilegeUse, - AuditCategoryDetailedTracking, - AuditCategoryPolicyChange, - AuditCategoryAccountManagement, - AuditCategoryDirectoryServiceAccess, - AuditCategoryAccountLogon, -}} -pub type PPOLICY_AUDIT_EVENT_TYPE = *mut POLICY_AUDIT_EVENT_TYPE; -pub const POLICY_AUDIT_EVENT_UNCHANGED: POLICY_AUDIT_EVENT_OPTIONS = 0x00000000; -pub const POLICY_AUDIT_EVENT_SUCCESS: POLICY_AUDIT_EVENT_OPTIONS = 0x00000001; -pub const POLICY_AUDIT_EVENT_FAILURE: POLICY_AUDIT_EVENT_OPTIONS = 0x00000002; -pub const POLICY_AUDIT_EVENT_NONE: POLICY_AUDIT_EVENT_OPTIONS = 0x00000004; -pub const POLICY_AUDIT_EVENT_MASK: POLICY_AUDIT_EVENT_OPTIONS = POLICY_AUDIT_EVENT_SUCCESS - | POLICY_AUDIT_EVENT_FAILURE | POLICY_AUDIT_EVENT_UNCHANGED | POLICY_AUDIT_EVENT_NONE; -pub const POLICY_VIEW_LOCAL_INFORMATION: ACCESS_MASK = 0x00000001; -pub const POLICY_VIEW_AUDIT_INFORMATION: ACCESS_MASK = 0x00000002; -pub const POLICY_GET_PRIVATE_INFORMATION: ACCESS_MASK = 0x00000004; -pub const POLICY_TRUST_ADMIN: ACCESS_MASK = 0x00000008; -pub const POLICY_CREATE_ACCOUNT: ACCESS_MASK = 0x00000010; -pub const POLICY_CREATE_SECRET: ACCESS_MASK = 0x00000020; -pub const POLICY_CREATE_PRIVILEGE: ACCESS_MASK = 0x00000040; -pub const POLICY_SET_DEFAULT_QUOTA_LIMITS: ACCESS_MASK = 0x00000080; -pub const POLICY_SET_AUDIT_REQUIREMENTS: ACCESS_MASK = 0x00000100; -pub const POLICY_AUDIT_LOG_ADMIN: ACCESS_MASK = 0x00000200; -pub const POLICY_SERVER_ADMIN: ACCESS_MASK = 0x00000400; -pub const POLICY_LOOKUP_NAMES: ACCESS_MASK = 0x00000800; -pub const POLICY_NOTIFICATION: ACCESS_MASK = 0x00001000; -pub const POLICY_ALL_ACCESS: ACCESS_MASK = STANDARD_RIGHTS_REQUIRED - | POLICY_VIEW_LOCAL_INFORMATION | POLICY_VIEW_AUDIT_INFORMATION - | POLICY_GET_PRIVATE_INFORMATION | POLICY_TRUST_ADMIN | POLICY_CREATE_ACCOUNT - | POLICY_CREATE_SECRET | POLICY_CREATE_PRIVILEGE | POLICY_SET_DEFAULT_QUOTA_LIMITS - | POLICY_SET_AUDIT_REQUIREMENTS | POLICY_AUDIT_LOG_ADMIN | POLICY_SERVER_ADMIN - | POLICY_LOOKUP_NAMES; -pub const POLICY_READ: ACCESS_MASK = STANDARD_RIGHTS_READ | POLICY_VIEW_AUDIT_INFORMATION - | POLICY_GET_PRIVATE_INFORMATION; -pub const POLICY_WRITE: ACCESS_MASK = STANDARD_RIGHTS_WRITE | POLICY_TRUST_ADMIN - | POLICY_CREATE_ACCOUNT | POLICY_CREATE_SECRET | POLICY_CREATE_PRIVILEGE - | POLICY_SET_DEFAULT_QUOTA_LIMITS | POLICY_SET_AUDIT_REQUIREMENTS | POLICY_AUDIT_LOG_ADMIN - | POLICY_SERVER_ADMIN; -pub const POLICY_EXECUTE: ACCESS_MASK = STANDARD_RIGHTS_EXECUTE - | POLICY_VIEW_LOCAL_INFORMATION | POLICY_LOOKUP_NAMES; -STRUCT!{struct LSA_TRANSLATED_SID { - Use: SID_NAME_USE, - RelativeId: ULONG, - DomainIndex: LONG, -}} -pub type PLSA_TRANSLATED_SID = *mut LSA_TRANSLATED_SID; -ENUM!{enum POLICY_LSA_SERVER_ROLE { - PolicyServerRoleBackup = 2, - PolicyServerRolePrimary, -}} -pub type PPOLICY_LSA_SERVER_ROLE = *mut POLICY_LSA_SERVER_ROLE; -pub type POLICY_AUDIT_EVENT_OPTIONS = ULONG; -pub type PPOLICY_AUDIT_EVENT_OPTIONS = *mut ULONG; -ENUM!{enum POLICY_INFORMATION_CLASS { - PolicyAuditLogInformation = 1, - PolicyAuditEventsInformation, - PolicyPrimaryDomainInformation, - PolicyPdAccountInformation, - PolicyAccountDomainInformation, - PolicyLsaServerRoleInformation, - PolicyReplicaSourceInformation, - PolicyDefaultQuotaInformation, - PolicyModificationInformation, - PolicyAuditFullSetInformation, - PolicyAuditFullQueryInformation, - PolicyDnsDomainInformation, - PolicyDnsDomainInformationInt, - PolicyLocalAccountDomainInformation, - PolicyLastEntry, -}} -pub type PPOLICY_INFORMATION_CLASS = *mut POLICY_INFORMATION_CLASS; -STRUCT!{struct POLICY_AUDIT_LOG_INFO { - AuditLogPercentFull: ULONG, - MaximumLogSize: ULONG, - AuditRetentionPeriod: LARGE_INTEGER, - AuditLogFullShutdownInProgress: BOOLEAN, - TimeToShutdown: LARGE_INTEGER, - NextAuditRecordId: ULONG, -}} -pub type PPOLICY_AUDIT_LOG_INFO = *mut POLICY_AUDIT_LOG_INFO; -STRUCT!{struct POLICY_AUDIT_EVENTS_INFO { - AuditingMode: BOOLEAN, - EventAuditingOptions: PPOLICY_AUDIT_EVENT_OPTIONS, - MaximumAuditEventCount: ULONG, -}} -pub type PPOLICY_AUDIT_EVENTS_INFO = *mut POLICY_AUDIT_EVENTS_INFO; -STRUCT!{struct POLICY_AUDIT_SUBCATEGORIES_INFO { - MaximumSubCategoryCount: ULONG, - EventAuditingOptions: PPOLICY_AUDIT_EVENT_OPTIONS, -}} -pub type PPOLICY_AUDIT_SUBCATEGORIES_INFO = *mut POLICY_AUDIT_SUBCATEGORIES_INFO; -STRUCT!{struct POLICY_AUDIT_CATEGORIES_INFO { - MaximumSubCategoryCount: ULONG, - SubCategoriesInfo: PPOLICY_AUDIT_SUBCATEGORIES_INFO, -}} -pub type PPOLICY_AUDIT_CATEGORIES_INFO = *mut POLICY_AUDIT_CATEGORIES_INFO; -pub const PER_USER_POLICY_UNCHANGED: ULONG = 0x00; -pub const PER_USER_AUDIT_SUCCESS_INCLUDE: ULONG = 0x01; -pub const PER_USER_AUDIT_SUCCESS_EXCLUDE: ULONG = 0x02; -pub const PER_USER_AUDIT_FAILURE_INCLUDE: ULONG = 0x04; -pub const PER_USER_AUDIT_FAILURE_EXCLUDE: ULONG = 0x08; -pub const PER_USER_AUDIT_NONE: ULONG = 0x10; -pub const VALID_PER_USER_AUDIT_POLICY_FLAG: ULONG = PER_USER_AUDIT_SUCCESS_INCLUDE - | PER_USER_AUDIT_SUCCESS_EXCLUDE | PER_USER_AUDIT_FAILURE_INCLUDE - | PER_USER_AUDIT_FAILURE_EXCLUDE | PER_USER_AUDIT_NONE; -STRUCT!{struct POLICY_PRIMARY_DOMAIN_INFO { - Name: LSA_UNICODE_STRING, - Sid: PSID, -}} -pub type PPOLICY_PRIMARY_DOMAIN_INFO = *mut POLICY_PRIMARY_DOMAIN_INFO; -STRUCT!{struct POLICY_PD_ACCOUNT_INFO { - Name: LSA_UNICODE_STRING, -}} -pub type PPOLICY_PD_ACCOUNT_INFO = *mut POLICY_PD_ACCOUNT_INFO; -STRUCT!{struct POLICY_LSA_SERVER_ROLE_INFO { - LsaServerRole: POLICY_LSA_SERVER_ROLE, -}} -pub type PPOLICY_LSA_SERVER_ROLE_INFO = *mut POLICY_LSA_SERVER_ROLE_INFO; -STRUCT!{struct POLICY_REPLICA_SOURCE_INFO { - ReplicaSource: LSA_UNICODE_STRING, - ReplicaAccountName: LSA_UNICODE_STRING, -}} -pub type PPOLICY_REPLICA_SOURCE_INFO = *mut POLICY_REPLICA_SOURCE_INFO; -STRUCT!{struct POLICY_DEFAULT_QUOTA_INFO { - QuotaLimits: QUOTA_LIMITS, -}} -pub type PPOLICY_DEFAULT_QUOTA_INFO = *mut POLICY_DEFAULT_QUOTA_INFO; -STRUCT!{struct POLICY_MODIFICATION_INFO { - ModifiedId: LARGE_INTEGER, - DatabaseCreationTime: LARGE_INTEGER, -}} -pub type PPOLICY_MODIFICATION_INFO = *mut POLICY_MODIFICATION_INFO; -STRUCT!{struct POLICY_AUDIT_FULL_SET_INFO { - ShutDownOnFull: BOOLEAN, -}} -pub type PPOLICY_AUDIT_FULL_SET_INFO = *mut POLICY_AUDIT_FULL_SET_INFO; -STRUCT!{struct POLICY_AUDIT_FULL_QUERY_INFO { - ShutDownOnFull: BOOLEAN, - LogIsFull: BOOLEAN, -}} -pub type PPOLICY_AUDIT_FULL_QUERY_INFO = *mut POLICY_AUDIT_FULL_QUERY_INFO; -ENUM!{enum POLICY_DOMAIN_INFORMATION_CLASS { - PolicyDomainEfsInformation = 2, - PolicyDomainKerberosTicketInformation, -}} -pub type PPOLICY_DOMAIN_INFORMATION_CLASS = *mut POLICY_DOMAIN_INFORMATION_CLASS; -STRUCT!{struct POLICY_DOMAIN_EFS_INFO { - InfoLength: ULONG, - EfsBlob: PUCHAR, -}} -pub type PPOLICY_DOMAIN_EFS_INFO = *mut POLICY_DOMAIN_EFS_INFO; -STRUCT!{struct POLICY_DOMAIN_KERBEROS_TICKET_INFO { - AuthenticationOptions: ULONG, - MaxServiceTicketAge: LARGE_INTEGER, - MaxTicketAge: LARGE_INTEGER, - MaxRenewAge: LARGE_INTEGER, - MaxClockSkew: LARGE_INTEGER, - Reserved: LARGE_INTEGER, -}} -pub type PPOLICY_DOMAIN_KERBEROS_TICKET_INFO = *mut POLICY_DOMAIN_KERBEROS_TICKET_INFO; -ENUM!{enum POLICY_NOTIFICATION_INFORMATION_CLASS { - PolicyNotifyAuditEventsInformation = 1, - PolicyNotifyAccountDomainInformation, - PolicyNotifyServerRoleInformation, - PolicyNotifyDnsDomainInformation, - PolicyNotifyDomainEfsInformation, - PolicyNotifyDomainKerberosTicketInformation, - PolicyNotifyMachineAccountPasswordInformation, - PolicyNotifyGlobalSaclInformation, - PolicyNotifyMax, -}} -pub type PPOLICY_NOTIFICATION_INFORMATION_CLASS = *mut POLICY_NOTIFICATION_INFORMATION_CLASS; -pub type LSA_HANDLE = PVOID; -pub type PLSA_HANDLE = *mut PVOID; -ENUM!{enum TRUSTED_INFORMATION_CLASS { - TrustedDomainNameInformation = 1, - TrustedControllersInformation, - TrustedPosixOffsetInformation, - TrustedPasswordInformation, - TrustedDomainInformationBasic, - TrustedDomainInformationEx, - TrustedDomainAuthInformation, - TrustedDomainFullInformation, - TrustedDomainAuthInformationInternal, - TrustedDomainFullInformationInternal, - TrustedDomainInformationEx2Internal, - TrustedDomainFullInformation2Internal, - TrustedDomainSupportedEncryptionTypes, -}} -pub type PTRUSTED_INFORMATION_CLASS = *mut TRUSTED_INFORMATION_CLASS; -STRUCT!{struct TRUSTED_DOMAIN_NAME_INFO { - Name: LSA_UNICODE_STRING, -}} -pub type PTRUSTED_DOMAIN_NAME_INFO = *mut TRUSTED_DOMAIN_NAME_INFO; -STRUCT!{struct TRUSTED_CONTROLLERS_INFO { - Entries: ULONG, - Names: PLSA_UNICODE_STRING, -}} -pub type PTRUSTED_CONTROLLERS_INFO = *mut TRUSTED_CONTROLLERS_INFO; -STRUCT!{struct TRUSTED_POSIX_OFFSET_INFO { - Offset: ULONG, -}} -pub type PTRUSTED_POSIX_OFFSET_INFO = *mut TRUSTED_POSIX_OFFSET_INFO; -STRUCT!{struct TRUSTED_PASSWORD_INFO { - Password: LSA_UNICODE_STRING, - OldPassword: LSA_UNICODE_STRING, -}} -pub type PTRUSTED_PASSWORD_INFO = *mut TRUSTED_PASSWORD_INFO; -pub type TRUSTED_DOMAIN_INFORMATION_BASIC = LSA_TRUST_INFORMATION; -pub type PTRUSTED_DOMAIN_INFORMATION_BASIC = PLSA_TRUST_INFORMATION; -pub const TRUST_DIRECTION_DISABLED: ULONG = 0x00000000; -pub const TRUST_DIRECTION_INBOUND: ULONG = 0x00000001; -pub const TRUST_DIRECTION_OUTBOUND: ULONG = 0x00000002; -pub const TRUST_DIRECTION_BIDIRECTIONAL: ULONG = TRUST_DIRECTION_INBOUND - | TRUST_DIRECTION_OUTBOUND; -pub const TRUST_TYPE_DOWNLEVEL: ULONG = 0x00000001; -pub const TRUST_TYPE_UPLEVEL: ULONG = 0x00000002; -pub const TRUST_TYPE_MIT: ULONG = 0x00000003; -pub const TRUST_ATTRIBUTE_NON_TRANSITIVE: ULONG = 0x00000001; -pub const TRUST_ATTRIBUTE_UPLEVEL_ONLY: ULONG = 0x00000002; -pub const TRUST_ATTRIBUTE_QUARANTINED_DOMAIN: ULONG = 0x00000004; -pub const TRUST_ATTRIBUTE_FOREST_TRANSITIVE: ULONG = 0x00000008; -pub const TRUST_ATTRIBUTE_CROSS_ORGANIZATION: ULONG = 0x00000010; -pub const TRUST_ATTRIBUTE_WITHIN_FOREST: ULONG = 0x00000020; -pub const TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL: ULONG = 0x00000040; -pub const TRUST_ATTRIBUTE_TRUST_USES_RC4_ENCRYPTION: ULONG = 0x00000080; -pub const TRUST_ATTRIBUTE_TRUST_USES_AES_KEYS: ULONG = 0x00000100; -pub const TRUST_ATTRIBUTE_CROSS_ORGANIZATION_NO_TGT_DELEGATION: ULONG = 0x00000200; -pub const TRUST_ATTRIBUTES_VALID: ULONG = 0xFF03FFFF; -pub const TRUST_ATTRIBUTES_USER: ULONG = 0xFF000000; -STRUCT!{struct TRUSTED_DOMAIN_INFORMATION_EX { - Name: LSA_UNICODE_STRING, - FlatName: LSA_UNICODE_STRING, - Sid: PSID, - TrustDirection: ULONG, - TrustType: ULONG, - TrustAttributes: ULONG, -}} -pub type PTRUSTED_DOMAIN_INFORMATION_EX = *mut TRUSTED_DOMAIN_INFORMATION_EX; -STRUCT!{struct TRUSTED_DOMAIN_INFORMATION_EX2 { - Name: LSA_UNICODE_STRING, - FlatName: LSA_UNICODE_STRING, - Sid: PSID, - TrustDirection: ULONG, - TrustType: ULONG, - TrustAttributes: ULONG, - ForestTrustLength: ULONG, - ForestTrustInfo: PUCHAR, -}} -pub type PTRUSTED_DOMAIN_INFORMATION_EX2 = *mut TRUSTED_DOMAIN_INFORMATION_EX2; -pub const TRUST_AUTH_TYPE_NONE: ULONG = 0; -pub const TRUST_AUTH_TYPE_NT4OWF: ULONG = 1; -pub const TRUST_AUTH_TYPE_CLEAR: ULONG = 2; -pub const TRUST_AUTH_TYPE_VERSION: ULONG = 3; -STRUCT!{struct LSA_AUTH_INFORMATION { - LastUpdateTime: LARGE_INTEGER, - AuthType: ULONG, - AuthInfoLength: ULONG, - AuthInfo: PUCHAR, -}} -pub type PLSA_AUTH_INFORMATION = *mut LSA_AUTH_INFORMATION; -STRUCT!{struct TRUSTED_DOMAIN_AUTH_INFORMATION { - IncomingAuthInfos: ULONG, - IncomingAuthenticationInformation: PLSA_AUTH_INFORMATION, - IncomingPreviousAuthenticationInformation: PLSA_AUTH_INFORMATION, - OutgoingAuthInfos: ULONG, - OutgoingAuthenticationInformation: PLSA_AUTH_INFORMATION, - OutgoingPreviousAuthenticationInformation: PLSA_AUTH_INFORMATION, -}} -pub type PTRUSTED_DOMAIN_AUTH_INFORMATION = *mut TRUSTED_DOMAIN_AUTH_INFORMATION; -STRUCT!{struct TRUSTED_DOMAIN_FULL_INFORMATION { - Information: TRUSTED_DOMAIN_INFORMATION_EX, - PosixOffset: TRUSTED_POSIX_OFFSET_INFO, - AuthInformation: TRUSTED_DOMAIN_AUTH_INFORMATION, -}} -pub type PTRUSTED_DOMAIN_FULL_INFORMATION = *mut TRUSTED_DOMAIN_FULL_INFORMATION; -STRUCT!{struct TRUSTED_DOMAIN_FULL_INFORMATION2 { - Information: TRUSTED_DOMAIN_INFORMATION_EX2, - PosixOffset: TRUSTED_POSIX_OFFSET_INFO, - AuthInformation: TRUSTED_DOMAIN_AUTH_INFORMATION, -}} -pub type PTRUSTED_DOMAIN_FULL_INFORMATION2 = *mut TRUSTED_DOMAIN_FULL_INFORMATION2; -STRUCT!{struct TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES { - SupportedEncryptionTypes: ULONG, -}} -pub type PTRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES = - *mut TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES; -ENUM!{enum LSA_FOREST_TRUST_RECORD_TYPE { - ForestTrustTopLevelName, - ForestTrustTopLevelNameEx, - ForestTrustDomainInfo, - ForestTrustRecordTypeLast, // = ForestTrustDomainInfo, -}} -pub const LSA_FTRECORD_DISABLED_REASONS: ULONG = 0x0000FFFF; -pub const LSA_TLN_DISABLED_NEW: ULONG = 0x00000001; -pub const LSA_TLN_DISABLED_ADMIN: ULONG = 0x00000002; -pub const LSA_TLN_DISABLED_CONFLICT: ULONG = 0x00000004; -pub const LSA_SID_DISABLED_ADMIN: ULONG = 0x00000001; -pub const LSA_SID_DISABLED_CONFLICT: ULONG = 0x00000002; -pub const LSA_NB_DISABLED_ADMIN: ULONG = 0x00000004; -pub const LSA_NB_DISABLED_CONFLICT: ULONG = 0x00000008; -STRUCT!{struct LSA_FOREST_TRUST_DOMAIN_INFO { - Sid: PSID, - DnsName: LSA_UNICODE_STRING, - NetbiosName: LSA_UNICODE_STRING, -}} -pub type PLSA_FOREST_TRUST_DOMAIN_INFO = *mut LSA_FOREST_TRUST_DOMAIN_INFO; -pub const MAX_FOREST_TRUST_BINARY_DATA_SIZE: ULONG = 128 * 1024; -STRUCT!{struct LSA_FOREST_TRUST_BINARY_DATA { - Length: ULONG, - Buffer: PUCHAR, -}} -pub type PLSA_FOREST_TRUST_BINARY_DATA = *mut LSA_FOREST_TRUST_BINARY_DATA; -UNION!{union LSA_FOREST_TRUST_RECORD_ForestTrustData { - [usize; 5], - TopLevelName TopLevelName_mut: LSA_UNICODE_STRING, - DomainInfo DomainInfo_mut: LSA_FOREST_TRUST_DOMAIN_INFO, - Data Data_mut: LSA_FOREST_TRUST_BINARY_DATA, -}} -STRUCT!{struct LSA_FOREST_TRUST_RECORD { - Flags: ULONG, - ForestTrustType: LSA_FOREST_TRUST_RECORD_TYPE, - Time: LARGE_INTEGER, - ForestTrustData: LSA_FOREST_TRUST_RECORD_ForestTrustData, -}} -pub type PLSA_FOREST_TRUST_RECORD = *mut LSA_FOREST_TRUST_RECORD; -pub const MAX_RECORDS_IN_FOREST_TRUST_INFO: ULONG = 4000; -STRUCT!{struct LSA_FOREST_TRUST_INFORMATION { - RecordCount: ULONG, - Entries: *mut PLSA_FOREST_TRUST_RECORD, -}} -pub type PLSA_FOREST_TRUST_INFORMATION = *mut LSA_FOREST_TRUST_INFORMATION; -ENUM!{enum LSA_FOREST_TRUST_COLLISION_RECORD_TYPE { - CollisionTdo, - CollisionXref, - CollisionOther, -}} -STRUCT!{struct LSA_FOREST_TRUST_COLLISION_RECORD { - Index: ULONG, - Type: LSA_FOREST_TRUST_COLLISION_RECORD_TYPE, - Flags: ULONG, - Name: LSA_UNICODE_STRING, -}} -pub type PLSA_FOREST_TRUST_COLLISION_RECORD = *mut LSA_FOREST_TRUST_COLLISION_RECORD; -STRUCT!{struct LSA_FOREST_TRUST_COLLISION_INFORMATION { - RecordCount: ULONG, - Entries: *mut PLSA_FOREST_TRUST_COLLISION_RECORD, -}} -pub type PLSA_FOREST_TRUST_COLLISION_INFORMATION = *mut LSA_FOREST_TRUST_COLLISION_INFORMATION; -pub type LSA_ENUMERATION_HANDLE = ULONG; -pub type PLSA_ENUMERATION_HANDLE = *mut ULONG; -STRUCT!{struct LSA_ENUMERATION_INFORMATION { - Sid: PSID, -}} -pub type PLSA_ENUMERATION_INFORMATION = *mut LSA_ENUMERATION_INFORMATION; -STRUCT!{struct LSA_LAST_INTER_LOGON_INFO { - LastSuccessfulLogon: LARGE_INTEGER, - LastFailedLogon: LARGE_INTEGER, - FailedAttemptCountSinceLastSuccessfulLogon: ULONG, -}} -pub type PLSA_LAST_INTER_LOGON_INFO = *mut LSA_LAST_INTER_LOGON_INFO; -STRUCT!{struct SECURITY_LOGON_SESSION_DATA { - Size: ULONG, - LogonId: LUID, - UserName: LSA_UNICODE_STRING, - LogonDomain: LSA_UNICODE_STRING, - AuthenticationPackage: LSA_UNICODE_STRING, - LogonType: ULONG, - Session: ULONG, - Sid: PSID, - LogonTime: LARGE_INTEGER, - LogonServer: LSA_UNICODE_STRING, - DnsDomainName: LSA_UNICODE_STRING, - Upn: LSA_UNICODE_STRING, - UserFlags: ULONG, - LastLogonInfo: LSA_LAST_INTER_LOGON_INFO, - LogonScript: LSA_UNICODE_STRING, - ProfilePath: LSA_UNICODE_STRING, - HomeDirectory: LSA_UNICODE_STRING, - HomeDirectoryDrive: LSA_UNICODE_STRING, - LogoffTime: LARGE_INTEGER, - KickOffTime: LARGE_INTEGER, - PasswordLastSet: LARGE_INTEGER, - PasswordCanChange: LARGE_INTEGER, - PasswordMustChange: LARGE_INTEGER, -}} -pub type PSECURITY_LOGON_SESSION_DATA = *mut SECURITY_LOGON_SESSION_DATA; -pub const CENTRAL_ACCESS_POLICY_OWNER_RIGHTS_PRESENT_FLAG: ULONG = 0x00000001; -pub const CENTRAL_ACCESS_POLICY_STAGED_OWNER_RIGHTS_PRESENT_FLAG: ULONG = 0x00000100; -pub const CENTRAL_ACCESS_POLICY_STAGED_FLAG: ULONG = 0x00010000; -pub const CENTRAL_ACCESS_POLICY_VALID_FLAG_MASK: ULONG = - CENTRAL_ACCESS_POLICY_OWNER_RIGHTS_PRESENT_FLAG - | CENTRAL_ACCESS_POLICY_STAGED_OWNER_RIGHTS_PRESENT_FLAG - | CENTRAL_ACCESS_POLICY_STAGED_FLAG; -pub const LSASETCAPS_RELOAD_FLAG: ULONG = 0x00000001; -pub const LSASETCAPS_VALID_FLAG_MASK: ULONG = LSASETCAPS_RELOAD_FLAG; -STRUCT!{struct CENTRAL_ACCESS_POLICY_ENTRY { - Name: LSA_UNICODE_STRING, - Description: LSA_UNICODE_STRING, - ChangeId: LSA_UNICODE_STRING, - LengthAppliesTo: ULONG, - AppliesTo: PUCHAR, - LengthSD: ULONG, - SD: PSECURITY_DESCRIPTOR, - LengthStagedSD: ULONG, - StagedSD: PSECURITY_DESCRIPTOR, - Flags: ULONG, -}} -pub type PCENTRAL_ACCESS_POLICY_ENTRY = *mut CENTRAL_ACCESS_POLICY_ENTRY; -pub type PCCENTRAL_ACCESS_POLICY_ENTRY = *const CENTRAL_ACCESS_POLICY_ENTRY; -STRUCT!{struct CENTRAL_ACCESS_POLICY { - CAPID: PSID, - Name: LSA_UNICODE_STRING, - Description: LSA_UNICODE_STRING, - ChangeId: LSA_UNICODE_STRING, - Flags: ULONG, - CAPECount: ULONG, - CAPEs: *mut PCENTRAL_ACCESS_POLICY_ENTRY, -}} -pub type PCENTRAL_ACCESS_POLICY = *mut CENTRAL_ACCESS_POLICY; -pub type PCCENTRAL_ACCESS_POLICY = *const CENTRAL_ACCESS_POLICY; -ENUM!{enum NEGOTIATE_MESSAGES { - NegEnumPackagePrefixes = 0, - NegGetCallerName = 1, - NegTransferCredentials = 2, - NegCallPackageMax, -}} -pub const NEGOTIATE_MAX_PREFIX: usize = 32; -STRUCT!{struct NEGOTIATE_PACKAGE_PREFIX { - PackageId: ULONG_PTR, - PackageDataA: PVOID, - PackageDataW: PVOID, - PrefixLen: ULONG_PTR, - Prefix: [UCHAR; NEGOTIATE_MAX_PREFIX], -}} -pub type PNEGOTIATE_PACKAGE_PREFIX = *mut NEGOTIATE_PACKAGE_PREFIX; -STRUCT!{struct NEGOTIATE_PACKAGE_PREFIXES { - MessageType: ULONG, - PrefixCount: ULONG, - Offset: ULONG, - Pad: ULONG, -}} -pub type PNEGOTIATE_PACKAGE_PREFIXES = *mut NEGOTIATE_PACKAGE_PREFIXES; -STRUCT!{struct NEGOTIATE_CALLER_NAME_REQUEST { - MessageType: ULONG, - LogonId: LUID, -}} -pub type PNEGOTIATE_CALLER_NAME_REQUEST = *mut NEGOTIATE_CALLER_NAME_REQUEST; -STRUCT!{struct NEGOTIATE_CALLER_NAME_RESPONSE { - MessageType: ULONG, - CallerName: PWSTR, -}} -pub type PNEGOTIATE_CALLER_NAME_RESPONSE = *mut NEGOTIATE_CALLER_NAME_RESPONSE; -STRUCT!{struct DOMAIN_PASSWORD_INFORMATION { - MinPasswordLength: USHORT, - PasswordHistoryLength: USHORT, - PasswordProperties: ULONG, - MaxPasswordAge: LARGE_INTEGER, - MinPasswordAge: LARGE_INTEGER, -}} -pub type PDOMAIN_PASSWORD_INFORMATION = *mut DOMAIN_PASSWORD_INFORMATION; -pub const DOMAIN_PASSWORD_COMPLEX: ULONG = 0x00000001; -pub const DOMAIN_PASSWORD_NO_ANON_CHANGE: ULONG = 0x00000002; -pub const DOMAIN_PASSWORD_NO_CLEAR_CHANGE: ULONG = 0x00000004; -pub const DOMAIN_LOCKOUT_ADMINS: ULONG = 0x00000008; -pub const DOMAIN_PASSWORD_STORE_CLEARTEXT: ULONG = 0x00000010; -pub const DOMAIN_REFUSE_PASSWORD_CHANGE: ULONG = 0x00000020; -pub const DOMAIN_NO_LM_OWF_CHANGE: ULONG = 0x00000040; -FN!{stdcall PSAM_PASSWORD_NOTIFICATION_ROUTINE( - UserName: PUNICODE_STRING, - RelativeId: ULONG, - NewPassword: PUNICODE_STRING, -) -> NTSTATUS} -FN!{stdcall PSAM_INIT_NOTIFICATION_ROUTINE() -> BOOLEAN} -FN!{stdcall PSAM_PASSWORD_FILTER_ROUTINE( - AccountName: PUNICODE_STRING, - FullName: PUNICODE_STRING, - Password: PUNICODE_STRING, - SetOperation: BOOLEAN, -) -> BOOLEAN} -ENUM!{enum MSV1_0_LOGON_SUBMIT_TYPE { - MsV1_0InteractiveLogon = 2, - MsV1_0Lm20Logon, - MsV1_0NetworkLogon, - MsV1_0SubAuthLogon, - MsV1_0WorkstationUnlockLogon = 7, - MsV1_0S4ULogon = 12, - MsV1_0VirtualLogon = 82, - MsV1_0NoElevationLogon = 83, - MsV1_0LuidLogon = 84, -}} -pub type PMSV1_0_LOGON_SUBMIT_TYPE = *mut MSV1_0_LOGON_SUBMIT_TYPE; -ENUM!{enum MSV1_0_PROFILE_BUFFER_TYPE { - MsV1_0InteractiveProfile = 2, - MsV1_0Lm20LogonProfile, - MsV1_0SmartCardProfile, -}} -pub type PMSV1_0_PROFILE_BUFFER_TYPE = *mut MSV1_0_PROFILE_BUFFER_TYPE; -STRUCT!{struct MSV1_0_INTERACTIVE_LOGON { - MessageType: MSV1_0_LOGON_SUBMIT_TYPE, - LogonDomainName: UNICODE_STRING, - UserName: UNICODE_STRING, - Password: UNICODE_STRING, -}} -pub type PMSV1_0_INTERACTIVE_LOGON = *mut MSV1_0_INTERACTIVE_LOGON; -STRUCT!{struct MSV1_0_INTERACTIVE_PROFILE { - MessageType: MSV1_0_PROFILE_BUFFER_TYPE, - LogonCount: USHORT, - BadPasswordCount: USHORT, - LogonTime: LARGE_INTEGER, - LogoffTime: LARGE_INTEGER, - KickOffTime: LARGE_INTEGER, - PasswordLastSet: LARGE_INTEGER, - PasswordCanChange: LARGE_INTEGER, - PasswordMustChange: LARGE_INTEGER, - LogonScript: UNICODE_STRING, - HomeDirectory: UNICODE_STRING, - FullName: UNICODE_STRING, - ProfilePath: UNICODE_STRING, - HomeDirectoryDrive: UNICODE_STRING, - LogonServer: UNICODE_STRING, - UserFlags: ULONG, -}} -pub type PMSV1_0_INTERACTIVE_PROFILE = *mut MSV1_0_INTERACTIVE_PROFILE; -pub const MSV1_0_CHALLENGE_LENGTH: usize = 8; -pub const MSV1_0_USER_SESSION_KEY_LENGTH: usize = 16; -pub const MSV1_0_LANMAN_SESSION_KEY_LENGTH: usize = 8; -pub const MSV1_0_CLEARTEXT_PASSWORD_ALLOWED: ULONG = 0x02; -pub const MSV1_0_UPDATE_LOGON_STATISTICS: ULONG = 0x04; -pub const MSV1_0_RETURN_USER_PARAMETERS: ULONG = 0x08; -pub const MSV1_0_DONT_TRY_GUEST_ACCOUNT: ULONG = 0x10; -pub const MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT: ULONG = 0x20; -pub const MSV1_0_RETURN_PASSWORD_EXPIRY: ULONG = 0x40; -pub const MSV1_0_USE_CLIENT_CHALLENGE: ULONG = 0x80; -pub const MSV1_0_TRY_GUEST_ACCOUNT_ONLY: ULONG = 0x100; -pub const MSV1_0_RETURN_PROFILE_PATH: ULONG = 0x200; -pub const MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY: ULONG = 0x400; -pub const MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT: ULONG = 0x800; -pub const MSV1_0_DISABLE_PERSONAL_FALLBACK: ULONG = 0x00001000; -pub const MSV1_0_ALLOW_FORCE_GUEST: ULONG = 0x00002000; -pub const MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED: ULONG = 0x00004000; -pub const MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY: ULONG = 0x00008000; -pub const MSV1_0_SUBAUTHENTICATION_DLL_EX: ULONG = 0x00100000; -pub const MSV1_0_ALLOW_MSVCHAPV2: ULONG = 0x00010000; -pub const MSV1_0_S4U2SELF: ULONG = 0x00020000; -pub const MSV1_0_CHECK_LOGONHOURS_FOR_S4U: ULONG = 0x00040000; -pub const MSV1_0_INTERNET_DOMAIN: ULONG = 0x00080000; -pub const MSV1_0_SUBAUTHENTICATION_DLL: ULONG = 0xFF000000; -pub const MSV1_0_SUBAUTHENTICATION_DLL_SHIFT: ULONG = 24; -pub const MSV1_0_MNS_LOGON: ULONG = 0x01000000; -pub const MSV1_0_SUBAUTHENTICATION_DLL_RAS: ULONG = 2; -pub const MSV1_0_SUBAUTHENTICATION_DLL_IIS: ULONG = 132; -STRUCT!{struct MSV1_0_LM20_LOGON { - MessageType: MSV1_0_LOGON_SUBMIT_TYPE, - LogonDomainName: UNICODE_STRING, - UserName: UNICODE_STRING, - Workstation: UNICODE_STRING, - ChallengeToClient: [UCHAR; MSV1_0_CHALLENGE_LENGTH], - CaseSensitiveChallengeResponse: STRING, - CaseInsensitiveChallengeResponse: STRING, - ParameterControl: ULONG, -}} -pub type PMSV1_0_LM20_LOGON = *mut MSV1_0_LM20_LOGON; -STRUCT!{struct MSV1_0_SUBAUTH_LOGON { - MessageType: MSV1_0_LOGON_SUBMIT_TYPE, - LogonDomainName: UNICODE_STRING, - UserName: UNICODE_STRING, - Workstation: UNICODE_STRING, - ChallengeToClient: [UCHAR; MSV1_0_CHALLENGE_LENGTH], - AuthenticationInfo1: STRING, - AuthenticationInfo2: STRING, - ParameterControl: ULONG, - SubAuthPackageId: ULONG, -}} -pub type PMSV1_0_SUBAUTH_LOGON = *mut MSV1_0_SUBAUTH_LOGON; -STRUCT!{struct MSV1_0_S4U_LOGON { - MessageType: MSV1_0_LOGON_SUBMIT_TYPE, - MSV1_0_LOGON_SUBMIT_TYPE: ULONG, - UserPrincipalName: UNICODE_STRING, - DomainName: UNICODE_STRING, -}} -pub type PMSV1_0_S4U_LOGON = *mut MSV1_0_S4U_LOGON; -pub const LOGON_GUEST: ULONG = 0x01; -pub const LOGON_NOENCRYPTION: ULONG = 0x02; -pub const LOGON_CACHED_ACCOUNT: ULONG = 0x04; -pub const LOGON_USED_LM_PASSWORD: ULONG = 0x08; -pub const LOGON_EXTRA_SIDS: ULONG = 0x20; -pub const LOGON_SUBAUTH_SESSION_KEY: ULONG = 0x40; -pub const LOGON_SERVER_TRUST_ACCOUNT: ULONG = 0x80; -pub const LOGON_NTLMV2_ENABLED: ULONG = 0x100; -pub const LOGON_RESOURCE_GROUPS: ULONG = 0x200; -pub const LOGON_PROFILE_PATH_RETURNED: ULONG = 0x400; -pub const LOGON_NT_V2: ULONG = 0x800; -pub const LOGON_LM_V2: ULONG = 0x1000; -pub const LOGON_NTLM_V2: ULONG = 0x2000; -pub const LOGON_OPTIMIZED: ULONG = 0x4000; -pub const LOGON_WINLOGON: ULONG = 0x8000; -pub const LOGON_PKINIT: ULONG = 0x10000; -pub const LOGON_NO_OPTIMIZED: ULONG = 0x20000; -pub const LOGON_NO_ELEVATION: ULONG = 0x40000; -pub const LOGON_MANAGED_SERVICE: ULONG = 0x80000; -pub const LOGON_GRACE_LOGON: ULONG = 0x01000000; -STRUCT!{struct MSV1_0_LM20_LOGON_PROFILE { - MessageType: MSV1_0_PROFILE_BUFFER_TYPE, - KickOffTime: LARGE_INTEGER, - LogoffTime: LARGE_INTEGER, - UserFlags: ULONG, - UserSessionKey: [UCHAR; MSV1_0_USER_SESSION_KEY_LENGTH], - LogonDomainName: UNICODE_STRING, - LanmanSessionKey: [UCHAR; MSV1_0_LANMAN_SESSION_KEY_LENGTH], - LogonServer: UNICODE_STRING, - UserParameters: UNICODE_STRING, -}} -pub type PMSV1_0_LM20_LOGON_PROFILE = *mut MSV1_0_LM20_LOGON_PROFILE; -pub const MSV1_0_OWF_PASSWORD_LENGTH: usize = 16; -STRUCT!{struct MSV1_0_SUPPLEMENTAL_CREDENTIAL { - Version: ULONG, - Flags: ULONG, - LmPassword: [UCHAR; MSV1_0_OWF_PASSWORD_LENGTH], - NtPassword: [UCHAR; MSV1_0_OWF_PASSWORD_LENGTH], -}} -pub type PMSV1_0_SUPPLEMENTAL_CREDENTIAL = *mut MSV1_0_SUPPLEMENTAL_CREDENTIAL; -pub const MSV1_0_NTLM3_RESPONSE_LENGTH: usize = 16; -pub const MSV1_0_NTLM3_OWF_LENGTH: usize = 16; -STRUCT!{struct MSV1_0_NTLM3_RESPONSE { - Response: [UCHAR; MSV1_0_NTLM3_RESPONSE_LENGTH], - RespType: UCHAR, - HiRespType: UCHAR, - Flags: USHORT, - MsgWord: ULONG, - TimeStamp: ULONGLONG, - ChallengeFromClient: [UCHAR; MSV1_0_CHALLENGE_LENGTH], - AvPairsOff: ULONG, - Buffer: [UCHAR; 1], -}} -pub type PMSV1_0_NTLM3_RESPONSE = *mut MSV1_0_NTLM3_RESPONSE; -ENUM!{enum MSV1_0_AVID { - MsvAvEOL, - MsvAvNbComputerName, - MsvAvNbDomainName, - MsvAvDnsComputerName, - MsvAvDnsDomainName, - MsvAvDnsTreeName, - MsvAvFlags, - MsvAvTimestamp, - MsvAvRestrictions, - MsvAvTargetName, - MsvAvChannelBindings, -}} -STRUCT!{struct MSV1_0_AV_PAIR { - AvId: USHORT, - AvLen: USHORT, -}} -pub type PMSV1_0_AV_PAIR = *mut MSV1_0_AV_PAIR; -ENUM!{enum MSV1_0_PROTOCOL_MESSAGE_TYPE { - MsV1_0Lm20ChallengeRequest = 0, - MsV1_0Lm20GetChallengeResponse, - MsV1_0EnumerateUsers, - MsV1_0GetUserInfo, - MsV1_0ReLogonUsers, - MsV1_0ChangePassword, - MsV1_0ChangeCachedPassword, - MsV1_0GenericPassthrough, - MsV1_0CacheLogon, - MsV1_0SubAuth, - MsV1_0DeriveCredential, - MsV1_0CacheLookup, - MsV1_0SetProcessOption, - MsV1_0ConfigLocalAliases, - MsV1_0ClearCachedCredentials, - MsV1_0LookupToken, - MsV1_0ValidateAuth, - MsV1_0CacheLookupEx, - MsV1_0GetCredentialKey, - MsV1_0SetThreadOption, -}} -pub type PMSV1_0_PROTOCOL_MESSAGE_TYPE = *mut MSV1_0_PROTOCOL_MESSAGE_TYPE; -STRUCT!{struct MSV1_0_CHANGEPASSWORD_REQUEST { - MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE, - DomainName: UNICODE_STRING, - AccountName: UNICODE_STRING, - OldPassword: UNICODE_STRING, - NewPassword: UNICODE_STRING, - Impersonating: BOOLEAN, -}} -pub type PMSV1_0_CHANGEPASSWORD_REQUEST = *mut MSV1_0_CHANGEPASSWORD_REQUEST; -STRUCT!{struct MSV1_0_CHANGEPASSWORD_RESPONSE { - MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE, - PasswordInfoValid: BOOLEAN, - DomainPasswordInfo: DOMAIN_PASSWORD_INFORMATION, -}} -pub type PMSV1_0_CHANGEPASSWORD_RESPONSE = *mut MSV1_0_CHANGEPASSWORD_RESPONSE; -STRUCT!{struct MSV1_0_PASSTHROUGH_REQUEST { - MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE, - DomainName: UNICODE_STRING, - PackageName: UNICODE_STRING, - DataLength: ULONG, - LogonData: PUCHAR, - Pad: ULONG, -}} -pub type PMSV1_0_PASSTHROUGH_REQUEST = *mut MSV1_0_PASSTHROUGH_REQUEST; -STRUCT!{struct MSV1_0_PASSTHROUGH_RESPONSE { - MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE, - Pad: ULONG, - DataLength: ULONG, - ValidationData: PUCHAR, -}} -pub type PMSV1_0_PASSTHROUGH_RESPONSE = *mut MSV1_0_PASSTHROUGH_RESPONSE; -STRUCT!{struct MSV1_0_SUBAUTH_REQUEST { - MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE, - SubAuthPackageId: ULONG, - SubAuthInfoLength: ULONG, - SubAuthSubmitBuffer: PUCHAR, -}} -pub type PMSV1_0_SUBAUTH_REQUEST = *mut MSV1_0_SUBAUTH_REQUEST; -STRUCT!{struct MSV1_0_SUBAUTH_RESPONSE { - MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE, - SubAuthInfoLength: ULONG, - SubAuthReturnBuffer: PUCHAR, -}} -pub type PMSV1_0_SUBAUTH_RESPONSE = *mut MSV1_0_SUBAUTH_RESPONSE; -pub use self::SystemFunction036 as RtlGenRandom; -pub use self::SystemFunction040 as RtlEncryptMemory; -pub use self::SystemFunction041 as RtlDecryptMemory; -extern "system" { - pub fn SystemFunction036( - RandomBuffer: PVOID, - RandomBufferLength: ULONG, - ) -> BOOLEAN; -} -pub const RTL_ENCRYPT_MEMORY_SIZE: ULONG = 8; -pub const RTL_ENCRYPT_OPTION_CROSS_PROCESS: ULONG = 0x01; -pub const RTL_ENCRYPT_OPTION_SAME_LOGON: ULONG = 0x02; -extern "system" { - pub fn SystemFunction040( - Memory: PVOID, - MemorySize: ULONG, - OptionFlags: ULONG, - ) -> NTSTATUS; - pub fn SystemFunction041( - Memory: PVOID, - MemorySize: ULONG, - OptionFlags: ULONG, - ) -> NTSTATUS; -} -pub const KERBEROS_VERSION: ULONG = 5; -pub const KERBEROS_REVISION: ULONG = 6; -pub const KERB_ETYPE_NULL: LONG = 0; -pub const KERB_ETYPE_DES_CBC_CRC: LONG = 1; -pub const KERB_ETYPE_DES_CBC_MD4: LONG = 2; -pub const KERB_ETYPE_DES_CBC_MD5: LONG = 3; -pub const KERB_ETYPE_AES128_CTS_HMAC_SHA1_96: LONG = 17; -pub const KERB_ETYPE_AES256_CTS_HMAC_SHA1_96: LONG = 18; -pub const KERB_ETYPE_RC4_MD4: LONG = -128; -pub const KERB_ETYPE_RC4_PLAIN2: LONG = -129; -pub const KERB_ETYPE_RC4_LM: LONG = -130; -pub const KERB_ETYPE_RC4_SHA: LONG = -131; -pub const KERB_ETYPE_DES_PLAIN: LONG = -132; -pub const KERB_ETYPE_RC4_HMAC_OLD: LONG = -133; -pub const KERB_ETYPE_RC4_PLAIN_OLD: LONG = -134; -pub const KERB_ETYPE_RC4_HMAC_OLD_EXP: LONG = -135; -pub const KERB_ETYPE_RC4_PLAIN_OLD_EXP: LONG = -136; -pub const KERB_ETYPE_RC4_PLAIN: LONG = -140; -pub const KERB_ETYPE_RC4_PLAIN_EXP: LONG = -141; -pub const KERB_ETYPE_AES128_CTS_HMAC_SHA1_96_PLAIN: LONG = -148; -pub const KERB_ETYPE_AES256_CTS_HMAC_SHA1_96_PLAIN: LONG = -149; -pub const KERB_ETYPE_DSA_SHA1_CMS: LONG = 9; -pub const KERB_ETYPE_RSA_MD5_CMS: LONG = 10; -pub const KERB_ETYPE_RSA_SHA1_CMS: LONG = 11; -pub const KERB_ETYPE_RC2_CBC_ENV: LONG = 12; -pub const KERB_ETYPE_RSA_ENV: LONG = 13; -pub const KERB_ETYPE_RSA_ES_OEAP_ENV: LONG = 14; -pub const KERB_ETYPE_DES_EDE3_CBC_ENV: LONG = 15; -pub const KERB_ETYPE_DSA_SIGN: LONG = 8; -pub const KERB_ETYPE_RSA_PRIV: LONG = 9; -pub const KERB_ETYPE_RSA_PUB: LONG = 10; -pub const KERB_ETYPE_RSA_PUB_MD5: LONG = 11; -pub const KERB_ETYPE_RSA_PUB_SHA1: LONG = 12; -pub const KERB_ETYPE_PKCS7_PUB: LONG = 13; -pub const KERB_ETYPE_DES3_CBC_MD5: LONG = 5; -pub const KERB_ETYPE_DES3_CBC_SHA1: LONG = 7; -pub const KERB_ETYPE_DES3_CBC_SHA1_KD: LONG = 16; -pub const KERB_ETYPE_DES_CBC_MD5_NT: LONG = 20; -pub const KERB_ETYPE_RC4_HMAC_NT: LONG = 23; -pub const KERB_ETYPE_RC4_HMAC_NT_EXP: LONG = 24; -pub const KERB_CHECKSUM_NONE: LONG = 0; -pub const KERB_CHECKSUM_CRC32: LONG = 1; -pub const KERB_CHECKSUM_MD4: LONG = 2; -pub const KERB_CHECKSUM_KRB_DES_MAC: LONG = 4; -pub const KERB_CHECKSUM_KRB_DES_MAC_K: LONG = 5; -pub const KERB_CHECKSUM_MD5: LONG = 7; -pub const KERB_CHECKSUM_MD5_DES: LONG = 8; -pub const KERB_CHECKSUM_SHA1_NEW: LONG = 14; -pub const KERB_CHECKSUM_HMAC_SHA1_96_AES128: LONG = 15; -pub const KERB_CHECKSUM_HMAC_SHA1_96_AES256: LONG = 16; -pub const KERB_CHECKSUM_LM: LONG = -130; -pub const KERB_CHECKSUM_SHA1: LONG = -131; -pub const KERB_CHECKSUM_REAL_CRC32: LONG = -132; -pub const KERB_CHECKSUM_DES_MAC: LONG = -133; -pub const KERB_CHECKSUM_DES_MAC_MD5: LONG = -134; -pub const KERB_CHECKSUM_MD25: LONG = -135; -pub const KERB_CHECKSUM_RC4_MD5: LONG = -136; -pub const KERB_CHECKSUM_MD5_HMAC: LONG = -137; -pub const KERB_CHECKSUM_HMAC_MD5: LONG = -138; -pub const KERB_CHECKSUM_HMAC_SHA1_96_AES128_Ki: LONG = -150; -pub const KERB_CHECKSUM_HMAC_SHA1_96_AES256_Ki: LONG = -151; -pub const KERB_TICKET_FLAGS_reserved: ULONG = 0x80000000; -pub const KERB_TICKET_FLAGS_forwardable: ULONG = 0x40000000; -pub const KERB_TICKET_FLAGS_forwarded: ULONG = 0x20000000; -pub const KERB_TICKET_FLAGS_proxiable: ULONG = 0x10000000; -pub const KERB_TICKET_FLAGS_proxy: ULONG = 0x08000000; -pub const KERB_TICKET_FLAGS_may_postdate: ULONG = 0x04000000; -pub const KERB_TICKET_FLAGS_postdated: ULONG = 0x02000000; -pub const KERB_TICKET_FLAGS_invalid: ULONG = 0x01000000; -pub const KERB_TICKET_FLAGS_renewable: ULONG = 0x00800000; -pub const KERB_TICKET_FLAGS_initial: ULONG = 0x00400000; -pub const KERB_TICKET_FLAGS_pre_authent: ULONG = 0x00200000; -pub const KERB_TICKET_FLAGS_hw_authent: ULONG = 0x00100000; -pub const KERB_TICKET_FLAGS_ok_as_delegate: ULONG = 0x00040000; -pub const KERB_TICKET_FLAGS_name_canonicalize: ULONG = 0x00010000; -pub const KERB_TICKET_FLAGS_cname_in_pa_data: ULONG = 0x00040000; -pub const KERB_TICKET_FLAGS_enc_pa_rep: ULONG = 0x00010000; -pub const KERB_TICKET_FLAGS_reserved1: ULONG = 0x00000001; -pub const KRB_NT_UNKNOWN: LONG = 0; -pub const KRB_NT_PRINCIPAL: LONG = 1; -pub const KRB_NT_PRINCIPAL_AND_ID: LONG = -131; -pub const KRB_NT_SRV_INST: LONG = 2; -pub const KRB_NT_SRV_INST_AND_ID: LONG = -132; -pub const KRB_NT_SRV_HST: LONG = 3; -pub const KRB_NT_SRV_XHST: LONG = 4; -pub const KRB_NT_UID: LONG = 5; -pub const KRB_NT_ENTERPRISE_PRINCIPAL: LONG = 10; -pub const KRB_NT_WELLKNOWN: LONG = 11; -pub const KRB_NT_ENT_PRINCIPAL_AND_ID: LONG = -130; -pub const KRB_NT_MS_PRINCIPAL: LONG = -128; -pub const KRB_NT_MS_PRINCIPAL_AND_ID: LONG = -129; -pub const KRB_NT_MS_BRANCH_ID: LONG = -133; -pub const KRB_NT_X500_PRINCIPAL: LONG = 6; -pub const KERB_WRAP_NO_ENCRYPT: ULONG = 0x80000001; -ENUM!{enum KERB_LOGON_SUBMIT_TYPE { - KerbInteractiveLogon = 2, - KerbSmartCardLogon = 6, - KerbWorkstationUnlockLogon = 7, - KerbSmartCardUnlockLogon = 8, - KerbProxyLogon = 9, - KerbTicketLogon = 10, - KerbTicketUnlockLogon = 11, - KerbS4ULogon = 12, - KerbCertificateLogon = 13, - KerbCertificateS4ULogon = 14, - KerbCertificateUnlockLogon = 15, - KerbNoElevationLogon = 83, - KerbLuidLogon = 84, -}} -pub type PKERB_LOGON_SUBMIT_TYPE = *mut KERB_LOGON_SUBMIT_TYPE; -STRUCT!{struct KERB_INTERACTIVE_LOGON { - MessageType: KERB_LOGON_SUBMIT_TYPE, - LogonDomainName: UNICODE_STRING, - UserName: UNICODE_STRING, - Password: UNICODE_STRING, -}} -pub type PKERB_INTERACTIVE_LOGON = *mut KERB_INTERACTIVE_LOGON; -STRUCT!{struct KERB_INTERACTIVE_UNLOCK_LOGON { - Logon: KERB_INTERACTIVE_LOGON, - LogonId: LUID, -}} -pub type PKERB_INTERACTIVE_UNLOCK_LOGON = *mut KERB_INTERACTIVE_UNLOCK_LOGON; -STRUCT!{struct KERB_SMART_CARD_LOGON { - MessageType: KERB_LOGON_SUBMIT_TYPE, - Pin: UNICODE_STRING, - CspDataLength: ULONG, - CspData: PUCHAR, -}} -pub type PKERB_SMART_CARD_LOGON = *mut KERB_SMART_CARD_LOGON; -STRUCT!{struct KERB_SMART_CARD_UNLOCK_LOGON { - Logon: KERB_SMART_CARD_LOGON, - LogonId: LUID, -}} -pub type PKERB_SMART_CARD_UNLOCK_LOGON = *mut KERB_SMART_CARD_UNLOCK_LOGON; -pub const KERB_CERTIFICATE_LOGON_FLAG_CHECK_DUPLICATES: ULONG = 0x1; -pub const KERB_CERTIFICATE_LOGON_FLAG_USE_CERTIFICATE_INFO: ULONG = 0x2; -STRUCT!{struct KERB_CERTIFICATE_LOGON { - MessageType: KERB_LOGON_SUBMIT_TYPE, - DomainName: UNICODE_STRING, - UserName: UNICODE_STRING, - Pin: UNICODE_STRING, - Flags: ULONG, - CspDataLength: ULONG, - CspData: PUCHAR, -}} -pub type PKERB_CERTIFICATE_LOGON = *mut KERB_CERTIFICATE_LOGON; -STRUCT!{struct KERB_CERTIFICATE_UNLOCK_LOGON { - Logon: KERB_CERTIFICATE_LOGON, - LogonId: LUID, -}} -pub type PKERB_CERTIFICATE_UNLOCK_LOGON = *mut KERB_CERTIFICATE_UNLOCK_LOGON; -pub const KERB_CERTIFICATE_S4U_LOGON_FLAG_CHECK_DUPLICATES: ULONG = 0x1; -pub const KERB_CERTIFICATE_S4U_LOGON_FLAG_CHECK_LOGONHOURS: ULONG = 0x2; -pub const KERB_CERTIFICATE_S4U_LOGON_FLAG_FAIL_IF_NT_AUTH_POLICY_REQUIRED: ULONG = 0x4; -pub const KERB_CERTIFICATE_S4U_LOGON_FLAG_IDENTIFY: ULONG = 0x8; -STRUCT!{struct KERB_CERTIFICATE_S4U_LOGON { - MessageType: KERB_LOGON_SUBMIT_TYPE, - Flags: ULONG, - UserPrincipalName: UNICODE_STRING, - DomainName: UNICODE_STRING, - CertificateLength: ULONG, - Certificate: PUCHAR, -}} -pub type PKERB_CERTIFICATE_S4U_LOGON = *mut KERB_CERTIFICATE_S4U_LOGON; -STRUCT!{struct KERB_TICKET_LOGON { - MessageType: KERB_LOGON_SUBMIT_TYPE, - Flags: ULONG, - ServiceTicketLength: ULONG, - TicketGrantingTicketLength: ULONG, - ServiceTicket: PUCHAR, - TicketGrantingTicket: PUCHAR, -}} -pub type PKERB_TICKET_LOGON = *mut KERB_TICKET_LOGON; -STRUCT!{struct KERB_TICKET_UNLOCK_LOGON { - Logon: KERB_TICKET_LOGON, - LogonId: LUID, -}} -pub type PKERB_TICKET_UNLOCK_LOGON = *mut KERB_TICKET_UNLOCK_LOGON; -pub const KERB_S4U_LOGON_FLAG_CHECK_LOGONHOURS: ULONG = 0x2; -pub const KERB_S4U_LOGON_FLAG_IDENTIFY: ULONG = 0x8; -STRUCT!{struct KERB_S4U_LOGON { - MessageType: KERB_LOGON_SUBMIT_TYPE, - Flags: ULONG, - ClientUpn: UNICODE_STRING, - ClientRealm: UNICODE_STRING, -}} -pub type PKERB_S4U_LOGON = *mut KERB_S4U_LOGON; -ENUM!{enum KERB_PROFILE_BUFFER_TYPE { - KerbInteractiveProfile = 2, - KerbSmartCardProfile = 4, - KerbTicketProfile = 6, -}} -pub type PKERB_PROFILE_BUFFER_TYPE = *mut KERB_PROFILE_BUFFER_TYPE; -STRUCT!{struct KERB_INTERACTIVE_PROFILE { - MessageType: KERB_PROFILE_BUFFER_TYPE, - LogonCount: USHORT, - BadPasswordCount: USHORT, - LogonTime: LARGE_INTEGER, - LogoffTime: LARGE_INTEGER, - KickOffTime: LARGE_INTEGER, - PasswordLastSet: LARGE_INTEGER, - PasswordCanChange: LARGE_INTEGER, - PasswordMustChange: LARGE_INTEGER, - LogonScript: UNICODE_STRING, - HomeDirectory: UNICODE_STRING, - FullName: UNICODE_STRING, - ProfilePath: UNICODE_STRING, - HomeDirectoryDrive: UNICODE_STRING, - LogonServer: UNICODE_STRING, - UserFlags: ULONG, -}} -pub type PKERB_INTERACTIVE_PROFILE = *mut KERB_INTERACTIVE_PROFILE; -STRUCT!{struct KERB_SMART_CARD_PROFILE { - Profile: KERB_INTERACTIVE_PROFILE, - CertificateSize: ULONG, - CertificateData: PUCHAR, -}} -pub type PKERB_SMART_CARD_PROFILE = *mut KERB_SMART_CARD_PROFILE; -STRUCT!{struct KERB_CRYPTO_KEY { - KeyType: LONG, - Length: ULONG, - Value: PUCHAR, -}} -pub type PKERB_CRYPTO_KEY = *mut KERB_CRYPTO_KEY; -STRUCT!{struct KERB_CRYPTO_KEY32 { - KeyType: LONG, - Length: ULONG, - Offset: ULONG, -}} -pub type PKERB_CRYPTO_KEY32 = *mut KERB_CRYPTO_KEY32; -STRUCT!{struct KERB_TICKET_PROFILE { - Profile: KERB_INTERACTIVE_PROFILE, - SessionKey: KERB_CRYPTO_KEY, -}} -pub type PKERB_TICKET_PROFILE = *mut KERB_TICKET_PROFILE; -ENUM!{enum KERB_PROTOCOL_MESSAGE_TYPE { - KerbDebugRequestMessage = 0, - KerbQueryTicketCacheMessage, - KerbChangeMachinePasswordMessage, - KerbVerifyPacMessage, - KerbRetrieveTicketMessage, - KerbUpdateAddressesMessage, - KerbPurgeTicketCacheMessage, - KerbChangePasswordMessage, - KerbRetrieveEncodedTicketMessage, - KerbDecryptDataMessage, - KerbAddBindingCacheEntryMessage, - KerbSetPasswordMessage, - KerbSetPasswordExMessage, - KerbVerifyCredentialsMessage, - KerbQueryTicketCacheExMessage, - KerbPurgeTicketCacheExMessage, - KerbRefreshSmartcardCredentialsMessage, - KerbAddExtraCredentialsMessage, - KerbQuerySupplementalCredentialsMessage, - KerbTransferCredentialsMessage, - KerbQueryTicketCacheEx2Message, - KerbSubmitTicketMessage, - KerbAddExtraCredentialsExMessage, - KerbQueryKdcProxyCacheMessage, - KerbPurgeKdcProxyCacheMessage, - KerbQueryTicketCacheEx3Message, - KerbCleanupMachinePkinitCredsMessage, - KerbAddBindingCacheEntryExMessage, - KerbQueryBindingCacheMessage, - KerbPurgeBindingCacheMessage, - KerbPinKdcMessage, - KerbUnpinAllKdcsMessage, - KerbQueryDomainExtendedPoliciesMessage, - KerbQueryS4U2ProxyCacheMessage, -}} -pub type PKERB_PROTOCOL_MESSAGE_TYPE = *mut KERB_PROTOCOL_MESSAGE_TYPE; -STRUCT!{struct KERB_QUERY_TKT_CACHE_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - LogonId: LUID, -}} -pub type PKERB_QUERY_TKT_CACHE_REQUEST = *mut KERB_QUERY_TKT_CACHE_REQUEST; -STRUCT!{struct KERB_TICKET_CACHE_INFO { - ServerName: UNICODE_STRING, - RealmName: UNICODE_STRING, - StartTime: LARGE_INTEGER, - EndTime: LARGE_INTEGER, - RenewTime: LARGE_INTEGER, - EncryptionType: LONG, - TicketFlags: ULONG, -}} -pub type PKERB_TICKET_CACHE_INFO = *mut KERB_TICKET_CACHE_INFO; -STRUCT!{struct KERB_TICKET_CACHE_INFO_EX { - ClientName: UNICODE_STRING, - ClientRealm: UNICODE_STRING, - ServerName: UNICODE_STRING, - ServerRealm: UNICODE_STRING, - StartTime: LARGE_INTEGER, - EndTime: LARGE_INTEGER, - RenewTime: LARGE_INTEGER, - EncryptionType: LONG, - TicketFlags: ULONG, -}} -pub type PKERB_TICKET_CACHE_INFO_EX = *mut KERB_TICKET_CACHE_INFO_EX; -STRUCT!{struct KERB_TICKET_CACHE_INFO_EX2 { - ClientName: UNICODE_STRING, - ClientRealm: UNICODE_STRING, - ServerName: UNICODE_STRING, - ServerRealm: UNICODE_STRING, - StartTime: LARGE_INTEGER, - EndTime: LARGE_INTEGER, - RenewTime: LARGE_INTEGER, - EncryptionType: LONG, - TicketFlags: ULONG, - SessionKeyType: ULONG, - BranchId: ULONG, -}} -pub type PKERB_TICKET_CACHE_INFO_EX2 = *mut KERB_TICKET_CACHE_INFO_EX2; -STRUCT!{struct KERB_TICKET_CACHE_INFO_EX3 { - ClientName: UNICODE_STRING, - ClientRealm: UNICODE_STRING, - ServerName: UNICODE_STRING, - ServerRealm: UNICODE_STRING, - StartTime: LARGE_INTEGER, - EndTime: LARGE_INTEGER, - RenewTime: LARGE_INTEGER, - EncryptionType: LONG, - TicketFlags: ULONG, - SessionKeyType: ULONG, - BranchId: ULONG, - CacheFlags: ULONG, - KdcCalled: UNICODE_STRING, -}} -pub type PKERB_TICKET_CACHE_INFO_EX3 = *mut KERB_TICKET_CACHE_INFO_EX3; -STRUCT!{struct KERB_QUERY_TKT_CACHE_RESPONSE { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - CountOfTickets: ULONG, - Tickets: [KERB_TICKET_CACHE_INFO; ANYSIZE_ARRAY], -}} -pub type PKERB_QUERY_TKT_CACHE_RESPONSE = *mut KERB_QUERY_TKT_CACHE_RESPONSE; -STRUCT!{struct KERB_QUERY_TKT_CACHE_EX_RESPONSE { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - CountOfTickets: ULONG, - Tickets: [KERB_TICKET_CACHE_INFO_EX; ANYSIZE_ARRAY], -}} -pub type PKERB_QUERY_TKT_CACHE_EX_RESPONSE = *mut KERB_QUERY_TKT_CACHE_EX_RESPONSE; -STRUCT!{struct KERB_QUERY_TKT_CACHE_EX2_RESPONSE { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - CountOfTickets: ULONG, - Tickets: [KERB_TICKET_CACHE_INFO_EX2; ANYSIZE_ARRAY], -}} -pub type PKERB_QUERY_TKT_CACHE_EX2_RESPONSE = *mut KERB_QUERY_TKT_CACHE_EX2_RESPONSE; -STRUCT!{struct KERB_QUERY_TKT_CACHE_EX3_RESPONSE { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - CountOfTickets: ULONG, - Tickets: [KERB_TICKET_CACHE_INFO_EX3; ANYSIZE_ARRAY], -}} -pub type PKERB_QUERY_TKT_CACHE_EX3_RESPONSE = *mut KERB_QUERY_TKT_CACHE_EX3_RESPONSE; -pub const KERB_USE_DEFAULT_TICKET_FLAGS: ULONG = 0x0; -pub const KERB_RETRIEVE_TICKET_DEFAULT: ULONG = 0x0; -pub const KERB_RETRIEVE_TICKET_DONT_USE_CACHE: ULONG = 0x1; -pub const KERB_RETRIEVE_TICKET_USE_CACHE_ONLY: ULONG = 0x2; -pub const KERB_RETRIEVE_TICKET_USE_CREDHANDLE: ULONG = 0x4; -pub const KERB_RETRIEVE_TICKET_AS_KERB_CRED: ULONG = 0x8; -pub const KERB_RETRIEVE_TICKET_WITH_SEC_CRED: ULONG = 0x10; -pub const KERB_RETRIEVE_TICKET_CACHE_TICKET: ULONG = 0x20; -pub const KERB_RETRIEVE_TICKET_MAX_LIFETIME: ULONG = 0x40; -STRUCT!{struct KERB_AUTH_DATA { - Type: ULONG, - Length: ULONG, - Data: PUCHAR, -}} -pub type PKERB_AUTH_DATA = *mut KERB_AUTH_DATA; -STRUCT!{struct KERB_NET_ADDRESS { - Family: ULONG, - Length: ULONG, - Address: PUCHAR, -}} -pub type PKERB_NET_ADDRESS = *mut KERB_NET_ADDRESS; -STRUCT!{struct KERB_NET_ADDRESSES { - Number: ULONG, - Addresses: [KERB_NET_ADDRESS; ANYSIZE_ARRAY], -}} -pub type PKERB_NET_ADDRESSES = *mut KERB_NET_ADDRESSES; -STRUCT!{struct KERB_EXTERNAL_NAME { - NameType: SHORT, - NameCount: USHORT, - Names: [UNICODE_STRING; ANYSIZE_ARRAY], -}} -pub type PKERB_EXTERNAL_NAME = *mut KERB_EXTERNAL_NAME; -STRUCT!{struct KERB_EXTERNAL_TICKET { - ServiceName: PKERB_EXTERNAL_NAME, - TargetName: PKERB_EXTERNAL_NAME, - ClientName: PKERB_EXTERNAL_NAME, - DomainName: UNICODE_STRING, - TargetDomainName: UNICODE_STRING, - AltTargetDomainName: UNICODE_STRING, - SessionKey: KERB_CRYPTO_KEY, - TicketFlags: ULONG, - Flags: ULONG, - KeyExpirationTime: LARGE_INTEGER, - StartTime: LARGE_INTEGER, - EndTime: LARGE_INTEGER, - RenewUntil: LARGE_INTEGER, - TimeSkew: LARGE_INTEGER, - EncodedTicketSize: ULONG, - EncodedTicket: PUCHAR, -}} -pub type PKERB_EXTERNAL_TICKET = *mut KERB_EXTERNAL_TICKET; -STRUCT!{struct KERB_RETRIEVE_TKT_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - LogonId: LUID, - TargetName: UNICODE_STRING, - TicketFlags: ULONG, - CacheOptions: ULONG, - EncryptionType: LONG, - CredentialsHandle: SecHandle, -}} -pub type PKERB_RETRIEVE_TKT_REQUEST = *mut KERB_RETRIEVE_TKT_REQUEST; -STRUCT!{struct KERB_RETRIEVE_TKT_RESPONSE { - Ticket: KERB_EXTERNAL_TICKET, -}} -pub type PKERB_RETRIEVE_TKT_RESPONSE = *mut KERB_RETRIEVE_TKT_RESPONSE; -STRUCT!{struct KERB_PURGE_TKT_CACHE_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - LogonId: LUID, - ServerName: UNICODE_STRING, - RealmName: UNICODE_STRING, -}} -pub type PKERB_PURGE_TKT_CACHE_REQUEST = *mut KERB_PURGE_TKT_CACHE_REQUEST; -pub const KERB_PURGE_ALL_TICKETS: ULONG = 1; -STRUCT!{struct KERB_PURGE_TKT_CACHE_EX_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - LogonId: LUID, - Flags: ULONG, - TicketTemplate: KERB_TICKET_CACHE_INFO_EX, -}} -pub type PKERB_PURGE_TKT_CACHE_EX_REQUEST = *mut KERB_PURGE_TKT_CACHE_EX_REQUEST; -STRUCT!{struct KERB_SUBMIT_TKT_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - LogonId: LUID, - Flags: ULONG, - Key: KERB_CRYPTO_KEY32, - KerbCredSize: ULONG, - KerbCredOffset: ULONG, -}} -pub type PKERB_SUBMIT_TKT_REQUEST = *mut KERB_SUBMIT_TKT_REQUEST; -STRUCT!{struct KERB_QUERY_KDC_PROXY_CACHE_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - Flags: ULONG, - LogonId: LUID, -}} -pub type PKERB_QUERY_KDC_PROXY_CACHE_REQUEST = *mut KERB_QUERY_KDC_PROXY_CACHE_REQUEST; -STRUCT!{struct KDC_PROXY_CACHE_ENTRY_DATA { - SinceLastUsed: ULONG64, - DomainName: UNICODE_STRING, - ProxyServerName: UNICODE_STRING, - ProxyServerVdir: UNICODE_STRING, - ProxyServerPort: USHORT, - LogonId: LUID, - CredUserName: UNICODE_STRING, - CredDomainName: UNICODE_STRING, - GlobalCache: BOOLEAN, -}} -pub type PKDC_PROXY_CACHE_ENTRY_DATA = *mut KDC_PROXY_CACHE_ENTRY_DATA; -STRUCT!{struct KERB_QUERY_KDC_PROXY_CACHE_RESPONSE { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - CountOfEntries: ULONG, - Entries: PKDC_PROXY_CACHE_ENTRY_DATA, -}} -pub type PKERB_QUERY_KDC_PROXY_CACHE_RESPONSE = *mut KERB_QUERY_KDC_PROXY_CACHE_RESPONSE; -STRUCT!{struct KERB_PURGE_KDC_PROXY_CACHE_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - Flags: ULONG, - LogonId: LUID, -}} -pub type PKERB_PURGE_KDC_PROXY_CACHE_REQUEST = *mut KERB_PURGE_KDC_PROXY_CACHE_REQUEST; -STRUCT!{struct KERB_PURGE_KDC_PROXY_CACHE_RESPONSE { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - CountOfPurged: ULONG, -}} -pub type PKERB_PURGE_KDC_PROXY_CACHE_RESPONSE = *mut KERB_PURGE_KDC_PROXY_CACHE_RESPONSE; -pub const KERB_S4U2PROXY_CACHE_ENTRY_INFO_FLAG_NEGATIVE: ULONG = 0x1; -STRUCT!{struct KERB_S4U2PROXY_CACHE_ENTRY_INFO { - ServerName: UNICODE_STRING, - Flags: ULONG, - LastStatus: NTSTATUS, - Expiry: LARGE_INTEGER, -}} -pub type PKERB_S4U2PROXY_CACHE_ENTRY_INFO = *mut KERB_S4U2PROXY_CACHE_ENTRY_INFO; -pub const KERB_S4U2PROXY_CRED_FLAG_NEGATIVE: ULONG = 0x1; -STRUCT!{struct KERB_S4U2PROXY_CRED { - UserName: UNICODE_STRING, - DomainName: UNICODE_STRING, - Flags: ULONG, - LastStatus: NTSTATUS, - Expiry: LARGE_INTEGER, - CountOfEntries: ULONG, - Entries: PKERB_S4U2PROXY_CACHE_ENTRY_INFO, -}} -pub type PKERB_S4U2PROXY_CRED = *mut KERB_S4U2PROXY_CRED; -STRUCT!{struct KERB_QUERY_S4U2PROXY_CACHE_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - Flags: ULONG, - LogonId: LUID, -}} -pub type PKERB_QUERY_S4U2PROXY_CACHE_REQUEST = *mut KERB_QUERY_S4U2PROXY_CACHE_REQUEST; -STRUCT!{struct KERB_QUERY_S4U2PROXY_CACHE_RESPONSE { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - CountOfCreds: ULONG, - Creds: PKERB_S4U2PROXY_CRED, -}} -pub type PKERB_QUERY_S4U2PROXY_CACHE_RESPONSE = *mut KERB_QUERY_S4U2PROXY_CACHE_RESPONSE; -STRUCT!{struct KERB_CHANGEPASSWORD_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - DomainName: UNICODE_STRING, - AccountName: UNICODE_STRING, - OldPassword: UNICODE_STRING, - NewPassword: UNICODE_STRING, - Impersonating: BOOLEAN, -}} -pub type PKERB_CHANGEPASSWORD_REQUEST = *mut KERB_CHANGEPASSWORD_REQUEST; -STRUCT!{struct KERB_SETPASSWORD_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - LogonId: LUID, - CredentialsHandle: SecHandle, - Flags: ULONG, - DomainName: UNICODE_STRING, - AccountName: UNICODE_STRING, - Password: UNICODE_STRING, -}} -pub type PKERB_SETPASSWORD_REQUEST = *mut KERB_SETPASSWORD_REQUEST; -STRUCT!{struct KERB_SETPASSWORD_EX_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - LogonId: LUID, - CredentialsHandle: SecHandle, - Flags: ULONG, - AccountRealm: UNICODE_STRING, - AccountName: UNICODE_STRING, - Password: UNICODE_STRING, - ClientRealm: UNICODE_STRING, - ClientName: UNICODE_STRING, - Impersonating: BOOLEAN, - KdcAddress: UNICODE_STRING, - KdcAddressType: ULONG, -}} -pub type PKERB_SETPASSWORD_EX_REQUEST = *mut KERB_SETPASSWORD_EX_REQUEST; -pub const DS_UNKNOWN_ADDRESS_TYPE: ULONG = 0; -pub const KERB_SETPASS_USE_LOGONID: ULONG = 1; -pub const KERB_SETPASS_USE_CREDHANDLE: ULONG = 2; -STRUCT!{struct KERB_DECRYPT_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - LogonId: LUID, - Flags: ULONG, - CryptoType: LONG, - KeyUsage: LONG, - Key: KERB_CRYPTO_KEY, - EncryptedDataSize: ULONG, - InitialVectorSize: ULONG, - InitialVector: PUCHAR, - EncryptedData: PUCHAR, -}} -pub type PKERB_DECRYPT_REQUEST = *mut KERB_DECRYPT_REQUEST; -pub const KERB_DECRYPT_FLAG_DEFAULT_KEY: ULONG = 0x00000001; -STRUCT!{struct KERB_DECRYPT_RESPONSE { - DecryptedData: [UCHAR; ANYSIZE_ARRAY], -}} -pub type PKERB_DECRYPT_RESPONSE = *mut KERB_DECRYPT_RESPONSE; -STRUCT!{struct KERB_ADD_BINDING_CACHE_ENTRY_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - RealmName: UNICODE_STRING, - KdcAddress: UNICODE_STRING, - AddressType: ULONG, -}} -pub type PKERB_ADD_BINDING_CACHE_ENTRY_REQUEST = *mut KERB_ADD_BINDING_CACHE_ENTRY_REQUEST; -STRUCT!{struct KERB_REFRESH_SCCRED_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - CredentialBlob: UNICODE_STRING, - LogonId: LUID, - Flags: ULONG, -}} -pub type PKERB_REFRESH_SCCRED_REQUEST = *mut KERB_REFRESH_SCCRED_REQUEST; -pub const KERB_REFRESH_SCCRED_RELEASE: ULONG = 0x0; -pub const KERB_REFRESH_SCCRED_GETTGT: ULONG = 0x1; -STRUCT!{struct KERB_ADD_CREDENTIALS_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - UserName: UNICODE_STRING, - DomainName: UNICODE_STRING, - Password: UNICODE_STRING, - LogonId: LUID, - Flags: ULONG, -}} -pub type PKERB_ADD_CREDENTIALS_REQUEST = *mut KERB_ADD_CREDENTIALS_REQUEST; -pub const KERB_REQUEST_ADD_CREDENTIAL: ULONG = 1; -pub const KERB_REQUEST_REPLACE_CREDENTIAL: ULONG = 2; -pub const KERB_REQUEST_REMOVE_CREDENTIAL: ULONG = 4; -STRUCT!{struct KERB_ADD_CREDENTIALS_REQUEST_EX { - Credentials: KERB_ADD_CREDENTIALS_REQUEST, - PrincipalNameCount: ULONG, - PrincipalNames: [UNICODE_STRING; ANYSIZE_ARRAY], -}} -pub type PKERB_ADD_CREDENTIALS_REQUEST_EX = *mut KERB_ADD_CREDENTIALS_REQUEST_EX; -STRUCT!{struct KERB_TRANSFER_CRED_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - OriginLogonId: LUID, - DestinationLogonId: LUID, - Flags: ULONG, -}} -pub type PKERB_TRANSFER_CRED_REQUEST = *mut KERB_TRANSFER_CRED_REQUEST; -pub const KERB_TRANSFER_CRED_WITH_TICKETS: ULONG = 0x1; -pub const KERB_TRANSFER_CRED_CLEANUP_CREDENTIALS: ULONG = 0x2; -STRUCT!{struct KERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - LogonId: LUID, -}} -pub type PKERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST = - *mut KERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST; -STRUCT!{struct KERB_BINDING_CACHE_ENTRY_DATA { - DiscoveryTime: ULONG64, - RealmName: UNICODE_STRING, - KdcAddress: UNICODE_STRING, - AddressType: ULONG, - Flags: ULONG, - DcFlags: ULONG, - CacheFlags: ULONG, - KdcName: UNICODE_STRING, -}} -pub type PKERB_BINDING_CACHE_ENTRY_DATA = *mut KERB_BINDING_CACHE_ENTRY_DATA; -STRUCT!{struct KERB_QUERY_BINDING_CACHE_RESPONSE { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - CountOfEntries: ULONG, - Entries: PKERB_BINDING_CACHE_ENTRY_DATA, -}} -pub type PKERB_QUERY_BINDING_CACHE_RESPONSE = *mut KERB_QUERY_BINDING_CACHE_RESPONSE; -STRUCT!{struct KERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - RealmName: UNICODE_STRING, - KdcAddress: UNICODE_STRING, - AddressType: ULONG, - DcFlags: ULONG, -}} -pub type PKERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST = *mut KERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST; -STRUCT!{struct KERB_QUERY_BINDING_CACHE_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, -}} -pub type PKERB_QUERY_BINDING_CACHE_REQUEST = *mut KERB_QUERY_BINDING_CACHE_REQUEST; -STRUCT!{struct KERB_PURGE_BINDING_CACHE_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, -}} -pub type PKERB_PURGE_BINDING_CACHE_REQUEST = *mut KERB_PURGE_BINDING_CACHE_REQUEST; -STRUCT!{struct KERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - Flags: ULONG, - DomainName: UNICODE_STRING, -}} -pub type PKERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST = - *mut KERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST; -STRUCT!{struct KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE { - MessageType: KERB_PROTOCOL_MESSAGE_TYPE, - Flags: ULONG, - ExtendedPolicies: ULONG, - DsFlags: ULONG, -}} -pub type PKERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE = - *mut KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE; -ENUM!{enum KERB_CERTIFICATE_INFO_TYPE { - CertHashInfo = 1, -}} -pub type PKERB_CERTIFICATE_INFO_TYPE = *mut KERB_CERTIFICATE_INFO_TYPE; -STRUCT!{struct KERB_CERTIFICATE_HASHINFO { - StoreNameLength: USHORT, - HashLength: USHORT, -}} -pub type PKERB_CERTIFICATE_HASHINFO = *mut KERB_CERTIFICATE_HASHINFO; -STRUCT!{struct KERB_CERTIFICATE_INFO { - CertInfoSize: ULONG, - InfoType: ULONG, -}} -pub type PKERB_CERTIFICATE_INFO = *mut KERB_CERTIFICATE_INFO; -STRUCT!{struct POLICY_AUDIT_SID_ARRAY { - UsersCount: ULONG, - UserSidArray: *mut PSID, -}} -pub type PPOLICY_AUDIT_SID_ARRAY = *mut POLICY_AUDIT_SID_ARRAY; -STRUCT!{struct AUDIT_POLICY_INFORMATION { - AuditSubCategoryGuid: GUID, - AuditingInformation: ULONG, - AuditCategoryGuid: GUID, -}} -pub type PAUDIT_POLICY_INFORMATION = *mut AUDIT_POLICY_INFORMATION; -pub type LPAUDIT_POLICY_INFORMATION = PAUDIT_POLICY_INFORMATION; -pub type PCAUDIT_POLICY_INFORMATION = *const AUDIT_POLICY_INFORMATION; -pub const AUDIT_SET_SYSTEM_POLICY: ULONG = 0x0001; -pub const AUDIT_QUERY_SYSTEM_POLICY: ULONG = 0x0002; -pub const AUDIT_SET_USER_POLICY: ULONG = 0x0004; -pub const AUDIT_QUERY_USER_POLICY: ULONG = 0x0008; -pub const AUDIT_ENUMERATE_USERS: ULONG = 0x0010; -pub const AUDIT_SET_MISC_POLICY: ULONG = 0x0020; -pub const AUDIT_QUERY_MISC_POLICY: ULONG = 0x0040; -pub const AUDIT_GENERIC_ALL: ULONG = STANDARD_RIGHTS_REQUIRED | AUDIT_SET_SYSTEM_POLICY - | AUDIT_QUERY_SYSTEM_POLICY | AUDIT_SET_USER_POLICY | AUDIT_QUERY_USER_POLICY - | AUDIT_ENUMERATE_USERS | AUDIT_SET_MISC_POLICY | AUDIT_QUERY_MISC_POLICY; -pub const AUDIT_GENERIC_READ: ULONG = STANDARD_RIGHTS_READ | AUDIT_QUERY_SYSTEM_POLICY - | AUDIT_QUERY_USER_POLICY | AUDIT_ENUMERATE_USERS | AUDIT_QUERY_MISC_POLICY; -pub const AUDIT_GENERIC_WRITE: ULONG = STANDARD_RIGHTS_WRITE | AUDIT_SET_USER_POLICY - | AUDIT_SET_MISC_POLICY | AUDIT_SET_SYSTEM_POLICY; -pub const AUDIT_GENERIC_EXECUTE: ULONG = STANDARD_RIGHTS_EXECUTE; -extern "system" { - pub fn AuditSetSystemPolicy( - pAuditPolicy: PCAUDIT_POLICY_INFORMATION, - PolicyCount: ULONG, - ) -> BOOLEAN; - pub fn AuditSetPerUserPolicy( - pSid: *const SID, - pAuditPolicy: PCAUDIT_POLICY_INFORMATION, - PolicyCount: ULONG, - ) -> BOOLEAN; - pub fn AuditQuerySystemPolicy( - pSubCategoryGuids: *const GUID, - PolicyCount: ULONG, - ppAuditPolicy: *mut PAUDIT_POLICY_INFORMATION, - ) -> BOOLEAN; - pub fn AuditQueryPerUserPolicy( - pSid: *const SID, - pSubCategoryGuids: *const GUID, - PolicyCount: ULONG, - ppAuditPolicy: *mut PAUDIT_POLICY_INFORMATION, - ) -> BOOLEAN; - pub fn AuditEnumeratePerUserPolicy( - ppAuditSidArray: *mut PPOLICY_AUDIT_SID_ARRAY, - ) -> BOOLEAN; - pub fn AuditComputeEffectivePolicyBySid( - pSid: *const SID, - pSubCategoryGuids: *const GUID, - dwPolicyCount: ULONG, - ppAuditPolicy: *mut PAUDIT_POLICY_INFORMATION, - ) -> BOOLEAN; - pub fn AuditComputeEffectivePolicyByToken( - hTokenHandle: HANDLE, - pSubCategoryGuids: *const GUID, - dwPolicyCount: ULONG, - ppAuditPolicy: *mut PAUDIT_POLICY_INFORMATION, - ) -> BOOLEAN; - pub fn AuditEnumerateCategories( - ppAuditCategoriesArray: *mut *mut GUID, - pdwCountReturned: PULONG, - ) -> BOOLEAN; - pub fn AuditEnumerateSubCategories( - pAuditCategoryGuid: *const GUID, - bRetrieveAllSubCategories: BOOLEAN, - ppAuditSubCategoriesArray: *mut *mut GUID, - pdwCountReturned: PULONG, - ) -> BOOLEAN; - pub fn AuditLookupCategoryNameW( - pAuditCategoryGuid: *const GUID, - ppszCategoryName: *mut PWSTR, - ) -> BOOLEAN; - pub fn AuditLookupCategoryNameA( - pAuditCategoryGuid: *const GUID, - ppszCategoryName: *mut PSTR, - ) -> BOOLEAN; - pub fn AuditLookupSubCategoryNameW( - pAuditSubCategoryGuid: *const GUID, - ppszSubCategoryName: *mut PWSTR, - ) -> BOOLEAN; - pub fn AuditLookupSubCategoryNameA( - pAuditSubCategoryGuid: *const GUID, - ppszSubCategoryName: *mut PSTR, - ) -> BOOLEAN; - pub fn AuditLookupCategoryIdFromCategoryGuid( - pAuditCategoryGuid: *const GUID, - pAuditCategoryId: PPOLICY_AUDIT_EVENT_TYPE, - ) -> BOOLEAN; - pub fn AuditLookupCategoryGuidFromCategoryId( - AuditCategoryId: POLICY_AUDIT_EVENT_TYPE, - pAuditCategoryGuid: *mut GUID, - ) -> BOOLEAN; - pub fn AuditSetSecurity( - SecurityInformation: SECURITY_INFORMATION, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - ) -> BOOLEAN; - pub fn AuditQuerySecurity( - SecurityInformation: SECURITY_INFORMATION, - ppSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, - ) -> BOOLEAN; - pub fn AuditSetGlobalSaclW( - ObjectTypeName: PCWSTR, - Acl: PACL, - ) -> BOOLEAN; - pub fn AuditSetGlobalSaclA( - ObjectTypeName: PCSTR, - Acl: PACL, - ) -> BOOLEAN; - pub fn AuditQueryGlobalSaclW( - ObjectTypeName: PCWSTR, - Acl: *mut PACL, - ) -> BOOLEAN; - pub fn AuditQueryGlobalSaclA( - ObjectTypeName: PCSTR, - Acl: *mut PACL, - ) -> BOOLEAN; - pub fn AuditFree( - Buffer: PVOID, - ); -} -STRUCT!{struct PKU2U_CERT_BLOB { - CertOffset: ULONG, - CertLength: USHORT, -}} -pub type PPKU2U_CERT_BLOB = *mut PKU2U_CERT_BLOB; -pub const PKU2U_CREDUI_CONTEXT_VERSION: ULONG64 = 0x4154414454524543; -STRUCT!{struct PKU2U_CREDUI_CONTEXT { - Version: ULONG64, - cbHeaderLength: USHORT, - cbStructureLength: ULONG, - CertArrayCount: USHORT, - CertArrayOffset: ULONG, -}} -pub type PPKU2U_CREDUI_CONTEXT = *mut PKU2U_CREDUI_CONTEXT; -ENUM!{enum PKU2U_LOGON_SUBMIT_TYPE { - Pku2uCertificateS4ULogon = 14, -}} -pub type PPKU2U_LOGON_SUBMIT_TYPE = *mut PKU2U_LOGON_SUBMIT_TYPE; -STRUCT!{struct PKU2U_CERTIFICATE_S4U_LOGON { - MessageType: PKU2U_LOGON_SUBMIT_TYPE, - Flags: ULONG, - UserPrincipalName: UNICODE_STRING, - DomainName: UNICODE_STRING, - CertificateLength: ULONG, - Certificate: PUCHAR, -}} -pub type PPKU2U_CERTIFICATE_S4U_LOGON = *mut PKU2U_CERTIFICATE_S4U_LOGON; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/oaidl.rs b/vendor/registry-40351f815f426200/winapi/src/um/oaidl.rs deleted file mode 100644 index a3f6decd7..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/oaidl.rs +++ /dev/null @@ -1,879 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of OAIdl.h -use shared::basetsd::ULONG_PTR; -use shared::guiddef::{GUID, IID, REFGUID, REFIID}; -use shared::minwindef::{BOOL, BYTE, DWORD, FLOAT, INT, UINT, ULONG, USHORT, WORD}; -use shared::rpcndr::byte; -use shared::wtypes::{ - BSTR, CY, DATE, DECIMAL, VARIANT_BOOL, VARTYPE, VT_BSTR, VT_DISPATCH, VT_ERROR, - VT_I1, VT_I2, VT_I4, VT_I8, VT_RECORD, VT_RESERVED, VT_UNKNOWN, VT_VARIANT, - wireBSTR -}; -use shared::wtypesbase::{ - BYTE_SIZEDARR, DOUBLE, DWORD_SIZEDARR, HYPER_SIZEDARR, LPCOLESTR, LPOLESTR, SCODE, - WORD_SIZEDARR -}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{CHAR, HRESULT, LCID, LONG, LONGLONG, PVOID, SHORT, ULONGLONG}; -pub type CURRENCY = CY; -STRUCT!{struct SAFEARRAYBOUND { - cElements: ULONG, - lLbound: LONG, -}} -pub type LPSAFEARRAYBOUND = *mut SAFEARRAYBOUND; -pub type wireBRECORD = *mut _wireBRECORD; -pub type wireVARIANT = *mut _wireVARIANT; -STRUCT!{struct SAFEARR_BSTR { - Size: ULONG, - aBstr: *mut wireBSTR, -}} -STRUCT!{struct SAFEARR_UNKNOWN { - Size: ULONG, - apUnknown: *mut *mut IUnknown, -}} -STRUCT!{struct SAFEARR_DISPATCH { - Size: ULONG, - apDispatch: *mut *mut IDispatch, -}} -STRUCT!{struct SAFEARR_VARIANT { - Size: ULONG, - aVariant: *mut wireVARIANT, -}} -STRUCT!{struct SAFEARR_BRECORD { - Size: ULONG, - aRecord: *mut wireBRECORD, -}} -STRUCT!{struct SAFEARR_HAVEIID { - Size: ULONG, - apUnknown: *mut *mut IUnknown, - iid: IID, -}} -ENUM!{enum SF_TYPE { - SF_ERROR = VT_ERROR, - SF_I1 = VT_I1, - SF_I2 = VT_I2, - SF_I4 = VT_I4, - SF_I8 = VT_I8, - SF_BSTR = VT_BSTR, - SF_UNKNOWN = VT_UNKNOWN, - SF_DISPATCH = VT_DISPATCH, - SF_VARIANT = VT_VARIANT, - SF_RECORD = VT_RECORD, - SF_HAVEIID = VT_UNKNOWN | VT_RESERVED, -}} -#[cfg(target_arch = "x86")] -UNION!{union __MIDL_IOleAutomationTypes_0001 { - [u32; 6], - BstrStr BstrStr_mut: SAFEARR_BSTR, - UnknownStr UnknownStr_mut: SAFEARR_UNKNOWN, - DispatchStr DispatchStr_mut: SAFEARR_DISPATCH, - VariantStr VariantStr_mut: SAFEARR_VARIANT, - RecordStr RecordStr_mut: SAFEARR_BRECORD, - HaveIidStr HaveIidStr_mut: SAFEARR_HAVEIID, - ByteStr ByteStr_mut: BYTE_SIZEDARR, - WordStr WordStr_mut: WORD_SIZEDARR, - LongStr LongStr_mut: DWORD_SIZEDARR, - HyperStr HyperStr_mut: HYPER_SIZEDARR, -}} -#[cfg(target_pointer_width = "64")] -UNION!{union __MIDL_IOleAutomationTypes_0001 { - [u64; 4], - BstrStr BstrStr_mut: SAFEARR_BSTR, - UnknownStr UnknownStr_mut: SAFEARR_UNKNOWN, - DispatchStr DispatchStr_mut: SAFEARR_DISPATCH, - VariantStr VariantStr_mut: SAFEARR_VARIANT, - RecordStr RecordStr_mut: SAFEARR_BRECORD, - HaveIidStr HaveIidStr_mut: SAFEARR_HAVEIID, - ByteStr ByteStr_mut: BYTE_SIZEDARR, - WordStr WordStr_mut: WORD_SIZEDARR, - LongStr LongStr_mut: DWORD_SIZEDARR, - HyperStr HyperStr_mut: HYPER_SIZEDARR, -}} -STRUCT!{struct SAFEARRAYUNION { - sfType: ULONG, - u: __MIDL_IOleAutomationTypes_0001, -}} -STRUCT!{struct _wireSAFEARRAY { - cDims: USHORT, - fFeatures: USHORT, - cbElements: ULONG, - cLocks: ULONG, - uArrayStructs: SAFEARRAYUNION, - rgsaBound: [SAFEARRAYBOUND; 1], -}} -pub type wireSAFEARRAY = *mut _wireSAFEARRAY; -pub type wirePSAFEARRAY = *mut wireSAFEARRAY; -STRUCT!{struct SAFEARRAY { - cDims: USHORT, - fFeatures: USHORT, - cbElements: ULONG, - cLocks: ULONG, - pvData: PVOID, - rgsabound: [SAFEARRAYBOUND; 1], -}} -pub type LPSAFEARRAY = *mut SAFEARRAY; -pub const FADF_AUTO: DWORD = 0x1; -pub const FADF_STATIC: DWORD = 0x2; -pub const FADF_EMBEDDED: DWORD = 0x4; -pub const FADF_FIXEDSIZE: DWORD = 0x10; -pub const FADF_RECORD: DWORD = 0x20; -pub const FADF_HAVEIID: DWORD = 0x40; -pub const FADF_HAVEVARTYPE: DWORD = 0x80; -pub const FADF_BSTR: DWORD = 0x100; -pub const FADF_UNKNOWN: DWORD = 0x200; -pub const FADF_DISPATCH: DWORD = 0x400; -pub const FADF_VARIANT: DWORD = 0x800; -pub const FADF_RESERVED: DWORD = 0xf008; -STRUCT!{struct __tagBRECORD { - pvRecord: PVOID, - pRecInfo: *mut IRecordInfo, -}} -UNION!{union VARIANT_n3 { - [u64; 1] [u64; 2], - llVal llVal_mut: LONGLONG, - lVal lVal_mut: LONG, - bVal bVal_mut: BYTE, - iVal iVal_mut: SHORT, - fltVal fltVal_mut: FLOAT, - dblVal dblVal_mut: DOUBLE, - boolVal boolVal_mut: VARIANT_BOOL, - scode scode_mut: SCODE, - cyVal cyVal_mut: CY, - date date_mut: DATE, - bstrVal bstrVal_mut: BSTR, - punkVal punkVal_mut: *mut IUnknown, - pdispVal pdispVal_mut: *mut IDispatch, - parray parray_mut: *mut SAFEARRAY, - pbVal pbVal_mut: *mut BYTE, - piVal piVal_mut: *mut SHORT, - plVal plVal_mut: *mut LONG, - pllVal pllVal_mut: *mut LONGLONG, - pfltVal pfltVal_mut: *mut FLOAT, - pdblVal pdblVal_mut: *mut DOUBLE, - pboolVal pboolVal_mut: *mut VARIANT_BOOL, - pscode pscode_mut: *mut SCODE, - pcyVal pcyVal_mut: *mut CY, - pdate pdate_mut: *mut DATE, - pbstrVal pbstrVal_mut: *mut BSTR, - ppunkVal ppunkVal_mut: *mut *mut IUnknown, - ppdispVal ppdispVal_mut: *mut *mut IDispatch, - pparray pparray_mut: *mut *mut SAFEARRAY, - pvarVal pvarVal_mut: *mut VARIANT, - byref byref_mut: PVOID, - cVal cVal_mut: CHAR, - uiVal uiVal_mut: USHORT, - ulVal ulVal_mut: ULONG, - ullVal ullVal_mut: ULONGLONG, - intVal intVal_mut: INT, - uintVal uintVal_mut: UINT, - pdecVal pdecVal_mut: *mut DECIMAL, - pcVal pcVal_mut: *mut CHAR, - puiVal puiVal_mut: *mut USHORT, - pulVal pulVal_mut: *mut ULONG, - pullVal pullVal_mut: *mut ULONGLONG, - pintVal pintVal_mut: *mut INT, - puintVal puintVal_mut: *mut UINT, - n4 n4_mut: __tagBRECORD, -}} -STRUCT!{struct __tagVARIANT { - vt: VARTYPE, - wReserved1: WORD, - wReserved2: WORD, - wReserved3: WORD, - n3: VARIANT_n3, -}} -UNION!{union VARIANT_n1 { - [u64; 2] [u64; 3], - n2 n2_mut: __tagVARIANT, - decVal decVal_mut: DECIMAL, -}} -STRUCT!{struct VARIANT { - n1: VARIANT_n1, -}} -pub type LPVARIANT = *mut VARIANT; -pub type VARIANTARG = VARIANT; -pub type LPVARIANTARG = *mut VARIANT; -pub type REFVARIANT = *const VARIANT; -STRUCT!{struct _wireBRECORD { - fFlags: ULONG, - clSize: ULONG, - pRecInfo: *mut IRecordInfo, - pRecord: *mut byte, -}} -UNION!{union _wireVARIANT_u { - [u64; 2], - llVal llVal_mut: LONGLONG, - lVal lVal_mut: LONG, - bVal bVal_mut: BYTE, - iVal iVal_mut: SHORT, - fltVal fltVal_mut: FLOAT, - dblVal dblVal_mut: DOUBLE, - boolVal boolVal_mut: VARIANT_BOOL, - scode scode_mut: SCODE, - cyVal cyVal_mut: CY, - date date_mut: DATE, - bstrVal bstrVal_mut: wireBSTR, - punkVal punkVal_mut: *mut IUnknown, - pdispVal pdispVal_mut: *mut IDispatch, - parray parray_mut: wirePSAFEARRAY, - brecVal brecVal_mut: wireBRECORD, - pbVal pbVal_mut: *mut BYTE, - piVal piVal_mut: *mut SHORT, - plVal plVal_mut: *mut LONG, - pllVal pllVal_mut: *mut LONGLONG, - pfltVal pfltVal_mut: *mut FLOAT, - pdblVal pdblVal_mut: *mut DOUBLE, - pboolVal pboolVal_mut: *mut VARIANT_BOOL, - pscode pscode_mut: *mut SCODE, - pcyVal pcyVal_mut: *mut CY, - pdate pdate_mut: *mut DATE, - pbstrVal pbstrVal_mut: *mut wireBSTR, - ppunkVal ppunkVal_mut: *mut *mut IUnknown, - ppdispVal ppdispVal_mut: *mut *mut IDispatch, - pparray pparray_mut: *mut wirePSAFEARRAY, - pvarVal pvarVal_mut: *mut wireVARIANT, - cVal cVal_mut: CHAR, - uiVal uiVal_mut: USHORT, - ulVal ulVal_mut: ULONG, - ullVal ullVal_mut: ULONGLONG, - intVal intVal_mut: INT, - uintVal uintVal_mut: UINT, - decVal decVal_mut: DECIMAL, - pdecVal pdecVal_mut: *mut DECIMAL, - pcVal pcVal_mut: *mut CHAR, - puiVal puiVal_mut: *mut USHORT, - pulVal pulVal_mut: *mut ULONG, - pullVal pullVal_mut: *mut ULONGLONG, - pintVal pintVal_mut: *mut INT, - puintVal puintVal_mut: *mut UINT, -}} -STRUCT!{struct _wireVARIANT { - clSize: DWORD, - rpcReserved: DWORD, - vt: USHORT, - wReserved1: USHORT, - wReserved2: USHORT, - wReserved3: USHORT, - u: _wireVARIANT_u, -}} -pub type DISPID = LONG; -pub type MEMBERID = DISPID; -pub type HREFTYPE = DWORD; -ENUM!{enum TYPEKIND { - TKIND_ENUM = 0, - TKIND_RECORD, - TKIND_MODULE, - TKIND_INTERFACE, - TKIND_DISPATCH, - TKIND_COCLASS, - TKIND_ALIAS, - TKIND_UNION, - TKIND_MAX, -}} -UNION!{union TYPEDESC_u { - [usize; 1], - lptdesc lptdesc_mut: *mut TYPEDESC, - lpadesc lpadesc_mut: *mut ARRAYDESC, - hreftype hreftype_mut: HREFTYPE, -}} -STRUCT!{struct TYPEDESC { - u: TYPEDESC_u, - vt: VARTYPE, -}} -STRUCT!{struct ARRAYDESC { - tdescElem: TYPEDESC, - cDims: USHORT, - rgbounds: [SAFEARRAYBOUND; 1], -}} -STRUCT!{struct PARAMDESCEX { - cBytes: ULONG, - varDefaultValue: VARIANTARG, -}} -pub type LPPARAMDESCEX = *mut PARAMDESCEX; -STRUCT!{struct PARAMDESC { - pparamdescex: LPPARAMDESCEX, - wParamFlags: USHORT, -}} -pub type LPPARAMDESC = *mut PARAMDESC; -pub const PARAMFLAG_NONE: DWORD = 0; -pub const PARAMFLAG_FIN: DWORD = 0x1; -pub const PARAMFLAG_FOUT: DWORD = 0x2; -pub const PARAMFLAG_FLCID: DWORD = 0x4; -pub const PARAMFLAG_FRETVAL: DWORD = 0x8; -pub const PARAMFLAG_FOPT: DWORD = 0x10; -pub const PARAMFLAG_FHASDEFAULT: DWORD = 0x20; -pub const PARAMFLAG_FHASCUSTDATA: DWORD = 0x40; -STRUCT!{struct IDLDESC { - dwReserved: ULONG_PTR, - wIDLFlags: USHORT, -}} -pub type LPIDLDESC = *mut IDLDESC; -pub const IDLFLAG_NONE: DWORD = PARAMFLAG_NONE; -pub const IDLFLAG_FIN: DWORD = PARAMFLAG_FIN; -pub const IDLFLAG_FOUT: DWORD = PARAMFLAG_FOUT; -pub const IDLFLAG_FLCID: DWORD = PARAMFLAG_FLCID; -pub const IDLFLAG_FRETVAL: DWORD = PARAMFLAG_FRETVAL; -UNION!{union ELEMDESC_u { - [usize; 2], - idldesc idldesc_mut: IDLDESC, - paramdesc paramdesc_mut: PARAMDESC, -}} -STRUCT!{struct ELEMDESC { - tdesc: TYPEDESC, - u: ELEMDESC_u, -}} -pub type LPELEMDESC = *mut ELEMDESC; -STRUCT!{struct TYPEATTR { - guid: GUID, - lcid: LCID, - dwReserved: DWORD, - memidConstructor: MEMBERID, - memidDestructor: MEMBERID, - lpstrSchema: LPOLESTR, - cbSizeInstance: ULONG, - typekind: TYPEKIND, - cFuncs: WORD, - cVars: WORD, - cImplTypes: WORD, - cbSizeVft: WORD, - cbAlignment: WORD, - wTypeFlags: WORD, - wMajorVerNum: WORD, - wMinorVerNum: WORD, - tdescAlias: TYPEDESC, - idldescType: IDLDESC, -}} -pub type LPTYPEATTR = *mut TYPEATTR; -STRUCT!{struct DISPPARAMS { - rgvarg: *mut VARIANTARG, - rgdispidNamedArgs: *mut DISPID, - cArgs: UINT, - cNamedArgs: UINT, -}} -STRUCT!{struct EXCEPINFO { - wCode: WORD, - wReserved: WORD, - bstrSource: BSTR, - bstrDescription: BSTR, - bstrHelpFile: BSTR, - dwHelpContext: DWORD, - pvReserved: PVOID, - pfnDeferredFillIn: Option HRESULT>, - scode: SCODE, -}} -ENUM!{enum CALLCONV { - CC_FASTCALL = 0, - CC_CDECL = 1, - CC_MSCPASCAL, - CC_PASCAL, - CC_MACPASCAL, - CC_STDCALL, - CC_FPFASTCALL, - CC_SYSCALL, - CC_MPWCDECL, - CC_MPWPASCAL, - CC_MAX, -}} -ENUM!{enum FUNCKIND { - FUNC_VIRTUAL = 0, - FUNC_PUREVIRTUAL, - FUNC_NONVIRTUAL, - FUNC_STATIC, - FUNC_DISPATCH, -}} -ENUM!{enum INVOKEKIND { - INVOKE_FUNC = 1, - INVOKE_PROPERTYGET = 2, - INVOKE_PROPERTYPUT = 4, - INVOKE_PROPERTYPUTREF = 8, -}} -STRUCT!{struct FUNCDESC { - memid: MEMBERID, - lprgscode: *mut SCODE, - lprgelemdescParam: *mut ELEMDESC, - funckind: FUNCKIND, - invkind: INVOKEKIND, - callconv: CALLCONV, - cParams: SHORT, - cParamsOpt: SHORT, - oVft: SHORT, - cScodes: SHORT, - elemdescFunc: ELEMDESC, - wFuncFlags: WORD, -}} -pub type LPFUNCDESC = *mut FUNCDESC; -ENUM!{enum VARKIND { - VAR_PERINSTANCE = 0, - VAR_STATIC, - VAR_CONST, - VAR_DISPATCH, -}} -pub const IMPLTYPEFLAG_FDEFAULT: DWORD = 0x1; -pub const IMPLTYPEFLAG_FSOURCE: DWORD = 0x2; -pub const IMPLTYPEFLAG_FRESTRICTED: DWORD = 0x4; -pub const IMPLTYPEFLAG_FDEFAULTVTABLE: DWORD = 0x8; -UNION!{union VARDESC_u { - [usize; 1], - oInst oInst_mut: ULONG, - lpvarValue lpvarValue_mut: *mut VARIANT, -}} -STRUCT!{struct VARDESC { - memid: MEMBERID, - lpstrSchema: LPOLESTR, - u: VARDESC_u, - elemdescVar: ELEMDESC, - wVarFlags: WORD, - varkind: VARKIND, -}} -pub type LPVARDESC = *mut VARDESC; -ENUM!{enum TYPEFLAGS { - TYPEFLAG_FAPPOBJECT = 0x1, - TYPEFLAG_FCANCREATE = 0x2, - TYPEFLAG_FLICENSED = 0x4, - TYPEFLAG_FPREDECLID = 0x8, - TYPEFLAG_FHIDDEN = 0x10, - TYPEFLAG_FCONTROL = 0x20, - TYPEFLAG_FDUAL = 0x40, - TYPEFLAG_FNONEXTENSIBLE = 0x80, - TYPEFLAG_FOLEAUTOMATION = 0x100, - TYPEFLAG_FRESTRICTED = 0x200, - TYPEFLAG_FAGGREGATABLE = 0x400, - TYPEFLAG_FREPLACEABLE = 0x800, - TYPEFLAG_FDISPATCHABLE = 0x1000, - TYPEFLAG_FREVERSEBIND = 0x2000, - TYPEFLAG_FPROXY = 0x4000, -}} -ENUM!{enum FUNCFLAGS { - FUNCFLAG_FRESTRICTED = 0x1, - FUNCFLAG_FSOURCE = 0x2, - FUNCFLAG_FBINDABLE = 0x4, - FUNCFLAG_FREQUESTEDIT = 0x8, - FUNCFLAG_FDISPLAYBIND = 0x10, - FUNCFLAG_FDEFAULTBIND = 0x20, - FUNCFLAG_FHIDDEN = 0x40, - FUNCFLAG_FUSESGETLASTERROR = 0x80, - FUNCFLAG_FDEFAULTCOLLELEM = 0x100, - FUNCFLAG_FUIDEFAULT = 0x200, - FUNCFLAG_FNONBROWSABLE = 0x400, - FUNCFLAG_FREPLACEABLE = 0x800, - FUNCFLAG_FIMMEDIATEBIND = 0x1000, -}} -ENUM!{enum VARFLAGS { - VARFLAG_FREADONLY = 0x1, - VARFLAG_FSOURCE = 0x2, - VARFLAG_FBINDABLE = 0x4, - VARFLAG_FREQUESTEDIT = 0x8, - VARFLAG_FDISPLAYBIND = 0x10, - VARFLAG_FDEFAULTBIND = 0x20, - VARFLAG_FHIDDEN = 0x40, - VARFLAG_FRESTRICTED = 0x80, - VARFLAG_FDEFAULTCOLLELEM = 0x100, - VARFLAG_FUIDEFAULT = 0x200, - VARFLAG_FNONBROWSABLE = 0x400, - VARFLAG_FREPLACEABLE = 0x800, - VARFLAG_FIMMEDIATEBIND = 0x1000, -}} -STRUCT!{struct CLEANLOCALSTORAGE { - pInterface: *mut IUnknown, - pStorage: PVOID, - flags: DWORD, -}} -STRUCT!{struct CUSTDATAITEM { - guid: GUID, - varValue: VARIANTARG, -}} -pub type LPCUSTDATAITEM = *mut CUSTDATAITEM; -STRUCT!{struct CUSTDATA { - cCustData: DWORD, - prgCustData: LPCUSTDATAITEM, -}} -pub type LPCUSTDATA = *mut CUSTDATA; -pub type LPCREATETYPEINFO = *mut ICreateTypeInfo; -RIDL!{#[uuid(0x00020405, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface ICreateTypeInfo(ICreateTypeInfoVtbl): IUnknown(IUnknownVtbl) { - fn SetGuid( - guid: REFGUID, - ) -> HRESULT, - fn SetTypeFlags( - uTypeFlags: UINT, - ) -> HRESULT, - fn SetDocString( - pStrDoc: LPOLESTR, - ) -> HRESULT, - fn SetHelpContext( - dwHelpContext: DWORD, - ) -> HRESULT, - fn SetVersion( - wMajorVerNum: WORD, - wMinorVerNum: WORD, - ) -> HRESULT, - fn AddRefTypeInfo( - pTInfo: *mut ITypeInfo, - ) -> HRESULT, - fn AddFuncDesc( - index: UINT, - pFuncDesc: *mut FUNCDESC, - ) -> HRESULT, - fn SetImplTypeFlags( - index: UINT, - implTypeFlags: INT, - ) -> HRESULT, - fn SetAlignment( - cbAlignment: WORD, - ) -> HRESULT, - fn SetSchema( - pStrSchema: LPOLESTR, - ) -> HRESULT, - fn AddVarDesc( - index: UINT, - pVarDesc: *mut VARDESC, - ) -> HRESULT, - fn SetFuncAndParamNames( - index: UINT, - rgszNames: *mut LPOLESTR, - cNames: UINT, - ) -> HRESULT, - fn SetVarName( - index: UINT, - szName: LPOLESTR, - ) -> HRESULT, - fn SetTypeDescAlias( - pTDescAlias: *mut TYPEDESC, - ) -> HRESULT, - fn DefineFuncAsDllEntry( - index: UINT, - szDllName: LPOLESTR, - szProcName: LPOLESTR, - ) -> HRESULT, - fn SetFuncDocString( - index: UINT, - szDocString: LPOLESTR, - ) -> HRESULT, - fn SetVarDocString( - index: UINT, - szDocString: LPOLESTR, - ) -> HRESULT, - fn SetFuncHelpContext( - index: UINT, - dwHelpContext: DWORD, - ) -> HRESULT, - fn SetVarHelpContext( - index: UINT, - dwHelpContext: DWORD, - ) -> HRESULT, - fn SetMops( - index: UINT, - bstrMops: BSTR, - ) -> HRESULT, - fn SetTypeIdldesc( - pIdlDesc: *mut IDLDESC, - ) -> HRESULT, - fn LayOut() -> HRESULT, -}} -// LPCREATETYPEINFO2 -// ICreateTypeInfo2 -// LPCREATETYPELIB -// ICreateTypeLib -// LPCREATETYPELIB2 -// ICreateTypeLib2 -pub type LPDISPATCH = *mut IDispatch; -pub const DISPID_UNKNOWN: INT = -1; -pub const DISPID_VALUE: INT = 0; -pub const DISPID_PROPERTYPUT: INT = -3; -pub const DISPID_NEWENUM: INT = -4; -pub const DISPID_EVALUATE: INT = -5; -pub const DISPID_CONSTRUCTOR: INT = -6; -pub const DISPID_DESTRUCTOR: INT = -7; -pub const DISPID_COLLECT: INT = -8; -RIDL!{#[uuid(0x00020400, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IDispatch(IDispatchVtbl): IUnknown(IUnknownVtbl) { - fn GetTypeInfoCount( - pctinfo: *mut UINT, - ) -> HRESULT, - fn GetTypeInfo( - iTInfo: UINT, - lcid: LCID, - ppTInfo: *mut *mut ITypeInfo, - ) -> HRESULT, - fn GetIDsOfNames( - riid: REFIID, - rgszNames: *mut LPOLESTR, - cNames: UINT, - lcid: LCID, - rgDispId: *mut DISPID, - ) -> HRESULT, - fn Invoke( - dispIdMember: DISPID, - riid: REFIID, - lcid: LCID, - wFlags: WORD, - pDispParams: *mut DISPPARAMS, - pVarResult: *mut VARIANT, - pExcepInfo: *mut EXCEPINFO, - puArgErr: *mut UINT, - ) -> HRESULT, -}} -// IDispatch_RemoteInvoke_Proxy -// IDispatch_RemoteInvoke_Stub -// LPENUMVARIANT -// IEnumVARIANT -// IEnumVARIANT_RemoteNext_Proxy -// IEnumVARIANT_RemoteNext_Stub -RIDL!{#[uuid(0x0000002F, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IRecordInfo(IRecordInfoVtbl): IUnknown(IUnknownVtbl) { - fn RecordInit( - pvNew: PVOID, - ) -> HRESULT, - fn RecordClear( - pvExisting: PVOID, - ) -> HRESULT, - fn RecordCopy( - pvExisting: PVOID, - pvNew: PVOID, - ) -> HRESULT, - fn GetGuid( - pguid: *mut GUID, - ) -> HRESULT, - fn GetName( - pbstrName: *mut BSTR, - ) -> HRESULT, - fn GetSize( - pcbSize: *mut ULONG, - ) -> HRESULT, - fn GetTypeInfo( - ppTypeInfo: *mut *mut ITypeInfo, - ) -> HRESULT, - fn GetField( - pvData: PVOID, - szFieldName: LPCOLESTR, - pvarField: *mut VARIANT, - ) -> HRESULT, - fn GetFieldNoCopy( - pvData: PVOID, - szFieldName: LPCOLESTR, - pvarField: *mut VARIANT, - ppvDataCArray: *mut PVOID, - ) -> HRESULT, - fn PutField( - wFlags: ULONG, - pvData: PVOID, - szFieldName: LPCOLESTR, - pvarField: *mut VARIANT, - ) -> HRESULT, - fn PutFieldNoCopy( - wFlags: ULONG, - pvData: PVOID, - szFieldName: LPCOLESTR, - pvarField: *mut VARIANT, - ) -> HRESULT, - fn GetFieldNames( - pcNames: *mut ULONG, - rgBstrNames: *mut BSTR, - ) -> HRESULT, - fn IsMatchingType( - pRecordInfo: *mut IRecordInfo, - ) -> BOOL, - fn RecordCreate() -> PVOID, - fn RecordCreateCopy( - pvSource: PVOID, - ppvDest: *mut PVOID, - ) -> HRESULT, - fn RecordDestroy( - pvRecord: PVOID, - ) -> HRESULT, -}} -pub type LPTYPECOMP = *mut ITypeComp; -ENUM!{enum DESCKIND { - DESCKIND_NONE = 0, - DESCKIND_FUNCDESC = DESCKIND_NONE + 1, - DESCKIND_VARDESC = DESCKIND_FUNCDESC + 1, - DESCKIND_TYPECOMP = DESCKIND_VARDESC + 1, - DESCKIND_IMPLICITAPPOBJ = DESCKIND_TYPECOMP + 1, - DESCKIND_MAX = DESCKIND_IMPLICITAPPOBJ + 1, -}} -UNION!{union BINDPTR { - [usize; 1], - lpfuncdesc lpfuncdesc_mut: *mut FUNCDESC, - lpvardesc lpvardesc_mut: *mut VARDESC, - lptcomp lptcomp_mut: *mut ITypeComp, -}} -pub type LPBINDPTR = *mut BINDPTR; -RIDL!{#[uuid(0x00020403, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface ITypeComp(ITypeCompVtbl): IUnknown(IUnknownVtbl) { - fn Bind( - szName: LPOLESTR, - lHashVal: ULONG, - wFlags: WORD, - ppTInfo: *mut *mut ITypeInfo, - pDescKind: *mut DESCKIND, - pBindPtr: *mut BINDPTR, - ) -> HRESULT, - fn BindType( - szName: LPOLESTR, - lHashVal: ULONG, - ppTInfo: *mut *mut ITypeInfo, - ppTComp: *mut *mut ITypeComp, - ) -> HRESULT, -}} -ENUM!{enum SYSKIND { - SYS_WIN16 = 0, - SYS_WIN32, - SYS_MAC, - SYS_WIN64, -}} -STRUCT!{struct TLIBATTR { - guid: GUID, - lcid: LCID, - syskind: SYSKIND, - wMajorVerNum: WORD, - wMinorVerNum: WORD, - wLibFlags: WORD, -}} -RIDL!{#[uuid(0x00020402, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface ITypeLib(ITypeLibVtbl): IUnknown(IUnknownVtbl) { - fn GetTypeInfoCount() -> UINT, - fn GetTypeInfo( - index: UINT, - ppTInfo: *mut *mut ITypeInfo, - ) -> HRESULT, - fn GetTypeInfoType( - index: UINT, - pTKind: *mut TYPEKIND, - ) -> HRESULT, - fn GetTypeInfoOfGuid( - guid: REFGUID, - ppTInfo: *mut *mut ITypeInfo, - ) -> HRESULT, - fn GetLibAttr( - ppTLibAttr: *mut *mut TLIBATTR, - ) -> HRESULT, - fn GetTypeComp( - ppTComp: *mut *mut ITypeComp, - ) -> HRESULT, - fn GetDocumentation( - index: INT, - pbstrName: *mut BSTR, - pBstrDocString: *mut BSTR, - pdwHelpContext: *mut DWORD, - pBstrHelpFile: *mut BSTR, - ) -> HRESULT, - fn IsName( - szNameBuf: LPOLESTR, - lHashVal: ULONG, - pfName: *mut BOOL, - ) -> HRESULT, - fn FindName( - szNameBuf: LPOLESTR, - lHashVal: ULONG, - ppTInfo: *mut *mut ITypeInfo, - rgMemId: *mut MEMBERID, - pcFound: *mut USHORT, - ) -> HRESULT, - fn ReleaseTLibAttr( - pTLibAttr: *const TLIBATTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00020401, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface ITypeInfo(ITypeInfoVtbl): IUnknown(IUnknownVtbl) { - fn GetTypeAttr( - ppTypeAttr: *mut *mut TYPEATTR, - ) -> HRESULT, - fn GetTypeComp( - ppTComp: *mut *mut ITypeComp, - ) -> HRESULT, - fn GetFuncDesc( - index: UINT, - ppFunDesc: *mut *mut FUNCDESC, - ) -> HRESULT, - fn GetVarDesc( - index: UINT, - pPVarDesc: *mut *mut VARDESC, - ) -> HRESULT, - fn GetNames( - memid: MEMBERID, - rgBstrNames: *mut BSTR, - cMaxNames: UINT, - pcNames: *mut UINT, - ) -> HRESULT, - fn GetRefTypeOfImplType( - index: UINT, - pRefType: *mut HREFTYPE, - ) -> HRESULT, - fn GetImplTypeFlags( - index: UINT, - pImplTypeFlags: *mut INT, - ) -> HRESULT, - fn GetIDsOfNames( - rgszNames: *mut LPOLESTR, - cNames: UINT, - pMemId: *mut MEMBERID, - ) -> HRESULT, - fn Invoke( - pvInstance: PVOID, - memid: MEMBERID, - wFlags: WORD, - pDispParams: *mut DISPPARAMS, - pVarResult: *mut VARIANT, - pExcepInfo: *mut EXCEPINFO, - puArgErr: *mut UINT, - ) -> HRESULT, - fn GetDocumentation( - memid: MEMBERID, - pBstrName: *mut BSTR, - pBstrDocString: *mut BSTR, - pdwHelpContext: *mut DWORD, - pBstrHelpFile: *mut BSTR, - ) -> HRESULT, - fn GetDllEntry( - memid: MEMBERID, - invKind: INVOKEKIND, - pBstrDllName: *mut BSTR, - pBstrName: *mut BSTR, - pwOrdinal: *mut WORD, - ) -> HRESULT, - fn GetRefTypeInfo( - hRefType: HREFTYPE, - ppTInfo: *mut *mut ITypeInfo, - ) -> HRESULT, - fn AddressOfMember( - memid: MEMBERID, - invKind: INVOKEKIND, - ppv: *mut PVOID, - ) -> HRESULT, - fn CreateInstance( - pUnkOuter: *mut IUnknown, - riid: REFIID, - ppvObj: *mut PVOID, - ) -> HRESULT, - fn GetMops( - memid: MEMBERID, - pBstrMops: *mut BSTR, - ) -> HRESULT, - fn GetContainingTypeLib( - ppTLib: *mut *mut ITypeLib, - pIndex: *mut UINT, - ) -> HRESULT, - fn ReleaseTypeAttr( - pTypeAttr: *mut TYPEATTR, - ) -> (), - fn ReleaseFuncDesc( - pFuncDesc: *mut FUNCDESC, - ) -> (), - fn ReleaseVarDesc( - pVarDesc: *mut VARDESC, - ) -> (), -}} -RIDL!{#[uuid(0x3127ca40, 0x446e, 0x11ce, 0x81, 0x35, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51)] -interface IErrorLog(IErrorLogVtbl): IUnknown(IUnknownVtbl) { - fn AddError( - pszPropName: LPCOLESTR, - pExcepInfo: *const EXCEPINFO, - ) -> HRESULT, -}} -pub type LPERRORLOG = *mut IErrorLog; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/objbase.rs b/vendor/registry-40351f815f426200/winapi/src/um/objbase.rs deleted file mode 100644 index 7cafface2..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/objbase.rs +++ /dev/null @@ -1,64 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Component object model defintions -use shared::minwindef::LPVOID; -use um::combaseapi::COINITBASE_MULTITHREADED; -use um::winnt::HRESULT; -ENUM!{enum COINIT { - COINIT_APARTMENTTHREADED = 0x2, - COINIT_MULTITHREADED = COINITBASE_MULTITHREADED, - COINIT_DISABLE_OLE1DDE = 0x4, - COINIT_SPEED_OVER_MEMORY = 0x8, -}} - // pub fn CoBuildVersion(); -extern "system" { - pub fn CoInitialize( - pvReserved: LPVOID, - ) -> HRESULT; -} - // pub fn CoRegisterMallocSpy(); - // pub fn CoRevokeMallocSpy(); - // pub fn CoRegisterInitializeSpy(); - // pub fn CoRevokeInitializeSpy(); - // pub fn CoGetSystemSecurityPermissions(); - // pub fn CoLoadLibrary(); - // pub fn CoFreeLibrary(); - // pub fn CoFreeAllLibraries(); - // pub fn CoGetInstanceFromFile(); - // pub fn CoGetInstanceFromIStorage(); - // pub fn CoAllowSetForegroundWindow(); - // pub fn DcomChannelSetHResult(); - // pub fn CoIsOle1Class(); - // pub fn CLSIDFromProgIDEx(); - // pub fn CoFileTimeToDosDateTime(); - // pub fn CoDosDateTimeToFileTime(); - // pub fn CoFileTimeNow(); - // pub fn CoRegisterMessageFilter(); - // pub fn CoRegisterChannelHook(); - // pub fn CoTreatAsClass(); - // pub fn CreateDataAdviseHolder(); - // pub fn CreateDataCache(); - // pub fn StgOpenAsyncDocfileOnIFillLockBytes(); - // pub fn StgGetIFillLockBytesOnILockBytes(); - // pub fn StgGetIFillLockBytesOnFile(); - // pub fn StgOpenLayoutDocfile(); - // pub fn CoInstall(); - // pub fn BindMoniker(); - // pub fn CoGetObject(); - // pub fn MkParseDisplayName(); - // pub fn MonikerRelativePathTo(); - // pub fn MonikerCommonPrefixWith(); - // pub fn CreateBindCtx(); - // pub fn CreateGenericComposite(); - // pub fn GetClassFile(); - // pub fn CreateClassMoniker(); - // pub fn CreateFileMoniker(); - // pub fn CreateItemMoniker(); - // pub fn CreateAntiMoniker(); - // pub fn CreatePointerMoniker(); - // pub fn CreateObjrefMoniker(); - // pub fn GetRunningObjectTable(); - // pub fn CreateStdProgressIndicator(); diff --git a/vendor/registry-40351f815f426200/winapi/src/um/objidl.rs b/vendor/registry-40351f815f426200/winapi/src/um/objidl.rs deleted file mode 100644 index f3f0b27aa..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/objidl.rs +++ /dev/null @@ -1,507 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! this ALWAYS GENERATED file contains the definitions for the interfaces -use ctypes::c_void; -use shared::basetsd::UINT64; -use shared::guiddef::{CLSID, IID, REFCLSID, REFIID}; -use shared::minwindef::{BOOL, BYTE, DWORD, FILETIME, HGLOBAL, ULONG, WORD}; -use shared::ntdef::LONG; -use shared::windef::{HBITMAP, HENHMETAFILE}; -use shared::wtypes::{CLIPFORMAT, HMETAFILEPICT}; -use shared::wtypesbase::{LPOLESTR, OLECHAR}; -use um::objidlbase::{IEnumString, IStream, STATSTG}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, ULARGE_INTEGER}; -//8402 -STRUCT!{struct BIND_OPTS { - cbStruct: DWORD, - grfFlags: DWORD, - grfMode: DWORD, - dwTickCountDeadline: DWORD, -}} -pub type LPBIND_OPTS = *mut BIND_OPTS; -//8479 -RIDL!{#[uuid(0x0000000e, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IBindCtx(IBindCtxVtbl): IUnknown(IUnknownVtbl) { - fn RegisterObjectBound( - punk: *mut IUnknown, - ) -> HRESULT, - fn RevokeObjectBound( - punk: *mut IUnknown, - ) -> HRESULT, - fn ReleaseBoundObjects() -> HRESULT, - fn SetBindOptions( - pbindopts: *mut BIND_OPTS, - ) -> HRESULT, - fn GetBindOptions( - pbindopts: *mut BIND_OPTS, - ) -> HRESULT, - fn GetRunningObjectTable( - pprot: *mut *mut IRunningObjectTable, - ) -> HRESULT, - fn RegisterObjectParam( - pszKey: LPOLESTR, - punk: *mut IUnknown, - ) -> HRESULT, - fn GetObjectParam( - pszKey: LPOLESTR, - ppunk: *mut *mut IUnknown, - ) -> HRESULT, - fn EnumObjectParam( - ppenum: *mut *mut IEnumString, - ) -> HRESULT, - fn RevokeObjectParam( - pszKey: LPOLESTR, - ) -> HRESULT, -}} -//8681 -RIDL!{#[uuid(0x00000102, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IEnumMoniker(IEnumMonikerVtbl): IUnknown(IUnknownVtbl) { - fn Next( - celt: ULONG, - rgelt: *mut *mut IMoniker, - pceltFetched: *mut ULONG, - ) -> HRESULT, - fn Skip( - celt: ULONG, - ) -> HRESULT, - fn Reset() -> HRESULT, - fn Clone( - ppenum: *mut *mut IEnumMoniker, - ) -> HRESULT, -}} -//8958 -RIDL!{#[uuid(0x00000010, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IRunningObjectTable(IRunningObjectTableVtbl): IUnknown(IUnknownVtbl) { - fn Register( - grfFlags: DWORD, - punkObject: *mut IUnknown, - pmkObjectName: *mut IMoniker, - pdwRegister: *mut DWORD, - ) -> HRESULT, - fn Revoke( - dwRegister: DWORD, - ) -> HRESULT, - fn IsRunning( - pmkObjectName: *mut IMoniker, - ) -> HRESULT, - fn GetObject( - pmkObjectName: *mut IMoniker, - ppunkObject: *mut *mut IUnknown, - ) -> HRESULT, - fn NoteChangeTime( - dwRegister: DWORD, - pfiletime: *mut FILETIME, - ) -> HRESULT, - fn GetTimeOfLastChange( - pmkObjectName: *mut IMoniker, - pfiletime: *mut FILETIME, - ) -> HRESULT, - fn EnumRunning( - ppenumMoniker: *mut *mut IEnumMoniker, - ) -> HRESULT, -}} -//9125 -RIDL!{#[uuid(0x0000010c, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IPersist(IPersistVtbl): IUnknown(IUnknownVtbl) { - fn GetClassID( - pClassID: *mut CLSID, - ) -> HRESULT, -}} -//9207 -RIDL!{#[uuid(0x00000109, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IPersistStream(IPersistStreamVtbl): IPersist(IPersistVtbl) { - fn IsDirty() -> HRESULT, - fn Load( - pStm: *mut IStream, - ) -> HRESULT, - fn Save( - pStm: *mut IStream, - fClearDirty: BOOL, - ) -> HRESULT, - fn GetSizeMax( - pcbSize: *mut ULARGE_INTEGER, - ) -> HRESULT, -}} -//9350 -RIDL!{#[uuid(0x0000000f, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IMoniker(IMonikerVtbl): IPersistStream(IPersistStreamVtbl) { - fn BindToObject( - pbc: *mut IBindCtx, - pmkToLeft: *mut IMoniker, - riidResult: REFIID, - ppvResult: *mut *mut c_void, - ) -> HRESULT, - fn BindToStorage( - pbc: *mut IBindCtx, - pmkToLeft: *mut IMoniker, - riid: REFIID, - ppvObj: *mut *mut c_void, - ) -> HRESULT, - fn Reduce( - pbc: *mut IBindCtx, - dwReduceHowFar: DWORD, - ppmkToLeft: *mut *mut IMoniker, - ppmkReduced: *mut *mut IMoniker, - ) -> HRESULT, - fn ComposeWith( - pmkRight: *mut IMoniker, - fOnlyIfNotGeneric: BOOL, - ppmkComposite: *mut *mut IMoniker, - ) -> HRESULT, - fn Enum( - fForward: BOOL, - ppenumMoniker: *mut *mut IEnumMoniker, - ) -> HRESULT, - fn IsEqual( - pmkOtherMoniker: *mut IMoniker, - ) -> HRESULT, - fn Hash( - pdwHash: *mut DWORD, - ) -> HRESULT, - fn IsRunning( - pbc: *mut IBindCtx, - pmkToLeft: *mut IMoniker, - pmkNewlyRunning: *mut IMoniker, - ) -> HRESULT, - fn GetTimeOfLastChange( - pbc: *mut IBindCtx, - pmkToLeft: *mut IMoniker, - pFileTime: *mut FILETIME, - ) -> HRESULT, - fn Inverse( - ppmk: *mut *mut IMoniker, - ) -> HRESULT, - fn CommonPrefixWith( - pmkOther: *mut IMoniker, - ppmkPrefix: *mut *mut IMoniker, - ) -> HRESULT, - fn RelativePathTo( - pmkOther: *mut IMoniker, - ppmkRelPath: *mut *mut IMoniker, - ) -> HRESULT, - fn GetDisplayName( - pbc: *mut IBindCtx, - pmkToLeft: *mut IMoniker, - ppszDisplayName: *mut LPOLESTR, - ) -> HRESULT, - fn ParseDisplayName( - pbc: *mut IBindCtx, - pmkToLeft: *mut IMoniker, - pszDisplayName: LPOLESTR, - pchEaten: *mut ULONG, - ppmkOut: *mut *mut IMoniker, - ) -> HRESULT, - fn IsSystemMoniker( - pdwMksys: *mut DWORD, - ) -> HRESULT, -}} -ENUM!{enum EOLE_AUTHENTICATION_CAPABILITIES { - EOAC_NONE = 0, - EOAC_MUTUAL_AUTH = 0x1, - EOAC_STATIC_CLOAKING = 0x20, - EOAC_DYNAMIC_CLOAKING = 0x40, - EOAC_ANY_AUTHORITY = 0x80, - EOAC_MAKE_FULLSIC = 0x100, - EOAC_DEFAULT = 0x800, - EOAC_SECURE_REFS = 0x2, - EOAC_ACCESS_CONTROL = 0x4, - EOAC_APPID = 0x8, - EOAC_DYNAMIC = 0x10, - EOAC_REQUIRE_FULLSIC = 0x200, - EOAC_AUTO_IMPERSONATE = 0x400, - EOAC_NO_CUSTOM_MARSHAL = 0x2000, - EOAC_DISABLE_AAA = 0x1000, -}} -STRUCT!{struct SOLE_AUTHENTICATION_SERVICE { - dwAuthnSvc: DWORD, - dwAuthzSvc: DWORD, - pPrincipalName: *mut OLECHAR, - hr: HRESULT, -}} -RIDL!{#[uuid(0x0000000d, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IEnumSTATSTG(IEnumSTATSTGVtbl): IUnknown(IUnknownVtbl) { - fn Next( - celt: ULONG, - rgelt: *mut STATSTG, - pceltFetched: *mut ULONG, - ) -> HRESULT, - fn Skip( - celt: ULONG, - ) -> HRESULT, - fn Reset() -> HRESULT, - fn Clone( - ppenum: *mut *mut IEnumSTATSTG, - ) -> HRESULT, -}} -pub type SNB = *const *const OLECHAR; -RIDL!{#[uuid(0x0000000b, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IStorage(IStorageVtbl): IUnknown(IUnknownVtbl) { - fn CreateStream( - pwcsName: *const OLECHAR, - grfMode: DWORD, - reserved1: DWORD, - reserved2: DWORD, - ppstm: *mut *mut IStream, - ) -> HRESULT, - fn OpenStream( - pwcsName: *const OLECHAR, - reserved1: *const c_void, - grfMode: DWORD, - reserved2: DWORD, - ppstm: *mut *mut IStream, - ) -> HRESULT, - fn CreateStorage( - pwcsName: *const OLECHAR, - grfMode: DWORD, - reserved1: DWORD, - reserved2: DWORD, - ppstg: *mut *mut IStorage, - ) -> HRESULT, - fn OpenStorage( - pwcsName: *const OLECHAR, - pstgPriority: IStorage, - grfMode: DWORD, - snbExclude: SNB, - reserved: DWORD, - ppstg: *mut *mut IStorage, - ) -> HRESULT, - fn CopyTo( - ciidExclude: DWORD, - rgiidExclude: *const IID, - snbExclude: SNB, - pstgDest: *const IStorage, - ) -> HRESULT, - fn MoveElementTo( - pwcsName: *const OLECHAR, - pstgDest: *const IStorage, - pwcsNewName: *const OLECHAR, - grfFlags: DWORD, - ) -> HRESULT, - fn Commit( - grfCommitFlags: DWORD, - ) -> HRESULT, - fn Revert() -> HRESULT, - fn EnumElements( - reserved1: DWORD, - reserved2: *const c_void, - reserved3: DWORD, - ppenum: *mut *mut IEnumSTATSTG, - ) -> HRESULT, - fn DestroyElement( - pwcsName: *const OLECHAR, - ) -> HRESULT, - fn RenameElement( - pwcsOldName: *const OLECHAR, - pwcsNewName: *const OLECHAR, - ) -> HRESULT, - fn SetElementTimes( - pwcsName: *const OLECHAR, - pctime: *const FILETIME, - patime: *const FILETIME, - pmtime: *const FILETIME, - ) -> HRESULT, - fn SetClass( - clsid: REFCLSID, - ) -> HRESULT, - fn SetStateBits( - grfStateBits: DWORD, - grfMask: DWORD, - ) -> HRESULT, - fn Stat( - pstatstg: *mut STATSTG, - grfStatFlag: DWORD, - ) -> HRESULT, -}} -STRUCT!{struct DVTARGETDEVICE { - tdSize: DWORD, - tdDriverNameOffset: WORD, - tdDeviceNameOffset: WORD, - tdPortNameOffset: WORD, - tdExtDevmodeOFfset: WORD, - tdData: [BYTE; 1], -}} -STRUCT!{struct FORMATETC { - cfFormat: CLIPFORMAT, - ptd: *const DVTARGETDEVICE, - dwAspect: DWORD, - lindex: LONG, - tymed: DWORD, -}} -RIDL!{#[uuid(0x00000103, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IEnumFORMATETC(IEnumFORMATETCVtbl): IUnknown(IUnknownVtbl) { - fn Next( - celt: ULONG, - rgelt: *mut FORMATETC, - pceltFetched: *mut ULONG, - ) -> HRESULT, - fn Skip( - celt: ULONG, - ) -> HRESULT, - fn Reset() -> HRESULT, - fn Clone( - ppenum: *mut *mut IEnumFORMATETC, - ) -> HRESULT, -}} -ENUM!{enum ADVF { - ADVF_NODATA = 1, - ADVF_PRIMEFIRST = 2, - ADVF_ONLYONCE = 4, - ADVF_DATAONSTOP = 64, - ADVFCACHE_NOHANDLER = 8, - ADVFCACHE_FORCEBUILTIN = 16, - ADVFCACHE_ONSAVE = 32, -}} -STRUCT!{struct STATDATA { - formatetc: FORMATETC, - advf: DWORD, - pAdvSInk: *mut IAdviseSink, - dwConnection: DWORD, -}} -RIDL!{#[uuid(0x00000105, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IEnumSTATDATA(IEnumSTATDATAVtbl): IUnknown(IUnknownVtbl) { - fn Next( - celt: ULONG, - rgelt: *mut STATDATA, - pceltFetched: *mut ULONG, - ) -> HRESULT, - fn Skip( - celt: ULONG, - ) -> HRESULT, - fn Reset() -> HRESULT, - fn Clone( - ppenum: *mut *mut IEnumSTATDATA, - ) -> HRESULT, -}} -ENUM!{enum TYMED { - TYMED_HGLOBAL = 1, - TYMED_FILE = 2, - TYMED_ISTREAM = 4, - TYMED_ISTORAGE = 8, - TYMED_GDI = 16, - TYMED_MFPICT = 32, - TYMED_ENHMF = 64, - TYMED_NULL = 0, -}} -UNION!{union STGMEDIUM_u { - [u64; 7], //TODO: I guessed to move on - hBitmap hBitmap_mut: HBITMAP, - hMetaFilePict hMetaFilePict_mut: HMETAFILEPICT, - hEnhMetaFile hEnhMetaFile_mut: HENHMETAFILE, - hGlobal hGlobal_mut: HGLOBAL, - lpszFileName lpszFileName_mut: LPOLESTR, - pstm pstm_mut: *mut IStream, - pstg pstg_mut: *mut IStorage, -}} -STRUCT!{struct STGMEDIUM { - tymed: DWORD, - u: *mut STGMEDIUM_u, - pUnkForRelease: *mut IUnknown, -}} -RIDL!{#[uuid(0x0000010f, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IAdviseSink(IAdviseSinkVtbl): IUnknown(IUnknownVtbl) { - fn OnDataChange( - pformatetc: *mut FORMATETC, - pStgmed: *mut STGMEDIUM, - ) -> c_void, - fn OnViewChange( - dwAspect: DWORD, - lindex: LONG, - ) -> c_void, - fn OnRename( - pmk: *mut IMoniker, - ) -> c_void, - fn OnSave() -> c_void, - fn OnClose() -> c_void, -}} -ENUM!{enum DATADIR { - DATADIR_GET = 1, - DATADIR_SET = 2, -}} -pub type LPDATAOBJECT = *mut IDataObject; -RIDL!{#[uuid(0x0000010e, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IDataObject(IDataObjectVtbl): IUnknown(IUnknownVtbl) { - fn GetData( - pformatetcIn: *const FORMATETC, - pmedium: *mut STGMEDIUM, - ) -> HRESULT, - fn GetDataHere( - pformatetc: *const FORMATETC, - pmedium: *mut STGMEDIUM, - ) -> HRESULT, - fn QueryGetData( - pformatetc: *const FORMATETC, - ) -> HRESULT, - fn GetCanonicalFormatEtc( - pformatetcIn: *const FORMATETC, - pformatetcOut: *mut FORMATETC, - ) -> HRESULT, - fn SetData( - pformatetc: *const FORMATETC, - pformatetcOut: *const FORMATETC, - fRelease: BOOL, - ) -> HRESULT, - fn EnumFormatEtc( - dwDirection: DWORD, - ppenumFormatEtc: *mut *mut IEnumFORMATETC, - ) -> HRESULT, - fn DAdvise( - pformatetc: *const FORMATETC, - advf: DWORD, - pAdvSInk: *const IAdviseSink, - pdwConnection: *mut DWORD, - ) -> HRESULT, - fn DUnadvise( - dwConnection: DWORD, - ) -> HRESULT, - fn EnumDAdvise( - ppenumAdvise: *const *const IEnumSTATDATA, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa2f05a09, 0x27a2, 0x42b5, 0xbc, 0x0e, 0xac, 0x16, 0x3e, 0xf4, 0x9d, 0x9b)] -interface IApartmentShutdown(IApartmentShutdownVtbl): IUnknown(IUnknownVtbl) { - fn OnUninitialize( - ui64ApartmentIdentifier: UINT64, - ) -> (), -}} -RIDL!{#[uuid(0x00000003, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IMarshal(IMarshalVtbl): IUnknown(IUnknownVtbl) { - fn GetUnmarshalClass( - riid: REFIID, - pv: *mut c_void, - dwDestContext: DWORD, - pvDestContext: *mut c_void, - mshlflags: DWORD, - pCid: *mut CLSID, - ) -> HRESULT, - fn GetMarshalSizeMax( - riid: REFIID, - pv: *mut c_void, - dwDestContext: DWORD, - pvDestContext: *mut c_void, - mshlflags: DWORD, - pSize: *mut DWORD, - ) -> HRESULT, - fn MarshalInterface( - pStm: *mut IStream, - riid: REFIID, - pv: *mut c_void, - dwDestContext: DWORD, - pvDestContext: *mut c_void, - mshlflags: DWORD, - ) -> HRESULT, - fn UnmarshalInterface( - pStm: *mut IStream, - riid: REFIID, - ppv: *mut *mut c_void, - ) -> HRESULT, - fn ReleaseMarshalData( - pStm: *mut IStream, - ) -> HRESULT, - fn DisconnectObject( - dwReserved: DWORD, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/objidlbase.rs b/vendor/registry-40351f815f426200/winapi/src/um/objidlbase.rs deleted file mode 100644 index 9984480ea..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/objidlbase.rs +++ /dev/null @@ -1,952 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_int, c_void}; -use shared::basetsd::{SIZE_T, ULONG_PTR}; -use shared::guiddef::{CLSID, GUID, IID, REFCLSID, REFGUID, REFIID}; -use shared::minwindef::{BOOL, BYTE, DWORD, FILETIME, ULONG}; -use shared::wtypesbase::{COAUTHINFO, DOUBLE, LPOLESTR, OLECHAR}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HANDLE, HRESULT, LARGE_INTEGER, LONG, LPWSTR, ULARGE_INTEGER}; -STRUCT!{struct COSERVERINFO { - dwReserved1: DWORD, - pwszName: LPWSTR, - pAuthInfo: *mut COAUTHINFO, - dwReserved2: DWORD, -}} -pub type LPMARSHAL = *mut IMarshal; -RIDL!{#[uuid(0x00000003, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IMarshal(IMarshalVtbl): IUnknown(IUnknownVtbl) { - fn GetUnmarshalClass( - riid: REFIID, - pv: *mut c_void, - dwDestContext: DWORD, - pvDestContext: *mut c_void, - mshlflags: DWORD, - pCid: *mut CLSID, - ) -> HRESULT, - fn GetMarshalSizeMax( - riid: REFIID, - pv: *mut c_void, - dwDestContext: DWORD, - pvDestContext: *mut c_void, - mshlflags: DWORD, - pSize: *mut DWORD, - ) -> HRESULT, - fn MarshalInterface( - pStm: *mut IStream, - riid: REFIID, - pv: *mut c_void, - dwDestContext: DWORD, - pvDestContext: *mut c_void, - mshlflags: DWORD, - ) -> HRESULT, - fn UnmarshalInterface( - pStm: *mut IStream, - riid: REFIID, - ppv: *mut *mut c_void, - ) -> HRESULT, - fn ReleaseMarshalData( - pStm: *mut IStream, - ) -> HRESULT, - fn DisconnectObject( - dwReserved: DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xecc8691b, 0xc1db, 0x4dc0, 0x85, 0x5e, 0x65, 0xf6, 0xc5, 0x51, 0xaf, 0x49)] -interface INoMarshal(INoMarshalVtbl): IUnknown(IUnknownVtbl) {}} -RIDL!{#[uuid(0x94ea2b94, 0xe9cc, 0x49e0, 0xc0, 0xff, 0xee, 0x64, 0xca, 0x8f, 0x5b, 0x90)] -interface IAgileObject(IAgileObjectVtbl): IUnknown(IUnknownVtbl) {}} -ENUM!{enum ACTIVATIONTYPE { - ACTIVATIONTYPE_UNCATEGORIZED = 0, - ACTIVATIONTYPE_FROM_MONIKER = 0x1, - ACTIVATIONTYPE_FROM_DATA = 0x2, - ACTIVATIONTYPE_FROM_STORAGE = 0x4, - ACTIVATIONTYPE_FROM_STREAM = 0x8, - ACTIVATIONTYPE_FROM_FILE = 0x10, -}} -RIDL!{#[uuid(0x00000017, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IActivationFilter(IActivationFilterVtbl): IUnknown(IUnknownVtbl) { - fn HandleActivation( - dwActivationType: DWORD, - rclsid: REFCLSID, - pReplacementClsId: *mut CLSID, - ) -> HRESULT, -}} -pub type LPMARSHAL2 = *mut IMarshal2; -RIDL!{#[uuid(0x000001cf, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IMarshal2(IMarshal2Vtbl): IMarshal(IMarshalVtbl) {}} -pub type LPMALLOC = *mut IMalloc; -RIDL!{#[uuid(0x00000002, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IMalloc(IMallocVtbl): IUnknown(IUnknownVtbl) { - fn Alloc( - cb: SIZE_T, - ) -> *mut c_void, - fn Realloc( - pv: *mut c_void, - cb: SIZE_T, - ) -> *mut c_void, - fn Free( - pv: *mut c_void, - ) -> (), - fn GetSize( - pv: *mut c_void, - ) -> SIZE_T, - fn DidAlloc( - pv: *mut c_void, - ) -> c_int, - fn HeapMinimize() -> (), -}} -pub type LPSTDMARSHALINFO = IStdMarshalInfo; -RIDL!{#[uuid(0x00000018, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IStdMarshalInfo(IStdMarshalInfoVtbl): IUnknown(IUnknownVtbl) { - fn GetClassForHandler( - dwDestContext: DWORD, - pvDestContext: *mut c_void, - pClsid: *mut CLSID, - ) -> HRESULT, -}} -ENUM!{enum EXTCONN { - EXTCONN_STRONG = 0x1, - EXTCONN_WEAK = 0x2, - EXTCONN_CALLABLE = 0x4, -}} -RIDL!{#[uuid(0x00000019, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IExternalConnection(IExternalConnectionVtbl): IUnknown(IUnknownVtbl) { - fn AddConnection( - extconn: DWORD, - reserved: DWORD, - ) -> DWORD, - fn ReleaseConnection( - extconn: DWORD, - reserved: DWORD, - fLastReleaseCloses: BOOL, - ) -> DWORD, -}} -pub type LPMULTIQI = *mut IMultiQI; -STRUCT!{struct MULTI_QI { - pIID: *const IID, - pItf: *mut IUnknown, - hr: HRESULT, -}} -RIDL!{#[uuid(0x00000020, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IMultiQI(IMultiQIVtbl): IUnknown(IUnknownVtbl) { - fn QueryMultipleInterfaces( - cMQIs: ULONG, - pMQIs: *mut MULTI_QI, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x000e0020, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface AsyncIMultiQI(AsyncIMultiQIVtbl): IUnknown(IUnknownVtbl) { - fn Begin_QueryMultipleInterfaces( - cMQIs: ULONG, - pMQIs: *mut MULTI_QI, - ) -> HRESULT, - fn Finish_QueryMultipleInterfaces( - pMQIs: *mut MULTI_QI, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00000021, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IInternalUnknown(IInternalUnknownVtbl): IUnknown(IUnknownVtbl) { - fn QueryInternalInterface( - riid: REFIID, - ppv: *mut *mut c_void, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00000100, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IEnumUnknown(IEnumUnknownVtbl): IUnknown(IUnknownVtbl) { - fn Next( - celt: ULONG, - rgelt: *mut *mut IUnknown, - pceltFetched: *mut ULONG, - ) -> HRESULT, - fn Skip( - celt: ULONG, - ) -> HRESULT, - fn Reset() -> HRESULT, - fn Clone( - ppenum: *mut *mut IEnumUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00000101, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IEnumString(IEnumStringVtbl): IUnknown(IUnknownVtbl) { - fn Next( - celt: ULONG, - rgelt: *mut LPOLESTR, - pceltFetched: *mut ULONG, - ) -> HRESULT, - fn Skip( - celt: ULONG, - ) -> HRESULT, - fn Reset() -> HRESULT, - fn Clone( - ppenum: *mut *mut IEnumString, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x0c733a30, 0x2a1c, 0x11ce, 0xad, 0xe5, 0x00, 0xaa, 0x00, 0x44, 0x77, 0x3d)] -interface ISequentialStream(ISequentialStreamVtbl): IUnknown(IUnknownVtbl) { - fn Read( - pv: *mut c_void, - cb: ULONG, - pcbRead: *mut ULONG, - ) -> HRESULT, - fn Write( - pv: *const c_void, - cb: ULONG, - pcbWritten: *mut ULONG, - ) -> HRESULT, -}} -STRUCT!{struct STATSTG { - pwcsName: LPOLESTR, - type_: DWORD, - cbSize: ULARGE_INTEGER, - mtime: FILETIME, - ctime: FILETIME, - atime: FILETIME, - grfMode: DWORD, - grfLocksSupported: DWORD, - clsid: CLSID, - grfStateBits: DWORD, - reserved: DWORD, -}} -ENUM!{enum STGTY { - STGTY_STORAGE = 1, - STGTY_STREAM = 2, - STGTY_LOCKBYTES = 3, - STGTY_PROPERTY = 4, -}} -ENUM!{enum STREAM_SEEK { - STREAM_SEEK_SET = 0, - STREAM_SEEK_CUR = 1, - STREAM_SEEK_END = 2, -}} -ENUM!{enum LOCKTYPE { - LOCK_WRITE = 1, - LOCK_EXCLUSIVE = 2, - LOCK_ONLYONCE = 4, -}} -pub type LPSTREAM = *mut IStream; -RIDL!{#[uuid(0x0000000c, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IStream(IStreamVtbl): ISequentialStream(ISequentialStreamVtbl) { - fn Seek( - dlibMove: LARGE_INTEGER, - dwOrigin: DWORD, - plibNewPosition: *mut ULARGE_INTEGER, - ) -> HRESULT, - fn SetSize( - libNewSize: ULARGE_INTEGER, - ) -> HRESULT, - fn CopyTo( - pstm: *mut IStream, - cb: ULARGE_INTEGER, - pcbRead: *mut ULARGE_INTEGER, - pcbWritten: *mut ULARGE_INTEGER, - ) -> HRESULT, - fn Commit( - grfCommitFlags: DWORD, - ) -> HRESULT, - fn Revert() -> HRESULT, - fn LockRegion( - libOffset: ULARGE_INTEGER, - cb: ULARGE_INTEGER, - dwLockType: DWORD, - ) -> HRESULT, - fn UnlockRegion( - libOffset: ULARGE_INTEGER, - cb: ULARGE_INTEGER, - dwLockType: DWORD, - ) -> HRESULT, - fn Stat( - pstatstg: *mut STATSTG, - grfStatFlag: DWORD, - ) -> HRESULT, - fn Clone( - ppstm: *mut *mut IStream, - ) -> HRESULT, -}} -pub type RPCOLEDATAREP = ULONG; -STRUCT!{struct RPCOLEMESSAGE { - reserved1: *mut c_void, - dataRepresentation: RPCOLEDATAREP, - Buffer: *mut c_void, - cbBuffer: ULONG, - iMethod: ULONG, - reserved2: [*mut c_void; 5], - rpcFlags: ULONG, -}} -pub type PRPCOLEMESSAGE = *mut RPCOLEMESSAGE; -RIDL!{#[uuid(0xd5f56b60, 0x593b, 0x101a, 0xb5, 0x69, 0x08, 0x00, 0x2b, 0x2d, 0xbf, 0x7a)] -interface IRpcChannelBuffer(IRpcChannelBufferVtbl): IUnknown(IUnknownVtbl) { - fn GetBuffer( - pMessage: *mut RPCOLEMESSAGE, - riid: REFIID, - ) -> HRESULT, - fn SendReceive( - pMessage: *mut RPCOLEMESSAGE, - pStatus: *mut ULONG, - ) -> HRESULT, - fn FreeBuffer( - pMessage: *mut RPCOLEMESSAGE, - ) -> HRESULT, - fn GetDestCtx( - pdwDestContext: *mut DWORD, - ppvDestContext: *mut *mut c_void, - ) -> HRESULT, - fn IsConnected() -> HRESULT, -}} -RIDL!{#[uuid(0x594f31d0, 0x7f19, 0x11d0, 0xb1, 0x94, 0x00, 0xa0, 0xc9, 0x0d, 0xc8, 0xbf)] -interface IRpcChannelBuffer2(IRpcChannelBuffer2Vtbl): IRpcChannelBuffer(IRpcChannelBufferVtbl) { - fn GetProtocolVersion( - pdwVersion: *mut DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa5029fb6, 0x3c34, 0x11d1, 0x9c, 0x99, 0x00, 0xc0, 0x4f, 0xb9, 0x98, 0xaa)] -interface IAsyncRpcChannelBuffer(IAsyncRpcChannelBufferVtbl): - IRpcChannelBuffer2(IRpcChannelBuffer2Vtbl) { - fn Send( - pMsg: *mut RPCOLEMESSAGE, - pSync: *mut ISynchronize, - pulStatus: *mut ULONG, - ) -> HRESULT, - fn Receive( - pMsg: *mut RPCOLEMESSAGE, - pulStatus: *mut ULONG, - ) -> HRESULT, - fn GetDestCtxEx( - pMsg: *mut RPCOLEMESSAGE, - pdwDestContext: *mut DWORD, - ppvDestContext: *mut *mut c_void, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x25b15600, 0x0115, 0x11d0, 0xbf, 0x0d, 0x00, 0xaa, 0x00, 0xb8, 0xdf, 0xd2)] -interface IRpcChannelBuffer3(IRpcChannelBuffer3Vtbl): IRpcChannelBuffer2(IRpcChannelBuffer2Vtbl) { - fn Send( - pMsg: *mut RPCOLEMESSAGE, - pulStatus: *mut ULONG, - ) -> HRESULT, - fn Receive( - pMsg: *mut RPCOLEMESSAGE, - ulSize: ULONG, - pulStatus: *mut ULONG, - ) -> HRESULT, - fn Cancel( - pMsg: *mut RPCOLEMESSAGE, - ) -> HRESULT, - fn GetCallContext( - pMsg: *mut RPCOLEMESSAGE, - riid: REFIID, - pInterface: *mut *mut c_void, - ) -> HRESULT, - fn GetDestCtxEx( - pMsg: *mut RPCOLEMESSAGE, - pdwDestContext: *mut DWORD, - ppvDestContext: *mut *mut c_void, - ) -> HRESULT, - fn GetState( - pMsg: *mut RPCOLEMESSAGE, - pState: *mut DWORD, - ) -> HRESULT, - fn RegisterAsync( - pMsg: *mut RPCOLEMESSAGE, - pAsyncMgr: *mut IAsyncManager, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x58a08519, 0x24c8, 0x4935, 0xb4, 0x82, 0x3f, 0xd8, 0x23, 0x33, 0x3a, 0x4f)] -interface IRpcSyntaxNegotiate(IRpcSyntaxNegotiateVtbl): IUnknown(IUnknownVtbl) { - fn NegotiateSyntax( - pMsg: *mut RPCOLEMESSAGE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xd5f56a34, 0x593b, 0x101a, 0xb5, 0x69, 0x08, 0x00, 0x2b, 0x2d, 0xbf, 0x7a)] -interface IRpcProxyBuffer(IRpcProxyBufferVtbl): IUnknown(IUnknownVtbl) { - fn Connect( - pRpcChannelBuffer: *mut IRpcChannelBuffer, - ) -> HRESULT, - fn Disconnect() -> (), -}} -RIDL!{#[uuid(0xd5f56afc, 0x593b, 0x101a, 0xb5, 0x69, 0x08, 0x00, 0x2b, 0x2d, 0xbf, 0x7a)] -interface IRpcStubBuffer(IRpcStubBufferVtbl): IUnknown(IUnknownVtbl) { - fn Connect( - pUnkServer: *mut IUnknown, - ) -> HRESULT, - fn Disconnect() -> (), - fn Invoke( - _prpcmsg: *mut RPCOLEMESSAGE, - _pRpcChannelBuffer: *mut IRpcChannelBuffer, - ) -> HRESULT, - fn IsIIDSupported( - riid: REFIID, - ) -> *mut IRpcStubBuffer, - fn CountRefs() -> ULONG, - fn DebugServerQueryInterface( - ppv: *mut *mut c_void, - ) -> HRESULT, - fn DebugServerRelease( - pv: *mut c_void, - ) -> (), -}} -RIDL!{#[uuid(0xd5f569d0, 0x593b, 0x101a, 0xb5, 0x69, 0x08, 0x00, 0x2b, 0x2d, 0xbf, 0x7a)] -interface IPSFactoryBuffer(IPSFactoryBufferVtbl): IUnknown(IUnknownVtbl) { - fn CreateProxy( - pUnkOuter: *mut IUnknown, - riid: REFIID, - ppProxy: *mut *mut IRpcProxyBuffer, - ppv: *mut *mut c_void, - ) -> HRESULT, - fn CreateStub( - riid: REFIID, - pUnkServer: *mut *mut IUnknown, - ppStub: *mut *mut IRpcStubBuffer, - ) -> HRESULT, -}} -STRUCT!{struct SChannelHookCallInfo { - iid: IID, - cbSize: DWORD, - uCausality: GUID, - dwServerPid: DWORD, - iMethod: DWORD, - pObject: *mut c_void, -}} -RIDL!{#[uuid(0x1008c4a0, 0x7613, 0x11cf, 0x9a, 0xf1, 0x00, 0x20, 0xaf, 0x6e, 0x72, 0xf4)] -interface IChannelHook(IChannelHookVtbl): IUnknown(IUnknownVtbl) { - fn ClientGetSize( - uExtent: REFGUID, - riid: REFIID, - pDataSize: *mut ULONG, - ) -> (), - fn ClientFillBuffer( - uExtent: REFGUID, - riid: REFIID, - pDataSize: *mut ULONG, - pDataBuffer: *mut c_void, - ) -> (), - fn ClientNotify( - uExtent: REFGUID, - riid: REFIID, - cbDataSize: ULONG, - pDataBuffer: *mut c_void, - lDataRep: DWORD, - hrFault: HRESULT, - ) -> (), - fn ServerNotify( - uExtent: REFGUID, - riid: REFIID, - cbDataSize: ULONG, - pDataBuffer: *mut c_void, - lDataRep: DWORD, - ) -> (), - fn ServerGetSize( - uExtent: REFGUID, - riid: REFIID, - hrFault: HRESULT, - pDataSize: *mut ULONG, - ) -> (), - fn ServerFillBuffer( - uExtent: REFGUID, - riid: REFIID, - pDataSize: *mut ULONG, - pDataBuffer: *mut c_void, - hrFault: HRESULT, - ) -> (), -}} -STRUCT!{struct SOLE_AUTHENTICATION_SERVICE { - dwAuthnSvc: DWORD, - dwAuthzSvc: DWORD, - pPrincipalName: *mut OLECHAR, - hr: HRESULT, -}} -pub type PSOLE_AUTHENTICATION_SERVICE = *mut SOLE_AUTHENTICATION_SERVICE; -ENUM!{enum EOLE_AUTHENTICATION_CAPABILITIES { - EOAC_NONE = 0, - EOAC_MUTUAL_AUTH = 0x1, - EOAC_STATIC_CLOAKING = 0x20, - EOAC_DYNAMIC_CLOAKING = 0x40, - EOAC_ANY_AUTHORITY = 0x80, - EOAC_MAKE_FULLSIC = 0x100, - EOAC_DEFAULT = 0x800, - EOAC_SECURE_REFS = 0x2, - EOAC_ACCESS_CONTROL = 0x4, - EOAC_APPID = 0x8, - EOAC_DYNAMIC = 0x10, - EOAC_REQUIRE_FULLSIC = 0x200, - EOAC_AUTO_IMPERSONATE = 0x400, - EOAC_DISABLE_AAA = 0x1000, - EOAC_NO_CUSTOM_MARSHAL = 0x2000, - EOAC_RESERVED1 = 0x4000, -}} -pub const COLE_DEFAULT_PRINCIPAL: *mut OLECHAR = -1isize as *mut OLECHAR; -pub const COLE_DEFAULT_AUTHINFO: *mut c_void = -1isize as *mut c_void; -STRUCT!{struct SOLE_AUTHENTICATION_INFO { - dwAuthnSvc: DWORD, - dwAuthzSvc: DWORD, - pAuthInfo: *mut c_void, -}} -pub type PSOLE_AUTHENTICATION_INFO = *mut SOLE_AUTHENTICATION_INFO; -STRUCT!{struct SOLE_AUTHENTICATION_LIST { - cAuthInfo: DWORD, - aAuthInfo: *mut SOLE_AUTHENTICATION_INFO, -}} -pub type PSOLE_AUTHENTICATION_LIST = *mut SOLE_AUTHENTICATION_LIST; -RIDL!{#[uuid(0x0000013d, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IClientSecurity(IClientSecurityVtbl): IUnknown(IUnknownVtbl) { - fn QueryBlanket( - pProxy: *mut IUnknown, - pAuthnSvc: *mut DWORD, - pAuthzSvc: *mut DWORD, - pServerPrincName: *mut *mut OLECHAR, - pAuthnLevel: *mut DWORD, - pImpLevel: *mut DWORD, - pAuthInfo: *mut *mut c_void, - pCapabilities: *mut DWORD, - ) -> HRESULT, - fn SetBlanket( - pProxy: *mut IUnknown, - dwAuthnSvc: DWORD, - dwAuthzSvc: DWORD, - pServerPrincName: *mut OLECHAR, - dwAuthnLevel: DWORD, - dwImpLevel: DWORD, - pAuthInfo: *mut c_void, - dwCapabilities: DWORD, - ) -> HRESULT, - fn CopyProxy( - pProxy: *mut IUnknown, - ppCopy: *mut *mut IUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x0000013e, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IServerSecurity(IServerSecurityVtbl): IUnknown(IUnknownVtbl) { - fn QueryBlanket( - pAuthnSvc: *mut DWORD, - pAuthzSvc: *mut DWORD, - pServerPrincName: *mut *mut OLECHAR, - pAuthnLevel: *mut DWORD, - pImpLevel: *mut DWORD, - pPrivs: *mut *mut c_void, - pCapabilities: *mut DWORD, - ) -> HRESULT, - fn ImpersonateClient() -> HRESULT, - fn RevertToSelf() -> HRESULT, - fn IsImpersonating() -> BOOL, -}} -ENUM!{enum RPCOPT_PROPERTIES { - COMBND_RPCTIMEOUT = 0x1, - COMBND_SERVER_LOCALITY = 0x2, - COMBND_RESERVED1 = 0x4, - COMBND_RESERVED2 = 0x5, - COMBND_RESERVED3 = 0x8, - COMBND_RESERVED4 = 0x10, -}} -ENUM!{enum RPCOPT_SERVER_LOCALITY_VALUES { - SERVER_LOCALITY_PROCESS_LOCAL = 0, - SERVER_LOCALITY_MACHINE_LOCAL = 1, - SERVER_LOCALITY_REMOTE = 2, -}} -RIDL!{#[uuid(0x00000144, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IRpcOptions(IRpcOptionsVtbl): IUnknown(IUnknownVtbl) { - fn Set( - pPrx: *mut IUnknown, - dwProperty: RPCOPT_PROPERTIES, - dwValue: ULONG_PTR, - ) -> HRESULT, - fn Query( - pPrx: *mut IUnknown, - dwProperty: RPCOPT_PROPERTIES, - pdwValue: *mut ULONG_PTR, - ) -> HRESULT, -}} -ENUM!{enum GLOBALOPT_PROPERTIES { - COMGLB_EXCEPTION_HANDLING = 1, - COMGLB_APPID = 2, - COMGLB_RPC_THREADPOOL_SETTING = 3, - COMGLB_RO_SETTINGS = 4, - COMGLB_UNMARSHALING_POLICY = 5, - COMGLB_PROPERTIES_RESERVED1 = 6, -}} -ENUM!{enum GLOBALOPT_EH_VALUES { - COMGLB_EXCEPTION_HANDLE = 0, - COMGLB_EXCEPTION_DONOT_HANDLE_FATAL = 1, - COMGLB_EXCEPTION_DONOT_HANDLE = COMGLB_EXCEPTION_DONOT_HANDLE_FATAL, - COMGLB_EXCEPTION_DONOT_HANDLE_ANY = 2, -}} -ENUM!{enum GLOBALOPT_RPCTP_VALUES { - COMGLB_RPC_THREADPOOL_SETTING_DEFAULT_POOL = 0, - COMGLB_RPC_THREADPOOL_SETTING_PRIVATE_POOL = 1, -}} -ENUM!{enum GLOBALOPT_RO_FLAGS { - COMGLB_STA_MODALLOOP_REMOVE_TOUCH_MESSAGES = 0x1, - COMGLB_STA_MODALLOOP_SHARED_QUEUE_REMOVE_INPUT_MESSAGES = 0x2, - COMGLB_STA_MODALLOOP_SHARED_QUEUE_DONOT_REMOVE_INPUT_MESSAGES = 0x4, - COMGLB_FAST_RUNDOWN = 0x8, - COMGLB_RESERVED1 = 0x10, - COMGLB_RESERVED2 = 0x20, - COMGLB_RESERVED3 = 0x40, - COMGLB_STA_MODALLOOP_SHARED_QUEUE_REORDER_POINTER_MESSAGES = 0x80, - COMGLB_RESERVED4 = 0x100, - COMGLB_RESERVED5 = 0x200, - COMGLB_RESERVED6 = 0x400, -}} -ENUM!{enum GLOBALOPT_UNMARSHALING_POLICY_VALUES { - COMGLB_UNMARSHALING_POLICY_NORMAL = 0, - COMGLB_UNMARSHALING_POLICY_STRONG = 1, - COMGLB_UNMARSHALING_POLICY_HYBRID = 2, -}} -RIDL!{#[uuid(0x0000015b, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IGlobalOptions(IGlobalOptionsVtbl): IUnknown(IUnknownVtbl) { - fn Set( - dwProperty: GLOBALOPT_PROPERTIES, - dwValue: ULONG_PTR, - ) -> HRESULT, - fn Query( - dwProperty: GLOBALOPT_PROPERTIES, - pdwValue: *mut ULONG_PTR, - ) -> HRESULT, -}} -pub type LPSURROGATE = *mut ISurrogate; -RIDL!{#[uuid(0x00000022, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface ISurrogate(ISurrogateVtbl): IUnknown(IUnknownVtbl) { - fn LoadDllServer( - Clsid: REFCLSID, - ) -> HRESULT, - fn FreeSurrogate() -> HRESULT, -}} -pub type LPGLOBALINTERFACETABLE = *mut IGlobalInterfaceTable; -RIDL!{#[uuid(0x00000146, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IGlobalInterfaceTable(IGlobalInterfaceTableVtbl): IUnknown(IUnknownVtbl) { - fn RegisterInterfaceInGlobal( - pUnk: *mut IUnknown, - riid: REFIID, - pdwCookie: *mut DWORD, - ) -> HRESULT, - fn RevokeInterfaceFromGlobal( - dwCookie: DWORD, - ) -> HRESULT, - fn GetInterfaceFromGlobal( - dwCookie: DWORD, - riid: REFIID, - ppv: *mut *mut c_void, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00000030, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface ISynchronize(ISynchronizeVtbl): IUnknown(IUnknownVtbl) { - fn Wait( - dwFlags: DWORD, - dwMilliseconds: DWORD, - ) -> HRESULT, - fn Signal() -> HRESULT, - fn Reset() -> HRESULT, -}} -RIDL!{#[uuid(0x00000031, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface ISynchronizeHandle(ISynchronizeHandleVtbl): IUnknown(IUnknownVtbl) { - fn GetHandle( - ph: *mut HANDLE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00000032, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface ISynchronizeEvent(ISynchronizeEventVtbl): ISynchronizeHandle(ISynchronizeHandleVtbl) { - fn SetEventHandle( - ph: *mut HANDLE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00000033, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface ISynchronizeContainer(ISynchronizeContainerVtbl): IUnknown(IUnknownVtbl) { - fn AddSynchronize( - pSync: *mut ISynchronize, - ) -> HRESULT, - fn WaitMultiple( - dwFlags: DWORD, - dwTimeOut: DWORD, - ppSync: *mut *mut ISynchronize, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00000025, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface ISynchronizeMutex(ISynchronizeMutexVtbl): ISynchronize(ISynchronizeVtbl) { - fn ReleaseMutex() -> HRESULT, -}} -pub type LPCANCELMETHODCALLS = *mut ICancelMethodCalls; -RIDL!{#[uuid(0x00000029, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface ICancelMethodCalls(ICancelMethodCallsVtbl): IUnknown(IUnknownVtbl) { - fn Cancel( - ulSeconds: ULONG, - ) -> HRESULT, - fn TestCancel() -> HRESULT, -}} -ENUM!{enum DCOM_CALL_STATE { - DCOM_NONE = 0, - DCOM_CALL_COMPLETE = 0x1, - DCOM_CALL_CANCELED = 0x2, -}} -RIDL!{#[uuid(0x0000002a, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IAsyncManager(IAsyncManagerVtbl): IUnknown(IUnknownVtbl) { - fn CompleteCall( - Result: HRESULT, - ) -> HRESULT, - fn GetCallContext( - riid: REFIID, - pInterface: *mut *mut c_void, - ) -> HRESULT, - fn GetState( - pulStateFlags: *mut ULONG, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x1c733a30, 0x2a1c, 0x11ce, 0xad, 0xe5, 0x00, 0xaa, 0x00, 0x44, 0x77, 0x3d)] -interface ICallFactory(ICallFactoryVtbl): IUnknown(IUnknownVtbl) { - fn CreateCall( - riid: REFIID, - pCtrlUnk: *mut IUnknown, - riid2: REFIID, - ppv: *mut *mut IUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00000149, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IRpcHelper(IRpcHelperVtbl): IUnknown(IUnknownVtbl) { - fn GetDCOMProtocolVersion( - pComVersion: *mut DWORD, - ) -> HRESULT, - fn GetIIDFromOBJREF( - pObjRef: *mut c_void, - piid: *mut *mut IID, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xeb0cb9e8, 0x7996, 0x11d2, 0x87, 0x2e, 0x00, 0x00, 0xf8, 0x08, 0x08, 0x59)] -interface IReleaseMarshalBuffers(IReleaseMarshalBuffersVtbl): IUnknown(IUnknownVtbl) { - fn ReleaseMarshalBuffer( - pMsg: *mut RPCOLEMESSAGE, - dwFlags: DWORD, - pChnl: *mut IUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x0000002b, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IWaitMultiple(IWaitMultipleVtbl): IUnknown(IUnknownVtbl) { - fn WaitMultiple( - timeout: DWORD, - pSync: *mut *mut ISynchronize, - ) -> HRESULT, - fn AddSynchronize( - pSync: *mut ISynchronize, - ) -> HRESULT, -}} -pub type LPADDRTRACKINGCONTROL = *mut IAddrTrackingControl; -RIDL!{#[uuid(0x00000147, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IAddrTrackingControl(IAddrTrackingControlVtbl): IUnknown(IUnknownVtbl) { - fn EnableCOMDynamicAddrTracking() -> HRESULT, - fn DisableCOMDynamicAddrTracking() -> HRESULT, -}} -pub type LPADDREXCLUSIONCONTROL = *mut IAddrExclusionControl; -RIDL!{#[uuid(0x00000148, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IAddrExclusionControl(IAddrExclusionControlVtbl): IUnknown(IUnknownVtbl) { - fn GetCurrentAddrExclusionList( - riid: REFIID, - ppEnumerator: *mut *mut c_void, - ) -> HRESULT, - fn UpdateAddrExclusionList( - pEnumerator: *mut IUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xdb2f3aca, 0x2f86, 0x11d1, 0x8e, 0x04, 0x00, 0xc0, 0x4f, 0xb9, 0x98, 0x9a)] -interface IPipeByte(IPipeByteVtbl): IUnknown(IUnknownVtbl) { - fn Pull( - buf: *mut BYTE, - cRequest: ULONG, - pcReturned: *mut ULONG, - ) -> HRESULT, - fn Push( - buf: *mut BYTE, - cSent: ULONG, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xdb2f3acb, 0x2f86, 0x11d1, 0x8e, 0x04, 0x00, 0xc0, 0x4f, 0xb9, 0x98, 0x9a)] -interface AsyncIPipeByte(AsyncIPipeByteVtbl): IUnknown(IUnknownVtbl) { - fn Begin_Pull( - cRequest: ULONG, - ) -> HRESULT, - fn Finish_Pull( - buf: *mut BYTE, - pcReturned: *mut ULONG, - ) -> HRESULT, - fn Begin_Push( - buf: *mut BYTE, - cSent: ULONG, - ) -> HRESULT, - fn Finish_Push() -> HRESULT, -}} -RIDL!{#[uuid(0xdb2f3acc, 0x2f86, 0x11d1, 0x8e, 0x04, 0x00, 0xc0, 0x4f, 0xb9, 0x98, 0x9a)] -interface IPipeLong(IPipeLongVtbl): IUnknown(IUnknownVtbl) { - fn Pull( - buf: *mut LONG, - cRequest: ULONG, - pcReturned: *mut ULONG, - ) -> HRESULT, - fn Push( - buf: *mut LONG, - cSent: ULONG, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xdb2f3acd, 0x2f86, 0x11d1, 0x8e, 0x04, 0x00, 0xc0, 0x4f, 0xb9, 0x98, 0x9a)] -interface AsyncIPipeLong(AsyncIPipeLongVtbl): IUnknown(IUnknownVtbl) { - fn Begin_Pull( - cRequest: ULONG, - ) -> HRESULT, - fn Finish_Pull( - buf: *mut LONG, - pcReturned: *mut ULONG, - ) -> HRESULT, - fn Begin_Push( - buf: *mut LONG, - cSent: ULONG, - ) -> HRESULT, - fn Finish_Push() -> HRESULT, -}} -RIDL!{#[uuid(0xdb2f3ace, 0x2f86, 0x11d1, 0x8e, 0x04, 0x00, 0xc0, 0x4f, 0xb9, 0x98, 0x9a)] -interface IPipeDouble(IPipeDoubleVtbl): IUnknown(IUnknownVtbl) { - fn Pull( - buf: *mut DOUBLE, - cRequest: ULONG, - pcReturned: *mut ULONG, - ) -> HRESULT, - fn Push( - buf: *mut DOUBLE, - cSent: ULONG, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xdb2f3acf, 0x2f86, 0x11d1, 0x8e, 0x04, 0x00, 0xc0, 0x4f, 0xb9, 0x98, 0x9a)] -interface AsyncIPipeDouble(AsyncIPipeDoubleVtbl): IUnknown(IUnknownVtbl) { - fn Begin_Pull( - cRequest: ULONG, - ) -> HRESULT, - fn Finish_Pull( - buf: *mut DOUBLE, - pcReturned: *mut ULONG, - ) -> HRESULT, - fn Begin_Push( - buf: *mut DOUBLE, - cSent: ULONG, - ) -> HRESULT, - fn Finish_Push() -> HRESULT, -}} -pub type CPFLAGS = DWORD; -STRUCT!{struct ContextProperty { - policyId: GUID, - flags: CPFLAGS, - pUnk: *mut IUnknown, -}} -pub type LPENUMCONTEXTPROPS = *mut IEnumContextProps; -RIDL!{#[uuid(0x000001c1, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IEnumContextProps(IEnumContextPropsVtbl): IUnknown(IUnknownVtbl) { - fn Next( - celt: ULONG, - pContextProperties: *mut ContextProperty, - pceltFetched: *mut ULONG, - ) -> HRESULT, - fn Skip( - celt: ULONG, - ) -> HRESULT, - fn Reset() -> HRESULT, - fn Clone( - ppEnumContextProps: *mut *mut IEnumContextProps, - ) -> HRESULT, - fn Count( - pcelt: *mut ULONG, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x000001c0, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IContext(IContextVtbl): IUnknown(IUnknownVtbl) { - fn SetProperty( - rpolicyId: REFGUID, - flags: CPFLAGS, - pUnk: *mut IUnknown, - ) -> HRESULT, - fn RemoveProperty( - rPolicyId: REFGUID, - ) -> HRESULT, - fn GetProperty( - policyId: REFGUID, - pFlags: *mut CPFLAGS, - ppUnk: *mut *mut IUnknown, - ) -> HRESULT, - fn EnumContextProps( - ppEnumContextProps: *mut *mut IEnumContextProps, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x000001c6, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IObjContext(IObjContextVtbl): IContext(IContextVtbl) { - fn Reserved1() -> (), - fn Reserved2() -> (), - fn Reserved3() -> (), - fn Reserved4() -> (), - fn Reserved5() -> (), - fn Reserved6() -> (), - fn Reserved7() -> (), -}} -ENUM!{enum APTTYPEQUALIFIER { - APTTYPEQUALIFIER_NONE = 0, - APTTYPEQUALIFIER_IMPLICIT_MTA = 1, - APTTYPEQUALIFIER_NA_ON_MTA = 2, - APTTYPEQUALIFIER_NA_ON_STA = 3, - APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA = 4, - APTTYPEQUALIFIER_NA_ON_MAINSTA = 5, - APTTYPEQUALIFIER_APPLICATION_STA= 6, -}} -ENUM!{enum APTTYPE { - APTTYPE_CURRENT = -1i32 as u32, - APTTYPE_STA = 0, - APTTYPE_MTA = 1, - APTTYPE_NA = 2, - APTTYPE_MAINSTA = 3, -}} -ENUM!{enum THDTYPE { - THDTYPE_BLOCKMESSAGES = 0, - THDTYPE_PROCESSMESSAGES = 1, -}} -pub type APARTMENTID = DWORD; -RIDL!{#[uuid(0x000001ce, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IComThreadingInfo(IComThreadingInfoVtbl): IUnknown(IUnknownVtbl) { - fn GetCurrentApartmentType( - pAptType: *mut APTTYPE, - ) -> HRESULT, - fn GetCurrentThreadType( - pThreadType: *mut THDTYPE, - ) -> HRESULT, - fn GetCurrentLogicalThreadId( - pguidLogicalThreadId: *mut GUID, - ) -> HRESULT, - fn SetCurrentLogicalThreadId( - rguid: REFGUID, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x72380d55, 0x8d2b, 0x43a3, 0x85, 0x13, 0x2b, 0x6e, 0xf3, 0x14, 0x34, 0xe9)] -interface IProcessInitControl(IProcessInitControlVtbl): IUnknown(IUnknownVtbl) { - fn ResetInitializerTimeout( - dwSecondsRemaining: DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00000040, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IFastRundown(IFastRundownVtbl): IUnknown(IUnknownVtbl) {}} -ENUM!{enum CO_MARSHALING_CONTEXT_ATTRIBUTES { - CO_MARSHALING_SOURCE_IS_APP_CONTAINER = 0, - CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_1 = 0x80000000, - CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_2 = 0x80000001, - CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_3 = 0x80000002, - CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_4 = 0x80000003, - CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_5 = 0x80000004, - CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_6 = 0x80000005, - CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_7 = 0x80000006, - CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_8 = 0x80000007, - CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_9 = 0x80000008, -}} -RIDL!{#[uuid(0xd8f2f5e6, 0x6102, 0x4863, 0x9f, 0x26, 0x38, 0x9a, 0x46, 0x76, 0xef, 0xde)] -interface IMarshalingStream(IMarshalingStreamVtbl): IStream(IStreamVtbl) { - fn GetMarshalingContextAttribute( - attribute: CO_MARSHALING_CONTEXT_ATTRIBUTES, - pAttributeValue: *mut ULONG_PTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xc03f6a43, 0x65a4, 0x9818, 0x98, 0x7e, 0xe0, 0xb8, 0x10, 0xd2, 0xa6, 0xf2)] -interface IAgileReference(IAgileReferenceVtbl): IUnknown(IUnknownVtbl) { - fn Resolve( - riid: REFIID, - ppvObjectReference: *mut *mut c_void, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/ocidl.rs b/vendor/registry-40351f815f426200/winapi/src/um/ocidl.rs deleted file mode 100644 index 07ec0d4ba..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/ocidl.rs +++ /dev/null @@ -1,68 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -// TODO:It is a minimal implementation. -use shared::guiddef::CLSID; -use shared::minwindef::{DWORD, ULONG}; -use shared::ntdef::HRESULT; -use shared::wtypes::{CLIPFORMAT, VARTYPE}; -use shared::wtypesbase::{LPCOLESTR, LPOLESTR}; -use um::oaidl::{IErrorLog, VARIANT}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -ENUM!{enum READYSTATE { - READYSTATE_UNINITIALIZED = 0, - READYSTATE_LOADING = 1, - READYSTATE_LOADED = 2, - READYSTATE_INTERACTIVE = 3, - READYSTATE_COMPLETE = 4, -}} -ENUM!{enum PROPBAG2_TYPE { - PROPBAG2_TYPE_UNDEFINED = 0, - PROPBAG2_TYPE_DATA = 1, - PROPBAG2_TYPE_URL = 2, - PROPBAG2_TYPE_OBJECT = 3, - PROPBAG2_TYPE_STREAM = 4, - PROPBAG2_TYPE_STORAGE = 5, - PROPBAG2_TYPE_MONIKER = 6, -}} -STRUCT!{struct PROPBAG2 { - dwType: DWORD, - vt: VARTYPE, - cfType: CLIPFORMAT, - dwHint: DWORD, - pstrName: LPOLESTR, - clsid: CLSID, -}} -RIDL!{#[uuid(0x22f55882, 0x280b, 0x11d0, 0xa8, 0xa9, 0x00, 0xa0, 0xc9, 0x0c, 0x20, 0x04)] -interface IPropertyBag2(IPropertyBag2Vtbl): IUnknown(IUnknownVtbl) { - fn Read( - cProperties: ULONG, - pPropBag: *const PROPBAG2, - pErrLog: *const IErrorLog, - pvarValue: *mut VARIANT, - phrError: *mut HRESULT, - ) -> HRESULT, - fn Write( - cProperties: ULONG, - pPropBag: *const PROPBAG2, - pvarValue: *const VARIANT, - ) -> HRESULT, - fn CountProperties( - pcProperties: *mut ULONG, - ) -> HRESULT, - fn GetPropertyInfo( - iProperty: ULONG, - cProperties: ULONG, - pPropBag: *mut PROPBAG2, - pcProperties: *mut ULONG, - ) -> HRESULT, - fn LoadObject( - pstrName: LPCOLESTR, - dwHint: DWORD, - pUnkObject: *const IUnknown, - pErrLog: *const IErrorLog, - ) -> HRESULT, -}} -pub type LPPROPERTYBAG2 = *mut IPropertyBag2; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/ole2.rs b/vendor/registry-40351f815f426200/winapi/src/um/ole2.rs deleted file mode 100644 index 66c168964..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/ole2.rs +++ /dev/null @@ -1,21 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::LPVOID; -use shared::windef::HWND; -use um::oleidl::LPDROPTARGET; -use um::winnt::HRESULT; -extern "system" { - pub fn OleInitialize( - pvReserved: LPVOID, - ) -> HRESULT; - pub fn RegisterDragDrop( - hwnd: HWND, - pDropTarget: LPDROPTARGET, - ) -> HRESULT; - pub fn RevokeDragDrop( - hwnd: HWND, - ) -> HRESULT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/oleauto.rs b/vendor/registry-40351f815f426200/winapi/src/um/oleauto.rs deleted file mode 100644 index 7d4edba46..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/oleauto.rs +++ /dev/null @@ -1,836 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of OleAuto.h -use ctypes::{c_double, c_float, c_int, c_uint, c_void}; -use shared::basetsd::{LONG64, ULONG64}; -use shared::minwindef::{BYTE, DWORD, FLOAT, UINT, ULONG, USHORT, WORD}; -use shared::wtypes::{BSTR, DATE, DECIMAL, LPBSTR, LPDECIMAL, VARTYPE}; -use shared::wtypesbase::{DOUBLE, LPCOLESTR, LPOLESTR, OLECHAR}; -use um::minwinbase::LPSYSTEMTIME; -use um::oaidl::{DISPID_UNKNOWN, ITypeLib, SAFEARRAY, VARIANT, VARIANTARG}; -use um::winnt::{CHAR, HRESULT, INT, LCID, LONG, LPCSTR, SHORT}; -extern "system" { - pub fn SysAllocString( - psz: *const OLECHAR, - ) -> BSTR; - pub fn SysReAllocString( - pbstr: *mut BSTR, - psz: *const OLECHAR, - ) -> INT; - pub fn SysAllocStringLen( - strIn: *const OLECHAR, - ui: UINT, - ) -> BSTR; - pub fn SysReAllocStringLen( - pbstr: *mut BSTR, - psz: *const OLECHAR, - len: c_uint, - ) -> INT; - pub fn SysFreeString( - bstrString: BSTR, - ); - pub fn SysStringLen( - pbstr: BSTR, - ) -> UINT; - pub fn SysStringByteLen( - bstr: BSTR, - ) -> UINT; - pub fn SysAllocStringByteLen( - psz: LPCSTR, - len: UINT, - ) -> BSTR; - pub fn DosDateTimeToVariantTime( - wDosDate: USHORT, - wDosTime: USHORT, - pvtime: *mut DOUBLE, - ) -> INT; - pub fn VariantTimeToDosDateTime( - vtime: DOUBLE, - pwDosDate: *mut USHORT, - pwDosTime: *mut USHORT, - ) -> INT; - pub fn SystemTimeToVariantTime( - lpSystemTime: LPSYSTEMTIME, - pvtime: *mut DOUBLE, - ) -> INT; - pub fn VariantTimeToSystemTime( - vtime: DOUBLE, - lpSystemTime: LPSYSTEMTIME, - ) -> INT; - pub fn SafeArrayAccessData( - psa: *mut SAFEARRAY, - ppvData: *mut *mut c_void, - ) -> HRESULT; - pub fn SafeArrayUnaccessData( - psa: *mut SAFEARRAY, - ) -> HRESULT; - pub fn SafeArrayCreateVector( - vt: VARTYPE, - lLbound: LONG, - cElements: ULONG, - ) -> *mut SAFEARRAY; - pub fn SafeArrayGetLBound( - psa: *mut SAFEARRAY, - nDim: UINT, - plLbound: *mut LONG - ) -> HRESULT; - pub fn SafeArrayGetUBound( - psa: *mut SAFEARRAY, - nDim: UINT, - plUbound: *mut LONG - ) -> HRESULT; - pub fn SafeArrayDestroy( - psa: *mut SAFEARRAY - ) -> HRESULT; - pub fn VariantInit( - pvarg: *mut VARIANTARG, - ); - pub fn VariantClear( - pvarg: *mut VARIANTARG, - ) -> HRESULT; - pub fn VariantCopy( - pvargDest: *mut VARIANTARG, - pvargSrc: *const VARIANTARG, - ) -> HRESULT; - pub fn VariantCopyInd( - pvarDest: *mut VARIANT, - pvargSrc: *const VARIANTARG, - ) -> HRESULT; - pub fn VariantChangeType( - pvargDest: *mut VARIANTARG, - pvarSrc: *const VARIANTARG, - wFlags: USHORT, - vt: VARTYPE, - ) -> HRESULT; - pub fn VariantChangeTypeEx( - pvargDest: *mut VARIANTARG, - pvarSrc: *const VARIANTARG, - lcid: LCID, - wFlags: USHORT, - vt: VARTYPE, - ) -> HRESULT; - pub fn VarUI1FromI2( - sIn: SHORT, - pbOut: *mut BYTE, - ); - pub fn VarUI1FromI4( - lIn: LONG, - pbOut: *mut BYTE, - ); - pub fn VarUI1FromI8( - i64In: LONG64, - pbOut: *mut BYTE, - ); - pub fn VarUI1FromR4( - fltIn: FLOAT, - pbOut: *mut BYTE, - ); - pub fn VarUI1FromR8( - dblIn: DOUBLE, - pbOut: *mut BYTE, - ); - pub fn VarUI1FromDate( - dateIn: DATE, - pbOut: *mut BYTE, - ); - pub fn VarUI1FromStr( - strIn: LPCOLESTR, - lcid: LCID, - dwFlags: ULONG, - pbOut: *mut BYTE, - ); - pub fn VarUI1FromI1( - cIn: CHAR, - pbOut: *mut BYTE, - ); - pub fn VarUI1FromUI2( - uiIn: USHORT, - pbOut: *mut BYTE, - ); - pub fn VarUI1FromUI4( - ulIn: ULONG, - pbOut: *mut BYTE, - ); - pub fn VarUI1FromUI8( - ui64In: ULONG64, - pbOut: *mut BYTE, - ); - pub fn VarUI1FromDec( - pdecIn: *const DECIMAL, - pbOut: *mut BYTE, - ); - pub fn VarI2FromUI1( - bIn: BYTE, - psOut: *mut SHORT, - ); - pub fn VarI2FromI4( - lIn: LONG, - psOut: *mut SHORT, - ); - pub fn VarI2FromI8( - i64In: LONG64, - psOut: *mut SHORT, - ); - pub fn VarI2FromR4( - fltIn: FLOAT, - psOut: *mut SHORT, - ); - pub fn VarI2FromR8( - dblIn: DOUBLE, - psOut: *mut SHORT, - ); - pub fn VarI2FromDate( - dateIn: DATE, - psOut: *mut SHORT, - ); - pub fn VarI2FromStr( - strIn: LPCOLESTR, - lcid: LCID, - dwFlags: ULONG, - psOut: *mut SHORT, - ); - pub fn VarI2FromI1( - cIn: CHAR, - psOut: *mut SHORT, - ); - pub fn VarI2FromUI2( - uiIn: USHORT, - psOut: *mut SHORT, - ); - pub fn VarI2FromUI4( - ulIn: ULONG, - psOut: *mut SHORT, - ); - pub fn VarI2FromUI8( - ui64In: ULONG64, - psOut: *mut SHORT, - ); - pub fn VarI2FromDec( - pdecIn: *const DECIMAL, - psOut: *mut SHORT, - ); - pub fn VarI4FromUI1( - bIn: BYTE, - plOut: *mut LONG, - ); - pub fn VarI4FromI2( - sIn: SHORT, - plOut: *mut LONG, - ); - pub fn VarI4FromI8( - i64In: LONG64, - plOut: *mut LONG, - ); - pub fn VarI4FromR4( - fltIn: FLOAT, - plOut: *mut LONG, - ); - pub fn VarI4FromR8( - dblIn: DOUBLE, - plOut: *mut LONG, - ); - pub fn VarI4FromDate( - dateIn: DATE, - plOut: *mut LONG, - ); - pub fn VarI4FromStr( - strIn: LPCOLESTR, - lcid: LCID, - dwFlags: ULONG, - plOut: *mut LONG, - ); - pub fn VarI4FromI1( - cIn: CHAR, - plOut: *mut LONG, - ); - pub fn VarI4FromUI2( - uiIn: USHORT, - plOut: *mut LONG, - ); - pub fn VarI4FromUI4( - ulIn: ULONG, - plOut: *mut LONG, - ); - pub fn VarI4FromUI8( - ui64In: ULONG64, - plOut: *mut LONG, - ); - pub fn VarI4FromDec( - pdecIn: *const DECIMAL, - plOut: *mut LONG, - ); - pub fn VarI8FromUI1( - bIn: BYTE, - pi64Out: *mut LONG64, - ); - pub fn VarI8FromI2( - sIn: SHORT, - pi64Out: *mut LONG64, - ); - pub fn VarI8FromR4( - fltIn: FLOAT, - pi64Out: *mut LONG64, - ); - pub fn VarI8FromR8( - dblIn: DOUBLE, - pi64Out: *mut LONG64, - ); - pub fn VarI8FromDate( - dateIn: DATE, - pi64Out: *mut LONG64, - ); - pub fn VarI8FromStr( - strIn: LPCOLESTR, - lcid: LCID, - dwFlags: ULONG, - pi64Out: *mut LONG64, - ); - pub fn VarI8FromI1( - cIn: CHAR, - pi64Out: *mut LONG64, - ); - pub fn VarI8FromUI2( - uiIn: USHORT, - pi64Out: *mut LONG64, - ); - pub fn VarI8FromUI4( - ulIn: ULONG, - pi64Out: *mut LONG64, - ); - pub fn VarI8FromUI8( - ui64In: ULONG64, - pi64Out: *mut LONG64, - ); - pub fn VarI8FromDec( - pdecIn: *const DECIMAL, - pi64Out: *mut LONG64, - ); - pub fn VarR4FromUI1( - bIn: BYTE, - pfltOut: *mut FLOAT, - ); - pub fn VarR4FromI2( - sIn: SHORT, - pfltOut: *mut FLOAT, - ); - pub fn VarR4FromI4( - lIn: LONG, - pfltOut: *mut FLOAT, - ); - pub fn VarR4FromI8( - i64In: LONG64, - pfltOut: *mut FLOAT, - ); - pub fn VarR4FromR8( - dblIn: DOUBLE, - pfltOut: *mut FLOAT, - ); - pub fn VarR4FromDate( - dateIn: DATE, - pfltOut: *mut FLOAT, - ); - pub fn VarR4FromStr( - strIn: LPCOLESTR, - lcid: LCID, - dwFlags: ULONG, - pfltOut: *mut FLOAT, - ); - pub fn VarR4FromI1( - cIn: CHAR, - pfltOut: *mut FLOAT, - ); - pub fn VarR4FromUI2( - uiIn: USHORT, - pfltOut: *mut FLOAT, - ); - pub fn VarR4FromUI4( - ulIn: ULONG, - pfltOut: *mut FLOAT, - ); - pub fn VarR4FromUI8( - ui64In: ULONG64, - pfltOut: *mut FLOAT, - ); - pub fn VarR4FromDec( - pdecIn: *const DECIMAL, - pfltOut: *mut FLOAT, - ); - pub fn VarR8FromUI1( - bIn: BYTE, - pdblOut: *mut DOUBLE, - ); - pub fn VarR8FromI2( - sIn: SHORT, - pdblOut: *mut DOUBLE, - ); - pub fn VarR8FromI4( - lIn: LONG, - pdblOut: *mut DOUBLE, - ); - pub fn VarR8FromI8( - i64In: LONG64, - pdblOut: *mut DOUBLE, - ); - pub fn VarR8FromR4( - fltIn: FLOAT, - pdblOut: *mut DOUBLE, - ); - pub fn VarR8FromDate( - dateIn: DATE, - pdblOut: *mut DOUBLE, - ); - pub fn VarR8FromStr( - strIn: LPCOLESTR, - lcid: LCID, - dwFlags: ULONG, - pdblOut: *mut DOUBLE, - ); - pub fn VarR8FromI1( - cIn: CHAR, - pdblOut: *mut DOUBLE, - ); - pub fn VarR8FromUI2( - uiIn: USHORT, - pdblOut: *mut DOUBLE, - ); - pub fn VarR8FromUI4( - ulIn: ULONG, - pdblOut: *mut DOUBLE, - ); - pub fn VarR8FromUI8( - ui64In: ULONG64, - pdblOut: *mut DOUBLE, - ); - pub fn VarR8FromDec( - pdecIn: *const DECIMAL, - pdblOut: *mut DOUBLE, - ); - pub fn VarDateFromUI1( - bIn: BYTE, - pdateOut: *mut DATE, - ); - pub fn VarDateFromI2( - sIn: SHORT, - pdateOut: *mut DATE, - ); - pub fn VarDateFromI4( - lIn: LONG, - pdateOut: *mut DATE, - ); - pub fn VarDateFromI8( - i64In: LONG64, - pdateOut: *mut DATE, - ); - pub fn VarDateFromR4( - fltIn: FLOAT, - pdateOut: *mut DATE, - ); - pub fn VarDateFromR8( - dblIn: DOUBLE, - pdateOut: *mut DATE, - ); - pub fn VarDateFromStr( - strIn: LPCOLESTR, - lcid: LCID, - dwFlags: ULONG, - pdateOut: *mut DATE, - ); - pub fn VarDateFromI1( - cIn: CHAR, - pdateOut: *mut DATE, - ); - pub fn VarDateFromUI2( - uiIn: USHORT, - pdateOut: *mut DATE, - ); - pub fn VarDateFromUI4( - ulIn: ULONG, - pdateOut: *mut DATE, - ); - pub fn VarDateFromUI8( - ui64In: ULONG64, - pdateOut: *mut DATE, - ); - pub fn VarDateFromDec( - pdecIn: *const DECIMAL, - pdateOut: *mut DATE, - ); - pub fn VarBstrFromUI1( - bVal: BYTE, - lcid: LCID, - dwFlags: ULONG, - pbstrOut: *mut BSTR, - ); - pub fn VarBstrFromI2( - iVal: SHORT, - lcid: LCID, - dwFlags: ULONG, - pbstrOut: *mut BSTR, - ); - pub fn VarBstrFromI4( - lIn: LONG, - lcid: LCID, - dwFlags: ULONG, - pbstrOut: *mut BSTR, - ); - pub fn VarBstrFromI8( - i64In: LONG64, - lcid: LCID, - dwFlags: ULONG, - pbstrOut: *mut BSTR, - ); - pub fn VarBstrFromR4( - fltIn: FLOAT, - lcid: LCID, - dwFlags: ULONG, - pbstrOut: *mut BSTR, - ); - pub fn VarBstrFromR8( - dblIn: DOUBLE, - lcid: LCID, - dwFlags: ULONG, - pbstrOut: *mut BSTR, - ); - pub fn VarBstrFromDate( - dateIn: DATE, - lcid: LCID, - dwFlags: ULONG, - pbstrOut: *mut BSTR, - ); - pub fn VarBstrFromI1( - cIn: CHAR, - lcid: LCID, - dwFlags: ULONG, - pbstrOut: *mut BSTR, - ); - pub fn VarBstrFromUI2( - uiIn: USHORT, - lcid: LCID, - dwFlags: ULONG, - pbstrOut: *mut BSTR, - ); - pub fn VarBstrFromUI4( - ulIn: ULONG, - lcid: LCID, - dwFlags: ULONG, - pbstrOut: *mut BSTR, - ); - pub fn VarBstrFromUI8( - ui64In: ULONG64, - lcid: LCID, - dwFlags: ULONG, - pbstrOut: *mut BSTR, - ); - pub fn VarBstrFromDec( - pdecIn: *const DECIMAL, - lcid: LCID, - dwFlags: ULONG, - pbstrOut: *mut BSTR, - ); - pub fn VarUI2FromUI1( - bIn: BYTE, - puiOut: *mut USHORT, - ); - pub fn VarUI2FromI2( - uiIn: SHORT, - puiOut: *mut USHORT, - ); - pub fn VarUI2FromI4( - lIn: LONG, - puiOut: *mut USHORT, - ); - pub fn VarUI2FromI8( - i64In: LONG64, - puiOut: *mut USHORT, - ); - pub fn VarUI2FromR4( - fltIn: FLOAT, - puiOut: *mut USHORT, - ); - pub fn VarUI2FromR8( - dblIn: DOUBLE, - puiOut: *mut USHORT, - ); - pub fn VarUI2FromDate( - dateIn: DATE, - puiOut: *mut USHORT, - ); - pub fn VarUI2FromStr( - strIn: LPCOLESTR, - lcid: LCID, - dwFlags: ULONG, - puiOut: *mut USHORT, - ); - pub fn VarUI2FromI1( - cIn: CHAR, - puiOut: *mut USHORT, - ); - pub fn VarUI2FromUI4( - ulIn: ULONG, - puiOut: *mut USHORT, - ); - pub fn VarUI2FromUI8( - i64In: ULONG64, - puiOut: *mut USHORT, - ); - pub fn VarUI2FromDec( - pdecIn: *const DECIMAL, - puiOut: *mut USHORT, - ); - pub fn VarUI4FromUI1( - bIn: BYTE, - pulOut: *mut ULONG, - ); - pub fn VarUI4FromI2( - uiIn: SHORT, - pulOut: *mut ULONG, - ); - pub fn VarUI4FromI4( - lIn: LONG, - pulOut: *mut ULONG, - ); - pub fn VarUI4FromI8( - i64In: LONG64, - plOut: *mut ULONG, - ); - pub fn VarUI4FromR4( - fltIn: FLOAT, - pulOut: *mut ULONG, - ); - pub fn VarUI4FromR8( - dblIn: DOUBLE, - pulOut: *mut ULONG, - ); - pub fn VarUI4FromDate( - dateIn: DATE, - pulOut: *mut ULONG, - ); - pub fn VarUI4FromStr( - strIn: LPCOLESTR, - lcid: LCID, - dwFlags: ULONG, - pulOut: *mut ULONG, - ); - pub fn VarUI4FromI1( - cIn: CHAR, - pulOut: *mut ULONG, - ); - pub fn VarUI4FromUI2( - uiIn: USHORT, - pulOut: *mut ULONG, - ); - pub fn VarUI4FromUI8( - ui64In: ULONG64, - plOut: *mut ULONG, - ); - pub fn VarUI4FromDec( - pdecIn: *const DECIMAL, - pulOut: *mut ULONG, - ); - pub fn VarUI8FromUI1( - bIn: BYTE, - pi64Out: *mut ULONG64, - ); - pub fn VarUI8FromI2( - sIn: SHORT, - pi64Out: *mut ULONG64, - ); - pub fn VarUI8FromI4( - lIn: LONG, - pi64Out: *mut ULONG64, - ); - pub fn VarUI8FromI8( - ui64In: LONG64, - pi64Out: *mut ULONG64, - ); - pub fn VarUI8FromR4( - fltIn: FLOAT, - pi64Out: *mut ULONG64, - ); - pub fn VarUI8FromR8( - dblIn: DOUBLE, - pi64Out: *mut ULONG64, - ); - pub fn VarUI8FromDate( - dateIn: DATE, - pi64Out: *mut ULONG64, - ); - pub fn VarUI8FromStr( - strIn: LPCOLESTR, - lcid: LCID, - dwFlags: ULONG, - pi64Out: *mut ULONG64, - ); - pub fn VarUI8FromI1( - cIn: CHAR, - pi64Out: *mut ULONG64, - ); - pub fn VarUI8FromUI2( - uiIn: USHORT, - pi64Out: *mut ULONG64, - ); - pub fn VarUI8FromUI4( - ulIn: ULONG, - pi64Out: *mut ULONG64, - ); - pub fn VarUI8FromDec( - pdecIn: *const DECIMAL, - pi64Out: *mut ULONG64, - ); - pub fn VarDecFromUI1( - bIn: BYTE, - pdecOut: *mut DECIMAL, - ); - pub fn VarDecFromI2( - uiIn: SHORT, - pdecOut: *mut DECIMAL, - ); - pub fn VarDecFromI4( - lIn: LONG, - pdecOut: *mut DECIMAL, - ); - pub fn VarDecFromI8( - i64In: LONG64, - pdecOut: *mut DECIMAL, - ); - pub fn VarDecFromR4( - fltIn: FLOAT, - pdecOut: *mut DECIMAL, - ); - pub fn VarDecFromR8( - dblIn: DOUBLE, - pdecOut: *mut DECIMAL, - ); - pub fn VarDecFromDate( - dateIn: DATE, - pdecOut: *mut DECIMAL, - ); - pub fn VarDecFromStr( - strIn: LPCOLESTR, - lcid: LCID, - dwFlags: ULONG, - pdecOut: *mut DECIMAL, - ); - pub fn VarDecFromI1( - cIn: CHAR, - pdecOut: *mut DECIMAL, - ); - pub fn VarDecFromUI2( - uiIn: USHORT, - pdecOut: *mut DECIMAL, - ); - pub fn VarDecFromUI4( - ulIn: ULONG, - pdecOut: *mut DECIMAL, - ); - pub fn VarDecFromUI8( - ui64In: ULONG64, - pdecOut: *mut DECIMAL, - ); - pub fn VarDecAdd( - pdecLeft: LPDECIMAL, - pdecRight: LPDECIMAL, - pdecResult: LPDECIMAL, - ); - pub fn VarDecDiv( - pdecLeft: LPDECIMAL, - pdecRight: LPDECIMAL, - pdecResult: LPDECIMAL, - ); - pub fn VarDecMul( - pdecLeft: LPDECIMAL, - pdecRight: LPDECIMAL, - pdecResult: LPDECIMAL, - ); - pub fn VarDecSub( - pdecLeft: LPDECIMAL, - pdecRight: LPDECIMAL, - pdecResult: LPDECIMAL, - ); - pub fn VarDecAbs( - pdecIn: LPDECIMAL, - pdecResult: LPDECIMAL, - ); - pub fn VarDecFix( - pdecIn: LPDECIMAL, - pdecResult: LPDECIMAL, - ); - pub fn VarDecInt( - pdecIn: LPDECIMAL, - pdecResult: LPDECIMAL, - ); - pub fn VarDecNeg( - pdecIn: LPDECIMAL, - pdecResult: LPDECIMAL, - ); - pub fn VarDecRound( - pdecIn: LPDECIMAL, - cDecimals: c_int, - pdecResult: LPDECIMAL, - ); - pub fn VarDecCmp( - pdecLeft: LPDECIMAL, - pdecRight: LPDECIMAL, - ); - pub fn VarDecCmpR8( - pdecLeft: LPDECIMAL, - dblRight: c_double, - ); - pub fn VarBstrCat( - bstrLeft: BSTR, - bstrRight: BSTR, - pbstrResult: LPBSTR, - ); - pub fn VarBstrCmp( - bstrLeft: BSTR, - bstrRight: BSTR, - lcid: LCID, - dwFlags: ULONG, - ); - pub fn VarR8Pow( - dblLeft: c_double, - dblRight: c_double, - pdblResult: *mut c_double, - ); - pub fn VarR4CmpR8( - fltLeft: c_float, - dblRight: c_double, - ); - pub fn VarR8Round( - dblIn: c_double, - cDecimals: c_int, - pdblResult: *mut c_double, - ); - pub fn GetAltMonthNames( - lcid: LCID, - prgp: *mut LPOLESTR, - ); -} -pub type DISPID = LONG; -pub type MEMBERID = DISPID; -pub const MEMBERID_NIL: MEMBERID = DISPID_UNKNOWN; -pub const DISPATCH_METHOD: WORD = 0x1; -pub const DISPATCH_PROPERTYGET: WORD = 0x2; -pub const DISPATCH_PROPERTYPUT: WORD = 0x4; -pub const DISPATCH_PROPERTYPUTREF: WORD = 0x8; -ENUM!{enum REGKIND { - REGKIND_DEFAULT = 0, - REGKIND_REGISTER, - REGKIND_NONE, -}} -extern "system" { - pub fn LoadTypeLibEx( - szFile: LPCOLESTR, - regkind: REGKIND, - pptlib: *mut *mut ITypeLib, - ) -> HRESULT; - pub fn RevokeActiveObject( - dwRegister: DWORD, - pvReserved: *mut c_void, - ); - pub fn OaBuildVersion() -> ULONG; - pub fn OaEnablePerUserTLibRegistration(); -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/olectl.rs b/vendor/registry-40351f815f426200/winapi/src/um/olectl.rs deleted file mode 100644 index 4a9ccdf9d..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/olectl.rs +++ /dev/null @@ -1,14 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! OLE Control interfaces -use shared::winerror::{FACILITY_ITF, SEVERITY_ERROR, SEVERITY_SUCCESS}; -use um::winnt::HRESULT; -pub const SELFREG_E_FIRST: HRESULT = MAKE_SCODE!(SEVERITY_ERROR, FACILITY_ITF, 0x0200); -pub const SELFREG_E_LAST: HRESULT = MAKE_SCODE!(SEVERITY_ERROR, FACILITY_ITF, 0x020F); -pub const SELFREG_S_FIRST: HRESULT = MAKE_SCODE!(SEVERITY_SUCCESS, FACILITY_ITF, 0x0200); -pub const SELFREG_S_LAST: HRESULT = MAKE_SCODE!(SEVERITY_SUCCESS, FACILITY_ITF, 0x020F); -pub const SELFREG_E_TYPELIB: HRESULT = SELFREG_E_FIRST + 0; -pub const SELFREG_E_CLASS: HRESULT = SELFREG_E_FIRST + 1; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/oleidl.rs b/vendor/registry-40351f815f426200/winapi/src/um/oleidl.rs deleted file mode 100644 index 39b8c309e..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/oleidl.rs +++ /dev/null @@ -1,43 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::DWORD; -use shared::ntdef::HRESULT; -use shared::windef::POINTL; -use um::objidl::IDataObject; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -pub const MK_ALT: DWORD = 20; -pub const DROPEFFECT_NONE: DWORD = 0; -pub const DROPEFFECT_COPY: DWORD = 1; -pub const DROPEFFECT_MOVE: DWORD = 2; -pub const DROPEFFECT_LINK: DWORD = 4; -pub const DROPEFFECT_SCROLL: DWORD = 0x80000000; -pub const DD_DEFSCROLLINSET: DWORD = 11; -pub const DD_DEFSCROLLDELAY: DWORD = 50; -pub const DD_DEFSCROLLINTERVAL: DWORD = 50; -pub const DD_DEFDRAGDELAY: DWORD = 200; -pub const DD_DEFDRAGMINDIST: DWORD = 2; -pub type LPDROPTARGET = *mut IDropTarget; -RIDL!{#[uuid(0x00000122, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IDropTarget(IDropTargetVtbl): IUnknown(IUnknownVtbl) { - fn DragEnter( - pDataObj: *const IDataObject, - grfKeyState: DWORD, - pt: *const POINTL, - pdwEffect: *mut DWORD, - ) -> HRESULT, - fn DragOver( - grfKeyState: DWORD, - pt: *const POINTL, - pdwEffect: *mut DWORD, - ) -> HRESULT, - fn DragLeave() -> HRESULT, - fn Drop( - pDataObj: *const IDataObject, - grfKeyState: DWORD, - pt: *const POINTL, - pdwEffect: *mut DWORD, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/opmapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/opmapi.rs deleted file mode 100644 index a8e5de87a..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/opmapi.rs +++ /dev/null @@ -1,362 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::UINT64; -use shared::d3d9::IDirect3DDevice9; -use shared::d3d9types::D3DFORMAT; -use shared::guiddef::GUID; -use shared::minwindef::{BYTE, DWORD, ULONG}; -use shared::windef::HMONITOR; -use um::dxva2api::DXVA2_SampleFormat; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LUID}; -DEFINE_GUID!{OPM_GET_CURRENT_HDCP_SRM_VERSION, - 0x99c5ceff, 0x5f1d, 0x4879, 0x81, 0xc1, 0xc5, 0x24, 0x43, 0xc9, 0x48, 0x2b} -DEFINE_GUID!{OPM_GET_CONNECTED_HDCP_DEVICE_INFORMATION, - 0x0db59d74, 0xa992, 0x492e, 0xa0, 0xbd, 0xc2, 0x3f, 0xda, 0x56, 0x4e, 0x00} -DEFINE_GUID!{OPM_GET_ACP_AND_CGMSA_SIGNALING, - 0x6629a591, 0x3b79, 0x4cf3, 0x92, 0x4a, 0x11, 0xe8, 0xe7, 0x81, 0x16, 0x71} -DEFINE_GUID!{OPM_GET_CONNECTOR_TYPE, - 0x81d0bfd5, 0x6afe, 0x48c2, 0x99, 0xc0, 0x95, 0xa0, 0x8f, 0x97, 0xc5, 0xda} -DEFINE_GUID!{OPM_GET_SUPPORTED_PROTECTION_TYPES, - 0x38f2a801, 0x9a6c, 0x48bb, 0x91, 0x07, 0xb6, 0x69, 0x6e, 0x6f, 0x17, 0x97} -DEFINE_GUID!{OPM_GET_VIRTUAL_PROTECTION_LEVEL, - 0xb2075857, 0x3eda, 0x4d5d, 0x88, 0xdb, 0x74, 0x8f, 0x8c, 0x1a, 0x05, 0x49} -DEFINE_GUID!{OPM_GET_ACTUAL_PROTECTION_LEVEL, - 0x1957210a, 0x7766, 0x452a, 0xb9, 0x9a, 0xd2, 0x7a, 0xed, 0x54, 0xf0, 0x3a} -DEFINE_GUID!{OPM_GET_ACTUAL_OUTPUT_FORMAT, - 0xd7bf1ba3, 0xad13, 0x4f8e, 0xaf, 0x98, 0x0d, 0xcb, 0x3c, 0xa2, 0x04, 0xcc} -DEFINE_GUID!{OPM_GET_ADAPTER_BUS_TYPE, - 0xc6f4d673, 0x6174, 0x4184, 0x8e, 0x35, 0xf6, 0xdb, 0x52, 0x0, 0xbc, 0xba} -DEFINE_GUID!{OPM_GET_OUTPUT_ID, - 0x72cb6df3, 0x244f, 0x40ce, 0xb0, 0x9e, 0x20, 0x50, 0x6a, 0xf6, 0x30, 0x2f} -DEFINE_GUID!{OPM_GET_DVI_CHARACTERISTICS, - 0xa470b3bb, 0x5dd7, 0x4172, 0x83, 0x9c, 0x3d, 0x37, 0x76, 0xe0, 0xeb, 0xf5} -DEFINE_GUID!{OPM_GET_CODEC_INFO, - 0x4f374491, 0x8f5f, 0x4445, 0x9d, 0xba, 0x95, 0x58, 0x8f, 0x6b, 0x58, 0xb4} -DEFINE_GUID!{OPM_GET_OUTPUT_HARDWARE_PROTECTION_SUPPORT, - 0x3b129589, 0x2af8, 0x4ef0, 0x96, 0xa2, 0x70, 0x4a, 0x84, 0x5a, 0x21, 0x8e} -DEFINE_GUID!{OPM_SET_PROTECTION_LEVEL, - 0x9bb9327c, 0x4eb5, 0x4727, 0x9f, 0x00, 0xb4, 0x2b, 0x09, 0x19, 0xc0, 0xda} -DEFINE_GUID!{OPM_SET_ACP_AND_CGMSA_SIGNALING, - 0x09a631a5, 0xd684, 0x4c60, 0x8e, 0x4d, 0xd3, 0xbb, 0x0f, 0x0b, 0xe3, 0xee} -DEFINE_GUID!{OPM_SET_HDCP_SRM, - 0x8b5ef5d1, 0xc30d, 0x44ff, 0x84, 0xa5, 0xea, 0x71, 0xdc, 0xe7, 0x8f, 0x13} -DEFINE_GUID!{OPM_SET_PROTECTION_LEVEL_ACCORDING_TO_CSS_DVD, - 0x39ce333e, 0x4cc0, 0x44ae, 0xbf, 0xcc, 0xda, 0x50, 0xb5, 0xf8, 0x2e, 0x72} -ENUM!{enum __MIDL___MIDL_itf_opmapi_0000_0000_0001 { - OPM_OMAC_SIZE = 16, - OPM_128_BIT_RANDOM_NUMBER_SIZE = 16, - OPM_ENCRYPTED_INITIALIZATION_PARAMETERS_SIZE = 256, - OPM_CONFIGURE_SETTING_DATA_SIZE = 4056, - OPM_GET_INFORMATION_PARAMETERS_SIZE = 4056, - OPM_REQUESTED_INFORMATION_SIZE = 4076, - OPM_HDCP_KEY_SELECTION_VECTOR_SIZE = 5, - OPM_PROTECTION_TYPE_SIZE = 4, - OPM_BUS_TYPE_MASK = 0xffff, - OPM_BUS_IMPLEMENTATION_MODIFIER_MASK = 0x7fff, -}} -ENUM!{enum OPM_VIDEO_OUTPUT_SEMANTICS { - OPM_VOS_COPP_SEMANTICS = 0, - OPM_VOS_OPM_SEMANTICS = 1, - OPM_VOS_OPM_INDIRECT_DISPLAY = 2, -}} -ENUM!{enum __MIDL___MIDL_itf_opmapi_0000_0000_0002 { - OPM_HDCP_FLAG_NONE = 0, - OPM_HDCP_FLAG_REPEATER = 0x1, -}} -ENUM!{enum __MIDL___MIDL_itf_opmapi_0000_0000_0003 { - OPM_STATUS_NORMAL = 0, - OPM_STATUS_LINK_LOST = 0x1, - OPM_STATUS_RENEGOTIATION_REQUIRED = 0x2, - OPM_STATUS_TAMPERING_DETECTED = 0x4, - OPM_STATUS_REVOKED_HDCP_DEVICE_ATTACHED = 0x8, -}} -ENUM!{enum __MIDL___MIDL_itf_opmapi_0000_0000_0004 { - OPM_CONNECTOR_TYPE_OTHER = -1i32 as u32, - OPM_CONNECTOR_TYPE_VGA = 0, - OPM_CONNECTOR_TYPE_SVIDEO = 1, - OPM_CONNECTOR_TYPE_COMPOSITE_VIDEO = 2, - OPM_CONNECTOR_TYPE_COMPONENT_VIDEO = 3, - OPM_CONNECTOR_TYPE_DVI = 4, - OPM_CONNECTOR_TYPE_HDMI = 5, - OPM_CONNECTOR_TYPE_LVDS = 6, - OPM_CONNECTOR_TYPE_D_JPN = 8, - OPM_CONNECTOR_TYPE_SDI = 9, - OPM_CONNECTOR_TYPE_DISPLAYPORT_EXTERNAL = 10, - OPM_CONNECTOR_TYPE_DISPLAYPORT_EMBEDDED = 11, - OPM_CONNECTOR_TYPE_UDI_EXTERNAL = 12, - OPM_CONNECTOR_TYPE_UDI_EMBEDDED = 13, - OPM_CONNECTOR_TYPE_RESERVED = 14, - OPM_CONNECTOR_TYPE_MIRACAST = 15, - OPM_CONNECTOR_TYPE_TRANSPORT_AGNOSTIC_DIGITAL_MODE_A = 16, - OPM_CONNECTOR_TYPE_TRANSPORT_AGNOSTIC_DIGITAL_MODE_B = 17, - OPM_COPP_COMPATIBLE_CONNECTOR_TYPE_INTERNAL = 0x80000000, -}} -ENUM!{enum __MIDL___MIDL_itf_opmapi_0000_0000_0005 { - OPM_DVI_CHARACTERISTIC_1_0 = 1, - OPM_DVI_CHARACTERISTIC_1_1_OR_ABOVE = 2, -}} -ENUM!{enum OPM_OUTPUT_HARDWARE_PROTECTION { - OPM_OUTPUT_HARDWARE_PROTECTION_NOT_SUPPORTED = 0, - OPM_OUTPUT_HARDWARE_PROTECTION_SUPPORTED = 0x1, -}} -ENUM!{enum __MIDL___MIDL_itf_opmapi_0000_0000_0006 { - OPM_BUS_TYPE_OTHER = 0, - OPM_BUS_TYPE_PCI = 0x1, - OPM_BUS_TYPE_PCIX = 0x2, - OPM_BUS_TYPE_PCIEXPRESS = 0x3, - OPM_BUS_TYPE_AGP = 0x4, - OPM_BUS_IMPLEMENTATION_MODIFIER_INSIDE_OF_CHIPSET = 0x10000, - OPM_BUS_IMPLEMENTATION_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_CHIP = 0x20000, - OPM_BUS_IMPLEMENTATION_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_SOCKET = 0x30000, - OPM_BUS_IMPLEMENTATION_MODIFIER_DAUGHTER_BOARD_CONNECTOR = 0x40000, - OPM_BUS_IMPLEMENTATION_MODIFIER_DAUGHTER_BOARD_CONNECTOR_INSIDE_OF_NUAE = 0x50000, - OPM_BUS_IMPLEMENTATION_MODIFIER_NON_STANDARD = 0x80000000, - OPM_COPP_COMPATIBLE_BUS_TYPE_INTEGRATED = 0x80000000, -}} -ENUM!{enum OPM_DPCP_PROTECTION_LEVEL { - OPM_DPCP_OFF = 0, - OPM_DPCP_ON = 1, - OPM_DPCP_FORCE_ULONG = 0x7fffffff, -}} -ENUM!{enum OPM_HDCP_PROTECTION_LEVEL { - OPM_HDCP_OFF = 0, - OPM_HDCP_ON = 1, - OPM_HDCP_FORCE_ULONG = 0x7fffffff, -}} -ENUM!{enum OPM_TYPE_ENFORCEMENT_HDCP_PROTECTION_LEVEL { - OPM_TYPE_ENFORCEMENT_HDCP_OFF = OPM_HDCP_OFF, - OPM_TYPE_ENFORCEMENT_HDCP_ON_WITH_NO_TYPE_RESTRICTION = OPM_HDCP_ON, - OPM_TYPE_ENFORCEMENT_HDCP_ON_WITH_TYPE1_RESTRICTION = OPM_HDCP_ON + 1, - OPM_TYPE_ENFORCEMENT_HDCP_FORCE_ULONG = 0x7fffffff, -}} -ENUM!{enum __MIDL___MIDL_itf_opmapi_0000_0000_0007 { - OPM_CGMSA_OFF = 0, - OPM_CGMSA_COPY_FREELY = 0x1, - OPM_CGMSA_COPY_NO_MORE = 0x2, - OPM_CGMSA_COPY_ONE_GENERATION = 0x3, - OPM_CGMSA_COPY_NEVER = 0x4, - OPM_CGMSA_REDISTRIBUTION_CONTROL_REQUIRED = 0x8, -}} -ENUM!{enum OPM_ACP_PROTECTION_LEVEL { - OPM_ACP_OFF = 0, - OPM_ACP_LEVEL_ONE = 1, - OPM_ACP_LEVEL_TWO = 2, - OPM_ACP_LEVEL_THREE = 3, - OPM_ACP_FORCE_ULONG = 0x7fffffff, -}} -ENUM!{enum __MIDL___MIDL_itf_opmapi_0000_0000_0008 { - OPM_PROTECTION_TYPE_OTHER = 0x80000000, - OPM_PROTECTION_TYPE_NONE = 0, - OPM_PROTECTION_TYPE_COPP_COMPATIBLE_HDCP = 0x1, - OPM_PROTECTION_TYPE_ACP = 0x2, - OPM_PROTECTION_TYPE_CGMSA = 0x4, - OPM_PROTECTION_TYPE_HDCP = 0x8, - OPM_PROTECTION_TYPE_DPCP = 0x10, - OPM_PROTECTION_TYPE_TYPE_ENFORCEMENT_HDCP = 0x20, -}} -ENUM!{enum __MIDL___MIDL_itf_opmapi_0000_0000_0009 { - OPM_PROTECTION_STANDARD_OTHER = 0x80000000, - OPM_PROTECTION_STANDARD_NONE = 0, - OPM_PROTECTION_STANDARD_IEC61880_525I = 0x1, - OPM_PROTECTION_STANDARD_IEC61880_2_525I = 0x2, - OPM_PROTECTION_STANDARD_IEC62375_625P = 0x4, - OPM_PROTECTION_STANDARD_EIA608B_525 = 0x8, - OPM_PROTECTION_STANDARD_EN300294_625I = 0x10, - OPM_PROTECTION_STANDARD_CEA805A_TYPEA_525P = 0x20, - OPM_PROTECTION_STANDARD_CEA805A_TYPEA_750P = 0x40, - OPM_PROTECTION_STANDARD_CEA805A_TYPEA_1125I = 0x80, - OPM_PROTECTION_STANDARD_CEA805A_TYPEB_525P = 0x100, - OPM_PROTECTION_STANDARD_CEA805A_TYPEB_750P = 0x200, - OPM_PROTECTION_STANDARD_CEA805A_TYPEB_1125I = 0x400, - OPM_PROTECTION_STANDARD_ARIBTRB15_525I = 0x800, - OPM_PROTECTION_STANDARD_ARIBTRB15_525P = 0x1000, - OPM_PROTECTION_STANDARD_ARIBTRB15_750P = 0x2000, - OPM_PROTECTION_STANDARD_ARIBTRB15_1125I = 0x4000, -}} -ENUM!{enum OPM_IMAGE_ASPECT_RATIO_EN300294 { - OPM_ASPECT_RATIO_EN300294_FULL_FORMAT_4_BY_3 = 0, - OPM_ASPECT_RATIO_EN300294_BOX_14_BY_9_CENTER = 1, - OPM_ASPECT_RATIO_EN300294_BOX_14_BY_9_TOP = 2, - OPM_ASPECT_RATIO_EN300294_BOX_16_BY_9_CENTER = 3, - OPM_ASPECT_RATIO_EN300294_BOX_16_BY_9_TOP = 4, - OPM_ASPECT_RATIO_EN300294_BOX_GT_16_BY_9_CENTER = 5, - OPM_ASPECT_RATIO_EN300294_FULL_FORMAT_4_BY_3_PROTECTED_CENTER = 6, - OPM_ASPECT_RATIO_EN300294_FULL_FORMAT_16_BY_9_ANAMORPHIC = 7, - OPM_ASPECT_RATIO_FORCE_ULONG = 0x7fffffff, -}} -STRUCT!{#[repr(packed)] struct OPM_RANDOM_NUMBER { - abRandomNumber: [BYTE; 16], -}} -STRUCT!{#[repr(packed)] struct OPM_OMAC { - abOMAC: [BYTE; 16], -}} -STRUCT!{#[repr(packed)] struct OPM_ENCRYPTED_INITIALIZATION_PARAMETERS { - abEncryptedInitializationParameters: [BYTE; 256], -}} -STRUCT!{#[repr(packed)] struct OPM_GET_INFO_PARAMETERS { - omac: OPM_OMAC, - rnRandomNumber: OPM_RANDOM_NUMBER, - guidInformation: GUID, - ulSequenceNumber: ULONG, - cbParametersSize: ULONG, - abParameters: [BYTE; 4056], -}} -STRUCT!{#[repr(packed)] struct OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS { - rnRandomNumber: OPM_RANDOM_NUMBER, - guidInformation: GUID, - ulSequenceNumber: ULONG, - cbParametersSize: ULONG, - abParameters: [BYTE; 4056], -}} -STRUCT!{#[repr(packed)] struct OPM_HDCP_KEY_SELECTION_VECTOR { - abKeySelectionVector: [BYTE; 5], -}} -STRUCT!{#[repr(packed)] struct OPM_CONNECTED_HDCP_DEVICE_INFORMATION { - rnRandomNumber: OPM_RANDOM_NUMBER, - ulStatusFlags: ULONG, - ulHDCPFlags: ULONG, - ksvB: OPM_HDCP_KEY_SELECTION_VECTOR, - Reserved: [BYTE; 11], - Reserved2: [BYTE; 16], - Reserved3: [BYTE; 16], -}} -STRUCT!{#[repr(packed)] struct OPM_REQUESTED_INFORMATION { - omac: OPM_OMAC, - cbRequestedInformationSize: ULONG, - abRequestedInformation: [BYTE; 4076], -}} -STRUCT!{#[repr(packed)] struct OPM_STANDARD_INFORMATION { - rnRandomNumber: OPM_RANDOM_NUMBER, - ulStatusFlags: ULONG, - ulInformation: ULONG, - ulReserved: ULONG, - ulReserved2: ULONG, -}} -STRUCT!{#[repr(packed)] struct OPM_ACTUAL_OUTPUT_FORMAT { - rnRandomNumber: OPM_RANDOM_NUMBER, - ulStatusFlags: ULONG, - ulDisplayWidth: ULONG, - ulDisplayHeight: ULONG, - dsfSampleInterleaveFormat: DXVA2_SampleFormat, - d3dFormat: D3DFORMAT, - ulFrequencyNumerator: ULONG, - ulFrequencyDenominator: ULONG, -}} -STRUCT!{#[repr(packed)] struct OPM_ACP_AND_CGMSA_SIGNALING { - rnRandomNumber: OPM_RANDOM_NUMBER, - ulStatusFlags: ULONG, - ulAvailableTVProtectionStandards: ULONG, - ulActiveTVProtectionStandard: ULONG, - ulReserved: ULONG, - ulAspectRatioValidMask1: ULONG, - ulAspectRatioData1: ULONG, - ulAspectRatioValidMask2: ULONG, - ulAspectRatioData2: ULONG, - ulAspectRatioValidMask3: ULONG, - ulAspectRatioData3: ULONG, - ulReserved2: [ULONG; 4], - ulReserved3: [ULONG; 4], -}} -STRUCT!{#[repr(packed)] struct OPM_OUTPUT_ID_DATA { - rnRandomNumber: OPM_RANDOM_NUMBER, - ulStatusFlags: ULONG, - OutputId: UINT64, -}} -STRUCT!{#[repr(packed)] struct OPM_CONFIGURE_PARAMETERS { - omac: OPM_OMAC, - guidSetting: GUID, - ulSequenceNumber: ULONG, - cbParametersSize: ULONG, - abParameters: [BYTE; 4056], -}} -STRUCT!{#[repr(packed)] struct OPM_SET_PROTECTION_LEVEL_PARAMETERS { - ulProtectionType: ULONG, - ulProtectionLevel: ULONG, - Reserved: ULONG, - Reserved2: ULONG, -}} -STRUCT!{#[repr(packed)] struct OPM_SET_ACP_AND_CGMSA_SIGNALING_PARAMETERS { - ulNewTVProtectionStandard: ULONG, - ulAspectRatioChangeMask1: ULONG, - ulAspectRatioData1: ULONG, - ulAspectRatioChangeMask2: ULONG, - ulAspectRatioData2: ULONG, - ulAspectRatioChangeMask3: ULONG, - ulAspectRatioData3: ULONG, - ulReserved: [ULONG; 4], - ulReserved2: [ULONG; 4], - ulReserved3: ULONG, -}} -STRUCT!{#[repr(packed)] struct OPM_SET_HDCP_SRM_PARAMETERS { - ulSRMVersion: ULONG, -}} -STRUCT!{#[repr(packed)] struct OPM_GET_CODEC_INFO_PARAMETERS { - cbVerifier: DWORD, - Verifier: [BYTE; 4052], -}} -STRUCT!{#[repr(packed)] struct OPM_GET_CODEC_INFO_INFORMATION { - rnRandomNumber: OPM_RANDOM_NUMBER, - Merit: DWORD, -}} -DEFINE_GUID!{IID_IOPMVideoOutput, - 0x0a15159d, 0x41c7, 0x4456, 0x93, 0xe1, 0x28, 0x4c, 0xd6, 0x1d, 0x4e, 0x8d} -RIDL!{#[uuid(0x0a15159d, 0x41c7, 0x4456, 0x93, 0xe1, 0x28, 0x4c, 0xd6, 0x1d, 0x4e, 0x8d)] -interface IOPMVideoOutput(IOPMVideoOutputVtbl): IUnknown(IUnknownVtbl) { - fn StartInitialization( - prnRandomNumber: *mut OPM_RANDOM_NUMBER, - ppbCertificate: *mut *mut BYTE, - pulCertificateLength: *mut ULONG, - ) -> HRESULT, - fn FinishInitialization( - pParameters: *const OPM_ENCRYPTED_INITIALIZATION_PARAMETERS, - ) -> HRESULT, - fn GetInformation( - pParameters: *const OPM_GET_INFO_PARAMETERS, - pRequestedInformation: *mut OPM_REQUESTED_INFORMATION, - ) -> HRESULT, - fn COPPCompatibleGetInformation( - pParameters: *const OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS, - pRequestedInformation: *mut OPM_REQUESTED_INFORMATION, - ) -> HRESULT, - fn Configure( - pParameters: *const OPM_CONFIGURE_PARAMETERS, - ulAdditionalParametersSize: ULONG, - pbAdditionalParameters: *const BYTE, - ) -> HRESULT, -}} -#[inline] -pub fn GetBusType(ulBusTypeAndImplementation: ULONG) -> ULONG { - ulBusTypeAndImplementation & OPM_BUS_TYPE_MASK -} -#[inline] -pub fn GetBusImplementation(ulBusTypeAndImplementation: ULONG) -> ULONG { - (ulBusTypeAndImplementation & OPM_BUS_IMPLEMENTATION_MODIFIER_MASK) >> 16 -} -#[inline] -pub fn IsNonStandardBusImplementation(ulBusTypeAndImplementation: ULONG) -> ULONG { - ulBusTypeAndImplementation & OPM_BUS_IMPLEMENTATION_MODIFIER_NON_STANDARD -} -extern "system" { - pub fn OPMGetVideoOutputsFromHMONITOR( - hMonitor: HMONITOR, - vos: OPM_VIDEO_OUTPUT_SEMANTICS, - pulNumVideoOutputs: *mut ULONG, - pppOPMVideoOutputArray: *mut *mut *mut IOPMVideoOutput, - ) -> HRESULT; - pub fn OPMGetVideoOutputForTarget( - pAdapterLuid: *mut LUID, - VidPnTarget: ULONG, - vos: OPM_VIDEO_OUTPUT_SEMANTICS, - ppOPMVideoOutput: *mut *mut IOPMVideoOutput, - ) -> HRESULT; - pub fn OPMGetVideoOutputsFromIDirect3DDevice9Object( - pDirect3DDevice9: *mut IDirect3DDevice9, - vos: OPM_VIDEO_OUTPUT_SEMANTICS, - pulNumVideoOutputs: *mut ULONG, - pppOPMVideoOutputArray: *mut *mut *mut IOPMVideoOutput, - ) -> HRESULT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/pdh.rs b/vendor/registry-40351f815f426200/winapi/src/um/pdh.rs deleted file mode 100644 index 9ef4ee74a..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/pdh.rs +++ /dev/null @@ -1,806 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Common Performance Data Helper definitions -use ctypes::c_double; -use shared::basetsd::DWORD_PTR; -use shared::guiddef::GUID; -use shared::minwindef::{BOOL, DWORD, FILETIME, LPDWORD, UCHAR}; -use shared::windef::HWND; -use um::winnt::{BOOLEAN, HANDLE, LONG, LONGLONG, LPCSTR, LPCWSTR, LPSTR, LPWSTR}; -pub const PDH_FMT_RAW: DWORD = 0x00000010; -pub const PDH_FMT_ANSI: DWORD = 0x00000020; -pub const PDH_FMT_UNICODE: DWORD = 0x00000040; -pub const PDH_FMT_LONG: DWORD = 0x00000100; -pub const PDH_FMT_DOUBLE: DWORD = 0x00000200; -pub const PDH_FMT_LARGE: DWORD = 0x00000400; -pub const PDH_FMT_NOSCALE: DWORD = 0x00001000; -pub const PDH_FMT_1000: DWORD = 0x00002000; -pub const PDH_FMT_NODATA: DWORD = 0x00004000; -pub const PDH_FMT_NOCAP100: DWORD = 0x00008000; -pub const PERF_DETAIL_COSTLY: DWORD = 0x00010000; -pub const PERF_DETAIL_STANDARD: DWORD = 0x0000FFFF; -pub type PDH_STATUS = LONG; -pub type PDH_HQUERY = HANDLE; -pub type HQUERY = PDH_HQUERY; -pub type PDH_HCOUNTER = HANDLE; -pub type HCOUNTER = PDH_HCOUNTER; -pub type PPDH_BROWSE_DLG_CONFIG_A = *mut PDH_BROWSE_DLG_CONFIG_A; -pub type PPDH_BROWSE_DLG_CONFIG_W = *mut PDH_BROWSE_DLG_CONFIG_W; -pub type PDH_HLOG = HANDLE; -pub type PPDH_RAW_LOG_RECORD = *mut PDH_RAW_LOG_RECORD; -pub type PPDH_TIME_INFO = *mut PDH_TIME_INFO; -pub type PPDH_RAW_COUNTER = *mut PDH_RAW_COUNTER; -pub type PPDH_COUNTER_INFO_A = *mut PDH_COUNTER_INFO_A; -pub type PPDH_COUNTER_INFO_W = *mut PDH_COUNTER_INFO_W; -pub type PPDH_STATISTICS = *mut PDH_STATISTICS; -pub type PPDH_FMT_COUNTERVALUE_ITEM_A = *mut PDH_FMT_COUNTERVALUE_ITEM_A; -pub type PPDH_FMT_COUNTERVALUE_ITEM_W = *mut PDH_FMT_COUNTERVALUE_ITEM_W; -pub type PPDH_DATA_ITEM_PATH_ELEMENTS_A = *mut PDH_DATA_ITEM_PATH_ELEMENTS_A; -pub type PPDH_DATA_ITEM_PATH_ELEMENTS_W = *mut PDH_DATA_ITEM_PATH_ELEMENTS_W; -pub type PPDH_FMT_COUNTERVALUE = *mut PDH_FMT_COUNTERVALUE; -FN!{stdcall CounterPathCallBack( - DWORD_PTR, -) -> PDH_STATUS} -pub type PPDH_COUNTER_PATH_ELEMENTS_A = *mut PDH_COUNTER_PATH_ELEMENTS_A; -pub type PPDH_COUNTER_PATH_ELEMENTS_W = *mut PDH_COUNTER_PATH_ELEMENTS_W; -pub type PPDH_BROWSE_DLG_CONFIG_HA = *mut PDH_BROWSE_DLG_CONFIG_HA; -pub type PPDH_BROWSE_DLG_CONFIG_HW = *mut PDH_BROWSE_DLG_CONFIG_HW; -UNION!{union PDH_FMT_COUNTERVALUE_u { - [u64; 1], - longValue longValue_mut: LONG, - doubleValue doubleValue_mut: c_double, - largeValue largeValue_mut: LONGLONG, - AnsiStringValue AnsiStringValue_mut: LPCSTR, - WideStringValue WideStringValue_mut: LPCWSTR, -}} -STRUCT!{struct PDH_FMT_COUNTERVALUE { - CStatus: DWORD, - u: PDH_FMT_COUNTERVALUE_u, -}} -STRUCT!{struct PDH_RAW_LOG_RECORD { - dwStructureSize: DWORD, - dwRecordType: DWORD, - dwItems: DWORD, - RawBytes: UCHAR, -}} -STRUCT!{struct PDH_TIME_INFO { - StartTime: LONGLONG, - EndTime: LONGLONG, - SampleCount: DWORD, -}} -STRUCT!{struct PDH_RAW_COUNTER { - CStatus: DWORD, - TimeStamp: FILETIME, - FirstValue: LONGLONG, - SecondValue: LONGLONG, - MultiCount: DWORD, -}} -STRUCT!{struct PDH_STATISTICS { - dwFormat: DWORD, - count: DWORD, - min: PDH_FMT_COUNTERVALUE, - max: PDH_FMT_COUNTERVALUE, - mean: PDH_FMT_COUNTERVALUE, -}} -STRUCT!{struct PDH_FMT_COUNTERVALUE_ITEM_A { - szName: LPSTR, - FmtValue: PDH_FMT_COUNTERVALUE, -}} -STRUCT!{struct PDH_FMT_COUNTERVALUE_ITEM_W { - szName: LPWSTR, - FmtValue: PDH_FMT_COUNTERVALUE, -}} -STRUCT!{struct PDH_BROWSE_DLG_CONFIG_A { - flags: DWORD, - hWndOwner: HWND, - szDataSource: LPSTR, - szReturnPathBuffer: LPSTR, - cchReturnPathLength: DWORD, - pCallBack: CounterPathCallBack, - dwCallBackArg: DWORD_PTR, - CallBackStatus: PDH_STATUS, - dwDefaultDetailLevel: DWORD, - szDialogBoxCaption: LPSTR, -}} -BITFIELD!{PDH_BROWSE_DLG_CONFIG_A flags: DWORD [ - IncludeInstanceIndex set_IncludeInstanceIndex[0..1], - SingleCounterPerAdd set_SingleCounterPerAdd[1..2], - SingleCounterPerDialog set_SingleCounterPerDialog[2..3], - LocalCountersOnly set_LocalCountersOnly[3..4], - WildCardInstances set_WildCardInstances[4..5], - HideDetailBox set_HideDetailBox[5..6], - InitializePath set_InitializePath[6..7], - DisableMachineSelection set_DisableMachineSelection[7..8], - IncludeCostlyObjects set_IncludeCostlyObjects[8..9], - ShowObjectBrowser set_ShowObjectBrowser[9..10], -]} -STRUCT!{struct PDH_BROWSE_DLG_CONFIG_W { - flags: DWORD, - hWndOwner: HWND, - szDataSource: LPWSTR, - szReturnPathBuffer: LPWSTR, - cchReturnPathLength: DWORD, - pCallBack: CounterPathCallBack, - dwCallBackArg: DWORD_PTR, - CallBackStatus: PDH_STATUS, - dwDefaultDetailLevel: DWORD, - szDialogBoxCaption: LPWSTR, -}} -BITFIELD!{PDH_BROWSE_DLG_CONFIG_W flags: DWORD [ - IncludeInstanceIndex set_IncludeInstanceIndex[0..1], - SingleCounterPerAdd set_SingleCounterPerAdd[1..2], - SingleCounterPerDialog set_SingleCounterPerDialog[2..3], - LocalCountersOnly set_LocalCountersOnly[3..4], - WildCardInstances set_WildCardInstances[4..5], - HideDetailBox set_HideDetailBox[5..6], - InitializePath set_InitializePath[6..7], - DisableMachineSelection set_DisableMachineSelection[7..8], - IncludeCostlyObjects set_IncludeCostlyObjects[8..9], - ShowObjectBrowser set_ShowObjectBrowser[9..10], -]} -STRUCT!{struct PDH_COUNTER_PATH_ELEMENTS_A { - szMachineName: LPSTR, - szObjectName: LPSTR, - szInstanceName: LPSTR, - szParentInstance: LPSTR, - dwInstanceIndex: DWORD, - szCounterName: LPSTR, -}} -STRUCT!{struct PDH_COUNTER_PATH_ELEMENTS_W { - szMachineName: LPWSTR, - szObjectName: LPWSTR, - szInstanceName: LPWSTR, - szParentInstance: LPWSTR, - dwInstanceIndex: DWORD, - szCounterName: LPWSTR, -}} -STRUCT!{struct PDH_DATA_ITEM_PATH_ELEMENTS_A { - szMachineName: LPSTR, - ObjectGUID: GUID, - dwItemId: DWORD, - szInstanceName: LPSTR, -}} -STRUCT!{struct PDH_DATA_ITEM_PATH_ELEMENTS_W { - szMachineName: LPWSTR, - ObjectGUID: GUID, - dwItemId: DWORD, - szInstanceName: LPWSTR, -}} -STRUCT!{struct PDH_COUNTER_INFO_A_u_s { - szMachineName: LPSTR, - szObjectName: LPSTR, - szInstanceName: LPSTR, - szParentInstance: LPSTR, - dwInstanceIndex: DWORD, - szCounterName: LPSTR, -}} -UNION!{union PDH_COUNTER_INFO_A_u { - [u32; 7] [u64; 6], - DataItemPath DataItemPath_mut: PDH_DATA_ITEM_PATH_ELEMENTS_A, - CounterPath CounterPath_mut: PDH_COUNTER_PATH_ELEMENTS_A, - s s_mut: PDH_COUNTER_INFO_A_u_s, -}} -STRUCT!{struct PDH_COUNTER_INFO_A { - dwLength: DWORD, - dwType: DWORD, - CVersion: DWORD, - CStatus: DWORD, - lScale: LONG, - lDefaultScale: LONG, - dwUserData: DWORD_PTR, - dwQueryUserData: DWORD_PTR, - szFullPath: LPSTR, - u: PDH_COUNTER_INFO_A_u, - szExplainText: LPSTR, - DataBuffer: [DWORD; 1], -}} -STRUCT!{struct PDH_COUNTER_INFO_W_u_s { - szMachineName: LPWSTR, - szObjectName: LPWSTR, - szInstanceName: LPWSTR, - szParentInstance: LPWSTR, - dwInstanceIndex: DWORD, - szCounterName: LPWSTR, -}} -UNION!{union PDH_COUNTER_INFO_W_u { - [u32; 7] [u64; 6], - DataItemPath DataItemPath_mut: PDH_DATA_ITEM_PATH_ELEMENTS_W, - CounterPath CounterPath_mut: PDH_COUNTER_PATH_ELEMENTS_W, - s s_mut: PDH_COUNTER_INFO_W_u_s, -}} -STRUCT!{struct PDH_COUNTER_INFO_W { - dwLength: DWORD, - dwType: DWORD, - CVersion: DWORD, - CStatus: DWORD, - lScale: LONG, - lDefaultScale: LONG, - dwUserData: DWORD_PTR, - dwQueryUserData: DWORD_PTR, - szFullPath: LPWSTR, - u: PDH_COUNTER_INFO_W_u, - szExplainText: LPWSTR, - DataBuffer: [DWORD; 1], -}} -STRUCT!{struct PDH_BROWSE_DLG_CONFIG_HA { - flags: DWORD, - hWndOwner: HWND, - hDataSource: PDH_HLOG, - szReturnPathBuffer: LPSTR, - cchReturnPathLength: DWORD, - pCallBack: CounterPathCallBack, - dwCallBackArg: DWORD_PTR, - CallBackStatus: PDH_STATUS, - dwDefaultDetailLevel: DWORD, - szDialogBoxCaption: LPSTR, -}} -BITFIELD!{PDH_BROWSE_DLG_CONFIG_HA flags: DWORD [ - IncludeInstanceIndex set_IncludeInstanceIndex[0..1], - SingleCounterPerAdd set_SingleCounterPerAdd[1..2], - SingleCounterPerDialog set_SingleCounterPerDialog[2..3], - LocalCountersOnly set_LocalCountersOnly[3..4], - WildCardInstances set_WildCardInstances[4..5], - HideDetailBox set_HideDetailBox[5..6], - InitializePath set_InitializePath[6..7], - DisableMachineSelection set_DisableMachineSelection[7..8], - IncludeCostlyObjects set_IncludeCostlyObjects[8..9], - ShowObjectBrowser set_ShowObjectBrowser[9..10], -]} -STRUCT!{struct PDH_BROWSE_DLG_CONFIG_HW { - flags: DWORD, - hWndOwner: HWND, - hDataSource: PDH_HLOG, - szReturnPathBuffer: LPWSTR, - cchReturnPathLength: DWORD, - pCallBack: CounterPathCallBack, - dwCallBackArg: DWORD_PTR, - CallBackStatus: PDH_STATUS, - dwDefaultDetailLevel: DWORD, - szDialogBoxCaption: LPWSTR, -}} -BITFIELD!{PDH_BROWSE_DLG_CONFIG_HW flags: DWORD [ - IncludeInstanceIndex set_IncludeInstanceIndex[0..1], - SingleCounterPerAdd set_SingleCounterPerAdd[1..2], - SingleCounterPerDialog set_SingleCounterPerDialog[2..3], - LocalCountersOnly set_LocalCountersOnly[3..4], - WildCardInstances set_WildCardInstances[4..5], - HideDetailBox set_HideDetailBox[5..6], - InitializePath set_InitializePath[6..7], - DisableMachineSelection set_DisableMachineSelection[7..8], - IncludeCostlyObjects set_IncludeCostlyObjects[8..9], - ShowObjectBrowser set_ShowObjectBrowser[9..10], -]} -extern "system" { - pub fn PdhGetDllVersion( - lpdwVersion: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhOpenQueryW( - szDataSource: LPCWSTR, - dwUserData: DWORD_PTR, - phQuery: *mut PDH_HQUERY, - ) -> PDH_STATUS; - pub fn PdhOpenQueryA( - szDataSource: LPCSTR, - dwUserData: DWORD_PTR, - phQuery: *mut PDH_HQUERY, - ) -> PDH_STATUS; - pub fn PdhAddCounterW( - hQuery: PDH_HQUERY, - szFullCounterPath: LPCWSTR, - dwUserData: DWORD_PTR, - phCounter: *mut PDH_HCOUNTER, - ) -> PDH_STATUS; - pub fn PdhAddCounterA( - hQuery: PDH_HQUERY, - szFullCounterPath: LPCSTR, - dwUserData: DWORD_PTR, - phCounter: *mut PDH_HCOUNTER, - ) -> PDH_STATUS; - pub fn PdhAddEnglishCounterW( - hQuery: PDH_HQUERY, - szFullCounterPath: LPCWSTR, - dwUserData: DWORD_PTR, - phCounter: *mut PDH_HCOUNTER, - ) -> PDH_STATUS; - pub fn PdhAddEnglishCounterA( - hQuery: PDH_HQUERY, - szFullCounterPath: LPCSTR, - dwUserData: DWORD_PTR, - phCounter: *mut PDH_HCOUNTER, - ) -> PDH_STATUS; - pub fn PdhCollectQueryDataWithTime( - hQuery: PDH_HQUERY, - pllTimeStamp: *mut LONGLONG, - ) -> PDH_STATUS; - pub fn PdhValidatePathExW( - hDataSource: PDH_HLOG, - szFullPathBuffer: LPCWSTR, - ) -> PDH_STATUS; - pub fn PdhValidatePathExA( - hDataSource: PDH_HLOG, - szFullPathBuffer: LPCSTR, - ) -> PDH_STATUS; - pub fn PdhRemoveCounter( - hCounter: PDH_HCOUNTER, - ) -> PDH_STATUS; - pub fn PdhCollectQueryData( - hQuery: PDH_HQUERY, - ) -> PDH_STATUS; - pub fn PdhCloseQuery( - hQuery: PDH_HQUERY, - ) -> PDH_STATUS; - pub fn PdhGetFormattedCounterValue( - hCounter: PDH_HCOUNTER, - dwFormat: DWORD, - lpdwType: LPDWORD, - pValue: PPDH_FMT_COUNTERVALUE, - ) -> PDH_STATUS; - pub fn PdhGetFormattedCounterArrayA( - hCounter: PDH_HCOUNTER, - dwFormat: DWORD, - lpdwBufferSize: LPDWORD, - lpdwBufferCount: LPDWORD, - ItemBuffer: PPDH_FMT_COUNTERVALUE_ITEM_A, - ) -> PDH_STATUS; - pub fn PdhGetFormattedCounterArrayW( - hCounter: PDH_HCOUNTER, - dwFormat: DWORD, - lpdwBufferSize: LPDWORD, - lpdwBufferCount: LPDWORD, - ItemBuffer: PPDH_FMT_COUNTERVALUE_ITEM_W, - ) -> PDH_STATUS; - pub fn PdhGetRawCounterValue( - hCounter: PDH_HCOUNTER, - lpdwType: LPDWORD, - pValue: PPDH_RAW_COUNTER, - ) -> PDH_STATUS; - pub fn PdhGetRawCounterArrayA( - hCounter: PDH_HCOUNTER, - dwFormat: DWORD, - lpdwBufferSize: LPDWORD, - lpdwBufferCount: LPDWORD, - ItemBuffer: PPDH_FMT_COUNTERVALUE_ITEM_A, - ) -> PDH_STATUS; - pub fn PdhGetRawCounterArrayW( - hCounter: PDH_HCOUNTER, - dwFormat: DWORD, - lpdwBufferSize: LPDWORD, - lpdwBufferCount: LPDWORD, - ItemBuffer: PPDH_FMT_COUNTERVALUE_ITEM_W, - ) -> PDH_STATUS; - pub fn PdhCalculateCounterFromRawValue( - hCounter: PDH_HCOUNTER, - dwFormat: DWORD, - rawValue1: PPDH_RAW_COUNTER, - rawValue2: PPDH_RAW_COUNTER, - fmtValue: PPDH_FMT_COUNTERVALUE, - ) -> PDH_STATUS; - pub fn PdhComputeCounterStatistics( - hCounter: PDH_HCOUNTER, - dwFormat: DWORD, - dwFirstEntry: DWORD, - dwNumEntries: DWORD, - lpRawValueArray: PPDH_RAW_COUNTER, - data: PPDH_STATISTICS, - ) -> PDH_STATUS; - pub fn PdhGetCounterInfoW( - hCounter: PDH_HCOUNTER, - bRetrieveExplainText: BOOLEAN, - pdwBufferSize: LPDWORD, - lpBuffer: PPDH_COUNTER_INFO_W, - ) -> PDH_STATUS; - pub fn PdhGetCounterInfoA( - hCounter: PDH_HCOUNTER, - bRetrieveExplainText: BOOLEAN, - pdwBufferSize: LPDWORD, - lpBuffer: PPDH_COUNTER_INFO_A, - ) -> PDH_STATUS; - pub fn PdhSetCounterScaleFactor( - hCounter: PDH_HCOUNTER, - lFactor: LONG, - ) -> PDH_STATUS; - pub fn PdhConnectMachineW( - szMachineName: LPCWSTR, - ) -> PDH_STATUS; - pub fn PdhConnectMachineA( - szMachineName: LPCSTR, - ) -> PDH_STATUS; - pub fn PdhEnumMachinesW( - szDataSource: LPCWSTR, - mszMachineNameList: LPWSTR, - pcchBufferLength: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhEnumMachinesA( - szDataSource: LPCSTR, - mszMachineNameList: LPSTR, - pcchBufferLength: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhEnumObjectsW( - szDataSource: LPCWSTR, - szMachineName: LPCWSTR, - mszObjectList: LPWSTR, - pcchBufferLength: LPDWORD, - dwDetailLevel: DWORD, - bRefresh: BOOL, - ) -> PDH_STATUS; - pub fn PdhEnumObjectsA( - szDataSource: LPCSTR, - szMachineName: LPCSTR, - mszObjectList: LPSTR, - pcchBufferLength: LPDWORD, - dwDetailLevel: DWORD, - bRefresh: BOOL, - ) -> PDH_STATUS; - pub fn PdhEnumObjectItemsW( - szDataSource: LPCWSTR, - szMachineName: LPCWSTR, - szObjectName: LPCWSTR, - mszCounterList: LPWSTR, - pcchCounterListLength: LPDWORD, - mszInstanceList: LPWSTR, - pcchInstanceListLength: LPDWORD, - dwDetailLevel: DWORD, - dwFlags: DWORD, - ) -> PDH_STATUS; - pub fn PdhEnumObjectItemsA( - szDataSource: LPCSTR, - szMachineName: LPCSTR, - szObjectName: LPCSTR, - mszCounterList: LPSTR, - pcchCounterListLength: LPDWORD, - mszInstanceList: LPSTR, - pcchInstanceListLength: LPDWORD, - dwDetailLevel: DWORD, - dwFlags: DWORD, - ) -> PDH_STATUS; - pub fn PdhMakeCounterPathW( - pCounterPathElements: PPDH_COUNTER_PATH_ELEMENTS_W, - szFullPathBuffer: LPWSTR, - pcchBufferSize: LPDWORD, - dwFlags: DWORD, - ) -> PDH_STATUS; - pub fn PdhMakeCounterPathA( - pCounterPathElements: PPDH_COUNTER_PATH_ELEMENTS_A, - szFullPathBuffer: LPSTR, - pcchBufferSize: LPDWORD, - dwFlags: DWORD, - ) -> PDH_STATUS; - pub fn PdhParseCounterPathW( - szFullPathBuffer: LPCWSTR, - pCounterPathElements: *mut PDH_COUNTER_PATH_ELEMENTS_W, - pcchBufferSize: LPDWORD, - dwFlags: DWORD, - ) -> PDH_STATUS; - pub fn PdhParseCounterPathA( - szFullPathBuffer: LPCSTR, - pCounterPathElements: *mut PDH_COUNTER_PATH_ELEMENTS_A, - pcchBufferSize: LPDWORD, - dwFlags: DWORD, - ) -> PDH_STATUS; - pub fn PdhParseInstanceNameW( - szInstanceString: LPCWSTR, - szInstanceName: LPWSTR, - pcchInstanceNameLength: LPDWORD, - szParentName: LPWSTR, - pcchParentNameLength: LPDWORD, - lpIndex: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhParseInstanceNameA( - szInstanceString: LPCSTR, - szInstanceName: LPSTR, - pcchInstanceNameLength: LPDWORD, - szParentName: LPSTR, - pcchParentNameLength: LPDWORD, - lpIndex: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhValidatePathW( - szFullCounterPath: LPCWSTR, - ) -> PDH_STATUS; - pub fn PdhValidatePathA( - szFullCounterPath: LPCSTR, - ) -> PDH_STATUS; - pub fn PdhGetDefaultPerfObjectW( - szDataSource: LPCWSTR, - szMachineName: LPCWSTR, - szDefaultObjectName: LPWSTR, - pcchBufferSize: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhGetDefaultPerfObjectA( - szDataSource: LPCSTR, - szMachineName: LPCSTR, - szDefaultObjectName: LPSTR, - pcchBufferSize: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhGetDefaultPerfCounterW( - szDataSource: LPCWSTR, - szMachineName: LPCWSTR, - szObjectName: LPCWSTR, - szDefaultCounterName: LPWSTR, - pcchBufferSize: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhGetDefaultPerfCounterA( - szDataSource: LPCSTR, - szMachineName: LPCSTR, - szObjectName: LPCSTR, - szDefaultCounterName: LPSTR, - pcchBufferSize: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhBrowseCountersW( - pBrowseDlgData: PPDH_BROWSE_DLG_CONFIG_W, - ) -> PDH_STATUS; - pub fn PdhBrowseCountersA( - pBrowseDlgData: PPDH_BROWSE_DLG_CONFIG_A, - ) -> PDH_STATUS; - pub fn PdhExpandCounterPathW( - szWildCardPath: LPCWSTR, - mszExpandedPathList: LPWSTR, - pcchPathListLength: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhExpandCounterPathA( - szWildCardPath: LPCSTR, - mszExpandedPathList: LPSTR, - pcchPathListLength: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhLookupPerfNameByIndexW( - szMachineName: LPCWSTR, - dwNameIndex: DWORD, - szNameBuffer: LPWSTR, - pcchNameBufferSize: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhLookupPerfNameByIndexA( - szMachineName: LPCSTR, - dwNameIndex: DWORD, - szNameBuffer: LPSTR, - pcchNameBufferSize: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhLookupPerfIndexByNameW( - szMachineName: LPCWSTR, - szNameBuffer: LPCWSTR, - pdwIndex: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhLookupPerfIndexByNameA( - szMachineName: LPCSTR, - szNameBuffer: LPCSTR, - pdwIndex: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhExpandWildCardPathW( - szDataSource: LPCWSTR, - szWildCardPath: LPCWSTR, - mszExpandedPathList: LPWSTR, - pcchPathListLength: LPDWORD, - dwFlags: DWORD, - ) -> PDH_STATUS; - pub fn PdhExpandWildCardPathA( - szDataSource: LPCSTR, - szWildCardPath: LPCSTR, - mszExpandedPathList: LPSTR, - pcchPathListLength: LPDWORD, - dwFlags: DWORD, - ) -> PDH_STATUS; - pub fn PdhOpenLogW( - szLogFileName: LPCWSTR, - dwAccessFlags: DWORD, - lpdwLogType: LPDWORD, - hQuery: PDH_HQUERY, - dwMaxSize: DWORD, - szUserCaption: LPCWSTR, - phLog: *mut PDH_HLOG, - ) -> PDH_STATUS; - pub fn PdhOpenLogA( - szLogFileName: LPCSTR, - dwAccessFlags: DWORD, - lpdwLogType: LPDWORD, - hQuery: PDH_HQUERY, - dwMaxSize: DWORD, - szUserCaption: LPCSTR, - phLog: *mut PDH_HLOG, - ) -> PDH_STATUS; - pub fn PdhUpdateLogW( - hLog: PDH_HLOG, - szUserString: LPCWSTR, - ) -> PDH_STATUS; - pub fn PdhUpdateLogA( - hLog: PDH_HLOG, - szUserString: LPCSTR, - ) -> PDH_STATUS; - pub fn PdhUpdateLogFileCatalog( - hLog: PDH_HLOG, - ) -> PDH_STATUS; - pub fn PdhGetLogFileSize( - hLog: PDH_HLOG, - llSize: *mut LONGLONG, - ) -> PDH_STATUS; - pub fn PdhCloseLog( - hLog: PDH_HLOG, - dwFlags: DWORD, - ) -> PDH_STATUS; - pub fn PdhSelectDataSourceW( - hWndOwner: HWND, - dwFlags: DWORD, - szDataSource: LPWSTR, - pcchBufferLength: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhSelectDataSourceA( - hWndOwner: HWND, - dwFlags: DWORD, - szDataSource: LPSTR, - pcchBufferLength: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhIsRealTimeQuery( - hQuery: PDH_HQUERY, - ) -> PDH_STATUS; - pub fn PdhSetQueryTimeRange( - hQuery: PDH_HQUERY, - pInfo: PPDH_TIME_INFO, - ) -> PDH_STATUS; - pub fn PdhGetDataSourceTimeRangeW( - szDataSource: LPCWSTR, - pdwNumEntries: LPDWORD, - pInfo: PPDH_TIME_INFO, - pdwBufferSize: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhGetDataSourceTimeRangeA( - szDataSource: LPCSTR, - pdwNumEntries: LPDWORD, - pInfo: PPDH_TIME_INFO, - pdwBufferSize: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhCollectQueryDataEx( - hQuery: PDH_HQUERY, - dwIntervalTime: DWORD, - hNewDataEvent: HANDLE, - ) -> PDH_STATUS; - pub fn PdhFormatFromRawValue( - dwCounterType: DWORD, - dwFormat: DWORD, - pTimeBase: *mut LONGLONG, - rawValue1: PPDH_RAW_COUNTER, - rawValue2: PPDH_RAW_COUNTER, - fmtValue: PPDH_FMT_COUNTERVALUE, - ) -> PDH_STATUS; - pub fn PdhGetCounterTimeBase( - hCounter: PDH_HCOUNTER, - pTimeBase: *mut LONGLONG, - ) -> PDH_STATUS; - pub fn PdhReadRawLogRecord( - hLog: PDH_HLOG, - ftRecord: FILETIME, - pRawLogRecord: PPDH_RAW_LOG_RECORD, - pdwBufferLength: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhSetDefaultRealTimeDataSource( - dwDataSourceId: DWORD, - ) -> PDH_STATUS; - pub fn PdhBindInputDataSourceW( - phDataSource: *mut PDH_HLOG, - szLogFileNameList: LPCWSTR, - ) -> PDH_STATUS; - pub fn PdhBindInputDataSourceA( - phDataSource: *mut PDH_HLOG, - szLogFileNameList: LPCSTR, - ) -> PDH_STATUS; - pub fn PdhOpenQueryH( - hDataSource: PDH_HLOG, - dwUserData: DWORD_PTR, - phQuery: *mut PDH_HQUERY, - ) -> PDH_STATUS; - pub fn PdhEnumMachinesHW( - hDataSource: PDH_HLOG, - mszMachineNameList: LPWSTR, - pcchBufferLength: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhEnumMachinesHA( - hDataSource: PDH_HLOG, - mszMachineNameList: LPSTR, - pcchBufferLength: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhEnumObjectsHW( - hDataSource: PDH_HLOG, - szMachineName: LPCWSTR, - mszObjectList: LPWSTR, - pcchBufferLength: LPDWORD, - dwDetailLevel: DWORD, - bRefresh: BOOL, - ) -> PDH_STATUS; - pub fn PdhEnumObjectsHA( - hDataSource: PDH_HLOG, - szMachineName: LPCSTR, - mszObjectList: LPSTR, - pcchBufferLength: LPDWORD, - dwDetailLevel: DWORD, - bRefresh: BOOL, - ) -> PDH_STATUS; - pub fn PdhEnumObjectItemsHW( - hDataSource: PDH_HLOG, - szMachineName: LPCWSTR, - szObjectName: LPCWSTR, - mszCounterList: LPWSTR, - pcchCounterListLength: LPDWORD, - mszInstanceList: LPWSTR, - pcchInstanceListLength: LPDWORD, - dwDetailLevel: DWORD, - dwFlags: DWORD, - ) -> PDH_STATUS; - pub fn PdhEnumObjectItemsHA( - hDataSource: PDH_HLOG, - szMachineName: LPCSTR, - szObjectName: LPCSTR, - mszCounterList: LPSTR, - pcchCounterListLength: LPDWORD, - mszInstanceList: LPSTR, - pcchInstanceListLength: LPDWORD, - dwDetailLevel: DWORD, - dwFlags: DWORD, - ) -> PDH_STATUS; - pub fn PdhExpandWildCardPathHW( - hDataSource: PDH_HLOG, - szWildCardPath: LPCWSTR, - mszExpandedPathList: LPWSTR, - pcchPathListLength: LPDWORD, - dwFlags: DWORD, - ) -> PDH_STATUS; - pub fn PdhExpandWildCardPathHA( - hDataSource: PDH_HLOG, - szWildCardPath: LPCSTR, - mszExpandedPathList: LPSTR, - pcchPathListLength: LPDWORD, - dwFlags: DWORD, - ) -> PDH_STATUS; - pub fn PdhGetDataSourceTimeRangeH( - hDataSource: PDH_HLOG, - pdwNumEntries: LPDWORD, - pInfo: PPDH_TIME_INFO, - pdwBufferSize: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhGetDefaultPerfObjectHW( - hDataSource: PDH_HLOG, - szMachineName: LPCWSTR, - szDefaultObjectName: LPWSTR, - pcchBufferSize: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhGetDefaultPerfObjectHA( - hDataSource: PDH_HLOG, - szMachineName: LPCSTR, - szDefaultObjectName: LPSTR, - pcchBufferSize: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhGetDefaultPerfCounterHW( - hDataSource: PDH_HLOG, - szMachineName: LPCWSTR, - szObjectName: LPCWSTR, - szDefaultCounterName: LPWSTR, - pcchBufferSize: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhGetDefaultPerfCounterHA( - hDataSource: PDH_HLOG, - szMachineName: LPCSTR, - szObjectName: LPCSTR, - szDefaultCounterName: LPSTR, - pcchBufferSize: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhBrowseCountersHW( - pBrowseDlgData: PPDH_BROWSE_DLG_CONFIG_HW, - ) -> PDH_STATUS; - pub fn PdhBrowseCountersHA( - pBrowseDlgData: PPDH_BROWSE_DLG_CONFIG_HA, - ) -> PDH_STATUS; - pub fn PdhEnumLogSetNamesW( - szDataSource: LPCWSTR, - mszLogSetNameList: LPWSTR, - pcchBufferLength: LPDWORD, - ) -> PDH_STATUS; - pub fn PdhEnumLogSetNamesA( - szDataSource: LPCSTR, - mszLogSetNameList: LPSTR, - pcchBufferLength: LPDWORD, - ) -> PDH_STATUS; -} -// pub fn PdhVerifySQLDBW() -> PDH_STATUS; -// pub fn PdhVerifySQLDBA() -> PDH_STATUS; -// pub fn PdhCreateSQLTablesW() -> PDH_STATUS; -// pub fn PdhCreateSQLTablesA() -> PDH_STATUS; -//pub fn PdhGetLogSetGUID() -> PDH_STATUS; -// pub fn PdhSetLogSetRunID() -> PDH_STATUS; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/perflib.rs b/vendor/registry-40351f815f426200/winapi/src/um/perflib.rs deleted file mode 100644 index aea3bde94..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/perflib.rs +++ /dev/null @@ -1,331 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::SIZE_T; -use shared::guiddef::{GUID, LPCGUID, LPGUID}; -use shared::minwindef::{DWORD, LPBYTE, LPDWORD, LPVOID, ULONG}; -use um::minwinbase::SYSTEMTIME; -use um::winnt::{HANDLE, LONG, LONGLONG, LPCWSTR, PCWSTR, PHANDLE, PVOID, ULONGLONG}; -pub const PERF_PROVIDER_USER_MODE: ULONG = 0; -pub const PERF_PROVIDER_KERNEL_MODE: ULONG = 1; -pub const PERF_PROVIDER_DRIVER: ULONG = 2; -pub const PERF_COUNTERSET_FLAG_MULTIPLE: ULONG = 2; -pub const PERF_COUNTERSET_FLAG_AGGREGATE: ULONG = 4; -pub const PERF_COUNTERSET_FLAG_HISTORY: ULONG = 8; -pub const PERF_COUNTERSET_FLAG_INSTANCE: ULONG = 16; -pub const PERF_COUNTERSET_SINGLE_INSTANCE: ULONG = 0; -pub const PERF_COUNTERSET_MULTI_INSTANCES: ULONG = PERF_COUNTERSET_FLAG_MULTIPLE; -pub const PERF_COUNTERSET_SINGLE_AGGREGATE: ULONG = PERF_COUNTERSET_FLAG_AGGREGATE; -pub const PERF_COUNTERSET_MULTI_AGGREGATE: ULONG = PERF_COUNTERSET_FLAG_AGGREGATE - | PERF_COUNTERSET_FLAG_MULTIPLE; -pub const PERF_COUNTERSET_SINGLE_AGGREGATE_HISTORY: ULONG = PERF_COUNTERSET_FLAG_HISTORY - | PERF_COUNTERSET_SINGLE_AGGREGATE; -pub const PERF_COUNTERSET_INSTANCE_AGGREGATE: ULONG = PERF_COUNTERSET_MULTI_AGGREGATE - | PERF_COUNTERSET_FLAG_INSTANCE; -pub const PERF_AGGREGATE_UNDEFINED: ULONG = 0; -pub const PERF_AGGREGATE_TOTAL: ULONG = 1; -pub const PERF_AGGREGATE_AVG: ULONG = 2; -pub const PERF_AGGREGATE_MIN: ULONG = 3; -pub const PERF_AGGREGATE_MAX: ULONG = 4; -pub const PERF_ATTRIB_BY_REFERENCE: ULONGLONG = 0x0000000000000001; -pub const PERF_ATTRIB_NO_DISPLAYABLE: ULONGLONG = 0x0000000000000002; -pub const PERF_ATTRIB_NO_GROUP_SEPARATOR: ULONGLONG = 0x0000000000000004; -pub const PERF_ATTRIB_DISPLAY_AS_REAL: ULONGLONG = 0x0000000000000008; -pub const PERF_ATTRIB_DISPLAY_AS_HEX: ULONGLONG = 0x0000000000000010; -STRUCT!{struct PERF_COUNTERSET_INFO { - CounterSetGuid: GUID, - ProviderGuid: GUID, - NumCounters: ULONG, - InstanceType: ULONG, -}} -pub type PPERF_COUNTERSET_INFO = *mut PERF_COUNTERSET_INFO; -STRUCT!{struct PERF_COUNTER_INFO { - CounterId: ULONG, - Type: ULONG, - Attrib: ULONGLONG, - Size: ULONG, - DetailLevel: ULONG, - Scale: LONG, - Offset: LONG, -}} -pub type PPERF_COUNTER_INFO = *mut PERF_COUNTER_INFO; -STRUCT!{struct PERF_COUNTERSET_INSTANCE { - CounterSetGuid: GUID, - dwSize: ULONG, - InstanceId: ULONG, - InstanceNameOffset: ULONG, - InstanceNameSize: ULONG, -}} -pub type PPERF_COUNTERSET_INSTANCE = *mut PERF_COUNTERSET_INSTANCE; -STRUCT!{struct PERF_COUNTER_IDENTITY { - CounterSetGuid: GUID, - BufferSize: ULONG, - CounterId: ULONG, - InstanceId: ULONG, - MachineOffset: ULONG, - NameOffset: ULONG, - Reserved: ULONG, -}} -pub type PPERF_COUNTER_IDENTITY = *mut PERF_COUNTER_IDENTITY; -pub const PERF_WILDCARD_COUNTER: ULONG = 0xFFFFFFFF; -pub const PERF_WILDCARD_INSTANCE: &'static str = "*"; -pub const PERF_AGGREGATE_INSTANCE: &'static str = "_Total"; -pub const PERF_MAX_INSTANCE_NAME: ULONG = 1024; -pub const PERF_ADD_COUNTER: ULONG = 1; -pub const PERF_REMOVE_COUNTER: ULONG = 2; -pub const PERF_ENUM_INSTANCES: ULONG = 3; -pub const PERF_COLLECT_START: ULONG = 5; -pub const PERF_COLLECT_END: ULONG = 6; -pub const PERF_FILTER: ULONG = 9; -FN!{stdcall PERFLIBREQUEST( - RequestCode: ULONG, - Buffer: PVOID, - BufferSize: ULONG, -) -> ULONG} -FN!{stdcall PERF_MEM_ALLOC( - AllocSize: SIZE_T, - pContext: LPVOID, -) -> LPVOID} -FN!{stdcall PERF_MEM_FREE( - pBuffer: LPVOID, - pContext: LPVOID, -) -> ()} -STRUCT!{struct PERF_PROVIDER_CONTEXT { - ContextSize: DWORD, - Reserved: DWORD, - ControlCallback: PERFLIBREQUEST, - MemAllocRoutine: PERF_MEM_ALLOC, - MemFreeRoutine: PERF_MEM_FREE, - pMemContext: LPVOID, -}} -pub type PPERF_PROVIDER_CONTEXT = *mut PERF_PROVIDER_CONTEXT; -extern "system" { - pub fn PerfStartProviderEx( - ProviderGuid: LPGUID, - ProviderContext: PPERF_PROVIDER_CONTEXT, - Provider: PHANDLE, - ) -> ULONG; - pub fn PerfStartProvider( - ProviderGuid: LPGUID, - ControlCallback: PERFLIBREQUEST, - Provider: PHANDLE, - ) -> ULONG; - pub fn PerfStopProvider( - ProviderHandle: HANDLE, - ) -> ULONG; - pub fn PerfSetCounterSetInfo( - ProviderHandle: HANDLE, - Template: PPERF_COUNTERSET_INFO, - TemplateSize: ULONG, - ) -> ULONG; - pub fn PerfCreateInstance( - ProviderHandle: HANDLE, - CounterSetGuid: LPCGUID, - Name: PCWSTR, - Id: ULONG, - ) -> PPERF_COUNTERSET_INSTANCE; - pub fn PerfDeleteInstance( - Provider: HANDLE, - InstanceBlock: PPERF_COUNTERSET_INSTANCE, - ) -> ULONG; - pub fn PerfQueryInstance( - ProviderHandle: HANDLE, - CounterSetGuid: LPCGUID, - Name: LPCWSTR, - Id: ULONG, - ) -> PPERF_COUNTERSET_INSTANCE; - pub fn PerfSetCounterRefValue( - Provider: HANDLE, - Instance: PPERF_COUNTERSET_INSTANCE, - CounterId: ULONG, - Address: PVOID, - ) -> ULONG; - pub fn PerfSetULongCounterValue( - Provider: HANDLE, - Instance: PPERF_COUNTERSET_INSTANCE, - CounterId: ULONG, - Value: ULONG, - ) -> ULONG; - pub fn PerfSetULongLongCounterValue( - Provider: HANDLE, - Instance: PPERF_COUNTERSET_INSTANCE, - CounterId: ULONG, - Value: ULONGLONG, - ) -> ULONG; - pub fn PerfIncrementULongCounterValue( - Provider: HANDLE, - Instance: PPERF_COUNTERSET_INSTANCE, - CounterId: ULONG, - Value: ULONG, - ) -> ULONG; - pub fn PerfIncrementULongLongCounterValue( - Provider: HANDLE, - Instance: PPERF_COUNTERSET_INSTANCE, - CounterId: ULONG, - Value: ULONGLONG, - ) -> ULONG; - pub fn PerfDecrementULongCounterValue( - Provider: HANDLE, - Instance: PPERF_COUNTERSET_INSTANCE, - CounterId: ULONG, - Value: ULONG, - ) -> ULONG; - pub fn PerfDecrementULongLongCounterValue( - Provider: HANDLE, - Instance: PPERF_COUNTERSET_INSTANCE, - CounterId: ULONG, - Value: ULONGLONG, - ) -> ULONG; -} -STRUCT!{struct PERF_INSTANCE_HEADER { - Size: ULONG, - InstanceId: ULONG, -}} -pub type PPERF_INSTANCE_HEADER = *mut PERF_INSTANCE_HEADER; -ENUM!{enum PerfRegInfoType { - PERF_REG_COUNTERSET_STRUCT = 1, - PERF_REG_COUNTER_STRUCT, - PERF_REG_COUNTERSET_NAME_STRING, - PERF_REG_COUNTERSET_HELP_STRING, - PERF_REG_COUNTER_NAME_STRINGS, - PERF_REG_COUNTER_HELP_STRINGS, - PERF_REG_PROVIDER_NAME, - PERF_REG_PROVIDER_GUID, - PERF_REG_COUNTERSET_ENGLISH_NAME, - PERF_REG_COUNTER_ENGLISH_NAMES, -}} -STRUCT!{struct PERF_COUNTERSET_REG_INFO { - CounterSetGuid: GUID, - CounterSetType: ULONG, - DetailLevel: ULONG, - NumCounters: ULONG, - InstanceType: ULONG, -}} -pub type PPERF_COUNTERSET_REG_INFO = *mut PERF_COUNTERSET_REG_INFO; -STRUCT!{struct PERF_COUNTER_REG_INFO { - CounterId: ULONG, - Type: ULONG, - Attrib: ULONGLONG, - DetailLevel: ULONG, - DefaultScale: LONG, - BaseCounterId: ULONG, - PerfTimeId: ULONG, - PerfFreqId: ULONG, - MultiId: ULONG, - AggregateFinc: ULONG, - Reserved: ULONG, -}} -pub type PPERF_COUNTER_REG_INFO = *mut PERF_COUNTER_REG_INFO; -STRUCT!{struct PERF_STRING_BUFFER_HEADER { - dwSize: DWORD, - dwCounters: DWORD, -}} -pub type PPERF_STRING_BUFFER_HEADER = *mut PERF_STRING_BUFFER_HEADER; -STRUCT!{struct PERF_STRING_COUNTER_HEADER { - dwCounterId: DWORD, - dwOffset: DWORD, -}} -pub type PPERF_STRING_COUNTER_HEADER = *mut PERF_STRING_COUNTER_HEADER; -STRUCT!{struct PERF_COUNTER_IDENTIFIER { - CounterSetGuid: GUID, - Status: ULONG, - Size: ULONG, - CounterId: ULONG, - InstanceId: ULONG, - Index: ULONG, - Reserved: ULONG, -}} -pub type PPERF_COUNTER_IDENTIFIER = *mut PERF_COUNTER_IDENTIFIER; -STRUCT!{struct PERF_DATA_HEADER { - dwTotalSize: ULONG, - dwNumCounters: ULONG, - PerfTimeStamp: LONGLONG, - PerfTime100NSec: LONGLONG, - PrefFreq: LONGLONG, - SystemTime: SYSTEMTIME, -}} -pub type PPERF_DATA_HEADER = *mut PERF_DATA_HEADER; -ENUM!{enum PerfCounterDataType { - PERF_ERROR_RETURN = 0, - PERF_SINGLE_COUNTER = 1, - PERF_MULTIPLE_COUNTERS = 2, - PERF_MULTIPLE_INSTANCES = 4, - PERF_COUNTERSET = 6, -}} -STRUCT!{struct PERF_COUNTER_HEADER { - dwStatus: ULONG, - dwType: PerfCounterDataType, - dwSize: ULONG, - Reserved: ULONG, -}} -pub type PPERF_COUNTER_HEADER = *mut PERF_COUNTER_HEADER; -STRUCT!{struct PERF_MULTI_INSTANCES { - dwTotalSize: ULONG, - dwInstances: ULONG, -}} -pub type PPERF_MULTI_INSTANCES = *mut PERF_MULTI_INSTANCES; -STRUCT!{struct PERF_MULTI_COUNTERS { - dwSize: ULONG, - dwCounters: ULONG, -}} -pub type PPERF_MULTI_COUNTERS = *mut PERF_MULTI_COUNTERS; -STRUCT!{struct PERF_COUNTER_DATA { - dwDataSize: ULONG, - dwSize: ULONG, -}} -pub type PPERF_COUNTER_DATA = *mut PERF_COUNTER_DATA; -extern "system" { - pub fn PerfEnumerateCounterSet( - szMachine: LPCWSTR, - pCounterSetIds: LPGUID, - cCounterSetIds: DWORD, - pcCounterSetIdsActual: LPDWORD, - ) -> ULONG; - pub fn PerfEnumerateCounterSetInstances( - szMachine: LPCWSTR, - pCounterSetIds: LPCGUID, - pInstances: PPERF_INSTANCE_HEADER, - cbInstances: DWORD, - pcbInstancesActual: LPDWORD, - ) -> ULONG; - pub fn PerfQueryCounterSetRegistrationInfo( - szMachine: LPCWSTR, - pCounterSetId: LPCGUID, - requestCode: PerfRegInfoType, - requestLangId: DWORD, - pbRegInfo: LPBYTE, - cbRegInfo: DWORD, - pcbRegInfoActual: LPDWORD, - ) -> ULONG; - pub fn PerfOpenQueryHandle( - szMachine: LPCWSTR, - hQuery: *mut HANDLE, - ) -> ULONG; - pub fn PerfCloseQueryHandle( - hQuery: HANDLE, - ) -> ULONG; - pub fn PerfQueryCounterInfo( - hQuery: HANDLE, - pCounters: PPERF_COUNTER_IDENTIFIER, - cbCounters: DWORD, - pcbCountersActual: LPDWORD, - ) -> ULONG; - pub fn PerfQueryCounterData( - hQuery: HANDLE, - pCounterBlock: PPERF_DATA_HEADER, - cbCounterBlock: DWORD, - pcbCounterBlockActual: LPDWORD, - ) -> ULONG; - pub fn PerfAddCounters( - hQuery: HANDLE, - pCounters: PPERF_COUNTER_IDENTIFIER, - cbCounters: DWORD, - ) -> ULONG; - pub fn PerfDeleteCounters( - hQuery: HANDLE, - pCounters: PPERF_COUNTER_IDENTIFIER, - cbCounters: DWORD, - ) -> ULONG; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/physicalmonitorenumerationapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/physicalmonitorenumerationapi.rs deleted file mode 100644 index b61ff7e00..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/physicalmonitorenumerationapi.rs +++ /dev/null @@ -1,43 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::d3d9::IDirect3DDevice9; -use shared::minwindef::{BOOL, DWORD, LPDWORD}; -use shared::windef::HMONITOR; -use um::winnt::{HANDLE, HRESULT, WCHAR}; -pub type _BOOL = BOOL; -pub const PHYSICAL_MONITOR_DESCRIPTION_SIZE: usize = 128; -STRUCT!{#[repr(packed)] struct PHYSICAL_MONITOR { - hPhysicalMonitor: HANDLE, - szPhysicalMonitorDescription: [WCHAR; PHYSICAL_MONITOR_DESCRIPTION_SIZE], -}} -pub type LPPHYSICAL_MONITOR = *mut PHYSICAL_MONITOR; -extern "system" { - pub fn GetNumberOfPhysicalMonitorsFromHMONITOR( - hMonitor: HMONITOR, - pdwNumberOfPhysicalMonitor: LPDWORD, - ) -> _BOOL; - pub fn GetNumberOfPhysicalMonitorsFromIDirect3DDevice9( - pDirect3DDevice9: *mut IDirect3DDevice9, - pdwNumberOfPhysicalMonitor: LPDWORD, - ) -> HRESULT; - pub fn GetPhysicalMonitorsFromHMONITOR( - hMonitor: HMONITOR, - dwPhysicalMonitorArraySize: DWORD, - pPhysicalMonitorArray: LPPHYSICAL_MONITOR, - ) -> _BOOL; - pub fn GetPhysicalMonitorsFromIDirect3DDevice9( - pDirect3DDevice9: IDirect3DDevice9, - dwPhysicalMonitorArraySize: DWORD, - pPhysicalMonitorArray: LPPHYSICAL_MONITOR, - ) -> HRESULT; - pub fn DestroyPhysicalMonitor( - hMonitor: HANDLE, - ) -> _BOOL; - pub fn DestroyPhysicalMonitors( - dwPhysicalMonitorArraySize: DWORD, - pPhysicalMonitorArray: LPPHYSICAL_MONITOR, - ) -> _BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/playsoundapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/playsoundapi.rs deleted file mode 100644 index 9b0d0d50a..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/playsoundapi.rs +++ /dev/null @@ -1,46 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! ApiSet Contract for api-ms-win-mm-playsound-l1-1-0 -use shared::minwindef::{BOOL, DWORD, HMODULE, UINT}; -use um::winnt::{LPCSTR, LPCWSTR}; -extern "system" { - pub fn sndPlaySoundA( - pszSound: LPCSTR, - fuSound: UINT, - ) -> BOOL; - pub fn sndPlaySoundW( - pszSound: LPCWSTR, - fuSound: UINT, - ) -> BOOL; -} -pub const SND_SYNC: DWORD = 0x0000; -pub const SND_ASYNC: DWORD = 0x0001; -pub const SND_NODEFAULT: DWORD = 0x0002; -pub const SND_MEMORY: DWORD = 0x0004; -pub const SND_LOOP: DWORD = 0x0008; -pub const SND_NOSTOP: DWORD = 0x0010; -pub const SND_NOWAIT: DWORD = 0x00002000; -pub const SND_ALIAS: DWORD = 0x00010000; -pub const SND_ALIAS_ID: DWORD = 0x00110000; -pub const SND_FILENAME: DWORD = 0x00020000; -pub const SND_RESOURCE: DWORD = 0x00040004; -pub const SND_PURGE: DWORD = 0x0040; -pub const SND_APPLICATION: DWORD = 0x0080; -pub const SND_SENTRY: DWORD = 0x00080000; -pub const SND_RING: DWORD = 0x00100000; -pub const SND_SYSTEM: DWORD = 0x00200000; -extern "system" { - pub fn PlaySoundA( - pszSound: LPCSTR, - hmod: HMODULE, - fdwSound: DWORD, - ) -> BOOL; - pub fn PlaySoundW( - pszSound: LPCWSTR, - hmod: HMODULE, - fdwSound: DWORD, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/portabledevice.rs b/vendor/registry-40351f815f426200/winapi/src/um/portabledevice.rs deleted file mode 100644 index c191423f1..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/portabledevice.rs +++ /dev/null @@ -1,162 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of PortableDevice.h -use shared::basetsd::ULONG_PTR; -DEFINE_GUID!{GUID_DEVINTERFACE_WPD, - 0x6AC27878, 0xA6FA, 0x4155, 0xBA, 0x85, 0xF9, 0x8F, 0x49, 0x1D, 0x4F, 0x33} -DEFINE_GUID!{GUID_DEVINTERFACE_WPD_PRIVATE, - 0xBA0C718F, 0x4DED, 0x49B7, 0xBD, 0xD3, 0xFA, 0xBE, 0x28, 0x66, 0x12, 0x11} -DEFINE_GUID!{GUID_DEVINTERFACE_WPD_SERVICE, - 0x9EF44F80, 0x3D64, 0x4246, 0xA6, 0xAA, 0x20, 0x6F, 0x32, 0x8D, 0x1E, 0xDC} -//51 -pub const WPD_DEVICE_OBJECT_ID: &'static str = "DEVICE"; -pub const WMDRMDEVICEAPP_USE_WPD_DEVICE_PTR: ULONG_PTR = -1isize as ULONG_PTR; -pub const PORTABLE_DEVICE_TYPE: &'static str = "PortableDeviceType"; -pub const PORTABLE_DEVICE_ICON: &'static str = "Icons"; -pub const PORTABLE_DEVICE_NAMESPACE_TIMEOUT: &'static str = "PortableDeviceNameSpaceTimeout"; -pub const PORTABLE_DEVICE_NAMESPACE_EXCLUDE_FROM_SHELL: &'static str - = "PortableDeviceNameSpaceExcludeFromShell"; -pub const PORTABLE_DEVICE_NAMESPACE_THUMBNAIL_CONTENT_TYPES: &'static str - = "PortableDeviceNameSpaceThumbnailContentTypes"; -pub const PORTABLE_DEVICE_IS_MASS_STORAGE: &'static str = "PortableDeviceIsMassStorage"; -pub const PORTABLE_DEVICE_DRM_SCHEME_WMDRM10_PD: &'static str = "WMDRM10-PD"; -pub const PORTABLE_DEVICE_DRM_SCHEME_PDDRM: &'static str = "PDDRM"; -//101 -ENUM!{enum WPD_DEVICE_TYPES { - WPD_DEVICE_TYPE_GENERIC = 0, - WPD_DEVICE_TYPE_CAMERA = 1, - WPD_DEVICE_TYPE_MEDIA_PLAYER = 2, - WPD_DEVICE_TYPE_PHONE = 3, - WPD_DEVICE_TYPE_VIDEO = 4, - WPD_DEVICE_TYPE_PERSONAL_INFORMATION_MANAGER = 5, - WPD_DEVICE_TYPE_AUDIO_RECORDER = 6, -}} -//133 -ENUM!{enum WPD_DEVICE_TRANSPORTS { - WPD_DEVICE_TRANSPORT_UNSPECIFIED = 0, - WPD_DEVICE_TRANSPORT_USB = 1, - WPD_DEVICE_TRANSPORT_IP = 2, - WPD_DEVICE_TRANSPORT_BLUETOOTH = 3, -}} -//175 -ENUM!{enum WPD_POWER_SOURCES { - WPD_POWER_SOURCE_BATTERY = 0, - WPD_POWER_SOURCE_EXTERNAL = 1, -}} -//696 -DEFINE_GUID!{WPD_FUNCTIONAL_OBJECT_PROPERTIES_V1, - 0x8F052D93, 0xABCA, 0x4FC5, 0xA5, 0xAC, 0xB0, 0x1D, 0xF4, 0xDB, 0xE5, 0x98} -DEFINE_PROPERTYKEY!{WPD_FUNCTIONAL_OBJECT_CATEGORY, - 0x8F052D93, 0xABCA, 0x4FC5, 0xA5, 0xAC, 0xB0, 0x1D, 0xF4, 0xDB, 0xE5, 0x98, 2} -//1140 -DEFINE_GUID!{WPD_DEVICE_PROPERTIES_V1, - 0x26D4979A, 0xE643, 0x4626, 0x9E, 0x2B, 0x73, 0x6D, 0xC0, 0xC9, 0x2F, 0xDC} -DEFINE_PROPERTYKEY!{WPD_DEVICE_SYNC_PARTNER, - 0x26D4979A, 0xE643, 0x4626, 0x9E, 0x2B, 0x73, 0x6D, 0xC0, 0xC9, 0x2F, 0xDC, 2} -DEFINE_PROPERTYKEY!{WPD_DEVICE_FIRMWARE_VERSION, - 0x26D4979A, 0xE643, 0x4626, 0x9E, 0x2B, 0x73, 0x6D, 0xC0, 0xC9, 0x2F, 0xDC, 3} -DEFINE_PROPERTYKEY!{WPD_DEVICE_POWER_LEVEL, - 0x26D4979A, 0xE643, 0x4626, 0x9E, 0x2B, 0x73, 0x6D, 0xC0, 0xC9, 0x2F, 0xDC, 4} -DEFINE_PROPERTYKEY!{WPD_DEVICE_POWER_SOURCE, - 0x26D4979A, 0xE643, 0x4626, 0x9E, 0x2B, 0x73, 0x6D, 0xC0, 0xC9, 0x2F, 0xDC, 5} -DEFINE_PROPERTYKEY!{WPD_DEVICE_PROTOCOL, - 0x26D4979A, 0xE643, 0x4626, 0x9E, 0x2B, 0x73, 0x6D, 0xC0, 0xC9, 0x2F, 0xDC, 6} -DEFINE_PROPERTYKEY!{WPD_DEVICE_MANUFACTURER, - 0x26D4979A, 0xE643, 0x4626, 0x9E, 0x2B, 0x73, 0x6D, 0xC0, 0xC9, 0x2F, 0xDC, 7} -DEFINE_PROPERTYKEY!{WPD_DEVICE_MODEL, - 0x26D4979A, 0xE643, 0x4626, 0x9E, 0x2B, 0x73, 0x6D, 0xC0, 0xC9, 0x2F, 0xDC, 8} -DEFINE_PROPERTYKEY!{WPD_DEVICE_SERIAL_NUMBER, - 0x26D4979A, 0xE643, 0x4626, 0x9E, 0x2B, 0x73, 0x6D, 0xC0, 0xC9, 0x2F, 0xDC, 9} -DEFINE_PROPERTYKEY!{WPD_DEVICE_SUPPORTS_NON_CONSUMABLE, - 0x26D4979A, 0xE643, 0x4626, 0x9E, 0x2B, 0x73, 0x6D, 0xC0, 0xC9, 0x2F, 0xDC, 10} -DEFINE_PROPERTYKEY!{WPD_DEVICE_DATETIME, - 0x26D4979A, 0xE643, 0x4626, 0x9E, 0x2B, 0x73, 0x6D, 0xC0, 0xC9, 0x2F, 0xDC, 11} -DEFINE_PROPERTYKEY!{WPD_DEVICE_FRIENDLY_NAME, - 0x26D4979A, 0xE643, 0x4626, 0x9E, 0x2B, 0x73, 0x6D, 0xC0, 0xC9, 0x2F, 0xDC, 12} -DEFINE_PROPERTYKEY!{WPD_DEVICE_SUPPORTED_DRM_SCHEMES, - 0x26D4979A, 0xE643, 0x4626, 0x9E, 0x2B, 0x73, 0x6D, 0xC0, 0xC9, 0x2F, 0xDC, 13} -DEFINE_PROPERTYKEY!{WPD_DEVICE_SUPPORTED_FORMATS_ARE_ORDERED, - 0x26D4979A, 0xE643, 0x4626, 0x9E, 0x2B, 0x73, 0x6D, 0xC0, 0xC9, 0x2F, 0xDC, 14} -DEFINE_PROPERTYKEY!{WPD_DEVICE_TYPE, - 0x26D4979A, 0xE643, 0x4626, 0x9E, 0x2B, 0x73, 0x6D, 0xC0, 0xC9, 0x2F, 0xDC, 15} -DEFINE_PROPERTYKEY!{WPD_DEVICE_NETWORK_IDENTIFIER, - 0x26D4979A, 0xE643, 0x4626, 0x9E, 0x2B, 0x73, 0x6D, 0xC0, 0xC9, 0x2F, 0xDC, 16} -DEFINE_GUID!{WPD_DEVICE_PROPERTIES_V2, - 0x463DD662, 0x7FC4, 0x4291, 0x91, 0x1C, 0x7F, 0x4C, 0x9C, 0xCA, 0x97, 0x99} -DEFINE_PROPERTYKEY!{WPD_DEVICE_FUNCTIONAL_UNIQUE_ID, - 0x463DD662, 0x7FC4, 0x4291, 0x91, 0x1C, 0x7F, 0x4C, 0x9C, 0xCA, 0x97, 0x99, 2} -DEFINE_PROPERTYKEY!{WPD_DEVICE_MODEL_UNIQUE_ID, - 0x463DD662, 0x7FC4, 0x4291, 0x91, 0x1C, 0x7F, 0x4C, 0x9C, 0xCA, 0x97, 0x99, 3} -DEFINE_PROPERTYKEY!{WPD_DEVICE_TRANSPORT, - 0x463DD662, 0x7FC4, 0x4291, 0x91, 0x1C, 0x7F, 0x4C, 0x9C, 0xCA, 0x97, 0x99, 4} -DEFINE_PROPERTYKEY!{WPD_DEVICE_USE_DEVICE_STAGE, - 0x463DD662, 0x7FC4, 0x4291, 0x91, 0x1C, 0x7F, 0x4C, 0x9C, 0xCA, 0x97, 0x99, 5} -DEFINE_GUID!{WPD_DEVICE_PROPERTIES_V3, - 0x6C2B878C, 0xC2EC, 0x490D, 0xB4, 0x25, 0xD7, 0xA7, 0x5E, 0x23, 0xE5, 0xED} -DEFINE_PROPERTYKEY!{WPD_DEVICE_EDP_IDENTITY, - 0x6C2B878C, 0xC2EC, 0x490D, 0xB4, 0x25, 0xD7, 0xA7, 0x5E, 0x23, 0xE5, 0xED, 1} -//1488 -DEFINE_PROPERTYKEY!{WPD_PROPERTY_COMMON_COMMAND_CATEGORY, - 0xF0422A9C, 0x5DC8, 0x4440, 0xB5, 0xBD, 0x5D, 0xF2, 0x88, 0x35, 0x65, 0x8A, 1001} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_COMMON_COMMAND_ID, - 0xF0422A9C, 0x5DC8, 0x4440, 0xB5, 0xBD, 0x5D, 0xF2, 0x88, 0x35, 0x65, 0x8A, 1002} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_COMMON_HRESULT, - 0xF0422A9C, 0x5DC8, 0x4440, 0xB5, 0xBD, 0x5D, 0xF2, 0x88, 0x35, 0x65, 0x8A, 1003} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_COMMON_DRIVER_ERROR_CODE, - 0xF0422A9C, 0x5DC8, 0x4440, 0xB5, 0xBD, 0x5D, 0xF2, 0x88, 0x35, 0x65, 0x8A, 1004} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_COMMON_COMMAND_TARGET, - 0xF0422A9C, 0x5DC8, 0x4440, 0xB5, 0xBD, 0x5D, 0xF2, 0x88, 0x35, 0x65, 0x8A, 1006} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_COMMON_PERSISTENT_UNIQUE_IDS, - 0xF0422A9C, 0x5DC8, 0x4440, 0xB5, 0xBD, 0x5D, 0xF2, 0x88, 0x35, 0x65, 0x8A, 1007} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_COMMON_OBJECT_IDS, - 0xF0422A9C, 0x5DC8, 0x4440, 0xB5, 0xBD, 0x5D, 0xF2, 0x88, 0x35, 0x65, 0x8A, 1008} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_COMMON_CLIENT_INFORMATION, - 0xF0422A9C, 0x5DC8, 0x4440, 0xB5, 0xBD, 0x5D, 0xF2, 0x88, 0x35, 0x65, 0x8A, 1009} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_COMMON_CLIENT_INFORMATION_CONTEXT, - 0xF0422A9C, 0x5DC8, 0x4440, 0xB5, 0xBD, 0x5D, 0xF2, 0x88, 0x35, 0x65, 0x8A, 1010} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_COMMON_ACTIVITY_ID, - 0xF0422A9C, 0x5DC8, 0x4440, 0xB5, 0xBD, 0x5D, 0xF2, 0x88, 0x35, 0x65, 0x8A, 1011} -DEFINE_PROPERTYKEY!{WPD_OPTION_VALID_OBJECT_IDS, - 0xF0422A9C, 0x5DC8, 0x4440, 0xB5, 0xBD, 0x5D, 0xF2, 0x88, 0x35, 0x65, 0x8A, 5001} -//3440 -DEFINE_PROPERTYKEY!{WPD_OBJECT_ID, - 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C, 2} -DEFINE_PROPERTYKEY!{WPD_OBJECT_PARENT_ID, - 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C, 3} -DEFINE_PROPERTYKEY!{WPD_OBJECT_NAME, - 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C, 4} -DEFINE_PROPERTYKEY!{WPD_OBJECT_PERSISTENT_UNIQUE_ID, - 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C, 5} -DEFINE_PROPERTYKEY!{WPD_OBJECT_FORMAT, - 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C, 6} -DEFINE_PROPERTYKEY!{WPD_OBJECT_ISHIDDEN, - 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C, 9} -DEFINE_PROPERTYKEY!{WPD_OBJECT_ISSYSTEM, - 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C, 10} -DEFINE_PROPERTYKEY!{WPD_OBJECT_SIZE, - 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C, 11} -DEFINE_PROPERTYKEY!{WPD_OBJECT_ORIGINAL_FILE_NAME, - 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C, 12} -DEFINE_PROPERTYKEY!{WPD_OBJECT_NON_CONSUMABLE, - 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C, 13} -DEFINE_PROPERTYKEY!{WPD_OBJECT_KEYWORDS, - 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C, 15} -DEFINE_PROPERTYKEY!{WPD_OBJECT_SYNC_ID, - 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C, 16} -DEFINE_PROPERTYKEY!{WPD_OBJECT_IS_DRM_PROTECTED, - 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C, 17} -DEFINE_PROPERTYKEY!{WPD_OBJECT_DATE_CREATED, - 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C, 18} -DEFINE_PROPERTYKEY!{WPD_OBJECT_DATE_MODIFIED, - 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C, 19} -DEFINE_PROPERTYKEY!{WPD_OBJECT_DATE_AUTHORED, - 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C, 20} -DEFINE_PROPERTYKEY!{WPD_OBJECT_BACK_REFERENCES, - 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C, 21} -DEFINE_PROPERTYKEY!{WPD_OBJECT_CAN_DELETE, - 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C, 26} -DEFINE_PROPERTYKEY!{WPD_OBJECT_LANGUAGE_LOCALE, - 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C, 27} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/portabledeviceapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/portabledeviceapi.rs deleted file mode 100644 index a694e7e2d..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/portabledeviceapi.rs +++ /dev/null @@ -1,288 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of PortableDeviceApi.h -use shared::guiddef::REFGUID; -use shared::minwindef::{BYTE, DWORD, ULONG}; -use um::objidlbase::IStream; -use um::portabledevicetypes::{ - IPortableDeviceKeyCollection, IPortableDevicePropVariantCollection, IPortableDeviceValues, -}; -use um::propkeydef::REFPROPERTYKEY; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LPCWSTR, LPWSTR, WCHAR}; -// 328 -RIDL!{#[uuid(0xa1567595, 0x4c2f, 0x4574, 0xa6, 0xfa, 0xec, 0xef, 0x91, 0x7b, 0x9a, 0x40)] -interface IPortableDeviceManager(IPortableDeviceManagerVtbl): IUnknown(IUnknownVtbl) { - fn GetDevices( - pPnPDeviceIDs: *mut LPWSTR, - pcPnPDeviceIDs: *mut DWORD, - ) -> HRESULT, - fn RefreshDeviceList() -> HRESULT, - fn GetDeviceFriendlyName( - pszPnPDeviceID: LPCWSTR, - pDeviceFriendlyName: *mut WCHAR, - pcchDeviceFriendlyName: *mut DWORD, - ) -> HRESULT, - fn GetDeviceDescription( - pszPnPDeviceID: LPCWSTR, - pDeviceDescription: *mut WCHAR, - pcchDeviceDescription: *mut DWORD, - ) -> HRESULT, - fn GetDeviceManufacturer( - pszPnPDeviceID: LPCWSTR, - pDeviceManufacturer: *mut WCHAR, - pcchDeviceManufacturer: *mut DWORD, - ) -> HRESULT, - fn GetDeviceProperty( - pszPnPDeviceID: LPCWSTR, - pszDevicePropertyName: LPCWSTR, - pData: *mut BYTE, - pcbData: *mut DWORD, - pdwType: *mut DWORD, - ) -> HRESULT, - fn GetPrivateDevices( - pPnPDeviceIDs: *mut LPWSTR, - pcPnPDeviceIDs: *mut DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x625e2df8, 0x6392, 0x4cf0, 0x9a, 0xd1, 0x3c, 0xfa, 0x5f, 0x17, 0x77, 0x5c)] -interface IPortableDevice(IPortableDeviceVtbl): IUnknown(IUnknownVtbl) { - fn Open( - pszPnPDeviceID: LPCWSTR, - pClientInfo: *mut IPortableDeviceValues, - ) -> HRESULT, - fn SendCommand( - dwFlags: DWORD, - pParameters: *mut IPortableDeviceValues, - ppResults: *mut *mut IPortableDeviceValues, - ) -> HRESULT, - fn Content( - ppContent: *mut *mut IPortableDeviceContent, - ) -> HRESULT, - fn Capabilities( - ppCapabilities: *mut *mut IPortableDeviceCapabilities, - ) -> HRESULT, - fn Cancel() -> HRESULT, - fn Close() -> HRESULT, - fn Advise( - dwFlags: DWORD, - pCallback: *mut IPortableDeviceEventCallback, - pParameters: *mut IPortableDeviceValues, - ppszCookie: *mut LPWSTR, - ) -> HRESULT, - fn Unadvise( - pszCookie: LPCWSTR, - ) -> HRESULT, - fn GetPnPDeviceID( - ppszPnPDeviceID: *mut LPWSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x6a96ed84, 0x7c73, 0x4480, 0x99, 0x38, 0xbf, 0x5a, 0xf4, 0x77, 0xd4, 0x26)] -interface IPortableDeviceContent(IPortableDeviceContentVtbl): IUnknown(IUnknownVtbl) { - fn EnumObjects( - dwFlags: DWORD, - pszParentObjectID: LPCWSTR, - pFilter: *mut IPortableDeviceValues, - ppEnum: *mut *mut IEnumPortableDeviceObjectIDs, - ) -> HRESULT, - fn Properties( - ppProperties: *mut *mut IPortableDeviceProperties, - ) -> HRESULT, - fn Transfer( - ppResources: *mut *mut IPortableDeviceResources, - ) -> HRESULT, - fn CreateObjectWithPropertiesOnly( - pValues: *mut IPortableDeviceValues, - ppszObjectID: *mut LPWSTR, - ) -> HRESULT, - fn CreateObjectWithPropertiesAndData( - pValues: *mut IPortableDeviceValues, - ppData: *mut *mut IStream, - pdwOptimalWriteBufferSize: *mut DWORD, - ppszCookie: *mut LPWSTR, - ) -> HRESULT, - fn Delete( - dwOptions: DWORD, - pObjectIDs: *mut IPortableDevicePropVariantCollection, - ppResults: *mut *mut IPortableDevicePropVariantCollection, - ) -> HRESULT, - fn GetObjectIDsFromPersistentUniqueIDs( - pPersistentUniqueIDs: *mut IPortableDevicePropVariantCollection, - ppObjectIDs: *mut *mut IPortableDevicePropVariantCollection, - ) -> HRESULT, - fn Cancel() -> HRESULT, - fn Move( - pObjectIDs: *mut IPortableDevicePropVariantCollection, - pszDestinationFolderObjectID: LPCWSTR, - ppResults: *mut *mut IPortableDevicePropVariantCollection, - ) -> HRESULT, - fn Copy( - pObjectIDs: *mut IPortableDevicePropVariantCollection, - pszDestinationFolderObjectID: LPCWSTR, - ppResults: *mut *mut IPortableDevicePropVariantCollection, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x9b4add96, 0xf6bf, 0x4034, 0x87, 0x08, 0xec, 0xa7, 0x2b, 0xf1, 0x05, 0x54)] -interface IPortableDeviceContent2(IPortableDeviceContent2Vtbl): - IPortableDeviceContent(IPortableDeviceContentVtbl) { - fn UpdateObjectWithPropertiesAndData( - pszObjectID: LPCWSTR, - pProperties: *mut IPortableDeviceValues, - ppData: *mut *mut IStream, - pdwOptimalWriteBufferSize: *mut DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x10ece955, 0xcf41, 0x4728, 0xbf, 0xa0, 0x41, 0xee, 0xdf, 0x1b, 0xbf, 0x19)] -interface IEnumPortableDeviceObjectIDs(IEnumPortableDeviceObjectIDsVtbl): IUnknown(IUnknownVtbl) { - fn Next( - cObjects: ULONG, - pObjIDs: *mut LPWSTR, - pcFetched: *mut ULONG, - ) -> HRESULT, - fn Skip( - cObjects: ULONG, - ) -> HRESULT, - fn Reset() -> HRESULT, - fn Clone( - ppEnum: *mut *mut IEnumPortableDeviceObjectIDs, - ) -> HRESULT, - fn Cancel() -> HRESULT, -}} -RIDL!{#[uuid(0x7f6d695c, 0x03df, 0x4439, 0xa8, 0x09, 0x59, 0x26, 0x6b, 0xee, 0xe3, 0xa6)] -interface IPortableDeviceProperties(IPortableDevicePropertiesVtbl): IUnknown(IUnknownVtbl) { - fn GetSupportedProperties( - pszObjectID: LPCWSTR, - ppKeys: *mut *mut IPortableDeviceKeyCollection, - ) -> HRESULT, - fn GetPropertyAttributes( - pszObjectID: LPCWSTR, - Key: REFPROPERTYKEY, - ppAttributes: *mut *mut IPortableDeviceValues, - ) -> HRESULT, - fn GetValues( - pszObjectID: LPCWSTR, - pKeys: *mut IPortableDeviceKeyCollection, - ppValues: *mut *mut IPortableDeviceValues, - ) -> HRESULT, - fn SetValues( - pszObjectID: LPCWSTR, - pValues: *mut IPortableDeviceValues, - ppResults: *mut *mut IPortableDeviceValues, - ) -> HRESULT, - fn Delete( - pszObjectID: LPCWSTR, - pKeys: *mut IPortableDeviceKeyCollection, - ) -> HRESULT, - fn Cancel() -> HRESULT, -}} -RIDL!{#[uuid(0xfd8878ac, 0xd841, 0x4d17, 0x89, 0x1c, 0xe6, 0x82, 0x9c, 0xdb, 0x69, 0x34)] -interface IPortableDeviceResources(IPortableDeviceResourcesVtbl): IUnknown(IUnknownVtbl) { - fn GetSupportedResources( - pszObjectID: LPCWSTR, - ppKeys: *mut *mut IPortableDeviceKeyCollection, - ) -> HRESULT, - fn GetResourceAttributes( - pszObjectID: LPCWSTR, - Key: REFPROPERTYKEY, - ppResourceAttributes: *mut *mut IPortableDeviceValues, - ) -> HRESULT, - fn GetStream( - pszObjectID: LPCWSTR, - Key: REFPROPERTYKEY, - dwMode: DWORD, - pdwOptimalBufferSize: *mut DWORD, - ppStream: *mut *mut IStream, - ) -> HRESULT, - fn Delete( - pszObjectID: LPCWSTR, - pKeys: *mut IPortableDeviceKeyCollection, - ) -> HRESULT, - fn Cancel() -> HRESULT, - fn CreateResource( - pResourceAttributes: *mut IPortableDeviceValues, - ppData: *mut *mut IStream, - pdwOptimalWriteBufferSize: *mut DWORD, - ppszCookie: *mut LPWSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2c8c6dbf, 0xe3dc, 0x4061, 0xbe, 0xcc, 0x85, 0x42, 0xe8, 0x10, 0xd1, 0x26)] -interface IPortableDeviceCapabilities(IPortableDeviceCapabilitiesVtbl): IUnknown(IUnknownVtbl) { - fn GetSupportedCommands( - ppCommands: *mut *mut IPortableDeviceKeyCollection, - ) -> HRESULT, - fn GetCommandOptions( - Command: REFPROPERTYKEY, - ppOptions: *mut *mut IPortableDeviceValues, - ) -> HRESULT, - fn GetFunctionalCategories( - ppCategories: *mut *mut IPortableDevicePropVariantCollection, - ) -> HRESULT, - fn GetFunctionalObjects( - Category: REFGUID, - ppObjectIDs: *mut *mut IPortableDevicePropVariantCollection, - ) -> HRESULT, - fn GetSupportedContentTypes( - Category: REFGUID, - ppContentTypes: *mut *mut IPortableDevicePropVariantCollection, - ) -> HRESULT, - fn GetSupportedFormats( - ContentType: REFGUID, - ppFormats: *mut *mut IPortableDevicePropVariantCollection, - ) -> HRESULT, - fn GetSupportedFormatProperties( - Format: REFGUID, - ppKeys: *mut *mut IPortableDeviceKeyCollection, - ) -> HRESULT, - fn GetFixedPropertyAttributes( - Format: REFGUID, - Key: REFPROPERTYKEY, - ppAttributes: *mut *mut IPortableDeviceValues, - ) -> HRESULT, - fn Cancel() -> HRESULT, - fn GetSupportedEvents( - ppEvents: *mut *mut IPortableDevicePropVariantCollection, - ) -> HRESULT, - fn GetEventOptions( - Event: REFGUID, - ppOptions: *mut *mut IPortableDeviceValues, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa8792a31, 0xf385, 0x493c, 0xa8, 0x93, 0x40, 0xf6, 0x4e, 0xb4, 0x5f, 0x6e)] -interface IPortableDeviceEventCallback(IPortableDeviceEventCallbackVtbl): IUnknown(IUnknownVtbl) { - fn OnEvent( - pEventParameters: *mut IPortableDeviceValues, - ) -> HRESULT, -}} -DEFINE_GUID!{LIBID_PortableDeviceApiLib, - 0x1f001332, 0x1a57, 0x4934, 0xbe, 0x31, 0xaf, 0xfc, 0x99, 0xf4, 0xee, 0x0a} -DEFINE_GUID!{CLSID_PortableDevice, - 0x728a21c5, 0x3d9e, 0x48d7, 0x98, 0x10, 0x86, 0x48, 0x48, 0xf0, 0xf4, 0x04} -RIDL!{#[uuid(0x728a21c5, 0x3d9e, 0x48d7, 0x98, 0x10, 0x86, 0x48, 0x48, 0xf0, 0xf4, 0x04)] -class PortableDevice;} -DEFINE_GUID!{CLSID_PortableDeviceManager, - 0x0af10cec, 0x2ecd, 0x4b92, 0x95, 0x81, 0x34, 0xf6, 0xae, 0x06, 0x37, 0xf3} -RIDL!{#[uuid(0x0af10cec, 0x2ecd, 0x4b92, 0x95, 0x81, 0x34, 0xf6, 0xae, 0x06, 0x37, 0xf3)] -class PortableDeviceManager;} -DEFINE_GUID!{CLSID_PortableDeviceService, - 0xef5db4c2, 0x9312, 0x422c, 0x91, 0x52, 0x41, 0x1c, 0xd9, 0xc4, 0xdd, 0x84} -RIDL!{#[uuid(0xef5db4c2, 0x9312, 0x422c, 0x91, 0x52, 0x41, 0x1c, 0xd9, 0xc4, 0xdd, 0x84)] -class PortableDeviceService;} -DEFINE_GUID!{CLSID_PortableDeviceDispatchFactory, - 0x43232233, 0x8338, 0x4658, 0xae, 0x01, 0x0b, 0x4a, 0xe8, 0x30, 0xb6, 0xb0} -RIDL!{#[uuid(0x43232233, 0x8338, 0x4658, 0xae, 0x01, 0x0b, 0x4a, 0xe8, 0x30, 0xb6, 0xb0)] -class PortableDeviceDispatchFactory;} -DEFINE_GUID!{CLSID_PortableDeviceFTM, - 0xf7c0039a, 0x4762, 0x488a, 0xb4, 0xb3, 0x76, 0x0e, 0xf9, 0xa1, 0xba, 0x9b} -RIDL!{#[uuid(0xf7c0039a, 0x4762, 0x488a, 0xb4, 0xb3, 0x76, 0x0e, 0xf9, 0xa1, 0xba, 0x9b)] -class PortableDeviceFTM;} -DEFINE_GUID!{CLSID_PortableDeviceServiceFTM, - 0x1649b154, 0xc794, 0x497a, 0x9b, 0x03, 0xf3, 0xf0, 0x12, 0x13, 0x02, 0xf3} -RIDL!{#[uuid(0x1649b154, 0xc794, 0x497a, 0x9b, 0x03, 0xf3, 0xf0, 0x12, 0x13, 0x02, 0xf3)] -class PortableDeviceServiceFTM;} -DEFINE_GUID!{CLSID_PortableDeviceWebControl, - 0x186dd02c, 0x2dec, 0x41b5, 0xa7, 0xd4, 0xb5, 0x90, 0x56, 0xfa, 0xde, 0x51} -RIDL!{#[uuid(0x186dd02c, 0x2dec, 0x41b5, 0xa7, 0xd4, 0xb5, 0x90, 0x56, 0xfa, 0xde, 0x51)] -class PortableDeviceWebControl;} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/portabledevicetypes.rs b/vendor/registry-40351f815f426200/winapi/src/um/portabledevicetypes.rs deleted file mode 100644 index f6c13d3ec..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/portabledevicetypes.rs +++ /dev/null @@ -1,255 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of PortableDeviceTypes.h -use shared::guiddef::{GUID, REFGUID}; -use shared::minwindef::{BOOL, BYTE, DWORD, FLOAT, ULONG}; -use shared::wtypes::{PROPERTYKEY, VARTYPE}; -use um::propidl::PROPVARIANT; -use um::propkeydef::REFPROPERTYKEY; -use um::propsys::IPropertyStore; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LONG, LONGLONG, LPCWSTR, LPWSTR, ULONGLONG}; -//330 -RIDL!{#[uuid(0x6848f6f2, 0x3155, 0x4f86, 0xb6, 0xf5, 0x26, 0x3e, 0xee, 0xab, 0x31, 0x43)] -interface IPortableDeviceValues(IPortableDeviceValuesVtbl): IUnknown(IUnknownVtbl) { - fn GetCount( - pcelt: *mut DWORD, - ) -> HRESULT, - fn GetAt( - index: DWORD, - pKey: *mut PROPERTYKEY, - pValue: *mut PROPVARIANT, - ) -> HRESULT, - fn SetValue( - key: REFPROPERTYKEY, - pValue: *const PROPVARIANT, - ) -> HRESULT, - fn GetValue( - key: REFPROPERTYKEY, - pValue: *mut PROPVARIANT, - ) -> HRESULT, - fn SetStringValue( - key: REFPROPERTYKEY, - Value: LPCWSTR, - ) -> HRESULT, - fn GetStringValue( - key: REFPROPERTYKEY, - pValue: *mut LPWSTR, - ) -> HRESULT, - fn SetUnsignedIntegerValue( - key: REFPROPERTYKEY, - Value: ULONG, - ) -> HRESULT, - fn GetUnsignedIntegerValue( - key: REFPROPERTYKEY, - pValue: *mut ULONG, - ) -> HRESULT, - fn SetSignedIntegerValue( - key: REFPROPERTYKEY, - Value: LONG, - ) -> HRESULT, - fn GetSignedIntegerValue( - key: REFPROPERTYKEY, - pValue: *mut LONG, - ) -> HRESULT, - fn SetUnsignedLargeIntegerValue( - key: REFPROPERTYKEY, - Value: ULONGLONG, - ) -> HRESULT, - fn GetUnsignedLargeIntegerValue( - key: REFPROPERTYKEY, - pValue: *mut ULONGLONG, - ) -> HRESULT, - fn SetSignedLargeIntegerValue( - key: REFPROPERTYKEY, - Value: LONGLONG, - ) -> HRESULT, - fn GetSignedLargeIntegerValue( - key: REFPROPERTYKEY, - pValue: *mut LONGLONG, - ) -> HRESULT, - fn SetFloatValue( - key: REFPROPERTYKEY, - Value: FLOAT, - ) -> HRESULT, - fn GetFloatValue( - key: REFPROPERTYKEY, - pValue: *mut FLOAT, - ) -> HRESULT, - fn SetErrorValue( - key: REFPROPERTYKEY, - Value: HRESULT, - ) -> HRESULT, - fn GetErrorValue( - key: REFPROPERTYKEY, - pValue: *mut HRESULT, - ) -> HRESULT, - fn SetKeyValue( - key: REFPROPERTYKEY, - Value: REFPROPERTYKEY, - ) -> HRESULT, - fn GetKeyValue( - key: REFPROPERTYKEY, - pValue: *mut PROPERTYKEY, - ) -> HRESULT, - fn SetBoolValue( - key: REFPROPERTYKEY, - Value: BOOL, - ) -> HRESULT, - fn GetBoolValue( - key: REFPROPERTYKEY, - pValue: *mut BOOL, - ) -> HRESULT, - fn SetIUnknownValue( - key: REFPROPERTYKEY, - pValue: *mut IUnknown, - ) -> HRESULT, - fn GetIUnknownValue( - key: REFPROPERTYKEY, - ppValue: *mut *mut IUnknown, - ) -> HRESULT, - fn SetGuidValue( - key: REFPROPERTYKEY, - Value: REFGUID, - ) -> HRESULT, - fn GetGuidValue( - key: REFPROPERTYKEY, - pValue: *mut GUID, - ) -> HRESULT, - fn SetBufferValue( - key: REFPROPERTYKEY, - pValue: *mut BYTE, - cbValue: DWORD, - ) -> HRESULT, - fn GetBufferValue( - key: REFPROPERTYKEY, - ppValue: *mut *mut BYTE, - pcbValue: *mut DWORD, - ) -> HRESULT, - fn SetIPortableDeviceValuesValue( - key: REFPROPERTYKEY, - pValue: *mut IPortableDeviceValues, - ) -> HRESULT, - fn GetIPortableDeviceValuesValue( - key: REFPROPERTYKEY, - ppValue: *mut *mut IPortableDeviceValues, - ) -> HRESULT, - fn SetIPortableDevicePropVariantCollectionValue( - key: REFPROPERTYKEY, - pValue: *mut IPortableDevicePropVariantCollection, - ) -> HRESULT, - fn GetIPortableDevicePropVariantCollectionValue( - key: REFPROPERTYKEY, - ppValue: *mut *mut IPortableDevicePropVariantCollection, - ) -> HRESULT, - fn SetIPortableDeviceKeyCollectionValue( - key: REFPROPERTYKEY, - pValue: *mut IPortableDeviceKeyCollection, - ) -> HRESULT, - fn GetIPortableDeviceKeyCollectionValue( - key: REFPROPERTYKEY, - ppValue: *mut *mut IPortableDeviceKeyCollection, - ) -> HRESULT, - fn SetIPortableDeviceValuesCollectionValue( - key: REFPROPERTYKEY, - pValue: *mut IPortableDeviceValuesCollection, - ) -> HRESULT, - fn GetIPortableDeviceValuesCollectionValue( - key: REFPROPERTYKEY, - ppValue: *mut *mut IPortableDeviceValuesCollection, - ) -> HRESULT, - fn RemoveValue( - key: REFPROPERTYKEY, - ) -> HRESULT, - fn CopyValuesFromPropertyStore( - pStore: *mut IPropertyStore, - ) -> HRESULT, - fn CopyValuesToPropertyStore( - pStore: *mut IPropertyStore, - ) -> HRESULT, - fn Clear() -> HRESULT, -}} -RIDL!{#[uuid(0xdada2357, 0xe0ad, 0x492e, 0x98, 0xdb, 0xdd, 0x61, 0xc5, 0x3b, 0xa3, 0x53)] -interface IPortableDeviceKeyCollection(IPortableDeviceKeyCollectionVtbl): IUnknown(IUnknownVtbl) { - fn GetCount( - pcElems: *mut DWORD, - ) -> HRESULT, - fn GetAt( - dwIndex: DWORD, - pKey: *mut PROPERTYKEY, - ) -> HRESULT, - fn Add( - Key: REFPROPERTYKEY, - ) -> HRESULT, - fn Clear() -> HRESULT, - fn RemoveAt( - dwIndex: DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x89b2e422, 0x4f1b, 0x4316, 0xbc, 0xef, 0xa4, 0x4a, 0xfe, 0xa8, 0x3e, 0xb3)] -interface IPortableDevicePropVariantCollection(IPortableDevicePropVariantCollectionVtbl): - IUnknown(IUnknownVtbl) { - fn GetCount( - pcElems: *mut DWORD, - ) -> HRESULT, - fn GetAt( - dwIndex: DWORD, - pValue: *mut PROPVARIANT, - ) -> HRESULT, - fn Add( - pValue: *const PROPVARIANT, - ) -> HRESULT, - fn GetType( - pvt: *mut VARTYPE, - ) -> HRESULT, - fn ChangeType( - vt: VARTYPE, - ) -> HRESULT, - fn Clear() -> HRESULT, - fn RemoveAt( - dwIndex: DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x6e3f2d79, 0x4e07, 0x48c4, 0x82, 0x08, 0xd8, 0xc2, 0xe5, 0xaf, 0x4a, 0x99)] -interface IPortableDeviceValuesCollection(IPortableDeviceValuesCollectionVtbl): - IUnknown(IUnknownVtbl) { - fn GetCount( - pcElems: *mut DWORD, - ) -> HRESULT, - fn GetAt( - dwIndex: DWORD, - ppValues: *mut *mut IPortableDeviceValues, - ) -> HRESULT, - fn Add( - pValues: *mut IPortableDeviceValues, - ) -> HRESULT, - fn Clear() -> HRESULT, - fn RemoveAt( - dwIndex: DWORD, - ) -> HRESULT, -}} -DEFINE_GUID!{LIBID_PortableDeviceTypesLib, - 0x2B00BA2F, 0xE750, 0x4beb, 0x92, 0x35, 0x97, 0x14, 0x2E, 0xDE, 0x1D, 0x3E} -DEFINE_GUID!{CLSID_WpdSerializer, - 0x0b91a74b, 0xad7c, 0x4a9d, 0xb5, 0x63, 0x29, 0xee, 0xf9, 0x16, 0x71, 0x72} -RIDL!{#[uuid(0x0b91a74b, 0xad7c, 0x4a9d, 0xb5, 0x63, 0x29, 0xee, 0xf9, 0x16, 0x71, 0x72)] -class WpdSerializer;} -DEFINE_GUID!{CLSID_PortableDeviceValues, - 0x0c15d503, 0xd017, 0x47ce, 0x90, 0x16, 0x7b, 0x3f, 0x97, 0x87, 0x21, 0xcc} -RIDL!{#[uuid(0x0c15d503, 0xd017, 0x47ce, 0x90, 0x16, 0x7b, 0x3f, 0x97, 0x87, 0x21, 0xcc)] -class PortableDeviceValues;} -DEFINE_GUID!{CLSID_PortableDeviceKeyCollection, - 0xde2d022d, 0x2480, 0x43be, 0x97, 0xf0, 0xd1, 0xfa, 0x2c, 0xf9, 0x8f, 0x4f} -RIDL!{#[uuid(0xde2d022d, 0x2480, 0x43be, 0x97, 0xf0, 0xd1, 0xfa, 0x2c, 0xf9, 0x8f, 0x4f)] -class PortableDeviceKeyCollection;} -DEFINE_GUID!{CLSID_PortableDevicePropVariantCollection, - 0x08a99e2f, 0x6d6d, 0x4b80, 0xaf, 0x5a, 0xba, 0xf2, 0xbc, 0xbe, 0x4c, 0xb9} -RIDL!{#[uuid(0x08a99e2f, 0x6d6d, 0x4b80, 0xaf, 0x5a, 0xba, 0xf2, 0xbc, 0xbe, 0x4c, 0xb9)] -class PortableDevicePropVariantCollection;} -DEFINE_GUID!{CLSID_PortableDeviceValuesCollection, - 0x3882134d, 0x14cf, 0x4220, 0x9c, 0xb4, 0x43, 0x5f, 0x86, 0xd8, 0x3f, 0x60} -RIDL!{#[uuid(0x3882134d, 0x14cf, 0x4220, 0x9c, 0xb4, 0x43, 0x5f, 0x86, 0xd8, 0x3f, 0x60)] -class PortableDeviceValuesCollection;} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/powerbase.rs b/vendor/registry-40351f815f426200/winapi/src/um/powerbase.rs deleted file mode 100644 index f856fddf8..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/powerbase.rs +++ /dev/null @@ -1,35 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::{DWORD, ULONG}; -use um::winnt::{ - BOOLEAN, HANDLE, LONG, POWER_INFORMATION_LEVEL, POWER_PLATFORM_ROLE, - PSYSTEM_POWER_CAPABILITIES, PVOID, -}; -use um::winuser::{HPOWERNOTIFY, PHPOWERNOTIFY}; -pub type NTSTATUS = LONG; -extern "system" { - pub fn CallNtPowerInformation( - InformationLevel: POWER_INFORMATION_LEVEL, - InputBuffer: PVOID, - InputBufferLength: ULONG, - OutputBuffer: PVOID, - OutputBufferLength: ULONG, - ) -> NTSTATUS; - pub fn GetPwrCapabilities( - lpspc: PSYSTEM_POWER_CAPABILITIES, - ) -> BOOLEAN; - pub fn PowerDeterminePlatformRoleEx( - Version: ULONG, - ) -> POWER_PLATFORM_ROLE; - pub fn PowerRegisterSuspendResumeNotification( - Flags: DWORD, - Recipient: HANDLE, - RegistrationHandle: PHPOWERNOTIFY, - ) -> DWORD; - pub fn PowerUnregisterSuspendResumeNotification( - RegistrationHandle: HPOWERNOTIFY, - ) -> DWORD; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/powersetting.rs b/vendor/registry-40351f815f426200/winapi/src/um/powersetting.rs deleted file mode 100644 index 88b0c6fa6..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/powersetting.rs +++ /dev/null @@ -1,60 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::guiddef::{GUID, LPCGUID}; -use shared::minwindef::{DWORD, HKEY, LPBYTE, LPDWORD, PUCHAR, PULONG}; -use um::winnt::HANDLE; -use um::winuser::{HPOWERNOTIFY, PHPOWERNOTIFY}; -extern "system" { - pub fn PowerReadACValue( - RootPowerKey: HKEY, - SchemeGuid: *const GUID, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - Type: PULONG, - Buffer: LPBYTE, - BufferSize: LPDWORD, - ) -> DWORD; - pub fn PowerReadDCValue( - RootPowerKey: HKEY, - SchemeGuid: *const GUID, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - Type: PULONG, - Buffer: PUCHAR, - BufferSize: LPDWORD, - ) -> DWORD; - pub fn PowerWriteACValueIndex( - RootPowerKey: HKEY, - SchemeGuid: *const GUID, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - AcValueIndex: DWORD, - ) -> DWORD; - pub fn PowerWriteDCValueIndex( - RootPowerKey: HKEY, - SchemeGuid: *const GUID, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - DcValueIndex: DWORD, - ) -> DWORD; - pub fn PowerGetActiveScheme( - UserRootPowerKey: HKEY, - ActivePolicyGuid: *mut *mut GUID, - ) -> DWORD; - pub fn PowerSetActiveScheme( - UserRootPowerKey: HKEY, - SchemeGuid: *const GUID, - ) -> DWORD; - pub fn PowerSettingRegisterNotification( - SettingGuid: LPCGUID, - Flags: DWORD, - Recipient: HANDLE, - RegistrationHandle: PHPOWERNOTIFY, - ) -> DWORD; - pub fn PowerSettingUnregisterNotification( - RegistrationHandle: HPOWERNOTIFY, - ) -> DWORD; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/powrprof.rs b/vendor/registry-40351f815f426200/winapi/src/um/powrprof.rs deleted file mode 100644 index d2d365f87..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/powrprof.rs +++ /dev/null @@ -1,550 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Interface for powrprof.dll, the power policy applicator -use shared::guiddef::GUID; -use shared::minwindef::{ - BOOL, DWORD, HKEY, LPARAM, LPDWORD, PBYTE, PUCHAR, PUINT, PULONG, UCHAR, UINT, ULONG, -}; -use um::winnt::{ - BOOLEAN, LPCWSTR, LPWSTR, NUM_DISCHARGE_POLICIES, PADMINISTRATOR_POWER_POLICY, - POWER_ACTION_POLICY, POWER_PLATFORM_ROLE, PROCESSOR_POWER_POLICY, PVOID, SYSTEM_POWER_LEVEL, - SYSTEM_POWER_STATE, -}; -use um::winreg::REGSAM; -STRUCT!{struct GLOBAL_MACHINE_POWER_POLICY { - Revision: ULONG, - LidOpenWakeAc: SYSTEM_POWER_STATE, - LidOpenWakeDc: SYSTEM_POWER_STATE, - BroadcastCapacityResolution: ULONG, -}} -pub type PGLOBAL_MACHINE_POWER_POLICY = *mut GLOBAL_MACHINE_POWER_POLICY; -STRUCT!{struct GLOBAL_USER_POWER_POLICY { - Revision: ULONG, - PowerButtonAc: POWER_ACTION_POLICY, - PowerButtonDc: POWER_ACTION_POLICY, - SleepButtonAc: POWER_ACTION_POLICY, - SleepButtonDc: POWER_ACTION_POLICY, - LidCloseAc: POWER_ACTION_POLICY, - LidCloseDc: POWER_ACTION_POLICY, - DischargePolicy: [SYSTEM_POWER_LEVEL; NUM_DISCHARGE_POLICIES], - GlobalFlags: ULONG, -}} -pub type PGLOBAL_USER_POWER_POLICY = *mut GLOBAL_USER_POWER_POLICY; -STRUCT!{struct GLOBAL_POWER_POLICY { - user: GLOBAL_USER_POWER_POLICY, - mach: GLOBAL_MACHINE_POWER_POLICY, -}} -pub type PGLOBAL_POWER_POLICY = *mut GLOBAL_POWER_POLICY; -STRUCT!{struct MACHINE_POWER_POLICY { - Revision: ULONG, - MinSleepAc: SYSTEM_POWER_STATE, - MinSleepDc: SYSTEM_POWER_STATE, - ReducedLatencySleepAc: SYSTEM_POWER_STATE, - ReducedLatencySleepDc: SYSTEM_POWER_STATE, - DozeTimeoutAc: ULONG, - DozeTimeoutDc: ULONG, - DozeS4TimeoutAc: ULONG, - DozeS4TimeoutDc: ULONG, - MinThrottleAc: UCHAR, - MinThrottleDc: UCHAR, - pad1: [UCHAR; 2], - OverThrottledAc: POWER_ACTION_POLICY, - OverThrottledDc: POWER_ACTION_POLICY, -}} -pub type PMACHINE_POWER_POLICY = *mut MACHINE_POWER_POLICY; -STRUCT!{struct MACHINE_PROCESSOR_POWER_POLICY { - Revision: ULONG, - ProcessorPolicyAc: PROCESSOR_POWER_POLICY, - ProcessorPolicyDc: PROCESSOR_POWER_POLICY, -}} -pub type PMACHINE_PROCESSOR_POWER_POLICY = *mut MACHINE_PROCESSOR_POWER_POLICY; -STRUCT!{struct USER_POWER_POLICY { - Revision: ULONG, - IdleAc: POWER_ACTION_POLICY, - IdleDc: POWER_ACTION_POLICY, - IdleTimeoutAc: ULONG, - IdleTimeoutDc: ULONG, - IdleSensitivityAc: UCHAR, - IdleSensitivityDc: UCHAR, - ThrottlePolicyAc: UCHAR, - ThrottlePolicyDc: UCHAR, - MaxSleepAc: SYSTEM_POWER_STATE, - MaxSleepDc: SYSTEM_POWER_STATE, - Reserved: [ULONG; 2], - VideoTimeoutAc: ULONG, - VideoTimeoutDc: ULONG, - SpindownTimeoutAc: ULONG, - SpindownTimeoutDc: ULONG, - OptimizeForPowerAc: BOOLEAN, - OptimizeForPowerDc: BOOLEAN, - FanThrottleToleranceAc: UCHAR, - FanThrottleToleranceDc: UCHAR, - ForcedThrottleAc: UCHAR, - ForcedThrottleDc: UCHAR, -}} -pub type PUSER_POWER_POLICY = *mut USER_POWER_POLICY; -STRUCT!{struct POWER_POLICY { - user: USER_POWER_POLICY, - mach: MACHINE_POWER_POLICY, -}} -pub type PPOWER_POLICY = *mut POWER_POLICY; -pub const EnableSysTrayBatteryMeter: ULONG = 0x01; -pub const EnableMultiBatteryDisplay: ULONG = 0x02; -pub const EnablePasswordLogon: ULONG = 0x04; -pub const EnableWakeOnRing: ULONG = 0x08; -pub const EnableVideoDimDisplay: ULONG = 0x10; -pub const POWER_ATTRIBUTE_HIDE: ULONG = 0x00000001; -pub const POWER_ATTRIBUTE_SHOW_AOAC: ULONG = 0x00000002; -pub const NEWSCHEME: UINT = -1i32 as u32; -FN!{stdcall PWRSCHEMESENUMPROC_V1( - Index: UINT, - NameSize: DWORD, - Name: LPWSTR, - DescriptionSize: DWORD, - Description: LPWSTR, - Policy: PPOWER_POLICY, - Context: LPARAM, -) -> BOOLEAN} -FN!{stdcall PWRSCHEMESENUMPROC_V2( - Index: UINT, - NameSize: DWORD, - Name: LPWSTR, - DescriptionSize: DWORD, - Description: LPWSTR, - Policy: PPOWER_POLICY, - Context: LPARAM, -) -> BOOLEAN} -pub type PWRSCHEMESENUMPROC = *mut PWRSCHEMESENUMPROC_V2; -extern "system" { - pub fn GetPwrDiskSpindownRange( - puiMax: PUINT, - puiMin: PUINT, - ) -> BOOLEAN; - pub fn EnumPwrSchemes( - lpfn: PWRSCHEMESENUMPROC, - lParam: LPARAM, - ) -> BOOLEAN; - pub fn ReadGlobalPwrPolicy( - pGlobalPowerPolicy: PGLOBAL_POWER_POLICY, - ) -> BOOLEAN; - pub fn ReadPwrScheme( - uiID: UINT, - pPowerPolicy: PPOWER_POLICY, - ) -> BOOLEAN; - pub fn WritePwrScheme( - puiID: PUINT, - lpszSchemeName: LPCWSTR, - lpszDescription: LPCWSTR, - lpScheme: PPOWER_POLICY, - ) -> BOOLEAN; - pub fn WriteGlobalPwrPolicy( - pGlobalPowerPolicy: PGLOBAL_POWER_POLICY, - ) -> BOOLEAN; - pub fn DeletePwrScheme( - uiID: UINT, - ) -> BOOLEAN; - pub fn GetActivePwrScheme( - puiID: PUINT, - ) -> BOOLEAN; - pub fn SetActivePwrScheme( - uiID: UINT, - pGlobalPowerPolicy: PGLOBAL_POWER_POLICY, - pPowerPolicy: PPOWER_POLICY, - ) -> BOOLEAN; - pub fn IsPwrSuspendAllowed() -> BOOLEAN; - pub fn IsPwrHibernateAllowed() -> BOOLEAN; - pub fn IsPwrShutdownAllowed() -> BOOLEAN; - pub fn IsAdminOverrideActive( - papp: PADMINISTRATOR_POWER_POLICY, - ) -> BOOLEAN; - pub fn SetSuspendState( - bHibernate: BOOLEAN, - bForce: BOOLEAN, - bWakeupEventsDisabled: BOOLEAN, - ) -> BOOLEAN; - pub fn GetCurrentPowerPolicies( - pGlobalPowerPolicy: PGLOBAL_POWER_POLICY, - pPowerPolicy: PPOWER_POLICY, - ) -> BOOLEAN; - pub fn CanUserWritePwrScheme() -> BOOLEAN; - pub fn ReadProcessorPwrScheme( - uiID: UINT, - pMachineProcessorPowerPolicy: PMACHINE_PROCESSOR_POWER_POLICY, - ) -> BOOLEAN; - pub fn WriteProcessorPwrScheme( - uiID: UINT, - pMachineProcessorPowerPolicy: PMACHINE_PROCESSOR_POWER_POLICY, - ) -> BOOLEAN; - pub fn ValidatePowerPolicies( - pGlobalPowerPolicy: PGLOBAL_POWER_POLICY, - pPowerPolicy: PPOWER_POLICY, - ) -> BOOLEAN; -} -ENUM!{enum POWER_DATA_ACCESSOR { - ACCESS_AC_POWER_SETTING_INDEX = 0, - ACCESS_DC_POWER_SETTING_INDEX, - ACCESS_FRIENDLY_NAME, - ACCESS_DESCRIPTION, - ACCESS_POSSIBLE_POWER_SETTING, - ACCESS_POSSIBLE_POWER_SETTING_FRIENDLY_NAME, - ACCESS_POSSIBLE_POWER_SETTING_DESCRIPTION, - ACCESS_DEFAULT_AC_POWER_SETTING, - ACCESS_DEFAULT_DC_POWER_SETTING, - ACCESS_POSSIBLE_VALUE_MIN, - ACCESS_POSSIBLE_VALUE_MAX, - ACCESS_POSSIBLE_VALUE_INCREMENT, - ACCESS_POSSIBLE_VALUE_UNITS, - ACCESS_ICON_RESOURCE, - ACCESS_DEFAULT_SECURITY_DESCRIPTOR, - ACCESS_ATTRIBUTES, - ACCESS_SCHEME, - ACCESS_SUBGROUP, - ACCESS_INDIVIDUAL_SETTING, - ACCESS_ACTIVE_SCHEME, - ACCESS_CREATE_SCHEME, - ACCESS_AC_POWER_SETTING_MAX, - ACCESS_DC_POWER_SETTING_MAX, - ACCESS_AC_POWER_SETTING_MIN, - ACCESS_DC_POWER_SETTING_MIN, - ACCESS_PROFILE, - ACCESS_OVERLAY_SCHEME, - ACCESS_ACTIVE_OVERLAY_SCHEME, -}} -pub type PPOWER_DATA_ACCESSOR = *mut POWER_DATA_ACCESSOR; -pub const DEVICE_NOTIFY_CALLBACK: ULONG = 2; -FN!{stdcall DEVICE_NOTIFY_CALLBACK_ROUTINE( - Context: PVOID, - Type: ULONG, - Setting: PVOID, -) -> ULONG} -pub type PDEVICE_NOTIFY_CALLBACK_ROUTINE = *mut DEVICE_NOTIFY_CALLBACK_ROUTINE; -STRUCT!{struct DEVICE_NOTIFY_SUBSCRIBE_PARAMETERS { - Callback: PDEVICE_NOTIFY_CALLBACK_ROUTINE, - Context: PVOID, -}} -pub type PDEVICE_NOTIFY_SUBSCRIBE_PARAMETERS = *mut DEVICE_NOTIFY_SUBSCRIBE_PARAMETERS; -extern "system" { - pub fn PowerIsSettingRangeDefined( - SubKeyGuid: *const GUID, - SettingGuid: *const GUID, - ) -> BOOLEAN; - pub fn PowerSettingAccessCheckEx( - AccessFlags: POWER_DATA_ACCESSOR, - PowerGuid: *const GUID, - AccessType: REGSAM, - ) -> DWORD; - pub fn PowerSettingAccessCheck( - AccessFlags: POWER_DATA_ACCESSOR, - PowerGuid: *const GUID, - ) -> DWORD; - pub fn PowerReadACValueIndex( - RootPowerKey: HKEY, - SchemeGuid: *const GUID, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - AcValueIndex: LPDWORD, - ) -> DWORD; - pub fn PowerReadDCValueIndex( - RootPowerKey: HKEY, - SchemeGuid: *const GUID, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - DcValueIndex: LPDWORD, - ) -> DWORD; - pub fn PowerReadFriendlyName( - RootPowerKey: HKEY, - SchemeGuid: *const GUID, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - Buffer: PUCHAR, - BufferSize: LPDWORD, - ) -> DWORD; - pub fn PowerReadDescription( - RootPowerKey: HKEY, - SchemeGuid: *const GUID, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - Buffer: PUCHAR, - BufferSize: LPDWORD, - ) -> DWORD; - pub fn PowerReadPossibleValue( - RootPowerKey: HKEY, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - Type: PULONG, - PossibleSettingIndex: ULONG, - Buffer: PUCHAR, - BufferSize: LPDWORD, - ) -> DWORD; - pub fn PowerReadPossibleFriendlyName( - RootPowerKey: HKEY, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - PossibleSettingIndex: ULONG, - Buffer: PUCHAR, - BufferSize: LPDWORD, - ) -> DWORD; - pub fn PowerReadPossibleDescription( - RootPowerKey: HKEY, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - PossibleSettingIndex: ULONG, - Buffer: PUCHAR, - BufferSize: LPDWORD, - ) -> DWORD; - pub fn PowerReadValueMin( - RootPowerKey: HKEY, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - ValueMinimum: LPDWORD, - ) -> DWORD; - pub fn PowerReadValueMax( - RootPowerKey: HKEY, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - ValueMaximum: LPDWORD, - ) -> DWORD; - pub fn PowerReadValueIncrement( - RootPowerKey: HKEY, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - ValueIncrement: LPDWORD, - ) -> DWORD; - pub fn PowerReadValueUnitsSpecifier( - RootPowerKey: HKEY, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - Buffer: *mut UCHAR, - BufferSize: LPDWORD, - ) -> DWORD; - pub fn PowerReadACDefaultIndex( - RootPowerKey: HKEY, - SchemeGuid: *const GUID, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - AcDefaultIndex: LPDWORD, - ) -> DWORD; - pub fn PowerReadDCDefaultIndex( - RootPowerKey: HKEY, - SchemeGuid: *const GUID, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - DcDefaultIndex: LPDWORD, - ) -> DWORD; - pub fn PowerReadIconResourceSpecifier( - RootPowerKey: HKEY, - SchemeGuid: *const GUID, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - Buffer: PUCHAR, - BufferSize: LPDWORD, - ) -> DWORD; - pub fn PowerReadSettingAttributes( - SubGroupGuid: *const GUID, - PowerSettingGuid: *const GUID, - ) -> DWORD; - pub fn PowerWriteFriendlyName( - RootPowerKey: HKEY, - SchemeGuid: *const GUID, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - Buffer: *mut UCHAR, - BufferSize: DWORD, - ) -> DWORD; - pub fn PowerWriteDescription( - RootPowerKey: HKEY, - SchemeGuid: *const GUID, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - Buffer: *mut UCHAR, - BufferSize: DWORD, - ) -> DWORD; - pub fn PowerWritePossibleValue( - RootPowerKey: HKEY, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - Type: ULONG, - PossibleSettingIndex: ULONG, - Buffer: *mut UCHAR, - BufferSize: DWORD, - ) -> DWORD; - pub fn PowerWritePossibleFriendlyName( - RootPowerKey: HKEY, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - PossibleSettingIndex: ULONG, - Buffer: *mut UCHAR, - BufferSize: DWORD, - ) -> DWORD; - pub fn PowerWritePossibleDescription( - RootPowerKey: HKEY, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - PossibleSettingIndex: ULONG, - Buffer: *mut UCHAR, - BufferSize: DWORD, - ) -> DWORD; - pub fn PowerWriteValueMin( - RootPowerKey: HKEY, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - ValueMinimum: DWORD, - ) -> DWORD; - pub fn PowerWriteValueMax( - RootPowerKey: HKEY, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - ValueMaximum: DWORD, - ) -> DWORD; - pub fn PowerWriteValueIncrement( - RootPowerKey: HKEY, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - ValueIncrement: DWORD, - ) -> DWORD; - pub fn PowerWriteValueUnitsSpecifier( - RootPowerKey: HKEY, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - Buffer: *mut UCHAR, - BufferSize: DWORD, - ) -> DWORD; - pub fn PowerWriteACDefaultIndex( - RootSystemPowerKey: HKEY, - SchemePersonalityGuid: *const GUID, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - DefaultAcIndex: DWORD, - ) -> DWORD; - pub fn PowerWriteDCDefaultIndex( - RootSystemPowerKey: HKEY, - SchemePersonalityGuid: *const GUID, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - DefaultDcIndex: DWORD, - ) -> DWORD; - pub fn PowerWriteIconResourceSpecifier( - RootPowerKey: HKEY, - SchemeGuid: *const GUID, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - Buffer: *mut UCHAR, - BufferSize: DWORD, - ) -> DWORD; - pub fn PowerWriteSettingAttributes( - SubGroupGuid: *const GUID, - PowerSettingGuid: *const GUID, - Attributes: DWORD, - ) -> DWORD; - pub fn PowerDuplicateScheme( - RootPowerKey: HKEY, - SourceSchemeGuid: *const GUID, - DestinationSchemeGuid: *mut *mut GUID, - ) -> DWORD; - pub fn PowerImportPowerScheme( - RootPowerKey: HKEY, - ImportFileNamePath: LPCWSTR, - DestinationSchemeGuid: *mut *mut GUID, - ) -> DWORD; - pub fn PowerDeleteScheme( - RootPowerKey: HKEY, - SchemeGuid: *mut GUID, - ) -> DWORD; - pub fn PowerRemovePowerSetting( - PowerSettingSubKeyGuid: *const GUID, - PowerSettingGuid: *const GUID, - ) -> DWORD; - pub fn PowerCreateSetting( - RootPowerKey: HKEY, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - ) -> DWORD; - pub fn PowerCreatePossibleSetting( - RootPowerKey: HKEY, - SubGroupOfPowerSettingsGuid: *const GUID, - PowerSettingGuid: *const GUID, - PossibleSettingIndex: ULONG, - ) -> DWORD; - pub fn PowerEnumerate( - RootPowerKey: HKEY, - SchemeGuid: *const GUID, - SubGroupOfPowerSettingsGuid: *const GUID, - AccessFlags: POWER_DATA_ACCESSOR, - Index: ULONG, - Buffer: *mut UCHAR, - BufferSize: *mut DWORD, - ) -> DWORD; - pub fn PowerOpenUserPowerKey( - phUserPowerKey: *mut HKEY, - Access: REGSAM, - OpenExisting: BOOL, - ) -> DWORD; - pub fn PowerOpenSystemPowerKey( - phSystemPowerKey: *mut HKEY, - Access: REGSAM, - OpenExisting: BOOL, - ) -> DWORD; - pub fn PowerCanRestoreIndividualDefaultPowerScheme( - SchemeGuid: *const GUID, - ) -> DWORD; - pub fn PowerRestoreIndividualDefaultPowerScheme( - SchemeGuid: *const GUID, - ) -> DWORD; - pub fn PowerRestoreDefaultPowerSchemes() -> DWORD; - pub fn PowerReplaceDefaultPowerSchemes() -> DWORD; - pub fn PowerDeterminePlatformRole() -> POWER_PLATFORM_ROLE; -} -pub const DEVICEPOWER_HARDWAREID: ULONG = 0x80000000; -pub const DEVICEPOWER_AND_OPERATION: ULONG = 0x40000000; -pub const DEVICEPOWER_FILTER_DEVICES_PRESENT: ULONG = 0x20000000; -pub const DEVICEPOWER_FILTER_HARDWARE: ULONG = 0x10000000; -pub const DEVICEPOWER_FILTER_WAKEENABLED: ULONG = 0x08000000; -pub const DEVICEPOWER_FILTER_WAKEPROGRAMMABLE: ULONG = 0x04000000; -pub const DEVICEPOWER_FILTER_ON_NAME: ULONG = 0x02000000; -pub const DEVICEPOWER_SET_WAKEENABLED: ULONG = 0x00000001; -pub const DEVICEPOWER_CLEAR_WAKEENABLED: ULONG = 0x00000002; -pub const PDCAP_S0_SUPPORTED: ULONG = 0x00010000; -pub const PDCAP_S1_SUPPORTED: ULONG = 0x00020000; -pub const PDCAP_S2_SUPPORTED: ULONG = 0x00040000; -pub const PDCAP_S3_SUPPORTED: ULONG = 0x00080000; -pub const PDCAP_WAKE_FROM_S0_SUPPORTED: ULONG = 0x00100000; -pub const PDCAP_WAKE_FROM_S1_SUPPORTED: ULONG = 0x00200000; -pub const PDCAP_WAKE_FROM_S2_SUPPORTED: ULONG = 0x00400000; -pub const PDCAP_WAKE_FROM_S3_SUPPORTED: ULONG = 0x00800000; -pub const PDCAP_S4_SUPPORTED: ULONG = 0x01000000; -pub const PDCAP_S5_SUPPORTED: ULONG = 0x02000000; -extern "system" { - pub fn DevicePowerEnumDevices( - QueryIndex: ULONG, - QueryInterpretationFlags: ULONG, - QueryFlags: ULONG, - pReturnBuffer: PBYTE, - pBufferSize: PULONG, - ) -> BOOLEAN; - pub fn DevicePowerSetDeviceState( - DeviceDescription: LPCWSTR, - SetFlags: ULONG, - SetData: PVOID, - ) -> DWORD; - pub fn DevicePowerOpen( - DebugMask: ULONG, - ) -> BOOLEAN; - pub fn DevicePowerClose() -> BOOLEAN; -} -STRUCT!{struct THERMAL_EVENT { - Version: ULONG, - Size: ULONG, - Type: ULONG, - Temperature: ULONG, - TripPointTemperature: ULONG, - Initiator: LPWSTR, -}} -pub type PTHERMAL_EVENT = *mut THERMAL_EVENT; -extern "system" { - pub fn PowerReportThermalEvent( - Event: PTHERMAL_EVENT, - ) -> DWORD; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/processenv.rs b/vendor/registry-40351f815f426200/winapi/src/um/processenv.rs deleted file mode 100644 index 8ecb5e0e9..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/processenv.rs +++ /dev/null @@ -1,98 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::{BOOL, DWORD}; -use um::winnt::{HANDLE, LPCH, LPCSTR, LPCWSTR, LPSTR, LPWCH, LPWSTR, PHANDLE}; -extern "system" { - pub fn GetEnvironmentStrings() -> LPCH; - pub fn GetEnvironmentStringsW() -> LPWCH; - pub fn SetEnvironmentStringsW( - NewEnvironment: LPWCH, - ) -> BOOL; - pub fn FreeEnvironmentStringsA( - penv: LPCH, - ) -> BOOL; - pub fn FreeEnvironmentStringsW( - penv: LPWCH, - ) -> BOOL; - pub fn GetStdHandle( - nStdHandle: DWORD, - ) -> HANDLE; - pub fn SetStdHandle( - nStdHandle: DWORD, - hHandle: HANDLE, - ) -> BOOL; - pub fn SetStdHandleEx( - nStdHandle: DWORD, - hHandle: HANDLE, - phPrevValue: PHANDLE, - ) -> BOOL; - pub fn GetCommandLineA() -> LPSTR; - pub fn GetCommandLineW() -> LPWSTR; - pub fn GetEnvironmentVariableA( - lpName: LPCSTR, - lpBuffer: LPSTR, - nSize: DWORD, - ) -> DWORD; - pub fn GetEnvironmentVariableW( - lpName: LPCWSTR, - lpBuffer: LPWSTR, - nSize: DWORD, - ) -> DWORD; - pub fn SetEnvironmentVariableA( - lpName: LPCSTR, - lpValue: LPCSTR, - ) -> BOOL; - pub fn SetEnvironmentVariableW( - lpName: LPCWSTR, - lpValue: LPCWSTR, - ) -> BOOL; - pub fn ExpandEnvironmentStringsA( - lpSrc: LPCSTR, - lpDst: LPSTR, - nSize: DWORD, - ) -> DWORD; - pub fn ExpandEnvironmentStringsW( - lpSrc: LPCWSTR, - lpDst: LPWSTR, - nSize: DWORD, - ) -> DWORD; - pub fn SetCurrentDirectoryA( - lpPathName: LPCSTR, - ) -> BOOL; - pub fn SetCurrentDirectoryW( - lpPathName: LPCWSTR, - ) -> BOOL; - pub fn GetCurrentDirectoryA( - nBufferLength: DWORD, - lpBuffer: LPSTR, - ) -> DWORD; - pub fn GetCurrentDirectoryW( - nBufferLength: DWORD, - lpBuffer: LPWSTR, - ) -> DWORD; - pub fn SearchPathW( - lpPath: LPCWSTR, - lpFileName: LPCWSTR, - lpExtension: LPCWSTR, - nBufferLength: DWORD, - lpBuffer: LPWSTR, - lpFilePart: *mut LPWSTR, - ) -> DWORD; - pub fn SearchPathA( - lpPath: LPCSTR, - lpFileName: LPCSTR, - lpExtension: LPCSTR, - nBufferLength: DWORD, - lpBuffer: LPSTR, - lpFilePart: *mut LPSTR, - ) -> DWORD; - pub fn NeedCurrentDirectoryForExePathA( - ExeName: LPCSTR, - ) -> BOOL; - pub fn NeedCurrentDirectoryForExePathW( - ExeName: LPCWSTR, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/processsnapshot.rs b/vendor/registry-40351f815f426200/winapi/src/um/processsnapshot.rs deleted file mode 100644 index c49aac6a9..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/processsnapshot.rs +++ /dev/null @@ -1,120 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Defines the process snapshot API -use ctypes::c_void; -use shared::basetsd::ULONG_PTR; -use shared::minwindef::DWORD; -use um::winnt::HANDLE; -ENUM!{enum PSS_CAPTURE_FLAGS { - PSS_CAPTURE_NONE = 0x00000000, - PSS_CAPTURE_VA_CLONE = 0x00000001, - PSS_CAPTURE_RESERVED_00000002 = 0x00000002, - PSS_CAPTURE_HANDLES = 0x00000004, - PSS_CAPTURE_HANDLE_NAME_INFORMATION = 0x00000008, - PSS_CAPTURE_HANDLE_BASIC_INFORMATION = 0x00000010, - PSS_CAPTURE_HANDLE_TYPE_SPECIFIC_INFORMATION = 0x00000020, - PSS_CAPTURE_HANDLE_TRACE = 0x00000040, - PSS_CAPTURE_THREADS = 0x00000080, - PSS_CAPTURE_THREAD_CONTEXT = 0x00000100, - PSS_CAPTURE_THREAD_CONTEXT_EXTENDED = 0x00000200, - PSS_CAPTURE_RESERVED_00000400 = 0x00000400, - PSS_CAPTURE_VA_SPACE = 0x00000800, - PSS_CAPTURE_VA_SPACE_SECTION_INFORMATION = 0x00001000, - PSS_CREATE_BREAKAWAY_OPTIONAL = 0x04000000, - PSS_CREATE_BREAKAWAY = 0x08000000, - PSS_CREATE_FORCE_BREAKAWAY = 0x10000000, - PSS_CREATE_USE_VM_ALLOCATIONS = 0x20000000, - PSS_CREATE_MEASURE_PERFORMANCE = 0x40000000, - PSS_CREATE_RELEASE_SECTION = 0x80000000, -}} -ENUM!{enum PSS_QUERY_INFORMATION_CLASS { - PSS_QUERY_PROCESS_INFORMATION = 0, - PSS_QUERY_VA_CLONE_INFORMATION = 1, - PSS_QUERY_AUXILIARY_PAGES_INFORMATION = 2, - PSS_QUERY_VA_SPACE_INFORMATION = 3, - PSS_QUERY_HANDLE_INFORMATION = 4, - PSS_QUERY_THREAD_INFORMATION = 5, - PSS_QUERY_HANDLE_TRACE_INFORMATION = 6, - PSS_QUERY_PERFORMANCE_COUNTERS = 7, -}} -ENUM!{enum PSS_WALK_INFORMATION_CLASS { - PSS_WALK_AUXILIARY_PAGES = 0, - PSS_WALK_VA_SPACE = 1, - PSS_WALK_HANDLES = 2, - PSS_WALK_THREADS = 3, -}} -ENUM!{enum PSS_DUPLICATE_FLAGS { - PSS_DUPLICATE_NONE = 0x00, - PSS_DUPLICATE_CLOSE_SOURCE = 0x01, -}} -DECLARE_HANDLE!{HPSS, HPSS__} -DECLARE_HANDLE!{HPSSWALK, HPSSWALK__} -FN!{stdcall pAllocRoutine( - Context: *mut c_void, - Size: DWORD, -) -> *mut c_void} -FN!{stdcall pFreeRoutine( - Context: *mut c_void, - Address: *mut c_void, -) -> ()} -STRUCT!{struct PSS_ALLOCATOR { - Context: *mut c_void, - AllocRoutine: pAllocRoutine, - FreeRoutine: pFreeRoutine, -}} -extern "system" { - pub fn PssCaptureSnapshot( - ProcessHandle: HANDLE, - CaptureFlags: PSS_CAPTURE_FLAGS, - ThreadContextFlags: DWORD, - SnapshotHandle: *mut HPSS, - ) -> DWORD; - pub fn PssDuplicateSnapshot( - SourceProcessHandle: HANDLE, - SnapshotHandle: HPSS, - TargetProcessHandle: HANDLE, - TargetSnapshotHandle: *mut HPSS, - Flags: PSS_DUPLICATE_FLAGS, - ) -> DWORD; - pub fn PssFreeSnapshot( - ProcessHandle: HANDLE, - SnapshotHandle: HPSS, - ) -> DWORD; - pub fn PssQuerySnapshot( - SnapshotHandle: HPSS, - InformationClass: PSS_QUERY_INFORMATION_CLASS, - Buffer: *mut c_void, - BufferLength: DWORD, - ) -> DWORD; - pub fn PssWalkMarkerCreate( - Allocator: *const PSS_ALLOCATOR, - WalkMarkerHandle: *mut HPSSWALK, - ) -> DWORD; - pub fn PssWalkMarkerFree( - WalkMarkerHandle: HPSSWALK, - ) -> DWORD; - pub fn PssWalkMarkerGetPosition( - WalkMarkerHandle: HPSSWALK, - Position: *mut ULONG_PTR, - ) -> DWORD; - // pub fn PssWalkMarkerRewind(); - // pub fn PssWalkMarkerSeek(); - pub fn PssWalkMarkerSeekToBeginning( - WalkMarkerHandle: HPSS, - ) -> DWORD; - pub fn PssWalkMarkerSetPosition( - WalkMarkerHandle: HPSSWALK, - Position: ULONG_PTR, - ) -> DWORD; - // pub fn PssWalkMarkerTell(); - pub fn PssWalkSnapshot( - SnapshotHandle: HPSS, - InformationClass: PSS_WALK_INFORMATION_CLASS, - WalkMarkerHandle: HPSSWALK, - Buffer: *mut c_void, - BufferLength: DWORD, - ) -> DWORD; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/processthreadsapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/processthreadsapi.rs deleted file mode 100644 index 9629ee865..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/processthreadsapi.rs +++ /dev/null @@ -1,441 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -//! ApiSet Contract for api-ms-win-core-processthreads-l1 -use ctypes::{c_int, c_void}; -use shared::basetsd::{DWORD_PTR, PSIZE_T, PULONG_PTR, SIZE_T, ULONG_PTR}; -use shared::guiddef::LPCGUID; -use shared::minwindef::{ - BOOL, DWORD, LPBYTE, LPCVOID, LPDWORD, LPFILETIME, LPVOID, PBOOL, PDWORD, PULONG, UINT, WORD -}; -use um::minwinbase::{LPCONTEXT, LPSECURITY_ATTRIBUTES, LPTHREAD_START_ROUTINE}; -use um::winnt::{ - CONTEXT, HANDLE, LPCSTR, LPCWSTR, LPSTR, LPWSTR, PAPCFUNC, PHANDLE, PPROCESSOR_NUMBER, - PROCESS_MITIGATION_POLICY, PVOID -}; -STRUCT!{struct PROCESS_INFORMATION { - hProcess: HANDLE, - hThread: HANDLE, - dwProcessId: DWORD, - dwThreadId: DWORD, -}} -pub type PPROCESS_INFORMATION = *mut PROCESS_INFORMATION; -pub type LPPROCESS_INFORMATION = *mut PROCESS_INFORMATION; -STRUCT!{struct STARTUPINFOA { - cb: DWORD, - lpReserved: LPSTR, - lpDesktop: LPSTR, - lpTitle: LPSTR, - dwX: DWORD, - dwY: DWORD, - dwXSize: DWORD, - dwYSize: DWORD, - dwXCountChars: DWORD, - dwYCountChars: DWORD, - dwFillAttribute: DWORD, - dwFlags: DWORD, - wShowWindow: WORD, - cbReserved2: WORD, - lpReserved2: LPBYTE, - hStdInput: HANDLE, - hStdOutput: HANDLE, - hStdError: HANDLE, -}} -pub type LPSTARTUPINFOA = *mut STARTUPINFOA; -STRUCT!{struct STARTUPINFOW { - cb: DWORD, - lpReserved: LPWSTR, - lpDesktop: LPWSTR, - lpTitle: LPWSTR, - dwX: DWORD, - dwY: DWORD, - dwXSize: DWORD, - dwYSize: DWORD, - dwXCountChars: DWORD, - dwYCountChars: DWORD, - dwFillAttribute: DWORD, - dwFlags: DWORD, - wShowWindow: WORD, - cbReserved2: WORD, - lpReserved2: LPBYTE, - hStdInput: HANDLE, - hStdOutput: HANDLE, - hStdError: HANDLE, -}} -pub type LPSTARTUPINFOW = *mut STARTUPINFOW; -extern "system" { - pub fn QueueUserAPC( - pfnAPC: PAPCFUNC, - hThread: HANDLE, - dwData: ULONG_PTR, - ) -> DWORD; - pub fn GetProcessTimes( - hProcess: HANDLE, - lpCreationTime: LPFILETIME, - lpExitTime: LPFILETIME, - lpKernelTime: LPFILETIME, - lpUserTime: LPFILETIME, - ) -> BOOL; - pub fn GetCurrentProcess() -> HANDLE; - pub fn GetCurrentProcessId() -> DWORD; - pub fn ExitProcess( - uExitCode: UINT, - ); - pub fn TerminateProcess( - hProcess: HANDLE, - uExitCode: UINT, - ) -> BOOL; - pub fn GetExitCodeProcess( - hProcess: HANDLE, - lpExitCode: LPDWORD, - ) -> BOOL; - pub fn SwitchToThread() -> BOOL; - pub fn CreateThread( - lpThreadAttributes: LPSECURITY_ATTRIBUTES, - dwStackSize: SIZE_T, - lpStartAddress: LPTHREAD_START_ROUTINE, - lpParameter: LPVOID, - dwCreationFlags: DWORD, - lpThreadId: LPDWORD, - ) -> HANDLE; - pub fn CreateRemoteThread( - hProcess: HANDLE, - lpThreadAttributes: LPSECURITY_ATTRIBUTES, - dwStackSize: SIZE_T, - lpStartAddress: LPTHREAD_START_ROUTINE, - lpParameter: LPVOID, - dwCreationFlags: DWORD, - lpThreadId: LPDWORD, - ) -> HANDLE; - pub fn GetCurrentThread() -> HANDLE; - pub fn GetCurrentThreadId() -> DWORD; - pub fn OpenThread( - dwDesiredAccess: DWORD, - bInheritHandle: BOOL, - dwThreadId: DWORD, - ) -> HANDLE; - pub fn SetThreadPriority( - hThread: HANDLE, - nPriority: c_int, - ) -> BOOL; - pub fn SetThreadPriorityBoost( - hThread: HANDLE, - bDisablePriorityBoost: BOOL, - ) -> BOOL; - pub fn GetThreadPriorityBoost( - hThread: HANDLE, - pDisablePriorityBoost: PBOOL, - ) -> BOOL; - pub fn GetThreadPriority( - hThread: HANDLE, - ) -> c_int; - pub fn ExitThread( - dwExitCode: DWORD, - ); - pub fn TerminateThread( - hThread: HANDLE, - dwExitCode: DWORD, - ) -> BOOL; - pub fn GetExitCodeThread( - hThread: HANDLE, - lpExitCode: LPDWORD, - ) -> BOOL; - pub fn SuspendThread( - hThread: HANDLE, - ) -> DWORD; - pub fn ResumeThread( - hThread: HANDLE, - ) -> DWORD; -} -pub const TLS_OUT_OF_INDEXES: DWORD = 0xFFFFFFFF; -extern "system" { - pub fn TlsAlloc() -> DWORD; - pub fn TlsGetValue( - dwTlsIndex: DWORD, - ) -> LPVOID; - pub fn TlsSetValue( - dwTlsIndex: DWORD, - lpTlsValue: LPVOID, - ) -> BOOL; - pub fn TlsFree( - dwTlsIndex: DWORD, - ) -> BOOL; - pub fn CreateProcessA( - lpApplicationName: LPCSTR, - lpCommandLine: LPSTR, - lpProcessAttributes: LPSECURITY_ATTRIBUTES, - lpThreadAttributes: LPSECURITY_ATTRIBUTES, - bInheritHandles: BOOL, - dwCreationFlags: DWORD, - lpEnvironment: LPVOID, - lpCurrentDirectory: LPCSTR, - lpStartupInfo: LPSTARTUPINFOA, - lpProcessInformation: LPPROCESS_INFORMATION, - ) -> BOOL; - pub fn CreateProcessW( - lpApplicationName: LPCWSTR, - lpCommandLine: LPWSTR, - lpProcessAttributes: LPSECURITY_ATTRIBUTES, - lpThreadAttributes: LPSECURITY_ATTRIBUTES, - bInheritHandles: BOOL, - dwCreationFlags: DWORD, - lpEnvironment: LPVOID, - lpCurrentDirectory: LPCWSTR, - lpStartupInfo: LPSTARTUPINFOW, - lpProcessInformation: LPPROCESS_INFORMATION, - ) -> BOOL; - pub fn SetProcessShutdownParameters( - dwLevel: DWORD, - dwFlags: DWORD, - ) -> BOOL; - pub fn GetProcessVersion( - ProcessId: DWORD, - ) -> DWORD; - pub fn GetStartupInfoW( - lpStartupInfo: LPSTARTUPINFOW, - ); - pub fn CreateProcessAsUserW( - hToken: HANDLE, - lpApplicationName: LPCWSTR, - lpCommandLine: LPWSTR, - lpProcessAttributes: LPSECURITY_ATTRIBUTES, - lpThreadAttributes: LPSECURITY_ATTRIBUTES, - bInheritHandles: BOOL, - dwCreationFlags: DWORD, - lpEnvironment: LPVOID, - lpCurrentDirectory: LPCWSTR, - lpStartupInfo: LPSTARTUPINFOW, - lpProcessInformation: LPPROCESS_INFORMATION, - ) -> BOOL; - // pub fn GetCurrentProcessToken(); - // pub fn GetCurrentThreadToken(); - // pub fn GetCurrentThreadEffectiveToken(); - pub fn SetThreadToken( - Thread: PHANDLE, - Token: HANDLE, - ) -> BOOL; - pub fn OpenProcessToken( - ProcessHandle: HANDLE, - DesiredAccess: DWORD, - TokenHandle: PHANDLE, - ) -> BOOL; - pub fn OpenThreadToken( - ThreadHandle: HANDLE, - DesiredAccess: DWORD, - OpenAsSelf: BOOL, - TokenHandle: PHANDLE, - ) -> BOOL; - pub fn SetPriorityClass( - hProcess: HANDLE, - dwPriorityClass: DWORD, - ) -> BOOL; - pub fn SetThreadStackGuarantee( - StackSizeInBytes: PULONG, - ) -> BOOL; - pub fn GetPriorityClass( - hProcess: HANDLE, - ) -> DWORD; - pub fn ProcessIdToSessionId( - dwProcessId: DWORD, - pSessionId: *mut DWORD, - ) -> BOOL; - pub fn GetProcessId( - Process: HANDLE, - ) -> DWORD; -} -STRUCT!{struct PROC_THREAD_ATTRIBUTE_LIST { - dummy: *mut c_void, -}} -pub type PPROC_THREAD_ATTRIBUTE_LIST = *mut PROC_THREAD_ATTRIBUTE_LIST; -pub type LPPROC_THREAD_ATTRIBUTE_LIST = *mut PROC_THREAD_ATTRIBUTE_LIST; -extern "system" { - pub fn GetThreadId( - Thread: HANDLE, - ) -> DWORD; - pub fn FlushProcessWriteBuffers(); - pub fn GetProcessIdOfThread( - Thread: HANDLE, - ) -> DWORD; - pub fn InitializeProcThreadAttributeList( - lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST, - dwAttributeCount: DWORD, - dwFlags: DWORD, - lpSize: PSIZE_T, - ) -> BOOL; - pub fn DeleteProcThreadAttributeList( - lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST, - ); - pub fn SetProcessAffinityUpdateMode( - hProcess: HANDLE, - dwFlags: DWORD, - ) -> BOOL; - pub fn QueryProcessAffinityUpdateMode( - hProcess: HANDLE, - lpdwFlags: LPDWORD, - ) -> BOOL; - pub fn UpdateProcThreadAttribute( - lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST, - dwFlags: DWORD, - Attribute: DWORD_PTR, - lpValue: PVOID, - cbSize: SIZE_T, - lpPreviousValue: PVOID, - lpReturnSize: PSIZE_T, - ) -> BOOL; - pub fn CreateRemoteThreadEx( - hProcess: HANDLE, - lpThreadAttributes: LPSECURITY_ATTRIBUTES, - dwStackSize: SIZE_T, - lpStartAddress: LPTHREAD_START_ROUTINE, - lpParameter: LPVOID, - dwCreationFlags: DWORD, - lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST, - lpThreadId: LPDWORD, - ) -> HANDLE; - pub fn GetCurrentThreadStackLimits( - LowLimit: PULONG_PTR, - HighLimit: PULONG_PTR, - ); - pub fn GetThreadContext( - hThread: HANDLE, - lpContext: LPCONTEXT, - ) -> BOOL; - pub fn SetThreadContext( - hThread: HANDLE, - lpContext: *const CONTEXT, - ) -> BOOL; - pub fn SetProcessMitigationPolicy( - MitigationPolicy: PROCESS_MITIGATION_POLICY, - lpBuffer: PVOID, - dwLength: SIZE_T, - ) -> BOOL; - pub fn GetProcessMitigationPolicy( - hProcess: HANDLE, - MitigationPolicy: PROCESS_MITIGATION_POLICY, - lpBuffer: PVOID, - dwLength: SIZE_T, - ) -> BOOL; - pub fn FlushInstructionCache( - hProcess: HANDLE, - lpBaseAddress: LPCVOID, - dwSize: SIZE_T, - ) -> BOOL; - pub fn GetThreadTimes( - hThread: HANDLE, - lpCreationTime: LPFILETIME, - lpExitTime: LPFILETIME, - lpKernelTime: LPFILETIME, - lpUserTime: LPFILETIME, - ) -> BOOL; - pub fn OpenProcess( - dwDesiredAccess: DWORD, - bInheritHandle: BOOL, - dwProcessId: DWORD, - ) -> HANDLE; - pub fn IsProcessorFeaturePresent( - ProcessorFeature: DWORD, - ) -> BOOL; - pub fn GetProcessHandleCount( - hProcess: HANDLE, - pdwHandleCount: PDWORD, - ) -> BOOL; - pub fn GetCurrentProcessorNumber() -> DWORD; - pub fn SetThreadIdealProcessorEx( - hThread: HANDLE, - lpIdealProcessor: PPROCESSOR_NUMBER, - lpPreviousIdealProcessor: PPROCESSOR_NUMBER, - ) -> BOOL; - pub fn GetThreadIdealProcessorEx( - hThread: HANDLE, - lpIdealProcessor: PPROCESSOR_NUMBER, - ) -> BOOL; - pub fn GetCurrentProcessorNumberEx( - ProcNumber: PPROCESSOR_NUMBER, - ); - pub fn GetProcessPriorityBoost( - hProcess: HANDLE, - pDisablePriorityBoost: PBOOL, - ) -> BOOL; - pub fn SetProcessPriorityBoost( - hProcess: HANDLE, - bDisablePriorityBoost: BOOL, - ) -> BOOL; - pub fn GetThreadIOPendingFlag( - hThread: HANDLE, - lpIOIsPending: PBOOL, - ) -> BOOL; - pub fn GetSystemTimes( - lpIdleTime: LPFILETIME, - lpKernelTime: LPFILETIME, - lpUserTime: LPFILETIME, - ) -> BOOL; -} -ENUM!{enum THREAD_INFORMATION_CLASS { - ThreadMemoryPriority, - ThreadAbsoluteCpuPriority, - ThreadInformationClassMax, -}} -// MEMORY_PRIORITY_INFORMATION -extern "system" { - pub fn GetThreadInformation( - hThread: HANDLE, - ThreadInformationClass: THREAD_INFORMATION_CLASS, - ThreadInformation: LPVOID, - ThreadInformationSize: DWORD, - ) -> BOOL; - pub fn SetThreadInformation( - hThread: HANDLE, - ThreadInformationClass: THREAD_INFORMATION_CLASS, - ThreadInformation: LPVOID, - ThreadInformationSize: DWORD, - ) -> BOOL; - pub fn IsProcessCritical( - hProcess: HANDLE, - Critical: PBOOL, - ) -> BOOL; - pub fn SetProtectedPolicy( - PolicyGuid: LPCGUID, - PolicyValue: ULONG_PTR, - OldPolicyValue: PULONG_PTR, - ) -> BOOL; - pub fn QueryProtectedPolicy( - PolicyGuid: LPCGUID, - PolicyValue: PULONG_PTR, - ) -> BOOL; - pub fn SetThreadIdealProcessor( - hThread: HANDLE, - dwIdealProcessor: DWORD, - ) -> DWORD; -} -ENUM!{enum PROCESS_INFORMATION_CLASS { - ProcessMemoryPriority, - ProcessInformationClassMax, -}} -extern "system" { - pub fn SetProcessInformation( - hProcess: HANDLE, - ProcessInformationClass: PROCESS_INFORMATION_CLASS, - ProcessInformation: LPVOID, - ProcessInformationSize: DWORD, - ) -> BOOL; - pub fn GetProcessInformation( - hProcess: HANDLE, - ProcessInformationClass: PROCESS_INFORMATION_CLASS, - ProcessInformation: LPVOID, - ProcessInformationSize: DWORD, - ) -> BOOL; - // pub fn GetSystemCpuSetInformation(); - // pub fn GetProcessDefaultCpuSets(); - // pub fn SetProcessDefaultCpuSets(); - // pub fn GetThreadSelectedCpuSets(); - // pub fn SetThreadSelectedCpuSets(); - // pub fn CreateProcessAsUserA(); - pub fn GetProcessShutdownParameters( - lpdwLevel: LPDWORD, - lpdwFlags: LPDWORD, - ) -> BOOL; - // pub fn SetThreadDescription(); - // pub fn GetThreadDescription(); -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/processtopologyapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/processtopologyapi.rs deleted file mode 100644 index 694f0762a..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/processtopologyapi.rs +++ /dev/null @@ -1,23 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::{BOOL, PUSHORT}; -use um::winnt::{GROUP_AFFINITY, HANDLE, PGROUP_AFFINITY}; -extern "system" { - pub fn GetProcessGroupAffinity( - hProcess: HANDLE, - GroupCount: PUSHORT, - GroupArray: PUSHORT, - ) -> BOOL; - pub fn GetThreadGroupAffinity( - hThread: HANDLE, - GroupAffinity: PGROUP_AFFINITY, - ) -> BOOL; - pub fn SetThreadGroupAffinity( - hThread: HANDLE, - GroupAffinity: *const GROUP_AFFINITY, - PreviousGroupAffinity: PGROUP_AFFINITY, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/profileapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/profileapi.rs deleted file mode 100644 index 908457592..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/profileapi.rs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::BOOL; -use um::winnt::LARGE_INTEGER; -extern "system" { - pub fn QueryPerformanceCounter( - lpPerformanceCount: *mut LARGE_INTEGER, - ) -> BOOL; - pub fn QueryPerformanceFrequency( - lpFrequency: *mut LARGE_INTEGER, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/propidl.rs b/vendor/registry-40351f815f426200/winapi/src/um/propidl.rs deleted file mode 100644 index 233c0f28b..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/propidl.rs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::WORD; -use shared::wtypes::VARTYPE; -STRUCT!{struct PROPVARIANT { - vt: VARTYPE, - wReserved1: WORD, - wReserved2: WORD, - wReserved3: WORD, - data: [u8; 16], -}} -pub type REFPROPVARIANT = *const PROPVARIANT; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/propkeydef.rs b/vendor/registry-40351f815f426200/winapi/src/um/propkeydef.rs deleted file mode 100644 index bc0924c76..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/propkeydef.rs +++ /dev/null @@ -1,13 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -use shared::guiddef::IsEqualIID; -use shared::wtypes::{PROPERTYKEY, PROPID}; -pub const PID_FIRST_USABLE: PROPID = 2; -pub type REFPROPERTYKEY = *const PROPERTYKEY; -#[inline] -pub fn IsEqualPropertyKey(a: &PROPERTYKEY, b: &PROPERTYKEY) -> bool { - (a.pid == b.pid) && IsEqualIID(&a.fmtid, &b.fmtid) -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/propsys.rs b/vendor/registry-40351f815f426200/winapi/src/um/propsys.rs deleted file mode 100644 index 9a4f6a0ff..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/propsys.rs +++ /dev/null @@ -1,46 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::DWORD; -use shared::wtypes::PROPERTYKEY; -use um::propidl::{PROPVARIANT, REFPROPVARIANT}; -use um::propkeydef::REFPROPERTYKEY; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::HRESULT; -pub type IPropertyDescriptionList = IUnknown; // TODO -RIDL!{#[uuid(0x886d8eeb, 0x8cf2, 0x4446, 0x8d, 0x02, 0xcd, 0xba, 0x1d, 0xbd, 0xcf, 0x99)] -interface IPropertyStore(IPropertyStoreVtbl): IUnknown(IUnknownVtbl) { - fn GetCount( - cProps: *mut DWORD, - ) -> HRESULT, - fn GetAt( - iProp: DWORD, - pkey: *mut PROPERTYKEY, - ) -> HRESULT, - fn GetValue( - key: REFPROPERTYKEY, - pv: *mut PROPVARIANT, - ) -> HRESULT, - fn SetValue( - key: REFPROPERTYKEY, - propvar: REFPROPVARIANT, - ) -> HRESULT, - fn Commit() -> HRESULT, -}} -ENUM!{enum GETPROPERTYSTOREFLAGS { - GPS_DEFAULT = 0, - GPS_HANDLERPROPERTIESONLY = 0x1, - GPS_READWRITE = 0x2, - GPS_TEMPORARY = 0x4, - GPS_FASTPROPERTIESONLY = 0x8, - GPS_OPENSLOWITEM = 0x10, - GPS_DELAYCREATION = 0x20, - GPS_BESTEFFORT = 0x40, - GPS_NO_OPLOCK = 0x80, - GPS_PREFERQUERYPROPERTIES = 0x100, - GPS_EXTRINSICPROPERTIES = 0x200, - GPS_EXTRINSICPROPERTIESONLY = 0x400, - GPS_MASK_VALID = 0x7ff, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/prsht.rs b/vendor/registry-40351f815f426200/winapi/src/um/prsht.rs deleted file mode 100644 index 25cb9262d..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/prsht.rs +++ /dev/null @@ -1,361 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Interface for the Windows Property Sheet Pages -use ctypes::{c_int, c_short}; -use shared::basetsd::INT_PTR; -use shared::minwindef::{BOOL, DWORD, HINSTANCE, LPARAM, LPVOID, LRESULT, UINT, WPARAM}; -use shared::windef::{HBITMAP, HICON, HPALETTE, HWND}; -use um::winnt::{HANDLE, LPCSTR, LPCWSTR}; -use um::winuser::{DLGPROC, LPCDLGTEMPLATEA, NMHDR, WM_USER}; -pub enum PSP {} -pub type HPROPSHEETPAGE = *mut PSP; -FN!{stdcall LPFNPSPCALLBACKA( - hwnd: HWND, - uMsg: UINT, - ppsp: *mut PROPSHEETPAGEA, -) -> UINT} -FN!{stdcall LPFNPSPCALLBACKW( - hwnd: HWND, - uMsg: UINT, - ppsp: *mut PROPSHEETPAGEW, -) -> UINT} -pub const PSP_DEFAULT: DWORD = 0x00000000; -pub const PSP_DLGINDIRECT: DWORD = 0x00000001; -pub const PSP_USEHICON: DWORD = 0x00000002; -pub const PSP_USEICONID: DWORD = 0x00000004; -pub const PSP_USETITLE: DWORD = 0x00000008; -pub const PSP_RTLREADING: DWORD = 0x00000010; -pub const PSP_HASHELP: DWORD = 0x00000020; -pub const PSP_USEREFPARENT: DWORD = 0x00000040; -pub const PSP_USECALLBACK: DWORD = 0x00000080; -pub const PSP_PREMATURE: DWORD = 0x00000400; -pub const PSP_HIDEHEADER: DWORD = 0x00000800; -pub const PSP_USEHEADERTITLE: DWORD = 0x00001000; -pub const PSP_USEHEADERSUBTITLE: DWORD = 0x00002000; -pub const PSP_USEFUSIONCONTEXT: DWORD = 0x00004000; -pub const PSPCB_ADDREF: UINT = 0; -pub const PSPCB_RELEASE: UINT = 1; -pub const PSPCB_CREATE: UINT = 2; -pub type PROPSHEETPAGE_RESOURCE = LPCDLGTEMPLATEA; -UNION!{union PROPSHEETPAGEA_V1_u1 { - [usize; 1], - pszTemplate pszTemplate_mut: LPCSTR, - pResource pResource_mut: PROPSHEETPAGE_RESOURCE, -}} -UNION!{union PROPSHEETPAGEA_V1_u2 { - [usize; 1], - hIcon hIcon_mut: HICON, - pszIcon pszIcon_mut: LPCSTR, -}} -UNION!{union PROPSHEETPAGEA_V4_u3 { - [usize; 1], - hbmHeader hbmHeader_mut: HBITMAP, - pszbmHeader pszbmHeader_mut: LPCSTR, -}} -STRUCT!{struct PROPSHEETPAGEA_V4 { - dwSize: DWORD, - dwFlags: DWORD, - hInstance: HINSTANCE, - u1: PROPSHEETPAGEA_V1_u1, - u2: PROPSHEETPAGEA_V1_u2, - pszTitle: LPCSTR, - pfnDlgProc: DLGPROC, - lParam: LPARAM, - pfnCallback: LPFNPSPCALLBACKA, - pcRefParent: *mut UINT, - pszHeaderTitle: LPCSTR, - pszHeaderSubTitle: LPCSTR, - hActCtx: HANDLE, - u3: PROPSHEETPAGEA_V4_u3, -}} -pub type LPPROPSHEETPAGEA_V4 = *mut PROPSHEETPAGEA_V4; -pub type LPCPROPSHEETPAGEA_V4 = *const PROPSHEETPAGEA_V4; -UNION!{union PROPSHEETPAGEW_V1_u1 { - [usize; 1], - pszTemplate pszTemplate_mut: LPCWSTR, - pResource pResource_mut: PROPSHEETPAGE_RESOURCE, -}} -UNION!{union PROPSHEETPAGEW_V1_u2 { - [usize; 1], - hIcon hIcon_mut: HICON, - pszIcon pszIcon_mut: LPCWSTR, -}} -UNION!{union PROPSHEETPAGEW_V4_u3 { - [usize; 1], - hbmHeader hbmHeader_mut: HBITMAP, - pszbmHeader pszbmHeader_mut: LPCWSTR, -}} -STRUCT!{struct PROPSHEETPAGEW_V4 { - dwSize: DWORD, - dwFlags: DWORD, - hInstance: HINSTANCE, - u1: PROPSHEETPAGEW_V1_u1, - u2: PROPSHEETPAGEW_V1_u2, - pszTitle: LPCWSTR, - pfnDlgProc: DLGPROC, - lParam: LPARAM, - pfnCallback: LPFNPSPCALLBACKW, - pcRefParent: *mut UINT, - pszHeaderTitle: LPCWSTR, - pszHeaderSubTitle: LPCWSTR, - hActCtx: HANDLE, - u3: PROPSHEETPAGEW_V4_u3, -}} -pub type LPPROPSHEETPAGEW_V4 = *mut PROPSHEETPAGEW_V4; -pub type LPCPROPSHEETPAGEW_V4 = *const PROPSHEETPAGEW_V4; -pub type PROPSHEETPAGEA_LATEST = PROPSHEETPAGEA_V4; -pub type PROPSHEETPAGEW_LATEST = PROPSHEETPAGEW_V4; -pub type LPPROPSHEETPAGEA_LATEST = LPPROPSHEETPAGEA_V4; -pub type LPPROPSHEETPAGEW_LATEST = LPPROPSHEETPAGEW_V4; -pub type LPCPROPSHEETPAGEA_LATEST = LPCPROPSHEETPAGEA_V4; -pub type LPCPROPSHEETPAGEW_LATEST = LPCPROPSHEETPAGEW_V4; -pub type PROPSHEETPAGEA = PROPSHEETPAGEA_V4; -pub type PROPSHEETPAGEW = PROPSHEETPAGEW_V4; -pub type LPPROPSHEETPAGEA = LPPROPSHEETPAGEA_V4; -pub type LPPROPSHEETPAGEW = LPPROPSHEETPAGEW_V4; -pub type LPCPROPSHEETPAGEA = LPCPROPSHEETPAGEA_V4; -pub type LPCPROPSHEETPAGEW = LPCPROPSHEETPAGEW_V4; -pub const PSH_DEFAULT: DWORD = 0x00000000; -pub const PSH_PROPTITLE: DWORD = 0x00000001; -pub const PSH_USEHICON: DWORD = 0x00000002; -pub const PSH_USEICONID: DWORD = 0x00000004; -pub const PSH_PROPSHEETPAGE: DWORD = 0x00000008; -pub const PSH_WIZARDHASFINISH: DWORD = 0x00000010; -pub const PSH_WIZARD: DWORD = 0x00000020; -pub const PSH_USEPSTARTPAGE: DWORD = 0x00000040; -pub const PSH_NOAPPLYNOW: DWORD = 0x00000080; -pub const PSH_USECALLBACK: DWORD = 0x00000100; -pub const PSH_HASHELP: DWORD = 0x00000200; -pub const PSH_MODELESS: DWORD = 0x00000400; -pub const PSH_RTLREADING: DWORD = 0x00000800; -pub const PSH_WIZARDCONTEXTHELP: DWORD = 0x00001000; -pub const PSH_WIZARD97: DWORD = 0x01000000; -pub const PSH_WATERMARK: DWORD = 0x00008000; -pub const PSH_USEHBMWATERMARK: DWORD = 0x00010000; -pub const PSH_USEHPLWATERMARK: DWORD = 0x00020000; -pub const PSH_STRETCHWATERMARK: DWORD = 0x00040000; -pub const PSH_HEADER: DWORD = 0x00080000; -pub const PSH_USEHBMHEADER: DWORD = 0x00100000; -pub const PSH_USEPAGELANG: DWORD = 0x00200000; -pub const PSH_WIZARD_LITE: DWORD = 0x00400000; -pub const PSH_NOCONTEXTHELP: DWORD = 0x02000000; -pub const PSH_AEROWIZARD: DWORD = 0x00004000; -pub const PSH_RESIZABLE: DWORD = 0x04000000; -pub const PSH_HEADERBITMAP: DWORD = 0x08000000; -pub const PSH_NOMARGIN: DWORD = 0x10000000; -FN!{stdcall PFNPROPSHEETCALLBACK( - HWND, - UINT, - LPARAM, -) -> c_int} -UNION!{union PROPSHEETHEADERA_V1_u1 { - [usize; 1], - hIcon hIcon_mut: HICON, - pszIcon pszIcon_mut: LPCSTR, -}} -UNION!{union PROPSHEETHEADERA_V1_u2 { - [usize; 1], - nStartPage nStartPage_mut: UINT, - pStartPage pStartPage_mut: LPCSTR, -}} -UNION!{union PROPSHEETHEADERA_V1_u3 { - [usize; 1], - ppsp ppsp_mut: LPCPROPSHEETPAGEA, - phpage phpage_mut: *mut HPROPSHEETPAGE, -}} -UNION!{union PROPSHEETHEADERA_V2_u4 { - [usize; 1], - hbmWatermark hbmWatermark_mut: HBITMAP, - pszbmWatermark pszbmWatermark_mut: LPCSTR, -}} -UNION!{union PROPSHEETHEADERA_V2_u5 { - [usize; 1], - hbmHeader hbmHeader_mut: HBITMAP, - pszbmHeader pszbmHeader_mut: LPCSTR, -}} -STRUCT!{struct PROPSHEETHEADERA_V2 { - dwSize: DWORD, - dwFlags: DWORD, - hwndParent: HWND, - hInstance: HINSTANCE, - u1: PROPSHEETHEADERA_V1_u1, - pszCaption: LPCSTR, - nPages: UINT, - u2: PROPSHEETHEADERA_V1_u2, - u3: PROPSHEETHEADERA_V1_u3, - pfnCallback: PFNPROPSHEETCALLBACK, - u4: PROPSHEETHEADERA_V2_u4, - hplWatermark: HPALETTE, - u5: PROPSHEETHEADERA_V2_u5, -}} -pub type LPPROPSHEETHEADERA_V2 = *mut PROPSHEETHEADERA_V2; -pub type LPCPROPSHEETHEADERA_V2 = *const PROPSHEETHEADERA_V2; -UNION!{union PROPSHEETHEADERW_V1_u1 { - [usize; 1], - hIcon hIcon_mut: HICON, - pszIcon pszIcon_mut: LPCWSTR, -}} -UNION!{union PROPSHEETHEADERW_V1_u2 { - [usize; 1], - nStartPage nStartPage_mut: UINT, - pStartPage pStartPage_mut: LPCWSTR, -}} -UNION!{union PROPSHEETHEADERW_V1_u3 { - [usize; 1], - ppsp ppsp_mut: LPCPROPSHEETPAGEW, - phpage phpage_mut: *mut HPROPSHEETPAGE, -}} -UNION!{union PROPSHEETHEADERW_V2_u4 { - [usize; 1], - hbmWatermark hbmWatermark_mut: HBITMAP, - pszbmWatermark pszbmWatermark_mut: LPCWSTR, -}} -UNION!{union PROPSHEETHEADERW_V2_u5 { - [usize; 1], - hbmHeader hbmHeader_mut: HBITMAP, - pszbmHeader pszbmHeader_mut: LPCWSTR, -}} -STRUCT!{struct PROPSHEETHEADERW_V2 { - dwSize: DWORD, - dwFlags: DWORD, - hwndParent: HWND, - hInstance: HINSTANCE, - u1: PROPSHEETHEADERW_V1_u1, - pszCaption: LPCWSTR, - nPages: UINT, - u2: PROPSHEETHEADERW_V1_u2, - u3: PROPSHEETHEADERW_V1_u3, - pfnCallback: PFNPROPSHEETCALLBACK, - u4: PROPSHEETHEADERW_V2_u4, - hplWatermark: HPALETTE, - u5: PROPSHEETHEADERW_V2_u5, -}} -pub type LPPROPSHEETHEADERW_V2 = *mut PROPSHEETHEADERW_V2; -pub type LPCPROPSHEETHEADERW_V2 = *const PROPSHEETHEADERW_V2; -pub type PROPSHEETHEADERA = PROPSHEETHEADERA_V2; -pub type PROPSHEETHEADERW = PROPSHEETHEADERW_V2; -pub type LPPROPSHEETHEADERA = LPPROPSHEETHEADERA_V2; -pub type LPPROPSHEETHEADERW = LPPROPSHEETHEADERW_V2; -pub type LPCPROPSHEETHEADERA = LPCPROPSHEETHEADERA_V2; -pub type LPCPROPSHEETHEADERW = LPCPROPSHEETHEADERW_V2; -pub const PSCB_INITIALIZED: UINT = 1; -pub const PSCB_PRECREATE: UINT = 2; -pub const PSCB_BUTTONPRESSED: UINT = 3; -extern "system" { - pub fn CreatePropertySheetPageA( - constPropSheetPagePointer: LPCPROPSHEETPAGEA, - ) -> HPROPSHEETPAGE; - pub fn CreatePropertySheetPageW( - constPropSheetPagePointer: LPCPROPSHEETPAGEW, - ) -> HPROPSHEETPAGE; - pub fn DestroyPropertySheetPage( - hPSPage: HPROPSHEETPAGE, - ) -> BOOL; - pub fn PropertySheetA( - lppsph: LPCPROPSHEETHEADERA, - ) -> INT_PTR; - pub fn PropertySheetW( - lppsph: LPCPROPSHEETHEADERW, - ) -> INT_PTR; -} -FN!{stdcall LPFNADDPROPSHEETPAGE( - HPROPSHEETPAGE, - LPARAM, -) -> BOOL} -FN!{stdcall LPFNADDPROPSHEETPAGES( - LPVOID, - LPFNADDPROPSHEETPAGE, - LPARAM, -) -> BOOL} -STRUCT!{struct PSHNOTIFY { - hdr: NMHDR, - lParam: LPARAM, -}} -pub type LPPSHNOTIFY = *mut PSHNOTIFY; -pub const PSN_FIRST: UINT = -200i32 as u32; -pub const PSN_LAST: UINT = -299i32 as u32; -pub const PSN_SETACTIVE: UINT = PSN_FIRST - 0; -pub const PSN_KILLACTIVE: UINT = PSN_FIRST - 1; -pub const PSN_APPLY: UINT = PSN_FIRST - 2; -pub const PSN_RESET: UINT = PSN_FIRST - 3; -pub const PSN_HELP: UINT = PSN_FIRST - 5; -pub const PSN_WIZBACK: UINT = PSN_FIRST - 6; -pub const PSN_WIZNEXT: UINT = PSN_FIRST - 7; -pub const PSN_WIZFINISH: UINT = PSN_FIRST - 8; -pub const PSN_QUERYCANCEL: UINT = PSN_FIRST - 9; -pub const PSN_GETOBJECT: UINT = PSN_FIRST - 10; -pub const PSN_TRANSLATEACCELERATOR: UINT = PSN_FIRST - 12; -pub const PSN_QUERYINITIALFOCUS: UINT = PSN_FIRST - 13; -pub const PSNRET_NOERROR: LRESULT = 0; -pub const PSNRET_INVALID: LRESULT = 1; -pub const PSNRET_INVALID_NOCHANGEPAGE: LRESULT = 2; -pub const PSNRET_MESSAGEHANDLED: LRESULT = 3; -pub const PSM_SETCURSEL: UINT = WM_USER + 101; -pub const PSM_REMOVEPAGE: UINT = WM_USER + 102; -pub const PSM_ADDPAGE: UINT = WM_USER + 103; -pub const PSM_CHANGED: UINT = WM_USER + 104; -pub const PSM_RESTARTWINDOWS: UINT = WM_USER + 105; -pub const PSM_REBOOTSYSTEM: UINT = WM_USER + 106; -pub const PSM_CANCELTOCLOSE: UINT = WM_USER + 107; -pub const PSM_QUERYSIBLINGS: UINT = WM_USER + 108; -pub const PSM_UNCHANGED: UINT = WM_USER + 109; -pub const PSM_APPLY: UINT = WM_USER + 110; -pub const PSM_SETTITLEA: UINT = WM_USER + 111; -pub const PSM_SETTITLEW: UINT = WM_USER + 120; -pub const PSM_SETWIZBUTTONS: UINT = WM_USER + 112; -pub const PSWIZB_BACK: DWORD = 0x00000001; -pub const PSWIZB_NEXT: DWORD = 0x00000002; -pub const PSWIZB_FINISH: DWORD = 0x00000004; -pub const PSWIZB_DISABLEDFINISH: DWORD = 0x00000008; -pub const PSWIZBF_ELEVATIONREQUIRED: WPARAM = 0x00000001; -pub const PSWIZB_CANCEL: DWORD = 0x00000010; -pub const PSM_PRESSBUTTON: UINT = WM_USER + 113; -pub const PSBTN_BACK: c_int = 0; -pub const PSBTN_NEXT: c_int = 1; -pub const PSBTN_FINISH: c_int = 2; -pub const PSBTN_OK: c_int = 3; -pub const PSBTN_APPLYNOW: c_int = 4; -pub const PSBTN_CANCEL: c_int = 5; -pub const PSBTN_HELP: c_int = 6; -pub const PSBTN_MAX: c_int = 6; -pub const PSM_SETCURSELID: UINT = WM_USER + 114; -pub const PSM_SETFINISHTEXTA: UINT = WM_USER + 115; -pub const PSM_SETFINISHTEXTW: UINT = WM_USER + 121; -pub const PSM_GETTABCONTROL: UINT = WM_USER + 116; -pub const PSM_ISDIALOGMESSAGE: UINT = WM_USER + 117; -pub const PSM_GETCURRENTPAGEHWND: UINT = WM_USER + 118; -pub const PSM_INSERTPAGE: UINT = WM_USER + 119; -pub const PSM_SETHEADERTITLEA: UINT = WM_USER + 125; -pub const PSM_SETHEADERTITLEW: UINT = WM_USER + 126; -pub const PSWIZF_SETCOLOR: UINT = -1i32 as u32; -pub const PSM_SETHEADERSUBTITLEA: UINT = WM_USER + 127; -pub const PSM_SETHEADERSUBTITLEW: UINT = WM_USER + 128; -pub const PSM_HWNDTOINDEX: UINT = WM_USER + 129; -pub const PSM_INDEXTOHWND: UINT = WM_USER + 130; -pub const PSM_PAGETOINDEX: UINT = WM_USER + 131; -pub const PSM_INDEXTOPAGE: UINT = WM_USER + 132; -pub const PSM_IDTOINDEX: UINT = WM_USER + 133; -pub const PSM_INDEXTOID: UINT = WM_USER + 134; -pub const PSM_GETRESULT: UINT = WM_USER + 135; -pub const PSM_RECALCPAGESIZES: UINT = WM_USER + 136; -pub const PSM_SETNEXTTEXTW: UINT = WM_USER + 137; -pub const PSM_SHOWWIZBUTTONS: UINT = WM_USER + 138; -pub const PSM_ENABLEWIZBUTTONS: UINT = WM_USER + 139; -pub const PSM_SETBUTTONTEXTW: UINT = WM_USER + 140; -pub const PSM_SETBUTTONTEXT: UINT = PSM_SETBUTTONTEXTW; -pub const ID_PSRESTARTWINDOWS: INT_PTR = 0x2; -pub const ID_PSREBOOTSYSTEM: INT_PTR = ID_PSRESTARTWINDOWS | 0x1; -pub const WIZ_CXDLG: DWORD = 276; -pub const WIZ_CYDLG: DWORD = 140; -pub const WIZ_CXBMP: DWORD = 80; -pub const WIZ_BODYX: DWORD = 92; -pub const WIZ_BODYCX: DWORD = 184; -pub const PROP_SM_CXDLG: c_short = 212; -pub const PROP_SM_CYDLG: c_short = 188; -pub const PROP_MED_CXDLG: c_short = 227; -pub const PROP_MED_CYDLG: c_short = 215; -pub const PROP_LG_CXDLG: c_short = 252; -pub const PROP_LG_CYDLG: c_short = 218; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/psapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/psapi.rs deleted file mode 100644 index eb1adb803..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/psapi.rs +++ /dev/null @@ -1,422 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! FFI bindings to psapi. -use shared::basetsd::{SIZE_T, ULONG_PTR}; -use shared::minwindef::{BOOL, DWORD, HMODULE, LPDWORD, LPVOID, PDWORD}; -use um::winnt::{HANDLE, LPCSTR, LPCWSTR, LPSTR, LPWSTR, PVOID}; -pub const LIST_MODULES_DEFAULT: DWORD = 0x0; -pub const LIST_MODULES_32BIT: DWORD = 0x01; -pub const LIST_MODULES_64BIT: DWORD = 0x02; -pub const LIST_MODULES_ALL: DWORD = LIST_MODULES_32BIT | LIST_MODULES_64BIT; -extern "system" { - pub fn K32EnumProcesses( - lpidProcess: *mut DWORD, - cb: DWORD, - lpcbNeeded: LPDWORD, - ) -> BOOL; - pub fn K32EnumProcessModules( - hProcess: HANDLE, - lphModule: *mut HMODULE, - cb: DWORD, - lpcbNeeded: LPDWORD, - ) -> BOOL; - pub fn K32EnumProcessModulesEx( - hProcess: HANDLE, - lphModule: *mut HMODULE, - cb: DWORD, - lpcbNeeded: LPDWORD, - dwFilterFlag: DWORD, - ) -> BOOL; - pub fn K32GetModuleBaseNameA( - hProcess: HANDLE, - hModule: HMODULE, - lpBaseName: LPSTR, - nSize: DWORD, - ) -> DWORD; - pub fn K32GetModuleBaseNameW( - hProcess: HANDLE, - hModule: HMODULE, - lpBaseName: LPWSTR, - nSize: DWORD, - ) -> DWORD; - pub fn K32GetModuleFileNameExA( - hProcess: HANDLE, - hModule: HMODULE, - lpFilename: LPSTR, - nSize: DWORD, - ) -> DWORD; - pub fn K32GetModuleFileNameExW( - hProcess: HANDLE, - hModule: HMODULE, - lpFilename: LPWSTR, - nSize: DWORD, - ) -> DWORD; - pub fn K32EmptyWorkingSet( - hProcess: HANDLE, - ) -> BOOL; - pub fn K32QueryWorkingSet( - hProcess: HANDLE, - pv: PVOID, - cb: DWORD, - ) -> BOOL; - pub fn K32QueryWorkingSetEx( - hProcess: HANDLE, - pv: PVOID, - cb: DWORD, - ) -> BOOL; - pub fn K32InitializeProcessForWsWatch( - hProcess: HANDLE, - ) -> BOOL; - pub fn K32GetWsChanges( - hProcess: HANDLE, - lpWatchInfo: PPSAPI_WS_WATCH_INFORMATION, - cb: DWORD, - ) -> BOOL; - pub fn K32GetWsChangesEx( - hProcess: HANDLE, - lpWatchInfoEx: PPSAPI_WS_WATCH_INFORMATION_EX, - cb: PDWORD, - ) -> BOOL; - pub fn K32GetMappedFileNameW( - hProcess: HANDLE, - lpv: LPVOID, - lpFilename: LPWSTR, - nSize: DWORD, - ) -> DWORD; - pub fn K32GetMappedFileNameA( - hProcess: HANDLE, - lpv: LPVOID, - lpFilename: LPSTR, - nSize: DWORD, - ) -> DWORD; - pub fn K32EnumDeviceDrivers( - lpImageBase: *mut LPVOID, - cb: DWORD, - lpcbNeeded: LPDWORD, - ) -> BOOL; - pub fn K32GetDeviceDriverBaseNameA( - ImageBase: LPVOID, - lpFilename: LPSTR, - nSize: DWORD, - ) -> DWORD; - pub fn K32GetDeviceDriverBaseNameW( - ImageBase: LPVOID, - lpFilename: LPWSTR, - nSize: DWORD, - ) -> DWORD; - pub fn K32GetDeviceDriverFileNameA( - ImageBase: LPVOID, - lpFilename: LPSTR, - nSize: DWORD, - ) -> DWORD; - pub fn K32GetDeviceDriverFileNameW( - ImageBase: LPVOID, - lpFilename: LPWSTR, - nSize: DWORD, - ) -> DWORD; - pub fn K32GetPerformanceInfo( - pPerformanceInformation: PPERFORMANCE_INFORMATION, - cb: DWORD, - ) -> BOOL; - pub fn K32EnumPageFilesW( - pCallBackRoutine: PENUM_PAGE_FILE_CALLBACKW, - pContext: LPVOID, - ) -> BOOL; - pub fn K32EnumPageFilesA( - pCallBackRoutine: PENUM_PAGE_FILE_CALLBACKA, - pContext: LPVOID, - ) -> BOOL; - pub fn K32GetProcessImageFileNameA( - hProcess: HANDLE, - lpImageFileName: LPSTR, - nSize: DWORD, - ) -> DWORD; - pub fn K32GetProcessImageFileNameW( - hProcess: HANDLE, - lpImageFileName: LPWSTR, - nSize: DWORD, - ) -> DWORD; - pub fn EnumProcesses( - lpidProcess: *mut DWORD, - cb: DWORD, - lpcbNeeded: LPDWORD, - ) -> BOOL; - pub fn K32GetProcessMemoryInfo( - Process: HANDLE, - ppsmemCounters: PPROCESS_MEMORY_COUNTERS, - cb: DWORD, - ) -> BOOL; - pub fn K32GetModuleInformation( - hProcess: HANDLE, - hModule: HMODULE, - lpmodinfo: LPMODULEINFO, - cb: DWORD, - ) -> BOOL; -} -pub type LPMODULEINFO = *mut MODULEINFO; -pub type PPSAPI_WORKING_SET_INFORMATION = *mut PSAPI_WORKING_SET_INFORMATION; -pub type PPSAPI_WORKING_SET_EX_INFORMATION = *mut PSAPI_WORKING_SET_EX_INFORMATION; -pub type PPSAPI_WS_WATCH_INFORMATION = *mut PSAPI_WS_WATCH_INFORMATION; -pub type PPSAPI_WS_WATCH_INFORMATION_EX = *mut PSAPI_WS_WATCH_INFORMATION_EX; -pub type PENUM_PAGE_FILE_INFORMATION = *mut ENUM_PAGE_FILE_INFORMATION; -pub type PPERFORMANCE_INFORMATION = *mut PERFORMANCE_INFORMATION; -pub type PPROCESS_MEMORY_COUNTERS = *mut PROCESS_MEMORY_COUNTERS; -pub type PPROCESS_MEMORY_COUNTERS_EX = *mut PROCESS_MEMORY_COUNTERS_EX; -FN!{stdcall PENUM_PAGE_FILE_CALLBACKA( - pContext: LPVOID, - pPageFileInfo: PENUM_PAGE_FILE_INFORMATION, - lpFilename: LPCSTR, -) -> BOOL} -FN!{stdcall PENUM_PAGE_FILE_CALLBACKW( - pContext: LPVOID, - pPageFileInfo: PENUM_PAGE_FILE_INFORMATION, - lpFilename: LPCWSTR, -) -> BOOL} -STRUCT!{struct MODULEINFO { - lpBaseOfDll: LPVOID, - SizeOfImage: DWORD, - EntryPoint: LPVOID, -}} -STRUCT!{struct ENUM_PAGE_FILE_INFORMATION { - cb: DWORD, - Reserved: DWORD, - TotalSize: SIZE_T, - TotalInUse: SIZE_T, - PeakUsage: SIZE_T, -}} -STRUCT!{struct PERFORMANCE_INFORMATION { - cb: DWORD, - CommitTotal: SIZE_T, - CommitLimit: SIZE_T, - CommitPeak: SIZE_T, - PhysicalTotal: SIZE_T, - PhysicalAvailable: SIZE_T, - SystemCache: SIZE_T, - KernelTotal: SIZE_T, - KernelPaged: SIZE_T, - KernelNonpaged: SIZE_T, - PageSize: SIZE_T, - HandleCount: DWORD, - ProcessCount: DWORD, - ThreadCount: DWORD, -}} -STRUCT!{struct PROCESS_MEMORY_COUNTERS { - cb: DWORD, - PageFaultCount: DWORD, - PeakWorkingSetSize: SIZE_T, - WorkingSetSize: SIZE_T, - QuotaPeakPagedPoolUsage: SIZE_T, - QuotaPagedPoolUsage: SIZE_T, - QuotaPeakNonPagedPoolUsage: SIZE_T, - QuotaNonPagedPoolUsage: SIZE_T, - PagefileUsage: SIZE_T, - PeakPagefileUsage: SIZE_T, -}} -STRUCT!{struct PROCESS_MEMORY_COUNTERS_EX { - cb: DWORD, - PageFaultCount: DWORD, - PeakWorkingSetSize: SIZE_T, - WorkingSetSize: SIZE_T, - QuotaPeakPagedPoolUsage: SIZE_T, - QuotaPagedPoolUsage: SIZE_T, - QuotaPeakNonPagedPoolUsage: SIZE_T, - QuotaNonPagedPoolUsage: SIZE_T, - PagefileUsage: SIZE_T, - PeakPagefileUsage: SIZE_T, - PrivateUsage: SIZE_T, -}} -STRUCT!{struct PSAPI_WORKING_SET_BLOCK { - Flags: ULONG_PTR, -}} -BITFIELD!{PSAPI_WORKING_SET_BLOCK Flags: ULONG_PTR [ - Protection set_Protection[0..5], - ShareCount set_ShareCount[5..8], - Shared set_Shared[8..9], - Reserved set_Reserved[9..12], - VirtualPage set_VirtualPage[12..32], -]} -pub type PPSAPI_WORKING_SET_BLOCK = *mut PSAPI_WORKING_SET_BLOCK; -STRUCT!{struct PSAPI_WORKING_SET_EX_BLOCK { - Flags: ULONG_PTR, -}} -#[cfg(not(target_arch="x86_64"))] -BITFIELD!{PSAPI_WORKING_SET_EX_BLOCK Flags: ULONG_PTR [ - Valid set_Valid[0..1], - ShareCount set_ShareCount[1..4], - Win32Protection set_Win32Protection[4..15], - Shared set_Shared[15..16], - Node set_Node[16..22], - Locked set_Locked[22..23], - LargePage set_LargePage[23..24], - Reserved set_Reserved[24..31], - Bad set_Bad[31..32], -]} -#[cfg(target_arch="x86_64")] -BITFIELD!{PSAPI_WORKING_SET_EX_BLOCK Flags: ULONG_PTR [ - Valid set_Valid[0..1], - ShareCount set_ShareCount[1..4], - Win32Protection set_Win32Protection[4..15], - Shared set_Shared[15..16], - Node set_Node[16..22], - Locked set_Locked[22..23], - LargePage set_LargePage[23..24], - Reserved set_Reserved[24..31], - Bad set_Bad[31..32], - ReservedUlong set_ReservedULong[32..64], -]} -pub type PPSAPI_WORKING_SET_EX_BLOCK = *mut PSAPI_WORKING_SET_EX_BLOCK; -STRUCT!{struct PSAPI_WORKING_SET_INFORMATION { - NumberOfEntries: ULONG_PTR, - WorkingSetInfo: [PSAPI_WORKING_SET_BLOCK; 1], -}} -STRUCT!{struct PSAPI_WORKING_SET_EX_INFORMATION { - VirtualAddress: PVOID, - VirtualAttributes: PSAPI_WORKING_SET_EX_BLOCK, -}} -STRUCT!{struct PSAPI_WS_WATCH_INFORMATION { - FaultingPc: LPVOID, - FaultingVa: LPVOID, -}} -STRUCT!{struct PSAPI_WS_WATCH_INFORMATION_EX { - BasicInfo: PSAPI_WS_WATCH_INFORMATION, - FaultingThreadId: ULONG_PTR, - Flags: ULONG_PTR, -}} -extern "system" { - pub fn EmptyWorkingSet( - hProcess: HANDLE, - ) -> BOOL; - pub fn EnumDeviceDrivers( - lpImageBase: *mut LPVOID, - cb: DWORD, - lpcbNeeded: LPDWORD, - ) -> BOOL; - pub fn EnumPageFilesA( - pCallBackRoutine: PENUM_PAGE_FILE_CALLBACKA, - pContext: LPVOID, - ) -> BOOL; - pub fn EnumPageFilesW( - pCallBackRoutine: PENUM_PAGE_FILE_CALLBACKW, - pContext: LPVOID, - ) -> BOOL; - pub fn EnumProcessModules( - hProcess: HANDLE, - lphModule: *mut HMODULE, - cb: DWORD, - lpcbNeeded: LPDWORD, - ) -> BOOL; - pub fn EnumProcessModulesEx( - hProcess: HANDLE, - lphModule: *mut HMODULE, - cb: DWORD, - lpcbNeeded: LPDWORD, - dwFilterFlag: DWORD, - ) -> BOOL; - pub fn GetDeviceDriverBaseNameA( - ImageBase: LPVOID, - lpFilename: LPSTR, - nSize: DWORD, - ) -> DWORD; - pub fn GetDeviceDriverBaseNameW( - ImageBase: LPVOID, - lpFilename: LPWSTR, - nSize: DWORD, - ) -> DWORD; - pub fn GetDeviceDriverFileNameA( - ImageBase: LPVOID, - lpFilename: LPSTR, - nSize: DWORD, - ) -> DWORD; - pub fn GetDeviceDriverFileNameW( - ImageBase: LPVOID, - lpFilename: LPWSTR, - nSize: DWORD, - ) -> DWORD; - pub fn GetMappedFileNameA( - hProcess: HANDLE, - lpv: LPVOID, - lpFilename: LPSTR, - nSize: DWORD, - ) -> DWORD; - pub fn GetMappedFileNameW( - hProcess: HANDLE, - lpv: LPVOID, - lpFilename: LPWSTR, - nSize: DWORD, - ) -> DWORD; - pub fn GetModuleBaseNameA( - hProcess: HANDLE, - hModule: HMODULE, - lpBaseName: LPSTR, - nSize: DWORD, - ) -> DWORD; - pub fn GetModuleBaseNameW( - hProcess: HANDLE, - hModule: HMODULE, - lpBaseName: LPWSTR, - nSize: DWORD, - ) -> DWORD; - pub fn GetModuleFileNameExA( - hProcess: HANDLE, - hModule: HMODULE, - lpFilename: LPSTR, - nSize: DWORD, - ) -> DWORD; - pub fn GetModuleFileNameExW( - hProcess: HANDLE, - hModule: HMODULE, - lpFilename: LPWSTR, - nSize: DWORD, - ) -> DWORD; - pub fn GetModuleInformation( - hProcess: HANDLE, - hModule: HMODULE, - lpmodinfo: LPMODULEINFO, - cb: DWORD, - ) -> BOOL; - pub fn GetPerformanceInfo( - pPerformanceInformation: PPERFORMANCE_INFORMATION, - cb: DWORD, - ) -> BOOL; - pub fn GetProcessImageFileNameA( - hProcess: HANDLE, - lpImageFileName: LPSTR, - nSize: DWORD, - ) -> DWORD; - pub fn GetProcessImageFileNameW( - hProcess: HANDLE, - lpImageFileName: LPWSTR, - nSize: DWORD, - ) -> DWORD; - pub fn GetProcessMemoryInfo( - hProcess: HANDLE, - ppsmemCounters: PPROCESS_MEMORY_COUNTERS, - cb: DWORD, - ) -> BOOL; - pub fn GetWsChanges( - hProcess: HANDLE, - lpWatchInfo: PPSAPI_WS_WATCH_INFORMATION, - cb: DWORD, - ) -> BOOL; - pub fn GetWsChangesEx( - hProcess: HANDLE, - lpWatchInfoEx: PPSAPI_WS_WATCH_INFORMATION_EX, - cb: PDWORD, - ) -> BOOL; - pub fn InitializeProcessForWsWatch( - hProcess: HANDLE, - ) -> BOOL; - pub fn QueryWorkingSet( - hProcess: HANDLE, - pv: PVOID, - cb: DWORD, - ) -> BOOL; - pub fn QueryWorkingSetEx( - hProcess: HANDLE, - pv: PVOID, - cb: DWORD, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/realtimeapiset.rs b/vendor/registry-40351f815f426200/winapi/src/um/realtimeapiset.rs deleted file mode 100644 index 5f63dbe19..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/realtimeapiset.rs +++ /dev/null @@ -1,30 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::PULONG64; -use shared::minwindef::{BOOL, PULONG, USHORT}; -use um::winnt::{HANDLE, PULONGLONG}; -extern "system" { - pub fn QueryThreadCycleTime( - ThreadHandle: HANDLE, - CycleTime: PULONG64, - ) -> BOOL; - pub fn QueryProcessCycleTime( - ProcessHandle: HANDLE, - CycleTime: PULONG64, - ) -> BOOL; - pub fn QueryIdleProcessorCycleTime( - BufferLength: PULONG, - ProcessorIdleCycleTime: PULONG64, - ) -> BOOL; - pub fn QueryIdleProcessorCycleTimeEx( - Group: USHORT, - BufferLength: PULONG, - ProcessorIdleCycleTime: PULONG64, - ) -> BOOL; - pub fn QueryUnbiasedInterruptTime( - UnbiasedTime: PULONGLONG, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/reason.rs b/vendor/registry-40351f815f426200/winapi/src/um/reason.rs deleted file mode 100644 index 609c295a5..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/reason.rs +++ /dev/null @@ -1,60 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::DWORD; -pub const SHTDN_REASON_FLAG_COMMENT_REQUIRED: DWORD = 0x01000000; -pub const SHTDN_REASON_FLAG_DIRTY_PROBLEM_ID_REQUIRED: DWORD = 0x02000000; -pub const SHTDN_REASON_FLAG_CLEAN_UI: DWORD = 0x04000000; -pub const SHTDN_REASON_FLAG_DIRTY_UI: DWORD = 0x08000000; -pub const SHTDN_REASON_FLAG_USER_DEFINED: DWORD = 0x40000000; -pub const SHTDN_REASON_FLAG_PLANNED: DWORD = 0x80000000; -pub const SHTDN_REASON_MAJOR_OTHER: DWORD = 0x00000000; -pub const SHTDN_REASON_MAJOR_NONE: DWORD = 0x00000000; -pub const SHTDN_REASON_MAJOR_HARDWARE: DWORD = 0x00010000; -pub const SHTDN_REASON_MAJOR_OPERATINGSYSTEM: DWORD = 0x00020000; -pub const SHTDN_REASON_MAJOR_SOFTWARE: DWORD = 0x00030000; -pub const SHTDN_REASON_MAJOR_APPLICATION: DWORD = 0x00040000; -pub const SHTDN_REASON_MAJOR_SYSTEM: DWORD = 0x00050000; -pub const SHTDN_REASON_MAJOR_POWER: DWORD = 0x00060000; -pub const SHTDN_REASON_MAJOR_LEGACY_API: DWORD = 0x00070000; -pub const SHTDN_REASON_MINOR_OTHER: DWORD = 0x00000000; -pub const SHTDN_REASON_MINOR_NONE: DWORD = 0x000000ff; -pub const SHTDN_REASON_MINOR_MAINTENANCE: DWORD = 0x00000001; -pub const SHTDN_REASON_MINOR_INSTALLATION: DWORD = 0x00000002; -pub const SHTDN_REASON_MINOR_UPGRADE: DWORD = 0x00000003; -pub const SHTDN_REASON_MINOR_RECONFIG: DWORD = 0x00000004; -pub const SHTDN_REASON_MINOR_HUNG: DWORD = 0x00000005; -pub const SHTDN_REASON_MINOR_UNSTABLE: DWORD = 0x00000006; -pub const SHTDN_REASON_MINOR_DISK: DWORD = 0x00000007; -pub const SHTDN_REASON_MINOR_PROCESSOR: DWORD = 0x00000008; -pub const SHTDN_REASON_MINOR_NETWORKCARD: DWORD = 0x00000009; -pub const SHTDN_REASON_MINOR_POWER_SUPPLY: DWORD = 0x0000000a; -pub const SHTDN_REASON_MINOR_CORDUNPLUGGED: DWORD = 0x0000000b; -pub const SHTDN_REASON_MINOR_ENVIRONMENT: DWORD = 0x0000000c; -pub const SHTDN_REASON_MINOR_HARDWARE_DRIVER: DWORD = 0x0000000d; -pub const SHTDN_REASON_MINOR_OTHERDRIVER: DWORD = 0x0000000e; -pub const SHTDN_REASON_MINOR_BLUESCREEN: DWORD = 0x0000000F; -pub const SHTDN_REASON_MINOR_SERVICEPACK: DWORD = 0x00000010; -pub const SHTDN_REASON_MINOR_HOTFIX: DWORD = 0x00000011; -pub const SHTDN_REASON_MINOR_SECURITYFIX: DWORD = 0x00000012; -pub const SHTDN_REASON_MINOR_SECURITY: DWORD = 0x00000013; -pub const SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY: DWORD = 0x00000014; -pub const SHTDN_REASON_MINOR_WMI: DWORD = 0x00000015; -pub const SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL: DWORD = 0x00000016; -pub const SHTDN_REASON_MINOR_HOTFIX_UNINSTALL: DWORD = 0x00000017; -pub const SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL: DWORD = 0x00000018; -pub const SHTDN_REASON_MINOR_MMC: DWORD = 0x00000019; -pub const SHTDN_REASON_MINOR_SYSTEMRESTORE: DWORD = 0x0000001a; -pub const SHTDN_REASON_MINOR_TERMSRV: DWORD = 0x00000020; -pub const SHTDN_REASON_MINOR_DC_PROMOTION: DWORD = 0x00000021; -pub const SHTDN_REASON_MINOR_DC_DEMOTION: DWORD = 0x00000022; -pub const SHTDN_REASON_UNKNOWN: DWORD = SHTDN_REASON_MINOR_NONE; -pub const SHTDN_REASON_LEGACY_API: DWORD = SHTDN_REASON_MAJOR_LEGACY_API - | SHTDN_REASON_FLAG_PLANNED; -pub const SHTDN_REASON_VALID_BIT_MASK: DWORD = 0xc0ffffff; -pub const PCLEANUI: DWORD = SHTDN_REASON_FLAG_PLANNED | SHTDN_REASON_FLAG_CLEAN_UI; -pub const UCLEANUI: DWORD = SHTDN_REASON_FLAG_CLEAN_UI; -pub const PDIRTYUI: DWORD = SHTDN_REASON_FLAG_PLANNED | SHTDN_REASON_FLAG_DIRTY_UI; -pub const UDIRTYUI: DWORD = SHTDN_REASON_FLAG_DIRTY_UI; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/restartmanager.rs b/vendor/registry-40351f815f426200/winapi/src/um/restartmanager.rs deleted file mode 100644 index 3f4af64f5..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/restartmanager.rs +++ /dev/null @@ -1,150 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! RestartManager include file -use shared::minwindef::{BOOL, DWORD, FILETIME, LPDWORD, PBYTE, UINT, ULONG}; -use um::winnt::{LPCWSTR, LPWSTR, WCHAR}; -pub const RM_SESSION_KEY_LEN: usize = 16; // mem::size_of::() -pub const CCH_RM_SESSION_KEY: usize = RM_SESSION_KEY_LEN * 2; -pub const CCH_RM_MAX_APP_NAME: usize = 255; -pub const CCH_RM_MAX_SVC_NAME: usize = 63; -pub const RM_INVALID_TS_SESSION: DWORD = -1i32 as u32; -pub const RM_INVALID_PROCESS: DWORD = -1i32 as u32; -ENUM!{enum RM_APP_TYPE { - RmUnknownApp = 0, - RmMainWindow = 1, - RmOtherWindow = 2, - RmService = 3, - RmExplorer = 4, - RmConsole = 5, - RmCritical = 1000, -}} -ENUM!{enum RM_SHUTDOWN_TYPE { - RmForceShutdown = 0x1, - RmShutdownOnlyRegistered = 0x10, -}} -ENUM!{enum RM_APP_STATUS { - RmStatusUnknown = 0x0, - RmStatusRunning = 0x1, - RmStatusStopped = 0x2, - RmStatusStoppedOther = 0x4, - RmStatusRestarted = 0x8, - RmStatusErrorOnStop = 0x10, - RmStatusErrorOnRestart = 0x20, - RmStatusShutdownMasked = 0x40, - RmStatusRestartMasked = 0x80, -}} -ENUM!{enum RM_REBOOT_REASON { - RmRebootReasonNone = 0x0, - RmRebootReasonPermissionDenied = 0x1, - RmRebootReasonSessionMismatch = 0x2, - RmRebootReasonCriticalProcess = 0x4, - RmRebootReasonCriticalService = 0x8, - RmRebootReasonDetectedSelf = 0x10, -}} -STRUCT!{struct RM_UNIQUE_PROCESS { - dwProcessId: DWORD, - ProcessStartTime: FILETIME, -}} -pub type PRM_UNIQUE_PROCESS = *mut RM_UNIQUE_PROCESS; -STRUCT!{struct RM_PROCESS_INFO { - Process: RM_UNIQUE_PROCESS, - strAppName: [WCHAR; CCH_RM_MAX_APP_NAME + 1], - strServiceShortName: [WCHAR; CCH_RM_MAX_SVC_NAME + 1], - ApplicationType: RM_APP_TYPE, - AppStatus: ULONG, - TSSessionId: DWORD, - bRestartable: BOOL, -}} -pub type PRM_PROCESS_INFO = *mut RM_PROCESS_INFO; -ENUM!{enum RM_FILTER_TRIGGER { - RmFilterTriggerInvalid = 0, - RmFilterTriggerFile, - RmFilterTriggerProcess, - RmFilterTriggerService, -}} -ENUM!{enum RM_FILTER_ACTION { - RmInvalidFilterAction = 0, - RmNoRestart = 1, - RmNoShutdown = 2, -}} -UNION!{union RM_FILTER_INFO_u { - [u32; 3] [u64; 2], - strFilename strFilename_mut: LPWSTR, - Process Process_mut: RM_UNIQUE_PROCESS, - strServiceShortName strServiceShortName_mut: LPWSTR, -}} -STRUCT!{struct RM_FILTER_INFO { - FilterAction: RM_FILTER_ACTION, - FilterTrigger: RM_FILTER_TRIGGER, - cbNextOffset: DWORD, - u: RM_FILTER_INFO_u, -}} -pub type PRM_FILTER_INFO = *mut RM_FILTER_INFO; -FN!{cdecl RM_WRITE_STATUS_CALLBACK( - nPercentComplete: u32, -) -> ()} -extern "system" { - pub fn RmStartSession( - pSessionHandle: *mut DWORD, - dwSessionFlags: DWORD, - strSessionKey: *mut WCHAR, - ) -> DWORD; - pub fn RmJoinSession( - pSessionHandle: *mut DWORD, - strSessionKey: *const WCHAR, - ) -> DWORD; - pub fn RmEndSession( - dwSessionHandle: DWORD, - ) -> DWORD; - pub fn RmRegisterResources( - dwSessionHandle: DWORD, - nFiles: UINT, - rgsFileNames: *mut LPCWSTR, - nApplications: UINT, - rgApplications: *mut RM_UNIQUE_PROCESS, - nServices: UINT, - rgsServiceNames: *mut LPCWSTR, - ) -> DWORD; - pub fn RmGetList( - dwSessionHandle: DWORD, - pnProcInfoNeeded: *mut UINT, - pnProcInfo: *mut UINT, - rgAffectedApps: *mut RM_PROCESS_INFO, - lpdwRebootReasons: LPDWORD, - ) -> DWORD; - pub fn RmShutdown( - dwSessionHandle: DWORD, - lActionFlags: ULONG, - fnStatus: RM_WRITE_STATUS_CALLBACK, - ) -> DWORD; - pub fn RmRestart( - dwSessionHandle: DWORD, - dwRestartFlags: DWORD, - fnStatus: RM_WRITE_STATUS_CALLBACK, - ) -> DWORD; - pub fn RmCancelCurrentTask( - dwSessionHandle: DWORD, - ) -> DWORD; - pub fn RmAddFilter( - dwSessionHandle: DWORD, - strModuleName: LPCWSTR, - pProcess: *mut RM_UNIQUE_PROCESS, - strServiceShortName: LPCWSTR, - FilterAction: RM_FILTER_ACTION, - ) -> DWORD; - pub fn RmRemoveFilter( - dwSessionHandle: DWORD, - strModuleName: LPCWSTR, - pProcess: *mut RM_UNIQUE_PROCESS, - strServiceShortName: LPCWSTR, - ) -> DWORD; - pub fn RmGetFilterList( - dwSessionHandle: DWORD, - pbFilterBuf: PBYTE, - cbFilterBuf: DWORD, - cbFilterBufNeeded: LPDWORD, - ) -> DWORD; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/restrictederrorinfo.rs b/vendor/registry-40351f815f426200/winapi/src/um/restrictederrorinfo.rs deleted file mode 100644 index 9c5db989b..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/restrictederrorinfo.rs +++ /dev/null @@ -1,20 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::wtypes::BSTR; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::HRESULT; -RIDL!{#[uuid(0x82ba7092, 0x4c88, 0x427d, 0xa7, 0xbc, 0x16, 0xdd, 0x93, 0xfe, 0xb6, 0x7e)] -interface IRestrictedErrorInfo(IRestrictedErrorInfoVtbl): IUnknown(IUnknownVtbl) { - fn GetErrorDetails( - description: *mut BSTR, - error: *mut HRESULT, - restrictedDescription: *mut BSTR, - capabilitySid: *mut BSTR, - ) -> HRESULT, - fn GetReference( - reference: *mut BSTR, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/rmxfguid.rs b/vendor/registry-40351f815f426200/winapi/src/um/rmxfguid.rs deleted file mode 100644 index 97c3814c1..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/rmxfguid.rs +++ /dev/null @@ -1,67 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{TID_D3DRMInfo, - 0x2b957100, 0x9e9a, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33} -DEFINE_GUID!{TID_D3DRMMesh, - 0x3d82ab44, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33} -DEFINE_GUID!{TID_D3DRMVector, - 0x3d82ab5e, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33} -DEFINE_GUID!{TID_D3DRMMeshFace, - 0x3d82ab5f, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33} -DEFINE_GUID!{TID_D3DRMMaterial, - 0x3d82ab4d, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33} -DEFINE_GUID!{TID_D3DRMMaterialArray, - 0x35ff44e1, 0x6c7c, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMFrame, - 0x3d82ab46, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33} -DEFINE_GUID!{TID_D3DRMFrameTransformMatrix, - 0xf6f23f41, 0x7686, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMMeshMaterialList, - 0xf6f23f42, 0x7686, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMMeshTextureCoords, - 0xf6f23f40, 0x7686, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMMeshNormals, - 0xf6f23f43, 0x7686, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMCoords2d, - 0xf6f23f44, 0x7686, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMMatrix4x4, - 0xf6f23f45, 0x7686, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMAnimation, - 0x3d82ab4f, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33} -DEFINE_GUID!{TID_D3DRMAnimationSet, - 0x3d82ab50, 0x62da, 0x11cf, 0xab, 0x39, 0x00, 0x20, 0xaf, 0x71, 0xe4, 0x33} -DEFINE_GUID!{TID_D3DRMAnimationKey, - 0x10dd46a8, 0x775b, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMFloatKeys, - 0x10dd46a9, 0x775b, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMMaterialAmbientColor, - 0x01411840, 0x7786, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMMaterialDiffuseColor, - 0x01411841, 0x7786, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMMaterialSpecularColor, - 0x01411842, 0x7786, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMMaterialEmissiveColor, - 0xd3e16e80, 0x7835, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMMaterialPower, - 0x01411843, 0x7786, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMColorRGBA, - 0x35ff44e0, 0x6c7c, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMColorRGB, - 0xd3e16e81, 0x7835, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMGuid, - 0xa42790e0, 0x7810, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMTextureFilename, - 0xa42790e1, 0x7810, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMTextureReference, - 0xa42790e2, 0x7810, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMIndexedColor, - 0x1630b820, 0x7842, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMMeshVertexColors, - 0x1630b821, 0x7842, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMMaterialWrap, - 0x4885ae60, 0x78e8, 0x11cf, 0x8f, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xa3} -DEFINE_GUID!{TID_D3DRMBoolean, - 0x537da6a0, 0xca37, 0x11d0, 0x94, 0x1c, 0x00, 0x80, 0xc8, 0x0c, 0xfa, 0x7b} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/sapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/sapi.rs deleted file mode 100644 index 2a2cf375a..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/sapi.rs +++ /dev/null @@ -1,1388 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! SAPI 5.4 definitions -use shared::guiddef::GUID; -use shared::minwindef::{BYTE, ULONG, WORD}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LPWSTR, ULONGLONG}; -pub use um::sapi53::{ - SPDATAKEYLOCATION, - SPDKL_DefaultLocation, - SPDKL_CurrentUser, - SPDKL_LocalMachine, - SPDKL_CurrentConfig, - SPDUI_EngineProperties, - SPDUI_AddRemoveWord, - SPDUI_UserTraining, - SPDUI_MicTraining, - SPDUI_RecoProfileProperties, - SPDUI_AudioProperties, - SPDUI_AudioVolume, - SPDUI_UserEnrollment, - SPDUI_ShareData, - SPDUI_Tutorial, - SPSTREAMFORMAT, - SPSF_Default, - SPSF_NoAssignedFormat, - SPSF_Text, - SPSF_NonStandardFormat, - SPSF_ExtendedAudioFormat, - SPSF_8kHz8BitMono, - SPSF_8kHz8BitStereo, - SPSF_8kHz16BitMono, - SPSF_8kHz16BitStereo, - SPSF_11kHz8BitMono, - SPSF_11kHz8BitStereo, - SPSF_11kHz16BitMono, - SPSF_11kHz16BitStereo, - SPSF_12kHz8BitMono, - SPSF_12kHz8BitStereo, - SPSF_12kHz16BitMono, - SPSF_12kHz16BitStereo, - SPSF_16kHz8BitMono, - SPSF_16kHz8BitStereo, - SPSF_16kHz16BitMono, - SPSF_16kHz16BitStereo, - SPSF_22kHz8BitMono, - SPSF_22kHz8BitStereo, - SPSF_22kHz16BitMono, - SPSF_22kHz16BitStereo, - SPSF_24kHz8BitMono, - SPSF_24kHz8BitStereo, - SPSF_24kHz16BitMono, - SPSF_24kHz16BitStereo, - SPSF_32kHz8BitMono, - SPSF_32kHz8BitStereo, - SPSF_32kHz16BitMono, - SPSF_32kHz16BitStereo, - SPSF_44kHz8BitMono, - SPSF_44kHz8BitStereo, - SPSF_44kHz16BitMono, - SPSF_44kHz16BitStereo, - SPSF_48kHz8BitMono, - SPSF_48kHz8BitStereo, - SPSF_48kHz16BitMono, - SPSF_48kHz16BitStereo, - SPSF_TrueSpeech_8kHz1BitMono, - SPSF_CCITT_ALaw_8kHzMono, - SPSF_CCITT_ALaw_8kHzStereo, - SPSF_CCITT_ALaw_11kHzMono, - SPSF_CCITT_ALaw_11kHzStereo, - SPSF_CCITT_ALaw_22kHzMono, - SPSF_CCITT_ALaw_22kHzStereo, - SPSF_CCITT_ALaw_44kHzMono, - SPSF_CCITT_ALaw_44kHzStereo, - SPSF_CCITT_uLaw_8kHzMono, - SPSF_CCITT_uLaw_8kHzStereo, - SPSF_CCITT_uLaw_11kHzMono, - SPSF_CCITT_uLaw_11kHzStereo, - SPSF_CCITT_uLaw_22kHzMono, - SPSF_CCITT_uLaw_22kHzStereo, - SPSF_CCITT_uLaw_44kHzMono, - SPSF_CCITT_uLaw_44kHzStereo, - SPSF_ADPCM_8kHzMono, - SPSF_ADPCM_8kHzStereo, - SPSF_ADPCM_11kHzMono, - SPSF_ADPCM_11kHzStereo, - SPSF_ADPCM_22kHzMono, - SPSF_ADPCM_22kHzStereo, - SPSF_ADPCM_44kHzMono, - SPSF_ADPCM_44kHzStereo, - SPSF_GSM610_8kHzMono, - SPSF_GSM610_11kHzMono, - SPSF_GSM610_22kHzMono, - SPSF_GSM610_44kHzMono, - SPSF_NUM_FORMATS, - SPDFID_Text, - SPDFID_WaveFormatEx, - SPREG_USER_ROOT, - SPREG_LOCAL_MACHINE_ROOT, - SPCAT_AUDIOOUT, - SPCAT_AUDIOIN, - SPCAT_VOICES, - SPCAT_RECOGNIZERS, - SPCAT_APPLEXICONS, - SPCAT_PHONECONVERTERS, - SPCAT_TEXTNORMALIZERS, - SPCAT_RECOPROFILES, - SPMMSYS_AUDIO_IN_TOKEN_ID, - SPMMSYS_AUDIO_OUT_TOKEN_ID, - SPCURRENT_USER_LEXICON_TOKEN_ID, - SPTOKENVALUE_CLSID, - SPTOKENKEY_FILES, - SPTOKENKEY_UI, - SPTOKENKEY_ATTRIBUTES, - SPTOKENKEY_RETAINEDAUDIO, - SPTOKENKEY_AUDIO_LATENCY_WARNING, - SPTOKENKEY_AUDIO_LATENCY_TRUNCATE, - SPTOKENKEY_AUDIO_LATENCY_UPDATE_INTERVAL, - SPVOICECATEGORY_TTSRATE, - SPPROP_RESOURCE_USAGE, - SPPROP_HIGH_CONFIDENCE_THRESHOLD, - SPPROP_NORMAL_CONFIDENCE_THRESHOLD, - SPPROP_LOW_CONFIDENCE_THRESHOLD, - SPPROP_RESPONSE_SPEED, - SPPROP_COMPLEX_RESPONSE_SPEED, - SPPROP_ADAPTATION_ON, - SPPROP_PERSISTED_BACKGROUND_ADAPTATION, - SPPROP_PERSISTED_LANGUAGE_MODEL_ADAPTATION, - SPPROP_UX_IS_LISTENING, - SPTOPIC_SPELLING, - SPWILDCARD, - SPDICTATION, - SPREG_SAFE_USER_TOKENS, - SPINFDICTATION, - SP_LOW_CONFIDENCE, - SP_NORMAL_CONFIDENCE, - SP_HIGH_CONFIDENCE, - DEFAULT_WEIGHT, - SP_MAX_WORD_LENGTH, - SP_MAX_PRON_LENGTH, - SP_EMULATE_RESULT, - ISpNotifyCallback, - SPNOTIFYCALLBACK, - ISpNotifySource, ISpNotifySourceVtbl, - ISpNotifySink, ISpNotifySinkVtbl, - ISpNotifyTranslator, ISpNotifyTranslatorVtbl, - ISpDataKey, ISpDataKeyVtbl, - ISpRegDataKey, ISpRegDataKeyVtbl, - ISpObjectTokenCategory, ISpObjectTokenCategoryVtbl, - ISpObjectToken, ISpObjectTokenVtbl, - ISpObjectTokenInit, ISpObjectTokenInitVtbl, - IEnumSpObjectTokens, IEnumSpObjectTokensVtbl, - ISpObjectWithToken, ISpObjectWithTokenVtbl, - ISpResourceManager, ISpResourceManagerVtbl, - SPEVENTLPARAMTYPE, - SPET_LPARAM_IS_UNDEFINED, - SPET_LPARAM_IS_TOKEN, - SPET_LPARAM_IS_OBJECT, - SPET_LPARAM_IS_POINTER, - SPET_LPARAM_IS_STRING, - SPEVENTENUM, - SPEI_UNDEFINED, - SPEI_START_INPUT_STREAM, - SPEI_END_INPUT_STREAM, - SPEI_VOICE_CHANGE, - SPEI_TTS_BOOKMARK, - SPEI_WORD_BOUNDARY, - SPEI_PHONEME, - SPEI_SENTENCE_BOUNDARY, - SPEI_VISEME, - SPEI_TTS_AUDIO_LEVEL, - SPEI_TTS_PRIVATE, - SPEI_MIN_TTS, - SPEI_MAX_TTS, - SPEI_END_SR_STREAM, - SPEI_SOUND_START, - SPEI_SOUND_END, - SPEI_PHRASE_START, - SPEI_RECOGNITION, - SPEI_HYPOTHESIS, - SPEI_SR_BOOKMARK, - SPEI_PROPERTY_NUM_CHANGE, - SPEI_PROPERTY_STRING_CHANGE, - SPEI_FALSE_RECOGNITION, - SPEI_INTERFERENCE, - SPEI_REQUEST_UI, - SPEI_RECO_STATE_CHANGE, - SPEI_ADAPTATION, - SPEI_START_SR_STREAM, - SPEI_RECO_OTHER_CONTEXT, - SPEI_SR_AUDIO_LEVEL, - SPEI_SR_RETAINEDAUDIO, - SPEI_SR_PRIVATE, -}; -pub const ACTIVE_CATEGORY_CHANGED: SPEVENTENUM = 53; -pub use um::sapi53::{ - SPEI_RESERVED5, - SPEI_RESERVED6, - SPEI_MIN_SR, - SPEI_MAX_SR, - SPEI_RESERVED1, - SPEI_RESERVED2, - SPEI_RESERVED3, - SPFEI_FLAGCHECK, - SPFEI_ALL_TTS_EVENTS, - SPFEI_ALL_SR_EVENTS, - SPFEI_ALL_EVENTS, - SPFEI, - SPEVENT, - SPSERIALIZEDEVENT, - SPSERIALIZEDEVENT64, - SPEVENTEX, - SPINTERFERENCE, - SPINTERFERENCE_NONE, - SPINTERFERENCE_NOISE, - SPINTERFERENCE_NOSIGNAL, - SPINTERFERENCE_TOOLOUD, - SPINTERFERENCE_TOOQUIET, - SPINTERFERENCE_TOOFAST, - SPINTERFERENCE_TOOSLOW, - SPINTERFERENCE_LATENCY_WARNING, - SPINTERFERENCE_LATENCY_TRUNCATE_BEGIN, - SPINTERFERENCE_LATENCY_TRUNCATE_END, - SPENDSRSTREAMFLAGS, - SPESF_NONE, - SPESF_STREAM_RELEASED, - SPESF_EMULATED, - SPVFEATURE, - SPVFEATURE_STRESSED, - SPVFEATURE_EMPHASIS, - SPVISEMES, - SP_VISEME_0, - SP_VISEME_1, - SP_VISEME_2, - SP_VISEME_3, - SP_VISEME_4, - SP_VISEME_5, - SP_VISEME_6, - SP_VISEME_7, - SP_VISEME_8, - SP_VISEME_9, - SP_VISEME_10, - SP_VISEME_11, - SP_VISEME_12, - SP_VISEME_13, - SP_VISEME_14, - SP_VISEME_15, - SP_VISEME_16, - SP_VISEME_17, - SP_VISEME_18, - SP_VISEME_19, - SP_VISEME_20, - SP_VISEME_21, - SPEVENTSOURCEINFO, - ISpEventSource, ISpEventSourceVtbl, - ISpEventSource2, ISpEventSource2Vtbl, - ISpEventSink, ISpEventSinkVtbl, - ISpStreamFormat, ISpStreamFormatVtbl, - SPFILEMODE, - SPFM_OPEN_READONLY, - SPFM_OPEN_READWRITE, - SPFM_CREATE, - SPFM_CREATE_ALWAYS, - SPFM_NUM_MODES, - ISpStream, ISpStreamVtbl, - ISpStreamFormatConverter, ISpStreamFormatConverterVtbl, - SPAUDIOSTATE, - SPAS_CLOSED, - SPAS_STOP, - SPAS_PAUSE, - SPAS_RUN, - SPAUDIOSTATUS, - SPAUDIOBUFFERINFO, - ISpAudio, ISpAudioVtbl, - ISpMMSysAudio, ISpMMSysAudioVtbl, - ISpTranscript, ISpTranscriptVtbl, - SPDISPLAYATTRIBUTES, - SPAF_ONE_TRAILING_SPACE, - SPAF_TWO_TRAILING_SPACES, - SPAF_CONSUME_LEADING_SPACES, - SPAF_BUFFER_POSITION, - SPAF_ALL, - SPAF_USER_SPECIFIED, - SPPHONEID, - PSPPHONEID, - PCSPPHONEID, - SPPHRASEELEMENT, - SPPHRASERULE, - SPPHRASEPROPERTYUNIONTYPE, - SPPPUT_UNUSED, - SPPPUT_ARRAY_INDEX, - SPPHRASEPROPERTY, - SPPHRASEREPLACEMENT, - SPSEMANTICERRORINFO, - SPSEMANTICFORMAT, - SPPHRASE_50, -// SPPHRASESIZE_500, -}; -pub use um::sapi53::SPPHRASE as SPPHRASE_53; -STRUCT!{struct SPPHRASE { - cbSize: ULONG, - LangID: WORD, - wHomophoneGroupId: WORD, - ullGrammarID: ULONGLONG, - ftStartTime: ULONGLONG, - ullAudioStreamPosition: ULONGLONG, - ulAudioSizeBytes: ULONG, - ulRetainedSizeBytes: ULONG, - ulAudioSizeTime: ULONG, - Rule: SPPHRASERULE, - pProperties: *const SPPHRASEPROPERTY, - pElements: *const SPPHRASEELEMENT, - cReplacements: ULONG, - pReplacements: *const SPPHRASEREPLACEMENT, - SREngineID: GUID, - ulSREnginePrivateDataSize: ULONG, - pSREnginePrivateData: *const BYTE, - pSML: LPWSTR, - pSemanticErrorInfo: *mut SPSEMANTICERRORINFO, - SemanticTagFormat: SPSEMANTICFORMAT, -}} -pub use um::sapi53::{ - SPSERIALIZEDPHRASE, - SPRULE, - SPVALUETYPE, - SPDF_PROPERTY, - SPDF_REPLACEMENT, - SPDF_RULE, - SPDF_DISPLAYTEXT, - SPDF_LEXICALFORM , - SPDF_PRONUNCIATION, - SPDF_AUDIO, - SPDF_ALTERNATES, - SPDF_ALL, - SPBINARYGRAMMAR, - SPPHRASERNG, - SPPR_ALL_ELEMENTS, - SP_GETWHOLEPHRASE, - SPRR_ALL_ELEMENTS, - SPSTATEHANDLE, - SPRECOEVENTFLAGS, - SPREF_AutoPause, - SPREF_Emulated, - SPREF_SMLTimeout, - SPREF_ExtendableParse, - SPREF_ReSent, - SPREF_Hypothesis, - SPREF_FalseRecognition, - SPPARTOFSPEECH, - SPPS_NotOverriden, - SPPS_Unknown, - SPPS_Noun, - SPPS_Verb, - SPPS_Modifier, - SPPS_Function, - SPPS_Interjection, - SPPS_Noncontent, - SPPS_LMA, - SPPS_SuppressWord, - SPLEXICONTYPE, - eLEXTYPE_USER, - eLEXTYPE_APP, - eLEXTYPE_VENDORLEXICON, - eLEXTYPE_LETTERTOSOUND, - eLEXTYPE_MORPHOLOGY, - eLEXTYPE_RESERVED4, - eLEXTYPE_USER_SHORTCUT, - eLEXTYPE_RESERVED6, - eLEXTYPE_RESERVED7, - eLEXTYPE_RESERVED8, - eLEXTYPE_RESERVED9, - eLEXTYPE_RESERVED10, - eLEXTYPE_PRIVATE1, - eLEXTYPE_PRIVATE2, - eLEXTYPE_PRIVATE3, - eLEXTYPE_PRIVATE4, - eLEXTYPE_PRIVATE5, - eLEXTYPE_PRIVATE6, - eLEXTYPE_PRIVATE7, - eLEXTYPE_PRIVATE8, - eLEXTYPE_PRIVATE9, - eLEXTYPE_PRIVATE10, - eLEXTYPE_PRIVATE11, - eLEXTYPE_PRIVATE12, - eLEXTYPE_PRIVATE13, - eLEXTYPE_PRIVATE14, - eLEXTYPE_PRIVATE15, - eLEXTYPE_PRIVATE16, - eLEXTYPE_PRIVATE17, - eLEXTYPE_PRIVATE18, - eLEXTYPE_PRIVATE19, - eLEXTYPE_PRIVATE20, - SPWORDTYPE, - eWORDTYPE_ADDED, - eWORDTYPE_DELETED, - SPPRONUNCIATIONFLAGS, - ePRONFLAG_USED, - SPWORDPRONUNCIATION, - SPWORDPRONUNCIATIONLIST, - SPWORD, - SPWORDLIST, - ISpLexicon, ISpLexiconVtbl, - ISpContainerLexicon, ISpContainerLexiconVtbl, - SPSHORTCUTTYPE, - SPSHT_NotOverriden, - SPSHT_Unknown, - SPSHT_EMAIL, - SPSHT_OTHER, - SPPS_RESERVED1, - SPPS_RESERVED2, - SPPS_RESERVED3, - SPPS_RESERVED4, - SPSHORTCUTPAIR, - SPSHORTCUTPAIRLIST, - ISpShortcut, ISpShortcutVtbl, - ISpPhoneConverter, ISpPhoneConverterVtbl, - ISpPhoneticAlphabetConverter, ISpPhoneticAlphabetConverterVtbl, - ISpPhoneticAlphabetSelection, ISpPhoneticAlphabetSelectionVtbl, - SPVPITCH, - SPVACTIONS, - SPVA_Speak, - SPVA_Silence, - SPVA_Pronounce, - SPVA_Bookmark, - SPVA_SpellOut, - SPVA_Section, - SPVA_ParseUnknownTag, - SPVCONTEXT, - SPVSTATE, - SPRUNSTATE, - SPRS_DONE, - SPRS_IS_SPEAKING, - SPVLIMITS, - SPMIN_VOLUME, - SPMAX_VOLUME, - SPMIN_RATE, - SPMAX_RATE, - SPVPRIORITY, - SPVPRI_NORMAL, - SPVPRI_ALERT, - SPVPRI_OVER, - SPVOICESTATUS, - SPEAKFLAGS, - SPF_DEFAULT, - SPF_ASYNC, - SPF_PURGEBEFORESPEAK, - SPF_IS_FILENAME, - SPF_IS_XML, - SPF_IS_NOT_XML, - SPF_PERSIST_XML, - SPF_NLP_SPEAK_PUNC, - SPF_PARSE_SAPI, - SPF_PARSE_SSML, - SPF_PARSE_AUTODETECT, - SPF_NLP_MASK, - SPF_PARSE_MASK, - SPF_VOICE_MASK, - SPF_UNUSED_FLAGS, - ISpVoice, ISpVoiceVtbl, - ISpPhrase, ISpPhraseVtbl, - ISpPhraseAlt, ISpPhraseAltVtbl, - SPXMLRESULTOPTIONS, - SPXRO_SML, - SPXRO_Alternates_SML, - ISpPhrase2, ISpPhrase2Vtbl, - SPRECORESULTTIMES, - SPSERIALIZEDRESULT, - ISpRecoResult, ISpRecoResultVtbl, - SPCOMMITFLAGS, - SPCF_NONE, - SPCF_ADD_TO_USER_LEXICON, - SPCF_DEFINITE_CORRECTION, - ISpRecoResult2, ISpRecoResult2Vtbl, - ISpXMLRecoResult, ISpXMLRecoResultVtbl, - SPTEXTSELECTIONINFO, - SPWORDPRONOUNCEABLE, - SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE, - SPWP_UNKNOWN_WORD_PRONOUNCEABLE, - SPWP_KNOWN_WORD_PRONOUNCEABLE, - SPGRAMMARSTATE, - SPGS_DISABLED, - SPGS_ENABLED, - SPGS_EXCLUSIVE, - SPCONTEXTSTATE, - SPCS_DISABLED, - SPCS_ENABLED, - SPRULESTATE, - SPRS_INACTIVE, - SPRS_ACTIVE, - SPRS_ACTIVE_WITH_AUTO_PAUSE, - SPWT_LEXICAL_NO_SPECIAL_CHARS, - SPPROPERTYINFO, - SPCFGRULEATTRIBUTES, - SPRAF_TopLevel, - SPRAF_Active, - SPRAF_Export, - SPRAF_Import, - SPRAF_Interpreter, - SPRAF_Dynamic, - SPRAF_Root, - SPRAF_AutoPause, - SPRAF_UserDelimited, - ISpGrammarBuilder, ISpGrammarBuilderVtbl, - SPLOADOPTIONS, - SPLO_STATIC, - SPLO_DYNAMIC, - ISpRecoGrammar, ISpRecoGrammarVtbl, - SPMATCHINGMODE, - AllWords, - Subsequence, - OrderedSubset, - SubsequenceContentRequired, - OrderedSubsetContentRequired, - PHONETICALPHABET, - PA_Ipa, - PA_Ups, - PA_Sapi, - ISpGrammarBuilder2, ISpGrammarBuilder2Vtbl, - SPRP_NORMAL, - ISpRecoGrammar2, ISpRecoGrammar2Vtbl, - ISpeechResourceLoader, ISpeechResourceLoaderVtbl, - SPRECOCONTEXTSTATUS, - SPBOOKMARKOPTIONS, - SPBO_NONE, - SPBO_PAUSE, - SPBO_AHEAD, - SPBO_TIME_UNITS, - SPAUDIOOPTIONS, - SPAO_NONE, - SPAO_RETAIN_AUDIO, - ISpRecoContext, ISpRecoContextVtbl, - SPGRAMMAROPTIONS, - SPGO_SAPI, - SPGO_SRGS, - SPGO_UPS, - SPGO_SRGS_MS_SCRIPT, - SPGO_SRGS_W3C_SCRIPT, - SPGO_SRGS_STG_SCRIPT, - SPGO_SRGS_SCRIPT, - SPGO_FILE, - SPGO_HTTP, - SPGO_RES, - SPGO_OBJECT, - SPGO_DEFAULT, - SPGO_ALL, - SPADAPTATIONSETTINGS, - SPADS_Default, - SPADS_CurrentRecognizer, - SPADS_RecoProfile, - SPADS_Immediate, - SPADS_Reset, - SPADS_HighVolumeDataSource, - SPADAPTATIONRELEVANCE, - SPAR_Unknown, - SPAR_Low, - SPAR_Medium, - SPAR_High, - ISpRecoContext2, ISpRecoContext2Vtbl, - ISpProperties, ISpPropertiesVtbl, - SP_MAX_LANGIDS, - SPRECOGNIZERSTATUS, - SPWAVEFORMATTYPE, - SPWF_INPUT, - SPWF_SRENGINE, - SPSTREAMFORMATTYPE, - SPRECOSTATE, - SPRST_INACTIVE, - SPRST_ACTIVE, - SPRST_ACTIVE_ALWAYS, - SPRST_INACTIVE_WITH_PURGE, - SPRST_NUM_STATES, - ISpRecognizer, ISpRecognizerVtbl, - ISpSerializeState, ISpSerializeStateVtbl, - ISpRecognizer2, ISpRecognizer2Vtbl, -}; -ENUM!{enum SPCATEGORYTYPE { - SPCT_COMMAND, - SPCT_DICTATION, - SPCT_SLEEP, - SPCT_SUB_COMMAND, - SPCT_SUB_DICTATION, -}} -RIDL!{#[uuid(0xda0cd0f9, 0x14a2, 0x4f09, 0x8c, 0x2a, 0x85, 0xcc, 0x48, 0x97, 0x93, 0x45)] -interface ISpRecoCategory(ISpRecoCategoryVtbl): IUnknown(IUnknownVtbl) { - fn GetType( - peCategoryType: *mut SPCATEGORYTYPE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xdf1b943c, 0x5838, 0x4aa2, 0x87, 0x06, 0xd7, 0xcd, 0x5b, 0x33, 0x34, 0x99)] -interface ISpRecognizer3(ISpRecognizer3Vtbl): IUnknown(IUnknownVtbl) { - fn GetCategory( - categoryType: SPCATEGORYTYPE, - ppCategory: *mut *mut ISpRecoCategory, - ) -> HRESULT, - fn SetActiveCategory( - pCategory: *mut ISpRecoCategory, - ) -> HRESULT, - fn GetActiveCategory( - ppCategory: *mut *mut ISpRecoCategory, - ) -> HRESULT, -}} -pub use um::sapi53::{ - SPNORMALIZATIONLIST, - ISpEnginePronunciation, ISpEnginePronunciationVtbl, - SPDISPLAYTOKEN, - SPDISPLAYPHRASE, - ISpDisplayAlternates, ISpDisplayAlternatesVtbl, - SpeechLanguageId, - DISPID_SpeechDataKey, - DISPID_SDKSetBinaryValue, - DISPID_SDKGetBinaryValue, - DISPID_SDKSetStringValue, - DISPID_SDKGetStringValue, - DISPID_SDKSetLongValue, - DISPID_SDKGetlongValue, - DISPID_SDKOpenKey, - DISPID_SDKCreateKey, - DISPID_SDKDeleteKey, - DISPID_SDKDeleteValue, - DISPID_SDKEnumKeys, - DISPID_SDKEnumValues, - DISPID_SpeechObjectToken, - DISPID_SOTId, - DISPID_SOTDataKey, - DISPID_SOTCategory, - DISPID_SOTGetDescription, - DISPID_SOTSetId, - DISPID_SOTGetAttribute, - DISPID_SOTCreateInstance, - DISPID_SOTRemove, - DISPID_SOTGetStorageFileName, - DISPID_SOTRemoveStorageFileName, - DISPID_SOTIsUISupported, - DISPID_SOTDisplayUI, - DISPID_SOTMatchesAttributes, - SpeechDataKeyLocation, - SDKLDefaultLocation, - SDKLCurrentUser, - SDKLLocalMachine, - SDKLCurrentConfig, - SpeechTokenContext, - STCInprocServer, - STCInprocHandler , - STCLocalServer, - STCRemoteServer, - STCAll, - SpeechTokenShellFolder, - STSF_AppData, - STSF_LocalAppData, - STSF_CommonAppData, - STSF_FlagCreate, - DISPID_SpeechObjectTokens, - DISPID_SOTsCount, - DISPID_SOTsItem, - DISPID_SOTs_NewEnum, - DISPID_SpeechObjectTokenCategory, - DISPID_SOTCId, - DISPID_SOTCDefault, - DISPID_SOTCSetId, - DISPID_SOTCGetDataKey, - DISPID_SOTCEnumerateTokens, - SpeechAudioFormatType, - SAFTDefault, - SAFTNoAssignedFormat, - SAFTText, - SAFTNonStandardFormat, - SAFTExtendedAudioFormat, - SAFT8kHz8BitMono, - SAFT8kHz8BitStereo, - SAFT8kHz16BitMono, - SAFT8kHz16BitStereo, - SAFT11kHz8BitMono, - SAFT11kHz8BitStereo, - SAFT11kHz16BitMono, - SAFT11kHz16BitStereo, - SAFT12kHz8BitMono, - SAFT12kHz8BitStereo, - SAFT12kHz16BitMono, - SAFT12kHz16BitStereo, - SAFT16kHz8BitMono, - SAFT16kHz8BitStereo, - SAFT16kHz16BitMono, - SAFT16kHz16BitStereo, - SAFT22kHz8BitMono, - SAFT22kHz8BitStereo, - SAFT22kHz16BitMono, - SAFT22kHz16BitStereo, - SAFT24kHz8BitMono, - SAFT24kHz8BitStereo, - SAFT24kHz16BitMono, - SAFT24kHz16BitStereo, - SAFT32kHz8BitMono, - SAFT32kHz8BitStereo, - SAFT32kHz16BitMono, - SAFT32kHz16BitStereo, - SAFT44kHz8BitMono, - SAFT44kHz8BitStereo, - SAFT44kHz16BitMono, - SAFT44kHz16BitStereo, - SAFT48kHz8BitMono, - SAFT48kHz8BitStereo, - SAFT48kHz16BitMono, - SAFT48kHz16BitStereo, - SAFTTrueSpeech_8kHz1BitMono, - SAFTCCITT_ALaw_8kHzMono, - SAFTCCITT_ALaw_8kHzStereo, - SAFTCCITT_ALaw_11kHzMono, - SAFTCCITT_ALaw_11kHzStereo, - SAFTCCITT_ALaw_22kHzMono, - SAFTCCITT_ALaw_22kHzStereo, - SAFTCCITT_ALaw_44kHzMono, - SAFTCCITT_ALaw_44kHzStereo, - SAFTCCITT_uLaw_8kHzMono, - SAFTCCITT_uLaw_8kHzStereo, - SAFTCCITT_uLaw_11kHzMono, - SAFTCCITT_uLaw_11kHzStereo, - SAFTCCITT_uLaw_22kHzMono, - SAFTCCITT_uLaw_22kHzStereo, - SAFTCCITT_uLaw_44kHzMono, - SAFTCCITT_uLaw_44kHzStereo, - SAFTADPCM_8kHzMono, - SAFTADPCM_8kHzStereo, - SAFTADPCM_11kHzMono, - SAFTADPCM_11kHzStereo, - SAFTADPCM_22kHzMono, - SAFTADPCM_22kHzStereo, - SAFTADPCM_44kHzMono, - SAFTADPCM_44kHzStereo, - SAFTGSM610_8kHzMono, - SAFTGSM610_11kHzMono, - SAFTGSM610_22kHzMono, - SAFTGSM610_44kHzMono, - DISPID_SpeechAudioFormat, - DISPID_SAFType, - DISPID_SAFGuid, - DISPID_SAFGetWaveFormatEx, - DISPID_SAFSetWaveFormatEx, - DISPID_SpeechBaseStream, - DISPID_SBSFormat, - DISPID_SBSRead, - DISPID_SBSWrite, - DISPID_SBSSeek, - SpeechStreamSeekPositionType, - SSSPTRelativeToStart, - SSSPTRelativeToCurrentPosition, - SSSPTRelativeToEnd, - DISPID_SpeechAudio, - DISPID_SAStatus, - DISPID_SABufferInfo, - DISPID_SADefaultFormat, - DISPID_SAVolume, - DISPID_SABufferNotifySize, - DISPID_SAEventHandle, - DISPID_SASetState, - SpeechAudioState, - SASClosed, - SASStop, - SASPause, - SASRun, - DISPID_SpeechMMSysAudio, - DISPID_SMSADeviceId, - DISPID_SMSALineId, - DISPID_SMSAMMHandle, - DISPID_SpeechFileStream, - DISPID_SFSOpen, - DISPID_SFSClose, - SpeechStreamFileMode, - SSFMOpenForRead, - SSFMOpenReadWrite, - SSFMCreate, - SSFMCreateForWrite, - DISPID_SpeechCustomStream, - DISPID_SCSBaseStream, - DISPID_SpeechMemoryStream, - DISPID_SMSSetData, - DISPID_SMSGetData, - DISPID_SpeechAudioStatus, - DISPID_SASFreeBufferSpace, - DISPID_SASNonBlockingIO, - DISPID_SASState, - DISPID_SASCurrentSeekPosition, - DISPID_SASCurrentDevicePosition, - DISPID_SpeechAudioBufferInfo, - DISPID_SABIMinNotification, - DISPID_SABIBufferSize, - DISPID_SABIEventBias, - DISPID_SpeechWaveFormatEx, - DISPID_SWFEFormatTag, - DISPID_SWFEChannels, - DISPID_SWFESamplesPerSec, - DISPID_SWFEAvgBytesPerSec, - DISPID_SWFEBlockAlign, - DISPID_SWFEBitsPerSample, - DISPID_SWFEExtraData, - DISPID_SpeechVoice, - DISPID_SVStatus, - DISPID_SVVoice, - DISPID_SVAudioOutput, - DISPID_SVAudioOutputStream, - DISPID_SVRate, - DISPID_SVVolume, - DISPID_SVAllowAudioOuputFormatChangesOnNextSet, - DISPID_SVEventInterests, - DISPID_SVPriority, - DISPID_SVAlertBoundary, - DISPID_SVSyncronousSpeakTimeout, - DISPID_SVSpeak, - DISPID_SVSpeakStream, - DISPID_SVPause, - DISPID_SVResume, - DISPID_SVSkip, - DISPID_SVGetVoices, - DISPID_SVGetAudioOutputs, - DISPID_SVWaitUntilDone, - DISPID_SVSpeakCompleteEvent, - DISPID_SVIsUISupported, - DISPID_SVDisplayUI, - SpeechVoicePriority, - SVPNormal, - SVPAlert, - SVPOver, - SpeechVoiceSpeakFlags, - SVSFDefault, - SVSFlagsAsync, - SVSFPurgeBeforeSpeak, - SVSFIsFilename, - SVSFIsXML, - SVSFIsNotXML, - SVSFPersistXML, - SVSFNLPSpeakPunc, - SVSFParseSapi, - SVSFParseSsml, - SVSFParseAutodetect, - SVSFNLPMask, - SVSFParseMask, - SVSFVoiceMask, - SVSFUnusedFlags, - SpeechVoiceEvents, - SVEStartInputStream, - SVEEndInputStream, - SVEVoiceChange, - SVEBookmark, - SVEWordBoundary, - SVEPhoneme, - SVESentenceBoundary, - SVEViseme, - SVEAudioLevel, - SVEPrivate, - SVEAllEvents, - DISPID_SpeechVoiceStatus, - DISPID_SVSCurrentStreamNumber, - DISPID_SVSLastStreamNumberQueued, - DISPID_SVSLastResult, - DISPID_SVSRunningState, - DISPID_SVSInputWordPosition, - DISPID_SVSInputWordLength, - DISPID_SVSInputSentencePosition, - DISPID_SVSInputSentenceLength, - DISPID_SVSLastBookmark, - DISPID_SVSLastBookmarkId, - DISPID_SVSPhonemeId, - DISPID_SVSVisemeId, - SpeechRunState, - SRSEDone, - SRSEIsSpeaking, - SpeechVisemeType, - SVP_0, - SVP_1, - SVP_2, - SVP_3, - SVP_4, - SVP_5, - SVP_6, - SVP_7, - SVP_8, - SVP_9, - SVP_10, - SVP_11, - SVP_12, - SVP_13, - SVP_14, - SVP_15, - SVP_16, - SVP_17, - SVP_18, - SVP_19, - SVP_20, - SVP_21, - SpeechVisemeFeature, - SVF_None, - SVF_Stressed, - SVF_Emphasis, - DISPID_SpeechVoiceEvent, - DISPID_SVEStreamStart, - DISPID_SVEStreamEnd, - DISPID_SVEVoiceChange, - DISPID_SVEBookmark, - DISPID_SVEWord, - DISPID_SVEPhoneme, - DISPID_SVESentenceBoundary, - DISPID_SVEViseme, - DISPID_SVEAudioLevel, - DISPID_SVEEnginePrivate, - DISPID_SpeechRecognizer, - DISPID_SRRecognizer, - DISPID_SRAllowAudioInputFormatChangesOnNextSet, - DISPID_SRAudioInput, - DISPID_SRAudioInputStream, - DISPID_SRIsShared, - DISPID_SRState, - DISPID_SRStatus, - DISPID_SRProfile, - DISPID_SREmulateRecognition, - DISPID_SRCreateRecoContext, - DISPID_SRGetFormat, - DISPID_SRSetPropertyNumber, - DISPID_SRGetPropertyNumber, - DISPID_SRSetPropertyString, - DISPID_SRGetPropertyString, - DISPID_SRIsUISupported, - DISPID_SRDisplayUI, - DISPID_SRGetRecognizers, - DISPID_SVGetAudioInputs, - DISPID_SVGetProfiles, - SpeechRecognizerState, - SRSInactive, - SRSActive, - SRSActiveAlways, - SRSInactiveWithPurge, - SpeechDisplayAttributes, - SDA_No_Trailing_Space, - SDA_One_Trailing_Space, - SDA_Two_Trailing_Spaces, - SDA_Consume_Leading_Spaces, - SpeechFormatType, - SFTInput, - SFTSREngine, - SpeechEmulationCompareFlags, - SECFIgnoreCase, - SECFIgnoreKanaType, - SECFIgnoreWidth, - SECFNoSpecialChars, - SECFEmulateResult, - SECFDefault, - DISPID_SpeechRecognizerStatus, - DISPID_SRSAudioStatus, - DISPID_SRSCurrentStreamPosition, - DISPID_SRSCurrentStreamNumber, - DISPID_SRSNumberOfActiveRules, - DISPID_SRSClsidEngine, - DISPID_SRSSupportedLanguages, - DISPID_SpeechRecoContext, - DISPID_SRCRecognizer, - DISPID_SRCAudioInInterferenceStatus, - DISPID_SRCRequestedUIType, - DISPID_SRCVoice, - DISPID_SRAllowVoiceFormatMatchingOnNextSet, - DISPID_SRCVoicePurgeEvent, - DISPID_SRCEventInterests, - DISPID_SRCCmdMaxAlternates, - DISPID_SRCState, - DISPID_SRCRetainedAudio, - DISPID_SRCRetainedAudioFormat, - DISPID_SRCPause, - DISPID_SRCResume, - DISPID_SRCCreateGrammar, - DISPID_SRCCreateResultFromMemory, - DISPID_SRCBookmark, - DISPID_SRCSetAdaptationData, - SpeechRetainedAudioOptions, - SRAONone, - SRAORetainAudio, - SpeechBookmarkOptions, - SBONone, - SBOPause, - SpeechInterference, - SINone, - SINoise, - SINoSignal, - SITooLoud, - SITooQuiet, - SITooFast, - SITooSlow, - SpeechRecoEvents, - SREStreamEnd, - SRESoundStart, - SRESoundEnd, - SREPhraseStart, - SRERecognition, - SREHypothesis, - SREBookmark, - SREPropertyNumChange, - SREPropertyStringChange, - SREFalseRecognition, - SREInterference, - SRERequestUI, - SREStateChange, - SREAdaptation, - SREStreamStart, - SRERecoOtherContext, - SREAudioLevel, - SREPrivate, - SREAllEvents, - SpeechRecoContextState, - SRCS_Disabled, - SRCS_Enabled, - DISPIDSPRG, - DISPID_SRGId, - DISPID_SRGRecoContext, - DISPID_SRGState, - DISPID_SRGRules, - DISPID_SRGReset, - DISPID_SRGCommit, - DISPID_SRGCmdLoadFromFile, - DISPID_SRGCmdLoadFromObject, - DISPID_SRGCmdLoadFromResource, - DISPID_SRGCmdLoadFromMemory, - DISPID_SRGCmdLoadFromProprietaryGrammar, - DISPID_SRGCmdSetRuleState, - DISPID_SRGCmdSetRuleIdState, - DISPID_SRGDictationLoad, - DISPID_SRGDictationUnload, - DISPID_SRGDictationSetState, - DISPID_SRGSetWordSequenceData, - DISPID_SRGSetTextSelection, - DISPID_SRGIsPronounceable, - SpeechLoadOption, - SLOStatic, - SLODynamic, - SpeechWordPronounceable, - SWPUnknownWordUnpronounceable, - SWPUnknownWordPronounceable, - SWPKnownWordPronounceable, - SpeechGrammarState, - SGSEnabled, - SGSDisabled, - SGSExclusive, - SpeechRuleState, - SGDSInactive, - SGDSActive, - SGDSActiveWithAutoPause, - SGDSActiveUserDelimited, - SpeechRuleAttributes, - SRATopLevel, - SRADefaultToActive, - SRAExport, - SRAImport, - SRAInterpreter, - SRADynamic, - SRARoot, - SpeechGrammarWordType, - SGDisplay, - SGLexical, - SGPronounciation, - SGLexicalNoSpecialChars, - DISPID_SpeechRecoContextEvents, - DISPID_SRCEStartStream, - DISPID_SRCEEndStream, - DISPID_SRCEBookmark, - DISPID_SRCESoundStart, - DISPID_SRCESoundEnd, - DISPID_SRCEPhraseStart, - DISPID_SRCERecognition, - DISPID_SRCEHypothesis, - DISPID_SRCEPropertyNumberChange, - DISPID_SRCEPropertyStringChange, - DISPID_SRCEFalseRecognition, - DISPID_SRCEInterference, - DISPID_SRCERequestUI, - DISPID_SRCERecognizerStateChange, - DISPID_SRCEAdaptation, - DISPID_SRCERecognitionForOtherContext, - DISPID_SRCEAudioLevel, - DISPID_SRCEEnginePrivate, - SpeechRecognitionType, - SRTStandard, - SRTAutopause, - SRTEmulated, - SRTSMLTimeout, - SRTExtendableParse, - SRTReSent, - DISPID_SpeechGrammarRule, - DISPID_SGRAttributes, - DISPID_SGRInitialState, - DISPID_SGRName, - DISPID_SGRId, - DISPID_SGRClear, - DISPID_SGRAddResource, - DISPID_SGRAddState, - DISPID_SpeechGrammarRules, - DISPID_SGRsCount, - DISPID_SGRsDynamic, - DISPID_SGRsAdd, - DISPID_SGRsCommit, - DISPID_SGRsCommitAndSave, - DISPID_SGRsFindRule, - DISPID_SGRsItem, - DISPID_SGRs_NewEnum, - DISPID_SpeechGrammarRuleState, - DISPID_SGRSRule, - DISPID_SGRSTransitions, - DISPID_SGRSAddWordTransition, - DISPID_SGRSAddRuleTransition, - DISPID_SGRSAddSpecialTransition, - SpeechSpecialTransitionType, - SSTTWildcard, - SSTTDictation, - SSTTTextBuffer, - DISPID_SpeechGrammarRuleStateTransitions, - DISPID_SGRSTsCount, - DISPID_SGRSTsItem, - DISPID_SGRSTs_NewEnum, - DISPID_SpeechGrammarRuleStateTransition, - DISPID_SGRSTType, - DISPID_SGRSTText, - DISPID_SGRSTRule, - DISPID_SGRSTWeight, - DISPID_SGRSTPropertyName, - DISPID_SGRSTPropertyId, - DISPID_SGRSTPropertyValue, - DISPID_SGRSTNextState, - SpeechGrammarRuleStateTransitionType, - SGRSTTEpsilon, - SGRSTTWord, - SGRSTTRule, - SGRSTTDictation, - SGRSTTWildcard, - SGRSTTTextBuffer, - DISPIDSPTSI, - DISPIDSPTSI_ActiveOffset, - DISPIDSPTSI_ActiveLength, - DISPIDSPTSI_SelectionOffset, - DISPIDSPTSI_SelectionLength, - DISPID_SpeechRecoResult, - DISPID_SRRRecoContext, - DISPID_SRRTimes, - DISPID_SRRAudioFormat, - DISPID_SRRPhraseInfo, - DISPID_SRRAlternates, - DISPID_SRRAudio, - DISPID_SRRSpeakAudio, - DISPID_SRRSaveToMemory, - DISPID_SRRDiscardResultInfo, - SpeechDiscardType, - SDTProperty, - SDTReplacement, - SDTRule, - SDTDisplayText, - SDTLexicalForm, - SDTPronunciation, - SDTAudio, - SDTAlternates, - SDTAll, - DISPID_SpeechXMLRecoResult, - DISPID_SRRGetXMLResult, - DISPID_SRRGetXMLErrorInfo, - DISPID_SpeechRecoResult2, - DISPID_SRRSetTextFeedback, - DISPID_SpeechPhraseBuilder, - DISPID_SPPBRestorePhraseFromMemory, - DISPID_SpeechRecoResultTimes, - DISPID_SRRTStreamTime, - DISPID_SRRTLength, - DISPID_SRRTTickCount, - DISPID_SRRTOffsetFromStart, - DISPID_SpeechPhraseAlternate, - DISPID_SPARecoResult, - DISPID_SPAStartElementInResult, - DISPID_SPANumberOfElementsInResult, - DISPID_SPAPhraseInfo, - DISPID_SPACommit, - DISPID_SpeechPhraseAlternates, - DISPID_SPAsCount, - DISPID_SPAsItem, - DISPID_SPAs_NewEnum, - DISPID_SpeechPhraseInfo, - DISPID_SPILanguageId, - DISPID_SPIGrammarId, - DISPID_SPIStartTime, - DISPID_SPIAudioStreamPosition, - DISPID_SPIAudioSizeBytes, - DISPID_SPIRetainedSizeBytes, - DISPID_SPIAudioSizeTime, - DISPID_SPIRule, - DISPID_SPIProperties, - DISPID_SPIElements, - DISPID_SPIReplacements, - DISPID_SPIEngineId, - DISPID_SPIEnginePrivateData, - DISPID_SPISaveToMemory, - DISPID_SPIGetText, - DISPID_SPIGetDisplayAttributes, - DISPID_SpeechPhraseElement, - DISPID_SPEAudioTimeOffset, - DISPID_SPEAudioSizeTime, - DISPID_SPEAudioStreamOffset, - DISPID_SPEAudioSizeBytes, - DISPID_SPERetainedStreamOffset, - DISPID_SPERetainedSizeBytes, - DISPID_SPEDisplayText, - DISPID_SPELexicalForm, - DISPID_SPEPronunciation, - DISPID_SPEDisplayAttributes, - DISPID_SPERequiredConfidence, - DISPID_SPEActualConfidence, - DISPID_SPEEngineConfidence, - SpeechEngineConfidence, - SECLowConfidence, - SECNormalConfidence, - SECHighConfidence, - DISPID_SpeechPhraseElements, - DISPID_SPEsCount, - DISPID_SPEsItem, - DISPID_SPEs_NewEnum, - DISPID_SpeechPhraseReplacement, - DISPID_SPRDisplayAttributes, - DISPID_SPRText, - DISPID_SPRFirstElement, - DISPID_SPRNumberOfElements, - DISPID_SpeechPhraseReplacements, - DISPID_SPRsCount, - DISPID_SPRsItem, - DISPID_SPRs_NewEnum, - DISPID_SpeechPhraseProperty, - DISPID_SPPName, - DISPID_SPPId, - DISPID_SPPValue, - DISPID_SPPFirstElement, - DISPID_SPPNumberOfElements, - DISPID_SPPEngineConfidence, - DISPID_SPPConfidence, - DISPID_SPPParent, - DISPID_SPPChildren, - DISPID_SpeechPhraseProperties, - DISPID_SPPsCount, - DISPID_SPPsItem, - DISPID_SPPs_NewEnum, - DISPID_SpeechPhraseRule, - DISPID_SPRuleName, - DISPID_SPRuleId, - DISPID_SPRuleFirstElement, - DISPID_SPRuleNumberOfElements, - DISPID_SPRuleParent, - DISPID_SPRuleChildren, - DISPID_SPRuleConfidence, - DISPID_SPRuleEngineConfidence, - DISPID_SpeechPhraseRules, - DISPID_SPRulesCount, - DISPID_SPRulesItem, - DISPID_SPRules_NewEnum, - DISPID_SpeechLexicon, - DISPID_SLGenerationId, - DISPID_SLGetWords, - DISPID_SLAddPronunciation, - DISPID_SLAddPronunciationByPhoneIds, - DISPID_SLRemovePronunciation, - DISPID_SLRemovePronunciationByPhoneIds, - DISPID_SLGetPronunciations, - DISPID_SLGetGenerationChange, - SpeechLexiconType, - SLTUser, - SLTApp, - SpeechPartOfSpeech, - SPSNotOverriden, - SPSUnknown, - SPSNoun, - SPSVerb, - SPSModifier, - SPSFunction, - SPSInterjection, - SPSLMA, - SPSSuppressWord, - DISPID_SpeechLexiconWords, - DISPID_SLWsCount, - DISPID_SLWsItem, - DISPID_SLWs_NewEnum, - SpeechWordType, - SWTAdded, - SWTDeleted, - DISPID_SpeechLexiconWord, - DISPID_SLWLangId, - DISPID_SLWType, - DISPID_SLWWord, - DISPID_SLWPronunciations, - DISPID_SpeechLexiconProns, - DISPID_SLPsCount, - DISPID_SLPsItem, - DISPID_SLPs_NewEnum, - DISPID_SpeechLexiconPronunciation, - DISPID_SLPType, - DISPID_SLPLangId, - DISPID_SLPPartOfSpeech, - DISPID_SLPPhoneIds, - DISPID_SLPSymbolic, - DISPID_SpeechPhoneConverter, - DISPID_SPCLangId, - DISPID_SPCPhoneToId, - DISPID_SPCIdToPhone, - LIBID_SpeechLib, - ISpeechDataKey, ISpeechDataKeyVtbl, - ISpeechObjectToken, ISpeechObjectTokenVtbl, - ISpeechObjectTokens, ISpeechObjectTokensVtbl, - ISpeechObjectTokenCategory, ISpeechObjectTokenCategoryVtbl, - ISpeechAudioBufferInfo, ISpeechAudioBufferInfoVtbl, - ISpeechAudioStatus, ISpeechAudioStatusVtbl, - ISpeechAudioFormat, ISpeechAudioFormatVtbl, - ISpeechWaveFormatEx, ISpeechWaveFormatExVtbl, - ISpeechBaseStream, ISpeechBaseStreamVtbl, - ISpeechFileStream, ISpeechFileStreamVtbl, - ISpeechMemoryStream, ISpeechMemoryStreamVtbl, - ISpeechCustomStream, ISpeechCustomStreamVtbl, - ISpeechAudio, ISpeechAudioVtbl, - ISpeechMMSysAudio, ISpeechMMSysAudioVtbl, - ISpeechVoice, ISpeechVoiceVtbl, - ISpeechVoiceStatus, ISpeechVoiceStatusVtbl, - _ISpeechVoiceEvents, _ISpeechVoiceEventsVtbl, - ISpeechRecognizer, ISpeechRecognizerVtbl, - ISpeechRecognizerStatus, ISpeechRecognizerStatusVtbl, - ISpeechRecoContext, ISpeechRecoContextVtbl, - ISpeechRecoGrammar, ISpeechRecoGrammarVtbl, - _ISpeechRecoContextEvents, _ISpeechRecoContextEventsVtbl, - ISpeechGrammarRule, ISpeechGrammarRuleVtbl, - ISpeechGrammarRules, ISpeechGrammarRulesVtbl, - ISpeechGrammarRuleState, ISpeechGrammarRuleStateVtbl, - ISpeechGrammarRuleStateTransition, ISpeechGrammarRuleStateTransitionVtbl, - ISpeechGrammarRuleStateTransitions, ISpeechGrammarRuleStateTransitionsVtbl, - ISpeechTextSelectionInformation, ISpeechTextSelectionInformationVtbl, - ISpeechRecoResult, ISpeechRecoResultVtbl, - ISpeechRecoResult2, ISpeechRecoResult2Vtbl, - ISpeechRecoResultTimes, ISpeechRecoResultTimesVtbl, - ISpeechPhraseAlternate, ISpeechPhraseAlternateVtbl, - ISpeechPhraseAlternates, ISpeechPhraseAlternatesVtbl, - ISpeechPhraseInfo, ISpeechPhraseInfoVtbl, - ISpeechPhraseElement, ISpeechPhraseElementVtbl, - ISpeechPhraseElements, ISpeechPhraseElementsVtbl, - ISpeechPhraseReplacement, ISpeechPhraseReplacementVtbl, - ISpeechPhraseReplacements, ISpeechPhraseReplacementsVtbl, - ISpeechPhraseProperty, ISpeechPhrasePropertyVtbl, - ISpeechPhraseProperties, ISpeechPhrasePropertiesVtbl, - ISpeechPhraseRule, ISpeechPhraseRuleVtbl, - ISpeechPhraseRules, ISpeechPhraseRulesVtbl, - ISpeechLexicon, ISpeechLexiconVtbl, - ISpeechLexiconWords, ISpeechLexiconWordsVtbl, - ISpeechLexiconWord, ISpeechLexiconWordVtbl, - ISpeechLexiconPronunciations, ISpeechLexiconPronunciationsVtbl, - ISpeechLexiconPronunciation, ISpeechLexiconPronunciationVtbl, - Speech_Default_Weight, - Speech_Max_Word_Length, - Speech_Max_Pron_Length, - Speech_StreamPos_Asap, - Speech_StreamPos_RealTime, - SpeechAllElements, - ISpeechXMLRecoResult, ISpeechXMLRecoResultVtbl, - ISpeechRecoResultDispatch, ISpeechRecoResultDispatchVtbl, - ISpeechPhraseInfoBuilder, ISpeechPhraseInfoBuilderVtbl, - ISpeechPhoneConverter, ISpeechPhoneConverterVtbl, - CLSID_SpNotifyTranslator, - CLSID_SpObjectTokenCategory, - CLSID_SpObjectToken, - CLSID_SpResourceManager, - CLSID_SpStreamFormatConverter, - CLSID_SpMMAudioEnum, - CLSID_SpMMAudioIn, - CLSID_SpMMAudioOut, - CLSID_SpStream, - CLSID_SpVoice, - CLSID_SpSharedRecoContext, - CLSID_SpInprocRecognizer, - CLSID_SpSharedRecognizer, - CLSID_SpLexicon, - CLSID_SpUnCompressedLexicon, - CLSID_SpCompressedLexicon, - CLSID_SpShortcut, - CLSID_SpPhoneConverter, - CLSID_SpPhoneticAlphabetConverter, - CLSID_SpNullPhoneConverter, - CLSID_SpTextSelectionInformation, - CLSID_SpPhraseInfoBuilder, - CLSID_SpAudioFormat, - CLSID_SpWaveFormatEx, - CLSID_SpInProcRecoContext, - CLSID_SpCustomStream, - CLSID_SpFileStream, - CLSID_SpMemoryStream, -}; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/sapi51.rs b/vendor/registry-40351f815f426200/winapi/src/um/sapi51.rs deleted file mode 100644 index db1d46438..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/sapi51.rs +++ /dev/null @@ -1,3726 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! SAPI 5.1 definitions -use ctypes::{c_char, c_float, c_long, c_short, c_ushort, c_void}; -use shared::guiddef::{CLSID, GUID, IID, REFCLSID, REFGUID, REFIID}; -use shared::minwindef::{ - BOOL, BYTE, DWORD, FILETIME, HKEY, HMODULE, LPARAM, UINT, ULONG, USHORT, WORD, WPARAM -}; -use shared::mmreg::WAVEFORMATEX; -use shared::rpcndr::byte; -use shared::windef::HWND; -use shared::wtypes::{BSTR, VARIANT_BOOL}; -use shared::wtypesbase::{ - CLSCTX_INPROC_HANDLER, CLSCTX_INPROC_SERVER, CLSCTX_LOCAL_SERVER, CLSCTX_REMOTE_SERVER -}; -use um::oaidl::{DISPID_NEWENUM, DISPID_VALUE, IDispatch, IDispatchVtbl, VARIANT}; -use um::objidlbase::{IStream, IStreamVtbl, STREAM_SEEK_CUR, STREAM_SEEK_END, STREAM_SEEK_SET}; -use um::servprov::{IServiceProvider, IServiceProviderVtbl}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HANDLE, HRESULT, LONG, LONGLONG, LPCWSTR, LPWSTR, ULONGLONG, WCHAR}; -ENUM!{enum SPDATAKEYLOCATION { - SPDKL_DefaultLocation = 0, - SPDKL_CurrentUser = 1, - SPDKL_LocalMachine = 2, - SPDKL_CurrentConfig = 5, -}} -pub const SPDUI_EngineProperties: &'static str = "EngineProperties"; -pub const SPDUI_AddRemoveWord: &'static str = "AddRemoveWord"; -pub const SPDUI_UserTraining: &'static str = "UserTraining"; -pub const SPDUI_MicTraining: &'static str = "MicTraining"; -pub const SPDUI_RecoProfileProperties: &'static str = "RecoProfileProperties"; -pub const SPDUI_AudioProperties: &'static str = "AudioProperties"; -pub const SPDUI_AudioVolume: &'static str = "AudioVolume"; -pub const SPDUI_UserEnrollment: &'static str = "UserEnrollment"; -pub const SPDUI_ShareData: &'static str = "ShareData"; -pub const SPDUI_Tutorial: &'static str = "Tutorial"; -ENUM!{enum SPSTREAMFORMAT { - SPSF_Default = -1i32 as u32, - SPSF_NoAssignedFormat = 0, - SPSF_Text = 1, - SPSF_NonStandardFormat = 2, - SPSF_ExtendedAudioFormat = 3, - SPSF_8kHz8BitMono = 4, - SPSF_8kHz8BitStereo = 5, - SPSF_8kHz16BitMono = 6, - SPSF_8kHz16BitStereo = 7, - SPSF_11kHz8BitMono = 8, - SPSF_11kHz8BitStereo = 9, - SPSF_11kHz16BitMono = 10, - SPSF_11kHz16BitStereo = 11, - SPSF_12kHz8BitMono = 12, - SPSF_12kHz8BitStereo = 13, - SPSF_12kHz16BitMono = 14, - SPSF_12kHz16BitStereo = 15, - SPSF_16kHz8BitMono = 16, - SPSF_16kHz8BitStereo = 17, - SPSF_16kHz16BitMono = 18, - SPSF_16kHz16BitStereo = 19, - SPSF_22kHz8BitMono = 20, - SPSF_22kHz8BitStereo = 21, - SPSF_22kHz16BitMono = 22, - SPSF_22kHz16BitStereo = 23, - SPSF_24kHz8BitMono = 24, - SPSF_24kHz8BitStereo = 25, - SPSF_24kHz16BitMono = 26, - SPSF_24kHz16BitStereo = 27, - SPSF_32kHz8BitMono = 28, - SPSF_32kHz8BitStereo = 29, - SPSF_32kHz16BitMono = 30, - SPSF_32kHz16BitStereo = 31, - SPSF_44kHz8BitMono = 32, - SPSF_44kHz8BitStereo = 33, - SPSF_44kHz16BitMono = 34, - SPSF_44kHz16BitStereo = 35, - SPSF_48kHz8BitMono = 36, - SPSF_48kHz8BitStereo = 37, - SPSF_48kHz16BitMono = 38, - SPSF_48kHz16BitStereo = 39, - SPSF_TrueSpeech_8kHz1BitMono = 40, - SPSF_CCITT_ALaw_8kHzMono = 41, - SPSF_CCITT_ALaw_8kHzStereo = 42, - SPSF_CCITT_ALaw_11kHzMono = 43, - SPSF_CCITT_ALaw_11kHzStereo = 44, - SPSF_CCITT_ALaw_22kHzMono = 45, - SPSF_CCITT_ALaw_22kHzStereo = 46, - SPSF_CCITT_ALaw_44kHzMono = 47, - SPSF_CCITT_ALaw_44kHzStereo = 48, - SPSF_CCITT_uLaw_8kHzMono = 49, - SPSF_CCITT_uLaw_8kHzStereo = 50, - SPSF_CCITT_uLaw_11kHzMono = 51, - SPSF_CCITT_uLaw_11kHzStereo = 52, - SPSF_CCITT_uLaw_22kHzMono = 53, - SPSF_CCITT_uLaw_22kHzStereo = 54, - SPSF_CCITT_uLaw_44kHzMono = 55, - SPSF_CCITT_uLaw_44kHzStereo = 56, - SPSF_ADPCM_8kHzMono = 57, - SPSF_ADPCM_8kHzStereo = 58, - SPSF_ADPCM_11kHzMono = 59, - SPSF_ADPCM_11kHzStereo = 60, - SPSF_ADPCM_22kHzMono = 61, - SPSF_ADPCM_22kHzStereo = 62, - SPSF_ADPCM_44kHzMono = 63, - SPSF_ADPCM_44kHzStereo = 64, - SPSF_GSM610_8kHzMono = 65, - SPSF_GSM610_11kHzMono = 66, - SPSF_GSM610_22kHzMono = 67, - SPSF_GSM610_44kHzMono = 68, - SPSF_NUM_FORMATS = 69, -}} -extern { - pub static SPDFID_Text: GUID; - pub static SPDFID_WaveFormatEx: GUID; -} -pub const SPREG_USER_ROOT: &'static str = "HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech"; -pub const SPREG_LOCAL_MACHINE_ROOT: &'static str - = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech"; -pub const SPCAT_AUDIOOUT: &'static str - = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioOutput"; -pub const SPCAT_AUDIOIN: &'static str - = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioInput"; -pub const SPCAT_VOICES: &'static str = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Voices"; -pub const SPCAT_RECOGNIZERS: &'static str - = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Recognizers"; -pub const SPCAT_APPLEXICONS: &'static str - = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AppLexicons"; -pub const SPCAT_PHONECONVERTERS: &'static str - = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\PhoneConverters"; -pub const SPCAT_TEXTNORMALIZERS: &'static str - = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\TextNormalizers"; -pub const SPCAT_RECOPROFILES: &'static str - = "HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech\\RecoProfiles"; -pub const SPMMSYS_AUDIO_IN_TOKEN_ID: &'static str - = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioInput\\TokenEnums\\MMAudioIn\\"; -pub const SPMMSYS_AUDIO_OUT_TOKEN_ID: &'static str - = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioOutput\\TokenEnums\\MMAudioOut\\"; -pub const SPCURRENT_USER_LEXICON_TOKEN_ID: &'static str - = "HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech\\CurrentUserLexicon"; -pub const SPCURRENT_USER_SHORTCUT_TOKEN_ID: &'static str - = "HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech\\CurrentUserShortcut"; -pub const SPTOKENVALUE_CLSID: &'static str = "CLSID"; -pub const SPTOKENKEY_FILES: &'static str = "Files"; -pub const SPTOKENKEY_UI: &'static str = "UI"; -pub const SPTOKENKEY_ATTRIBUTES: &'static str = "Attributes"; -pub const SPVOICECATEGORY_TTSRATE: &'static str = "DefaultTTSRate"; -pub const SPPROP_RESOURCE_USAGE: &'static str = "ResourceUsage"; -pub const SPPROP_HIGH_CONFIDENCE_THRESHOLD: &'static str = "HighConfidenceThreshold"; -pub const SPPROP_NORMAL_CONFIDENCE_THRESHOLD: &'static str = "NormalConfidenceThreshold"; -pub const SPPROP_LOW_CONFIDENCE_THRESHOLD: &'static str = "LowConfidenceThreshold"; -pub const SPPROP_RESPONSE_SPEED: &'static str = "ResponseSpeed"; -pub const SPPROP_COMPLEX_RESPONSE_SPEED: &'static str = "ComplexResponseSpeed"; -pub const SPPROP_ADAPTATION_ON: &'static str = "AdaptationOn"; -pub const SPPROP_PERSISTED_BACKGROUND_ADAPTATION: &'static str = "PersistedBackgroundAdaptation"; -pub const SPPROP_PERSISTED_LANGUAGE_MODEL_ADAPTATION: &'static str - = "PersistedLanguageModelAdaptation"; -pub const SPPROP_UX_IS_LISTENING: &'static str = "UXIsListening"; -pub const SPTOPIC_SPELLING: &'static str = "Spelling"; -pub const SPWILDCARD: &'static str = "..."; -pub const SPDICTATION: &'static str = "*"; -pub const SPINFDICTATION: &'static str = "*+"; -pub const SP_LOW_CONFIDENCE: c_char = -1; -pub const SP_NORMAL_CONFIDENCE: c_char = 0; -pub const SP_HIGH_CONFIDENCE: c_char = 1; -pub const DEFAULT_WEIGHT: c_float = 1.0; -pub const SP_MAX_WORD_LENGTH: ULONG = 128; -pub const SP_MAX_PRON_LENGTH: ULONG = 384; -RIDL!{#[uuid(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)] -interface ISpNotifyCallback(ISpNotifyCallbackVtbl) { - fn NotifyCallback( - wParam: WPARAM, - lParam: LPARAM, - ) -> HRESULT, -}} -FN!{stdcall SPNOTIFYCALLBACK( - wParam: WPARAM, - lParam: LPARAM, -) -> ()} -RIDL!{#[uuid(0x5eff4aef, 0x8487, 0x11d2, 0x96, 0x1c, 0x00, 0xc0, 0x4f, 0x8e, 0xe6, 0x28)] -interface ISpNotifySource(ISpNotifySourceVtbl): IUnknown(IUnknownVtbl) { - fn SetNotifySink( - pNotifySink: *mut ISpNotifySink, - ) -> HRESULT, - fn SetNotifyWindowMessage( - hWnd: HWND, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> HRESULT, - fn SetNotifyCallbackFunction( - pfnCallback: SPNOTIFYCALLBACK, - wParam: WPARAM, - lParam: LPARAM, - ) -> HRESULT, - fn SetNotifyCallbackInterface( - pSpCallback: *mut ISpNotifyCallback, - wParam: WPARAM, - lParam: LPARAM, - ) -> HRESULT, - fn SetNotifyWin32Event() -> HRESULT, - fn WaitForNotifyEvent( - dwMilliseconds: DWORD, - ) -> HRESULT, - fn GetNotifyEventHandle() -> HANDLE, -}} -RIDL!{#[uuid(0x259684dc, 0x37c3, 0x11d2, 0x96, 0x03, 0x00, 0xc0, 0x4f, 0x8e, 0xe6, 0x28)] -interface ISpNotifySink(ISpNotifySinkVtbl): IUnknown(IUnknownVtbl) { - fn Notify() -> HRESULT, -}} -RIDL!{#[uuid(0xaca16614, 0x5d3d, 0x11d2, 0x96, 0x0e, 0x00, 0xc0, 0x4f, 0x8e, 0xe6, 0x28)] -interface ISpNotifyTranslator(ISpNotifyTranslatorVtbl): ISpNotifySink(ISpNotifySinkVtbl) { - fn InitWindowMessage( - hWnd: HWND, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> HRESULT, - fn InitCallback( - pfnCallback: SPNOTIFYCALLBACK, - wParam: WPARAM, - lParam: LPARAM, - ) -> HRESULT, - fn InitSpNotifyCallback( - pSpCallback: *mut ISpNotifyCallback, - wParam: WPARAM, - lParam: LPARAM, - ) -> HRESULT, - fn InitWin32Event( - hEvent: HANDLE, - fCloseHandleOnRelease: BOOL, - ) -> HRESULT, - fn Wait( - dwMilliseconds: DWORD, - ) -> HRESULT, - fn GetEventHandle() -> HANDLE, -}} -RIDL!{#[uuid(0x14056581, 0xe16c, 0x11d2, 0xbb, 0x90, 0x00, 0xc0, 0x4f, 0x8e, 0xe6, 0xc0)] -interface ISpDataKey(ISpDataKeyVtbl): IUnknown(IUnknownVtbl) { - fn SetData( - pszValueName: LPCWSTR, - cbData: ULONG, - pData: *const BYTE, - ) -> HRESULT, - fn GetData( - pszValueName: LPCWSTR, - pcbData: *mut ULONG, - pData: *mut BYTE, - ) -> HRESULT, - fn SetStringValue( - pszValueName: LPCWSTR, - pszValue: LPCWSTR, - ) -> HRESULT, - fn GetStringValue( - pszValueName: LPCWSTR, - ppszValue: *mut LPWSTR, - ) -> HRESULT, - fn SetDWORD( - pszValueName: LPCWSTR, - dwValue: DWORD, - ) -> HRESULT, - fn GetDWORD( - pszValueName: LPCWSTR, - pdwValue: *mut DWORD, - ) -> HRESULT, - fn OpenKey( - pszSubKeyName: LPCWSTR, - ppSubKey: *mut *mut ISpDataKey, - ) -> HRESULT, - fn CreateKey( - pszSubKey: LPCWSTR, - ppSubKey: *mut *mut ISpDataKey, - ) -> HRESULT, - fn DeleteKey( - pszSubKey: LPCWSTR, - ) -> HRESULT, - fn DeleteValue( - pszValueName: LPCWSTR, - ) -> HRESULT, - fn EnumKeys( - Index: ULONG, - ppszSubKeyName: *mut LPWSTR, - ) -> HRESULT, - fn EnumValues( - Index: ULONG, - ppszValueName: *mut LPWSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x92a66e2b, 0xc830, 0x4149, 0x83, 0xdf, 0x6f, 0xc2, 0xba, 0x1e, 0x7a, 0x5b)] -interface ISpRegDataKey(ISpRegDataKeyVtbl): ISpDataKey(ISpDataKeyVtbl) { - fn SetKey( - hkey: HKEY, - fReadOnly: BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2d3d3845, 0x39af, 0x4850, 0xbb, 0xf9, 0x40, 0xb4, 0x97, 0x80, 0x01, 0x1d)] -interface ISpObjectTokenCategory(ISpObjectTokenCategoryVtbl): ISpDataKey(ISpDataKeyVtbl) { - fn SetId( - pszCategoryId: LPCWSTR, - fCreateIfNotExist: BOOL, - ) -> HRESULT, - fn GetId( - ppszCoMemCategoryId: *mut LPWSTR, - ) -> HRESULT, - fn GetDataKey( - spdkl: SPDATAKEYLOCATION, - pppDataKey: *mut *mut ISpDataKey, - ) -> HRESULT, - fn EnumTokens( - pzsReqAttribs: LPCWSTR, - pszOptAttribs: LPCWSTR, - ppEnum: *mut *mut IEnumSpObjectTokens, - ) -> HRESULT, - fn SetDefaultTokenId( - pszTokenId: LPCWSTR, - ) -> HRESULT, - fn GetDefaultTokenId( - ppszCoMemTokenId: *mut LPWSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x14056589, 0xe16c, 0x11d2, 0xbb, 0x90, 0x00, 0xc0, 0x4f, 0x8e, 0xe6, 0xc0)] -interface ISpObjectToken(ISpObjectTokenVtbl): ISpDataKey(ISpDataKeyVtbl) { - fn SetId( - pszCategoryId: LPCWSTR, - pszTokenId: LPCWSTR, - fCreateIfNotExist: BOOL, - ) -> HRESULT, - fn GetId( - ppszCoMemTokenId: *mut LPWSTR, - ) -> HRESULT, - fn GetCategory( - ppTokenCategory: *mut *mut ISpObjectTokenCategory, - ) -> HRESULT, - fn CreateInstance( - pUnkOuter: *mut IUnknown, - dwClsContext: DWORD, - riid: REFIID, - ppvObject: *mut *mut c_void, - ) -> HRESULT, - fn GetStorageFileName( - clsidCaller: REFCLSID, - pszValueName: LPCWSTR, - pszFileNameSpecifier: LPCWSTR, - nFolder: ULONG, - ppszFilePath: *mut LPWSTR, - ) -> HRESULT, - fn RemoveStorageFileName( - pszKeyName: LPCWSTR, - fDeleteFile: BOOL, - ) -> HRESULT, - fn Remove( - pclsidCaller: *const CLSID, - ) -> HRESULT, - fn IsUISupported( - pszTypeOfUI: LPCWSTR, - pvExtraData: *mut c_void, - cbExtraData: ULONG, - punkObject: *mut IUnknown, - pfSupported: *mut BOOL, - ) -> HRESULT, - fn DisplayUI( - hwndParent: HWND, - pszTitle: LPCWSTR, - pszTypeOfUI: LPCWSTR, - pvExtraData: *mut c_void, - cbExtraData: ULONG, - punkObject: *mut IUnknown, - ) -> HRESULT, - fn MatchesAttributes( - pszAttributes: LPCWSTR, - pfMatches: *mut BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xb8aab0cf, 0x346f, 0x49d8, 0x94, 0x99, 0xc8, 0xb0, 0x3f, 0x16, 0x1d, 0x51)] -interface ISpObjectTokenInit(ISpObjectTokenInitVtbl): ISpObjectToken(ISpObjectTokenVtbl) { - fn InitFromDataKey( - pszCategoryId: LPCWSTR, - pszTokenId: LPCWSTR, - pDataKey: *mut ISpDataKey, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x06b64f9e, 0x7fda, 0x11d2, 0xb4, 0xf2, 0x00, 0xc0, 0x4f, 0x79, 0x73, 0x96)] -interface IEnumSpObjectTokens(IEnumSpObjectTokensVtbl): IUnknown(IUnknownVtbl) { - fn Next( - celt: ULONG, - pelt: *mut *mut ISpObjectToken, - pceltFetched: *mut ULONG, - ) -> HRESULT, - fn Skip( - celt: ULONG, - ) -> HRESULT, - fn Reset() -> HRESULT, - fn Clone( - ppEnum: *mut *mut IEnumSpObjectTokens, - ) -> HRESULT, - fn Item( - Index: ULONG, - ppToken: *mut *mut ISpObjectToken, - ) -> HRESULT, - fn GetCount( - pCount: *mut ULONG, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x5b559f40, 0xe952, 0x11d2, 0xbb, 0x91, 0x00, 0xc0, 0x4f, 0x8e, 0xe6, 0xc0)] -interface ISpObjectWithToken(ISpObjectWithTokenVtbl): IUnknown(IUnknownVtbl) { - fn SetObjectToken( - pToken: *mut ISpObjectToken, - ) -> HRESULT, - fn GetObjectToken( - ppToken: *mut *mut ISpObjectToken, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x93384e18, 0x5014, 0x43d5, 0xad, 0xbb, 0xa7, 0x8e, 0x05, 0x59, 0x26, 0xbd)] -interface ISpResourceManager(ISpResourceManagerVtbl): IServiceProvider(IServiceProviderVtbl) { - fn SetObject( - guidServiceId: REFGUID, - pUnkObject: *mut IUnknown, - ) -> HRESULT, - fn GetObject( - guidServiceId: REFGUID, - ObjectCLSID: REFCLSID, - ObjectIID: REFIID, - fReleaseWhenLastExternalRefReleased: BOOL, - ppObject: *mut *mut c_void, - ) -> HRESULT, -}} -ENUM!{enum SPEVENTLPARAMTYPE { - SPET_LPARAM_IS_UNDEFINED = 0, - SPET_LPARAM_IS_TOKEN, - SPET_LPARAM_IS_OBJECT, - SPET_LPARAM_IS_POINTER, - SPET_LPARAM_IS_STRING, -}} -ENUM!{enum SPEVENTENUM { - SPEI_UNDEFINED = 0, - SPEI_START_INPUT_STREAM = 1, - SPEI_END_INPUT_STREAM = 2, - SPEI_VOICE_CHANGE = 3, - SPEI_TTS_BOOKMARK = 4, - SPEI_WORD_BOUNDARY = 5, - SPEI_PHONEME = 6, - SPEI_SENTENCE_BOUNDARY = 7, - SPEI_VISEME = 8, - SPEI_TTS_AUDIO_LEVEL = 9, - SPEI_TTS_PRIVATE = 15, - SPEI_MIN_TTS = 1, - SPEI_MAX_TTS = 15, - SPEI_END_SR_STREAM = 34, - SPEI_SOUND_START = 35, - SPEI_SOUND_END = 36, - SPEI_PHRASE_START = 37, - SPEI_RECOGNITION = 38, - SPEI_HYPOTHESIS = 39, - SPEI_SR_BOOKMARK = 40, - SPEI_PROPERTY_NUM_CHANGE = 41, - SPEI_PROPERTY_STRING_CHANGE = 42, - SPEI_FALSE_RECOGNITION = 43, - SPEI_INTERFERENCE = 44, - SPEI_REQUEST_UI = 45, - SPEI_RECO_STATE_CHANGE = 46, - SPEI_ADAPTATION = 47, - SPEI_START_SR_STREAM = 48, - SPEI_RECO_OTHER_CONTEXT = 49, - SPEI_SR_AUDIO_LEVEL = 50, - SPEI_SR_PRIVATE = 52, - SPEI_MIN_SR = 34, - SPEI_MAX_SR = 52, - SPEI_RESERVED1 = 30, - SPEI_RESERVED2 = 33, - SPEI_RESERVED3 = 63, -}} -pub const SPFEI_FLAGCHECK: ULONGLONG = (1 << SPEI_RESERVED1) | (1 << SPEI_RESERVED2); -pub const SPFEI_ALL_TTS_EVENTS: ULONGLONG = 0x000000000000FFFE | SPFEI_FLAGCHECK; -pub const SPFEI_ALL_SR_EVENTS: ULONGLONG = 0x003FFFFC00000000 | SPFEI_FLAGCHECK; -pub const SPFEI_ALL_EVENTS: ULONGLONG = 0xEFFFFFFFFFFFFFFF; -#[inline] -pub fn SPFEI( - SPEI_ord: SPEVENTENUM, - ) -> ULONGLONG { - (1 << SPEI_ord) | SPFEI_FLAGCHECK -} -STRUCT!{struct SPEVENT { - bitfields: DWORD, - ulStreamNum: ULONG, - ullAudioStreamOffset: ULONGLONG, - wParam: WPARAM, - lParam: LPARAM, -}} -BITFIELD!{SPEVENT bitfields: SPEVENTENUM [ eEventId set_eEventId[0..16], ]} -BITFIELD!{SPEVENT bitfields: SPEVENTLPARAMTYPE [ elParamType set_elParamType[16..32], ]} -STRUCT!{struct SPSERIALIZEDEVENT { - bitfields: DWORD, - ulStreamNum: ULONG, - ullAudioStreamOffset: ULONGLONG, - SerializedwParam: ULONG, - SerializedlParam: LONG, -}} -BITFIELD!{SPSERIALIZEDEVENT bitfields: SPEVENTENUM [ eEventId set_eEventId[0..16], ]} -BITFIELD!{SPSERIALIZEDEVENT bitfields: SPEVENTLPARAMTYPE [ elParamType set_elParamType[16..32], ]} -STRUCT!{struct SPSERIALIZEDEVENT64 { - bitfields: DWORD, - ulStreamNum: ULONG, - ullAudioStreamOffset: ULONGLONG, - SerializedwParam: ULONGLONG, - SerializedlParam: LONGLONG, -}} -BITFIELD!{SPSERIALIZEDEVENT64 bitfields: SPEVENTENUM [ - eEventId set_eEventId[0..16], -]} -BITFIELD!{SPSERIALIZEDEVENT64 bitfields: SPEVENTLPARAMTYPE [ - elParamType set_elParamType[16..32], -]} -ENUM!{enum SPINTERFERENCE { - SPINTERFERENCE_NONE = 0, - SPINTERFERENCE_NOISE, - SPINTERFERENCE_NOSIGNAL, - SPINTERFERENCE_TOOLOUD, - SPINTERFERENCE_TOOQUIET, - SPINTERFERENCE_TOOFAST, - SPINTERFERENCE_TOOSLOW, - SPINTERFERENCE_LATENCY_WARNING, - SPINTERFERENCE_LATENCY_TRUNCATE_BEGIN , - SPINTERFERENCE_LATENCY_TRUNCATE_END, -}} -ENUM!{enum SPENDSRSTREAMFLAGS { - SPESF_NONE = 0, - SPESF_STREAM_RELEASED = 1 << 0, - SPESF_EMULATED = 1 << 1, -}} -ENUM!{enum SPVFEATURE { - SPVFEATURE_STRESSED = 1 << 0, - SPVFEATURE_EMPHASIS = 1 << 1, -}} -ENUM!{enum SPVISEMES { - SP_VISEME_0 = 0, - SP_VISEME_1, - SP_VISEME_2, - SP_VISEME_3, - SP_VISEME_4, - SP_VISEME_5, - SP_VISEME_6, - SP_VISEME_7, - SP_VISEME_8, - SP_VISEME_9, - SP_VISEME_10, - SP_VISEME_11, - SP_VISEME_12, - SP_VISEME_13, - SP_VISEME_14, - SP_VISEME_15, - SP_VISEME_16, - SP_VISEME_17, - SP_VISEME_18, - SP_VISEME_19, - SP_VISEME_20, - SP_VISEME_21, -}} -STRUCT!{struct SPEVENTSOURCEINFO { - ullEventInterest: ULONGLONG, - ullQueuedInterest: ULONGLONG, - ulCount: ULONG, -}} -RIDL!{#[uuid(0xbe7a9cce, 0x5f9e, 0x11d2, 0x96, 0x0f, 0x00, 0xc0, 0x4f, 0x8e, 0xe6, 0x28)] -interface ISpEventSource(ISpEventSourceVtbl): ISpNotifySource(ISpNotifySourceVtbl) { - fn SetInterest( - ullEventInterest: ULONGLONG, - ullQueuedInterest: ULONGLONG, - ) -> HRESULT, - fn GetEvents( - ulCount: ULONG, - pEventArray: *mut SPEVENT, - pulFetched: *mut ULONG, - ) -> HRESULT, - fn GetInfo( - pInfo: *mut SPEVENTSOURCEINFO, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xbe7a9cc9, 0x5f9e, 0x11d2, 0x96, 0x0f, 0x00, 0xc0, 0x4f, 0x8e, 0xe6, 0x28)] -interface ISpEventSink(ISpEventSinkVtbl): IUnknown(IUnknownVtbl) { - fn AddEvents( - pEventArray: *const SPEVENT, - ulCount: ULONG, - ) -> HRESULT, - fn GetEventInterest( - pullEventInterest: *mut ULONGLONG, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xbed530be, 0x2606, 0x4f4d, 0xa1, 0xc0, 0x54, 0xc5, 0xcd, 0xa5, 0x56, 0x6f)] -interface ISpStreamFormat(ISpStreamFormatVtbl): IStream(IStreamVtbl) { - fn GetFormat( - pguidFormatId: *mut GUID, - ppCoMemWaveFormatEx: *mut *mut WAVEFORMATEX, - ) -> HRESULT, -}} -ENUM!{enum SPFILEMODE { - SPFM_OPEN_READONLY, - SPFM_OPEN_READWRITE, - SPFM_CREATE, - SPFM_CREATE_ALWAYS, - SPFM_NUM_MODES, -}} -RIDL!{#[uuid(0x12e3cca9, 0x7518, 0x44c5, 0xa5, 0xe7, 0xba, 0x5a, 0x79, 0xcb, 0x92, 0x9e)] -interface ISpStream(ISpStreamVtbl): ISpStreamFormat(ISpStreamFormatVtbl) { - fn SetBaseStream( - pStream: *mut IStream, - rguidFormat: REFGUID, - pWaveFormatEx: *const WAVEFORMATEX, - ) -> HRESULT, - fn GetBaseStream( - ppStream: *mut *mut IStream, - ) -> HRESULT, - fn BindToFile( - pszFileName: LPCWSTR, - eMode: SPFILEMODE, - pFormatId: *const GUID, - pWaveFormatEx: *const WAVEFORMATEX, - ullEventInterest: ULONGLONG, - ) -> HRESULT, - fn Close() -> HRESULT, -}} -RIDL!{#[uuid(0x678a932c, 0xea71, 0x4446, 0x9b, 0x41, 0x78, 0xfd, 0xa6, 0x28, 0x0a, 0x29)] -interface ISpStreamFormatConverter(ISpStreamFormatConverterVtbl): - ISpStreamFormat(ISpStreamFormatVtbl) { - fn SetBaseStream( - pStream: *mut ISpStreamFormat, - fSetFormatToBaseStreamFormat: BOOL, - fWriteToBaseStream: BOOL, - ) -> HRESULT, - fn GetBaseStream( - ppStream: *mut *mut ISpStreamFormat, - ) -> HRESULT, - fn SetFormat( - rguidFormatIdOfConvertedStream: REFGUID, - pWaveFormatExOfConvertedStream: *const WAVEFORMATEX, - ) -> HRESULT, - fn ResetSeekPosition() -> HRESULT, - fn ScaleConvertedToBaseOffset( - ullOffsetConvertedStream: ULONGLONG, - pullOffsetBaseStream: *mut ULONGLONG, - ) -> HRESULT, - fn ScaleBaseToConvertedOffset( - ullOffsetBaseStream: ULONGLONG, - pullOffsetConvertedStream: *mut ULONGLONG, - ) -> HRESULT, -}} -ENUM!{enum SPAUDIOSTATE { - SPAS_CLOSED, - SPAS_STOP, - SPAS_PAUSE, - SPAS_RUN, -}} -STRUCT!{struct SPAUDIOSTATUS { - cbFreeBuffSpace: c_long, - cbNonBlockingIO: ULONG, - State: SPAUDIOSTATE, - CurSeekPos: ULONGLONG, - CurDevicePos: ULONGLONG, - dwAudioLevel: DWORD, - dwReserved2: DWORD, -}} -STRUCT!{struct SPAUDIOBUFFERINFO { - ulMsMinNotification: ULONG, - ulMsBufferSize: ULONG, - ulMsEventBias: ULONG, -}} -RIDL!{#[uuid(0xc05c768f, 0xfae8, 0x4ec2, 0x8e, 0x07, 0x33, 0x83, 0x21, 0xc1, 0x24, 0x52)] -interface ISpAudio(ISpAudioVtbl): ISpStreamFormat(ISpStreamFormatVtbl) { - fn SetState( - NewState: SPAUDIOSTATE, - ullReserved: ULONGLONG, - ) -> HRESULT, - fn SetFormat( - rguidFmtId: REFGUID, - pWaveFormatEx: *const WAVEFORMATEX, - ) -> HRESULT, - fn GetStatus( - pStatus: *mut SPAUDIOSTATUS, - ) -> HRESULT, - fn SetBufferInfo( - pBuffInfo: *const SPAUDIOBUFFERINFO, - ) -> HRESULT, - fn GetBufferInfo( - pBuffInfo: *mut SPAUDIOBUFFERINFO, - ) -> HRESULT, - fn GetDefaultFormat( - pFormatId: *mut GUID, - ppCoMemWaveFormatEx: *mut *mut WAVEFORMATEX, - ) -> HRESULT, - fn EventHandle() -> HANDLE, - fn GetVolumeLevel( - pLevel: *mut ULONG, - ) -> HRESULT, - fn SetVolumeLevel( - Level: ULONG, - ) -> HRESULT, - fn GetBufferNotifySize( - pcbSize: *mut ULONG, - ) -> HRESULT, - fn SetBufferNotifySize( - cbSize: ULONG, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x15806f6e, 0x1d70, 0x4b48, 0x98, 0xe6, 0x3b, 0x1a, 0x00, 0x75, 0x09, 0xab)] -interface ISpMMSysAudio(ISpMMSysAudioVtbl): ISpAudio(ISpAudioVtbl) { - fn GetDeviceId( - puDeviceId: *mut UINT, - ) -> HRESULT, - fn SetDeviceId( - uDeviceId: UINT, - ) -> HRESULT, - fn GetMMHandle( - pHandle: *mut *mut c_void, - ) -> HRESULT, - fn GetLineId( - puLineId: *mut UINT, - ) -> HRESULT, - fn SetLineId( - uLineId: UINT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x10f63bce, 0x201a, 0x11d3, 0xac, 0x70, 0x00, 0xc0, 0x4f, 0x8e, 0xe6, 0xc0)] -interface ISpTranscript(ISpTranscriptVtbl): IUnknown(IUnknownVtbl) { - fn GetTranscript( - ppszTranscript: *mut LPWSTR, - ) -> HRESULT, - fn AppendTranscript( - pszTranscript: LPCWSTR, - ) -> HRESULT, -}} -ENUM!{enum SPDISPLAYATTRIBUTES { - SPAF_ONE_TRAILING_SPACE = 0x2, - SPAF_TWO_TRAILING_SPACES = 0x4, - SPAF_CONSUME_LEADING_SPACES = 0x8, - SPAF_ALL = 0xf, -}} -pub type SPPHONEID = WCHAR; -pub type PSPPHONEID = LPWSTR; -pub type PCSPPHONEID = LPCWSTR; -STRUCT!{struct SPPHRASEELEMENT { - ulAudioTimeOffset: ULONG, - ulAudioSizeTime: ULONG, - ulAudioStreamOffset: ULONG, - ulAudioSizeBytes: ULONG, - ulRetainedStreamOffset: ULONG, - ulRetainedSizeBytes: ULONG, - pszDisplayText: LPCWSTR, - pszLexicalForm: LPCWSTR, - pszPronunciation: *const SPPHONEID, - bDisplayAttributes: BYTE, - RequiredConfidence: c_char, - ActualConfidence: c_char, - Reserved: BYTE, - SREngineConfidence: c_float, -}} -STRUCT!{struct SPPHRASERULE { - pszName: LPCWSTR, - ulId: ULONG, - ulFirstElement: ULONG, - ulCountOfElements: ULONG, - pNextSibling: *const SPPHRASERULE, - pFirstChild: *const SPPHRASERULE, - SREngineConfidence: c_float, - Confidence: c_char, -}} -ENUM!{enum SPPHRASEPROPERTYUNIONTYPE { - SPPPUT_UNUSED = 0, - SPPPUT_ARRAY_INDEX, -}} -STRUCT!{struct SPPHRASEPROPERTY_u_s { - bType: byte, - bReserved: byte, - usArrayIndex: c_ushort, -}} -UNION!{union SPPHRASEPROPERTY_u { - [u32; 1], - ulId ulId_mut: ULONG, - s s_mut: SPPHRASEPROPERTY_u_s, -}} -STRUCT!{struct SPPHRASEPROPERTY { - pszName: LPCWSTR, - u: SPPHRASEPROPERTY_u_s, - pszValue: LPCWSTR, - vValue: VARIANT, - ulFirstElement: ULONG, - ulCountOfElements: ULONG, - pNextSibling: *const SPPHRASEPROPERTY, - pFirstChild: *const SPPHRASEPROPERTY, - SREngineConfidence: c_float, - Confidence: c_char, -}} -STRUCT!{struct SPPHRASEREPLACEMENT { - bDisplayAttributes: BYTE, - pszReplacementText: LPCWSTR, - ulFirstElement: ULONG, - ulCountOfElements: ULONG, -}} -STRUCT!{struct SPPHRASE { - cbSize: ULONG, - LangID: WORD, - wHomophoneGroupId: WORD, - ullGrammarID: ULONGLONG, - ftStartTime: ULONGLONG, - ullAudioStreamPosition: ULONGLONG, - ulAudioSizeBytes: ULONG, - ulRetainedSizeBytes: ULONG, - ulAudioSizeTime: ULONG, - Rule: SPPHRASERULE, - pProperties: *const SPPHRASEPROPERTY, - pElements: *const SPPHRASEELEMENT, - cReplacements: ULONG, - pReplacements: *const SPPHRASEREPLACEMENT, - SREngineID: GUID, - ulSREnginePrivateDataSize: ULONG, - pSREnginePrivateData: *const BYTE, -}} -STRUCT!{struct SPSERIALIZEDPHRASE { - ulSerializedSize: ULONG, -}} -ENUM!{enum SPVALUETYPE { - SPDF_PROPERTY = 0x1, - SPDF_REPLACEMENT = 0x2, - SPDF_RULE = 0x4, - SPDF_DISPLAYTEXT = 0x8, - SPDF_LEXICALFORM = 0x10, - SPDF_PRONUNCIATION = 0x20, - SPDF_AUDIO = 0x40, - SPDF_ALTERNATES = 0x80, - SPDF_ALL = 0xff, -}} -STRUCT!{struct SPBINARYGRAMMAR { - ulTotalSerializedSize: ULONG, -}} -ENUM!{enum SPPHRASERNG { - SPPR_ALL_ELEMENTS = -1i32 as u32, -}} -pub const SP_GETWHOLEPHRASE: SPPHRASERNG = SPPR_ALL_ELEMENTS; -pub const SPRR_ALL_ELEMENTS: SPPHRASERNG = SPPR_ALL_ELEMENTS; -DECLARE_HANDLE!{SPSTATEHANDLE, SPSTATEHANDLE__} -ENUM!{enum SPRECOEVENTFLAGS { - SPREF_AutoPause = 1 << 0, - SPREF_Emulated = 1 << 1, -}} -ENUM!{enum SPPARTOFSPEECH { - SPPS_NotOverriden = -1i32 as u32, - SPPS_Unknown = 0, - SPPS_Noun = 0x1000, - SPPS_Verb = 0x2000, - SPPS_Modifier = 0x3000, - SPPS_Function = 0x4000, - SPPS_Interjection = 0x5000, -}} -ENUM!{enum SPLEXICONTYPE { - eLEXTYPE_USER = 1 << 0, - eLEXTYPE_APP = 1 << 1, - eLEXTYPE_VENDORLEXICON = 1 << 2, - eLEXTYPE_LETTERTOSOUND = 1 << 3, - eLEXTYPE_MORPHOLOGY = 1 << 4, - eLEXTYPE_RESERVED4 = 1 << 5, - eLEXTYPE_USER_SHORTCUT = 1 << 6, - eLEXTYPE_RESERVED6 = 1 << 7, - eLEXTYPE_RESERVED7 = 1 << 8, - eLEXTYPE_RESERVED8 = 1 << 9, - eLEXTYPE_RESERVED9 = 1 << 10, - eLEXTYPE_RESERVED10 = 1 << 11, - eLEXTYPE_PRIVATE1 = 1 << 12, - eLEXTYPE_PRIVATE2 = 1 << 13, - eLEXTYPE_PRIVATE3 = 1 << 14, - eLEXTYPE_PRIVATE4 = 1 << 15, - eLEXTYPE_PRIVATE5 = 1 << 16, - eLEXTYPE_PRIVATE6 = 1 << 17, - eLEXTYPE_PRIVATE7 = 1 << 18, - eLEXTYPE_PRIVATE8 = 1 << 19, - eLEXTYPE_PRIVATE9 = 1 << 20, - eLEXTYPE_PRIVATE10 = 1 << 21, - eLEXTYPE_PRIVATE11 = 1 << 22, - eLEXTYPE_PRIVATE12 = 1 << 23, - eLEXTYPE_PRIVATE13 = 1 << 24, - eLEXTYPE_PRIVATE14 = 1 << 25, - eLEXTYPE_PRIVATE15 = 1 << 26, - eLEXTYPE_PRIVATE16 = 1 << 27, - eLEXTYPE_PRIVATE17 = 1 << 28, - eLEXTYPE_PRIVATE18 = 1 << 29, - eLEXTYPE_PRIVATE19 = 1 << 30, - eLEXTYPE_PRIVATE20 = 1 << 31, -}} -ENUM!{enum SPWORDTYPE { - eWORDTYPE_ADDED = 1 << 0, - eWORDTYPE_DELETED = 1 << 1, -}} -STRUCT!{struct SPWORDPRONUNCIATION { - pNextWordPronunciation: *mut SPWORDPRONUNCIATION, - eLexiconType: SPLEXICONTYPE, - LangID: WORD, - wPronunciationFlags: WORD, - ePartOfSpeech: SPPARTOFSPEECH, - szPronunciation: [SPPHONEID; 1], -}} -STRUCT!{struct SPWORDPRONUNCIATIONLIST { - ulSize: ULONG, - pvBuffer: *mut BYTE, - pFirstWordPronunciation: *mut SPWORDPRONUNCIATION, -}} -STRUCT!{struct SPWORD { - pNextWord: *mut SPWORD, - LangID: WORD, - wReserved: WORD, - eWordType: SPWORDTYPE, - pszWord: LPWSTR, - pFirstWordPronunciation: *mut SPWORDPRONUNCIATION, -}} -STRUCT!{struct SPWORDLIST { - ulSize: ULONG, - pvBuffer: *mut BYTE, - pFirstWord: *mut SPWORD, -}} -RIDL!{#[uuid(0xda41a7c2, 0x5383, 0x4db2, 0x91, 0x6b, 0x6c, 0x17, 0x19, 0xe3, 0xdb, 0x58)] -interface ISpLexicon(ISpLexiconVtbl): IUnknown(IUnknownVtbl) { - fn GetPronunciations( - pszWord: LPCWSTR, - LangID: WORD, - dwFlags: DWORD, - pWordPronunciationList: *mut SPWORDPRONUNCIATIONLIST, - ) -> HRESULT, - fn AddPronunciation( - pszWord: LPCWSTR, - LangID: WORD, - ePartOfSpeech: SPPARTOFSPEECH, - pszPronunciation: PCSPPHONEID, - ) -> HRESULT, - fn RemovePronunciation( - pszWord: LPCWSTR, - LangID: WORD, - ePartOfSpeech: SPPARTOFSPEECH, - pszPronunciation: PCSPPHONEID, - ) -> HRESULT, - fn GetGeneration( - pdwGeneration: *mut DWORD, - ) -> HRESULT, - fn GetGenerationChange( - dwFlags: DWORD, - pdwGeneration: *mut DWORD, - pWordList: *mut SPWORDLIST, - ) -> HRESULT, - fn GetWords( - dwFlags: DWORD, - pdwGeneration: *mut DWORD, - pdwCookie: *mut DWORD, - pWordList: *mut SPWORDLIST, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x8565572f, 0xc094, 0x41cc, 0xb5, 0x6e, 0x10, 0xbd, 0x9c, 0x3f, 0xf0, 0x44)] -interface ISpContainerLexicon(ISpContainerLexiconVtbl): ISpLexicon(ISpLexiconVtbl) { - fn AddLexicon( - pAddLexicon: *mut ISpLexicon, - dwFlags: DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x8445c581, 0x0cac, 0x4a38, 0xab, 0xfe, 0x9b, 0x2c, 0xe2, 0x82, 0x64, 0x55)] -interface ISpPhoneConverter(ISpPhoneConverterVtbl): ISpObjectWithToken(ISpObjectWithTokenVtbl) { - fn PhoneToId( - pszPhone: LPCWSTR, - pId: *mut SPPHONEID, - ) -> HRESULT, - fn IdToPhone( - pId: PCSPPHONEID, - pszPhone: *mut WCHAR, - ) -> HRESULT, -}} -STRUCT!{struct SPVPITCH { - MiddleAdj: c_long, - RangeAdj: c_long, -}} -ENUM!{enum SPVACTIONS { - SPVA_Speak = 0, - SPVA_Silence, - SPVA_Pronounce, - SPVA_Bookmark, - SPVA_SpellOut, - SPVA_Section, - SPVA_ParseUnknownTag, -}} -STRUCT!{struct SPVCONTEXT { - pCategory: LPCWSTR, - pBefore: LPCWSTR, - pAfter: LPCWSTR, -}} -STRUCT!{struct SPVSTATE { - eAction: SPVACTIONS, - LangID: WORD, - wReserved: WORD, - EmphAdj: c_long, - RateAdj: c_long, - Volume: ULONG, - PitchAdj: SPVPITCH, - SilenceMSecs: ULONG, - pPhoneIds: *mut SPPHONEID, - ePartOfSpeech: SPPARTOFSPEECH, - Context: SPVCONTEXT, -}} -ENUM!{enum SPRUNSTATE { - SPRS_DONE = 1 << 0, - SPRS_IS_SPEAKING = 1 << 1, -}} -ENUM!{enum SPVLIMITS { - SPMIN_VOLUME = 0, - SPMAX_VOLUME = 100, - SPMIN_RATE = -10i32 as u32, - SPMAX_RATE = 10, -}} -ENUM!{enum SPVPRIORITY { - SPVPRI_NORMAL = 0, - SPVPRI_ALERT = 1 << 0, - SPVPRI_OVER = 1 << 1, -}} -STRUCT!{struct SPVOICESTATUS { - ulCurrentStream: ULONG, - ulLastStreamQueued: ULONG, - hrLastResult: HRESULT, - dwRunningState: DWORD, - ulInputWordPos: ULONG, - ulInputWordLen: ULONG, - ulInputSentPos: ULONG, - ulInputSentLen: ULONG, - lBookmarkId: LONG, - PhonemeId: SPPHONEID, - VisemeId: SPVISEMES, - dwReserved1: DWORD, - dwReserved2: DWORD, -}} -ENUM!{enum SPEAKFLAGS { - SPF_DEFAULT = 0, - SPF_ASYNC = 1 << 0, - SPF_PURGEBEFORESPEAK = 1 << 1, - SPF_IS_FILENAME = 1 << 2, - SPF_IS_XML = 1 << 3, - SPF_IS_NOT_XML = 1 << 4, - SPF_PERSIST_XML = 1 << 5, - SPF_NLP_SPEAK_PUNC = 1 << 6, - SPF_NLP_MASK = SPF_NLP_SPEAK_PUNC, - SPF_VOICE_MASK = SPF_ASYNC | SPF_PURGEBEFORESPEAK - | SPF_IS_FILENAME | SPF_IS_XML | SPF_IS_NOT_XML - | SPF_NLP_MASK | SPF_PERSIST_XML, - SPF_UNUSED_FLAGS = !SPF_VOICE_MASK, -}} -RIDL!{#[uuid(0x6c44df74, 0x72b9, 0x4992, 0xa1, 0xec, 0xef, 0x99, 0x6e, 0x04, 0x22, 0xd4)] -interface ISpVoice(ISpVoiceVtbl): ISpEventSource(ISpEventSourceVtbl) { - fn SetOutput( - pUnkOutput: *mut IUnknown, - fAllowFormatChanges: BOOL, - ) -> HRESULT, - fn GetOutputObjectToken( - ppObjectToken: *mut *mut ISpObjectToken, - ) -> HRESULT, - fn GetOutputStream( - ppStream: *mut *mut ISpStreamFormat, - ) -> HRESULT, - fn Pause() -> HRESULT, - fn Resume() -> HRESULT, - fn SetVoice( - pToken: *mut ISpObjectToken, - ) -> HRESULT, - fn GetVoice( - ppToken: *mut *mut ISpObjectToken, - ) -> HRESULT, - fn Speak( - pwcs: LPCWSTR, - dwFlags: DWORD, - pulStreamNumber: *mut ULONG, - ) -> HRESULT, - fn SpeakStream( - pStream: *mut IStream, - dwFlags: DWORD, - pulStreamNumber: *mut ULONG, - ) -> HRESULT, - fn GetStatus( - pStatus: *mut SPVOICESTATUS, - ppszLastBookmark: *mut LPWSTR, - ) -> HRESULT, - fn Skip( - pItemType: LPCWSTR, - lNumItems: c_long, - pulNumSkipped: *mut ULONG, - ) -> HRESULT, - fn SetPriority( - ePriority: SPVPRIORITY, - ) -> HRESULT, - fn GetPriority( - pePriority: *mut SPVPRIORITY, - ) -> HRESULT, - fn SetAlertBoundary( - eBoundary: SPEVENTENUM, - ) -> HRESULT, - fn GetAlertBoundary( - peBoundary: *mut SPEVENTENUM, - ) -> HRESULT, - fn SetRate( - RateAdjust: c_long, - ) -> HRESULT, - fn GetRate( - pRateAdjust: *mut c_long, - ) -> HRESULT, - fn SetVolume( - usVolume: USHORT, - ) -> HRESULT, - fn GetVolume( - pusVolume: *mut USHORT, - ) -> HRESULT, - fn WaitUntilDone( - msTimeout: ULONG, - ) -> HRESULT, - fn SetSyncSpeakTimeout( - msTimeout: ULONG, - ) -> HRESULT, - fn GetSyncSpeakTimeout( - pmsTimeout: *mut ULONG, - ) -> HRESULT, - fn SpeakCompleteEvent() -> HANDLE, - fn IsUISupported( - pszTypeOfUI: LPCWSTR, - pvExtraData: *mut c_void, - cbExtraData: ULONG, - pfSupported: *mut BOOL, - ) -> HRESULT, - fn DisplayUI( - hwndParent: HWND, - pszTitle: LPCWSTR, - pszTypeOfUI: LPCWSTR, - pvExtraData: *mut c_void, - cbExtraData: ULONG, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x1a5c0354, 0xb621, 0x4b5a, 0x87, 0x91, 0xd3, 0x06, 0xed, 0x37, 0x9e, 0x53)] -interface ISpPhrase(ISpPhraseVtbl): IUnknown(IUnknownVtbl) { - fn GetPhrase( - ppCoMemPhrase: *mut *mut SPPHRASE, - ) -> HRESULT, - fn GetSerializedPhrase( - ppCoMemPhrase: *mut *mut SPSERIALIZEDPHRASE, - ) -> HRESULT, - fn GetText( - ulStart: ULONG, - ulCount: ULONG, - fUseTextReplacements: BOOL, - ppszCoMemText: *mut LPWSTR, - pbDisplayAttributes: *mut BYTE, - ) -> HRESULT, - fn Discard( - dwValueTypes: DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x8fcebc98, 0x4e49, 0x4067, 0x9c, 0x6c, 0xd8, 0x6a, 0x0e, 0x09, 0x2e, 0x3d)] -interface ISpPhraseAlt(ISpPhraseAltVtbl): ISpPhrase(ISpPhraseVtbl) { - fn GetAltInfo( - pParent: *mut *mut ISpPhrase, - pulStartElementInParent: *mut ULONG, - pcElementsInParent: *mut ULONG, - pcElementsInAlt: *mut ULONG, - ) -> HRESULT, - fn Commit() -> HRESULT, -}} -STRUCT!{struct SPRECORESULTTIMES { - ftStreamTime: FILETIME, - ullLength: ULONGLONG, - dwTickCount: DWORD, - ullStart: ULONGLONG, -}} -STRUCT!{struct SPSERIALIZEDRESULT { - ulSerializedSize: ULONG, -}} -RIDL!{#[uuid(0x20b053be, 0xe235, 0x43cd, 0x9a, 0x2a, 0x8d, 0x17, 0xa4, 0x8b, 0x78, 0x42)] -interface ISpRecoResult(ISpRecoResultVtbl): ISpPhrase(ISpPhraseVtbl) { - fn GetResultTimes( - pTimes: *mut SPRECORESULTTIMES, - ) -> HRESULT, - fn GetAlternates( - ulStartElement: ULONG, - cElements: ULONG, - ulRequestCount: ULONG, - ppPhrases: *mut *mut ISpPhraseAlt, - pcPhrasesReturned: *mut ULONG, - ) -> HRESULT, - fn GetAudio( - ulStartElement: ULONG, - cElements: ULONG, - ppStream: *mut *mut ISpStreamFormat, - ) -> HRESULT, - fn SpeakAudio( - ulStartElement: ULONG, - cElements: ULONG, - dwFlags: DWORD, - pulStreamNumber: *mut ULONG, - ) -> HRESULT, - fn Serialize( - ppCoMemSerializedResult: *mut *mut SPSERIALIZEDRESULT, - ) -> HRESULT, - fn ScaleAudio( - pAudioFormatId: *const GUID, - pWaveFormatEx: *const WAVEFORMATEX, - ) -> HRESULT, - fn GetRecoContext( - ppRecoContext: *mut *mut ISpRecoContext, - ) -> HRESULT, -}} -STRUCT!{struct SPTEXTSELECTIONINFO { - ulStartActiveOffset: ULONG, - cchActiveChars: ULONG, - ulStartSelection: ULONG, - cchSelection: ULONG, -}} -ENUM!{enum SPWORDPRONOUNCEABLE { - SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE = 0, - SPWP_UNKNOWN_WORD_PRONOUNCEABLE = 1, - SPWP_KNOWN_WORD_PRONOUNCEABLE = 2, -}} -ENUM!{enum SPGRAMMARSTATE { - SPGS_DISABLED = 0, - SPGS_ENABLED = 1, - SPGS_EXCLUSIVE = 3, -}} -ENUM!{enum SPCONTEXTSTATE { - SPCS_DISABLED = 0, - SPCS_ENABLED = 1, -}} -ENUM!{enum SPRULESTATE { - SPRS_INACTIVE = 0, - SPRS_ACTIVE = 1, - SPRS_ACTIVE_WITH_AUTO_PAUSE = 3, -}} -pub const SP_STREAMPOS_ASAP: ULONGLONG = 0; -pub const SP_STREAMPOS_REALTIME: ULONGLONG = -1i64 as u64; -pub const SPRULETRANS_TEXTBUFFER: SPSTATEHANDLE = -1isize as SPSTATEHANDLE; -pub const SPRULETRANS_WILDCARD: SPSTATEHANDLE = -2isize as SPSTATEHANDLE; -pub const SPRULETRANS_DICTATION: SPSTATEHANDLE = -3isize as SPSTATEHANDLE; -ENUM!{enum SPGRAMMARWORDTYPE { - SPWT_DISPLAY, - SPWT_LEXICAL, - SPWT_PRONUNCIATION, - SPWT_LEXICAL_NO_SPECIAL_CHARS, -}} -STRUCT!{struct SPPROPERTYINFO { - pszName: LPCWSTR, - ulId: ULONG, - pszValue: LPCWSTR, - vValue: VARIANT, -}} -ENUM!{enum SPCFGRULEATTRIBUTES { - SPRAF_TopLevel = 1 << 0, - SPRAF_Active = 1 << 1, - SPRAF_Export = 1 << 2, - SPRAF_Import = 1 << 3, - SPRAF_Interpreter = 1 << 4, - SPRAF_Dynamic = 1 << 5, - SPRAF_AutoPause = 1 << 16, -}} -RIDL!{#[uuid(0x8137828f, 0x591a, 0x4a42, 0xbe, 0x58, 0x49, 0xea, 0x7e, 0xba, 0xac, 0x68)] -interface ISpGrammarBuilder(ISpGrammarBuilderVtbl): IUnknown(IUnknownVtbl) { - fn ResetGrammar( - NewLanguage: WORD, - ) -> HRESULT, - fn GetRule( - pszRuleName: LPCWSTR, - dwRuleId: DWORD, - dwAttributes: DWORD, - fCreateIfNotExist: BOOL, - phInitialState: *mut SPSTATEHANDLE, - ) -> HRESULT, - fn ClearRule( - hState: SPSTATEHANDLE, - ) -> HRESULT, - fn CreateNewState( - hState: SPSTATEHANDLE, - phState: *mut SPSTATEHANDLE, - ) -> HRESULT, - fn AddWordTransition( - hFromState: SPSTATEHANDLE, - hToState: SPSTATEHANDLE, - psz: LPCWSTR, - pszSeparators: LPCWSTR, - eWordType: SPGRAMMARWORDTYPE, - Weight: c_float, - pPropInfo: *const SPPROPERTYINFO, - ) -> HRESULT, - fn AddRuleTransition( - hFromState: SPSTATEHANDLE, - hToState: SPSTATEHANDLE, - hRule: SPSTATEHANDLE, - Weight: c_float, - pPropInfo: *const SPPROPERTYINFO, - ) -> HRESULT, - fn AddResource( - hRuleState: SPSTATEHANDLE, - pszResourceName: LPCWSTR, - pszResourceValue: LPCWSTR, - ) -> HRESULT, - fn Commit( - dwReserved: DWORD, - ) -> HRESULT, -}} -ENUM!{enum SPLOADOPTIONS { - SPLO_STATIC = 0, - SPLO_DYNAMIC = 1, -}} -RIDL!{#[uuid(0x2177db29, 0x7f45, 0x47d0, 0x85, 0x54, 0x06, 0x7e, 0x91, 0xc8, 0x05, 0x02)] -interface ISpRecoGrammar(ISpRecoGrammarVtbl): ISpGrammarBuilder(ISpGrammarBuilderVtbl) { - fn GetGrammarId( - pullGrammarId: *mut ULONGLONG, - ) -> HRESULT, - fn GetRecoContext( - ppRecoCtxt: *mut *mut ISpRecoContext, - ) -> HRESULT, - fn LoadCmdFromFile( - pszFileName: LPCWSTR, - Options: SPLOADOPTIONS, - ) -> HRESULT, - fn LoadCmdFromObject( - rcid: REFCLSID, - pszGrammarName: LPCWSTR, - Options: SPLOADOPTIONS, - ) -> HRESULT, - fn LoadCmdFromResource( - hModule: HMODULE, - pszResourceName: LPCWSTR, - pszResourceType: LPCWSTR, - wLanguage: WORD, - Options: SPLOADOPTIONS, - ) -> HRESULT, - fn LoadCmdFromMemory( - pGrammar: *const SPBINARYGRAMMAR, - Options: SPLOADOPTIONS, - ) -> HRESULT, - fn LoadCmdFromProprietaryGrammar( - rguidParam: REFGUID, - pszStringParam: LPCWSTR, - pvDataPrarm: *const c_void, - cbDataSize: ULONG, - Options: SPLOADOPTIONS, - ) -> HRESULT, - fn SetRuleState( - pszName: LPCWSTR, - pReserved: *mut c_void, - NewState: SPRULESTATE, - ) -> HRESULT, - fn SetRuleIdState( - ulRuleId: ULONG, - NewState: SPRULESTATE, - ) -> HRESULT, - fn LoadDictation( - pszTopicName: LPCWSTR, - Options: SPLOADOPTIONS, - ) -> HRESULT, - fn UnloadDictation() -> HRESULT, - fn SetDictationState( - NewState: SPRULESTATE, - ) -> HRESULT, - fn SetWordSequenceData( - pText: *const WCHAR, - cchText: ULONG, - pInfo: *const SPTEXTSELECTIONINFO, - ) -> HRESULT, - fn SetTextSelection( - pInfo: *const SPTEXTSELECTIONINFO, - ) -> HRESULT, - fn IsPronounceable( - pszWord: LPCWSTR, - pWordPronounceable: *mut SPWORDPRONOUNCEABLE, - ) -> HRESULT, - fn SetGrammarState( - eGrammarState: SPGRAMMARSTATE, - ) -> HRESULT, - fn SaveCmd( - pStream: *mut IStream, - ppszCoMemErrorText: *mut LPWSTR, - ) -> HRESULT, - fn GetGrammarState( - peGrammarState: *mut SPGRAMMARSTATE, - ) -> HRESULT, -}} -STRUCT!{struct SPRECOCONTEXTSTATUS { - eInterference: SPINTERFERENCE, - szRequestTypeOfUI: [WCHAR; 255], - dwReserved1: DWORD, - dwReserved2: DWORD, -}} -ENUM!{enum SPBOOKMARKOPTIONS { - SPBO_NONE = 0, - SPBO_PAUSE = 1 << 0, -}} -ENUM!{enum SPAUDIOOPTIONS { - SPAO_NONE = 0, - SPAO_RETAIN_AUDIO = 1 << 0, -}} -RIDL!{#[uuid(0xf740a62f, 0x7c15, 0x489e, 0x82, 0x34, 0x94, 0x0a, 0x33, 0xd9, 0x27, 0x2d)] -interface ISpRecoContext(ISpRecoContextVtbl): ISpEventSource(ISpEventSourceVtbl) { - fn GetRecognizer( - ppRecognizer: *mut *mut ISpRecognizer, - ) -> HRESULT, - fn CreateGrammer( - ullGrammarId: ULONGLONG, - ppGrammar: *mut *mut ISpRecoGrammar, - ) -> HRESULT, - fn GetStatus( - pState: *mut SPRECOCONTEXTSTATUS, - ) -> HRESULT, - fn GetMaxAlternates( - pcAlternates: *mut ULONG, - ) -> HRESULT, - fn SetMaxAlternates( - cAlternates: ULONG, - ) -> HRESULT, - fn SetAudioOptions( - Options: SPAUDIOOPTIONS, - pAudioFormatId: *const GUID, - pWaveFormatEx: *const WAVEFORMATEX, - ) -> HRESULT, - fn GetAudioOptions( - pOptions: *mut SPAUDIOOPTIONS, - pAudioFormatId: *mut GUID, - ppCoMemWFEX: *mut *mut WAVEFORMATEX, - ) -> HRESULT, - fn DeserializeResult( - pSerializedResult: *const SPSERIALIZEDRESULT, - ppResult: *mut *mut ISpRecoResult, - ) -> HRESULT, - fn Bookmark( - Options: SPBOOKMARKOPTIONS, - ullStreamPosition: ULONGLONG, - lparamEvent: LPARAM, - ) -> HRESULT, - fn SetAdaptionData( - pAdaptionData: LPCWSTR, - cch: ULONG, - ) -> HRESULT, - fn Pause( - dwReserved: DWORD, - ) -> HRESULT, - fn Resume( - dwReserved: DWORD, - ) -> HRESULT, - fn SetVoice( - pVoice: *mut ISpVoice, - fAllowFormatChanges: BOOL, - ) -> HRESULT, - fn GetVoice( - ppVoice: *mut *mut ISpVoice, - ) -> HRESULT, - fn SetVoicePurgeEvent( - ullEventIntereset: ULONGLONG, - ) -> HRESULT, - fn GetVoicePurgeEvent( - pullEventIntereset: *mut ULONGLONG, - ) -> HRESULT, - fn SetContextState( - eContextState: SPCONTEXTSTATE, - ) -> HRESULT, - fn GetContextState( - peContextState: *mut SPCONTEXTSTATE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x5b4fb971, 0xb115, 0x4de1, 0xad, 0x97, 0xe4, 0x82, 0xe3, 0xbf, 0x6e, 0xe4)] -interface ISpProperties(ISpPropertiesVtbl): IUnknown(IUnknownVtbl) { - fn SetPropertyNum( - pName: LPCWSTR, - lValue: LONG, - ) -> HRESULT, - fn GetPropertyNum( - pName: LPCWSTR, - plValue: *mut LONG, - ) -> HRESULT, - fn SetPropertyString( - pName: LPCWSTR, - pValue: LPCWSTR, - ) -> HRESULT, - fn GetPropertyString( - pName: LPCWSTR, - ppCoMemValue: *mut LPWSTR, - ) -> HRESULT, -}} -pub const SP_MAX_LANGIDS: usize = 20; -STRUCT!{struct SPRECOGNIZERSTATUS { - AudioStatus: SPAUDIOSTATUS, - ullRecognitionStreamPos: ULONGLONG, - ulStreamNumber: ULONG, - ulNumActive: ULONG, - clsidEngine: CLSID, - cLangIDs: ULONG, - aLangID: [WORD; SP_MAX_LANGIDS], - ullRecognitionStreamTime: ULONGLONG, -}} -ENUM!{enum SPWAVEFORMATTYPE { - SPWF_INPUT, - SPWF_SRENGINE, -}} -pub type SPSTREAMFORMATTYPE = SPWAVEFORMATTYPE; -ENUM!{enum SPRECOSTATE { - SPRST_INACTIVE, - SPRST_ACTIVE, - SPRST_ACTIVE_ALWAYS, - SPRST_INACTIVE_WITH_PURGE, - SPRST_NUM_STATES, -}} -RIDL!{#[uuid(0xc2b5f241, 0xdaa0, 0x4507, 0x9e, 0x16, 0x5a, 0x1e, 0xaa, 0x2b, 0x7a, 0x5c)] -interface ISpRecognizer(ISpRecognizerVtbl): ISpProperties(ISpPropertiesVtbl) { - fn SetRecognizer( - pRecognizer: *mut ISpObjectToken, - ) -> HRESULT, - fn GetRecognizer( - ppRecognizer: *mut *mut ISpObjectToken, - ) -> HRESULT, - fn SetInput( - pUnkInput: *mut IUnknown, - fAllowFormatChanges: BOOL, - ) -> HRESULT, - fn GetInputObjectToken( - ppToken: *mut *mut ISpObjectToken, - ) -> HRESULT, - fn GetInputStream( - ppStream: *mut *mut ISpStreamFormat, - ) -> HRESULT, - fn CreateRecoContext( - ppNewCtxt: *mut *mut ISpRecoContext, - ) -> HRESULT, - fn GetRecoProfile( - ppToken: *mut *mut ISpObjectToken, - ) -> HRESULT, - fn SetRecoProfile( - pToken: *mut ISpObjectToken, - ) -> HRESULT, - fn IsSharedInstance() -> HRESULT, - fn GetRecoState( - pState: *mut SPRECOSTATE, - ) -> HRESULT, - fn SetRecoState( - NewState: SPRECOSTATE, - ) -> HRESULT, - fn GetStatus( - pStatus: *mut SPRECOGNIZERSTATUS, - ) -> HRESULT, - fn GetFormat( - WaveFormatType: SPSTREAMFORMATTYPE, - pFormatId: *mut GUID, - ppCoMemWFEX: *mut WAVEFORMATEX, - ) -> HRESULT, - fn IsUISupported( - pszTypeOfUI: LPCWSTR, - pvExtraData: *mut c_void, - cbExtraData: ULONG, - pfSupported: *mut BOOL, - ) -> HRESULT, - fn DisplayUI( - hwndParent: HWND, - pszTitle: LPCWSTR, - pszTypeOfUI: LPCWSTR, - pvExtraData: *mut c_void, - cbExtraData: ULONG, - ) -> HRESULT, - fn EmulateRecognition( - pPhrase: *mut ISpPhrase, - ) -> HRESULT, -}} -pub type SpeechLanguageId = c_long; -ENUM!{enum DISPID_SpeechDataKey { - DISPID_SDKSetBinaryValue = 1, - DISPID_SDKGetBinaryValue, - DISPID_SDKSetStringValue, - DISPID_SDKGetStringValue, - DISPID_SDKSetLongValue, - DISPID_SDKGetlongValue, - DISPID_SDKOpenKey, - DISPID_SDKCreateKey, - DISPID_SDKDeleteKey, - DISPID_SDKDeleteValue, - DISPID_SDKEnumKeys, - DISPID_SDKEnumValues, -}} -ENUM!{enum DISPID_SpeechObjectToken { - DISPID_SOTId = 1, - DISPID_SOTDataKey, - DISPID_SOTCategory, - DISPID_SOTGetDescription, - DISPID_SOTSetId, - DISPID_SOTGetAttribute, - DISPID_SOTCreateInstance, - DISPID_SOTRemove, - DISPID_SOTGetStorageFileName, - DISPID_SOTRemoveStorageFileName, - DISPID_SOTIsUISupported, - DISPID_SOTDisplayUI, - DISPID_SOTMatchesAttributes, -}} -ENUM!{enum SpeechDataKeyLocation { - SDKLDefaultLocation = SPDKL_DefaultLocation, - SDKLCurrentUser = SPDKL_CurrentUser, - SDKLLocalMachine = SPDKL_LocalMachine, - SDKLCurrentConfig = SPDKL_CurrentConfig, -}} -ENUM!{enum SpeechTokenContext { - STCInprocServer = CLSCTX_INPROC_SERVER, - STCInprocHandler = CLSCTX_INPROC_HANDLER, - STCLocalServer = CLSCTX_LOCAL_SERVER, - STCRemoteServer = CLSCTX_REMOTE_SERVER, - STCAll = CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER - | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER, -}} -ENUM!{enum SpeechTokenShellFolder { - STSF_AppData = 0x1a, - STSF_LocalAppData = 0x1c, - STSF_CommonAppData = 0x23, - STSF_FlagCreate = 0x8000, -}} -ENUM!{enum DISPID_SpeechObjectTokens { - DISPID_SOTsCount = 1, - DISPID_SOTsItem = DISPID_VALUE as u32, - DISPID_SOTs_NewEnum = DISPID_NEWENUM as u32, -}} -ENUM!{enum DISPID_SpeechObjectTokenCategory { - DISPID_SOTCId = 1, - DISPID_SOTCDefault, - DISPID_SOTCSetId, - DISPID_SOTCGetDataKey, - DISPID_SOTCEnumerateTokens, -}} -ENUM!{enum SpeechAudioFormatType { - SAFTDefault = -1i32 as u32, - SAFTNoAssignedFormat = 0, - SAFTText = 1, - SAFTNonStandardFormat = 2, - SAFTExtendedAudioFormat = 3, - SAFT8kHz8BitMono = 4, - SAFT8kHz8BitStereo = 5, - SAFT8kHz16BitMono = 6, - SAFT8kHz16BitStereo = 7, - SAFT11kHz8BitMono = 8, - SAFT11kHz8BitStereo = 9, - SAFT11kHz16BitMono = 10, - SAFT11kHz16BitStereo = 11, - SAFT12kHz8BitMono = 12, - SAFT12kHz8BitStereo = 13, - SAFT12kHz16BitMono = 14, - SAFT12kHz16BitStereo = 15, - SAFT16kHz8BitMono = 16, - SAFT16kHz8BitStereo = 17, - SAFT16kHz16BitMono = 18, - SAFT16kHz16BitStereo = 19, - SAFT22kHz8BitMono = 20, - SAFT22kHz8BitStereo = 21, - SAFT22kHz16BitMono = 22, - SAFT22kHz16BitStereo = 23, - SAFT24kHz8BitMono = 24, - SAFT24kHz8BitStereo = 25, - SAFT24kHz16BitMono = 26, - SAFT24kHz16BitStereo = 27, - SAFT32kHz8BitMono = 28, - SAFT32kHz8BitStereo = 29, - SAFT32kHz16BitMono = 30, - SAFT32kHz16BitStereo = 31, - SAFT44kHz8BitMono = 32, - SAFT44kHz8BitStereo = 33, - SAFT44kHz16BitMono = 34, - SAFT44kHz16BitStereo = 35, - SAFT48kHz8BitMono = 36, - SAFT48kHz8BitStereo = 37, - SAFT48kHz16BitMono = 38, - SAFT48kHz16BitStereo = 39, - SAFTTrueSpeech_8kHz1BitMono = 40, - SAFTCCITT_ALaw_8kHzMono = 41, - SAFTCCITT_ALaw_8kHzStereo = 42, - SAFTCCITT_ALaw_11kHzMono = 43, - SAFTCCITT_ALaw_11kHzStereo = 44, - SAFTCCITT_ALaw_22kHzMono = 45, - SAFTCCITT_ALaw_22kHzStereo = 46, - SAFTCCITT_ALaw_44kHzMono = 47, - SAFTCCITT_ALaw_44kHzStereo = 48, - SAFTCCITT_uLaw_8kHzMono = 49, - SAFTCCITT_uLaw_8kHzStereo = 50, - SAFTCCITT_uLaw_11kHzMono = 51, - SAFTCCITT_uLaw_11kHzStereo = 52, - SAFTCCITT_uLaw_22kHzMono = 53, - SAFTCCITT_uLaw_22kHzStereo = 54, - SAFTCCITT_uLaw_44kHzMono = 55, - SAFTCCITT_uLaw_44kHzStereo = 56, - SAFTADPCM_8kHzMono = 57, - SAFTADPCM_8kHzStereo = 58, - SAFTADPCM_11kHzMono = 59, - SAFTADPCM_11kHzStereo = 60, - SAFTADPCM_22kHzMono = 61, - SAFTADPCM_22kHzStereo = 62, - SAFTADPCM_44kHzMono = 63, - SAFTADPCM_44kHzStereo = 64, - SAFTGSM610_8kHzMono = 65, - SAFTGSM610_11kHzMono = 66, - SAFTGSM610_22kHzMono = 67, - SAFTGSM610_44kHzMono = 68, -}} -ENUM!{enum DISPID_SpeechAudioFormat { - DISPID_SAFType = 1, - DISPID_SAFGuid, - DISPID_SAFGetWaveFormatEx, - DISPID_SAFSetWaveFormatEx, -}} -ENUM!{enum DISPID_SpeechBaseStream { - DISPID_SBSFormat = 1, - DISPID_SBSRead, - DISPID_SBSWrite, - DISPID_SBSSeek, -}} -ENUM!{enum SpeechStreamSeekPositionType { - SSSPTRelativeToStart = STREAM_SEEK_SET, - SSSPTRelativeToCurrentPosition = STREAM_SEEK_CUR, - SSSPTRelativeToEnd = STREAM_SEEK_END, -}} -ENUM!{enum DISPID_SpeechAudio { - DISPID_SAStatus = 200, - DISPID_SABufferInfo, - DISPID_SADefaultFormat, - DISPID_SAVolume, - DISPID_SABufferNotifySize, - DISPID_SAEventHandle, - DISPID_SASetState, -}} -ENUM!{enum SpeechAudioState { - SASClosed = SPAS_CLOSED, - SASStop = SPAS_STOP, - SASPause = SPAS_PAUSE, - SASRun = SPAS_RUN, -}} -ENUM!{enum DISPID_SpeechMMSysAudio { - DISPID_SMSADeviceId = 300, - DISPID_SMSALineId, - DISPID_SMSAMMHandle, -}} -ENUM!{enum DISPID_SpeechFileStream { - DISPID_SFSOpen = 100, - DISPID_SFSClose, -}} -ENUM!{enum SpeechStreamFileMode { - SSFMOpenForRead = SPFM_OPEN_READONLY, - SSFMOpenReadWrite = SPFM_OPEN_READWRITE, - SSFMCreate = SPFM_CREATE, - SSFMCreateForWrite = SPFM_CREATE_ALWAYS, -}} -ENUM!{enum DISPID_SpeechCustomStream { - DISPID_SCSBaseStream = 100, -}} -ENUM!{enum DISPID_SpeechMemoryStream { - DISPID_SMSSetData = 100, - DISPID_SMSGetData, -}} -ENUM!{enum DISPID_SpeechAudioStatus { - DISPID_SASFreeBufferSpace = 1, - DISPID_SASNonBlockingIO, - DISPID_SASState, - DISPID_SASCurrentSeekPosition, - DISPID_SASCurrentDevicePosition, -}} -ENUM!{enum DISPID_SpeechAudioBufferInfo { - DISPID_SABIMinNotification = 1, - DISPID_SABIBufferSize, - DISPID_SABIEventBias, -}} -ENUM!{enum DISPID_SpeechWaveFormatEx { - DISPID_SWFEFormatTag = 1, - DISPID_SWFEChannels, - DISPID_SWFESamplesPerSec, - DISPID_SWFEAvgBytesPerSec, - DISPID_SWFEBlockAlign, - DISPID_SWFEBitsPerSample, - DISPID_SWFEExtraData, -}} -ENUM!{enum DISPID_SpeechVoice { - DISPID_SVStatus = 1, - DISPID_SVVoice, - DISPID_SVAudioOutput, - DISPID_SVAudioOutputStream, - DISPID_SVRate, - DISPID_SVVolume, - DISPID_SVAllowAudioOuputFormatChangesOnNextSet, - DISPID_SVEventInterests, - DISPID_SVPriority, - DISPID_SVAlertBoundary, - DISPID_SVSyncronousSpeakTimeout, - DISPID_SVSpeak, - DISPID_SVSpeakStream, - DISPID_SVPause, - DISPID_SVResume, - DISPID_SVSkip, - DISPID_SVGetVoices, - DISPID_SVGetAudioOutputs, - DISPID_SVWaitUntilDone, - DISPID_SVSpeakCompleteEvent, - DISPID_SVIsUISupported, - DISPID_SVDisplayUI, -}} -ENUM!{enum SpeechVoicePriority { - SVPNormal = SPVPRI_NORMAL, - SVPAlert = SPVPRI_ALERT, - SVPOver = SPVPRI_OVER, -}} -ENUM!{enum SpeechVoiceSpeakFlags { - SVSFDefault = SPF_DEFAULT, - SVSFlagsAsync = SPF_ASYNC, - SVSFPurgeBeforeSpeak = SPF_PURGEBEFORESPEAK, - SVSFIsFilename = SPF_IS_FILENAME, - SVSFIsXML = SPF_IS_XML, - SVSFIsNotXML = SPF_IS_NOT_XML, - SVSFPersistXML = SPF_PERSIST_XML, - SVSFNLPSpeakPunc = SPF_NLP_SPEAK_PUNC, - SVSFNLPMask = SPF_NLP_MASK, - SVSFVoiceMask = SPF_VOICE_MASK as u32, - SVSFUnusedFlags = SPF_UNUSED_FLAGS as u32, -}} -ENUM!{enum SpeechVoiceEvents { - SVEStartInputStream = 1 << 1, - SVEEndInputStream = 1 << 2, - SVEVoiceChange = 1 << 3, - SVEBookmark = 1 << 4, - SVEWordBoundary = 1 << 5, - SVEPhoneme = 1 << 6, - SVESentenceBoundary = 1 << 7, - SVEViseme = 1 << 8, - SVEAudioLevel = 1 << 9, - SVEPrivate = 1 << 15, - SVEAllEvents = 0x83fe, -}} -ENUM!{enum DISPID_SpeechVoiceStatus { - DISPID_SVSCurrentStreamNumber = 1, - DISPID_SVSLastStreamNumberQueued, - DISPID_SVSLastResult, - DISPID_SVSRunningState, - DISPID_SVSInputWordPosition, - DISPID_SVSInputWordLength, - DISPID_SVSInputSentencePosition, - DISPID_SVSInputSentenceLength, - DISPID_SVSLastBookmark, - DISPID_SVSLastBookmarkId, - DISPID_SVSPhonemeId, - DISPID_SVSVisemeId, -}} -ENUM!{enum SpeechRunState { - SRSEDone = SPRS_DONE, - SRSEIsSpeaking = SPRS_IS_SPEAKING, -}} -ENUM!{enum SpeechVisemeType { - SVP_0 = 0, - SVP_1, - SVP_2, - SVP_3, - SVP_4, - SVP_5, - SVP_6, - SVP_7, - SVP_8, - SVP_9, - SVP_10, - SVP_11, - SVP_12, - SVP_13, - SVP_14, - SVP_15, - SVP_16, - SVP_17, - SVP_18, - SVP_19, - SVP_20, - SVP_21, -}} -ENUM!{enum SpeechVisemeFeature { - SVF_None = 0, - SVF_Stressed = SPVFEATURE_STRESSED, - SVF_Emphasis = SPVFEATURE_EMPHASIS, -}} -ENUM!{enum DISPID_SpeechVoiceEvent { - DISPID_SVEStreamStart = 1, - DISPID_SVEStreamEnd, - DISPID_SVEVoiceChange, - DISPID_SVEBookmark, - DISPID_SVEWord, - DISPID_SVEPhoneme, - DISPID_SVESentenceBoundary, - DISPID_SVEViseme, - DISPID_SVEAudioLevel, - DISPID_SVEEnginePrivate, -}} -ENUM!{enum DISPID_SpeechRecognizer { - DISPID_SRRecognizer = 1, - DISPID_SRAllowAudioInputFormatChangesOnNextSet, - DISPID_SRAudioInput, - DISPID_SRAudioInputStream, - DISPID_SRIsShared, - DISPID_SRState, - DISPID_SRStatus, - DISPID_SRProfile, - DISPID_SREmulateRecognition, - DISPID_SRCreateRecoContext, - DISPID_SRGetFormat, - DISPID_SRSetPropertyNumber, - DISPID_SRGetPropertyNumber, - DISPID_SRSetPropertyString, - DISPID_SRGetPropertyString, - DISPID_SRIsUISupported, - DISPID_SRDisplayUI, - DISPID_SRGetRecognizers, - DISPID_SVGetAudioInputs, - DISPID_SVGetProfiles, -}} -ENUM!{enum SpeechRecognizerState { - SRSInactive = SPRST_INACTIVE, - SRSActive = SPRST_ACTIVE, - SRSActiveAlways = SPRST_ACTIVE_ALWAYS, - SRSInactiveWithPurge = SPRST_INACTIVE_WITH_PURGE, -}} -ENUM!{enum SpeechDisplayAttributes { - SDA_No_Trailing_Space = 0, - SDA_One_Trailing_Space = SPAF_ONE_TRAILING_SPACE, - SDA_Two_Trailing_Spaces = SPAF_TWO_TRAILING_SPACES, - SDA_Consume_Leading_Spaces = SPAF_CONSUME_LEADING_SPACES, -}} -ENUM!{enum SpeechFormatType { - SFTInput = SPWF_INPUT, - SFTSREngine = SPWF_SRENGINE, -}} -ENUM!{enum DISPID_SpeechRecognizerStatus { - DISPID_SRSAudioStatus = 1, - DISPID_SRSCurrentStreamPosition, - DISPID_SRSCurrentStreamNumber, - DISPID_SRSNumberOfActiveRules, - DISPID_SRSClsidEngine, - DISPID_SRSSupportedLanguages, -}} -ENUM!{enum DISPID_SpeechRecoContext { - DISPID_SRCRecognizer = 1, - DISPID_SRCAudioInInterferenceStatus, - DISPID_SRCRequestedUIType, - DISPID_SRCVoice, - DISPID_SRAllowVoiceFormatMatchingOnNextSet, - DISPID_SRCVoicePurgeEvent, - DISPID_SRCEventInterests, - DISPID_SRCCmdMaxAlternates, - DISPID_SRCState, - DISPID_SRCRetainedAudio, - DISPID_SRCRetainedAudioFormat, - DISPID_SRCPause, - DISPID_SRCResume, - DISPID_SRCCreateGrammar, - DISPID_SRCCreateResultFromMemory, - DISPID_SRCBookmark, - DISPID_SRCSetAdaptationData, -}} -ENUM!{enum SpeechRetainedAudioOptions { - SRAONone = SPAO_NONE, - SRAORetainAudio = SPAO_RETAIN_AUDIO, -}} -ENUM!{enum SpeechBookmarkOptions { - SBONone = SPBO_NONE, - SBOPause = SPBO_PAUSE, -}} -ENUM!{enum SpeechInterference { - SINone = SPINTERFERENCE_NONE, - SINoise = SPINTERFERENCE_NOISE, - SINoSignal = SPINTERFERENCE_NOSIGNAL, - SITooLoud = SPINTERFERENCE_TOOLOUD, - SITooQuiet = SPINTERFERENCE_TOOQUIET, - SITooFast = SPINTERFERENCE_TOOFAST, - SITooSlow = SPINTERFERENCE_TOOSLOW, -}} -ENUM!{enum SpeechRecoEvents { - SREStreamEnd = 1 << 0, - SRESoundStart = 1 << 1, - SRESoundEnd = 1 << 2, - SREPhraseStart = 1 << 3, - SRERecognition = 1 << 4, - SREHypothesis = 1 << 5, - SREBookmark = 1 << 6, - SREPropertyNumChange = 1 << 7, - SREPropertyStringChange = 1 << 8, - SREFalseRecognition = 1 << 9, - SREInterference = 1 << 10, - SRERequestUI = 1 << 11, - SREStateChange = 1 << 12, - SREAdaptation = 1 << 13, - SREStreamStart = 1 << 14, - SRERecoOtherContext = 1 << 15, - SREAudioLevel = 1 << 16, - SREPrivate = 1 << 18, - SREAllEvents = 0x5ffff, -}} -ENUM!{enum SpeechRecoContextState { - SRCS_Disabled = SPCS_DISABLED, - SRCS_Enabled = SPCS_ENABLED, -}} -ENUM!{enum DISPIDSPRG { - DISPID_SRGId = 1, - DISPID_SRGRecoContext, - DISPID_SRGState, - DISPID_SRGRules, - DISPID_SRGReset, - DISPID_SRGCommit, - DISPID_SRGCmdLoadFromFile, - DISPID_SRGCmdLoadFromObject, - DISPID_SRGCmdLoadFromResource, - DISPID_SRGCmdLoadFromMemory, - DISPID_SRGCmdLoadFromProprietaryGrammar, - DISPID_SRGCmdSetRuleState, - DISPID_SRGCmdSetRuleIdState, - DISPID_SRGDictationLoad, - DISPID_SRGDictationUnload, - DISPID_SRGDictationSetState, - DISPID_SRGSetWordSequenceData, - DISPID_SRGSetTextSelection, - DISPID_SRGIsPronounceable, -}} -ENUM!{enum SpeechLoadOption { - SLOStatic = SPLO_STATIC, - SLODynamic = SPLO_DYNAMIC, -}} -ENUM!{enum SpeechWordPronounceable { - SWPUnknownWordUnpronounceable = SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE, - SWPUnknownWordPronounceable = SPWP_UNKNOWN_WORD_PRONOUNCEABLE, - SWPKnownWordPronounceable = SPWP_KNOWN_WORD_PRONOUNCEABLE, -}} -ENUM!{enum SpeechGrammarState { - SGSEnabled = SPGS_ENABLED, - SGSDisabled = SPGS_DISABLED, - SGSExclusive = SPGS_EXCLUSIVE, -}} -ENUM!{enum SpeechRuleState { - SGDSInactive = SPRS_INACTIVE, - SGDSActive = SPRS_ACTIVE, - SGDSActiveWithAutoPause = SPRS_ACTIVE_WITH_AUTO_PAUSE, -}} -ENUM!{enum SpeechRuleAttributes { - SRATopLevel = SPRAF_TopLevel, - SRADefaultToActive = SPRAF_Active, - SRAExport = SPRAF_Export, - SRAImport = SPRAF_Import, - SRAInterpreter = SPRAF_Interpreter, - SRADynamic = SPRAF_Dynamic, -}} -ENUM!{enum SpeechGrammarWordType { - SGDisplay = SPWT_DISPLAY, - SGLexical = SPWT_LEXICAL, - SGPronounciation = SPWT_PRONUNCIATION, -}} -ENUM!{enum DISPID_SpeechRecoContextEvents { - DISPID_SRCEStartStream = 1, - DISPID_SRCEEndStream, - DISPID_SRCEBookmark, - DISPID_SRCESoundStart, - DISPID_SRCESoundEnd, - DISPID_SRCEPhraseStart, - DISPID_SRCERecognition, - DISPID_SRCEHypothesis, - DISPID_SRCEPropertyNumberChange, - DISPID_SRCEPropertyStringChange, - DISPID_SRCEFalseRecognition, - DISPID_SRCEInterference, - DISPID_SRCERequestUI, - DISPID_SRCERecognizerStateChange, - DISPID_SRCEAdaptation, - DISPID_SRCERecognitionForOtherContext, - DISPID_SRCEAudioLevel, - DISPID_SRCEEnginePrivate, -}} -ENUM!{enum SpeechRecognitionType { - SRTStandard = 0, - SRTAutopause = SPREF_AutoPause, - SRTEmulated = SPREF_Emulated, -}} -ENUM!{enum DISPID_SpeechGrammarRule { - DISPID_SGRAttributes = 1, - DISPID_SGRInitialState, - DISPID_SGRName, - DISPID_SGRId, - DISPID_SGRClear, - DISPID_SGRAddResource, - DISPID_SGRAddState, -}} -ENUM!{enum DISPID_SpeechGrammarRules { - DISPID_SGRsCount = 1, - DISPID_SGRsDynamic, - DISPID_SGRsAdd, - DISPID_SGRsCommit, - DISPID_SGRsCommitAndSave, - DISPID_SGRsFindRule, - DISPID_SGRsItem = DISPID_VALUE as u32, - DISPID_SGRs_NewEnum = DISPID_NEWENUM as u32, -}} -ENUM!{enum DISPID_SpeechGrammarRuleState { - DISPID_SGRSRule = 1, - DISPID_SGRSTransitions, - DISPID_SGRSAddWordTransition, - DISPID_SGRSAddRuleTransition, - DISPID_SGRSAddSpecialTransition, -}} -ENUM!{enum SpeechSpecialTransitionType { - SSTTWildcard = 1, - SSTTDictation, - SSTTTextBuffer, -}} -ENUM!{enum DISPID_SpeechGrammarRuleStateTransitions { - DISPID_SGRSTsCount = 1, - DISPID_SGRSTsItem = DISPID_VALUE as u32, - DISPID_SGRSTs_NewEnum = DISPID_NEWENUM as u32, -}} -ENUM!{enum DISPID_SpeechGrammarRuleStateTransition { - DISPID_SGRSTType = 1, - DISPID_SGRSTText, - DISPID_SGRSTRule, - DISPID_SGRSTWeight, - DISPID_SGRSTPropertyName, - DISPID_SGRSTPropertyId, - DISPID_SGRSTPropertyValue, - DISPID_SGRSTNextState, -}} -ENUM!{enum SpeechGrammarRuleStateTransitionType { - SGRSTTEpsilon = 0, - SGRSTTWord, - SGRSTTRule, - SGRSTTDictation, - SGRSTTWildcard, - SGRSTTTextBuffer, -}} -ENUM!{enum DISPIDSPTSI { - DISPIDSPTSI_ActiveOffset = 1, - DISPIDSPTSI_ActiveLength, - DISPIDSPTSI_SelectionOffset, - DISPIDSPTSI_SelectionLength, -}} -ENUM!{enum DISPID_SpeechRecoResult { - DISPID_SRRRecoContext = 1, - DISPID_SRRTimes, - DISPID_SRRAudioFormat, - DISPID_SRRPhraseInfo, - DISPID_SRRAlternates, - DISPID_SRRAudio, - DISPID_SRRSpeakAudio, - DISPID_SRRSaveToMemory, - DISPID_SRRDiscardResultInfo, -}} -ENUM!{enum SpeechDiscardType { - SDTProperty = SPDF_PROPERTY, - SDTReplacement = SPDF_REPLACEMENT, - SDTRule = SPDF_RULE, - SDTDisplayText = SPDF_DISPLAYTEXT, - SDTLexicalForm = SPDF_LEXICALFORM, - SDTPronunciation = SPDF_PRONUNCIATION, - SDTAudio = SPDF_AUDIO, - SDTAlternates = SPDF_ALTERNATES, - SDTAll = SPDF_ALL, -}} -ENUM!{enum DISPID_SpeechPhraseBuilder { - DISPID_SPPBRestorePhraseFromMemory = 1, -}} -ENUM!{enum DISPID_SpeechRecoResultTimes { - DISPID_SRRTStreamTime = 1, - DISPID_SRRTLength, - DISPID_SRRTTickCount, - DISPID_SRRTOffsetFromStart, -}} -ENUM!{enum DISPID_SpeechPhraseAlternate { - DISPID_SPARecoResult = 1, - DISPID_SPAStartElementInResult, - DISPID_SPANumberOfElementsInResult, - DISPID_SPAPhraseInfo, - DISPID_SPACommit, -}} -ENUM!{enum DISPID_SpeechPhraseAlternates { - DISPID_SPAsCount = 1, - DISPID_SPAsItem = DISPID_VALUE as u32, - DISPID_SPAs_NewEnum = DISPID_NEWENUM as u32, -}} -ENUM!{enum DISPID_SpeechPhraseInfo { - DISPID_SPILanguageId = 1, - DISPID_SPIGrammarId, - DISPID_SPIStartTime, - DISPID_SPIAudioStreamPosition, - DISPID_SPIAudioSizeBytes, - DISPID_SPIRetainedSizeBytes, - DISPID_SPIAudioSizeTime, - DISPID_SPIRule, - DISPID_SPIProperties, - DISPID_SPIElements, - DISPID_SPIReplacements, - DISPID_SPIEngineId, - DISPID_SPIEnginePrivateData, - DISPID_SPISaveToMemory, - DISPID_SPIGetText, - DISPID_SPIGetDisplayAttributes, -}} -ENUM!{enum DISPID_SpeechPhraseElement { - DISPID_SPEAudioTimeOffset = 1, - DISPID_SPEAudioSizeTime, - DISPID_SPEAudioStreamOffset, - DISPID_SPEAudioSizeBytes, - DISPID_SPERetainedStreamOffset, - DISPID_SPERetainedSizeBytes, - DISPID_SPEDisplayText, - DISPID_SPELexicalForm, - DISPID_SPEPronunciation, - DISPID_SPEDisplayAttributes, - DISPID_SPERequiredConfidence, - DISPID_SPEActualConfidence, - DISPID_SPEEngineConfidence, -}} -ENUM!{enum SpeechEngineConfidence { - SECLowConfidence = -1i32 as u32, - SECNormalConfidence = 0, - SECHighConfidence = 1, -}} -ENUM!{enum DISPID_SpeechPhraseElements { - DISPID_SPEsCount = 1, - DISPID_SPEsItem = DISPID_VALUE as u32, - DISPID_SPEs_NewEnum = DISPID_NEWENUM as u32, -}} -ENUM!{enum DISPID_SpeechPhraseReplacement { - DISPID_SPRDisplayAttributes = 1, - DISPID_SPRText, - DISPID_SPRFirstElement, - DISPID_SPRNumberOfElements, -}} -ENUM!{enum DISPID_SpeechPhraseReplacements { - DISPID_SPRsCount = 1, - DISPID_SPRsItem = DISPID_VALUE as u32, - DISPID_SPRs_NewEnum = DISPID_NEWENUM as u32, -}} -ENUM!{enum DISPID_SpeechPhraseProperty { - DISPID_SPPName = 1, - DISPID_SPPId, - DISPID_SPPValue, - DISPID_SPPFirstElement, - DISPID_SPPNumberOfElements, - DISPID_SPPEngineConfidence, - DISPID_SPPConfidence, - DISPID_SPPParent, - DISPID_SPPChildren, -}} -ENUM!{enum DISPID_SpeechPhraseProperties { - DISPID_SPPsCount = 1, - DISPID_SPPsItem = DISPID_VALUE as u32, - DISPID_SPPs_NewEnum = DISPID_NEWENUM as u32, -}} -ENUM!{enum DISPID_SpeechPhraseRule { - DISPID_SPRuleName = 1, - DISPID_SPRuleId, - DISPID_SPRuleFirstElement, - DISPID_SPRuleNumberOfElements, - DISPID_SPRuleParent, - DISPID_SPRuleChildren, - DISPID_SPRuleConfidence, - DISPID_SPRuleEngineConfidence, -}} -ENUM!{enum DISPID_SpeechPhraseRules { - DISPID_SPRulesCount = 1, - DISPID_SPRulesItem = DISPID_VALUE as u32, - DISPID_SPRules_NewEnum = DISPID_NEWENUM as u32, -}} -ENUM!{enum DISPID_SpeechLexicon { - DISPID_SLGenerationId = 1, - DISPID_SLGetWords, - DISPID_SLAddPronunciation, - DISPID_SLAddPronunciationByPhoneIds, - DISPID_SLRemovePronunciation, - DISPID_SLRemovePronunciationByPhoneIds, - DISPID_SLGetPronunciations, - DISPID_SLGetGenerationChange, -}} -ENUM!{enum SpeechLexiconType { - SLTUser = eLEXTYPE_USER, - SLTApp = eLEXTYPE_APP, -}} -ENUM!{enum SpeechPartOfSpeech { - SPSNotOverriden = SPPS_NotOverriden, - SPSUnknown = SPPS_Unknown, - SPSNoun = SPPS_Noun, - SPSVerb = SPPS_Verb, - SPSModifier = SPPS_Modifier, - SPSFunction = SPPS_Function, - SPSInterjection = SPPS_Interjection, -}} -ENUM!{enum DISPID_SpeechLexiconWords { - DISPID_SLWsCount = 1, - DISPID_SLWsItem = DISPID_VALUE as u32, - DISPID_SLWs_NewEnum = DISPID_NEWENUM as u32, -}} -ENUM!{enum SpeechWordType { - SWTAdded = eWORDTYPE_ADDED, - SWTDeleted = eWORDTYPE_DELETED, -}} -ENUM!{enum DISPID_SpeechLexiconWord { - DISPID_SLWLangId = 1, - DISPID_SLWType, - DISPID_SLWWord, - DISPID_SLWPronunciations, -}} -ENUM!{enum DISPID_SpeechLexiconProns { - DISPID_SLPsCount = 1, - DISPID_SLPsItem = DISPID_VALUE as u32, - DISPID_SLPs_NewEnum = DISPID_NEWENUM as u32, -}} -ENUM!{enum DISPID_SpeechLexiconPronunciation { - DISPID_SLPType = 1, - DISPID_SLPLangId, - DISPID_SLPPartOfSpeech, - DISPID_SLPPhoneIds, - DISPID_SLPSymbolic, -}} -ENUM!{enum DISPID_SpeechPhoneConverter { - DISPID_SPCLangId = 1, - DISPID_SPCPhoneToId, - DISPID_SPCIdToPhone, -}} -extern { - pub static LIBID_SpeechLib: IID; -} -RIDL!{#[uuid(0xce17c09b, 0x4efa, 0x44d5, 0xa4, 0xc9, 0x59, 0xd9, 0x58, 0x5a, 0xb0, 0xcd)] -interface ISpeechDataKey(ISpeechDataKeyVtbl): IDispatch(IDispatchVtbl) { - fn SetBinaryValue( - ValueName: BSTR, - Value: VARIANT, - ) -> HRESULT, - fn GetBinaryValue( - ValueName: BSTR, - Value: *mut VARIANT, - ) -> HRESULT, - fn SetStringValue( - ValueName: BSTR, - Value: BSTR, - ) -> HRESULT, - fn GetStringValue( - ValueName: BSTR, - Value: *mut BSTR, - ) -> HRESULT, - fn SetLongValue( - ValueName: BSTR, - Value: c_long, - ) -> HRESULT, - fn GetLongValue( - ValueName: BSTR, - Value: *mut c_long, - ) -> HRESULT, - fn OpenKey( - SubKeyName: BSTR, - SubKey: *mut *mut ISpeechDataKey, - ) -> HRESULT, - fn CreateKey( - SubKeyName: BSTR, - SubKey: *mut *mut ISpeechDataKey, - ) -> HRESULT, - fn DeleteKey( - SubKeyName: BSTR, - ) -> HRESULT, - fn DeleteValue( - ValueName: BSTR, - ) -> HRESULT, - fn EnumKeys( - Index: c_long, - SubKeyName: *mut BSTR, - ) -> HRESULT, - fn EnumValues( - Index: c_long, - ValueName: *mut BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xc74a3adc, 0xb727, 0x4500, 0xa8, 0x4a, 0xb5, 0x26, 0x72, 0x1c, 0x8b, 0x8c)] -interface ISpeechObjectToken(ISpeechObjectTokenVtbl): IDispatch(IDispatchVtbl) { - fn get_Id( - ObjectId: *mut BSTR, - ) -> HRESULT, - fn get_DataKey( - DataKey: *mut *mut ISpeechDataKey, - ) -> HRESULT, - fn get_Category( - Category: *mut *mut ISpeechObjectTokenCategory, - ) -> HRESULT, - fn GetDescription( - Locale: c_long, - Description: *mut BSTR, - ) -> HRESULT, - fn SetId( - Id: BSTR, - CategoryId: BSTR, - CreateIfNotExist: VARIANT_BOOL, - ) -> HRESULT, - fn GetAttribute( - AttributeName: BSTR, - AttributeValue: *mut BSTR, - ) -> HRESULT, - fn CreateInstance( - pUnkOuter: *mut IUnknown, - ClsContext: SpeechTokenContext, - Object: *mut *mut IUnknown, - ) -> HRESULT, - fn Remove( - ObjectStorageCLSID: BSTR, - ) -> HRESULT, - fn GetStorageFileName( - ObjectStorageCLSID: BSTR, - KeyName: BSTR, - FileName: BSTR, - Folder: BSTR, - FilePath: *mut BSTR, - ) -> HRESULT, - fn RemoveStorageFileName( - ObjectStorageCLSID: BSTR, - KeyName: BSTR, - DeleteFile: VARIANT_BOOL, - ) -> HRESULT, - fn IsUISupported( - TypeOfUI: BSTR, - ExtraData: *const VARIANT, - Object: *mut IUnknown, - Supported: *mut VARIANT_BOOL, - ) -> HRESULT, - fn DisplayUI( - hWnd: c_long, - Title: BSTR, - TypeOfUI: BSTR, - ExtraData: *const VARIANT, - Object: *mut IUnknown, - ) -> HRESULT, - fn MatchesAttributes( - Attributes: BSTR, - Matches: *mut VARIANT_BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x9285b776, 0x2e7b, 0x4bc0, 0xb5, 0x3e, 0x58, 0x0e, 0xb6, 0xfa, 0x96, 0x7f)] -interface ISpeechObjectTokens(ISpeechObjectTokensVtbl): IDispatch(IDispatchVtbl) { - fn get_Count( - Count: *mut c_long, - ) -> HRESULT, - fn Item( - Index: c_long, - Token: *mut *mut ISpeechObjectToken, - ) -> HRESULT, - fn get__NewEnum( - ppEnumVARIANT: *mut *mut IUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xca7eac50, 0x2d01, 0x4145, 0x86, 0xd4, 0x5a, 0xe7, 0xd7, 0x0f, 0x44, 0x69)] -interface ISpeechObjectTokenCategory(ISpeechObjectTokenCategoryVtbl): IDispatch(IDispatchVtbl) { - fn get_Id( - Id: *mut BSTR, - ) -> HRESULT, - fn put_Default( - TokenId: BSTR, - ) -> HRESULT, - fn get_Default( - TokenId: *mut BSTR, - ) -> HRESULT, - fn SetId( - Id: BSTR, - CreateIfNotExist: VARIANT_BOOL, - ) -> HRESULT, - fn GetDataKey( - Location: SpeechDataKeyLocation, - DataKey: *mut *mut ISpeechDataKey, - ) -> HRESULT, - fn EnumerateTokens( - RequiredAttributes: BSTR, - OptionalAttributes: BSTR, - Tokens: *mut *mut ISpeechObjectTokens, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x11b103d8, 0x1142, 0x4edf, 0xa0, 0x93, 0x82, 0xfb, 0x39, 0x15, 0xf8, 0xcc)] -interface ISpeechAudioBufferInfo(ISpeechAudioBufferInfoVtbl): IDispatch(IDispatchVtbl) { - fn get_MinNotification( - MinNotification: *mut c_long, - ) -> HRESULT, - fn put_MinNotification( - MinNotification: c_long, - ) -> HRESULT, - fn get_BufferSize( - BufferSize: *mut c_long, - ) -> HRESULT, - fn put_BufferSize( - BufferSize: c_long, - ) -> HRESULT, - fn get_EventBias( - EventBias: *mut c_long, - ) -> HRESULT, - fn put_EventBias( - EventBias: c_long, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xc62d9c91, 0x7458, 0x47f6, 0x86, 0x2d, 0x1e, 0xf8, 0x6f, 0xb0, 0xb2, 0x78)] -interface ISpeechAudioStatus(ISpeechAudioStatusVtbl): IDispatch(IDispatchVtbl) { - fn get_FreeBufferSpace( - FreeBufferSpace: *mut c_long, - ) -> HRESULT, - fn get_NonBlockingIO( - NonBlockingIO: *mut c_long, - ) -> HRESULT, - fn get_State( - State: *mut SpeechAudioState, - ) -> HRESULT, - fn get_CurrentSeekPosition( - CurrentSeekPosition: *mut VARIANT, - ) -> HRESULT, - fn get_CurrentDevicePosition( - CurrentDevicePosition: *mut VARIANT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xe6e9c590, 0x3e18, 0x40e3, 0x82, 0x99, 0x06, 0x1f, 0x98, 0xbd, 0xe7, 0xc7)] -interface ISpeechAudioFormat(ISpeechAudioFormatVtbl): IDispatch(IDispatchVtbl) { - fn get_Type( - AudioFormat: *mut SpeechAudioFormatType, - ) -> HRESULT, - fn put_Type( - AudioFormat: SpeechAudioFormatType, - ) -> HRESULT, - fn get_Guid( - Guid: *mut BSTR, - ) -> HRESULT, - fn put_Guid( - Guid: BSTR, - ) -> HRESULT, - fn GetWaveFormatEx( - SpeechWaveFormatEx: *mut *mut ISpeechWaveFormatEx, - ) -> HRESULT, - fn SetWaveFormatEx( - SpeechWaveFormatEx: *mut ISpeechWaveFormatEx, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x7a1ef0d5, 0x1581, 0x4741, 0x88, 0xe4, 0x20, 0x9a, 0x49, 0xf1, 0x1a, 0x10)] -interface ISpeechWaveFormatEx(ISpeechWaveFormatExVtbl): IDispatch(IDispatchVtbl) { - fn get_FormatTag( - FormatTag: *mut c_short, - ) -> HRESULT, - fn put_FormatTag( - FormatTag: c_short, - ) -> HRESULT, - fn get_Channels( - Channels: *mut c_short, - ) -> HRESULT, - fn put_Channels( - Channels: c_short, - ) -> HRESULT, - fn get_SamplesPerSec( - SamplesPerSec: *mut c_long, - ) -> HRESULT, - fn put_SamplesPerSec( - SamplesPerSec: c_long, - ) -> HRESULT, - fn get_AvgBytesPerSec( - AvgBytesPerSec: *mut c_long, - ) -> HRESULT, - fn put_AvgBytesPerSec( - AvgBytesPerSec: c_long, - ) -> HRESULT, - fn get_BlockAlign( - BlockAlign: *mut c_short, - ) -> HRESULT, - fn put_BlockAlign( - BlockAlign: c_short, - ) -> HRESULT, - fn get_BitsPerSample( - BitsPerSample: *mut c_short, - ) -> HRESULT, - fn put_BitsPerSample( - BitsPerSample: c_short, - ) -> HRESULT, - fn get_ExtraData( - ExtraData: *mut VARIANT, - ) -> HRESULT, - fn put_ExtraData( - ExtraData: VARIANT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x6450336f, 0x7d49, 0x4ced, 0x80, 0x97, 0x49, 0xd6, 0xde, 0xe3, 0x72, 0x94)] -interface ISpeechBaseStream(ISpeechBaseStreamVtbl): IDispatch(IDispatchVtbl) { - fn get_Format( - AudioFormat: *mut *mut ISpeechAudioFormat, - ) -> HRESULT, - fn putref_Format( - AudioFormat: *mut ISpeechAudioFormat, - ) -> HRESULT, - fn Read( - Buffer: *mut VARIANT, - NumberOfBytes: c_long, - BytesRead: *mut c_long, - ) -> HRESULT, - fn Write( - Buffer: VARIANT, - BytesWritten: *mut c_long, - ) -> HRESULT, - fn Seek( - Position: VARIANT, - Origin: SpeechStreamSeekPositionType, - NewPosition: *mut VARIANT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xaf67f125, 0xab39, 0x4e93, 0xb4, 0xa2, 0xcc, 0x2e, 0x66, 0xe1, 0x82, 0xa7)] -interface ISpeechFileStream(ISpeechFileStreamVtbl): ISpeechBaseStream(ISpeechBaseStreamVtbl) { - fn Open( - FileName: BSTR, - FileMode: SpeechStreamFileMode, - DoEvents: VARIANT_BOOL, - ) -> HRESULT, - fn Close() -> HRESULT, -}} -RIDL!{#[uuid(0xeeb14b68, 0x808b, 0x4abe, 0xa5, 0xea, 0xb5, 0x1d, 0xa7, 0x58, 0x80, 0x08)] -interface ISpeechMemoryStream(ISpeechMemoryStreamVtbl): ISpeechBaseStream(ISpeechBaseStreamVtbl) { - fn SetData( - Data: VARIANT, - ) -> HRESULT, - fn GetData( - pData: *mut VARIANT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x1a9e9f4f, 0x104f, 0x4db8, 0xa1, 0x15, 0xef, 0xd7, 0xfd, 0x0c, 0x97, 0xae)] -interface ISpeechCustomStream(ISpeechCustomStreamVtbl): ISpeechBaseStream(ISpeechBaseStreamVtbl) { - fn get_BaseStream( - ppUnkStream: *mut *mut IUnknown, - ) -> HRESULT, - fn putref_BaseStream( - pUnkStream: *mut IUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xcff8e175, 0x019e, 0x11d3, 0xa0, 0x8e, 0x00, 0xc0, 0x4f, 0x8e, 0xf9, 0xb5)] -interface ISpeechAudio(ISpeechAudioVtbl): ISpeechBaseStream(ISpeechBaseStreamVtbl) { - fn get_Status( - Status: *mut *mut ISpeechAudioStatus, - ) -> HRESULT, - fn get_BufferInfo( - BufferInfo: *mut *mut ISpeechAudioBufferInfo, - ) -> HRESULT, - fn get_DefaultFormat( - StreamFormat: *mut *mut ISpeechAudioFormat, - ) -> HRESULT, - fn get_Volume( - Volume: *mut c_long, - ) -> HRESULT, - fn put_Volume( - Volume: c_long, - ) -> HRESULT, - fn get_BufferNotifySize( - BufferNotifySize: *mut c_long, - ) -> HRESULT, - fn put_BufferNotifySize( - BufferNotifySize: c_long, - ) -> HRESULT, - fn get_EventHandle( - EventHandle: *mut c_long, - ) -> HRESULT, - fn SetState( - State: SpeechAudioState, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x3c76af6d, 0x1fd7, 0x4831, 0x81, 0xd1, 0x3b, 0x71, 0xd5, 0xa1, 0x3c, 0x44)] -interface ISpeechMMSysAudio(ISpeechMMSysAudioVtbl): ISpeechAudio(ISpeechAudioVtbl) { - fn get_DeviceId( - DeviceId: *mut c_long, - ) -> HRESULT, - fn put_DeviceId( - DeviceId: c_long, - ) -> HRESULT, - fn get_LineId( - LineId: *mut c_long, - ) -> HRESULT, - fn put_LineId( - LineId: c_long, - ) -> HRESULT, - fn get_MMHandle( - Handle: *mut c_long, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x269316d8, 0x57bd, 0x11d2, 0x9e, 0xee, 0x00, 0xc0, 0x4f, 0x79, 0x73, 0x96)] -interface ISpeechVoice(ISpeechVoiceVtbl): IDispatch(IDispatchVtbl) { - fn get_Status( - Status: *mut *mut ISpeechVoiceStatus, - ) -> HRESULT, - fn get_Voice( - Voice: *mut *mut ISpeechObjectToken, - ) -> HRESULT, - fn putref_Voice( - Voice: *mut ISpeechObjectToken, - ) -> HRESULT, - fn get_AudioOutput( - AudioOutput: *mut *mut ISpeechObjectToken, - ) -> HRESULT, - fn putref_AudioOutput( - AudioOutput: *mut ISpeechObjectToken, - ) -> HRESULT, - fn get_AudioOutputStream( - AudioOutputStream: *mut *mut ISpeechBaseStream, - ) -> HRESULT, - fn putref_AudioOutputStream( - AudioOutputStream: *mut ISpeechBaseStream, - ) -> HRESULT, - fn get_Rate( - Rate: *mut c_long, - ) -> HRESULT, - fn put_Rate( - Rate: c_long, - ) -> HRESULT, - fn get_Volume( - Volume: *mut c_long, - ) -> HRESULT, - fn put_Volume( - Volume: c_long, - ) -> HRESULT, - fn put_AllowAudioOutputFormatChangesOnNextSet( - Allow: VARIANT_BOOL, - ) -> HRESULT, - fn get_AllowAudioOutputFormatChangesOnNextSet( - Allow: *mut VARIANT_BOOL, - ) -> HRESULT, - fn get_EventInterests( - EventInterestFlags: *mut SpeechVoiceEvents, - ) -> HRESULT, - fn put_EventInterests( - EventInterestFlags: SpeechVoiceEvents, - ) -> HRESULT, - fn put_Priority( - Priority: SpeechVoicePriority, - ) -> HRESULT, - fn get_Priority( - Priority: *mut SpeechVoicePriority, - ) -> HRESULT, - fn put_AlertBoundary( - Boundary: SpeechVoiceEvents, - ) -> HRESULT, - fn get_AlertBoundary( - Boundary: *mut SpeechVoiceEvents, - ) -> HRESULT, - fn put_SynchronousSpeakTimeout( - msTimeout: c_long, - ) -> HRESULT, - fn get_SynchronousSpeakTimeout( - msTimeOut: *mut c_long, - ) -> HRESULT, - fn Speak( - Text: BSTR, - Flags: SpeechVoiceSpeakFlags, - StreamNumber: *mut c_long, - ) -> HRESULT, - fn SpeakStream( - Stream: *mut ISpeechBaseStream, - Flags: SpeechVoiceSpeakFlags, - StreamNumber: *mut c_long, - ) -> HRESULT, - fn Pause() -> HRESULT, - fn Resume() -> HRESULT, - fn Skip( - Type: BSTR, - NumItems: c_long, - NumSkipped: c_long, - ) -> HRESULT, - fn GetVoices( - RequiredAttributes: BSTR, - OptionalAttributes: BSTR, - ObjectTokens: *mut *mut ISpeechObjectTokens, - ) -> HRESULT, - fn GetAudioOutputs( - RequiredAttributes: BSTR, - OptionalAttributes: BSTR, - ObjectTokens: *mut *mut ISpeechObjectTokens, - ) -> HRESULT, - fn WaitUntilDone( - msTimeout: c_long, - Done: *mut VARIANT_BOOL, - ) -> HRESULT, - fn SpeakCompleteEvent( - Handle: *mut c_long, - ) -> HRESULT, - fn IsUISupported( - TypeOfUI: BSTR, - ExtraData: *const VARIANT, - Supported: *mut VARIANT_BOOL, - ) -> HRESULT, - fn DisplayUI( - hWndParent: c_long, - Title: BSTR, - TypeOfUI: BSTR, - ExtraData: *const VARIANT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x8be47b07, 0x57f6, 0x11d2, 0x9e, 0xee, 0x00, 0xc0, 0x4f, 0x79, 0x73, 0x96)] -interface ISpeechVoiceStatus(ISpeechVoiceStatusVtbl): IDispatch(IDispatchVtbl) { - fn get_CurrentStreamNumber( - StreamNumber: *mut c_long, - ) -> HRESULT, - fn get_LastStreamNumberQueued( - StreamNumber: *mut c_long, - ) -> HRESULT, - fn get_LastHResult( - HResult: *mut c_long, - ) -> HRESULT, - fn get_RunningState( - State: *mut SpeechRunState, - ) -> HRESULT, - fn get_InputWordPosition( - Position: *mut c_long, - ) -> HRESULT, - fn get_InputWordLength( - Length: *mut c_long, - ) -> HRESULT, - fn get_InputSentencePosition( - Position: *mut c_long, - ) -> HRESULT, - fn get_InputSentenceLength( - Length: *mut c_long, - ) -> HRESULT, - fn get_LastBookmark( - Bookmark: *mut BSTR, - ) -> HRESULT, - fn get_LastBookmarkId( - BookmarkId: *mut c_long, - ) -> HRESULT, - fn get_PhonemeId( - PhoneId: *mut c_short, - ) -> HRESULT, - fn get_VisemeId( - VisemeId: *mut c_short, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa372acd1, 0x3bef, 0x4bbd, 0x8f, 0xfb, 0xcb, 0x3e, 0x2b, 0x41, 0x6a, 0xf8)] -interface _ISpeechVoiceEvents(_ISpeechVoiceEventsVtbl): IDispatch(IDispatchVtbl) {}} -RIDL!{#[uuid(0x2d5f1c0c, 0xbd75, 0x4b08, 0x94, 0x78, 0x3b, 0x11, 0xfe, 0xa2, 0x58, 0x6c)] -interface ISpeechRecognizer(ISpeechRecognizerVtbl): IDispatch(IDispatchVtbl) { - fn putref_Recognizer( - Recognizer: *mut ISpeechObjectToken, - ) -> HRESULT, - fn get_Recognizer( - Recognizer: *mut *mut ISpeechObjectToken, - ) -> HRESULT, - fn put_AllowAudioInputFormatChangesOnNextSet( - Allow: VARIANT_BOOL, - ) -> HRESULT, - fn get_AllowAudioInputFormatChangesOnNextSet( - Allow: *mut VARIANT_BOOL, - ) -> HRESULT, - fn putref_AudioInput( - AudioInput: *mut ISpeechObjectToken, - ) -> HRESULT, - fn get_AudioInput( - AudioInput: *mut *mut ISpeechObjectToken, - ) -> HRESULT, - fn putref_AudioInputStream( - AudioInputStream: *mut ISpeechBaseStream, - ) -> HRESULT, - fn get_AudioInputStream( - AudioInputStream: *mut *mut ISpeechBaseStream, - ) -> HRESULT, - fn get_IsShared( - Shared: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_State( - State: SpeechRecognizerState, - ) -> HRESULT, - fn get_State( - State: *mut SpeechRecognizerState, - ) -> HRESULT, - fn get_Status( - Status: *mut *mut ISpeechRecognizerStatus, - ) -> HRESULT, - fn putref_Profile( - Profile: *mut ISpeechObjectToken, - ) -> HRESULT, - fn get_Profile( - Profile: *mut *mut ISpeechObjectToken, - ) -> HRESULT, - fn EmulateRecognition( - TextElements: VARIANT, - ElementDisplayAttributes: *mut VARIANT, - LanguageId: c_long, - ) -> HRESULT, - fn CreateRecoContext( - NewContext: *mut *mut ISpeechRecoContext, - ) -> HRESULT, - fn GetFormat( - Type: SpeechFormatType, - Format: *mut *mut ISpeechAudioFormat, - ) -> HRESULT, - fn SetPropertyNumber( - Name: BSTR, - Value: c_long, - Supported: *mut VARIANT_BOOL, - ) -> HRESULT, - fn GetPropertyNumber( - Name: BSTR, - Value: *mut c_long, - Supported: *mut VARIANT_BOOL, - ) -> HRESULT, - fn SetPropertyString( - Name: BSTR, - Value: BSTR, - Supported: *mut VARIANT_BOOL, - ) -> HRESULT, - fn GetPropertyString( - Name: BSTR, - Value: *mut BSTR, - Supported: *mut VARIANT_BOOL, - ) -> HRESULT, - fn IsUISupported( - TypeOfUI: BSTR, - ExtraData: *const VARIANT, - Supported: *mut VARIANT_BOOL, - ) -> HRESULT, - fn DisplayUI( - hWndParent: c_long, - Title: BSTR, - TypeOfUI: BSTR, - ExtraData: *const VARIANT, - ) -> HRESULT, - fn GetRecognizers( - RequiredAttributes: BSTR, - OptionalAttributes: BSTR, - ObjectTokens: *mut *mut ISpeechObjectTokens, - ) -> HRESULT, - fn GetAudioInputs( - RequiredAttributes: BSTR, - OptionalAttributes: BSTR, - ObjectTokens: *mut *mut ISpeechObjectTokens, - ) -> HRESULT, - fn GetProfiles( - RequiredAttributes: BSTR, - OptionalAttributes: BSTR, - ObjectTokens: *mut *mut ISpeechObjectTokens, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xbff9e781, 0x53ec, 0x484e, 0xbb, 0x8a, 0x0e, 0x1b, 0x55, 0x51, 0xe3, 0x5c)] -interface ISpeechRecognizerStatus(ISpeechRecognizerStatusVtbl): IDispatch(IDispatchVtbl) { - fn get_AudioStatus( - AudioStatus: *mut *mut ISpeechAudioStatus, - ) -> HRESULT, - fn get_CurrentStreamPosition( - pCurrentStreamPos: *mut VARIANT, - ) -> HRESULT, - fn get_CurrentStreamNumber( - StreamNumber: *mut c_long, - ) -> HRESULT, - fn get_NumberOfActiveRules( - NumberOfActiveRules: *mut c_long, - ) -> HRESULT, - fn get_ClsidEngine( - ClsidEngine: *mut BSTR, - ) -> HRESULT, - fn get_SupportedLanguages( - SupportedLanguages: *mut VARIANT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x580aa49d, 0x7e1e, 0x4809, 0xb8, 0xe2, 0x57, 0xda, 0x80, 0x61, 0x04, 0xb8)] -interface ISpeechRecoContext(ISpeechRecoContextVtbl): IDispatch(IDispatchVtbl) { - fn get_Recognizer( - Recognizer: *mut *mut ISpeechRecognizer, - ) -> HRESULT, - fn get_AudioInputInterferenceStatus( - Interference: *mut SpeechInterference, - ) -> HRESULT, - fn get_RequestedUIType( - UIType: *mut BSTR, - ) -> HRESULT, - fn putref_Voice( - Voice: *mut ISpeechVoice, - ) -> HRESULT, - fn get_Voice( - Voice: *mut *mut ISpeechVoice, - ) -> HRESULT, - fn put_AllowVoiceFormatMatchingOnNextSet( - Allow: VARIANT_BOOL, - ) -> HRESULT, - fn get_AllowVoiceFormatMatchingOnNextSet( - Allow: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_VoicePurgeEvent( - EventInterest: SpeechRecoEvents, - ) -> HRESULT, - fn get_VoicePurgeEvent( - EventInterest: *mut SpeechRecoEvents, - ) -> HRESULT, - fn put_EventInterests( - EventInterest: SpeechRecoEvents, - ) -> HRESULT, - fn get_EventInterests( - EventInterest: *mut SpeechRecoEvents, - ) -> HRESULT, - fn put_CmdMaxAlternates( - MaxAlternates: c_long, - ) -> HRESULT, - fn get_CmdMaxAlternates( - MaxAlternates: *mut c_long, - ) -> HRESULT, - fn put_State( - State: SpeechRecoContextState, - ) -> HRESULT, - fn get_State( - State: *mut SpeechRecoContextState, - ) -> HRESULT, - fn put_RetainedAudio( - Option: SpeechRetainedAudioOptions, - ) -> HRESULT, - fn get_RetainedAudio( - Option: *mut SpeechRetainedAudioOptions, - ) -> HRESULT, - fn putref_RetainedAudioFormat( - Format: *mut ISpeechAudioFormat, - ) -> HRESULT, - fn get_RetainedAudioFormat( - Format: *mut *mut ISpeechAudioFormat, - ) -> HRESULT, - fn Pause() -> HRESULT, - fn Resume() -> HRESULT, - fn CreateGrammar( - GrammarId: VARIANT, - Grammar: *mut *mut ISpeechRecoGrammar, - ) -> HRESULT, - fn CreateResultFromMemory( - ResultBlock: *mut VARIANT, - Result: *mut *mut ISpeechRecoResult, - ) -> HRESULT, - fn Bookmark( - Options: SpeechBookmarkOptions, - StreamPos: VARIANT, - BookmarkId: VARIANT, - ) -> HRESULT, - fn SetAdaptationData( - AdaptationString: BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xb6d6f79f, 0x2158, 0x4e50, 0xb5, 0xbc, 0x9a, 0x9c, 0xcd, 0x85, 0x2a, 0x09)] -interface ISpeechRecoGrammar(ISpeechRecoGrammarVtbl): IDispatch(IDispatchVtbl) { - fn get_Id( - Id: *mut VARIANT, - ) -> HRESULT, - fn get_RecoContext( - RecoContext: *mut *mut ISpeechRecoContext, - ) -> HRESULT, - fn put_State( - State: SpeechGrammarState, - ) -> HRESULT, - fn get_State( - State: *mut SpeechGrammarState, - ) -> HRESULT, - fn get_Rules( - Rules: *mut *mut ISpeechGrammarRules, - ) -> HRESULT, - fn Reset( - NewLanguage: SpeechLanguageId, - ) -> HRESULT, - fn CmdLoadFromFile( - FileName: BSTR, - LoadOption: SpeechLoadOption, - ) -> HRESULT, - fn CmdLoadFromObject( - ClassId: BSTR, - GrammarName: BSTR, - LoadOption: SpeechLoadOption, - ) -> HRESULT, - fn CmdLoadFromResource( - hModule: c_long, - ResourceName: VARIANT, - ResourceType: VARIANT, - LanguageId: SpeechLanguageId, - LoadOption: SpeechLoadOption, - ) -> HRESULT, - fn CmdLoadFromMemory( - GrammarData: VARIANT, - LoadOption: SpeechLoadOption, - ) -> HRESULT, - fn CmdLoadFromProprietaryGrammar( - ProprietaryGuid: BSTR, - PriorietaryString: BSTR, - ProprietaryData: VARIANT, - LoadOption: SpeechLoadOption, - ) -> HRESULT, - fn CmdSetRuleState( - Name: BSTR, - State: SpeechRuleState, - ) -> HRESULT, - fn CmdSetRuleIdState( - RuleId: c_long, - State: SpeechRuleState, - ) -> HRESULT, - fn DictationLoad( - TopicName: BSTR, - LoadOption: SpeechLoadOption, - ) -> HRESULT, - fn DictationUnload() -> HRESULT, - fn DictationSetState( - State: SpeechRuleState, - ) -> HRESULT, - fn SetWordSequenceData( - Text: BSTR, - TextLength: c_long, - Info: *mut ISpeechTextSelectionInformation, - ) -> HRESULT, - fn SetTextSelection( - Info: *mut ISpeechTextSelectionInformation, - ) -> HRESULT, - fn IsPronounceable( - Word: BSTR, - WordPronounceable: *mut SpeechWordPronounceable, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x7b8fcb42, 0x0e9d, 0x4f00, 0xa0, 0x48, 0x7b, 0x04, 0xd6, 0x17, 0x9d, 0x3d)] -interface _ISpeechRecoContextEvents(_ISpeechRecoContextEventsVtbl): IDispatch(IDispatchVtbl) {}} -RIDL!{#[uuid(0xafe719cf, 0x5dd1, 0x44f2, 0x99, 0x9c, 0x7a, 0x39, 0x9f, 0x1c, 0xfc, 0xcc)] -interface ISpeechGrammarRule(ISpeechGrammarRuleVtbl): IDispatch(IDispatchVtbl) { - fn get_Attributes( - Attributes: *mut SpeechRuleAttributes, - ) -> HRESULT, - fn get_InitialState( - State: *mut *mut ISpeechGrammarRuleState, - ) -> HRESULT, - fn get_Name( - Name: *mut BSTR, - ) -> HRESULT, - fn get_Id( - Id: *mut c_long, - ) -> HRESULT, - fn Clear() -> HRESULT, - fn AddResource( - ResourceName: BSTR, - ResourceValue: BSTR, - ) -> HRESULT, - fn AddState( - State: *mut *mut ISpeechGrammarRuleState, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x6ffa3b44, 0xfc2d, 0x40d1, 0x8a, 0xfc, 0x32, 0x91, 0x1c, 0x7f, 0x1a, 0xd1)] -interface ISpeechGrammarRules(ISpeechGrammarRulesVtbl): IDispatch(IDispatchVtbl) { - fn get_Count( - Count: *mut c_long, - ) -> HRESULT, - fn FindRule( - RuleNameOrId: VARIANT, - Rule: *mut *mut ISpeechGrammarRule, - ) -> HRESULT, - fn Item( - Index: c_long, - Rule: *mut *mut ISpeechGrammarRule, - ) -> HRESULT, - fn get__NewEnum( - EnumVARIANT: *mut *mut IUnknown, - ) -> HRESULT, - fn get_Dynamic( - Dynamic: *mut VARIANT_BOOL, - ) -> HRESULT, - fn Add( - RuleName: BSTR, - Attributes: SpeechRuleAttributes, - RuleId: c_long, - Rule: *mut *mut ISpeechGrammarRule, - ) -> HRESULT, - fn Commit() -> HRESULT, - fn CommitAndSave( - ErrorText: *mut BSTR, - SaveStream: *mut VARIANT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xd4286f2c, 0xee67, 0x45ae, 0xb9, 0x28, 0x28, 0xd6, 0x95, 0x36, 0x2e, 0xda)] -interface ISpeechGrammarRuleState(ISpeechGrammarRuleStateVtbl): IDispatch(IDispatchVtbl) { - fn get_Rule( - Rule: *mut *mut ISpeechGrammarRule, - ) -> HRESULT, - fn get_Transitions( - Transitions: *mut *mut ISpeechGrammarRuleStateTransitions, - ) -> HRESULT, - fn AddWordTransition( - DestState: *mut ISpeechGrammarRuleState, - Words: BSTR, - Separators: BSTR, - Type: SpeechGrammarWordType, - PropertyName: BSTR, - PropertyId: c_long, - PropertyValue: *mut VARIANT, - Weight: c_float, - ) -> HRESULT, - fn AddRuleTransition( - DestinationState: *mut ISpeechGrammarRuleState, - Rule: *mut ISpeechGrammarRule, - PropertyName: BSTR, - PropertyId: c_long, - PropertyValue: *mut VARIANT, - Weight: c_float, - ) -> HRESULT, - fn AddSpecialTransition( - DestinationState: *mut ISpeechGrammarRuleState, - Type: SpeechSpecialTransitionType, - PropertyName: BSTR, - PropertyId: c_long, - PropertyValue: *mut VARIANT, - Weight: c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xcafd1db1, 0x41d1, 0x4a06, 0x98, 0x63, 0xe2, 0xe8, 0x1d, 0xa1, 0x7a, 0x9a)] -interface ISpeechGrammarRuleStateTransition(ISpeechGrammarRuleStateTransitionVtbl): - IDispatch(IDispatchVtbl) { - fn get_Type( - Type: *mut SpeechGrammarRuleStateTransitionType, - ) -> HRESULT, - fn get_Text( - Text: *mut BSTR, - ) -> HRESULT, - fn get_Rule( - Rule: *mut *mut ISpeechGrammarRule, - ) -> HRESULT, - fn get_Weight( - Weight: *mut VARIANT, - ) -> HRESULT, - fn get_PropertyName( - PropertyName: *mut BSTR, - ) -> HRESULT, - fn get_PropertyId( - PropertyId: *mut c_long, - ) -> HRESULT, - fn get_PropertyValue( - PropertyValue: *mut VARIANT, - ) -> HRESULT, - fn get_NextState( - NextState: *mut *mut ISpeechGrammarRuleState, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xeabce657, 0x75bc, 0x44a2, 0xaa, 0x7f, 0xc5, 0x64, 0x76, 0x74, 0x29, 0x63)] -interface ISpeechGrammarRuleStateTransitions(ISpeechGrammarRuleStateTransitionsVtbl): - IDispatch(IDispatchVtbl) { - fn get_Count( - Count: *mut c_long, - ) -> HRESULT, - fn Item( - Index: c_long, - Transition: *mut *mut ISpeechGrammarRuleStateTransition, - ) -> HRESULT, - fn get__NewEnum( - EnumVARIANT: *mut *mut IUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x3b9c7e7a, 0x6eee, 0x4ded, 0x90, 0x92, 0x11, 0x65, 0x72, 0x79, 0xad, 0xbe)] -interface ISpeechTextSelectionInformation(ISpeechTextSelectionInformationVtbl): - IDispatch(IDispatchVtbl) { - fn put_ActiveOffset( - ActiveOffset: c_long, - ) -> HRESULT, - fn get_ActiveOffset( - ActiveOffset: *mut c_long, - ) -> HRESULT, - fn put_ActiveLength( - ActiveLength: c_long, - ) -> HRESULT, - fn get_ActiveLength( - ActiveLength: *mut c_long, - ) -> HRESULT, - fn put_SelectionOffset( - SelectionOffset: c_long, - ) -> HRESULT, - fn get_SelectionOffset( - SelectionOffset: *mut c_long, - ) -> HRESULT, - fn put_SelectionLength( - SelectionLength: c_long, - ) -> HRESULT, - fn get_SelectionLength( - SelectionLength: *mut c_long, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xed2879cf, 0xced9, 0x4ee6, 0xa5, 0x34, 0xde, 0x01, 0x91, 0xd5, 0x46, 0x8d)] -interface ISpeechRecoResult(ISpeechRecoResultVtbl): IDispatch(IDispatchVtbl) { - fn get_RecoContext( - RecoContext: *mut *mut ISpeechRecoContext, - ) -> HRESULT, - fn get_Times( - Times: *mut *mut ISpeechRecoResultTimes, - ) -> HRESULT, - fn putref_AudioFormat( - Format: *mut ISpeechAudioFormat, - ) -> HRESULT, - fn get_AudioFormat( - Format: *mut *mut ISpeechAudioFormat, - ) -> HRESULT, - fn get_PhraseInfo( - PhraseInfo: *mut *mut ISpeechPhraseInfo, - ) -> HRESULT, - fn Alternates( - RequestCount: c_long, - StartElement: c_long, - Elements: c_long, - Alternates: *mut *mut ISpeechPhraseAlternates, - ) -> HRESULT, - fn Audio( - StartElement: c_long, - Elements: c_long, - Stream: *mut *mut ISpeechMemoryStream, - ) -> HRESULT, - fn SpeakAudio( - StartElement: c_long, - Elements: c_long, - Flags: SpeechVoiceSpeakFlags, - StreamNumber: *mut c_long, - ) -> HRESULT, - fn SaveToMemory( - ResultBlock: *mut VARIANT, - ) -> HRESULT, - fn DiscardResultInfo( - ValueTypes: SpeechDiscardType, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x62b3b8fb, 0xf6e7, 0x41be, 0xbd, 0xcb, 0x05, 0x6b, 0x1c, 0x29, 0xef, 0xc0)] -interface ISpeechRecoResultTimes(ISpeechRecoResultTimesVtbl): IDispatch(IDispatchVtbl) { - fn get_StreamTime( - Time: *mut VARIANT, - ) -> HRESULT, - fn get_Length( - Length: *mut VARIANT, - ) -> HRESULT, - fn get_TickCount( - TickCount: *mut c_long, - ) -> HRESULT, - fn get_OffsetFromStart( - OffsetFromStart: *mut VARIANT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x27864a2a, 0x2b9f, 0x4cb8, 0x92, 0xd3, 0x0d, 0x27, 0x22, 0xfd, 0x1e, 0x73)] -interface ISpeechPhraseAlternate(ISpeechPhraseAlternateVtbl): IDispatch(IDispatchVtbl) { - fn get_RecoResult( - RecoResult: *mut *mut ISpeechRecoResult, - ) -> HRESULT, - fn get_StartElementInResult( - StartElement: *mut c_long, - ) -> HRESULT, - fn get_NumberOfElementsInResult( - NumberOfElements: *mut c_long, - ) -> HRESULT, - fn get_PhraseInfo( - PhraseInfo: *mut *mut ISpeechPhraseInfo, - ) -> HRESULT, - fn Commit() -> HRESULT, -}} -RIDL!{#[uuid(0xb238b6d5, 0xf276, 0x4c3d, 0xa6, 0xc1, 0x29, 0x74, 0x80, 0x1c, 0x3c, 0xc2)] -interface ISpeechPhraseAlternates(ISpeechPhraseAlternatesVtbl): IDispatch(IDispatchVtbl) { - fn get_Count( - Count: *mut c_long, - ) -> HRESULT, - fn Item( - Index: c_long, - PhraseAlternate: *mut *mut ISpeechPhraseAlternate, - ) -> HRESULT, - fn get__NewEnum( - EnumVARIANT: *mut *mut IUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x961559cf, 0x4e67, 0x4662, 0x8b, 0xf0, 0xd9, 0x3f, 0x1f, 0xcd, 0x61, 0xb3)] -interface ISpeechPhraseInfo(ISpeechPhraseInfoVtbl): IDispatch(IDispatchVtbl) { - fn get_LanguageId( - LanguageId: *mut c_long, - ) -> HRESULT, - fn get_GrammarId( - GrammarId: *mut VARIANT, - ) -> HRESULT, - fn get_StartTime( - StartTime: *mut VARIANT, - ) -> HRESULT, - fn get_AudioStreamPosition( - AudioStreamPosition: *mut VARIANT, - ) -> HRESULT, - fn get_AudioSizeBytes( - pAudioSizeBytes: *mut c_long, - ) -> HRESULT, - fn get_RetainedSizeBytes( - RetainedSizeBytes: *mut c_long, - ) -> HRESULT, - fn get_AudioSizeTime( - AudioSizeTime: *mut c_long, - ) -> HRESULT, - fn get_Rule( - Rule: *mut *mut ISpeechPhraseRule, - ) -> HRESULT, - fn get_Properties( - Properties: *mut *mut ISpeechPhraseProperties, - ) -> HRESULT, - fn get_Elements( - Elements: *mut *mut ISpeechPhraseElements, - ) -> HRESULT, - fn get_Replacements( - Replacements: *mut *mut ISpeechPhraseReplacements, - ) -> HRESULT, - fn get_EngineId( - EngineIdGuid: *mut BSTR, - ) -> HRESULT, - fn get_EnginePrivateData( - PrivateData: *mut VARIANT, - ) -> HRESULT, - fn SaveToMemory( - PhraseBlock: *mut VARIANT, - ) -> HRESULT, - fn GetText( - StartElement: c_long, - Elements: c_long, - UseReplacements: VARIANT_BOOL, - Text: *mut BSTR, - ) -> HRESULT, - fn GetDisplayAttributes( - StartElement: c_long, - Elements: c_long, - UseReplacements: VARIANT_BOOL, - DisplayAttributes: *mut SpeechDisplayAttributes, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xe6176f96, 0xe373, 0x4801, 0xb2, 0x23, 0x3b, 0x62, 0xc0, 0x68, 0xc0, 0xb4)] -interface ISpeechPhraseElement(ISpeechPhraseElementVtbl): IDispatch(IDispatchVtbl) { - fn get_AudioTimeOffset( - AudioTimeOffset: *mut c_long, - ) -> HRESULT, - fn get_AudioSizeTime( - AudioSizeTime: *mut c_long, - ) -> HRESULT, - fn get_AudioStreamOffset( - AudioStreamOffset: *mut c_long, - ) -> HRESULT, - fn get_AudioSizeBytes( - AudioSizeBytes: *mut c_long, - ) -> HRESULT, - fn get_RetainedStreamOffset( - RetainedStreamOffset: *mut c_long, - ) -> HRESULT, - fn get_RetainedSizeBytes( - RetainedSizeBytes: *mut c_long, - ) -> HRESULT, - fn get_DisplayText( - DisplayText: *mut BSTR, - ) -> HRESULT, - fn get_LexicalForm( - LexicalForm: *mut BSTR, - ) -> HRESULT, - fn get_Pronunciation( - Pronunciation: *mut VARIANT, - ) -> HRESULT, - fn get_DisplayAttributes( - DisplayAttributes: *mut SpeechDisplayAttributes, - ) -> HRESULT, - fn get_RequiredConfidence( - RequiredConfidence: *mut SpeechEngineConfidence, - ) -> HRESULT, - fn get_ActualConfidence( - ActualConfidence: *mut SpeechEngineConfidence, - ) -> HRESULT, - fn get_EngineConfidence( - EngineConfident: *mut c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x0626b328, 0x3478, 0x467d, 0xa0, 0xb3, 0xd0, 0x85, 0x3b, 0x93, 0xdd, 0xa3)] -interface ISpeechPhraseElements(ISpeechPhraseElementsVtbl): IDispatch(IDispatchVtbl) { - fn get_Count( - Count: *mut c_long, - ) -> HRESULT, - fn Item( - Index: c_long, - Element: *mut *mut ISpeechPhraseElement, - ) -> HRESULT, - fn get__NewEnum( - EnumVARIANT: *mut *mut IUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2890a410, 0x53a7, 0x4fb5, 0x94, 0xec, 0x06, 0xd4, 0x99, 0x8e, 0x3d, 0x02)] -interface ISpeechPhraseReplacement(ISpeechPhraseReplacementVtbl): IDispatch(IDispatchVtbl) { - fn get_DisplayAttributes( - DisplayAttributes: *mut SpeechDisplayAttributes, - ) -> HRESULT, - fn get_Text( - Text: *mut BSTR, - ) -> HRESULT, - fn get_FirstElement( - FirstElement: *mut c_long, - ) -> HRESULT, - fn get_NumberOfElements( - NumberOfElements: *mut c_long, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x38bc662f, 0x2257, 0x4525, 0x95, 0x9e, 0x20, 0x69, 0xd2, 0x59, 0x6c, 0x05)] -interface ISpeechPhraseReplacements(ISpeechPhraseReplacementsVtbl): IDispatch(IDispatchVtbl) { - fn get_Count( - Count: *mut c_long, - ) -> HRESULT, - fn Item( - Index: c_long, - Reps: *mut *mut ISpeechPhraseReplacement, - ) -> HRESULT, - fn get__NewEnum( - EnumVARIANT: *mut *mut IUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xce563d48, 0x961e, 0x4732, 0xa2, 0xe1, 0x37, 0x8a, 0x42, 0xb4, 0x30, 0xbe)] -interface ISpeechPhraseProperty(ISpeechPhrasePropertyVtbl): IDispatch(IDispatchVtbl) { - fn get_Name( - Name: *mut BSTR, - ) -> HRESULT, - fn get_Id( - Id: *mut c_long, - ) -> HRESULT, - fn get_Value( - Value: *mut VARIANT, - ) -> HRESULT, - fn get_FirstElement( - FirstElement: *mut c_long, - ) -> HRESULT, - fn get_NumberOfElements( - NumberOfElements: *mut c_long, - ) -> HRESULT, - fn get_EngineConfidence( - Confidence: *mut c_float, - ) -> HRESULT, - fn get_Confidence( - Confidence: *mut SpeechEngineConfidence, - ) -> HRESULT, - fn get_Parent( - ParentProperty: *mut *mut ISpeechPhraseProperty, - ) -> HRESULT, - fn get_Children( - Children: *mut *mut ISpeechPhraseProperties, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x08166b47, 0x102e, 0x4b23, 0xa5, 0x99, 0xbd, 0xb9, 0x8d, 0xbf, 0xd1, 0xf4)] -interface ISpeechPhraseProperties(ISpeechPhrasePropertiesVtbl): IDispatch(IDispatchVtbl) { - fn get_Count( - Count: *mut c_long, - ) -> HRESULT, - fn Item( - Index: c_long, - Property: *mut *mut ISpeechPhraseProperty, - ) -> HRESULT, - fn get__NewEnum( - EnumVARIANT: *mut *mut IUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa7bfe112, 0xa4a0, 0x48d9, 0xb6, 0x02, 0xc3, 0x13, 0x84, 0x3f, 0x69, 0x64)] -interface ISpeechPhraseRule(ISpeechPhraseRuleVtbl): IDispatch(IDispatchVtbl) { - fn get_Name( - Name: *mut BSTR, - ) -> HRESULT, - fn get_Id( - Id: *mut c_long, - ) -> HRESULT, - fn get_FirstElement( - FirstElement: *mut c_long, - ) -> HRESULT, - fn get_NumberOfElements( - NumberOfElements: *mut c_long, - ) -> HRESULT, - fn get_Parent( - Parent: *mut *mut ISpeechPhraseRule, - ) -> HRESULT, - fn get_Children( - Children: *mut *mut ISpeechPhraseRules, - ) -> HRESULT, - fn get_Confidence( - ActualConfidence: *mut SpeechEngineConfidence, - ) -> HRESULT, - fn get_EngineConfidence( - Confidence: *mut c_float, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x9047d593, 0x01dd, 0x4b72, 0x81, 0xa3, 0xe4, 0xa0, 0xca, 0x69, 0xf4, 0x07)] -interface ISpeechPhraseRules(ISpeechPhraseRulesVtbl): IDispatch(IDispatchVtbl) { - fn get_Count( - Count: *mut c_long, - ) -> HRESULT, - fn Item( - Index: c_long, - Rule: *mut *mut ISpeechPhraseRule, - ) -> HRESULT, - fn get__NewEnum( - EnumVARIANT: *mut *mut IUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x3da7627a, 0xc7ae, 0x4b23, 0x87, 0x08, 0x63, 0x8c, 0x50, 0x36, 0x2c, 0x25)] -interface ISpeechLexicon(ISpeechLexiconVtbl): IDispatch(IDispatchVtbl) { - fn get_GenerationId( - GenerationId: *mut c_long, - ) -> HRESULT, - fn GetWords( - Flags: SpeechLexiconType, - GenerationID: *mut c_long, - Words: *mut *mut ISpeechLexiconWords, - ) -> HRESULT, - fn AddPronunciation( - bstrWord: BSTR, - LangId: SpeechLanguageId, - PartOfSpeech: SpeechPartOfSpeech, - bstrPronunciation: BSTR, - ) -> HRESULT, - fn AddPronunciationByPhoneIds( - bstrWord: BSTR, - LangId: SpeechLanguageId, - PartOfSpeech: SpeechPartOfSpeech, - PhoneIds: *mut VARIANT, - ) -> HRESULT, - fn RemovePronunciation( - bstrWord: BSTR, - LangId: SpeechLanguageId, - PartOfSpeech: SpeechPartOfSpeech, - bstrPronunciation: BSTR, - ) -> HRESULT, - fn RemovePronunciationByPhoneIds( - bstrWord: BSTR, - LangId: SpeechLanguageId, - PartOfSpeech: SpeechPartOfSpeech, - PhoneIds: *mut VARIANT, - ) -> HRESULT, - fn GetPronunciations( - bstrWord: BSTR, - LangId: SpeechLanguageId, - TypeFlags: SpeechLexiconType, - ppPronunciations: *mut *mut ISpeechLexiconPronunciations, - ) -> HRESULT, - fn GetGenerationChange( - GenerationID: *mut c_long, - ppWords: *mut *mut ISpeechLexiconWords, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x8d199862, 0x415e, 0x47d5, 0xac, 0x4f, 0xfa, 0xa6, 0x08, 0xb4, 0x24, 0xe6)] -interface ISpeechLexiconWords(ISpeechLexiconWordsVtbl): IDispatch(IDispatchVtbl) { - fn get_Count( - Count: *mut c_long, - ) -> HRESULT, - fn Item( - Index: c_long, - Word: *mut *mut ISpeechLexiconWord, - ) -> HRESULT, - fn get__NewEnum( - EnumVARIANT: *mut *mut IUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x4e5b933c, 0xc9be, 0x48ed, 0x88, 0x42, 0x1e, 0xe5, 0x1b, 0xb1, 0xd4, 0xff)] -interface ISpeechLexiconWord(ISpeechLexiconWordVtbl): IDispatch(IDispatchVtbl) { - fn get_LangId( - LangId: *mut SpeechLanguageId, - ) -> HRESULT, - fn get_Type( - WordType: *mut SpeechWordType, - ) -> HRESULT, - fn get_Word( - Word: *mut BSTR, - ) -> HRESULT, - fn get_Pronunciations( - Pronunciations: *mut *mut ISpeechLexiconPronunciations, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x72829128, 0x5682, 0x4704, 0xa0, 0xd4, 0x3e, 0x2b, 0xb6, 0xf2, 0xea, 0xd3)] -interface ISpeechLexiconPronunciations(ISpeechLexiconPronunciationsVtbl): - IDispatch(IDispatchVtbl) { - fn get_Count( - Count: *mut c_long, - ) -> HRESULT, - fn Item( - Index: c_long, - Pronunciation: *mut *mut ISpeechLexiconPronunciation, - ) -> HRESULT, - fn get__NewEnum( - EnumVARIANT: *mut *mut IUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x95252c5d, 0x9e43, 0x4f4a, 0x98, 0x99, 0x48, 0xee, 0x73, 0x35, 0x2f, 0x9f)] -interface ISpeechLexiconPronunciation(ISpeechLexiconPronunciationVtbl): IDispatch(IDispatchVtbl) { - fn get_Type( - LexiconType: *mut SpeechLexiconType, - ) -> HRESULT, - fn get_LangId( - LangId: *mut SpeechLanguageId, - ) -> HRESULT, - fn get_PartOfSpeech( - PartOfSpeech: *mut SpeechPartOfSpeech, - ) -> HRESULT, - fn get_PhoneIds( - PhoneIds: *mut VARIANT, - ) -> HRESULT, - fn get_Symbolic( - Symbolic: *mut BSTR, - ) -> HRESULT, -}} -pub const Speech_Default_Weight: c_float = DEFAULT_WEIGHT; -pub const Speech_Max_Word_Length: LONG = SP_MAX_WORD_LENGTH as i32; -pub const Speech_Max_Pron_Length: LONG = SP_MAX_PRON_LENGTH as i32; -pub const Speech_StreamPos_Asap: LONG = SP_STREAMPOS_ASAP as i32; -pub const Speech_StreamPos_RealTime: LONG = SP_STREAMPOS_REALTIME as i32; -pub const SpeechAllElements: LONG = SPPR_ALL_ELEMENTS as i32; -RIDL!{#[uuid(0x3b151836, 0xdf3a, 0x4e0a, 0x84, 0x6c, 0xd2, 0xad, 0xc9, 0x33, 0x43, 0x33)] -interface ISpeechPhraseInfoBuilder(ISpeechPhraseInfoBuilderVtbl): IDispatch(IDispatchVtbl) { - fn RestorePhraseFromMemory( - PhraseInMemory: *mut VARIANT, - PhraseInfo: *mut *mut ISpeechPhraseInfo, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xc3e4f353, 0x433f, 0x43d6, 0x89, 0xa1, 0x6a, 0x62, 0xa7, 0x05, 0x4c, 0x3d)] -interface ISpeechPhoneConverter(ISpeechPhoneConverterVtbl): IDispatch(IDispatchVtbl) { - fn get_LanguageId( - LanguageId: *mut SpeechLanguageId, - ) -> HRESULT, - fn put_LanguageId( - LanguageId: SpeechLanguageId, - ) -> HRESULT, - fn PhoneToId( - Phonemes: BSTR, - IdArray: *mut VARIANT, - ) -> HRESULT, - fn IdToPhone( - IdArray: VARIANT, - Phonemes: *mut BSTR, - ) -> HRESULT, -}} -extern { - pub static CLSID_SpNotifyTranslator: CLSID; - pub static CLSID_SpObjectTokenCategory: CLSID; - pub static CLSID_SpObjectToken: CLSID; - pub static CLSID_SpResourceManager: CLSID; - pub static CLSID_SpStreamFormatConverter: CLSID; - pub static CLSID_SpMMAudioEnum: CLSID; - pub static CLSID_SpMMAudioIn: CLSID; - pub static CLSID_SpMMAudioOut: CLSID; - pub static CLSID_SpStream: CLSID; - pub static CLSID_SpVoice: CLSID; - pub static CLSID_SpSharedRecoContext: CLSID; - pub static CLSID_SpInprocRecognizer: CLSID; - pub static CLSID_SpSharedRecognizer: CLSID; - pub static CLSID_SpLexicon: CLSID; - pub static CLSID_SpUnCompressedLexicon: CLSID; - pub static CLSID_SpCompressedLexicon: CLSID; - pub static CLSID_SpPhoneConverter: CLSID; - pub static CLSID_SpNullPhoneConverter: CLSID; - pub static CLSID_SpTextSelectionInformation: CLSID; - pub static CLSID_SpPhraseInfoBuilder: CLSID; - pub static CLSID_SpAudioFormat: CLSID; - pub static CLSID_SpWaveFormatEx: CLSID; - pub static CLSID_SpInProcRecoContext: CLSID; - pub static CLSID_SpCustomStream: CLSID; - pub static CLSID_SpFileStream: CLSID; - pub static CLSID_SpMemoryStream: CLSID; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/sapi53.rs b/vendor/registry-40351f815f426200/winapi/src/um/sapi53.rs deleted file mode 100644 index 7121191d8..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/sapi53.rs +++ /dev/null @@ -1,1823 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! SAPI 5.3 definitions -use ctypes::{c_float, c_int, c_long}; -use shared::guiddef::{CLSID, GUID}; -use shared::minwindef::{BOOL, BYTE, DWORD, LPARAM, UINT, ULONG, WORD, WPARAM}; -use shared::wtypes::{BSTR, VARIANT_BOOL}; -use um::oaidl::{IDispatch, IDispatchVtbl, VARIANT}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::urlmon::IInternetSecurityManager; -use um::winnt::{HRESULT, LPCWSTR, LPWSTR, ULONGLONG, WCHAR}; -pub use um::sapi51::{ - SPDATAKEYLOCATION, - SPDKL_DefaultLocation, - SPDKL_CurrentUser, - SPDKL_LocalMachine, - SPDKL_CurrentConfig, - SPDUI_EngineProperties, - SPDUI_AddRemoveWord, - SPDUI_UserTraining, - SPDUI_MicTraining, - SPDUI_RecoProfileProperties, - SPDUI_AudioProperties, - SPDUI_AudioVolume, - SPDUI_UserEnrollment, - SPDUI_ShareData, - SPDUI_Tutorial, - SPSTREAMFORMAT, - SPSF_Default, - SPSF_NoAssignedFormat, - SPSF_Text, - SPSF_NonStandardFormat, - SPSF_ExtendedAudioFormat, - SPSF_8kHz8BitMono, - SPSF_8kHz8BitStereo, - SPSF_8kHz16BitMono, - SPSF_8kHz16BitStereo, - SPSF_11kHz8BitMono, - SPSF_11kHz8BitStereo, - SPSF_11kHz16BitMono, - SPSF_11kHz16BitStereo, - SPSF_12kHz8BitMono, - SPSF_12kHz8BitStereo, - SPSF_12kHz16BitMono, - SPSF_12kHz16BitStereo, - SPSF_16kHz8BitMono, - SPSF_16kHz8BitStereo, - SPSF_16kHz16BitMono, - SPSF_16kHz16BitStereo, - SPSF_22kHz8BitMono, - SPSF_22kHz8BitStereo, - SPSF_22kHz16BitMono, - SPSF_22kHz16BitStereo, - SPSF_24kHz8BitMono, - SPSF_24kHz8BitStereo, - SPSF_24kHz16BitMono, - SPSF_24kHz16BitStereo, - SPSF_32kHz8BitMono, - SPSF_32kHz8BitStereo, - SPSF_32kHz16BitMono, - SPSF_32kHz16BitStereo, - SPSF_44kHz8BitMono, - SPSF_44kHz8BitStereo, - SPSF_44kHz16BitMono, - SPSF_44kHz16BitStereo, - SPSF_48kHz8BitMono, - SPSF_48kHz8BitStereo, - SPSF_48kHz16BitMono, - SPSF_48kHz16BitStereo, - SPSF_TrueSpeech_8kHz1BitMono, - SPSF_CCITT_ALaw_8kHzMono, - SPSF_CCITT_ALaw_8kHzStereo, - SPSF_CCITT_ALaw_11kHzMono, - SPSF_CCITT_ALaw_11kHzStereo, - SPSF_CCITT_ALaw_22kHzMono, - SPSF_CCITT_ALaw_22kHzStereo, - SPSF_CCITT_ALaw_44kHzMono, - SPSF_CCITT_ALaw_44kHzStereo, - SPSF_CCITT_uLaw_8kHzMono, - SPSF_CCITT_uLaw_8kHzStereo, - SPSF_CCITT_uLaw_11kHzMono, - SPSF_CCITT_uLaw_11kHzStereo, - SPSF_CCITT_uLaw_22kHzMono, - SPSF_CCITT_uLaw_22kHzStereo, - SPSF_CCITT_uLaw_44kHzMono, - SPSF_CCITT_uLaw_44kHzStereo, - SPSF_ADPCM_8kHzMono, - SPSF_ADPCM_8kHzStereo, - SPSF_ADPCM_11kHzMono, - SPSF_ADPCM_11kHzStereo, - SPSF_ADPCM_22kHzMono, - SPSF_ADPCM_22kHzStereo, - SPSF_ADPCM_44kHzMono, - SPSF_ADPCM_44kHzStereo, - SPSF_GSM610_8kHzMono, - SPSF_GSM610_11kHzMono, - SPSF_GSM610_22kHzMono, - SPSF_GSM610_44kHzMono, - SPSF_NUM_FORMATS, - SPDFID_Text, - SPDFID_WaveFormatEx, - SPREG_USER_ROOT, - SPREG_LOCAL_MACHINE_ROOT, - SPCAT_AUDIOOUT, - SPCAT_AUDIOIN, - SPCAT_VOICES, - SPCAT_RECOGNIZERS, - SPCAT_APPLEXICONS, - SPCAT_PHONECONVERTERS, - SPCAT_TEXTNORMALIZERS, - SPCAT_RECOPROFILES, - SPMMSYS_AUDIO_IN_TOKEN_ID, - SPMMSYS_AUDIO_OUT_TOKEN_ID, - SPCURRENT_USER_LEXICON_TOKEN_ID, - SPTOKENVALUE_CLSID, - SPTOKENKEY_FILES, - SPTOKENKEY_UI, - SPTOKENKEY_ATTRIBUTES -}; -pub const SPTOKENKEY_RETAINEDAUDIO: &'static str = "SecondsPerRetainedAudioEvent"; -pub const SPTOKENKEY_AUDIO_LATENCY_WARNING: &'static str = "LatencyWarningThreshold"; -pub const SPTOKENKEY_AUDIO_LATENCY_TRUNCATE: &'static str = "LatencyTruncateThreshold"; -pub const SPTOKENKEY_AUDIO_LATENCY_UPDATE_INTERVAL: &'static str = "LatencyUpdateInterval"; -pub use um::sapi51::{ - SPVOICECATEGORY_TTSRATE, - SPPROP_RESOURCE_USAGE, - SPPROP_HIGH_CONFIDENCE_THRESHOLD, - SPPROP_NORMAL_CONFIDENCE_THRESHOLD, - SPPROP_LOW_CONFIDENCE_THRESHOLD, - SPPROP_RESPONSE_SPEED, - SPPROP_COMPLEX_RESPONSE_SPEED, - SPPROP_ADAPTATION_ON, - SPPROP_PERSISTED_BACKGROUND_ADAPTATION, - SPPROP_PERSISTED_LANGUAGE_MODEL_ADAPTATION, - SPPROP_UX_IS_LISTENING, - SPTOPIC_SPELLING, - SPWILDCARD, - SPDICTATION -}; -pub const SPREG_SAFE_USER_TOKENS: &'static str - = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\UserTokens"; -pub use um::sapi51::{ - SPINFDICTATION, - SP_LOW_CONFIDENCE, - SP_NORMAL_CONFIDENCE, - SP_HIGH_CONFIDENCE, - DEFAULT_WEIGHT, - SP_MAX_WORD_LENGTH, - SP_MAX_PRON_LENGTH -}; -pub const SP_EMULATE_RESULT: ULONG = 0x40000000; -pub use um::sapi51::{ - ISpNotifyCallback, - SPNOTIFYCALLBACK, - ISpNotifySource, ISpNotifySourceVtbl, - ISpNotifySink, ISpNotifySinkVtbl, - ISpNotifyTranslator, ISpNotifyTranslatorVtbl, - ISpDataKey, ISpDataKeyVtbl, - ISpRegDataKey, ISpRegDataKeyVtbl, - ISpObjectTokenCategory, ISpObjectTokenCategoryVtbl, - ISpObjectToken, ISpObjectTokenVtbl, - ISpObjectTokenInit, ISpObjectTokenInitVtbl, - IEnumSpObjectTokens, IEnumSpObjectTokensVtbl, - ISpObjectWithToken, ISpObjectWithTokenVtbl, - ISpResourceManager, ISpResourceManagerVtbl, - SPEVENTLPARAMTYPE, - SPET_LPARAM_IS_UNDEFINED, - SPET_LPARAM_IS_TOKEN, - SPET_LPARAM_IS_OBJECT, - SPET_LPARAM_IS_POINTER, - SPET_LPARAM_IS_STRING, - SPEVENTENUM, - SPEI_UNDEFINED, - SPEI_START_INPUT_STREAM, - SPEI_END_INPUT_STREAM, - SPEI_VOICE_CHANGE, - SPEI_TTS_BOOKMARK, - SPEI_WORD_BOUNDARY, - SPEI_PHONEME, - SPEI_SENTENCE_BOUNDARY, - SPEI_VISEME, - SPEI_TTS_AUDIO_LEVEL, - SPEI_TTS_PRIVATE, - SPEI_MIN_TTS, - SPEI_MAX_TTS, - SPEI_END_SR_STREAM, - SPEI_SOUND_START, - SPEI_SOUND_END, - SPEI_PHRASE_START, - SPEI_RECOGNITION, - SPEI_HYPOTHESIS, - SPEI_SR_BOOKMARK, - SPEI_PROPERTY_NUM_CHANGE, - SPEI_PROPERTY_STRING_CHANGE, - SPEI_FALSE_RECOGNITION, - SPEI_INTERFERENCE, - SPEI_REQUEST_UI, - SPEI_RECO_STATE_CHANGE, - SPEI_ADAPTATION, - SPEI_START_SR_STREAM, - SPEI_RECO_OTHER_CONTEXT, - SPEI_SR_AUDIO_LEVEL -}; -pub const SPEI_SR_RETAINEDAUDIO: SPEVENTENUM = 51; -pub use um::sapi51::SPEI_SR_PRIVATE; -pub const SPEI_RESERVED4: SPEVENTENUM = 53; -pub const SPEI_RESERVED5: SPEVENTENUM = 54; -pub const SPEI_RESERVED6: SPEVENTENUM = 55; -pub use um::sapi51::SPEI_MIN_SR; -pub const SPEI_MAX_SR: SPEVENTENUM = 55; -pub use um::sapi51::{ - SPEI_RESERVED1, - SPEI_RESERVED2, - SPEI_RESERVED3, - SPFEI_FLAGCHECK, - SPFEI_ALL_TTS_EVENTS, - SPFEI_ALL_SR_EVENTS, - SPFEI_ALL_EVENTS, - SPFEI, - SPEVENT, - SPSERIALIZEDEVENT, - SPSERIALIZEDEVENT64 -}; -STRUCT!{struct SPEVENTEX { - eEventId: WORD, - elParamType: WORD, - ulStreamNum: ULONG, - ullAudioStreamOffset: ULONGLONG, - wParam: WPARAM, - lParam: LPARAM, - ullAudioTimeOffset: ULONGLONG, -}} -pub use um::sapi51::{ - SPINTERFERENCE, - SPINTERFERENCE_NONE, - SPINTERFERENCE_NOISE, - SPINTERFERENCE_NOSIGNAL, - SPINTERFERENCE_TOOLOUD, - SPINTERFERENCE_TOOQUIET, - SPINTERFERENCE_TOOFAST, - SPINTERFERENCE_TOOSLOW, - SPINTERFERENCE_LATENCY_WARNING, - SPINTERFERENCE_LATENCY_TRUNCATE_BEGIN, - SPINTERFERENCE_LATENCY_TRUNCATE_END, - SPENDSRSTREAMFLAGS, - SPESF_NONE, - SPESF_STREAM_RELEASED -}; -pub const SPESF_EMULATED: SPENDSRSTREAMFLAGS = 1 << 1; -pub use um::sapi51::{ - SPVFEATURE, - SPVFEATURE_STRESSED, - SPVFEATURE_EMPHASIS, - SPVISEMES, - SP_VISEME_0, - SP_VISEME_1, - SP_VISEME_2, - SP_VISEME_3, - SP_VISEME_4, - SP_VISEME_5, - SP_VISEME_6, - SP_VISEME_7, - SP_VISEME_8, - SP_VISEME_9, - SP_VISEME_10, - SP_VISEME_11, - SP_VISEME_12, - SP_VISEME_13, - SP_VISEME_14, - SP_VISEME_15, - SP_VISEME_16, - SP_VISEME_17, - SP_VISEME_18, - SP_VISEME_19, - SP_VISEME_20, - SP_VISEME_21, - SPEVENTSOURCEINFO, - ISpEventSource, ISpEventSourceVtbl, -}; -RIDL!{#[uuid(0x2373a435, 0x6a4b, 0x429e, 0xa6, 0xac, 0xd4, 0x23, 0x1a, 0x61, 0x97, 0x5b)] -interface ISpEventSource2(ISpEventSource2Vtbl): ISpEventSource(ISpEventSourceVtbl) { - fn GetEventsEx( - ulCount: ULONG, - pEventArray: *mut SPEVENTEX, - pulFetched: *mut ULONG, - ) -> HRESULT, -}} -pub use um::sapi51::{ - ISpEventSink, ISpEventSinkVtbl, - ISpStreamFormat, ISpStreamFormatVtbl, - SPFILEMODE, - SPFM_OPEN_READONLY, - SPFM_OPEN_READWRITE, - SPFM_CREATE, - SPFM_CREATE_ALWAYS, - SPFM_NUM_MODES, - ISpStream, ISpStreamVtbl, - ISpStreamFormatConverter, ISpStreamFormatConverterVtbl, - SPAUDIOSTATE, - SPAS_CLOSED, - SPAS_STOP, - SPAS_PAUSE, - SPAS_RUN, - SPAUDIOSTATUS, - SPAUDIOBUFFERINFO, - ISpAudio, ISpAudioVtbl, - ISpMMSysAudio, ISpMMSysAudioVtbl, - ISpTranscript, ISpTranscriptVtbl, - SPDISPLAYATTRIBUTES, - SPAF_ONE_TRAILING_SPACE, - SPAF_TWO_TRAILING_SPACES, - SPAF_CONSUME_LEADING_SPACES -}; -pub const SPAF_BUFFER_POSITION: SPDISPLAYATTRIBUTES = 0x10; -pub const SPAF_ALL: SPDISPLAYATTRIBUTES = 0x1f; -pub const SPAF_USER_SPECIFIED: SPDISPLAYATTRIBUTES = 0x80; -pub use um::sapi51::{ - SPPHONEID, - PSPPHONEID, - PCSPPHONEID, - SPPHRASEELEMENT, - SPPHRASERULE, - SPPHRASEPROPERTYUNIONTYPE, - SPPPUT_UNUSED, - SPPPUT_ARRAY_INDEX, - SPPHRASEPROPERTY, - SPPHRASEREPLACEMENT -}; -STRUCT!{struct SPSEMANTICERRORINFO { - ulLineNumber: ULONG, - pszScriptLine: LPWSTR, - pszSource: LPWSTR, - pszDescription: LPWSTR, - hrResultCode: HRESULT, -}} -ENUM!{enum SPSEMANTICFORMAT { - SPSMF_SAPI_PROPERTIES = 0, - SPSMF_SRGS_SEMANTICINTERPRETATION_MS = 1, - SPSMF_SRGS_SAPIPROPERTIES = 2, - SPSMF_UPS = 4, - SPSMF_SRGS_SEMANTICINTERPRETATION_W3C = 8, -}} -pub use um::sapi51::SPPHRASE as SPPHRASE_50; -// TODO: pub const SP_SPPHRASESIZE_500: usize = mem::size_of::(); -STRUCT!{struct SPPHRASE { - cbSize: ULONG, - LangID: WORD, - wHomophoneGroupId: WORD, - ullGrammarID: ULONGLONG, - ftStartTime: ULONGLONG, - ullAudioStreamPosition: ULONGLONG, - ulAudioSizeBytes: ULONG, - ulRetainedSizeBytes: ULONG, - ulAudioSizeTime: ULONG, - Rule: SPPHRASERULE, - pProperties: *const SPPHRASEPROPERTY, - pElements: *const SPPHRASEELEMENT, - cReplacements: ULONG, - pReplacements: *const SPPHRASEREPLACEMENT, - SREngineID: GUID, - ulSREnginePrivateDataSize: ULONG, - pSREnginePrivateData: *const BYTE, - pSML: LPWSTR, - pSemanticErrorInfo: *mut SPSEMANTICERRORINFO, -}} -pub use um::sapi51::SPSERIALIZEDPHRASE; -STRUCT!{struct SPRULE { - pszRuleName: LPCWSTR, - ulRuleId: ULONG, - dwAttributes: DWORD, -}} -pub use um::sapi51::{ - SPVALUETYPE, - SPDF_PROPERTY, - SPDF_REPLACEMENT, - SPDF_RULE, - SPDF_DISPLAYTEXT, - SPDF_LEXICALFORM , - SPDF_PRONUNCIATION, - SPDF_AUDIO, - SPDF_ALTERNATES, - SPDF_ALL, - SPBINARYGRAMMAR, - SPPHRASERNG, - SPPR_ALL_ELEMENTS, - SP_GETWHOLEPHRASE, - SPRR_ALL_ELEMENTS, - SPSTATEHANDLE, - SPRECOEVENTFLAGS, - SPREF_AutoPause, - SPREF_Emulated -}; -pub const SPREF_SMLTimeout: SPRECOEVENTFLAGS = 1 << 2; -pub const SPREF_ExtendableParse: SPRECOEVENTFLAGS = 1 << 3; -pub const SPREF_ReSent: SPRECOEVENTFLAGS = 1 << 4; -pub const SPREF_Hypothesis: SPRECOEVENTFLAGS = 1 << 5; -pub const SPREF_FalseRecognition: SPRECOEVENTFLAGS = 1 << 6; -pub use um::sapi51::{ - SPPARTOFSPEECH, - SPPS_NotOverriden, - SPPS_Unknown, - SPPS_Noun, - SPPS_Verb, - SPPS_Modifier, - SPPS_Function, - SPPS_Interjection -}; -pub const SPPS_Noncontent: SPPARTOFSPEECH = 0x6000; -pub const SPPS_LMA: SPPARTOFSPEECH = 0x7000; -pub const SPPS_SuppressWord: SPPARTOFSPEECH = 0xf000; -pub use um::sapi51::{ - SPLEXICONTYPE, - eLEXTYPE_USER, - eLEXTYPE_APP, - eLEXTYPE_VENDORLEXICON, - eLEXTYPE_LETTERTOSOUND, - eLEXTYPE_MORPHOLOGY, - eLEXTYPE_RESERVED4, - eLEXTYPE_USER_SHORTCUT, - eLEXTYPE_RESERVED6, - eLEXTYPE_RESERVED7, - eLEXTYPE_RESERVED8, - eLEXTYPE_RESERVED9, - eLEXTYPE_RESERVED10, - eLEXTYPE_PRIVATE1, - eLEXTYPE_PRIVATE2, - eLEXTYPE_PRIVATE3, - eLEXTYPE_PRIVATE4, - eLEXTYPE_PRIVATE5, - eLEXTYPE_PRIVATE6, - eLEXTYPE_PRIVATE7, - eLEXTYPE_PRIVATE8, - eLEXTYPE_PRIVATE9, - eLEXTYPE_PRIVATE10, - eLEXTYPE_PRIVATE11, - eLEXTYPE_PRIVATE12, - eLEXTYPE_PRIVATE13, - eLEXTYPE_PRIVATE14, - eLEXTYPE_PRIVATE15, - eLEXTYPE_PRIVATE16, - eLEXTYPE_PRIVATE17, - eLEXTYPE_PRIVATE18, - eLEXTYPE_PRIVATE19, - eLEXTYPE_PRIVATE20, - SPWORDTYPE, - eWORDTYPE_ADDED, - eWORDTYPE_DELETED -}; -ENUM!{enum SPPRONUNCIATIONFLAGS { - ePRONFLAG_USED = 1 << 0, -}} -pub use um::sapi51::{ - SPWORDPRONUNCIATION, - SPWORDPRONUNCIATIONLIST, - SPWORD, - SPWORDLIST, - ISpLexicon, ISpLexiconVtbl, - ISpContainerLexicon, ISpContainerLexiconVtbl, -}; -ENUM!{enum SPSHORTCUTTYPE { - SPSHT_NotOverriden = -1i32 as u32, - SPSHT_Unknown = 0, - SPSHT_EMAIL = 0x1000, - SPSHT_OTHER = 0x2000, - SPPS_RESERVED1 = 0x3000, - SPPS_RESERVED2 = 0x4000, - SPPS_RESERVED3 = 0x5000, - SPPS_RESERVED4 = 0xf000, -}} -STRUCT!{struct SPSHORTCUTPAIR { - pNextSHORTCUTPAIR: *mut SPSHORTCUTPAIR, - LangID: WORD, - shType: SPSHORTCUTTYPE, - pszDisplay: LPWSTR, - pszSpoken: LPWSTR, -}} -STRUCT!{struct SPSHORTCUTPAIRLIST { - ulSize: ULONG, - pvBuffer: *mut BYTE, - pFirstShortcutPair: *mut SPSHORTCUTPAIR, -}} -RIDL!{#[uuid(0x3df681e2, 0xea56, 0x11d9, 0x8b, 0xde, 0xf6, 0x6b, 0xad, 0x1e, 0x3f, 0x3a)] -interface ISpShortcut(ISpShortcutVtbl): IUnknown(IUnknownVtbl) { - fn AddShortcut( - pszDisplay: LPCWSTR, - LangID: WORD, - pszSpoken: LPCWSTR, - shType: SPSHORTCUTTYPE, - ) -> HRESULT, - fn RemoveShortcut( - pszDisplay: LPCWSTR, - LangID: WORD, - pszSpoken: LPCWSTR, - shType: SPSHORTCUTTYPE, - ) -> HRESULT, - fn GetShortcuts( - LangId: WORD, - pShortcutpairList: *mut SPSHORTCUTPAIRLIST, - ) -> HRESULT, - fn GetGeneration( - pdwGeneration: *mut DWORD, - ) -> HRESULT, - fn GetWordsFromGenerationChange( - pdwGeneration: *mut DWORD, - pWordList: *mut SPWORDLIST, - ) -> HRESULT, - fn GetWords( - pdwGeneration: *mut DWORD, - pdwCookie: *mut DWORD, - pWordList: *mut SPWORDLIST, - ) -> HRESULT, - fn GetShortcutsForGeneration( - pdwGeneration: *mut DWORD, - pdwCookie: *mut DWORD, - pShortcutpairList: *mut SPSHORTCUTPAIRLIST, - ) -> HRESULT, - fn GetGenerationChange( - pdwGeneration: *mut DWORD, - pShortcutpairList: *mut SPSHORTCUTPAIRLIST, - ) -> HRESULT, -}} -pub use um::sapi51::{ISpPhoneConverter, ISpPhoneConverterVtbl}; -RIDL!{#[uuid(0x133adcd4, 0x19b4, 0x4020, 0x9f, 0xdc, 0x84, 0x2e, 0x78, 0x25, 0x3b, 0x17)] -interface ISpPhoneticAlphabetConverter(ISpPhoneticAlphabetConverterVtbl): IUnknown(IUnknownVtbl) { - fn GetLangId( - pLangID: *mut WORD, - ) -> HRESULT, - fn SetLangId( - LangID: WORD, - ) -> HRESULT, - fn SAPI2UPS( - pszSAPIId: *const SPPHONEID, - pszUPSId: *mut SPPHONEID, - cMaxLength: DWORD, - ) -> HRESULT, - fn UPS2SAPI( - pszUPSId: *const SPPHONEID, - pszSAPIId: *mut SPPHONEID, - cMaxLength: DWORD, - ) -> HRESULT, - fn GetMaxConvertLength( - cSrcLength: DWORD, - bSAPI2UPS: BOOL, - pcMaxDestLength: *mut DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xb2745efd, 0x42ce, 0x48ca, 0x81, 0xf1, 0xa9, 0x6e, 0x02, 0x53, 0x8a, 0x90)] -interface ISpPhoneticAlphabetSelection(ISpPhoneticAlphabetSelectionVtbl): IUnknown(IUnknownVtbl) { - fn IsAlphabetUPS( - pfIsUPS: *mut BOOL, - ) -> HRESULT, - fn SetAlphabetToUPS( - fForceUPS: BOOL, - ) -> HRESULT, -}} -pub use um::sapi51::{ - SPVPITCH, - SPVACTIONS, - SPVA_Speak, - SPVA_Silence, - SPVA_Pronounce, - SPVA_Bookmark, - SPVA_SpellOut, - SPVA_Section, - SPVA_ParseUnknownTag, - SPVCONTEXT, - SPVSTATE, - SPRUNSTATE, - SPRS_DONE, - SPRS_IS_SPEAKING, - SPVLIMITS, - SPMIN_VOLUME, - SPMAX_VOLUME, - SPMIN_RATE, - SPMAX_RATE, - SPVPRIORITY, - SPVPRI_NORMAL, - SPVPRI_ALERT, - SPVPRI_OVER, - SPVOICESTATUS, - SPEAKFLAGS, - SPF_DEFAULT, - SPF_ASYNC, - SPF_PURGEBEFORESPEAK, - SPF_IS_FILENAME, - SPF_IS_XML, - SPF_IS_NOT_XML, - SPF_PERSIST_XML, - SPF_NLP_SPEAK_PUNC, -}; -pub const SPF_PARSE_SAPI: SPEAKFLAGS = 1 << 7; -pub const SPF_PARSE_SSML: SPEAKFLAGS = 1 << 8; -pub const SPF_PARSE_AUTODETECT: SPEAKFLAGS = 0; -pub use um::sapi51::SPF_NLP_MASK; -pub const SPF_PARSE_MASK: SPEAKFLAGS = SPF_PARSE_SAPI | SPF_PARSE_SSML; -pub const SPF_VOICE_MASK: SPEAKFLAGS = ::um::sapi51::SPF_VOICE_MASK | SPF_PARSE_MASK; -pub const SPF_UNUSED_FLAGS: SPEAKFLAGS = !SPF_VOICE_MASK; -pub use um::sapi51::{ - ISpVoice, ISpVoiceVtbl, - ISpPhrase, ISpPhraseVtbl, - ISpPhraseAlt, ISpPhraseAltVtbl, -}; -ENUM!{enum SPXMLRESULTOPTIONS { - SPXRO_SML = 0, - SPXRO_Alternates_SML = 1, -}} -RIDL!{#[uuid(0xf264da52, 0xe457, 0x4696, 0xb8, 0x56, 0xa7, 0x37, 0xb7, 0x17, 0xaf, 0x79)] -interface ISpPhrase2(ISpPhrase2Vtbl): ISpPhrase(ISpPhraseVtbl) { - fn GetXMLResult( - ppszCoMemXMLResult: *mut LPWSTR, - Options: SPXMLRESULTOPTIONS, - ) -> HRESULT, - fn GetXMLErrorInfo( - pSemanticErrorInfo: *mut SPSEMANTICERRORINFO, - ) -> HRESULT, - fn GetAudio( - ulStartElement: ULONG, - cElements: ULONG, - ppStream: *mut *mut ISpStreamFormat, - ) -> HRESULT, -}} -pub use um::sapi51::{ - SPRECORESULTTIMES, - SPSERIALIZEDRESULT, - ISpRecoResult, ISpRecoResultVtbl, -}; -ENUM!{enum SPCOMMITFLAGS { - SPCF_NONE = 0, - SPCF_ADD_TO_USER_LEXICON = 1 << 0, - SPCF_DEFINITE_CORRECTION = 1 << 1, -}} -RIDL!{#[uuid(0x27cac6c4, 0x88f2, 0x41f2, 0x88, 0x17, 0x0c, 0x95, 0xe5, 0x9f, 0x1e, 0x6e)] -interface ISpRecoResult2(ISpRecoResult2Vtbl): ISpRecoResult(ISpRecoResultVtbl) { - fn CommitAlternate( - pPhraseAlt: *mut ISpPhraseAlt, - ppNewResult: *mut *mut ISpRecoResult, - ) -> HRESULT, - fn CommitText( - ulStartElement: ULONG, - cElements: ULONG, - pszCorrectedData: LPCWSTR, - eCommitFlags: DWORD, - ) -> HRESULT, - fn SetTextFeedback( - pszFeedback: LPCWSTR, - fSuccessful: BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xae39362b, 0x45a8, 0x4074, 0x9b, 0x9e, 0xcc, 0xf4, 0x9a, 0xa2, 0xd0, 0xb6)] -interface ISpXMLRecoResult(ISpXMLRecoResultVtbl): ISpRecoResult(ISpRecoResultVtbl) { - fn GetXMLResult( - ppszCoMemXMLResult: *mut LPWSTR, - Options: SPXMLRESULTOPTIONS, - ) -> HRESULT, - fn GetXMLErrorInfo( - pSemanticErrorInfo: *mut SPSEMANTICERRORINFO, - ) -> HRESULT, -}} -pub use um::sapi51::{ - SPTEXTSELECTIONINFO, - SPWORDPRONOUNCEABLE, - SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE, - SPWP_UNKNOWN_WORD_PRONOUNCEABLE, - SPWP_KNOWN_WORD_PRONOUNCEABLE, - SPGRAMMARSTATE, - SPGS_DISABLED, - SPGS_ENABLED, - SPGS_EXCLUSIVE, - SPCONTEXTSTATE, - SPCS_DISABLED, - SPCS_ENABLED, - SPRULESTATE, - SPRS_INACTIVE, - SPRS_ACTIVE, - SPRS_ACTIVE_WITH_AUTO_PAUSE, -}; -pub const SPRS_ACTIVE_USER_DELIMITED: SPRULESTATE = 4; -pub use um::sapi51::{ - SP_STREAMPOS_ASAP, - SP_STREAMPOS_REALTIME, - SPRULETRANS_TEXTBUFFER, - SPRULETRANS_WILDCARD, - SPRULETRANS_DICTATION, - SPGRAMMARWORDTYPE, - SPWT_DISPLAY, - SPWT_LEXICAL, - SPWT_PRONUNCIATION, -}; -pub const SPWT_LEXICAL_NO_SPECIAL_CHARS: SPGRAMMARWORDTYPE = SPWT_PRONUNCIATION + 1; -pub use um::sapi51::{ - SPPROPERTYINFO, - SPCFGRULEATTRIBUTES, - SPRAF_TopLevel, - SPRAF_Active, - SPRAF_Export, - SPRAF_Import, - SPRAF_Interpreter, - SPRAF_Dynamic, -}; -pub const SPRAF_Root: SPCFGRULEATTRIBUTES = 1 << 6; -pub use um::sapi51::SPRAF_AutoPause; -pub const SPRAF_UserDelimited: SPCFGRULEATTRIBUTES = 1 << 17; -pub use um::sapi51::{ - ISpGrammarBuilder, ISpGrammarBuilderVtbl, - SPLOADOPTIONS, - SPLO_STATIC, - SPLO_DYNAMIC, - ISpRecoGrammar, ISpRecoGrammarVtbl, -}; -ENUM!{enum SPMATCHINGMODE { - AllWords = 0, - Subsequence = 1, - OrderedSubset = 3, - SubsequenceContentRequired = 5, - OrderedSubsetContentRequired = 7, -}} -ENUM!{enum PHONETICALPHABET { - PA_Ipa = 0, - PA_Ups = 1, - PA_Sapi = 2, -}} -RIDL!{#[uuid(0x8ab10026, 0x20cc, 0x4b20, 0x8c, 0x22, 0xa4, 0x9c, 0x9b, 0xa7, 0x8f, 0x60)] -interface ISpGrammarBuilder2(ISpGrammarBuilder2Vtbl): IUnknown(IUnknownVtbl) { - fn AddTextSubset( - hFromState: SPSTATEHANDLE, - hToState: SPSTATEHANDLE, - psz: LPCWSTR, - eMatchMode: SPMATCHINGMODE, - ) -> HRESULT, - fn SetPhoneticAlphabet( - phoneticALphabet: PHONETICALPHABET, - ) -> HRESULT, -}} -pub const SPRP_NORMAL: i32 = 0; // TODO: Unknown purpose and type -RIDL!{#[uuid(0x4b37bc9e, 0x9ed6, 0x44a3, 0x93, 0xd3, 0x18, 0xf0, 0x22, 0xb7, 0x9e, 0xc3)] -interface ISpRecoGrammar2(ISpRecoGrammar2Vtbl): IUnknown(IUnknownVtbl) { - fn GetRules( - ppCoMemRules: *mut *mut SPRULE, - puNumRules: *mut UINT, - ) -> HRESULT, - fn LoadCmdFromFile2( - pszFileName: LPCWSTR, - Options: SPLOADOPTIONS, - pszSharingUri: LPCWSTR, - pszBaseUri: LPCWSTR, - ) -> HRESULT, - fn LoadCmdFromMemory2( - pGrammar: *const SPBINARYGRAMMAR, - Options: SPLOADOPTIONS, - pszSharingUri: LPCWSTR, - pszBaseUri: LPCWSTR, - ) -> HRESULT, - fn SetRulePriority( - pszRuleName: LPCWSTR, - ulRuleId: ULONG, - nRulePriority: c_int, - ) -> HRESULT, - fn SetRuleWeight( - pszRuleName: LPCWSTR, - ulRuleId: ULONG, - flWeight: c_float, - ) -> HRESULT, - fn SetDictationWeight( - flWeight: c_float, - ) -> HRESULT, - fn SetGrammarLoader( - pLoader: *mut ISpeechResourceLoader, - ) -> HRESULT, - fn SetSMLSecurityManager( - pSMLSecurityManager: *mut IInternetSecurityManager, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xb9ac5783, 0xfcd0, 0x4b21, 0xb1, 0x19, 0xb4, 0xf8, 0xda, 0x8f, 0xd2, 0xc3)] -interface ISpeechResourceLoader(ISpeechResourceLoaderVtbl): IDispatch(IDispatchVtbl) { - fn LoadResource( - bstrResourceUri: BSTR, - fAlwaysReload: VARIANT_BOOL, - pStream: *mut *mut IUnknown, - pbstrMIMEType: *mut BSTR, - pfModified: *mut VARIANT_BOOL, - pbstrRedirectUrl: *mut BSTR, - ) -> HRESULT, - fn GetLocalCopy( - bstrResourceUri: BSTR, - pbstrLocalPath: *mut BSTR, - pbstrMIMEType: *mut BSTR, - pbstrRedirectUrl: *mut BSTR, - ) -> HRESULT, - fn ReleaseLocalCopy( - pbstrLocalPath: BSTR, - ) -> HRESULT, -}} -pub use um::sapi51::{ - SPRECOCONTEXTSTATUS, - SPBOOKMARKOPTIONS, - SPBO_NONE, - SPBO_PAUSE, -}; -pub const SPBO_AHEAD: SPBOOKMARKOPTIONS = 1 << 1; -pub const SPBO_TIME_UNITS: SPBOOKMARKOPTIONS = 1 << 2; -pub use um::sapi51::{ - SPAUDIOOPTIONS, - SPAO_NONE, - SPAO_RETAIN_AUDIO, - ISpRecoContext, ISpRecoContextVtbl, -}; -ENUM!{enum SPGRAMMAROPTIONS { - SPGO_SAPI = 0x1, - SPGO_SRGS = 0x2, - SPGO_UPS = 0x4, - SPGO_SRGS_MS_SCRIPT = 0x8, - SPGO_SRGS_W3C_SCRIPT = 0x100, - SPGO_SRGS_STG_SCRIPT = 0x200, - SPGO_SRGS_SCRIPT = SPGO_SRGS | SPGO_SRGS_MS_SCRIPT - | SPGO_SRGS_W3C_SCRIPT | SPGO_SRGS_STG_SCRIPT, - SPGO_FILE = 0x10, - SPGO_HTTP = 0x20, - SPGO_RES = 0x40, - SPGO_OBJECT = 0x80, - SPGO_DEFAULT = 0x3fb, - SPGO_ALL = 0x3ff, -}} -ENUM!{enum SPADAPTATIONSETTINGS { - SPADS_Default = 0, - SPADS_CurrentRecognizer = 0x1, - SPADS_RecoProfile = 0x2, - SPADS_Immediate = 0x4, - SPADS_Reset = 0x8, - SPADS_HighVolumeDataSource = 0x10, -}} -ENUM!{enum SPADAPTATIONRELEVANCE { - SPAR_Unknown = 0, - SPAR_Low = 1, - SPAR_Medium = 2, - SPAR_High = 3, -}} -RIDL!{#[uuid(0xbead311c, 0x52ff, 0x437f, 0x94, 0x64, 0x6b, 0x21, 0x05, 0x4c, 0xa7, 0x3d)] -interface ISpRecoContext2(ISpRecoContext2Vtbl): IUnknown(IUnknownVtbl) { - fn SetGrammarOptions( - eGrammarOptions: DWORD, - ) -> HRESULT, - fn GetGrammarOptions( - peGrammarOptions: *mut DWORD, - ) -> HRESULT, - fn SetAdaptationData2( - pAdaptationData: LPCWSTR, - cch: ULONG, - pTopicName: LPCWSTR, - eAdaptationSettings: DWORD, - eRelevance: SPADAPTATIONRELEVANCE, - ) -> HRESULT, -}} -pub use um::sapi51::{ - ISpProperties, ISpPropertiesVtbl, - SP_MAX_LANGIDS, - SPRECOGNIZERSTATUS, - SPWAVEFORMATTYPE, - SPWF_INPUT, - SPWF_SRENGINE, - SPSTREAMFORMATTYPE, - SPRECOSTATE, - SPRST_INACTIVE, - SPRST_ACTIVE, - SPRST_ACTIVE_ALWAYS, - SPRST_INACTIVE_WITH_PURGE, - SPRST_NUM_STATES, - ISpRecognizer, ISpRecognizerVtbl, -}; -RIDL!{#[uuid(0x21b501a0, 0x0ec7, 0x46c9, 0x92, 0xc3, 0xa2, 0xbc, 0x78, 0x4c, 0x54, 0xb9)] -interface ISpSerializeState(ISpSerializeStateVtbl): IUnknown(IUnknownVtbl) { - fn GetSerializedState( - ppbData: *mut *mut BYTE, - pulSize: *mut ULONG, - dwReserved: DWORD, - ) -> HRESULT, - fn SetSerializedState( - pbData: *mut BYTE, - ulSize: ULONG, - dwReserved: DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x8fc6d974, 0xc81e, 0x4098, 0x93, 0xc5, 0x01, 0x47, 0xf6, 0x1e, 0xd4, 0xd3)] -interface ISpRecognizer2(ISpRecognizer2Vtbl): IUnknown(IUnknownVtbl) { - fn EmulateRecognitionEx( - pPhrase: *mut ISpPhrase, - dwCompareFlags: DWORD, - ) -> HRESULT, - fn SetTrainingState( - fDoingTraining: BOOL, - fAdaptFromTrainingData: BOOL, - ) -> HRESULT, - fn ResetAcousticModelAdaptation() -> HRESULT, -}} -STRUCT!{struct SPNORMALIZATIONLIST { - ulSize: ULONG, - ppszzNormalizedList: *mut *mut WCHAR, -}} -RIDL!{#[uuid(0xc360ce4b, 0x76d1, 0x4214, 0xad, 0x68, 0x52, 0x65, 0x7d, 0x50, 0x83, 0xda)] -interface ISpEnginePronunciation(ISpEnginePronunciationVtbl): IUnknown(IUnknownVtbl) { - fn Normalize( - pszWord: LPCWSTR, - pszLeftContext: LPCWSTR, - pszRightContext: LPCWSTR, - LangID: WORD, - pNormalizationList: *mut SPNORMALIZATIONLIST, - ) -> HRESULT, - fn GetPronunciations( - pszWord: LPCWSTR, - pszLeftContext: LPCWSTR, - pszRightContext: LPCWSTR, - LangID: WORD, - pEnginePronunciationList: *mut SPWORDPRONUNCIATIONLIST, - ) -> HRESULT, -}} -STRUCT!{struct SPDISPLAYTOKEN { - pszLexical: *const WCHAR, - pszDisplay: *const WCHAR, - bDisplayAttributes: BYTE, -}} -STRUCT!{struct SPDISPLAYPHRASE { - ulNumTokens: ULONG, - pTokens: *mut SPDISPLAYTOKEN, -}} -RIDL!{#[uuid(0xc8d7c7e2, 0x0dde, 0x44b7, 0xaf, 0xe3, 0xb0, 0xc9, 0x91, 0xfb, 0xeb, 0x5e)] -interface ISpDisplayAlternates(ISpDisplayAlternatesVtbl): IUnknown(IUnknownVtbl) { - fn GetDisplayAlternates( - pPhrase: *const SPDISPLAYPHRASE, - cRequestCount: ULONG, - ppCoMemPhrases: *mut *mut SPDISPLAYPHRASE, - pcPhrasesReturned: *mut ULONG, - ) -> HRESULT, - fn SetFullStopTrailSpace( - ulTrailSpace: ULONG, - ) -> HRESULT, -}} -pub use um::sapi51::{ - SpeechLanguageId, - DISPID_SpeechDataKey, - DISPID_SDKSetBinaryValue, - DISPID_SDKGetBinaryValue, - DISPID_SDKSetStringValue, - DISPID_SDKGetStringValue, - DISPID_SDKSetLongValue, - DISPID_SDKGetlongValue, - DISPID_SDKOpenKey, - DISPID_SDKCreateKey, - DISPID_SDKDeleteKey, - DISPID_SDKDeleteValue, - DISPID_SDKEnumKeys, - DISPID_SDKEnumValues, - DISPID_SpeechObjectToken, - DISPID_SOTId, - DISPID_SOTDataKey, - DISPID_SOTCategory, - DISPID_SOTGetDescription, - DISPID_SOTSetId, - DISPID_SOTGetAttribute, - DISPID_SOTCreateInstance, - DISPID_SOTRemove, - DISPID_SOTGetStorageFileName, - DISPID_SOTRemoveStorageFileName, - DISPID_SOTIsUISupported, - DISPID_SOTDisplayUI, - DISPID_SOTMatchesAttributes, - SpeechDataKeyLocation, - SDKLDefaultLocation, - SDKLCurrentUser, - SDKLLocalMachine, - SDKLCurrentConfig, - SpeechTokenContext, - STCInprocServer, - STCInprocHandler , - STCLocalServer, - STCRemoteServer, - STCAll, - SpeechTokenShellFolder, - STSF_AppData, - STSF_LocalAppData, - STSF_CommonAppData, - STSF_FlagCreate, - DISPID_SpeechObjectTokens, - DISPID_SOTsCount, - DISPID_SOTsItem, - DISPID_SOTs_NewEnum, - DISPID_SpeechObjectTokenCategory, - DISPID_SOTCId, - DISPID_SOTCDefault, - DISPID_SOTCSetId, - DISPID_SOTCGetDataKey, - DISPID_SOTCEnumerateTokens, - SpeechAudioFormatType, - SAFTDefault, - SAFTNoAssignedFormat, - SAFTText, - SAFTNonStandardFormat, - SAFTExtendedAudioFormat, - SAFT8kHz8BitMono, - SAFT8kHz8BitStereo, - SAFT8kHz16BitMono, - SAFT8kHz16BitStereo, - SAFT11kHz8BitMono, - SAFT11kHz8BitStereo, - SAFT11kHz16BitMono, - SAFT11kHz16BitStereo, - SAFT12kHz8BitMono, - SAFT12kHz8BitStereo, - SAFT12kHz16BitMono, - SAFT12kHz16BitStereo, - SAFT16kHz8BitMono, - SAFT16kHz8BitStereo, - SAFT16kHz16BitMono, - SAFT16kHz16BitStereo, - SAFT22kHz8BitMono, - SAFT22kHz8BitStereo, - SAFT22kHz16BitMono, - SAFT22kHz16BitStereo, - SAFT24kHz8BitMono, - SAFT24kHz8BitStereo, - SAFT24kHz16BitMono, - SAFT24kHz16BitStereo, - SAFT32kHz8BitMono, - SAFT32kHz8BitStereo, - SAFT32kHz16BitMono, - SAFT32kHz16BitStereo, - SAFT44kHz8BitMono, - SAFT44kHz8BitStereo, - SAFT44kHz16BitMono, - SAFT44kHz16BitStereo, - SAFT48kHz8BitMono, - SAFT48kHz8BitStereo, - SAFT48kHz16BitMono, - SAFT48kHz16BitStereo, - SAFTTrueSpeech_8kHz1BitMono, - SAFTCCITT_ALaw_8kHzMono, - SAFTCCITT_ALaw_8kHzStereo, - SAFTCCITT_ALaw_11kHzMono, - SAFTCCITT_ALaw_11kHzStereo, - SAFTCCITT_ALaw_22kHzMono, - SAFTCCITT_ALaw_22kHzStereo, - SAFTCCITT_ALaw_44kHzMono, - SAFTCCITT_ALaw_44kHzStereo, - SAFTCCITT_uLaw_8kHzMono, - SAFTCCITT_uLaw_8kHzStereo, - SAFTCCITT_uLaw_11kHzMono, - SAFTCCITT_uLaw_11kHzStereo, - SAFTCCITT_uLaw_22kHzMono, - SAFTCCITT_uLaw_22kHzStereo, - SAFTCCITT_uLaw_44kHzMono, - SAFTCCITT_uLaw_44kHzStereo, - SAFTADPCM_8kHzMono, - SAFTADPCM_8kHzStereo, - SAFTADPCM_11kHzMono, - SAFTADPCM_11kHzStereo, - SAFTADPCM_22kHzMono, - SAFTADPCM_22kHzStereo, - SAFTADPCM_44kHzMono, - SAFTADPCM_44kHzStereo, - SAFTGSM610_8kHzMono, - SAFTGSM610_11kHzMono, - SAFTGSM610_22kHzMono, - SAFTGSM610_44kHzMono, - DISPID_SpeechAudioFormat, - DISPID_SAFType, - DISPID_SAFGuid, - DISPID_SAFGetWaveFormatEx, - DISPID_SAFSetWaveFormatEx, - DISPID_SpeechBaseStream, - DISPID_SBSFormat, - DISPID_SBSRead, - DISPID_SBSWrite, - DISPID_SBSSeek, - SpeechStreamSeekPositionType, - SSSPTRelativeToStart, - SSSPTRelativeToCurrentPosition, - SSSPTRelativeToEnd, - DISPID_SpeechAudio, - DISPID_SAStatus, - DISPID_SABufferInfo, - DISPID_SADefaultFormat, - DISPID_SAVolume, - DISPID_SABufferNotifySize, - DISPID_SAEventHandle, - DISPID_SASetState, - SpeechAudioState, - SASClosed, - SASStop, - SASPause, - SASRun, - DISPID_SpeechMMSysAudio, - DISPID_SMSADeviceId, - DISPID_SMSALineId, - DISPID_SMSAMMHandle, - DISPID_SpeechFileStream, - DISPID_SFSOpen, - DISPID_SFSClose, - SpeechStreamFileMode, - SSFMOpenForRead, - SSFMOpenReadWrite, - SSFMCreate, - SSFMCreateForWrite, - DISPID_SpeechCustomStream, - DISPID_SCSBaseStream, - DISPID_SpeechMemoryStream, - DISPID_SMSSetData, - DISPID_SMSGetData, - DISPID_SpeechAudioStatus, - DISPID_SASFreeBufferSpace, - DISPID_SASNonBlockingIO, - DISPID_SASState, - DISPID_SASCurrentSeekPosition, - DISPID_SASCurrentDevicePosition, - DISPID_SpeechAudioBufferInfo, - DISPID_SABIMinNotification, - DISPID_SABIBufferSize, - DISPID_SABIEventBias, - DISPID_SpeechWaveFormatEx, - DISPID_SWFEFormatTag, - DISPID_SWFEChannels, - DISPID_SWFESamplesPerSec, - DISPID_SWFEAvgBytesPerSec, - DISPID_SWFEBlockAlign, - DISPID_SWFEBitsPerSample, - DISPID_SWFEExtraData, - DISPID_SpeechVoice, - DISPID_SVStatus, - DISPID_SVVoice, - DISPID_SVAudioOutput, - DISPID_SVAudioOutputStream, - DISPID_SVRate, - DISPID_SVVolume, - DISPID_SVAllowAudioOuputFormatChangesOnNextSet, - DISPID_SVEventInterests, - DISPID_SVPriority, - DISPID_SVAlertBoundary, - DISPID_SVSyncronousSpeakTimeout, - DISPID_SVSpeak, - DISPID_SVSpeakStream, - DISPID_SVPause, - DISPID_SVResume, - DISPID_SVSkip, - DISPID_SVGetVoices, - DISPID_SVGetAudioOutputs, - DISPID_SVWaitUntilDone, - DISPID_SVSpeakCompleteEvent, - DISPID_SVIsUISupported, - DISPID_SVDisplayUI, - SpeechVoicePriority, - SVPNormal, - SVPAlert, - SVPOver, - SpeechVoiceSpeakFlags, - SVSFDefault, - SVSFlagsAsync, - SVSFPurgeBeforeSpeak, - SVSFIsFilename, - SVSFIsXML, - SVSFIsNotXML, - SVSFPersistXML, - SVSFNLPSpeakPunc, -}; -pub const SVSFParseSapi: SpeechVoiceSpeakFlags = SPF_PARSE_SAPI; -pub const SVSFParseSsml: SpeechVoiceSpeakFlags = SPF_PARSE_SSML; -pub const SVSFParseAutodetect: SpeechVoiceSpeakFlags = SPF_PARSE_AUTODETECT; -pub use um::sapi51::SVSFNLPMask; -pub const SVSFParseMask: SpeechVoiceSpeakFlags = SPF_PARSE_MASK as u32; -pub use um::sapi51::{ - SVSFVoiceMask, - SVSFUnusedFlags, - SpeechVoiceEvents, - SVEStartInputStream, - SVEEndInputStream, - SVEVoiceChange, - SVEBookmark, - SVEWordBoundary, - SVEPhoneme, - SVESentenceBoundary, - SVEViseme, - SVEAudioLevel, - SVEPrivate, - SVEAllEvents, - DISPID_SpeechVoiceStatus, - DISPID_SVSCurrentStreamNumber, - DISPID_SVSLastStreamNumberQueued, - DISPID_SVSLastResult, - DISPID_SVSRunningState, - DISPID_SVSInputWordPosition, - DISPID_SVSInputWordLength, - DISPID_SVSInputSentencePosition, - DISPID_SVSInputSentenceLength, - DISPID_SVSLastBookmark, - DISPID_SVSLastBookmarkId, - DISPID_SVSPhonemeId, - DISPID_SVSVisemeId, - SpeechRunState, - SRSEDone, - SRSEIsSpeaking, - SpeechVisemeType, - SVP_0, - SVP_1, - SVP_2, - SVP_3, - SVP_4, - SVP_5, - SVP_6, - SVP_7, - SVP_8, - SVP_9, - SVP_10, - SVP_11, - SVP_12, - SVP_13, - SVP_14, - SVP_15, - SVP_16, - SVP_17, - SVP_18, - SVP_19, - SVP_20, - SVP_21, - SpeechVisemeFeature, - SVF_None, - SVF_Stressed, - SVF_Emphasis, - DISPID_SpeechVoiceEvent, - DISPID_SVEStreamStart, - DISPID_SVEStreamEnd, - DISPID_SVEVoiceChange, - DISPID_SVEBookmark, - DISPID_SVEWord, - DISPID_SVEPhoneme, - DISPID_SVESentenceBoundary, - DISPID_SVEViseme, - DISPID_SVEAudioLevel, - DISPID_SVEEnginePrivate, - DISPID_SpeechRecognizer, - DISPID_SRRecognizer, - DISPID_SRAllowAudioInputFormatChangesOnNextSet, - DISPID_SRAudioInput, - DISPID_SRAudioInputStream, - DISPID_SRIsShared, - DISPID_SRState, - DISPID_SRStatus, - DISPID_SRProfile, - DISPID_SREmulateRecognition, - DISPID_SRCreateRecoContext, - DISPID_SRGetFormat, - DISPID_SRSetPropertyNumber, - DISPID_SRGetPropertyNumber, - DISPID_SRSetPropertyString, - DISPID_SRGetPropertyString, - DISPID_SRIsUISupported, - DISPID_SRDisplayUI, - DISPID_SRGetRecognizers, - DISPID_SVGetAudioInputs, - DISPID_SVGetProfiles, - SpeechRecognizerState, - SRSInactive, - SRSActive, - SRSActiveAlways, - SRSInactiveWithPurge, - SpeechDisplayAttributes, - SDA_No_Trailing_Space, - SDA_One_Trailing_Space, - SDA_Two_Trailing_Spaces, - SDA_Consume_Leading_Spaces, - SpeechFormatType, - SFTInput, - SFTSREngine, -}; -ENUM!{enum SpeechEmulationCompareFlags { - SECFIgnoreCase = 0x1, - SECFIgnoreKanaType = 0x10000, - SECFIgnoreWidth = 0x20000, - SECFNoSpecialChars = 0x20000000, - SECFEmulateResult = 0x40000000, - SECFDefault = SECFIgnoreCase | SECFIgnoreKanaType | SECFIgnoreWidth, -}} -pub use um::sapi51::{ - DISPID_SpeechRecognizerStatus, - DISPID_SRSAudioStatus, - DISPID_SRSCurrentStreamPosition, - DISPID_SRSCurrentStreamNumber, - DISPID_SRSNumberOfActiveRules, - DISPID_SRSClsidEngine, - DISPID_SRSSupportedLanguages, - DISPID_SpeechRecoContext, - DISPID_SRCRecognizer, - DISPID_SRCAudioInInterferenceStatus, - DISPID_SRCRequestedUIType, - DISPID_SRCVoice, - DISPID_SRAllowVoiceFormatMatchingOnNextSet, - DISPID_SRCVoicePurgeEvent, - DISPID_SRCEventInterests, - DISPID_SRCCmdMaxAlternates, - DISPID_SRCState, - DISPID_SRCRetainedAudio, - DISPID_SRCRetainedAudioFormat, - DISPID_SRCPause, - DISPID_SRCResume, - DISPID_SRCCreateGrammar, - DISPID_SRCCreateResultFromMemory, - DISPID_SRCBookmark, - DISPID_SRCSetAdaptationData, - SpeechRetainedAudioOptions, - SRAONone, - SRAORetainAudio, - SpeechBookmarkOptions, - SBONone, - SBOPause, - SpeechInterference, - SINone, - SINoise, - SINoSignal, - SITooLoud, - SITooQuiet, - SITooFast, - SITooSlow, - SpeechRecoEvents, - SREStreamEnd, - SRESoundStart, - SRESoundEnd, - SREPhraseStart, - SRERecognition, - SREHypothesis, - SREBookmark, - SREPropertyNumChange, - SREPropertyStringChange, - SREFalseRecognition, - SREInterference, - SRERequestUI, - SREStateChange, - SREAdaptation, - SREStreamStart, - SRERecoOtherContext, - SREAudioLevel, - SREPrivate, - SREAllEvents, - SpeechRecoContextState, - SRCS_Disabled, - SRCS_Enabled, - DISPIDSPRG, - DISPID_SRGId, - DISPID_SRGRecoContext, - DISPID_SRGState, - DISPID_SRGRules, - DISPID_SRGReset, - DISPID_SRGCommit, - DISPID_SRGCmdLoadFromFile, - DISPID_SRGCmdLoadFromObject, - DISPID_SRGCmdLoadFromResource, - DISPID_SRGCmdLoadFromMemory, - DISPID_SRGCmdLoadFromProprietaryGrammar, - DISPID_SRGCmdSetRuleState, - DISPID_SRGCmdSetRuleIdState, - DISPID_SRGDictationLoad, - DISPID_SRGDictationUnload, - DISPID_SRGDictationSetState, - DISPID_SRGSetWordSequenceData, - DISPID_SRGSetTextSelection, - DISPID_SRGIsPronounceable, - SpeechLoadOption, - SLOStatic, - SLODynamic, - SpeechWordPronounceable, - SWPUnknownWordUnpronounceable, - SWPUnknownWordPronounceable, - SWPKnownWordPronounceable, - SpeechGrammarState, - SGSEnabled, - SGSDisabled, - SGSExclusive, - SpeechRuleState, - SGDSInactive, - SGDSActive, - SGDSActiveWithAutoPause, -}; -pub const SGDSActiveUserDelimited: SpeechRuleState = SPRS_ACTIVE_USER_DELIMITED; -pub use um::sapi51::{ - SpeechRuleAttributes, - SRATopLevel, - SRADefaultToActive, - SRAExport, - SRAImport, - SRAInterpreter, - SRADynamic, -}; -pub const SRARoot: SpeechRuleAttributes = SPRAF_Root; -pub use um::sapi51::{ - SpeechGrammarWordType, - SGDisplay, - SGLexical, - SGPronounciation, -}; -pub const SGLexicalNoSpecialChars: SpeechGrammarWordType = SPWT_LEXICAL_NO_SPECIAL_CHARS; -pub use um::sapi51::{ - DISPID_SpeechRecoContextEvents, - DISPID_SRCEStartStream, - DISPID_SRCEEndStream, - DISPID_SRCEBookmark, - DISPID_SRCESoundStart, - DISPID_SRCESoundEnd, - DISPID_SRCEPhraseStart, - DISPID_SRCERecognition, - DISPID_SRCEHypothesis, - DISPID_SRCEPropertyNumberChange, - DISPID_SRCEPropertyStringChange, - DISPID_SRCEFalseRecognition, - DISPID_SRCEInterference, - DISPID_SRCERequestUI, - DISPID_SRCERecognizerStateChange, - DISPID_SRCEAdaptation, - DISPID_SRCERecognitionForOtherContext, - DISPID_SRCEAudioLevel, - DISPID_SRCEEnginePrivate, - SpeechRecognitionType, - SRTStandard, - SRTAutopause, - SRTEmulated, -}; -pub const SRTSMLTimeout: SpeechRecognitionType = SPREF_SMLTimeout; -pub const SRTExtendableParse: SpeechRecognitionType = SPREF_ExtendableParse; -pub const SRTReSent: SpeechRecognitionType = SPREF_ReSent; -pub use um::sapi51::{ - DISPID_SpeechGrammarRule, - DISPID_SGRAttributes, - DISPID_SGRInitialState, - DISPID_SGRName, - DISPID_SGRId, - DISPID_SGRClear, - DISPID_SGRAddResource, - DISPID_SGRAddState, - DISPID_SpeechGrammarRules, - DISPID_SGRsCount, - DISPID_SGRsDynamic, - DISPID_SGRsAdd, - DISPID_SGRsCommit, - DISPID_SGRsCommitAndSave, - DISPID_SGRsFindRule, - DISPID_SGRsItem, - DISPID_SGRs_NewEnum, - DISPID_SpeechGrammarRuleState, - DISPID_SGRSRule, - DISPID_SGRSTransitions, - DISPID_SGRSAddWordTransition, - DISPID_SGRSAddRuleTransition, - DISPID_SGRSAddSpecialTransition, - SpeechSpecialTransitionType, - SSTTWildcard, - SSTTDictation, - SSTTTextBuffer, - DISPID_SpeechGrammarRuleStateTransitions, - DISPID_SGRSTsCount, - DISPID_SGRSTsItem, - DISPID_SGRSTs_NewEnum, - DISPID_SpeechGrammarRuleStateTransition, - DISPID_SGRSTType, - DISPID_SGRSTText, - DISPID_SGRSTRule, - DISPID_SGRSTWeight, - DISPID_SGRSTPropertyName, - DISPID_SGRSTPropertyId, - DISPID_SGRSTPropertyValue, - DISPID_SGRSTNextState, - SpeechGrammarRuleStateTransitionType, - SGRSTTEpsilon, - SGRSTTWord, - SGRSTTRule, - SGRSTTDictation, - SGRSTTWildcard, - SGRSTTTextBuffer, - DISPIDSPTSI, - DISPIDSPTSI_ActiveOffset, - DISPIDSPTSI_ActiveLength, - DISPIDSPTSI_SelectionOffset, - DISPIDSPTSI_SelectionLength, - DISPID_SpeechRecoResult, - DISPID_SRRRecoContext, - DISPID_SRRTimes, - DISPID_SRRAudioFormat, - DISPID_SRRPhraseInfo, - DISPID_SRRAlternates, - DISPID_SRRAudio, - DISPID_SRRSpeakAudio, - DISPID_SRRSaveToMemory, - DISPID_SRRDiscardResultInfo, - SpeechDiscardType, - SDTProperty, - SDTReplacement, - SDTRule, - SDTDisplayText, - SDTLexicalForm, - SDTPronunciation, - SDTAudio, - SDTAlternates, - SDTAll, -}; -ENUM!{enum DISPID_SpeechXMLRecoResult { - DISPID_SRRGetXMLResult, - DISPID_SRRGetXMLErrorInfo, -}} -ENUM!{enum DISPID_SpeechRecoResult2 { - DISPID_SRRSetTextFeedback, -}} -pub use um::sapi51::{ - DISPID_SpeechPhraseBuilder, - DISPID_SPPBRestorePhraseFromMemory, - DISPID_SpeechRecoResultTimes, - DISPID_SRRTStreamTime, - DISPID_SRRTLength, - DISPID_SRRTTickCount, - DISPID_SRRTOffsetFromStart, - DISPID_SpeechPhraseAlternate, - DISPID_SPARecoResult, - DISPID_SPAStartElementInResult, - DISPID_SPANumberOfElementsInResult, - DISPID_SPAPhraseInfo, - DISPID_SPACommit, - DISPID_SpeechPhraseAlternates, - DISPID_SPAsCount, - DISPID_SPAsItem, - DISPID_SPAs_NewEnum, - DISPID_SpeechPhraseInfo, - DISPID_SPILanguageId, - DISPID_SPIGrammarId, - DISPID_SPIStartTime, - DISPID_SPIAudioStreamPosition, - DISPID_SPIAudioSizeBytes, - DISPID_SPIRetainedSizeBytes, - DISPID_SPIAudioSizeTime, - DISPID_SPIRule, - DISPID_SPIProperties, - DISPID_SPIElements, - DISPID_SPIReplacements, - DISPID_SPIEngineId, - DISPID_SPIEnginePrivateData, - DISPID_SPISaveToMemory, - DISPID_SPIGetText, - DISPID_SPIGetDisplayAttributes, - DISPID_SpeechPhraseElement, - DISPID_SPEAudioTimeOffset, - DISPID_SPEAudioSizeTime, - DISPID_SPEAudioStreamOffset, - DISPID_SPEAudioSizeBytes, - DISPID_SPERetainedStreamOffset, - DISPID_SPERetainedSizeBytes, - DISPID_SPEDisplayText, - DISPID_SPELexicalForm, - DISPID_SPEPronunciation, - DISPID_SPEDisplayAttributes, - DISPID_SPERequiredConfidence, - DISPID_SPEActualConfidence, - DISPID_SPEEngineConfidence, - SpeechEngineConfidence, - SECLowConfidence, - SECNormalConfidence, - SECHighConfidence, - DISPID_SpeechPhraseElements, - DISPID_SPEsCount, - DISPID_SPEsItem, - DISPID_SPEs_NewEnum, - DISPID_SpeechPhraseReplacement, - DISPID_SPRDisplayAttributes, - DISPID_SPRText, - DISPID_SPRFirstElement, - DISPID_SPRNumberOfElements, - DISPID_SpeechPhraseReplacements, - DISPID_SPRsCount, - DISPID_SPRsItem, - DISPID_SPRs_NewEnum, - DISPID_SpeechPhraseProperty, - DISPID_SPPName, - DISPID_SPPId, - DISPID_SPPValue, - DISPID_SPPFirstElement, - DISPID_SPPNumberOfElements, - DISPID_SPPEngineConfidence, - DISPID_SPPConfidence, - DISPID_SPPParent, - DISPID_SPPChildren, - DISPID_SpeechPhraseProperties, - DISPID_SPPsCount, - DISPID_SPPsItem, - DISPID_SPPs_NewEnum, - DISPID_SpeechPhraseRule, - DISPID_SPRuleName, - DISPID_SPRuleId, - DISPID_SPRuleFirstElement, - DISPID_SPRuleNumberOfElements, - DISPID_SPRuleParent, - DISPID_SPRuleChildren, - DISPID_SPRuleConfidence, - DISPID_SPRuleEngineConfidence, - DISPID_SpeechPhraseRules, - DISPID_SPRulesCount, - DISPID_SPRulesItem, - DISPID_SPRules_NewEnum, - DISPID_SpeechLexicon, - DISPID_SLGenerationId, - DISPID_SLGetWords, - DISPID_SLAddPronunciation, - DISPID_SLAddPronunciationByPhoneIds, - DISPID_SLRemovePronunciation, - DISPID_SLRemovePronunciationByPhoneIds, - DISPID_SLGetPronunciations, - DISPID_SLGetGenerationChange, - SpeechLexiconType, - SLTUser, - SLTApp, - SpeechPartOfSpeech, - SPSNotOverriden, - SPSUnknown, - SPSNoun, - SPSVerb, - SPSModifier, - SPSFunction, - SPSInterjection, -}; -pub const SPSLMA: SpeechPartOfSpeech = SPPS_LMA; -pub const SPSSuppressWord: SpeechPartOfSpeech = SPPS_SuppressWord; -pub use um::sapi51::{ - DISPID_SpeechLexiconWords, - DISPID_SLWsCount, - DISPID_SLWsItem, - DISPID_SLWs_NewEnum, - SpeechWordType, - SWTAdded, - SWTDeleted, - DISPID_SpeechLexiconWord, - DISPID_SLWLangId, - DISPID_SLWType, - DISPID_SLWWord, - DISPID_SLWPronunciations, - DISPID_SpeechLexiconProns, - DISPID_SLPsCount, - DISPID_SLPsItem, - DISPID_SLPs_NewEnum, - DISPID_SpeechLexiconPronunciation, - DISPID_SLPType, - DISPID_SLPLangId, - DISPID_SLPPartOfSpeech, - DISPID_SLPPhoneIds, - DISPID_SLPSymbolic, - DISPID_SpeechPhoneConverter, - DISPID_SPCLangId, - DISPID_SPCPhoneToId, - DISPID_SPCIdToPhone, - LIBID_SpeechLib, - ISpeechDataKey, ISpeechDataKeyVtbl, - ISpeechObjectToken, ISpeechObjectTokenVtbl, - ISpeechObjectTokens, ISpeechObjectTokensVtbl, - ISpeechObjectTokenCategory, ISpeechObjectTokenCategoryVtbl, - ISpeechAudioBufferInfo, ISpeechAudioBufferInfoVtbl, - ISpeechAudioStatus, ISpeechAudioStatusVtbl, - ISpeechAudioFormat, ISpeechAudioFormatVtbl, - ISpeechWaveFormatEx, ISpeechWaveFormatExVtbl, - ISpeechBaseStream, ISpeechBaseStreamVtbl, - ISpeechFileStream, ISpeechFileStreamVtbl, - ISpeechMemoryStream, ISpeechMemoryStreamVtbl, - ISpeechCustomStream, ISpeechCustomStreamVtbl, - ISpeechAudio, ISpeechAudioVtbl, - ISpeechMMSysAudio, ISpeechMMSysAudioVtbl, - ISpeechVoice, ISpeechVoiceVtbl, - ISpeechVoiceStatus, ISpeechVoiceStatusVtbl, - _ISpeechVoiceEvents, _ISpeechVoiceEventsVtbl, - ISpeechRecognizer, ISpeechRecognizerVtbl, - ISpeechRecognizerStatus, ISpeechRecognizerStatusVtbl, - ISpeechRecoContext, ISpeechRecoContextVtbl, - ISpeechRecoGrammar, ISpeechRecoGrammarVtbl, - _ISpeechRecoContextEvents, _ISpeechRecoContextEventsVtbl, - ISpeechGrammarRule, ISpeechGrammarRuleVtbl, - ISpeechGrammarRules, ISpeechGrammarRulesVtbl, - ISpeechGrammarRuleState, ISpeechGrammarRuleStateVtbl, - ISpeechGrammarRuleStateTransition, ISpeechGrammarRuleStateTransitionVtbl, - ISpeechGrammarRuleStateTransitions, ISpeechGrammarRuleStateTransitionsVtbl, - ISpeechTextSelectionInformation, ISpeechTextSelectionInformationVtbl, - ISpeechRecoResult, ISpeechRecoResultVtbl, -}; -RIDL!{#[uuid(0x8e0a246d, 0xd3c8, 0x45de, 0x86, 0x57, 0x04, 0x29, 0x0c, 0x45, 0x8c, 0x3c)] -interface ISpeechRecoResult2(ISpeechRecoResult2Vtbl): ISpeechRecoResult(ISpeechRecoResultVtbl) { - fn SetTextFeedback( - Feedback: BSTR, - WasSuccessful: VARIANT_BOOL, - ) -> HRESULT, -}} -pub use um::sapi51::{ - ISpeechRecoResultTimes, ISpeechRecoResultTimesVtbl, - ISpeechPhraseAlternate, ISpeechPhraseAlternateVtbl, - ISpeechPhraseAlternates, ISpeechPhraseAlternatesVtbl, - ISpeechPhraseInfo, ISpeechPhraseInfoVtbl, - ISpeechPhraseElement, ISpeechPhraseElementVtbl, - ISpeechPhraseElements, ISpeechPhraseElementsVtbl, - ISpeechPhraseReplacement, ISpeechPhraseReplacementVtbl, - ISpeechPhraseReplacements, ISpeechPhraseReplacementsVtbl, - ISpeechPhraseProperty, ISpeechPhrasePropertyVtbl, - ISpeechPhraseProperties, ISpeechPhrasePropertiesVtbl, - ISpeechPhraseRule, ISpeechPhraseRuleVtbl, - ISpeechPhraseRules, ISpeechPhraseRulesVtbl, - ISpeechLexicon, ISpeechLexiconVtbl, - ISpeechLexiconWords, ISpeechLexiconWordsVtbl, - ISpeechLexiconWord, ISpeechLexiconWordVtbl, - ISpeechLexiconPronunciations, ISpeechLexiconPronunciationsVtbl, - ISpeechLexiconPronunciation, ISpeechLexiconPronunciationVtbl, - Speech_Default_Weight, - Speech_Max_Word_Length, - Speech_Max_Pron_Length, - Speech_StreamPos_Asap, - Speech_StreamPos_RealTime, - SpeechAllElements, -}; -RIDL!{#[uuid(0xaaec54af, 0x8f85, 0x4924, 0x94, 0x4d, 0xb7, 0x9d, 0x39, 0xd7, 0x2e, 0x19)] -interface ISpeechXMLRecoResult(ISpeechXMLRecoResultVtbl): - ISpeechRecoResult(ISpeechRecoResultVtbl) { - fn GetXMLResult( - Options: SPXMLRESULTOPTIONS, - pResult: *mut BSTR, - ) -> HRESULT, - fn GetXMLErrorInfo( - LineNumber: *mut c_long, - ScriptLine: *mut BSTR, - Source: *mut BSTR, - Description: *mut BSTR, - ResultCode: *mut c_long, - IsError: *mut VARIANT_BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x6d60eb64, 0xaced, 0x40a6, 0xbb, 0xf3, 0x4e, 0x55, 0x7f, 0x71, 0xde, 0xe2)] -interface ISpeechRecoResultDispatch(ISpeechRecoResultDispatchVtbl): IDispatch(IDispatchVtbl) { - fn get_RecoContext( - RecoContext: *mut ISpeechRecoContext, - ) -> HRESULT, - fn get_Times( - Times: *mut ISpeechRecoResultTimes, - ) -> HRESULT, - fn putref_AudioFormat( - Format: *mut ISpeechAudioFormat, - ) -> HRESULT, - fn get_AudioFormat( - Format: *mut *mut ISpeechAudioFormat, - ) -> HRESULT, - fn get_PhraseInfo( - PhraseInfo: *mut *mut ISpeechPhraseInfo, - ) -> HRESULT, - fn Alternates( - RequestCount: c_long, - StartElement: c_long, - Elements: c_long, - Alternates: *mut *mut ISpeechPhraseAlternates, - ) -> HRESULT, - fn Audio( - StartElement: c_long, - Elements: c_long, - Stream: *mut *mut ISpeechMemoryStream, - ) -> HRESULT, - fn SpeakAudio( - StartElement: c_long, - Elements: c_long, - Flags: SpeechVoiceSpeakFlags, - StreamNumber: *mut c_long, - ) -> HRESULT, - fn SaveToMemory( - ResultBlock: *mut VARIANT, - ) -> HRESULT, - fn DiscardResultInfo( - ValueTypes: SpeechDiscardType, - ) -> HRESULT, - fn GetXMLResult( - Options: SPXMLRESULTOPTIONS, - pResult: *mut BSTR, - ) -> HRESULT, - fn GetXMLErrorInfo( - LineNumber: *mut c_long, - ScriptLine: *mut BSTR, - Source: *mut BSTR, - Description: *mut BSTR, - ResultCode: *mut HRESULT, - IsError: *mut VARIANT_BOOL, - ) -> HRESULT, - fn SetTextFeedback( - Feedback: BSTR, - WasSuccessful: VARIANT_BOOL, - ) -> HRESULT, -}} -pub use um::sapi51::{ - ISpeechPhraseInfoBuilder, ISpeechPhraseInfoBuilderVtbl, - ISpeechPhoneConverter, ISpeechPhoneConverterVtbl, - CLSID_SpNotifyTranslator, - CLSID_SpObjectTokenCategory, - CLSID_SpObjectToken, - CLSID_SpResourceManager, - CLSID_SpStreamFormatConverter, - CLSID_SpMMAudioEnum, - CLSID_SpMMAudioIn, - CLSID_SpMMAudioOut, - CLSID_SpStream, - CLSID_SpVoice, - CLSID_SpSharedRecoContext, - CLSID_SpInprocRecognizer, - CLSID_SpSharedRecognizer, - CLSID_SpLexicon, - CLSID_SpUnCompressedLexicon, - CLSID_SpCompressedLexicon, -}; -extern { - pub static CLSID_SpShortcut: CLSID; -} -pub use um::sapi51::CLSID_SpPhoneConverter; -extern { - pub static CLSID_SpPhoneticAlphabetConverter: CLSID; -} -pub use um::sapi51::{ - CLSID_SpNullPhoneConverter, - CLSID_SpTextSelectionInformation, - CLSID_SpPhraseInfoBuilder, - CLSID_SpAudioFormat, - CLSID_SpWaveFormatEx, - CLSID_SpInProcRecoContext, - CLSID_SpCustomStream, - CLSID_SpFileStream, - CLSID_SpMemoryStream, -}; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/sapiddk.rs b/vendor/registry-40351f815f426200/winapi/src/um/sapiddk.rs deleted file mode 100644 index 8ff59b523..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/sapiddk.rs +++ /dev/null @@ -1,238 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_float, c_int, c_void}; -use shared::guiddef::CLSID; -use shared::minwindef::{BOOL, DWORD, ULONG}; -use um::sapi::*; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LPCWSTR, ULONGLONG, WCHAR}; -pub use um::sapiddk51::{ - SPRECOEXTENSION, - SPALTERNATESCLSID, -}; -pub const SR_LOCALIZED_DESCRIPTION: &'static str = "Description"; -pub use um::sapiddk51::{ - ISpTokenUI, ISpTokenUIVtbl, - ISpObjectTokenEnumBuilder, ISpObjectTokenEnumBuilderVtbl, - SPWORDHANDLE, - SPRULEHANDLE, - SPGRAMMARHANDLE, - SPRECOCONTEXTHANDLE, - SPPHRASERULEHANDLE, - SPPHRASEPROPERTYHANDLE, - SPTRANSITIONID, - ISpErrorLog, ISpErrorLogVtbl, - ISpGrammarCompiler, ISpGrammarCompilerVtbl, - ISpGramCompBackend, ISpGramCompBackendVtbl, - ISpITNProcessor, ISpITNProcessorVtbl, - ISpPhraseBuilder, ISpPhraseBuilderVtbl, - ISpTask, - ISpThreadTask, - ISpThreadControl, ISpThreadControlVtbl, - SPTMTHREADINFO, - ISpTaskManager, ISpTaskManagerVtbl, - SPVSKIPTYPE, - SPVST_SENTENCE, - SPVESACTIONS, - SPVES_CONTINUE, - SPVES_ABORT, - SPVES_SKIP, - SPVES_RATE, - SPVES_VOLUME, - ISpTTSEngineSite, ISpTTSEngineSiteVtbl, - SPVTEXTFRAG, - ISpTTSEngine, ISpTTSEngineVtbl, - SPWORDENTRY, - SPRULEENTRY, - SPTRANSITIONTYPE, - SPTRANSEPSILON, - SPTRANSWORD, - SPTRANSRULE, - SPTRANSTEXTBUF, - SPTRANSWILDCARD, - SPTRANSDICTATION, - SPTRANSITIONENTRY, - SPTRANSITIONPROPERTY, - SPSTATEINFO, - SPPATHENTRY, - ISpCFGInterpreterSite, ISpCFGInterpreterSiteVtbl, - ISpCFGInterpreter, ISpCFGInterpreterVtbl, - SPCFGNOTIFY, - SPCFGN_ADD, - SPCFGN_REMOVE, - SPCFGN_INVALIDATE, - SPCFGN_ACTIVATE, - SPCFGN_DEACTIVATE, - SPRESULTTYPE, - SPRT_CFG, - SPRT_SLM, - SPRT_PROPRIETARY, - SPRT_FALSE_RECOGNITION, -}; -pub const SPRT_TYPE_MASK: SPRESULTTYPE = 3; -pub const SPRT_EMULATED: SPRESULTTYPE = 1 << 3; -pub const SPRT_EXTENDABLE_PARSE: SPRESULTTYPE = 1 << 4; -pub use um::sapiddk51::{ - SPPHRASEALT, - SPRECORESULTINFO, -}; -STRUCT!{struct SPRECORESULTINFOEX { - cbSize: ULONG, - eResultType: SPRESULTTYPE, - fHypothesis: BOOL, - fProprietaryAutoPause: BOOL, - ullStreamPosStart: ULONGLONG, - ullStreamPosEnd: ULONGLONG, - hGrammar: SPGRAMMARHANDLE, - ulSizeEngineData: ULONG, - pvEngineData: *mut c_void, - pPhrase: *mut ISpPhraseBuilder, - aPhraseAlts: *mut SPPHRASEALT, - ulNumAlts: ULONG, - ullStreamTimeStart: ULONGLONG, - ullStreamTimeEnd: ULONGLONG, -}} -pub use um::sapiddk51::{ - SPWORDINFOOPT, - SPWIO_NONE, - SPWIO_WANT_TEXT, - SPRULEINFOOPT, - SPRIO_NONE, - SPPARSEINFO, - ISpSREngineSite, ISpSREngineSiteVtbl, -}; -RIDL!{#[uuid(0x7bc6e012, 0x684a, 0x493e, 0xbd, 0xd4, 0x2b, 0xf5, 0xfb, 0xf4, 0x8c, 0xfe)] -interface ISpSREngineSite2(ISpSREngineSite2Vtbl): ISpSREngineSite(ISpSREngineSiteVtbl) { - fn AddEventEx( - pEvent: *const SPEVENTEX, - hSAPIRecoContext: SPRECOCONTEXTHANDLE, - ) -> HRESULT, - fn UpdateRecoPosEx( - ullCurrentRecoPos: ULONGLONG, - ullCurrentRecoTime: ULONGLONG, - ) -> HRESULT, - fn GetRuleTransition( - ulGrammarID: ULONG, - RuleIndex: ULONG, - pTrans: *mut SPTRANSITIONENTRY, - ) -> HRESULT, - fn RecognitionEx( - pResultInfo: *const SPRECORESULTINFOEX, - ) -> HRESULT, -}} -pub use um::sapiddk51::{ - SPPROPSRC, - SPPROPSRC_RECO_INST, - SPPROPSRC_RECO_CTX, - SPPROPSRC_RECO_GRAMMAR, - ISpSREngine, ISpSREngineVtbl, -}; -RIDL!{#[uuid(0x7ba627d8, 0x33f9, 0x4375, 0x90, 0xc5, 0x99, 0x85, 0xae, 0xe5, 0xed, 0xe5)] -interface ISpSREngine2(ISpSREngine2Vtbl): ISpSREngine(ISpSREngineVtbl) { - fn PrivateCallImmediate( - pvEngineContext: *mut c_void, - pInCallFrame: *const c_void, - ulInCallFrameSize: ULONG, - ppvCoMemResponse: *mut *mut c_void, - pulResponseSize: *mut ULONG, - ) -> HRESULT, - fn SetAdaptationData2( - pvEngineContext: *mut c_void, - pAdaptationData: *const WCHAR, - cch: ULONG, - pTopicName: LPCWSTR, - eSettings: SPADAPTATIONSETTINGS, - eRelevance: SPADAPTATIONRELEVANCE, - ) -> HRESULT, - fn SetGrammarPrefix( - pvEngineGrammar: *mut c_void, - pszPrefix: LPCWSTR, - fIsPrefixRequired: BOOL, - ) -> HRESULT, - fn SetRulePriority( - hRule: SPRULEHANDLE, - pvClientRuleContext: *mut c_void, - nRulePriority: c_int, - ) -> HRESULT, - fn EmulateRecognition( - pPhrase: *mut ISpPhrase, - dwCompareFlags: DWORD, - ) -> HRESULT, - fn SetSLMWeight( - pvEngineGrammar: *mut c_void, - flWeight: c_float, - ) -> HRESULT, - fn SetRuleWeight( - hRule: SPRULEHANDLE, - pvClientRuleContext: *mut c_void, - flWeight: c_float, - ) -> HRESULT, - fn SetTrainingState( - fDoingTraining: BOOL, - fAdaptFromTrainingData: BOOL, - ) -> HRESULT, - fn ResetAcousticModelAdaptation() -> HRESULT, - fn OnLoadCFG( - pvEngineGrammar: *mut c_void, - pvGrammarData: *const SPBINARYGRAMMAR, - ulGrammarID: ULONG, - ) -> HRESULT, - fn OnUnloadCFG( - pvEngineGrammar: *mut c_void, - ulGrammarID: ULONG, - ) -> HRESULT, -}} -pub use um::sapiddk51::SPPHRASEALTREQUEST; -RIDL!{#[uuid(0xfece8294, 0x2be1, 0x408f, 0x8e, 0x68, 0x2d, 0xe3, 0x77, 0x09, 0x2f, 0x0e)] -interface ISpSRAlternates(ISpSRAlternatesVtbl): IUnknown(IUnknownVtbl) { - fn GetAlternates( - pAltRequest: *mut SPPHRASEALTREQUEST, - ppAlts: *mut *mut SPPHRASEALT, - pcAlts: *mut ULONG, - ) -> HRESULT, - fn Commit( - pAltRequest: *mut SPPHRASEALTREQUEST, - pAlt: *mut SPPHRASEALT, - ppvResultExtra: *mut c_void, - pcbResultExtra: *mut ULONG, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xf338f437, 0xcb33, 0x4020, 0x9c, 0xab, 0xc7, 0x1f, 0xf9, 0xce, 0x12, 0xd3)] -interface ISpSRAlternates2(ISpSRAlternates2Vtbl): ISpSRAlternates(ISpSRAlternatesVtbl) { - fn CommitText( - pAltRequest: *mut SPPHRASEALTREQUEST, - pcszNewText: LPCWSTR, - commitFlags: SPCOMMITFLAGS, - ) -> HRESULT, -}} -pub use um::sapiddk51::{_ISpPrivateEngineCall, _ISpPrivateEngineCallVtbl}; -RIDL!{#[uuid(0xdefd682a, 0xfe0a, 0x42b9, 0xbf, 0xa1, 0x56, 0xd3, 0xd6, 0xce, 0xcf, 0xaf)] -interface ISpPrivateEngineCallEx(ISpPrivateEngineCallExVtbl): IUnknown(IUnknownVtbl) { - fn CallEngineSynchronize( - pInFrame: *const c_void, - ulInFrameSize: ULONG, - ppCoMemOutFrame: *mut *mut c_void, - pulOutFrameSize: *mut ULONG, - ) -> HRESULT, - fn CallEngineImmediate( - pInFrame: *const c_void, - ulInFrameSize: ULONG, - ppCoMemOutFrame: *mut *mut c_void, - pulOutFrameSize: *mut ULONG, - ) -> HRESULT, -}} -pub use um::sapiddk51::{ - LIBID_SpeechDDKLib, - CLSID_SpDataKey, - CLSID_SpObjectTokenEnum, - CLSID_SpPhraseBuilder, - CLSID_SpITNProcessor, - CLSID_SpGrammarCompiler, -}; -extern { - pub static CLSID_SpW3CGrammarCompiler: CLSID; -} -pub use um::sapiddk51::CLSID_SpGramCompBackend; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/sapiddk51.rs b/vendor/registry-40351f815f426200/winapi/src/um/sapiddk51.rs deleted file mode 100644 index 0607cebfb..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/sapiddk51.rs +++ /dev/null @@ -1,651 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_char, c_float, c_long, c_void}; -use shared::guiddef::{CLSID, GUID, IID, REFGUID}; -use shared::minwindef::{BOOL, BYTE, DWORD, ULONG, USHORT, WORD}; -use shared::mmreg::WAVEFORMATEX; -use shared::windef::HWND; -use um::oaidl::VARIANT; -use um::objidlbase::IStream; -use um::sapi::*; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HANDLE, HRESULT, LONG, LPCWSTR, LPWSTR, PVOID, ULONGLONG, WCHAR}; -pub const SPRECOEXTENSION: &'static str = "RecoExtension"; -pub const SPALTERNATESCLSID: &'static str = "AlternatesCLSID"; -RIDL!{#[uuid(0xf8e690f0, 0x39cb, 0x4843, 0xb8, 0xd7, 0xc8, 0x46, 0x96, 0xe1, 0x11, 0x9d)] -interface ISpTokenUI(ISpTokenUIVtbl): IUnknown(IUnknownVtbl) { - fn IsUISupported( - pszTypeOfUI: LPCWSTR, - pvExtraData: *mut c_void, - cbExtraData: ULONG, - punkObject: *mut IUnknown, - pfSupported: *mut BOOL, - ) -> HRESULT, - fn DisplayUI( - hwndParent: HWND, - pszTitle: LPCWSTR, - pszTypeOfUI: LPCWSTR, - pvExtraData: *mut c_void, - cbExtraData: ULONG, - pToken: *mut ISpObjectToken, - punkObject: *mut IUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x06b64f9f, 0x7fda, 0x11d2, 0xb4, 0xf2, 0x00, 0xc0, 0x4f, 0x79, 0x73, 0x96)] -interface ISpObjectTokenEnumBuilder(ISpObjectTokenEnumBuilderVtbl): - IEnumSpObjectTokens(IEnumSpObjectTokensVtbl) { - fn SetAttribs( - pszReqAttribs: LPCWSTR, - pszOptAttribs: LPCWSTR, - ) -> HRESULT, - fn AddTokens( - cTokens: ULONG, - pToken: *mut *mut ISpObjectToken, - ) -> HRESULT, - fn AddTokensFromDataKey( - pDataKey: *mut ISpDataKey, - pszSubKey: LPCWSTR, - pszCategoryId: LPCWSTR, - ) -> HRESULT, - fn AddTokensFromTokenEnum( - pTokenEnum: *mut IEnumSpObjectTokens, - ) -> HRESULT, - fn Sort( - pszTokenIdToListFirst: LPCWSTR, - ) -> HRESULT, -}} -DECLARE_HANDLE!{SPWORDHANDLE, SPWORDHANDLE__} -DECLARE_HANDLE!{SPRULEHANDLE, SPRULEHANDLE__} -DECLARE_HANDLE!{SPGRAMMARHANDLE, SPGRAMMARHANDLE__} -DECLARE_HANDLE!{SPRECOCONTEXTHANDLE, SPRECOCONTEXTHANDLE__} -DECLARE_HANDLE!{SPPHRASERULEHANDLE, SPPHRASERULEHANDLE__} -DECLARE_HANDLE!{SPPHRASEPROPERTYHANDLE, SPPHRASEPROPERTYHANDLE__} -DECLARE_HANDLE!{SPTRANSITIONID, SPTRANSITIONID__} -RIDL!{#[uuid(0xf4711347, 0xe608, 0x11d2, 0xa0, 0x86, 0x00, 0xc0, 0x4f, 0x8e, 0xf9, 0xb5)] -interface ISpErrorLog(ISpErrorLogVtbl): IUnknown(IUnknownVtbl) { - fn AddError( - lLineNumber: c_long, - hr: HRESULT, - pszDescription: LPCWSTR, - pszHelpFile: LPCWSTR, - dwHelpContext: DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xb1e29d58, 0xa675, 0x11d2, 0x83, 0x02, 0x00, 0xc0, 0x4f, 0x8e, 0xe6, 0xc0)] -interface ISpGrammarCompiler(ISpGrammarCompilerVtbl): IUnknown(IUnknownVtbl) { - fn CompileStream( - pSource: *mut IStream, - pDest: *mut IStream, - pHeader: *mut IStream, - pReserved: *mut IUnknown, - pErrorLog: *mut ISpErrorLog, - dwFlags: DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x3ddca27c, 0x665c, 0x4786, 0x9f, 0x97, 0x8c, 0x90, 0xc3, 0x48, 0x8b, 0x61)] -interface ISpGramCompBackend(ISpGramCompBackendVtbl): ISpGrammarBuilder(ISpGrammarBuilderVtbl) { - fn SetSaveObjects( - pStream: *mut IStream, - pErrorLog: *mut ISpErrorLog, - ) -> HRESULT, - fn InitFromBinaryGrammar( - pBinaryData: *const SPBINARYGRAMMAR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x12d7360f, 0xa1c9, 0x11d3, 0xbc, 0x90, 0x00, 0xc0, 0x4f, 0x72, 0xdf, 0x9f)] -interface ISpITNProcessor(ISpITNProcessorVtbl): IUnknown(IUnknownVtbl) { - fn LoadITNGrammar( - pszCLSID: LPWSTR, - ) -> HRESULT, - fn ITNPhrase( - pPhrase: *mut ISpPhraseBuilder, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x88a3342a, 0x0bed, 0x4834, 0x92, 0x2b, 0x88, 0xd4, 0x31, 0x73, 0x16, 0x2f)] -interface ISpPhraseBuilder(ISpPhraseBuilderVtbl): ISpPhrase(ISpPhraseVtbl) { - fn InitFromPhrase( - pPhrase: *const SPPHRASE, - ) -> HRESULT, - fn InitFromSerializedPhrase( - pPhrase: *const SPSERIALIZEDPHRASE, - ) -> HRESULT, - fn AddElements( - cElements: ULONG, - pElement: *const SPPHRASEELEMENT, - ) -> HRESULT, - fn AddRules( - hParent: SPPHRASERULEHANDLE, - pRule: *const SPPHRASERULE, - phNewRule: *mut SPPHRASERULEHANDLE, - ) -> HRESULT, - fn AddProperties( - hParent: SPPHRASEPROPERTYHANDLE, - pProperty: *const SPPHRASEPROPERTY, - phNewProperty: *mut SPPHRASEPROPERTYHANDLE, - ) -> HRESULT, - fn AddReplacements( - cReplacements: ULONG, - pReplacements: *const SPPHRASEREPLACEMENT, - ) -> HRESULT, -}} -pub type ISpTask = *mut c_void; -pub type ISpThreadTask = *mut c_void; -RIDL!{#[uuid(0xa6be4d73, 0x4403, 0x4358, 0xb2, 0x2d, 0x03, 0x46, 0xe2, 0x3b, 0x17, 0x64)] -interface ISpThreadControl(ISpThreadControlVtbl): ISpNotifySink(ISpNotifySinkVtbl) { - fn StartThread( - dwFlags: DWORD, - phwnd: *mut HWND, - ) -> HRESULT, - fn WaitForThreadDone( - fForceStop: BOOL, - phrThreadResult: *mut HRESULT, - msTimeOut: ULONG, - ) -> HRESULT, - fn TerminateThread() -> HRESULT, - fn ThreadHandle() -> HANDLE, - fn ThreadId() -> DWORD, - fn NotifyEvent() -> HANDLE, - fn WindowHandle() -> HWND, - fn ThreadCompleteEvent() -> HANDLE, - fn ExitThreadEvent() -> HANDLE, -}} -STRUCT!{struct SPTMTHREADINFO { - lPoolSize: c_long, - lPriority: c_long, - ulConcurrencyLimit: ULONG, - ulMaxQuickAllocThreads: ULONG, -}} -RIDL!{#[uuid(0x2baeef81, 0x2ca3, 0x4331, 0x98, 0xf3, 0x26, 0xec, 0x5a, 0xbe, 0xfb, 0x03)] -interface ISpTaskManager(ISpTaskManagerVtbl): IUnknown(IUnknownVtbl) { - fn SetThreadPoolInfo( - pPoolInfo: *const SPTMTHREADINFO, - ) -> HRESULT, - fn GetThreadPoolInfo( - pPoolInfo: *mut SPTMTHREADINFO, - ) -> HRESULT, - fn QueueTask( - pTask: *mut ISpTask, - pvTaskData: *mut c_void, - hCompEvent: HANDLE, - pdwGroupId: *mut DWORD, - pTaskID: *mut DWORD, - ) -> HRESULT, - fn CreateReoccurringTask( - pTask: *mut ISpTask, - pvTaskData: *mut c_void, - hCompEvent: HANDLE, - ppTaskCtrl: *mut *mut ISpNotifySink, - ) -> HRESULT, - fn CreateThreadControl( - pTask: *mut ISpThreadTask, - pvTaskData: *mut c_void, - nPriority: c_long, - ppTaskCtrl: *mut *mut ISpThreadControl, - ) -> HRESULT, - fn TerminateTask( - dwGroupId: DWORD, - ulWaitPeriod: ULONG, - ) -> HRESULT, -}} -ENUM!{enum SPVSKIPTYPE { - SPVST_SENTENCE = 1 << 0, -}} -ENUM!{enum SPVESACTIONS { - SPVES_CONTINUE = 0, - SPVES_ABORT = 1 << 0, - SPVES_SKIP = 1 << 1, - SPVES_RATE = 1 << 2, - SPVES_VOLUME = 1 << 3, -}} -RIDL!{#[uuid(0x9880499b, 0xcce9, 0x11d2, 0xb5, 0x03, 0x00, 0xc0, 0x4f, 0x79, 0x73, 0x96)] -interface ISpTTSEngineSite(ISpTTSEngineSiteVtbl): ISpEventSink(ISpEventSinkVtbl) { - fn GetActions() -> DWORD, - fn Write( - pBuff: *const c_void, - cb: ULONG, - pcbWritten: *mut ULONG, - ) -> HRESULT, - fn GetRate( - pRateAdjust: *mut c_long, - ) -> HRESULT, - fn GetVolume(pusVolume: *mut USHORT, - ) -> HRESULT, - fn GetSkipInfo( - peType: *mut SPVSKIPTYPE, - plNumItems: *mut c_long, - ) -> HRESULT, - fn CompleteSkip( - ulNumSkipped: c_long, - ) -> HRESULT, -}} -STRUCT!{struct SPVTEXTFRAG { - pNext: *mut SPVTEXTFRAG, - State: SPVSTATE, - pTextStart: LPCWSTR, - ulTextLen: ULONG, - ulTextSrcOffset: ULONG, -}} -RIDL!{#[uuid(0xa74d7c8e, 0x4cc5, 0x4f2f, 0xa6, 0xeb, 0x80, 0x4d, 0xee, 0x18, 0x50, 0x0e)] -interface ISpTTSEngine(ISpTTSEngineVtbl): IUnknown(IUnknownVtbl) { - fn Speak( - dwSpeakFlags: DWORD, - rguidFormatId: REFGUID, - pWaveFormatEx: *const WAVEFORMATEX, - pTextFragList: *const SPVTEXTFRAG, - pOutputSite: *mut ISpTTSEngineSite, - ) -> HRESULT, - fn GetOutputFormat( - pTargetFmtId: *const GUID, - pTargetWaveFormatEx: *const WAVEFORMATEX, - pOutputFormatId: *mut GUID, - ppCoMemOutputWaveFormatEx: *mut WAVEFORMATEX, - ) -> HRESULT, -}} -STRUCT!{struct SPWORDENTRY { - hWord: SPWORDHANDLE, - LangID: WORD, - pszDisplayText: *mut WCHAR, - pszLexicalForm: *mut WCHAR, - aPhoneId: *mut SPPHONEID, - pvClientContext: *mut c_void, -}} -STRUCT!{struct SPRULEENTRY { - hRule: SPRULEHANDLE, - hInitialState: SPSTATEHANDLE, - Attributes: DWORD, - pvClientRuleContext: *mut c_void, - pvClientGrammarContext: *mut c_void, -}} -ENUM!{enum SPTRANSITIONTYPE { - SPTRANSEPSILON = 0, - SPTRANSWORD, - SPTRANSRULE, - SPTRANSTEXTBUF, - SPTRANSWILDCARD, - SPTRANSDICTATION, -}} -STRUCT!{struct SPTRANSITIONENTRY_u_s1 { - hRuleInitialState: SPSTATEHANDLE, - hRule: SPRULEHANDLE, - pvClientRuleContext: *mut c_void, -}} -STRUCT!{struct SPTRANSITIONENTRY_u_s2 { - hWord: SPWORDHANDLE, - pvClientWordContext: *mut c_void, -}} -UNION!{union SPTRANSITIONENTRY_u { - [usize; 3], - s1 s1_mut: SPTRANSITIONENTRY_u_s1, - s2 s2_mut: SPTRANSITIONENTRY_u_s2, - pvGrammarCookie pvGrammarCookie_mut: *mut c_void, -}} -STRUCT!{struct SPTRANSITIONENTRY { - ID: SPTRANSITIONID, - hNextState: SPSTATEHANDLE, - Type: BYTE, - RequiredConfidence: c_char, - fHasProperty: DWORD, - Weight: c_float, - u: SPTRANSITIONENTRY_u, -}} -STRUCT!{struct SPTRANSITIONPROPERTY { - pszName: LPCWSTR, - ulId: ULONG, - pszValue: LPCWSTR, - vValue: VARIANT, -}} -STRUCT!{struct SPSTATEINFO { - cAllocatedEntries: ULONG, - pTransitions: *mut SPTRANSITIONENTRY, - cEpsilons: ULONG, - cRules: ULONG, - cWords: ULONG, - cSpecialTransitions: ULONG, -}} -STRUCT!{struct SPPATHENTRY { - hTransition: SPTRANSITIONID, - elem: SPPHRASEELEMENT, -}} -RIDL!{#[uuid(0x6a6ffad8, 0x78b6, 0x473d, 0xb8, 0x44, 0x98, 0x15, 0x2e, 0x4f, 0xb1, 0x6b)] -interface ISpCFGInterpreterSite(ISpCFGInterpreterSiteVtbl): IUnknown(IUnknownVtbl) { - fn AddTextReplacement( - pReplace: *mut SPPHRASEREPLACEMENT, - ) -> HRESULT, - fn AddProperty( - pProperty: *const SPPHRASEPROPERTY, - ) -> HRESULT, - fn GetResourceValue( - pszResourceName: LPCWSTR, - ppCoMemResource: *mut LPWSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xf3d3f926, 0x11fc, 0x11d3, 0xbb, 0x97, 0x00, 0xc0, 0x4f, 0x8e, 0xe6, 0xc0)] -interface ISpCFGInterpreter(ISpCFGInterpreterVtbl): IUnknown(IUnknownVtbl) { - fn InitGrammar( - pszGrammarName: LPCWSTR, - pvGrammarData: *mut *const c_void, - ) -> HRESULT, - fn Interpret( - pPhrase: *mut ISpPhraseBuilder, - ulFirstElement: *const ULONG, - ulCountOfElements: *const ULONG, - pSite: *mut ISpCFGInterpreterSite, - ) -> HRESULT, -}} -ENUM!{enum SPCFGNOTIFY { - SPCFGN_ADD, - SPCFGN_REMOVE, - SPCFGN_INVALIDATE, - SPCFGN_ACTIVATE, - SPCFGN_DEACTIVATE, -}} -ENUM!{enum SPRESULTTYPE { - SPRT_CFG = 0, - SPRT_SLM = 1, - SPRT_PROPRIETARY = 2, - SPRT_FALSE_RECOGNITION = 1 << 2, -}} -STRUCT!{struct SPPHRASEALT { - pPhrase: *mut ISpPhraseBuilder, - ulStartElementInParent: ULONG, - cElementsInParent: ULONG, - cElementsInAlternate: ULONG, - pvAltExtra: *mut c_void, - cbAltExtra: ULONG, -}} -STRUCT!{struct SPRECORESULTINFO { - cbSize: ULONG, - eResultType: SPRESULTTYPE, - fHypothesis: BOOL, - fProprietaryAutoPause: BOOL, - ullStreamPosStart: ULONGLONG, - ullStreamPosEnd: ULONGLONG, - hGrammar: SPGRAMMARHANDLE, - ulSizeEngineData: ULONG, - pvEngineData: *mut c_void, - pPhrase: *mut ISpPhraseBuilder, - aPhraseAlts: *mut SPPHRASEALT, - ulNumAlts: ULONG, -}} -ENUM!{enum SPWORDINFOOPT { - SPWIO_NONE = 0, - SPWIO_WANT_TEXT = 1, -}} -ENUM!{enum SPRULEINFOOPT { - SPRIO_NONE = 0, -}} -STRUCT!{struct SPPARSEINFO { - cbSize: ULONG, - hRule: SPRULEHANDLE, - ullAudioStreamPosition: ULONGLONG, - ulAudioSize: ULONG, - cTransitions: ULONG, - pPath: *mut SPPATHENTRY, - SREngineID: GUID, - ulSREnginePrivateDataSize: ULONG, - pSREnginePrivateData: *const BYTE, - fHypothesis: BOOL, -}} -RIDL!{#[uuid(0x3b414aec, 0x720c, 0x4883, 0xb9, 0xef, 0x17, 0x8c, 0xd3, 0x94, 0xfb, 0x3a)] -interface ISpSREngineSite(ISpSREngineSiteVtbl): IUnknown(IUnknownVtbl) { - fn Read( - pv: *mut c_void, - cb: ULONG, - pcbRead: *mut ULONG, - ) -> HRESULT, - fn DataAvailable( - pcb: *mut ULONG, - ) -> HRESULT, - fn SetBufferNotifySize( - cbSize: ULONG, - ) -> HRESULT, - fn ParseFromTransitions( - pParseInfo: *const SPPARSEINFO, - ppNewPhrase: *mut *mut ISpPhraseBuilder, - ) -> HRESULT, - fn Recognition( - pResultInfo: *const SPRECORESULTINFO, - ) -> HRESULT, - fn AddEvent( - pEvent: *const SPEVENT, - hSAPIRecoContext: SPRECOCONTEXTHANDLE, - ) -> HRESULT, - fn Synchronize( - ullProcessedThruPos: ULONGLONG, - ) -> HRESULT, - fn GetWordInfo( - pWordEntry: *mut SPWORDENTRY, - Options: SPWORDINFOOPT, - ) -> HRESULT, - fn SetWordClientContext( - hWord: SPWORDHANDLE, - pvClientContext: *mut c_void, - ) -> HRESULT, - fn GetRuleInfo( - pRuleEntry: *mut SPRULEENTRY, - Options: SPRULEINFOOPT, - ) -> HRESULT, - fn SetRuleClientContext( - hRule: SPRULEHANDLE, - pvClientContext: *mut c_void, - ) -> HRESULT, - fn GetStateInfo( - hState: SPSTATEHANDLE, - pStateInfo: *mut SPSTATEINFO, - ) -> HRESULT, - fn GetResource( - hRule: SPRULEHANDLE, - pszResourceName: LPCWSTR, - ppCoMemResource: *mut LPWSTR, - ) -> HRESULT, - fn GetTransitionProperty( - ID: SPTRANSITIONID, - ppCoMemProperty: *mut *mut SPTRANSITIONPROPERTY, - ) -> HRESULT, - fn IsAlternate( - hRule: SPRULEHANDLE, - hAltRule: SPRULEHANDLE, - ) -> HRESULT, - fn GetMaxAlternates( - hRule: SPRULEHANDLE, - pulNumAlts: *mut ULONG, - ) -> HRESULT, - fn GetContextMaxAlternates( - hContext: SPRECOCONTEXTHANDLE, - pulNumAlts: *mut ULONG, - ) -> HRESULT, - fn UpdateRecoPos( - ullCurrentRecoPos: ULONGLONG, - ) -> HRESULT, -}} -ENUM!{enum SPPROPSRC { - SPPROPSRC_RECO_INST, - SPPROPSRC_RECO_CTX, - SPPROPSRC_RECO_GRAMMAR, -}} -RIDL!{#[uuid(0x2f472991, 0x854b, 0x4465, 0xb6, 0x13, 0xfb, 0xaf, 0xb3, 0xad, 0x8e, 0xd8)] -interface ISpSREngine(ISpSREngineVtbl): IUnknown(IUnknownVtbl) { - fn SetSite( - pSite: *mut ISpSREngineSite, - ) -> HRESULT, - fn GetInputAudioFormat( - pguidSourceFormatId: *const GUID, - pSourceWaveFormatEx: *const WAVEFORMATEX, - pguidDesiredFormatId: *mut GUID, - ppCoMemDesiredWaveFormatEx: *mut WAVEFORMATEX, - ) -> HRESULT, - fn RecognizeStream( - rguidFmtId: REFGUID, - pWaveFormatEx: *const WAVEFORMATEX, - hRequestSync: HANDLE, - hDataAvailable: HANDLE, - hExit: HANDLE, - fNewAudioStream: BOOL, - fRealTimeAudio: BOOL, - pAudioObjectToken: *mut ISpObjectToken, - ) -> HRESULT, - fn SetRecoProfile( - pProfile: *mut ISpObjectToken, - ) -> HRESULT, - fn OnCreateGrammar( - pvEngineRecoContext: *mut c_void, - hSAPIGrammar: SPGRAMMARHANDLE, - ppvEngineGrammarContext: *mut *mut c_void, - ) -> HRESULT, - fn OnDeleteGrammar( - pvEngineGrammar: *mut c_void, - ) -> HRESULT, - fn LoadProprietaryGrammar( - pvEngineGrammar: *mut c_void, - rguidParam: REFGUID, - pszStringParam: LPCWSTR, - pvDataParam: *const c_void, - ulDataSize: ULONG, - Options: SPLOADOPTIONS, - ) -> HRESULT, - fn UnloadProprietaryGrammar( - pvEngineGrammar: *mut c_void, - ) -> HRESULT, - fn SetProprietaryRuleState( - pvEngineGrammar: *mut c_void, - pszName: LPCWSTR, - pReserved: *mut c_void, - NewState: SPRULESTATE, - pcRulesChanged: *mut ULONG, - ) -> HRESULT, - fn SetProprietaryRuleIdState( - pvEngineGrammar: *mut c_void, - dwRuleId: DWORD, - NewState: SPRULESTATE, - ) -> HRESULT, - fn LoadSLM( - pvEngineGrammar: *mut c_void, - pszTopicName: LPCWSTR, - ) -> HRESULT, - fn UnloadSLM( - pvEngineGrammar: *mut c_void, - ) -> HRESULT, - fn SetSLMState( - pvEngineGrammar: *mut c_void, - NewState: SPRULESTATE, - ) -> HRESULT, - fn SetWordSequenceData( - pvEngineGrammar: *mut c_void, - pText: *const WCHAR, - cchText: ULONG, - pInfo: *const SPTEXTSELECTIONINFO, - ) -> HRESULT, - fn SetTextSelection( - pvEngineGrammar: *mut c_void, - pInfo: *const SPTEXTSELECTIONINFO, - ) -> HRESULT, - fn IsPronounceable( - pvEngineGrammar: *mut c_void, - pszWord: LPCWSTR, - pWordPronounceable: *mut SPWORDPRONOUNCEABLE, - ) -> HRESULT, - fn OnCreateRecoContext( - hSAPIRecoContext: SPRECOCONTEXTHANDLE, - ppvEngineContext: *mut *mut c_void, - ) -> HRESULT, - fn OnDeleteRecoContext( - pvEngineContext: *mut c_void, - ) -> HRESULT, - fn OnPrivateCall( - pvEngineContext: *mut c_void, - pCallFrame: PVOID, - ulCallFrameSize: ULONG, - ) -> HRESULT, - fn SetAdaptationData( - pvEngineContext: *mut c_void, - pAdaptationData: *const WCHAR, - cch: ULONG, - ) -> HRESULT, - fn SetPropertyNum( - eSrc: SPPROPSRC, - pvSrcObj: *mut c_void, - pName: *const WCHAR, - lValue: LONG, - ) -> HRESULT, - fn GetPropertyNum( - eSrc: SPPROPSRC, - pvSrcObj: *mut c_void, - pName: *const WCHAR, - lValue: *mut LONG, - ) -> HRESULT, - fn SetPropertyString( - eSrc: SPPROPSRC, - pvSrcObj: *mut c_void, - pName: LPCWSTR, - pValue: LPCWSTR, - ) -> HRESULT, - fn GetPropertyString( - eSrc: SPPROPSRC, - pvSrcObj: *mut c_void, - pName: LPCWSTR, - ppCoMemValue: *mut LPWSTR, - ) -> HRESULT, - fn SetGrammarState( - pvEngineGrammar: *mut c_void, - eGrammarState: SPGRAMMARSTATE, - ) -> HRESULT, - fn WordNotify( - Action: SPCFGNOTIFY, - cWords: ULONG, - pWords: *const SPWORDENTRY, - ) -> HRESULT, - fn RuleNotify( - Action: SPCFGNOTIFY, - cRules: ULONG, - pRules: *const SPRULEENTRY, - ) -> HRESULT, - fn PrivateCallEx( - pvEngineContext: *mut c_void, - pInCallFrame: *const c_void, - ulInCallFrameSize: ULONG, - ppvCoMemResponse: *mut *mut c_void, - pulResponseSize: *mut ULONG, - ) -> HRESULT, - fn SetContextState( - pvEngineContext: *mut c_void, - eContextState: SPCONTEXTSTATE, - ) -> HRESULT, -}} -STRUCT!{struct SPPHRASEALTREQUEST { - ulStartElement: ULONG, - cElements: ULONG, - ulRequestAltCount: ULONG, - pvResultExtra: *mut c_void, - cbResultExtra: ULONG, - pPhrase: *mut ISpPhrase, - pRecoContext: *mut ISpRecoContext, -}} -RIDL!{#[uuid(0x8e7c791e, 0x4467, 0x11d3, 0x97, 0x23, 0x00, 0xc0, 0x4f, 0x72, 0xdb, 0x08)] -interface _ISpPrivateEngineCall(_ISpPrivateEngineCallVtbl): IUnknown(IUnknownVtbl) { - fn CallEngine( - pCallFrame: *mut c_void, - ulCallFrameSize: ULONG, - ) -> HRESULT, - fn CallEngineEx( - pInFrame: *const c_void, - ulInFrameSize: ULONG, - ppCoMemOutFrame: *mut *mut c_void, - pulOutFrameSize: *mut ULONG, - ) -> HRESULT, -}} -extern { - pub static LIBID_SpeechDDKLib: IID; - pub static CLSID_SpDataKey: CLSID; -} -RIDL!{#[uuid(0xd9f6ee60, 0x58c9, 0x458b, 0x88, 0xe1, 0x2f, 0x90, 0x8f, 0xd7, 0xf8, 0x7c)] -class SpDataKey;} -extern { - pub static CLSID_SpObjectTokenEnum: CLSID; - pub static CLSID_SpPhraseBuilder: CLSID; - pub static CLSID_SpITNProcessor: CLSID; - pub static CLSID_SpGrammarCompiler: CLSID; - pub static CLSID_SpGramCompBackend: CLSID; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/schannel.rs b/vendor/registry-40351f815f426200/winapi/src/um/schannel.rs deleted file mode 100644 index 5ec1ac008..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/schannel.rs +++ /dev/null @@ -1,339 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Public Definitions for SCHANNEL Security Provider -use shared::guiddef::GUID; -use shared::minwindef::{BYTE, DWORD, PBYTE, WORD}; -use shared::windef::HWND; -use um::wincrypt::{ALG_ID, HCERTSTORE, HCRYPTPROV, PCCERT_CONTEXT, PCERT_NAME_BLOB}; -use um::winnt::{HRESULT, LPWSTR, PVOID, WCHAR}; -pub const UNISP_NAME: &'static str = "Microsoft Unified Security Protocol Provider"; -pub const SSL2SP_NAME: &'static str = "Microsoft SSL 2.0"; -pub const SSL3SP_NAME: &'static str = "Microsoft SSL 3.0"; -pub const TLS1SP_NAME: &'static str = "Microsoft TLS 1.0"; -pub const PCT1SP_NAME: &'static str = "Microsoft PCT 1.0"; -pub const SCHANNEL_NAME: &'static str = "Schannel"; -ENUM!{enum eTlsSignatureAlgorithm { - TlsSignatureAlgorithm_Anonymous = 0, - TlsSignatureAlgorithm_Rsa = 1, - TlsSignatureAlgorithm_Dsa = 2, - TlsSignatureAlgorithm_Ecdsa = 3, -}} -ENUM!{enum eTlsHashAlgorithm { - TlsHashAlgorithm_None = 0, - TlsHashAlgorithm_Md5 = 1, - TlsHashAlgorithm_Sha1 = 2, - TlsHashAlgorithm_Sha224 = 3, - TlsHashAlgorithm_Sha256 = 4, - TlsHashAlgorithm_Sha384 = 5, - TlsHashAlgorithm_Sha512 = 6, -}} -pub const UNISP_RPC_ID: DWORD = 14; -STRUCT!{struct SecPkgContext_RemoteCredentialInfo { - cbCertificateChain: DWORD, - pbCertificateChain: PBYTE, - cCertificates: DWORD, - fFlags: DWORD, - dwBits: DWORD, -}} -pub type PSecPkgContext_RemoteCredentialInfo = *mut SecPkgContext_RemoteCredentialInfo; -pub type SecPkgContext_RemoteCredenitalInfo = SecPkgContext_RemoteCredentialInfo; -pub type PSecPkgContext_RemoteCredenitalInfo = *mut SecPkgContext_RemoteCredentialInfo; -pub const RCRED_STATUS_NOCRED: DWORD = 0x00000000; -pub const RCRED_CRED_EXISTS: DWORD = 0x00000001; -pub const RCRED_STATUS_UNKNOWN_ISSUER: DWORD = 0x00000002; -STRUCT!{struct SecPkgContext_LocalCredentialInfo { - cbCertificateChain: DWORD, - pbCertificateChain: PBYTE, - cCertificates: DWORD, - fFlags: DWORD, - dwBits: DWORD, -}} -pub type PSecPkgContext_LocalCredentialInfo = *mut SecPkgContext_LocalCredentialInfo; -pub type SecPkgContext_LocalCredenitalInfo = SecPkgContext_LocalCredentialInfo; -pub type PSecPkgContext_LocalCredenitalInfo = *mut SecPkgContext_LocalCredentialInfo; -pub const LCRED_STATUS_NOCRED: DWORD = 0x00000000; -pub const LCRED_CRED_EXISTS: DWORD = 0x00000001; -pub const LCRED_STATUS_UNKNOWN_ISSUER: DWORD = 0x00000002; -STRUCT!{struct SecPkgContext_ClientCertPolicyResult { - dwPolicyResult: HRESULT, - guidPolicyId: GUID, -}} -pub type PSecPkgContext_ClientCertPolicyResult = *mut SecPkgContext_ClientCertPolicyResult; -STRUCT!{struct SecPkgContext_IssuerListInfoEx { - aIssuers: PCERT_NAME_BLOB, - cIssuers: DWORD, -}} -pub type PSecPkgContext_IssuerListInfoEx = *mut SecPkgContext_IssuerListInfoEx; -STRUCT!{struct SecPkgContext_ConnectionInfo { - dwProtocol: DWORD, - aiCipher: ALG_ID, - dwCipherStrength: DWORD, - aiHash: ALG_ID, - dwHashStrength: DWORD, - aiExch: ALG_ID, - dwExchStrength: DWORD, -}} -pub type PSecPkgContext_ConnectionInfo = *mut SecPkgContext_ConnectionInfo; -pub const SZ_ALG_MAX_SIZE: usize = 64; -pub const SECPKGCONTEXT_CIPHERINFO_V1: DWORD = 1; -STRUCT!{struct SecPkgContext_CipherInfo { - dwVersion: DWORD, - dwProtocol: DWORD, - dwCipherSuite: DWORD, - dwBaseCipherSuite: DWORD, - szCipherSuite: [WCHAR; SZ_ALG_MAX_SIZE], - szCipher: [WCHAR; SZ_ALG_MAX_SIZE], - dwCipherLen: DWORD, - dwCipherBlockLen: DWORD, - szHash: [WCHAR; SZ_ALG_MAX_SIZE], - dwHashLen: DWORD, - szExchange: [WCHAR; SZ_ALG_MAX_SIZE], - dwMinExchangeLen: DWORD, - dwMaxExchangeLen: DWORD, - szCertificate: [WCHAR; SZ_ALG_MAX_SIZE], - dwKeyType: DWORD, -}} -pub type PSecPkgContext_CipherInfo = *mut SecPkgContext_CipherInfo; -STRUCT!{struct SecPkgContext_EapKeyBlock { - rgbKeys: [BYTE; 128], - rgbIVs: [BYTE; 64], -}} -pub type PSecPkgContext_EapKeyBlock = *mut SecPkgContext_EapKeyBlock; -STRUCT!{struct SecPkgContext_MappedCredAttr { - dwAttribute: DWORD, - pvBuffer: PVOID, -}} -pub type PSecPkgContext_MappedCredAttr = *mut SecPkgContext_MappedCredAttr; -pub const SSL_SESSION_RECONNECT: DWORD = 1; -STRUCT!{struct SecPkgContext_SessionInfo { - dwFlags: DWORD, - cbSessionId: DWORD, - rgbSessionId: [BYTE; 32], -}} -pub type PSecPkgContext_SessionInfo = *mut SecPkgContext_SessionInfo; -STRUCT!{struct SecPkgContext_SessionAppData { - dwFlags: DWORD, - cbAppData: DWORD, - pbAppData: PBYTE, -}} -pub type PSecPkgContext_SessionAppData = *mut SecPkgContext_SessionAppData; -STRUCT!{struct SecPkgContext_EapPrfInfo { - dwVersion: DWORD, - cbPrfData: DWORD, - pbPrfData: PBYTE, -}} -pub type PSecPkgContext_EapPrfInfo = *mut SecPkgContext_EapPrfInfo; -STRUCT!{struct SecPkgContext_SupportedSignatures { - cSignatureAndHashAlgorithms: WORD, - pSignatureAndHashAlgorithms: *mut WORD, -}} -pub type PSecPkgContext_SupportedSignatures = *mut SecPkgContext_SupportedSignatures; -STRUCT!{struct SecPkgContext_Certificates { - cCertificates: DWORD, - cbCertificateChain: DWORD, - pbCertificateChain: PBYTE, -}} -pub type PSecPkgContext_Certificates = *mut SecPkgContext_Certificates; -STRUCT!{struct SecPkgContext_CertInfo { - dwVersion: DWORD, - cbSubjectName: DWORD, - pwszSubjectName: LPWSTR, - cbIssuerName: DWORD, - pwszIssuerName: LPWSTR, - dwKeySize: DWORD, -}} -pub type PSecPkgContext_CertInfo = *mut SecPkgContext_CertInfo; -pub const KERN_CONTEXT_CERT_INFO_V1: DWORD = 0x00000000; -STRUCT!{struct SecPkgContext_UiInfo { - hParentWindow: HWND, -}} -pub type PSecPkgContext_UiInfo = *mut SecPkgContext_UiInfo; -STRUCT!{struct SecPkgContext_EarlyStart { - dwEarlyStartFlags: DWORD, -}} -pub type PSecPkgContext_EarlyStart = *mut SecPkgContext_EarlyStart; -pub const ENABLE_TLS_CLIENT_EARLY_START: DWORD = 0x00000001; -pub const SCH_CRED_V1: DWORD = 0x00000001; -pub const SCH_CRED_V2: DWORD = 0x00000002; -pub const SCH_CRED_VERSION: DWORD = 0x00000002; -pub const SCH_CRED_V3: DWORD = 0x00000003; -pub const SCHANNEL_CRED_VERSION: DWORD = 0x00000004; -pub const SCHANNEL_SECRET_TYPE_CAPI: DWORD = 0x00000001; -pub const SCHANNEL_SECRET_PRIVKEY: DWORD = 0x00000002; -pub const SCH_CRED_X509_CERTCHAIN: DWORD = 0x00000001; -pub const SCH_CRED_X509_CAPI: DWORD = 0x00000002; -pub const SCH_CRED_CERT_CONTEXT: DWORD = 0x00000003; -pub enum _HMAPPER {} -STRUCT!{struct SCHANNEL_CRED { - dwVersion: DWORD, - cCreds: DWORD, - paCred: *mut PCCERT_CONTEXT, - hRootStore: HCERTSTORE, - cMappers: DWORD, - aphMappers: *mut *mut _HMAPPER, - cSupportedAlgs: DWORD, - palgSupportedAlgs: *mut ALG_ID, - grbitEnabledProtocols: DWORD, - dwMinimumCipherStrength: DWORD, - dwMaximumCipherStrength: DWORD, - dwSessionLifespan: DWORD, - dwFlags: DWORD, - dwCredFormat: DWORD, -}} -pub type PSCHANNEL_CRED = *mut SCHANNEL_CRED; -pub const SCH_CRED_FORMAT_CERT_CONTEXT: DWORD = 0x00000000; -pub const SCH_CRED_FORMAT_CERT_HASH: DWORD = 0x00000001; -pub const SCH_CRED_FORMAT_CERT_HASH_STORE: DWORD = 0x00000002; -pub const SCH_CRED_MAX_STORE_NAME_SIZE: usize = 128; -pub const SCH_CRED_MAX_SUPPORTED_ALGS: DWORD = 256; -pub const SCH_CRED_MAX_SUPPORTED_CERTS: DWORD = 100; -STRUCT!{struct SCHANNEL_CERT_HASH { - dwLength: DWORD, - dwFlags: DWORD, - hProv: HCRYPTPROV, - ShaHash: [BYTE; 20], -}} -pub type PSCHANNEL_CERT_HASH = *mut SCHANNEL_CERT_HASH; -STRUCT!{struct SCHANNEL_CERT_HASH_STORE { - dwLength: DWORD, - dwFlags: DWORD, - hProv: HCRYPTPROV, - ShaHash: [BYTE; 20], - pwszStoreName: [WCHAR; SCH_CRED_MAX_STORE_NAME_SIZE], -}} -pub type PSCHANNEL_CERT_HASH_STORE = *mut SCHANNEL_CERT_HASH_STORE; -pub const SCH_MACHINE_CERT_HASH: DWORD = 0x00000001; -pub const SCH_CRED_NO_SYSTEM_MAPPER: DWORD = 0x00000002; -pub const SCH_CRED_NO_SERVERNAME_CHECK: DWORD = 0x00000004; -pub const SCH_CRED_MANUAL_CRED_VALIDATION: DWORD = 0x00000008; -pub const SCH_CRED_NO_DEFAULT_CREDS: DWORD = 0x00000010; -pub const SCH_CRED_AUTO_CRED_VALIDATION: DWORD = 0x00000020; -pub const SCH_CRED_USE_DEFAULT_CREDS: DWORD = 0x00000040; -pub const SCH_CRED_DISABLE_RECONNECTS: DWORD = 0x00000080; -pub const SCH_CRED_REVOCATION_CHECK_END_CERT: DWORD = 0x00000100; -pub const SCH_CRED_REVOCATION_CHECK_CHAIN: DWORD = 0x00000200; -pub const SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT: DWORD = 0x00000400; -pub const SCH_CRED_IGNORE_NO_REVOCATION_CHECK: DWORD = 0x00000800; -pub const SCH_CRED_IGNORE_REVOCATION_OFFLINE: DWORD = 0x00001000; -pub const SCH_CRED_RESTRICTED_ROOTS: DWORD = 0x00002000; -pub const SCH_CRED_REVOCATION_CHECK_CACHE_ONLY: DWORD = 0x00004000; -pub const SCH_CRED_CACHE_ONLY_URL_RETRIEVAL: DWORD = 0x00008000; -pub const SCH_CRED_MEMORY_STORE_CERT: DWORD = 0x00010000; -pub const SCH_CRED_CACHE_ONLY_URL_RETRIEVAL_ON_CREATE: DWORD = 0x00020000; -pub const SCH_SEND_ROOT_CERT: DWORD = 0x00040000; -pub const SCH_CRED_SNI_CREDENTIAL: DWORD = 0x00080000; -pub const SCH_CRED_SNI_ENABLE_OCSP: DWORD = 0x00100000; -pub const SCH_SEND_AUX_RECORD: DWORD = 0x00200000; -pub const SCH_USE_STRONG_CRYPTO: DWORD = 0x00400000; -pub const SCHANNEL_RENEGOTIATE: DWORD = 0; -pub const SCHANNEL_SHUTDOWN: DWORD = 1; -pub const SCHANNEL_ALERT: DWORD = 2; -pub const SCHANNEL_SESSION: DWORD = 3; -STRUCT!{struct SCHANNEL_ALERT_TOKEN { - dwTokenType: DWORD, - dwAlertType: DWORD, - dwAlertNumber: DWORD, -}} -pub const TLS1_ALERT_WARNING: DWORD = 1; -pub const TLS1_ALERT_FATAL: DWORD = 2; -pub const TLS1_ALERT_CLOSE_NOTIFY: DWORD = 0; -pub const TLS1_ALERT_UNEXPECTED_MESSAGE: DWORD = 10; -pub const TLS1_ALERT_BAD_RECORD_MAC: DWORD = 20; -pub const TLS1_ALERT_DECRYPTION_FAILED: DWORD = 21; -pub const TLS1_ALERT_RECORD_OVERFLOW: DWORD = 22; -pub const TLS1_ALERT_DECOMPRESSION_FAIL: DWORD = 30; -pub const TLS1_ALERT_HANDSHAKE_FAILURE: DWORD = 40; -pub const TLS1_ALERT_BAD_CERTIFICATE: DWORD = 42; -pub const TLS1_ALERT_UNSUPPORTED_CERT: DWORD = 43; -pub const TLS1_ALERT_CERTIFICATE_REVOKED: DWORD = 44; -pub const TLS1_ALERT_CERTIFICATE_EXPIRED: DWORD = 45; -pub const TLS1_ALERT_CERTIFICATE_UNKNOWN: DWORD = 46; -pub const TLS1_ALERT_ILLEGAL_PARAMETER: DWORD = 47; -pub const TLS1_ALERT_UNKNOWN_CA: DWORD = 48; -pub const TLS1_ALERT_ACCESS_DENIED: DWORD = 49; -pub const TLS1_ALERT_DECODE_ERROR: DWORD = 50; -pub const TLS1_ALERT_DECRYPT_ERROR: DWORD = 51; -pub const TLS1_ALERT_EXPORT_RESTRICTION: DWORD = 60; -pub const TLS1_ALERT_PROTOCOL_VERSION: DWORD = 70; -pub const TLS1_ALERT_INSUFFIENT_SECURITY: DWORD = 71; -pub const TLS1_ALERT_INTERNAL_ERROR: DWORD = 80; -pub const TLS1_ALERT_USER_CANCELED: DWORD = 90; -pub const TLS1_ALERT_NO_RENEGOTIATION: DWORD = 100; -pub const TLS1_ALERT_UNSUPPORTED_EXT: DWORD = 110; -pub const TLS1_ALERT_NO_APP_PROTOCOL: DWORD = 120; -pub const SSL_SESSION_ENABLE_RECONNECTS: DWORD = 1; -pub const SSL_SESSION_DISABLE_RECONNECTS: DWORD = 2; -STRUCT!{struct SCHANNEL_SESSION_TOKEN { - dwTokenType: DWORD, - dwFlags: DWORD, -}} -STRUCT!{struct SCHANNEL_CLIENT_SIGNATURE { - cbLength: DWORD, - aiHash: ALG_ID, - cbHash: DWORD, - HashValue: [BYTE; 36], - CertThumbprint: [BYTE; 20], -}} -pub type PSCHANNEL_CLIENT_SIGNATURE = *mut SCHANNEL_CLIENT_SIGNATURE; -pub const SP_PROT_PCT1_SERVER: DWORD = 0x00000001; -pub const SP_PROT_PCT1_CLIENT: DWORD = 0x00000002; -pub const SP_PROT_PCT1: DWORD = SP_PROT_PCT1_SERVER | SP_PROT_PCT1_CLIENT; -pub const SP_PROT_SSL2_SERVER: DWORD = 0x00000004; -pub const SP_PROT_SSL2_CLIENT: DWORD = 0x00000008; -pub const SP_PROT_SSL2: DWORD = SP_PROT_SSL2_SERVER | SP_PROT_SSL2_CLIENT; -pub const SP_PROT_SSL3_SERVER: DWORD = 0x00000010; -pub const SP_PROT_SSL3_CLIENT: DWORD = 0x00000020; -pub const SP_PROT_SSL3: DWORD = SP_PROT_SSL3_SERVER | SP_PROT_SSL3_CLIENT; -pub const SP_PROT_TLS1_SERVER: DWORD = 0x00000040; -pub const SP_PROT_TLS1_CLIENT: DWORD = 0x00000080; -pub const SP_PROT_TLS1: DWORD = SP_PROT_TLS1_SERVER | SP_PROT_TLS1_CLIENT; -pub const SP_PROT_SSL3TLS1_CLIENTS: DWORD = SP_PROT_TLS1_CLIENT | SP_PROT_SSL3_CLIENT; -pub const SP_PROT_SSL3TLS1_SERVERS: DWORD = SP_PROT_TLS1_SERVER | SP_PROT_SSL3_SERVER; -pub const SP_PROT_SSL3TLS1: DWORD = SP_PROT_SSL3 | SP_PROT_TLS1; -pub const SP_PROT_UNI_SERVER: DWORD = 0x40000000; -pub const SP_PROT_UNI_CLIENT: DWORD = 0x80000000; -pub const SP_PROT_UNI: DWORD = SP_PROT_UNI_SERVER | SP_PROT_UNI_CLIENT; -pub const SP_PROT_ALL: DWORD = 0xffffffff; -pub const SP_PROT_NONE: DWORD = 0; -pub const SP_PROT_CLIENTS: DWORD = SP_PROT_PCT1_CLIENT | SP_PROT_SSL2_CLIENT - | SP_PROT_SSL3_CLIENT | SP_PROT_UNI_CLIENT | SP_PROT_TLS1_CLIENT; -pub const SP_PROT_SERVERS: DWORD = SP_PROT_PCT1_SERVER | SP_PROT_SSL2_SERVER - | SP_PROT_SSL3_SERVER | SP_PROT_UNI_SERVER | SP_PROT_TLS1_SERVER; -pub const SP_PROT_TLS1_0_SERVER: DWORD = SP_PROT_TLS1_SERVER; -pub const SP_PROT_TLS1_0_CLIENT: DWORD = SP_PROT_TLS1_CLIENT; -pub const SP_PROT_TLS1_0: DWORD = SP_PROT_TLS1_0_SERVER | SP_PROT_TLS1_0_CLIENT; -pub const SP_PROT_TLS1_1_SERVER: DWORD = 0x00000100; -pub const SP_PROT_TLS1_1_CLIENT: DWORD = 0x00000200; -pub const SP_PROT_TLS1_1: DWORD = SP_PROT_TLS1_1_SERVER | SP_PROT_TLS1_1_CLIENT; -pub const SP_PROT_TLS1_2_SERVER: DWORD = 0x00000400; -pub const SP_PROT_TLS1_2_CLIENT: DWORD = 0x00000800; -pub const SP_PROT_TLS1_2: DWORD = SP_PROT_TLS1_2_SERVER | SP_PROT_TLS1_2_CLIENT; -pub const SP_PROT_DTLS_SERVER: DWORD = 0x00010000; -pub const SP_PROT_DTLS_CLIENT: DWORD = 0x00020000; -pub const SP_PROT_DTLS: DWORD = SP_PROT_DTLS_SERVER | SP_PROT_DTLS_CLIENT; -pub const SP_PROT_DTLS1_0_SERVER: DWORD = SP_PROT_DTLS_SERVER; -pub const SP_PROT_DTLS1_0_CLIENT: DWORD = SP_PROT_DTLS_CLIENT; -pub const SP_PROT_DTLS1_0: DWORD = SP_PROT_DTLS1_0_SERVER | SP_PROT_DTLS1_0_CLIENT; -pub const SP_PROT_DTLS1_X_SERVER: DWORD = SP_PROT_DTLS1_0_SERVER; -pub const SP_PROT_DTLS1_X_CLIENT: DWORD = SP_PROT_DTLS1_0_CLIENT; -pub const SP_PROT_DTLS1_X: DWORD = SP_PROT_DTLS1_X_SERVER | SP_PROT_DTLS1_X_CLIENT; -pub const SP_PROT_TLS1_1PLUS_SERVER: DWORD = SP_PROT_TLS1_1_SERVER | SP_PROT_TLS1_2_SERVER; -pub const SP_PROT_TLS1_1PLUS_CLIENT: DWORD = SP_PROT_TLS1_1_CLIENT | SP_PROT_TLS1_2_CLIENT; -pub const SP_PROT_TLS1_1PLUS: DWORD = SP_PROT_TLS1_1PLUS_SERVER | SP_PROT_TLS1_1PLUS_CLIENT; -pub const SP_PROT_TLS1_X_SERVER: DWORD = SP_PROT_TLS1_0_SERVER | SP_PROT_TLS1_1_SERVER - | SP_PROT_TLS1_2_SERVER; -pub const SP_PROT_TLS1_X_CLIENT: DWORD = SP_PROT_TLS1_0_CLIENT | SP_PROT_TLS1_1_CLIENT - | SP_PROT_TLS1_2_CLIENT; -pub const SP_PROT_TLS1_X: DWORD = SP_PROT_TLS1_X_SERVER | SP_PROT_TLS1_X_CLIENT; -pub const SP_PROT_SSL3TLS1_X_CLIENTS: DWORD = SP_PROT_TLS1_X_CLIENT | SP_PROT_SSL3_CLIENT; -pub const SP_PROT_SSL3TLS1_X_SERVERS: DWORD = SP_PROT_TLS1_X_SERVER | SP_PROT_SSL3_SERVER; -pub const SP_PROT_SSL3TLS1_X: DWORD = SP_PROT_SSL3 | SP_PROT_TLS1_X; -pub const SP_PROT_X_CLIENTS: DWORD = SP_PROT_CLIENTS | SP_PROT_TLS1_X_CLIENT - | SP_PROT_DTLS1_X_CLIENT; -pub const SP_PROT_X_SERVERS: DWORD = SP_PROT_SERVERS | SP_PROT_TLS1_X_SERVER - | SP_PROT_DTLS1_X_SERVER; -pub const SSL_CRACK_CERTIFICATE_NAME: &'static str = "SslCrackCertificate"; -pub const SSL_FREE_CERTIFICATE_NAME: &'static str = "SslFreeCertificate"; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/securityappcontainer.rs b/vendor/registry-40351f815f426200/winapi/src/um/securityappcontainer.rs deleted file mode 100644 index 02d862938..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/securityappcontainer.rs +++ /dev/null @@ -1,16 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::{BOOL, PULONG, ULONG}; -use um::winnt::{HANDLE, LPWSTR, PSID}; -extern "system" { - pub fn GetAppContainerNamedObjectPath( - Token: HANDLE, - AppContainerSid: PSID, - ObjectPathLength: ULONG, - ObjectPath: LPWSTR, - ReturnLength: PULONG, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/securitybaseapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/securitybaseapi.rs deleted file mode 100644 index 81bfd18ff..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/securitybaseapi.rs +++ /dev/null @@ -1,690 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! FFI bindings to psapi. -use shared::guiddef::GUID; -use shared::minwindef::{ - BOOL, BYTE, DWORD, LPBOOL, LPDWORD, LPVOID, PBOOL, PDWORD, PUCHAR, PULONG, UCHAR, ULONG -}; -use um::minwinbase::LPSECURITY_ATTRIBUTES; -use um::winnt::{ - ACL_INFORMATION_CLASS, AUDIT_EVENT_TYPE, BOOLEAN, HANDLE, LONG, LPCWSTR, LPWSTR, PACL, - PCLAIM_SECURITY_ATTRIBUTES_INFORMATION, PCWSTR, PGENERIC_MAPPING, PHANDLE, PLUID, - PLUID_AND_ATTRIBUTES, POBJECT_TYPE_LIST, PPRIVILEGE_SET, PSECURITY_DESCRIPTOR, - PSECURITY_DESCRIPTOR_CONTROL, PSID, PSID_AND_ATTRIBUTES, PSID_IDENTIFIER_AUTHORITY, - PTOKEN_GROUPS, PTOKEN_PRIVILEGES, PVOID, SECURITY_DESCRIPTOR_CONTROL, - SECURITY_IMPERSONATION_LEVEL, SECURITY_INFORMATION, TOKEN_INFORMATION_CLASS, TOKEN_TYPE, - WELL_KNOWN_SID_TYPE -}; -extern "system" { - pub fn AccessCheck( - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - ClientToken: HANDLE, - DesiredAccess: DWORD, - GenericMapping: PGENERIC_MAPPING, - PrivilegeSet: PPRIVILEGE_SET, - PrivilegeSetLength: LPDWORD, - GrantedAccess: LPDWORD, - AccessStatus: LPBOOL, - ) -> BOOL; - pub fn AccessCheckAndAuditAlarmW( - SubsystemName: LPCWSTR, - HandleId: LPVOID, - ObjectTypeName: LPWSTR, - ObjectName: LPWSTR, - SecurityDescriptor: PSECURITY_DESCRIPTOR, - DesiredAccess: DWORD, - GenericMapping: PGENERIC_MAPPING, - ObjectCreation: BOOL, - GrantedAccess: LPDWORD, - AccessStatus: LPBOOL, - pfGenerateOnClose: LPBOOL, - ) -> BOOL; - pub fn AccessCheckByType( - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - PrincipalSelfSid: PSID, - ClientToken: HANDLE, - DesiredAccess: DWORD, - ObjectTypeList: POBJECT_TYPE_LIST, - ObjectTypeListLength: DWORD, - GenericMapping: PGENERIC_MAPPING, - PrivilegeSet: PPRIVILEGE_SET, - PrivilegeSetLength: LPDWORD, - GrantedAccess: LPDWORD, - AccessStatus: LPBOOL, - ) -> BOOL; - pub fn AccessCheckByTypeResultList( - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - PrincipalSelfSid: PSID, - ClientToken: HANDLE, - DesiredAccess: DWORD, - ObjectTypeList: POBJECT_TYPE_LIST, - ObjectTypeListLength: DWORD, - GenericMapping: PGENERIC_MAPPING, - PrivilegeSet: PPRIVILEGE_SET, - PrivilegeSetLength: LPDWORD, - GrantedAccessList: LPDWORD, - AccessStatusList: LPDWORD, - ) -> BOOL; - pub fn AccessCheckByTypeAndAuditAlarmW( - SubsystemName: LPCWSTR, - HandleId: LPVOID, - ObjectTypeName: LPWSTR, - ObjectName: LPCWSTR, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - PrincipalSelfSid: PSID, - DesiredAccess: DWORD, - AuditType: AUDIT_EVENT_TYPE, - Flags: DWORD, - ObjectTypeList: POBJECT_TYPE_LIST, - ObjectTypeListLength: DWORD, - GenericMapping: PGENERIC_MAPPING, - ObjectCreation: BOOL, - GrantedAccess: LPDWORD, - AccessStatus: LPBOOL, - pfGenerateOnClose: LPBOOL, - ) -> BOOL; - pub fn AccessCheckByTypeResultListAndAuditAlarmW( - SubsystemName: LPCWSTR, - HandleId: LPVOID, - ObjectTypeName: LPCWSTR, - ObjectName: LPCWSTR, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - PrincipalSelfSid: PSID, - DesiredAccess: DWORD, - AuditType: AUDIT_EVENT_TYPE, - Flags: DWORD, - ObjectTypeList: POBJECT_TYPE_LIST, - ObjectTypeListLength: DWORD, - GenericMapping: PGENERIC_MAPPING, - ObjectCreation: BOOL, - GrantedAccess: LPDWORD, - AccessStatusList: LPDWORD, - pfGenerateOnClose: LPBOOL, - ) -> BOOL; - pub fn AccessCheckByTypeResultListAndAuditAlarmByHandleW( - SubsystemName: LPCWSTR, - HandleId: LPVOID, - ClientToken: HANDLE, - ObjectTypeName: LPCWSTR, - ObjectName: LPCWSTR, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - PrincipalSelfSid: PSID, - DesiredAccess: DWORD, - AuditType: AUDIT_EVENT_TYPE, - Flags: DWORD, - ObjectTypeList: POBJECT_TYPE_LIST, - ObjectTypeListLength: DWORD, - GenericMapping: PGENERIC_MAPPING, - ObjectCreation: BOOL, - GrantedAccess: LPDWORD, - AccessStatusList: LPDWORD, - pfGenerateOnClose: LPBOOL, - ) -> BOOL; - pub fn AddAccessAllowedAce( - pAcl: PACL, - dwAceRevision: DWORD, - AccessMask: DWORD, - pSid: PSID, - ) -> BOOL; - pub fn AddAccessAllowedAceEx( - pAcl: PACL, - dwAceRevision: DWORD, - AceFlags: DWORD, - AccessMask: DWORD, - pSid: PSID, - ) -> BOOL; - pub fn AddAccessAllowedObjectAce( - pAcl: PACL, - dwAceRevision: DWORD, - AceFlags: DWORD, - AccessMask: DWORD, - ObjectTypeGuid: *mut GUID, - InheritedObjectTypeGuid: *mut GUID, - pSid: PSID, - ) -> BOOL; - pub fn AddAccessDeniedAce( - pAcl: PACL, - dwAceRevision: DWORD, - AccessMask: DWORD, - pSid: PSID, - ) -> BOOL; - pub fn AddAccessDeniedAceEx( - pAcl: PACL, - dwAceRevision: DWORD, - AceFlags: DWORD, - AccessMask: DWORD, - pSid: PSID, - ) -> BOOL; - pub fn AddAccessDeniedObjectAce( - pAcl: PACL, - dwAceRevision: DWORD, - AceFlags: DWORD, - AccessMask: DWORD, - ObjectTypeGuid: *mut GUID, - InheritedObjectTypeGuid: *mut GUID, - pSid: PSID, - ) -> BOOL; - pub fn AddAce( - pAcl: PACL, - dwAceRevision: DWORD, - dwStartingAceIndex: DWORD, - pAceList: LPVOID, - nAceListLength: DWORD, - ) -> BOOL; - pub fn AddAuditAccessAce( - pAcl: PACL, - dwAceRevision: DWORD, - dwAccessMask: DWORD, - pSid: PSID, - bAuditSuccess: BOOL, - bAuditFailure: BOOL, - ) -> BOOL; - pub fn AddAuditAccessAceEx( - pAcl: PACL, - dwAceRevision: DWORD, - AceFlags: DWORD, - dwAccessMask: DWORD, - pSid: PSID, - bAuditSuccess: BOOL, - bAuditFailure: BOOL, - ) -> BOOL; - pub fn AddAuditAccessObjectAce( - pAcl: PACL, - dwAceRevision: DWORD, - AceFlags: DWORD, - AccessMask: DWORD, - ObjectTypeGuid: *mut GUID, - InheritedObjectTypeGuid: *mut GUID, - pSid: PSID, - bAuditSuccess: BOOL, - bAuditFailure: BOOL, - ) -> BOOL; - pub fn AddMandatoryAce( - pAcl: PACL, - dwAceRevision: DWORD, - AceFlags: DWORD, - MandatoryPolicy: DWORD, - pLabelSid: PSID, - ) -> BOOL; - pub fn AddResourceAttributeAce( - pAcl: PACL, - dwAceRevision: DWORD, - AceFlags: DWORD, - AccessMask: DWORD, - pSid: PSID, - pAttributeInfo: PCLAIM_SECURITY_ATTRIBUTES_INFORMATION, - pReturnLength: PDWORD, - ) -> BOOL; - pub fn AddScopedPolicyIDAce( - pAcl: PACL, - dwAceRevision: DWORD, - AceFlags: DWORD, - AccessMask: DWORD, - pSid: PSID, - ) -> BOOL; - pub fn AdjustTokenGroups( - TokenHandle: HANDLE, - ResetToDefault: BOOL, - NewState: PTOKEN_GROUPS, - BufferLength: DWORD, - PreviousState: PTOKEN_GROUPS, - ReturnLength: PDWORD, - ) -> BOOL; - pub fn AdjustTokenPrivileges( - TokenHandle: HANDLE, - DisableAllPrivileges: BOOL, - NewState: PTOKEN_PRIVILEGES, - BufferLength: DWORD, - PreviousState: PTOKEN_PRIVILEGES, - ReturnLength: PDWORD, - ) -> BOOL; - pub fn AllocateAndInitializeSid( - pIdentifierAuthoirity: PSID_IDENTIFIER_AUTHORITY, - nSubAuthorityCount: BYTE, - dwSubAuthority0: DWORD, - dwSubAuthority1: DWORD, - dwSubAuthority2: DWORD, - dwSubAuthority3: DWORD, - dwSubAuthority4: DWORD, - dwSubAuthority5: DWORD, - dwSubAuthority6: DWORD, - dwSubAuthority7: DWORD, - pSid: *mut PSID, - ) -> BOOL; - pub fn AllocateLocallyUniqueId( - Luid: PLUID, - ) -> BOOL; - pub fn AreAllAccessesGranted( - GrantedAccess: DWORD, - DesiredAccess: DWORD, - ) -> BOOL; - pub fn AreAnyAccessesGranted( - GrantedAccess: DWORD, - DesiredAccess: DWORD, - ) -> BOOL; - pub fn CheckTokenMembership( - TokenHandle: HANDLE, - SidToCheck: PSID, - IsMember: PBOOL, - ) -> BOOL; - pub fn CheckTokenCapability( - TokenHandle: HANDLE, - CapabilitySidToCheck: PSID, - HasCapability: PBOOL, - ) -> BOOL; - pub fn GetAppContainerAce( - Acl: PACL, - StartingAceIndex: DWORD, - AppContainerAce: *mut PVOID, - AppContainerAceIndex: *mut DWORD, - ) -> BOOL; - pub fn CheckTokenMembershipEx( - TokenHandle: HANDLE, - SidToCheck: PSID, - Flags: DWORD, - IsMember: PBOOL, - ) -> BOOL; - pub fn ConvertToAutoInheritPrivateObjectSecurity( - ParentDescriptor: PSECURITY_DESCRIPTOR, - CurrentSecurityDescriptor: PSECURITY_DESCRIPTOR, - NewSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, - ObjectType: *mut GUID, - IsDirectoryObject: BOOLEAN, - GenericMapping: PGENERIC_MAPPING, - ) -> BOOL; - pub fn CopySid( - nDestinationSidLength: DWORD, - pDestinationSid: PSID, - pSourceSid: PSID, - ) -> BOOL; - pub fn CreatePrivateObjectSecurity( - ParentDescriptor: PSECURITY_DESCRIPTOR, - CreatorDescriptor: PSECURITY_DESCRIPTOR, - NewDescriptor: *mut PSECURITY_DESCRIPTOR, - IsDirectoryObject: BOOL, - Token: HANDLE, - GenericMapping: PGENERIC_MAPPING, - ) -> BOOL; - pub fn CreatePrivateObjectSecurityEx( - ParentDescriptor: PSECURITY_DESCRIPTOR, - CreatorDescriptor: PSECURITY_DESCRIPTOR, - NewSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, - ObjectType: *mut GUID, - IsContainerObject: BOOL, - AutoInheritFlags: ULONG, - Token: HANDLE, - GenericMapping: PGENERIC_MAPPING, - ) -> BOOL; - pub fn CreatePrivateObjectSecurityWithMultipleInheritance( - ParentDescriptor: PSECURITY_DESCRIPTOR, - CreatorDescriptor: PSECURITY_DESCRIPTOR, - NewSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, - ObjectTypes: *mut *mut GUID, - GuidCount: ULONG, - IsContainerObject: BOOL, - AutoInheritFlags: ULONG, - Token: HANDLE, - GenericMapping: PGENERIC_MAPPING, - ) -> BOOL; - pub fn CreateRestrictedToken( - ExistingTokenHandle: HANDLE, - Flags: DWORD, - DisableSidCount: DWORD, - SidsToDisable: PSID_AND_ATTRIBUTES, - DeletePrivilegeCount: DWORD, - PrivilegesToDelete: PLUID_AND_ATTRIBUTES, - RestrictedSidCount: DWORD, - SidsToRestrict: PSID_AND_ATTRIBUTES, - NewTokenHandle: PHANDLE, - ) -> BOOL; - pub fn CreateWellKnownSid( - WellKnownSidType: WELL_KNOWN_SID_TYPE, - DomainSid: PSID, - pSid: PSID, - cbSid: *mut DWORD, - ) -> BOOL; - pub fn EqualDomainSid( - pSid1: PSID, - pSid2: PSID, - pfEqual: *mut BOOL, - ) -> BOOL; - pub fn DeleteAce( - pAcl: PACL, - dwAceIndex: DWORD, - ) -> BOOL; - pub fn DestroyPrivateObjectSecurity( - ObjectDescriptor: *mut PSECURITY_DESCRIPTOR, - ) -> BOOL; - pub fn DuplicateToken( - ExistingTokenHandle: HANDLE, - ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, - DuplicateTokenHandle: PHANDLE, - ) -> BOOL; - pub fn DuplicateTokenEx( - hExistingToken: HANDLE, - dwDesiredAccess: DWORD, - lpTokenAttributes: LPSECURITY_ATTRIBUTES, - ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, - TokenType: TOKEN_TYPE, - phNewToken: PHANDLE, - ) -> BOOL; - pub fn EqualPrefixSid( - pSid1: PSID, - pSid2: PSID, - ) -> BOOL; - pub fn EqualSid( - pSid1: PSID, - pSid2: PSID, - ) -> BOOL; - pub fn FindFirstFreeAce( - pAcl: PACL, - pAce: *mut LPVOID, - ) -> BOOL; - pub fn FreeSid( - pSid: PSID, - ) -> PVOID; - pub fn GetAce( - pAcl: PACL, - dwAceIndex: DWORD, - pAce: *mut LPVOID, - ) -> BOOL; - pub fn GetAclInformation( - pAcl: PACL, - pAclInformtion: LPVOID, - nAclInformationLength: DWORD, - dwAclInformationClass: ACL_INFORMATION_CLASS, - ) -> BOOL; - pub fn GetFileSecurityW( - lpFileName: LPCWSTR, - RequestedInformation: SECURITY_INFORMATION, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - nLength: DWORD, - lpnLengthNeeded: LPDWORD, - ) -> BOOL; - pub fn GetKernelObjectSecurity( - Handle: HANDLE, - RequestedInformation: SECURITY_INFORMATION, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - nLength: DWORD, - lpnLengthNeeded: LPDWORD, - ) -> BOOL; - pub fn GetLengthSid( - pSid: PSID, - ) -> DWORD; - pub fn GetPrivateObjectSecurity( - ObjectDescriptor: PSECURITY_DESCRIPTOR, - SecurityInformation: SECURITY_INFORMATION, - ResultantDescriptor: PSECURITY_DESCRIPTOR, - DescriptorLength: DWORD, - ReturnLength: PDWORD, - ) -> BOOL; - pub fn GetSecurityDescriptorControl( - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - pControl: PSECURITY_DESCRIPTOR_CONTROL, - lpdwRevision: LPDWORD, - ) -> BOOL; - pub fn GetSecurityDescriptorDacl( - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - lpbDaclPresent: LPBOOL, - pDacl: *mut PACL, - lpbDaclDefaulted: LPBOOL, - ) -> BOOL; - pub fn GetSecurityDescriptorGroup( - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - pGroup: *mut PSID, - lpbGroupDefaulted: LPBOOL, - ) -> BOOL; - pub fn GetSecurityDescriptorLength( - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - ) -> DWORD; - pub fn GetSecurityDescriptorOwner( - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - pOwner: *mut PSID, - lpbOwnerDefaulted: LPBOOL, - ) -> BOOL; - pub fn GetSecurityDescriptorRMControl( - SecurityDescriptor: PSECURITY_DESCRIPTOR, - RMControl: PUCHAR, - ) -> DWORD; - pub fn GetSecurityDescriptorSacl( - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - lpbSaclPresent: LPBOOL, - pSacl: *mut PACL, - lpbSaclDefaulted: LPBOOL, - ) -> BOOL; - pub fn GetSidIdentifierAuthority( - pSid: PSID, - ) -> PSID_IDENTIFIER_AUTHORITY; - pub fn GetSidLengthRequired( - nSubAuthorityCount: UCHAR, - ) -> DWORD; - pub fn GetSidSubAuthority( - pSid: PSID, - nSubAuthority: DWORD, - ) -> PDWORD; - pub fn GetSidSubAuthorityCount( - pSid: PSID, - ) -> PUCHAR; - pub fn GetTokenInformation( - TokenHandle: HANDLE, - TokenInformationClass: TOKEN_INFORMATION_CLASS, - TokenInformation: LPVOID, - TokenInformationLength: DWORD, - ReturnLength: PDWORD, - ) -> BOOL; - pub fn GetWindowsAccountDomainSid( - pSid: PSID, - pDomainSid: PSID, - cbDomainSid: *mut DWORD, - ) -> BOOL; - pub fn ImpersonateAnonymousToken( - ThreadHandle: HANDLE, - ) -> BOOL; - pub fn ImpersonateLoggedOnUser( - hToken: HANDLE, - ) -> BOOL; - pub fn ImpersonateSelf( - ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, - ) -> BOOL; - pub fn InitializeAcl( - pAcl: PACL, - nAclLength: DWORD, - dwAclRevision: DWORD, - ) -> BOOL; - pub fn InitializeSecurityDescriptor( - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - dwRevision: DWORD, - ) -> BOOL; - pub fn InitializeSid( - Sid: PSID, - pIdentifierAuthority: PSID_IDENTIFIER_AUTHORITY, - nSubAuthorityCount: BYTE, - ) -> BOOL; - pub fn IsTokenRestricted( - TokenHandle: HANDLE, - ) -> BOOL; - pub fn IsValidAcl( - pAcl: PACL, - ) -> BOOL; - pub fn IsValidSecurityDescriptor( - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - ) -> BOOL; - pub fn IsValidSid( - pSid: PSID, - ) -> BOOL; - pub fn IsWellKnownSid( - pSid: PSID, - WellKnownSidType: WELL_KNOWN_SID_TYPE, - ) -> BOOL; - pub fn MakeAbsoluteSD( - pSelfRelativeSD: PSECURITY_DESCRIPTOR, - pAbsoluteSD: PSECURITY_DESCRIPTOR, - lpdwAbsoluteSDSize: LPDWORD, - pDacl: PACL, - lpdwDaclSize: LPDWORD, - pSacl: PACL, - lpdwSaclSize: LPDWORD, - pOwner: PSID, - lpdwOwnerSize: LPDWORD, - pPrimaryGroup: PSID, - lpdwPrimaryGroupSize: LPDWORD, - ) -> BOOL; - pub fn MakeSelfRelativeSD( - pAbsoluteSD: PSECURITY_DESCRIPTOR, - pSelfRelativeSD: PSECURITY_DESCRIPTOR, - lpdwBufferLength: LPDWORD, - ) -> BOOL; - pub fn MapGenericMask( - AccessMask: PDWORD, - GenericMapping: PGENERIC_MAPPING, - ); - pub fn ObjectCloseAuditAlarmW( - SubsystemName: LPCWSTR, - HandleId: LPVOID, - GenerateOnClose: BOOL, - ) -> BOOL; - pub fn ObjectDeleteAuditAlarmW( - SubsystemName: LPCWSTR, - HandleId: LPVOID, - GenerateOnClose: BOOL, - ) -> BOOL; - pub fn ObjectOpenAuditAlarmW( - SubsystemName: LPCWSTR, - HandleId: LPVOID, - ObjectTypeName: LPWSTR, - ObjectName: LPWSTR, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - ClientToken: HANDLE, - DesiredAccess: DWORD, - GrantedAccess: DWORD, - Privileges: PPRIVILEGE_SET, - ObjectCreation: BOOL, - AccessGranted: BOOL, - GenerateOnClose: LPBOOL, - ) -> BOOL; - pub fn ObjectPrivilegeAuditAlarmW( - SubsystemName: LPCWSTR, - HandleId: LPVOID, - ClientToken: HANDLE, - DesiredAccess: DWORD, - Privileges: PPRIVILEGE_SET, - AccessGranted: BOOL, - ) -> BOOL; - pub fn PrivilegeCheck( - ClientToken: HANDLE, - RequiredPrivileges: PPRIVILEGE_SET, - pfResult: LPBOOL, - ) -> BOOL; - pub fn PrivilegedServiceAuditAlarmW( - SubsystemName: LPCWSTR, - ServiceName: LPCWSTR, - ClientToken: HANDLE, - Privileges: PPRIVILEGE_SET, - AccessGranted: BOOL, - ) -> BOOL; - pub fn QuerySecurityAccessMask( - SecurityInformation: SECURITY_INFORMATION, - DesiredAccess: LPDWORD, - ); - pub fn RevertToSelf() -> BOOL; - pub fn SetAclInformation( - pAcl: PACL, - pAclInformation: LPVOID, - nAclInformationLength: DWORD, - dwAclInfomrationClass: ACL_INFORMATION_CLASS, - ) -> BOOL; - pub fn SetFileSecurityW( - lpFileName: LPCWSTR, - SecurityInformation: SECURITY_INFORMATION, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - ) -> BOOL; - pub fn SetKernelObjectSecurity( - Handle: HANDLE, - SecurityInformation: SECURITY_INFORMATION, - SecurityDescriptor: PSECURITY_DESCRIPTOR, - ) -> BOOL; - pub fn SetPrivateObjectSecurity( - SecurityInformation: SECURITY_INFORMATION, - ModificationDescriptor: PSECURITY_DESCRIPTOR, - ObjectsSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, - GenericMapping: PGENERIC_MAPPING, - Token: HANDLE, - ) -> BOOL; - pub fn SetPrivateObjectSecurityEx( - SecurityInformation: SECURITY_INFORMATION, - ModificationDescriptor: PSECURITY_DESCRIPTOR, - ObjectsSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, - AutoInheritFlags: ULONG, - GenericMapping: PGENERIC_MAPPING, - Token: HANDLE, - ) -> BOOL; - pub fn SetSecurityAccessMask( - SecurityInformation: SECURITY_INFORMATION, - DesiredAccess: LPDWORD, - ); - pub fn SetSecurityDescriptorControl( - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - ControlBitsOfInterest: SECURITY_DESCRIPTOR_CONTROL, - ControlBitsToSet: SECURITY_DESCRIPTOR_CONTROL, - ) -> BOOL; - pub fn SetSecurityDescriptorDacl( - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - bDaclPresent: BOOL, - pDacl: PACL, - bDaclDefaulted: BOOL, - ) -> BOOL; - pub fn SetSecurityDescriptorGroup( - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - pGroup: PSID, - bGroupDefaulted: BOOL, - ) -> BOOL; - pub fn SetSecurityDescriptorOwner( - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - pOwner: PSID, - bOwnerDefaulted: BOOL, - ) -> BOOL; - pub fn SetSecurityDescriptorRMControl( - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - RMControl: PUCHAR, - ) -> DWORD; - pub fn SetSecurityDescriptorSacl( - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - bSaclPresent: BOOL, - pSacl: PACL, - bSaclDefaulted: BOOL, - ) -> BOOL; - pub fn SetTokenInformation( - TokenHandle: HANDLE, - TokenInformationClass: TOKEN_INFORMATION_CLASS, - TokenInformation: LPVOID, - TokenInformationLength: DWORD, - ) -> BOOL; - pub fn SetCachedSigningLevel( - SourceFiles: PHANDLE, - SourceFileCount: ULONG, - Flags: ULONG, - TargetFile: HANDLE, - ) -> BOOL; - pub fn GetCachedSigningLevel( - File: HANDLE, - Flags: PULONG, - SigningLevel: PULONG, - Thumbprint: PUCHAR, - ThumbprintSize: PULONG, - ThumbprintAlgorithm: PULONG, - ) -> BOOL; - pub fn CveEventWrite( - CveId: PCWSTR, - AdditionalDetails: PCWSTR, - ) -> LONG; - pub fn DeriveCapabilitySidsFromName( - CapName: LPCWSTR, - CapabilityGroupSids: *mut *mut PSID, - CapabilityGroupSidCount: *mut DWORD, - CapabilitySids: *mut *mut PSID, - CapabilitySidCount: *mut DWORD, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/servprov.rs b/vendor/registry-40351f815f426200/winapi/src/um/servprov.rs deleted file mode 100644 index aeb382dbc..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/servprov.rs +++ /dev/null @@ -1,23 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_void; -use shared::guiddef::{REFGUID, REFIID}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::HRESULT; -pub type LPSERVICEPROVIDER = *mut IServiceProvider; -RIDL!{#[uuid(0x6d5140c1, 0x7436, 0x11ce, 0x80, 0x34, 0x00, 0xaa, 0x00, 0x60, 0x09, 0xfa)] -interface IServiceProvider(IServiceProviderVtbl): IUnknown(IUnknownVtbl) { - fn QueryService( - guidService: REFGUID, - riid: REFIID, - ppvObject: *mut *mut c_void, - ) -> HRESULT, - fn RemoteQueryService( - guidService: REFGUID, - riid: REFIID, - ppvObject: *mut *mut IUnknown, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/setupapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/setupapi.rs deleted file mode 100644 index d716fc56c..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/setupapi.rs +++ /dev/null @@ -1,3571 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Public header file for Windows NT Setup and Device Installer services Dll. -use ctypes::c_int; -use shared::basetsd::{DWORD_PTR, UINT_PTR, ULONG_PTR}; -use shared::devpropdef::{DEVPROPKEY, DEVPROPTYPE}; -use shared::guiddef::{GUID, LPGUID}; -use shared::minwindef::{ - BOOL, BYTE, DWORD, FILETIME, HINSTANCE, HKEY, INT, LPARAM, LPCVOID, LPDWORD, MAX_PATH, PBOOL, - PBYTE, PDWORD, PINT, PUINT, UINT, USHORT, WORD, -}; -use shared::windef::{HDC, HICON, HWND, RECT}; -use um::commctrl::HIMAGELIST; -use um::prsht::{HPROPSHEETPAGE, LPPROPSHEETHEADERA, LPPROPSHEETHEADERW}; -use um::spapidef::SP_LOG_TOKEN; -use um::winnt::{ - ANYSIZE_ARRAY, APPLICATION_ERROR_MASK, CHAR, DWORDLONG, ERROR_SEVERITY_ERROR, HANDLE, LONG, - LONGLONG, LPCSTR, LPCWSTR, PCSTR, PCWSTR, PSTR, PVOID, PWSTR, WCHAR, -}; -use um::winreg::REGSAM; -pub const LINE_LEN: usize = 256; -pub const MAX_INF_STRING_LENGTH: usize = 4096; -pub const MAX_INF_SECTION_NAME_LENGTH: usize = 255; -pub const MAX_TITLE_LEN: usize = 60; -pub const MAX_INSTRUCTION_LEN: usize = 256; -pub const MAX_LABEL_LEN: usize = 30; -pub const MAX_SERVICE_NAME_LEN: usize = 256; -pub const MAX_SUBTITLE_LEN: usize = 256; -pub const SP_MAX_MACHINENAME_LENGTH: usize = MAX_PATH + 3; -pub type HINF = PVOID; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct INFCONTEXT { - Inf: PVOID, - CurrentInf: PVOID, - Section: UINT, - Line: UINT, -}} -pub type PINFCONTEXT = *mut INFCONTEXT; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_INF_INFORMATION { - InfStyle: DWORD, - InfCount: DWORD, - VersionData: [BYTE; ANYSIZE_ARRAY], -}} -pub type PSP_INF_INFORMATION = *mut SP_INF_INFORMATION; -UNION!{#[cfg_attr(target_arch = "x86", repr(packed))] union SP_ALTPLATFORM_INFO_V3_u { - [u16; 1], - Reserved Reserved_mut: WORD, - Flags Flags_mut: WORD, -}} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_ALTPLATFORM_INFO_V3 { - cbSize: DWORD, - Platform: DWORD, - MajorVersion: DWORD, - MinorVersion: DWORD, - ProcessorArchitecture: WORD, - u: SP_ALTPLATFORM_INFO_V3_u, - FirstValidatedMajorVersion: DWORD, - FirstValidatedMinorVersion: DWORD, - ProductType: BYTE, - SuiteMask: WORD, - BuildNumber: DWORD, -}} -pub type PSP_ALTPLATFORM_INFO_V3 = *mut SP_ALTPLATFORM_INFO_V3; -UNION!{#[cfg_attr(target_arch = "x86", repr(packed))] union SP_ALTPLATFORM_INFO_V2_u { - [u16; 1], - Reserved Reserved_mut: WORD, - Flags Flags_mut: WORD, -}} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_ALTPLATFORM_INFO_V2 { - cbSize: DWORD, - Platform: DWORD, - MajorVersion: DWORD, - MinorVersion: DWORD, - ProcessorArchitecture: WORD, - u: SP_ALTPLATFORM_INFO_V2_u, - FirstValidatedMajorVersion: DWORD, - FirstValidatedMinorVersion: DWORD, -}} -pub type PSP_ALTPLATFORM_INFO_V2 = *mut SP_ALTPLATFORM_INFO_V2; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_ALTPLATFORM_INFO_V1 { - cbSize: DWORD, - Platform: DWORD, - MajorVersion: DWORD, - MinorVersion: DWORD, - ProcessorArchitecture: WORD, - Reserved: WORD, -}} -pub type PSP_ALTPLATFORM_INFO_V1 = *mut SP_ALTPLATFORM_INFO_V1; -pub type SP_ALTPLATFORM_INFO = SP_ALTPLATFORM_INFO_V2; -pub type PSP_ALTPLATFORM_INFO = PSP_ALTPLATFORM_INFO_V2; -pub const SP_ALTPLATFORM_FLAGS_VERSION_RANGE: WORD = 0x0001; -pub const SP_ALTPLATFORM_FLAGS_SUITE_MASK: WORD = 0x0002; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_ORIGINAL_FILE_INFO_A { - cbSize: DWORD, - OriginalInfName: [CHAR; MAX_PATH], - OriginalCatalogName: [CHAR; MAX_PATH], -}} -pub type PSP_ORIGINAL_FILE_INFO_A = *mut SP_ORIGINAL_FILE_INFO_A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_ORIGINAL_FILE_INFO_W { - cbSize: DWORD, - OriginalInfName: [WCHAR; MAX_PATH], - OriginalCatalogName: [WCHAR; MAX_PATH], -}} -pub type PSP_ORIGINAL_FILE_INFO_W = *mut SP_ORIGINAL_FILE_INFO_W; -pub const INF_STYLE_NONE: DWORD = 0x00000000; -pub const INF_STYLE_OLDNT: DWORD = 0x00000001; -pub const INF_STYLE_WIN4: DWORD = 0x00000002; -pub const INF_STYLE_CACHE_ENABLE: DWORD = 0x00000010; -pub const INF_STYLE_CACHE_DISABLE: DWORD = 0x00000020; -pub const INF_STYLE_CACHE_IGNORE: DWORD = 0x00000040; -pub const DIRID_ABSOLUTE: DWORD = -1i32 as u32; -pub const DIRID_ABSOLUTE_16BIT: DWORD = 0xffff; -pub const DIRID_NULL: DWORD = 0; -pub const DIRID_SRCPATH: DWORD = 1; -pub const DIRID_WINDOWS: DWORD = 10; -pub const DIRID_SYSTEM: DWORD = 11; -pub const DIRID_DRIVERS: DWORD = 12; -pub const DIRID_IOSUBSYS: DWORD = DIRID_DRIVERS; -pub const DIRID_DRIVER_STORE: DWORD = 13; -pub const DIRID_INF: DWORD = 17; -pub const DIRID_HELP: DWORD = 18; -pub const DIRID_FONTS: DWORD = 20; -pub const DIRID_VIEWERS: DWORD = 21; -pub const DIRID_COLOR: DWORD = 23; -pub const DIRID_APPS: DWORD = 24; -pub const DIRID_SHARED: DWORD = 25; -pub const DIRID_BOOT: DWORD = 30; -pub const DIRID_SYSTEM16: DWORD = 50; -pub const DIRID_SPOOL: DWORD = 51; -pub const DIRID_SPOOLDRIVERS: DWORD = 52; -pub const DIRID_USERPROFILE: DWORD = 53; -pub const DIRID_LOADER: DWORD = 54; -pub const DIRID_PRINTPROCESSOR: DWORD = 55; -pub const DIRID_DEFAULT: DWORD = DIRID_SYSTEM; -pub const DIRID_COMMON_STARTMENU: DWORD = 16406; -pub const DIRID_COMMON_PROGRAMS: DWORD = 16407; -pub const DIRID_COMMON_STARTUP: DWORD = 16408; -pub const DIRID_COMMON_DESKTOPDIRECTORY: DWORD = 16409; -pub const DIRID_COMMON_FAVORITES: DWORD = 16415; -pub const DIRID_COMMON_APPDATA: DWORD = 16419; -pub const DIRID_PROGRAM_FILES: DWORD = 16422; -pub const DIRID_SYSTEM_X86: DWORD = 16425; -pub const DIRID_PROGRAM_FILES_X86: DWORD = 16426; -pub const DIRID_PROGRAM_FILES_COMMON: DWORD = 16427; -pub const DIRID_PROGRAM_FILES_COMMONX86: DWORD = 16428; -pub const DIRID_COMMON_TEMPLATES: DWORD = 16429; -pub const DIRID_COMMON_DOCUMENTS: DWORD = 16430; -pub const DIRID_USER: DWORD = 0x8000; -FN!{stdcall PSP_FILE_CALLBACK_A( - Context: PVOID, - Notification: UINT, - Param1: UINT_PTR, - Param2: UINT_PTR, -) -> UINT} -FN!{stdcall PSP_FILE_CALLBACK_W( - Context: PVOID, - Notification: UINT, - Param1: UINT_PTR, - Param2: UINT_PTR, -) -> UINT} -pub const SPFILENOTIFY_STARTQUEUE: UINT = 0x00000001; -pub const SPFILENOTIFY_ENDQUEUE: UINT = 0x00000002; -pub const SPFILENOTIFY_STARTSUBQUEUE: UINT = 0x00000003; -pub const SPFILENOTIFY_ENDSUBQUEUE: UINT = 0x00000004; -pub const SPFILENOTIFY_STARTDELETE: UINT = 0x00000005; -pub const SPFILENOTIFY_ENDDELETE: UINT = 0x00000006; -pub const SPFILENOTIFY_DELETEERROR: UINT = 0x00000007; -pub const SPFILENOTIFY_STARTRENAME: UINT = 0x00000008; -pub const SPFILENOTIFY_ENDRENAME: UINT = 0x00000009; -pub const SPFILENOTIFY_RENAMEERROR: UINT = 0x0000000a; -pub const SPFILENOTIFY_STARTCOPY: UINT = 0x0000000b; -pub const SPFILENOTIFY_ENDCOPY: UINT = 0x0000000c; -pub const SPFILENOTIFY_COPYERROR: UINT = 0x0000000d; -pub const SPFILENOTIFY_NEEDMEDIA: UINT = 0x0000000e; -pub const SPFILENOTIFY_QUEUESCAN: UINT = 0x0000000f; -pub const SPFILENOTIFY_CABINETINFO: UINT = 0x00000010; -pub const SPFILENOTIFY_FILEINCABINET: UINT = 0x00000011; -pub const SPFILENOTIFY_NEEDNEWCABINET: UINT = 0x00000012; -pub const SPFILENOTIFY_FILEEXTRACTED: UINT = 0x00000013; -pub const SPFILENOTIFY_FILEOPDELAYED: UINT = 0x00000014; -pub const SPFILENOTIFY_STARTBACKUP: UINT = 0x00000015; -pub const SPFILENOTIFY_BACKUPERROR: UINT = 0x00000016; -pub const SPFILENOTIFY_ENDBACKUP: UINT = 0x00000017; -pub const SPFILENOTIFY_QUEUESCAN_EX: UINT = 0x00000018; -pub const SPFILENOTIFY_STARTREGISTRATION: UINT = 0x00000019; -pub const SPFILENOTIFY_ENDREGISTRATION: UINT = 0x00000020; -pub const SPFILENOTIFY_QUEUESCAN_SIGNERINFO: UINT = 0x00000040; -pub const SPFILENOTIFY_LANGMISMATCH: UINT = 0x00010000; -pub const SPFILENOTIFY_TARGETEXISTS: UINT = 0x00020000; -pub const SPFILENOTIFY_TARGETNEWER: UINT = 0x00040000; -pub const FILEOP_COPY: UINT = 0; -pub const FILEOP_RENAME: UINT = 1; -pub const FILEOP_DELETE: UINT = 2; -pub const FILEOP_BACKUP: UINT = 3; -pub const FILEOP_ABORT: UINT = 0; -pub const FILEOP_DOIT: UINT = 1; -pub const FILEOP_SKIP: UINT = 2; -pub const FILEOP_RETRY: UINT = FILEOP_DOIT; -pub const FILEOP_NEWPATH: UINT = 4; -pub const COPYFLG_WARN_IF_SKIP: UINT = 0x00000001; -pub const COPYFLG_NOSKIP: UINT = 0x00000002; -pub const COPYFLG_NOVERSIONCHECK: UINT = 0x00000004; -pub const COPYFLG_FORCE_FILE_IN_USE: UINT = 0x00000008; -pub const COPYFLG_NO_OVERWRITE: UINT = 0x00000010; -pub const COPYFLG_NO_VERSION_DIALOG: UINT = 0x00000020; -pub const COPYFLG_OVERWRITE_OLDER_ONLY: UINT = 0x00000040; -pub const COPYFLG_PROTECTED_WINDOWS_DRIVER_FILE: UINT = 0x00000100; -pub const COPYFLG_REPLACEONLY: UINT = 0x00000400; -pub const COPYFLG_NODECOMP: UINT = 0x00000800; -pub const COPYFLG_REPLACE_BOOT_FILE: UINT = 0x00001000; -pub const COPYFLG_NOPRUNE: UINT = 0x00002000; -pub const COPYFLG_IN_USE_TRY_RENAME: UINT = 0x00004000; -pub const DELFLG_IN_USE: UINT = 0x00000001; -pub const DELFLG_IN_USE1: UINT = 0x00010000; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct FILEPATHS_A { - Target: PCSTR, - Source: PCSTR, - Win32Error: UINT, - Flags: DWORD, -}} -pub type PFILEPATHS_A = *mut FILEPATHS_A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct FILEPATHS_W { - Target: PCWSTR, - Source: PCWSTR, - Win32Error: UINT, - Flags: DWORD, -}} -pub type PFILEPATHS_W = *mut FILEPATHS_W; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct FILEPATHS_SIGNERINFO_A { - Target: PCSTR, - Source: PCSTR, - Win32Error: UINT, - Flags: DWORD, - DigitalSigner: PCSTR, - Version: PCSTR, - CatalogFile: PCSTR, -}} -pub type PFILEPATHS_SIGNERINFO_A = *mut FILEPATHS_SIGNERINFO_A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct FILEPATHS_SIGNERINFO_W { - Target: PCWSTR, - Source: PCWSTR, - Win32Error: UINT, - Flags: DWORD, - DigitalSigner: PCWSTR, - Version: PCWSTR, - CatalogFile: PCWSTR, -}} -pub type PFILEPATHS_SIGNERINFO_W = *mut FILEPATHS_SIGNERINFO_W; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SOURCE_MEDIA_A { - Reserved: PCSTR, - Tagfile: PCSTR, - Description: PCSTR, - SourcePath: PCSTR, - SourceFile: PCSTR, - Flags: DWORD, -}} -pub type PSOURCE_MEDIA_A = *mut SOURCE_MEDIA_A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SOURCE_MEDIA_W { - Reserved: PCWSTR, - Tagfile: PCWSTR, - Description: PCWSTR, - SourcePath: PCWSTR, - SourceFile: PCWSTR, - Flags: DWORD, -}} -pub type PSOURCE_MEDIA_W = *mut SOURCE_MEDIA_W; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct CABINET_INFO_A { - CabinetPath: PCSTR, - CabinetFile: PCSTR, - DiskName: PCSTR, - SetId: USHORT, - CabinetNumber: USHORT, -}} -pub type PCABINET_INFO_A = *mut CABINET_INFO_A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct CABINET_INFO_W { - CabinetPath: PCWSTR, - CabinetFile: PCWSTR, - DiskName: PCWSTR, - SetId: USHORT, - CabinetNumber: USHORT, -}} -pub type PCABINET_INFO_W = *mut CABINET_INFO_W; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct FILE_IN_CABINET_INFO_A { - NameInCabinet: PCSTR, - FileSize: DWORD, - Win32Error: DWORD, - DosDate: WORD, - DosTime: WORD, - DosAttribs: WORD, - FullTargetName: [CHAR; MAX_PATH], -}} -pub type PFILE_IN_CABINET_INFO_A = *mut FILE_IN_CABINET_INFO_A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct FILE_IN_CABINET_INFO_W { - NameInCabinet: PCWSTR, - FileSize: DWORD, - Win32Error: DWORD, - DosDate: WORD, - DosTime: WORD, - DosAttribs: WORD, - FullTargetName: [WCHAR; MAX_PATH], -}} -pub type PFILE_IN_CABINET_INFO_W = *mut FILE_IN_CABINET_INFO_W; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_REGISTER_CONTROL_STATUSA { - cbSize: DWORD, - FileName: PCSTR, - Win32Error: DWORD, - FailureCode: DWORD, -}} -pub type PSP_REGISTER_CONTROL_STATUSA = *mut SP_REGISTER_CONTROL_STATUSA; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_REGISTER_CONTROL_STATUSW { - cbSize: DWORD, - FileName: PCWSTR, - Win32Error: DWORD, - FailureCode: DWORD, -}} -pub type PSP_REGISTER_CONTROL_STATUSW = *mut SP_REGISTER_CONTROL_STATUSW; -pub const SPREG_SUCCESS: DWORD = 0x00000000; -pub const SPREG_LOADLIBRARY: DWORD = 0x00000001; -pub const SPREG_GETPROCADDR: DWORD = 0x00000002; -pub const SPREG_REGSVR: DWORD = 0x00000003; -pub const SPREG_DLLINSTALL: DWORD = 0x00000004; -pub const SPREG_TIMEOUT: DWORD = 0x00000005; -pub const SPREG_UNKNOWN: DWORD = 0xFFFFFFFF; -pub type HSPFILEQ = PVOID; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_FILE_COPY_PARAMS_A { - cbSize: DWORD, - QueueHandle: HSPFILEQ, - SourceRootPath: PCSTR, - SourcePath: PCSTR, - SourceFilename: PCSTR, - SourceDescription: PCSTR, - SourceTagfile: PCSTR, - TargetDirectory: PCSTR, - TargetFilename: PCSTR, - CopyStyle: DWORD, - LayoutInf: HINF, - SecurityDescriptor: PCSTR, -}} -pub type PSP_FILE_COPY_PARAMS_A = *mut SP_FILE_COPY_PARAMS_A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_FILE_COPY_PARAMS_W { - cbSize: DWORD, - QueueHandle: HSPFILEQ, - SourceRootPath: PCWSTR, - SourcePath: PCWSTR, - SourceFilename: PCWSTR, - SourceDescription: PCWSTR, - SourceTagfile: PCWSTR, - TargetDirectory: PCWSTR, - TargetFilename: PCWSTR, - CopyStyle: DWORD, - LayoutInf: HINF, - SecurityDescriptor: PCWSTR, -}} -pub type PSP_FILE_COPY_PARAMS_W = *mut SP_FILE_COPY_PARAMS_W; -pub type HDSKSPC = PVOID; -pub type HDEVINFO = PVOID; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_DEVINFO_DATA { - cbSize: DWORD, - ClassGuid: GUID, - DevInst: DWORD, - Reserved: ULONG_PTR, -}} -pub type PSP_DEVINFO_DATA = *mut SP_DEVINFO_DATA; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_DEVICE_INTERFACE_DATA { - cbSize: DWORD, - InterfaceClassGuid: GUID, - Flags: DWORD, - Reserved: ULONG_PTR, -}} -pub type PSP_DEVICE_INTERFACE_DATA = *mut SP_DEVICE_INTERFACE_DATA; -pub const SPINT_ACTIVE: DWORD = 0x00000001; -pub const SPINT_DEFAULT: DWORD = 0x00000002; -pub const SPINT_REMOVED: DWORD = 0x00000004; -pub type SP_INTERFACE_DEVICE_DATA = SP_DEVICE_INTERFACE_DATA; -pub type PSP_INTERFACE_DEVICE_DATA = PSP_DEVICE_INTERFACE_DATA; -pub const SPID_ACTIVE: DWORD = SPINT_ACTIVE; -pub const SPID_DEFAULT: DWORD = SPINT_DEFAULT; -pub const SPID_REMOVED: DWORD = SPINT_REMOVED; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_DEVICE_INTERFACE_DETAIL_DATA_A { - cbSize: DWORD, - DevicePath: [CHAR; ANYSIZE_ARRAY], -}} -pub type PSP_DEVICE_INTERFACE_DETAIL_DATA_A = *mut SP_DEVICE_INTERFACE_DETAIL_DATA_A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_DEVICE_INTERFACE_DETAIL_DATA_W { - cbSize: DWORD, - DevicePath: [WCHAR; ANYSIZE_ARRAY], -}} -pub type PSP_DEVICE_INTERFACE_DETAIL_DATA_W = *mut SP_DEVICE_INTERFACE_DETAIL_DATA_W; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_DEVINFO_LIST_DETAIL_DATA_A { - cbSize: DWORD, - ClassGuid: GUID, - RemoteMachineHandle: HANDLE, - RemoteMachineName: [CHAR; SP_MAX_MACHINENAME_LENGTH], -}} -pub type PSP_DEVINFO_LIST_DETAIL_DATA_A = *mut SP_DEVINFO_LIST_DETAIL_DATA_A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_DEVINFO_LIST_DETAIL_DATA_W { - cbSize: DWORD, - ClassGuid: GUID, - RemoteMachineHandle: HANDLE, - RemoteMachineName: [WCHAR; SP_MAX_MACHINENAME_LENGTH], -}} -pub type PSP_DEVINFO_LIST_DETAIL_DATA_W = *mut SP_DEVINFO_LIST_DETAIL_DATA_W; -pub const DIF_SELECTDEVICE: DI_FUNCTION = 0x00000001; -pub const DIF_INSTALLDEVICE: DI_FUNCTION = 0x00000002; -pub const DIF_ASSIGNRESOURCES: DI_FUNCTION = 0x00000003; -pub const DIF_PROPERTIES: DI_FUNCTION = 0x00000004; -pub const DIF_REMOVE: DI_FUNCTION = 0x00000005; -pub const DIF_FIRSTTIMESETUP: DI_FUNCTION = 0x00000006; -pub const DIF_FOUNDDEVICE: DI_FUNCTION = 0x00000007; -pub const DIF_SELECTCLASSDRIVERS: DI_FUNCTION = 0x00000008; -pub const DIF_VALIDATECLASSDRIVERS: DI_FUNCTION = 0x00000009; -pub const DIF_INSTALLCLASSDRIVERS: DI_FUNCTION = 0x0000000A; -pub const DIF_CALCDISKSPACE: DI_FUNCTION = 0x0000000B; -pub const DIF_DESTROYPRIVATEDATA: DI_FUNCTION = 0x0000000C; -pub const DIF_VALIDATEDRIVER: DI_FUNCTION = 0x0000000D; -pub const DIF_DETECT: DI_FUNCTION = 0x0000000F; -pub const DIF_INSTALLWIZARD: DI_FUNCTION = 0x00000010; -pub const DIF_DESTROYWIZARDDATA: DI_FUNCTION = 0x00000011; -pub const DIF_PROPERTYCHANGE: DI_FUNCTION = 0x00000012; -pub const DIF_ENABLECLASS: DI_FUNCTION = 0x00000013; -pub const DIF_DETECTVERIFY: DI_FUNCTION = 0x00000014; -pub const DIF_INSTALLDEVICEFILES: DI_FUNCTION = 0x00000015; -pub const DIF_UNREMOVE: DI_FUNCTION = 0x00000016; -pub const DIF_SELECTBESTCOMPATDRV: DI_FUNCTION = 0x00000017; -pub const DIF_ALLOW_INSTALL: DI_FUNCTION = 0x00000018; -pub const DIF_REGISTERDEVICE: DI_FUNCTION = 0x00000019; -pub const DIF_NEWDEVICEWIZARD_PRESELECT: DI_FUNCTION = 0x0000001A; -pub const DIF_NEWDEVICEWIZARD_SELECT: DI_FUNCTION = 0x0000001B; -pub const DIF_NEWDEVICEWIZARD_PREANALYZE: DI_FUNCTION = 0x0000001C; -pub const DIF_NEWDEVICEWIZARD_POSTANALYZE: DI_FUNCTION = 0x0000001D; -pub const DIF_NEWDEVICEWIZARD_FINISHINSTALL: DI_FUNCTION = 0x0000001E; -pub const DIF_UNUSED1: DI_FUNCTION = 0x0000001F; -pub const DIF_INSTALLINTERFACES: DI_FUNCTION = 0x00000020; -pub const DIF_DETECTCANCEL: DI_FUNCTION = 0x00000021; -pub const DIF_REGISTER_COINSTALLERS: DI_FUNCTION = 0x00000022; -pub const DIF_ADDPROPERTYPAGE_ADVANCED: DI_FUNCTION = 0x00000023; -pub const DIF_ADDPROPERTYPAGE_BASIC: DI_FUNCTION = 0x00000024; -pub const DIF_RESERVED1: DI_FUNCTION = 0x00000025; -pub const DIF_TROUBLESHOOTER: DI_FUNCTION = 0x00000026; -pub const DIF_POWERMESSAGEWAKE: DI_FUNCTION = 0x00000027; -pub const DIF_ADDREMOTEPROPERTYPAGE_ADVANCED: DI_FUNCTION = 0x00000028; -pub const DIF_UPDATEDRIVER_UI: DI_FUNCTION = 0x00000029; -pub const DIF_FINISHINSTALL_ACTION: DI_FUNCTION = 0x0000002A; -pub const DIF_RESERVED2: DI_FUNCTION = 0x00000030; -pub const DIF_MOVEDEVICE: DI_FUNCTION = 0x0000000E; -pub type DI_FUNCTION = UINT; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_DEVINSTALL_PARAMS_A { - cbSize: DWORD, - Flags: DWORD, - FlagsEx: DWORD, - hwndParent: HWND, - InstallMsgHandler: PSP_FILE_CALLBACK_A, - InstallMsgHandlerContext: PVOID, - FileQueue: HSPFILEQ, - ClassInstallReserved: ULONG_PTR, - Reserved: DWORD, - DriverPath: [CHAR; MAX_PATH], -}} -pub type PSP_DEVINSTALL_PARAMS_A = *mut SP_DEVINSTALL_PARAMS_A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_DEVINSTALL_PARAMS_W { - cbSize: DWORD, - Flags: DWORD, - FlagsEx: DWORD, - hwndParent: HWND, - InstallMsgHandler: PSP_FILE_CALLBACK_W, - InstallMsgHandlerContext: PVOID, - FileQueue: HSPFILEQ, - ClassInstallReserved: ULONG_PTR, - Reserved: DWORD, - DriverPath: [WCHAR; MAX_PATH], -}} -pub type PSP_DEVINSTALL_PARAMS_W = *mut SP_DEVINSTALL_PARAMS_W; -pub const DI_SHOWOEM: DWORD = 0x00000001; -pub const DI_SHOWCOMPAT: DWORD = 0x00000002; -pub const DI_SHOWCLASS: DWORD = 0x00000004; -pub const DI_SHOWALL: DWORD = 0x00000007; -pub const DI_NOVCP: DWORD = 0x00000008; -pub const DI_DIDCOMPAT: DWORD = 0x00000010; -pub const DI_DIDCLASS: DWORD = 0x00000020; -pub const DI_AUTOASSIGNRES: DWORD = 0x00000040; -pub const DI_NEEDRESTART: DWORD = 0x00000080; -pub const DI_NEEDREBOOT: DWORD = 0x00000100; -pub const DI_NOBROWSE: DWORD = 0x00000200; -pub const DI_MULTMFGS: DWORD = 0x00000400; -pub const DI_DISABLED: DWORD = 0x00000800; -pub const DI_GENERALPAGE_ADDED: DWORD = 0x00001000; -pub const DI_RESOURCEPAGE_ADDED: DWORD = 0x00002000; -pub const DI_PROPERTIES_CHANGE: DWORD = 0x00004000; -pub const DI_INF_IS_SORTED: DWORD = 0x00008000; -pub const DI_ENUMSINGLEINF: DWORD = 0x00010000; -pub const DI_DONOTCALLCONFIGMG: DWORD = 0x00020000; -pub const DI_INSTALLDISABLED: DWORD = 0x00040000; -pub const DI_COMPAT_FROM_CLASS: DWORD = 0x00080000; -pub const DI_CLASSINSTALLPARAMS: DWORD = 0x00100000; -pub const DI_NODI_DEFAULTACTION: DWORD = 0x00200000; -pub const DI_QUIETINSTALL: DWORD = 0x00800000; -pub const DI_NOFILECOPY: DWORD = 0x01000000; -pub const DI_FORCECOPY: DWORD = 0x02000000; -pub const DI_DRIVERPAGE_ADDED: DWORD = 0x04000000; -pub const DI_USECI_SELECTSTRINGS: DWORD = 0x08000000; -pub const DI_OVERRIDE_INFFLAGS: DWORD = 0x10000000; -pub const DI_PROPS_NOCHANGEUSAGE: DWORD = 0x20000000; -pub const DI_NOSELECTICONS: DWORD = 0x40000000; -pub const DI_NOWRITE_IDS: DWORD = 0x80000000; -pub const DI_FLAGSEX_RESERVED2: DWORD = 0x00000001; -pub const DI_FLAGSEX_RESERVED3: DWORD = 0x00000002; -pub const DI_FLAGSEX_CI_FAILED: DWORD = 0x00000004; -pub const DI_FLAGSEX_FINISHINSTALL_ACTION: DWORD = 0x00000008; -pub const DI_FLAGSEX_DIDINFOLIST: DWORD = 0x00000010; -pub const DI_FLAGSEX_DIDCOMPATINFO: DWORD = 0x00000020; -pub const DI_FLAGSEX_FILTERCLASSES: DWORD = 0x00000040; -pub const DI_FLAGSEX_SETFAILEDINSTALL: DWORD = 0x00000080; -pub const DI_FLAGSEX_DEVICECHANGE: DWORD = 0x00000100; -pub const DI_FLAGSEX_ALWAYSWRITEIDS: DWORD = 0x00000200; -pub const DI_FLAGSEX_PROPCHANGE_PENDING: DWORD = 0x00000400; -pub const DI_FLAGSEX_ALLOWEXCLUDEDDRVS: DWORD = 0x00000800; -pub const DI_FLAGSEX_NOUIONQUERYREMOVE: DWORD = 0x00001000; -pub const DI_FLAGSEX_USECLASSFORCOMPAT: DWORD = 0x00002000; -pub const DI_FLAGSEX_RESERVED4: DWORD = 0x00004000; -pub const DI_FLAGSEX_NO_DRVREG_MODIFY: DWORD = 0x00008000; -pub const DI_FLAGSEX_IN_SYSTEM_SETUP: DWORD = 0x00010000; -pub const DI_FLAGSEX_INET_DRIVER: DWORD = 0x00020000; -pub const DI_FLAGSEX_APPENDDRIVERLIST: DWORD = 0x00040000; -pub const DI_FLAGSEX_PREINSTALLBACKUP: DWORD = 0x00080000; -pub const DI_FLAGSEX_BACKUPONREPLACE: DWORD = 0x00100000; -pub const DI_FLAGSEX_DRIVERLIST_FROM_URL: DWORD = 0x00200000; -pub const DI_FLAGSEX_RESERVED1: DWORD = 0x00400000; -pub const DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS: DWORD = 0x00800000; -pub const DI_FLAGSEX_POWERPAGE_ADDED: DWORD = 0x01000000; -pub const DI_FLAGSEX_FILTERSIMILARDRIVERS: DWORD = 0x02000000; -pub const DI_FLAGSEX_INSTALLEDDRIVER: DWORD = 0x04000000; -pub const DI_FLAGSEX_NO_CLASSLIST_NODE_MERGE: DWORD = 0x08000000; -pub const DI_FLAGSEX_ALTPLATFORM_DRVSEARCH: DWORD = 0x10000000; -pub const DI_FLAGSEX_RESTART_DEVICE_ONLY: DWORD = 0x20000000; -pub const DI_FLAGSEX_RECURSIVESEARCH: DWORD = 0x40000000; -pub const DI_FLAGSEX_SEARCH_PUBLISHED_INFS: DWORD = 0x80000000; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_CLASSINSTALL_HEADER { - cbSize: DWORD, - InstallFunction: DI_FUNCTION, -}} -pub type PSP_CLASSINSTALL_HEADER = *mut SP_CLASSINSTALL_HEADER; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_ENABLECLASS_PARAMS { - ClassInstallHeader: SP_CLASSINSTALL_HEADER, - ClassGuid: GUID, - EnableMessage: DWORD, -}} -pub type PSP_ENABLECLASS_PARAMS = *mut SP_ENABLECLASS_PARAMS; -pub const ENABLECLASS_QUERY: DWORD = 0; -pub const ENABLECLASS_SUCCESS: DWORD = 1; -pub const ENABLECLASS_FAILURE: DWORD = 2; -pub const DICS_ENABLE: DWORD = 0x00000001; -pub const DICS_DISABLE: DWORD = 0x00000002; -pub const DICS_PROPCHANGE: DWORD = 0x00000003; -pub const DICS_START: DWORD = 0x00000004; -pub const DICS_STOP: DWORD = 0x00000005; -pub const DICS_FLAG_GLOBAL: DWORD = 0x00000001; -pub const DICS_FLAG_CONFIGSPECIFIC: DWORD = 0x00000002; -pub const DICS_FLAG_CONFIGGENERAL: DWORD = 0x00000004; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_PROPCHANGE_PARAMS { - ClassInstallHeader: SP_CLASSINSTALL_HEADER, - StateChange: DWORD, - Scope: DWORD, - HwProfile: DWORD, -}} -pub type PSP_PROPCHANGE_PARAMS = *mut SP_PROPCHANGE_PARAMS; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_REMOVEDEVICE_PARAMS { - ClassInstallHeader: SP_CLASSINSTALL_HEADER, - Scope: DWORD, - HwProfile: DWORD, -}} -pub type PSP_REMOVEDEVICE_PARAMS = *mut SP_REMOVEDEVICE_PARAMS; -pub const DI_REMOVEDEVICE_GLOBAL: DWORD = 0x00000001; -pub const DI_REMOVEDEVICE_CONFIGSPECIFIC: DWORD = 0x00000002; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_UNREMOVEDEVICE_PARAMS { - ClassInstallHeader: SP_CLASSINSTALL_HEADER, - Scope: DWORD, - HwProfile: DWORD, -}} -pub type PSP_UNREMOVEDEVICE_PARAMS = *mut SP_UNREMOVEDEVICE_PARAMS; -pub const DI_UNREMOVEDEVICE_CONFIGSPECIFIC: DWORD = 0x00000002; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_SELECTDEVICE_PARAMS_A { - ClassInstallHeader: SP_CLASSINSTALL_HEADER, - Title: [CHAR; MAX_TITLE_LEN], - Instructions: [CHAR; MAX_INSTRUCTION_LEN], - ListLabel: [CHAR; MAX_LABEL_LEN], - SubTitle: [CHAR; MAX_SUBTITLE_LEN], - Reserved: [BYTE; 2], -}} -pub type PSP_SELECTDEVICE_PARAMS_A = *mut SP_SELECTDEVICE_PARAMS_A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_SELECTDEVICE_PARAMS_W { - ClassInstallHeader: SP_CLASSINSTALL_HEADER, - Title: [WCHAR; MAX_TITLE_LEN], - Instructions: [WCHAR; MAX_INSTRUCTION_LEN], - ListLabel: [WCHAR; MAX_LABEL_LEN], - SubTitle: [WCHAR; MAX_SUBTITLE_LEN], -}} -pub type PSP_SELECTDEVICE_PARAMS_W = *mut SP_SELECTDEVICE_PARAMS_W; -FN!{stdcall PDETECT_PROGRESS_NOTIFY( - ProgressNotifyParam: PVOID, - DetectComplete: DWORD, -) -> BOOL} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_DETECTDEVICE_PARAMS { - ClassInstallHeader: SP_CLASSINSTALL_HEADER, - DetectProgressNotify: PDETECT_PROGRESS_NOTIFY, - ProgressNotifyParam: PVOID, -}} -pub type PSP_DETECTDEVICE_PARAMS = *mut SP_DETECTDEVICE_PARAMS; -pub const MAX_INSTALLWIZARD_DYNAPAGES: usize = 20; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_INSTALLWIZARD_DATA { - ClassInstallHeader: SP_CLASSINSTALL_HEADER, - Flags: DWORD, - DynamicPages: [HPROPSHEETPAGE; MAX_INSTALLWIZARD_DYNAPAGES], - NumDynamicPages: DWORD, - DynamicPageFlags: DWORD, - PrivateFlags: DWORD, - PrivateData: LPARAM, - hwndWizardDlg: HWND, -}} -pub type PSP_INSTALLWIZARD_DATA = *mut SP_INSTALLWIZARD_DATA; -pub const NDW_INSTALLFLAG_DIDFACTDEFS: DWORD = 0x00000001; -pub const NDW_INSTALLFLAG_HARDWAREALLREADYIN: DWORD = 0x00000002; -pub const NDW_INSTALLFLAG_NEEDRESTART: DWORD = DI_NEEDRESTART; -pub const NDW_INSTALLFLAG_NEEDREBOOT: DWORD = DI_NEEDREBOOT; -pub const NDW_INSTALLFLAG_NEEDSHUTDOWN: DWORD = 0x00000200; -pub const NDW_INSTALLFLAG_EXPRESSINTRO: DWORD = 0x00000400; -pub const NDW_INSTALLFLAG_SKIPISDEVINSTALLED: DWORD = 0x00000800; -pub const NDW_INSTALLFLAG_NODETECTEDDEVS: DWORD = 0x00001000; -pub const NDW_INSTALLFLAG_INSTALLSPECIFIC: DWORD = 0x00002000; -pub const NDW_INSTALLFLAG_SKIPCLASSLIST: DWORD = 0x00004000; -pub const NDW_INSTALLFLAG_CI_PICKED_OEM: DWORD = 0x00008000; -pub const NDW_INSTALLFLAG_PCMCIAMODE: DWORD = 0x00010000; -pub const NDW_INSTALLFLAG_PCMCIADEVICE: DWORD = 0x00020000; -pub const NDW_INSTALLFLAG_USERCANCEL: DWORD = 0x00040000; -pub const NDW_INSTALLFLAG_KNOWNCLASS: DWORD = 0x00080000; -pub const DYNAWIZ_FLAG_PAGESADDED: DWORD = 0x00000001; -pub const DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT: DWORD = 0x00000008; -pub const DYNAWIZ_FLAG_INSTALLDET_NEXT: DWORD = 0x00000002; -pub const DYNAWIZ_FLAG_INSTALLDET_PREV: DWORD = 0x00000004; -pub const MIN_IDD_DYNAWIZ_RESOURCE_ID: c_int = 10000; -pub const MAX_IDD_DYNAWIZ_RESOURCE_ID: c_int = 11000; -pub const IDD_DYNAWIZ_FIRSTPAGE: c_int = 10000; -pub const IDD_DYNAWIZ_SELECT_PREVPAGE: c_int = 10001; -pub const IDD_DYNAWIZ_SELECT_NEXTPAGE: c_int = 10002; -pub const IDD_DYNAWIZ_ANALYZE_PREVPAGE: c_int = 10003; -pub const IDD_DYNAWIZ_ANALYZE_NEXTPAGE: c_int = 10004; -pub const IDD_DYNAWIZ_SELECTDEV_PAGE: c_int = 10009; -pub const IDD_DYNAWIZ_ANALYZEDEV_PAGE: c_int = 10010; -pub const IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE: c_int = 10011; -pub const IDD_DYNAWIZ_SELECTCLASS_PAGE: c_int = 10012; -pub const IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE: c_int = 10006; -pub const IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE: c_int = 10007; -pub const IDD_DYNAWIZ_INSTALLDETECTED_NODEVS: c_int = 10008; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_NEWDEVICEWIZARD_DATA { - ClassInstallHeader: SP_CLASSINSTALL_HEADER, - Flags: DWORD, - DynamicPages: [HPROPSHEETPAGE; MAX_INSTALLWIZARD_DYNAPAGES], - NumDynamicPages: DWORD, - hwndWizardDlg: HWND, -}} -pub type PSP_NEWDEVICEWIZARD_DATA = *mut SP_NEWDEVICEWIZARD_DATA; -pub type SP_ADDPROPERTYPAGE_DATA = SP_NEWDEVICEWIZARD_DATA; -pub type PSP_ADDPROPERTYPAGE_DATA = PSP_NEWDEVICEWIZARD_DATA; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_TROUBLESHOOTER_PARAMS_A { - ClassInstallHeader: SP_CLASSINSTALL_HEADER, - ChmFile: [CHAR; MAX_PATH], - HtmlTroubleShooter: [CHAR; MAX_PATH], -}} -pub type PSP_TROUBLESHOOTER_PARAMS_A = *mut SP_TROUBLESHOOTER_PARAMS_A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_TROUBLESHOOTER_PARAMS_W { - ClassInstallHeader: SP_CLASSINSTALL_HEADER, - ChmFile: [WCHAR; MAX_PATH], - HtmlTroubleShooter: [WCHAR; MAX_PATH], -}} -pub type PSP_TROUBLESHOOTER_PARAMS_W = *mut SP_TROUBLESHOOTER_PARAMS_W; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_POWERMESSAGEWAKE_PARAMS_A { - ClassInstallHeader: SP_CLASSINSTALL_HEADER, - PowerMessageWake: [CHAR; LINE_LEN * 2], -}} -pub type PSP_POWERMESSAGEWAKE_PARAMS_A = *mut SP_POWERMESSAGEWAKE_PARAMS_A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_POWERMESSAGEWAKE_PARAMS_W { - ClassInstallHeader: SP_CLASSINSTALL_HEADER, - PowerMessageWake: [WCHAR; LINE_LEN * 2], -}} -pub type PSP_POWERMESSAGEWAKE_PARAMS_W = *mut SP_POWERMESSAGEWAKE_PARAMS_W; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_DRVINFO_DATA_V2_A { - cbSize: DWORD, - DriverType: DWORD, - Reserved: ULONG_PTR, - Description: [CHAR; LINE_LEN], - MfgName: [CHAR; LINE_LEN], - ProviderName: [CHAR; LINE_LEN], - DriverDate: FILETIME, - DriverVersion: DWORDLONG, -}} -pub type PSP_DRVINFO_DATA_V2_A = *mut SP_DRVINFO_DATA_V2_A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_DRVINFO_DATA_V2_W { - cbSize: DWORD, - DriverType: DWORD, - Reserved: ULONG_PTR, - Description: [WCHAR; LINE_LEN], - MfgName: [WCHAR; LINE_LEN], - ProviderName: [WCHAR; LINE_LEN], - DriverDate: FILETIME, - DriverVersion: DWORDLONG, -}} -pub type PSP_DRVINFO_DATA_V2_W = *mut SP_DRVINFO_DATA_V2_W; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_DRVINFO_DATA_V1_A { - cbSize: DWORD, - DriverType: DWORD, - Reserved: ULONG_PTR, - Description: [CHAR; LINE_LEN], - MfgName: [CHAR; LINE_LEN], - ProviderName: [CHAR; LINE_LEN], -}} -pub type PSP_DRVINFO_DATA_V1_A = *mut SP_DRVINFO_DATA_V1_A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_DRVINFO_DATA_V1_W { - cbSize: DWORD, - DriverType: DWORD, - Reserved: ULONG_PTR, - Description: [WCHAR; LINE_LEN], - MfgName: [WCHAR; LINE_LEN], - ProviderName: [WCHAR; LINE_LEN], -}} -pub type PSP_DRVINFO_DATA_V1_W = *mut SP_DRVINFO_DATA_V1_W; -pub type SP_DRVINFO_DATA_A = SP_DRVINFO_DATA_V2_A; -pub type PSP_DRVINFO_DATA_A = PSP_DRVINFO_DATA_V2_A; -pub type SP_DRVINFO_DATA_W = SP_DRVINFO_DATA_V2_W; -pub type PSP_DRVINFO_DATA_W = PSP_DRVINFO_DATA_V2_W; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_DRVINFO_DETAIL_DATA_A { - cbSize: DWORD, - InfDate: FILETIME, - CompatIDsOffset: DWORD, - CompatIDsLength: DWORD, - Reserved: ULONG_PTR, - SectionName: [CHAR; LINE_LEN], - InfFileName: [CHAR; MAX_PATH], - DrvDescription: [CHAR; LINE_LEN], - HardwareID: [CHAR; ANYSIZE_ARRAY], -}} -pub type PSP_DRVINFO_DETAIL_DATA_A = *mut SP_DRVINFO_DETAIL_DATA_A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_DRVINFO_DETAIL_DATA_W { - cbSize: DWORD, - InfDate: FILETIME, - CompatIDsOffset: DWORD, - CompatIDsLength: DWORD, - Reserved: ULONG_PTR, - SectionName: [WCHAR; LINE_LEN], - InfFileName: [WCHAR; MAX_PATH], - DrvDescription: [WCHAR; LINE_LEN], - HardwareID: [WCHAR; ANYSIZE_ARRAY], -}} -pub type PSP_DRVINFO_DETAIL_DATA_W = *mut SP_DRVINFO_DETAIL_DATA_W; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_DRVINSTALL_PARAMS { - cbSize: DWORD, - Rank: DWORD, - Flags: DWORD, - PrivateData: DWORD_PTR, - Reserved: DWORD, -}} -pub type PSP_DRVINSTALL_PARAMS = *mut SP_DRVINSTALL_PARAMS; -pub const DNF_DUPDESC: DWORD = 0x00000001; -pub const DNF_OLDDRIVER: DWORD = 0x00000002; -pub const DNF_EXCLUDEFROMLIST: DWORD = 0x00000004; -pub const DNF_NODRIVER: DWORD = 0x00000008; -pub const DNF_LEGACYINF: DWORD = 0x00000010; -pub const DNF_CLASS_DRIVER: DWORD = 0x00000020; -pub const DNF_COMPATIBLE_DRIVER: DWORD = 0x00000040; -pub const DNF_INET_DRIVER: DWORD = 0x00000080; -pub const DNF_UNUSED1: DWORD = 0x00000100; -pub const DNF_UNUSED2: DWORD = 0x00000200; -pub const DNF_OLD_INET_DRIVER: DWORD = 0x00000400; -pub const DNF_BAD_DRIVER: DWORD = 0x00000800; -pub const DNF_DUPPROVIDER: DWORD = 0x00001000; -pub const DNF_INF_IS_SIGNED: DWORD = 0x00002000; -pub const DNF_OEM_F6_INF: DWORD = 0x00004000; -pub const DNF_DUPDRIVERVER: DWORD = 0x00008000; -pub const DNF_BASIC_DRIVER: DWORD = 0x00010000; -pub const DNF_AUTHENTICODE_SIGNED: DWORD = 0x00020000; -pub const DNF_INSTALLEDDRIVER: DWORD = 0x00040000; -pub const DNF_ALWAYSEXCLUDEFROMLIST: DWORD = 0x00080000; -pub const DNF_INBOX_DRIVER: DWORD = 0x00100000; -pub const DNF_REQUESTADDITIONALSOFTWARE: DWORD = 0x00200000; -pub const DNF_UNUSED_22: DWORD = 0x00400000; -pub const DNF_UNUSED_23: DWORD = 0x00800000; -pub const DNF_UNUSED_24: DWORD = 0x01000000; -pub const DNF_UNUSED_25: DWORD = 0x02000000; -pub const DNF_UNUSED_26: DWORD = 0x04000000; -pub const DNF_UNUSED_27: DWORD = 0x08000000; -pub const DNF_UNUSED_28: DWORD = 0x10000000; -pub const DNF_UNUSED_29: DWORD = 0x20000000; -pub const DNF_UNUSED_30: DWORD = 0x40000000; -pub const DNF_UNUSED_31: DWORD = 0x80000000; -pub const DRIVER_HARDWAREID_RANK: DWORD = 0x00000FFF; -pub const DRIVER_HARDWAREID_MASK: DWORD = 0x80000FFF; -pub const DRIVER_UNTRUSTED_RANK: DWORD = 0x80000000; -pub const DRIVER_W9X_SUSPECT_RANK: DWORD = 0xC0000000; -FN!{stdcall PSP_DETSIG_CMPPROC( - DeviceInfoSet: HDEVINFO, - NewDeviceData: PSP_DEVINFO_DATA, - ExistingDeviceData: PSP_DEVINFO_DATA, - CompareContext: PVOID, -) -> DWORD} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct COINSTALLER_CONTEXT_DATA { - PostProcessing: BOOL, - InstallResult: DWORD, - PrivateData: PVOID, -}} -pub type PCOINSTALLER_CONTEXT_DATA = *mut COINSTALLER_CONTEXT_DATA; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_CLASSIMAGELIST_DATA { - cbSize: DWORD, - ImageList: HIMAGELIST, - Reserved: ULONG_PTR, -}} -pub type PSP_CLASSIMAGELIST_DATA = *mut SP_CLASSIMAGELIST_DATA; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_PROPSHEETPAGE_REQUEST { - cbSize: DWORD, - PageRequested: DWORD, - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, -}} -pub type PSP_PROPSHEETPAGE_REQUEST = *mut SP_PROPSHEETPAGE_REQUEST; -pub const SPPSR_SELECT_DEVICE_RESOURCES: DWORD = 1; -pub const SPPSR_ENUM_BASIC_DEVICE_PROPERTIES: DWORD = 2; -pub const SPPSR_ENUM_ADV_DEVICE_PROPERTIES: DWORD = 3; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_BACKUP_QUEUE_PARAMS_V2_A { - cbSize: DWORD, - FullInfPath: [CHAR; MAX_PATH], - FilenameOffset: INT, - ReinstallInstance: [CHAR; MAX_PATH], -}} -pub type PSP_BACKUP_QUEUE_PARAMS_V2_A = *mut SP_BACKUP_QUEUE_PARAMS_V2_A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_BACKUP_QUEUE_PARAMS_V2_W { - cbSize: DWORD, - FullInfPath: [WCHAR; MAX_PATH], - FilenameOffset: INT, - ReinstallInstance: [WCHAR; MAX_PATH], -}} -pub type PSP_BACKUP_QUEUE_PARAMS_V2_W = *mut SP_BACKUP_QUEUE_PARAMS_V2_W; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_BACKUP_QUEUE_PARAMS_V1_A { - cbSize: DWORD, - FullInfPath: [CHAR; MAX_PATH], - FilenameOffset: INT, -}} -pub type PSP_BACKUP_QUEUE_PARAMS_V1_A = *mut SP_BACKUP_QUEUE_PARAMS_V1_A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_BACKUP_QUEUE_PARAMS_V1_W { - cbSize: DWORD, - FullInfPath: [WCHAR; MAX_PATH], - FilenameOffset: INT, -}} -pub type PSP_BACKUP_QUEUE_PARAMS_V1_W = *mut SP_BACKUP_QUEUE_PARAMS_V1_W; -pub type SP_BACKUP_QUEUE_PARAMS_A = SP_BACKUP_QUEUE_PARAMS_V2_A; -pub type PSP_BACKUP_QUEUE_PARAMS_A = PSP_BACKUP_QUEUE_PARAMS_V2_A; -pub type SP_BACKUP_QUEUE_PARAMS_W = SP_BACKUP_QUEUE_PARAMS_V2_W; -pub type PSP_BACKUP_QUEUE_PARAMS_W = PSP_BACKUP_QUEUE_PARAMS_V2_W; -pub const ERROR_EXPECTED_SECTION_NAME: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0; -pub const ERROR_BAD_SECTION_NAME_LINE: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 1; -pub const ERROR_SECTION_NAME_TOO_LONG: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 2; -pub const ERROR_GENERAL_SYNTAX: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 3; -pub const ERROR_WRONG_INF_STYLE: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x100; -pub const ERROR_SECTION_NOT_FOUND: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x101; -pub const ERROR_LINE_NOT_FOUND: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x102; -pub const ERROR_NO_BACKUP: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x103; -pub const ERROR_NO_ASSOCIATED_CLASS: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x200; -pub const ERROR_CLASS_MISMATCH: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x201; -pub const ERROR_DUPLICATE_FOUND: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x202; -pub const ERROR_NO_DRIVER_SELECTED: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x203; -pub const ERROR_KEY_DOES_NOT_EXIST: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x204; -pub const ERROR_INVALID_DEVINST_NAME: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x205; -pub const ERROR_INVALID_CLASS: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x206; -pub const ERROR_DEVINST_ALREADY_EXISTS: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x207; -pub const ERROR_DEVINFO_NOT_REGISTERED: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x208; -pub const ERROR_INVALID_REG_PROPERTY: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x209; -pub const ERROR_NO_INF: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20A; -pub const ERROR_NO_SUCH_DEVINST: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20B; -pub const ERROR_CANT_LOAD_CLASS_ICON: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x20C; -pub const ERROR_INVALID_CLASS_INSTALLER: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x20D; -pub const ERROR_DI_DO_DEFAULT: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20E; -pub const ERROR_DI_NOFILECOPY: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20F; -pub const ERROR_INVALID_HWPROFILE: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x210; -pub const ERROR_NO_DEVICE_SELECTED: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x211; -pub const ERROR_DEVINFO_LIST_LOCKED: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x212; -pub const ERROR_DEVINFO_DATA_LOCKED: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x213; -pub const ERROR_DI_BAD_PATH: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x214; -pub const ERROR_NO_CLASSINSTALL_PARAMS: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x215; -pub const ERROR_FILEQUEUE_LOCKED: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x216; -pub const ERROR_BAD_SERVICE_INSTALLSECT: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x217; -pub const ERROR_NO_CLASS_DRIVER_LIST: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x218; -pub const ERROR_NO_ASSOCIATED_SERVICE: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x219; -pub const ERROR_NO_DEFAULT_DEVICE_INTERFACE: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x21A; -pub const ERROR_DEVICE_INTERFACE_ACTIVE: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x21B; -pub const ERROR_DEVICE_INTERFACE_REMOVED: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x21C; -pub const ERROR_BAD_INTERFACE_INSTALLSECT: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x21D; -pub const ERROR_NO_SUCH_INTERFACE_CLASS: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x21E; -pub const ERROR_INVALID_REFERENCE_STRING: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x21F; -pub const ERROR_INVALID_MACHINENAME: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x220; -pub const ERROR_REMOTE_COMM_FAILURE: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x221; -pub const ERROR_MACHINE_UNAVAILABLE: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x222; -pub const ERROR_NO_CONFIGMGR_SERVICES: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x223; -pub const ERROR_INVALID_PROPPAGE_PROVIDER: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x224; -pub const ERROR_NO_SUCH_DEVICE_INTERFACE: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x225; -pub const ERROR_DI_POSTPROCESSING_REQUIRED: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x226; -pub const ERROR_INVALID_COINSTALLER: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x227; -pub const ERROR_NO_COMPAT_DRIVERS: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x228; -pub const ERROR_NO_DEVICE_ICON: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x229; -pub const ERROR_INVALID_INF_LOGCONFIG: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x22A; -pub const ERROR_DI_DONT_INSTALL: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22B; -pub const ERROR_INVALID_FILTER_DRIVER: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x22C; -pub const ERROR_NON_WINDOWS_NT_DRIVER: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x22D; -pub const ERROR_NON_WINDOWS_DRIVER: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22E; -pub const ERROR_NO_CATALOG_FOR_OEM_INF: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x22F; -pub const ERROR_DEVINSTALL_QUEUE_NONNATIVE: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x230; -pub const ERROR_NOT_DISABLEABLE: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x231; -pub const ERROR_CANT_REMOVE_DEVINST: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x232; -pub const ERROR_INVALID_TARGET: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x233; -pub const ERROR_DRIVER_NONNATIVE: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x234; -pub const ERROR_IN_WOW64: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x235; -pub const ERROR_SET_SYSTEM_RESTORE_POINT: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x236; -pub const ERROR_SCE_DISABLED: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x238; -pub const ERROR_UNKNOWN_EXCEPTION: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x239; -pub const ERROR_PNP_REGISTRY_ERROR: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x23A; -pub const ERROR_REMOTE_REQUEST_UNSUPPORTED: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x23B; -pub const ERROR_NOT_AN_INSTALLED_OEM_INF: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x23C; -pub const ERROR_INF_IN_USE_BY_DEVICES: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x23D; -pub const ERROR_DI_FUNCTION_OBSOLETE: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x23E; -pub const ERROR_NO_AUTHENTICODE_CATALOG: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x23F; -pub const ERROR_AUTHENTICODE_DISALLOWED: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x240; -pub const ERROR_AUTHENTICODE_TRUSTED_PUBLISHER: DWORD = APPLICATION_ERROR_MASK - | ERROR_SEVERITY_ERROR | 0x241; -pub const ERROR_AUTHENTICODE_TRUST_NOT_ESTABLISHED: DWORD = APPLICATION_ERROR_MASK - | ERROR_SEVERITY_ERROR | 0x242; -pub const ERROR_AUTHENTICODE_PUBLISHER_NOT_TRUSTED: DWORD = APPLICATION_ERROR_MASK - | ERROR_SEVERITY_ERROR | 0x243; -pub const ERROR_SIGNATURE_OSATTRIBUTE_MISMATCH: DWORD = APPLICATION_ERROR_MASK - | ERROR_SEVERITY_ERROR | 0x244; -pub const ERROR_ONLY_VALIDATE_VIA_AUTHENTICODE: DWORD = APPLICATION_ERROR_MASK - | ERROR_SEVERITY_ERROR | 0x245; -pub const ERROR_DEVICE_INSTALLER_NOT_READY: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x246; -pub const ERROR_DRIVER_STORE_ADD_FAILED: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x247; -pub const ERROR_DEVICE_INSTALL_BLOCKED: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x248; -pub const ERROR_DRIVER_INSTALL_BLOCKED: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x249; -pub const ERROR_WRONG_INF_TYPE: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x24A; -pub const ERROR_FILE_HASH_NOT_IN_CATALOG: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x24B; -pub const ERROR_DRIVER_STORE_DELETE_FAILED: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x24C; -pub const ERROR_UNRECOVERABLE_STACK_OVERFLOW: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x300; -pub const EXCEPTION_SPAPI_UNRECOVERABLE_STACK_OVERFLOW: DWORD = ERROR_UNRECOVERABLE_STACK_OVERFLOW; -pub const ERROR_NO_DEFAULT_INTERFACE_DEVICE: DWORD = ERROR_NO_DEFAULT_DEVICE_INTERFACE; -pub const ERROR_INTERFACE_DEVICE_ACTIVE: DWORD = ERROR_DEVICE_INTERFACE_ACTIVE; -pub const ERROR_INTERFACE_DEVICE_REMOVED: DWORD = ERROR_DEVICE_INTERFACE_REMOVED; -pub const ERROR_NO_SUCH_INTERFACE_DEVICE: DWORD = ERROR_NO_SUCH_DEVICE_INTERFACE; -pub const ERROR_NOT_INSTALLED: DWORD = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR - | 0x1000; -extern "system" { - pub fn SetupGetInfInformationA( - InfSpec: LPCVOID, - SearchControl: DWORD, - ReturnBuffer: PSP_INF_INFORMATION, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupGetInfInformationW( - InfSpec: LPCVOID, - SearchControl: DWORD, - ReturnBuffer: PSP_INF_INFORMATION, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; -} -pub const INFINFO_INF_SPEC_IS_HINF: DWORD = 1; -pub const INFINFO_INF_NAME_IS_ABSOLUTE: DWORD = 2; -pub const INFINFO_DEFAULT_SEARCH: DWORD = 3; -pub const INFINFO_REVERSE_DEFAULT_SEARCH: DWORD = 4; -pub const INFINFO_INF_PATH_LIST_SEARCH: DWORD = 5; -extern "system" { - pub fn SetupQueryInfFileInformationA( - InfInformation: PSP_INF_INFORMATION, - InfIndex: UINT, - ReturnBuffer: PSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupQueryInfFileInformationW( - InfInformation: PSP_INF_INFORMATION, - InfIndex: UINT, - ReturnBuffer: PWSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupQueryInfOriginalFileInformationA( - InfInformation: PSP_INF_INFORMATION, - InfIndex: UINT, - AlternatePlatformInfo: PSP_ALTPLATFORM_INFO, - OriginalFileInfo: PSP_ORIGINAL_FILE_INFO_A, - ) -> BOOL; - pub fn SetupQueryInfOriginalFileInformationW( - InfInformation: PSP_INF_INFORMATION, - InfIndex: UINT, - AlternatePlatformInfo: PSP_ALTPLATFORM_INFO, - OriginalFileInfo: PSP_ORIGINAL_FILE_INFO_W, - ) -> BOOL; - pub fn SetupQueryInfVersionInformationA( - InfInformation: PSP_INF_INFORMATION, - InfIndex: UINT, - Key: PCSTR, - ReturnBuffer: PSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupQueryInfVersionInformationW( - InfInformation: PSP_INF_INFORMATION, - InfIndex: UINT, - Key: PCWSTR, - ReturnBuffer: PWSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupGetInfDriverStoreLocationA( - FileName: PCSTR, - AlternatePlatformInfo: PSP_ALTPLATFORM_INFO, - LocaleName: PCSTR, - ReturnBuffer: PSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupGetInfDriverStoreLocationW( - FileName: PCWSTR, - AlternatePlatformInfo: PSP_ALTPLATFORM_INFO, - LocaleName: PCWSTR, - ReturnBuffer: PWSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupGetInfPublishedNameA( - DriverStoreLocation: PCSTR, - ReturnBuffer: PSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupGetInfPublishedNameW( - DriverStoreLocation: PCWSTR, - ReturnBuffer: PWSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupGetInfFileListA( - DirectoryPath: PCSTR, - InfStyle: DWORD, - ReturnBuffer: PSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupGetInfFileListW( - DirectoryPath: PCWSTR, - InfStyle: DWORD, - ReturnBuffer: PWSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupOpenInfFileW( - FileName: PCWSTR, - InfClass: PCWSTR, - InfStyle: DWORD, - ErrorLine: PUINT, - ) -> HINF; - pub fn SetupOpenInfFileA( - FileName: PCSTR, - InfClass: PCSTR, - InfStyle: DWORD, - ErrorLine: PUINT, - ) -> HINF; - pub fn SetupOpenMasterInf() -> HINF; - pub fn SetupOpenAppendInfFileW( - FileName: PCWSTR, - InfHandle: HINF, - ErrorLine: PUINT, - ) -> BOOL; - pub fn SetupOpenAppendInfFileA( - FileName: PCSTR, - InfHandle: HINF, - ErrorLine: PUINT, - ) -> BOOL; - pub fn SetupCloseInfFile( - InfHandle: HINF, - ) -> (); - pub fn SetupFindFirstLineA( - InfHandle: HINF, - Section: PCSTR, - Key: PCSTR, - Context: PINFCONTEXT, - ) -> BOOL; - pub fn SetupFindFirstLineW( - InfHandle: HINF, - Section: PCWSTR, - Key: PCWSTR, - Context: PINFCONTEXT, - ) -> BOOL; - pub fn SetupFindNextLine( - ContextIn: PINFCONTEXT, - ContextOut: PINFCONTEXT, - ) -> BOOL; - pub fn SetupFindNextMatchLineA( - ContextIn: PINFCONTEXT, - Key: PCSTR, - ContextOut: PINFCONTEXT, - ) -> BOOL; - pub fn SetupFindNextMatchLineW( - ContextIn: PINFCONTEXT, - Key: PCWSTR, - ContextOut: PINFCONTEXT, - ) -> BOOL; - pub fn SetupGetLineByIndexA( - InfHandle: HINF, - Section: PCSTR, - Index: DWORD, - Context: PINFCONTEXT, - ) -> BOOL; - pub fn SetupGetLineByIndexW( - InfHandle: HINF, - Section: PCWSTR, - Index: DWORD, - Context: PINFCONTEXT, - ) -> BOOL; - pub fn SetupGetLineCountA( - InfHandle: HINF, - Section: PCSTR, - ) -> LONG; - pub fn SetupGetLineCountW( - InfHandle: HINF, - Section: PCWSTR, - ) -> LONG; - pub fn SetupGetLineTextA( - Context: PINFCONTEXT, - InfHandle: HINF, - Section: PCSTR, - Key: PCSTR, - ReturnBuffer: PSTR, - ReturnBufferSize: DWORD, - ReturnBufferSize: PDWORD, - ) -> BOOL; - pub fn SetupGetLineTextW( - Context: PINFCONTEXT, - InfHandle: HINF, - Section: PCWSTR, - Key: PCWSTR, - ReturnBuffer: PWSTR, - ReturnBufferSize: DWORD, - ReturnBufferSize: PDWORD, - ) -> BOOL; - pub fn SetupGetFieldCount( - Context: PINFCONTEXT, - ) -> DWORD; - pub fn SetupGetStringFieldA( - Context: PINFCONTEXT, - FieldIndex: DWORD, - ReturnBuffer: PSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupGetStringFieldW( - Context: PINFCONTEXT, - FieldIndex: DWORD, - ReturnBuffer: PWSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupGetIntField( - Context: PINFCONTEXT, - FieldIndex: DWORD, - IntegerValue: PINT, - ) -> BOOL; - pub fn SetupGetMultiSzFieldA( - Context: PINFCONTEXT, - FieldIndex: DWORD, - ReturnBuffer: PSTR, - ReturnBufferSize: DWORD, - RequiredSize: LPDWORD, - ) -> BOOL; - pub fn SetupGetMultiSzFieldW( - Context: PINFCONTEXT, - FieldIndex: DWORD, - ReturnBuffer: PWSTR, - ReturnBufferSize: DWORD, - RequiredSize: LPDWORD, - ) -> BOOL; - pub fn SetupGetBinaryField( - Context: PINFCONTEXT, - FieldIndex: DWORD, - ReturnBuffer: PBYTE, - ReturnBufferSize: DWORD, - RequiredSize: LPDWORD, - ) -> BOOL; - pub fn SetupGetFileCompressionInfoA( - SourceFileName: PCSTR, - ActualSourceFileName: *mut PSTR, - SourceFileSize: PDWORD, - TargetFileSize: PDWORD, - CompressionType: PUINT, - ) -> DWORD; - pub fn SetupGetFileCompressionInfoW( - SourceFileName: PCWSTR, - ActualSourceFileName: *mut PWSTR, - SourceFileSize: PDWORD, - TargetFileSize: PDWORD, - CompressionType: PUINT, - ) -> DWORD; - pub fn SetupGetFileCompressionInfoExA( - SourceFileName: PCSTR, - ActualSourceFileNameBuffer: PSTR, - ActualSourceFileNameBufferLen: DWORD, - RequiredBufferLen: PDWORD, - SourceFileSize: PDWORD, - TargetFileSize: PDWORD, - CompressionType: PUINT, - ) -> BOOL; - pub fn SetupGetFileCompressionInfoExW( - SourceFileName: PCWSTR, - ActualSourceFileNameBuffer: PWSTR, - ActualSourceFileNameBufferLen: DWORD, - RequiredBufferLen: PDWORD, - SourceFileSize: PDWORD, - TargetFileSize: PDWORD, - CompressionType: PUINT, - ) -> BOOL; -} -pub const FILE_COMPRESSION_NONE: UINT = 0; -pub const FILE_COMPRESSION_WINLZA: UINT = 1; -pub const FILE_COMPRESSION_MSZIP: UINT = 2; -pub const FILE_COMPRESSION_NTCAB: UINT = 3; -extern "system" { - pub fn SetupDecompressOrCopyFileA( - SourceFileName: PCSTR, - TargetFileName: PCSTR, - CompressionType: PUINT, - ) -> DWORD; - pub fn SetupDecompressOrCopyFileW( - SourceFileName: PCWSTR, - TargetFileName: PCWSTR, - CompressionType: PUINT, - ) -> DWORD; - pub fn SetupGetSourceFileLocationA( - InfHandle: HINF, - InfContext: PINFCONTEXT, - FileName: PCSTR, - SourceId: PUINT, - ReturnBuffer: PSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupGetSourceFileLocationW( - InfHandle: HINF, - InfContext: PINFCONTEXT, - FileName: PCWSTR, - SourceId: PUINT, - ReturnBuffer: PWSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupGetSourceFileSizeA( - InfHandle: HINF, - InfContext: PINFCONTEXT, - FileName: PCSTR, - Section: PCSTR, - FileSize: PDWORD, - RoundingFactor: UINT, - ) -> BOOL; - pub fn SetupGetSourceFileSizeW( - InfHandle: HINF, - InfContext: PINFCONTEXT, - FileName: PCWSTR, - Section: PCWSTR, - FileSize: PDWORD, - RoundingFactor: UINT, - ) -> BOOL; - pub fn SetupGetTargetPathA( - InfHandle: HINF, - InfContext: PINFCONTEXT, - Section: PCSTR, - ReturnBuffer: PSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupGetTargetPathW( - InfHandle: HINF, - InfContext: PINFCONTEXT, - Section: PCWSTR, - ReturnBuffer: PWSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; -} -pub const SRCLIST_TEMPORARY: DWORD = 0x00000001; -pub const SRCLIST_NOBROWSE: DWORD = 0x00000002; -pub const SRCLIST_SYSTEM: DWORD = 0x00000010; -pub const SRCLIST_USER: DWORD = 0x00000020; -pub const SRCLIST_SYSIFADMIN: DWORD = 0x00000040; -pub const SRCLIST_SUBDIRS: DWORD = 0x00000100; -pub const SRCLIST_APPEND: DWORD = 0x00000200; -pub const SRCLIST_NOSTRIPPLATFORM: DWORD = 0x00000400; -extern "system" { - pub fn SetupSetSourceListA( - Flags: DWORD, - SourceList: *mut PCSTR, - SourceCount: UINT, - ) -> BOOL; - pub fn SetupSetSourceListW( - Flags: DWORD, - SourceList: *mut PCWSTR, - SourceCount: UINT, - ) -> BOOL; - pub fn SetupCancelTemporarySourceList() -> BOOL; - pub fn SetupAddToSourceListA( - Flags: DWORD, - Source: PCSTR, - ) -> BOOL; - pub fn SetupAddToSourceListW( - Flags: DWORD, - Source: PCWSTR, - ) -> BOOL; - pub fn SetupRemoveFromSourceListA( - Flags: DWORD, - Source: PCSTR, - ) -> BOOL; - pub fn SetupRemoveFromSourceListW( - Flags: DWORD, - Source: PCWSTR, - ) -> BOOL; - pub fn SetupQuerySourceListA( - Flags: DWORD, - List: *mut *mut PCSTR, - Count: PUINT, - ) -> BOOL; - pub fn SetupQuerySourceListW( - Flags: DWORD, - List: *mut *mut PCWSTR, - Count: PUINT, - ) -> BOOL; - pub fn SetupFreeSourceListA( - List: *mut *mut PCSTR, - Count: UINT, - ) -> BOOL; - pub fn SetupFreeSourceListW( - List: *mut *mut PCWSTR, - Count: UINT, - ) -> BOOL; - pub fn SetupPromptForDiskA( - hwndParent: HWND, - DialogTitle: PCSTR, - DiskName: PCSTR, - PathToSource: PCSTR, - FileSought: PCSTR, - TagFile: PCSTR, - DiskPromptStyle: DWORD, - PathBuffer: PSTR, - PathBufferSize: DWORD, - PathRequiredSize: PDWORD, - ) -> UINT; - pub fn SetupPromptForDiskW( - hwndParent: HWND, - DialogTitle: PCWSTR, - DiskName: PCWSTR, - PathToSource: PCWSTR, - FileSought: PCWSTR, - TagFile: PCWSTR, - DiskPromptStyle: DWORD, - PathBuffer: PWSTR, - PathBufferSize: DWORD, - PathRequiredSize: PDWORD, - ) -> UINT; - pub fn SetupCopyErrorA( - hwndParent: HWND, - DialogTitle: PCSTR, - DiskName: PCSTR, - PathToSource: PCSTR, - SourceFile: PCSTR, - TargetPathFile: PCSTR, - Win32ErrorCode: UINT, - Style: DWORD, - PathBuffer: PSTR, - PathBufferSize: DWORD, - PathRequiredSize: PDWORD, - ) -> UINT; - pub fn SetupCopyErrorW( - hwndParent: HWND, - DialogTitle: PCWSTR, - DiskName: PCWSTR, - PathToSource: PCWSTR, - SourceFile: PCWSTR, - TargetPathFile: PCWSTR, - Win32ErrorCode: UINT, - Style: DWORD, - PathBuffer: PWSTR, - PathBufferSize: DWORD, - PathRequiredSize: PDWORD, - ) -> UINT; - pub fn SetupRenameErrorA( - hwndParent: HWND, - DialogTitle: PCSTR, - SourceFile: PCSTR, - TargetFile: PCSTR, - Win32ErrorCode: UINT, - Style: DWORD, - ) -> UINT; - pub fn SetupRenameErrorW( - hwndParent: HWND, - DialogTitle: PCWSTR, - SourceFile: PCWSTR, - TargetFile: PCWSTR, - Win32ErrorCode: UINT, - Style: DWORD, - ) -> UINT; - pub fn SetupDeleteErrorA( - hwndParent: HWND, - DialogTitle: PCSTR, - File: PCSTR, - Win32ErrorCode: UINT, - Style: DWORD, - ) -> UINT; - pub fn SetupDeleteErrorW( - hwndParent: HWND, - DialogTitle: PCWSTR, - File: PCWSTR, - Win32ErrorCode: UINT, - Style: DWORD, - ) -> UINT; - pub fn SetupBackupErrorA( - hwndParent: HWND, - DialogTitle: PCSTR, - SourceFile: PCSTR, - TargetFile: PCSTR, - Win32ErrorCode: UINT, - Style: DWORD, - ) -> UINT; - pub fn SetupBackupErrorW( - hwndParent: HWND, - DialogTitle: PCWSTR, - SourceFile: PCWSTR, - TargetFile: PCWSTR, - Win32ErrorCode: UINT, - Style: DWORD, - ) -> UINT; -} -pub const IDF_NOBROWSE: DWORD = 0x00000001; -pub const IDF_NOSKIP: DWORD = 0x00000002; -pub const IDF_NODETAILS: DWORD = 0x00000004; -pub const IDF_NOCOMPRESSED: DWORD = 0x00000008; -pub const IDF_CHECKFIRST: DWORD = 0x00000100; -pub const IDF_NOBEEP: DWORD = 0x00000200; -pub const IDF_NOFOREGROUND: DWORD = 0x00000400; -pub const IDF_WARNIFSKIP: DWORD = 0x00000800; -pub const IDF_NOREMOVABLEMEDIAPROMPT: DWORD = 0x00001000; -pub const IDF_USEDISKNAMEASPROMPT: DWORD = 0x00002000; -pub const IDF_OEMDISK: DWORD = 0x80000000; -pub const DPROMPT_SUCCESS: UINT = 0; -pub const DPROMPT_CANCEL: UINT = 1; -pub const DPROMPT_SKIPFILE: UINT = 2; -pub const DPROMPT_BUFFERTOOSMALL: UINT = 3; -pub const DPROMPT_OUTOFMEMORY: UINT = 4; -extern "system" { - pub fn SetupSetDirectoryIdA( - InfHandle: HINF, - Id: DWORD, - Directory: PCSTR, - ) -> BOOL; - pub fn SetupSetDirectoryIdW( - InfHandle: HINF, - Id: DWORD, - Directory: PCWSTR, - ) -> BOOL; - pub fn SetupSetDirectoryIdExA( - InfHandle: HINF, - Id: DWORD, - Directory: PCSTR, - Flags: DWORD, - Reserved1: DWORD, - Reserved2: PVOID, - ) -> BOOL; - pub fn SetupSetDirectoryIdExW( - InfHandle: HINF, - Id: DWORD, - Directory: PCWSTR, - Flags: DWORD, - Reserved1: DWORD, - Reserved2: PVOID, - ) -> BOOL; -} -pub const SETDIRID_NOT_FULL_PATH: DWORD = 0x00000001; -extern "system" { - pub fn SetupGetSourceInfoA( - InfHandle: HINF, - SourceId: UINT, - InfoDesired: UINT, - ReturnBuffer: PSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupGetSourceInfoW( - InfHandle: HINF, - SourceId: UINT, - InfoDesired: UINT, - ReturnBuffer: PWSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; -} -pub const SRCINFO_PATH: UINT = 1; -pub const SRCINFO_TAGFILE: UINT = 2; -pub const SRCINFO_DESCRIPTION: UINT = 3; -pub const SRCINFO_FLAGS: UINT = 4; -pub const SRCINFO_TAGFILE2: UINT = 4; -pub const SRC_FLAGS_CABFILE: UINT = 0x0010; -extern "system" { - pub fn SetupInstallFileA( - InfHandle: HINF, - InfContext: PINFCONTEXT, - SourceFile: PCSTR, - SourcePathRoot: PCSTR, - DestinationName: PCSTR, - CopyStyle: DWORD, - CopyMsgHandler: PSP_FILE_CALLBACK_A, - Context: PVOID, - ) -> BOOL; - pub fn SetupInstallFileW( - InfHandle: HINF, - InfContext: PINFCONTEXT, - SourceFile: PCWSTR, - SourcePathRoot: PCWSTR, - DestinationName: PCWSTR, - CopyStyle: DWORD, - CopyMsgHandler: PSP_FILE_CALLBACK_W, - Context: PVOID, - ) -> BOOL; - pub fn SetupInstallFileExA( - InfHandle: HINF, - InfContext: PINFCONTEXT, - SourceFile: PCSTR, - SourcePathRoot: PCSTR, - DestinationName: PCSTR, - CopyStyle: DWORD, - CopyMsgHandler: PSP_FILE_CALLBACK_A, - Context: PVOID, - FileWasInUse: PBOOL, - ) -> BOOL; - pub fn SetupInstallFileExW( - InfHandle: HINF, - InfContext: PINFCONTEXT, - SourceFile: PCWSTR, - SourcePathRoot: PCWSTR, - DestinationName: PCWSTR, - CopyStyle: DWORD, - CopyMsgHandler: PSP_FILE_CALLBACK_W, - Context: PVOID, - FileWasInUse: PBOOL, - ) -> BOOL; -} -pub const SP_COPY_DELETESOURCE: DWORD = 0x0000001; -pub const SP_COPY_REPLACEONLY: DWORD = 0x0000002; -pub const SP_COPY_NEWER: DWORD = 0x0000004; -pub const SP_COPY_NEWER_OR_SAME: DWORD = SP_COPY_NEWER; -pub const SP_COPY_NOOVERWRITE: DWORD = 0x0000008; -pub const SP_COPY_NODECOMP: DWORD = 0x0000010; -pub const SP_COPY_LANGUAGEAWARE: DWORD = 0x0000020; -pub const SP_COPY_SOURCE_ABSOLUTE: DWORD = 0x0000040; -pub const SP_COPY_SOURCEPATH_ABSOLUTE: DWORD = 0x0000080; -pub const SP_COPY_IN_USE_NEEDS_REBOOT: DWORD = 0x0000100; -pub const SP_COPY_FORCE_IN_USE: DWORD = 0x0000200; -pub const SP_COPY_NOSKIP: DWORD = 0x0000400; -pub const SP_FLAG_CABINETCONTINUATION: DWORD = 0x0000800; -pub const SP_COPY_FORCE_NOOVERWRITE: DWORD = 0x0001000; -pub const SP_COPY_FORCE_NEWER: DWORD = 0x0002000; -pub const SP_COPY_WARNIFSKIP: DWORD = 0x0004000; -pub const SP_COPY_NOBROWSE: DWORD = 0x0008000; -pub const SP_COPY_NEWER_ONLY: DWORD = 0x0010000; -pub const SP_COPY_RESERVED: DWORD = 0x0020000; -pub const SP_COPY_OEMINF_CATALOG_ONLY: DWORD = 0x0040000; -pub const SP_COPY_REPLACE_BOOT_FILE: DWORD = 0x0080000; -pub const SP_COPY_NOPRUNE: DWORD = 0x0100000; -pub const SP_COPY_OEM_F6_INF: DWORD = 0x0200000; -pub const SP_COPY_ALREADYDECOMP: DWORD = 0x0400000; -pub const SP_COPY_WINDOWS_SIGNED: DWORD = 0x1000000; -pub const SP_COPY_PNPLOCKED: DWORD = 0x2000000; -pub const SP_COPY_IN_USE_TRY_RENAME: DWORD = 0x4000000; -pub const SP_COPY_INBOX_INF: DWORD = 0x8000000; -pub const SP_COPY_HARDLINK: DWORD = 0x10000000; -pub const SP_BACKUP_BACKUPPASS: DWORD = 0x00000001; -pub const SP_BACKUP_DEMANDPASS: DWORD = 0x00000002; -pub const SP_BACKUP_SPECIAL: DWORD = 0x00000004; -pub const SP_BACKUP_BOOTFILE: DWORD = 0x00000008; -extern "system" { - pub fn SetupOpenFileQueue() -> HSPFILEQ; - pub fn SetupCloseFileQueue( - QueueHandle: HSPFILEQ, - ) -> BOOL; - pub fn SetupSetFileQueueAlternatePlatformA( - QueueHandle: HSPFILEQ, - AlternatePlatformInfo: PSP_ALTPLATFORM_INFO, - AlternateDefaultCatalogFile: PCSTR, - ) -> BOOL; - pub fn SetupSetFileQueueAlternatePlatformW( - QueueHandle: HSPFILEQ, - AlternatePlatformInfo: PSP_ALTPLATFORM_INFO, - AlternateDefaultCatalogFile: PCWSTR, - ) -> BOOL; - pub fn SetupSetPlatformPathOverrideA( - Override: PCSTR, - ) -> BOOL; - pub fn SetupSetPlatformPathOverrideW( - Override: PCWSTR, - ) -> BOOL; - pub fn SetupQueueCopyA( - QueueHandle: HSPFILEQ, - SourceRootPath: PCSTR, - SourcePath: PCSTR, - SourceFilename: PCSTR, - SourceDescription: PCSTR, - SourceTagfile: PCSTR, - TargetDirectory: PCSTR, - TargetFilename: PCSTR, - CopyStyle: DWORD, - ) -> BOOL; - pub fn SetupQueueCopyW( - QueueHandle: HSPFILEQ, - SourceRootPath: PCWSTR, - SourcePath: PCWSTR, - SourceFilename: PCWSTR, - SourceDescription: PCWSTR, - SourceTagfile: PCWSTR, - TargetDirectory: PCWSTR, - TargetFilename: PCWSTR, - CopyStyle: DWORD, - ) -> BOOL; - pub fn SetupQueueCopyIndirectA( - CopyParams: PSP_FILE_COPY_PARAMS_A, - ) -> BOOL; - pub fn SetupQueueCopyIndirectW( - CopyParams: PSP_FILE_COPY_PARAMS_W, - ) -> BOOL; - pub fn SetupQueueDefaultCopyA( - QueueHandle: HSPFILEQ, - InfHandle: HINF, - SourceRootPath: PCSTR, - SourceFilename: PCSTR, - TargetFilename: PCSTR, - CopyStyle: DWORD, - ) -> BOOL; - pub fn SetupQueueDefaultCopyW( - QueueHandle: HSPFILEQ, - InfHandle: HINF, - SourceRootPath: PCWSTR, - SourceFilename: PCWSTR, - TargetFilename: PCWSTR, - CopyStyle: DWORD, - ) -> BOOL; - pub fn SetupQueueCopySectionA( - QueueHandle: HSPFILEQ, - SourceRootPath: PCSTR, - InfHandle: HINF, - ListInfHandle: HINF, - Section: PCSTR, - CopyStyle: DWORD, - ) -> BOOL; - pub fn SetupQueueCopySectionW( - QueueHandle: HSPFILEQ, - SourceRootPath: PCWSTR, - InfHandle: HINF, - ListInfHandle: HINF, - Section: PCWSTR, - CopyStyle: DWORD, - ) -> BOOL; - pub fn SetupQueueDeleteA( - QueueHandle: HSPFILEQ, - PathPart1: PCSTR, - PathPart2: PCSTR, - ) -> BOOL; - pub fn SetupQueueDeleteW( - QueueHandle: HSPFILEQ, - PathPart1: PCWSTR, - PathPart2: PCWSTR, - ) -> BOOL; - pub fn SetupQueueDeleteSectionA( - QueueHandle: HSPFILEQ, - InfHandle: HINF, - ListInfHandle: HINF, - Section: PCSTR, - ) -> BOOL; - pub fn SetupQueueDeleteSectionW( - QueueHandle: HSPFILEQ, - InfHandle: HINF, - ListInfHandle: HINF, - Section: PCWSTR, - ) -> BOOL; - pub fn SetupQueueRenameA( - QueueHandle: HSPFILEQ, - SourcePath: PCSTR, - SourceFilename: PCSTR, - TargetPath: PCSTR, - TargetFilename: PCSTR, - ) -> BOOL; - pub fn SetupQueueRenameW( - QueueHandle: HSPFILEQ, - SourcePath: PCWSTR, - SourceFilename: PCWSTR, - TargetPath: PCWSTR, - TargetFilename: PCWSTR, - ) -> BOOL; - pub fn SetupQueueRenameSectionA( - QueueHandle: HSPFILEQ, - InfHandle: HINF, - ListInfHandle: HINF, - Section: PCSTR, - ) -> BOOL; - pub fn SetupQueueRenameSectionW( - QueueHandle: HSPFILEQ, - InfHandle: HINF, - ListInfHandle: HINF, - Section: PCWSTR, - ) -> BOOL; - pub fn SetupCommitFileQueueA( - Owner: HWND, - QueueHandle: HSPFILEQ, - MsgHandler: PSP_FILE_CALLBACK_A, - Context: PVOID, - ) -> BOOL; - pub fn SetupCommitFileQueueW( - Owner: HWND, - QueueHandle: HSPFILEQ, - MsgHandler: PSP_FILE_CALLBACK_W, - Context: PVOID, - ) -> BOOL; - pub fn SetupScanFileQueueA( - FileQueue: HSPFILEQ, - Flags: DWORD, - Window: HWND, - CallbackRoutine: PSP_FILE_CALLBACK_A, - CallbackContext: PVOID, - Result: PDWORD, - ) -> BOOL; - pub fn SetupScanFileQueueW( - FileQueue: HSPFILEQ, - Flags: DWORD, - Window: HWND, - CallbackRoutine: PSP_FILE_CALLBACK_W, - CallbackContext: PVOID, - Result: PDWORD, - ) -> BOOL; -} -pub const SPQ_SCAN_FILE_PRESENCE: DWORD = 0x00000001; -pub const SPQ_SCAN_FILE_VALIDITY: DWORD = 0x00000002; -pub const SPQ_SCAN_USE_CALLBACK: DWORD = 0x00000004; -pub const SPQ_SCAN_USE_CALLBACKEX: DWORD = 0x00000008; -pub const SPQ_SCAN_INFORM_USER: DWORD = 0x00000010; -pub const SPQ_SCAN_PRUNE_COPY_QUEUE: DWORD = 0x00000020; -pub const SPQ_SCAN_USE_CALLBACK_SIGNERINFO: DWORD = 0x00000040; -pub const SPQ_SCAN_PRUNE_DELREN: DWORD = 0x00000080; -pub const SPQ_SCAN_FILE_PRESENCE_WITHOUT_SOURCE: DWORD = 0x00000100; -pub const SPQ_SCAN_FILE_COMPARISON: DWORD = 0x00000200; -pub const SPQ_SCAN_ACTIVATE_DRP: DWORD = 0x00000400; -pub const SPQ_DELAYED_COPY: DWORD = 0x00000001; -extern "system" { - pub fn SetupGetFileQueueCount( - FileQueue: HSPFILEQ, - SubQueueFileOp: UINT, - NumOperations: PUINT, - ) -> BOOL; - pub fn SetupGetFileQueueFlags( - FileQueue: HSPFILEQ, - Flags: PDWORD, - ) -> BOOL; - pub fn SetupSetFileQueueFlags( - FileQueue: HSPFILEQ, - FlagMask: DWORD, - Flags: DWORD, - ) -> BOOL; -} -pub const SPQ_FLAG_BACKUP_AWARE: DWORD = 0x00000001; -pub const SPQ_FLAG_ABORT_IF_UNSIGNED: DWORD = 0x00000002; -pub const SPQ_FLAG_FILES_MODIFIED: DWORD = 0x00000004; -pub const SPQ_FLAG_DO_SHUFFLEMOVE: DWORD = 0x00000008; -pub const SPQ_FLAG_VALID: DWORD = 0x0000000F; -pub const SPOST_NONE: DWORD = 0; -pub const SPOST_PATH: DWORD = 1; -pub const SPOST_URL: DWORD = 2; -pub const SPOST_MAX: DWORD = 3; -extern "system" { - pub fn SetupCopyOEMInfA( - SourceInfFileName: PCSTR, - OEMSourceMediaLocation: PCSTR, - OEMSourceMediaType: DWORD, - CopyStyle: DWORD, - DestinationInfFileName: PSTR, - DestinationInfFileNameSize: DWORD, - RequiredSize: PDWORD, - DestinationInfFileNameComponent: *mut PSTR, - ) -> BOOL; - pub fn SetupCopyOEMInfW( - SourceInfFileName: PCWSTR, - OEMSourceMediaLocation: PCWSTR, - OEMSourceMediaType: DWORD, - CopyStyle: DWORD, - DestinationInfFileName: PWSTR, - DestinationInfFileNameSize: DWORD, - RequiredSize: PDWORD, - DestinationInfFileNameComponent: *mut PWSTR, - ) -> BOOL; -} -pub const SUOI_FORCEDELETE: DWORD = 0x00000001; -pub const SUOI_INTERNAL1: DWORD = 0x00000002; -extern "system" { - pub fn SetupUninstallOEMInfA( - InfFileName: PCSTR, - Flags: DWORD, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupUninstallOEMInfW( - InfFileName: PCWSTR, - Flags: DWORD, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupUninstallNewlyCopiedInfs( - FileQueue: HSPFILEQ, - Flags: DWORD, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupCreateDiskSpaceListA( - Reserved1: PVOID, - Reserved2: DWORD, - Flags: UINT, - ) -> HDSKSPC; - pub fn SetupCreateDiskSpaceListW( - Reserved1: PVOID, - Reserved2: DWORD, - Flags: UINT, - ) -> HDSKSPC; -} -pub const SPDSL_IGNORE_DISK: UINT = 0x00000001; -pub const SPDSL_DISALLOW_NEGATIVE_ADJUST: UINT = 0x00000002; -extern "system" { - pub fn SetupDuplicateDiskSpaceListA( - DiskSpace: HDSKSPC, - Reserved1: PVOID, - Reserved2: DWORD, - Flags: UINT, - ) -> HDSKSPC; - pub fn SetupDuplicateDiskSpaceListW( - DiskSpace: HDSKSPC, - Reserved1: PVOID, - Reserved2: DWORD, - Flags: UINT, - ) -> HDSKSPC; - pub fn SetupDestroyDiskSpaceList( - DiskSpace: HDSKSPC, - ) -> BOOL; - pub fn SetupQueryDrivesInDiskSpaceListA( - DiskSpace: HDSKSPC, - ReturnBuffer: PSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupQueryDrivesInDiskSpaceListW( - DiskSpace: HDSKSPC, - ReturnBuffer: PWSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupQuerySpaceRequiredOnDriveA( - DiskSpace: HDSKSPC, - DriveSpec: PCSTR, - SpaceRequired: *mut LONGLONG, - Reserved1: PVOID, - Reserved2: UINT, - ) -> BOOL; - pub fn SetupQuerySpaceRequiredOnDriveW( - DiskSpace: HDSKSPC, - DriveSpec: PCWSTR, - SpaceRequired: *mut LONGLONG, - Reserved1: PVOID, - Reserved2: UINT, - ) -> BOOL; - pub fn SetupAdjustDiskSpaceListA( - DiskSpace: HDSKSPC, - DriveRoot: LPCSTR, - Amount: LONGLONG, - Reserved1: PVOID, - Reserved2: UINT, - ) -> BOOL; - pub fn SetupAdjustDiskSpaceListW( - DiskSpace: HDSKSPC, - DriveRoot: LPCWSTR, - Amount: LONGLONG, - Reserved1: PVOID, - Reserved2: UINT, - ) -> BOOL; - pub fn SetupAddToDiskSpaceListA( - DiskSpace: HDSKSPC, - TargetFilespec: PCSTR, - FileSize: LONGLONG, - Operation: UINT, - Reserved1: PVOID, - Reserved2: UINT, - ) -> BOOL; - pub fn SetupAddToDiskSpaceListW( - DiskSpace: HDSKSPC, - TargetFilespec: PCWSTR, - FileSize: LONGLONG, - Operation: UINT, - Reserved1: PVOID, - Reserved2: UINT, - ) -> BOOL; - pub fn SetupAddSectionToDiskSpaceListA( - DiskSpace: HDSKSPC, - InfHandle: HINF, - ListInfHandle: HINF, - SectionName: PCSTR, - Operation: UINT, - Reserved1: PVOID, - Reserved2: UINT, - ) -> BOOL; - pub fn SetupAddSectionToDiskSpaceListW( - DiskSpace: HDSKSPC, - InfHandle: HINF, - ListInfHandle: HINF, - SectionName: PCWSTR, - Operation: UINT, - Reserved1: PVOID, - Reserved2: UINT, - ) -> BOOL; - pub fn SetupAddInstallSectionToDiskSpaceListA( - DiskSpace: HDSKSPC, - InfHandle: HINF, - LayoutInfHandle: HINF, - SectionName: PCSTR, - Reserved1: PVOID, - Reserved2: UINT, - ) -> BOOL; - pub fn SetupAddInstallSectionToDiskSpaceListW( - DiskSpace: HDSKSPC, - InfHandle: HINF, - LayoutInfHandle: HINF, - SectionName: PCWSTR, - Reserved1: PVOID, - Reserved2: UINT, - ) -> BOOL; - pub fn SetupRemoveFromDiskSpaceListA( - DiskSpace: HDSKSPC, - TargetFilespec: PCSTR, - Operation: UINT, - Reserved1: PVOID, - Reserved2: UINT, - ) -> BOOL; - pub fn SetupRemoveFromDiskSpaceListW( - DiskSpace: HDSKSPC, - TargetFilespec: PCWSTR, - Operation: UINT, - Reserved1: PVOID, - Reserved2: UINT, - ) -> BOOL; - pub fn SetupRemoveSectionFromDiskSpaceListA( - DiskSpace: HDSKSPC, - InfHandle: HINF, - ListInfHandle: HINF, - SectionName: PCSTR, - Operation: UINT, - Reserved1: PVOID, - Reserved2: UINT, - ) -> BOOL; - pub fn SetupRemoveSectionFromDiskSpaceListW( - DiskSpace: HDSKSPC, - InfHandle: HINF, - ListInfHandle: HINF, - SectionName: PCWSTR, - Operation: UINT, - Reserved1: PVOID, - Reserved2: UINT, - ) -> BOOL; - pub fn SetupRemoveInstallSectionFromDiskSpaceListA( - DiskSpace: HDSKSPC, - InfHandle: HINF, - LayoutInfHandle: HINF, - SectionName: PCSTR, - Reserved1: PVOID, - Reserved2: UINT, - ) -> BOOL; - pub fn SetupRemoveInstallSectionFromDiskSpaceListW( - DiskSpace: HDSKSPC, - InfHandle: HINF, - LayoutInfHandle: HINF, - SectionName: PCWSTR, - Reserved1: PVOID, - Reserved2: UINT, - ) -> BOOL; - pub fn SetupIterateCabinetA( - CabinetFile: PCSTR, - Reserved: DWORD, - MsgHandler: PSP_FILE_CALLBACK_A, - Context: PVOID, - ) -> BOOL; - pub fn SetupIterateCabinetW( - CabinetFile: PCWSTR, - Reserved: DWORD, - MsgHandler: PSP_FILE_CALLBACK_W, - Context: PVOID, - ) -> BOOL; - pub fn SetupPromptReboot( - FileQueue: HSPFILEQ, - Owner: HWND, - ScanOnly: BOOL, - ) -> INT; -} -pub const SPFILEQ_FILE_IN_USE: INT = 0x00000001; -pub const SPFILEQ_REBOOT_RECOMMENDED: INT = 0x00000002; -pub const SPFILEQ_REBOOT_IN_PROGRESS: INT = 0x00000004; -extern "system" { - pub fn SetupInitDefaultQueueCallback( - OwnerWindow: HWND, - ) -> PVOID; - pub fn SetupInitDefaultQueueCallbackEx( - OwnerWindow: HWND, - AlternateProgressWindow: HWND, - ProgressMessage: UINT, - Reserved1: DWORD, - Reserved2: PVOID, - ) -> PVOID; - pub fn SetupTermDefaultQueueCallback( - Context: PVOID, - ) -> (); - pub fn SetupDefaultQueueCallbackA( - Context: PVOID, - Notification: UINT, - Param1: UINT_PTR, - Param2: UINT_PTR, - ) -> UINT; - pub fn SetupDefaultQueueCallbackW( - Context: PVOID, - Notification: UINT, - Param1: UINT_PTR, - Param2: UINT_PTR, - ) -> UINT; -} -pub const FLG_ADDREG_DELREG_BIT: DWORD = 0x00008000; -pub const FLG_ADDREG_BINVALUETYPE: DWORD = 0x00000001; -pub const FLG_ADDREG_NOCLOBBER: DWORD = 0x00000002; -pub const FLG_ADDREG_DELVAL: DWORD = 0x00000004; -pub const FLG_ADDREG_APPEND: DWORD = 0x00000008; -pub const FLG_ADDREG_KEYONLY: DWORD = 0x00000010; -pub const FLG_ADDREG_OVERWRITEONLY: DWORD = 0x00000020; -pub const FLG_ADDREG_64BITKEY: DWORD = 0x00001000; -pub const FLG_ADDREG_KEYONLY_COMMON: DWORD = 0x00002000; -pub const FLG_ADDREG_32BITKEY: DWORD = 0x00004000; -pub const FLG_ADDREG_TYPE_MASK: DWORD = 0xFFFF0000 | FLG_ADDREG_BINVALUETYPE; -pub const FLG_ADDREG_TYPE_SZ: DWORD = 0x00000000; -pub const FLG_ADDREG_TYPE_MULTI_SZ: DWORD = 0x00010000; -pub const FLG_ADDREG_TYPE_EXPAND_SZ: DWORD = 0x00020000; -pub const FLG_ADDREG_TYPE_BINARY: DWORD = 0x00000000 | FLG_ADDREG_BINVALUETYPE; -pub const FLG_ADDREG_TYPE_DWORD: DWORD = 0x00010000 | FLG_ADDREG_BINVALUETYPE; -pub const FLG_ADDREG_TYPE_NONE: DWORD = 0x00020000 | FLG_ADDREG_BINVALUETYPE; -pub const FLG_DELREG_VALUE: DWORD = 0x00000000; -pub const FLG_DELREG_TYPE_MASK: DWORD = FLG_ADDREG_TYPE_MASK; -pub const FLG_DELREG_TYPE_SZ: DWORD = FLG_ADDREG_TYPE_SZ; -pub const FLG_DELREG_TYPE_MULTI_SZ: DWORD = FLG_ADDREG_TYPE_MULTI_SZ; -pub const FLG_DELREG_TYPE_EXPAND_SZ: DWORD = FLG_ADDREG_TYPE_EXPAND_SZ; -pub const FLG_DELREG_TYPE_BINARY: DWORD = FLG_ADDREG_TYPE_BINARY; -pub const FLG_DELREG_TYPE_DWORD: DWORD = FLG_ADDREG_TYPE_DWORD; -pub const FLG_DELREG_TYPE_NONE: DWORD = FLG_ADDREG_TYPE_NONE; -pub const FLG_DELREG_64BITKEY: DWORD = FLG_ADDREG_64BITKEY; -pub const FLG_DELREG_KEYONLY_COMMON: DWORD = FLG_ADDREG_KEYONLY_COMMON; -pub const FLG_DELREG_32BITKEY: DWORD = FLG_ADDREG_32BITKEY; -pub const FLG_DELREG_OPERATION_MASK: DWORD = 0x000000FE; -pub const FLG_DELREG_MULTI_SZ_DELSTRING: DWORD = FLG_DELREG_TYPE_MULTI_SZ | FLG_ADDREG_DELREG_BIT - | 0x00000002; -pub const FLG_BITREG_CLEARBITS: DWORD = 0x00000000; -pub const FLG_BITREG_SETBITS: DWORD = 0x00000001; -pub const FLG_BITREG_64BITKEY: DWORD = 0x00001000; -pub const FLG_BITREG_32BITKEY: DWORD = 0x00004000; -pub const FLG_INI2REG_64BITKEY: DWORD = 0x00001000; -pub const FLG_INI2REG_32BITKEY: DWORD = 0x00004000; -pub const FLG_REGSVR_DLLREGISTER: DWORD = 0x00000001; -pub const FLG_REGSVR_DLLINSTALL: DWORD = 0x00000002; -pub const FLG_PROFITEM_CURRENTUSER: DWORD = 0x00000001; -pub const FLG_PROFITEM_DELETE: DWORD = 0x00000002; -pub const FLG_PROFITEM_GROUP: DWORD = 0x00000004; -pub const FLG_PROFITEM_CSIDL: DWORD = 0x00000008; -pub const FLG_ADDPROPERTY_NOCLOBBER: DWORD = 0x00000001; -pub const FLG_ADDPROPERTY_OVERWRITEONLY: DWORD = 0x00000002; -pub const FLG_ADDPROPERTY_APPEND: DWORD = 0x00000004; -pub const FLG_ADDPROPERTY_OR: DWORD = 0x00000008; -pub const FLG_ADDPROPERTY_AND: DWORD = 0x00000010; -pub const FLG_DELPROPERTY_MULTI_SZ_DELSTRING: DWORD = 0x00000001; -extern "system" { - pub fn SetupInstallFromInfSectionA( - Owner: HWND, - InfHandle: HINF, - SectionName: PCSTR, - Flags: UINT, - RelativeKeyRoot: HKEY, - SourceRootPath: PCSTR, - CopyFlags: UINT, - MsgHandler: PSP_FILE_CALLBACK_A, - Context: PVOID, - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupInstallFromInfSectionW( - Owner: HWND, - InfHandle: HINF, - SectionName: PCWSTR, - Flags: UINT, - RelativeKeyRoot: HKEY, - SourceRootPath: PCWSTR, - CopyFlags: UINT, - MsgHandler: PSP_FILE_CALLBACK_W, - Context: PVOID, - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; -} -pub const SPINST_LOGCONFIG: UINT = 0x00000001; -pub const SPINST_INIFILES: UINT = 0x00000002; -pub const SPINST_REGISTRY: UINT = 0x00000004; -pub const SPINST_INI2REG: UINT = 0x00000008; -pub const SPINST_FILES: UINT = 0x00000010; -pub const SPINST_BITREG: UINT = 0x00000020; -pub const SPINST_REGSVR: UINT = 0x00000040; -pub const SPINST_UNREGSVR: UINT = 0x00000080; -pub const SPINST_PROFILEITEMS: UINT = 0x00000100; -pub const SPINST_COPYINF: UINT = 0x00000200; -pub const SPINST_PROPERTIES: UINT = 0x00000400; -pub const SPINST_ALL: UINT = 0x000007ff; -pub const SPINST_SINGLESECTION: UINT = 0x00010000; -pub const SPINST_LOGCONFIG_IS_FORCED: UINT = 0x00020000; -pub const SPINST_LOGCONFIGS_ARE_OVERRIDES: UINT = 0x00040000; -pub const SPINST_REGISTERCALLBACKAWARE: UINT = 0x00080000; -pub const SPINST_DEVICEINSTALL: UINT = 0x00100000; -extern "system" { - pub fn SetupInstallFilesFromInfSectionA( - InfHandle: HINF, - LayoutInfHandle: HINF, - FileQueue: HSPFILEQ, - SectionName: PCSTR, - SourceRootPath: PCSTR, - CopyFlags: UINT, - ) -> BOOL; - pub fn SetupInstallFilesFromInfSectionW( - InfHandle: HINF, - LayoutInfHandle: HINF, - FileQueue: HSPFILEQ, - SectionName: PCWSTR, - SourceRootPath: PCWSTR, - CopyFlags: UINT, - ) -> BOOL; -} -pub const SPSVCINST_TAGTOFRONT: DWORD = 0x00000001; -pub const SPSVCINST_ASSOCSERVICE: DWORD = 0x00000002; -pub const SPSVCINST_DELETEEVENTLOGENTRY: DWORD = 0x00000004; -pub const SPSVCINST_NOCLOBBER_DISPLAYNAME: DWORD = 0x00000008; -pub const SPSVCINST_NOCLOBBER_STARTTYPE: DWORD = 0x00000010; -pub const SPSVCINST_NOCLOBBER_ERRORCONTROL: DWORD = 0x00000020; -pub const SPSVCINST_NOCLOBBER_LOADORDERGROUP: DWORD = 0x00000040; -pub const SPSVCINST_NOCLOBBER_DEPENDENCIES: DWORD = 0x00000080; -pub const SPSVCINST_NOCLOBBER_DESCRIPTION: DWORD = 0x00000100; -pub const SPSVCINST_STOPSERVICE: DWORD = 0x00000200; -pub const SPSVCINST_CLOBBER_SECURITY: DWORD = 0x00000400; -pub const SPSVCINST_STARTSERVICE: DWORD = 0x00000800; -pub const SPSVCINST_NOCLOBBER_REQUIREDPRIVILEGES: DWORD = 0x00001000; -extern "system" { - pub fn SetupInstallServicesFromInfSectionA( - InfHandle: HINF, - SectionName: PCSTR, - Flags: DWORD, - ) -> BOOL; - pub fn SetupInstallServicesFromInfSectionW( - InfHandle: HINF, - SectionName: PCWSTR, - Flags: DWORD, - ) -> BOOL; - pub fn SetupInstallServicesFromInfSectionExA( - InfHandle: HINF, - SectionName: PCSTR, - Flags: DWORD, - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - Reserved1: PVOID, - Reserved2: PVOID, - ) -> BOOL; - pub fn SetupInstallServicesFromInfSectionExW( - InfHandle: HINF, - SectionName: PCWSTR, - Flags: DWORD, - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - Reserved1: PVOID, - Reserved2: PVOID, - ) -> BOOL; - pub fn InstallHinfSectionA( - Window: HWND, - ModuleHandle: HINSTANCE, - CommandLine: PCSTR, - ShowCommand: INT, - ) -> (); - pub fn InstallHinfSectionW( - Window: HWND, - ModuleHandle: HINSTANCE, - CommandLine: PCWSTR, - ShowCommand: INT, - ) -> (); -} -pub type HSPFILELOG = PVOID; -extern "system" { - pub fn SetupInitializeFileLogA( - LogFileName: PCSTR, - Flags: DWORD, - ) -> HSPFILELOG; - pub fn SetupInitializeFileLogW( - LogFileName: PCWSTR, - Flags: DWORD, - ) -> HSPFILELOG; -} -pub const SPFILELOG_SYSTEMLOG: DWORD = 0x00000001; -pub const SPFILELOG_FORCENEW: DWORD = 0x00000002; -pub const SPFILELOG_QUERYONLY: DWORD = 0x00000004; -extern "system" { - pub fn SetupTerminateFileLog( - FileLogHandle: HSPFILELOG, - ) -> BOOL; - pub fn SetupLogFileA( - FileLogHandle: HSPFILELOG, - LogSectionName: PCSTR, - SourceFilename: PCSTR, - TargetFilename: PCSTR, - Checksum: DWORD, - DiskTagfile: PCSTR, - DiskDescription: PCSTR, - OtherInfo: PCSTR, - Flags: DWORD, - ) -> BOOL; - pub fn SetupLogFileW( - FileLogHandle: HSPFILELOG, - LogSectionName: PCWSTR, - SourceFilename: PCWSTR, - TargetFilename: PCWSTR, - Checksum: DWORD, - DiskTagfile: PCWSTR, - DiskDescription: PCWSTR, - OtherInfo: PCWSTR, - Flags: DWORD, - ) -> BOOL; -} -pub const SPFILELOG_OEMFILE: DWORD = 0x00000001; -extern "system" { - pub fn SetupRemoveFileLogEntryA( - FileLogHandle: HSPFILELOG, - LogSectionName: PCSTR, - TargetFilename: PCSTR, - ) -> BOOL; - pub fn SetupRemoveFileLogEntryW( - FileLogHandle: HSPFILELOG, - LogSectionName: PCWSTR, - TargetFilename: PCWSTR, - ) -> BOOL; -} -ENUM!{enum SetupFileLogInfo { - SetupFileLogSourceFilename, - SetupFileLogChecksum, - SetupFileLogDiskTagfile, - SetupFileLogDiskDescription, - SetupFileLogOtherInfo, - SetupFileLogMax, -}} -extern "system" { - pub fn SetupQueryFileLogA( - FileLogHandle: HSPFILELOG, - LogSectionName: PCSTR, - TargetFilename: PCSTR, - DesiredInfo: SetupFileLogInfo, - DataOut: PSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupQueryFileLogW( - FileLogHandle: HSPFILELOG, - LogSectionName: PCWSTR, - TargetFilename: PCWSTR, - DesiredInfo: SetupFileLogInfo, - DataOut: PWSTR, - ReturnBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; -} -pub type LogSeverity = DWORD; -pub const LogSevInformation: LogSeverity = 0x00000000; -pub const LogSevWarning: LogSeverity = 0x00000001; -pub const LogSevError: LogSeverity = 0x00000002; -pub const LogSevFatalError: LogSeverity = 0x00000003; -pub const LogSevMaximum: LogSeverity = 0x00000004; -extern "system" { - pub fn SetupOpenLog( - Erase: BOOL, - ) -> BOOL; - pub fn SetupLogErrorA( - MessageString: LPCSTR, - Severity: LogSeverity, - ) -> BOOL; - pub fn SetupLogErrorW( - MessageString: LPCWSTR, - Severity: LogSeverity, - ) -> BOOL; - pub fn SetupCloseLog() -> (); - pub fn SetupGetThreadLogToken() -> SP_LOG_TOKEN; - pub fn SetupSetThreadLogToken( - LogToken: SP_LOG_TOKEN, - ) -> (); -} -//pub fn SetupWriteTextLog() -> (); -//pub fn SetupWriteTextLogError() -> (); -extern "system" { - pub fn SetupWriteTextLogInfLine( - LogToken: SP_LOG_TOKEN, - Flags: DWORD, - InfHandle: HINF, - Context: PINFCONTEXT, - ) -> (); - pub fn SetupGetBackupInformationA( - QueueHandle: HSPFILEQ, - BackupParams: PSP_BACKUP_QUEUE_PARAMS_A, - ) -> BOOL; - pub fn SetupGetBackupInformationW( - QueueHandle: HSPFILEQ, - BackupParams: PSP_BACKUP_QUEUE_PARAMS_W, - ) -> BOOL; - pub fn SetupPrepareQueueForRestoreA( - QueueHandle: HSPFILEQ, - BackupPath: PCSTR, - RestoreFlags: DWORD, - ) -> BOOL; - pub fn SetupPrepareQueueForRestoreW( - QueueHandle: HSPFILEQ, - BackupPath: PCWSTR, - RestoreFlags: DWORD, - ) -> BOOL; - pub fn SetupSetNonInteractiveMode( - NonInteractiveFlag: BOOL, - ) -> BOOL; - pub fn SetupGetNonInteractiveMode() -> BOOL; - pub fn SetupDiCreateDeviceInfoList( - ClassGuid: *const GUID, - hwndParent: HWND, - ) -> HDEVINFO; - pub fn SetupDiCreateDeviceInfoListExA( - ClassGuid: *const GUID, - hwndParent: HWND, - MachineName: PCSTR, - Reserved: PVOID, - ) -> HDEVINFO; - pub fn SetupDiCreateDeviceInfoListExW( - ClassGuid: *const GUID, - hwndParent: HWND, - MachineName: PCWSTR, - Reserved: PVOID, - ) -> HDEVINFO; - pub fn SetupDiGetDeviceInfoListClass( - DeviceInfoSet: HDEVINFO, - ClassGuid: LPGUID, - ) -> BOOL; - pub fn SetupDiGetDeviceInfoListDetailA( - DeviceInfoSet: HDEVINFO, - DeviceInfoSetDetailData: PSP_DEVINFO_LIST_DETAIL_DATA_A, - ) -> BOOL; - pub fn SetupDiGetDeviceInfoListDetailW( - DeviceInfoSet: HDEVINFO, - DeviceInfoSetDetailData: PSP_DEVINFO_LIST_DETAIL_DATA_W, - ) -> BOOL; -} -pub const DICD_GENERATE_ID: DWORD = 0x00000001; -pub const DICD_INHERIT_CLASSDRVS: DWORD = 0x00000002; -extern "system" { - pub fn SetupDiCreateDeviceInfoA( - DeviceInfoSet: HDEVINFO, - DeviceName: PCSTR, - ClassGuid: *const GUID, - DeviceDescription: PCSTR, - hwndParent: HWND, - CreationFlags: DWORD, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiCreateDeviceInfoW( - DeviceInfoSet: HDEVINFO, - DeviceName: PCWSTR, - ClassGuid: *const GUID, - DeviceDescription: PCWSTR, - hwndParent: HWND, - CreationFlags: DWORD, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; -} -pub const DIOD_INHERIT_CLASSDRVS: DWORD = 0x00000002; -pub const DIOD_CANCEL_REMOVE: DWORD = 0x00000004; -extern "system" { - pub fn SetupDiOpenDeviceInfoA( - DeviceInfoSet: HDEVINFO, - DeviceInstanceId: PCSTR, - hwndParent: HWND, - OpenFlags: DWORD, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiOpenDeviceInfoW( - DeviceInfoSet: HDEVINFO, - DeviceInstanceId: PCWSTR, - hwndParent: HWND, - OpenFlags: DWORD, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiGetDeviceInstanceIdA( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - DeviceInstanceId: PSTR, - DeviceInstanceIdSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupDiGetDeviceInstanceIdW( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - DeviceInstanceId: PWSTR, - DeviceInstanceIdSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupDiDeleteDeviceInfo( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiEnumDeviceInfo( - DeviceInfoSet: HDEVINFO, - MemberIndex: DWORD, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiDestroyDeviceInfoList( - DeviceInfoSet: HDEVINFO, - ) -> BOOL; - pub fn SetupDiEnumDeviceInterfaces( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - InterfaceClassGuid: *const GUID, - MemberIndex: DWORD, - DeviceInterfaceData: PSP_DEVICE_INTERFACE_DATA, - ) -> BOOL; - pub fn SetupDiCreateDeviceInterfaceA( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - InterfaceClassGuid: *const GUID, - ReferenceString: PCSTR, - CreationFlags: DWORD, - DeviceInterfaceData: PSP_DEVICE_INTERFACE_DATA, - ) -> BOOL; - pub fn SetupDiCreateDeviceInterfaceW( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - InterfaceClassGuid: *const GUID, - ReferenceString: PCWSTR, - CreationFlags: DWORD, - DeviceInterfaceData: PSP_DEVICE_INTERFACE_DATA, - ) -> BOOL; -} -pub const DIODI_NO_ADD: DWORD = 0x00000001; -extern "system" { - pub fn SetupDiOpenDeviceInterfaceA( - DeviceInfoSet: HDEVINFO, - DevicePath: PCSTR, - OpenFlags: DWORD, - DeviceInterfaceData: PSP_DEVICE_INTERFACE_DATA, - ) -> BOOL; - pub fn SetupDiOpenDeviceInterfaceW( - DeviceInfoSet: HDEVINFO, - DevicePath: PCWSTR, - OpenFlags: DWORD, - DeviceInterfaceData: PSP_DEVICE_INTERFACE_DATA, - ) -> BOOL; - pub fn SetupDiGetDeviceInterfaceAlias( - DeviceInfoSet: HDEVINFO, - DeviceInterfaceData: PSP_DEVICE_INTERFACE_DATA, - AliasInterfaceClassGuid: *const GUID, - AliasDeviceInterfaceData: PSP_DEVICE_INTERFACE_DATA, - ) -> BOOL; - pub fn SetupDiDeleteDeviceInterfaceData( - DeviceInfoSet: HDEVINFO, - DeviceInterfaceData: PSP_DEVICE_INTERFACE_DATA, - ) -> BOOL; - pub fn SetupDiRemoveDeviceInterface( - DeviceInfoSet: HDEVINFO, - DeviceInterfaceData: PSP_DEVICE_INTERFACE_DATA, - ) -> BOOL; - pub fn SetupDiGetDeviceInterfaceDetailA( - DeviceInfoSet: HDEVINFO, - DeviceInterfaceData: PSP_DEVICE_INTERFACE_DATA, - DeviceInterfaceDetailData: PSP_DEVICE_INTERFACE_DETAIL_DATA_A, - DeviceInterfaceDetailDataSize: DWORD, - RequiredSize: PDWORD, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiGetDeviceInterfaceDetailW( - DeviceInfoSet: HDEVINFO, - DeviceInterfaceData: PSP_DEVICE_INTERFACE_DATA, - DeviceInterfaceDetailData: PSP_DEVICE_INTERFACE_DETAIL_DATA_W, - DeviceInterfaceDetailDataSize: DWORD, - RequiredSize: PDWORD, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiInstallDeviceInterfaces( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiSetDeviceInterfaceDefault( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - Flags: DWORD, - Reserved: PVOID, - ) -> BOOL; -} -pub const SPRDI_FIND_DUPS: DWORD = 0x00000001; -extern "system" { - pub fn SetupDiRegisterDeviceInfo( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - Flags: DWORD, - CompareProc: PSP_DETSIG_CMPPROC, - CompareContext: PVOID, - DupDeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; -} -pub const SPDIT_NODRIVER: DWORD = 0x00000000; -pub const SPDIT_CLASSDRIVER: DWORD = 0x00000001; -pub const SPDIT_COMPATDRIVER: DWORD = 0x00000002; -extern "system" { - pub fn SetupDiBuildDriverInfoList( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - DriverType: DWORD, - ) -> BOOL; - pub fn SetupDiCancelDriverInfoSearch( - DeviceInfoSet: HDEVINFO, - ) -> BOOL; - pub fn SetupDiEnumDriverInfoA( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - DriverType: DWORD, - MemberIndex: DWORD, - DriverInfoData: PSP_DRVINFO_DATA_A, - ) -> BOOL; - pub fn SetupDiEnumDriverInfoW( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - DriverType: DWORD, - MemberIndex: DWORD, - DriverInfoData: PSP_DRVINFO_DATA_W, - ) -> BOOL; - pub fn SetupDiGetSelectedDriverA( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - DriverInfoData: PSP_DRVINFO_DATA_A, - ) -> BOOL; - pub fn SetupDiGetSelectedDriverW( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - DriverInfoData: PSP_DRVINFO_DATA_W, - ) -> BOOL; - pub fn SetupDiSetSelectedDriverA( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - DriverInfoData: PSP_DRVINFO_DATA_A, - ) -> BOOL; - pub fn SetupDiSetSelectedDriverW( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - DriverInfoData: PSP_DRVINFO_DATA_W, - ) -> BOOL; - pub fn SetupDiGetDriverInfoDetailA( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - DriverInfoData: PSP_DRVINFO_DATA_A, - DriverInfoDetailData: PSP_DRVINFO_DETAIL_DATA_A, - DriverInfoDetailDataSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupDiGetDriverInfoDetailW( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - DriverInfoData: PSP_DRVINFO_DATA_W, - DriverInfoDetailData: PSP_DRVINFO_DETAIL_DATA_W, - DriverInfoDetailDataSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupDiDestroyDriverInfoList( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - DriverType: DWORD, - ) -> BOOL; -} -pub const DIGCF_DEFAULT: DWORD = 0x00000001; -pub const DIGCF_PRESENT: DWORD = 0x00000002; -pub const DIGCF_ALLCLASSES: DWORD = 0x00000004; -pub const DIGCF_PROFILE: DWORD = 0x00000008; -pub const DIGCF_DEVICEINTERFACE: DWORD = 0x00000010; -extern "system" { - pub fn SetupDiGetClassDevsA( - ClassGuid: *const GUID, - Enumerator: PCSTR, - hwndParent: HWND, - Flags: DWORD, - ) -> HDEVINFO; - pub fn SetupDiGetClassDevsW( - ClassGuid: *const GUID, - Enumerator: PCWSTR, - hwndParent: HWND, - Flags: DWORD, - ) -> HDEVINFO; - pub fn SetupDiGetClassDevsExA( - ClassGuid: *const GUID, - Enumerator: PCSTR, - hwndParent: HWND, - Flags: DWORD, - DeviceInfoSet: HDEVINFO, - MachineName: PCSTR, - Reserved: PVOID, - ) -> HDEVINFO; - pub fn SetupDiGetClassDevsExW( - ClassGuid: *const GUID, - Enumerator: PCWSTR, - hwndParent: HWND, - Flags: DWORD, - DeviceInfoSet: HDEVINFO, - MachineName: PCWSTR, - Reserved: PVOID, - ) -> HDEVINFO; - pub fn SetupDiGetINFClassA( - InfName: PCSTR, - ClassGuid: LPGUID, - ClassName: PSTR, - ClassNameSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupDiGetINFClassW( - InfName: PCWSTR, - ClassGuid: LPGUID, - ClassName: PWSTR, - ClassNameSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; -} -pub const DIBCI_NOINSTALLCLASS: DWORD = 0x00000001; -pub const DIBCI_NODISPLAYCLASS: DWORD = 0x00000002; -extern "system" { - pub fn SetupDiBuildClassInfoList( - Flags: DWORD, - ClassGuidList: LPGUID, - ClassGuidListSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupDiBuildClassInfoListExA( - Flags: DWORD, - ClassGuidList: LPGUID, - ClassGuidListSize: DWORD, - RequiredSize: PDWORD, - MachineName: PCSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiBuildClassInfoListExW( - Flags: DWORD, - ClassGuidList: LPGUID, - ClassGuidListSize: DWORD, - RequiredSize: PDWORD, - MachineName: PCWSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiGetClassDescriptionA( - ClassGuid: *const GUID, - ClassDescription: PSTR, - ClassDescriptionSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupDiGetClassDescriptionW( - ClassGuid: *const GUID, - ClassDescription: PWSTR, - ClassDescriptionSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupDiGetClassDescriptionExA( - ClassGuid: *const GUID, - ClassDescription: PSTR, - ClassDescriptionSize: DWORD, - RequiredSize: PDWORD, - MachineName: PCSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiGetClassDescriptionExW( - ClassGuid: *const GUID, - ClassDescription: PWSTR, - ClassDescriptionSize: DWORD, - RequiredSize: PDWORD, - MachineName: PCWSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiCallClassInstaller( - InstallFunction: DI_FUNCTION, - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiSelectDevice( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiSelectBestCompatDrv( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiInstallDevice( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiInstallDriverFiles( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiRegisterCoDeviceInstallers( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiRemoveDevice( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiUnremoveDevice( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiRestartDevices( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiChangeState( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiInstallClassA( - hwndParent: HWND, - InfFileName: PCSTR, - Flags: DWORD, - FileQueue: HSPFILEQ, - ) -> BOOL; - pub fn SetupDiInstallClassW( - hwndParent: HWND, - InfFileName: PCWSTR, - Flags: DWORD, - FileQueue: HSPFILEQ, - ) -> BOOL; - pub fn SetupDiInstallClassExA( - hwndParent: HWND, - InfFileName: PCSTR, - Flags: DWORD, - FileQueue: HSPFILEQ, - InterfaceClassGuid: *const GUID, - Reserved1: PVOID, - Reserved2: PVOID, - ) -> BOOL; - pub fn SetupDiInstallClassExW( - hwndParent: HWND, - InfFileName: PCWSTR, - Flags: DWORD, - FileQueue: HSPFILEQ, - InterfaceClassGuid: *const GUID, - Reserved1: PVOID, - Reserved2: PVOID, - ) -> BOOL; - pub fn SetupDiOpenClassRegKey( - ClassGuid: *const GUID, - samDesired: REGSAM, - ) -> HKEY; -} -pub const DIOCR_INSTALLER: DWORD = 0x00000001; -pub const DIOCR_INTERFACE: DWORD = 0x00000002; -extern "system" { - pub fn SetupDiOpenClassRegKeyExA( - ClassGuid: *const GUID, - samDesired: REGSAM, - Flags: DWORD, - MachineName: PCSTR, - Reserved: PVOID, - ) -> HKEY; - pub fn SetupDiOpenClassRegKeyExW( - ClassGuid: *const GUID, - samDesired: REGSAM, - Flags: DWORD, - MachineName: PCWSTR, - Reserved: PVOID, - ) -> HKEY; - pub fn SetupDiCreateDeviceInterfaceRegKeyA( - DeviceInfoSet: HDEVINFO, - DeviceInterfaceData: PSP_DEVICE_INTERFACE_DATA, - Reserved: DWORD, - samDesired: REGSAM, - InfHandle: HINF, - InfSectionName: PCSTR, - ) -> HKEY; - pub fn SetupDiCreateDeviceInterfaceRegKeyW( - DeviceInfoSet: HDEVINFO, - DeviceInterfaceData: PSP_DEVICE_INTERFACE_DATA, - Reserved: DWORD, - samDesired: REGSAM, - InfHandle: HINF, - InfSectionName: PCWSTR, - ) -> HKEY; - pub fn SetupDiOpenDeviceInterfaceRegKey( - DeviceInfoSet: HDEVINFO, - DeviceInterfaceData: PSP_DEVICE_INTERFACE_DATA, - Reserved: DWORD, - samDesired: REGSAM, - ) -> HKEY; - pub fn SetupDiDeleteDeviceInterfaceRegKey( - DeviceInfoSet: HDEVINFO, - DeviceInterfaceData: PSP_DEVICE_INTERFACE_DATA, - Reserved: DWORD, - ) -> BOOL; -} -pub const DIREG_DEV: DWORD = 0x00000001; -pub const DIREG_DRV: DWORD = 0x00000002; -pub const DIREG_BOTH: DWORD = 0x00000004; -extern "system" { - pub fn SetupDiCreateDevRegKeyA( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - Scope: DWORD, - HwProfile: DWORD, - KeyType: DWORD, - InfHandle: HINF, - InfSectionName: PCSTR, - ) -> HKEY; - pub fn SetupDiCreateDevRegKeyW( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - Scope: DWORD, - HwProfile: DWORD, - KeyType: DWORD, - InfHandle: HINF, - InfSectionName: PCWSTR, - ) -> HKEY; - pub fn SetupDiOpenDevRegKey( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - Scope: DWORD, - HwProfile: DWORD, - KeyType: DWORD, - samDesired: REGSAM, - ) -> HKEY; - pub fn SetupDiDeleteDevRegKey( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - Scope: DWORD, - HwProfile: DWORD, - KeyType: DWORD, - ) -> BOOL; - pub fn SetupDiGetHwProfileList( - HwProfileList: PDWORD, - HwProfileListSize: DWORD, - RequiredSize: PDWORD, - CurrentlyActiveIndex: PDWORD, - ) -> BOOL; - pub fn SetupDiGetHwProfileListExA( - HwProfileList: PDWORD, - HwProfileListSize: DWORD, - RequiredSize: PDWORD, - CurrentlyActiveIndex: PDWORD, - MachineName: PCSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiGetHwProfileListExW( - HwProfileList: PDWORD, - HwProfileListSize: DWORD, - RequiredSize: PDWORD, - CurrentlyActiveIndex: PDWORD, - MachineName: PCWSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiGetDevicePropertyKeys( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - PropertyKeyArray: *mut DEVPROPKEY, - PropertyKeyCount: DWORD, - RequiredPropertyKeyCount: PDWORD, - Flags: DWORD, - ) -> BOOL; - pub fn SetupDiGetDevicePropertyW( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - PropertyKey: *const DEVPROPKEY, - PropertyType: *mut DEVPROPTYPE, - PropertyBuffer: PBYTE, - PropertyBufferSize: DWORD, - RequiredSize: PDWORD, - Flags: DWORD, - ) -> BOOL; - pub fn SetupDiSetDevicePropertyW( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - PropertyKey: *const DEVPROPKEY, - PropertyType: DEVPROPTYPE, - PropertyBuffer: *const BYTE, - PropertyBufferSize: DWORD, - Flags: DWORD, - ) -> BOOL; - pub fn SetupDiGetDeviceInterfacePropertyKeys( - DeviceInfoSet: HDEVINFO, - DeviceInterfaceData: PSP_DEVICE_INTERFACE_DATA, - PropertyKeyArray: *mut DEVPROPKEY, - PropertyKeyCount: DWORD, - RequiredPropertyKeyCount: PDWORD, - Flags: DWORD, - ) -> BOOL; - pub fn SetupDiGetDeviceInterfacePropertyW( - DeviceInfoSet: HDEVINFO, - DeviceInterfaceData: PSP_DEVICE_INTERFACE_DATA, - PropertyKey: *const DEVPROPKEY, - PropertyType: *mut DEVPROPTYPE, - PropertyBuffer: PBYTE, - PropertyBufferSize: DWORD, - RequiredSize: PDWORD, - Flags: DWORD, - ) -> BOOL; - pub fn SetupDiSetDeviceInterfacePropertyW( - DeviceInfoSet: HDEVINFO, - DeviceInterfaceData: PSP_DEVICE_INTERFACE_DATA, - PropertyKey: *const DEVPROPKEY, - PropertyType: DEVPROPTYPE, - PropertyBuffer: *const BYTE, - PropertyBufferSize: DWORD, - Flags: DWORD, - ) -> BOOL; -} -pub const DICLASSPROP_INSTALLER: DWORD = 0x00000001; -pub const DICLASSPROP_INTERFACE: DWORD = 0x00000002; -extern "system" { - pub fn SetupDiGetClassPropertyKeys( - ClassGuid: *const GUID, - PropertyKeyArray: *mut DEVPROPKEY, - PropertyKeyCount: DWORD, - RequiredPropertyKeyCount: PDWORD, - Flags: DWORD, - ) -> BOOL; - pub fn SetupDiGetClassPropertyKeysExW( - ClassGuid: *const GUID, - PropertyKeyArray: *mut DEVPROPKEY, - PropertyKeyCount: DWORD, - RequiredPropertyKeyCount: PDWORD, - Flags: DWORD, - MachineName: PCWSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiGetClassPropertyW( - ClassGuid: *const GUID, - PropertyKey: *const DEVPROPKEY, - PropertyType: *mut DEVPROPTYPE, - PropertyBuffer: PBYTE, - PropertyBufferSize: DWORD, - RequiredSize: PDWORD, - Flags: DWORD, - ) -> BOOL; - pub fn SetupDiGetClassPropertyExW( - ClassGuid: *const GUID, - PropertyKey: *const DEVPROPKEY, - PropertyType: *mut DEVPROPTYPE, - PropertyBuffer: PBYTE, - PropertyBufferSize: DWORD, - RequiredSize: PDWORD, - Flags: DWORD, - MachineName: PCWSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiSetClassPropertyW( - ClassGuid: *const GUID, - PropertyKey: *const DEVPROPKEY, - PropertyType: DEVPROPTYPE, - PropertyBuffer: *const BYTE, - PropertyBufferSize: DWORD, - Flags: DWORD, - ) -> BOOL; - pub fn SetupDiSetClassPropertyExW( - ClassGuid: *const GUID, - PropertyKey: *const DEVPROPKEY, - PropertyType: DEVPROPTYPE, - PropertyBuffer: *const BYTE, - PropertyBufferSize: DWORD, - Flags: DWORD, - MachineName: PCWSTR, - Reserved: PVOID, - ) -> BOOL; -} -pub const SPDRP_DEVICEDESC: DWORD = 0x00000000; -pub const SPDRP_HARDWAREID: DWORD = 0x00000001; -pub const SPDRP_COMPATIBLEIDS: DWORD = 0x00000002; -pub const SPDRP_UNUSED0: DWORD = 0x00000003; -pub const SPDRP_SERVICE: DWORD = 0x00000004; -pub const SPDRP_UNUSED1: DWORD = 0x00000005; -pub const SPDRP_UNUSED2: DWORD = 0x00000006; -pub const SPDRP_CLASS: DWORD = 0x00000007; -pub const SPDRP_CLASSGUID: DWORD = 0x00000008; -pub const SPDRP_DRIVER: DWORD = 0x00000009; -pub const SPDRP_CONFIGFLAGS: DWORD = 0x0000000A; -pub const SPDRP_MFG: DWORD = 0x0000000B; -pub const SPDRP_FRIENDLYNAME: DWORD = 0x0000000C; -pub const SPDRP_LOCATION_INFORMATION: DWORD = 0x0000000D; -pub const SPDRP_PHYSICAL_DEVICE_OBJECT_NAME: DWORD = 0x0000000E; -pub const SPDRP_CAPABILITIES: DWORD = 0x0000000F; -pub const SPDRP_UI_NUMBER: DWORD = 0x00000010; -pub const SPDRP_UPPERFILTERS: DWORD = 0x00000011; -pub const SPDRP_LOWERFILTERS: DWORD = 0x00000012; -pub const SPDRP_BUSTYPEGUID: DWORD = 0x00000013; -pub const SPDRP_LEGACYBUSTYPE: DWORD = 0x00000014; -pub const SPDRP_BUSNUMBER: DWORD = 0x00000015; -pub const SPDRP_ENUMERATOR_NAME: DWORD = 0x00000016; -pub const SPDRP_SECURITY: DWORD = 0x00000017; -pub const SPDRP_SECURITY_SDS: DWORD = 0x00000018; -pub const SPDRP_DEVTYPE: DWORD = 0x00000019; -pub const SPDRP_EXCLUSIVE: DWORD = 0x0000001A; -pub const SPDRP_CHARACTERISTICS: DWORD = 0x0000001B; -pub const SPDRP_ADDRESS: DWORD = 0x0000001C; -pub const SPDRP_UI_NUMBER_DESC_FORMAT: DWORD = 0x0000001D; -pub const SPDRP_DEVICE_POWER_DATA: DWORD = 0x0000001E; -pub const SPDRP_REMOVAL_POLICY: DWORD = 0x0000001F; -pub const SPDRP_REMOVAL_POLICY_HW_DEFAULT: DWORD = 0x00000020; -pub const SPDRP_REMOVAL_POLICY_OVERRIDE: DWORD = 0x00000021; -pub const SPDRP_INSTALL_STATE: DWORD = 0x00000022; -pub const SPDRP_LOCATION_PATHS: DWORD = 0x00000023; -pub const SPDRP_BASE_CONTAINERID: DWORD = 0x00000024; -pub const SPDRP_MAXIMUM_PROPERTY: DWORD = 0x00000025; -pub const SPCRP_UPPERFILTERS: DWORD = 0x00000011; -pub const SPCRP_LOWERFILTERS: DWORD = 0x00000012; -pub const SPCRP_SECURITY: DWORD = 0x00000017; -pub const SPCRP_SECURITY_SDS: DWORD = 0x00000018; -pub const SPCRP_DEVTYPE: DWORD = 0x00000019; -pub const SPCRP_EXCLUSIVE: DWORD = 0x0000001A; -pub const SPCRP_CHARACTERISTICS: DWORD = 0x0000001B; -pub const SPCRP_MAXIMUM_PROPERTY: DWORD = 0x0000001C; -extern "system" { - pub fn SetupDiGetDeviceRegistryPropertyA( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - Property: DWORD, - PropertyRegDataType: PDWORD, - PropertyBuffer: PBYTE, - PropertyBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupDiGetDeviceRegistryPropertyW( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - Property: DWORD, - PropertyRegDataType: PDWORD, - PropertyBuffer: PBYTE, - PropertyBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupDiGetClassRegistryPropertyA( - ClassGuid: *const GUID, - Property: DWORD, - PropertyRegDataType: PDWORD, - PropertyBuffer: PBYTE, - PropertyBufferSize: DWORD, - RequiredSize: PDWORD, - MachineName: PCSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiGetClassRegistryPropertyW( - ClassGuid: *const GUID, - Property: DWORD, - PropertyRegDataType: PDWORD, - PropertyBuffer: PBYTE, - PropertyBufferSize: DWORD, - RequiredSize: PDWORD, - MachineName: PCWSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiSetDeviceRegistryPropertyA( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - Property: DWORD, - PropertyBuffer: *const BYTE, - PropertyBufferSize: DWORD, - ) -> BOOL; - pub fn SetupDiSetDeviceRegistryPropertyW( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - Property: DWORD, - PropertyBuffer: *const BYTE, - PropertyBufferSize: DWORD, - ) -> BOOL; - pub fn SetupDiSetClassRegistryPropertyA( - ClassGuid: *const GUID, - Property: DWORD, - PropertyBuffer: *const BYTE, - PropertyBufferSize: DWORD, - MachineName: PCSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiSetClassRegistryPropertyW( - ClassGuid: *const GUID, - Property: DWORD, - PropertyBuffer: *const BYTE, - PropertyBufferSize: DWORD, - MachineName: PCWSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiGetDeviceInstallParamsA( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - DeviceInstallParams: PSP_DEVINSTALL_PARAMS_A, - ) -> BOOL; - pub fn SetupDiGetDeviceInstallParamsW( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - DeviceInstallParams: PSP_DEVINSTALL_PARAMS_W, - ) -> BOOL; - pub fn SetupDiGetClassInstallParamsA( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ClassInstallParams: PSP_CLASSINSTALL_HEADER, - ClassInstallParamsSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupDiGetClassInstallParamsW( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ClassInstallParams: PSP_CLASSINSTALL_HEADER, - ClassInstallParamsSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupDiSetDeviceInstallParamsA( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - DeviceInstallParams: PSP_DEVINSTALL_PARAMS_A, - ) -> BOOL; - pub fn SetupDiSetDeviceInstallParamsW( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - DeviceInstallParams: PSP_DEVINSTALL_PARAMS_W, - ) -> BOOL; - pub fn SetupDiSetClassInstallParamsA( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ClassInstallParams: PSP_CLASSINSTALL_HEADER, - ClassInstallParamsSize: DWORD, - ) -> BOOL; - pub fn SetupDiSetClassInstallParamsW( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ClassInstallParams: PSP_CLASSINSTALL_HEADER, - ClassInstallParamsSize: DWORD, - ) -> BOOL; - pub fn SetupDiGetDriverInstallParamsA( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - DriverInfoData: PSP_DRVINFO_DATA_A, - DriverInstallParams: PSP_DRVINSTALL_PARAMS, - ) -> BOOL; - pub fn SetupDiGetDriverInstallParamsW( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - DriverInfoData: PSP_DRVINFO_DATA_W, - DriverInstallParams: PSP_DRVINSTALL_PARAMS, - ) -> BOOL; - pub fn SetupDiSetDriverInstallParamsA( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - DriverInfoData: PSP_DRVINFO_DATA_A, - DriverInstallParams: PSP_DRVINSTALL_PARAMS, - ) -> BOOL; - pub fn SetupDiSetDriverInstallParamsW( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - DriverInfoData: PSP_DRVINFO_DATA_W, - DriverInstallParams: PSP_DRVINSTALL_PARAMS, - ) -> BOOL; - pub fn SetupDiLoadClassIcon( - ClassGuid: *const GUID, - LargeIcon: *mut HICON, - MiniIconIndex: PINT, - ) -> BOOL; - pub fn SetupDiLoadDeviceIcon( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - cxIcon: UINT, - cyIcon: UINT, - Flags: DWORD, - hIcon: *mut HICON, - ) -> BOOL; -} -pub const DMI_MASK: DWORD = 0x00000001; -pub const DMI_BKCOLOR: DWORD = 0x00000002; -pub const DMI_USERECT: DWORD = 0x00000004; -extern "system" { - pub fn SetupDiDrawMiniIcon( - hdc: HDC, - rc: RECT, - MiniIconIndex: INT, - Flags: DWORD, - ) -> INT; - pub fn SetupDiGetClassBitmapIndex( - ClassGuid: *const GUID, - MiniIconIndex: PINT, - ) -> BOOL; - pub fn SetupDiGetClassImageList( - ClassImageListData: PSP_CLASSIMAGELIST_DATA, - ) -> BOOL; - pub fn SetupDiGetClassImageListExA( - ClassImageListData: PSP_CLASSIMAGELIST_DATA, - MachineName: PCSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiGetClassImageListExW( - ClassImageListData: PSP_CLASSIMAGELIST_DATA, - MachineName: PCWSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiGetClassImageIndex( - ClassImageListData: PSP_CLASSIMAGELIST_DATA, - ClassGuid: *const GUID, - ImageIndex: PINT, - ) -> BOOL; - pub fn SetupDiDestroyClassImageList( - ClassImageListData: PSP_CLASSIMAGELIST_DATA, - ) -> BOOL; -} -pub const DIGCDP_FLAG_BASIC: DWORD = 0x00000001; -pub const DIGCDP_FLAG_ADVANCED: DWORD = 0x00000002; -pub const DIGCDP_FLAG_REMOTE_BASIC: DWORD = 0x00000003; -pub const DIGCDP_FLAG_REMOTE_ADVANCED: DWORD = 0x00000004; -extern "system" { - pub fn SetupDiGetClassDevPropertySheetsA( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - PropertySheetHeader: LPPROPSHEETHEADERA, - PropertySheetHeaderPageListSize: DWORD, - RequiredSize: PDWORD, - PropertySheetType: DWORD, - ) -> BOOL; - pub fn SetupDiGetClassDevPropertySheetsW( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - PropertySheetHeader: LPPROPSHEETHEADERW, - PropertySheetHeaderPageListSize: DWORD, - RequiredSize: PDWORD, - PropertySheetType: DWORD, - ) -> BOOL; -} -pub const IDI_RESOURCEFIRST: c_int = 159; -pub const IDI_RESOURCE: c_int = 159; -pub const IDI_RESOURCELAST: c_int = 161; -pub const IDI_RESOURCEOVERLAYFIRST: c_int = 161; -pub const IDI_RESOURCEOVERLAYLAST: c_int = 161; -pub const IDI_CONFLICT: c_int = 161; -pub const IDI_CLASSICON_OVERLAYFIRST: c_int = 500; -pub const IDI_CLASSICON_OVERLAYLAST: c_int = 502; -pub const IDI_PROBLEM_OVL: c_int = 500; -pub const IDI_DISABLED_OVL: c_int = 501; -pub const IDI_FORCED_OVL: c_int = 502; -extern "system" { - pub fn SetupDiAskForOEMDisk( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiSelectOEMDrv( - hwndParent: HWND, - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiClassNameFromGuidA( - ClassGuid: *const GUID, - ClassName: PSTR, - ClassNameSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupDiClassNameFromGuidW( - ClassGuid: *const GUID, - ClassName: PWSTR, - ClassNameSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupDiClassNameFromGuidExA( - ClassGuid: *const GUID, - ClassName: PSTR, - ClassNameSize: DWORD, - RequiredSize: PDWORD, - MachineName: PCSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiClassNameFromGuidExW( - ClassGuid: *const GUID, - ClassName: PWSTR, - ClassNameSize: DWORD, - RequiredSize: PDWORD, - MachineName: PCWSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiClassGuidsFromNameA( - ClassName: PCSTR, - ClassGuidList: LPGUID, - ClassGuidListSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupDiClassGuidsFromNameW( - ClassName: PCWSTR, - ClassGuidList: LPGUID, - ClassGuidListSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupDiClassGuidsFromNameExA( - ClassName: PCSTR, - ClassGuidList: LPGUID, - ClassGuidListSize: DWORD, - RequiredSize: PDWORD, - MachineName: PCSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiClassGuidsFromNameExW( - ClassName: PCWSTR, - ClassGuidList: LPGUID, - ClassGuidListSize: DWORD, - RequiredSize: PDWORD, - MachineName: PCWSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiGetHwProfileFriendlyNameA( - HwProfile: DWORD, - FriendlyName: PSTR, - FriendlyNameSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupDiGetHwProfileFriendlyNameW( - HwProfile: DWORD, - FriendlyName: PWSTR, - FriendlyNameSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupDiGetHwProfileFriendlyNameExA( - HwProfile: DWORD, - FriendlyName: PSTR, - FriendlyNameSize: DWORD, - RequiredSize: PDWORD, - MachineName: PCSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiGetHwProfileFriendlyNameExW( - HwProfile: DWORD, - FriendlyName: PWSTR, - FriendlyNameSize: DWORD, - RequiredSize: PDWORD, - MachineName: PCWSTR, - Reserved: PVOID, - ) -> BOOL; -} -pub const SPWPT_SELECTDEVICE: DWORD = 0x00000001; -pub const SPWP_USE_DEVINFO_DATA: DWORD = 0x00000001; -extern "system" { - pub fn SetupDiGetWizardPage( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - InstallWizardData: PSP_INSTALLWIZARD_DATA, - PageType: DWORD, - Flags: DWORD, - ) -> HPROPSHEETPAGE; - pub fn SetupDiGetSelectedDevice( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiSetSelectedDevice( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - ) -> BOOL; - pub fn SetupDiGetActualModelsSectionA( - Context: PINFCONTEXT, - AlternatePlatformInfo: PSP_ALTPLATFORM_INFO, - InfSectionWithExt: PSTR, - InfSectionWithExtSize: DWORD, - RequiredSize: PDWORD, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiGetActualModelsSectionW( - Context: PINFCONTEXT, - AlternatePlatformInfo: PSP_ALTPLATFORM_INFO, - InfSectionWithExt: PWSTR, - InfSectionWithExtSize: DWORD, - RequiredSize: PDWORD, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiGetActualSectionToInstallA( - InfHandle: HINF, - InfSectionName: PCSTR, - InfSectionWithExt: PSTR, - InfSectionWithExtSize: DWORD, - RequiredSize: PDWORD, - Extension: *mut PSTR, - ) -> BOOL; - pub fn SetupDiGetActualSectionToInstallW( - InfHandle: HINF, - InfSectionName: PCWSTR, - InfSectionWithExt: PWSTR, - InfSectionWithExtSize: DWORD, - RequiredSize: PDWORD, - Extension: *mut PWSTR, - ) -> BOOL; - pub fn SetupDiGetActualSectionToInstallExA( - InfHandle: HINF, - InfSectionName: PCSTR, - AlternatePlatformInfo: PSP_ALTPLATFORM_INFO, - InfSectionWithExt: PSTR, - InfSectionWithExtSize: DWORD, - RequiredSize: PDWORD, - Extension: *mut PSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupDiGetActualSectionToInstallExW( - InfHandle: HINF, - InfSectionName: PCWSTR, - AlternatePlatformInfo: PSP_ALTPLATFORM_INFO, - InfSectionWithExt: PWSTR, - InfSectionWithExtSize: DWORD, - RequiredSize: PDWORD, - Extension: *mut PWSTR, - Reserved: PVOID, - ) -> BOOL; - pub fn SetupEnumInfSectionsA( - InfHandle: HINF, - Index: UINT, - Buffer: PSTR, - Size: UINT, - SizeNeeded: *mut UINT, - ) -> BOOL; - pub fn SetupEnumInfSectionsW( - InfHandle: HINF, - Index: UINT, - Buffer: PWSTR, - Size: UINT, - SizeNeeded: *mut UINT, - ) -> BOOL; -} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_INF_SIGNER_INFO_V1_A { - cbSize: DWORD, - CatalogFile: [CHAR; MAX_PATH], - DigitalSigner: [CHAR; MAX_PATH], - DigitalSignerVersion: [CHAR; MAX_PATH], -}} -pub type PSP_INF_SIGNER_INFO_V1_A = *mut SP_INF_SIGNER_INFO_V1_A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_INF_SIGNER_INFO_V1_W { - cbSize: DWORD, - CatalogFile: [WCHAR; MAX_PATH], - DigitalSigner: [WCHAR; MAX_PATH], - DigitalSignerVersion: [WCHAR; MAX_PATH], -}} -pub type PSP_INF_SIGNER_INFO_V1_W = *mut SP_INF_SIGNER_INFO_V1_W; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_INF_SIGNER_INFO_V2_A { - cbSize: DWORD, - CatalogFile: [CHAR; MAX_PATH], - DigitalSigner: [CHAR; MAX_PATH], - DigitalSignerVersion: [CHAR; MAX_PATH], - SignerScore: DWORD, -}} -pub type PSP_INF_SIGNER_INFO_V2_A = *mut SP_INF_SIGNER_INFO_V2_A; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SP_INF_SIGNER_INFO_V2_W { - cbSize: DWORD, - CatalogFile: [WCHAR; MAX_PATH], - DigitalSigner: [WCHAR; MAX_PATH], - DigitalSignerVersion: [WCHAR; MAX_PATH], - SignerScore: DWORD, -}} -pub type PSP_INF_SIGNER_INFO_V2_W = *mut SP_INF_SIGNER_INFO_V2_W; -pub const SIGNERSCORE_UNKNOWN: DWORD = 0xFF000000; -pub const SIGNERSCORE_W9X_SUSPECT: DWORD = 0xC0000000; -pub const SIGNERSCORE_UNSIGNED: DWORD = 0x80000000; -pub const SIGNERSCORE_AUTHENTICODE: DWORD = 0x0F000000; -pub const SIGNERSCORE_WHQL: DWORD = 0x0D000005; -pub const SIGNERSCORE_UNCLASSIFIED: DWORD = 0x0D000004; -pub const SIGNERSCORE_INBOX: DWORD = 0x0D000003; -pub const SIGNERSCORE_LOGO_STANDARD: DWORD = 0x0D000002; -pub const SIGNERSCORE_LOGO_PREMIUM: DWORD = 0x0D000001; -pub const SIGNERSCORE_MASK: DWORD = 0xFF000000; -pub const SIGNERSCORE_SIGNED_MASK: DWORD = 0xF0000000; -pub type SP_INF_SIGNER_INFO_A = SP_INF_SIGNER_INFO_V2_A; -pub type PSP_INF_SIGNER_INFO_A = PSP_INF_SIGNER_INFO_V2_A; -pub type SP_INF_SIGNER_INFO_W = SP_INF_SIGNER_INFO_V2_W; -pub type PSP_INF_SIGNER_INFO_W = PSP_INF_SIGNER_INFO_V2_W; -extern "system" { - pub fn SetupVerifyInfFileA( - InfName: PCSTR, - AltPlatformInfo: PSP_ALTPLATFORM_INFO, - InfSignerInfo: PSP_INF_SIGNER_INFO_A, - ) -> BOOL; - pub fn SetupVerifyInfFileW( - InfName: PCWSTR, - AltPlatformInfo: PSP_ALTPLATFORM_INFO, - InfSignerInfo: PSP_INF_SIGNER_INFO_W, - ) -> BOOL; -} -pub const DICUSTOMDEVPROP_MERGE_MULTISZ: DWORD = 0x00000001; -extern "system" { - pub fn SetupDiGetCustomDevicePropertyA( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - CustomPropertyName: PCSTR, - Flags: DWORD, - PropertyRegDataType: PDWORD, - PropertyBuffer: PBYTE, - PropertyBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; - pub fn SetupDiGetCustomDevicePropertyW( - DeviceInfoSet: HDEVINFO, - DeviceInfoData: PSP_DEVINFO_DATA, - CustomPropertyName: PCWSTR, - Flags: DWORD, - PropertyRegDataType: PDWORD, - PropertyBuffer: PBYTE, - PropertyBufferSize: DWORD, - RequiredSize: PDWORD, - ) -> BOOL; -} -pub const SCWMI_CLOBBER_SECURITY: DWORD = 0x00000001; -extern "system" { - pub fn SetupConfigureWmiFromInfSectionA( - InfHandle: HINF, - SectionName: PCSTR, - Flags: DWORD, - ) -> BOOL; - pub fn SetupConfigureWmiFromInfSectionW( - InfHandle: HINF, - SectionName: PCWSTR, - Flags: DWORD, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/shellapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/shellapi.rs deleted file mode 100644 index 2c961c4c5..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/shellapi.rs +++ /dev/null @@ -1,923 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -//! SHELL.DLL functions, types, and definitions -use ctypes::{__int64, c_int, c_void}; -use shared::basetsd::{DWORD_PTR, UINT_PTR}; -use shared::guiddef::{GUID, REFIID}; -use shared::minwindef::{ - BOOL, DWORD, FILETIME, HINSTANCE, HKEY, INT, LPARAM, LPVOID, MAX_PATH, UINT, ULONG, WORD, -}; -use shared::windef::{HICON, HWND, POINT, RECT}; -use um::minwinbase::LPSECURITY_ATTRIBUTES; -use um::processthreadsapi::{LPPROCESS_INFORMATION, LPSTARTUPINFOW}; -use um::winnt::{ - CHAR, HANDLE, HRESULT, LPCSTR, LPCWSTR, LPSTR, LPWSTR, PCSTR, PCWSTR, PCZZSTR, PCZZWSTR, PWSTR, - PZZSTR, PZZWSTR, ULARGE_INTEGER, WCHAR, -}; -use um::winuser::WM_USER; -DECLARE_HANDLE!{HDROP, HDROP__} -extern "system" { - pub fn DragQueryFileA( - hDrop: HDROP, - iFile: UINT, - lpszFile: LPSTR, - cch: UINT, - ) -> UINT; - pub fn DragQueryFileW( - hDrop: HDROP, - iFile: UINT, - lpszFile: LPWSTR, - cch: UINT, - ) -> UINT; - pub fn DragQueryPoint( - hDrop: HDROP, - lppt: *mut POINT, - ) -> BOOL; - pub fn DragFinish( - hDrop: HDROP, - ); - pub fn DragAcceptFiles( - hWnd: HWND, - fAccept: BOOL, - ); - pub fn ShellExecuteA( - hwnd: HWND, - lpOperation: LPCSTR, - lpFile: LPCSTR, - lpParameters: LPCSTR, - lpDirectory: LPCSTR, - nShowCmd: c_int, - ) -> HINSTANCE; - pub fn ShellExecuteW( - hwnd: HWND, - lpOperation: LPCWSTR, - lpFile: LPCWSTR, - lpParameters: LPCWSTR, - lpDirectory: LPCWSTR, - nShowCmd: c_int, - ) -> HINSTANCE; - pub fn FindExecutableA( - lpFile: LPCSTR, - lpDirectory: LPCSTR, - lpResult: LPSTR, - ) -> HINSTANCE; - pub fn FindExecutableW( - lpFile: LPCWSTR, - lpDirectory: LPCWSTR, - lpResult: LPWSTR, - ) -> HINSTANCE; - pub fn CommandLineToArgvW( - lpCmdLine: LPCWSTR, - pNumArgs: *mut c_int, - ) -> *mut LPWSTR; - pub fn ShellAboutA( - hWnd: HWND, - szApp: LPCSTR, - szOtherStuff: LPCSTR, - hIcon: HICON, - ) -> INT; - pub fn ShellAboutW( - hWnd: HWND, - szApp: LPCWSTR, - szOtherStuff: LPCWSTR, - hIcon: HICON, - ) -> INT; - pub fn DuplicateIcon( - hInst: HINSTANCE, - hIcon: HICON, - ) -> HICON; - pub fn ExtractAssociatedIconA( - hInst: HINSTANCE, - pszIconPath: LPSTR, - piIcon: *mut WORD, - ) -> HICON; - pub fn ExtractAssociatedIconW( - hInst: HINSTANCE, - pszIconPath: LPWSTR, - piIcon: *mut WORD, - ) -> HICON; - pub fn ExtractAssociatedIconExA( - hInst: HINSTANCE, - pszIconPath: LPSTR, - piIconIndex: *mut WORD, - piIconId: *mut WORD, - ) -> HICON; - pub fn ExtractAssociatedIconExW( - hInst: HINSTANCE, - pszIconPath: LPWSTR, - piIconIndex: *mut WORD, - piIconId: *mut WORD, - ) -> HICON; - pub fn ExtractIconA( - hInst: HINSTANCE, - pszExeFileName: LPCSTR, - nIconIndex: UINT, - ) -> HICON; - pub fn ExtractIconW( - hInst: HINSTANCE, - pszExeFileName: LPCWSTR, - nIconIndex: UINT, - ) -> HICON; -} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct DRAGINFOA { - uSize: UINT, - pt: POINT, - fNC: BOOL, - lpFileList: PZZSTR, - grfKeyState: DWORD, -}} -pub type LPDRAGINFOA = *mut DRAGINFOA; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct DRAGINFOW { - uSize: UINT, - pt: POINT, - fNC: BOOL, - lpFileList: PZZWSTR, - grfKeyState: DWORD, -}} -pub type LPDRAGINFOW = *mut DRAGINFOW; -pub const ABM_NEW: DWORD = 0x00000000; -pub const ABM_REMOVE: DWORD = 0x00000001; -pub const ABM_QUERYPOS: DWORD = 0x00000002; -pub const ABM_SETPOS: DWORD = 0x00000003; -pub const ABM_GETSTATE: DWORD = 0x00000004; -pub const ABM_GETTASKBARPOS: DWORD = 0x00000005; -pub const ABM_ACTIVATE: DWORD = 0x00000006; -pub const ABM_GETAUTOHIDEBAR: DWORD = 0x00000007; -pub const ABM_SETAUTOHIDEBAR: DWORD = 0x00000008; -pub const ABM_WINDOWPOSCHANGED: DWORD = 0x0000009; -pub const ABM_SETSTATE: DWORD = 0x0000000a; -pub const ABM_GETAUTOHIDEBAREX: DWORD = 0x0000000b; -pub const ABM_SETAUTOHIDEBAREX: DWORD = 0x0000000c; -pub const ABN_STATECHANGE: DWORD = 0x0000000; -pub const ABN_POSCHANGED: DWORD = 0x0000001; -pub const ABN_FULLSCREENAPP: DWORD = 0x0000002; -pub const ABN_WINDOWARRANGE: DWORD = 0x0000003; -pub const ABS_AUTOHIDE: UINT = 0x0000001; -pub const ABS_ALWAYSONTOP: UINT = 0x0000002; -pub const ABE_LEFT: UINT = 0; -pub const ABE_TOP: UINT = 1; -pub const ABE_RIGHT: UINT = 2; -pub const ABE_BOTTOM: UINT = 3; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct APPBARDATA { - cbSize: DWORD, - hWnd: HWND, - uCallbackMessage: UINT, - uEdge: UINT, - rc: RECT, - lParam: LPARAM, -}} -pub type PAPPBARDATA = *mut APPBARDATA; -extern "system" { - pub fn SHAppBarMessage( - dwMessage: DWORD, - pData: PAPPBARDATA, - ) -> UINT_PTR; - pub fn DoEnvironmentSubstA( - pszSrc: LPSTR, - cchSrc: UINT, - ) -> DWORD; - pub fn DoEnvironmentSubstW( - pszSrc: LPWSTR, - cchSrc: UINT, - ) -> DWORD; - pub fn ExtractIconExA( - lpszFile: LPCSTR, - nIconIndex: c_int, - phiconLarge: *mut HICON, - phiconSmall: *mut HICON, - nIcons: UINT, - ) -> UINT; - pub fn ExtractIconExW( - lpszFile: LPCWSTR, - nIconIndex: c_int, - phiconLarge: *mut HICON, - phiconSmall: *mut HICON, - nIcons: UINT, - ) -> UINT; -} -pub const FO_MOVE: WORD = 0x0001; -pub const FO_COPY: WORD = 0x0002; -pub const FO_DELETE: WORD = 0x0003; -pub const FO_RENAME: WORD = 0x0004; -pub const FOF_MULTIDESTFILES: WORD = 0x0001; -pub const FOF_CONFIRMMOUSE: WORD = 0x0002; -pub const FOF_SILENT: WORD = 0x0004; -pub const FOF_RENAMEONCOLLISION: WORD = 0x0008; -pub const FOF_NOCONFIRMATION: WORD = 0x0010; -pub const FOF_WANTMAPPINGHANDLE: WORD = 0x0020; -pub const FOF_ALLOWUNDO: WORD = 0x0040; -pub const FOF_FILESONLY: WORD = 0x0080; -pub const FOF_SIMPLEPROGRESS: WORD = 0x0100; -pub const FOF_NOCONFIRMMKDIR: WORD = 0x0200; -pub const FOF_NOERRORUI: WORD = 0x0400; -pub const FOF_NOCOPYSECURITYATTRIBS: WORD = 0x0800; -pub const FOF_NORECURSION: WORD = 0x1000; -pub const FOF_NO_CONNECTED_ELEMENTS: WORD = 0x2000; -pub const FOF_WANTNUKEWARNING: WORD = 0x4000; -pub const FOF_NORECURSEREPARSE: WORD = 0x8000; -pub const FOF_NO_UI: WORD = FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_NOCONFIRMMKDIR; -pub type FILEOP_FLAGS = WORD; -pub const PO_DELETE: WORD = 0x0013; -pub const PO_RENAME: WORD = 0x0014; -pub const PO_PORTCHANGE: WORD = 0x0020; -pub const PO_REN_PORT: WORD = 0x0034; -pub type PRINTEROP_FLAGS = WORD; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHFILEOPSTRUCTA { - hwnd: HWND, - wFunc: UINT, - pFrom: PCZZSTR, - pTo: PCZZSTR, - fFlags: FILEOP_FLAGS, - fAnyOperationsAborted: BOOL, - hNameMappings: LPVOID, - lpszProgressTitle: PCSTR, -}} -pub type LPSHFILEOPSTRUCTA = *mut SHFILEOPSTRUCTA; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHFILEOPSTRUCTW { - hwnd: HWND, - wFunc: UINT, - pFrom: PCZZWSTR, - pTo: PCZZWSTR, - fFlags: FILEOP_FLAGS, - fAnyOperationsAborted: BOOL, - hNameMappings: LPVOID, - lpszProgressTitle: PCWSTR, -}} -pub type LPSHFILEOPSTRUCTW = *mut SHFILEOPSTRUCTW; -extern "system" { - pub fn SHFileOperationA( - lpFileOp: LPSHFILEOPSTRUCTA, - ) -> c_int; - pub fn SHFileOperationW( - lpFileOp: LPSHFILEOPSTRUCTW, - ) -> c_int; - pub fn SHFreeNameMappings( - hNameMappings: HANDLE, - ); -} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHNAMEMAPPINGA { - pszOldPath: LPSTR, - pszNewPath: LPSTR, - cchOldPath: c_int, - cchNewPath: c_int, -}} -pub type LPSHNAMEMAPPINGA = *mut SHNAMEMAPPINGA; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHNAMEMAPPINGW { - pszOldPath: LPWSTR, - pszNewPath: LPWSTR, - cchOldPath: c_int, - cchNewPath: c_int, -}} -pub type LPSHNAMEMAPPINGW = *mut SHNAMEMAPPINGW; -pub const SE_ERR_FNF: DWORD = 2; -pub const SE_ERR_PNF: DWORD = 3; -pub const SE_ERR_ACCESSDENIED: DWORD = 5; -pub const SE_ERR_OOM: DWORD = 8; -pub const SE_ERR_DLLNOTFOUND: DWORD = 32; -pub const SE_ERR_SHARE: DWORD = 26; -pub const SE_ERR_ASSOCINCOMPLETE: DWORD = 27; -pub const SE_ERR_DDETIMEOUT: DWORD = 28; -pub const SE_ERR_DDEFAIL: DWORD = 29; -pub const SE_ERR_DDEBUSY: DWORD = 30; -pub const SE_ERR_NOASSOC: DWORD = 31; -pub const SEE_MASK_DEFAULT: DWORD = 0x00000000; -pub const SEE_MASK_CLASSNAME: DWORD = 0x00000001; -pub const SEE_MASK_CLASSKEY: DWORD = 0x00000003; -pub const SEE_MASK_IDLIST: DWORD = 0x00000004; -pub const SEE_MASK_INVOKEIDLIST: DWORD = 0x0000000c; -pub const SEE_MASK_ICON: DWORD = 0x00000010; -pub const SEE_MASK_HOTKEY: DWORD = 0x00000020; -pub const SEE_MASK_NOCLOSEPROCESS: DWORD = 0x00000040; -pub const SEE_MASK_CONNECTNETDRV: DWORD = 0x00000080; -pub const SEE_MASK_NOASYNC: DWORD = 0x00000100; -pub const SEE_MASK_FLAG_DDEWAIT: DWORD = SEE_MASK_NOASYNC; -pub const SEE_MASK_DOENVSUBST: DWORD = 0x00000200; -pub const SEE_MASK_FLAG_NO_UI: DWORD = 0x00000400; -pub const SEE_MASK_UNICODE: DWORD = 0x00004000; -pub const SEE_MASK_NO_CONSOLE: DWORD = 0x00008000; -pub const SEE_MASK_ASYNCOK: DWORD = 0x00100000; -pub const SEE_MASK_HMONITOR: DWORD = 0x00200000; -pub const SEE_MASK_NOZONECHECKS: DWORD = 0x00800000; -pub const SEE_MASK_NOQUERYCLASSSTORE: DWORD = 0x01000000; -pub const SEE_MASK_WAITFORINPUTIDLE: DWORD = 0x02000000; -pub const SEE_MASK_FLAG_LOG_USAGE: DWORD = 0x04000000; -pub const SEE_MASK_FLAG_HINST_IS_SITE: DWORD = 0x08000000; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHELLEXECUTEINFOA { - cbSize: DWORD, - fMask: ULONG, - hwnd: HWND, - lpVerb: LPCSTR, - lpFile: LPCSTR, - lpParameters: LPCSTR, - lpDirectory: LPCSTR, - nShow: c_int, - hInstApp: HINSTANCE, - lpIDList: *mut c_void, - lpClass: LPCSTR, - hkeyClass: HKEY, - dwHotKey: DWORD, - hMonitor: HANDLE, - hProcess: HANDLE, -}} -pub type LPSHELLEXECUTEINFOA = *mut SHELLEXECUTEINFOA; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHELLEXECUTEINFOW { - cbSize: DWORD, - fMask: ULONG, - hwnd: HWND, - lpVerb: LPCWSTR, - lpFile: LPCWSTR, - lpParameters: LPCWSTR, - lpDirectory: LPCWSTR, - nShow: c_int, - hInstApp: HINSTANCE, - lpIDList: *mut c_void, - lpClass: LPCWSTR, - hkeyClass: HKEY, - dwHotKey: DWORD, - hMonitor: HANDLE, - hProcess: HANDLE, -}} -pub type LPSHELLEXECUTEINFOW = *mut SHELLEXECUTEINFOW; -extern "system" { - pub fn ShellExecuteExA( - pExecInfo: *mut SHELLEXECUTEINFOA, - ) -> BOOL; - pub fn ShellExecuteExW( - pExecInfo: *mut SHELLEXECUTEINFOW, - ) -> BOOL; -} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHCREATEPROCESSINFOW { - cbSize: DWORD, - fMask: ULONG, - hwnd: HWND, - pszFile: LPCWSTR, - pszParameters: LPCWSTR, - pszCurrentDirectory: LPCWSTR, - hUserToken: HANDLE, - lpProcessAttributes: LPSECURITY_ATTRIBUTES, - lpThreadAttributes: LPSECURITY_ATTRIBUTES, - bInheritHandles: BOOL, - dwCreationFlags: DWORD, - lpStartupInfo: LPSTARTUPINFOW, - lpProcessInformation: LPPROCESS_INFORMATION, -}} -pub type PSHCREATEPROCESSINFOW = *mut SHCREATEPROCESSINFOW; -extern "system" { - pub fn SHCreateProcessAsUserW( - pscpi: PSHCREATEPROCESSINFOW, - ) -> BOOL; - pub fn SHEvaluateSystemCommandTemplate( - pszCmdTemplate: PCWSTR, - ppszApplication: *mut PWSTR, - ppszCommandLine: *mut PWSTR, - ppszParameters: *mut PWSTR, - ) -> HRESULT; -} -ENUM!{enum ASSOCCLASS { - ASSOCCLASS_SHELL_KEY = 0, - ASSOCCLASS_PROGID_KEY, - ASSOCCLASS_PROGID_STR, - ASSOCCLASS_CLSID_KEY, - ASSOCCLASS_CLSID_STR, - ASSOCCLASS_APP_KEY, - ASSOCCLASS_APP_STR, - ASSOCCLASS_SYSTEM_STR, - ASSOCCLASS_FOLDER, - ASSOCCLASS_STAR, - ASSOCCLASS_FIXED_PROGID_STR, - ASSOCCLASS_PROTOCOL_STR, -}} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct ASSOCIATIONELEMENT { - ac: ASSOCCLASS, - hkClass: HKEY, - pszClass: PCWSTR, -}} -extern "system" { - pub fn AssocCreateForClasses( - rgClasses: *const ASSOCIATIONELEMENT, - cClasses: ULONG, - riid: REFIID, - ppv: *mut *mut c_void, - ) -> HRESULT; -} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHQUERYRBINFO { - cbSize: DWORD, - i64Size: __int64, - i64NumItems: __int64, -}} -pub type LPSHQUERYRBINFO = *mut SHQUERYRBINFO; -pub const SHERB_NOCONFIRMATION: DWORD = 0x00000001; -pub const SHERB_NOPROGRESSUI: DWORD = 0x00000002; -pub const SHERB_NOSOUND: DWORD = 0x00000004; -extern "system" { - pub fn SHQueryRecycleBinA( - pszRootPath: LPCSTR, - pSHQueryRBInfo: LPSHQUERYRBINFO, - ) -> HRESULT; - pub fn SHQueryRecycleBinW( - pszRootPath: LPCWSTR, - pSHQueryRBInfo: LPSHQUERYRBINFO, - ) -> HRESULT; - pub fn SHEmptyRecycleBinA( - hwnd: HWND, - pszRootPath: LPCSTR, - dwFlags: DWORD, - ) -> HRESULT; - pub fn SHEmptyRecycleBinW( - hwnd: HWND, - pszRootPath: LPCWSTR, - dwFlags: DWORD, - ) -> HRESULT; -} -ENUM!{enum QUERY_USER_NOTIFICATION_STATE { - QUNS_NOT_PRESENT = 1, - QUNS_BUSY = 2, - QUNS_RUNNING_D3D_FULL_SCREEN = 3, - QUNS_PRESENTATION_MODE = 4, - QUNS_ACCEPTS_NOTIFICATIONS = 5, - QUNS_QUIET_TIME = 6, - QUNS_APP = 7, -}} -extern "system" { - pub fn SHQueryUserNotificationState( - pquns: *mut QUERY_USER_NOTIFICATION_STATE, - ) -> HRESULT; - pub fn SHGetPropertyStoreForWindow( - hwnd: HWND, - riid: REFIID, - ppv: *mut *mut c_void, - ) -> HRESULT; -} -UNION!{#[cfg_attr(target_arch = "x86", repr(packed))] union NOTIFYICONDATAA_u { - [u32; 1], - uTimeout uTimeout_mut: UINT, - uVersion uVersion_mut: UINT, -}} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct NOTIFYICONDATAA { - cbSize: DWORD, - hWnd: HWND, - uID: UINT, - uFlags: UINT, - uCallbackMessage: UINT, - hIcon: HICON, - szTip: [CHAR; 128], - dwState: DWORD, - dwStateMask: DWORD, - szInfo: [CHAR; 256], - u: NOTIFYICONDATAA_u, - szInfoTitle: [CHAR; 64], - dwInfoFlags: DWORD, - guidItem: GUID, - hBalloonIcon: HICON, -}} -pub type PNOTIFYICONDATAA = *mut NOTIFYICONDATAA; -UNION!{#[cfg_attr(target_arch = "x86", repr(packed))] union NOTIFYICONDATAW_u { - [u32; 1], - uTimeout uTimeout_mut: UINT, - uVersion uVersion_mut: UINT, -}} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct NOTIFYICONDATAW { - cbSize: DWORD, - hWnd: HWND, - uID: UINT, - uFlags: UINT, - uCallbackMessage: UINT, - hIcon: HICON, - szTip: [WCHAR; 128], - dwState: DWORD, - dwStateMask: DWORD, - szInfo: [WCHAR; 256], - u: NOTIFYICONDATAW_u, - szInfoTitle: [WCHAR; 64], - dwInfoFlags: DWORD, - guidItem: GUID, - hBalloonIcon: HICON, -}} -pub type PNOTIFYICONDATAW = *mut NOTIFYICONDATAW; -pub const NIN_SELECT: DWORD = WM_USER + 0; -pub const NINF_KEY: DWORD = 0x1; -pub const NIN_KEYSELECT: DWORD = NIN_SELECT | NINF_KEY; -pub const NIN_BALLOONSHOW: DWORD = WM_USER + 2; -pub const NIN_BALLOONHIDE: DWORD = WM_USER + 3; -pub const NIN_BALLOONTIMEOUT: DWORD = WM_USER + 4; -pub const NIN_BALLOONUSERCLICK: DWORD = WM_USER + 5; -pub const NIN_POPUPOPEN: DWORD = WM_USER + 6; -pub const NIN_POPUPCLOSE: DWORD = WM_USER + 7; -pub const NIM_ADD: DWORD = 0x00000000; -pub const NIM_MODIFY: DWORD = 0x00000001; -pub const NIM_DELETE: DWORD = 0x00000002; -pub const NIM_SETFOCUS: DWORD = 0x00000003; -pub const NIM_SETVERSION: DWORD = 0x00000004; -pub const NOTIFYICON_VERSION: DWORD = 3; -pub const NOTIFYICON_VERSION_4: DWORD = 4; -pub const NIF_MESSAGE: DWORD = 0x00000001; -pub const NIF_ICON: DWORD = 0x00000002; -pub const NIF_TIP: DWORD = 0x00000004; -pub const NIF_STATE: DWORD = 0x00000008; -pub const NIF_INFO: DWORD = 0x00000010; -pub const NIF_GUID: DWORD = 0x00000020; -pub const NIF_REALTIME: DWORD = 0x00000040; -pub const NIF_SHOWTIP: DWORD = 0x00000080; -pub const NIS_HIDDEN: DWORD = 0x00000001; -pub const NIS_SHAREDICON: DWORD = 0x00000002; -pub const NIIF_NONE: DWORD = 0x00000000; -pub const NIIF_INFO: DWORD = 0x00000001; -pub const NIIF_WARNING: DWORD = 0x00000002; -pub const NIIF_ERROR: DWORD = 0x00000003; -pub const NIIF_USER: DWORD = 0x00000004; -pub const NIIF_ICON_MASK: DWORD = 0x0000000F; -pub const NIIF_NOSOUND: DWORD = 0x00000010; -pub const NIIF_LARGE_ICON: DWORD = 0x00000020; -pub const NIIF_RESPECT_QUIET_TIME: DWORD = 0x00000080; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct NOTIFYICONIDENTIFIER { - cbSize: DWORD, - hWnd: HWND, - uID: UINT, - guidItem: GUID, -}} -pub type PNOTIFYICONIDENTIFIER = *mut NOTIFYICONIDENTIFIER; -extern "system" { - pub fn Shell_NotifyIconA( - dwMessage: DWORD, - lpData: PNOTIFYICONDATAA, - ) -> BOOL; - pub fn Shell_NotifyIconW( - dwMessage: DWORD, - lpData: PNOTIFYICONDATAW, - ) -> BOOL; - pub fn Shell_NotifyIconGetRect( - identifier: *const NOTIFYICONIDENTIFIER, - iconLocation: *mut RECT, - ) -> HRESULT; -} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHFILEINFOA { - hIcon: HICON, - iIcon: c_int, - dwAttributes: DWORD, - szDisplayName: [CHAR; MAX_PATH], - szTypeName: [CHAR; 80], -}} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHFILEINFOW { - hIcon: HICON, - iIcon: c_int, - dwAttributes: DWORD, - szDisplayName: [WCHAR; MAX_PATH], - szTypeName: [WCHAR; 80], -}} -pub const SHGFI_ICON: DWORD = 0x000000100; -pub const SHGFI_DISPLAYNAME: DWORD = 0x000000200; -pub const SHGFI_TYPENAME: DWORD = 0x000000400; -pub const SHGFI_ATTRIBUTES: DWORD = 0x000000800; -pub const SHGFI_ICONLOCATION: DWORD = 0x000001000; -pub const SHGFI_EXETYPE: DWORD = 0x000002000; -pub const SHGFI_SYSICONINDEX: DWORD = 0x000004000; -pub const SHGFI_LINKOVERLAY: DWORD = 0x000008000; -pub const SHGFI_SELECTED: DWORD = 0x000010000; -pub const SHGFI_ATTR_SPECIFIED: DWORD = 0x000020000; -pub const SHGFI_LARGEICON: DWORD = 0x000000000; -pub const SHGFI_SMALLICON: DWORD = 0x000000001; -pub const SHGFI_OPENICON: DWORD = 0x000000002; -pub const SHGFI_SHELLICONSIZE: DWORD = 0x000000004; -pub const SHGFI_PIDL: DWORD = 0x000000008; -pub const SHGFI_USEFILEATTRIBUTES: DWORD = 0x000000010; -pub const SHGFI_ADDOVERLAYS: DWORD = 0x000000020; -pub const SHGFI_OVERLAYINDEX: DWORD = 0x000000040; -extern "system" { - pub fn SHGetFileInfoA( - pszPath: LPCSTR, - dwFileAttributes: DWORD, - psfi: *mut SHFILEINFOA, - cbFileInfo: UINT, - uFlags: UINT, - ) -> DWORD_PTR; - pub fn SHGetFileInfoW( - pszPath: LPCWSTR, - dwFileAttributes: DWORD, - psfi: *mut SHFILEINFOW, - cbFileInfo: UINT, - uFlags: UINT, - ) -> DWORD_PTR; -} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHSTOCKICONINFO { - cbSize: DWORD, - hIcon: HICON, - iSysImageIndex: c_int, - iIcon: c_int, - szPath: [WCHAR; MAX_PATH], -}} -pub const SHGSI_ICONLOCATION: DWORD = 0; -pub const SHGSI_ICON: DWORD = SHGFI_ICON; -pub const SHGSI_SYSICONINDEX: DWORD = SHGFI_SYSICONINDEX; -pub const SHGSI_LINKOVERLAY: DWORD = SHGFI_LINKOVERLAY; -pub const SHGSI_SELECTED: DWORD = SHGFI_SELECTED; -pub const SHGSI_LARGEICON: DWORD = SHGFI_LARGEICON; -pub const SHGSI_SMALLICON: DWORD = SHGFI_SMALLICON; -pub const SHGSI_SHELLICONSIZE: DWORD = SHGFI_SHELLICONSIZE; -ENUM!{enum SHSTOCKICONID { - SIID_DOCNOASSOC = 0, - SIID_DOCASSOC = 1, - SIID_APPLICATION = 2, - SIID_FOLDER = 3, - SIID_FOLDEROPEN = 4, - SIID_DRIVE525 = 5, - SIID_DRIVE35 = 6, - SIID_DRIVEREMOVE = 7, - SIID_DRIVEFIXED = 8, - SIID_DRIVENET = 9, - SIID_DRIVENETDISABLED = 10, - SIID_DRIVECD = 11, - SIID_DRIVERAM = 12, - SIID_WORLD = 13, - SIID_SERVER = 15, - SIID_PRINTER = 16, - SIID_MYNETWORK = 17, - SIID_FIND = 22, - SIID_HELP = 23, - SIID_SHARE = 28, - SIID_LINK = 29, - SIID_SLOWFILE = 30, - SIID_RECYCLER = 31, - SIID_RECYCLERFULL = 32, - SIID_MEDIACDAUDIO = 40, - SIID_LOCK = 47, - SIID_AUTOLIST = 49, - SIID_PRINTERNET = 50, - SIID_SERVERSHARE = 51, - SIID_PRINTERFAX = 52, - SIID_PRINTERFAXNET = 53, - SIID_PRINTERFILE = 54, - SIID_STACK = 55, - SIID_MEDIASVCD = 56, - SIID_STUFFEDFOLDER = 57, - SIID_DRIVEUNKNOWN = 58, - SIID_DRIVEDVD = 59, - SIID_MEDIADVD = 60, - SIID_MEDIADVDRAM = 61, - SIID_MEDIADVDRW = 62, - SIID_MEDIADVDR = 63, - SIID_MEDIADVDROM = 64, - SIID_MEDIACDAUDIOPLUS = 65, - SIID_MEDIACDRW = 66, - SIID_MEDIACDR = 67, - SIID_MEDIACDBURN = 68, - SIID_MEDIABLANKCD = 69, - SIID_MEDIACDROM = 70, - SIID_AUDIOFILES = 71, - SIID_IMAGEFILES = 72, - SIID_VIDEOFILES = 73, - SIID_MIXEDFILES = 74, - SIID_FOLDERBACK = 75, - SIID_FOLDERFRONT = 76, - SIID_SHIELD = 77, - SIID_WARNING = 78, - SIID_INFO = 79, - SIID_ERROR = 80, - SIID_KEY = 81, - SIID_SOFTWARE = 82, - SIID_RENAME = 83, - SIID_DELETE = 84, - SIID_MEDIAAUDIODVD = 85, - SIID_MEDIAMOVIEDVD = 86, - SIID_MEDIAENHANCEDCD = 87, - SIID_MEDIAENHANCEDDVD = 88, - SIID_MEDIAHDDVD = 89, - SIID_MEDIABLURAY = 90, - SIID_MEDIAVCD = 91, - SIID_MEDIADVDPLUSR = 92, - SIID_MEDIADVDPLUSRW = 93, - SIID_DESKTOPPC = 94, - SIID_MOBILEPC = 95, - SIID_USERS = 96, - SIID_MEDIASMARTMEDIA = 97, - SIID_MEDIACOMPACTFLASH = 98, - SIID_DEVICECELLPHONE = 99, - SIID_DEVICECAMERA = 100, - SIID_DEVICEVIDEOCAMERA = 101, - SIID_DEVICEAUDIOPLAYER = 102, - SIID_NETWORKCONNECT = 103, - SIID_INTERNET = 104, - SIID_ZIPFILE = 105, - SIID_SETTINGS = 106, - SIID_DRIVEHDDVD = 132, - SIID_DRIVEBD = 133, - SIID_MEDIAHDDVDROM = 134, - SIID_MEDIAHDDVDR = 135, - SIID_MEDIAHDDVDRAM = 136, - SIID_MEDIABDROM = 137, - SIID_MEDIABDR = 138, - SIID_MEDIABDRE = 139, - SIID_CLUSTEREDDRIVE = 140, - SIID_MAX_ICONS = 181, -}} -pub const SIID_INVALID: SHSTOCKICONID = -1i32 as u32; -extern "system" { - pub fn SHGetStockIconInfo( - siid: SHSTOCKICONID, - uFlags: UINT, - psii: *mut SHSTOCKICONINFO, - ) -> HRESULT; - pub fn SHGetDiskFreeSpaceExA( - pszDirectoryName: LPCSTR, - pulFreeBytesAvailableToCaller: *mut ULARGE_INTEGER, - pulTotalNumberOfBytes: *mut ULARGE_INTEGER, - pulTotalNumberOfFreeBytes: *mut ULARGE_INTEGER, - ) -> BOOL; - pub fn SHGetDiskFreeSpaceExW( - pszDirectoryName: LPCWSTR, - pulFreeBytesAvailableToCaller: *mut ULARGE_INTEGER, - pulTotalNumberOfBytes: *mut ULARGE_INTEGER, - pulTotalNumberOfFreeBytes: *mut ULARGE_INTEGER, - ) -> BOOL; - pub fn SHGetNewLinkInfoA( - pszLinkTo: LPCSTR, - pszDir: LPCSTR, - pszName: LPSTR, - pfMustCopy: *mut BOOL, - uFlags: UINT, - ) -> BOOL; - pub fn SHGetNewLinkInfoW( - pszLinkTo: LPCWSTR, - pszDir: LPCWSTR, - pszName: LPWSTR, - pfMustCopy: *mut BOOL, - uFlags: UINT, - ) -> BOOL; -} -pub const SHGNLI_PIDL: DWORD = 0x000000001; -pub const SHGNLI_PREFIXNAME: DWORD = 0x000000002; -pub const SHGNLI_NOUNIQUE: DWORD = 0x000000004; -pub const SHGNLI_NOLNK: DWORD = 0x000000008; -pub const SHGNLI_NOLOCNAME: DWORD = 0x000000010; -pub const SHGNLI_USEURLEXT: DWORD = 0x000000020; -pub const PRINTACTION_OPEN: DWORD = 0; -pub const PRINTACTION_PROPERTIES: DWORD = 1; -pub const PRINTACTION_NETINSTALL: DWORD = 2; -pub const PRINTACTION_NETINSTALLLINK: DWORD = 3; -pub const PRINTACTION_TESTPAGE: DWORD = 4; -pub const PRINTACTION_OPENNETPRN: DWORD = 5; -pub const PRINTACTION_DOCUMENTDEFAULTS: DWORD = 6; -pub const PRINTACTION_SERVERPROPERTIES: DWORD = 7; -extern "system" { - pub fn SHInvokePrinterCommandA( - hwnd: HWND, - uAction: UINT, - lpBuf1: LPCSTR, - lpBuf2: LPCSTR, - fModal: BOOL, - ) -> BOOL; - pub fn SHInvokePrinterCommandW( - hwnd: HWND, - uAction: UINT, - lpBuf1: LPCWSTR, - lpBuf2: LPCWSTR, - fModal: BOOL, - ) -> BOOL; -} -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct OPEN_PRINTER_PROPS_INFOA { - dwSize: DWORD, - pszSheetName: LPSTR, - uSheetIndex: UINT, - dwFlags: DWORD, - bModal: BOOL, -}} -pub type POPEN_PRINTER_PROPS_INFOA = *mut OPEN_PRINTER_PROPS_INFOA; -STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct OPEN_PRINTER_PROPS_INFOW { - dwSize: DWORD, - pszSheetName: LPWSTR, - uSheetIndex: UINT, - dwFlags: DWORD, - bModal: BOOL, -}} -pub type POPEN_PRINTER_PROPS_INFOW = *mut OPEN_PRINTER_PROPS_INFOW; -pub const PRINT_PROP_FORCE_NAME: DWORD = 0x01; -extern "system" { - pub fn SHLoadNonloadedIconOverlayIdentifiers() -> HRESULT; - pub fn SHIsFileAvailableOffline( - pwszPath: PCWSTR, - pdwStatus: *mut DWORD, - ) -> HRESULT; -} -pub const OFFLINE_STATUS_LOCAL: DWORD = 0x0001; -pub const OFFLINE_STATUS_REMOTE: DWORD = 0x0002; -pub const OFFLINE_STATUS_INCOMPLETE: DWORD = 0x0004; -extern "system" { - pub fn SHSetLocalizedName( - pszPath: PCWSTR, - pszResModule: PCWSTR, - idsRes: c_int, - ) -> HRESULT; - pub fn SHRemoveLocalizedName( - pszPath: PCWSTR, - ) -> HRESULT; - pub fn SHGetLocalizedName( - pszPath: PCWSTR, - pszResModule: PWSTR, - cch: UINT, - pidsRes: *mut c_int, - ) -> HRESULT; -} -extern "C" { - pub fn ShellMessageBoxA( - hAppInst: HINSTANCE, - hWnd: HWND, - lpcText: LPCSTR, - lpcTitle: LPCSTR, - fuStyle: UINT, - ... - ) -> c_int; - pub fn ShellMessageBoxW( - hAppInst: HINSTANCE, - hWnd: HWND, - lpcText: LPCWSTR, - lpcTitle: LPCWSTR, - fuStyle: UINT, - ... - ) -> c_int; -} -extern "system" { - pub fn IsLFNDriveA( - pszPath: LPCSTR, - ) -> BOOL; - pub fn IsLFNDriveW( - pszPath: LPCWSTR, - ) -> BOOL; - pub fn SHEnumerateUnreadMailAccountsA( - hKeyUser: HKEY, - dwIndex: DWORD, - pszMailAddress: LPSTR, - cchMailAddress: c_int, - ) -> HRESULT; - pub fn SHEnumerateUnreadMailAccountsW( - hKeyUser: HKEY, - dwIndex: DWORD, - pszMailAddress: LPWSTR, - cchMailAddress: c_int, - ) -> HRESULT; - pub fn SHGetUnreadMailCountA( - hKeyUser: HKEY, - pszMailAddress: LPCSTR, - pdwCount: *mut DWORD, - pFileTime: *mut FILETIME, - pszShellExecuteCommand: LPSTR, - cchShellExecuteCommand: c_int, - ) -> HRESULT; - pub fn SHGetUnreadMailCountW( - hKeyUser: HKEY, - pszMailAddress: LPCWSTR, - pdwCount: *mut DWORD, - pFileTime: *mut FILETIME, - pszShellExecuteCommand: LPWSTR, - cchShellExecuteCommand: c_int, - ) -> HRESULT; - pub fn SHSetUnreadMailCountA( - pszMailAddress: LPCSTR, - dwCount: DWORD, - pszShellExecuteCommand: LPCSTR, - ) -> HRESULT; - pub fn SHSetUnreadMailCountW( - pszMailAddress: LPCWSTR, - dwCount: DWORD, - pszShellExecuteCommand: LPCWSTR, - ) -> HRESULT; - pub fn SHTestTokenMembership( - hToken: HANDLE, - ulRID: ULONG, - ) -> BOOL; - pub fn SHGetImageList( - iImageList: c_int, - riid: REFIID, - ppvObj: *mut *mut c_void, - ) -> HRESULT; -} -pub const SHIL_LARGE: DWORD = 0; -pub const SHIL_SMALL: DWORD = 1; -pub const SHIL_EXTRALARGE: DWORD = 2; -pub const SHIL_SYSSMALL: DWORD = 3; -pub const SHIL_JUMBO: DWORD = 4; -pub const SHIL_LAST: DWORD = SHIL_JUMBO; -FN!{stdcall PFNCANSHAREFOLDERW( - pszPath: PCWSTR, -) -> HRESULT} -FN!{stdcall PFNSHOWSHAREFOLDERUIW( - hwndParent: HWND, - pszPath: PCWSTR, -) -> HRESULT} -pub const WC_NETADDRESS: &'static str = "msctls_netaddress"; -extern "system" { - pub fn InitNetworkAddressControl() -> BOOL; -} -// STRUCT!{struct NC_ADDRESS { -// pAddrInfo: *mut NET_ADDRESS_INFO, -// PortNumber: USHORT, -// PrefixLength: BYTE, -// }} -// pub type PNC_ADDRESS = *mut NC_ADDRESS; -extern "system" { - pub fn SHGetDriveMedia( - pszDrive: PCWSTR, - pdwMediaContent: *mut DWORD, - ) -> HRESULT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/shellscalingapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/shellscalingapi.rs deleted file mode 100644 index 4db4ff6fe..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/shellscalingapi.rs +++ /dev/null @@ -1,44 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::UINT; -use shared::windef::HMONITOR; -use um::winnt::{HANDLE, HRESULT}; -ENUM!{enum PROCESS_DPI_AWARENESS { - PROCESS_DPI_UNAWARE = 0, - PROCESS_SYSTEM_DPI_AWARE = 1, - PROCESS_PER_MONITOR_DPI_AWARE = 2, -}} -ENUM!{enum MONITOR_DPI_TYPE { - MDT_EFFECTIVE_DPI = 0, - MDT_ANGULAR_DPI = 1, - MDT_RAW_DPI = 2, - MDT_DEFAULT = MDT_EFFECTIVE_DPI, -}} -extern "system" { - pub fn SetProcessDpiAwareness( - value: PROCESS_DPI_AWARENESS, - ) -> HRESULT; - pub fn GetProcessDpiAwareness( - hProcess: HANDLE, - value: *mut PROCESS_DPI_AWARENESS, - ) -> HRESULT; - pub fn GetDpiForMonitor( - hmonitor: HMONITOR, - dpiType: MONITOR_DPI_TYPE, - dpiX: *mut UINT, - dpiY: *mut UINT, - ) -> HRESULT; -} -ENUM!{enum SHELL_UI_COMPONENT { - SHELL_UI_COMPONENT_TASKBARS = 0, - SHELL_UI_COMPONENT_NOTIFICATIONAREA = 1, - SHELL_UI_COMPONENT_DESKBAND = 2, -}} -extern "system" { - pub fn GetDpiForShellUIComponent( - component: SHELL_UI_COMPONENT, - ) -> UINT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/shlobj.rs b/vendor/registry-40351f815f426200/winapi/src/um/shlobj.rs deleted file mode 100644 index f652c6c2d..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/shlobj.rs +++ /dev/null @@ -1,260 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_int, c_void}; -use shared::guiddef::REFIID; -use shared::minwindef::{BOOL, DWORD, UINT}; -use shared::windef::HWND; -use um::minwinbase::SECURITY_ATTRIBUTES; -use um::shtypes::{PCIDLIST_ABSOLUTE, PCUITEMID_CHILD_ARRAY, PIDLIST_ABSOLUTE, REFKNOWNFOLDERID}; -use um::winnt::{HANDLE, HRESULT, LPCSTR, LPCWSTR, LPSTR, LPWSTR, PCWSTR, PWSTR}; -pub const IDO_SHGIOI_SHARE: c_int = 0x0FFFFFFF; -pub const IDO_SHGIOI_LINK: c_int = 0x0FFFFFFE; -// Yes, these values are supposed to be 9 digits -pub const IDO_SHGIOI_SLOWFILE: c_int = 0x0FFFFFFFD; -pub const IDO_SHGIOI_DEFAULT: c_int = 0x0FFFFFFFC; -extern "system" { - pub fn SHGetIconOverlayIndexA( - pszIconPath: LPCSTR, - iIconIndex: c_int, - ) -> c_int; - pub fn SHGetIconOverlayIndexW( - pszIconPath: LPCWSTR, - iIconIndex: c_int, - ) -> c_int; -} -pub const GPFIDL_DEFAULT: GPFIDL_FLAGS = 0x0000; -pub const GPFIDL_ALTNAME: GPFIDL_FLAGS = 0x0001; -pub const GPFIDL_UNCPRINTER: GPFIDL_FLAGS = 0x0002; -pub type GPFIDL_FLAGS = c_int; -extern "system" { - pub fn SHGetPathFromIDListEx( - pidl: PCIDLIST_ABSOLUTE, - pszPath: PWSTR, - cchPath: DWORD, - uOpts: GPFIDL_FLAGS, - ) -> BOOL; - pub fn SHGetPathFromIDListA( - pidl: PCIDLIST_ABSOLUTE, - pszPath: LPSTR, - ) -> BOOL; - pub fn SHGetPathFromIDListW( - pidl: PCIDLIST_ABSOLUTE, - pszPath: LPWSTR, - ) -> BOOL; - pub fn SHCreateDirectory( - hwnd: HWND, - pszPath: PCWSTR, - ) -> c_int; - pub fn SHCreateDirectoryExA( - hwnd: HWND, - pszPath: LPCSTR, - psa: *const SECURITY_ATTRIBUTES, - ) -> c_int; - pub fn SHCreateDirectoryExW( - hwnd: HWND, - pszPath: LPCWSTR, - psa: *const SECURITY_ATTRIBUTES, - ) -> c_int; -} -pub const OFASI_EDIT: DWORD = 0x0001; -pub const OFASI_OPENDESKTOP: DWORD = 0x0002; -extern "system" { - pub fn SHOpenFolderAndSelectItems( - pidlFolder: PCIDLIST_ABSOLUTE, - cidl: UINT, - apidl: PCUITEMID_CHILD_ARRAY, - dwFlags: DWORD, - ) -> HRESULT; - //pub fn SHCreateShellItem( - // pidlParent: PCIDLIST_ABSOLUTE, - // psfParent: *mut IShellFolder, - // pidl: PCUITEMID_CHILD, - // ppsi: *mut *mut IShellItem, - //) -> HRESULT; -} -pub const CSIDL_DESKTOP: c_int = 0x0000; -pub const CSIDL_INTERNET: c_int = 0x0001; -pub const CSIDL_PROGRAMS: c_int = 0x0002; -pub const CSIDL_CONTROLS: c_int = 0x0003; -pub const CSIDL_PRINTERS: c_int = 0x0004; -pub const CSIDL_PERSONAL: c_int = 0x0005; -pub const CSIDL_FAVORITES: c_int = 0x0006; -pub const CSIDL_STARTUP: c_int = 0x0007; -pub const CSIDL_RECENT: c_int = 0x0008; -pub const CSIDL_SENDTO: c_int = 0x0009; -pub const CSIDL_BITBUCKET: c_int = 0x000a; -pub const CSIDL_STARTMENU: c_int = 0x000b; -pub const CSIDL_MYDOCUMENTS: c_int = CSIDL_PERSONAL; -pub const CSIDL_MYMUSIC: c_int = 0x000d; -pub const CSIDL_MYVIDEO: c_int = 0x000e; -pub const CSIDL_DESKTOPDIRECTORY: c_int = 0x0010; -pub const CSIDL_DRIVES: c_int = 0x0011; -pub const CSIDL_NETWORK: c_int = 0x0012; -pub const CSIDL_NETHOOD: c_int = 0x0013; -pub const CSIDL_FONTS: c_int = 0x0014; -pub const CSIDL_TEMPLATES: c_int = 0x0015; -pub const CSIDL_COMMON_STARTMENU: c_int = 0x0016; -pub const CSIDL_COMMON_PROGRAMS: c_int = 0x0017; -pub const CSIDL_COMMON_STARTUP: c_int = 0x0018; -pub const CSIDL_COMMON_DESKTOPDIRECTORY: c_int = 0x0019; -pub const CSIDL_APPDATA: c_int = 0x001a; -pub const CSIDL_PRINTHOOD: c_int = 0x001b; -pub const CSIDL_LOCAL_APPDATA: c_int = 0x001c; -pub const CSIDL_ALTSTARTUP: c_int = 0x001d; -pub const CSIDL_COMMON_ALTSTARTUP: c_int = 0x001e; -pub const CSIDL_COMMON_FAVORITES: c_int = 0x001f; -pub const CSIDL_INTERNET_CACHE: c_int = 0x0020; -pub const CSIDL_COOKIES: c_int = 0x0021; -pub const CSIDL_HISTORY: c_int = 0x0022; -pub const CSIDL_COMMON_APPDATA: c_int = 0x0023; -pub const CSIDL_WINDOWS: c_int = 0x0024; -pub const CSIDL_SYSTEM: c_int = 0x0025; -pub const CSIDL_PROGRAM_FILES: c_int = 0x0026; -pub const CSIDL_MYPICTURES: c_int = 0x0027; -pub const CSIDL_PROFILE: c_int = 0x0028; -pub const CSIDL_SYSTEMX86: c_int = 0x0029; -pub const CSIDL_PROGRAM_FILESX86: c_int = 0x002a; -pub const CSIDL_PROGRAM_FILES_COMMON: c_int = 0x002b; -pub const CSIDL_PROGRAM_FILES_COMMONX86: c_int = 0x002c; -pub const CSIDL_COMMON_TEMPLATES: c_int = 0x002d; -pub const CSIDL_COMMON_DOCUMENTS: c_int = 0x002e; -pub const CSIDL_COMMON_ADMINTOOLS: c_int = 0x002f; -pub const CSIDL_ADMINTOOLS: c_int = 0x0030; -pub const CSIDL_CONNECTIONS: c_int = 0x0031; -pub const CSIDL_COMMON_MUSIC: c_int = 0x0035; -pub const CSIDL_COMMON_PICTURES: c_int = 0x0036; -pub const CSIDL_COMMON_VIDEO: c_int = 0x0037; -pub const CSIDL_RESOURCES: c_int = 0x0038; -pub const CSIDL_RESOURCES_LOCALIZED: c_int = 0x0039; -pub const CSIDL_COMMON_OEM_LINKS: c_int = 0x003a; -pub const CSIDL_CDBURN_AREA: c_int = 0x003b; -pub const CSIDL_COMPUTERSNEARME: c_int = 0x003d; -pub const CSIDL_FLAG_CREATE: c_int = 0x8000; -pub const CSIDL_FLAG_DONT_VERIFY: c_int = 0x4000; -pub const CSIDL_FLAG_DONT_UNEXPAND: c_int = 0x2000; -pub const CSIDL_FLAG_NO_ALIAS: c_int = 0x1000; -pub const CSIDL_FLAG_PER_USER_INIT: c_int = 0x0800; -pub const CSIDL_FLAG_MASK: c_int = 0xff00; -extern "system" { - pub fn SHGetSpecialFolderLocation( - hwnd: HWND, - csidl: c_int, - ppidl: *mut PIDLIST_ABSOLUTE, - ) -> HRESULT; - pub fn SHCloneSpecialIDList( - hwnd: HWND, - csidl: c_int, - fCreate: BOOL, - ) -> PIDLIST_ABSOLUTE; - pub fn SHGetSpecialFolderPathA( - hwnd: HWND, - pszPath: LPSTR, - csidl: c_int, - fCreate: BOOL, - ) -> BOOL; - pub fn SHGetSpecialFolderPathW( - hwnd: HWND, - pszPath: LPWSTR, - csidl: c_int, - fCreate: BOOL, - ) -> BOOL; - pub fn SHFlushSFCache(); -} -ENUM!{enum SHGFP_TYPE { - SHGFP_TYPE_CURRENT = 0, - SHGFP_TYPE_DEFAULT = 1, -}} -extern "system" { - pub fn SHGetFolderPathA( - hwnd: HWND, - csidl: c_int, - hToken: HANDLE, - dwFlags: DWORD, - pszPath: LPSTR, - ) -> HRESULT; - pub fn SHGetFolderPathW( - hwnd: HWND, - csidl: c_int, - hToken: HANDLE, - dwFlags: DWORD, - pszPath: LPWSTR, - ) -> HRESULT; - pub fn SHGetFolderLocation( - hwnd: HWND, - csidl: c_int, - hToken: HANDLE, - dwFlags: DWORD, - ppidl: *mut PIDLIST_ABSOLUTE, - ) -> HRESULT; - pub fn SHSetFolderPathA( - csidl: c_int, - hToken: HANDLE, - dwFlags: DWORD, - pszPath: LPCSTR, - ) -> HRESULT; - pub fn SHSetFolderPathW( - csidl: c_int, - hToken: HANDLE, - dwFlags: DWORD, - pszPath: LPCWSTR, - ) -> HRESULT; - pub fn SHGetFolderPathAndSubDirA( - hwnd: HWND, - csidl: c_int, - hToken: HANDLE, - dwFlags: DWORD, - pszSubDir: LPCSTR, - pszPath: LPSTR, - ) -> HRESULT; - pub fn SHGetFolderPathAndSubDirW( - hwnd: HWND, - csidl: c_int, - hToken: HANDLE, - dwFlags: DWORD, - pszSubDir: LPCWSTR, - pszPath: LPWSTR, - ) -> HRESULT; -} -ENUM!{enum KNOWN_FOLDER_FLAG { - KF_FLAG_DEFAULT = 0x00000000, - KF_FLAG_NO_APPCONTAINER_REDIRECTION = 0x00010000, - KF_FLAG_CREATE = 0x00008000, - KF_FLAG_DONT_VERIFY = 0x00004000, - KF_FLAG_DONT_UNEXPAND = 0x00002000, - KF_FLAG_NO_ALIAS = 0x00001000, - KF_FLAG_INIT = 0x00000800, - KF_FLAG_DEFAULT_PATH = 0x00000400, - KF_FLAG_NOT_PARENT_RELATIVE = 0x00000200, - KF_FLAG_SIMPLE_IDLIST = 0x00000100, - KF_FLAG_ALIAS_ONLY = 0x80000000, -}} -extern "system" { - pub fn SHGetKnownFolderIDList( - rfid: REFKNOWNFOLDERID, - dwFlags: DWORD, - hToken: HANDLE, - ppidl: *mut PIDLIST_ABSOLUTE, - ) -> HRESULT; - pub fn SHSetKnownFolderPath( - rfid: REFKNOWNFOLDERID, - dwFlags: DWORD, - hToken: HANDLE, - pszPath: PCWSTR, - ) -> HRESULT; - pub fn SHGetKnownFolderPath( - rfid: REFKNOWNFOLDERID, - dwFlags: DWORD, - hToken: HANDLE, - pszPath: *mut PWSTR, - ) -> HRESULT; - pub fn SHGetKnownFolderItem( - rfid: REFKNOWNFOLDERID, - flags: KNOWN_FOLDER_FLAG, - hToken: HANDLE, - riid: REFIID, - ppv: *mut *mut c_void, - ) -> HRESULT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/shobjidl.rs b/vendor/registry-40351f815f426200/winapi/src/um/shobjidl.rs deleted file mode 100644 index 7db441224..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/shobjidl.rs +++ /dev/null @@ -1,373 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_void; -use shared::guiddef::{REFGUID, REFIID}; -use shared::minwindef::{BOOL, DWORD, UINT}; -use shared::windef::HWND; -use um::objidl::IBindCtx; -use um::propkeydef::REFPROPERTYKEY; -use um::propsys::{GETPROPERTYSTOREFLAGS, IPropertyDescriptionList, IPropertyStore}; -use um::shobjidl_core::{IModalWindow, IModalWindowVtbl, IShellItem, IShellItemFilter, SFGAOF}; -use um::shtypes::COMDLG_FILTERSPEC; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LPCWSTR, LPWSTR, WCHAR}; -pub type IFileOperationProgressSink = IUnknown; // TODO -ENUM!{enum SIATTRIBFLAGS { - SIATTRIBFLAGS_AND = 0x1, - SIATTRIBFLAGS_OR = 0x2, - SIATTRIBFLAGS_APPCOMPAT = 0x3, - SIATTRIBFLAGS_MASK = 0x3, - SIATTRIBFLAGS_ALLITEMS = 0x4000, -}} -RIDL!{#[uuid(0xb63ea76d, 0x1f85, 0x456f, 0xa1, 0x9c, 0x48, 0x15, 0x9e, 0xfa, 0x85, 0x8b)] -interface IShellItemArray(IShellItemArrayVtbl): IUnknown(IUnknownVtbl) { - fn BindToHandler( - pbc: *mut IBindCtx, - bhid: REFGUID, - riid: REFIID, - ppvOut: *mut *mut c_void, - ) -> HRESULT, - fn GetPropertyStore( - flags: GETPROPERTYSTOREFLAGS, - riid: REFIID, - ppv: *mut *mut c_void, - ) -> HRESULT, - fn GetPropertyDescriptionList( - keyType: REFPROPERTYKEY, - riid: REFIID, - ppv: *mut *mut c_void, - ) -> HRESULT, - fn GetAttributes( - AttribFlags: SIATTRIBFLAGS, - sfgaoMask: SFGAOF, - psfgaoAttribs: *mut SFGAOF, - ) -> HRESULT, - fn GetCount( - pdwNumItems: *mut DWORD, - ) -> HRESULT, - fn GetItemAt( - dwIndex: DWORD, - ppsi: *mut *mut IShellItem, - ) -> HRESULT, - // TODO: Add IEnumShellItems - //fn EnumItems( - // ppenumShellItems: *mut *mut IEnumShellItems, - //) -> HRESULT, -}} -ENUM!{enum FDE_OVERWRITE_RESPONSE { - FDEOR_DEFAULT = 0, - FDEOR_ACCEPT = 1, - FDEOR_REFUSE = 2, -}} -ENUM!{enum FDE_SHAREVIOLATION_RESPONSE { - FDESVR_DEFAULT = 0, - FDESVR_ACCEPT = 1, - FDESVR_REFUSE = 2, -}} -ENUM!{enum FDAP { - FDAP_BOTTOM = 0, - FDAP_TOP = 1, -}} -RIDL!{#[uuid(0x973510db, 0x7d7f, 0x452b, 0x89, 0x75, 0x74, 0xa8, 0x58, 0x28, 0xd3, 0x54)] -interface IFileDialogEvents(IFileDialogEventsVtbl): IUnknown(IUnknownVtbl) { - fn OnFileOk( - pfd: *mut IFileDialog, - ) -> HRESULT, - fn OnFolderChanging( - pfd: *mut IFileDialog, - psiFolder: *mut IShellItem, - ) -> HRESULT, - fn OnFolderChange( - pfd: *mut IFileDialog, - ) -> HRESULT, - fn OnSelectionChange( - pfd: *mut IFileDialog, - ) -> HRESULT, - fn OnShareViolation( - pfd: *mut IFileDialog, - psi: *mut IShellItem, - pResponse: *mut FDE_SHAREVIOLATION_RESPONSE, - ) -> HRESULT, - fn OnTypeChange( - pfd: *mut IFileDialog, - ) -> HRESULT, - fn OnOverwrite( - pfd: *mut IFileDialog, - psi: *mut IShellItem, - pResponse: *mut FDE_OVERWRITE_RESPONSE, - ) -> HRESULT, -}} -ENUM!{enum FILEOPENDIALOGOPTIONS { - FOS_OVERWRITEPROMPT = 0x2, - FOS_STRICTFILETYPES = 0x4, - FOS_NOCHANGEDIR = 0x8, - FOS_PICKFOLDERS = 0x20, - FOS_FORCEFILESYSTEM = 0x40, - FOS_ALLNONSTORAGEITEMS = 0x80, - FOS_NOVALIDATE = 0x100, - FOS_ALLOWMULTISELECT = 0x200, - FOS_PATHMUSTEXIST = 0x800, - FOS_FILEMUSTEXIST = 0x1000, - FOS_CREATEPROMPT = 0x2000, - FOS_SHAREAWARE = 0x4000, - FOS_NOREADONLYRETURN = 0x8000, - FOS_NOTESTFILECREATE = 0x10000, - FOS_HIDEMRUPLACES = 0x20000, - FOS_HIDEPINNEDPLACES = 0x40000, - FOS_NODEREFERENCELINKS = 0x100000, - FOS_DONTADDTORECENT = 0x2000000, - FOS_FORCESHOWHIDDEN = 0x10000000, - FOS_DEFAULTNOMINIMODE = 0x20000000, - FOS_FORCEPREVIEWPANEON = 0x40000000, - FOS_SUPPORTSTREAMABLEITEMS = 0x80000000, -}} -RIDL!{#[uuid(0x42f85136, 0xdb7e, 0x439c, 0x85, 0xf1, 0xe4, 0x07, 0x5d, 0x13, 0x5f, 0xc8)] -interface IFileDialog(IFileDialogVtbl): IModalWindow(IModalWindowVtbl) { - fn SetFileTypes( - cFileTypes: UINT, - rgFilterSpec: *const COMDLG_FILTERSPEC, - ) -> HRESULT, - fn SetFileTypeIndex( - iFileType: UINT, - ) -> HRESULT, - fn GetFileTypeIndex( - piFileType: *mut UINT, - ) -> HRESULT, - fn Advise( - pfde: *mut IFileDialogEvents, - pdwCookie: *mut DWORD, - ) -> HRESULT, - fn Unadvise( - dwCookie: DWORD, - ) -> HRESULT, - fn SetOptions( - fos: FILEOPENDIALOGOPTIONS, - ) -> HRESULT, - fn GetOptions( - pfos: *mut FILEOPENDIALOGOPTIONS, - ) -> HRESULT, - fn SetDefaultFolder( - psi: *mut IShellItem, - ) -> HRESULT, - fn SetFolder( - psi: *mut IShellItem, - ) -> HRESULT, - fn GetFolder( - ppsi: *mut *mut IShellItem, - ) -> HRESULT, - fn GetCurrentSelection( - ppsi: *mut *mut IShellItem, - ) -> HRESULT, - fn SetFileName( - pszName: LPCWSTR, - ) -> HRESULT, - fn GetFileName( - pszName: *mut LPWSTR, - ) -> HRESULT, - fn SetTitle( - pszTitle: LPCWSTR, - ) -> HRESULT, - fn SetOkButtonLabel( - pszText: LPCWSTR, - ) -> HRESULT, - fn SetFileNameLabel( - pszLabel: LPCWSTR, - ) -> HRESULT, - fn GetResult( - ppsi: *mut *mut IShellItem, - ) -> HRESULT, - fn AddPlace( - psi: *mut IShellItem, - fdap: FDAP, - ) -> HRESULT, - fn SetDefaultExtension( - pszDefaultExtension: LPCWSTR, - ) -> HRESULT, - fn Close( - hr: HRESULT, - ) -> HRESULT, - fn SetClientGuid( - guid: REFGUID, - ) -> HRESULT, - fn ClearClientData() -> HRESULT, - fn SetFilter( - pFilter: *mut IShellItemFilter, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x84bccd23, 0x5fde, 0x4cdb, 0xae, 0xa4, 0xaf, 0x64, 0xb8, 0x3d, 0x78, 0xab)] -interface IFileSaveDialog(IFileSaveDialogVtbl): IFileDialog(IFileDialogVtbl) { - fn SetSaveAsItem( - psi: *mut IShellItem, - ) -> HRESULT, - fn SetProperties( - pStore: *mut IPropertyStore, - ) -> HRESULT, - fn SetCollectedProperties( - pList: *mut IPropertyDescriptionList, - fAppendDefault: BOOL, - ) -> HRESULT, - fn GetProperties( - ppStore: *mut *mut IPropertyStore, - ) -> HRESULT, - fn ApplyProperties( - psi: *mut IShellItem, - pStore: *mut IPropertyStore, - hwnd: HWND, - pSink: *mut IFileOperationProgressSink, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xd57c7288, 0xd4ad, 0x4768, 0xbe, 0x02, 0x9d, 0x96, 0x95, 0x32, 0xd9, 0x60)] -interface IFileOpenDialog(IFileOpenDialogVtbl): IFileDialog(IFileDialogVtbl) { - fn GetResults( - ppenum: *mut *mut IShellItemArray, - ) -> HRESULT, - fn GetSelectedItems( - ppsai: *mut *mut IShellItemArray, - ) -> HRESULT, -}} -ENUM!{enum CDCONTROLSTATEF { - CDCS_INACTIVE = 0, - CDCS_ENABLED = 0x1, - CDCS_VISIBLE = 0x2, - CDCS_ENABLEDVISIBLE = 0x3, -}} -RIDL!{#[uuid(0xe6fdd21a, 0x163f, 0x4975, 0x9c, 0x8c, 0xa6, 0x9f, 0x1b, 0xa3, 0x70, 0x34)] -interface IFileDialogCustomize(IFileDialogCustomizeVtbl): IUnknown(IUnknownVtbl) { - fn EnableOpenDropDown( - dwIDCtl: DWORD, - ) -> HRESULT, - fn AddMenu( - dwIDCtl: DWORD, - pszLabel: LPCWSTR, - ) -> HRESULT, - fn AddPushButton( - dwIDCtl: DWORD, - pszLabel: LPCWSTR, - ) -> HRESULT, - fn AddComboBox( - dwIDCtl: DWORD, - ) -> HRESULT, - fn AddRadioButtonList( - dwIDCtl: DWORD, - ) -> HRESULT, - fn AddCheckButton( - dwIDCtl: DWORD, - pszLabel: LPCWSTR, - bChecked: BOOL, - ) -> HRESULT, - fn AddEditBox( - dwIDCtl: DWORD, - pszText: LPCWSTR, - ) -> HRESULT, - fn AddSeparator( - dwIDCtl: DWORD, - ) -> HRESULT, - fn AddText( - dwIDCtl: DWORD, - pszText: LPCWSTR, - ) -> HRESULT, - fn SetControlLabel( - dwIDCtl: DWORD, - pszLabel: LPCWSTR, - ) -> HRESULT, - fn GetControlState( - dwIDCtl: DWORD, - pdwState: *mut CDCONTROLSTATEF, - ) -> HRESULT, - fn SetControlState( - dwIDCtl: DWORD, - dwState: CDCONTROLSTATEF, - ) -> HRESULT, - fn GetEditBoxText( - dwIDCtl: DWORD, - ppszText: *mut *mut WCHAR, - ) -> HRESULT, - fn SetEditBoxText( - dwIDCtl: DWORD, - pszText: LPCWSTR, - ) -> HRESULT, - fn GetCheckButtonState( - dwIDCtl: DWORD, - pbChecked: *mut BOOL, - ) -> HRESULT, - fn SetCheckButtonState( - dwIDCtl: DWORD, - bChecked: BOOL, - ) -> HRESULT, - fn AddControlItem( - dwIDCtl: DWORD, - dwIDItem: DWORD, - pszLabel: LPCWSTR, - ) -> HRESULT, - fn RemoveControlItem( - dwIDCtl: DWORD, - dwIDItem: DWORD, - ) -> HRESULT, - fn RemoveAllControlItems( - dwIDCtl: DWORD, - ) -> HRESULT, - fn GetControlItemState( - dwIDCtl: DWORD, - dwIDItem: DWORD, - pdwState: *mut CDCONTROLSTATEF, - ) -> HRESULT, - fn SetControlItemState( - dwIDCtl: DWORD, - dwIDItem: DWORD, - dwState: CDCONTROLSTATEF, - ) -> HRESULT, - fn GetSelectedControlItem( - dwIDCtl: DWORD, - pdwIDItem: *mut DWORD, - ) -> HRESULT, - fn SetSelectedControlItem( - dwIDCtl: DWORD, - dwIDItem: DWORD, - ) -> HRESULT, - fn StartVisualGroup( - dwIDCtl: DWORD, - pszLabel: LPCWSTR, - ) -> HRESULT, - fn EndVisualGroup() -> HRESULT, - fn MakeProminent( - dwIDCtl: DWORD, - ) -> HRESULT, - fn SetControlItemText( - dwIDCtl: DWORD, - dwIDItem: DWORD, - pszLabel: LPCWSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x36116642, 0xd713, 0x4b97, 0x9b, 0x83, 0x74, 0x84, 0xa9, 0xd0, 0x04, 0x33)] -interface IFileDialogControlEvents(IFileDialogControlEventsVtbl): IUnknown(IUnknownVtbl) { - fn OnItemSelected( - pfdc: *mut IFileDialogCustomize, - dwIDCtl: DWORD, - dwIDItem: DWORD, - ) -> HRESULT, - fn OnButtonClicked( - pfdc: *mut IFileDialogCustomize, - dwIDCtl: DWORD, - ) -> HRESULT, - fn OnCheckButtonToggled( - pfdc: *mut IFileDialogCustomize, - dwIDCtl: DWORD, - bChecked: BOOL, - ) -> HRESULT, - fn OnControlActivating( - pfdc: *mut IFileDialogCustomize, - dwIDCtl: DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x61744fc7, 0x85b5, 0x4791, 0xa9, 0xb0, 0x27, 0x22, 0x76, 0x30, 0x9b, 0x13)] -interface IFileDialog2(IFileDialog2Vtbl): IFileDialog(IFileDialogVtbl) { - fn SetCancelButtonLabel( - pszLabel: LPCWSTR, - ) -> HRESULT, - fn SetNavigationRoot( - psi: IShellItem, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/shobjidl_core.rs b/vendor/registry-40351f815f426200/winapi/src/um/shobjidl_core.rs deleted file mode 100644 index ef17f2295..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/shobjidl_core.rs +++ /dev/null @@ -1,306 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_int, c_void}; -use shared::guiddef::{REFGUID, REFIID}; -use shared::minwindef::{BOOL, DWORD, UINT, ULONG, WORD}; -use shared::windef::{HICON, HWND, RECT}; -use um::commctrl::HIMAGELIST; -use um::objidl::IBindCtx; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LPCWSTR, LPWSTR, ULONGLONG, WCHAR}; -DEFINE_GUID!{CLSID_TaskbarList, - 0x56fdf344, 0xfd6d, 0x11d0, 0x95, 0x8a, 0x00, 0x60, 0x97, 0xc9, 0xa0, 0x90} -DEFINE_GUID!{CLSID_FileOpenDialog, - 0xdc1c5a9c, 0xe88a, 0x4dde, 0xa5, 0xa1, 0x60, 0xf8, 0x2a, 0x20, 0xae, 0xf7} -DEFINE_GUID!{CLSID_FileSaveDialog, - 0xc0b4e2f3, 0xba21, 0x4773, 0x8d, 0xba, 0x33, 0x5e, 0xc9, 0x46, 0xeb, 0x8b} -//4498 -ENUM!{enum SHCONTF { - SHCONTF_CHECKING_FOR_CHILDREN = 0x10, - SHCONTF_FOLDERS = 0x20, - SHCONTF_NONFOLDERS = 0x40, - SHCONTF_INCLUDEHIDDEN = 0x80, - SHCONTF_INIT_ON_FIRST_NEXT = 0x100, - SHCONTF_NETPRINTERSRCH = 0x200, - SHCONTF_SHAREABLE = 0x400, - SHCONTF_STORAGE = 0x800, - SHCONTF_NAVIGATION_ENUM = 0x1000, - SHCONTF_FASTITEMS = 0x2000, - SHCONTF_FLATLIST = 0x4000, - SHCONTF_ENABLE_ASYNC = 0x8000, - SHCONTF_INCLUDESUPERHIDDEN = 0x10000, -}} -pub type SFGAOF = ULONG; -//9466 -ENUM!{enum SIGDN { - SIGDN_NORMALDISPLAY = 0, - SIGDN_PARENTRELATIVEPARSING = 0x80018001, - SIGDN_DESKTOPABSOLUTEPARSING = 0x80028000, - SIGDN_PARENTRELATIVEEDITING = 0x80031001, - SIGDN_DESKTOPABSOLUTEEDITING = 0x8004c000, - SIGDN_FILESYSPATH = 0x80058000, - SIGDN_URL = 0x80068000, - SIGDN_PARENTRELATIVEFORADDRESSBAR = 0x8007c001, - SIGDN_PARENTRELATIVE = 0x80080001, - SIGDN_PARENTRELATIVEFORUI = 0x80094001, -}} -ENUM!{enum SICHINTF { - SICHINT_DISPLAY = 0, - SICHINT_ALLFIELDS = 0x80000000, - SICHINT_CANONICAL = 0x10000000, - SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL = 0x20000000, -}} -RIDL!{#[uuid(0x43826d1e, 0xe718, 0x42ee, 0xbc, 0x55, 0xa1, 0xe2, 0x61, 0xc3, 0x7b, 0xfe)] -interface IShellItem(IShellItemVtbl): IUnknown(IUnknownVtbl) { - fn BindToHandler( - pbc: *mut IBindCtx, - bhid: REFGUID, - riid: REFIID, - ppv: *mut *mut c_void, - ) -> HRESULT, - fn GetParent( - ppsi: *mut *mut IShellItem, - ) -> HRESULT, - fn GetDisplayName( - sigdnName: SIGDN, - ppszName: *mut LPWSTR, - ) -> HRESULT, - fn GetAttributes( - sfgaoMask: SFGAOF, - psfgaoAttribs: *mut SFGAOF, - ) -> HRESULT, - fn Compare( - psi: *mut IShellItem, - hint: SICHINTF, - piOrder: *mut c_int, - ) -> HRESULT, -}} -//20869 -RIDL!{#[uuid(0xb4db1657, 0x70d7, 0x485e, 0x8e, 0x3e, 0x6f, 0xcb, 0x5a, 0x5c, 0x18, 0x02)] -interface IModalWindow(IModalWindowVtbl): IUnknown(IUnknownVtbl) { - fn Show( - hwndOwner: HWND, - ) -> HRESULT, -}} -//22307 -//27457 -RIDL!{#[uuid(0x2659b475, 0xeeb8, 0x48b7, 0x8f, 0x07, 0xb3, 0x78, 0x81, 0x0f, 0x48, 0xcf)] -interface IShellItemFilter(IShellItemFilterVtbl): IUnknown(IUnknownVtbl) { - fn IncludeItem( - psi: *mut IShellItem, - ) -> HRESULT, - fn GetEnumFlagsForItem( - psi: *mut IShellItem, - pgrfFlags: *mut SHCONTF, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x56fdf342, 0xfd6d, 0x11d0, 0x95, 0x8a, 0x00, 0x60, 0x97, 0xc9, 0xa0, 0x90)] -interface ITaskbarList(ITaskbarListVtbl): IUnknown(IUnknownVtbl) { - fn HrInit() -> HRESULT, - fn AddTab( - hwnd: HWND, - ) -> HRESULT, - fn DeleteTab( - hwnd: HWND, - ) -> HRESULT, - fn ActivateTab( - hwnd: HWND, - ) -> HRESULT, - fn SetActiveAlt( - hwnd: HWND, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x602d4995, 0xb13a, 0x429b, 0xa6, 0x6e, 0x19, 0x35, 0xe4, 0x4f, 0x43, 0x17)] -interface ITaskbarList2(ITaskbarList2Vtbl): ITaskbarList(ITaskbarListVtbl) { - fn MarkFullscreenWindow( - hwnd: HWND, - fFullscreen: BOOL, - ) -> HRESULT, -}} -ENUM!{enum THUMBBUTTONFLAGS { - THBF_ENABLED = 0, - THBF_DISABLED = 0x1, - THBF_DISMISSONCLICK = 0x2, - THBF_NOBACKGROUND = 0x4, - THBF_HIDDEN = 0x8, - THBF_NONINTERACTIVE = 0x10, -}} -ENUM!{enum THUMBBUTTONMASK { - THB_BITMAP = 0x1, - THB_ICON = 0x2, - THB_TOOLTIP = 0x4, - THB_FLAGS = 0x8, -}} -STRUCT!{struct THUMBBUTTON { - dwMask: THUMBBUTTONMASK, - iId: UINT, - iBitmap: UINT, - hIcon: HICON, - szTip: [WCHAR; 260], - dwFlags: THUMBBUTTONFLAGS, -}} -pub type LPTHUMBBUTTON = *mut THUMBBUTTON; -pub const THBN_CLICKED: WORD = 0x1800; -ENUM!{enum TBPFLAG { - TBPF_NOPROGRESS = 0, - TBPF_INDETERMINATE = 0x1, - TBPF_NORMAL = 0x2, - TBPF_ERROR = 0x4, - TBPF_PAUSED = 0x8, -}} -RIDL!{#[uuid(0xea1afb91, 0x9e28, 0x4b86, 0x90, 0xe9, 0x9e, 0x9f, 0x8a, 0x5e, 0xef, 0xaf)] -interface ITaskbarList3(ITaskbarList3Vtbl): ITaskbarList2(ITaskbarList2Vtbl) { - fn SetProgressValue( - hwnd: HWND, - ullCompleted: ULONGLONG, - ullTotal: ULONGLONG, - ) -> HRESULT, - fn SetProgressState( - hwnd: HWND, - tbpFlags: TBPFLAG, - ) -> HRESULT, - fn RegisterTab( - hwndTab: HWND, - hwndMDI: HWND, - ) -> HRESULT, - fn UnregisterTab( - hwndTab: HWND, - ) -> HRESULT, - fn SetTabOrder( - hwndTab: HWND, - hwndInsertBefore: HWND, - ) -> HRESULT, - fn SetTabActive( - hwndTab: HWND, - hwndMDI: HWND, - dwReserved: DWORD, - ) -> HRESULT, - fn ThumbBarAddButtons( - hwnd: HWND, - cButtons: UINT, - pButton: LPTHUMBBUTTON, - ) -> HRESULT, - fn ThumbBarUpdateButtons( - hwnd: HWND, - cButtons: UINT, - pButton: LPTHUMBBUTTON, - ) -> HRESULT, - fn ThumbBarSetImageList( - hwnd: HWND, - himl: HIMAGELIST, - ) -> HRESULT, - fn SetOverlayIcon( - hwnd: HWND, - hIcon: HICON, - pszDescription: LPCWSTR, - ) -> HRESULT, - fn SetThumbnailTooltip( - hwnd: HWND, - pszTip: LPCWSTR, - ) -> HRESULT, - fn SetThumbnailClip( - hwnd: HWND, - prcClip: *mut RECT, - ) -> HRESULT, -}} -ENUM!{enum STPFLAG { - STPF_NONE = 0, - STPF_USEAPPTHUMBNAILALWAYS = 0x1, - STPF_USEAPPTHUMBNAILWHENACTIVE = 0x2, - STPF_USEAPPPEEKALWAYS = 0x4, - STPF_USEAPPPEEKWHENACTIVE = 0x8, -}} -RIDL!{#[uuid(0xc43dc798, 0x95d1, 0x4bea, 0x90, 0x30, 0xbb, 0x99, 0xe2, 0x98, 0x3a, 0x1a)] -interface ITaskbarList4(ITaskbarList4Vtbl): ITaskbarList3(ITaskbarList3Vtbl) { - fn SetTabProperties( - hwndTab: HWND, - stpFlags: STPFLAG, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xc2cf3110, 0x460e, 0x4fc1, 0xb9, 0xd0, 0x8a, 0x1c, 0x0c, 0x9c, 0xc4, 0xbd)] -class DesktopWallpaper;} -RIDL!{#[uuid(0x00021400, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -class ShellDesktop;} -RIDL!{#[uuid(0xf3364ba0, 0x65b9, 0x11ce, 0xa9, 0xba, 0x00, 0xaa, 0x00, 0x4a, 0xe8, 0x37)] -class ShellFSFolder;} -RIDL!{#[uuid(0x208d2c60, 0x3aea, 0x1069, 0xa2, 0xd7, 0x08, 0x00, 0x2b, 0x30, 0x30, 0x9d)] -class NetworkPlaces;} -RIDL!{#[uuid(0x00021401, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -class ShellLink;} -RIDL!{#[uuid(0x94357b53, 0xca29, 0x4b78, 0x83, 0xae, 0xe8, 0xfe, 0x74, 0x09, 0x13, 0x4f)] -class DriveSizeCategorizer;} -RIDL!{#[uuid(0xb0a8f3cf, 0x4333, 0x4bab, 0x88, 0x73, 0x1c, 0xcb, 0x1c, 0xad, 0xa4, 0x8b)] -class DriveTypeCategorizer;} -RIDL!{#[uuid(0xb5607793, 0x24ac, 0x44c7, 0x82, 0xe2, 0x83, 0x17, 0x26, 0xaa, 0x6c, 0xb7)] -class FreeSpaceCategorizer;} -RIDL!{#[uuid(0x55d7b852, 0xf6d1, 0x42f2, 0xaa, 0x75, 0x87, 0x28, 0xa1, 0xb2, 0xd2, 0x64)] -class SizeCategorizer;} -RIDL!{#[uuid(0xd912f8cf, 0x0396, 0x4915, 0x88, 0x4e, 0xfb, 0x42, 0x5d, 0x32, 0x94, 0x3b)] -class PropertiesUI;} -RIDL!{#[uuid(0x0010890e, 0x8789, 0x413c, 0xad, 0xbc, 0x48, 0xf5, 0xb5, 0x11, 0xb3, 0xaf)] -class UserNotification;} -RIDL!{#[uuid(0x56fdf344, 0xfd6d, 0x11d0, 0x95, 0x8a, 0x00, 0x60, 0x97, 0xc9, 0xa0, 0x90)] -class TaskbarList;} -RIDL!{#[uuid(0x9ac9fbe1, 0xe0a2, 0x4ad6, 0xb4, 0xee, 0xe2, 0x12, 0x01, 0x3e, 0xa9, 0x17)] -class ShellItem;} -RIDL!{#[uuid(0x72eb61e0, 0x8672, 0x4303, 0x91, 0x75, 0xf2, 0xe4, 0xc6, 0x8b, 0x2e, 0x7c)] -class NamespaceWalker;} -RIDL!{#[uuid(0x3ad05575, 0x8857, 0x4850, 0x92, 0x77, 0x11, 0xb8, 0x5b, 0xdb, 0x8e, 0x09)] -class FileOperation;} -RIDL!{#[uuid(0xdc1c5a9c, 0xe88a, 0x4dde, 0xa5, 0xa1, 0x60, 0xf8, 0x2a, 0x20, 0xae, 0xf7)] -class FileOpenDialog;} -RIDL!{#[uuid(0xc0b4e2f3, 0xba21, 0x4773, 0x8d, 0xba, 0x33, 0x5e, 0xc9, 0x46, 0xeb, 0x8b)] -class FileSaveDialog;} -RIDL!{#[uuid(0x4df0c730, 0xdf9d, 0x4ae3, 0x91, 0x53, 0xaa, 0x6b, 0x82, 0xe9, 0x79, 0x5a)] -class KnownFolderManager;} -RIDL!{#[uuid(0x49f371e1, 0x8c5c, 0x4d9c, 0x9a, 0x3b, 0x54, 0xa6, 0x82, 0x7f, 0x51, 0x3c)] -class SharingConfigurationManager;} -RIDL!{#[uuid(0x7007acc7, 0x3202, 0x11d1, 0xaa, 0xd2, 0x00, 0x80, 0x5f, 0xc1, 0x27, 0x0e)] -class NetworkConnections;} -RIDL!{#[uuid(0xd6277990, 0x4c6a, 0x11cf, 0x8d, 0x87, 0x00, 0xaa, 0x00, 0x60, 0xf5, 0xbf)] -class ScheduledTasks;} -RIDL!{#[uuid(0x591209c7, 0x767b, 0x42b2, 0x9f, 0xba, 0x44, 0xee, 0x46, 0x15, 0xf2, 0xc7)] -class ApplicationAssociationRegistration;} -RIDL!{#[uuid(0x14010e02, 0xbbbd, 0x41f0, 0x88, 0xe3, 0xed, 0xa3, 0x71, 0x21, 0x65, 0x84)] -class SearchFolderItemFactory;} -RIDL!{#[uuid(0x06622d85, 0x6856, 0x4460, 0x8d, 0xe1, 0xa8, 0x19, 0x21, 0xb4, 0x1c, 0x4b)] -class OpenControlPanel;} -RIDL!{#[uuid(0x9e56be60, 0xc50f, 0x11cf, 0x9a, 0x2c, 0x00, 0xa0, 0xc9, 0x0a, 0x90, 0xce)] -class MailRecipient;} -RIDL!{#[uuid(0xf02c1a0d, 0xbe21, 0x4350, 0x88, 0xb0, 0x73, 0x67, 0xfc, 0x96, 0xef, 0x3c)] -class NetworkExplorerFolder;} -RIDL!{#[uuid(0x77f10cf0, 0x3db5, 0x4966, 0xb5, 0x20, 0xb7, 0xc5, 0x4f, 0xd3, 0x5e, 0xd6)] -class DestinationList;} -RIDL!{#[uuid(0x86c14003, 0x4d6b, 0x4ef3, 0xa7, 0xb4, 0x05, 0x06, 0x66, 0x3b, 0x2e, 0x68)] -class ApplicationDestinations;} -RIDL!{#[uuid(0x86bec222, 0x30f2, 0x47e0, 0x9f, 0x25, 0x60, 0xd1, 0x1c, 0xd7, 0x5c, 0x28)] -class ApplicationDocumentLists;} -RIDL!{#[uuid(0xde77ba04, 0x3c92, 0x4d11, 0xa1, 0xa5, 0x42, 0x35, 0x2a, 0x53, 0xe0, 0xe3)] -class HomeGroup;} -RIDL!{#[uuid(0xd9b3211d, 0xe57f, 0x4426, 0xaa, 0xef, 0x30, 0xa8, 0x06, 0xad, 0xd3, 0x97)] -class ShellLibrary;} -RIDL!{#[uuid(0x273eb5e7, 0x88b0, 0x4843, 0xbf, 0xef, 0xe2, 0xc8, 0x1d, 0x43, 0xaa, 0xe5)] -class AppStartupLink;} -RIDL!{#[uuid(0x2d3468c1, 0x36a7, 0x43b6, 0xac, 0x24, 0xd3, 0xf0, 0x2f, 0xd9, 0x60, 0x7a)] -class EnumerableObjectCollection;} -RIDL!{#[uuid(0xd5120aa3, 0x46ba, 0x44c5, 0x82, 0x2d, 0xca, 0x80, 0x92, 0xc1, 0xfc, 0x72)] -class FrameworkInputPane;} -RIDL!{#[uuid(0xc63382be, 0x7933, 0x48d0, 0x9a, 0xc8, 0x85, 0xfb, 0x46, 0xbe, 0x2f, 0xdd)] -class DefFolderMenu;} -RIDL!{#[uuid(0x7e5fe3d9, 0x985f, 0x4908, 0x91, 0xf9, 0xee, 0x19, 0xf9, 0xfd, 0x15, 0x14)] -class AppVisibility;} -RIDL!{#[uuid(0x4ed3a719, 0xcea8, 0x4bd9, 0x91, 0x0d, 0xe2, 0x52, 0xf9, 0x97, 0xaf, 0xc2)] -class AppShellVerbHandler;} -RIDL!{#[uuid(0xe44e9428, 0xbdbc, 0x4987, 0xa0, 0x99, 0x40, 0xdc, 0x8f, 0xd2, 0x55, 0xe7)] -class ExecuteUnknown;} -RIDL!{#[uuid(0xb1aec16f, 0x2383, 0x4852, 0xb0, 0xe9, 0x8f, 0x0b, 0x1d, 0xc6, 0x6b, 0x4d)] -class PackageDebugSettings;} -RIDL!{#[uuid(0x6b273fc5, 0x61fd, 0x4918, 0x95, 0xa2, 0xc3, 0xb5, 0xe9, 0xd7, 0xf5, 0x81)] -class SuspensionDependencyManager;} -RIDL!{#[uuid(0x45ba127d, 0x10a8, 0x46ea, 0x8a, 0xb7, 0x56, 0xea, 0x90, 0x78, 0x94, 0x3c)] -class ApplicationActivationManager;} -RIDL!{#[uuid(0x958a6fb5, 0xdcb2, 0x4faf, 0xaa, 0xfd, 0x7f, 0xb0, 0x54, 0xad, 0x1a, 0x3b)] -class ApplicationDesignModeSettings;} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/shtypes.rs b/vendor/registry-40351f815f426200/winapi/src/um/shtypes.rs deleted file mode 100644 index 470d79e21..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/shtypes.rs +++ /dev/null @@ -1,44 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! this ALWAYS GENERATED file contains the definitions for the interfaces -use shared::guiddef::GUID; -use shared::minwindef::{BYTE, USHORT}; -use um::winnt::LPCWSTR; -STRUCT!{#[repr(packed)] struct SHITEMID { - cb: USHORT, - abID: [BYTE; 1], -}} -pub type LPSHITEMID = *mut SHITEMID; -pub type LPCSHITEMID = *const SHITEMID; -STRUCT!{#[repr(packed)] struct ITEMIDLIST { - mkid: SHITEMID, -}} -pub type ITEMIDLIST_RELATIVE = ITEMIDLIST; -pub type ITEMID_CHILD = ITEMIDLIST; -pub type ITEMIDLIST_ABSOLUTE = ITEMIDLIST; -pub type LPITEMIDLIST = *mut ITEMIDLIST; -pub type LPCITEMIDLIST = *const ITEMIDLIST; -pub type PIDLIST_ABSOLUTE = *mut ITEMIDLIST_ABSOLUTE; -pub type PCIDLIST_ABSOLUTE = *const ITEMIDLIST_ABSOLUTE; -pub type PCUIDLIST_ABSOLUTE = *const ITEMIDLIST_ABSOLUTE; -pub type PIDLIST_RELATIVE = *mut ITEMIDLIST_RELATIVE; -pub type PCIDLIST_RELATIVE = *const ITEMIDLIST_RELATIVE; -pub type PUIDLIST_RELATIVE = *mut ITEMIDLIST_RELATIVE; -pub type PCUIDLIST_RELATIVE = *const ITEMIDLIST_RELATIVE; -pub type PITEMID_CHILD = *mut ITEMID_CHILD; -pub type PCITEMID_CHILD = *const ITEMID_CHILD; -pub type PUITEMID_CHILD = *mut ITEMID_CHILD; -pub type PCUITEMID_CHILD = *const ITEMID_CHILD; -pub type PCUITEMID_CHILD_ARRAY = *const PCUITEMID_CHILD; -pub type PCUIDLIST_RELATIVE_ARRAY = *const PCUIDLIST_RELATIVE; -pub type PCIDLIST_ABSOLUTE_ARRAY = *const PCIDLIST_ABSOLUTE; -pub type PCUIDLIST_ABSOLUTE_ARRAY = *const PCUIDLIST_ABSOLUTE; -STRUCT!{struct COMDLG_FILTERSPEC { - pszName: LPCWSTR, - pszSpec: LPCWSTR, -}} -pub type KNOWNFOLDERID = GUID; -pub type REFKNOWNFOLDERID = *const KNOWNFOLDERID; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/spapidef.rs b/vendor/registry-40351f815f426200/winapi/src/um/spapidef.rs deleted file mode 100644 index 259f4699f..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/spapidef.rs +++ /dev/null @@ -1,53 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Public header file for Windows NT Setup and Device Installer services Dlls -use shared::minwindef::DWORD; -use um::winnt::DWORDLONG; -pub type SP_LOG_TOKEN = DWORDLONG; -pub type PSP_LOG_TOKEN = *mut DWORDLONG; -pub const LOGTOKEN_TYPE_MASK: SP_LOG_TOKEN = 3; -pub const LOGTOKEN_UNSPECIFIED: SP_LOG_TOKEN = 0; -pub const LOGTOKEN_NO_LOG: SP_LOG_TOKEN = 1; -pub const LOGTOKEN_SETUPAPI_APPLOG: SP_LOG_TOKEN = 2; -pub const LOGTOKEN_SETUPAPI_DEVLOG: SP_LOG_TOKEN = 3; -pub const TXTLOG_SETUPAPI_DEVLOG: DWORD = 0x00000001; -pub const TXTLOG_SETUPAPI_CMDLINE: DWORD = 0x00000002; -pub const TXTLOG_SETUPAPI_BITS: DWORD = 0x00000003; -pub const TXTLOG_ERROR: DWORD = 0x1; -pub const TXTLOG_WARNING: DWORD = 0x2; -pub const TXTLOG_SYSTEM_STATE_CHANGE: DWORD = 0x3; -pub const TXTLOG_SUMMARY: DWORD = 0x4; -pub const TXTLOG_DETAILS: DWORD = 0x5; -pub const TXTLOG_VERBOSE: DWORD = 0x6; -pub const TXTLOG_VERY_VERBOSE: DWORD = 0x7; -pub const TXTLOG_RESERVED_FLAGS: DWORD = 0x0000FFF0; -pub const TXTLOG_TIMESTAMP: DWORD = 0x00010000; -pub const TXTLOG_DEPTH_INCR: DWORD = 0x00020000; -pub const TXTLOG_DEPTH_DECR: DWORD = 0x00040000; -pub const TXTLOG_TAB_1: DWORD = 0x00080000; -pub const TXTLOG_FLUSH_FILE: DWORD = 0x00100000; -#[inline] -pub fn TXTLOG_LEVEL(flags: DWORD) -> DWORD { - flags & 0xf -} -pub const TXTLOG_DEVINST: DWORD = 0x00000001; -pub const TXTLOG_INF: DWORD = 0x00000002; -pub const TXTLOG_FILEQ: DWORD = 0x00000004; -pub const TXTLOG_COPYFILES: DWORD = 0x00000008; -pub const TXTLOG_SIGVERIF: DWORD = 0x00000020; -pub const TXTLOG_BACKUP: DWORD = 0x00000080; -pub const TXTLOG_UI: DWORD = 0x00000100; -pub const TXTLOG_UTIL: DWORD = 0x00000200; -pub const TXTLOG_INFDB: DWORD = 0x00000400; -pub const TXTLOG_POLICY: DWORD = 0x00800000; -pub const TXTLOG_NEWDEV: DWORD = 0x01000000; -pub const TXTLOG_UMPNPMGR: DWORD = 0x02000000; -pub const TXTLOG_DRIVER_STORE: DWORD = 0x04000000; -pub const TXTLOG_SETUP: DWORD = 0x08000000; -pub const TXTLOG_CMI: DWORD = 0x10000000; -pub const TXTLOG_DEVMGR: DWORD = 0x20000000; -pub const TXTLOG_INSTALLER: DWORD = 0x40000000; -pub const TXTLOG_VENDOR: DWORD = 0x80000000; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/spellcheck.rs b/vendor/registry-40351f815f426200/winapi/src/um/spellcheck.rs deleted file mode 100644 index 9254ed52d..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/spellcheck.rs +++ /dev/null @@ -1,146 +0,0 @@ -use shared::minwindef::{BOOL, BYTE, DWORD}; -use shared::ntdef::{LPCWSTR, LPWSTR, ULONG}; -use shared::winerror::HRESULT; -use um::objidlbase::IEnumString; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -ENUM!{enum WORDLIST_TYPE { - WORDLIST_TYPE_IGNORE = 0, - WORDLIST_TYPE_ADD = 1, - WORDLIST_TYPE_EXCLUDE = 2, - WORDLIST_TYPE_AUTOCORRECT = 3, -}} -ENUM!{enum CORRECTIVE_ACTION { - CORRECTIVE_ACTION_NONE = 0, - CORRECTIVE_ACTION_GET_SUGGESTIONS = 1, - CORRECTIVE_ACTION_REPLACE = 2, - CORRECTIVE_ACTION_DELETE = 3, -}} -RIDL!{#[uuid(0xb7c82d61, 0xfbe8, 0x4b47, 0x9b, 0x27, 0x6c, 0x0d, 0x2e, 0x0d, 0xe0, 0xa3)] -interface ISpellingError(ISpellingErrorVtbl): IUnknown(IUnknownVtbl) { - fn get_StartIndex( - value: *mut ULONG, - ) -> HRESULT, - fn get_Length( - value: *mut ULONG, - ) -> HRESULT, - fn get_CorrectiveAction( - value: *mut CORRECTIVE_ACTION, - ) -> HRESULT, - fn get_Replacement( - value: *mut LPWSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x803e3bd4, 0x2828, 0x4410, 0x82, 0x90, 0x41, 0x8d, 0x1d, 0x73, 0xc7, 0x62)] -interface IEnumSpellingError(IEnumSpellingErrorVtbl): IUnknown(IUnknownVtbl) { - fn Next( - value: *mut *mut ISpellingError, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x432e5f85, 0x35cf, 0x4606, 0xa8, 0x01, 0x6f, 0x70, 0x27, 0x7e, 0x1d, 0x7a)] -interface IOptionDescription(IOptionDescriptionVtbl): IUnknown(IUnknownVtbl) { - fn Id( - value: *mut LPWSTR, - ) -> HRESULT, - fn Heading( - value: *mut LPWSTR, - ) -> HRESULT, - fn Description( - value: *mut LPWSTR, - ) -> HRESULT, - fn Labels( - value: *mut *mut IEnumString, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x0b83a5b0, 0x792f, 0x4eab, 0x97, 0x99, 0xac, 0xf5, 0x2c, 0x5e, 0xd0, 0x8a)] -interface ISpellCheckerChangedEventHandler(ISpellCheckerChangedEventHandlerVtbl): - IUnknown(IUnknownVtbl) { - fn Invoke( - sender: *const ISpellChecker, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xb6fd0b71, 0xe2bc, 0x4653, 0x8d, 0x05, 0xf1, 0x97, 0xe4, 0x12, 0x77, 0x0b)] -interface ISpellChecker(ISpellCheckerVtbl): IUnknown(IUnknownVtbl) { - fn get_LanguageTag( - value: *mut LPWSTR, - ) -> HRESULT, - fn Check( - text: LPCWSTR, - value: *mut *mut IEnumSpellingError, - ) -> HRESULT, - fn Suggest( - word: LPCWSTR, - value: *mut *mut IEnumString, - ) -> HRESULT, - fn Add( - word: LPCWSTR, - ) -> HRESULT, - fn Ignore( - word: LPCWSTR, - ) -> HRESULT, - fn AutoCorrect( - from: LPCWSTR, - to: LPCWSTR, - ) -> HRESULT, - fn GetOptionValue( - optionId: LPCWSTR, - value: *mut BYTE, - ) -> HRESULT, - fn Get_OptionIds( - value: *mut *mut IEnumString, - ) -> HRESULT, - fn Get_Id( - value: *mut LPWSTR, - ) -> HRESULT, - fn Get_LocalizedName( - value: *mut LPWSTR, - ) -> HRESULT, - fn add_SpellCheckerChanged( - handler: *const ISpellCheckerChangedEventHandler, - eventCookie: *mut DWORD, - ) -> HRESULT, - fn remove_SpellCheckerChanged( - eventCookie: DWORD, - ) -> HRESULT, - fn GetOptionDescription( - optionId: LPCWSTR, - value: *mut *mut IOptionDescription, - ) -> HRESULT, - fn ComprehensiveCheck( - text: LPCWSTR, - value: *mut *mut IEnumSpellingError, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xe7ed1c71, 0x87f7, 0x4378, 0xa8, 0x40, 0xc9, 0x20, 0x0d, 0xac, 0xee, 0x47)] -interface ISpellChecker2(ISpellChecker2Vtbl): ISpellChecker(ISpellCheckerVtbl) { - fn Remove( - word: LPCWSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x8e018a9d, 0x2415, 0x4677, 0xbf, 0x08, 0x79, 0x4e, 0xa6, 0x1f, 0x94, 0xbb)] -interface ISpellCheckerFactory(ISpellCheckerFactoryVtbl): IUnknown(IUnknownVtbl) { - fn SupportedLanguages( - value: *mut *mut IEnumString, - ) -> HRESULT, - fn IsSupported( - languageTag: LPCWSTR, - value: *mut BOOL, - ) -> HRESULT, - fn CreateSpellChecker( - languageTag: LPCWSTR, - value: *mut *mut ISpellChecker, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xaa176b85, 0x0e12, 0x4844, 0x8e, 0x1a, 0xee, 0xf1, 0xda, 0x77, 0xf5, 0x86)] -interface IUserDictionariesRegistrar(IUserDictionariesRegistrarVtbl): IUnknown(IUnknownVtbl) { - fn RegisterUserDictionary( - dictionaryPath: LPCWSTR, - languageTag: LPCWSTR, - ) -> HRESULT, - fn UnregisterUserDictionary( - dictionaryPath: LPCWSTR, - languageTag: LPCWSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x7ab36653, 0x1796, 0x484b, 0xbd, 0xfa, 0xe7, 0x4f, 0x1d, 0xb7, 0xc1, 0xdc)] -class SpellCheckerFactory; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/sporder.rs b/vendor/registry-40351f815f426200/winapi/src/um/sporder.rs deleted file mode 100644 index 84630e3e0..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/sporder.rs +++ /dev/null @@ -1,41 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -//! Service Provider Order -use ctypes::c_int; -use shared::guiddef::LPGUID; -use shared::minwindef::{DWORD, LPDWORD}; -extern "system" { - pub fn WSCWriteProviderOrder( - lpwdCatalogEntryId: LPDWORD, - dwNumberOfEntries: DWORD, - ) -> c_int; -} -FN!{stdcall LPWSCWRITEPROVIDERORDER( - lpwdCatalogEntryId: LPDWORD, - dwNumberOfEntries: DWORD, -) -> c_int} -#[cfg(target_pointer_width = "64")] -extern "system" { - pub fn WSCWriteProviderOrder32( - lpwdCatalogEntryId: LPDWORD, - dwNumberOfEntries: DWORD, - ) -> c_int; - pub fn WSCWriteNameSpaceOrder( - lpProviderId: LPGUID, - dwNumberOfEntries: DWORD, - ) -> c_int; -} -FN!{stdcall LPWSCWRITENAMESPACEORDER( - lpProviderId: LPGUID, - dwNumberOfEntries: DWORD, -) -> c_int} -#[cfg(target_pointer_width = "64")] -extern "system" { - pub fn WSCWriteNameSpaceOrder32( - lpProviderId: LPGUID, - dwNumberOfEntries: DWORD, - ) -> c_int; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/sql.rs b/vendor/registry-40351f815f426200/winapi/src/um/sql.rs deleted file mode 100644 index d42a163ed..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/sql.rs +++ /dev/null @@ -1,108 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use um::sqltypes::{ - SQLHANDLE, SQLHDBC, SQLHENV, SQLHSTMT, SQLINTEGER, SQLLEN, SQLPOINTER, SQLRETURN, SQLSMALLINT, - SQLUSMALLINT, -}; -pub const SQL_NULL_DATA: SQLLEN = -1; -pub const SQL_DATA_AT_EXEC: SQLLEN = -2; -pub const SQL_SUCCESS: SQLRETURN = 0; -pub const SQL_SUCCESS_WITH_INFO: SQLRETURN = 1; -pub const SQL_NO_DATA: SQLRETURN = 100; -pub const SQL_PARAM_DATA_AVAILABLE: SQLRETURN = 101; -pub const SQL_ERROR: SQLRETURN = -1; -pub const SQL_INVALID_HANDLE: SQLRETURN = -2; -pub const SQL_STILL_EXECUTING: SQLRETURN = 2; -pub const SQL_NEED_DATA: SQLRETURN = 99; -pub const SQL_NTS: SQLSMALLINT = -3; -pub const SQL_MAX_MESSAGE_LENGTH: usize = 512; -pub const SQL_DATE_LEN: usize = 10; -pub const SQL_TIME_LEN: usize = 8; -pub const SQL_TIMESTAMP_LEN: usize = 19; -pub const SQL_HANDLE_ENV: SQLSMALLINT = 1; -pub const SQL_HANDLE_DBC: SQLSMALLINT = 2; -pub const SQL_HANDLE_STMT: SQLSMALLINT = 3; -pub const SQL_HANDLE_DESC: SQLSMALLINT = 4; -pub const SQL_ATTR_OUTPUT_NTS: SQLINTEGER = 10001; -pub const SQL_ATTR_AUTO_IPD: SQLINTEGER = 10001; -pub const SQL_ATTR_METADATA_ID: SQLINTEGER = 10014; -pub const SQL_ATTR_APP_ROW_DESC: SQLINTEGER = 10010; -pub const SQL_ATTR_APP_PARAM_DESC: SQLINTEGER = 10011; -pub const SQL_ATTR_IMP_ROW_DESC: SQLINTEGER = 10012; -pub const SQL_ATTR_IMP_PARAM_DESC: SQLINTEGER = 10013; -pub const SQL_ATTR_CURSOR_SCROLLABLE: SQLINTEGER = -1; -pub const SQL_ATTR_CURSOR_SENSITIVITY: SQLINTEGER = -2; -pub const SQL_UNKNOWN_TYPE: SQLSMALLINT = 0; -pub const SQL_CHAR: SQLSMALLINT = 1; -pub const SQL_NUMERIC: SQLSMALLINT = 2; -pub const SQL_DECIMAL: SQLSMALLINT = 3; -pub const SQL_INTEGER: SQLSMALLINT = 4; -pub const SQL_SMALLINT: SQLSMALLINT = 5; -pub const SQL_FLOAT: SQLSMALLINT = 6; -pub const SQL_REAL: SQLSMALLINT = 7; -pub const SQL_DOUBLE: SQLSMALLINT = 8; -pub const SQL_DATETIME: SQLSMALLINT = 9; -pub const SQL_VARCHAR: SQLSMALLINT = 12; -pub const SQL_TYPE_DATE: SQLSMALLINT = 91; -pub const SQL_TYPE_TIME: SQLSMALLINT = 92; -pub const SQL_TYPE_TIMESTAMP: SQLSMALLINT = 93; -pub const SQL_NO_NULLS: SQLSMALLINT = 0; -pub const SQL_NULLABLE: SQLSMALLINT = 1; -pub const SQL_NULLABLE_UNKNOWN: SQLSMALLINT = 2; -pub const SQL_CLOSE: SQLUSMALLINT = 0; -pub const SQL_DROP: SQLUSMALLINT = 1; -pub const SQL_UNBIND: SQLUSMALLINT = 2; -pub const SQL_RESET_PARAMS: SQLUSMALLINT = 3; -pub const SQL_NULL_HANDLE: SQLHANDLE = 0 as SQLHANDLE; -extern "system" { - pub fn SQLAllocHandle( - handleType: SQLSMALLINT, - inputHandle: SQLHANDLE, - outputHandle: *mut SQLHANDLE, - ) -> SQLRETURN; - pub fn SQLDisconnect( - connectionHandle: SQLHDBC, - ) -> SQLRETURN; - pub fn SQLFetch( - statementHandle: SQLHSTMT, - ) -> SQLRETURN; - pub fn SQLFreeHandle( - handleType: SQLSMALLINT, - handle: SQLHANDLE, - ) -> SQLRETURN; - pub fn SQLFreeStmt( - statementHandle: SQLHSTMT, - option: SQLUSMALLINT, - ) -> SQLRETURN; - pub fn SQLGetData( - statementHandle: SQLHSTMT, - columnNumber: SQLUSMALLINT, - targetType: SQLSMALLINT, - targetValue: SQLPOINTER, - bufferLength: SQLLEN, - strLen_or_IndPtr: *mut SQLLEN, - ) -> SQLRETURN; - pub fn SQLNumResultCols( - statementHandle: SQLHSTMT, - columnCount: *mut SQLSMALLINT, - ) -> SQLRETURN; - pub fn SQLRowCount( - statementHandle: SQLHSTMT, - rowCount: *mut SQLLEN, - ) -> SQLRETURN; - pub fn SQLSetConnectAttr( - connectionHandle: SQLHDBC, - attribute: SQLINTEGER, - value: SQLPOINTER, - stringLength: SQLINTEGER, - ) -> SQLRETURN; - pub fn SQLSetEnvAttr( - environmentHandle: SQLHENV, - attribute: SQLINTEGER, - value: SQLPOINTER, - stringLength: SQLINTEGER, - ) -> SQLRETURN; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/sqlext.rs b/vendor/registry-40351f815f426200/winapi/src/um/sqlext.rs deleted file mode 100644 index 8de50f1b8..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/sqlext.rs +++ /dev/null @@ -1,95 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This module defines the SQL extension APIs -use um::sql::{ - SQL_CHAR, SQL_DOUBLE, SQL_INTEGER, SQL_NUMERIC, SQL_REAL, SQL_SMALLINT, SQL_TYPE_DATE, - SQL_TYPE_TIME, SQL_TYPE_TIMESTAMP -}; -use um::sqltypes::{SQLINTEGER, SQLSMALLINT, SQLUSMALLINT}; -pub const SQL_ATTR_ODBC_VERSION: SQLINTEGER = 200; -pub const SQL_ATTR_CONNECTION_POOLING: SQLINTEGER = 201; -pub const SQL_ATTR_CP_MATCH: SQLINTEGER = 202; -pub const SQL_OV_ODBC2: SQLINTEGER = 2; -pub const SQL_OV_ODBC3: SQLINTEGER = 3; -pub const SQL_OV_ODBC3_80: SQLINTEGER = 380; -pub const SQL_ACCESS_MODE: SQLINTEGER = 101; -pub const SQL_AUTOCOMMIT: SQLINTEGER = 102; -pub const SQL_LOGIN_TIMEOUT: SQLINTEGER = 103; -pub const SQL_OPT_TRACE: SQLINTEGER = 104; -pub const SQL_OPT_TRACEFILE: SQLINTEGER = 105; -pub const SQL_TRANSLATE_DLL: SQLINTEGER = 106; -pub const SQL_TRANSLATE_OPTION: SQLINTEGER = 107; -pub const SQL_TXN_ISOLATION: SQLINTEGER = 108; -pub const SQL_CURRENT_QUALIFIER: SQLINTEGER = 109; -pub const SQL_ODBC_CURSORS: SQLINTEGER = 110; -pub const SQL_QUIET_MODE: SQLINTEGER = 111; -pub const SQL_PACKET_SIZE: SQLINTEGER = 112; -pub const SQL_ATTR_ACCESS_MODE: SQLINTEGER = SQL_ACCESS_MODE; -pub const SQL_ATTR_AUTOCOMMIT: SQLINTEGER = SQL_AUTOCOMMIT; -pub const SQL_ATTR_CONNECTION_TIMEOUT: SQLINTEGER = 113; -pub const SQL_ATTR_CURRENT_CATALOG: SQLINTEGER = SQL_CURRENT_QUALIFIER; -pub const SQL_ATTR_DISCONNECT_BEHAVIOR: SQLINTEGER = 114; -pub const SQL_ATTR_ENLIST_IN_DTC: SQLINTEGER = 1207; -pub const SQL_ATTR_ENLIST_IN_XA: SQLINTEGER = 1208; -pub const SQL_ATTR_LOGIN_TIMEOUT: SQLINTEGER = SQL_LOGIN_TIMEOUT; -pub const SQL_ATTR_ODBC_CURSORS: SQLINTEGER = SQL_ODBC_CURSORS; -pub const SQL_ATTR_PACKET_SIZE: SQLINTEGER = SQL_PACKET_SIZE; -pub const SQL_ATTR_QUIET_MODE: SQLINTEGER = SQL_QUIET_MODE; -pub const SQL_ATTR_TRACE: SQLINTEGER = SQL_OPT_TRACE; -pub const SQL_ATTR_TRACEFILE: SQLINTEGER = SQL_OPT_TRACEFILE; -pub const SQL_ATTR_TRANSLATE_LIB: SQLINTEGER = SQL_TRANSLATE_DLL; -pub const SQL_ATTR_TRANSLATE_OPTION: SQLINTEGER = SQL_TRANSLATE_OPTION; -pub const SQL_ATTR_TXN_ISOLATION: SQLINTEGER = SQL_TXN_ISOLATION; -pub const SQL_ATTR_CONNECTION_DEAD: SQLINTEGER = 1209; -pub const SQL_IS_POINTER: SQLINTEGER = -4; -pub const SQL_IS_UINTEGER: SQLINTEGER = -5; -pub const SQL_IS_INTEGER: SQLINTEGER = -6; -pub const SQL_IS_USMALLINT: SQLINTEGER = -7; -pub const SQL_IS_SMALLINT: SQLINTEGER = -8; -pub const SQL_DATE: SQLSMALLINT = 9; -pub const SQL_INTERVAL: SQLSMALLINT = 10; -pub const SQL_TIME: SQLSMALLINT = 10; -pub const SQL_TIMESTAMP: SQLSMALLINT = 11; -pub const SQL_LONGVARCHAR: SQLSMALLINT = -1; -pub const SQL_BINARY: SQLSMALLINT = -2; -pub const SQL_VARBINARY: SQLSMALLINT = -3; -pub const SQL_LONGVARBINARY: SQLSMALLINT = -4; -pub const SQL_BIGINT: SQLSMALLINT = -5; -pub const SQL_TINYINT: SQLSMALLINT = -6; -pub const SQL_BIT: SQLSMALLINT = -7; -pub const SQL_GUID: SQLSMALLINT = -11; -pub const SQL_C_CHAR: SQLSMALLINT = SQL_CHAR; -pub const SQL_C_LONG: SQLSMALLINT = SQL_INTEGER; -pub const SQL_C_SHORT: SQLSMALLINT = SQL_SMALLINT; -pub const SQL_C_FLOAT: SQLSMALLINT = SQL_REAL; -pub const SQL_C_DOUBLE: SQLSMALLINT = SQL_DOUBLE; -pub const SQL_C_NUMERIC: SQLSMALLINT = SQL_NUMERIC; -pub const SQL_C_DEFAULT: SQLSMALLINT = 99; -pub const SQL_SIGNED_OFFSET: SQLSMALLINT = -20; -pub const SQL_UNSIGNED_OFFSET: SQLSMALLINT = -22; -pub const SQL_C_DATE: SQLSMALLINT = SQL_DATE; -pub const SQL_C_TIME: SQLSMALLINT = SQL_TIME; -pub const SQL_C_TIMESTAMP: SQLSMALLINT = SQL_TIMESTAMP; -pub const SQL_C_TYPE_DATE: SQLSMALLINT = SQL_TYPE_DATE; -pub const SQL_C_TYPE_TIME: SQLSMALLINT = SQL_TYPE_TIME; -pub const SQL_C_TYPE_TIMESTAMP: SQLSMALLINT = SQL_TYPE_TIMESTAMP; -pub const SQL_C_BINARY: SQLSMALLINT = SQL_BINARY; -pub const SQL_C_BIT: SQLSMALLINT = SQL_BIT; -pub const SQL_C_SBIGINT: SQLSMALLINT = SQL_BIGINT + SQL_SIGNED_OFFSET; -pub const SQL_C_UBIGINT: SQLSMALLINT = SQL_BIGINT + SQL_UNSIGNED_OFFSET; -pub const SQL_C_TINYINT: SQLSMALLINT = SQL_TINYINT; -pub const SQL_C_SLONG: SQLSMALLINT = SQL_C_LONG + SQL_SIGNED_OFFSET; -pub const SQL_C_SSHORT: SQLSMALLINT = SQL_C_SHORT + SQL_SIGNED_OFFSET; -pub const SQL_C_STINYINT: SQLSMALLINT = SQL_TINYINT + SQL_SIGNED_OFFSET; -pub const SQL_C_ULONG: SQLSMALLINT = SQL_C_LONG + SQL_UNSIGNED_OFFSET; -pub const SQL_C_USHORT: SQLSMALLINT = SQL_C_SHORT + SQL_UNSIGNED_OFFSET; -pub const SQL_C_UTINYINT: SQLSMALLINT = SQL_TINYINT + SQL_UNSIGNED_OFFSET; -pub const SQL_C_GUID: SQLSMALLINT = SQL_GUID; -pub const SQL_TYPE_NULL: SQLSMALLINT = 0; -pub const SQL_DRIVER_NOPROMPT: SQLUSMALLINT = 0; -pub const SQL_DRIVER_COMPLETE: SQLUSMALLINT = 1; -pub const SQL_DRIVER_PROMPT: SQLUSMALLINT = 2; -pub const SQL_DRIVER_COMPLETE_REQUIRED: SQLUSMALLINT = 3; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/sqltypes.rs b/vendor/registry-40351f815f426200/winapi/src/um/sqltypes.rs deleted file mode 100644 index 5c9b3020d..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/sqltypes.rs +++ /dev/null @@ -1,142 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This module defines the types used in ODBC -use ctypes::*; -#[cfg(target_pointer_width = "64")] -use shared::basetsd::{INT64, UINT64}; -use shared::guiddef::GUID; -use shared::windef::HWND; -pub type SQLCHAR = c_uchar; -pub type SQLSCHAR = c_schar; -pub type SQLDATE = c_uchar; -pub type SQLDECIMAL = c_uchar; -pub type SQLDOUBLE = c_double; -pub type SQLFLOAT = c_double; -pub type SQLINTEGER = c_long; -pub type SQLUINTEGER = c_ulong; -#[cfg(target_pointer_width = "64")] -pub type SQLLEN = INT64; -#[cfg(target_pointer_width = "64")] -pub type SQLULEN = UINT64; -#[cfg(target_pointer_width = "64")] -pub type SQLSETPOSIROW = UINT64; -#[cfg(target_arch = "x86")] -pub type SQLLEN = SQLINTEGER; -#[cfg(target_arch = "x86")] -pub type SQLULEN = SQLUINTEGER; -#[cfg(target_arch = "x86")] -pub type SQLSETPOSIROW = SQLUSMALLINT; -pub type SQLROWCOUNT = SQLULEN; -pub type SQLROWSETSIZE = SQLULEN; -pub type SQLTRANSID = SQLULEN; -pub type SQLROWOFFSET = SQLLEN; -pub type SQLNUMERIC = c_uchar; -pub type SQLPOINTER = *mut c_void; -pub type SQLREAL = c_float; -pub type SQLSMALLINT = c_short; -pub type SQLUSMALLINT = c_ushort; -pub type SQLTIME = c_uchar; -pub type SQLTIMESTAMP = c_uchar; -pub type SQLVARCHAR = c_uchar; -pub type SQLRETURN = SQLSMALLINT; -pub type SQLHANDLE = *mut c_void; -pub type SQLHENV = SQLHANDLE; -pub type SQLHDBC = SQLHANDLE; -pub type SQLHSTMT = SQLHANDLE; -pub type SQLHDESC = SQLHANDLE; -//pub type UCHAR = c_uchar; -pub type SCHAR = c_schar; -//pub type SQLSCHAR = SCHAR; -pub type SDWORD = c_long; -pub type SWORD = c_short; -pub type UDWORD = c_ulong; -//pub type UWORD = c_ushort; -//#[cfg(target_arch = "x86")] -//pub type SQLUINTEGER = UDWORD; -pub type SLONG = c_long; -pub type SSHORT = c_short; -//pub type ULONG = c_ulong; -//pub type USHORT = c_ushort; -pub type SDOUBLE = c_double; -pub type LDOUBLE = c_double; -pub type SFLOAT = c_float; -pub type PTR = *mut c_void; -pub type HENV = *mut c_void; -pub type HDBC = *mut c_void; -pub type HSTMT = *mut c_void; -pub type RETCODE = c_short; -pub type SQLHWND = HWND; -STRUCT!{struct DATE_STRUCT { - year: SQLSMALLINT, - month: SQLUSMALLINT, - day: SQLUSMALLINT, -}} -pub type SQL_DATE_STRUCT = DATE_STRUCT; -STRUCT!{struct TIME_STRUCT { - hour: SQLUSMALLINT, - minute: SQLUSMALLINT, - second: SQLUSMALLINT, -}} -pub type SQL_TIME_STRUCT = TIME_STRUCT; -STRUCT!{struct TIMESTAMP_STRUCT { - year: SQLSMALLINT, - month: SQLUSMALLINT, - day: SQLUSMALLINT, - hour: SQLUSMALLINT, - minute: SQLUSMALLINT, - second: SQLUSMALLINT, - fraction: SQLUINTEGER, -}} -pub type SQL_TIMESTAMP_STRUCT = TIMESTAMP_STRUCT; -ENUM!{enum SQLINTERVAL { - SQL_IS_YEAR = 1, - SQL_IS_MONTH = 2, - SQL_IS_DAY = 3, - SQL_IS_HOUR = 4, - SQL_IS_MINUTE = 5, - SQL_IS_SECOND = 6, - SQL_IS_YEAR_TO_MONTH = 7, - SQL_IS_DAY_TO_HOUR = 8, - SQL_IS_DAY_TO_MINUTE = 9, - SQL_IS_DAY_TO_SECOND = 10, - SQL_IS_HOUR_TO_MINUTE = 11, - SQL_IS_HOUR_TO_SECOND = 12, - SQL_IS_MINUTE_TO_SECOND = 13, -}} -STRUCT!{struct SQL_YEAR_MONTH_STRUCT { - year: SQLUINTEGER, - month: SQLUINTEGER, -}} -STRUCT!{struct SQL_DAY_SECOND_STRUCT { - day: SQLUINTEGER, - hour: SQLUINTEGER, - minute: SQLUINTEGER, - second: SQLUINTEGER, - fraction: SQLUINTEGER, -}} -UNION!{union SQL_INTERVAL_STRUCT_intval { - [u32; 5], - year_month year_month_mut: SQL_YEAR_MONTH_STRUCT, - day_second day_second_mut: SQL_DAY_SECOND_STRUCT, -}} -STRUCT!{struct SQL_INTERVAL_STRUCT { - interval_type: SQLINTERVAL, - interval_sign: SQLSMALLINT, - intval: SQL_INTERVAL_STRUCT_intval, -}} -pub type ODBCINT64 = __int64; -pub type SQLBIGINT = ODBCINT64; -pub type SQLUBIGINT = __uint64; -pub const SQL_MAX_NUMERIC_LEN: usize = 16; -STRUCT!{struct SQL_NUMERIC_STRUCT { - precision: SQLCHAR, - scale: SQLSCHAR, - sign: SQLCHAR, - val: [SQLCHAR; SQL_MAX_NUMERIC_LEN], -}} -pub type SQLGUID = GUID; -pub type BOOKMARK = SQLULEN; -pub type SQLWCHAR = wchar_t; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/sqlucode.rs b/vendor/registry-40351f815f426200/winapi/src/um/sqlucode.rs deleted file mode 100644 index b5ed4bfab..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/sqlucode.rs +++ /dev/null @@ -1,106 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This module defines the ODBC Core unicode functions -use um::sqltypes::{ - SQLCHAR, SQLHANDLE, SQLHDBC, SQLHSTMT, SQLHWND, SQLINTEGER, SQLRETURN, SQLSMALLINT, SQLULEN, - SQLUSMALLINT, SQLWCHAR -}; -pub const SQL_WCHAR: SQLSMALLINT = -8; -pub const SQL_WVARCHAR: SQLSMALLINT = -9; -pub const SQL_WLONGVARCHAR: SQLSMALLINT = -10; -pub const SQL_C_WCHAR: SQLSMALLINT = SQL_WCHAR; -extern "system" { - pub fn SQLConnectW( - connectionHandle: SQLHDBC, - serverName: *const SQLWCHAR, - nameLength1: SQLSMALLINT, - userName: *const SQLWCHAR, - nameLength2: SQLSMALLINT, - authentication: *const SQLWCHAR, - nameLength3: SQLSMALLINT, - ) -> SQLRETURN; - pub fn SQLDescribeColW( - statementHandle: SQLHSTMT, - columnNumber: SQLUSMALLINT, - columnName: *mut SQLWCHAR, - bufferLength: SQLSMALLINT, - nameLength: *mut SQLSMALLINT, - dataType: *mut SQLSMALLINT, - columnSize: *mut SQLULEN, - decimalDigits: *mut SQLSMALLINT, - nullable: *mut SQLSMALLINT, - ) -> SQLRETURN; - pub fn SQLExecDirectW( - statementHandle: SQLHSTMT, - statementText: *const SQLWCHAR, - textLength: SQLINTEGER, - ) -> SQLRETURN; - pub fn SQLGetDiagRecW( - handleType: SQLSMALLINT, - handle: SQLHANDLE, - recNumber: SQLSMALLINT, - sqlstate: *mut SQLWCHAR, - nativeError: *mut SQLINTEGER, - messageText: *mut SQLWCHAR, - bufferLength: SQLSMALLINT, - textLength: *mut SQLSMALLINT, - ) -> SQLRETURN; - pub fn SQLDriverConnectW( - hdbc: SQLHDBC, - hwnd: SQLHWND, - szConnStrIn: *const SQLWCHAR, - cchConnStrIn: SQLSMALLINT, - szConnStrOut: *mut SQLWCHAR, - cchConnStrOutMax: SQLSMALLINT, - pcchConnStrOut: *mut SQLSMALLINT, - fDriverCompletion: SQLUSMALLINT, - ) -> SQLRETURN; - pub fn SQLConnectA( - connectionHandle: SQLHDBC, - serverName: *const SQLCHAR, - nameLength1: SQLSMALLINT, - userName: *const SQLCHAR, - nameLength2: SQLSMALLINT, - authentication: *const SQLCHAR, - nameLength3: SQLSMALLINT, - ) -> SQLRETURN; - pub fn SQLDescribeColA( - statementHandle: SQLHSTMT, - columnNumber: SQLUSMALLINT, - columnName: *mut SQLCHAR, - bufferLength: SQLSMALLINT, - nameLength: *mut SQLSMALLINT, - dataType: *mut SQLSMALLINT, - columnSize: *mut SQLULEN, - decimalDigits: *mut SQLSMALLINT, - nullable: *mut SQLSMALLINT, - ) -> SQLRETURN; - pub fn SQLExecDirectA( - statementHandle: SQLHSTMT, - statementText: *const SQLCHAR, - textLength: SQLINTEGER, - ) -> SQLRETURN; - pub fn SQLGetDiagRecA( - handleType: SQLSMALLINT, - handle: SQLHANDLE, - recNumber: SQLSMALLINT, - sqlstate: *mut SQLCHAR, - nativeError: *mut SQLINTEGER, - messageText: *mut SQLCHAR, - bufferLength: SQLSMALLINT, - textLength: *mut SQLSMALLINT, - ) -> SQLRETURN; - pub fn SQLDriverConnectA( - hdbc: SQLHDBC, - hwnd: SQLHWND, - szConnStrIn: *const SQLCHAR, - cchConnStrIn: SQLSMALLINT, - szConnStrOut: *mut SQLCHAR, - cchConnStrOutMax: SQLSMALLINT, - pcchConnStrOut: *mut SQLSMALLINT, - fDriverCompletion: SQLUSMALLINT, - ) -> SQLRETURN; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/sspi.rs b/vendor/registry-40351f815f426200/winapi/src/um/sspi.rs deleted file mode 100644 index edc0dbc6d..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/sspi.rs +++ /dev/null @@ -1,7 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Security Support Provider Interface Prototypes and structure definitions -pub use shared::sspi::*; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/stringapiset.rs b/vendor/registry-40351f815f426200/winapi/src/um/stringapiset.rs deleted file mode 100644 index 61560ed14..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/stringapiset.rs +++ /dev/null @@ -1,75 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_int; -use shared::minwindef::{BOOL, DWORD, LPARAM, LPBOOL, LPVOID, LPWORD, UINT}; -use um::winnls::LPNLSVERSIONINFO; -use um::winnt::{LCID, LPCSTR, LPCWCH, LPCWSTR, LPSTR, LPWSTR, PCNZWCH}; -extern "system" { - pub fn CompareStringEx( - lpLocaleName: LPCWSTR, - dwCmpFlags: DWORD, - lpString1: LPCWCH, - cchCount1: c_int, - lpString2: LPCWCH, - cchCount2: c_int, - lpVersionInformation: LPNLSVERSIONINFO, - lpReserved: LPVOID, - lParam: LPARAM, - ) -> c_int; - pub fn CompareStringOrdinal( - lpString1: LPCWCH, - cchCount1: c_int, - lpString2: LPCWCH, - cchCount2: c_int, - bIgnoreCase: BOOL, - ) -> c_int; - pub fn CompareStringW( - Locale: LCID, - dwCmpFlags: DWORD, - lpString1: PCNZWCH, - cchCount1: c_int, - lpString2: PCNZWCH, - cchCount2: c_int, - ) -> c_int; - pub fn FoldStringW( - dwMapFlags: DWORD, - lpSrcStr: LPCWCH, - cchSrc: c_int, - lpDestStr: LPWSTR, - cchDest: c_int, - ) -> c_int; - pub fn GetStringTypeExW( - Locale: LCID, - dwInfoType: DWORD, - lpSrcStr: LPCWCH, - cchSrc: c_int, - lpCharType: LPWORD, - ) -> BOOL; - pub fn GetStringTypeW( - dwInfoType: DWORD, - lpSrcStr: LPCWCH, - cchSrc: c_int, - lpCharType: LPWORD, - ) -> BOOL; - pub fn MultiByteToWideChar( - CodePage: UINT, - dwFlags: DWORD, - lpMultiByteStr: LPCSTR, - cbMultiByte: c_int, - lpWideCharStr: LPWSTR, - cchWideChar: c_int, - ) -> c_int; - pub fn WideCharToMultiByte( - CodePage: UINT, - dwFlags: DWORD, - lpWideCharStr: LPCWSTR, - cchWideChar: c_int, - lpMultiByteStr: LPSTR, - cbMultiByte: c_int, - lpDefaultChar: LPCSTR, - lpUsedDefaultChar: LPBOOL, - ) -> c_int; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/strmif.rs b/vendor/registry-40351f815f426200/winapi/src/um/strmif.rs deleted file mode 100644 index db08afd9a..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/strmif.rs +++ /dev/null @@ -1,7 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use um::winnt::LONGLONG; -pub type REFERENCE_TIME = LONGLONG; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/subauth.rs b/vendor/registry-40351f815f426200/winapi/src/um/subauth.rs deleted file mode 100644 index b5d539b25..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/subauth.rs +++ /dev/null @@ -1,204 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Types and macros for Subauthentication Packages. -use shared::minwindef::{PUCHAR, ULONG, USHORT}; -use um::winnt::{BOOLEAN, CHAR, LARGE_INTEGER, LONG, PCHAR, PVOID, PWSTR}; -STRUCT!{struct UNICODE_STRING { - Length: USHORT, - MaximumLength: USHORT, - Buffer: PWSTR, -}} -pub type PUNICODE_STRING = *mut UNICODE_STRING; -STRUCT!{struct STRING { - Length: USHORT, - MaximumLength: USHORT, - Buffer: PCHAR, -}} -pub type PSTRING = *mut STRING; -STRUCT!{struct OLD_LARGE_INTEGER { - LowPart: ULONG, - HighPart: LONG, -}} -pub type POLD_LARGE_INTEGER = *mut OLD_LARGE_INTEGER; -pub type SAM_HANDLE = PVOID; -pub type PSAM_HANDLE = *mut PVOID; -pub const USER_ACCOUNT_DISABLED: ULONG = 0x00000001; -pub const USER_HOME_DIRECTORY_REQUIRED: ULONG = 0x00000002; -pub const USER_PASSWORD_NOT_REQUIRED: ULONG = 0x00000004; -pub const USER_TEMP_DUPLICATE_ACCOUNT: ULONG = 0x00000008; -pub const USER_NORMAL_ACCOUNT: ULONG = 0x00000010; -pub const USER_MNS_LOGON_ACCOUNT: ULONG = 0x00000020; -pub const USER_INTERDOMAIN_TRUST_ACCOUNT: ULONG = 0x00000040; -pub const USER_WORKSTATION_TRUST_ACCOUNT: ULONG = 0x00000080; -pub const USER_SERVER_TRUST_ACCOUNT: ULONG = 0x00000100; -pub const USER_DONT_EXPIRE_PASSWORD: ULONG = 0x00000200; -pub const USER_ACCOUNT_AUTO_LOCKED: ULONG = 0x00000400; -pub const USER_ENCRYPTED_TEXT_PASSWORD_ALLOWED: ULONG = 0x00000800; -pub const USER_SMARTCARD_REQUIRED: ULONG = 0x00001000; -pub const USER_TRUSTED_FOR_DELEGATION: ULONG = 0x00002000; -pub const USER_NOT_DELEGATED: ULONG = 0x00004000; -pub const USER_USE_DES_KEY_ONLY: ULONG = 0x00008000; -pub const USER_DONT_REQUIRE_PREAUTH: ULONG = 0x00010000; -pub const USER_PASSWORD_EXPIRED: ULONG = 0x00020000; -pub const USER_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION: ULONG = 0x00040000; -pub const USER_NO_AUTH_DATA_REQUIRED: ULONG = 0x00080000; -pub const USER_PARTIAL_SECRETS_ACCOUNT: ULONG = 0x00100000; -pub const USER_USE_AES_KEYS: ULONG = 0x00200000; -pub const NEXT_FREE_ACCOUNT_CONTROL_BIT: ULONG = USER_USE_AES_KEYS << 1; -pub const USER_MACHINE_ACCOUNT_MASK: ULONG = USER_INTERDOMAIN_TRUST_ACCOUNT - | USER_WORKSTATION_TRUST_ACCOUNT | USER_SERVER_TRUST_ACCOUNT; -pub const USER_ACCOUNT_TYPE_MASK: ULONG = USER_TEMP_DUPLICATE_ACCOUNT | USER_NORMAL_ACCOUNT - | USER_MACHINE_ACCOUNT_MASK; -pub const USER_COMPUTED_ACCOUNT_CONTROL_BITS: ULONG = USER_ACCOUNT_AUTO_LOCKED - | USER_PASSWORD_EXPIRED; -pub const SAM_DAYS_PER_WEEK: USHORT = 7; -pub const SAM_HOURS_PER_WEEK: USHORT = 24 * SAM_DAYS_PER_WEEK; -pub const SAM_MINUTES_PER_WEEK: USHORT = 60 * SAM_HOURS_PER_WEEK; -STRUCT!{struct LOGON_HOURS { - UnitsPerWeek: USHORT, - LogonHours: PUCHAR, -}} -pub type PLOGON_HOURS = *mut LOGON_HOURS; -STRUCT!{struct SR_SECURITY_DESCRIPTOR { - Length: ULONG, - SecurityDescriptor: PUCHAR, -}} -pub type PSR_SECURITY_DESCRIPTOR = *mut SR_SECURITY_DESCRIPTOR; -STRUCT!{struct USER_ALL_INFORMATION { - LastLogon: LARGE_INTEGER, - LastLogoff: LARGE_INTEGER, - PasswordLastSet: LARGE_INTEGER, - AccountExpires: LARGE_INTEGER, - PasswordCanChange: LARGE_INTEGER, - PasswordMustChange: LARGE_INTEGER, - UserName: UNICODE_STRING, - FullName: UNICODE_STRING, - HomeDirectory: UNICODE_STRING, - HomeDirectoryDrive: UNICODE_STRING, - ScriptPath: UNICODE_STRING, - ProfilePath: UNICODE_STRING, - AdminComment: UNICODE_STRING, - WorkStations: UNICODE_STRING, - UserComment: UNICODE_STRING, - Parameters: UNICODE_STRING, - LmPassword: UNICODE_STRING, - NtPassword: UNICODE_STRING, - PrivateData: UNICODE_STRING, - SecurityDescriptor: SR_SECURITY_DESCRIPTOR, - UserId: ULONG, - PrimaryGroupId: ULONG, - UserAccountControl: ULONG, - WhichFields: ULONG, - LogonHours: LOGON_HOURS, - BadPasswordCount: USHORT, - LogonCount: USHORT, - CountryCode: USHORT, - CodePage: USHORT, - LmPasswordPresent: BOOLEAN, - NtPasswordPresent: BOOLEAN, - PasswordExpired: BOOLEAN, - PrivateDataSensitive: BOOLEAN, -}} -pub type PUSER_ALL_INFORMATION = *mut USER_ALL_INFORMATION; -pub const USER_ALL_PARAMETERS: ULONG = 0x00200000; -pub const CLEAR_BLOCK_LENGTH: usize = 8; -STRUCT!{struct CLEAR_BLOCK { - data: [CHAR; CLEAR_BLOCK_LENGTH], -}} -pub type PCLEAR_BLOCK = *mut CLEAR_BLOCK; -pub const CYPHER_BLOCK_LENGTH: usize = 8; -STRUCT!{struct CYPHER_BLOCK { - data: [CHAR; CYPHER_BLOCK_LENGTH], -}} -pub type PCYPHER_BLOCK = *mut CYPHER_BLOCK; -STRUCT!{struct LM_OWF_PASSWORD { - data: [CYPHER_BLOCK; 2], -}} -pub type PLM_OWF_PASSWORD = *mut LM_OWF_PASSWORD; -pub type LM_CHALLENGE = CLEAR_BLOCK; -pub type PLM_CHALLENGE = *mut LM_CHALLENGE; -pub type NT_OWF_PASSWORD = LM_OWF_PASSWORD; -pub type PNT_OWF_PASSWORD = *mut NT_OWF_PASSWORD; -pub type NT_CHALLENGE = LM_CHALLENGE; -pub type PNT_CHALLENGE = *mut NT_CHALLENGE; -pub const USER_SESSION_KEY_LENGTH: usize = CYPHER_BLOCK_LENGTH * 2; -STRUCT!{struct USER_SESSION_KEY { - data: [CYPHER_BLOCK; 2], -}} -pub type PUSER_SESSION_KEY = *mut USER_SESSION_KEY; -ENUM!{enum NETLOGON_LOGON_INFO_CLASS { - NetlogonInteractiveInformation = 1, - NetlogonNetworkInformation, - NetlogonServiceInformation, - NetlogonGenericInformation, - NetlogonInteractiveTransitiveInformation, - NetlogonNetworkTransitiveInformation, - NetlogonServiceTransitiveInformation, -}} -STRUCT!{struct NETLOGON_LOGON_IDENTITY_INFO { - LogonDomainName: UNICODE_STRING, - ParameterControl: ULONG, - LogonId: OLD_LARGE_INTEGER, - UserName: UNICODE_STRING, - Workstation: UNICODE_STRING, -}} -pub type PNETLOGON_LOGON_IDENTITY_INFO = *mut NETLOGON_LOGON_IDENTITY_INFO; -STRUCT!{struct NETLOGON_INTERACTIVE_INFO { - Identity: NETLOGON_LOGON_IDENTITY_INFO, - LmOwfPassword: LM_OWF_PASSWORD, - NtOwfPassword: NT_OWF_PASSWORD, -}} -pub type PNETLOGON_INTERACTIVE_INFO = *mut NETLOGON_INTERACTIVE_INFO; -STRUCT!{struct NETLOGON_SERVICE_INFO { - Identity: NETLOGON_LOGON_IDENTITY_INFO, - LmOwfPassword: LM_OWF_PASSWORD, - NtOwfPassword: NT_OWF_PASSWORD, -}} -pub type PNETLOGON_SERVICE_INFO = *mut NETLOGON_SERVICE_INFO; -STRUCT!{struct NETLOGON_NETWORK_INFO { - Identity: NETLOGON_LOGON_IDENTITY_INFO, - LmChallenge: LM_CHALLENGE, - NtChallengeResponse: STRING, - LmChallengeResponse: STRING, -}} -pub type PNETLOGON_NETWORK_INFO = *mut NETLOGON_NETWORK_INFO; -STRUCT!{struct NETLOGON_GENERIC_INFO { - Identity: NETLOGON_LOGON_IDENTITY_INFO, - PackageName: UNICODE_STRING, - DataLength: ULONG, - LogonData: PUCHAR, -}} -pub type PNETLOGON_GENERIC_INFO = *mut NETLOGON_GENERIC_INFO; -pub const MSV1_0_PASSTHRU: ULONG = 0x01; -pub const MSV1_0_GUEST_LOGON: ULONG = 0x02; -STRUCT!{struct MSV1_0_VALIDATION_INFO { - LogoffTime: LARGE_INTEGER, - KickoffTime: LARGE_INTEGER, - LogonServer: UNICODE_STRING, - LogonDomainName: UNICODE_STRING, - SessionKey: USER_SESSION_KEY, - Authoritative: BOOLEAN, - UserFlags: ULONG, - WhichFields: ULONG, - UserId: ULONG, -}} -pub type PMSV1_0_VALIDATION_INFO = *mut MSV1_0_VALIDATION_INFO; -pub const MSV1_0_VALIDATION_LOGOFF_TIME: ULONG = 0x00000001; -pub const MSV1_0_VALIDATION_KICKOFF_TIME: ULONG = 0x00000002; -pub const MSV1_0_VALIDATION_LOGON_SERVER: ULONG = 0x00000004; -pub const MSV1_0_VALIDATION_LOGON_DOMAIN: ULONG = 0x00000008; -pub const MSV1_0_VALIDATION_SESSION_KEY: ULONG = 0x00000010; -pub const MSV1_0_VALIDATION_USER_FLAGS: ULONG = 0x00000020; -pub const MSV1_0_VALIDATION_USER_ID: ULONG = 0x00000040; -pub const MSV1_0_SUBAUTH_ACCOUNT_DISABLED: ULONG = 0x00000001; -pub const MSV1_0_SUBAUTH_PASSWORD: ULONG = 0x00000002; -pub const MSV1_0_SUBAUTH_WORKSTATIONS: ULONG = 0x00000004; -pub const MSV1_0_SUBAUTH_LOGON_HOURS: ULONG = 0x00000008; -pub const MSV1_0_SUBAUTH_ACCOUNT_EXPIRY: ULONG = 0x00000010; -pub const MSV1_0_SUBAUTH_PASSWORD_EXPIRY: ULONG = 0x00000020; -pub const MSV1_0_SUBAUTH_ACCOUNT_TYPE: ULONG = 0x00000040; -pub const MSV1_0_SUBAUTH_LOCKOUT: ULONG = 0x00000080; -// STATUS_* diff --git a/vendor/registry-40351f815f426200/winapi/src/um/synchapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/synchapi.rs deleted file mode 100644 index 205579e66..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/synchapi.rs +++ /dev/null @@ -1,349 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! ApiSet Contract for api-ms-win-core-synch-l1 -use shared::basetsd::SIZE_T; -use shared::minwindef::{BOOL, DWORD, LPLONG, LPVOID, PBOOL, ULONG}; -use um::minwinbase::{ - LPCRITICAL_SECTION, LPSECURITY_ATTRIBUTES, PCRITICAL_SECTION, PREASON_CONTEXT, -}; -use um::winnt::{ - BOOLEAN, HANDLE, LARGE_INTEGER, LONG, LPCSTR, LPCWSTR, PRTL_BARRIER, PRTL_RUN_ONCE, - PVOID, RTL_BARRIER, RTL_CONDITION_VARIABLE, RTL_CONDITION_VARIABLE_INIT, - RTL_RUN_ONCE, RTL_SRWLOCK, RTL_SRWLOCK_INIT, VOID -}; -pub const SRWLOCK_INIT: SRWLOCK = RTL_SRWLOCK_INIT; -pub type SRWLOCK = RTL_SRWLOCK; -pub type PSRWLOCK = *mut RTL_SRWLOCK; -extern "system" { - pub fn InitializeSRWLock( - SRWLock: PSRWLOCK, - ); - pub fn ReleaseSRWLockExclusive( - SRWLock: PSRWLOCK, - ); - pub fn ReleaseSRWLockShared( - SRWLock: PSRWLOCK, - ); - pub fn AcquireSRWLockExclusive( - SRWLock: PSRWLOCK, - ); - pub fn AcquireSRWLockShared( - SRWLock: PSRWLOCK, - ); - pub fn TryAcquireSRWLockExclusive( - SRWLock: PSRWLOCK, - ) -> BOOLEAN; - pub fn TryAcquireSRWLockShared( - SRWLock: PSRWLOCK, - ) -> BOOLEAN; - pub fn InitializeCriticalSection( - lpCriticalSection: LPCRITICAL_SECTION, - ); - pub fn EnterCriticalSection( - lpCriticalSection: LPCRITICAL_SECTION, - ); - pub fn LeaveCriticalSection( - lpCriticalSection: LPCRITICAL_SECTION, - ); - pub fn InitializeCriticalSectionAndSpinCount( - lpCriticalSection: LPCRITICAL_SECTION, - dwSpinCount: DWORD, - ) -> BOOL; - pub fn InitializeCriticalSectionEx( - lpCriticalSection: LPCRITICAL_SECTION, - dwSpinCount: DWORD, - Flags: DWORD, - ) -> BOOL; - pub fn SetCriticalSectionSpinCount( - lpCriticalSection: LPCRITICAL_SECTION, - dwSpinCount: DWORD, - ) -> DWORD; - pub fn TryEnterCriticalSection( - lpCriticalSection: LPCRITICAL_SECTION, - ) -> BOOL; - pub fn DeleteCriticalSection( - lpCriticalSection: LPCRITICAL_SECTION, - ); -} -pub type INIT_ONCE = RTL_RUN_ONCE; -pub type PINIT_ONCE = PRTL_RUN_ONCE; -pub type LPINIT_ONCE = PRTL_RUN_ONCE; -//pub const INIT_ONCE_STATIC_INIT: INIT_ONCE = RTL_RUN_ONCE_INIT; -//pub const INIT_ONCE_CHECK_ONLY: ULONG = RTL_RUN_ONCE_CHECK_ONLY; -//pub const INIT_ONCE_ASYNC: ULONG = RTL_RUN_ONCE_ASYNC; -//pub const INIT_ONCE_INIT_FAILED: ULONG = RTL_RUN_ONCE_INIT_FAILED; -//pub const INIT_ONCE_CTX_RESERVED_BITS: usize = RTL_RUN_ONCE_CTX_RESERVED_BITS; -FN!{stdcall PINIT_ONCE_FN( - InitOnce: PINIT_ONCE, - Parameter: PVOID, - Context: *mut PVOID, -) -> BOOL} -extern "system" { - pub fn InitOnceInitialize( - InitOnce: PINIT_ONCE, - ); - pub fn InitOnceExecuteOnce( - InitOnce: PINIT_ONCE, - InitFn: PINIT_ONCE_FN, - Parameter: PVOID, - Context: *mut LPVOID, - ) -> BOOL; - pub fn InitOnceBeginInitialize( - lpInitOnce: LPINIT_ONCE, - dwFlags: DWORD, - fPending: PBOOL, - lpContext: *mut LPVOID, - ) -> BOOL; - pub fn InitOnceComplete( - lpInitOnce: LPINIT_ONCE, - dwFlags: DWORD, - lpContext: LPVOID, - ) -> BOOL; -} -pub type CONDITION_VARIABLE = RTL_CONDITION_VARIABLE; -pub type PCONDITION_VARIABLE = *mut CONDITION_VARIABLE; -pub const CONDITION_VARIABLE_INIT: CONDITION_VARIABLE = RTL_CONDITION_VARIABLE_INIT; -//pub const CONDITION_VARIABLE_LOCKMODE_SHARED: ULONG = RTL_CONDITION_VARIABLE_LOCKMODE_SHARED; -extern "system" { - pub fn InitializeConditionVariable( - ConditionVariable: PCONDITION_VARIABLE, - ); - pub fn WakeConditionVariable( - ConditionVariable: PCONDITION_VARIABLE, - ); - pub fn WakeAllConditionVariable( - ConditionVariable: PCONDITION_VARIABLE, - ); - pub fn SleepConditionVariableCS( - ConditionVariable: PCONDITION_VARIABLE, - CriticalSection: PCRITICAL_SECTION, - dwMilliseconds: DWORD, - ) -> BOOL; - pub fn SleepConditionVariableSRW( - ConditionVariable: PCONDITION_VARIABLE, - SRWLock: PSRWLOCK, - dwMilliseconds: DWORD, - Flags: ULONG, - ) -> BOOL; - pub fn SetEvent( - hEvent: HANDLE, - ) -> BOOL; - pub fn ResetEvent( - hEvent: HANDLE, - ) -> BOOL; - pub fn ReleaseSemaphore( - hSemaphore: HANDLE, - lReleaseCount: LONG, - lpPreviousCount: LPLONG, - ) -> BOOL; - pub fn ReleaseMutex( - hMutex: HANDLE, - ) -> BOOL; - pub fn WaitForSingleObject( - hHandle: HANDLE, - dwMilliseconds: DWORD, - ) -> DWORD; - pub fn SleepEx( - dwMilliseconds: DWORD, - bAlertable: BOOL, - ) -> DWORD; - pub fn WaitForSingleObjectEx( - hHandle: HANDLE, - dwMilliseconds: DWORD, - bAlertable: BOOL, - ) -> DWORD; - pub fn WaitForMultipleObjectsEx( - nCount: DWORD, - lpHandles: *const HANDLE, - bWaitAll: BOOL, - dwMilliseconds: DWORD, - bAlertable: BOOL, - ) -> DWORD; -} -//pub const MUTEX_MODIFY_STATE: DWORD = MUTANT_QUERY_STATE; -//pub const MUTEX_ALL_ACCESS: DWORD = MUTANT_ALL_ACCESS; -extern "system" { - pub fn CreateMutexA( - lpMutexAttributes: LPSECURITY_ATTRIBUTES, - bInitialOwner: BOOL, - lpName: LPCSTR, - ) -> HANDLE; - pub fn CreateMutexW( - lpMutexAttributes: LPSECURITY_ATTRIBUTES, - bInitialOwner: BOOL, - lpName: LPCWSTR, - ) -> HANDLE; - pub fn OpenMutexW( - dwDesiredAccess: DWORD, - bInheritHandle: BOOL, - lpName: LPCWSTR, - ) -> HANDLE; - pub fn CreateEventA( - lpEventAttributes: LPSECURITY_ATTRIBUTES, - bManualReset: BOOL, - bInitialState: BOOL, - lpName: LPCSTR, - ) -> HANDLE; - pub fn CreateEventW( - lpEventAttributes: LPSECURITY_ATTRIBUTES, - bManualReset: BOOL, - bInitialState: BOOL, - lpName: LPCWSTR, - ) -> HANDLE; - pub fn OpenEventA( - dwDesiredAccess: DWORD, - bInheritHandle: BOOL, - lpName: LPCSTR, - ) -> HANDLE; - pub fn OpenEventW( - dwDesiredAccess: DWORD, - bInheritHandle: BOOL, - lpName: LPCWSTR, - ) -> HANDLE; - pub fn OpenSemaphoreW( - dwDesiredAccess: DWORD, - bInheritHandle: BOOL, - lpName: LPCWSTR, - ) -> HANDLE; -} -FN!{stdcall PTIMERAPCROUTINE( - lpArgToCompletionRoutine: LPVOID, - dwTimerLowValue: DWORD, - dwTimerHighValue: DWORD, -) -> ()} -extern "system" { - pub fn OpenWaitableTimerW( - dwDesiredAccess: DWORD, - bInheritHandle: BOOL, - lpTimerName: LPCWSTR, - ) -> HANDLE; - pub fn SetWaitableTimerEx( - hTimer: HANDLE, - lpDueTime: *const LARGE_INTEGER, - lPeriod: LONG, - pfnCompletionRoutine: PTIMERAPCROUTINE, - lpArgToCompletionRoutine: LPVOID, - WakeContext: PREASON_CONTEXT, - TolerableDelay: ULONG, - ) -> BOOL; - pub fn SetWaitableTimer( - hTimer: HANDLE, - lpDueTime: *const LARGE_INTEGER, - lPeriod: LONG, - pfnCompletionRoutine: PTIMERAPCROUTINE, - lpArgToCompletionRoutine: LPVOID, - fResume: BOOL, - ) -> BOOL; - pub fn CancelWaitableTimer( - hTimer: HANDLE, - ) -> BOOL; -} -pub const CREATE_MUTEX_INITIAL_OWNER: DWORD = 0x00000001; -extern "system" { - pub fn CreateMutexExA( - lpMutexAttributes: LPSECURITY_ATTRIBUTES, - lpName: LPCSTR, - dwFlags: DWORD, - dwDesiredAccess: DWORD, - ) -> HANDLE; - pub fn CreateMutexExW( - lpMutexAttributes: LPSECURITY_ATTRIBUTES, - lpName: LPCWSTR, - dwFlags: DWORD, - dwDesiredAccess: DWORD, - ) -> HANDLE; -} -pub const CREATE_EVENT_MANUAL_RESET: DWORD = 0x00000001; -pub const CREATE_EVENT_INITIAL_SET: DWORD = 0x00000002; -extern "system" { - pub fn CreateEventExA( - lpEventAttributes: LPSECURITY_ATTRIBUTES, - lpName: LPCSTR, - dwFlags: DWORD, - dwDesiredAccess: DWORD, - ) -> HANDLE; - pub fn CreateEventExW( - lpEventAttributes: LPSECURITY_ATTRIBUTES, - lpName: LPCWSTR, - dwFlags: DWORD, - dwDesiredAccess: DWORD, - ) -> HANDLE; - pub fn CreateSemaphoreExW( - lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES, - lInitialCount: LONG, - lMaximumCount: LONG, - lpName: LPCWSTR, - dwFlags: DWORD, - dwDesiredAccess: DWORD, - ) -> HANDLE; -} -pub const CREATE_WAITABLE_TIMER_MANUAL_RESET: DWORD = 0x00000001; -extern "system" { - pub fn CreateWaitableTimerExW( - lpTimerAttributes: LPSECURITY_ATTRIBUTES, - lpTimerName: LPCWSTR, - dwFlags: DWORD, - dwDesiredAccess: DWORD, - ) -> HANDLE; -} -pub type SYNCHRONIZATION_BARRIER = RTL_BARRIER; -pub type PSYNCHRONIZATION_BARRIER = PRTL_BARRIER; -pub type LPSYNCHRONIZATION_BARRIER = PRTL_BARRIER; -pub const SYNCHRONIZATION_BARRIER_FLAGS_SPIN_ONLY: DWORD = 0x01; -pub const SYNCHRONIZATION_BARRIER_FLAGS_BLOCK_ONLY: DWORD = 0x02; -pub const SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE: DWORD = 0x04; -extern "system" { - pub fn EnterSynchronizationBarrier( - lpBarrier: LPSYNCHRONIZATION_BARRIER, - dwFlags: DWORD, - ) -> BOOL; - pub fn InitializeSynchronizationBarrier( - lpBarrier: LPSYNCHRONIZATION_BARRIER, - lTotalThreads: LONG, - lSpinCount: LONG, - ) -> BOOL; - pub fn DeleteSynchronizationBarrier( - lpBarrier: LPSYNCHRONIZATION_BARRIER, - ) -> BOOL; - pub fn Sleep( - dwMilliseconds: DWORD, - ); - pub fn WaitOnAddress( - Address: *mut VOID, - CompareAddress: PVOID, - AddressSize: SIZE_T, - dwMilliseconds: DWORD, - ) -> BOOL; - pub fn WakeByAddressSingle( - Address: PVOID, - ); - pub fn WakeByAddressAll( - Address: PVOID, - ); - pub fn SignalObjectAndWait( - hObjectToSignal: HANDLE, - hObjectToWaitOn: HANDLE, - dwMilliseconds: DWORD, - bAlertable: BOOL, - ) -> DWORD; - pub fn WaitForMultipleObjects( - nCount: DWORD, - lpHandles: *const HANDLE, - bWaitAll: BOOL, - dwMilliseconds: DWORD, - ) -> DWORD; - pub fn CreateSemaphoreW( - lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES, - lInitialCount: LONG, - lMaximumCount: LONG, - lpName: LPCWSTR, - ) -> HANDLE; - pub fn CreateWaitableTimerW( - lpTimerAttributes: LPSECURITY_ATTRIBUTES, - bManualReset: BOOL, - lpTimerName: LPCWSTR, - ) -> HANDLE; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/sysinfoapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/sysinfoapi.rs deleted file mode 100644 index 03bdb47d1..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/sysinfoapi.rs +++ /dev/null @@ -1,217 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! ApiSet Contract for api-ms-win-core-sysinfo-l1. -use shared::basetsd::DWORD_PTR; -use shared::minwindef::{ - BOOL, BYTE, DWORD, LPDWORD, LPFILETIME, LPVOID, PBOOL, PDWORD, UINT, USHORT, WORD, -}; -use um::minwinbase::{LPSYSTEMTIME, SYSTEMTIME}; -use um::winnt::{ - DWORDLONG, HANDLE, LOGICAL_PROCESSOR_RELATIONSHIP, LPCSTR, LPCWSTR, LPOSVERSIONINFOA, - LPOSVERSIONINFOW, LPSTR, LPWSTR, PSYSTEM_LOGICAL_PROCESSOR_INFORMATION, - PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION, PULONGLONG, PVOID, ULONGLONG, -}; -STRUCT!{struct SYSTEM_INFO_u_s { - wProcessorArchitecture: WORD, - wReserved: WORD, -}} -UNION!{union SYSTEM_INFO_u { - [u32; 1], - dwOemId dwOemId_mut: DWORD, - s s_mut: SYSTEM_INFO_u_s, -}} -STRUCT!{struct SYSTEM_INFO { - u: SYSTEM_INFO_u, - dwPageSize: DWORD, - lpMinimumApplicationAddress: LPVOID, - lpMaximumApplicationAddress: LPVOID, - dwActiveProcessorMask: DWORD_PTR, - dwNumberOfProcessors: DWORD, - dwProcessorType: DWORD, - dwAllocationGranularity: DWORD, - wProcessorLevel: WORD, - wProcessorRevision: WORD, -}} -pub type LPSYSTEM_INFO = *mut SYSTEM_INFO; -STRUCT!{struct MEMORYSTATUSEX { - dwLength: DWORD, - dwMemoryLoad: DWORD, - ullTotalPhys: DWORDLONG, - ullAvailPhys: DWORDLONG, - ullTotalPageFile: DWORDLONG, - ullAvailPageFile: DWORDLONG, - ullTotalVirtual: DWORDLONG, - ullAvailVirtual: DWORDLONG, - ullAvailExtendedVirtual: DWORDLONG, -}} -pub type LPMEMORYSTATUSEX = *mut MEMORYSTATUSEX; -extern "system" { - pub fn GlobalMemoryStatusEx( - lpBuffer: LPMEMORYSTATUSEX, - ) -> BOOL; - pub fn GetSystemInfo( - lpSystemInfo: LPSYSTEM_INFO, - ); - pub fn GetSystemTime( - lpSystemTime: LPSYSTEMTIME, - ); - pub fn GetSystemTimeAsFileTime( - lpSystemTimeAsFileTime: LPFILETIME, - ); - pub fn GetLocalTime( - lpSystemTime: LPSYSTEMTIME, - ); - pub fn GetVersion() -> DWORD; - pub fn SetLocalTime( - lpSystemTime: *const SYSTEMTIME, - ) -> BOOL; - pub fn GetTickCount() -> DWORD; - pub fn GetTickCount64() -> ULONGLONG; - pub fn GetSystemTimeAdjustment( - lpTimeAdjustment: PDWORD, - lpTimeIncrement: PDWORD, - lpTimeAdjustmentDisabled: PBOOL, - ) -> BOOL; - pub fn GetSystemDirectoryA( - lpBuffer: LPSTR, - uSize: UINT, - ) -> UINT; - pub fn GetSystemDirectoryW( - lpBuffer: LPWSTR, - uSize: UINT, - ) -> UINT; - pub fn GetWindowsDirectoryA( - lpBuffer: LPSTR, - uSize: UINT, - ) -> UINT; - pub fn GetWindowsDirectoryW( - lpBuffer: LPWSTR, - uSize: UINT, - ) -> UINT; - pub fn GetSystemWindowsDirectoryA( - lpBuffer: LPSTR, - uSize: UINT, - ) -> UINT; - pub fn GetSystemWindowsDirectoryW( - lpBuffer: LPWSTR, - uSize: UINT, - ) -> UINT; -} -ENUM!{enum COMPUTER_NAME_FORMAT { - ComputerNameNetBIOS, - ComputerNameDnsHostname, - ComputerNameDnsDomain, - ComputerNameDnsFullyQualified, - ComputerNamePhysicalNetBIOS, - ComputerNamePhysicalDnsHostname, - ComputerNamePhysicalDnsDomain, - ComputerNamePhysicalDnsFullyQualified, - ComputerNameMax, -}} -extern "system" { - pub fn GetComputerNameExA( - NameType: COMPUTER_NAME_FORMAT, - lpBuffer: LPSTR, - nSize: LPDWORD, - ) -> BOOL; - pub fn GetComputerNameExW( - NameType: COMPUTER_NAME_FORMAT, - lpBuffer: LPWSTR, - nSize: LPDWORD, - ) -> BOOL; - pub fn SetComputerNameExW( - NameType: COMPUTER_NAME_FORMAT, - lpBuffer: LPCWSTR, - ) -> BOOL; - pub fn SetSystemTime( - lpSystemTime: *const SYSTEMTIME, - ) -> BOOL; - pub fn GetVersionExA( - lpVersionInformation: LPOSVERSIONINFOA, - ) -> BOOL; - pub fn GetVersionExW( - lpVersionInformation: LPOSVERSIONINFOW, - ) -> BOOL; - pub fn GetLogicalProcessorInformation( - Buffer: PSYSTEM_LOGICAL_PROCESSOR_INFORMATION, - ReturnedLength: PDWORD, - ) -> BOOL; - pub fn GetLogicalProcessorInformationEx( - RelationshipType: LOGICAL_PROCESSOR_RELATIONSHIP, - Buffer: PSYSTEM_LOGICAL_PROCESSOR_INFORMATION, - ReturnedLength: PDWORD, - ) -> BOOL; - pub fn GetNativeSystemInfo( - lpSystemInfo: LPSYSTEM_INFO, - ); - pub fn GetSystemTimePreciseAsFileTime( - lpSystemTimeAsFileTime: LPFILETIME, - ); - pub fn GetProductInfo( - dwOSMajorVersion: DWORD, - dwOSMinorVersion: DWORD, - dwSpMajorVersion: DWORD, - dwSpMinorVersion: DWORD, - pdwReturnedProductType: PDWORD, - ) -> BOOL; - pub fn VerSetConditionMask( - ConditionMask: ULONGLONG, - TypeMask: DWORD, - Condition: BYTE, - ) -> ULONGLONG; - // pub fn GetOsSafeBootMode(); - pub fn EnumSystemFirmwareTables( - FirmwareTableProviderSignature: DWORD, - pFirmwareTableEnumBuffer: PVOID, - BufferSize: DWORD, - ) -> UINT; - pub fn GetSystemFirmwareTable( - FirmwareTableProviderSignature: DWORD, - FirmwareTableID: DWORD, - pFirmwareTableBuffer: PVOID, - BufferSize: DWORD, - ) -> UINT; - pub fn DnsHostnameToComputerNameExW( - Hostname: LPCWSTR, - ComputerName: LPWSTR, - nSize: LPDWORD, - ) -> BOOL; - pub fn GetPhysicallyInstalledSystemMemory( - TotalMemoryInKilobytes: PULONGLONG, - ) -> BOOL; -} -pub const SCEX2_ALT_NETBIOS_NAME: DWORD = 0x00000001; -extern "system" { - pub fn SetComputerNameEx2W( - NameType: COMPUTER_NAME_FORMAT, - Flags: DWORD, - lpBuffer: LPCWSTR, - ) -> BOOL; - pub fn SetSystemTimeAdjustment( - dwTimeAdjustment: DWORD, - bTimeAdjustmentDisabled: BOOL, - ) -> BOOL; - pub fn InstallELAMCertificateInfo( - ELAMFile: HANDLE, - ) -> BOOL; - pub fn GetProcessorSystemCycleTime( - Group: USHORT, - Buffer: PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION, - ReturnedLength: PDWORD, - ) -> BOOL; - // pub fn GetOsManufacturingMode(); - // pub fn GetIntegratedDisplaySize(); - pub fn SetComputerNameA( - lpComputerName: LPCSTR, - ) -> BOOL; - pub fn SetComputerNameW( - lpComputerName: LPCWSTR, - ) -> BOOL; - pub fn SetComputerNameExA( - NameType: COMPUTER_NAME_FORMAT, - lpBuffer: LPCSTR, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/systemtopologyapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/systemtopologyapi.rs deleted file mode 100644 index 8591fac8d..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/systemtopologyapi.rs +++ /dev/null @@ -1,20 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::{BOOL, PULONG, PUSHORT, ULONG, USHORT}; -use um::winnt::PGROUP_AFFINITY; -extern "system" { - pub fn GetNumaHighestNodeNumber( - HighestNodeNumber: PULONG, - ) -> BOOL; - pub fn GetNumaNodeProcessorMaskEx( - Node: USHORT, - ProcessorMask: PGROUP_AFFINITY, - ) -> BOOL; - pub fn GetNumaProximityNodeEx( - ProximityId: ULONG, - NodeNumber: PUSHORT, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/taskschd.rs b/vendor/registry-40351f815f426200/winapi/src/um/taskschd.rs deleted file mode 100644 index d73786cd3..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/taskschd.rs +++ /dev/null @@ -1,1233 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_long, c_short}; -use shared::minwindef::{DWORD, INT}; -use shared::wtypes::{BSTR, DATE, VARIANT_BOOL}; -use um::minwinbase::SYSTEMTIME; -use um::oaidl::{IDispatch, IDispatchVtbl, SAFEARRAY, VARIANT}; -use um::unknwnbase::{IUnknown, IUnknownVtbl, LPUNKNOWN}; -use um::winnt::{HRESULT, LONG}; -RIDL!{#[uuid(0x0f87369f, 0xa4e5, 0x4cfc, 0xbd, 0x3e, 0x73, 0xe6, 0x15, 0x45, 0x72, 0xdd)] -class TaskScheduler;} -RIDL!{#[uuid(0xf2a69db7, 0xda2c, 0x4352, 0x90, 0x66, 0x86, 0xfe, 0xe6, 0xda, 0xca, 0xc9)] -class TaskHandlerPS;} -RIDL!{#[uuid(0x9f15266d, 0xd7ba, 0x48f0, 0x93, 0xc1, 0xe6, 0x89, 0x5f, 0x6f, 0xe5, 0xac)] -class TaskHandlerStatusPS;} -RIDL!{#[uuid(0x79184a66, 0x8664, 0x423f, 0x97, 0xf1, 0x63, 0x73, 0x56, 0xa5, 0xd8, 0x12)] -interface ITaskFolderCollection(ITaskFolderCollectionVtbl): IDispatch(IDispatchVtbl) { - fn get_Count( - pCount: *mut LONG, - ) -> HRESULT, - fn get_Item( - index: VARIANT, - ppFolder: *mut *mut ITaskFolder, - ) -> HRESULT, - fn get__NewEnum( - ppEnum: *mut LPUNKNOWN, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x8cfac062, 0xa080, 0x4c15, 0x9a, 0x88, 0xaa, 0x7c, 0x2a, 0xf8, 0x0d, 0xfc)] -interface ITaskFolder(ITaskFolderVtbl): IDispatch(IDispatchVtbl) { - fn get_Name( - pName: *mut BSTR, - ) -> HRESULT, - fn get_Path( - pPath: *mut BSTR, - ) -> HRESULT, - fn GetFolder( - Path: BSTR, - ppFolder: *mut *mut ITaskFolder, - ) -> HRESULT, - fn GetFolders( - flags: LONG, - ppFolders: *mut *mut ITaskFolderCollection, - ) -> HRESULT, - fn CreateFolder( - subFolderName: BSTR, - sddl: VARIANT, - ppFolder: *mut *mut ITaskFolder, - ) -> HRESULT, - fn DeleteFolder( - subFolderName: BSTR, - flags: LONG, - ) -> HRESULT, - fn GetTask( - Path: BSTR, - ppTask: *mut *mut IRegisteredTask, - ) -> HRESULT, - fn GetTasks( - flags: LONG, - ppTasks: *mut *mut IRegisteredTaskCollection, - ) -> HRESULT, - fn DeleteTask( - Name: BSTR, - flags: LONG, - ) -> HRESULT, - fn RegisterTask( - Path: BSTR, - XmlText: BSTR, - flags: LONG, - UserId: VARIANT, - password: VARIANT, - LogonType: TASK_LOGON_TYPE, - sddl: VARIANT, - ppTask: *mut *mut IRegisteredTask, - ) -> HRESULT, - fn RegisterTaskDefinition( - Path: BSTR, - pDefinition: *const ITaskDefinition, - flags: LONG, - UserId: VARIANT, - password: VARIANT, - LogonType: TASK_LOGON_TYPE, - sddl: VARIANT, - ppTask: *mut *mut IRegisteredTask, - ) -> HRESULT, - fn GetSecurityDescriptor( - securityInformation: LONG, - pSddl: *mut BSTR, - ) -> HRESULT, - fn SetSecurityDescriptor( - sddl: BSTR, - flags: LONG, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x9c86f320, 0xdee3, 0x4dd1, 0xb9, 0x72, 0xa3, 0x03, 0xf2, 0x6b, 0x06, 0x1e)] -interface IRegisteredTask(IRegisteredTaskVtbl): IDispatch(IDispatchVtbl) { - fn get_Name( - pName: *mut BSTR, - ) -> HRESULT, - fn get_Path( - pPath: *mut BSTR, - ) -> HRESULT, - fn get_State( - pState: *mut TASK_STATE, - ) -> HRESULT, - fn get_Enabled( - pEnabled: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_Enabled( - pEnabled: VARIANT_BOOL, - ) -> HRESULT, - fn Run( - params: VARIANT, - ppRunningTask: *mut *mut IRunningTask, - ) -> HRESULT, - fn RunEx( - params: VARIANT, - flags: LONG, - sessionID: LONG, - user: BSTR, - ppRunningTask: *mut *mut IRunningTask, - ) -> HRESULT, - fn GetInstances( - flags: LONG, - ppRunningTasks: *mut *mut IRunningTaskCollection, - ) -> HRESULT, - fn get_LastRunTime( - pLastRunTime: *mut DATE, - ) -> HRESULT, - fn get_LastTaskResult( - pLastTaskResult: *mut LONG, - ) -> HRESULT, - fn get_NumberOfMissedRuns( - pNumberOfMissedRuns: *mut LONG, - ) -> HRESULT, - fn get_NextRunTime( - pNextRunTime: *mut DATE, - ) -> HRESULT, - fn get_Definition( - ppDefinition: *mut *mut ITaskDefinition, - ) -> HRESULT, - fn get_Xml( - pXml: *mut BSTR, - ) -> HRESULT, - fn GetSecurityDescriptor( - securityInformation: LONG, - pSddl: *mut BSTR, - ) -> HRESULT, - fn SetSecurityDescriptor( - sddl: BSTR, - flags: LONG, - ) -> HRESULT, - fn Stop( - flags: LONG, - ) -> HRESULT, - fn GetRunTimes( - pstStart: *const SYSTEMTIME, - pstEnd: *const SYSTEMTIME, - pCount: *mut DWORD, - pRunTimes: *mut *mut SYSTEMTIME, - ) -> HRESULT, -}} -ENUM!{enum TASK_STATE { - TASK_STATE_UNKNOWN = 0, - TASK_STATE_DISABLED = 1, - TASK_STATE_QUEUED = 2, - TASK_STATE_READY = 3, - TASK_STATE_RUNNING = 4, -}} -RIDL!{#[uuid(0x653758fb, 0x7b9a, 0x4f1e, 0xa4, 0x71, 0xbe, 0xeb, 0x8e, 0x9b, 0x83, 0x4e)] -interface IRunningTask(IRunningTaskVtbl): IDispatch(IDispatchVtbl) { - fn get_Name( - pName: *mut BSTR, - ) -> HRESULT, - fn get_InstanceGuid( - pGuid: *mut BSTR, - ) -> HRESULT, - fn get_Path( - pPath: *mut BSTR, - ) -> HRESULT, - fn get_State( - pState: *mut TASK_STATE, - ) -> HRESULT, - fn get_CurrentAction( - pName: *mut BSTR, - ) -> HRESULT, - fn Stop() -> HRESULT, - fn Refresh() -> HRESULT, - fn get_EnginePID( - pPID: *mut DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x6a67614b, 0x6828, 0x4fec, 0xaa, 0x54, 0x6d, 0x52, 0xe8, 0xf1, 0xf2, 0xdb)] -interface IRunningTaskCollection(IRunningTaskCollectionVtbl): IDispatch(IDispatchVtbl) { - fn get_Count( - pCount: *mut LONG, - ) -> HRESULT, - fn get_Item( - index: VARIANT, - ppRunningTask: *mut *mut IRunningTask, - ) -> HRESULT, - fn get__NewEnum( - ppEnum: *mut LPUNKNOWN, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xf5bc8fc5, 0x536d, 0x4f77, 0xb8, 0x52, 0xfb, 0xc1, 0x35, 0x6f, 0xde, 0xb6)] -interface ITaskDefinition(ITaskDefinitionVtbl): IDispatch(IDispatchVtbl) { - fn get_RegistrationInfo( - ppRegistrationInfo: *mut *mut IRegistrationInfo, - ) -> HRESULT, - fn put_RegistrationInfo( - ppRegistrationInfo: *const IRegistrationInfo, - ) -> HRESULT, - fn get_Triggers( - ppTriggers: *mut *mut ITriggerCollection, - ) -> HRESULT, - fn put_Triggers( - ppTriggers: *const ITriggerCollection, - ) -> HRESULT, - fn get_Settings( - ppSettings: *mut *mut ITaskSettings, - ) -> HRESULT, - fn put_Settings( - ppSettings: *const ITaskSettings, - ) -> HRESULT, - fn get_Data( - pData: *mut BSTR, - ) -> HRESULT, - fn put_Data( - pData: BSTR, - ) -> HRESULT, - fn get_Principal( - ppPrincipal: *mut *mut IPrincipal, - ) -> HRESULT, - fn put_Principal( - ppPrincipal: *const IPrincipal, - ) -> HRESULT, - fn get_Actions( - ppActions: *mut *mut IActionCollection, - ) -> HRESULT, - fn put_Actions( - ppActions: *const IActionCollection, - ) -> HRESULT, - fn get_XmlText( - pXml: *mut BSTR, - ) -> HRESULT, - fn put_XmlText( - pXml: BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x416d8b73, 0xcb41, 0x4ea1, 0x80, 0x5c, 0x9b, 0xe9, 0xa5, 0xac, 0x4a, 0x74)] -interface IRegistrationInfo(IRegistrationInfoVtbl): IDispatch(IDispatchVtbl) { - fn get_Description( - pDescription: *mut BSTR, - ) -> HRESULT, - fn put_Description( - pDescription: BSTR, - ) -> HRESULT, - fn get_Author( - pAuthor: *mut BSTR, - ) -> HRESULT, - fn put_Author( - pAuthor: BSTR, - ) -> HRESULT, - fn get_Version( - pVersion: *mut BSTR, - ) -> HRESULT, - fn put_Version( - pVersion: BSTR, - ) -> HRESULT, - fn get_Date( - pDate: *mut BSTR, - ) -> HRESULT, - fn put_Date( - pDate: BSTR, - ) -> HRESULT, - fn get_Documentation( - pDocumentation: *mut BSTR, - ) -> HRESULT, - fn put_Documentation( - pDocumentation: BSTR, - ) -> HRESULT, - fn get_XmlText( - pText: *mut BSTR, - ) -> HRESULT, - fn put_XmlText( - pText: BSTR, - ) -> HRESULT, - fn get_URI( - pUri: *mut BSTR, - ) -> HRESULT, - fn put_URI( - pUri: BSTR, - ) -> HRESULT, - fn get_SecurityDescriptor( - pSddl: *mut VARIANT, - ) -> HRESULT, - fn put_SecurityDescriptor( - pSddl: VARIANT, - ) -> HRESULT, - fn get_Source( - pSource: *mut BSTR, - ) -> HRESULT, - fn put_Source( - pSource: BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x85df5081, 0x1b24, 0x4f32, 0x87, 0x8a, 0xd9, 0xd1, 0x4d, 0xf4, 0xcb, 0x77)] -interface ITriggerCollection(ITriggerCollectionVtbl): IDispatch(IDispatchVtbl) { - fn get_Count( - pCount: *mut c_long, - ) -> HRESULT, - fn get_Item( - index: c_long, - ppTrigger: *mut *mut ITrigger, - ) -> HRESULT, - fn get__NewEnum( - ppEnum: *mut LPUNKNOWN, - ) -> HRESULT, - fn Create( - Type: TASK_TRIGGER_TYPE2, - ppTrigger: *mut *mut ITrigger, - ) -> HRESULT, - fn Remove( - index: VARIANT, - ) -> HRESULT, - fn Clear() -> HRESULT, -}} -RIDL!{#[uuid(0x09941815, 0xea89, 0x4b5b, 0x89, 0xe0, 0x2a, 0x77, 0x38, 0x01, 0xfa, 0xc3)] -interface ITrigger(ITriggerVtbl): IDispatch(IDispatchVtbl) { - fn get_Type( - pType: *mut TASK_TRIGGER_TYPE2, - ) -> HRESULT, - fn get_Id( - pId: *mut BSTR, - ) -> HRESULT, - fn put_Id( - pId: BSTR, - ) -> HRESULT, - fn get_Repetition( - ppRepeat: *mut *mut IRepetitionPattern, - ) -> HRESULT, - fn put_Repetition( - ppRepeat: *const IRepetitionPattern, - ) -> HRESULT, - fn get_ExecutionTimeLimit( - pTimeLimit: *mut BSTR, - ) -> HRESULT, - fn put_ExecutionTimeLimit( - pTimeLimit: BSTR, - ) -> HRESULT, - fn get_StartBoundary( - pStart: *mut BSTR, - ) -> HRESULT, - fn put_StartBoundary( - pStart: BSTR, - ) -> HRESULT, - fn get_EndBoundary( - pEnd: *mut BSTR, - ) -> HRESULT, - fn put_EndBoundary( - pEnd: BSTR, - ) -> HRESULT, - fn get_Enabled( - pEnabled: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_Enabled( - pEnabled: VARIANT_BOOL, - ) -> HRESULT, -}} -ENUM!{enum TASK_TRIGGER_TYPE2 { - TASK_TRIGGER_EVENT = 0, - TASK_TRIGGER_TIME = 1, - TASK_TRIGGER_DAILY = 2, - TASK_TRIGGER_WEEKLY = 3, - TASK_TRIGGER_MONTHLY = 4, - TASK_TRIGGER_MONTHLYDOW = 5, - TASK_TRIGGER_IDLE = 6, - TASK_TRIGGER_REGISTRATION = 7, - TASK_TRIGGER_BOOT = 8, - TASK_TRIGGER_LOGON = 9, - TASK_TRIGGER_SESSION_STATE_CHANGE = 11, - TASK_TRIGGER_CUSTOM_TRIGGER_01 = 12, -}} -RIDL!{#[uuid(0x7fb9acf1, 0x26be, 0x400e, 0x85, 0xb5, 0x29, 0x4b, 0x9c, 0x75, 0xdf, 0xd6)] -interface IRepetitionPattern(IRepetitionPatternVtbl): IDispatch(IDispatchVtbl) { - fn get_Interval( - pInterval: *mut BSTR, - ) -> HRESULT, - fn put_Interval( - pInterval: BSTR, - ) -> HRESULT, - fn get_Duration( - pDuration: *mut BSTR, - ) -> HRESULT, - fn put_Duration( - pDuration: BSTR, - ) -> HRESULT, - fn get_StopAtDurationEnd( - pStop: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_StopAtDurationEnd( - pStop: VARIANT_BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x8fd4711d, 0x2d02, 0x4c8c, 0x87, 0xe3, 0xef, 0xf6, 0x99, 0xde, 0x12, 0x7e)] -interface ITaskSettings(ITaskSettingsVtbl): IDispatch(IDispatchVtbl) { - fn get_AllowDemandStart( - pAllowDemandStart: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_AllowDemandStart( - pAllowDemandStart: VARIANT_BOOL, - ) -> HRESULT, - fn get_RestartInterval( - pRestartInterval: *mut BSTR, - ) -> HRESULT, - fn put_RestartInterval( - pRestartInterval: BSTR, - ) -> HRESULT, - fn get_RestartCount( - pRestartCount: *mut INT, - ) -> HRESULT, - fn put_RestartCount( - pRestartCount: INT, - ) -> HRESULT, - fn get_MultipleInstances( - pPolicy: *mut TASK_INSTANCES_POLICY, - ) -> HRESULT, - fn put_MultipleInstances( - pPolicy: TASK_INSTANCES_POLICY, - ) -> HRESULT, - fn get_StopIfGoingOnBatteries( - pStopIfOnBatteries: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_StopIfGoingOnBatteries( - pStopIfOnBatteries: VARIANT_BOOL, - ) -> HRESULT, - fn get_DisallowStartIfOnBatteries( - pDisallowStart: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_DisallowStartIfOnBatteries( - pDisallowStart: VARIANT_BOOL, - ) -> HRESULT, - fn get_AllowHardTerminate( - pAllowHardTerminate: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_AllowHardTerminate( - pAllowHardTerminate: VARIANT_BOOL, - ) -> HRESULT, - fn get_StartWhenAvailable( - pStartWhenAvailable: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_StartWhenAvailable( - pStartWhenAvailable: VARIANT_BOOL, - ) -> HRESULT, - fn get_XmlText( - pText: *mut BSTR, - ) -> HRESULT, - fn put_XmlText( - pText: BSTR, - ) -> HRESULT, - fn get_RunOnlyIfNetworkAvailable( - pRunOnlyIfNetworkAvailable: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_RunOnlyIfNetworkAvailable( - pRunOnlyIfNetworkAvailable: VARIANT_BOOL, - ) -> HRESULT, - fn get_ExecutionTimeLimit( - pExecutionTimeLimit: *mut BSTR, - ) -> HRESULT, - fn put_ExecutionTimeLimit( - pExecutionTimeLimit: BSTR, - ) -> HRESULT, - fn get_Enabled( - pEnabled: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_Enabled( - pEnabled: VARIANT_BOOL, - ) -> HRESULT, - fn get_DeleteExpiredTaskAfter( - pExpirationDelay: *mut BSTR, - ) -> HRESULT, - fn put_DeleteExpiredTaskAfter( - pExpirationDelay: BSTR, - ) -> HRESULT, - fn get_Priority( - pPriority: *mut INT, - ) -> HRESULT, - fn put_Priority( - pPriority: INT, - ) -> HRESULT, - fn get_Compatibility( - pCompatLevel: *mut TASK_COMPATIBILITY, - ) -> HRESULT, - fn put_Compatibility( - pCompatLevel: TASK_COMPATIBILITY, - ) -> HRESULT, - fn get_Hidden( - pHidden: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_Hidden( - pHidden: VARIANT_BOOL, - ) -> HRESULT, - fn get_IdleSettings( - ppIdleSettings: *mut *mut IIdleSettings, - ) -> HRESULT, - fn put_IdleSettings( - ppIdleSettings: *const IIdleSettings, - ) -> HRESULT, - fn get_RunOnlyIfIdle( - pRunOnlyIfIdle: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_RunOnlyIfIdle( - pRunOnlyIfIdle: VARIANT_BOOL, - ) -> HRESULT, - fn get_WakeToRun( - pWake: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_WakeToRun( - pWake: VARIANT_BOOL, - ) -> HRESULT, - fn get_NetworkSettings( - ppNetworkSettings: *mut *mut INetworkSettings, - ) -> HRESULT, - fn put_NetworkSettings( - ppNetworkSettings: *const INetworkSettings, - ) -> HRESULT, -}} -ENUM!{enum TASK_INSTANCES_POLICY { - TASK_INSTANCES_PARALLEL = 0, - TASK_INSTANCES_QUEUE = 1, - TASK_INSTANCES_IGNORE_NEW = 2, - TASK_INSTANCES_STOP_EXISTING = 3, -}} -ENUM!{enum TASK_COMPATIBILITY { - TASK_COMPATIBILITY_AT = 0, - TASK_COMPATIBILITY_V1 = 1, - TASK_COMPATIBILITY_V2 = 2, - TASK_COMPATIBILITY_V2_1 = 3, - TASK_COMPATIBILITY_V2_2 = 4, - TASK_COMPATIBILITY_V2_3 = 5, - TASK_COMPATIBILITY_V2_4 = 6, -}} -RIDL!{#[uuid(0x84594461, 0x0053, 0x4342, 0xa8, 0xfd, 0x08, 0x8f, 0xab, 0xf1, 0x1f, 0x32)] -interface IIdleSettings(IIdleSettingsVtbl): IDispatch(IDispatchVtbl) { - fn get_IdleDuration( - pDelay: *mut BSTR, - ) -> HRESULT, - fn put_IdleDuration( - pDelay: BSTR, - ) -> HRESULT, - fn get_WaitTimeout( - pTimeout: *mut BSTR, - ) -> HRESULT, - fn put_WaitTimeout( - pTimeout: BSTR, - ) -> HRESULT, - fn get_StopOnIdleEnd( - pStop: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_StopOnIdleEnd( - pStop: VARIANT_BOOL, - ) -> HRESULT, - fn get_RestartOnIdle( - pRestart: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_RestartOnIdle( - pRestart: VARIANT_BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x9f7dea84, 0xc30b, 0x4245, 0x80, 0xb6, 0x00, 0xe9, 0xf6, 0x46, 0xf1, 0xb4)] -interface INetworkSettings(INetworkSettingsVtbl): IDispatch(IDispatchVtbl) { - fn get_Name( - pName: *mut BSTR, - ) -> HRESULT, - fn put_Name( - pName: BSTR, - ) -> HRESULT, - fn get_Id( - pId: *mut BSTR, - ) -> HRESULT, - fn put_Id( - pId: BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xd98d51e5, 0xc9b4, 0x496a, 0xa9, 0xc1, 0x18, 0x98, 0x02, 0x61, 0xcf, 0x0f)] -interface IPrincipal(IPrincipalVtbl): IDispatch(IDispatchVtbl) { - fn get_Id( - pId: *mut BSTR, - ) -> HRESULT, - fn put_Id( - pId: BSTR, - ) -> HRESULT, - fn get_DisplayName( - pName: *mut BSTR, - ) -> HRESULT, - fn put_DisplayName( - pName: BSTR, - ) -> HRESULT, - fn get_UserId( - pUser: *mut BSTR, - ) -> HRESULT, - fn put_UserId( - pUser: BSTR, - ) -> HRESULT, - fn get_LogonType( - pLogon: *mut TASK_LOGON_TYPE, - ) -> HRESULT, - fn put_LogonType( - pLogon: TASK_LOGON_TYPE, - ) -> HRESULT, - fn get_GroupId( - pGroup: *mut BSTR, - ) -> HRESULT, - fn put_GroupId( - pGroup: BSTR, - ) -> HRESULT, - fn get_RunLevel( - pRunLevel: *mut TASK_RUNLEVEL, - ) -> HRESULT, - fn put_RunLevel( - pRunLevel: TASK_RUNLEVEL, - ) -> HRESULT, -}} -ENUM!{enum TASK_LOGON_TYPE { - TASK_LOGON_NONE = 0, - TASK_LOGON_PASSWORD = 1, - TASK_LOGON_S4U = 2, - TASK_LOGON_INTERACTIVE_TOKEN = 3, - TASK_LOGON_GROUP = 4, - TASK_LOGON_SERVICE_ACCOUNT = 5, - TASK_LOGON_INTERACTIVE_TOKEN_OR_PASSWORD = 6, -}} -ENUM!{enum TASK_RUNLEVEL { - TASK_RUNLEVEL_LUA = 0, - TASK_RUNLEVEL_HIGHEST = 1, -}} -RIDL!{#[uuid(0x02820e19, 0x7b98, 0x4ed2, 0xb2, 0xe8, 0xfd, 0xcc, 0xce, 0xff, 0x61, 0x9b)] -interface IActionCollection(IActionCollectionVtbl): IDispatch(IDispatchVtbl) { - fn get_Count( - pCount: *mut c_long, - ) -> HRESULT, - fn get_Item( - index: c_long, - ppAction: *mut *mut IAction, - ) -> HRESULT, - fn get__NewEnum( - ppEnum: *mut LPUNKNOWN, - ) -> HRESULT, - fn get_XmlText( - pText: *mut BSTR, - ) -> HRESULT, - fn put_XmlText( - pText: BSTR, - ) -> HRESULT, - fn Create( - Type: TASK_ACTION_TYPE, - ppAction: *mut *mut IAction, - ) -> HRESULT, - fn Remove( - index: VARIANT, - ) -> HRESULT, - fn Clear() -> HRESULT, - fn get_Context( - pContext: *mut BSTR, - ) -> HRESULT, - fn put_Context( - pContext: BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xbae54997, 0x48b1, 0x4cbe, 0x99, 0x65, 0xd6, 0xbe, 0x26, 0x3e, 0xbe, 0xa4)] -interface IAction(IActionVtbl): IDispatch(IDispatchVtbl) { - fn get_Id( - pId: *mut BSTR, - ) -> HRESULT, - fn put_Id( - pId: BSTR, - ) -> HRESULT, - fn get_Type( - pType: *mut TASK_ACTION_TYPE, - ) -> HRESULT, -}} -ENUM!{enum TASK_ACTION_TYPE { - TASK_ACTION_EXEC = 0, - TASK_ACTION_COM_HANDLER = 5, - TASK_ACTION_SEND_EMAIL = 6, - TASK_ACTION_SHOW_MESSAGE = 7, -}} -RIDL!{#[uuid(0x86627eb4, 0x42a7, 0x41e4, 0xa4, 0xd9, 0xac, 0x33, 0xa7, 0x2f, 0x2d, 0x52)] -interface IRegisteredTaskCollection(IRegisteredTaskCollectionVtbl): IDispatch(IDispatchVtbl) { - fn get_Count( - pCount: *mut LONG, - ) -> HRESULT, - fn get_Item( - index: VARIANT, - ppRegisteredTask: *mut *mut IRegisteredTask, - ) -> HRESULT, - fn get__NewEnum( - ppEnum: *mut LPUNKNOWN, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2faba4c7, 0x4da9, 0x4013, 0x96, 0x97, 0x20, 0xcc, 0x3f, 0xd4, 0x0f, 0x85)] -interface ITaskService(ITaskServiceVtbl): IDispatch(IDispatchVtbl) { - fn GetFolder( - Path: BSTR, - ppFolder: *mut *mut ITaskFolder, - ) -> HRESULT, - fn GetRunningTasks( - flags: LONG, - ppRunningTasks: *mut *mut IRunningTaskCollection, - ) -> HRESULT, - fn NewTask( - flags: DWORD, - ppDefinition: *mut *mut ITaskDefinition, - ) -> HRESULT, - fn Connect( - serverName: VARIANT, - user: VARIANT, - domain: VARIANT, - password: VARIANT, - ) -> HRESULT, - fn get_Connected( - pConnected: *mut VARIANT_BOOL, - ) -> HRESULT, - fn get_TargetServer( - pServer: *mut BSTR, - ) -> HRESULT, - fn get_ConnectedUser( - pUser: *mut BSTR, - ) -> HRESULT, - fn get_ConnectedDomain( - pDomain: *mut BSTR, - ) -> HRESULT, - fn get_HighestVersion( - pVersion: *mut DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x839d7762, 0x5121, 0x4009, 0x92, 0x34, 0x4f, 0x0d, 0x19, 0x39, 0x4f, 0x04)] -interface ITaskHandler(ITaskHandlerVtbl): IUnknown(IUnknownVtbl) { - fn Start( - pHandlerServices: LPUNKNOWN, - Data: BSTR, - ) -> HRESULT, - fn Stop( - pRetCode: *mut HRESULT, - ) -> HRESULT, - fn Pause() -> HRESULT, - fn Resume() -> HRESULT, -}} -RIDL!{#[uuid(0xeaec7a8f, 0x27a0, 0x4ddc, 0x86, 0x75, 0x14, 0x72, 0x6a, 0x01, 0xa3, 0x8a)] -interface ITaskHandlerStatus(ITaskHandlerStatusVtbl): IUnknown(IUnknownVtbl) { - fn UpdateStatus( - percentComplete: c_short, - statusMessage: BSTR, - ) -> HRESULT, - fn TaskCompleted( - taskErrCode: HRESULT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x3e4c9351, 0xd966, 0x4b8b, 0xbb, 0x87, 0xce, 0xba, 0x68, 0xbb, 0x01, 0x07)] -interface ITaskVariables(ITaskVariablesVtbl): IUnknown(IUnknownVtbl) { - fn GetInput( - pInput: *mut BSTR, - ) -> HRESULT, - fn SetOutput( - input: BSTR, - ) -> HRESULT, - fn GetContext( - pContext: *mut BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x39038068, 0x2b46, 0x4afd, 0x86, 0x62, 0x7b, 0xb6, 0xf8, 0x68, 0xd2, 0x21)] -interface ITaskNamedValuePair(ITaskNamedValuePairVtbl): IDispatch(IDispatchVtbl) { - fn get_Name( - pName: *mut BSTR, - ) -> HRESULT, - fn put_Name( - pName: BSTR, - ) -> HRESULT, - fn get_Value( - pValue: *mut BSTR, - ) -> HRESULT, - fn put_Value( - pValue: BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xb4ef826b, 0x63c3, 0x46e4, 0xa5, 0x04, 0xef, 0x69, 0xe4, 0xf7, 0xea, 0x4d)] -interface ITaskNamedValueCollection(ITaskNamedValueCollectionVtbl): IDispatch(IDispatchVtbl) { - fn get_Count( - pCount: *mut c_long, - ) -> HRESULT, - fn get_Item( - index: LONG, - ppPair: *mut *mut ITaskNamedValuePair, - ) -> HRESULT, - fn get__NewEnum( - ppEnum: *mut LPUNKNOWN, - ) -> HRESULT, - fn Create( - Name: BSTR, - Value: BSTR, - ppPair: *mut *mut ITaskNamedValuePair, - ) -> HRESULT, - fn Remove( - index: LONG, - ) -> HRESULT, - fn Clear() -> HRESULT, -}} -RIDL!{#[uuid(0xd537d2b0, 0x9fb3, 0x4d34, 0x97, 0x39, 0x1f, 0xf5, 0xce, 0x7b, 0x1e, 0xf3)] -interface IIdleTrigger(IIdleTriggerVtbl): ITrigger(ITriggerVtbl) {}} -RIDL!{#[uuid(0x72dade38, 0xfae4, 0x4b3e, 0xba, 0xf4, 0x5d, 0x00, 0x9a, 0xf0, 0x2b, 0x1c)] -interface ILogonTrigger(ILogonTriggerVtbl): ITrigger(ITriggerVtbl) { - fn get_Delay( - pDelay: *mut BSTR, - ) -> HRESULT, - fn put_Delay( - pDelay: BSTR, - ) -> HRESULT, - fn get_UserId( - pUser: *mut BSTR, - ) -> HRESULT, - fn put_UserId( - pUser: BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x754da71b, 0x4385, 0x4475, 0x9d, 0xd9, 0x59, 0x82, 0x94, 0xfa, 0x36, 0x41)] -interface ISessionStateChangeTrigger(ISessionStateChangeTriggerVtbl): ITrigger(ITriggerVtbl) { - fn get_Delay( - pDelay: *mut BSTR, - ) -> HRESULT, - fn put_Delay( - pDelay: BSTR, - ) -> HRESULT, - fn get_UserId( - pUser: *mut BSTR, - ) -> HRESULT, - fn put_UserId( - pUser: BSTR, - ) -> HRESULT, - fn get_StateChange( - pType: *mut TASK_SESSION_STATE_CHANGE_TYPE, - ) -> HRESULT, - fn put_StateChange( - pType: TASK_SESSION_STATE_CHANGE_TYPE, - ) -> HRESULT, -}} -ENUM!{enum TASK_SESSION_STATE_CHANGE_TYPE { - TASK_CONSOLE_CONNECT = 1, - TASK_CONSOLE_DISCONNECT = 2, - TASK_REMOTE_CONNECT = 3, - TASK_REMOTE_DISCONNECT = 4, - TASK_SESSION_LOCK = 7, - TASK_SESSION_UNLOCK = 8, -}} -RIDL!{#[uuid(0xd45b0167, 0x9653, 0x4eef, 0xb9, 0x4f, 0x07, 0x32, 0xca, 0x7a, 0xf2, 0x51)] -interface IEventTrigger(IEventTriggerVtbl): ITrigger(ITriggerVtbl) { - fn get_Subscription( - pQuery: *mut BSTR, - ) -> HRESULT, - fn put_Subscription( - pQuery: BSTR, - ) -> HRESULT, - fn get_Delay( - pDelay: *mut BSTR, - ) -> HRESULT, - fn put_Delay( - pDelay: BSTR, - ) -> HRESULT, - fn get_ValueQueries( - ppNamedXPaths: *mut *mut ITaskNamedValueCollection, - ) -> HRESULT, - fn put_ValueQueries( - ppNamedXPaths: *const ITaskNamedValueCollection, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xb45747e0, 0xeba7, 0x4276, 0x9f, 0x29, 0x85, 0xc5, 0xbb, 0x30, 0x00, 0x06)] -interface ITimeTrigger(ITimeTriggerVtbl): ITrigger(ITriggerVtbl) { - fn get_RandomDelay( - pRandomDelay: *mut BSTR, - ) -> HRESULT, - fn put_RandomDelay( - pRandomDelay: BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x126c5cd8, 0xb288, 0x41d5, 0x8d, 0xbf, 0xe4, 0x91, 0x44, 0x6a, 0xdc, 0x5c)] -interface IDailyTrigger(IDailyTriggerVtbl): ITrigger(ITriggerVtbl) { - fn get_DaysInterval( - pDays: *mut c_short, - ) -> HRESULT, - fn put_DaysInterval( - pDays: c_short, - ) -> HRESULT, - fn get_RandomDelay( - pRandomDelay: *mut BSTR, - ) -> HRESULT, - fn put_RandomDelay( - pRandomDelay: BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x5038fc98, 0x82ff, 0x436d, 0x87, 0x28, 0xa5, 0x12, 0xa5, 0x7c, 0x9d, 0xc1)] -interface IWeeklyTrigger(IWeeklyTriggerVtbl): ITrigger(ITriggerVtbl) { - fn get_DaysOfWeek( - pDays: *mut c_short, - ) -> HRESULT, - fn put_DaysOfWeek( - pDays: c_short, - ) -> HRESULT, - fn get_WeeksInterval( - pWeeks: *mut c_short, - ) -> HRESULT, - fn put_WeeksInterval( - pWeeks: c_short, - ) -> HRESULT, - fn get_RandomDelay( - pRandomDelay: *mut BSTR, - ) -> HRESULT, - fn put_RandomDelay( - pRandomDelay: BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x97c45ef1, 0x6b02, 0x4a1a, 0x9c, 0x0e, 0x1e, 0xbf, 0xba, 0x15, 0x00, 0xac)] -interface IMonthlyTrigger(IMonthlyTriggerVtbl): ITrigger(ITriggerVtbl) { - fn get_DaysOfMonth( - pDays: *mut c_long, - ) -> HRESULT, - fn put_DaysOfMonth( - pDays: c_long, - ) -> HRESULT, - fn get_MonthsOfYear( - pMonths: *mut c_short, - ) -> HRESULT, - fn put_MonthsOfYear( - pMonths: c_short, - ) -> HRESULT, - fn get_RunOnLastDayOfMonth( - pLastDay: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_RunOnLastDayOfMonth( - pLastDay: VARIANT_BOOL, - ) -> HRESULT, - fn get_RandomDelay( - pRandomDelay: *mut BSTR, - ) -> HRESULT, - fn put_RandomDelay( - pRandomDelay: BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x77d025a3, 0x90fa, 0x43aa, 0xb5, 0x2e, 0xcd, 0xa5, 0x49, 0x9b, 0x94, 0x6a)] -interface IMonthlyDOWTrigger(IMonthlyDOWTriggerVtbl): ITrigger(ITriggerVtbl) { - fn get_DaysOfWeek( - pDays: *mut c_short, - ) -> HRESULT, - fn put_DaysOfWeek( - pDays: c_short, - ) -> HRESULT, - fn get_WeeksOfMonth( - pWeeks: *mut c_short, - ) -> HRESULT, - fn put_WeeksOfMonth( - pWeeks: c_short, - ) -> HRESULT, - fn get_MonthsOfYear( - pMonths: *mut c_short, - ) -> HRESULT, - fn put_MonthsOfYear( - pMonths: c_short, - ) -> HRESULT, - fn get_RunOnLastWeekOfMonth( - pLastWeek: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_RunOnLastWeekOfMonth( - pLastWeek: VARIANT_BOOL, - ) -> HRESULT, - fn get_RandomDelay( - pRandomDelay: *mut BSTR, - ) -> HRESULT, - fn put_RandomDelay( - pRandomDelay: BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2a9c35da, 0xd357, 0x41f4, 0xbb, 0xc1, 0x20, 0x7a, 0xc1, 0xb1, 0xf3, 0xcb)] -interface IBootTrigger(IBootTriggerVtbl): ITrigger(ITriggerVtbl) { - fn get_Delay( - pDelay: *mut BSTR, - ) -> HRESULT, - fn put_Delay( - pDelay: BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x4c8fec3a, 0xc218, 0x4e0c, 0xb2, 0x3d, 0x62, 0x90, 0x24, 0xdb, 0x91, 0xa2)] -interface IRegistrationTrigger(IRegistrationTriggerVtbl): ITrigger(ITriggerVtbl) { - fn get_Delay( - pDelay: *mut BSTR, - ) -> HRESULT, - fn put_Delay( - pDelay: BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x4c3d624d, 0xfd6b, 0x49a3, 0xb9, 0xb7, 0x09, 0xcb, 0x3c, 0xd3, 0xf0, 0x47)] -interface IExecAction(IExecActionVtbl): IAction(IActionVtbl) { - fn get_Path( - pPath: *mut BSTR, - ) -> HRESULT, - fn put_Path( - pPath: BSTR, - ) -> HRESULT, - fn get_Arguments( - pArgument: *mut BSTR, - ) -> HRESULT, - fn put_Arguments( - pArgument: BSTR, - ) -> HRESULT, - fn get_WorkingDirectory( - pWorkingDirectory: *mut BSTR, - ) -> HRESULT, - fn put_WorkingDirectory( - pWorkingDirectory: BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xf2a82542, 0xbda5, 0x4e6b, 0x91, 0x43, 0xe2, 0xbf, 0x4f, 0x89, 0x87, 0xb6)] -interface IExecAction2(IExecAction2Vtbl): IExecAction(IExecActionVtbl) { - fn get_HideAppWindow( - pHideAppWindow: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_HideAppWindow( - pHideAppWindow: VARIANT_BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x505e9e68, 0xaf89, 0x46b8, 0xa3, 0x0f, 0x56, 0x16, 0x2a, 0x83, 0xd5, 0x37)] -interface IShowMessageAction(IShowMessageActionVtbl): IAction(IActionVtbl) { - fn get_Title( - pTitle: *mut BSTR, - ) -> HRESULT, - fn put_Title( - pTitle: BSTR, - ) -> HRESULT, - fn get_MessageBody( - pMessageBody: *mut BSTR, - ) -> HRESULT, - fn put_MessageBody( - pMessageBody: BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x6d2fd252, 0x75c5, 0x4f66, 0x90, 0xba, 0x2a, 0x7d, 0x8c, 0xc3, 0x03, 0x9f)] -interface IComHandlerAction(IComHandlerActionVtbl): IAction(IActionVtbl) { - fn get_ClassId( - pClsid: *mut BSTR, - ) -> HRESULT, - fn put_ClassId( - pClsid: BSTR, - ) -> HRESULT, - fn get_Data( - pData: *mut BSTR, - ) -> HRESULT, - fn put_Data( - pData: BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x10f62c64, 0x7e16, 0x4314, 0xa0, 0xc2, 0x0c, 0x36, 0x83, 0xf9, 0x9d, 0x40)] -interface IEmailAction(IEmailActionVtbl): IAction(IActionVtbl) { - fn get_Server( - pServer: *mut BSTR, - ) -> HRESULT, - fn put_Server( - pServer: BSTR, - ) -> HRESULT, - fn get_Subject( - pSubject: *mut BSTR, - ) -> HRESULT, - fn put_Subject( - pSubject: BSTR, - ) -> HRESULT, - fn get_To( - pTo: *mut BSTR, - ) -> HRESULT, - fn put_To( - pTo: BSTR, - ) -> HRESULT, - fn get_Cc( - pCc: *mut BSTR, - ) -> HRESULT, - fn put_Cc( - pCc: BSTR, - ) -> HRESULT, - fn get_Bcc( - pBcc: *mut BSTR, - ) -> HRESULT, - fn put_Bcc( - pBcc: BSTR, - ) -> HRESULT, - fn get_ReplyTo( - pReplyTo: *mut BSTR, - ) -> HRESULT, - fn put_ReplyTo( - pReplyTo: BSTR, - ) -> HRESULT, - fn get_From( - pFrom: *mut BSTR, - ) -> HRESULT, - fn put_From( - pFrom: BSTR, - ) -> HRESULT, - fn get_HeaderFields( - ppHeaderFields: *mut *mut ITaskNamedValueCollection, - ) -> HRESULT, - fn put_HeaderFields( - ppHeaderFields: *const ITaskNamedValueCollection, - ) -> HRESULT, - fn get_Body( - pBody: *mut BSTR, - ) -> HRESULT, - fn put_Body( - pBody: BSTR, - ) -> HRESULT, - fn get_Attachments( - pAttachements: *mut SAFEARRAY, - ) -> HRESULT, - fn put_Attachments( - pAttachements: SAFEARRAY, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x248919ae, 0xe345, 0x4a6d, 0x8a, 0xeb, 0xe0, 0xd3, 0x16, 0x5c, 0x90, 0x4e)] -interface IPrincipal2(IPrincipal2Vtbl): IDispatch(IDispatchVtbl) { - fn get_ProcessTokenSidType( - pProcessTokenSidType: *mut TASK_PROCESSTOKENSID, - ) -> HRESULT, - fn put_ProcessTokenSidType( - pProcessTokenSidType: TASK_PROCESSTOKENSID, - ) -> HRESULT, - fn get_RequiredPrivilegeCount( - pCount: *mut c_long, - ) -> HRESULT, - fn get_RequiredPrivilege( - index: c_long, - pPrivilege: *mut BSTR, - ) -> HRESULT, - fn AddRequiredPrivilege( - privilege: BSTR, - ) -> HRESULT, -}} -ENUM!{enum TASK_PROCESSTOKENSID { - TASK_PROCESSTOKENSID_NONE = 0, - TASK_PROCESSTOKENSID_UNRESTRICTED = 1, - TASK_PROCESSTOKENSID_DEFAULT = 2, -}} -RIDL!{#[uuid(0x2c05c3f0, 0x6eed, 0x4c05, 0xa1, 0x5f, 0xed, 0x7d, 0x7a, 0x98, 0xa3, 0x69)] -interface ITaskSettings2(ITaskSettings2Vtbl): IDispatch(IDispatchVtbl) { - fn get_DisallowStartOnRemoteAppSession( - pDisallowStart: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_DisallowStartOnRemoteAppSession( - pDisallowStart: VARIANT_BOOL, - ) -> HRESULT, - fn get_UseUnifiedSchedulingEngine( - pUseUnifiedEngine: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_UseUnifiedSchedulingEngine( - pUseUnifiedEngine: VARIANT_BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x0ad9d0d7, 0x0c7f, 0x4ebb, 0x9a, 0x5f, 0xd1, 0xc6, 0x48, 0xdc, 0xa5, 0x28)] -interface ITaskSettings3(ITaskSettings3Vtbl): ITaskSettings(ITaskSettingsVtbl) { - fn get_DisallowStartOnRemoteAppSession( - pDisallowStart: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_DisallowStartOnRemoteAppSession( - pDisallowStart: VARIANT_BOOL, - ) -> HRESULT, - fn get_UseUnifiedSchedulingEngine( - pUseUnifiedEngine: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_UseUnifiedSchedulingEngine( - pUseUnifiedEngine: VARIANT_BOOL, - ) -> HRESULT, - fn get_MaintenanceSettings( - ppMaintenanceSettings: *mut *mut IMaintenanceSettings, - ) -> HRESULT, - fn put_MaintenanceSettings( - ppMaintenanceSettings: *const IMaintenanceSettings, - ) -> HRESULT, - fn CreateMaintenanceSettings( - ppMaintenanceSettings: *mut *mut IMaintenanceSettings, - ) -> HRESULT, - fn get_Volatile( - pVolatile: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_Volatile( - pVolatile: VARIANT_BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa6024fa8, 0x9652, 0x4adb, 0xa6, 0xbf, 0x5c, 0xfc, 0xd8, 0x77, 0xa7, 0xba)] -interface IMaintenanceSettings(IMaintenanceSettingsVtbl): IDispatch(IDispatchVtbl) { - fn put_Period( - target: BSTR, - ) -> HRESULT, - fn get_Period( - target: *mut BSTR, - ) -> HRESULT, - fn put_Deadline( - target: BSTR, - ) -> HRESULT, - fn get_Deadline( - target: *mut BSTR, - ) -> HRESULT, - fn put_Exclusive( - target: VARIANT_BOOL, - ) -> HRESULT, - fn get_Exclusive( - target: *mut VARIANT_BOOL, - ) -> HRESULT, -}} -ENUM!{enum TASK_RUN_FLAGS { - TASK_RUN_NO_FLAGS = 0, - TASK_RUN_AS_SELF = 1, - TASK_RUN_IGNORE_CONSTRAINTS = 2, - TASK_RUN_USE_SESSION_ID = 4, - TASK_RUN_USER_SID = 8, -}} -ENUM!{enum TASK_ENUM_FLAGS { - TASK_ENUM_HIDDEN = 1, -}} -ENUM!{enum TASK_CREATION { - TASK_VALIDATE_ONLY = 1, - TASK_CREATE = 2, - TASK_UPDATE = 4, - TASK_CREATE_OR_UPDATE = 6, - TASK_DISABLE = 8, - TASK_DONT_ADD_PRINCIPAL_ACE = 16, - TASK_IGNORE_REGISTRATION_TRIGGERS = 32, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/textstor.rs b/vendor/registry-40351f815f426200/winapi/src/um/textstor.rs deleted file mode 100644 index 7e2d60218..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/textstor.rs +++ /dev/null @@ -1,11 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{GUID_TS_SERVICE_DATAOBJECT, - 0x6086fbb5, 0xe225, 0x46ce, 0xa7, 0x70, 0xc1, 0xbb, 0xd3, 0xe0, 0x5d, 0x7b} -DEFINE_GUID!{GUID_TS_SERVICE_ACCESSIBLE, - 0xf9786200, 0xa5bf, 0x4a0f, 0x8c, 0x24, 0xfb, 0x16, 0xf5, 0xd1, 0xaa, 0xbb} -DEFINE_GUID!{GUID_TS_SERVICE_ACTIVEX, - 0xea937a50, 0xc9a6, 0x4b7d, 0x89, 0x4a, 0x49, 0xd9, 0x9b, 0x78, 0x48, 0x34} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/threadpoolapiset.rs b/vendor/registry-40351f815f426200/winapi/src/um/threadpoolapiset.rs deleted file mode 100644 index 13a1e7a40..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/threadpoolapiset.rs +++ /dev/null @@ -1,171 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! ApiSet Contract for api-ms-win-core-threadpool-l1. -use shared::basetsd::ULONG_PTR; -use shared::minwindef::{BOOL, DWORD, HMODULE, PFILETIME, ULONG}; -use um::minwinbase::PCRITICAL_SECTION; -use um::winnt::{ - HANDLE, PTP_CALLBACK_ENVIRON, PTP_CALLBACK_INSTANCE, PTP_CLEANUP_GROUP, PTP_IO, PTP_POOL, - PTP_POOL_STACK_INFORMATION, PTP_SIMPLE_CALLBACK, PTP_TIMER, PTP_TIMER_CALLBACK, PTP_WAIT, - PTP_WAIT_CALLBACK, PTP_WORK, PTP_WORK_CALLBACK, PVOID, -}; -FN!{stdcall PTP_WIN32_IO_CALLBACK( - Instance: PTP_CALLBACK_INSTANCE, - Context: PVOID, - Overlapped: PVOID, - IoResult: ULONG, - NumberOfBytesTransferred: ULONG_PTR, - Io: PTP_IO, -) -> ()} -extern "system" { - pub fn CreateThreadpool( - reserved: PVOID, - ) -> PTP_POOL; - pub fn SetThreadpoolThreadMaximum( - ptpp: PTP_POOL, - cthrdMost: DWORD, - ) -> (); - pub fn SetThreadpoolThreadMinimum( - ptpp: PTP_POOL, - cthrdMic: DWORD, - ) -> BOOL; - pub fn SetThreadpoolStackInformation( - ptpp: PTP_POOL, - ptpsi: PTP_POOL_STACK_INFORMATION, - ) -> BOOL; - pub fn QueryThreadpoolStackInformation( - ptpp: PTP_POOL, - ptpsi: PTP_POOL_STACK_INFORMATION, - ) -> BOOL; - pub fn CloseThreadpool( - ptpp: PTP_POOL, - ) -> (); - pub fn CreateThreadpoolCleanupGroup() -> PTP_CLEANUP_GROUP; - pub fn CloseThreadpoolCleanupGroupMembers( - ptpcg: PTP_CLEANUP_GROUP, - fCancelPendingCallbacks: BOOL, - pvCleanupContext: PVOID, - ) -> (); - pub fn CloseThreadpoolCleanupGroup( - ptpcg: PTP_CLEANUP_GROUP, - ) -> (); - pub fn SetEventWhenCallbackReturns( - pci: PTP_CALLBACK_INSTANCE, - evt: HANDLE, - ) -> (); - pub fn ReleaseSemaphoreWhenCallbackReturns( - pci: PTP_CALLBACK_INSTANCE, - sem: HANDLE, - crel: DWORD, - ) -> (); - pub fn ReleaseMutexWhenCallbackReturns( - pci: PTP_CALLBACK_INSTANCE, - mut_: HANDLE, - ) -> (); - pub fn LeaveCriticalSectionWhenCallbackReturns( - pci: PTP_CALLBACK_INSTANCE, - pcs: PCRITICAL_SECTION, - ) -> (); - pub fn FreeLibraryWhenCallbackReturns( - pci: PTP_CALLBACK_INSTANCE, - mod_: HMODULE, - ) -> (); - pub fn CallbackMayRunLong( - pci: PTP_CALLBACK_INSTANCE, - ) -> BOOL; - pub fn DisassociateCurrentThreadFromCallback( - pci: PTP_CALLBACK_INSTANCE, - ) -> (); - pub fn TrySubmitThreadpoolCallback( - pfns: PTP_SIMPLE_CALLBACK, - pv: PVOID, - pcbe: PTP_CALLBACK_ENVIRON, - ) -> BOOL; - pub fn CreateThreadpoolWork( - pfnwk: PTP_WORK_CALLBACK, - pv: PVOID, - pcbe: PTP_CALLBACK_ENVIRON, - ) -> PTP_WORK; - pub fn SubmitThreadpoolWork( - pwk: PTP_WORK, - ) -> (); - pub fn WaitForThreadpoolWorkCallbacks( - pwk: PTP_WORK, - fCancelPendingCallbacks: BOOL, - ) -> (); - pub fn CloseThreadpoolWork( - pwk: PTP_WORK, - ) -> (); - pub fn CreateThreadpoolTimer( - pfnti: PTP_TIMER_CALLBACK, - pv: PVOID, - pcbe: PTP_CALLBACK_ENVIRON, - ) -> PTP_TIMER; - pub fn SetThreadpoolTimer( - pti: PTP_TIMER, - pftDueTime: PFILETIME, - msPeriod: DWORD, - msWindowLength: DWORD, - ) -> (); - pub fn IsThreadpoolTimerSet( - pti: PTP_TIMER, - ) -> BOOL; - pub fn WaitForThreadpoolTimerCallbacks( - pti: PTP_TIMER, - fCancelPendingCallbacks: BOOL, - ) -> (); - pub fn CloseThreadpoolTimer( - pti: PTP_TIMER, - ) -> (); - pub fn CreateThreadpoolWait( - pfnwa: PTP_WAIT_CALLBACK, - pv: PVOID, - pcbe: PTP_CALLBACK_ENVIRON, - ) -> PTP_WAIT; - pub fn SetThreadpoolWait( - pwa: PTP_WAIT, - h: HANDLE, - pftTimeout: PFILETIME, - ) -> (); - pub fn WaitForThreadpoolWaitCallbacks( - pwa: PTP_WAIT, - fCancelPendingCallbacks: BOOL, - ) -> (); - pub fn CloseThreadpoolWait( - pwa: PTP_WAIT, - ) -> (); - pub fn CreateThreadpoolIo( - fl: HANDLE, - pfnio: PTP_WIN32_IO_CALLBACK, - pv: PVOID, - pcbe: PTP_CALLBACK_ENVIRON, - ) -> PTP_IO; - pub fn StartThreadpoolIo( - pio: PTP_IO, - ) -> (); - pub fn CancelThreadpoolIo( - pio: PTP_IO, - ) -> (); - pub fn WaitForThreadpoolIoCallbacks( - pio: PTP_IO, - fCancelPendingCallbacks: BOOL, - ) -> (); - pub fn CloseThreadpoolIo( - pio: PTP_IO, - ) -> (); - pub fn SetThreadpoolTimerEx( - pti: PTP_TIMER, - pftDueTime: PFILETIME, - msPeriod: DWORD, - msWindowLength: DWORD, - ) -> BOOL; - pub fn SetThreadpoolWaitEx( - pwa: PTP_WAIT, - h: HANDLE, - pftTimeout: PFILETIME, - Reserved: PVOID, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/threadpoollegacyapiset.rs b/vendor/registry-40351f815f426200/winapi/src/um/threadpoollegacyapiset.rs deleted file mode 100644 index dc306c4e4..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/threadpoollegacyapiset.rs +++ /dev/null @@ -1,44 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::{BOOL, DWORD, ULONG}; -use um::minwinbase::LPTHREAD_START_ROUTINE; -use um::winnt::{HANDLE, PHANDLE, PVOID, WAITORTIMERCALLBACK}; -extern "system" { - pub fn QueueUserWorkItem( - Function: LPTHREAD_START_ROUTINE, - Context: PVOID, - Flags: ULONG, - ) -> BOOL; - pub fn UnregisterWaitEx( - WaitHandle: HANDLE, - CompletionEvent: HANDLE, - ) -> BOOL; - pub fn CreateTimerQueue() -> HANDLE; - pub fn CreateTimerQueueTimer( - phNewTimer: PHANDLE, - TimerQueue: HANDLE, - Callback: WAITORTIMERCALLBACK, - Parameter: PVOID, - DueTime: DWORD, - Period: DWORD, - Flags: ULONG, - ) -> BOOL; - pub fn ChangeTimerQueueTimer( - TimerQueue: HANDLE, - Timer: HANDLE, - DueTime: ULONG, - Period: ULONG, - ) -> BOOL; - pub fn DeleteTimerQueueTimer( - TimerQueue: HANDLE, - Timer: HANDLE, - CompletionEvent: HANDLE, - ) -> BOOL; - pub fn DeleteTimerQueueEx( - TimerQueue: HANDLE, - CompletionEvent: HANDLE, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/timeapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/timeapi.rs deleted file mode 100644 index dae647067..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/timeapi.rs +++ /dev/null @@ -1,20 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::{DWORD, UINT}; -use um::mmsystem::{LPTIMECAPS, MMRESULT}; -extern "system" { - pub fn timeGetTime() -> DWORD; - pub fn timeGetDevCaps( - ptc: LPTIMECAPS, - cbtc: UINT, - ) -> MMRESULT; - pub fn timeBeginPeriod( - uPeriod: UINT, - ) -> MMRESULT; - pub fn timeEndPeriod( - uPeriod: UINT, - ) -> MMRESULT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/timezoneapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/timezoneapi.rs deleted file mode 100644 index b7d99f778..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/timezoneapi.rs +++ /dev/null @@ -1,89 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! ApiSet Contract for api-ms-win-core-timezone-l1 -use shared::minwindef::{BOOL, DWORD, FILETIME, LPDWORD, LPFILETIME, USHORT}; -use um::minwinbase::{LPSYSTEMTIME, SYSTEMTIME}; -use um::winnt::{BOOLEAN, LONG, WCHAR}; -pub const TIME_ZONE_ID_INVALID: DWORD = 0xFFFFFFFF; -STRUCT!{struct TIME_ZONE_INFORMATION { - Bias: LONG, - StandardName: [WCHAR; 32], - StandardDate: SYSTEMTIME, - StandardBias: LONG, - DaylightName: [WCHAR; 32], - DaylightDate: SYSTEMTIME, - DaylightBias: LONG, -}} -pub type PTIME_ZONE_INFORMATION = *mut TIME_ZONE_INFORMATION; -pub type LPTIME_ZONE_INFORMATION = *mut TIME_ZONE_INFORMATION; -STRUCT!{struct DYNAMIC_TIME_ZONE_INFORMATION { - Bias: LONG, - StandardName: [WCHAR; 32], - StandardDate: SYSTEMTIME, - StandardBias: LONG, - DaylightName: [WCHAR; 32], - DaylightDate: SYSTEMTIME, - DaylightBias: LONG, - TimeZoneKeyName: [WCHAR; 128], - DynamicDaylightTimeDisabled: BOOLEAN, -}} -pub type PDYNAMIC_TIME_ZONE_INFORMATION = *mut DYNAMIC_TIME_ZONE_INFORMATION; -extern "system" { - pub fn SystemTimeToTzSpecificLocalTime( - lpTimeZoneInformation: *const TIME_ZONE_INFORMATION, - lpUniversalTime: *const SYSTEMTIME, - lpLocalTime: LPSYSTEMTIME, - ) -> BOOL; - pub fn TzSpecificLocalTimeToSystemTime( - lpTimeZoneInformation: *const TIME_ZONE_INFORMATION, - lpLocalTime: *const SYSTEMTIME, - lpUniversalTime: LPSYSTEMTIME, - ) -> BOOL; - pub fn FileTimeToSystemTime( - lpFileTime: *const FILETIME, - lpSystemTime: LPSYSTEMTIME, - ) -> BOOL; - pub fn SystemTimeToFileTime( - lpSystemTime: *const SYSTEMTIME, - lpFileTime: LPFILETIME, - ) -> BOOL; - pub fn GetTimeZoneInformation( - lpTimeZoneInformation: LPTIME_ZONE_INFORMATION, - ) -> DWORD; - pub fn SetTimeZoneInformation( - lpTimeZoneInformation: *const TIME_ZONE_INFORMATION, - ) -> BOOL; - pub fn SetDynamicTimeZoneInformation( - lpTimeZoneInformation: *const DYNAMIC_TIME_ZONE_INFORMATION, - ) -> BOOL; - pub fn GetDynamicTimeZoneInformation( - pTimeZoneInformation: PDYNAMIC_TIME_ZONE_INFORMATION, - ) -> DWORD; - pub fn GetTimeZoneInformationForYear( - wYear: USHORT, - pdtzi: PDYNAMIC_TIME_ZONE_INFORMATION, - ptzi: LPTIME_ZONE_INFORMATION, - ) -> BOOL; - pub fn EnumDynamicTimeZoneInformation( - dwIndex: DWORD, - lpTimeZoneInformation: PDYNAMIC_TIME_ZONE_INFORMATION, - ) -> DWORD; - pub fn GetDynamicTimeZoneInformationEffectiveYears( - lpTimeZoneInformation: PDYNAMIC_TIME_ZONE_INFORMATION, - FirstYear: LPDWORD, - LastYear: LPDWORD, - ) -> DWORD; - pub fn SystemTimeToTzSpecificLocalTimeEx( - lpTimeZoneInformation: *const DYNAMIC_TIME_ZONE_INFORMATION, - lpUniversalTime: *const SYSTEMTIME, - lpLocalTime: LPSYSTEMTIME, - ) -> BOOL; - pub fn TzSpecificLocalTimeToSystemTimeEx( - lpTimeZoneInformation: *const DYNAMIC_TIME_ZONE_INFORMATION, - lpLocalTime: *const SYSTEMTIME, - lpUniversalTime: LPSYSTEMTIME, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/tlhelp32.rs b/vendor/registry-40351f815f426200/winapi/src/um/tlhelp32.rs deleted file mode 100644 index f910b9f49..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/tlhelp32.rs +++ /dev/null @@ -1,194 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! WIN32 tool help functions, types, and definitions -use shared::basetsd::{SIZE_T, ULONG_PTR}; -use shared::minwindef::{BOOL, BYTE, DWORD, HMODULE, LPCVOID, LPVOID, MAX_PATH}; -use um::winnt::{CHAR, HANDLE, LONG, WCHAR}; -pub const MAX_MODULE_NAME32: usize = 255; -extern "system" { - pub fn CreateToolhelp32Snapshot( - dwFlags: DWORD, - th32ProcessID: DWORD, - ) -> HANDLE; -} -pub const TH32CS_SNAPHEAPLIST: DWORD = 0x00000001; -pub const TH32CS_SNAPPROCESS: DWORD = 0x00000002; -pub const TH32CS_SNAPTHREAD: DWORD = 0x00000004; -pub const TH32CS_SNAPMODULE: DWORD = 0x00000008; -pub const TH32CS_SNAPMODULE32: DWORD = 0x00000010; -pub const TH32CS_SNAPALL: DWORD = - (TH32CS_SNAPHEAPLIST | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD | TH32CS_SNAPMODULE); -pub const TH32CS_INHERIT: DWORD = 0x80000000; -STRUCT!{struct HEAPLIST32 { - dwSize: SIZE_T, - th32ProcessID: DWORD, - th32HeapID: ULONG_PTR, - dwFlags: DWORD, -}} -pub type PHEAPLIST32 = *mut HEAPLIST32; -pub type LPHEAPLIST32 = *mut HEAPLIST32; -pub const HF32_DEFAULT: DWORD = 1; -pub const HF32_SHARED: DWORD = 2; -extern "system" { - pub fn Heap32ListFirst( - hSnapshot: HANDLE, - lphl: LPHEAPLIST32, - ) -> BOOL; - pub fn Heap32ListNext( - hSnapshot: HANDLE, - lphl: LPHEAPLIST32, - ) -> BOOL; -} -STRUCT!{struct HEAPENTRY32 { - dwSize: SIZE_T, - hHandle: HANDLE, - dwAddress: ULONG_PTR, - dwBlockSize: SIZE_T, - dwFlags: DWORD, - dwLockCount: DWORD, - dwResvd: DWORD, - th32ProcessID: DWORD, - th32HeapID: ULONG_PTR, -}} -pub type PHEAPENTRY32 = *mut HEAPENTRY32; -pub type LPHEAPENTRY32 = *mut HEAPENTRY32; -pub const LF32_FIXED: DWORD = 0x00000001; -pub const LF32_FREE: DWORD = 0x00000002; -pub const LF32_MOVEABLE: DWORD = 0x00000004; -extern "system" { - pub fn Heap32First( - lphe: LPHEAPENTRY32, - th32ProcessID: DWORD, - th32HeapID: ULONG_PTR, - ) -> BOOL; - pub fn Heap32Next( - lphe: LPHEAPENTRY32, - ) -> BOOL; - pub fn Toolhelp32ReadProcessMemory( - th32ProcessID: DWORD, - lpBaseAddress: LPCVOID, - lpBuffer: LPVOID, - cbRead: SIZE_T, - lpNumberOfBytesRead: *mut SIZE_T, - ) -> BOOL; -} -STRUCT!{struct PROCESSENTRY32W { - dwSize: DWORD, - cntUsage: DWORD, - th32ProcessID: DWORD, - th32DefaultHeapID: ULONG_PTR, - th32ModuleID: DWORD, - cntThreads: DWORD, - th32ParentProcessID: DWORD, - pcPriClassBase: LONG, - dwFlags: DWORD, - szExeFile: [WCHAR; MAX_PATH], -}} -pub type PPROCESSENTRY32W = *mut PROCESSENTRY32W; -pub type LPPROCESSENTRY32W = *mut PROCESSENTRY32W; -extern "system" { - pub fn Process32FirstW( - hSnapshot: HANDLE, - lppe: LPPROCESSENTRY32W, - ) -> BOOL; - pub fn Process32NextW( - hSnapshot: HANDLE, - lppe: LPPROCESSENTRY32W, - ) -> BOOL; -} -STRUCT!{struct PROCESSENTRY32 { - dwSize: DWORD, - cntUsage: DWORD, - th32ProcessID: DWORD, - th32DefaultHeapID: ULONG_PTR, - th32ModuleID: DWORD, - cntThreads: DWORD, - th32ParentProcessID: DWORD, - pcPriClassBase: LONG, - dwFlags: DWORD, - szExeFile: [CHAR; MAX_PATH], -}} -pub type PPROCESSENTRY32 = *mut PROCESSENTRY32; -pub type LPPROCESSENTRY32 = *mut PROCESSENTRY32; -extern "system" { - pub fn Process32First( - hSnapshot: HANDLE, - lppe: LPPROCESSENTRY32, - ) -> BOOL; - pub fn Process32Next( - hSnapshot: HANDLE, - lppe: LPPROCESSENTRY32, - ) -> BOOL; -} -STRUCT!{struct THREADENTRY32 { - dwSize: DWORD, - cntUsage: DWORD, - th32ThreadID: DWORD, - th32OwnerProcessID: DWORD, - tpBasePri: LONG, - tpDeltaPri: LONG, - dwFlags: DWORD, -}} -pub type PTHREADENTRY32 = *mut THREADENTRY32; -pub type LPTHREADENTRY32 = *mut THREADENTRY32; -extern "system" { - pub fn Thread32First( - hSnapshot: HANDLE, - lpte: LPTHREADENTRY32, - ) -> BOOL; - pub fn Thread32Next( - hSnapshot: HANDLE, - lpte: LPTHREADENTRY32, - ) -> BOOL; -} -STRUCT!{struct MODULEENTRY32W { - dwSize: DWORD, - th32ModuleID: DWORD, - th32ProcessID: DWORD, - GlblcntUsage: DWORD, - ProccntUsage: DWORD, - modBaseAddr: *mut BYTE, - modBaseSize: DWORD, - hModule: HMODULE, - szModule: [WCHAR; MAX_MODULE_NAME32 + 1], - szExePath: [WCHAR; MAX_PATH], -}} -pub type PMODULEENTRY32W = *mut MODULEENTRY32W; -pub type LPMODULEENTRY32W = *mut MODULEENTRY32W; -extern "system" { - pub fn Module32FirstW( - hSnapshot: HANDLE, - lpme: LPMODULEENTRY32W, - ) -> BOOL; - pub fn Module32NextW( - hSnapshot: HANDLE, - lpme: LPMODULEENTRY32W, - ) -> BOOL; -} -STRUCT!{struct MODULEENTRY32 { - dwSize: DWORD, - th32ModuleID: DWORD, - th32ProcessID: DWORD, - GlblcntUsage: DWORD, - ProccntUsage: DWORD, - modBaseAddr: *mut BYTE, - modBaseSize: DWORD, - hModule: HMODULE, - szModule: [CHAR; MAX_MODULE_NAME32 + 1], - szExePath: [CHAR; MAX_PATH], -}} -pub type PMODULEENTRY32 = *mut MODULEENTRY32; -pub type LPMODULEENTRY32 = *mut MODULEENTRY32; -extern "system" { - pub fn Module32First( - hSnapshot: HANDLE, - lpme: LPMODULEENTRY32, - ) -> BOOL; - pub fn Module32Next( - hSnapshot: HANDLE, - lpme: LPMODULEENTRY32, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/unknwnbase.rs b/vendor/registry-40351f815f426200/winapi/src/um/unknwnbase.rs deleted file mode 100644 index 4162fc109..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/unknwnbase.rs +++ /dev/null @@ -1,43 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_void; -use shared::guiddef::REFIID; -use shared::minwindef::{BOOL, ULONG}; -use um::winnt::HRESULT; -RIDL!{#[uuid(0x00000000, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IUnknown(IUnknownVtbl) { - fn QueryInterface( - riid: REFIID, - ppvObject: *mut *mut c_void, - ) -> HRESULT, - fn AddRef() -> ULONG, - fn Release() -> ULONG, -}} -pub type LPUNKNOWN = *mut IUnknown; -RIDL!{#[uuid(0x000e0000, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface AsyncIUnknown(AsyncIUnknownVtbl): IUnknown(IUnknownVtbl) { - fn Begin_QueryInterface( - riid: REFIID, - ) -> HRESULT, - fn Finish_QueryInterface( - ppvObject: *mut *mut c_void, - ) -> HRESULT, - fn Begin_AddRef() -> HRESULT, - fn Finish_AddRef() -> ULONG, - fn Begin_Release() -> HRESULT, - fn Finish_Release() -> ULONG, -}} -RIDL!{#[uuid(0x00000001, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IClassFactory(IClassFactoryVtbl): IUnknown(IUnknownVtbl) { - fn CreateInstance( - pUnkOuter: *mut IUnknown, - riid: REFIID, - ppvObject: *mut *mut c_void, - ) -> HRESULT, - fn LockServer( - fLock: BOOL, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/urlhist.rs b/vendor/registry-40351f815f426200/winapi/src/um/urlhist.rs deleted file mode 100644 index f35e55029..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/urlhist.rs +++ /dev/null @@ -1,97 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Url History Interfaces -use ctypes::c_void; -use shared::guiddef::REFIID; -use shared::minwindef::{BOOL, DWORD, FILETIME, ULONG}; -use shared::wtypesbase::LPCOLESTR; -use um::docobj::{IOleCommandTarget, IOleCommandTargetVtbl}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LPWSTR}; -pub const STATURL_QUERYFLAG_ISCACHED: DWORD = 0x00010000; -pub const STATURL_QUERYFLAG_NOURL: DWORD = 0x00020000; -pub const STATURL_QUERYFLAG_NOTITLE: DWORD = 0x00040000; -pub const STATURL_QUERYFLAG_TOPLEVEL: DWORD = 0x00080000; -pub const STATURLFLAG_ISCACHED: DWORD = 0x00000001; -pub const STATURLFLAG_ISTOPLEVEL: DWORD = 0x00000002; -ENUM!{enum ADDURL_FLAG { - ADDURL_FIRST = 0, - ADDURL_ADDTOHISTORYANDCACHE = 0, - ADDURL_ADDTOCACHE = 1, - ADDURL_Max = 2147483647, -}} -pub type LPENUMSTATURL = *mut IEnumSTATURL; -STRUCT!{struct STATURL { - cbSize: DWORD, - pwcsUrl: LPWSTR, - pwcsTitle: LPWSTR, - ftLastVisited: FILETIME, - ftLastUpdated: FILETIME, - ftExpires: FILETIME, - dwFlags: DWORD, -}} -pub type LPSTATURL = *mut STATURL; -RIDL!{#[uuid(0x3c374a42, 0xbae4, 0x11cf, 0xbf, 0x7d, 0x00, 0xaa, 0x00, 0x69, 0x46, 0xee)] -interface IEnumSTATURL(IEnumSTATURLVtbl): IUnknown(IUnknownVtbl) { - fn Next( - celt: ULONG, - rgelt: LPSTATURL, - pceltFetched: *mut ULONG, - ) -> HRESULT, - fn Skip( - celt: ULONG, - ) -> HRESULT, - fn Reset() -> HRESULT, - fn Clone( - ppenum: *mut *mut IEnumSTATURL, - ) -> HRESULT, - fn SetFilter( - poszFilter: LPCOLESTR, - dwFlags: DWORD, - ) -> HRESULT, -}} -pub type LPURLHISTORYSTG = *mut IUrlHistoryStg; -RIDL!{#[uuid(0x3c374a41, 0xbae4, 0x11cf, 0xbf, 0x7d, 0x00, 0xaa, 0x00, 0x69, 0x46, 0xee)] -interface IUrlHistoryStg(IUrlHistoryStgVtbl): IUnknown(IUnknownVtbl) { - fn AddUrl( - pocsUrl: LPCOLESTR, - ) -> HRESULT, - fn DeleteUrl( - pocsUrl: LPCOLESTR, - dwFlags: DWORD, - ) -> HRESULT, - fn QueryUrl( - pocsUrl: LPCOLESTR, - dwFlags: DWORD, - lpSTATURL: LPSTATURL, - ) -> HRESULT, - fn BindToObject( - pocsUrl: LPCOLESTR, - riid: REFIID, - ppvOut: *mut *mut c_void, - ) -> HRESULT, - fn EnumUrls( - ppEnum: *mut *mut IEnumSTATURL, - ) -> HRESULT, -}} -pub type LPURLHISTORYSTG2 = *mut IUrlHistoryStg2; -RIDL!{#[uuid(0xafa0dc11, 0xc313, 0x11d0, 0x83, 0x1a, 0x00, 0xc0, 0x4f, 0xd5, 0xae, 0x38)] -interface IUrlHistoryStg2(IUrlHistoryStg2Vtbl): IUrlHistoryStg(IUrlHistoryStgVtbl) { - fn AddUrlAndNotify( - pocsUrl: LPCOLESTR, - pocsTitle: LPCOLESTR, - dwFlags: DWORD, - fWriteHistory: BOOL, - poctNotify: *mut IOleCommandTarget, - punkISFolder: *mut IUnknown, - ) -> HRESULT, - fn ClearHistory() -> HRESULT, -}} -pub type LPURLHISTORYNOTIFY = *mut IUrlHistoryNotify; -RIDL!{#[uuid(0xbc40bec1, 0xc493, 0x11d0, 0x83, 0x1b, 0x00, 0xc0, 0x4f, 0xd5, 0xae, 0x38)] -interface IUrlHistoryNotify(IUrlHistoryNotifyVtbl): - IOleCommandTarget(IOleCommandTargetVtbl) {} -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/urlmon.rs b/vendor/registry-40351f815f426200/winapi/src/um/urlmon.rs deleted file mode 100644 index bdcbada51..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/urlmon.rs +++ /dev/null @@ -1,21 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! URL Moniker interfaces -use shared::minwindef::DWORD; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LPCWSTR}; -RIDL!{#[uuid(0x79eac9ee, 0xbaf9, 0x11ce, 0x8c, 0x82, 0x00, 0xaa, 0x00, 0x4b, 0xa9, 0x0b)] -interface IInternetSecurityManager(IInternetSecurityManagerVtbl): IUnknown(IUnknownVtbl) { - fn SetSecuritySite() -> HRESULT, - fn GetSecuritySite() -> HRESULT, - fn MapUrlToZone( - pwszUrl: LPCWSTR, - pdwZone: *mut DWORD, - dwFlags: DWORD, - ) -> HRESULT, - // TODO: the rest -}} -// TODO: the rest diff --git a/vendor/registry-40351f815f426200/winapi/src/um/userenv.rs b/vendor/registry-40351f815f426200/winapi/src/um/userenv.rs deleted file mode 100644 index ea0af96ff..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/userenv.rs +++ /dev/null @@ -1,159 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Definitions for the user environment API -use shared::minwindef::{BOOL, DWORD, LPDWORD, LPVOID, PHKEY}; -use um::winnt::{ - HANDLE, HRESULT, LPCSTR, LPCWSTR, LPSTR, LPWSTR, PCWSTR, PSID, PSID_AND_ATTRIBUTES, PWSTR -}; -use um::winreg::REGSAM; -extern "system" { - // pub fn LoadUserProfileA( - // hToken: HANDLE, - // lpProfileInfo: LPPROFILEINFOA, - // ) -> BOOL; - // pub fn LoadUserProfileW( - // hToken: HANDLE, - // lpProfileInfo: LPPROFILEINFOW, - // ) -> BOOL; - pub fn UnloadUserProfile( - hToken: HANDLE, - hProfile: HANDLE, - ) -> BOOL; - pub fn GetProfilesDirectoryA( - lpProfileDir: LPSTR, - lpcchSize: LPDWORD, - ) -> BOOL; - pub fn GetProfilesDirectoryW( - lpProfileDir: LPWSTR, - lpcchSize: LPDWORD, - ) -> BOOL; - pub fn GetProfileType( - dwFlags: *mut DWORD, - ) -> BOOL; - pub fn DeleteProfileA( - lpSidString: LPCSTR, - lpProfilePath: LPCSTR, - lpComputerName: LPCSTR, - ) -> BOOL; - pub fn DeleteProfileW( - lpSidString: LPCWSTR, - lpProfilePath: LPCWSTR, - lpComputerName: LPCWSTR, - ) -> BOOL; - pub fn CreateProfile( - pszUserSid: LPCWSTR, - pszUserName: LPCWSTR, - pszProfilePath: LPWSTR, - cchProfilePath: DWORD, - ) -> HRESULT; - pub fn GetDefaultUserProfileDirectoryA( - lpProfileDir: LPSTR, - lpcchSize: LPDWORD, - ) -> BOOL; - pub fn GetDefaultUserProfileDirectoryW( - lpProfileDir: LPWSTR, - lpcchSize: LPDWORD, - ) -> BOOL; - pub fn GetAllUsersProfileDirectoryA( - lpProfileDir: LPSTR, - lpcchSize: LPDWORD, - ) -> BOOL; - pub fn GetAllUsersProfileDirectoryW( - lpProfileDir: LPWSTR, - lpcchSize: LPDWORD, - ) -> BOOL; - pub fn GetUserProfileDirectoryA( - hToken: HANDLE, - lpProfileDir: LPSTR, - lpcchSize: LPDWORD, - ) -> BOOL; - pub fn GetUserProfileDirectoryW( - hToken: HANDLE, - lpProfileDir: LPWSTR, - lpcchSize: LPDWORD, - ) -> BOOL; - pub fn CreateEnvironmentBlock( - lpEnvironment: *mut LPVOID, - hToken: HANDLE, - bInherit: BOOL, - ) -> BOOL; - pub fn DestroyEnvironmentBlock( - lpEnvironment: LPVOID, - ) -> BOOL; - pub fn ExpandEnvironmentStringsForUserA( - hToken: HANDLE, - lpSrc: LPCSTR, - lpDest: LPSTR, - dwSize: DWORD, - ) -> BOOL; - pub fn ExpandEnvironmentStringsForUserW( - hToken: HANDLE, - lpSrc: LPCWSTR, - lpDest: LPWSTR, - dwSize: DWORD, - ) -> BOOL; - pub fn RefreshPolicy( - bMachine: BOOL, - ) -> BOOL; - pub fn RefreshPolicyEx( - bMachine: BOOL, - dwOptions: DWORD, - ) -> BOOL; - pub fn EnterCriticalPolicySection( - bMachine: BOOL, - ) -> HANDLE; - pub fn LeaveCriticalPolicySection( - hSection: HANDLE, - ) -> BOOL; - pub fn RegisterGPNotification( - hEvent: HANDLE, - bMachine: BOOL, - ) -> BOOL; - pub fn UnregisterGPNotification( - hEvent: HANDLE, - ) -> BOOL; - // pub fn GetGPOListA(); - // pub fn GetGPOListW(); - // pub fn FreeGPOListA(); - // pub fn FreeGPOListW(); - // pub fn GetAppliedGPOListA(); - // pub fn GetAppliedGPOListW(); - // pub fn ProcessGroupPolicyCompleted(); - // pub fn ProcessGroupPolicyCompletedEx(); - // pub fn RsopAccessCheckByType(); - // pub fn RsopFileAccessCheck(); - // pub fn RsopSetPolicySettingStatus(); - // pub fn RsopResetPolicySettingStatus(); - // pub fn GenerateGPNotification(); - pub fn CreateAppContainerProfile( - pszAppContainerName: PCWSTR, - pszDisplayName: PCWSTR, - pszDescription: PCWSTR, - pCapabilities: PSID_AND_ATTRIBUTES, - dwCapabilityCount: DWORD, - ppSidAppContainerSid: *mut PSID, - ) -> HRESULT; - pub fn DeleteAppContainerProfile( - pszAppContainerName: PCWSTR, - ) -> HRESULT; - pub fn GetAppContainerRegistryLocation( - desiredAccess: REGSAM, - phAppContainerKey: PHKEY, - ) -> HRESULT; - pub fn GetAppContainerFolderPath( - pszAppContainerSid: PCWSTR, - ppszPath: *mut PWSTR, - ) -> HRESULT; - pub fn DeriveAppContainerSidFromAppContainerName( - pszAppContainerName: PCWSTR, - ppsidAppContainerSid: *mut PSID, - ) -> HRESULT; - pub fn DeriveRestrictedAppContainerSidFromAppContainerSidAndRestrictedName( - psidAppContainerSid: PSID, - pszRestrictedAppContainerName: PCWSTR, - ppsidRestrictedAppContainerSid: *mut PSID, - ) -> HRESULT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/usp10.rs b/vendor/registry-40351f815f426200/winapi/src/um/usp10.rs deleted file mode 100644 index b2f24be06..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/usp10.rs +++ /dev/null @@ -1,560 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Unicode Complex Script processor API declarations -use ctypes::{c_int, c_long, c_void}; -use shared::minwindef::{BOOL, BYTE, DWORD, UINT, ULONG, WORD}; -use shared::ntdef::LCID; -use shared::windef::{HDC, RECT, SIZE}; -use shared::winerror::{FACILITY_ITF, SEVERITY_ERROR}; -use um::wingdi::ABC; -use um::winnt::{HRESULT, LONG, WCHAR}; -pub const SCRIPT_UNDEFINED: WORD = 0; -pub const USP_E_SCRIPT_NOT_IN_FONT: HRESULT = MAKE_HRESULT!(SEVERITY_ERROR, FACILITY_ITF, 0x200); -DECLARE_HANDLE!{SCRIPT_CACHE, SCRIPT_CACHE__} -extern "system" { - pub fn ScriptFreeCache( - psc: *mut SCRIPT_CACHE, - ) -> HRESULT; -} -STRUCT!{struct SCRIPT_CONTROL { - bit_fields: DWORD, -}} -BITFIELD!{SCRIPT_CONTROL bit_fields: DWORD [ - uDefaultLanguage set_uDefaultLanguage[0..16], - fContextDigits set_fContextDigits[16..17], - fInvertPreBoundDir set_fInvertPreBoundDir[17..18], - fInvertPostBoundDir set_fInvertPostBoundDir[18..19], - fLinkStringBefore set_fLinkStringBefore[19..20], - fLinkStringAfter set_fLinkStringAfter[20..21], - fNeutralOverride set_fNeutralOverride[21..22], - fNumericOverride set_fNumericOverride[22..23], - fLegacyBidiClass set_fLegacyBidiClass[23..24], - fMergeNeutralItems set_fMergeNeutralItems[24..25], - fReserved set_fReserved[25..32], -]} -STRUCT!{struct SCRIPT_STATE { - bit_fields: WORD, -}} -BITFIELD!{SCRIPT_STATE bit_fields: WORD [ - uBidiLevel set_uBidiLevel[0..5], - fOverrideDirection set_fOverrideDirection[5..6], - fInhibitSymSwap set_fInhibitSymSwap[6..7], - fCharShape set_fCharShape[7..8], - fDigitSubstitute set_fDigitSubstitute[8..9], - fInhibitLigate set_fInhibitLigate[9..10], - fDisplayZWG set_fDisplayZWG[10..11], - fArabicNumContext set_fArabicNumContext[11..12], - fGcpClusters set_fGcpClusters[12..13], - fReserved set_fReserved[13..14], - fEngineReserved set_fEngineReserved[14..16], -]} -STRUCT!{struct SCRIPT_ANALYSIS { - bit_fields: WORD, - s: SCRIPT_STATE, -}} -BITFIELD!{SCRIPT_ANALYSIS bit_fields: WORD [ - eScript set_eScript[0..10], - fRTL set_fRTL[10..11], - fLayoutRTL set_fLayoutRTL[11..12], - fLinkBefore set_fLinkBefore[12..13], - fLinkAfter set_fLinkAfter[13..14], - fLogicalOrder set_fLogicalOrder[14..15], - fNoGlyphIndex set_fNoGlyphIndex[15..16], -]} -STRUCT!{struct SCRIPT_ITEM { - iCharPos: c_int, - a: SCRIPT_ANALYSIS, -}} -extern "system" { - pub fn ScriptItemize( - pwcInChars: *const WCHAR, - cInChars: c_int, - cMaxItems: c_int, - psControl: *const SCRIPT_CONTROL, - psState: *const SCRIPT_STATE, - pItems: *mut SCRIPT_ITEM, - pcItems: *mut c_int, - ) -> HRESULT; - pub fn ScriptLayout( - cRuns: c_int, - pbLevel: *const BYTE, - piVisualToLogical: *mut c_int, - piLogicalToVisual: *mut c_int, - ) -> HRESULT; -} -pub const SCRIPT_JUSTIFY_NONE: WORD = 0; -pub const SCRIPT_JUSTIFY_ARABIC_BLANK: WORD = 1; -pub const SCRIPT_JUSTIFY_CHARACTER: WORD = 2; -pub const SCRIPT_JUSTIFY_RESERVED1: WORD = 3; -pub const SCRIPT_JUSTIFY_BLANK: WORD = 4; -pub const SCRIPT_JUSTIFY_RESERVED2: WORD = 5; -pub const SCRIPT_JUSTIFY_RESERVED3: WORD = 6; -pub const SCRIPT_JUSTIFY_ARABIC_NORMAL: WORD = 7; -pub const SCRIPT_JUSTIFY_ARABIC_KASHIDA: WORD = 8; -pub const SCRIPT_JUSTIFY_ARABIC_ALEF: WORD = 9; -pub const SCRIPT_JUSTIFY_ARABIC_HA: WORD = 10; -pub const SCRIPT_JUSTIFY_ARABIC_RA: WORD = 11; -pub const SCRIPT_JUSTIFY_ARABIC_BA: WORD = 12; -pub const SCRIPT_JUSTIFY_ARABIC_BARA: WORD = 13; -pub const SCRIPT_JUSTIFY_ARABIC_SEEN: WORD = 14; -pub const SCRIPT_JUSTIFY_ARABIC_SEEN_M: WORD = 15; -STRUCT!{struct SCRIPT_VISATTR { - bit_fields: WORD, -}} -BITFIELD!{SCRIPT_VISATTR bit_fields: WORD [ - uJustification set_uJustification[0..4], - fClusterStart set_fClusterStart[4..5], - fDiacritic set_fDiacritic[5..6], - fZeroWidth set_fZeroWidth[6..7], - fReserved set_fReserved[7..8], - fShapeReserved set_fShapeReserved[8..16], -]} -extern "system" { - pub fn ScriptShape( - hdc: HDC, - psc: *mut SCRIPT_CACHE, - pwcChars: *const WCHAR, - cChars: c_int, - cMaxGlyphs: c_int, - psa: *mut SCRIPT_ANALYSIS, - pwOutGlyphs: *mut WORD, - pwLogClust: *mut WORD, - psva: *mut SCRIPT_VISATTR, - pcGlyphs: *mut c_int, - ) -> HRESULT; -} -STRUCT!{struct GOFFSET { - du: LONG, - dv: LONG, -}} -extern "system" { - pub fn ScriptPlace( - hdc: HDC, - psc: *mut SCRIPT_CACHE, - pwGlyphs: *const WORD, - cGlyphs: c_int, - psva: *const SCRIPT_VISATTR, - psa: *mut SCRIPT_ANALYSIS, - piAdvance: *mut c_int, - pGoffset: *mut GOFFSET, - pABC: *mut ABC, - ) -> HRESULT; - pub fn ScriptTextOut( - hdc: HDC, - psc: *mut SCRIPT_CACHE, - x: c_int, - y: c_int, - fuOptions: UINT, - lprc: *const RECT, - psa: *const SCRIPT_ANALYSIS, - pwcReserved: *const WCHAR, - iReserved: c_int, - pwGlyphs: *const WORD, - cGlyphs: c_int, - piAdvance: *const c_int, - piJustify: *const c_int, - pGoffset: *const GOFFSET, - ) -> HRESULT; - pub fn ScriptJustify( - psva: *const SCRIPT_VISATTR, - piAdvance: *const c_int, - cGlyphs: c_int, - iDx: c_int, - iMinKashida: c_int, - piJustify: *mut c_int, - ) -> HRESULT; -} -STRUCT!{struct SCRIPT_LOGATTR { - bit_fields: BYTE, -}} -BITFIELD!{SCRIPT_LOGATTR bit_fields: BYTE [ - fSoftBreak set_fSoftBreak[0..1], - fWhiteSpace set_fWhiteSpace[1..2], - fCharStop set_fCharStop[2..3], - fWordStop set_fWordStop[3..4], - fInvalid set_fInvalid[4..5], - fReserved set_fReserved[5..8], -]} -extern "system" { - pub fn ScriptBreak( - pwcChars: *const WCHAR, - cChars: c_int, - psa: *const SCRIPT_ANALYSIS, - psla: *mut SCRIPT_LOGATTR, - ) -> HRESULT; - pub fn ScriptCPtoX( - iCP: c_int, - fTrailing: BOOL, - cChars: c_int, - cGlyphs: c_int, - pwLogClust: *const WORD, - psva: *const SCRIPT_VISATTR, - piAdvance: *const c_int, - psa: *const SCRIPT_ANALYSIS, - piX: *mut c_int, - ) -> HRESULT; - pub fn ScriptXtoCP( - iX: c_int, - cChars: c_int, - cGlyphs: c_int, - pwLogClust: *const WORD, - psva: *const SCRIPT_VISATTR, - piAdvance: *const c_int, - psa: *const SCRIPT_ANALYSIS, - piCP: *mut c_int, - piTrailing: *mut c_int, - ) -> HRESULT; - pub fn ScriptGetLogicalWidths( - psa: *const SCRIPT_ANALYSIS, - cChars: c_int, - cGlyphs: c_int, - piGlyphWidth: *const c_int, - pwLogClust: *const WORD, - psva: *const SCRIPT_VISATTR, - piDx: *mut c_int, - ) -> HRESULT; - pub fn ScriptApplyLogicalWidth( - piDx: *const c_int, - cChars: c_int, - cGlyphs: c_int, - pwLogClust: *const WORD, - psva: *const SCRIPT_VISATTR, - piAdvance: *const c_int, - psa: *const SCRIPT_ANALYSIS, - pABC: *mut ABC, - piJustify: *mut c_int, - ) -> HRESULT; -} -pub const SGCM_RTL: DWORD = 0x00000001; -extern "system" { - pub fn ScriptGetCMap( - hdc: HDC, - psc: *mut SCRIPT_CACHE, - pwcInChars: *const WCHAR, - cChars: c_int, - dwFlags: DWORD, - pwOutGlyphs: *mut WORD, - ) -> HRESULT; - pub fn ScriptGetGlyphABCWidth( - hdc: HDC, - psc: *mut SCRIPT_CACHE, - wGlyph: WORD, - pABC: *mut ABC, - ) -> HRESULT; -} -STRUCT!{struct SCRIPT_PROPERTIES { - bit_fields1: DWORD, - bit_fields2: DWORD, -}} -BITFIELD!{SCRIPT_PROPERTIES bit_fields1: DWORD [ - langid set_langid[0..16], - fNumeric set_fNumeric[16..17], - fComplex set_fComplex[17..18], - fNeedsWordBreaking set_fNeedsWordBreaking[18..19], - fNeedsCaretInfo set_fNeedsCaretInfo[19..20], - bCharSet set_bCharSet[20..28], - fControl set_fControl[28..29], - fPrivateUseArea set_fPrivateUseArea[29..30], - fNeedsCharacterJustify set_fNeedsCharacterJustify[30..31], - fInvalidGlyph set_fInvalidGlyph[31..32], -]} -BITFIELD!{SCRIPT_PROPERTIES bit_fields2: DWORD [ - fInvalidLogAttr set_fInvalidLogAttr[0..1], - fCDM set_fCDM[1..2], - fAmbiguousCharSet set_fAmbiguousCharSet[2..3], - fClusterSizeVaries set_fClusterSizeVaries[3..4], - fRejectInvalid set_fRejectInvalid[4..5], -]} -extern "system" { - pub fn ScriptGetProperties( - ppSp: *mut *mut *const SCRIPT_PROPERTIES, - piNumScripts: *mut c_int, - ) -> HRESULT; -} -STRUCT!{struct SCRIPT_FONTPROPERTIES { - cBytes: c_int, - wgBlank: WORD, - wgDefault: WORD, - wgInvalid: WORD, - wgKashida: WORD, - iKashidaWidth: c_int, -}} -extern "system" { - pub fn ScriptGetFontProperties( - hdc: HDC, - psc: *mut SCRIPT_CACHE, - sfp: *mut SCRIPT_FONTPROPERTIES, - ) -> HRESULT; - pub fn ScriptCacheGetHeight( - hdc: HDC, - psc: *mut SCRIPT_CACHE, - tmHeight: *mut c_long, - ) -> HRESULT; -} -pub const SSA_PASSWORD: DWORD = 0x00000001; -pub const SSA_TAB: DWORD = 0x00000002; -pub const SSA_CLIP: DWORD = 0x00000004; -pub const SSA_FIT: DWORD = 0x00000008; -pub const SSA_DZWG: DWORD = 0x00000010; -pub const SSA_FALLBACK: DWORD = 0x00000020; -pub const SSA_BREAK: DWORD = 0x00000040; -pub const SSA_GLYPHS: DWORD = 0x00000080; -pub const SSA_RTL: DWORD = 0x00000100; -pub const SSA_GCP: DWORD = 0x00000200; -pub const SSA_HOTKEY: DWORD = 0x00000400; -pub const SSA_METAFILE: DWORD = 0x00000800; -pub const SSA_LINK: DWORD = 0x00001000; -pub const SSA_HIDEHOTKEY: DWORD = 0x00002000; -pub const SSA_HOTKEYONLY: DWORD = 0x00002400; -pub const SSA_FULLMEASURE: DWORD = 0x04000000; -pub const SSA_LPKANSIFALLBACK: DWORD = 0x08000000; -pub const SSA_PIDX: DWORD = 0x10000000; -pub const SSA_LAYOUTRTL: DWORD = 0x20000000; -pub const SSA_DONTGLYPH: DWORD = 0x40000000; -pub const SSA_NOKASHIDA: DWORD = 0x80000000; -STRUCT!{struct SCRIPT_TABDEF { - cTabStops: c_int, - iScale: c_int, - pTabStops: *mut c_int, - iTabOrigin: c_int, -}} -DECLARE_HANDLE!{SCRIPT_STRING_ANALYSIS, SCRIPT_STRING_ANALYSIS__} -extern "system" { - pub fn ScriptStringAnalyse( - hdc: HDC, - pString: *const c_void, - cString: c_int, - cGlyphs: c_int, - iCharset: c_int, - dwFlags: DWORD, - iReqWidth: c_int, - psControl: *mut SCRIPT_CONTROL, - psState: *mut SCRIPT_STATE, - piDx: *const c_int, - pTabdef: *mut SCRIPT_TABDEF, - pbInClass: *const BYTE, - pssa: *mut SCRIPT_STRING_ANALYSIS, - ) -> HRESULT; - pub fn ScriptStringFree( - pssa: *mut SCRIPT_STRING_ANALYSIS, - ) -> HRESULT; - pub fn ScriptString_pSize( - ssa: SCRIPT_STRING_ANALYSIS, - ) -> *const SIZE; - pub fn ScriptString_pcOutChars( - ssa: SCRIPT_STRING_ANALYSIS, - ) -> *const c_int; - pub fn ScriptString_pLogAttr( - ssa: SCRIPT_STRING_ANALYSIS, - ) -> *const SCRIPT_LOGATTR; - pub fn ScriptStringGetOrder( - ssa: SCRIPT_STRING_ANALYSIS, - puOrder: *mut UINT, - ) -> HRESULT; - pub fn ScriptStringCPtoX( - ssa: SCRIPT_STRING_ANALYSIS, - icp: c_int, - fTrailing: BOOL, - pX: *mut c_int, - ) -> HRESULT; - pub fn ScriptStringXtoCP( - ssa: SCRIPT_STRING_ANALYSIS, - iX: c_int, - piCh: *mut c_int, - piTrailing: *mut c_int, - ) -> HRESULT; - pub fn ScriptStringGetLogicalWidths( - ssa: SCRIPT_STRING_ANALYSIS, - dpiDx: *mut c_int, - ) -> HRESULT; - pub fn ScriptStringValidate( - ssa: SCRIPT_STRING_ANALYSIS, - ) -> HRESULT; - pub fn ScriptStringOut( - ssa: SCRIPT_STRING_ANALYSIS, - iX: c_int, - iY: c_int, - uOptions: UINT, - prc: *const RECT, - iMinSel: c_int, - iMaxSel: c_int, - fDisabled: BOOL, - ) -> HRESULT; -} -pub const SIC_COMPLEX: DWORD = 1; -pub const SIC_ASCIIDIGIT: DWORD = 2; -pub const SIC_NEUTRAL: DWORD = 4; -extern "system" { - pub fn ScriptIsComplex( - pwcInChars: *const WCHAR, - cInChars: c_int, - dwFlags: DWORD, - ) -> HRESULT; -} -STRUCT!{struct SCRIPT_DIGITSUBSTITUTE { - bit_fields1: DWORD, - bit_fields2: DWORD, - dwReserved: DWORD, -}} -BITFIELD!{SCRIPT_DIGITSUBSTITUTE bit_fields1: DWORD [ - NationalDigitLanguage set_NationalDigitLanguage[0..16], - TraditionalDigitLanguage set_TraditionalDigitLanguage[16..32], -]} -BITFIELD!{SCRIPT_DIGITSUBSTITUTE bit_fields2: DWORD [ - DigitSubstitute set_DigitSubstitute[0..8], -]} -extern "system" { - pub fn ScriptRecordDigitSubstitution( - Locale: LCID, - psds: *mut SCRIPT_DIGITSUBSTITUTE, - ) -> HRESULT; -} -pub const SCRIPT_DIGITSUBSTITUTE_CONTEXT: BYTE = 0; -pub const SCRIPT_DIGITSUBSTITUTE_NONE: BYTE = 1; -pub const SCRIPT_DIGITSUBSTITUTE_NATIONAL: BYTE = 2; -pub const SCRIPT_DIGITSUBSTITUTE_TRADITIONAL: BYTE = 3; -extern "system" { - pub fn ScriptApplyDigitSubstitution( - psds: *const SCRIPT_DIGITSUBSTITUTE, - psc: *mut SCRIPT_CONTROL, - pss: *mut SCRIPT_STATE, - ) -> HRESULT; -} -pub type OPENTYPE_TAG = ULONG; -pub const SCRIPT_TAG_UNKNOWN: OPENTYPE_TAG = 0x00000000; -STRUCT!{struct OPENTYPE_FEATURE_RECORD { - tagFeature: OPENTYPE_TAG, - lParameter: LONG, -}} -STRUCT!{struct TEXTRANGE_PROPERTIES { - potfRecords: *mut OPENTYPE_FEATURE_RECORD, - cotfRecords: c_int, -}} -STRUCT!{struct SCRIPT_CHARPROP { - bit_fields: WORD, -}} -BITFIELD!{SCRIPT_CHARPROP bit_fields: WORD [ - fCanGlyphAlone set_fCanGlyphAlone[0..1], - reserved set_reserved[1..16], -]} -STRUCT!{struct SCRIPT_GLYPHPROP { - sva: SCRIPT_VISATTR, - reserved: WORD, -}} -extern "system" { - pub fn ScriptShapeOpenType( - hdc: HDC, - psc: *mut SCRIPT_CACHE, - psa: *mut SCRIPT_ANALYSIS, - tagScript: OPENTYPE_TAG, - tagLangSys: OPENTYPE_TAG, - rcRangeChars: *mut c_int, - rpRangeProperties: *mut *mut TEXTRANGE_PROPERTIES, - cRanges: c_int, - pwcChars: *const WCHAR, - cChars: c_int, - cMaxGlyphs: c_int, - pwLogClust: *mut WORD, - pCharProps: *mut SCRIPT_CHARPROP, - pwOutGlyphs: *mut WORD, - pOutGlyphProps: *mut SCRIPT_GLYPHPROP, - pcGlyphs: *mut c_int, - ) -> HRESULT; - pub fn ScriptPlaceOpenType( - hdc: HDC, - psc: *mut SCRIPT_CACHE, - psa: *mut SCRIPT_ANALYSIS, - tagScript: OPENTYPE_TAG, - tagLangSys: OPENTYPE_TAG, - rcRangeChars: *mut c_int, - rpRangeProperties: *mut *mut TEXTRANGE_PROPERTIES, - cRanges: c_int, - pwcChars: *const WCHAR, - pwLogClust: *mut WORD, - pCharProps: *mut SCRIPT_CHARPROP, - cChars: c_int, - pwGlyphs: *const WORD, - pGlyphProps: *const SCRIPT_GLYPHPROP, - cGlyphs: c_int, - piAdvance: *mut c_int, - pGoffset: *mut GOFFSET, - pABC: *mut ABC, - ) -> HRESULT; - pub fn ScriptItemizeOpenType( - pwcInChars: *const WCHAR, - cInChars: c_int, - cMaxItems: c_int, - psControl: *const SCRIPT_CONTROL, - psState: *const SCRIPT_STATE, - pItems: *mut SCRIPT_ITEM, - pScriptTags: *mut OPENTYPE_TAG, - pcItems: *mut c_int, - ) -> HRESULT; - pub fn ScriptGetFontScriptTags( - hdc: HDC, - psc: *mut SCRIPT_CACHE, - psa: *mut SCRIPT_ANALYSIS, - cMaxTags: c_int, - pScriptTags: *mut OPENTYPE_TAG, - pcTags: *mut c_int, - ) -> HRESULT; - pub fn ScriptGetFontLanguageTags( - hdc: HDC, - psc: *mut SCRIPT_CACHE, - psa: *mut SCRIPT_ANALYSIS, - tagScript: OPENTYPE_TAG, - cMaxTags: c_int, - pLangsysTags: *mut OPENTYPE_TAG, - pcTags: *mut c_int, - ) -> HRESULT; - pub fn ScriptGetFontFeatureTags( - hdc: HDC, - psc: *mut SCRIPT_CACHE, - psa: *mut SCRIPT_ANALYSIS, - tagScript: OPENTYPE_TAG, - tagLangSys: OPENTYPE_TAG, - cMaxTags: c_int, - pFeatureTags: *mut OPENTYPE_TAG, - pcTags: *mut c_int, - ) -> HRESULT; - pub fn ScriptGetFontAlternateGlyphs( - hdc: HDC, - psc: *mut SCRIPT_CACHE, - psa: *mut SCRIPT_ANALYSIS, - tagScript: OPENTYPE_TAG, - tagLangSys: OPENTYPE_TAG, - tagFeature: OPENTYPE_TAG, - wGlyphId: WORD, - cMaxAlternates: c_int, - pAlternateGlyphs: *mut WORD, - pcAlternates: *mut c_int, - ) -> HRESULT; - pub fn ScriptSubstituteSingleGlyph( - hdc: HDC, - psc: *mut SCRIPT_CACHE, - psa: *mut SCRIPT_ANALYSIS, - tagScript: OPENTYPE_TAG, - tagLangSys: OPENTYPE_TAG, - tagFeature: OPENTYPE_TAG, - lParameter: LONG, - wGlyphId: WORD, - pwOutGlyphId: *mut WORD, - ) -> HRESULT; - pub fn ScriptPositionSingleGlyph( - hdc: HDC, - psc: *mut SCRIPT_CACHE, - psa: *mut SCRIPT_ANALYSIS, - tagScript: OPENTYPE_TAG, - tagLangSys: OPENTYPE_TAG, - tagFeature: OPENTYPE_TAG, - lParameter: LONG, - wGlyphId: WORD, - iAdvance: c_int, - GOffset: GOFFSET, - piOutAdvance: *mut c_int, - pOutGoffset: *mut GOFFSET, - ) -> HRESULT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/utilapiset.rs b/vendor/registry-40351f815f426200/winapi/src/um/utilapiset.rs deleted file mode 100644 index 0ef86e359..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/utilapiset.rs +++ /dev/null @@ -1,25 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::{BOOL, DWORD}; -use shared::ntdef::PVOID; -extern "system" { - pub fn EncodePointer( - Ptr: PVOID, - ) -> PVOID; - pub fn DecodePointer( - Ptr: PVOID, - ) -> PVOID; - pub fn EncodeSystemPointer( - Ptr: PVOID, - ) -> PVOID; - pub fn DecodeSystemPointer( - Ptr: PVOID, - ) -> PVOID; - pub fn Beep( - dwFreq: DWORD, - dwDuration: DWORD, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/uxtheme.rs b/vendor/registry-40351f815f426200/winapi/src/um/uxtheme.rs deleted file mode 100644 index 0e046a356..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/uxtheme.rs +++ /dev/null @@ -1,772 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! theming API -use ctypes::{c_float, c_int, c_void}; -use shared::minwindef::{BOOL, BYTE, DWORD, HINSTANCE, HRGN, LPARAM, UINT, ULONG, WORD}; -use shared::windef::{COLORREF, HBITMAP, HBRUSH, HDC, HWND, LPCRECT, LPRECT, POINT, RECT, SIZE}; -use um::commctrl::HIMAGELIST; -use um::wingdi::{BLENDFUNCTION, LOGFONTW, RGBQUAD, TEXTMETRICW}; -use um::winnt::{HANDLE, HRESULT, LONG, LPCWSTR, LPWSTR, PVOID, VOID}; -pub type HTHEME = HANDLE; -//pub const MAX_THEMECOLOR: u32 = 64; -//pub const MAX_THEMESIZE: u32 = 64; -extern "system" { - pub fn BeginPanningFeedback( - hwnd: HWND, - ) -> BOOL; - pub fn UpdatePanningFeedback( - hwnd: HWND, - lTotalOverpanOffsetX: LONG, - lTotalOverpanOffsetY: LONG, - fInInertia: BOOL, - ) -> BOOL; - pub fn EndPanningFeedback( - hwnd: HWND, - fAnimateBack: BOOL, - ) -> BOOL; -} -ENUM!{enum TA_PROPERTY { - TAP_FLAGS = 0, - TAP_TRANSFORMCOUNT = 1, - TAP_STAGGERDELAY = 2, - TAP_STAGGERDELAYCAP = 3, - TAP_STAGGERDELAYFACTOR = 4, - TAP_ZORDER = 5, -}} -ENUM!{enum TA_PROPERTY_FLAG { - TAPF_NONE = 0x0, - TAPF_HASSTAGGER = 0x1, - TAPF_ISRTLAWARE = 0x2, - TAPF_ALLOWCOLLECTION = 0x4, - TAPF_HASBACKGROUND = 0x8, - TAPF_HASPERSPECTIVE = 0x10, -}} -extern "system" { - pub fn GetThemeAnimationProperty( - hTheme: HTHEME, - iStoryboardId: c_int, - iTargetId: c_int, - eProperty: TA_PROPERTY, - pvProperty: *mut VOID, - cbSize: DWORD, - pcbSizeOut: *mut DWORD, - ) -> HRESULT; -} -ENUM!{enum TA_TRANSFORM_TYPE { - TATT_TRANSLATE_2D = 0, - TATT_SCALE_2D = 1, - TATT_OPACITY = 2, - TATT_CLIP = 3, -}} -ENUM!{enum TA_TRANSFORM_FLAG { - TATF_NONE = 0x0, - TATF_TARGETVALUES_USER = 0x1, - TATF_HASINITIALVALUES = 0x2, - TATF_HASORIGINVALUES = 0x4, -}} -STRUCT!{struct TA_TRANSFORM { - eTransformType: TA_TRANSFORM_TYPE, - dwTimingFunctionId: DWORD, - dwStartTime: DWORD, - dwDurationTime: DWORD, - eFlags: TA_TRANSFORM_FLAG, -}} -pub type PTA_TRANSFORM = *mut TA_TRANSFORM; -STRUCT!{struct TA_TRANSFORM_2D { - header: TA_TRANSFORM, - rX: c_float, - rY: c_float, - rInitialX: c_float, - rInitialY: c_float, - rOriginX: c_float, - rOriginY: c_float, -}} -pub type PTA_TRANSFORM_2D = *mut TA_TRANSFORM_2D; -STRUCT!{struct TA_TRANSFORM_OPACITY { - header: TA_TRANSFORM, - rOpacity: c_float, - rInitialOpacity: c_float, -}} -pub type PTA_TRANSFORM_OPACITY = *mut TA_TRANSFORM_OPACITY; -STRUCT!{struct TA_TRANSFORM_CLIP { - header: TA_TRANSFORM, - rLeft: c_float, - rTop: c_float, - rRight: c_float, - rBottom: c_float, - rInitialLeft: c_float, - rInitialTop: c_float, - rInitialRight: c_float, - rInitialBottom: c_float, -}} -pub type PTA_TRANSFORM_CLIP = *mut TA_TRANSFORM_CLIP; -extern "system" { - pub fn GetThemeAnimationTransform( - hTheme: HTHEME, - iStoryboardId: c_int, - iTargetId: c_int, - dwTransformIndex: DWORD, - pTransform: *mut TA_TRANSFORM, - cbSize: DWORD, - pcbSizeOut: *mut DWORD, - ) -> HRESULT; -} -ENUM!{enum TA_TIMINGFUNCTION_TYPE { - TTFT_UNDEFINED = 0, - TTFT_CUBIC_BEZIER = 1, -}} -STRUCT!{struct TA_TIMINGFUNCTION { - eTimingFunctionType: TA_TIMINGFUNCTION_TYPE, -}} -pub type PTA_TIMINGFUNCTION = *mut TA_TIMINGFUNCTION; -STRUCT!{struct TA_CUBIC_BEZIER { - header: TA_TIMINGFUNCTION, - rX0: c_float, - rY0: c_float, - rX1: c_float, - rY1: c_float, -}} -pub type PTA_CUBIC_BEZIER = *mut TA_CUBIC_BEZIER; -extern "system" { - pub fn GetThemeTimingFunction( - hTheme: HTHEME, - iTimingFunctionId: c_int, - pTimingFunction: *mut TA_TIMINGFUNCTION, - cbSize: DWORD, - pcbSizeOut: *mut DWORD, - ) -> HRESULT; - pub fn OpenThemeData( - hwnd: HWND, - pszClassList: LPCWSTR, - ) -> HTHEME; -} -pub const OTD_FORCE_RECT_SIZING: DWORD = 0x00000001; -pub const OTD_NONCLIENT: DWORD = 0x00000002; -pub const OTD_VALIDBITS: DWORD = OTD_FORCE_RECT_SIZING | OTD_NONCLIENT; -extern "system" { - pub fn OpenThemeDataForDpi( - hwnd: HWND, - pszClassList: LPCWSTR, - dpi: UINT, - ) -> HTHEME; - pub fn OpenThemeDataEx( - hwnd: HWND, - pszClassList: LPCWSTR, - dwFlags: DWORD, - ) -> HTHEME; - pub fn CloseThemeData( - hTheme: HTHEME, - ) -> HRESULT; - pub fn DrawThemeBackground( - hTheme: HTHEME, - hdc: HDC, - iPartId: c_int, - iStateId: c_int, - pRect: LPCRECT, - pClipRect: LPCRECT, - ) -> HRESULT; -} -pub const DTBG_CLIPRECT: DWORD = 0x00000001; -pub const DTBG_DRAWSOLID: DWORD = 0x00000002; -pub const DTBG_OMITBORDER: DWORD = 0x00000004; -pub const DTBG_OMITCONTENT: DWORD = 0x00000008; -pub const DTBG_COMPUTINGREGION: DWORD = 0x00000010; -pub const DTBG_MIRRORDC: DWORD = 0x00000020; -pub const DTBG_NOMIRROR: DWORD = 0x00000040; -pub const DTBG_VALIDBITS: DWORD = DTBG_CLIPRECT | DTBG_DRAWSOLID | DTBG_OMITBORDER - | DTBG_OMITCONTENT | DTBG_COMPUTINGREGION | DTBG_MIRRORDC | DTBG_NOMIRROR; -STRUCT!{struct DTBGOPTS { - dwSize: DWORD, - dwFlags: DWORD, - rcClip: RECT, -}} -pub type PDTBGOPTS = *mut DTBGOPTS; -extern "system" { - pub fn DrawThemeBackgroundEx( - hTheme: HTHEME, - hdc: HDC, - iPartId: c_int, - iStateId: c_int, - pRect: LPCRECT, - pOptions: *const DTBGOPTS, - ) -> HRESULT; -} -//pub const DTT_GRAYED: u32 = 0x00000001; -//pub const DTT_FLAGS2VALIDBITS: u32 = DTT_GRAYED; -extern "system" { - pub fn DrawThemeText( - hTheme: HTHEME, - hdc: HDC, - iPartId: c_int, - iStateId: c_int, - pszText: LPCWSTR, - cchText: c_int, - dwTextFlags: DWORD, - dwTextFlags2: DWORD, - pRect: LPCRECT, - ) -> HRESULT; - pub fn GetThemeBackgroundContentRect( - hTheme: HTHEME, - hdc: HDC, - iPartId: c_int, - iStateId: c_int, - pBoundingRect: LPCRECT, - pContentRect: LPRECT, - ) -> HRESULT; - pub fn GetThemeBackgroundExtent( - hTheme: HTHEME, - hdc: HDC, - iPartId: c_int, - iStateId: c_int, - pContentRect: LPCRECT, - pExtentRect: LPRECT, - ) -> HRESULT; - pub fn GetThemeBackgroundRegion( - hTheme: HTHEME, - hdc: HDC, - iPartId: c_int, - iStateId: c_int, - pRect: LPCRECT, - pRegion: *mut HRGN, - ) -> HRESULT; -} -ENUM!{enum THEMESIZE { - TS_MIN = 0, - TS_TRUE = 1, - TS_DRAW = 2, -}} -extern "system" { - pub fn GetThemePartSize( - hTheme: HTHEME, - hdc: HDC, - iPartId: c_int, - iStateId: c_int, - prc: LPCRECT, - eSize: THEMESIZE, - psz: *mut SIZE, - ) -> HRESULT; - pub fn GetThemeTextExtent( - hTheme: HTHEME, - hdc: HDC, - iPartId: c_int, - iStateId: c_int, - pszText: LPCWSTR, - cchCharCount: c_int, - dwTextFlags: DWORD, - pBoundingRect: LPCRECT, - pExtentRect: LPRECT, - ) -> HRESULT; - pub fn GetThemeTextMetrics( - hTheme: HTHEME, - hdc: HDC, - iPartId: c_int, - iStateId: c_int, - ptm: *mut TEXTMETRICW, - ) -> HRESULT; -} -pub const HTTB_BACKGROUNDSEG: DWORD = 0x00000000; -pub const HTTB_FIXEDBORDER: DWORD = 0x00000002; -pub const HTTB_CAPTION: DWORD = 0x00000004; -pub const HTTB_RESIZINGBORDER_LEFT: DWORD = 0x00000010; -pub const HTTB_RESIZINGBORDER_TOP: DWORD = 0x00000020; -pub const HTTB_RESIZINGBORDER_RIGHT: DWORD = 0x00000040; -pub const HTTB_RESIZINGBORDER_BOTTOM: DWORD = 0x00000080; -pub const HTTB_RESIZINGBORDER: DWORD = HTTB_RESIZINGBORDER_LEFT | HTTB_RESIZINGBORDER_TOP - | HTTB_RESIZINGBORDER_RIGHT | HTTB_RESIZINGBORDER_BOTTOM; -pub const HTTB_SIZINGTEMPLATE: DWORD = 0x00000100; -pub const HTTB_SYSTEMSIZINGMARGINS: DWORD = 0x00000200; -extern "system" { - pub fn HitTestThemeBackground( - hTheme: HTHEME, - hdc: HDC, - iPartId: c_int, - iStateId: c_int, - dwOptions: DWORD, - pRect: LPCRECT, - hrgn: HRGN, - ptTest: POINT, - pwHitTestCode: *mut WORD, - ) -> HRESULT; - pub fn DrawThemeEdge( - hTheme: HTHEME, - hdc: HDC, - iPartId: c_int, - iStateId: c_int, - pDestRect: LPCRECT, - uEdge: UINT, - uFlags: UINT, - pContentRect: LPRECT, - ) -> HRESULT; - pub fn DrawThemeIcon( - hTheme: HTHEME, - hdc: HDC, - iPartId: c_int, - iStateId: c_int, - pRect: LPCRECT, - himl: HIMAGELIST, - iImageIndex: c_int, - ) -> HRESULT; - pub fn IsThemePartDefined( - hTheme: HTHEME, - iPartId: c_int, - iStateId: c_int, - ) -> BOOL; - pub fn IsThemeBackgroundPartiallyTransparent( - hTheme: HTHEME, - iPartId: c_int, - iStateId: c_int, - ) -> BOOL; - pub fn GetThemeColor( - hTheme: HTHEME, - iPartId: c_int, - iStateId: c_int, - iPropId: c_int, - pColor: *mut COLORREF, - ) -> HRESULT; - pub fn GetThemeMetric( - hTheme: HTHEME, - hdc: HDC, - iPartId: c_int, - iStateId: c_int, - iPropId: c_int, - piVal: *mut c_int, - ) -> HRESULT; - pub fn GetThemeString( - hTheme: HTHEME, - iPartId: c_int, - iStateId: c_int, - iPropId: c_int, - pszBuff: LPWSTR, - cchMaxBuffChars: c_int, - ) -> HRESULT; - pub fn GetThemeBool( - hTheme: HTHEME, - iPartId: c_int, - iStateId: c_int, - iPropId: c_int, - pfVal: *mut BOOL, - ) -> HRESULT; - pub fn GetThemeInt( - hTheme: HTHEME, - iPartId: c_int, - iStateId: c_int, - iPropId: c_int, - piVal: *mut c_int, - ) -> HRESULT; - pub fn GetThemeEnumValue( - hTheme: HTHEME, - iPartId: c_int, - iStateId: c_int, - iPropId: c_int, - piVal: *mut c_int, - ) -> HRESULT; - pub fn GetThemePosition( - hTheme: HTHEME, - iPartId: c_int, - iStateId: c_int, - iPropId: c_int, - pPoint: *mut POINT, - ) -> HRESULT; - pub fn GetThemeFont( - hTheme: HTHEME, - hdc: HDC, - iPartId: c_int, - iStateId: c_int, - iPropId: c_int, - pFont: *mut LOGFONTW, - ) -> HRESULT; - pub fn GetThemeRect( - hTheme: HTHEME, - iPartId: c_int, - iStateId: c_int, - iPropId: c_int, - pRect: LPRECT, - ) -> HRESULT; -} -STRUCT!{struct MARGINS { - cxLeftWidth: c_int, - cxRightWidth: c_int, - cyTopHeight: c_int, - cyBottomHeight: c_int, -}} -pub type PMARGINS = *mut MARGINS; -extern "system" { - pub fn GetThemeMargins( - hTheme: HTHEME, - hdc: HDC, - iPartId: c_int, - iStateId: c_int, - iPropId: c_int, - prc: LPCRECT, - pMargins: *mut MARGINS, - ) -> HRESULT; -} -pub const MAX_INTLIST_COUNT: usize = 402; -STRUCT!{struct INTLIST { - iValueCount: c_int, - iValues: [c_int; MAX_INTLIST_COUNT], -}} -pub type PINTLIST = *mut INTLIST; -extern "system" { - pub fn GetThemeIntList( - hTheme: HTHEME, - iPartId: c_int, - iStateId: c_int, - iPropId: c_int, - pIntList: *mut INTLIST, - ) -> HRESULT; -} -ENUM!{enum PROPERTYORIGIN { - PO_STATE = 0, - PO_PART = 1, - PO_CLASS = 2, - PO_GLOBAL = 3, - PO_NOTFOUND = 4, -}} -extern "system" { - pub fn GetThemePropertyOrigin( - hTheme: HTHEME, - iPartId: c_int, - iStateId: c_int, - iPropId: c_int, - pOrigin: *mut PROPERTYORIGIN, - ) -> HRESULT; - pub fn SetWindowTheme( - hwnd: HWND, - pszSubAppName: LPCWSTR, - pszSubIdList: LPCWSTR, - ) -> HRESULT; - pub fn GetThemeFilename( - hTheme: HTHEME, - iPartId: c_int, - iStateId: c_int, - iPropId: c_int, - pszThemeFileName: LPWSTR, - cchMaxBuffChars: c_int, - ) -> HRESULT; - pub fn GetThemeSysColor( - hTheme: HTHEME, - iColorId: c_int, - ) -> COLORREF; - pub fn GetThemeSysColorBrush( - hTheme: HTHEME, - iColorId: c_int, - ) -> HBRUSH; - pub fn GetThemeSysBool( - hTheme: HTHEME, - iBoolId: c_int, - ) -> BOOL; - pub fn GetThemeSysSize( - hTheme: HTHEME, - iSizeId: c_int, - ) -> c_int; - pub fn GetThemeSysFont( - hTheme: HTHEME, - iFontId: c_int, - plf: *mut LOGFONTW, - ) -> HRESULT; - pub fn GetThemeSysString( - hTheme: HTHEME, - iStringId: c_int, - pszStringBuff: LPWSTR, - cchMaxStringChars: c_int, - ) -> HRESULT; - pub fn GetThemeSysInt( - hTheme: HTHEME, - iIntId: c_int, - piValue: *mut c_int, - ) -> HRESULT; - pub fn IsThemeActive() -> BOOL; - pub fn IsAppThemed() -> BOOL; - pub fn GetWindowTheme( - hwnd: HWND, - ) -> HTHEME; -} -pub const ETDT_DISABLE: DWORD = 0x00000001; -pub const ETDT_ENABLE: DWORD = 0x00000002; -pub const ETDT_USETABTEXTURE: DWORD = 0x00000004; -pub const ETDT_ENABLETAB: DWORD = ETDT_ENABLE | ETDT_USETABTEXTURE; -pub const ETDT_USEAEROWIZARDTABTEXTURE: DWORD = 0x00000008; -pub const ETDT_ENABLEAEROWIZARDTAB: DWORD = ETDT_ENABLE | ETDT_USEAEROWIZARDTABTEXTURE; -pub const ETDT_VALIDBITS: DWORD = ETDT_DISABLE | ETDT_ENABLE | ETDT_USETABTEXTURE - | ETDT_USEAEROWIZARDTABTEXTURE; -extern "system" { - pub fn EnableThemeDialogTexture( - hwnd: HWND, - dwFlags: DWORD, - ) -> HRESULT; - pub fn IsThemeDialogTextureEnabled( - hwnd: HWND, - ) -> BOOL; -} -pub const STAP_ALLOW_NONCLIENT: DWORD = 1 << 0; -pub const STAP_ALLOW_CONTROLS: DWORD = 1 << 1; -pub const STAP_ALLOW_WEBCONTENT: DWORD = 1 << 2; -pub const STAP_VALIDBITS: DWORD = STAP_ALLOW_NONCLIENT | STAP_ALLOW_CONTROLS - | STAP_ALLOW_WEBCONTENT; -extern "system" { - pub fn GetThemeAppProperties() -> DWORD; - pub fn SetThemeAppProperties( - dwFlags: DWORD, - ); - pub fn GetCurrentThemeName( - pszThemeFileName: LPWSTR, - cchMaxNameChars: c_int, - pszColorBuff: LPWSTR, - cchMaxColorChars: c_int, - pszSizeBuff: LPWSTR, - cchMaxSizeChars: c_int, - ) -> HRESULT; -} -pub const SZ_THDOCPROP_DISPLAYNAME: &'static str = "DisplayName"; -pub const SZ_THDOCPROP_CANONICALNAME: &'static str = "ThemeName"; -pub const SZ_THDOCPROP_TOOLTIP: &'static str = "ToolTip"; -pub const SZ_THDOCPROP_AUTHOR: &'static str = "author"; -extern "system" { - pub fn GetThemeDocumentationProperty( - pszThemeName: LPCWSTR, - pszPropertyName: LPCWSTR, - pszValueBuff: LPWSTR, - cchMaxValChars: c_int, - ) -> HRESULT; - pub fn DrawThemeParentBackground( - hwnd: HWND, - hdc: HDC, - prc: *const RECT, - ) -> HRESULT; - pub fn EnableTheming( - fEnable: BOOL, - ) -> HRESULT; -} -pub const GBF_DIRECT: ULONG = 0x00000001; -pub const GBF_COPY: ULONG = 0x00000002; -pub const GBF_VALIDBITS: ULONG = GBF_DIRECT | GBF_COPY; -pub const DTPB_WINDOWDC: DWORD = 0x00000001; -pub const DTPB_USECTLCOLORSTATIC: DWORD = 0x00000002; -pub const DTPB_USEERASEBKGND: DWORD = 0x00000004; -extern "system" { - pub fn DrawThemeParentBackgroundEx( - hwnd: HWND, - hdc: HDC, - dwFlags: DWORD, - prc: *const RECT, - ) -> HRESULT; -} -ENUM!{enum WINDOWTHEMEATTRIBUTETYPE { - WTA_NONCLIENT = 1, -}} -STRUCT!{struct WTA_OPTIONS { - dwFlags: DWORD, - dwMask: DWORD, -}} -pub type PWTA_OPTIONS = *mut WTA_OPTIONS; -pub const WTNCA_NODRAWCAPTION: DWORD = 0x00000001; -pub const WTNCA_NODRAWICON: DWORD = 0x00000002; -pub const WTNCA_NOSYSMENU: DWORD = 0x00000004; -pub const WTNCA_NOMIRRORHELP: DWORD = 0x00000008; -pub const WTNCA_VALIDBITS: DWORD = WTNCA_NODRAWCAPTION | WTNCA_NODRAWICON | WTNCA_NOSYSMENU - | WTNCA_NOMIRRORHELP; -extern "system" { - pub fn SetWindowThemeAttribute( - hwnd: HWND, - eAttribute: WINDOWTHEMEATTRIBUTETYPE, - pvAttribute: PVOID, - cbAttribute: DWORD, - ) -> HRESULT; -} -#[inline] -pub unsafe fn SetWindowThemeNonClientAttributes( - hwnd: HWND, - dwMask: DWORD, - dwAttributes: DWORD, -) -> HRESULT { - use core::mem::{size_of, zeroed}; - let mut wta: WTA_OPTIONS = zeroed(); - wta.dwFlags = dwAttributes; - wta.dwMask = dwMask; - SetWindowThemeAttribute( - hwnd, - WTA_NONCLIENT, - &mut wta as *mut WTA_OPTIONS as *mut c_void, - size_of::() as u32, - ) -} -FN!{stdcall DTT_CALLBACK_PROC( - hdc: HDC, - pszText: LPWSTR, - cchText: c_int, - prc: LPRECT, - dwFlags: UINT, - lParam: LPARAM, -) -> c_int} -pub const DTT_TEXTCOLOR: DWORD = 1 << 0; -pub const DTT_BORDERCOLOR: DWORD = 1 << 1; -pub const DTT_SHADOWCOLOR: DWORD = 1 << 2; -pub const DTT_SHADOWTYPE: DWORD = 1 << 3; -pub const DTT_SHADOWOFFSET: DWORD = 1 << 4; -pub const DTT_BORDERSIZE: DWORD = 1 << 5; -pub const DTT_FONTPROP: DWORD = 1 << 6; -pub const DTT_COLORPROP: DWORD = 1 << 7; -pub const DTT_STATEID: DWORD = 1 << 8; -pub const DTT_CALCRECT: DWORD = 1 << 9; -pub const DTT_APPLYOVERLAY: DWORD = 1 << 10; -pub const DTT_GLOWSIZE: DWORD = 1 << 11; -pub const DTT_CALLBACK: DWORD = 1 << 12; -pub const DTT_COMPOSITED: DWORD = 1 << 13; -pub const DTT_VALIDBITS: DWORD = DTT_TEXTCOLOR | DTT_BORDERCOLOR | DTT_SHADOWCOLOR - | DTT_SHADOWTYPE | DTT_SHADOWOFFSET | DTT_BORDERSIZE | DTT_FONTPROP | DTT_COLORPROP - | DTT_STATEID | DTT_CALCRECT | DTT_APPLYOVERLAY | DTT_GLOWSIZE | DTT_COMPOSITED; -STRUCT!{struct DTTOPTS { - dwSize: DWORD, - dwFlags: DWORD, - crText: COLORREF, - crBorder: COLORREF, - crShadow: COLORREF, - iTextShadowType: c_int, - ptShadowOffset: POINT, - iBorderSize: c_int, - iFontPropId: c_int, - iColorPropId: c_int, - iStateId: c_int, - fApplyOverlay: BOOL, - iGlowSize: c_int, - pfnDrawTextCallback: DTT_CALLBACK_PROC, - lParam: LPARAM, -}} -pub type PDTTOPTS = *mut DTTOPTS; -extern "system" { - pub fn DrawThemeTextEx( - hTheme: HTHEME, - hdc: HDC, - iPartId: c_int, - iStateId: c_int, - pszText: LPCWSTR, - cchText: c_int, - dwTextFlags: DWORD, - pRect: LPRECT, - pOptions: *const DTTOPTS, - ) -> HRESULT; - pub fn GetThemeBitmap( - hTheme: HTHEME, - iPartId: c_int, - iStateId: c_int, - iPropId: c_int, - dwFlags: ULONG, - phBitmap: *mut HBITMAP, - ) -> HRESULT; - pub fn GetThemeStream( - hTheme: HTHEME, - iPartId: c_int, - iStateId: c_int, - iPropId: c_int, - ppvStream: *mut *mut VOID, - pcbStream: *mut DWORD, - hInst: HINSTANCE, - ) -> HRESULT; - pub fn BufferedPaintInit() -> HRESULT; - pub fn BufferedPaintUnInit() -> HRESULT; -} -pub type HPAINTBUFFER = HANDLE; -ENUM!{enum BP_BUFFERFORMAT { - BPBF_COMPATIBLEBITMAP = 0, - BPBF_DIB = 1, - BPBF_TOPDOWNDIB = 2, - BPBF_TOPDOWNMONODIB = 3, -}} -pub const BPBF_COMPOSITED: BP_BUFFERFORMAT = BPBF_TOPDOWNDIB; -ENUM!{enum BP_ANIMATIONSTYLE { - BPAS_NONE = 0, - BPAS_LINEAR = 1, - BPAS_CUBIC = 2, - BPAS_SINE = 3, -}} -STRUCT!{struct BP_ANIMATIONPARAMS { - cbSize: DWORD, - dwFlags: DWORD, - style: BP_ANIMATIONSTYLE, - dwDuration: DWORD, -}} -pub type PBP_ANIMATIONPARAMS = *mut BP_ANIMATIONPARAMS; -pub const BPPF_ERASE: DWORD = 0x0001; -pub const BPPF_NOCLIP: DWORD = 0x0002; -pub const BPPF_NONCLIENT: DWORD = 0x0004; -STRUCT!{struct BP_PAINTPARAMS { - cbSize: DWORD, - dwFlags: DWORD, - prcExclude: *const RECT, - pBlendFunction: *const BLENDFUNCTION, -}} -pub type PBP_PAINTPARAMS = *mut BP_PAINTPARAMS; -extern "system" { - pub fn BeginBufferedPaint( - hdcTarget: HDC, - prcTarget: *const RECT, - dwFormat: BP_BUFFERFORMAT, - pPaintParams: *mut BP_PAINTPARAMS, - phdc: *mut HDC, - ) -> HPAINTBUFFER; - pub fn EndBufferedPaint( - hBufferedPaint: HPAINTBUFFER, - fUpdateTarget: BOOL, - ) -> HRESULT; - pub fn GetBufferedPaintTargetRect( - hBufferedPaint: HPAINTBUFFER, - prc: *mut RECT, - ) -> HRESULT; - pub fn GetBufferedPaintTargetDC( - hBufferedPaint: HPAINTBUFFER, - ) -> HDC; - pub fn GetBufferedPaintDC( - hBufferedPaint: HPAINTBUFFER, - ) -> HDC; - pub fn GetBufferedPaintBits( - hBufferedPaint: HPAINTBUFFER, - ppbBuffer: *mut *mut RGBQUAD, - pcxRow: *mut c_int, - ) -> HRESULT; - pub fn BufferedPaintClear( - hBufferedPaint: HPAINTBUFFER, - prc: *const RECT, - ) -> HRESULT; - pub fn BufferedPaintSetAlpha( - hBufferedPaint: HPAINTBUFFER, - prc: *const RECT, - alpha: BYTE, - ) -> HRESULT; - pub fn BufferedPaintStopAllAnimations( - hwnd: HWND, - ) -> HRESULT; -} -pub type HANIMATIONBUFFER = HANDLE; -extern "system" { - pub fn BeginBufferedAnimation( - hwnd: HWND, - hdcTarget: HDC, - prcTarget: *const RECT, - dwFormat: BP_BUFFERFORMAT, - pPaintParams: *mut BP_PAINTPARAMS, - pAnimationParams: *mut BP_ANIMATIONPARAMS, - phdcFrom: *mut HDC, - phdcTo: *mut HDC, - ) -> HANIMATIONBUFFER; - pub fn EndBufferedAnimation( - hbpAnimation: HANIMATIONBUFFER, - fUpdateTarget: BOOL, - ) -> HRESULT; - pub fn BufferedPaintRenderAnimation( - hwnd: HWND, - hdcTarget: HDC, - ) -> BOOL; - pub fn IsCompositionActive() -> BOOL; - pub fn GetThemeTransitionDuration( - hTheme: HTHEME, - iPartId: c_int, - iStateIdFrom: c_int, - iStateIdTo: c_int, - iPropId: c_int, - pdwDuration: *mut DWORD, - ) -> HRESULT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/vsbackup.rs b/vendor/registry-40351f815f426200/winapi/src/um/vsbackup.rs deleted file mode 100644 index 0a7f2602c..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/vsbackup.rs +++ /dev/null @@ -1,520 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Declaration of backup interfaces. -use ctypes::c_void; -use shared::guiddef::IID; -use shared::minwindef::{BOOL, BYTE, DWORD, UINT}; -use shared::wtypes::BSTR; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::vss::{ - IVssAsync, IVssEnumObject, VSS_BACKUP_TYPE, VSS_ID, VSS_OBJECT_TYPE, VSS_PWSZ, - VSS_RESTORE_TYPE, VSS_ROLLFORWARD_TYPE, VSS_SNAPSHOT_PROP, VSS_WRITER_STATE -}; -use um::vswriter::{ - IVssWMDependency, IVssWMFiledesc, IVssWriterComponentsVtbl, VSS_COMPONENT_TYPE, - VSS_FILE_RESTORE_STATUS, VSS_RESTOREMETHOD_ENUM, VSS_SOURCE_TYPE, VSS_USAGE_TYPE, - VSS_WRITERRESTORE_ENUM -}; -use um::winnt::{HRESULT, LONG, LPCWSTR}; -DEFINE_GUID!{IID_IVssExamineWriterMetadata, - 0x902fcf7f, 0xb7fd, 0x42f8, 0x81, 0xf1, 0xb2, 0xe4, 0x00, 0xb1, 0xe5, 0xbd} -DEFINE_GUID!{IID_IVssExamineWriterMetadataEx, - 0x0c0e5ec0, 0xca44, 0x472b, 0xb7, 0x02, 0xe6, 0x52, 0xdb, 0x1c, 0x04, 0x51} -DEFINE_GUID!{IID_IVssBackupComponents, - 0x665c1d5f, 0xc218, 0x414d, 0xa0, 0x5d, 0x7f, 0xef, 0x5f, 0x9d, 0x5c, 0x86} -DEFINE_GUID!{IID_IVssBackupComponentsEx, - 0x963f03ad, 0x9e4c, 0x4a34, 0xac, 0x15, 0xe4, 0xb6, 0x17, 0x4e, 0x50, 0x36} -STRUCT!{struct VSS_COMPONENTINFO { - type_: VSS_COMPONENT_TYPE, // type is a keyword in rust - bstrLogicalPath: BSTR, - bstrComponentName: BSTR, - bstrCaption: BSTR, - pbIcon: *mut BYTE, - cbIcon: UINT, - bRestoreMetadata: bool, - bNotifyOnBackupComplete: bool, - bSelectable: bool, - bSelectableForRestore: bool, - dwComponentFlags: DWORD, - cFileCount: UINT, - cDatabases: UINT, - cLogFiles: UINT, - cDependencies: UINT, -}} -pub type PVSSCOMPONENTINFO = *const VSS_COMPONENTINFO; -RIDL!{#[uuid(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)] -interface IVssWMComponent(IVssWMComponentVtbl): IUnknown(IUnknownVtbl) { - fn GetComponentInfo( - ppInfo: *mut PVSSCOMPONENTINFO, - ) -> HRESULT, - fn FreeComponentInfo( - pInfo: PVSSCOMPONENTINFO, - ) -> HRESULT, - fn GetFile( - iFile: UINT, - ppFiledesc: *mut *mut IVssWMFiledesc, - ) -> HRESULT, - fn GetDatabaseFile( - iDBFile: UINT, - ppFiledesc: *mut *mut IVssWMFiledesc, - ) -> HRESULT, - fn GetDatabaseLogFile( - iDbLogFile: UINT, - ppFiledesc: *mut *mut IVssWMFiledesc, - ) -> HRESULT, - fn GetDependency( - iDependency: UINT, - ppDependency: *mut *mut IVssWMDependency, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x902fcf7f, 0xb7fd, 0x42f8, 0x81, 0xf1, 0xb2, 0xe4, 0x00, 0xb1, 0xe5, 0xbd)] -interface IVssExamineWriterMetadata(IVssExamineWriterMetadataVtbl): IUnknown(IUnknownVtbl) { - fn GetIdentity( - pidInstance: *mut VSS_ID, - pidWriter: *mut VSS_ID, - pbstrWriterName: *mut BSTR, - pUsage: *mut VSS_USAGE_TYPE, - pSource: *mut VSS_SOURCE_TYPE, - ) -> HRESULT, - fn GetFileCounts( - pcIncludeFiles: *mut UINT, - pcExcludeFiles: *mut UINT, - pcComponents: *mut UINT, - ) -> HRESULT, - fn GetIncludeFile( - iFile: UINT, - ppFiledesc: *mut *mut IVssWMFiledesc, - ) -> HRESULT, - fn GetExcludeFile( - iFile: UINT, - ppFiledesc: *mut *mut IVssWMFiledesc, - ) -> HRESULT, - fn GetComponent( - iComponent: UINT, - ppComponent: *mut *mut IVssWMComponent, - ) -> HRESULT, - fn GetRestoreMethod( - pMethod: *mut VSS_RESTOREMETHOD_ENUM, - pbstrService: *mut BSTR, - pbstrUserProcedure: *mut BSTR, - pwriterRestore: *mut VSS_WRITERRESTORE_ENUM, - pbRebootRequired: *mut bool, - pcMappings: *mut UINT, - ) -> HRESULT, - fn GetAlternateLocationMapping( - iMapping: UINT, - ppFiledesc: *mut *mut IVssWMFiledesc, - ) -> HRESULT, - fn GetBackupSchema( - pdwSchemaMask: *mut DWORD, - ) -> HRESULT, - fn GetDocument( - pDoc: *mut c_void, - ) -> HRESULT, //TODO IXMLDOMDocument, - fn SaveAsXML( - pbstrXML: *mut BSTR, - ) -> HRESULT, - fn LoadFromXML( - pbstrXML: *mut BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x0c0e5ec0, 0xca44, 0x472b, 0xb7, 0x02, 0xe6, 0x52, 0xdb, 0x1c, 0x04, 0x51)] -interface IVssExamineWriterMetadataEx(IVssExamineWriterMetadataExVtbl): - IVssExamineWriterMetadata(IVssExamineWriterMetadataVtbl) { - fn GetIdentityEx( - pidInstance: *mut VSS_ID, - pidWriter: *mut VSS_ID, - pbstrWriterName: *mut BSTR, - pbstrInstanceName: *mut BSTR, - pUsage: *mut VSS_USAGE_TYPE, - pSource: *mut VSS_SOURCE_TYPE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xce115780, 0xa611, 0x431b, 0xb5, 0x7f, 0xc3, 0x83, 0x03, 0xab, 0x6a, 0xee)] -interface IVssExamineWriterMetadataEx2(IVssExamineWriterMetadataEx2Vtbl): - IVssExamineWriterMetadataEx(IVssExamineWriterMetadataExVtbl) { - fn GetVersion( - pdwMajorVersion: *mut DWORD, - pdwMinorVersion: *mut DWORD, - ) -> HRESULT, - fn GetExcludeFromSnapshotCount( - pcExcludedFromSnapshot: *mut UINT, - ) -> HRESULT, - fn GetExcludeFromSnapshotFile( - iFile: UINT, - ppFiledesc: *mut *mut IVssWMFiledesc, - ) -> HRESULT, -}} -#[repr(C)] -pub struct IVssWriterComponentsExt { - pub lpVtbl: *const IVssWriterComponentsExtVtbl, -} -#[repr(C)] -pub struct IVssWriterComponentsExtVtbl { - pub parent1: IVssWriterComponentsVtbl, - pub parent2: IUnknownVtbl, -} -RIDL!{#[uuid(0x665c1d5f, 0xc218, 0x414d, 0xa0, 0x5d, 0x7f, 0xef, 0x5f, 0x9d, 0x5c, 0x86)] -interface IVssBackupComponents(IVssBackupComponentsVtbl): IUnknown(IUnknownVtbl) { - fn GetWriterComponentsCount( - pcComponents: *mut UINT, - ) -> HRESULT, - fn GetWriterComponents( - iWriter: UINT, - ppWriter: *mut *mut IVssWriterComponentsExt, - ) -> HRESULT, - fn InitializeForBackup( - bstrXML: BSTR, - ) -> HRESULT, - fn SetBackupState( - bSelectComponents: bool, - bBackupBootableSystemState: bool, - backupType: VSS_BACKUP_TYPE, - bPartialFileSupport: bool, - ) -> HRESULT, - fn InitializeForRestore( - bstrXML: BSTR, - ) -> HRESULT, - fn SetRestoreState( - restoreType: VSS_RESTORE_TYPE, - ) -> HRESULT, - fn GatherWriterMetadata( - pAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn GetWriterMetadataCount( - pcWriters: *mut UINT, - ) -> HRESULT, - fn GetWriterMetadata( - iWriter: UINT, - pidInstance: *mut VSS_ID, - ppMetadata: *mut *mut IVssExamineWriterMetadata, - ) -> HRESULT, - fn FreeWriterMetadata() -> HRESULT, - fn AddComponent( - instanceId: VSS_ID, - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - ) -> HRESULT, - fn PrepareForBackup( - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn AbortBackup() -> HRESULT, - fn GatherWriterStatus( - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn GetWriterStatusCount( - pcWriters: *mut UINT, - ) -> HRESULT, - fn FreeWriterStatus() -> HRESULT, - fn GetWriterStatus( - iWriter: UINT, - pidInstance: *mut VSS_ID, - pidWriter: *mut VSS_ID, - pbstrWriter: *mut BSTR, - pnStatus: *mut VSS_WRITER_STATE, - phResultFailure: *mut HRESULT, - ) -> HRESULT, - fn SetBackupSucceeded( - instanceId: VSS_ID, - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - bSucceded: bool, - ) -> HRESULT, - fn SetBackupOptions( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - wszBackupOptions: LPCWSTR, - ) -> HRESULT, - fn SetSelectedForRestore( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - bSelectedForRestore: bool, - ) -> HRESULT, - fn SetRestoreOptions( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - wszRestoreOptions: LPCWSTR, - ) -> HRESULT, - fn SetAdditionalRestores( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - bAdditionalRestores: bool, - ) -> HRESULT, - fn SetPreviousBackupStamp( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - wszPreviousBackupStamp: LPCWSTR, - ) -> HRESULT, - fn SaveAsXML( - pbstrXML: *mut BSTR, - ) -> HRESULT, - fn BackupComplete( - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn AddAlternativeLocationMapping( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - wszPath: LPCWSTR, - wszFilespec: LPCWSTR, - bRecursive: bool, - wszDestination: LPCWSTR, - ) -> HRESULT, - fn AddRestoreSubcomponent( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - wszSubComponentLogicalPath: LPCWSTR, - wszSubComponentName: LPCWSTR, - bRepair: bool, - ) -> HRESULT, - fn SetFileRestoreStatus( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - status: VSS_FILE_RESTORE_STATUS, - ) -> HRESULT, - fn AddNewTarget( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - wszPath: LPCWSTR, - wszFileName: LPCWSTR, - bRecursive: bool, - wszAlternatePath: LPCWSTR, - ) -> HRESULT, - fn SetRangesFilePath( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - iPartialFile: UINT, - wszRangesFile: LPCWSTR, - ) -> HRESULT, - fn PreRestore( - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn PostRestore( - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn SetContext( - lContext: LONG, - ) -> HRESULT, - fn StartSnapshotSet( - pSnapshotSetId: *mut VSS_ID, - ) -> HRESULT, - fn AddToSnapshotSet( - pwszVolumeName: VSS_PWSZ, - ProviderId: VSS_ID, - pidSnapshot: *mut VSS_ID, - ) -> HRESULT, - fn DoSnapshotSet( - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn DeleteSnapshots( - SourceObjectId: VSS_ID, - eSourceObjectType: VSS_OBJECT_TYPE, - bForceDelete: BOOL, - plDeletedSnapshots: *mut LONG, - pNondeletedSnapshotID: *mut VSS_ID, - ) -> HRESULT, - fn ImportSnapshots( - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn BreakSnapshotSet( - SnapshotSetId: VSS_ID, - ) -> HRESULT, - fn GetSnapshotProperties( - SnapshotId: VSS_ID, - pProp: *mut VSS_SNAPSHOT_PROP, - ) -> HRESULT, - fn Query( - QueriedObjectId: VSS_ID, - eQueriedObjectType: VSS_OBJECT_TYPE, - eReturnedObjectsType: VSS_OBJECT_TYPE, - ppEnum: *mut *mut IVssEnumObject, - ) -> HRESULT, - fn IsVolumeSupported( - ProviderId: VSS_ID, - pwszVolumeName: VSS_PWSZ, - pbSupportedByThisProvider: *mut BOOL, - ) -> HRESULT, - fn DisableWriterClasses( - rgWriterClassId: *const VSS_ID, - cClassId: UINT, - ) -> HRESULT, - fn EnableWriterClasses( - rgWriterClassId: *const VSS_ID, - cClassId: UINT, - ) -> HRESULT, - fn DisableWriterInstances( - rgWriterInstanceId: *const VSS_ID, - cInstanceId: UINT, - ) -> HRESULT, - fn ExposeSnapshot( - SnapshotId: VSS_ID, - wszPathFromRoot: VSS_PWSZ, - lAttributes: LONG, - wszExpose: VSS_PWSZ, - pwszExposed: VSS_PWSZ, - ) -> HRESULT, - fn RevertToSnapshot( - SnapshotId: VSS_ID, - bForceDismount: BOOL, - ) -> HRESULT, - fn QueryRevertStatus( - pwszVolume: VSS_PWSZ, - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x963f03ad, 0x9e4c, 0x4a34, 0xac, 0x15, 0xe4, 0xb6, 0x17, 0x4e, 0x50, 0x36)] -interface IVssBackupComponentsEx(IVssBackupComponentsExVtbl): - IVssBackupComponents(IVssBackupComponentsVtbl) { - fn GetWriterMetadataEx( - iWriter: UINT, - pidInstance: *mut VSS_ID, - ppMetadata: *mut *mut IVssExamineWriterMetadataEx, - ) -> HRESULT, - fn SetSelectedForRestoreEx( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - bSelectedForRestore: bool, - instanceId: VSS_ID, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xacfe2b3a, 0x22c9, 0x4ef8, 0xbd, 0x03, 0x2f, 0x9c, 0xa2, 0x30, 0x08, 0x4e)] -interface IVssBackupComponentsEx2(IVssBackupComponentsEx2Vtbl): - IVssBackupComponentsEx(IVssBackupComponentsExVtbl) { - fn UnexposeSnapshot( - snapshotId: VSS_ID, - ) -> HRESULT, - fn SetAuthoritativeRestore( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - bAuth: bool, - ) -> HRESULT, - fn SetRollForward( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - rollType: VSS_ROLLFORWARD_TYPE, - wszRollForwardPoint: LPCWSTR, - ) -> HRESULT, - fn SetRestoreName( - writerId: VSS_ID, - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - wszRestoreName: LPCWSTR, - ) -> HRESULT, - fn BreakSnapshotSetEx( - SnapshotSetID: VSS_ID, - dwBreakFlags: DWORD, - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn PreFastRecovery( - SnapshotSetID: VSS_ID, - dwPreFastRecoveryFlags: DWORD, - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn FastRecovery( - SnapshotSetID: VSS_ID, - dwFastRecoveryFlags: DWORD, - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xc191bfbc, 0xb602, 0x4675, 0x8b, 0xd1, 0x67, 0xd6, 0x42, 0xf5, 0x29, 0xd5)] -interface IVssBackupComponentsEx3(IVssBackupComponentsEx3Vtbl): - IVssBackupComponentsEx2(IVssBackupComponentsEx2Vtbl) { - fn GetWriterStatusEx( - iWriter: UINT, - pidInstance: *mut VSS_ID, - pidWriter: *mut VSS_ID, - pbstrWriter: *mut BSTR, - pnStatus: *mut VSS_WRITER_STATE, - phrFailureWriter: *mut HRESULT, - phrApplication: *mut HRESULT, - pbstrApplicationMessage: *mut BSTR, - ) -> HRESULT, - fn AddSnapshotToRecoverySet( - snapshotId: VSS_ID, - dwFlags: DWORD, - pwszDestinationVolume: VSS_PWSZ, - ) -> HRESULT, - fn RecoverSet( - dwFlags: DWORD, - ppAsync: *mut *mut IVssAsync, - ) -> HRESULT, - fn GetSessionId( - idSession: *mut VSS_ID, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xf434c2fd, 0xb553, 0x4961, 0xa9, 0xf9, 0xa8, 0xe9, 0x0b, 0x67, 0x3e, 0x53)] -interface IVssBackupComponentsEx4(IVssBackupComponentsEx4Vtbl): - IVssBackupComponentsEx3(IVssBackupComponentsEx3Vtbl) { - fn GetRootAndLogicalPrefixPaths( - pwszFilePath: VSS_PWSZ, - ppwszRootPath: *mut VSS_PWSZ, - ppwszLogicalPrefix: *mut VSS_PWSZ, - bNormalizeFQDNforRootPath: BOOL, - ) -> HRESULT, -}} -pub const VSS_SW_BOOTABLE_STATE: DWORD = 1; -extern "system" { - #[link_name="CreateVssBackupComponentsInternal"] - pub fn CreateVssBackupComponents( - ppBackup: *mut *mut IVssBackupComponents, - ) -> HRESULT; - #[link_name="CreateVssExamineWriterMetadataInternal"] - pub fn CreateVssExamineWriterMetadata( - bstrXML: BSTR, - ppMetadata: *mut *mut IVssExamineWriterMetadata, - ) -> HRESULT; - #[link_name="IsVolumeSnapshottedInternal"] - pub fn IsVolumeSnapshotted( - pwszVolumeName: VSS_PWSZ, - pbSnapshotsPresent: *mut BOOL, - plSnapshotCapability: *mut LONG, - ) -> HRESULT; - #[link_name="VssFreeSnapshotPropertiesInternal"] - pub fn VssFreeSnapshotProperties( - pProp: *mut VSS_SNAPSHOT_PROP, - ); - #[link_name="GetProviderMgmtInterfaceInternal"] - pub fn GetProviderMgmtInterface( - ProviderId: VSS_ID, - InterfaceId: IID, - ppItf: *mut *mut IUnknown, - ) -> HRESULT; - #[link_name="ShouldBlockRevertInternal"] - pub fn ShouldBlockRevert( - wszVolumeName: LPCWSTR, - pbBlock: *mut bool, - ) -> HRESULT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/vss.rs b/vendor/registry-40351f815f426200/winapi/src/um/vss.rs deleted file mode 100644 index 7038f0376..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/vss.rs +++ /dev/null @@ -1,284 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! VSS header file -use shared::guiddef::{CLSID, GUID}; -use shared::minwindef::{DWORD, INT, ULONG}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HRESULT, LONG, LONGLONG, WCHAR}; -ENUM!{enum VSS_OBJECT_TYPE { - VSS_OBJECT_UNKNOWN = 0, - VSS_OBJECT_NONE = 1, - VSS_OBJECT_SNAPSHOT_SET = 2, - VSS_OBJECT_SNAPSHOT = 3, - VSS_OBJECT_PROVIDER = 4, - VSS_OBJECT_TYPE_COUNT = 5, -}} -pub type PVSS_OBJECT_TYPE = *mut VSS_OBJECT_TYPE; -ENUM!{enum VSS_SNAPSHOT_STATE { - VSS_SS_UNKNOWN = 0x00, - VSS_SS_PREPARING = 0x01, - VSS_SS_PROCESSING_PREPARE = 0x02, - VSS_SS_PREPARED = 0x03, - VSS_SS_PROCESSING_PRECOMMIT = 0x04, - VSS_SS_PRECOMMITTED = 0x05, - VSS_SS_PROCESSING_COMMIT = 0x06, - VSS_SS_COMMITTED = 0x07, - VSS_SS_PROCESSING_POSTCOMMIT = 0x08, - VSS_SS_PROCESSING_PREFINALCOMMIT = 0x09, - VSS_SS_PREFINALCOMMITTED = 0x0a, - VSS_SS_PROCESSING_POSTFINALCOMMIT = 0x0b, - VSS_SS_CREATED = 0x0c, - VSS_SS_ABORTED = 0x0d, - VSS_SS_DELETED = 0x0e, - VSS_SS_POSTCOMMITTED = 0x0f, - VSS_SS_COUNT = 0x10, -}} -pub type PVSS_SNAPSHOT_STATE = *mut VSS_SNAPSHOT_STATE; -ENUM!{enum VSS_VOLUME_SNAPSHOT_ATTRIBUTES { - VSS_VOLSNAP_ATTR_PERSISTENT = 0x00000001, - VSS_VOLSNAP_ATTR_NO_AUTORECOVERY = 0x00000002, - VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE = 0x00000004, - VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE = 0x00000008, - VSS_VOLSNAP_ATTR_NO_WRITERS = 0x00000010, - VSS_VOLSNAP_ATTR_TRANSPORTABLE = 0x00000020, - VSS_VOLSNAP_ATTR_NOT_SURFACED = 0x00000040, - VSS_VOLSNAP_ATTR_NOT_TRANSACTED = 0x00000080, - VSS_VOLSNAP_ATTR_HARDWARE_ASSISTED = 0x00010000, - VSS_VOLSNAP_ATTR_DIFFERENTIAL = 0x00020000, - VSS_VOLSNAP_ATTR_PLEX = 0x00040000, - VSS_VOLSNAP_ATTR_IMPORTED = 0x00080000, - VSS_VOLSNAP_ATTR_EXPOSED_LOCALLY = 0x00100000, - VSS_VOLSNAP_ATTR_EXPOSED_REMOTELY = 0x00200000, - VSS_VOLSNAP_ATTR_AUTORECOVER = 0x00400000, - VSS_VOLSNAP_ATTR_ROLLBACK_RECOVERY = 0x00800000, - VSS_VOLSNAP_ATTR_DELAYED_POSTSNAPSHOT = 0x01000000, - VSS_VOLSNAP_ATTR_TXF_RECOVERY = 0x02000000, - VSS_VOLSNAP_ATTR_FILE_SHARE = 0x04000000, -}} -pub type PVSS_VOLUME_SNAPSHOT_ATTRIBUTES = *mut VSS_VOLUME_SNAPSHOT_ATTRIBUTES; -ENUM!{enum VSS_SNAPSHOT_CONTEXT { - VSS_CTX_BACKUP = 0, - VSS_CTX_FILE_SHARE_BACKUP = VSS_VOLSNAP_ATTR_NO_WRITERS, - VSS_CTX_NAS_ROLLBACK = VSS_VOLSNAP_ATTR_PERSISTENT - | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE | VSS_VOLSNAP_ATTR_NO_WRITERS, - VSS_CTX_APP_ROLLBACK = VSS_VOLSNAP_ATTR_PERSISTENT - | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE, - VSS_CTX_CLIENT_ACCESSIBLE = VSS_VOLSNAP_ATTR_PERSISTENT - | VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE - | VSS_VOLSNAP_ATTR_NO_WRITERS, - VSS_CTX_CLIENT_ACCESSIBLE_WRITERS = VSS_VOLSNAP_ATTR_PERSISTENT - | VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE, - VSS_CTX_ALL = 0xffffffff, -}} -pub type PVSS_SNAPSHOT_CONTEXT = *mut VSS_SNAPSHOT_CONTEXT; -ENUM!{enum VSS_PROVIDER_CAPABILITIES { - VSS_PRV_CAPABILITY_LEGACY = 0x1, - VSS_PRV_CAPABILITY_COMPLIANT = 0x2, - VSS_PRV_CAPABILITY_LUN_REPOINT = 0x4, - VSS_PRV_CAPABILITY_LUN_RESYNC = 0x8, - VSS_PRV_CAPABILITY_OFFLINE_CREATION = 0x10, - VSS_PRV_CAPABILITY_MULTIPLE_IMPORT = 0x20, - VSS_PRV_CAPABILITY_RECYCLING = 0x40, - VSS_PRV_CAPABILITY_PLEX = 0x80, - VSS_PRV_CAPABILITY_DIFFERENTIAL = 0x100, - VSS_PRV_CAPABILITY_CLUSTERED = 0x200, -}} -pub type PVSS_PROVIDER_CAPABILITIES = *mut VSS_PROVIDER_CAPABILITIES; -ENUM!{enum VSS_HARDWARE_OPTIONS { - VSS_BREAKEX_FLAG_MASK_LUNS = 0x1, - VSS_BREAKEX_FLAG_MAKE_READ_WRITE = 0x2, - VSS_BREAKEX_FLAG_REVERT_IDENTITY_ALL = 0x4, - VSS_BREAKEX_FLAG_REVERT_IDENTITY_NONE = 0x8, - VSS_ONLUNSTATECHANGE_NOTIFY_READ_WRITE = 0x100, - VSS_ONLUNSTATECHANGE_NOTIFY_LUN_PRE_RECOVERY = 0x200, - VSS_ONLUNSTATECHANGE_NOTIFY_LUN_POST_RECOVERY = 0x400, - VSS_ONLUNSTATECHANGE_DO_MASK_LUNS = 0x800, -}} -pub type PVSS_HARDWARE_OPTIONS = *mut VSS_HARDWARE_OPTIONS; -ENUM!{enum VSS_RECOVERY_OPTIONS { - VSS_RECOVERY_REVERT_IDENTITY_ALL = 0x00000100, - VSS_RECOVERY_NO_VOLUME_CHECK = 0x00000200, -}} -pub type PVSS_RECOVERY_OPTIONS = *mut VSS_RECOVERY_OPTIONS; -ENUM!{enum VSS_WRITER_STATE { - VSS_WS_UNKNOWN = 0, - VSS_WS_STABLE = 1, - VSS_WS_WAITING_FOR_FREEZE = 2, - VSS_WS_WAITING_FOR_THAW = 3, - VSS_WS_WAITING_FOR_POST_SNAPSHOT = 4, - VSS_WS_WAITING_FOR_BACKUP_COMPLETE = 5, - VSS_WS_FAILED_AT_IDENTIFY = 6, - VSS_WS_FAILED_AT_PREPARE_BACKUP = 7, - VSS_WS_FAILED_AT_PREPARE_SNAPSHOT = 8, - VSS_WS_FAILED_AT_FREEZE = 9, - VSS_WS_FAILED_AT_THAW = 10, - VSS_WS_FAILED_AT_POST_SNAPSHOT = 11, - VSS_WS_FAILED_AT_BACKUP_COMPLETE = 12, - VSS_WS_FAILED_AT_PRE_RESTORE = 13, - VSS_WS_FAILED_AT_POST_RESTORE = 14, - VSS_WS_FAILED_AT_BACKUPSHUTDOWN = 15, - VSS_WS_COUNT = 16, -}} -pub type PVSS_WRITER_STATE = *mut VSS_WRITER_STATE; -ENUM!{enum VSS_BACKUP_TYPE { - VSS_BT_UNDEFINED = 0, - VSS_BT_FULL = 1, - VSS_BT_INCREMENTAL = 2, - VSS_BT_DIFFERENTIAL = 3, - VSS_BT_LOG = 4, - VSS_BT_COPY = 5, - VSS_BT_OTHER = 6, -}} -pub type PVSS_BACKUP_TYPE = *mut VSS_BACKUP_TYPE; -ENUM!{enum VSS_RESTORE_TYPE { - VSS_RTYPE_UNDEFINED = 0, - VSS_RTYPE_BY_COPY = 1, - VSS_RTYPE_IMPORT = 2, - VSS_RTYPE_OTHER = 3, -}} -pub type PVSS_RESTORE_TYPE = *mut VSS_RESTORE_TYPE; -ENUM!{enum VSS_ROLLFORWARD_TYPE { - VSS_RF_UNDEFINED = 0, - VSS_RF_NONE = 1, - VSS_RF_ALL = 2, - VSS_RF_PARTIAL = 3, -}} -pub type PVSS_ROLLFORWARD_TYPE = *mut VSS_ROLLFORWARD_TYPE; -ENUM!{enum VSS_PROVIDER_TYPE { - VSS_PROV_UNKNOWN = 0, - VSS_PROV_SYSTEM = 1, - VSS_PROV_SOFTWARE = 2, - VSS_PROV_HARDWARE = 3, - VSS_PROV_FILESHARE = 4, -}} -pub type PVSS_PROVIDER_TYPE = *mut VSS_PROVIDER_TYPE; -ENUM!{enum VSS_APPLICATION_LEVEL { - VSS_APP_UNKNOWN = 0, - VSS_APP_SYSTEM = 1, - VSS_APP_BACK_END = 2, - VSS_APP_FRONT_END = 3, - VSS_APP_SYSTEM_RM = 4, - VSS_APP_AUTO = -1i32 as u32, -}} -pub type PVSS_APPLICATION_LEVEL = *mut VSS_APPLICATION_LEVEL; -ENUM!{enum _VSS_SNAPSHOT_COMPATIBILITY { - VSS_SC_DISABLE_DEFRAG = 0x1, - VSS_SC_DISABLE_CONTENTINDEX = 0x2, -}} -ENUM!{enum VSS_SNAPSHOT_PROPERTY_ID { - VSS_SPROPID_UNKNOWN = 0, - VSS_SPROPID_SNAPSHOT_ID = 0x1, - VSS_SPROPID_SNAPSHOT_SET_ID = 0x2, - VSS_SPROPID_SNAPSHOTS_COUNT = 0x3, - VSS_SPROPID_SNAPSHOT_DEVICE = 0x4, - VSS_SPROPID_ORIGINAL_VOLUME = 0x5, - VSS_SPROPID_ORIGINATING_MACHINE = 0x6, - VSS_SPROPID_SERVICE_MACHINE = 0x7, - VSS_SPROPID_EXPOSED_NAME = 0x8, - VSS_SPROPID_EXPOSED_PATH = 0x9, - VSS_SPROPID_PROVIDER_ID = 0xa, - VSS_SPROPID_SNAPSHOT_ATTRIBUTES = 0xb, - VSS_SPROPID_CREATION_TIMESTAMP = 0xc, - VSS_SPROPID_STATUS = 0xd, -}} -pub type PVSS_SNAPSHOT_PROPERTY_ID = *mut VSS_SNAPSHOT_PROPERTY_ID; -ENUM!{enum VSS_FILE_SPEC_BACKUP_TYPE { - VSS_FSBT_FULL_BACKUP_REQUIRED = 0x1, - VSS_FSBT_DIFFERENTIAL_BACKUP_REQUIRED = 0x2, - VSS_FSBT_INCREMENTAL_BACKUP_REQUIRED = 0x4, - VSS_FSBT_LOG_BACKUP_REQUIRED = 0x8, - VSS_FSBT_FULL_SNAPSHOT_REQUIRED = 0x100, - VSS_FSBT_DIFFERENTIAL_SNAPSHOT_REQUIRED = 0x200, - VSS_FSBT_INCREMENTAL_SNAPSHOT_REQUIRED = 0x400, - VSS_FSBT_LOG_SNAPSHOT_REQUIRED = 0x800, - VSS_FSBT_CREATED_DURING_BACKUP = 0x10000, - VSS_FSBT_ALL_BACKUP_REQUIRED = 0xf, - VSS_FSBT_ALL_SNAPSHOT_REQUIRED = 0xf00, -}} -pub type PVSS_FILE_SPEC_BACKUP_TYPE = *mut VSS_FILE_SPEC_BACKUP_TYPE; -ENUM!{enum VSS_BACKUP_SCHEMA { - VSS_BS_UNDEFINED = 0, - VSS_BS_DIFFERENTIAL = 0x1, - VSS_BS_INCREMENTAL = 0x2, - VSS_BS_EXCLUSIVE_INCREMENTAL_DIFFERENTIAL = 0x4, - VSS_BS_LOG = 0x8, - VSS_BS_COPY = 0x10, - VSS_BS_TIMESTAMPED = 0x20, - VSS_BS_LAST_MODIFY = 0x40, - VSS_BS_LSN = 0x80, - VSS_BS_WRITER_SUPPORTS_NEW_TARGET = 0x100, - VSS_BS_WRITER_SUPPORTS_RESTORE_WITH_MOVE = 0x200, - VSS_BS_INDEPENDENT_SYSTEM_STATE = 0x400, - VSS_BS_ROLLFORWARD_RESTORE = 0x1000, - VSS_BS_RESTORE_RENAME = 0x2000, - VSS_BS_AUTHORITATIVE_RESTORE = 0x4000, - VSS_BS_WRITER_SUPPORTS_PARALLEL_RESTORES = 0x8000, -}} -pub type PVSS_BACKUP_SCHEMA = *mut VSS_BACKUP_SCHEMA; -pub type VSS_ID = GUID; -pub type VSS_PWSZ = *mut WCHAR; -pub type VSS_TIMESTAMP = LONGLONG; -STRUCT!{struct VSS_SNAPSHOT_PROP { - m_SnapshotId: VSS_ID, - m_SnapshotSetId: VSS_ID, - m_lSnapshotsCount: LONG, - m_pwszSnapshotDeviceObject: VSS_PWSZ, - m_pwszOriginalVolumeName: VSS_PWSZ, - m_pwszOriginatingMachine: VSS_PWSZ, - m_pwszServiceMachine: VSS_PWSZ, - m_pwszExposedName: VSS_PWSZ, - m_pwszExposedPath: VSS_PWSZ, - m_ProviderId: VSS_ID, - m_lSnapshotAttributes: LONG, - m_tsCreationTimestamp: VSS_TIMESTAMP, - m_eStatus: VSS_SNAPSHOT_STATE, -}} -pub type PVSS_SNAPSHOT_PROP = *mut VSS_SNAPSHOT_PROP; -STRUCT!{struct VSS_PROVIDER_PROP { - m_ProviderId: VSS_ID, - m_pwszProviderName: VSS_PWSZ, - m_eProviderType: VSS_PROVIDER_TYPE, - m_pwszProviderVersion: VSS_PWSZ, - m_ProviderVersionId: VSS_ID, - m_ClassId: CLSID, -}} -pub type PVSS_PROVIDER_PROP = *mut VSS_PROVIDER_PROP; -UNION!{union VSS_OBJECT_UNION { - [u64; 12] [u64; 16], - Snap Snap_mut: VSS_SNAPSHOT_PROP, - Prov Prov_mut: VSS_PROVIDER_PROP, -}} -STRUCT!{struct VSS_OBJECT_PROP { - Type: VSS_OBJECT_TYPE, - Obj: VSS_OBJECT_UNION, -}} -pub type PVSS_OBJECT_PROP = *mut VSS_OBJECT_PROP; -RIDL!{#[uuid(0xae1c7110, 0x2f60, 0x11d3, 0x8a, 0x39, 0x00, 0xc0, 0x4f, 0x72, 0xd8, 0xe3)] -interface IVssEnumObject(IVssEnumObjectVtbl): IUnknown(IUnknownVtbl) { - fn Next( - celt: ULONG, - rgelt: *mut VSS_OBJECT_PROP, - pceltFetched: *mut ULONG, - ) -> HRESULT, - fn Skip( - celt: ULONG, - ) -> HRESULT, - fn Reset() -> HRESULT, - fn Clone( - ppenum: *mut *mut IVssEnumObject, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x507c37b4, 0xcf5b, 0x4e95, 0xb0, 0xaf, 0x14, 0xeb, 0x97, 0x67, 0x46, 0x7e)] -interface IVssAsync(IVssAsyncVtbl): IUnknown(IUnknownVtbl) { - fn Cancel() -> HRESULT, - fn Wait( - dwMilliseconds: DWORD, - ) -> HRESULT, - fn QueryStatus( - pHrResult: *mut HRESULT, - pReserved: *mut INT, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/vsserror.rs b/vendor/registry-40351f815f426200/winapi/src/um/vsserror.rs deleted file mode 100644 index 1a295509d..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/vsserror.rs +++ /dev/null @@ -1,89 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! VSS Error header file -use um::winnt::HRESULT; -pub const VSS_E_BAD_STATE: HRESULT = 0x80042301; -pub const VSS_E_UNEXPECTED: HRESULT = 0x80042302; -pub const VSS_E_PROVIDER_ALREADY_REGISTERED: HRESULT = 0x80042303; -pub const VSS_E_PROVIDER_NOT_REGISTERED: HRESULT = 0x80042304; -pub const VSS_E_PROVIDER_VETO: HRESULT = 0x80042306; -pub const VSS_E_PROVIDER_IN_USE: HRESULT = 0x80042307; -pub const VSS_E_OBJECT_NOT_FOUND: HRESULT = 0x80042308; -pub const VSS_S_ASYNC_PENDING: HRESULT = 0x00042309; -pub const VSS_S_ASYNC_FINISHED: HRESULT = 0x0004230A; -pub const VSS_S_ASYNC_CANCELLED: HRESULT = 0x0004230B; -pub const VSS_E_VOLUME_NOT_SUPPORTED: HRESULT = 0x8004230C; -pub const VSS_E_VOLUME_NOT_SUPPORTED_BY_PROVIDER: HRESULT = 0x8004230E; -pub const VSS_E_OBJECT_ALREADY_EXISTS: HRESULT = 0x8004230D; -pub const VSS_E_UNEXPECTED_PROVIDER_ERROR: HRESULT = 0x8004230F; -pub const VSS_E_CORRUPT_XML_DOCUMENT: HRESULT = 0x80042310; -pub const VSS_E_INVALID_XML_DOCUMENT: HRESULT = 0x80042311; -pub const VSS_E_MAXIMUM_NUMBER_OF_VOLUMES_REACHED: HRESULT = 0x80042312; -pub const VSS_E_FLUSH_WRITES_TIMEOUT: HRESULT = 0x80042313; -pub const VSS_E_HOLD_WRITES_TIMEOUT: HRESULT = 0x80042314; -pub const VSS_E_UNEXPECTED_WRITER_ERROR: HRESULT = 0x80042315; -pub const VSS_E_SNAPSHOT_SET_IN_PROGRESS: HRESULT = 0x80042316; -pub const VSS_E_MAXIMUM_NUMBER_OF_SNAPSHOTS_REACHED: HRESULT = 0x80042317; -pub const VSS_E_WRITER_INFRASTRUCTURE: HRESULT = 0x80042318; -pub const VSS_E_WRITER_NOT_RESPONDING: HRESULT = 0x80042319; -pub const VSS_E_WRITER_ALREADY_SUBSCRIBED: HRESULT = 0x8004231A; -pub const VSS_E_UNSUPPORTED_CONTEXT: HRESULT = 0x8004231B; -pub const VSS_E_VOLUME_IN_USE: HRESULT = 0x8004231D; -pub const VSS_E_MAXIMUM_DIFFAREA_ASSOCIATIONS_REACHED: HRESULT = 0x8004231E; -pub const VSS_E_INSUFFICIENT_STORAGE: HRESULT = 0x8004231F; -pub const VSS_E_NO_SNAPSHOTS_IMPORTED: HRESULT = 0x80042320; -pub const VSS_S_SOME_SNAPSHOTS_NOT_IMPORTED: HRESULT = 0x00042321; -pub const VSS_E_SOME_SNAPSHOTS_NOT_IMPORTED: HRESULT = 0x80042321; -pub const VSS_E_MAXIMUM_NUMBER_OF_REMOTE_MACHINES_REACHED: HRESULT = 0x80042322; -pub const VSS_E_REMOTE_SERVER_UNAVAILABLE: HRESULT = 0x80042323; -pub const VSS_E_REMOTE_SERVER_UNSUPPORTED: HRESULT = 0x80042324; -pub const VSS_E_REVERT_IN_PROGRESS: HRESULT = 0x80042325; -pub const VSS_E_REVERT_VOLUME_LOST: HRESULT = 0x80042326; -pub const VSS_E_REBOOT_REQUIRED: HRESULT = 0x80042327; -pub const VSS_E_TRANSACTION_FREEZE_TIMEOUT: HRESULT = 0x80042328; -pub const VSS_E_TRANSACTION_THAW_TIMEOUT: HRESULT = 0x80042329; -pub const VSS_E_VOLUME_NOT_LOCAL: HRESULT = 0x8004232D; -pub const VSS_E_CLUSTER_TIMEOUT: HRESULT = 0x8004232E; -pub const VSS_E_WRITERERROR_INCONSISTENTSNAPSHOT: HRESULT = 0x800423F0; -pub const VSS_E_WRITERERROR_OUTOFRESOURCES: HRESULT = 0x800423F1; -pub const VSS_E_WRITERERROR_TIMEOUT: HRESULT = 0x800423F2; -pub const VSS_E_WRITERERROR_RETRYABLE: HRESULT = 0x800423F3; -pub const VSS_E_WRITERERROR_NONRETRYABLE: HRESULT = 0x800423F4; -pub const VSS_E_WRITERERROR_RECOVERY_FAILED: HRESULT = 0x800423F5; -pub const VSS_E_BREAK_REVERT_ID_FAILED: HRESULT = 0x800423F6; -pub const VSS_E_LEGACY_PROVIDER: HRESULT = 0x800423F7; -pub const VSS_E_MISSING_DISK: HRESULT = 0x800423F8; -pub const VSS_E_MISSING_HIDDEN_VOLUME: HRESULT = 0x800423F9; -pub const VSS_E_MISSING_VOLUME: HRESULT = 0x800423FA; -pub const VSS_E_AUTORECOVERY_FAILED: HRESULT = 0x800423FB; -pub const VSS_E_DYNAMIC_DISK_ERROR: HRESULT = 0x800423FC; -pub const VSS_E_NONTRANSPORTABLE_BCD: HRESULT = 0x800423FD; -pub const VSS_E_CANNOT_REVERT_DISKID: HRESULT = 0x800423FE; -pub const VSS_E_RESYNC_IN_PROGRESS: HRESULT = 0x800423FF; -pub const VSS_E_CLUSTER_ERROR: HRESULT = 0x80042400; -pub const VSS_E_UNSELECTED_VOLUME: HRESULT = 0x8004232A; -pub const VSS_E_SNAPSHOT_NOT_IN_SET: HRESULT = 0x8004232B; -pub const VSS_E_NESTED_VOLUME_LIMIT: HRESULT = 0x8004232C; -pub const VSS_E_NOT_SUPPORTED: HRESULT = 0x8004232F; -pub const VSS_E_WRITERERROR_PARTIAL_FAILURE: HRESULT = 0x80042336; -pub const VSS_E_ASRERROR_DISK_ASSIGNMENT_FAILED: HRESULT = 0x80042401; -pub const VSS_E_ASRERROR_DISK_RECREATION_FAILED: HRESULT = 0x80042402; -pub const VSS_E_ASRERROR_NO_ARCPATH: HRESULT = 0x80042403; -pub const VSS_E_ASRERROR_MISSING_DYNDISK: HRESULT = 0x80042404; -pub const VSS_E_ASRERROR_SHARED_CRIDISK: HRESULT = 0x80042405; -pub const VSS_E_ASRERROR_DATADISK_RDISK0: HRESULT = 0x80042406; -pub const VSS_E_ASRERROR_RDISK0_TOOSMALL: HRESULT = 0x80042407; -pub const VSS_E_ASRERROR_CRITICAL_DISKS_TOO_SMALL: HRESULT = 0x80042408; -pub const VSS_E_WRITER_STATUS_NOT_AVAILABLE: HRESULT = 0x80042409; -pub const VSS_E_ASRERROR_DYNAMIC_VHD_NOT_SUPPORTED: HRESULT = 0x8004240A; -pub const VSS_E_CRITICAL_VOLUME_ON_INVALID_DISK: HRESULT = 0x80042411; -pub const VSS_E_ASRERROR_RDISK_FOR_SYSTEM_DISK_NOT_FOUND: HRESULT = 0x80042412; -pub const VSS_E_ASRERROR_NO_PHYSICAL_DISK_AVAILABLE: HRESULT = 0x80042413; -pub const VSS_E_ASRERROR_FIXED_PHYSICAL_DISK_AVAILABLE_AFTER_DISK_EXCLUSION: HRESULT = - 0x80042414; -pub const VSS_E_ASRERROR_CRITICAL_DISK_CANNOT_BE_EXCLUDED: HRESULT = 0x80042415; -pub const VSS_E_ASRERROR_SYSTEM_PARTITION_HIDDEN: HRESULT = 0x80042416; -pub const VSS_E_FSS_TIMEOUT: HRESULT = 0x80042417; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/vswriter.rs b/vendor/registry-40351f815f426200/winapi/src/um/vswriter.rs deleted file mode 100644 index 43d6000ec..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/vswriter.rs +++ /dev/null @@ -1,397 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Declaration of Writer -use shared::minwindef::{BOOL, BYTE, DWORD, FILETIME, UINT}; -use shared::wtypes::BSTR; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::vss::{VSS_ID, VSS_ROLLFORWARD_TYPE}; -use um::winnt::{HRESULT, LPCWSTR, VOID}; -ENUM!{enum VSS_USAGE_TYPE { - VSS_UT_UNDEFINED = 0, - VSS_UT_BOOTABLESYSTEMSTATE = 1, - VSS_UT_SYSTEMSERVICE = 2, - VSS_UT_USERDATA = 3, - VSS_UT_OTHER = 4, -}} -ENUM!{enum VSS_SOURCE_TYPE { - VSS_ST_UNDEFINED = 0, - VSS_ST_TRANSACTEDDB = 1, - VSS_ST_NONTRANSACTEDDB = 2, - VSS_ST_OTHER = 3, -}} -ENUM!{enum VSS_RESTOREMETHOD_ENUM { - VSS_RME_UNDEFINED = 0, - VSS_RME_RESTORE_IF_NOT_THERE = 1, - VSS_RME_RESTORE_IF_CAN_REPLACE = 2, - VSS_RME_STOP_RESTORE_START = 3, - VSS_RME_RESTORE_TO_ALTERNATE_LOCATION = 4, - VSS_RME_RESTORE_AT_REBOOT = 5, - VSS_RME_RESTORE_AT_REBOOT_IF_CANNOT_REPLACE = 6, - VSS_RME_CUSTOM = 7, - VSS_RME_RESTORE_STOP_START = 8, -}} -ENUM!{enum VSS_WRITERRESTORE_ENUM { - VSS_WRE_UNDEFINED = 0, - VSS_WRE_NEVER = 1, - VSS_WRE_IF_REPLACE_FAILS = 2, - VSS_WRE_ALWAYS = 3, -}} -ENUM!{enum VSS_COMPONENT_TYPE { - VSS_CT_UNDEFINED = 0, - VSS_CT_DATABASE = 1, - VSS_CT_FILEGROUP = 2, -}} -ENUM!{enum VSS_ALTERNATE_WRITER_STATE { - VSS_AWS_UNDEFINED = 0, - VSS_AWS_NO_ALTERNATE_WRITER = 1, - VSS_AWS_ALTERNATE_WRITER_EXISTS = 2, - VSS_AWS_THIS_IS_ALTERNATE_WRITER = 3, -}} -ENUM!{enum VSS_SUBSCRIBE_MASK { - VSS_SM_POST_SNAPSHOT_FLAG = 0x00000001, - VSS_SM_BACKUP_EVENTS_FLAG = 0x00000002, - VSS_SM_RESTORE_EVENTS_FLAG = 0x00000004, - VSS_SM_IO_THROTTLING_FLAG = 0x00000008, - VSS_SM_ALL_FLAGS = 0xffffffff, -}} -ENUM!{enum VSS_RESTORE_TARGET { - VSS_RT_UNDEFINED = 0, - VSS_RT_ORIGINAL = 1, - VSS_RT_ALTERNATE = 2, - VSS_RT_DIRECTED = 3, - VSS_RT_ORIGINAL_LOCATION = 4, -}} -ENUM!{enum VSS_FILE_RESTORE_STATUS { - VSS_RS_UNDEFINED = 0, - VSS_RS_NONE = 1, - VSS_RS_ALL = 2, - VSS_RS_FAILED = 3, -}} -ENUM!{enum VSS_COMPONENT_FLAGS { - VSS_CF_BACKUP_RECOVERY = 0x00000001, - VSS_CF_APP_ROLLBACK_RECOVERY = 0x00000002, - VSS_CF_NOT_SYSTEM_STATE = 0x00000004, -}} -RIDL!{#[uuid(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)] -interface IVssWMFiledesc(IVssWMFiledescVtbl): IUnknown(IUnknownVtbl) { - fn GetPath( - pbstrPath: *mut BSTR, - ) -> HRESULT, - fn GetFilespec( - pbstrFilespec: *mut BSTR, - ) -> HRESULT, - fn GetRecursive( - pbRecursive: *mut bool, - ) -> HRESULT, - fn GetAlternateLocation( - pbstrAlternateLocation: *mut BSTR, - ) -> HRESULT, - fn GetBackupTypeMask( - pdwTypeMask: *mut DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)] -interface IVssWMDependency(IVssWMDependencyVtbl): IUnknown(IUnknownVtbl) { - fn GetWriterId( - pWriterId: *mut VSS_ID, - ) -> HRESULT, - fn GetLogicalPath( - pbstrLogicalPath: *mut BSTR, - ) -> HRESULT, - fn GetComponentName( - pbstrComponentName: *mut BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xd2c72c96, 0xc121, 0x4518, 0xb6, 0x27, 0xe5, 0xa9, 0x3d, 0x01, 0x0e, 0xad)] -interface IVssComponent(IVssComponentVtbl): IUnknown(IUnknownVtbl) { - fn GetLogicalPath( - pbstrPath: *mut BSTR, - ) -> HRESULT, - fn GetComponentType( - pct: *mut VSS_COMPONENT_TYPE, - ) -> HRESULT, - fn GetComponentName( - pbstrName: *mut BSTR, - ) -> HRESULT, - fn GetBackupSucceeded( - pbSucceeded: *mut bool, - ) -> HRESULT, - fn GetAlternateLocationMappingCount( - pcMappings: *mut UINT, - ) -> HRESULT, - fn GetAlternateLocationMapping( - iMapping: UINT, - ppFiledesc: *mut *mut IVssWMFiledesc, - ) -> HRESULT, - fn SetBackupMetadata( - wszData: LPCWSTR, - ) -> HRESULT, - fn GetBackupMetadata( - pbstrData: *mut BSTR, - ) -> HRESULT, - fn AddPartialFile( - wszPath: LPCWSTR, - wszFilename: LPCWSTR, - wszRanges: LPCWSTR, - wszMetadata: LPCWSTR, - ) -> HRESULT, - fn GetPartialFileCount( - pcPartialFiles: *mut UINT, - ) -> HRESULT, - fn GetPartialFile( - iPartialFile: UINT, - pbstrPath: *mut BSTR, - pbstrFilename: *mut BSTR, - pbstrRange: *mut BSTR, - pbstrMetadata: *mut BSTR, - ) -> HRESULT, - fn IsSelectedForRestore( - pbSelectedForRestore: *mut bool, - ) -> HRESULT, - fn GetAdditionalRestores( - pbAdditionalRestores: *mut bool, - ) -> HRESULT, - fn GetNewTargetCount( - pcNewTarget: *mut UINT, - ) -> HRESULT, - fn GetNewTarget( - iNewTarget: UINT, - ppFiledesc: *mut *mut IVssWMFiledesc, - ) -> HRESULT, - fn AddDirectedTarget( - wszSourcePath: LPCWSTR, - wszSourceFilename: LPCWSTR, - wszSourceRangeList: LPCWSTR, - wszDestinationPath: LPCWSTR, - wszDestinationFilename: LPCWSTR, - wszDestinationRangeList: LPCWSTR, - ) -> HRESULT, - fn GetDirectedTargetCount( - pcDirectedTarget: *mut UINT, - ) -> HRESULT, - fn GetDirectedTarget( - iDirectedTarget: UINT, - pbstrSourcePath: *mut BSTR, - pbstrSourceFileName: *mut BSTR, - pbstrSourceRangeList: *mut BSTR, - pbstrDestinationPath: *mut BSTR, - pbstrDestinationFilename: *mut BSTR, - pbstrDestinationRangeList: *mut BSTR, - ) -> HRESULT, - fn SetRestoreMetadata( - wszRestoreMetadata: LPCWSTR, - ) -> HRESULT, - fn GetRestoreMetadata( - pbstrRestoreMetadata: *mut BSTR, - ) -> HRESULT, - fn SetRestoreTarget( - target: VSS_RESTORE_TARGET, - ) -> HRESULT, - fn GetRestoreTarget( - pTarget: *mut VSS_RESTORE_TARGET, - ) -> HRESULT, - fn SetPreRestoreFailureMsg( - wszPreRestoreFailureMsg: LPCWSTR, - ) -> HRESULT, - fn GetPreRestoreFailureMsg( - pbstrPreRestoreFailureMsg: *mut BSTR, - ) -> HRESULT, - fn SetPostRestoreFailureMsg( - wszPostRestoreFailureMsg: LPCWSTR, - ) -> HRESULT, - fn GetPostRestoreFailureMsg( - pbstrPostRestoreFailureMsg: *mut BSTR, - ) -> HRESULT, - fn SetBackupStamp( - wszBackupStamp: LPCWSTR, - ) -> HRESULT, - fn GetBackupStamp( - pbstrBackupStamp: *mut BSTR, - ) -> HRESULT, - fn GetPreviousBackupStamp( - pbstrBackupStamp: *mut BSTR, - ) -> HRESULT, - fn GetBackupOptions( - pbstrBackupOptions: *mut BSTR, - ) -> HRESULT, - fn GetRestoreOptions( - pbstrRestoreOptions: *mut BSTR, - ) -> HRESULT, - fn GetRestoreSubcomponentCount( - pcRestoreSubcomponent: *mut UINT, - ) -> HRESULT, - fn GetRestoreSubcomponent( - iComponent: UINT, - pbstrLogicalPath: *mut BSTR, - pbstrComponentName: *mut BSTR, - pbRepair: *mut bool, - ) -> HRESULT, - fn GetFileRestoreStatus( - pStatus: *mut VSS_FILE_RESTORE_STATUS, - ) -> HRESULT, - fn AddDifferencedFilesByLastModifyTime( - wszPath: LPCWSTR, - wszFilespec: LPCWSTR, - bRecursive: BOOL, - ftLastModifyTime: FILETIME, - ) -> HRESULT, - fn AddDifferencedFilesByLastModifyLSN( - wszPath: LPCWSTR, - wszFilespec: LPCWSTR, - bRecursive: BOOL, - bstrLsnString: BSTR, - ) -> HRESULT, - fn GetDifferencedFilesCount( - pcDifferencedFiles: *mut UINT, - ) -> HRESULT, - fn GetDifferencedFile( - iDifferencedFile: UINT, - pbstrPath: *mut BSTR, - pbstrFilespec: *mut BSTR, - pbRecursive: *mut BOOL, - pbstrLsnString: *mut BSTR, - pftLastModifyTime: *mut FILETIME, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)] -interface IVssWriterComponents(IVssWriterComponentsVtbl) { - fn GetComponentCount( - pcComponents: *mut UINT, - ) -> HRESULT, - fn GetWriterInfo( - pidInstance: *mut VSS_ID, - pidWriter: *mut VSS_ID, - ) -> HRESULT, - fn GetComponent( - iComponent: UINT, - ppComponent: *mut *mut IVssComponent, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x156c8b5e, 0xf131, 0x4bd7, 0x9c, 0x97, 0xd1, 0x92, 0x3b, 0xe7, 0xe1, 0xfa)] -interface IVssComponentEx(IVssComponentExVtbl): IVssComponent(IVssComponentVtbl) { - fn SetPrepareForBackupFailureMsg( - wszFailureMsg: LPCWSTR, - ) -> HRESULT, - fn SetPostSnapshotFailureMsg( - wszFailureMsg: LPCWSTR, - ) -> HRESULT, - fn GetPrepareForBackupFailureMsg( - pbstrFailureMsg: *mut BSTR, - ) -> HRESULT, - fn GetPostSnapshotFailureMsg( - pbstrFailureMsg: *mut BSTR, - ) -> HRESULT, - fn GetAuthoritativeRestore( - pbAuth: *mut bool, - ) -> HRESULT, - fn GetRollForward( - pRollType: *mut VSS_ROLLFORWARD_TYPE, - pbstrPoint: *mut BSTR, - ) -> HRESULT, - fn GetRestoreName( - pbstrName: *mut BSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x3b5be0f2, 0x07a9, 0x4e4b, 0xbd, 0xd3, 0xcf, 0xdc, 0x8e, 0x2c, 0x0d, 0x2d)] -interface IVssComponentEx2(IVssComponentEx2Vtbl): IVssComponentEx(IVssComponentExVtbl) { - fn SetFailure( - hr: HRESULT, - hrApplication: HRESULT, - wszApplicationMessage: LPCWSTR, - dwReserved: DWORD, - ) -> HRESULT, - fn GetFailure( - phr: *mut HRESULT, - phrApplication: *mut HRESULT, - pbstrApplicationMessage: *mut BSTR, - pdwReserved: *mut DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)] -interface IVssCreateWriterMetadata(IVssCreateWriterMetadataVtbl) { - fn AddIncludeFiles( - wszPath: LPCWSTR, - wszFilespec: LPCWSTR, - bRecursive: bool, - wszAlternateLocation: LPCWSTR, - ) -> HRESULT, - fn AddExcludeFiles( - wszPath: LPCWSTR, - wszFilespec: LPCWSTR, - bRecursive: bool, - ) -> HRESULT, - fn AddComponent( - ct: VSS_COMPONENT_TYPE, - wszLogicalPath: LPCWSTR, - wszComponentName: LPCWSTR, - wszCaption: LPCWSTR, - pbIcon: *const BYTE, - cbIcon: UINT, - bRestoreMetadata: bool, - bNotifyOnBackupComplete: bool, - bSelectableForRestore: bool, - dwComponentFlags: DWORD, - ) -> HRESULT, - fn AddDatabaseFiles( - wszLogicalPath: LPCWSTR, - wszDatabaseName: LPCWSTR, - wszPath: LPCWSTR, - wszFilespec: LPCWSTR, - dwBackupTypeMask: DWORD, - ) -> HRESULT, - fn AddDatabaseLogFiles( - wszLogicalPath: LPCWSTR, - wszDatabaseName: LPCWSTR, - wszPath: LPCWSTR, - wszFilespec: LPCWSTR, - dwBackupTypeMask: DWORD, - ) -> HRESULT, - fn AddFilesToFileGroup( - wszLogicalPath: LPCWSTR, - wszGroupName: LPCWSTR, - wszPath: LPCWSTR, - wszFilespec: LPCWSTR, - bRecursive: bool, - wszAlternateLocation: LPCWSTR, - dwBackupTypeMask: DWORD, - ) -> HRESULT, - fn SetRestoreMethod( - method: VSS_RESTOREMETHOD_ENUM, - wszService: LPCWSTR, - wszUserProcedure: LPCWSTR, - writerRestore: VSS_WRITERRESTORE_ENUM, - bRebootRequired: bool, - ) -> HRESULT, - fn AddAlternateLocationMapping( - wszSourcePath: LPCWSTR, - wszSourceFilespec: LPCWSTR, - bRecursive: bool, - wszDestination: LPCWSTR, - ) -> HRESULT, - fn AddComponentDependency( - wszForLogicalPath: LPCWSTR, - wszForComponentName: LPCWSTR, - onWriterId: VSS_ID, - wszOnLogicalPath: LPCWSTR, - wszOnComponentName: LPCWSTR, - ) -> HRESULT, - fn SetBackupSchema( - dwSchemaMask: DWORD, - ) -> HRESULT, - fn GetDocument( - pDoc: *mut *mut VOID, - ) -> HRESULT, //TODO IXMLDOMDocument, - fn SaveAsXML( - pbstrXML: *mut BSTR, - ) -> HRESULT, -}} -//IVssCreateWriterMetadataEx -//IVssWriterImpl -//IVssCreateExpressWriterMetadata -//IVssExpressWriter -//CVssWriter -//CVssWriterEx -//CVssWriterEx2 diff --git a/vendor/registry-40351f815f426200/winapi/src/um/wbemads.rs b/vendor/registry-40351f815f426200/winapi/src/um/wbemads.rs deleted file mode 100644 index 5ba09e6eb..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/wbemads.rs +++ /dev/null @@ -1,41 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::winerror::HRESULT; -use shared::wtypes::BSTR; -use um::oaidl::{IDispatch, IDispatchVtbl}; -use um::wbemdisp::{ISWbemObject, ISWbemServices}; -// extern RPC_IF_HANDLE __MIDL_itf_wbemads_0000_0000_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemads_0000_0000_v0_0_s_ifspec; -// EXTERN_C const IID LIBID_WMIEXTENSIONLib; -// EXTERN_C const IID IID_IWMIExtension; -DEFINE_GUID!{IID_IWMIExtension, - 0xadc1f06e, 0x5c7e, 0x11d2, 0x8b, 0x74, 0x00, 0x10, 0x4b, 0x2a, 0xfb, 0x41} -RIDL!{#[uuid(0xadc1f06e, 0x5c7e, 0x11d2, 0x8b, 0x74, 0x00, 0x10, 0x4b, 0x2a, 0xfb, 0x41)] -interface IWMIExtension(IWMIExtensionVtbl): IDispatch(IDispatchVtbl) { - fn get_WMIObjectPath( - strWMIObjectPath: *mut BSTR, - ) -> HRESULT, - fn GetWMIObject( - objWMIObject: *mut *mut ISWbemObject, - ) -> HRESULT, - fn GetWMIServices( - objWMIServices: *mut *mut ISWbemServices, - ) -> HRESULT, -}} -DEFINE_GUID!{CLSID_WMIExtension, - 0xf0975afe, 0x5c7f, 0x11d2, 0x8b, 0x74, 0x00, 0x10, 0x4b, 0x2a, 0xfb, 0x41} -// class DECLSPEC_UUID("f0975afe-5c7f-11d2-8b74-00104b2afb41") -// WMIExtension; -// extern RPC_IF_HANDLE __MIDL_itf_wbemads_0000_0002_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemads_0000_0002_v0_0_s_ifspec; -// unsigned long __RPC_USER BSTR_UserSize( __RPC__in unsigned long *, unsigned long , __RPC__in BSTR * ); -// unsigned char * __RPC_USER BSTR_UserMarshal( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * ); -// unsigned char * __RPC_USER BSTR_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * ); -// void __RPC_USER BSTR_UserFree( __RPC__in unsigned long *, __RPC__in BSTR * ); -// unsigned long __RPC_USER BSTR_UserSize64( __RPC__in unsigned long *, unsigned long , __RPC__in BSTR * ); -// unsigned char * __RPC_USER BSTR_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * ); -// unsigned char * __RPC_USER BSTR_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * ); -// void __RPC_USER BSTR_UserFree64( __RPC__in unsigned long *, __RPC__in BSTR * ); diff --git a/vendor/registry-40351f815f426200/winapi/src/um/wbemcli.rs b/vendor/registry-40351f815f426200/winapi/src/um/wbemcli.rs deleted file mode 100644 index f519b0fa6..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/wbemcli.rs +++ /dev/null @@ -1,1174 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{__uint64, c_long, c_uchar}; -use shared::minwindef::{BYTE, DWORD, ULONG}; -use shared::rpcndr::byte; -use shared::winerror::HRESULT; -use shared::wtypes::BSTR; -use um::oaidl::{SAFEARRAY, VARIANT}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{LCID, LONG, LPCWSTR, LPWSTR}; -// extern RPC_IF_HANDLE __MIDL_itf_wbemcli_0000_0000_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemcli_0000_0000_v0_0_s_ifspec; -ENUM!{enum WBEM_GENUS_TYPE { - WBEM_GENUS_CLASS = 1, - WBEM_GENUS_INSTANCE = 2, -}} -ENUM!{enum WBEM_CHANGE_FLAG_TYPE { - WBEM_FLAG_CREATE_OR_UPDATE = 0, - WBEM_FLAG_UPDATE_ONLY = 0x1, - WBEM_FLAG_CREATE_ONLY = 0x2, - WBEM_FLAG_UPDATE_COMPATIBLE = 0, - WBEM_FLAG_UPDATE_SAFE_MODE = 0x20, - WBEM_FLAG_UPDATE_FORCE_MODE = 0x40, - WBEM_MASK_UPDATE_MODE = 0x60, - WBEM_FLAG_ADVISORY = 0x10000, -}} -ENUM!{enum WBEM_GENERIC_FLAG_TYPE { - WBEM_FLAG_RETURN_IMMEDIATELY = 0x10, - WBEM_FLAG_RETURN_WBEM_COMPLETE = 0, - WBEM_FLAG_BIDIRECTIONAL = 0, - WBEM_FLAG_FORWARD_ONLY = 0x20, - WBEM_FLAG_NO_ERROR_OBJECT = 0x40, - WBEM_FLAG_RETURN_ERROR_OBJECT = 0, - WBEM_FLAG_SEND_STATUS = 0x80, - WBEM_FLAG_DONT_SEND_STATUS = 0, - WBEM_FLAG_ENSURE_LOCATABLE = 0x100, - WBEM_FLAG_DIRECT_READ = 0x200, - WBEM_FLAG_SEND_ONLY_SELECTED = 0, - WBEM_RETURN_WHEN_COMPLETE = 0, - WBEM_RETURN_IMMEDIATELY = 0x10, - WBEM_MASK_RESERVED_FLAGS = 0x1f000, - WBEM_FLAG_USE_AMENDED_QUALIFIERS = 0x20000, - WBEM_FLAG_STRONG_VALIDATION = 0x100000, -}} -ENUM!{enum WBEM_STATUS_TYPE { - WBEM_STATUS_COMPLETE = 0, - WBEM_STATUS_REQUIREMENTS = 1, - WBEM_STATUS_PROGRESS = 2, - WBEM_STATUS_LOGGING_INFORMATION = 0x100, - WBEM_STATUS_LOGGING_INFORMATION_PROVIDER = 0x200, - WBEM_STATUS_LOGGING_INFORMATION_HOST = 0x400, - WBEM_STATUS_LOGGING_INFORMATION_REPOSITORY = 0x800, - WBEM_STATUS_LOGGING_INFORMATION_ESS = 0x1000, -}} -ENUM!{enum WBEM_TIMEOUT_TYPE { - WBEM_NO_WAIT = 0, - WBEM_INFINITE = 0xffffffff, -}} -ENUM!{enum WBEM_CONDITION_FLAG_TYPE { - WBEM_FLAG_ALWAYS = 0, - WBEM_FLAG_ONLY_IF_TRUE = 0x1, - WBEM_FLAG_ONLY_IF_FALSE = 0x2, - WBEM_FLAG_ONLY_IF_IDENTICAL = 0x3, - WBEM_MASK_PRIMARY_CONDITION = 0x3, - WBEM_FLAG_KEYS_ONLY = 0x4, - WBEM_FLAG_REFS_ONLY = 0x8, - WBEM_FLAG_LOCAL_ONLY = 0x10, - WBEM_FLAG_PROPAGATED_ONLY = 0x20, - WBEM_FLAG_SYSTEM_ONLY = 0x30, - WBEM_FLAG_NONSYSTEM_ONLY = 0x40, - WBEM_MASK_CONDITION_ORIGIN = 0x70, - WBEM_FLAG_CLASS_OVERRIDES_ONLY = 0x100, - WBEM_FLAG_CLASS_LOCAL_AND_OVERRIDES = 0x200, - WBEM_MASK_CLASS_CONDITION = 0x300, -}} -ENUM!{enum WBEM_FLAVOR_TYPE { - WBEM_FLAVOR_DONT_PROPAGATE = 0, - WBEM_FLAVOR_FLAG_PROPAGATE_TO_INSTANCE = 0x1, - WBEM_FLAVOR_FLAG_PROPAGATE_TO_DERIVED_CLASS = 0x2, - WBEM_FLAVOR_MASK_PROPAGATION = 0xf, - WBEM_FLAVOR_OVERRIDABLE = 0, - WBEM_FLAVOR_NOT_OVERRIDABLE = 0x10, - WBEM_FLAVOR_MASK_PERMISSIONS = 0x10, - WBEM_FLAVOR_ORIGIN_LOCAL = 0, - WBEM_FLAVOR_ORIGIN_PROPAGATED = 0x20, - WBEM_FLAVOR_ORIGIN_SYSTEM = 0x40, - WBEM_FLAVOR_MASK_ORIGIN = 0x60, - WBEM_FLAVOR_NOT_AMENDED = 0, - WBEM_FLAVOR_AMENDED = 0x80, - WBEM_FLAVOR_MASK_AMENDED = 0x80, -}} -ENUM!{enum WBEM_QUERY_FLAG_TYPE { - WBEM_FLAG_DEEP = 0, - WBEM_FLAG_SHALLOW = 1, - WBEM_FLAG_PROTOTYPE = 2, -}} -ENUM!{enum WBEM_SECURITY_FLAGS { - WBEM_ENABLE = 1, - WBEM_METHOD_EXECUTE = 2, - WBEM_FULL_WRITE_REP = 4, - WBEM_PARTIAL_WRITE_REP = 8, - WBEM_WRITE_PROVIDER = 0x10, - WBEM_REMOTE_ACCESS = 0x20, - WBEM_RIGHT_SUBSCRIBE = 0x40, - WBEM_RIGHT_PUBLISH = 0x80, -}} -ENUM!{enum WBEM_LIMITATION_FLAG_TYPE { - WBEM_FLAG_EXCLUDE_OBJECT_QUALIFIERS = 0x10, - WBEM_FLAG_EXCLUDE_PROPERTY_QUALIFIERS = 0x20, -}} -ENUM!{enum WBEM_TEXT_FLAG_TYPE { - WBEM_FLAG_NO_FLAVORS = 0x1, -}} -ENUM!{enum WBEM_COMPARISON_FLAG { - WBEM_COMPARISON_INCLUDE_ALL = 0, - WBEM_FLAG_IGNORE_QUALIFIERS = 0x1, - WBEM_FLAG_IGNORE_OBJECT_SOURCE = 0x2, - WBEM_FLAG_IGNORE_DEFAULT_VALUES = 0x4, - WBEM_FLAG_IGNORE_CLASS = 0x8, - WBEM_FLAG_IGNORE_CASE = 0x10, - WBEM_FLAG_IGNORE_FLAVOR = 0x20, -}} -ENUM!{enum WBEM_LOCKING_FLAG_TYPE { - WBEM_FLAG_ALLOW_READ = 0x1, -}} -ENUM!{enum CIMTYPE_ENUMERATION { - CIM_ILLEGAL = 0xfff, - CIM_EMPTY = 0, - CIM_SINT8 = 16, - CIM_UINT8 = 17, - CIM_SINT16 = 2, - CIM_UINT16 = 18, - CIM_SINT32 = 3, - CIM_UINT32 = 19, - CIM_SINT64 = 20, - CIM_UINT64 = 21, - CIM_REAL32 = 4, - CIM_REAL64 = 5, - CIM_BOOLEAN = 11, - CIM_STRING = 8, - CIM_DATETIME = 101, - CIM_REFERENCE = 102, - CIM_CHAR16 = 103, - CIM_OBJECT = 13, - CIM_FLAG_ARRAY = 0x2000, -}} -ENUM!{enum WBEM_BACKUP_RESTORE_FLAGS { - WBEM_FLAG_BACKUP_RESTORE_DEFAULT = 0, - WBEM_FLAG_BACKUP_RESTORE_FORCE_SHUTDOWN = 1, -}} -ENUM!{enum WBEM_REFRESHER_FLAGS { - WBEM_FLAG_REFRESH_AUTO_RECONNECT = 0, - WBEM_FLAG_REFRESH_NO_AUTO_RECONNECT = 1, -}} -ENUM!{enum WBEM_SHUTDOWN_FLAGS { - WBEM_SHUTDOWN_UNLOAD_COMPONENT = 1, - WBEM_SHUTDOWN_WMI = 2, - WBEM_SHUTDOWN_OS = 3, -}} -pub type CIMTYPE = c_long; -ENUM!{enum WBEMSTATUS_FORMAT { - WBEMSTATUS_FORMAT_NEWLINE = 0, - WBEMSTATUS_FORMAT_NO_NEWLINE = 1, -}} -ENUM!{enum WBEM_LIMITS { - WBEM_MAX_IDENTIFIER = 0x1000, - WBEM_MAX_QUERY = 0x4000, - WBEM_MAX_PATH = 0x2000, - WBEM_MAX_OBJECT_NESTING = 64, - WBEM_MAX_USER_PROPERTIES = 1024, -}} -ENUM!{enum WBEMSTATUS { - WBEM_NO_ERROR = 0, - WBEM_S_NO_ERROR = 0, - WBEM_S_SAME = 0, - WBEM_S_FALSE = 1, - WBEM_S_ALREADY_EXISTS = 0x40001, - WBEM_S_RESET_TO_DEFAULT = 0x40002, - WBEM_S_DIFFERENT = 0x40003, - WBEM_S_TIMEDOUT = 0x40004, - WBEM_S_NO_MORE_DATA = 0x40005, - WBEM_S_OPERATION_CANCELLED = 0x40006, - WBEM_S_PENDING = 0x40007, - WBEM_S_DUPLICATE_OBJECTS = 0x40008, - WBEM_S_ACCESS_DENIED = 0x40009, - WBEM_S_PARTIAL_RESULTS = 0x40010, - WBEM_S_SOURCE_NOT_AVAILABLE = 0x40017, - WBEM_E_FAILED = 0x80041001, - WBEM_E_NOT_FOUND = 0x80041002, - WBEM_E_ACCESS_DENIED = 0x80041003, - WBEM_E_PROVIDER_FAILURE = 0x80041004, - WBEM_E_TYPE_MISMATCH = 0x80041005, - WBEM_E_OUT_OF_MEMORY = 0x80041006, - WBEM_E_INVALID_CONTEXT = 0x80041007, - WBEM_E_INVALID_PARAMETER = 0x80041008, - WBEM_E_NOT_AVAILABLE = 0x80041009, - WBEM_E_CRITICAL_ERROR = 0x8004100a, - WBEM_E_INVALID_STREAM = 0x8004100b, - WBEM_E_NOT_SUPPORTED = 0x8004100c, - WBEM_E_INVALID_SUPERCLASS = 0x8004100d, - WBEM_E_INVALID_NAMESPACE = 0x8004100e, - WBEM_E_INVALID_OBJECT = 0x8004100f, - WBEM_E_INVALID_CLASS = 0x80041010, - WBEM_E_PROVIDER_NOT_FOUND = 0x80041011, - WBEM_E_INVALID_PROVIDER_REGISTRATION = 0x80041012, - WBEM_E_PROVIDER_LOAD_FAILURE = 0x80041013, - WBEM_E_INITIALIZATION_FAILURE = 0x80041014, - WBEM_E_TRANSPORT_FAILURE = 0x80041015, - WBEM_E_INVALID_OPERATION = 0x80041016, - WBEM_E_INVALID_QUERY = 0x80041017, - WBEM_E_INVALID_QUERY_TYPE = 0x80041018, - WBEM_E_ALREADY_EXISTS = 0x80041019, - WBEM_E_OVERRIDE_NOT_ALLOWED = 0x8004101a, - WBEM_E_PROPAGATED_QUALIFIER = 0x8004101b, - WBEM_E_PROPAGATED_PROPERTY = 0x8004101c, - WBEM_E_UNEXPECTED = 0x8004101d, - WBEM_E_ILLEGAL_OPERATION = 0x8004101e, - WBEM_E_CANNOT_BE_KEY = 0x8004101f, - WBEM_E_INCOMPLETE_CLASS = 0x80041020, - WBEM_E_INVALID_SYNTAX = 0x80041021, - WBEM_E_NONDECORATED_OBJECT = 0x80041022, - WBEM_E_READ_ONLY = 0x80041023, - WBEM_E_PROVIDER_NOT_CAPABLE = 0x80041024, - WBEM_E_CLASS_HAS_CHILDREN = 0x80041025, - WBEM_E_CLASS_HAS_INSTANCES = 0x80041026, - WBEM_E_QUERY_NOT_IMPLEMENTED = 0x80041027, - WBEM_E_ILLEGAL_NULL = 0x80041028, - WBEM_E_INVALID_QUALIFIER_TYPE = 0x80041029, - WBEM_E_INVALID_PROPERTY_TYPE = 0x8004102a, - WBEM_E_VALUE_OUT_OF_RANGE = 0x8004102b, - WBEM_E_CANNOT_BE_SINGLETON = 0x8004102c, - WBEM_E_INVALID_CIM_TYPE = 0x8004102d, - WBEM_E_INVALID_METHOD = 0x8004102e, - WBEM_E_INVALID_METHOD_PARAMETERS = 0x8004102f, - WBEM_E_SYSTEM_PROPERTY = 0x80041030, - WBEM_E_INVALID_PROPERTY = 0x80041031, - WBEM_E_CALL_CANCELLED = 0x80041032, - WBEM_E_SHUTTING_DOWN = 0x80041033, - WBEM_E_PROPAGATED_METHOD = 0x80041034, - WBEM_E_UNSUPPORTED_PARAMETER = 0x80041035, - WBEM_E_MISSING_PARAMETER_ID = 0x80041036, - WBEM_E_INVALID_PARAMETER_ID = 0x80041037, - WBEM_E_NONCONSECUTIVE_PARAMETER_IDS = 0x80041038, - WBEM_E_PARAMETER_ID_ON_RETVAL = 0x80041039, - WBEM_E_INVALID_OBJECT_PATH = 0x8004103a, - WBEM_E_OUT_OF_DISK_SPACE = 0x8004103b, - WBEM_E_BUFFER_TOO_SMALL = 0x8004103c, - WBEM_E_UNSUPPORTED_PUT_EXTENSION = 0x8004103d, - WBEM_E_UNKNOWN_OBJECT_TYPE = 0x8004103e, - WBEM_E_UNKNOWN_PACKET_TYPE = 0x8004103f, - WBEM_E_MARSHAL_VERSION_MISMATCH = 0x80041040, - WBEM_E_MARSHAL_INVALID_SIGNATURE = 0x80041041, - WBEM_E_INVALID_QUALIFIER = 0x80041042, - WBEM_E_INVALID_DUPLICATE_PARAMETER = 0x80041043, - WBEM_E_TOO_MUCH_DATA = 0x80041044, - WBEM_E_SERVER_TOO_BUSY = 0x80041045, - WBEM_E_INVALID_FLAVOR = 0x80041046, - WBEM_E_CIRCULAR_REFERENCE = 0x80041047, - WBEM_E_UNSUPPORTED_CLASS_UPDATE = 0x80041048, - WBEM_E_CANNOT_CHANGE_KEY_INHERITANCE = 0x80041049, - WBEM_E_CANNOT_CHANGE_INDEX_INHERITANCE = 0x80041050, - WBEM_E_TOO_MANY_PROPERTIES = 0x80041051, - WBEM_E_UPDATE_TYPE_MISMATCH = 0x80041052, - WBEM_E_UPDATE_OVERRIDE_NOT_ALLOWED = 0x80041053, - WBEM_E_UPDATE_PROPAGATED_METHOD = 0x80041054, - WBEM_E_METHOD_NOT_IMPLEMENTED = 0x80041055, - WBEM_E_METHOD_DISABLED = 0x80041056, - WBEM_E_REFRESHER_BUSY = 0x80041057, - WBEM_E_UNPARSABLE_QUERY = 0x80041058, - WBEM_E_NOT_EVENT_CLASS = 0x80041059, - WBEM_E_MISSING_GROUP_WITHIN = 0x8004105a, - WBEM_E_MISSING_AGGREGATION_LIST = 0x8004105b, - WBEM_E_PROPERTY_NOT_AN_OBJECT = 0x8004105c, - WBEM_E_AGGREGATING_BY_OBJECT = 0x8004105d, - WBEM_E_UNINTERPRETABLE_PROVIDER_QUERY = 0x8004105f, - WBEM_E_BACKUP_RESTORE_WINMGMT_RUNNING = 0x80041060, - WBEM_E_QUEUE_OVERFLOW = 0x80041061, - WBEM_E_PRIVILEGE_NOT_HELD = 0x80041062, - WBEM_E_INVALID_OPERATOR = 0x80041063, - WBEM_E_LOCAL_CREDENTIALS = 0x80041064, - WBEM_E_CANNOT_BE_ABSTRACT = 0x80041065, - WBEM_E_AMENDED_OBJECT = 0x80041066, - WBEM_E_CLIENT_TOO_SLOW = 0x80041067, - WBEM_E_NULL_SECURITY_DESCRIPTOR = 0x80041068, - WBEM_E_TIMED_OUT = 0x80041069, - WBEM_E_INVALID_ASSOCIATION = 0x8004106a, - WBEM_E_AMBIGUOUS_OPERATION = 0x8004106b, - WBEM_E_QUOTA_VIOLATION = 0x8004106c, - WBEM_E_RESERVED_001 = 0x8004106d, - WBEM_E_RESERVED_002 = 0x8004106e, - WBEM_E_UNSUPPORTED_LOCALE = 0x8004106f, - WBEM_E_HANDLE_OUT_OF_DATE = 0x80041070, - WBEM_E_CONNECTION_FAILED = 0x80041071, - WBEM_E_INVALID_HANDLE_REQUEST = 0x80041072, - WBEM_E_PROPERTY_NAME_TOO_WIDE = 0x80041073, - WBEM_E_CLASS_NAME_TOO_WIDE = 0x80041074, - WBEM_E_METHOD_NAME_TOO_WIDE = 0x80041075, - WBEM_E_QUALIFIER_NAME_TOO_WIDE = 0x80041076, - WBEM_E_RERUN_COMMAND = 0x80041077, - WBEM_E_DATABASE_VER_MISMATCH = 0x80041078, - WBEM_E_VETO_DELETE = 0x80041079, - WBEM_E_VETO_PUT = 0x8004107a, - WBEM_E_INVALID_LOCALE = 0x80041080, - WBEM_E_PROVIDER_SUSPENDED = 0x80041081, - WBEM_E_SYNCHRONIZATION_REQUIRED = 0x80041082, - WBEM_E_NO_SCHEMA = 0x80041083, - WBEM_E_PROVIDER_ALREADY_REGISTERED = 0x80041084, - WBEM_E_PROVIDER_NOT_REGISTERED = 0x80041085, - WBEM_E_FATAL_TRANSPORT_ERROR = 0x80041086, - WBEM_E_ENCRYPTED_CONNECTION_REQUIRED = 0x80041087, - WBEM_E_PROVIDER_TIMED_OUT = 0x80041088, - WBEM_E_NO_KEY = 0x80041089, - WBEM_E_PROVIDER_DISABLED = 0x8004108a, - WBEMESS_E_REGISTRATION_TOO_BROAD = 0x80042001, - WBEMESS_E_REGISTRATION_TOO_PRECISE = 0x80042002, - WBEMESS_E_AUTHZ_NOT_PRIVILEGED = 0x80042003, - WBEMMOF_E_EXPECTED_QUALIFIER_NAME = 0x80044001, - WBEMMOF_E_EXPECTED_SEMI = 0x80044002, - WBEMMOF_E_EXPECTED_OPEN_BRACE = 0x80044003, - WBEMMOF_E_EXPECTED_CLOSE_BRACE = 0x80044004, - WBEMMOF_E_EXPECTED_CLOSE_BRACKET = 0x80044005, - WBEMMOF_E_EXPECTED_CLOSE_PAREN = 0x80044006, - WBEMMOF_E_ILLEGAL_CONSTANT_VALUE = 0x80044007, - WBEMMOF_E_EXPECTED_TYPE_IDENTIFIER = 0x80044008, - WBEMMOF_E_EXPECTED_OPEN_PAREN = 0x80044009, - WBEMMOF_E_UNRECOGNIZED_TOKEN = 0x8004400a, - WBEMMOF_E_UNRECOGNIZED_TYPE = 0x8004400b, - WBEMMOF_E_EXPECTED_PROPERTY_NAME = 0x8004400c, - WBEMMOF_E_TYPEDEF_NOT_SUPPORTED = 0x8004400d, - WBEMMOF_E_UNEXPECTED_ALIAS = 0x8004400e, - WBEMMOF_E_UNEXPECTED_ARRAY_INIT = 0x8004400f, - WBEMMOF_E_INVALID_AMENDMENT_SYNTAX = 0x80044010, - WBEMMOF_E_INVALID_DUPLICATE_AMENDMENT = 0x80044011, - WBEMMOF_E_INVALID_PRAGMA = 0x80044012, - WBEMMOF_E_INVALID_NAMESPACE_SYNTAX = 0x80044013, - WBEMMOF_E_EXPECTED_CLASS_NAME = 0x80044014, - WBEMMOF_E_TYPE_MISMATCH = 0x80044015, - WBEMMOF_E_EXPECTED_ALIAS_NAME = 0x80044016, - WBEMMOF_E_INVALID_CLASS_DECLARATION = 0x80044017, - WBEMMOF_E_INVALID_INSTANCE_DECLARATION = 0x80044018, - WBEMMOF_E_EXPECTED_DOLLAR = 0x80044019, - WBEMMOF_E_CIMTYPE_QUALIFIER = 0x8004401a, - WBEMMOF_E_DUPLICATE_PROPERTY = 0x8004401b, - WBEMMOF_E_INVALID_NAMESPACE_SPECIFICATION = 0x8004401c, - WBEMMOF_E_OUT_OF_RANGE = 0x8004401d, - WBEMMOF_E_INVALID_FILE = 0x8004401e, - WBEMMOF_E_ALIASES_IN_EMBEDDED = 0x8004401f, - WBEMMOF_E_NULL_ARRAY_ELEM = 0x80044020, - WBEMMOF_E_DUPLICATE_QUALIFIER = 0x80044021, - WBEMMOF_E_EXPECTED_FLAVOR_TYPE = 0x80044022, - WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES = 0x80044023, - WBEMMOF_E_MULTIPLE_ALIASES = 0x80044024, - WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES2 = 0x80044025, - WBEMMOF_E_NO_ARRAYS_RETURNED = 0x80044026, - WBEMMOF_E_MUST_BE_IN_OR_OUT = 0x80044027, - WBEMMOF_E_INVALID_FLAGS_SYNTAX = 0x80044028, - WBEMMOF_E_EXPECTED_BRACE_OR_BAD_TYPE = 0x80044029, - WBEMMOF_E_UNSUPPORTED_CIMV22_QUAL_VALUE = 0x8004402a, - WBEMMOF_E_UNSUPPORTED_CIMV22_DATA_TYPE = 0x8004402b, - WBEMMOF_E_INVALID_DELETEINSTANCE_SYNTAX = 0x8004402c, - WBEMMOF_E_INVALID_QUALIFIER_SYNTAX = 0x8004402d, - WBEMMOF_E_QUALIFIER_USED_OUTSIDE_SCOPE = 0x8004402e, - WBEMMOF_E_ERROR_CREATING_TEMP_FILE = 0x8004402f, - WBEMMOF_E_ERROR_INVALID_INCLUDE_FILE = 0x80044030, - WBEMMOF_E_INVALID_DELETECLASS_SYNTAX = 0x80044031, -}} -// EXTERN_C const IID LIBID_WbemClient_v1; -// EXTERN_C const IID IID_IWbemClassObject; -DEFINE_GUID!{IID_IWbemClassObject, - 0xdc12a681, 0x737f, 0x11cf, 0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24} -RIDL!{#[uuid(0xdc12a681, 0x737f, 0x11cf, 0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24)] -interface IWbemClassObject(IWbemClassObjectVtbl): IUnknown(IUnknownVtbl) { - fn GetQualifierSet( - ppQualSet: *mut *mut IWbemQualifierSet, - ) -> HRESULT, - fn Get( - wszName: LPCWSTR, - lFlags: c_long, - pVal: *mut VARIANT, - pType: *mut CIMTYPE, - plFlavor: *mut c_long, - ) -> HRESULT, - fn Put( - wszName: LPCWSTR, - lFlags: c_long, - pVal: *mut VARIANT, - Type: CIMTYPE, - ) -> HRESULT, - fn Delete( - wszName: LPCWSTR, - ) -> HRESULT, - fn GetNames( - wszQualifierName: LPCWSTR, - lFlags: c_long, - pQualifierVal: *mut VARIANT, - pNames: *mut *mut SAFEARRAY, - ) -> HRESULT, - fn BeginEnumeration( - lEnumFlags: c_long, - ) -> HRESULT, - fn Next( - lFlags: c_long, - strName: *mut BSTR, - pVal: *mut VARIANT, - pType: *mut CIMTYPE, - plFlavor: *mut c_long, - ) -> HRESULT, - fn EndEnumeration() -> HRESULT, - fn GetPropertyQualifierSet( - wszProperty: LPCWSTR, - ppQualSet: *mut *mut IWbemQualifierSet, - ) -> HRESULT, - fn Clone( - ppCopy: *mut *mut IWbemClassObject, - ) -> HRESULT, - fn GetObjectText( - lFlags: c_long, - pstrObjectText: *mut BSTR, - ) -> HRESULT, - fn SpawnDerivedClass( - lFlags: c_long, - ppNewClass: *mut *mut IWbemClassObject, - ) -> HRESULT, - fn SpawnInstance( - lFlags: c_long, - ppNewInstance: *mut *mut IWbemClassObject, - ) -> HRESULT, - fn CompareTo( - lFlags: c_long, - pCompareTo: *mut IWbemClassObject, - ) -> HRESULT, - fn GetPropertyOrigin( - wszName: LPCWSTR, - pstrClassName: *mut BSTR, - ) -> HRESULT, - fn InheritsFrom( - strAncestor: LPCWSTR, - ) -> HRESULT, - fn GetMethod( - wszName: LPCWSTR, - lFlags: c_long, - ppInSignature: *mut *mut IWbemClassObject, - ppOutSignature: *mut *mut IWbemClassObject, - ) -> HRESULT, - fn PutMethod( - wszName: LPCWSTR, - lFlags: c_long, - pInSignature: *mut IWbemClassObject, - pOutSignature: *mut IWbemClassObject, - ) -> HRESULT, - fn DeleteMethod( - wszName: LPCWSTR, - ) -> HRESULT, - fn BeginMethodEnumeration( - lEnumFlags: c_long, - ) -> HRESULT, - fn NextMethod( - lFlags: c_long, - pstrName: *mut BSTR, - ppInSignature: *mut *mut IWbemClassObject, - ppOutSignature: *mut *mut IWbemClassObject, - ) -> HRESULT, - fn EndMethodEnumeration() -> HRESULT, - fn GetMethodQualifierSet( - wszMethod: LPCWSTR, - ppQualSet: *mut *mut IWbemQualifierSet, - ) -> HRESULT, - fn GetMethodOrigin( - wszMethodName: LPCWSTR, - pstrClassName: *mut BSTR, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemObjectAccess; -DEFINE_GUID!{IID_IWbemObjectAccess, - 0x49353c9a, 0x516b, 0x11d1, 0xae, 0xa6, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20} -RIDL!{#[uuid(0x49353c9a, 0x516b, 0x11d1, 0xae, 0xa6, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)] -interface IWbemObjectAccess(IWbemObjectAccessVtbl): IWbemClassObject(IWbemClassObjectVtbl) { - fn GetPropertyHandle( - wszPropertyName: LPCWSTR, - pType: *mut CIMTYPE, - plHandle: *mut c_long, - ) -> HRESULT, - fn WritePropertyValue( - lHandle: c_long, - lNumBytes: c_long, - aData: *const byte, - ) -> HRESULT, - fn ReadPropertyValue( - lHandle: c_long, - lBufferSize: c_long, - plNumBytes: *mut c_long, - aData: *mut byte, - ) -> HRESULT, - fn ReadDWORD( - lHandle: c_long, - pdw: *mut DWORD, - ) -> HRESULT, - fn WriteDWORD( - lHandle: c_long, - dw: DWORD, - ) -> HRESULT, - fn ReadQWORD( - lHandle: c_long, - pqw: *mut __uint64, - ) -> HRESULT, - fn WriteQWORD( - lHandle: c_long, - pw: __uint64, - ) -> HRESULT, - fn GetPropertyInfoByHandle( - lHandle: c_long, - pstrName: *mut BSTR, - pType: *mut CIMTYPE, - ) -> HRESULT, - fn Lock( - lFlags: c_long, - ) -> HRESULT, - fn Unlock( - lFlags: c_long, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemQualifierSet; -DEFINE_GUID!{IID_IWbemQualifierSet, - 0xdc12a680, 0x737f, 0x11cf, 0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24} -RIDL!{#[uuid(0xdc12a680, 0x737f, 0x11cf, 0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24)] -interface IWbemQualifierSet(IWbemQualifierSetVtbl): IUnknown(IUnknownVtbl) { - fn Get( - wszName: LPCWSTR, - lFlags: c_long, - pVal: *mut VARIANT, - plFlavor: *mut c_long, - ) -> HRESULT, - fn Put( - wszName: LPCWSTR, - pVal: *mut VARIANT, - lFlavor: c_long, - ) -> HRESULT, - fn Delete( - wszName: LPCWSTR, - ) -> HRESULT, - fn GetNames( - lFlags: c_long, - pNames: *mut *mut SAFEARRAY, - ) -> HRESULT, - fn BeginEnumeration( - lFlags: c_long, - ) -> HRESULT, - fn Next( - lFlags: c_long, - pstrName: *mut BSTR, - pVal: *mut VARIANT, - plFlavor: *mut c_long, - ) -> HRESULT, - fn EndEnumeration() -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemServices; -DEFINE_GUID!{IID_IWbemServices, - 0x9556dc99, 0x828c, 0x11cf, 0xa3, 0x7e, 0x00, 0xaa, 0x00, 0x32, 0x40, 0xc7} -RIDL!{#[uuid(0x9556dc99, 0x828c, 0x11cf, 0xa3, 0x7e, 0x00, 0xaa, 0x00, 0x32, 0x40, 0xc7)] -interface IWbemServices(IWbemServicesVtbl): IUnknown(IUnknownVtbl) { - fn OpenNamespace( - strNamespace: BSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - ppWorkingNamespace: *mut *mut IWbemServices, - ppResult: *mut *mut IWbemCallResult, - ) -> HRESULT, - fn CancelAsyncCall( - pSink: *mut IWbemObjectSink, - ) -> HRESULT, - fn QueryObjectSink( - lFlags: c_long, - ppResponseHandler: *mut *mut IWbemObjectSink, - ) -> HRESULT, - fn GetObject( - strObjectPath: BSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - ppObject: *mut *mut IWbemClassObject, - ppCallResult: *mut *mut IWbemCallResult, - ) -> HRESULT, - fn GetObjectAsync( - strObjectPath: BSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - pResponseHandler: *mut IWbemObjectSink, - ) -> HRESULT, - fn PutClass( - pObject: *mut IWbemClassObject, - lFlags: c_long, - pCtx: *mut IWbemContext, - ppCallResult: *mut *mut IWbemCallResult, - ) -> HRESULT, - fn PutClassAsync( - pObject: *mut IWbemClassObject, - lFlags: c_long, - pCtx: *mut IWbemContext, - pResponseHandler: *mut IWbemObjectSink, - ) -> HRESULT, - fn DeleteClass( - strClass: BSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - ppCallResult: *mut *mut IWbemCallResult, - ) -> HRESULT, - fn DeleteClassAsync( - strClass: BSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - pResponseHandler: *mut IWbemObjectSink, - ) -> HRESULT, - fn CreateClassEnum( - strSuperclass: BSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - ppEnum: *mut *mut IEnumWbemClassObject, - ) -> HRESULT, - fn CreateClassEnumAsync( - strSuperclass: BSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - pResponseHandler: *mut IWbemObjectSink, - ) -> HRESULT, - fn PutInstance( - pInst: *mut IWbemClassObject, - lFlags: c_long, - pCtx: *mut IWbemContext, - ppCallResult: *mut *mut IWbemCallResult, - ) -> HRESULT, - fn PutInstanceAsync( - pInst: *mut IWbemClassObject, - lFlags: c_long, - pCtx: *mut IWbemContext, - pResponseHandler: *mut IWbemObjectSink, - ) -> HRESULT, - fn DeleteInstance( - strObjectPath: BSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - ppCallResult: *mut *mut IWbemCallResult, - ) -> HRESULT, - fn DeleteInstanceAsync( - strObjectPath: BSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - pResponseHandler: *mut IWbemObjectSink, - ) -> HRESULT, - fn CreateInstanceEnum( - strFilter: BSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - ppEnum: *mut *mut IEnumWbemClassObject, - ) -> HRESULT, - fn CreateInstanceEnumAsync( - strFilter: BSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - pResponseHandler: *mut IWbemObjectSink, - ) -> HRESULT, - fn ExecQuery( - strQueryLanguage: BSTR, - strQuery: BSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - ppEnum: *mut *mut IEnumWbemClassObject, - ) -> HRESULT, - fn ExecQueryAsync( - strQueryLanguage: BSTR, - strQuery: BSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - pResponseHandler: *mut IWbemObjectSink, - ) -> HRESULT, - fn ExecNotificationQuery( - strQueryLanguage: BSTR, - strQuery: BSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - ppEnum: *mut *mut IEnumWbemClassObject, - ) -> HRESULT, - fn ExecNotificationQueryAsync( - strQueryLanguage: BSTR, - strQuery: BSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - pResponseHandler: *mut IWbemObjectSink, - ) -> HRESULT, - fn ExecMethod( - strObjectPath: BSTR, - strMethodName: BSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - pInParams: *mut IWbemClassObject, - ppOutParams: *mut *mut IWbemClassObject, - ppCallResult: *mut *mut IWbemCallResult, - ) -> HRESULT, - fn ExecMethodAsync( - strObjectPath: BSTR, - strMethodName: BSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - pInParams: *mut IWbemClassObject, - pResponseHandler: *mut IWbemObjectSink, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemLocator; -DEFINE_GUID!{IID_IWbemLocator, - 0xdc12a687, 0x737f, 0x11cf, 0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24} -RIDL!{#[uuid(0xdc12a687, 0x737f, 0x11cf, 0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24)] -interface IWbemLocator(IWbemLocatorVtbl): IUnknown(IUnknownVtbl) { - fn ConnectServer( - strNetworkResource: BSTR, - strUser: BSTR, - strPassword: BSTR, - strLocale: BSTR, - lSecurityFlags: c_long, - strAuthority: BSTR, - pCtx: *mut IWbemContext, - ppNamespace: *mut *mut IWbemServices, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemObjectSink; -DEFINE_GUID!{IID_IWbemObjectSink, - 0x7c857801, 0x7381, 0x11cf, 0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24} -RIDL!{#[uuid(0x7c857801, 0x7381, 0x11cf, 0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24)] -interface IWbemObjectSink(IWbemObjectSinkVtbl): IUnknown(IUnknownVtbl) { - fn Indicate( - lObjectCount: c_long, - apObjArray: *mut *mut IWbemClassObject, - ) -> HRESULT, - fn SetStatus( - lFlags: c_long, - hResult: HRESULT, - strParam: BSTR, - pObjParam: *mut IWbemClassObject, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IEnumWbemClassObject; -DEFINE_GUID!{IID_IEnumWbemClassObject, - 0x027947e1, 0xd731, 0x11ce, 0xa3, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01} -RIDL!{#[uuid(0x027947e1, 0xd731, 0x11ce, 0xa3, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01)] -interface IEnumWbemClassObject(IEnumWbemClassObjectVtbl): IUnknown(IUnknownVtbl) { - fn Reset() -> HRESULT, - fn Next( - lTimeout: c_long, - uCount: ULONG, - apObjects: *mut *mut IWbemClassObject, - puReturned: *mut ULONG, - ) -> HRESULT, - fn NextAsync( - uCount: ULONG, - pSink: *mut IWbemObjectSink, - ) -> HRESULT, - fn Clone( - ppEnum: *mut *mut IEnumWbemClassObject, - ) -> HRESULT, - fn Skip( - lTimeout: c_long, - nCount: ULONG, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemCallResult; -DEFINE_GUID!{IID_IWbemCallResult, - 0x44aca675, 0xe8fc, 0x11d0, 0xa0, 0x7c, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20} -RIDL!{#[uuid(0x44aca675, 0xe8fc, 0x11d0, 0xa0, 0x7c, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)] -interface IWbemCallResult(IWbemCallResultVtbl): IUnknown(IUnknownVtbl) { - fn GetResultObject( - lTimeout: c_long, - ppResultObject: *mut *mut IWbemClassObject, - ) -> HRESULT, - fn GetResultString( - lTimeout: c_long, - pstrResultString: *mut BSTR, - ) -> HRESULT, - fn GetResultServices( - lTimeout: c_long, - ppServices: *mut *mut IWbemServices, - ) -> HRESULT, - fn GetCallStatus( - lTimeout: c_long, - plStatus: *mut c_long, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemContext; -DEFINE_GUID!{IID_IWbemContext, - 0x44aca674, 0xe8fc, 0x11d0, 0xa0, 0x7c, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20} -RIDL!{#[uuid(0x44aca674, 0xe8fc, 0x11d0, 0xa0, 0x7c, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)] -interface IWbemContext(IWbemContextVtbl): IUnknown(IUnknownVtbl) { - fn Clone( - ppNewCopy: *mut *mut IWbemContext, - ) -> HRESULT, - fn GetNames( - lFlags: c_long, - pNames: *mut *mut SAFEARRAY, - ) -> HRESULT, - fn BeginEnumeration( - lFlags: c_long, - ) -> HRESULT, - fn Next( - lFlags: c_long, - pstrName: *mut BSTR, - pValue: *mut VARIANT, - ) -> HRESULT, - fn EndEnumeration() -> HRESULT, - fn SetValue( - wszName: LPCWSTR, - lFlags: c_long, - pValue: *mut VARIANT, - ) -> HRESULT, - fn GetValue( - wszName: LPCWSTR, - lFlags: c_long, - pValue: *mut VARIANT, - ) -> HRESULT, - fn DeleteValue( - wszName: LPCWSTR, - lFlags: c_long, - ) -> HRESULT, - fn DeleteAll() -> HRESULT, -}} -// EXTERN_C const IID IID_IUnsecuredApartment; -DEFINE_GUID!{IID_IUnsecuredApartment, - 0x1cfaba8c, 0x1523, 0x11d1, 0xad, 0x79, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff} -RIDL!{#[uuid(0x1cfaba8c, 0x1523, 0x11d1, 0xad, 0x79, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff)] -interface IUnsecuredApartment(IUnsecuredApartmentVtbl): IUnknown(IUnknownVtbl) { - fn CreateObjectStub( - pObject: *mut IUnknown, - ppStub: *mut *mut IUnknown, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemUnsecuredApartment; -DEFINE_GUID!{IID_IWbemUnsecuredApartment, - 0x31739d04, 0x3471, 0x4cf4, 0x9a, 0x7c, 0x57, 0xa4, 0x4a, 0xe7, 0x19, 0x56} -RIDL!{#[uuid(0x31739d04, 0x3471, 0x4cf4, 0x9a, 0x7c, 0x57, 0xa4, 0x4a, 0xe7, 0x19, 0x56)] -interface IWbemUnsecuredApartment(IWbemUnsecuredApartmentVtbl): -IUnsecuredApartment(IUnsecuredApartmentVtbl) { - fn CreateSinkStub( - pSink: *mut IWbemObjectSink, - dwFlags: DWORD, - wszReserved: LPCWSTR, - ppStub: *mut *mut IWbemObjectSink, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemStatusCodeText; -DEFINE_GUID!{IID_IWbemStatusCodeText, - 0xeb87e1bc, 0x3233, 0x11d2, 0xae, 0xc9, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20} -RIDL!{#[uuid(0xeb87e1bc, 0x3233, 0x11d2, 0xae, 0xc9, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)] -interface IWbemStatusCodeText(IWbemStatusCodeTextVtbl): IUnknown(IUnknownVtbl) { - fn GetErrorCodeText( - hRes: HRESULT, - LocaleId: LCID, - lFlags: c_long, - MessageText: *mut BSTR, - ) -> HRESULT, - fn GetFacilityCodeText( - hRes: HRESULT, - LocaleId: LCID, - lFlags: c_long, - MessageText: *mut BSTR, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemBackupRestore; -DEFINE_GUID!{IID_IWbemBackupRestore, - 0xc49e32c7, 0xbc8b, 0x11d2, 0x85, 0xd4, 0x00, 0x10, 0x5a, 0x1f, 0x83, 0x04} -RIDL!{#[uuid(0xc49e32c7, 0xbc8b, 0x11d2, 0x85, 0xd4, 0x00, 0x10, 0x5a, 0x1f, 0x83, 0x04)] -interface IWbemBackupRestore(IWbemBackupRestoreVtbl): IUnknown(IUnknownVtbl) { - fn Backup( - strBackupToFile: LPCWSTR, - lFlags: c_long, - ) -> HRESULT, - fn Restore( - strRestoreFromFile: LPCWSTR, - lFlags: c_long, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemBackupRestoreEx; -DEFINE_GUID!{IID_IWbemBackupRestoreEx, - 0xa359dec5, 0xe813, 0x4834, 0x8a, 0x2a, 0xba, 0x7f, 0x1d, 0x77, 0x7d, 0x76} -RIDL!{#[uuid(0xa359dec5, 0xe813, 0x4834, 0x8a, 0x2a, 0xba, 0x7f, 0x1d, 0x77, 0x7d, 0x76)] -interface IWbemBackupRestoreEx(IWbemBackupRestoreExVtbl): -IWbemBackupRestore(IWbemBackupRestoreVtbl) { - fn Pause() -> HRESULT, - fn Resume() -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemRefresher; -DEFINE_GUID!{IID_IWbemRefresher, - 0x49353c99, 0x516b, 0x11d1, 0xae, 0xa6, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20} -RIDL!{#[uuid(0x49353c99, 0x516b, 0x11d1, 0xae, 0xa6, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)] -interface IWbemRefresher(IWbemRefresherVtbl): IUnknown(IUnknownVtbl) { - fn Refresh( - lFlags: c_long, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemHiPerfEnum; -DEFINE_GUID!{IID_IWbemHiPerfEnum, - 0x2705c288, 0x79ae, 0x11d2, 0xb3, 0x48, 0x00, 0x10, 0x5a, 0x1f, 0x81, 0x77} -RIDL!{#[uuid(0x2705c288, 0x79ae, 0x11d2, 0xb3, 0x48, 0x00, 0x10, 0x5a, 0x1f, 0x81, 0x77)] -interface IWbemHiPerfEnum(IWbemHiPerfEnumVtbl): IUnknown(IUnknownVtbl) { - fn AddObjects( - lFlags: c_long, - uNumObjects: ULONG, - apIds: *mut c_long, - apObj: *mut *mut IWbemObjectAccess, - ) -> HRESULT, - fn RemoveObjects( - lFlags: c_long, - uNumObjects: ULONG, - apIds: *mut c_long, - ) -> HRESULT, - fn GetObjects( - lFlags: c_long, - uNumObjects: ULONG, - apObj: *mut *mut IWbemObjectAccess, - puReturned: *mut ULONG, - ) -> HRESULT, - fn RemoveAll( - lFlags: c_long, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemConfigureRefresher; -DEFINE_GUID!{IID_IWbemConfigureRefresher, - 0x49353c92, 0x516b, 0x11d1, 0xae, 0xa6, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20} -RIDL!{#[uuid(0x49353c92, 0x516b, 0x11d1, 0xae, 0xa6, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)] -interface IWbemConfigureRefresher(IWbemConfigureRefresherVtbl): IUnknown(IUnknownVtbl) { - fn AddObjectByPath( - pNamespace: *mut IWbemServices, - wszPath: LPCWSTR, - lFlags: c_long, - pContext: *mut IWbemContext, - ppRefreshable: *mut *mut IWbemClassObject, - plId: *mut c_long, - ) -> HRESULT, - fn AddObjectByTemplate( - pNamespace: *mut IWbemServices, - pTemplate: *mut IWbemClassObject, - lFlags: c_long, - pContext: *mut IWbemContext, - ppRefreshable: *mut *mut IWbemClassObject, - plId: *mut c_long, - ) -> HRESULT, - fn AddRefresher( - pRefresher: *mut IWbemRefresher, - lFlags: c_long, - plId: *mut c_long, - ) -> HRESULT, - fn Remove( - lId: c_long, - lFlags: c_long, - ) -> HRESULT, - fn AddEnum( - pNamespace: *mut IWbemServices, - wszClassName: LPCWSTR, - lFlags: c_long, - pContext: *mut IWbemContext, - ppEnum: *mut *mut IWbemHiPerfEnum, - plId: *mut c_long, - ) -> HRESULT, -}} -DEFINE_GUID!{CLSID_WbemLocator, - 0x4590f811, 0x1d3a, 0x11d0, 0x89, 0x1f, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24} -// class DECLSPEC_UUID("4590f811-1d3a-11d0-891f-00aa004b2e24") -// WbemLocator; -DEFINE_GUID!{CLSID_WbemContext, - 0x674B6698, 0xEE92, 0x11d0, 0xAD, 0x71, 0x00, 0xC0, 0x4F, 0xD8, 0xFD, 0xFF} -// class DECLSPEC_UUID("674B6698-EE92-11d0-AD71-00C04FD8FDFF") -// WbemContext; -DEFINE_GUID!{CLSID_UnsecuredApartment, - 0x49bd2028, 0x1523, 0x11d1, 0xad, 0x79, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff} -// class DECLSPEC_UUID("49bd2028-1523-11d1-ad79-00c04fd8fdff") -// UnsecuredApartment; -DEFINE_GUID!{CLSID_WbemClassObject, - 0x9A653086, 0x174F, 0x11d2, 0xB5, 0xF9, 0x00, 0x10, 0x4B, 0x70, 0x3E, 0xFD} -// class DECLSPEC_UUID("9A653086-174F-11d2-B5F9-00104B703EFD") -// WbemClassObject; -DEFINE_GUID!{CLSID_MofCompiler, - 0x6daf9757, 0x2e37, 0x11d2, 0xae, 0xc9, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20} -// class DECLSPEC_UUID("6daf9757-2e37-11d2-aec9-00c04fb68820") -// MofCompiler; -DEFINE_GUID!{CLSID_WbemStatusCodeText, - 0xeb87e1bd, 0x3233, 0x11d2, 0xae, 0xc9, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20} -// class DECLSPEC_UUID("eb87e1bd-3233-11d2-aec9-00c04fb68820") -// WbemStatusCodeText; -DEFINE_GUID!{CLSID_WbemBackupRestore, - 0xC49E32C6, 0xBC8B, 0x11d2, 0x85, 0xD4, 0x00, 0x10, 0x5A, 0x1F, 0x83, 0x04} -// class DECLSPEC_UUID("C49E32C6-BC8B-11d2-85D4-00105A1F8304") -// WbemBackupRestore; -DEFINE_GUID!{CLSID_WbemRefresher, - 0xc71566f2, 0x561e, 0x11d1, 0xad, 0x87, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff} -// class DECLSPEC_UUID("c71566f2-561e-11d1-ad87-00c04fd8fdff") -// WbemRefresher; -DEFINE_GUID!{CLSID_WbemObjectTextSrc, - 0x8D1C559D, 0x84F0, 0x4bb3, 0xA7, 0xD5, 0x56, 0xA7, 0x43, 0x5A, 0x9B, 0xA6} -// class DECLSPEC_UUID("8D1C559D-84F0-4bb3-A7D5-56A7435A9BA6") -// WbemObjectTextSrc; -// extern RPC_IF_HANDLE __MIDL_itf_wbemcli_0000_0001_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemcli_0000_0001_v0_0_s_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemcli_0000_0003_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemcli_0000_0003_v0_0_s_ifspec; -// EXTERN_C const IID IID_IWbemObjectSinkEx; -DEFINE_GUID!{IID_IWbemObjectSinkEx, - 0xe7d35cfa, 0x348b, 0x485e, 0xb5, 0x24, 0x25, 0x27, 0x25, 0xd6, 0x97, 0xca} -RIDL!{#[uuid(0xe7d35cfa, 0x348b, 0x485e, 0xb5, 0x24, 0x25, 0x27, 0x25, 0xd6, 0x97, 0xca)] -interface IWbemObjectSinkEx(IWbemObjectSinkExVtbl): IWbemObjectSink(IWbemObjectSinkVtbl) { - fn WriteMessage( - uChannel: ULONG, - strMessage: BSTR, - ) -> HRESULT, - fn WriteError( - pObjError: *mut IWbemClassObject, - puReturned: *mut c_uchar, - ) -> HRESULT, - fn PromptUser( - strMessage: BSTR, - uPromptType: c_uchar, - puReturned: *mut c_uchar, - ) -> HRESULT, - fn WriteProgress( - strActivity: BSTR, - strCurrentOperation: BSTR, - strStatusDescription: BSTR, - uPercentComplete: ULONG, - uSecondsRemaining: ULONG, - ) -> HRESULT, - fn WriteStreamParameter( - strName: BSTR, - vtValue: *mut VARIANT, - ulType: ULONG, - ulFlags: ULONG, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemShutdown; -DEFINE_GUID!{IID_IWbemShutdown, - 0xb7b31df9, 0xd515, 0x11d3, 0xa1, 0x1c, 0x00, 0x10, 0x5a, 0x1f, 0x51, 0x5a} -RIDL!{#[uuid(0xb7b31df9, 0xd515, 0x11d3, 0xa1, 0x1c, 0x00, 0x10, 0x5a, 0x1f, 0x51, 0x5a)] -interface IWbemShutdown(IWbemShutdownVtbl): IUnknown(IUnknownVtbl) { - fn Shutdown( - uReason: LONG, - uMaxMilliseconds: ULONG, - pCtx: *mut IWbemContext, - ) -> HRESULT, -}} -ENUM!{enum WMI_OBJ_TEXT { - WMI_OBJ_TEXT_CIM_DTD_2_0 = 1, - WMI_OBJ_TEXT_WMI_DTD_2_0 = 2, - WMI_OBJ_TEXT_WMI_EXT1 = 3, - WMI_OBJ_TEXT_WMI_EXT2 = 4, - WMI_OBJ_TEXT_WMI_EXT3 = 5, - WMI_OBJ_TEXT_WMI_EXT4 = 6, - WMI_OBJ_TEXT_WMI_EXT5 = 7, - WMI_OBJ_TEXT_WMI_EXT6 = 8, - WMI_OBJ_TEXT_WMI_EXT7 = 9, - WMI_OBJ_TEXT_WMI_EXT8 = 10, - WMI_OBJ_TEXT_WMI_EXT9 = 11, - WMI_OBJ_TEXT_WMI_EXT10 = 12, - WMI_OBJ_TEXT_LAST = 13, -}} -// extern RPC_IF_HANDLE __MIDL_itf_wbemcli_0000_0011_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemcli_0000_0011_v0_0_s_ifspec; -// EXTERN_C const IID IID_IWbemObjectTextSrc; -DEFINE_GUID!{IID_IWbemObjectTextSrc, - 0xbfbf883a, 0xcad7, 0x11d3, 0xa1, 0x1b, 0x00, 0x10, 0x5a, 0x1f, 0x51, 0x5a} -RIDL!{#[uuid(0xbfbf883a, 0xcad7, 0x11d3, 0xa1, 0x1b, 0x00, 0x10, 0x5a, 0x1f, 0x51, 0x5a)] -interface IWbemObjectTextSrc(IWbemObjectTextSrcVtbl): IUnknown(IUnknownVtbl) { - fn GetText( - lFlags: c_long, - pObj: *mut IWbemClassObject, - uObjTextFormat: ULONG, - pCtx: *mut IWbemContext, - strText: *mut BSTR, - ) -> HRESULT, - fn CreateFromText( - lFlags: c_long, - strText: BSTR, - uObjTextFormat: ULONG, - pCtx: *mut IWbemContext, - pNewObj: *mut *mut IWbemClassObject, - ) -> HRESULT, -}} -STRUCT!{struct WBEM_COMPILE_STATUS_INFO { - lPhaseError: c_long, - hRes: HRESULT, - ObjectNum: c_long, - FirstLine: c_long, - LastLine: c_long, - dwOutFlags: DWORD, -}} -ENUM!{enum WBEM_COMPILER_OPTIONS { - WBEM_FLAG_CHECK_ONLY = 0x1, - WBEM_FLAG_AUTORECOVER = 0x2, - WBEM_FLAG_WMI_CHECK = 0x4, - WBEM_FLAG_CONSOLE_PRINT = 0x8, - WBEM_FLAG_DONT_ADD_TO_LIST = 0x10, - WBEM_FLAG_SPLIT_FILES = 0x20, - WBEM_FLAG_STORE_FILE = 0x100, -}} -ENUM!{enum WBEM_CONNECT_OPTIONS { - WBEM_FLAG_CONNECT_REPOSITORY_ONLY = 0x40, - WBEM_FLAG_CONNECT_USE_MAX_WAIT = 0x80, - WBEM_FLAG_CONNECT_PROVIDERS = 0x100, -}} -// extern RPC_IF_HANDLE __MIDL_itf_wbemcli_0000_0013_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemcli_0000_0013_v0_0_s_ifspec; -// EXTERN_C const IID IID_IMofCompiler; -DEFINE_GUID!{IID_IMofCompiler, - 0x6daf974e, 0x2e37, 0x11d2, 0xae, 0xc9, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20} -RIDL!{#[uuid(0x6daf974e, 0x2e37, 0x11d2, 0xae, 0xc9, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)] -interface IMofCompiler(IMofCompilerVtbl): IUnknown(IUnknownVtbl) { - fn CompileFile( - FileName: LPWSTR, - ServerAndNamespace: LPWSTR, - User: LPWSTR, - Authority: LPWSTR, - Password: LPWSTR, - lOptionFlags: LONG, - lClassFlags: LONG, - lInstanceFlags: LONG, - pInfo: *mut WBEM_COMPILE_STATUS_INFO, - ) -> HRESULT, - fn CompileBuffer( - BuffSize: c_long, - pBuffer: *mut BYTE, - ServerAndNamespace: LPWSTR, - User: LPWSTR, - Authority: LPWSTR, - Password: LPWSTR, - lOptionFlags: LONG, - lClassFlags: LONG, - lInstanceFlags: LONG, - pInfo: *mut WBEM_COMPILE_STATUS_INFO, - ) -> HRESULT, - fn CreateBMOF( - TextFileName: LPWSTR, - BMOFFileName: LPWSTR, - ServerAndNamespace: LPWSTR, - lOptionFlags: LONG, - lClassFlags: LONG, - lInstanceFlags: LONG, - pInfo: *mut WBEM_COMPILE_STATUS_INFO, - ) -> HRESULT, -}} -ENUM!{enum WBEM_UNSECAPP_FLAG_TYPE { - WBEM_FLAG_UNSECAPP_DEFAULT_CHECK_ACCESS = 0, - WBEM_FLAG_UNSECAPP_CHECK_ACCESS = 1, - WBEM_FLAG_UNSECAPP_DONT_CHECK_ACCESS = 2, -}} -// extern RPC_IF_HANDLE __MIDL_itf_wbemcli_0000_0015_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemcli_0000_0015_v0_0_s_ifspec; -ENUM!{enum WBEM_INFORMATION_FLAG_TYPE { - WBEM_FLAG_SHORT_NAME = 0x1, - WBEM_FLAG_LONG_NAME = 0x2, -}} -// extern RPC_IF_HANDLE __MIDL_itf_wbemcli_0000_0016_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemcli_0000_0016_v0_0_s_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemcli_0000_0022_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemcli_0000_0022_v0_0_s_ifspec; -// unsigned c_long __RPC_USER BSTR_UserSize( __RPC__in unsigned c_long *, unsigned c_long , __RPC__in BSTR * ); -// unsigned char * __RPC_USER BSTR_UserMarshal( __RPC__in unsigned c_long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * ); -// unsigned char * __RPC_USER BSTR_UserUnmarshal(__RPC__in unsigned c_long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * ); -// void __RPC_USER BSTR_UserFree( __RPC__in unsigned c_long *, __RPC__in BSTR * ); -// unsigned c_long __RPC_USER VARIANT_UserSize( __RPC__in unsigned c_long *, unsigned c_long , __RPC__in VARIANT * ); -// unsigned char * __RPC_USER VARIANT_UserMarshal( __RPC__in unsigned c_long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in VARIANT * ); -// unsigned char * __RPC_USER VARIANT_UserUnmarshal(__RPC__in unsigned c_long *, __RPC__in_xcount(0) unsigned char *, __RPC__out VARIANT * ); -// void __RPC_USER VARIANT_UserFree( __RPC__in unsigned c_long *, __RPC__in VARIANT * ); -// unsigned c_long __RPC_USER BSTR_UserSize64( __RPC__in unsigned c_long *, unsigned c_long , __RPC__in BSTR * ); -// unsigned char * __RPC_USER BSTR_UserMarshal64( __RPC__in unsigned c_long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * ); -// unsigned char * __RPC_USER BSTR_UserUnmarshal64(__RPC__in unsigned c_long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * ); -// void __RPC_USER BSTR_UserFree64( __RPC__in unsigned c_long *, __RPC__in BSTR * ); -// unsigned c_long __RPC_USER VARIANT_UserSize64( __RPC__in unsigned c_long *, unsigned c_long , __RPC__in VARIANT * ); -// unsigned char * __RPC_USER VARIANT_UserMarshal64( __RPC__in unsigned c_long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in VARIANT * ); -// unsigned char * __RPC_USER VARIANT_UserUnmarshal64(__RPC__in unsigned c_long *, __RPC__in_xcount(0) unsigned char *, __RPC__out VARIANT * ); -// void __RPC_USER VARIANT_UserFree64( __RPC__in unsigned c_long *, __RPC__in VARIANT * ); diff --git a/vendor/registry-40351f815f426200/winapi/src/um/wbemdisp.rs b/vendor/registry-40351f815f426200/winapi/src/um/wbemdisp.rs deleted file mode 100644 index 8e3ec7736..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/wbemdisp.rs +++ /dev/null @@ -1,1344 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_long; -use shared::winerror::HRESULT; -use shared::wtypes::{BSTR, DATE, VARIANT_BOOL}; -use um::oaidl::{DISPID, IDispatch, IDispatchVtbl, VARIANT}; -use um::unknwnbase::IUnknown; -// extern RPC_IF_HANDLE __MIDL_itf_wbemdisp_0000_0000_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemdisp_0000_0000_v0_0_s_ifspec; -ENUM!{enum WbemChangeFlagEnum { - wbemChangeFlagCreateOrUpdate = 0, - wbemChangeFlagUpdateOnly = 0x1, - wbemChangeFlagCreateOnly = 0x2, - wbemChangeFlagUpdateCompatible = 0, - wbemChangeFlagUpdateSafeMode = 0x20, - wbemChangeFlagUpdateForceMode = 0x40, - wbemChangeFlagStrongValidation = 0x80, - wbemChangeFlagAdvisory = 0x10000, -}} -ENUM!{enum WbemFlagEnum { - wbemFlagReturnImmediately = 0x10, - wbemFlagReturnWhenComplete = 0, - wbemFlagBidirectional = 0, - wbemFlagForwardOnly = 0x20, - wbemFlagNoErrorObject = 0x40, - wbemFlagReturnErrorObject = 0, - wbemFlagSendStatus = 0x80, - wbemFlagDontSendStatus = 0, - wbemFlagEnsureLocatable = 0x100, - wbemFlagDirectRead = 0x200, - wbemFlagSendOnlySelected = 0, - wbemFlagUseAmendedQualifiers = 0x20000, - wbemFlagGetDefault = 0, - wbemFlagSpawnInstance = 0x1, - wbemFlagUseCurrentTime = 0x1, -}} -ENUM!{enum WbemQueryFlagEnum { - wbemQueryFlagDeep = 0, - wbemQueryFlagShallow = 1, - wbemQueryFlagPrototype = 2, -}} -ENUM!{enum WbemTextFlagEnum { - wbemTextFlagNoFlavors = 0x1, -}} -ENUM!{enum WbemTimeout { - wbemTimeoutInfinite = 0xffffffff, -}} -ENUM!{enum WbemComparisonFlagEnum { - wbemComparisonFlagIncludeAll = 0, - wbemComparisonFlagIgnoreQualifiers = 0x1, - wbemComparisonFlagIgnoreObjectSource = 0x2, - wbemComparisonFlagIgnoreDefaultValues = 0x4, - wbemComparisonFlagIgnoreClass = 0x8, - wbemComparisonFlagIgnoreCase = 0x10, - wbemComparisonFlagIgnoreFlavor = 0x20, -}} -ENUM!{enum WbemCimtypeEnum { - wbemCimtypeSint8 = 16, - wbemCimtypeUint8 = 17, - wbemCimtypeSint16 = 2, - wbemCimtypeUint16 = 18, - wbemCimtypeSint32 = 3, - wbemCimtypeUint32 = 19, - wbemCimtypeSint64 = 20, - wbemCimtypeUint64 = 21, - wbemCimtypeReal32 = 4, - wbemCimtypeReal64 = 5, - wbemCimtypeBoolean = 11, - wbemCimtypeString = 8, - wbemCimtypeDatetime = 101, - wbemCimtypeReference = 102, - wbemCimtypeChar16 = 103, - wbemCimtypeObject = 13, -}} -ENUM!{enum WbemErrorEnum { - wbemNoErr = 0, - wbemErrFailed = 0x80041001, - wbemErrNotFound = 0x80041002, - wbemErrAccessDenied = 0x80041003, - wbemErrProviderFailure = 0x80041004, - wbemErrTypeMismatch = 0x80041005, - wbemErrOutOfMemory = 0x80041006, - wbemErrInvalidContext = 0x80041007, - wbemErrInvalidParameter = 0x80041008, - wbemErrNotAvailable = 0x80041009, - wbemErrCriticalError = 0x8004100a, - wbemErrInvalidStream = 0x8004100b, - wbemErrNotSupported = 0x8004100c, - wbemErrInvalidSuperclass = 0x8004100d, - wbemErrInvalidNamespace = 0x8004100e, - wbemErrInvalidObject = 0x8004100f, - wbemErrInvalidClass = 0x80041010, - wbemErrProviderNotFound = 0x80041011, - wbemErrInvalidProviderRegistration = 0x80041012, - wbemErrProviderLoadFailure = 0x80041013, - wbemErrInitializationFailure = 0x80041014, - wbemErrTransportFailure = 0x80041015, - wbemErrInvalidOperation = 0x80041016, - wbemErrInvalidQuery = 0x80041017, - wbemErrInvalidQueryType = 0x80041018, - wbemErrAlreadyExists = 0x80041019, - wbemErrOverrideNotAllowed = 0x8004101a, - wbemErrPropagatedQualifier = 0x8004101b, - wbemErrPropagatedProperty = 0x8004101c, - wbemErrUnexpected = 0x8004101d, - wbemErrIllegalOperation = 0x8004101e, - wbemErrCannotBeKey = 0x8004101f, - wbemErrIncompleteClass = 0x80041020, - wbemErrInvalidSyntax = 0x80041021, - wbemErrNondecoratedObject = 0x80041022, - wbemErrReadOnly = 0x80041023, - wbemErrProviderNotCapable = 0x80041024, - wbemErrClassHasChildren = 0x80041025, - wbemErrClassHasInstances = 0x80041026, - wbemErrQueryNotImplemented = 0x80041027, - wbemErrIllegalNull = 0x80041028, - wbemErrInvalidQualifierType = 0x80041029, - wbemErrInvalidPropertyType = 0x8004102a, - wbemErrValueOutOfRange = 0x8004102b, - wbemErrCannotBeSingleton = 0x8004102c, - wbemErrInvalidCimType = 0x8004102d, - wbemErrInvalidMethod = 0x8004102e, - wbemErrInvalidMethodParameters = 0x8004102f, - wbemErrSystemProperty = 0x80041030, - wbemErrInvalidProperty = 0x80041031, - wbemErrCallCancelled = 0x80041032, - wbemErrShuttingDown = 0x80041033, - wbemErrPropagatedMethod = 0x80041034, - wbemErrUnsupportedParameter = 0x80041035, - wbemErrMissingParameter = 0x80041036, - wbemErrInvalidParameterId = 0x80041037, - wbemErrNonConsecutiveParameterIds = 0x80041038, - wbemErrParameterIdOnRetval = 0x80041039, - wbemErrInvalidObjectPath = 0x8004103a, - wbemErrOutOfDiskSpace = 0x8004103b, - wbemErrBufferTooSmall = 0x8004103c, - wbemErrUnsupportedPutExtension = 0x8004103d, - wbemErrUnknownObjectType = 0x8004103e, - wbemErrUnknownPacketType = 0x8004103f, - wbemErrMarshalVersionMismatch = 0x80041040, - wbemErrMarshalInvalidSignature = 0x80041041, - wbemErrInvalidQualifier = 0x80041042, - wbemErrInvalidDuplicateParameter = 0x80041043, - wbemErrTooMuchData = 0x80041044, - wbemErrServerTooBusy = 0x80041045, - wbemErrInvalidFlavor = 0x80041046, - wbemErrCircularReference = 0x80041047, - wbemErrUnsupportedClassUpdate = 0x80041048, - wbemErrCannotChangeKeyInheritance = 0x80041049, - wbemErrCannotChangeIndexInheritance = 0x80041050, - wbemErrTooManyProperties = 0x80041051, - wbemErrUpdateTypeMismatch = 0x80041052, - wbemErrUpdateOverrideNotAllowed = 0x80041053, - wbemErrUpdatePropagatedMethod = 0x80041054, - wbemErrMethodNotImplemented = 0x80041055, - wbemErrMethodDisabled = 0x80041056, - wbemErrRefresherBusy = 0x80041057, - wbemErrUnparsableQuery = 0x80041058, - wbemErrNotEventClass = 0x80041059, - wbemErrMissingGroupWithin = 0x8004105a, - wbemErrMissingAggregationList = 0x8004105b, - wbemErrPropertyNotAnObject = 0x8004105c, - wbemErrAggregatingByObject = 0x8004105d, - wbemErrUninterpretableProviderQuery = 0x8004105f, - wbemErrBackupRestoreWinmgmtRunning = 0x80041060, - wbemErrQueueOverflow = 0x80041061, - wbemErrPrivilegeNotHeld = 0x80041062, - wbemErrInvalidOperator = 0x80041063, - wbemErrLocalCredentials = 0x80041064, - wbemErrCannotBeAbstract = 0x80041065, - wbemErrAmendedObject = 0x80041066, - wbemErrClientTooSlow = 0x80041067, - wbemErrNullSecurityDescriptor = 0x80041068, - wbemErrTimeout = 0x80041069, - wbemErrInvalidAssociation = 0x8004106a, - wbemErrAmbiguousOperation = 0x8004106b, - wbemErrQuotaViolation = 0x8004106c, - wbemErrTransactionConflict = 0x8004106d, - wbemErrForcedRollback = 0x8004106e, - wbemErrUnsupportedLocale = 0x8004106f, - wbemErrHandleOutOfDate = 0x80041070, - wbemErrConnectionFailed = 0x80041071, - wbemErrInvalidHandleRequest = 0x80041072, - wbemErrPropertyNameTooWide = 0x80041073, - wbemErrClassNameTooWide = 0x80041074, - wbemErrMethodNameTooWide = 0x80041075, - wbemErrQualifierNameTooWide = 0x80041076, - wbemErrRerunCommand = 0x80041077, - wbemErrDatabaseVerMismatch = 0x80041078, - wbemErrVetoPut = 0x80041079, - wbemErrVetoDelete = 0x8004107a, - wbemErrInvalidLocale = 0x80041080, - wbemErrProviderSuspended = 0x80041081, - wbemErrSynchronizationRequired = 0x80041082, - wbemErrNoSchema = 0x80041083, - wbemErrProviderAlreadyRegistered = 0x80041084, - wbemErrProviderNotRegistered = 0x80041085, - wbemErrFatalTransportError = 0x80041086, - wbemErrEncryptedConnectionRequired = 0x80041087, - wbemErrRegistrationTooBroad = 0x80042001, - wbemErrRegistrationTooPrecise = 0x80042002, - wbemErrTimedout = 0x80043001, - wbemErrResetToDefault = 0x80043002, -}} -ENUM!{enum WbemAuthenticationLevelEnum { - wbemAuthenticationLevelDefault = 0, - wbemAuthenticationLevelNone = 1, - wbemAuthenticationLevelConnect = 2, - wbemAuthenticationLevelCall = 3, - wbemAuthenticationLevelPkt = 4, - wbemAuthenticationLevelPktIntegrity = 5, - wbemAuthenticationLevelPktPrivacy = 6, -}} -ENUM!{enum WbemImpersonationLevelEnum { - wbemImpersonationLevelAnonymous = 1, - wbemImpersonationLevelIdentify = 2, - wbemImpersonationLevelImpersonate = 3, - wbemImpersonationLevelDelegate = 4, -}} -ENUM!{enum WbemPrivilegeEnum { - wbemPrivilegeCreateToken = 1, - wbemPrivilegePrimaryToken = 2, - wbemPrivilegeLockMemory = 3, - wbemPrivilegeIncreaseQuota = 4, - wbemPrivilegeMachineAccount = 5, - wbemPrivilegeTcb = 6, - wbemPrivilegeSecurity = 7, - wbemPrivilegeTakeOwnership = 8, - wbemPrivilegeLoadDriver = 9, - wbemPrivilegeSystemProfile = 10, - wbemPrivilegeSystemtime = 11, - wbemPrivilegeProfileSingleProcess = 12, - wbemPrivilegeIncreaseBasePriority = 13, - wbemPrivilegeCreatePagefile = 14, - wbemPrivilegeCreatePermanent = 15, - wbemPrivilegeBackup = 16, - wbemPrivilegeRestore = 17, - wbemPrivilegeShutdown = 18, - wbemPrivilegeDebug = 19, - wbemPrivilegeAudit = 20, - wbemPrivilegeSystemEnvironment = 21, - wbemPrivilegeChangeNotify = 22, - wbemPrivilegeRemoteShutdown = 23, - wbemPrivilegeUndock = 24, - wbemPrivilegeSyncAgent = 25, - wbemPrivilegeEnableDelegation = 26, - wbemPrivilegeManageVolume = 27, -}} -ENUM!{enum WbemObjectTextFormatEnum { - wbemObjectTextFormatCIMDTD20 = 1, - wbemObjectTextFormatWMIDTD20 = 2, -}} -ENUM!{enum WbemConnectOptionsEnum { - wbemConnectFlagUseMaxWait = 0x80, -}} -// EXTERN_C const IID LIBID_WbemScripting; -// EXTERN_C const IID IID_ISWbemServices; -DEFINE_GUID!{IID_ISWbemServices, - 0x76a6415c, 0xcb41, 0x11d1, 0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} -RIDL!{#[uuid(0x76a6415c, 0xcb41, 0x11d1, 0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] -interface ISWbemServices(ISWbemServicesVtbl): IDispatch(IDispatchVtbl) { - fn Get( - strObjectPath: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemObject: *mut *mut ISWbemObject, - ) -> HRESULT, - fn GetAsync( - objWbemSink: *mut IDispatch, - strObjectPath: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemAsyncContext: *mut IDispatch, - ) -> HRESULT, - fn Delete( - strObjectPath: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - ) -> HRESULT, - fn DeleteAsync( - objWbemSink: *mut IDispatch, - strObjectPath: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemAsyncContext: *mut IDispatch, - ) -> HRESULT, - fn InstancesOf( - strClass: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemObjectSet: *mut *mut ISWbemObjectSet, - ) -> HRESULT, - fn InstancesOfAsync( - objWbemSink: *mut IDispatch, - strClass: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemAsyncContext: *mut IDispatch, - ) -> HRESULT, - fn SubclassesOf( - strSuperclass: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemObjectSet: *mut *mut ISWbemObjectSet, - ) -> HRESULT, - fn SubclassesOfAsync( - objWbemSink: *mut IDispatch, - strSuperclass: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemAsyncContext: *mut IDispatch, - ) -> HRESULT, - fn ExecQuery( - strQuery: BSTR, - strQueryLanguage: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemObjectSet: *mut *mut ISWbemObjectSet, - ) -> HRESULT, - fn ExecQueryAsync( - objWbemSink: *mut IDispatch, - strQuery: BSTR, - strQueryLanguage: BSTR, - lFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemAsyncContext: *mut IDispatch, - ) -> HRESULT, - fn AssociatorsOf( - strObjectPath: BSTR, - strAssocClass: BSTR, - strResultClass: BSTR, - strResultRole: BSTR, - strRole: BSTR, - bClassesOnly: VARIANT_BOOL, - bSchemaOnly: VARIANT_BOOL, - strRequiredAssocQualifier: BSTR, - strRequiredQualifier: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemObjectSet: *mut *mut ISWbemObjectSet, - ) -> HRESULT, - fn AssociatorsOfAsync( - objWbemSink: *mut IDispatch, - strObjectPath: BSTR, - strAssocClass: BSTR, - strResultClass: BSTR, - strResultRole: BSTR, - strRole: BSTR, - bClassesOnly: VARIANT_BOOL, - bSchemaOnly: VARIANT_BOOL, - strRequiredAssocQualifier: BSTR, - strRequiredQualifier: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemAsyncContext: *mut IDispatch, - ) -> HRESULT, - fn ReferencesTo( - strObjectPath: BSTR, - strResultClass: BSTR, - strRole: BSTR, - bClassesOnly: VARIANT_BOOL, - bSchemaOnly: VARIANT_BOOL, - strRequiredQualifier: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemObjectSet: *mut *mut ISWbemObjectSet, - ) -> HRESULT, - fn ReferencesToAsync( - objWbemSink: *mut IDispatch, - strObjectPath: BSTR, - strResultClass: BSTR, - strRole: BSTR, - bClassesOnly: VARIANT_BOOL, - bSchemaOnly: VARIANT_BOOL, - strRequiredQualifier: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemAsyncContext: *mut IDispatch, - ) -> HRESULT, - fn ExecNotificationQuery( - strQuery: BSTR, - strQueryLanguage: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemEventSource: *mut *mut ISWbemEventSource, - ) -> HRESULT, - fn ExecNotificationQueryAsync( - objWbemSink: *mut IDispatch, - strQuery: BSTR, - strQueryLanguage: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemAsyncContext: *mut IDispatch, - ) -> HRESULT, - fn ExecMethod( - strObjectPath: BSTR, - strMethodName: BSTR, - objWbemInParameters: *mut IDispatch, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemOutParameters: *mut *mut ISWbemObject, - ) -> HRESULT, - fn ExecMethodAsync( - objWbemSink: *mut IDispatch, - strObjectPath: BSTR, - strMethodName: BSTR, - objWbemInParameters: *mut IDispatch, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemAsyncContext: *mut IDispatch, - ) -> HRESULT, - fn get_Security_( - objWbemSecurity: *mut *mut ISWbemSecurity, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemLocator; -DEFINE_GUID!{IID_ISWbemLocator, - 0x76a6415b, 0xcb41, 0x11d1, 0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} -RIDL!{#[uuid(0x76a6415b, 0xcb41, 0x11d1, 0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] -interface ISWbemLocator(ISWbemLocatorVtbl): IDispatch(IDispatchVtbl) { - fn ConnectServer( - strServer: BSTR, - strNamespace: BSTR, - strUser: BSTR, - strPassword: BSTR, - strLocale: BSTR, - strAuthority: BSTR, - iSecurityFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemServices: *mut *mut ISWbemServices, - ) -> HRESULT, - fn get_Security_( - objWbemSecurity: *mut *mut ISWbemSecurity, - ) -> HRESULT, -}} -pub const WBEMS_DISPID_DERIVATION: DISPID = 23; -// EXTERN_C const IID IID_ISWbemObject; -DEFINE_GUID!{IID_ISWbemObject, - 0x76a6415a, 0xcb41, 0x11d1, 0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} -RIDL!{#[uuid(0x76a6415a, 0xcb41, 0x11d1, 0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] -interface ISWbemObject(ISWbemObjectVtbl): IDispatch(IDispatchVtbl) { - fn Put_( - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemObjectPath: *mut *mut ISWbemObjectPath, - ) -> HRESULT, - fn PutAsync_( - objWbemSink: *mut IDispatch, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemAsyncContext: *mut IDispatch, - ) -> HRESULT, - fn Delete_( - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - ) -> HRESULT, - fn DeleteAsync_( - objWbemSink: *mut IDispatch, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemAsyncContext: *mut IDispatch, - ) -> HRESULT, - fn Instances_( - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemObjectSet: *mut *mut ISWbemObjectSet, - ) -> HRESULT, - fn InstancesAsync_( - objWbemSink: *mut IDispatch, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemAsyncContext: *mut IDispatch, - ) -> HRESULT, - fn Subclasses_( - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemObjectSet: *mut *mut ISWbemObjectSet, - ) -> HRESULT, - fn SubclassesAsync_( - objWbemSink: *mut IDispatch, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemAsyncContext: *mut IDispatch, - ) -> HRESULT, - fn Associators_( - strAssocClass: BSTR, - strResultClass: BSTR, - strResultRole: BSTR, - strRole: BSTR, - bClassesOnly: VARIANT_BOOL, - bSchemaOnly: VARIANT_BOOL, - strRequiredAssocQualifier: BSTR, - strRequiredQualifier: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemObjectSet: *mut *mut ISWbemObjectSet, - ) -> HRESULT, - fn AssociatorsAsync_( - objWbemSink: *mut IDispatch, - strAssocClass: BSTR, - strResultClass: BSTR, - strResultRole: BSTR, - strRole: BSTR, - bClassesOnly: VARIANT_BOOL, - bSchemaOnly: VARIANT_BOOL, - strRequiredAssocQualifier: BSTR, - strRequiredQualifier: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemAsyncContext: *mut IDispatch, - ) -> HRESULT, - fn References_( - strResultClass: BSTR, - strRole: BSTR, - bClassesOnly: VARIANT_BOOL, - bSchemaOnly: VARIANT_BOOL, - strRequiredQualifier: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemObjectSet: *mut *mut ISWbemObjectSet, - ) -> HRESULT, - fn ReferencesAsync_( - objWbemSink: *mut IDispatch, - strResultClass: BSTR, - strRole: BSTR, - bClassesOnly: VARIANT_BOOL, - bSchemaOnly: VARIANT_BOOL, - strRequiredQualifier: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemAsyncContext: *mut IDispatch, - ) -> HRESULT, - fn ExecMethod_( - strMethodName: BSTR, - objWbemInParameters: *mut IDispatch, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemOutParameters: *mut *mut ISWbemObject, - ) -> HRESULT, - fn ExecMethodAsync_( - objWbemSink: *mut IDispatch, - strMethodName: BSTR, - objWbemInParameters: *mut IDispatch, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemAsyncContext: *mut IDispatch, - ) -> HRESULT, - fn Clone_( - objWbemObject: *mut *mut ISWbemObject, - ) -> HRESULT, - fn GetObjectText_( - iFlags: c_long, - strObjectText: *mut BSTR, - ) -> HRESULT, - fn SpawnDerivedClass_( - iFlags: c_long, - objWbemObject: *mut *mut ISWbemObject, - ) -> HRESULT, - fn SpawnInstance_( - iFlags: c_long, - objWbemObject: *mut *mut ISWbemObject, - ) -> HRESULT, - fn CompareTo_( - objWbemObject: *mut IDispatch, - iFlags: c_long, - bResult: *mut VARIANT_BOOL, - ) -> HRESULT, - fn get_Qualifiers_( - objWbemQualifierSet: *mut *mut ISWbemQualifierSet, - ) -> HRESULT, - fn get_Properties_( - objWbemPropertySet: *mut *mut ISWbemPropertySet, - ) -> HRESULT, - fn get_Methods_( - objWbemMethodSet: *mut *mut ISWbemMethodSet, - ) -> HRESULT, - fn get_Derivation_( - strClassNameArray: *mut VARIANT, - ) -> HRESULT, - fn get_Path_( - objWbemObjectPath: *mut *mut ISWbemObjectPath, - ) -> HRESULT, - fn get_Security_( - objWbemSecurity: *mut *mut ISWbemSecurity, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemObjectSet; -DEFINE_GUID!{IID_ISWbemObjectSet, - 0x76a6415f, 0xcb41, 0x11d1, 0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} -RIDL!{#[uuid(0x76a6415f, 0xcb41, 0x11d1, 0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] -interface ISWbemObjectSet(ISWbemObjectSetVtbl): IDispatch(IDispatchVtbl) { - fn get__NewEnum( - pUnk: *mut *mut IUnknown, - ) -> HRESULT, - fn Item( - strObjectPath: BSTR, - iFlags: c_long, - objWbemObject: *mut *mut ISWbemObject, - ) -> HRESULT, - fn get_Count( - iCount: *mut c_long, - ) -> HRESULT, - fn get_Security_( - objWbemSecurity: *mut *mut ISWbemSecurity, - ) -> HRESULT, - fn ItemIndex( - lIndex: c_long, - objWbemObject: *mut *mut ISWbemObject, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemNamedValue; -DEFINE_GUID!{IID_ISWbemNamedValue, - 0x76a64164, 0xcb41, 0x11d1, 0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} -RIDL!{#[uuid(0x76a64164, 0xcb41, 0x11d1, 0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] -interface ISWbemNamedValue(ISWbemNamedValueVtbl): IDispatch(IDispatchVtbl) { - fn get_Value( - varValue: *mut VARIANT, - ) -> HRESULT, - fn put_Value( - varValue: *mut VARIANT, - ) -> HRESULT, - fn get_Name( - strName: *mut BSTR, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemNamedValueSet; -DEFINE_GUID!{IID_ISWbemNamedValueSet, - 0xcf2376ea, 0xce8c, 0x11d1, 0x8b, 0x05, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} -RIDL!{#[uuid(0xcf2376ea, 0xce8c, 0x11d1, 0x8b, 0x05, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] -interface ISWbemNamedValueSet(ISWbemNamedValueSetVtbl): IDispatch(IDispatchVtbl) { - fn get__NewEnum( - pUnk: *mut *mut IUnknown, - ) -> HRESULT, - fn Item( - strName: BSTR, - iFlags: c_long, - objWbemNamedValue: *mut *mut ISWbemNamedValue, - ) -> HRESULT, - fn get_Count( - iCount: *mut c_long, - ) -> HRESULT, - fn Add( - strName: BSTR, - varValue: *mut VARIANT, - iFlags: c_long, - objWbemNamedValue: *mut *mut ISWbemNamedValue, - ) -> HRESULT, - fn Remove( - strName: BSTR, - iFlags: c_long, - ) -> HRESULT, - fn Clone( - objWbemNamedValueSet: *mut *mut ISWbemNamedValueSet, - ) -> HRESULT, - fn DeleteAll() -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemQualifier; -DEFINE_GUID!{IID_ISWbemQualifier, - 0x79b05932, 0xd3b7, 0x11d1, 0x8b, 0x06, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} -RIDL!{#[uuid(0x79b05932, 0xd3b7, 0x11d1, 0x8b, 0x06, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] -interface ISWbemQualifier(ISWbemQualifierVtbl): IDispatch(IDispatchVtbl) { - fn get_Value( - varValue: *mut VARIANT, - ) -> HRESULT, - fn put_Value( - varValue: *mut VARIANT, - ) -> HRESULT, - fn get_Name( - strName: *mut BSTR, - ) -> HRESULT, - fn get_IsLocal( - bIsLocal: *mut VARIANT_BOOL, - ) -> HRESULT, - fn get_PropagatesToSubclass( - bPropagatesToSubclass: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_PropagatesToSubclass( - bPropagatesToSubclass: VARIANT_BOOL, - ) -> HRESULT, - fn get_PropagatesToInstance( - bPropagatesToInstance: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_PropagatesToInstance( - bPropagatesToInstance: VARIANT_BOOL, - ) -> HRESULT, - fn get_IsOverridable( - bIsOverridable: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_IsOverridable( - bIsOverridable: VARIANT_BOOL, - ) -> HRESULT, - fn get_IsAmended( - bIsAmended: *mut VARIANT_BOOL, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemQualifierSet; -DEFINE_GUID!{IID_ISWbemQualifierSet, - 0x9b16ed16, 0xd3df, 0x11d1, 0x8b, 0x08, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} -RIDL!{#[uuid(0x9b16ed16, 0xd3df, 0x11d1, 0x8b, 0x08, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] -interface ISWbemQualifierSet(ISWbemQualifierSetVtbl): IDispatch(IDispatchVtbl) { - fn get__NewEnum( - pUnk: *mut *mut IUnknown, - ) -> HRESULT, - fn Item( - name: BSTR, - iFlags: c_long, - objWbemQualifier: *mut *mut ISWbemQualifier, - ) -> HRESULT, - fn get_Count( - iCount: *mut c_long, - ) -> HRESULT, - fn Add( - strName: BSTR, - varVal: *mut VARIANT, - bPropagatesToSubclass: VARIANT_BOOL, - bPropagatesToInstance: VARIANT_BOOL, - bIsOverridable: VARIANT_BOOL, - iFlags: c_long, - objWbemQualifier: *mut *mut ISWbemQualifier, - ) -> HRESULT, - fn Remove( - strName: BSTR, - iFlags: c_long, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemProperty; -DEFINE_GUID!{IID_ISWbemProperty, - 0x1a388f98, 0xd4ba, 0x11d1, 0x8b, 0x09, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} -RIDL!{#[uuid(0x1a388f98, 0xd4ba, 0x11d1, 0x8b, 0x09, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] -interface ISWbemProperty(ISWbemPropertyVtbl): IDispatch(IDispatchVtbl) { - fn get_Value( - varValue: *mut VARIANT, - ) -> HRESULT, - fn put_Value( - varValue: *mut VARIANT, - ) -> HRESULT, - fn get_Name( - strName: *mut BSTR, - ) -> HRESULT, - fn get_IsLocal( - bIsLocal: *mut VARIANT_BOOL, - ) -> HRESULT, - fn get_Origin( - strOrigin: *mut BSTR, - ) -> HRESULT, - fn get_CIMType( - iCimType: *mut WbemCimtypeEnum, - ) -> HRESULT, - fn get_Qualifiers_( - objWbemQualifierSet: *mut *mut ISWbemQualifierSet, - ) -> HRESULT, - fn get_IsArray( - bIsArray: *mut VARIANT_BOOL, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemPropertySet; -DEFINE_GUID!{IID_ISWbemPropertySet, - 0xdea0a7b2, 0xd4ba, 0x11d1, 0x8b, 0x09, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} -RIDL!{#[uuid(0xdea0a7b2, 0xd4ba, 0x11d1, 0x8b, 0x09, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] -interface ISWbemPropertySet(ISWbemPropertySetVtbl): IDispatch(IDispatchVtbl) { - fn get__NewEnum( - pUnk: *mut *mut IUnknown, - ) -> HRESULT, - fn Item( - strName: BSTR, - iFlags: c_long, - objWbemProperty: *mut *mut ISWbemProperty, - ) -> HRESULT, - fn get_Count( - iCount: *mut c_long, - ) -> HRESULT, - fn Add( - strName: BSTR, - iCIMType: WbemCimtypeEnum, - bIsArray: VARIANT_BOOL, - iFlags: c_long, - objWbemProperty: *mut *mut ISWbemProperty, - ) -> HRESULT, - fn Remove( - strName: BSTR, - iFlags: c_long, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemMethod; -DEFINE_GUID!{IID_ISWbemMethod, - 0x422e8e90, 0xd955, 0x11d1, 0x8b, 0x09, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} -RIDL!{#[uuid(0x422e8e90, 0xd955, 0x11d1, 0x8b, 0x09, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] -interface ISWbemMethod(ISWbemMethodVtbl): IDispatch(IDispatchVtbl) { - fn get_Name( - strName: *mut BSTR, - ) -> HRESULT, - fn get_Origin( - strOrigin: *mut BSTR, - ) -> HRESULT, - fn get_InParameters( - objWbemInParameters: *mut *mut ISWbemObject, - ) -> HRESULT, - fn get_OutParameters( - objWbemOutParameters: *mut *mut ISWbemObject, - ) -> HRESULT, - fn get_Qualifiers_( - objWbemQualifierSet: *mut *mut ISWbemQualifierSet, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemMethodSet; -DEFINE_GUID!{IID_ISWbemMethodSet, - 0xc93ba292, 0xd955, 0x11d1, 0x8b, 0x09, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} -RIDL!{#[uuid(0xc93ba292, 0xd955, 0x11d1, 0x8b, 0x09, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] -interface ISWbemMethodSet(ISWbemMethodSetVtbl): IDispatch(IDispatchVtbl) { - fn get__NewEnum( - pUnk: *mut *mut IUnknown, - ) -> HRESULT, - fn Item( - strName: BSTR, - iFlags: c_long, - objWbemMethod: *mut *mut ISWbemMethod, - ) -> HRESULT, - fn get_Count( - iCount: *mut c_long, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemEventSource; -DEFINE_GUID!{IID_ISWbemEventSource, - 0x27d54d92, 0x0ebe, 0x11d2, 0x8b, 0x22, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} -RIDL!{#[uuid(0x27d54d92, 0x0ebe, 0x11d2, 0x8b, 0x22, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] -interface ISWbemEventSource(ISWbemEventSourceVtbl): IDispatch(IDispatchVtbl) { - fn NextEvent( - iTimeoutMs: c_long, - objWbemObject: *mut *mut ISWbemObject, - ) -> HRESULT, - fn get_Security_( - objWbemSecurity: *mut *mut ISWbemSecurity, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemObjectPath; -DEFINE_GUID!{IID_ISWbemObjectPath, - 0x5791bc27, 0xce9c, 0x11d1, 0x97, 0xbf, 0x00, 0x00, 0xf8, 0x1e, 0x84, 0x9c} -RIDL!{#[uuid(0x5791bc27, 0xce9c, 0x11d1, 0x97, 0xbf, 0x00, 0x00, 0xf8, 0x1e, 0x84, 0x9c)] -interface ISWbemObjectPath(ISWbemObjectPathVtbl): IDispatch(IDispatchVtbl) { - fn get_Path( - strPath: *mut BSTR, - ) -> HRESULT, - fn put_Path( - strPath: BSTR, - ) -> HRESULT, - fn get_RelPath( - strRelPath: *mut BSTR, - ) -> HRESULT, - fn put_RelPath( - strRelPath: BSTR, - ) -> HRESULT, - fn get_Server( - strServer: *mut BSTR, - ) -> HRESULT, - fn put_Server( - strServer: BSTR, - ) -> HRESULT, - fn get_Namespace( - strNamespace: *mut BSTR, - ) -> HRESULT, - fn put_Namespace( - strNamespace: BSTR, - ) -> HRESULT, - fn get_ParentNamespace( - strParentNamespace: *mut BSTR, - ) -> HRESULT, - fn get_DisplayName( - strDisplayName: *mut BSTR, - ) -> HRESULT, - fn put_DisplayName( - strDisplayName: BSTR, - ) -> HRESULT, - fn get_Class( - strClass: *mut BSTR, - ) -> HRESULT, - fn put_Class( - strClass: BSTR, - ) -> HRESULT, - fn get_IsClass( - bIsClass: *mut VARIANT_BOOL, - ) -> HRESULT, - fn SetAsClass() -> HRESULT, - fn get_IsSingleton( - bIsSingleton: *mut VARIANT_BOOL, - ) -> HRESULT, - fn SetAsSingleton() -> HRESULT, - fn get_Keys( - objWbemNamedValueSet: *mut *mut ISWbemNamedValueSet, - ) -> HRESULT, - fn get_Security_( - objWbemSecurity: *mut *mut ISWbemSecurity, - ) -> HRESULT, - fn get_Locale( - strLocale: *mut BSTR, - ) -> HRESULT, - fn put_Locale( - strLocale: BSTR, - ) -> HRESULT, - fn get_Authority( - strAuthority: *mut BSTR, - ) -> HRESULT, - fn put_Authority( - strAuthority: BSTR, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemLastError; -DEFINE_GUID!{IID_ISWbemLastError, - 0xd962db84, 0xd4bb, 0x11d1, 0x8b, 0x09, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} -RIDL!{#[uuid(0xd962db84, 0xd4bb, 0x11d1, 0x8b, 0x09, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] -interface ISWbemLastError(ISWbemLastErrorVtbl): ISWbemObject(ISWbemObjectVtbl) {}} -// EXTERN_C const IID DIID_ISWbemSinkEvents; -DEFINE_GUID!{IID_ISWbemSinkEvents, - 0x75718ca0, 0xf029, 0x11d1, 0xa1, 0xac, 0x00, 0xc0, 0x4f, 0xb6, 0xc2, 0x23} -RIDL!{#[uuid(0x75718ca0, 0xf029, 0x11d1, 0xa1, 0xac, 0x00, 0xc0, 0x4f, 0xb6, 0xc2, 0x23)] -interface ISWbemSinkEvents(ISWbemSinkEventsVtbl): IDispatch(IDispatchVtbl) {}} -// EXTERN_C const IID IID_ISWbemSink; -DEFINE_GUID!{IID_ISWbemSink, - 0x75718c9f, 0xf029, 0x11d1, 0xa1, 0xac, 0x00, 0xc0, 0x4f, 0xb6, 0xc2, 0x23} -RIDL!{#[uuid(0x75718c9f, 0xf029, 0x11d1, 0xa1, 0xac, 0x00, 0xc0, 0x4f, 0xb6, 0xc2, 0x23)] -interface ISWbemSink(ISWbemSinkVtbl): IDispatch(IDispatchVtbl) { - fn Cancel() -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemSecurity; -DEFINE_GUID!{IID_ISWbemSecurity, - 0xb54d66e6, 0x2287, 0x11d2, 0x8b, 0x33, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} -RIDL!{#[uuid(0xb54d66e6, 0x2287, 0x11d2, 0x8b, 0x33, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] -interface ISWbemSecurity(ISWbemSecurityVtbl): IDispatch(IDispatchVtbl) { - fn get_ImpersonationLevel( - iImpersonationLevel: *mut WbemImpersonationLevelEnum, - ) -> HRESULT, - fn put_ImpersonationLevel( - iImpersonationLevel: WbemImpersonationLevelEnum, - ) -> HRESULT, - fn get_AuthenticationLevel( - iAuthenticationLevel: *mut WbemAuthenticationLevelEnum, - ) -> HRESULT, - fn put_AuthenticationLevel( - iAuthenticationLevel: WbemAuthenticationLevelEnum, - ) -> HRESULT, - fn get_Privileges( - objWbemPrivilegeSet: *mut *mut ISWbemPrivilegeSet, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemPrivilege; -DEFINE_GUID!{IID_ISWbemPrivilege, - 0x26ee67bd, 0x5804, 0x11d2, 0x8b, 0x4a, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} -RIDL!{#[uuid(0x26ee67bd, 0x5804, 0x11d2, 0x8b, 0x4a, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] -interface ISWbemPrivilege(ISWbemPrivilegeVtbl): IDispatch(IDispatchVtbl) { - fn get_IsEnabled( - bIsEnabled: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_IsEnabled( - bIsEnabled: VARIANT_BOOL, - ) -> HRESULT, - fn get_Name( - strDisplayName: *mut BSTR, - ) -> HRESULT, - fn get_DisplayName( - strDisplayName: *mut BSTR, - ) -> HRESULT, - fn get_Identifier( - iPrivilege: *mut WbemPrivilegeEnum, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemPrivilegeSet; -DEFINE_GUID!{IID_ISWbemPrivilegeSet, - 0x26ee67bf, 0x5804, 0x11d2, 0x8b, 0x4a, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} -RIDL!{#[uuid(0x26ee67bf, 0x5804, 0x11d2, 0x8b, 0x4a, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] -interface ISWbemPrivilegeSet(ISWbemPrivilegeSetVtbl): IDispatch(IDispatchVtbl) { - fn get__NewEnum( - pUnk: *mut *mut IUnknown, - ) -> HRESULT, - fn Item( - iPrivilege: WbemPrivilegeEnum, - objWbemPrivilege: *mut *mut ISWbemPrivilege, - ) -> HRESULT, - fn get_Count( - iCount: *mut c_long, - ) -> HRESULT, - fn Add( - iPrivilege: WbemPrivilegeEnum, - bIsEnabled: VARIANT_BOOL, - objWbemPrivilege: *mut *mut ISWbemPrivilege, - ) -> HRESULT, - fn Remove( - iPrivilege: WbemPrivilegeEnum, - ) -> HRESULT, - fn DeleteAll() -> HRESULT, - fn AddAsString( - strPrivilege: BSTR, - bIsEnabled: VARIANT_BOOL, - objWbemPrivilege: *mut *mut ISWbemPrivilege, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemServicesEx; -DEFINE_GUID!{IID_ISWbemServicesEx, - 0xd2f68443, 0x85dc, 0x427e, 0x91, 0xd8, 0x36, 0x65, 0x54, 0xcc, 0x75, 0x4c} -RIDL!{#[uuid(0xd2f68443, 0x85dc, 0x427e, 0x91, 0xd8, 0x36, 0x65, 0x54, 0xcc, 0x75, 0x4c)] -interface ISWbemServicesEx(ISWbemServicesExVtbl): ISWbemServices(ISWbemServicesVtbl) { - fn Put( - objWbemObject: *mut ISWbemObjectEx, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemObjectPath: *mut *mut ISWbemObjectPath, - ) -> HRESULT, - fn PutAsync( - objWbemSink: *mut ISWbemSink, - objWbemObject: *mut ISWbemObjectEx, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemAsyncContext: *mut IDispatch, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemObjectEx; -DEFINE_GUID!{IID_ISWbemObjectEx, - 0x269ad56a, 0x8a67, 0x4129, 0xbc, 0x8c, 0x05, 0x06, 0xdc, 0xfe, 0x98, 0x80} -RIDL!{#[uuid(0x269ad56a, 0x8a67, 0x4129, 0xbc, 0x8c, 0x05, 0x06, 0xdc, 0xfe, 0x98, 0x80)] -interface ISWbemObjectEx(ISWbemObjectExVtbl): ISWbemObject(ISWbemObjectVtbl) { - fn Refresh_( - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - ) -> HRESULT, - fn get_SystemProperties_( - objWbemPropertySet: *mut *mut ISWbemPropertySet, - ) -> HRESULT, - fn GetText_( - iObjectTextFormat: WbemObjectTextFormatEnum, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - bsText: *mut BSTR, - ) -> HRESULT, - fn SetFromText_( - bsText: BSTR, - iObjectTextFormat: WbemObjectTextFormatEnum, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemDateTime; -DEFINE_GUID!{IID_ISWbemDateTime, - 0x5e97458a, 0xcf77, 0x11d3, 0xb3, 0x8f, 0x00, 0x10, 0x5a, 0x1f, 0x47, 0x3a} -RIDL!{#[uuid(0x5e97458a, 0xcf77, 0x11d3, 0xb3, 0x8f, 0x00, 0x10, 0x5a, 0x1f, 0x47, 0x3a)] -interface ISWbemDateTime(ISWbemDateTimeVtbl): IDispatch(IDispatchVtbl) { - fn get_Value( - strValue: *mut BSTR, - ) -> HRESULT, - fn put_Value( - strValue: BSTR, - ) -> HRESULT, - fn get_Year( - iYear: *mut c_long, - ) -> HRESULT, - fn put_Year( - iYear: c_long, - ) -> HRESULT, - fn get_YearSpecified( - bYearSpecified: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_YearSpecified( - bYearSpecified: VARIANT_BOOL, - ) -> HRESULT, - fn get_Month( - iMonth: *mut c_long, - ) -> HRESULT, - fn put_Month( - iMonth: c_long, - ) -> HRESULT, - fn get_MonthSpecified( - bMonthSpecified: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_MonthSpecified( - bMonthSpecified: VARIANT_BOOL, - ) -> HRESULT, - fn get_Day( - iDay: *mut c_long, - ) -> HRESULT, - fn put_Day( - iDay: c_long, - ) -> HRESULT, - fn get_DaySpecified( - bDaySpecified: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_DaySpecified( - bDaySpecified: VARIANT_BOOL, - ) -> HRESULT, - fn get_Hours( - iHours: *mut c_long, - ) -> HRESULT, - fn put_Hours( - iHours: c_long, - ) -> HRESULT, - fn get_HoursSpecified( - bHoursSpecified: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_HoursSpecified( - bHoursSpecified: VARIANT_BOOL, - ) -> HRESULT, - fn get_Minutes( - iMinutes: *mut c_long, - ) -> HRESULT, - fn put_Minutes( - iMinutes: c_long, - ) -> HRESULT, - fn get_MinutesSpecified( - bMinutesSpecified: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_MinutesSpecified( - bMinutesSpecified: VARIANT_BOOL, - ) -> HRESULT, - fn get_Seconds( - iSeconds: *mut c_long, - ) -> HRESULT, - fn put_Seconds( - iSeconds: c_long, - ) -> HRESULT, - fn get_SecondsSpecified( - bSecondsSpecified: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_SecondsSpecified( - bSecondsSpecified: VARIANT_BOOL, - ) -> HRESULT, - fn get_Microseconds( - iMicroseconds: *mut c_long, - ) -> HRESULT, - fn put_Microseconds( - iMicroseconds: c_long, - ) -> HRESULT, - fn get_MicrosecondsSpecified( - bMicrosecondsSpecified: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_MicrosecondsSpecified( - bMicrosecondsSpecified: VARIANT_BOOL, - ) -> HRESULT, - fn get_UTC( - iUTC: *mut c_long, - ) -> HRESULT, - fn put_UTC( - iUTC: c_long, - ) -> HRESULT, - fn get_UTCSpecified( - bUTCSpecified: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_UTCSpecified( - bUTCSpecified: VARIANT_BOOL, - ) -> HRESULT, - fn get_IsInterval( - bIsInterval: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_IsInterval( - bIsInterval: VARIANT_BOOL, - ) -> HRESULT, - fn GetVarDate( - bIsLocal: VARIANT_BOOL, - dVarDate: *mut DATE, - ) -> HRESULT, - fn SetVarDate( - dVarDate: DATE, - bIsLocal: VARIANT_BOOL, - ) -> HRESULT, - fn GetFileTime( - bIsLocal: VARIANT_BOOL, - strFileTime: *mut BSTR, - ) -> HRESULT, - fn SetFileTime( - strFileTime: BSTR, - bIsLocal: VARIANT_BOOL, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemRefresher; -DEFINE_GUID!{IID_ISWbemRefresher, - 0x14d8250e, 0xd9c2, 0x11d3, 0xb3, 0x8f, 0x00, 0x10, 0x5a, 0x1f, 0x47, 0x3a} -RIDL!{#[uuid(0x14d8250e, 0xd9c2, 0x11d3, 0xb3, 0x8f, 0x00, 0x10, 0x5a, 0x1f, 0x47, 0x3a)] -interface ISWbemRefresher(ISWbemRefresherVtbl): IDispatch(IDispatchVtbl) { - fn get__NewEnum( - pUnk: *mut *mut IUnknown, - ) -> HRESULT, - fn Item( - iIndex: c_long, - objWbemRefreshableItem: *mut *mut ISWbemRefreshableItem, - ) -> HRESULT, - fn get_Count( - iCount: *mut c_long, - ) -> HRESULT, - fn Add( - objWbemServices: *mut ISWbemServicesEx, - bsInstancePath: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemRefreshableItem: *mut *mut ISWbemRefreshableItem, - ) -> HRESULT, - fn AddEnum( - objWbemServices: *mut ISWbemServicesEx, - bsClassName: BSTR, - iFlags: c_long, - objWbemNamedValueSet: *mut IDispatch, - objWbemRefreshableItem: *mut *mut ISWbemRefreshableItem, - ) -> HRESULT, - fn Remove( - iIndex: c_long, - iFlags: c_long, - ) -> HRESULT, - fn Refresh( - iFlags: c_long, - ) -> HRESULT, - fn get_AutoReconnect( - bCount: *mut VARIANT_BOOL, - ) -> HRESULT, - fn put_AutoReconnect( - bCount: VARIANT_BOOL, - ) -> HRESULT, - fn DeleteAll() -> HRESULT, -}} -// EXTERN_C const IID IID_ISWbemRefreshableItem; -DEFINE_GUID!{IID_ISWbemRefreshableItem, - 0x5ad4bf92, 0xdaab, 0x11d3, 0xb3, 0x8f, 0x00, 0x10, 0x5a, 0x1f, 0x47, 0x3a} -RIDL!{#[uuid(0x5ad4bf92, 0xdaab, 0x11d3, 0xb3, 0x8f, 0x00, 0x10, 0x5a, 0x1f, 0x47, 0x3a)] -interface ISWbemRefreshableItem(ISWbemRefreshableItemVtbl): IDispatch(IDispatchVtbl) { - fn get_Index( - iIndex: *mut c_long, - ) -> HRESULT, - fn get_Refresher( - objWbemRefresher: *mut *mut ISWbemRefresher, - ) -> HRESULT, - fn get_IsSet( - bIsSet: *mut VARIANT_BOOL, - ) -> HRESULT, - fn get_Object( - objWbemObject: *mut *mut ISWbemObjectEx, - ) -> HRESULT, - fn get_ObjectSet( - objWbemObjectSet: *mut *mut ISWbemObjectSet, - ) -> HRESULT, - fn Remove( - iFlags: c_long, - ) -> HRESULT, -}} -DEFINE_GUID!{CLSID_SWbemLocator, - 0x76A64158, 0xCB41, 0x11d1, 0x8B, 0x02, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} -// class DECLSPEC_UUID("76A64158-CB41-11d1-8B02-00600806D9B6") -// SWbemLocator; -DEFINE_GUID!{CLSID_SWbemNamedValueSet, - 0x9AED384E, 0xCE8B, 0x11d1, 0x8B, 0x05, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} -// class DECLSPEC_UUID("9AED384E-CE8B-11d1-8B05-00600806D9B6") -// SWbemNamedValueSet; -DEFINE_GUID!{CLSID_SWbemObjectPath, - 0x5791BC26, 0xCE9C, 0x11d1, 0x97, 0xBF, 0x00, 0x00, 0xF8, 0x1E, 0x84, 0x9C} -// class DECLSPEC_UUID("5791BC26-CE9C-11d1-97BF-0000F81E849C") -// SWbemObjectPath; -DEFINE_GUID!{CLSID_SWbemLastError, - 0xC2FEEEAC, 0xCFCD, 0x11d1, 0x8B, 0x05, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} -// class DECLSPEC_UUID("C2FEEEAC-CFCD-11d1-8B05-00600806D9B6") -// SWbemLastError; -DEFINE_GUID!{CLSID_SWbemSink, - 0x75718C9A, 0xF029, 0x11d1, 0xA1, 0xAC, 0x00, 0xC0, 0x4F, 0xB6, 0xC2, 0x23} -// class DECLSPEC_UUID("75718C9A-F029-11d1-A1AC-00C04FB6C223") -// SWbemSink; -DEFINE_GUID!{CLSID_SWbemDateTime, - 0x47DFBE54, 0xCF76, 0x11d3, 0xB3, 0x8F, 0x00, 0x10, 0x5A, 0x1F, 0x47, 0x3A} -// class DECLSPEC_UUID("47DFBE54-CF76-11d3-B38F-00105A1F473A") -// SWbemDateTime; -DEFINE_GUID!{CLSID_SWbemRefresher, - 0xD269BF5C, 0xD9C1, 0x11d3, 0xB3, 0x8F, 0x00, 0x10, 0x5A, 0x1F, 0x47, 0x3A} -// class DECLSPEC_UUID("D269BF5C-D9C1-11d3-B38F-00105A1F473A") -// SWbemRefresher; -DEFINE_GUID!{CLSID_SWbemServices, - 0x04B83D63, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} -// class DECLSPEC_UUID("04B83D63-21AE-11d2-8B33-00600806D9B6") -// SWbemServices; -DEFINE_GUID!{CLSID_SWbemServicesEx, - 0x62E522DC, 0x8CF3, 0x40a8, 0x8B, 0x2E, 0x37, 0xD5, 0x95, 0x65, 0x1E, 0x40} -// class DECLSPEC_UUID("62E522DC-8CF3-40a8-8B2E-37D595651E40") -// SWbemServicesEx; -DEFINE_GUID!{CLSID_SWbemObject, - 0x04B83D62, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} -// class DECLSPEC_UUID("04B83D62-21AE-11d2-8B33-00600806D9B6") -// SWbemObject; -DEFINE_GUID!{CLSID_SWbemObjectEx, - 0xD6BDAFB2, 0x9435, 0x491f, 0xBB, 0x87, 0x6A, 0xA0, 0xF0, 0xBC, 0x31, 0xA2} -// class DECLSPEC_UUID("D6BDAFB2-9435-491f-BB87-6AA0F0BC31A2") -// SWbemObjectEx; -DEFINE_GUID!{CLSID_SWbemObjectSet, - 0x04B83D61, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} -// class DECLSPEC_UUID("04B83D61-21AE-11d2-8B33-00600806D9B6") -// SWbemObjectSet; -DEFINE_GUID!{CLSID_SWbemNamedValue, - 0x04B83D60, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} -// class DECLSPEC_UUID("04B83D60-21AE-11d2-8B33-00600806D9B6") -// SWbemNamedValue; -DEFINE_GUID!{CLSID_SWbemQualifier, - 0x04B83D5F, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} -// class DECLSPEC_UUID("04B83D5F-21AE-11d2-8B33-00600806D9B6") -// SWbemQualifier; -DEFINE_GUID!{CLSID_SWbemQualifierSet, - 0x04B83D5E, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} -// class DECLSPEC_UUID("04B83D5E-21AE-11d2-8B33-00600806D9B6") -// SWbemQualifierSet; -DEFINE_GUID!{CLSID_SWbemProperty, - 0x04B83D5D, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} -// class DECLSPEC_UUID("04B83D5D-21AE-11d2-8B33-00600806D9B6") -// SWbemProperty; -DEFINE_GUID!{CLSID_SWbemPropertySet, - 0x04B83D5C, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} -// class DECLSPEC_UUID("04B83D5C-21AE-11d2-8B33-00600806D9B6") -// SWbemPropertySet; -DEFINE_GUID!{CLSID_SWbemMethod, - 0x04B83D5B, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} -// class DECLSPEC_UUID("04B83D5B-21AE-11d2-8B33-00600806D9B6") -// SWbemMethod; -DEFINE_GUID!{CLSID_SWbemMethodSet, - 0x04B83D5A, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} -// class DECLSPEC_UUID("04B83D5A-21AE-11d2-8B33-00600806D9B6") -// SWbemMethodSet; -DEFINE_GUID!{CLSID_SWbemEventSource, - 0x04B83D58, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} -// class DECLSPEC_UUID("04B83D58-21AE-11d2-8B33-00600806D9B6") -// SWbemEventSource; -DEFINE_GUID!{CLSID_SWbemSecurity, - 0xB54D66E9, 0x2287, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} -// class DECLSPEC_UUID("B54D66E9-2287-11d2-8B33-00600806D9B6") -// SWbemSecurity; -DEFINE_GUID!{CLSID_SWbemPrivilege, - 0x26EE67BC, 0x5804, 0x11d2, 0x8B, 0x4A, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} -// class DECLSPEC_UUID("26EE67BC-5804-11d2-8B4A-00600806D9B6") -// SWbemPrivilege; -DEFINE_GUID!{CLSID_SWbemPrivilegeSet, - 0x26EE67BE, 0x5804, 0x11d2, 0x8B, 0x4A, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} -// class DECLSPEC_UUID("26EE67BE-5804-11d2-8B4A-00600806D9B6") -// SWbemPrivilegeSet; -DEFINE_GUID!{CLSID_SWbemRefreshableItem, - 0x8C6854BC, 0xDE4B, 0x11d3, 0xB3, 0x90, 0x00, 0x10, 0x5A, 0x1F, 0x47, 0x3A} -// class DECLSPEC_UUID("8C6854BC-DE4B-11d3-B390-00105A1F473A") -// SWbemRefreshableItem; -pub const WBEMS_DISPID_OBJECT_READY: DISPID = 1; -pub const WBEMS_DISPID_COMPLETED: DISPID = 2; -pub const WBEMS_DISPID_PROGRESS: DISPID = 3; -pub const WBEMS_DISPID_OBJECT_PUT: DISPID = 4; -pub const WBEMS_DISPID_CONNECTION_READY: DISPID = 5; -// extern RPC_IF_HANDLE __MIDL_itf_wbemdisp_0000_0018_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemdisp_0000_0018_v0_0_s_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemdisp_0000_0026_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemdisp_0000_0026_v0_0_s_ifspec; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/wbemprov.rs b/vendor/registry-40351f815f426200/winapi/src/um/wbemprov.rs deleted file mode 100644 index 4ba60eedc..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/wbemprov.rs +++ /dev/null @@ -1,302 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_long, c_ulong}; -use shared::minwindef::{BYTE, DWORD}; -use shared::winerror::HRESULT; -use shared::wtypes::BSTR; -use um::oaidl::{VARIANT}; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::wbemcli::{ - IWbemClassObject, IWbemContext, IWbemHiPerfEnum, IWbemObjectAccess, IWbemObjectSink, - IWbemObjectSinkVtbl, IWbemRefresher, IWbemServices -}; -use um::winnt::{LONG, LPCWSTR, LPWSTR, WCHAR}; -pub type WBEM_VARIANT = VARIANT; -pub type WBEM_WSTR = LPWSTR; -pub type WBEM_CWSTR = LPCWSTR; -ENUM!{enum WBEM_PROVIDER_REQUIREMENTS_TYPE { - WBEM_REQUIREMENTS_START_POSTFILTER = 0, - WBEM_REQUIREMENTS_STOP_POSTFILTER = 1, - WBEM_REQUIREMENTS_RECHECK_SUBSCRIPTIONS = 2, -}} -// extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0000_0000_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0000_0000_v0_0_s_ifspec; -// EXTERN_C const IID LIBID_WbemProviders_v1; -// EXTERN_C const IID IID_IWbemPropertyProvider; -DEFINE_GUID!{IID_IWbemPropertyProvider, - 0xce61e841, 0x65bc, 0x11d0, 0xb6, 0xbd, 0x00, 0xaa, 0x00, 0x32, 0x40, 0xc7} -RIDL!{#[uuid(0xce61e841, 0x65bc, 0x11d0, 0xb6, 0xbd, 0x00, 0xaa, 0x00, 0x32, 0x40, 0xc7)] -interface IWbemPropertyProvider(IWbemPropertyProviderVtbl): IUnknown(IUnknownVtbl) { - fn GetProperty( - lFlags: c_long, - strLocale: BSTR, - strClassMapping: BSTR, - strInstMapping: BSTR, - strPropMapping: BSTR, - pvValue: *mut VARIANT, - ) -> HRESULT, - fn PutProperty( - lFlags: c_long, - strLocale: BSTR, - strClassMapping: BSTR, - strInstMapping: BSTR, - strPropMapping: BSTR, - pvValue: *const VARIANT, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemUnboundObjectSink; -DEFINE_GUID!{IID_IWbemUnboundObjectSink, - 0xe246107b, 0xb06e, 0x11d0, 0xad, 0x61, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff} -RIDL!{#[uuid(0xe246107b, 0xb06e, 0x11d0, 0xad, 0x61, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff)] -interface IWbemUnboundObjectSink(IWbemUnboundObjectSinkVtbl): IUnknown(IUnknownVtbl) { - fn IndicateToConsumer( - pLogicalConsumer: *mut IWbemClassObject, - lNumObjects: c_long, - apObjects: *mut *mut IWbemClassObject, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemEventProvider; -DEFINE_GUID!{IID_IWbemEventProvider, - 0xe245105b, 0xb06e, 0x11d0, 0xad, 0x61, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff} -RIDL!{#[uuid(0xe245105b, 0xb06e, 0x11d0, 0xad, 0x61, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff)] -interface IWbemEventProvider(IWbemEventProviderVtbl): IUnknown(IUnknownVtbl) { - fn ProvideEvents( - pSink: *mut IWbemObjectSink, - lFlags: c_long, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemEventProviderQuerySink; -DEFINE_GUID!{IID_IWbemEventProviderQuerySink, - 0x580acaf8, 0xfa1c, 0x11d0, 0xad, 0x72, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff} -RIDL!{#[uuid(0x580acaf8, 0xfa1c, 0x11d0, 0xad, 0x72, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff)] -interface IWbemEventProviderQuerySink(IWbemEventProviderQuerySinkVtbl): IUnknown(IUnknownVtbl) { - fn NewQuery( - dwId: c_ulong, - wszQueryLanguage: WBEM_WSTR, - wszQuery: WBEM_WSTR, - ) -> HRESULT, - fn CancelQuery( - dwId: c_ulong, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemEventProviderSecurity; -DEFINE_GUID!{IID_IWbemEventProviderSecurity, - 0x631f7d96, 0xd993, 0x11d2, 0xb3, 0x39, 0x00, 0x10, 0x5a, 0x1f, 0x4a, 0xaf} -RIDL!{#[uuid(0x631f7d96, 0xd993, 0x11d2, 0xb3, 0x39, 0x00, 0x10, 0x5a, 0x1f, 0x4a, 0xaf)] -interface IWbemEventProviderSecurity(IWbemEventProviderSecurityVtbl): IUnknown(IUnknownVtbl) { - fn AccessCheck( - wszQueryLanguage: WBEM_CWSTR, - wszQuery: WBEM_CWSTR, - lSidLength: c_long, - pSid: *const BYTE, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemEventConsumerProvider; -DEFINE_GUID!{IID_IWbemEventConsumerProvider, - 0xe246107a, 0xb06e, 0x11d0, 0xad, 0x61, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff} -RIDL!{#[uuid(0xe246107a, 0xb06e, 0x11d0, 0xad, 0x61, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff)] -interface IWbemEventConsumerProvider(IWbemEventConsumerProviderVtbl): IUnknown(IUnknownVtbl) { - fn FindConsumer( - pLogicalConsumer: *mut IWbemClassObject, - ppConsumer: *mut *mut IWbemUnboundObjectSink, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemProviderInitSink; -DEFINE_GUID!{IID_IWbemProviderInitSink, - 0x1be41571, 0x91dd, 0x11d1, 0xae, 0xb2, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20} -RIDL!{#[uuid(0x1be41571, 0x91dd, 0x11d1, 0xae, 0xb2, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)] -interface IWbemProviderInitSink(IWbemProviderInitSinkVtbl): IUnknown(IUnknownVtbl) { - fn SetStatus( - lStatus: LONG, - lFlags: LONG, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemProviderInit; -DEFINE_GUID!{IID_IWbemProviderInit, - 0x1be41572, 0x91dd, 0x11d1, 0xae, 0xb2, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20} -RIDL!{#[uuid(0x1be41572, 0x91dd, 0x11d1, 0xae, 0xb2, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)] -interface IWbemProviderInit(IWbemProviderInitVtbl): IUnknown(IUnknownVtbl) { - fn Initialize( - wszUser: LPWSTR, - lFlags: LONG, - wszNamespace: LPWSTR, - wszLocale: LPWSTR, - pNamespace: *mut IWbemServices, - pCtx: *mut IWbemContext, - pInitSink: *mut IWbemProviderInitSink, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemHiPerfProvider; -DEFINE_GUID!{IID_IWbemHiPerfProvider, - 0x49353c93, 0x516b, 0x11d1, 0xae, 0xa6, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20} -RIDL!{#[uuid(0x49353c93, 0x516b, 0x11d1, 0xae, 0xa6, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)] -interface IWbemHiPerfProvider(IWbemHiPerfProviderVtbl): IUnknown(IUnknownVtbl) { - fn QueryInstances( - pNamespace: *mut IWbemServices, - wszClass: *mut WCHAR, - lFlags: c_long, - pCtx: *mut IWbemContext, - pSink: *mut IWbemObjectSink, - ) -> HRESULT, - fn CreateRefresher( - pNamespace: *mut IWbemServices, - lFlags: c_long, - ppRefresher: *mut *mut IWbemRefresher, - ) -> HRESULT, - fn CreateRefreshableObject( - pNamespace: *mut IWbemServices, - pTemplate: *mut IWbemObjectAccess, - pRefresher: *mut IWbemRefresher, - lFlags: c_long, - pContext: *mut IWbemContext, - ppRefreshable: *mut *mut IWbemObjectAccess, - plId: *mut c_long, - ) -> HRESULT, - fn StopRefreshing( - pRefresher: *mut IWbemRefresher, - lId: c_long, - lFlags: c_long, - ) -> HRESULT, - fn CreateRefreshableEnum( - pNamespace: *mut IWbemServices, - wszClass: LPCWSTR, - pRefresher: *mut IWbemRefresher, - lFlags: c_long, - pContext: *mut IWbemContext, - pHiPerfEnum: *mut IWbemHiPerfEnum, - plId: *mut c_long, - ) -> HRESULT, - fn GetObjects( - pNamespace: *mut IWbemServices, - lNumObjects: c_long, - apObj: *mut *mut IWbemObjectAccess, - lFlags: c_long, - pContext: *mut IWbemContext, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemDecoupledRegistrar; -DEFINE_GUID!{IID_IWbemDecoupledRegistrar, - 0x1005cbcf, 0xe64f, 0x4646, 0xbc, 0xd3, 0x3a, 0x08, 0x9d, 0x8a, 0x84, 0xb4} -RIDL!{#[uuid(0x1005cbcf, 0xe64f, 0x4646, 0xbc, 0xd3, 0x3a, 0x08, 0x9d, 0x8a, 0x84, 0xb4)] -interface IWbemDecoupledRegistrar(IWbemDecoupledRegistrarVtbl): IUnknown(IUnknownVtbl) { - fn Register( - a_Flags: c_long, - a_Context: *mut IWbemContext, - a_User: LPCWSTR, - a_Locale: LPCWSTR, - a_Scope: LPCWSTR, - a_Registration: LPCWSTR, - pIUnknown: *mut IUnknown, - ) -> HRESULT, - fn UnRegister() -> HRESULT, -}} -DEFINE_GUID!{CLSID_WbemAdministrativeLocator, - 0xcb8555cc, 0x9128, 0x11d1, 0xad, 0x9b, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff} -// class DECLSPEC_UUID("cb8555cc-9128-11d1-ad9b-00c04fd8fdff") -// WbemAdministrativeLocator; -DEFINE_GUID!{CLSID_WbemAuthenticatedLocator, - 0xcd184336, 0x9128, 0x11d1, 0xad, 0x9b, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff} -// class DECLSPEC_UUID("cd184336-9128-11d1-ad9b-00c04fd8fdff") -// WbemAuthenticatedLocator; -DEFINE_GUID!{CLSID_WbemUnauthenticatedLocator, - 0x443E7B79, 0xDE31, 0x11d2, 0xB3, 0x40, 0x00, 0x10, 0x4B, 0xCC, 0x4B, 0x4A} -// class DECLSPEC_UUID("443E7B79-DE31-11d2-B340-00104BCC4B4A") -// WbemUnauthenticatedLocator; -DEFINE_GUID!{CLSID_WbemDecoupledRegistrar, - 0x4cfc7932, 0x0f9d, 0x4bef, 0x9c, 0x32, 0x8e, 0xa2, 0xa6, 0xb5, 0x6f, 0xcb} -// class DECLSPEC_UUID("4cfc7932-0f9d-4bef-9c32-8ea2a6b56fcb") -// WbemDecoupledRegistrar; -DEFINE_GUID!{CLSID_WbemDecoupledBasicEventProvider, - 0xf5f75737, 0x2843, 0x4f22, 0x93, 0x3d, 0xc7, 0x6a, 0x97, 0xcd, 0xa6, 0x2f} -// class DECLSPEC_UUID("f5f75737-2843-4f22-933d-c76a97cda62f") -// WbemDecoupledBasicEventProvider; -// EXTERN_C const IID IID_IWbemProviderIdentity; -DEFINE_GUID!{IID_IWbemProviderIdentity, - 0x631f7d97, 0xd993, 0x11d2, 0xb3, 0x39, 0x00, 0x10, 0x5a, 0x1f, 0x4a, 0xaf} -RIDL!{#[uuid(0x631f7d97, 0xd993, 0x11d2, 0xb3, 0x39, 0x00, 0x10, 0x5a, 0x1f, 0x4a, 0xaf)] -interface IWbemProviderIdentity(IWbemProviderIdentityVtbl): IUnknown(IUnknownVtbl) { - fn SetRegistrationObject( - lFlags: c_long, - pProvReg: *mut IWbemClassObject, - ) -> HRESULT, -}} -ENUM!{enum WBEM_EXTRA_RETURN_CODES { - WBEM_S_INITIALIZED = 0, - WBEM_S_LIMITED_SERVICE = 0x43001, - WBEM_S_INDIRECTLY_UPDATED = WBEM_S_LIMITED_SERVICE + 1, - WBEM_S_SUBJECT_TO_SDS = WBEM_S_INDIRECTLY_UPDATED + 1, - WBEM_E_RETRY_LATER = 0x80043001, - WBEM_E_RESOURCE_CONTENTION = WBEM_E_RETRY_LATER + 1, -}} -ENUM!{enum WBEM_PROVIDER_FLAGS { - WBEM_FLAG_OWNER_UPDATE = 0x10000, -}} -// extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0000_0008_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0000_0008_v0_0_s_ifspec; -// EXTERN_C const IID IID_IWbemDecoupledBasicEventProvider; -DEFINE_GUID!{IID_IWbemDecoupledBasicEventProvider, - 0x86336d20, 0xca11, 0x4786, 0x9e, 0xf1, 0xbc, 0x8a, 0x94, 0x6b, 0x42, 0xfc} -RIDL!{#[uuid(0x86336d20, 0xca11, 0x4786, 0x9e, 0xf1, 0xbc, 0x8a, 0x94, 0x6b, 0x42, 0xfc)] -interface IWbemDecoupledBasicEventProvider(IWbemDecoupledBasicEventProviderVtbl): - IWbemDecoupledRegistrar(IWbemDecoupledRegistrarVtbl) { - fn GetSink( - a_Flags: c_long, - a_Context: *mut IWbemContext, - a_Sink: *mut *mut IWbemObjectSink, - ) -> HRESULT, - fn GetService( - a_Flags: c_long, - a_Context: *mut IWbemContext, - a_Service: *mut *mut IWbemServices, - ) -> HRESULT, -}} -ENUM!{enum WBEM_BATCH_TYPE { - WBEM_FLAG_BATCH_IF_NEEDED = 0, - WBEM_FLAG_MUST_BATCH = 0x1, - WBEM_FLAG_MUST_NOT_BATCH = 0x2, -}} -// extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0000_0013_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0000_0013_v0_0_s_ifspec; -// EXTERN_C const IID IID_IWbemEventSink; -DEFINE_GUID!{IID_IWbemEventSink, - 0x3ae0080a, 0x7e3a, 0x4366, 0xbf, 0x89, 0x0f, 0xee, 0xdc, 0x93, 0x16, 0x59} -RIDL!{#[uuid(0x3ae0080a, 0x7e3a, 0x4366, 0xbf, 0x89, 0x0f, 0xee, 0xdc, 0x93, 0x16, 0x59)] -interface IWbemEventSink(IWbemEventSinkVtbl): IWbemObjectSink(IWbemObjectSinkVtbl) { - fn SetSinkSecurity( - lSDLength: c_long, - pSD: *mut BYTE, - ) -> HRESULT, - fn IsActive() -> HRESULT, - fn GetRestrictedSink( - lNumQueries: c_long, - awszQueries: *const LPCWSTR, - pCallback: *mut IUnknown, - ppSink: *mut *mut IWbemEventSink, - ) -> HRESULT, - fn SetBatchingParameters( - lFlags: LONG, - dwMaxBufferSize: DWORD, - dwMaxSendLatency: DWORD, - ) -> HRESULT, -}} -// extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0000_0014_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0000_0014_v0_0_s_ifspec; -// unsigned c_long __RPC_USER BSTR_UserSize( __RPC__in unsigned c_long *, unsigned c_long, __RPC__in BSTR * ); -// unsigned char * __RPC_USER BSTR_UserMarshal( __RPC__in unsigned c_long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * ); -// unsigned char * __RPC_USER BSTR_UserUnmarshal(__RPC__in unsigned c_long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * ); -// void __RPC_USER BSTR_UserFree( __RPC__in unsigned c_long *, __RPC__in BSTR * ); -// unsigned c_long __RPC_USER VARIANT_UserSize( __RPC__in unsigned c_long *, unsigned c_long, __RPC__in VARIANT * ); -// unsigned char * __RPC_USER VARIANT_UserMarshal( __RPC__in unsigned c_long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in VARIANT * ); -// unsigned char * __RPC_USER VARIANT_UserUnmarshal(__RPC__in unsigned c_long *, __RPC__in_xcount(0) unsigned char *, __RPC__out VARIANT * ); -// void __RPC_USER VARIANT_UserFree( __RPC__in unsigned c_long *, __RPC__in VARIANT * ); -// unsigned c_long __RPC_USER BSTR_UserSize64( __RPC__in unsigned c_long *, unsigned c_long, __RPC__in BSTR * ); -// unsigned char * __RPC_USER BSTR_UserMarshal64( __RPC__in unsigned c_long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * ); -// unsigned char * __RPC_USER BSTR_UserUnmarshal64(__RPC__in unsigned c_long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * ); -// void __RPC_USER BSTR_UserFree64( __RPC__in unsigned c_long *, __RPC__in BSTR * ); -// unsigned c_long __RPC_USER VARIANT_UserSize64( __RPC__in unsigned c_long *, unsigned c_long, __RPC__in VARIANT * ); -// unsigned char * __RPC_USER VARIANT_UserMarshal64( __RPC__in unsigned c_long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in VARIANT * ); -// unsigned char * __RPC_USER VARIANT_UserUnmarshal64(__RPC__in unsigned c_long *, __RPC__in_xcount(0) unsigned char *, __RPC__out VARIANT * ); -// void __RPC_USER VARIANT_UserFree64( __RPC__in unsigned c_long *, __RPC__in VARIANT * ); diff --git a/vendor/registry-40351f815f426200/winapi/src/um/wbemtran.rs b/vendor/registry-40351f815f426200/winapi/src/um/wbemtran.rs deleted file mode 100644 index 6f9d4a6ed..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/wbemtran.rs +++ /dev/null @@ -1,184 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_long, c_void}; -use shared::guiddef::REFIID; -use shared::minwindef::{BYTE, DWORD}; -use shared::winerror::HRESULT; -use shared::wtypes::BSTR; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::wbemcli::{IWbemCallResult, IWbemContext, IWbemObjectSink, IWbemServices}; -use um::winnt::{LPCWSTR, LPWSTR}; -// extern RPC_IF_HANDLE __MIDL_itf_wbemtran_0000_0000_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemtran_0000_0000_v0_0_s_ifspec; -ENUM!{enum WBEM_LOGIN_TYPE { - WBEM_FLAG_INPROC_LOGIN = 0, - WBEM_FLAG_LOCAL_LOGIN = 1, - WBEM_FLAG_REMOTE_LOGIN = 2, - WBEM_AUTHENTICATION_METHOD_MASK = 0xf, - WBEM_FLAG_USE_MULTIPLE_CHALLENGES = 0x10, -}} -pub type WBEM_128BITS = *mut BYTE; -// EXTERN_C const IID LIBID_WbemTransports_v1; -// EXTERN_C const IID IID_IWbemTransport; -DEFINE_GUID!{IID_IWbemTransport, - 0x553fe584, 0x2156, 0x11d0, 0xb6, 0xae, 0x00, 0xaa, 0x00, 0x32, 0x40, 0xc7} -RIDL!{#[uuid(0x553fe584, 0x2156, 0x11d0, 0xb6, 0xae, 0x00, 0xaa, 0x00, 0x32, 0x40, 0xc7)] -interface IWbemTransport(IWbemTransportVtbl): IUnknown(IUnknownVtbl) { - fn Initialize() -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemLevel1Login; -DEFINE_GUID!{IID_IWbemLevel1Login, - 0xf309ad18, 0xd86a, 0x11d0, 0xa0, 0x75, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20} -RIDL!{#[uuid(0xf309ad18, 0xd86a, 0x11d0, 0xa0, 0x75, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)] -interface IWbemLevel1Login(IWbemLevel1LoginVtbl): IUnknown(IUnknownVtbl) { - fn EstablishPosition( - wszLocaleList: LPWSTR, - dwNumLocales: DWORD, - reserved: *mut DWORD, - ) -> HRESULT, - fn RequestChallenge( - wszNetworkResource: LPWSTR, - wszUser: LPWSTR, - Nonce: WBEM_128BITS, - ) -> HRESULT, - fn WBEMLogin( - wszPreferredLocale: LPWSTR, - AccessToken: WBEM_128BITS, - lFlags: c_long, - pCtx: *mut IWbemContext, - ppNamespace: *mut *mut IWbemServices, - ) -> HRESULT, - fn NTLMLogin( - wszNetworkResource: LPWSTR, - wszPreferredLocale: LPWSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - ppNamespace: *mut *mut IWbemServices, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemConnectorLogin; -DEFINE_GUID!{IID_IWbemConnectorLogin, - 0xd8ec9cb1, 0xb135, 0x4f10, 0x8b, 0x1b, 0xc7, 0x18, 0x8b, 0xb0, 0xd1, 0x86} -RIDL!{#[uuid(0xd8ec9cb1, 0xb135, 0x4f10, 0x8b, 0x1b, 0xc7, 0x18, 0x8b, 0xb0, 0xd1, 0x86)] -interface IWbemConnectorLogin(IWbemConnectorLoginVtbl): IUnknown(IUnknownVtbl) { - fn ConnectorLogin( - wszNetworkResource: LPWSTR, - wszPreferredLocale: LPWSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - riid: REFIID, - pInterface: *mut *mut c_void, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemAddressResolution; -DEFINE_GUID!{IID_IWbemAddressResolution, - 0xf7ce2e12, 0x8c90, 0x11d1, 0x9e, 0x7b, 0x00, 0xc0, 0x4f, 0xc3, 0x24, 0xa8} -RIDL!{#[uuid(0xf7ce2e12, 0x8c90, 0x11d1, 0x9e, 0x7b, 0x00, 0xc0, 0x4f, 0xc3, 0x24, 0xa8)] -interface IWbemAddressResolution(IWbemAddressResolutionVtbl): IUnknown(IUnknownVtbl) { - fn Resolve( - wszNamespacePath: LPWSTR, - wszAddressType: LPWSTR, - pdwAddressLength: *mut DWORD, - pabBinaryAddress: *mut *mut BYTE, - ) -> HRESULT, -}} -DEFINE_GUID!{CLSID_WbemLevel1Login, - 0x8BC3F05E, 0xD86B, 0x11d0, 0xA0, 0x75, 0x00, 0xC0, 0x4F, 0xB6, 0x88, 0x20} -// class DECLSPEC_UUID("8BC3F05E-D86B-11d0-A075-00C04FB68820") -// WbemLevel1Login; -DEFINE_GUID!{CLSID_WbemLocalAddrRes, - 0xA1044801, 0x8F7E, 0x11d1, 0x9E, 0x7C, 0x00, 0xC0, 0x4F, 0xC3, 0x24, 0xA8} -// class DECLSPEC_UUID("A1044801-8F7E-11d1-9E7C-00C04FC324A8") -// WbemLocalAddrRes; -DEFINE_GUID!{CLSID_WbemUninitializedClassObject, - 0x7a0227f6, 0x7108, 0x11d1, 0xad, 0x90, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff} -// class DECLSPEC_UUID("7a0227f6-7108-11d1-ad90-00c04fd8fdff") -// WbemUninitializedClassObject; -// EXTERN_C const IID IID_IWbemClientTransport; -DEFINE_GUID!{IID_IWbemClientTransport, - 0xf7ce2e11, 0x8c90, 0x11d1, 0x9e, 0x7b, 0x00, 0xc0, 0x4f, 0xc3, 0x24, 0xa8} -RIDL!{#[uuid(0xf7ce2e11, 0x8c90, 0x11d1, 0x9e, 0x7b, 0x00, 0xc0, 0x4f, 0xc3, 0x24, 0xa8)] -interface IWbemClientTransport(IWbemClientTransportVtbl): IUnknown(IUnknownVtbl) { - fn ConnectServer( - strAddressType: BSTR, - dwBinaryAddressLength: DWORD, - abBinaryAddress: *mut BYTE, - strNetworkResource: BSTR, - strUser: BSTR, - strPassword: BSTR, - strLocale: BSTR, - lSecurityFlags: c_long, - strAuthority: BSTR, - pCtx: *mut IWbemContext, - ppNamespace: *mut *mut IWbemServices, - ) -> HRESULT, -}} -// EXTERN_C const IID IID_IWbemClientConnectionTransport; -DEFINE_GUID!{IID_IWbemClientConnectionTransport, - 0xa889c72a, 0xfcc1, 0x4a9e, 0xaf, 0x61, 0xed, 0x07, 0x13, 0x33, 0xfb, 0x5b} -RIDL!{#[uuid(0xa889c72a, 0xfcc1, 0x4a9e, 0xaf, 0x61, 0xed, 0x07, 0x13, 0x33, 0xfb, 0x5b)] -interface IWbemClientConnectionTransport(IWbemClientConnectionTransportVtbl): - IUnknown(IUnknownVtbl) { - fn Open( - strAddressType: BSTR, - dwBinaryAddressLength: DWORD, - abBinaryAddress: *mut BYTE, - strObject: BSTR, - strUser: BSTR, - strPassword: BSTR, - strLocale: BSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - riid: REFIID, - pInterface: *mut *mut c_void, - pCallRes: *mut *mut IWbemCallResult, - ) -> HRESULT, - fn OpenAsync( - strAddressType: BSTR, - dwBinaryAddressLength: DWORD, - abBinaryAddress: *mut BYTE, - strObject: BSTR, - strUser: BSTR, - strPassword: BSTR, - strLocale: BSTR, - lFlags: c_long, - pCtx: *mut IWbemContext, - riid: REFIID, - pResponseHandler: *mut IWbemObjectSink, - ) -> HRESULT, - fn Cancel( - lFlags: c_long, - pHandler: *mut IWbemObjectSink, - ) -> HRESULT, -}} -DEFINE_GUID!{CLSID_WbemDCOMTransport, - 0xF7CE2E13, 0x8C90, 0x11d1, 0x9E, 0x7B, 0x00, 0xC0, 0x4F, 0xC3, 0x24, 0xA8} -// class DECLSPEC_UUID("F7CE2E13-8C90-11d1-9E7B-00C04FC324A8") -// WbemDCOMTransport; -// EXTERN_C const IID IID_IWbemConstructClassObject; -DEFINE_GUID!{IID_IWbemConstructClassObject, - 0x9ef76194, 0x70d5, 0x11d1, 0xad, 0x90, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff} -RIDL!{#[uuid(0x9ef76194, 0x70d5, 0x11d1, 0xad, 0x90, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff)] -interface IWbemConstructClassObject(IWbemConstructClassObjectVtbl): IUnknown(IUnknownVtbl) { - fn SetInheritanceChain( - lNumAntecedents: c_long, - awszAntecedents: *mut LPWSTR, - ) -> HRESULT, - fn SetPropertyOrigin( - wszPropertyName: LPCWSTR, - lOriginIndex: c_long, - ) -> HRESULT, - fn SetMethodOrigin( - wszMethodName: LPCWSTR, - lOriginIndex: c_long, - ) -> HRESULT, - fn SetServerNamespace( - wszServer: LPCWSTR, - wszNamespace: LPCWSTR, - ) -> HRESULT, -}} -// extern RPC_IF_HANDLE __MIDL_itf_wbemtran_0000_0008_v0_0_c_ifspec; -// extern RPC_IF_HANDLE __MIDL_itf_wbemtran_0000_0008_v0_0_s_ifspec; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/wct.rs b/vendor/registry-40351f815f426200/winapi/src/um/wct.rs deleted file mode 100644 index 0c3fae910..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/wct.rs +++ /dev/null @@ -1,114 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_int; -use shared::basetsd::{DWORD_PTR, SIZE_T}; -use shared::guiddef::GUID; -use shared::minwindef::{BOOL, DWORD, LPBOOL, LPDWORD, PULONG}; -use um::winnt::{HRESULT, LARGE_INTEGER, WCHAR}; -ENUM!{enum WCT_OBJECT_TYPE { - WctCriticalSectionType = 1, - WctSendMessageType, - WctMutexType, - WctAlpcType, - WctComType, - WctThreadWaitType, - WctProcessWaitType, - WctThreadType, - WctComActivationType, - WctUnknownType, - WctSocketIoType, - WctSmbIoType, - WctMaxType, -}} -ENUM!{enum WCT_OBJECT_STATUS { - WctStatusNoAccess = 1, - WctStatusRunning, - WctStatusBlocked, - WctStatusPidOnly, - WctStatusPidOnlyRpcss, - WctStatusOwned, - WctStatusNotOwned, - WctStatusAbandoned, - WctStatusUnknown, - WctStatusError, - WctStatusMax, -}} -pub const WCT_MAX_NODE_COUNT: SIZE_T = 16; -pub const WCT_OBJNAME_LENGTH: SIZE_T = 128; -STRUCT!{struct WAITCHAIN_NODE_INFO_LOCK_OBJECT { - ObjectName: [WCHAR; WCT_OBJNAME_LENGTH], - Timeout: LARGE_INTEGER, - Alertable: BOOL, -}} -STRUCT!{struct WAITCHAIN_NODE_INFO_THREAD_OBJECT { - ProcessId: DWORD, - ThreadId: DWORD, - WaitTime: DWORD, - ContextSwitches: DWORD, -}} -UNION!{union WAITCHAIN_NODE_INFO_u { - [u64; 34], - LockObject LockObject_mut: WAITCHAIN_NODE_INFO_LOCK_OBJECT, - ThreadObject ThreadObject_mut: WAITCHAIN_NODE_INFO_THREAD_OBJECT, -}} -STRUCT!{struct WAITCHAIN_NODE_INFO { - ObjectType: WCT_OBJECT_TYPE, - ObjectStatus: WCT_OBJECT_STATUS, - u: WAITCHAIN_NODE_INFO_u, -}} -pub type PWAITCHAIN_NODE_INFO = *mut WAITCHAIN_NODE_INFO; -DECLARE_HANDLE!{HWCT, HWCT__} -FN!{cdecl PWAITCHAINCALLBACK( - WctHandle: HWCT, - Context: DWORD_PTR, - CallbackStatus: DWORD, - NodeCount: LPDWORD, - NodeInfoArray: PWAITCHAIN_NODE_INFO, - IsCycle: LPBOOL, -) -> ()} -pub const WCT_ASYNC_OPEN_FLAG: DWORD = 1; -pub const WCTP_OPEN_ALL_FLAGS: DWORD = WCT_ASYNC_OPEN_FLAG; -extern "system" { - pub fn OpenThreadWaitChainSession( - Flags: DWORD, - callback: PWAITCHAINCALLBACK, - ) -> HWCT; - pub fn CloseThreadWaitChainSession( - WctHandle: HWCT, - ); -} -pub const WCT_OUT_OF_PROC_FLAG: DWORD = 0x1; -pub const WCT_OUT_OF_PROC_COM_FLAG: DWORD = 0x2; -pub const WCT_OUT_OF_PROC_CS_FLAG: DWORD = 0x4; -pub const WCT_NETWORK_IO_FLAG: DWORD = 0x8; -pub const WCTP_GETINFO_ALL_FLAGS: DWORD = WCT_OUT_OF_PROC_FLAG | WCT_OUT_OF_PROC_COM_FLAG - | WCT_OUT_OF_PROC_CS_FLAG; -extern "system" { - pub fn GetThreadWaitChain( - WctHandle: HWCT, - Context: DWORD_PTR, - Flags: DWORD, - ThreadId: DWORD, - NodeCount: LPDWORD, - NodeInfoArray: PWAITCHAIN_NODE_INFO, - IsCycle: LPBOOL, - ) -> BOOL; -} -FN!{cdecl PCOGETCALLSTATE( - c_int, - PULONG, -) -> HRESULT} -FN!{cdecl PCOGETACTIVATIONSTATE( - GUID, - DWORD, - *mut DWORD, -) -> HRESULT} -extern "system" { - pub fn RegisterWaitChainCOMCallback( - CallStateCallback: PCOGETCALLSTATE, - ActivationStateCallback: PCOGETACTIVATIONSTATE, - ); -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/werapi.rs b/vendor/registry-40351f815f426200/winapi/src/um/werapi.rs deleted file mode 100644 index 6eae64e90..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/werapi.rs +++ /dev/null @@ -1,53 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Function prototypes for Windows Error Reporting (WER) -use shared::minwindef::{BOOL, DWORD, PDWORD}; -use um::winnt::{HANDLE, HRESULT, PCWSTR, PVOID}; -ENUM!{enum WER_REGISTER_FILE_TYPE { - WerRegFileTypeUserDocument = 1, - WerRegFileTypeOther = 2, - WerRegFileTypeMax, -}} -extern "system" { - pub fn WerRegisterFile( - pwzFile: PCWSTR, - regFileType: WER_REGISTER_FILE_TYPE, - dwFlags: DWORD, - ) -> HRESULT; - pub fn WerUnregisterFile( - pwzFilePath: PCWSTR, - ) -> HRESULT; - pub fn WerRegisterMemoryBlock( - pvAddress: PVOID, - dwSize: DWORD, - ) -> HRESULT; - pub fn WerUnregisterMemoryBlock( - pvAddress: PVOID, - ) -> HRESULT; - pub fn WerSetFlags( - dwFlags: DWORD, - ) -> HRESULT; - pub fn WerGetFlags( - hProcess: HANDLE, - pdwFlags: PDWORD, - ) -> HRESULT; - pub fn WerAddExcludedApplication( - pwzExeName: PCWSTR, - bAllUsers: BOOL, - ) -> HRESULT; - pub fn WerRemoveExcludedApplication( - pwzExeName: PCWSTR, - bAllUsers: BOOL, - ) -> HRESULT; - pub fn WerRegisterRuntimeExceptionModule( - pwszOutOfProcessCallbackDll: PCWSTR, - pContext: PVOID, - ) -> HRESULT; - pub fn WerUnregisterRuntimeExceptionModule( - pwszOutOfProcessCallbackDll: PCWSTR, - pContext: PVOID, - ) -> HRESULT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/winbase.rs b/vendor/registry-40351f815f426200/winapi/src/um/winbase.rs deleted file mode 100644 index 22db22a9b..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/winbase.rs +++ /dev/null @@ -1,2825 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This module defines the 32-Bit Windows Base APIs -use ctypes::{c_char, c_int, c_long, c_void}; -use shared::basetsd::{ - DWORD64, DWORD_PTR, LONG_PTR, PDWORD64, PDWORD_PTR, PSIZE_T, PULONG_PTR, SIZE_T, UINT_PTR, - ULONG_PTR, -}; -use shared::guiddef::GUID; -use shared::minwindef::{ - ATOM, BOOL, BYTE, DWORD, FARPROC, FILETIME, HFILE, HGLOBAL, HLOCAL, HMODULE, HRSRC, LPBOOL, - LPBYTE, LPCVOID, LPDWORD, LPFILETIME, LPVOID, LPWORD, PBOOL, PDWORD, PUCHAR, PULONG, PUSHORT, - UCHAR, UINT, ULONG, USHORT, WORD, -}; -use shared::windef::HWND; -use um::cfgmgr32::MAX_PROFILE_LEN; -use um::fileapi::STREAM_INFO_LEVELS; -use um::libloaderapi::{ - ENUMRESLANGPROCA, ENUMRESLANGPROCW, ENUMRESNAMEPROCA, ENUMRESTYPEPROCA, ENUMRESTYPEPROCW, -}; -use um::minwinbase::{ - FILE_INFO_BY_HANDLE_CLASS, FINDEX_INFO_LEVELS, FINDEX_SEARCH_OPS, GET_FILEEX_INFO_LEVELS, - LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE, LPSECURITY_ATTRIBUTES, PREASON_CONTEXT, -}; -use um::processthreadsapi::{ - LPPROC_THREAD_ATTRIBUTE_LIST, LPSTARTUPINFOA, STARTUPINFOA, STARTUPINFOW, -}; -use um::winnt::{ - BOOLEAN, CHAR, DWORDLONG, EXECUTION_STATE, FILE_ID_128, HANDLE, HRESULT, INT, LANGID, - LARGE_INTEGER, LATENCY_TIME, LONG, LPCCH, LPCH, LPCSTR, LPCWSTR, LPOSVERSIONINFOEXA, - LPOSVERSIONINFOEXW, LPSTR, LPWSTR, MAXLONG, PBOOLEAN, PCONTEXT, PCWSTR, PFIRMWARE_TYPE, - PHANDLE, PIO_COUNTERS, PJOB_SET_ARRAY, PLUID, POWER_REQUEST_TYPE, PPERFORMANCE_DATA, - PPROCESSOR_NUMBER, PQUOTA_LIMITS, PRTL_UMS_SCHEDULER_ENTRY_POINT, - PSECURE_MEMORY_CACHE_CALLBACK, PSID, PSID_NAME_USE, PULONGLONG, PVOID, PWOW64_CONTEXT, - PWOW64_LDT_ENTRY, PWSTR, RTL_UMS_THREAD_INFO_CLASS, STATUS_ABANDONED_WAIT_0, STATUS_USER_APC, - STATUS_WAIT_0, SecurityAnonymous, SecurityDelegation, SecurityIdentification, - SecurityImpersonation, THREAD_BASE_PRIORITY_IDLE, THREAD_BASE_PRIORITY_LOWRT, - THREAD_BASE_PRIORITY_MAX, THREAD_BASE_PRIORITY_MIN, ULARGE_INTEGER, VOID, WAITORTIMERCALLBACK, - WCHAR, WOW64_CONTEXT, -}; -#[cfg(target_arch = "x86")] -use um::winnt::PLDT_ENTRY; -use vc::vadefs::va_list; -pub const FILE_BEGIN: DWORD = 0; -pub const FILE_CURRENT: DWORD = 1; -pub const FILE_END: DWORD = 2; -pub const WAIT_FAILED: DWORD = 0xFFFFFFFF; -pub const WAIT_OBJECT_0: DWORD = STATUS_WAIT_0 as u32; -pub const WAIT_ABANDONED: DWORD = STATUS_ABANDONED_WAIT_0 as u32; -pub const WAIT_ABANDONED_0: DWORD = STATUS_ABANDONED_WAIT_0 as u32; -pub const WAIT_IO_COMPLETION: DWORD = STATUS_USER_APC as u32; -pub const FILE_FLAG_WRITE_THROUGH: DWORD = 0x80000000; -pub const FILE_FLAG_OVERLAPPED: DWORD = 0x40000000; -pub const FILE_FLAG_NO_BUFFERING: DWORD = 0x20000000; -pub const FILE_FLAG_RANDOM_ACCESS: DWORD = 0x10000000; -pub const FILE_FLAG_SEQUENTIAL_SCAN: DWORD = 0x08000000; -pub const FILE_FLAG_DELETE_ON_CLOSE: DWORD = 0x04000000; -pub const FILE_FLAG_BACKUP_SEMANTICS: DWORD = 0x02000000; -pub const FILE_FLAG_POSIX_SEMANTICS: DWORD = 0x01000000; -pub const FILE_FLAG_SESSION_AWARE: DWORD = 0x00800000; -pub const FILE_FLAG_OPEN_REPARSE_POINT: DWORD = 0x00200000; -pub const FILE_FLAG_OPEN_NO_RECALL: DWORD = 0x00100000; -pub const FILE_FLAG_FIRST_PIPE_INSTANCE: DWORD = 0x00080000; -pub const FILE_FLAG_OPEN_REQUIRING_OPLOCK: DWORD = 0x00040000; -pub const PROGRESS_CONTINUE: DWORD = 0; -pub const PROGRESS_CANCEL: DWORD = 1; -pub const PROGRESS_STOP: DWORD = 2; -pub const PROGRESS_QUIET: DWORD = 3; -pub const CALLBACK_CHUNK_FINISHED: DWORD = 0x00000000; -pub const CALLBACK_STREAM_SWITCH: DWORD = 0x00000001; -pub const COPY_FILE_FAIL_IF_EXISTS: DWORD = 0x00000001; -pub const COPY_FILE_RESTARTABLE: DWORD = 0x00000002; -pub const COPY_FILE_OPEN_SOURCE_FOR_WRITE: DWORD = 0x00000004; -pub const COPY_FILE_ALLOW_DECRYPTED_DESTINATION: DWORD = 0x00000008; -pub const COPY_FILE_COPY_SYMLINK: DWORD = 0x00000800; -pub const COPY_FILE_NO_BUFFERING: DWORD = 0x00001000; -pub const COPY_FILE_REQUEST_SECURITY_PRIVILEGES: DWORD = 0x00002000; -pub const COPY_FILE_RESUME_FROM_PAUSE: DWORD = 0x00004000; -pub const COPY_FILE_NO_OFFLOAD: DWORD = 0x00040000; -pub const COPY_FILE_IGNORE_EDP_BLOCK: DWORD = 0x00400000; -pub const COPY_FILE_IGNORE_SOURCE_ENCRYPTION: DWORD = 0x00800000; -pub const REPLACEFILE_WRITE_THROUGH: DWORD = 0x00000001; -pub const REPLACEFILE_IGNORE_MERGE_ERRORS: DWORD = 0x00000002; -pub const REPLACEFILE_IGNORE_ACL_ERRORS: DWORD = 0x00000004; -pub const PIPE_ACCESS_INBOUND: DWORD = 0x00000001; -pub const PIPE_ACCESS_OUTBOUND: DWORD = 0x00000002; -pub const PIPE_ACCESS_DUPLEX: DWORD = 0x00000003; -pub const PIPE_CLIENT_END: DWORD = 0x00000000; -pub const PIPE_SERVER_END: DWORD = 0x00000001; -pub const PIPE_WAIT: DWORD = 0x00000000; -pub const PIPE_NOWAIT: DWORD = 0x00000001; -pub const PIPE_READMODE_BYTE: DWORD = 0x00000000; -pub const PIPE_READMODE_MESSAGE: DWORD = 0x00000002; -pub const PIPE_TYPE_BYTE: DWORD = 0x00000000; -pub const PIPE_TYPE_MESSAGE: DWORD = 0x00000004; -pub const PIPE_ACCEPT_REMOTE_CLIENTS: DWORD = 0x00000000; -pub const PIPE_REJECT_REMOTE_CLIENTS: DWORD = 0x00000008; -pub const PIPE_UNLIMITED_INSTANCES: DWORD = 255; -pub const SECURITY_ANONYMOUS: DWORD = SecurityAnonymous << 16; -pub const SECURITY_IDENTIFICATION: DWORD = SecurityIdentification << 16; -pub const SECURITY_IMPERSONATION: DWORD = SecurityImpersonation << 16; -pub const SECURITY_DELEGATION: DWORD = SecurityDelegation << 16; -pub const SECURITY_CONTEXT_TRACKING: DWORD = 0x00040000; -pub const SECURITY_EFFECTIVE_ONLY: DWORD = 0x00080000; -pub const SECURITY_SQOS_PRESENT: DWORD = 0x00100000; -pub const SECURITY_VALID_SQOS_FLAGS: DWORD = 0x001F0000; -FN!{stdcall PFIBER_START_ROUTINE( - lpFiberParameter: LPVOID, -) -> ()} -pub type LPFIBER_START_ROUTINE = PFIBER_START_ROUTINE; -FN!{stdcall PFIBER_CALLOUT_ROUTINE( - lpParameter: LPVOID, -) -> LPVOID} -// FAIL_FAST_* -#[cfg(target_arch = "x86")] -pub type LPLDT_ENTRY = PLDT_ENTRY; -#[cfg(not(target_arch = "x86"))] -pub type LPLDT_ENTRY = LPVOID; // TODO - fix this for 32-bit -//SP_SERIALCOMM -//PST_* -// PCF_* -// SP_* -// BAUD_* -// DATABITS_* -// STOPBITS_* -// PARITY_* -STRUCT!{struct COMMPROP { - wPacketLength: WORD, - wPacketVersion: WORD, - dwServiceMask: DWORD, - dwReserved1: DWORD, - dwMaxTxQueue: DWORD, - dwMaxRxQueue: DWORD, - dwMaxBaud: DWORD, - dwProvSubType: DWORD, - dwProvCapabilities: DWORD, - dwSettableParams: DWORD, - dwSettableBaud: DWORD, - wSettableData: WORD, - wSettableStopParity: WORD, - dwCurrentTxQueue: DWORD, - dwCurrentRxQueue: DWORD, - dwProvSpec1: DWORD, - dwProvSpec2: DWORD, - wcProvChar: [WCHAR; 1], -}} -pub type LPCOMMPROP = *mut COMMPROP; -STRUCT!{struct COMSTAT { - BitFields: DWORD, - cbInQue: DWORD, - cbOutQue: DWORD, -}} -BITFIELD!{COMSTAT BitFields: DWORD [ - fCtsHold set_fCtsHold[0..1], - fDsrHold set_fDsrHold[1..2], - fRlsdHold set_fRlsdHold[2..3], - fXoffHold set_fXoffHold[3..4], - fXoffSent set_fXoffSent[4..5], - fEof set_fEof[5..6], - fTxim set_fTxim[6..7], - fReserved set_fReserved[7..32], -]} -pub type LPCOMSTAT = *mut COMSTAT; -pub const DTR_CONTROL_DISABLE: DWORD = 0x00; -pub const DTR_CONTROL_ENABLE: DWORD = 0x01; -pub const DTR_CONTROL_HANDSHAKE: DWORD = 0x02; -pub const RTS_CONTROL_DISABLE: DWORD = 0x00; -pub const RTS_CONTROL_ENABLE: DWORD = 0x01; -pub const RTS_CONTROL_HANDSHAKE: DWORD = 0x02; -pub const RTS_CONTROL_TOGGLE: DWORD = 0x03; -STRUCT!{struct DCB { - DCBlength: DWORD, - BaudRate: DWORD, - BitFields: DWORD, - wReserved: WORD, - XonLim: WORD, - XoffLim: WORD, - ByteSize: BYTE, - Parity: BYTE, - StopBits: BYTE, - XonChar: c_char, - XoffChar: c_char, - ErrorChar: c_char, - EofChar: c_char, - EvtChar: c_char, - wReserved1: WORD, -}} -BITFIELD!{DCB BitFields: DWORD [ - fBinary set_fBinary[0..1], - fParity set_fParity[1..2], - fOutxCtsFlow set_fOutxCtsFlow[2..3], - fOutxDsrFlow set_fOutxDsrFlow[3..4], - fDtrControl set_fDtrControl[4..6], - fDsrSensitivity set_fDsrSensitivity[6..7], - fTXContinueOnXoff set_fTXContinueOnXoff[7..8], - fOutX set_fOutX[8..9], - fInX set_fInX[9..10], - fErrorChar set_fErrorChar[10..11], - fNull set_fNull[11..12], - fRtsControl set_fRtsControl[12..14], - fAbortOnError set_fAbortOnError[14..15], - fDummy2 set_fDummy2[15..32], -]} -pub type LPDCB = *mut DCB; -STRUCT!{struct COMMTIMEOUTS { - ReadIntervalTimeout: DWORD, - ReadTotalTimeoutMultiplier: DWORD, - ReadTotalTimeoutConstant: DWORD, - WriteTotalTimeoutMultiplier: DWORD, - WriteTotalTimeoutConstant: DWORD, -}} -pub type LPCOMMTIMEOUTS = *mut COMMTIMEOUTS; -STRUCT!{struct COMMCONFIG { - dwSize: DWORD, - wVersion: WORD, - wReserved: WORD, - dcb: DCB, - dwProviderSubType: DWORD, - dwProviderOffset: DWORD, - dwProviderSize: DWORD, - wcProviderData: [WCHAR; 1], -}} -pub type LPCOMMCONFIG = *mut COMMCONFIG; -pub const GMEM_FIXED: UINT = 0x0000; -pub const GMEM_MOVEABLE: UINT = 0x0002; -pub const GMEM_NOCOMPACT: UINT = 0x0010; -pub const GMEM_NODISCARD: UINT = 0x0020; -pub const GMEM_ZEROINIT: UINT = 0x0040; -pub const GMEM_MODIFY: UINT = 0x0080; -pub const GMEM_DISCARDABLE: UINT = 0x0100; -pub const GMEM_NOT_BANKED: UINT = 0x1000; -pub const GMEM_SHARE: UINT = 0x2000; -pub const GMEM_DDESHARE: UINT = 0x2000; -pub const GMEM_NOTIFY: UINT = 0x4000; -pub const GMEM_LOWER: UINT = GMEM_NOT_BANKED; -pub const GMEM_VALID_FLAGS: UINT = 0x7F72; -pub const GMEM_INVALID_HANDLE: UINT = 0x8000; -pub const GHND: UINT = GMEM_MOVEABLE | GMEM_ZEROINIT; -pub const GPTR: UINT = GMEM_FIXED | GMEM_ZEROINIT; -pub const GMEM_DISCARDED: UINT = 0x4000; -pub const GMEM_LOCKCOUNT: UINT = 0x00FF; -STRUCT!{struct MEMORYSTATUS { - dwLength: DWORD, - dwMemoryLoad: DWORD, - dwTotalPhys: SIZE_T, - dwAvailPhys: SIZE_T, - dwTotalPageFile: SIZE_T, - dwAvailPageFile: SIZE_T, - dwTotalVirtual: SIZE_T, - dwAvailVirtual: SIZE_T, -}} -pub type LPMEMORYSTATUS = *mut MEMORYSTATUS; -// NUMA_NO_PREFERRED_NODE -pub const DEBUG_PROCESS: DWORD = 0x00000001; -pub const DEBUG_ONLY_THIS_PROCESS: DWORD = 0x00000002; -pub const CREATE_SUSPENDED: DWORD = 0x00000004; -pub const DETACHED_PROCESS: DWORD = 0x00000008; -pub const CREATE_NEW_CONSOLE: DWORD = 0x00000010; -pub const NORMAL_PRIORITY_CLASS: DWORD = 0x00000020; -pub const IDLE_PRIORITY_CLASS: DWORD = 0x00000040; -pub const HIGH_PRIORITY_CLASS: DWORD = 0x00000080; -pub const REALTIME_PRIORITY_CLASS: DWORD = 0x00000100; -pub const CREATE_NEW_PROCESS_GROUP: DWORD = 0x00000200; -pub const CREATE_UNICODE_ENVIRONMENT: DWORD = 0x00000400; -pub const CREATE_SEPARATE_WOW_VDM: DWORD = 0x00000800; -pub const CREATE_SHARED_WOW_VDM: DWORD = 0x00001000; -pub const CREATE_FORCEDOS: DWORD = 0x00002000; -pub const BELOW_NORMAL_PRIORITY_CLASS: DWORD = 0x00004000; -pub const ABOVE_NORMAL_PRIORITY_CLASS: DWORD = 0x00008000; -pub const INHERIT_PARENT_AFFINITY: DWORD = 0x00010000; -pub const INHERIT_CALLER_PRIORITY: DWORD = 0x00020000; -pub const CREATE_PROTECTED_PROCESS: DWORD = 0x00040000; -pub const EXTENDED_STARTUPINFO_PRESENT: DWORD = 0x00080000; -pub const PROCESS_MODE_BACKGROUND_BEGIN: DWORD = 0x00100000; -pub const PROCESS_MODE_BACKGROUND_END: DWORD = 0x00200000; -pub const CREATE_BREAKAWAY_FROM_JOB: DWORD = 0x01000000; -pub const CREATE_PRESERVE_CODE_AUTHZ_LEVEL: DWORD = 0x02000000; -pub const CREATE_DEFAULT_ERROR_MODE: DWORD = 0x04000000; -pub const CREATE_NO_WINDOW: DWORD = 0x08000000; -pub const PROFILE_USER: DWORD = 0x10000000; -pub const PROFILE_KERNEL: DWORD = 0x20000000; -pub const PROFILE_SERVER: DWORD = 0x40000000; -pub const CREATE_IGNORE_SYSTEM_DEFAULT: DWORD = 0x80000000; -// STACK_SIZE_PARAM_IS_A_RESERVATION -pub const THREAD_PRIORITY_LOWEST: DWORD = THREAD_BASE_PRIORITY_MIN; -pub const THREAD_PRIORITY_BELOW_NORMAL: DWORD = THREAD_PRIORITY_LOWEST + 1; -pub const THREAD_PRIORITY_NORMAL: DWORD = 0; -pub const THREAD_PRIORITY_HIGHEST: DWORD = THREAD_BASE_PRIORITY_MAX; -pub const THREAD_PRIORITY_ABOVE_NORMAL: DWORD = THREAD_PRIORITY_HIGHEST - 1; -pub const THREAD_PRIORITY_ERROR_RETURN: DWORD = MAXLONG as u32; -pub const THREAD_PRIORITY_TIME_CRITICAL: DWORD = THREAD_BASE_PRIORITY_LOWRT; -pub const THREAD_PRIORITY_IDLE: DWORD = THREAD_BASE_PRIORITY_IDLE; -pub const THREAD_MODE_BACKGROUND_BEGIN: DWORD = 0x00010000; -pub const THREAD_MODE_BACKGROUND_END: DWORD = 0x00020000; -pub const VOLUME_NAME_DOS: DWORD = 0x0; -// VOLUME_NAME_* -// FILE_NAME_* -// JIT_DEBUG_* -pub const DRIVE_UNKNOWN: DWORD = 0; -pub const DRIVE_NO_ROOT_DIR: DWORD = 1; -pub const DRIVE_REMOVABLE: DWORD = 2; -pub const DRIVE_FIXED: DWORD = 3; -pub const DRIVE_REMOTE: DWORD = 4; -pub const DRIVE_CDROM: DWORD = 5; -pub const DRIVE_RAMDISK: DWORD = 6; -// pub fn GetFreeSpace(); -pub const FILE_TYPE_UNKNOWN: DWORD = 0x0000; -pub const FILE_TYPE_DISK: DWORD = 0x0001; -pub const FILE_TYPE_CHAR: DWORD = 0x0002; -pub const FILE_TYPE_PIPE: DWORD = 0x0003; -pub const FILE_TYPE_REMOTE: DWORD = 0x8000; -pub const STD_INPUT_HANDLE: DWORD = -10i32 as u32; -pub const STD_OUTPUT_HANDLE: DWORD = -11i32 as u32; -pub const STD_ERROR_HANDLE: DWORD = -12i32 as u32; -pub const NOPARITY: BYTE = 0; -pub const ODDPARITY: BYTE = 1; -pub const EVENPARITY: BYTE = 2; -pub const MARKPARITY: BYTE = 3; -pub const SPACEPARITY: BYTE = 4; -pub const ONESTOPBIT: BYTE = 0; -pub const ONE5STOPBITS: BYTE = 1; -pub const TWOSTOPBITS: BYTE = 2; -pub const IGNORE: DWORD = 0; -pub const INFINITE: DWORD = 0xFFFFFFFF; -pub const CBR_110: DWORD = 110; -pub const CBR_300: DWORD = 300; -pub const CBR_600: DWORD = 600; -pub const CBR_1200: DWORD = 1200; -pub const CBR_2400: DWORD = 2400; -pub const CBR_4800: DWORD = 4800; -pub const CBR_9600: DWORD = 9600; -pub const CBR_14400: DWORD = 14400; -pub const CBR_19200: DWORD = 19200; -pub const CBR_38400: DWORD = 38400; -pub const CBR_56000: DWORD = 56000; -pub const CBR_57600: DWORD = 57600; -pub const CBR_115200: DWORD = 115200; -pub const CBR_128000: DWORD = 128000; -pub const CBR_256000: DWORD = 256000; -// CE_* -// IE_* -// EV_* -pub const SETXOFF: DWORD = 1; -pub const SETXON: DWORD = 2; -pub const SETRTS: DWORD = 3; -pub const CLRRTS: DWORD = 4; -pub const SETDTR: DWORD = 5; -pub const CLRDTR: DWORD = 6; -pub const RESETDEV: DWORD = 7; -pub const SETBREAK: DWORD = 8; -pub const CLRBREAK: DWORD = 9; -pub const PURGE_TXABORT: DWORD = 0x0001; -pub const PURGE_RXABORT: DWORD = 0x0002; -pub const PURGE_TXCLEAR: DWORD = 0x0004; -pub const PURGE_RXCLEAR: DWORD = 0x0008; -pub const MS_CTS_ON: DWORD = 0x0010; -pub const MS_DSR_ON: DWORD = 0x0020; -pub const MS_RING_ON: DWORD = 0x0040; -pub const MS_RLSD_ON: DWORD = 0x0080; -// S_* -// NMPWAIT_* -// FS_* -// OF_* -pub const OFS_MAXPATHNAME: usize = 128; -STRUCT!{struct OFSTRUCT { - cBytes: BYTE, - fFixedDisk: BYTE, - nErrCode: WORD, - Reserved1: WORD, - Reserved2: WORD, - szPathName: [CHAR; OFS_MAXPATHNAME], -}} -pub type POFSTRUCT = *mut OFSTRUCT; -pub type LPOFSTRUCT = *mut OFSTRUCT; -extern "system" { - pub fn GlobalAlloc( - uFlags: UINT, - dwBytes: SIZE_T, - ) -> HGLOBAL; - pub fn GlobalReAlloc( - hMem: HGLOBAL, - dwBytes: SIZE_T, - uFlags: UINT, - ) -> HGLOBAL; - pub fn GlobalSize( - hMem: HGLOBAL, - ) -> SIZE_T; - pub fn GlobalFlags( - hMem: HGLOBAL, - ) -> UINT; - pub fn GlobalLock( - hMem: HGLOBAL, - ) -> LPVOID; - pub fn GlobalHandle( - pMem: LPCVOID, - ) -> HGLOBAL; - pub fn GlobalUnlock( - hMem: HGLOBAL, - ) -> BOOL; - pub fn GlobalFree( - hMem: HGLOBAL, - ) -> HGLOBAL; - pub fn GlobalCompact( - dwMinFree: DWORD, - ) -> SIZE_T; - pub fn GlobalFix( - hMem: HGLOBAL, - ); - pub fn GlobalUnfix( - hMem: HGLOBAL, - ); - pub fn GlobalWire( - hMem: HGLOBAL, - ) -> LPVOID; - pub fn GlobalUnWire( - hMem: HGLOBAL, - ) -> BOOL; - pub fn GlobalMemoryStatus( - lpBuffer: LPMEMORYSTATUS, - ); - pub fn LocalAlloc( - uFlags: UINT, - uBytes: SIZE_T, - ) -> HLOCAL; - pub fn LocalReAlloc( - hMem: HLOCAL, - uBytes: SIZE_T, - uFlags: UINT, - ) -> HLOCAL; - pub fn LocalLock( - hMem: HLOCAL, - ) -> LPVOID; - pub fn LocalHandle( - pMem: LPCVOID, - ) -> HLOCAL; - pub fn LocalUnlock( - hMem: HLOCAL, - ) -> BOOL; - pub fn LocalSize( - hMem: HLOCAL, - ) -> SIZE_T; - pub fn LocalFlags( - hMem: HLOCAL, - ) -> UINT; - pub fn LocalFree( - hMem: HLOCAL, - ) -> HLOCAL; - pub fn LocalShrink( - hMem: HLOCAL, - cbNewSize: UINT, - ) -> SIZE_T; - pub fn LocalCompact( - uMinFree: UINT, - ) -> SIZE_T; -} -// SCS_* -extern "system" { - pub fn GetBinaryTypeA( - lpApplicationName: LPCSTR, - lpBinaryType: LPDWORD, - ) -> BOOL; - pub fn GetBinaryTypeW( - lpApplicationName: LPCWSTR, - lpBinaryType: LPDWORD, - ) -> BOOL; - pub fn GetShortPathNameA( - lpszLongPath: LPCSTR, - lpszShortPath: LPSTR, - cchBuffer: DWORD, - ) -> DWORD; - pub fn GetLongPathNameTransactedA( - lpszShortPath: LPCSTR, - lpszLongPath: LPSTR, - cchBuffer: DWORD, - hTransaction: HANDLE, - ) -> DWORD; - pub fn GetLongPathNameTransactedW( - lpszShortPath: LPCWSTR, - lpszLongPath: LPWSTR, - cchBuffer: DWORD, - hTransaction: HANDLE, - ) -> DWORD; - pub fn GetProcessAffinityMask( - hProcess: HANDLE, - lpProcessAffinityMask: PDWORD_PTR, - lpSystemAffinityMask: PDWORD_PTR, - ) -> BOOL; - pub fn SetProcessAffinityMask( - hProcess: HANDLE, - dwProcessAffinityMask: DWORD, - ) -> BOOL; - pub fn GetProcessIoCounters( - hProcess: HANDLE, - lpIoCounters: PIO_COUNTERS, - ) -> BOOL; - pub fn GetProcessWorkingSetSize( - hProcess: HANDLE, - lpMinimumWorkingSetSize: PSIZE_T, - lpMaximumWorkingSetSize: PSIZE_T, - ) -> BOOL; - pub fn SetProcessWorkingSetSize( - hProcess: HANDLE, - dwMinimumWorkingSetSize: SIZE_T, - dwMaximumWorkingSetSize: SIZE_T, - ) -> BOOL; - pub fn FatalExit( - ExitCode: c_int, - ); - pub fn SetEnvironmentStringsA( - NewEnvironment: LPCH, - ) -> BOOL; - pub fn SwitchToFiber( - lpFiber: LPVOID, - ); - pub fn DeleteFiber( - lpFiber: LPVOID, - ); - pub fn ConvertFiberToThread() -> BOOL; - pub fn CreateFiberEx( - dwStackCommitSize: SIZE_T, - dwStackReserveSize: SIZE_T, - dwFlags: DWORD, - lpStartAddress: LPFIBER_START_ROUTINE, - lpParameter: LPVOID, - ) -> LPVOID; - pub fn ConvertThreadToFiberEx( - lpParameter: LPVOID, - dwFlags: DWORD, - ) -> LPVOID; - pub fn CreateFiber( - dwStackSize: SIZE_T, - lpStartAddress: LPFIBER_START_ROUTINE, - lpParameter: LPVOID, - ) -> LPVOID; - pub fn ConvertThreadToFiber( - lpParameter: LPVOID, - ) -> LPVOID; -} -pub type PUMS_CONTEXT = *mut c_void; -pub type PUMS_COMPLETION_LIST = *mut c_void; -pub type UMS_THREAD_INFO_CLASS = RTL_UMS_THREAD_INFO_CLASS; -pub type PUMS_THREAD_INFO_CLASS = *mut UMS_THREAD_INFO_CLASS; -pub type PUMS_SCHEDULER_ENTRY_POINT = PRTL_UMS_SCHEDULER_ENTRY_POINT; -STRUCT!{struct UMS_SCHEDULER_STARTUP_INFO { - UmsVersion: ULONG, - CompletionList: PUMS_COMPLETION_LIST, - SchedulerProc: PUMS_SCHEDULER_ENTRY_POINT, - SchedulerParam: PVOID, -}} -pub type PUMS_SCHEDULER_STARTUP_INFO = *mut UMS_SCHEDULER_STARTUP_INFO; -STRUCT!{struct UMS_SYSTEM_THREAD_INFORMATION { - UmsVersion: ULONG, - ThreadUmsFlags: ULONG, -}} -BITFIELD!{UMS_SYSTEM_THREAD_INFORMATION ThreadUmsFlags: ULONG [ - IsUmsSchedulerThread set_IsUmsSchedulerThread[0..1], - IsUmsWorkerThread set_IsUmsWorkerThread[1..2], -]} -pub type PUMS_SYSTEM_THREAD_INFORMATION = *mut UMS_SYSTEM_THREAD_INFORMATION; -extern "system" { - #[cfg(target_pointer_width = "64")] - pub fn CreateUmsCompletionList( - UmsCompletionList: *mut PUMS_COMPLETION_LIST, - ) -> BOOL; - #[cfg(target_pointer_width = "64")] - pub fn DequeueUmsCompletionListItems( - UmsCompletionList: PUMS_COMPLETION_LIST, - WaitTimeOut: DWORD, - UmsThreadList: *mut PUMS_CONTEXT, - ) -> BOOL; - #[cfg(target_pointer_width = "64")] - pub fn GetUmsCompletionListEvent( - UmsCompletionList: PUMS_COMPLETION_LIST, - UmsCompletionEvent: PHANDLE, - ) -> BOOL; - #[cfg(target_pointer_width = "64")] - pub fn ExecuteUmsThread( - UmsThread: PUMS_CONTEXT, - ) -> BOOL; - #[cfg(target_pointer_width = "64")] - pub fn UmsThreadYield( - SchedulerParam: PVOID, - ) -> BOOL; - #[cfg(target_pointer_width = "64")] - pub fn DeleteUmsCompletionList( - UmsCompletionList: PUMS_COMPLETION_LIST, - ) -> BOOL; - #[cfg(target_pointer_width = "64")] - pub fn GetCurrentUmsThread() -> PUMS_CONTEXT; - #[cfg(target_pointer_width = "64")] - pub fn GetNextUmsListItem( - UmsContext: PUMS_CONTEXT, - ) -> PUMS_CONTEXT; - #[cfg(target_pointer_width = "64")] - pub fn QueryUmsThreadInformation( - UmsThread: PUMS_CONTEXT, - UmsThreadInfoClass: UMS_THREAD_INFO_CLASS, - UmsThreadInformation: PVOID, - UmsThreadInformationLength: ULONG, - ReturnLength: PULONG, - ) -> BOOL; - #[cfg(target_pointer_width = "64")] - pub fn SetUmsThreadInformation( - UmsThread: PUMS_CONTEXT, - UmsThreadInfoClass: UMS_THREAD_INFO_CLASS, - UmsThreadInformation: PVOID, - UmsThreadInformationLength: ULONG, - ) -> BOOL; - #[cfg(target_pointer_width = "64")] - pub fn DeleteUmsThreadContext( - UmsThread: PUMS_CONTEXT, - ) -> BOOL; - #[cfg(target_pointer_width = "64")] - pub fn CreateUmsThreadContext( - lpUmsThread: *mut PUMS_CONTEXT, - ) -> BOOL; - #[cfg(target_pointer_width = "64")] - pub fn EnterUmsSchedulingMode( - SchedulerStartupInfo: PUMS_SCHEDULER_STARTUP_INFO, - ) -> BOOL; - #[cfg(target_pointer_width = "64")] - pub fn GetUmsSystemThreadInformation( - ThreadHandle: HANDLE, - SystemThreadInfo: PUMS_SYSTEM_THREAD_INFORMATION, - ) -> BOOL; - pub fn SetThreadAffinityMask( - hThread: HANDLE, - dwThreadAffinityMask: DWORD_PTR, - ) -> DWORD_PTR; - pub fn SetProcessDEPPolicy( - dwFlags: DWORD, - ) -> BOOL; - pub fn GetProcessDEPPolicy( - hProcess: HANDLE, - lpFlags: LPDWORD, - lpPermanent: PBOOL, - ) -> BOOL; - pub fn RequestWakeupLatency( - latency: LATENCY_TIME, - ) -> BOOL; - pub fn IsSystemResumeAutomatic() -> BOOL; - pub fn GetThreadSelectorEntry( - hThread: HANDLE, - dwSelector: DWORD, - lpSelectorEntry: LPLDT_ENTRY, - ) -> BOOL; - pub fn SetThreadExecutionState( - esFlags: EXECUTION_STATE, - ) -> EXECUTION_STATE; - pub fn PowerCreateRequest( - Context: PREASON_CONTEXT, - ) -> HANDLE; - pub fn PowerSetRequest( - PowerRequest: HANDLE, - RequestType: POWER_REQUEST_TYPE, - ) -> BOOL; - pub fn PowerClearRequest( - PowerRequest: HANDLE, - RequestType: POWER_REQUEST_TYPE, - ) -> BOOL; - pub fn RestoreLastError( - dwErrCode: DWORD, - ); -} -pub const FILE_SKIP_COMPLETION_PORT_ON_SUCCESS: UCHAR = 0x1; -pub const FILE_SKIP_SET_EVENT_ON_HANDLE: UCHAR = 0x2; -extern "system" { - pub fn SetFileCompletionNotificationModes( - FileHandle: HANDLE, - Flags: UCHAR, - ) -> BOOL; -} -pub const SEM_FAILCRITICALERRORS: UINT = 0x0001; -pub const SEM_NOGPFAULTERRORBOX: UINT = 0x0002; -pub const SEM_NOALIGNMENTFAULTEXCEPT: UINT = 0x0004; -pub const SEM_NOOPENFILEERRORBOX: UINT = 0x8000; -extern "system" { - pub fn Wow64GetThreadContext( - hThread: HANDLE, - lpContext: PWOW64_CONTEXT, - ) -> BOOL; - pub fn Wow64SetThreadContext( - hThread: HANDLE, - lpContext: *const WOW64_CONTEXT, - ) -> BOOL; - pub fn Wow64GetThreadSelectorEntry( - hThread: HANDLE, - dwSelector: DWORD, - lpSelectorEntry: PWOW64_LDT_ENTRY, - ) -> BOOL; - pub fn Wow64SuspendThread( - hThread: HANDLE, - ) -> DWORD; - pub fn DebugSetProcessKillOnExit( - KillOnExit: BOOL, - ) -> BOOL; - pub fn DebugBreakProcess( - Process: HANDLE, - ) -> BOOL; - pub fn PulseEvent( - hEvent: HANDLE, - ) -> BOOL; - pub fn GlobalDeleteAtom( - nAtom: ATOM, - ) -> ATOM; - pub fn InitAtomTable( - nSize: DWORD, - ) -> BOOL; - pub fn DeleteAtom( - nAtom: ATOM, - ) -> ATOM; - pub fn SetHandleCount( - uNumber: UINT, - ) -> UINT; - pub fn RequestDeviceWakeup( - hDevice: HANDLE, - ) -> BOOL; - pub fn CancelDeviceWakeupRequest( - hDevice: HANDLE, - ) -> BOOL; - pub fn GetDevicePowerState( - hDevice: HANDLE, - pfOn: *mut BOOL, - ) -> BOOL; - pub fn SetMessageWaitingIndicator( - hMsgIndicator: HANDLE, - ulMsgCount: ULONG, - ) -> BOOL; - pub fn SetFileShortNameA( - hFile: HANDLE, - lpShortName: LPCSTR, - ) -> BOOL; - pub fn SetFileShortNameW( - hFile: HANDLE, - lpShortName: LPCWSTR, - ) -> BOOL; -} -pub const HANDLE_FLAG_INHERIT: DWORD = 0x00000001; -pub const HANDLE_FLAG_PROTECT_FROM_CLOSE: DWORD = 0x00000002; -extern "system" { - pub fn LoadModule( - lpModuleName: LPCSTR, - lpParameterBlock: LPVOID, - ) -> DWORD; - pub fn WinExec( - lpCmdLine: LPCSTR, - uCmdShow: UINT, - ) -> UINT; - // ClearCommBreak - // ClearCommError - // SetupComm - // EscapeCommFunction - // GetCommConfig - // GetCommMask - // GetCommProperties - // GetCommModemStatus - // GetCommState - // GetCommTimeouts - // PurgeComm - // SetCommBreak - // SetCommConfig - // SetCommMask - // SetCommState - // SetCommTimeouts - // TransmitCommChar - // WaitCommEvent - pub fn SetTapePosition( - hDevice: HANDLE, - dwPositionMethod: DWORD, - dwPartition: DWORD, - dwOffsetLow: DWORD, - dwOffsetHigh: DWORD, - bImmediate: BOOL, - ) -> DWORD; - pub fn GetTapePosition( - hDevice: HANDLE, - dwPositionType: DWORD, - lpdwPartition: LPDWORD, - lpdwOffsetLow: LPDWORD, - lpdwOffsetHigh: LPDWORD, - ) -> DWORD; - pub fn PrepareTape( - hDevice: HANDLE, - dwOperation: DWORD, - bImmediate: BOOL, - ) -> DWORD; - pub fn EraseTape( - hDevice: HANDLE, - dwEraseType: DWORD, - bImmediate: BOOL, - ) -> DWORD; - pub fn CreateTapePartition( - hDevice: HANDLE, - dwPartitionMethod: DWORD, - dwCount: DWORD, - dwSize: DWORD, - ) -> DWORD; - pub fn WriteTapemark( - hDevice: HANDLE, - dwTapemarkType: DWORD, - dwTapemarkCount: DWORD, - bImmediate: BOOL, - ) -> DWORD; - pub fn GetTapeStatus( - hDevice: HANDLE, - ) -> DWORD; - pub fn GetTapeParameters( - hDevice: HANDLE, - dwOperation: DWORD, - lpdwSize: LPDWORD, - lpTapeInformation: LPVOID, - ) -> DWORD; - pub fn SetTapeParameters( - hDevice: HANDLE, - dwOperation: DWORD, - lpTapeInformation: LPVOID, - ) -> DWORD; - pub fn MulDiv( - nNumber: c_int, - nNumerator: c_int, - nDenominator: c_int, - ) -> c_int; -} -ENUM!{enum DEP_SYSTEM_POLICY_TYPE { - DEPPolicyAlwaysOff = 0, - DEPPolicyAlwaysOn, - DEPPolicyOptIn, - DEPPolicyOptOut, - DEPTotalPolicyCount, -}} -extern "system" { - pub fn GetSystemDEPPolicy() -> DEP_SYSTEM_POLICY_TYPE; - pub fn GetSystemRegistryQuota( - pdwQuotaAllowed: PDWORD, - pdwQuotaUsed: PDWORD, - ) -> BOOL; - pub fn FileTimeToDosDateTime( - lpFileTime: *const FILETIME, - lpFatDate: LPWORD, - lpFatTime: LPWORD, - ) -> BOOL; - pub fn DosDateTimeToFileTime( - wFatDate: WORD, - wFatTime: WORD, - lpFileTime: LPFILETIME, - ) -> BOOL; - pub fn FormatMessageA( - dwFlags: DWORD, - lpSource: LPCVOID, - dwMessageId: DWORD, - dwLanguageId: DWORD, - lpBuffer: LPSTR, - nSize: DWORD, - Arguments: *mut va_list, - ) -> DWORD; - pub fn FormatMessageW( - dwFlags: DWORD, - lpSource: LPCVOID, - dwMessageId: DWORD, - dwLanguageId: DWORD, - lpBuffer: LPWSTR, - nSize: DWORD, - Arguments: *mut va_list, - ) -> DWORD; -} -pub const FORMAT_MESSAGE_IGNORE_INSERTS: DWORD = 0x00000200; -pub const FORMAT_MESSAGE_FROM_STRING: DWORD = 0x00000400; -pub const FORMAT_MESSAGE_FROM_HMODULE: DWORD = 0x00000800; -pub const FORMAT_MESSAGE_FROM_SYSTEM: DWORD = 0x00001000; -pub const FORMAT_MESSAGE_ARGUMENT_ARRAY: DWORD = 0x00002000; -pub const FORMAT_MESSAGE_MAX_WIDTH_MASK: DWORD = 0x000000FF; -pub const FORMAT_MESSAGE_ALLOCATE_BUFFER: DWORD = 0x00000100; -extern "system" { - pub fn CreateMailslotA( - lpName: LPCSTR, - nMaxMessageSize: DWORD, - lReadTimeout: DWORD, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - ) -> HANDLE; - pub fn CreateMailslotW( - lpName: LPCWSTR, - nMaxMessageSize: DWORD, - lReadTimeout: DWORD, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - ) -> HANDLE; - pub fn GetMailslotInfo( - hMailslot: HANDLE, - lpMaxMessageSize: LPDWORD, - lpNextSize: LPDWORD, - lpMessageCount: LPDWORD, - lpReadTimeout: LPDWORD, - ) -> BOOL; - pub fn SetMailslotInfo( - hMailslot: HANDLE, - lReadTimeout: DWORD, - ) -> BOOL; - // pub fn EncryptFileA(); - // pub fn EncryptFileW(); - // pub fn DecryptFileA(); - // pub fn DecryptFileW(); - // pub fn FileEncryptionStatusA(); - // pub fn FileEncryptionStatusW(); - // pub fn OpenEncryptedFileRawA(); - // pub fn OpenEncryptedFileRawW(); - // pub fn ReadEncryptedFileRaw(); - // pub fn WriteEncryptedFileRaw(); - // pub fn CloseEncryptedFileRaw(); - pub fn lstrcmpA( - lpString1: LPCSTR, - lpString2: LPCSTR, - ) -> c_int; - pub fn lstrcmpW( - lpString1: LPCWSTR, - lpString2: LPCWSTR, - ) -> c_int; - pub fn lstrcmpiA( - lpString1: LPCSTR, - lpString2: LPCSTR, - ) -> c_int; - pub fn lstrcmpiW( - lpString1: LPCWSTR, - lpString2: LPCWSTR, - ) -> c_int; - pub fn lstrcpynA( - lpString1: LPSTR, - lpString2: LPCSTR, - iMaxLength: c_int, - ) -> LPSTR; - pub fn lstrcpynW( - lpString1: LPWSTR, - lpString2: LPCWSTR, - iMaxLength: c_int, - ) -> LPWSTR; - pub fn lstrcpyA( - lpString1: LPSTR, - lpString2: LPCSTR, - ) -> LPSTR; - pub fn lstrcpyW( - lpString1: LPWSTR, - lpString2: LPCWSTR, - ) -> LPWSTR; - pub fn lstrcatA( - lpString1: LPSTR, - lpString2: LPCSTR, - ) -> LPSTR; - pub fn lstrcatW( - lpString1: LPWSTR, - lpString2: LPCWSTR, - ) -> LPWSTR; - pub fn lstrlenA( - lpString: LPCSTR, - ) -> c_int; - pub fn lstrlenW( - lpString: LPCWSTR, - ) -> c_int; - pub fn OpenFile( - lpFileName: LPCSTR, - lpReOpenBuff: LPOFSTRUCT, - uStyle: UINT, - ) -> HFILE; - pub fn _lopen( - lpPathName: LPCSTR, - iReadWrite: c_int, - ) -> HFILE; - pub fn _lcreat( - lpPathName: LPCSTR, - iAttrubute: c_int, - ) -> HFILE; - pub fn _lread( - hFile: HFILE, - lpBuffer: LPVOID, - uBytes: UINT, - ) -> UINT; - pub fn _lwrite( - hFile: HFILE, - lpBuffer: LPCCH, - uBytes: UINT, - ) -> UINT; - pub fn _hread( - hFile: HFILE, - lpBuffer: LPVOID, - lBytes: c_long, - ) -> c_long; - pub fn _hwrite( - hFile: HFILE, - lpBuffer: LPCCH, - lBytes: c_long, - ) -> c_long; - pub fn _lclose( - hFile: HFILE, - ) -> HFILE; - pub fn _llseek( - hFile: HFILE, - lOffset: LONG, - iOrigin: c_int, - ) -> LONG; - // pub fn IsTextUnicode(); - // pub fn SignalObjectAndWait(); - pub fn BackupRead( - hFile: HANDLE, - lpBuffer: LPBYTE, - nNumberOfBytesToRead: DWORD, - lpNumberOfBytesRead: LPDWORD, - bAbort: BOOL, - bProcessSecurity: BOOL, - lpContext: *mut LPVOID, - ) -> BOOL; - pub fn BackupSeek( - hFile: HANDLE, - dwLowBytesToSeek: DWORD, - dwHighBytesToSeek: DWORD, - lpdwLowByteSeeked: LPDWORD, - lpdwHighByteSeeked: LPDWORD, - lpContext: *mut LPVOID, - ) -> BOOL; - pub fn BackupWrite( - hFile: HANDLE, - lpBuffer: LPBYTE, - nNumberOfBytesToWrite: DWORD, - lpNumberOfBytesWritten: LPDWORD, - bAbort: BOOL, - bProcessSecurity: BOOL, - lpContext: *mut LPVOID, - ) -> BOOL; -} -//2886 -pub const STARTF_USESHOWWINDOW: DWORD = 0x00000001; -pub const STARTF_USESIZE: DWORD = 0x00000002; -pub const STARTF_USEPOSITION: DWORD = 0x00000004; -pub const STARTF_USECOUNTCHARS: DWORD = 0x00000008; -pub const STARTF_USEFILLATTRIBUTE: DWORD = 0x00000010; -pub const STARTF_RUNFULLSCREEN: DWORD = 0x00000020; -pub const STARTF_FORCEONFEEDBACK: DWORD = 0x00000040; -pub const STARTF_FORCEOFFFEEDBACK: DWORD = 0x00000080; -pub const STARTF_USESTDHANDLES: DWORD = 0x00000100; -pub const STARTF_USEHOTKEY: DWORD = 0x00000200; -pub const STARTF_TITLEISLINKNAME: DWORD = 0x00000800; -pub const STARTF_TITLEISAPPID: DWORD = 0x00001000; -pub const STARTF_PREVENTPINNING: DWORD = 0x00002000; -pub const STARTF_UNTRUSTEDSOURCE: DWORD = 0x00008000; -STRUCT!{struct STARTUPINFOEXA { - StartupInfo: STARTUPINFOA, - lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST, -}} -pub type LPSTARTUPINFOEXA = *mut STARTUPINFOEXA; -STRUCT!{struct STARTUPINFOEXW { - StartupInfo: STARTUPINFOW, - lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST, -}} -pub type LPSTARTUPINFOEXW = *mut STARTUPINFOEXW; -extern "system" { - pub fn OpenMutexA( - dwDesiredAccess: DWORD, - bInheritHandle: BOOL, - lpName: LPCSTR, - ) -> HANDLE; - pub fn CreateSemaphoreA( - lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES, - lInitialCount: LONG, - lMaximumCount: LONG, - lpName: LPCSTR, - ) -> HANDLE; - pub fn OpenSemaphoreA( - dwDesiredAccess: DWORD, - bInheritHandle: BOOL, - lpName: LPCSTR, - ) -> HANDLE; - pub fn CreateWaitableTimerA( - lpTimerAttributes: LPSECURITY_ATTRIBUTES, - bManualReset: BOOL, - lpTimerName: LPCSTR, - ) -> HANDLE; - pub fn OpenWaitableTimerA( - dwDesiredAccess: DWORD, - bInheritHandle: BOOL, - lpTimerName: LPCSTR, - ) -> HANDLE; - pub fn CreateSemaphoreExA( - lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES, - lInitialCount: LONG, - lMaximumCount: LONG, - lpName: LPCSTR, - dwFlags: DWORD, - dwDesiredAccess: DWORD, - ) -> HANDLE; - pub fn CreateWaitableTimerExA( - lpTimerAttributes: LPSECURITY_ATTRIBUTES, - lpTimerName: LPCSTR, - dwFlags: DWORD, - dwDesiredAccess: DWORD, - ) -> HANDLE; - pub fn CreateFileMappingA( - hFile: HANDLE, - lpAttributes: LPSECURITY_ATTRIBUTES, - flProtect: DWORD, - dwMaximumSizeHigh: DWORD, - dwMaximumSizeLow: DWORD, - lpName: LPCSTR, - ) -> HANDLE; - pub fn CreateFileMappingNumaA( - hFile: HANDLE, - lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, - flProtect: DWORD, - dwMaximumSizeHigh: DWORD, - dwMaximumSizeLow: DWORD, - lpName: LPCSTR, - nndPreferred: DWORD, - ) -> HANDLE; - pub fn OpenFileMappingA( - dwDesiredAccess: DWORD, - bInheritHandle: BOOL, - lpName: LPCSTR, - ) -> HANDLE; - pub fn GetLogicalDriveStringsA( - nBufferLength: DWORD, - lpBuffer: LPSTR, - ) -> DWORD; - pub fn LoadPackagedLibrary( - lpwLibFileName: LPCWSTR, - Reserved: DWORD, - ) -> HMODULE; - pub fn QueryFullProcessImageNameA( - hProcess: HANDLE, - dwFlags: DWORD, - lpExeName: LPSTR, - lpdwSize: PDWORD, - ) -> BOOL; - pub fn QueryFullProcessImageNameW( - hProcess: HANDLE, - dwFlags: DWORD, - lpExeName: LPWSTR, - lpdwSize: PDWORD, - ) -> BOOL; -} -//3233 -extern "system" { - pub fn GetStartupInfoA( - lpStartupInfo: LPSTARTUPINFOA, - ); - pub fn GetFirmwareEnvironmentVariableA( - lpName: LPCSTR, - lpGuid: LPCSTR, - pBuffer: PVOID, - nSize: DWORD, - ) -> DWORD; - pub fn GetFirmwareEnvironmentVariableW( - lpName: LPCWSTR, - lpGuid: LPCWSTR, - pBuffer: PVOID, - nSize: DWORD, - ) -> DWORD; - pub fn GetFirmwareEnvironmentVariableExA( - lpName: LPCSTR, - lpGuid: LPCSTR, - pBuffer: PVOID, - nSize: DWORD, - pdwAttribubutes: PDWORD, - ) -> DWORD; - pub fn GetFirmwareEnvironmentVariableExW( - lpName: LPCWSTR, - lpGuid: LPCWSTR, - pBuffer: PVOID, - nSize: DWORD, - pdwAttribubutes: PDWORD, - ) -> DWORD; - pub fn SetFirmwareEnvironmentVariableA( - lpName: LPCSTR, - lpGuid: LPCSTR, - pValue: PVOID, - nSize: DWORD, - ) -> BOOL; - pub fn SetFirmwareEnvironmentVariableW( - lpName: LPCWSTR, - lpGuid: LPCWSTR, - pValue: PVOID, - nSize: DWORD, - ) -> BOOL; - pub fn SetFirmwareEnvironmentVariableExA( - lpName: LPCSTR, - lpGuid: LPCSTR, - pValue: PVOID, - nSize: DWORD, - dwAttributes: DWORD, - ) -> BOOL; - pub fn SetFirmwareEnvironmentVariableExW( - lpName: LPCWSTR, - lpGuid: LPCWSTR, - pValue: PVOID, - nSize: DWORD, - dwAttributes: DWORD, - ) -> BOOL; - pub fn GetFirmwareType( - FirmwareType: PFIRMWARE_TYPE, - ) -> BOOL; - pub fn IsNativeVhdBoot( - NativeVhdBoot: PBOOL, - ) -> BOOL; - pub fn FindResourceA( - hModule: HMODULE, - lpName: LPCSTR, - lpType: LPCSTR, - ) -> HRSRC; - pub fn FindResourceExA( - hModule: HMODULE, - lpName: LPCSTR, - lpType: LPCSTR, - wLanguage: WORD, - ) -> HRSRC; - pub fn EnumResourceTypesA( - hModule: HMODULE, - lpEnumFunc: ENUMRESTYPEPROCA, - lParam: LONG_PTR, - ) -> BOOL; - pub fn EnumResourceTypesW( - hModule: HMODULE, - lpEnumFunc: ENUMRESTYPEPROCW, - lParam: LONG_PTR, - ) -> BOOL; - pub fn EnumResourceNamesA( - hModule: HMODULE, - lpType: LPCSTR, - lpEnumFunc: ENUMRESNAMEPROCA, - lParam: LONG_PTR, - ) -> BOOL; - pub fn EnumResourceLanguagesA( - hModule: HMODULE, - lpType: LPCSTR, - lpName: LPCSTR, - lpEnumFunc: ENUMRESLANGPROCA, - lParam: LONG_PTR, - ) -> BOOL; - pub fn EnumResourceLanguagesW( - hModule: HMODULE, - lpType: LPCWSTR, - lpName: LPCWSTR, - lpEnumFunc: ENUMRESLANGPROCW, - lParam: LONG_PTR, - ) -> BOOL; - pub fn BeginUpdateResourceA( - pFileName: LPCSTR, - bDeleteExistingResources: BOOL, - ) -> HANDLE; - pub fn BeginUpdateResourceW( - pFileName: LPCWSTR, - bDeleteExistingResources: BOOL, - ) -> HANDLE; - pub fn UpdateResourceA( - hUpdate: HANDLE, - lpType: LPCSTR, - lpName: LPCSTR, - wLanguage: WORD, - lpData: LPVOID, - cb: DWORD, - ) -> BOOL; - pub fn UpdateResourceW( - hUpdate: HANDLE, - lpType: LPCWSTR, - lpName: LPCWSTR, - wLanguage: WORD, - lpData: LPVOID, - cb: DWORD, - ) -> BOOL; - pub fn EndUpdateResourceA( - hUpdate: HANDLE, - fDiscard: BOOL, - ) -> BOOL; - pub fn EndUpdateResourceW( - hUpdate: HANDLE, - fDiscard: BOOL, - ) -> BOOL; - pub fn GlobalAddAtomA( - lpString: LPCSTR, - ) -> ATOM; - pub fn GlobalAddAtomW( - lpString: LPCWSTR, - ) -> ATOM; - pub fn GlobalAddAtomExA( - lpString: LPCSTR, - Flags: DWORD, - ) -> ATOM; - pub fn GlobalAddAtomExW( - lpString: LPCWSTR, - Flags: DWORD, - ) -> ATOM; - pub fn GlobalFindAtomA( - lpString: LPCSTR, - ) -> ATOM; - pub fn GlobalFindAtomW( - lpString: LPCWSTR, - ) -> ATOM; - pub fn GlobalGetAtomNameA( - nAtom: ATOM, - lpBuffer: LPSTR, - nSize: c_int, - ) -> UINT; - pub fn GlobalGetAtomNameW( - nAtom: ATOM, - lpBuffer: LPWSTR, - nSize: c_int, - ) -> UINT; - pub fn AddAtomA( - lpString: LPCSTR, - ) -> ATOM; - pub fn AddAtomW( - lpString: LPCWSTR, - ) -> ATOM; - pub fn FindAtomA( - lpString: LPCSTR, - ) -> ATOM; - pub fn FindAtomW( - lpString: LPCWSTR, - ) -> ATOM; - pub fn GetAtomNameA( - nAtom: ATOM, - lpBuffer: LPSTR, - nSize: c_int, - ) -> UINT; - pub fn GetAtomNameW( - nAtom: ATOM, - lpBuffer: LPWSTR, - nSize: c_int, - ) -> UINT; - pub fn GetProfileIntA( - lpAppName: LPCSTR, - lpKeyName: LPCSTR, - nDefault: INT, - ) -> UINT; - pub fn GetProfileIntW( - lpAppName: LPCWSTR, - lpKeyName: LPCWSTR, - nDefault: INT, - ) -> UINT; - pub fn GetProfileStringA( - lpAppName: LPCSTR, - lpKeyName: LPCSTR, - lpDefault: LPCSTR, - lpReturnedString: LPSTR, - nSize: DWORD, - ) -> DWORD; - pub fn GetProfileStringW( - lpAppName: LPCWSTR, - lpKeyName: LPCWSTR, - lpDefault: LPCWSTR, - lpReturnedString: LPWSTR, - nSize: DWORD, - ) -> DWORD; - pub fn WriteProfileStringA( - lpAppName: LPCSTR, - lpKeyName: LPCSTR, - lpString: LPCSTR, - ) -> BOOL; - pub fn WriteProfileStringW( - lpAppName: LPCWSTR, - lpKeyName: LPCWSTR, - lpString: LPCWSTR, - ) -> BOOL; - pub fn GetProfileSectionA( - lpAppName: LPCSTR, - lpReturnedString: LPSTR, - nSize: DWORD, - ) -> DWORD; - pub fn GetProfileSectionW( - lpAppName: LPCWSTR, - lpReturnedString: LPWSTR, - nSize: DWORD, - ) -> DWORD; - pub fn WriteProfileSectionA( - lpAppName: LPCSTR, - lpString: LPCSTR, - ) -> BOOL; - pub fn WriteProfileSectionW( - lpAppName: LPCWSTR, - lpString: LPCWSTR, - ) -> BOOL; - pub fn GetPrivateProfileIntA( - lpAppName: LPCSTR, - lpKeyName: LPCSTR, - nDefault: INT, - lpFileName: LPCSTR, - ) -> UINT; - pub fn GetPrivateProfileIntW( - lpAppName: LPCWSTR, - lpKeyName: LPCWSTR, - nDefault: INT, - lpFileName: LPCWSTR, - ) -> UINT; - pub fn GetPrivateProfileStringA( - lpAppName: LPCSTR, - lpKeyName: LPCSTR, - lpDefault: LPCSTR, - lpReturnedString: LPSTR, - nSize: DWORD, - lpFileName: LPCSTR, - ) -> DWORD; - pub fn GetPrivateProfileStringW( - lpAppName: LPCWSTR, - lpKeyName: LPCWSTR, - lpDefault: LPCWSTR, - lpReturnedString: LPWSTR, - nSize: DWORD, - lpFileName: LPCWSTR, - ) -> DWORD; - pub fn WritePrivateProfileStringA( - lpAppName: LPCSTR, - lpKeyName: LPCSTR, - lpString: LPCSTR, - lpFileName: LPCSTR, - ) -> BOOL; - pub fn WritePrivateProfileStringW( - lpAppName: LPCWSTR, - lpKeyName: LPCWSTR, - lpString: LPCWSTR, - lpFileName: LPCWSTR, - ) -> BOOL; - pub fn GetPrivateProfileSectionA( - lpAppName: LPCSTR, - lpReturnedString: LPSTR, - nSize: DWORD, - lpFileName: LPCSTR, - ) -> DWORD; - pub fn GetPrivateProfileSectionW( - lpAppName: LPCWSTR, - lpReturnedString: LPWSTR, - nSize: DWORD, - lpFileName: LPCWSTR, - ) -> DWORD; - pub fn WritePrivateProfileSectionA( - lpAppName: LPCSTR, - lpString: LPCSTR, - lpFileName: LPCSTR, - ) -> BOOL; - pub fn WritePrivateProfileSectionW( - lpAppName: LPCWSTR, - lpString: LPCWSTR, - lpFileName: LPCWSTR, - ) -> BOOL; - pub fn GetPrivateProfileSectionNamesA( - lpszReturnBuffer: LPSTR, - nSize: DWORD, - lpFileName: LPCSTR, - ) -> DWORD; - pub fn GetPrivateProfileSectionNamesW( - lpszReturnBuffer: LPWSTR, - nSize: DWORD, - lpFileName: LPCWSTR, - ) -> DWORD; - pub fn GetPrivateProfileStructA( - lpszSection: LPCSTR, - lpszKey: LPCSTR, - lpStruct: LPVOID, - uSizeStruct: UINT, - szFile: LPCSTR, - ) -> BOOL; - pub fn GetPrivateProfileStructW( - lpszSection: LPCWSTR, - lpszKey: LPCWSTR, - lpStruct: LPVOID, - uSizeStruct: UINT, - szFile: LPCWSTR, - ) -> BOOL; - pub fn WritePrivateProfileStructA( - lpszSection: LPCSTR, - lpszKey: LPCSTR, - lpStruct: LPVOID, - uSizeStruct: UINT, - szFile: LPCSTR, - ) -> BOOL; - pub fn WritePrivateProfileStructW( - lpszSection: LPCWSTR, - lpszKey: LPCWSTR, - lpStruct: LPVOID, - uSizeStruct: UINT, - szFile: LPCWSTR, - ) -> BOOL; - pub fn Wow64EnableWow64FsRedirection( - Wow64FsEnableRedirection: BOOLEAN, - ) -> BOOLEAN; - pub fn SetDllDirectoryA( - lpPathName: LPCSTR, - ) -> BOOL; - pub fn SetDllDirectoryW( - lpPathName: LPCWSTR, - ) -> BOOL; - pub fn GetDllDirectoryA( - nBufferLength: DWORD, - lpBuffer: LPSTR, - ) -> DWORD; - pub fn GetDllDirectoryW( - nBufferLength: DWORD, - lpBuffer: LPWSTR, - ) -> DWORD; - pub fn SetSearchPathMode( - Flags: DWORD, - ) -> BOOL; - pub fn CreateDirectoryExA( - lpTemplateDirectory: LPCSTR, - lpNewDirectory: LPCSTR, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - ) -> BOOL; - pub fn CreateDirectoryExW( - lpTemplateDirectory: LPCWSTR, - lpNewDirectory: LPCWSTR, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - ) -> BOOL; - pub fn CreateDirectoryTransactedA( - lpTemplateDirectory: LPCSTR, - lpNewDirectory: LPCSTR, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - hTransaction: HANDLE, - ) -> BOOL; - pub fn CreateDirectoryTransactedW( - lpTemplateDirectory: LPCWSTR, - lpNewDirectory: LPCWSTR, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - hTransaction: HANDLE, - ) -> BOOL; - pub fn RemoveDirectoryTransactedA( - lpPathName: LPCSTR, - hTransaction: HANDLE, - ) -> BOOL; - pub fn RemoveDirectoryTransactedW( - lpPathName: LPCWSTR, - hTransaction: HANDLE, - ) -> BOOL; - pub fn GetFullPathNameTransactedA( - lpFileName: LPCSTR, - nBufferLength: DWORD, - lpBuffer: LPSTR, - lpFilePart: *mut LPSTR, - hTransaction: HANDLE, - ) -> DWORD; - pub fn GetFullPathNameTransactedW( - lpFileName: LPCWSTR, - nBufferLength: DWORD, - lpBuffer: LPWSTR, - lpFilePart: *mut LPWSTR, - hTransaction: HANDLE, - ); - pub fn DefineDosDeviceA( - dwFlags: DWORD, - lpDeviceName: LPCSTR, - lpTargetPath: LPCSTR, - ) -> BOOL; - pub fn QueryDosDeviceA( - lpDeviceName: LPCSTR, - lpTargetPath: LPSTR, - ucchMax: DWORD, - ) -> DWORD; - pub fn CreateFileTransactedA( - lpFileName: LPCSTR, - dwDesiredAccess: DWORD, - dwShareMode: DWORD, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - dwCreationDisposition: DWORD, - dwFlagsAndAttributes: DWORD, - hTemplateFile: HANDLE, - hTransaction: HANDLE, - pusMiniVersion: PUSHORT, - lpExtendedParameter: PVOID, - ) -> HANDLE; - pub fn CreateFileTransactedW( - lpFileName: LPCWSTR, - dwDesiredAccess: DWORD, - dwShareMode: DWORD, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - dwCreationDisposition: DWORD, - dwFlagsAndAttributes: DWORD, - hTemplateFile: HANDLE, - hTransaction: HANDLE, - pusMiniVersion: PUSHORT, - lpExtendedParameter: PVOID, - ) -> HANDLE; - pub fn ReOpenFile( - hOriginalFile: HANDLE, - dwDesiredAccess: DWORD, - dwShareMode: DWORD, - dwFlags: DWORD, - ) -> HANDLE; - pub fn SetFileAttributesTransactedA( - lpFileName: LPCSTR, - dwFileAttributes: DWORD, - hTransaction: HANDLE, - ) -> BOOL; - pub fn SetFileAttributesTransactedW( - lpFileName: LPCWSTR, - dwFileAttributes: DWORD, - hTransaction: HANDLE, - ) -> BOOL; - pub fn GetFileAttributesTransactedA( - lpFileName: LPCSTR, - fInfoLevelId: GET_FILEEX_INFO_LEVELS, - lpFileInformation: LPVOID, - hTransaction: HANDLE, - ) -> BOOL; - pub fn GetFileAttributesTransactedW( - lpFileName: LPCWSTR, - fInfoLevelId: GET_FILEEX_INFO_LEVELS, - lpFileInformation: LPVOID, - hTransaction: HANDLE, - ) -> BOOL; - pub fn GetCompressedFileSizeTransactedA( - lpFileName: LPCSTR, - lpFileSizeHigh: LPDWORD, - hTransaction: HANDLE, - ) -> DWORD; - pub fn GetCompressedFileSizeTransactedW( - lpFileName: LPCWSTR, - lpFileSizeHigh: LPDWORD, - hTransaction: HANDLE, - ); - pub fn DeleteFileTransactedA( - lpFileName: LPCSTR, - hTransaction: HANDLE, - ) -> BOOL; - pub fn DeleteFileTransactedW( - lpFileName: LPCWSTR, - hTransaction: HANDLE, - ) -> BOOL; - pub fn CheckNameLegalDOS8Dot3A( - lpName: LPCSTR, - lpOemName: LPSTR, - OemNameSize: DWORD, - pbNameContainsSpaces: PBOOL, - pbNameLegal: PBOOL, - ) -> BOOL; - pub fn CheckNameLegalDOS8Dot3W( - lpName: LPCWSTR, - lpOemName: LPSTR, - OemNameSize: DWORD, - pbNameContainsSpaces: PBOOL, - pbNameLegal: PBOOL, - ) -> BOOL; - pub fn FindFirstFileTransactedA( - lpFileName: LPCSTR, - fInfoLevelId: FINDEX_INFO_LEVELS, - lpFindFileData: LPVOID, - fSearchOp: FINDEX_SEARCH_OPS, - lpSearchFilter: LPVOID, - dwAdditionalFlags: DWORD, - hTransaction: HANDLE, - ) -> HANDLE; - pub fn FindFirstFileTransactedW( - lpFileName: LPCWSTR, - fInfoLevelId: FINDEX_INFO_LEVELS, - lpFindFileData: LPVOID, - fSearchOp: FINDEX_SEARCH_OPS, - lpSearchFilter: LPVOID, - dwAdditionalFlags: DWORD, - hTransaction: HANDLE, - ) -> HANDLE; - pub fn CopyFileA( - lpExistingFileName: LPCSTR, - lpNewFileName: LPCSTR, - bFailIfExists: BOOL, - ) -> BOOL; - pub fn CopyFileW( - lpExistingFileName: LPCWSTR, - lpNewFileName: LPCWSTR, - bFailIfExists: BOOL, - ) -> BOOL; -} -FN!{stdcall LPPROGRESS_ROUTINE( - TotalFileSize: LARGE_INTEGER, - TotalBytesTransferred: LARGE_INTEGER, - StreamSize: LARGE_INTEGER, - StreamBytesTransferred: LARGE_INTEGER, - dwStreamNumber: DWORD, - dwCallbackReason: DWORD, - hSourceFile: HANDLE, - hDestinationFile: HANDLE, - lpData: LPVOID, -) -> DWORD} -extern "system" { - pub fn CopyFileExA( - lpExistingFileName: LPCSTR, - lpNewFileName: LPCSTR, - lpProgressRoutine: LPPROGRESS_ROUTINE, - lpData: LPVOID, - pbCancel: LPBOOL, - dwCopyFlags: DWORD, - ) -> BOOL; - pub fn CopyFileExW( - lpExistingFileName: LPCWSTR, - lpNewFileName: LPCWSTR, - lpProgressRoutine: LPPROGRESS_ROUTINE, - lpData: LPVOID, - pbCancel: LPBOOL, - dwCopyFlags: DWORD, - ) -> BOOL; - pub fn CopyFileTransactedA( - lpExistingFileName: LPCWSTR, - lpNewFileName: LPCWSTR, - lpProgressRoutine: LPPROGRESS_ROUTINE, - lpData: LPVOID, - pbCancel: LPBOOL, - dwCopyFlags: DWORD, - hTransaction: HANDLE, - ) -> BOOL; - pub fn CopyFileTransactedW( - lpExistingFileName: LPCWSTR, - lpNewFileName: LPCWSTR, - lpProgressRoutine: LPPROGRESS_ROUTINE, - lpData: LPVOID, - pbCancel: LPBOOL, - dwCopyFlags: DWORD, - hTransaction: HANDLE, - ) -> BOOL; -} -ENUM!{enum COPYFILE2_MESSAGE_TYPE { - COPYFILE2_CALLBACK_NONE = 0, - COPYFILE2_CALLBACK_CHUNK_STARTED, - COPYFILE2_CALLBACK_CHUNK_FINISHED, - COPYFILE2_CALLBACK_STREAM_STARTED, - COPYFILE2_CALLBACK_STREAM_FINISHED, - COPYFILE2_CALLBACK_POLL_CONTINUE, - COPYFILE2_CALLBACK_ERROR, - COPYFILE2_CALLBACK_MAX, -}} -ENUM!{enum COPYFILE2_MESSAGE_ACTION { - COPYFILE2_PROGRESS_CONTINUE = 0, - COPYFILE2_PROGRESS_CANCEL, - COPYFILE2_PROGRESS_STOP, - COPYFILE2_PROGRESS_QUIET, - COPYFILE2_PROGRESS_PAUSE, -}} -ENUM!{enum COPYFILE2_COPY_PHASE { - COPYFILE2_PHASE_NONE = 0, - COPYFILE2_PHASE_PREPARE_SOURCE, - COPYFILE2_PHASE_PREPARE_DEST, - COPYFILE2_PHASE_READ_SOURCE, - COPYFILE2_PHASE_WRITE_DESTINATION, - COPYFILE2_PHASE_SERVER_COPY, - COPYFILE2_PHASE_NAMEGRAFT_COPY, - COPYFILE2_PHASE_MAX, -}} -STRUCT!{struct COPYFILE2_MESSAGE_ChunkStarted { - dwStreamNumber: DWORD, - dwReserved: DWORD, - hSourceFile: HANDLE, - hDestinationFile: HANDLE, - uliChunkNumber: ULARGE_INTEGER, - uliChunkSize: ULARGE_INTEGER, - uliStreamSize: ULARGE_INTEGER, - uliTotalFileSize: ULARGE_INTEGER, -}} -STRUCT!{struct COPYFILE2_MESSAGE_ChunkFinished { - dwStreamNumber: DWORD, - dwFlags: DWORD, - hSourceFile: HANDLE, - hDestinationFile: HANDLE, - uliChunkNumber: ULARGE_INTEGER, - uliChunkSize: ULARGE_INTEGER, - uliStreamSize: ULARGE_INTEGER, - uliStreamBytesTransferred: ULARGE_INTEGER, - uliTotalFileSize: ULARGE_INTEGER, - uliTotalBytesTransferred: ULARGE_INTEGER, -}} -STRUCT!{struct COPYFILE2_MESSAGE_StreamStarted { - dwStreamNumber: DWORD, - dwReserved: DWORD, - hSourceFile: HANDLE, - hDestinationFile: HANDLE, - uliStreamSize: ULARGE_INTEGER, - uliTotalFileSize: ULARGE_INTEGER, -}} -STRUCT!{struct COPYFILE2_MESSAGE_StreamFinished { - dwStreamNumber: DWORD, - dwReserved: DWORD, - hSourceFile: HANDLE, - hDestinationFile: HANDLE, - uliStreamSize: ULARGE_INTEGER, - uliStreamBytesTransferred: ULARGE_INTEGER, - uliTotalFileSize: ULARGE_INTEGER, - uliTotalBytesTransferred: ULARGE_INTEGER, -}} -STRUCT!{struct COPYFILE2_MESSAGE_PollContinue { - dwReserved: DWORD, -}} -STRUCT!{struct COPYFILE2_MESSAGE_Error { - CopyPhase: COPYFILE2_COPY_PHASE, - dwStreamNumber: DWORD, - hrFailure: HRESULT, - dwReserved: DWORD, - uliChunkNumber: ULARGE_INTEGER, - uliStreamSize: ULARGE_INTEGER, - uliStreamBytesTransferred: ULARGE_INTEGER, - uliTotalFileSize: ULARGE_INTEGER, - uliTotalBytesTransferred: ULARGE_INTEGER, -}} -UNION!{union COPYFILE2_MESSAGE_Info { - [u64; 8] [u64; 9], - ChunkStarted ChunkStarted_mut: COPYFILE2_MESSAGE_ChunkStarted, - ChunkFinished ChunkFinished_mut: COPYFILE2_MESSAGE_ChunkFinished, - StreamStarted StreamStarted_mut: COPYFILE2_MESSAGE_StreamStarted, - StreamFinished StreamFinished_mut: COPYFILE2_MESSAGE_StreamFinished, - PollContinue PollContinue_mut: COPYFILE2_MESSAGE_PollContinue, - Error Error_mut: COPYFILE2_MESSAGE_Error, -}} -STRUCT!{struct COPYFILE2_MESSAGE { - Type: COPYFILE2_MESSAGE_TYPE, - dwPadding: DWORD, - Info: COPYFILE2_MESSAGE_Info, -}} -FN!{stdcall PCOPYFILE2_PROGRESS_ROUTINE( - pMessage: *const COPYFILE2_MESSAGE, - pvCallbackContext: PVOID, -) -> COPYFILE2_MESSAGE_ACTION} -STRUCT!{struct COPYFILE2_EXTENDED_PARAMETERS { - dwSize: DWORD, - dwCopyFlags: DWORD, - pfCancel: *mut BOOL, - pProgressRoutine: PCOPYFILE2_PROGRESS_ROUTINE, - pvCallbackContext: PVOID, -}} -extern "system" { - pub fn CopyFile2( - pwszExistingFileName: PCWSTR, - pwszNewFileName: PCWSTR, - pExtendedParameters: *mut COPYFILE2_EXTENDED_PARAMETERS, - ) -> HRESULT; - pub fn MoveFileA( - lpExistingFileName: LPCSTR, - lpNewFileName: LPCSTR, - ) -> BOOL; - pub fn MoveFileW( - lpExistingFileName: LPCWSTR, - lpNewFileName: LPCWSTR, - ) -> BOOL; - pub fn MoveFileExA( - lpExistingFileName: LPCSTR, - lpNewFileName: LPCSTR, - dwFlags: DWORD, - ) -> BOOL; - pub fn MoveFileExW( - lpExistingFileName: LPCWSTR, - lpNewFileName: LPCWSTR, - dwFlags: DWORD, - ) -> BOOL; - pub fn MoveFileWithProgressA( - lpExistingFileName: LPCSTR, - lpNewFileName: LPCSTR, - lpProgressRoutine: LPPROGRESS_ROUTINE, - lpData: LPVOID, - dwFlags: DWORD, - ) -> BOOL; - pub fn MoveFileWithProgressW( - lpExistingFileName: LPCWSTR, - lpNewFileName: LPCWSTR, - lpProgressRoutine: LPPROGRESS_ROUTINE, - lpData: LPVOID, - dwFlags: DWORD, - ) -> BOOL; - pub fn MoveFileTransactedA( - lpExistingFileName: LPCSTR, - lpNewFileName: LPCSTR, - lpProgressRoutine: LPPROGRESS_ROUTINE, - lpData: LPVOID, - dwFlags: DWORD, - hTransaction: HANDLE, - ) -> BOOL; - pub fn MoveFileTransactedW( - lpExistingFileName: LPCWSTR, - lpNewFileName: LPCWSTR, - lpProgressRoutine: LPPROGRESS_ROUTINE, - lpData: LPVOID, - dwFlags: DWORD, - hTransaction: HANDLE, - ) -> BOOL; -} -pub const MOVEFILE_REPLACE_EXISTING: DWORD = 0x00000001; -pub const MOVEFILE_COPY_ALLOWED: DWORD = 0x00000002; -pub const MOVEFILE_DELAY_UNTIL_REBOOT: DWORD = 0x00000004; -pub const MOVEFILE_WRITE_THROUGH: DWORD = 0x00000008; -pub const MOVEFILE_CREATE_HARDLINK: DWORD = 0x00000010; -pub const MOVEFILE_FAIL_IF_NOT_TRACKABLE: DWORD = 0x00000020; -extern "system" { - pub fn ReplaceFileA( - lpReplacedFileName: LPCSTR, - lpReplacementFileName: LPCSTR, - lpBackupFileName: LPCSTR, - dwReplaceFlags: DWORD, - lpExclude: LPVOID, - lpReserved: LPVOID, - ); - pub fn ReplaceFileW( - lpReplacedFileName: LPCWSTR, - lpReplacementFileName: LPCWSTR, - lpBackupFileName: LPCWSTR, - dwReplaceFlags: DWORD, - lpExclude: LPVOID, - lpReserved: LPVOID, - ); - pub fn CreateHardLinkA( - lpFileName: LPCSTR, - lpExistingFileName: LPCSTR, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - ) -> BOOL; - pub fn CreateHardLinkW( - lpFileName: LPCWSTR, - lpExistingFileName: LPCWSTR, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - ) -> BOOL; - pub fn CreateHardLinkTransactedA( - lpFileName: LPCSTR, - lpExistingFileName: LPCSTR, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - hTransaction: HANDLE, - ) -> BOOL; - pub fn CreateHardLinkTransactedW( - lpFileName: LPCWSTR, - lpExistingFileName: LPCWSTR, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - hTransaction: HANDLE, - ); - pub fn FindFirstStreamTransactedW( - lpFileName: LPCWSTR, - InfoLevel: STREAM_INFO_LEVELS, - lpFindStreamData: LPVOID, - dwFlags: DWORD, - hTransaction: HANDLE, - ) -> HANDLE; - pub fn FindFirstFileNameTransactedW( - lpFileName: LPCWSTR, - dwFlags: DWORD, - StringLength: LPDWORD, - LinkName: PWSTR, - hTransaction: HANDLE, - ) -> HANDLE; - pub fn CreateNamedPipeA( - lpName: LPCSTR, - dwOpenMode: DWORD, - dwPipeMode: DWORD, - nMaxInstances: DWORD, - nOutBufferSize: DWORD, - nInBufferSize: DWORD, - nDefaultTimeOut: DWORD, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - ) -> HANDLE; - pub fn GetNamedPipeHandleStateA( - hNamedPipe: HANDLE, - lpState: LPDWORD, - lpCurInstances: LPDWORD, - lpMaxCollectionCount: LPDWORD, - lpCollectDataTimeout: LPDWORD, - lpUserName: LPSTR, - nMaxUserNameSize: DWORD, - ) -> BOOL; - pub fn CallNamedPipeA( - lpNamedPipeName: LPCSTR, - lpInBuffer: LPVOID, - nInBufferSize: DWORD, - lpOutBuffer: LPVOID, - nOutBufferSize: DWORD, - lpBytesRead: LPDWORD, - nTimeOut: DWORD, - ) -> BOOL; - pub fn WaitNamedPipeA( - lpNamedPipeName: LPCSTR, - nTimeOut: DWORD, - ) -> BOOL; - pub fn GetNamedPipeClientComputerNameA( - Pipe: HANDLE, - ClientComputerName: LPSTR, - ClientComputerNameLength: ULONG, - ) -> BOOL; - pub fn GetNamedPipeClientProcessId( - Pipe: HANDLE, - ClientProcessId: PULONG, - ) -> BOOL; - pub fn GetNamedPipeClientSessionId( - Pipe: HANDLE, - ClientSessionId: PULONG, - ) -> BOOL; - pub fn GetNamedPipeServerProcessId( - Pipe: HANDLE, - ServerProcessId: PULONG, - ) -> BOOL; - pub fn GetNamedPipeServerSessionId( - Pipe: HANDLE, - ServerSessionId: PULONG, - ) -> BOOL; - pub fn SetVolumeLabelA( - lpRootPathName: LPCSTR, - lpVolumeName: LPCSTR, - ) -> BOOL; - pub fn SetVolumeLabelW( - lpRootPathName: LPCWSTR, - lpVolumeName: LPCWSTR, - ) -> BOOL; - pub fn SetFileBandwidthReservation( - hFile: HANDLE, - nPeriodMilliseconds: DWORD, - nBytesPerPeriod: DWORD, - bDiscardable: BOOL, - lpTransferSize: LPDWORD, - lpNumOutstandingRequests: LPDWORD, - ) -> BOOL; - pub fn GetFileBandwidthReservation( - hFile: HANDLE, - lpPeriodMilliseconds: LPDWORD, - lpBytesPerPeriod: LPDWORD, - pDiscardable: LPBOOL, - lpTransferSize: LPDWORD, - lpNumOutstandingRequests: LPDWORD, - ) -> BOOL; - // pub fn ClearEventLogA(); - // pub fn ClearEventLogW(); - // pub fn BackupEventLogA(); - // pub fn BackupEventLogW(); - // pub fn CloseEventLog(); - pub fn DeregisterEventSource( - hEventLog: HANDLE, - ) -> BOOL; - // pub fn NotifyChangeEventLog(); - // pub fn GetNumberOfEventLogRecords(); - // pub fn GetOldestEventLogRecord(); - // pub fn OpenEventLogA(); - // pub fn OpenEventLogW(); - pub fn RegisterEventSourceA( - lpUNCServerName: LPCSTR, - lpSourceName: LPCSTR, - ) -> HANDLE; - pub fn RegisterEventSourceW( - lpUNCServerName: LPCWSTR, - lpSourceName: LPCWSTR, - ) -> HANDLE; - // pub fn OpenBackupEventLogA(); - // pub fn OpenBackupEventLogW(); - // pub fn ReadEventLogA(); - // pub fn ReadEventLogW(); - pub fn ReportEventA( - hEventLog: HANDLE, - wType: WORD, - wCategory: WORD, - dwEventID: DWORD, - lpUserSid: PSID, - wNumStrings: WORD, - dwDataSize: DWORD, - lpStrings: *mut LPCSTR, - lpRawData: LPVOID, - ) -> BOOL; - pub fn ReportEventW( - hEventLog: HANDLE, - wType: WORD, - wCategory: WORD, - dwEventID: DWORD, - lpUserSid: PSID, - wNumStrings: WORD, - dwDataSize: DWORD, - lpStrings: *mut LPCWSTR, - lpRawData: LPVOID, - ) -> BOOL; - // pub fn GetEventLogInformation(); - // pub fn OperationStart(); - // pub fn OperationEnd(); - // pub fn AccessCheckAndAuditAlarmA(); - // pub fn AccessCheckByTypeAndAuditAlarmA(); - // pub fn AccessCheckByTypeResultListAndAuditAlarmA(); - // pub fn AccessCheckByTypeResultListAndAuditAlarmByHandleA(); - // pub fn ObjectOpenAuditAlarmA(); - // pub fn ObjectPrivilegeAuditAlarmA(); - // pub fn ObjectCloseAuditAlarmA(); - // pub fn ObjectDeleteAuditAlarmA(); - // pub fn PrivilegedServiceAuditAlarmA(); - // pub fn AddConditionalAce(); - // pub fn SetFileSecurityA(); - // pub fn GetFileSecurityA(); - pub fn ReadDirectoryChangesW( - hDirectory: HANDLE, - lpBuffer: LPVOID, - nBufferLength: DWORD, - bWatchSubtree: BOOL, - dwNotifyFilter: DWORD, - lpBytesReturned: LPDWORD, - lpOverlapped: LPOVERLAPPED, - lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE, - ) -> BOOL; - pub fn MapViewOfFileExNuma( - hFileMappingObject: HANDLE, - dwDesiredAccess: DWORD, - dwFileOffsetHigh: DWORD, - dwFileOffsetLow: DWORD, - dwNumberOfBytesToMap: SIZE_T, - lpBaseAddress: LPVOID, - nndPreferred: DWORD, - ) -> LPVOID; - pub fn IsBadReadPtr( - lp: *const VOID, - ucb: UINT_PTR, - ) -> BOOL; - pub fn IsBadWritePtr( - lp: LPVOID, - ucb: UINT_PTR, - ) -> BOOL; - pub fn IsBadHugeReadPtr( - lp: *const VOID, - ucb: UINT_PTR, - ) -> BOOL; - pub fn IsBadHugeWritePtr( - lp: LPVOID, - ucb: UINT_PTR, - ) -> BOOL; - pub fn IsBadCodePtr( - lpfn: FARPROC, - ) -> BOOL; - pub fn IsBadStringPtrA( - lpsz: LPCSTR, - ucchMax: UINT_PTR, - ) -> BOOL; - pub fn IsBadStringPtrW( - lpsz: LPCWSTR, - ucchMax: UINT_PTR, - ) -> BOOL; - pub fn LookupAccountSidA( - lpSystemName: LPCSTR, - Sid: PSID, - Name: LPSTR, - cchName: LPDWORD, - ReferencedDomainName: LPSTR, - cchReferencedDomainName: LPDWORD, - peUse: PSID_NAME_USE, - ) -> BOOL; - pub fn LookupAccountSidW( - lpSystemName: LPCWSTR, - Sid: PSID, - Name: LPWSTR, - cchName: LPDWORD, - ReferencedDomainName: LPWSTR, - cchReferencedDomainName: LPDWORD, - peUse: PSID_NAME_USE, - ) -> BOOL; - pub fn LookupAccountNameA( - lpSystemName: LPCSTR, - lpAccountName: LPCSTR, - Sid: PSID, - cbSid: LPDWORD, - ReferencedDomainName: LPCSTR, - cchReferencedDomainName: LPDWORD, - peUse: PSID_NAME_USE, - ) -> BOOL; - pub fn LookupAccountNameW( - lpSystemName: LPCWSTR, - lpAccountName: LPCWSTR, - Sid: PSID, - cbSid: LPDWORD, - ReferencedDomainName: LPCWSTR, - cchReferencedDomainName: LPDWORD, - peUse: PSID_NAME_USE, - ) -> BOOL; - // pub fn LookupAccountNameLocalA(); - // pub fn LookupAccountNameLocalW(); - // pub fn LookupAccountSidLocalA(); - // pub fn LookupAccountSidLocalW(); - pub fn LookupPrivilegeValueA( - lpSystemName: LPCSTR, - lpName: LPCSTR, - lpLuid: PLUID, - ) -> BOOL; - pub fn LookupPrivilegeValueW( - lpSystemName: LPCWSTR, - lpName: LPCWSTR, - lpLuid: PLUID, - ) -> BOOL; - pub fn LookupPrivilegeNameA( - lpSystemName: LPCSTR, - lpLuid: PLUID, - lpName: LPSTR, - cchName: LPDWORD, - ) -> BOOL; - pub fn LookupPrivilegeNameW( - lpSystemName: LPCWSTR, - lpLuid: PLUID, - lpName: LPWSTR, - cchName: LPDWORD, - ) -> BOOL; - // pub fn LookupPrivilegeDisplayNameA(); - // pub fn LookupPrivilegeDisplayNameW(); - pub fn BuildCommDCBA( - lpDef: LPCSTR, - lpDCB: LPDCB, - ) -> BOOL; - pub fn BuildCommDCBW( - lpDef: LPCWSTR, - lpDCB: LPDCB, - ) -> BOOL; - pub fn BuildCommDCBAndTimeoutsA( - lpDef: LPCSTR, - lpDCB: LPDCB, - lpCommTimeouts: LPCOMMTIMEOUTS, - ) -> BOOL; - pub fn BuildCommDCBAndTimeoutsW( - lpDef: LPCWSTR, - lpDCB: LPDCB, - lpCommTimeouts: LPCOMMTIMEOUTS, - ) -> BOOL; - pub fn CommConfigDialogA( - lpszName: LPCSTR, - hWnd: HWND, - lpCC: LPCOMMCONFIG, - ) -> BOOL; - pub fn CommConfigDialogW( - lpszName: LPCWSTR, - hWnd: HWND, - lpCC: LPCOMMCONFIG, - ) -> BOOL; - pub fn GetDefaultCommConfigA( - lpszName: LPCSTR, - lpCC: LPCOMMCONFIG, - lpdwSize: LPDWORD, - ) -> BOOL; - pub fn GetDefaultCommConfigW( - lpszName: LPCWSTR, - lpCC: LPCOMMCONFIG, - lpdwSize: LPDWORD, - ) -> BOOL; - pub fn SetDefaultCommConfigA( - lpszName: LPCSTR, - lpCC: LPCOMMCONFIG, - dwSize: DWORD, - ) -> BOOL; - pub fn SetDefaultCommConfigW( - lpszName: LPCWSTR, - lpCC: LPCOMMCONFIG, - dwSize: DWORD, - ) -> BOOL; - pub fn GetComputerNameA( - lpBuffer: LPSTR, - nSize: LPDWORD, - ) -> BOOL; - pub fn GetComputerNameW( - lpBuffer: LPWSTR, - nSize: LPDWORD, - ) -> BOOL; - pub fn DnsHostnameToComputerNameA( - Hostname: LPCSTR, - ComputerName: LPCSTR, - nSize: LPDWORD, - ) -> BOOL; - pub fn DnsHostnameToComputerNameW( - Hostname: LPCWSTR, - ComputerName: LPWSTR, - nSize: LPDWORD, - ) -> BOOL; - pub fn GetUserNameA( - lpBuffer: LPSTR, - pcbBuffer: LPDWORD, - ) -> BOOL; - pub fn GetUserNameW( - lpBuffer: LPWSTR, - pcbBuffer: LPDWORD, - ) -> BOOL; -} -pub const LOGON32_LOGON_INTERACTIVE: DWORD = 2; -pub const LOGON32_LOGON_NETWORK: DWORD = 3; -pub const LOGON32_LOGON_BATCH: DWORD = 4; -pub const LOGON32_LOGON_SERVICE: DWORD = 5; -pub const LOGON32_LOGON_UNLOCK: DWORD = 7; -pub const LOGON32_LOGON_NETWORK_CLEARTEXT: DWORD = 8; -pub const LOGON32_LOGON_NEW_CREDENTIALS: DWORD = 9; -pub const LOGON32_PROVIDER_DEFAULT: DWORD = 0; -pub const LOGON32_PROVIDER_WINNT35: DWORD = 1; -pub const LOGON32_PROVIDER_WINNT40: DWORD = 2; -pub const LOGON32_PROVIDER_WINNT50: DWORD = 3; -pub const LOGON32_PROVIDER_VIRTUAL: DWORD = 4; -extern "system" { - pub fn LogonUserA( - lpUsername: LPCSTR, - lpDomain: LPCSTR, - lpPassword: LPCSTR, - dwLogonType: DWORD, - dwLogonProvider: DWORD, - phToken: PHANDLE, - ) -> BOOL; - pub fn LogonUserW( - lpUsername: LPCWSTR, - lpDomain: LPCWSTR, - lpPassword: LPCWSTR, - dwLogonType: DWORD, - dwLogonProvider: DWORD, - phToken: PHANDLE, - ) -> BOOL; - pub fn LogonUserExA( - lpUsername: LPCSTR, - lpDomain: LPCSTR, - lpPassword: LPCSTR, - dwLogonType: DWORD, - dwLogonProvider: DWORD, - phToken: PHANDLE, - ppLogonSid: *mut PSID, - ppProfileBuffer: *mut PVOID, - pdwProfileLength: LPDWORD, - pQuotaLimits: PQUOTA_LIMITS, - ) -> BOOL; - pub fn LogonUserExW( - lpUsername: LPCWSTR, - lpDomain: LPCWSTR, - lpPassword: LPCWSTR, - dwLogonType: DWORD, - dwLogonProvider: DWORD, - phToken: PHANDLE, - ppLogonSid: *mut PSID, - ppProfileBuffer: *mut PVOID, - pdwProfileLength: LPDWORD, - pQuotaLimits: PQUOTA_LIMITS, - ) -> BOOL; - // pub fn CreateProcessWithLogonW(); - // pub fn CreateProcessWithTokenW(); - // pub fn IsTokenUntrusted(); - pub fn RegisterWaitForSingleObject( - phNewWaitObject: PHANDLE, - hObject: HANDLE, - Callback: WAITORTIMERCALLBACK, - Context: PVOID, - dwMilliseconds: ULONG, - dwFlags: ULONG, - ) -> BOOL; - pub fn UnregisterWait( - WaitHandle: HANDLE, - ) -> BOOL; - pub fn BindIoCompletionCallback( - FileHandle: HANDLE, - Function: LPOVERLAPPED_COMPLETION_ROUTINE, - Flags: ULONG, - ) -> BOOL; - pub fn SetTimerQueueTimer( - TimerQueue: HANDLE, - Callback: WAITORTIMERCALLBACK, - Parameter: PVOID, - DueTime: DWORD, - Period: DWORD, - PreferIo: BOOL, - ) -> HANDLE; - pub fn CancelTimerQueueTimer( - TimerQueue: HANDLE, - Timer: HANDLE, - ) -> BOOL; - pub fn DeleteTimerQueue( - TimerQueue: HANDLE, - ) -> BOOL; - // pub fn InitializeThreadpoolEnvironment(); - // pub fn SetThreadpoolCallbackPool(); - // pub fn SetThreadpoolCallbackCleanupGroup(); - // pub fn SetThreadpoolCallbackRunsLong(); - // pub fn SetThreadpoolCallbackLibrary(); - // pub fn SetThreadpoolCallbackPriority(); - // pub fn DestroyThreadpoolEnvironment(); - // pub fn SetThreadpoolCallbackPersistent(); - pub fn CreatePrivateNamespaceA( - lpPrivateNamespaceAttributes: LPSECURITY_ATTRIBUTES, - lpBoundaryDescriptor: LPVOID, - lpAliasPrefix: LPCSTR, - ) -> HANDLE; - pub fn OpenPrivateNamespaceA( - lpBoundaryDescriptor: LPVOID, - lpAliasPrefix: LPCSTR, - ) -> HANDLE; - pub fn CreateBoundaryDescriptorA( - Name: LPCSTR, - Flags: ULONG, - ) -> HANDLE; - pub fn AddIntegrityLabelToBoundaryDescriptor( - BoundaryDescriptor: *mut HANDLE, - IntegrityLabel: PSID, - ) -> BOOL; -} -pub const HW_PROFILE_GUIDLEN: usize = 39; -// MAX_PROFILE_LEN -pub const DOCKINFO_UNDOCKED: DWORD = 0x1; -pub const DOCKINFO_DOCKED: DWORD = 0x2; -pub const DOCKINFO_USER_SUPPLIED: DWORD = 0x4; -pub const DOCKINFO_USER_UNDOCKED: DWORD = DOCKINFO_USER_SUPPLIED | DOCKINFO_UNDOCKED; -pub const DOCKINFO_USER_DOCKED: DWORD = DOCKINFO_USER_SUPPLIED | DOCKINFO_DOCKED; -STRUCT!{struct HW_PROFILE_INFOA { - dwDockInfo: DWORD, - szHwProfileGuid: [CHAR; HW_PROFILE_GUIDLEN], - szHwProfileName: [CHAR; MAX_PROFILE_LEN], -}} -pub type LPHW_PROFILE_INFOA = *mut HW_PROFILE_INFOA; -STRUCT!{struct HW_PROFILE_INFOW { - dwDockInfo: DWORD, - szHwProfileGuid: [WCHAR; HW_PROFILE_GUIDLEN], - szHwProfileName: [WCHAR; MAX_PROFILE_LEN], -}} -pub type LPHW_PROFILE_INFOW = *mut HW_PROFILE_INFOW; -extern "system" { - pub fn GetCurrentHwProfileA( - lpHwProfileInfo: LPHW_PROFILE_INFOA, - ) -> BOOL; - pub fn GetCurrentHwProfileW( - lpHwProfileInfo: LPHW_PROFILE_INFOW, - ) -> BOOL; - pub fn VerifyVersionInfoA( - lpVersionInformation: LPOSVERSIONINFOEXA, - dwTypeMask: DWORD, - dwlConditionMask: DWORDLONG, - ) -> BOOL; - pub fn VerifyVersionInfoW( - lpVersionInformation: LPOSVERSIONINFOEXW, - dwTypeMask: DWORD, - dwlConditionMask: DWORDLONG, - ) -> BOOL; -} -STRUCT!{struct SYSTEM_POWER_STATUS { - ACLineStatus: BYTE, - BatteryFlag: BYTE, - BatteryLifePercent: BYTE, - Reserved1: BYTE, - BatteryLifeTime: DWORD, - BatteryFullLifeTime: DWORD, -}} -pub type LPSYSTEM_POWER_STATUS = *mut SYSTEM_POWER_STATUS; -extern "system" { - pub fn GetSystemPowerStatus( - lpSystemPowerStatus: LPSYSTEM_POWER_STATUS, - ) -> BOOL; - pub fn SetSystemPowerState( - fSuspend: BOOL, - fForce: BOOL, - ) -> BOOL; - pub fn MapUserPhysicalPagesScatter( - VirtualAddresses: *mut PVOID, - NumberOfPages: ULONG_PTR, - PageArray: PULONG_PTR, - ) -> BOOL; - pub fn CreateJobObjectA( - lpJobAttributes: LPSECURITY_ATTRIBUTES, - lpName: LPCSTR, - ) -> HANDLE; - pub fn OpenJobObjectA( - dwDesiredAccess: DWORD, - bInheritHandle: BOOL, - lpName: LPCSTR, - ) -> HANDLE; - pub fn CreateJobSet( - NumJob: ULONG, - UserJobSet: PJOB_SET_ARRAY, - Flags: ULONG, - ) -> BOOL; - pub fn FindFirstVolumeA( - lpszVolumeName: LPSTR, - cchBufferLength: DWORD, - ) -> HANDLE; - pub fn FindNextVolumeA( - hFindVolume: HANDLE, - lpszVolumeName: LPSTR, - cchBufferLength: DWORD, - ) -> BOOL; - pub fn FindFirstVolumeMountPointA( - lpszRootPathName: LPCSTR, - lpszVolumeMountPoint: LPSTR, - cchBufferLength: DWORD, - ) -> HANDLE; - pub fn FindFirstVolumeMountPointW( - lpszRootPathName: LPCWSTR, - lpszVolumeMountPoint: LPWSTR, - cchBufferLength: DWORD, - ) -> HANDLE; - pub fn FindNextVolumeMountPointA( - hFindVolumeMountPoint: HANDLE, - lpszVolumeMountPoint: LPSTR, - cchBufferLength: DWORD, - ) -> BOOL; - pub fn FindNextVolumeMountPointW( - hFindVolumeMountPoint: HANDLE, - lpszVolumeMountPoint: LPWSTR, - cchBufferLength: DWORD, - ) -> BOOL; - pub fn FindVolumeMountPointClose( - hFindVolumeMountPoint: HANDLE, - ) -> BOOL; - pub fn SetVolumeMountPointA( - lpszVolumeMountPoint: LPCSTR, - lpszVolumeName: LPCSTR, - ) -> BOOL; - pub fn SetVolumeMountPointW( - lpszVolumeMountPoint: LPCWSTR, - lpszVolumeName: LPCWSTR, - ) -> BOOL; - pub fn DeleteVolumeMountPointA( - lpszVolumeMountPoint: LPCSTR, - ) -> BOOL; - pub fn GetVolumeNameForVolumeMountPointA( - lpszVolumeMountPoint: LPCSTR, - lpszVolumeName: LPSTR, - cchBufferLength: DWORD, - ) -> BOOL; - pub fn GetVolumePathNameA( - lpszFileName: LPCSTR, - lpszVolumePathName: LPSTR, - cchBufferLength: DWORD, - ) -> BOOL; - pub fn GetVolumePathNamesForVolumeNameA( - lpszVolumeName: LPCSTR, - lpszVolumePathNames: LPCH, - cchBufferLength: DWORD, - lpcchReturnLength: PDWORD, - ) -> BOOL; -} -// ACTCTX_FLAG_* -STRUCT!{struct ACTCTXA { - cbSize: ULONG, - dwFlags: DWORD, - lpSource: LPCSTR, - wProcessorArchitecture: USHORT, - wLangId: LANGID, - lpAssemblyDirectory: LPCSTR, - lpResourceName: LPCSTR, - lpApplicationName: LPCSTR, - hModule: HMODULE, -}} -pub type PACTCTXA = *mut ACTCTXA; -STRUCT!{struct ACTCTXW { - cbSize: ULONG, - dwFlags: DWORD, - lpSource: LPCWSTR, - wProcessorArchitecture: USHORT, - wLangId: LANGID, - lpAssemblyDirectory: LPCWSTR, - lpResourceName: LPCWSTR, - lpApplicationName: LPCWSTR, - hModule: HMODULE, -}} -pub type PACTCTXW = *mut ACTCTXW; -pub type PCACTCTXA = *const ACTCTXA; -pub type PCACTCTXW = *const ACTCTXW; -extern "system" { - pub fn CreateActCtxA( - pActCtx: PCACTCTXA, - ) -> HANDLE; - pub fn CreateActCtxW( - pActCtx: PCACTCTXW, - ) -> HANDLE; - pub fn AddRefActCtx( - hActCtx: HANDLE, - ); - pub fn ReleaseActCtx( - hActCtx: HANDLE, - ); - pub fn ZombifyActCtx( - hActCtx: HANDLE, - ) -> BOOL; - pub fn ActivateActCtx( - hActCtx: HANDLE, - lpCookie: *mut ULONG_PTR, - ) -> BOOL; - pub fn DeactivateActCtx( - dwFlags: DWORD, - ulCookie: ULONG_PTR, - ) -> BOOL; - pub fn GetCurrentActCtx( - lphActCtx: *mut HANDLE, - ) -> BOOL; -} -STRUCT!{struct ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA { - lpInformation: PVOID, - lpSectionBase: PVOID, - ulSectionLength: ULONG, - lpSectionGlobalDataBase: PVOID, - ulSectionGlobalDataLength: ULONG, -}} -pub type PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA = - *mut ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA; -pub type PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA = - *const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA; -STRUCT!{struct ACTCTX_SECTION_KEYED_DATA { - cbSize: ULONG, - ulDataFormatVersion: ULONG, - lpData: PVOID, - ulLength: ULONG, - lpSectionGlobalData: PVOID, - ulSectionGlobalDataLength: ULONG, - lpSectionBase: PVOID, - ulSectionTotalLength: ULONG, - hActCtx: HANDLE, - ulAssemblyRosterIndex: ULONG, - ulFlags: ULONG, - AssemblyMetadata: ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, -}} -pub type PACTCTX_SECTION_KEYED_DATA = *mut ACTCTX_SECTION_KEYED_DATA; -pub type PCACTCTX_SECTION_KEYED_DATA = *const ACTCTX_SECTION_KEYED_DATA; -extern "system" { - pub fn FindActCtxSectionStringA( - dwFlags: DWORD, - lpExtensionGuid: *const GUID, - ulSectionId: ULONG, - lpStringToFind: LPCSTR, - ReturnedData: PACTCTX_SECTION_KEYED_DATA, - ) -> BOOL; - pub fn FindActCtxSectionStringW( - dwFlags: DWORD, - lpExtensionGuid: *const GUID, - ulSectionId: ULONG, - lpStringToFind: LPCWSTR, - ReturnedData: PACTCTX_SECTION_KEYED_DATA, - ) -> BOOL; - pub fn FindActCtxSectionGuid( - dwFlags: DWORD, - lpExtensionGuid: *const GUID, - ulSectionId: ULONG, - lpGuidToFind: *const GUID, - ReturnedData: PACTCTX_SECTION_KEYED_DATA, - ) -> BOOL; - pub fn QueryActCtxW( - dwFlags: DWORD, - hActCtx: HANDLE, - pvSubInstance: PVOID, - ulInfoClass: ULONG, - pvBuffer: PVOID, - cbBuffer: SIZE_T, - pcbWrittenOrRequired: *mut SIZE_T, - ) -> BOOL; - pub fn WTSGetActiveConsoleSessionId() -> DWORD; - // pub fn WTSGetServiceSessionId(); - // pub fn WTSIsServerContainer(); - pub fn GetActiveProcessorGroupCount() -> WORD; - pub fn GetMaximumProcessorGroupCount() -> WORD; - pub fn GetActiveProcessorCount( - GroupNumber: WORD, - ) -> DWORD; - pub fn GetMaximumProcessorCount( - GroupNumber: WORD, - ) -> DWORD; - pub fn GetNumaProcessorNode( - Processor: UCHAR, - NodeNumber: PUCHAR, - ) -> BOOL; - pub fn GetNumaNodeNumberFromHandle( - hFile: HANDLE, - NodeNumber: PUSHORT, - ) -> BOOL; - pub fn GetNumaProcessorNodeEx( - Processor: PPROCESSOR_NUMBER, - NodeNumber: PUSHORT, - ) -> BOOL; - pub fn GetNumaNodeProcessorMask( - Node: UCHAR, - ProcessorMask: PULONGLONG, - ) -> BOOL; - pub fn GetNumaAvailableMemoryNode( - Node: UCHAR, - AvailableBytes: PULONGLONG, - ) -> BOOL; - pub fn GetNumaAvailableMemoryNodeEx( - Node: USHORT, - AvailableBytes: PULONGLONG, - ) -> BOOL; - pub fn GetNumaProximityNode( - ProximityId: ULONG, - NodeNumber: PUCHAR, - ) -> BOOL; -} -FN!{stdcall APPLICATION_RECOVERY_CALLBACK( - pvParameter: PVOID, -) -> DWORD} -// RESTART_* -// RECOVERY_* -extern "system" { - pub fn RegisterApplicationRecoveryCallback( - pRecoveyCallback: APPLICATION_RECOVERY_CALLBACK, - pvParameter: PVOID, - dwPingInterval: DWORD, - dwFlags: DWORD, - ) -> HRESULT; - pub fn UnregisterApplicationRecoveryCallback() -> HRESULT; - pub fn RegisterApplicationRestart( - pwzCommandline: PCWSTR, - dwFlags: DWORD, - ) -> HRESULT; - pub fn UnregisterApplicationRestart() -> HRESULT; - pub fn GetApplicationRecoveryCallback( - hProcess: HANDLE, - pRecoveryCallback: *mut APPLICATION_RECOVERY_CALLBACK, - ppvParameter: *mut PVOID, - pdwPingInterval: PDWORD, - pdwFlags: PDWORD, - ) -> HRESULT; - pub fn GetApplicationRestartSettings( - hProcess: HANDLE, - pwzCommandline: PWSTR, - pcchSize: PDWORD, - pdwFlags: PDWORD, - ) -> HRESULT; - pub fn ApplicationRecoveryInProgress( - pbCancelled: PBOOL, - ) -> HRESULT; - pub fn ApplicationRecoveryFinished( - bSuccess: BOOL, - ); -} -// FILE_BASIC_INFO, etc. -extern "system" { - pub fn GetFileInformationByHandleEx( - hFile: HANDLE, - FileInformationClass: FILE_INFO_BY_HANDLE_CLASS, - lpFileInformation: LPVOID, - dwBufferSize: DWORD, - ) -> BOOL; -} -ENUM!{enum FILE_ID_TYPE { - FileIdType, - ObjectIdType, - ExtendedFileIdType, - MaximumFileIdType, -}} -UNION!{union FILE_ID_DESCRIPTOR_u { - [u64; 2], - FileId FileId_mut: LARGE_INTEGER, - ObjectId ObjectId_mut: GUID, - ExtendedFileId ExtendedFileId_mut: FILE_ID_128, -}} -STRUCT!{struct FILE_ID_DESCRIPTOR { - dwSize: DWORD, - Type: FILE_ID_TYPE, - u: FILE_ID_DESCRIPTOR_u, -}} -pub type LPFILE_ID_DESCRIPTOR = *mut FILE_ID_DESCRIPTOR; -extern "system" { - pub fn OpenFileById( - hVolumeHint: HANDLE, - lpFileId: LPFILE_ID_DESCRIPTOR, - dwDesiredAccess: DWORD, - dwShareMode: DWORD, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - dwFlagsAndAttributes: DWORD, - ) -> HANDLE; - pub fn CreateSymbolicLinkA( - lpSymlinkFileName: LPCSTR, - lpTargetFileName: LPCSTR, - dwFlags: DWORD, - ) -> BOOLEAN; - pub fn CreateSymbolicLinkW( - lpSymlinkFileName: LPCWSTR, - lpTargetFileName: LPCWSTR, - dwFlags: DWORD, - ) -> BOOLEAN; - pub fn QueryActCtxSettingsW( - dwFlags: DWORD, - hActCtx: HANDLE, - settingsNameSpace: PCWSTR, - settingName: PCWSTR, - pvBuffer: PWSTR, - dwBuffer: SIZE_T, - pdwWrittenOrRequired: *mut SIZE_T, - ) -> BOOL; - pub fn CreateSymbolicLinkTransactedA( - lpSymlinkFileName: LPCSTR, - lpTargetFileName: LPCSTR, - dwFlags: DWORD, - hTransaction: HANDLE, - ) -> BOOLEAN; - pub fn CreateSymbolicLinkTransactedW( - lpSymlinkFileName: LPCWSTR, - lpTargetFileName: LPCWSTR, - dwFlags: DWORD, - hTransaction: HANDLE, - ) -> BOOLEAN; - pub fn ReplacePartitionUnit( - TargetPartition: PWSTR, - SparePartition: PWSTR, - Flags: ULONG, - ) -> BOOL; - pub fn AddSecureMemoryCacheCallback( - pfnCallBack: PSECURE_MEMORY_CACHE_CALLBACK, - ) -> BOOL; - pub fn RemoveSecureMemoryCacheCallback( - pfnCallBack: PSECURE_MEMORY_CACHE_CALLBACK, - ) -> BOOL; - pub fn CopyContext( - Destination: PCONTEXT, - ContextFlags: DWORD, - Source: PCONTEXT, - ) -> BOOL; - pub fn InitializeContext( - Buffer: PVOID, - ContextFlags: DWORD, - Context: *mut PCONTEXT, - ContextLength: PDWORD, - ) -> BOOL; - pub fn GetEnabledXStateFeatures() -> DWORD64; - pub fn GetXStateFeaturesMask( - Context: PCONTEXT, - FeatureMask: PDWORD64, - ) -> BOOL; - #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] - pub fn LocateXStateFeature( - Context: PCONTEXT, - FeatureId: DWORD, - Length: PDWORD, - ) -> PVOID; - #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] - pub fn SetXStateFeaturesMask( - Context: PCONTEXT, - FeatureMask: DWORD64, - ) -> BOOL; - pub fn EnableThreadProfiling( - ThreadHandle: HANDLE, - Flags: DWORD, - HardwareCounters: DWORD64, - PerformanceDataHandle: *mut HANDLE, - ) -> BOOL; - pub fn DisableThreadProfiling( - PerformanceDataHandle: HANDLE, - ) -> DWORD; - pub fn QueryThreadProfiling( - ThreadHandle: HANDLE, - Enabled: PBOOLEAN, - ) -> DWORD; - pub fn ReadThreadProfilingData( - PerformanceDataHandle: HANDLE, - Flags: DWORD, - PerformanceData: PPERFORMANCE_DATA, - ) -> DWORD; - // intrinsic InterlockedIncrement - // intrinsic InterlockedDecrement - // intrinsic InterlockedExchange - // intrinsic InterlockedExchangeAdd - // intrinsic InterlockedExchangeSubtract - // intrinsic InterlockedCompareExchange - // intrinsic InterlockedAnd - // intrinsic InterlockedOr - // intrinsic InterlockedXor -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/wincodec.rs b/vendor/registry-40351f815f426200/winapi/src/um/wincodec.rs deleted file mode 100644 index dbe8a4456..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/wincodec.rs +++ /dev/null @@ -1,1861 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Mappings for the contents of wincodec.h -use ctypes::c_double; -use shared::basetsd::{UINT32, ULONG_PTR}; -use shared::dxgiformat::DXGI_FORMAT; -use shared::dxgitype::{ - DXGI_JPEG_AC_HUFFMAN_TABLE, DXGI_JPEG_DC_HUFFMAN_TABLE, - DXGI_JPEG_QUANTIZATION_TABLE -}; -use shared::guiddef::{CLSID, GUID, REFCLSID, REFGUID}; -use shared::minwindef::{BOOL, BYTE, DWORD, FLOAT, INT, LPVOID, UINT, ULONG}; -use shared::ntdef::{LPCWSTR, LPWSTR, PCWSTR, WCHAR}; -use shared::windef::{HBITMAP, HICON, HPALETTE}; -use shared::winerror::{ - E_ABORT, E_ACCESSDENIED, E_FAIL, E_INVALIDARG, E_NOTIMPL, E_OUTOFMEMORY, HRESULT, - SEVERITY_ERROR -}; -use um::d2d1::ID2D1Image; -use um::d2d1_1::ID2D1Device; -use um::dcommon::D2D1_PIXEL_FORMAT; -use um::objidlbase::{IEnumString, IEnumUnknown, IStream, IStreamVtbl}; -use um::ocidl::IPropertyBag2; -use um::propidl::PROPVARIANT; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::{HANDLE, ULARGE_INTEGER}; -DEFINE_GUID!{CLSID_WICImagingFactory, - 0xcacaf262, 0x9370, 0x4615, 0xa1, 0x3b, 0x9f, 0x55, 0x39, 0xda, 0x4c, 0xa} -DEFINE_GUID!{CLSID_WICImagingFactory1, - 0xcacaf262, 0x9370, 0x4615, 0xa1, 0x3b, 0x9f, 0x55, 0x39, 0xda, 0x4c, 0xa} -DEFINE_GUID!{CLSID_WICImagingFactory2, - 0x317d06e8, 0x5f24, 0x433d, 0xbd, 0xf7, 0x79, 0xce, 0x68, 0xd8, 0xab, 0xc2} -DEFINE_GUID!{GUID_VendorMicrosoft, - 0xf0e749ca, 0xedef, 0x4589, 0xa7, 0x3a, 0xee, 0xe, 0x62, 0x6a, 0x2a, 0x2b} -DEFINE_GUID!{GUID_VendorMicrosoftBuiltIn, - 0x257a30fd, 0x6b6, 0x462b, 0xae, 0xa4, 0x63, 0xf7, 0xb, 0x86, 0xe5, 0x33} -DEFINE_GUID!{CLSID_WICPngDecoder, - 0x389ea17b, 0x5078, 0x4cde, 0xb6, 0xef, 0x25, 0xc1, 0x51, 0x75, 0xc7, 0x51} -DEFINE_GUID!{CLSID_WICPngDecoder1, - 0x389ea17b, 0x5078, 0x4cde, 0xb6, 0xef, 0x25, 0xc1, 0x51, 0x75, 0xc7, 0x51} -DEFINE_GUID!{CLSID_WICPngDecoder2, - 0xe018945b, 0xaa86, 0x4008, 0x9b, 0xd4, 0x67, 0x77, 0xa1, 0xe4, 0x0c, 0x11} -DEFINE_GUID!{CLSID_WICBmpDecoder, - 0x6b462062, 0x7cbf, 0x400d, 0x9f, 0xdb, 0x81, 0x3d, 0xd1, 0x0f, 0x27, 0x78} -DEFINE_GUID!{CLSID_WICIcoDecoder, - 0xc61bfcdf, 0x2e0f, 0x4aad, 0xa8, 0xd7, 0xe0, 0x6b, 0xaf, 0xeb, 0xcd, 0xfe} -DEFINE_GUID!{CLSID_WICJpegDecoder, - 0x9456a480, 0xe88b, 0x43ea, 0x9e, 0x73, 0x0b, 0x2d, 0x9b, 0x71, 0xb1, 0xca} -DEFINE_GUID!{CLSID_WICGifDecoder, - 0x381dda3c, 0x9ce9, 0x4834, 0xa2, 0x3e, 0x1f, 0x98, 0xf8, 0xfc, 0x52, 0xbe} -DEFINE_GUID!{CLSID_WICTiffDecoder, - 0xb54e85d9, 0xfe23, 0x499f, 0x8b, 0x88, 0x6a, 0xce, 0xa7, 0x13, 0x75, 0x2b} -DEFINE_GUID!{CLSID_WICWmpDecoder, - 0xa26cec36, 0x234c, 0x4950, 0xae, 0x16, 0xe3, 0x4a, 0xac, 0xe7, 0x1d, 0x0d} -DEFINE_GUID!{CLSID_WICDdsDecoder, - 0x9053699f, 0xa341, 0x429d, 0x9e, 0x90, 0xee, 0x43, 0x7c, 0xf8, 0x0c, 0x73} -DEFINE_GUID!{CLSID_WICBmpEncoder, - 0x69be8bb4, 0xd66d, 0x47c8, 0x86, 0x5a, 0xed, 0x15, 0x89, 0x43, 0x37, 0x82} -DEFINE_GUID!{CLSID_WICPngEncoder, - 0x27949969, 0x876a, 0x41d7, 0x94, 0x47, 0x56, 0x8f, 0x6a, 0x35, 0xa4, 0xdc} -DEFINE_GUID!{CLSID_WICJpegEncoder, - 0x1a34f5c1, 0x4a5a, 0x46dc, 0xb6, 0x44, 0x1f, 0x45, 0x67, 0xe7, 0xa6, 0x76} -DEFINE_GUID!{CLSID_WICGifEncoder, - 0x114f5598, 0x0b22, 0x40a0, 0x86, 0xa1, 0xc8, 0x3e, 0xa4, 0x95, 0xad, 0xbd} -DEFINE_GUID!{CLSID_WICTiffEncoder, - 0x0131be10, 0x2001, 0x4c5f, 0xa9, 0xb0, 0xcc, 0x88, 0xfa, 0xb6, 0x4c, 0xe8} -DEFINE_GUID!{CLSID_WICWmpEncoder, - 0xac4ce3cb, 0xe1c1, 0x44cd, 0x82, 0x15, 0x5a, 0x16, 0x65, 0x50, 0x9e, 0xc2} -DEFINE_GUID!{CLSID_WICDdsEncoder, - 0xa61dde94, 0x66ce, 0x4ac1, 0x88, 0x1b, 0x71, 0x68, 0x05, 0x88, 0x89, 0x5e} -DEFINE_GUID!{CLSID_WICAdngDecoder, - 0x981d9411, 0x909e, 0x42a7, 0x8f, 0x5d, 0xa7, 0x47, 0xff, 0x05, 0x2e, 0xdb} -DEFINE_GUID!{CLSID_WICJpegQualcommPhoneEncoder, - 0x68ed5c62, 0xf534, 0x4979, 0xb2, 0xb3, 0x68, 0x6a, 0x12, 0xb2, 0xb3, 0x4c} -DEFINE_GUID!{GUID_ContainerFormatBmp, - 0x0af1d87e, 0xfcfe, 0x4188, 0xbd, 0xeb, 0xa7, 0x90, 0x64, 0x71, 0xcb, 0xe3} -DEFINE_GUID!{GUID_ContainerFormatPng, - 0x1b7cfaf4, 0x713f, 0x473c, 0xbb, 0xcd, 0x61, 0x37, 0x42, 0x5f, 0xae, 0xaf} -DEFINE_GUID!{GUID_ContainerFormatIco, - 0xa3a860c4, 0x338f, 0x4c17, 0x91, 0x9a, 0xfb, 0xa4, 0xb5, 0x62, 0x8f, 0x21} -DEFINE_GUID!{GUID_ContainerFormatJpeg, - 0x19e4a5aa, 0x5662, 0x4fc5, 0xa0, 0xc0, 0x17, 0x58, 0x02, 0x8e, 0x10, 0x57} -DEFINE_GUID!{GUID_ContainerFormatTiff, - 0x163bcc30, 0xe2e9, 0x4f0b, 0x96, 0x1d, 0xa3, 0xe9, 0xfd, 0xb7, 0x88, 0xa3} -DEFINE_GUID!{GUID_ContainerFormatGif, - 0x1f8a5601, 0x7d4d, 0x4cbd, 0x9c, 0x82, 0x1b, 0xc8, 0xd4, 0xee, 0xb9, 0xa5} -DEFINE_GUID!{GUID_ContainerFormatWmp, - 0x57a37caa, 0x367a, 0x4540, 0x91, 0x6b, 0xf1, 0x83, 0xc5, 0x09, 0x3a, 0x4b} -DEFINE_GUID!{GUID_ContainerFormatDds, - 0x9967cb95, 0x2e85, 0x4ac8, 0x8c, 0xa2, 0x83, 0xd7, 0xcc, 0xd4, 0x25, 0xc9} -DEFINE_GUID!{GUID_ContainerFormatAdng, - 0xf3ff6d0d, 0x38c0, 0x41c4, 0xb1, 0xfe, 0x1f, 0x38, 0x24, 0xf1, 0x7b, 0x84} -DEFINE_GUID!{CLSID_WICImagingCategories, - 0xfae3d380, 0xfea4, 0x4623, 0x8c, 0x75, 0xc6, 0xb6, 0x11, 0x10, 0xb6, 0x81} -DEFINE_GUID!{CATID_WICBitmapDecoders, - 0x7ed96837, 0x96f0, 0x4812, 0xb2, 0x11, 0xf1, 0x3c, 0x24, 0x11, 0x7e, 0xd3} -DEFINE_GUID!{CATID_WICBitmapEncoders, - 0xac757296, 0x3522, 0x4e11, 0x98, 0x62, 0xc1, 0x7b, 0xe5, 0xa1, 0x76, 0x7e} -DEFINE_GUID!{CATID_WICPixelFormats, - 0x2b46e70f, 0xcda7, 0x473e, 0x89, 0xf6, 0xdc, 0x96, 0x30, 0xa2, 0x39, 0x0b} -DEFINE_GUID!{CATID_WICFormatConverters, - 0x7835eae8, 0xbf14, 0x49d1, 0x93, 0xce, 0x53, 0x3a, 0x40, 0x7b, 0x22, 0x48} -DEFINE_GUID!{CATID_WICMetadataReader, - 0x05af94d8, 0x7174, 0x4cd2, 0xbe, 0x4a, 0x41, 0x24, 0xb8, 0x0e, 0xe4, 0xb8} -DEFINE_GUID!{CATID_WICMetadataWriter, - 0xabe3b9a4, 0x257d, 0x4b97, 0xbd, 0x1a, 0x29, 0x4a, 0xf4, 0x96, 0x22, 0x2e} -DEFINE_GUID!{CLSID_WICDefaultFormatConverter, - 0x1a3f11dc, 0xb514, 0x4b17, 0x8c, 0x5f, 0x21, 0x54, 0x51, 0x38, 0x52, 0xf1} -DEFINE_GUID!{CLSID_WICFormatConverterHighColor, - 0xac75d454, 0x9f37, 0x48f8, 0xb9, 0x72, 0x4e, 0x19, 0xbc, 0x85, 0x60, 0x11} -DEFINE_GUID!{CLSID_WICFormatConverterNChannel, - 0xc17cabb2, 0xd4a3, 0x47d7, 0xa5, 0x57, 0x33, 0x9b, 0x2e, 0xfb, 0xd4, 0xf1} -DEFINE_GUID!{CLSID_WICFormatConverterWMPhoto, - 0x9cb5172b, 0xd600, 0x46ba, 0xab, 0x77, 0x77, 0xbb, 0x7e, 0x3a, 0x00, 0xd9} -DEFINE_GUID!{CLSID_WICPlanarFormatConverter, - 0x184132b8, 0x32f8, 0x4784, 0x91, 0x31, 0xdd, 0x72, 0x24, 0xb2, 0x34, 0x38} -pub type WICColor = UINT32; -STRUCT!{struct WICRect { - X: INT, - Y: INT, - Width: INT, - Height: INT, -}} -pub type WICInProcPointer = *mut BYTE; -ENUM!{enum WICColorContextType { - WICColorContextUninitialized = 0x00000000, - WICColorContextProfile = 0x00000001, - WICColorContextExifColorSpace = 0x00000002, -}} -pub const CODEC_FORCE_DWORD: DWORD = 0x7FFFFFFF; -pub const WIC_JPEG_MAX_COMPONENT_COUNT: UINT = 4; -pub const WIC_JPEG_MAX_TABLE_INDEX: UINT = 3; -pub const WIC_JPEG_SAMPLE_FACTORS_ONE: DWORD = 0x00000011; -pub const WIC_JPEG_SAMPLE_FACTORS_THREE_420: DWORD = 0x00111122; -pub const WIC_JPEG_SAMPLE_FACTORS_THREE_422: DWORD = 0x00111121; -pub const WIC_JPEG_SAMPLE_FACTORS_THREE_440: DWORD = 0x00111112; -pub const WIC_JPEG_SAMPLE_FACTORS_THREE_444: DWORD = 0x00111111; -pub const WIC_JPEG_QUANTIZATION_BASELINE_ONE: DWORD = 0x00000000; -pub const WIC_JPEG_QUANTIZATION_BASELINE_THREE: DWORD = 0x00010100; -pub const WIC_JPEG_HUFFMAN_BASELINE_ONE: DWORD = 0x00000000; -pub const WIC_JPEG_HUFFMAN_BASELINE_THREE: DWORD = 0x00111100; -pub type REFWICPixelFormatGUID = REFGUID; -pub type WICPixelFormatGUID = GUID; -DEFINE_GUID!{GUID_WICPixelFormatDontCare, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x00} -DEFINE_GUID!{GUID_WICPixelFormat1bppIndexed, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x01} -DEFINE_GUID!{GUID_WICPixelFormat2bppIndexed, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x02} -DEFINE_GUID!{GUID_WICPixelFormat4bppIndexed, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x03} -DEFINE_GUID!{GUID_WICPixelFormat8bppIndexed, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x04} -DEFINE_GUID!{GUID_WICPixelFormatBlackWhite, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x05} -DEFINE_GUID!{GUID_WICPixelFormat2bppGray, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x06} -DEFINE_GUID!{GUID_WICPixelFormat4bppGray, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x07} -DEFINE_GUID!{GUID_WICPixelFormat8bppGray, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x08} -DEFINE_GUID!{GUID_WICPixelFormat8bppAlpha, - 0xe6cd0116, 0xeeba, 0x4161, 0xaa, 0x85, 0x27, 0xdd, 0x9f, 0xb3, 0xa8, 0x95} -DEFINE_GUID!{GUID_WICPixelFormat16bppBGR555, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x09} -DEFINE_GUID!{GUID_WICPixelFormat16bppBGR565, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x0a} -DEFINE_GUID!{GUID_WICPixelFormat16bppBGRA5551, - 0x05ec7c2b, 0xf1e6, 0x4961, 0xad, 0x46, 0xe1, 0xcc, 0x81, 0x0a, 0x87, 0xd2} -DEFINE_GUID!{GUID_WICPixelFormat16bppGray, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x0b} -DEFINE_GUID!{GUID_WICPixelFormat24bppBGR, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x0c} -DEFINE_GUID!{GUID_WICPixelFormat24bppRGB, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x0d} -DEFINE_GUID!{GUID_WICPixelFormat32bppBGR, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x0e} -DEFINE_GUID!{GUID_WICPixelFormat32bppBGRA, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x0f} -DEFINE_GUID!{GUID_WICPixelFormat32bppPBGRA, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x10} -DEFINE_GUID!{GUID_WICPixelFormat32bppGrayFloat, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x11} -DEFINE_GUID!{GUID_WICPixelFormat32bppRGB, - 0xd98c6b95, 0x3efe, 0x47d6, 0xbb, 0x25, 0xeb, 0x17, 0x48, 0xab, 0x0c, 0xf1} -DEFINE_GUID!{GUID_WICPixelFormat32bppRGBA, - 0xf5c7ad2d, 0x6a8d, 0x43dd, 0xa7, 0xa8, 0xa2, 0x99, 0x35, 0x26, 0x1a, 0xe9} -DEFINE_GUID!{GUID_WICPixelFormat32bppPRGBA, - 0x3cc4a650, 0xa527, 0x4d37, 0xa9, 0x16, 0x31, 0x42, 0xc7, 0xeb, 0xed, 0xba} -DEFINE_GUID!{GUID_WICPixelFormat48bppRGB, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x15} -DEFINE_GUID!{GUID_WICPixelFormat48bppBGR, - 0xe605a384, 0xb468, 0x46ce, 0xbb, 0x2e, 0x36, 0xf1, 0x80, 0xe6, 0x43, 0x13} -DEFINE_GUID!{GUID_WICPixelFormat64bppRGB, - 0xa1182111, 0x186d, 0x4d42, 0xbc, 0x6a, 0x9c, 0x83, 0x03, 0xa8, 0xdf, 0xf9} -DEFINE_GUID!{GUID_WICPixelFormat64bppRGBA, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x16} -DEFINE_GUID!{GUID_WICPixelFormat64bppBGRA, - 0x1562ff7c, 0xd352, 0x46f9, 0x97, 0x9e, 0x42, 0x97, 0x6b, 0x79, 0x22, 0x46} -DEFINE_GUID!{GUID_WICPixelFormat64bppPRGBA, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x17} -DEFINE_GUID!{GUID_WICPixelFormat64bppPBGRA, - 0x8c518e8e, 0xa4ec, 0x468b, 0xae, 0x70, 0xc9, 0xa3, 0x5a, 0x9c, 0x55, 0x30} -DEFINE_GUID!{GUID_WICPixelFormat16bppGrayFixedPoint, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x13} -DEFINE_GUID!{GUID_WICPixelFormat32bppBGR101010, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x14} -DEFINE_GUID!{GUID_WICPixelFormat48bppRGBFixedPoint, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x12} -DEFINE_GUID!{GUID_WICPixelFormat48bppBGRFixedPoint, - 0x49ca140e, 0xcab6, 0x493b, 0x9d, 0xdf, 0x60, 0x18, 0x7c, 0x37, 0x53, 0x2a} -DEFINE_GUID!{GUID_WICPixelFormat96bppRGBFixedPoint, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x18} -DEFINE_GUID!{GUID_WICPixelFormat96bppRGBFloat, - 0xe3fed78f, 0xe8db, 0x4acf, 0x84, 0xc1, 0xe9, 0x7f, 0x61, 0x36, 0xb3, 0x27} -DEFINE_GUID!{GUID_WICPixelFormat128bppRGBAFloat, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x19} -DEFINE_GUID!{GUID_WICPixelFormat128bppPRGBAFloat, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x1a} -DEFINE_GUID!{GUID_WICPixelFormat128bppRGBFloat, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x1b} -DEFINE_GUID!{GUID_WICPixelFormat32bppCMYK, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x1c} -DEFINE_GUID!{GUID_WICPixelFormat64bppRGBAFixedPoint, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x1d} -DEFINE_GUID!{GUID_WICPixelFormat64bppBGRAFixedPoint, - 0x356de33c, 0x54d2, 0x4a23, 0xbb, 0x4, 0x9b, 0x7b, 0xf9, 0xb1, 0xd4, 0x2d} -DEFINE_GUID!{GUID_WICPixelFormat64bppRGBFixedPoint, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x40} -DEFINE_GUID!{GUID_WICPixelFormat128bppRGBAFixedPoint, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x1e} -DEFINE_GUID!{GUID_WICPixelFormat128bppRGBFixedPoint, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x41} -DEFINE_GUID!{GUID_WICPixelFormat64bppRGBAHalf, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x3a} -DEFINE_GUID!{GUID_WICPixelFormat64bppPRGBAHalf, - 0x58ad26c2, 0xc623, 0x4d9d, 0xb3, 0x20, 0x38, 0x7e, 0x49, 0xf8, 0xc4, 0x42} -DEFINE_GUID!{GUID_WICPixelFormat64bppRGBHalf, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x42} -DEFINE_GUID!{GUID_WICPixelFormat48bppRGBHalf, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x3b} -DEFINE_GUID!{GUID_WICPixelFormat32bppRGBE, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x3d} -DEFINE_GUID!{GUID_WICPixelFormat16bppGrayHalf, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x3e} -DEFINE_GUID!{GUID_WICPixelFormat32bppGrayFixedPoint, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x3f} -DEFINE_GUID!{GUID_WICPixelFormat32bppRGBA1010102, - 0x25238D72, 0xFCF9, 0x4522, 0xb5, 0x14, 0x55, 0x78, 0xe5, 0xad, 0x55, 0xe0} -DEFINE_GUID!{GUID_WICPixelFormat32bppRGBA1010102XR, - 0x00DE6B9A, 0xC101, 0x434b, 0xb5, 0x02, 0xd0, 0x16, 0x5e, 0xe1, 0x12, 0x2c} -DEFINE_GUID!{GUID_WICPixelFormat64bppCMYK, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x1f} -DEFINE_GUID!{GUID_WICPixelFormat24bpp3Channels, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x20} -DEFINE_GUID!{GUID_WICPixelFormat32bpp4Channels, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x21} -DEFINE_GUID!{GUID_WICPixelFormat40bpp5Channels, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x22} -DEFINE_GUID!{GUID_WICPixelFormat48bpp6Channels, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x23} -DEFINE_GUID!{GUID_WICPixelFormat56bpp7Channels, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x24} -DEFINE_GUID!{GUID_WICPixelFormat64bpp8Channels, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x25} -DEFINE_GUID!{GUID_WICPixelFormat48bpp3Channels, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x26} -DEFINE_GUID!{GUID_WICPixelFormat64bpp4Channels, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x27} -DEFINE_GUID!{GUID_WICPixelFormat80bpp5Channels, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x28} -DEFINE_GUID!{GUID_WICPixelFormat96bpp6Channels, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x29} -DEFINE_GUID!{GUID_WICPixelFormat112bpp7Channels, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x2a} -DEFINE_GUID!{GUID_WICPixelFormat128bpp8Channels, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x2b} -DEFINE_GUID!{GUID_WICPixelFormat40bppCMYKAlpha, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x2c} -DEFINE_GUID!{GUID_WICPixelFormat80bppCMYKAlpha, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x2d} -DEFINE_GUID!{GUID_WICPixelFormat32bpp3ChannelsAlpha, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x2e} -DEFINE_GUID!{GUID_WICPixelFormat40bpp4ChannelsAlpha, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x2f} -DEFINE_GUID!{GUID_WICPixelFormat48bpp5ChannelsAlpha, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x30} -DEFINE_GUID!{GUID_WICPixelFormat56bpp6ChannelsAlpha, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x31} -DEFINE_GUID!{GUID_WICPixelFormat64bpp7ChannelsAlpha, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x32} -DEFINE_GUID!{GUID_WICPixelFormat72bpp8ChannelsAlpha, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x33} -DEFINE_GUID!{GUID_WICPixelFormat64bpp3ChannelsAlpha, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x34} -DEFINE_GUID!{GUID_WICPixelFormat80bpp4ChannelsAlpha, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x35} -DEFINE_GUID!{GUID_WICPixelFormat96bpp5ChannelsAlpha, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x36} -DEFINE_GUID!{GUID_WICPixelFormat112bpp6ChannelsAlpha, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x37} -DEFINE_GUID!{GUID_WICPixelFormat128bpp7ChannelsAlpha, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x38} -DEFINE_GUID!{GUID_WICPixelFormat144bpp8ChannelsAlpha, - 0x6fddc324, 0x4e03, 0x4bfe, 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x39} -DEFINE_GUID!{GUID_WICPixelFormat8bppY, - 0x91B4DB54, 0x2DF9, 0x42F0, 0xB4, 0x49, 0x29, 0x09, 0xBB, 0x3D, 0xF8, 0x8E} -DEFINE_GUID!{GUID_WICPixelFormat8bppCb, - 0x1339F224, 0x6BFE, 0x4C3E, 0x93, 0x02, 0xE4, 0xF3, 0xA6, 0xD0, 0xCA, 0x2A} -DEFINE_GUID!{GUID_WICPixelFormat8bppCr, - 0xB8145053, 0x2116, 0x49F0, 0x88, 0x35, 0xED, 0x84, 0x4B, 0x20, 0x5C, 0x51} -DEFINE_GUID!{GUID_WICPixelFormat16bppCbCr, - 0xFF95BA6E, 0x11E0, 0x4263, 0xBB, 0x45, 0x01, 0x72, 0x1F, 0x34, 0x60, 0xA4} -DEFINE_GUID!{GUID_WICPixelFormat16bppYQuantizedDctCoefficients, - 0xA355F433, 0x48E8, 0x4A42, 0x84, 0xD8, 0xE2, 0xAA, 0x26, 0xCA, 0x80, 0xA4} -DEFINE_GUID!{GUID_WICPixelFormat16bppCbQuantizedDctCoefficients, - 0xD2C4FF61, 0x56A5, 0x49C2, 0x8B, 0x5C, 0x4C, 0x19, 0x25, 0x96, 0x48, 0x37} -DEFINE_GUID!{GUID_WICPixelFormat16bppCrQuantizedDctCoefficients, - 0x2FE354F0, 0x1680, 0x42D8, 0x92, 0x31, 0xE7, 0x3C, 0x05, 0x65, 0xBF, 0xC1} -ENUM!{enum WICBitmapCreateCacheOption { - WICBitmapNoCache = 0x00000000, - WICBitmapCacheOnDemand = 0x00000001, - WICBitmapCacheOnLoad = 0x00000002, - WICBITMAPCREATECACHEOPTION_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICDecodeOptions { - WICDecodeMetadataCacheOnDemand = 0x00000000, - WICDecodeMetadataCacheOnLoad = 0x00000001, - WICMETADATACACHEOPTION_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICBitmapEncoderCacheOption { - WICBitmapEncoderCacheInMemory = 0x00000000, - WICBitmapEncoderCacheTempFile = 0x00000001, - WICBitmapEncoderNoCache = 0x00000002, - WICBITMAPENCODERCACHEOPTION_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICComponentType { - WICDecoder = 0x00000001, - WICEncoder = 0x00000002, - WICPixelFormatConverter = 0x00000004, - WICMetadataReader = 0x00000008, - WICMetadataWriter = 0x00000010, - WICPixelFormat = 0x00000020, - WICAllComponents = 0x0000003F, - WICCOMPONENTTYPE_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICComponentEnumerateOptions { - WICComponentEnumerateDefault = 0x00000000, - WICComponentEnumerateRefresh = 0x00000001, - WICComponentEnumerateDisabled = 0x80000000, - WICComponentEnumerateUnsigned = 0x40000000, - WICComponentEnumerateBuiltInOnly = 0x20000000, - WICCOMPONENTENUMERATEOPTIONS_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -STRUCT!{struct WICBitmapPattern { - Position: ULARGE_INTEGER, - Length: ULONG, - Pattern: *mut BYTE, - Mask: *mut BYTE, - EndOfStream: BOOL, -}} -ENUM!{enum WICBitmapInterpolationMode { - WICBitmapInterpolationModeNearestNeighbor = 0x00000000, - WICBitmapInterpolationModeLinear = 0x00000001, - WICBitmapInterpolationModeCubic = 0x00000002, - WICBitmapInterpolationModeFant = 0x00000003, - WICBitmapInterpolationModeHighQualityCubic = 0x00000004, - WICBITMAPINTERPOLATIONMODE_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICBitmapPaletteType { - WICBitmapPaletteTypeCustom = 0x00000000, - WICBitmapPaletteTypeMedianCut = 0x00000001, - WICBitmapPaletteTypeFixedBW = 0x00000002, - WICBitmapPaletteTypeFixedHalftone8 = 0x00000003, - WICBitmapPaletteTypeFixedHalftone27 = 0x00000004, - WICBitmapPaletteTypeFixedHalftone64 = 0x00000005, - WICBitmapPaletteTypeFixedHalftone125 = 0x00000006, - WICBitmapPaletteTypeFixedHalftone216 = 0x00000007, - WICBitmapPaletteTypeFixedWebPalette = WICBitmapPaletteTypeFixedHalftone216, - WICBitmapPaletteTypeFixedHalftone252 = 0x00000008, - WICBitmapPaletteTypeFixedHalftone256 = 0x00000009, - WICBitmapPaletteTypeFixedGray4 = 0x0000000A, - WICBitmapPaletteTypeFixedGray16 = 0x0000000B, - WICBitmapPaletteTypeFixedGray256 = 0x0000000C, - WICBITMAPPALETTETYPE_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICBitmapDitherType { - WICBitmapDitherTypeNone = 0x00000000, - WICBitmapDitherTypeSolid = 0x00000000, - WICBitmapDitherTypeOrdered4x4 = 0x00000001, - WICBitmapDitherTypeOrdered8x8 = 0x00000002, - WICBitmapDitherTypeOrdered16x16 = 0x00000003, - WICBitmapDitherTypeSpiral4x4 = 0x00000004, - WICBitmapDitherTypeSpiral8x8 = 0x00000005, - WICBitmapDitherTypeDualSpiral4x4 = 0x00000006, - WICBitmapDitherTypeDualSpiral8x8 = 0x00000007, - WICBitmapDitherTypeErrorDiffusion = 0x00000008, - WICBITMAPDITHERTYPE_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICBitmapAlphaChannelOption { - WICBitmapUseAlpha = 0x00000000, - WICBitmapUsePremultipliedAlpha = 0x00000001, - WICBitmapIgnoreAlpha = 0x00000002, - WICBITMAPALPHACHANNELOPTIONS_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICBitmapTransformOptions { - WICBitmapTransformRotate0 = 0x00000000, - WICBitmapTransformRotate90 = 0x00000001, - WICBitmapTransformRotate180 = 0x00000002, - WICBitmapTransformRotate270 = 0x00000003, - WICBitmapTransformFlipHorizontal = 0x00000008, - WICBitmapTransformFlipVertical = 0x00000010, - WICBITMAPTRANSFORMOPTIONS_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICBitmapLockFlags { - WICBitmapLockRead = 0x00000001, - WICBitmapLockWrite = 0x00000002, - WICBITMAPLOCKFLAGS_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICBitmapDecoderCapabilities { - WICBitmapDecoderCapabilitySameEncoder = 0x00000001, - WICBitmapDecoderCapabilityCanDecodeAllImages = 0x00000002, - WICBitmapDecoderCapabilityCanDecodeSomeImages = 0x00000004, - WICBitmapDecoderCapabilityCanEnumerateMetadata = 0x00000008, - WICBitmapDecoderCapabilityCanDecodeThumbnail = 0x00000010, - WICBITMAPDECODERCAPABILITIES_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICProgressOperation { - WICProgressOperationCopyPixels = 0x00000001, - WICProgressOperationWritePixels = 0x00000002, - WICProgressOperationAll = 0x0000FFFF, - WICPROGRESSOPERATION_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICProgressNotification { - WICProgressNotificationBegin = 0x00010000, - WICProgressNotificationEnd = 0x00020000, - WICProgressNotificationFrequent = 0x00040000, - WICProgressNotificationAll = 0xFFFF0000, - WICPROGRESSNOTIFICATION_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICComponentSigning { - WICComponentSigned = 0x00000001, - WICComponentUnsigned = 0x00000002, - WICComponentSafe = 0x00000004, - WICComponentDisabled = 0x80000000, - WICCOMPONENTSIGNING_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICGifLogicalScreenDescriptorProperties { - WICGifLogicalScreenSignature = 0x00000001, - WICGifLogicalScreenDescriptorWidth = 0x00000002, - WICGifLogicalScreenDescriptorHeight = 0x00000003, - WICGifLogicalScreenDescriptorGlobalColorTableFlag = 0x00000004, - WICGifLogicalScreenDescriptorColorResolution = 0x00000005, - WICGifLogicalScreenDescriptorSortFlag = 0x00000006, - WICGifLogicalScreenDescriptorGlobalColorTableSize = 0x00000007, - WICGifLogicalScreenDescriptorBackgroundColorIndex = 0x00000008, - WICGifLogicalScreenDescriptorPixelAspectRatio = 0x00000009, - WICGifLogicalScreenDescriptorProperties_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICGifImageDescriptorProperties { - WICGifImageDescriptorLeft = 0x00000001, - WICGifImageDescriptorTop = 0x00000002, - WICGifImageDescriptorWidth = 0x00000003, - WICGifImageDescriptorHeight = 0x00000004, - WICGifImageDescriptorLocalColorTableFlag = 0x00000005, - WICGifImageDescriptorInterlaceFlag = 0x00000006, - WICGifImageDescriptorSortFlag = 0x00000007, - WICGifImageDescriptorLocalColorTableSize = 0x00000008, - WICGifImageDescriptorProperties_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICGifGraphicControlExtensionProperties { - WICGifGraphicControlExtensionDisposal = 0x00000001, - WICGifGraphicControlExtensionUserInputFlag = 0x00000002, - WICGifGraphicControlExtensionTransparencyFlag = 0x00000003, - WICGifGraphicControlExtensionDelay = 0x00000004, - WICGifGraphicControlExtensionTransparentColorIndex = 0x00000005, - WICGifGraphicControlExtensionProperties_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICGifApplicationExtensionProperties { - WICGifApplicationExtensionApplication = 0x00000001, - WICGifApplicationExtensionData = 0x00000002, - WICGifApplicationExtensionProperties_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICGifCommentExtensionProperties { - WICGifCommentExtensionText = 0x00000001, - WICGifCommentExtensionProperties_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICJpegCommentProperties { - WICJpegCommentText = 0x00000001, - WICJpegCommentProperties_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICJpegLuminanceProperties { - WICJpegLuminanceTable = 0x00000001, - WICJpegLuminanceProperties_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICJpegChrominanceProperties { - WICJpegChrominanceTable = 0x00000001, - WICJpegChrominanceProperties_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WIC8BIMIptcProperties { - WIC8BIMIptcPString = 0x00000000, - WIC8BIMIptcEmbeddedIPTC = 0x00000001, - WIC8BIMIptcProperties_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WIC8BIMResolutionInfoProperties { - WIC8BIMResolutionInfoPString = 0x00000001, - WIC8BIMResolutionInfoHResolution = 0x00000002, - WIC8BIMResolutionInfoHResolutionUnit = 0x00000003, - WIC8BIMResolutionInfoWidthUnit = 0x00000004, - WIC8BIMResolutionInfoVResolution = 0x00000005, - WIC8BIMResolutionInfoVResolutionUnit = 0x00000006, - WIC8BIMResolutionInfoHeightUnit = 0x00000007, - WIC8BIMResolutionInfoProperties_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WIC8BIMIptcDigestProperties { - WIC8BIMIptcDigestPString = 0x00000001, - WIC8BIMIptcDigestIptcDigest = 0x00000002, - WIC8BIMIptcDigestProperties_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICPngGamaProperties { - WICPngGamaGamma = 0x00000001, - WICPngGamaProperties_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICPngBkgdProperties { - WICPngBkgdBackgroundColor = 0x00000001, - WICPngBkgdProperties_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICPngItxtProperties { - WICPngItxtKeyword = 0x00000001, - WICPngItxtCompressionFlag = 0x00000002, - WICPngItxtLanguageTag = 0x00000003, - WICPngItxtTranslatedKeyword = 0x00000004, - WICPngItxtText = 0x00000005, - WICPngItxtProperties_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICPngChrmProperties { - WICPngChrmWhitePointX = 0x00000001, - WICPngChrmWhitePointY = 0x00000002, - WICPngChrmRedX = 0x00000003, - WICPngChrmRedY = 0x00000004, - WICPngChrmGreenX = 0x00000005, - WICPngChrmGreenY = 0x00000006, - WICPngChrmBlueX = 0x00000007, - WICPngChrmBlueY = 0x0000008, - WICPngChrmProperties_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICPngHistProperties { - WICPngHistFrequencies = 0x00000001, - WICPngHistProperties_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICPngIccpProperties { - WICPngIccpProfileName = 0x00000001, - WICPngIccpProfileData = 0x00000002, - WICPngIccpProperties_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICPngSrgbProperties { - WICPngSrgbRenderingIntent = 0x00000001, - WICPngSrgbProperties_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICPngTimeProperties { - WICPngTimeYear = 0x00000001, - WICPngTimeMonth = 0x00000002, - WICPngTimeDay = 0x00000003, - WICPngTimeHour = 0x00000004, - WICPngTimeMinute = 0x00000005, - WICPngTimeSecond = 0x00000006, - WICPngTimeProperties_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICSectionAccessLevel { - WICSectionAccessLevelRead = 0x00000001, - WICSectionAccessLevelReadWrite = 0x00000003, - WICSectionAccessLevel_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICPixelFormatNumericRepresentation { - WICPixelFormatNumericRepresentationUnspecified = 0x00000000, - WICPixelFormatNumericRepresentationIndexed = 0x00000001, - WICPixelFormatNumericRepresentationUnsignedInteger = 0x00000002, - WICPixelFormatNumericRepresentationSignedInteger = 0x00000003, - WICPixelFormatNumericRepresentationFixed = 0x00000004, - WICPixelFormatNumericRepresentationFloat = 0x00000005, - WICPixelFormatNumericRepresentation_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICPlanarOptions { - WICPlanarOptionsDefault = 0x00000000, - WICPlanarOptionsPreserveSubsampling = 0x00000001, - WICPLANAROPTIONS_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICJpegIndexingOptions { - WICJpegIndexingOptionsGenerateOnDemand = 0x00000000, - WICJpegIndexingOptionsGenerateOnLoad = 0x00000001, - WICJpegIndexingOptions_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICJpegTransferMatrix { - WICJpegTransferMatrixIdentity = 0x00000000, - WICJpegTransferMatrixBT601 = 0x00000001, - WICJpegTransferMatrix_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICJpegScanType { - WICJpegScanTypeInterleaved = 0x00000000, - WICJpegScanTypePlanarComponents = 0x00000001, - WICJpegScanTypeProgressive = 0x00000002, - WICJpegScanType_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -STRUCT!{struct WICImageParameters { - PixelFormat: D2D1_PIXEL_FORMAT, - DpiX: FLOAT, - DpiY: FLOAT, - Top: FLOAT, - Left: FLOAT, - PixelWidth: UINT32, - PixelHeight: UINT32, -}} -STRUCT!{struct WICBitmapPlaneDescription { - Format: WICPixelFormatGUID, - Width: UINT, - Height: UINT, -}} -STRUCT!{struct WICBitmapPlane { - Format: WICPixelFormatGUID, - pbBuffer: *mut BYTE, - cbStride: UINT, - cbBufferSize: UINT, -}} -STRUCT!{struct WICJpegFrameHeader { - Width: UINT, - Height: UINT, - TransferMatrix: WICJpegTransferMatrix, - ScanType: WICJpegScanType, - cComponents: UINT, - ComponentIdentifiers: DWORD, - SampleFactors: DWORD, - QuantizationTableIndices: DWORD, -}} -STRUCT!{struct WICJpegScanHeader { - cComponents: UINT, - RestartInterval: UINT, - ComponentSelectors: DWORD, - HuffmanTableIndices: DWORD, - StartSpectralSelection: BYTE, - EndSpectralSelection: BYTE, - SuccessiveApproximationHigh: BYTE, - SuccessiveApproximationLow: BYTE, -}} -RIDL!{#[uuid(0x00000040, 0xa8f2, 0x4877, 0xba, 0x0a, 0xfd, 0x2b, 0x66, 0x45, 0xfb, 0x94)] -interface IWICPalette(IWICPaletteVtbl): IUnknown(IUnknownVtbl) { - fn InitializePredefined( - ePaletteType: WICBitmapPaletteType, - fAddTransparentColor: BOOL, - ) -> HRESULT, - fn InitializeCustom( - pColors: *const WICColor, - cCount: UINT, - ) -> HRESULT, - fn InitializeFromBitmap( - pISurface: *const IWICBitmapSource, - cCount: UINT, - fAddTransparentColor: BOOL, - ) -> HRESULT, - fn InitializeFromPalette( - pIPalette: *const IWICPalette, - ) -> HRESULT, - fn GetType( - pePaletteType: *mut WICBitmapPaletteType, - ) -> HRESULT, - fn GetColorCount( - pcCount: *mut UINT, - ) -> HRESULT, - fn GetColors( - cCount: UINT, - pColors: *mut WICColor, - pcActualColors: *mut UINT, - ) -> HRESULT, - fn IsBlackWhite( - pfIsBlackWhite: *mut BOOL, - ) -> HRESULT, - fn IsGrayscale( - pfIsGrayscale: *mut BOOL, - ) -> HRESULT, - fn HasAlpha( - pfHasAlpha: *mut BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00000120, 0xa8f2, 0x4877, 0xba, 0x0a, 0xfd, 0x2b, 0x66, 0x45, 0xfb, 0x94)] -interface IWICBitmapSource(IWICBitmapSourceVtbl): IUnknown(IUnknownVtbl) { - fn GetSize( - puiWidth: *mut UINT, - puiHeight: *mut UINT, - ) -> HRESULT, - fn GetPixelFormat( - pPixelFormat: *mut WICPixelFormatGUID, - ) -> HRESULT, - fn GetResolution( - pDpiX: *mut c_double, - pDpiY: *mut c_double, - ) -> HRESULT, - fn CopyPalette( - pIPalette: *mut IWICPalette, - ) -> HRESULT, - fn CopyPixels( - prc: *const WICRect, - cbStride: UINT, - cbBufferSize: UINT, - pbBuffer: *mut BYTE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00000301, 0xa8f2, 0x4877, 0xba, 0x0a, 0xfd, 0x2b, 0x66, 0x45, 0xfb, 0x94)] -interface IWICFormatConverter(IWICFormatConverterVtbl): IWICBitmapSource(IWICBitmapSourceVtbl) { - fn Initialize( - pISource: *const IWICBitmapSource, - dstFormat: REFWICPixelFormatGUID, - dither: WICBitmapDitherType, - pIPalette: *const IWICPalette, - alphaThresholdPercent: c_double, - paletteTranslate: WICBitmapPaletteType, - ) -> HRESULT, - fn CanConvert( - srcPixelFormat: REFWICPixelFormatGUID, - dstPixelFormat: REFWICPixelFormatGUID, - pfCanConvert: *mut BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xbebee9cb, 0x83b0, 0x4dcc, 0x81, 0x32, 0xb0, 0xaa, 0xa5, 0x5e, 0xac, 0x96)] -interface IWICPlanarFormatConverter(IWICPlanarFormatConverterVtbl): - IWICBitmapSource(IWICBitmapSourceVtbl) { - fn Initialize( - ppPlanes: *const *const IWICBitmapSource, - cPlanes: UINT, - dstFormat: REFWICPixelFormatGUID, - dither: WICBitmapDitherType, - pIPalette: *const IWICPalette, - alphaThresholdPercent: c_double, - paletteTranslate: WICBitmapPaletteType, - ) -> HRESULT, - fn CanConvert( - pSrcPixelFormats: *const WICPixelFormatGUID, - cSrcPlanes: UINT, - dstPixelFormat: REFWICPixelFormatGUID, - pfCanConvert: *mut BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00000302, 0xa8f2, 0x4877, 0xba, 0x0a, 0xfd, 0x2b, 0x66, 0x45, 0xfb, 0x94)] -interface IWICBitmapScaler(IWICBitmapScalerVtbl): IWICBitmapSource(IWICBitmapSourceVtbl) { - fn Initialize( - pISource: *const IWICBitmapSource, - uiWidth: UINT, - uiHeight: UINT, - mode: WICBitmapInterpolationMode, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xe4fbcf03, 0x223d, 0x4e81, 0x93, 0x33, 0xd6, 0x35, 0x55, 0x6d, 0xd1, 0xb5)] -interface IWICBitmapClipper(IWICBitmapClipperVtbl): IWICBitmapSource(IWICBitmapSourceVtbl) { - fn Initialize( - pISource: *const IWICBitmapSource, - prc: *const WICRect, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x5009834f, 0x2d6a, 0x41ce, 0x9e, 0x1b, 0x17, 0xc5, 0xaf, 0xf7, 0xa7, 0x82)] -interface IWICBitmapFlipRotator(IWICBitmapFlipRotatorVtbl): - IWICBitmapSource(IWICBitmapSourceVtbl) { - fn Initialize( - pISource: *const IWICBitmapSource, - options: WICBitmapTransformOptions, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00000123, 0xa8f2, 0x4877, 0xba, 0x0a, 0xfd, 0x2b, 0x66, 0x45, 0xfb, 0x94)] -interface IWICBitmapLock(IWICBitmapLockVtbl): IUnknown(IUnknownVtbl) { - fn GetSize( - puiWidth: *mut UINT, - puiHeight: *mut UINT, - ) -> HRESULT, - fn GetStride( - pcbStride: *mut UINT, - ) -> HRESULT, - fn GetDataPointer( - pcbBufferSize: *mut UINT, - ppbData: *mut WICInProcPointer, - ) -> HRESULT, - fn GetPixelFormat( - pPixelFormat: *mut WICPixelFormatGUID, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00000121, 0xa8f2, 0x4877, 0xba, 0x0a, 0xfd, 0x2b, 0x66, 0x45, 0xfb, 0x94)] -interface IWICBitmap(IWICBitmapVtbl): IWICBitmapSource(IWICBitmapSourceVtbl) { - fn Lock( - prcLock: *const WICRect, - flags: DWORD, - ppILock: *mut *mut IWICBitmapLock, - ) -> HRESULT, - fn SetPalette( - pIPalette: *const IWICPalette, - ) -> HRESULT, - fn SetResolution( - dpiX: c_double, - dpiY: c_double, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x3c613a02, 0x34b2, 0x44ea, 0x9a, 0x7c, 0x45, 0xae, 0xa9, 0xc6, 0xfd, 0x6d)] -interface IWICColorContext(IWICColorContextVtbl): IUnknown(IUnknownVtbl) { - fn InitializeFromFilename( - wzFilename: LPCWSTR, - ) -> HRESULT, - fn InitializeFromMemory( - pbBuffer: *const BYTE, - cbBufferSize: UINT, - ) -> HRESULT, - fn InitializeFromExifColorSpace( - value: UINT, - ) -> HRESULT, - fn GetType( - pType: *mut WICColorContextType, - ) -> HRESULT, - fn GetProfileBytes( - cbBuffer: UINT, - pbBuffer: *mut BYTE, - pcbActual: *mut UINT, - ) -> HRESULT, - fn GetExifColorSpace( - pValue: *mut UINT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xb66f034f, 0xd0e2, 0x40ab, 0xb4, 0x36, 0x6d, 0xe3, 0x9e, 0x32, 0x1a, 0x94)] -interface IWICColorTransform(IWICColorTransformVtbl): IWICBitmapSource(IWICBitmapSourceVtbl) { - fn Initialize( - pIBitmapSource: *const IWICBitmapSource, - pIContextSource: *const IWICColorContext, - pIContextDest: *const IWICColorContext, - pixelFmtDest: REFWICPixelFormatGUID, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xb84e2c09, 0x78c9, 0x4ac4, 0x8b, 0xd3, 0x52, 0x4a, 0xe1, 0x66, 0x3a, 0x2f)] -interface IWICFastMetadataEncoder(IWICFastMetadataEncoderVtbl): IUnknown(IUnknownVtbl) { - fn Commit() -> HRESULT, - fn GetMetadataQueryWriter( - ppIMetadataQueryWriter: *mut *mut IWICMetadataQueryWriter, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x135ff860, 0x22b7, 0x4ddf, 0xb0, 0xf6, 0x21, 0x8f, 0x4f, 0x29, 0x9a, 0x43)] -interface IWICStream(IWICStreamVtbl): IStream(IStreamVtbl) { - fn InitializeFromIStream( - pIStream: *const IStream, - ) -> HRESULT, - fn InitializeFromFilename( - wzFileName: LPCWSTR, - dwDesiredAccess: DWORD, - ) -> HRESULT, - fn InitializeFromMemory( - pbBuffer: WICInProcPointer, - cbBufferSize: DWORD, - ) -> HRESULT, - fn InitializeFromIStreamRegion( - pIStream: *const IStream, - ulOffset: ULARGE_INTEGER, - ulMaxSize: ULARGE_INTEGER, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xdc2bb46d, 0x3f07, 0x481e, 0x86, 0x25, 0x22, 0x0c, 0x4a, 0xed, 0xbb, 0x33)] -interface IWICEnumMetadataItem(IWICEnumMetadataItemVtbl): IUnknown(IUnknownVtbl) { - fn Next( - celt: ULONG, - rgeltSchema: *mut PROPVARIANT, - rgeltId: *mut PROPVARIANT, - rgeltValue: *mut PROPVARIANT, - pceltFetched: *mut ULONG, - ) -> HRESULT, - fn Skip( - celt: ULONG, - ) -> HRESULT, - fn Reset() -> HRESULT, - fn Clone( - ppIEnumMetadataItem: *mut *mut IWICEnumMetadataItem, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x30989668, 0xe1c9, 0x4597, 0xb3, 0x95, 0x45, 0x8e, 0xed, 0xb8, 0x08, 0xdf)] -interface IWICMetadataQueryReader(IWICMetadataQueryReaderVtbl): IUnknown(IUnknownVtbl) { - fn GetContainerFormat( - pguidContainerFormat: *mut GUID, - ) -> HRESULT, - fn GetLocation( - cchMaxLength: UINT, - wzNamespace: *mut WCHAR, - pcchActualLength: *mut UINT, - ) -> HRESULT, - fn GetMetadataByName( - wzName: LPCWSTR, - pvarValue: *mut PROPVARIANT, - ) -> HRESULT, - fn GetEnumerator( - ppIEnumString: *mut *mut IEnumString, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa721791a, 0x0def, 0x4d06, 0xbd, 0x91, 0x21, 0x18, 0xbf, 0x1d, 0xb1, 0x0b)] -interface IWICMetadataQueryWriter(IWICMetadataQueryWriterVtbl): - IWICMetadataQueryReader(IWICMetadataQueryReaderVtbl) { - fn SetMetadataByName( - wzName: LPCWSTR, - pvarValue: *const PROPVARIANT, - ) -> HRESULT, - fn RemoveMetadataByName( - wzName: LPCWSTR, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00000103, 0xa8f2, 0x4877, 0xba, 0x0a, 0xfd, 0x2b, 0x66, 0x45, 0xfb, 0x94)] -interface IWICBitmapEncoder(IWICBitmapEncoderVtbl): IUnknown(IUnknownVtbl) { - fn Initialize( - pIStream: *const IStream, - cacheOption: WICBitmapEncoderCacheOption, - ) -> HRESULT, - fn GetContainerFormat( - pguidContainerFormat: *mut GUID, - ) -> HRESULT, - fn GetEncoderInfo( - ppIEncoderInfo: *mut *mut IWICBitmapEncoderInfo, - ) -> HRESULT, - fn SetColorContexts( - cCount: UINT, - ppIColorContext: *const *const IWICColorContext, - ) -> HRESULT, - fn SetPalette( - pIPalette: *const IWICPalette, - ) -> HRESULT, - fn SetThumbnail( - pIThumbnail: *const IWICBitmapSource, - ) -> HRESULT, - fn SetPreview( - pIPreview: *const IWICBitmapSource, - ) -> HRESULT, - fn CreateNewFrame( - ppIFrameEncode: *mut *mut IWICBitmapFrameEncode, - ppIEncoderOptions: *mut *mut IPropertyBag2, - ) -> HRESULT, - fn Commit() -> HRESULT, - fn GetMetadataQueryWriter( - ppIMetadataQueryWriter: *mut *mut IWICMetadataQueryWriter, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x00000105, 0xa8f2, 0x4877, 0xba, 0x0a, 0xfd, 0x2b, 0x66, 0x45, 0xfb, 0x94)] -interface IWICBitmapFrameEncode(IWICBitmapFrameEncodeVtbl): IUnknown(IUnknownVtbl) { - fn Initialize( - pIEncoderOptions: *const IPropertyBag2, - ) -> HRESULT, - fn SetSize( - uiWidth: UINT, - uiHeight: UINT, - ) -> HRESULT, - fn SetResolution( - dpiX: c_double, - dpiY: c_double, - ) -> HRESULT, - fn SetPixelFormat( - pPixelFormat: *mut WICPixelFormatGUID, - ) -> HRESULT, - fn SetColorContexts( - cCount: UINT, - ppIColorContext: *const *const IWICColorContext, - ) -> HRESULT, - fn SetPalette( - pIPalette: *const IWICPalette, - ) -> HRESULT, - fn SetThumbnail( - pIThumbnail: *const IWICBitmapSource, - ) -> HRESULT, - fn WritePixels( - lineCount: UINT, - cbStride: UINT, - cbBufferSize: UINT, - pbPixels: *const BYTE, - ) -> HRESULT, - fn WriteSource( - pIBitmapSource: *const IWICBitmapSource, - prc: *const WICRect, - ) -> HRESULT, - fn Commit() -> HRESULT, - fn GetMetadataQueryWriter( - ppIMetadataQueryWriter: *mut *mut IWICMetadataQueryWriter, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xf928b7b8, 0x2221, 0x40c1, 0xb7, 0x2e, 0x7e, 0x82, 0xf1, 0x97, 0x4d, 0x1a)] -interface IWICPlanarBitmapFrameEncode(IWICPlanarBitmapFrameEncodeVtbl): IUnknown(IUnknownVtbl) { - fn WritePixels( - lineCount: UINT, - pPlanes: *const WICBitmapPlane, - cPlanes: UINT, - ) -> HRESULT, - fn WriteSource( - ppPlanes: *const *const IWICBitmapSource, - cPlanes: UINT, - prcSource: *const WICRect, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x04c75bf8, 0x3ce1, 0x473b, 0xac, 0xc5, 0x3c, 0xc4, 0xf5, 0xe9, 0x49, 0x99)] -interface IWICImageEncoder(IWICImageEncoderVtbl): IUnknown(IUnknownVtbl) { - fn WriteFrame( - pImage: *const ID2D1Image, - pFrameEncode: *const IWICBitmapFrameEncode, - pImageParameters: *const WICImageParameters, - ) -> HRESULT, - fn WriteFrameThumbnail( - pImage: *const ID2D1Image, - pFrameEncode: *const IWICBitmapFrameEncode, - pImageParameters: *const WICImageParameters, - ) -> HRESULT, - fn WriteThumbnail( - pImage: *const ID2D1Image, - pEncoder: *const IWICBitmapEncoder, - pImageParameters: *const WICImageParameters, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x9edde9e7, 0x8dee, 0x47ea, 0x99, 0xdf, 0xe6, 0xfa, 0xf2, 0xed, 0x44, 0xbf)] -interface IWICBitmapDecoder(IWICBitmapDecoderVtbl): IUnknown(IUnknownVtbl) { - fn QueryCapability( - pIStream: *const IStream, - pdwCapability: *mut DWORD, - ) -> HRESULT, - fn Initialize( - pIStream: *const IStream, - cacheOptions: WICDecodeOptions, - ) -> HRESULT, - fn GetContainerFormat( - pguidContainerFormat: *mut GUID, - ) -> HRESULT, - fn GetDecoderInfo( - ppIDecoderInfo: *mut *mut IWICBitmapDecoderInfo, - ) -> HRESULT, - fn CopyPalette( - pIPalette: *const IWICPalette, - ) -> HRESULT, - fn GetMetadataQueryReader( - ppIMetadataQueryReader: *mut *mut IWICMetadataQueryReader, - ) -> HRESULT, - fn GetPreview( - ppIBitmapSource: *mut *mut IWICBitmapSource, - ) -> HRESULT, - fn GetColorContexts( - cCount: UINT, - ppIColorContexts: *mut *mut IWICColorContext, - pcActualCount: *mut UINT, - ) -> HRESULT, - fn GetThumbnail( - ppIThumbnail: *mut *mut IWICBitmapSource, - ) -> HRESULT, - fn GetFrameCount( - pCount: *mut UINT, - ) -> HRESULT, - fn GetFrame( - index: UINT, - ppIBitmapFrame: *mut *mut IWICBitmapFrameDecode, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x3b16811b, 0x6a43, 0x4ec9, 0xb7, 0x13, 0x3d, 0x5a, 0x0c, 0x13, 0xb9, 0x40)] -interface IWICBitmapSourceTransform(IWICBitmapSourceTransformVtbl): IUnknown(IUnknownVtbl) { - fn CopyPixels( - prc: *const WICRect, - uiWidth: UINT, - uiHeight: UINT, - pguidDstFormat: *const WICPixelFormatGUID, - dstTransform: WICBitmapTransformOptions, - nStride: UINT, - cbBufferSize: UINT, - pbBuffer: *mut BYTE, - ) -> HRESULT, - fn GetClosestSize( - puiWidth: *mut UINT, - puiHeight: *mut UINT, - ) -> HRESULT, - fn GetClosestPixelFormat( - pguidDstFormat: *mut WICPixelFormatGUID, - ) -> HRESULT, - fn DoesSupportTransform( - dstTransform: WICBitmapTransformOptions, - pfIsSupported: *mut BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x3aff9cce, 0xbe95, 0x4303, 0xb9, 0x27, 0xe7, 0xd1, 0x6f, 0xf4, 0xa6, 0x13)] -interface IWICPlanarBitmapSourceTransform(IWICPlanarBitmapSourceTransformVtbl): - IUnknown(IUnknownVtbl) { - fn DoesSupportTransform( - puiWidth: *mut UINT, - puiHeight: *mut UINT, - dstTransform: WICBitmapTransformOptions, - dstPlanarOptions: WICPlanarOptions, - pguidDstFormats: *const WICPixelFormatGUID, - pPlaneDescriptions: *mut WICBitmapPlaneDescription, - cPlanes: UINT, - pfIsSupported: *mut BOOL, - ) -> HRESULT, - fn CopyPixels( - prcSource: *const WICRect, - uiWidth: UINT, - uiHeight: UINT, - dstTransform: WICBitmapTransformOptions, - dstPlanarOptions: WICPlanarOptions, - pDstPlanes: *const WICBitmapPlane, - cPlanes: UINT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x3b16811b, 0x6a43, 0x4ec9, 0xa8, 0x13, 0x3d, 0x93, 0x0c, 0x13, 0xb9, 0x40)] -interface IWICBitmapFrameDecode(IWICBitmapFrameDecodeVtbl): - IWICBitmapSource(IWICBitmapSourceVtbl) { - fn GetMetadataQueryReader( - ppIMetadataQueryReader: *mut *mut IWICMetadataQueryReader, - ) -> HRESULT, - fn GetColorContexts( - cCount: UINT, - ppIColorContexts: *mut *mut IWICColorContext, - pcActualCount: *mut UINT, - ) -> HRESULT, - fn GetThumbnail( - ppIThumbnail: *mut *mut IWICBitmapSource, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xdaac296f, 0x7aa5, 0x4dbf, 0x8d, 0x15, 0x22, 0x5c, 0x59, 0x76, 0xf8, 0x91)] -interface IWICProgressiveLevelControl(IWICProgressiveLevelControlVtbl): IUnknown(IUnknownVtbl) { - fn GetLevelCount( - pcLevels: *mut UINT, - ) -> HRESULT, - fn GetCurrentLevel( - pnLevel: *mut UINT, - ) -> HRESULT, - fn SetCurrentLevel( - nLevel: UINT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x4776f9cd, 0x9517, 0x45fa, 0xbf, 0x24, 0xe8, 0x9c, 0x5e, 0xc5, 0xc6, 0x0c)] -interface IWICProgressCallback(IWICProgressCallbackVtbl): IUnknown(IUnknownVtbl) { - fn Notify( - uFrameNum: ULONG, - operation: WICProgressOperation, - dblProgress: c_double, - ) -> HRESULT, -}} -FN!{stdcall PFNProgressNotification( - pvData: LPVOID, - uFrameNum: ULONG, - operation: WICProgressOperation, - dblProgress: c_double, -) -> HRESULT} -RIDL!{#[uuid(0x64c1024e, 0xc3cf, 0x4462, 0x80, 0x78, 0x88, 0xc2, 0xb1, 0x1c, 0x46, 0xd9)] -interface IWICBitmapCodecProgressNotification(IWICBitmapCodecProgressNotificationVtbl): - IUnknown(IUnknownVtbl) { - fn RegisterProgressNotification( - pfnProgressNotification: PFNProgressNotification, - pvData: LPVOID, - dwProgressFlags: DWORD, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x23bc3f0a, 0x698b, 0x4357, 0x88, 0x6b, 0xf2, 0x4d, 0x50, 0x67, 0x13, 0x34)] -interface IWICComponentInfo(IWICComponentInfoVtbl): IUnknown(IUnknownVtbl) { - fn GetComponentType( - pType: *mut WICComponentType, - ) -> HRESULT, - fn GetCLSID( - pclsid: *mut CLSID, - ) -> HRESULT, - fn GetSigningStatus( - pStatus: *mut DWORD, - ) -> HRESULT, - fn GetAuthor( - cchAuthor: UINT, - wzAuthor: *mut WCHAR, - pcchActual: *mut UINT, - ) -> HRESULT, - fn GetVendorGUID( - pguidVendor: *mut GUID, - ) -> HRESULT, - fn GetVersion( - cchVersion: UINT, - wzVersion: *mut WCHAR, - pcchActual: *mut UINT, - ) -> HRESULT, - fn GetSpecVersion( - cchSpecVersion: UINT, - wzSpecVersion: *mut WCHAR, - pcchActual: *mut UINT, - ) -> HRESULT, - fn GetFriendlyName( - cchFriendlyName: UINT, - wzFriendlyName: *mut WCHAR, - pcchActual: *mut UINT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x9f34fb65, 0x13f4, 0x4f15, 0xbc, 0x57, 0x37, 0x26, 0xb5, 0xe5, 0x3d, 0x9f)] -interface IWICFormatConverterInfo(IWICFormatConverterInfoVtbl): - IWICComponentInfo(IWICComponentInfoVtbl) { - fn GetPixelFormats( - cFormats: UINT, - pPixelFormatGUIDs: *mut WICPixelFormatGUID, - pcActual: *mut UINT, - ) -> HRESULT, - fn CreateInstance( - ppIConverter: *mut *mut IWICFormatConverter, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xe87a44c4, 0xb76e, 0x4c47, 0x8b, 0x09, 0x29, 0x8e, 0xb1, 0x2a, 0x27, 0x14)] -interface IWICBitmapCodecInfo(IWICBitmapCodecInfoVtbl): IWICComponentInfo(IWICComponentInfoVtbl) { - fn GetContainerFormat( - pguidContainerFormat: *mut GUID, - ) -> HRESULT, - fn GetPixelFormats( - cFormats: UINT, - pguidPixelFormats: *mut GUID, - pcActual: *mut UINT, - ) -> HRESULT, - fn GetColorManagementVersion( - cchColorManagementVersion: UINT, - wzColorManagementVersion: *mut WCHAR, - pcchActual: *mut UINT, - ) -> HRESULT, - fn GetDeviceManufacturer( - cchDeviceManufacturer: UINT, - wzDeviceManufacturer: *mut WCHAR, - pcchActual: *mut UINT, - ) -> HRESULT, - fn GetDeviceModels( - cchDeviceModels: UINT, - wzDeviceModels: *mut WCHAR, - pcchActual: *mut UINT, - ) -> HRESULT, - fn GetMimeTypes( - cchMimeTypes: UINT, - wzMimeTypes: *mut WCHAR, - pcchActual: *mut UINT, - ) -> HRESULT, - fn GetFileExtensions( - cchFileExtensions: UINT, - wzFileExtensions: *mut WCHAR, - pcchActual: *mut UINT, - ) -> HRESULT, - fn DoesSupportAnimation( - pfSupportAnimation: *mut BOOL, - ) -> HRESULT, - fn DoesSupportChromakey( - pfSupportChromakey: *mut BOOL, - ) -> HRESULT, - fn DoesSupportLossless( - pfSupportLossless: *mut BOOL, - ) -> HRESULT, - fn DoesSupportMultiframe( - pfSupportMultiframe: *mut BOOL, - ) -> HRESULT, - fn MatchesMimeType( - wzMimeType: LPCWSTR, - pfMatches: *mut BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x94c9b4ee, 0xa09f, 0x4f92, 0x8a, 0x1e, 0x4a, 0x9b, 0xce, 0x7e, 0x76, 0xfb)] -interface IWICBitmapEncoderInfo(IWICBitmapEncoderInfoVtbl): - IWICBitmapCodecInfo(IWICBitmapCodecInfoVtbl) { - fn CreateInstance( - ppIBitmapEncoder: *mut *mut IWICBitmapEncoder, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xd8cd007f, 0xd08f, 0x4191, 0x9b, 0xfc, 0x23, 0x6e, 0xa7, 0xf0, 0xe4, 0xb5)] -interface IWICBitmapDecoderInfo(IWICBitmapDecoderInfoVtbl): - IWICBitmapCodecInfo(IWICBitmapCodecInfoVtbl) { - fn GetPatterns( - cbSizePatterns: UINT, - pPatterns: *mut WICBitmapPattern, - pcPatterns: *mut UINT, - pcbPatternsActual: *mut UINT, - ) -> HRESULT, - fn MatchesPattern( - pIStream: *const IStream, - pfMatches: *mut BOOL, - ) -> HRESULT, - fn CreateInstance( - ppIBitmapDecoder: *mut *mut IWICBitmapDecoder, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xe8eda601, 0x3d48, 0x431a, 0xab, 0x44, 0x69, 0x05, 0x9b, 0xe8, 0x8b, 0xbe)] -interface IWICPixelFormatInfo(IWICPixelFormatInfoVtbl): IWICComponentInfo(IWICComponentInfoVtbl) { - fn GetFormatGUID( - pFormat: *mut GUID, - ) -> HRESULT, - fn GetColorContext( - ppIColorContext: *mut *mut IWICColorContext, - ) -> HRESULT, - fn GetBitsPerPixel( - puiBitsPerPixel: *mut UINT, - ) -> HRESULT, - fn GetChannelCount( - puiChannelCount: *mut UINT, - ) -> HRESULT, - fn GetChannelMask( - uiChannelIndex: UINT, - cbMaskBuffer: UINT, - pbMaskBuffer: *mut BYTE, - pcbActual: *mut UINT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xa9db33a2, 0xaf5f, 0x43c7, 0xb6, 0x79, 0x74, 0xf5, 0x98, 0x4b, 0x5a, 0xa4)] -interface IWICPixelFormatInfo2(IWICPixelFormatInfo2Vtbl): - IWICPixelFormatInfo(IWICPixelFormatInfoVtbl) { - fn SupportsTransparency( - pfSupportsTransparency: *mut BOOL, - ) -> HRESULT, - fn GetNumericRepresentation( - pNumericRepresentation: *mut WICPixelFormatNumericRepresentation, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xec5ec8a9, 0xc395, 0x4314, 0x9c, 0x77, 0x54, 0xd7, 0xa9, 0x35, 0xff, 0x70)] -interface IWICImagingFactory(IWICImagingFactoryVtbl): IUnknown(IUnknownVtbl) { - fn CreateDecoderFromFilename( - wzFilename: LPCWSTR, - pguidVendor: *const GUID, - dwDesiredAccess: DWORD, - metadataOptions: WICDecodeOptions, - ppIDecoder: *mut *mut IWICBitmapDecoder, - ) -> HRESULT, - fn CreateDecoderFromStream( - pIStream: *const IStream, - pguidVendor: *const GUID, - metadataOptions: WICDecodeOptions, - ppIDecoder: *mut *mut IWICBitmapDecoder, - ) -> HRESULT, - fn CreateDecoderFromFileHandle( - hFile: ULONG_PTR, - pguidVendor: *const GUID, - metadataOptions: WICDecodeOptions, - ppIDecoder: *mut *mut IWICBitmapDecoder, - ) -> HRESULT, - fn CreateComponentInfo( - clsidComponent: REFCLSID, - ppIInfo: *mut *mut IWICComponentInfo, - ) -> HRESULT, - fn CreateDecoder( - guidContainerFormat: REFGUID, - pguidVendor: *const GUID, - ppIDecoder: *mut *mut IWICBitmapDecoder, - ) -> HRESULT, - fn CreateEncoder( - guidContainerFormat: REFGUID, - pguidVendor: *const GUID, - ppIEncoder: *mut *mut IWICBitmapEncoder, - ) -> HRESULT, - fn CreatePalette( - ppIPalette: *mut *mut IWICPalette, - ) -> HRESULT, - fn CreateFormatConverter( - ppIFormatConverter: *mut *mut IWICFormatConverter, - ) -> HRESULT, - fn CreateBitmapScaler( - ppIBitmapScaler: *mut *mut IWICBitmapScaler, - ) -> HRESULT, - fn CreateBitmapClipper( - ppIBitmapClipper: *mut *mut IWICBitmapClipper, - ) -> HRESULT, - fn CreateBitmapFlipRotator( - ppIBitmapFlipRotator: *mut *mut IWICBitmapFlipRotator, - ) -> HRESULT, - fn CreateStream( - ppIWICStream: *mut *mut IWICStream, - ) -> HRESULT, - fn CreateColorContext( - ppIWICColorContext: *mut *mut IWICColorContext, - ) -> HRESULT, - fn CreateColorTransformer( - ppIWICColorTransform: *mut *mut IWICColorTransform, - ) -> HRESULT, - fn CreateBitmap( - uiWidth: UINT, - uiHeight: UINT, - pixelFormat: REFWICPixelFormatGUID, - option: WICBitmapCreateCacheOption, - ppIBitmap: *mut *mut IWICBitmap, - ) -> HRESULT, - fn CreateBitmapFromSource( - pIBitmapSource: *const IWICBitmapSource, - option: WICBitmapCreateCacheOption, - ppIBitmap: *mut *mut IWICBitmap, - ) -> HRESULT, - fn CreateBitmapFromSourceRect( - pIBitmapSource: *const IWICBitmapSource, - x: UINT, - y: UINT, - width: UINT, - height: UINT, - ppIBitmap: *mut *mut IWICBitmap, - ) -> HRESULT, - fn CreateBitmapFromMemory( - uiWidth: UINT, - uiHeight: UINT, - pixelFormat: REFWICPixelFormatGUID, - cbStride: UINT, - cbBufferSize: UINT, - pbBuffer: *const BYTE, - ppIBitmap: *mut *mut IWICBitmap, - ) -> HRESULT, - fn CreateBitmapFromHBITMAP( - hBitmap: HBITMAP, - hPalette: HPALETTE, - options: WICBitmapAlphaChannelOption, - ppIBitmap: *mut *mut IWICBitmap, - ) -> HRESULT, - fn CreateBitmapFromHICON( - hIcon: HICON, - ppIBitmap: *mut *mut IWICBitmap, - ) -> HRESULT, - fn CreateComponentEnumerator( - componentTypes: DWORD, - options: DWORD, - ppIEnumUnknown: *mut *mut IEnumUnknown, - ) -> HRESULT, - fn CreateFastMetadataEncoderFromDecoder( - pIDecoder: *const IWICBitmapDecoder, - ppIFastEncoder: *mut *mut IWICFastMetadataEncoder, - ) -> HRESULT, - fn CreateFastMetadataEncoderFromFrameDecode( - pIFrameDecoder: *const IWICBitmapFrameDecode, - ppIFastEncoder: *mut *mut IWICFastMetadataEncoder, - ) -> HRESULT, - fn CreateQueryWriter( - guidMetadataFormat: REFGUID, - pguidVendor: *const GUID, - ppIQueryWriter: *mut *mut IWICMetadataQueryWriter, - ) -> HRESULT, - fn CreateQueryWriterFromReader( - pIQueryReader: *const IWICMetadataQueryReader, - pguidVendor: *const GUID, - ppIQueryWriter: *mut *mut IWICMetadataQueryWriter, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x7b816b45, 0x1996, 0x4476, 0xb1, 0x32, 0xde, 0x9e, 0x24, 0x7c, 0x8a, 0xf0)] -interface IWICImagingFactory2(IWICImagingFactory2Vtbl): - IWICImagingFactory(IWICImagingFactoryVtbl) { - fn CreateImageEncoder( - pD2DDevice: *const ID2D1Device, - ppWICImageEncoder: *mut *mut IWICImageEncoder, - ) -> HRESULT, -}} -extern "system" { - pub fn WICConvertBitmapSource( - dstFormat: REFWICPixelFormatGUID, - pISrc: *const IWICBitmapSource, - ppIDst: *mut *mut IWICBitmapSource, - ) -> HRESULT; - pub fn WICCreateBitmapFromSection( - width: UINT, - height: UINT, - pixelFormat: REFWICPixelFormatGUID, - hSection: HANDLE, - stride: UINT, - offset: UINT, - ppIBitmap: *mut *mut IWICBitmap, - ) -> HRESULT; - pub fn WICCreateBitmapFromSectionEx( - width: UINT, - height: UINT, - pixelFormat: REFWICPixelFormatGUID, - hSection: HANDLE, - stride: UINT, - offset: UINT, - desiredAccessLevel: WICSectionAccessLevel, - ppIBitmap: *mut *mut IWICBitmap, - ) -> HRESULT; - pub fn WICMapGuidToShortName( - guid: REFGUID, - cchName: UINT, - wzName: *mut WCHAR, - pcchActual: *mut UINT, - ) -> HRESULT; - pub fn WICMapShortNameToGuid( - wzName: PCWSTR, - pguid: *mut GUID, - ) -> HRESULT; - pub fn WICMapSchemaToName( - guidMetadataFormat: REFGUID, - pwzSchema: LPWSTR, - cchName: UINT, - wzName: *mut WCHAR, - pcchActual: *mut UINT, - ) -> HRESULT; -} -pub const FACILITY_WINCODEC_ERR: HRESULT = 0x898; -pub const WINCODEC_ERR_BASE: HRESULT = 0x2000; -/// intsafe.h, 0x216 = 534 = ERROR_ARITHMETIC_OVERFLOW -pub const INTSAFE_E_ARITHMETIC_OVERFLOW: HRESULT = 0x80070216; -#[inline] -pub fn MAKE_WINCODECHR(severity: HRESULT, code: HRESULT) -> HRESULT { - MAKE_HRESULT!(severity, FACILITY_WINCODEC_ERR, WINCODEC_ERR_BASE + code) -} -#[inline] -pub fn MAKE_WINCODECHR_ERR(code: HRESULT) -> HRESULT { - MAKE_WINCODECHR(SEVERITY_ERROR, code) -} -pub const WINCODEC_ERR_GENERIC_ERROR: HRESULT = E_FAIL; -pub const WINCODEC_ERR_INVALIDPARAMETER: HRESULT = E_INVALIDARG; -pub const WINCODEC_ERR_OUTOFMEMORY: HRESULT = E_OUTOFMEMORY; -pub const WINCODEC_ERR_NOTIMPLEMENTED: HRESULT = E_NOTIMPL; -pub const WINCODEC_ERR_ABORTED: HRESULT = E_ABORT; -pub const WINCODEC_ERR_ACCESSDENIED: HRESULT = E_ACCESSDENIED; -pub const WINCODEC_ERR_VALUEOVERFLOW: HRESULT = INTSAFE_E_ARITHMETIC_OVERFLOW; -ENUM!{enum WICTiffCompressionOption { - WICTiffCompressionDontCare = 0x00000000, - WICTiffCompressionNone = 0x00000001, - WICTiffCompressionCCITT3 = 0x00000002, - WICTiffCompressionCCITT4 = 0x00000003, - WICTiffCompressionLZW = 0x00000004, - WICTiffCompressionRLE = 0x00000005, - WICTiffCompressionZIP = 0x00000006, - WICTiffCompressionLZWHDifferencing = 0x00000007, - WICTIFFCOMPRESSIONOPTION_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICJpegYCrCbSubsamplingOption { - WICJpegYCrCbSubsamplingDefault = 0x00000000, - WICJpegYCrCbSubsampling420 = 0x00000001, - WICJpegYCrCbSubsampling422 = 0x00000002, - WICJpegYCrCbSubsampling444 = 0x00000003, - WICJpegYCrCbSubsampling440 = 0x00000004, - WICJPEGYCRCBSUBSAMPLING_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICPngFilterOption { - WICPngFilterUnspecified = 0x00000000, - WICPngFilterNone = 0x00000001, - WICPngFilterSub = 0x00000002, - WICPngFilterUp = 0x00000003, - WICPngFilterAverage = 0x00000004, - WICPngFilterPaeth = 0x00000005, - WICPngFilterAdaptive = 0x00000006, - WICPNGFILTEROPTION_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICNamedWhitePoint { - WICWhitePointDefault = 0x00000001, - WICWhitePointDaylight = 0x00000002, - WICWhitePointCloudy = 0x00000004, - WICWhitePointShade = 0x00000008, - WICWhitePointTungsten = 0x00000010, - WICWhitePointFluorescent = 0x00000020, - WICWhitePointFlash = 0x00000040, - WICWhitePointUnderwater = 0x00000080, - WICWhitePointCustom = 0x00000100, - WICWhitePointAutoWhiteBalance = 0x00000200, - WICWhitePointAsShot = WICWhitePointDefault, - WICNAMEDWHITEPOINT_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICRawCapabilities { - WICRawCapabilityNotSupported = 0x00000000, - WICRawCapabilityGetSupported = 0x00000001, - WICRawCapabilityFullySupported = 0x00000002, - WICRAWCAPABILITIES_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICRawRotationCapabilities { - WICRawRotationCapabilityNotSupported = 0x00000000, - WICRawRotationCapabilityGetSupported = 0x00000001, - WICRawRotationCapabilityNinetyDegreesSupported = 0x00000002, - WICRawRotationCapabilityFullySupported = 0x00000003, - WICRAWROTATIONCAPABILITIES_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -STRUCT!{struct WICRawCapabilitiesInfo { - cbSize: UINT, - CodecMajorVersion: UINT, - CodecMinorVersion: UINT, - ExposureCompensationSupport: WICRawCapabilities, - ContrastSupport: WICRawCapabilities, - RGBWhitePointSupport: WICRawCapabilities, - NamedWhitePointSupport: WICRawCapabilities, - NamedWhitePointSupportMask: UINT, - KelvinWhitePointSupport: WICRawCapabilities, - GammaSupport: WICRawCapabilities, - TintSupport: WICRawCapabilities, - SaturationSupport: WICRawCapabilities, - SharpnessSupport: WICRawCapabilities, - NoiseReductionSupport: WICRawCapabilities, - DestinationColorProfileSupport: WICRawCapabilities, - ToneCurveSupport: WICRawCapabilities, - RotationSupport: WICRawRotationCapabilities, - RenderModeSupport: WICRawCapabilities, -}} -ENUM!{enum WICRawParameterSet { - WICAsShotParameterSet = 0x00000001, - WICUserAdjustedParameterSet = 0x00000002, - WICAutoAdjustedParameterSet = 0x00000003, - WICRAWPARAMETERSET_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICRawRenderMode { - WICRawRenderModeDraft = 0x00000001, - WICRawRenderModeNormal = 0x00000002, - WICRawRenderModeBestQuality = 0x00000003, - WICRAWRENDERMODE_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -STRUCT!{struct WICRawToneCurvePoint { - Input: c_double, - Output: c_double, -}} -STRUCT!{struct WICRawToneCurve { - cPoints: UINT, - aPoints: [WICRawToneCurvePoint; 1], -}} -pub const WICRawChangeNotification_ExposureCompensation: UINT = 0x00000001; -pub const WICRawChangeNotification_NamedWhitePoint: UINT = 0x00000002; -pub const WICRawChangeNotification_KelvinWhitePoint: UINT = 0x00000004; -pub const WICRawChangeNotification_RGBWhitePoint: UINT = 0x00000008; -pub const WICRawChangeNotification_Contrast: UINT = 0x00000010; -pub const WICRawChangeNotification_Gamma: UINT = 0x00000020; -pub const WICRawChangeNotification_Sharpness: UINT = 0x00000040; -pub const WICRawChangeNotification_Saturation: UINT = 0x00000080; -pub const WICRawChangeNotification_Tint: UINT = 0x00000100; -pub const WICRawChangeNotification_NoiseReduction: UINT = 0x00000200; -pub const WICRawChangeNotification_DestinationColorContext: UINT = 0x00000400; -pub const WICRawChangeNotification_ToneCurve: UINT = 0x00000800; -pub const WICRawChangeNotification_Rotation: UINT = 0x00001000; -pub const WICRawChangeNotification_RenderMode: UINT = 0x00002000; -RIDL!{#[uuid(0x95c75a6e, 0x3e8c, 0x4ec2, 0x85, 0xa8, 0xae, 0xbc, 0xc5, 0x51, 0xe5, 0x9b)] -interface IWICDevelopRawNotificationCallback(IWICDevelopRawNotificationCallbackVtbl): - IUnknown(IUnknownVtbl) { - fn Notify( - NotificationMask: UINT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xfbec5e44, 0xf7be, 0x4b65, 0xb7, 0xf8, 0xc0, 0xc8, 0x1f, 0xef, 0x02, 0x6d)] -interface IWICDevelopRaw(IWICDevelopRawVtbl): IWICBitmapFrameDecode(IWICBitmapFrameDecodeVtbl) { - fn QueryRawCapabilitiesInfo( - pInfo: *mut WICRawCapabilitiesInfo, - ) -> HRESULT, - fn LoadParameterSet( - ParameterSet: WICRawParameterSet, - ) -> HRESULT, - fn GetCurrentParameterSet( - ppCurrentParameterSet: *mut *mut IPropertyBag2, - ) -> HRESULT, - fn SetExposureCompensation( - ev: c_double, - ) -> HRESULT, - fn GetExposureCompensation( - pEV: *mut c_double, - ) -> HRESULT, - fn SetWhitePointRGB( - Red: UINT, - Green: UINT, - Blue: UINT, - ) -> HRESULT, - fn GetWhitePointRGB( - pRed: *mut UINT, - pGreen: *mut UINT, - pBlue: *mut UINT, - ) -> HRESULT, - fn SetNamedWhitePoint( - WhitePoint: WICNamedWhitePoint, - ) -> HRESULT, - fn GetNamedWhitePoint( - pWhitePoint: *mut WICNamedWhitePoint, - ) -> HRESULT, - fn SetWhitePointKelvin( - WhitePointKelvin: UINT, - ) -> HRESULT, - fn GetWhitePointKelvin( - pWhitePointKelvin: *mut UINT, - ) -> HRESULT, - fn GetKelvinRangeInfo( - pMinKelvinTemp: *mut UINT, - pMaxKelvinTemp: *mut UINT, - pKelvinTempStepValue: *mut UINT, - ) -> HRESULT, - fn SetContrast( - Contrast: c_double, - ) -> HRESULT, - fn GetContrast( - pContrast: *mut c_double, - ) -> HRESULT, - fn SetGamma( - Gamma: c_double, - ) -> HRESULT, - fn GetGamma( - pGamma: *mut c_double, - ) -> HRESULT, - fn SetSharpness( - Sharpness: c_double, - ) -> HRESULT, - fn GetSharpness( - pSharpness: *mut c_double, - ) -> HRESULT, - fn SetSaturation( - Saturation: c_double, - ) -> HRESULT, - fn GetSaturation( - pSaturation: *mut c_double, - ) -> HRESULT, - fn SetTint( - Tint: c_double, - ) -> HRESULT, - fn GetTint( - pTint: *mut c_double, - ) -> HRESULT, - fn SetNoiseReduction( - NoiseReduction: c_double, - ) -> HRESULT, - fn GetNoiseReduction( - pNoiseReduction: *mut c_double, - ) -> HRESULT, - fn SetDestinationColorContext( - pColorContext: *const IWICColorContext, - ) -> HRESULT, - fn SetToneCurve( - cbToneCurveSize: UINT, - pToneCurve: *const WICRawToneCurve, - ) -> HRESULT, - fn GetToneCurve( - cbToneCurveBufferSize: UINT, - pToneCurve: *mut WICRawToneCurve, - pcbActualToneCurveBufferSize: *mut UINT, - ) -> HRESULT, - fn SetRotation( - Rotation: c_double, - ) -> HRESULT, - fn GetRotation( - pRotation: *mut c_double, - ) -> HRESULT, - fn SetRenderMode( - RenderMode: WICRawRenderMode, - ) -> HRESULT, - fn GetRenderMode( - pRenderMode: *mut WICRawRenderMode, - ) -> HRESULT, - fn SetNotificationCallback( - pCallback: *const IWICDevelopRawNotificationCallback, - ) -> HRESULT, -}} -ENUM!{enum WICDdsDimension { - WICDdsTexture1D = 0x00000000, - WICDdsTexture2D = 0x00000001, - WICDdsTexture3D = 0x00000002, - WICDdsTextureCube = 0x00000003, - WICDDSTEXTURE_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -ENUM!{enum WICDdsAlphaMode { - WICDdsAlphaModeUnknown = 0x00000000, - WICDdsAlphaModeStraight = 0x00000001, - WICDdsAlphaModePremultiplied = 0x00000002, - WICDdsAlphaModeOpaque = 0x00000003, - WICDdsAlphaModeCustom = 0x00000004, - WICDDSALPHAMODE_FORCE_DWORD = CODEC_FORCE_DWORD, -}} -STRUCT!{struct WICDdsParameters { - Width: UINT, - Height: UINT, - Depth: UINT, - MipLevels: UINT, - ArraySize: UINT, - DxgiFormat: DXGI_FORMAT, - Dimension: WICDdsDimension, - AlphaMode: WICDdsAlphaMode, -}} -RIDL!{#[uuid(0x409cd537, 0x8532, 0x40cb, 0x97, 0x74, 0xe2, 0xfe, 0xb2, 0xdf, 0x4e, 0x9c)] -interface IWICDdsDecoder(IWICDdsDecoderVtbl): IUnknown(IUnknownVtbl) { - fn GetParameters( - pParameters: *mut WICDdsParameters, - ) -> HRESULT, - fn GetFrame( - arrayIndex: UINT, - mipLevel: UINT, - sliceIndex: UINT, - ppIBitmapFrame: *mut *mut IWICBitmapFrameDecode, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x5cacdb4c, 0x407e, 0x41b3, 0xb9, 0x36, 0xd0, 0xf0, 0x10, 0xcd, 0x67, 0x32)] -interface IWICDdsEncoder(IWICDdsEncoderVtbl): IUnknown(IUnknownVtbl) { - fn SetParameters( - pParameters: *const WICDdsParameters, - ) -> HRESULT, - fn GetParameters( - pParameters: *mut WICDdsParameters, - ) -> HRESULT, - fn CreateNewFrame( - ppIFrameEncode: *mut *mut IWICBitmapFrameEncode, - pArrayIndex: *mut UINT, - pMipLevel: *mut UINT, - pSliceIndex: *mut UINT, - ) -> HRESULT, -}} -STRUCT!{struct WICDdsFormatInfo { - DxgiFormat: DXGI_FORMAT, - BytesPerBlock: UINT, - BlockWidth: UINT, - BlockHeight: UINT, -}} -RIDL!{#[uuid(0x3d4c0c61, 0x18a4, 0x41e4, 0xbd, 0x80, 0x48, 0x1a, 0x4f, 0xc9, 0xf4, 0x64)] -interface IWICDdsFrameDecode(IWICDdsFrameDecodeVtbl): IUnknown(IUnknownVtbl) { - fn GetSizeInBlocks( - pWidthInBlocks: *mut UINT, - pHeightInBlocks: *mut UINT, - ) -> HRESULT, - fn GetFormatInfo( - pFormatInfo: *mut WICDdsFormatInfo, - ) -> HRESULT, - fn CopyBlocks( - prcBoundsInBlocks: *const WICRect, - cbStride: UINT, - cbBufferSize: UINT, - pbBuffer: *mut BYTE, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x8939f66e, 0xc46a, 0x4c21, 0xa9, 0xd1, 0x98, 0xb3, 0x27, 0xce, 0x16, 0x79)] -interface IWICJpegFrameDecode(IWICJpegFrameDecodeVtbl): IUnknown(IUnknownVtbl) { - fn DoesSupportIndexing( - pfIndexingSupported: *mut BOOL, - ) -> HRESULT, - fn SetIndexing( - options: WICJpegIndexingOptions, - horizontalIntervalSize: UINT, - ) -> HRESULT, - fn ClearIndexing() -> HRESULT, - fn GetAcHuffmanTable( - scanIndex: UINT, - tableIndex: UINT, - pAcHuffmanTable: *mut DXGI_JPEG_AC_HUFFMAN_TABLE, - ) -> HRESULT, - fn GetDcHuffmanTable( - scanIndex: UINT, - tableIndex: UINT, - pDcHuffmanTable: *mut DXGI_JPEG_DC_HUFFMAN_TABLE, - ) -> HRESULT, - fn GetQuantizationTable( - scanIndex: UINT, - tableIndex: UINT, - pQuantizationTable: *mut DXGI_JPEG_QUANTIZATION_TABLE, - ) -> HRESULT, - fn GetFrameHeader( - pFrameHeader: *mut WICJpegFrameHeader, - ) -> HRESULT, - fn GetScanHeader( - scanIndex: UINT, - pScanHeader: *mut WICJpegScanHeader, - ) -> HRESULT, - fn CopyScan( - scanIndex: UINT, - scanOffset: UINT, - cbScanData: UINT, - pbScanData: *mut BYTE, - pcbScanDataActual: *mut UINT, - ) -> HRESULT, - fn CopyMinimalStream( - streamOffset: UINT, - cbStreamData: UINT, - pbStreamData: *mut BYTE, - pcbStreamDataActual: *mut UINT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x2f0c601f, 0xd2c6, 0x468c, 0xab, 0xfa, 0x49, 0x49, 0x5d, 0x98, 0x3e, 0xd1)] -interface IWICJpegFrameEncode(IWICJpegFrameEncodeVtbl): IUnknown(IUnknownVtbl) { - fn GetAcHuffmanTable( - scanIndex: UINT, - tableIndex: UINT, - pAcHuffmanTable: *mut DXGI_JPEG_AC_HUFFMAN_TABLE, - ) -> HRESULT, - fn GetDcHuffmanTable( - scanIndex: UINT, - tableIndex: UINT, - pDcHuffmanTable: *mut DXGI_JPEG_DC_HUFFMAN_TABLE, - ) -> HRESULT, - fn GetQuantizationTable( - scanIndex: UINT, - tableIndex: UINT, - pQuantizationTable: *mut DXGI_JPEG_QUANTIZATION_TABLE, - ) -> HRESULT, - fn WriteScan( - cbScanData: UINT, - pbScanData: *const BYTE, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/wincodecsdk.rs b/vendor/registry-40351f815f426200/winapi/src/um/wincodecsdk.rs deleted file mode 100644 index f71bf72aa..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/wincodecsdk.rs +++ /dev/null @@ -1,564 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::{c_uchar, c_ulong}; -use shared::guiddef::{GUID, REFGUID}; -use shared::minwindef::{BOOL, BYTE, DWORD, UINT, ULONG}; -use shared::wtypes::{BSTR, CLIPFORMAT}; -use um::oaidl::LPSAFEARRAY; -use um::objidl::{IPersistStream, IPersistStreamVtbl}; -use um::objidlbase::{IEnumUnknown, IStream}; -use um::ocidl::{IPropertyBag2, PROPBAG2}; -use um::propidl::PROPVARIANT; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::wincodec::{ - IWICComponentInfo, IWICComponentInfoVtbl, IWICEnumMetadataItem, IWICImagingFactory, - IWICImagingFactoryVtbl, IWICMetadataQueryReader, IWICMetadataQueryWriter, -}; -use um::winnt::{HRESULT, ULARGE_INTEGER, WCHAR}; -DEFINE_GUID!{GUID_MetadataFormatUnknown, - 0xa45e592f, 0x9078, 0x4a7c, 0xad, 0xb5, 0x4e, 0xdc, 0x4f, 0xd6, 0x1b, 0x1f} -DEFINE_GUID!{GUID_MetadataFormatIfd, - 0x537396c6, 0x2d8a, 0x4bb6, 0x9b, 0xf8, 0x2f, 0x0a, 0x8e, 0x2a, 0x3a, 0xdf} -DEFINE_GUID!{GUID_MetadataFormatSubIfd, - 0x58a2e128, 0x2db9, 0x4e57, 0xbb, 0x14, 0x51, 0x77, 0x89, 0x1e, 0xd3, 0x31} -DEFINE_GUID!{GUID_MetadataFormatExif, - 0x1c3c4f9d, 0xb84a, 0x467d, 0x94, 0x93, 0x36, 0xcf, 0xbd, 0x59, 0xea, 0x57} -DEFINE_GUID!{GUID_MetadataFormatGps, - 0x7134ab8a, 0x9351, 0x44ad, 0xaf, 0x62, 0x44, 0x8d, 0xb6, 0xb5, 0x02, 0xec} -DEFINE_GUID!{GUID_MetadataFormatInterop, - 0xed686f8e, 0x681f, 0x4c8b, 0xbd, 0x41, 0xa8, 0xad, 0xdb, 0xf6, 0xb3, 0xfc} -DEFINE_GUID!{GUID_MetadataFormatApp0, - 0x79007028, 0x268d, 0x45d6, 0xa3, 0xc2, 0x35, 0x4e, 0x6a, 0x50, 0x4b, 0xc9} -DEFINE_GUID!{GUID_MetadataFormatApp1, - 0x8fd3dfc3, 0xf951, 0x492b, 0x81, 0x7f, 0x69, 0xc2, 0xe6, 0xd9, 0xa5, 0xb0} -DEFINE_GUID!{GUID_MetadataFormatApp13, - 0x326556a2, 0xf502, 0x4354, 0x9c, 0xc0, 0x8e, 0x3f, 0x48, 0xea, 0xf6, 0xb5} -DEFINE_GUID!{GUID_MetadataFormatIPTC, - 0x4fab0914, 0xe129, 0x4087, 0xa1, 0xd1, 0xbc, 0x81, 0x2d, 0x45, 0xa7, 0xb5} -DEFINE_GUID!{GUID_MetadataFormatIRB, - 0x16100d66, 0x8570, 0x4bb9, 0xb9, 0x2d, 0xfd, 0xa4, 0xb2, 0x3e, 0xce, 0x67} -DEFINE_GUID!{GUID_MetadataFormat8BIMIPTC, - 0x0010568c, 0x0852, 0x4e6a, 0xb1, 0x91, 0x5c, 0x33, 0xac, 0x5b, 0x04, 0x30} -DEFINE_GUID!{GUID_MetadataFormat8BIMResolutionInfo, - 0x739f305d, 0x81db, 0x43cb, 0xac, 0x5e, 0x55, 0x01, 0x3e, 0xf9, 0xf0, 0x03} -DEFINE_GUID!{GUID_MetadataFormat8BIMIPTCDigest, - 0x1ca32285, 0x9ccd, 0x4786, 0x8b, 0xd8, 0x79, 0x53, 0x9d, 0xb6, 0xa0, 0x06} -DEFINE_GUID!{GUID_MetadataFormatXMP, - 0xbb5acc38, 0xf216, 0x4cec, 0xa6, 0xc5, 0x5f, 0x6e, 0x73, 0x97, 0x63, 0xa9} -DEFINE_GUID!{GUID_MetadataFormatThumbnail, - 0x243dcee9, 0x8703, 0x40ee, 0x8e, 0xf0, 0x22, 0xa6, 0x00, 0xb8, 0x05, 0x8c} -DEFINE_GUID!{GUID_MetadataFormatChunktEXt, - 0x568d8936, 0xc0a9, 0x4923, 0x90, 0x5d, 0xdf, 0x2b, 0x38, 0x23, 0x8f, 0xbc} -DEFINE_GUID!{GUID_MetadataFormatXMPStruct, - 0x22383cf1, 0xed17, 0x4e2e, 0xaf, 0x17, 0xd8, 0x5b, 0x8f, 0x6b, 0x30, 0xd0} -DEFINE_GUID!{GUID_MetadataFormatXMPBag, - 0x833cca5f, 0xdcb7, 0x4516, 0x80, 0x6f, 0x65, 0x96, 0xab, 0x26, 0xdc, 0xe4} -DEFINE_GUID!{GUID_MetadataFormatXMPSeq, - 0x63e8df02, 0xeb6c, 0x456c, 0xa2, 0x24, 0xb2, 0x5e, 0x79, 0x4f, 0xd6, 0x48} -DEFINE_GUID!{GUID_MetadataFormatXMPAlt, - 0x7b08a675, 0x91aa, 0x481b, 0xa7, 0x98, 0x4d, 0xa9, 0x49, 0x08, 0x61, 0x3b} -DEFINE_GUID!{GUID_MetadataFormatLSD, - 0xe256031e, 0x6299, 0x4929, 0xb9, 0x8d, 0x5a, 0xc8, 0x84, 0xaf, 0xba, 0x92} -DEFINE_GUID!{GUID_MetadataFormatIMD, - 0xbd2bb086, 0x4d52, 0x48dd, 0x96, 0x77, 0xdb, 0x48, 0x3e, 0x85, 0xae, 0x8f} -DEFINE_GUID!{GUID_MetadataFormatGCE, - 0x2a25cad8, 0xdeeb, 0x4c69, 0xa7, 0x88, 0x0e, 0xc2, 0x26, 0x6d, 0xca, 0xfd} -DEFINE_GUID!{GUID_MetadataFormatAPE, - 0x2e043dc2, 0xc967, 0x4e05, 0x87, 0x5e, 0x61, 0x8b, 0xf6, 0x7e, 0x85, 0xc3} -DEFINE_GUID!{GUID_MetadataFormatJpegChrominance, - 0xf73d0dcf, 0xcec6, 0x4f85, 0x9b, 0x0e, 0x1c, 0x39, 0x56, 0xb1, 0xbe, 0xf7} -DEFINE_GUID!{GUID_MetadataFormatJpegLuminance, - 0x86908007, 0xedfc, 0x4860, 0x8d, 0x4b, 0x4e, 0xe6, 0xe8, 0x3e, 0x60, 0x58} -DEFINE_GUID!{GUID_MetadataFormatJpegComment, - 0x220e5f33, 0xafd3, 0x474e, 0x9d, 0x31, 0x7d, 0x4f, 0xe7, 0x30, 0xf5, 0x57} -DEFINE_GUID!{GUID_MetadataFormatGifComment, - 0xc4b6e0e0, 0xcfb4, 0x4ad3, 0xab, 0x33, 0x9a, 0xad, 0x23, 0x55, 0xa3, 0x4a} -DEFINE_GUID!{GUID_MetadataFormatChunkgAMA, - 0xf00935a5, 0x1d5d, 0x4cd1, 0x81, 0xb2, 0x93, 0x24, 0xd7, 0xec, 0xa7, 0x81} -DEFINE_GUID!{GUID_MetadataFormatChunkbKGD, - 0xe14d3571, 0x6b47, 0x4dea, 0xb6, 0x0a, 0x87, 0xce, 0x0a, 0x78, 0xdf, 0xb7} -DEFINE_GUID!{GUID_MetadataFormatChunkiTXt, - 0xc2bec729, 0x0b68, 0x4b77, 0xaa, 0x0e, 0x62, 0x95, 0xa6, 0xac, 0x18, 0x14} -DEFINE_GUID!{GUID_MetadataFormatChunkcHRM, - 0x9db3655b, 0x2842, 0x44b3, 0x80, 0x67, 0x12, 0xe9, 0xb3, 0x75, 0x55, 0x6a} -DEFINE_GUID!{GUID_MetadataFormatChunkhIST, - 0xc59a82da, 0xdb74, 0x48a4, 0xbd, 0x6a, 0xb6, 0x9c, 0x49, 0x31, 0xef, 0x95} -DEFINE_GUID!{GUID_MetadataFormatChunkiCCP, - 0xeb4349ab, 0xb685, 0x450f, 0x91, 0xb5, 0xe8, 0x02, 0xe8, 0x92, 0x53, 0x6c} -DEFINE_GUID!{GUID_MetadataFormatChunksRGB, - 0xc115fd36, 0xcc6f, 0x4e3f, 0x83, 0x63, 0x52, 0x4b, 0x87, 0xc6, 0xb0, 0xd9} -DEFINE_GUID!{GUID_MetadataFormatChunktIME, - 0x6b00ae2d, 0xe24b, 0x460a, 0x98, 0xb6, 0x87, 0x8b, 0xd0, 0x30, 0x72, 0xfd} -DEFINE_GUID!{GUID_MetadataFormatDds, - 0x4a064603, 0x8c33, 0x4e60, 0x9c, 0x29, 0x13, 0x62, 0x31, 0x70, 0x2d, 0x08} -DEFINE_GUID!{CLSID_WICUnknownMetadataReader, - 0x699745c2, 0x5066, 0x4b82, 0xa8, 0xe3, 0xd4, 0x04, 0x78, 0xdb, 0xec, 0x8c} -DEFINE_GUID!{CLSID_WICUnknownMetadataWriter, - 0xa09cca86, 0x27ba, 0x4f39, 0x90, 0x53, 0x12, 0x1f, 0xa4, 0xdc, 0x08, 0xfc} -DEFINE_GUID!{CLSID_WICApp0MetadataWriter, - 0xf3c633a2, 0x46c8, 0x498e, 0x8f, 0xbb, 0xcc, 0x6f, 0x72, 0x1b, 0xbc, 0xde} -DEFINE_GUID!{CLSID_WICApp0MetadataReader, - 0x43324b33, 0xa78f, 0x480f, 0x91, 0x11, 0x96, 0x38, 0xaa, 0xcc, 0xc8, 0x32} -DEFINE_GUID!{CLSID_WICApp1MetadataWriter, - 0xee366069, 0x1832, 0x420f, 0xb3, 0x81, 0x04, 0x79, 0xad, 0x06, 0x6f, 0x19} -DEFINE_GUID!{CLSID_WICApp1MetadataReader, - 0xdde33513, 0x774e, 0x4bcd, 0xae, 0x79, 0x02, 0xf4, 0xad, 0xfe, 0x62, 0xfc} -DEFINE_GUID!{CLSID_WICApp13MetadataWriter, - 0x7b19a919, 0xa9d6, 0x49e5, 0xbd, 0x45, 0x02, 0xc3, 0x4e, 0x4e, 0x4c, 0xd5} -DEFINE_GUID!{CLSID_WICApp13MetadataReader, - 0xaa7e3c50, 0x864c, 0x4604, 0xbc, 0x04, 0x8b, 0x0b, 0x76, 0xe6, 0x37, 0xf6} -DEFINE_GUID!{CLSID_WICIfdMetadataReader, - 0x8f914656, 0x9d0a, 0x4eb2, 0x90, 0x19, 0x0b, 0xf9, 0x6d, 0x8a, 0x9e, 0xe6} -DEFINE_GUID!{CLSID_WICIfdMetadataWriter, - 0xb1ebfc28, 0xc9bd, 0x47a2, 0x8d, 0x33, 0xb9, 0x48, 0x76, 0x97, 0x77, 0xa7} -DEFINE_GUID!{CLSID_WICSubIfdMetadataReader, - 0x50d42f09, 0xecd1, 0x4b41, 0xb6, 0x5d, 0xda, 0x1f, 0xda, 0xa7, 0x56, 0x63} -DEFINE_GUID!{CLSID_WICSubIfdMetadataWriter, - 0x8ade5386, 0x8e9b, 0x4f4c, 0xac, 0xf2, 0xf0, 0x00, 0x87, 0x06, 0xb2, 0x38} -DEFINE_GUID!{CLSID_WICExifMetadataReader, - 0xd9403860, 0x297f, 0x4a49, 0xbf, 0x9b, 0x77, 0x89, 0x81, 0x50, 0xa4, 0x42} -DEFINE_GUID!{CLSID_WICExifMetadataWriter, - 0xc9a14cda, 0xc339, 0x460b, 0x90, 0x78, 0xd4, 0xde, 0xbc, 0xfa, 0xbe, 0x91} -DEFINE_GUID!{CLSID_WICGpsMetadataReader, - 0x3697790b, 0x223b, 0x484e, 0x99, 0x25, 0xc4, 0x86, 0x92, 0x18, 0xf1, 0x7a} -DEFINE_GUID!{CLSID_WICGpsMetadataWriter, - 0xcb8c13e4, 0x62b5, 0x4c96, 0xa4, 0x8b, 0x6b, 0xa6, 0xac, 0xe3, 0x9c, 0x76} -DEFINE_GUID!{CLSID_WICInteropMetadataReader, - 0xb5c8b898, 0x0074, 0x459f, 0xb7, 0x00, 0x86, 0x0d, 0x46, 0x51, 0xea, 0x14} -DEFINE_GUID!{CLSID_WICInteropMetadataWriter, - 0x122ec645, 0xcd7e, 0x44d8, 0xb1, 0x86, 0x2c, 0x8c, 0x20, 0xc3, 0xb5, 0x0f} -DEFINE_GUID!{CLSID_WICThumbnailMetadataReader, - 0xfb012959, 0xf4f6, 0x44d7, 0x9d, 0x09, 0xda, 0xa0, 0x87, 0xa9, 0xdb, 0x57} -DEFINE_GUID!{CLSID_WICThumbnailMetadataWriter, - 0xd049b20c, 0x5dd0, 0x44fe, 0xb0, 0xb3, 0x8f, 0x92, 0xc8, 0xe6, 0xd0, 0x80} -DEFINE_GUID!{CLSID_WICIPTCMetadataReader, - 0x03012959, 0xf4f6, 0x44d7, 0x9d, 0x09, 0xda, 0xa0, 0x87, 0xa9, 0xdb, 0x57} -DEFINE_GUID!{CLSID_WICIPTCMetadataWriter, - 0x1249b20c, 0x5dd0, 0x44fe, 0xb0, 0xb3, 0x8f, 0x92, 0xc8, 0xe6, 0xd0, 0x80} -DEFINE_GUID!{CLSID_WICIRBMetadataReader, - 0xd4dcd3d7, 0xb4c2, 0x47d9, 0xa6, 0xbf, 0xb8, 0x9b, 0xa3, 0x96, 0xa4, 0xa3} -DEFINE_GUID!{CLSID_WICIRBMetadataWriter, - 0x5c5c1935, 0x0235, 0x4434, 0x80, 0xbc, 0x25, 0x1b, 0xc1, 0xec, 0x39, 0xc6} -DEFINE_GUID!{CLSID_WIC8BIMIPTCMetadataReader, - 0x0010668c, 0x0801, 0x4da6, 0xa4, 0xa4, 0x82, 0x65, 0x22, 0xb6, 0xd2, 0x8f} -DEFINE_GUID!{CLSID_WIC8BIMIPTCMetadataWriter, - 0x00108226, 0xee41, 0x44a2, 0x9e, 0x9c, 0x4b, 0xe4, 0xd5, 0xb1, 0xd2, 0xcd} -DEFINE_GUID!{CLSID_WIC8BIMResolutionInfoMetadataReader, - 0x5805137a, 0xe348, 0x4f7c, 0xb3, 0xcc, 0x6d, 0xb9, 0x96, 0x5a, 0x05, 0x99} -DEFINE_GUID!{CLSID_WIC8BIMResolutionInfoMetadataWriter, - 0x4ff2fe0e, 0xe74a, 0x4b71, 0x98, 0xc4, 0xab, 0x7d, 0xc1, 0x67, 0x07, 0xba} -DEFINE_GUID!{CLSID_WIC8BIMIPTCDigestMetadataReader, - 0x02805f1e, 0xd5aa, 0x415b, 0x82, 0xc5, 0x61, 0xc0, 0x33, 0xa9, 0x88, 0xa6} -DEFINE_GUID!{CLSID_WIC8BIMIPTCDigestMetadataWriter, - 0x2db5e62b, 0x0d67, 0x495f, 0x8f, 0x9d, 0xc2, 0xf0, 0x18, 0x86, 0x47, 0xac} -DEFINE_GUID!{CLSID_WICPngTextMetadataReader, - 0x4b59afcc, 0xb8c3, 0x408a, 0xb6, 0x70, 0x89, 0xe5, 0xfa, 0xb6, 0xfd, 0xa7} -DEFINE_GUID!{CLSID_WICPngTextMetadataWriter, - 0xb5ebafb9, 0x253e, 0x4a72, 0xa7, 0x44, 0x07, 0x62, 0xd2, 0x68, 0x56, 0x83} -DEFINE_GUID!{CLSID_WICXMPMetadataReader, - 0x72b624df, 0xae11, 0x4948, 0xa6, 0x5c, 0x35, 0x1e, 0xb0, 0x82, 0x94, 0x19} -DEFINE_GUID!{CLSID_WICXMPMetadataWriter, - 0x1765e14e, 0x1bd4, 0x462e, 0xb6, 0xb1, 0x59, 0x0b, 0xf1, 0x26, 0x2a, 0xc6} -DEFINE_GUID!{CLSID_WICXMPStructMetadataReader, - 0x01b90d9a, 0x8209, 0x47f7, 0x9c, 0x52, 0xe1, 0x24, 0x4b, 0xf5, 0x0c, 0xed} -DEFINE_GUID!{CLSID_WICXMPStructMetadataWriter, - 0x22c21f93, 0x7ddb, 0x411c, 0x9b, 0x17, 0xc5, 0xb7, 0xbd, 0x06, 0x4a, 0xbc} -DEFINE_GUID!{CLSID_WICXMPBagMetadataReader, - 0xe7e79a30, 0x4f2c, 0x4fab, 0x8d, 0x00, 0x39, 0x4f, 0x2d, 0x6b, 0xbe, 0xbe} -DEFINE_GUID!{CLSID_WICXMPBagMetadataWriter, - 0xed822c8c, 0xd6be, 0x4301, 0xa6, 0x31, 0x0e, 0x14, 0x16, 0xba, 0xd2, 0x8f} -DEFINE_GUID!{CLSID_WICXMPSeqMetadataReader, - 0x7f12e753, 0xfc71, 0x43d7, 0xa5, 0x1d, 0x92, 0xf3, 0x59, 0x77, 0xab, 0xb5} -DEFINE_GUID!{CLSID_WICXMPSeqMetadataWriter, - 0x6d68d1de, 0xd432, 0x4b0f, 0x92, 0x3a, 0x09, 0x11, 0x83, 0xa9, 0xbd, 0xa7} -DEFINE_GUID!{CLSID_WICXMPAltMetadataReader, - 0xaa94dcc2, 0xb8b0, 0x4898, 0xb8, 0x35, 0x00, 0x0a, 0xab, 0xd7, 0x43, 0x93} -DEFINE_GUID!{CLSID_WICXMPAltMetadataWriter, - 0x076c2a6c, 0xf78f, 0x4c46, 0xa7, 0x23, 0x35, 0x83, 0xe7, 0x08, 0x76, 0xea} -DEFINE_GUID!{CLSID_WICLSDMetadataReader, - 0x41070793, 0x59e4, 0x479a, 0xa1, 0xf7, 0x95, 0x4a, 0xdc, 0x2e, 0xf5, 0xfc} -DEFINE_GUID!{CLSID_WICLSDMetadataWriter, - 0x73c037e7, 0xe5d9, 0x4954, 0x87, 0x6a, 0x6d, 0xa8, 0x1d, 0x6e, 0x57, 0x68} -DEFINE_GUID!{CLSID_WICGCEMetadataReader, - 0xb92e345d, 0xf52d, 0x41f3, 0xb5, 0x62, 0x08, 0x1b, 0xc7, 0x72, 0xe3, 0xb9} -DEFINE_GUID!{CLSID_WICGCEMetadataWriter, - 0xaf95dc76, 0x16b2, 0x47f4, 0xb3, 0xea, 0x3c, 0x31, 0x79, 0x66, 0x93, 0xe7} -DEFINE_GUID!{CLSID_WICIMDMetadataReader, - 0x7447a267, 0x0015, 0x42c8, 0xa8, 0xf1, 0xfb, 0x3b, 0x94, 0xc6, 0x83, 0x61} -DEFINE_GUID!{CLSID_WICIMDMetadataWriter, - 0x8c89071f, 0x452e, 0x4e95, 0x96, 0x82, 0x9d, 0x10, 0x24, 0x62, 0x71, 0x72} -DEFINE_GUID!{CLSID_WICAPEMetadataReader, - 0x1767b93a, 0xb021, 0x44ea, 0x92, 0x0f, 0x86, 0x3c, 0x11, 0xf4, 0xf7, 0x68} -DEFINE_GUID!{CLSID_WICAPEMetadataWriter, - 0xbd6edfca, 0x2890, 0x482f, 0xb2, 0x33, 0x8d, 0x73, 0x39, 0xa1, 0xcf, 0x8d} -DEFINE_GUID!{CLSID_WICJpegChrominanceMetadataReader, - 0x50b1904b, 0xf28f, 0x4574, 0x93, 0xf4, 0x0b, 0xad, 0xe8, 0x2c, 0x69, 0xe9} -DEFINE_GUID!{CLSID_WICJpegChrominanceMetadataWriter, - 0x3ff566f0, 0x6e6b, 0x49d4, 0x96, 0xe6, 0xb7, 0x88, 0x86, 0x69, 0x2c, 0x62} -DEFINE_GUID!{CLSID_WICJpegLuminanceMetadataReader, - 0x356f2f88, 0x05a6, 0x4728, 0xb9, 0xa4, 0x1b, 0xfb, 0xce, 0x04, 0xd8, 0x38} -DEFINE_GUID!{CLSID_WICJpegLuminanceMetadataWriter, - 0x1d583abc, 0x8a0e, 0x4657, 0x99, 0x82, 0xa3, 0x80, 0xca, 0x58, 0xfb, 0x4b} -DEFINE_GUID!{CLSID_WICJpegCommentMetadataReader, - 0x9f66347c, 0x60c4, 0x4c4d, 0xab, 0x58, 0xd2, 0x35, 0x86, 0x85, 0xf6, 0x07} -DEFINE_GUID!{CLSID_WICJpegCommentMetadataWriter, - 0xe573236f, 0x55b1, 0x4eda, 0x81, 0xea, 0x9f, 0x65, 0xdb, 0x02, 0x90, 0xd3} -DEFINE_GUID!{CLSID_WICGifCommentMetadataReader, - 0x32557d3b, 0x69dc, 0x4f95, 0x83, 0x6e, 0xf5, 0x97, 0x2b, 0x2f, 0x61, 0x59} -DEFINE_GUID!{CLSID_WICGifCommentMetadataWriter, - 0xa02797fc, 0xc4ae, 0x418c, 0xaf, 0x95, 0xe6, 0x37, 0xc7, 0xea, 0xd2, 0xa1} -DEFINE_GUID!{CLSID_WICPngGamaMetadataReader, - 0x3692ca39, 0xe082, 0x4350, 0x9e, 0x1f, 0x37, 0x04, 0xcb, 0x08, 0x3c, 0xd5} -DEFINE_GUID!{CLSID_WICPngGamaMetadataWriter, - 0xff036d13, 0x5d4b, 0x46dd, 0xb1, 0x0f, 0x10, 0x66, 0x93, 0xd9, 0xfe, 0x4f} -DEFINE_GUID!{CLSID_WICPngBkgdMetadataReader, - 0x0ce7a4a6, 0x03e8, 0x4a60, 0x9d, 0x15, 0x28, 0x2e, 0xf3, 0x2e, 0xe7, 0xda} -DEFINE_GUID!{CLSID_WICPngBkgdMetadataWriter, - 0x68e3f2fd, 0x31ae, 0x4441, 0xbb, 0x6a, 0xfd, 0x70, 0x47, 0x52, 0x5f, 0x90} -DEFINE_GUID!{CLSID_WICPngItxtMetadataReader, - 0xaabfb2fa, 0x3e1e, 0x4a8f, 0x89, 0x77, 0x55, 0x56, 0xfb, 0x94, 0xea, 0x23} -DEFINE_GUID!{CLSID_WICPngItxtMetadataWriter, - 0x31879719, 0xe751, 0x4df8, 0x98, 0x1d, 0x68, 0xdf, 0xf6, 0x77, 0x04, 0xed} -DEFINE_GUID!{CLSID_WICPngChrmMetadataReader, - 0xf90b5f36, 0x367b, 0x402a, 0x9d, 0xd1, 0xbc, 0x0f, 0xd5, 0x9d, 0x8f, 0x62} -DEFINE_GUID!{CLSID_WICPngChrmMetadataWriter, - 0xe23ce3eb, 0x5608, 0x4e83, 0xbc, 0xef, 0x27, 0xb1, 0x98, 0x7e, 0x51, 0xd7} -DEFINE_GUID!{CLSID_WICPngHistMetadataReader, - 0x877a0bb7, 0xa313, 0x4491, 0x87, 0xb5, 0x2e, 0x6d, 0x05, 0x94, 0xf5, 0x20} -DEFINE_GUID!{CLSID_WICPngHistMetadataWriter, - 0x8a03e749, 0x672e, 0x446e, 0xbf, 0x1f, 0x2c, 0x11, 0xd2, 0x33, 0xb6, 0xff} -DEFINE_GUID!{CLSID_WICPngIccpMetadataReader, - 0xf5d3e63b, 0xcb0f, 0x4628, 0xa4, 0x78, 0x6d, 0x82, 0x44, 0xbe, 0x36, 0xb1} -DEFINE_GUID!{CLSID_WICPngIccpMetadataWriter, - 0x16671e5f, 0x0ce6, 0x4cc4, 0x97, 0x68, 0xe8, 0x9f, 0xe5, 0x01, 0x8a, 0xde} -DEFINE_GUID!{CLSID_WICPngSrgbMetadataReader, - 0xfb40360c, 0x547e, 0x4956, 0xa3, 0xb9, 0xd4, 0x41, 0x88, 0x59, 0xba, 0x66} -DEFINE_GUID!{CLSID_WICPngSrgbMetadataWriter, - 0xa6ee35c6, 0x87ec, 0x47df, 0x9f, 0x22, 0x1d, 0x5a, 0xad, 0x84, 0x0c, 0x82} -DEFINE_GUID!{CLSID_WICPngTimeMetadataReader, - 0xd94edf02, 0xefe5, 0x4f0d, 0x85, 0xc8, 0xf5, 0xa6, 0x8b, 0x30, 0x00, 0xb1} -DEFINE_GUID!{CLSID_WICPngTimeMetadataWriter, - 0x1ab78400, 0xb5a3, 0x4d91, 0x8a, 0xce, 0x33, 0xfc, 0xd1, 0x49, 0x9b, 0xe6} -DEFINE_GUID!{CLSID_WICDdsMetadataReader, - 0x276c88ca, 0x7533, 0x4a86, 0xb6, 0x76, 0x66, 0xb3, 0x60, 0x80, 0xd4, 0x84} -DEFINE_GUID!{CLSID_WICDdsMetadataWriter, - 0xfd688bbd, 0x31ed, 0x4db7, 0xa7, 0x23, 0x93, 0x49, 0x27, 0xd3, 0x83, 0x67} -ENUM!{enum WICMetadataCreationOptions { - WICMetadataCreationDefault = 0, - WICMetadataCreationAllowUnknown = WICMetadataCreationDefault, - WICMetadataCreationFailUnknown = 0x10000, - WICMetadataCreationMask = 0xffff0000, -}} -ENUM!{enum WICPersistOptions { - WICPersistOptionDefault = 0, - WICPersistOptionLittleEndian = 0, - WICPersistOptionBigEndian = 0x1, - WICPersistOptionStrictFormat = 0x2, - WICPersistOptionNoCacheStream = 0x4, - WICPersistOptionPreferUTF8 = 0x8, - WICPersistOptionMask = 0xffff, -}} -RIDL!{#[uuid(0xfeaa2a8d, 0xb3f3, 0x43e4, 0xb2, 0x5c, 0xd1, 0xde, 0x99, 0x0a, 0x1a, 0xe1)] -interface IWICMetadataBlockReader(IWICMetadataBlockReaderVtbl): IUnknown(IUnknownVtbl) { - fn GetContainerFormat( - pguidContainerFormat: *mut GUID, - ) -> HRESULT, - fn GetCount( - pcCount: *mut UINT, - ) -> HRESULT, - fn GetReaderByIndex( - ppIMetadataReader: *mut *mut IWICMetadataReader, - ) -> HRESULT, - fn GetEnumerator( - ppIEnumMetadata: *mut IEnumUnknown, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x08fb9676, 0xb444, 0x41e8, 0x8d, 0xbe, 0x6a, 0x53, 0xa5, 0x42, 0xbf, 0xf1)] -interface IWICMetadataBlockWriter(IWICMetadataBlockWriterVtbl): - IWICMetadataBlockReader(IWICMetadataBlockReaderVtbl) { - fn InitializeFromBlockReader( - pIMDBlockReader: *mut IWICMetadataBlockReader, - ) -> HRESULT, - fn GetWriterByIndex( - ppIMetadataWriter: *mut *mut IWICMetadataWriter, - ) -> HRESULT, - fn AddWriter( - pIMetadataWriter: *mut IWICMetadataWriter, - ) -> HRESULT, - fn SetWriterByIndex( - pIMetadataWriter: *mut IWICMetadataWriter, - ) -> HRESULT, - fn RemoveWriterByIndex( - nIndex: UINT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x9204fe99, 0xd8fc, 0x4fd5, 0xa0, 0x01, 0x95, 0x36, 0xb0, 0x67, 0xa8, 0x99)] -interface IWICMetadataReader(IWICMetadataReaderVtbl): IUnknown(IUnknownVtbl) { - fn GetMetadataFormat( - pguidMetadataFormat: *mut GUID, - ) -> HRESULT, - fn GetMetadataHandlerInfo( - ppIHandler: *mut *mut IWICMetadataHandlerInfo, - ) -> HRESULT, - fn GetCount( - pcCount: *mut UINT, - ) -> HRESULT, - fn GetValueByIndex( - nIndex: UINT, - pvarSchema: *mut PROPVARIANT, - pvarId: *mut PROPVARIANT, - pvarValue: *mut PROPVARIANT, - ) -> HRESULT, - fn GetValue( - pvarSchema: *const PROPVARIANT, - pvarId: *const PROPVARIANT, - pvarValue: *mut PROPVARIANT, - ) -> HRESULT, - fn GetEnumerator( - ppIEnumMetadata: *mut *mut IWICEnumMetadataItem, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xf7836e16, 0x3be0, 0x470b, 0x86, 0xbb, 0x16, 0x0d, 0x0a, 0xec, 0xd7, 0xde)] -interface IWICMetadataWriter(IWICMetadataWriterVtbl): IWICMetadataReader(IWICMetadataReaderVtbl) { - fn SetValue( - pvarSchema: *const PROPVARIANT, - pvarId: *const PROPVARIANT, - pvarValue: *const PROPVARIANT, - ) -> HRESULT, - fn SetValueByIndex( - nIndex: UINT, - pvarSchema: *const PROPVARIANT, - pvarId: *const PROPVARIANT, - pvarValue: *const PROPVARIANT, - ) -> HRESULT, - fn RemoveValue( - pvarSchema: *const PROPVARIANT, - pvarId: *const PROPVARIANT, - ) -> HRESULT, - fn RemoveValueByIndex( - nIndex: UINT, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x449494bc, 0xb468, 0x4927, 0x96, 0xd7, 0xba, 0x90, 0xd3, 0x1a, 0xb5, 0x05)] -interface IWICStreamProvider(IWICStreamProviderVtbl): IUnknown(IUnknownVtbl) { - fn GetStream( - ppIStream: *mut *mut IStream, - ) -> HRESULT, - fn GetPersistOptions( - pdwPersistOptions: *mut DWORD, - ) -> HRESULT, - fn GetPreferredVendorGUID( - pguidPreferredVendor: *mut GUID, - ) -> HRESULT, - fn RefreshStream() -> HRESULT, -}} -RIDL!{#[uuid(0x00675040, 0x6908, 0x45f8, 0x86, 0xa3, 0x49, 0xc7, 0xdf, 0xd6, 0xd9, 0xad)] -interface IWICPersistStream(IWICPersistStreamVtbl): IPersistStream(IPersistStreamVtbl) { - fn LoadEx( - pIStream: *mut IStream, - pguidPreferredVendor: *const GUID, - dwPersistOptions: DWORD, - ) -> HRESULT, - fn SaveEx( - pIStream: *mut IStream, - dwPersistOptions: DWORD, - fClearDirty: BOOL, - ) -> HRESULT, -}} -RIDL!{#[uuid(0xaba958bf, 0xc672, 0x44d1, 0x8d, 0x61, 0xce, 0x6d, 0xf2, 0xe6, 0x82, 0xc2)] -interface IWICMetadataHandlerInfo(IWICMetadataHandlerInfoVtbl): - IWICComponentInfo(IWICComponentInfoVtbl) { - fn GetMetadataFormat( - pguidMetadataFormat: *mut GUID, - ) -> HRESULT, - fn GetContainerFormats( - cContainerFormats: UINT, - pguidContainerFormats: *mut GUID, - pcchActual: *mut UINT, - ) -> HRESULT, - fn GetDeviceManufacturer( - cchDeviceManufacturer: UINT, - wzDeviceManufacturer: *mut WCHAR, - pcchActual: *mut UINT, - ) -> HRESULT, - fn GetDeviceModels( - cchDeviceModels: UINT, - wzDeviceModels: *mut WCHAR, - pcchActual: *mut UINT, - ) -> HRESULT, - fn DoesRequireFullStream( - pfRequiresFullStream: *mut BOOL, - ) -> HRESULT, - fn DoesSupportPadding( - pfSupportsPadding: *mut BOOL, - ) -> HRESULT, - fn DoesRequireFixedSize( - pfFixedSize: *mut BOOL, - ) -> HRESULT, -}} -STRUCT!{struct WICMetadataPattern { - Position: ULARGE_INTEGER, - Length: ULONG, - Pattern: *mut BYTE, - Mask: *mut BYTE, - DataOffset: ULARGE_INTEGER, -}} -RIDL!{#[uuid(0xeebf1f5b, 0x07c1, 0x4447, 0xa3, 0xab, 0x22, 0xac, 0xaf, 0x78, 0xa8, 0x04)] -interface IWICMetadataReaderInfo(IWICMetadataReaderInfoVtbl): - IWICMetadataHandlerInfo(IWICMetadataHandlerInfoVtbl) { - fn GetPatterns( - guidContainerFormat: REFGUID, - cbSize: UINT, - pPattern: *mut WICMetadataPattern, - pcCount: *mut UINT, - pcbActual: *mut UINT, - ) -> HRESULT, - fn MatchesPattern( - guidContainerFormat: REFGUID, - pIStream: *mut IStream, - pfMatches: *mut BOOL, - ) -> HRESULT, - fn CreateInstance( - ppIReader: *mut *mut IWICMetadataReader, - ) -> HRESULT, -}} -STRUCT!{struct WICMetadataHeader { - Position: ULARGE_INTEGER, - Length: ULONG, - Header: *mut BYTE, - DataOffset: ULARGE_INTEGER, -}} -RIDL!{#[uuid(0xb22e3fba, 0x3925, 0x4323, 0xb5, 0xc1, 0x9e, 0xbf, 0xc4, 0x30, 0xf2, 0x36)] -interface IWICMetadataWriterInfo(IWICMetadataWriterInfoVtbl): - IWICMetadataHandlerInfo(IWICMetadataHandlerInfoVtbl) { - fn GetHeader( - guidContainerFormat: REFGUID, - cbSize: UINT, - pHeader: *mut WICMetadataHeader, - pcbActual: *mut UINT, - ) -> HRESULT, - fn CreateInstance( - ppIWriter: *mut *mut IWICMetadataWriter, - ) -> HRESULT, -}} -RIDL!{#[uuid(0x412d0c3a, 0x9650, 0x44fa, 0xaf, 0x5b, 0xdd, 0x2a, 0x06, 0xc8, 0xe8, 0xfb)] -interface IWICComponentFactory(IWICComponentFactoryVtbl): - IWICImagingFactory(IWICImagingFactoryVtbl) { - fn CreateMetadataReader( - guidMetadataFormat: REFGUID, - pguidVendor: *const GUID, - dwOptions: DWORD, - pIStream: *mut IStream, - ppIReader: *mut *mut IWICMetadataReader, - ) -> HRESULT, - fn CreateMetadataReaderFromContainer( - guidContainerFormat: REFGUID, - pguidVendor: *const GUID, - dwOptions: DWORD, - pIStream: *mut IStream, - ppIReader: *mut *mut IWICMetadataReader, - ) -> HRESULT, - fn CreateMetadataWriter( - guidMetadataFormat: REFGUID, - pguidVendor: *const GUID, - dwMetadataOptions: DWORD, - ppIWriter: *mut *mut IWICMetadataWriter, - ) -> HRESULT, - fn CreateMetadataWriterFromReader( - pIReader: *mut IWICMetadataReader, - pguidVendor: *const GUID, - ppIWriter: *mut *mut IWICMetadataWriter, - ) -> HRESULT, - fn CreateQueryReaderFromBlockReader( - pIBlockReader: *mut IWICMetadataBlockReader, - ppIQueryReader: *mut *mut IWICMetadataQueryReader, - ) -> HRESULT, - fn CreateQueryWriterFromBlockWriter( - pIBlockWriter: *mut IWICMetadataBlockWriter, - ppIQueryWriter: *mut *mut IWICMetadataQueryWriter, - ) -> HRESULT, - fn CreateEncoderPropertyBag( - ppropOptions: *mut PROPBAG2, - cCount: UINT, - ppIPropertyBag: *mut *mut IPropertyBag2, - ) -> HRESULT, -}} -extern "system" { - pub fn WICMatchMetadataContent( - guidContainerFormat: REFGUID, - pguidVendor: *const GUID, - pIStream: *mut IStream, - pguidMetadataFormat: *mut GUID, - ) -> HRESULT; - pub fn WICSerializeMetadataContent( - guidContainerFormat: REFGUID, - pIWriter: *mut IWICMetadataWriter, - dwPersistOptions: DWORD, - pIStream: *mut IStream, - ) -> HRESULT; - pub fn WICGetMetadataContentSize( - guidContainerFormat: REFGUID, - pIWriter: *mut IWICMetadataWriter, - pcbSize: *mut ULARGE_INTEGER, - ) -> HRESULT; - pub fn BSTR_UserSize( - pFlags: *mut c_ulong, - Offset: c_ulong, - pBstr: *mut BSTR, - ) -> c_ulong; - pub fn BSTR_UserMarshal( - pFlags: *mut c_ulong, - pBuffer: *mut c_uchar, - pBstr: *mut BSTR, - ) -> *mut c_uchar; - pub fn BSTR_UserUnmarshal( - pFlags: *mut c_ulong, - pBuffer: *mut c_uchar, - pBstr: *mut BSTR, - ) -> *mut c_uchar; - pub fn BSTR_UserFree( - pFlags: *mut c_ulong, - pBstr: *mut BSTR, - ); - pub fn CLIPFORMAT_UserSize( - pFlags: *mut c_ulong, - Offset: c_ulong, - pCF: *mut CLIPFORMAT, - ) -> c_ulong; - pub fn CLIPFORMAT_UserMarshal( - pFlags: *mut c_ulong, - pBuffer: *mut c_uchar, - pCF: *mut CLIPFORMAT, - ) -> *mut c_uchar; - pub fn CLIPFORMAT_UserUnmarshal( - pFlags: *mut c_ulong, - pBuffer: *mut c_uchar, - pCF: *mut CLIPFORMAT, - ) -> *mut c_uchar; - pub fn CLIPFORMAT_UserFree( - pFlags: *mut c_ulong, - pCF: *mut CLIPFORMAT, - ); - pub fn LPSAFEARRAY_UserSize( - pFlags: *mut c_ulong, - Offset: c_ulong, - phBmp: *mut LPSAFEARRAY, - ) -> c_ulong; - pub fn LPSAFEARRAY_UserMarshal( - pFlags: *mut c_ulong, - pBuffer: *mut c_uchar, - pBstr: *mut LPSAFEARRAY, - ) -> *mut c_uchar; - pub fn LPSAFEARRAY_UserUnmarshal( - pFlags: *mut c_ulong, - pBuffer: *mut c_uchar, - pBstr: *mut LPSAFEARRAY, - ) -> *mut c_uchar; - pub fn LPSAFEARRAY_UserFree( - pFlags: *mut c_ulong, - pBstr: *mut LPSAFEARRAY, - ); -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/wincon.rs b/vendor/registry-40351f815f426200/winapi/src/um/wincon.rs deleted file mode 100644 index 9eb3a2290..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/wincon.rs +++ /dev/null @@ -1,459 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This module contains the public data structures, data types, and procedures exported by the NT -//! console subsystem. -use ctypes::c_void; -use shared::minwindef::{BOOL, DWORD, LPDWORD, LPVOID, LPWORD, UINT, ULONG, WORD}; -use shared::windef::{COLORREF, HWND}; -use um::minwinbase::SECURITY_ATTRIBUTES; -use um::wingdi::LF_FACESIZE; -use um::winnt::{CHAR, HANDLE, LPCSTR, LPCWSTR, LPSTR, LPWSTR, WCHAR}; -// Many definitions in wincontypes used to be defined in this file, so reexport them to avoid -// breakage. For clarity they are imported in the order they are defined in that file rather -// than winapi's usual alphabetical ordering, with some newlines and indentation to match their -// grouping in the file. -pub use um::wincontypes::{ - COORD, PCOORD, - SMALL_RECT, PSMALL_RECT, - KEY_EVENT_RECORD_uChar, KEY_EVENT_RECORD, PKEY_EVENT_RECORD, - RIGHT_ALT_PRESSED, LEFT_ALT_PRESSED, RIGHT_CTRL_PRESSED, LEFT_CTRL_PRESSED, SHIFT_PRESSED, - NUMLOCK_ON, SCROLLLOCK_ON, CAPSLOCK_ON, ENHANCED_KEY, NLS_DBCSCHAR, NLS_ALPHANUMERIC, - NLS_KATAKANA, NLS_HIRAGANA, NLS_ROMAN, NLS_IME_CONVERSION, NLS_IME_DISABLE, - MOUSE_EVENT_RECORD, PMOUSE_EVENT_RECORD, - FROM_LEFT_1ST_BUTTON_PRESSED, RIGHTMOST_BUTTON_PRESSED, FROM_LEFT_2ND_BUTTON_PRESSED, - FROM_LEFT_3RD_BUTTON_PRESSED, FROM_LEFT_4TH_BUTTON_PRESSED, MOUSE_MOVED, DOUBLE_CLICK, - MOUSE_WHEELED, MOUSE_HWHEELED, - WINDOW_BUFFER_SIZE_RECORD, PWINDOW_BUFFER_SIZE_RECORD, - MENU_EVENT_RECORD, PMENU_EVENT_RECORD, - FOCUS_EVENT_RECORD, PFOCUS_EVENT_RECORD, - INPUT_RECORD_Event, INPUT_RECORD, PINPUT_RECORD, - KEY_EVENT, MOUSE_EVENT, WINDOW_BUFFER_SIZE_EVENT, MENU_EVENT, FOCUS_EVENT, - CHAR_INFO_Char, CHAR_INFO, PCHAR_INFO, - CONSOLE_FONT_INFO, PCONSOLE_FONT_INFO -}; -pub const FOREGROUND_BLUE: WORD = 0x0001; -pub const FOREGROUND_GREEN: WORD = 0x0002; -pub const FOREGROUND_RED: WORD = 0x0004; -pub const FOREGROUND_INTENSITY: WORD = 0x0008; -pub const BACKGROUND_BLUE: WORD = 0x0010; -pub const BACKGROUND_GREEN: WORD = 0x0020; -pub const BACKGROUND_RED: WORD = 0x0040; -pub const BACKGROUND_INTENSITY: WORD = 0x0080; -pub const COMMON_LVB_LEADING_BYTE: WORD = 0x0100; -pub const COMMON_LVB_TRAILING_BYTE: WORD = 0x0200; -pub const COMMON_LVB_GRID_HORIZONTAL: WORD = 0x0400; -pub const COMMON_LVB_GRID_LVERTICAL: WORD = 0x0800; -pub const COMMON_LVB_GRID_RVERTICAL: WORD = 0x1000; -pub const COMMON_LVB_REVERSE_VIDEO: WORD = 0x4000; -pub const COMMON_LVB_UNDERSCORE: WORD = 0x8000; -pub const COMMON_LVB_SBCSDBCS: WORD = 0x0300; -STRUCT!{struct CONSOLE_SCREEN_BUFFER_INFO { - dwSize: COORD, - dwCursorPosition: COORD, - wAttributes: WORD, - srWindow: SMALL_RECT, - dwMaximumWindowSize: COORD, -}} -pub type PCONSOLE_SCREEN_BUFFER_INFO = *mut CONSOLE_SCREEN_BUFFER_INFO; -STRUCT!{struct CONSOLE_SCREEN_BUFFER_INFOEX { - cbSize: ULONG, - dwSize: COORD, - dwCursorPosition: COORD, - wAttributes: WORD, - srWindow: SMALL_RECT, - dwMaximumWindowSize: COORD, - wPopupAttributes: WORD, - bFullscreenSupported: BOOL, - ColorTable: [COLORREF; 16], -}} -pub type PCONSOLE_SCREEN_BUFFER_INFOEX = *mut CONSOLE_SCREEN_BUFFER_INFOEX; -STRUCT!{struct CONSOLE_CURSOR_INFO { - dwSize: DWORD, - bVisible: BOOL, -}} -pub type PCONSOLE_CURSOR_INFO = *mut CONSOLE_CURSOR_INFO; -STRUCT!{struct CONSOLE_FONT_INFOEX { - cbSize: ULONG, - nFont: DWORD, - dwFontSize: COORD, - FontFamily: UINT, - FontWeight: UINT, - FaceName: [WCHAR; LF_FACESIZE], -}} -pub type PCONSOLE_FONT_INFOEX = *mut CONSOLE_FONT_INFOEX; -pub const HISTORY_NO_DUP_FLAG: DWORD = 0x1; -STRUCT!{struct CONSOLE_HISTORY_INFO { - cbSize: UINT, - HistoryBufferSize: UINT, - NumberOfHistoryBuffers: UINT, - dwFlags: DWORD, -}} -pub type PCONSOLE_HISTORY_INFO = *mut CONSOLE_HISTORY_INFO; -STRUCT!{struct CONSOLE_SELECTION_INFO { - dwFlags: DWORD, - dwSelectionAnchor: COORD, - srSelection: SMALL_RECT, -}} -pub type PCONSOLE_SELECTION_INFO = *mut CONSOLE_SELECTION_INFO; -pub const CONSOLE_NO_SELECTION: DWORD = 0x0000; -pub const CONSOLE_SELECTION_IN_PROGRESS: DWORD = 0x0001; -pub const CONSOLE_SELECTION_NOT_EMPTY: DWORD = 0x0002; -pub const CONSOLE_MOUSE_SELECTION: DWORD = 0x0004; -pub const CONSOLE_MOUSE_DOWN: DWORD = 0x0008; -FN!{stdcall PHANDLER_ROUTINE( - CtrlType: DWORD, -) -> BOOL} -pub const CTRL_C_EVENT: DWORD = 0; -pub const CTRL_BREAK_EVENT: DWORD = 1; -pub const CTRL_CLOSE_EVENT: DWORD = 2; -pub const CTRL_LOGOFF_EVENT: DWORD = 5; -pub const CTRL_SHUTDOWN_EVENT: DWORD = 6; -pub const ENABLE_PROCESSED_INPUT: DWORD = 0x0001; -pub const ENABLE_LINE_INPUT: DWORD = 0x0002; -pub const ENABLE_ECHO_INPUT: DWORD = 0x0004; -pub const ENABLE_WINDOW_INPUT: DWORD = 0x0008; -pub const ENABLE_MOUSE_INPUT: DWORD = 0x0010; -pub const ENABLE_INSERT_MODE: DWORD = 0x0020; -pub const ENABLE_QUICK_EDIT_MODE: DWORD = 0x0040; -pub const ENABLE_EXTENDED_FLAGS: DWORD = 0x0080; -pub const ENABLE_AUTO_POSITION: DWORD = 0x0100; -pub const ENABLE_VIRTUAL_TERMINAL_INPUT: DWORD = 0x0200; -pub const ENABLE_PROCESSED_OUTPUT: DWORD = 0x0001; -pub const ENABLE_WRAP_AT_EOL_OUTPUT: DWORD = 0x0002; -pub const ENABLE_VIRTUAL_TERMINAL_PROCESSING: DWORD = 0x0004; -pub const DISABLE_NEWLINE_AUTO_RETURN: DWORD = 0x0008; -pub const ENABLE_LVB_GRID_WORLDWIDE: DWORD = 0x0010; -extern "system" { - pub fn PeekConsoleInputW( - hConsoleInput: HANDLE, - lpBuffer: PINPUT_RECORD, - nLength: DWORD, - lpNumberOfEventsRead: LPDWORD, - ) -> BOOL; - pub fn WriteConsoleInputA( - hConsoleInput: HANDLE, - lpBuffer: *const INPUT_RECORD, - nLength: DWORD, - lpNumberOfEventsWritten: LPDWORD, - ) -> BOOL; - pub fn WriteConsoleInputW( - hConsoleInput: HANDLE, - lpBuffer: *const INPUT_RECORD, - nLength: DWORD, - lpNumberOfEventsWritten: LPDWORD, - ) -> BOOL; - pub fn ReadConsoleOutputA( - hConsoleOutput: HANDLE, - lpBuffer: PCHAR_INFO, - dwBufferSize: COORD, - dwBufferCoord: COORD, - lpReadRegion: PSMALL_RECT, - ) -> BOOL; - pub fn ReadConsoleOutputW( - hConsoleOutput: HANDLE, - lpBuffer: PCHAR_INFO, - dwBufferSize: COORD, - dwBufferCoord: COORD, - lpReadRegion: PSMALL_RECT, - ) -> BOOL; - pub fn WriteConsoleOutputA( - hConsoleOutput: HANDLE, - lpBuffer: *const CHAR_INFO, - dwBufferSize: COORD, - dwBufferCoord: COORD, - lpWriteRegion: PSMALL_RECT, - ) -> BOOL; - pub fn WriteConsoleOutputW( - hConsoleOutput: HANDLE, - lpBuffer: *const CHAR_INFO, - dwBufferSize: COORD, - dwBufferCoord: COORD, - lpWriteRegion: PSMALL_RECT, - ) -> BOOL; - pub fn ReadConsoleOutputCharacterA( - hConsoleOutput: HANDLE, - lpCharacter: LPSTR, - nLength: DWORD, - dwReadCoord: COORD, - lpNumberOfCharsRead: LPDWORD, - ) -> BOOL; - pub fn ReadConsoleOutputCharacterW( - hConsoleOutput: HANDLE, - lpCharacter: LPWSTR, - nLength: DWORD, - dwReadCoord: COORD, - lpNumberOfCharsRead: LPDWORD, - ) -> BOOL; - pub fn ReadConsoleOutputAttribute( - hConsoleOutput: HANDLE, - lpAttribute: LPWORD, - nLength: DWORD, - dwReadCoord: COORD, - lpNumberOfAttrsRead: LPDWORD, - ) -> BOOL; - pub fn WriteConsoleOutputCharacterA( - hConsoleOutput: HANDLE, - lpCharacter: LPCSTR, - nLength: DWORD, - dwWriteCoord: COORD, - lpNumberOfCharsWritten: LPDWORD, - ) -> BOOL; - pub fn WriteConsoleOutputCharacterW( - hConsoleOutput: HANDLE, - lpCharacter: LPCWSTR, - nLength: DWORD, - dwWriteCoord: COORD, - lpNumberOfCharsWritten: LPDWORD, - ) -> BOOL; - pub fn WriteConsoleOutputAttribute( - hConsoleOutput: HANDLE, - lpAttribute: *const WORD, - nLength: DWORD, - dwWriteCoord: COORD, - lpNumberOfAttrsWritten: LPDWORD, - ) -> BOOL; - pub fn FillConsoleOutputCharacterA( - hConsoleOutput: HANDLE, - cCharacter: CHAR, - nLength: DWORD, - dwWriteCoord: COORD, - lpNumberOfCharsWritten: LPDWORD, - ) -> BOOL; - pub fn FillConsoleOutputCharacterW( - hConsoleOutput: HANDLE, - cCharacter: WCHAR, - nLength: DWORD, - dwWriteCoord: COORD, - lpNumberOfCharsWritten: LPDWORD, - ) -> BOOL; - pub fn FillConsoleOutputAttribute( - hConsoleOutput: HANDLE, - wAttribute: WORD, - nLength: DWORD, - dwWriteCoord: COORD, - lpNumberOfAttrsWritten: LPDWORD, - ) -> BOOL; -} -pub const CONSOLE_REAL_OUTPUT_HANDLE: *mut c_void = -2isize as *mut c_void; -pub const CONSOLE_REAL_INPUT_HANDLE: *mut c_void = -3isize as *mut c_void; -extern "system" { - pub fn GetConsoleScreenBufferInfo( - hConsoleOutput: HANDLE, - lpConsoleScreenBufferInfo: PCONSOLE_SCREEN_BUFFER_INFO, - ) -> BOOL; - pub fn GetConsoleScreenBufferInfoEx( - hConsoleOutput: HANDLE, - lpConsoleScreenBufferInfoEx: PCONSOLE_SCREEN_BUFFER_INFOEX, - ) -> BOOL; - pub fn SetConsoleScreenBufferInfoEx( - hConsoleOutput: HANDLE, - lpConsoleScreenBufferInfoEx: PCONSOLE_SCREEN_BUFFER_INFOEX, - ) -> BOOL; - pub fn GetLargestConsoleWindowSize( - hConsoleOutput: HANDLE, - ) -> COORD; - pub fn GetConsoleCursorInfo( - hConsoleOutput: HANDLE, - lpConsoleCursorInfo: PCONSOLE_CURSOR_INFO, - ) -> BOOL; - pub fn GetCurrentConsoleFont( - hConsoleOutput: HANDLE, - bMaximumWindow: BOOL, - lpConsoleCurrentFont: PCONSOLE_FONT_INFO, - ) -> BOOL; - pub fn GetCurrentConsoleFontEx( - hConsoleOutput: HANDLE, - bMaximumWindow: BOOL, - lpConsoleCurrentFontEx: PCONSOLE_FONT_INFOEX, - ) -> BOOL; - pub fn SetCurrentConsoleFontEx( - hConsoleOutput: HANDLE, - bMaximumWindow: BOOL, - lpConsoleCurrentFontEx: PCONSOLE_FONT_INFOEX, - ) -> BOOL; - pub fn GetConsoleHistoryInfo( - lpConsoleHistoryInfo: PCONSOLE_HISTORY_INFO, - ) -> BOOL; - pub fn SetConsoleHistoryInfo( - lpConsoleHistoryInfo: PCONSOLE_HISTORY_INFO, - ) -> BOOL; - pub fn GetConsoleFontSize( - hConsoleOutput: HANDLE, - nFont: DWORD, - ) -> COORD; - pub fn GetConsoleSelectionInfo( - lpConsoleSelectionInfo: PCONSOLE_SELECTION_INFO, - ) -> BOOL; - pub fn GetNumberOfConsoleMouseButtons( - lpNumberOfMouseButtons: LPDWORD, - ) -> BOOL; - pub fn SetConsoleActiveScreenBuffer( - hConsoleOutput: HANDLE, - ) -> BOOL; - pub fn FlushConsoleInputBuffer( - hConsoleInput: HANDLE, - ) -> BOOL; - pub fn SetConsoleScreenBufferSize( - hConsoleOutput: HANDLE, - dwSize: COORD, - ) -> BOOL; - pub fn SetConsoleCursorPosition( - hConsoleOutput: HANDLE, - dwCursorPosition: COORD, - ) -> BOOL; - pub fn SetConsoleCursorInfo( - hConsoleOutput: HANDLE, - lpConsoleCursorInfo: *const CONSOLE_CURSOR_INFO, - ) -> BOOL; - pub fn ScrollConsoleScreenBufferA( - hConsoleOutput: HANDLE, - lpScrollRectangle: *const SMALL_RECT, - lpClipRectangle: *const SMALL_RECT, - dwDestinationOrigin: COORD, - lpFill: *const CHAR_INFO, - ) -> BOOL; - pub fn ScrollConsoleScreenBufferW( - hConsoleOutput: HANDLE, - lpScrollRectangle: *const SMALL_RECT, - lpClipRectangle: *const SMALL_RECT, - dwDestinationOrigin: COORD, - lpFill: *const CHAR_INFO, - ) -> BOOL; - pub fn SetConsoleWindowInfo( - hConsoleOutput: HANDLE, - bAbsolute: BOOL, - lpConsoleWindow: *const SMALL_RECT, - ) -> BOOL; - pub fn SetConsoleTextAttribute( - hConsoleOutput: HANDLE, - wAttributes: WORD, - ) -> BOOL; - pub fn GenerateConsoleCtrlEvent( - dwCtrlEvent: DWORD, - dwProcessGroupId: DWORD, - ) -> BOOL; - pub fn FreeConsole() -> BOOL; - pub fn AttachConsole( - dwProcessId: DWORD, - ) -> BOOL; -} -pub const ATTACH_PARENT_PROCESS: DWORD = 0xFFFFFFFF; -extern "system" { - pub fn GetConsoleTitleA( - lpConsoleTitle: LPSTR, - nSize: DWORD, - ) -> DWORD; - pub fn GetConsoleTitleW( - lpConsoleTitle: LPWSTR, - nSize: DWORD, - ) -> DWORD; - pub fn GetConsoleOriginalTitleA( - lpConsoleTitle: LPSTR, - nSize: DWORD, - ) -> DWORD; - pub fn GetConsoleOriginalTitleW( - lpConsoleTitle: LPWSTR, - nSize: DWORD, - ) -> DWORD; - pub fn SetConsoleTitleA( - lpConsoleTitle: LPCSTR, - ) -> BOOL; - pub fn SetConsoleTitleW( - lpConsoleTitle: LPCWSTR, - ) -> BOOL; -} -STRUCT!{struct CONSOLE_READCONSOLE_CONTROL { - nLength: ULONG, - nInitialChars: ULONG, - dwCtrlWakeupMask: ULONG, - dwControlKeyState: ULONG, -}} -pub type PCONSOLE_READCONSOLE_CONTROL = *mut CONSOLE_READCONSOLE_CONTROL; -pub const CONSOLE_TEXTMODE_BUFFER: DWORD = 1; -extern "system" { - pub fn CreateConsoleScreenBuffer( - dwDesiredAccess: DWORD, - dwShareMode: DWORD, - lpSecurityAttributes: *const SECURITY_ATTRIBUTES, - dwFlags: DWORD, - lpScreenBufferData: LPVOID, - ) -> HANDLE; - pub fn SetConsoleCP( - wCodePageID: UINT, - ) -> BOOL; - pub fn SetConsoleOutputCP( - wCodePageID: UINT, - ) -> BOOL; -} -pub const CONSOLE_FULLSCREEN: DWORD = 1; -pub const CONSOLE_FULLSCREEN_HARDWARE: DWORD = 2; -extern "system" { - pub fn GetConsoleDisplayMode( - lpModeFlags: LPDWORD, - ) -> BOOL; -} -pub const CONSOLE_FULLSCREEN_MODE: DWORD = 1; -pub const CONSOLE_WINDOWED_MODE: DWORD = 2; -extern "system" { - pub fn SetConsoleDisplayMode( - hConsoleOutput: HANDLE, - dwFlags: DWORD, - lpNewScreenBufferDimensions: PCOORD, - ) -> BOOL; - pub fn GetConsoleWindow() -> HWND; - pub fn GetConsoleProcessList( - lpdwProcessList: LPDWORD, - dwProcessCount: DWORD, - ) -> DWORD; - pub fn AddConsoleAliasA( - Source: LPSTR, - Target: LPSTR, - ExeName: LPSTR, - ) -> BOOL; - pub fn AddConsoleAliasW( - Source: LPWSTR, - Target: LPWSTR, - ExeName: LPWSTR, - ) -> BOOL; - pub fn GetConsoleAliasA( - Source: LPSTR, - TargetBuffer: LPSTR, - TargetBufferLength: DWORD, - ExeName: LPSTR, - ) -> DWORD; - pub fn GetConsoleAliasW( - Source: LPWSTR, - TargetBuffer: LPWSTR, - TargetBufferLength: DWORD, - ExeName: LPWSTR, - ) -> DWORD; - pub fn GetConsoleAliasesLengthA( - ExeName: LPSTR, - ) -> DWORD; - pub fn GetConsoleAliasesLengthW( - ExeName: LPWSTR, - ) -> DWORD; - pub fn GetConsoleAliasExesLengthA() -> DWORD; - pub fn GetConsoleAliasExesLengthW() -> DWORD; - pub fn GetConsoleAliasesA( - AliasBuffer: LPSTR, - AliasBufferLength: DWORD, - ExeName: LPSTR, - ) -> DWORD; - pub fn GetConsoleAliasesW( - AliasBuffer: LPWSTR, - AliasBufferLength: DWORD, - ExeName: LPWSTR, - ) -> DWORD; - pub fn GetConsoleAliasExesA( - ExeNameBuffer: LPSTR, - ExeNameBufferLength: DWORD, - ) -> DWORD; - pub fn GetConsoleAliasExesW( - ExeNameBuffer: LPWSTR, - ExeNameBufferLength: DWORD, - ) -> DWORD; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/wincontypes.rs b/vendor/registry-40351f815f426200/winapi/src/um/wincontypes.rs deleted file mode 100644 index ab37d0201..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/wincontypes.rs +++ /dev/null @@ -1,114 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This module contains the public data structures, data types, and procedures exported by the NT -//! console subsystem. -use ctypes::c_void; -use shared::minwindef::{BOOL, DWORD, UINT, WORD}; -use um::winnt::{CHAR, SHORT, WCHAR}; -STRUCT!{struct COORD { - X: SHORT, - Y: SHORT, -}} -pub type PCOORD = *mut COORD; -STRUCT!{struct SMALL_RECT { - Left: SHORT, - Top: SHORT, - Right: SHORT, - Bottom: SHORT, -}} -pub type PSMALL_RECT = *mut SMALL_RECT; -UNION!{union KEY_EVENT_RECORD_uChar { - [u16; 1], - UnicodeChar UnicodeChar_mut: WCHAR, - AsciiChar AsciiChar_mut: CHAR, -}} -STRUCT!{struct KEY_EVENT_RECORD { - bKeyDown: BOOL, - wRepeatCount: WORD, - wVirtualKeyCode: WORD, - wVirtualScanCode: WORD, - uChar: KEY_EVENT_RECORD_uChar, - dwControlKeyState: DWORD, -}} -pub type PKEY_EVENT_RECORD = *mut KEY_EVENT_RECORD; -pub const RIGHT_ALT_PRESSED: DWORD = 0x0001; -pub const LEFT_ALT_PRESSED: DWORD = 0x0002; -pub const RIGHT_CTRL_PRESSED: DWORD = 0x0004; -pub const LEFT_CTRL_PRESSED: DWORD = 0x0008; -pub const SHIFT_PRESSED: DWORD = 0x0010; -pub const NUMLOCK_ON: DWORD = 0x0020; -pub const SCROLLLOCK_ON: DWORD = 0x0040; -pub const CAPSLOCK_ON: DWORD = 0x0080; -pub const ENHANCED_KEY: DWORD = 0x0100; -pub const NLS_DBCSCHAR: DWORD = 0x00010000; -pub const NLS_ALPHANUMERIC: DWORD = 0x00000000; -pub const NLS_KATAKANA: DWORD = 0x00020000; -pub const NLS_HIRAGANA: DWORD = 0x00040000; -pub const NLS_ROMAN: DWORD = 0x00400000; -pub const NLS_IME_CONVERSION: DWORD = 0x00800000; -pub const NLS_IME_DISABLE: DWORD = 0x20000000; -STRUCT!{struct MOUSE_EVENT_RECORD { - dwMousePosition: COORD, - dwButtonState: DWORD, - dwControlKeyState: DWORD, - dwEventFlags: DWORD, -}} -pub type PMOUSE_EVENT_RECORD = *mut MOUSE_EVENT_RECORD; -pub const FROM_LEFT_1ST_BUTTON_PRESSED: DWORD = 0x0001; -pub const RIGHTMOST_BUTTON_PRESSED: DWORD = 0x0002; -pub const FROM_LEFT_2ND_BUTTON_PRESSED: DWORD = 0x0004; -pub const FROM_LEFT_3RD_BUTTON_PRESSED: DWORD = 0x0008; -pub const FROM_LEFT_4TH_BUTTON_PRESSED: DWORD = 0x0010; -pub const MOUSE_MOVED: DWORD = 0x0001; -pub const DOUBLE_CLICK: DWORD = 0x0002; -pub const MOUSE_WHEELED: DWORD = 0x0004; -pub const MOUSE_HWHEELED: DWORD = 0x0008; -STRUCT!{struct WINDOW_BUFFER_SIZE_RECORD { - dwSize: COORD, -}} -pub type PWINDOW_BUFFER_SIZE_RECORD = *mut WINDOW_BUFFER_SIZE_RECORD; -STRUCT!{struct MENU_EVENT_RECORD { - dwCommandId: UINT, -}} -pub type PMENU_EVENT_RECORD = *mut MENU_EVENT_RECORD; -STRUCT!{struct FOCUS_EVENT_RECORD { - bSetFocus: BOOL, -}} -pub type PFOCUS_EVENT_RECORD = *mut FOCUS_EVENT_RECORD; -UNION!{union INPUT_RECORD_Event { - [u32; 4], - KeyEvent KeyEvent_mut: KEY_EVENT_RECORD, - MouseEvent MouseEvent_mut: MOUSE_EVENT_RECORD, - WindowBufferSizeEvent WindowBufferSizeEvent_mut: WINDOW_BUFFER_SIZE_RECORD, - MenuEvent MenuEvent_mut: MENU_EVENT_RECORD, - FocusEvent FocusEvent_mut: FOCUS_EVENT_RECORD, -}} -STRUCT!{struct INPUT_RECORD { - EventType: WORD, - Event: INPUT_RECORD_Event, -}} -pub type PINPUT_RECORD = *mut INPUT_RECORD; -pub const KEY_EVENT: WORD = 0x0001; -pub const MOUSE_EVENT: WORD = 0x0002; -pub const WINDOW_BUFFER_SIZE_EVENT: WORD = 0x0004; -pub const MENU_EVENT: WORD = 0x0008; -pub const FOCUS_EVENT: WORD = 0x0010; -UNION!{union CHAR_INFO_Char { - [u16; 1], - UnicodeChar UnicodeChar_mut: WCHAR, - AsciiChar AsciiChar_mut: CHAR, -}} -STRUCT!{struct CHAR_INFO { - Char: CHAR_INFO_Char, - Attributes: WORD, -}} -pub type PCHAR_INFO = *mut CHAR_INFO; -STRUCT!{struct CONSOLE_FONT_INFO { - nFont: DWORD, - dwFontSize: COORD, -}} -pub type PCONSOLE_FONT_INFO = *mut CONSOLE_FONT_INFO; -pub type HPCON = *mut c_void; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/wincred.rs b/vendor/registry-40351f815f426200/winapi/src/um/wincred.rs deleted file mode 100644 index 660837e73..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/wincred.rs +++ /dev/null @@ -1,532 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Authentication API Prototypes and Definitions -use shared::minwindef::{ - BOOL, DWORD, FILETIME, LPBYTE, LPCVOID, LPDWORD, LPVOID, PBOOL, PBYTE, UCHAR, ULONG -}; -use shared::windef::{HBITMAP, HWND}; -use um::sspi::PCtxtHandle; -use um::winnt::{CHAR, LPCSTR, LPCWSTR, LPSTR, LPWSTR, PCSTR, PCWSTR, PSTR, PVOID, PWSTR, WCHAR}; -// STATUS_* -pub const NERR_BASE: DWORD = 2100; -pub const NERR_PasswordExpired: DWORD = NERR_BASE + 142; -pub const CRED_MAX_STRING_LENGTH: DWORD = 256; -pub const CRED_MAX_USERNAME_LENGTH: DWORD = 256 + 1 + 256; -pub const CRED_MAX_GENERIC_TARGET_NAME_LENGTH: DWORD = 32767; -pub const CRED_MAX_DOMAIN_TARGET_NAME_LENGTH: DWORD = 256 + 1 + 80; -pub const CRED_MAX_TARGETNAME_NAMESPACE_LENGTH: DWORD = 256; -pub const CRED_MAX_TARGETNAME_ATTRIBUTE_LENGTH: DWORD = 256; -pub const CRED_MAX_VALUE_SIZE: DWORD = 256; -pub const CRED_MAX_ATTRIBUTES: DWORD = 64; -STRUCT!{struct CREDENTIAL_ATTRIBUTEA { - Keyword: LPSTR, - Flags: DWORD, - ValueSize: DWORD, - Value: LPBYTE, -}} -pub type PCREDENTIAL_ATTRIBUTEA = *mut CREDENTIAL_ATTRIBUTEA; -STRUCT!{struct CREDENTIAL_ATTRIBUTEW { - Keyword: LPWSTR, - Flags: DWORD, - ValueSize: DWORD, - Value: LPBYTE, -}} -pub type PCREDENTIAL_ATTRIBUTEW = *mut CREDENTIAL_ATTRIBUTEW; -pub const CRED_LOGON_TYPES_MASK: DWORD = 0xF000; -pub const CRED_FLAGS_PASSWORD_FOR_CERT: DWORD = 0x0001; -pub const CRED_FLAGS_PROMPT_NOW: DWORD = 0x0002; -pub const CRED_FLAGS_USERNAME_TARGET: DWORD = 0x0004; -pub const CRED_FLAGS_OWF_CRED_BLOB: DWORD = 0x0008; -pub const CRED_FLAGS_REQUIRE_CONFIRMATION: DWORD = 0x0010; -pub const CRED_FLAGS_WILDCARD_MATCH: DWORD = 0x0020; -pub const CRED_FLAGS_VALID_FLAGS: DWORD = 0xF03F; -pub const CRED_FLAGS_VALID_INPUT_FLAGS: DWORD = 0xF01F; -pub const CRED_TYPE_GENERIC: DWORD = 1; -pub const CRED_TYPE_DOMAIN_PASSWORD: DWORD = 2; -pub const CRED_TYPE_DOMAIN_CERTIFICATE: DWORD = 3; -pub const CRED_TYPE_DOMAIN_VISIBLE_PASSWORD: DWORD = 4; -pub const CRED_TYPE_GENERIC_CERTIFICATE: DWORD = 5; -pub const CRED_TYPE_DOMAIN_EXTENDED: DWORD = 6; -pub const CRED_TYPE_MAXIMUM: DWORD = 7; -pub const CRED_TYPE_MAXIMUM_EX: DWORD = CRED_TYPE_MAXIMUM + 1000; -pub const CRED_MAX_CREDENTIAL_BLOB_SIZE: DWORD = 5 * 512; -pub const CRED_PERSIST_NONE: DWORD = 0; -pub const CRED_PERSIST_SESSION: DWORD = 1; -pub const CRED_PERSIST_LOCAL_MACHINE: DWORD = 2; -pub const CRED_PERSIST_ENTERPRISE: DWORD = 3; -STRUCT!{struct CREDENTIALA { - Flags: DWORD, - Type: DWORD, - TargetName: LPSTR, - Comment: LPSTR, - LastWritten: FILETIME, - CredentialBlobSize: DWORD, - CredentialBlob: LPBYTE, - Persist: DWORD, - AttributeCount: DWORD, - Attributes: PCREDENTIAL_ATTRIBUTEA, - TargetAlias: LPSTR, - UserName: LPSTR, -}} -pub type PCREDENTIALA = *mut CREDENTIALA; -STRUCT!{struct CREDENTIALW { - Flags: DWORD, - Type: DWORD, - TargetName: LPWSTR, - Comment: LPWSTR, - LastWritten: FILETIME, - CredentialBlobSize: DWORD, - CredentialBlob: LPBYTE, - Persist: DWORD, - AttributeCount: DWORD, - Attributes: PCREDENTIAL_ATTRIBUTEW, - TargetAlias: LPWSTR, - UserName: LPWSTR, -}} -pub type PCREDENTIALW = *mut CREDENTIALW; -pub const CRED_TI_SERVER_FORMAT_UNKNOWN: ULONG = 0x0001; -pub const CRED_TI_DOMAIN_FORMAT_UNKNOWN: ULONG = 0x0002; -pub const CRED_TI_ONLY_PASSWORD_REQUIRED: ULONG = 0x0004; -pub const CRED_TI_USERNAME_TARGET: ULONG = 0x0008; -pub const CRED_TI_CREATE_EXPLICIT_CRED: ULONG = 0x0010; -pub const CRED_TI_WORKGROUP_MEMBER: ULONG = 0x0020; -pub const CRED_TI_VALID_FLAGS: ULONG = 0xF07F; -STRUCT!{struct CREDENTIAL_TARGET_INFORMATIONA { - TargetName: LPSTR, - NetbiosServerName: LPSTR, - DnsServerName: LPSTR, - NetbiosDomainName: LPSTR, - DnsDomainName: LPSTR, - DnsTreeName: LPSTR, - PackageName: LPSTR, - Flags: ULONG, - CredTypeCount: DWORD, - CredTypes: LPDWORD, -}} -pub type PCREDENTIAL_TARGET_INFORMATIONA = *mut CREDENTIAL_TARGET_INFORMATIONA; -STRUCT!{struct CREDENTIAL_TARGET_INFORMATIONW { - TargetName: LPWSTR, - NetbiosServerName: LPWSTR, - DnsServerName: LPWSTR, - NetbiosDomainName: LPWSTR, - DnsDomainName: LPWSTR, - DnsTreeName: LPWSTR, - PackageName: LPWSTR, - Flags: ULONG, - CredTypeCount: DWORD, - CredTypes: LPDWORD, -}} -pub type PCREDENTIAL_TARGET_INFORMATIONW = *mut CREDENTIAL_TARGET_INFORMATIONW; -pub const CERT_HASH_LENGTH: usize = 20; -STRUCT!{struct CERT_CREDENTIAL_INFO { - cbSize: ULONG, - rgbHashOfCert: [UCHAR; CERT_HASH_LENGTH], -}} -pub type PCERT_CREDENTIAL_INFO = *mut CERT_CREDENTIAL_INFO; -STRUCT!{struct USERNAME_TARGET_CREDENTIAL_INFO { - UserName: LPWSTR, -}} -pub type PUSERNAME_TARGET_CREDENTIAL_INFO = *mut USERNAME_TARGET_CREDENTIAL_INFO; -STRUCT!{struct BINARY_BLOB_CREDENTIAL_INFO { - cbBlob: ULONG, - pbBlob: LPBYTE, -}} -pub type PBINARY_BLOB_CREDENTIAL_INFO = *mut BINARY_BLOB_CREDENTIAL_INFO; -ENUM!{enum CRED_MARSHAL_TYPE { - CertCredential = 1, - UsernameTargetCredential, - BinaryBlobCredential, - UsernameForPackedCredentials, -}} -pub type PCRED_MARSHAL_TYPE = *mut CRED_MARSHAL_TYPE; -ENUM!{enum CRED_PROTECTION_TYPE { - CredUnprotected, - CredUserProtection, - CredTrustedProtection, -}} -pub type PCRED_PROTECTION_TYPE = *mut CRED_PROTECTION_TYPE; -pub const CRED_PACK_PROTECTED_CREDENTIALS: DWORD = 0x1; -pub const CRED_PACK_WOW_BUFFER: DWORD = 0x2; -pub const CRED_PACK_GENERIC_CREDENTIALS: DWORD = 0x4; -pub const CRED_PACK_ID_PROVIDER_CREDENTIALS: DWORD = 0x8; -STRUCT!{struct CREDUI_INFOA { - cbSize: DWORD, - hwndParent: HWND, - pszMessageText: PCSTR, - pszCaptionText: PCSTR, - hbmBanner: HBITMAP, -}} -pub type PCREDUI_INFOA = *mut CREDUI_INFOA; -STRUCT!{struct CREDUI_INFOW { - cbSize: DWORD, - hwndParent: HWND, - pszMessageText: PCWSTR, - pszCaptionText: PCWSTR, - hbmBanner: HBITMAP, -}} -pub type PCREDUI_INFOW = *mut CREDUI_INFOW; -pub const CREDUI_MAX_MESSAGE_LENGTH: DWORD = 1024; -pub const CREDUI_MAX_CAPTION_LENGTH: DWORD = 128; -pub const CREDUI_MAX_GENERIC_TARGET_LENGTH: DWORD = CRED_MAX_GENERIC_TARGET_NAME_LENGTH; -pub const CREDUI_MAX_DOMAIN_TARGET_LENGTH: DWORD = CRED_MAX_DOMAIN_TARGET_NAME_LENGTH; -pub const CREDUI_MAX_USERNAME_LENGTH: DWORD = CRED_MAX_USERNAME_LENGTH; -pub const CREDUI_MAX_PASSWORD_LENGTH: DWORD = 512 / 2; -pub const CREDUI_FLAGS_INCORRECT_PASSWORD: DWORD = 0x00001; -pub const CREDUI_FLAGS_DO_NOT_PERSIST: DWORD = 0x00002; -pub const CREDUI_FLAGS_REQUEST_ADMINISTRATOR: DWORD = 0x00004; -pub const CREDUI_FLAGS_EXCLUDE_CERTIFICATES: DWORD = 0x00008; -pub const CREDUI_FLAGS_REQUIRE_CERTIFICATE: DWORD = 0x00010; -pub const CREDUI_FLAGS_SHOW_SAVE_CHECK_BOX: DWORD = 0x00040; -pub const CREDUI_FLAGS_ALWAYS_SHOW_UI: DWORD = 0x00080; -pub const CREDUI_FLAGS_REQUIRE_SMARTCARD: DWORD = 0x00100; -pub const CREDUI_FLAGS_PASSWORD_ONLY_OK: DWORD = 0x00200; -pub const CREDUI_FLAGS_VALIDATE_USERNAME: DWORD = 0x00400; -pub const CREDUI_FLAGS_COMPLETE_USERNAME: DWORD = 0x00800; -pub const CREDUI_FLAGS_PERSIST: DWORD = 0x01000; -pub const CREDUI_FLAGS_SERVER_CREDENTIAL: DWORD = 0x04000; -pub const CREDUI_FLAGS_EXPECT_CONFIRMATION: DWORD = 0x20000; -pub const CREDUI_FLAGS_GENERIC_CREDENTIALS: DWORD = 0x40000; -pub const CREDUI_FLAGS_USERNAME_TARGET_CREDENTIALS: DWORD = 0x80000; -pub const CREDUI_FLAGS_KEEP_USERNAME: DWORD = 0x100000; -pub const CREDUI_FLAGS_PROMPT_VALID: DWORD = CREDUI_FLAGS_INCORRECT_PASSWORD - | CREDUI_FLAGS_DO_NOT_PERSIST | CREDUI_FLAGS_REQUEST_ADMINISTRATOR - | CREDUI_FLAGS_EXCLUDE_CERTIFICATES | CREDUI_FLAGS_REQUIRE_CERTIFICATE - | CREDUI_FLAGS_SHOW_SAVE_CHECK_BOX | CREDUI_FLAGS_ALWAYS_SHOW_UI - | CREDUI_FLAGS_REQUIRE_SMARTCARD | CREDUI_FLAGS_PASSWORD_ONLY_OK - | CREDUI_FLAGS_VALIDATE_USERNAME | CREDUI_FLAGS_COMPLETE_USERNAME | CREDUI_FLAGS_PERSIST - | CREDUI_FLAGS_SERVER_CREDENTIAL | CREDUI_FLAGS_EXPECT_CONFIRMATION - | CREDUI_FLAGS_GENERIC_CREDENTIALS | CREDUI_FLAGS_USERNAME_TARGET_CREDENTIALS - | CREDUI_FLAGS_KEEP_USERNAME; -pub const CREDUIWIN_GENERIC: DWORD = 0x00000001; -pub const CREDUIWIN_CHECKBOX: DWORD = 0x00000002; -pub const CREDUIWIN_AUTHPACKAGE_ONLY: DWORD = 0x00000010; -pub const CREDUIWIN_IN_CRED_ONLY: DWORD = 0x00000020; -pub const CREDUIWIN_ENUMERATE_ADMINS: DWORD = 0x00000100; -pub const CREDUIWIN_ENUMERATE_CURRENT_USER: DWORD = 0x00000200; -pub const CREDUIWIN_SECURE_PROMPT: DWORD = 0x00001000; -pub const CREDUIWIN_PREPROMPTING: DWORD = 0x00002000; -pub const CREDUIWIN_PACK_32_WOW: DWORD = 0x10000000; -pub const CREDUIWIN_VALID_FLAGS: DWORD = CREDUIWIN_GENERIC | CREDUIWIN_CHECKBOX - | CREDUIWIN_AUTHPACKAGE_ONLY | CREDUIWIN_IN_CRED_ONLY | CREDUIWIN_ENUMERATE_ADMINS - | CREDUIWIN_ENUMERATE_CURRENT_USER | CREDUIWIN_SECURE_PROMPT | CREDUIWIN_PREPROMPTING - | CREDUIWIN_PACK_32_WOW; -pub const CRED_PRESERVE_CREDENTIAL_BLOB: DWORD = 0x1; -extern "system" { - pub fn CredWriteW( - Credential: PCREDENTIALW, - Flags: DWORD, - ) -> BOOL; - pub fn CredWriteA( - Credential: PCREDENTIALA, - Flags: DWORD, - ) -> BOOL; - pub fn CredReadW( - TargetName: LPCWSTR, - Type: DWORD, - Flags: DWORD, - Credential: *mut PCREDENTIALW, - ) -> BOOL; - pub fn CredReadA( - TargetName: LPCSTR, - Type: DWORD, - Flags: DWORD, - Credential: *mut PCREDENTIALA, - ) -> BOOL; -} -pub const CRED_ENUMERATE_ALL_CREDENTIALS: DWORD = 0x1; -extern "system" { - pub fn CredEnumerateW( - Filter: LPCWSTR, - Flags: DWORD, - Count: *mut DWORD, - Credential: *mut *mut PCREDENTIALW, - ) -> BOOL; - pub fn CredEnumerateA( - Filter: LPCSTR, - Flags: DWORD, - Count: *mut DWORD, - Credential: *mut *mut PCREDENTIALA, - ) -> BOOL; - pub fn CredWriteDomainCredentialsW( - TargetInfo: PCREDENTIAL_TARGET_INFORMATIONW, - Credential: PCREDENTIALW, - Flags: DWORD, - ) -> BOOL; - pub fn CredWriteDomainCredentialsA( - TargetInfo: PCREDENTIAL_TARGET_INFORMATIONA, - Credential: PCREDENTIALA, - Flags: DWORD, - ) -> BOOL; -} -pub const CRED_CACHE_TARGET_INFORMATION: DWORD = 0x1; -extern "system" { - pub fn CredReadDomainCredentialsW( - TargetInfo: PCREDENTIAL_TARGET_INFORMATIONW, - Flags: DWORD, - Count: *mut DWORD, - Credential: *mut *mut PCREDENTIALW, - ) -> BOOL; - pub fn CredReadDomainCredentialsA( - TargetInfo: PCREDENTIAL_TARGET_INFORMATIONA, - Flags: DWORD, - Count: *mut DWORD, - Credential: *mut *mut PCREDENTIALA, - ) -> BOOL; - pub fn CredDeleteW( - TargetName: LPCWSTR, - Type: DWORD, - Flags: DWORD, - ) -> BOOL; - pub fn CredDeleteA( - TargetName: LPCSTR, - Type: DWORD, - Flags: DWORD, - ) -> BOOL; - pub fn CredRenameW( - OldTargetName: LPCWSTR, - NewTargetName: LPCWSTR, - Type: DWORD, - Flags: DWORD, - ) -> BOOL; - pub fn CredRenameA( - OldTargetName: LPCSTR, - NewTargetName: LPCSTR, - Type: DWORD, - Flags: DWORD, - ) -> BOOL; -} -pub const CRED_ALLOW_NAME_RESOLUTION: DWORD = 0x1; -extern "system" { - pub fn CredGetTargetInfoW( - TargetName: LPCWSTR, - Flags: DWORD, - TargetInfo: *mut PCREDENTIAL_TARGET_INFORMATIONW, - ) -> BOOL; - pub fn CredGetTargetInfoA( - TargetName: LPCSTR, - Flags: DWORD, - TargetInfo: *mut PCREDENTIAL_TARGET_INFORMATIONA, - ) -> BOOL; - pub fn CredMarshalCredentialW( - CredType: CRED_MARSHAL_TYPE, - Credential: PVOID, - MarhaledCredential: *mut LPWSTR, - ) -> BOOL; - pub fn CredMarshalCredentialA( - CredType: CRED_MARSHAL_TYPE, - Credential: PVOID, - MarhaledCredential: *mut LPSTR, - ) -> BOOL; - pub fn CredUnmarshalCredentialW( - MarshaledCredential: LPCWSTR, - CredType: PCRED_MARSHAL_TYPE, - Credential: *mut PVOID, - ) -> BOOL; - pub fn CredUnmarshalCredentialA( - MarshaledCredential: LPCSTR, - CredType: PCRED_MARSHAL_TYPE, - Credential: *mut PVOID, - ) -> BOOL; - pub fn CredIsMarshaledCredentialW( - MarshaledCredential: LPCWSTR, - ) -> BOOL; - pub fn CredIsMarshaledCredentialA( - MarshaledCredential: LPCSTR, - ) -> BOOL; - pub fn CredUnPackAuthenticationBufferW( - dwFlags: DWORD, - pAuthBuffer: PVOID, - cbAuthBuffer: DWORD, - pszUserName: LPWSTR, - pcchlMaxUserName: *mut DWORD, - pszDomainName: LPWSTR, - pcchMaxDomainName: *mut DWORD, - pszPassword: LPWSTR, - pcchMaxPassword: *mut DWORD, - ) -> BOOL; - pub fn CredUnPackAuthenticationBufferA( - dwFlags: DWORD, - pAuthBuffer: PVOID, - cbAuthBuffer: DWORD, - pszUserName: LPSTR, - pcchlMaxUserName: *mut DWORD, - pszDomainName: LPSTR, - pcchMaxDomainName: *mut DWORD, - pszPassword: LPSTR, - pcchMaxPassword: *mut DWORD, - ) -> BOOL; - pub fn CredPackAuthenticationBufferW( - dwFlags: DWORD, - pszUserName: LPWSTR, - pszPassword: LPWSTR, - pPackedCredentials: PBYTE, - pcbPackedCredentials: *mut DWORD, - ) -> BOOL; - pub fn CredPackAuthenticationBufferA( - dwFlags: DWORD, - pszUserName: LPSTR, - pszPassword: LPSTR, - pPackedCredentials: PBYTE, - pcbPackedCredentials: *mut DWORD, - ) -> BOOL; - pub fn CredProtectW( - fAsSelf: BOOL, - pszCredentials: LPWSTR, - cchCredentials: DWORD, - pszProtectedCredentials: LPWSTR, - pcchMaxChars: *mut DWORD, - ProtectionType: *mut CRED_PROTECTION_TYPE, - ) -> BOOL; - pub fn CredProtectA( - fAsSelf: BOOL, - pszCredentials: LPSTR, - cchCredentials: DWORD, - pszProtectedCredentials: LPSTR, - pcchMaxChars: *mut DWORD, - ProtectionType: *mut CRED_PROTECTION_TYPE, - ) -> BOOL; - pub fn CredUnprotectW( - fAsSelf: BOOL, - pszProtectedCredentials: LPWSTR, - cchCredentials: DWORD, - pszCredentials: LPWSTR, - pcchMaxChars: *mut DWORD, - ) -> BOOL; - pub fn CredUnprotectA( - fAsSelf: BOOL, - pszProtectedCredentials: LPSTR, - cchCredentials: DWORD, - pszCredentials: LPSTR, - pcchMaxChars: *mut DWORD, - ) -> BOOL; - pub fn CredIsProtectedW( - pszProtectedCredentials: LPWSTR, - pProtectionType: *mut CRED_PROTECTION_TYPE, - ) -> BOOL; - pub fn CredIsProtectedA( - pszProtectedCredentials: LPSTR, - pProtectionType: *mut CRED_PROTECTION_TYPE, - ) -> BOOL; - pub fn CredFindBestCredentialW( - TargetName: LPCWSTR, - Type: DWORD, - Flags: DWORD, - Credential: *mut PCREDENTIALW, - ) -> BOOL; - pub fn CredFindBestCredentialA( - TargetName: LPCSTR, - Type: DWORD, - Flags: DWORD, - Credential: *mut PCREDENTIALA, - ) -> BOOL; - pub fn CredGetSessionTypes( - MaximumPersistCount: DWORD, - MaximumPersist: LPDWORD, - ) -> BOOL; - pub fn CredFree( - Buffer: PVOID, - ); - pub fn CredUIPromptForCredentialsW( - pUiInfo: PCREDUI_INFOW, - pszTargetName: PCWSTR, - pContext: PCtxtHandle, - dwAuthError: DWORD, - pszUserName: PWSTR, - ulUserNameBufferSize: ULONG, - pszPassword: PWSTR, - ulPasswordBufferSize: ULONG, - save: *mut BOOL, - dwFlags: DWORD, - ) -> DWORD; - pub fn CredUIPromptForCredentialsA( - pUiInfo: PCREDUI_INFOA, - pszTargetName: PCSTR, - pContext: PCtxtHandle, - dwAuthError: DWORD, - pszUserName: PSTR, - ulUserNameBufferSize: ULONG, - pszPassword: PSTR, - ulPasswordBufferSize: ULONG, - save: *mut BOOL, - dwFlags: DWORD, - ) -> DWORD; - pub fn CredUIPromptForWindowsCredentialsW( - pUiInfo: PCREDUI_INFOW, - dwAuthError: DWORD, - pulAuthPackage: *mut ULONG, - pvInAuthBuffer: LPCVOID, - ulInAuthBufferSize: ULONG, - ppvOutAuthBuffer: *mut LPVOID, - pulOutAuthBufferSize: *mut ULONG, - pfSave: *mut BOOL, - dwFlags: DWORD, - ) -> DWORD; - pub fn CredUIPromptForWindowsCredentialsA( - pUiInfo: PCREDUI_INFOA, - dwAuthError: DWORD, - pulAuthPackage: *mut ULONG, - pvInAuthBuffer: LPCVOID, - ulInAuthBufferSize: ULONG, - ppvOutAuthBuffer: *mut LPVOID, - pulOutAuthBufferSize: *mut ULONG, - pfSave: *mut BOOL, - dwFlags: DWORD, - ) -> DWORD; - pub fn CredUIParseUserNameW( - userName: PCWSTR, - user: *mut WCHAR, - userBufferSize: ULONG, - domain: *mut WCHAR, - domainBufferSize: ULONG, - ) -> DWORD; - pub fn CredUIParseUserNameA( - userName: PCSTR, - user: *mut CHAR, - userBufferSize: ULONG, - domain: *mut CHAR, - domainBufferSize: ULONG, - ) -> DWORD; - pub fn CredUICmdLinePromptForCredentialsW( - pszTargetName: PCWSTR, - pContext: PCtxtHandle, - dwAuthError: DWORD, - UserName: PWSTR, - ulUserBufferSize: ULONG, - pszPassword: PWSTR, - ulPasswordBufferSize: ULONG, - pfSave: PBOOL, - dwFlags: DWORD, - ) -> DWORD; - pub fn CredUICmdLinePromptForCredentialsA( - pszTargetName: PCSTR, - pContext: PCtxtHandle, - dwAuthError: DWORD, - UserName: PSTR, - ulUserBufferSize: ULONG, - pszPassword: PSTR, - ulPasswordBufferSize: ULONG, - pfSave: PBOOL, - dwFlags: DWORD, - ) -> DWORD; - pub fn CredUIConfirmCredentialsW( - pszTargetName: PCWSTR, - bConfirm: BOOL, - ) -> DWORD; - pub fn CredUIConfirmCredentialsA( - pszTargetName: PCSTR, - bConfirm: BOOL, - ) -> DWORD; - pub fn CredUIStoreSSOCredW( - pszRealm: PCWSTR, - pszUsername: PCWSTR, - pszPassword: PCWSTR, - bPersist: BOOL, - ) -> DWORD; - pub fn CredUIReadSSOCredW( - pszRealm: PCWSTR, - ppszUsername: *mut PWSTR, - ) -> DWORD; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/wincrypt.rs b/vendor/registry-40351f815f426200/winapi/src/um/wincrypt.rs deleted file mode 100644 index abc2a9923..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/wincrypt.rs +++ /dev/null @@ -1,7365 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Cryptographic API Prototypes and Definitions -use ctypes::{c_int, c_uchar, c_uint, c_void}; -use shared::basetsd::ULONG_PTR; -use shared::bcrypt::BCRYPT_KEY_HANDLE; -use shared::guiddef::{GUID, LPCGUID}; -use shared::minwindef::{ - BOOL, BYTE, DWORD, FALSE, FILETIME, HKEY, HMODULE, LPFILETIME, LPVOID, PBYTE, PDWORD, - PFILETIME, TRUE, ULONG, WORD, -}; -use um::minwinbase::PSYSTEMTIME; -use um::ncrypt::NCRYPT_KEY_HANDLE; -use um::winnt::{ - CHAR, HANDLE, HRESULT, LONG, LPCSTR, LPCWSTR, LPSTR, LPWSTR, PCWSTR, PVOID, PWSTR, WCHAR, -}; -use vc::vcruntime::size_t; -//108 -#[inline] -pub fn GET_ALG_CLASS(x: ALG_ID) -> ALG_ID { - x & (7 << 13) -} -#[inline] -pub fn GET_ALG_TYPE(x: ALG_ID) -> ALG_ID { - x & (15 << 9) -} -#[inline] -pub fn GET_ALG_SID(x: ALG_ID) -> ALG_ID { - x & 511 -} -pub const ALG_CLASS_ANY: ALG_ID = 0; -pub const ALG_CLASS_SIGNATURE: ALG_ID = 1 << 13; -pub const ALG_CLASS_MSG_ENCRYPT: ALG_ID = 2 << 13; -pub const ALG_CLASS_DATA_ENCRYPT: ALG_ID = 3 << 13; -pub const ALG_CLASS_HASH: ALG_ID = 4 << 13; -pub const ALG_CLASS_KEY_EXCHANGE: ALG_ID = 5 << 13; -pub const ALG_CLASS_ALL: ALG_ID = 7 << 13; -pub const ALG_TYPE_ANY: ALG_ID = 0; -pub const ALG_TYPE_DSS: ALG_ID = 1 << 9; -pub const ALG_TYPE_RSA: ALG_ID = 2 << 9; -pub const ALG_TYPE_BLOCK: ALG_ID = 3 << 9; -pub const ALG_TYPE_STREAM: ALG_ID = 4 << 9; -pub const ALG_TYPE_DH: ALG_ID = 5 << 9; -pub const ALG_TYPE_SECURECHANNEL: ALG_ID = 6 << 9; -pub const ALG_TYPE_ECDH: ALG_ID = 7 << 9; -pub const ALG_TYPE_THIRDPARTY: ALG_ID = 8 << 9; -pub const ALG_SID_ANY: ALG_ID = 0; -pub const ALG_SID_THIRDPARTY_ANY: ALG_ID = 0; -pub const ALG_SID_RSA_ANY: ALG_ID = 0; -pub const ALG_SID_RSA_PKCS: ALG_ID = 1; -pub const ALG_SID_RSA_MSATWORK: ALG_ID = 2; -pub const ALG_SID_RSA_ENTRUST: ALG_ID = 3; -pub const ALG_SID_RSA_PGP: ALG_ID = 4; -pub const ALG_SID_DSS_ANY: ALG_ID = 0; -pub const ALG_SID_DSS_PKCS: ALG_ID = 1; -pub const ALG_SID_DSS_DMS: ALG_ID = 2; -pub const ALG_SID_ECDSA: ALG_ID = 3; -pub const ALG_SID_DES: ALG_ID = 1; -pub const ALG_SID_3DES: ALG_ID = 3; -pub const ALG_SID_DESX: ALG_ID = 4; -pub const ALG_SID_IDEA: ALG_ID = 5; -pub const ALG_SID_CAST: ALG_ID = 6; -pub const ALG_SID_SAFERSK64: ALG_ID = 7; -pub const ALG_SID_SAFERSK128: ALG_ID = 8; -pub const ALG_SID_3DES_112: ALG_ID = 9; -pub const ALG_SID_CYLINK_MEK: ALG_ID = 12; -pub const ALG_SID_RC5: ALG_ID = 13; -pub const ALG_SID_AES_128: ALG_ID = 14; -pub const ALG_SID_AES_192: ALG_ID = 15; -pub const ALG_SID_AES_256: ALG_ID = 16; -pub const ALG_SID_AES: ALG_ID = 17; -pub const ALG_SID_SKIPJACK: ALG_ID = 10; -pub const ALG_SID_TEK: ALG_ID = 11; -pub const CRYPT_MODE_CBCI: ALG_ID = 6; -pub const CRYPT_MODE_CFBP: ALG_ID = 7; -pub const CRYPT_MODE_OFBP: ALG_ID = 8; -pub const CRYPT_MODE_CBCOFM: ALG_ID = 9; -pub const CRYPT_MODE_CBCOFMI: ALG_ID = 10; -pub const ALG_SID_RC2: ALG_ID = 2; -pub const ALG_SID_RC4: ALG_ID = 1; -pub const ALG_SID_SEAL: ALG_ID = 2; -pub const ALG_SID_DH_SANDF: ALG_ID = 1; -pub const ALG_SID_DH_EPHEM: ALG_ID = 2; -pub const ALG_SID_AGREED_KEY_ANY: ALG_ID = 3; -pub const ALG_SID_KEA: ALG_ID = 4; -pub const ALG_SID_ECDH: ALG_ID = 5; -pub const ALG_SID_ECDH_EPHEM: ALG_ID = 6; -pub const ALG_SID_MD2: ALG_ID = 1; -pub const ALG_SID_MD4: ALG_ID = 2; -pub const ALG_SID_MD5: ALG_ID = 3; -pub const ALG_SID_SHA: ALG_ID = 4; -pub const ALG_SID_SHA1: ALG_ID = 4; -pub const ALG_SID_MAC: ALG_ID = 5; -pub const ALG_SID_RIPEMD: ALG_ID = 6; -pub const ALG_SID_RIPEMD160: ALG_ID = 7; -pub const ALG_SID_SSL3SHAMD5: ALG_ID = 8; -pub const ALG_SID_HMAC: ALG_ID = 9; -pub const ALG_SID_TLS1PRF: ALG_ID = 10; -pub const ALG_SID_HASH_REPLACE_OWF: ALG_ID = 11; -pub const ALG_SID_SHA_256: ALG_ID = 12; -pub const ALG_SID_SHA_384: ALG_ID = 13; -pub const ALG_SID_SHA_512: ALG_ID = 14; -pub const ALG_SID_SSL3_MASTER: ALG_ID = 1; -pub const ALG_SID_SCHANNEL_MASTER_HASH: ALG_ID = 2; -pub const ALG_SID_SCHANNEL_MAC_KEY: ALG_ID = 3; -pub const ALG_SID_PCT1_MASTER: ALG_ID = 4; -pub const ALG_SID_SSL2_MASTER: ALG_ID = 5; -pub const ALG_SID_TLS1_MASTER: ALG_ID = 6; -pub const ALG_SID_SCHANNEL_ENC_KEY: ALG_ID = 7; -pub const ALG_SID_ECMQV: ALG_ID = 1; -pub const ALG_SID_EXAMPLE: ALG_ID = 80; -pub type ALG_ID = c_uint; -pub const CALG_MD2: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD2; -pub const CALG_MD4: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD4; -pub const CALG_MD5: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD5; -pub const CALG_SHA: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA; -pub const CALG_SHA1: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA1; -pub const CALG_MAC: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MAC; -pub const CALG_RSA_SIGN: ALG_ID = ALG_CLASS_SIGNATURE | ALG_TYPE_RSA | ALG_SID_RSA_ANY; -pub const CALG_DSS_SIGN: ALG_ID = ALG_CLASS_SIGNATURE | ALG_TYPE_DSS | ALG_SID_DSS_ANY; -pub const CALG_NO_SIGN: ALG_ID = ALG_CLASS_SIGNATURE | ALG_TYPE_ANY | ALG_SID_ANY; -pub const CALG_RSA_KEYX: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_RSA | ALG_SID_RSA_ANY; -pub const CALG_DES: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_DES; -pub const CALG_3DES_112: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_3DES_112; -pub const CALG_3DES: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_3DES; -pub const CALG_DESX: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_DESX; -pub const CALG_RC2: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_RC2; -pub const CALG_RC4: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_STREAM | ALG_SID_RC4; -pub const CALG_SEAL: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_STREAM | ALG_SID_SEAL; -pub const CALG_DH_SF: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_DH | ALG_SID_DH_SANDF; -pub const CALG_DH_EPHEM: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_DH | ALG_SID_DH_EPHEM; -pub const CALG_AGREEDKEY_ANY: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_DH - | ALG_SID_AGREED_KEY_ANY; -pub const CALG_KEA_KEYX: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_DH | ALG_SID_KEA; -pub const CALG_HUGHES_MD5: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_ANY | ALG_SID_MD5; -pub const CALG_SKIPJACK: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_SKIPJACK; -pub const CALG_TEK: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_TEK; -pub const CALG_CYLINK_MEK: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_CYLINK_MEK; -pub const CALG_SSL3_SHAMD5: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SSL3SHAMD5; -pub const CALG_SSL3_MASTER: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL - | ALG_SID_SSL3_MASTER; -pub const CALG_SCHANNEL_MASTER_HASH: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL - | ALG_SID_SCHANNEL_MASTER_HASH; -pub const CALG_SCHANNEL_MAC_KEY: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL - | ALG_SID_SCHANNEL_MAC_KEY; -pub const CALG_SCHANNEL_ENC_KEY: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL - | ALG_SID_SCHANNEL_ENC_KEY; -pub const CALG_PCT1_MASTER: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL - | ALG_SID_PCT1_MASTER; -pub const CALG_SSL2_MASTER: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL - | ALG_SID_SSL2_MASTER; -pub const CALG_TLS1_MASTER: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL - | ALG_SID_TLS1_MASTER; -pub const CALG_RC5: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_RC5; -pub const CALG_HMAC: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_HMAC; -pub const CALG_TLS1PRF: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_TLS1PRF; -pub const CALG_HASH_REPLACE_OWF: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_HASH_REPLACE_OWF; -pub const CALG_AES_128: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_128; -pub const CALG_AES_192: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_192; -pub const CALG_AES_256: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_256; -pub const CALG_AES: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES; -pub const CALG_SHA_256: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA_256; -pub const CALG_SHA_384: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA_384; -pub const CALG_SHA_512: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA_512; -pub const CALG_ECDH: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_DH | ALG_SID_ECDH; -pub const CALG_ECDH_EPHEM: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_ECDH | ALG_SID_ECDH_EPHEM; -pub const CALG_ECMQV: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_ANY | ALG_SID_ECMQV; -pub const CALG_ECDSA: ALG_ID = ALG_CLASS_SIGNATURE | ALG_TYPE_DSS | ALG_SID_ECDSA; -pub const CALG_NULLCIPHER: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_ANY | 0; -pub const CALG_THIRDPARTY_KEY_EXCHANGE: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_THIRDPARTY - | ALG_SID_THIRDPARTY_ANY; -pub const CALG_THIRDPARTY_SIGNATURE: ALG_ID = ALG_CLASS_SIGNATURE | ALG_TYPE_THIRDPARTY - | ALG_SID_THIRDPARTY_ANY; -pub const CALG_THIRDPARTY_CIPHER: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_THIRDPARTY - | ALG_SID_THIRDPARTY_ANY; -pub const CALG_THIRDPARTY_HASH: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_THIRDPARTY - | ALG_SID_THIRDPARTY_ANY; -pub type HCRYPTPROV = ULONG_PTR; -pub type HCRYPTKEY = ULONG_PTR; -pub type HCRYPTHASH = ULONG_PTR; -pub const CRYPT_VERIFYCONTEXT: DWORD = 0xF0000000; -pub const CRYPT_NEWKEYSET: DWORD = 0x00000008; -pub const CRYPT_DELETEKEYSET: DWORD = 0x00000010; -pub const CRYPT_MACHINE_KEYSET: DWORD = 0x00000020; -pub const CRYPT_SILENT: DWORD = 0x00000040; -pub const CRYPT_DEFAULT_CONTAINER_OPTIONAL: DWORD = 0x00000080; -pub const CRYPT_EXPORTABLE: DWORD = 0x00000001; -pub const CRYPT_USER_PROTECTED: DWORD = 0x00000002; -pub const CRYPT_CREATE_SALT: DWORD = 0x00000004; -pub const CRYPT_UPDATE_KEY: DWORD = 0x00000008; -pub const CRYPT_NO_SALT: DWORD = 0x00000010; -pub const CRYPT_PREGEN: DWORD = 0x00000040; -pub const CRYPT_RECIPIENT: DWORD = 0x00000010; -pub const CRYPT_INITIATOR: DWORD = 0x00000040; -pub const CRYPT_ONLINE: DWORD = 0x00000080; -pub const CRYPT_SF: DWORD = 0x00000100; -pub const CRYPT_CREATE_IV: DWORD = 0x00000200; -pub const CRYPT_KEK: DWORD = 0x00000400; -pub const CRYPT_DATA_KEY: DWORD = 0x00000800; -pub const CRYPT_VOLATILE: DWORD = 0x00001000; -pub const CRYPT_SGCKEY: DWORD = 0x00002000; -pub const CRYPT_USER_PROTECTED_STRONG: DWORD = 0x00100000; -pub const CRYPT_ARCHIVABLE: DWORD = 0x00004000; -pub const CRYPT_FORCE_KEY_PROTECTION_HIGH: DWORD = 0x00008000; -pub const RSA1024BIT_KEY: DWORD = 0x04000000; -pub const CRYPT_SERVER: DWORD = 0x00000400; -pub const KEY_LENGTH_MASK: DWORD = 0xFFFF0000; -pub const CRYPT_Y_ONLY: DWORD = 0x00000001; -pub const CRYPT_SSL2_FALLBACK: DWORD = 0x00000002; -pub const CRYPT_DESTROYKEY: DWORD = 0x00000004; -pub const CRYPT_OAEP: DWORD = 0x00000040; -pub const CRYPT_BLOB_VER3: DWORD = 0x00000080; -pub const CRYPT_IPSEC_HMAC_KEY: DWORD = 0x00000100; -pub const CRYPT_DECRYPT_RSA_NO_PADDING_CHECK: DWORD = 0x00000020; -pub const CRYPT_SECRETDIGEST: DWORD = 0x00000001; -pub const CRYPT_OWF_REPL_LM_HASH: DWORD = 0x00000001; -pub const CRYPT_LITTLE_ENDIAN: DWORD = 0x00000001; -pub const CRYPT_NOHASHOID: DWORD = 0x00000001; -pub const CRYPT_TYPE2_FORMAT: DWORD = 0x00000002; -pub const CRYPT_X931_FORMAT: DWORD = 0x00000004; -pub const CRYPT_MACHINE_DEFAULT: DWORD = 0x00000001; -pub const CRYPT_USER_DEFAULT: DWORD = 0x00000002; -pub const CRYPT_DELETE_DEFAULT: DWORD = 0x00000004; -pub const SIMPLEBLOB: DWORD = 0x1; -pub const PUBLICKEYBLOB: DWORD = 0x6; -pub const PRIVATEKEYBLOB: DWORD = 0x7; -pub const PLAINTEXTKEYBLOB: DWORD = 0x8; -pub const OPAQUEKEYBLOB: DWORD = 0x9; -pub const PUBLICKEYBLOBEX: DWORD = 0xA; -pub const SYMMETRICWRAPKEYBLOB: DWORD = 0xB; -pub const KEYSTATEBLOB: DWORD = 0xC; -pub const AT_KEYEXCHANGE: DWORD = 1; -pub const AT_SIGNATURE: DWORD = 2; -pub const CRYPT_USERDATA: DWORD = 1; -pub const KP_IV: DWORD = 1; -pub const KP_SALT: DWORD = 2; -pub const KP_PADDING: DWORD = 3; -pub const KP_MODE: DWORD = 4; -pub const KP_MODE_BITS: DWORD = 5; -pub const KP_PERMISSIONS: DWORD = 6; -pub const KP_ALGID: DWORD = 7; -pub const KP_BLOCKLEN: DWORD = 8; -pub const KP_KEYLEN: DWORD = 9; -pub const KP_SALT_EX: DWORD = 10; -pub const KP_P: DWORD = 11; -pub const KP_G: DWORD = 12; -pub const KP_Q: DWORD = 13; -pub const KP_X: DWORD = 14; -pub const KP_Y: DWORD = 15; -pub const KP_RA: DWORD = 16; -pub const KP_RB: DWORD = 17; -pub const KP_INFO: DWORD = 18; -pub const KP_EFFECTIVE_KEYLEN: DWORD = 19; -pub const KP_SCHANNEL_ALG: DWORD = 20; -pub const KP_CLIENT_RANDOM: DWORD = 21; -pub const KP_SERVER_RANDOM: DWORD = 22; -pub const KP_RP: DWORD = 23; -pub const KP_PRECOMP_MD5: DWORD = 24; -pub const KP_PRECOMP_SHA: DWORD = 25; -pub const KP_CERTIFICATE: DWORD = 26; -pub const KP_CLEAR_KEY: DWORD = 27; -pub const KP_PUB_EX_LEN: DWORD = 28; -pub const KP_PUB_EX_VAL: DWORD = 29; -pub const KP_KEYVAL: DWORD = 30; -pub const KP_ADMIN_PIN: DWORD = 31; -pub const KP_KEYEXCHANGE_PIN: DWORD = 32; -pub const KP_SIGNATURE_PIN: DWORD = 33; -pub const KP_PREHASH: DWORD = 34; -pub const KP_ROUNDS: DWORD = 35; -pub const KP_OAEP_PARAMS: DWORD = 36; -pub const KP_CMS_KEY_INFO: DWORD = 37; -pub const KP_CMS_DH_KEY_INFO: DWORD = 38; -pub const KP_PUB_PARAMS: DWORD = 39; -pub const KP_VERIFY_PARAMS: DWORD = 40; -pub const KP_HIGHEST_VERSION: DWORD = 41; -pub const KP_GET_USE_COUNT: DWORD = 42; -pub const KP_PIN_ID: DWORD = 43; -pub const KP_PIN_INFO: DWORD = 44; -pub const PKCS5_PADDING: DWORD = 1; -pub const RANDOM_PADDING: DWORD = 2; -pub const ZERO_PADDING: DWORD = 3; -pub const CRYPT_MODE_CBC: DWORD = 1; -pub const CRYPT_MODE_ECB: DWORD = 2; -pub const CRYPT_MODE_OFB: DWORD = 3; -pub const CRYPT_MODE_CFB: DWORD = 4; -pub const CRYPT_MODE_CTS: DWORD = 5; -pub const CRYPT_ENCRYPT: DWORD = 0x0001; -pub const CRYPT_DECRYPT: DWORD = 0x0002; -pub const CRYPT_EXPORT: DWORD = 0x0004; -pub const CRYPT_READ: DWORD = 0x0008; -pub const CRYPT_WRITE: DWORD = 0x0010; -pub const CRYPT_MAC: DWORD = 0x0020; -pub const CRYPT_EXPORT_KEY: DWORD = 0x0040; -pub const CRYPT_IMPORT_KEY: DWORD = 0x0080; -pub const CRYPT_ARCHIVE: DWORD = 0x0100; -pub const HP_ALGID: DWORD = 0x0001; -pub const HP_HASHVAL: DWORD = 0x0002; -pub const HP_HASHSIZE: DWORD = 0x0004; -pub const HP_HMAC_INFO: DWORD = 0x0005; -pub const HP_TLS1PRF_LABEL: DWORD = 0x0006; -pub const HP_TLS1PRF_SEED: DWORD = 0x0007; -pub const CRYPT_FAILED: BOOL = FALSE; -pub const CRYPT_SUCCEED: BOOL = TRUE; -#[inline] -pub fn RCRYPT_SUCCEEDED(rt: BOOL) -> bool { - rt == CRYPT_SUCCEED -} -#[inline] -pub fn RCRYPT_FAILED(rt: BOOL) -> bool { - rt == CRYPT_FAILED -} -pub const PP_ENUMALGS: DWORD = 1; -pub const PP_ENUMCONTAINERS: DWORD = 2; -pub const PP_IMPTYPE: DWORD = 3; -pub const PP_NAME: DWORD = 4; -pub const PP_VERSION: DWORD = 5; -pub const PP_CONTAINER: DWORD = 6; -pub const PP_CHANGE_PASSWORD: DWORD = 7; -pub const PP_KEYSET_SEC_DESCR: DWORD = 8; -pub const PP_CERTCHAIN: DWORD = 9; -pub const PP_KEY_TYPE_SUBTYPE: DWORD = 10; -pub const PP_PROVTYPE: DWORD = 16; -pub const PP_KEYSTORAGE: DWORD = 17; -pub const PP_APPLI_CERT: DWORD = 18; -pub const PP_SYM_KEYSIZE: DWORD = 19; -pub const PP_SESSION_KEYSIZE: DWORD = 20; -pub const PP_UI_PROMPT: DWORD = 21; -pub const PP_ENUMALGS_EX: DWORD = 22; -pub const PP_ENUMMANDROOTS: DWORD = 25; -pub const PP_ENUMELECTROOTS: DWORD = 26; -pub const PP_KEYSET_TYPE: DWORD = 27; -pub const PP_ADMIN_PIN: DWORD = 31; -pub const PP_KEYEXCHANGE_PIN: DWORD = 32; -pub const PP_SIGNATURE_PIN: DWORD = 33; -pub const PP_SIG_KEYSIZE_INC: DWORD = 34; -pub const PP_KEYX_KEYSIZE_INC: DWORD = 35; -pub const PP_UNIQUE_CONTAINER: DWORD = 36; -pub const PP_SGC_INFO: DWORD = 37; -pub const PP_USE_HARDWARE_RNG: DWORD = 38; -pub const PP_KEYSPEC: DWORD = 39; -pub const PP_ENUMEX_SIGNING_PROT: DWORD = 40; -pub const PP_CRYPT_COUNT_KEY_USE: DWORD = 41; -pub const PP_USER_CERTSTORE: DWORD = 42; -pub const PP_SMARTCARD_READER: DWORD = 43; -pub const PP_SMARTCARD_GUID: DWORD = 45; -pub const PP_ROOT_CERTSTORE: DWORD = 46; -pub const PP_SMARTCARD_READER_ICON: DWORD = 47; -pub const CRYPT_FIRST: DWORD = 1; -pub const CRYPT_NEXT: DWORD = 2; -pub const CRYPT_SGC_ENUM: DWORD = 4; -pub const CRYPT_IMPL_HARDWARE: DWORD = 1; -pub const CRYPT_IMPL_SOFTWARE: DWORD = 2; -pub const CRYPT_IMPL_MIXED: DWORD = 3; -pub const CRYPT_IMPL_UNKNOWN: DWORD = 4; -pub const CRYPT_IMPL_REMOVABLE: DWORD = 8; -pub const CRYPT_SEC_DESCR: DWORD = 0x00000001; -pub const CRYPT_PSTORE: DWORD = 0x00000002; -pub const CRYPT_UI_PROMPT: DWORD = 0x00000004; -pub const CRYPT_FLAG_PCT1: DWORD = 0x0001; -pub const CRYPT_FLAG_SSL2: DWORD = 0x0002; -pub const CRYPT_FLAG_SSL3: DWORD = 0x0004; -pub const CRYPT_FLAG_TLS1: DWORD = 0x0008; -pub const CRYPT_FLAG_IPSEC: DWORD = 0x0010; -pub const CRYPT_FLAG_SIGNING: DWORD = 0x0020; -pub const CRYPT_SGC: DWORD = 0x0001; -pub const CRYPT_FASTSGC: DWORD = 0x0002; -pub const PP_CLIENT_HWND: DWORD = 1; -pub const PP_CONTEXT_INFO: DWORD = 11; -pub const PP_KEYEXCHANGE_KEYSIZE: DWORD = 12; -pub const PP_SIGNATURE_KEYSIZE: DWORD = 13; -pub const PP_KEYEXCHANGE_ALG: DWORD = 14; -pub const PP_SIGNATURE_ALG: DWORD = 15; -pub const PP_DELETEKEY: DWORD = 24; -pub const PP_PIN_PROMPT_STRING: DWORD = 44; -pub const PP_SECURE_KEYEXCHANGE_PIN: DWORD = 47; -pub const PP_SECURE_SIGNATURE_PIN: DWORD = 48; -pub const PROV_RSA_FULL: DWORD = 1; -pub const PROV_RSA_SIG: DWORD = 2; -pub const PROV_DSS: DWORD = 3; -pub const PROV_FORTEZZA: DWORD = 4; -pub const PROV_MS_EXCHANGE: DWORD = 5; -pub const PROV_SSL: DWORD = 6; -pub const PROV_RSA_SCHANNEL: DWORD = 12; -pub const PROV_DSS_DH: DWORD = 13; -pub const PROV_EC_ECDSA_SIG: DWORD = 14; -pub const PROV_EC_ECNRA_SIG: DWORD = 15; -pub const PROV_EC_ECDSA_FULL: DWORD = 16; -pub const PROV_EC_ECNRA_FULL: DWORD = 17; -pub const PROV_DH_SCHANNEL: DWORD = 18; -pub const PROV_SPYRUS_LYNKS: DWORD = 20; -pub const PROV_RNG: DWORD = 21; -pub const PROV_INTEL_SEC: DWORD = 22; -pub const PROV_REPLACE_OWF: DWORD = 23; -pub const PROV_RSA_AES: DWORD = 24; -pub const MS_DEF_PROV: &'static str = "Microsoft Base Cryptographic Provider v1.0"; -pub const MS_ENHANCED_PROV: &'static str = "Microsoft Enhanced Cryptographic Provider v1.0"; -pub const MS_STRONG_PROV: &'static str = "Microsoft Strong Cryptographic Provider"; -pub const MS_DEF_RSA_SIG_PROV: &'static str = "Microsoft RSA Signature Cryptographic Provider"; -pub const MS_DEF_RSA_SCHANNEL_PROV: &'static str = "Microsoft RSA SChannel Cryptographic Provider"; -pub const MS_DEF_DSS_PROV: &'static str = "Microsoft Base DSS Cryptographic Provider"; -pub const MS_DEF_DSS_DH_PROV: &'static str - = "Microsoft Base DSS and Diffie-Hellman Cryptographic Provider"; -pub const MS_ENH_DSS_DH_PROV: &'static str - = "Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider"; -pub const MS_DEF_DH_SCHANNEL_PROV: &'static str = "Microsoft DH SChannel Cryptographic Provider"; -pub const MS_SCARD_PROV: &'static str = "Microsoft Base Smart Card Crypto Provider"; -pub const MS_ENH_RSA_AES_PROV: &'static str - = "Microsoft Enhanced RSA and AES Cryptographic Provider"; -pub const MS_ENH_RSA_AES_PROV_XP: &'static str - = "Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"; -pub const MAXUIDLEN: usize = 64; -pub const EXPO_OFFLOAD_REG_VALUE: &'static str = "ExpoOffload"; -pub const EXPO_OFFLOAD_FUNC_NAME: &'static str = "OffloadModExpo"; -pub const szKEY_CRYPTOAPI_PRIVATE_KEY_OPTIONS: &'static str - = "Software\\Policies\\Microsoft\\Cryptography"; -pub const szKEY_CACHE_ENABLED: &'static str = "CachePrivateKeys"; -pub const szKEY_CACHE_SECONDS: &'static str = "PrivateKeyLifetimeSeconds"; -pub const szPRIV_KEY_CACHE_MAX_ITEMS: &'static str = "PrivKeyCacheMaxItems"; -pub const cPRIV_KEY_CACHE_MAX_ITEMS_DEFAULT: DWORD = 20; -pub const szPRIV_KEY_CACHE_PURGE_INTERVAL_SECONDS: &'static str - = "PrivKeyCachePurgeIntervalSeconds"; -pub const cPRIV_KEY_CACHE_PURGE_INTERVAL_SECONDS_DEFAULT: DWORD = 86400; -pub const CUR_BLOB_VERSION: DWORD = 2; -STRUCT!{struct CMS_KEY_INFO { - dwVersion: DWORD, - Algid: ALG_ID, - pbOID: *mut BYTE, - cbOID: DWORD, -}} -pub type PCMS_KEY_INFO = *mut CMS_KEY_INFO; -STRUCT!{struct HMAC_INFO { - HashAlgid: ALG_ID, - pbInnerString: *mut BYTE, - cbInnerString: DWORD, - pbOuterString: *mut BYTE, - cbOuterString: DWORD, -}} -pub type PHMAC_INFO = *mut HMAC_INFO; -STRUCT!{struct SCHANNEL_ALG { - dwUse: DWORD, - Algid: ALG_ID, - cBits: DWORD, - dwFlags: DWORD, - dwReserved: DWORD, -}} -pub type PSCHANNEL_ALG = *mut SCHANNEL_ALG; -pub const SCHANNEL_MAC_KEY: DWORD = 0x00000000; -pub const SCHANNEL_ENC_KEY: DWORD = 0x00000001; -pub const INTERNATIONAL_USAGE: DWORD = 0x00000001; -STRUCT!{struct PROV_ENUMALGS { - aiAlgid: ALG_ID, - dwBitLen: DWORD, - dwNameLen: DWORD, - szName: [CHAR; 20], -}} -STRUCT!{struct PROV_ENUMALGS_EX { - aiAlgid: ALG_ID, - dwDefaultLen: DWORD, - dwMinLen: DWORD, - dwMaxLen: DWORD, - dwProtocols: DWORD, - dwNameLen: DWORD, - szName: [CHAR; 20], - dwLongNameLen: DWORD, - szLongName: [CHAR; 40], -}} -STRUCT!{struct BLOBHEADER { - bType: BYTE, - bVersion: BYTE, - reserved: WORD, - aiKeyAlg: ALG_ID, -}} -pub type PUBLICKEYSTRUC = BLOBHEADER; -STRUCT!{struct RSAPUBKEY { - magic: DWORD, - bitlen: DWORD, - pubexp: DWORD, -}} -STRUCT!{struct DHPUBKEY { - magic: DWORD, - bitlen: DWORD, -}} -pub type DSSPUBKEY = DHPUBKEY; -pub type KEAPUBKEY = DHPUBKEY; -pub type TEKPUBKEY = DHPUBKEY; -STRUCT!{struct DSSSEED { - counter: DWORD, - seed: [BYTE; 20], -}} -STRUCT!{struct DHPUBKEY_VER3 { - magic: DWORD, - bitlenP: DWORD, - bitlenQ: DWORD, - bitlenJ: DWORD, - DSSSeed: DSSSEED, -}} -pub type DSSPUBKEY_VER3 = DHPUBKEY_VER3; -STRUCT!{struct DHPRIVKEY_VER3 { - magic: DWORD, - bitlenP: DWORD, - bitlenQ: DWORD, - bitlenJ: DWORD, - bitlenX: DWORD, - DSSSeed: DSSSEED, -}} -pub type DSSPRIVKEY_VER3 = DHPRIVKEY_VER3; -STRUCT!{struct KEY_TYPE_SUBTYPE { - dwKeySpec: DWORD, - Type: GUID, - Subtype: GUID, -}} -pub type PKEY_TYPE_SUBTYPE = *mut KEY_TYPE_SUBTYPE; -STRUCT!{struct CERT_FORTEZZA_DATA_PROP { - SerialNumber: [c_uchar; 8], - CertIndex: c_int, - CertLabel: [c_uchar; 36], -}} -STRUCT!{struct CRYPT_RC4_KEY_STATE { - Key: [c_uchar; 16], - SBox: [c_uchar; 256], - i: c_uchar, - j: c_uchar, -}} -pub type PCRYPT_RC4_KEY_STATE = *mut CRYPT_RC4_KEY_STATE; -STRUCT!{struct CRYPT_DES_KEY_STATE { - Key: [c_uchar; 8], - IV: [c_uchar; 8], - Feedback: [c_uchar; 8], -}} -pub type PCRYPT_DES_KEY_STATE = *mut CRYPT_DES_KEY_STATE; -STRUCT!{struct CRYPT_3DES_KEY_STATE { - Key: [c_uchar; 24], - IV: [c_uchar; 8], - Feedback: [c_uchar; 8], -}} -pub type PCRYPT_3DES_KEY_STATE = *mut CRYPT_3DES_KEY_STATE; -STRUCT!{struct CRYPT_AES_128_KEY_STATE { - Key: [c_uchar; 16], - IV: [c_uchar; 16], - EncryptionState: [[c_uchar; 16]; 11], - DecryptionState: [[c_uchar; 16]; 11], - Feedback: [c_uchar; 16], -}} -pub type PCRYPT_AES_128_KEY_STATE = *mut CRYPT_AES_128_KEY_STATE; -STRUCT!{struct CRYPT_AES_256_KEY_STATE { - Key: [c_uchar; 32], - IV: [c_uchar; 16], - EncryptionState: [[c_uchar; 16]; 15], - DecryptionState: [[c_uchar; 16]; 15], - Feedback: [c_uchar; 16], -}} -pub type PCRYPT_AES_256_KEY_STATE = *mut CRYPT_AES_256_KEY_STATE; -STRUCT!{struct CRYPTOAPI_BLOB { - cbData: DWORD, - pbData: *mut BYTE, -}} -pub type CRYPT_INTEGER_BLOB = CRYPTOAPI_BLOB; -pub type PCRYPT_INTEGER_BLOB = *mut CRYPTOAPI_BLOB; -pub type CRYPT_UINT_BLOB = CRYPTOAPI_BLOB; -pub type PCRYPT_UINT_BLOB = *mut CRYPTOAPI_BLOB; -pub type CRYPT_OBJID_BLOB = CRYPTOAPI_BLOB; -pub type PCRYPT_OBJID_BLOB = *mut CRYPTOAPI_BLOB; -pub type CERT_NAME_BLOB = CRYPTOAPI_BLOB; -pub type PCERT_NAME_BLOB = *mut CRYPTOAPI_BLOB; -pub type CERT_RDN_VALUE_BLOB = CRYPTOAPI_BLOB; -pub type PCERT_RDN_VALUE_BLOB = *mut CRYPTOAPI_BLOB; -pub type CERT_BLOB = CRYPTOAPI_BLOB; -pub type PCERT_BLOB = *mut CRYPTOAPI_BLOB; -pub type CRL_BLOB = CRYPTOAPI_BLOB; -pub type PCRL_BLOB = *mut CRYPTOAPI_BLOB; -pub type DATA_BLOB = CRYPTOAPI_BLOB; -pub type PDATA_BLOB = *mut CRYPTOAPI_BLOB; -pub type CRYPT_DATA_BLOB = CRYPTOAPI_BLOB; -pub type PCRYPT_DATA_BLOB = *mut CRYPTOAPI_BLOB; -pub type CRYPT_HASH_BLOB = CRYPTOAPI_BLOB; -pub type PCRYPT_HASH_BLOB = *mut CRYPTOAPI_BLOB; -pub type CRYPT_DIGEST_BLOB = CRYPTOAPI_BLOB; -pub type PCRYPT_DIGEST_BLOB = *mut CRYPTOAPI_BLOB; -pub type CRYPT_DER_BLOB = CRYPTOAPI_BLOB; -pub type PCRYPT_DER_BLOB = *mut CRYPTOAPI_BLOB; -pub type CRYPT_ATTR_BLOB = CRYPTOAPI_BLOB; -pub type PCRYPT_ATTR_BLOB = *mut CRYPTOAPI_BLOB; -STRUCT!{struct CMS_DH_KEY_INFO { - dwVersion: DWORD, - Algid: ALG_ID, - pszContentEncObjId: LPSTR, - PubInfo: CRYPT_DATA_BLOB, - pReserved: *mut c_void, -}} -pub type PCMS_DH_KEY_INFO = *mut CMS_DH_KEY_INFO; -extern "system" { - pub fn CryptAcquireContextA( - phProv: *mut HCRYPTPROV, - szContainer: LPCSTR, - szProvider: LPCSTR, - dwProvType: DWORD, - dwFlags: DWORD, - ) -> BOOL; - pub fn CryptAcquireContextW( - phProv: *mut HCRYPTPROV, - szContainer: LPCWSTR, - szProvider: LPCWSTR, - dwProvType: DWORD, - dwFlags: DWORD, - ) -> BOOL; - pub fn CryptReleaseContext( - hProv: HCRYPTPROV, - dwFlags: DWORD, - ) -> BOOL; - pub fn CryptGenKey( - hProv: HCRYPTPROV, - Algid: ALG_ID, - dwFlags: DWORD, - phKey: *mut HCRYPTKEY, - ) -> BOOL; - pub fn CryptDeriveKey( - hProv: HCRYPTPROV, - Algid: ALG_ID, - hBaseData: HCRYPTHASH, - dwFlags: DWORD, - phKey: *mut HCRYPTKEY, - ) -> BOOL; - pub fn CryptDestroyKey( - hKey: HCRYPTKEY, - ) -> BOOL; - pub fn CryptSetKeyParam( - hKey: HCRYPTKEY, - dwParam: DWORD, - pbData: *const BYTE, - dwFlags: DWORD, - ) -> BOOL; - pub fn CryptGetKeyParam( - hKey: HCRYPTKEY, - dwParam: DWORD, - pbData: *mut BYTE, - pdwDataLen: *mut DWORD, - dwFlags: DWORD, - ) -> BOOL; - pub fn CryptSetHashParam( - hHash: HCRYPTHASH, - dwParam: DWORD, - pbData: *const BYTE, - dwFlags: DWORD, - ) -> BOOL; - pub fn CryptGetHashParam( - hHash: HCRYPTHASH, - dwParam: DWORD, - pbData: *mut BYTE, - pdwDataLen: *mut DWORD, - dwFlags: DWORD, - ) -> BOOL; - pub fn CryptSetProvParam( - hProv: HCRYPTPROV, - dwParam: DWORD, - pbData: *const BYTE, - dwFlags: DWORD, - ) -> BOOL; - pub fn CryptGetProvParam( - hProv: HCRYPTPROV, - dwParam: DWORD, - pbData: *mut BYTE, - pdwDataLen: *mut DWORD, - dwFlags: DWORD, - ) -> BOOL; - pub fn CryptGenRandom( - hProv: HCRYPTPROV, - dwLen: DWORD, - pbBuffer: *mut BYTE, - ) -> BOOL; - pub fn CryptGetUserKey( - hProv: HCRYPTPROV, - dwKeySpec: DWORD, - phUserKey: *mut HCRYPTKEY, - ) -> BOOL; - pub fn CryptExportKey( - hKey: HCRYPTKEY, - hExpKey: HCRYPTKEY, - dwBlobType: DWORD, - dwFlags: DWORD, - pbData: *mut BYTE, - pdwDataLen: *mut DWORD, - ) -> BOOL; - pub fn CryptImportKey( - hProv: HCRYPTPROV, - pbData: *const BYTE, - dwDataLen: DWORD, - hPubKey: HCRYPTKEY, - dwFlags: DWORD, - phKey: *mut HCRYPTKEY, - ) -> BOOL; - pub fn CryptEncrypt( - hKey: HCRYPTKEY, - hHash: HCRYPTHASH, - Final: BOOL, - dwFlags: DWORD, - pbData: *mut BYTE, - pdwDataLen: *mut DWORD, - dwBufLen: DWORD, - ) -> BOOL; - pub fn CryptDecrypt( - hKey: HCRYPTKEY, - hHash: HCRYPTHASH, - Final: BOOL, - dwFlags: DWORD, - pbData: *mut BYTE, - pdwDataLen: *mut DWORD, - ) -> BOOL; - pub fn CryptCreateHash( - hProv: HCRYPTPROV, - Algid: ALG_ID, - hKey: HCRYPTKEY, - dwFlags: DWORD, - phHash: *mut HCRYPTHASH, - ) -> BOOL; - pub fn CryptHashData( - hHash: HCRYPTHASH, - pbData: *const BYTE, - dwDataLen: DWORD, - dwFlags: DWORD, - ) -> BOOL; - pub fn CryptHashSessionKey( - hHash: HCRYPTHASH, - hKey: HCRYPTKEY, - dwFlags: DWORD, - ) -> BOOL; - pub fn CryptDestroyHash( - hHash: HCRYPTHASH, - ) -> BOOL; - pub fn CryptSignHashA( - hHash: HCRYPTHASH, - dwKeySpec: DWORD, - szDescription: LPCSTR, - dwFlags: DWORD, - pbSignature: *mut BYTE, - pdwSigLen: *mut DWORD, - ) -> BOOL; - pub fn CryptSignHashW( - hHash: HCRYPTHASH, - dwKeySpec: DWORD, - szDescription: LPCWSTR, - dwFlags: DWORD, - pbSignature: *mut BYTE, - pdwSigLen: *mut DWORD, - ) -> BOOL; - pub fn CryptVerifySignatureA( - hHash: HCRYPTHASH, - pbSignature: *const BYTE, - dwSigLen: DWORD, - hPubKey: HCRYPTKEY, - szDescription: LPCSTR, - dwFlags: DWORD, - ) -> BOOL; - pub fn CryptVerifySignatureW( - hHash: HCRYPTHASH, - pbSignature: *const BYTE, - dwSigLen: DWORD, - hPubKey: HCRYPTKEY, - szDescription: LPCWSTR, - dwFlags: DWORD, - ) -> BOOL; - pub fn CryptSetProviderA( - pszProvName: LPCSTR, - dwProvType: DWORD, - ) -> BOOL; - pub fn CryptSetProviderW( - pszProvName: LPCWSTR, - dwProvType: DWORD, - ) -> BOOL; - pub fn CryptSetProviderExA( - pszProvName: LPCSTR, - dwProvType: DWORD, - pdwReserved: *mut DWORD, - dwFlags: DWORD, - ) -> BOOL; - pub fn CryptSetProviderExW( - pszProvName: LPCWSTR, - dwProvType: DWORD, - pdwReserved: *mut DWORD, - dwFlags: DWORD, - ) -> BOOL; - pub fn CryptGetDefaultProviderA( - dwProvType: DWORD, - pdwReserved: *mut DWORD, - dwFlags: DWORD, - pszProvName: LPSTR, - pcbProvName: *mut DWORD, - ) -> BOOL; - pub fn CryptGetDefaultProviderW( - dwProvType: DWORD, - pdwReserved: *mut DWORD, - dwFlags: DWORD, - pszProvName: LPWSTR, - pcbProvName: *mut DWORD, - ) -> BOOL; - pub fn CryptEnumProviderTypesA( - dwIndex: DWORD, - pdwReserved: *mut DWORD, - dwFlags: DWORD, - pdwProvType: *mut DWORD, - szTypeName: LPSTR, - pcbTypeName: *mut DWORD, - ) -> BOOL; - pub fn CryptEnumProviderTypesW( - dwIndex: DWORD, - pdwReserved: *mut DWORD, - dwFlags: DWORD, - pdwProvType: *mut DWORD, - szTypeName: LPWSTR, - pcbTypeName: *mut DWORD, - ) -> BOOL; - pub fn CryptEnumProvidersA( - dwIndex: DWORD, - pdwReserved: *mut DWORD, - dwFlags: DWORD, - pdwProvType: *mut DWORD, - szProvName: LPSTR, - pcbProvName: *mut DWORD, - ) -> BOOL; - pub fn CryptEnumProvidersW( - dwIndex: DWORD, - pdwReserved: *mut DWORD, - dwFlags: DWORD, - pdwProvType: *mut DWORD, - szProvName: LPWSTR, - pcbProvName: *mut DWORD, - ) -> BOOL; - pub fn CryptContextAddRef( - hProv: HCRYPTPROV, - pdwReserved: *mut DWORD, - dwFlags: DWORD, - ) -> BOOL; - pub fn CryptDuplicateKey( - hKey: HCRYPTKEY, - pdwReserved: *mut DWORD, - dwFlags: DWORD, - phKey: *mut HCRYPTKEY, - ) -> BOOL; - pub fn CryptDuplicateHash( - hHash: HCRYPTHASH, - pdwReserved: *mut DWORD, - dwFlags: DWORD, - phHash: *mut HCRYPTHASH, - ) -> BOOL; -} -extern "C" { - pub fn GetEncSChannel( - pData: *mut *mut BYTE, - dwDecSize: *mut DWORD, - ) -> BOOL; -} -pub type HCRYPTPROV_OR_NCRYPT_KEY_HANDLE = ULONG_PTR; -pub type HCRYPTPROV_LEGACY = ULONG_PTR; -STRUCT!{struct CRYPT_BIT_BLOB { - cbData: DWORD, - pbData: *mut BYTE, - cUnusedBits: DWORD, -}} -pub type PCRYPT_BIT_BLOB = *mut CRYPT_BIT_BLOB; -STRUCT!{struct CRYPT_ALGORITHM_IDENTIFIER { - pszObjId: LPSTR, - Parameters: CRYPT_OBJID_BLOB, -}} -pub type PCRYPT_ALGORITHM_IDENTIFIER = *mut CRYPT_ALGORITHM_IDENTIFIER; -pub const szOID_RSA: &'static str = "1.2.840.113549"; -pub const szOID_PKCS: &'static str = "1.2.840.113549.1"; -pub const szOID_RSA_HASH: &'static str = "1.2.840.113549.2"; -pub const szOID_RSA_ENCRYPT: &'static str = "1.2.840.113549.3"; -pub const szOID_PKCS_1: &'static str = "1.2.840.113549.1.1"; -pub const szOID_PKCS_2: &'static str = "1.2.840.113549.1.2"; -pub const szOID_PKCS_3: &'static str = "1.2.840.113549.1.3"; -pub const szOID_PKCS_4: &'static str = "1.2.840.113549.1.4"; -pub const szOID_PKCS_5: &'static str = "1.2.840.113549.1.5"; -pub const szOID_PKCS_6: &'static str = "1.2.840.113549.1.6"; -pub const szOID_PKCS_7: &'static str = "1.2.840.113549.1.7"; -pub const szOID_PKCS_8: &'static str = "1.2.840.113549.1.8"; -pub const szOID_PKCS_9: &'static str = "1.2.840.113549.1.9"; -pub const szOID_PKCS_10: &'static str = "1.2.840.113549.1.10"; -pub const szOID_PKCS_12: &'static str = "1.2.840.113549.1.12"; -pub const szOID_RSA_RSA: &'static str = "1.2.840.113549.1.1.1"; -pub const szOID_RSA_MD2RSA: &'static str = "1.2.840.113549.1.1.2"; -pub const szOID_RSA_MD4RSA: &'static str = "1.2.840.113549.1.1.3"; -pub const szOID_RSA_MD5RSA: &'static str = "1.2.840.113549.1.1.4"; -pub const szOID_RSA_SHA1RSA: &'static str = "1.2.840.113549.1.1.5"; -pub const szOID_RSA_SETOAEP_RSA: &'static str = "1.2.840.113549.1.1.6"; -pub const szOID_RSAES_OAEP: &'static str = "1.2.840.113549.1.1.7"; -pub const szOID_RSA_MGF1: &'static str = "1.2.840.113549.1.1.8"; -pub const szOID_RSA_PSPECIFIED: &'static str = "1.2.840.113549.1.1.9"; -pub const szOID_RSA_SSA_PSS: &'static str = "1.2.840.113549.1.1.10"; -pub const szOID_RSA_SHA256RSA: &'static str = "1.2.840.113549.1.1.11"; -pub const szOID_RSA_SHA384RSA: &'static str = "1.2.840.113549.1.1.12"; -pub const szOID_RSA_SHA512RSA: &'static str = "1.2.840.113549.1.1.13"; -pub const szOID_RSA_DH: &'static str = "1.2.840.113549.1.3.1"; -pub const szOID_RSA_data: &'static str = "1.2.840.113549.1.7.1"; -pub const szOID_RSA_signedData: &'static str = "1.2.840.113549.1.7.2"; -pub const szOID_RSA_envelopedData: &'static str = "1.2.840.113549.1.7.3"; -pub const szOID_RSA_signEnvData: &'static str = "1.2.840.113549.1.7.4"; -pub const szOID_RSA_digestedData: &'static str = "1.2.840.113549.1.7.5"; -pub const szOID_RSA_hashedData: &'static str = "1.2.840.113549.1.7.5"; -pub const szOID_RSA_encryptedData: &'static str = "1.2.840.113549.1.7.6"; -pub const szOID_RSA_emailAddr: &'static str = "1.2.840.113549.1.9.1"; -pub const szOID_RSA_unstructName: &'static str = "1.2.840.113549.1.9.2"; -pub const szOID_RSA_contentType: &'static str = "1.2.840.113549.1.9.3"; -pub const szOID_RSA_messageDigest: &'static str = "1.2.840.113549.1.9.4"; -pub const szOID_RSA_signingTime: &'static str = "1.2.840.113549.1.9.5"; -pub const szOID_RSA_counterSign: &'static str = "1.2.840.113549.1.9.6"; -pub const szOID_RSA_challengePwd: &'static str = "1.2.840.113549.1.9.7"; -pub const szOID_RSA_unstructAddr: &'static str = "1.2.840.113549.1.9.8"; -pub const szOID_RSA_extCertAttrs: &'static str = "1.2.840.113549.1.9.9"; -pub const szOID_RSA_certExtensions: &'static str = "1.2.840.113549.1.9.14"; -pub const szOID_RSA_SMIMECapabilities: &'static str = "1.2.840.113549.1.9.15"; -pub const szOID_RSA_preferSignedData: &'static str = "1.2.840.113549.1.9.15.1"; -pub const szOID_TIMESTAMP_TOKEN: &'static str = "1.2.840.113549.1.9.16.1.4"; -pub const szOID_RFC3161_counterSign: &'static str = "1.3.6.1.4.1.311.3.3.1"; -pub const szOID_RSA_SMIMEalg: &'static str = "1.2.840.113549.1.9.16.3"; -pub const szOID_RSA_SMIMEalgESDH: &'static str = "1.2.840.113549.1.9.16.3.5"; -pub const szOID_RSA_SMIMEalgCMS3DESwrap: &'static str = "1.2.840.113549.1.9.16.3.6"; -pub const szOID_RSA_SMIMEalgCMSRC2wrap: &'static str = "1.2.840.113549.1.9.16.3.7"; -pub const szOID_RSA_MD2: &'static str = "1.2.840.113549.2.2"; -pub const szOID_RSA_MD4: &'static str = "1.2.840.113549.2.4"; -pub const szOID_RSA_MD5: &'static str = "1.2.840.113549.2.5"; -pub const szOID_RSA_RC2CBC: &'static str = "1.2.840.113549.3.2"; -pub const szOID_RSA_RC4: &'static str = "1.2.840.113549.3.4"; -pub const szOID_RSA_DES_EDE3_CBC: &'static str = "1.2.840.113549.3.7"; -pub const szOID_RSA_RC5_CBCPad: &'static str = "1.2.840.113549.3.9"; -pub const szOID_ANSI_X942: &'static str = "1.2.840.10046"; -pub const szOID_ANSI_X942_DH: &'static str = "1.2.840.10046.2.1"; -pub const szOID_X957: &'static str = "1.2.840.10040"; -pub const szOID_X957_DSA: &'static str = "1.2.840.10040.4.1"; -pub const szOID_X957_SHA1DSA: &'static str = "1.2.840.10040.4.3"; -pub const szOID_ECC_PUBLIC_KEY: &'static str = "1.2.840.10045.2.1"; -pub const szOID_ECC_CURVE_P256: &'static str = "1.2.840.10045.3.1.7"; -pub const szOID_ECC_CURVE_P384: &'static str = "1.3.132.0.34"; -pub const szOID_ECC_CURVE_P521: &'static str = "1.3.132.0.35"; -pub const szOID_ECC_CURVE_BRAINPOOLP160R1: &'static str = "1.3.36.3.3.2.8.1.1.1"; -pub const szOID_ECC_CURVE_BRAINPOOLP160T1: &'static str = "1.3.36.3.3.2.8.1.1.2"; -pub const szOID_ECC_CURVE_BRAINPOOLP192R1: &'static str = "1.3.36.3.3.2.8.1.1.3"; -pub const szOID_ECC_CURVE_BRAINPOOLP192T1: &'static str = "1.3.36.3.3.2.8.1.1.4"; -pub const szOID_ECC_CURVE_BRAINPOOLP224R1: &'static str = "1.3.36.3.3.2.8.1.1.5"; -pub const szOID_ECC_CURVE_BRAINPOOLP224T1: &'static str = "1.3.36.3.3.2.8.1.1.6"; -pub const szOID_ECC_CURVE_BRAINPOOLP256R1: &'static str = "1.3.36.3.3.2.8.1.1.7"; -pub const szOID_ECC_CURVE_BRAINPOOLP256T1: &'static str = "1.3.36.3.3.2.8.1.1.8"; -pub const szOID_ECC_CURVE_BRAINPOOLP320R1: &'static str = "1.3.36.3.3.2.8.1.1.9"; -pub const szOID_ECC_CURVE_BRAINPOOLP320T1: &'static str = "1.3.36.3.3.2.8.1.1.10"; -pub const szOID_ECC_CURVE_BRAINPOOLP384R1: &'static str = "1.3.36.3.3.2.8.1.1.11"; -pub const szOID_ECC_CURVE_BRAINPOOLP384T1: &'static str = "1.3.36.3.3.2.8.1.1.12"; -pub const szOID_ECC_CURVE_BRAINPOOLP512R1: &'static str = "1.3.36.3.3.2.8.1.1.13"; -pub const szOID_ECC_CURVE_BRAINPOOLP512T1: &'static str = "1.3.36.3.3.2.8.1.1.14"; -pub const szOID_ECC_CURVE_EC192WAPI: &'static str = "1.2.156.11235.1.1.2.1"; -pub const szOID_CN_ECDSA_SHA256: &'static str = "1.2.156.11235.1.1.1"; -pub const szOID_ECC_CURVE_NISTP192: &'static str = "1.2.840.10045.3.1.1"; -pub const szOID_ECC_CURVE_NISTP224: &'static str = "1.3.132.0.33"; -pub const szOID_ECC_CURVE_NISTP256: &'static str = szOID_ECC_CURVE_P256; -pub const szOID_ECC_CURVE_NISTP384: &'static str = szOID_ECC_CURVE_P384; -pub const szOID_ECC_CURVE_NISTP521: &'static str = szOID_ECC_CURVE_P521; -pub const szOID_ECC_CURVE_SECP160K1: &'static str = "1.3.132.0.9"; -pub const szOID_ECC_CURVE_SECP160R1: &'static str = "1.3.132.0.8"; -pub const szOID_ECC_CURVE_SECP160R2: &'static str = "1.3.132.0.30"; -pub const szOID_ECC_CURVE_SECP192K1: &'static str = "1.3.132.0.31"; -pub const szOID_ECC_CURVE_SECP192R1: &'static str = szOID_ECC_CURVE_NISTP192; -pub const szOID_ECC_CURVE_SECP224K1: &'static str = "1.3.132.0.32"; -pub const szOID_ECC_CURVE_SECP224R1: &'static str = szOID_ECC_CURVE_NISTP224; -pub const szOID_ECC_CURVE_SECP256K1: &'static str = "1.3.132.0.10"; -pub const szOID_ECC_CURVE_SECP256R1: &'static str = szOID_ECC_CURVE_P256; -pub const szOID_ECC_CURVE_SECP384R1: &'static str = szOID_ECC_CURVE_P384; -pub const szOID_ECC_CURVE_SECP521R1: &'static str = szOID_ECC_CURVE_P521; -pub const szOID_ECC_CURVE_WTLS7: &'static str = szOID_ECC_CURVE_SECP160R2; -pub const szOID_ECC_CURVE_WTLS9: &'static str = "2.23.43.1.4.9"; -pub const szOID_ECC_CURVE_WTLS12: &'static str = szOID_ECC_CURVE_NISTP224; -pub const szOID_ECC_CURVE_X962P192V1: &'static str = "1.2.840.10045.3.1.1"; -pub const szOID_ECC_CURVE_X962P192V2: &'static str = "1.2.840.10045.3.1.2"; -pub const szOID_ECC_CURVE_X962P192V3: &'static str = "1.2.840.10045.3.1.3"; -pub const szOID_ECC_CURVE_X962P239V1: &'static str = "1.2.840.10045.3.1.4"; -pub const szOID_ECC_CURVE_X962P239V2: &'static str = "1.2.840.10045.3.1.5"; -pub const szOID_ECC_CURVE_X962P239V3: &'static str = "1.2.840.10045.3.1.6"; -pub const szOID_ECC_CURVE_X962P256V1: &'static str = szOID_ECC_CURVE_P256; -pub const szOID_ECDSA_SHA1: &'static str = "1.2.840.10045.4.1"; -pub const szOID_ECDSA_SPECIFIED: &'static str = "1.2.840.10045.4.3"; -pub const szOID_ECDSA_SHA256: &'static str = "1.2.840.10045.4.3.2"; -pub const szOID_ECDSA_SHA384: &'static str = "1.2.840.10045.4.3.3"; -pub const szOID_ECDSA_SHA512: &'static str = "1.2.840.10045.4.3.4"; -pub const szOID_NIST_AES128_CBC: &'static str = "2.16.840.1.101.3.4.1.2"; -pub const szOID_NIST_AES192_CBC: &'static str = "2.16.840.1.101.3.4.1.22"; -pub const szOID_NIST_AES256_CBC: &'static str = "2.16.840.1.101.3.4.1.42"; -pub const szOID_NIST_AES128_WRAP: &'static str = "2.16.840.1.101.3.4.1.5"; -pub const szOID_NIST_AES192_WRAP: &'static str = "2.16.840.1.101.3.4.1.25"; -pub const szOID_NIST_AES256_WRAP: &'static str = "2.16.840.1.101.3.4.1.45"; -pub const szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF: &'static str = "1.3.133.16.840.63.0.2"; -pub const szOID_DH_SINGLE_PASS_STDDH_SHA256_KDF: &'static str = "1.3.132.1.11.1"; -pub const szOID_DH_SINGLE_PASS_STDDH_SHA384_KDF: &'static str = "1.3.132.1.11.2"; -pub const szOID_DS: &'static str = "2.5"; -pub const szOID_DSALG: &'static str = "2.5.8"; -pub const szOID_DSALG_CRPT: &'static str = "2.5.8.1"; -pub const szOID_DSALG_HASH: &'static str = "2.5.8.2"; -pub const szOID_DSALG_SIGN: &'static str = "2.5.8.3"; -pub const szOID_DSALG_RSA: &'static str = "2.5.8.1.1"; -pub const szOID_OIW: &'static str = "1.3.14"; -pub const szOID_OIWSEC: &'static str = "1.3.14.3.2"; -pub const szOID_OIWSEC_md4RSA: &'static str = "1.3.14.3.2.2"; -pub const szOID_OIWSEC_md5RSA: &'static str = "1.3.14.3.2.3"; -pub const szOID_OIWSEC_md4RSA2: &'static str = "1.3.14.3.2.4"; -pub const szOID_OIWSEC_desECB: &'static str = "1.3.14.3.2.6"; -pub const szOID_OIWSEC_desCBC: &'static str = "1.3.14.3.2.7"; -pub const szOID_OIWSEC_desOFB: &'static str = "1.3.14.3.2.8"; -pub const szOID_OIWSEC_desCFB: &'static str = "1.3.14.3.2.9"; -pub const szOID_OIWSEC_desMAC: &'static str = "1.3.14.3.2.10"; -pub const szOID_OIWSEC_rsaSign: &'static str = "1.3.14.3.2.11"; -pub const szOID_OIWSEC_dsa: &'static str = "1.3.14.3.2.12"; -pub const szOID_OIWSEC_shaDSA: &'static str = "1.3.14.3.2.13"; -pub const szOID_OIWSEC_mdc2RSA: &'static str = "1.3.14.3.2.14"; -pub const szOID_OIWSEC_shaRSA: &'static str = "1.3.14.3.2.15"; -pub const szOID_OIWSEC_dhCommMod: &'static str = "1.3.14.3.2.16"; -pub const szOID_OIWSEC_desEDE: &'static str = "1.3.14.3.2.17"; -pub const szOID_OIWSEC_sha: &'static str = "1.3.14.3.2.18"; -pub const szOID_OIWSEC_mdc2: &'static str = "1.3.14.3.2.19"; -pub const szOID_OIWSEC_dsaComm: &'static str = "1.3.14.3.2.20"; -pub const szOID_OIWSEC_dsaCommSHA: &'static str = "1.3.14.3.2.21"; -pub const szOID_OIWSEC_rsaXchg: &'static str = "1.3.14.3.2.22"; -pub const szOID_OIWSEC_keyHashSeal: &'static str = "1.3.14.3.2.23"; -pub const szOID_OIWSEC_md2RSASign: &'static str = "1.3.14.3.2.24"; -pub const szOID_OIWSEC_md5RSASign: &'static str = "1.3.14.3.2.25"; -pub const szOID_OIWSEC_sha1: &'static str = "1.3.14.3.2.26"; -pub const szOID_OIWSEC_dsaSHA1: &'static str = "1.3.14.3.2.27"; -pub const szOID_OIWSEC_dsaCommSHA1: &'static str = "1.3.14.3.2.28"; -pub const szOID_OIWSEC_sha1RSASign: &'static str = "1.3.14.3.2.29"; -pub const szOID_OIWDIR: &'static str = "1.3.14.7.2"; -pub const szOID_OIWDIR_CRPT: &'static str = "1.3.14.7.2.1"; -pub const szOID_OIWDIR_HASH: &'static str = "1.3.14.7.2.2"; -pub const szOID_OIWDIR_SIGN: &'static str = "1.3.14.7.2.3"; -pub const szOID_OIWDIR_md2: &'static str = "1.3.14.7.2.2.1"; -pub const szOID_OIWDIR_md2RSA: &'static str = "1.3.14.7.2.3.1"; -pub const szOID_INFOSEC: &'static str = "2.16.840.1.101.2.1"; -pub const szOID_INFOSEC_sdnsSignature: &'static str = "2.16.840.1.101.2.1.1.1"; -pub const szOID_INFOSEC_mosaicSignature: &'static str = "2.16.840.1.101.2.1.1.2"; -pub const szOID_INFOSEC_sdnsConfidentiality: &'static str = "2.16.840.1.101.2.1.1.3"; -pub const szOID_INFOSEC_mosaicConfidentiality: &'static str = "2.16.840.1.101.2.1.1.4"; -pub const szOID_INFOSEC_sdnsIntegrity: &'static str = "2.16.840.1.101.2.1.1.5"; -pub const szOID_INFOSEC_mosaicIntegrity: &'static str = "2.16.840.1.101.2.1.1.6"; -pub const szOID_INFOSEC_sdnsTokenProtection: &'static str = "2.16.840.1.101.2.1.1.7"; -pub const szOID_INFOSEC_mosaicTokenProtection: &'static str = "2.16.840.1.101.2.1.1.8"; -pub const szOID_INFOSEC_sdnsKeyManagement: &'static str = "2.16.840.1.101.2.1.1.9"; -pub const szOID_INFOSEC_mosaicKeyManagement: &'static str = "2.16.840.1.101.2.1.1.10"; -pub const szOID_INFOSEC_sdnsKMandSig: &'static str = "2.16.840.1.101.2.1.1.11"; -pub const szOID_INFOSEC_mosaicKMandSig: &'static str = "2.16.840.1.101.2.1.1.12"; -pub const szOID_INFOSEC_SuiteASignature: &'static str = "2.16.840.1.101.2.1.1.13"; -pub const szOID_INFOSEC_SuiteAConfidentiality: &'static str = "2.16.840.1.101.2.1.1.14"; -pub const szOID_INFOSEC_SuiteAIntegrity: &'static str = "2.16.840.1.101.2.1.1.15"; -pub const szOID_INFOSEC_SuiteATokenProtection: &'static str = "2.16.840.1.101.2.1.1.16"; -pub const szOID_INFOSEC_SuiteAKeyManagement: &'static str = "2.16.840.1.101.2.1.1.17"; -pub const szOID_INFOSEC_SuiteAKMandSig: &'static str = "2.16.840.1.101.2.1.1.18"; -pub const szOID_INFOSEC_mosaicUpdatedSig: &'static str = "2.16.840.1.101.2.1.1.19"; -pub const szOID_INFOSEC_mosaicKMandUpdSig: &'static str = "2.16.840.1.101.2.1.1.20"; -pub const szOID_INFOSEC_mosaicUpdatedInteg: &'static str = "2.16.840.1.101.2.1.1.21"; -pub const szOID_NIST_sha256: &'static str = "2.16.840.1.101.3.4.2.1"; -pub const szOID_NIST_sha384: &'static str = "2.16.840.1.101.3.4.2.2"; -pub const szOID_NIST_sha512: &'static str = "2.16.840.1.101.3.4.2.3"; -STRUCT!{struct CRYPT_OBJID_TABLE { - dwAlgId: DWORD, - pszObjId: LPCSTR, -}} -pub type PCRYPT_OBJID_TABLE = *mut CRYPT_OBJID_TABLE; -STRUCT!{struct CRYPT_HASH_INFO { - HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - Hash: CRYPT_HASH_BLOB, -}} -pub type PCRYPT_HASH_INFO = *mut CRYPT_HASH_INFO; -STRUCT!{struct CERT_EXTENSION { - pszObjId: LPSTR, - fCritical: BOOL, - Value: CRYPT_OBJID_BLOB, -}} -pub type PCERT_EXTENSION = *mut CERT_EXTENSION; -pub type PCCERT_EXTENSION = *const CERT_EXTENSION; -STRUCT!{struct CRYPT_ATTRIBUTE_TYPE_VALUE { - pszObjId: LPSTR, - Value: CRYPT_OBJID_BLOB, -}} -pub type PCRYPT_ATTRIBUTE_TYPE_VALUE = *mut CRYPT_ATTRIBUTE_TYPE_VALUE; -STRUCT!{struct CRYPT_ATTRIBUTE { - pszObjId: LPSTR, - cValue: DWORD, - rgValue: PCRYPT_ATTR_BLOB, -}} -pub type PCRYPT_ATTRIBUTE = *mut CRYPT_ATTRIBUTE; -STRUCT!{struct CRYPT_ATTRIBUTES { - cAttr: DWORD, - rgAttr: PCRYPT_ATTRIBUTE, -}} -pub type PCRYPT_ATTRIBUTES = *mut CRYPT_ATTRIBUTES; -STRUCT!{struct CERT_RDN_ATTR { - pszObjId: LPSTR, - dwValueType: DWORD, - Value: CERT_RDN_VALUE_BLOB, -}} -pub type PCERT_RDN_ATTR = *mut CERT_RDN_ATTR; -pub const szOID_COMMON_NAME: &'static str = "2.5.4.3"; -pub const szOID_SUR_NAME: &'static str = "2.5.4.4"; -pub const szOID_DEVICE_SERIAL_NUMBER: &'static str = "2.5.4.5"; -pub const szOID_COUNTRY_NAME: &'static str = "2.5.4.6"; -pub const szOID_LOCALITY_NAME: &'static str = "2.5.4.7"; -pub const szOID_STATE_OR_PROVINCE_NAME: &'static str = "2.5.4.8"; -pub const szOID_STREET_ADDRESS: &'static str = "2.5.4.9"; -pub const szOID_ORGANIZATION_NAME: &'static str = "2.5.4.10"; -pub const szOID_ORGANIZATIONAL_UNIT_NAME: &'static str = "2.5.4.11"; -pub const szOID_TITLE: &'static str = "2.5.4.12"; -pub const szOID_DESCRIPTION: &'static str = "2.5.4.13"; -pub const szOID_SEARCH_GUIDE: &'static str = "2.5.4.14"; -pub const szOID_BUSINESS_CATEGORY: &'static str = "2.5.4.15"; -pub const szOID_POSTAL_ADDRESS: &'static str = "2.5.4.16"; -pub const szOID_POSTAL_CODE: &'static str = "2.5.4.17"; -pub const szOID_POST_OFFICE_BOX: &'static str = "2.5.4.18"; -pub const szOID_PHYSICAL_DELIVERY_OFFICE_NAME: &'static str = "2.5.4.19"; -pub const szOID_TELEPHONE_NUMBER: &'static str = "2.5.4.20"; -pub const szOID_TELEX_NUMBER: &'static str = "2.5.4.21"; -pub const szOID_TELETEXT_TERMINAL_IDENTIFIER: &'static str = "2.5.4.22"; -pub const szOID_FACSIMILE_TELEPHONE_NUMBER: &'static str = "2.5.4.23"; -pub const szOID_X21_ADDRESS: &'static str = "2.5.4.24"; -pub const szOID_INTERNATIONAL_ISDN_NUMBER: &'static str = "2.5.4.25"; -pub const szOID_REGISTERED_ADDRESS: &'static str = "2.5.4.26"; -pub const szOID_DESTINATION_INDICATOR: &'static str = "2.5.4.27"; -pub const szOID_PREFERRED_DELIVERY_METHOD: &'static str = "2.5.4.28"; -pub const szOID_PRESENTATION_ADDRESS: &'static str = "2.5.4.29"; -pub const szOID_SUPPORTED_APPLICATION_CONTEXT: &'static str = "2.5.4.30"; -pub const szOID_MEMBER: &'static str = "2.5.4.31"; -pub const szOID_OWNER: &'static str = "2.5.4.32"; -pub const szOID_ROLE_OCCUPANT: &'static str = "2.5.4.33"; -pub const szOID_SEE_ALSO: &'static str = "2.5.4.34"; -pub const szOID_USER_PASSWORD: &'static str = "2.5.4.35"; -pub const szOID_USER_CERTIFICATE: &'static str = "2.5.4.36"; -pub const szOID_CA_CERTIFICATE: &'static str = "2.5.4.37"; -pub const szOID_AUTHORITY_REVOCATION_LIST: &'static str = "2.5.4.38"; -pub const szOID_CERTIFICATE_REVOCATION_LIST: &'static str = "2.5.4.39"; -pub const szOID_CROSS_CERTIFICATE_PAIR: &'static str = "2.5.4.40"; -pub const szOID_GIVEN_NAME: &'static str = "2.5.4.42"; -pub const szOID_INITIALS: &'static str = "2.5.4.43"; -pub const szOID_DN_QUALIFIER: &'static str = "2.5.4.46"; -pub const szOID_DOMAIN_COMPONENT: &'static str = "0.9.2342.19200300.100.1.25"; -pub const szOID_PKCS_12_FRIENDLY_NAME_ATTR: &'static str = "1.2.840.113549.1.9.20"; -pub const szOID_PKCS_12_LOCAL_KEY_ID: &'static str = "1.2.840.113549.1.9.21"; -pub const szOID_PKCS_12_KEY_PROVIDER_NAME_ATTR: &'static str = "1.3.6.1.4.1.311.17.1"; -pub const szOID_LOCAL_MACHINE_KEYSET: &'static str = "1.3.6.1.4.1.311.17.2"; -pub const szOID_PKCS_12_EXTENDED_ATTRIBUTES: &'static str = "1.3.6.1.4.1.311.17.3"; -pub const szOID_PKCS_12_PROTECTED_PASSWORD_SECRET_BAG_TYPE_ID: &'static str - = "1.3.6.1.4.1.311.17.4"; -pub const szOID_KEYID_RDN: &'static str = "1.3.6.1.4.1.311.10.7.1"; -pub const szOID_EV_RDN_LOCALE: &'static str = "1.3.6.1.4.1.311.60.2.1.1"; -pub const szOID_EV_RDN_STATE_OR_PROVINCE: &'static str = "1.3.6.1.4.1.311.60.2.1.2"; -pub const szOID_EV_RDN_COUNTRY: &'static str = "1.3.6.1.4.1.311.60.2.1.3"; -pub const CERT_RDN_ANY_TYPE: DWORD = 0; -pub const CERT_RDN_ENCODED_BLOB: DWORD = 1; -pub const CERT_RDN_OCTET_STRING: DWORD = 2; -pub const CERT_RDN_NUMERIC_STRING: DWORD = 3; -pub const CERT_RDN_PRINTABLE_STRING: DWORD = 4; -pub const CERT_RDN_TELETEX_STRING: DWORD = 5; -pub const CERT_RDN_T61_STRING: DWORD = 5; -pub const CERT_RDN_VIDEOTEX_STRING: DWORD = 6; -pub const CERT_RDN_IA5_STRING: DWORD = 7; -pub const CERT_RDN_GRAPHIC_STRING: DWORD = 8; -pub const CERT_RDN_VISIBLE_STRING: DWORD = 9; -pub const CERT_RDN_ISO646_STRING: DWORD = 9; -pub const CERT_RDN_GENERAL_STRING: DWORD = 10; -pub const CERT_RDN_UNIVERSAL_STRING: DWORD = 11; -pub const CERT_RDN_INT4_STRING: DWORD = 11; -pub const CERT_RDN_BMP_STRING: DWORD = 12; -pub const CERT_RDN_UNICODE_STRING: DWORD = 12; -pub const CERT_RDN_UTF8_STRING: DWORD = 13; -pub const CERT_RDN_TYPE_MASK: DWORD = 0x000000FF; -pub const CERT_RDN_FLAGS_MASK: DWORD = 0xFF000000; -pub const CERT_RDN_ENABLE_T61_UNICODE_FLAG: DWORD = 0x80000000; -pub const CERT_RDN_ENABLE_UTF8_UNICODE_FLAG: DWORD = 0x20000000; -pub const CERT_RDN_FORCE_UTF8_UNICODE_FLAG: DWORD = 0x10000000; -pub const CERT_RDN_DISABLE_CHECK_TYPE_FLAG: DWORD = 0x40000000; -pub const CERT_RDN_DISABLE_IE4_UTF8_FLAG: DWORD = 0x01000000; -pub const CERT_RDN_ENABLE_PUNYCODE_FLAG: DWORD = 0x02000000; -#[inline] -pub fn IS_CERT_RDN_CHAR_STRING(X: DWORD) -> bool { - (X & CERT_RDN_TYPE_MASK) >= CERT_RDN_NUMERIC_STRING -} -STRUCT!{struct CERT_RDN { - cRDNAttr: DWORD, - rgRDNAttr: PCERT_RDN_ATTR, -}} -pub type PCERT_RDN = *mut CERT_RDN; -STRUCT!{struct CERT_NAME_INFO { - cRDN: DWORD, - rgRDN: PCERT_RDN, -}} -pub type PCERT_NAME_INFO = *mut CERT_NAME_INFO; -STRUCT!{struct CERT_NAME_VALUE { - dwValueType: DWORD, - Value: CERT_RDN_VALUE_BLOB, -}} -pub type PCERT_NAME_VALUE = *mut CERT_NAME_VALUE; -STRUCT!{struct CERT_PUBLIC_KEY_INFO { - Algorithm: CRYPT_ALGORITHM_IDENTIFIER, - PublicKey: CRYPT_BIT_BLOB, -}} -pub type PCERT_PUBLIC_KEY_INFO = *mut CERT_PUBLIC_KEY_INFO; -pub const CERT_RSA_PUBLIC_KEY_OBJID: &'static str = szOID_RSA_RSA; -pub const CERT_DEFAULT_OID_PUBLIC_KEY_SIGN: &'static str = szOID_RSA_RSA; -pub const CERT_DEFAULT_OID_PUBLIC_KEY_XCHG: &'static str = szOID_RSA_RSA; -STRUCT!{struct CRYPT_ECC_PRIVATE_KEY_INFO { - dwVersion: DWORD, - PrivateKey: CRYPT_DER_BLOB, - szCurveOid: LPSTR, - PublicKey: CRYPT_BIT_BLOB, -}} -pub type PCRYPT_ECC_PRIVATE_KEY_INFO = *mut CRYPT_ECC_PRIVATE_KEY_INFO; -pub const CRYPT_ECC_PRIVATE_KEY_INFO_v1: DWORD = 1; -STRUCT!{struct CRYPT_PRIVATE_KEY_INFO { - Version: DWORD, - Algorithm: CRYPT_ALGORITHM_IDENTIFIER, - PrivateKey: CRYPT_DER_BLOB, - pAttributes: PCRYPT_ATTRIBUTES, -}} -pub type PCRYPT_PRIVATE_KEY_INFO = *mut CRYPT_PRIVATE_KEY_INFO; -STRUCT!{struct CRYPT_ENCRYPTED_PRIVATE_KEY_INFO { - EncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - EncryptedPrivateKey: CRYPT_DATA_BLOB, -}} -pub type PCRYPT_ENCRYPTED_PRIVATE_KEY_INFO = *mut CRYPT_ENCRYPTED_PRIVATE_KEY_INFO; -FN!{stdcall PCRYPT_DECRYPT_PRIVATE_KEY_FUNC( - Algorithm: CRYPT_ALGORITHM_IDENTIFIER, - EncryptedPrivateKey: CRYPT_DATA_BLOB, - pbClearTextKey: *mut BYTE, - pcbClearTextKey: *mut DWORD, - pVoidDecryptFunc: LPVOID, -) -> BOOL} -FN!{stdcall PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC( - Algorithm: *mut CRYPT_ALGORITHM_IDENTIFIER, - pClearTextPrivateKey: *mut CRYPT_DATA_BLOB, - pbEncryptedKey: *mut BYTE, - pcbEncryptedKey: *mut DWORD, - pVoidEncryptFunc: LPVOID, -) -> BOOL} -FN!{stdcall PCRYPT_RESOLVE_HCRYPTPROV_FUNC( - pPrivateKeyInfo: *mut CRYPT_PRIVATE_KEY_INFO, - phCryptProv: *mut HCRYPTPROV, - pVoidResolveFunc: LPVOID, -) -> BOOL} -STRUCT!{struct CRYPT_PKCS8_IMPORT_PARAMS { - PrivateKey: CRYPT_DIGEST_BLOB, - pResolvehCryptProvFunc: PCRYPT_RESOLVE_HCRYPTPROV_FUNC, - pVoidResolveFunc: LPVOID, - pDecryptPrivateKeyFunc: PCRYPT_DECRYPT_PRIVATE_KEY_FUNC, - pVoidDecryptFunc: LPVOID, -}} -pub type PCRYPT_PKCS8_IMPORT_PARAMS = *mut CRYPT_PKCS8_IMPORT_PARAMS; -pub type CRYPT_PRIVATE_KEY_BLOB_AND_PARAMS = CRYPT_PKCS8_IMPORT_PARAMS; -pub type PPCRYPT_PRIVATE_KEY_BLOB_AND_PARAMS = *mut CRYPT_PKCS8_IMPORT_PARAMS; -STRUCT!{struct CRYPT_PKCS8_EXPORT_PARAMS { - hCryptProv: HCRYPTPROV, - dwKeySpec: DWORD, - pszPrivateKeyObjId: LPSTR, - pEncryptPrivateKeyFunc: PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC, - pVoidEncryptFunc: LPVOID, -}} -pub type PCRYPT_PKCS8_EXPORT_PARAMS = *mut CRYPT_PKCS8_EXPORT_PARAMS; -STRUCT!{struct CERT_INFO { - dwVersion: DWORD, - SerialNumber: CRYPT_INTEGER_BLOB, - SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - Issuer: CERT_NAME_BLOB, - NotBefore: FILETIME, - NotAfter: FILETIME, - Subject: CERT_NAME_BLOB, - SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO, - IssuerUniqueId: CRYPT_BIT_BLOB, - SubjectUniqueId: CRYPT_BIT_BLOB, - cExtension: DWORD, - rgExtension: PCERT_EXTENSION, -}} -pub type PCERT_INFO = *mut CERT_INFO; -pub const CERT_V1: DWORD = 0; -pub const CERT_V2: DWORD = 1; -pub const CERT_V3: DWORD = 2; -pub const CERT_INFO_VERSION_FLAG: DWORD = 1; -pub const CERT_INFO_SERIAL_NUMBER_FLAG: DWORD = 2; -pub const CERT_INFO_SIGNATURE_ALGORITHM_FLAG: DWORD = 3; -pub const CERT_INFO_ISSUER_FLAG: DWORD = 4; -pub const CERT_INFO_NOT_BEFORE_FLAG: DWORD = 5; -pub const CERT_INFO_NOT_AFTER_FLAG: DWORD = 6; -pub const CERT_INFO_SUBJECT_FLAG: DWORD = 7; -pub const CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG: DWORD = 8; -pub const CERT_INFO_ISSUER_UNIQUE_ID_FLAG: DWORD = 9; -pub const CERT_INFO_SUBJECT_UNIQUE_ID_FLAG: DWORD = 10; -pub const CERT_INFO_EXTENSION_FLAG: DWORD = 11; -STRUCT!{struct CRL_ENTRY { - SerialNumber: CRYPT_INTEGER_BLOB, - RevocationDate: FILETIME, - cExtension: DWORD, - rgExtension: PCERT_EXTENSION, -}} -pub type PCRL_ENTRY = *mut CRL_ENTRY; -STRUCT!{struct CRL_INFO { - dwVersion: DWORD, - SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - Issuer: CERT_NAME_BLOB, - ThisUpdate: FILETIME, - NextUpdate: FILETIME, - cCRLEntry: DWORD, - rgCRLEntry: PCRL_ENTRY, - cExtension: DWORD, - rgExtension: PCERT_EXTENSION, -}} -pub type PCRL_INFO = *mut CRL_INFO; -pub const CRL_V1: DWORD = 0; -pub const CRL_V2: DWORD = 1; -pub const CERT_BUNDLE_CERTIFICATE: DWORD = 0; -pub const CERT_BUNDLE_CRL: DWORD = 1; -STRUCT!{struct CERT_OR_CRL_BLOB { - dwChoice: DWORD, - cbEncoded: DWORD, - pbEncoded: *mut BYTE, -}} -pub type PCERT_OR_CRL_BLOB = *mut CERT_OR_CRL_BLOB; -STRUCT!{struct CERT_OR_CRL_BUNDLE { - cItem: DWORD, - rgItem: PCERT_OR_CRL_BLOB, -}} -pub type PCERT_OR_CRL_BUNDLE = *mut CERT_OR_CRL_BUNDLE; -STRUCT!{struct CERT_REQUEST_INFO { - dwVersion: DWORD, - Subject: CERT_NAME_BLOB, - SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO, - cAttribute: DWORD, - rgAttribute: PCRYPT_ATTRIBUTE, -}} -pub type PCERT_REQUEST_INFO = *mut CERT_REQUEST_INFO; -pub const CERT_REQUEST_V1: DWORD = 0; -STRUCT!{struct CERT_KEYGEN_REQUEST_INFO { - dwVersion: DWORD, - SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO, - pwszChallengeString: LPWSTR, -}} -pub type PCERT_KEYGEN_REQUEST_INFO = *mut CERT_KEYGEN_REQUEST_INFO; -pub const CERT_KEYGEN_REQUEST_V1: DWORD = 0; -STRUCT!{struct CERT_SIGNED_CONTENT_INFO { - ToBeSigned: CRYPT_DER_BLOB, - SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - Signature: CRYPT_BIT_BLOB, -}} -pub type PCERT_SIGNED_CONTENT_INFO = *mut CERT_SIGNED_CONTENT_INFO; -STRUCT!{struct CTL_USAGE { - cUsageIdentifier: DWORD, - rgpszUsageIdentifier: *mut LPSTR, -}} -pub type PCTL_USAGE = *mut CTL_USAGE; -pub type CERT_ENHKEY_USAGE = CTL_USAGE; -pub type PCERT_ENHKEY_USAGE = *mut CERT_ENHKEY_USAGE; -pub type PCCTL_USAGE = *const CTL_USAGE; -pub type PCCERT_ENHKEY_USAGE = *const CERT_ENHKEY_USAGE; -STRUCT!{struct CTL_ENTRY { - SubjectIdentifier: CRYPT_DATA_BLOB, - cAttribute: DWORD, - rgAttribute: PCRYPT_ATTRIBUTE, -}} -pub type PCTL_ENTRY = *mut CTL_ENTRY; -STRUCT!{struct CTL_INFO { - dwVersion: DWORD, - SubjectUsage: CTL_USAGE, - ListIdentifier: CRYPT_DATA_BLOB, - SequenceNumber: CRYPT_INTEGER_BLOB, - ThisUpdate: FILETIME, - NextUpdate: FILETIME, - SubjectAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - cCTLEntry: DWORD, - rgCTLEntry: PCTL_ENTRY, - cExtension: DWORD, - rgExtension: PCERT_EXTENSION, -}} -pub type PCTL_INFO = *mut CTL_INFO; -pub const CTL_V1: DWORD = 0; -STRUCT!{struct CRYPT_TIME_STAMP_REQUEST_INFO { - pszTimeStampAlgorithm: LPSTR, - pszContentType: LPSTR, - Content: CRYPT_OBJID_BLOB, - cAttribute: DWORD, - rgAttribute: PCRYPT_ATTRIBUTE, -}} -pub type PCRYPT_TIME_STAMP_REQUEST_INFO = *mut CRYPT_TIME_STAMP_REQUEST_INFO; -STRUCT!{struct CRYPT_ENROLLMENT_NAME_VALUE_PAIR { - pwszName: LPWSTR, - pwszValue: LPWSTR, -}} -pub type PCRYPT_ENROLLMENT_NAME_VALUE_PAIR = *mut CRYPT_ENROLLMENT_NAME_VALUE_PAIR; -STRUCT!{struct CRYPT_CSP_PROVIDER { - dwKeySpec: DWORD, - pwszProviderName: LPWSTR, - Signature: CRYPT_BIT_BLOB, -}} -pub type PCRYPT_CSP_PROVIDER = *mut CRYPT_CSP_PROVIDER; -pub const CERT_ENCODING_TYPE_MASK: DWORD = 0x0000FFFF; -pub const CMSG_ENCODING_TYPE_MASK: DWORD = 0xFFFF0000; -#[inline] -pub fn GET_CERT_ENCODING_TYPE(X: DWORD) -> DWORD { - X & CERT_ENCODING_TYPE_MASK -} -#[inline] -pub fn GET_CMSG_ENCODING_TYPE(X: DWORD) -> DWORD { - X & CMSG_ENCODING_TYPE_MASK -} -pub const CRYPT_ASN_ENCODING: DWORD = 0x00000001; -pub const CRYPT_NDR_ENCODING: DWORD = 0x00000002; -pub const X509_ASN_ENCODING: DWORD = 0x00000001; -pub const X509_NDR_ENCODING: DWORD = 0x00000002; -pub const PKCS_7_ASN_ENCODING: DWORD = 0x00010000; -pub const PKCS_7_NDR_ENCODING: DWORD = 0x00020000; -extern "system" { - pub fn CryptFormatObject( - dwCertEncodingType: DWORD, - dwFormatType: DWORD, - dwFormatStrType: DWORD, - pFormatStruct: *mut c_void, - lpszStructType: LPCSTR, - pbEncoded: *const BYTE, - cbEncoded: DWORD, - pbFormat: *mut c_void, - pcbFormat: *mut DWORD, - ) -> BOOL; -} -pub const CRYPT_FORMAT_STR_MULTI_LINE: DWORD = 0x0001; -pub const CRYPT_FORMAT_STR_NO_HEX: DWORD = 0x0010; -pub const CRYPT_FORMAT_SIMPLE: DWORD = 0x0001; -pub const CRYPT_FORMAT_X509: DWORD = 0x0002; -pub const CRYPT_FORMAT_OID: DWORD = 0x0004; -pub const CRYPT_FORMAT_RDN_SEMICOLON: DWORD = 0x0100; -pub const CRYPT_FORMAT_RDN_CRLF: DWORD = 0x0200; -pub const CRYPT_FORMAT_RDN_UNQUOTE: DWORD = 0x0400; -pub const CRYPT_FORMAT_RDN_REVERSE: DWORD = 0x0800; -pub const CRYPT_FORMAT_COMMA: DWORD = 0x1000; -pub const CRYPT_FORMAT_SEMICOLON: DWORD = CRYPT_FORMAT_RDN_SEMICOLON; -pub const CRYPT_FORMAT_CRLF: DWORD = CRYPT_FORMAT_RDN_CRLF; -FN!{stdcall PFN_CRYPT_ALLOC( - cbSize: size_t, -) -> LPVOID} -FN!{stdcall PFN_CRYPT_FREE( - pv: LPVOID, -) -> ()} -STRUCT!{struct CRYPT_ENCODE_PARA { - cbSize: DWORD, - pfnAlloc: PFN_CRYPT_ALLOC, - pfnFree: PFN_CRYPT_FREE, -}} -pub type PCRYPT_ENCODE_PARA = *mut CRYPT_ENCODE_PARA; -extern "system" { - pub fn CryptEncodeObjectEx( - dwCertEncodingType: DWORD, - lpszStructType: LPCSTR, - pvStructInfo: *const c_void, - dwFlags: DWORD, - pEncodePara: PCRYPT_ENCODE_PARA, - pvEncoded: *mut c_void, - pcbEncoded: *mut DWORD, - ) -> BOOL; - pub fn CryptEncodeObject( - dwCertEncodingType: DWORD, - lpszStructType: LPCSTR, - pvStructInfo: *const c_void, - pbEncoded: *mut BYTE, - pcbEncoded: *mut DWORD, - ) -> BOOL; -} -pub const CRYPT_ENCODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG: DWORD = 0x8; -pub const CRYPT_ENCODE_ALLOC_FLAG: DWORD = 0x8000; -pub const CRYPT_UNICODE_NAME_ENCODE_ENABLE_T61_UNICODE_FLAG: DWORD - = CERT_RDN_ENABLE_T61_UNICODE_FLAG; -pub const CRYPT_UNICODE_NAME_ENCODE_ENABLE_UTF8_UNICODE_FLAG: DWORD - = CERT_RDN_ENABLE_UTF8_UNICODE_FLAG; -pub const CRYPT_UNICODE_NAME_ENCODE_FORCE_UTF8_UNICODE_FLAG: DWORD - = CERT_RDN_FORCE_UTF8_UNICODE_FLAG; -pub const CRYPT_UNICODE_NAME_ENCODE_DISABLE_CHECK_TYPE_FLAG: DWORD - = CERT_RDN_DISABLE_CHECK_TYPE_FLAG; -pub const CRYPT_SORTED_CTL_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG: DWORD = 0x10000; -pub const CRYPT_ENCODE_ENABLE_PUNYCODE_FLAG: DWORD = 0x20000; -pub const CRYPT_ENCODE_ENABLE_UTF8PERCENT_FLAG: DWORD = 0x40000; -pub const CRYPT_ENCODE_ENABLE_IA5CONVERSION_FLAG: DWORD = CRYPT_ENCODE_ENABLE_PUNYCODE_FLAG - | CRYPT_ENCODE_ENABLE_UTF8PERCENT_FLAG; -STRUCT!{struct CRYPT_DECODE_PARA { - cbSize: DWORD, - pfnAlloc: PFN_CRYPT_ALLOC, - pfnFree: PFN_CRYPT_FREE, -}} -pub type PCRYPT_DECODE_PARA = *mut CRYPT_DECODE_PARA; -extern "system" { - pub fn CryptDecodeObjectEx( - dwCertEncodingType: DWORD, - lpszStructType: LPCSTR, - pbEncoded: *const BYTE, - cbEncoded: DWORD, - dwFlags: DWORD, - pDecodePara: PCRYPT_DECODE_PARA, - pvStructInfo: *mut c_void, - pcbStructInfo: *mut DWORD, - ) -> BOOL; - pub fn CryptDecodeObject( - dwCertEncodingType: DWORD, - lpszStructType: LPCSTR, - pbEncoded: *const BYTE, - cbEncoded: DWORD, - dwFlags: DWORD, - pvStructInfo: *mut c_void, - pcbStructInfo: *mut DWORD, - ) -> BOOL; -} -pub const CRYPT_DECODE_NOCOPY_FLAG: DWORD = 0x1; -pub const CRYPT_DECODE_TO_BE_SIGNED_FLAG: DWORD = 0x2; -pub const CRYPT_DECODE_SHARE_OID_STRING_FLAG: DWORD = 0x4; -pub const CRYPT_DECODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG: DWORD = 0x8; -pub const CRYPT_DECODE_ALLOC_FLAG: DWORD = 0x8000; -pub const CRYPT_UNICODE_NAME_DECODE_DISABLE_IE4_UTF8_FLAG: DWORD - = CERT_RDN_DISABLE_IE4_UTF8_FLAG; -pub const CRYPT_DECODE_ENABLE_PUNYCODE_FLAG: DWORD = 0x02000000; -pub const CRYPT_DECODE_ENABLE_UTF8PERCENT_FLAG: DWORD = 0x04000000; -pub const CRYPT_DECODE_ENABLE_IA5CONVERSION_FLAG: DWORD = CRYPT_DECODE_ENABLE_PUNYCODE_FLAG - | CRYPT_DECODE_ENABLE_UTF8PERCENT_FLAG; -pub const CRYPT_ENCODE_DECODE_NONE: LPCSTR = 0 as LPCSTR; -pub const X509_CERT: LPCSTR = 1 as LPCSTR; -pub const X509_CERT_TO_BE_SIGNED: LPCSTR = 2 as LPCSTR; -pub const X509_CERT_CRL_TO_BE_SIGNED: LPCSTR = 3 as LPCSTR; -pub const X509_CERT_REQUEST_TO_BE_SIGNED: LPCSTR = 4 as LPCSTR; -pub const X509_EXTENSIONS: LPCSTR = 5 as LPCSTR; -pub const X509_NAME_VALUE: LPCSTR = 6 as LPCSTR; -pub const X509_NAME: LPCSTR = 7 as LPCSTR; -pub const X509_PUBLIC_KEY_INFO: LPCSTR = 8 as LPCSTR; -pub const X509_AUTHORITY_KEY_ID: LPCSTR = 9 as LPCSTR; -pub const X509_KEY_ATTRIBUTES: LPCSTR = 10 as LPCSTR; -pub const X509_KEY_USAGE_RESTRICTION: LPCSTR = 11 as LPCSTR; -pub const X509_ALTERNATE_NAME: LPCSTR = 12 as LPCSTR; -pub const X509_BASIC_CONSTRAINTS: LPCSTR = 13 as LPCSTR; -pub const X509_KEY_USAGE: LPCSTR = 14 as LPCSTR; -pub const X509_BASIC_CONSTRAINTS2: LPCSTR = 15 as LPCSTR; -pub const X509_CERT_POLICIES: LPCSTR = 16 as LPCSTR; -pub const PKCS_UTC_TIME: LPCSTR = 17 as LPCSTR; -pub const PKCS_TIME_REQUEST: LPCSTR = 18 as LPCSTR; -pub const RSA_CSP_PUBLICKEYBLOB: LPCSTR = 19 as LPCSTR; -pub const X509_UNICODE_NAME: LPCSTR = 20 as LPCSTR; -pub const X509_KEYGEN_REQUEST_TO_BE_SIGNED: LPCSTR = 21 as LPCSTR; -pub const PKCS_ATTRIBUTE: LPCSTR = 22 as LPCSTR; -pub const PKCS_CONTENT_INFO_SEQUENCE_OF_ANY: LPCSTR = 23 as LPCSTR; -pub const X509_UNICODE_NAME_VALUE: LPCSTR = 24 as LPCSTR; -pub const X509_ANY_STRING: LPCSTR = X509_NAME_VALUE; -pub const X509_UNICODE_ANY_STRING: LPCSTR = X509_UNICODE_NAME_VALUE; -pub const X509_OCTET_STRING: LPCSTR = 25 as LPCSTR; -pub const X509_BITS: LPCSTR = 26 as LPCSTR; -pub const X509_INTEGER: LPCSTR = 27 as LPCSTR; -pub const X509_MULTI_BYTE_INTEGER: LPCSTR = 28 as LPCSTR; -pub const X509_ENUMERATED: LPCSTR = 29 as LPCSTR; -pub const X509_CHOICE_OF_TIME: LPCSTR = 30 as LPCSTR; -pub const X509_AUTHORITY_KEY_ID2: LPCSTR = 31 as LPCSTR; -pub const X509_AUTHORITY_INFO_ACCESS: LPCSTR = 32 as LPCSTR; -pub const X509_SUBJECT_INFO_ACCESS: LPCSTR = X509_AUTHORITY_INFO_ACCESS; -pub const X509_CRL_REASON_CODE: LPCSTR = X509_ENUMERATED; -pub const PKCS_CONTENT_INFO: LPCSTR = 33 as LPCSTR; -pub const X509_SEQUENCE_OF_ANY: LPCSTR = 34 as LPCSTR; -pub const X509_CRL_DIST_POINTS: LPCSTR = 35 as LPCSTR; -pub const X509_ENHANCED_KEY_USAGE: LPCSTR = 36 as LPCSTR; -pub const PKCS_CTL: LPCSTR = 37 as LPCSTR; -pub const X509_MULTI_BYTE_UINT: LPCSTR = 38 as LPCSTR; -pub const X509_DSS_PUBLICKEY: LPCSTR = X509_MULTI_BYTE_UINT; -pub const X509_DSS_PARAMETERS: LPCSTR = 39 as LPCSTR; -pub const X509_DSS_SIGNATURE: LPCSTR = 40 as LPCSTR; -pub const PKCS_RC2_CBC_PARAMETERS: LPCSTR = 41 as LPCSTR; -pub const PKCS_SMIME_CAPABILITIES: LPCSTR = 42 as LPCSTR; -pub const X509_QC_STATEMENTS_EXT: LPCSTR = 42 as LPCSTR; -pub const PKCS_RSA_PRIVATE_KEY: LPCSTR = 43 as LPCSTR; -pub const PKCS_PRIVATE_KEY_INFO: LPCSTR = 44 as LPCSTR; -pub const PKCS_ENCRYPTED_PRIVATE_KEY_INFO: LPCSTR = 45 as LPCSTR; -pub const X509_PKIX_POLICY_QUALIFIER_USERNOTICE: LPCSTR = 46 as LPCSTR; -pub const X509_DH_PUBLICKEY: LPCSTR = X509_MULTI_BYTE_UINT; -pub const X509_DH_PARAMETERS: LPCSTR = 47 as LPCSTR; -pub const PKCS_ATTRIBUTES: LPCSTR = 48 as LPCSTR; -pub const PKCS_SORTED_CTL: LPCSTR = 49 as LPCSTR; -pub const X509_ECC_SIGNATURE: LPCSTR = 47 as LPCSTR; -pub const X942_DH_PARAMETERS: LPCSTR = 50 as LPCSTR; -pub const X509_BITS_WITHOUT_TRAILING_ZEROES: LPCSTR = 51 as LPCSTR; -pub const X942_OTHER_INFO: LPCSTR = 52 as LPCSTR; -pub const X509_CERT_PAIR: LPCSTR = 53 as LPCSTR; -pub const X509_ISSUING_DIST_POINT: LPCSTR = 54 as LPCSTR; -pub const X509_NAME_CONSTRAINTS: LPCSTR = 55 as LPCSTR; -pub const X509_POLICY_MAPPINGS: LPCSTR = 56 as LPCSTR; -pub const X509_POLICY_CONSTRAINTS: LPCSTR = 57 as LPCSTR; -pub const X509_CROSS_CERT_DIST_POINTS: LPCSTR = 58 as LPCSTR; -pub const CMC_DATA: LPCSTR = 59 as LPCSTR; -pub const CMC_RESPONSE: LPCSTR = 60 as LPCSTR; -pub const CMC_STATUS: LPCSTR = 61 as LPCSTR; -pub const CMC_ADD_EXTENSIONS: LPCSTR = 62 as LPCSTR; -pub const CMC_ADD_ATTRIBUTES: LPCSTR = 63 as LPCSTR; -pub const X509_CERTIFICATE_TEMPLATE: LPCSTR = 64 as LPCSTR; -pub const OCSP_SIGNED_REQUEST: LPCSTR = 65 as LPCSTR; -pub const OCSP_REQUEST: LPCSTR = 66 as LPCSTR; -pub const OCSP_RESPONSE: LPCSTR = 67 as LPCSTR; -pub const OCSP_BASIC_SIGNED_RESPONSE: LPCSTR = 68 as LPCSTR; -pub const OCSP_BASIC_RESPONSE: LPCSTR = 69 as LPCSTR; -pub const X509_LOGOTYPE_EXT: LPCSTR = 70 as LPCSTR; -pub const X509_BIOMETRIC_EXT: LPCSTR = 71 as LPCSTR; -pub const CNG_RSA_PUBLIC_KEY_BLOB: LPCSTR = 72 as LPCSTR; -pub const X509_OBJECT_IDENTIFIER: LPCSTR = 73 as LPCSTR; -pub const X509_ALGORITHM_IDENTIFIER: LPCSTR = 74 as LPCSTR; -pub const PKCS_RSA_SSA_PSS_PARAMETERS: LPCSTR = 75 as LPCSTR; -pub const PKCS_RSAES_OAEP_PARAMETERS: LPCSTR = 76 as LPCSTR; -pub const ECC_CMS_SHARED_INFO: LPCSTR = 77 as LPCSTR; -pub const TIMESTAMP_REQUEST: LPCSTR = 78 as LPCSTR; -pub const TIMESTAMP_RESPONSE: LPCSTR = 79 as LPCSTR; -pub const TIMESTAMP_INFO: LPCSTR = 80 as LPCSTR; -pub const X509_CERT_BUNDLE: LPCSTR = 81 as LPCSTR; -pub const X509_ECC_PRIVATE_KEY: LPCSTR = 82 as LPCSTR; -pub const CNG_RSA_PRIVATE_KEY_BLOB: LPCSTR = 83 as LPCSTR; -pub const X509_SUBJECT_DIR_ATTRS: LPCSTR = 84 as LPCSTR; -pub const X509_ECC_PARAMETERS: LPCSTR = 85 as LPCSTR; -pub const PKCS7_SIGNER_INFO: LPCSTR = 500 as LPCSTR; -pub const CMS_SIGNER_INFO: LPCSTR = 501 as LPCSTR; -pub const szOID_AUTHORITY_KEY_IDENTIFIER: &'static str = "2.5.29.1"; -pub const szOID_KEY_ATTRIBUTES: &'static str = "2.5.29.2"; -pub const szOID_CERT_POLICIES_95: &'static str = "2.5.29.3"; -pub const szOID_KEY_USAGE_RESTRICTION: &'static str = "2.5.29.4"; -pub const szOID_SUBJECT_ALT_NAME: &'static str = "2.5.29.7"; -pub const szOID_ISSUER_ALT_NAME: &'static str = "2.5.29.8"; -pub const szOID_BASIC_CONSTRAINTS: &'static str = "2.5.29.10"; -pub const szOID_KEY_USAGE: &'static str = "2.5.29.15"; -pub const szOID_PRIVATEKEY_USAGE_PERIOD: &'static str = "2.5.29.16"; -pub const szOID_BASIC_CONSTRAINTS2: &'static str = "2.5.29.19"; -pub const szOID_CERT_POLICIES: &'static str = "2.5.29.32"; -pub const szOID_ANY_CERT_POLICY: &'static str = "2.5.29.32.0"; -pub const szOID_INHIBIT_ANY_POLICY: &'static str = "2.5.29.54"; -pub const szOID_AUTHORITY_KEY_IDENTIFIER2: &'static str = "2.5.29.35"; -pub const szOID_SUBJECT_KEY_IDENTIFIER: &'static str = "2.5.29.14"; -pub const szOID_SUBJECT_ALT_NAME2: &'static str = "2.5.29.17"; -pub const szOID_ISSUER_ALT_NAME2: &'static str = "2.5.29.18"; -pub const szOID_CRL_REASON_CODE: &'static str = "2.5.29.21"; -pub const szOID_REASON_CODE_HOLD: &'static str = "2.5.29.23"; -pub const szOID_CRL_DIST_POINTS: &'static str = "2.5.29.31"; -pub const szOID_ENHANCED_KEY_USAGE: &'static str = "2.5.29.37"; -pub const szOID_ANY_ENHANCED_KEY_USAGE: &'static str = "2.5.29.37.0"; -pub const szOID_CRL_NUMBER: &'static str = "2.5.29.20"; -pub const szOID_DELTA_CRL_INDICATOR: &'static str = "2.5.29.27"; -pub const szOID_ISSUING_DIST_POINT: &'static str = "2.5.29.28"; -pub const szOID_FRESHEST_CRL: &'static str = "2.5.29.46"; -pub const szOID_NAME_CONSTRAINTS: &'static str = "2.5.29.30"; -pub const szOID_POLICY_MAPPINGS: &'static str = "2.5.29.33"; -pub const szOID_LEGACY_POLICY_MAPPINGS: &'static str = "2.5.29.5"; -pub const szOID_POLICY_CONSTRAINTS: &'static str = "2.5.29.36"; -pub const szOID_RENEWAL_CERTIFICATE: &'static str = "1.3.6.1.4.1.311.13.1"; -pub const szOID_ENROLLMENT_NAME_VALUE_PAIR: &'static str = "1.3.6.1.4.1.311.13.2.1"; -pub const szOID_ENROLLMENT_CSP_PROVIDER: &'static str = "1.3.6.1.4.1.311.13.2.2"; -pub const szOID_OS_VERSION: &'static str = "1.3.6.1.4.1.311.13.2.3"; -pub const szOID_ENROLLMENT_AGENT: &'static str = "1.3.6.1.4.1.311.20.2.1"; -pub const szOID_PKIX: &'static str = "1.3.6.1.5.5.7"; -pub const szOID_PKIX_PE: &'static str = "1.3.6.1.5.5.7.1"; -pub const szOID_AUTHORITY_INFO_ACCESS: &'static str = "1.3.6.1.5.5.7.1.1"; -pub const szOID_SUBJECT_INFO_ACCESS: &'static str = "1.3.6.1.5.5.7.1.11"; -pub const szOID_BIOMETRIC_EXT: &'static str = "1.3.6.1.5.5.7.1.2"; -pub const szOID_QC_STATEMENTS_EXT: &'static str = "1.3.6.1.5.5.7.1.3"; -pub const szOID_LOGOTYPE_EXT: &'static str = "1.3.6.1.5.5.7.1.12"; -pub const szOID_TLS_FEATURES_EXT: &'static str = "1.3.6.1.5.5.7.1.24"; -pub const szOID_CERT_EXTENSIONS: &'static str = "1.3.6.1.4.1.311.2.1.14"; -pub const szOID_NEXT_UPDATE_LOCATION: &'static str = "1.3.6.1.4.1.311.10.2"; -pub const szOID_REMOVE_CERTIFICATE: &'static str = "1.3.6.1.4.1.311.10.8.1"; -pub const szOID_CROSS_CERT_DIST_POINTS: &'static str = "1.3.6.1.4.1.311.10.9.1"; -pub const szOID_CTL: &'static str = "1.3.6.1.4.1.311.10.1"; -pub const szOID_SORTED_CTL: &'static str = "1.3.6.1.4.1.311.10.1.1"; -pub const szOID_SERIALIZED: &'static str = "1.3.6.1.4.1.311.10.3.3.1"; -pub const szOID_NT_PRINCIPAL_NAME: &'static str = "1.3.6.1.4.1.311.20.2.3"; -pub const szOID_INTERNATIONALIZED_EMAIL_ADDRESS: &'static str = "1.3.6.1.4.1.311.20.2.4"; -pub const szOID_PRODUCT_UPDATE: &'static str = "1.3.6.1.4.1.311.31.1"; -pub const szOID_ANY_APPLICATION_POLICY: &'static str = "1.3.6.1.4.1.311.10.12.1"; -pub const szOID_AUTO_ENROLL_CTL_USAGE: &'static str = "1.3.6.1.4.1.311.20.1"; -pub const szOID_ENROLL_CERTTYPE_EXTENSION: &'static str = "1.3.6.1.4.1.311.20.2"; -pub const szOID_CERT_MANIFOLD: &'static str = "1.3.6.1.4.1.311.20.3"; -pub const szOID_CERTSRV_CA_VERSION: &'static str = "1.3.6.1.4.1.311.21.1"; -pub const szOID_CERTSRV_PREVIOUS_CERT_HASH: &'static str = "1.3.6.1.4.1.311.21.2"; -pub const szOID_CRL_VIRTUAL_BASE: &'static str = "1.3.6.1.4.1.311.21.3"; -pub const szOID_CRL_NEXT_PUBLISH: &'static str = "1.3.6.1.4.1.311.21.4"; -pub const szOID_KP_CA_EXCHANGE: &'static str = "1.3.6.1.4.1.311.21.5"; -pub const szOID_KP_PRIVACY_CA: &'static str = "1.3.6.1.4.1.311.21.36"; -pub const szOID_KP_KEY_RECOVERY_AGENT: &'static str = "1.3.6.1.4.1.311.21.6"; -pub const szOID_CERTIFICATE_TEMPLATE: &'static str = "1.3.6.1.4.1.311.21.7"; -pub const szOID_ENTERPRISE_OID_ROOT: &'static str = "1.3.6.1.4.1.311.21.8"; -pub const szOID_RDN_DUMMY_SIGNER: &'static str = "1.3.6.1.4.1.311.21.9"; -pub const szOID_APPLICATION_CERT_POLICIES: &'static str = "1.3.6.1.4.1.311.21.10"; -pub const szOID_APPLICATION_POLICY_MAPPINGS: &'static str = "1.3.6.1.4.1.311.21.11"; -pub const szOID_APPLICATION_POLICY_CONSTRAINTS: &'static str = "1.3.6.1.4.1.311.21.12"; -pub const szOID_ARCHIVED_KEY_ATTR: &'static str = "1.3.6.1.4.1.311.21.13"; -pub const szOID_CRL_SELF_CDP: &'static str = "1.3.6.1.4.1.311.21.14"; -pub const szOID_REQUIRE_CERT_CHAIN_POLICY: &'static str = "1.3.6.1.4.1.311.21.15"; -pub const szOID_ARCHIVED_KEY_CERT_HASH: &'static str = "1.3.6.1.4.1.311.21.16"; -pub const szOID_ISSUED_CERT_HASH: &'static str = "1.3.6.1.4.1.311.21.17"; -pub const szOID_DS_EMAIL_REPLICATION: &'static str = "1.3.6.1.4.1.311.21.19"; -pub const szOID_REQUEST_CLIENT_INFO: &'static str = "1.3.6.1.4.1.311.21.20"; -pub const szOID_ENCRYPTED_KEY_HASH: &'static str = "1.3.6.1.4.1.311.21.21"; -pub const szOID_CERTSRV_CROSSCA_VERSION: &'static str = "1.3.6.1.4.1.311.21.22"; -pub const szOID_NTDS_REPLICATION: &'static str = "1.3.6.1.4.1.311.25.1"; -pub const szOID_SUBJECT_DIR_ATTRS: &'static str = "2.5.29.9"; -pub const szOID_PKIX_KP: &'static str = "1.3.6.1.5.5.7.3"; -pub const szOID_PKIX_KP_SERVER_AUTH: &'static str = "1.3.6.1.5.5.7.3.1"; -pub const szOID_PKIX_KP_CLIENT_AUTH: &'static str = "1.3.6.1.5.5.7.3.2"; -pub const szOID_PKIX_KP_CODE_SIGNING: &'static str = "1.3.6.1.5.5.7.3.3"; -pub const szOID_PKIX_KP_EMAIL_PROTECTION: &'static str = "1.3.6.1.5.5.7.3.4"; -pub const szOID_PKIX_KP_IPSEC_END_SYSTEM: &'static str = "1.3.6.1.5.5.7.3.5"; -pub const szOID_PKIX_KP_IPSEC_TUNNEL: &'static str = "1.3.6.1.5.5.7.3.6"; -pub const szOID_PKIX_KP_IPSEC_USER: &'static str = "1.3.6.1.5.5.7.3.7"; -pub const szOID_PKIX_KP_TIMESTAMP_SIGNING: &'static str = "1.3.6.1.5.5.7.3.8"; -pub const szOID_PKIX_KP_OCSP_SIGNING: &'static str = "1.3.6.1.5.5.7.3.9"; -pub const szOID_PKIX_OCSP_NOCHECK: &'static str = "1.3.6.1.5.5.7.48.1.5"; -pub const szOID_PKIX_OCSP_NONCE: &'static str = "1.3.6.1.5.5.7.48.1.2"; -pub const szOID_IPSEC_KP_IKE_INTERMEDIATE: &'static str = "1.3.6.1.5.5.8.2.2"; -pub const szOID_PKINIT_KP_KDC: &'static str = "1.3.6.1.5.2.3.5"; -pub const szOID_KP_CTL_USAGE_SIGNING: &'static str = "1.3.6.1.4.1.311.10.3.1"; -pub const szOID_KP_TIME_STAMP_SIGNING: &'static str = "1.3.6.1.4.1.311.10.3.2"; -pub const szOID_SERVER_GATED_CRYPTO: &'static str = "1.3.6.1.4.1.311.10.3.3"; -pub const szOID_SGC_NETSCAPE: &'static str = "2.16.840.1.113730.4.1"; -pub const szOID_KP_EFS: &'static str = "1.3.6.1.4.1.311.10.3.4"; -pub const szOID_EFS_RECOVERY: &'static str = "1.3.6.1.4.1.311.10.3.4.1"; -pub const szOID_WHQL_CRYPTO: &'static str = "1.3.6.1.4.1.311.10.3.5"; -pub const szOID_ATTEST_WHQL_CRYPTO: &'static str = "1.3.6.1.4.1.311.10.3.5.1"; -pub const szOID_NT5_CRYPTO: &'static str = "1.3.6.1.4.1.311.10.3.6"; -pub const szOID_OEM_WHQL_CRYPTO: &'static str = "1.3.6.1.4.1.311.10.3.7"; -pub const szOID_EMBEDDED_NT_CRYPTO: &'static str = "1.3.6.1.4.1.311.10.3.8"; -pub const szOID_ROOT_LIST_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.9"; -pub const szOID_KP_QUALIFIED_SUBORDINATION: &'static str = "1.3.6.1.4.1.311.10.3.10"; -pub const szOID_KP_KEY_RECOVERY: &'static str = "1.3.6.1.4.1.311.10.3.11"; -pub const szOID_KP_DOCUMENT_SIGNING: &'static str = "1.3.6.1.4.1.311.10.3.12"; -pub const szOID_KP_LIFETIME_SIGNING: &'static str = "1.3.6.1.4.1.311.10.3.13"; -pub const szOID_KP_MOBILE_DEVICE_SOFTWARE: &'static str = "1.3.6.1.4.1.311.10.3.14"; -pub const szOID_KP_SMART_DISPLAY: &'static str = "1.3.6.1.4.1.311.10.3.15"; -pub const szOID_KP_CSP_SIGNATURE: &'static str = "1.3.6.1.4.1.311.10.3.16"; -pub const szOID_KP_FLIGHT_SIGNING: &'static str = "1.3.6.1.4.1.311.10.3.27"; -pub const szOID_PLATFORM_MANIFEST_BINARY_ID: &'static str = "1.3.6.1.4.1.311.10.3.28"; -pub const szOID_DRM: &'static str = "1.3.6.1.4.1.311.10.5.1"; -pub const szOID_DRM_INDIVIDUALIZATION: &'static str = "1.3.6.1.4.1.311.10.5.2"; -pub const szOID_LICENSES: &'static str = "1.3.6.1.4.1.311.10.6.1"; -pub const szOID_LICENSE_SERVER: &'static str = "1.3.6.1.4.1.311.10.6.2"; -pub const szOID_KP_SMARTCARD_LOGON: &'static str = "1.3.6.1.4.1.311.20.2.2"; -pub const szOID_KP_KERNEL_MODE_CODE_SIGNING: &'static str = "1.3.6.1.4.1.311.61.1.1"; -pub const szOID_KP_KERNEL_MODE_TRUSTED_BOOT_SIGNING: &'static str = "1.3.6.1.4.1.311.61.4.1"; -pub const szOID_REVOKED_LIST_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.19"; -pub const szOID_WINDOWS_KITS_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.20"; -pub const szOID_WINDOWS_RT_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.21"; -pub const szOID_PROTECTED_PROCESS_LIGHT_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.22"; -pub const szOID_WINDOWS_TCB_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.23"; -pub const szOID_PROTECTED_PROCESS_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.24"; -pub const szOID_WINDOWS_THIRD_PARTY_COMPONENT_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.25"; -pub const szOID_WINDOWS_SOFTWARE_EXTENSION_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.26"; -pub const szOID_DISALLOWED_LIST: &'static str = "1.3.6.1.4.1.311.10.3.30"; -pub const szOID_PIN_RULES_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.31"; -pub const szOID_PIN_RULES_CTL: &'static str = "1.3.6.1.4.1.311.10.3.32"; -pub const szOID_PIN_RULES_EXT: &'static str = "1.3.6.1.4.1.311.10.3.33"; -pub const szOID_PIN_RULES_DOMAIN_NAME: &'static str = "1.3.6.1.4.1.311.10.3.34"; -pub const szOID_PIN_RULES_LOG_END_DATE_EXT: &'static str = "1.3.6.1.4.1.311.10.3.35"; -pub const szOID_IUM_SIGNING: &'static str = "1.3.6.1.4.1.311.10.3.37"; -pub const szOID_EV_WHQL_CRYPTO: &'static str = "1.3.6.1.4.1.311.10.3.39"; -pub const szOID_SYNC_ROOT_CTL_EXT: &'static str = "1.3.6.1.4.1.311.10.3.50"; -pub const szOID_HPKP_DOMAIN_NAME_CTL: &'static str = "1.3.6.1.4.1.311.10.3.60"; -pub const szOID_HPKP_HEADER_VALUE_CTL: &'static str = "1.3.6.1.4.1.311.10.3.61"; -pub const szOID_KP_KERNEL_MODE_HAL_EXTENSION_SIGNING: &'static str = "1.3.6.1.4.1.311.61.5.1"; -pub const szOID_WINDOWS_STORE_SIGNER: &'static str = "1.3.6.1.4.1.311.76.3.1"; -pub const szOID_DYNAMIC_CODE_GEN_SIGNER: &'static str = "1.3.6.1.4.1.311.76.5.1"; -pub const szOID_MICROSOFT_PUBLISHER_SIGNER: &'static str = "1.3.6.1.4.1.311.76.8.1"; -pub const szOID_YESNO_TRUST_ATTR: &'static str = "1.3.6.1.4.1.311.10.4.1"; -pub const szOID_SITE_PIN_RULES_INDEX_ATTR: &'static str = "1.3.6.1.4.1.311.10.4.2"; -pub const szOID_SITE_PIN_RULES_FLAGS_ATTR: &'static str = "1.3.6.1.4.1.311.10.4.3"; -pub const szOID_PKIX_POLICY_QUALIFIER_CPS: &'static str = "1.3.6.1.5.5.7.2.1"; -pub const szOID_PKIX_POLICY_QUALIFIER_USERNOTICE: &'static str = "1.3.6.1.5.5.7.2.2"; -pub const szOID_ROOT_PROGRAM_FLAGS: &'static str = "1.3.6.1.4.1.311.60.1.1"; -pub const CERT_ROOT_PROGRAM_FLAG_ORG: DWORD = 0x80; -pub const CERT_ROOT_PROGRAM_FLAG_LSC: DWORD = 0x40; -pub const CERT_ROOT_PROGRAM_FLAG_SUBJECT_LOGO: DWORD = 0x20; -pub const CERT_ROOT_PROGRAM_FLAG_OU: DWORD = 0x10; -pub const CERT_ROOT_PROGRAM_FLAG_ADDRESS: DWORD = 0x08; -pub const szOID_CERT_POLICIES_95_QUALIFIER1: &'static str = "2.16.840.1.113733.1.7.1.1"; -pub const szOID_RDN_TPM_MANUFACTURER: &'static str = "2.23.133.2.1"; -pub const szOID_RDN_TPM_MODEL: &'static str = "2.23.133.2.2"; -pub const szOID_RDN_TPM_VERSION: &'static str = "2.23.133.2.3"; -pub const szOID_RDN_TCG_PLATFORM_MANUFACTURER: &'static str = "2.23.133.2.4"; -pub const szOID_RDN_TCG_PLATFORM_MODEL: &'static str = "2.23.133.2.5"; -pub const szOID_RDN_TCG_PLATFORM_VERSION: &'static str = "2.23.133.2.6"; -pub const szOID_ENROLL_EK_INFO: &'static str = "1.3.6.1.4.1.311.21.23"; -pub const szOID_ENROLL_AIK_INFO: &'static str = "1.3.6.1.4.1.311.21.39"; -pub const szOID_ENROLL_ATTESTATION_STATEMENT: &'static str = "1.3.6.1.4.1.311.21.24"; -pub const szOID_ENROLL_KSP_NAME: &'static str = "1.3.6.1.4.1.311.21.25"; -pub const szOID_ENROLL_EKPUB_CHALLENGE: &'static str = "1.3.6.1.4.1.311.21.26"; -pub const szOID_ENROLL_CAXCHGCERT_HASH: &'static str = "1.3.6.1.4.1.311.21.27"; -pub const szOID_ENROLL_ATTESTATION_CHALLENGE: &'static str = "1.3.6.1.4.1.311.21.28"; -pub const szOID_ENROLL_ENCRYPTION_ALGORITHM: &'static str = "1.3.6.1.4.1.311.21.29"; -pub const szOID_KP_TPM_EK_CERTIFICATE: &'static str = "2.23.133.8.1"; -pub const szOID_KP_TPM_PLATFORM_CERTIFICATE: &'static str = "2.23.133.8.2"; -pub const szOID_KP_TPM_AIK_CERTIFICATE: &'static str = "2.23.133.8.3"; -pub const szOID_ENROLL_EKVERIFYKEY: &'static str = "1.3.6.1.4.1.311.21.30"; -pub const szOID_ENROLL_EKVERIFYCERT: &'static str = "1.3.6.1.4.1.311.21.31"; -pub const szOID_ENROLL_EKVERIFYCREDS: &'static str = "1.3.6.1.4.1.311.21.32"; -pub const szOID_ENROLL_SCEP_ERROR: &'static str = "1.3.6.1.4.1.311.21.33"; -pub const szOID_ENROLL_SCEP_SERVER_STATE: &'static str = "1.3.6.1.4.1.311.21.34"; -pub const szOID_ENROLL_SCEP_CHALLENGE_ANSWER: &'static str = "1.3.6.1.4.1.311.21.35"; -pub const szOID_ENROLL_SCEP_CLIENT_REQUEST: &'static str = "1.3.6.1.4.1.311.21.37"; -pub const szOID_ENROLL_SCEP_SERVER_MESSAGE: &'static str = "1.3.6.1.4.1.311.21.38"; -pub const szOID_ENROLL_SCEP_SERVER_SECRET: &'static str = "1.3.6.1.4.1.311.21.40"; -pub const szOID_ENROLL_KEY_AFFINITY: &'static str = "1.3.6.1.4.1.311.21.41"; -pub const szOID_ENROLL_SCEP_SIGNER_HASH: &'static str = "1.3.6.1.4.1.311.21.42"; -pub const szOID_ENROLL_EK_CA_KEYID: &'static str = "1.3.6.1.4.1.311.21.43"; -pub const szOID_ATTR_SUPPORTED_ALGORITHMS: &'static str = "2.5.4.52"; -pub const szOID_ATTR_TPM_SPECIFICATION: &'static str = "2.23.133.2.16"; -pub const szOID_ATTR_PLATFORM_SPECIFICATION: &'static str = "2.23.133.2.17"; -pub const szOID_ATTR_TPM_SECURITY_ASSERTIONS: &'static str = "2.23.133.2.18"; -STRUCT!{struct CERT_EXTENSIONS { - cExtension: DWORD, - rgExtension: PCERT_EXTENSION, -}} -pub type PCERT_EXTENSIONS = *mut CERT_EXTENSIONS; -pub const CERT_UNICODE_RDN_ERR_INDEX_MASK: DWORD = 0x3FF; -pub const CERT_UNICODE_RDN_ERR_INDEX_SHIFT: DWORD = 22; -pub const CERT_UNICODE_ATTR_ERR_INDEX_MASK: DWORD = 0x003F; -pub const CERT_UNICODE_ATTR_ERR_INDEX_SHIFT: DWORD = 16; -pub const CERT_UNICODE_VALUE_ERR_INDEX_MASK: DWORD = 0x0000FFFF; -pub const CERT_UNICODE_VALUE_ERR_INDEX_SHIFT: DWORD = 0; -#[inline] -pub fn GET_CERT_UNICODE_RDN_ERR_INDEX(X: DWORD) -> DWORD { - (X >> CERT_UNICODE_RDN_ERR_INDEX_SHIFT) & CERT_UNICODE_RDN_ERR_INDEX_MASK -} -#[inline] -pub fn GET_CERT_UNICODE_ATTR_ERR_INDEX(X: DWORD) -> DWORD { - (X >> CERT_UNICODE_ATTR_ERR_INDEX_SHIFT) & CERT_UNICODE_ATTR_ERR_INDEX_MASK -} -#[inline] -pub fn GET_CERT_UNICODE_VALUE_ERR_INDEX(X: DWORD) -> DWORD { - X & CERT_UNICODE_VALUE_ERR_INDEX_MASK -} -STRUCT!{struct CERT_AUTHORITY_KEY_ID_INFO { - KeyId: CRYPT_DATA_BLOB, - CertIssuer: CERT_NAME_BLOB, - CertSerialNumber: CRYPT_INTEGER_BLOB, -}} -pub type PCERT_AUTHORITY_KEY_ID_INFO = *mut CERT_AUTHORITY_KEY_ID_INFO; -STRUCT!{struct CERT_PRIVATE_KEY_VALIDITY { - NotBefore: FILETIME, - NotAfter: FILETIME, -}} -pub type PCERT_PRIVATE_KEY_VALIDITY = *mut CERT_PRIVATE_KEY_VALIDITY; -STRUCT!{struct CERT_KEY_ATTRIBUTES_INFO { - KeyId: CRYPT_DATA_BLOB, - IntendedKeyUsage: CRYPT_BIT_BLOB, - pPrivateKeyUsagePeriod: PCERT_PRIVATE_KEY_VALIDITY, -}} -pub type PCERT_KEY_ATTRIBUTES_INFO = *mut CERT_KEY_ATTRIBUTES_INFO; -pub const CERT_DIGITAL_SIGNATURE_KEY_USAGE: DWORD = 0x80; -pub const CERT_NON_REPUDIATION_KEY_USAGE: DWORD = 0x40; -pub const CERT_KEY_ENCIPHERMENT_KEY_USAGE: DWORD = 0x20; -pub const CERT_DATA_ENCIPHERMENT_KEY_USAGE: DWORD = 0x10; -pub const CERT_KEY_AGREEMENT_KEY_USAGE: DWORD = 0x08; -pub const CERT_KEY_CERT_SIGN_KEY_USAGE: DWORD = 0x04; -pub const CERT_OFFLINE_CRL_SIGN_KEY_USAGE: DWORD = 0x02; -pub const CERT_CRL_SIGN_KEY_USAGE: DWORD = 0x02; -pub const CERT_ENCIPHER_ONLY_KEY_USAGE: DWORD = 0x01; -pub const CERT_DECIPHER_ONLY_KEY_USAGE: DWORD = 0x80; -STRUCT!{struct CERT_POLICY_ID { - cCertPolicyElementId: DWORD, - rgpszCertPolicyElementId: *mut LPSTR, -}} -pub type PCERT_POLICY_ID = *mut CERT_POLICY_ID; -STRUCT!{struct CERT_KEY_USAGE_RESTRICTION_INFO { - cCertPolicyId: DWORD, - rgCertPolicyId: PCERT_POLICY_ID, - RestrictedKeyUsage: CRYPT_BIT_BLOB, -}} -pub type PCERT_KEY_USAGE_RESTRICTION_INFO = *mut CERT_KEY_USAGE_RESTRICTION_INFO; -STRUCT!{struct CERT_OTHER_NAME { - pszObjId: LPSTR, - Value: CRYPT_OBJID_BLOB, -}} -pub type PCERT_OTHER_NAME = *mut CERT_OTHER_NAME; -UNION!{union CERT_ALT_NAME_ENTRY_u { - [usize; 2], - pOtherName pOtherName_mut: PCERT_OTHER_NAME, - pwszRfc822Name pwszRfc822Name_mut: LPWSTR, - pwszDNSName pwszDNSName_mut: LPWSTR, - DirectoryName DirectoryName_mut: CERT_NAME_BLOB, - pwszURL pwszURL_mut: LPWSTR, - IPAddress IPAddress_mut: CRYPT_DATA_BLOB, - pszRegisteredID pszRegisteredID_mut: LPSTR, -}} -STRUCT!{struct CERT_ALT_NAME_ENTRY { - dwAltNameChoice: DWORD, - u: CERT_ALT_NAME_ENTRY_u, -}} -pub type PCERT_ALT_NAME_ENTRY = *mut CERT_ALT_NAME_ENTRY; -pub const CERT_ALT_NAME_OTHER_NAME: DWORD = 1; -pub const CERT_ALT_NAME_RFC822_NAME: DWORD = 2; -pub const CERT_ALT_NAME_DNS_NAME: DWORD = 3; -pub const CERT_ALT_NAME_X400_ADDRESS: DWORD = 4; -pub const CERT_ALT_NAME_DIRECTORY_NAME: DWORD = 5; -pub const CERT_ALT_NAME_EDI_PARTY_NAME: DWORD = 6; -pub const CERT_ALT_NAME_URL: DWORD = 7; -pub const CERT_ALT_NAME_IP_ADDRESS: DWORD = 8; -pub const CERT_ALT_NAME_REGISTERED_ID: DWORD = 9; -STRUCT!{struct CERT_ALT_NAME_INFO { - cAltEntry: DWORD, - rgAltEntry: PCERT_ALT_NAME_ENTRY, -}} -pub type PCERT_ALT_NAME_INFO = *mut CERT_ALT_NAME_INFO; -pub const CERT_ALT_NAME_ENTRY_ERR_INDEX_MASK: DWORD = 0xFF; -pub const CERT_ALT_NAME_ENTRY_ERR_INDEX_SHIFT: DWORD = 16; -pub const CERT_ALT_NAME_VALUE_ERR_INDEX_MASK: DWORD = 0x0000FFFF; -pub const CERT_ALT_NAME_VALUE_ERR_INDEX_SHIFT: DWORD = 0; -#[inline] -pub fn GET_CERT_ALT_NAME_ENTRY_ERR_INDEX(X: DWORD) -> DWORD { - (X >> CERT_ALT_NAME_ENTRY_ERR_INDEX_SHIFT) & CERT_ALT_NAME_ENTRY_ERR_INDEX_MASK -} -#[inline] -pub fn GET_CERT_ALT_NAME_VALUE_ERR_INDEX(X: DWORD) -> DWORD { - X & CERT_ALT_NAME_VALUE_ERR_INDEX_MASK -} -STRUCT!{struct CERT_BASIC_CONSTRAINTS_INFO { - SubjectType: CRYPT_BIT_BLOB, - fPathLenConstraint: BOOL, - dwPathLenConstraint: DWORD, - cSubtreesConstraint: DWORD, - rgSubtreesConstraint: *mut CERT_NAME_BLOB, -}} -pub type PCERT_BASIC_CONSTRAINTS_INFO = *mut CERT_BASIC_CONSTRAINTS_INFO; -pub const CERT_CA_SUBJECT_FLAG: DWORD = 0x80; -pub const CERT_END_ENTITY_SUBJECT_FLAG: DWORD = 0x40; -STRUCT!{struct CERT_BASIC_CONSTRAINTS2_INFO { - fCA: BOOL, - fPathLenConstraint: BOOL, - dwPathLenConstraint: DWORD, -}} -pub type PCERT_BASIC_CONSTRAINTS2_INFO = *mut CERT_BASIC_CONSTRAINTS2_INFO; -STRUCT!{struct CERT_POLICY_QUALIFIER_INFO { - pszPolicyQualifierId: LPSTR, - Qualifier: CRYPT_OBJID_BLOB, -}} -pub type PCERT_POLICY_QUALIFIER_INFO = *mut CERT_POLICY_QUALIFIER_INFO; -STRUCT!{struct CERT_POLICY_INFO { - pszPolicyIdentifier: LPSTR, - cPolicyQualifier: DWORD, - rgPolicyQualifier: *mut CERT_POLICY_QUALIFIER_INFO, -}} -pub type PCERT_POLICY_INFO = *mut CERT_POLICY_INFO; -STRUCT!{struct CERT_POLICIES_INFO { - cPolicyInfo: DWORD, - rgPolicyInfo: *mut CERT_POLICY_INFO, -}} -pub type PCERT_POLICIES_INFO = *mut CERT_POLICIES_INFO; -STRUCT!{struct CERT_POLICY_QUALIFIER_NOTICE_REFERENCE { - pszOrganization: LPSTR, - cNoticeNumbers: DWORD, - rgNoticeNumbers: *mut c_int, -}} -pub type PCERT_POLICY_QUALIFIER_NOTICE_REFERENCE = *mut CERT_POLICY_QUALIFIER_NOTICE_REFERENCE; -STRUCT!{struct CERT_POLICY_QUALIFIER_USER_NOTICE { - pNoticeReference: *mut CERT_POLICY_QUALIFIER_NOTICE_REFERENCE, - pszDisplayText: LPWSTR, -}} -pub type PCERT_POLICY_QUALIFIER_USER_NOTICE = *mut CERT_POLICY_QUALIFIER_USER_NOTICE; -STRUCT!{struct CPS_URLS { - pszURL: LPWSTR, - pAlgorithm: *mut CRYPT_ALGORITHM_IDENTIFIER, - pDigest: *mut CRYPT_DATA_BLOB, -}} -pub type PCPS_URLS = *mut CPS_URLS; -STRUCT!{struct CERT_POLICY95_QUALIFIER1 { - pszPracticesReference: LPWSTR, - pszNoticeIdentifier: LPSTR, - pszNSINoticeIdentifier: LPSTR, - cCPSURLs: DWORD, - rgCPSURLs: *mut CPS_URLS, -}} -pub type PCERT_POLICY95_QUALIFIER1 = *mut CERT_POLICY95_QUALIFIER1; -STRUCT!{struct CERT_POLICY_MAPPING { - pszIssuerDomainPolicy: LPSTR, - pszSubjectDomainPolicy: LPSTR, -}} -pub type PCERT_POLICY_MAPPING = *mut CERT_POLICY_MAPPING; -STRUCT!{struct CERT_POLICY_MAPPINGS_INFO { - cPolicyMapping: DWORD, - rgPolicyMapping: PCERT_POLICY_MAPPING, -}} -pub type PCERT_POLICY_MAPPINGS_INFO = *mut CERT_POLICY_MAPPINGS_INFO; -STRUCT!{struct CERT_POLICY_CONSTRAINTS_INFO { - fRequireExplicitPolicy: BOOL, - dwRequireExplicitPolicySkipCerts: DWORD, - fInhibitPolicyMapping: BOOL, - dwInhibitPolicyMappingSkipCerts: DWORD, -}} -pub type PCERT_POLICY_CONSTRAINTS_INFO = *mut CERT_POLICY_CONSTRAINTS_INFO; -STRUCT!{struct CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY { - pszObjId: LPSTR, - cValue: DWORD, - rgValue: PCRYPT_DER_BLOB, -}} -pub type PCRYPT_CONTENT_INFO_SEQUENCE_OF_ANY = *mut CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY; -STRUCT!{struct CRYPT_CONTENT_INFO { - pszObjId: LPSTR, - Content: CRYPT_DER_BLOB, -}} -pub type PCRYPT_CONTENT_INFO = *mut CRYPT_CONTENT_INFO; -STRUCT!{struct CRYPT_SEQUENCE_OF_ANY { - cValue: DWORD, - rgValue: PCRYPT_DER_BLOB, -}} -pub type PCRYPT_SEQUENCE_OF_ANY = *mut CRYPT_SEQUENCE_OF_ANY; -STRUCT!{struct CERT_AUTHORITY_KEY_ID2_INFO { - KeyId: CRYPT_DATA_BLOB, - AuthorityCertIssuer: CERT_ALT_NAME_INFO, - AuthorityCertSerialNumber: CRYPT_INTEGER_BLOB, -}} -pub type PCERT_AUTHORITY_KEY_ID2_INFO = *mut CERT_AUTHORITY_KEY_ID2_INFO; -STRUCT!{struct CERT_ACCESS_DESCRIPTION { - pszAccessMethod: LPSTR, - AccessLocation: CERT_ALT_NAME_ENTRY, -}} -pub type PCERT_ACCESS_DESCRIPTION = *mut CERT_ACCESS_DESCRIPTION; -STRUCT!{struct CERT_AUTHORITY_INFO_ACCESS { - cAccDescr: DWORD, - rgAccDescr: PCERT_ACCESS_DESCRIPTION, -}} -pub type PCERT_AUTHORITY_INFO_ACCESS = *mut CERT_AUTHORITY_INFO_ACCESS; -pub type CERT_SUBJECT_INFO_ACCESS = CERT_AUTHORITY_INFO_ACCESS; -pub type PCERT_SUBJECT_INFO_ACCESS = *mut CERT_AUTHORITY_INFO_ACCESS; -pub const szOID_PKIX_ACC_DESCR: &'static str = "1.3.6.1.5.5.7.48"; -pub const szOID_PKIX_OCSP: &'static str = "1.3.6.1.5.5.7.48.1"; -pub const szOID_PKIX_CA_ISSUERS: &'static str = "1.3.6.1.5.5.7.48.2"; -pub const szOID_PKIX_TIME_STAMPING: &'static str = "1.3.6.1.5.5.7.48.3"; -pub const szOID_PKIX_CA_REPOSITORY: &'static str = "1.3.6.1.5.5.7.48.5"; -pub const CRL_REASON_UNSPECIFIED: DWORD = 0; -pub const CRL_REASON_KEY_COMPROMISE: DWORD = 1; -pub const CRL_REASON_CA_COMPROMISE: DWORD = 2; -pub const CRL_REASON_AFFILIATION_CHANGED: DWORD = 3; -pub const CRL_REASON_SUPERSEDED: DWORD = 4; -pub const CRL_REASON_CESSATION_OF_OPERATION: DWORD = 5; -pub const CRL_REASON_CERTIFICATE_HOLD: DWORD = 6; -pub const CRL_REASON_REMOVE_FROM_CRL: DWORD = 8; -pub const CRL_REASON_PRIVILEGE_WITHDRAWN: DWORD = 9; -pub const CRL_REASON_AA_COMPROMISE: DWORD = 10; -UNION!{union CRL_DIST_POINT_NAME_u { - [usize; 2], - FullName FullName_mut: CERT_ALT_NAME_INFO, -}} -STRUCT!{struct CRL_DIST_POINT_NAME { - dwDistPointNameChoice: DWORD, - u: CRL_DIST_POINT_NAME_u, -}} -pub type PCRL_DIST_POINT_NAME = *mut CRL_DIST_POINT_NAME; -pub const CRL_DIST_POINT_NO_NAME: DWORD = 0; -pub const CRL_DIST_POINT_FULL_NAME: DWORD = 1; -pub const CRL_DIST_POINT_ISSUER_RDN_NAME: DWORD = 2; -STRUCT!{struct CRL_DIST_POINT { - DistPointName: CRL_DIST_POINT_NAME, - ReasonFlags: CRYPT_BIT_BLOB, - CRLIssuer: CERT_ALT_NAME_INFO, -}} -pub type PCRL_DIST_POINT = *mut CRL_DIST_POINT; -pub const CRL_REASON_UNUSED_FLAG: DWORD = 0x80; -pub const CRL_REASON_KEY_COMPROMISE_FLAG: DWORD = 0x40; -pub const CRL_REASON_CA_COMPROMISE_FLAG: DWORD = 0x20; -pub const CRL_REASON_AFFILIATION_CHANGED_FLAG: DWORD = 0x10; -pub const CRL_REASON_SUPERSEDED_FLAG: DWORD = 0x08; -pub const CRL_REASON_CESSATION_OF_OPERATION_FLAG: DWORD = 0x04; -pub const CRL_REASON_CERTIFICATE_HOLD_FLAG: DWORD = 0x02; -pub const CRL_REASON_PRIVILEGE_WITHDRAWN_FLAG: DWORD = 0x01; -pub const CRL_REASON_AA_COMPROMISE_FLAG: DWORD = 0x80; -STRUCT!{struct CRL_DIST_POINTS_INFO { - cDistPoint: DWORD, - rgDistPoint: PCRL_DIST_POINT, -}} -pub type PCRL_DIST_POINTS_INFO = *mut CRL_DIST_POINTS_INFO; -pub const CRL_DIST_POINT_ERR_INDEX_MASK: DWORD = 0x7F; -pub const CRL_DIST_POINT_ERR_INDEX_SHIFT: DWORD = 24; -#[inline] -pub fn GET_CRL_DIST_POINT_ERR_INDEX(X: DWORD) -> DWORD { - (X >> CRL_DIST_POINT_ERR_INDEX_SHIFT) & CRL_DIST_POINT_ERR_INDEX_MASK -} -pub const CRL_DIST_POINT_ERR_CRL_ISSUER_BIT: DWORD = 0x80000000; -#[inline] -pub fn IS_CRL_DIST_POINT_ERR_CRL_ISSUER(X: DWORD) -> bool { - 0 != (X & CRL_DIST_POINT_ERR_CRL_ISSUER_BIT) -} -STRUCT!{struct CROSS_CERT_DIST_POINTS_INFO { - dwSyncDeltaTime: DWORD, - cDistPoint: DWORD, - rgDistPoint: PCERT_ALT_NAME_INFO, -}} -pub type PCROSS_CERT_DIST_POINTS_INFO = *mut CROSS_CERT_DIST_POINTS_INFO; -pub const CROSS_CERT_DIST_POINT_ERR_INDEX_MASK: DWORD = 0xFF; -pub const CROSS_CERT_DIST_POINT_ERR_INDEX_SHIFT: DWORD = 24; -#[inline] -pub fn GET_CROSS_CERT_DIST_POINT_ERR_INDEX(X: DWORD) -> DWORD { - (X >> CROSS_CERT_DIST_POINT_ERR_INDEX_SHIFT) & CROSS_CERT_DIST_POINT_ERR_INDEX_MASK -} -STRUCT!{struct CERT_PAIR { - Forward: CERT_BLOB, - Reverse: CERT_BLOB, -}} -pub type PCERT_PAIR = *mut CERT_PAIR; -STRUCT!{struct CRL_ISSUING_DIST_POINT { - DistPointName: CRL_DIST_POINT_NAME, - fOnlyContainsUserCerts: BOOL, - fOnlyContainsCACerts: BOOL, - OnlySomeReasonFlags: CRYPT_BIT_BLOB, - fIndirectCRL: BOOL, -}} -pub type PCRL_ISSUING_DIST_POINT = *mut CRL_ISSUING_DIST_POINT; -STRUCT!{struct CERT_GENERAL_SUBTREE { - Base: CERT_ALT_NAME_ENTRY, - dwMinimum: DWORD, - fMaximum: BOOL, - dwMaximum: DWORD, -}} -pub type PCERT_GENERAL_SUBTREE = *mut CERT_GENERAL_SUBTREE; -STRUCT!{struct CERT_NAME_CONSTRAINTS_INFO { - cPermittedSubtree: DWORD, - rgPermittedSubtree: PCERT_GENERAL_SUBTREE, - cExcludedSubtree: DWORD, - rgExcludedSubtree: PCERT_GENERAL_SUBTREE, -}} -pub type PCERT_NAME_CONSTRAINTS_INFO = *mut CERT_NAME_CONSTRAINTS_INFO; -pub const CERT_EXCLUDED_SUBTREE_BIT: DWORD = 0x80000000; -#[inline] -pub fn IS_CERT_EXCLUDED_SUBTREE(X: DWORD) -> bool { - 0 != (X & CERT_EXCLUDED_SUBTREE_BIT) -} -pub const SORTED_CTL_EXT_FLAGS_OFFSET: c_int = 0 * 4; -pub const SORTED_CTL_EXT_COUNT_OFFSET: c_int = 1 * 4; -pub const SORTED_CTL_EXT_MAX_COLLISION_OFFSET: c_int = 2 * 4; -pub const SORTED_CTL_EXT_HASH_BUCKET_OFFSET: c_int = 3 * 4; -pub const SORTED_CTL_EXT_HASHED_SUBJECT_IDENTIFIER_FLAG: DWORD = 0x1; -STRUCT!{struct CERT_DSS_PARAMETERS { - p: CRYPT_UINT_BLOB, - q: CRYPT_UINT_BLOB, - g: CRYPT_UINT_BLOB, -}} -pub type PCERT_DSS_PARAMETERS = *mut CERT_DSS_PARAMETERS; -pub const CERT_DSS_R_LEN: usize = 20; -pub const CERT_DSS_S_LEN: usize = 20; -pub const CERT_DSS_SIGNATURE_LEN: usize = CERT_DSS_R_LEN + CERT_DSS_S_LEN; -pub const CERT_MAX_ASN_ENCODED_DSS_SIGNATURE_LEN: usize = 2 + 2 * (2 + 20 + 1); -STRUCT!{struct CERT_DH_PARAMETERS { - p: CRYPT_UINT_BLOB, - g: CRYPT_UINT_BLOB, -}} -pub type PCERT_DH_PARAMETERS = *mut CERT_DH_PARAMETERS; -STRUCT!{struct CERT_ECC_SIGNATURE { - r: CRYPT_UINT_BLOB, - s: CRYPT_UINT_BLOB, -}} -pub type PCERT_ECC_SIGNATURE = *mut CERT_ECC_SIGNATURE; -STRUCT!{struct CERT_X942_DH_VALIDATION_PARAMS { - seed: CRYPT_BIT_BLOB, - pgenCounter: DWORD, -}} -pub type PCERT_X942_DH_VALIDATION_PARAMS = *mut CERT_X942_DH_VALIDATION_PARAMS; -STRUCT!{struct CERT_X942_DH_PARAMETERS { - p: CRYPT_UINT_BLOB, - g: CRYPT_UINT_BLOB, - q: CRYPT_UINT_BLOB, - j: CRYPT_UINT_BLOB, - pValidationParams: PCERT_X942_DH_VALIDATION_PARAMS, -}} -pub type PCERT_X942_DH_PARAMETERS = *mut CERT_X942_DH_PARAMETERS; -pub const CRYPT_X942_COUNTER_BYTE_LENGTH: usize = 4; -pub const CRYPT_X942_KEY_LENGTH_BYTE_LENGTH: usize = 4; -pub const CRYPT_X942_PUB_INFO_BYTE_LENGTH: usize = 512 / 8; -STRUCT!{struct CRYPT_X942_OTHER_INFO { - pszContentEncryptionObjId: LPSTR, - rgbCounter: [BYTE; CRYPT_X942_COUNTER_BYTE_LENGTH], - rgbKeyLength: [BYTE; CRYPT_X942_KEY_LENGTH_BYTE_LENGTH], - PubInfo: CRYPT_DATA_BLOB, -}} -pub type PCRYPT_X942_OTHER_INFO = *mut CRYPT_X942_OTHER_INFO; -pub const CRYPT_ECC_CMS_SHARED_INFO_SUPPPUBINFO_BYTE_LENGTH: usize = 4; -STRUCT!{struct CRYPT_ECC_CMS_SHARED_INFO { - Algorithm: CRYPT_ALGORITHM_IDENTIFIER, - EntityUInfo: CRYPT_DATA_BLOB, - rgbSuppPubInfo: [BYTE; CRYPT_ECC_CMS_SHARED_INFO_SUPPPUBINFO_BYTE_LENGTH], -}} -pub type PCRYPT_ECC_CMS_SHARED_INFO = *mut CRYPT_ECC_CMS_SHARED_INFO; -STRUCT!{struct CRYPT_RC2_CBC_PARAMETERS { - dwVersion: DWORD, - fIV: BOOL, - rgbIV: [BYTE; 8], -}} -pub type PCRYPT_RC2_CBC_PARAMETERS = *mut CRYPT_RC2_CBC_PARAMETERS; -pub const CRYPT_RC2_40BIT_VERSION: DWORD = 160; -pub const CRYPT_RC2_56BIT_VERSION: DWORD = 52; -pub const CRYPT_RC2_64BIT_VERSION: DWORD = 120; -pub const CRYPT_RC2_128BIT_VERSION: DWORD = 58; -STRUCT!{struct CRYPT_SMIME_CAPABILITY { - pszObjId: LPSTR, - Parameters: CRYPT_OBJID_BLOB, -}} -pub type PCRYPT_SMIME_CAPABILITY = *mut CRYPT_SMIME_CAPABILITY; -STRUCT!{struct CRYPT_SMIME_CAPABILITIES { - cCapability: DWORD, - rgCapability: PCRYPT_SMIME_CAPABILITY, -}} -pub type PCRYPT_SMIME_CAPABILITIES = *mut CRYPT_SMIME_CAPABILITIES; -STRUCT!{struct CERT_QC_STATEMENT { - pszStatementId: LPSTR, - StatementInfo: CRYPT_OBJID_BLOB, -}} -pub type PCERT_QC_STATEMENT = *mut CERT_QC_STATEMENT; -STRUCT!{struct CERT_QC_STATEMENTS_EXT_INFO { - cStatement: DWORD, - rgStatement: PCERT_QC_STATEMENT, -}} -pub type PCERT_QC_STATEMENTS_EXT_INFO = *mut CERT_QC_STATEMENTS_EXT_INFO; -pub const szOID_QC_EU_COMPLIANCE: &'static str = "0.4.0.1862.1.1"; -pub const szOID_QC_SSCD: &'static str = "0.4.0.1862.1.4"; -STRUCT!{struct CRYPT_MASK_GEN_ALGORITHM { - pszObjId: LPSTR, - HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, -}} -pub type PCRYPT_MASK_GEN_ALGORITHM = *mut CRYPT_MASK_GEN_ALGORITHM; -STRUCT!{struct CRYPT_RSA_SSA_PSS_PARAMETERS { - HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - MaskGenAlgorithm: CRYPT_MASK_GEN_ALGORITHM, - dwSaltLength: DWORD, - dwTrailerField: DWORD, -}} -pub type PCRYPT_RSA_SSA_PSS_PARAMETERS = *mut CRYPT_RSA_SSA_PSS_PARAMETERS; -pub const PKCS_RSA_SSA_PSS_TRAILER_FIELD_BC: DWORD = 1; -STRUCT!{struct CRYPT_PSOURCE_ALGORITHM { - pszObjId: LPSTR, - EncodingParameters: CRYPT_DATA_BLOB, -}} -pub type PCRYPT_PSOURCE_ALGORITHM = *mut CRYPT_PSOURCE_ALGORITHM; -STRUCT!{struct CRYPT_RSAES_OAEP_PARAMETERS { - HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - MaskGenAlgorithm: CRYPT_MASK_GEN_ALGORITHM, - PSourceAlgorithm: CRYPT_PSOURCE_ALGORITHM, -}} -pub type PCRYPT_RSAES_OAEP_PARAMETERS = *mut CRYPT_RSAES_OAEP_PARAMETERS; -pub const szOID_VERISIGN_PRIVATE_6_9: &'static str = "2.16.840.1.113733.1.6.9"; -pub const szOID_VERISIGN_ONSITE_JURISDICTION_HASH: &'static str = "2.16.840.1.113733.1.6.11"; -pub const szOID_VERISIGN_BITSTRING_6_13: &'static str = "2.16.840.1.113733.1.6.13"; -pub const szOID_VERISIGN_ISS_STRONG_CRYPTO: &'static str = "2.16.840.1.113733.1.8.1"; -pub const szOIDVerisign_MessageType: &'static str = "2.16.840.1.113733.1.9.2"; -pub const szOIDVerisign_PkiStatus: &'static str = "2.16.840.1.113733.1.9.3"; -pub const szOIDVerisign_FailInfo: &'static str = "2.16.840.1.113733.1.9.4"; -pub const szOIDVerisign_SenderNonce: &'static str = "2.16.840.1.113733.1.9.5"; -pub const szOIDVerisign_RecipientNonce: &'static str = "2.16.840.1.113733.1.9.6"; -pub const szOIDVerisign_TransactionID: &'static str = "2.16.840.1.113733.1.9.7"; -pub const szOID_NETSCAPE: &'static str = "2.16.840.1.113730"; -pub const szOID_NETSCAPE_CERT_EXTENSION: &'static str = "2.16.840.1.113730.1"; -pub const szOID_NETSCAPE_CERT_TYPE: &'static str = "2.16.840.1.113730.1.1"; -pub const szOID_NETSCAPE_BASE_URL: &'static str = "2.16.840.1.113730.1.2"; -pub const szOID_NETSCAPE_REVOCATION_URL: &'static str = "2.16.840.1.113730.1.3"; -pub const szOID_NETSCAPE_CA_REVOCATION_URL: &'static str = "2.16.840.1.113730.1.4"; -pub const szOID_NETSCAPE_CERT_RENEWAL_URL: &'static str = "2.16.840.1.113730.1.7"; -pub const szOID_NETSCAPE_CA_POLICY_URL: &'static str = "2.16.840.1.113730.1.8"; -pub const szOID_NETSCAPE_SSL_SERVER_NAME: &'static str = "2.16.840.1.113730.1.12"; -pub const szOID_NETSCAPE_COMMENT: &'static str = "2.16.840.1.113730.1.13"; -pub const szOID_NETSCAPE_DATA_TYPE: &'static str = "2.16.840.1.113730.2"; -pub const szOID_NETSCAPE_CERT_SEQUENCE: &'static str = "2.16.840.1.113730.2.5"; -pub const NETSCAPE_SSL_CLIENT_AUTH_CERT_TYPE: DWORD = 0x80; -pub const NETSCAPE_SSL_SERVER_AUTH_CERT_TYPE: DWORD = 0x40; -pub const NETSCAPE_SMIME_CERT_TYPE: DWORD = 0x20; -pub const NETSCAPE_SIGN_CERT_TYPE: DWORD = 0x10; -pub const NETSCAPE_SSL_CA_CERT_TYPE: DWORD = 0x04; -pub const NETSCAPE_SMIME_CA_CERT_TYPE: DWORD = 0x02; -pub const NETSCAPE_SIGN_CA_CERT_TYPE: DWORD = 0x01; -pub const szOID_CT_PKI_DATA: &'static str = "1.3.6.1.5.5.7.12.2"; -pub const szOID_CT_PKI_RESPONSE: &'static str = "1.3.6.1.5.5.7.12.3"; -pub const szOID_PKIX_NO_SIGNATURE: &'static str = "1.3.6.1.5.5.7.6.2"; -pub const szOID_CMC: &'static str = "1.3.6.1.5.5.7.7"; -pub const szOID_CMC_STATUS_INFO: &'static str = "1.3.6.1.5.5.7.7.1"; -pub const szOID_CMC_IDENTIFICATION: &'static str = "1.3.6.1.5.5.7.7.2"; -pub const szOID_CMC_IDENTITY_PROOF: &'static str = "1.3.6.1.5.5.7.7.3"; -pub const szOID_CMC_DATA_RETURN: &'static str = "1.3.6.1.5.5.7.7.4"; -pub const szOID_CMC_TRANSACTION_ID: &'static str = "1.3.6.1.5.5.7.7.5"; -pub const szOID_CMC_SENDER_NONCE: &'static str = "1.3.6.1.5.5.7.7.6"; -pub const szOID_CMC_RECIPIENT_NONCE: &'static str = "1.3.6.1.5.5.7.7.7"; -pub const szOID_CMC_ADD_EXTENSIONS: &'static str = "1.3.6.1.5.5.7.7.8"; -pub const szOID_CMC_ENCRYPTED_POP: &'static str = "1.3.6.1.5.5.7.7.9"; -pub const szOID_CMC_DECRYPTED_POP: &'static str = "1.3.6.1.5.5.7.7.10"; -pub const szOID_CMC_LRA_POP_WITNESS: &'static str = "1.3.6.1.5.5.7.7.11"; -pub const szOID_CMC_GET_CERT: &'static str = "1.3.6.1.5.5.7.7.15"; -pub const szOID_CMC_GET_CRL: &'static str = "1.3.6.1.5.5.7.7.16"; -pub const szOID_CMC_REVOKE_REQUEST: &'static str = "1.3.6.1.5.5.7.7.17"; -pub const szOID_CMC_REG_INFO: &'static str = "1.3.6.1.5.5.7.7.18"; -pub const szOID_CMC_RESPONSE_INFO: &'static str = "1.3.6.1.5.5.7.7.19"; -pub const szOID_CMC_QUERY_PENDING: &'static str = "1.3.6.1.5.5.7.7.21"; -pub const szOID_CMC_ID_POP_LINK_RANDOM: &'static str = "1.3.6.1.5.5.7.7.22"; -pub const szOID_CMC_ID_POP_LINK_WITNESS: &'static str = "1.3.6.1.5.5.7.7.23"; -pub const szOID_CMC_ID_CONFIRM_CERT_ACCEPTANCE: &'static str = "1.3.6.1.5.5.7.7.24"; -pub const szOID_CMC_ADD_ATTRIBUTES: &'static str = "1.3.6.1.4.1.311.10.10.1"; -STRUCT!{struct CMC_TAGGED_ATTRIBUTE { - dwBodyPartID: DWORD, - Attribute: CRYPT_ATTRIBUTE, -}} -pub type PCMC_TAGGED_ATTRIBUTE = *mut CMC_TAGGED_ATTRIBUTE; -STRUCT!{struct CMC_TAGGED_CERT_REQUEST { - dwBodyPartID: DWORD, - SignedCertRequest: CRYPT_DER_BLOB, -}} -pub type PCMC_TAGGED_CERT_REQUEST = *mut CMC_TAGGED_CERT_REQUEST; -UNION!{union CMC_TAGGED_REQUEST_u { - [usize; 1], - pTaggedCertRequest pTaggedCertRequest_mut: PCMC_TAGGED_CERT_REQUEST, -}} -STRUCT!{struct CMC_TAGGED_REQUEST { - dwTaggedRequestChoice: DWORD, - u: CMC_TAGGED_REQUEST_u, -}} -pub type PCMC_TAGGED_REQUEST = *mut CMC_TAGGED_REQUEST; -STRUCT!{struct CMC_TAGGED_CONTENT_INFO { - dwBodyPartID: DWORD, - EncodedContentInfo: CRYPT_DER_BLOB, -}} -pub type PCMC_TAGGED_CONTENT_INFO = *mut CMC_TAGGED_CONTENT_INFO; -STRUCT!{struct CMC_TAGGED_OTHER_MSG { - dwBodyPartID: DWORD, - pszObjId: LPSTR, - Value: CRYPT_OBJID_BLOB, -}} -pub type PCMC_TAGGED_OTHER_MSG = *mut CMC_TAGGED_OTHER_MSG; -STRUCT!{struct CMC_DATA_INFO { - cTaggedAttribute: DWORD, - rgTaggedAttribute: PCMC_TAGGED_ATTRIBUTE, - cTaggedRequest: DWORD, - rgTaggedRequest: PCMC_TAGGED_REQUEST, - cTaggedContentInfo: DWORD, - rgTaggedContentInfo: PCMC_TAGGED_CONTENT_INFO, - cTaggedOtherMsg: DWORD, - rgTaggedOtherMsg: PCMC_TAGGED_OTHER_MSG, -}} -pub type PCMC_DATA_INFO = *mut CMC_DATA_INFO; -STRUCT!{struct CMC_RESPONSE_INFO { - cTaggedAttribute: DWORD, - rgTaggedAttribute: PCMC_TAGGED_ATTRIBUTE, - cTaggedContentInfo: DWORD, - rgTaggedContentInfo: PCMC_TAGGED_CONTENT_INFO, - cTaggedOtherMsg: DWORD, - rgTaggedOtherMsg: PCMC_TAGGED_OTHER_MSG, -}} -pub type PCMC_RESPONSE_INFO = *mut CMC_RESPONSE_INFO; -STRUCT!{struct CMC_PEND_INFO { - PendToken: CRYPT_DATA_BLOB, - PendTime: FILETIME, -}} -pub type PCMC_PEND_INFO = *mut CMC_PEND_INFO; -UNION!{union CMC_STATUS_INFO_u { - [usize; 1], - dwFailInfo dwFailInfo_mut: DWORD, - pPendInfo pPendInfo_mut: PCMC_PEND_INFO, -}} -STRUCT!{struct CMC_STATUS_INFO { - dwStatus: DWORD, - cBodyList: DWORD, - rgdwBodyList: *mut DWORD, - pwszStatusString: LPWSTR, - dwOtherInfoChoice: DWORD, - u: CMC_STATUS_INFO_u, -}} -pub type PCMC_STATUS_INFO = *mut CMC_STATUS_INFO; -pub const CMC_OTHER_INFO_NO_CHOICE: DWORD = 0; -pub const CMC_OTHER_INFO_FAIL_CHOICE: DWORD = 1; -pub const CMC_OTHER_INFO_PEND_CHOICE: DWORD = 2; -pub const CMC_STATUS_SUCCESS: DWORD = 0; -pub const CMC_STATUS_FAILED: DWORD = 2; -pub const CMC_STATUS_PENDING: DWORD = 3; -pub const CMC_STATUS_NO_SUPPORT: DWORD = 4; -pub const CMC_STATUS_CONFIRM_REQUIRED: DWORD = 5; -pub const CMC_FAIL_BAD_ALG: DWORD = 0; -pub const CMC_FAIL_BAD_MESSAGE_CHECK: DWORD = 1; -pub const CMC_FAIL_BAD_REQUEST: DWORD = 2; -pub const CMC_FAIL_BAD_TIME: DWORD = 3; -pub const CMC_FAIL_BAD_CERT_ID: DWORD = 4; -pub const CMC_FAIL_UNSUPORTED_EXT: DWORD = 5; -pub const CMC_FAIL_MUST_ARCHIVE_KEYS: DWORD = 6; -pub const CMC_FAIL_BAD_IDENTITY: DWORD = 7; -pub const CMC_FAIL_POP_REQUIRED: DWORD = 8; -pub const CMC_FAIL_POP_FAILED: DWORD = 9; -pub const CMC_FAIL_NO_KEY_REUSE: DWORD = 10; -pub const CMC_FAIL_INTERNAL_CA_ERROR: DWORD = 11; -pub const CMC_FAIL_TRY_LATER: DWORD = 12; -STRUCT!{struct CMC_ADD_EXTENSIONS_INFO { - dwCmcDataReference: DWORD, - cCertReference: DWORD, - rgdwCertReference: *mut DWORD, - cExtension: DWORD, - rgExtension: PCERT_EXTENSION, -}} -pub type PCMC_ADD_EXTENSIONS_INFO = *mut CMC_ADD_EXTENSIONS_INFO; -STRUCT!{struct CMC_ADD_ATTRIBUTES_INFO { - dwCmcDataReference: DWORD, - cCertReference: DWORD, - rgdwCertReference: *mut DWORD, - cAttribute: DWORD, - rgAttribute: PCRYPT_ATTRIBUTE, -}} -pub type PCMC_ADD_ATTRIBUTES_INFO = *mut CMC_ADD_ATTRIBUTES_INFO; -STRUCT!{struct CERT_TEMPLATE_EXT { - pszObjId: LPSTR, - dwMajorVersion: DWORD, - fMinorVersion: BOOL, - dwMinorVersion: DWORD, -}} -pub type PCERT_TEMPLATE_EXT = *mut CERT_TEMPLATE_EXT; -STRUCT!{struct CERT_HASHED_URL { - HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - Hash: CRYPT_HASH_BLOB, - pwszUrl: LPWSTR, -}} -pub type PCERT_HASHED_URL = *mut CERT_HASHED_URL; -STRUCT!{struct CERT_LOGOTYPE_DETAILS { - pwszMimeType: LPWSTR, - cHashedUrl: DWORD, - rgHashedUrl: PCERT_HASHED_URL, -}} -pub type PCERT_LOGOTYPE_DETAILS = *mut CERT_LOGOTYPE_DETAILS; -STRUCT!{struct CERT_LOGOTYPE_REFERENCE { - cHashedUrl: DWORD, - rgHashedUrl: PCERT_HASHED_URL, -}} -pub type PCERT_LOGOTYPE_REFERENCE = *mut CERT_LOGOTYPE_REFERENCE; -UNION!{union CERT_LOGOTYPE_IMAGE_INFO_u { - [u32; 1], - dwNumBits dwNumBits_mut: DWORD, - dwTableSize dwTableSize_mut: DWORD, -}} -STRUCT!{struct CERT_LOGOTYPE_IMAGE_INFO { - dwLogotypeImageInfoChoice: DWORD, - dwFileSize: DWORD, - dwXSize: DWORD, - dwYSize: DWORD, - dwLogotypeImageResolutionChoice: DWORD, - u: CERT_LOGOTYPE_IMAGE_INFO_u, - pwszLanguage: LPWSTR, -}} -pub type PCERT_LOGOTYPE_IMAGE_INFO = *mut CERT_LOGOTYPE_IMAGE_INFO; -pub const CERT_LOGOTYPE_GRAY_SCALE_IMAGE_INFO_CHOICE: DWORD = 1; -pub const CERT_LOGOTYPE_COLOR_IMAGE_INFO_CHOICE: DWORD = 2; -pub const CERT_LOGOTYPE_NO_IMAGE_RESOLUTION_CHOICE: DWORD = 0; -pub const CERT_LOGOTYPE_BITS_IMAGE_RESOLUTION_CHOICE: DWORD = 1; -pub const CERT_LOGOTYPE_TABLE_SIZE_IMAGE_RESOLUTION_CHOICE: DWORD = 2; -STRUCT!{struct CERT_LOGOTYPE_IMAGE { - LogotypeDetails: CERT_LOGOTYPE_DETAILS, - pLogotypeImageInfo: PCERT_LOGOTYPE_IMAGE_INFO, -}} -pub type PCERT_LOGOTYPE_IMAGE = *mut CERT_LOGOTYPE_IMAGE; -STRUCT!{struct CERT_LOGOTYPE_AUDIO_INFO { - dwFileSize: DWORD, - dwPlayTime: DWORD, - dwChannels: DWORD, - dwSampleRate: DWORD, - pwszLanguage: LPWSTR, -}} -pub type PCERT_LOGOTYPE_AUDIO_INFO = *mut CERT_LOGOTYPE_AUDIO_INFO; -STRUCT!{struct CERT_LOGOTYPE_AUDIO { - LogotypeDetails: CERT_LOGOTYPE_DETAILS, - pLogotypeAudioInfo: PCERT_LOGOTYPE_AUDIO_INFO, -}} -pub type PCERT_LOGOTYPE_AUDIO = *mut CERT_LOGOTYPE_AUDIO; -STRUCT!{struct CERT_LOGOTYPE_DATA { - cLogotypeImage: DWORD, - rgLogotypeImage: PCERT_LOGOTYPE_IMAGE, - cLogotypeAudio: DWORD, - rgLogotypeAudio: PCERT_LOGOTYPE_AUDIO, -}} -pub type PCERT_LOGOTYPE_DATA = *mut CERT_LOGOTYPE_DATA; -UNION!{union CERT_LOGOTYPE_INFO_u { - [usize; 1], - pLogotypeDirectInfo pLogotypeDirectInfo_mut: PCERT_LOGOTYPE_DATA, - pLogotypeIndirectInfo pLogotypeIndirectInfo__mut: PCERT_LOGOTYPE_REFERENCE, -}} -STRUCT!{struct CERT_LOGOTYPE_INFO { - dwLogotypeInfoChoice: DWORD, - u: CERT_LOGOTYPE_INFO_u, -}} -pub type PCERT_LOGOTYPE_INFO = *mut CERT_LOGOTYPE_INFO; -pub const CERT_LOGOTYPE_DIRECT_INFO_CHOICE: DWORD = 1; -pub const CERT_LOGOTYPE_INDIRECT_INFO_CHOICE: DWORD = 2; -STRUCT!{struct CERT_OTHER_LOGOTYPE_INFO { - pszObjId: LPSTR, - LogotypeInfo: CERT_LOGOTYPE_INFO, -}} -pub type PCERT_OTHER_LOGOTYPE_INFO = *mut CERT_OTHER_LOGOTYPE_INFO; -pub const szOID_LOYALTY_OTHER_LOGOTYPE: &'static str = "1.3.6.1.5.5.7.20.1"; -pub const szOID_BACKGROUND_OTHER_LOGOTYPE: &'static str = "1.3.6.1.5.5.7.20.2"; -STRUCT!{struct CERT_LOGOTYPE_EXT_INFO { - cCommunityLogo: DWORD, - rgCommunityLogo: PCERT_LOGOTYPE_INFO, - pIssuerLogo: PCERT_LOGOTYPE_INFO, - pSubjectLogo: PCERT_LOGOTYPE_INFO, - cOtherLogo: DWORD, - rgOtherLogo: PCERT_OTHER_LOGOTYPE_INFO, -}} -pub type PCERT_LOGOTYPE_EXT_INFO = *mut CERT_LOGOTYPE_EXT_INFO; -UNION!{union CERT_BIOMETRIC_DATA_u { - [usize; 1], - dwPredefined dwPredefined_mut: DWORD, - pszObjId pszObjId_mut: LPSTR, -}} -STRUCT!{struct CERT_BIOMETRIC_DATA { - dwTypeOfBiometricDataChoice: DWORD, - u: CERT_BIOMETRIC_DATA_u, - HashedUrl: CERT_HASHED_URL, -}} -pub type PCERT_BIOMETRIC_DATA = *mut CERT_BIOMETRIC_DATA; -pub const CERT_BIOMETRIC_PREDEFINED_DATA_CHOICE: DWORD = 1; -pub const CERT_BIOMETRIC_OID_DATA_CHOICE: DWORD = 2; -pub const CERT_BIOMETRIC_PICTURE_TYPE: DWORD = 0; -pub const CERT_BIOMETRIC_SIGNATURE_TYPE: DWORD = 1; -STRUCT!{struct CERT_BIOMETRIC_EXT_INFO { - cBiometricData: DWORD, - rgBiometricData: PCERT_BIOMETRIC_DATA, -}} -pub type PCERT_BIOMETRIC_EXT_INFO = *mut CERT_BIOMETRIC_EXT_INFO; -STRUCT!{struct OCSP_SIGNATURE_INFO { - SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - Signature: CRYPT_BIT_BLOB, - cCertEncoded: DWORD, - rgCertEncoded: PCERT_BLOB, -}} -pub type POCSP_SIGNATURE_INFO = *mut OCSP_SIGNATURE_INFO; -STRUCT!{struct OCSP_SIGNED_REQUEST_INFO { - ToBeSigned: CRYPT_DER_BLOB, - pOptionalSignatureInfo: POCSP_SIGNATURE_INFO, -}} -pub type POCSP_SIGNED_REQUEST_INFO = *mut OCSP_SIGNED_REQUEST_INFO; -STRUCT!{struct OCSP_CERT_ID { - HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - IssuerNameHash: CRYPT_HASH_BLOB, - IssuerKeyHash: CRYPT_HASH_BLOB, - SerialNumber: CRYPT_INTEGER_BLOB, -}} -pub type POCSP_CERT_ID = *mut OCSP_CERT_ID; -STRUCT!{struct OCSP_REQUEST_ENTRY { - CertId: OCSP_CERT_ID, - cExtension: DWORD, - rgExtension: PCERT_EXTENSION, -}} -pub type POCSP_REQUEST_ENTRY = *mut OCSP_REQUEST_ENTRY; -STRUCT!{struct OCSP_REQUEST_INFO { - dwVersion: DWORD, - pRequestorName: PCERT_ALT_NAME_ENTRY, - cRequestEntry: DWORD, - rgRequestEntry: POCSP_REQUEST_ENTRY, - cExtension: DWORD, - rgExtension: PCERT_EXTENSION, -}} -pub type POCSP_REQUEST_INFO = *mut OCSP_REQUEST_INFO; -pub const OCSP_REQUEST_V1: DWORD = 0; -STRUCT!{struct OCSP_RESPONSE_INFO { - dwStatus: DWORD, - pszObjId: LPSTR, - Value: CRYPT_OBJID_BLOB, -}} -pub type POCSP_RESPONSE_INFO = *mut OCSP_RESPONSE_INFO; -pub const OCSP_SUCCESSFUL_RESPONSE: DWORD = 0; -pub const OCSP_MALFORMED_REQUEST_RESPONSE: DWORD = 1; -pub const OCSP_INTERNAL_ERROR_RESPONSE: DWORD = 2; -pub const OCSP_TRY_LATER_RESPONSE: DWORD = 3; -pub const OCSP_SIG_REQUIRED_RESPONSE: DWORD = 5; -pub const OCSP_UNAUTHORIZED_RESPONSE: DWORD = 6; -pub const szOID_PKIX_OCSP_BASIC_SIGNED_RESPONSE: &'static str = "1.3.6.1.5.5.7.48.1.1"; -STRUCT!{struct OCSP_BASIC_SIGNED_RESPONSE_INFO { - ToBeSigned: CRYPT_DER_BLOB, - SignatureInfo: OCSP_SIGNATURE_INFO, -}} -pub type POCSP_BASIC_SIGNED_RESPONSE_INFO = *mut OCSP_BASIC_SIGNED_RESPONSE_INFO; -STRUCT!{struct OCSP_BASIC_REVOKED_INFO { - RevocationDate: FILETIME, - dwCrlReasonCode: DWORD, -}} -pub type POCSP_BASIC_REVOKED_INFO = *mut OCSP_BASIC_REVOKED_INFO; -UNION!{union OCSP_BASIC_RESPONSE_ENTRY_u { - [usize; 1], - pRevokedInfo pRevokedInfo_mut: POCSP_BASIC_REVOKED_INFO, -}} -STRUCT!{struct OCSP_BASIC_RESPONSE_ENTRY { - CertId: OCSP_CERT_ID, - dwCertStatus: DWORD, - u: OCSP_BASIC_RESPONSE_ENTRY_u, - ThisUpdate: FILETIME, - NextUpdate: FILETIME, - cExtension: DWORD, - rgExtension: PCERT_EXTENSION, -}} -pub type POCSP_BASIC_RESPONSE_ENTRY = *mut OCSP_BASIC_RESPONSE_ENTRY; -pub const OCSP_BASIC_GOOD_CERT_STATUS: DWORD = 0; -pub const OCSP_BASIC_REVOKED_CERT_STATUS: DWORD = 1; -pub const OCSP_BASIC_UNKNOWN_CERT_STATUS: DWORD = 2; -UNION!{union OCSP_BASIC_RESPONSE_INFO_u { - [usize; 2], - ByNameResponderId ByNameResponderId_mut: CERT_NAME_BLOB, - ByKeyResponderId ByKeyResponderId_mut: CRYPT_HASH_BLOB, -}} -STRUCT!{struct OCSP_BASIC_RESPONSE_INFO { - dwVersion: DWORD, - dwResponderIdChoice: DWORD, - u: OCSP_BASIC_RESPONSE_INFO_u, - ProducedAt: FILETIME, - cResponseEntry: DWORD, - rgResponseEntry: POCSP_BASIC_RESPONSE_ENTRY, - cExtension: DWORD, - rgExtension: PCERT_EXTENSION, -}} -pub type POCSP_BASIC_RESPONSE_INFO = *mut OCSP_BASIC_RESPONSE_INFO; -pub const OCSP_BASIC_RESPONSE_V1: DWORD = 0; -pub const OCSP_BASIC_BY_NAME_RESPONDER_ID: DWORD = 1; -pub const OCSP_BASIC_BY_KEY_RESPONDER_ID: DWORD = 2; -STRUCT!{struct CERT_SUPPORTED_ALGORITHM_INFO { - Algorithm: CRYPT_ALGORITHM_IDENTIFIER, - IntendedKeyUsage: CRYPT_BIT_BLOB, - IntendedCertPolicies: CERT_POLICIES_INFO, -}} -pub type PCERT_SUPPORTED_ALGORITHM_INFO = *mut CERT_SUPPORTED_ALGORITHM_INFO; -STRUCT!{struct CERT_TPM_SPECIFICATION_INFO { - pwszFamily: LPWSTR, - dwLevel: DWORD, - dwRevision: DWORD, -}} -pub type PCERT_TPM_SPECIFICATION_INFO = *mut CERT_TPM_SPECIFICATION_INFO; -pub type HCRYPTOIDFUNCSET = *mut c_void; -pub type HCRYPTOIDFUNCADDR = *mut c_void; -pub const CRYPT_OID_ENCODE_OBJECT_FUNC: &'static str = "CryptDllEncodeObject"; -pub const CRYPT_OID_DECODE_OBJECT_FUNC: &'static str = "CryptDllDecodeObject"; -pub const CRYPT_OID_ENCODE_OBJECT_EX_FUNC: &'static str = "CryptDllEncodeObjectEx"; -pub const CRYPT_OID_DECODE_OBJECT_EX_FUNC: &'static str = "CryptDllDecodeObjectEx"; -pub const CRYPT_OID_CREATE_COM_OBJECT_FUNC: &'static str = "CryptDllCreateCOMObject"; -pub const CRYPT_OID_VERIFY_REVOCATION_FUNC: &'static str = "CertDllVerifyRevocation"; -pub const CRYPT_OID_VERIFY_CTL_USAGE_FUNC: &'static str = "CertDllVerifyCTLUsage"; -pub const CRYPT_OID_FORMAT_OBJECT_FUNC: &'static str = "CryptDllFormatObject"; -pub const CRYPT_OID_FIND_OID_INFO_FUNC: &'static str = "CryptDllFindOIDInfo"; -pub const CRYPT_OID_FIND_LOCALIZED_NAME_FUNC: &'static str = "CryptDllFindLocalizedName"; -pub const CRYPT_OID_REGPATH: &'static str = "Software\\Microsoft\\Cryptography\\OID"; -pub const CRYPT_OID_REG_ENCODING_TYPE_PREFIX: &'static str = "EncodingType "; -pub const CRYPT_OID_REG_DLL_VALUE_NAME: &'static str = "Dll"; -pub const CRYPT_OID_REG_FUNC_NAME_VALUE_NAME: &'static str = "FuncName"; -pub const CRYPT_OID_REG_FLAGS_VALUE_NAME: &'static str = "CryptFlags"; -pub const CRYPT_DEFAULT_OID: &'static str = "DEFAULT"; -STRUCT!{struct CRYPT_OID_FUNC_ENTRY { - pszOID: LPCSTR, - pvFuncAddr: *mut c_void, -}} -pub type PCRYPT_OID_FUNC_ENTRY = *mut CRYPT_OID_FUNC_ENTRY; -pub const CRYPT_INSTALL_OID_FUNC_BEFORE_FLAG: DWORD = 1; -extern "system" { - pub fn CryptInstallOIDFunctionAddress( - hModule: HMODULE, - dwEncodingType: DWORD, - pszFuncName: LPCSTR, - cFuncEntry: DWORD, - rgFuncEntry: *const CRYPT_OID_FUNC_ENTRY, - dwFlags: DWORD, - ) -> BOOL; - pub fn CryptInitOIDFunctionSet( - pszFuncName: LPCSTR, - dwFlags: DWORD, - ) -> HCRYPTOIDFUNCSET; - pub fn CryptGetOIDFunctionAddress( - hFuncSet: HCRYPTOIDFUNCSET, - dwEncodingType: DWORD, - pszOID: LPCSTR, - dwFlags: DWORD, - ppvFuncAddr: *mut *mut c_void, - phFuncAddr: *mut HCRYPTOIDFUNCADDR, - ) -> BOOL; -} -pub const CRYPT_GET_INSTALLED_OID_FUNC_FLAG: DWORD = 0x1; -extern "system" { - pub fn CryptGetDefaultOIDDllList( - hFuncSet: HCRYPTOIDFUNCSET, - dwEncodingType: DWORD, - pwszDllList: *mut WCHAR, - pcchDllList: *mut DWORD, - ) -> BOOL; - pub fn CryptGetDefaultOIDFunctionAddress( - hFuncSet: HCRYPTOIDFUNCSET, - dwEncodingType: DWORD, - pwszDll: LPCWSTR, - dwFlags: DWORD, - ppvFuncAddr: *mut *mut c_void, - phFuncAddr: *mut HCRYPTOIDFUNCADDR, - ) -> BOOL; - pub fn CryptFreeOIDFunctionAddress( - hFuncAddr: HCRYPTOIDFUNCADDR, - dwFlags: DWORD, - ) -> BOOL; - pub fn CryptRegisterOIDFunction( - dwEncodingType: DWORD, - pszFuncName: LPCSTR, - pszOID: LPCSTR, - pwszDll: LPCWSTR, - pszOverrideFuncName: LPCSTR, - ) -> BOOL; - pub fn CryptUnregisterOIDFunction( - dwEncodingType: DWORD, - pszFuncName: LPCSTR, - pszOID: LPCSTR, - ) -> BOOL; - pub fn CryptRegisterDefaultOIDFunction( - dwEncodingType: DWORD, - pszFuncName: LPCSTR, - dwIndex: DWORD, - pwszDll: LPCWSTR, - ) -> BOOL; -} -pub const CRYPT_REGISTER_FIRST_INDEX: DWORD = 0; -pub const CRYPT_REGISTER_LAST_INDEX: DWORD = 0xFFFFFFFF; -extern "system" { - pub fn CryptUnregisterDefaultOIDFunction( - dwEncodingType: DWORD, - pszFuncName: LPCSTR, - pwszDll: LPCWSTR, - ) -> BOOL; - pub fn CryptSetOIDFunctionValue( - dwEncodingType: DWORD, - pszFuncName: LPCSTR, - pszOID: LPCSTR, - pwszValueName: LPCWSTR, - dwValueType: DWORD, - pbValueData: *const BYTE, - cbValueData: DWORD, - ) -> BOOL; - pub fn CryptGetOIDFunctionValue( - dwEncodingType: DWORD, - pszFuncName: LPCSTR, - pszOID: LPCSTR, - pwszValueName: LPCWSTR, - pdwValueType: *mut DWORD, - pbValueData: *mut BYTE, - pcbValueData: *mut DWORD, - ) -> BOOL; -} -FN!{stdcall PFN_CRYPT_ENUM_OID_FUNC( - dwEncodingType: DWORD, - pszFuncName: LPCSTR, - pszOID: LPCSTR, - cValue: DWORD, - rgdwValueType: *const DWORD, - rgpwszValueName: *const LPCWSTR, - rgpbValueData: *const *const BYTE, - rgcbValueData: *const DWORD, - pvArg: *mut c_void, -) -> BOOL} -extern "system" { - pub fn CryptEnumOIDFunction( - dwEncodingType: DWORD, - pszFuncName: LPCSTR, - pszOID: LPCSTR, - dwFlags: DWORD, - pvArg: *mut c_void, - pfnEnumOIDFunc: PFN_CRYPT_ENUM_OID_FUNC, - ) -> BOOL; -} -pub const CRYPT_MATCH_ANY_ENCODING_TYPE: DWORD = 0xFFFFFFFF; -pub const CALG_OID_INFO_CNG_ONLY: ALG_ID = 0xFFFFFFFF; -pub const CALG_OID_INFO_PARAMETERS: ALG_ID = 0xFFFFFFFE; -#[inline] -pub fn IS_SPECIAL_OID_INFO_ALGID(Algid: ALG_ID) -> bool { - Algid >= CALG_OID_INFO_PARAMETERS -} -pub const CRYPT_OID_INFO_HASH_PARAMETERS_ALGORITHM: &'static str = "CryptOIDInfoHashParameters"; -pub const CRYPT_OID_INFO_ECC_PARAMETERS_ALGORITHM: &'static str = "CryptOIDInfoECCParameters"; -pub const CRYPT_OID_INFO_MGF1_PARAMETERS_ALGORITHM: &'static str = "CryptOIDInfoMgf1Parameters"; -pub const CRYPT_OID_INFO_NO_SIGN_ALGORITHM: &'static str = "CryptOIDInfoNoSign"; -pub const CRYPT_OID_INFO_OAEP_PARAMETERS_ALGORITHM: &'static str = "CryptOIDInfoOAEPParameters"; -pub const CRYPT_OID_INFO_ECC_WRAP_PARAMETERS_ALGORITHM: &'static str - = "CryptOIDInfoECCWrapParameters"; -pub const CRYPT_OID_INFO_NO_PARAMETERS_ALGORITHM: &'static str = "CryptOIDInfoNoParameters"; -UNION!{union CRYPT_OID_INFO_u { - [u32; 1], - dwValue dwValue_mut: DWORD, - Algid Algid_mut: ALG_ID, - dwLength dwLength_mut: DWORD, -}} -STRUCT!{struct CRYPT_OID_INFO { - cbSize: DWORD, - oszOID: LPCSTR, - pwszName: LPCWSTR, - dwGroupId: DWORD, - u: CRYPT_OID_INFO_u, - ExtraInfo: CRYPT_DATA_BLOB, - pwszCNGAlgid: LPCWSTR, - pwszCNGExtraAlgid: LPCWSTR, -}} -pub type PCRYPT_OID_INFO = *mut CRYPT_OID_INFO; -pub type PCCRYPT_OID_INFO = *const CRYPT_OID_INFO; -pub const CRYPT_HASH_ALG_OID_GROUP_ID: DWORD = 1; -pub const CRYPT_ENCRYPT_ALG_OID_GROUP_ID: DWORD = 2; -pub const CRYPT_PUBKEY_ALG_OID_GROUP_ID: DWORD = 3; -pub const CRYPT_SIGN_ALG_OID_GROUP_ID: DWORD = 4; -pub const CRYPT_RDN_ATTR_OID_GROUP_ID: DWORD = 5; -pub const CRYPT_EXT_OR_ATTR_OID_GROUP_ID: DWORD = 6; -pub const CRYPT_ENHKEY_USAGE_OID_GROUP_ID: DWORD = 7; -pub const CRYPT_POLICY_OID_GROUP_ID: DWORD = 8; -pub const CRYPT_TEMPLATE_OID_GROUP_ID: DWORD = 9; -pub const CRYPT_KDF_OID_GROUP_ID: DWORD = 10; -pub const CRYPT_LAST_OID_GROUP_ID: DWORD = 10; -pub const CRYPT_FIRST_ALG_OID_GROUP_ID: DWORD = CRYPT_HASH_ALG_OID_GROUP_ID; -pub const CRYPT_LAST_ALG_OID_GROUP_ID: DWORD = CRYPT_SIGN_ALG_OID_GROUP_ID; -pub const CRYPT_OID_INHIBIT_SIGNATURE_FORMAT_FLAG: DWORD = 0x00000001; -pub const CRYPT_OID_USE_PUBKEY_PARA_FOR_PKCS7_FLAG: DWORD = 0x00000002; -pub const CRYPT_OID_NO_NULL_ALGORITHM_PARA_FLAG: DWORD = 0x00000004; -pub const CRYPT_OID_PUBKEY_SIGN_ONLY_FLAG: DWORD = 0x80000000; -pub const CRYPT_OID_PUBKEY_ENCRYPT_ONLY_FLAG: DWORD = 0x40000000; -pub const CRYPT_OID_USE_CURVE_NAME_FOR_ENCODE_FLAG: DWORD = 0x20000000; -pub const CRYPT_OID_USE_CURVE_PARAMETERS_FOR_ENCODE_FLAG: DWORD = 0x10000000; -extern "system" { - pub fn CryptFindOIDInfo( - dwKeyType: DWORD, - pvKey: *mut c_void, - dwGroupId: DWORD, - ) -> PCCRYPT_OID_INFO; -} -pub const CRYPT_OID_INFO_OID_KEY: DWORD = 1; -pub const CRYPT_OID_INFO_NAME_KEY: DWORD = 2; -pub const CRYPT_OID_INFO_ALGID_KEY: DWORD = 3; -pub const CRYPT_OID_INFO_SIGN_KEY: DWORD = 4; -pub const CRYPT_OID_INFO_CNG_ALGID_KEY: DWORD = 5; -pub const CRYPT_OID_INFO_CNG_SIGN_KEY: DWORD = 6; -pub const CRYPT_OID_INFO_OID_KEY_FLAGS_MASK: DWORD = 0xFFFF0000; -pub const CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG: DWORD = 0x80000000; -pub const CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG: DWORD = 0x40000000; -pub const CRYPT_OID_DISABLE_SEARCH_DS_FLAG: DWORD = 0x80000000; -pub const CRYPT_OID_PREFER_CNG_ALGID_FLAG: DWORD = 0x40000000; -pub const CRYPT_OID_INFO_OID_GROUP_BIT_LEN_MASK: DWORD = 0x0FFF0000; -pub const CRYPT_OID_INFO_OID_GROUP_BIT_LEN_SHIFT: DWORD = 16; -extern "system" { - pub fn CryptRegisterOIDInfo( - pInfo: PCCRYPT_OID_INFO, - dwFlags: DWORD, - ) -> BOOL; - pub fn CryptUnregisterOIDInfo( - pInfo: PCCRYPT_OID_INFO, - ) -> BOOL; -} -FN!{stdcall PFN_CRYPT_ENUM_OID_INFO( - pInfo: PCCRYPT_OID_INFO, - pvArg: *mut c_void, -) -> BOOL} -extern "system" { - pub fn CryptEnumOIDInfo( - dwGroupId: DWORD, - dwFlags: DWORD, - pvArg: *mut c_void, - pfnEnumOIDInfo: PFN_CRYPT_ENUM_OID_INFO, - ) -> BOOL; - pub fn CryptFindLocalizedName( - pwszCryptName: LPCWSTR, - ) -> LPCWSTR; -} -pub const CRYPT_LOCALIZED_NAME_ENCODING_TYPE: DWORD = 0; -pub const CRYPT_LOCALIZED_NAME_OID: &'static str = "LocalizedNames"; -STRUCT!{struct CERT_STRONG_SIGN_SERIALIZED_INFO { - dwFlags: DWORD, - pwszCNGSignHashAlgids: LPWSTR, - pwszCNGPubKeyMinBitLengths: LPWSTR, -}} -pub type PCERT_STRONG_SIGN_SERIALIZED_INFO = *mut CERT_STRONG_SIGN_SERIALIZED_INFO; -pub const CERT_STRONG_SIGN_ECDSA_ALGORITHM: &'static str = "ECDSA"; -UNION!{union CERT_STRONG_SIGN_PARA_u { - [usize; 1], - pvInfo pvInfo_mut: *mut c_void, - pSerializedInfo pSerializedInfo_mut: PCERT_STRONG_SIGN_SERIALIZED_INFO, - pszOID pszOID_mut: LPSTR, -}} -STRUCT!{struct CERT_STRONG_SIGN_PARA { - cbSize: DWORD, - dwInfoChoice: DWORD, - u: CERT_STRONG_SIGN_PARA_u, -}} -pub type PCERT_STRONG_SIGN_PARA = *mut CERT_STRONG_SIGN_PARA; -pub type PCCERT_STRONG_SIGN_PARA = *const CERT_STRONG_SIGN_PARA; -pub const CERT_STRONG_SIGN_SERIALIZED_INFO_CHOICE: DWORD = 1; -pub const CERT_STRONG_SIGN_OID_INFO_CHOICE: DWORD = 2; -pub const CERT_STRONG_SIGN_ENABLE_CRL_CHECK: DWORD = 0x1; -pub const CERT_STRONG_SIGN_ENABLE_OCSP_CHECK: DWORD = 0x2; -pub const szOID_CERT_STRONG_SIGN_OS_PREFIX: &'static str = "1.3.6.1.4.1.311.72.1."; -pub const szOID_CERT_STRONG_SIGN_OS_1: &'static str = "1.3.6.1.4.1.311.72.1.1"; -pub const szOID_CERT_STRONG_SIGN_OS_CURRENT: &'static str = szOID_CERT_STRONG_SIGN_OS_1; -pub const szOID_CERT_STRONG_KEY_OS_PREFIX: &'static str = "1.3.6.1.4.1.311.72.2."; -pub const szOID_CERT_STRONG_KEY_OS_1: &'static str = "1.3.6.1.4.1.311.72.2.1"; -pub const szOID_CERT_STRONG_KEY_OS_CURRENT: &'static str = szOID_CERT_STRONG_KEY_OS_1; -pub type HCRYPTMSG = *mut c_void; -pub const szOID_PKCS_7_DATA: &'static str = "1.2.840.113549.1.7.1"; -pub const szOID_PKCS_7_SIGNED: &'static str = "1.2.840.113549.1.7.2"; -pub const szOID_PKCS_7_ENVELOPED: &'static str = "1.2.840.113549.1.7.3"; -pub const szOID_PKCS_7_SIGNEDANDENVELOPED: &'static str = "1.2.840.113549.1.7.4"; -pub const szOID_PKCS_7_DIGESTED: &'static str = "1.2.840.113549.1.7.5"; -pub const szOID_PKCS_7_ENCRYPTED: &'static str = "1.2.840.113549.1.7.6"; -pub const szOID_PKCS_9_CONTENT_TYPE: &'static str = "1.2.840.113549.1.9.3"; -pub const szOID_PKCS_9_MESSAGE_DIGEST: &'static str = "1.2.840.113549.1.9.4"; -pub const CMSG_DATA: DWORD = 1; -pub const CMSG_SIGNED: DWORD = 2; -pub const CMSG_ENVELOPED: DWORD = 3; -pub const CMSG_SIGNED_AND_ENVELOPED: DWORD = 4; -pub const CMSG_HASHED: DWORD = 5; -pub const CMSG_ENCRYPTED: DWORD = 6; -pub const CMSG_ALL_FLAGS: DWORD = !0; -pub const CMSG_DATA_FLAG: DWORD = 1 << CMSG_DATA; -pub const CMSG_SIGNED_FLAG: DWORD = 1 << CMSG_SIGNED; -pub const CMSG_ENVELOPED_FLAG: DWORD = 1 << CMSG_ENVELOPED; -pub const CMSG_SIGNED_AND_ENVELOPED_FLAG: DWORD = 1 << CMSG_SIGNED_AND_ENVELOPED; -pub const CMSG_HASHED_FLAG: DWORD = 1 << CMSG_HASHED; -pub const CMSG_ENCRYPTED_FLAG: DWORD = 1 << CMSG_ENCRYPTED; -STRUCT!{struct CERT_ISSUER_SERIAL_NUMBER { - Issuer: CERT_NAME_BLOB, - SerialNumber: CRYPT_INTEGER_BLOB, -}} -pub type PCERT_ISSUER_SERIAL_NUMBER = *mut CERT_ISSUER_SERIAL_NUMBER; -UNION!{union CERT_ID_u { - [usize; 4], - IssuerSerialNumber IssuerSerialNumber_mut: CERT_ISSUER_SERIAL_NUMBER, - KeyId KeyId_mut: CRYPT_HASH_BLOB, - HashId HashId_mut: CRYPT_HASH_BLOB, -}} -STRUCT!{struct CERT_ID { - dwIdChoice: DWORD, - u: CERT_ID_u, -}} -pub type PCERT_ID = *mut CERT_ID; -pub const CERT_ID_ISSUER_SERIAL_NUMBER: DWORD = 1; -pub const CERT_ID_KEY_IDENTIFIER: DWORD = 2; -pub const CERT_ID_SHA1_HASH: DWORD = 3; -UNION!{union CMSG_SIGNER_ENCODE_INFO_u { - [usize; 1], - hCryptProv hCryptProv_mut: HCRYPTPROV, - hNCryptKey hNCryptKey_mut: NCRYPT_KEY_HANDLE, - hBCryptKey hBCryptKey_mut: BCRYPT_KEY_HANDLE, -}} -STRUCT!{struct CMSG_SIGNER_ENCODE_INFO { - cbSize: DWORD, - pCertInfo: PCERT_INFO, - u: CMSG_SIGNER_ENCODE_INFO_u, - dwKeySpec: DWORD, - HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - pvHashAuxInfo: *mut c_void, - cAuthAttr: DWORD, - rgAuthAttr: PCRYPT_ATTRIBUTE, - cUnauthAttr: DWORD, - rgUnauthAttr: PCRYPT_ATTRIBUTE, - SignerId: CERT_ID, - HashEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - pvHashEncryptionAuxInfo: *mut c_void, -}} -pub type PCMSG_SIGNER_ENCODE_INFO = *mut CMSG_SIGNER_ENCODE_INFO; -STRUCT!{struct CMSG_SIGNED_ENCODE_INFO { - cbSize: DWORD, - cSigners: DWORD, - rgSigners: PCMSG_SIGNER_ENCODE_INFO, - cCertEncoded: DWORD, - rgCertEncoded: PCERT_BLOB, - cCrlEncoded: DWORD, - rgCrlEncoded: PCRL_BLOB, - cAttrCertEncoded: DWORD, - rgAttrCertEncoded: PCERT_BLOB, -}} -pub type PCMSG_SIGNED_ENCODE_INFO = *mut CMSG_SIGNED_ENCODE_INFO; -pub type PCMSG_RECIPIENT_ENCODE_INFO = *mut CMSG_RECIPIENT_ENCODE_INFO; -STRUCT!{struct CMSG_ENVELOPED_ENCODE_INFO { - cbSize: DWORD, - hCryptProv: HCRYPTPROV_LEGACY, - ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - pvEncryptionAuxInfo: *mut c_void, - cRecipients: DWORD, - rgpRecipients: *mut PCERT_INFO, - rgCmsRecipients: PCMSG_RECIPIENT_ENCODE_INFO, - cCertEncoded: DWORD, - rgCertEncoded: PCERT_BLOB, - cCrlEncoded: DWORD, - rgCrlEncoded: PCRL_BLOB, - cAttrCertEncoded: DWORD, - rgAttrCertEncoded: PCERT_BLOB, - cUnprotectedAttr: DWORD, - rgUnprotectedAttr: PCRYPT_ATTRIBUTE, -}} -pub type PCMSG_ENVELOPED_ENCODE_INFO = *mut CMSG_ENVELOPED_ENCODE_INFO; -STRUCT!{struct CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO { - cbSize: DWORD, - KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - pvKeyEncryptionAuxInfo: *mut c_void, - hCryptProv: HCRYPTPROV_LEGACY, - RecipientPublicKey: CRYPT_BIT_BLOB, - RecipientId: CERT_ID, -}} -pub type PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO = *mut CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO; -STRUCT!{struct CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO { - cbSize: DWORD, - RecipientPublicKey: CRYPT_BIT_BLOB, - RecipientId: CERT_ID, - Date: FILETIME, - pOtherAttr: PCRYPT_ATTRIBUTE_TYPE_VALUE, -}} -pub type PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO = *mut CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO; -UNION!{union CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO_u { - [usize; 1], - pEphemeralAlgorithm pEphemeralAlgorithm_mut: PCRYPT_ALGORITHM_IDENTIFIER, - pSenderId pSenderId_mut: PCERT_ID, -}} -STRUCT!{struct CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO { - cbSize: DWORD, - KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - pvKeyEncryptionAuxInfo: *mut c_void, - KeyWrapAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - pvKeyWrapAuxInfo: *mut c_void, - hCryptProv: HCRYPTPROV_LEGACY, - dwKeySpec: DWORD, - dwKeyChoice: DWORD, - u: CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO_u, - UserKeyingMaterial: CRYPT_DATA_BLOB, - cRecipientEncryptedKeys: DWORD, - rgpRecipientEncryptedKeys: *mut PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO, -}} -pub type PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO = *mut CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO; -pub const CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE: DWORD = 1; -pub const CMSG_KEY_AGREE_STATIC_KEY_CHOICE: DWORD = 2; -UNION!{union CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO_u { - [usize; 1], - hKeyEncryptionKey hKeyEncryptionKey_mut: HCRYPTKEY, - pvKeyEncryptionKey pvKeyEncryptionKey_mut: *mut c_void, -}} -STRUCT!{struct CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO { - cbSize: DWORD, - KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - pvKeyEncryptionAuxInfo: *mut c_void, - hCryptProv: HCRYPTPROV, - dwKeyChoice: DWORD, - u: CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO_u, - KeyId: CRYPT_DATA_BLOB, - Date: FILETIME, - pOtherAttr: PCRYPT_ATTRIBUTE_TYPE_VALUE, -}} -pub type PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO = *mut CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO; -pub const CMSG_MAIL_LIST_HANDLE_KEY_CHOICE: DWORD = 1; -UNION!{union CMSG_RECIPIENT_ENCODE_INFO_u { - [usize; 1], - pKeyTrans pKeyTrans_mut: PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO, - pKeyAgree pKeyAgree_mut: PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO, - pMailList pMailList_mut: PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO, -}} -STRUCT!{struct CMSG_RECIPIENT_ENCODE_INFO { - dwRecipientChoice: DWORD, - u: CMSG_RECIPIENT_ENCODE_INFO_u, -}} -pub const CMSG_KEY_TRANS_RECIPIENT: DWORD = 1; -pub const CMSG_KEY_AGREE_RECIPIENT: DWORD = 2; -pub const CMSG_MAIL_LIST_RECIPIENT: DWORD = 3; -STRUCT!{struct CMSG_RC2_AUX_INFO { - cbSize: DWORD, - dwBitLen: DWORD, -}} -pub type PCMSG_RC2_AUX_INFO = *mut CMSG_RC2_AUX_INFO; -STRUCT!{struct CMSG_SP3_COMPATIBLE_AUX_INFO { - cbSize: DWORD, - dwFlags: DWORD, -}} -pub type PCMSG_SP3_COMPATIBLE_AUX_INFO = *mut CMSG_SP3_COMPATIBLE_AUX_INFO; -pub const CMSG_SP3_COMPATIBLE_ENCRYPT_FLAG: DWORD = 0x80000000; -STRUCT!{struct CMSG_RC4_AUX_INFO { - cbSize: DWORD, - dwBitLen: DWORD, -}} -pub type PCMSG_RC4_AUX_INFO = *mut CMSG_RC4_AUX_INFO; -pub const CMSG_RC4_NO_SALT_FLAG: DWORD = 0x40000000; -STRUCT!{struct CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO { - cbSize: DWORD, - SignedInfo: CMSG_SIGNED_ENCODE_INFO, - EnvelopedInfo: CMSG_ENVELOPED_ENCODE_INFO, -}} -pub type PCMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO = *mut CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO; -STRUCT!{struct CMSG_HASHED_ENCODE_INFO { - cbSize: DWORD, - hCryptProv: HCRYPTPROV_LEGACY, - HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - pvHashAuxInfo: *mut c_void, -}} -pub type PCMSG_HASHED_ENCODE_INFO = *mut CMSG_HASHED_ENCODE_INFO; -STRUCT!{struct CMSG_ENCRYPTED_ENCODE_INFO { - cbSize: DWORD, - ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - pvEncryptionAuxInfo: *mut c_void, -}} -pub type PCMSG_ENCRYPTED_ENCODE_INFO = *mut CMSG_ENCRYPTED_ENCODE_INFO; -FN!{stdcall PFN_CMSG_STREAM_OUTPUT( - pvArg: *const c_void, - pbData: *mut BYTE, - cbData: DWORD, - fFinal: BOOL, -) -> BOOL} -pub const CMSG_INDEFINITE_LENGTH: DWORD = 0xFFFFFFFF; -STRUCT!{struct CMSG_STREAM_INFO { - cbContent: DWORD, - pfnStreamOutput: PFN_CMSG_STREAM_OUTPUT, - pvArg: *mut c_void, -}} -pub type PCMSG_STREAM_INFO = *mut CMSG_STREAM_INFO; -pub const CMSG_BARE_CONTENT_FLAG: DWORD = 0x00000001; -pub const CMSG_LENGTH_ONLY_FLAG: DWORD = 0x00000002; -pub const CMSG_DETACHED_FLAG: DWORD = 0x00000004; -pub const CMSG_AUTHENTICATED_ATTRIBUTES_FLAG: DWORD = 0x00000008; -pub const CMSG_CONTENTS_OCTETS_FLAG: DWORD = 0x00000010; -pub const CMSG_MAX_LENGTH_FLAG: DWORD = 0x00000020; -pub const CMSG_CMS_ENCAPSULATED_CONTENT_FLAG: DWORD = 0x00000040; -pub const CMSG_SIGNED_DATA_NO_SIGN_FLAG: DWORD = 0x00000080; -pub const CMSG_CRYPT_RELEASE_CONTEXT_FLAG: DWORD = 0x00008000; -extern "system" { - pub fn CryptMsgOpenToEncode( - dwMsgEncodingType: DWORD, - dwFlags: DWORD, - dwMsgType: DWORD, - pvMsgEncodeInfo: *mut c_void, - pszInnerContentObjID: LPSTR, - pStreamInfo: PCMSG_STREAM_INFO, - ) -> HCRYPTMSG; - pub fn CryptMsgCalculateEncodedLength( - dwMsgEncodingType: DWORD, - dwFlags: DWORD, - dwMsgType: DWORD, - pvMsgEncodeInfo: *const c_void, - pszInnerContentObjID: LPSTR, - cbData: DWORD, - ) -> DWORD; - pub fn CryptMsgOpenToDecode( - dwMsgEncodingType: DWORD, - dwFlags: DWORD, - dwMsgType: DWORD, - hCryptProv: HCRYPTPROV_LEGACY, - pRecipientInfo: PCERT_INFO, - pStreamInfo: PCMSG_STREAM_INFO, - ) -> HCRYPTMSG; - pub fn CryptMsgDuplicate( - hCryptMsg: HCRYPTMSG, - ) -> HCRYPTMSG; - pub fn CryptMsgClose( - hCryptMsg: HCRYPTMSG, - ) -> BOOL; - pub fn CryptMsgUpdate( - hCryptMsg: HCRYPTMSG, - pbData: *const BYTE, - cbData: DWORD, - fFinal: BOOL, - ) -> BOOL; - pub fn CryptMsgGetParam( - hCryptMsg: HCRYPTMSG, - dwParamType: DWORD, - dwIndex: DWORD, - pvData: *mut c_void, - pcbData: *mut DWORD, - ) -> BOOL; -} -pub const CMSG_TYPE_PARAM: DWORD = 1; -pub const CMSG_CONTENT_PARAM: DWORD = 2; -pub const CMSG_BARE_CONTENT_PARAM: DWORD = 3; -pub const CMSG_INNER_CONTENT_TYPE_PARAM: DWORD = 4; -pub const CMSG_SIGNER_COUNT_PARAM: DWORD = 5; -pub const CMSG_SIGNER_INFO_PARAM: DWORD = 6; -pub const CMSG_SIGNER_CERT_INFO_PARAM: DWORD = 7; -pub const CMSG_SIGNER_HASH_ALGORITHM_PARAM: DWORD = 8; -pub const CMSG_SIGNER_AUTH_ATTR_PARAM: DWORD = 9; -pub const CMSG_SIGNER_UNAUTH_ATTR_PARAM: DWORD = 10; -pub const CMSG_CERT_COUNT_PARAM: DWORD = 11; -pub const CMSG_CERT_PARAM: DWORD = 12; -pub const CMSG_CRL_COUNT_PARAM: DWORD = 13; -pub const CMSG_CRL_PARAM: DWORD = 14; -pub const CMSG_ENVELOPE_ALGORITHM_PARAM: DWORD = 15; -pub const CMSG_RECIPIENT_COUNT_PARAM: DWORD = 17; -pub const CMSG_RECIPIENT_INDEX_PARAM: DWORD = 18; -pub const CMSG_RECIPIENT_INFO_PARAM: DWORD = 19; -pub const CMSG_HASH_ALGORITHM_PARAM: DWORD = 20; -pub const CMSG_HASH_DATA_PARAM: DWORD = 21; -pub const CMSG_COMPUTED_HASH_PARAM: DWORD = 22; -pub const CMSG_ENCRYPT_PARAM: DWORD = 26; -pub const CMSG_ENCRYPTED_DIGEST: DWORD = 27; -pub const CMSG_ENCODED_SIGNER: DWORD = 28; -pub const CMSG_ENCODED_MESSAGE: DWORD = 29; -pub const CMSG_VERSION_PARAM: DWORD = 30; -pub const CMSG_ATTR_CERT_COUNT_PARAM: DWORD = 31; -pub const CMSG_ATTR_CERT_PARAM: DWORD = 32; -pub const CMSG_CMS_RECIPIENT_COUNT_PARAM: DWORD = 33; -pub const CMSG_CMS_RECIPIENT_INDEX_PARAM: DWORD = 34; -pub const CMSG_CMS_RECIPIENT_ENCRYPTED_KEY_INDEX_PARAM: DWORD = 35; -pub const CMSG_CMS_RECIPIENT_INFO_PARAM: DWORD = 36; -pub const CMSG_UNPROTECTED_ATTR_PARAM: DWORD = 37; -pub const CMSG_SIGNER_CERT_ID_PARAM: DWORD = 38; -pub const CMSG_CMS_SIGNER_INFO_PARAM: DWORD = 39; -STRUCT!{struct CMSG_SIGNER_INFO { - dwVersion: DWORD, - Issuer: CERT_NAME_BLOB, - SerialNumber: CRYPT_INTEGER_BLOB, - HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - HashEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - EncryptedHash: CRYPT_DATA_BLOB, - AuthAttrs: CRYPT_ATTRIBUTES, - UnauthAttrs: CRYPT_ATTRIBUTES, -}} -pub type PCMSG_SIGNER_INFO = *mut CMSG_SIGNER_INFO; -STRUCT!{struct CMSG_CMS_SIGNER_INFO { - dwVersion: DWORD, - SignerId: CERT_ID, - HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - HashEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - EncryptedHash: CRYPT_DATA_BLOB, - AuthAttrs: CRYPT_ATTRIBUTES, - UnauthAttrs: CRYPT_ATTRIBUTES, -}} -pub type PCMSG_CMS_SIGNER_INFO = *mut CMSG_CMS_SIGNER_INFO; -pub type CMSG_ATTR = CRYPT_ATTRIBUTES; -pub type PCMSG_ATTR = *mut CRYPT_ATTRIBUTES; -pub const CMSG_SIGNED_DATA_V1: DWORD = 1; -pub const CMSG_SIGNED_DATA_V3: DWORD = 3; -pub const CMSG_SIGNED_DATA_PKCS_1_5_VERSION: DWORD = CMSG_SIGNED_DATA_V1; -pub const CMSG_SIGNED_DATA_CMS_VERSION: DWORD = CMSG_SIGNED_DATA_V3; -pub const CMSG_SIGNER_INFO_V1: DWORD = 1; -pub const CMSG_SIGNER_INFO_V3: DWORD = 3; -pub const CMSG_SIGNER_INFO_PKCS_1_5_VERSION: DWORD = CMSG_SIGNER_INFO_V1; -pub const CMSG_SIGNER_INFO_CMS_VERSION: DWORD = CMSG_SIGNER_INFO_V3; -pub const CMSG_HASHED_DATA_V0: DWORD = 0; -pub const CMSG_HASHED_DATA_V2: DWORD = 2; -pub const CMSG_HASHED_DATA_PKCS_1_5_VERSION: DWORD = CMSG_HASHED_DATA_V0; -pub const CMSG_HASHED_DATA_CMS_VERSION: DWORD = CMSG_HASHED_DATA_V2; -pub const CMSG_ENVELOPED_DATA_V0: DWORD = 0; -pub const CMSG_ENVELOPED_DATA_V2: DWORD = 2; -pub const CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION: DWORD = CMSG_ENVELOPED_DATA_V0; -pub const CMSG_ENVELOPED_DATA_CMS_VERSION: DWORD = CMSG_ENVELOPED_DATA_V2; -STRUCT!{struct CMSG_KEY_TRANS_RECIPIENT_INFO { - dwVersion: DWORD, - RecipientId: CERT_ID, - KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - EncryptedKey: CRYPT_DATA_BLOB, -}} -pub type PCMSG_KEY_TRANS_RECIPIENT_INFO = *mut CMSG_KEY_TRANS_RECIPIENT_INFO; -STRUCT!{struct CMSG_RECIPIENT_ENCRYPTED_KEY_INFO { - RecipientId: CERT_ID, - EncryptedKey: CRYPT_DATA_BLOB, - Date: FILETIME, - pOtherAttr: PCRYPT_ATTRIBUTE_TYPE_VALUE, -}} -pub type PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO = *mut CMSG_RECIPIENT_ENCRYPTED_KEY_INFO; -UNION!{union CMSG_KEY_AGREE_RECIPIENT_INFO_u { - [usize; 6], - OriginatorCertId OriginatorCertId_mut: CERT_ID, - OriginatorPublicKeyInfo OriginatorPublicKeyInfo_mut: CERT_PUBLIC_KEY_INFO, -}} -STRUCT!{struct CMSG_KEY_AGREE_RECIPIENT_INFO { - dwVersion: DWORD, - dwOriginatorChoice: DWORD, - u: CMSG_KEY_AGREE_RECIPIENT_INFO_u, - UserKeyingMaterial: CRYPT_DATA_BLOB, - KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - cRecipientEncryptedKeys: DWORD, - rgpRecipientEncryptedKeys: *mut PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO, -}} -pub type PCMSG_KEY_AGREE_RECIPIENT_INFO = *mut CMSG_KEY_AGREE_RECIPIENT_INFO; -pub const CMSG_KEY_AGREE_ORIGINATOR_CERT: DWORD = 1; -pub const CMSG_KEY_AGREE_ORIGINATOR_PUBLIC_KEY: DWORD = 2; -STRUCT!{struct CMSG_MAIL_LIST_RECIPIENT_INFO { - dwVersion: DWORD, - KeyId: CRYPT_DATA_BLOB, - KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - EncryptedKey: CRYPT_DATA_BLOB, - Date: FILETIME, - pOtherAttr: PCRYPT_ATTRIBUTE_TYPE_VALUE, -}} -pub type PCMSG_MAIL_LIST_RECIPIENT_INFO = *mut CMSG_MAIL_LIST_RECIPIENT_INFO; -UNION!{union CMSG_CMS_RECIPIENT_INFO_u { - [usize; 1], - pKeyTrans pKeyTrans_mut: PCMSG_KEY_TRANS_RECIPIENT_INFO, - pKeyAgree pKeyAgree_mut: PCMSG_KEY_AGREE_RECIPIENT_INFO, - pMailList pMailList_mut: PCMSG_MAIL_LIST_RECIPIENT_INFO, -}} -STRUCT!{struct CMSG_CMS_RECIPIENT_INFO { - dwRecipientChoice: DWORD, - u: CMSG_CMS_RECIPIENT_INFO_u, -}} -pub type PCMSG_CMS_RECIPIENT_INFO = *mut CMSG_CMS_RECIPIENT_INFO; -pub const CMSG_ENVELOPED_RECIPIENT_V0: DWORD = 0; -pub const CMSG_ENVELOPED_RECIPIENT_V2: DWORD = 2; -pub const CMSG_ENVELOPED_RECIPIENT_V3: DWORD = 3; -pub const CMSG_ENVELOPED_RECIPIENT_V4: DWORD = 4; -pub const CMSG_KEY_TRANS_PKCS_1_5_VERSION: DWORD = CMSG_ENVELOPED_RECIPIENT_V0; -pub const CMSG_KEY_TRANS_CMS_VERSION: DWORD = CMSG_ENVELOPED_RECIPIENT_V2; -pub const CMSG_KEY_AGREE_VERSION: DWORD = CMSG_ENVELOPED_RECIPIENT_V3; -pub const CMSG_MAIL_LIST_VERSION: DWORD = CMSG_ENVELOPED_RECIPIENT_V4; -extern "system" { - pub fn CryptMsgControl( - hCryptMsg: HCRYPTMSG, - dwFlags: DWORD, - dwCtrlType: DWORD, - pvCtrlPara: *const c_void, - ) -> BOOL; -} -pub const CMSG_CTRL_VERIFY_SIGNATURE: DWORD = 1; -pub const CMSG_CTRL_DECRYPT: DWORD = 2; -pub const CMSG_CTRL_VERIFY_HASH: DWORD = 5; -pub const CMSG_CTRL_ADD_SIGNER: DWORD = 6; -pub const CMSG_CTRL_DEL_SIGNER: DWORD = 7; -pub const CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR: DWORD = 8; -pub const CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR: DWORD = 9; -pub const CMSG_CTRL_ADD_CERT: DWORD = 10; -pub const CMSG_CTRL_DEL_CERT: DWORD = 11; -pub const CMSG_CTRL_ADD_CRL: DWORD = 12; -pub const CMSG_CTRL_DEL_CRL: DWORD = 13; -pub const CMSG_CTRL_ADD_ATTR_CERT: DWORD = 14; -pub const CMSG_CTRL_DEL_ATTR_CERT: DWORD = 15; -pub const CMSG_CTRL_KEY_TRANS_DECRYPT: DWORD = 16; -pub const CMSG_CTRL_KEY_AGREE_DECRYPT: DWORD = 17; -pub const CMSG_CTRL_MAIL_LIST_DECRYPT: DWORD = 18; -pub const CMSG_CTRL_VERIFY_SIGNATURE_EX: DWORD = 19; -pub const CMSG_CTRL_ADD_CMS_SIGNER_INFO: DWORD = 20; -pub const CMSG_CTRL_ENABLE_STRONG_SIGNATURE: DWORD = 21; -STRUCT!{struct CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA { - cbSize: DWORD, - hCryptProv: HCRYPTPROV_LEGACY, - dwSignerIndex: DWORD, - dwSignerType: DWORD, - pvSigner: *mut c_void, -}} -pub type PCMSG_CTRL_VERIFY_SIGNATURE_EX_PARA = *mut CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA; -pub const CMSG_VERIFY_SIGNER_PUBKEY: DWORD = 1; -pub const CMSG_VERIFY_SIGNER_CERT: DWORD = 2; -pub const CMSG_VERIFY_SIGNER_CHAIN: DWORD = 3; -pub const CMSG_VERIFY_SIGNER_NULL: DWORD = 4; -UNION!{union CMSG_CTRL_DECRYPT_PARA_u { - [usize; 1], - hCryptProv hCryptProv_mut: HCRYPTPROV, - hNCryptKey hNCryptKey_mut: NCRYPT_KEY_HANDLE, -}} -STRUCT!{struct CMSG_CTRL_DECRYPT_PARA { - cbSize: DWORD, - u: CMSG_CTRL_DECRYPT_PARA_u, - dwKeySpec: DWORD, - dwRecipientIndex: DWORD, -}} -pub type PCMSG_CTRL_DECRYPT_PARA = *mut CMSG_CTRL_DECRYPT_PARA; -UNION!{union CMSG_CTRL_KEY_TRANS_DECRYPT_PARA_u { - [usize; 1], - hCryptProv hCryptProv_mut: HCRYPTPROV, - hNCryptKey hNCryptKey_mut: NCRYPT_KEY_HANDLE, -}} -STRUCT!{struct CMSG_CTRL_KEY_TRANS_DECRYPT_PARA { - cbSize: DWORD, - u: CMSG_CTRL_KEY_TRANS_DECRYPT_PARA_u, - dwKeySpec: DWORD, - pKeyTrans: PCMSG_KEY_TRANS_RECIPIENT_INFO, - dwRecipientIndex: DWORD, -}} -pub type PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA = *mut CMSG_CTRL_KEY_TRANS_DECRYPT_PARA; -UNION!{union CMSG_CTRL_KEY_AGREE_DECRYPT_PARA_u { - [usize; 1], - hCryptProv hCryptProv_mut: HCRYPTPROV, - hNCryptKey hNCryptKey_mut: NCRYPT_KEY_HANDLE, -}} -STRUCT!{struct CMSG_CTRL_KEY_AGREE_DECRYPT_PARA { - cbSize: DWORD, - u: CMSG_CTRL_KEY_AGREE_DECRYPT_PARA_u, - dwKeySpec: DWORD, - pKeyAgree: PCMSG_KEY_AGREE_RECIPIENT_INFO, - dwRecipientIndex: DWORD, - dwRecipientEncryptedKeyIndex: DWORD, - OriginatorPublicKey: CRYPT_BIT_BLOB, -}} -pub type PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA = *mut CMSG_CTRL_KEY_AGREE_DECRYPT_PARA; -UNION!{union CMSG_CTRL_MAIL_LIST_DECRYPT_PARA_u { - [usize; 1], - hKeyEncryptionKey hKeyEncryptionKey_mut: HCRYPTKEY, - pvKeyEncryptionKey pvKeyEncryptionKey_mut: *mut c_void, -}} -STRUCT!{struct CMSG_CTRL_MAIL_LIST_DECRYPT_PARA { - cbSize: DWORD, - hCryptProv: HCRYPTPROV, - pMailList: PCMSG_MAIL_LIST_RECIPIENT_INFO, - dwRecipientIndex: DWORD, - dwKeyChoice: DWORD, - u: CMSG_CTRL_MAIL_LIST_DECRYPT_PARA_u, -}} -pub type PCMSG_CTRL_MAIL_LIST_DECRYPT_PARA = *mut CMSG_CTRL_MAIL_LIST_DECRYPT_PARA; -STRUCT!{struct CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA { - cbSize: DWORD, - dwSignerIndex: DWORD, - blob: CRYPT_DATA_BLOB, -}} -pub type PCMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA = *mut CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA; -STRUCT!{struct CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA { - cbSize: DWORD, - dwSignerIndex: DWORD, - dwUnauthAttrIndex: DWORD, -}} -pub type PCMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA = *mut CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA; -extern "system" { - pub fn CryptMsgVerifyCountersignatureEncoded( - hCryptProv: HCRYPTPROV_LEGACY, - dwEncodingType: DWORD, - pbSignerInfo: PBYTE, - cbSignerInfo: DWORD, - pbSignerInfoCountersignature: PBYTE, - cbSignerInfoCountersignature: DWORD, - pciCountersigner: PCERT_INFO, - ) -> BOOL; - pub fn CryptMsgVerifyCountersignatureEncodedEx( - hCryptProv: HCRYPTPROV_LEGACY, - dwEncodingType: DWORD, - pbSignerInfo: PBYTE, - cbSignerInfo: DWORD, - pbSignerInfoCountersignature: PBYTE, - cbSignerInfoCountersignature: DWORD, - dwSignerType: DWORD, - pvSigner: *mut c_void, - dwFlags: DWORD, - pvExtra: *mut c_void, - ) -> BOOL; -} -pub const CMSG_VERIFY_COUNTER_SIGN_ENABLE_STRONG_FLAG: DWORD = 0x00000001; -extern "system" { - pub fn CryptMsgCountersign( - hCryptMsg: HCRYPTMSG, - dwIndex: DWORD, - cCountersigners: DWORD, - rgCountersigners: PCMSG_SIGNER_ENCODE_INFO, - ) -> BOOL; - pub fn CryptMsgCountersignEncoded( - dwEncodingType: DWORD, - pbSignerInfo: PBYTE, - cbSignerInfo: DWORD, - cCountersigners: DWORD, - rgCountersigners: PCMSG_SIGNER_ENCODE_INFO, - pbCountersignature: PBYTE, - pcbCountersignature: PDWORD, - ) -> BOOL; -} -FN!{stdcall PFN_CMSG_ALLOC( - cb: size_t, -) -> ()} -FN!{stdcall PFN_CMSG_FREE( - pv: *mut c_void, -) -> ()} -pub const CMSG_OID_GEN_ENCRYPT_KEY_FUNC: &'static str = "CryptMsgDllGenEncryptKey"; -FN!{stdcall PFN_CMSG_GEN_ENCRYPT_KEY( - phCryptProv: *mut HCRYPTPROV, - paiEncrypt: PCRYPT_ALGORITHM_IDENTIFIER, - pvEncryptAuxInfo: PVOID, - pPublicKeyInfo: PCERT_PUBLIC_KEY_INFO, - pfnAlloc: PFN_CMSG_ALLOC, - phEncryptKey: *mut HCRYPTKEY, - ppbEncryptParameters: *mut PBYTE, - pcbEncryptParameters: PDWORD, -) -> BOOL} -pub const CMSG_OID_EXPORT_ENCRYPT_KEY_FUNC: &'static str = "CryptMsgDllExportEncryptKey"; -FN!{stdcall PFN_CMSG_EXPORT_ENCRYPT_KEY( - hCryptProv: HCRYPTPROV, - hEncryptKey: HCRYPTKEY, - pPublicKeyInfo: PCERT_PUBLIC_KEY_INFO, - pbData: PBYTE, - pcbData: PDWORD, -) -> BOOL} -pub const CMSG_OID_IMPORT_ENCRYPT_KEY_FUNC: &'static str = "CryptMsgDllImportEncryptKey"; -FN!{stdcall PFN_CMSG_IMPORT_ENCRYPT_KEY( - hCryptProv: HCRYPTPROV, - dwKeySpec: DWORD, - paiEncrypt: PCRYPT_ALGORITHM_IDENTIFIER, - paiPubKey: PCRYPT_ALGORITHM_IDENTIFIER, - pbEncodedKey: PBYTE, - cbEncodedKey: DWORD, - phEncryptKey: *mut HCRYPTKEY, -) -> BOOL} -pub const CMSG_DEFAULT_INSTALLABLE_FUNC_OID: LPCSTR = 1 as LPCSTR; -UNION!{union CMSG_CONTENT_ENCRYPT_INFO_u { - [usize; 1], - hContentEncryptKey hContentEncryptKey_mut: HCRYPTKEY, - hCNGContentEncryptKey hCNGContentEncryptKey_mut: BCRYPT_KEY_HANDLE, -}} -STRUCT!{struct CMSG_CONTENT_ENCRYPT_INFO { - cbSize: DWORD, - hCryptProv: HCRYPTPROV_LEGACY, - ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - pvEncryptionAuxInfo: *mut c_void, - cRecipients: DWORD, - rgCmsRecipients: PCMSG_RECIPIENT_ENCODE_INFO, - pfnAlloc: PFN_CMSG_ALLOC, - pfnFree: PFN_CMSG_FREE, - dwEncryptFlags: DWORD, - u: CMSG_CONTENT_ENCRYPT_INFO_u, - dwFlags: DWORD, - fCNG: BOOL, - pbCNGContentEncryptKeyObject: *mut BYTE, - pbContentEncryptKey: *mut BYTE, - cbContentEncryptKey: DWORD, -}} -pub type PCMSG_CONTENT_ENCRYPT_INFO = *mut CMSG_CONTENT_ENCRYPT_INFO; -pub const CMSG_CONTENT_ENCRYPT_PAD_ENCODED_LEN_FLAG: DWORD = 0x00000001; -pub const CMSG_CONTENT_ENCRYPT_FREE_PARA_FLAG: DWORD = 0x00000001; -pub const CMSG_CONTENT_ENCRYPT_FREE_OBJID_FLAG: DWORD = 0x00000002; -pub const CMSG_CONTENT_ENCRYPT_RELEASE_CONTEXT_FLAG: DWORD = 0x00008000; -pub const CMSG_OID_GEN_CONTENT_ENCRYPT_KEY_FUNC: &'static str = "CryptMsgDllGenContentEncryptKey"; -pub const CMSG_OID_CAPI1_GEN_CONTENT_ENCRYPT_KEY_FUNC: &'static str - = CMSG_OID_GEN_CONTENT_ENCRYPT_KEY_FUNC; -FN!{stdcall PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY( - pContentEncryptInfo: PCMSG_CONTENT_ENCRYPT_INFO, - dwFlags: DWORD, - pvReserved: *mut c_void, -) -> BOOL} -pub const CMSG_OID_CNG_GEN_CONTENT_ENCRYPT_KEY_FUNC: &'static str - = "CryptMsgDllCNGGenContentEncryptKey"; -STRUCT!{struct CMSG_KEY_TRANS_ENCRYPT_INFO { - cbSize: DWORD, - dwRecipientIndex: DWORD, - KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - EncryptedKey: CRYPT_DATA_BLOB, - dwFlags: DWORD, -}} -pub type PCMSG_KEY_TRANS_ENCRYPT_INFO = *mut CMSG_KEY_TRANS_ENCRYPT_INFO; -pub const CMSG_KEY_TRANS_ENCRYPT_FREE_PARA_FLAG: DWORD = 0x00000001; -pub const CMSG_KEY_TRANS_ENCRYPT_FREE_OBJID_FLAG: DWORD = 0x00000002; -pub const CMSG_OID_EXPORT_KEY_TRANS_FUNC: &'static str = "CryptMsgDllExportKeyTrans"; -pub const CMSG_OID_CAPI1_EXPORT_KEY_TRANS_FUNC: &'static str = CMSG_OID_EXPORT_KEY_TRANS_FUNC; -FN!{stdcall PFN_CMSG_EXPORT_KEY_TRANS( - pContentEncryptInfo: PCMSG_CONTENT_ENCRYPT_INFO, - pKeyTransEncodeInfo: PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO, - pKeyTransEncryptInfo: PCMSG_KEY_TRANS_ENCRYPT_INFO, - dwFlags: DWORD, - pvReserved: *mut c_void, -) -> BOOL} -pub const CMSG_OID_CNG_EXPORT_KEY_TRANS_FUNC: &'static str = "CryptMsgDllCNGExportKeyTrans"; -STRUCT!{struct CMSG_KEY_AGREE_KEY_ENCRYPT_INFO { - cbSize: DWORD, - EncryptedKey: CRYPT_DATA_BLOB, -}} -pub type PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO = *mut CMSG_KEY_AGREE_KEY_ENCRYPT_INFO; -UNION!{union CMSG_KEY_AGREE_ENCRYPT_INFO_u { - [usize; 6], - OriginatorCertId OriginatorCertId_mut: CERT_ID, - OriginatorPublicKeyInfo OriginatorPublicKeyInfo_mut: CERT_PUBLIC_KEY_INFO, -}} -STRUCT!{struct CMSG_KEY_AGREE_ENCRYPT_INFO { - cbSize: DWORD, - dwRecipientIndex: DWORD, - KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - UserKeyingMaterial: CRYPT_DATA_BLOB, - dwOriginatorChoice: DWORD, - u: CMSG_KEY_AGREE_ENCRYPT_INFO_u, - cKeyAgreeKeyEncryptInfo: DWORD, - rgpKeyAgreeKeyEncryptInfo: *mut PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO, - dwFlags: DWORD, -}} -pub type PCMSG_KEY_AGREE_ENCRYPT_INFO = *mut CMSG_KEY_AGREE_ENCRYPT_INFO; -pub const CMSG_KEY_AGREE_ENCRYPT_FREE_PARA_FLAG: DWORD = 0x00000001; -pub const CMSG_KEY_AGREE_ENCRYPT_FREE_MATERIAL_FLAG: DWORD = 0x00000002; -pub const CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_ALG_FLAG: DWORD = 0x00000004; -pub const CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_PARA_FLAG: DWORD = 0x00000008; -pub const CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_BITS_FLAG: DWORD = 0x00000010; -pub const CMSG_KEY_AGREE_ENCRYPT_FREE_OBJID_FLAG: DWORD = 0x00000020; -pub const CMSG_OID_EXPORT_KEY_AGREE_FUNC: &'static str = "CryptMsgDllExportKeyAgree"; -pub const CMSG_OID_CAPI1_EXPORT_KEY_AGREE_FUNC: &'static str = CMSG_OID_EXPORT_KEY_AGREE_FUNC; -FN!{stdcall PFN_CMSG_EXPORT_KEY_AGREE( - pContentEncryptInfo: PCMSG_CONTENT_ENCRYPT_INFO, - pKeyAgreeEncodeInfo: PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO, - pKeyAgreeEncryptInfo: PCMSG_KEY_AGREE_ENCRYPT_INFO, - dwFlags: DWORD, - pvReserved: *mut c_void, -) -> BOOL} -pub const CMSG_OID_CNG_EXPORT_KEY_AGREE_FUNC: &'static str = "CryptMsgDllCNGExportKeyAgree"; -STRUCT!{struct CMSG_MAIL_LIST_ENCRYPT_INFO { - cbSize: DWORD, - dwRecipientIndex: DWORD, - KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - EncryptedKey: CRYPT_DATA_BLOB, - dwFlags: DWORD, -}} -pub type PCMSG_MAIL_LIST_ENCRYPT_INFO = *mut CMSG_MAIL_LIST_ENCRYPT_INFO; -pub const CMSG_MAIL_LIST_ENCRYPT_FREE_PARA_FLAG: DWORD = 0x00000001; -pub const CMSG_MAIL_LIST_ENCRYPT_FREE_OBJID_FLAG: DWORD = 0x00000002; -pub const CMSG_OID_EXPORT_MAIL_LIST_FUNC: &'static str = "CryptMsgDllExportMailList"; -pub const CMSG_OID_CAPI1_EXPORT_MAIL_LIST_FUNC: &'static str = CMSG_OID_EXPORT_MAIL_LIST_FUNC; -FN!{stdcall PFN_CMSG_EXPORT_MAIL_LIST( - pContentEncryptInfo: PCMSG_CONTENT_ENCRYPT_INFO, - pMailListEncodeInfo: PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO, - pMailListEncryptInfo: PCMSG_MAIL_LIST_ENCRYPT_INFO, - dwFlags: DWORD, - pvReserved: *mut c_void, -) -> BOOL} -pub const CMSG_OID_IMPORT_KEY_TRANS_FUNC: &'static str = "CryptMsgDllImportKeyTrans"; -pub const CMSG_OID_CAPI1_IMPORT_KEY_TRANS_FUNC: &'static str = CMSG_OID_IMPORT_KEY_TRANS_FUNC; -FN!{stdcall PFN_CMSG_IMPORT_KEY_TRANS( - pContentEncryptionAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, - pKeyTransDecryptPara: PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA, - dwFlags: DWORD, - pvReserved: *mut c_void, - phContentEncryptKey: *mut HCRYPTKEY, -) -> BOOL} -pub const CMSG_OID_IMPORT_KEY_AGREE_FUNC: &'static str = "CryptMsgDllImportKeyAgree"; -pub const CMSG_OID_CAPI1_IMPORT_KEY_AGREE_FUNC: &'static str = CMSG_OID_IMPORT_KEY_AGREE_FUNC; -FN!{stdcall PFN_CMSG_IMPORT_KEY_AGREE( - pContentEncryptionAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, - pKeyAgreeDecryptPara: PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA, - dwFlags: DWORD, - pvReserved: *mut c_void, - phContentEncryptKey: *mut HCRYPTKEY, -) -> BOOL} -pub const CMSG_OID_IMPORT_MAIL_LIST_FUNC: &'static str = "CryptMsgDllImportMailList"; -pub const CMSG_OID_CAPI1_IMPORT_MAIL_LIST_FUNC: &'static str = CMSG_OID_IMPORT_MAIL_LIST_FUNC; -FN!{stdcall PFN_CMSG_IMPORT_MAIL_LIST( - pContentEncryptionAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, - pMailListDecryptPara: PCMSG_CTRL_MAIL_LIST_DECRYPT_PARA, - dwFlags: DWORD, - pvReserved: *mut c_void, - phContentEncryptKey: *mut HCRYPTKEY, -) -> BOOL} -STRUCT!{struct CMSG_CNG_CONTENT_DECRYPT_INFO { - cbSize: DWORD, - ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - pfnAlloc: PFN_CMSG_ALLOC, - pfnFree: PFN_CMSG_FREE, - hNCryptKey: NCRYPT_KEY_HANDLE, - pbContentEncryptKey: *mut BYTE, - cbContentEncryptKey: DWORD, - hCNGContentEncryptKey: BCRYPT_KEY_HANDLE, - pbCNGContentEncryptKeyObject: *mut BYTE, -}} -pub type PCMSG_CNG_CONTENT_DECRYPT_INFO = *mut CMSG_CNG_CONTENT_DECRYPT_INFO; -pub const CMSG_OID_CNG_IMPORT_KEY_TRANS_FUNC: &'static str = "CryptMsgDllCNGImportKeyTrans"; -FN!{stdcall PFN_CMSG_CNG_IMPORT_KEY_TRANS( - pCNGContentDecryptInfo: PCMSG_CNG_CONTENT_DECRYPT_INFO, - pKeyTransDecryptPara: PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA, - dwFlags: DWORD, - pvReserved: *mut c_void, -) -> BOOL} -pub const CMSG_OID_CNG_IMPORT_KEY_AGREE_FUNC: &'static str = "CryptMsgDllCNGImportKeyAgree"; -FN!{stdcall PFN_CMSG_CNG_IMPORT_KEY_AGREE( - pCNGContentDecryptInfo: PCMSG_CNG_CONTENT_DECRYPT_INFO, - pKeyAgreeDecryptPara: PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA, - dwFlags: DWORD, - pvReserved: *mut c_void, -) -> BOOL} -pub const CMSG_OID_CNG_IMPORT_CONTENT_ENCRYPT_KEY_FUNC: &'static str - = "CryptMsgDllCNGImportContentEncryptKey"; -FN!{stdcall PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY( - pCNGContentDecryptInfo: PCMSG_CNG_CONTENT_DECRYPT_INFO, - dwFlags: DWORD, - pvReserved: *mut c_void, -) -> BOOL} -pub type HCERTSTORE = *mut c_void; -STRUCT!{struct CERT_CONTEXT { - dwCertEncodingType: DWORD, - pbCertEncoded: *mut BYTE, - cbCertEncoded: DWORD, - pCertInfo: PCERT_INFO, - hCertStore: HCERTSTORE, -}} -pub type PCERT_CONTEXT = *mut CERT_CONTEXT; -pub type PCCERT_CONTEXT = *const CERT_CONTEXT; -STRUCT!{struct CRL_CONTEXT { - dwCertEncodingType: DWORD, - pbCrlEncoded: *mut BYTE, - cbCrlEncoded: DWORD, - pCrlInfo: PCRL_INFO, - hCertStore: HCERTSTORE, -}} -pub type PCRL_CONTEXT = *mut CRL_CONTEXT; -pub type PCCRL_CONTEXT = *const CRL_CONTEXT; -STRUCT!{struct CTL_CONTEXT { - dwMsgAndCertEncodingType: DWORD, - pbCtlEncoded: *mut BYTE, - cbCtlEncoded: DWORD, - pCtlInfo: PCTL_INFO, - hCertStore: HCERTSTORE, - hCryptMsg: HCRYPTMSG, - pbCtlContent: *mut BYTE, - cbCtlContent: DWORD, -}} -pub type PCTL_CONTEXT = *mut CTL_CONTEXT; -pub type PCCTL_CONTEXT = *const CTL_CONTEXT; -pub const CERT_KEY_PROV_HANDLE_PROP_ID: DWORD = 1; -pub const CERT_KEY_PROV_INFO_PROP_ID: DWORD = 2; -pub const CERT_SHA1_HASH_PROP_ID: DWORD = 3; -pub const CERT_MD5_HASH_PROP_ID: DWORD = 4; -pub const CERT_HASH_PROP_ID: DWORD = CERT_SHA1_HASH_PROP_ID; -pub const CERT_KEY_CONTEXT_PROP_ID: DWORD = 5; -pub const CERT_KEY_SPEC_PROP_ID: DWORD = 6; -pub const CERT_IE30_RESERVED_PROP_ID: DWORD = 7; -pub const CERT_PUBKEY_HASH_RESERVED_PROP_ID: DWORD = 8; -pub const CERT_ENHKEY_USAGE_PROP_ID: DWORD = 9; -pub const CERT_CTL_USAGE_PROP_ID: DWORD = CERT_ENHKEY_USAGE_PROP_ID; -pub const CERT_NEXT_UPDATE_LOCATION_PROP_ID: DWORD = 10; -pub const CERT_FRIENDLY_NAME_PROP_ID: DWORD = 11; -pub const CERT_PVK_FILE_PROP_ID: DWORD = 12; -pub const CERT_DESCRIPTION_PROP_ID: DWORD = 13; -pub const CERT_ACCESS_STATE_PROP_ID: DWORD = 14; -pub const CERT_SIGNATURE_HASH_PROP_ID: DWORD = 15; -pub const CERT_SMART_CARD_DATA_PROP_ID: DWORD = 16; -pub const CERT_EFS_PROP_ID: DWORD = 17; -pub const CERT_FORTEZZA_DATA_PROP_ID: DWORD = 18; -pub const CERT_ARCHIVED_PROP_ID: DWORD = 19; -pub const CERT_KEY_IDENTIFIER_PROP_ID: DWORD = 20; -pub const CERT_AUTO_ENROLL_PROP_ID: DWORD = 21; -pub const CERT_PUBKEY_ALG_PARA_PROP_ID: DWORD = 22; -pub const CERT_CROSS_CERT_DIST_POINTS_PROP_ID: DWORD = 23; -pub const CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID: DWORD = 24; -pub const CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID: DWORD = 25; -pub const CERT_ENROLLMENT_PROP_ID: DWORD = 26; -pub const CERT_DATE_STAMP_PROP_ID: DWORD = 27; -pub const CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID: DWORD = 28; -pub const CERT_SUBJECT_NAME_MD5_HASH_PROP_ID: DWORD = 29; -pub const CERT_EXTENDED_ERROR_INFO_PROP_ID: DWORD = 30; -pub const CERT_RENEWAL_PROP_ID: DWORD = 64; -pub const CERT_ARCHIVED_KEY_HASH_PROP_ID: DWORD = 65; -pub const CERT_AUTO_ENROLL_RETRY_PROP_ID: DWORD = 66; -pub const CERT_AIA_URL_RETRIEVED_PROP_ID: DWORD = 67; -pub const CERT_AUTHORITY_INFO_ACCESS_PROP_ID: DWORD = 68; -pub const CERT_BACKED_UP_PROP_ID: DWORD = 69; -pub const CERT_OCSP_RESPONSE_PROP_ID: DWORD = 70; -pub const CERT_REQUEST_ORIGINATOR_PROP_ID: DWORD = 71; -pub const CERT_SOURCE_LOCATION_PROP_ID: DWORD = 72; -pub const CERT_SOURCE_URL_PROP_ID: DWORD = 73; -pub const CERT_NEW_KEY_PROP_ID: DWORD = 74; -pub const CERT_OCSP_CACHE_PREFIX_PROP_ID: DWORD = 75; -pub const CERT_SMART_CARD_ROOT_INFO_PROP_ID: DWORD = 76; -pub const CERT_NO_AUTO_EXPIRE_CHECK_PROP_ID: DWORD = 77; -pub const CERT_NCRYPT_KEY_HANDLE_PROP_ID: DWORD = 78; -pub const CERT_HCRYPTPROV_OR_NCRYPT_KEY_HANDLE_PROP_ID: DWORD = 79; -pub const CERT_SUBJECT_INFO_ACCESS_PROP_ID: DWORD = 80; -pub const CERT_CA_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID: DWORD = 81; -pub const CERT_CA_DISABLE_CRL_PROP_ID: DWORD = 82; -pub const CERT_ROOT_PROGRAM_CERT_POLICIES_PROP_ID: DWORD = 83; -pub const CERT_ROOT_PROGRAM_NAME_CONSTRAINTS_PROP_ID: DWORD = 84; -pub const CERT_SUBJECT_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID: DWORD = 85; -pub const CERT_SUBJECT_DISABLE_CRL_PROP_ID: DWORD = 86; -pub const CERT_CEP_PROP_ID: DWORD = 87; -pub const CERT_SIGN_HASH_CNG_ALG_PROP_ID: DWORD = 89; -pub const CERT_SCARD_PIN_ID_PROP_ID: DWORD = 90; -pub const CERT_SCARD_PIN_INFO_PROP_ID: DWORD = 91; -pub const CERT_SUBJECT_PUB_KEY_BIT_LENGTH_PROP_ID: DWORD = 92; -pub const CERT_PUB_KEY_CNG_ALG_BIT_LENGTH_PROP_ID: DWORD = 93; -pub const CERT_ISSUER_PUB_KEY_BIT_LENGTH_PROP_ID: DWORD = 94; -pub const CERT_ISSUER_CHAIN_SIGN_HASH_CNG_ALG_PROP_ID: DWORD = 95; -pub const CERT_ISSUER_CHAIN_PUB_KEY_CNG_ALG_BIT_LENGTH_PROP_ID: DWORD = 96; -pub const CERT_NO_EXPIRE_NOTIFICATION_PROP_ID: DWORD = 97; -pub const CERT_AUTH_ROOT_SHA256_HASH_PROP_ID: DWORD = 98; -pub const CERT_NCRYPT_KEY_HANDLE_TRANSFER_PROP_ID: DWORD = 99; -pub const CERT_HCRYPTPROV_TRANSFER_PROP_ID: DWORD = 100; -pub const CERT_SMART_CARD_READER_PROP_ID: DWORD = 101; -pub const CERT_SEND_AS_TRUSTED_ISSUER_PROP_ID: DWORD = 102; -pub const CERT_KEY_REPAIR_ATTEMPTED_PROP_ID: DWORD = 103; -pub const CERT_DISALLOWED_FILETIME_PROP_ID: DWORD = 104; -pub const CERT_ROOT_PROGRAM_CHAIN_POLICIES_PROP_ID: DWORD = 105; -pub const CERT_SMART_CARD_READER_NON_REMOVABLE_PROP_ID: DWORD = 106; -pub const CERT_SHA256_HASH_PROP_ID: DWORD = 107; -pub const CERT_SCEP_SERVER_CERTS_PROP_ID: DWORD = 108; -pub const CERT_SCEP_RA_SIGNATURE_CERT_PROP_ID: DWORD = 109; -pub const CERT_SCEP_RA_ENCRYPTION_CERT_PROP_ID: DWORD = 110; -pub const CERT_SCEP_CA_CERT_PROP_ID: DWORD = 111; -pub const CERT_SCEP_SIGNER_CERT_PROP_ID: DWORD = 112; -pub const CERT_SCEP_NONCE_PROP_ID: DWORD = 113; -pub const CERT_SCEP_ENCRYPT_HASH_CNG_ALG_PROP_ID: DWORD = 114; -pub const CERT_SCEP_FLAGS_PROP_ID: DWORD = 115; -pub const CERT_SCEP_GUID_PROP_ID: DWORD = 116; -pub const CERT_SERIALIZABLE_KEY_CONTEXT_PROP_ID: DWORD = 117; -pub const CERT_ISOLATED_KEY_PROP_ID: DWORD = 118; -pub const CERT_SERIAL_CHAIN_PROP_ID: DWORD = 119; -pub const CERT_KEY_CLASSIFICATION_PROP_ID: DWORD = 120; -pub const CERT_OCSP_MUST_STAPLE_PROP_ID: DWORD = 121; -pub const CERT_DISALLOWED_ENHKEY_USAGE_PROP_ID: DWORD = 122; -pub const CERT_NONCOMPLIANT_ROOT_URL_PROP_ID: DWORD = 123; -pub const CERT_PIN_SHA256_HASH_PROP_ID: DWORD = 124; -pub const CERT_CLR_DELETE_KEY_PROP_ID: DWORD = 125; -pub const CERT_NOT_BEFORE_FILETIME_PROP_ID: DWORD = 126; -pub const CERT_NOT_BEFORE_ENHKEY_USAGE_PROP_ID: DWORD = 127; -pub const CERT_FIRST_RESERVED_PROP_ID: DWORD = 128; -pub const CERT_LAST_RESERVED_PROP_ID: DWORD = 0x00007FFF; -pub const CERT_FIRST_USER_PROP_ID: DWORD = 0x00008000; -pub const CERT_LAST_USER_PROP_ID: DWORD = 0x0000FFFF; -ENUM!{enum CertKeyType { - KeyTypeOther = 0, - KeyTypeVirtualSmartCard = 1, - KeyTypePhysicalSmartCard = 2, - KeyTypePassport = 3, - KeyTypePassportRemote = 4, - KeyTypePassportSmartCard = 5, - KeyTypeHardware = 6, - KeyTypeSoftware = 7, - KeyTypeSelfSigned = 8, -}} -#[inline] -pub fn IS_CERT_HASH_PROP_ID(X: DWORD) -> bool { - CERT_SHA1_HASH_PROP_ID == X || CERT_MD5_HASH_PROP_ID == X || CERT_SHA256_HASH_PROP_ID == X - || CERT_SIGNATURE_HASH_PROP_ID == X -} -#[inline] -pub fn IS_PUBKEY_HASH_PROP_ID(X: DWORD) -> bool { - CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID == X || CERT_PIN_SHA256_HASH_PROP_ID == X - || CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID == X -} -#[inline] -pub fn IS_CHAIN_HASH_PROP_ID(X: DWORD) -> bool { - CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID == X || CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID == X - || CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID == X || CERT_SUBJECT_NAME_MD5_HASH_PROP_ID == X -} -#[inline] -pub fn IS_STRONG_SIGN_PROP_ID(X: DWORD) -> bool { - CERT_SIGN_HASH_CNG_ALG_PROP_ID == X || CERT_SUBJECT_PUB_KEY_BIT_LENGTH_PROP_ID == X - || CERT_PUB_KEY_CNG_ALG_BIT_LENGTH_PROP_ID == X -} -pub const szOID_CERT_PROP_ID_PREFIX: &'static str = "1.3.6.1.4.1.311.10.11."; -pub const szOID_CERT_KEY_IDENTIFIER_PROP_ID: &'static str = "1.3.6.1.4.1.311.10.11.20"; -pub const szOID_CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID: &'static str - = "1.3.6.1.4.1.311.10.11.28"; -pub const szOID_CERT_SUBJECT_NAME_MD5_HASH_PROP_ID: &'static str = "1.3.6.1.4.1.311.10.11.29"; -pub const szOID_CERT_MD5_HASH_PROP_ID: &'static str = "1.3.6.1.4.1.311.10.11.4"; -pub const szOID_CERT_SIGNATURE_HASH_PROP_ID: &'static str = "1.3.6.1.4.1.311.10.11.15"; -pub const szOID_DISALLOWED_HASH: &'static str = szOID_CERT_SIGNATURE_HASH_PROP_ID; -pub const szOID_CERT_DISALLOWED_FILETIME_PROP_ID: &'static str = "1.3.6.1.4.1.311.10.11.104"; -pub const CERT_ACCESS_STATE_WRITE_PERSIST_FLAG: DWORD = 0x1; -pub const CERT_ACCESS_STATE_SYSTEM_STORE_FLAG: DWORD = 0x2; -pub const CERT_ACCESS_STATE_LM_SYSTEM_STORE_FLAG: DWORD = 0x4; -pub const CERT_ACCESS_STATE_GP_SYSTEM_STORE_FLAG: DWORD = 0x8; -pub const CERT_ACCESS_STATE_SHARED_USER_FLAG: DWORD = 0x10; -pub const szOID_ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION: &'static str = "1.3.6.1.4.1.311.60.3.1"; -pub const szOID_ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION: &'static str = "1.3.6.1.4.1.311.60.3.2"; -pub const szOID_ROOT_PROGRAM_NO_OCSP_FAILOVER_TO_CRL: &'static str = "1.3.6.1.4.1.311.60.3.3"; -STRUCT!{struct CRYPT_KEY_PROV_PARAM { - dwParam: DWORD, - pbData: *mut BYTE, - cbData: DWORD, - dwFlags: DWORD, -}} -pub type PCRYPT_KEY_PROV_PARAM = *mut CRYPT_KEY_PROV_PARAM; -STRUCT!{struct CRYPT_KEY_PROV_INFO { - pwszContainerName: LPWSTR, - pwszProvName: LPWSTR, - dwProvType: DWORD, - dwFlags: DWORD, - cProvParam: DWORD, - rgProvParam: PCRYPT_KEY_PROV_PARAM, - dwKeySpec: DWORD, -}} -pub type PCRYPT_KEY_PROV_INFO = *mut CRYPT_KEY_PROV_INFO; -pub const CERT_SET_KEY_PROV_HANDLE_PROP_ID: DWORD = 0x00000001; -pub const CERT_SET_KEY_CONTEXT_PROP_ID: DWORD = 0x00000001; -pub const CERT_NCRYPT_KEY_SPEC: DWORD = 0xFFFFFFFF; -UNION!{union CERT_KEY_CONTEXT_u { - [usize; 1], - hCryptProv hCryptProv_mut: HCRYPTPROV, - hNCryptKey hNCryptKey_mut: NCRYPT_KEY_HANDLE, -}} -STRUCT!{struct CERT_KEY_CONTEXT { - cbSize: DWORD, - u: CERT_KEY_CONTEXT_u, - dwKeySpec: DWORD, -}} -pub type PCERT_KEY_CONTEXT = *mut CERT_KEY_CONTEXT; -STRUCT!{struct ROOT_INFO_LUID { - LowPart: DWORD, - HighPart: LONG, -}} -pub type PROOT_INFO_LUID = *mut ROOT_INFO_LUID; -STRUCT!{struct CRYPT_SMART_CARD_ROOT_INFO { - rgbCardID: [BYTE; 16], - luid: ROOT_INFO_LUID, -}} -pub type PCRYPT_SMART_CARD_ROOT_INFO = *mut CRYPT_SMART_CARD_ROOT_INFO; -pub const CERT_STORE_PROV_MSG: LPCSTR = 1 as LPCSTR; -pub const CERT_STORE_PROV_MEMORY: LPCSTR = 2 as LPCSTR; -pub const CERT_STORE_PROV_FILE: LPCSTR = 3 as LPCSTR; -pub const CERT_STORE_PROV_REG: LPCSTR = 4 as LPCSTR; -pub const CERT_STORE_PROV_PKCS7: LPCSTR = 5 as LPCSTR; -pub const CERT_STORE_PROV_SERIALIZED: LPCSTR = 6 as LPCSTR; -pub const CERT_STORE_PROV_FILENAME_A: LPCSTR = 7 as LPCSTR; -pub const CERT_STORE_PROV_FILENAME_W: LPCSTR = 8 as LPCSTR; -pub const CERT_STORE_PROV_FILENAME: LPCSTR = CERT_STORE_PROV_FILENAME_W; -pub const CERT_STORE_PROV_SYSTEM_A: LPCSTR = 9 as LPCSTR; -pub const CERT_STORE_PROV_SYSTEM_W: LPCSTR = 10 as LPCSTR; -pub const CERT_STORE_PROV_SYSTEM: LPCSTR = CERT_STORE_PROV_SYSTEM_W; -pub const CERT_STORE_PROV_COLLECTION: LPCSTR = 11 as LPCSTR; -pub const CERT_STORE_PROV_SYSTEM_REGISTRY_A: LPCSTR = 12 as LPCSTR; -pub const CERT_STORE_PROV_SYSTEM_REGISTRY_W: LPCSTR = 13 as LPCSTR; -pub const CERT_STORE_PROV_SYSTEM_REGISTRY: LPCSTR = CERT_STORE_PROV_SYSTEM_REGISTRY_W; -pub const CERT_STORE_PROV_PHYSICAL_W: LPCSTR = 14 as LPCSTR; -pub const CERT_STORE_PROV_PHYSICAL: LPCSTR = CERT_STORE_PROV_PHYSICAL_W; -pub const CERT_STORE_PROV_SMART_CARD_W: LPCSTR = 15 as LPCSTR; -pub const CERT_STORE_PROV_SMART_CARD: LPCSTR = CERT_STORE_PROV_SMART_CARD_W; -pub const CERT_STORE_PROV_LDAP_W: LPCSTR = 16 as LPCSTR; -pub const CERT_STORE_PROV_LDAP: LPCSTR = CERT_STORE_PROV_LDAP_W; -pub const CERT_STORE_PROV_PKCS12: LPCSTR = 17 as LPCSTR; -pub const sz_CERT_STORE_PROV_MEMORY: &'static str = "Memory"; -pub const sz_CERT_STORE_PROV_FILENAME_W: &'static str = "File"; -pub const sz_CERT_STORE_PROV_FILENAME: &'static str = sz_CERT_STORE_PROV_FILENAME_W; -pub const sz_CERT_STORE_PROV_SYSTEM_W: &'static str = "System"; -pub const sz_CERT_STORE_PROV_SYSTEM: &'static str = sz_CERT_STORE_PROV_SYSTEM_W; -pub const sz_CERT_STORE_PROV_PKCS7: &'static str = "PKCS7"; -pub const sz_CERT_STORE_PROV_PKCS12: &'static str = "PKCS12"; -pub const sz_CERT_STORE_PROV_SERIALIZED: &'static str = "Serialized"; -pub const sz_CERT_STORE_PROV_COLLECTION: &'static str = "Collection"; -pub const sz_CERT_STORE_PROV_SYSTEM_REGISTRY_W: &'static str = "SystemRegistry"; -pub const sz_CERT_STORE_PROV_SYSTEM_REGISTRY: &'static str = sz_CERT_STORE_PROV_SYSTEM_REGISTRY_W; -pub const sz_CERT_STORE_PROV_PHYSICAL_W: &'static str = "Physical"; -pub const sz_CERT_STORE_PROV_PHYSICAL: &'static str = sz_CERT_STORE_PROV_PHYSICAL_W; -pub const sz_CERT_STORE_PROV_SMART_CARD_W: &'static str = "SmartCard"; -pub const sz_CERT_STORE_PROV_SMART_CARD: &'static str = sz_CERT_STORE_PROV_SMART_CARD_W; -pub const sz_CERT_STORE_PROV_LDAP_W: &'static str = "Ldap"; -pub const sz_CERT_STORE_PROV_LDAP: &'static str = sz_CERT_STORE_PROV_LDAP_W; -pub const CERT_STORE_SIGNATURE_FLAG: DWORD = 0x00000001; -pub const CERT_STORE_TIME_VALIDITY_FLAG: DWORD = 0x00000002; -pub const CERT_STORE_REVOCATION_FLAG: DWORD = 0x00000004; -pub const CERT_STORE_NO_CRL_FLAG: DWORD = 0x00010000; -pub const CERT_STORE_NO_ISSUER_FLAG: DWORD = 0x00020000; -pub const CERT_STORE_BASE_CRL_FLAG: DWORD = 0x00000100; -pub const CERT_STORE_DELTA_CRL_FLAG: DWORD = 0x00000200; -pub const CERT_STORE_NO_CRYPT_RELEASE_FLAG: DWORD = 0x00000001; -pub const CERT_STORE_SET_LOCALIZED_NAME_FLAG: DWORD = 0x00000002; -pub const CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG: DWORD = 0x00000004; -pub const CERT_STORE_DELETE_FLAG: DWORD = 0x00000010; -pub const CERT_STORE_SHARE_STORE_FLAG: DWORD = 0x00000040; -pub const CERT_STORE_SHARE_CONTEXT_FLAG: DWORD = 0x00000080; -pub const CERT_STORE_MANIFOLD_FLAG: DWORD = 0x00000100; -pub const CERT_STORE_ENUM_ARCHIVED_FLAG: DWORD = 0x00000200; -pub const CERT_STORE_UPDATE_KEYID_FLAG: DWORD = 0x00000400; -pub const CERT_STORE_BACKUP_RESTORE_FLAG: DWORD = 0x00000800; -pub const CERT_STORE_READONLY_FLAG: DWORD = 0x00008000; -pub const CERT_STORE_OPEN_EXISTING_FLAG: DWORD = 0x00004000; -pub const CERT_STORE_CREATE_NEW_FLAG: DWORD = 0x00002000; -pub const CERT_STORE_MAXIMUM_ALLOWED_FLAG: DWORD = 0x00001000; -pub const CERT_SYSTEM_STORE_MASK: DWORD = 0xFFFF0000; -pub const CERT_SYSTEM_STORE_RELOCATE_FLAG: DWORD = 0x80000000; -UNION!{union CERT_SYSTEM_STORE_RELOCATE_PARA_u1 { - [usize; 1], - hKeyBase hKeyBase_mut: HKEY, - pvBase pvBase_mut: *mut c_void, -}} -UNION!{union CERT_SYSTEM_STORE_RELOCATE_PARA_u2 { - [usize; 1], - pvSystemStore pvSystemStore__mut: *mut c_void, - pszSystemStore pszSystemStore_mut: LPCSTR, - pwszSystemStore pwszSystemStore_mut: LPCWSTR, -}} -STRUCT!{struct CERT_SYSTEM_STORE_RELOCATE_PARA { - u1: CERT_SYSTEM_STORE_RELOCATE_PARA_u1, - u2: CERT_SYSTEM_STORE_RELOCATE_PARA_u2, -}} -pub type PCERT_SYSTEM_STORE_RELOCATE_PARA = *mut CERT_SYSTEM_STORE_RELOCATE_PARA; -pub const CERT_SYSTEM_STORE_UNPROTECTED_FLAG: DWORD = 0x40000000; -pub const CERT_SYSTEM_STORE_LOCATION_MASK: DWORD = 0x00FF0000; -pub const CERT_SYSTEM_STORE_LOCATION_SHIFT: DWORD = 16; -pub const CERT_SYSTEM_STORE_CURRENT_USER_ID: DWORD = 1; -pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_ID: DWORD = 2; -pub const CERT_SYSTEM_STORE_CURRENT_SERVICE_ID: DWORD = 4; -pub const CERT_SYSTEM_STORE_SERVICES_ID: DWORD = 5; -pub const CERT_SYSTEM_STORE_USERS_ID: DWORD = 6; -pub const CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID: DWORD = 7; -pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID: DWORD = 8; -pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID: DWORD = 9; -pub const CERT_SYSTEM_STORE_CURRENT_USER: DWORD = CERT_SYSTEM_STORE_CURRENT_USER_ID - << CERT_SYSTEM_STORE_LOCATION_SHIFT; -pub const CERT_SYSTEM_STORE_LOCAL_MACHINE: DWORD = CERT_SYSTEM_STORE_LOCAL_MACHINE_ID - << CERT_SYSTEM_STORE_LOCATION_SHIFT; -pub const CERT_SYSTEM_STORE_CURRENT_SERVICE: DWORD = CERT_SYSTEM_STORE_CURRENT_SERVICE_ID - << CERT_SYSTEM_STORE_LOCATION_SHIFT; -pub const CERT_SYSTEM_STORE_SERVICES: DWORD = CERT_SYSTEM_STORE_SERVICES_ID - << CERT_SYSTEM_STORE_LOCATION_SHIFT; -pub const CERT_SYSTEM_STORE_USERS: DWORD = CERT_SYSTEM_STORE_USERS_ID - << CERT_SYSTEM_STORE_LOCATION_SHIFT; -pub const CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY: DWORD - = CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT; -pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY: DWORD - = CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT; -pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE: DWORD - = CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT; -pub const CERT_GROUP_POLICY_SYSTEM_STORE_REGPATH: &'static str - = "Software\\Policies\\Microsoft\\SystemCertificates"; -pub const CERT_EFSBLOB_REGPATH: &'static str - = "Software\\Policies\\Microsoft\\SystemCertificates\\EFS"; -pub const CERT_EFSBLOB_VALUE_NAME: &'static str = "EFSBlob"; -pub const CERT_PROT_ROOT_FLAGS_REGPATH: &'static str - = "Software\\Policies\\Microsoft\\SystemCertificates\\Root\\ProtectedRoots"; -pub const CERT_PROT_ROOT_FLAGS_VALUE_NAME: &'static str = "Flags"; -pub const CERT_PROT_ROOT_DISABLE_CURRENT_USER_FLAG: DWORD = 0x1; -pub const CERT_PROT_ROOT_INHIBIT_ADD_AT_INIT_FLAG: DWORD = 0x2; -pub const CERT_PROT_ROOT_INHIBIT_PURGE_LM_FLAG: DWORD = 0x4; -pub const CERT_PROT_ROOT_DISABLE_LM_AUTH_FLAG: DWORD = 0x8; -pub const CERT_PROT_ROOT_ONLY_LM_GPT_FLAG: DWORD = 0x8; -pub const CERT_PROT_ROOT_DISABLE_NT_AUTH_REQUIRED_FLAG: DWORD = 0x10; -pub const CERT_PROT_ROOT_DISABLE_NOT_DEFINED_NAME_CONSTRAINT_FLAG: DWORD = 0x20; -pub const CERT_PROT_ROOT_DISABLE_PEER_TRUST: DWORD = 0x10000; -pub const CERT_PROT_ROOT_PEER_USAGES_VALUE_NAME: &'static str = "PeerUsages"; -pub const CERT_PROT_ROOT_PEER_USAGES_VALUE_NAME_A: &'static str = "PeerUsages"; -pub const CERT_PROT_ROOT_PEER_USAGES_DEFAULT_A: &'static str - = "1.3.6.1.5.5.7.3.2\01.3.6.1.5.5.7.3.4\01.3.6.1.4.1.311.10.3.4\0"; -pub const CERT_TRUST_PUB_SAFER_GROUP_POLICY_REGPATH: &'static str - = "Software\\Policies\\Microsoft\\SystemCertificates\\TrustedPublisher\\Safer"; -pub const CERT_LOCAL_MACHINE_SYSTEM_STORE_REGPATH: &'static str - = "Software\\Microsoft\\SystemCertificates"; -pub const CERT_TRUST_PUB_SAFER_LOCAL_MACHINE_REGPATH: &'static str - = "Software\\Microsoft\\SystemCertificates\\TrustedPublisher\\Safer"; -pub const CERT_TRUST_PUB_AUTHENTICODE_FLAGS_VALUE_NAME: &'static str = "AuthenticodeFlags"; -pub const CERT_TRUST_PUB_ALLOW_TRUST_MASK: DWORD = 0x00000003; -pub const CERT_TRUST_PUB_ALLOW_END_USER_TRUST: DWORD = 0x00000000; -pub const CERT_TRUST_PUB_ALLOW_MACHINE_ADMIN_TRUST: DWORD = 0x00000001; -pub const CERT_TRUST_PUB_ALLOW_ENTERPRISE_ADMIN_TRUST: DWORD = 0x00000002; -pub const CERT_TRUST_PUB_CHECK_PUBLISHER_REV_FLAG: DWORD = 0x00000100; -pub const CERT_TRUST_PUB_CHECK_TIMESTAMP_REV_FLAG: DWORD = 0x00000200; -pub const CERT_OCM_SUBCOMPONENTS_LOCAL_MACHINE_REGPATH: &'static str - = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\OC Manager\\Subcomponents"; -pub const CERT_OCM_SUBCOMPONENTS_ROOT_AUTO_UPDATE_VALUE_NAME: &'static str = "RootAutoUpdate"; -pub const CERT_DISABLE_ROOT_AUTO_UPDATE_REGPATH: &'static str - = "Software\\Policies\\Microsoft\\SystemCertificates\\AuthRoot"; -pub const CERT_DISABLE_ROOT_AUTO_UPDATE_VALUE_NAME: &'static str = "DisableRootAutoUpdate"; -pub const CERT_ENABLE_DISALLOWED_CERT_AUTO_UPDATE_VALUE_NAME: &'static str - = "EnableDisallowedCertAutoUpdate"; -pub const CERT_DISABLE_PIN_RULES_AUTO_UPDATE_VALUE_NAME: &'static str - = "DisablePinRulesAutoUpdate"; -pub const CERT_AUTO_UPDATE_LOCAL_MACHINE_REGPATH: &'static str - = "Software\\Microsoft\\SystemCertificates\\AuthRoot\\AutoUpdate"; -pub const CERT_AUTO_UPDATE_ROOT_DIR_URL_VALUE_NAME: &'static str = "RootDirUrl"; -pub const CERT_AUTO_UPDATE_SYNC_FROM_DIR_URL_VALUE_NAME: &'static str = "SyncFromDirUrl"; -pub const CERT_AUTH_ROOT_AUTO_UPDATE_LOCAL_MACHINE_REGPATH: &'static str - = CERT_AUTO_UPDATE_LOCAL_MACHINE_REGPATH; -pub const CERT_AUTH_ROOT_AUTO_UPDATE_ROOT_DIR_URL_VALUE_NAME: &'static str - = CERT_AUTO_UPDATE_ROOT_DIR_URL_VALUE_NAME; -pub const CERT_AUTH_ROOT_AUTO_UPDATE_SYNC_DELTA_TIME_VALUE_NAME: &'static str = "SyncDeltaTime"; -pub const CERT_AUTH_ROOT_AUTO_UPDATE_FLAGS_VALUE_NAME: &'static str = "Flags"; -pub const CERT_AUTH_ROOT_AUTO_UPDATE_DISABLE_UNTRUSTED_ROOT_LOGGING_FLAG: DWORD = 0x1; -pub const CERT_AUTH_ROOT_AUTO_UPDATE_DISABLE_PARTIAL_CHAIN_LOGGING_FLAG: DWORD = 0x2; -pub const CERT_AUTO_UPDATE_DISABLE_RANDOM_QUERY_STRING_FLAG: DWORD = 0x4; -pub const CERT_AUTH_ROOT_AUTO_UPDATE_LAST_SYNC_TIME_VALUE_NAME: &'static str = "LastSyncTime"; -pub const CERT_AUTH_ROOT_AUTO_UPDATE_ENCODED_CTL_VALUE_NAME: &'static str = "EncodedCt"; -pub const CERT_AUTH_ROOT_CTL_FILENAME: &'static str = "authroot.st"; -pub const CERT_AUTH_ROOT_CTL_FILENAME_A: &'static str = "authroot.st"; -pub const CERT_AUTH_ROOT_CAB_FILENAME: &'static str = "authrootstl.cab"; -pub const CERT_AUTH_ROOT_SEQ_FILENAME: &'static str = "authrootseq.txt"; -pub const CERT_AUTH_ROOT_CERT_EXT: &'static str = ".crt"; -pub const CERT_DISALLOWED_CERT_AUTO_UPDATE_SYNC_DELTA_TIME_VALUE_NAME: &'static str - = "DisallowedCertSyncDeltaTime"; -pub const CERT_DISALLOWED_CERT_AUTO_UPDATE_LAST_SYNC_TIME_VALUE_NAME: &'static str - = "DisallowedCertLastSyncTime"; -pub const CERT_DISALLOWED_CERT_AUTO_UPDATE_ENCODED_CTL_VALUE_NAME: &'static str - = "DisallowedCertEncodedCt"; -pub const CERT_DISALLOWED_CERT_CTL_FILENAME: &'static str = "disallowedcert.st"; -pub const CERT_DISALLOWED_CERT_CTL_FILENAME_A: &'static str = "disallowedcert.st"; -pub const CERT_DISALLOWED_CERT_CAB_FILENAME: &'static str = "disallowedcertstl.cab"; -pub const CERT_DISALLOWED_CERT_AUTO_UPDATE_LIST_IDENTIFIER: &'static str - = "DisallowedCert_AutoUpdate_1"; -pub const CERT_PIN_RULES_AUTO_UPDATE_SYNC_DELTA_TIME_VALUE_NAME: &'static str - = "PinRulesSyncDeltaTime"; -pub const CERT_PIN_RULES_AUTO_UPDATE_LAST_SYNC_TIME_VALUE_NAME: &'static str - = "PinRulesLastSyncTime"; -pub const CERT_PIN_RULES_AUTO_UPDATE_ENCODED_CTL_VALUE_NAME: &'static str = "PinRulesEncodedCt"; -pub const CERT_PIN_RULES_CTL_FILENAME: &'static str = "pinrules.st"; -pub const CERT_PIN_RULES_CTL_FILENAME_A: &'static str = "pinrules.st"; -pub const CERT_PIN_RULES_CAB_FILENAME: &'static str = "pinrulesstl.cab"; -pub const CERT_PIN_RULES_AUTO_UPDATE_LIST_IDENTIFIER: &'static str = "PinRules_AutoUpdate_1"; -pub const CERT_REGISTRY_STORE_REMOTE_FLAG: DWORD = 0x10000; -pub const CERT_REGISTRY_STORE_SERIALIZED_FLAG: DWORD = 0x20000; -pub const CERT_REGISTRY_STORE_CLIENT_GPT_FLAG: DWORD = 0x80000000; -pub const CERT_REGISTRY_STORE_LM_GPT_FLAG: DWORD = 0x01000000; -STRUCT!{struct CERT_REGISTRY_STORE_CLIENT_GPT_PARA { - hKeyBase: HKEY, - pwszRegPath: LPWSTR, -}} -pub type PCERT_REGISTRY_STORE_CLIENT_GPT_PARA = *mut CERT_REGISTRY_STORE_CLIENT_GPT_PARA; -pub const CERT_REGISTRY_STORE_ROAMING_FLAG: DWORD = 0x40000; -STRUCT!{struct CERT_REGISTRY_STORE_ROAMING_PARA { - hKeyBase: HKEY, - pwszStoreDirectory: LPWSTR, -}} -pub type PCERT_REGISTRY_STORE_ROAMING_PARA = *mut CERT_REGISTRY_STORE_ROAMING_PARA; -pub const CERT_REGISTRY_STORE_MY_IE_DIRTY_FLAG: DWORD = 0x80000; -pub const CERT_REGISTRY_STORE_EXTERNAL_FLAG: DWORD = 0x100000; -pub const CERT_IE_DIRTY_FLAGS_REGPATH: &'static str - = "Software\\Microsoft\\Cryptography\\IEDirtyFlags"; -pub const CERT_FILE_STORE_COMMIT_ENABLE_FLAG: DWORD = 0x10000; -pub const CERT_LDAP_STORE_SIGN_FLAG: DWORD = 0x10000; -pub const CERT_LDAP_STORE_AREC_EXCLUSIVE_FLAG: DWORD = 0x20000; -pub const CERT_LDAP_STORE_OPENED_FLAG: DWORD = 0x40000; -STRUCT!{struct CERT_LDAP_STORE_OPENED_PARA { - pvLdapSessionHandle: *mut c_void, - pwszLdapUrl: LPCWSTR, -}} -pub type PCERT_LDAP_STORE_OPENED_PARA = *mut CERT_LDAP_STORE_OPENED_PARA; -pub const CERT_LDAP_STORE_UNBIND_FLAG: DWORD = 0x80000; -extern "system" { - pub fn CertOpenStore( - lpszStoreProvider: LPCSTR, - dwEncodingType: DWORD, - hCryptProv: HCRYPTPROV_LEGACY, - dwFlags: DWORD, - pvPara: *const c_void, - ) -> HCERTSTORE; -} -pub type HCERTSTOREPROV = *mut c_void; -pub const CRYPT_OID_OPEN_STORE_PROV_FUNC: &'static str = "CertDllOpenStoreProv"; -STRUCT!{struct CERT_STORE_PROV_INFO { - cbSize: DWORD, - cStoreProvFunc: DWORD, - rgpvStoreProvFunc: *mut *mut c_void, - hStoreProv: HCERTSTOREPROV, - dwStoreProvFlags: DWORD, - hStoreProvFuncAddr2: HCRYPTOIDFUNCADDR, -}} -pub type PCERT_STORE_PROV_INFO = *mut CERT_STORE_PROV_INFO; -FN!{stdcall PFN_CERT_DLL_OPEN_STORE_PROV_FUNC( - lpszStoreProvider: LPCSTR, - dwEncodingType: DWORD, - hCryptProv: HCRYPTPROV_LEGACY, - dwFlags: DWORD, - pvPara: *const c_void, - hCertStore: HCERTSTORE, - pStoreProvInfo: PCERT_STORE_PROV_INFO, -) -> BOOL} -pub const CERT_STORE_PROV_EXTERNAL_FLAG: DWORD = 0x1; -pub const CERT_STORE_PROV_DELETED_FLAG: DWORD = 0x2; -pub const CERT_STORE_PROV_NO_PERSIST_FLAG: DWORD = 0x4; -pub const CERT_STORE_PROV_SYSTEM_STORE_FLAG: DWORD = 0x8; -pub const CERT_STORE_PROV_LM_SYSTEM_STORE_FLAG: DWORD = 0x10; -pub const CERT_STORE_PROV_GP_SYSTEM_STORE_FLAG: DWORD = 0x20; -pub const CERT_STORE_PROV_SHARED_USER_FLAG: DWORD = 0x40; -pub const CERT_STORE_PROV_CLOSE_FUNC: DWORD = 0; -pub const CERT_STORE_PROV_READ_CERT_FUNC: DWORD = 1; -pub const CERT_STORE_PROV_WRITE_CERT_FUNC: DWORD = 2; -pub const CERT_STORE_PROV_DELETE_CERT_FUNC: DWORD = 3; -pub const CERT_STORE_PROV_SET_CERT_PROPERTY_FUNC: DWORD = 4; -pub const CERT_STORE_PROV_READ_CRL_FUNC: DWORD = 5; -pub const CERT_STORE_PROV_WRITE_CRL_FUNC: DWORD = 6; -pub const CERT_STORE_PROV_DELETE_CRL_FUNC: DWORD = 7; -pub const CERT_STORE_PROV_SET_CRL_PROPERTY_FUNC: DWORD = 8; -pub const CERT_STORE_PROV_READ_CTL_FUNC: DWORD = 9; -pub const CERT_STORE_PROV_WRITE_CTL_FUNC: DWORD = 10; -pub const CERT_STORE_PROV_DELETE_CTL_FUNC: DWORD = 11; -pub const CERT_STORE_PROV_SET_CTL_PROPERTY_FUNC: DWORD = 12; -pub const CERT_STORE_PROV_CONTROL_FUNC: DWORD = 13; -pub const CERT_STORE_PROV_FIND_CERT_FUNC: DWORD = 14; -pub const CERT_STORE_PROV_FREE_FIND_CERT_FUNC: DWORD = 15; -pub const CERT_STORE_PROV_GET_CERT_PROPERTY_FUNC: DWORD = 16; -pub const CERT_STORE_PROV_FIND_CRL_FUNC: DWORD = 17; -pub const CERT_STORE_PROV_FREE_FIND_CRL_FUNC: DWORD = 18; -pub const CERT_STORE_PROV_GET_CRL_PROPERTY_FUNC: DWORD = 19; -pub const CERT_STORE_PROV_FIND_CTL_FUNC: DWORD = 20; -pub const CERT_STORE_PROV_FREE_FIND_CTL_FUNC: DWORD = 21; -pub const CERT_STORE_PROV_GET_CTL_PROPERTY_FUNC: DWORD = 22; -FN!{stdcall PFN_CERT_STORE_PROV_CLOSE( - hStoreProv: HCERTSTOREPROV, - dwFlags: DWORD, -) -> ()} -FN!{stdcall PFN_CERT_STORE_PROV_READ_CERT( - hStoreProv: HCERTSTOREPROV, - pStoreCertContext: PCCERT_CONTEXT, - dwFlags: DWORD, - ppProvCertContext: *mut PCCERT_CONTEXT, -) -> BOOL} -pub const CERT_STORE_PROV_WRITE_ADD_FLAG: DWORD = 0x1; -FN!{stdcall PFN_CERT_STORE_PROV_WRITE_CERT( - hStoreProv: HCERTSTOREPROV, - pCertContext: PCCERT_CONTEXT, - dwFlags: DWORD, -) -> BOOL} -FN!{stdcall PFN_CERT_STORE_PROV_DELETE_CERT( - hStoreProv: HCERTSTOREPROV, - pCertContext: PCCERT_CONTEXT, - dwFlags: DWORD, -) -> BOOL} -FN!{stdcall PFN_CERT_STORE_PROV_SET_CERT_PROPERTY( - hStoreProv: HCERTSTOREPROV, - pCertContext: PCCERT_CONTEXT, - dwPropId: DWORD, - dwFlags: DWORD, - pvData: *const c_void, -) -> BOOL} -FN!{stdcall PFN_CERT_STORE_PROV_READ_CRL( - hStoreProv: HCERTSTOREPROV, - pStoreCrlContext: PCCRL_CONTEXT, - dwFlags: DWORD, - ppProvCrlContext: *mut PCCRL_CONTEXT, -) -> BOOL} -FN!{stdcall PFN_CERT_STORE_PROV_WRITE_CRL( - hStoreProv: HCERTSTOREPROV, - pCrlContext: PCCRL_CONTEXT, - dwFlags: DWORD, -) -> BOOL} -FN!{stdcall PFN_CERT_STORE_PROV_DELETE_CRL( - hStoreProv: HCERTSTOREPROV, - pCrlContext: PCCRL_CONTEXT, - dwFlags: DWORD, -) -> BOOL} -FN!{stdcall PFN_CERT_STORE_PROV_SET_CRL_PROPERTY( - hStoreProv: HCERTSTOREPROV, - pCrlContext: PCCRL_CONTEXT, - dwPropId: DWORD, - dwFlags: DWORD, - pvData: *const c_void, -) -> BOOL} -FN!{stdcall PFN_CERT_STORE_PROV_READ_CTL( - hStoreProv: HCERTSTOREPROV, - pStoreCtlContext: PCCTL_CONTEXT, - dwFlags: DWORD, - ppProvCtlContext: *mut PCCTL_CONTEXT, -) -> BOOL} -FN!{stdcall PFN_CERT_STORE_PROV_WRITE_CTL( - hStoreProv: HCERTSTOREPROV, - pCtlContext: PCCTL_CONTEXT, - dwFlags: DWORD, -) -> BOOL} -FN!{stdcall PFN_CERT_STORE_PROV_DELETE_CTL( - hStoreProv: HCERTSTOREPROV, - pCtlContext: PCCTL_CONTEXT, - dwFlags: DWORD, -) -> BOOL} -FN!{stdcall PFN_CERT_STORE_PROV_SET_CTL_PROPERTY( - hStoreProv: HCERTSTOREPROV, - pCtlContext: PCCTL_CONTEXT, - dwPropId: DWORD, - dwFlags: DWORD, - pvData: *const c_void, -) -> BOOL} -FN!{stdcall PFN_CERT_STORE_PROV_CONTROL( - hStoreProv: HCERTSTOREPROV, - dwFlags: DWORD, - dwCtrlType: DWORD, - pvCtrlPara: *const c_void, -) -> BOOL} -STRUCT!{struct CERT_STORE_PROV_FIND_INFO { - cbSize: DWORD, - dwMsgAndCertEncodingType: DWORD, - dwFindFlags: DWORD, - dwFindType: DWORD, - pvFindPara: *const c_void, -}} -pub type PCERT_STORE_PROV_FIND_INFO = *mut CERT_STORE_PROV_FIND_INFO; -pub type CCERT_STORE_PROV_FIND_INFO = CERT_STORE_PROV_FIND_INFO; -pub type PCCERT_STORE_PROV_FIND_INFO = *const CERT_STORE_PROV_FIND_INFO; -FN!{stdcall PFN_CERT_STORE_PROV_FIND_CERT( - hStoreProv: HCERTSTOREPROV, - pFindInfo: PCCERT_STORE_PROV_FIND_INFO, - pPrevCertContext: PCCERT_CONTEXT, - dwFlags: DWORD, - ppvStoreProvFindInfo: *mut *mut c_void, - ppProvCertContext: *mut PCCERT_CONTEXT, -) -> BOOL} -FN!{stdcall PFN_CERT_STORE_PROV_FREE_FIND_CERT( - hStoreProv: HCERTSTOREPROV, - pCertContext: PCCERT_CONTEXT, - pvStoreProvFindInfo: *mut c_void, - dwFlags: DWORD, -) -> BOOL} -FN!{stdcall PFN_CERT_STORE_PROV_GET_CERT_PROPERTY( - hStoreProv: HCERTSTOREPROV, - pCertContext: PCCERT_CONTEXT, - dwPropId: DWORD, - dwFlags: DWORD, - pvData: *mut c_void, - pcbData: *mut DWORD, -) -> BOOL} -FN!{stdcall PFN_CERT_STORE_PROV_FIND_CRL( - hStoreProv: HCERTSTOREPROV, - pFindInfo: PCCERT_STORE_PROV_FIND_INFO, - pPrevCrlContext: PCCRL_CONTEXT, - dwFlags: DWORD, - ppvStoreProvFindInfo: *mut *mut c_void, - ppProvCrlContext: *mut PCCRL_CONTEXT, -) -> BOOL} -FN!{stdcall PFN_CERT_STORE_PROV_FREE_FIND_CRL( - hStoreProv: HCERTSTOREPROV, - pCrlContext: PCCRL_CONTEXT, - pvStoreProvFindInfo: *mut c_void, - dwFlags: DWORD, -) -> BOOL} -FN!{stdcall PFN_CERT_STORE_PROV_GET_CRL_PROPERTY( - hStoreProv: HCERTSTOREPROV, - pCrlContext: PCCRL_CONTEXT, - dwPropId: DWORD, - dwFlags: DWORD, - pvData: *mut c_void, - pcbData: *mut DWORD, -) -> BOOL} -FN!{stdcall PFN_CERT_STORE_PROV_FIND_CTL( - hStoreProv: HCERTSTOREPROV, - pFindInfo: PCCERT_STORE_PROV_FIND_INFO, - pPrevCtlContext: PCCTL_CONTEXT, - dwFlags: DWORD, - ppvStoreProvFindInfo: *mut *mut c_void, - ppProvCtlContext: *mut PCCTL_CONTEXT, -) -> BOOL} -FN!{stdcall PFN_CERT_STORE_PROV_FREE_FIND_CTL( - hStoreProv: HCERTSTOREPROV, - pCtlContext: PCCTL_CONTEXT, - pvStoreProvFindInfo: *mut c_void, - dwFlags: DWORD, -) -> BOOL} -FN!{stdcall PFN_CERT_STORE_PROV_GET_CTL_PROPERTY( - hStoreProv: HCERTSTOREPROV, - pCtlContext: PCCTL_CONTEXT, - dwPropId: DWORD, - dwFlags: DWORD, - pvData: *mut c_void, - pcbData: *mut DWORD, -) -> BOOL} -extern "system" { - pub fn CertDuplicateStore( - hCertStore: HCERTSTORE, - ) -> HCERTSTORE; -} -pub const CERT_STORE_SAVE_AS_STORE: DWORD = 1; -pub const CERT_STORE_SAVE_AS_PKCS7: DWORD = 2; -pub const CERT_STORE_SAVE_AS_PKCS12: DWORD = 3; -pub const CERT_STORE_SAVE_TO_FILE: DWORD = 1; -pub const CERT_STORE_SAVE_TO_MEMORY: DWORD = 2; -pub const CERT_STORE_SAVE_TO_FILENAME_A: DWORD = 3; -pub const CERT_STORE_SAVE_TO_FILENAME_W: DWORD = 4; -pub const CERT_STORE_SAVE_TO_FILENAME: DWORD = CERT_STORE_SAVE_TO_FILENAME_W; -extern "system" { - pub fn CertSaveStore( - hCertStore: HCERTSTORE, - dwEncodingType: DWORD, - dwSaveAs: DWORD, - dwSaveTo: DWORD, - pvSaveToPara: *mut c_void, - dwFlags: DWORD, - ) -> BOOL; -} -pub const CERT_CLOSE_STORE_FORCE_FLAG: DWORD = 0x00000001; -pub const CERT_CLOSE_STORE_CHECK_FLAG: DWORD = 0x00000002; -extern "system" { - pub fn CertCloseStore( - hCertStore: HCERTSTORE, - dwFlags: DWORD, - ) -> BOOL; - pub fn CertGetSubjectCertificateFromStore( - hCertStore: HCERTSTORE, - dwCertEncodingType: DWORD, - pCertId: PCERT_INFO, - ) -> PCCERT_CONTEXT; - pub fn CertEnumCertificatesInStore( - hCertStore: HCERTSTORE, - pPrevCertContext: PCCERT_CONTEXT, - ) -> PCCERT_CONTEXT; - pub fn CertFindCertificateInStore( - hCertStore: HCERTSTORE, - dwCertEncodingType: DWORD, - dwFindFlags: DWORD, - dwFindType: DWORD, - pvFindPara: *const c_void, - pPrevCertContext: PCCERT_CONTEXT, - ) -> PCCERT_CONTEXT; -} -pub const CERT_COMPARE_MASK: DWORD = 0xFFFF; -pub const CERT_COMPARE_SHIFT: DWORD = 16; -pub const CERT_COMPARE_ANY: DWORD = 0; -pub const CERT_COMPARE_SHA1_HASH: DWORD = 1; -pub const CERT_COMPARE_NAME: DWORD = 2; -pub const CERT_COMPARE_ATTR: DWORD = 3; -pub const CERT_COMPARE_MD5_HASH: DWORD = 4; -pub const CERT_COMPARE_PROPERTY: DWORD = 5; -pub const CERT_COMPARE_PUBLIC_KEY: DWORD = 6; -pub const CERT_COMPARE_HASH: DWORD = CERT_COMPARE_SHA1_HASH; -pub const CERT_COMPARE_NAME_STR_A: DWORD = 7; -pub const CERT_COMPARE_NAME_STR_W: DWORD = 8; -pub const CERT_COMPARE_KEY_SPEC: DWORD = 9; -pub const CERT_COMPARE_ENHKEY_USAGE: DWORD = 10; -pub const CERT_COMPARE_CTL_USAGE: DWORD = CERT_COMPARE_ENHKEY_USAGE; -pub const CERT_COMPARE_SUBJECT_CERT: DWORD = 11; -pub const CERT_COMPARE_ISSUER_OF: DWORD = 12; -pub const CERT_COMPARE_EXISTING: DWORD = 13; -pub const CERT_COMPARE_SIGNATURE_HASH: DWORD = 14; -pub const CERT_COMPARE_KEY_IDENTIFIER: DWORD = 15; -pub const CERT_COMPARE_CERT_ID: DWORD = 16; -pub const CERT_COMPARE_CROSS_CERT_DIST_POINTS: DWORD = 17; -pub const CERT_COMPARE_PUBKEY_MD5_HASH: DWORD = 18; -pub const CERT_COMPARE_SUBJECT_INFO_ACCESS: DWORD = 19; -pub const CERT_COMPARE_HASH_STR: DWORD = 20; -pub const CERT_COMPARE_HAS_PRIVATE_KEY: DWORD = 21; -pub const CERT_FIND_ANY: DWORD = CERT_COMPARE_ANY << CERT_COMPARE_SHIFT; -pub const CERT_FIND_SHA1_HASH: DWORD = CERT_COMPARE_SHA1_HASH << CERT_COMPARE_SHIFT; -pub const CERT_FIND_MD5_HASH: DWORD = CERT_COMPARE_MD5_HASH << CERT_COMPARE_SHIFT; -pub const CERT_FIND_SIGNATURE_HASH: DWORD = CERT_COMPARE_SIGNATURE_HASH << CERT_COMPARE_SHIFT; -pub const CERT_FIND_KEY_IDENTIFIER: DWORD = CERT_COMPARE_KEY_IDENTIFIER << CERT_COMPARE_SHIFT; -pub const CERT_FIND_HASH: DWORD = CERT_FIND_SHA1_HASH; -pub const CERT_FIND_PROPERTY: DWORD = CERT_COMPARE_PROPERTY << CERT_COMPARE_SHIFT; -pub const CERT_FIND_PUBLIC_KEY: DWORD = CERT_COMPARE_PUBLIC_KEY << CERT_COMPARE_SHIFT; -pub const CERT_FIND_SUBJECT_NAME: DWORD = (CERT_COMPARE_NAME << CERT_COMPARE_SHIFT) - | CERT_INFO_SUBJECT_FLAG; -pub const CERT_FIND_SUBJECT_ATTR: DWORD = (CERT_COMPARE_ATTR << CERT_COMPARE_SHIFT) - | CERT_INFO_SUBJECT_FLAG; -pub const CERT_FIND_ISSUER_NAME: DWORD = (CERT_COMPARE_NAME << CERT_COMPARE_SHIFT) - | CERT_INFO_ISSUER_FLAG; -pub const CERT_FIND_ISSUER_ATTR: DWORD = (CERT_COMPARE_ATTR << CERT_COMPARE_SHIFT) - | CERT_INFO_ISSUER_FLAG; -pub const CERT_FIND_SUBJECT_STR_A: DWORD = (CERT_COMPARE_NAME_STR_A << CERT_COMPARE_SHIFT) - | CERT_INFO_SUBJECT_FLAG; -pub const CERT_FIND_SUBJECT_STR_W: DWORD = (CERT_COMPARE_NAME_STR_W << CERT_COMPARE_SHIFT) - | CERT_INFO_SUBJECT_FLAG; -pub const CERT_FIND_SUBJECT_STR: DWORD = CERT_FIND_SUBJECT_STR_W; -pub const CERT_FIND_ISSUER_STR_A: DWORD = (CERT_COMPARE_NAME_STR_A << CERT_COMPARE_SHIFT) - | CERT_INFO_ISSUER_FLAG; -pub const CERT_FIND_ISSUER_STR_W: DWORD = (CERT_COMPARE_NAME_STR_W << CERT_COMPARE_SHIFT) - | CERT_INFO_ISSUER_FLAG; -pub const CERT_FIND_ISSUER_STR: DWORD = CERT_FIND_ISSUER_STR_W; -pub const CERT_FIND_KEY_SPEC: DWORD = CERT_COMPARE_KEY_SPEC << CERT_COMPARE_SHIFT; -pub const CERT_FIND_ENHKEY_USAGE: DWORD = CERT_COMPARE_ENHKEY_USAGE << CERT_COMPARE_SHIFT; -pub const CERT_FIND_CTL_USAGE: DWORD = CERT_FIND_ENHKEY_USAGE; -pub const CERT_FIND_SUBJECT_CERT: DWORD = CERT_COMPARE_SUBJECT_CERT << CERT_COMPARE_SHIFT; -pub const CERT_FIND_ISSUER_OF: DWORD = CERT_COMPARE_ISSUER_OF << CERT_COMPARE_SHIFT; -pub const CERT_FIND_EXISTING: DWORD = CERT_COMPARE_EXISTING << CERT_COMPARE_SHIFT; -pub const CERT_FIND_CERT_ID: DWORD = CERT_COMPARE_CERT_ID << CERT_COMPARE_SHIFT; -pub const CERT_FIND_CROSS_CERT_DIST_POINTS: DWORD = CERT_COMPARE_CROSS_CERT_DIST_POINTS - << CERT_COMPARE_SHIFT; -pub const CERT_FIND_PUBKEY_MD5_HASH: DWORD = CERT_COMPARE_PUBKEY_MD5_HASH << CERT_COMPARE_SHIFT; -pub const CERT_FIND_SUBJECT_INFO_ACCESS: DWORD = CERT_COMPARE_SUBJECT_INFO_ACCESS - << CERT_COMPARE_SHIFT; -pub const CERT_FIND_HASH_STR: DWORD = CERT_COMPARE_HASH_STR << CERT_COMPARE_SHIFT; -pub const CERT_FIND_HAS_PRIVATE_KEY: DWORD = CERT_COMPARE_HAS_PRIVATE_KEY << CERT_COMPARE_SHIFT; -pub const CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG: DWORD = 0x1; -pub const CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG: DWORD = 0x2; -pub const CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG: DWORD = 0x4; -pub const CERT_FIND_NO_ENHKEY_USAGE_FLAG: DWORD = 0x8; -pub const CERT_FIND_OR_ENHKEY_USAGE_FLAG: DWORD = 0x10; -pub const CERT_FIND_VALID_ENHKEY_USAGE_FLAG: DWORD = 0x20; -pub const CERT_FIND_OPTIONAL_CTL_USAGE_FLAG: DWORD = CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG; -pub const CERT_FIND_EXT_ONLY_CTL_USAGE_FLAG: DWORD = CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG; -pub const CERT_FIND_PROP_ONLY_CTL_USAGE_FLAG: DWORD = CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG; -pub const CERT_FIND_NO_CTL_USAGE_FLAG: DWORD = CERT_FIND_NO_ENHKEY_USAGE_FLAG; -pub const CERT_FIND_OR_CTL_USAGE_FLAG: DWORD = CERT_FIND_OR_ENHKEY_USAGE_FLAG; -pub const CERT_FIND_VALID_CTL_USAGE_FLAG: DWORD = CERT_FIND_VALID_ENHKEY_USAGE_FLAG; -extern "system" { - pub fn CertGetIssuerCertificateFromStore( - hCertStore: HCERTSTORE, - pSubjectContext: PCCERT_CONTEXT, - pPrevIssuerContext: PCCERT_CONTEXT, - pdwFlags: *mut DWORD, - ) -> PCCERT_CONTEXT; - pub fn CertVerifySubjectCertificateContext( - pSubject: PCCERT_CONTEXT, - pIssuer: PCCERT_CONTEXT, - pdwFlags: *mut DWORD, - ) -> BOOL; - pub fn CertDuplicateCertificateContext( - pCertContext: PCCERT_CONTEXT, - ) -> PCCERT_CONTEXT; - pub fn CertCreateCertificateContext( - dwCertEncodingType: DWORD, - pbCertEncoded: *const BYTE, - cbCertEncoded: DWORD, - ) -> PCCERT_CONTEXT; - pub fn CertFreeCertificateContext( - pCertContext: PCCERT_CONTEXT, - ) -> BOOL; - pub fn CertSetCertificateContextProperty( - pCertContext: PCCERT_CONTEXT, - dwPropId: DWORD, - dwFlags: DWORD, - pvData: *const c_void, - ) -> BOOL; -} -pub const CERT_SET_PROPERTY_IGNORE_PERSIST_ERROR_FLAG: DWORD = 0x80000000; -pub const CERT_SET_PROPERTY_INHIBIT_PERSIST_FLAG: DWORD = 0x40000000; -extern "system" { - pub fn CertGetCertificateContextProperty( - pCertContext: PCCERT_CONTEXT, - dwPropId: DWORD, - pvData: *mut c_void, - pcbData: *mut DWORD, - ) -> BOOL; - pub fn CertEnumCertificateContextProperties( - pCertContext: PCCERT_CONTEXT, - dwPropId: DWORD, - ) -> DWORD; - pub fn CertCreateCTLEntryFromCertificateContextProperties( - pCertContext: PCCERT_CONTEXT, - cOptAttr: DWORD, - rgOptAttr: PCRYPT_ATTRIBUTE, - dwFlags: DWORD, - pvReserved: *mut c_void, - pCtlEntry: PCTL_ENTRY, - pcbCtlEntry: *mut DWORD, - ) -> BOOL; - pub fn CertSetCertificateContextPropertiesFromCTLEntry( - pCertContext: PCCERT_CONTEXT, - pCtlEntry: PCTL_ENTRY, - dwFlags: DWORD, - ) -> BOOL; - pub fn CertGetCRLFromStore( - hCertStore: HCERTSTORE, - pIssuerContext: PCCERT_CONTEXT, - pPrevCrlContext: PCCRL_CONTEXT, - pdwFlags: *mut DWORD, - ) -> PCCRL_CONTEXT; - pub fn CertEnumCRLsInStore( - hCertStore: HCERTSTORE, - pPrevCrlContext: PCCRL_CONTEXT, - ) -> PCCRL_CONTEXT; - pub fn CertFindCRLInStore( - hCertStore: HCERTSTORE, - dwCertEncodingType: DWORD, - dwFindFlags: DWORD, - dwFindType: DWORD, - pvFindPara: *const c_void, - pPrevCrlContext: PCCRL_CONTEXT, - ) -> PCCRL_CONTEXT; -} -pub const CRL_FIND_ANY: DWORD = 0; -pub const CRL_FIND_ISSUED_BY: DWORD = 1; -pub const CRL_FIND_EXISTING: DWORD = 2; -pub const CRL_FIND_ISSUED_FOR: DWORD = 3; -pub const CRL_FIND_ISSUED_BY_AKI_FLAG: DWORD = 0x1; -pub const CRL_FIND_ISSUED_BY_SIGNATURE_FLAG: DWORD = 0x2; -pub const CRL_FIND_ISSUED_BY_DELTA_FLAG: DWORD = 0x4; -pub const CRL_FIND_ISSUED_BY_BASE_FLAG: DWORD = 0x8; -STRUCT!{struct CRL_FIND_ISSUED_FOR_PARA { - pSubjectCert: PCCERT_CONTEXT, - pIssuerCert: PCCERT_CONTEXT, -}} -pub type PCRL_FIND_ISSUED_FOR_PARA = *mut CRL_FIND_ISSUED_FOR_PARA; -pub const CRL_FIND_ISSUED_FOR_SET_STRONG_PROPERTIES_FLAG: DWORD = 0x10; -extern "system" { - pub fn CertDuplicateCRLContext( - pCrlContext: PCCRL_CONTEXT, - ) -> PCCRL_CONTEXT; - pub fn CertCreateCRLContext( - dwCertEncodingType: DWORD, - pbCrlEncoded: *const BYTE, - cbCrlEncoded: DWORD, - ) -> PCCRL_CONTEXT; - pub fn CertFreeCRLContext( - pCrlContext: PCCRL_CONTEXT, - ) -> BOOL; - pub fn CertSetCRLContextProperty( - pCrlContext: PCCRL_CONTEXT, - dwPropId: DWORD, - dwFlags: DWORD, - pvData: *const c_void, - ) -> BOOL; - pub fn CertGetCRLContextProperty( - pCrlContext: PCCRL_CONTEXT, - dwPropId: DWORD, - pvData: *mut c_void, - pcbData: *mut DWORD, - ) -> BOOL; - pub fn CertEnumCRLContextProperties( - pCrlContext: PCCRL_CONTEXT, - dwPropId: DWORD, - ) -> DWORD; - pub fn CertFindCertificateInCRL( - pCert: PCCERT_CONTEXT, - pCrlContext: PCCRL_CONTEXT, - dwFlags: DWORD, - pvReserved: *mut c_void, - ppCrlEntry: *mut PCRL_ENTRY, - ) -> BOOL; - pub fn CertIsValidCRLForCertificate( - pCert: PCCERT_CONTEXT, - pCrl: PCCRL_CONTEXT, - dwFlags: DWORD, - pvReserved: *mut c_void, - ) -> BOOL; -} -pub const CERT_STORE_ADD_NEW: DWORD = 1; -pub const CERT_STORE_ADD_USE_EXISTING: DWORD = 2; -pub const CERT_STORE_ADD_REPLACE_EXISTING: DWORD = 3; -pub const CERT_STORE_ADD_ALWAYS: DWORD = 4; -pub const CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES: DWORD = 5; -pub const CERT_STORE_ADD_NEWER: DWORD = 6; -pub const CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES: DWORD = 7; -extern "system" { - pub fn CertAddEncodedCertificateToStore( - hCertStore: HCERTSTORE, - dwCertEncodingType: DWORD, - pbCertEncoded: *const BYTE, - cbCertEncoded: DWORD, - dwAddDisposition: DWORD, - ppCertContext: *mut PCCERT_CONTEXT, - ) -> BOOL; - pub fn CertAddCertificateContextToStore( - hCertStore: HCERTSTORE, - pCertContext: PCCERT_CONTEXT, - dwAddDisposition: DWORD, - ppStoreContext: *mut PCCERT_CONTEXT, - ) -> BOOL; -} -pub const CERT_STORE_CERTIFICATE_CONTEXT: DWORD = 1; -pub const CERT_STORE_CRL_CONTEXT: DWORD = 2; -pub const CERT_STORE_CTL_CONTEXT: DWORD = 3; -pub const CERT_STORE_ALL_CONTEXT_FLAG: DWORD = !0; -pub const CERT_STORE_CERTIFICATE_CONTEXT_FLAG: DWORD = 1 << CERT_STORE_CERTIFICATE_CONTEXT; -pub const CERT_STORE_CRL_CONTEXT_FLAG: DWORD = 1 << CERT_STORE_CRL_CONTEXT; -pub const CERT_STORE_CTL_CONTEXT_FLAG: DWORD = 1 << CERT_STORE_CTL_CONTEXT; -extern "system" { - pub fn CertAddSerializedElementToStore( - hCertStore: HCERTSTORE, - pbElement: *const BYTE, - cbElement: DWORD, - dwAddDisposition: DWORD, - dwFlags: DWORD, - dwContextTypeFlags: DWORD, - pdwContextType: *mut DWORD, - ppvContext: *mut *const c_void, - ) -> BOOL; - pub fn CertDeleteCertificateFromStore( - pCertContext: PCCERT_CONTEXT, - ) -> BOOL; - pub fn CertAddEncodedCRLToStore( - hCertStore: HCERTSTORE, - dwCertEncodingType: DWORD, - pbCrlEncoded: *const BYTE, - cbCrlEncoded: DWORD, - dwAddDisposition: DWORD, - ppCrlContext: *mut PCCRL_CONTEXT, - ) -> BOOL; - pub fn CertAddCRLContextToStore( - hCertStore: HCERTSTORE, - pCrlContext: PCCRL_CONTEXT, - dwAddDisposition: DWORD, - ppStoreContext: *mut PCCRL_CONTEXT, - ) -> BOOL; - pub fn CertDeleteCRLFromStore( - pCrlContext: PCCRL_CONTEXT, - ) -> BOOL; - pub fn CertSerializeCertificateStoreElement( - pCertContext: PCCERT_CONTEXT, - dwFlags: DWORD, - pbElement: *mut BYTE, - pcbElement: *mut DWORD, - ) -> BOOL; - pub fn CertSerializeCRLStoreElement( - pCrlContext: PCCRL_CONTEXT, - dwFlags: DWORD, - pbElement: *mut BYTE, - pcbElement: *mut DWORD, - ) -> BOOL; - pub fn CertDuplicateCTLContext( - pCtlContext: PCCTL_CONTEXT, - ) -> PCCTL_CONTEXT; - pub fn CertCreateCTLContext( - dwMsgAndCertEncodingType: DWORD, - pbCtlEncoded: *const BYTE, - cbCtlEncoded: DWORD, - ) -> PCCTL_CONTEXT; - pub fn CertFreeCTLContext( - pCtlContext: PCCTL_CONTEXT, - ) -> BOOL; - pub fn CertSetCTLContextProperty( - pCtlContext: PCCTL_CONTEXT, - dwPropId: DWORD, - dwFlags: DWORD, - pvData: *const c_void, - ) -> BOOL; - pub fn CertGetCTLContextProperty( - pCtlContext: PCCTL_CONTEXT, - dwPropId: DWORD, - pvData: *mut c_void, - pcbData: *mut DWORD, - ) -> BOOL; - pub fn CertEnumCTLContextProperties( - pCtlContext: PCCTL_CONTEXT, - dwPropId: DWORD, - ) -> DWORD; - pub fn CertEnumCTLsInStore( - hCertStore: HCERTSTORE, - pPrevCtlContext: PCCTL_CONTEXT, - ) -> PCCTL_CONTEXT; - pub fn CertFindSubjectInCTL( - dwEncodingType: DWORD, - dwSubjectType: DWORD, - pvSubject: *mut c_void, - pCtlContext: PCCTL_CONTEXT, - dwFlags: DWORD, - ) -> PCTL_ENTRY; -} -pub const CTL_ANY_SUBJECT_TYPE: DWORD = 1; -pub const CTL_CERT_SUBJECT_TYPE: DWORD = 2; -STRUCT!{struct CTL_ANY_SUBJECT_INFO { - SubjectAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - SubjectIdentifier: CRYPT_DATA_BLOB, -}} -pub type PCTL_ANY_SUBJECT_INFO = *mut CTL_ANY_SUBJECT_INFO; -extern "system" { - pub fn CertFindCTLInStore( - hCertStore: HCERTSTORE, - dwMsgAndCertEncodingType: DWORD, - dwFindFlags: DWORD, - dwFindType: DWORD, - pvFindPara: *const c_void, - pPrevCtlContext: PCCTL_CONTEXT, - ) -> PCCTL_CONTEXT; -} -pub const CTL_FIND_ANY: DWORD = 0; -pub const CTL_FIND_SHA1_HASH: DWORD = 1; -pub const CTL_FIND_MD5_HASH: DWORD = 2; -pub const CTL_FIND_USAGE: DWORD = 3; -pub const CTL_FIND_SUBJECT: DWORD = 4; -pub const CTL_FIND_EXISTING: DWORD = 5; -STRUCT!{struct CTL_FIND_USAGE_PARA { - cbSize: DWORD, - SubjectUsage: CTL_USAGE, - ListIdentifier: CRYPT_DATA_BLOB, - pSigner: PCERT_INFO, -}} -pub type PCTL_FIND_USAGE_PARA = *mut CTL_FIND_USAGE_PARA; -pub const CTL_FIND_NO_LIST_ID_CBDATA: DWORD = 0xFFFFFFFF; -pub const CTL_FIND_NO_SIGNER_PTR: PCERT_INFO = -1isize as PCERT_INFO; -pub const CTL_FIND_SAME_USAGE_FLAG: DWORD = 0x1; -STRUCT!{struct CTL_FIND_SUBJECT_PARA { - cbSize: DWORD, - pUsagePara: PCTL_FIND_USAGE_PARA, - dwSubjectType: DWORD, - pvSubject: *mut c_void, -}} -pub type PCTL_FIND_SUBJECT_PARA = *mut CTL_FIND_SUBJECT_PARA; -extern "system" { - pub fn CertAddEncodedCTLToStore( - hCertStore: HCERTSTORE, - dwMsgAndCertEncodingType: DWORD, - pbCtlEncoded: *const BYTE, - cbCtlEncoded: DWORD, - dwAddDisposition: DWORD, - ppCtlContext: *mut PCCTL_CONTEXT, - ) -> BOOL; - pub fn CertAddCTLContextToStore( - hCertStore: HCERTSTORE, - pCtlContext: PCCTL_CONTEXT, - dwAddDisposition: DWORD, - ppStoreContext: *mut PCCTL_CONTEXT, - ) -> BOOL; - pub fn CertSerializeCTLStoreElement( - pCtlContext: PCCTL_CONTEXT, - dwFlags: DWORD, - pbElement: *mut BYTE, - pcbElement: *mut DWORD, - ) -> BOOL; - pub fn CertDeleteCTLFromStore( - pCtlContext: PCCTL_CONTEXT, - ) -> BOOL; - pub fn CertAddCertificateLinkToStore( - hCertStore: HCERTSTORE, - pCertContext: PCCERT_CONTEXT, - dwAddDisposition: DWORD, - ppStoreContext: *mut PCCERT_CONTEXT, - ) -> BOOL; - pub fn CertAddCRLLinkToStore( - hCertStore: HCERTSTORE, - pCrlContext: PCCRL_CONTEXT, - dwAddDisposition: DWORD, - ppStoreContext: *mut PCCRL_CONTEXT, - ) -> BOOL; - pub fn CertAddCTLLinkToStore( - hCertStore: HCERTSTORE, - pCtlContext: PCCTL_CONTEXT, - dwAddDisposition: DWORD, - ppStoreContext: *mut PCCTL_CONTEXT, - ) -> BOOL; - pub fn CertAddStoreToCollection( - hCollectionStore: HCERTSTORE, - hSiblingStore: HCERTSTORE, - dwUpdateFlags: DWORD, - dwPriority: DWORD, - ) -> BOOL; - pub fn CertRemoveStoreFromCollection( - hCollectionStore: HCERTSTORE, - hSiblingStore: HCERTSTORE, - ); - pub fn CertControlStore( - hCertStore: HCERTSTORE, - dwFlags: DWORD, - dwCtrlType: DWORD, - pvCtrlPara: *const c_void, - ) -> BOOL; -} -pub const CERT_STORE_CTRL_RESYNC: DWORD = 1; -pub const CERT_STORE_CTRL_NOTIFY_CHANGE: DWORD = 2; -pub const CERT_STORE_CTRL_COMMIT: DWORD = 3; -pub const CERT_STORE_CTRL_AUTO_RESYNC: DWORD = 4; -pub const CERT_STORE_CTRL_CANCEL_NOTIFY: DWORD = 5; -pub const CERT_STORE_CTRL_INHIBIT_DUPLICATE_HANDLE_FLAG: DWORD = 0x1; -pub const CERT_STORE_CTRL_COMMIT_FORCE_FLAG: DWORD = 0x1; -pub const CERT_STORE_CTRL_COMMIT_CLEAR_FLAG: DWORD = 0x2; -pub const CERT_STORE_LOCALIZED_NAME_PROP_ID: DWORD = 0x1000; -extern "system" { - pub fn CertSetStoreProperty( - hCertStore: HCERTSTORE, - dwPropId: DWORD, - dwFlags: DWORD, - pvData: *const c_void, - ) -> BOOL; - pub fn CertGetStoreProperty( - hCertStore: HCERTSTORE, - dwPropId: DWORD, - pvData: *mut c_void, - pcbData: *mut DWORD, - ) -> BOOL; -} -FN!{stdcall PFN_CERT_CREATE_CONTEXT_SORT_FUNC( - cbTotalEncoded: DWORD, - cbRemainEncoded: DWORD, - cEntry: DWORD, - pvSort: *mut c_void, -) -> BOOL} -STRUCT!{struct CERT_CREATE_CONTEXT_PARA { - cbSize: DWORD, - pfnFree: PFN_CRYPT_FREE, - pvFree: *mut c_void, - pfnSort: PFN_CERT_CREATE_CONTEXT_SORT_FUNC, - pvSort: *mut c_void, -}} -pub type PCERT_CREATE_CONTEXT_PARA = *mut CERT_CREATE_CONTEXT_PARA; -extern "system" { - pub fn CertCreateContext( - dwContextType: DWORD, - dwEncodingType: DWORD, - pbEncoded: *const BYTE, - cbEncoded: DWORD, - dwFlags: DWORD, - pCreatePara: PCERT_CREATE_CONTEXT_PARA, - ) -> *const c_void; -} -pub const CERT_CREATE_CONTEXT_NOCOPY_FLAG: DWORD = 0x1; -pub const CERT_CREATE_CONTEXT_SORTED_FLAG: DWORD = 0x2; -pub const CERT_CREATE_CONTEXT_NO_HCRYPTMSG_FLAG: DWORD = 0x4; -pub const CERT_CREATE_CONTEXT_NO_ENTRY_FLAG: DWORD = 0x8; -STRUCT!{struct CERT_SYSTEM_STORE_INFO { - cbSize: DWORD, -}} -pub type PCERT_SYSTEM_STORE_INFO = *mut CERT_SYSTEM_STORE_INFO; -STRUCT!{struct CERT_PHYSICAL_STORE_INFO { - cbSize: DWORD, - pszOpenStoreProvider: LPSTR, - dwOpenEncodingType: DWORD, - dwOpenFlags: DWORD, - OpenParameters: CRYPT_DATA_BLOB, - dwFlags: DWORD, - dwPriority: DWORD, -}} -pub type PCERT_PHYSICAL_STORE_INFO = *mut CERT_PHYSICAL_STORE_INFO; -pub const CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG: DWORD = 0x1; -pub const CERT_PHYSICAL_STORE_OPEN_DISABLE_FLAG: DWORD = 0x2; -pub const CERT_PHYSICAL_STORE_REMOTE_OPEN_DISABLE_FLAG: DWORD = 0x4; -pub const CERT_PHYSICAL_STORE_INSERT_COMPUTER_NAME_ENABLE_FLAG: DWORD = 0x8; -extern "system" { - pub fn CertRegisterSystemStore( - pvSystemStore: *const c_void, - dwFlags: DWORD, - pStoreInfo: PCERT_SYSTEM_STORE_INFO, - pvReserved: *mut c_void, - ) -> BOOL; - pub fn CertRegisterPhysicalStore( - pvSystemStore: *const c_void, - dwFlags: DWORD, - pwszStoreName: LPCWSTR, - pStoreInfo: PCERT_PHYSICAL_STORE_INFO, - pvReserved: *mut c_void, - ) -> BOOL; - pub fn CertUnregisterSystemStore( - pvSystemStore: *const c_void, - dwFlags: DWORD, - ) -> BOOL; - pub fn CertUnregisterPhysicalStore( - pvSystemStore: *const c_void, - dwFlags: DWORD, - pwszStoreName: LPCWSTR, - ) -> BOOL; -} -FN!{stdcall PFN_CERT_ENUM_SYSTEM_STORE_LOCATION( - pwszStoreLocation: LPCWSTR, - dwFlags: DWORD, - pvReserved: *mut c_void, - pvArg: *mut c_void, -) -> BOOL} -FN!{stdcall PFN_CERT_ENUM_SYSTEM_STORE( - pvSystemStore: *const c_void, - dwFlags: DWORD, - pStoreInfo: PCERT_SYSTEM_STORE_INFO, - pvReserved: *mut c_void, - pvArg: *mut c_void, -) -> BOOL} -FN!{stdcall PFN_CERT_ENUM_PHYSICAL_STORE( - pvSystemStore: *const c_void, - dwFlags: DWORD, - pwszStoreName: LPCWSTR, - pStoreInfo: PCERT_PHYSICAL_STORE_INFO, - pvReserved: *mut c_void, - pvArg: *mut c_void, -) -> BOOL} -pub const CERT_PHYSICAL_STORE_PREDEFINED_ENUM_FLAG: DWORD = 0x1; -pub const CERT_PHYSICAL_STORE_DEFAULT_NAME: &'static str = ".Default"; -pub const CERT_PHYSICAL_STORE_GROUP_POLICY_NAME: &'static str = ".GroupPolicy"; -pub const CERT_PHYSICAL_STORE_LOCAL_MACHINE_NAME: &'static str = ".LocalMachine"; -pub const CERT_PHYSICAL_STORE_DS_USER_CERTIFICATE_NAME: &'static str = ".UserCertificate"; -pub const CERT_PHYSICAL_STORE_LOCAL_MACHINE_GROUP_POLICY_NAME: &'static str - = ".LocalMachineGroupPolicy"; -pub const CERT_PHYSICAL_STORE_ENTERPRISE_NAME: &'static str = ".Enterprise"; -pub const CERT_PHYSICAL_STORE_AUTH_ROOT_NAME: &'static str = ".AuthRoot"; -pub const CERT_PHYSICAL_STORE_SMART_CARD_NAME: &'static str = ".SmartCard"; -extern "system" { - pub fn CertEnumSystemStoreLocation( - dwFlags: DWORD, - pvArg: *mut c_void, - pfnEnum: PFN_CERT_ENUM_SYSTEM_STORE_LOCATION, - ) -> BOOL; - pub fn CertEnumSystemStore( - dwFlags: DWORD, - pvSystemStoreLocationPara: *mut c_void, - pvArg: *mut c_void, - pfnEnum: PFN_CERT_ENUM_SYSTEM_STORE, - ) -> BOOL; - pub fn CertEnumPhysicalStore( - pvSystemStore: *const c_void, - dwFlags: DWORD, - pvArg: *mut c_void, - pfnEnum: PFN_CERT_ENUM_PHYSICAL_STORE, - ) -> BOOL; -} -pub const CRYPT_OID_OPEN_SYSTEM_STORE_PROV_FUNC: &'static str = "CertDllOpenSystemStoreProv"; -pub const CRYPT_OID_REGISTER_SYSTEM_STORE_FUNC: &'static str = "CertDllRegisterSystemStore"; -pub const CRYPT_OID_UNREGISTER_SYSTEM_STORE_FUNC: &'static str = "CertDllUnregisterSystemStore"; -pub const CRYPT_OID_ENUM_SYSTEM_STORE_FUNC: &'static str = "CertDllEnumSystemStore"; -pub const CRYPT_OID_REGISTER_PHYSICAL_STORE_FUNC: &'static str = "CertDllRegisterPhysicalStore"; -pub const CRYPT_OID_UNREGISTER_PHYSICAL_STORE_FUNC: &'static str - = "CertDllUnregisterPhysicalStore"; -pub const CRYPT_OID_ENUM_PHYSICAL_STORE_FUNC: &'static str = "CertDllEnumPhysicalStore"; -pub const CRYPT_OID_SYSTEM_STORE_LOCATION_VALUE_NAME: &'static str = "SystemStoreLocation"; -extern "system" { - pub fn CertGetEnhancedKeyUsage( - pCertContext: PCCERT_CONTEXT, - dwFlags: DWORD, - pUsage: PCERT_ENHKEY_USAGE, - pcbUsage: *mut DWORD, - ) -> BOOL; - pub fn CertSetEnhancedKeyUsage( - pCertContext: PCCERT_CONTEXT, - pUsage: PCERT_ENHKEY_USAGE, - ) -> BOOL; - pub fn CertAddEnhancedKeyUsageIdentifier( - pCertContext: PCCERT_CONTEXT, - pszUsageIdentifier: LPCSTR, - ) -> BOOL; - pub fn CertRemoveEnhancedKeyUsageIdentifier( - pCertContext: PCCERT_CONTEXT, - pszUsageIdentifier: LPCSTR, - ) -> BOOL; - pub fn CertGetValidUsages( - cCerts: DWORD, - rghCerts: *mut PCCERT_CONTEXT, - cNumOIDs: *mut c_int, - rghOIDs: *mut LPSTR, - pcbOIDs: *mut DWORD, - ) -> BOOL; - pub fn CryptMsgGetAndVerifySigner( - hCryptMsg: HCRYPTMSG, - cSignerStore: DWORD, - rghSignerStore: *mut HCERTSTORE, - dwFlags: DWORD, - ppSigner: *mut PCCERT_CONTEXT, - pdwSignerIndex: *mut DWORD, - ) -> BOOL; -} -pub const CMSG_TRUSTED_SIGNER_FLAG: DWORD = 0x1; -pub const CMSG_SIGNER_ONLY_FLAG: DWORD = 0x2; -pub const CMSG_USE_SIGNER_INDEX_FLAG: DWORD = 0x4; -extern "system" { - pub fn CryptMsgSignCTL( - dwMsgEncodingType: DWORD, - pbCtlContent: *mut BYTE, - cbCtlContent: DWORD, - pSignInfo: PCMSG_SIGNED_ENCODE_INFO, - dwFlags: DWORD, - pbEncoded: *mut BYTE, - pcbEncoded: *mut DWORD, - ) -> BOOL; - pub fn CryptMsgEncodeAndSignCTL( - dwMsgEncodingType: DWORD, - pCtlInfo: PCTL_INFO, - pSignInfo: PCMSG_SIGNED_ENCODE_INFO, - dwFlags: DWORD, - pbEncoded: *mut BYTE, - pcbEncoded: *mut DWORD, - ) -> BOOL; -} -pub const CMSG_ENCODE_SORTED_CTL_FLAG: DWORD = 0x1; -pub const CMSG_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG: DWORD = 0x2; -extern "system" { - pub fn CertFindSubjectInSortedCTL( - pSubjectIdentifier: PCRYPT_DATA_BLOB, - pCtlContext: PCCTL_CONTEXT, - dwFlags: DWORD, - pvReserved: *mut c_void, - pEncodedAttributes: PCRYPT_DER_BLOB, - ) -> BOOL; - pub fn CertEnumSubjectInSortedCTL( - pCtlContext: PCCTL_CONTEXT, - ppvNextSubject: *mut *mut c_void, - pSubjectIdentifier: PCRYPT_DER_BLOB, - pEncodedAttributes: PCRYPT_DER_BLOB, - ) -> BOOL; -} -STRUCT!{struct CTL_VERIFY_USAGE_PARA { - cbSize: DWORD, - ListIdentifier: CRYPT_DATA_BLOB, - cCtlStore: DWORD, - rghCtlStore: *mut HCERTSTORE, - cSignerStore: DWORD, - rghSignerStore: *mut HCERTSTORE, -}} -pub type PCTL_VERIFY_USAGE_PARA = *mut CTL_VERIFY_USAGE_PARA; -STRUCT!{struct CTL_VERIFY_USAGE_STATUS { - cbSize: DWORD, - dwError: DWORD, - dwFlags: DWORD, - ppCtl: *mut PCCTL_CONTEXT, - dwCtlEntryIndex: DWORD, - ppSigner: *mut PCCERT_CONTEXT, - dwSignerIndex: DWORD, -}} -pub type PCTL_VERIFY_USAGE_STATUS = *mut CTL_VERIFY_USAGE_STATUS; -pub const CERT_VERIFY_INHIBIT_CTL_UPDATE_FLAG: DWORD = 0x1; -pub const CERT_VERIFY_TRUSTED_SIGNERS_FLAG: DWORD = 0x2; -pub const CERT_VERIFY_NO_TIME_CHECK_FLAG: DWORD = 0x4; -pub const CERT_VERIFY_ALLOW_MORE_USAGE_FLAG: DWORD = 0x8; -pub const CERT_VERIFY_UPDATED_CTL_FLAG: DWORD = 0x1; -extern "system" { - pub fn CertVerifyCTLUsage( - dwEncodingType: DWORD, - dwSubjectType: DWORD, - pvSubject: *mut c_void, - pSubjectUsage: PCTL_USAGE, - dwFlags: DWORD, - pVerifyUsagePara: PCTL_VERIFY_USAGE_PARA, - pVerifyUsageStatus: PCTL_VERIFY_USAGE_STATUS, - ) -> BOOL; -} -STRUCT!{struct CERT_REVOCATION_CRL_INFO { - cbSize: DWORD, - pBaseCrlContext: PCCRL_CONTEXT, - pDeltaCrlContext: PCCRL_CONTEXT, - pCrlEntry: PCRL_ENTRY, - fDeltaCrlEntry: BOOL, -}} -pub type PCERT_REVOCATION_CRL_INFO = *mut CERT_REVOCATION_CRL_INFO; -pub type PCERT_REVOCATION_CHAIN_PARA = *mut CERT_REVOCATION_CHAIN_PARA; -STRUCT!{struct CERT_REVOCATION_PARA { - cbSize: DWORD, - pIssuerCert: PCCERT_CONTEXT, - cCertStore: DWORD, - rgCertStore: *mut HCERTSTORE, - hCrlStore: HCERTSTORE, - pftTimeToUse: LPFILETIME, - dwUrlRetrievalTimeout: DWORD, - fCheckFreshnessTime: BOOL, - dwFreshnessTime: DWORD, - pftCurrentTime: LPFILETIME, - pCrlInfo: PCERT_REVOCATION_CRL_INFO, - pftCacheResync: LPFILETIME, - pChainPara: PCERT_REVOCATION_CHAIN_PARA, -}} -pub type PCERT_REVOCATION_PARA = *mut CERT_REVOCATION_PARA; -STRUCT!{struct CERT_REVOCATION_STATUS { - cbSize: DWORD, - dwIndex: DWORD, - dwError: DWORD, - dwReason: DWORD, - fHasFreshnessTime: BOOL, - dwFreshnessTime: DWORD, -}} -pub type PCERT_REVOCATION_STATUS = *mut CERT_REVOCATION_STATUS; -extern "system" { - pub fn CertVerifyRevocation( - dwEncodingType: DWORD, - dwRevType: DWORD, - cContext: DWORD, - rgpvContext: *mut PVOID, - dwFlags: DWORD, - pRevPara: PCERT_REVOCATION_PARA, - pRevStatus: PCERT_REVOCATION_STATUS, - ) -> BOOL; -} -pub const CERT_CONTEXT_REVOCATION_TYPE: DWORD = 1; -pub const CERT_VERIFY_REV_CHAIN_FLAG: DWORD = 0x00000001; -pub const CERT_VERIFY_CACHE_ONLY_BASED_REVOCATION: DWORD = 0x00000002; -pub const CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG: DWORD = 0x00000004; -pub const CERT_VERIFY_REV_SERVER_OCSP_FLAG: DWORD = 0x00000008; -pub const CERT_VERIFY_REV_NO_OCSP_FAILOVER_TO_CRL_FLAG: DWORD = 0x00000010; -extern "system" { - pub fn CertCompareIntegerBlob( - pInt1: PCRYPT_INTEGER_BLOB, - pInt2: PCRYPT_INTEGER_BLOB, - ) -> BOOL; - pub fn CertCompareCertificate( - dwCertEncodingType: DWORD, - pCertId1: PCERT_INFO, - pCertId2: PCERT_INFO, - ) -> BOOL; - pub fn CertCompareCertificateName( - dwCertEncodingType: DWORD, - pCertName1: PCERT_NAME_BLOB, - pCertName2: PCERT_NAME_BLOB, - ) -> BOOL; - pub fn CertIsRDNAttrsInCertificateName( - dwCertEncodingType: DWORD, - dwFlags: DWORD, - pCertName: PCERT_NAME_BLOB, - pRDN: PCERT_RDN, - ) -> BOOL; - pub fn CertComparePublicKeyInfo( - dwCertEncodingType: DWORD, - pPublicKey1: PCERT_PUBLIC_KEY_INFO, - pPublicKey2: PCERT_PUBLIC_KEY_INFO, - ) -> BOOL; - pub fn CertGetPublicKeyLength( - dwCertEncodingType: DWORD, - pPublicKey: PCERT_PUBLIC_KEY_INFO, - ) -> DWORD; - pub fn CryptVerifyCertificateSignature( - hCryptProv: HCRYPTPROV_LEGACY, - dwCertEncodingType: DWORD, - pbEncoded: *const BYTE, - cbEncoded: DWORD, - pPublicKey: PCERT_PUBLIC_KEY_INFO, - ) -> BOOL; - pub fn CryptVerifyCertificateSignatureEx( - hCryptProv: HCRYPTPROV_LEGACY, - dwCertEncodingType: DWORD, - dwSubjectType: DWORD, - pvSubject: *mut c_void, - dwIssuerType: DWORD, - pvIssuer: *mut c_void, - dwFlags: DWORD, - pvExtra: *mut c_void, - ) -> BOOL; -} -pub const CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB: DWORD = 1; -pub const CRYPT_VERIFY_CERT_SIGN_SUBJECT_CERT: DWORD = 2; -pub const CRYPT_VERIFY_CERT_SIGN_SUBJECT_CRL: DWORD = 3; -pub const CRYPT_VERIFY_CERT_SIGN_SUBJECT_OCSP_BASIC_SIGNED_RESPONSE: DWORD = 4; -pub const CRYPT_VERIFY_CERT_SIGN_ISSUER_PUBKEY: DWORD = 1; -pub const CRYPT_VERIFY_CERT_SIGN_ISSUER_CERT: DWORD = 2; -pub const CRYPT_VERIFY_CERT_SIGN_ISSUER_CHAIN: DWORD = 3; -pub const CRYPT_VERIFY_CERT_SIGN_ISSUER_NULL: DWORD = 4; -pub const CRYPT_VERIFY_CERT_SIGN_DISABLE_MD2_MD4_FLAG: DWORD = 0x00000001; -pub const CRYPT_VERIFY_CERT_SIGN_SET_STRONG_PROPERTIES_FLAG: DWORD = 0x00000002; -pub const CRYPT_VERIFY_CERT_SIGN_RETURN_STRONG_PROPERTIES_FLAG: DWORD = 0x00000004; -STRUCT!{struct CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO { - CertSignHashCNGAlgPropData: CRYPT_DATA_BLOB, - CertIssuerPubKeyBitLengthPropData: CRYPT_DATA_BLOB, -}} -pub type PCRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO - = *mut CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO; -STRUCT!{struct CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO { - cCNGHashAlgid: DWORD, - rgpwszCNGHashAlgid: *mut PCWSTR, - dwWeakIndex: DWORD, -}} -pub type PCRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO = *mut CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO; -extern "system" { - pub fn CertIsStrongHashToSign( - pStrongSignPara: PCCERT_STRONG_SIGN_PARA, - pwszCNGHashAlgid: LPCWSTR, - pSigningCert: PCCERT_CONTEXT, - ) -> BOOL; - pub fn CryptHashToBeSigned( - hCryptProv: HCRYPTPROV_LEGACY, - dwCertEncodingType: DWORD, - pbEncoded: *const BYTE, - cbEncoded: DWORD, - pbComputedHash: *mut BYTE, - pcbComputedHash: *mut DWORD, - ) -> BOOL; - pub fn CryptHashCertificate( - hCryptProv: HCRYPTPROV_LEGACY, - Algid: ALG_ID, - dwFlags: DWORD, - pbEncoded: *const BYTE, - cbEncoded: DWORD, - pbComputedHash: *mut BYTE, - pcbComputedHash: *mut DWORD, - ) -> BOOL; - pub fn CryptHashCertificate2( - pwszCNGHashAlgid: LPCWSTR, - dwFlags: DWORD, - pvReserved: *mut c_void, - pbEncoded: *const BYTE, - cbEncoded: DWORD, - pbComputedHash: *mut BYTE, - pcbComputedHash: *mut DWORD, - ) -> BOOL; - pub fn CryptSignCertificate( - hCryptProvOrNCryptKey: HCRYPTPROV_OR_NCRYPT_KEY_HANDLE, - dwKeySpec: DWORD, - dwCertEncodingType: DWORD, - pbEncodedToBeSigned: *const BYTE, - cbEncodedToBeSigned: DWORD, - pSignatureAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, - pvHashAuxInfo: *const c_void, - pbSignature: *mut BYTE, - pcbSignature: *mut DWORD, - ) -> BOOL; - pub fn CryptSignAndEncodeCertificate( - hCryptProvOrNCryptKey: HCRYPTPROV_OR_NCRYPT_KEY_HANDLE, - dwKeySpec: DWORD, - dwCertEncodingType: DWORD, - lpszStructType: LPCSTR, - pvStructInfo: *const c_void, - pSignatureAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, - pvHashAuxInfo: *const c_void, - pbEncoded: *mut BYTE, - pcbEncoded: *mut DWORD, - ) -> BOOL; -} -pub const CRYPT_OID_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC: &'static str - = "CryptDllExtractEncodedSignatureParameters"; -FN!{stdcall PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC( - dwCertEncodingType: DWORD, - pSignatureAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, - ppvDecodedSignPara: *mut *mut c_void, - ppwszCNGHashAlgid: LPWSTR, -) -> BOOL} -pub const CRYPT_OID_SIGN_AND_ENCODE_HASH_FUNC: &'static str = "CryptDllSignAndEncodeHash"; -FN!{stdcall PFN_CRYPT_SIGN_AND_ENCODE_HASH_FUNC( - hKey: NCRYPT_KEY_HANDLE, - dwCertEncodingType: DWORD, - pSignatureAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, - pvDecodedSignPara: *mut c_void, - pwszCNGPubKeyAlgid: LPCWSTR, - pwszCNGHashAlgid: LPCWSTR, - pbComputedHash: *mut BYTE, - cbComputedHash: DWORD, - pbSignature: *mut BYTE, - pcbSignature: *mut DWORD, -) -> BOOL} -pub const CRYPT_OID_VERIFY_ENCODED_SIGNATURE_FUNC: &'static str = "CryptDllVerifyEncodedSignature"; -FN!{stdcall PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC( - dwCertEncodingType: DWORD, - pPubKeyInfo: PCERT_PUBLIC_KEY_INFO, - pSignatureAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, - pvDecodedSignPara: *mut c_void, - pwszCNGPubKeyAlgid: LPCWSTR, - pwszCNGHashAlgid: LPCWSTR, - pbComputedHash: *mut BYTE, - cbComputedHash: DWORD, - pbSignature: *mut BYTE, - cbSignature: DWORD, -) -> BOOL} -extern "system" { - pub fn CertVerifyTimeValidity( - pTimeToVerify: LPFILETIME, - pCertInfo: PCERT_INFO, - ) -> LONG; - pub fn CertVerifyCRLTimeValidity( - pTimeToVerify: LPFILETIME, - pCrlInfo: PCRL_INFO, - ) -> LONG; - pub fn CertVerifyValidityNesting( - pSubjectInfo: PCERT_INFO, - pIssuerInfo: PCERT_INFO, - ) -> BOOL; - pub fn CertVerifyCRLRevocation( - dwCertEncodingType: DWORD, - pCertId: PCERT_INFO, - cCrlInfo: DWORD, - rgpCrlInfo: *mut PCRL_INFO, - ) -> BOOL; - pub fn CertAlgIdToOID( - dwAlgId: DWORD, - ) -> LPCSTR; - pub fn CertOIDToAlgId( - pszObjId: LPCSTR, - ) -> DWORD; - pub fn CertFindExtension( - pszObjId: LPCSTR, - cExtensions: DWORD, - rgExtensions: *mut CERT_EXTENSION, - ) -> PCERT_EXTENSION; - pub fn CertFindAttribute( - pszObjId: LPCSTR, - cAttr: DWORD, - rgAttr: *mut CRYPT_ATTRIBUTE, - ) -> PCRYPT_ATTRIBUTE; - pub fn CertFindRDNAttr( - pszObjId: LPCSTR, - pName: PCERT_NAME_INFO, - ) -> PCERT_RDN_ATTR; - pub fn CertGetIntendedKeyUsage( - dwCertEncodingType: DWORD, - pCertInfo: PCERT_INFO, - pbKeyUsage: *mut BYTE, - cbKeyUsage: DWORD, - ) -> BOOL; -} -pub type HCRYPTDEFAULTCONTEXT = *mut c_void; -extern "system" { - pub fn CryptInstallDefaultContext( - hCryptProv: HCRYPTPROV, - dwDefaultType: DWORD, - pvDefaultPara: *const c_void, - dwFlags: DWORD, - pvReserved: *mut c_void, - phDefaultContext: *mut HCRYPTDEFAULTCONTEXT, - ) -> BOOL; -} -pub const CRYPT_DEFAULT_CONTEXT_AUTO_RELEASE_FLAG: DWORD = 0x00000001; -pub const CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG: DWORD = 0x00000002; -pub const CRYPT_DEFAULT_CONTEXT_CERT_SIGN_OID: DWORD = 1; -pub const CRYPT_DEFAULT_CONTEXT_MULTI_CERT_SIGN_OID: DWORD = 2; -STRUCT!{struct CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA { - cOID: DWORD, - rgpszOID: *mut LPSTR, -}} -pub type PCRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA = *mut CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA; -extern "system" { - pub fn CryptUninstallDefaultContext( - hDefaultContext: HCRYPTDEFAULTCONTEXT, - dwFlags: DWORD, - pvReserved: *mut c_void, - ) -> BOOL; - pub fn CryptExportPublicKeyInfo( - hCryptProvOrNCryptKey: HCRYPTPROV_OR_NCRYPT_KEY_HANDLE, - dwKeySpec: DWORD, - dwCertEncodingType: DWORD, - pInfo: PCERT_PUBLIC_KEY_INFO, - pcbInfo: *mut DWORD, - ) -> BOOL; - pub fn CryptExportPublicKeyInfoEx( - hCryptProvOrNCryptKey: HCRYPTPROV_OR_NCRYPT_KEY_HANDLE, - dwKeySpec: DWORD, - dwCertEncodingType: DWORD, - pszPublicKeyObjId: LPSTR, - dwFlags: DWORD, - pvAuxInfo: *mut c_void, - pInfo: PCERT_PUBLIC_KEY_INFO, - pcbInfo: *mut DWORD, - ) -> BOOL; -} -pub const CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_FUNC: &'static str = "CryptDllExportPublicKeyInfoEx"; -pub const CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC: &'static str - = "CryptDllExportPublicKeyInfoEx2"; -FN!{stdcall PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC( - hNCryptKey: NCRYPT_KEY_HANDLE, - dwCertEncodingType: DWORD, - pszPublicKeyObjId: LPSTR, - dwFlags: DWORD, - pvAuxInfo: *mut c_void, - pInfo: PCERT_PUBLIC_KEY_INFO, - pcbInfo: *mut DWORD, -) -> BOOL} -extern "system" { - pub fn CryptExportPublicKeyInfoFromBCryptKeyHandle( - hBCryptKey: BCRYPT_KEY_HANDLE, - dwCertEncodingType: DWORD, - pszPublicKeyObjId: LPSTR, - dwFlags: DWORD, - pvAuxInfo: *mut c_void, - pInfo: PCERT_PUBLIC_KEY_INFO, - pcbInfo: *mut DWORD, - ) -> BOOL; -} -pub const CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_FROM_BCRYPT_HANDLE_FUNC: &'static str - = "CryptDllExportPublicKeyInfoFromBCryptKeyHandle"; -FN!{stdcall PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_FROM_BCRYPT_HANDLE_FUNC( - hBCryptKey: BCRYPT_KEY_HANDLE, - dwCertEncodingType: DWORD, - pszPublicKeyObjId: LPSTR, - dwFlags: DWORD, - pvAuxInfo: *mut c_void, - pInfo: PCERT_PUBLIC_KEY_INFO, - pcbInfo: *mut DWORD, -) -> BOOL} -extern "system" { - pub fn CryptImportPublicKeyInfo( - hCryptProv: HCRYPTPROV, - dwCertEncodingType: DWORD, - pInfo: PCERT_PUBLIC_KEY_INFO, - phKey: *mut HCRYPTKEY, - ) -> BOOL; -} -pub const CRYPT_OID_IMPORT_PUBLIC_KEY_INFO_FUNC: &'static str = "CryptDllImportPublicKeyInfoEx"; -extern "system" { - pub fn CryptImportPublicKeyInfoEx( - hCryptProv: HCRYPTPROV, - dwCertEncodingType: DWORD, - pInfo: PCERT_PUBLIC_KEY_INFO, - aiKeyAlg: ALG_ID, - dwFlags: DWORD, - pvAuxInfo: *mut c_void, - phKey: *mut HCRYPTKEY, - ) -> BOOL; - pub fn CryptImportPublicKeyInfoEx2( - dwCertEncodingType: DWORD, - pInfo: PCERT_PUBLIC_KEY_INFO, - dwFlags: DWORD, - pvAuxInfo: *mut c_void, - phKey: *mut BCRYPT_KEY_HANDLE, - ) -> BOOL; -} -pub const CRYPT_OID_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC: &'static str - = "CryptDllImportPublicKeyInfoEx2"; -FN!{stdcall PFN_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC( - dwCertEncodingType: DWORD, - pInfo: PCERT_PUBLIC_KEY_INFO, - dwFlags: DWORD, - pvAuxInfo: *mut c_void, - phKey: *mut BCRYPT_KEY_HANDLE, -) -> BOOL} -extern "system" { - pub fn CryptAcquireCertificatePrivateKey( - pCert: PCCERT_CONTEXT, - dwFlags: DWORD, - pvParameters: *mut c_void, - phCryptProvOrNCryptKey: *mut HCRYPTPROV_OR_NCRYPT_KEY_HANDLE, - pdwKeySpec: *mut DWORD, - pfCallerFreeProvOrNCryptKey: *mut BOOL, - ) -> BOOL; -} -pub const CRYPT_ACQUIRE_CACHE_FLAG: DWORD = 0x00000001; -pub const CRYPT_ACQUIRE_USE_PROV_INFO_FLAG: DWORD = 0x00000002; -pub const CRYPT_ACQUIRE_COMPARE_KEY_FLAG: DWORD = 0x00000004; -pub const CRYPT_ACQUIRE_NO_HEALING: DWORD = 0x00000008; -pub const CRYPT_ACQUIRE_SILENT_FLAG: DWORD = 0x00000040; -pub const CRYPT_ACQUIRE_WINDOW_HANDLE_FLAG: DWORD = 0x00000080; -pub const CRYPT_ACQUIRE_NCRYPT_KEY_FLAGS_MASK: DWORD = 0x00070000; -pub const CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG: DWORD = 0x00010000; -pub const CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG: DWORD = 0x00020000; -pub const CRYPT_ACQUIRE_ONLY_NCRYPT_KEY_FLAG: DWORD = 0x00040000; -extern "system" { - pub fn CryptFindCertificateKeyProvInfo( - pCert: PCCERT_CONTEXT, - dwFlags: DWORD, - pvReserved: *mut c_void, - ) -> BOOL; -} -pub const CRYPT_FIND_USER_KEYSET_FLAG: DWORD = 0x00000001; -pub const CRYPT_FIND_MACHINE_KEYSET_FLAG: DWORD = 0x00000002; -pub const CRYPT_FIND_SILENT_KEYSET_FLAG: DWORD = 0x00000040; -FN!{stdcall PFN_IMPORT_PRIV_KEY_FUNC( - hCryptProv: HCRYPTPROV, - pPrivateKeyInfo: *mut CRYPT_PRIVATE_KEY_INFO, - dwFlags: DWORD, - pvAuxInfo: *mut c_void, -) -> BOOL} -pub const CRYPT_OID_IMPORT_PRIVATE_KEY_INFO_FUNC: &'static str = "CryptDllImportPrivateKeyInfoEx"; -extern "system" { - pub fn CryptImportPKCS8( - sPrivateKeyAndParams: CRYPT_PKCS8_IMPORT_PARAMS, - dwFlags: DWORD, - phCryptProv: *mut HCRYPTPROV, - pvAuxInfo: *mut c_void, - ) -> BOOL; -} -FN!{stdcall PFN_EXPORT_PRIV_KEY_FUNC( - hCryptProv: HCRYPTPROV, - dwKeySpec: DWORD, - pszPrivateKeyObjId: LPSTR, - dwFlags: DWORD, - pvAuxInfo: *mut c_void, - pPrivateKeyInfo: *mut CRYPT_PRIVATE_KEY_INFO, - pcbPrivateKeyInfo: *mut DWORD, -) -> BOOL} -pub const CRYPT_OID_EXPORT_PRIVATE_KEY_INFO_FUNC: &'static str = "CryptDllExportPrivateKeyInfoEx"; -pub const CRYPT_DELETE_KEYSET: DWORD = CRYPT_DELETEKEYSET; -extern "system" { - pub fn CryptExportPKCS8( - hCryptProv: HCRYPTPROV, - dwKeySpec: DWORD, - pszPrivateKeyObjId: LPSTR, - dwFlags: DWORD, - pvAuxInfo: *mut c_void, - pbPrivateKeyBlob: *mut BYTE, - pcbPrivateKeyBlob: *mut DWORD, - ) -> BOOL; - pub fn CryptExportPKCS8Ex( - psExportParams: CRYPT_PKCS8_EXPORT_PARAMS, - dwKeySpec: DWORD, - pvAuxInfo: *mut c_void, - pbPrivateKeyBlob: *mut BYTE, - pcbPrivateKeyBlob: *mut DWORD, - ) -> BOOL; - pub fn CryptHashPublicKeyInfo( - hCryptProv: HCRYPTPROV_LEGACY, - Algid: ALG_ID, - dwFlags: DWORD, - dwCertEncodingType: DWORD, - pInfo: PCERT_PUBLIC_KEY_INFO, - pbComputedHash: *mut BYTE, - pcbComputedHash: *mut DWORD, - ) -> BOOL; - pub fn CertRDNValueToStrA( - dwValueType: DWORD, - pValue: PCERT_RDN_VALUE_BLOB, - psz: LPSTR, - csz: DWORD, - ) -> DWORD; - pub fn CertRDNValueToStrW( - dwValueType: DWORD, - pValue: PCERT_RDN_VALUE_BLOB, - psz: LPWSTR, - csz: DWORD, - ) -> DWORD; - pub fn CertNameToStrA( - dwCertEncodingType: DWORD, - pName: PCERT_NAME_BLOB, - dwStrType: DWORD, - psz: LPSTR, - csz: DWORD, - ) -> DWORD; - pub fn CertNameToStrW( - dwCertEncodingType: DWORD, - pName: PCERT_NAME_BLOB, - dwStrType: DWORD, - psz: LPWSTR, - csz: DWORD, - ) -> DWORD; -} -pub const CERT_SIMPLE_NAME_STR: DWORD = 1; -pub const CERT_OID_NAME_STR: DWORD = 2; -pub const CERT_X500_NAME_STR: DWORD = 3; -pub const CERT_XML_NAME_STR: DWORD = 4; -pub const CERT_NAME_STR_SEMICOLON_FLAG: DWORD = 0x40000000; -pub const CERT_NAME_STR_NO_PLUS_FLAG: DWORD = 0x20000000; -pub const CERT_NAME_STR_NO_QUOTING_FLAG: DWORD = 0x10000000; -pub const CERT_NAME_STR_CRLF_FLAG: DWORD = 0x08000000; -pub const CERT_NAME_STR_COMMA_FLAG: DWORD = 0x04000000; -pub const CERT_NAME_STR_REVERSE_FLAG: DWORD = 0x02000000; -pub const CERT_NAME_STR_FORWARD_FLAG: DWORD = 0x01000000; -pub const CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG: DWORD = 0x00010000; -pub const CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG: DWORD = 0x00020000; -pub const CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG: DWORD = 0x00040000; -pub const CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG: DWORD = 0x00080000; -pub const CERT_NAME_STR_DISABLE_UTF8_DIR_STR_FLAG: DWORD = 0x00100000; -pub const CERT_NAME_STR_ENABLE_PUNYCODE_FLAG: DWORD = 0x00200000; -extern "system" { - pub fn CertStrToNameA( - dwCertEncodingType: DWORD, - pszX500: LPCSTR, - dwStrType: DWORD, - pvReserved: *mut c_void, - pbEncoded: *mut BYTE, - pcbEncoded: *mut DWORD, - ppszError: *mut LPCSTR, - ) -> BOOL; - pub fn CertStrToNameW( - dwCertEncodingType: DWORD, - pszX500: LPCWSTR, - dwStrType: DWORD, - pvReserved: *mut c_void, - pbEncoded: *mut BYTE, - pcbEncoded: *mut DWORD, - ppszError: *mut LPCWSTR, - ) -> BOOL; - pub fn CertGetNameStringA( - pCertContext: PCCERT_CONTEXT, - dwType: DWORD, - dwFlags: DWORD, - pvTypePara: *mut c_void, - pszNameString: LPSTR, - cchNameString: DWORD, - ) -> DWORD; - pub fn CertGetNameStringW( - pCertContext: PCCERT_CONTEXT, - dwType: DWORD, - dwFlags: DWORD, - pvTypePara: *mut c_void, - pszNameString: LPWSTR, - cchNameString: DWORD, - ) -> DWORD; -} -pub const CERT_NAME_EMAIL_TYPE: DWORD = 1; -pub const CERT_NAME_RDN_TYPE: DWORD = 2; -pub const CERT_NAME_ATTR_TYPE: DWORD = 3; -pub const CERT_NAME_SIMPLE_DISPLAY_TYPE: DWORD = 4; -pub const CERT_NAME_FRIENDLY_DISPLAY_TYPE: DWORD = 5; -pub const CERT_NAME_DNS_TYPE: DWORD = 6; -pub const CERT_NAME_URL_TYPE: DWORD = 7; -pub const CERT_NAME_UPN_TYPE: DWORD = 8; -pub const CERT_NAME_ISSUER_FLAG: DWORD = 0x1; -pub const CERT_NAME_DISABLE_IE4_UTF8_FLAG: DWORD = 0x00010000; -pub const CERT_NAME_SEARCH_ALL_NAMES_FLAG: DWORD = 0x2; -FN!{stdcall PFN_CRYPT_GET_SIGNER_CERTIFICATE( - pvGetArg: *mut c_void, - dwCertEncodingType: DWORD, - pSignerId: PCERT_INFO, - hMsgCertStore: HCERTSTORE, -) -> PCCERT_CONTEXT} -STRUCT!{struct CRYPT_SIGN_MESSAGE_PARA { - cbSize: DWORD, - dwMsgEncodingType: DWORD, - pSigningCert: PCCERT_CONTEXT, - HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - pvHashAuxInfo: *mut c_void, - cMsgCert: DWORD, - rgpMsgCert: *mut PCCERT_CONTEXT, - cMsgCrl: DWORD, - rgpMsgCrl: *mut PCCRL_CONTEXT, - cAuthAttr: DWORD, - rgAuthAttr: PCRYPT_ATTRIBUTE, - cUnauthAttr: DWORD, - rgUnauthAttr: PCRYPT_ATTRIBUTE, - dwFlags: DWORD, - dwInnerContentType: DWORD, - HashEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - pvHashEncryptionAuxInfo: *mut c_void, -}} -pub type PCRYPT_SIGN_MESSAGE_PARA = *mut CRYPT_SIGN_MESSAGE_PARA; -pub const CRYPT_MESSAGE_BARE_CONTENT_OUT_FLAG: DWORD = 0x00000001; -pub const CRYPT_MESSAGE_ENCAPSULATED_CONTENT_OUT_FLAG: DWORD = 0x00000002; -pub const CRYPT_MESSAGE_KEYID_SIGNER_FLAG: DWORD = 0x00000004; -pub const CRYPT_MESSAGE_SILENT_KEYSET_FLAG: DWORD = 0x00000040; -STRUCT!{struct CRYPT_VERIFY_MESSAGE_PARA { - cbSize: DWORD, - dwMsgAndCertEncodingType: DWORD, - hCryptProv: HCRYPTPROV_LEGACY, - pfnGetSignerCertificate: PFN_CRYPT_GET_SIGNER_CERTIFICATE, - pvGetArg: *mut c_void, - pStrongSignPara: PCCERT_STRONG_SIGN_PARA, -}} -pub type PCRYPT_VERIFY_MESSAGE_PARA = *mut CRYPT_VERIFY_MESSAGE_PARA; -STRUCT!{struct CRYPT_ENCRYPT_MESSAGE_PARA { - cbSize: DWORD, - dwMsgEncodingType: DWORD, - hCryptProv: HCRYPTPROV_LEGACY, - ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - pvEncryptionAuxInfo: *mut c_void, - dwFlags: DWORD, - dwInnerContentType: DWORD, -}} -pub type PCRYPT_ENCRYPT_MESSAGE_PARA = *mut CRYPT_DECRYPT_MESSAGE_PARA; -pub const CRYPT_MESSAGE_KEYID_RECIPIENT_FLAG: DWORD = 0x4; -STRUCT!{struct CRYPT_DECRYPT_MESSAGE_PARA { - cbSize: DWORD, - dwMsgAndCertEncodingType: DWORD, - cCertStore: DWORD, - rghCertStore: *mut HCERTSTORE, - dwFlags: DWORD, -}} -pub type PCRYPT_DECRYPT_MESSAGE_PARA = *mut CRYPT_DECRYPT_MESSAGE_PARA; -STRUCT!{struct CRYPT_HASH_MESSAGE_PARA { - cbSize: DWORD, - dwMsgEncodingType: DWORD, - hCryptProv: HCRYPTPROV_LEGACY, - HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - pvHashAuxInfo: *mut c_void, -}} -pub type PCRYPT_HASH_MESSAGE_PARA = *mut CRYPT_HASH_MESSAGE_PARA; -UNION!{union CRYPT_KEY_SIGN_MESSAGE_PARA_u { - [usize; 1], - hCryptProv hCryptProv_mut: HCRYPTPROV, - hNCryptKey hNCryptKey_mut: NCRYPT_KEY_HANDLE, -}} -STRUCT!{struct CRYPT_KEY_SIGN_MESSAGE_PARA { - cbSize: DWORD, - dwMsgAndCertEncodingType: DWORD, - u: CRYPT_KEY_SIGN_MESSAGE_PARA_u, - dwKeySpec: DWORD, - HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - pvHashAuxInfo: *mut c_void, - PubKeyAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, -}} -pub type PCRYPT_KEY_SIGN_MESSAGE_PARA = *mut CRYPT_KEY_SIGN_MESSAGE_PARA; -STRUCT!{struct CRYPT_KEY_VERIFY_MESSAGE_PARA { - cbSize: DWORD, - dwMsgEncodingType: DWORD, - hCryptProv: HCRYPTPROV_LEGACY, -}} -pub type PCRYPT_KEY_VERIFY_MESSAGE_PARA = *mut CRYPT_KEY_VERIFY_MESSAGE_PARA; -extern "system" { - pub fn CryptSignMessage( - pSignPara: PCRYPT_SIGN_MESSAGE_PARA, - fDetachedSignature: BOOL, - cToBeSigned: DWORD, - rgpbToBeSigned: *mut *const BYTE, - rgcbToBeSigned: *mut DWORD, - pbSignedBlob: *mut BYTE, - pcbSignedBlob: *mut DWORD, - ) -> BOOL; - pub fn CryptVerifyMessageSignature( - pVerifyPara: PCRYPT_VERIFY_MESSAGE_PARA, - dwSignerIndex: DWORD, - pbSignedBlob: *const BYTE, - cbSignedBlob: DWORD, - pbDecoded: *mut BYTE, - pcbDecoded: *mut DWORD, - ppSignerCert: *mut PCCERT_CONTEXT, - ) -> BOOL; - pub fn CryptGetMessageSignerCount( - dwMsgEncodingType: DWORD, - pbSignedBlob: *const BYTE, - cbSignedBlob: DWORD, - ) -> LONG; - pub fn CryptGetMessageCertificates( - dwMsgAndCertEncodingType: DWORD, - hCryptProv: HCRYPTPROV_LEGACY, - dwFlags: DWORD, - pbSignedBlob: *const BYTE, - cbSignedBlob: DWORD, - ) -> HCERTSTORE; - pub fn CryptVerifyDetachedMessageSignature( - pVerifyPara: PCRYPT_VERIFY_MESSAGE_PARA, - dwSignerIndex: DWORD, - pbDetachedSignBlob: *const BYTE, - cbDetachedSignBlob: DWORD, - cToBeSigned: DWORD, - rgpbToBeSigned: *mut *const BYTE, - rgcbToBeSigned: *mut DWORD, - ppSignerCert: *mut PCCERT_CONTEXT, - ) -> BOOL; - pub fn CryptEncryptMessage( - pEncryptPara: PCRYPT_ENCRYPT_MESSAGE_PARA, - cRecipientCert: DWORD, - rgpRecipientCert: *mut PCCERT_CONTEXT, - pbToBeEncrypted: *const BYTE, - cbToBeEncrypted: DWORD, - pbEncryptedBlob: *mut BYTE, - pcbEncryptedBlob: *mut DWORD, - ) -> BOOL; - pub fn CryptDecryptMessage( - pDecryptPara: PCRYPT_DECRYPT_MESSAGE_PARA, - pbEncryptedBlob: *const BYTE, - cbEncryptedBlob: DWORD, - pbDecrypted: *mut BYTE, - pcbDecrypted: *mut DWORD, - ppXchgCert: *mut PCCERT_CONTEXT, - ) -> BOOL; - pub fn CryptSignAndEncryptMessage( - pSignPara: PCRYPT_SIGN_MESSAGE_PARA, - pEncryptPara: PCRYPT_ENCRYPT_MESSAGE_PARA, - cRecipientCert: DWORD, - rgpRecipientCert: *mut PCCERT_CONTEXT, - pbToBeSignedAndEncrypted: *const BYTE, - cbToBeSignedAndEncrypted: DWORD, - pbSignedAndEncryptedBlob: *mut BYTE, - pcbSignedAndEncryptedBlob: *mut DWORD, - ) -> BOOL; - pub fn CryptDecryptAndVerifyMessageSignature( - pDecryptPara: PCRYPT_DECRYPT_MESSAGE_PARA, - pVerifyPara: PCRYPT_VERIFY_MESSAGE_PARA, - dwSignerIndex: DWORD, - pbEncryptedBlob: *const BYTE, - cbEncryptedBlob: DWORD, - pbDecrypted: *mut BYTE, - pcbDecrypted: *mut DWORD, - ppXchgCert: *mut PCCERT_CONTEXT, - ppSignerCert: *mut PCCERT_CONTEXT, - ) -> BOOL; - pub fn CryptDecodeMessage( - dwMsgTypeFlags: DWORD, - pDecryptPara: PCRYPT_DECRYPT_MESSAGE_PARA, - pVerifyPara: PCRYPT_VERIFY_MESSAGE_PARA, - dwSignerIndex: DWORD, - pbEncodedBlob: *const BYTE, - cbEncodedBlob: DWORD, - dwPrevInnerContentType: DWORD, - pdwMsgType: *mut DWORD, - pdwInnerContentType: *mut DWORD, - pbDecoded: *mut BYTE, - pcbDecoded: *mut DWORD, - ppXchgCert: *mut PCCERT_CONTEXT, - ppSignerCert: *mut PCCERT_CONTEXT, - ) -> BOOL; - pub fn CryptHashMessage( - pHashPara: PCRYPT_HASH_MESSAGE_PARA, - fDetachedHash: BOOL, - cToBeHashed: DWORD, - rgpbToBeHashed: *mut *const BYTE, - rgcbToBeHashed: *mut DWORD, - pbHashedBlob: *mut BYTE, - pcbHashedBlob: *mut DWORD, - pbComputedHash: *mut BYTE, - pcbComputedHash: *mut DWORD, - ) -> BOOL; - pub fn CryptVerifyMessageHash( - pHashPara: PCRYPT_HASH_MESSAGE_PARA, - pbHashedBlob: *mut BYTE, - cbHashedBlob: DWORD, - pbToBeHashed: *mut BYTE, - pcbToBeHashed: *mut DWORD, - pbComputedHash: *mut BYTE, - pcbComputedHash: *mut DWORD, - ) -> BOOL; - pub fn CryptVerifyDetachedMessageHash( - pHashPara: PCRYPT_HASH_MESSAGE_PARA, - pbDetachedHashBlob: *mut BYTE, - cbDetachedHashBlob: DWORD, - cToBeHashed: DWORD, - rgpbToBeHashed: *mut *const BYTE, - rgcbToBeHashed: *mut DWORD, - pbComputedHash: *mut BYTE, - pcbComputedHash: *mut DWORD, - ) -> BOOL; - pub fn CryptSignMessageWithKey( - pSignPara: PCRYPT_KEY_SIGN_MESSAGE_PARA, - pbToBeSigned: *const BYTE, - cbToBeSigned: DWORD, - pbSignedBlob: *mut BYTE, - pcbSignedBlob: *mut DWORD, - ) -> BOOL; - pub fn CryptVerifyMessageSignatureWithKey( - pVerifyPara: PCRYPT_KEY_VERIFY_MESSAGE_PARA, - pPublicKeyInfo: PCERT_PUBLIC_KEY_INFO, - pbSignedBlob: *const BYTE, - cbSignedBlob: DWORD, - pbDecoded: *mut BYTE, - pcbDecoded: *mut DWORD, - ) -> BOOL; - pub fn CertOpenSystemStoreA( - hProv: HCRYPTPROV_LEGACY, - szSubsystemProtocol: LPCSTR, - ) -> HCERTSTORE; - pub fn CertOpenSystemStoreW( - hProv: HCRYPTPROV_LEGACY, - szSubsystemProtocol: LPCWSTR, - ) -> HCERTSTORE; - pub fn CertAddEncodedCertificateToSystemStoreA( - szCertStoreName: LPCSTR, - pbCertEncoded: *const BYTE, - cbCertEncoded: DWORD, - ) -> BOOL; - pub fn CertAddEncodedCertificateToSystemStoreW( - szCertStoreName: LPCWSTR, - pbCertEncoded: *const BYTE, - cbCertEncoded: DWORD, - ) -> BOOL; -} -STRUCT!{struct CERT_CHAIN { - cCerts: DWORD, - certs: PCERT_BLOB, - keyLocatorInfo: CRYPT_KEY_PROV_INFO, -}} -pub type PCERT_CHAIN = *mut CERT_CHAIN; -extern "system" { - pub fn FindCertsByIssuer( - pCertChains: PCERT_CHAIN, - pcbCertChains: *mut DWORD, - pcCertChains: *mut DWORD, - pbEncodedIssuerName: *mut BYTE, - cbEncodedIssuerName: DWORD, - pwszPurpose: LPCWSTR, - dwKeySpec: DWORD, - ) -> HRESULT; - pub fn CryptQueryObject( - dwObjectType: DWORD, - pvObject: *const c_void, - dwExpectedContentTypeFlags: DWORD, - dwExpectedFormatTypeFlags: DWORD, - dwFlags: DWORD, - pdwMsgAndCertEncodingType: *mut DWORD, - pdwContentType: *mut DWORD, - pdwFormatType: *mut DWORD, - phCertStore: *mut HCERTSTORE, - phMsg: *mut HCRYPTMSG, - ppvContext: *mut *const c_void, - ) -> BOOL; -} -pub const CERT_QUERY_OBJECT_FILE: DWORD = 0x00000001; -pub const CERT_QUERY_OBJECT_BLOB: DWORD = 0x00000002; -pub const CERT_QUERY_CONTENT_CERT: DWORD = 1; -pub const CERT_QUERY_CONTENT_CTL: DWORD = 2; -pub const CERT_QUERY_CONTENT_CRL: DWORD = 3; -pub const CERT_QUERY_CONTENT_SERIALIZED_STORE: DWORD = 4; -pub const CERT_QUERY_CONTENT_SERIALIZED_CERT: DWORD = 5; -pub const CERT_QUERY_CONTENT_SERIALIZED_CTL: DWORD = 6; -pub const CERT_QUERY_CONTENT_SERIALIZED_CRL: DWORD = 7; -pub const CERT_QUERY_CONTENT_PKCS7_SIGNED: DWORD = 8; -pub const CERT_QUERY_CONTENT_PKCS7_UNSIGNED: DWORD = 9; -pub const CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED: DWORD = 10; -pub const CERT_QUERY_CONTENT_PKCS10: DWORD = 11; -pub const CERT_QUERY_CONTENT_PFX: DWORD = 12; -pub const CERT_QUERY_CONTENT_CERT_PAIR: DWORD = 13; -pub const CERT_QUERY_CONTENT_PFX_AND_LOAD: DWORD = 14; -pub const CERT_QUERY_CONTENT_FLAG_CERT: DWORD = 1 << CERT_QUERY_CONTENT_CERT; -pub const CERT_QUERY_CONTENT_FLAG_CTL: DWORD = 1 << CERT_QUERY_CONTENT_CTL; -pub const CERT_QUERY_CONTENT_FLAG_CRL: DWORD = 1 << CERT_QUERY_CONTENT_CRL; -pub const CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE: DWORD - = 1<< CERT_QUERY_CONTENT_SERIALIZED_STORE; -pub const CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT: DWORD = 1 << CERT_QUERY_CONTENT_SERIALIZED_CERT; -pub const CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL: DWORD = 1 << CERT_QUERY_CONTENT_SERIALIZED_CTL; -pub const CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL: DWORD = 1 << CERT_QUERY_CONTENT_SERIALIZED_CRL; -pub const CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED: DWORD = 1 << CERT_QUERY_CONTENT_PKCS7_SIGNED; -pub const CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED: DWORD = 1 << CERT_QUERY_CONTENT_PKCS7_UNSIGNED; -pub const CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED: DWORD - = 1 << CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED; -pub const CERT_QUERY_CONTENT_FLAG_PKCS10: DWORD = 1 << CERT_QUERY_CONTENT_PKCS10; -pub const CERT_QUERY_CONTENT_FLAG_PFX: DWORD = 1 << CERT_QUERY_CONTENT_PFX; -pub const CERT_QUERY_CONTENT_FLAG_CERT_PAIR: DWORD = 1 << CERT_QUERY_CONTENT_CERT_PAIR; -pub const CERT_QUERY_CONTENT_FLAG_PFX_AND_LOAD: DWORD = 1 << CERT_QUERY_CONTENT_PFX_AND_LOAD; -pub const CERT_QUERY_CONTENT_FLAG_ALL: DWORD = CERT_QUERY_CONTENT_FLAG_CERT - | CERT_QUERY_CONTENT_FLAG_CTL | CERT_QUERY_CONTENT_FLAG_CRL - | CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT - | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL - | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED - | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED | CERT_QUERY_CONTENT_FLAG_PKCS10 - | CERT_QUERY_CONTENT_FLAG_PFX | CERT_QUERY_CONTENT_FLAG_CERT_PAIR; -pub const CERT_QUERY_CONTENT_FLAG_ALL_ISSUER_CERT: DWORD = CERT_QUERY_CONTENT_FLAG_CERT - | CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT - | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED; -pub const CERT_QUERY_FORMAT_BINARY: DWORD = 1; -pub const CERT_QUERY_FORMAT_BASE64_ENCODED: DWORD = 2; -pub const CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED: DWORD = 3; -pub const CERT_QUERY_FORMAT_FLAG_BINARY: DWORD = 1 << CERT_QUERY_FORMAT_BINARY; -pub const CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED: DWORD = 1 << CERT_QUERY_FORMAT_BASE64_ENCODED; -pub const CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED: DWORD - = 1 << CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED; -pub const CERT_QUERY_FORMAT_FLAG_ALL: DWORD = CERT_QUERY_FORMAT_FLAG_BINARY - | CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED | CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED; -extern "system" { - pub fn CryptMemAlloc( - cbSize: ULONG, - ) -> LPVOID; - pub fn CryptMemRealloc( - pv: LPVOID, - cbSize: ULONG, - ) -> LPVOID; - pub fn CryptMemFree( - pv: LPVOID, - ); -} -pub type HCRYPTASYNC = HANDLE; -pub type PHCRYPTASYNC = *mut HANDLE; -FN!{stdcall PFN_CRYPT_ASYNC_PARAM_FREE_FUNC( - pszParamOid: LPSTR, - pvParam: LPVOID, -) -> ()} -extern "system" { - pub fn CryptCreateAsyncHandle( - dwFlags: DWORD, - phAsync: PHCRYPTASYNC, - ) -> BOOL; - pub fn CryptSetAsyncParam( - hAsync: HCRYPTASYNC, - pszParamOid: LPSTR, - pvParam: LPVOID, - pfnFree: PFN_CRYPT_ASYNC_PARAM_FREE_FUNC, - ) -> BOOL; - pub fn CryptGetAsyncParam( - hAsync: HCRYPTASYNC, - pszParamOid: LPSTR, - ppvParam: *mut LPVOID, - ppfnFree: *mut PFN_CRYPT_ASYNC_PARAM_FREE_FUNC, - ) -> BOOL; - pub fn CryptCloseAsyncHandle( - hAsync: HCRYPTASYNC, - ) -> BOOL; -} -STRUCT!{struct CRYPT_BLOB_ARRAY { - cBlob: DWORD, - rgBlob: PCRYPT_DATA_BLOB, -}} -pub type PCRYPT_BLOB_ARRAY = *mut CRYPT_BLOB_ARRAY; -STRUCT!{struct CRYPT_CREDENTIALS { - cbSize: DWORD, - pszCredentialsOid: LPCSTR, - pvCredentials: LPVOID, -}} -pub type PCRYPT_CREDENTIALS = *mut CRYPT_CREDENTIALS; -pub const CREDENTIAL_OID_PASSWORD_CREDENTIALS_A: LPCSTR = 1 as LPCSTR; -pub const CREDENTIAL_OID_PASSWORD_CREDENTIALS_W: LPCSTR = 2 as LPCSTR; -STRUCT!{struct CRYPT_PASSWORD_CREDENTIALSA { - cbSize: DWORD, - pszUsername: LPSTR, - pszPassword: LPSTR, -}} -pub type PCRYPT_PASSWORD_CREDENTIALSA = *mut CRYPT_PASSWORD_CREDENTIALSA; -STRUCT!{struct CRYPT_PASSWORD_CREDENTIALSW { - cbSize: DWORD, - pszUsername: LPWSTR, - pszPassword: LPWSTR, -}} -pub type PCRYPT_PASSWORD_CREDENTIALSW = *mut CRYPT_PASSWORD_CREDENTIALSW; -pub const SCHEME_OID_RETRIEVE_ENCODED_OBJECT_FUNC: &'static str = "SchemeDllRetrieveEncodedObject"; -pub const SCHEME_OID_RETRIEVE_ENCODED_OBJECTW_FUNC: &'static str - = "SchemeDllRetrieveEncodedObjectW"; -FN!{stdcall PFN_FREE_ENCODED_OBJECT_FUNC( - pszObjectOid: LPCSTR, - pObject: PCRYPT_BLOB_ARRAY, - pvFreeContext: LPVOID, -) -> ()} -pub const CONTEXT_OID_CREATE_OBJECT_CONTEXT_FUNC: &'static str = "ContextDllCreateObjectContext"; -pub const CONTEXT_OID_CERTIFICATE: LPCSTR = 1 as LPCSTR; -pub const CONTEXT_OID_CRL: LPCSTR = 2 as LPCSTR; -pub const CONTEXT_OID_CTL: LPCSTR = 3 as LPCSTR; -pub const CONTEXT_OID_PKCS7: LPCSTR = 4 as LPCSTR; -pub const CONTEXT_OID_CAPI2_ANY: LPCSTR = 5 as LPCSTR; -pub const CONTEXT_OID_OCSP_RESP: LPCSTR = 6 as LPCSTR; -pub const CRYPT_RETRIEVE_MULTIPLE_OBJECTS: DWORD = 0x00000001; -pub const CRYPT_CACHE_ONLY_RETRIEVAL: DWORD = 0x00000002; -pub const CRYPT_WIRE_ONLY_RETRIEVAL: DWORD = 0x00000004; -pub const CRYPT_DONT_CACHE_RESULT: DWORD = 0x00000008; -pub const CRYPT_ASYNC_RETRIEVAL: DWORD = 0x00000010; -pub const CRYPT_STICKY_CACHE_RETRIEVAL: DWORD = 0x00001000; -pub const CRYPT_LDAP_SCOPE_BASE_ONLY_RETRIEVAL: DWORD = 0x00002000; -pub const CRYPT_OFFLINE_CHECK_RETRIEVAL: DWORD = 0x00004000; -pub const CRYPT_LDAP_INSERT_ENTRY_ATTRIBUTE: DWORD = 0x00008000; -pub const CRYPT_LDAP_SIGN_RETRIEVAL: DWORD = 0x00010000; -pub const CRYPT_NO_AUTH_RETRIEVAL: DWORD = 0x00020000; -pub const CRYPT_LDAP_AREC_EXCLUSIVE_RETRIEVAL: DWORD = 0x00040000; -pub const CRYPT_AIA_RETRIEVAL: DWORD = 0x00080000; -pub const CRYPT_HTTP_POST_RETRIEVAL: DWORD = 0x00100000; -pub const CRYPT_PROXY_CACHE_RETRIEVAL: DWORD = 0x00200000; -pub const CRYPT_NOT_MODIFIED_RETRIEVAL: DWORD = 0x00400000; -pub const CRYPT_ENABLE_SSL_REVOCATION_RETRIEVAL: DWORD = 0x00800000; -pub const CRYPT_RANDOM_QUERY_STRING_RETRIEVAL: DWORD = 0x04000000; -pub const CRYPT_ENABLE_FILE_RETRIEVAL: DWORD = 0x08000000; -pub const CRYPT_CREATE_NEW_FLUSH_ENTRY: DWORD = 0x10000000; -pub const CRYPT_VERIFY_CONTEXT_SIGNATURE: DWORD = 0x00000020; -pub const CRYPT_VERIFY_DATA_HASH: DWORD = 0x00000040; -pub const CRYPT_KEEP_TIME_VALID: DWORD = 0x00000080; -pub const CRYPT_DONT_VERIFY_SIGNATURE: DWORD = 0x00000100; -pub const CRYPT_DONT_CHECK_TIME_VALIDITY: DWORD = 0x00000200; -pub const CRYPT_CHECK_FRESHNESS_TIME_VALIDITY: DWORD = 0x00000400; -pub const CRYPT_ACCUMULATIVE_TIMEOUT: DWORD = 0x00000800; -pub const CRYPT_OCSP_ONLY_RETRIEVAL: DWORD = 0x01000000; -pub const CRYPT_NO_OCSP_FAILOVER_TO_CRL_RETRIEVAL: DWORD = 0x02000000; -STRUCT!{struct CRYPTNET_URL_CACHE_PRE_FETCH_INFO { - cbSize: DWORD, - dwObjectType: DWORD, - dwError: DWORD, - dwReserved: DWORD, - ThisUpdateTime: FILETIME, - NextUpdateTime: FILETIME, - PublishTime: FILETIME, -}} -pub type PCRYPTNET_URL_CACHE_PRE_FETCH_INFO = *mut CRYPTNET_URL_CACHE_PRE_FETCH_INFO; -pub const CRYPTNET_URL_CACHE_PRE_FETCH_NONE: DWORD = 0; -pub const CRYPTNET_URL_CACHE_PRE_FETCH_BLOB: DWORD = 1; -pub const CRYPTNET_URL_CACHE_PRE_FETCH_CRL: DWORD = 2; -pub const CRYPTNET_URL_CACHE_PRE_FETCH_OCSP: DWORD = 3; -pub const CRYPTNET_URL_CACHE_PRE_FETCH_AUTOROOT_CAB: DWORD = 5; -pub const CRYPTNET_URL_CACHE_PRE_FETCH_DISALLOWED_CERT_CAB: DWORD = 6; -pub const CRYPTNET_URL_CACHE_PRE_FETCH_PIN_RULES_CAB: DWORD = 7; -STRUCT!{struct CRYPTNET_URL_CACHE_FLUSH_INFO { - cbSize: DWORD, - dwExemptSeconds: DWORD, - ExpireTime: FILETIME, -}} -pub type PCRYPTNET_URL_CACHE_FLUSH_INFO = *mut CRYPTNET_URL_CACHE_FLUSH_INFO; -pub const CRYPTNET_URL_CACHE_DEFAULT_FLUSH: DWORD = 0; -pub const CRYPTNET_URL_CACHE_DISABLE_FLUSH: DWORD = 0xFFFFFFFF; -STRUCT!{struct CRYPTNET_URL_CACHE_RESPONSE_INFO { - cbSize: DWORD, - wResponseType: WORD, - wResponseFlags: WORD, - LastModifiedTime: FILETIME, - dwMaxAge: DWORD, - pwszETag: LPCWSTR, - dwProxyId: DWORD, -}} -pub type PCRYPTNET_URL_CACHE_RESPONSE_INFO = *mut CRYPTNET_URL_CACHE_RESPONSE_INFO; -pub const CRYPTNET_URL_CACHE_RESPONSE_NONE: WORD = 0; -pub const CRYPTNET_URL_CACHE_RESPONSE_HTTP: WORD = 1; -pub const CRYPTNET_URL_CACHE_RESPONSE_VALIDATED: WORD = 0x8000; -STRUCT!{struct CRYPT_RETRIEVE_AUX_INFO { - cbSize: DWORD, - pLastSyncTime: *mut FILETIME, - dwMaxUrlRetrievalByteCount: DWORD, - pPreFetchInfo: PCRYPTNET_URL_CACHE_PRE_FETCH_INFO, - pFlushInfo: PCRYPTNET_URL_CACHE_FLUSH_INFO, - ppResponseInfo: *mut PCRYPTNET_URL_CACHE_RESPONSE_INFO, - pwszCacheFileNamePrefix: LPWSTR, - pftCacheResync: LPFILETIME, - fProxyCacheRetrieval: BOOL, - dwHttpStatusCode: DWORD, - ppwszErrorResponseHeaders: *mut LPWSTR, - ppErrorContentBlob: *mut PCRYPT_DATA_BLOB, -}} -pub type PCRYPT_RETRIEVE_AUX_INFO = *mut CRYPT_RETRIEVE_AUX_INFO; -pub const CRYPT_RETRIEVE_MAX_ERROR_CONTENT_LENGTH: DWORD = 0x1000; -extern "system" { - pub fn CryptRetrieveObjectByUrlA( - pszUrl: LPCSTR, - pszObjectOid: LPCSTR, - dwRetrievalFlags: DWORD, - dwTimeout: DWORD, - ppvObject: *mut LPVOID, - hAsyncRetrieve: HCRYPTASYNC, - pCredentials: PCRYPT_CREDENTIALS, - pvVerify: LPVOID, - pAuxInfo: PCRYPT_RETRIEVE_AUX_INFO, - ) -> BOOL; - pub fn CryptRetrieveObjectByUrlW( - pszUrl: LPCWSTR, - pszObjectOid: LPCSTR, - dwRetrievalFlags: DWORD, - dwTimeout: DWORD, - ppvObject: *mut LPVOID, - hAsyncRetrieve: HCRYPTASYNC, - pCredentials: PCRYPT_CREDENTIALS, - pvVerify: LPVOID, - pAuxInfo: PCRYPT_RETRIEVE_AUX_INFO, - ) -> BOOL; -} -FN!{stdcall PFN_CRYPT_CANCEL_RETRIEVAL( - dwFlags: DWORD, - pvArg: *mut c_void, -) -> BOOL} -extern "system" { - pub fn CryptInstallCancelRetrieval( - pfnCancel: PFN_CRYPT_CANCEL_RETRIEVAL, - pvArg: *const c_void, - dwFlags: DWORD, - pvReserved: *mut c_void, - ) -> BOOL; - pub fn CryptUninstallCancelRetrieval( - dwFlags: DWORD, - pvReserved: *mut c_void, - ) -> BOOL; - pub fn CryptCancelAsyncRetrieval( - hAsyncRetrieval: HCRYPTASYNC, - ) -> BOOL; -} -pub const CRYPT_PARAM_ASYNC_RETRIEVAL_COMPLETION: LPCSTR = 1 as LPCSTR; -FN!{stdcall PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC( - pvCompletion: LPVOID, - dwCompletionCode: DWORD, - pszUrl: LPCSTR, - pszObjectOid: LPSTR, - pvObject: LPVOID, -) -> ()} -STRUCT!{struct CRYPT_ASYNC_RETRIEVAL_COMPLETION { - pfnCompletion: PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC, - pvCompletion: LPVOID, -}} -pub type PCRYPT_ASYNC_RETRIEVAL_COMPLETION = *mut CRYPT_ASYNC_RETRIEVAL_COMPLETION; -pub const CRYPT_PARAM_CANCEL_ASYNC_RETRIEVAL: LPCSTR = 2 as LPCSTR; -FN!{stdcall PFN_CANCEL_ASYNC_RETRIEVAL_FUNC( - hAsyncRetrieve: HCRYPTASYNC, -) -> BOOL} -pub const CRYPT_GET_URL_FROM_PROPERTY: DWORD = 0x00000001; -pub const CRYPT_GET_URL_FROM_EXTENSION: DWORD = 0x00000002; -pub const CRYPT_GET_URL_FROM_UNAUTH_ATTRIBUTE: DWORD = 0x00000004; -pub const CRYPT_GET_URL_FROM_AUTH_ATTRIBUTE: DWORD = 0x00000008; -STRUCT!{struct CRYPT_URL_ARRAY { - cUrl: DWORD, - rgwszUrl: *mut LPWSTR, -}} -pub type PCRYPT_URL_ARRAY = *mut CRYPT_URL_ARRAY; -STRUCT!{struct CRYPT_URL_INFO { - cbSize: DWORD, - dwSyncDeltaTime: DWORD, - cGroup: DWORD, - rgcGroupEntry: *mut DWORD, -}} -pub type PCRYPT_URL_INFO = *mut CRYPT_URL_INFO; -extern "system" { - pub fn CryptGetObjectUrl( - pszUrlOid: LPCSTR, - pvPara: LPVOID, - dwFlags: DWORD, - pUrlArray: PCRYPT_URL_ARRAY, - pcbUrlArray: *mut DWORD, - pUrlInfo: PCRYPT_URL_INFO, - pcbUrlInfo: *mut DWORD, - pvReserved: LPVOID, - ) -> BOOL; -} -pub const URL_OID_GET_OBJECT_URL_FUNC: &'static str = "UrlDllGetObjectUrl"; -pub const URL_OID_CERTIFICATE_ISSUER: LPCSTR = 1 as LPCSTR; -pub const URL_OID_CERTIFICATE_CRL_DIST_POINT: LPCSTR = 2 as LPCSTR; -pub const URL_OID_CTL_ISSUER: LPCSTR = 3 as LPCSTR; -pub const URL_OID_CTL_NEXT_UPDATE: LPCSTR = 4 as LPCSTR; -pub const URL_OID_CRL_ISSUER: LPCSTR = 5 as LPCSTR; -pub const URL_OID_CERTIFICATE_FRESHEST_CRL: LPCSTR = 6 as LPCSTR; -pub const URL_OID_CRL_FRESHEST_CRL: LPCSTR = 7 as LPCSTR; -pub const URL_OID_CROSS_CERT_DIST_POINT: LPCSTR = 8 as LPCSTR; -pub const URL_OID_CERTIFICATE_OCSP: LPCSTR = 9 as LPCSTR; -pub const URL_OID_CERTIFICATE_OCSP_AND_CRL_DIST_POINT: LPCSTR = 10 as LPCSTR; -pub const URL_OID_CERTIFICATE_CRL_DIST_POINT_AND_OCSP: LPCSTR = 11 as LPCSTR; -pub const URL_OID_CROSS_CERT_SUBJECT_INFO_ACCESS: LPCSTR = 12 as LPCSTR; -pub const URL_OID_CERTIFICATE_ONLY_OCSP: LPCSTR = 13 as LPCSTR; -STRUCT!{struct CERT_CRL_CONTEXT_PAIR { - pCertContext: PCCERT_CONTEXT, - pCrlContext: PCCRL_CONTEXT, -}} -pub type PCERT_CRL_CONTEXT_PAIR = *mut CERT_CRL_CONTEXT_PAIR; -pub type PCCERT_CRL_CONTEXT_PAIR = *const CERT_CRL_CONTEXT_PAIR; -STRUCT!{struct CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO { - cbSize: DWORD, - iDeltaCrlIndicator: c_int, - pftCacheResync: LPFILETIME, - pLastSyncTime: LPFILETIME, - pMaxAgeTime: LPFILETIME, - pChainPara: PCERT_REVOCATION_CHAIN_PARA, - pDeltaCrlIndicator: PCRYPT_INTEGER_BLOB, -}} -pub type PCRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO = *mut CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO; -extern "system" { - pub fn CryptGetTimeValidObject( - pszTimeValidOid: LPCSTR, - pvPara: LPVOID, - pIssuer: PCCERT_CONTEXT, - pftValidFor: LPFILETIME, - dwFlags: DWORD, - dwTimeout: DWORD, - ppvObject: *mut LPVOID, - pCredentials: PCRYPT_CREDENTIALS, - pExtraInfo: PCRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO, - ) -> BOOL; -} -pub const TIME_VALID_OID_GET_OBJECT_FUNC: &'static str = "TimeValidDllGetObject"; -pub const TIME_VALID_OID_GET_CTL: LPCSTR = 1 as LPCSTR; -pub const TIME_VALID_OID_GET_CRL: LPCSTR = 2 as LPCSTR; -pub const TIME_VALID_OID_GET_CRL_FROM_CERT: LPCSTR = 3 as LPCSTR; -pub const TIME_VALID_OID_GET_FRESHEST_CRL_FROM_CERT: LPCSTR = 4 as LPCSTR; -pub const TIME_VALID_OID_GET_FRESHEST_CRL_FROM_CRL: LPCSTR = 5 as LPCSTR; -extern "system" { - pub fn CryptFlushTimeValidObject( - pszFlushTimeValidOid: LPCSTR, - pvPara: LPVOID, - pIssuer: PCCERT_CONTEXT, - dwFlags: DWORD, - pvReserved: LPVOID, - ) -> BOOL; -} -pub const TIME_VALID_OID_FLUSH_OBJECT_FUNC: &'static str = "TimeValidDllFlushObject"; -pub const TIME_VALID_OID_FLUSH_CTL: LPCSTR = 1 as LPCSTR; -pub const TIME_VALID_OID_FLUSH_CRL: LPCSTR = 2 as LPCSTR; -pub const TIME_VALID_OID_FLUSH_CRL_FROM_CERT: LPCSTR = 3 as LPCSTR; -pub const TIME_VALID_OID_FLUSH_FRESHEST_CRL_FROM_CERT: LPCSTR = 4 as LPCSTR; -pub const TIME_VALID_OID_FLUSH_FRESHEST_CRL_FROM_CRL: LPCSTR = 5 as LPCSTR; -extern "system" { - pub fn CertCreateSelfSignCertificate( - hCryptProvOrNCryptKey: HCRYPTPROV_OR_NCRYPT_KEY_HANDLE, - pSubjectIssuerBlob: PCERT_NAME_BLOB, - dwFlags: DWORD, - pKeyProvInfo: PCRYPT_KEY_PROV_INFO, - pSignatureAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, - pStartTime: PSYSTEMTIME, - pEndTime: PSYSTEMTIME, - pExtensions: PCERT_EXTENSIONS, - ) -> PCCERT_CONTEXT; -} -pub const CERT_CREATE_SELFSIGN_NO_SIGN: DWORD = 1; -pub const CERT_CREATE_SELFSIGN_NO_KEY_INFO: DWORD = 2; -extern "system" { - pub fn CryptGetKeyIdentifierProperty( - pKeyIdentifier: *const CRYPT_HASH_BLOB, - dwPropId: DWORD, - dwFlags: DWORD, - pwszComputerName: LPCWSTR, - pvReserved: *mut c_void, - pvData: *mut c_void, - pcbData: *mut DWORD, - ) -> BOOL; -} -pub const CRYPT_KEYID_MACHINE_FLAG: DWORD = 0x00000020; -pub const CRYPT_KEYID_ALLOC_FLAG: DWORD = 0x00008000; -extern "system" { - pub fn CryptSetKeyIdentifierProperty( - pKeyIdentifier: *const CRYPT_HASH_BLOB, - dwPropId: DWORD, - dwFlags: DWORD, - pwszComputerName: LPCWSTR, - pvReserved: *mut c_void, - pvData: *const c_void, - ) -> BOOL; -} -pub const CRYPT_KEYID_DELETE_FLAG: DWORD = 0x00000010; -pub const CRYPT_KEYID_SET_NEW_FLAG: DWORD = 0x00002000; -FN!{stdcall PFN_CRYPT_ENUM_KEYID_PROP( - pKeyIdentifier: *const CRYPT_HASH_BLOB, - dwFlags: DWORD, - pvReserved: *mut c_void, - pvArg: *mut c_void, - cProp: DWORD, - rgdwPropId: *mut DWORD, - rgpvData: *mut *mut c_void, - rgcbData: *mut DWORD, -) -> BOOL} -extern "system" { - pub fn CryptEnumKeyIdentifierProperties( - pKeyIdentifier: *const CRYPT_HASH_BLOB, - dwPropId: DWORD, - dwFlags: DWORD, - pwszComputerName: LPCWSTR, - pvReserved: *mut c_void, - pvArg: *mut c_void, - pfnEnum: PFN_CRYPT_ENUM_KEYID_PROP, - ) -> BOOL; - pub fn CryptCreateKeyIdentifierFromCSP( - dwCertEncodingType: DWORD, - pszPubKeyOID: LPCSTR, - pPubKeyStruc: *const PUBLICKEYSTRUC, - cbPubKeyStruc: DWORD, - dwFlags: DWORD, - pvReserved: *mut c_void, - pbHash: *mut BYTE, - pcbHash: *mut DWORD, - ) -> BOOL; -} -pub const CERT_CHAIN_CONFIG_REGPATH: &'static str - = "Software\\Microsoft\\Cryptography\\OID\\EncodingType 0\\CertDllCreateCertificateChainEngine\\Config"; -pub const CERT_CHAIN_MAX_URL_RETRIEVAL_BYTE_COUNT_VALUE_NAME: &'static str - = "MaxUrlRetrievalByteCount"; -pub const CERT_CHAIN_MAX_URL_RETRIEVAL_BYTE_COUNT_DEFAULT: DWORD = 100 * 1024 * 1024; -pub const CERT_CHAIN_CACHE_RESYNC_FILETIME_VALUE_NAME: &'static str = "ChainCacheResyncFiletime"; -pub const CERT_CHAIN_DISABLE_MANDATORY_BASIC_CONSTRAINTS_VALUE_NAME: &'static str - = "DisableMandatoryBasicConstraints"; -pub const CERT_CHAIN_DISABLE_CA_NAME_CONSTRAINTS_VALUE_NAME: &'static str - = "DisableCANameConstraints"; -pub const CERT_CHAIN_DISABLE_UNSUPPORTED_CRITICAL_EXTENSIONS_VALUE_NAME: &'static str - = "DisableUnsupportedCriticalExtensions"; -pub const CERT_CHAIN_MAX_AIA_URL_COUNT_IN_CERT_VALUE_NAME: &'static str = "MaxAIAUrlCountInCert"; -pub const CERT_CHAIN_MAX_AIA_URL_COUNT_IN_CERT_DEFAULT: DWORD = 5; -pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_COUNT_PER_CHAIN_VALUE_NAME: &'static str - = "MaxAIAUrlRetrievalCountPerChain"; -pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_COUNT_PER_CHAIN_DEFAULT: DWORD = 3; -pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_BYTE_COUNT_VALUE_NAME: &'static str - = "MaxAIAUrlRetrievalByteCount"; -pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_BYTE_COUNT_DEFAULT: DWORD = 100000; -pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_CERT_COUNT_VALUE_NAME: &'static str - = "MaxAIAUrlRetrievalCertCount"; -pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_CERT_COUNT_DEFAULT: DWORD = 10; -pub const CERT_CHAIN_OCSP_VALIDITY_SECONDS_VALUE_NAME: &'static str - = "OcspValiditySeconds"; -pub const CERT_CHAIN_OCSP_VALIDITY_SECONDS_DEFAULT: DWORD = 12 * 60 * 60; -pub const CERT_CHAIN_DISABLE_SERIAL_CHAIN_VALUE_NAME: &'static str = "DisableSerialChain"; -pub const CERT_CHAIN_SERIAL_CHAIN_LOG_FILE_NAME_VALUE_NAME: &'static str - = "SerialChainLogFileName"; -pub const CERT_CHAIN_DISABLE_SYNC_WITH_SSL_TIME_VALUE_NAME: &'static str - = "DisableSyncWithSslTime"; -pub const CERT_CHAIN_MAX_SSL_TIME_UPDATED_EVENT_COUNT_VALUE_NAME: &'static str - = "MaxSslTimeUpdatedEventCount"; -pub const CERT_CHAIN_MAX_SSL_TIME_UPDATED_EVENT_COUNT_DEFAULT: DWORD = 5; -pub const CERT_CHAIN_MAX_SSL_TIME_UPDATED_EVENT_COUNT_DISABLE: DWORD = 0xFFFFFFFF; -pub const CERT_CHAIN_SSL_HANDSHAKE_LOG_FILE_NAME_VALUE_NAME: &'static str - = "SslHandshakeLogFileName"; -pub const CERT_CHAIN_ENABLE_WEAK_SIGNATURE_FLAGS_VALUE_NAME: &'static str - = "EnableWeakSignatureFlags"; -pub const CERT_CHAIN_ENABLE_MD2_MD4_FLAG: DWORD = 0x00000001; -pub const CERT_CHAIN_ENABLE_WEAK_RSA_ROOT_FLAG: DWORD = 0x00000002; -pub const CERT_CHAIN_ENABLE_WEAK_LOGGING_FLAG: DWORD = 0x00000004; -pub const CERT_CHAIN_ENABLE_ONLY_WEAK_LOGGING_FLAG: DWORD = 0x00000008; -pub const CERT_CHAIN_MIN_RSA_PUB_KEY_BIT_LENGTH_VALUE_NAME: &'static str = "MinRsaPubKeyBitLength"; -pub const CERT_CHAIN_MIN_RSA_PUB_KEY_BIT_LENGTH_DEFAULT: DWORD = 1023; -pub const CERT_CHAIN_MIN_RSA_PUB_KEY_BIT_LENGTH_DISABLE: DWORD = 0xFFFFFFFF; -pub const CERT_CHAIN_WEAK_RSA_PUB_KEY_TIME_VALUE_NAME: &'static str = "WeakRsaPubKeyTime"; -pub const CERT_CHAIN_WEAK_RSA_PUB_KEY_TIME_DEFAULT: u64 = 0x01CA8A755C6E0000; -pub const CERT_CHAIN_WEAK_SIGNATURE_LOG_DIR_VALUE_NAME: &'static str = "WeakSignatureLogDir"; -pub const CERT_CHAIN_DEFAULT_CONFIG_SUBDIR: &'static str = "Default"; -pub const CERT_CHAIN_WEAK_PREFIX_NAME: &'static str = "Weak"; -pub const CERT_CHAIN_WEAK_THIRD_PARTY_CONFIG_NAME: &'static str = "ThirdParty"; -pub const CERT_CHAIN_WEAK_ALL_CONFIG_NAME: &'static str = "Al"; -pub const CERT_CHAIN_WEAK_FLAGS_NAME: &'static str = "Flags"; -pub const CERT_CHAIN_WEAK_HYGIENE_NAME: &'static str = "Hygiene"; -pub const CERT_CHAIN_WEAK_AFTER_TIME_NAME: &'static str = "AfterTime"; -pub const CERT_CHAIN_WEAK_FILE_HASH_AFTER_TIME_NAME: &'static str = "FileHashAfterTime"; -pub const CERT_CHAIN_WEAK_TIMESTAMP_HASH_AFTER_TIME_NAME: &'static str = "TimestampHashAfterTime"; -pub const CERT_CHAIN_WEAK_MIN_BIT_LENGTH_NAME: &'static str = "MinBitLength"; -pub const CERT_CHAIN_WEAK_SHA256_ALLOW_NAME: &'static str = "Sha256Allow"; -pub const CERT_CHAIN_MIN_PUB_KEY_BIT_LENGTH_DISABLE: DWORD = 0xFFFFFFFF; -pub const CERT_CHAIN_ENABLE_WEAK_SETTINGS_FLAG: DWORD = 0x80000000; -pub const CERT_CHAIN_DISABLE_ALL_EKU_WEAK_FLAG: DWORD = 0x00010000; -pub const CERT_CHAIN_ENABLE_ALL_EKU_HYGIENE_FLAG: DWORD = 0x00020000; -pub const CERT_CHAIN_DISABLE_OPT_IN_SERVER_AUTH_WEAK_FLAG: DWORD = 0x00040000; -pub const CERT_CHAIN_DISABLE_SERVER_AUTH_WEAK_FLAG: DWORD = 0x00100000; -pub const CERT_CHAIN_ENABLE_SERVER_AUTH_HYGIENE_FLAG: DWORD = 0x00200000; -pub const CERT_CHAIN_DISABLE_CODE_SIGNING_WEAK_FLAG: DWORD = 0x00400000; -pub const CERT_CHAIN_DISABLE_MOTW_CODE_SIGNING_WEAK_FLAG: DWORD = 0x00800000; -pub const CERT_CHAIN_ENABLE_CODE_SIGNING_HYGIENE_FLAG: DWORD = 0x01000000; -pub const CERT_CHAIN_ENABLE_MOTW_CODE_SIGNING_HYGIENE_FLAG: DWORD = 0x02000000; -pub const CERT_CHAIN_DISABLE_TIMESTAMP_WEAK_FLAG: DWORD = 0x04000000; -pub const CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_WEAK_FLAG: DWORD = 0x08000000; -pub const CERT_CHAIN_ENABLE_TIMESTAMP_HYGIENE_FLAG: DWORD = 0x10000000; -pub const CERT_CHAIN_ENABLE_MOTW_TIMESTAMP_HYGIENE_FLAG: DWORD = 0x20000000; -pub const CERT_CHAIN_MOTW_IGNORE_AFTER_TIME_WEAK_FLAG: DWORD = 0x40000000; -pub const CERT_CHAIN_DISABLE_FILE_HASH_WEAK_FLAG: DWORD = 0x00001000; -pub const CERT_CHAIN_DISABLE_MOTW_FILE_HASH_WEAK_FLAG: DWORD = 0x00002000; -pub const CERT_CHAIN_DISABLE_TIMESTAMP_HASH_WEAK_FLAG: DWORD = 0x00004000; -pub const CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_HASH_WEAK_FLAG: DWORD = 0x00008000; -pub const CERT_CHAIN_DISABLE_WEAK_FLAGS: DWORD = CERT_CHAIN_DISABLE_ALL_EKU_WEAK_FLAG - | CERT_CHAIN_DISABLE_SERVER_AUTH_WEAK_FLAG | CERT_CHAIN_DISABLE_OPT_IN_SERVER_AUTH_WEAK_FLAG - | CERT_CHAIN_DISABLE_CODE_SIGNING_WEAK_FLAG | CERT_CHAIN_DISABLE_MOTW_CODE_SIGNING_WEAK_FLAG - | CERT_CHAIN_DISABLE_TIMESTAMP_WEAK_FLAG | CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_WEAK_FLAG; -pub const CERT_CHAIN_DISABLE_FILE_HASH_WEAK_FLAGS: DWORD = CERT_CHAIN_DISABLE_FILE_HASH_WEAK_FLAG - | CERT_CHAIN_DISABLE_MOTW_FILE_HASH_WEAK_FLAG; -pub const CERT_CHAIN_DISABLE_TIMESTAMP_HASH_WEAK_FLAGS: DWORD - = CERT_CHAIN_DISABLE_TIMESTAMP_HASH_WEAK_FLAG - | CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_HASH_WEAK_FLAG; -pub const CERT_CHAIN_ENABLE_HYGIENE_FLAGS: DWORD = CERT_CHAIN_ENABLE_ALL_EKU_HYGIENE_FLAG - | CERT_CHAIN_ENABLE_SERVER_AUTH_HYGIENE_FLAG | CERT_CHAIN_ENABLE_CODE_SIGNING_HYGIENE_FLAG - | CERT_CHAIN_ENABLE_MOTW_CODE_SIGNING_HYGIENE_FLAG | CERT_CHAIN_ENABLE_TIMESTAMP_HYGIENE_FLAG - | CERT_CHAIN_ENABLE_MOTW_TIMESTAMP_HYGIENE_FLAG; -pub const CERT_CHAIN_MOTW_WEAK_FLAGS: DWORD = CERT_CHAIN_DISABLE_MOTW_CODE_SIGNING_WEAK_FLAG - | CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_WEAK_FLAG - | CERT_CHAIN_ENABLE_MOTW_CODE_SIGNING_HYGIENE_FLAG - | CERT_CHAIN_ENABLE_MOTW_TIMESTAMP_HYGIENE_FLAG | CERT_CHAIN_MOTW_IGNORE_AFTER_TIME_WEAK_FLAG; -pub const CERT_CHAIN_OPT_IN_WEAK_FLAGS: DWORD = CERT_CHAIN_DISABLE_OPT_IN_SERVER_AUTH_WEAK_FLAG; -pub const CERT_CHAIN_AUTO_CURRENT_USER: DWORD = 1; -pub const CERT_CHAIN_AUTO_LOCAL_MACHINE: DWORD = 2; -pub const CERT_CHAIN_AUTO_IMPERSONATED: DWORD = 3; -pub const CERT_CHAIN_AUTO_PROCESS_INFO: DWORD = 4; -pub const CERT_CHAIN_AUTO_PINRULE_INFO: DWORD = 5; -pub const CERT_CHAIN_AUTO_NETWORK_INFO: DWORD = 6; -pub const CERT_CHAIN_AUTO_SERIAL_LOCAL_MACHINE: DWORD = 7; -pub const CERT_CHAIN_AUTO_HPKP_RULE_INFO: DWORD = 8; -pub const CERT_CHAIN_AUTO_FLAGS_VALUE_NAME: &'static str = "AutoFlags"; -pub const CERT_CHAIN_AUTO_FLUSH_DISABLE_FLAG: DWORD = 0x00000001; -pub const CERT_CHAIN_AUTO_LOG_CREATE_FLAG: DWORD = 0x00000002; -pub const CERT_CHAIN_AUTO_LOG_FREE_FLAG: DWORD = 0x00000004; -pub const CERT_CHAIN_AUTO_LOG_FLUSH_FLAG: DWORD = 0x00000008; -pub const CERT_CHAIN_AUTO_LOG_FLAGS: DWORD = CERT_CHAIN_AUTO_LOG_CREATE_FLAG - | CERT_CHAIN_AUTO_LOG_FREE_FLAG | CERT_CHAIN_AUTO_LOG_FLUSH_FLAG; -pub const CERT_CHAIN_AUTO_FLUSH_FIRST_DELTA_SECONDS_VALUE_NAME: &'static str - = "AutoFlushFirstDeltaSeconds"; -pub const CERT_CHAIN_AUTO_FLUSH_FIRST_DELTA_SECONDS_DEFAULT: DWORD = 5 * 60; -pub const CERT_CHAIN_AUTO_FLUSH_NEXT_DELTA_SECONDS_VALUE_NAME: &'static str - = "AutoFlushNextDeltaSeconds"; -pub const CERT_CHAIN_AUTO_FLUSH_NEXT_DELTA_SECONDS_DEFAULT: DWORD = 30 * 60; -pub const CERT_CHAIN_AUTO_LOG_FILE_NAME_VALUE_NAME: &'static str = "AutoLogFileName"; -pub const CERT_CHAIN_DISABLE_AUTO_FLUSH_PROCESS_NAME_LIST_VALUE_NAME: &'static str - = "DisableAutoFlushProcessNameList"; -pub const CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_VALUE_NAME: &'static str - = "SrvOcspRespMinValiditySeconds"; -pub const CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_DEFAULT: DWORD = 10 * 60; -pub const CERT_SRV_OCSP_RESP_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_VALUE_NAME: &'static str - = "SrvOcspRespUrlRetrievalTimeoutMilliseconds"; -pub const CERT_SRV_OCSP_RESP_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_DEFAULT: DWORD = 15 * 1000; -pub const CERT_SRV_OCSP_RESP_MAX_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME: &'static str - = "SrvOcspRespMaxBeforeNextUpdateSeconds"; -pub const CERT_SRV_OCSP_RESP_MAX_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT: DWORD = 4 * 60 * 60; -pub const CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME: &'static str - = "SrvOcspRespMinBeforeNextUpdateSeconds"; -pub const CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT: DWORD = 2 * 60; -pub const CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_VALUE_NAME: &'static str - = "SrvOcspRespMinAfterNextUpdateSeconds"; -pub const CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_DEFAULT: DWORD = 1 * 60; -pub const CERT_SRV_OCSP_RESP_MIN_SYNC_CERT_FILE_SECONDS_VALUE_NAME: &'static str - = "SrvOcspRespMinSyncCertFileSeconds"; -pub const CERT_SRV_OCSP_RESP_MIN_SYNC_CERT_FILE_SECONDS_DEFAULT: DWORD = 5; -pub const CERT_SRV_OCSP_RESP_MAX_SYNC_CERT_FILE_SECONDS_VALUE_NAME: &'static str - = "SrvOcspRespMaxSyncCertFileSeconds"; -pub const CERT_SRV_OCSP_RESP_MAX_SYNC_CERT_FILE_SECONDS_DEFAULT: DWORD = 1 * 60 * 60; -pub const CRYPTNET_MAX_CACHED_OCSP_PER_CRL_COUNT_VALUE_NAME: &'static str - = "CryptnetMaxCachedOcspPerCrlCount"; -pub const CRYPTNET_MAX_CACHED_OCSP_PER_CRL_COUNT_DEFAULT: DWORD = 500; -pub const CRYPTNET_OCSP_AFTER_CRL_DISABLE: DWORD = 0xFFFFFFFF; -pub const CRYPTNET_URL_CACHE_DEFAULT_FLUSH_EXEMPT_SECONDS_VALUE_NAME: &'static str - = "CryptnetDefaultFlushExemptSeconds"; -pub const CRYPTNET_URL_CACHE_DEFAULT_FLUSH_EXEMPT_SECONDS_DEFAULT: DWORD = 28 * 24 * 60 * 60; -pub const CRYPTNET_PRE_FETCH_MIN_MAX_AGE_SECONDS_VALUE_NAME: &'static str - = "CryptnetPreFetchMinMaxAgeSeconds"; -pub const CRYPTNET_PRE_FETCH_MIN_MAX_AGE_SECONDS_DEFAULT: DWORD = 1 * 60 * 60; -pub const CRYPTNET_PRE_FETCH_MAX_MAX_AGE_SECONDS_VALUE_NAME: &'static str - = "CryptnetPreFetchMaxMaxAgeSeconds"; -pub const CRYPTNET_PRE_FETCH_MAX_MAX_AGE_SECONDS_DEFAULT: DWORD = 14 * 24 * 60 * 60; -pub const CRYPTNET_PRE_FETCH_MIN_OCSP_VALIDITY_PERIOD_SECONDS_VALUE_NAME: &'static str - = "CryptnetPreFetchMinOcspValidityPeriodSeconds"; -pub const CRYPTNET_PRE_FETCH_MIN_OCSP_VALIDITY_PERIOD_SECONDS_DEFAULT: DWORD = 14 * 24 * 60 * 60; -pub const CRYPTNET_PRE_FETCH_AFTER_PUBLISH_PRE_FETCH_DIVISOR_VALUE_NAME: &'static str - = "CryptnetPreFetchAfterPublishPreFetchDivisor"; -pub const CRYPTNET_PRE_FETCH_AFTER_PUBLISH_PRE_FETCH_DIVISOR_DEFAULT: DWORD = 10; -pub const CRYPTNET_PRE_FETCH_BEFORE_NEXT_UPDATE_PRE_FETCH_DIVISOR_VALUE_NAME: &'static str - = "CryptnetPreFetchBeforeNextUpdatePreFetchDivisor"; -pub const CRYPTNET_PRE_FETCH_BEFORE_NEXT_UPDATE_PRE_FETCH_DIVISOR_DEFAULT: DWORD = 20; -pub const CRYPTNET_PRE_FETCH_MIN_BEFORE_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_VALUE_NAME: - &'static str = "CryptnetPreFetchMinBeforeNextUpdatePreFetchSeconds"; -pub const CRYPTNET_PRE_FETCH_MIN_BEFORE_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_DEFAULT: DWORD - = 1 * 60 * 60; -pub const CRYPTNET_PRE_FETCH_VALIDITY_PERIOD_AFTER_NEXT_UPDATE_PRE_FETCH_DIVISOR_VALUE_NAME: - &'static str = "CryptnetPreFetchValidityPeriodAfterNextUpdatePreFetchDivisor"; -pub const CRYPTNET_PRE_FETCH_VALIDITY_PERIOD_AFTER_NEXT_UPDATE_PRE_FETCH_DIVISOR_DEFAULT: DWORD - = 10; -pub const CRYPTNET_PRE_FETCH_MAX_AFTER_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_VALUE_NAME: - &'static str = "CryptnetPreFetchMaxAfterNextUpdatePreFetchPeriodSeconds"; -pub const CRYPTNET_PRE_FETCH_MAX_AFTER_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_DEFAULT: DWORD - = 4 * 60 * 60; -pub const CRYPTNET_PRE_FETCH_MIN_AFTER_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_VALUE_NAME: - &'static str = "CryptnetPreFetchMinAfterNextUpdatePreFetchPeriodSeconds"; -pub const CRYPTNET_PRE_FETCH_MIN_AFTER_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_DEFAULT: DWORD - = 30 * 60; -pub const CRYPTNET_PRE_FETCH_AFTER_CURRENT_TIME_PRE_FETCH_PERIOD_SECONDS_VALUE_NAME: &'static str - = "CryptnetPreFetchAfterCurrentTimePreFetchPeriodSeconds"; -pub const CRYPTNET_PRE_FETCH_AFTER_CURRENT_TIME_PRE_FETCH_PERIOD_SECONDS_DEFAULT: DWORD - = 30 * 60; -pub const CRYPTNET_PRE_FETCH_TRIGGER_PERIOD_SECONDS_VALUE_NAME: &'static str - = "CryptnetPreFetchTriggerPeriodSeconds"; -pub const CRYPTNET_PRE_FETCH_TRIGGER_PERIOD_SECONDS_DEFAULT: DWORD = 10 * 60; -pub const CRYPTNET_PRE_FETCH_TRIGGER_DISABLE: DWORD = 0xFFFFFFFF; -pub const CRYPTNET_PRE_FETCH_SCAN_AFTER_TRIGGER_DELAY_SECONDS_VALUE_NAME: &'static str - = "CryptnetPreFetchScanAfterTriggerDelaySeconds"; -pub const CRYPTNET_PRE_FETCH_SCAN_AFTER_TRIGGER_DELAY_SECONDS_DEFAULT: DWORD = 60; -pub const CRYPTNET_PRE_FETCH_RETRIEVAL_TIMEOUT_SECONDS_VALUE_NAME: &'static str - = "CryptnetPreFetchRetrievalTimeoutSeconds"; -pub const CRYPTNET_PRE_FETCH_RETRIEVAL_TIMEOUT_SECONDS_DEFAULT: DWORD = 5 * 60; -pub const CRYPTNET_CRL_PRE_FETCH_CONFIG_REGPATH: &'static str - = "Software\\Microsoft\\Cryptography\\OID\\EncodingType 0\\CertDllCreateCertificateChainEngine\\Config\\CrlPreFetch"; -pub const CRYPTNET_CRL_PRE_FETCH_PROCESS_NAME_LIST_VALUE_NAME: &'static str = "ProcessNameList"; -pub const CRYPTNET_CRL_PRE_FETCH_URL_LIST_VALUE_NAME: &'static str = "PreFetchUrlList"; -pub const CRYPTNET_CRL_PRE_FETCH_DISABLE_INFORMATION_EVENTS_VALUE_NAME: &'static str - = "DisableInformationEvents"; -pub const CRYPTNET_CRL_PRE_FETCH_LOG_FILE_NAME_VALUE_NAME: &'static str = "LogFileName"; -pub const CRYPTNET_CRL_PRE_FETCH_TIMEOUT_SECONDS_VALUE_NAME: &'static str = "TimeoutSeconds"; -pub const CRYPTNET_CRL_PRE_FETCH_TIMEOUT_SECONDS_DEFAULT: DWORD = 5 * 60; -pub const CRYPTNET_CRL_PRE_FETCH_MAX_AGE_SECONDS_VALUE_NAME: &'static str = "MaxAgeSeconds"; -pub const CRYPTNET_CRL_PRE_FETCH_MAX_AGE_SECONDS_DEFAULT: DWORD = 2 * 60 * 60; -pub const CRYPTNET_CRL_PRE_FETCH_MAX_AGE_SECONDS_MIN: DWORD = 5 * 60; -pub const CRYPTNET_CRL_PRE_FETCH_PUBLISH_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME: &'static str - = "PublishBeforeNextUpdateSeconds"; -pub const CRYPTNET_CRL_PRE_FETCH_PUBLISH_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT: DWORD = 1 * 60 * 60; -pub const CRYPTNET_CRL_PRE_FETCH_PUBLISH_RANDOM_INTERVAL_SECONDS_VALUE_NAME: &'static str - = "PublishRandomIntervalSeconds"; -pub const CRYPTNET_CRL_PRE_FETCH_PUBLISH_RANDOM_INTERVAL_SECONDS_DEFAULT: DWORD = 5 * 60; -pub const CRYPTNET_CRL_PRE_FETCH_MIN_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME: &'static str - = "MinBeforeNextUpdateSeconds"; -pub const CRYPTNET_CRL_PRE_FETCH_MIN_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT: DWORD = 5 * 60; -pub const CRYPTNET_CRL_PRE_FETCH_MIN_AFTER_NEXT_UPDATE_SECONDS_VALUE_NAME: &'static str - = "MinAfterNextUpdateSeconds"; -pub const CRYPTNET_CRL_PRE_FETCH_MIN_AFTER_NEXT_UPDATE_SECONDS_DEFAULT: DWORD = 5 * 60; -pub const CERT_GROUP_POLICY_CHAIN_CONFIG_REGPATH: &'static str - = "Software\\Policies\\Microsoft\\SystemCertificates\\ChainEngine\\Config"; -pub const CERT_CHAIN_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_VALUE_NAME: &'static str - = "ChainUrlRetrievalTimeoutMilliseconds"; -pub const CERT_CHAIN_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_DEFAULT: DWORD = 15 * 1000; -pub const CERT_CHAIN_REV_ACCUMULATIVE_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_VALUE_NAME: &'static str - = "ChainRevAccumulativeUrlRetrievalTimeoutMilliseconds"; -pub const CERT_CHAIN_REV_ACCUMULATIVE_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_DEFAULT: DWORD - = 20 * 1000; -pub const CERT_RETR_BEHAVIOR_INET_AUTH_VALUE_NAME: &'static str = "EnableInetUnknownAuth"; -pub const CERT_RETR_BEHAVIOR_INET_STATUS_VALUE_NAME: &'static str = "EnableInetLocal"; -pub const CERT_RETR_BEHAVIOR_FILE_VALUE_NAME: &'static str = "AllowFileUrlScheme"; -pub const CERT_RETR_BEHAVIOR_LDAP_VALUE_NAME: &'static str = "DisableLDAPSignAndEncrypt"; -pub const CRYPTNET_CACHED_OCSP_SWITCH_TO_CRL_COUNT_VALUE_NAME: &'static str - = "CryptnetCachedOcspSwitchToCrlCount"; -pub const CRYPTNET_CACHED_OCSP_SWITCH_TO_CRL_COUNT_DEFAULT: DWORD = 50; -pub const CRYPTNET_CRL_BEFORE_OCSP_ENABLE: DWORD = 0xFFFFFFFF; -pub const CERT_CHAIN_DISABLE_AIA_URL_RETRIEVAL_VALUE_NAME: &'static str = "DisableAIAUrlRetrieval"; -pub const CERT_CHAIN_OPTIONS_VALUE_NAME: &'static str = "Options"; -pub const CERT_CHAIN_OPTION_DISABLE_AIA_URL_RETRIEVAL: DWORD = 0x2; -pub const CERT_CHAIN_OPTION_ENABLE_SIA_URL_RETRIEVAL: DWORD = 0x4; -pub const CERT_CHAIN_CROSS_CERT_DOWNLOAD_INTERVAL_HOURS_VALUE_NAME: &'static str - = "CrossCertDownloadIntervalHours"; -pub const CERT_CHAIN_CROSS_CERT_DOWNLOAD_INTERVAL_HOURS_DEFAULT: DWORD = 24 * 7; -pub const CERT_CHAIN_CRL_VALIDITY_EXT_PERIOD_HOURS_VALUE_NAME: &'static str - = "CRLValidityExtensionPeriod"; -pub const CERT_CHAIN_CRL_VALIDITY_EXT_PERIOD_HOURS_DEFAULT: DWORD = 12; -pub type HCERTCHAINENGINE = HANDLE; -pub const HCCE_CURRENT_USER: HCERTCHAINENGINE = 0 as HCERTCHAINENGINE; -pub const HCCE_LOCAL_MACHINE: HCERTCHAINENGINE = 0x1 as HCERTCHAINENGINE; -pub const HCCE_SERIAL_LOCAL_MACHINE: HCERTCHAINENGINE = 0x2 as HCERTCHAINENGINE; -pub const CERT_CHAIN_CACHE_END_CERT: DWORD = 0x00000001; -pub const CERT_CHAIN_THREAD_STORE_SYNC: DWORD = 0x00000002; -pub const CERT_CHAIN_CACHE_ONLY_URL_RETRIEVAL: DWORD = 0x00000004; -pub const CERT_CHAIN_USE_LOCAL_MACHINE_STORE: DWORD = 0x00000008; -pub const CERT_CHAIN_ENABLE_CACHE_AUTO_UPDATE: DWORD = 0x00000010; -pub const CERT_CHAIN_ENABLE_SHARE_STORE: DWORD = 0x00000020; -STRUCT!{struct CERT_CHAIN_ENGINE_CONFIG { - cbSize: DWORD, - hRestrictedRoot: HCERTSTORE, - hRestrictedTrust: HCERTSTORE, - hRestrictedOther: HCERTSTORE, - cAdditionalStore: DWORD, - rghAdditionalStore: *mut HCERTSTORE, - dwFlags: DWORD, - dwUrlRetrievalTimeout: DWORD, - MaximumCachedCertificates: DWORD, - CycleDetectionModulus: DWORD, - hExclusiveRoot: HCERTSTORE, - hExclusiveTrustedPeople: HCERTSTORE, - dwExclusiveFlags: DWORD, -}} -pub type PCERT_CHAIN_ENGINE_CONFIG = *mut CERT_CHAIN_ENGINE_CONFIG; -extern "system" { - pub fn CertCreateCertificateChainEngine( - pConfig: PCERT_CHAIN_ENGINE_CONFIG, - phChainEngine: *mut HCERTCHAINENGINE, - ) -> BOOL; - pub fn CertFreeCertificateChainEngine( - hChainEngine: HCERTCHAINENGINE, - ); - pub fn CertResyncCertificateChainEngine( - hChainEngine: HCERTCHAINENGINE, - ) -> BOOL; -} -STRUCT!{struct CERT_TRUST_STATUS { - dwErrorStatus: DWORD, - dwInfoStatus: DWORD, -}} -pub type PCERT_TRUST_STATUS = *mut CERT_TRUST_STATUS; -pub const CERT_TRUST_NO_ERROR: DWORD = 0x00000000; -pub const CERT_TRUST_IS_NOT_TIME_VALID: DWORD = 0x00000001; -pub const CERT_TRUST_IS_NOT_TIME_NESTED: DWORD = 0x00000002; -pub const CERT_TRUST_IS_REVOKED: DWORD = 0x00000004; -pub const CERT_TRUST_IS_NOT_SIGNATURE_VALID: DWORD = 0x00000008; -pub const CERT_TRUST_IS_NOT_VALID_FOR_USAGE: DWORD = 0x00000010; -pub const CERT_TRUST_IS_UNTRUSTED_ROOT: DWORD = 0x00000020; -pub const CERT_TRUST_REVOCATION_STATUS_UNKNOWN: DWORD = 0x00000040; -pub const CERT_TRUST_IS_CYCLIC: DWORD = 0x00000080; -pub const CERT_TRUST_INVALID_EXTENSION: DWORD = 0x00000100; -pub const CERT_TRUST_INVALID_POLICY_CONSTRAINTS: DWORD = 0x00000200; -pub const CERT_TRUST_INVALID_BASIC_CONSTRAINTS: DWORD = 0x00000400; -pub const CERT_TRUST_INVALID_NAME_CONSTRAINTS: DWORD = 0x00000800; -pub const CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT: DWORD = 0x00001000; -pub const CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT: DWORD = 0x00002000; -pub const CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT: DWORD = 0x00004000; -pub const CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT: DWORD = 0x00008000; -pub const CERT_TRUST_IS_OFFLINE_REVOCATION: DWORD = 0x01000000; -pub const CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY: DWORD = 0x02000000; -pub const CERT_TRUST_IS_PARTIAL_CHAIN: DWORD = 0x00010000; -pub const CERT_TRUST_CTL_IS_NOT_TIME_VALID: DWORD = 0x00020000; -pub const CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID: DWORD = 0x00040000; -pub const CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE: DWORD = 0x00080000; -pub const CERT_TRUST_HAS_EXACT_MATCH_ISSUER: DWORD = 0x00000001; -pub const CERT_TRUST_HAS_KEY_MATCH_ISSUER: DWORD = 0x00000002; -pub const CERT_TRUST_HAS_NAME_MATCH_ISSUER: DWORD = 0x00000004; -pub const CERT_TRUST_IS_SELF_SIGNED: DWORD = 0x00000008; -pub const CERT_TRUST_AUTO_UPDATE_CA_REVOCATION: DWORD = 0x00000010; -pub const CERT_TRUST_AUTO_UPDATE_END_REVOCATION: DWORD = 0x00000020; -pub const CERT_TRUST_NO_OCSP_FAILOVER_TO_CRL: DWORD = 0x00000040; -pub const CERT_TRUST_IS_KEY_ROLLOVER: DWORD = 0x00000080; -pub const CERT_TRUST_SSL_HANDSHAKE_OCSP: DWORD = 0x00040000; -pub const CERT_TRUST_SSL_TIME_VALID_OCSP: DWORD = 0x00080000; -pub const CERT_TRUST_SSL_RECONNECT_OCSP: DWORD = 0x00100000; -pub const CERT_TRUST_HAS_PREFERRED_ISSUER: DWORD = 0x00000100; -pub const CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY: DWORD = 0x00000200; -pub const CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS: DWORD = 0x00000400; -pub const CERT_TRUST_IS_PEER_TRUSTED: DWORD = 0x00000800; -pub const CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED: DWORD = 0x00001000; -pub const CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE: DWORD = 0x00002000; -pub const CERT_TRUST_IS_CA_TRUSTED: DWORD = 0x00004000; -pub const CERT_TRUST_HAS_AUTO_UPDATE_WEAK_SIGNATURE: DWORD = 0x00008000; -pub const CERT_TRUST_HAS_ALLOW_WEAK_SIGNATURE: DWORD = 0x00020000; -pub const CERT_TRUST_IS_COMPLEX_CHAIN: DWORD = 0x00010000; -pub const CERT_TRUST_SSL_TIME_VALID: DWORD = 0x01000000; -pub const CERT_TRUST_NO_TIME_CHECK: DWORD = 0x02000000; -STRUCT!{struct CERT_REVOCATION_INFO { - cbSize: DWORD, - dwRevocationResult: DWORD, - pszRevocationOid: LPCSTR, - pvOidSpecificInfo: LPVOID, - fHasFreshnessTime: BOOL, - dwFreshnessTime: DWORD, - pCrlInfo: PCERT_REVOCATION_CRL_INFO, -}} -pub type PCERT_REVOCATION_INFO = *mut CERT_REVOCATION_INFO; -STRUCT!{struct CERT_TRUST_LIST_INFO { - cbSize: DWORD, - pCtlEntry: PCTL_ENTRY, - pCtlContext: PCCTL_CONTEXT, -}} -pub type PCERT_TRUST_LIST_INFO = *mut CERT_TRUST_LIST_INFO; -STRUCT!{struct CERT_CHAIN_ELEMENT { - cbSize: DWORD, - pCertContext: PCCERT_CONTEXT, - TrustStatus: CERT_TRUST_STATUS, - pRevocationInfo: PCERT_REVOCATION_INFO, - pIssuanceUsage: PCERT_ENHKEY_USAGE, - pApplicationUsage: PCERT_ENHKEY_USAGE, - pwszExtendedErrorInfo: LPWSTR, -}} -pub type PCERT_CHAIN_ELEMENT = *mut CERT_CHAIN_ELEMENT; -pub type PCCERT_CHAIN_ELEMENT = *const CERT_CHAIN_ELEMENT; -STRUCT!{struct CERT_SIMPLE_CHAIN { - cbSize: DWORD, - TrustStatus: CERT_TRUST_STATUS, - cElement: DWORD, - rgpElement: *mut PCERT_CHAIN_ELEMENT, - pTrustListInfo: PCERT_TRUST_LIST_INFO, - fHasRevocationFreshnessTime: BOOL, - dwRevocationFreshnessTime: DWORD, -}} -pub type PCERT_SIMPLE_CHAIN = *mut CERT_SIMPLE_CHAIN; -pub type PCCERT_SIMPLE_CHAIN = *const CERT_SIMPLE_CHAIN; -pub type PCERT_CHAIN_CONTEXT = *mut CERT_CHAIN_CONTEXT; -pub type PCCERT_CHAIN_CONTEXT = *const CERT_CHAIN_CONTEXT; -STRUCT!{struct CERT_CHAIN_CONTEXT { - cbSize: DWORD, - TrustStatus: CERT_TRUST_STATUS, - cChain: DWORD, - rgpChain: *mut PCERT_SIMPLE_CHAIN, - cLowerQualityChainContext: DWORD, - rgpLowerQualityChainContext: *mut PCCERT_CHAIN_CONTEXT, - fHasRevocationFreshnessTime: BOOL, - dwRevocationFreshnessTime: DWORD, - dwCreateFlags: DWORD, - ChainId: GUID, -}} -pub const USAGE_MATCH_TYPE_AND: DWORD = 0x00000000; -pub const USAGE_MATCH_TYPE_OR: DWORD = 0x00000001; -STRUCT!{struct CERT_USAGE_MATCH { - dwType: DWORD, - Usage: CERT_ENHKEY_USAGE, -}} -pub type PCERT_USAGE_MATCH = *mut CERT_USAGE_MATCH; -STRUCT!{struct CTL_USAGE_MATCH { - dwType: DWORD, - Usage: CTL_USAGE, -}} -pub type PCTL_USAGE_MATCH = *mut CTL_USAGE_MATCH; -STRUCT!{struct CERT_CHAIN_PARA { - cbSize: DWORD, - RequestedUsage: CERT_USAGE_MATCH, - RequestedIssuancePolicy: CERT_USAGE_MATCH, - dwUrlRetrievalTimeout: DWORD, - fCheckRevocationFreshnessTime: BOOL, - dwRevocationFreshnessTime: DWORD, - pftCacheResync: LPFILETIME, - pStrongSignPara: PCCERT_STRONG_SIGN_PARA, - dwStrongSignFlags: DWORD, -}} -pub type PCERT_CHAIN_PARA = *mut CERT_CHAIN_PARA; -pub const CERT_CHAIN_STRONG_SIGN_DISABLE_END_CHECK_FLAG: DWORD = 0x00000001; -pub const CERT_CHAIN_REVOCATION_CHECK_END_CERT: DWORD = 0x10000000; -pub const CERT_CHAIN_REVOCATION_CHECK_CHAIN: DWORD = 0x20000000; -pub const CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT: DWORD = 0x40000000; -pub const CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY: DWORD = 0x80000000; -pub const CERT_CHAIN_REVOCATION_ACCUMULATIVE_TIMEOUT: DWORD = 0x08000000; -pub const CERT_CHAIN_REVOCATION_CHECK_OCSP_CERT: DWORD = 0x04000000; -pub const CERT_CHAIN_DISABLE_PASS1_QUALITY_FILTERING: DWORD = 0x00000040; -pub const CERT_CHAIN_RETURN_LOWER_QUALITY_CONTEXTS: DWORD = 0x00000080; -pub const CERT_CHAIN_DISABLE_AUTH_ROOT_AUTO_UPDATE: DWORD = 0x00000100; -pub const CERT_CHAIN_TIMESTAMP_TIME: DWORD = 0x00000200; -pub const CERT_CHAIN_ENABLE_PEER_TRUST: DWORD = 0x00000400; -pub const CERT_CHAIN_DISABLE_MY_PEER_TRUST: DWORD = 0x00000800; -pub const CERT_CHAIN_DISABLE_MD2_MD4: DWORD = 0x00001000; -pub const CERT_CHAIN_DISABLE_AIA: DWORD = 0x00002000; -pub const CERT_CHAIN_HAS_MOTW: DWORD = 0x00004000; -pub const CERT_CHAIN_ONLY_ADDITIONAL_AND_AUTH_ROOT: DWORD = 0x00008000; -pub const CERT_CHAIN_OPT_IN_WEAK_SIGNATURE: DWORD = 0x00010000; -extern "system" { - pub fn CertGetCertificateChain( - hChainEngine: HCERTCHAINENGINE, - pCertContext: PCCERT_CONTEXT, - pTime: LPFILETIME, - hAdditionalStore: HCERTSTORE, - pChainPara: PCERT_CHAIN_PARA, - dwFlags: DWORD, - pvReserved: LPVOID, - ppChainContext: *mut PCCERT_CHAIN_CONTEXT, - ) -> BOOL; - pub fn CertFreeCertificateChain( - pChainContext: PCCERT_CHAIN_CONTEXT, - ); - pub fn CertDuplicateCertificateChain( - pChainContext: PCCERT_CHAIN_CONTEXT, - ) -> PCCERT_CHAIN_CONTEXT; -} -STRUCT!{struct CERT_REVOCATION_CHAIN_PARA { - cbSize: DWORD, - hChainEngine: HCERTCHAINENGINE, - hAdditionalStore: HCERTSTORE, - dwChainFlags: DWORD, - dwUrlRetrievalTimeout: DWORD, - pftCurrentTime: LPFILETIME, - pftCacheResync: LPFILETIME, - cbMaxUrlRetrievalByteCount: DWORD, -}} -pub const REVOCATION_OID_CRL_REVOCATION: LPCSTR = 1 as LPCSTR; -STRUCT!{struct CRL_REVOCATION_INFO { - pCrlEntry: PCRL_ENTRY, - pCrlContext: PCCRL_CONTEXT, - pCrlIssuerChain: PCCERT_CHAIN_CONTEXT, -}} -pub type PCRL_REVOCATION_INFO = *mut CRL_REVOCATION_INFO; -extern "system" { - pub fn CertFindChainInStore( - hCertStore: HCERTSTORE, - dwCertEncodingType: DWORD, - dwFindFlags: DWORD, - dwFindType: DWORD, - pvFindPara: *const c_void, - pPrevChainContext: PCCERT_CHAIN_CONTEXT, - ) -> PCCERT_CHAIN_CONTEXT; -} -pub const CERT_CHAIN_FIND_BY_ISSUER: DWORD = 1; -FN!{stdcall PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK( - pCert: PCCERT_CONTEXT, - pvFindArg: *mut c_void, -) -> BOOL} -STRUCT!{struct CERT_CHAIN_FIND_ISSUER_PARA { - cbSize: DWORD, - pszUsageIdentifier: LPCSTR, - dwKeySpec: DWORD, - dwAcquirePrivateKeyFlags: DWORD, - cIssuer: DWORD, - rgIssuer: *mut CERT_NAME_BLOB, - pfnFindCallback: PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK, - pvFindArg: *mut c_void, - pdwIssuerChainIndex: *mut DWORD, - pdwIssuerElementIndex: *mut DWORD, -}} -pub type PCERT_CHAIN_FIND_ISSUER_PARA = *mut CERT_CHAIN_FIND_ISSUER_PARA; -pub type CERT_CHAIN_FIND_BY_ISSUER_PARA = CERT_CHAIN_FIND_ISSUER_PARA; -pub type PCERT_CHAIN_FIND_BY_ISSUER_PARA = *mut CERT_CHAIN_FIND_ISSUER_PARA; -pub const CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG: DWORD = 0x0001; -pub const CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG: DWORD = 0x0002; -pub const CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG: DWORD = 0x0004; -pub const CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG: DWORD = 0x0008; -pub const CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG: DWORD = 0x4000; -pub const CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG: DWORD = 0x8000; -STRUCT!{struct CERT_CHAIN_POLICY_PARA { - cbSize: DWORD, - dwFlags: DWORD, - pvExtraPolicyPara: *mut c_void, -}} -pub type PCERT_CHAIN_POLICY_PARA = *mut CERT_CHAIN_POLICY_PARA; -STRUCT!{struct CERT_CHAIN_POLICY_STATUS { - cbSize: DWORD, - dwError: DWORD, - lChainIndex: LONG, - lElementIndex: LONG, - pvExtraPolicyStatus: *mut c_void, -}} -pub type PCERT_CHAIN_POLICY_STATUS = *mut CERT_CHAIN_POLICY_STATUS; -pub const CERT_CHAIN_POLICY_IGNORE_NOT_TIME_VALID_FLAG: DWORD = 0x00000001; -pub const CERT_CHAIN_POLICY_IGNORE_CTL_NOT_TIME_VALID_FLAG: DWORD = 0x00000002; -pub const CERT_CHAIN_POLICY_IGNORE_NOT_TIME_NESTED_FLAG: DWORD = 0x00000004; -pub const CERT_CHAIN_POLICY_IGNORE_INVALID_BASIC_CONSTRAINTS_FLAG: DWORD = 0x00000008; -pub const CERT_CHAIN_POLICY_IGNORE_ALL_NOT_TIME_VALID_FLAGS: DWORD - = CERT_CHAIN_POLICY_IGNORE_NOT_TIME_VALID_FLAG - | CERT_CHAIN_POLICY_IGNORE_CTL_NOT_TIME_VALID_FLAG - | CERT_CHAIN_POLICY_IGNORE_NOT_TIME_NESTED_FLAG; -pub const CERT_CHAIN_POLICY_ALLOW_UNKNOWN_CA_FLAG: DWORD = 0x00000010; -pub const CERT_CHAIN_POLICY_IGNORE_WRONG_USAGE_FLAG: DWORD = 0x00000020; -pub const CERT_CHAIN_POLICY_IGNORE_INVALID_NAME_FLAG: DWORD = 0x00000040; -pub const CERT_CHAIN_POLICY_IGNORE_INVALID_POLICY_FLAG: DWORD = 0x00000080; -pub const CERT_CHAIN_POLICY_IGNORE_END_REV_UNKNOWN_FLAG: DWORD = 0x00000100; -pub const CERT_CHAIN_POLICY_IGNORE_CTL_SIGNER_REV_UNKNOWN_FLAG: DWORD = 0x00000200; -pub const CERT_CHAIN_POLICY_IGNORE_CA_REV_UNKNOWN_FLAG: DWORD = 0x00000400; -pub const CERT_CHAIN_POLICY_IGNORE_ROOT_REV_UNKNOWN_FLAG: DWORD = 0x00000800; -pub const CERT_CHAIN_POLICY_IGNORE_ALL_REV_UNKNOWN_FLAGS: DWORD - = CERT_CHAIN_POLICY_IGNORE_END_REV_UNKNOWN_FLAG - | CERT_CHAIN_POLICY_IGNORE_CTL_SIGNER_REV_UNKNOWN_FLAG - | CERT_CHAIN_POLICY_IGNORE_CA_REV_UNKNOWN_FLAG - | CERT_CHAIN_POLICY_IGNORE_ROOT_REV_UNKNOWN_FLAG; -pub const CERT_CHAIN_POLICY_ALLOW_TESTROOT_FLAG: DWORD = 0x00008000; -pub const CERT_CHAIN_POLICY_TRUST_TESTROOT_FLAG: DWORD = 0x00004000; -pub const CERT_CHAIN_POLICY_IGNORE_NOT_SUPPORTED_CRITICAL_EXT_FLAG: DWORD = 0x00002000; -pub const CERT_CHAIN_POLICY_IGNORE_PEER_TRUST_FLAG: DWORD = 0x00001000; -pub const CERT_CHAIN_POLICY_IGNORE_WEAK_SIGNATURE_FLAG: DWORD = 0x08000000; -extern "system" { - pub fn CertVerifyCertificateChainPolicy( - pszPolicyOID: LPCSTR, - pChainContext: PCCERT_CHAIN_CONTEXT, - pPolicyPara: PCERT_CHAIN_POLICY_PARA, - pPolicyStatus: PCERT_CHAIN_POLICY_STATUS, - ) -> BOOL; -} -pub const CRYPT_OID_VERIFY_CERTIFICATE_CHAIN_POLICY_FUNC: &'static str - = "CertDllVerifyCertificateChainPolicy"; -pub const CERT_CHAIN_POLICY_BASE: LPCSTR = 1 as LPCSTR; -pub const CERT_CHAIN_POLICY_AUTHENTICODE: LPCSTR = 2 as LPCSTR; -pub const CERT_CHAIN_POLICY_AUTHENTICODE_TS: LPCSTR = 3 as LPCSTR; -pub const CERT_CHAIN_POLICY_SSL: LPCSTR = 4 as LPCSTR; -pub const CERT_CHAIN_POLICY_BASIC_CONSTRAINTS: LPCSTR = 5 as LPCSTR; -pub const CERT_CHAIN_POLICY_NT_AUTH: LPCSTR = 6 as LPCSTR; -pub const CERT_CHAIN_POLICY_MICROSOFT_ROOT: LPCSTR = 7 as LPCSTR; -pub const CERT_CHAIN_POLICY_EV: LPCSTR = 8 as LPCSTR; -pub const CERT_CHAIN_POLICY_SSL_F12: LPCSTR = 9 as LPCSTR; -pub const CERT_CHAIN_POLICY_SSL_HPKP_HEADER: LPCSTR = 10 as LPCSTR; -pub const CERT_CHAIN_POLICY_THIRD_PARTY_ROOT: LPCSTR = 11 as LPCSTR; -pub const CERT_CHAIN_POLICY_SSL_KEY_PIN: LPCSTR = 12 as LPCSTR; -STRUCT!{struct AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA { - cbSize: DWORD, - dwRegPolicySettings: DWORD, - pSignerInfo: PCMSG_SIGNER_INFO, -}} -pub type PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA - = *mut AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA; -STRUCT!{struct AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS { - cbSize: DWORD, - fCommercial: BOOL, -}} -pub type PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS - = *mut AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS; -STRUCT!{struct AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA { - cbSize: DWORD, - dwRegPolicySettings: DWORD, - fCommercial: BOOL, -}} -pub type PAUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA - = *mut AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA; -UNION!{union HTTPSPolicyCallbackData_u { - [u32; 1], - cbStruct cbStruct_mut: DWORD, - cbSize cbSize_mut: DWORD, -}} -STRUCT!{struct HTTPSPolicyCallbackData { - u: HTTPSPolicyCallbackData_u, - dwAuthType: DWORD, - fdwChecks: DWORD, - pwszServerName: *mut WCHAR, -}} -pub type PHTTPSPolicyCallbackData = *mut HTTPSPolicyCallbackData; -pub type SSL_EXTRA_CERT_CHAIN_POLICY_PARA = HTTPSPolicyCallbackData; -pub type PSSL_EXTRA_CERT_CHAIN_POLICY_PARA = *mut HTTPSPolicyCallbackData; -pub const AUTHTYPE_CLIENT: DWORD = 1; -pub const AUTHTYPE_SERVER: DWORD = 2; -pub const BASIC_CONSTRAINTS_CERT_CHAIN_POLICY_CA_FLAG: DWORD = 0x80000000; -pub const BASIC_CONSTRAINTS_CERT_CHAIN_POLICY_END_ENTITY_FLAG: DWORD = 0x40000000; -pub const MICROSOFT_ROOT_CERT_CHAIN_POLICY_ENABLE_TEST_ROOT_FLAG: DWORD = 0x00010000; -pub const MICROSOFT_ROOT_CERT_CHAIN_POLICY_CHECK_APPLICATION_ROOT_FLAG: DWORD = 0x00020000; -pub const MICROSOFT_ROOT_CERT_CHAIN_POLICY_DISABLE_FLIGHT_ROOT_FLAG: DWORD = 0x00040000; -STRUCT!{struct EV_EXTRA_CERT_CHAIN_POLICY_PARA { - cbSize: DWORD, - dwRootProgramQualifierFlags: DWORD, -}} -pub type PEV_EXTRA_CERT_CHAIN_POLICY_PARA = *mut EV_EXTRA_CERT_CHAIN_POLICY_PARA; -STRUCT!{struct EV_EXTRA_CERT_CHAIN_POLICY_STATUS { - cbSize: DWORD, - dwQualifiers: DWORD, - dwIssuanceUsageIndex: DWORD, -}} -pub type PEV_EXTRA_CERT_CHAIN_POLICY_STATUS = *mut EV_EXTRA_CERT_CHAIN_POLICY_STATUS; -pub const SSL_F12_ERROR_TEXT_LENGTH: usize = 256; -STRUCT!{struct SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS { - cbSize: DWORD, - dwErrorLevel: DWORD, - dwErrorCategory: DWORD, - dwReserved: DWORD, - wszErrorText: [WCHAR; SSL_F12_ERROR_TEXT_LENGTH], -}} -pub type PSSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS = *mut SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS; -pub const CERT_CHAIN_POLICY_SSL_F12_SUCCESS_LEVEL: DWORD = 0; -pub const CERT_CHAIN_POLICY_SSL_F12_WARNING_LEVEL: DWORD = 1; -pub const CERT_CHAIN_POLICY_SSL_F12_ERROR_LEVEL: DWORD = 2; -pub const CERT_CHAIN_POLICY_SSL_F12_NONE_CATEGORY: DWORD = 0; -pub const CERT_CHAIN_POLICY_SSL_F12_WEAK_CRYPTO_CATEGORY: DWORD = 1; -pub const CERT_CHAIN_POLICY_SSL_F12_ROOT_PROGRAM_CATEGORY: DWORD = 2; -pub const SSL_HPKP_PKP_HEADER_INDEX: usize = 0; -pub const SSL_HPKP_PKP_RO_HEADER_INDEX: usize = 1; -pub const SSL_HPKP_HEADER_COUNT: usize = 2; -STRUCT!{struct SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA { - cbSize: DWORD, - dwReserved: DWORD, - pwszServerName: LPWSTR, - rgpszHpkpValue: [LPSTR; SSL_HPKP_HEADER_COUNT], -}} -pub type PSSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA - = *mut SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA; -STRUCT!{struct SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA { - cbSize: DWORD, - dwReserved: DWORD, - pwszServerName: PCWSTR, -}} -pub type PSSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA = *mut SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA; -pub const SSL_KEY_PIN_ERROR_TEXT_LENGTH: usize = 512; -STRUCT!{struct SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS { - cbSize: DWORD, - lError: LONG, - wszErrorText: [WCHAR; SSL_KEY_PIN_ERROR_TEXT_LENGTH], -}} -pub type PSSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS - = *mut SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS; -pub const CERT_CHAIN_POLICY_SSL_KEY_PIN_MISMATCH_ERROR: LONG = -2; -pub const CERT_CHAIN_POLICY_SSL_KEY_PIN_MITM_ERROR: LONG = -1; -pub const CERT_CHAIN_POLICY_SSL_KEY_PIN_SUCCESS: LONG = 0; -pub const CERT_CHAIN_POLICY_SSL_KEY_PIN_MITM_WARNING: LONG = 1; -pub const CERT_CHAIN_POLICY_SSL_KEY_PIN_MISMATCH_WARNING: LONG = 2; -extern "system" { - pub fn CryptStringToBinaryA( - pszString: LPCSTR, - cchString: DWORD, - dwFlags: DWORD, - pbBinary: *mut BYTE, - pcbBinary: *mut DWORD, - pdwSkip: *mut DWORD, - pdwFlags: *mut DWORD, - ) -> BOOL; - pub fn CryptStringToBinaryW( - pszString: LPCWSTR, - cchString: DWORD, - dwFlags: DWORD, - pbBinary: *mut BYTE, - pcbBinary: *mut DWORD, - pdwSkip: *mut DWORD, - pdwFlags: *mut DWORD, - ) -> BOOL; - pub fn CryptBinaryToStringA( - pbBinary: *const BYTE, - cbBinary: DWORD, - dwFlags: DWORD, - pszString: LPSTR, - pcchString: *mut DWORD, - ) -> BOOL; - pub fn CryptBinaryToStringW( - pbBinary: *const BYTE, - cbBinary: DWORD, - dwFlags: DWORD, - pszString: LPWSTR, - pcchString: *mut DWORD, - ) -> BOOL; -} -pub const CRYPT_STRING_BASE64HEADER: DWORD = 0x00000000; -pub const CRYPT_STRING_BASE64: DWORD = 0x00000001; -pub const CRYPT_STRING_BINARY: DWORD = 0x00000002; -pub const CRYPT_STRING_BASE64REQUESTHEADER: DWORD = 0x00000003; -pub const CRYPT_STRING_HEX: DWORD = 0x00000004; -pub const CRYPT_STRING_HEXASCII: DWORD = 0x00000005; -pub const CRYPT_STRING_BASE64_ANY: DWORD = 0x00000006; -pub const CRYPT_STRING_ANY: DWORD = 0x00000007; -pub const CRYPT_STRING_HEX_ANY: DWORD = 0x00000008; -pub const CRYPT_STRING_BASE64X509CRLHEADER: DWORD = 0x00000009; -pub const CRYPT_STRING_HEXADDR: DWORD = 0x0000000a; -pub const CRYPT_STRING_HEXASCIIADDR: DWORD = 0x0000000b; -pub const CRYPT_STRING_HEXRAW: DWORD = 0x0000000c; -pub const CRYPT_STRING_BASE64URI: DWORD = 0x0000000d; -pub const CRYPT_STRING_ENCODEMASK: DWORD = 0x000000ff; -pub const CRYPT_STRING_RESERVED100: DWORD = 0x00000100; -pub const CRYPT_STRING_RESERVED200: DWORD = 0x00000200; -pub const CRYPT_STRING_PERCENTESCAPE: DWORD = 0x08000000; -pub const CRYPT_STRING_HASHDATA: DWORD = 0x10000000; -pub const CRYPT_STRING_STRICT: DWORD = 0x20000000; -pub const CRYPT_STRING_NOCRLF: DWORD = 0x40000000; -pub const CRYPT_STRING_NOCR: DWORD = 0x80000000; -pub const szOID_PKCS_12_PbeIds: &'static str = "1.2.840.113549.1.12.1"; -pub const szOID_PKCS_12_pbeWithSHA1And128BitRC4: &'static str = "1.2.840.113549.1.12.1.1"; -pub const szOID_PKCS_12_pbeWithSHA1And40BitRC4: &'static str = "1.2.840.113549.1.12.1.2"; -pub const szOID_PKCS_12_pbeWithSHA1And3KeyTripleDES: &'static str = "1.2.840.113549.1.12.1.3"; -pub const szOID_PKCS_12_pbeWithSHA1And2KeyTripleDES: &'static str = "1.2.840.113549.1.12.1.4"; -pub const szOID_PKCS_12_pbeWithSHA1And128BitRC2: &'static str = "1.2.840.113549.1.12.1.5"; -pub const szOID_PKCS_12_pbeWithSHA1And40BitRC2: &'static str = "1.2.840.113549.1.12.1.6"; -STRUCT!{struct CRYPT_PKCS12_PBE_PARAMS { - iIterations: c_int, - cbSalt: ULONG, -}} -extern "system" { - pub fn PFXImportCertStore( - pPFX: *mut CRYPT_DATA_BLOB, - szPassword: LPCWSTR, - dwFlags: DWORD, - ) -> HCERTSTORE; -} -pub const PKCS12_IMPORT_SILENT: DWORD = 0x00000040; -pub const CRYPT_USER_KEYSET: DWORD = 0x00001000; -pub const PKCS12_PREFER_CNG_KSP: DWORD = 0x00000100; -pub const PKCS12_ALWAYS_CNG_KSP: DWORD = 0x00000200; -pub const PKCS12_ONLY_CERTIFICATES: DWORD = 0x00000400; -pub const PKCS12_ONLY_NOT_ENCRYPTED_CERTIFICATES: DWORD = 0x00000800; -pub const PKCS12_ALLOW_OVERWRITE_KEY: DWORD = 0x00004000; -pub const PKCS12_NO_PERSIST_KEY: DWORD = 0x00008000; -pub const PKCS12_IMPORT_RESERVED_MASK: DWORD = 0xffff0000; -pub const PKCS12_OBJECT_LOCATOR_ALL_IMPORT_FLAGS: DWORD = PKCS12_ALWAYS_CNG_KSP - | PKCS12_NO_PERSIST_KEY | PKCS12_IMPORT_SILENT | PKCS12_INCLUDE_EXTENDED_PROPERTIES; -pub const PKCS12_ONLY_CERTIFICATES_PROVIDER_TYPE: DWORD = 0; -pub const PKCS12_ONLY_CERTIFICATES_PROVIDER_NAME: &'static str = "PfxProvider"; -pub const PKCS12_ONLY_CERTIFICATES_CONTAINER_NAME: &'static str = "PfxContainer"; -extern "system" { - pub fn PFXIsPFXBlob( - pPFX: *mut CRYPT_DATA_BLOB, - ) -> BOOL; - pub fn PFXVerifyPassword( - pPFX: *mut CRYPT_DATA_BLOB, - szPassword: LPCWSTR, - dwFlags: DWORD, - ) -> BOOL; - pub fn PFXExportCertStoreEx( - hStore: HCERTSTORE, - pPFX: *mut CRYPT_DATA_BLOB, - szPassword: LPCWSTR, - pvPara: *mut c_void, - dwFlags: DWORD, - ) -> BOOL; -} -pub const REPORT_NO_PRIVATE_KEY: DWORD = 0x0001; -pub const REPORT_NOT_ABLE_TO_EXPORT_PRIVATE_KEY: DWORD = 0x0002; -pub const EXPORT_PRIVATE_KEYS: DWORD = 0x0004; -pub const PKCS12_INCLUDE_EXTENDED_PROPERTIES: DWORD = 0x0010; -pub const PKCS12_PROTECT_TO_DOMAIN_SIDS: DWORD = 0x0020; -pub const PKCS12_EXPORT_SILENT: DWORD = 0x0040; -pub const PKCS12_DISABLE_ENCRYPT_CERTIFICATES: DWORD = 0x0100; -pub const PKCS12_ENCRYPT_CERTIFICATES: DWORD = 0x0200; -pub const PKCS12_EXPORT_ECC_CURVE_PARAMETERS: DWORD = 0x1000; -pub const PKCS12_EXPORT_ECC_CURVE_OID: DWORD = 0x2000; -pub const PKCS12_EXPORT_RESERVED_MASK: DWORD = 0xffff0000; -pub const PKCS12_CONFIG_REGPATH: &'static str - = "Software\\Microsoft\\Windows\\CurrentVersion\\PFX"; -pub const PKCS12_ENCRYPT_CERTIFICATES_VALUE_NAME: &'static str = "EncryptCertificates"; -extern "system" { - pub fn PFXExportCertStore( - hStore: HCERTSTORE, - pPFX: *mut CRYPT_DATA_BLOB, - szPassword: LPCWSTR, - dwFlags: DWORD, - ) -> BOOL; -} -pub type HCERT_SERVER_OCSP_RESPONSE = *mut c_void; -pub type PCERT_SERVER_OCSP_RESPONSE_CONTEXT = *mut CERT_SERVER_OCSP_RESPONSE_CONTEXT; -pub type PCCERT_SERVER_OCSP_RESPONSE_CONTEXT = *const CERT_SERVER_OCSP_RESPONSE_CONTEXT; -STRUCT!{struct CERT_SERVER_OCSP_RESPONSE_CONTEXT { - cbSize: DWORD, - pbEncodedOcspResponse: *mut BYTE, - cbEncodedOcspResponse: DWORD, -}} -FN!{stdcall PFN_CERT_SERVER_OCSP_RESPONSE_UPDATE_CALLBACK( - pChainContext: PCCERT_CHAIN_CONTEXT, - pServerOcspResponseContext: PCCERT_SERVER_OCSP_RESPONSE_CONTEXT, - pNewCrlContext: PCCRL_CONTEXT, - pPrevCrlContext: PCCRL_CONTEXT, - pvArg: PVOID, - dwWriteOcspFileError: DWORD, -) -> ()} -STRUCT!{struct CERT_SERVER_OCSP_RESPONSE_OPEN_PARA { - cbSize: DWORD, - dwFlags: DWORD, - pcbUsedSize: *mut DWORD, - pwszOcspDirectory: PWSTR, - pfnUpdateCallback: PFN_CERT_SERVER_OCSP_RESPONSE_UPDATE_CALLBACK, - pvUpdateCallbackArg: PVOID, -}} -pub type PCERT_SERVER_OCSP_RESPONSE_OPEN_PARA = *mut CERT_SERVER_OCSP_RESPONSE_OPEN_PARA; -pub const CERT_SERVER_OCSP_RESPONSE_OPEN_PARA_READ_FLAG: DWORD = 0x00000001; -pub const CERT_SERVER_OCSP_RESPONSE_OPEN_PARA_WRITE_FLAG: DWORD = 0x00000002; -extern "system" { - pub fn CertOpenServerOcspResponse( - pChainContext: PCCERT_CHAIN_CONTEXT, - dwFlags: DWORD, - pvReserved: LPVOID, - ) -> HCERT_SERVER_OCSP_RESPONSE; -} -pub const CERT_SERVER_OCSP_RESPONSE_ASYNC_FLAG: DWORD = 0x00000001; -extern "system" { - pub fn CertAddRefServerOcspResponse( - hServerOcspResponse: HCERT_SERVER_OCSP_RESPONSE, - ); - pub fn CertCloseServerOcspResponse( - hServerOcspResponse: HCERT_SERVER_OCSP_RESPONSE, - dwFlags: DWORD, - ); - pub fn CertGetServerOcspResponseContext( - hServerOcspResponse: HCERT_SERVER_OCSP_RESPONSE, - dwFlags: DWORD, - pvReserved: LPVOID, - ) -> PCCERT_SERVER_OCSP_RESPONSE_CONTEXT; - pub fn CertAddRefServerOcspResponseContext( - pServerOcspResponseContext: PCCERT_SERVER_OCSP_RESPONSE_CONTEXT, - ); - pub fn CertFreeServerOcspResponseContext( - pServerOcspResponseContext: PCCERT_SERVER_OCSP_RESPONSE_CONTEXT, - ); - pub fn CertRetrieveLogoOrBiometricInfo( - pCertContext: PCCERT_CONTEXT, - lpszLogoOrBiometricType: LPCSTR, - dwRetrievalFlags: DWORD, - dwTimeout: DWORD, - dwFlags: DWORD, - pvReserved: *mut c_void, - ppbData: *mut *mut BYTE, - pcbData: *mut DWORD, - ppwszMimeType: *mut LPWSTR, - ) -> BOOL; -} -pub const CERT_RETRIEVE_ISSUER_LOGO: LPCSTR = 1 as LPCSTR; -pub const CERT_RETRIEVE_SUBJECT_LOGO: LPCSTR = 2 as LPCSTR; -pub const CERT_RETRIEVE_COMMUNITY_LOGO: LPCSTR = 3 as LPCSTR; -pub const CERT_RETRIEVE_BIOMETRIC_PREDEFINED_BASE_TYPE: LPCSTR = 1000 as LPCSTR; -pub const CERT_RETRIEVE_BIOMETRIC_PICTURE_TYPE: LPCSTR - = (1000 + CERT_BIOMETRIC_PICTURE_TYPE) as LPCSTR; -pub const CERT_RETRIEVE_BIOMETRIC_SIGNATURE_TYPE: LPCSTR - = (1000 + CERT_BIOMETRIC_SIGNATURE_TYPE) as LPCSTR; -STRUCT!{struct CERT_SELECT_CHAIN_PARA { - hChainEngine: HCERTCHAINENGINE, - pTime: PFILETIME, - hAdditionalStore: HCERTSTORE, - pChainPara: PCERT_CHAIN_PARA, - dwFlags: DWORD, -}} -pub type PCERT_SELECT_CHAIN_PARA = *mut CERT_SELECT_CHAIN_PARA; -pub type PCCERT_SELECT_CHAIN_PARA = *const CERT_SELECT_CHAIN_PARA; -pub const CERT_SELECT_MAX_PARA: DWORD = 500; -STRUCT!{struct CERT_SELECT_CRITERIA { - dwType: DWORD, - cPara: DWORD, - ppPara: *mut *mut c_void, -}} -pub type PCERT_SELECT_CRITERIA = *mut CERT_SELECT_CRITERIA; -pub type PCCERT_SELECT_CRITERIA = *const CERT_SELECT_CRITERIA; -pub const CERT_SELECT_BY_ENHKEY_USAGE: DWORD = 1; -pub const CERT_SELECT_BY_KEY_USAGE: DWORD = 2; -pub const CERT_SELECT_BY_POLICY_OID: DWORD = 3; -pub const CERT_SELECT_BY_PROV_NAME: DWORD = 4; -pub const CERT_SELECT_BY_EXTENSION: DWORD = 5; -pub const CERT_SELECT_BY_SUBJECT_HOST_NAME: DWORD = 6; -pub const CERT_SELECT_BY_ISSUER_ATTR: DWORD = 7; -pub const CERT_SELECT_BY_SUBJECT_ATTR: DWORD = 8; -pub const CERT_SELECT_BY_ISSUER_NAME: DWORD = 9; -pub const CERT_SELECT_BY_PUBLIC_KEY: DWORD = 10; -pub const CERT_SELECT_BY_TLS_SIGNATURES: DWORD = 11; -pub const CERT_SELECT_BY_ISSUER_DISPLAYNAME: DWORD = 12; -pub const CERT_SELECT_BY_FRIENDLYNAME: DWORD = 13; -pub const CERT_SELECT_BY_THUMBPRINT: DWORD = 14; -pub const CERT_SELECT_LAST: DWORD = CERT_SELECT_BY_TLS_SIGNATURES; -pub const CERT_SELECT_MAX: DWORD = CERT_SELECT_LAST * 3; -pub const CERT_SELECT_ALLOW_EXPIRED: DWORD = 0x00000001; -pub const CERT_SELECT_TRUSTED_ROOT: DWORD = 0x00000002; -pub const CERT_SELECT_DISALLOW_SELFSIGNED: DWORD = 0x00000004; -pub const CERT_SELECT_HAS_PRIVATE_KEY: DWORD = 0x00000008; -pub const CERT_SELECT_HAS_KEY_FOR_SIGNATURE: DWORD = 0x00000010; -pub const CERT_SELECT_HAS_KEY_FOR_KEY_EXCHANGE: DWORD = 0x00000020; -pub const CERT_SELECT_HARDWARE_ONLY: DWORD = 0x00000040; -pub const CERT_SELECT_ALLOW_DUPLICATES: DWORD = 0x00000080; -pub const CERT_SELECT_IGNORE_AUTOSELECT: DWORD = 0x00000100; -extern "system" { - pub fn CertSelectCertificateChains( - pSelectionContext: LPCGUID, - dwFlags: DWORD, - pChainParameters: PCCERT_SELECT_CHAIN_PARA, - cCriteria: DWORD, - rgpCriteria: PCCERT_SELECT_CRITERIA, - hStore: HCERTSTORE, - pcSelection: PDWORD, - pprgpSelection: *mut *mut PCCERT_CHAIN_CONTEXT, - ) -> BOOL; - pub fn CertFreeCertificateChainList( - prgpSelection: *mut PCCERT_CHAIN_CONTEXT, - ); -} -pub const TIMESTAMP_VERSION: DWORD = 1; -STRUCT!{struct CRYPT_TIMESTAMP_REQUEST { - dwVersion: DWORD, - HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - HashedMessage: CRYPT_DER_BLOB, - pszTSAPolicyId: LPSTR, - Nonce: CRYPT_INTEGER_BLOB, - fCertReq: BOOL, - cExtension: DWORD, - rgExtension: PCERT_EXTENSION, -}} -pub type PCRYPT_TIMESTAMP_REQUEST = *mut CRYPT_TIMESTAMP_REQUEST; -STRUCT!{struct CRYPT_TIMESTAMP_RESPONSE { - dwStatus: DWORD, - cFreeText: DWORD, - rgFreeText: *mut LPWSTR, - FailureInfo: CRYPT_BIT_BLOB, - ContentInfo: CRYPT_DER_BLOB, -}} -pub type PCRYPT_TIMESTAMP_RESPONSE = *mut CRYPT_TIMESTAMP_RESPONSE; -pub const TIMESTAMP_STATUS_GRANTED: DWORD = 0; -pub const TIMESTAMP_STATUS_GRANTED_WITH_MODS: DWORD = 1; -pub const TIMESTAMP_STATUS_REJECTED: DWORD = 2; -pub const TIMESTAMP_STATUS_WAITING: DWORD = 3; -pub const TIMESTAMP_STATUS_REVOCATION_WARNING: DWORD = 4; -pub const TIMESTAMP_STATUS_REVOKED: DWORD = 5; -pub const TIMESTAMP_FAILURE_BAD_ALG: DWORD = 0; -pub const TIMESTAMP_FAILURE_BAD_REQUEST: DWORD = 2; -pub const TIMESTAMP_FAILURE_BAD_FORMAT: DWORD = 5; -pub const TIMESTAMP_FAILURE_TIME_NOT_AVAILABLE: DWORD = 14; -pub const TIMESTAMP_FAILURE_POLICY_NOT_SUPPORTED: DWORD = 15; -pub const TIMESTAMP_FAILURE_EXTENSION_NOT_SUPPORTED: DWORD = 16; -pub const TIMESTAMP_FAILURE_INFO_NOT_AVAILABLE: DWORD = 17; -pub const TIMESTAMP_FAILURE_SYSTEM_FAILURE: DWORD = 25; -STRUCT!{struct CRYPT_TIMESTAMP_ACCURACY { - dwSeconds: DWORD, - dwMillis: DWORD, - dwMicros: DWORD, -}} -pub type PCRYPT_TIMESTAMP_ACCURACY = *mut CRYPT_TIMESTAMP_ACCURACY; -STRUCT!{struct CRYPT_TIMESTAMP_INFO { - dwVersion: DWORD, - pszTSAPolicyId: LPSTR, - HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, - HashedMessage: CRYPT_DER_BLOB, - SerialNumber: CRYPT_INTEGER_BLOB, - ftTime: FILETIME, - pvAccuracy: PCRYPT_TIMESTAMP_ACCURACY, - fOrdering: BOOL, - Nonce: CRYPT_DER_BLOB, - Tsa: CRYPT_DER_BLOB, - cExtension: DWORD, - rgExtension: PCERT_EXTENSION, -}} -pub type PCRYPT_TIMESTAMP_INFO = *mut CRYPT_TIMESTAMP_INFO; -STRUCT!{struct CRYPT_TIMESTAMP_CONTEXT { - cbEncoded: DWORD, - pbEncoded: *mut BYTE, - pTimeStamp: PCRYPT_TIMESTAMP_INFO, -}} -pub type PCRYPT_TIMESTAMP_CONTEXT = *mut CRYPT_TIMESTAMP_CONTEXT; -STRUCT!{struct CRYPT_TIMESTAMP_PARA { - pszTSAPolicyId: LPCSTR, - fRequestCerts: BOOL, - Nonce: CRYPT_INTEGER_BLOB, - cExtension: DWORD, - rgExtension: PCERT_EXTENSION, -}} -pub type PCRYPT_TIMESTAMP_PARA = *mut CRYPT_TIMESTAMP_PARA; -extern "system" { - pub fn CryptRetrieveTimeStamp( - wszUrl: LPCWSTR, - dwRetrievalFlags: DWORD, - dwTimeout: DWORD, - pszHashId: LPCSTR, - pPara: *const CRYPT_TIMESTAMP_PARA, - pbData: *const BYTE, - cbData: DWORD, - ppTsContext: *mut PCRYPT_TIMESTAMP_CONTEXT, - ppTsSigner: *mut PCCERT_CONTEXT, - phStore: *mut HCERTSTORE, - ) -> BOOL; -} -pub const TIMESTAMP_DONT_HASH_DATA: DWORD = 0x00000001; -pub const TIMESTAMP_VERIFY_CONTEXT_SIGNATURE: DWORD = 0x00000020; -pub const TIMESTAMP_NO_AUTH_RETRIEVAL: DWORD = 0x00020000; -extern "system" { - pub fn CryptVerifyTimeStampSignature( - pbTSContentInfo: *const BYTE, - cbTSContentInfo: DWORD, - pbData: *const BYTE, - cbData: DWORD, - hAdditionalStore: HCERTSTORE, - ppTsContext: *mut PCRYPT_TIMESTAMP_CONTEXT, - ppTsSigner: *mut PCCERT_CONTEXT, - phStore: *mut HCERTSTORE, - ) -> BOOL; -} -pub const CRYPT_OBJECT_LOCATOR_SPN_NAME_TYPE: DWORD = 1; -pub const CRYPT_OBJECT_LOCATOR_LAST_RESERVED_NAME_TYPE: DWORD = 32; -pub const CRYPT_OBJECT_LOCATOR_FIRST_RESERVED_USER_NAME_TYPE: DWORD = 33; -pub const CRYPT_OBJECT_LOCATOR_LAST_RESERVED_USER_NAME_TYPE: DWORD = 0x0000FFFF; -pub const SSL_OBJECT_LOCATOR_PFX_FUNC: &'static str = "SslObjectLocatorInitializePfx"; -pub const SSL_OBJECT_LOCATOR_ISSUER_LIST_FUNC: &'static str - = "SslObjectLocatorInitializeIssuerList"; -pub const SSL_OBJECT_LOCATOR_CERT_VALIDATION_CONFIG_FUNC: &'static str - = "SslObjectLocatorInitializeCertValidationConfig"; -pub const CRYPT_OBJECT_LOCATOR_RELEASE_SYSTEM_SHUTDOWN: DWORD = 1; -pub const CRYPT_OBJECT_LOCATOR_RELEASE_SERVICE_STOP: DWORD = 2; -pub const CRYPT_OBJECT_LOCATOR_RELEASE_PROCESS_EXIT: DWORD = 3; -pub const CRYPT_OBJECT_LOCATOR_RELEASE_DLL_UNLOAD: DWORD = 4; -FN!{stdcall PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH( - pContext: LPVOID, - rgIdentifierOrNameList: *mut PCERT_NAME_BLOB, - dwIdentifierOrNameListCount: DWORD, -) -> BOOL} -FN!{stdcall PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET( - pPluginContext: LPVOID, - pIdentifier: PCRYPT_DATA_BLOB, - dwNameType: DWORD, - pNameBlob: PCERT_NAME_BLOB, - ppbContent: *mut PBYTE, - pcbContent: *mut DWORD, - ppwszPassword: *mut PCWSTR, - ppIdentifier: *mut PCRYPT_DATA_BLOB, -) -> BOOL} -FN!{stdcall PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE( - dwReason: DWORD, - pPluginContext: LPVOID, -) -> ()} -FN!{stdcall PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD( - pPluginContext: LPVOID, - pwszPassword: PCWSTR, -) -> ()} -FN!{stdcall PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE( - pPluginContext: LPVOID, - pbData: PBYTE, -) -> ()} -FN!{stdcall PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER( - pPluginContext: LPVOID, - pIdentifier: PCRYPT_DATA_BLOB, -) -> ()} -STRUCT!{struct CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE { - cbSize: DWORD, - pfnGet: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET, - pfnRelease: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE, - pfnFreePassword: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD, - pfnFree: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE, - pfnFreeIdentifier: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER, -}} -pub type PCRYPT_OBJECT_LOCATOR_PROVIDER_TABLE = *mut CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE; -FN!{stdcall PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE( - pfnFlush: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH, - pContext: LPVOID, - pdwExpectedObjectCount: *mut DWORD, - ppFuncTable: *mut PCRYPT_OBJECT_LOCATOR_PROVIDER_TABLE, - ppPluginContext: *mut *mut c_void, -) -> BOOL} -extern "system" { - pub fn CertIsWeakHash( - dwHashUseType: DWORD, - pwszCNGHashAlgid: LPCWSTR, - dwChainFlags: DWORD, - pSignerChainContext: PCCERT_CHAIN_CONTEXT, - pTimeStamp: LPFILETIME, - pwszFileName: LPCWSTR, - ) -> BOOL; -} -FN!{stdcall PFN_CERT_IS_WEAK_HASH( - dwHashUseType: DWORD, - pwszCNGHashAlgid: LPCWSTR, - dwChainFlags: DWORD, - pSignerChainContext: PCCERT_CHAIN_CONTEXT, - pTimeStamp: LPFILETIME, - pwszFileName: LPCWSTR, -) -> BOOL} -pub const CERT_FILE_HASH_USE_TYPE: DWORD = 1; -pub const CERT_TIMESTAMP_HASH_USE_TYPE: DWORD = 2; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/windowsceip.rs b/vendor/registry-40351f815f426200/winapi/src/um/windowsceip.rs deleted file mode 100644 index 87a59d33c..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/windowsceip.rs +++ /dev/null @@ -1,9 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::BOOL; -extern "system" { - pub fn CeipIsOptedIn() -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/winefs.rs b/vendor/registry-40351f815f426200/winapi/src/um/winefs.rs deleted file mode 100644 index f4766431b..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/winefs.rs +++ /dev/null @@ -1,178 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::SIZE_T; -use shared::minwindef::{BOOL, DWORD, LPVOID, PBYTE, PDWORD, ULONG}; -use um::minwinbase::SECURITY_ATTRIBUTES; -use um::wincrypt::ALG_ID; -use um::winnt::{LPCWSTR, LPWSTR, SID}; -pub const WINEFS_SETUSERKEY_SET_CAPABILITIES: DWORD = 0x00000001; -STRUCT!{struct EFS_CERTIFICATE_BLOB { - dwCertEncodingType: DWORD, - cbData: DWORD, - pbData: PBYTE, -}} -pub type PEFS_CERTIFICATE_BLOB = *mut EFS_CERTIFICATE_BLOB; -STRUCT!{struct EFS_HASH_BLOB { - cbData: DWORD, - pbData: PBYTE, -}} -pub type PEFS_HASH_BLOB = *mut EFS_HASH_BLOB; -STRUCT!{struct EFS_RPC_BLOB { - cbData: DWORD, - pbData: PBYTE, -}} -pub type PEFS_RPC_BLOB = *mut EFS_RPC_BLOB; -STRUCT!{struct EFS_PIN_BLOB { - cbPadding: DWORD, - cbData: DWORD, - pbData: PBYTE, -}} -pub type PEFS_PIN_BLOB = *mut EFS_PIN_BLOB; -STRUCT!{struct EFS_KEY_INFO { - dwVersion: DWORD, - Entropy: ULONG, - Algorithm: ALG_ID, - KeyLength: ULONG, -}} -pub type PEFS_KEY_INFO = *mut EFS_KEY_INFO; -STRUCT!{struct EFS_COMPATIBILITY_INFO { - EfsVersion: DWORD, -}} -pub type PEFS_COMPATIBILITY_INFO = *mut EFS_COMPATIBILITY_INFO; -pub const EFS_COMPATIBILITY_VERSION_NCRYPT_PROTECTOR: DWORD = 5; -pub const EFS_COMPATIBILITY_VERSION_PFILE_PROTECTOR: DWORD = 6; -#[inline] -pub fn EFS_IS_DESCRIPTOR_VERSION(v: DWORD) -> bool { - v == EFS_COMPATIBILITY_VERSION_NCRYPT_PROTECTOR - || v == EFS_COMPATIBILITY_VERSION_PFILE_PROTECTOR -} -pub const EFS_SUBVER_UNKNOWN: DWORD = 0; -pub const EFS_EFS_SUBVER_EFS_CERT: DWORD = 1; -pub const EFS_PFILE_SUBVER_RMS: DWORD = 2; -pub const EFS_PFILE_SUBVER_APPX: DWORD = 3; -STRUCT!{struct EFS_VERSION_INFO { - EfsVersion: DWORD, - SubVersion: DWORD, -}} -pub type PEFS_VERSION_INFO = *mut EFS_VERSION_INFO; -#[inline] -pub fn EFS_IS_APPX_VERSION(v: DWORD, subV: DWORD) -> bool { - v == EFS_COMPATIBILITY_VERSION_PFILE_PROTECTOR && subV == EFS_PFILE_SUBVER_APPX -} -STRUCT!{struct EFS_DECRYPTION_STATUS_INFO { - dwDecryptionError: DWORD, - dwHashOffset: DWORD, - cbHash: DWORD, -}} -pub type PEFS_DECRYPTION_STATUS_INFO = *mut EFS_DECRYPTION_STATUS_INFO; -STRUCT!{struct EFS_ENCRYPTION_STATUS_INFO { - bHasCurrentKey: BOOL, - dwEncryptionError: DWORD, -}} -pub type PEFS_ENCRYPTION_STATUS_INFO = *mut EFS_ENCRYPTION_STATUS_INFO; -STRUCT!{struct ENCRYPTION_CERTIFICATE { - cbTotalLength: DWORD, - pUserSid: *mut SID, - pCertBlob: PEFS_CERTIFICATE_BLOB, -}} -pub type PENCRYPTION_CERTIFICATE = *mut ENCRYPTION_CERTIFICATE; -pub const MAX_SID_SIZE: SIZE_T = 256; -STRUCT!{struct ENCRYPTION_CERTIFICATE_HASH { - cbTotalLength: DWORD, - pUserSid: *mut SID, - pHash: PEFS_HASH_BLOB, - lpDisplayInformation: LPWSTR, -}} -pub type PENCRYPTION_CERTIFICATE_HASH = *mut ENCRYPTION_CERTIFICATE_HASH; -STRUCT!{struct ENCRYPTION_CERTIFICATE_HASH_LIST { - nCert_Hash: DWORD, - pUsers: *mut PENCRYPTION_CERTIFICATE_HASH, -}} -pub type PENCRYPTION_CERTIFICATE_HASH_LIST = *mut ENCRYPTION_CERTIFICATE_HASH_LIST; -STRUCT!{struct ENCRYPTION_CERTIFICATE_LIST { - nUsers: DWORD, - pUsers: *mut PENCRYPTION_CERTIFICATE, -}} -pub type PENCRYPTION_CERTIFICATE_LIST = *mut ENCRYPTION_CERTIFICATE_LIST; -pub const EFS_METADATA_ADD_USER: DWORD = 0x00000001; -pub const EFS_METADATA_REMOVE_USER: DWORD = 0x00000002; -pub const EFS_METADATA_REPLACE_USER: DWORD = 0x00000004; -pub const EFS_METADATA_GENERAL_OP: DWORD = 0x00000008; -STRUCT!{struct ENCRYPTED_FILE_METADATA_SIGNATURE { - dwEfsAccessType: DWORD, - pCertificatesAdded: PENCRYPTION_CERTIFICATE_HASH_LIST, - pEncryptionCertificate: PENCRYPTION_CERTIFICATE, - pEfsStreamSignature: PEFS_RPC_BLOB, -}} -pub type PENCRYPTED_FILE_METADATA_SIGNATURE = *mut ENCRYPTED_FILE_METADATA_SIGNATURE; -STRUCT!{struct ENCRYPTION_PROTECTOR { - cbTotalLength: DWORD, - pUserSid: *mut SID, - lpProtectorDescriptor: LPWSTR, -}} -pub type PENCRYPTION_PROTECTOR = *mut ENCRYPTION_PROTECTOR; -STRUCT!{struct ENCRYPTION_PROTECTOR_LIST { - nProtectors: DWORD, - pProtectors: *mut PENCRYPTION_PROTECTOR, -}} -pub type PENCRYPTION_PROTECTOR_LIST = *mut ENCRYPTION_PROTECTOR_LIST; -extern "system" { - pub fn QueryUsersOnEncryptedFile( - lpFileName: LPCWSTR, - pUsers: *mut PENCRYPTION_CERTIFICATE_HASH_LIST, - ) -> DWORD; - pub fn QueryRecoveryAgentsOnEncryptedFile( - lpFileName: LPCWSTR, - pRecoveryAgents: *mut PENCRYPTION_CERTIFICATE_HASH_LIST, - ) -> DWORD; - pub fn RemoveUsersFromEncryptedFile( - lpFileName: LPCWSTR, - pHashes: PENCRYPTION_CERTIFICATE_HASH_LIST, - ) -> DWORD; - pub fn AddUsersToEncryptedFile( - lpFileName: LPCWSTR, - pEncryptionCertificate: PENCRYPTION_CERTIFICATE_LIST, - ) -> DWORD; - pub fn SetUserFileEncryptionKey( - pEncryptionCertificate: PENCRYPTION_CERTIFICATE, - ) -> DWORD; - pub fn SetUserFileEncryptionKeyEx( - pEncryptionCertificate: PENCRYPTION_CERTIFICATE, - dwCapabilities: DWORD, - dwFlags: DWORD, - pvReserved: LPVOID, - ) -> DWORD; - pub fn FreeEncryptionCertificateHashList( - pUsers: PENCRYPTION_CERTIFICATE_HASH_LIST, - ); - pub fn EncryptionDisable( - DirPath: LPCWSTR, - Disable: BOOL, - ) -> BOOL; - pub fn DuplicateEncryptionInfoFile( - SrcFileName: LPCWSTR, - DstFileName: LPCWSTR, - dwCreationDistribution: DWORD, - dwAttributes: DWORD, - lpSecurityAttributes: *const SECURITY_ATTRIBUTES, - ) -> DWORD; - pub fn GetEncryptedFileMetadata( - lpFileName: LPCWSTR, - pcbMetadata: PDWORD, - ppbMetadata: *mut PBYTE, - ) -> DWORD; - pub fn SetEncryptedFileMetadata( - lpFileName: LPCWSTR, - pbOldMetadata: PBYTE, - pbNewMetadata: PBYTE, - pOwnerHash: PENCRYPTION_CERTIFICATE_HASH, - dwOperation: DWORD, - pCertificatesAdded: PENCRYPTION_CERTIFICATE_HASH_LIST, - ) -> DWORD; - pub fn FreeEncryptedFileMetadata( - pbMetadata: PBYTE, - ); -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/winevt.rs b/vendor/registry-40351f815f426200/winapi/src/um/winevt.rs deleted file mode 100644 index dce3d27ec..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/winevt.rs +++ /dev/null @@ -1,543 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Windows Events API -use ctypes::{c_double, c_float}; -use shared::basetsd::{INT16, INT32, INT64, INT8, UINT16, UINT32, UINT64, UINT8}; -use shared::guiddef::GUID; -use shared::minwindef::{BOOL, DWORD, FILETIME, PBYTE, PDWORD}; -use um::minwinbase::SYSTEMTIME; -use um::winnt::{HANDLE, LCID, LONGLONG, LPCSTR, LPCWSTR, LPSTR, LPWSTR, PSID, PVOID, ULONGLONG}; -use vc::vcruntime::size_t; -pub type EVT_HANDLE = HANDLE; -pub type PEVT_HANDLE = *mut HANDLE; -ENUM!{enum EVT_VARIANT_TYPE { - EvtVarTypeNull = 0, - EvtVarTypeString = 1, - EvtVarTypeAnsiString = 2, - EvtVarTypeSByte = 3, - EvtVarTypeByte = 4, - EvtVarTypeInt16 = 5, - EvtVarTypeUInt16 = 6, - EvtVarTypeInt32 = 7, - EvtVarTypeUInt32 = 8, - EvtVarTypeInt64 = 9, - EvtVarTypeUInt64 = 10, - EvtVarTypeSingle = 11, - EvtVarTypeDouble = 12, - EvtVarTypeBoolean = 13, - EvtVarTypeBinary = 14, - EvtVarTypeGuid = 15, - EvtVarTypeSizeT = 16, - EvtVarTypeFileTime = 17, - EvtVarTypeSysTime = 18, - EvtVarTypeSid = 19, - EvtVarTypeHexInt32 = 20, - EvtVarTypeHexInt64 = 21, - EvtVarTypeEvtHandle = 32, - EvtVarTypeEvtXml = 35, -}} -pub const EVT_VARIANT_TYPE_MASK: DWORD = 0x7f; -pub const EVT_VARIANT_TYPE_ARRAY: DWORD = 128; -UNION!{union EVT_VARIANT_u { - [u64; 1], - BooleanVal BooleanVal_mut: BOOL, - SByteVal SByteVal_mut: INT8, - Int16Val Int16Val_mut: INT16, - Int32Val Int32Val_mut: INT32, - Int64Val Int64Val_mut: INT64, - ByteVal ByteVal_mut: UINT8, - UInt16Val UInt16Val_mut: UINT16, - UInt32Val UInt32Val_mut: UINT32, - UInt64Val UInt64Val_mut: UINT64, - SingleVal SingleVal_mut: c_float, - DoubleVal DoubleVal_mut: c_double, - FileTimeVal FileTimeVal_mut: ULONGLONG, - SysTimeVal SysTimeVal_mut: *mut SYSTEMTIME, - GuidVal GuidVal_mut: *mut GUID, - StringVal StringVal_mut: LPCWSTR, - AnsiStringVal AnsiStringVal_mut: LPCSTR, - BinaryVal BinaryVal_mut: PBYTE, - SidVal SidVal_mut: PSID, - SizeTVal SizeTVal_mut: size_t, - BooleanArr BooleanArr_mut: *mut BOOL, - SByteArr SByteArr_mut: *mut INT8, - Int16Arr Int16Arr_mut: *mut INT16, - Int32Arr Int32Arr_mut: *mut INT32, - Int64Arr Int64Arr_mut: *mut INT64, - ByteArr ByteArr_mut: *mut UINT8, - UInt16Arr UInt16Arr_mut: *mut UINT16, - UInt32Arr UInt32Arr_mut: *mut UINT32, - UInt64Arr UInt64Arr_mut: *mut UINT64, - SingleArr SingleArr_mut: *mut c_float, - DoubleArr DoubleArr_mut: *mut c_double, - FileTimeArr FileTimeArr_mut: *mut FILETIME, - SysTimeArr SysTimeArr_mut: *mut SYSTEMTIME, - GuidArr GuidArr_mut: *mut GUID, - StringArr StringArr_mut: *mut LPWSTR, - AnsiStringArr AnsiStringArr_mut: *mut LPSTR, - SidArr SidArr_mut: *mut PSID, - SizeTArr SizeTArr_mut: *mut size_t, - EvtHandleVal EvtHandleVal_mut: EVT_HANDLE, - XmlVal XmlVal_mut: LPCWSTR, - XmlValArr XmlValArr_mut: *mut LPCWSTR, -}} -STRUCT!{struct EVT_VARIANT { - u: EVT_VARIANT_u, - Count: DWORD, - Type: DWORD, -}} -pub type PEVT_VARIANT = *mut EVT_VARIANT; -ENUM!{enum EVT_LOGIN_CLASS { - EvtRpcLogin = 1, -}} -ENUM!{enum EVT_RPC_LOGIN_FLAGS { - EvtRpcLoginAuthDefault = 0, - EvtRpcLoginAuthNegotiate, - EvtRpcLoginAuthKerberos, - EvtRpcLoginAuthNTLM, -}} -STRUCT!{struct EVT_RPC_LOGIN { - Server: LPWSTR, - User: LPWSTR, - Domain: LPWSTR, - Password: LPWSTR, - Flags: DWORD, -}} -extern "system" { - pub fn EvtOpenSession( - LoginClass: EVT_LOGIN_CLASS, - Login: PVOID, - Timeout: DWORD, - Flags: DWORD, - ) -> EVT_HANDLE; - pub fn EvtClose( - Object: EVT_HANDLE, - ) -> BOOL; - pub fn EvtCancel( - Object: EVT_HANDLE, - ) -> BOOL; - pub fn EvtGetExtendedStatus( - BufferSize: DWORD, - Buffer: LPWSTR, - BufferUsed: PDWORD, - ) -> DWORD; -} -ENUM!{enum EVT_QUERY_FLAGS { - EvtQueryChannelPath = 0x1, - EvtQueryFilePath = 0x2, - EvtQueryForwardDirection = 0x100, - EvtQueryReverseDirection = 0x200, - EvtQueryTolerateQueryErrors = 0x1000, -}} -ENUM!{enum EVT_SEEK_FLAGS { - EvtSeekRelativeToFirst = 1, - EvtSeekRelativeToLast = 2, - EvtSeekRelativeToCurrent = 3, - EvtSeekRelativeToBookmark = 4, - EvtSeekOriginMask = 7, - EvtSeekStrict = 0x10000, -}} -extern "system" { - pub fn EvtQuery( - Session: EVT_HANDLE, - Path: LPCWSTR, - Query: LPCWSTR, - Flags: DWORD, - ) -> EVT_HANDLE; - pub fn EvtNext( - ResultSet: EVT_HANDLE, - EventsSize: DWORD, - Events: PEVT_HANDLE, - Timeout: DWORD, - Flags: DWORD, - Returned: PDWORD, - ) -> BOOL; - pub fn EvtSeek( - ResultSet: EVT_HANDLE, - Position: LONGLONG, - Bookmark: EVT_HANDLE, - Timeout: DWORD, - Flags: DWORD, - ) -> BOOL; -} -ENUM!{enum EVT_SUBSCRIBE_FLAGS { - EvtSubscribeToFutureEvents = 1, - EvtSubscribeStartAtOldestRecord = 2, - EvtSubscribeStartAfterBookmark = 3, - EvtSubscribeOriginMask = 3, - EvtSubscribeTolerateQueryErrors = 0x1000, - EvtSubscribeStrict = 0x10000, -}} -ENUM!{enum EVT_SUBSCRIBE_NOTIFY_ACTION { - EvtSubscribeActionError = 0, - EvtSubscribeActionDeliver, -}} -FN!{stdcall EVT_SUBSCRIBE_CALLBACK( - Action: EVT_SUBSCRIBE_NOTIFY_ACTION, - UserContext: PVOID, - Event: EVT_HANDLE, -) -> DWORD} -extern "system" { - pub fn EvtSubscribe( - Session: EVT_HANDLE, - SignalEvent: HANDLE, - ChannelPath: LPCWSTR, - Query: LPCWSTR, - Bookmark: EVT_HANDLE, - Context: PVOID, - Callback: EVT_SUBSCRIBE_CALLBACK, - Flags: DWORD, - ) -> EVT_HANDLE; -} -ENUM!{enum EVT_SYSTEM_PROPERTY_ID { - EvtSystemProviderName = 0, - EvtSystemProviderGuid, - EvtSystemEventID, - EvtSystemQualifiers, - EvtSystemLevel, - EvtSystemTask, - EvtSystemOpcode, - EvtSystemKeywords, - EvtSystemTimeCreated, - EvtSystemEventRecordId, - EvtSystemActivityID, - EvtSystemRelatedActivityID, - EvtSystemProcessID, - EvtSystemThreadID, - EvtSystemChannel, - EvtSystemComputer, - EvtSystemUserID, - EvtSystemVersion, - EvtSystemPropertyIdEND, -}} -ENUM!{enum EVT_RENDER_CONTEXT_FLAGS { - EvtRenderContextValues = 0, - EvtRenderContextSystem, - EvtRenderContextUser, -}} -ENUM!{enum EVT_RENDER_FLAGS { - EvtRenderEventValues = 0, - EvtRenderEventXml, - EvtRenderBookmark, -}} -extern "system" { - pub fn EvtCreateRenderContext( - ValuePathsCount: DWORD, - ValuePaths: *mut LPCWSTR, - Flags: DWORD, - ) -> EVT_HANDLE; - pub fn EvtRender( - Context: EVT_HANDLE, - Fragment: EVT_HANDLE, - Flags: DWORD, - BufferSize: DWORD, - Buffer: PVOID, - BufferUsed: PDWORD, - PropertyCount: PDWORD, - ) -> BOOL; -} -ENUM!{enum EVT_FORMAT_MESSAGE_FLAGS { - EvtFormatMessageEvent = 1, - EvtFormatMessageLevel, - EvtFormatMessageTask, - EvtFormatMessageOpcode, - EvtFormatMessageKeyword, - EvtFormatMessageChannel, - EvtFormatMessageProvider, - EvtFormatMessageId, - EvtFormatMessageXml, -}} -extern "system" { - pub fn EvtFormatMessage( - PublisherMetadata: EVT_HANDLE, - Event: EVT_HANDLE, - MessageId: DWORD, - ValueCount: DWORD, - Values: PEVT_VARIANT, - Flags: DWORD, - BufferSize: DWORD, - Buffer: LPWSTR, - BufferUsed: PDWORD, - ) -> BOOL; -} -ENUM!{enum EVT_OPEN_LOG_FLAGS { - EvtOpenChannelPath = 0x1, - EvtOpenFilePath = 0x2, -}} -ENUM!{enum EVT_LOG_PROPERTY_ID { - EvtLogCreationTime = 0, - EvtLogLastAccessTime, - EvtLogLastWriteTime, - EvtLogFileSize, - EvtLogAttributes, - EvtLogNumberOfLogRecords, - EvtLogOldestRecordNumber, - EvtLogFull, -}} -extern "system" { - pub fn EvtOpenLog( - Session: EVT_HANDLE, - Path: LPCWSTR, - Flags: DWORD, - ) -> EVT_HANDLE; - pub fn EvtGetLogInfo( - Log: EVT_HANDLE, - PropertyId: EVT_LOG_PROPERTY_ID, - PropertyValueBufferSize: DWORD, - PropertyValueBuffer: PEVT_VARIANT, - PropertyValueBufferUsed: PDWORD, - ) -> BOOL; - pub fn EvtClearLog( - Session: EVT_HANDLE, - ChannelPath: LPCWSTR, - TargetFilePath: LPCWSTR, - Flags: DWORD, - ) -> BOOL; -} -ENUM!{enum EVT_EXPORTLOG_FLAGS { - EvtExportLogChannelPath = 0x1, - EvtExportLogFilePath = 0x2, - EvtExportLogTolerateQueryErrors = 0x1000, - EvtExportLogOverwrite = 0x2000, -}} -extern "system" { - pub fn EvtExportLog( - Session: EVT_HANDLE, - Path: LPCWSTR, - Query: LPCWSTR, - TargetFilePath: LPCWSTR, - Flags: DWORD, - ) -> BOOL; - pub fn EvtArchiveExportedLog( - Session: EVT_HANDLE, - LogFilePath: LPCWSTR, - Locale: LCID, - Flags: DWORD, - ) -> BOOL; -} -ENUM!{enum EVT_CHANNEL_CONFIG_PROPERTY_ID { - EvtChannelConfigEnabled = 0, - EvtChannelConfigIsolation, - EvtChannelConfigType, - EvtChannelConfigOwningPublisher, - EvtChannelConfigClassicEventlog, - EvtChannelConfigAccess, - EvtChannelLoggingConfigRetention, - EvtChannelLoggingConfigAutoBackup, - EvtChannelLoggingConfigMaxSize, - EvtChannelLoggingConfigLogFilePath, - EvtChannelPublishingConfigLevel, - EvtChannelPublishingConfigKeywords, - EvtChannelPublishingConfigControlGuid, - EvtChannelPublishingConfigBufferSize, - EvtChannelPublishingConfigMinBuffers, - EvtChannelPublishingConfigMaxBuffers, - EvtChannelPublishingConfigLatency, - EvtChannelPublishingConfigClockType, - EvtChannelPublishingConfigSidType, - EvtChannelPublisherList, - EvtChannelPublishingConfigFileMax, - EvtChannelConfigPropertyIdEND, -}} -ENUM!{enum EVT_CHANNEL_TYPE { - EvtChannelTypeAdmin = 0, - EvtChannelTypeOperational, - EvtChannelTypeAnalytic, - EvtChannelTypeDebug, -}} -ENUM!{enum EVT_CHANNEL_ISOLATION_TYPE { - EvtChannelIsolationTypeApplication = 0, - EvtChannelIsolationTypeSystem, - EvtChannelIsolationTypeCustom, -}} -ENUM!{enum EVT_CHANNEL_CLOCK_TYPE { - EvtChannelClockTypeSystemTime = 0, - EvtChannelClockTypeQPC, -}} -ENUM!{enum EVT_CHANNEL_SID_TYPE { - EvtChannelSidTypeNone = 0, - EvtChannelSidTypePublishing, -}} -extern "system" { - pub fn EvtOpenChannelEnum( - Session: EVT_HANDLE, - Flags: DWORD, - ) -> EVT_HANDLE; - pub fn EvtNextChannelPath( - ChannelEnum: EVT_HANDLE, - ChannelPathBufferSize: DWORD, - ChannelPathBuffer: LPWSTR, - ChannelPathBufferUsed: PDWORD, - ) -> BOOL; - pub fn EvtOpenChannelConfig( - Session: EVT_HANDLE, - ChannelPath: LPCWSTR, - Flags: DWORD, - ) -> EVT_HANDLE; - pub fn EvtSaveChannelConfig( - ChannelConfig: EVT_HANDLE, - Flags: DWORD, - ) -> BOOL; - pub fn EvtSetChannelConfigProperty( - ChannelConfig: EVT_HANDLE, - PropertyId: EVT_CHANNEL_CONFIG_PROPERTY_ID, - Flags: DWORD, - PropertyValue: PEVT_VARIANT, - ) -> BOOL; - pub fn EvtGetChannelConfigProperty( - ChannelConfig: EVT_HANDLE, - PropertyId: EVT_CHANNEL_CONFIG_PROPERTY_ID, - Flags: DWORD, - PropertyValueBufferSize: DWORD, - PropertyValueBuffer: PEVT_VARIANT, - PropertyValueBufferUsed: PDWORD, - ) -> BOOL; -} -ENUM!{enum EVT_CHANNEL_REFERENCE_FLAGS { - EvtChannelReferenceImported = 0x1, -}} -ENUM!{enum EVT_PUBLISHER_METADATA_PROPERTY_ID { - EvtPublisherMetadataPublisherGuid = 0, - EvtPublisherMetadataResourceFilePath, - EvtPublisherMetadataParameterFilePath, - EvtPublisherMetadataMessageFilePath, - EvtPublisherMetadataHelpLink, - EvtPublisherMetadataPublisherMessageID, - EvtPublisherMetadataChannelReferences, - EvtPublisherMetadataChannelReferencePath, - EvtPublisherMetadataChannelReferenceIndex, - EvtPublisherMetadataChannelReferenceID, - EvtPublisherMetadataChannelReferenceFlags, - EvtPublisherMetadataChannelReferenceMessageID, - EvtPublisherMetadataLevels, - EvtPublisherMetadataLevelName, - EvtPublisherMetadataLevelValue, - EvtPublisherMetadataLevelMessageID, - EvtPublisherMetadataTasks, - EvtPublisherMetadataTaskName, - EvtPublisherMetadataTaskEventGuid, - EvtPublisherMetadataTaskValue, - EvtPublisherMetadataTaskMessageID, - EvtPublisherMetadataOpcodes, - EvtPublisherMetadataOpcodeName, - EvtPublisherMetadataOpcodeValue, - EvtPublisherMetadataOpcodeMessageID, - EvtPublisherMetadataKeywords, - EvtPublisherMetadataKeywordName, - EvtPublisherMetadataKeywordValue, - EvtPublisherMetadataKeywordMessageID, - EvtPublisherMetadataPropertyIdEND, -}} -extern "system" { - pub fn EvtOpenPublisherEnum( - Session: EVT_HANDLE, - Flags: DWORD, - ) -> EVT_HANDLE; - pub fn EvtNextPublisherId( - PublisherEnum: EVT_HANDLE, - PublisherIdBufferSize: DWORD, - PublisherIdBuffer: LPWSTR, - PublisherIdBufferUsed: PDWORD, - ) -> BOOL; - pub fn EvtOpenPublisherMetadata( - Session: EVT_HANDLE, - PublisherId: LPCWSTR, - LogFilePath: LPCWSTR, - Locale: LCID, - Flags: DWORD, - ) -> EVT_HANDLE; - pub fn EvtGetPublisherMetadataProperty( - PublisherMetadata: EVT_HANDLE, - PropertyId: EVT_PUBLISHER_METADATA_PROPERTY_ID, - Flags: DWORD, - PublisherMetadataPropertyBufferSize: DWORD, - PublisherMetadataPropertyBuffer: PEVT_VARIANT, - PublisherMetadataPropertyBufferUsed: PDWORD, - ) -> BOOL; -} -ENUM!{enum EVT_EVENT_METADATA_PROPERTY_ID { - EventMetadataEventID, - EventMetadataEventVersion, - EventMetadataEventChannel, - EventMetadataEventLevel, - EventMetadataEventOpcode, - EventMetadataEventTask, - EventMetadataEventKeyword, - EventMetadataEventMessageID, - EventMetadataEventTemplate, - EvtEventMetadataPropertyIdEND, -}} -extern "system" { - pub fn EvtOpenEventMetadataEnum( - PublisherMetadata: EVT_HANDLE, - Flags: DWORD, - ) -> EVT_HANDLE; - pub fn EvtNextEventMetadata( - EventMetadataEnum: EVT_HANDLE, - Flags: DWORD, - ) -> EVT_HANDLE; - pub fn EvtGetEventMetadataProperty( - EventMetadata: EVT_HANDLE, - PropertyId: EVT_EVENT_METADATA_PROPERTY_ID, - Flags: DWORD, - EventMetadataPropertyBufferSize: DWORD, - EventMetadataPropertyBuffer: PEVT_VARIANT, - EventMetadataPropertyBufferUsed: PDWORD, - ) -> BOOL; -} -pub type EVT_OBJECT_ARRAY_PROPERTY_HANDLE = HANDLE; -extern "system" { - pub fn EvtGetObjectArraySize( - ObjectArray: EVT_OBJECT_ARRAY_PROPERTY_HANDLE, - ObjectArraySize: PDWORD, - ) -> BOOL; - pub fn EvtGetObjectArrayProperty( - ObjectArray: EVT_OBJECT_ARRAY_PROPERTY_HANDLE, - PropertyId: DWORD, - ArrayIndex: DWORD, - Flags: DWORD, - PropertyValueBufferSize: DWORD, - PropertyValueBuffer: PEVT_VARIANT, - PropertyValueBufferUsed: PDWORD, - ) -> BOOL; -} -ENUM!{enum EVT_QUERY_PROPERTY_ID { - EvtQueryNames, - EvtQueryStatuses, - EvtQueryPropertyIdEND, -}} -ENUM!{enum EVT_EVENT_PROPERTY_ID { - EvtEventQueryIDs = 0, - EvtEventPath, - EvtEventPropertyIdEND, -}} -extern "system" { - pub fn EvtGetQueryInfo( - QueryOrSubscription: EVT_HANDLE, - PropertyId: EVT_QUERY_PROPERTY_ID, - PropertyValueBufferSize: DWORD, - PropertyValueBuffer: PEVT_VARIANT, - PropertyValueBufferUsed: PDWORD, - ) -> BOOL; - pub fn EvtCreateBookmark( - BookmarkXml: LPCWSTR, - ) -> EVT_HANDLE; - pub fn EvtUpdateBookmark( - Bookmark: EVT_HANDLE, - Event: EVT_HANDLE, - ) -> BOOL; - pub fn EvtGetEventInfo( - Event: EVT_HANDLE, - PropertyId: EVT_EVENT_PROPERTY_ID, - PropertyValueBufferSize: DWORD, - PropertyValueBuffer: PEVT_VARIANT, - PropertyValueBufferUsed: PDWORD, - ) -> BOOL; -} -pub const EVT_READ_ACCESS: DWORD = 0x1; -pub const EVT_WRITE_ACCESS: DWORD = 0x2; -pub const EVT_CLEAR_ACCESS: DWORD = 0x4; -pub const EVT_ALL_ACCESS: DWORD = 0x7; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/wingdi.rs b/vendor/registry-40351f815f426200/winapi/src/um/wingdi.rs deleted file mode 100644 index 4404bee08..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/wingdi.rs +++ /dev/null @@ -1,5591 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! GDI procedure declarations, constant definitions and macros -use ctypes::{c_char, c_int, c_long, c_short, c_ushort, c_void}; -use shared::basetsd::{UINT16, UINT32, UINT64, ULONG_PTR}; -use shared::minwindef::{ - BOOL, BYTE, DWORD, FLOAT, HGLOBAL, HMETAFILE, HMODULE, HRGN, INT, LOBYTE, LPARAM, LPBYTE, - LPDWORD, LPINT, LPVOID, LPWORD, MAX_PATH, PFLOAT, PROC, UINT, ULONG, USHORT, WORD, -}; -use shared::windef::{ - COLORREF, HBITMAP, HBRUSH, HCOLORSPACE, HDC, HENHMETAFILE, HFONT, HGDIOBJ, HGLRC, HPALETTE, - HPEN, HWND, LPPOINT, LPRECT, LPSIZE, POINT, POINTL, POINTS, RECT, RECTL, SIZEL, -}; -use um::winnt::{ - CHAR, HANDLE, LONG, LPCSTR, LPCWSTR, LPSTR, LPWSTR, LUID, PSTR, PVOID, SHORT, VOID, WCHAR, -}; -pub const R2_BLACK: c_int = 1; -pub const R2_NOTMERGEPEN: c_int = 2; -pub const R2_MASKNOTPEN: c_int = 3; -pub const R2_NOTCOPYPEN: c_int = 4; -pub const R2_MASKPENNOT: c_int = 5; -pub const R2_NOT: c_int = 6; -pub const R2_XORPEN: c_int = 7; -pub const R2_NOTMASKPEN: c_int = 8; -pub const R2_MASKPEN: c_int = 9; -pub const R2_NOTXORPEN: c_int = 10; -pub const R2_NOP: c_int = 11; -pub const R2_MERGENOTPEN: c_int = 12; -pub const R2_COPYPEN: c_int = 13; -pub const R2_MERGEPENNOT: c_int = 14; -pub const R2_MERGEPEN: c_int = 15; -pub const R2_WHITE: c_int = 16; -pub const R2_LAST: c_int = 16; -pub const SRCCOPY: DWORD = 0x00CC0020; -pub const SRCPAINT: DWORD = 0x00EE0086; -pub const SRCAND: DWORD = 0x008800C6; -pub const SRCINVERT: DWORD = 0x00660046; -pub const SRCERASE: DWORD = 0x00440328; -pub const NOTSRCCOPY: DWORD = 0x00330008; -pub const NOTSRCERASE: DWORD = 0x001100A6; -pub const MERGECOPY: DWORD = 0x00C000CA; -pub const MERGEPAINT: DWORD = 0x00BB0226; -pub const PATCOPY: DWORD = 0x00F00021; -pub const PATPAINT: DWORD = 0x00FB0A09; -pub const PATINVERT: DWORD = 0x005A0049; -pub const DSTINVERT: DWORD = 0x00550009; -pub const BLACKNESS: DWORD = 0x00000042; -pub const WHITENESS: DWORD = 0x00FF0062; -pub const NOMIRRORBITMAP: DWORD = 0x80000000; -pub const CAPTUREBLT: DWORD = 0x40000000; -#[inline] -pub fn MAKEROP4(fore: DWORD, back: DWORD) -> DWORD { - ((back << 8) & 0xFF000000) | fore -} -pub const GDI_ERROR: ULONG = 0xFFFFFFFF; -pub const HGDI_ERROR: HANDLE = -1isize as HANDLE; -pub const ERROR: c_int = 0; -pub const NULLREGION: c_int = 1; -pub const SIMPLEREGION: c_int = 2; -pub const COMPLEXREGION: c_int = 3; -pub const RGN_ERROR: c_int = ERROR; -pub const RGN_AND: c_int = 1; -pub const RGN_OR: c_int = 2; -pub const RGN_XOR: c_int = 3; -pub const RGN_DIFF: c_int = 4; -pub const RGN_COPY: c_int = 5; -pub const RGN_MIN: c_int = RGN_AND; -pub const RGN_MAX: c_int = RGN_COPY; -pub const BLACKONWHITE: c_int = 1; -pub const WHITEONBLACK: c_int = 2; -pub const COLORONCOLOR: c_int = 3; -pub const HALFTONE: c_int = 4; -pub const MAXSTRETCHBLTMODE: c_int = 4; -pub const STRETCH_ANDSCANS: c_int = BLACKONWHITE; -pub const STRETCH_ORSCANS: c_int = WHITEONBLACK; -pub const STRETCH_DELETESCANS: c_int = COLORONCOLOR; -pub const STRETCH_HALFTONE: c_int = HALFTONE; -pub const ALTERNATE: c_int = 1; -pub const WINDING: c_int = 2; -pub const POLYFILL_LAST: c_int = 2; -pub const LAYOUT_RTL: DWORD = 0x00000001; -pub const LAYOUT_BTT: DWORD = 0x00000002; -pub const LAYOUT_VBH: DWORD = 0x00000004; -pub const LAYOUT_ORIENTATIONMASK: DWORD = (LAYOUT_RTL | LAYOUT_BTT | LAYOUT_VBH); -pub const LAYOUT_BITMAPORIENTATIONPRESERVED: DWORD = 0x00000008; -pub const TA_NOUPDATECP: UINT = 0; -pub const TA_UPDATECP: UINT = 1; -pub const TA_LEFT: UINT = 0; -pub const TA_RIGHT: UINT = 2; -pub const TA_CENTER: UINT = 6; -pub const TA_TOP: UINT = 0; -pub const TA_BOTTOM: UINT = 8; -pub const TA_BASELINE: UINT = 24; -pub const TA_RTLREADING: UINT = 256; -pub const TA_MASK: UINT = TA_BASELINE + TA_CENTER + TA_UPDATECP + TA_RTLREADING; -pub const VTA_BASELINE: UINT = TA_BASELINE; -pub const VTA_LEFT: UINT = TA_BOTTOM; -pub const VTA_RIGHT: UINT = TA_TOP; -pub const VTA_CENTER: UINT = TA_CENTER; -pub const VTA_BOTTOM: UINT = TA_RIGHT; -pub const VTA_TOP: UINT = TA_LEFT; -pub const ETO_OPAQUE: UINT = 0x0002; -pub const ETO_CLIPPED: UINT = 0x0004; -pub const ETO_GLYPH_INDEX: UINT = 0x0010; -pub const ETO_RTLREADING: UINT = 0x0080; -pub const ETO_NUMERICSLOCAL: UINT = 0x0400; -pub const ETO_NUMERICSLATIN: UINT = 0x0800; -pub const ETO_IGNORELANGUAGE: UINT = 0x1000; -pub const ETO_PDY: UINT = 0x2000; -pub const ETO_REVERSE_INDEX_MAP: UINT = 0x10000; -pub const ASPECT_FILTERING: UINT = 0x0001; -pub const DCB_RESET: UINT = 0x0001; -pub const DCB_ACCUMULATE: UINT = 0x0002; -pub const DCB_DIRTY: UINT = DCB_ACCUMULATE; -pub const DCB_SET: UINT = (DCB_RESET | DCB_ACCUMULATE); -pub const DCB_ENABLE: UINT = 0x0004; -pub const DCB_DISABLE: UINT = 0x0008; -pub const META_SETBKCOLOR: WORD = 0x0201; -pub const META_SETBKMODE: WORD = 0x0102; -pub const META_SETMAPMODE: WORD = 0x0103; -pub const META_SETROP2: WORD = 0x0104; -pub const META_SETRELABS: WORD = 0x0105; -pub const META_SETPOLYFILLMODE: WORD = 0x0106; -pub const META_SETSTRETCHBLTMODE: WORD = 0x0107; -pub const META_SETTEXTCHAREXTRA: WORD = 0x0108; -pub const META_SETTEXTCOLOR: WORD = 0x0209; -pub const META_SETTEXTJUSTIFICATION: WORD = 0x020A; -pub const META_SETWINDOWORG: WORD = 0x020B; -pub const META_SETWINDOWEXT: WORD = 0x020C; -pub const META_SETVIEWPORTORG: WORD = 0x020D; -pub const META_SETVIEWPORTEXT: WORD = 0x020E; -pub const META_OFFSETWINDOWORG: WORD = 0x020F; -pub const META_SCALEWINDOWEXT: WORD = 0x0410; -pub const META_OFFSETVIEWPORTORG: WORD = 0x0211; -pub const META_SCALEVIEWPORTEXT: WORD = 0x0412; -pub const META_LINETO: WORD = 0x0213; -pub const META_MOVETO: WORD = 0x0214; -pub const META_EXCLUDECLIPRECT: WORD = 0x0415; -pub const META_INTERSECTCLIPRECT: WORD = 0x0416; -pub const META_ARC: WORD = 0x0817; -pub const META_ELLIPSE: WORD = 0x0418; -pub const META_FLOODFILL: WORD = 0x0419; -pub const META_PIE: WORD = 0x081A; -pub const META_RECTANGLE: WORD = 0x041B; -pub const META_ROUNDRECT: WORD = 0x061C; -pub const META_PATBLT: WORD = 0x061D; -pub const META_SAVEDC: WORD = 0x001E; -pub const META_SETPIXEL: WORD = 0x041F; -pub const META_OFFSETCLIPRGN: WORD = 0x0220; -pub const META_TEXTOUT: WORD = 0x0521; -pub const META_BITBLT: WORD = 0x0922; -pub const META_STRETCHBLT: WORD = 0x0B23; -pub const META_POLYGON: WORD = 0x0324; -pub const META_POLYLINE: WORD = 0x0325; -pub const META_ESCAPE: WORD = 0x0626; -pub const META_RESTOREDC: WORD = 0x0127; -pub const META_FILLREGION: WORD = 0x0228; -pub const META_FRAMEREGION: WORD = 0x0429; -pub const META_INVERTREGION: WORD = 0x012A; -pub const META_PAINTREGION: WORD = 0x012B; -pub const META_SELECTCLIPREGION: WORD = 0x012C; -pub const META_SELECTOBJECT: WORD = 0x012D; -pub const META_SETTEXTALIGN: WORD = 0x012E; -pub const META_CHORD: WORD = 0x0830; -pub const META_SETMAPPERFLAGS: WORD = 0x0231; -pub const META_EXTTEXTOUT: WORD = 0x0a32; -pub const META_SETDIBTODEV: WORD = 0x0d33; -pub const META_SELECTPALETTE: WORD = 0x0234; -pub const META_REALIZEPALETTE: WORD = 0x0035; -pub const META_ANIMATEPALETTE: WORD = 0x0436; -pub const META_SETPALENTRIES: WORD = 0x0037; -pub const META_POLYPOLYGON: WORD = 0x0538; -pub const META_RESIZEPALETTE: WORD = 0x0139; -pub const META_DIBBITBLT: WORD = 0x0940; -pub const META_DIBSTRETCHBLT: WORD = 0x0b41; -pub const META_DIBCREATEPATTERNBRUSH: WORD = 0x0142; -pub const META_STRETCHDIB: WORD = 0x0f43; -pub const META_EXTFLOODFILL: WORD = 0x0548; -pub const META_SETLAYOUT: WORD = 0x0149; -pub const META_DELETEOBJECT: WORD = 0x01f0; -pub const META_CREATEPALETTE: WORD = 0x00f7; -pub const META_CREATEPATTERNBRUSH: WORD = 0x01F9; -pub const META_CREATEPENINDIRECT: WORD = 0x02FA; -pub const META_CREATEFONTINDIRECT: WORD = 0x02FB; -pub const META_CREATEBRUSHINDIRECT: WORD = 0x02FC; -pub const META_CREATEREGION: WORD = 0x06FF; -STRUCT!{struct DRAWPATRECT { - ptPosition: POINT, - ptSize: POINT, - wStyle: WORD, - wPattern: WORD, -}} -pub type PDRAWPATRECT = *mut DRAWPATRECT; -pub const NEWFRAME: c_int = 1; -pub const ABORTDOC: c_int = 2; -pub const NEXTBAND: c_int = 3; -pub const SETCOLORTABLE: c_int = 4; -pub const GETCOLORTABLE: c_int = 5; -pub const FLUSHOUTPUT: c_int = 6; -pub const DRAFTMODE: c_int = 7; -pub const QUERYESCSUPPORT: c_int = 8; -pub const SETABORTPROC: c_int = 9; -pub const STARTDOC: c_int = 10; -pub const ENDDOC: c_int = 11; -pub const GETPHYSPAGESIZE: c_int = 12; -pub const GETPRINTINGOFFSET: c_int = 13; -pub const GETSCALINGFACTOR: c_int = 14; -pub const MFCOMMENT: c_int = 15; -pub const GETPENWIDTH: c_int = 16; -pub const SETCOPYCOUNT: c_int = 17; -pub const SELECTPAPERSOURCE: c_int = 18; -pub const DEVICEDATA: c_int = 19; -pub const PASSTHROUGH: c_int = 19; -pub const GETTECHNOLGY: c_int = 20; -pub const GETTECHNOLOGY: c_int = 20; -pub const SETLINECAP: c_int = 21; -pub const SETLINEJOIN: c_int = 22; -pub const SETMITERLIMIT: c_int = 23; -pub const BANDINFO: c_int = 24; -pub const DRAWPATTERNRECT: c_int = 25; -pub const GETVECTORPENSIZE: c_int = 26; -pub const GETVECTORBRUSHSIZE: c_int = 27; -pub const ENABLEDUPLEX: c_int = 28; -pub const GETSETPAPERBINS: c_int = 29; -pub const GETSETPRINTORIENT: c_int = 30; -pub const ENUMPAPERBINS: c_int = 31; -pub const SETDIBSCALING: c_int = 32; -pub const EPSPRINTING: c_int = 33; -pub const ENUMPAPERMETRICS: c_int = 34; -pub const GETSETPAPERMETRICS: c_int = 35; -pub const POSTSCRIPT_DATA: c_int = 37; -pub const POSTSCRIPT_IGNORE: c_int = 38; -pub const MOUSETRAILS: c_int = 39; -pub const GETDEVICEUNITS: c_int = 42; -pub const GETEXTENDEDTEXTMETRICS: c_int = 256; -pub const GETEXTENTTABLE: c_int = 257; -pub const GETPAIRKERNTABLE: c_int = 258; -pub const GETTRACKKERNTABLE: c_int = 259; -pub const EXTTEXTOUT: c_int = 512; -pub const GETFACENAME: c_int = 513; -pub const DOWNLOADFACE: c_int = 514; -pub const ENABLERELATIVEWIDTHS: c_int = 768; -pub const ENABLEPAIRKERNING: c_int = 769; -pub const SETKERNTRACK: c_int = 770; -pub const SETALLJUSTVALUES: c_int = 771; -pub const SETCHARSET: c_int = 772; -pub const STRETCHBLT: c_int = 2048; -pub const METAFILE_DRIVER: c_int = 2049; -pub const GETSETSCREENPARAMS: c_int = 3072; -pub const QUERYDIBSUPPORT: c_int = 3073; -pub const BEGIN_PATH: c_int = 4096; -pub const CLIP_TO_PATH: c_int = 4097; -pub const END_PATH: c_int = 4098; -pub const EXT_DEVICE_CAPS: c_int = 4099; -pub const RESTORE_CTM: c_int = 4100; -pub const SAVE_CTM: c_int = 4101; -pub const SET_ARC_DIRECTION: c_int = 4102; -pub const SET_BACKGROUND_COLOR: c_int = 4103; -pub const SET_POLY_MODE: c_int = 4104; -pub const SET_SCREEN_ANGLE: c_int = 4105; -pub const SET_SPREAD: c_int = 4106; -pub const TRANSFORM_CTM: c_int = 4107; -pub const SET_CLIP_BOX: c_int = 4108; -pub const SET_BOUNDS: c_int = 4109; -pub const SET_MIRROR_MODE: c_int = 4110; -pub const OPENCHANNEL: c_int = 4110; -pub const DOWNLOADHEADER: c_int = 4111; -pub const CLOSECHANNEL: c_int = 4112; -pub const POSTSCRIPT_PASSTHROUGH: c_int = 4115; -pub const ENCAPSULATED_POSTSCRIPT: c_int = 4116; -pub const POSTSCRIPT_IDENTIFY: c_int = 4117; -pub const POSTSCRIPT_INJECTION: c_int = 4118; -pub const CHECKJPEGFORMAT: c_int = 4119; -pub const CHECKPNGFORMAT: c_int = 4120; -pub const GET_PS_FEATURESETTING: c_int = 4121; -pub const GDIPLUS_TS_QUERYVER: c_int = 4122; -pub const GDIPLUS_TS_RECORD: c_int = 4123; -pub const MILCORE_TS_QUERYVER_RESULT_FALSE: c_int = 0x0; -pub const MILCORE_TS_QUERYVER_RESULT_TRUE: c_int = 0x7FFFFFFF; -pub const SPCLPASSTHROUGH2: c_int = 4568; -pub const PSIDENT_GDICENTRIC: c_int = 0; -pub const PSIDENT_PSCENTRIC: c_int = 1; -STRUCT!{struct PSINJECTDATA { - DataBytes: DWORD, - InjectionPoint: WORD, - PageNumber: WORD, -}} -pub type PPSINJECTDATA = *mut PSINJECTDATA; -pub const PSINJECT_BEGINSTREAM: WORD = 1; -pub const PSINJECT_PSADOBE: WORD = 2; -pub const PSINJECT_PAGESATEND: WORD = 3; -pub const PSINJECT_PAGES: WORD = 4; -pub const PSINJECT_DOCNEEDEDRES: WORD = 5; -pub const PSINJECT_DOCSUPPLIEDRES: WORD = 6; -pub const PSINJECT_PAGEORDER: WORD = 7; -pub const PSINJECT_ORIENTATION: WORD = 8; -pub const PSINJECT_BOUNDINGBOX: WORD = 9; -pub const PSINJECT_DOCUMENTPROCESSCOLORS: WORD = 10; -pub const PSINJECT_COMMENTS: WORD = 11; -pub const PSINJECT_BEGINDEFAULTS: WORD = 12; -pub const PSINJECT_ENDDEFAULTS: WORD = 13; -pub const PSINJECT_BEGINPROLOG: WORD = 14; -pub const PSINJECT_ENDPROLOG: WORD = 15; -pub const PSINJECT_BEGINSETUP: WORD = 16; -pub const PSINJECT_ENDSETUP: WORD = 17; -pub const PSINJECT_TRAILER: WORD = 18; -pub const PSINJECT_EOF: WORD = 19; -pub const PSINJECT_ENDSTREAM: WORD = 20; -pub const PSINJECT_DOCUMENTPROCESSCOLORSATEND: WORD = 21; -pub const PSINJECT_PAGENUMBER: WORD = 100; -pub const PSINJECT_BEGINPAGESETUP: WORD = 101; -pub const PSINJECT_ENDPAGESETUP: WORD = 102; -pub const PSINJECT_PAGETRAILER: WORD = 103; -pub const PSINJECT_PLATECOLOR: WORD = 104; -pub const PSINJECT_SHOWPAGE: WORD = 105; -pub const PSINJECT_PAGEBBOX: WORD = 106; -pub const PSINJECT_ENDPAGECOMMENTS: WORD = 107; -pub const PSINJECT_VMSAVE: WORD = 200; -pub const PSINJECT_VMRESTORE: WORD = 201; -pub const PSINJECT_DLFONT: DWORD = 0xdddddddd; -pub const FEATURESETTING_NUP: WORD = 0; -pub const FEATURESETTING_OUTPUT: WORD = 1; -pub const FEATURESETTING_PSLEVEL: WORD = 2; -pub const FEATURESETTING_CUSTPAPER: WORD = 3; -pub const FEATURESETTING_MIRROR: WORD = 4; -pub const FEATURESETTING_NEGATIVE: WORD = 5; -pub const FEATURESETTING_PROTOCOL: WORD = 6; -pub const FEATURESETTING_PRIVATE_BEGIN: WORD = 0x1000; -pub const FEATURESETTING_PRIVATE_END: WORD = 0x1FFF; -STRUCT!{struct PSFEATURE_OUTPUT { - bPageIndependent: BOOL, - bSetPageDevice: BOOL, -}} -pub type PPSFEATURE_OUTPUT = *mut PSFEATURE_OUTPUT; -STRUCT!{struct PSFEATURE_CUSTPAPER { - lOrientation: LONG, - lWidth: LONG, - lHeight: LONG, - lWidthOffset: LONG, - lHeightOffset: LONG, -}} -pub type PPSFEATURE_CUSTPAPER = *mut PSFEATURE_CUSTPAPER; -pub const PSPROTOCOL_ASCII: c_int = 0; -pub const PSPROTOCOL_BCP: c_int = 1; -pub const PSPROTOCOL_TBCP: c_int = 2; -pub const PSPROTOCOL_BINARY: c_int = 3; -pub const QDI_SETDIBITS: c_int = 1; -pub const QDI_GETDIBITS: c_int = 2; -pub const QDI_DIBTOSCREEN: c_int = 4; -pub const QDI_STRETCHDIB: c_int = 8; -pub const SP_NOTREPORTED: c_int = 0x4000; -pub const SP_ERROR: c_int = -1; -pub const SP_APPABORT: c_int = -2; -pub const SP_USERABORT: c_int = -3; -pub const SP_OUTOFDISK: c_int = -4; -pub const SP_OUTOFMEMORY: c_int = -5; -pub const PR_JOBSTATUS: c_int = 0x0000; -pub const OBJ_PEN: UINT = 1; -pub const OBJ_BRUSH: UINT = 2; -pub const OBJ_DC: UINT = 3; -pub const OBJ_METADC: UINT = 4; -pub const OBJ_PAL: UINT = 5; -pub const OBJ_FONT: UINT = 6; -pub const OBJ_BITMAP: UINT = 7; -pub const OBJ_REGION: UINT = 8; -pub const OBJ_METAFILE: UINT = 9; -pub const OBJ_MEMDC: UINT = 10; -pub const OBJ_EXTPEN: UINT = 11; -pub const OBJ_ENHMETADC: UINT = 12; -pub const OBJ_ENHMETAFILE: UINT = 13; -pub const OBJ_COLORSPACE: UINT = 14; -pub const GDI_OBJ_LAST: UINT = OBJ_COLORSPACE; -pub const MWT_IDENTITY: c_int = 1; -pub const MWT_LEFTMULTIPLY: c_int = 2; -pub const MWT_RIGHTMULTIPLY: c_int = 3; -pub const MWT_MIN: c_int = MWT_IDENTITY; -pub const MWT_MAX: c_int = MWT_RIGHTMULTIPLY; -STRUCT!{struct XFORM { - eM11: FLOAT, - eM12: FLOAT, - eM21: FLOAT, - eM22: FLOAT, - eDx: FLOAT, - eDy: FLOAT, -}} -pub type PXFORM = *mut XFORM; -pub type LPXFORM = *mut XFORM; -STRUCT!{struct BITMAP { - bmType: LONG, - bmWidth: LONG, - bmHeight: LONG, - bmWidthBytes: LONG, - bmPlanes: WORD, - bmBitsPixel: WORD, - bmBits: LPVOID, -}} -pub type PBITMAP = *mut BITMAP; -pub type NPBITMAP = *mut BITMAP; -pub type LPBITMAP = *mut BITMAP; -STRUCT!{#[debug] struct RGBTRIPLE { - rgbtBlue: BYTE, - rgbtGreen: BYTE, - rgbtRed: BYTE, -}} -pub type PRGBTRIPLE = *mut RGBTRIPLE; -pub type NPRGBTRIPLE = *mut RGBTRIPLE; -pub type LPRGBTRIPLE = *mut RGBTRIPLE; -STRUCT!{#[debug] struct RGBQUAD { - rgbBlue: BYTE, - rgbGreen: BYTE, - rgbRed: BYTE, - rgbReserved: BYTE, -}} -pub type LPRGBQUAD = *mut RGBQUAD; -pub const CS_ENABLE: DWORD = 0x00000001; -pub const CS_DISABLE: DWORD = 0x00000002; -pub const CS_DELETE_TRANSFORM: DWORD = 0x00000003; -pub const LCS_SIGNATURE: DWORD = 0x5053_4F43; // 'PSOC' -pub const LCS_sRGB: LCSCSTYPE = 0x7352_4742; // 'sRGB' -pub const LCS_WINDOWS_COLOR_SPACE: LCSCSTYPE = 0x5769_6E20; // 'Win ' -pub type LCSCSTYPE = LONG; -pub const LCS_CALIBRATED_RGB: LCSCSTYPE = 0x00000000; -pub type LCSGAMUTMATCH = LONG; -pub const LCS_GM_BUSINESS: LCSGAMUTMATCH = 0x00000001; -pub const LCS_GM_GRAPHICS: LCSGAMUTMATCH = 0x00000002; -pub const LCS_GM_IMAGES: LCSGAMUTMATCH = 0x00000004; -pub const LCS_GM_ABS_COLORIMETRIC: LCSGAMUTMATCH = 0x00000008; -pub const CM_OUT_OF_GAMUT: BYTE = 255; -pub const CM_IN_GAMUT: BYTE = 0; -pub const ICM_ADDPROFILE: UINT = 1; -pub const ICM_DELETEPROFILE: UINT = 2; -pub const ICM_QUERYPROFILE: UINT = 3; -pub const ICM_SETDEFAULTPROFILE: UINT = 4; -pub const ICM_REGISTERICMATCHER: UINT = 5; -pub const ICM_UNREGISTERICMATCHER: UINT = 6; -pub const ICM_QUERYMATCH: UINT = 7; -#[inline] -pub fn GetKValue(cmyk: COLORREF) -> BYTE { - cmyk as BYTE -} -#[inline] -pub fn GetYValue(cmyk: COLORREF) -> BYTE { - (cmyk >> 8) as BYTE -} -#[inline] -pub fn GetMValue(cmyk: COLORREF) -> BYTE { - (cmyk >> 16) as BYTE -} -#[inline] -pub fn GetCValue(cmyk: COLORREF) -> BYTE { - (cmyk >> 24) as BYTE -} -#[inline] -pub fn CMYK(c: BYTE, m: BYTE, y: BYTE, k: BYTE) -> COLORREF { - (k as COLORREF) | ((y as COLORREF) << 8) | ((m as COLORREF) << 16) | ((c as COLORREF) << 24) -} -pub type FXPT16DOT16 = c_long; -pub type LPFXPT16DOT16 = *mut c_long; -pub type FXPT2DOT30 = c_long; -pub type LPFXPT2DOT30 = *mut c_long; -STRUCT!{#[debug] struct CIEXYZ { - ciexyzX: FXPT2DOT30, - ciexyzY: FXPT2DOT30, - ciexyzZ: FXPT2DOT30, -}} -pub type LPCIEXYZ = *mut CIEXYZ; -STRUCT!{#[debug] struct CIEXYZTRIPLE { - ciexyzRed: CIEXYZ, - ciexyzGreen: CIEXYZ, - ciexyzBlue: CIEXYZ, -}} -pub type LPCIEXYZTRIPLE = *mut CIEXYZTRIPLE; -STRUCT!{struct LOGCOLORSPACEA { - lcsSignature: DWORD, - lcsVersion: DWORD, - lcsSize: DWORD, - lcsCSType: LCSCSTYPE, - lcsIntent: LCSGAMUTMATCH, - lcsEndpoints: CIEXYZTRIPLE, - lcsGammaRed: DWORD, - lcsGammaGreen: DWORD, - lcsGammaBlue: DWORD, - lcsFilename: [CHAR; MAX_PATH], -}} -pub type LPLOGCOLORSPACEA = *mut LOGCOLORSPACEA; -STRUCT!{struct LOGCOLORSPACEW { - lcsSignature: DWORD, - lcsVersion: DWORD, - lcsSize: DWORD, - lcsCSType: LCSCSTYPE, - lcsIntent: LCSGAMUTMATCH, - lcsEndpoints: CIEXYZTRIPLE, - lcsGammaRed: DWORD, - lcsGammaGreen: DWORD, - lcsGammaBlue: DWORD, - lcsFilename: [WCHAR; MAX_PATH], -}} -pub type LPLOGCOLORSPACEW = *mut LOGCOLORSPACEW; -STRUCT!{#[debug] struct BITMAPCOREHEADER { - bcSize: DWORD, - bcWidth: WORD, - bcHeight: WORD, - bcPlanes: WORD, - bcBitCount: WORD, -}} -pub type LPBITMAPCOREHEADER = *mut BITMAPCOREHEADER; -pub type PBITMAPCOREHEADER = *mut BITMAPCOREHEADER; -STRUCT!{#[debug] struct BITMAPINFOHEADER { - biSize: DWORD, - biWidth: LONG, - biHeight: LONG, - biPlanes: WORD, - biBitCount: WORD, - biCompression: DWORD, - biSizeImage: DWORD, - biXPelsPerMeter: LONG, - biYPelsPerMeter: LONG, - biClrUsed: DWORD, - biClrImportant: DWORD, -}} -pub type LPBITMAPINFOHEADER = *mut BITMAPINFOHEADER; -pub type PBITMAPINFOHEADER = *mut BITMAPINFOHEADER; -STRUCT!{#[debug] struct BITMAPV4HEADER { - bV4Size: DWORD, - bV4Width: LONG, - bV4Height: LONG, - bV4Planes: WORD, - bV4BitCount: WORD, - bV4V4Compression: DWORD, - bV4SizeImage: DWORD, - bV4XPelsPerMeter: LONG, - bV4YPelsPerMeter: LONG, - bV4ClrUsed: DWORD, - bV4ClrImportant: DWORD, - bV4RedMask: DWORD, - bV4GreenMask: DWORD, - bV4BlueMask: DWORD, - bV4AlphaMask: DWORD, - bV4CSType: DWORD, - bV4Endpoints: CIEXYZTRIPLE, - bV4GammaRed: DWORD, - bV4GammaGreen: DWORD, - bV4GammaBlue: DWORD, -}} -pub type LPBITMAPV4HEADER = *mut BITMAPV4HEADER; -pub type PBITMAPV4HEADER = *mut BITMAPV4HEADER; -STRUCT!{#[debug] struct BITMAPV5HEADER { - bV5Size: DWORD, - bV5Width: LONG, - bV5Height: LONG, - bV5Planes: WORD, - bV5BitCount: WORD, - bV5Compression: DWORD, - bV5SizeImage: DWORD, - bV5XPelsPerMeter: LONG, - bV5YPelsPerMeter: LONG, - bV5ClrUsed: DWORD, - bV5ClrImportant: DWORD, - bV5RedMask: DWORD, - bV5GreenMask: DWORD, - bV5BlueMask: DWORD, - bV5AlphaMask: DWORD, - bV5CSType: DWORD, - bV5Endpoints: CIEXYZTRIPLE, - bV5GammaRed: DWORD, - bV5GammaGreen: DWORD, - bV5GammaBlue: DWORD, - bV5Intent: DWORD, - bV5ProfileData: DWORD, - bV5ProfileSize: DWORD, - bV5Reserved: DWORD, -}} -pub type LPBITMAPV5HEADER = *mut BITMAPV5HEADER; -pub type PBITMAPV5HEADER = *mut BITMAPV5HEADER; -pub const PROFILE_LINKED: LONG = 0x4C49_4E4B; // 'LINK' -pub const PROFILE_EMBEDDED: LONG = 0x4D42_4544; // 'MBED' -pub const BI_RGB: DWORD = 0; -pub const BI_RLE8: DWORD = 1; -pub const BI_RLE4: DWORD = 2; -pub const BI_BITFIELDS: DWORD = 3; -pub const BI_JPEG: DWORD = 4; -pub const BI_PNG: DWORD = 5; -STRUCT!{#[debug] struct BITMAPINFO { - bmiHeader: BITMAPINFOHEADER, - bmiColors: [RGBQUAD; 1], -}} -pub type LPBITMAPINFO = *mut BITMAPINFO; -pub type PBITMAPINFO = *mut BITMAPINFO; -STRUCT!{#[debug] struct BITMAPCOREINFO { - bmciHeader: BITMAPCOREHEADER, - bmciColors: [RGBTRIPLE; 1], -}} -pub type LPBITMAPCOREINFO = *mut BITMAPCOREINFO; -pub type PBITMAPCOREINFO = *mut BITMAPCOREINFO; -STRUCT!{#[debug] #[repr(packed)] struct BITMAPFILEHEADER { - bfType: WORD, - bfSize: DWORD, - bfReserved1: WORD, - bfReserved2: WORD, - bfOffBits: DWORD, -}} -pub type LPBITMAPFILEHEADER = *mut BITMAPFILEHEADER; -pub type PBITMAPFILEHEADER = *mut BITMAPFILEHEADER; -#[inline] -pub fn MAKEPOINTS(l: DWORD) -> POINTS { - unsafe { ::core::mem::transmute::(l) } -} -STRUCT!{#[debug] struct FONTSIGNATURE { - fsUsb: [DWORD; 4], - fsCsb: [DWORD; 2], -}} -pub type LPFONTSIGNATURE = *mut FONTSIGNATURE; -pub type PFONTSIGNATURE = *mut FONTSIGNATURE; -STRUCT!{#[debug] struct CHARSETINFO { - ciCharset: UINT, - ciACP: UINT, - fs: FONTSIGNATURE, -}} -pub type PCHARSETINFO = *mut CHARSETINFO; -pub type NPCHARSETINFO = *mut CHARSETINFO; -pub type LPCHARSETINFO = *mut CHARSETINFO; -pub const TCI_SRCCHARSET: c_int = 1; -pub const TCI_SRCCODEPAGE: c_int = 2; -pub const TCI_SRCFONTSIG: c_int = 3; -pub const TCI_SRCLOCALE: c_int = 0x1000; -STRUCT!{#[debug] struct LOCALESIGNATURE { - lsUsb: [DWORD; 4], - lsCsbDefault: [DWORD; 2], - lsCsbSupported: [DWORD; 2], -}} -pub type PLOCALESIGNATURE = *mut LOCALESIGNATURE; -pub type LPLOCALESIGNATURE = *mut LOCALESIGNATURE; -STRUCT!{struct HANDLETABLE { - objectHandle: [HGDIOBJ; 1], -}} -pub type LPHANDLETABLE = *mut HANDLETABLE; -pub type PHANDLETABLE = *mut HANDLETABLE; -STRUCT!{struct METARECORD { - rdSize: DWORD, - rdFunction: WORD, - rdParm: [WORD; 1], -}} -pub type PMETARECORD = *mut METARECORD; -pub type LPMETARECORD = *mut METARECORD; -STRUCT!{struct METAFILEPICT { - mm: LONG, - xExt: LONG, - yExt: LONG, - hMF: HMETAFILE, -}} -pub type LPMETAFILEPICT = *mut METAFILEPICT; -STRUCT!{struct METAHEADER { - mtType: WORD, - mtHeaderSize: WORD, - mtVersion: WORD, - mtSize: DWORD, - mtNoObjects: WORD, - mtMaxRecord: DWORD, - mtNoParameters: WORD, -}} -pub type PMETAHEADER = *mut METAHEADER; -pub type LPMETAHEADER = *mut METAHEADER; -STRUCT!{struct ENHMETARECORD { - iType: DWORD, - nSize: DWORD, - dParm: [DWORD; 1], -}} -pub type PENHMETARECORD = *mut ENHMETARECORD; -pub type LPENHMETARECORD = *mut ENHMETARECORD; -STRUCT!{struct ENHMETAHEADER { - iType: DWORD, - nSize: DWORD, - rclBounds: RECTL, - rclFrame: RECTL, - dSignature: DWORD, - nVersion: DWORD, - nBytes: DWORD, - nRecords: DWORD, - nHandles: WORD, - sReserved: WORD, - nDescription: DWORD, - offDescription: DWORD, - nPalEntries: DWORD, - szlDevice: SIZEL, - szlMillimeters: SIZEL, - cbPixelFormat: DWORD, - offPixelFormat: DWORD, - bOpenGL: DWORD, - szlMicrometers: SIZEL, -}} -pub type PENHMETAHEADER = *mut ENHMETAHEADER; -pub type LPENHMETAHEADER = *mut ENHMETAHEADER; -pub const TMPF_FIXED_PITCH: BYTE = 0x01; -pub const TMPF_VECTOR: BYTE = 0x02; -pub const TMPF_DEVICE: BYTE = 0x08; -pub const TMPF_TRUETYPE: BYTE = 0x04; -// BCHAR -STRUCT!{struct TEXTMETRICA { - tmHeight: LONG, - tmAscent: LONG, - tmDescent: LONG, - tmInternalLeading: LONG, - tmExternalLeading: LONG, - tmAveCharWidth: LONG, - tmMaxCharWidth: LONG, - tmWeight: LONG, - tmOverhang: LONG, - tmDigitizedAspectX: LONG, - tmDigitizedAspectY: LONG, - tmFirstChar: BYTE, - tmLastChar: BYTE, - tmDefaultChar: BYTE, - tmBreakChar: BYTE, - tmItalic: BYTE, - tmUnderlined: BYTE, - tmStruckOut: BYTE, - tmPitchAndFamily: BYTE, - tmCharSet: BYTE, -}} -pub type PTEXTMETRICA = *mut TEXTMETRICA; -pub type NPTEXTMETRICA = *mut TEXTMETRICA; -pub type LPTEXTMETRICA = *mut TEXTMETRICA; -STRUCT!{struct TEXTMETRICW { - tmHeight: LONG, - tmAscent: LONG, - tmDescent: LONG, - tmInternalLeading: LONG, - tmExternalLeading: LONG, - tmAveCharWidth: LONG, - tmMaxCharWidth: LONG, - tmWeight: LONG, - tmOverhang: LONG, - tmDigitizedAspectX: LONG, - tmDigitizedAspectY: LONG, - tmFirstChar: WCHAR, - tmLastChar: WCHAR, - tmDefaultChar: WCHAR, - tmBreakChar: WCHAR, - tmItalic: BYTE, - tmUnderlined: BYTE, - tmStruckOut: BYTE, - tmPitchAndFamily: BYTE, - tmCharSet: BYTE, -}} -pub type PTEXTMETRICW = *mut TEXTMETRICW; -pub type NPTEXTMETRICW = *mut TEXTMETRICW; -pub type LPTEXTMETRICW = *mut TEXTMETRICW; -pub const NTM_REGULAR: DWORD = 0x00000040; -pub const NTM_BOLD: DWORD = 0x00000020; -pub const NTM_ITALIC: DWORD = 0x00000001; -pub const NTM_NONNEGATIVE_AC: DWORD = 0x00010000; -pub const NTM_PS_OPENTYPE: DWORD = 0x00020000; -pub const NTM_TT_OPENTYPE: DWORD = 0x00040000; -pub const NTM_MULTIPLEMASTER: DWORD = 0x00080000; -pub const NTM_TYPE1: DWORD = 0x00100000; -pub const NTM_DSIG: DWORD = 0x00200000; -STRUCT!{struct NEWTEXTMETRICA { - tmHeight: LONG, - tmAscent: LONG, - tmDescent: LONG, - tmInternalLeading: LONG, - tmExternalLeading: LONG, - tmAveCharWidth: LONG, - tmMaxCharWidth: LONG, - tmWeight: LONG, - tmOverhang: LONG, - tmDigitizedAspectX: LONG, - tmDigitizedAspectY: LONG, - tmFirstChar: BYTE, - tmLastChar: BYTE, - tmDefaultChar: BYTE, - tmBreakChar: BYTE, - tmItalic: BYTE, - tmUnderlined: BYTE, - tmStruckOut: BYTE, - tmPitchAndFamily: BYTE, - tmCharSet: BYTE, - ntmFlags: DWORD, - ntmSizeEM: UINT, - ntmCellHeight: UINT, - ntmAvgWidth: UINT, -}} -pub type PNEWTEXTMETRICA = *mut NEWTEXTMETRICA; -pub type NPNEWTEXTMETRICA = *mut NEWTEXTMETRICA; -pub type LPNEWTEXTMETRICA = *mut NEWTEXTMETRICA; -STRUCT!{struct NEWTEXTMETRICW { - tmHeight: LONG, - tmAscent: LONG, - tmDescent: LONG, - tmInternalLeading: LONG, - tmExternalLeading: LONG, - tmAveCharWidth: LONG, - tmMaxCharWidth: LONG, - tmWeight: LONG, - tmOverhang: LONG, - tmDigitizedAspectX: LONG, - tmDigitizedAspectY: LONG, - tmFirstChar: WCHAR, - tmLastChar: WCHAR, - tmDefaultChar: WCHAR, - tmBreakChar: WCHAR, - tmItalic: BYTE, - tmUnderlined: BYTE, - tmStruckOut: BYTE, - tmPitchAndFamily: BYTE, - tmCharSet: BYTE, - ntmFlags: DWORD, - ntmSizeEM: UINT, - ntmCellHeight: UINT, - ntmAvgWidth: UINT, -}} -pub type PNEWTEXTMETRICW = *mut NEWTEXTMETRICW; -pub type NPNEWTEXTMETRICW = *mut NEWTEXTMETRICW; -pub type LPNEWTEXTMETRICW = *mut NEWTEXTMETRICW; -STRUCT!{struct NEWTEXTMETRICEXA { - ntmTm: NEWTEXTMETRICA, - ntmFontSig: FONTSIGNATURE, -}} -STRUCT!{struct NEWTEXTMETRICEXW { - ntmTm: NEWTEXTMETRICW, - ntmFontSig: FONTSIGNATURE, -}} -STRUCT!{struct PELARRAY { - paXCount: LONG, - paYCount: LONG, - paXExt: LONG, - paYExt: LONG, - paRGBs: BYTE, -}} -pub type PPELARRAY = *mut PELARRAY; -pub type NPPELARRAY = *mut PELARRAY; -pub type LPPELARRAY = *mut PELARRAY; -STRUCT!{struct LOGBRUSH { - lbStyle: UINT, - lbColor: COLORREF, - lbHatch: ULONG_PTR, -}} -pub type PLOGBRUSH = *mut LOGBRUSH; -pub type NPLOGBRUSH = *mut LOGBRUSH; -pub type LPLOGBRUSH = *mut LOGBRUSH; -STRUCT!{struct LOGBRUSH32 { - lbStyle: UINT, - lbColor: COLORREF, - lbHatch: ULONG, -}} -pub type PLOGBRUSH32 = *mut LOGBRUSH32; -pub type NPLOGBRUSH32 = *mut LOGBRUSH32; -pub type LPLOGBRUSH32 = *mut LOGBRUSH32; -pub type PATTERN = LOGBRUSH; -pub type PPATTERN = *mut PATTERN; -pub type NPPATTERN = *mut PATTERN; -pub type LPPATTERN = *mut PATTERN; -STRUCT!{struct LOGPEN { - lopnStyle: UINT, - lopnWidth: POINT, - lopnColor: COLORREF, -}} -pub type PLOGPEN = *mut LOGPEN; -pub type NPLOGPEN = *mut LOGPEN; -pub type LPLOGPEN = *mut LOGPEN; -STRUCT!{struct EXTLOGPEN { - elpPenStyle: DWORD, - elpWidth: DWORD, - elpBrushStyle: UINT, - elpColor: COLORREF, - elpHatch: ULONG_PTR, - elpNumEntries: DWORD, - elpStyleEntry: [DWORD; 1], -}} -pub type PEXTLOGPEN = *mut EXTLOGPEN; -pub type NPEXTLOGPEN = *mut EXTLOGPEN; -pub type LPEXTLOGPEN = *mut EXTLOGPEN; -STRUCT!{struct EXTLOGPEN32 { - elpPenStyle: DWORD, - elpWidth: DWORD, - elpBrushStyle: UINT, - elpColor: COLORREF, - elpHatch: ULONG, - elpNumEntries: DWORD, - elpStyleEntry: [DWORD; 1], -}} -pub type PEXTLOGPEN32 = *mut EXTLOGPEN32; -pub type NPEXTLOGPEN32 = *mut EXTLOGPEN32; -pub type LPEXTLOGPEN32 = *mut EXTLOGPEN32; -STRUCT!{struct PALETTEENTRY { - peRed: BYTE, - peGreen: BYTE, - peBlue: BYTE, - peFlags: BYTE, -}} -pub type PPALETTEENTRY = *mut PALETTEENTRY; -pub type LPPALETTEENTRY = *mut PALETTEENTRY; -STRUCT!{struct LOGPALETTE { - palVersion: WORD, - palNumEntries: WORD, - palPalEntry: [PALETTEENTRY; 1], -}} -pub type PLOGPALETTE = *mut LOGPALETTE; -pub type NPLOGPALETTE = *mut LOGPALETTE; -pub type LPLOGPALETTE = *mut LOGPALETTE; -pub const LF_FACESIZE: usize = 32; -STRUCT!{struct LOGFONTA { - lfHeight: LONG, - lfWidth: LONG, - lfEscapement: LONG, - lfOrientation: LONG, - lfWeight: LONG, - lfItalic: BYTE, - lfUnderline: BYTE, - lfStrikeOut: BYTE, - lfCharSet: BYTE, - lfOutPrecision: BYTE, - lfClipPrecision: BYTE, - lfQuality: BYTE, - lfPitchAndFamily: BYTE, - lfFaceName: [CHAR; LF_FACESIZE], -}} -pub type PLOGFONTA = *mut LOGFONTA; -pub type NPLOGFONTA = *mut LOGFONTA; -pub type LPLOGFONTA = *mut LOGFONTA; -STRUCT!{struct LOGFONTW { - lfHeight: LONG, - lfWidth: LONG, - lfEscapement: LONG, - lfOrientation: LONG, - lfWeight: LONG, - lfItalic: BYTE, - lfUnderline: BYTE, - lfStrikeOut: BYTE, - lfCharSet: BYTE, - lfOutPrecision: BYTE, - lfClipPrecision: BYTE, - lfQuality: BYTE, - lfPitchAndFamily: BYTE, - lfFaceName: [WCHAR; LF_FACESIZE], -}} -pub type PLOGFONTW = *mut LOGFONTW; -pub type NPLOGFONTW = *mut LOGFONTW; -pub type LPLOGFONTW = *mut LOGFONTW; -pub const LF_FULLFACESIZE: usize = 64; -STRUCT!{struct ENUMLOGFONTA { - elfLogFont: LOGFONTA, - elfFullName: [BYTE; LF_FULLFACESIZE], - elfStyle: [BYTE; LF_FACESIZE], -}} -pub type LPENUMLOGFONTA = *mut ENUMLOGFONTA; -STRUCT!{struct ENUMLOGFONTW { - elfLogFont: LOGFONTW, - elfFullName: [WCHAR; LF_FULLFACESIZE], - elfStyle: [WCHAR; LF_FACESIZE], -}} -pub type LPENUMLOGFONTW = *mut ENUMLOGFONTW; -STRUCT!{struct ENUMLOGFONTEXA { - elfLogFont: LOGFONTA, - elfFullName: [BYTE; LF_FULLFACESIZE], - elfStyle: [BYTE; LF_FACESIZE], - elfScript: [BYTE; LF_FACESIZE], -}} -pub type LPENUMLOGFONTEXA = *mut ENUMLOGFONTEXA; -STRUCT!{struct ENUMLOGFONTEXW { - elfLogFont: LOGFONTW, - elfFullName: [WCHAR; LF_FULLFACESIZE], - elfStyle: [WCHAR; LF_FACESIZE], - elfScript: [WCHAR; LF_FACESIZE], -}} -pub type LPENUMLOGFONTEXW = *mut ENUMLOGFONTEXW; -pub const OUT_DEFAULT_PRECIS: DWORD = 0; -pub const OUT_STRING_PRECIS: DWORD = 1; -pub const OUT_CHARACTER_PRECIS: DWORD = 2; -pub const OUT_STROKE_PRECIS: DWORD = 3; -pub const OUT_TT_PRECIS: DWORD = 4; -pub const OUT_DEVICE_PRECIS: DWORD = 5; -pub const OUT_RASTER_PRECIS: DWORD = 6; -pub const OUT_TT_ONLY_PRECIS: DWORD = 7; -pub const OUT_OUTLINE_PRECIS: DWORD = 8; -pub const OUT_SCREEN_OUTLINE_PRECIS: DWORD = 9; -pub const OUT_PS_ONLY_PRECIS: DWORD = 10; -pub const CLIP_DEFAULT_PRECIS: DWORD = 0; -pub const CLIP_CHARACTER_PRECIS: DWORD = 1; -pub const CLIP_STROKE_PRECIS: DWORD = 2; -pub const CLIP_MASK: DWORD = 0xf; -pub const CLIP_LH_ANGLES: DWORD = 1 << 4; -pub const CLIP_TT_ALWAYS: DWORD = 2 << 4; -pub const CLIP_DFA_DISABLE: DWORD = 4 << 4; -pub const CLIP_EMBEDDED: DWORD = 8 << 4; -pub const DEFAULT_QUALITY: DWORD = 0; -pub const DRAFT_QUALITY: DWORD = 1; -pub const PROOF_QUALITY: DWORD = 2; -pub const NONANTIALIASED_QUALITY: DWORD = 3; -pub const ANTIALIASED_QUALITY: DWORD = 4; -pub const CLEARTYPE_QUALITY: DWORD = 5; -pub const CLEARTYPE_NATURAL_QUALITY: DWORD = 6; -pub const DEFAULT_PITCH: DWORD = 0; -pub const FIXED_PITCH: DWORD = 1; -pub const VARIABLE_PITCH: DWORD = 2; -pub const MONO_FONT: DWORD = 8; -pub const ANSI_CHARSET: DWORD = 0; -pub const DEFAULT_CHARSET: DWORD = 1; -pub const SYMBOL_CHARSET: DWORD = 2; -pub const SHIFTJIS_CHARSET: DWORD = 128; -pub const HANGEUL_CHARSET: DWORD = 129; -pub const HANGUL_CHARSET: DWORD = 129; -pub const GB2312_CHARSET: DWORD = 134; -pub const CHINESEBIG5_CHARSET: DWORD = 136; -pub const OEM_CHARSET: DWORD = 255; -pub const JOHAB_CHARSET: DWORD = 130; -pub const HEBREW_CHARSET: DWORD = 177; -pub const ARABIC_CHARSET: DWORD = 178; -pub const GREEK_CHARSET: DWORD = 161; -pub const TURKISH_CHARSET: DWORD = 162; -pub const VIETNAMESE_CHARSET: DWORD = 163; -pub const THAI_CHARSET: DWORD = 222; -pub const EASTEUROPE_CHARSET: DWORD = 238; -pub const RUSSIAN_CHARSET: DWORD = 204; -pub const MAC_CHARSET: DWORD = 77; -pub const BALTIC_CHARSET: DWORD = 186; -pub const FS_LATIN1: DWORD = 0x00000001; -pub const FS_LATIN2: DWORD = 0x00000002; -pub const FS_CYRILLIC: DWORD = 0x00000004; -pub const FS_GREEK: DWORD = 0x00000008; -pub const FS_TURKISH: DWORD = 0x00000010; -pub const FS_HEBREW: DWORD = 0x00000020; -pub const FS_ARABIC: DWORD = 0x00000040; -pub const FS_BALTIC: DWORD = 0x00000080; -pub const FS_VIETNAMESE: DWORD = 0x00000100; -pub const FS_THAI: DWORD = 0x00010000; -pub const FS_JISJAPAN: DWORD = 0x00020000; -pub const FS_CHINESESIMP: DWORD = 0x00040000; -pub const FS_WANSUNG: DWORD = 0x00080000; -pub const FS_CHINESETRAD: DWORD = 0x00100000; -pub const FS_JOHAB: DWORD = 0x00200000; -pub const FS_SYMBOL: DWORD = 0x80000000; -pub const FF_DONTCARE: DWORD = 0 << 4; -pub const FF_ROMAN: DWORD = 1 << 4; -pub const FF_SWISS: DWORD = 2 << 4; -pub const FF_MODERN: DWORD = 3 << 4; -pub const FF_SCRIPT: DWORD = 4 << 4; -pub const FF_DECORATIVE: DWORD = 5 << 4; -pub const FW_DONTCARE: c_int = 0; -pub const FW_THIN: c_int = 100; -pub const FW_EXTRALIGHT: c_int = 200; -pub const FW_LIGHT: c_int = 300; -pub const FW_NORMAL: c_int = 400; -pub const FW_MEDIUM: c_int = 500; -pub const FW_SEMIBOLD: c_int = 600; -pub const FW_BOLD: c_int = 700; -pub const FW_EXTRABOLD: c_int = 800; -pub const FW_HEAVY: c_int = 900; -pub const FW_ULTRALIGHT: c_int = FW_EXTRALIGHT; -pub const FW_REGULAR: c_int = FW_NORMAL; -pub const FW_DEMIBOLD: c_int = FW_SEMIBOLD; -pub const FW_ULTRABOLD: c_int = FW_EXTRABOLD; -pub const FW_BLACK: c_int = FW_HEAVY; -pub const PANOSE_COUNT: DWORD = 10; -pub const PAN_FAMILYTYPE_INDEX: DWORD = 0; -pub const PAN_SERIFSTYLE_INDEX: DWORD = 1; -pub const PAN_WEIGHT_INDEX: DWORD = 2; -pub const PAN_PROPORTION_INDEX: DWORD = 3; -pub const PAN_CONTRAST_INDEX: DWORD = 4; -pub const PAN_STROKEVARIATION_INDEX: DWORD = 5; -pub const PAN_ARMSTYLE_INDEX: DWORD = 6; -pub const PAN_LETTERFORM_INDEX: DWORD = 7; -pub const PAN_MIDLINE_INDEX: DWORD = 8; -pub const PAN_XHEIGHT_INDEX: DWORD = 9; -pub const PAN_CULTURE_LATIN: DWORD = 0; -STRUCT!{struct PANOSE { - bFamilyType: BYTE, - bSerifStyle: BYTE, - bWeight: BYTE, - bProportion: BYTE, - bContrast: BYTE, - bStrokeVariation: BYTE, - bArmStyle: BYTE, - bLetterform: BYTE, - bMidline: BYTE, - bXHeight: BYTE, -}} -pub type LPPANOSE = *mut PANOSE; -pub const PAN_ANY: BYTE = 0; -pub const PAN_NO_FIT: BYTE = 1; -pub const PAN_FAMILY_TEXT_DISPLAY: BYTE = 2; -pub const PAN_FAMILY_SCRIPT: BYTE = 3; -pub const PAN_FAMILY_DECORATIVE: BYTE = 4; -pub const PAN_FAMILY_PICTORIAL: BYTE = 5; -pub const PAN_SERIF_COVE: BYTE = 2; -pub const PAN_SERIF_OBTUSE_COVE: BYTE = 3; -pub const PAN_SERIF_SQUARE_COVE: BYTE = 4; -pub const PAN_SERIF_OBTUSE_SQUARE_COVE: BYTE = 5; -pub const PAN_SERIF_SQUARE: BYTE = 6; -pub const PAN_SERIF_THIN: BYTE = 7; -pub const PAN_SERIF_BONE: BYTE = 8; -pub const PAN_SERIF_EXAGGERATED: BYTE = 9; -pub const PAN_SERIF_TRIANGLE: BYTE = 10; -pub const PAN_SERIF_NORMAL_SANS: BYTE = 11; -pub const PAN_SERIF_OBTUSE_SANS: BYTE = 12; -pub const PAN_SERIF_PERP_SANS: BYTE = 13; -pub const PAN_SERIF_FLARED: BYTE = 14; -pub const PAN_SERIF_ROUNDED: BYTE = 15; -pub const PAN_WEIGHT_VERY_LIGHT: BYTE = 2; -pub const PAN_WEIGHT_LIGHT: BYTE = 3; -pub const PAN_WEIGHT_THIN: BYTE = 4; -pub const PAN_WEIGHT_BOOK: BYTE = 5; -pub const PAN_WEIGHT_MEDIUM: BYTE = 6; -pub const PAN_WEIGHT_DEMI: BYTE = 7; -pub const PAN_WEIGHT_BOLD: BYTE = 8; -pub const PAN_WEIGHT_HEAVY: BYTE = 9; -pub const PAN_WEIGHT_BLACK: BYTE = 10; -pub const PAN_WEIGHT_NORD: BYTE = 11; -pub const PAN_PROP_OLD_STYLE: BYTE = 2; -pub const PAN_PROP_MODERN: BYTE = 3; -pub const PAN_PROP_EVEN_WIDTH: BYTE = 4; -pub const PAN_PROP_EXPANDED: BYTE = 5; -pub const PAN_PROP_CONDENSED: BYTE = 6; -pub const PAN_PROP_VERY_EXPANDED: BYTE = 7; -pub const PAN_PROP_VERY_CONDENSED: BYTE = 8; -pub const PAN_PROP_MONOSPACED: BYTE = 9; -pub const PAN_CONTRAST_NONE: BYTE = 2; -pub const PAN_CONTRAST_VERY_LOW: BYTE = 3; -pub const PAN_CONTRAST_LOW: BYTE = 4; -pub const PAN_CONTRAST_MEDIUM_LOW: BYTE = 5; -pub const PAN_CONTRAST_MEDIUM: BYTE = 6; -pub const PAN_CONTRAST_MEDIUM_HIGH: BYTE = 7; -pub const PAN_CONTRAST_HIGH: BYTE = 8; -pub const PAN_CONTRAST_VERY_HIGH: BYTE = 9; -pub const PAN_STROKE_GRADUAL_DIAG: BYTE = 2; -pub const PAN_STROKE_GRADUAL_TRAN: BYTE = 3; -pub const PAN_STROKE_GRADUAL_VERT: BYTE = 4; -pub const PAN_STROKE_GRADUAL_HORZ: BYTE = 5; -pub const PAN_STROKE_RAPID_VERT: BYTE = 6; -pub const PAN_STROKE_RAPID_HORZ: BYTE = 7; -pub const PAN_STROKE_INSTANT_VERT: BYTE = 8; -pub const PAN_STRAIGHT_ARMS_HORZ: BYTE = 2; -pub const PAN_STRAIGHT_ARMS_WEDGE: BYTE = 3; -pub const PAN_STRAIGHT_ARMS_VERT: BYTE = 4; -pub const PAN_STRAIGHT_ARMS_SINGLE_SERIF: BYTE = 5; -pub const PAN_STRAIGHT_ARMS_DOUBLE_SERIF: BYTE = 6; -pub const PAN_BENT_ARMS_HORZ: BYTE = 7; -pub const PAN_BENT_ARMS_WEDGE: BYTE = 8; -pub const PAN_BENT_ARMS_VERT: BYTE = 9; -pub const PAN_BENT_ARMS_SINGLE_SERIF: BYTE = 10; -pub const PAN_BENT_ARMS_DOUBLE_SERIF: BYTE = 11; -pub const PAN_LETT_NORMAL_CONTACT: BYTE = 2; -pub const PAN_LETT_NORMAL_WEIGHTED: BYTE = 3; -pub const PAN_LETT_NORMAL_BOXED: BYTE = 4; -pub const PAN_LETT_NORMAL_FLATTENED: BYTE = 5; -pub const PAN_LETT_NORMAL_ROUNDED: BYTE = 6; -pub const PAN_LETT_NORMAL_OFF_CENTER: BYTE = 7; -pub const PAN_LETT_NORMAL_SQUARE: BYTE = 8; -pub const PAN_LETT_OBLIQUE_CONTACT: BYTE = 9; -pub const PAN_LETT_OBLIQUE_WEIGHTED: BYTE = 10; -pub const PAN_LETT_OBLIQUE_BOXED: BYTE = 11; -pub const PAN_LETT_OBLIQUE_FLATTENED: BYTE = 12; -pub const PAN_LETT_OBLIQUE_ROUNDED: BYTE = 13; -pub const PAN_LETT_OBLIQUE_OFF_CENTER: BYTE = 14; -pub const PAN_LETT_OBLIQUE_SQUARE: BYTE = 15; -pub const PAN_MIDLINE_STANDARD_TRIMMED: BYTE = 2; -pub const PAN_MIDLINE_STANDARD_POINTED: BYTE = 3; -pub const PAN_MIDLINE_STANDARD_SERIFED: BYTE = 4; -pub const PAN_MIDLINE_HIGH_TRIMMED: BYTE = 5; -pub const PAN_MIDLINE_HIGH_POINTED: BYTE = 6; -pub const PAN_MIDLINE_HIGH_SERIFED: BYTE = 7; -pub const PAN_MIDLINE_CONSTANT_TRIMMED: BYTE = 8; -pub const PAN_MIDLINE_CONSTANT_POINTED: BYTE = 9; -pub const PAN_MIDLINE_CONSTANT_SERIFED: BYTE = 10; -pub const PAN_MIDLINE_LOW_TRIMMED: BYTE = 11; -pub const PAN_MIDLINE_LOW_POINTED: BYTE = 12; -pub const PAN_MIDLINE_LOW_SERIFED: BYTE = 13; -pub const PAN_XHEIGHT_CONSTANT_SMALL: BYTE = 2; -pub const PAN_XHEIGHT_CONSTANT_STD: BYTE = 3; -pub const PAN_XHEIGHT_CONSTANT_LARGE: BYTE = 4; -pub const PAN_XHEIGHT_DUCKING_SMALL: BYTE = 5; -pub const PAN_XHEIGHT_DUCKING_STD: BYTE = 6; -pub const PAN_XHEIGHT_DUCKING_LARGE: BYTE = 7; -pub const ELF_VENDOR_SIZE: usize = 4; -STRUCT!{struct EXTLOGFONTA { - elfLogFont: LOGFONTA, - elfFullName: [BYTE; LF_FULLFACESIZE], - elfStyle: [BYTE; LF_FACESIZE], - elfVersion: DWORD, - elfStyleSize: DWORD, - elfMatch: DWORD, - elfReserved: DWORD, - elfVendorId: [BYTE; ELF_VENDOR_SIZE], - elfCulture: DWORD, - elfPanose: PANOSE, -}} -pub type PEXTLOGFONTA = *mut EXTLOGFONTA; -pub type NPEXTLOGFONTA = *mut EXTLOGFONTA; -pub type LPEXTLOGFONTA = *mut EXTLOGFONTA; -STRUCT!{struct EXTLOGFONTW { - elfLogFont: LOGFONTW, - elfFullNam: [WCHAR; LF_FULLFACESIZE], - elfStyle: [WCHAR; LF_FACESIZE], - elfVersion: DWORD, - elfStyleSize: DWORD, - elfMatch: DWORD, - elfReserved: DWORD, - elfVendorId: [BYTE; ELF_VENDOR_SIZE], - elfCulture: DWORD, - elfPanose: PANOSE, -}} -pub type PEXTLOGFONTW = *mut EXTLOGFONTW; -pub type NPEXTLOGFONTW = *mut EXTLOGFONTW; -pub type LPEXTLOGFONTW = *mut EXTLOGFONTW; -pub const ELF_VERSION: DWORD = 0; -pub const ELF_CULTURE_LATIN: DWORD = 0; -pub const RASTER_FONTTYPE: DWORD = 0x0001; -pub const DEVICE_FONTTYPE: DWORD = 0x0002; -pub const TRUETYPE_FONTTYPE: DWORD = 0x0004; -#[inline] -pub fn RGB(r: BYTE, g: BYTE, b: BYTE) -> COLORREF { - r as COLORREF | ((g as COLORREF) << 8) | ((b as COLORREF) << 16) -} -#[inline] -pub fn PALETTERGB(r: BYTE, g: BYTE, b: BYTE) -> COLORREF { - 0x02000000 | RGB(r, g, b) -} -#[inline] -pub fn PALETTEINDEX(i: WORD) -> COLORREF { - 0x01000000 | i as DWORD -} -pub const PC_RESERVED: DWORD = 0x01; -pub const PC_EXPLICIT: DWORD = 0x02; -pub const PC_NOCOLLAPSE: DWORD = 0x04; -#[inline] -pub fn GetRValue(rgb: COLORREF) -> BYTE { - LOBYTE(rgb as WORD) -} -#[inline] -pub fn GetGValue(rgb: COLORREF) -> BYTE { - LOBYTE((rgb as WORD) >> 8) -} -#[inline] -pub fn GetBValue(rgb: COLORREF) -> BYTE { - LOBYTE((rgb >> 16) as WORD) -} -pub const TRANSPARENT: DWORD = 1; -pub const OPAQUE: DWORD = 2; -pub const BKMODE_LAST: DWORD = 2; -pub const GM_COMPATIBLE: DWORD = 1; -pub const GM_ADVANCED: DWORD = 2; -pub const GM_LAST: DWORD = 2; -pub const PT_CLOSEFIGURE: DWORD = 0x01; -pub const PT_LINETO: DWORD = 0x02; -pub const PT_BEZIERTO: DWORD = 0x04; -pub const PT_MOVETO: DWORD = 0x06; -pub const MM_TEXT: DWORD = 1; -pub const MM_LOMETRIC: DWORD = 2; -pub const MM_HIMETRIC: DWORD = 3; -pub const MM_LOENGLISH: DWORD = 4; -pub const MM_HIENGLISH: DWORD = 5; -pub const MM_TWIPS: DWORD = 6; -pub const MM_ISOTROPIC: DWORD = 7; -pub const MM_ANISOTROPIC: DWORD = 8; -pub const MM_MIN: DWORD = MM_TEXT; -pub const MM_MAX: DWORD = MM_ANISOTROPIC; -pub const MM_MAX_FIXEDSCALE: DWORD = MM_TWIPS; -pub const ABSOLUTE: DWORD = 1; -pub const RELATIVE: DWORD = 2; -pub const WHITE_BRUSH: DWORD = 0; -pub const LTGRAY_BRUSH: DWORD = 1; -pub const GRAY_BRUSH: DWORD = 2; -pub const DKGRAY_BRUSH: DWORD = 3; -pub const BLACK_BRUSH: DWORD = 4; -pub const NULL_BRUSH: DWORD = 5; -pub const HOLLOW_BRUSH: DWORD = NULL_BRUSH; -pub const WHITE_PEN: DWORD = 6; -pub const BLACK_PEN: DWORD = 7; -pub const NULL_PEN: DWORD = 8; -pub const OEM_FIXED_FONT: DWORD = 10; -pub const ANSI_FIXED_FONT: DWORD = 11; -pub const ANSI_VAR_FONT: DWORD = 12; -pub const SYSTEM_FONT: DWORD = 13; -pub const DEVICE_DEFAULT_FONT: DWORD = 14; -pub const DEFAULT_PALETTE: DWORD = 15; -pub const SYSTEM_FIXED_FONT: DWORD = 16; -pub const DEFAULT_GUI_FONT: DWORD = 17; -pub const DC_BRUSH: DWORD = 18; -pub const DC_PEN: DWORD = 19; -pub const STOCK_LAST: DWORD = 19; -pub const CLR_INVALID: COLORREF = 0xFFFFFFFF; -pub const BS_SOLID: DWORD = 0; -pub const BS_NULL: DWORD = 1; -pub const BS_HOLLOW: DWORD = BS_NULL; -pub const BS_HATCHED: DWORD = 2; -pub const BS_PATTERN: DWORD = 3; -pub const BS_INDEXED: DWORD = 4; -pub const BS_DIBPATTERN: DWORD = 5; -pub const BS_DIBPATTERNPT: DWORD = 6; -pub const BS_PATTERN8X8: DWORD = 7; -pub const BS_DIBPATTERN8X8: DWORD = 8; -pub const BS_MONOPATTERN: DWORD = 9; -pub const HS_HORIZONTAL: DWORD = 0; -pub const HS_VERTICAL: DWORD = 1; -pub const HS_FDIAGONAL: DWORD = 2; -pub const HS_BDIAGONAL: DWORD = 3; -pub const HS_CROSS: DWORD = 4; -pub const HS_DIAGCROSS: DWORD = 5; -pub const HS_API_MAX: DWORD = 12; -pub const PS_SOLID: DWORD = 0; -pub const PS_DASH: DWORD = 1; -pub const PS_DOT: DWORD = 2; -pub const PS_DASHDOT: DWORD = 3; -pub const PS_DASHDOTDOT: DWORD = 4; -pub const PS_NULL: DWORD = 5; -pub const PS_INSIDEFRAME: DWORD = 6; -pub const PS_USERSTYLE: DWORD = 7; -pub const PS_ALTERNATE: DWORD = 8; -pub const PS_STYLE_MASK: DWORD = 0x0000000F; -pub const PS_ENDCAP_ROUND: DWORD = 0x00000000; -pub const PS_ENDCAP_SQUARE: DWORD = 0x00000100; -pub const PS_ENDCAP_FLAT: DWORD = 0x00000200; -pub const PS_ENDCAP_MASK: DWORD = 0x00000F00; -pub const PS_JOIN_ROUND: DWORD = 0x00000000; -pub const PS_JOIN_BEVEL: DWORD = 0x00001000; -pub const PS_JOIN_MITER: DWORD = 0x00002000; -pub const PS_JOIN_MASK: DWORD = 0x0000F000; -pub const PS_COSMETIC: DWORD = 0x00000000; -pub const PS_GEOMETRIC: DWORD = 0x00010000; -pub const PS_TYPE_MASK: DWORD = 0x000F0000; -pub const AD_COUNTERCLOCKWISE: DWORD = 1; -pub const AD_CLOCKWISE: DWORD = 2; -pub const DRIVERVERSION: c_int = 0; -pub const TECHNOLOGY: c_int = 2; -pub const HORZSIZE: c_int = 4; -pub const VERTSIZE: c_int = 6; -pub const HORZRES: c_int = 8; -pub const VERTRES: c_int = 10; -pub const BITSPIXEL: c_int = 12; -pub const PLANES: c_int = 14; -pub const NUMBRUSHES: c_int = 16; -pub const NUMPENS: c_int = 18; -pub const NUMMARKERS: c_int = 20; -pub const NUMFONTS: c_int = 22; -pub const NUMCOLORS: c_int = 24; -pub const PDEVICESIZE: c_int = 26; -pub const CURVECAPS: c_int = 28; -pub const LINECAPS: c_int = 30; -pub const POLYGONALCAPS: c_int = 32; -pub const TEXTCAPS: c_int = 34; -pub const CLIPCAPS: c_int = 36; -pub const RASTERCAPS: c_int = 38; -pub const ASPECTX: c_int = 40; -pub const ASPECTY: c_int = 42; -pub const ASPECTXY: c_int = 44; -pub const LOGPIXELSX: c_int = 88; -pub const LOGPIXELSY: c_int = 90; -pub const SIZEPALETTE: c_int = 104; -pub const NUMRESERVED: c_int = 106; -pub const COLORRES: c_int = 108; -pub const PHYSICALWIDTH: c_int = 110; -pub const PHYSICALHEIGHT: c_int = 111; -pub const PHYSICALOFFSETX: c_int = 112; -pub const PHYSICALOFFSETY: c_int = 113; -pub const SCALINGFACTORX: c_int = 114; -pub const SCALINGFACTORY: c_int = 115; -pub const VREFRESH: c_int = 116; -pub const DESKTOPVERTRES: c_int = 117; -pub const DESKTOPHORZRES: c_int = 118; -pub const BLTALIGNMENT: c_int = 119; -pub const SHADEBLENDCAPS: c_int = 120; -pub const COLORMGMTCAPS: c_int = 121; -pub const DT_PLOTTER: DWORD = 0; -pub const DT_RASDISPLAY: DWORD = 1; -pub const DT_RASPRINTER: DWORD = 2; -pub const DT_RASCAMERA: DWORD = 3; -pub const DT_CHARSTREAM: DWORD = 4; -pub const DT_METAFILE: DWORD = 5; -pub const DT_DISPFILE: DWORD = 6; -pub const CC_NONE: DWORD = 0; -pub const CC_CIRCLES: DWORD = 1; -pub const CC_PIE: DWORD = 2; -pub const CC_CHORD: DWORD = 4; -pub const CC_ELLIPSES: DWORD = 8; -pub const CC_WIDE: DWORD = 16; -pub const CC_STYLED: DWORD = 32; -pub const CC_WIDESTYLED: DWORD = 64; -pub const CC_INTERIORS: DWORD = 128; -pub const CC_ROUNDRECT: DWORD = 256; -pub const LC_NONE: DWORD = 0; -pub const LC_POLYLINE: DWORD = 2; -pub const LC_MARKER: DWORD = 4; -pub const LC_POLYMARKER: DWORD = 8; -pub const LC_WIDE: DWORD = 16; -pub const LC_STYLED: DWORD = 32; -pub const LC_WIDESTYLED: DWORD = 64; -pub const LC_INTERIORS: DWORD = 128; -pub const PC_NONE: DWORD = 0; -pub const PC_POLYGON: DWORD = 1; -pub const PC_RECTANGLE: DWORD = 2; -pub const PC_WINDPOLYGON: DWORD = 4; -pub const PC_TRAPEZOID: DWORD = 4; -pub const PC_SCANLINE: DWORD = 8; -pub const PC_WIDE: DWORD = 16; -pub const PC_STYLED: DWORD = 32; -pub const PC_WIDESTYLED: DWORD = 64; -pub const PC_INTERIORS: DWORD = 128; -pub const PC_POLYPOLYGON: DWORD = 256; -pub const PC_PATHS: DWORD = 512; -pub const CP_NONE: DWORD = 0; -pub const CP_RECTANGLE: DWORD = 1; -pub const CP_REGION: DWORD = 2; -pub const TC_OP_CHARACTER: DWORD = 0x00000001; -pub const TC_OP_STROKE: DWORD = 0x00000002; -pub const TC_CP_STROKE: DWORD = 0x00000004; -pub const TC_CR_90: DWORD = 0x00000008; -pub const TC_CR_ANY: DWORD = 0x00000010; -pub const TC_SF_X_YINDEP: DWORD = 0x00000020; -pub const TC_SA_DOUBLE: DWORD = 0x00000040; -pub const TC_SA_INTEGER: DWORD = 0x00000080; -pub const TC_SA_CONTIN: DWORD = 0x00000100; -pub const TC_EA_DOUBLE: DWORD = 0x00000200; -pub const TC_IA_ABLE: DWORD = 0x00000400; -pub const TC_UA_ABLE: DWORD = 0x00000800; -pub const TC_SO_ABLE: DWORD = 0x00001000; -pub const TC_RA_ABLE: DWORD = 0x00002000; -pub const TC_VA_ABLE: DWORD = 0x00004000; -pub const TC_RESERVED: DWORD = 0x00008000; -pub const TC_SCROLLBLT: DWORD = 0x00010000; -pub const RC_BITBLT: DWORD = 1; -pub const RC_BANDING: DWORD = 2; -pub const RC_SCALING: DWORD = 4; -pub const RC_BITMAP64: DWORD = 8; -pub const RC_GDI20_OUTPUT: DWORD = 0x0010; -pub const RC_GDI20_STATE: DWORD = 0x0020; -pub const RC_SAVEBITMAP: DWORD = 0x0040; -pub const RC_DI_BITMAP: DWORD = 0x0080; -pub const RC_PALETTE: DWORD = 0x0100; -pub const RC_DIBTODEV: DWORD = 0x0200; -pub const RC_BIGFONT: DWORD = 0x0400; -pub const RC_STRETCHBLT: DWORD = 0x0800; -pub const RC_FLOODFILL: DWORD = 0x1000; -pub const RC_STRETCHDIB: DWORD = 0x2000; -pub const RC_OP_DX_OUTPUT: DWORD = 0x4000; -pub const RC_DEVBITS: DWORD = 0x8000; -pub const SB_NONE: DWORD = 0x00000000; -pub const SB_CONST_ALPHA: DWORD = 0x00000001; -pub const SB_PIXEL_ALPHA: DWORD = 0x00000002; -pub const SB_PREMULT_ALPHA: DWORD = 0x00000004; -pub const SB_GRAD_RECT: DWORD = 0x00000010; -pub const SB_GRAD_TRI: DWORD = 0x00000020; -pub const CM_NONE: DWORD = 0x00000000; -pub const CM_DEVICE_ICM: DWORD = 0x00000001; -pub const CM_GAMMA_RAMP: DWORD = 0x00000002; -pub const CM_CMYK_COLOR: DWORD = 0x00000004; -pub const DIB_RGB_COLORS: DWORD = 0; -pub const DIB_PAL_COLORS: DWORD = 1; -pub const SYSPAL_ERROR: DWORD = 0; -pub const SYSPAL_STATIC: DWORD = 1; -pub const SYSPAL_NOSTATIC: DWORD = 2; -pub const SYSPAL_NOSTATIC256: DWORD = 3; -pub const CBM_INIT: DWORD = 0x04; -pub const FLOODFILLBORDER: DWORD = 0; -pub const FLOODFILLSURFACE: DWORD = 1; -pub const CCHDEVICENAME: usize = 32; -pub const CCHFORMNAME: usize = 32; -STRUCT!{struct DEVMODE_u1_s1 { - dmOrientation: c_short, - dmPaperSize: c_short, - dmPaperLength: c_short, - dmPaperWidth: c_short, - dmScale: c_short, - dmCopies: c_short, - dmDefaultSource: c_short, - dmPrintQuality: c_short, -}} -STRUCT!{struct DEVMODE_u1_s2 { - dmPosition: POINTL, - dmDisplayOrientation: DWORD, - dmDisplayFixedOutput: DWORD, -}} -UNION!{union DEVMODE_u1 { - [u32; 4], - s1 s1_mut: DEVMODE_u1_s1, - s2 s2_mut: DEVMODE_u1_s2, -}} -UNION!{union DEVMODE_u2 { - [u32; 1], - dmDisplayFlags dmDisplayFlags_mut: DWORD, - dmNup dmNup_mut: DWORD, -}} -STRUCT!{struct DEVMODEA { - dmDeviceName: [CHAR; CCHDEVICENAME], - dmSpecVersion: WORD, - dmDriverVersion: WORD, - dmSize: WORD, - dmDriverExtra: WORD, - dmFields: DWORD, - u1: DEVMODE_u1, - dmColor: c_short, - dmDuplex: c_short, - dmYResolution: c_short, - dmTTOption: c_short, - dmCollate: c_short, - dmFormName: [CHAR; CCHFORMNAME], - dmLogPixels: WORD, - dmBitsPerPel: DWORD, - dmPelsWidth: DWORD, - dmPelsHeight: DWORD, - u2: DEVMODE_u2, - dmDisplayFrequency: DWORD, - dmICMMethod: DWORD, - dmICMIntent: DWORD, - dmMediaType: DWORD, - dmDitherType: DWORD, - dmReserved1: DWORD, - dmReserved2: DWORD, - dmPanningWidth: DWORD, - dmPanningHeight: DWORD, -}} -pub type PDEVMODEA = *mut DEVMODEA; -pub type NPDEVMODEA = *mut DEVMODEA; -pub type LPDEVMODEA = *mut DEVMODEA; -STRUCT!{struct DEVMODEW { - dmDeviceName: [WCHAR; CCHDEVICENAME], - dmSpecVersion: WORD, - dmDriverVersion: WORD, - dmSize: WORD, - dmDriverExtra: WORD, - dmFields: DWORD, - u1: DEVMODE_u1, - dmColor: c_short, - dmDuplex: c_short, - dmYResolution: c_short, - dmTTOption: c_short, - dmCollate: c_short, - dmFormName: [WCHAR; CCHFORMNAME], - dmLogPixels: WORD, - dmBitsPerPel: DWORD, - dmPelsWidth: DWORD, - dmPelsHeight: DWORD, - u2: DEVMODE_u2, - dmDisplayFrequency: DWORD, - dmICMMethod: DWORD, - dmICMIntent: DWORD, - dmMediaType: DWORD, - dmDitherType: DWORD, - dmReserved1: DWORD, - dmReserved2: DWORD, - dmPanningWidth: DWORD, - dmPanningHeight: DWORD, -}} -pub type PDEVMODEW = *mut DEVMODEW; -pub type NPDEVMODEW = *mut DEVMODEW; -pub type LPDEVMODEW = *mut DEVMODEW; -pub const DM_SPECVERSION: DWORD = 0x0401; -pub const DM_ORIENTATION: DWORD = 0x00000001; -pub const DM_PAPERSIZE: DWORD = 0x00000002; -pub const DM_PAPERLENGTH: DWORD = 0x00000004; -pub const DM_PAPERWIDTH: DWORD = 0x00000008; -pub const DM_SCALE: DWORD = 0x00000010; -pub const DM_POSITION: DWORD = 0x00000020; -pub const DM_NUP: DWORD = 0x00000040; -pub const DM_DISPLAYORIENTATION: DWORD = 0x00000080; -pub const DM_COPIES: DWORD = 0x00000100; -pub const DM_DEFAULTSOURCE: DWORD = 0x00000200; -pub const DM_PRINTQUALITY: DWORD = 0x00000400; -pub const DM_COLOR: DWORD = 0x00000800; -pub const DM_DUPLEX: DWORD = 0x00001000; -pub const DM_YRESOLUTION: DWORD = 0x00002000; -pub const DM_TTOPTION: DWORD = 0x00004000; -pub const DM_COLLATE: DWORD = 0x00008000; -pub const DM_FORMNAME: DWORD = 0x00010000; -pub const DM_LOGPIXELS: DWORD = 0x00020000; -pub const DM_BITSPERPEL: DWORD = 0x00040000; -pub const DM_PELSWIDTH: DWORD = 0x00080000; -pub const DM_PELSHEIGHT: DWORD = 0x00100000; -pub const DM_DISPLAYFLAGS: DWORD = 0x00200000; -pub const DM_DISPLAYFREQUENCY: DWORD = 0x00400000; -pub const DM_ICMMETHOD: DWORD = 0x00800000; -pub const DM_ICMINTENT: DWORD = 0x01000000; -pub const DM_MEDIATYPE: DWORD = 0x02000000; -pub const DM_DITHERTYPE: DWORD = 0x04000000; -pub const DM_PANNINGWIDTH: DWORD = 0x08000000; -pub const DM_PANNINGHEIGHT: DWORD = 0x10000000; -pub const DM_DISPLAYFIXEDOUTPUT: DWORD = 0x20000000; -pub const DMORIENT_PORTRAIT: DWORD = 1; -pub const DMORIENT_LANDSCAPE: DWORD = 2; -pub const DMPAPER_FIRST: DWORD = DMPAPER_LETTER; -pub const DMPAPER_LETTER: DWORD = 1; -pub const DMPAPER_LETTERSMALL: DWORD = 2; -pub const DMPAPER_TABLOID: DWORD = 3; -pub const DMPAPER_LEDGER: DWORD = 4; -pub const DMPAPER_LEGAL: DWORD = 5; -pub const DMPAPER_STATEMENT: DWORD = 6; -pub const DMPAPER_EXECUTIVE: DWORD = 7; -pub const DMPAPER_A3: DWORD = 8; -pub const DMPAPER_A4: DWORD = 9; -pub const DMPAPER_A4SMALL: DWORD = 10; -pub const DMPAPER_A5: DWORD = 11; -pub const DMPAPER_B4: DWORD = 12; -pub const DMPAPER_B5: DWORD = 13; -pub const DMPAPER_FOLIO: DWORD = 14; -pub const DMPAPER_QUARTO: DWORD = 15; -pub const DMPAPER_10X14: DWORD = 16; -pub const DMPAPER_11X17: DWORD = 17; -pub const DMPAPER_NOTE: DWORD = 18; -pub const DMPAPER_ENV_9: DWORD = 19; -pub const DMPAPER_ENV_10: DWORD = 20; -pub const DMPAPER_ENV_11: DWORD = 21; -pub const DMPAPER_ENV_12: DWORD = 22; -pub const DMPAPER_ENV_14: DWORD = 23; -pub const DMPAPER_CSHEET: DWORD = 24; -pub const DMPAPER_DSHEET: DWORD = 25; -pub const DMPAPER_ESHEET: DWORD = 26; -pub const DMPAPER_ENV_DL: DWORD = 27; -pub const DMPAPER_ENV_C5: DWORD = 28; -pub const DMPAPER_ENV_C3: DWORD = 29; -pub const DMPAPER_ENV_C4: DWORD = 30; -pub const DMPAPER_ENV_C6: DWORD = 31; -pub const DMPAPER_ENV_C65: DWORD = 32; -pub const DMPAPER_ENV_B4: DWORD = 33; -pub const DMPAPER_ENV_B5: DWORD = 34; -pub const DMPAPER_ENV_B6: DWORD = 35; -pub const DMPAPER_ENV_ITALY: DWORD = 36; -pub const DMPAPER_ENV_MONARCH: DWORD = 37; -pub const DMPAPER_ENV_PERSONAL: DWORD = 38; -pub const DMPAPER_FANFOLD_US: DWORD = 39; -pub const DMPAPER_FANFOLD_STD_GERMAN: DWORD = 40; -pub const DMPAPER_FANFOLD_LGL_GERMAN: DWORD = 41; -pub const DMPAPER_ISO_B4: DWORD = 42; -pub const DMPAPER_JAPANESE_POSTCARD: DWORD = 43; -pub const DMPAPER_9X11: DWORD = 44; -pub const DMPAPER_10X11: DWORD = 45; -pub const DMPAPER_15X11: DWORD = 46; -pub const DMPAPER_ENV_INVITE: DWORD = 47; -pub const DMPAPER_RESERVED_48: DWORD = 48; -pub const DMPAPER_RESERVED_49: DWORD = 49; -pub const DMPAPER_LETTER_EXTRA: DWORD = 50; -pub const DMPAPER_LEGAL_EXTRA: DWORD = 51; -pub const DMPAPER_TABLOID_EXTRA: DWORD = 52; -pub const DMPAPER_A4_EXTRA: DWORD = 53; -pub const DMPAPER_LETTER_TRANSVERSE: DWORD = 54; -pub const DMPAPER_A4_TRANSVERSE: DWORD = 55; -pub const DMPAPER_LETTER_EXTRA_TRANSVERSE: DWORD = 56; -pub const DMPAPER_A_PLUS: DWORD = 57; -pub const DMPAPER_B_PLUS: DWORD = 58; -pub const DMPAPER_LETTER_PLUS: DWORD = 59; -pub const DMPAPER_A4_PLUS: DWORD = 60; -pub const DMPAPER_A5_TRANSVERSE: DWORD = 61; -pub const DMPAPER_B5_TRANSVERSE: DWORD = 62; -pub const DMPAPER_A3_EXTRA: DWORD = 63; -pub const DMPAPER_A5_EXTRA: DWORD = 64; -pub const DMPAPER_B5_EXTRA: DWORD = 65; -pub const DMPAPER_A2: DWORD = 66; -pub const DMPAPER_A3_TRANSVERSE: DWORD = 67; -pub const DMPAPER_A3_EXTRA_TRANSVERSE: DWORD = 68; -pub const DMPAPER_DBL_JAPANESE_POSTCARD: DWORD = 69; -pub const DMPAPER_A6: DWORD = 70; -pub const DMPAPER_JENV_KAKU2: DWORD = 71; -pub const DMPAPER_JENV_KAKU3: DWORD = 72; -pub const DMPAPER_JENV_CHOU3: DWORD = 73; -pub const DMPAPER_JENV_CHOU4: DWORD = 74; -pub const DMPAPER_LETTER_ROTATED: DWORD = 75; -pub const DMPAPER_A3_ROTATED: DWORD = 76; -pub const DMPAPER_A4_ROTATED: DWORD = 77; -pub const DMPAPER_A5_ROTATED: DWORD = 78; -pub const DMPAPER_B4_JIS_ROTATED: DWORD = 79; -pub const DMPAPER_B5_JIS_ROTATED: DWORD = 80; -pub const DMPAPER_JAPANESE_POSTCARD_ROTATED: DWORD = 81; -pub const DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED: DWORD = 82; -pub const DMPAPER_A6_ROTATED: DWORD = 83; -pub const DMPAPER_JENV_KAKU2_ROTATED: DWORD = 84; -pub const DMPAPER_JENV_KAKU3_ROTATED: DWORD = 85; -pub const DMPAPER_JENV_CHOU3_ROTATED: DWORD = 86; -pub const DMPAPER_JENV_CHOU4_ROTATED: DWORD = 87; -pub const DMPAPER_B6_JIS: DWORD = 88; -pub const DMPAPER_B6_JIS_ROTATED: DWORD = 89; -pub const DMPAPER_12X11: DWORD = 90; -pub const DMPAPER_JENV_YOU4: DWORD = 91; -pub const DMPAPER_JENV_YOU4_ROTATED: DWORD = 92; -pub const DMPAPER_P16K: DWORD = 93; -pub const DMPAPER_P32K: DWORD = 94; -pub const DMPAPER_P32KBIG: DWORD = 95; -pub const DMPAPER_PENV_1: DWORD = 96; -pub const DMPAPER_PENV_2: DWORD = 97; -pub const DMPAPER_PENV_3: DWORD = 98; -pub const DMPAPER_PENV_4: DWORD = 99; -pub const DMPAPER_PENV_5: DWORD = 100; -pub const DMPAPER_PENV_6: DWORD = 101; -pub const DMPAPER_PENV_7: DWORD = 102; -pub const DMPAPER_PENV_8: DWORD = 103; -pub const DMPAPER_PENV_9: DWORD = 104; -pub const DMPAPER_PENV_10: DWORD = 105; -pub const DMPAPER_P16K_ROTATED: DWORD = 106; -pub const DMPAPER_P32K_ROTATED: DWORD = 107; -pub const DMPAPER_P32KBIG_ROTATED: DWORD = 108; -pub const DMPAPER_PENV_1_ROTATED: DWORD = 109; -pub const DMPAPER_PENV_2_ROTATED: DWORD = 110; -pub const DMPAPER_PENV_3_ROTATED: DWORD = 111; -pub const DMPAPER_PENV_4_ROTATED: DWORD = 112; -pub const DMPAPER_PENV_5_ROTATED: DWORD = 113; -pub const DMPAPER_PENV_6_ROTATED: DWORD = 114; -pub const DMPAPER_PENV_7_ROTATED: DWORD = 115; -pub const DMPAPER_PENV_8_ROTATED: DWORD = 116; -pub const DMPAPER_PENV_9_ROTATED: DWORD = 117; -pub const DMPAPER_PENV_10_ROTATED: DWORD = 118; -pub const DMPAPER_LAST: DWORD = DMPAPER_PENV_10_ROTATED; -pub const DMPAPER_USER: DWORD = 256; -pub const DMBIN_FIRST: DWORD = DMBIN_UPPER; -pub const DMBIN_UPPER: DWORD = 1; -pub const DMBIN_ONLYONE: DWORD = 1; -pub const DMBIN_LOWER: DWORD = 2; -pub const DMBIN_MIDDLE: DWORD = 3; -pub const DMBIN_MANUAL: DWORD = 4; -pub const DMBIN_ENVELOPE: DWORD = 5; -pub const DMBIN_ENVMANUAL: DWORD = 6; -pub const DMBIN_AUTO: DWORD = 7; -pub const DMBIN_TRACTOR: DWORD = 8; -pub const DMBIN_SMALLFMT: DWORD = 9; -pub const DMBIN_LARGEFMT: DWORD = 10; -pub const DMBIN_LARGECAPACITY: DWORD = 11; -pub const DMBIN_CASSETTE: DWORD = 14; -pub const DMBIN_FORMSOURCE: DWORD = 15; -pub const DMBIN_LAST: DWORD = DMBIN_FORMSOURCE; -pub const DMBIN_USER: DWORD = 256; -pub const DMRES_DRAFT: c_int = -1; -pub const DMRES_LOW: c_int = -2; -pub const DMRES_MEDIUM: c_int = -3; -pub const DMRES_HIGH: c_int = -4; -pub const DMCOLOR_MONOCHROME: DWORD = 1; -pub const DMCOLOR_COLOR: DWORD = 2; -pub const DMDUP_SIMPLEX: DWORD = 1; -pub const DMDUP_VERTICAL: DWORD = 2; -pub const DMDUP_HORIZONTAL: DWORD = 3; -pub const DMTT_BITMAP: DWORD = 1; -pub const DMTT_DOWNLOAD: DWORD = 2; -pub const DMTT_SUBDEV: DWORD = 3; -pub const DMTT_DOWNLOAD_OUTLINE: DWORD = 4; -pub const DMCOLLATE_FALSE: DWORD = 0; -pub const DMCOLLATE_TRUE: DWORD = 1; -pub const DMDO_DEFAULT: DWORD = 0; -pub const DMDO_90: DWORD = 1; -pub const DMDO_180: DWORD = 2; -pub const DMDO_270: DWORD = 3; -pub const DMDFO_DEFAULT: DWORD = 0; -pub const DMDFO_STRETCH: DWORD = 1; -pub const DMDFO_CENTER: DWORD = 2; -pub const DM_INTERLACED: DWORD = 0x00000002; -pub const DMDISPLAYFLAGS_TEXTMODE: DWORD = 0x00000004; -pub const DMNUP_SYSTEM: DWORD = 1; -pub const DMNUP_ONEUP: DWORD = 2; -pub const DMICMMETHOD_NONE: DWORD = 1; -pub const DMICMMETHOD_SYSTEM: DWORD = 2; -pub const DMICMMETHOD_DRIVER: DWORD = 3; -pub const DMICMMETHOD_DEVICE: DWORD = 4; -pub const DMICMMETHOD_USER: DWORD = 256; -pub const DMICM_SATURATE: DWORD = 1; -pub const DMICM_CONTRAST: DWORD = 2; -pub const DMICM_COLORIMETRIC: DWORD = 3; -pub const DMICM_ABS_COLORIMETRIC: DWORD = 4; -pub const DMICM_USER: DWORD = 256; -pub const DMMEDIA_STANDARD: DWORD = 1; -pub const DMMEDIA_TRANSPARENCY: DWORD = 2; -pub const DMMEDIA_GLOSSY: DWORD = 3; -pub const DMMEDIA_USER: DWORD = 256; -pub const DMDITHER_NONE: DWORD = 1; -pub const DMDITHER_COARSE: DWORD = 2; -pub const DMDITHER_FINE: DWORD = 3; -pub const DMDITHER_LINEART: DWORD = 4; -pub const DMDITHER_ERRORDIFFUSION: DWORD = 5; -pub const DMDITHER_RESERVED6: DWORD = 6; -pub const DMDITHER_RESERVED7: DWORD = 7; -pub const DMDITHER_RESERVED8: DWORD = 8; -pub const DMDITHER_RESERVED9: DWORD = 9; -pub const DMDITHER_GRAYSCALE: DWORD = 10; -pub const DMDITHER_USER: DWORD = 256; -STRUCT!{struct DISPLAY_DEVICEA { - cb: DWORD, - DeviceName: [CHAR; 32], - DeviceString: [CHAR; 128], - StateFlags: DWORD, - DeviceID: [CHAR; 128], - DeviceKey: [CHAR; 128], -}} -pub type PDISPLAY_DEVICEA = *mut DISPLAY_DEVICEA; -pub type LPDISPLAY_DEVICEA = *mut DISPLAY_DEVICEA; -STRUCT!{struct DISPLAY_DEVICEW { - cb: DWORD, - DeviceName: [WCHAR; 32], - DeviceString: [WCHAR; 128], - StateFlags: DWORD, - DeviceID: [WCHAR; 128], - DeviceKey: [WCHAR; 128], -}} -pub type PDISPLAY_DEVICEW = *mut DISPLAY_DEVICEW; -pub type LPDISPLAY_DEVICEW = *mut DISPLAY_DEVICEW; -pub const DISPLAY_DEVICE_ATTACHED_TO_DESKTOP: DWORD = 0x00000001; -pub const DISPLAY_DEVICE_MULTI_DRIVER: DWORD = 0x00000002; -pub const DISPLAY_DEVICE_PRIMARY_DEVICE: DWORD = 0x00000004; -pub const DISPLAY_DEVICE_MIRRORING_DRIVER: DWORD = 0x00000008; -pub const DISPLAY_DEVICE_VGA_COMPATIBLE: DWORD = 0x00000010; -pub const DISPLAY_DEVICE_REMOVABLE: DWORD = 0x00000020; -pub const DISPLAY_DEVICE_ACC_DRIVER: DWORD = 0x00000040; -pub const DISPLAY_DEVICE_MODESPRUNED: DWORD = 0x08000000; -pub const DISPLAY_DEVICE_RDPUDD: DWORD = 0x01000000; -pub const DISPLAY_DEVICE_REMOTE: DWORD = 0x04000000; -pub const DISPLAY_DEVICE_DISCONNECT: DWORD = 0x02000000; -pub const DISPLAY_DEVICE_TS_COMPATIBLE: DWORD = 0x00200000; -pub const DISPLAY_DEVICE_UNSAFE_MODES_ON: DWORD = 0x00080000; -pub const DISPLAY_DEVICE_ACTIVE: DWORD = 0x00000001; -pub const DISPLAY_DEVICE_ATTACHED: DWORD = 0x00000002; -pub const DISPLAYCONFIG_MAXPATH: usize = 1024; -STRUCT!{struct DISPLAYCONFIG_RATIONAL { - Numerator: UINT32, - Denominator: UINT32, -}} -ENUM!{enum DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY { - DISPLAYCONFIG_OUTPUT_TECHNOLOGY_OTHER = -1i32 as u32, - DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HD15 = 0, - DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SVIDEO = 1, - DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPOSITE_VIDEO = 2, - DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPONENT_VIDEO = 3, - DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DVI = 4, - DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HDMI = 5, - DISPLAYCONFIG_OUTPUT_TECHNOLOGY_LVDS = 6, - DISPLAYCONFIG_OUTPUT_TECHNOLOGY_D_JPN = 8, - DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDI = 9, - DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EXTERNAL = 10, - DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED = 11, - DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EXTERNAL = 12, - DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EMBEDDED = 13, - DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDTVDONGLE = 14, - DISPLAYCONFIG_OUTPUT_TECHNOLOGY_MIRACAST = 15, - DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_WIRED = 16, - DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL = 0x80000000, - DISPLAYCONFIG_OUTPUT_TECHNOLOGY_FORCE_UINT32 = 0xFFFFFFFF, -}} -ENUM!{enum DISPLAYCONFIG_SCANLINE_ORDERING { - DISPLAYCONFIG_SCANLINE_ORDERING_UNSPECIFIED = 0, - DISPLAYCONFIG_SCANLINE_ORDERING_PROGRESSIVE = 1, - DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED = 2, - DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_UPPERFIELDFIRST = - DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED, - DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_LOWERFIELDFIRST = 3, - DISPLAYCONFIG_SCANLINE_ORDERING_FORCE_UINT32 = 0xFFFFFFFF, -}} -STRUCT!{struct DISPLAYCONFIG_2DREGION { - cx: UINT32, - cy: UINT32, -}} -STRUCT!{struct DISPLAYCONFIG_VIDEO_SIGNAL_INFO_AdditionalSignalInfo { - bitfield: UINT32, -}} -BITFIELD!{DISPLAYCONFIG_VIDEO_SIGNAL_INFO_AdditionalSignalInfo bitfield: UINT32 [ - videoStandard set_videoStandard[0..16], - vSyncFreqDivider set_vSyncFreqDivider[16..22], -]} -UNION!{union DISPLAYCONFIG_VIDEO_SIGNAL_INFO_u { - [u32; 1], - AdditionalSignalInfo AdditionalSignalInfo_mut: - DISPLAYCONFIG_VIDEO_SIGNAL_INFO_AdditionalSignalInfo, - videoStandard videoStandard_mut: UINT32, -}} -STRUCT!{struct DISPLAYCONFIG_VIDEO_SIGNAL_INFO { - pixelRate: UINT64, - hSyncFreq: DISPLAYCONFIG_RATIONAL, - vSyncFreq: DISPLAYCONFIG_RATIONAL, - activeSize: DISPLAYCONFIG_2DREGION, - totalSize: DISPLAYCONFIG_2DREGION, - u: DISPLAYCONFIG_VIDEO_SIGNAL_INFO_u, - scanLineOrdering: DISPLAYCONFIG_SCANLINE_ORDERING, -}} -ENUM!{enum DISPLAYCONFIG_SCALING { - DISPLAYCONFIG_SCALING_IDENTITY = 1, - DISPLAYCONFIG_SCALING_CENTERED = 2, - DISPLAYCONFIG_SCALING_STRETCHED = 3, - DISPLAYCONFIG_SCALING_ASPECTRATIOCENTEREDMAX = 4, - DISPLAYCONFIG_SCALING_CUSTOM = 5, - DISPLAYCONFIG_SCALING_PREFERRED = 128, - DISPLAYCONFIG_SCALING_FORCE_UINT32 = 0xFFFFFFFF, -}} -ENUM!{enum DISPLAYCONFIG_ROTATION { - DISPLAYCONFIG_ROTATION_IDENTITY = 1, - DISPLAYCONFIG_ROTATION_ROTATE90 = 2, - DISPLAYCONFIG_ROTATION_ROTATE180 = 3, - DISPLAYCONFIG_ROTATION_ROTATE270 = 4, - DISPLAYCONFIG_ROTATION_FORCE_UINT32 = 0xFFFFFFFF, -}} -ENUM!{enum DISPLAYCONFIG_MODE_INFO_TYPE { - DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE = 1, - DISPLAYCONFIG_MODE_INFO_TYPE_TARGET = 2, - DISPLAYCONFIG_MODE_INFO_TYPE_DESKTOP_IMAGE = 3, - DISPLAYCONFIG_MODE_INFO_TYPE_FORCE_UINT32 = 0xFFFFFFFF, -}} -ENUM!{enum DISPLAYCONFIG_PIXELFORMAT { - DISPLAYCONFIG_PIXELFORMAT_8BPP = 1, - DISPLAYCONFIG_PIXELFORMAT_16BPP = 2, - DISPLAYCONFIG_PIXELFORMAT_24BPP = 3, - DISPLAYCONFIG_PIXELFORMAT_32BPP = 4, - DISPLAYCONFIG_PIXELFORMAT_NONGDI = 5, - DISPLAYCONFIG_PIXELFORMAT_FORCE_UINT32 = 0xffffffff, -}} -STRUCT!{struct DISPLAYCONFIG_SOURCE_MODE { - width: UINT32, - height: UINT32, - pixelFormat: DISPLAYCONFIG_PIXELFORMAT, - position: POINTL, -}} -STRUCT!{struct DISPLAYCONFIG_TARGET_MODE { - targetVideoSignalInfo: DISPLAYCONFIG_VIDEO_SIGNAL_INFO, -}} -STRUCT!{struct DISPLAYCONFIG_DESKTOP_IMAGE_INFO { - PathSourceSize: POINTL, - DesktopImageRegion: RECTL, - DesktopImageClip: RECTL, -}} -UNION!{union DISPLAYCONFIG_MODE_INFO_u { - [u64; 6], - targetMode targetMode_mut: DISPLAYCONFIG_TARGET_MODE, - sourceMode sourceMode_mut: DISPLAYCONFIG_SOURCE_MODE, - desktopImageInfo desktopImageInfo_mut: DISPLAYCONFIG_DESKTOP_IMAGE_INFO, -}} -STRUCT!{struct DISPLAYCONFIG_MODE_INFO { - infoType: DISPLAYCONFIG_MODE_INFO_TYPE, - id: UINT32, - adapterId: LUID, - u: DISPLAYCONFIG_MODE_INFO_u, -}} -pub const DISPLAYCONFIG_PATH_MODE_IDX_INVALID: DWORD = 0xffffffff; -pub const DISPLAYCONFIG_PATH_TARGET_MODE_IDX_INVALID: DWORD = 0xffff; -pub const DISPLAYCONFIG_PATH_DESKTOP_IMAGE_IDX_INVALID: DWORD = 0xffff; -pub const DISPLAYCONFIG_PATH_SOURCE_MODE_IDX_INVALID: DWORD = 0xffff; -pub const DISPLAYCONFIG_PATH_CLONE_GROUP_INVALID: DWORD = 0xffff; -STRUCT!{struct DISPLAYCONFIG_PATH_SOURCE_INFO { - adapterId: LUID, - id: UINT32, - modeInfoIdx: UINT32, - statusFlags: UINT32, -}} -BITFIELD!{DISPLAYCONFIG_PATH_SOURCE_INFO modeInfoIdx: UINT32 [ - cloneGroupId set_cloneGroupId[0..16], - sourceModeInfoIdx set_sourceModeInfoIdx[16..32], -]} -pub const DISPLAYCONFIG_SOURCE_IN_USE: DWORD = 0x00000001; -STRUCT!{struct DISPLAYCONFIG_PATH_TARGET_INFO { - adapterId: LUID, - id: UINT32, - modeInfoIdx: UINT32, - outputTechnology: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY, - rotation: DISPLAYCONFIG_ROTATION, - scaling: DISPLAYCONFIG_SCALING, - refreshRate: DISPLAYCONFIG_RATIONAL, - scanLineOrdering: DISPLAYCONFIG_SCANLINE_ORDERING, - targetAvailable: BOOL, - statusFlags: UINT32, -}} -BITFIELD!{DISPLAYCONFIG_PATH_TARGET_INFO modeInfoIdx: UINT32 [ - desktopModeInfoIdx set_desktopModeInfoIdx[0..16], - targetModeInfoIdx set_targetModeInfoIdx[16..32], -]} -pub const DISPLAYCONFIG_TARGET_IN_USE: DWORD = 0x00000001; -pub const DISPLAYCONFIG_TARGET_FORCIBLE: DWORD = 0x00000002; -pub const DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_BOOT: DWORD = 0x00000004; -pub const DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_PATH: DWORD = 0x00000008; -pub const DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_SYSTEM: DWORD = 0x00000010; -pub const DISPLAYCONFIG_TARGET_IS_HMD: DWORD = 0x00000020; -STRUCT!{struct DISPLAYCONFIG_PATH_INFO { - sourceInfo: DISPLAYCONFIG_PATH_SOURCE_INFO, - targetInfo: DISPLAYCONFIG_PATH_TARGET_INFO, - flags: UINT32, -}} -pub const DISPLAYCONFIG_PATH_ACTIVE: DWORD = 0x00000001; -pub const DISPLAYCONFIG_PATH_PREFERRED_UNSCALED: DWORD = 0x00000004; -pub const DISPLAYCONFIG_PATH_SUPPORT_VIRTUAL_MODE: DWORD = 0x00000008; -pub const DISPLAYCONFIG_PATH_VALID_FLAGS: DWORD = 0x0000000D; -ENUM!{enum DISPLAYCONFIG_TOPOLOGY_ID { - DISPLAYCONFIG_TOPOLOGY_INTERNAL = 0x00000001, - DISPLAYCONFIG_TOPOLOGY_CLONE = 0x00000002, - DISPLAYCONFIG_TOPOLOGY_EXTEND = 0x00000004, - DISPLAYCONFIG_TOPOLOGY_EXTERNAL = 0x00000008, - DISPLAYCONFIG_TOPOLOGY_FORCE_UINT32 = 0xFFFFFFFF, -}} -ENUM!{enum DISPLAYCONFIG_DEVICE_INFO_TYPE { - DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME = 1, - DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME = 2, - DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE = 3, - DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME = 4, - DISPLAYCONFIG_DEVICE_INFO_SET_TARGET_PERSISTENCE = 5, - DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE = 6, - DISPLAYCONFIG_DEVICE_INFO_GET_SUPPORT_VIRTUAL_RESOLUTION = 7, - DISPLAYCONFIG_DEVICE_INFO_SET_SUPPORT_VIRTUAL_RESOLUTION = 8, - DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO = 9, - DISPLAYCONFIG_DEVICE_INFO_SET_ADVANCED_COLOR_STATE = 10, - DISPLAYCONFIG_DEVICE_INFO_FORCE_UINT32 = 0xFFFFFFFF, -}} -STRUCT!{struct DISPLAYCONFIG_DEVICE_INFO_HEADER { - _type: DISPLAYCONFIG_DEVICE_INFO_TYPE, - size: UINT32, - adapterId: LUID, - id: UINT32, -}} -STRUCT!{struct DISPLAYCONFIG_SOURCE_DEVICE_NAME { - header: DISPLAYCONFIG_DEVICE_INFO_HEADER, - viewGdiDeviceName: [WCHAR; CCHDEVICENAME], -}} -STRUCT!{struct DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS { - value: UINT32, -}} -BITFIELD!{DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS value: UINT32 [ - friendlyNameFromEdid set_friendlyNameFromEdid[0..1], - friendlyNameForced set_friendlyNameForced[1..2], - edidIdsValid set_edidIdsValid[2..3], -]} -STRUCT!{struct DISPLAYCONFIG_TARGET_DEVICE_NAME { - header: DISPLAYCONFIG_DEVICE_INFO_HEADER, - flags: DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS, - outputTechnology: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY, - edidManufactureId: UINT16, - edidProductCodeId: UINT16, - connectorInstance: UINT32, - monitorFriendlyDeviceName: [WCHAR; 64], - monitorDevicePath: [WCHAR; 128], -}} -STRUCT!{struct DISPLAYCONFIG_TARGET_PREFERRED_MODE { - header: DISPLAYCONFIG_DEVICE_INFO_HEADER, - width: UINT32, - height: UINT32, - targetMode: DISPLAYCONFIG_TARGET_MODE, -}} -STRUCT!{struct DISPLAYCONFIG_ADAPTER_NAME { - header: DISPLAYCONFIG_DEVICE_INFO_HEADER, - adapterDevicePath: [WCHAR; 128], -}} -STRUCT!{struct DISPLAYCONFIG_TARGET_BASE_TYPE { - header: DISPLAYCONFIG_DEVICE_INFO_HEADER, - baseOutputTechnology: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY, -}} -STRUCT!{struct DISPLAYCONFIG_SET_TARGET_PERSISTENCE { - header: DISPLAYCONFIG_DEVICE_INFO_HEADER, - value: UINT32, -}} -BITFIELD!{DISPLAYCONFIG_SET_TARGET_PERSISTENCE value: UINT32 [ - bootPersistenceOn set_bootPersistenceOn[0..1], -]} -STRUCT!{struct DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION { - header: DISPLAYCONFIG_DEVICE_INFO_HEADER, - value: UINT32, -}} -BITFIELD!{DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION value: UINT32 [ - disableMonitorVirtualResolution set_disableMonitorVirtualResolution[0..1], -]} -ENUM!{enum DISPLAYCONFIG_COLOR_ENCODING { - DISPLAYCONFIG_COLOR_ENCODING_RGB = 0, - DISPLAYCONFIG_COLOR_ENCODING_YCBCR444 = 1, - DISPLAYCONFIG_COLOR_ENCODING_YCBCR422 = 2, - DISPLAYCONFIG_COLOR_ENCODING_YCBCR420 = 3, - DISPLAYCONFIG_COLOR_ENCODING_INTENSITY = 4, - DISPLAYCONFIG_COLOR_ENCODING_FORCE_UINT32 = 0xFFFFFFFF, -}} -STRUCT!{struct DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO { - header: DISPLAYCONFIG_DEVICE_INFO_HEADER, - value: UINT32, - colorEncoding: DISPLAYCONFIG_COLOR_ENCODING, - bitsPerColorChannel: UINT32, -}} -BITFIELD!{DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO value: UINT32 [ - advancedColorSupported set_advancedColorSupported[0..1], - advancedColorEnabled set_advancedColorEnabled[1..2], - reserved set_reserved[2..32], -]} -STRUCT!{struct DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE { - header: DISPLAYCONFIG_DEVICE_INFO_HEADER, - value: UINT32, -}} -BITFIELD!{DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE value: UINT32 [ - enableAdvancedColor set_enableAdvancedColor[0..1], - reserved set_reserved[1..32], -]} -pub const QDC_ALL_PATHS: DWORD = 0x00000001; -pub const QDC_ONLY_ACTIVE_PATHS: DWORD = 0x00000002; -pub const QDC_DATABASE_CURRENT: DWORD = 0x00000004; -pub const QDC_VIRTUAL_MODE_AWARE: DWORD = 0x00000010; -pub const QDC_INCLUDE_HMD: DWORD = 0x00000020; -pub const SDC_TOPOLOGY_INTERNAL: DWORD = 0x00000001; -pub const SDC_TOPOLOGY_CLONE: DWORD = 0x00000002; -pub const SDC_TOPOLOGY_EXTEND: DWORD = 0x00000004; -pub const SDC_TOPOLOGY_EXTERNAL: DWORD = 0x00000008; -pub const SDC_TOPOLOGY_SUPPLIED: DWORD = 0x00000010; -pub const SDC_USE_DATABASE_CURRENT: DWORD = SDC_TOPOLOGY_INTERNAL | SDC_TOPOLOGY_CLONE - | SDC_TOPOLOGY_EXTEND | SDC_TOPOLOGY_EXTERNAL; -pub const SDC_USE_SUPPLIED_DISPLAY_CONFIG: DWORD = 0x00000020; -pub const SDC_VALIDATE: DWORD = 0x00000040; -pub const SDC_APPLY: DWORD = 0x00000080; -pub const SDC_NO_OPTIMIZATION: DWORD = 0x00000100; -pub const SDC_SAVE_TO_DATABASE: DWORD = 0x00000200; -pub const SDC_ALLOW_CHANGES: DWORD = 0x00000400; -pub const SDC_PATH_PERSIST_IF_REQUIRED: DWORD = 0x00000800; -pub const SDC_FORCE_MODE_ENUMERATION: DWORD = 0x00001000; -pub const SDC_ALLOW_PATH_ORDER_CHANGES: DWORD = 0x00002000; -pub const SDC_VIRTUAL_MODE_AWARE: DWORD = 0x00008000; -pub const RDH_RECTANGLES: DWORD = 1; -STRUCT!{struct RGNDATAHEADER { - dwSize: DWORD, - iType: DWORD, - nCount: DWORD, - nRgnSize: DWORD, - rcBound: RECT, -}} -pub type PRGNDATAHEADER = *mut RGNDATAHEADER; -STRUCT!{struct RGNDATA { - rdh: RGNDATAHEADER, - Buffer: [c_char; 1], -}} -pub type PRGNDATA = *mut RGNDATA; -pub type NPRGNDATA = *mut RGNDATA; -pub type LPRGNDATA = *mut RGNDATA; -pub const SYSRGN: INT = 4; -STRUCT!{struct ABC { - abcA: c_int, - abcB: UINT, - abcC: c_int, -}} -pub type PABC = *mut ABC; -pub type NPABC = *mut ABC; -pub type LPABC = *mut ABC; -STRUCT!{struct ABCFLOAT { - abcfA: FLOAT, - abcfB: FLOAT, - abcfC: FLOAT, -}} -pub type PABCFLOAT = *mut ABCFLOAT; -pub type NPABCFLOAT = *mut ABCFLOAT; -pub type LPABCFLOAT = *mut ABCFLOAT; -STRUCT!{struct OUTLINETEXTMETRICA { - otmSize: UINT, - otmTextMetrics: TEXTMETRICA, - otmFiller: BYTE, - otmPanoseNumber: PANOSE, - otmfsSelection: UINT, - otmfsType: UINT, - otmsCharSlopeRise: c_int, - otmsCharSlopeRun: c_int, - otmItalicAngle: c_int, - otmEMSquare: UINT, - otmAscent: c_int, - otmDescent: c_int, - otmLineGap: UINT, - otmsCapEmHeight: UINT, - otmsXHeight: UINT, - otmrcFontBox: RECT, - otmMacAscent: c_int, - otmMacDescent: c_int, - otmMacLineGap: UINT, - otmusMinimumPPEM: UINT, - otmptSubscriptSize: POINT, - otmptSubscriptOffset: POINT, - otmptSuperscriptSize: POINT, - otmptSuperscriptOffset: POINT, - otmsStrikeoutSize: UINT, - otmsStrikeoutPosition: c_int, - otmsUnderscoreSize: c_int, - otmsUnderscorePosition: c_int, - otmpFamilyName: PSTR, - otmpFaceName: PSTR, - otmpStyleName: PSTR, - otmpFullName: PSTR, -}} -pub type POUTLINETEXTMETRICA = *mut OUTLINETEXTMETRICA; -pub type NPOUTLINETEXTMETRICA = *mut OUTLINETEXTMETRICA; -pub type LPOUTLINETEXTMETRICA = *mut OUTLINETEXTMETRICA; -STRUCT!{struct OUTLINETEXTMETRICW { - otmSize: UINT, - otmTextMetrics: TEXTMETRICW, - otmFiller: BYTE, - otmPanoseNumber: PANOSE, - otmfsSelection: UINT, - otmfsType: UINT, - otmsCharSlopeRise: c_int, - otmsCharSlopeRun: c_int, - otmItalicAngle: c_int, - otmEMSquare: UINT, - otmAscent: c_int, - otmDescent: c_int, - otmLineGap: UINT, - otmsCapEmHeight: UINT, - otmsXHeight: UINT, - otmrcFontBox: RECT, - otmMacAscent: c_int, - otmMacDescent: c_int, - otmMacLineGap: UINT, - otmusMinimumPPEM: UINT, - otmptSubscriptSize: POINT, - otmptSubscriptOffset: POINT, - otmptSuperscriptSize: POINT, - otmptSuperscriptOffset: POINT, - otmsStrikeoutSize: UINT, - otmsStrikeoutPosition: c_int, - otmsUnderscoreSize: c_int, - otmsUnderscorePosition: c_int, - otmpFamilyName: PSTR, - otmpFaceName: PSTR, - otmpStyleName: PSTR, - otmpFullName: PSTR, -}} -pub type POUTLINETEXTMETRICW = *mut OUTLINETEXTMETRICW; -pub type NPOUTLINETEXTMETRICW = *mut OUTLINETEXTMETRICW; -pub type LPOUTLINETEXTMETRICW = *mut OUTLINETEXTMETRICW; -STRUCT!{struct POLYTEXTA { - x: c_int, - y: c_int, - n: UINT, - lpstr: LPCSTR, - uiFlags: UINT, - rcl: RECT, - pdx: *mut c_int, -}} -pub type PPOLYTEXTA = *mut POLYTEXTA; -pub type NPPOLYTEXTA = *mut POLYTEXTA; -pub type LPPOLYTEXTA = *mut POLYTEXTA; -STRUCT!{struct POLYTEXTW { - x: c_int, - y: c_int, - n: UINT, - lpstr: LPCWSTR, - uiFlags: UINT, - rcl: RECT, - pdx: *mut c_int, -}} -pub type PPOLYTEXTW = *mut POLYTEXTW; -pub type NPPOLYTEXTW = *mut POLYTEXTW; -pub type LPPOLYTEXTW = *mut POLYTEXTW; -STRUCT!{struct FIXED { - fract: WORD, - value: c_short, -}} -STRUCT!{struct MAT2 { - eM11: FIXED, - eM12: FIXED, - eM21: FIXED, - eM22: FIXED, -}} -pub type LPMAT2 = *mut MAT2; -STRUCT!{struct GLYPHMETRICS { - gmBlackBoxX: UINT, - gmBlackBoxY: UINT, - gmptGlyphOrigin: POINT, - gmCellIncX: c_short, - gmCellIncY: c_short, -}} -pub type LPGLYPHMETRICS = *mut GLYPHMETRICS; -pub const GGO_METRICS: DWORD = 0; -pub const GGO_BITMAP: DWORD = 1; -pub const GGO_NATIVE: DWORD = 2; -pub const GGO_BEZIER: DWORD = 3; -pub const GGO_GRAY2_BITMAP: DWORD = 4; -pub const GGO_GRAY4_BITMAP: DWORD = 5; -pub const GGO_GRAY8_BITMAP: DWORD = 6; -pub const GGO_GLYPH_INDEX: DWORD = 0x0080; -pub const GGO_UNHINTED: DWORD = 0x0100; -pub const TT_POLYGON_TYPE: DWORD = 24; -pub const TT_PRIM_LINE: DWORD = 1; -pub const TT_PRIM_QSPLINE: DWORD = 2; -pub const TT_PRIM_CSPLINE: DWORD = 3; -STRUCT!{struct POINTFX { - x: FIXED, - y: FIXED, -}} -pub type LPPOINTFX = *mut POINTFX; -STRUCT!{struct TTPOLYCURVE { - wType: WORD, - cpfx: WORD, - apfx: [POINTFX; 1], -}} -pub type LPTTPOLYCURVE = *mut TTPOLYCURVE; -STRUCT!{struct TTPOLYGONHEADER { - cb: DWORD, - dwType: DWORD, - pfxStart: POINTFX, -}} -pub type LPTTPOLYGONHEADER = *mut TTPOLYGONHEADER; -pub const GCP_DBCS: DWORD = 0x0001; -pub const GCP_REORDER: DWORD = 0x0002; -pub const GCP_USEKERNING: DWORD = 0x0008; -pub const GCP_GLYPHSHAPE: DWORD = 0x0010; -pub const GCP_LIGATE: DWORD = 0x0020; -pub const GCP_DIACRITIC: DWORD = 0x0100; -pub const GCP_KASHIDA: DWORD = 0x0400; -pub const GCP_ERROR: DWORD = 0x8000; -pub const FLI_MASK: DWORD = 0x103B; -pub const GCP_JUSTIFY: DWORD = 0x00010000; -pub const FLI_GLYPHS: DWORD = 0x00040000; -pub const GCP_CLASSIN: DWORD = 0x00080000; -pub const GCP_MAXEXTENT: DWORD = 0x00100000; -pub const GCP_JUSTIFYIN: DWORD = 0x00200000; -pub const GCP_DISPLAYZWG: DWORD = 0x00400000; -pub const GCP_SYMSWAPOFF: DWORD = 0x00800000; -pub const GCP_NUMERICOVERRIDE: DWORD = 0x01000000; -pub const GCP_NEUTRALOVERRIDE: DWORD = 0x02000000; -pub const GCP_NUMERICSLATIN: DWORD = 0x04000000; -pub const GCP_NUMERICSLOCAL: DWORD = 0x08000000; -pub const GCPCLASS_LATIN: DWORD = 1; -pub const GCPCLASS_HEBREW: DWORD = 2; -pub const GCPCLASS_ARABIC: DWORD = 2; -pub const GCPCLASS_NEUTRAL: DWORD = 3; -pub const GCPCLASS_LOCALNUMBER: DWORD = 4; -pub const GCPCLASS_LATINNUMBER: DWORD = 5; -pub const GCPCLASS_LATINNUMERICTERMINATOR: DWORD = 6; -pub const GCPCLASS_LATINNUMERICSEPARATOR: DWORD = 7; -pub const GCPCLASS_NUMERICSEPARATOR: DWORD = 8; -pub const GCPCLASS_PREBOUNDLTR: DWORD = 0x80; -pub const GCPCLASS_PREBOUNDRTL: DWORD = 0x40; -pub const GCPCLASS_POSTBOUNDLTR: DWORD = 0x20; -pub const GCPCLASS_POSTBOUNDRTL: DWORD = 0x10; -pub const GCPGLYPH_LINKBEFORE: DWORD = 0x8000; -pub const GCPGLYPH_LINKAFTER: DWORD = 0x4000; -STRUCT!{struct GCP_RESULTSA { - lStructSize: DWORD, - lpOutString: LPSTR, - lpOrder: *mut UINT, - lpDx: *mut c_int, - lpCaretPos: *mut c_int, - lpClass: LPSTR, - lpGlyphs: LPWSTR, - nGlyphs: UINT, - nMaxFit: c_int, -}} -pub type LPGCP_RESULTSA = *mut GCP_RESULTSA; -STRUCT!{struct GCP_RESULTSW { - lStructSize: DWORD, - lpOutString: LPWSTR, - lpOrder: *mut UINT, - lpDx: *mut c_int, - lpCaretPos: *mut c_int, - lpClass: LPSTR, - lpGlyphs: LPWSTR, - nGlyphs: UINT, - nMaxFit: c_int, -}} -pub type LPGCP_RESULTSW = *mut GCP_RESULTSW; -STRUCT!{struct RASTERIZER_STATUS { - nSize: c_short, - wFlags: c_short, - nLanguageID: c_short, -}} -pub type LPRASTERIZER_STATUS = *mut RASTERIZER_STATUS; -pub const TT_AVAILABLE: DWORD = 0x0001; -pub const TT_ENABLED: DWORD = 0x0002; -STRUCT!{struct PIXELFORMATDESCRIPTOR { - nSize: WORD, - nVersion: WORD, - dwFlags: DWORD, - iPixelType: BYTE, - cColorBits: BYTE, - cRedBits: BYTE, - cRedShift: BYTE, - cGreenBits: BYTE, - cGreenShift: BYTE, - cBlueBits: BYTE, - cBlueShift: BYTE, - cAlphaBits: BYTE, - cAlphaShift: BYTE, - cAccumBits: BYTE, - cAccumRedBits: BYTE, - cAccumGreenBits: BYTE, - cAccumBlueBits: BYTE, - cAccumAlphaBits: BYTE, - cDepthBits: BYTE, - cStencilBits: BYTE, - cAuxBuffers: BYTE, - iLayerType: BYTE, - bReserved: BYTE, - dwLayerMask: DWORD, - dwVisibleMask: DWORD, - dwDamageMask: DWORD, -}} -pub type PPIXELFORMATDESCRIPTOR = *mut PIXELFORMATDESCRIPTOR; -pub type LPPIXELFORMATDESCRIPTOR = *mut PIXELFORMATDESCRIPTOR; -pub const PFD_TYPE_RGBA: BYTE = 0; -pub const PFD_TYPE_COLORINDEX: BYTE = 1; -pub const PFD_MAIN_PLANE: BYTE = 0; -pub const PFD_OVERLAY_PLANE: BYTE = 1; -pub const PFD_UNDERLAY_PLANE: BYTE = -1i8 as u8; -pub const PFD_DOUBLEBUFFER: DWORD = 0x00000001; -pub const PFD_STEREO: DWORD = 0x00000002; -pub const PFD_DRAW_TO_WINDOW: DWORD = 0x00000004; -pub const PFD_DRAW_TO_BITMAP: DWORD = 0x00000008; -pub const PFD_SUPPORT_GDI: DWORD = 0x00000010; -pub const PFD_SUPPORT_OPENGL: DWORD = 0x00000020; -pub const PFD_GENERIC_FORMAT: DWORD = 0x00000040; -pub const PFD_NEED_PALETTE: DWORD = 0x00000080; -pub const PFD_NEED_SYSTEM_PALETTE: DWORD = 0x00000100; -pub const PFD_SWAP_EXCHANGE: DWORD = 0x00000200; -pub const PFD_SWAP_COPY: DWORD = 0x00000400; -pub const PFD_SWAP_LAYER_BUFFERS: DWORD = 0x00000800; -pub const PFD_GENERIC_ACCELERATED: DWORD = 0x00001000; -pub const PFD_SUPPORT_DIRECTDRAW: DWORD = 0x00002000; -pub const PFD_DIRECT3D_ACCELERATED: DWORD = 0x00004000; -pub const PFD_SUPPORT_COMPOSITION: DWORD = 0x00008000; -pub const PFD_DEPTH_DONTCARE: DWORD = 0x20000000; -pub const PFD_DOUBLEBUFFER_DONTCARE: DWORD = 0x40000000; -pub const PFD_STEREO_DONTCARE: DWORD = 0x80000000; -FN!{stdcall OLDFONTENUMPROCA( - *const LOGFONTA, - *const TEXTMETRICA, - DWORD, - LPARAM, -) -> c_int} -FN!{stdcall OLDFONTENUMPROCW( - *const LOGFONTW, - *const TEXTMETRICW, - DWORD, - LPARAM, -) -> c_int} -pub type FONTENUMPROCA = OLDFONTENUMPROCA; -pub type FONTENUMPROCW = OLDFONTENUMPROCW; -FN!{stdcall GOBJENUMPROC( - LPVOID, - LPARAM, -) -> c_int} -FN!{stdcall LINEDDAPROC( - c_int, - c_int, - LPARAM, -) -> ()} -extern "system" { - pub fn AddFontResourceA( - _: LPCSTR, - ) -> c_int; - pub fn AddFontResourceW( - _: LPCWSTR, - ) -> c_int; - pub fn AnimatePalette( - hPal: HPALETTE, - iStartIndex: UINT, - cEntries: UINT, - ppe: *const PALETTEENTRY, - ) -> BOOL; - pub fn Arc( - hdc: HDC, - x1: c_int, - y1: c_int, - x2: c_int, - y2: c_int, - x3: c_int, - y3: c_int, - x4: c_int, - y4: c_int, - ) -> BOOL; - pub fn BitBlt( - hdc: HDC, - x: c_int, - y: c_int, - cx: c_int, - cy: c_int, - hdcSrc: HDC, - x1: c_int, - y1: c_int, - rop: DWORD, - ) -> BOOL; - pub fn CancelDC( - hdc: HDC, - ) -> BOOL; - pub fn Chord( - hdc: HDC, - x1: c_int, - y1: c_int, - x2: c_int, - y2: c_int, - x3: c_int, - y3: c_int, - x4: c_int, - y4: c_int, - ) -> BOOL; - pub fn ChoosePixelFormat( - hdc: HDC, - ppfd: *const PIXELFORMATDESCRIPTOR, - ) -> c_int; - pub fn CloseMetaFile( - hdc: HDC, - ) -> HMETAFILE; - pub fn CombineRgn( - hrgnDst: HRGN, - hrgnSrc1: HRGN, - hrgnSrc2: HRGN, - iMode: c_int, - ) -> c_int; - pub fn CopyMetaFileA( - _: HMETAFILE, - _: LPCSTR, - ) -> HMETAFILE; - pub fn CopyMetaFileW( - _: HMETAFILE, - _: LPCWSTR, - ) -> HMETAFILE; - pub fn CreateBitmap( - nWidth: c_int, - nHeight: c_int, - nPlanes: UINT, - nBitCount: UINT, - lpBits: *const c_void, - ) -> HBITMAP; - pub fn CreateBitmapIndirect( - pbm: *const BITMAP, - ) -> HBITMAP; - pub fn CreateBrushIndirect( - plbrush: *const LOGBRUSH, - ) -> HBRUSH; - pub fn CreateCompatibleBitmap( - hdc: HDC, - cx: c_int, - cy: c_int, - ) -> HBITMAP; - pub fn CreateDiscardableBitmap( - hdc: HDC, - cx: c_int, - cy: c_int, - ) -> HBITMAP; - pub fn CreateCompatibleDC( - hdc: HDC, - ) -> HDC; - pub fn CreateDCA( - pwszDriver: LPCSTR, - pwszDevice: LPCSTR, - pszPort: LPCSTR, - pdm: *const DEVMODEA, - ) -> HDC; - pub fn CreateDCW( - pwszDriver: LPCWSTR, - pwszDevice: LPCWSTR, - pszPort: LPCWSTR, - pdm: *const DEVMODEW, - ) -> HDC; - pub fn CreateDIBitmap( - hdc: HDC, - pbmih: *const BITMAPINFOHEADER, - flInit: DWORD, - pjBits: *const c_void, - pbmi: *const BITMAPINFO, - iUsage: UINT, - ) -> HBITMAP; - pub fn CreateDIBPatternBrush( - h: HGLOBAL, - iUsage: UINT, - ) -> HBRUSH; - pub fn CreateDIBPatternBrushPt( - lpPackedDIB: *const c_void, - iUsage: UINT, - ) -> HBRUSH; - pub fn CreateEllipticRgn( - x1: c_int, - y1: c_int, - x2: c_int, - y2: c_int, - ) -> HRGN; - pub fn CreateEllipticRgnIndirect( - lprect: *const RECT, - ) -> HRGN; - pub fn CreateFontIndirectA( - lplf: *const LOGFONTA, - ) -> HFONT; - pub fn CreateFontIndirectW( - lplf: *const LOGFONTW, - ) -> HFONT; - pub fn CreateFontA( - cHeight: c_int, - cWidth: c_int, - cEscapement: c_int, - cOrientation: c_int, - cWeight: c_int, - bItalic: DWORD, - bUnderline: DWORD, - bStrikeOut: DWORD, - iCharSet: DWORD, - iOutPrecision: DWORD, - iClipPrecision: DWORD, - iQuality: DWORD, - iPitchAndFamily: DWORD, - pszFaceName: LPCSTR, - ) -> HFONT; - pub fn CreateFontW( - cHeight: c_int, - cWidth: c_int, - cEscapement: c_int, - cOrientation: c_int, - cWeight: c_int, - bItalic: DWORD, - bUnderline: DWORD, - bStrikeOut: DWORD, - iCharSet: DWORD, - iOutPrecision: DWORD, - iClipPrecision: DWORD, - iQuality: DWORD, - iPitchAndFamily: DWORD, - pszFaceName: LPCWSTR, - ) -> HFONT; - pub fn CreateHatchBrush( - iHatch: c_int, - color: COLORREF, - ) -> HBRUSH; - pub fn CreateICA( - pszDriver: LPCSTR, - pszDevice: LPCSTR, - pszPort: LPCSTR, - pdm: *const DEVMODEA, - ) -> HDC; - pub fn CreateICW( - pszDriver: LPCWSTR, - pszDevice: LPCWSTR, - pszPort: LPCWSTR, - pdm: *const DEVMODEW, - ) -> HDC; - pub fn CreateMetaFileA( - pszFile: LPCSTR, - ) -> HDC; - pub fn CreateMetaFileW( - pszFile: LPCWSTR, - ) -> HDC; - pub fn CreatePalette( - plpal: *const LOGPALETTE, - ) -> HPALETTE; - pub fn CreatePen( - iStyle: c_int, - cWidth: c_int, - color: COLORREF, - ) -> HPEN; - pub fn CreatePenIndirect( - plpen: *const LOGPEN, - ) -> HPEN; - pub fn CreatePolyPolygonRgn( - pptl: *const POINT, - pc: *const INT, - cPoly: c_int, - iMode: c_int, - ) -> HRGN; - pub fn CreatePatternBrush( - hbm: HBITMAP, - ) -> HBRUSH; - pub fn CreateRectRgn( - x1: c_int, - y1: c_int, - x2: c_int, - y2: c_int, - ) -> HRGN; - pub fn CreateRectRgnIndirect( - lprect: *const RECT, - ) -> HRGN; - pub fn CreateRoundRectRgn( - x1: c_int, - y1: c_int, - x2: c_int, - y2: c_int, - w: c_int, - h: c_int, - ) -> HRGN; - pub fn CreateScalableFontResourceA( - fdwHidden: DWORD, - lpszFont: LPCSTR, - lpszFile: LPCSTR, - lpszPath: LPCSTR, - ) -> BOOL; - pub fn CreateScalableFontResourceW( - fdwHidden: DWORD, - lpszFont: LPCWSTR, - lpszFile: LPCWSTR, - lpszPath: LPCWSTR, - ) -> BOOL; - pub fn CreateSolidBrush( - color: COLORREF, - ) -> HBRUSH; - pub fn DeleteDC( - hdc: HDC, - ) -> BOOL; - pub fn DeleteMetaFile( - hmf: HMETAFILE, - ) -> BOOL; - pub fn DeleteObject( - ho: HGDIOBJ, - ) -> BOOL; - pub fn DescribePixelFormat( - hdc: HDC, - iPixelFormat: c_int, - nBytes: UINT, - ppfd: LPPIXELFORMATDESCRIPTOR, - ) -> c_int; -} -FN!{stdcall LPFNDEVMODE( - HWND, - HMODULE, - LPDEVMODEA, - LPSTR, - LPSTR, - LPDEVMODEA, - LPSTR, - UINT, -) -> UINT} -FN!{stdcall LPFNDEVCAPS( - LPSTR, - LPSTR, - UINT, - LPSTR, - LPDEVMODEA, -) -> DWORD} -pub const DM_UPDATE: DWORD = 1; -pub const DM_COPY: DWORD = 2; -pub const DM_PROMPT: DWORD = 4; -pub const DM_MODIFY: DWORD = 8; -pub const DM_IN_BUFFER: DWORD = DM_MODIFY; -pub const DM_IN_PROMPT: DWORD = DM_PROMPT; -pub const DM_OUT_BUFFER: DWORD = DM_COPY; -pub const DM_OUT_DEFAULT: DWORD = DM_UPDATE; -pub const DC_FIELDS: WORD = 1; -pub const DC_PAPERS: WORD = 2; -pub const DC_PAPERSIZE: WORD = 3; -pub const DC_MINEXTENT: WORD = 4; -pub const DC_MAXEXTENT: WORD = 5; -pub const DC_BINS: WORD = 6; -pub const DC_DUPLEX: WORD = 7; -pub const DC_SIZE: WORD = 8; -pub const DC_EXTRA: WORD = 9; -pub const DC_VERSION: WORD = 10; -pub const DC_DRIVER: WORD = 11; -pub const DC_BINNAMES: WORD = 12; -pub const DC_ENUMRESOLUTIONS: WORD = 13; -pub const DC_FILEDEPENDENCIES: WORD = 14; -pub const DC_TRUETYPE: WORD = 15; -pub const DC_PAPERNAMES: WORD = 16; -pub const DC_ORIENTATION: WORD = 17; -pub const DC_COPIES: WORD = 18; -pub const DC_BINADJUST: WORD = 19; -pub const DC_EMF_COMPLIANT: WORD = 20; -pub const DC_DATATYPE_PRODUCED: WORD = 21; -pub const DC_COLLATE: WORD = 22; -pub const DC_MANUFACTURER: WORD = 23; -pub const DC_MODEL: WORD = 24; -pub const DC_PERSONALITY: WORD = 25; -pub const DC_PRINTRATE: WORD = 26; -pub const DC_PRINTRATEUNIT: WORD = 27; -pub const PRINTRATEUNIT_PPM: WORD = 1; -pub const PRINTRATEUNIT_CPS: WORD = 2; -pub const PRINTRATEUNIT_LPM: WORD = 3; -pub const PRINTRATEUNIT_IPM: WORD = 4; -pub const DC_PRINTERMEM: WORD = 28; -pub const DC_MEDIAREADY: WORD = 29; -pub const DC_STAPLE: WORD = 30; -pub const DC_PRINTRATEPPM: WORD = 31; -pub const DC_COLORDEVICE: WORD = 32; -pub const DC_NUP: WORD = 33; -pub const DC_MEDIATYPENAMES: WORD = 34; -pub const DC_MEDIATYPES: WORD = 35; -pub const DCTT_BITMAP: DWORD = 0x0000001; -pub const DCTT_DOWNLOAD: DWORD = 0x0000002; -pub const DCTT_SUBDEV: DWORD = 0x0000004; -pub const DCTT_DOWNLOAD_OUTLINE: DWORD = 0x0000008; -pub const DCBA_FACEUPNONE: DWORD = 0x0000; -pub const DCBA_FACEUPCENTER: DWORD = 0x0001; -pub const DCBA_FACEUPLEFT: DWORD = 0x0002; -pub const DCBA_FACEUPRIGHT: DWORD = 0x0003; -pub const DCBA_FACEDOWNNONE: DWORD = 0x0100; -pub const DCBA_FACEDOWNCENTER: DWORD = 0x0101; -pub const DCBA_FACEDOWNLEFT: DWORD = 0x0102; -pub const DCBA_FACEDOWNRIGHT: DWORD = 0x0103; -extern "system" { - pub fn DeviceCapabilitiesA( - pDevice: LPCSTR, - pPort: LPCSTR, - fwCapability: WORD, - pOutput: LPSTR, - pDevMode: *const DEVMODEA, - ) -> c_int; - pub fn DeviceCapabilitiesW( - pDevice: LPCWSTR, - pPort: LPCWSTR, - fwCapability: WORD, - pOutput: LPWSTR, - pDevMode: *const DEVMODEW, - ) -> c_int; - pub fn DrawEscape( - hdc: HDC, - iEscape: c_int, - cjIn: c_int, - lpIn: LPCSTR, - ) -> c_int; - pub fn Ellipse( - hdc: HDC, - left: c_int, - top: c_int, - right: c_int, - bottom: c_int, - ) -> BOOL; - pub fn EnumFontFamiliesExA( - hdc: HDC, - lpLogfont: LPLOGFONTA, - lpProc: FONTENUMPROCA, - lParam: LPARAM, - dwFlags: DWORD, - ) -> c_int; - pub fn EnumFontFamiliesExW( - hdc: HDC, - lpLogfont: LPLOGFONTW, - lpProc: FONTENUMPROCW, - lParam: LPARAM, - dwFlags: DWORD, - ) -> c_int; - pub fn EnumFontFamiliesA( - hdc: HDC, - lpLogfont: LPCSTR, - lpProc: FONTENUMPROCA, - lParam: LPARAM, - ) -> c_int; - pub fn EnumFontFamiliesW( - hdc: HDC, - lpLogfont: LPCWSTR, - lpProc: FONTENUMPROCW, - lParam: LPARAM, - ) -> c_int; - pub fn EnumFontsA( - hdc: HDC, - lpLogfont: LPCSTR, - lpProc: FONTENUMPROCA, - lParam: LPARAM, - ) -> c_int; - pub fn EnumFontsW( - hdc: HDC, - lpLogfont: LPCWSTR, - lpProc: FONTENUMPROCW, - lParam: LPARAM, - ) -> c_int; - pub fn EnumObjects( - hdc: HDC, - nType: c_int, - lpFunc: GOBJENUMPROC, - lParam: LPARAM, - ) -> c_int; - pub fn EqualRgn( - hrgn1: HRGN, - hrgn2: HRGN, - ) -> BOOL; - pub fn Escape( - hdc: HDC, - iEscape: c_int, - cjIn: c_int, - pvIn: LPCSTR, - pvOut: LPVOID, - ) -> c_int; - pub fn ExtEscape( - hdc: HDC, - iEscape: c_int, - cjInput: c_int, - lpInData: LPCSTR, - cjOutput: c_int, - lpOutData: LPSTR, - ) -> c_int; - pub fn ExcludeClipRect( - hdc: HDC, - left: c_int, - top: c_int, - right: c_int, - bottom: c_int, - ) -> c_int; - pub fn ExtCreateRegion( - lpx: *const XFORM, - nCount: DWORD, - lpData: *const RGNDATA, - ) -> HRGN; - pub fn ExtFloodFill( - hdc: HDC, - x: c_int, - y: c_int, - color: COLORREF, - utype: UINT, - ) -> BOOL; - pub fn FillRgn( - hdc: HDC, - hrgn: HRGN, - hbr: HBRUSH, - ) -> BOOL; - pub fn FloodFill( - hdc: HDC, - x: c_int, - y: c_int, - color: COLORREF, - ) -> BOOL; - pub fn FrameRgn( - hdc: HDC, - hrgn: HRGN, - hbr: HBRUSH, - w: c_int, - h: c_int, - ) -> BOOL; - pub fn GetROP2( - hdc: HDC, - ) -> c_int; - pub fn GetAspectRatioFilterEx( - hdc: HDC, - lpsize: LPSIZE, - ) -> BOOL; - pub fn GetBkColor( - hdc: HDC, - ) -> COLORREF; - pub fn GetDCBrushColor( - hdc: HDC, - ) -> COLORREF; - pub fn GetDCPenColor( - hdc: HDC, - ) -> COLORREF; - pub fn GetBkMode( - hdc: HDC, - ) -> c_int; - pub fn GetBitmapBits( - hbit: HBITMAP, - cb: LONG, - lpvBits: LPVOID, - ) -> LONG; - pub fn GetBitmapDimensionEx( - hbit: HBITMAP, - lpsize: LPSIZE, - ) -> BOOL; - pub fn GetBoundsRect( - hdc: HDC, - lprect: LPRECT, - flags: UINT, - ) -> UINT; - pub fn GetBrushOrgEx( - hdc: HDC, - lppt: LPPOINT, - ) -> BOOL; - pub fn GetCharWidthA( - hdc: HDC, - iFirst: UINT, - iLast: UINT, - lpBuffer: LPINT, - ) -> BOOL; - pub fn GetCharWidthW( - hdc: HDC, - iFirst: UINT, - iLast: UINT, - lpBuffer: LPINT, - ) -> BOOL; - pub fn GetCharWidth32A( - hdc: HDC, - iFirst: UINT, - iLast: UINT, - lpBuffer: LPINT, - ) -> BOOL; - pub fn GetCharWidth32W( - hdc: HDC, - iFirst: UINT, - iLast: UINT, - lpBuffer: LPINT, - ) -> BOOL; - pub fn GetCharWidthFloatA( - hdc: HDC, - iFirst: UINT, - iLast: UINT, - lpBuffer: PFLOAT, - ) -> BOOL; - pub fn GetCharWidthFloatW( - hdc: HDC, - iFirst: UINT, - iLast: UINT, - lpBuffer: PFLOAT, - ) -> BOOL; - pub fn GetCharABCWidthsA( - hdc: HDC, - wFirst: UINT, - wLast: UINT, - lpABC: LPABC, - ) -> BOOL; - pub fn GetCharABCWidthsW( - hdc: HDC, - wFirst: UINT, - wLast: UINT, - lpABC: LPABC, - ) -> BOOL; - pub fn GetCharABCWidthsFloatA( - hdc: HDC, - iFirst: UINT, - iLast: UINT, - lpABC: LPABCFLOAT, - ) -> BOOL; - pub fn GetCharABCWidthsFloatW( - hdc: HDC, - iFirst: UINT, - iLast: UINT, - lpABC: LPABCFLOAT, - ) -> BOOL; - pub fn GetClipBox( - hdc: HDC, - lprect: LPRECT, - ) -> c_int; - pub fn GetClipRgn( - hdc: HDC, - hrgn: HRGN, - ) -> c_int; - pub fn GetMetaRgn( - hdc: HDC, - hrgn: HRGN, - ) -> c_int; - pub fn GetCurrentObject( - hdc: HDC, - tp: UINT, - ) -> HGDIOBJ; - pub fn GetCurrentPositionEx( - hdc: HDC, - lppt: LPPOINT, - ) -> BOOL; - pub fn GetDeviceCaps( - hdc: HDC, - nIndex: c_int, - ) -> c_int; - pub fn GetDIBits( - hdc: HDC, - hbm: HBITMAP, - start: UINT, - cLines: UINT, - lpvBits: LPVOID, - lpbmi: LPBITMAPINFO, - usage: UINT, - ) -> c_int; - pub fn GetFontData( - hdc: HDC, - dwTable: DWORD, - dwOffset: DWORD, - pvBuffer: PVOID, - cjBuffer: DWORD, - ) -> DWORD; - pub fn GetGlyphOutlineA( - hdc: HDC, - uChar: UINT, - fuFormat: UINT, - lpgm: LPGLYPHMETRICS, - cjBuffer: DWORD, - pvBuffer: LPVOID, - lpmat2: *const MAT2, - ) -> DWORD; - pub fn GetGlyphOutlineW( - hdc: HDC, - uChar: UINT, - fuFormat: UINT, - lpgm: LPGLYPHMETRICS, - cjBuffer: DWORD, - pvBuffer: LPVOID, - lpmat2: *const MAT2, - ) -> DWORD; - pub fn GetGraphicsMode( - hdc: HDC, - ) -> c_int; - pub fn GetMapMode( - hdc: HDC, - ) -> c_int; - pub fn GetMetaFileBitsEx( - hMF: HMETAFILE, - cbBuffer: UINT, - lpData: LPVOID, - ) -> UINT; - pub fn GetMetaFileA( - lpName: LPCSTR, - ) -> HMETAFILE; - pub fn GetMetaFileW( - lpName: LPCWSTR, - ) -> HMETAFILE; - pub fn GetNearestColor( - hdc: HDC, - color: COLORREF, - ) -> COLORREF; - pub fn GetNearestPaletteIndex( - h: HPALETTE, - color: COLORREF, - ) -> UINT; - pub fn GetObjectType( - h: HGDIOBJ, - ) -> DWORD; - pub fn GetOutlineTextMetricsA( - hdc: HDC, - cjCopy: UINT, - potm: LPOUTLINETEXTMETRICA, - ) -> UINT; - pub fn GetOutlineTextMetricsW( - hdc: HDC, - cjCopy: UINT, - potm: LPOUTLINETEXTMETRICW, - ) -> UINT; - pub fn GetPaletteEntries( - hpal: HPALETTE, - iStart: UINT, - cEntries: UINT, - pPalEntries: LPPALETTEENTRY, - ) -> UINT; - pub fn GetPixel( - hdc: HDC, - x: c_int, - y: c_int, - ) -> COLORREF; - pub fn GetPixelFormat( - hdc: HDC, - ) -> c_int; - pub fn GetPolyFillMode( - hdc: HDC, - ) -> c_int; - pub fn GetRasterizerCaps( - lpraststat: LPRASTERIZER_STATUS, - cjBytes: UINT, - ) -> BOOL; - pub fn GetRandomRgn ( - hdc: HDC, - hrgn: HRGN, - i: INT, - ) -> c_int; - pub fn GetRegionData( - hrgn: HRGN, - nCount: DWORD, - lpRgnData: LPRGNDATA, - ) -> DWORD; - pub fn GetRgnBox( - hrgn: HRGN, - lprc: LPRECT, - ) -> c_int; - pub fn GetStockObject( - i: c_int, - ) -> HGDIOBJ; - pub fn GetStretchBltMode( - hdc: HDC, - ) -> c_int; - pub fn GetSystemPaletteEntries( - hdc: HDC, - iStart: UINT, - cEntries: UINT, - pPalEntries: LPPALETTEENTRY, - ) -> UINT; - pub fn GetSystemPaletteUse( - hdc: HDC, - ) -> UINT; - pub fn GetTextCharacterExtra( - hdc: HDC, - ) -> c_int; - pub fn GetTextAlign( - hdc: HDC, - ) -> UINT; - pub fn GetTextColor( - hdc: HDC, - ) -> COLORREF; - pub fn GetTextExtentPointA( - hdc: HDC, - lpString: LPCSTR, - c: c_int, - lpsz: LPSIZE, - ) -> BOOL; - pub fn GetTextExtentPointW( - hdc: HDC, - lpString: LPCWSTR, - c: c_int, - lpsz: LPSIZE, - ) -> BOOL; - pub fn GetTextExtentPoint32A( - hdc: HDC, - lpString: LPCSTR, - c: c_int, - psizl: LPSIZE, - ) -> BOOL; - pub fn GetTextExtentPoint32W( - hdc: HDC, - lpString: LPCWSTR, - c: c_int, - psizl: LPSIZE, - ) -> BOOL; - pub fn GetTextExtentExPointA( - hdc: HDC, - lpszString: LPCSTR, - cchString: c_int, - nMaxExtent: c_int, - lpnFit: LPINT, - lpnDx: LPINT, - lpSize: LPSIZE, - ) -> BOOL; - pub fn GetTextExtentExPointW( - hdc: HDC, - lpszString: LPCWSTR, - cchString: c_int, - nMaxExtent: c_int, - lpnFit: LPINT, - lpnDx: LPINT, - lpSize: LPSIZE, - ) -> BOOL; - pub fn GetTextCharset( - hdc: HDC, - ) -> c_int; - pub fn GetTextCharsetInfo( - hdc: HDC, - lpSig: LPFONTSIGNATURE, - dwFlags: DWORD, - ) -> c_int; - pub fn TranslateCharsetInfo( - lpSrc: *const DWORD, - lpCs: LPCHARSETINFO, - dwFlags: DWORD, - ) -> BOOL; - pub fn GetFontLanguageInfo( - hdc: HDC, - ) -> DWORD; - pub fn GetCharacterPlacementA( - hdc: HDC, - lpString: LPCSTR, - nCount: c_int, - nMexExtent: c_int, - lpResults: LPGCP_RESULTSA, - dwFlags: DWORD, - ) -> DWORD; - pub fn GetCharacterPlacementW( - hdc: HDC, - lpString: LPCWSTR, - nCount: c_int, - nMexExtent: c_int, - lpResults: LPGCP_RESULTSW, - dwFlags: DWORD, - ) -> DWORD; -} -STRUCT!{struct WCRANGE { - wcLow: WCHAR, - cGlyphs: USHORT, -}} -pub type PWCRANGE = *mut WCRANGE; -pub type LPWCRANGE = *mut WCRANGE; -STRUCT!{struct GLYPHSET { - cbThis: DWORD, - flAccel: DWORD, - cGlyphsSupported: DWORD, - cRanges: DWORD, - ranges: [WCRANGE;1], -}} -pub type PGLYPHSET = *mut GLYPHSET; -pub type LPGLYPHSET = *mut GLYPHSET; -pub const GS_8BIT_INDICES: DWORD = 0x00000001; -pub const GGI_MARK_NONEXISTING_GLYPHS: DWORD = 0x0001; -extern "system" { - pub fn GetFontUnicodeRanges( - hdc: HDC, - lpgs: LPGLYPHSET, - ) -> DWORD; - pub fn GetGlyphIndicesA( - hdc: HDC, - lpstr: LPCSTR, - c: c_int, - pgi: LPWORD, - fl: DWORD, - ) -> DWORD; - pub fn GetGlyphIndicesW( - hdc: HDC, - lpstr: LPCWSTR, - c: c_int, - pgi: LPWORD, - fl: DWORD, - ) -> DWORD; - pub fn GetTextExtentPointI( - hdc: HDC, - pgiIn: LPWORD, - cgi: c_int, - psize: LPSIZE, - ) -> BOOL; - pub fn GetTextExtentExPointI( - hdc: HDC, - lpwszString: LPWORD, - cwchString: c_int, - nMaxExtent: c_int, - lpnFit: LPINT, - lpnDx: LPINT, - lpSize: LPSIZE, - ) -> BOOL; - pub fn GetCharWidthI( - hdc: HDC, - giFirst: UINT, - cgi: UINT, - pgi: LPWORD, - piWidths: LPINT, - ) -> BOOL; - pub fn GetCharABCWidthsI( - hdc: HDC, - giFirst: UINT, - cgi: UINT, - pgi: LPWORD, - pabc: LPABC, - ) -> BOOL; -} -pub const STAMP_DESIGNVECTOR: DWORD = 0x8000000 + 0x64 + (0x76 << 8); -pub const STAMP_AXESLIST: DWORD = 0x8000000 + 0x61 + (0x6c << 8); -pub const STAMP_TRUETYPE_VARIATION: DWORD = 0x8000000 + 0x74 + (0x76 << 8); -pub const MM_MAX_NUMAXES: usize = 16; -STRUCT!{struct DESIGNVECTOR { - dvReserved: DWORD, - dvNumAxes: DWORD, - dvValues: [LONG; MM_MAX_NUMAXES], -}} -pub type PDESIGNVECTOR = *mut DESIGNVECTOR; -pub type LPDESIGNVECTOR = *mut DESIGNVECTOR; -extern "system" { - pub fn AddFontResourceExA( - lpszFilename: LPCSTR, - fl: DWORD, - pdv: PVOID, - ) -> c_int; - pub fn AddFontResourceExW( - lpszFilename: LPCWSTR, - fl: DWORD, - pdv: PVOID, - ) -> c_int; - pub fn RemoveFontResourceExA( - name: LPCSTR, - fl: DWORD, - pdv: PVOID, - ) -> BOOL; - pub fn RemoveFontResourceExW( - name: LPCWSTR, - fl: DWORD, - pdv: PVOID, - ) -> BOOL; - pub fn AddFontMemResourceEx( - pbFont: PVOID, - cbSize: DWORD, - pdv: PVOID, - pcFonts: *mut DWORD, - ) -> HANDLE; - pub fn RemoveFontMemResourceEx( - h: HANDLE, - ) -> BOOL; -} -pub const FR_PRIVATE: DWORD = 0x10; -pub const FR_NOT_ENUM: DWORD = 0x20; -pub const MM_MAX_AXES_NAMELEN: usize = 16; -STRUCT!{struct AXISINFOA { - axMinValue: LONG, - axMaxValue: LONG, - axAxisName: [BYTE; MM_MAX_AXES_NAMELEN], -}} -pub type PAXISINFOA = *mut AXISINFOA; -pub type LPAXISINFOA = *mut AXISINFOA; -STRUCT!{struct AXISINFOW { - axMinValue: LONG, - axMaxValue: LONG, - axAxisName: [WCHAR; MM_MAX_AXES_NAMELEN], -}} -pub type PAXISINFOW = *mut AXISINFOW; -pub type LPAXISINFOW = *mut AXISINFOW; -STRUCT!{struct AXESLISTA { - axlReserved: DWORD, - axlNumAxes: DWORD, - axlAxisInfo: [AXISINFOA; MM_MAX_AXES_NAMELEN], -}} -pub type PAXESLISTA = *mut AXESLISTA; -pub type LPAXESLISTA = *mut AXESLISTA; -STRUCT!{struct AXESLISTW { - axlReserved: DWORD, - axlNumAxes: DWORD, - axlAxisInfo: [AXISINFOW; MM_MAX_AXES_NAMELEN], -}} -pub type PAXESLISTW = *mut AXESLISTW; -pub type LPAXESLISTW = *mut AXESLISTW; -STRUCT!{struct ENUMLOGFONTEXDVA { - elfEnumLogfontEx: ENUMLOGFONTEXA, - elfDesignVector: DESIGNVECTOR, -}} -pub type PENUMLOGFONTEXDVA = *mut ENUMLOGFONTEXDVA; -pub type LPENUMLOGFONTEXDVA = *mut ENUMLOGFONTEXDVA; -STRUCT!{struct ENUMLOGFONTEXDVW { - elfEnumLogfontEx: ENUMLOGFONTEXW, - elfDesignVector: DESIGNVECTOR, -}} -pub type PENUMLOGFONTEXDVW = *mut ENUMLOGFONTEXDVW; -pub type LPENUMLOGFONTEXDVW = *mut ENUMLOGFONTEXDVW; -extern "system" { - pub fn CreateFontIndirectExA( - penumlfex: *const ENUMLOGFONTEXDVA, - ) -> HFONT; - pub fn CreateFontIndirectExW( - penumlfex: *const ENUMLOGFONTEXDVW, - ) -> HFONT; -} -STRUCT!{struct ENUMTEXTMETRICA { - etmNewTextMetricEx: NEWTEXTMETRICEXA, - etmAxesList: AXESLISTA, -}} -pub type PENUMTEXTMETRICA = *mut ENUMTEXTMETRICA; -pub type LPENUMTEXTMETRICA = *mut ENUMTEXTMETRICA; -STRUCT!{struct ENUMTEXTMETRICW { - etmNewTextMetricEx: NEWTEXTMETRICEXW, - etmAxesList: AXESLISTW, -}} -pub type PENUMTEXTMETRICW = *mut ENUMTEXTMETRICW; -pub type LPENUMTEXTMETRICW = *mut ENUMTEXTMETRICW; -extern "system" { - pub fn GetViewportExtEx( - hdc: HDC, - lpsize: LPSIZE, - ) -> BOOL; - pub fn GetViewportOrgEx( - hdc: HDC, - lppoint: LPPOINT, - ) -> BOOL; - pub fn GetWindowExtEx( - hdc: HDC, - lpsize: LPSIZE, - ) -> BOOL; - pub fn GetWindowOrgEx( - hdc: HDC, - lppoint: LPPOINT, - ) -> BOOL; - pub fn IntersectClipRect( - hdc: HDC, - left: c_int, - top: c_int, - right: c_int, - bottom: c_int, - ) -> c_int; - pub fn InvertRgn( - hdc: HDC, - hrgn: HRGN, - ) -> BOOL; - pub fn LineDDA( - nXStart: c_int, - nYStart: c_int, - nXEnd: c_int, - nYEnd: c_int, - lpLineFunc: LINEDDAPROC, - lpData: LPARAM, - ) -> BOOL; - pub fn LineTo( - hdc: HDC, - nXEnd: c_int, - nYEnd: c_int, - ) -> BOOL; - pub fn MaskBlt( - hdcDest: HDC, - xDest: c_int, - yDest: c_int, - width: c_int, - height: c_int, - hdcSrc: HDC, - xSrc: c_int, - ySrc: c_int, - hbmMask: HBITMAP, - xMask: c_int, - yMask: c_int, - rop: DWORD, - ) -> BOOL; - pub fn PlgBlt( - hdcDest: HDC, - lpPoint: *const POINT, - hdcSrc: HDC, - xSrc: c_int, - ySrc: c_int, - width: c_int, - height: c_int, - hbmMask: HBITMAP, - xMask: c_int, - yMask: c_int, - ) -> BOOL; - pub fn OffsetClipRgn( - hdc: HDC, - x: c_int, - y: c_int, - ) -> c_int; - pub fn OffsetRgn( - hrgn: HRGN, - x: c_int, - y: c_int, - ) -> c_int; - pub fn PatBlt( - hdc: HDC, - nXLeft: c_int, - nYLeft: c_int, - nWidth: c_int, - nHeight: c_int, - dwRop: DWORD, - ) -> BOOL; - pub fn Pie( - hdc: HDC, - nLeftRect: c_int, - nTopRect: c_int, - nRightRect: c_int, - nBottomRect: c_int, - nXRadial1: c_int, - nYRadial1: c_int, - nXRadial2: c_int, - nYRadial2: c_int, - ) -> BOOL; - pub fn PlayMetaFile( - hdc: HDC, - hmf: HMETAFILE, - ) -> BOOL; - pub fn PaintRgn( - hdc: HDC, - hrgn: HRGN, - ) -> BOOL; - pub fn PolyPolygon( - hdc: HDC, - lpPoints: *const POINT, - lpPolyCounts: *const INT, - cCount: DWORD, - ) -> BOOL; - pub fn PtInRegion( - hrgn: HRGN, - x: c_int, - y: c_int, - ) -> BOOL; - pub fn PtVisible( - hdc: HDC, - x: c_int, - y: c_int, - ) -> BOOL; - pub fn RectInRegion( - hrgn: HRGN, - lprect: *const RECT, - ) -> BOOL; - pub fn RectVisible( - hdc: HDC, - lprect: *const RECT, - ) -> BOOL; - pub fn Rectangle( - hdc: HDC, - left: c_int, - top: c_int, - right: c_int, - bottom: c_int, - ) -> BOOL; - pub fn RestoreDC( - hdc: HDC, - nSavedDC: c_int, - ) -> BOOL; - pub fn ResetDCA( - hdc: HDC, - lpdm: *const DEVMODEA, - ) -> HDC; - pub fn ResetDCW( - hdc: HDC, - lpdm: *const DEVMODEW, - ) -> HDC; - pub fn RealizePalette( - hdc: HDC, - ) -> UINT; - pub fn RemoveFontResourceA( - lpFileName: LPCSTR, - ) -> BOOL; - pub fn RemoveFontResourceW( - lpFileName: LPCWSTR, - ) -> BOOL; - pub fn RoundRect( - hdc: HDC, - nLeftRect: c_int, - nTopRect: c_int, - nRightRect: c_int, - nBottomRect: c_int, - nWidth: c_int, - nHeight: c_int, - ) -> BOOL; - pub fn ResizePalette( - hpal: HPALETTE, - n: UINT, - ) -> BOOL; - pub fn SaveDC( - hdc: HDC, - ) -> c_int; - pub fn SelectClipRgn( - hdc: HDC, - hrgn: HRGN, - ) -> c_int; - pub fn ExtSelectClipRgn( - hdc: HDC, - hrgn: HRGN, - mode: c_int, - ) -> c_int; - pub fn SetMetaRgn( - hdc: HDC, - ) -> c_int; - pub fn SelectObject( - hdc: HDC, - h: HGDIOBJ, - ) -> HGDIOBJ; - pub fn SelectPalette( - hdc: HDC, - hPal: HPALETTE, - bForceBkgd: BOOL, - ) -> HPALETTE; - pub fn SetBkColor( - hdc: HDC, - color: COLORREF, - ) -> COLORREF; - pub fn SetDCBrushColor( - hdc: HDC, - color: COLORREF, - ) -> COLORREF; - pub fn SetDCPenColor( - hdc: HDC, - color: COLORREF, - ) -> COLORREF; - pub fn SetBkMode( - hdc: HDC, - mode: c_int, - ) -> c_int; - pub fn SetBitmapBits( - hbm: HBITMAP, - cb: DWORD, - pvBits: *const VOID, - ) -> LONG; - pub fn SetBoundsRect( - hdc: HDC, - lprect: *const RECT, - flags: UINT, - ) -> UINT; - pub fn SetDIBits( - hdc: HDC, - hbm: HBITMAP, - start: UINT, - cLines: UINT, - lpBits: *const VOID, - lpbmi: *const BITMAPINFO, - ColorUse: UINT, - ) -> c_int; - pub fn SetDIBitsToDevice( - hdc: HDC, - xDest: c_int, - yDest: c_int, - w: DWORD, - h: DWORD, - xSrc: c_int, - ySrc: c_int, - StartScan: UINT, - cLines: UINT, - lpvBits: *const VOID, - lpbmi: *const BITMAPINFO, - ColorUse: UINT, - ) -> c_int; - pub fn SetMapperFlags( - hdc: HDC, - flags: DWORD, - ) -> DWORD; - pub fn SetGraphicsMode( - hdc: HDC, - iMode: c_int, - ) -> c_int; - pub fn SetMapMode( - hdc: HDC, - mode: c_int, - ) -> c_int; - pub fn SetLayout( - hdc: HDC, - l: DWORD, - ) -> DWORD; - pub fn GetLayout( - hdc: HDC, - ) -> DWORD; - pub fn SetMetaFileBitsEx( - cbBuffer: UINT, - lpData: *const BYTE, - ) -> HMETAFILE; - pub fn SetPaletteEntries( - hpal: HPALETTE, - iStart: UINT, - cEntries: UINT, - pPalEntries: *const PALETTEENTRY, - ) -> UINT; - pub fn SetPixel( - hdc: HDC, - x: c_int, - y: c_int, - color: COLORREF, - ) -> COLORREF; - pub fn SetPixelV( - hdc: HDC, - x: c_int, - y: c_int, - color: COLORREF, - ) -> BOOL; - pub fn SetPixelFormat( - hdc: HDC, - iPixelFormat: c_int, - ppfd: *const PIXELFORMATDESCRIPTOR, - ) -> BOOL; - pub fn SetPolyFillMode( - hdc: HDC, - iPolyFillMode: c_int, - ) -> c_int; - pub fn StretchBlt( - hdcDest: HDC, - xDest: c_int, - yDest: c_int, - wDest: c_int, - hDest: c_int, - hdcSrc: HDC, - xSrc: c_int, - ySrc: c_int, - wSrc: c_int, - hSrc: c_int, - rop: DWORD, - ) -> BOOL; - pub fn SetRectRgn( - hrgn: HRGN, - left: c_int, - top: c_int, - right: c_int, - bottom: c_int, - ) -> BOOL; - pub fn StretchDIBits( - hdc: HDC, - XDest: c_int, - YDest: c_int, - nDestWidth: c_int, - nDestHeight: c_int, - XSrc: c_int, - YSrc: c_int, - nSrcWidth: c_int, - nSrcHeight: c_int, - lpBits: *const VOID, - lpBitsInfo: *const BITMAPINFO, - iUsage: UINT, - dwRop: DWORD, - ) -> c_int; - pub fn SetROP2( - hdc: HDC, - rop2: c_int, - ) -> c_int; - pub fn SetStretchBltMode( - hdc: HDC, - mode: c_int, - ) -> c_int; - pub fn SetSystemPaletteUse( - hdc: HDC, - uuse: UINT, - ) -> UINT; - pub fn SetTextCharacterExtra( - hdc: HDC, - extra: c_int, - ) -> c_int; - pub fn SetTextColor( - hdc: HDC, - color: COLORREF, - ) -> COLORREF; - pub fn SetTextAlign( - hdc: HDC, - align: UINT, - ) -> UINT; - pub fn SetTextJustification( - hdc: HDC, - extra: c_int, - count: c_int, - ) -> BOOL; - pub fn UpdateColors( - hdc: HDC, - ) -> BOOL; -} -pub type COLOR16 = c_ushort; -STRUCT!{struct TRIVERTEX { - x: LONG, - y: LONG, - Red: COLOR16, - Green: COLOR16, - Blue: COLOR16, - Alpha: COLOR16, -}} -pub type PTRIVERTEX = *mut TRIVERTEX; -pub type LPTRIVERTEX = *mut TRIVERTEX; -STRUCT!{struct GRADIENT_RECT { - UpperLeft: ULONG, - LowerRight: ULONG, -}} -pub type PGRADIENT_RECT = *mut GRADIENT_RECT; -pub type LPGRADIENT_RECT = *mut GRADIENT_RECT; -STRUCT!{struct BLENDFUNCTION { - BlendOp: BYTE, - BlendFlags: BYTE, - SourceConstantAlpha: BYTE, - AlphaFormat: BYTE, -}} -pub type PBLENDFUNCTION = *mut BLENDFUNCTION; -pub const AC_SRC_OVER: BYTE = 0x00; -pub const AC_SRC_ALPHA: BYTE = 0x01; -extern "system" { - pub fn AlphaBlend( - hdcDest: HDC, - xoriginDest: c_int, - yoriginDest: c_int, - wDest: c_int, - hDest: c_int, - hdcSrc: HDC, - xoriginSrc: c_int, - yoriginSrc: c_int, - wSrc: c_int, - hSrc: c_int, - ftn: BLENDFUNCTION, - ) -> BOOL; - pub fn TransparentBlt( - hdcDest: HDC, - xoriginDest: c_int, - yoriginDest: c_int, - wDest: c_int, - hDest: c_int, - hdcSrc: HDC, - xoriginSrc: c_int, - yoriginSrc: c_int, - wSrc: c_int, - hSrc: c_int, - crTransparent: UINT, - ) -> BOOL; -} -pub const GRADIENT_FILL_RECT_H: ULONG = 0x00000000; -pub const GRADIENT_FILL_RECT_V: ULONG = 0x00000001; -pub const GRADIENT_FILL_TRIANGLE: ULONG = 0x00000002; -pub const GRADIENT_FILL_OP_FLAG: ULONG = 0x000000ff; -extern "system" { - pub fn GradientFill( - hdc: HDC, - pVertex: PTRIVERTEX, - nVertex: ULONG, - pMesh: PVOID, - nMesh: ULONG, - ulMode: ULONG, - ) -> BOOL; - pub fn GdiAlphaBlend( - hdcDest: HDC, - xoriginDest: c_int, - yoriginDest: c_int, - wDest: c_int, - hDest: c_int, - hdcSrc: HDC, - xoriginSrc: c_int, - yoriginSrc: c_int, - wSrc: c_int, - hSrc: c_int, - ftn: BLENDFUNCTION, - ) -> BOOL; - pub fn GdiTransparentBlt( - hdcDest: HDC, - xoriginDest: c_int, - yoriginDest: c_int, - wDest: c_int, - hDest: c_int, - hdcSrc: HDC, - xoriginSrc: c_int, - yoriginSrc: c_int, - wSrc: c_int, - hSrc: c_int, - crTransparent: UINT, - ) -> BOOL; - pub fn GdiGradientFill( - hdc: HDC, - pVertex: PTRIVERTEX, - nVertex: ULONG, - pMesh: PVOID, - nCount: ULONG, - ulMode: ULONG, - ) -> BOOL; - pub fn PlayMetaFileRecord( - hdc: HDC, - lpHandleTable: LPHANDLETABLE, - lpMR: LPMETARECORD, - noObjs: UINT, - ) -> BOOL; -} -FN!{stdcall MFENUMPROC( - hdc: HDC, - lpht: *mut HANDLETABLE, - lpMR: *mut METARECORD, - nObj: c_int, - param: LPARAM, -) -> c_int} -extern "system" { - pub fn EnumMetaFile( - hdc: HDC, - hmf: HMETAFILE, - mproc: MFENUMPROC, - param: LPARAM, - ) -> BOOL; -} -FN!{stdcall ENHMFENUMPROC( - hdc: HDC, - lpht: *mut HANDLETABLE, - lpmr: *const ENHMETARECORD, - nHandles: c_int, - data: LPARAM, -) -> c_int} -extern "system" { - pub fn CloseEnhMetaFile( - hdc: HDC, - ) -> HENHMETAFILE; - pub fn CopyEnhMetaFileA( - hemfSrc: HENHMETAFILE, - lpszFile: LPCSTR, - ) -> HENHMETAFILE; - pub fn CopyEnhMetaFileW( - hemfSrc: HENHMETAFILE, - lpszFile: LPCWSTR, - ) -> HENHMETAFILE; - pub fn CreateEnhMetaFileA( - hdcRef: HDC, - lpFilename: LPCSTR, - lpRect: *const RECT, - lpDescription: LPCSTR, - ) -> HDC; - pub fn CreateEnhMetaFileW( - hdcRef: HDC, - lpFilename: LPCWSTR, - lpRect: *const RECT, - lpDescription: LPCWSTR, - ) -> HDC; - pub fn DeleteEnhMetaFile( - hmf: HENHMETAFILE, - ) -> BOOL; - pub fn EnumEnhMetaFile( - hdc: HDC, - hmf: HENHMETAFILE, - lpProc: ENHMFENUMPROC, - param: LPVOID, - lpRect: *const RECT, - ) -> BOOL; - pub fn GetEnhMetaFileA( - lpName: LPCSTR, - ) -> HENHMETAFILE; - pub fn GetEnhMetaFileW( - lpName: LPCWSTR, - ) -> HENHMETAFILE; - pub fn GetEnhMetaFileBits( - hEMF: HENHMETAFILE, - nSize: UINT, - lpData: LPBYTE, - ) -> UINT; - pub fn GetEnhMetaFileDescriptionA( - hemf: HENHMETAFILE, - cchBuffer: UINT, - lpDescription: LPSTR, - ) -> UINT; - pub fn GetEnhMetaFileDescriptionW( - hemf: HENHMETAFILE, - cchBuffer: UINT, - lpDescription: LPWSTR, - ) -> UINT; - pub fn GetEnhMetaFileHeader( - hemf: HENHMETAFILE, - nSize: UINT, - lpEnhMetaHeader: LPENHMETAHEADER, - ) -> UINT; - pub fn GetEnhMetaFilePaletteEntries( - hemf: HENHMETAFILE, - nNumEntries: UINT, - lpPaletteEntries: LPPALETTEENTRY, - ) -> UINT; - pub fn GetEnhMetaFilePixelFormat( - hemf: HENHMETAFILE, - cbBuffer: UINT, - ppfd: *mut PIXELFORMATDESCRIPTOR, - ) -> UINT; - pub fn GetWinMetaFileBits( - hemf: HENHMETAFILE, - cbData16: UINT, - pData16: LPBYTE, - iMapMode: INT, - hdcRef: HDC, - ) -> UINT; - pub fn PlayEnhMetaFile( - hdc: HDC, - hmf: HENHMETAFILE, - lprect: *const RECT, - ) -> BOOL; - pub fn PlayEnhMetaFileRecord( - hdc: HDC, - pht: LPHANDLETABLE, - pmr: *const ENHMETARECORD, - cht: UINT, - ) -> BOOL; - pub fn SetEnhMetaFileBits( - nSize: UINT, - pb: *const BYTE, - ) -> HENHMETAFILE; - pub fn SetWinMetaFileBits( - nSize: UINT, - lpMeta16Data: *const BYTE, - hdcRef: HDC, - lpMFP: *const METAFILEPICT, - ) -> HENHMETAFILE; - pub fn GdiComment( - hdc: HDC, - nSize: UINT, - lpData: *const BYTE, - ) -> BOOL; - pub fn GetTextMetricsA( - hdc: HDC, - lptm: LPTEXTMETRICA, - ) -> BOOL; - pub fn GetTextMetricsW( - hdc: HDC, - lptm: *mut TEXTMETRICW, - ) -> BOOL; -} -STRUCT!{struct DIBSECTION { - dsBm: BITMAP, - dsBmih: BITMAPINFOHEADER, - dsBitfields: [DWORD; 3], - dshSection: HANDLE, - dsOffset: DWORD, -}} -pub type PDIBSECTION = *mut DIBSECTION; -pub type LPDIBSECTION = *mut DIBSECTION; -extern "system" { - pub fn AngleArc( - hdc: HDC, - X: c_int, - Y: c_int, - dwRadius: DWORD, - eStartAngle: FLOAT, - eSweepAngle: FLOAT, - ) -> BOOL; - pub fn PolyPolyline( - hdc: HDC, - lppt: *const POINT, - lpdwPolyPoints: *const DWORD, - cCount: DWORD, - ) -> BOOL; - pub fn GetWorldTransform( - hdc: HDC, - lpxf: LPXFORM, - ) -> BOOL; - pub fn SetWorldTransform( - hdc: HDC, - lpxf: *const XFORM, - ) -> BOOL; - pub fn ModifyWorldTransform( - hdc: HDC, - lpxf: *const XFORM, - mode: DWORD, - ) -> BOOL; - pub fn CombineTransform( - lpxformResult: LPXFORM, - lpxform1: *const XFORM, - lpxform2: *const XFORM, - ) -> BOOL; -} -#[inline] -pub fn GDI_WIDTHBYTES(bits: DWORD) -> DWORD { - ((bits + 31) & !31) / 8 -} -#[inline] -pub fn GDI_DIBWIDTHBYTES(bi: &BITMAPINFOHEADER) -> DWORD { - GDI_WIDTHBYTES((bi.biWidth as DWORD) * (bi.biBitCount as DWORD)) -} -#[inline] -pub fn GDI__DIBSIZE(bi: &BITMAPINFOHEADER) -> DWORD { - GDI_DIBWIDTHBYTES(bi) * bi.biHeight as DWORD -} -#[inline] -pub fn GDI_DIBSIZE(bi: &BITMAPINFOHEADER) -> DWORD { - if bi.biHeight < 0 { - GDI__DIBSIZE(bi) * -1i32 as u32 - } else { - GDI__DIBSIZE(bi) - } -} -extern "system" { - pub fn CreateDIBSection( - hdc: HDC, - lpbmi: *const BITMAPINFO, - usage: UINT, - ppvBits: *mut *mut c_void, - hSection: HANDLE, - offset: DWORD, - ) -> HBITMAP; - pub fn GetDIBColorTable( - hdc: HDC, - iStart: UINT, - cEntries: UINT, - prgbq: *mut RGBQUAD, - ) -> UINT; - pub fn SetDIBColorTable( - hdc: HDC, - iStart: UINT, - cEntries: UINT, - prgbq: *const RGBQUAD, - ) -> UINT; -} -pub const CA_NEGATIVE: WORD = 0x0001; -pub const CA_LOG_FILTER: WORD = 0x0002; -pub const ILLUMINANT_DEVICE_DEFAULT: WORD = 0; -pub const ILLUMINANT_A: WORD = 1; -pub const ILLUMINANT_B: WORD = 2; -pub const ILLUMINANT_C: WORD = 3; -pub const ILLUMINANT_D50: WORD = 4; -pub const ILLUMINANT_D55: WORD = 5; -pub const ILLUMINANT_D65: WORD = 6; -pub const ILLUMINANT_D75: WORD = 7; -pub const ILLUMINANT_F2: WORD = 8; -pub const ILLUMINANT_MAX_INDEX: WORD = ILLUMINANT_F2; -pub const ILLUMINANT_TUNGSTEN: WORD = ILLUMINANT_A; -pub const ILLUMINANT_DAYLIGHT: WORD = ILLUMINANT_C; -pub const ILLUMINANT_FLUORESCENT: WORD = ILLUMINANT_F2; -pub const ILLUMINANT_NTSC: WORD = ILLUMINANT_C; -pub const RGB_GAMMA_MIN: WORD = 0o2500; // FIXME It is octal in the headers but are the headers actually right? -pub const RGB_GAMMA_MAX: WORD = 65000; -pub const REFERENCE_WHITE_MIN: WORD = 6000; -pub const REFERENCE_WHITE_MAX: WORD = 10000; -pub const REFERENCE_BLACK_MIN: WORD = 0; -pub const REFERENCE_BLACK_MAX: WORD = 4000; -pub const COLOR_ADJ_MIN: SHORT = -100; -pub const COLOR_ADJ_MAX: SHORT = 100; -STRUCT!{struct COLORADJUSTMENT { - caSize: WORD, - caFlags: WORD, - caIlluminantIndex: WORD, - caRedGamma: WORD, - caGreenGamma: WORD, - caBlueGamma: WORD, - caReferenceBlack: WORD, - caReferenceWhite: WORD, - caContrast: SHORT, - caBrightness: SHORT, - caColorfulness: SHORT, - caRedGreenTint: SHORT, -}} -pub type PCOLORADJUSTMENT = *mut COLORADJUSTMENT; -pub type LPCOLORADJUSTMENT = *mut COLORADJUSTMENT; -extern "system" { - pub fn SetColorAdjustment( - hdc: HDC, - lpca: *const COLORADJUSTMENT, - ) -> BOOL; - pub fn GetColorAdjustment( - hdc: HDC, - lpca: LPCOLORADJUSTMENT, - ) -> BOOL; - pub fn CreateHalftonePalette( - hdc: HDC, - ) -> HPALETTE; -} -FN!{stdcall ABORTPROC( - HDC, - c_int, -) -> BOOL} -STRUCT!{struct DOCINFOA { - cbSize: c_int, - lpszDocName: LPCSTR, - lpszOutput: LPCSTR, - lpszDatatype: LPCSTR, - fwType: DWORD, -}} -pub type LPDOCINFOA = *mut DOCINFOA; -STRUCT!{struct DOCINFOW { - cbSize: c_int, - lpszDocName: LPCWSTR, - lpszOutput: LPCWSTR, - lpszDatatype: LPCWSTR, - fwType: DWORD, -}} -pub type LPDOCINFOW = *mut DOCINFOW; -pub const DI_APPBANDING: DWORD = 0x00000001; -pub const DI_ROPS_READ_DESTINATION: DWORD = 0x00000002; -extern "system" { - pub fn StartDocA( - hdc: HDC, - lpdi: *const DOCINFOA, - ) -> c_int; - pub fn StartDocW( - hdc: HDC, - lpdi: *const DOCINFOW, - ) -> c_int; - pub fn EndDoc( - hdc: HDC, - ) -> c_int; - pub fn StartPage( - hdc: HDC, - ) -> c_int; - pub fn EndPage( - hdc: HDC, - ) -> c_int; - pub fn AbortDoc( - hdc: HDC, - ) -> c_int; - pub fn SetAbortProc( - hdc: HDC, - aproc: ABORTPROC, - ) -> c_int; - pub fn AbortPath( - hdc: HDC, - ) -> BOOL; - pub fn ArcTo( - hdc: HDC, - nLeftRect: c_int, - nTopRect: c_int, - nRightRect: c_int, - nBottomRect: c_int, - nXRadial1: c_int, - nYRadial1: c_int, - nXRadial2: c_int, - nYRadial2: c_int, - ) -> BOOL; - pub fn BeginPath( - hdc: HDC, - ) -> BOOL; - pub fn CloseFigure( - hdc: HDC, - ) -> BOOL; - pub fn EndPath( - hdc: HDC, - ) -> BOOL; - pub fn FillPath( - hdc: HDC, - ) -> BOOL; - pub fn FlattenPath( - hdc: HDC, - ) -> BOOL; - pub fn GetPath( - hdc: HDC, - apt: LPPOINT, - aj: LPBYTE, - cpt: c_int, - ) -> c_int; - pub fn PathToRegion( - hdc: HDC, - ) -> HRGN; - pub fn PolyDraw( - hdc: HDC, - lppt: *const POINT, - lpbTypes: *const BYTE, - cCount: c_int, - ) -> BOOL; - pub fn SelectClipPath( - hdc: HDC, - mode: c_int, - ) -> BOOL; - pub fn SetArcDirection( - hdc: HDC, - ArcDirection: c_int, - ) -> c_int; - pub fn SetMiterLimit( - hdc: HDC, - limit: FLOAT, - old: PFLOAT, - ) -> BOOL; - pub fn StrokeAndFillPath( - hdc: HDC, - ) -> BOOL; - pub fn StrokePath( - hdc: HDC, - ) -> BOOL; - pub fn WidenPath( - hdc: HDC, - ) -> BOOL; - pub fn ExtCreatePen( - iPenStyle: DWORD, - cWidth: DWORD, - plbrush: *const LOGBRUSH, - cStyle: DWORD, - pstyle: *const DWORD, - ) -> HPEN; - pub fn GetMiterLimit( - hdc: HDC, - plimit: PFLOAT, - ) -> BOOL; - pub fn GetArcDirection( - hdc: HDC, - ) -> c_int; - pub fn GetObjectA( - h: HANDLE, - c: c_int, - pv: LPVOID, - ) -> c_int; - pub fn GetObjectW( - h: HANDLE, - c: c_int, - pv: LPVOID, - ) -> c_int; - pub fn MoveToEx( - hdc: HDC, - X: c_int, - Y: c_int, - lpPoint:LPPOINT, - ) -> BOOL; - pub fn TextOutA( - hdc: HDC, - x: c_int, - y: c_int, - lpString: LPCSTR, - c: c_int, - ) -> BOOL; - pub fn TextOutW( - hdc: HDC, - x: c_int, - y: c_int, - lpString: LPCWSTR, - c: c_int, - ) -> BOOL; - pub fn ExtTextOutA( - hdc: HDC, - x: c_int, - y: c_int, - options: UINT, - lprect: *const RECT, - lpString: LPCSTR, - c: UINT, - lpDx: *const INT, - ) -> BOOL; - pub fn ExtTextOutW( - hdc: HDC, - x: c_int, - y: c_int, - options: UINT, - lprect: *const RECT, - lpString: LPCWSTR, - c: UINT, - lpDx: *const INT, - ) -> BOOL; - pub fn PolyTextOutA( - hdc: HDC, - ppt: *const POLYTEXTA, - nstrings: c_int, - ) -> BOOL; - pub fn PolyTextOutW( - hdc: HDC, - ppt: *const POLYTEXTW, - nstrings: c_int, - ) -> BOOL; - pub fn CreatePolygonRgn( - lppt: *const POINT, - cPoints: c_int, - fnPolyFillMode: c_int, - ) -> HRGN; - pub fn DPtoLP( - hdc: HDC, - lppt: *mut POINT, - c: c_int, - ) -> BOOL; - pub fn LPtoDP( - hdc: HDC, - lppt: LPPOINT, - c: c_int, - ) -> BOOL; - pub fn Polygon( - hdc: HDC, - lpPoints: *const POINT, - nCount: c_int, - ) -> BOOL; - pub fn Polyline( - hdc: HDC, - lppt: *const POINT, - cCount: c_int, - ) -> BOOL; - pub fn PolyBezier( - hdc: HDC, - lppt: *const POINT, - cPoints: DWORD, - ) -> BOOL; - pub fn PolyBezierTo( - hdc: HDC, - lppt: *const POINT, - cPoints: DWORD, - ) -> BOOL; - pub fn PolylineTo( - hdc: HDC, - lppt: *const POINT, - cCount: DWORD, - ) -> BOOL; - pub fn SetViewportExtEx( - hdc: HDC, - x: c_int, - y: c_int, - lpsz: LPSIZE, - ) -> BOOL; - pub fn SetViewportOrgEx( - hdc: HDC, - x: c_int, - y: c_int, - lppt: *mut POINT, - ) -> BOOL; - pub fn SetWindowExtEx( - hdc: HDC, - x: c_int, - y: c_int, - lppt: LPSIZE, - ) -> BOOL; - pub fn SetWindowOrgEx( - hdc: HDC, - x: c_int, - y: c_int, - lppt: LPPOINT, - ) -> BOOL; - pub fn OffsetViewportOrgEx( - hdc: HDC, - x: c_int, - y: c_int, - lppt: LPPOINT, - ) -> BOOL; - pub fn OffsetWindowOrgEx( - hdc: HDC, - x: c_int, - y: c_int, - lppt: LPPOINT, - ) -> BOOL; - pub fn ScaleViewportExtEx( - hdc: HDC,xn: c_int, - dx: c_int, - yn: c_int, - yd: c_int, - lpsz: LPSIZE, - ) -> BOOL; - pub fn ScaleWindowExtEx( - hdc: HDC, - xn: c_int, - xd: c_int, - yn: c_int, - yd: c_int, - lpsz: LPSIZE, - ) -> BOOL; - pub fn SetBitmapDimensionEx( - hbm: HBITMAP, - w: c_int, - h: c_int, - lpsz: LPSIZE, - ) -> BOOL; - pub fn SetBrushOrgEx( - hdc: HDC, - x: c_int, - y: c_int, - lppt: LPPOINT, - ) -> BOOL; - pub fn GetTextFaceA( - hdc: HDC, - c: c_int, - lpName: LPSTR, - ) -> c_int; - pub fn GetTextFaceW( - hdc: HDC, - c: c_int, - lpName: LPWSTR, - ) -> c_int; -} -STRUCT!{struct KERNINGPAIR { - wFirst: WORD, - wSecond: WORD, - iKernAmount: c_int, -}} -pub type LPKERNINGPAIR = *mut KERNINGPAIR; -extern "system" { - pub fn GetKerningPairsA( - hdc: HDC, - nPairs: DWORD, - lpKernPair: LPKERNINGPAIR, - ) -> DWORD; - pub fn GetKerningPairsW( - hdc: HDC, - nPairs: DWORD, - lpKernPair: LPKERNINGPAIR, - ) -> DWORD; - pub fn GetDCOrgEx( - hdc: HDC, - lppt: LPPOINT, - ) -> BOOL; - pub fn FixBrushOrgEx( - hdc: HDC, - x: c_int, - y: c_int, - ptl: LPPOINT, - ) -> BOOL; - pub fn UnrealizeObject( - h: HGDIOBJ, - ) -> BOOL; - pub fn GdiFlush() -> BOOL; - pub fn GdiSetBatchLimit( - dw: DWORD, - ) -> DWORD; - pub fn GdiGetBatchLimit() -> DWORD; -} -pub const ICM_OFF: c_int = 1; -pub const ICM_ON: c_int = 2; -pub const ICM_QUERY: c_int = 3; -pub const ICM_DONE_OUTSIDEDC: c_int = 4; -FN!{stdcall ICMENUMPROCA( - LPSTR, - LPARAM, -) -> c_int} -FN!{stdcall ICMENUMPROCW( - LPWSTR, - LPARAM, -) -> c_int} -extern "system" { - pub fn SetICMMode( - hdc: HDC, - mode: c_int, - ) -> c_int; - pub fn CheckColorsInGamut( - hDC: HDC, - lpRGBTriples: LPVOID, - lpBuffer: LPVOID, - nCount: UINT, - ) -> BOOL; - pub fn GetColorSpace( - hdc: HDC, - ) -> HCOLORSPACE; - pub fn GetLogColorSpaceA( - hColorSpace: HCOLORSPACE, - lpBuffer: LPLOGCOLORSPACEA, - nSize: DWORD, - ) -> BOOL; - pub fn GetLogColorSpaceW( - hColorSpace: HCOLORSPACE, - lpBuffer: LPLOGCOLORSPACEW, - nSize: DWORD, - ) -> BOOL; - pub fn CreateColorSpaceA( - lpLogColorSpace: LPLOGCOLORSPACEA, - ) -> HCOLORSPACE; - pub fn CreateColorSpaceW( - lpLogColorSpace: LPLOGCOLORSPACEW, - ) -> HCOLORSPACE; - pub fn SetColorSpace( - hdc: HDC, - hcs: HCOLORSPACE, - ) -> HCOLORSPACE; - pub fn DeleteColorSpace( - hcs: HCOLORSPACE, - ) -> BOOL; - pub fn GetICMProfileA( - hdc: HDC, - pBufSize: LPDWORD, - pszFilename: LPSTR, - ) -> BOOL; - pub fn GetICMProfileW( - hdc: HDC, - pBufSize: LPDWORD, - pszFilename: LPWSTR, - ) -> BOOL; - pub fn SetICMProfileA( - hdc: HDC, - lpFileName: LPSTR, - ) -> BOOL; - pub fn SetICMProfileW( - hdc: HDC, - lpFileName: LPWSTR, - ) -> BOOL; - pub fn GetDeviceGammaRamp( - hdc: HDC, - lpRamp: LPVOID, - ) -> BOOL; - pub fn SetDeviceGammaRamp( - hdc: HDC, - lpRamp: LPVOID, - ) -> BOOL; - pub fn ColorMatchToTarget( - hDC: HDC, - hdcTarget: HDC, - uiAction: UINT, - ) -> BOOL; - pub fn EnumICMProfilesA( - hdc: HDC, - iproc: ICMENUMPROCA, - param: LPARAM, - ) -> c_int; - pub fn EnumICMProfilesW( - hdc: HDC, - iproc: ICMENUMPROCW, - param: LPARAM, - ) -> c_int; - pub fn UpdateICMRegKeyA( - reserved: DWORD, - lpszCMID: LPSTR, - lpszFileName: LPSTR, - command: UINT, - ) -> BOOL; - pub fn UpdateICMRegKeyW( - reserved: DWORD, - lpszCMID: LPWSTR, - lpszFileName: LPWSTR, - command: UINT, - ) -> BOOL; - pub fn ColorCorrectPalette( - hDC: HDC, - hPalette: HPALETTE, - dwFirstEntry: DWORD, - dwNumOfEntries: DWORD, - ) -> BOOL; -} -pub const ENHMETA_SIGNATURE: DWORD = 0x464D4520; -pub const ENHMETA_STOCK_OBJECT: DWORD = 0x80000000; -pub const EMR_HEADER: DWORD = 1; -pub const EMR_POLYBEZIER: DWORD = 2; -pub const EMR_POLYGON: DWORD = 3; -pub const EMR_POLYLINE: DWORD = 4; -pub const EMR_POLYBEZIERTO: DWORD = 5; -pub const EMR_POLYLINETO: DWORD = 6; -pub const EMR_POLYPOLYLINE: DWORD = 7; -pub const EMR_POLYPOLYGON: DWORD = 8; -pub const EMR_SETWINDOWEXTEX: DWORD = 9; -pub const EMR_SETWINDOWORGEX: DWORD = 10; -pub const EMR_SETVIEWPORTEXTEX: DWORD = 11; -pub const EMR_SETVIEWPORTORGEX: DWORD = 12; -pub const EMR_SETBRUSHORGEX: DWORD = 13; -pub const EMR_EOF: DWORD = 14; -pub const EMR_SETPIXELV: DWORD = 15; -pub const EMR_SETMAPPERFLAGS: DWORD = 16; -pub const EMR_SETMAPMODE: DWORD = 17; -pub const EMR_SETBKMODE: DWORD = 18; -pub const EMR_SETPOLYFILLMODE: DWORD = 19; -pub const EMR_SETROP2: DWORD = 20; -pub const EMR_SETSTRETCHBLTMODE: DWORD = 21; -pub const EMR_SETTEXTALIGN: DWORD = 22; -pub const EMR_SETCOLORADJUSTMENT: DWORD = 23; -pub const EMR_SETTEXTCOLOR: DWORD = 24; -pub const EMR_SETBKCOLOR: DWORD = 25; -pub const EMR_OFFSETCLIPRGN: DWORD = 26; -pub const EMR_MOVETOEX: DWORD = 27; -pub const EMR_SETMETARGN: DWORD = 28; -pub const EMR_EXCLUDECLIPRECT: DWORD = 29; -pub const EMR_INTERSECTCLIPRECT: DWORD = 30; -pub const EMR_SCALEVIEWPORTEXTEX: DWORD = 31; -pub const EMR_SCALEWINDOWEXTEX: DWORD = 32; -pub const EMR_SAVEDC: DWORD = 33; -pub const EMR_RESTOREDC: DWORD = 34; -pub const EMR_SETWORLDTRANSFORM: DWORD = 35; -pub const EMR_MODIFYWORLDTRANSFORM: DWORD = 36; -pub const EMR_SELECTOBJECT: DWORD = 37; -pub const EMR_CREATEPEN: DWORD = 38; -pub const EMR_CREATEBRUSHINDIRECT: DWORD = 39; -pub const EMR_DELETEOBJECT: DWORD = 40; -pub const EMR_ANGLEARC: DWORD = 41; -pub const EMR_ELLIPSE: DWORD = 42; -pub const EMR_RECTANGLE: DWORD = 43; -pub const EMR_ROUNDRECT: DWORD = 44; -pub const EMR_ARC: DWORD = 45; -pub const EMR_CHORD: DWORD = 46; -pub const EMR_PIE: DWORD = 47; -pub const EMR_SELECTPALETTE: DWORD = 48; -pub const EMR_CREATEPALETTE: DWORD = 49; -pub const EMR_SETPALETTEENTRIES: DWORD = 50; -pub const EMR_RESIZEPALETTE: DWORD = 51; -pub const EMR_REALIZEPALETTE: DWORD = 52; -pub const EMR_EXTFLOODFILL: DWORD = 53; -pub const EMR_LINETO: DWORD = 54; -pub const EMR_ARCTO: DWORD = 55; -pub const EMR_POLYDRAW: DWORD = 56; -pub const EMR_SETARCDIRECTION: DWORD = 57; -pub const EMR_SETMITERLIMIT: DWORD = 58; -pub const EMR_BEGINPATH: DWORD = 59; -pub const EMR_ENDPATH: DWORD = 60; -pub const EMR_CLOSEFIGURE: DWORD = 61; -pub const EMR_FILLPATH: DWORD = 62; -pub const EMR_STROKEANDFILLPATH: DWORD = 63; -pub const EMR_STROKEPATH: DWORD = 64; -pub const EMR_FLATTENPATH: DWORD = 65; -pub const EMR_WIDENPATH: DWORD = 66; -pub const EMR_SELECTCLIPPATH: DWORD = 67; -pub const EMR_ABORTPATH: DWORD = 68; -pub const EMR_GDICOMMENT: DWORD = 70; -pub const EMR_FILLRGN: DWORD = 71; -pub const EMR_FRAMERGN: DWORD = 72; -pub const EMR_INVERTRGN: DWORD = 73; -pub const EMR_PAINTRGN: DWORD = 74; -pub const EMR_EXTSELECTCLIPRGN: DWORD = 75; -pub const EMR_BITBLT: DWORD = 76; -pub const EMR_STRETCHBLT: DWORD = 77; -pub const EMR_MASKBLT: DWORD = 78; -pub const EMR_PLGBLT: DWORD = 79; -pub const EMR_SETDIBITSTODEVICE: DWORD = 80; -pub const EMR_STRETCHDIBITS: DWORD = 81; -pub const EMR_EXTCREATEFONTINDIRECTW: DWORD = 82; -pub const EMR_EXTTEXTOUTA: DWORD = 83; -pub const EMR_EXTTEXTOUTW: DWORD = 84; -pub const EMR_POLYBEZIER16: DWORD = 85; -pub const EMR_POLYGON16: DWORD = 86; -pub const EMR_POLYLINE16: DWORD = 87; -pub const EMR_POLYBEZIERTO16: DWORD = 88; -pub const EMR_POLYLINETO16: DWORD = 89; -pub const EMR_POLYPOLYLINE16: DWORD = 90; -pub const EMR_POLYPOLYGON16: DWORD = 91; -pub const EMR_POLYDRAW16: DWORD = 92; -pub const EMR_CREATEMONOBRUSH: DWORD = 93; -pub const EMR_CREATEDIBPATTERNBRUSHPT: DWORD = 94; -pub const EMR_EXTCREATEPEN: DWORD = 95; -pub const EMR_POLYTEXTOUTA: DWORD = 96; -pub const EMR_POLYTEXTOUTW: DWORD = 97; -pub const EMR_SETICMMODE: DWORD = 98; -pub const EMR_CREATECOLORSPACE: DWORD = 99; -pub const EMR_SETCOLORSPACE: DWORD = 100; -pub const EMR_DELETECOLORSPACE: DWORD = 101; -pub const EMR_GLSRECORD: DWORD = 102; -pub const EMR_GLSBOUNDEDRECORD: DWORD = 103; -pub const EMR_PIXELFORMAT: DWORD = 104; -pub const EMR_RESERVED_105: DWORD = 105; -pub const EMR_RESERVED_106: DWORD = 106; -pub const EMR_RESERVED_107: DWORD = 107; -pub const EMR_RESERVED_108: DWORD = 108; -pub const EMR_RESERVED_109: DWORD = 109; -pub const EMR_RESERVED_110: DWORD = 110; -pub const EMR_COLORCORRECTPALETTE: DWORD = 111; -pub const EMR_SETICMPROFILEA: DWORD = 112; -pub const EMR_SETICMPROFILEW: DWORD = 113; -pub const EMR_ALPHABLEND: DWORD = 114; -pub const EMR_SETLAYOUT: DWORD = 115; -pub const EMR_TRANSPARENTBLT: DWORD = 116; -pub const EMR_RESERVED_117: DWORD = 117; -pub const EMR_GRADIENTFILL: DWORD = 118; -pub const EMR_RESERVED_119: DWORD = 119; -pub const EMR_RESERVED_120: DWORD = 120; -pub const EMR_COLORMATCHTOTARGETW: DWORD = 121; -pub const EMR_CREATECOLORSPACEW: DWORD = 122; -pub const EMR_MIN: DWORD = 1; -pub const EMR_MAX: DWORD = 122; -STRUCT!{struct EMR { - iType: DWORD, - nSize: DWORD, -}} -pub type PEMR = *mut EMR; -STRUCT!{struct EMRTEXT { - ptlReference: POINTL, - nChars: DWORD, - offString: DWORD, - fOptions: DWORD, - rcl: RECTL, - offDx: DWORD, -}} -pub type PEMRTEXT = *mut EMRTEXT; -STRUCT!{struct EMRABORTPATH { - emr: EMR, -}} -pub type PEMRABORTPATH = *mut EMRABORTPATH; -pub type EMRBEGINPATH = EMRABORTPATH; -pub type PEMRBEGINPATH = *mut EMRABORTPATH; -pub type EMRENDPATH = EMRABORTPATH; -pub type PEMRENDPATH = *mut EMRABORTPATH; -pub type EMRCLOSEFIGURE = EMRABORTPATH; -pub type PEMRCLOSEFIGURE = *mut EMRABORTPATH; -pub type EMRFLATTENPATH = EMRABORTPATH; -pub type PEMRFLATTENPATH = *mut EMRABORTPATH; -pub type EMRWIDENPATH = EMRABORTPATH; -pub type PEMRWIDENPATH = *mut EMRABORTPATH; -pub type EMRSETMETARGN = EMRABORTPATH; -pub type PEMRSETMETARGN = *mut EMRABORTPATH; -pub type EMRSAVEDC = EMRABORTPATH; -pub type PEMRSAVEDC = *mut EMRABORTPATH; -pub type EMRREALIZEPALETTE = EMRABORTPATH; -pub type PEMRREALIZEPALETTE = *mut EMRABORTPATH; -STRUCT!{struct EMRSELECTCLIPPATH { - emr: EMR, - iMode: DWORD, -}} -pub type PEMRSELECTCLIPPATH = *mut EMRSELECTCLIPPATH; -pub type EMRSETBKMODE = EMRSELECTCLIPPATH; -pub type PEMRSETBKMODE = *mut EMRSELECTCLIPPATH; -pub type EMRSETMAPMODE = EMRSELECTCLIPPATH; -pub type PEMRSETMAPMODE = *mut EMRSELECTCLIPPATH; -pub type EMRSETLAYOUT = EMRSELECTCLIPPATH; -pub type PEMRSETLAYOUT = *mut EMRSELECTCLIPPATH; -pub type EMRSETPOLYFILLMODE = EMRSELECTCLIPPATH; -pub type PEMRSETPOLYFILLMODE = *mut EMRSELECTCLIPPATH; -pub type EMRSETROP2 = EMRSELECTCLIPPATH; -pub type PEMRSETROP2 = *mut EMRSELECTCLIPPATH; -pub type EMRSETSTRETCHBLTMODE = EMRSELECTCLIPPATH; -pub type PEMRSETSTRETCHBLTMODE = *mut EMRSELECTCLIPPATH; -pub type EMRSETICMMODE = EMRSELECTCLIPPATH; -pub type PEMRSETICMMODE = *mut EMRSELECTCLIPPATH; -pub type EMRSETTEXTALIGN = EMRSELECTCLIPPATH; -pub type PEMRSETTEXTALIGN = *mut EMRSELECTCLIPPATH; -STRUCT!{struct EMRSETMITERLIMIT { - emr: EMR, - eMiterLimit: FLOAT, -}} -pub type PEMRSETMITERLIMIT = *mut EMRSETMITERLIMIT; -STRUCT!{struct EMRRESTOREDC { - emr: EMR, - iRelative: LONG, -}} -pub type PEMRRESTOREDC = *mut EMRRESTOREDC; -STRUCT!{struct EMRSETARCDIRECTION { - emr: EMR, - iArcDirection: DWORD, -}} -pub type PEMRSETARCDIRECTION = *mut EMRSETARCDIRECTION; -STRUCT!{struct EMRSETMAPPERFLAGS { - emr: EMR, - dwFlags: DWORD, -}} -pub type PEMRSETMAPPERFLAGS = *mut EMRSETMAPPERFLAGS; -STRUCT!{struct EMRSETBKCOLOR { - emr: EMR, - crColor: COLORREF, -}} -pub type PEMRSETBKCOLOR = *mut EMRSETBKCOLOR; -pub type EMRSETTEXTCOLOR = EMRSETBKCOLOR; -pub type PEMRSETTEXTCOLOR = *mut EMRSETBKCOLOR; -STRUCT!{struct EMRSELECTOBJECT { - emr: EMR, - ihObject: DWORD, -}} -pub type PEMRSELECTOBJECT = *mut EMRSELECTOBJECT; -pub type EMRDELETEOBJECT = EMRSELECTOBJECT; -pub type PEMRDELETEOBJECT = *mut EMRSELECTOBJECT; -STRUCT!{struct EMRSELECTPALETTE { - emr: EMR, - ihPal: DWORD, -}} -pub type PEMRSELECTPALETTE = *mut EMRSELECTPALETTE; -STRUCT!{struct EMRRESIZEPALETTE { - emr: EMR, - ihPal: DWORD, - cEntries: DWORD, -}} -pub type PEMRRESIZEPALETTE = *mut EMRRESIZEPALETTE; -STRUCT!{struct EMRSETPALETTEENTRIES { - emr: EMR, - ihPal: DWORD, - iStart: DWORD, - cEntries: DWORD, - aPalEntries: [PALETTEENTRY; 1], -}} -pub type PEMRSETPALETTEENTRIES = *mut EMRSETPALETTEENTRIES; -STRUCT!{struct EMRSETCOLORADJUSTMENT { - emr: EMR, - ColorAdjustment: COLORADJUSTMENT, -}} -pub type PEMRSETCOLORADJUSTMENT = *mut EMRSETCOLORADJUSTMENT; -STRUCT!{struct EMRGDICOMMENT { - emr: EMR, - cbData: DWORD, - Data: [BYTE; 1], -}} -pub type PEMRGDICOMMENT = *mut EMRGDICOMMENT; -STRUCT!{struct EMREOF { - emr: EMR, - nPalEntries: DWORD, - offPalEntries: DWORD, - nSizeLast: DWORD, -}} -pub type PEMREOF = *mut EMREOF; -STRUCT!{struct EMRLINETO { - emr: EMR, - ptl: POINTL, -}} -pub type PEMRLINETO = *mut EMRLINETO; -pub type EMRMOVETOEX = EMRLINETO; -pub type PEMRMOVETOEX = *mut EMRLINETO; -STRUCT!{struct EMROFFSETCLIPRGN { - emr: EMR, - ptlOffset: POINTL, -}} -pub type PEMROFFSETCLIPRGN = *mut EMROFFSETCLIPRGN; -STRUCT!{struct EMRFILLPATH { - emr: EMR, - rclBounds: RECTL, -}} -pub type PEMRFILLPATH = *mut EMRFILLPATH; -pub type EMRSTROKEANDFILLPATH = EMRFILLPATH; -pub type PEMRSTROKEANDFILLPATH = *mut EMRFILLPATH; -pub type EMRSTROKEPATH = EMRFILLPATH; -pub type PEMRSTROKEPATH = *mut EMRFILLPATH; -STRUCT!{struct EMREXCLUDECLIPRECT { - emr: EMR, - rclClip: RECTL, -}} -pub type PEMREXCLUDECLIPRECT = *mut EMREXCLUDECLIPRECT; -pub type EMRINTERSECTCLIPRECT = EMREXCLUDECLIPRECT; -pub type PEMRINTERSECTCLIPRECT = *mut EMREXCLUDECLIPRECT; -STRUCT!{struct EMRSETVIEWPORTORGEX { - emr: EMR, - ptlOrigin: POINTL, -}} -pub type PEMRSETVIEWPORTORGEX = *mut EMRSETVIEWPORTORGEX; -pub type EMRSETWINDOWORGEX = EMRSETVIEWPORTORGEX; -pub type PEMRSETWINDOWORGEX = *mut EMRSETVIEWPORTORGEX; -pub type EMRSETBRUSHORGEX = EMRSETVIEWPORTORGEX; -pub type PEMRSETBRUSHORGEX = *mut EMRSETVIEWPORTORGEX; -STRUCT!{struct EMRSETVIEWPORTEXTEX { - emr: EMR, - szlExtent: SIZEL, -}} -pub type PEMRSETVIEWPORTEXTEX = *mut EMRSETVIEWPORTEXTEX; -pub type EMRSETWINDOWEXTEX = EMRSETVIEWPORTEXTEX; -pub type PEMRSETWINDOWEXTEX = *mut EMRSETVIEWPORTEXTEX; -STRUCT!{struct EMRSCALEVIEWPORTEXTEX { - emr: EMR, - xNum: LONG, - xDenom: LONG, - yNum: LONG, - yDenom: LONG, -}} -pub type PEMRSCALEVIEWPORTEXTEX = *mut EMRSCALEVIEWPORTEXTEX; -pub type EMRSCALEWINDOWEXTEX = EMRSCALEVIEWPORTEXTEX; -pub type PEMRSCALEWINDOWEXTEX = *mut EMRSCALEVIEWPORTEXTEX; -STRUCT!{struct EMRSETWORLDTRANSFORM { - emr: EMR, - xform: XFORM, -}} -pub type PEMRSETWORLDTRANSFORM = *mut EMRSETWORLDTRANSFORM; -STRUCT!{struct EMRMODIFYWORLDTRANSFORM { - emr: EMR, - xform: XFORM, - iMode: DWORD, -}} -pub type PEMRMODIFYWORLDTRANSFORM = *mut EMRMODIFYWORLDTRANSFORM; -STRUCT!{struct EMRSETPIXELV { - emr: EMR, - ptlPixel: POINTL, - crColor: COLORREF, -}} -pub type PEMRSETPIXELV = *mut EMRSETPIXELV; -STRUCT!{struct EMREXTFLOODFILL { - emr: EMR, - ptlStart: POINTL, - crColor: COLORREF, - iMode: DWORD, -}} -pub type PEMREXTFLOODFILL = *mut EMREXTFLOODFILL; -STRUCT!{struct EMRELLIPSE { - emr: EMR, - rclBox: RECTL, -}} -pub type PEMRELLIPSE = *mut EMRELLIPSE; -pub type EMRRECTANGLE = EMRELLIPSE; -pub type PEMRRECTANGLE = *mut EMRELLIPSE; -STRUCT!{struct EMRROUNDRECT { - emr: EMR, - rclBox: RECTL, - szlCorner: SIZEL, -}} -pub type PEMRROUNDRECT = *mut EMRROUNDRECT; -STRUCT!{struct EMRARC { - emr: EMR, - rclBox: RECTL, - ptlStart: POINTL, - ptlEnd: POINTL, -}} -pub type PEMRARC = *mut EMRARC; -pub type EMRARCTO = EMRARC; -pub type PEMRARCTO = *mut EMRARC; -pub type EMRCHORD = EMRARC; -pub type PEMRCHORD = *mut EMRARC; -pub type EMRPIE = EMRARC; -pub type PEMRPIE = *mut EMRARC; -STRUCT!{struct EMRANGLEARC { - emr: EMR, - ptlCenter: POINTL, - nRadius: DWORD, - eStartAngle: FLOAT, - eSweepAngle: FLOAT, -}} -pub type PEMRANGLEARC = *mut EMRANGLEARC; -STRUCT!{struct EMRPOLYLINE { - emr: EMR, - rclBounds: RECTL, - cptl: DWORD, - aptl: [POINTL; 1], -}} -pub type PEMRPOLYLINE = *mut EMRPOLYLINE; -pub type EMRPOLYBEZIER = EMRPOLYLINE; -pub type PEMRPOLYBEZIER = *mut EMRPOLYLINE; -pub type EMRPOLYGON = EMRPOLYLINE; -pub type PEMRPOLYGON = *mut EMRPOLYLINE; -pub type EMRPOLYBEZIERTO = EMRPOLYLINE; -pub type PEMRPOLYBEZIERTO = *mut EMRPOLYLINE; -pub type EMRPOLYLINETO = EMRPOLYLINE; -pub type PEMRPOLYLINETO = *mut EMRPOLYLINE; -STRUCT!{struct EMRPOLYLINE16 { - emr: EMR, - rclBounds: RECTL, - cpts: DWORD, - apts: [POINTS; 1], -}} -pub type PEMRPOLYLINE16 = *mut EMRPOLYLINE16; -pub type EMRPOLYBEZIER16 = EMRPOLYLINE16; -pub type PEMRPOLYBEZIER16 = *mut EMRPOLYLINE16; -pub type EMRPOLYGON16 = EMRPOLYLINE16; -pub type PEMRPOLYGON16 = *mut EMRPOLYLINE16; -pub type EMRPOLYBEZIERTO16 = EMRPOLYLINE16; -pub type PEMRPOLYBEZIERTO16 = *mut EMRPOLYLINE16; -pub type EMRPOLYLINETO16 = EMRPOLYLINE16; -pub type PEMRPOLYLINETO16 = *mut EMRPOLYLINE16; -STRUCT!{struct EMRPOLYDRAW { - emr: EMR, - rclBounds: RECTL, - cptl: DWORD, - aptl: [POINTL; 1], - abTypes: [BYTE; 1], -}} -pub type PEMRPOLYDRAW = *mut EMRPOLYDRAW; -STRUCT!{struct EMRPOLYDRAW16 { - emr: EMR, - rclBounds: RECTL, - cpts: DWORD, - apts: [POINTS; 1], - abTypes: [BYTE; 1], -}} -pub type PEMRPOLYDRAW16 = *mut EMRPOLYDRAW16; -STRUCT!{struct EMRPOLYPOLYLINE { - emr: EMR, - rclBounds: RECTL, - nPolys: DWORD, - cptl: DWORD, - aPolyCounts: [DWORD; 1], - aptl: [POINTL; 1], -}} -pub type PEMRPOLYPOLYLINE = *mut EMRPOLYPOLYLINE; -pub type EMRPOLYPOLYGON = EMRPOLYPOLYLINE; -pub type PEMRPOLYPOLYGON = *mut EMRPOLYPOLYLINE; -STRUCT!{struct EMRPOLYPOLYLINE16 { - emr: EMR, - rclBounds: RECTL, - nPolys: DWORD, - cpts: DWORD, - aPolyCounts: [DWORD; 1], - apts: [POINTS; 1], -}} -pub type PEMRPOLYPOLYLINE16 = *mut EMRPOLYPOLYLINE16; -pub type EMRPOLYPOLYGON16 = EMRPOLYPOLYLINE16; -pub type PEMRPOLYPOLYGON16 = *mut EMRPOLYPOLYLINE16; -STRUCT!{struct EMRINVERTRGN { - emr: EMR, - rclBounds: RECTL, - cbRgnData: DWORD, - RgnData: [BYTE; 1], -}} -pub type PEMRINVERTRGN = *mut EMRINVERTRGN; -pub type EMRPAINTRGN = EMRINVERTRGN; -pub type PEMRPAINTRGN = *mut EMRINVERTRGN; -STRUCT!{struct EMRFILLRGN { - emr: EMR, - rclBounds: RECTL, - cbRgnData: DWORD, - ihBrush: DWORD, - RgnData: [BYTE; 1], -}} -pub type PEMRFILLRGN = *mut EMRFILLRGN; -STRUCT!{struct EMRFRAMERGN { - emr: EMR, - rclBounds: RECTL, - cbRgnData: DWORD, - ihBrush: DWORD, - szlStroke: SIZEL, - RgnData: [BYTE; 1], -}} -pub type PEMRFRAMERGN = *mut EMRFRAMERGN; -STRUCT!{struct EMREXTSELECTCLIPRGN { - emr: EMR, - cbRgnData: DWORD, - iMode: DWORD, - RgnData: [BYTE; 1], -}} -pub type PEMREXTSELECTCLIPRGN = *mut EMREXTSELECTCLIPRGN; -STRUCT!{struct EMREXTTEXTOUTA { - emr: EMR, - rclBounds: RECTL, - iGraphicsMode: DWORD, - exScale: FLOAT, - eyScale: FLOAT, - emrtext: EMRTEXT, -}} -pub type PEMREXTTEXTOUTA = *mut EMREXTTEXTOUTA; -pub type EMREXTTEXTOUTW = EMREXTTEXTOUTA; -pub type PEMREXTTEXTOUTW = *mut EMREXTTEXTOUTA; -STRUCT!{struct EMRPOLYTEXTOUTA { - emr: EMR, - rclBounds: RECTL, - iGraphicsMode: DWORD, - exScale: FLOAT, - eyScale: FLOAT, - cStrings: LONG, - aemrtext: [EMRTEXT; 1], -}} -pub type PEMRPOLYTEXTOUTA = *mut EMRPOLYTEXTOUTA; -pub type EMRPOLYTEXTOUTW = EMRPOLYTEXTOUTA; -pub type PEMRPOLYTEXTOUTW = *mut EMRPOLYTEXTOUTA; -STRUCT!{struct EMRBITBLT { - emr: EMR, - rclBounds: RECTL, - xDest: LONG, - yDest: LONG, - cxDest: LONG, - cyDest: LONG, - dwRop: DWORD, - xSrc: LONG, - ySrc: LONG, - xformSrc: XFORM, - crBkColorSrc: COLORREF, - iUsageSrc: DWORD, - offBmiSrc: DWORD, - cbBmiSrc: DWORD, - offBitsSrc: DWORD, - cbBitsSrc: DWORD, -}} -pub type PEMRBITBLT = *mut EMRBITBLT; -STRUCT!{struct EMRSTRETCHBLT { - emr: EMR, - rclBounds: RECTL, - xDest: LONG, - yDest: LONG, - cxDest: LONG, - cyDest: LONG, - dwRop: DWORD, - xSrc: LONG, - ySrc: LONG, - xformSrc: XFORM, - crBkColorSrc: COLORREF, - iUsageSrc: DWORD, - offBmiSrc: DWORD, - cbBmiSrc: DWORD, - offBitsSrc: DWORD, - cbBitsSrc: DWORD, - cxSrc: LONG, - cySrc: LONG, -}} -pub type PEMRSTRETCHBLT = *mut EMRSTRETCHBLT; -STRUCT!{struct EMRMASKBLT { - emr: EMR, - rclBounds: RECTL, - xDest: LONG, - yDest: LONG, - cxDest: LONG, - cyDest: LONG, - dwRop: DWORD, - xSrc: LONG, - ySrc: LONG, - xformSrc: XFORM, - crBkColorSrc: COLORREF, - iUsageSrc: DWORD, - offBmiSrc: DWORD, - cbBmiSrc: DWORD, - offBitsSrc: DWORD, - cbBitsSrc: DWORD, - xMask: LONG, - yMask: LONG, - iUsageMask: DWORD, - offBmiMask: DWORD, - cbBmiMask: DWORD, - offBitsMask: DWORD, - cbBitsMask: DWORD, -}} -pub type PEMRMASKBLT = *mut EMRMASKBLT; -STRUCT!{struct EMRPLGBLT { - emr: EMR, - rclBounds: RECTL, - aptlDest: [POINTL; 3], - xSrc: LONG, - ySrc: LONG, - cxSrc: LONG, - cySrc: LONG, - xformSrc: XFORM, - crBkColorSrc: COLORREF, - iUsageSrc: DWORD, - offBmiSrc: DWORD, - cbBmiSrc: DWORD, - offBitsSrc: DWORD, - cbBitsSrc: DWORD, - xMask: LONG, - yMask: LONG, - iUsageMask: DWORD, - offBmiMask: DWORD, - cbBmiMask: DWORD, - offBitsMask: DWORD, - cbBitsMask: DWORD, -}} -pub type PEMRPLGBLT = *mut EMRPLGBLT; -STRUCT!{struct EMRSETDIBITSTODEVICE { - emr: EMR, - rclBounds: RECTL, - xDest: LONG, - yDest: LONG, - xSrc: LONG, - ySrc: LONG, - cxSrc: LONG, - cySrc: LONG, - offBmiSrc: DWORD, - cbBmiSrc: DWORD, - offBitsSrc: DWORD, - cbBitsSrc: DWORD, - iUsageSrc: DWORD, - iStartScan: DWORD, - cScans: DWORD, -}} -pub type PEMRSETDIBITSTODEVICE = *mut EMRSETDIBITSTODEVICE; -STRUCT!{struct EMRSTRETCHDIBITS { - emr: EMR, - rclBounds: RECTL, - xDest: LONG, - yDest: LONG, - xSrc: LONG, - ySrc: LONG, - cxSrc: LONG, - cySrc: LONG, - offBmiSrc: DWORD, - cbBmiSrc: DWORD, - offBitsSrc: DWORD, - cbBitsSrc: DWORD, - iUsageSrc: DWORD, - dwRop: DWORD, - cxDest: LONG, - cyDest: LONG, -}} -pub type PEMRSTRETCHDIBITS = *mut EMRSTRETCHDIBITS; -STRUCT!{struct EMREXTCREATEFONTINDIRECTW { - emr: EMR, - ihFont: DWORD, - elfw: EXTLOGFONTW, -}} -pub type PEMREXTCREATEFONTINDIRECTW = *mut EMREXTCREATEFONTINDIRECTW; -STRUCT!{struct EMRCREATEPALETTE { - emr: EMR, - ihPal: DWORD, - lgpl: LOGPALETTE, -}} -pub type PEMRCREATEPALETTE = *mut EMRCREATEPALETTE; -STRUCT!{struct EMRCREATEPEN { - emr: EMR, - ihPen: DWORD, - lopn: LOGPEN, -}} -pub type PEMRCREATEPEN = *mut EMRCREATEPEN; -STRUCT!{struct EMREXTCREATEPEN { - emr: EMR, - ihPen: DWORD, - offBmi: DWORD, - cbBmi: DWORD, - offBits: DWORD, - cbBits: DWORD, - elp: EXTLOGPEN32, -}} -pub type PEMREXTCREATEPEN = *mut EMREXTCREATEPEN; -STRUCT!{struct EMRCREATEBRUSHINDIRECT { - emr: EMR, - ihBrush: DWORD, - lb: LOGBRUSH32, -}} -pub type PEMRCREATEBRUSHINDIRECT = *mut EMRCREATEBRUSHINDIRECT; -STRUCT!{struct EMRCREATEMONOBRUSH { - emr: EMR, - ihBrush: DWORD, - iUsage: DWORD, - offBmi: DWORD, - cbBmi: DWORD, - offBits: DWORD, - cbBits: DWORD, -}} -pub type PEMRCREATEMONOBRUSH = *mut EMRCREATEMONOBRUSH; -STRUCT!{struct EMRCREATEDIBPATTERNBRUSHPT { - emr: EMR, - ihBrush: DWORD, - iUsage: DWORD, - offBmi: DWORD, - cbBmi: DWORD, - offBits: DWORD, - cbBits: DWORD, -}} -pub type PEMRCREATEDIBPATTERNBRUSHPT = *mut EMRCREATEDIBPATTERNBRUSHPT; -STRUCT!{struct EMRFORMAT { - dSignature: DWORD, - nVersion: DWORD, - cbData: DWORD, - offData: DWORD, -}} -pub type PEMRFORMAT = *mut EMRFORMAT; -STRUCT!{struct EMRGLSRECORD { - emr: EMR, - cbData: DWORD, - Data: [BYTE; 1], -}} -pub type PEMRGLSRECORD = *mut EMRGLSRECORD; -STRUCT!{struct EMRGLSBOUNDEDRECORD { - emr: EMR, - rclBounds: RECTL, - cbData: DWORD, - Data: [BYTE; 1], -}} -pub type PEMRGLSBOUNDEDRECORD = *mut EMRGLSBOUNDEDRECORD; -STRUCT!{struct EMRPIXELFORMAT { - emr: EMR, - pfd: PIXELFORMATDESCRIPTOR, -}} -pub type PEMRPIXELFORMAT = *mut EMRPIXELFORMAT; -STRUCT!{struct EMRCREATECOLORSPACE { - emr: EMR, - ihCS: DWORD, - lcs: LOGCOLORSPACEA, -}} -pub type PEMRCREATECOLORSPACE = *mut EMRCREATECOLORSPACE; -STRUCT!{struct EMRSETCOLORSPACE { - emr: EMR, - ihCS: DWORD, -}} -pub type PEMRSETCOLORSPACE = *mut EMRSETCOLORSPACE; -pub type EMRSELECTCOLORSPACE = EMRSETCOLORSPACE; -pub type PEMRSELECTCOLORSPACE = *mut EMRSETCOLORSPACE; -pub type EMRDELETECOLORSPACE = EMRSETCOLORSPACE; -pub type PEMRDELETECOLORSPACE = *mut EMRSETCOLORSPACE; -STRUCT!{struct EMREXTESCAPE { - emr: EMR, - iEscape: INT, - cbEscData: INT, - EscData: [BYTE; 1], -}} -pub type PEMREXTESCAPE = *mut EMREXTESCAPE; -pub type EMRDRAWESCAPE = EMREXTESCAPE; -pub type PEMRDRAWESCAPE = *mut EMREXTESCAPE; -STRUCT!{struct EMRNAMEDESCAPE { - emr: EMR, - iEscape: INT, - cbDriver: INT, - cbEscData: INT, - EscData: [BYTE; 1], -}} -pub type PEMRNAMEDESCAPE = *mut EMRNAMEDESCAPE; -pub const SETICMPROFILE_EMBEDED: DWORD = 0x00000001; -STRUCT!{struct EMRSETICMPROFILE { - emr: EMR, - dwFlags: DWORD, - cbName: DWORD, - cbData: DWORD, - Data: [BYTE; 1], -}} -pub type PEMRSETICMPROFILE = *mut EMRSETICMPROFILE; -pub type EMRSETICMPROFILEA = EMRSETICMPROFILE; -pub type PEMRSETICMPROFILEA = *mut EMRSETICMPROFILE; -pub type EMRSETICMPROFILEW = EMRSETICMPROFILE; -pub type PEMRSETICMPROFILEW = *mut EMRSETICMPROFILE; -pub const CREATECOLORSPACE_EMBEDED: DWORD = 0x00000001; -STRUCT!{struct EMRCREATECOLORSPACEW { - emr: EMR, - ihCS: DWORD, - lcs: LOGCOLORSPACEW, - dwFlags: DWORD, - cbData: DWORD, - Data: [BYTE; 1], -}} -pub type PEMRCREATECOLORSPACEW = *mut EMRCREATECOLORSPACEW; -pub const COLORMATCHTOTARGET_EMBEDED: DWORD = 0x00000001; -STRUCT!{struct EMRCOLORMATCHTOTARGET { - emr: EMR, - dwAction: DWORD, - dwFlags: DWORD, - cbName: DWORD, - cbData: DWORD, - Data: [BYTE; 1], -}} -pub type PEMRCOLORMATCHTOTARGET = *mut EMRCOLORMATCHTOTARGET; -STRUCT!{struct EMRCOLORCORRECTPALETTE { - emr: EMR, - ihPalette: DWORD, - nFirstEntry: DWORD, - nPalEntries: DWORD, - nReserved: DWORD, -}} -pub type PEMRCOLORCORRECTPALETTE = *mut EMRCOLORCORRECTPALETTE; -STRUCT!{struct EMRALPHABLEND { - emr: EMR, - rclBounds: RECTL, - xDest: LONG, - yDest: LONG, - cxDest: LONG, - cyDest: LONG, - dwRop: DWORD, - xSrc: LONG, - ySrc: LONG, - xformSrc: XFORM, - crBkColorSrc: COLORREF, - iUsageSrc: DWORD, - offBmiSrc: DWORD, - cbBmiSrc: DWORD, - offBitsSrc: DWORD, - cbBitsSrc: DWORD, - cxSrc: LONG, - cySrc: LONG, -}} -pub type PEMRALPHABLEND = *mut EMRALPHABLEND; -STRUCT!{struct EMRGRADIENTFILL { - emr: EMR, - rclBounds: RECTL, - nVer: DWORD, - nTri: DWORD, - ulMode: ULONG, - Ver: [TRIVERTEX; 1], -}} -pub type PEMRGRADIENTFILL = *mut EMRGRADIENTFILL; -STRUCT!{struct EMRTRANSPARENTBLT { - emr: EMR, - rclBounds: RECTL, - xDest: LONG, - yDest: LONG, - cxDest: LONG, - cyDest: LONG, - dwRop: DWORD, - xSrc: LONG, - ySrc: LONG, - xformSrc: XFORM, - crBkColorSrc: COLORREF, - iUsageSrc: DWORD, - offBmiSrc: DWORD, - cbBmiSrc: DWORD, - offBitsSrc: DWORD, - cbBitsSrc: DWORD, - cxSrc: LONG, - cySrc: LONG, -}} -pub type PEMRTRANSPARENTBLT = *mut EMRTRANSPARENTBLT; -pub const GDICOMMENT_IDENTIFIER: DWORD = 0x43494447; -pub const GDICOMMENT_WINDOWS_METAFILE: DWORD = 0x80000001; -pub const GDICOMMENT_BEGINGROUP: DWORD = 0x00000002; -pub const GDICOMMENT_ENDGROUP: DWORD = 0x00000003; -pub const GDICOMMENT_MULTIFORMATS: DWORD = 0x40000004; -pub const EPS_SIGNATURE: DWORD = 0x46535045; -pub const GDICOMMENT_UNICODE_STRING: DWORD = 0x00000040; -pub const GDICOMMENT_UNICODE_END: DWORD = 0x00000080; -extern "system" { - pub fn wglCopyContext( - hglrcSrc: HGLRC, - hglrcDst: HGLRC, - mask: UINT, - ) -> BOOL; - pub fn wglCreateContext( - hdc: HDC, - ) -> HGLRC; - pub fn wglCreateLayerContext( - hdc: HDC, - iLayerPlane: c_int, - ) -> HGLRC; - pub fn wglDeleteContext( - hglrc: HGLRC, - ) -> BOOL; - pub fn wglGetCurrentContext() -> HGLRC; - pub fn wglGetCurrentDC() -> HDC; - pub fn wglGetProcAddress( - lpszProc: LPCSTR, - ) -> PROC; - pub fn wglMakeCurrent( - hdc: HDC, - hglrc: HGLRC, - ) -> BOOL; - pub fn wglShareLists( - hglrc1: HGLRC, - hglrc2: HGLRC, - ) -> BOOL; - pub fn wglUseFontBitmapsA( - hdc: HDC, - first: DWORD, - count: DWORD, - listBase: DWORD, - ) -> BOOL; - pub fn wglUseFontBitmapsW( - hdc: HDC, - first: DWORD, - count: DWORD, - listBase: DWORD, - ) -> BOOL; - pub fn SwapBuffers( - hdc: HDC, - ) -> BOOL; -} -STRUCT!{struct POINTFLOAT { - x: FLOAT, - y: FLOAT, -}} -pub type PPOINTFLOAT = *mut POINTFLOAT; -STRUCT!{struct GLYPHMETRICSFLOAT { - gmfBlackBoxX: FLOAT, - gmfBlackBoxY: FLOAT, - gmfptGlyphOrigin: POINTFLOAT, - gmfCellIncX: FLOAT, - gmfCellIncY: FLOAT, -}} -pub type PGLYPHMETRICSFLOAT = *mut GLYPHMETRICSFLOAT; -pub type LPGLYPHMETRICSFLOAT = *mut GLYPHMETRICSFLOAT; -pub const WGL_FONT_LINES: DWORD = 0; -pub const WGL_FONT_POLYGONS: DWORD = 1; -extern "system" { - pub fn wglUseFontOutlinesA( - hdc: HDC, - first: DWORD, - count: DWORD, - listBase: DWORD, - deviation: FLOAT, - extrusion: FLOAT, - format: c_int, - lpgmf: LPGLYPHMETRICSFLOAT, - ) -> BOOL; - pub fn wglUseFontOutlinesW( - hdc: HDC, - first: DWORD, - count: DWORD, - listBase: DWORD, - deviation: FLOAT, - extrusion: FLOAT, - format: c_int, - lpgmf: LPGLYPHMETRICSFLOAT, - ) -> BOOL; -} -STRUCT!{struct LAYERPLANEDESCRIPTOR { - nSize: WORD, - nVersion: WORD, - dwFlags: DWORD, - iPixelType: BYTE, - cColorBits: BYTE, - cRedBits: BYTE, - cRedShift: BYTE, - cGreenBits: BYTE, - cGreenShift: BYTE, - cBlueBits: BYTE, - cBlueShift: BYTE, - cAlphaBits: BYTE, - cAlphaShift: BYTE, - cAccumBits: BYTE, - cAccumRedBits: BYTE, - cAccumGreenBits: BYTE, - cAccumBlueBits: BYTE, - cAccumAlphaBits: BYTE, - cDepthBits: BYTE, - cStencilBits: BYTE, - cAuxBuffers: BYTE, - iLayerPlane: BYTE, - bReserved: BYTE, - crTransparent: COLORREF, -}} -pub type PLAYERPLANEDESCRIPTOR = *mut LAYERPLANEDESCRIPTOR; -pub type LPLAYERPLANEDESCRIPTOR = *mut LAYERPLANEDESCRIPTOR; -pub const LPD_DOUBLEBUFFER: DWORD = 0x00000001; -pub const LPD_STEREO: DWORD = 0x00000002; -pub const LPD_SUPPORT_GDI: DWORD = 0x00000010; -pub const LPD_SUPPORT_OPENGL: DWORD = 0x00000020; -pub const LPD_SHARE_DEPTH: DWORD = 0x00000040; -pub const LPD_SHARE_STENCIL: DWORD = 0x00000080; -pub const LPD_SHARE_ACCUM: DWORD = 0x00000100; -pub const LPD_SWAP_EXCHANGE: DWORD = 0x00000200; -pub const LPD_SWAP_COPY: DWORD = 0x00000400; -pub const LPD_TRANSPARENT: DWORD = 0x00001000; -pub const LPD_TYPE_RGBA: BYTE = 0; -pub const LPD_TYPE_COLORINDEX: BYTE = 1; -pub const WGL_SWAP_MAIN_PLANE: UINT = 0x00000001; -pub const WGL_SWAP_OVERLAY1: UINT = 0x00000002; -pub const WGL_SWAP_OVERLAY2: UINT = 0x00000004; -pub const WGL_SWAP_OVERLAY3: UINT = 0x00000008; -pub const WGL_SWAP_OVERLAY4: UINT = 0x00000010; -pub const WGL_SWAP_OVERLAY5: UINT = 0x00000020; -pub const WGL_SWAP_OVERLAY6: UINT = 0x00000040; -pub const WGL_SWAP_OVERLAY7: UINT = 0x00000080; -pub const WGL_SWAP_OVERLAY8: UINT = 0x00000100; -pub const WGL_SWAP_OVERLAY9: UINT = 0x00000200; -pub const WGL_SWAP_OVERLAY10: UINT = 0x00000400; -pub const WGL_SWAP_OVERLAY11: UINT = 0x00000800; -pub const WGL_SWAP_OVERLAY12: UINT = 0x00001000; -pub const WGL_SWAP_OVERLAY13: UINT = 0x00002000; -pub const WGL_SWAP_OVERLAY14: UINT = 0x00004000; -pub const WGL_SWAP_OVERLAY15: UINT = 0x00008000; -pub const WGL_SWAP_UNDERLAY1: UINT = 0x00010000; -pub const WGL_SWAP_UNDERLAY2: UINT = 0x00020000; -pub const WGL_SWAP_UNDERLAY3: UINT = 0x00040000; -pub const WGL_SWAP_UNDERLAY4: UINT = 0x00080000; -pub const WGL_SWAP_UNDERLAY5: UINT = 0x00100000; -pub const WGL_SWAP_UNDERLAY6: UINT = 0x00200000; -pub const WGL_SWAP_UNDERLAY7: UINT = 0x00400000; -pub const WGL_SWAP_UNDERLAY8: UINT = 0x00800000; -pub const WGL_SWAP_UNDERLAY9: UINT = 0x01000000; -pub const WGL_SWAP_UNDERLAY10: UINT = 0x02000000; -pub const WGL_SWAP_UNDERLAY11: UINT = 0x04000000; -pub const WGL_SWAP_UNDERLAY12: UINT = 0x08000000; -pub const WGL_SWAP_UNDERLAY13: UINT = 0x10000000; -pub const WGL_SWAP_UNDERLAY14: UINT = 0x20000000; -pub const WGL_SWAP_UNDERLAY15: UINT = 0x40000000; -extern "system" { - pub fn wglDescribeLayerPlane( - hdc: HDC, - iPixelFormat: c_int, - iLayerPlane: c_int, - nBytes: UINT, - plpd: LPLAYERPLANEDESCRIPTOR, - ) -> BOOL; - pub fn wglSetLayerPaletteEntries( - hdc: HDC, - iLayerPlane: c_int, - iStart: c_int, - cEntries: c_int, - pcr: *const COLORREF, - ) -> c_int; - pub fn wglGetLayerPaletteEntries( - hdc: HDC, - iLayerPlane: c_int, - iStart: c_int, - cEntries: c_int, - pcr: *const COLORREF, - ) -> c_int; - pub fn wglRealizeLayerPalette( - hdc: HDC, - iLayerPlane: c_int, - bRealize: BOOL, - ) -> BOOL; - pub fn wglSwapLayerBuffers( - hdc: HDC, - fuPlanes: UINT, - ) -> BOOL; -} -STRUCT!{struct WGLSWAP { - hdc: HDC, - uiFlags: UINT, -}} -pub type PWGLSWAP = *mut WGLSWAP; -pub type LPWGLSWAP = *mut WGLSWAP; -pub const WGL_SWAPMULTIPLE_MAX: usize = 16; -extern "system" { - pub fn wglSwapMultipleBuffers( - n: UINT, - ps: *const WGLSWAP, - ) -> DWORD; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/winhttp.rs b/vendor/registry-40351f815f426200/winapi/src/um/winhttp.rs deleted file mode 100644 index f39c78f51..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/winhttp.rs +++ /dev/null @@ -1,658 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Windows HTTP Services API constant definitions and macros -use ctypes::c_int; -use shared::basetsd::DWORD_PTR; -use shared::minwindef::{BOOL, DWORD, LPCVOID, LPDWORD, LPVOID, USHORT, WORD}; -use um::minwinbase::SYSTEMTIME; -use um::winnt::{LPCWSTR, LPWSTR, PCWSTR, PVOID, PWSTR}; -pub type HINTERNET = LPVOID; -pub type LPHINTERNET = *mut HINTERNET; -pub type INTERNET_PORT = WORD; -pub type LPINTERNET_PORT = *mut INTERNET_PORT; -pub const INTERNET_DEFAULT_PORT: INTERNET_PORT = 0; -pub const INTERNET_DEFAULT_HTTP_PORT: INTERNET_PORT = 80; -pub const INTERNET_DEFAULT_HTTPS_PORT: INTERNET_PORT = 443; -pub const WINHTTP_FLAG_ASYNC: DWORD = 0x10000000; -pub const WINHTTP_FLAG_SECURE: DWORD = 0x00800000; -pub const WINHTTP_FLAG_ESCAPE_PERCENT: DWORD = 0x00000004; -pub const WINHTTP_FLAG_NULL_CODEPAGE: DWORD = 0x00000008; -pub const WINHTTP_FLAG_BYPASS_PROXY_CACHE: DWORD = 0x00000100; -pub const WINHTTP_FLAG_REFRESH: DWORD = WINHTTP_FLAG_BYPASS_PROXY_CACHE; -pub const WINHTTP_FLAG_ESCAPE_DISABLE: DWORD = 0x00000040; -pub const WINHTTP_FLAG_ESCAPE_DISABLE_QUERY: DWORD = 0x00000080; -STRUCT!{struct WINHTTP_ASYNC_RESULT { - dwResult: DWORD_PTR, - dwError: DWORD, -}} -pub type LPWINHTTP_ASYNC_RESULT = *mut WINHTTP_ASYNC_RESULT; -pub type INTERNET_SCHEME = c_int; -pub type LPINTERNET_SCHEME = *mut c_int; -pub const INTERNET_SCHEME_HTTP: INTERNET_SCHEME = 1; -pub const INTERNET_SCHEME_HTTPS: INTERNET_SCHEME = 2; -pub const INTERNET_SCHEME_FTP: INTERNET_SCHEME = 3; -pub const INTERNET_SCHEME_SOCKS: INTERNET_SCHEME = 4; -STRUCT!{struct URL_COMPONENTS { - dwStructSize: DWORD, - lpszScheme: LPWSTR, - dwSchemeLength: DWORD, - nScheme: INTERNET_SCHEME, - lpszHostName: LPWSTR, - dwHostNameLength: DWORD, - nPort: INTERNET_PORT, - lpszUserName: LPWSTR, - dwUserNameLength: DWORD, - lpszPassword: LPWSTR, - dwPasswordLength: DWORD, - lpszUrlPath: LPWSTR, - dwUrlPathLength: DWORD, - lpszExtraInfo: LPWSTR, - dwExtraInfoLength: DWORD, -}} -pub type LPURL_COMPONENTS = *mut URL_COMPONENTS; -pub type URL_COMPONENTSW = URL_COMPONENTS; -pub type LPURL_COMPONENTSW = LPURL_COMPONENTS; -STRUCT!{struct WINHTTP_PROXY_INFO { - dwAccessType: DWORD, - lpszProxy: LPWSTR, - lpszProxyBypass: LPWSTR, -}} -pub type LPWINHTTP_PROXY_INFO = *mut WINHTTP_PROXY_INFO; -pub type WINHTTP_PROXY_INFOW = WINHTTP_PROXY_INFO; -pub type LPWINHTTP_PROXY_INFOW = LPWINHTTP_PROXY_INFO; -STRUCT!{struct WINHTTP_AUTOPROXY_OPTIONS { - dwFlags: DWORD, - dwAutoDetectFlags: DWORD, - lpszAutoConfigUrl: LPCWSTR, - lpvReserved: LPVOID, - dwReserved: DWORD, - fAutoLogonIfChallenged: BOOL, -}} -pub const WINHTTP_AUTOPROXY_AUTO_DETECT: DWORD = 0x00000001; -pub const WINHTTP_AUTOPROXY_CONFIG_URL: DWORD = 0x00000002; -pub const WINHTTP_AUTOPROXY_HOST_KEEPCASE: DWORD = 0x00000004; -pub const WINHTTP_AUTOPROXY_HOST_LOWERCASE: DWORD = 0x00000008; -pub const WINHTTP_AUTOPROXY_RUN_INPROCESS: DWORD = 0x00010000; -pub const WINHTTP_AUTOPROXY_RUN_OUTPROCESS_ONLY: DWORD = 0x00020000; -pub const WINHTTP_AUTOPROXY_NO_DIRECTACCESS: DWORD = 0x00040000; -pub const WINHTTP_AUTOPROXY_NO_CACHE_CLIENT: DWORD = 0x00080000; -pub const WINHTTP_AUTOPROXY_NO_CACHE_SVC: DWORD = 0x00100000; -pub const WINHTTP_AUTOPROXY_SORT_RESULTS: DWORD = 0x00400000; -pub const WINHTTP_AUTO_DETECT_TYPE_DHCP: DWORD = 0x00000001; -pub const WINHTTP_AUTO_DETECT_TYPE_DNS_A: DWORD = 0x00000002; -STRUCT!{struct WINHTTP_PROXY_RESULT_ENTRY { - fProxy: BOOL, - fBypass: BOOL, - ProxyScheme: INTERNET_SCHEME, - pwszProxy: PWSTR, - ProxyPort: INTERNET_PORT, -}} -STRUCT!{struct WINHTTP_PROXY_RESULT { - cEntries: DWORD, - pEntries: *mut WINHTTP_PROXY_RESULT_ENTRY, -}} -pub const WINHTTP_FIRST_OPTION: DWORD = WINHTTP_OPTION_CALLBACK; -pub const WINHTTP_OPTION_CALLBACK: DWORD = 1; -pub const WINHTTP_OPTION_RESOLVE_TIMEOUT: DWORD = 2; -pub const WINHTTP_OPTION_CONNECT_TIMEOUT: DWORD = 3; -pub const WINHTTP_OPTION_CONNECT_RETRIES: DWORD = 4; -pub const WINHTTP_OPTION_SEND_TIMEOUT: DWORD = 5; -pub const WINHTTP_OPTION_RECEIVE_TIMEOUT: DWORD = 6; -pub const WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT: DWORD = 7; -pub const WINHTTP_OPTION_HANDLE_TYPE: DWORD = 9; -pub const WINHTTP_OPTION_READ_BUFFER_SIZE: DWORD = 12; -pub const WINHTTP_OPTION_WRITE_BUFFER_SIZE: DWORD = 13; -pub const WINHTTP_OPTION_PARENT_HANDLE: DWORD = 21; -pub const WINHTTP_OPTION_EXTENDED_ERROR: DWORD = 24; -pub const WINHTTP_OPTION_SECURITY_FLAGS: DWORD = 31; -pub const WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT: DWORD = 32; -pub const WINHTTP_OPTION_URL: DWORD = 34; -pub const WINHTTP_OPTION_SECURITY_KEY_BITNESS: DWORD = 36; -pub const WINHTTP_OPTION_PROXY: DWORD = 38; -pub const WINHTTP_OPTION_PROXY_RESULT_ENTRY: DWORD = 39; -pub const WINHTTP_OPTION_USER_AGENT: DWORD = 41; -pub const WINHTTP_OPTION_CONTEXT_VALUE: DWORD = 45; -pub const WINHTTP_OPTION_CLIENT_CERT_CONTEXT: DWORD = 47; -pub const WINHTTP_OPTION_REQUEST_PRIORITY: DWORD = 58; -pub const WINHTTP_OPTION_HTTP_VERSION: DWORD = 59; -pub const WINHTTP_OPTION_DISABLE_FEATURE: DWORD = 63; -pub const WINHTTP_OPTION_CODEPAGE: DWORD = 68; -pub const WINHTTP_OPTION_MAX_CONNS_PER_SERVER: DWORD = 73; -pub const WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER: DWORD = 74; -pub const WINHTTP_OPTION_AUTOLOGON_POLICY: DWORD = 77; -pub const WINHTTP_OPTION_SERVER_CERT_CONTEXT: DWORD = 78; -pub const WINHTTP_OPTION_ENABLE_FEATURE: DWORD = 79; -pub const WINHTTP_OPTION_WORKER_THREAD_COUNT: DWORD = 80; -pub const WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT: DWORD = 81; -pub const WINHTTP_OPTION_PASSPORT_COBRANDING_URL: DWORD = 82; -pub const WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH: DWORD = 83; -pub const WINHTTP_OPTION_SECURE_PROTOCOLS: DWORD = 84; -pub const WINHTTP_OPTION_ENABLETRACING: DWORD = 85; -pub const WINHTTP_OPTION_PASSPORT_SIGN_OUT: DWORD = 86; -pub const WINHTTP_OPTION_PASSPORT_RETURN_URL: DWORD = 87; -pub const WINHTTP_OPTION_REDIRECT_POLICY: DWORD = 88; -pub const WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS: DWORD = 89; -pub const WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE: DWORD = 90; -pub const WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE: DWORD = 91; -pub const WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE: DWORD = 92; -pub const WINHTTP_OPTION_CONNECTION_INFO: DWORD = 93; -pub const WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST: DWORD = 94; -pub const WINHTTP_OPTION_SPN: DWORD = 96; -pub const WINHTTP_OPTION_GLOBAL_PROXY_CREDS: DWORD = 97; -pub const WINHTTP_OPTION_GLOBAL_SERVER_CREDS: DWORD = 98; -pub const WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT: DWORD = 99; -pub const WINHTTP_OPTION_REJECT_USERPWD_IN_URL: DWORD = 100; -pub const WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS: DWORD = 101; -pub const WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE: DWORD = 103; -pub const WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE: DWORD = 104; -pub const WINHTTP_OPTION_SERVER_SPN_USED: DWORD = 106; -pub const WINHTTP_OPTION_PROXY_SPN_USED: DWORD = 107; -pub const WINHTTP_OPTION_SERVER_CBT: DWORD = 108; -pub const WINHTTP_OPTION_UNSAFE_HEADER_PARSING: DWORD = 110; -pub const WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS: DWORD = 111; -pub const WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET: DWORD = 114; -pub const WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT: DWORD = 115; -pub const WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL: DWORD = 116; -pub const WINHTTP_OPTION_DECOMPRESSION: DWORD = 118; -pub const WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE: DWORD = 122; -pub const WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE: DWORD = 123; -pub const WINHTTP_LAST_OPTION: DWORD = WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE; -pub const WINHTTP_OPTION_USERNAME: DWORD = 0x1000; -pub const WINHTTP_OPTION_PASSWORD: DWORD = 0x1001; -pub const WINHTTP_OPTION_PROXY_USERNAME: DWORD = 0x1002; -pub const WINHTTP_OPTION_PROXY_PASSWORD: DWORD = 0x1003; -//569 -FN!{stdcall WINHTTP_STATUS_CALLBACK( - hInternet: HINTERNET, - dwContext: DWORD_PTR, - dwInternetStatus: DWORD, - lpvStatusInformation: LPVOID, - dwStatusInformationLength: DWORD, -) -> ()} -pub type LPWINHTTP_STATUS_CALLBACK = *mut WINHTTP_STATUS_CALLBACK; -pub const WINHTTP_CALLBACK_STATUS_RESOLVING_NAME: DWORD = 0x00000001; -pub const WINHTTP_CALLBACK_STATUS_NAME_RESOLVED: DWORD = 0x00000002; -pub const WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER: DWORD = 0x00000004; -pub const WINHTTP_CALLBACK_STATUS_CONNECTED_TO_SERVER: DWORD = 0x00000008; -pub const WINHTTP_CALLBACK_STATUS_SENDING_REQUEST: DWORD = 0x00000010; -pub const WINHTTP_CALLBACK_STATUS_REQUEST_SENT: DWORD = 0x00000020; -pub const WINHTTP_CALLBACK_STATUS_RECEIVING_RESPONSE: DWORD = 0x00000040; -pub const WINHTTP_CALLBACK_STATUS_RESPONSE_RECEIVED: DWORD = 0x00000080; -pub const WINHTTP_CALLBACK_STATUS_CLOSING_CONNECTION: DWORD = 0x00000100; -pub const WINHTTP_CALLBACK_STATUS_CONNECTION_CLOSED: DWORD = 0x00000200; -pub const WINHTTP_CALLBACK_STATUS_HANDLE_CREATED: DWORD = 0x00000400; -pub const WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING: DWORD = 0x00000800; -pub const WINHTTP_CALLBACK_STATUS_DETECTING_PROXY: DWORD = 0x00001000; -pub const WINHTTP_CALLBACK_STATUS_REDIRECT: DWORD = 0x00004000; -pub const WINHTTP_CALLBACK_STATUS_INTERMEDIATE_RESPONSE: DWORD = 0x00008000; -pub const WINHTTP_CALLBACK_STATUS_SECURE_FAILURE: DWORD = 0x00010000; -pub const WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE: DWORD = 0x00020000; -pub const WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE: DWORD = 0x00040000; -pub const WINHTTP_CALLBACK_STATUS_READ_COMPLETE: DWORD = 0x00080000; -pub const WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE: DWORD = 0x00100000; -pub const WINHTTP_CALLBACK_STATUS_REQUEST_ERROR: DWORD = 0x00200000; -pub const WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE: DWORD = 0x00400000; -pub const WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE: DWORD = 0x01000000; -pub const WINHTTP_CALLBACK_STATUS_CLOSE_COMPLETE: DWORD = 0x02000000; -pub const WINHTTP_CALLBACK_STATUS_SHUTDOWN_COMPLETE: DWORD = 0x04000000; -pub const WINHTTP_CALLBACK_FLAG_RESOLVE_NAME: DWORD = WINHTTP_CALLBACK_STATUS_RESOLVING_NAME - | WINHTTP_CALLBACK_STATUS_NAME_RESOLVED; -pub const WINHTTP_CALLBACK_FLAG_CONNECT_TO_SERVER: DWORD = - WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER | WINHTTP_CALLBACK_STATUS_CONNECTED_TO_SERVER; -pub const WINHTTP_CALLBACK_FLAG_SEND_REQUEST: DWORD = - WINHTTP_CALLBACK_STATUS_SENDING_REQUEST | WINHTTP_CALLBACK_STATUS_REQUEST_SENT; -pub const WINHTTP_CALLBACK_FLAG_RECEIVE_RESPONSE: DWORD = - WINHTTP_CALLBACK_STATUS_RECEIVING_RESPONSE | WINHTTP_CALLBACK_STATUS_RESPONSE_RECEIVED; -pub const WINHTTP_CALLBACK_FLAG_CLOSE_CONNECTION: DWORD = - WINHTTP_CALLBACK_STATUS_CLOSING_CONNECTION | WINHTTP_CALLBACK_STATUS_CONNECTION_CLOSED; -pub const WINHTTP_CALLBACK_FLAG_HANDLES: DWORD = - WINHTTP_CALLBACK_STATUS_HANDLE_CREATED | WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING; -pub const WINHTTP_CALLBACK_FLAG_DETECTING_PROXY: DWORD = WINHTTP_CALLBACK_STATUS_DETECTING_PROXY; -pub const WINHTTP_CALLBACK_FLAG_REDIRECT: DWORD = WINHTTP_CALLBACK_STATUS_REDIRECT; -pub const WINHTTP_CALLBACK_FLAG_INTERMEDIATE_RESPONSE: DWORD = - WINHTTP_CALLBACK_STATUS_INTERMEDIATE_RESPONSE; -pub const WINHTTP_CALLBACK_FLAG_SECURE_FAILURE: DWORD = WINHTTP_CALLBACK_STATUS_SECURE_FAILURE; -pub const WINHTTP_CALLBACK_FLAG_SENDREQUEST_COMPLETE: DWORD = - WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE; -pub const WINHTTP_CALLBACK_FLAG_HEADERS_AVAILABLE: DWORD = - WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE; -pub const WINHTTP_CALLBACK_FLAG_DATA_AVAILABLE: DWORD = WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE; -pub const WINHTTP_CALLBACK_FLAG_READ_COMPLETE: DWORD = WINHTTP_CALLBACK_STATUS_READ_COMPLETE; -pub const WINHTTP_CALLBACK_FLAG_WRITE_COMPLETE: DWORD = WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE; -pub const WINHTTP_CALLBACK_FLAG_REQUEST_ERROR: DWORD = WINHTTP_CALLBACK_STATUS_REQUEST_ERROR; -pub const WINHTTP_CALLBACK_FLAG_GETPROXYFORURL_COMPLETE: DWORD = - WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE; -pub const WINHTTP_CALLBACK_FLAG_ALL_COMPLETIONS: DWORD = - WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE | WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE - | WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE | WINHTTP_CALLBACK_STATUS_READ_COMPLETE - | WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE | WINHTTP_CALLBACK_STATUS_REQUEST_ERROR - | WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE; -pub const WINHTTP_CALLBACK_FLAG_ALL_NOTIFICATIONS: DWORD = 0xffffffff; -pub const WINHTTP_QUERY_MIME_VERSION: DWORD = 0; -pub const WINHTTP_QUERY_CONTENT_TYPE: DWORD = 1; -pub const WINHTTP_QUERY_CONTENT_TRANSFER_ENCODING: DWORD = 2; -pub const WINHTTP_QUERY_CONTENT_ID: DWORD = 3; -pub const WINHTTP_QUERY_CONTENT_DESCRIPTION: DWORD = 4; -pub const WINHTTP_QUERY_CONTENT_LENGTH: DWORD = 5; -pub const WINHTTP_QUERY_CONTENT_LANGUAGE: DWORD = 6; -pub const WINHTTP_QUERY_ALLOW: DWORD = 7; -pub const WINHTTP_QUERY_PUBLIC: DWORD = 8; -pub const WINHTTP_QUERY_DATE: DWORD = 9; -pub const WINHTTP_QUERY_EXPIRES: DWORD = 10; -pub const WINHTTP_QUERY_LAST_MODIFIED: DWORD = 11; -pub const WINHTTP_QUERY_MESSAGE_ID: DWORD = 12; -pub const WINHTTP_QUERY_URI: DWORD = 13; -pub const WINHTTP_QUERY_DERIVED_FROM: DWORD = 14; -pub const WINHTTP_QUERY_COST: DWORD = 15; -pub const WINHTTP_QUERY_LINK: DWORD = 16; -pub const WINHTTP_QUERY_PRAGMA: DWORD = 17; -pub const WINHTTP_QUERY_VERSION: DWORD = 18; -pub const WINHTTP_QUERY_STATUS_CODE: DWORD = 19; -pub const WINHTTP_QUERY_STATUS_TEXT: DWORD = 20; -pub const WINHTTP_QUERY_RAW_HEADERS: DWORD = 21; -pub const WINHTTP_QUERY_RAW_HEADERS_CRLF: DWORD = 22; -pub const WINHTTP_QUERY_CONNECTION: DWORD = 23; -pub const WINHTTP_QUERY_ACCEPT: DWORD = 24; -pub const WINHTTP_QUERY_ACCEPT_CHARSET: DWORD = 25; -pub const WINHTTP_QUERY_ACCEPT_ENCODING: DWORD = 26; -pub const WINHTTP_QUERY_ACCEPT_LANGUAGE: DWORD = 27; -pub const WINHTTP_QUERY_AUTHORIZATION: DWORD = 28; -pub const WINHTTP_QUERY_CONTENT_ENCODING: DWORD = 29; -pub const WINHTTP_QUERY_FORWARDED: DWORD = 30; -pub const WINHTTP_QUERY_FROM: DWORD = 31; -pub const WINHTTP_QUERY_IF_MODIFIED_SINCE: DWORD = 32; -pub const WINHTTP_QUERY_LOCATION: DWORD = 33; -pub const WINHTTP_QUERY_ORIG_URI: DWORD = 34; -pub const WINHTTP_QUERY_REFERER: DWORD = 35; -pub const WINHTTP_QUERY_RETRY_AFTER: DWORD = 36; -pub const WINHTTP_QUERY_SERVER: DWORD = 37; -pub const WINHTTP_QUERY_TITLE: DWORD = 38; -pub const WINHTTP_QUERY_USER_AGENT: DWORD = 39; -pub const WINHTTP_QUERY_WWW_AUTHENTICATE: DWORD = 40; -pub const WINHTTP_QUERY_PROXY_AUTHENTICATE: DWORD = 41; -pub const WINHTTP_QUERY_ACCEPT_RANGES: DWORD = 42; -pub const WINHTTP_QUERY_SET_COOKIE: DWORD = 43; -pub const WINHTTP_QUERY_COOKIE: DWORD = 44; -pub const WINHTTP_QUERY_REQUEST_METHOD: DWORD = 45; -pub const WINHTTP_QUERY_REFRESH: DWORD = 46; -pub const WINHTTP_QUERY_CONTENT_DISPOSITION: DWORD = 47; -pub const WINHTTP_QUERY_AGE: DWORD = 48; -pub const WINHTTP_QUERY_CACHE_CONTROL: DWORD = 49; -pub const WINHTTP_QUERY_CONTENT_BASE: DWORD = 50; -pub const WINHTTP_QUERY_CONTENT_LOCATION: DWORD = 51; -pub const WINHTTP_QUERY_CONTENT_MD5: DWORD = 52; -pub const WINHTTP_QUERY_CONTENT_RANGE: DWORD = 53; -pub const WINHTTP_QUERY_ETAG: DWORD = 54; -pub const WINHTTP_QUERY_HOST: DWORD = 55; -pub const WINHTTP_QUERY_IF_MATCH: DWORD = 56; -pub const WINHTTP_QUERY_IF_NONE_MATCH: DWORD = 57; -pub const WINHTTP_QUERY_IF_RANGE: DWORD = 58; -pub const WINHTTP_QUERY_IF_UNMODIFIED_SINCE: DWORD = 59; -pub const WINHTTP_QUERY_MAX_FORWARDS: DWORD = 60; -pub const WINHTTP_QUERY_PROXY_AUTHORIZATION: DWORD = 61; -pub const WINHTTP_QUERY_RANGE: DWORD = 62; -pub const WINHTTP_QUERY_TRANSFER_ENCODING: DWORD = 63; -pub const WINHTTP_QUERY_UPGRADE: DWORD = 64; -pub const WINHTTP_QUERY_VARY: DWORD = 65; -pub const WINHTTP_QUERY_VIA: DWORD = 66; -pub const WINHTTP_QUERY_WARNING: DWORD = 67; -pub const WINHTTP_QUERY_EXPECT: DWORD = 68; -pub const WINHTTP_QUERY_PROXY_CONNECTION: DWORD = 69; -pub const WINHTTP_QUERY_UNLESS_MODIFIED_SINCE: DWORD = 70; -pub const WINHTTP_QUERY_PROXY_SUPPORT: DWORD = 75; -pub const WINHTTP_QUERY_AUTHENTICATION_INFO: DWORD = 76; -pub const WINHTTP_QUERY_PASSPORT_URLS: DWORD = 77; -pub const WINHTTP_QUERY_PASSPORT_CONFIG: DWORD = 78; -pub const WINHTTP_QUERY_MAX: DWORD = 78; -pub const WINHTTP_QUERY_CUSTOM: DWORD = 65535; -pub const WINHTTP_QUERY_FLAG_REQUEST_HEADERS: DWORD = 0x80000000; -pub const WINHTTP_QUERY_FLAG_SYSTEMTIME: DWORD = 0x40000000; -pub const WINHTTP_QUERY_FLAG_NUMBER: DWORD = 0x20000000; -pub const HTTP_STATUS_CONTINUE: DWORD = 100; -pub const HTTP_STATUS_SWITCH_PROTOCOLS: DWORD = 101; -pub const HTTP_STATUS_OK: DWORD = 200; -pub const HTTP_STATUS_CREATED: DWORD = 201; -pub const HTTP_STATUS_ACCEPTED: DWORD = 202; -pub const HTTP_STATUS_PARTIAL: DWORD = 203; -pub const HTTP_STATUS_NO_CONTENT: DWORD = 204; -pub const HTTP_STATUS_RESET_CONTENT: DWORD = 205; -pub const HTTP_STATUS_PARTIAL_CONTENT: DWORD = 206; -pub const HTTP_STATUS_WEBDAV_MULTI_STATUS: DWORD = 207; -pub const HTTP_STATUS_AMBIGUOUS: DWORD = 300; -pub const HTTP_STATUS_MOVED: DWORD = 301; -pub const HTTP_STATUS_REDIRECT: DWORD = 302; -pub const HTTP_STATUS_REDIRECT_METHOD: DWORD = 303; -pub const HTTP_STATUS_NOT_MODIFIED: DWORD = 304; -pub const HTTP_STATUS_USE_PROXY: DWORD = 305; -pub const HTTP_STATUS_REDIRECT_KEEP_VERB: DWORD = 307; -pub const HTTP_STATUS_BAD_REQUEST: DWORD = 400; -pub const HTTP_STATUS_DENIED: DWORD = 401; -pub const HTTP_STATUS_PAYMENT_REQ: DWORD = 402; -pub const HTTP_STATUS_FORBIDDEN: DWORD = 403; -pub const HTTP_STATUS_NOT_FOUND: DWORD = 404; -pub const HTTP_STATUS_BAD_METHOD: DWORD = 405; -pub const HTTP_STATUS_NONE_ACCEPTABLE: DWORD = 406; -pub const HTTP_STATUS_PROXY_AUTH_REQ: DWORD = 407; -pub const HTTP_STATUS_REQUEST_TIMEOUT: DWORD = 408; -pub const HTTP_STATUS_CONFLICT: DWORD = 409; -pub const HTTP_STATUS_GONE: DWORD = 410; -pub const HTTP_STATUS_LENGTH_REQUIRED: DWORD = 411; -pub const HTTP_STATUS_PRECOND_FAILED: DWORD = 412; -pub const HTTP_STATUS_REQUEST_TOO_LARGE: DWORD = 413; -pub const HTTP_STATUS_URI_TOO_LONG: DWORD = 414; -pub const HTTP_STATUS_UNSUPPORTED_MEDIA: DWORD = 415; -pub const HTTP_STATUS_RETRY_WITH: DWORD = 449; -pub const HTTP_STATUS_SERVER_ERROR: DWORD = 500; -pub const HTTP_STATUS_NOT_SUPPORTED: DWORD = 501; -pub const HTTP_STATUS_BAD_GATEWAY: DWORD = 502; -pub const HTTP_STATUS_SERVICE_UNAVAIL: DWORD = 503; -pub const HTTP_STATUS_GATEWAY_TIMEOUT: DWORD = 504; -pub const HTTP_STATUS_VERSION_NOT_SUP: DWORD = 505; -pub const HTTP_STATUS_FIRST: DWORD = HTTP_STATUS_CONTINUE; -pub const HTTP_STATUS_LAST: DWORD = HTTP_STATUS_VERSION_NOT_SUP; -pub const WINHTTP_ACCESS_TYPE_DEFAULT_PROXY: DWORD = 0; -pub const WINHTTP_ACCESS_TYPE_NO_PROXY: DWORD = 1; -pub const WINHTTP_ACCESS_TYPE_NAMED_PROXY: DWORD = 3; -pub const WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY: DWORD = 4; -STRUCT!{struct WINHTTP_CURRENT_USER_IE_PROXY_CONFIG { - fAutoDetect: BOOL, - lpszAutoConfigUrl: LPWSTR, - lpszProxy: LPWSTR, - lpszProxyBypass: LPWSTR, -}} -pub const WINHTTP_ERROR_BASE: DWORD = 12000; -pub const ERROR_WINHTTP_OUT_OF_HANDLES: DWORD = WINHTTP_ERROR_BASE + 1; -pub const ERROR_WINHTTP_TIMEOUT: DWORD = WINHTTP_ERROR_BASE + 2; -pub const ERROR_WINHTTP_INTERNAL_ERROR: DWORD = WINHTTP_ERROR_BASE + 4; -pub const ERROR_WINHTTP_INVALID_URL: DWORD = WINHTTP_ERROR_BASE + 5; -pub const ERROR_WINHTTP_UNRECOGNIZED_SCHEME: DWORD = WINHTTP_ERROR_BASE + 6; -pub const ERROR_WINHTTP_NAME_NOT_RESOLVED: DWORD = WINHTTP_ERROR_BASE + 7; -pub const ERROR_WINHTTP_INVALID_OPTION: DWORD = WINHTTP_ERROR_BASE + 9; -pub const ERROR_WINHTTP_OPTION_NOT_SETTABLE: DWORD = WINHTTP_ERROR_BASE + 11; -pub const ERROR_WINHTTP_SHUTDOWN: DWORD = WINHTTP_ERROR_BASE + 12; -pub const ERROR_WINHTTP_LOGIN_FAILURE: DWORD = WINHTTP_ERROR_BASE + 15; -pub const ERROR_WINHTTP_OPERATION_CANCELLED: DWORD = WINHTTP_ERROR_BASE + 17; -pub const ERROR_WINHTTP_INCORRECT_HANDLE_TYPE: DWORD = WINHTTP_ERROR_BASE + 18; -pub const ERROR_WINHTTP_INCORRECT_HANDLE_STATE: DWORD = WINHTTP_ERROR_BASE + 19; -pub const ERROR_WINHTTP_CANNOT_CONNECT: DWORD = WINHTTP_ERROR_BASE + 29; -pub const ERROR_WINHTTP_CONNECTION_ERROR: DWORD = WINHTTP_ERROR_BASE + 30; -pub const ERROR_WINHTTP_RESEND_REQUEST: DWORD = WINHTTP_ERROR_BASE + 32; -pub const ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED: DWORD = WINHTTP_ERROR_BASE + 44; -pub const ERROR_WINHTTP_CANNOT_CALL_BEFORE_OPEN: DWORD = WINHTTP_ERROR_BASE + 100; -pub const ERROR_WINHTTP_CANNOT_CALL_BEFORE_SEND: DWORD = WINHTTP_ERROR_BASE + 101; -pub const ERROR_WINHTTP_CANNOT_CALL_AFTER_SEND: DWORD = WINHTTP_ERROR_BASE + 102; -pub const ERROR_WINHTTP_CANNOT_CALL_AFTER_OPEN: DWORD = WINHTTP_ERROR_BASE + 103; -pub const ERROR_WINHTTP_HEADER_NOT_FOUND: DWORD = WINHTTP_ERROR_BASE + 150; -pub const ERROR_WINHTTP_INVALID_SERVER_RESPONSE: DWORD = WINHTTP_ERROR_BASE + 152; -pub const ERROR_WINHTTP_INVALID_HEADER: DWORD = WINHTTP_ERROR_BASE + 153; -pub const ERROR_WINHTTP_INVALID_QUERY_REQUEST: DWORD = WINHTTP_ERROR_BASE + 154; -pub const ERROR_WINHTTP_HEADER_ALREADY_EXISTS: DWORD = WINHTTP_ERROR_BASE + 155; -pub const ERROR_WINHTTP_REDIRECT_FAILED: DWORD = WINHTTP_ERROR_BASE + 156; -pub const ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR: DWORD = WINHTTP_ERROR_BASE + 178; -pub const ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT: DWORD = WINHTTP_ERROR_BASE + 166; -pub const ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT: DWORD = WINHTTP_ERROR_BASE + 167; -pub const ERROR_WINHTTP_UNHANDLED_SCRIPT_TYPE: DWORD = WINHTTP_ERROR_BASE + 176; -pub const ERROR_WINHTTP_SCRIPT_EXECUTION_ERROR: DWORD = WINHTTP_ERROR_BASE + 177; -pub const ERROR_WINHTTP_NOT_INITIALIZED: DWORD = WINHTTP_ERROR_BASE + 172; -pub const ERROR_WINHTTP_SECURE_FAILURE: DWORD = WINHTTP_ERROR_BASE + 175; -pub const ERROR_WINHTTP_SECURE_CERT_DATE_INVALID: DWORD = WINHTTP_ERROR_BASE + 37; -pub const ERROR_WINHTTP_SECURE_CERT_CN_INVALID: DWORD = WINHTTP_ERROR_BASE + 38; -pub const ERROR_WINHTTP_SECURE_INVALID_CA: DWORD = WINHTTP_ERROR_BASE + 45; -pub const ERROR_WINHTTP_SECURE_CERT_REV_FAILED: DWORD = WINHTTP_ERROR_BASE + 57; -pub const ERROR_WINHTTP_SECURE_CHANNEL_ERROR: DWORD = WINHTTP_ERROR_BASE + 157; -pub const ERROR_WINHTTP_SECURE_INVALID_CERT: DWORD = WINHTTP_ERROR_BASE + 169; -pub const ERROR_WINHTTP_SECURE_CERT_REVOKED: DWORD = WINHTTP_ERROR_BASE + 170; -pub const ERROR_WINHTTP_SECURE_CERT_WRONG_USAGE: DWORD = WINHTTP_ERROR_BASE + 179; -pub const ERROR_WINHTTP_AUTODETECTION_FAILED: DWORD = WINHTTP_ERROR_BASE + 180; -pub const ERROR_WINHTTP_HEADER_COUNT_EXCEEDED: DWORD = WINHTTP_ERROR_BASE + 181; -pub const ERROR_WINHTTP_HEADER_SIZE_OVERFLOW: DWORD = WINHTTP_ERROR_BASE + 182; -pub const ERROR_WINHTTP_CHUNKED_ENCODING_HEADER_SIZE_OVERFLOW: DWORD = WINHTTP_ERROR_BASE + 183; -pub const ERROR_WINHTTP_RESPONSE_DRAIN_OVERFLOW: DWORD = WINHTTP_ERROR_BASE + 184; -pub const ERROR_WINHTTP_CLIENT_CERT_NO_PRIVATE_KEY: DWORD = WINHTTP_ERROR_BASE + 185; -pub const ERROR_WINHTTP_CLIENT_CERT_NO_ACCESS_PRIVATE_KEY: DWORD = WINHTTP_ERROR_BASE + 186; -pub const WINHTTP_ERROR_LAST: DWORD = WINHTTP_ERROR_BASE + 186; -pub const WINHTTP_RESET_STATE: DWORD = 0x00000001; -pub const WINHTTP_RESET_SWPAD_CURRENT_NETWORK: DWORD = 0x00000002; -pub const WINHTTP_RESET_SWPAD_ALL: DWORD = 0x00000004; -pub const WINHTTP_RESET_SCRIPT_CACHE: DWORD = 0x00000008; -pub const WINHTTP_RESET_ALL: DWORD = 0x0000FFFF; -pub const WINHTTP_RESET_NOTIFY_NETWORK_CHANGED: DWORD = 0x00010000; -pub const WINHTTP_RESET_OUT_OF_PROC: DWORD = 0x00020000; -extern "system" { - pub fn WinHttpSetStatusCallback( - hInternet: HINTERNET, - lpfnInternetCallback: WINHTTP_STATUS_CALLBACK, - dwNotificationFlags: DWORD, - dwReserved: DWORD_PTR, - ) -> WINHTTP_STATUS_CALLBACK; - pub fn WinHttpTimeFromSystemTime( - pst: *const SYSTEMTIME, - pwszTime: LPWSTR, - ) -> BOOL; - pub fn WinHttpTimeToSystemTime( - pwszTime: LPCWSTR, - pst: *mut SYSTEMTIME, - ) -> BOOL; - pub fn WinHttpCrackUrl( - pwszUrl: LPCWSTR, - dwUrlLength: DWORD, - dwFlags: DWORD, - lpUrlComponents: LPURL_COMPONENTS, - ) -> BOOL; - pub fn WinHttpCreateUrl( - lpUrlComponents: LPURL_COMPONENTS, - dwFlags: DWORD, - pwszUrl: LPWSTR, - pdwUrlLength: LPDWORD, - ) -> BOOL; - pub fn WinHttpCheckPlatform() -> BOOL; - pub fn WinHttpGetDefaultProxyConfiguration( - pProxyInfo: *mut WINHTTP_PROXY_INFO, - ) -> BOOL; - pub fn WinHttpSetDefaultProxyConfiguration( - pProxyInfo: *mut WINHTTP_PROXY_INFO, - ) -> BOOL; - pub fn WinHttpOpen( - pszAgentW: LPCWSTR, - dwAccessType: DWORD, - pszProxyW: LPCWSTR, - pszProxyBypassW: LPCWSTR, - dwFlags: DWORD, - ) -> HINTERNET; - pub fn WinHttpCloseHandle( - hInternet: HINTERNET, - ) -> BOOL; - pub fn WinHttpConnect( - hSession: HINTERNET, - pswzServerName: LPCWSTR, - nServerPort: INTERNET_PORT, - dwReserved: DWORD, - ) -> HINTERNET; - pub fn WinHttpReadData( - hRequest: HINTERNET, - lpBuffer: LPVOID, - dwNumberOfBytesToRead: DWORD, - lpdwNumberOfBytesRead: LPDWORD, - ) -> BOOL; - pub fn WinHttpWriteData( - hRequest: HINTERNET, - lpBuffer: LPCVOID, - dwNumberOfBytesToWrite: DWORD, - lpdwNumberOfBytesWritten: LPDWORD, - ) -> BOOL; - pub fn WinHttpQueryDataAvailable( - hRequest: HINTERNET, - lpdwNumberOfBytesAvailable: LPDWORD, - ) -> BOOL; - pub fn WinHttpQueryOption( - hInternet: HINTERNET, - dwOption: DWORD, - lpBuffer: LPVOID, - lpdwBufferLength: LPDWORD, - ) -> BOOL; - pub fn WinHttpSetOption( - hInternet: HINTERNET, - dwOption: DWORD, - lpBuffer: LPVOID, - dwBufferLength: DWORD, - ) -> BOOL; - pub fn WinHttpSetTimeouts( - hInternet: HINTERNET, - nResolveTimeout: c_int, - nConnectTimeout: c_int, - nSendTimeout: c_int, - nReceiveTimeout: c_int, - ) -> BOOL; - pub fn WinHttpOpenRequest( - hConnect: HINTERNET, - pwszVerb: LPCWSTR, - pwszObjectName: LPCWSTR, - pwszVersion: LPCWSTR, - pwszReferrer: LPCWSTR, - ppwszAcceptTypes: *mut LPCWSTR, - dwFlags: DWORD, - ) -> HINTERNET; - pub fn WinHttpAddRequestHeaders( - hRequest: HINTERNET, - lpszHeaders: LPCWSTR, - dwHeadersLength: DWORD, - dwModifiers: DWORD, - ) -> BOOL; - pub fn WinHttpSendRequest( - hRequest: HINTERNET, - lpszHeaders: LPCWSTR, - dwHeadersLength: DWORD, - lpOptional: LPVOID, - dwOptionalLength: DWORD, - dwTotalLength: DWORD, - dwContext: DWORD_PTR, - ) -> BOOL; - pub fn WinHttpSetCredentials( - hRequest: HINTERNET, - AuthTargets: DWORD, - AuthScheme: DWORD, - pwszUserName: LPCWSTR, - pwszPassword: LPCWSTR, - pAuthParams: LPVOID, - ) -> BOOL; - pub fn WinHttpQueryAuthSchemes( - hRequest: HINTERNET, - lpdwSupportedSchemes: LPDWORD, - lpdwFirstScheme: LPDWORD, - pdwAuthTarget: LPDWORD, - ) -> BOOL; - pub fn WinHttpReceiveResponse( - hRequest: HINTERNET, - lpReserved: LPVOID, - ) -> BOOL; - pub fn WinHttpQueryHeaders( - hRequest: HINTERNET, - dwInfoLevel: DWORD, - pwszName: LPCWSTR, - lpBuffer: LPVOID, - lpdwBufferLength: LPDWORD, - lpdwIndex: LPDWORD, - ) -> BOOL; - pub fn WinHttpDetectAutoProxyConfigUrl( - dwAutoDetectFlags: DWORD, - ppwstrAutoConfigUrl: *mut LPWSTR, - ) -> BOOL; - pub fn WinHttpGetProxyForUrl( - hSession: HINTERNET, - lpcwszUrl: LPCWSTR, - pAutoProxyOptions: *mut WINHTTP_AUTOPROXY_OPTIONS, - pProxyInfo: *mut WINHTTP_PROXY_INFO, - ) -> BOOL; - pub fn WinHttpCreateProxyResolver( - hSession: HINTERNET, - phResolver: *mut HINTERNET, - ) -> DWORD; - pub fn WinHttpGetProxyForUrlEx( - hResolver: HINTERNET, - pcwszUrl: PCWSTR, - pAutoProxyOptions: *mut WINHTTP_AUTOPROXY_OPTIONS, - pContext: DWORD_PTR, - ) -> DWORD; - pub fn WinHttpGetProxyResult( - hResolver: HINTERNET, - pProxyResult: *mut WINHTTP_PROXY_RESULT, - ) -> DWORD; - pub fn WinHttpFreeProxyResult( - pProxyResult: *mut WINHTTP_PROXY_RESULT, - ); - pub fn WinHttpResetAutoProxy( - hSession: HINTERNET, - dwFlags: DWORD, - ) -> DWORD; - pub fn WinHttpGetIEProxyConfigForCurrentUser( - pProxyConfig: *mut WINHTTP_CURRENT_USER_IE_PROXY_CONFIG, - ) -> BOOL; -} -ENUM!{enum WINHTTP_WEB_SOCKET_OPERATION { - WINHTTP_WEB_SOCKET_SEND_OPERATION = 0, - WINHTTP_WEB_SOCKET_RECEIVE_OPERATION = 1, - WINHTTP_WEB_SOCKET_CLOSE_OPERATION = 2, - WINHTTP_WEB_SOCKET_SHUTDOWN_OPERATION = 3, -}} -ENUM!{enum WINHTTP_WEB_SOCKET_BUFFER_TYPE { - WINHTTP_WEB_SOCKET_BINARY_MESSAGE_BUFFER_TYPE = 0, - WINHTTP_WEB_SOCKET_BINARY_FRAGMENT_BUFFER_TYPE = 1, - WINHTTP_WEB_SOCKET_UTF8_MESSAGE_BUFFER_TYPE = 2, - WINHTTP_WEB_SOCKET_UTF8_FRAGMENT_BUFFER_TYPE = 3, - WINHTTP_WEB_SOCKET_CLOSE_BUFFER_TYPE = 4, -}} -ENUM!{enum WINHTTP_WEB_SOCKET_CLOSE_STATUS { - WINHTTP_WEB_SOCKET_SUCCESS_CLOSE_STATUS = 1000, - WINHTTP_WEB_SOCKET_ENDPOINT_TERMINATED_CLOSE_STATUS = 1001, - WINHTTP_WEB_SOCKET_PROTOCOL_ERROR_CLOSE_STATUS = 1002, - WINHTTP_WEB_SOCKET_INVALID_DATA_TYPE_CLOSE_STATUS = 1003, - WINHTTP_WEB_SOCKET_EMPTY_CLOSE_STATUS = 1005, - WINHTTP_WEB_SOCKET_ABORTED_CLOSE_STATUS = 1006, - WINHTTP_WEB_SOCKET_INVALID_PAYLOAD_CLOSE_STATUS = 1007, - WINHTTP_WEB_SOCKET_POLICY_VIOLATION_CLOSE_STATUS = 1008, - WINHTTP_WEB_SOCKET_MESSAGE_TOO_BIG_CLOSE_STATUS = 1009, - WINHTTP_WEB_SOCKET_UNSUPPORTED_EXTENSIONS_CLOSE_STATUS = 1010, - WINHTTP_WEB_SOCKET_SERVER_ERROR_CLOSE_STATUS = 1011, - WINHTTP_WEB_SOCKET_SECURE_HANDSHAKE_ERROR_CLOSE_STATUS = 1015, -}} -extern "system" { - pub fn WinHttpWebSocketCompleteUpgrade( - hRequest: HINTERNET, - pContext: DWORD_PTR, - ) -> HINTERNET; - pub fn WinHttpWebSocketSend( - hWebSocket: HINTERNET, - eBufferType: WINHTTP_WEB_SOCKET_BUFFER_TYPE, - pvBuffer: PVOID, - dwBufferLength: DWORD, - ) -> DWORD; - pub fn WinHttpWebSocketReceive( - hWebSocket: HINTERNET, - pvBuffer: PVOID, - dwBufferLength: DWORD, - pdwBytesRead: *mut DWORD, - peBufferType: *mut WINHTTP_WEB_SOCKET_BUFFER_TYPE, - ) -> DWORD; - pub fn WinHttpWebSocketShutdown( - hWebSocket: HINTERNET, - usStatus: USHORT, - pvReason: PVOID, - dwReasonLength: DWORD, - ) -> DWORD; - pub fn WinHttpWebSocketClose( - hWebSocket: HINTERNET, - usStatus: USHORT, - pvReason: PVOID, - dwReasonLength: DWORD, - ) -> DWORD; - pub fn WinHttpWebSocketQueryCloseStatus( - hWebSocket: HINTERNET, - pusStatus: *mut USHORT, - pvReason: PVOID, - dwReasonLength: DWORD, - pdwReasonLengthConsumed: *mut DWORD, - ) -> DWORD; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/wininet.rs b/vendor/registry-40351f815f426200/winapi/src/um/wininet.rs deleted file mode 100644 index 9a83d6a5d..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/wininet.rs +++ /dev/null @@ -1,2364 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Windows Internet Services API procedure declarations, types and constants. -use ctypes::c_int; -use shared::basetsd::DWORD_PTR; -use shared::minwindef::{ - BOOL, DWORD, FALSE, FILETIME, INT, LPBYTE, - LPCVOID, LPDWORD, LPVOID, PBYTE, PDWORD, TRUE, WORD, -}; -use shared::ntdef::{LONG, LONGLONG, PLONG}; -use shared::windef::HWND; -use um::minwinbase::{LPWIN32_FIND_DATAA, LPWIN32_FIND_DATAW, SYSTEMTIME}; -use um::winineti::INTERNET_FLAG_BGUPDATE; -use um::winnt::{ - CHAR, DWORDLONG, HANDLE, LPCSTR, LPCWSTR, - LPSTR, LPWSTR, PCWSTR, PSTR, PWSTR, WCHAR, -}; -pub type HINTERNET = LPVOID; -pub type LPHINTERNET = *mut HINTERNET; -pub type INTERNET_PORT = WORD; -pub type LPINTERNET_PORT = *mut INTERNET_PORT; -pub const INTERNET_INVALID_PORT_NUMBER: DWORD = 0; -pub const INTERNET_DEFAULT_FTP_PORT: DWORD = 21; -pub const INTERNET_DEFAULT_GOPHER_PORT: DWORD = 70; -pub const INTERNET_DEFAULT_HTTP_PORT: DWORD = 80; -pub const INTERNET_DEFAULT_HTTPS_PORT: DWORD = 443; -pub const INTERNET_DEFAULT_SOCKS_PORT: DWORD = 1080; -pub const INTERNET_MAX_HOST_NAME_LENGTH: usize = 256; -pub const INTERNET_MAX_USER_NAME_LENGTH: usize = 128; -pub const INTERNET_MAX_PASSWORD_LENGTH: usize = 128; -pub const INTERNET_MAX_PORT_NUMBER_LENGTH: usize = 5; -pub const INTERNET_MAX_PORT_NUMBER_VALUE: DWORD = 65535; -pub const INTERNET_MAX_PATH_LENGTH: usize = 2048; -pub const INTERNET_MAX_SCHEME_LENGTH: usize = 32; -pub const INTERNET_MAX_URL_LENGTH: usize = INTERNET_MAX_SCHEME_LENGTH + 3 - + INTERNET_MAX_PATH_LENGTH; -pub const INTERNET_KEEP_ALIVE_UNKNOWN: DWORD = -1i32 as u32; -pub const INTERNET_KEEP_ALIVE_ENABLED: DWORD = 1; -pub const INTERNET_KEEP_ALIVE_DISABLED: DWORD = 0; -pub const INTERNET_REQFLAG_FROM_CACHE: DWORD = 0x00000001; -pub const INTERNET_REQFLAG_ASYNC: DWORD = 0x00000002; -pub const INTERNET_REQFLAG_VIA_PROXY: DWORD = 0x00000004; -pub const INTERNET_REQFLAG_NO_HEADERS: DWORD = 0x00000008; -pub const INTERNET_REQFLAG_PASSIVE: DWORD = 0x00000010; -pub const INTERNET_REQFLAG_CACHE_WRITE_DISABLED: DWORD = 0x00000040; -pub const INTERNET_REQFLAG_NET_TIMEOUT: DWORD = 0x00000080; -pub const INTERNET_FLAG_IDN_DIRECT: DWORD = 0x00000001; -pub const INTERNET_FLAG_IDN_PROXY: DWORD = 0x00000002; -pub const INTERNET_FLAG_RELOAD: DWORD = 0x80000000; -pub const INTERNET_FLAG_RAW_DATA: DWORD = 0x40000000; -pub const INTERNET_FLAG_EXISTING_CONNECT: DWORD = 0x20000000; -pub const INTERNET_FLAG_ASYNC: DWORD = 0x10000000; -pub const INTERNET_FLAG_PASSIVE: DWORD = 0x08000000; -pub const INTERNET_FLAG_NO_CACHE_WRITE: DWORD = 0x04000000; -pub const INTERNET_FLAG_DONT_CACHE: DWORD = INTERNET_FLAG_NO_CACHE_WRITE; -pub const INTERNET_FLAG_MAKE_PERSISTENT: DWORD = 0x02000000; -pub const INTERNET_FLAG_FROM_CACHE: DWORD = 0x01000000; -pub const INTERNET_FLAG_OFFLINE: DWORD = INTERNET_FLAG_FROM_CACHE; -pub const INTERNET_FLAG_SECURE: DWORD = 0x00800000; -pub const INTERNET_FLAG_KEEP_CONNECTION: DWORD = 0x00400000; -pub const INTERNET_FLAG_NO_AUTO_REDIRECT: DWORD = 0x00200000; -pub const INTERNET_FLAG_READ_PREFETCH: DWORD = 0x00100000; -pub const INTERNET_FLAG_NO_COOKIES: DWORD = 0x00080000; -pub const INTERNET_FLAG_NO_AUTH: DWORD = 0x00040000; -pub const INTERNET_FLAG_RESTRICTED_ZONE: DWORD = 0x00020000; -pub const INTERNET_FLAG_CACHE_IF_NET_FAIL: DWORD = 0x00010000; -pub const INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP: DWORD = 0x00008000; -pub const INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS: DWORD = 0x00004000; -pub const INTERNET_FLAG_IGNORE_CERT_DATE_INVALID: DWORD = 0x00002000; -pub const INTERNET_FLAG_IGNORE_CERT_CN_INVALID: DWORD = 0x00001000; -pub const INTERNET_FLAG_RESYNCHRONIZE: DWORD = 0x00000800; -pub const INTERNET_FLAG_HYPERLINK: DWORD = 0x00000400; -pub const INTERNET_FLAG_NO_UI: DWORD = 0x00000200; -pub const INTERNET_FLAG_PRAGMA_NOCACHE: DWORD = 0x00000100; -pub const INTERNET_FLAG_CACHE_ASYNC: DWORD = 0x00000080; -pub const INTERNET_FLAG_FORMS_SUBMIT: DWORD = 0x00000040; -pub const INTERNET_FLAG_FWD_BACK: DWORD = 0x00000020; -pub const INTERNET_FLAG_NEED_FILE: DWORD = 0x00000010; -pub const INTERNET_FLAG_MUST_CACHE_REQUEST: DWORD = INTERNET_FLAG_NEED_FILE; -pub const INTERNET_FLAG_TRANSFER_ASCII: DWORD = FTP_TRANSFER_TYPE_ASCII; -pub const INTERNET_FLAG_TRANSFER_BINARY: DWORD = FTP_TRANSFER_TYPE_BINARY; -pub const SECURITY_INTERNET_MASK: DWORD = INTERNET_FLAG_IGNORE_CERT_CN_INVALID - | INTERNET_FLAG_IGNORE_CERT_DATE_INVALID | INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS - | INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP; -pub const SECURITY_IGNORE_ERROR_MASK: DWORD = INTERNET_FLAG_IGNORE_CERT_CN_INVALID - | INTERNET_FLAG_IGNORE_CERT_DATE_INVALID | SECURITY_FLAG_IGNORE_UNKNOWN_CA - | SECURITY_FLAG_IGNORE_REVOCATION; -pub const INTERNET_FLAGS_MASK: DWORD = INTERNET_FLAG_RELOAD | INTERNET_FLAG_RAW_DATA - | INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_ASYNC | INTERNET_FLAG_PASSIVE - | INTERNET_FLAG_NO_CACHE_WRITE | INTERNET_FLAG_MAKE_PERSISTENT | INTERNET_FLAG_FROM_CACHE - | INTERNET_FLAG_SECURE | INTERNET_FLAG_KEEP_CONNECTION | INTERNET_FLAG_NO_AUTO_REDIRECT - | INTERNET_FLAG_READ_PREFETCH | INTERNET_FLAG_NO_COOKIES | INTERNET_FLAG_NO_AUTH - | INTERNET_FLAG_CACHE_IF_NET_FAIL | SECURITY_INTERNET_MASK | INTERNET_FLAG_RESYNCHRONIZE - | INTERNET_FLAG_HYPERLINK | INTERNET_FLAG_NO_UI | INTERNET_FLAG_PRAGMA_NOCACHE - | INTERNET_FLAG_CACHE_ASYNC | INTERNET_FLAG_FORMS_SUBMIT | INTERNET_FLAG_NEED_FILE - | INTERNET_FLAG_RESTRICTED_ZONE | INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_TRANSFER_ASCII - | INTERNET_FLAG_FWD_BACK | INTERNET_FLAG_BGUPDATE; -pub const INTERNET_ERROR_MASK_INSERT_CDROM: DWORD = 0x1; -pub const INTERNET_ERROR_MASK_COMBINED_SEC_CERT: DWORD = 0x2; -pub const INTERNET_ERROR_MASK_NEED_MSN_SSPI_PKG: DWORD = 0x4; -pub const INTERNET_ERROR_MASK_LOGIN_FAILURE_DISPLAY_ENTITY_BODY: DWORD = 0x8; -pub const INTERNET_OPTIONS_MASK: DWORD = !INTERNET_FLAGS_MASK; -pub const WININET_API_FLAG_ASYNC: DWORD = 0x00000001; -pub const WININET_API_FLAG_SYNC: DWORD = 0x00000004; -pub const WININET_API_FLAG_USE_CONTEXT: DWORD = 0x00000008; -pub const INTERNET_NO_CALLBACK: DWORD = 0; -ENUM!{enum INTERNET_SCHEME { - INTERNET_SCHEME_PARTIAL = -2i32 as u32, - INTERNET_SCHEME_UNKNOWN = -1i32 as u32, - INTERNET_SCHEME_DEFAULT = 0, - INTERNET_SCHEME_FTP, - INTERNET_SCHEME_GOPHER, - INTERNET_SCHEME_HTTP, - INTERNET_SCHEME_HTTPS, - INTERNET_SCHEME_FILE, - INTERNET_SCHEME_NEWS, - INTERNET_SCHEME_MAILTO, - INTERNET_SCHEME_SOCKS, - INTERNET_SCHEME_JAVASCRIPT, - INTERNET_SCHEME_VBSCRIPT, - INTERNET_SCHEME_RES, - INTERNET_SCHEME_FIRST = INTERNET_SCHEME_FTP, - INTERNET_SCHEME_LAST = INTERNET_SCHEME_RES, -}} -pub type LPINTERNET_SCHEME = *mut INTERNET_SCHEME; -STRUCT!{struct INTERNET_ASYNC_RESULT { - dwResult: DWORD_PTR, - dwError: DWORD, -}} -pub type LPINTERNET_ASYNC_RESULT = *mut INTERNET_ASYNC_RESULT; -STRUCT!{struct INTERNET_DIAGNOSTIC_SOCKET_INFO { - Socket: DWORD_PTR, - SourcePort: DWORD, - DestPort: DWORD, - Flags: DWORD, -}} -pub type LPINTERNET_DIAGNOSTIC_SOCKET_INFO = *mut INTERNET_DIAGNOSTIC_SOCKET_INFO; -pub const IDSI_FLAG_KEEP_ALIVE: DWORD = 0x00000001; -pub const IDSI_FLAG_SECURE: DWORD = 0x00000002; -pub const IDSI_FLAG_PROXY: DWORD = 0x00000004; -pub const IDSI_FLAG_TUNNEL: DWORD = 0x00000008; -STRUCT!{struct INTERNET_PROXY_INFO { - dwAccessType: DWORD, - lpszProxy: LPCWSTR, - lpszProxyBypass: LPCWSTR, -}} -pub type LPINTERNET_PROXY_INFO = *mut INTERNET_PROXY_INFO; -UNION!{union INTERNET_PER_CONN_OPTIONA_Value { - [u32; 2] [u64; 1], - dwValue dwValue_mut: DWORD, - pszValue pszValue_mut: LPSTR, - ftValue ftValue_mut: FILETIME, -}} -STRUCT!{struct INTERNET_PER_CONN_OPTIONA { - dwOption: DWORD, - Value: INTERNET_PER_CONN_OPTIONA_Value, -}} -pub type LPINTERNET_PER_CONN_OPTIONA = *mut INTERNET_PER_CONN_OPTIONA; -UNION!{union INTERNET_PER_CONN_OPTIONW_Value { - [u32; 2] [u64; 1], - dwValue dwValue_mut: DWORD, - pszValue pszValue_mut: LPWSTR, - ftValue ftValue_mut: FILETIME, -}} -STRUCT!{struct INTERNET_PER_CONN_OPTIONW { - dwOption: DWORD, - Value: INTERNET_PER_CONN_OPTIONW_Value, -}} -pub type LPINTERNET_PER_CONN_OPTIONW = *mut INTERNET_PER_CONN_OPTIONW; -STRUCT!{struct INTERNET_PER_CONN_OPTION_LISTA { - dwSize: DWORD, - pszConnection: LPSTR, - dwOptionCount: DWORD, - dwOptionError: DWORD, - pOptions: LPINTERNET_PER_CONN_OPTIONA, -}} -pub type LPINTERNET_PER_CONN_OPTION_LISTA = *mut INTERNET_PER_CONN_OPTION_LISTA; -STRUCT!{struct INTERNET_PER_CONN_OPTION_LISTW { - dwSize: DWORD, - pszConnection: LPWSTR, - dwOptionCount: DWORD, - dwOptionError: DWORD, - pOptions: LPINTERNET_PER_CONN_OPTIONW, -}} -pub type LPINTERNET_PER_CONN_OPTION_LISTW = *mut INTERNET_PER_CONN_OPTION_LISTW; -pub const INTERNET_PER_CONN_FLAGS: DWORD = 1; -pub const INTERNET_PER_CONN_PROXY_SERVER: DWORD = 2; -pub const INTERNET_PER_CONN_PROXY_BYPASS: DWORD = 3; -pub const INTERNET_PER_CONN_AUTOCONFIG_URL: DWORD = 4; -pub const INTERNET_PER_CONN_AUTODISCOVERY_FLAGS: DWORD = 5; -pub const INTERNET_PER_CONN_AUTOCONFIG_SECONDARY_URL: DWORD = 6; -pub const INTERNET_PER_CONN_AUTOCONFIG_RELOAD_DELAY_MINS: DWORD = 7; -pub const INTERNET_PER_CONN_AUTOCONFIG_LAST_DETECT_TIME: DWORD = 8; -pub const INTERNET_PER_CONN_AUTOCONFIG_LAST_DETECT_URL: DWORD = 9; -pub const INTERNET_PER_CONN_FLAGS_UI: DWORD = 10; -pub const PROXY_TYPE_DIRECT: DWORD = 0x00000001; -pub const PROXY_TYPE_PROXY: DWORD = 0x00000002; -pub const PROXY_TYPE_AUTO_PROXY_URL: DWORD = 0x00000004; -pub const PROXY_TYPE_AUTO_DETECT: DWORD = 0x00000008; -pub const AUTO_PROXY_FLAG_USER_SET: DWORD = 0x00000001; -pub const AUTO_PROXY_FLAG_ALWAYS_DETECT: DWORD = 0x00000002; -pub const AUTO_PROXY_FLAG_DETECTION_RUN: DWORD = 0x00000004; -pub const AUTO_PROXY_FLAG_MIGRATED: DWORD = 0x00000008; -pub const AUTO_PROXY_FLAG_DONT_CACHE_PROXY_RESULT: DWORD = 0x00000010; -pub const AUTO_PROXY_FLAG_CACHE_INIT_RUN: DWORD = 0x00000020; -pub const AUTO_PROXY_FLAG_DETECTION_SUSPECT: DWORD = 0x00000040; -STRUCT!{struct INTERNET_VERSION_INFO { - dwMajorVersion: DWORD, - dwMinorVersion: DWORD, -}} -pub type LPINTERNET_VERSION_INFO = *mut INTERNET_VERSION_INFO; -STRUCT!{struct HTTP_VERSION_INFO { - dwMajorVersion: DWORD, - dwMinorVersion: DWORD, -}} -pub type LPHTTP_VERSION_INFO = *mut HTTP_VERSION_INFO; -STRUCT!{struct INTERNET_CONNECTED_INFO { - dwConnectedState: DWORD, - dwFlags: DWORD, -}} -pub type LPINTERNET_CONNECTED_INFO = *mut INTERNET_CONNECTED_INFO; -pub const ISO_FORCE_DISCONNECTED: DWORD = 0x00000001; -STRUCT!{struct URL_COMPONENTSA { - dwStructSize: DWORD, - lpszScheme: LPSTR, - dwSchemeLength: DWORD, - nScheme: INTERNET_SCHEME, - lpszHostName: LPSTR, - dwHostNameLength: DWORD, - nPort: INTERNET_PORT, - lpszUserName: LPSTR, - dwUserNameLength: DWORD, - lpszPassword: LPSTR, - dwPasswordLength: DWORD, - lpszUrlPath: LPSTR, - dwUrlPathLength: DWORD, - lpszExtraInfo: LPSTR, - dwExtraInfoLength: DWORD, -}} -pub type LPURL_COMPONENTSA = *mut URL_COMPONENTSA; -STRUCT!{struct URL_COMPONENTSW { - dwStructSize: DWORD, - lpszScheme: LPWSTR, - dwSchemeLength: DWORD, - nScheme: INTERNET_SCHEME, - lpszHostName: LPWSTR, - dwHostNameLength: DWORD, - nPort: INTERNET_PORT, - lpszUserName: LPWSTR, - dwUserNameLength: DWORD, - lpszPassword: LPWSTR, - dwPasswordLength: DWORD, - lpszUrlPath: LPWSTR, - dwUrlPathLength: DWORD, - lpszExtraInfo: LPWSTR, - dwExtraInfoLength: DWORD, -}} -pub type LPURL_COMPONENTSW = *mut URL_COMPONENTSW; -STRUCT!{struct INTERNET_CERTIFICATE_INFO { - ftExpiry: FILETIME, - ftStart: FILETIME, - lpszSubjectInfo: LPWSTR, - lpszIssuerInfo: LPWSTR, - lpszProtocolName: LPWSTR, - lpszSignatureAlgName: LPWSTR, - lpszEncryptionAlgName: LPWSTR, - dwKeySize: DWORD, -}} -pub type LPINTERNET_CERTIFICATE_INFO = *mut INTERNET_CERTIFICATE_INFO; -STRUCT!{struct INTERNET_BUFFERSA { - dwStructSize: DWORD, - Next: *mut INTERNET_BUFFERSA, - lpcszHeader: LPCSTR, - dwHeadersLength: DWORD, - dwHeadersTotal: DWORD, - lpvBuffer: LPVOID, - dwBufferLength: DWORD, - dwBufferTotal: DWORD, - dwOffsetLow: DWORD, - dwOffsetHigh: DWORD, -}} -pub type LPINTERNET_BUFFERSA = *mut INTERNET_BUFFERSA; -STRUCT!{struct INTERNET_BUFFERSW { - dwStructSize: DWORD, - Next: *mut INTERNET_BUFFERSW, - lpcszHeader: LPCWSTR, - dwHeadersLength: DWORD, - dwHeadersTotal: DWORD, - lpvBuffer: LPVOID, - dwBufferLength: DWORD, - dwBufferTotal: DWORD, - dwOffsetLow: DWORD, - dwOffsetHigh: DWORD, -}} -pub type LPINTERNET_BUFFERSW = *mut INTERNET_BUFFERSW; -pub const INTERNET_RFC1123_FORMAT: DWORD = 0; -pub const INTERNET_RFC1123_BUFSIZE: DWORD = 30; -pub const ICU_ESCAPE: DWORD = 0x80000000; -pub const ICU_USERNAME: DWORD = 0x40000000; -pub const ICU_NO_ENCODE: DWORD = 0x20000000; -pub const ICU_DECODE: DWORD = 0x10000000; -pub const ICU_NO_META: DWORD = 0x08000000; -pub const ICU_ENCODE_SPACES_ONLY: DWORD = 0x04000000; -pub const ICU_BROWSER_MODE: DWORD = 0x02000000; -pub const ICU_ENCODE_PERCENT: DWORD = 0x00001000; -pub const INTERNET_OPEN_TYPE_PRECONFIG: DWORD = 0; -pub const INTERNET_OPEN_TYPE_DIRECT: DWORD = 1; -pub const INTERNET_OPEN_TYPE_PROXY: DWORD = 3; -pub const INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY: DWORD = 4; -pub const PRE_CONFIG_INTERNET_ACCESS: DWORD = INTERNET_OPEN_TYPE_PRECONFIG; -pub const LOCAL_INTERNET_ACCESS: DWORD = INTERNET_OPEN_TYPE_DIRECT; -pub const CERN_PROXY_INTERNET_ACCESS: DWORD = INTERNET_OPEN_TYPE_PROXY; -pub const INTERNET_SERVICE_FTP: DWORD = 1; -pub const INTERNET_SERVICE_GOPHER: DWORD = 2; -pub const INTERNET_SERVICE_HTTP: DWORD = 3; -pub const IRF_ASYNC: DWORD = WININET_API_FLAG_ASYNC; -pub const IRF_SYNC: DWORD = WININET_API_FLAG_SYNC; -pub const IRF_USE_CONTEXT: DWORD = WININET_API_FLAG_USE_CONTEXT; -pub const IRF_NO_WAIT: DWORD = 0x00000008; -pub const ISO_GLOBAL: DWORD = 0x00000001; -pub const ISO_REGISTRY: DWORD = 0x00000002; -pub const ISO_VALID_FLAGS: DWORD = ISO_GLOBAL | ISO_REGISTRY; -pub const INTERNET_OPTION_CALLBACK: DWORD = 1; -pub const INTERNET_OPTION_CONNECT_TIMEOUT: DWORD = 2; -pub const INTERNET_OPTION_CONNECT_RETRIES: DWORD = 3; -pub const INTERNET_OPTION_CONNECT_BACKOFF: DWORD = 4; -pub const INTERNET_OPTION_SEND_TIMEOUT: DWORD = 5; -pub const INTERNET_OPTION_CONTROL_SEND_TIMEOUT: DWORD = INTERNET_OPTION_SEND_TIMEOUT; -pub const INTERNET_OPTION_RECEIVE_TIMEOUT: DWORD = 6; -pub const INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT: DWORD = INTERNET_OPTION_RECEIVE_TIMEOUT; -pub const INTERNET_OPTION_DATA_SEND_TIMEOUT: DWORD = 7; -pub const INTERNET_OPTION_DATA_RECEIVE_TIMEOUT: DWORD = 8; -pub const INTERNET_OPTION_HANDLE_TYPE: DWORD = 9; -pub const INTERNET_OPTION_LISTEN_TIMEOUT: DWORD = 11; -pub const INTERNET_OPTION_READ_BUFFER_SIZE: DWORD = 12; -pub const INTERNET_OPTION_WRITE_BUFFER_SIZE: DWORD = 13; -pub const INTERNET_OPTION_ASYNC_ID: DWORD = 15; -pub const INTERNET_OPTION_ASYNC_PRIORITY: DWORD = 16; -pub const INTERNET_OPTION_PARENT_HANDLE: DWORD = 21; -pub const INTERNET_OPTION_KEEP_CONNECTION: DWORD = 22; -pub const INTERNET_OPTION_REQUEST_FLAGS: DWORD = 23; -pub const INTERNET_OPTION_EXTENDED_ERROR: DWORD = 24; -pub const INTERNET_OPTION_OFFLINE_MODE: DWORD = 26; -pub const INTERNET_OPTION_CACHE_STREAM_HANDLE: DWORD = 27; -pub const INTERNET_OPTION_USERNAME: DWORD = 28; -pub const INTERNET_OPTION_PASSWORD: DWORD = 29; -pub const INTERNET_OPTION_ASYNC: DWORD = 30; -pub const INTERNET_OPTION_SECURITY_FLAGS: DWORD = 31; -pub const INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT: DWORD = 32; -pub const INTERNET_OPTION_DATAFILE_NAME: DWORD = 33; -pub const INTERNET_OPTION_URL: DWORD = 34; -pub const INTERNET_OPTION_SECURITY_CERTIFICATE: DWORD = 35; -pub const INTERNET_OPTION_SECURITY_KEY_BITNESS: DWORD = 36; -pub const INTERNET_OPTION_REFRESH: DWORD = 37; -pub const INTERNET_OPTION_PROXY: DWORD = 38; -pub const INTERNET_OPTION_SETTINGS_CHANGED: DWORD = 39; -pub const INTERNET_OPTION_VERSION: DWORD = 40; -pub const INTERNET_OPTION_USER_AGENT: DWORD = 41; -pub const INTERNET_OPTION_END_BROWSER_SESSION: DWORD = 42; -pub const INTERNET_OPTION_PROXY_USERNAME: DWORD = 43; -pub const INTERNET_OPTION_PROXY_PASSWORD: DWORD = 44; -pub const INTERNET_OPTION_CONTEXT_VALUE: DWORD = 45; -pub const INTERNET_OPTION_CONNECT_LIMIT: DWORD = 46; -pub const INTERNET_OPTION_SECURITY_SELECT_CLIENT_CERT: DWORD = 47; -pub const INTERNET_OPTION_POLICY: DWORD = 48; -pub const INTERNET_OPTION_DISCONNECTED_TIMEOUT: DWORD = 49; -pub const INTERNET_OPTION_CONNECTED_STATE: DWORD = 50; -pub const INTERNET_OPTION_IDLE_STATE: DWORD = 51; -pub const INTERNET_OPTION_OFFLINE_SEMANTICS: DWORD = 52; -pub const INTERNET_OPTION_SECONDARY_CACHE_KEY: DWORD = 53; -pub const INTERNET_OPTION_CALLBACK_FILTER: DWORD = 54; -pub const INTERNET_OPTION_CONNECT_TIME: DWORD = 55; -pub const INTERNET_OPTION_SEND_THROUGHPUT: DWORD = 56; -pub const INTERNET_OPTION_RECEIVE_THROUGHPUT: DWORD = 57; -pub const INTERNET_OPTION_REQUEST_PRIORITY: DWORD = 58; -pub const INTERNET_OPTION_HTTP_VERSION: DWORD = 59; -pub const INTERNET_OPTION_RESET_URLCACHE_SESSION: DWORD = 60; -pub const INTERNET_OPTION_ERROR_MASK: DWORD = 62; -pub const INTERNET_OPTION_FROM_CACHE_TIMEOUT: DWORD = 63; -pub const INTERNET_OPTION_BYPASS_EDITED_ENTRY: DWORD = 64; -pub const INTERNET_OPTION_HTTP_DECODING: DWORD = 65; -pub const INTERNET_OPTION_DIAGNOSTIC_SOCKET_INFO: DWORD = 67; -pub const INTERNET_OPTION_CODEPAGE: DWORD = 68; -pub const INTERNET_OPTION_CACHE_TIMESTAMPS: DWORD = 69; -pub const INTERNET_OPTION_DISABLE_AUTODIAL: DWORD = 70; -pub const INTERNET_OPTION_MAX_CONNS_PER_SERVER: DWORD = 73; -pub const INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER: DWORD = 74; -pub const INTERNET_OPTION_PER_CONNECTION_OPTION: DWORD = 75; -pub const INTERNET_OPTION_DIGEST_AUTH_UNLOAD: DWORD = 76; -pub const INTERNET_OPTION_IGNORE_OFFLINE: DWORD = 77; -pub const INTERNET_OPTION_IDENTITY: DWORD = 78; -pub const INTERNET_OPTION_REMOVE_IDENTITY: DWORD = 79; -pub const INTERNET_OPTION_ALTER_IDENTITY: DWORD = 80; -pub const INTERNET_OPTION_SUPPRESS_BEHAVIOR: DWORD = 81; -pub const INTERNET_OPTION_AUTODIAL_MODE: DWORD = 82; -pub const INTERNET_OPTION_AUTODIAL_CONNECTION: DWORD = 83; -pub const INTERNET_OPTION_CLIENT_CERT_CONTEXT: DWORD = 84; -pub const INTERNET_OPTION_AUTH_FLAGS: DWORD = 85; -pub const INTERNET_OPTION_COOKIES_3RD_PARTY: DWORD = 86; -pub const INTERNET_OPTION_DISABLE_PASSPORT_AUTH: DWORD = 87; -pub const INTERNET_OPTION_SEND_UTF8_SERVERNAME_TO_PROXY: DWORD = 88; -pub const INTERNET_OPTION_EXEMPT_CONNECTION_LIMIT: DWORD = 89; -pub const INTERNET_OPTION_ENABLE_PASSPORT_AUTH: DWORD = 90; -pub const INTERNET_OPTION_HIBERNATE_INACTIVE_WORKER_THREADS: DWORD = 91; -pub const INTERNET_OPTION_ACTIVATE_WORKER_THREADS: DWORD = 92; -pub const INTERNET_OPTION_RESTORE_WORKER_THREAD_DEFAULTS: DWORD = 93; -pub const INTERNET_OPTION_SOCKET_SEND_BUFFER_LENGTH: DWORD = 94; -pub const INTERNET_OPTION_PROXY_SETTINGS_CHANGED: DWORD = 95; -pub const INTERNET_OPTION_DATAFILE_EXT: DWORD = 96; -pub const INTERNET_OPTION_CODEPAGE_PATH: DWORD = 100; -pub const INTERNET_OPTION_CODEPAGE_EXTRA: DWORD = 101; -pub const INTERNET_OPTION_IDN: DWORD = 102; -pub const INTERNET_OPTION_MAX_CONNS_PER_PROXY: DWORD = 103; -pub const INTERNET_OPTION_SUPPRESS_SERVER_AUTH: DWORD = 104; -pub const INTERNET_OPTION_SERVER_CERT_CHAIN_CONTEXT: DWORD = 105; -pub const INTERNET_OPTION_ENABLE_REDIRECT_CACHE_READ: DWORD = 122; -pub const INTERNET_OPTION_ENCODE_EXTRA: DWORD = 155; -pub const INTERNET_FIRST_OPTION: DWORD = INTERNET_OPTION_CALLBACK; -pub const INTERNET_LAST_OPTION: DWORD = INTERNET_OPTION_ENCODE_EXTRA; -pub const INTERNET_PRIORITY_FOREGROUND: DWORD = 1000; -pub const INTERNET_HANDLE_TYPE_INTERNET: DWORD = 1; -pub const INTERNET_HANDLE_TYPE_CONNECT_FTP: DWORD = 2; -pub const INTERNET_HANDLE_TYPE_CONNECT_GOPHER: DWORD = 3; -pub const INTERNET_HANDLE_TYPE_CONNECT_HTTP: DWORD = 4; -pub const INTERNET_HANDLE_TYPE_FTP_FIND: DWORD = 5; -pub const INTERNET_HANDLE_TYPE_FTP_FIND_HTML: DWORD = 6; -pub const INTERNET_HANDLE_TYPE_FTP_FILE: DWORD = 7; -pub const INTERNET_HANDLE_TYPE_FTP_FILE_HTML: DWORD = 8; -pub const INTERNET_HANDLE_TYPE_GOPHER_FIND: DWORD = 9; -pub const INTERNET_HANDLE_TYPE_GOPHER_FIND_HTML: DWORD = 10; -pub const INTERNET_HANDLE_TYPE_GOPHER_FILE: DWORD = 11; -pub const INTERNET_HANDLE_TYPE_GOPHER_FILE_HTML: DWORD = 12; -pub const INTERNET_HANDLE_TYPE_HTTP_REQUEST: DWORD = 13; -pub const INTERNET_HANDLE_TYPE_FILE_REQUEST: DWORD = 14; -pub const AUTH_FLAG_DISABLE_NEGOTIATE: DWORD = 0x00000001; -pub const AUTH_FLAG_ENABLE_NEGOTIATE: DWORD = 0x00000002; -pub const AUTH_FLAG_DISABLE_BASIC_CLEARCHANNEL: DWORD = 0x00000004; -pub const AUTH_FLAG_DISABLE_SERVER_AUTH: DWORD = 0x00000008; -pub const SECURITY_FLAG_SECURE: DWORD = 0x00000001; -pub const SECURITY_FLAG_STRENGTH_WEAK: DWORD = 0x10000000; -pub const SECURITY_FLAG_STRENGTH_MEDIUM: DWORD = 0x40000000; -pub const SECURITY_FLAG_STRENGTH_STRONG: DWORD = 0x20000000; -pub const SECURITY_FLAG_UNKNOWNBIT: DWORD = 0x80000000; -pub const SECURITY_FLAG_FORTEZZA: DWORD = 0x08000000; -pub const SECURITY_FLAG_NORMALBITNESS: DWORD = SECURITY_FLAG_STRENGTH_WEAK; -pub const SECURITY_FLAG_SSL: DWORD = 0x00000002; -pub const SECURITY_FLAG_SSL3: DWORD = 0x00000004; -pub const SECURITY_FLAG_PCT: DWORD = 0x00000008; -pub const SECURITY_FLAG_PCT4: DWORD = 0x00000010; -pub const SECURITY_FLAG_IETFSSL4: DWORD = 0x00000020; -pub const SECURITY_FLAG_40BIT: DWORD = SECURITY_FLAG_STRENGTH_WEAK; -pub const SECURITY_FLAG_128BIT: DWORD = SECURITY_FLAG_STRENGTH_STRONG; -pub const SECURITY_FLAG_56BIT: DWORD = SECURITY_FLAG_STRENGTH_MEDIUM; -pub const SECURITY_FLAG_IGNORE_REVOCATION: DWORD = 0x00000080; -pub const SECURITY_FLAG_IGNORE_UNKNOWN_CA: DWORD = 0x00000100; -pub const SECURITY_FLAG_IGNORE_WRONG_USAGE: DWORD = 0x00000200; -pub const SECURITY_FLAG_IGNORE_CERT_CN_INVALID: DWORD = INTERNET_FLAG_IGNORE_CERT_CN_INVALID; -pub const SECURITY_FLAG_IGNORE_CERT_DATE_INVALID: DWORD = INTERNET_FLAG_IGNORE_CERT_DATE_INVALID; -pub const SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTPS: DWORD = INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS; -pub const SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTP: DWORD = INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP; -pub const SECURITY_SET_MASK: DWORD = SECURITY_FLAG_IGNORE_REVOCATION - | SECURITY_FLAG_IGNORE_UNKNOWN_CA | SECURITY_FLAG_IGNORE_CERT_CN_INVALID - | SECURITY_FLAG_IGNORE_CERT_DATE_INVALID | SECURITY_FLAG_IGNORE_WRONG_USAGE; -pub const AUTODIAL_MODE_NEVER: DWORD = 1; -pub const AUTODIAL_MODE_ALWAYS: DWORD = 2; -pub const AUTODIAL_MODE_NO_NETWORK_PRESENT: DWORD = 4; -FN!{stdcall INTERNET_STATUS_CALLBACK( - HINTERNET, - DWORD_PTR, - DWORD, - LPVOID, - DWORD, -) -> ()} -pub type LPINTERNET_STATUS_CALLBACK = *mut INTERNET_STATUS_CALLBACK; -pub const INTERNET_STATUS_RESOLVING_NAME: DWORD = 10; -pub const INTERNET_STATUS_NAME_RESOLVED: DWORD = 11; -pub const INTERNET_STATUS_CONNECTING_TO_SERVER: DWORD = 20; -pub const INTERNET_STATUS_CONNECTED_TO_SERVER: DWORD = 21; -pub const INTERNET_STATUS_SENDING_REQUEST: DWORD = 30; -pub const INTERNET_STATUS_REQUEST_SENT: DWORD = 31; -pub const INTERNET_STATUS_RECEIVING_RESPONSE: DWORD = 40; -pub const INTERNET_STATUS_RESPONSE_RECEIVED: DWORD = 41; -pub const INTERNET_STATUS_CTL_RESPONSE_RECEIVED: DWORD = 42; -pub const INTERNET_STATUS_PREFETCH: DWORD = 43; -pub const INTERNET_STATUS_CLOSING_CONNECTION: DWORD = 50; -pub const INTERNET_STATUS_CONNECTION_CLOSED: DWORD = 51; -pub const INTERNET_STATUS_HANDLE_CREATED: DWORD = 60; -pub const INTERNET_STATUS_HANDLE_CLOSING: DWORD = 70; -pub const INTERNET_STATUS_DETECTING_PROXY: DWORD = 80; -pub const INTERNET_STATUS_REQUEST_COMPLETE: DWORD = 100; -pub const INTERNET_STATUS_REDIRECT: DWORD = 110; -pub const INTERNET_STATUS_INTERMEDIATE_RESPONSE: DWORD = 120; -pub const INTERNET_STATUS_USER_INPUT_REQUIRED: DWORD = 140; -pub const INTERNET_STATUS_STATE_CHANGE: DWORD = 200; -pub const INTERNET_STATUS_COOKIE_SENT: DWORD = 320; -pub const INTERNET_STATUS_COOKIE_RECEIVED: DWORD = 321; -pub const INTERNET_STATUS_PRIVACY_IMPACTED: DWORD = 324; -pub const INTERNET_STATUS_P3P_HEADER: DWORD = 325; -pub const INTERNET_STATUS_P3P_POLICYREF: DWORD = 326; -pub const INTERNET_STATUS_COOKIE_HISTORY: DWORD = 327; -pub const INTERNET_STATE_CONNECTED: DWORD = 0x00000001; -pub const INTERNET_STATE_DISCONNECTED: DWORD = 0x00000002; -pub const INTERNET_STATE_DISCONNECTED_BY_USER: DWORD = 0x00000010; -pub const INTERNET_STATE_IDLE: DWORD = 0x00000100; -pub const INTERNET_STATE_BUSY: DWORD = 0x00000200; -ENUM!{enum InternetCookieState { - COOKIE_STATE_UNKNOWN = 0x0, - COOKIE_STATE_ACCEPT = 0x1, - COOKIE_STATE_PROMPT = 0x2, - COOKIE_STATE_LEASH = 0x3, - COOKIE_STATE_DOWNGRADE = 0x4, - COOKIE_STATE_REJECT = 0x5, - COOKIE_STATE_MAX = COOKIE_STATE_REJECT, -}} -STRUCT!{struct IncomingCookieState { - cSession: c_int, - cPersistent: c_int, - cAccepted: c_int, - cLeashed: c_int, - cDowngraded: c_int, - cBlocked: c_int, - pszLocation: LPCSTR, -}} -STRUCT!{struct OutgoingCookieState { - cSent: c_int, - cSuppressed: c_int, - pszLocation: LPCSTR, -}} -STRUCT!{struct InternetCookieHistory { - fAccepted: BOOL, - fLeashed: BOOL, - fDowngraded: BOOL, - fRejected: BOOL, -}} -STRUCT!{struct CookieDecision { - dwCookieState: DWORD, - fAllowSession: BOOL, -}} -pub const INTERNET_INVALID_STATUS_CALLBACK: usize = -1isize as usize; -pub const FTP_TRANSFER_TYPE_UNKNOWN: DWORD = 0x00000000; -pub const FTP_TRANSFER_TYPE_ASCII: DWORD = 0x00000001; -pub const FTP_TRANSFER_TYPE_BINARY: DWORD = 0x00000002; -pub const FTP_TRANSFER_TYPE_MASK: DWORD = FTP_TRANSFER_TYPE_ASCII | FTP_TRANSFER_TYPE_BINARY; -pub const MAX_GOPHER_DISPLAY_TEXT: usize = 128; -pub const MAX_GOPHER_SELECTOR_TEXT: usize = 256; -pub const MAX_GOPHER_HOST_NAME: usize = INTERNET_MAX_HOST_NAME_LENGTH; -pub const MAX_GOPHER_LOCATOR_LENGTH: usize = 1 + MAX_GOPHER_DISPLAY_TEXT + 1 - + MAX_GOPHER_SELECTOR_TEXT + 1 + MAX_GOPHER_HOST_NAME + 1 + INTERNET_MAX_PORT_NUMBER_LENGTH - + 1 + 1 + 2; -STRUCT!{struct GOPHER_FIND_DATAA { - DisplayString: [CHAR; MAX_GOPHER_DISPLAY_TEXT+ 1], - GopherType: DWORD, - SizeLow: DWORD, - SizeHigh: DWORD, - LastModificationTime: FILETIME, - Locator: [CHAR; MAX_GOPHER_LOCATOR_LENGTH + 1], -}} -pub type LPGOPHER_FIND_DATAA = *mut GOPHER_FIND_DATAA; -STRUCT!{struct GOPHER_FIND_DATAW { - DisplayString: [WCHAR; MAX_GOPHER_DISPLAY_TEXT+ 1], - GopherType: DWORD, - SizeLow: DWORD, - SizeHigh: DWORD, - LastModificationTime: FILETIME, - Locator: [WCHAR; MAX_GOPHER_LOCATOR_LENGTH + 1], -}} -pub type LPGOPHER_FIND_DATAW = *mut GOPHER_FIND_DATAW; -pub const GOPHER_TYPE_TEXT_FILE: DWORD = 0x00000001; -pub const GOPHER_TYPE_DIRECTORY: DWORD = 0x00000002; -pub const GOPHER_TYPE_CSO: DWORD = 0x00000004; -pub const GOPHER_TYPE_ERROR: DWORD = 0x00000008; -pub const GOPHER_TYPE_MAC_BINHEX: DWORD = 0x00000010; -pub const GOPHER_TYPE_DOS_ARCHIVE: DWORD = 0x00000020; -pub const GOPHER_TYPE_UNIX_UUENCODED: DWORD = 0x00000040; -pub const GOPHER_TYPE_INDEX_SERVER: DWORD = 0x00000080; -pub const GOPHER_TYPE_TELNET: DWORD = 0x00000100; -pub const GOPHER_TYPE_BINARY: DWORD = 0x00000200; -pub const GOPHER_TYPE_REDUNDANT: DWORD = 0x00000400; -pub const GOPHER_TYPE_TN3270: DWORD = 0x00000800; -pub const GOPHER_TYPE_GIF: DWORD = 0x00001000; -pub const GOPHER_TYPE_IMAGE: DWORD = 0x00002000; -pub const GOPHER_TYPE_BITMAP: DWORD = 0x00004000; -pub const GOPHER_TYPE_MOVIE: DWORD = 0x00008000; -pub const GOPHER_TYPE_SOUND: DWORD = 0x00010000; -pub const GOPHER_TYPE_HTML: DWORD = 0x00020000; -pub const GOPHER_TYPE_PDF: DWORD = 0x00040000; -pub const GOPHER_TYPE_CALENDAR: DWORD = 0x00080000; -pub const GOPHER_TYPE_INLINE: DWORD = 0x00100000; -pub const GOPHER_TYPE_UNKNOWN: DWORD = 0x20000000; -pub const GOPHER_TYPE_ASK: DWORD = 0x40000000; -pub const GOPHER_TYPE_GOPHER_PLUS: DWORD = 0x80000000; -#[inline] -pub fn IS_GOPHER_FILE(type_: DWORD) -> BOOL { - if (type_ & GOPHER_TYPE_FILE_MASK) != 0 { TRUE } else { FALSE } -} -#[inline] -pub fn IS_GOPHER_DIRECTORY(type_: DWORD) -> BOOL { - if (type_ & GOPHER_TYPE_DIRECTORY) != 0 { TRUE } else { FALSE } -} -#[inline] -pub fn IS_GOPHER_PHONE_SERVER(type_: DWORD) -> BOOL { - if (type_ & GOPHER_TYPE_CSO) != 0 { TRUE } else { FALSE } -} -#[inline] -pub fn IS_GOPHER_ERROR(type_: DWORD) -> BOOL { - if (type_ & GOPHER_TYPE_ERROR) != 0 { TRUE } else { FALSE } -} -#[inline] -pub fn IS_GOPHER_INDEX_SERVER(type_: DWORD) -> BOOL { - if (type_ & GOPHER_TYPE_INDEX_SERVER) != 0 { TRUE } else { FALSE } -} -#[inline] -pub fn IS_GOPHER_TELNET_SESSION(type_: DWORD) -> BOOL { - if (type_ & GOPHER_TYPE_TELNET) != 0 { TRUE } else { FALSE } -} -#[inline] -pub fn IS_GOPHER_BACKUP_SERVER(type_: DWORD) -> BOOL { - if (type_ & GOPHER_TYPE_REDUNDANT) != 0 { TRUE } else { FALSE } -} -#[inline] -pub fn IS_GOPHER_TN3270_SESSION(type_: DWORD) -> BOOL { - if (type_ & GOPHER_TYPE_TN3270) != 0 { TRUE } else { FALSE } -} -#[inline] -pub fn IS_GOPHER_ASK(type_: DWORD) -> BOOL { - if (type_ & GOPHER_TYPE_ASK) != 0 { TRUE } else { FALSE } -} -#[inline] -pub fn IS_GOPHER_PLUS(type_: DWORD) -> BOOL { - if (type_ & GOPHER_TYPE_GOPHER_PLUS) != 0 { TRUE } else { FALSE } -} -#[inline] -pub fn IS_GOPHER_TYPE_KNOWN(type_: DWORD) -> BOOL { - if (type_ & GOPHER_TYPE_UNKNOWN) != 0 { FALSE } else { TRUE } -} -pub const GOPHER_TYPE_FILE_MASK: DWORD = GOPHER_TYPE_TEXT_FILE | GOPHER_TYPE_MAC_BINHEX - | GOPHER_TYPE_DOS_ARCHIVE | GOPHER_TYPE_UNIX_UUENCODED | GOPHER_TYPE_BINARY | GOPHER_TYPE_GIF - | GOPHER_TYPE_IMAGE | GOPHER_TYPE_BITMAP | GOPHER_TYPE_MOVIE | GOPHER_TYPE_SOUND - | GOPHER_TYPE_HTML | GOPHER_TYPE_PDF | GOPHER_TYPE_CALENDAR | GOPHER_TYPE_INLINE; -STRUCT!{struct GOPHER_ADMIN_ATTRIBUTE_TYPE { - Comment: LPCWSTR, - EmailAddress: LPCWSTR, -}} -pub type LPGOPHER_ADMIN_ATTRIBUTE_TYPE = *mut GOPHER_ADMIN_ATTRIBUTE_TYPE; -STRUCT!{struct GOPHER_MOD_DATE_ATTRIBUTE_TYPE { - DateAndTime: FILETIME, -}} -pub type LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE = *mut GOPHER_MOD_DATE_ATTRIBUTE_TYPE; -STRUCT!{struct GOPHER_TTL_ATTRIBUTE_TYPE { - Ttl: DWORD, -}} -pub type LPGOPHER_TTL_ATTRIBUTE_TYPE = *mut GOPHER_TTL_ATTRIBUTE_TYPE; -STRUCT!{struct GOPHER_SCORE_ATTRIBUTE_TYPE { - Score: INT, -}} -pub type LPGOPHER_SCORE_ATTRIBUTE_TYPE = *mut GOPHER_SCORE_ATTRIBUTE_TYPE; -STRUCT!{struct GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE { - LowerBound: INT, - UpperBound: INT, -}} -pub type LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE = *mut GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE; -STRUCT!{struct GOPHER_SITE_ATTRIBUTE_TYPE { - Site: LPCWSTR, -}} -pub type LPGOPHER_SITE_ATTRIBUTE_TYPE = *mut GOPHER_SITE_ATTRIBUTE_TYPE; -STRUCT!{struct GOPHER_ORGANIZATION_ATTRIBUTE_TYPE { - Organization: LPCWSTR, -}} -pub type LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPE = *mut GOPHER_ORGANIZATION_ATTRIBUTE_TYPE; -STRUCT!{struct GOPHER_LOCATION_ATTRIBUTE_TYPE { - Location: LPCWSTR, -}} -pub type LPGOPHER_LOCATION_ATTRIBUTE_TYPE = *mut GOPHER_LOCATION_ATTRIBUTE_TYPE; -STRUCT!{struct GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE { - DegreesNorth: INT, - MinutesNorth: INT, - SecondsNorth: INT, - DegreesEast: INT, - MinutesEast: INT, - SecondsEast: INT, -}} -pub type LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE = - *mut GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE; -STRUCT!{struct GOPHER_TIMEZONE_ATTRIBUTE_TYPE { - Zone: INT, -}} -pub type LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE = *mut GOPHER_TIMEZONE_ATTRIBUTE_TYPE; -STRUCT!{struct GOPHER_PROVIDER_ATTRIBUTE_TYPE { - Provider: LPCWSTR, -}} -pub type LPGOPHER_PROVIDER_ATTRIBUTE_TYPE = *mut GOPHER_PROVIDER_ATTRIBUTE_TYPE; -STRUCT!{struct GOPHER_VERSION_ATTRIBUTE_TYPE { - Version: LPCWSTR, -}} -pub type LPGOPHER_VERSION_ATTRIBUTE_TYPE = *mut GOPHER_VERSION_ATTRIBUTE_TYPE; -STRUCT!{struct GOPHER_ABSTRACT_ATTRIBUTE_TYPE { - ShortAbstract: LPCWSTR, - AbstractFile: LPCWSTR, -}} -pub type LPGOPHER_ABSTRACT_ATTRIBUTE_TYPE = *mut GOPHER_ABSTRACT_ATTRIBUTE_TYPE; -STRUCT!{struct GOPHER_VIEW_ATTRIBUTE_TYPE { - ContentType: LPCWSTR, - Language: LPCWSTR, - Size: DWORD, -}} -pub type LPGOPHER_VIEW_ATTRIBUTE_TYPE = *mut GOPHER_VIEW_ATTRIBUTE_TYPE; -STRUCT!{struct GOPHER_VERONICA_ATTRIBUTE_TYPE { - TreeWalk: BOOL, -}} -pub type LPGOPHER_VERONICA_ATTRIBUTE_TYPE = *mut GOPHER_VERONICA_ATTRIBUTE_TYPE; -STRUCT!{struct GOPHER_ASK_ATTRIBUTE_TYPE { - QuestionType: LPCWSTR, - QuestionText: LPCWSTR, -}} -pub type LPGOPHER_ASK_ATTRIBUTE_TYPE = *mut GOPHER_ASK_ATTRIBUTE_TYPE; -STRUCT!{struct GOPHER_UNKNOWN_ATTRIBUTE_TYPE { - Text: LPCWSTR, -}} -pub type LPGOPHER_UNKNOWN_ATTRIBUTE_TYPE = *mut GOPHER_UNKNOWN_ATTRIBUTE_TYPE; -UNION!{union GOPHER_ATTRIBUTE_TYPE_AttributeType { - [u32; 6] [u64; 3], - Admin Admin_mut: GOPHER_ADMIN_ATTRIBUTE_TYPE, - ModDate ModDate_mut: GOPHER_MOD_DATE_ATTRIBUTE_TYPE, - Ttl Ttl_mut: GOPHER_TTL_ATTRIBUTE_TYPE, - Score Score_mut: GOPHER_SCORE_ATTRIBUTE_TYPE, - ScoreRange ScoreRange_mut: GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, - Site Site_mut: GOPHER_SITE_ATTRIBUTE_TYPE, - Organization Organization_mut: GOPHER_ORGANIZATION_ATTRIBUTE_TYPE, - Location Location_mut: GOPHER_LOCATION_ATTRIBUTE_TYPE, - GeographicalLocation GeographicalLocation_mut: GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, - TimeZone TimeZone_mut: GOPHER_TIMEZONE_ATTRIBUTE_TYPE, - Provider Provider_mut: GOPHER_PROVIDER_ATTRIBUTE_TYPE, - Version Version_mut: GOPHER_VERSION_ATTRIBUTE_TYPE, - Abstract Abstract_mut: GOPHER_ABSTRACT_ATTRIBUTE_TYPE, - View View_mut: GOPHER_VIEW_ATTRIBUTE_TYPE, - Veronica Veronica_mut: GOPHER_VERONICA_ATTRIBUTE_TYPE, - Ask Ask_mut: GOPHER_ASK_ATTRIBUTE_TYPE, - Unknown Unknown_mut: GOPHER_UNKNOWN_ATTRIBUTE_TYPE, -}} -STRUCT!{struct GOPHER_ATTRIBUTE_TYPE { - CategoryId: DWORD, - AttributeId: DWORD, - AttributeType: GOPHER_ATTRIBUTE_TYPE_AttributeType, -}} -pub type LPGOPHER_ATTRIBUTE_TYPE = *mut GOPHER_ATTRIBUTE_TYPE; -pub const MAX_GOPHER_CATEGORY_NAME: DWORD = 128; -pub const MAX_GOPHER_ATTRIBUTE_NAME: DWORD = 128; -pub const MIN_GOPHER_ATTRIBUTE_LENGTH: DWORD = 256; -pub const GOPHER_INFO_CATEGORY: &'static str = " + INFO"; -pub const GOPHER_ADMIN_CATEGORY: &'static str = " + ADMIN"; -pub const GOPHER_VIEWS_CATEGORY: &'static str = " + VIEWS"; -pub const GOPHER_ABSTRACT_CATEGORY: &'static str = " + ABSTRACT"; -pub const GOPHER_VERONICA_CATEGORY: &'static str = " + VERONICA"; -pub const GOPHER_ADMIN_ATTRIBUTE: &'static str = "Admin"; -pub const GOPHER_MOD_DATE_ATTRIBUTE: &'static str = "Mod-Date"; -pub const GOPHER_TTL_ATTRIBUTE: &'static str = "TTL"; -pub const GOPHER_SCORE_ATTRIBUTE: &'static str = "Score"; -pub const GOPHER_RANGE_ATTRIBUTE: &'static str = "Score-range"; -pub const GOPHER_SITE_ATTRIBUTE: &'static str = "Site"; -pub const GOPHER_ORG_ATTRIBUTE: &'static str = "Org"; -pub const GOPHER_LOCATION_ATTRIBUTE: &'static str = "Loc"; -pub const GOPHER_GEOG_ATTRIBUTE: &'static str = "Geog"; -pub const GOPHER_TIMEZONE_ATTRIBUTE: &'static str = "TZ"; -pub const GOPHER_PROVIDER_ATTRIBUTE: &'static str = "Provider"; -pub const GOPHER_VERSION_ATTRIBUTE: &'static str = "Version"; -pub const GOPHER_ABSTRACT_ATTRIBUTE: &'static str = "Abstract"; -pub const GOPHER_VIEW_ATTRIBUTE: &'static str = "View"; -pub const GOPHER_TREEWALK_ATTRIBUTE: &'static str = "treewalk"; -pub const GOPHER_ATTRIBUTE_ID_BASE: DWORD = 0xabcccc00; -pub const GOPHER_CATEGORY_ID_ALL: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 1; -pub const GOPHER_CATEGORY_ID_INFO: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 2; -pub const GOPHER_CATEGORY_ID_ADMIN: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 3; -pub const GOPHER_CATEGORY_ID_VIEWS: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 4; -pub const GOPHER_CATEGORY_ID_ABSTRACT: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 5; -pub const GOPHER_CATEGORY_ID_VERONICA: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 6; -pub const GOPHER_CATEGORY_ID_ASK: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 7; -pub const GOPHER_CATEGORY_ID_UNKNOWN: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 8; -pub const GOPHER_ATTRIBUTE_ID_ALL: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 9; -pub const GOPHER_ATTRIBUTE_ID_ADMIN: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 10; -pub const GOPHER_ATTRIBUTE_ID_MOD_DATE: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 11; -pub const GOPHER_ATTRIBUTE_ID_TTL: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 12; -pub const GOPHER_ATTRIBUTE_ID_SCORE: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 13; -pub const GOPHER_ATTRIBUTE_ID_RANGE: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 14; -pub const GOPHER_ATTRIBUTE_ID_SITE: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 15; -pub const GOPHER_ATTRIBUTE_ID_ORG: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 16; -pub const GOPHER_ATTRIBUTE_ID_LOCATION: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 17; -pub const GOPHER_ATTRIBUTE_ID_GEOG: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 18; -pub const GOPHER_ATTRIBUTE_ID_TIMEZONE: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 19; -pub const GOPHER_ATTRIBUTE_ID_PROVIDER: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 20; -pub const GOPHER_ATTRIBUTE_ID_VERSION: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 21; -pub const GOPHER_ATTRIBUTE_ID_ABSTRACT: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 22; -pub const GOPHER_ATTRIBUTE_ID_VIEW: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 23; -pub const GOPHER_ATTRIBUTE_ID_TREEWALK: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 24; -pub const GOPHER_ATTRIBUTE_ID_UNKNOWN: DWORD = GOPHER_ATTRIBUTE_ID_BASE + 25; -FN!{stdcall GOPHER_ATTRIBUTE_ENUMERATOR( - LPGOPHER_ATTRIBUTE_TYPE, - DWORD, -) -> BOOL} -pub const HTTP_MAJOR_VERSION: DWORD = 1; -pub const HTTP_MINOR_VERSION: DWORD = 0; -pub const HTTP_VERSION: &'static str = "HTTP/1.0"; -pub const HTTP_QUERY_MIME_VERSION: DWORD = 0; -pub const HTTP_QUERY_CONTENT_TYPE: DWORD = 1; -pub const HTTP_QUERY_CONTENT_TRANSFER_ENCODING: DWORD = 2; -pub const HTTP_QUERY_CONTENT_ID: DWORD = 3; -pub const HTTP_QUERY_CONTENT_DESCRIPTION: DWORD = 4; -pub const HTTP_QUERY_CONTENT_LENGTH: DWORD = 5; -pub const HTTP_QUERY_CONTENT_LANGUAGE: DWORD = 6; -pub const HTTP_QUERY_ALLOW: DWORD = 7; -pub const HTTP_QUERY_PUBLIC: DWORD = 8; -pub const HTTP_QUERY_DATE: DWORD = 9; -pub const HTTP_QUERY_EXPIRES: DWORD = 10; -pub const HTTP_QUERY_LAST_MODIFIED: DWORD = 11; -pub const HTTP_QUERY_MESSAGE_ID: DWORD = 12; -pub const HTTP_QUERY_URI: DWORD = 13; -pub const HTTP_QUERY_DERIVED_FROM: DWORD = 14; -pub const HTTP_QUERY_COST: DWORD = 15; -pub const HTTP_QUERY_LINK: DWORD = 16; -pub const HTTP_QUERY_PRAGMA: DWORD = 17; -pub const HTTP_QUERY_VERSION: DWORD = 18; -pub const HTTP_QUERY_STATUS_CODE: DWORD = 19; -pub const HTTP_QUERY_STATUS_TEXT: DWORD = 20; -pub const HTTP_QUERY_RAW_HEADERS: DWORD = 21; -pub const HTTP_QUERY_RAW_HEADERS_CRLF: DWORD = 22; -pub const HTTP_QUERY_CONNECTION: DWORD = 23; -pub const HTTP_QUERY_ACCEPT: DWORD = 24; -pub const HTTP_QUERY_ACCEPT_CHARSET: DWORD = 25; -pub const HTTP_QUERY_ACCEPT_ENCODING: DWORD = 26; -pub const HTTP_QUERY_ACCEPT_LANGUAGE: DWORD = 27; -pub const HTTP_QUERY_AUTHORIZATION: DWORD = 28; -pub const HTTP_QUERY_CONTENT_ENCODING: DWORD = 29; -pub const HTTP_QUERY_FORWARDED: DWORD = 30; -pub const HTTP_QUERY_FROM: DWORD = 31; -pub const HTTP_QUERY_IF_MODIFIED_SINCE: DWORD = 32; -pub const HTTP_QUERY_LOCATION: DWORD = 33; -pub const HTTP_QUERY_ORIG_URI: DWORD = 34; -pub const HTTP_QUERY_REFERER: DWORD = 35; -pub const HTTP_QUERY_RETRY_AFTER: DWORD = 36; -pub const HTTP_QUERY_SERVER: DWORD = 37; -pub const HTTP_QUERY_TITLE: DWORD = 38; -pub const HTTP_QUERY_USER_AGENT: DWORD = 39; -pub const HTTP_QUERY_WWW_AUTHENTICATE: DWORD = 40; -pub const HTTP_QUERY_PROXY_AUTHENTICATE: DWORD = 41; -pub const HTTP_QUERY_ACCEPT_RANGES: DWORD = 42; -pub const HTTP_QUERY_SET_COOKIE: DWORD = 43; -pub const HTTP_QUERY_COOKIE: DWORD = 44; -pub const HTTP_QUERY_REQUEST_METHOD: DWORD = 45; -pub const HTTP_QUERY_REFRESH: DWORD = 46; -pub const HTTP_QUERY_CONTENT_DISPOSITION: DWORD = 47; -pub const HTTP_QUERY_AGE: DWORD = 48; -pub const HTTP_QUERY_CACHE_CONTROL: DWORD = 49; -pub const HTTP_QUERY_CONTENT_BASE: DWORD = 50; -pub const HTTP_QUERY_CONTENT_LOCATION: DWORD = 51; -pub const HTTP_QUERY_CONTENT_MD5: DWORD = 52; -pub const HTTP_QUERY_CONTENT_RANGE: DWORD = 53; -pub const HTTP_QUERY_ETAG: DWORD = 54; -pub const HTTP_QUERY_HOST: DWORD = 55; -pub const HTTP_QUERY_IF_MATCH: DWORD = 56; -pub const HTTP_QUERY_IF_NONE_MATCH: DWORD = 57; -pub const HTTP_QUERY_IF_RANGE: DWORD = 58; -pub const HTTP_QUERY_IF_UNMODIFIED_SINCE: DWORD = 59; -pub const HTTP_QUERY_MAX_FORWARDS: DWORD = 60; -pub const HTTP_QUERY_PROXY_AUTHORIZATION: DWORD = 61; -pub const HTTP_QUERY_RANGE: DWORD = 62; -pub const HTTP_QUERY_TRANSFER_ENCODING: DWORD = 63; -pub const HTTP_QUERY_UPGRADE: DWORD = 64; -pub const HTTP_QUERY_VARY: DWORD = 65; -pub const HTTP_QUERY_VIA: DWORD = 66; -pub const HTTP_QUERY_WARNING: DWORD = 67; -pub const HTTP_QUERY_EXPECT: DWORD = 68; -pub const HTTP_QUERY_PROXY_CONNECTION: DWORD = 69; -pub const HTTP_QUERY_UNLESS_MODIFIED_SINCE: DWORD = 70; -pub const HTTP_QUERY_ECHO_REQUEST: DWORD = 71; -pub const HTTP_QUERY_ECHO_REPLY: DWORD = 72; -pub const HTTP_QUERY_ECHO_HEADERS: DWORD = 73; -pub const HTTP_QUERY_ECHO_HEADERS_CRLF: DWORD = 74; -pub const HTTP_QUERY_PROXY_SUPPORT: DWORD = 75; -pub const HTTP_QUERY_AUTHENTICATION_INFO: DWORD = 76; -pub const HTTP_QUERY_PASSPORT_URLS: DWORD = 77; -pub const HTTP_QUERY_PASSPORT_CONFIG: DWORD = 78; -pub const HTTP_QUERY_X_CONTENT_TYPE_OPTIONS: DWORD = 79; -pub const HTTP_QUERY_P3P: DWORD = 80; -pub const HTTP_QUERY_X_P2P_PEERDIST: DWORD = 81; -pub const HTTP_QUERY_TRANSLATE: DWORD = 82; -pub const HTTP_QUERY_X_UA_COMPATIBLE: DWORD = 83; -pub const HTTP_QUERY_DEFAULT_STYLE: DWORD = 84; -pub const HTTP_QUERY_X_FRAME_OPTIONS: DWORD = 85; -pub const HTTP_QUERY_X_XSS_PROTECTION: DWORD = 86; -pub const HTTP_QUERY_SET_COOKIE2: DWORD = 87; -pub const HTTP_QUERY_DO_NOT_TRACK: DWORD = 88; -pub const HTTP_QUERY_KEEP_ALIVE: DWORD = 89; -pub const HTTP_QUERY_MAX: DWORD = 89; -pub const HTTP_QUERY_CUSTOM: DWORD = 65535; -pub const HTTP_QUERY_FLAG_REQUEST_HEADERS: DWORD = 0x80000000; -pub const HTTP_QUERY_FLAG_SYSTEMTIME: DWORD = 0x40000000; -pub const HTTP_QUERY_FLAG_NUMBER: DWORD = 0x20000000; -pub const HTTP_QUERY_FLAG_COALESCE: DWORD = 0x10000000; -pub const HTTP_QUERY_FLAG_NUMBER64: DWORD = 0x08000000; -pub const HTTP_QUERY_MODIFIER_FLAGS_MASK: DWORD = HTTP_QUERY_FLAG_REQUEST_HEADERS - | HTTP_QUERY_FLAG_SYSTEMTIME | HTTP_QUERY_FLAG_NUMBER | HTTP_QUERY_FLAG_COALESCE - | HTTP_QUERY_FLAG_NUMBER64; -pub const HTTP_QUERY_HEADER_MASK: DWORD = !HTTP_QUERY_MODIFIER_FLAGS_MASK; -pub const HTTP_STATUS_CONTINUE: DWORD = 100; -pub const HTTP_STATUS_SWITCH_PROTOCOLS: DWORD = 101; -pub const HTTP_STATUS_OK: DWORD = 200; -pub const HTTP_STATUS_CREATED: DWORD = 201; -pub const HTTP_STATUS_ACCEPTED: DWORD = 202; -pub const HTTP_STATUS_PARTIAL: DWORD = 203; -pub const HTTP_STATUS_NO_CONTENT: DWORD = 204; -pub const HTTP_STATUS_RESET_CONTENT: DWORD = 205; -pub const HTTP_STATUS_PARTIAL_CONTENT: DWORD = 206; -pub const HTTP_STATUS_AMBIGUOUS: DWORD = 300; -pub const HTTP_STATUS_MOVED: DWORD = 301; -pub const HTTP_STATUS_REDIRECT: DWORD = 302; -pub const HTTP_STATUS_REDIRECT_METHOD: DWORD = 303; -pub const HTTP_STATUS_NOT_MODIFIED: DWORD = 304; -pub const HTTP_STATUS_USE_PROXY: DWORD = 305; -pub const HTTP_STATUS_REDIRECT_KEEP_VERB: DWORD = 307; -pub const HTTP_STATUS_BAD_REQUEST: DWORD = 400; -pub const HTTP_STATUS_DENIED: DWORD = 401; -pub const HTTP_STATUS_PAYMENT_REQ: DWORD = 402; -pub const HTTP_STATUS_FORBIDDEN: DWORD = 403; -pub const HTTP_STATUS_NOT_FOUND: DWORD = 404; -pub const HTTP_STATUS_BAD_METHOD: DWORD = 405; -pub const HTTP_STATUS_NONE_ACCEPTABLE: DWORD = 406; -pub const HTTP_STATUS_PROXY_AUTH_REQ: DWORD = 407; -pub const HTTP_STATUS_REQUEST_TIMEOUT: DWORD = 408; -pub const HTTP_STATUS_CONFLICT: DWORD = 409; -pub const HTTP_STATUS_GONE: DWORD = 410; -pub const HTTP_STATUS_LENGTH_REQUIRED: DWORD = 411; -pub const HTTP_STATUS_PRECOND_FAILED: DWORD = 412; -pub const HTTP_STATUS_REQUEST_TOO_LARGE: DWORD = 413; -pub const HTTP_STATUS_URI_TOO_LONG: DWORD = 414; -pub const HTTP_STATUS_UNSUPPORTED_MEDIA: DWORD = 415; -pub const HTTP_STATUS_RETRY_WITH: DWORD = 449; -pub const HTTP_STATUS_SERVER_ERROR: DWORD = 500; -pub const HTTP_STATUS_NOT_SUPPORTED: DWORD = 501; -pub const HTTP_STATUS_BAD_GATEWAY: DWORD = 502; -pub const HTTP_STATUS_SERVICE_UNAVAIL: DWORD = 503; -pub const HTTP_STATUS_GATEWAY_TIMEOUT: DWORD = 504; -pub const HTTP_STATUS_VERSION_NOT_SUP: DWORD = 505; -pub const HTTP_STATUS_FIRST: DWORD = HTTP_STATUS_CONTINUE; -pub const HTTP_STATUS_LAST: DWORD = HTTP_STATUS_VERSION_NOT_SUP; -pub const HTTP_ADDREQ_INDEX_MASK: DWORD = 0x0000FFFF; -pub const HTTP_ADDREQ_FLAGS_MASK: DWORD = 0xFFFF0000; -pub const HTTP_ADDREQ_FLAG_ADD_IF_NEW: DWORD = 0x10000000; -pub const HTTP_ADDREQ_FLAG_ADD: DWORD = 0x20000000; -pub const HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA: DWORD = 0x40000000; -pub const HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON: DWORD = 0x01000000; -pub const HTTP_ADDREQ_FLAG_COALESCE: DWORD = HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA; -pub const HTTP_ADDREQ_FLAG_REPLACE: DWORD = 0x80000000; -pub const HSR_ASYNC: DWORD = WININET_API_FLAG_ASYNC; -pub const HSR_SYNC: DWORD = WININET_API_FLAG_SYNC; -pub const HSR_USE_CONTEXT: DWORD = WININET_API_FLAG_USE_CONTEXT; -pub const HSR_INITIATE: DWORD = 0x00000008; -pub const HSR_DOWNLOAD: DWORD = 0x00000010; -pub const HSR_CHUNKED: DWORD = 0x00000020; -STRUCT!{struct INTERNET_COOKIE2 { - pwszName: PWSTR, - pwszValue: PWSTR, - pwszDomain: PWSTR, - pwszPath: PWSTR, - dwFlags: DWORD, - ftExpires: FILETIME, - fExpiresSet: BOOL, -}} -pub const INTERNET_COOKIE_IS_SECURE: DWORD = 0x01; -pub const INTERNET_COOKIE_IS_SESSION: DWORD = 0x02; -pub const INTERNET_COOKIE_THIRD_PARTY: DWORD = 0x10; -pub const INTERNET_COOKIE_PROMPT_REQUIRED: DWORD = 0x20; -pub const INTERNET_COOKIE_EVALUATE_P3P: DWORD = 0x40; -pub const INTERNET_COOKIE_APPLY_P3P: DWORD = 0x80; -pub const INTERNET_COOKIE_P3P_ENABLED: DWORD = 0x100; -pub const INTERNET_COOKIE_IS_RESTRICTED: DWORD = 0x200; -pub const INTERNET_COOKIE_IE6: DWORD = 0x400; -pub const INTERNET_COOKIE_IS_LEGACY: DWORD = 0x800; -pub const INTERNET_COOKIE_NON_SCRIPT: DWORD = 0x00001000; -pub const INTERNET_COOKIE_HTTPONLY: DWORD = 0x00002000; -pub const FLAG_ICC_FORCE_CONNECTION: DWORD = 0x00000001; -pub const FLAGS_ERROR_UI_FILTER_FOR_ERRORS: DWORD = 0x01; -pub const FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS: DWORD = 0x02; -pub const FLAGS_ERROR_UI_FLAGS_GENERATE_DATA: DWORD = 0x04; -pub const FLAGS_ERROR_UI_FLAGS_NO_UI: DWORD = 0x08; -pub const FLAGS_ERROR_UI_SERIALIZE_DIALOGS: DWORD = 0x10; -FN!{stdcall PFN_AUTH_NOTIFY( - DWORD_PTR, - DWORD, - LPVOID, -) -> DWORD} -STRUCT!{struct INTERNET_AUTH_NOTIFY_DATA { - cbStruct: DWORD, - dwOptions: DWORD, - pfnNotify: PFN_AUTH_NOTIFY, - dwContext: DWORD_PTR, -}} -pub const INTERNET_ERROR_BASE: DWORD = 12000; -pub const ERROR_INTERNET_OUT_OF_HANDLES: DWORD = INTERNET_ERROR_BASE + 1; -pub const ERROR_INTERNET_TIMEOUT: DWORD = INTERNET_ERROR_BASE + 2; -pub const ERROR_INTERNET_EXTENDED_ERROR: DWORD = INTERNET_ERROR_BASE + 3; -pub const ERROR_INTERNET_INTERNAL_ERROR: DWORD = INTERNET_ERROR_BASE + 4; -pub const ERROR_INTERNET_INVALID_URL: DWORD = INTERNET_ERROR_BASE + 5; -pub const ERROR_INTERNET_UNRECOGNIZED_SCHEME: DWORD = INTERNET_ERROR_BASE + 6; -pub const ERROR_INTERNET_NAME_NOT_RESOLVED: DWORD = INTERNET_ERROR_BASE + 7; -pub const ERROR_INTERNET_PROTOCOL_NOT_FOUND: DWORD = INTERNET_ERROR_BASE + 8; -pub const ERROR_INTERNET_INVALID_OPTION: DWORD = INTERNET_ERROR_BASE + 9; -pub const ERROR_INTERNET_BAD_OPTION_LENGTH: DWORD = INTERNET_ERROR_BASE + 10; -pub const ERROR_INTERNET_OPTION_NOT_SETTABLE: DWORD = INTERNET_ERROR_BASE + 11; -pub const ERROR_INTERNET_SHUTDOWN: DWORD = INTERNET_ERROR_BASE + 12; -pub const ERROR_INTERNET_INCORRECT_USER_NAME: DWORD = INTERNET_ERROR_BASE + 13; -pub const ERROR_INTERNET_INCORRECT_PASSWORD: DWORD = INTERNET_ERROR_BASE + 14; -pub const ERROR_INTERNET_LOGIN_FAILURE: DWORD = INTERNET_ERROR_BASE + 15; -pub const ERROR_INTERNET_INVALID_OPERATION: DWORD = INTERNET_ERROR_BASE + 16; -pub const ERROR_INTERNET_OPERATION_CANCELLED: DWORD = INTERNET_ERROR_BASE + 17; -pub const ERROR_INTERNET_INCORRECT_HANDLE_TYPE: DWORD = INTERNET_ERROR_BASE + 18; -pub const ERROR_INTERNET_INCORRECT_HANDLE_STATE: DWORD = INTERNET_ERROR_BASE + 19; -pub const ERROR_INTERNET_NOT_PROXY_REQUEST: DWORD = INTERNET_ERROR_BASE + 20; -pub const ERROR_INTERNET_REGISTRY_VALUE_NOT_FOUND: DWORD = INTERNET_ERROR_BASE + 21; -pub const ERROR_INTERNET_BAD_REGISTRY_PARAMETER: DWORD = INTERNET_ERROR_BASE + 22; -pub const ERROR_INTERNET_NO_DIRECT_ACCESS: DWORD = INTERNET_ERROR_BASE + 23; -pub const ERROR_INTERNET_NO_CONTEXT: DWORD = INTERNET_ERROR_BASE + 24; -pub const ERROR_INTERNET_NO_CALLBACK: DWORD = INTERNET_ERROR_BASE + 25; -pub const ERROR_INTERNET_REQUEST_PENDING: DWORD = INTERNET_ERROR_BASE + 26; -pub const ERROR_INTERNET_INCORRECT_FORMAT: DWORD = INTERNET_ERROR_BASE + 27; -pub const ERROR_INTERNET_ITEM_NOT_FOUND: DWORD = INTERNET_ERROR_BASE + 28; -pub const ERROR_INTERNET_CANNOT_CONNECT: DWORD = INTERNET_ERROR_BASE + 29; -pub const ERROR_INTERNET_CONNECTION_ABORTED: DWORD = INTERNET_ERROR_BASE + 30; -pub const ERROR_INTERNET_CONNECTION_RESET: DWORD = INTERNET_ERROR_BASE + 31; -pub const ERROR_INTERNET_FORCE_RETRY: DWORD = INTERNET_ERROR_BASE + 32; -pub const ERROR_INTERNET_INVALID_PROXY_REQUEST: DWORD = INTERNET_ERROR_BASE + 33; -pub const ERROR_INTERNET_NEED_UI: DWORD = INTERNET_ERROR_BASE + 34; -pub const ERROR_INTERNET_HANDLE_EXISTS: DWORD = INTERNET_ERROR_BASE + 36; -pub const ERROR_INTERNET_SEC_CERT_DATE_INVALID: DWORD = INTERNET_ERROR_BASE + 37; -pub const ERROR_INTERNET_SEC_CERT_CN_INVALID: DWORD = INTERNET_ERROR_BASE + 38; -pub const ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR: DWORD = INTERNET_ERROR_BASE + 39; -pub const ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR: DWORD = INTERNET_ERROR_BASE + 40; -pub const ERROR_INTERNET_MIXED_SECURITY: DWORD = INTERNET_ERROR_BASE + 41; -pub const ERROR_INTERNET_CHG_POST_IS_NON_SECURE: DWORD = INTERNET_ERROR_BASE + 42; -pub const ERROR_INTERNET_POST_IS_NON_SECURE: DWORD = INTERNET_ERROR_BASE + 43; -pub const ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED: DWORD = INTERNET_ERROR_BASE + 44; -pub const ERROR_INTERNET_INVALID_CA: DWORD = INTERNET_ERROR_BASE + 45; -pub const ERROR_INTERNET_CLIENT_AUTH_NOT_SETUP: DWORD = INTERNET_ERROR_BASE + 46; -pub const ERROR_INTERNET_ASYNC_THREAD_FAILED: DWORD = INTERNET_ERROR_BASE + 47; -pub const ERROR_INTERNET_REDIRECT_SCHEME_CHANGE: DWORD = INTERNET_ERROR_BASE + 48; -pub const ERROR_INTERNET_DIALOG_PENDING: DWORD = INTERNET_ERROR_BASE + 49; -pub const ERROR_INTERNET_RETRY_DIALOG: DWORD = INTERNET_ERROR_BASE + 50; -pub const ERROR_INTERNET_HTTPS_HTTP_SUBMIT_REDIR: DWORD = INTERNET_ERROR_BASE + 52; -pub const ERROR_INTERNET_INSERT_CDROM: DWORD = INTERNET_ERROR_BASE + 53; -pub const ERROR_INTERNET_FORTEZZA_LOGIN_NEEDED: DWORD = INTERNET_ERROR_BASE + 54; -pub const ERROR_INTERNET_SEC_CERT_ERRORS: DWORD = INTERNET_ERROR_BASE + 55; -pub const ERROR_INTERNET_SEC_CERT_NO_REV: DWORD = INTERNET_ERROR_BASE + 56; -pub const ERROR_INTERNET_SEC_CERT_REV_FAILED: DWORD = INTERNET_ERROR_BASE + 57; -pub const ERROR_FTP_TRANSFER_IN_PROGRESS: DWORD = INTERNET_ERROR_BASE + 110; -pub const ERROR_FTP_DROPPED: DWORD = INTERNET_ERROR_BASE + 111; -pub const ERROR_FTP_NO_PASSIVE_MODE: DWORD = INTERNET_ERROR_BASE + 112; -pub const ERROR_GOPHER_PROTOCOL_ERROR: DWORD = INTERNET_ERROR_BASE + 130; -pub const ERROR_GOPHER_NOT_FILE: DWORD = INTERNET_ERROR_BASE + 131; -pub const ERROR_GOPHER_DATA_ERROR: DWORD = INTERNET_ERROR_BASE + 132; -pub const ERROR_GOPHER_END_OF_DATA: DWORD = INTERNET_ERROR_BASE + 133; -pub const ERROR_GOPHER_INVALID_LOCATOR: DWORD = INTERNET_ERROR_BASE + 134; -pub const ERROR_GOPHER_INCORRECT_LOCATOR_TYPE: DWORD = INTERNET_ERROR_BASE + 135; -pub const ERROR_GOPHER_NOT_GOPHER_PLUS: DWORD = INTERNET_ERROR_BASE + 136; -pub const ERROR_GOPHER_ATTRIBUTE_NOT_FOUND: DWORD = INTERNET_ERROR_BASE + 137; -pub const ERROR_GOPHER_UNKNOWN_LOCATOR: DWORD = INTERNET_ERROR_BASE + 138; -pub const ERROR_HTTP_HEADER_NOT_FOUND: DWORD = INTERNET_ERROR_BASE + 150; -pub const ERROR_HTTP_DOWNLEVEL_SERVER: DWORD = INTERNET_ERROR_BASE + 151; -pub const ERROR_HTTP_INVALID_SERVER_RESPONSE: DWORD = INTERNET_ERROR_BASE + 152; -pub const ERROR_HTTP_INVALID_HEADER: DWORD = INTERNET_ERROR_BASE + 153; -pub const ERROR_HTTP_INVALID_QUERY_REQUEST: DWORD = INTERNET_ERROR_BASE + 154; -pub const ERROR_HTTP_HEADER_ALREADY_EXISTS: DWORD = INTERNET_ERROR_BASE + 155; -pub const ERROR_HTTP_REDIRECT_FAILED: DWORD = INTERNET_ERROR_BASE + 156; -pub const ERROR_HTTP_NOT_REDIRECTED: DWORD = INTERNET_ERROR_BASE + 160; -pub const ERROR_HTTP_COOKIE_NEEDS_CONFIRMATION: DWORD = INTERNET_ERROR_BASE + 161; -pub const ERROR_HTTP_COOKIE_DECLINED: DWORD = INTERNET_ERROR_BASE + 162; -pub const ERROR_HTTP_REDIRECT_NEEDS_CONFIRMATION: DWORD = INTERNET_ERROR_BASE + 168; -pub const ERROR_INTERNET_SECURITY_CHANNEL_ERROR: DWORD = INTERNET_ERROR_BASE + 157; -pub const ERROR_INTERNET_UNABLE_TO_CACHE_FILE: DWORD = INTERNET_ERROR_BASE + 158; -pub const ERROR_INTERNET_TCPIP_NOT_INSTALLED: DWORD = INTERNET_ERROR_BASE + 159; -pub const ERROR_INTERNET_DISCONNECTED: DWORD = INTERNET_ERROR_BASE + 163; -pub const ERROR_INTERNET_SERVER_UNREACHABLE: DWORD = INTERNET_ERROR_BASE + 164; -pub const ERROR_INTERNET_PROXY_SERVER_UNREACHABLE: DWORD = INTERNET_ERROR_BASE + 165; -pub const ERROR_INTERNET_BAD_AUTO_PROXY_SCRIPT: DWORD = INTERNET_ERROR_BASE + 166; -pub const ERROR_INTERNET_UNABLE_TO_DOWNLOAD_SCRIPT: DWORD = INTERNET_ERROR_BASE + 167; -pub const ERROR_INTERNET_SEC_INVALID_CERT: DWORD = INTERNET_ERROR_BASE + 169; -pub const ERROR_INTERNET_SEC_CERT_REVOKED: DWORD = INTERNET_ERROR_BASE + 170; -pub const ERROR_INTERNET_FAILED_DUETOSECURITYCHECK: DWORD = INTERNET_ERROR_BASE + 171; -pub const ERROR_INTERNET_NOT_INITIALIZED: DWORD = INTERNET_ERROR_BASE + 172; -pub const ERROR_INTERNET_NEED_MSN_SSPI_PKG: DWORD = INTERNET_ERROR_BASE + 173; -pub const ERROR_INTERNET_LOGIN_FAILURE_DISPLAY_ENTITY_BODY: DWORD = INTERNET_ERROR_BASE + 174; -pub const ERROR_INTERNET_DECODING_FAILED: DWORD = INTERNET_ERROR_BASE + 175; -pub const INTERNET_ERROR_LAST: DWORD = ERROR_INTERNET_DECODING_FAILED; -pub const NORMAL_CACHE_ENTRY: DWORD = 0x00000001; -pub const STICKY_CACHE_ENTRY: DWORD = 0x00000004; -pub const EDITED_CACHE_ENTRY: DWORD = 0x00000008; -pub const TRACK_OFFLINE_CACHE_ENTRY: DWORD = 0x00000010; -pub const TRACK_ONLINE_CACHE_ENTRY: DWORD = 0x00000020; -pub const SPARSE_CACHE_ENTRY: DWORD = 0x00010000; -pub const COOKIE_CACHE_ENTRY: DWORD = 0x00100000; -pub const URLHISTORY_CACHE_ENTRY: DWORD = 0x00200000; -pub const URLCACHE_FIND_DEFAULT_FILTER: DWORD = NORMAL_CACHE_ENTRY | COOKIE_CACHE_ENTRY - | URLHISTORY_CACHE_ENTRY | TRACK_OFFLINE_CACHE_ENTRY | TRACK_ONLINE_CACHE_ENTRY - | STICKY_CACHE_ENTRY; -UNION!{union INTERNET_CACHE_ENTRY_INFOA_u { - [u32; 1], - dwReserved dwReserved_mut: DWORD, - dwExemptDelta dwExemptDelta_mut: DWORD, -}} -STRUCT!{struct INTERNET_CACHE_ENTRY_INFOA { - dwStructSize: DWORD, - lpszSourceUrlName: LPSTR, - lpszLocalFileName: LPSTR, - CacheEntryType: DWORD, - dwUseCount: DWORD, - dwHitRate: DWORD, - dwSizeLow: DWORD, - dwSizeHigh: DWORD, - LastModifiedTime: FILETIME, - ExpireTime: FILETIME, - LastAccessTime: FILETIME, - LastSyncTime: FILETIME, - lpHeaderInfo: LPSTR, - dwHeaderInfoSize: DWORD, - lpszFileExtension: LPSTR, - u: INTERNET_CACHE_ENTRY_INFOA_u, -}} -pub type LPINTERNET_CACHE_ENTRY_INFOA = *mut INTERNET_CACHE_ENTRY_INFOA; -UNION!{union INTERNET_CACHE_ENTRY_INFOW_u { - [u32; 1], - dwReserved dwReserved_mut: DWORD, - dwExemptDelta dwExemptDelta_mut: DWORD, -}} -STRUCT!{struct INTERNET_CACHE_ENTRY_INFOW { - dwStructSize: DWORD, - lpszSourceUrlName: LPWSTR, - lpszLocalFileName: LPWSTR, - CacheEntryType: DWORD, - dwUseCount: DWORD, - dwHitRate: DWORD, - dwSizeLow: DWORD, - dwSizeHigh: DWORD, - LastModifiedTime: FILETIME, - ExpireTime: FILETIME, - LastAccessTime: FILETIME, - LastSyncTime: FILETIME, - lpHeaderInfo: LPWSTR, - dwHeaderInfoSize: DWORD, - lpszFileExtension: LPWSTR, - u: INTERNET_CACHE_ENTRY_INFOW_u, -}} -pub type LPINTERNET_CACHE_ENTRY_INFOW = *mut INTERNET_CACHE_ENTRY_INFOW; -STRUCT!{struct INTERNET_CACHE_TIMESTAMPS { - ftExpires: FILETIME, - ftLastModified: FILETIME, -}} -pub type LPINTERNET_CACHE_TIMESTAMPS = *mut INTERNET_CACHE_TIMESTAMPS; -pub type GROUPID = LONGLONG; -pub const CACHEGROUP_ATTRIBUTE_GET_ALL: DWORD = 0xffffffff; -pub const CACHEGROUP_ATTRIBUTE_BASIC: DWORD = 0x00000001; -pub const CACHEGROUP_ATTRIBUTE_FLAG: DWORD = 0x00000002; -pub const CACHEGROUP_ATTRIBUTE_TYPE: DWORD = 0x00000004; -pub const CACHEGROUP_ATTRIBUTE_QUOTA: DWORD = 0x00000008; -pub const CACHEGROUP_ATTRIBUTE_GROUPNAME: DWORD = 0x00000010; -pub const CACHEGROUP_ATTRIBUTE_STORAGE: DWORD = 0x00000020; -pub const CACHEGROUP_FLAG_NONPURGEABLE: DWORD = 0x00000001; -pub const CACHEGROUP_FLAG_GIDONLY: DWORD = 0x00000004; -pub const CACHEGROUP_FLAG_FLUSHURL_ONDELETE: DWORD = 0x00000002; -pub const CACHEGROUP_SEARCH_ALL: DWORD = 0x00000000; -pub const CACHEGROUP_SEARCH_BYURL: DWORD = 0x00000001; -pub const CACHEGROUP_TYPE_INVALID: DWORD = 0x00000001; -pub const CACHEGROUP_READWRITE_MASK: DWORD = CACHEGROUP_ATTRIBUTE_TYPE - | CACHEGROUP_ATTRIBUTE_QUOTA | CACHEGROUP_ATTRIBUTE_GROUPNAME | CACHEGROUP_ATTRIBUTE_STORAGE; -pub const GROUPNAME_MAX_LENGTH: usize = 120; -pub const GROUP_OWNER_STORAGE_SIZE: usize = 4; -STRUCT!{struct INTERNET_CACHE_GROUP_INFOA { - dwGroupSize: DWORD, - dwGroupFlags: DWORD, - dwGroupType: DWORD, - dwDiskUsage: DWORD, - dwDiskQuota: DWORD, - dwOwnerStorage: [DWORD; GROUP_OWNER_STORAGE_SIZE], - szGroupName: [CHAR; GROUPNAME_MAX_LENGTH], -}} -pub type LPINTERNET_CACHE_GROUP_INFOA = *mut INTERNET_CACHE_GROUP_INFOA; -STRUCT!{struct INTERNET_CACHE_GROUP_INFOW { - dwGroupSize: DWORD, - dwGroupFlags: DWORD, - dwGroupType: DWORD, - dwDiskUsage: DWORD, - dwDiskQuota: DWORD, - dwOwnerStorage: [DWORD; GROUP_OWNER_STORAGE_SIZE], - szGroupName: [WCHAR; GROUPNAME_MAX_LENGTH], -}} -pub type LPINTERNET_CACHE_GROUP_INFOW = *mut INTERNET_CACHE_GROUP_INFOW; -pub const CACHE_ENTRY_ATTRIBUTE_FC: DWORD = 0x00000004; -pub const CACHE_ENTRY_HITRATE_FC: DWORD = 0x00000010; -pub const CACHE_ENTRY_MODTIME_FC: DWORD = 0x00000040; -pub const CACHE_ENTRY_EXPTIME_FC: DWORD = 0x00000080; -pub const CACHE_ENTRY_ACCTIME_FC: DWORD = 0x00000100; -pub const CACHE_ENTRY_SYNCTIME_FC: DWORD = 0x00000200; -pub const CACHE_ENTRY_HEADERINFO_FC: DWORD = 0x00000400; -pub const CACHE_ENTRY_EXEMPT_DELTA_FC: DWORD = 0x00000800; -pub const INTERNET_CACHE_GROUP_ADD: DWORD = 0; -pub const INTERNET_CACHE_GROUP_REMOVE: DWORD = 1; -pub const INTERNET_DIAL_FORCE_PROMPT: DWORD = 0x2000; -pub const INTERNET_DIAL_SHOW_OFFLINE: DWORD = 0x4000; -pub const INTERNET_DIAL_UNATTENDED: DWORD = 0x8000; -pub const INTERENT_GOONLINE_REFRESH: DWORD = 0x00000001; -pub const INTERENT_GOONLINE_NOPROMPT: DWORD = 0x00000002; -pub const INTERENT_GOONLINE_MASK: DWORD = 0x00000003; -pub const INTERNET_AUTODIAL_FORCE_ONLINE: DWORD = 1; -pub const INTERNET_AUTODIAL_FORCE_UNATTENDED: DWORD = 2; -pub const INTERNET_AUTODIAL_FAILIFSECURITYCHECK: DWORD = 4; -pub const INTERNET_AUTODIAL_OVERRIDE_NET_PRESENT: DWORD = 8; -pub const INTERNET_AUTODIAL_FLAGS_MASK: DWORD = INTERNET_AUTODIAL_FORCE_ONLINE - | INTERNET_AUTODIAL_FORCE_UNATTENDED | INTERNET_AUTODIAL_FAILIFSECURITYCHECK - | INTERNET_AUTODIAL_OVERRIDE_NET_PRESENT; -pub const PROXY_AUTO_DETECT_TYPE_DHCP: DWORD = 1; -pub const PROXY_AUTO_DETECT_TYPE_DNS_A: DWORD = 2; -STRUCT!{struct AutoProxyHelperVtbl { - IsResolvable: Option BOOL>, - GetIPAddress: Option DWORD>, - ResolveHostName: Option DWORD>, - IsInNet: Option BOOL>, - IsResolvableEx: Option BOOL>, - GetIPAddressEx: Option DWORD>, - ResolveHostNameEx: Option DWORD>, - IsInNetEx: Option BOOL>, - SortIpList: Option DWORD>, -}} -STRUCT!{struct AUTO_PROXY_SCRIPT_BUFFER { - dwStructSize: DWORD, - lpszScriptBuffer: LPSTR, - dwScriptBufferSize: DWORD, -}} -pub type LPAUTO_PROXY_SCRIPT_BUFFER = *mut AUTO_PROXY_SCRIPT_BUFFER; -STRUCT!{struct AutoProxyHelperFunctions { - lpVtbl: *const AutoProxyHelperVtbl, -}} -FN!{stdcall pfnInternetInitializeAutoProxyDll( - DWORD, - LPSTR, - LPSTR, - *mut AutoProxyHelperFunctions, - LPAUTO_PROXY_SCRIPT_BUFFER, -) -> BOOL} -FN!{stdcall pfnInternetDeInitializeAutoProxyDll( - LPSTR, - DWORD, -) -> BOOL} -FN!{stdcall pfnInternetGetProxyInfo( - LPCSTR, - DWORD, - LPSTR, - DWORD, - *mut LPSTR, - LPDWORD, -) -> BOOL} -ENUM!{enum WPAD_CACHE_DELETE { - WPAD_CACHE_DELETE_CURRENT = 0x0, - WPAD_CACHE_DELETE_ALL = 0x1, -}} -pub const INTERNET_CONNECTION_MODEM: DWORD = 0x01; -pub const INTERNET_CONNECTION_LAN: DWORD = 0x02; -pub const INTERNET_CONNECTION_PROXY: DWORD = 0x04; -pub const INTERNET_CONNECTION_MODEM_BUSY: DWORD = 0x08; -pub const INTERNET_RAS_INSTALLED: DWORD = 0x10; -pub const INTERNET_CONNECTION_OFFLINE: DWORD = 0x20; -pub const INTERNET_CONNECTION_CONFIGURED: DWORD = 0x40; -FN!{stdcall PFN_DIAL_HANDLER( - HWND, - LPCSTR, - DWORD, - LPDWORD, -) -> DWORD} -pub const INTERNET_CUSTOMDIAL_CONNECT: DWORD = 0; -pub const INTERNET_CUSTOMDIAL_UNATTENDED: DWORD = 1; -pub const INTERNET_CUSTOMDIAL_DISCONNECT: DWORD = 2; -pub const INTERNET_CUSTOMDIAL_SHOWOFFLINE: DWORD = 4; -pub const INTERNET_CUSTOMDIAL_SAFE_FOR_UNATTENDED: DWORD = 1; -pub const INTERNET_CUSTOMDIAL_WILL_SUPPLY_STATE: DWORD = 2; -pub const INTERNET_CUSTOMDIAL_CAN_HANGUP: DWORD = 4; -pub const INTERNET_DIALSTATE_DISCONNECTED: DWORD = 1; -pub const INTERNET_IDENTITY_FLAG_PRIVATE_CACHE: DWORD = 0x01; -pub const INTERNET_IDENTITY_FLAG_SHARED_CACHE: DWORD = 0x02; -pub const INTERNET_IDENTITY_FLAG_CLEAR_DATA: DWORD = 0x04; -pub const INTERNET_IDENTITY_FLAG_CLEAR_COOKIES: DWORD = 0x08; -pub const INTERNET_IDENTITY_FLAG_CLEAR_HISTORY: DWORD = 0x10; -pub const INTERNET_IDENTITY_FLAG_CLEAR_CONTENT: DWORD = 0x20; -pub const INTERNET_SUPPRESS_RESET_ALL: DWORD = 0x00; -pub const INTERNET_SUPPRESS_COOKIE_POLICY: DWORD = 0x01; -pub const INTERNET_SUPPRESS_COOKIE_POLICY_RESET: DWORD = 0x02; -pub const PRIVACY_TEMPLATE_NO_COOKIES: DWORD = 0; -pub const PRIVACY_TEMPLATE_HIGH: DWORD = 1; -pub const PRIVACY_TEMPLATE_MEDIUM_HIGH: DWORD = 2; -pub const PRIVACY_TEMPLATE_MEDIUM: DWORD = 3; -pub const PRIVACY_TEMPLATE_MEDIUM_LOW: DWORD = 4; -pub const PRIVACY_TEMPLATE_LOW: DWORD = 5; -pub const PRIVACY_TEMPLATE_CUSTOM: DWORD = 100; -pub const PRIVACY_TEMPLATE_ADVANCED: DWORD = 101; -pub const PRIVACY_TEMPLATE_MAX: DWORD = PRIVACY_TEMPLATE_LOW; -pub const PRIVACY_TYPE_FIRST_PARTY: DWORD = 0; -pub const PRIVACY_TYPE_THIRD_PARTY: DWORD = 1; -extern "system" { - pub fn CommitUrlCacheEntryA( - lpszUrlName: LPCSTR, - lpszLocalFileName: LPCSTR, - ExpireTime: FILETIME, - LastModifiedTime: FILETIME, - CacheEntryType: DWORD, - lpHeaderInfo: LPBYTE, - cchHeaderInfo: DWORD, - lpszFileExtension: LPCSTR, - lpszOriginalUrl: LPCSTR, - ) -> BOOL; - pub fn CommitUrlCacheEntryW( - lpszUrlName: LPCWSTR, - lpszLocalFileName: LPCWSTR, - ExpireTime: FILETIME, - LastModifiedTime: FILETIME, - CacheEntryType: DWORD, - lpszHeaderInfo: LPWSTR, - cchHeaderInfo: DWORD, - lpszFileExtension: LPCWSTR, - lpszOriginalUrl: LPCWSTR, - ) -> BOOL; - pub fn CreateMD5SSOHash ( - pszChallengeInfo: PWSTR, - pwszRealm: PWSTR, - pwszTarget: PWSTR, - pbHexHash: PBYTE, - ) -> BOOL; - pub fn CreateUrlCacheEntryA( - lpszUrlName: LPCSTR, - dwExpectedFileSize: DWORD, - lpszFileExtension: LPCSTR, - lpszFileName: LPSTR, - dwReserved: DWORD, - ) -> BOOL; - pub fn CreateUrlCacheEntryW( - lpszUrlName: LPCWSTR, - dwExpectedFileSize: DWORD, - lpszFileExtension: LPCWSTR, - lpszFileName: LPWSTR, - dwReserved: DWORD, - ) -> BOOL; - pub fn CreateUrlCacheGroup( - dwFlags: DWORD, - lpReserved: LPVOID, - ) -> GROUPID; - pub fn DeleteUrlCacheEntryA( - lpszUrlName: LPCSTR, - ) -> BOOL; - pub fn DeleteUrlCacheEntryW( - lpszUrlName: LPCWSTR, - ) -> BOOL; - pub fn DeleteUrlCacheGroup( - GroupId: GROUPID, - dwFlags: DWORD, - lpReserved: LPVOID, - ) -> BOOL; - pub fn DeleteWpadCacheForNetworks( - arg0: WPAD_CACHE_DELETE, - ) -> BOOL; - pub fn DetectAutoProxyUrl( - pszAutoProxyUrl: PSTR, - cchAutoProxyUrl: DWORD, - dwDetectFlags: DWORD, - ) -> BOOL; - pub fn FindCloseUrlCache( - hEnumHandle: HANDLE, - ) -> BOOL; - pub fn FindFirstUrlCacheEntryA( - lpszUrlSearchPattern: LPCSTR, - lpFirstCacheEntryInfo: LPINTERNET_CACHE_ENTRY_INFOA, - lpcbCacheEntryInfo: LPDWORD, - ) -> HANDLE; - pub fn FindFirstUrlCacheEntryExA( - lpszUrlSearchPattern: LPCSTR, - dwFlags: DWORD, - dwFilter: DWORD, - GroupId: GROUPID, - lpFirstCacheEntryInfo: LPINTERNET_CACHE_ENTRY_INFOA, - lpcbCacheEntryInfo: LPDWORD, - lpGroupAttributes: LPVOID, - lpcbGroupAttributes: LPDWORD, - lpReserved: LPVOID, - ) -> HANDLE; - pub fn FindFirstUrlCacheEntryExW( - lpszUrlSearchPattern: LPCWSTR, - dwFlags: DWORD, - dwFilter: DWORD, - GroupId: GROUPID, - lpFirstCacheEntryInfo: LPINTERNET_CACHE_ENTRY_INFOW, - lpcbCacheEntryInfo: LPDWORD, - lpGroupAttributes: LPVOID, - lpcbGroupAttributes: LPDWORD, - lpReserved: LPVOID, - ) -> HANDLE; - pub fn FindFirstUrlCacheEntryW( - lpszUrlSearchPattern: LPCWSTR, - lpFirstCacheEntryInfo: LPINTERNET_CACHE_ENTRY_INFOW, - lpcbCacheEntryInfo: LPDWORD, - ) -> HANDLE; - pub fn FindFirstUrlCacheGroup( - dwFlags: DWORD, - dwFilter: DWORD, - lpSearchCondition: LPVOID, - dwSearchCondition: DWORD, - lpGroupId: *mut GROUPID, - lpReserved: LPVOID, - ) -> HANDLE; - pub fn FindNextUrlCacheEntryA( - hEnumHandle: HANDLE, - lpNextCacheEntryInfo: LPINTERNET_CACHE_ENTRY_INFOA, - lpcbCacheEntryInfo: LPDWORD, - ) -> BOOL; - pub fn FindNextUrlCacheEntryExA( - hEnumHandle: HANDLE, - lpNextCacheEntryInfo: LPINTERNET_CACHE_ENTRY_INFOA, - lpcbCacheEntryInfo: LPDWORD, - lpGroupAttributes: LPVOID, - lpcbGroupAttributes: LPDWORD, - lpReserved: LPVOID, - ) -> BOOL; - pub fn FindNextUrlCacheEntryExW( - hEnumHandle: HANDLE, - lpNextCacheEntryInfo: LPINTERNET_CACHE_ENTRY_INFOW, - lpcbCacheEntryInfo: LPDWORD, - lpGroupAttributes: LPVOID, - lpcbGroupAttributes: LPDWORD, - lpReserved: LPVOID, - ) -> BOOL; - pub fn FindNextUrlCacheEntryW( - hEnumHandle: HANDLE, - lpNextCacheEntryInfo: LPINTERNET_CACHE_ENTRY_INFOW, - lpcbCacheEntryInfo: LPDWORD, - ) -> BOOL; - pub fn FindNextUrlCacheGroup( - hFind: HANDLE, - lpGroupId: *mut GROUPID, - lpReserved: LPVOID, - ) -> BOOL; - pub fn FtpCommandA( - hConnect: HINTERNET, - fExpectResponse: BOOL, - dwFlags: DWORD, - lpszCommand: LPCSTR, - dwContext: DWORD_PTR, - phFtpCommand: *mut HINTERNET, - ) -> BOOL; - pub fn FtpCommandW( - hConnect: HINTERNET, - fExpectResponse: BOOL, - dwFlags: DWORD, - lpszCommand: LPCWSTR, - dwContext: DWORD_PTR, - phFtpCommand: *mut HINTERNET, - ) -> BOOL; - pub fn FtpCreateDirectoryA( - hConnect: HINTERNET, - lpszDirectory: LPCSTR, - ) -> BOOL; - pub fn FtpCreateDirectoryW( - hConnect: HINTERNET, - lpszDirectory: LPCWSTR, - ) -> BOOL; - pub fn FtpDeleteFileA( - hConnect: HINTERNET, - lpszFileName: LPCSTR, - ) -> BOOL; - pub fn FtpDeleteFileW( - hConnect: HINTERNET, - lpszFileName: LPCWSTR, - ) -> BOOL; - pub fn FtpFindFirstFileA( - hConnect: HINTERNET, - lpszSearchFile: LPCSTR, - lpFindFileData: LPWIN32_FIND_DATAA, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> HINTERNET; - pub fn FtpFindFirstFileW( - hConnect: HINTERNET, - lpszSearchFile: LPCWSTR, - lpFindFileData: LPWIN32_FIND_DATAW, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> HINTERNET; - pub fn FtpGetCurrentDirectoryA( - hConnect: HINTERNET, - lpszCurrentDirectory: LPSTR, - lpdwCurrentDirectory: LPDWORD, - ) -> BOOL; - pub fn FtpGetCurrentDirectoryW( - hConnect: HINTERNET, - lpszCurrentDirectory: LPWSTR, - lpdwCurrentDirectory: LPDWORD, - ) -> BOOL; - pub fn FtpGetFileA( - hConnect: HINTERNET, - lpszRemoteFile: LPCSTR, - lpszNewFile: LPCSTR, - fFailIfExists: BOOL, - dwFlagsAndAttributes: DWORD, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> BOOL; - pub fn FtpGetFileEx( - hFtpSession: HINTERNET, - lpszRemoteFile: LPCSTR, - lpszNewFile: LPCWSTR, - fFailIfExists: BOOL, - dwFlagsAndAttributes: DWORD, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> BOOL; - pub fn FtpGetFileSize( - hFile: HINTERNET, - lpdwFileSizeHigh: LPDWORD, - ) -> DWORD; - pub fn FtpGetFileW( - hConnect: HINTERNET, - lpszRemoteFile: LPCWSTR, - lpszNewFile: LPCWSTR, - fFailIfExists: BOOL, - dwFlagsAndAttributes: DWORD, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> BOOL; - pub fn FtpOpenFileA( - hConnect: HINTERNET, - lpszFileName: LPCSTR, - dwAccess: DWORD, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> HINTERNET; - pub fn FtpOpenFileW( - hConnect: HINTERNET, - lpszFileName: LPCWSTR, - dwAccess: DWORD, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> HINTERNET; - pub fn FtpPutFileA( - hConnect: HINTERNET, - lpszLocalFile: LPCSTR, - lpszNewRemoteFile: LPCSTR, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> BOOL; - pub fn FtpPutFileEx( - hFtpSession: HINTERNET, - lpszLocalFile: LPCWSTR, - lpszNewRemoteFile: LPCSTR, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> BOOL; - pub fn FtpPutFileW( - hConnect: HINTERNET, - lpszLocalFile: LPCWSTR, - lpszNewRemoteFile: LPCWSTR, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> BOOL; - pub fn FtpRemoveDirectoryA( - hConnect: HINTERNET, - lpszDirectory: LPCSTR, - ) -> BOOL; - pub fn FtpRemoveDirectoryW( - hConnect: HINTERNET, - lpszDirectory: LPCWSTR, - ) -> BOOL; - pub fn FtpRenameFileA( - hConnect: HINTERNET, - lpszExisting: LPCSTR, - lpszNew: LPCSTR, - ) -> BOOL; - pub fn FtpRenameFileW( - hConnect: HINTERNET, - lpszExisting: LPCWSTR, - lpszNew: LPCWSTR, - ) -> BOOL; - pub fn FtpSetCurrentDirectoryA( - hConnect: HINTERNET, - lpszDirectory: LPCSTR, - ) -> BOOL; - pub fn FtpSetCurrentDirectoryW( - hConnect: HINTERNET, - lpszDirectory: LPCWSTR, - ) -> BOOL; - pub fn GetUrlCacheEntryInfoA( - lpszUrlName: LPCSTR, - lpCacheEntryInfo: LPINTERNET_CACHE_ENTRY_INFOA, - lpcbCacheEntryInfo: LPDWORD, - ) -> BOOL; - pub fn GetUrlCacheEntryInfoExA( - lpszUrl: LPCSTR, - lpCacheEntryInfo: LPINTERNET_CACHE_ENTRY_INFOA, - lpcbCacheEntryInfo: LPDWORD, - lpszRedirectUrl: LPSTR, - lpcbRedirectUrl: LPDWORD, - lpReserved: LPVOID, - dwFlags: DWORD, - ) -> BOOL; - pub fn GetUrlCacheEntryInfoExW( - lpszUrl: LPCWSTR, - lpCacheEntryInfo: LPINTERNET_CACHE_ENTRY_INFOW, - lpcbCacheEntryInfo: LPDWORD, - lpszRedirectUrl: LPWSTR, - lpcbRedirectUrl: LPDWORD, - lpReserved: LPVOID, - dwFlags: DWORD, - ) -> BOOL; - pub fn GetUrlCacheEntryInfoW( - lpszUrlName: LPCWSTR, - lpCacheEntryInfo: LPINTERNET_CACHE_ENTRY_INFOW, - lpcbCacheEntryInfo: LPDWORD, - ) -> BOOL; - pub fn GetUrlCacheGroupAttributeA( - gid: GROUPID, - dwFlags: DWORD, - dwAttributes: DWORD, - lpGroupInfo: LPINTERNET_CACHE_GROUP_INFOA, - lpcbGroupInfo: LPDWORD, - lpReserved: LPVOID, - ) -> BOOL; - pub fn GetUrlCacheGroupAttributeW( - gid: GROUPID, - dwFlags: DWORD, - dwAttributes: DWORD, - lpGroupInfo: LPINTERNET_CACHE_GROUP_INFOW, - lpcbGroupInfo: LPDWORD, - lpReserved: LPVOID, - ) -> BOOL; - pub fn GopherCreateLocatorA( - lpszHost: LPCSTR, - nServerPort: INTERNET_PORT, - lpszDisplayString: LPCSTR, - lpszSelectorString: LPCSTR, - dwGopherType: DWORD, - lpszLocator: LPSTR, - lpdwBufferLength: LPDWORD, - ) -> BOOL; - pub fn GopherCreateLocatorW( - lpszHost: LPCWSTR, - nServerPort: INTERNET_PORT, - lpszDisplayString: LPCWSTR, - lpszSelectorString: LPCWSTR, - dwGopherType: DWORD, - lpszLocator: LPWSTR, - lpdwBufferLength: LPDWORD, - ) -> BOOL; - pub fn GopherFindFirstFileA( - hConnect: HINTERNET, - lpszLocator: LPCSTR, - lpszSearchString: LPCSTR, - lpFindData: LPGOPHER_FIND_DATAA, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> HINTERNET; - pub fn GopherFindFirstFileW( - hConnect: HINTERNET, - lpszLocator: LPCWSTR, - lpszSearchString: LPCWSTR, - lpFindData: LPGOPHER_FIND_DATAW, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> HINTERNET; - pub fn GopherGetAttributeA( - hConnect: HINTERNET, - lpszLocator: LPCSTR, - lpszAttributeName: LPCSTR, - lpBuffer: LPBYTE, - dwBufferLength: DWORD, - lpdwCharactersReturned: LPDWORD, - lpfnEnumerator: GOPHER_ATTRIBUTE_ENUMERATOR, - dwContext: DWORD_PTR, - ) -> BOOL; - pub fn GopherGetAttributeW( - hConnect: HINTERNET, - lpszLocator: LPCWSTR, - lpszAttributeName: LPCWSTR, - lpBuffer: LPBYTE, - dwBufferLength: DWORD, - lpdwCharactersReturned: LPDWORD, - lpfnEnumerator: GOPHER_ATTRIBUTE_ENUMERATOR, - dwContext: DWORD_PTR, - ) -> BOOL; - pub fn GopherGetLocatorTypeA( - lpszLocator: LPCSTR, - lpdwGopherType: LPDWORD, - ) -> BOOL; - pub fn GopherGetLocatorTypeW( - lpszLocator: LPCWSTR, - lpdwGopherType: LPDWORD, - ) -> BOOL; - pub fn GopherOpenFileA( - hConnect: HINTERNET, - lpszLocator: LPCSTR, - lpszView: LPCSTR, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> HINTERNET; - pub fn GopherOpenFileW( - hConnect: HINTERNET, - lpszLocator: LPCWSTR, - lpszView: LPCWSTR, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> HINTERNET; - pub fn HttpAddRequestHeadersA( - hRequest: HINTERNET, - lpszHeaders: LPCSTR, - dwHeadersLength: DWORD, - dwModifiers: DWORD, - ) -> BOOL; - pub fn HttpAddRequestHeadersW( - hRequest: HINTERNET, - lpszHeaders: LPCWSTR, - dwHeadersLength: DWORD, - dwModifiers: DWORD, - ) -> BOOL; - pub fn HttpEndRequestA( - hRequest: HINTERNET, - lpBuffersOut: LPINTERNET_BUFFERSA, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> BOOL; - pub fn HttpEndRequestW( - hRequest: HINTERNET, - lpBuffersOut: LPINTERNET_BUFFERSW, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> BOOL; - pub fn HttpOpenRequestA( - hConnect: HINTERNET, - lpszVerb: LPCSTR, - lpszObjectName: LPCSTR, - lpszVersion: LPCSTR, - lpszReferrer: LPCSTR, - lplpszAcceptTypes: *mut LPCSTR, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> HINTERNET; - pub fn HttpOpenRequestW( - hConnect: HINTERNET, - lpszVerb: LPCWSTR, - lpszObjectName: LPCWSTR, - lpszVersion: LPCWSTR, - lpszReferrer: LPCWSTR, - lplpszAcceptTypes: *mut LPCWSTR, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> HINTERNET; - pub fn HttpQueryInfoA( - hRequest: HINTERNET, - dwInfoLevel: DWORD, - lpBuffer: LPVOID, - lpdwBufferLength: LPDWORD, - lpdwIndex: LPDWORD, - ) -> BOOL; - pub fn HttpQueryInfoW( - hRequest: HINTERNET, - dwInfoLevel: DWORD, - lpBuffer: LPVOID, - lpdwBufferLength: LPDWORD, - lpdwIndex: LPDWORD, - ) -> BOOL; - pub fn HttpSendRequestA( - hRequest: HINTERNET, - lpszHeaders: LPCSTR, - dwHeadersLength: DWORD, - lpOptional: LPVOID, - dwOptionalLength: DWORD, - ) -> BOOL; - pub fn HttpSendRequestExA( - hRequest: HINTERNET, - lpBuffersIn: LPINTERNET_BUFFERSA, - lpBuffersOut: LPINTERNET_BUFFERSA, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> BOOL; - pub fn HttpSendRequestExW( - hRequest: HINTERNET, - lpBuffersIn: LPINTERNET_BUFFERSW, - lpBuffersOut: LPINTERNET_BUFFERSW, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> BOOL; - pub fn HttpSendRequestW( - hRequest: HINTERNET, - lpszHeaders: LPCWSTR, - dwHeadersLength: DWORD, - lpOptional: LPVOID, - dwOptionalLength: DWORD, - ) -> BOOL; - pub fn InternetAttemptConnect( - dwReserved: DWORD, - ) -> DWORD; - pub fn InternetAutodial( - dwFlags: DWORD, - hwndParent: HWND, - ) -> BOOL; - pub fn InternetAutodialHangup( - dwReserved: DWORD, - ) -> BOOL; - pub fn InternetCanonicalizeUrlA( - lpszUrl: LPCSTR, - lpszBuffer: LPSTR, - lpdwBufferLength: LPDWORD, - dwFlags: DWORD, - ) -> BOOL; - pub fn InternetCanonicalizeUrlW( - lpszUrl: LPCWSTR, - lpszBuffer: LPWSTR, - lpdwBufferLength: LPDWORD, - dwFlags: DWORD, - ) -> BOOL; - pub fn InternetCheckConnectionA( - lpszUrl: LPCSTR, - dwFlags: DWORD, - dwReserved: DWORD, - ) -> BOOL; - pub fn InternetCheckConnectionW( - lpszUrl: LPCWSTR, - dwFlags: DWORD, - dwReserved: DWORD, - ) -> BOOL; - pub fn InternetClearAllPerSiteCookieDecisions() -> BOOL; - pub fn InternetCloseHandle( - hInternet: HINTERNET, - ) -> BOOL; - pub fn InternetCombineUrlA( - lpszBaseUrl: LPCSTR, - lpszRelativeUrl: LPCSTR, - lpszBuffer: LPSTR, - lpdwBufferLength: LPDWORD, - dwFlags: DWORD, - ) -> BOOL; - pub fn InternetCombineUrlW( - lpszBaseUrl: LPCWSTR, - lpszRelativeUrl: LPCWSTR, - lpszBuffer: LPWSTR, - lpdwBufferLength: LPDWORD, - dwFlags: DWORD, - ) -> BOOL; - pub fn InternetConfirmZoneCrossingA( - hWnd: HWND, - szUrlPrev: LPSTR, - szUrlNew: LPSTR, - bPost: BOOL, - ) -> DWORD; - pub fn InternetConfirmZoneCrossingW( - hWnd: HWND, - szUrlPrev: LPWSTR, - szUrlNew: LPWSTR, - bPost: BOOL, - ) -> DWORD; - pub fn InternetConnectA( - hInternet: HINTERNET, - lpszServerName: LPCSTR, - nServerPort: INTERNET_PORT, - lpszUserName: LPCSTR, - lpszPassword: LPCSTR, - dwService: DWORD, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> HINTERNET; - pub fn InternetConnectW( - hInternet: HINTERNET, - lpszServerName: LPCWSTR, - nServerPort: INTERNET_PORT, - lpszUserName: LPCWSTR, - lpszPassword: LPCWSTR, - dwService: DWORD, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> HINTERNET; - pub fn InternetCrackUrlA( - lpszUrl: LPCSTR, - dwUrlLength: DWORD, - dwFlags: DWORD, - lpUrlComponents: LPURL_COMPONENTSA, - ) -> BOOL; - pub fn InternetCrackUrlW( - lpszUrl: LPCWSTR, - dwUrlLength: DWORD, - dwFlags: DWORD, - lpUrlComponents: LPURL_COMPONENTSW, - ) -> BOOL; - pub fn InternetCreateUrlA( - lpUrlComponents: LPURL_COMPONENTSA, - dwFlags: DWORD, - lpszUrl: LPSTR, - lpdwUrlLength: LPDWORD, - ) -> BOOL; - pub fn InternetCreateUrlW( - lpUrlComponents: LPURL_COMPONENTSW, - dwFlags: DWORD, - lpszUrl: LPWSTR, - lpdwUrlLength: LPDWORD, - ) -> BOOL; - pub fn InternetDialA( - hwndParent: HWND, - lpszConnectoid: LPSTR, - dwFlags: DWORD, - lpdwConnection: *mut DWORD_PTR, - dwReserved: DWORD, - ) -> DWORD; - pub fn InternetDialW( - hwndParent: HWND, - lpszConnectoid: LPWSTR, - dwFlags: DWORD, - lpdwConnection: *mut DWORD_PTR, - dwReserved: DWORD, - ) -> DWORD; - pub fn InternetEnumPerSiteCookieDecisionA( - pszSiteName: LPSTR, - pcSiteNameSize: *mut u32, - pdwDecision: *mut u32, - dwIndex: u32, - ) -> BOOL; - pub fn InternetEnumPerSiteCookieDecisionW( - pszSiteName: LPWSTR, - pcSiteNameSize: *mut u32, - pdwDecision: *mut u32, - dwIndex: u32, - ) -> BOOL; - pub fn InternetErrorDlg( - hWnd: HWND, - hRequest: HINTERNET, - dwError: DWORD, - dwFlags: DWORD, - lppvData: *mut LPVOID, - ) -> DWORD; - pub fn InternetFindNextFileA( - hFind: HINTERNET, - lpvFindData: LPVOID, - ) -> BOOL; - pub fn InternetFindNextFileW( - hFind: HINTERNET, - lpvFindData: LPVOID, - ) -> BOOL; - pub fn InternetFreeCookies( - pCookies: *mut INTERNET_COOKIE2, - dwCookieCount: DWORD, - ) -> (); - pub fn InternetGetConnectedState( - lpdwFlags: LPDWORD, - dwReserved: DWORD, - ) -> BOOL; - pub fn InternetGetConnectedStateExA( - lpdwFlags: LPDWORD, - lpszConnectionName: LPSTR, - cchNameLen: DWORD, - dwReserved: DWORD, - ) -> BOOL; - pub fn InternetGetConnectedStateExW( - lpdwFlags: LPDWORD, - lpszConnectionName: LPWSTR, - cchNameLen: DWORD, - dwReserved: DWORD, - ) -> BOOL; - pub fn InternetGetCookieA( - lpszUrl: LPCSTR, - lpszCookieName: LPCSTR, - lpszCookieData: LPSTR, - lpdwSize: LPDWORD, - ) -> BOOL; - pub fn InternetGetCookieEx2( - pcwszUrl: PCWSTR, - pcwszCookieName: PCWSTR, - dwFlags: DWORD, - ppCookies: *mut *mut INTERNET_COOKIE2, - pdwCookieCount: PDWORD, - ) -> DWORD; - pub fn InternetGetCookieExA( - lpszUrl: LPCSTR, - lpszCookieName: LPCSTR, - lpszCookieData: LPSTR, - lpdwSize: LPDWORD, - dwFlags: DWORD, - lpReserved: LPVOID, - ) -> BOOL; - pub fn InternetGetCookieExW( - lpszUrl: LPCWSTR, - lpszCookieName: LPCWSTR, - lpszCookieData: LPWSTR, - lpdwSize: LPDWORD, - dwFlags: DWORD, - lpReserved: LPVOID, - ) -> BOOL; - pub fn InternetGetCookieW( - lpszUrl: LPCWSTR, - lpszCookieName: LPCWSTR, - lpszCookieData: LPWSTR, - lpdwSize: LPDWORD, - ) -> BOOL; - pub fn InternetGetLastResponseInfoA( - lpdwError: LPDWORD, - lpszBuffer: LPSTR, - lpdwBufferLength: LPDWORD, - ) -> BOOL; - pub fn InternetGetLastResponseInfoW( - lpdwError: LPDWORD, - lpszBuffer: LPWSTR, - lpdwBufferLength: LPDWORD, - ) -> BOOL; - pub fn InternetGetPerSiteCookieDecisionA( - pchHostName: LPCSTR, - pResult: *mut u32, - ) -> BOOL; - pub fn InternetGetPerSiteCookieDecisionW( - pchHostName: LPCWSTR, - pResult: *mut u32, - ) -> BOOL; - pub fn InternetGoOnlineA( - lpszURL: LPCSTR, - hwndParent: HWND, - dwFlags: DWORD, - ) -> BOOL; - pub fn InternetGoOnlineW( - lpszURL: LPCWSTR, - hwndParent: HWND, - dwFlags: DWORD, - ) -> BOOL; - pub fn InternetHangUp( - dwConnection: DWORD_PTR, - dwReserved: DWORD, - ) -> DWORD; - pub fn InternetInitializeAutoProxyDll( - dwReserved: DWORD, - ) -> BOOL; - pub fn InternetLockRequestFile( - hInternet: HINTERNET, - lphLockRequestInfo: *mut HANDLE, - ) -> BOOL; - pub fn InternetOpenA( - lpszAgent: LPCSTR, - dwAccessType: DWORD, - lpszProxy: LPCSTR, - lpszProxyBypass: LPCSTR, - dwFlags: DWORD, - ) -> HINTERNET; - pub fn InternetOpenUrlA( - hInternet: HINTERNET, - lpszUrl: LPCSTR, - lpszHeaders: LPCSTR, - dwHeadersLength: DWORD, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> HINTERNET; - pub fn InternetOpenUrlW( - hInternet: HINTERNET, - lpszUrl: LPCWSTR, - lpszHeaders: LPCWSTR, - dwHeadersLength: DWORD, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> HINTERNET; - pub fn InternetOpenW( - lpszAgent: LPCWSTR, - dwAccessType: DWORD, - lpszProxy: LPCWSTR, - lpszProxyBypass: LPCWSTR, - dwFlags: DWORD, - ) -> HINTERNET; - pub fn InternetQueryDataAvailable( - hFile: HINTERNET, - lpdwNumberOfBytesAvailable: LPDWORD, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> BOOL; - pub fn InternetQueryOptionA( - hInternet: HINTERNET, - dwOption: DWORD, - lpBuffer: LPVOID, - lpdwBufferLength: LPDWORD, - ) -> BOOL; - pub fn InternetQueryOptionW( - hInternet: HINTERNET, - dwOption: DWORD, - lpBuffer: LPVOID, - lpdwBufferLength: LPDWORD, - ) -> BOOL; - pub fn InternetReadFile( - hFile: HINTERNET, - lpBuffer: LPVOID, - dwNumberOfBytesToRead: DWORD, - lpdwNumberOfBytesRead: LPDWORD, - ) -> BOOL; - pub fn InternetReadFileExA( - hFile: HINTERNET, - lpBuffersOut: LPINTERNET_BUFFERSA, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> BOOL; - pub fn InternetReadFileExW( - hFile: HINTERNET, - lpBuffersOut: LPINTERNET_BUFFERSW, - dwFlags: DWORD, - dwContext: DWORD_PTR, - ) -> BOOL; - pub fn InternetSetCookieA( - lpszUrl: LPCSTR, - lpszCookieName: LPCSTR, - lpszCookieData: LPCSTR, - ) -> BOOL; - pub fn InternetSetCookieEx2( - pcwszUrl: PCWSTR, - pCookie: *const INTERNET_COOKIE2, - pcwszP3PPolicy: PCWSTR, - dwFlags: DWORD, - pdwCookieState: PDWORD, - ) -> DWORD; - pub fn InternetSetCookieExA( - lpszUrl: LPCSTR, - lpszCookieName: LPCSTR, - lpszCookieData: LPCSTR, - dwFlags: DWORD, - dwReserved: DWORD_PTR, - ) -> DWORD; - pub fn InternetSetCookieExW( - lpszUrl: LPCWSTR, - lpszCookieName: LPCWSTR, - lpszCookieData: LPCWSTR, - dwFlags: DWORD, - dwReserved: DWORD_PTR, - ) -> DWORD; - pub fn InternetSetCookieW( - lpszUrl: LPCWSTR, - lpszCookieName: LPCWSTR, - lpszCookieData: LPCWSTR, - ) -> BOOL; - pub fn InternetSetDialStateA( - lpszConnectoid: LPCSTR, - dwState: DWORD, - dwReserved: DWORD, - ) -> BOOL; - pub fn InternetSetDialStateW( - lpszConnectoid: LPCWSTR, - dwState: DWORD, - dwReserved: DWORD, - ) -> BOOL; - pub fn InternetSetFilePointer( - hFile: HINTERNET, - lDistanceToMove: LONG, - lpDistanceToMoveHigh: PLONG, - dwMoveMethod: DWORD, - dwContext: DWORD_PTR, - ) -> DWORD; - pub fn InternetSetOptionA( - hInternet: HINTERNET, - dwOption: DWORD, - lpBuffer: LPVOID, - dwBufferLength: DWORD, - ) -> BOOL; - pub fn InternetSetOptionExA( - hInternet: HINTERNET, - dwOption: DWORD, - lpBuffer: LPVOID, - dwBufferLength: DWORD, - dwFlags: DWORD, - ) -> BOOL; - pub fn InternetSetOptionExW( - hInternet: HINTERNET, - dwOption: DWORD, - lpBuffer: LPVOID, - dwBufferLength: DWORD, - dwFlags: DWORD, - ) -> BOOL; - pub fn InternetSetOptionW( - hInternet: HINTERNET, - dwOption: DWORD, - lpBuffer: LPVOID, - dwBufferLength: DWORD, - ) -> BOOL; - pub fn InternetSetPerSiteCookieDecisionA( - pchHostName: LPCSTR, - dwDecision: DWORD, - ) -> BOOL; - pub fn InternetSetPerSiteCookieDecisionW( - pchHostName: LPCWSTR, - dwDecision: DWORD, - ) -> BOOL; - pub fn InternetSetStatusCallbackA( - hInternet: HINTERNET, - lpfnInternetCallback: INTERNET_STATUS_CALLBACK, - ) -> INTERNET_STATUS_CALLBACK; - pub fn InternetSetStatusCallbackW( - hInternet: HINTERNET, - lpfnInternetCallback: INTERNET_STATUS_CALLBACK, - ) -> INTERNET_STATUS_CALLBACK; - pub fn InternetTimeFromSystemTimeA( - pst: *const SYSTEMTIME, - dwRFC: DWORD, - lpszTime: LPSTR, - cbTime: DWORD, - ) -> BOOL; - pub fn InternetTimeFromSystemTimeW( - pst: *const SYSTEMTIME, - dwRFC: DWORD, - lpszTime: LPWSTR, - cbTime: DWORD, - ) -> BOOL; - pub fn InternetTimeToSystemTimeA( - lpszTime: LPCSTR, - pst: *mut SYSTEMTIME, - dwReserved: DWORD, - ) -> BOOL; - pub fn InternetTimeToSystemTimeW( - lpszTime: LPCWSTR, - pst: *mut SYSTEMTIME, - dwReserved: DWORD, - ) -> BOOL; - pub fn InternetUnlockRequestFile( - hLockRequestInfo: HANDLE, - ) -> BOOL; - pub fn InternetWriteFile( - hFile: HINTERNET, - lpBuffer: LPCVOID, - dwNumberOfBytesToWrite: DWORD, - lpdwNumberOfBytesWritten: LPDWORD, - ) -> BOOL; - pub fn PrivacyGetZonePreferenceW( - dwZone: DWORD, - dwType: DWORD, - pdwTemplate: LPDWORD, - pszBuffer: LPWSTR, - pdwBufferLength: LPDWORD, - ) -> DWORD; - pub fn PrivacySetZonePreferenceW( - dwZone: DWORD, - dwType: DWORD, - dwTemplate: DWORD, - pszPreference: LPCWSTR, - ) -> DWORD; - pub fn ReadUrlCacheEntryStream( - hUrlCacheStream: HANDLE, - dwLocation: DWORD, - lpBuffer: LPVOID, - lpdwLen: LPDWORD, - Reserved: DWORD, - ) -> BOOL; - pub fn ReadUrlCacheEntryStreamEx( - hUrlCacheStream: HANDLE, - qwLocation: DWORDLONG, - lpBuffer: LPVOID, - lpdwLen: LPDWORD, - ) -> BOOL; - pub fn ResumeSuspendedDownload( - hRequest: HINTERNET, - dwResultCode: DWORD, - ) -> BOOL; - pub fn RetrieveUrlCacheEntryFileA( - lpszUrlName: LPCSTR, - lpCacheEntryInfo: LPINTERNET_CACHE_ENTRY_INFOA, - lpcbCacheEntryInfo: LPDWORD, - dwReserved: DWORD, - ) -> BOOL; - pub fn RetrieveUrlCacheEntryFileW( - lpszUrlName: LPCWSTR, - lpCacheEntryInfo: LPINTERNET_CACHE_ENTRY_INFOW, - lpcbCacheEntryInfo: LPDWORD, - dwReserved: DWORD, - ) -> BOOL; - pub fn RetrieveUrlCacheEntryStreamA( - lpszUrlName: LPCSTR, - lpCacheEntryInfo: LPINTERNET_CACHE_ENTRY_INFOA, - lpcbCacheEntryInfo: LPDWORD, - fRandomRead: BOOL, - dwReserved: DWORD, - ) -> HANDLE; - pub fn RetrieveUrlCacheEntryStreamW( - lpszUrlName: LPCWSTR, - lpCacheEntryInfo: LPINTERNET_CACHE_ENTRY_INFOW, - lpcbCacheEntryInfo: LPDWORD, - fRandomRead: BOOL, - dwReserved: DWORD, - ) -> HANDLE; - pub fn SetUrlCacheEntryGroupA( - lpszUrlName: LPCSTR, - dwFlags: DWORD, - GroupId: GROUPID, - pbGroupAttributes: LPBYTE, - cbGroupAttributes: DWORD, - lpReserved: LPVOID, - ) -> BOOL; - pub fn SetUrlCacheEntryGroupW( - lpszUrlName: LPCWSTR, - dwFlags: DWORD, - GroupId: GROUPID, - pbGroupAttributes: LPBYTE, - cbGroupAttributes: DWORD, - lpReserved: LPVOID, - ) -> BOOL; - pub fn SetUrlCacheEntryInfoA( - lpszUrlName: LPCSTR, - lpCacheEntryInfo: LPINTERNET_CACHE_ENTRY_INFOA, - dwFieldControl: DWORD, - ) -> BOOL; - pub fn SetUrlCacheEntryInfoW( - lpszUrlName: LPCWSTR, - lpCacheEntryInfo: LPINTERNET_CACHE_ENTRY_INFOW, - dwFieldControl: DWORD, - ) -> BOOL; - pub fn SetUrlCacheGroupAttributeA( - gid: GROUPID, - dwFlags: DWORD, - dwAttributes: DWORD, - lpGroupInfo: LPINTERNET_CACHE_GROUP_INFOA, - lpReserved: LPVOID, - ) -> BOOL; - pub fn SetUrlCacheGroupAttributeW( - gid: GROUPID, - dwFlags: DWORD, - dwAttributes: DWORD, - lpGroupInfo: LPINTERNET_CACHE_GROUP_INFOW, - lpReserved: LPVOID, - ) -> BOOL; - pub fn UnlockUrlCacheEntryFileA( - lpszUrlName: LPCSTR, - dwReserved: DWORD, - ) -> BOOL; - pub fn UnlockUrlCacheEntryFileW( - lpszUrlName: LPCWSTR, - dwReserved: DWORD, - ) -> BOOL; - pub fn UnlockUrlCacheEntryStream( - hUrlCacheStream: HANDLE, - Reserved: DWORD, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/winineti.rs b/vendor/registry-40351f815f426200/winapi/src/um/winineti.rs deleted file mode 100644 index c0076c0d0..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/winineti.rs +++ /dev/null @@ -1,142 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Windows Internet Services API procedure declarations, types and constants. -// Currently, this only contains `INTERNET_FLAG_BGUPDATE`, which is needed to correctly define -// `wininet::INTERNET_FLAGS_MASK`. -use shared::minwindef::DWORD; -pub const INTERNET_FLAG_BGUPDATE: DWORD = 0x00000008; -// Functions from wininet.dll that *should* be in this header. -// pub fn AppCacheCheckManifest(); -// pub fn AppCacheCloseHandle(); -// pub fn AppCacheCreateAndCommitFile(); -// pub fn AppCacheDeleteGroup(); -// pub fn AppCacheDeleteIEGroup(); -// pub fn AppCacheDuplicateHandle(); -// pub fn AppCacheFinalize(); -// pub fn AppCacheFreeDownloadList(); -// pub fn AppCacheFreeGroupList(); -// pub fn AppCacheFreeIESpace(); -// pub fn AppCacheFreeSpace(); -// pub fn AppCacheGetDownloadList(); -// pub fn AppCacheGetFallbackUrl(); -// pub fn AppCacheGetGroupList(); -// pub fn AppCacheGetIEGroupList(); -// pub fn AppCacheGetInfo(); -// pub fn AppCacheGetManifestUrl(); -// pub fn AppCacheLookup(); -// pub fn CommitUrlCacheEntryBinaryBlob(); -// pub fn CreateCacheServerRpcBinding(); -// pub fn CreateUrlCacheContainerA(); -// pub fn CreateUrlCacheContainerW(); -// pub fn CreateUrlCacheEntryExW(); -// pub fn DeleteIE3Cache(); -// pub fn DeleteUrlCacheContainerA(); -// pub fn DeleteUrlCacheContainerW(); -// pub fn DoConnectoidsExist(); -// pub fn ExportCookieFileA(); -// pub fn ExportCookieFileW(); -// pub fn FindFirstUrlCacheContainerA(); -// pub fn FindFirstUrlCacheContainerW(); -// pub fn FindNextUrlCacheContainerA(); -// pub fn FindNextUrlCacheContainerW(); -// pub fn FindP3PPolicySymbol(); -// pub fn ForceNexusLookupExW(); -// pub fn FreeP3PObject(); -// pub fn FreeUrlCacheSpaceA(); -// pub fn FreeUrlCacheSpaceW(); -// pub fn GetCacheServerConnection(); -// pub fn GetDiskInfoA(); -// pub fn GetP3PPolicy(); -// pub fn GetP3PRequestStatus(); -// pub fn GetUrlCacheConfigInfoA(); -// pub fn GetUrlCacheConfigInfoW(); -// pub fn GetUrlCacheEntryBinaryBlob(); -// pub fn GetUrlCacheHeaderData(); -// pub fn HttpCheckDavComplianceA(); -// pub fn HttpCheckDavComplianceW(); -// pub fn HttpCloseDependencyHandle(); -// pub fn HttpDuplicateDependencyHandle(); -// pub fn HttpGetServerCredentials(); -// pub fn HttpGetTunnelSocket(); -// pub fn HttpIsHostHstsEnabled(); -// pub fn HttpOpenDependencyHandle(); -// pub fn HttpPushClose(); -// pub fn HttpPushEnable(); -// pub fn HttpPushWait(); -// pub fn HttpWebSocketClose(); -// pub fn HttpWebSocketCompleteUpgrade(); -// pub fn HttpWebSocketQueryCloseStatus(); -// pub fn HttpWebSocketReceive(); -// pub fn HttpWebSocketSend(); -// pub fn HttpWebSocketShutdown(); -// pub fn ImportCookieFileA(); -// pub fn ImportCookieFileW(); -// pub fn IncrementUrlCacheHeaderData(); -// pub fn InternalInternetGetCookie(); -// pub fn InternetAlgIdToStringA(); -// pub fn InternetAlgIdToStringW(); -// pub fn InternetAutodialCallback(); -// pub fn InternetAutoProxyGetProxyForUrl(); -// pub fn InternetAutoProxyOnSendRequestComplete(); -// pub fn InternetFortezzaCommand(); -// pub fn InternetFreeProxyInfoList(); -// pub fn InternetGetCertByURLA(); -// pub fn InternetGetProxyForUrl(); -// pub fn InternetGetSecurityInfoByURLA(); -// pub fn InternetGetSecurityInfoByURLW(); -// pub fn InternetQueryFortezzaStatus(); -// pub fn InternetSecurityProtocolToStringA(); -// pub fn InternetSecurityProtocolToStringW(); -// pub fn InternetShowSecurityInfoByURLA(); -// pub fn InternetShowSecurityInfoByURLW(); -// pub fn InternetWriteFileExA(); -// pub fn InternetWriteFileExW(); -// pub fn IsDialUpConnection(); -// pub fn IsDomainLegalCookieDomainA(); -// pub fn IsDomainLegalCookieDomainW(); -// pub fn IsHostInProxyBypassList(); -// pub fn IsLanConnection(); -// pub fn IsProfilesEnabled(); -// pub fn IsUrlCacheEntryExpiredA(); -// pub fn IsUrlCacheEntryExpiredW(); -// pub fn LoadUrlCacheContent(); -// pub fn MapResourceToPolicy(); -// pub fn ParseX509EncodedCertificateForListBoxEntry(); -// pub fn PerformOperationOverUrlCacheA(); -// pub fn ReadGuidsForConnectedNetworks(); -// pub fn RegisterForNetworkChangeNotification(); -// pub fn RegisterUrlCacheNotification(); -// pub fn RunOnceUrlCache(); -// pub fn SetGlobalJetParameters(); -// pub fn SetUrlCacheConfigInfoA(); -// pub fn SetUrlCacheConfigInfoW(); -// pub fn SetUrlCacheHeaderData(); -// pub fn ShowCertificate(); -// pub fn ShowClientAuthCerts(); -// pub fn ShowSecurityInfo(); -// pub fn ShowX509EncodedCertificate(); -// pub fn UnRegisterNetworkChangeNotification(); -// pub fn UpdateUrlCacheContentPath(); -// pub fn UrlCacheCheckEntriesExist(); -// pub fn UrlCacheCloseEntryHandle(); -// pub fn UrlCacheContainerSetEntryMaximumAge(); -// pub fn UrlCacheCreateContainer(); -// pub fn UrlCacheFindFirstEntry(); -// pub fn UrlCacheFindNextEntry(); -// pub fn UrlCacheFreeEntryInfo(); -// pub fn UrlCacheFreeGlobalSpace(); -// pub fn UrlCacheGetContentPaths(); -// pub fn UrlCacheGetEntryInfo(); -// pub fn UrlCacheGetGlobalCacheSize(); -// pub fn UrlCacheGetGlobalLimit(); -// pub fn UrlCacheReadEntryStream(); -// pub fn UrlCacheReloadSettings(); -// pub fn UrlCacheRetrieveEntryFile(); -// pub fn UrlCacheRetrieveEntryStream(); -// pub fn UrlCacheServer(); -// pub fn UrlCacheSetGlobalLimit(); -// pub fn UrlCacheUpdateEntryExtraData(); -// pub fn UrlZonesDetach(); diff --git a/vendor/registry-40351f815f426200/winapi/src/um/winioctl.rs b/vendor/registry-40351f815f426200/winapi/src/um/winioctl.rs deleted file mode 100644 index 4b57b1ed2..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/winioctl.rs +++ /dev/null @@ -1,1076 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This module defines the 32-Bit Windows Device I/O control codes. -use shared::basetsd::DWORD64; -use shared::devpropdef::DEVPROPKEY; -use shared::guiddef::GUID; -use shared::minwindef::{BYTE, DWORD, WORD}; -use um::winnt::{ - ANYSIZE_ARRAY, BOOLEAN, FILE_READ_DATA, FILE_WRITE_DATA, HANDLE, LARGE_INTEGER, WCHAR, -}; -DEFINE_GUID!{GUID_DEVINTERFACE_DISK, - 0x53f56307, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b} -DEFINE_GUID!{GUID_DEVINTERFACE_CDROM, - 0x53f56308, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b} -DEFINE_GUID!{GUID_DEVINTERFACE_PARTITION, - 0x53f5630a, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b} -DEFINE_GUID!{GUID_DEVINTERFACE_TAPE, - 0x53f5630b, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b} -DEFINE_GUID!{GUID_DEVINTERFACE_WRITEONCEDISK, - 0x53f5630c, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b} -DEFINE_GUID!{GUID_DEVINTERFACE_VOLUME, - 0x53f5630d, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b} -DEFINE_GUID!{GUID_DEVINTERFACE_MEDIUMCHANGER, - 0x53f56310, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b} -DEFINE_GUID!{GUID_DEVINTERFACE_FLOPPY, - 0x53f56311, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b} -DEFINE_GUID!{GUID_DEVINTERFACE_CDCHANGER, - 0x53f56312, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b} -DEFINE_GUID!{GUID_DEVINTERFACE_STORAGEPORT, - 0x2accfe60, 0xc130, 0x11d2, 0xb0, 0x82, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b} -DEFINE_GUID!{GUID_DEVINTERFACE_VMLUN, - 0x6f416619, 0x9f29, 0x42a5, 0xb2, 0x0b, 0x37, 0xe2, 0x19, 0xca, 0x02, 0xb0} -DEFINE_GUID!{GUID_DEVINTERFACE_SES, - 0x1790c9ec, 0x47d5, 0x4df3, 0xb5, 0xaf, 0x9a, 0xdf, 0x3c, 0xf2, 0x3e, 0x48} -DEFINE_GUID!{WDI_STORAGE_PREDICT_FAILURE_DPS_GUID, - 0xe9f2d03a, 0x747c, 0x41c2, 0xbb, 0x9a, 0x02, 0xc6, 0x2b, 0x6d, 0x5f, 0xcb} -DEFINE_GUID!{GUID_DEVINTERFACE_SERVICE_VOLUME, - 0x6ead3d82, 0x25ec, 0x46bc, 0xb7, 0xfd, 0xc1, 0xf0, 0xdf, 0x8f, 0x50, 0x37} -DEFINE_GUID!{GUID_DEVINTERFACE_HIDDEN_VOLUME, - 0x7f108a28, 0x9833, 0x4b3b, 0xb7, 0x80, 0x2c, 0x6b, 0x5f, 0xa5, 0xc0, 0x62} -DEFINE_GUID!{GUID_DEVINTERFACE_UNIFIED_ACCESS_RPMB, - 0x27447c21, 0xbcc3, 0x4d07, 0xa0, 0x5b, 0xa3, 0x39, 0x5b, 0xb4, 0xee, 0xe7} -DEFINE_GUID!{GUID_DEVINTERFACE_SCM_PHYSICAL_DEVICE, - 0x4283609d, 0x4dc2, 0x43be, 0xbb, 0xb4, 0x4f, 0x15, 0xdf, 0xce, 0x2c, 0x61} -DEFINE_GUID!{GUID_SCM_PD_HEALTH_NOTIFICATION, - 0x9da2d386, 0x72f5, 0x4ee3, 0x81, 0x55, 0xec, 0xa0, 0x67, 0x8e, 0x3b, 0x06} -DEFINE_GUID!{GUID_SCM_PD_PASSTHROUGH_INVDIMM, - 0x4309AC30, 0x0D11, 0x11E4, 0x91, 0x91, 0x08, 0x00, 0x20, 0x0C, 0x9A, 0x66} -DEFINE_GUID!{GUID_DEVINTERFACE_COMPORT, - 0x86E0D1E0, 0x8089, 0x11D0, 0x9C, 0xE4, 0x08, 0x00, 0x3E, 0x30, 0x1F, 0x73} -DEFINE_GUID!{GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR, - 0x4D36E978, 0xE325, 0x11CE, 0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18} -//146 -DEFINE_DEVPROPKEY!{DEVPKEY_Storage_Portable, - 0x4d1ebee8, 0x803, 0x4774, 0x98, 0x42, 0xb7, 0x7d, 0xb5, 0x2, 0x65, 0xe9, 2} -DEFINE_DEVPROPKEY!{DEVPKEY_Storage_Removable_Media, - 0x4d1ebee8, 0x803, 0x4774, 0x98, 0x42, 0xb7, 0x7d, 0xb5, 0x2, 0x65, 0xe9, 3} -DEFINE_DEVPROPKEY!{DEVPKEY_Storage_System_Critical, - 0x4d1ebee8, 0x803, 0x4774, 0x98, 0x42, 0xb7, 0x7d, 0xb5, 0x2, 0x65, 0xe9, 4} -//177 -pub type DEVICE_TYPE = DWORD; -pub const FILE_DEVICE_BEEP: DEVICE_TYPE = 0x00000001; -pub const FILE_DEVICE_CD_ROM: DEVICE_TYPE = 0x00000002; -pub const FILE_DEVICE_CD_ROM_FILE_SYSTEM: DEVICE_TYPE = 0x00000003; -pub const FILE_DEVICE_CONTROLLER: DEVICE_TYPE = 0x00000004; -pub const FILE_DEVICE_DATALINK: DEVICE_TYPE = 0x00000005; -pub const FILE_DEVICE_DFS: DEVICE_TYPE = 0x00000006; -pub const FILE_DEVICE_DISK: DEVICE_TYPE = 0x00000007; -pub const FILE_DEVICE_DISK_FILE_SYSTEM: DEVICE_TYPE = 0x00000008; -pub const FILE_DEVICE_FILE_SYSTEM: DEVICE_TYPE = 0x00000009; -pub const FILE_DEVICE_INPORT_PORT: DEVICE_TYPE = 0x0000000a; -pub const FILE_DEVICE_KEYBOARD: DEVICE_TYPE = 0x0000000b; -pub const FILE_DEVICE_MAILSLOT: DEVICE_TYPE = 0x0000000c; -pub const FILE_DEVICE_MIDI_IN: DEVICE_TYPE = 0x0000000d; -pub const FILE_DEVICE_MIDI_OUT: DEVICE_TYPE = 0x0000000e; -pub const FILE_DEVICE_MOUSE: DEVICE_TYPE = 0x0000000f; -pub const FILE_DEVICE_MULTI_UNC_PROVIDER: DEVICE_TYPE = 0x00000010; -pub const FILE_DEVICE_NAMED_PIPE: DEVICE_TYPE = 0x00000011; -pub const FILE_DEVICE_NETWORK: DEVICE_TYPE = 0x00000012; -pub const FILE_DEVICE_NETWORK_BROWSER: DEVICE_TYPE = 0x00000013; -pub const FILE_DEVICE_NETWORK_FILE_SYSTEM: DEVICE_TYPE = 0x00000014; -pub const FILE_DEVICE_NULL: DEVICE_TYPE = 0x00000015; -pub const FILE_DEVICE_PARALLEL_PORT: DEVICE_TYPE = 0x00000016; -pub const FILE_DEVICE_PHYSICAL_NETCARD: DEVICE_TYPE = 0x00000017; -pub const FILE_DEVICE_PRINTER: DEVICE_TYPE = 0x00000018; -pub const FILE_DEVICE_SCANNER: DEVICE_TYPE = 0x00000019; -pub const FILE_DEVICE_SERIAL_MOUSE_PORT: DEVICE_TYPE = 0x0000001a; -pub const FILE_DEVICE_SERIAL_PORT: DEVICE_TYPE = 0x0000001b; -pub const FILE_DEVICE_SCREEN: DEVICE_TYPE = 0x0000001c; -pub const FILE_DEVICE_SOUND: DEVICE_TYPE = 0x0000001d; -pub const FILE_DEVICE_STREAMS: DEVICE_TYPE = 0x0000001e; -pub const FILE_DEVICE_TAPE: DEVICE_TYPE = 0x0000001f; -pub const FILE_DEVICE_TAPE_FILE_SYSTEM: DEVICE_TYPE = 0x00000020; -pub const FILE_DEVICE_TRANSPORT: DEVICE_TYPE = 0x00000021; -pub const FILE_DEVICE_UNKNOWN: DEVICE_TYPE = 0x00000022; -pub const FILE_DEVICE_VIDEO: DEVICE_TYPE = 0x00000023; -pub const FILE_DEVICE_VIRTUAL_DISK: DEVICE_TYPE = 0x00000024; -pub const FILE_DEVICE_WAVE_IN: DEVICE_TYPE = 0x00000025; -pub const FILE_DEVICE_WAVE_OUT: DEVICE_TYPE = 0x00000026; -pub const FILE_DEVICE_8042_PORT: DEVICE_TYPE = 0x00000027; -pub const FILE_DEVICE_NETWORK_REDIRECTOR: DEVICE_TYPE = 0x00000028; -pub const FILE_DEVICE_BATTERY: DEVICE_TYPE = 0x00000029; -pub const FILE_DEVICE_BUS_EXTENDER: DEVICE_TYPE = 0x0000002a; -pub const FILE_DEVICE_MODEM: DEVICE_TYPE = 0x0000002b; -pub const FILE_DEVICE_VDM: DEVICE_TYPE = 0x0000002c; -pub const FILE_DEVICE_MASS_STORAGE: DEVICE_TYPE = 0x0000002d; -pub const FILE_DEVICE_SMB: DEVICE_TYPE = 0x0000002e; -pub const FILE_DEVICE_KS: DEVICE_TYPE = 0x0000002f; -pub const FILE_DEVICE_CHANGER: DEVICE_TYPE = 0x00000030; -pub const FILE_DEVICE_SMARTCARD: DEVICE_TYPE = 0x00000031; -pub const FILE_DEVICE_ACPI: DEVICE_TYPE = 0x00000032; -pub const FILE_DEVICE_DVD: DEVICE_TYPE = 0x00000033; -pub const FILE_DEVICE_FULLSCREEN_VIDEO: DEVICE_TYPE = 0x00000034; -pub const FILE_DEVICE_DFS_FILE_SYSTEM: DEVICE_TYPE = 0x00000035; -pub const FILE_DEVICE_DFS_VOLUME: DEVICE_TYPE = 0x00000036; -pub const FILE_DEVICE_SERENUM: DEVICE_TYPE = 0x00000037; -pub const FILE_DEVICE_TERMSRV: DEVICE_TYPE = 0x00000038; -pub const FILE_DEVICE_KSEC: DEVICE_TYPE = 0x00000039; -pub const FILE_DEVICE_FIPS: DEVICE_TYPE = 0x0000003A; -pub const FILE_DEVICE_INFINIBAND: DEVICE_TYPE = 0x0000003B; -pub const FILE_DEVICE_VMBUS: DEVICE_TYPE = 0x0000003E; -pub const FILE_DEVICE_CRYPT_PROVIDER: DEVICE_TYPE = 0x0000003F; -pub const FILE_DEVICE_WPD: DEVICE_TYPE = 0x00000040; -pub const FILE_DEVICE_BLUETOOTH: DEVICE_TYPE = 0x00000041; -pub const FILE_DEVICE_MT_COMPOSITE: DEVICE_TYPE = 0x00000042; -pub const FILE_DEVICE_MT_TRANSPORT: DEVICE_TYPE = 0x00000043; -pub const FILE_DEVICE_BIOMETRIC: DEVICE_TYPE = 0x00000044; -pub const FILE_DEVICE_PMI: DEVICE_TYPE = 0x00000045; -pub const FILE_DEVICE_EHSTOR: DEVICE_TYPE = 0x00000046; -pub const FILE_DEVICE_DEVAPI: DEVICE_TYPE = 0x00000047; -pub const FILE_DEVICE_GPIO: DEVICE_TYPE = 0x00000048; -pub const FILE_DEVICE_USBEX: DEVICE_TYPE = 0x00000049; -pub const FILE_DEVICE_CONSOLE: DEVICE_TYPE = 0x00000050; -pub const FILE_DEVICE_NFP: DEVICE_TYPE = 0x00000051; -pub const FILE_DEVICE_SYSENV: DEVICE_TYPE = 0x00000052; -pub const FILE_DEVICE_VIRTUAL_BLOCK: DEVICE_TYPE = 0x00000053; -pub const FILE_DEVICE_POINT_OF_SERVICE: DEVICE_TYPE = 0x00000054; -pub const FILE_DEVICE_STORAGE_REPLICATION: DEVICE_TYPE = 0x00000055; -pub const FILE_DEVICE_TRUST_ENV: DEVICE_TYPE = 0x00000056; -pub const FILE_DEVICE_UCM: DEVICE_TYPE = 0x00000057; -pub const FILE_DEVICE_UCMTCPCI: DEVICE_TYPE = 0x00000058; -#[inline] -pub fn CTL_CODE( - DeviceType: DWORD, - Function: DWORD, - Method: DWORD, - Access: DWORD, -) -> DWORD { - (DeviceType << 16) | (Access << 14) | (Function << 2) | Method -} -//288 -pub const METHOD_BUFFERED: DWORD = 0; -pub const METHOD_IN_DIRECT: DWORD = 1; -pub const METHOD_OUT_DIRECT: DWORD = 2; -pub const METHOD_NEITHER: DWORD = 3; -//317 -pub const FILE_ANY_ACCESS: DWORD = 0; -pub const FILE_SPECIAL_ACCESS: DWORD = FILE_ANY_ACCESS; -pub const FILE_READ_ACCESS: DWORD = 0x0001; -pub const FILE_WRITE_ACCESS: DWORD = 0x0002; -//347 -pub const IOCTL_STORAGE_BASE: DWORD = FILE_DEVICE_MASS_STORAGE; -pub const IOCTL_STORAGE_CHECK_VERIFY: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0200, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_STORAGE_CHECK_VERIFY2: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0200, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_STORAGE_MEDIA_REMOVAL: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0201, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_STORAGE_EJECT_MEDIA: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0202, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_STORAGE_LOAD_MEDIA: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0203, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_STORAGE_LOAD_MEDIA2: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0203, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_STORAGE_RESERVE: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0204, METHOD_BUFFERED, - FILE_READ_ACCESS); -pub const IOCTL_STORAGE_RELEASE: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0205, METHOD_BUFFERED, - FILE_READ_ACCESS); -pub const IOCTL_STORAGE_FIND_NEW_DEVICES: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0206, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_STORAGE_EJECTION_CONTROL: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0250, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_STORAGE_MCN_CONTROL: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0251, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_STORAGE_GET_MEDIA_TYPES: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0300, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_STORAGE_GET_MEDIA_TYPES_EX: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0301, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0304, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_STORAGE_GET_HOTPLUG_INFO: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0305, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_STORAGE_SET_HOTPLUG_INFO: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0306, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_STORAGE_RESET_BUS: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0400, METHOD_BUFFERED, - FILE_READ_ACCESS); -pub const IOCTL_STORAGE_RESET_DEVICE: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0401, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_STORAGE_BREAK_RESERVATION: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0405, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_STORAGE_PERSISTENT_RESERVE_IN: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0406, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_STORAGE_PERSISTENT_RESERVE_OUT: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0407, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_STORAGE_GET_DEVICE_NUMBER: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0420, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_STORAGE_PREDICT_FAILURE: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0440, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_STORAGE_FAILURE_PREDICTION_CONFIG: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0441, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_STORAGE_READ_CAPACITY: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0450, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_STORAGE_GET_DEVICE_TELEMETRY: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0470, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_STORAGE_DEVICE_TELEMETRY_NOTIFY: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0471, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_STORAGE_DEVICE_TELEMETRY_QUERY_CAPS: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, - 0x0472, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_STORAGE_GET_DEVICE_TELEMETRY_RAW: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0473, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_STORAGE_QUERY_PROPERTY: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0500, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0501, - METHOD_BUFFERED, FILE_WRITE_ACCESS); -pub const IOCTL_STORAGE_GET_LB_PROVISIONING_MAP_RESOURCES: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, - 0x0502, METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_STORAGE_GET_BC_PROPERTIES: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0600, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_STORAGE_ALLOCATE_BC_STREAM: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0601, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_STORAGE_FREE_BC_STREAM: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0602, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_STORAGE_CHECK_PRIORITY_HINT_SUPPORT: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, - 0x0620, METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_STORAGE_START_DATA_INTEGRITY_CHECK: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0621, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_STORAGE_STOP_DATA_INTEGRITY_CHECK: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0622, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const OBSOLETE_IOCTL_STORAGE_RESET_BUS: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0400, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const OBSOLETE_IOCTL_STORAGE_RESET_DEVICE: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0401, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_STORAGE_ENABLE_IDLE_POWER: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0720, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_STORAGE_GET_IDLE_POWERUP_REASON: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0721, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_STORAGE_POWER_ACTIVE: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0722, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_STORAGE_POWER_IDLE: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0723, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_STORAGE_EVENT_NOTIFICATION: DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0724, - METHOD_BUFFERED, FILE_ANY_ACCESS); -//565 -STRUCT!{struct STORAGE_DEVICE_NUMBER { - DeviceType: DEVICE_TYPE, - DeviceNumber: DWORD, - PartitionNumber: DWORD, -}} -pub type PSTORAGE_DEVICE_NUMBER = *mut STORAGE_DEVICE_NUMBER; -STRUCT!{struct STORAGE_DEVICE_NUMBERS { - NumberOfDevices: DWORD, - Devices: [STORAGE_DEVICE_NUMBER; ANYSIZE_ARRAY], -}} -pub type PSTORAGE_DEVICE_NUMBERS = *mut STORAGE_DEVICE_NUMBERS; -//1040 -ENUM!{enum STORAGE_QUERY_TYPE { - PropertyStandardQuery = 0, - PropertyExistsQuery, - PropertyMaskQuery, - PropertyQueryMaxDefined, -}} -pub type PSTORAGE_QUERY_TYPE = *mut STORAGE_QUERY_TYPE; -ENUM!{enum STORAGE_PROPERTY_ID { - StorageDeviceProperty = 0, - StorageAdapterProperty, - StorageDeviceIdProperty, - StorageDeviceUniqueIdProperty, - StorageDeviceWriteCacheProperty, - StorageMiniportProperty, - StorageAccessAlignmentProperty, - StorageDeviceSeekPenaltyProperty, - StorageDeviceTrimProperty, - StorageDeviceWriteAggregationProperty, - StorageDeviceDeviceTelemetryProperty, - StorageDeviceLBProvisioningProperty, - StorageDevicePowerProperty, - StorageDeviceCopyOffloadProperty, - StorageDeviceResiliencyProperty, - StorageDeviceMediumProductType, - StorageAdapterCryptoProperty, - StorageDeviceIoCapabilityProperty = 48, - StorageAdapterProtocolSpecificProperty, - StorageDeviceProtocolSpecificProperty, - StorageAdapterTemperatureProperty, - StorageDeviceTemperatureProperty, - StorageAdapterPhysicalTopologyProperty, - StorageDevicePhysicalTopologyProperty, - StorageDeviceAttributesProperty, - StorageDeviceManagementStatus, - StorageAdapterSerialNumberProperty, - StorageDeviceLocationProperty, - StorageDeviceNumaProperty, - StorageDeviceZonedDeviceProperty, - StorageDeviceUnsafeShutdownCount, -}} -pub type PSTORAGE_PROPERTY_ID = *mut STORAGE_PROPERTY_ID; -STRUCT!{struct STORAGE_PROPERTY_QUERY { - PropertyId: STORAGE_PROPERTY_ID, - QueryType: STORAGE_QUERY_TYPE, - AdditionalParameters: [BYTE; 1], -}} -pub type PSTORAGE_PROPERTY_QUERY = *mut STORAGE_PROPERTY_QUERY; -//1574 -STRUCT!{struct DEVICE_TRIM_DESCRIPTOR { - Version: DWORD, - Size: DWORD, - TrimEnabled: BOOLEAN, -}} -pub type PDEVICE_TRIM_DESCRIPTOR = *mut DEVICE_TRIM_DESCRIPTOR; -//7540 -pub const IOCTL_DISK_BASE: DWORD = FILE_DEVICE_DISK; -pub const IOCTL_DISK_GET_DRIVE_GEOMETRY: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0000, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_DISK_GET_PARTITION_INFO: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0001, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_DISK_SET_PARTITION_INFO: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0002, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_DISK_GET_DRIVE_LAYOUT: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0003, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_DISK_SET_DRIVE_LAYOUT: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0004, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_DISK_VERIFY: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0005, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const IOCTL_DISK_FORMAT_TRACKS: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0006, METHOD_BUFFERED, - FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_DISK_REASSIGN_BLOCKS: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0007, METHOD_BUFFERED, - FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_DISK_PERFORMANCE: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0008, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const IOCTL_DISK_IS_WRITABLE: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0009, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const IOCTL_DISK_LOGGING: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x000a, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const IOCTL_DISK_FORMAT_TRACKS_EX: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x000b, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_DISK_HISTOGRAM_STRUCTURE: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x000c, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_DISK_HISTOGRAM_DATA: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x000d, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const IOCTL_DISK_HISTOGRAM_RESET: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x000e, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const IOCTL_DISK_REQUEST_STRUCTURE: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x000f, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_DISK_REQUEST_DATA: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0010, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const IOCTL_DISK_PERFORMANCE_OFF: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0018, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const IOCTL_DISK_CONTROLLER_NUMBER: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0011, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const SMART_GET_VERSION: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0020, METHOD_BUFFERED, - FILE_READ_ACCESS); -pub const SMART_SEND_DRIVE_COMMAND: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0021, METHOD_BUFFERED, - FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const SMART_RCV_DRIVE_DATA: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0022, METHOD_BUFFERED, - FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_DISK_GET_PARTITION_INFO_EX: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0012, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_DISK_SET_PARTITION_INFO_EX: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0013, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_DISK_GET_DRIVE_LAYOUT_EX: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0014, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_DISK_SET_DRIVE_LAYOUT_EX: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0015, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_DISK_CREATE_DISK: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0016, METHOD_BUFFERED, - FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_DISK_GET_LENGTH_INFO: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0017, METHOD_BUFFERED, - FILE_READ_ACCESS); -pub const IOCTL_DISK_GET_DRIVE_GEOMETRY_EX: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0028, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_DISK_REASSIGN_BLOCKS_EX: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0029, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_DISK_UPDATE_DRIVE_SIZE: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0032, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_DISK_GROW_PARTITION: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0034, METHOD_BUFFERED, - FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_DISK_GET_CACHE_INFORMATION: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0035, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_DISK_SET_CACHE_INFORMATION: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0036, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_DISK_GET_WRITE_CACHE_STATE: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0037, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const OBSOLETE_DISK_GET_WRITE_CACHE_STATE: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0037, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_DISK_DELETE_DRIVE_LAYOUT: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0040, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_DISK_UPDATE_PROPERTIES: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0050, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_DISK_FORMAT_DRIVE: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x00f3, METHOD_BUFFERED, - FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_DISK_SENSE_DEVICE: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x00f8, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const IOCTL_DISK_CHECK_VERIFY: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0200, METHOD_BUFFERED, - FILE_READ_ACCESS); -pub const IOCTL_DISK_MEDIA_REMOVAL: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0201, METHOD_BUFFERED, - FILE_READ_ACCESS); -pub const IOCTL_DISK_EJECT_MEDIA: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0202, METHOD_BUFFERED, - FILE_READ_ACCESS); -pub const IOCTL_DISK_LOAD_MEDIA: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0203, METHOD_BUFFERED, - FILE_READ_ACCESS); -pub const IOCTL_DISK_RESERVE: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0204, METHOD_BUFFERED, - FILE_READ_ACCESS); -pub const IOCTL_DISK_RELEASE: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0205, METHOD_BUFFERED, - FILE_READ_ACCESS); -pub const IOCTL_DISK_FIND_NEW_DEVICES: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0206, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_DISK_GET_MEDIA_TYPES: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0300, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const IOCTL_DISK_GET_DISK_ATTRIBUTES: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x003c, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_DISK_SET_DISK_ATTRIBUTES: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x003d, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_DISK_RESET_SNAPSHOT_INFO: DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0084, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -//7810 -ENUM!{enum MEDIA_TYPE { - Unknown, - F5_1Pt2_512, - F3_1Pt44_512, - F3_2Pt88_512, - F3_20Pt8_512, - F3_720_512, - F5_360_512, - F5_320_512, - F5_320_1024, - F5_180_512, - F5_160_512, - RemovableMedia, - FixedMedia, - F3_120M_512, - F3_640_512, - F5_640_512, - F5_720_512, - F3_1Pt2_512, - F3_1Pt23_1024, - F5_1Pt23_1024, - F3_128Mb_512, - F3_230Mb_512, - F8_256_128, - F3_200Mb_512, - F3_240M_512, - F3_32M_512, -}} -pub type PMEDIA_TYPE = *mut MEDIA_TYPE; -//7884 -STRUCT!{struct DISK_GEOMETRY { - Cylinders: LARGE_INTEGER, - MediaType: MEDIA_TYPE, - TracksPerCylinder: DWORD, - SectorsPerTrack: DWORD, - BytesPerSector: DWORD, -}} -pub type PDISK_GEOMETRY = *mut DISK_GEOMETRY; -DEFINE_GUID!{WMI_DISK_GEOMETRY_GUID, - 0x25007f51, 0x57c2, 0x11d1, 0xa5, 0x28, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10} -STRUCT!{struct PARTITION_INFORMATION { - StartingOffset: LARGE_INTEGER, - PartitionLength: LARGE_INTEGER, - HiddenSectors: DWORD, - PartitionNumber: DWORD, - PartitionType: BYTE, - BootIndicator: BOOLEAN, - RecognizedPartition: BOOLEAN, - RewritePartition: BOOLEAN, -}} -pub type PPARTITION_INFORMATION = *mut PARTITION_INFORMATION; -STRUCT!{struct SET_PARTITION_INFORMATION { - PartitionType: BYTE, -}} -pub type PSET_PARTITION_INFORMATION = *mut SET_PARTITION_INFORMATION; -STRUCT!{struct DRIVE_LAYOUT_INFORMATION { - PartitionCount: DWORD, - Signature: DWORD, - PartitionEntry: [PARTITION_INFORMATION; 1], -}} -pub type PDRIVE_LAYOUT_INFORMATION = *mut DRIVE_LAYOUT_INFORMATION; -STRUCT!{struct VERIFY_INFORMATION { - StartingOffset: LARGE_INTEGER, - Length: DWORD, -}} -pub type PVERIFY_INFORMATION = *mut VERIFY_INFORMATION; -STRUCT!{struct REASSIGN_BLOCKS { - Reserved: WORD, - Count: WORD, - BlockNumber: [DWORD; 1], -}} -pub type PREASSIGN_BLOCKS = *mut REASSIGN_BLOCKS; -STRUCT!{#[repr(packed)] struct REASSIGN_BLOCKS_EX { - Reserved: WORD, - Count: WORD, - BlockNumber: [LARGE_INTEGER; 1], -}} -pub type PREASSIGN_BLOCKS_EX = *mut REASSIGN_BLOCKS_EX; -ENUM!{enum PARTITION_STYLE { - PARTITION_STYLE_MBR, - PARTITION_STYLE_GPT, - PARTITION_STYLE_RAW, -}} -STRUCT!{struct PARTITION_INFORMATION_GPT { - PartitionType: GUID, - PartitionId: GUID, - Attributes: DWORD64, - Name: [WCHAR; 36], -}} -pub type PPARTITION_INFORMATION_GPT = *mut PARTITION_INFORMATION_GPT; -//8059 -STRUCT!{struct PARTITION_INFORMATION_MBR { - PartitionType: BYTE, - BootIndicator: BOOLEAN, - RecognizedPartition: BOOLEAN, - HiddenSectors: DWORD, - PartitionId: GUID, -}} -pub type PPARTITION_INFORMATION_MBR = *mut PARTITION_INFORMATION_MBR; -pub type SET_PARTITION_INFORMATION_MBR = SET_PARTITION_INFORMATION; -pub type SET_PARTITION_INFORMATION_GPT = PARTITION_INFORMATION_GPT; -STRUCT!{struct SET_PARTITION_INFORMATION_EX { - PartitionStyle: PARTITION_STYLE, - u: SET_PARTITION_INFORMATION_EX_u, -}} -UNION!{union SET_PARTITION_INFORMATION_EX_u { - [u64; 14], - Mbr Mbr_mut: SET_PARTITION_INFORMATION_MBR, - Gpt Gpt_mut: SET_PARTITION_INFORMATION_GPT, -}} -STRUCT!{struct CREATE_DISK_GPT { - DiskId: GUID, - MaxPartitionCount: DWORD, -}} -pub type PCREATE_DISK_GPT = *mut CREATE_DISK_GPT; -STRUCT!{struct CREATE_DISK_MBR { - Signature: DWORD, -}} -pub type PCREATE_DISK_MBR = *mut CREATE_DISK_MBR; -STRUCT!{struct CREATE_DISK { - PartitionStyle: PARTITION_STYLE, - u: CREATE_DISK_u, -}} -pub type PCREATE_DISK = *mut CREATE_DISK; -UNION!{union CREATE_DISK_u { - [u32; 5], - Mbr Mbr_mut: CREATE_DISK_MBR, - Gpt Gpt_mut: CREATE_DISK_GPT, -}} -STRUCT!{struct GET_LENGTH_INFORMATION { - Length: LARGE_INTEGER, -}} -pub type PGET_LENGTH_INFORMATION = *mut GET_LENGTH_INFORMATION; -STRUCT!{struct PARTITION_INFORMATION_EX { - PartitionStyle: PARTITION_STYLE, - StartingOffset: LARGE_INTEGER, - PartitionLength: LARGE_INTEGER, - PartitionNumber: DWORD, - RewritePartition: BOOLEAN, - u: PARTITION_INFORMATION_EX_u, -}} -pub type PPARTITION_INFORMATION_EX = *mut PARTITION_INFORMATION_EX; -UNION!{union PARTITION_INFORMATION_EX_u { - [u64; 14], - Mbr Mbr_mut: PARTITION_INFORMATION_MBR, - Gpt Gpt_mut: PARTITION_INFORMATION_GPT, -}} -STRUCT!{struct DRIVE_LAYOUT_INFORMATION_GPT { - DiskId: GUID, - StartingUsableOffset: LARGE_INTEGER, - UsableLength: LARGE_INTEGER, - MaxPartitionCount: DWORD, -}} -pub type PDRIVE_LAYOUT_INFORMATION_GPT = *mut DRIVE_LAYOUT_INFORMATION_GPT; -STRUCT!{struct DRIVE_LAYOUT_INFORMATION_MBR { - Signature: DWORD, - CheckSum: DWORD, -}} -pub type PDRIVE_LAYOUT_INFORMATION_MBR = *mut DRIVE_LAYOUT_INFORMATION_MBR; -STRUCT!{struct DRIVE_LAYOUT_INFORMATION_EX { - PartitionStyle: DWORD, - PartitionCount: DWORD, - u: DRIVE_LAYOUT_INFORMATION_EX_u, - PartitionEntry: [PARTITION_INFORMATION_EX; 1], -}} -pub type PDRIVE_LAYOUT_INFORMATION_EX = *mut DRIVE_LAYOUT_INFORMATION_EX; -UNION! {union DRIVE_LAYOUT_INFORMATION_EX_u { - [u64; 5], - Mbr Mbr_mut: DRIVE_LAYOUT_INFORMATION_MBR, - Gpt Gpt_mut: DRIVE_LAYOUT_INFORMATION_GPT, -}} -//8350 -STRUCT!{struct DISK_GEOMETRY_EX { - Geometry: DISK_GEOMETRY, - DiskSize: LARGE_INTEGER, - Data: [BYTE; 1], -}} -//8933 -pub const IOCTL_CHANGER_BASE: DWORD = FILE_DEVICE_CHANGER; -pub const IOCTL_CHANGER_GET_PARAMETERS: DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x0000, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_CHANGER_GET_STATUS: DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x0001, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_CHANGER_GET_PRODUCT_DATA: DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x0002, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_CHANGER_SET_ACCESS: DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x0004, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_CHANGER_GET_ELEMENT_STATUS: DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x0005, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS: DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x0006, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_CHANGER_SET_POSITION: DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x0007, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_CHANGER_EXCHANGE_MEDIUM: DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x0008, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_CHANGER_MOVE_MEDIUM: DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x0009, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_CHANGER_REINITIALIZE_TRANSPORT: DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x000A, - METHOD_BUFFERED, FILE_READ_ACCESS); -pub const IOCTL_CHANGER_QUERY_VOLUME_TAGS: DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x000B, - METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_SERIAL_LSRMST_INSERT: DWORD = CTL_CODE!(FILE_DEVICE_SERIAL_PORT, 31, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_SERENUM_EXPOSE_HARDWARE: DWORD = CTL_CODE!(FILE_DEVICE_SERENUM, 128, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_SERENUM_REMOVE_HARDWARE: DWORD = CTL_CODE!(FILE_DEVICE_SERENUM, 129, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_SERENUM_PORT_DESC: DWORD = CTL_CODE!(FILE_DEVICE_SERENUM, 130, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_SERENUM_GET_PORT_NAME: DWORD = CTL_CODE!(FILE_DEVICE_SERENUM, 131, - METHOD_BUFFERED, FILE_ANY_ACCESS); -//9717 -pub const FSCTL_REQUEST_OPLOCK_LEVEL_1: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 0, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_REQUEST_OPLOCK_LEVEL_2: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 1, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_REQUEST_BATCH_OPLOCK: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 2, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_OPLOCK_BREAK_ACKNOWLEDGE: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 3, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_OPBATCH_ACK_CLOSE_PENDING: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 4, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_OPLOCK_BREAK_NOTIFY: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 5, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_LOCK_VOLUME: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 6, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_UNLOCK_VOLUME: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 7, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_DISMOUNT_VOLUME: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 8, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_IS_VOLUME_MOUNTED: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 10, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_IS_PATHNAME_VALID: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 11, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_MARK_VOLUME_DIRTY: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 12, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_QUERY_RETRIEVAL_POINTERS: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 14, - METHOD_NEITHER, FILE_ANY_ACCESS); -pub const FSCTL_GET_COMPRESSION: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 15, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_SET_COMPRESSION: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 16, METHOD_BUFFERED, - FILE_READ_DATA | FILE_WRITE_DATA); -pub const FSCTL_SET_BOOTLOADER_ACCESSED: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 19, - METHOD_NEITHER, FILE_ANY_ACCESS); -pub const FSCTL_MARK_AS_SYSTEM_HIVE: DWORD = FSCTL_SET_BOOTLOADER_ACCESSED; -pub const FSCTL_OPLOCK_BREAK_ACK_NO_2: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 20, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_INVALIDATE_VOLUMES: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 21, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_QUERY_FAT_BPB: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 22, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_REQUEST_FILTER_OPLOCK: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 23, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_FILESYSTEM_GET_STATISTICS: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 24, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_GET_NTFS_VOLUME_DATA: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 25, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_GET_NTFS_FILE_RECORD: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 26, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_GET_VOLUME_BITMAP: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 27, METHOD_NEITHER, - FILE_ANY_ACCESS); -pub const FSCTL_GET_RETRIEVAL_POINTERS: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 28, - METHOD_NEITHER, FILE_ANY_ACCESS); -pub const FSCTL_MOVE_FILE: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 29, METHOD_BUFFERED, - FILE_SPECIAL_ACCESS); -pub const FSCTL_IS_VOLUME_DIRTY: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 30, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_ALLOW_EXTENDED_DASD_IO: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 32, - METHOD_NEITHER, FILE_ANY_ACCESS); -pub const FSCTL_FIND_FILES_BY_SID: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 35, METHOD_NEITHER, - FILE_ANY_ACCESS); -pub const FSCTL_SET_OBJECT_ID: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 38, METHOD_BUFFERED, - FILE_SPECIAL_ACCESS); -pub const FSCTL_GET_OBJECT_ID: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 39, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_DELETE_OBJECT_ID: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 40, METHOD_BUFFERED, - FILE_SPECIAL_ACCESS); -pub const FSCTL_SET_REPARSE_POINT: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 41, - METHOD_BUFFERED, FILE_SPECIAL_ACCESS); -pub const FSCTL_GET_REPARSE_POINT: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 42, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_DELETE_REPARSE_POINT: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 43, - METHOD_BUFFERED, FILE_SPECIAL_ACCESS); -pub const FSCTL_ENUM_USN_DATA: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 44, - METHOD_NEITHER, FILE_ANY_ACCESS); -pub const FSCTL_SECURITY_ID_CHECK: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 45, METHOD_NEITHER, - FILE_READ_DATA); -pub const FSCTL_READ_USN_JOURNAL: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 46, METHOD_NEITHER, - FILE_ANY_ACCESS); -pub const FSCTL_SET_OBJECT_ID_EXTENDED: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 47, - METHOD_BUFFERED, FILE_SPECIAL_ACCESS); -pub const FSCTL_CREATE_OR_GET_OBJECT_ID: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 48, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_SET_SPARSE: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, - FILE_SPECIAL_ACCESS); -pub const FSCTL_SET_ZERO_DATA: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 50, METHOD_BUFFERED, - FILE_WRITE_DATA); -pub const FSCTL_QUERY_ALLOCATED_RANGES: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 51, - METHOD_NEITHER, FILE_READ_DATA); -pub const FSCTL_ENABLE_UPGRADE: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 52, METHOD_BUFFERED, - FILE_WRITE_DATA); -pub const FSCTL_SET_ENCRYPTION: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 53, METHOD_NEITHER, - FILE_ANY_ACCESS); -pub const FSCTL_ENCRYPTION_FSCTL_IO: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 54, - METHOD_NEITHER, FILE_ANY_ACCESS); -pub const FSCTL_WRITE_RAW_ENCRYPTED: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 55, - METHOD_NEITHER, FILE_SPECIAL_ACCESS); -pub const FSCTL_READ_RAW_ENCRYPTED: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 56, - METHOD_NEITHER, FILE_SPECIAL_ACCESS); -pub const FSCTL_CREATE_USN_JOURNAL: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 57, - METHOD_NEITHER, FILE_ANY_ACCESS); -pub const FSCTL_READ_FILE_USN_DATA: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 58, - METHOD_NEITHER, FILE_ANY_ACCESS); -pub const FSCTL_WRITE_USN_CLOSE_RECORD: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 59, - METHOD_NEITHER, FILE_ANY_ACCESS); -pub const FSCTL_EXTEND_VOLUME: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 60, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_QUERY_USN_JOURNAL: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 61, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_DELETE_USN_JOURNAL: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 62, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_MARK_HANDLE: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 63, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_SIS_COPYFILE: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 64, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_SIS_LINK_FILES: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 65, METHOD_BUFFERED, - FILE_READ_DATA | FILE_WRITE_DATA); -pub const FSCTL_RECALL_FILE: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 69, METHOD_NEITHER, - FILE_ANY_ACCESS); -pub const FSCTL_READ_FROM_PLEX: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 71, METHOD_OUT_DIRECT, - FILE_READ_DATA); -pub const FSCTL_FILE_PREFETCH: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 72, METHOD_BUFFERED, - FILE_SPECIAL_ACCESS); -pub const FSCTL_MAKE_MEDIA_COMPATIBLE: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 76, - METHOD_BUFFERED, FILE_WRITE_DATA); -pub const FSCTL_SET_DEFECT_MANAGEMENT: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 77, - METHOD_BUFFERED, FILE_WRITE_DATA); -pub const FSCTL_QUERY_SPARING_INFO: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 78, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_QUERY_ON_DISK_VOLUME_INFO: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 79, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_SET_VOLUME_COMPRESSION_STATE: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 80, - METHOD_BUFFERED, FILE_SPECIAL_ACCESS); -pub const FSCTL_TXFS_MODIFY_RM: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 81, METHOD_BUFFERED, - FILE_WRITE_DATA); -pub const FSCTL_TXFS_QUERY_RM_INFORMATION: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 82, - METHOD_BUFFERED, FILE_READ_DATA); -pub const FSCTL_TXFS_ROLLFORWARD_REDO: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 84, - METHOD_BUFFERED, FILE_WRITE_DATA); -pub const FSCTL_TXFS_ROLLFORWARD_UNDO: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 85, - METHOD_BUFFERED, FILE_WRITE_DATA); -pub const FSCTL_TXFS_START_RM: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 86, METHOD_BUFFERED, - FILE_WRITE_DATA); -pub const FSCTL_TXFS_SHUTDOWN_RM: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 87, METHOD_BUFFERED, - FILE_WRITE_DATA); -pub const FSCTL_TXFS_READ_BACKUP_INFORMATION: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 88, - METHOD_BUFFERED, FILE_READ_DATA); -pub const FSCTL_TXFS_WRITE_BACKUP_INFORMATION: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 89, - METHOD_BUFFERED, FILE_WRITE_DATA); -pub const FSCTL_TXFS_CREATE_SECONDARY_RM: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 90, - METHOD_BUFFERED, FILE_WRITE_DATA); -pub const FSCTL_TXFS_GET_METADATA_INFO: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 91, - METHOD_BUFFERED, FILE_READ_DATA); -pub const FSCTL_TXFS_GET_TRANSACTED_VERSION: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 92, - METHOD_BUFFERED, FILE_READ_DATA); -pub const FSCTL_TXFS_SAVEPOINT_INFORMATION: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 94, - METHOD_BUFFERED, FILE_WRITE_DATA); -pub const FSCTL_TXFS_CREATE_MINIVERSION: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 95, - METHOD_BUFFERED, FILE_WRITE_DATA); -pub const FSCTL_TXFS_TRANSACTION_ACTIVE: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 99, - METHOD_BUFFERED, FILE_READ_DATA); -pub const FSCTL_SET_ZERO_ON_DEALLOCATION: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 101, - METHOD_BUFFERED, FILE_SPECIAL_ACCESS); -pub const FSCTL_SET_REPAIR: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 102, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_GET_REPAIR: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 103, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_WAIT_FOR_REPAIR: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 104, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_INITIATE_REPAIR: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 106, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_CSC_INTERNAL: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 107, METHOD_NEITHER, - FILE_ANY_ACCESS); -pub const FSCTL_SHRINK_VOLUME: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 108, METHOD_BUFFERED, - FILE_SPECIAL_ACCESS); -pub const FSCTL_SET_SHORT_NAME_BEHAVIOR: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 109, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_DFSR_SET_GHOST_HANDLE_STATE: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 110, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_TXFS_LIST_TRANSACTION_LOCKED_FILES: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, - 120, METHOD_BUFFERED, FILE_READ_DATA); -pub const FSCTL_TXFS_LIST_TRANSACTIONS: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 121, - METHOD_BUFFERED, FILE_READ_DATA); -pub const FSCTL_QUERY_PAGEFILE_ENCRYPTION: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 122, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_RESET_VOLUME_ALLOCATION_HINTS: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 123, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_QUERY_DEPENDENT_VOLUME: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 124, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_SD_GLOBAL_CHANGE: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 125, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_TXFS_READ_BACKUP_INFORMATION2: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 126, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_LOOKUP_STREAM_FROM_CLUSTER: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 127, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_TXFS_WRITE_BACKUP_INFORMATION2: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 128, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_FILE_TYPE_NOTIFICATION: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 129, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_FILE_LEVEL_TRIM: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 130, METHOD_BUFFERED, - FILE_WRITE_DATA); -pub const FSCTL_GET_BOOT_AREA_INFO: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 140, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_GET_RETRIEVAL_POINTER_BASE: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 141, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_SET_PERSISTENT_VOLUME_STATE: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 142, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_QUERY_PERSISTENT_VOLUME_STATE: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 143, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_REQUEST_OPLOCK: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 144, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_CSV_TUNNEL_REQUEST: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 145, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_IS_CSV_FILE: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 146, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_QUERY_FILE_SYSTEM_RECOGNITION: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 147, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_CSV_GET_VOLUME_PATH_NAME: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 148, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_CSV_GET_VOLUME_NAME_FOR_VOLUME_MOUNT_POINT: DWORD = CTL_CODE!( - FILE_DEVICE_FILE_SYSTEM, 149, METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_CSV_GET_VOLUME_PATH_NAMES_FOR_VOLUME_NAME: DWORD = CTL_CODE!( - FILE_DEVICE_FILE_SYSTEM, 150, METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_IS_FILE_ON_CSV_VOLUME: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 151, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_CORRUPTION_HANDLING: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 152, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_OFFLOAD_READ: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 153, METHOD_BUFFERED, - FILE_READ_ACCESS); -pub const FSCTL_OFFLOAD_WRITE: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 154, METHOD_BUFFERED, - FILE_WRITE_ACCESS); -pub const FSCTL_CSV_INTERNAL: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 155, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_SET_PURGE_FAILURE_MODE: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 156, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_QUERY_FILE_LAYOUT: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 157, - METHOD_NEITHER, FILE_ANY_ACCESS); -pub const FSCTL_IS_VOLUME_OWNED_BYCSVFS: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 158, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_GET_INTEGRITY_INFORMATION: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 159, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_SET_INTEGRITY_INFORMATION: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 160, - METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA); -pub const FSCTL_QUERY_FILE_REGIONS: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 161, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_DEDUP_FILE: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 165, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_DEDUP_QUERY_FILE_HASHES: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 166, - METHOD_NEITHER, FILE_READ_DATA); -pub const FSCTL_DEDUP_QUERY_RANGE_STATE: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 167, - METHOD_NEITHER, FILE_READ_DATA); -pub const FSCTL_DEDUP_QUERY_REPARSE_INFO: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 168, - METHOD_NEITHER, FILE_ANY_ACCESS); -pub const FSCTL_RKF_INTERNAL: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 171, METHOD_NEITHER, - FILE_ANY_ACCESS); -pub const FSCTL_SCRUB_DATA: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 172, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_REPAIR_COPIES: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 173, METHOD_BUFFERED, - FILE_READ_DATA | FILE_WRITE_DATA); -pub const FSCTL_DISABLE_LOCAL_BUFFERING: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 174, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_CSV_MGMT_LOCK: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 175, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_CSV_QUERY_DOWN_LEVEL_FILE_SYSTEM_CHARACTERISTICS: DWORD = CTL_CODE!( - FILE_DEVICE_FILE_SYSTEM, 176, METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_ADVANCE_FILE_ID: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 177, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_CSV_SYNC_TUNNEL_REQUEST: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 178, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_CSV_QUERY_VETO_FILE_DIRECT_IO: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 179, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_WRITE_USN_REASON: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 180, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_CSV_CONTROL: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 181, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const FSCTL_GET_REFS_VOLUME_DATA: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 182, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_CSV_H_BREAKING_SYNC_TUNNEL_REQUEST: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, - 185, METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_QUERY_STORAGE_CLASSES: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 187, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_QUERY_REGION_INFO: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 188, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_USN_TRACK_MODIFIED_RANGES: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 189, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_QUERY_SHARED_VIRTUAL_DISK_SUPPORT: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, - 192, METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_SVHDX_SYNC_TUNNEL_REQUEST: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 193, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_SVHDX_SET_INITIATOR_INFORMATION: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 194, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_SET_EXTERNAL_BACKING: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 195, - METHOD_BUFFERED, FILE_SPECIAL_ACCESS); -pub const FSCTL_GET_EXTERNAL_BACKING: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 196, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_DELETE_EXTERNAL_BACKING: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 197, - METHOD_BUFFERED, FILE_SPECIAL_ACCESS); -pub const FSCTL_ENUM_EXTERNAL_BACKING: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 198, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const FSCTL_ENUM_OVERLAY: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 199, METHOD_NEITHER, - FILE_ANY_ACCESS); -pub const FSCTL_ADD_OVERLAY: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 204, METHOD_BUFFERED, - FILE_WRITE_DATA); -pub const FSCTL_REMOVE_OVERLAY: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 205, METHOD_BUFFERED, - FILE_WRITE_DATA); -pub const FSCTL_UPDATE_OVERLAY: DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 206, METHOD_BUFFERED, - FILE_WRITE_DATA); -// FILE_DEVICE_AVIO is defined nowhere -//pub const IOCTL_AVIO_ALLOCATE_STREAM: DWORD = CTL_CODE!(FILE_DEVICE_AVIO, 1, METHOD_BUFFERED, -// FILE_SPECIAL_ACCESS); -//pub const IOCTL_AVIO_FREE_STREAM: DWORD = CTL_CODE!(FILE_DEVICE_AVIO, 2, METHOD_BUFFERED, -// FILE_SPECIAL_ACCESS); -//pub const IOCTL_AVIO_MODIFY_STREAM: DWORD = CTL_CODE!(FILE_DEVICE_AVIO, 3, METHOD_BUFFERED, -// FILE_SPECIAL_ACCESS); -STRUCT!{struct PATHNAME_BUFFER { - PathNameLength: DWORD, - Name: [WCHAR; 1], -}} -pub type PPATHNAME_BUFFER = *mut PATHNAME_BUFFER; -STRUCT!{struct FSCTL_QUERY_FAT_BPB_BUFFER { - First0x24BytesOfBootSector: [BYTE; 0x24], -}} -pub type PFSCTL_QUERY_FAT_BPB_BUFFER = *mut FSCTL_QUERY_FAT_BPB_BUFFER; -STRUCT!{struct NTFS_VOLUME_DATA_BUFFER { - VolumeSerialNumber: LARGE_INTEGER, - NumberSectors: LARGE_INTEGER, - TotalClusters: LARGE_INTEGER, - FreeClusters: LARGE_INTEGER, - TotalReserved: LARGE_INTEGER, - BytesPerSector: DWORD, - BytesPerCluster: DWORD, - BytesPerFileRecordSegment: DWORD, - ClustersPerFileRecordSegment: DWORD, - MftValidDataLength: LARGE_INTEGER, - MftStartLcn: LARGE_INTEGER, - Mft2StartLcn: LARGE_INTEGER, - MftZoneStart: LARGE_INTEGER, - MftZoneEnd: LARGE_INTEGER, -}} -pub type PNTFS_VOLUME_DATA_BUFFER = *mut NTFS_VOLUME_DATA_BUFFER; -STRUCT!{struct NTFS_EXTENDED_VOLUME_DATA { - ByteCount: DWORD, - MajorVersion: WORD, - MinorVersion: WORD, - BytesPerPhysicalSector: DWORD, - LfsMajorVersion: WORD, - LfsMinorVersion: WORD, - MaxDeviceTrimExtentCount: DWORD, - MaxDeviceTrimByteCount: DWORD, - MaxVolumeTrimExtentCount: DWORD, - MaxVolumeTrimByteCount: DWORD, -}} -pub type PNTFS_EXTENDED_VOLUME_DATA = *mut NTFS_EXTENDED_VOLUME_DATA; -STRUCT!{struct REFS_VOLUME_DATA_BUFFER { - ByteCount: DWORD, - MajorVersion: DWORD, - MinorVersion: DWORD, - BytesPerPhysicalSector: DWORD, - VolumeSerialNumber: LARGE_INTEGER, - NumberSectors: LARGE_INTEGER, - TotalClusters: LARGE_INTEGER, - FreeClusters: LARGE_INTEGER, - TotalReserved: LARGE_INTEGER, - BytesPerSector: DWORD, - BytesPerCluster: DWORD, - MaximumSizeOfResidentFile: LARGE_INTEGER, - Reserved: [LARGE_INTEGER; 10], -}} -pub type PREFS_VOLUME_DATA_BUFFER = *mut REFS_VOLUME_DATA_BUFFER; -STRUCT!{struct STARTING_LCN_INPUT_BUFFER { - StartingLcn: LARGE_INTEGER, -}} -pub type PSTARTING_LCN_INPUT_BUFFER = *mut STARTING_LCN_INPUT_BUFFER; -STRUCT!{struct VOLUME_BITMAP_BUFFER { - StartingLcn: LARGE_INTEGER, - BitmapSize: LARGE_INTEGER, - Buffer: [BYTE; 1], -}} -pub type PVOLUME_BITMAP_BUFFER = *mut VOLUME_BITMAP_BUFFER; -STRUCT!{struct STARTING_VCN_INPUT_BUFFER { - StartingVcn: LARGE_INTEGER, -}} -pub type PSTARTING_VCN_INPUT_BUFFER = *mut STARTING_VCN_INPUT_BUFFER; -STRUCT!{struct RETRIEVAL_POINTERS_BUFFER_INTERNAL { - NextVcn: LARGE_INTEGER, - Lcn: LARGE_INTEGER, -}} -STRUCT!{struct RETRIEVAL_POINTERS_BUFFER { - ExtentCount: DWORD, - StartingVcn: LARGE_INTEGER, - Extents: [RETRIEVAL_POINTERS_BUFFER_INTERNAL; 1], -}} -pub type PRETRIEVAL_POINTERS_BUFFER = *mut RETRIEVAL_POINTERS_BUFFER; -STRUCT!{struct NTFS_FILE_RECORD_INPUT_BUFFER { - FileReferenceNumber: LARGE_INTEGER, -}} -pub type PNTFS_FILE_RECORD_INPUT_BUFFER = *mut NTFS_FILE_RECORD_INPUT_BUFFER; -STRUCT!{struct NTFS_FILE_RECORD_OUTPUT_BUFFER { - FileReferenceNumber: LARGE_INTEGER, - FileRecordLength: DWORD, - FileRecordBuffer: [BYTE; 1], -}} -pub type PNTFS_FILE_RECORD_OUTPUT_BUFFER = *mut NTFS_FILE_RECORD_OUTPUT_BUFFER; -STRUCT!{struct MOVE_FILE_DATA { - FileHandle: HANDLE, - StartingVcn: LARGE_INTEGER, - StartingLcn: LARGE_INTEGER, - ClusterCount: DWORD, -}} -pub type PMOVE_FILE_DATA = *mut MOVE_FILE_DATA; -STRUCT!{struct MOVE_FILE_RECORD_DATA { - FileHandle: HANDLE, - SourceFileRecord: LARGE_INTEGER, - TargetFileRecord: LARGE_INTEGER, -}} -pub type PMOVE_FILE_RECORD_DATA = *mut MOVE_FILE_RECORD_DATA; -//15468 -pub const IOCTL_VOLUME_BASE: DWORD = 0x00000056; -pub const IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS: DWORD = CTL_CODE!(IOCTL_VOLUME_BASE, 0, - METHOD_BUFFERED, FILE_ANY_ACCESS); -STRUCT!{struct DISK_EXTENT { - DiskNumber: DWORD, - StartingOffset: LARGE_INTEGER, - ExtentLength: LARGE_INTEGER, -}} -pub type PDISK_EXTENT = *mut DISK_EXTENT; -STRUCT!{struct VOLUME_DISK_EXTENTS { - NumberOfDiskExtents: DWORD, - Extents: [DISK_EXTENT; ANYSIZE_ARRAY], -}} -pub type PVOLUME_DISK_EXTENTS = *mut VOLUME_DISK_EXTENTS; -pub const IOCTL_VOLUME_ONLINE: DWORD = CTL_CODE!(IOCTL_VOLUME_BASE, 2, METHOD_BUFFERED, - FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_VOLUME_OFFLINE: DWORD = CTL_CODE!(IOCTL_VOLUME_BASE, 3, METHOD_BUFFERED, - FILE_READ_ACCESS | FILE_WRITE_ACCESS); -pub const IOCTL_VOLUME_IS_CLUSTERED: DWORD = CTL_CODE!(IOCTL_VOLUME_BASE, 12, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const IOCTL_VOLUME_GET_GPT_ATTRIBUTES: DWORD = CTL_CODE!(IOCTL_VOLUME_BASE, 14, - METHOD_BUFFERED, FILE_ANY_ACCESS); diff --git a/vendor/registry-40351f815f426200/winapi/src/um/winnetwk.rs b/vendor/registry-40351f815f426200/winapi/src/um/winnetwk.rs deleted file mode 100644 index 5680da124..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/winnetwk.rs +++ /dev/null @@ -1,446 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Standard WINNET Header File for WIN32 -use shared::basetsd::ULONG_PTR; -use shared::minwindef::{BOOL, DWORD, LPDWORD, LPHANDLE, LPVOID, WORD}; -use shared::windef::HWND; -use shared::winerror::{ - ERROR_ACCESS_DENIED, ERROR_ALREADY_ASSIGNED, ERROR_ALREADY_INITIALIZED, ERROR_BAD_DEVICE, - ERROR_BAD_DEV_TYPE, ERROR_BAD_NET_NAME, ERROR_BAD_PROFILE, ERROR_BAD_PROVIDER, - ERROR_BAD_USERNAME, ERROR_BUSY, ERROR_CANCELLED, ERROR_CANNOT_OPEN_PROFILE, - ERROR_CONNECTED_OTHER_PASSWORD, ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT, - ERROR_CONNECTION_UNAVAIL, ERROR_DEVICE_ALREADY_REMEMBERED, ERROR_DEVICE_IN_USE, - ERROR_EXTENDED_ERROR, ERROR_GEN_FAILURE, ERROR_INVALID_ADDRESS, ERROR_INVALID_HANDLE, - ERROR_INVALID_LEVEL, ERROR_INVALID_PARAMETER, ERROR_INVALID_PASSWORD, ERROR_MORE_DATA, - ERROR_NOT_AUTHENTICATED, ERROR_NOT_CONNECTED, ERROR_NOT_CONTAINER, ERROR_NOT_ENOUGH_MEMORY, - ERROR_NOT_LOGGED_ON, ERROR_NOT_SUPPORTED, ERROR_NO_LOGON_SERVERS, ERROR_NO_MORE_DEVICES, - ERROR_NO_MORE_ITEMS, ERROR_NO_NETWORK, ERROR_NO_NET_OR_BAD_PATH, ERROR_OPEN_FILES, ERROR_RETRY, - ERROR_UNEXP_NET_ERR, NO_ERROR -}; -use um::winnt::{HANDLE, LPCSTR, LPCWSTR, LPSTR, LPWSTR}; -pub const RESOURCE_CONNECTED: DWORD = 0x00000001; -pub const RESOURCE_GLOBALNET: DWORD = 0x00000002; -pub const RESOURCE_REMEMBERED: DWORD = 0x00000003; -pub const RESOURCE_RECENT: DWORD = 0x00000004; -pub const RESOURCE_CONTEXT: DWORD = 0x00000005; -pub const RESOURCETYPE_ANY: DWORD = 0x00000000; -pub const RESOURCETYPE_DISK: DWORD = 0x00000001; -pub const RESOURCETYPE_PRINT: DWORD = 0x00000002; -pub const RESOURCETYPE_RESERVED: DWORD = 0x00000008; -pub const RESOURCETYPE_UNKNOWN: DWORD = 0xFFFFFFFF; -pub const RESOURCEUSAGE_CONNECTABLE: DWORD = 0x00000001; -pub const RESOURCEUSAGE_CONTAINER: DWORD = 0x00000002; -pub const RESOURCEUSAGE_NOLOCALDEVICE: DWORD = 0x00000004; -pub const RESOURCEUSAGE_SIBLING: DWORD = 0x00000008; -pub const RESOURCEUSAGE_ATTACHED: DWORD = 0x00000010; -pub const RESOURCEUSAGE_ALL: DWORD = RESOURCEUSAGE_CONNECTABLE | RESOURCEUSAGE_CONTAINER - | RESOURCEUSAGE_ATTACHED; -pub const RESOURCEUSAGE_RESERVED: DWORD = 0x80000000; -pub const RESOURCEDISPLAYTYPE_GENERIC: DWORD = 0x00000000; -pub const RESOURCEDISPLAYTYPE_DOMAIN: DWORD = 0x00000001; -pub const RESOURCEDISPLAYTYPE_SERVER: DWORD = 0x00000002; -pub const RESOURCEDISPLAYTYPE_SHARE: DWORD = 0x00000003; -pub const RESOURCEDISPLAYTYPE_FILE: DWORD = 0x00000004; -pub const RESOURCEDISPLAYTYPE_GROUP: DWORD = 0x00000005; -pub const RESOURCEDISPLAYTYPE_NETWORK: DWORD = 0x00000006; -pub const RESOURCEDISPLAYTYPE_ROOT: DWORD = 0x00000007; -pub const RESOURCEDISPLAYTYPE_SHAREADMIN: DWORD = 0x00000008; -pub const RESOURCEDISPLAYTYPE_DIRECTORY: DWORD = 0x00000009; -pub const RESOURCEDISPLAYTYPE_TREE: DWORD = 0x0000000A; -pub const RESOURCEDISPLAYTYPE_NDSCONTAINER: DWORD = 0x0000000B; -STRUCT!{struct NETRESOURCEA { - dwScope: DWORD, - dwType: DWORD, - dwDisplayType: DWORD, - dwUsage: DWORD, - lpLocalName: LPSTR, - lpRemoteName: LPSTR, - lpComment: LPSTR, - lpProvider: LPSTR, -}} -pub type LPNETRESOURCEA = *mut NETRESOURCEA; -STRUCT!{struct NETRESOURCEW { - dwScope: DWORD, - dwType: DWORD, - dwDisplayType: DWORD, - dwUsage: DWORD, - lpLocalName: LPWSTR, - lpRemoteName: LPWSTR, - lpComment: LPWSTR, - lpProvider: LPWSTR, -}} -pub type LPNETRESOURCEW = *mut NETRESOURCEW; -pub const NETPROPERTY_PERSISTENT: DWORD = 1; -pub const CONNECT_UPDATE_PROFILE: DWORD = 0x00000001; -pub const CONNECT_UPDATE_RECENT: DWORD = 0x00000002; -pub const CONNECT_TEMPORARY: DWORD = 0x00000004; -pub const CONNECT_INTERACTIVE: DWORD = 0x00000008; -pub const CONNECT_PROMPT: DWORD = 0x00000010; -pub const CONNECT_NEED_DRIVE: DWORD = 0x00000020; -pub const CONNECT_REFCOUNT: DWORD = 0x00000040; -pub const CONNECT_REDIRECT: DWORD = 0x00000080; -pub const CONNECT_LOCALDRIVE: DWORD = 0x00000100; -pub const CONNECT_CURRENT_MEDIA: DWORD = 0x00000200; -pub const CONNECT_DEFERRED: DWORD = 0x00000400; -pub const CONNECT_RESERVED: DWORD = 0xFF000000; -pub const CONNECT_COMMANDLINE: DWORD = 0x00000800; -pub const CONNECT_CMD_SAVECRED: DWORD = 0x00001000; -pub const CONNECT_CRED_RESET: DWORD = 0x00002000; -extern "system" { - pub fn WNetAddConnection2A( - lpNetResource: LPNETRESOURCEA, - lpPassword: LPCSTR, - lpUsername: LPCSTR, - dwFlags: DWORD, - ) -> DWORD; - pub fn WNetAddConnection2W( - lpNetResource: LPNETRESOURCEW, - lpPassword: LPCWSTR, - lpUsername: LPCWSTR, - dwFlags: DWORD, - ) -> DWORD; - pub fn WNetAddConnection3A( - hwndOwner: HWND, - lpNetResource: LPNETRESOURCEA, - lpPassword: LPCSTR, - lpUsername: LPCSTR, - dwFlags: DWORD, - ) -> DWORD; - pub fn WNetAddConnection3W( - hwndOwner: HWND, - lpNetResource: LPNETRESOURCEW, - lpPassword: LPCWSTR, - lpUsername: LPCWSTR, - dwFlags: DWORD, - ) -> DWORD; - pub fn WNetCancelConnectionA( - lpName: LPCSTR, - fForce: BOOL, - ) -> DWORD; - pub fn WNetCancelConnectionW( - lpName: LPCWSTR, - fForce: BOOL, - ) -> DWORD; - pub fn WNetCancelConnection2A( - lpName: LPCSTR, - dwFlags: DWORD, - fForce: BOOL, - ) -> DWORD; - pub fn WNetCancelConnection2W( - lpName: LPCWSTR, - dwFlags: DWORD, - fForce: BOOL, - ) -> DWORD; - pub fn WNetGetConnectionA( - lpLocalName: LPCSTR, - lpRemoteName: LPSTR, - lpnLength: LPDWORD, - ) -> DWORD; - pub fn WNetGetConnectionW( - lpLocalName: LPCWSTR, - lpRemoteName: LPWSTR, - lpnLength: LPDWORD, - ) -> DWORD; - pub fn WNetUseConnectionA( - hwndOwner: HWND, - lpNetResource: LPNETRESOURCEA, - lpPassword: LPCSTR, - lpUserId: LPCSTR, - dwFlags: DWORD, - lpAccessName: LPSTR, - lpBufferSize: LPDWORD, - lpResult: LPDWORD, - ) -> DWORD; - pub fn WNetUseConnectionW( - hwndOwner: HWND, - lpNetResource: LPNETRESOURCEW, - lpPassword: LPCWSTR, - lpUserId: LPCWSTR, - dwFlags: DWORD, - lpAccessName: LPWSTR, - lpBufferSize: LPDWORD, - lpResult: LPDWORD, - ) -> DWORD; - pub fn WNetConnectionDialog( - hwnd: HWND, - dwType: DWORD, - ) -> DWORD; - pub fn WNetDisconnectDialog( - hwnd: HWND, - dwType: DWORD, - ) -> DWORD; -} -STRUCT!{struct CONNECTDLGSTRUCTA { - cbStructure: DWORD, - hwndOwner: HWND, - lpConnRes: LPNETRESOURCEA, - dwFlags: DWORD, - dwDevNum: DWORD, -}} -pub type LPCONNECTDLGSTRUCTA = *mut CONNECTDLGSTRUCTA; -STRUCT!{struct CONNECTDLGSTRUCTW { - cbStructure: DWORD, - hwndOwner: HWND, - lpConnRes: LPNETRESOURCEW, - dwFlags: DWORD, - dwDevNum: DWORD, -}} -pub type LPCONNECTDLGSTRUCTW = *mut CONNECTDLGSTRUCTW; -pub const CONNDLG_RO_PATH: DWORD = 0x00000001; -pub const CONNDLG_CONN_POINT: DWORD = 0x00000002; -pub const CONNDLG_USE_MRU: DWORD = 0x00000004; -pub const CONNDLG_HIDE_BOX: DWORD = 0x00000008; -pub const CONNDLG_PERSIST: DWORD = 0x00000010; -pub const CONNDLG_NOT_PERSIST: DWORD = 0x00000020; -extern "system" { - pub fn WNetConnectionDialog1A( - lpConnDlgStruct: LPCONNECTDLGSTRUCTA, - ) -> DWORD; - pub fn WNetConnectionDialog1W( - lpConnDlgStruct: LPCONNECTDLGSTRUCTW, - ) -> DWORD; -} -STRUCT!{struct DISCDLGSTRUCTA { - cbStructure: DWORD, - hwndOwner: HWND, - lpLocalName: LPSTR, - lpRemoteName: LPSTR, - dwFlags: DWORD, -}} -pub type LPDISCDLGSTRUCTA = *mut DISCDLGSTRUCTA; -STRUCT!{struct DISCDLGSTRUCTW { - cbStructure: DWORD, - hwndOwner: HWND, - lpLocalName: LPWSTR, - lpRemoteName: LPWSTR, - dwFlags: DWORD, -}} -pub type LPDISCDLGSTRUCTW = *mut DISCDLGSTRUCTW; -pub const DISC_UPDATE_PROFILE: DWORD = 0x00000001; -pub const DISC_NO_FORCE: DWORD = 0x00000040; -extern "system" { - pub fn WNetDisconnectDialog1A( - lpConnDlgStruct: LPDISCDLGSTRUCTA, - ) -> DWORD; - pub fn WNetDisconnectDialog1W( - lpConnDlgStruct: LPDISCDLGSTRUCTW, - ) -> DWORD; - pub fn WNetOpenEnumA( - dwScope: DWORD, - dwType: DWORD, - dwUsage: DWORD, - lpNetResource: LPNETRESOURCEA, - lphEnum: LPHANDLE, - ) -> DWORD; - pub fn WNetOpenEnumW( - dwScope: DWORD, - dwType: DWORD, - dwUsage: DWORD, - lpNetResource: LPNETRESOURCEW, - lphEnum: LPHANDLE, - ) -> DWORD; - pub fn WNetEnumResourceA( - hEnum: HANDLE, - lpcCount: LPDWORD, - lpBuffer: LPVOID, - lpBufferSize: LPDWORD, - ) -> DWORD; - pub fn WNetEnumResourceW( - hEnum: HANDLE, - lpcCount: LPDWORD, - lpBuffer: LPVOID, - lpBufferSize: LPDWORD, - ) -> DWORD; - pub fn WNetCloseEnum( - hEnum: HANDLE, - ) -> DWORD; - pub fn WNetGetResourceParentA( - lpNetResource: LPNETRESOURCEA, - lpBuffer: LPVOID, - lpcbBuffer: LPDWORD, - ) -> DWORD; - pub fn WNetGetResourceParentW( - lpNetResource: LPNETRESOURCEW, - lpBuffer: LPVOID, - lpcbBuffer: LPDWORD, - ) -> DWORD; - pub fn WNetGetResourceInformationA( - lpNetResource: LPNETRESOURCEA, - lpBuffer: LPVOID, - lpcbBuffer: LPDWORD, - lplpSystem: *mut LPSTR, - ) -> DWORD; - pub fn WNetGetResourceInformationW( - lpNetResource: LPNETRESOURCEW, - lpBuffer: LPVOID, - lpcbBuffer: LPDWORD, - lplpSystem: *mut LPWSTR, - ) -> DWORD; -} -pub const UNIVERSAL_NAME_INFO_LEVEL: DWORD = 0x00000001; -pub const REMOTE_NAME_INFO_LEVEL: DWORD = 0x00000002; -STRUCT!{struct UNIVERSAL_NAME_INFOA { - lpUniversalName: LPSTR, -}} -pub type LPUNIVERSAL_NAME_INFOA = *mut UNIVERSAL_NAME_INFOA; -STRUCT!{struct UNIVERSAL_NAME_INFOW { - lpUniversalName: LPWSTR, -}} -pub type LPUNIVERSAL_NAME_INFOW = *mut UNIVERSAL_NAME_INFOW; -STRUCT!{struct REMOTE_NAME_INFOA { - lpUniversalName: LPSTR, - lpConnectionName: LPSTR, - lpRemainingPath: LPSTR, -}} -pub type LPREMOTE_NAME_INFOA = *mut REMOTE_NAME_INFOA; -STRUCT!{struct REMOTE_NAME_INFOW { - lpUniversalName: LPWSTR, - lpConnectionName: LPWSTR, - lpRemainingPath: LPWSTR, -}} -pub type LPREMOTE_NAME_INFOW = *mut REMOTE_NAME_INFOW; -extern "system" { - pub fn WNetGetUniversalNameA( - lpLocalPath: LPCSTR, - dwInfoLevel: DWORD, - lpBuffer: LPVOID, - lpBufferSize: LPDWORD, - ) -> DWORD; - pub fn WNetGetUniversalNameW( - lpLocalPath: LPCWSTR, - dwInfoLevel: DWORD, - lpBuffer: LPVOID, - lpBufferSize: LPDWORD, - ) -> DWORD; - pub fn WNetGetUserA( - lpName: LPCSTR, - lpUserName: LPSTR, - lpnLength: LPDWORD, - ) -> DWORD; - pub fn WNetGetUserW( - lpName: LPCWSTR, - lpUserName: LPWSTR, - lpnLength: LPDWORD, - ) -> DWORD; -} -pub const WNFMT_MULTILINE: DWORD = 0x01; -pub const WNFMT_ABBREVIATED: DWORD = 0x02; -pub const WNFMT_INENUM: DWORD = 0x10; -pub const WNFMT_CONNECTION: DWORD = 0x20; -extern "system" { - pub fn WNetGetProviderNameA( - dwNetType: DWORD, - lpProviderName: LPSTR, - lpBufferSize: LPDWORD, - ) -> DWORD; - pub fn WNetGetProviderNameW( - dwNetType: DWORD, - lpProviderName: LPWSTR, - lpBufferSize: LPDWORD, - ) -> DWORD; -} -STRUCT!{struct NETINFOSTRUCT { - cbStructure: DWORD, - dwProviderVersion: DWORD, - dwStatus: DWORD, - dwCharacteristics: DWORD, - dwHandle: ULONG_PTR, - wNetType: WORD, - dwPrinters: DWORD, - dwDrives: DWORD, -}} -pub type LPNETINFOSTRUCT = *mut NETINFOSTRUCT; -pub const NETINFO_DLL16: DWORD = 0x00000001; -pub const NETINFO_DISKRED: DWORD = 0x00000004; -pub const NETINFO_PRINTERRED: DWORD = 0x00000008; -extern "system" { - pub fn WNetGetNetworkInformationA( - lpProvider: LPCSTR, - lpNetInfoStruct: LPNETINFOSTRUCT, - ) -> DWORD; - pub fn WNetGetNetworkInformationW( - lpProvider: LPCWSTR, - lpNetInfoStruct: LPNETINFOSTRUCT, - ) -> DWORD; - pub fn WNetGetLastErrorA( - lpError: LPDWORD, - lpErrorBuf: LPSTR, - nErrorBufSize: DWORD, - lpNameBuf: LPSTR, - nNameBufSize: DWORD, - ) -> DWORD; - pub fn WNetGetLastErrorW( - lpError: LPDWORD, - lpErrorBuf: LPWSTR, - nErrorBufSize: DWORD, - lpNameBuf: LPWSTR, - nNameBufSize: DWORD, - ) -> DWORD; -} -pub const WN_SUCCESS: DWORD = NO_ERROR; -pub const WN_NO_ERROR: DWORD = NO_ERROR; -pub const WN_NOT_SUPPORTED: DWORD = ERROR_NOT_SUPPORTED; -pub const WN_CANCEL: DWORD = ERROR_CANCELLED; -pub const WN_RETRY: DWORD = ERROR_RETRY; -pub const WN_NET_ERROR: DWORD = ERROR_UNEXP_NET_ERR; -pub const WN_MORE_DATA: DWORD = ERROR_MORE_DATA; -pub const WN_BAD_POINTER: DWORD = ERROR_INVALID_ADDRESS; -pub const WN_BAD_VALUE: DWORD = ERROR_INVALID_PARAMETER; -pub const WN_BAD_USER: DWORD = ERROR_BAD_USERNAME; -pub const WN_BAD_PASSWORD: DWORD = ERROR_INVALID_PASSWORD; -pub const WN_ACCESS_DENIED: DWORD = ERROR_ACCESS_DENIED; -pub const WN_FUNCTION_BUSY: DWORD = ERROR_BUSY; -pub const WN_WINDOWS_ERROR: DWORD = ERROR_UNEXP_NET_ERR; -pub const WN_OUT_OF_MEMORY: DWORD = ERROR_NOT_ENOUGH_MEMORY; -pub const WN_NO_NETWORK: DWORD = ERROR_NO_NETWORK; -pub const WN_EXTENDED_ERROR: DWORD = ERROR_EXTENDED_ERROR; -pub const WN_BAD_LEVEL: DWORD = ERROR_INVALID_LEVEL; -pub const WN_BAD_HANDLE: DWORD = ERROR_INVALID_HANDLE; -pub const WN_NOT_INITIALIZING: DWORD = ERROR_ALREADY_INITIALIZED; -pub const WN_NO_MORE_DEVICES: DWORD = ERROR_NO_MORE_DEVICES; -pub const WN_NOT_CONNECTED: DWORD = ERROR_NOT_CONNECTED; -pub const WN_OPEN_FILES: DWORD = ERROR_OPEN_FILES; -pub const WN_DEVICE_IN_USE: DWORD = ERROR_DEVICE_IN_USE; -pub const WN_BAD_NETNAME: DWORD = ERROR_BAD_NET_NAME; -pub const WN_BAD_LOCALNAME: DWORD = ERROR_BAD_DEVICE; -pub const WN_ALREADY_CONNECTED: DWORD = ERROR_ALREADY_ASSIGNED; -pub const WN_DEVICE_ERROR: DWORD = ERROR_GEN_FAILURE; -pub const WN_CONNECTION_CLOSED: DWORD = ERROR_CONNECTION_UNAVAIL; -pub const WN_NO_NET_OR_BAD_PATH: DWORD = ERROR_NO_NET_OR_BAD_PATH; -pub const WN_BAD_PROVIDER: DWORD = ERROR_BAD_PROVIDER; -pub const WN_CANNOT_OPEN_PROFILE: DWORD = ERROR_CANNOT_OPEN_PROFILE; -pub const WN_BAD_PROFILE: DWORD = ERROR_BAD_PROFILE; -pub const WN_BAD_DEV_TYPE: DWORD = ERROR_BAD_DEV_TYPE; -pub const WN_DEVICE_ALREADY_REMEMBERED: DWORD = ERROR_DEVICE_ALREADY_REMEMBERED; -pub const WN_CONNECTED_OTHER_PASSWORD: DWORD = ERROR_CONNECTED_OTHER_PASSWORD; -pub const WN_CONNECTED_OTHER_PASSWORD_DEFAULT: DWORD = ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT; -pub const WN_NO_MORE_ENTRIES: DWORD = ERROR_NO_MORE_ITEMS; -pub const WN_NOT_CONTAINER: DWORD = ERROR_NOT_CONTAINER; -pub const WN_NOT_AUTHENTICATED: DWORD = ERROR_NOT_AUTHENTICATED; -pub const WN_NOT_LOGGED_ON: DWORD = ERROR_NOT_LOGGED_ON; -pub const WN_NOT_VALIDATED: DWORD = ERROR_NO_LOGON_SERVERS; -STRUCT!{struct NETCONNECTINFOSTRUCT { - cbStructure: DWORD, - dwFlags: DWORD, - dwSpeed: DWORD, - dwDelay: DWORD, - dwOptDataSize: DWORD, -}} -pub type LPNETCONNECTINFOSTRUCT = *mut NETCONNECTINFOSTRUCT; -pub const WNCON_FORNETCARD: DWORD = 0x00000001; -pub const WNCON_NOTROUTED: DWORD = 0x00000002; -pub const WNCON_SLOWLINK: DWORD = 0x00000004; -pub const WNCON_DYNAMIC: DWORD = 0x00000008; -extern "system" { - pub fn MultinetGetConnectionPerformanceA( - lpNetResource: LPNETRESOURCEA, - lpNetConnectInfoStruct: LPNETCONNECTINFOSTRUCT, - ) -> DWORD; - pub fn MultinetGetConnectionPerformanceW( - lpNetResource: LPNETRESOURCEW, - lpNetConnectInfoStruct: LPNETCONNECTINFOSTRUCT, - ) -> DWORD; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/winnls.rs b/vendor/registry-40351f815f426200/winapi/src/um/winnls.rs deleted file mode 100644 index fd68a2354..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/winnls.rs +++ /dev/null @@ -1,817 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Procedure declarations, constant definitions, and macros for the NLS component. -use ctypes::c_int; -use shared::basetsd::LONG_PTR; -use shared::guiddef::GUID; -use shared::minwindef::{ - BOOL, BYTE, DWORD, INT, LPARAM, LPDWORD, LPINT, LPVOID, LPWORD, MAX_PATH, PDWORD, PULONG, - UINT, -}; -use um::minwinbase::SYSTEMTIME; -use um::winnt::{ - CHAR, LANGID, LCID, LONG, LPCSTR, LPCWCH, LPCWSTR, LPSTR, LPWSTR, PCNZCH, PCNZWCH, PCWSTR, - PCZZWSTR, PULONGLONG, PWSTR, PZZWSTR, ULONGLONG, WCHAR, -}; -pub const MAX_LEADBYTES: usize = 12; -pub const MAX_DEFAULTCHAR: usize = 2; -pub const MB_PRECOMPOSED: DWORD = 0x00000001; -pub const MB_COMPOSITE: DWORD = 0x00000002; -pub const MB_USEGLYPHCHARS: DWORD = 0x00000004; -pub const MB_ERR_INVALID_CHARS: DWORD = 0x00000008; -pub const WC_COMPOSITECHECK: DWORD = 0x00000200; -pub const WC_DISCARDNS: DWORD = 0x00000010; -pub const WC_SEPCHARS: DWORD = 0x00000020; -pub const WC_DEFAULTCHAR: DWORD = 0x00000040; -pub const WC_ERR_INVALID_CHARS: DWORD = 0x00000080; -pub const WC_NO_BEST_FIT_CHARS: DWORD = 0x00000400; -pub const CP_ACP: DWORD = 0; -pub const CP_OEMCP: DWORD = 1; -pub const CP_MACCP: DWORD = 2; -pub const CP_THREAD_ACP: DWORD = 3; -pub const CP_SYMBOL: DWORD = 42; -pub const CP_UTF7: DWORD = 65000; -pub const CP_UTF8: DWORD = 65001; -pub type LGRPID = DWORD; -pub type LCTYPE = DWORD; -pub type CALTYPE = DWORD; -pub type CALID = DWORD; -STRUCT!{struct CPINFO { - MaxCharSize: UINT, - DefaultChar: [BYTE; MAX_DEFAULTCHAR], - LeadByte: [BYTE; MAX_LEADBYTES], -}} -pub type LPCPINFO = *mut CPINFO; -STRUCT!{struct CPINFOEXA { - MaxCharSize: UINT, - DefaultChar: [BYTE; MAX_DEFAULTCHAR], - LeadByte: [BYTE; MAX_LEADBYTES], - UnicodeDefaultChar: WCHAR, - CodePage: UINT, - CodePageName: [CHAR; MAX_PATH], -}} -pub type LPCPINFOEXA = *mut CPINFOEXA; -STRUCT!{struct CPINFOEXW { - MaxCharSize: UINT, - DefaultChar: [BYTE; MAX_DEFAULTCHAR], - LeadByte: [BYTE; MAX_LEADBYTES], - UnicodeDefaultChar: WCHAR, - CodePage: UINT, - CodePageName: [WCHAR; MAX_PATH], -}} -pub type LPCPINFOEXW = *mut CPINFOEXW; -STRUCT!{struct NUMBERFMTA { - NumDigits: UINT, - LeadingZero: UINT, - Grouping: UINT, - lpDecimalSep: LPSTR, - lpThousandSep: LPSTR, - NegativeOrder: UINT, -}} -pub type LPNUMBERFMTA = *mut NUMBERFMTA; -STRUCT!{struct NUMBERFMTW { - NumDigits: UINT, - LeadingZero: UINT, - Grouping: UINT, - lpDecimalSep: LPWSTR, - lpThousandSep: LPWSTR, - NegativeOrder: UINT, -}} -pub type LPNUMBERFMTW = *mut NUMBERFMTW; -STRUCT!{struct CURRENCYFMTA { - NumDigits: UINT, - LeadingZero: UINT, - Grouping: UINT, - lpDecimalSep: LPSTR, - lpThousandSep: LPSTR, - NegativeOrder: UINT, - PositiveOrder: UINT, - lpCurrencySymbol: LPSTR, -}} -pub type LPCURRENCYFMTA = *mut CURRENCYFMTA; -STRUCT!{struct CURRENCYFMTW { - NumDigits: UINT, - LeadingZero: UINT, - Grouping: UINT, - lpDecimalSep: LPWSTR, - lpThousandSep: LPWSTR, - NegativeOrder: UINT, - PositiveOrder: UINT, - lpCurrencySymbol: LPWSTR, -}} -pub type LPCURRENCYFMTW = *mut CURRENCYFMTW; -pub type NLS_FUNCTION = DWORD; -STRUCT!{struct NLSVERSIONINFO { - dwNLSVersionInfoSize: DWORD, - dwNLSVersion: DWORD, - dwDefinedVersion: DWORD, - dwEffectiveId: DWORD, - guidCustomVersion: GUID, -}} -pub type LPNLSVERSIONINFO = *mut NLSVERSIONINFO; -STRUCT!{struct NLSVERSIONINFOEX { - dwNLSVersionInfoSize: DWORD, - dwNLSVersion: DWORD, - dwDefinedVersion: DWORD, - dwEffectiveId: DWORD, - guidCustomVersion: GUID, -}} -pub type LPNLSVERSIONINFOEX = *mut NLSVERSIONINFOEX; -pub type GEOID = LONG; -pub type GEOTYPE = DWORD; -pub type GEOCLASS = DWORD; -ENUM!{enum NORM_FORM { - NormalizationOther = 0, - NormalizationC = 0x1, - NormalizationD = 0x2, - NormalizationKC = 0x5, - NormalizationKD = 0x6, -}} -FN!{stdcall LANGUAGEGROUP_ENUMPROCA( - LGRPID, - LPSTR, - LPSTR, - DWORD, - LONG_PTR, -) -> BOOL} -FN!{stdcall LANGGROUPLOCALE_ENUMPROCA( - LGRPID, - LCID, - LPSTR, - LONG_PTR, -) -> BOOL} -FN!{stdcall UILANGUAGE_ENUMPROCA( - LPSTR, - LONG_PTR, -) -> BOOL} -FN!{stdcall CODEPAGE_ENUMPROCA( - LPSTR, -) -> BOOL} -FN!{stdcall DATEFMT_ENUMPROCA( - LPSTR, -) -> BOOL} -FN!{stdcall DATEFMT_ENUMPROCEXA( - LPSTR, - CALID, -) -> BOOL} -FN!{stdcall TIMEFMT_ENUMPROCA( - LPSTR, -) -> BOOL} -FN!{stdcall CALINFO_ENUMPROCA( - LPSTR, -) -> BOOL} -FN!{stdcall CALINFO_ENUMPROCEXA( - LPSTR, - CALID, -) -> BOOL} -FN!{stdcall LOCALE_ENUMPROCA( - LPSTR, -) -> BOOL} -FN!{stdcall LOCALE_ENUMPROCW( - LPWSTR, -) -> BOOL} -FN!{stdcall LANGUAGEGROUP_ENUMPROCW( - LGRPID, - LPWSTR, - LPWSTR, - DWORD, - LONG_PTR, -) -> BOOL} -FN!{stdcall LANGGROUPLOCALE_ENUMPROCW( - LGRPID, - LCID, - LPWSTR, - LONG_PTR, -) -> BOOL} -FN!{stdcall UILANGUAGE_ENUMPROCW( - LPWSTR, - LONG_PTR, -) -> BOOL} -FN!{stdcall CODEPAGE_ENUMPROCW( - LPWSTR, -) -> BOOL} -FN!{stdcall DATEFMT_ENUMPROCW( - LPWSTR, -) -> BOOL} -FN!{stdcall DATEFMT_ENUMPROCEXW( - LPWSTR, - CALID, -) -> BOOL} -FN!{stdcall TIMEFMT_ENUMPROCW( - LPWSTR, -) -> BOOL} -FN!{stdcall CALINFO_ENUMPROCW( - LPWSTR, -) -> BOOL} -FN!{stdcall CALINFO_ENUMPROCEXW( - LPWSTR, - CALID, -) -> BOOL} -FN!{stdcall GEO_ENUMPROC( - GEOID, -) -> BOOL} -STRUCT!{struct FILEMUIINFO { - dwSize: DWORD, - dwVersion: DWORD, - dwFileType: DWORD, - pChecksum: [BYTE; 16], - pServiceChecksum: [BYTE; 16], - dwLanguageNameOffset: DWORD, - dwTypeIDMainSize: DWORD, - dwTypeIDMainOffset: DWORD, - dwTypeNameMainOffset: DWORD, - dwTypeIDMUISize: DWORD, - dwTypeIDMUIOffset: DWORD, - dwTypeNameMUIOffset: DWORD, - abBuffer: [BYTE; 8], -}} -pub type PFILEMUIINFO = *mut FILEMUIINFO; -FN!{stdcall CALINFO_ENUMPROCEXEX( - LPWSTR, - CALID, - LPWSTR, - LPARAM, -) -> BOOL} -FN!{stdcall DATEFMT_ENUMPROCEXEX( - LPWSTR, - CALID, - LPARAM, -) -> BOOL} -FN!{stdcall TIMEFMT_ENUMPROCEX( - LPWSTR, - LPARAM, -) -> BOOL} -FN!{stdcall LOCALE_ENUMPROCEX( - LPWSTR, - DWORD, - LPARAM, -) -> BOOL} -extern "system" { - pub fn CompareStringA( - Locale: LCID, - dwCmpFlags: DWORD, - lpString1: PCNZCH, - cchCount1: c_int, - lpString2: PCNZCH, - cchCount2: c_int, - ) -> c_int; - pub fn CompareStringEx( - lpLocaleName: LPCWSTR, - dwCmpFlags: DWORD, - lpString1: LPCWCH, - cchCount1: c_int, - lpString2: LPCWCH, - cchCount2: c_int, - lpVersionInformation: LPNLSVERSIONINFO, - lpReserved: LPVOID, - lParam: LPARAM, - ) -> c_int; - pub fn CompareStringW( - Locale: LCID, - dwCmpFlags: DWORD, - lpString1: PCNZWCH, - cchCount1: c_int, - lpString2: PCNZWCH, - cchCount2: c_int, - ) -> c_int; - pub fn ConvertDefaultLocale(Locale: LCID) -> LCID; - pub fn EnumCalendarInfoA( - lpCalInfoEnumProc: CALINFO_ENUMPROCA, - Locale: LCID, - Calendar: CALID, - CalType: CALTYPE, - ) -> BOOL; - pub fn EnumCalendarInfoExA( - lpCalInfoEnumProcEx: CALINFO_ENUMPROCEXA, - Locale: LCID, - Calendar: CALID, - CalType: CALTYPE, - ) -> BOOL; - pub fn EnumCalendarInfoExEx( - pCalInfoEnumProcExEx: CALINFO_ENUMPROCEXEX, - lpLocaleName: LPCWSTR, - Calendar: CALID, - lpReserved: LPCWSTR, - CalType: CALTYPE, - lParam: LPARAM, - ) -> BOOL; - pub fn EnumCalendarInfoExW( - lpCalInfoEnumProcEx: CALINFO_ENUMPROCEXW, - Locale: LCID, - Calendar: CALID, - CalType: CALTYPE, - ) -> BOOL; - pub fn EnumCalendarInfoW( - lpCalInfoEnumProc: CALINFO_ENUMPROCW, - Locale: LCID, - Calendar: CALID, - CalType: CALTYPE, - ) -> BOOL; - pub fn EnumDateFormatsA( - lpDateFmtEnumProc: DATEFMT_ENUMPROCA, - Locale: LCID, - dwFlags: DWORD, - ) -> BOOL; - pub fn EnumDateFormatsExA( - lpDateFmtEnumProcEx: DATEFMT_ENUMPROCEXA, - Locale: LCID, - dwFlags: DWORD, - ) -> BOOL; - pub fn EnumDateFormatsExEx( - lpDateFmtEnumProcExEx: DATEFMT_ENUMPROCEXEX, - lpLocaleName: LPCWSTR, - dwFlags: DWORD, - lParam: LPARAM, - ) -> BOOL; - pub fn EnumDateFormatsExW( - lpDateFmtEnumProcEx: DATEFMT_ENUMPROCEXW, - Locale: LCID, - dwFlags: DWORD, - ) -> BOOL; - pub fn EnumDateFormatsW( - lpDateFmtEnumProc: DATEFMT_ENUMPROCW, - Locale: LCID, - dwFlags: DWORD, - ) -> BOOL; - pub fn EnumLanguageGroupLocalesA( - lpLangGroupLocaleEnumProc: LANGGROUPLOCALE_ENUMPROCA, - LanguageGroup: LGRPID, - dwFlags: DWORD, - lParam: LONG_PTR, - ) -> BOOL; - pub fn EnumLanguageGroupLocalesW( - lpLangGroupLocaleEnumProc: LANGGROUPLOCALE_ENUMPROCW, - LanguageGroup: LGRPID, - dwFlags: DWORD, - lParam: LONG_PTR, - ) -> BOOL; - pub fn EnumSystemCodePagesA( - lpCodePageEnumProc: CODEPAGE_ENUMPROCA, - dwFlags: DWORD, - ) -> BOOL; - pub fn EnumSystemCodePagesW( - lpCodePageEnumProc: CODEPAGE_ENUMPROCW, - dwFlags: DWORD, - ) -> BOOL; - pub fn EnumSystemGeoID( - GeoClass: GEOCLASS, - ParentGeoId: GEOID, - lpGeoEnumProc: GEO_ENUMPROC, - ) -> BOOL; - pub fn EnumSystemLanguageGroupsA( - lpLanguageGroupEnumProc: LANGUAGEGROUP_ENUMPROCA, - dwFlags: DWORD, - lParam: LONG_PTR, - ) -> BOOL; - pub fn EnumSystemLanguageGroupsW( - lpLanguageGroupEnumProc: LANGUAGEGROUP_ENUMPROCW, - dwFlags: DWORD, - lParam: LONG_PTR, - ) -> BOOL; - pub fn EnumSystemLocalesA( - lpLocaleEnumProc: LOCALE_ENUMPROCA, - dwFlags: DWORD, - ) -> BOOL; - pub fn EnumSystemLocalesEx( - lpLocaleEnumProcEx: LOCALE_ENUMPROCEX, - dwFlags: DWORD, - lParam: LPARAM, - lpReserved: LPVOID, - ) -> BOOL; - pub fn EnumSystemLocalesW( - lpLocaleEnumProc: LOCALE_ENUMPROCW, - dwFlags: DWORD, - ) -> BOOL; - pub fn EnumTimeFormatsA( - lpTimeFmtEnumProc: TIMEFMT_ENUMPROCA, - Locale: LCID, - dwFlags: DWORD, - ) -> BOOL; - pub fn EnumTimeFormatsEx( - lpTimeFmtEnumProcEx: TIMEFMT_ENUMPROCEX, - lpLocaleName: LPCWSTR, - dwFlags: DWORD, - lParam: LPARAM, - ) -> BOOL; - pub fn EnumTimeFormatsW( - lpTimeFmtEnumProc: TIMEFMT_ENUMPROCW, - Locale: LCID, - dwFlags: DWORD, - ) -> BOOL; - pub fn EnumUILanguagesA( - lpUILanguageEnumProc: UILANGUAGE_ENUMPROCA, - dwFlags: DWORD, - lParam: LONG_PTR, - ) -> BOOL; - pub fn EnumUILanguagesW( - lpUILanguageEnumProc: UILANGUAGE_ENUMPROCW, - dwFlags: DWORD, - lParam: LONG_PTR, - ) -> BOOL; - pub fn FindNLSString( - Locale: LCID, - dwFindNLSStringFlags: DWORD, - lpStringSource: LPCWSTR, - cchSource: c_int, - lpStringValue: LPCWSTR, - cchValue: c_int, - pcchFound: LPINT, - ) -> c_int; - pub fn FindNLSStringEx( - lpLocaleName: LPCWSTR, - dwFindNLSStringFlags: DWORD, - lpStringSource: LPCWSTR, - cchSource: c_int, - lpStringValue: LPCWSTR, - cchValue: c_int, - pcchFound: LPINT, - lpVersionInformation: LPNLSVERSIONINFO, - lpReserved: LPVOID, - sortHandle: LPARAM, - ) -> c_int; - pub fn FoldStringA( - dwMapFlags: DWORD, - lpSrcStr: LPCSTR, - cchSrc: c_int, - lpDestStr: LPSTR, - cchDest: c_int, - ) -> c_int; - pub fn GetACP() -> UINT; - pub fn GetCPInfo( - CodePage: UINT, - lpCPInfo: LPCPINFO, - ) -> BOOL; - pub fn GetCPInfoExA( - CodePage: UINT, - dwFlags: DWORD, - lpCPInfoEx: LPCPINFOEXA, - ) -> BOOL; - pub fn GetCPInfoExW( - CodePage: UINT, - dwFlags: DWORD, - lpCPInfoEx: LPCPINFOEXW, - ) -> BOOL; - pub fn GetCalendarInfoA( - Locale: LCID, - Calendar: CALID, - CalType: CALTYPE, - lpCalData: LPSTR, - cchData: c_int, - lpValue: LPDWORD, - ) -> c_int; - pub fn GetCalendarInfoEx( - lpLocaleName: LPCWSTR, - Calendar: CALID, - lpReserved: LPCWSTR, - CalType: CALTYPE, - lpCalData: LPWSTR, - cchData: c_int, - lpValue: LPDWORD, - ) -> c_int; - pub fn GetCalendarInfoW( - Locale: LCID, - Calendar: CALID, - CalType: CALTYPE, - lpCalData: LPWSTR, - cchData: c_int, - lpValue: LPDWORD, - ) -> c_int; - pub fn GetCurrencyFormatA( - Locale: LCID, - dwFlags: DWORD, - lpValue: LPCSTR, - lpFormat: *const CURRENCYFMTA, - lpCurrencyStr: LPSTR, - cchCurrency: c_int, - ) -> c_int; - pub fn GetCurrencyFormatEx( - lpLocaleName: LPCWSTR, - dwFlags: DWORD, - lpValue: LPCWSTR, - lpFormat: *const CURRENCYFMTW, - lpCurrencyStr: LPWSTR, - cchCurrency: c_int, - ) -> c_int; - pub fn GetCurrencyFormatW( - Locale: LCID, - dwFlags: DWORD, - lpValue: LPCWSTR, - lpFormat: *const CURRENCYFMTW, - lpCurrencyStr: LPWSTR, - cchCurrency: c_int, - ) -> c_int; - pub fn GetDurationFormat( - Locale: LCID, - dwFlags: DWORD, - lpDuration: *const SYSTEMTIME, - ullDuration: ULONGLONG, - lpFormat: LPCWSTR, - lpDurationStr: LPWSTR, - cchDuration: c_int, - ) -> c_int; - pub fn GetDurationFormatEx( - lpLocaleName: LPCWSTR, - dwFlags: DWORD, - lpDuration: *const SYSTEMTIME, - ullDuration: ULONGLONG, - lpFormat: LPCWSTR, - lpDurationStr: LPWSTR, - cchDuration: c_int, - ) -> c_int; - pub fn GetFileMUIInfo( - dwFlags: DWORD, - pcwszFilePath: PCWSTR, - pFileMUIInfo: PFILEMUIINFO, - pcbFileMUIInfo: *mut DWORD, - ) -> BOOL; - pub fn GetFileMUIPath( - dwFlags: DWORD, - pcwszFilePath: PCWSTR, - pwszLanguage: PWSTR, - pcchLanguage: PULONG, - pwszFileMUIPath: PWSTR, - pcchFileMUIPath: PULONG, - pululEnumerator: PULONGLONG, - ) -> BOOL; - pub fn GetGeoInfoA( - Location: GEOID, - GeoType: GEOTYPE, - lpGeoData: LPSTR, - cchData: c_int, - LangId: LANGID, - ) -> c_int; - pub fn GetGeoInfoW( - Location: GEOID, - GeoType: GEOTYPE, - lpGeoData: LPWSTR, - cchData: c_int, - LangId: LANGID, - ) -> c_int; - pub fn GetLocaleInfoA( - Locale: LCID, - LCType: LCTYPE, - lpLCData: LPSTR, - cchData: c_int, - ) -> c_int; - pub fn GetLocaleInfoEx( - lpLocaleName: LPCWSTR, - LCType: LCTYPE, - lpLCData: LPWSTR, - cchData: c_int, - ) -> c_int; - pub fn GetLocaleInfoW( - Locale: LCID, - LCType: LCTYPE, - lpLCData: LPWSTR, - cchData: c_int, - ) -> c_int; - pub fn GetNLSVersion( - Function: NLS_FUNCTION, - Locale: LCID, - lpVersionInformation: LPNLSVERSIONINFO, - ) -> BOOL; - pub fn GetNLSVersionEx( - function: NLS_FUNCTION, - lpLocaleName: LPCWSTR, - lpVersionInformation: LPNLSVERSIONINFOEX, - ) -> BOOL; - pub fn GetNumberFormatA( - Locale: LCID, - dwFlags: DWORD, - lpValue: LPCSTR, - lpFormat: *const NUMBERFMTA, - lpNumberStr: LPSTR, - cchNumber: c_int, - ) -> c_int; - pub fn GetNumberFormatEx( - lpLocaleName: LPCWSTR, - dwFlags: DWORD, - lpValue: LPCWSTR, - lpFormat: *const NUMBERFMTW, - lpNumberStr: LPWSTR, - cchNumber: c_int, - ) -> c_int; - pub fn GetNumberFormatW( - Locale: LCID, - dwFlags: DWORD, - lpValue: LPCWSTR, - lpFormat: *const NUMBERFMTW, - lpNumberStr: LPWSTR, - cchNumber: c_int, - ) -> c_int; - pub fn GetOEMCP() -> UINT; - pub fn GetProcessPreferredUILanguages( - dwFlags: DWORD, - pulNumLanguages: PULONG, - pwszLanguagesBuffer: PZZWSTR, - pcchLanguagesBuffer: PULONG, - ) -> BOOL; - pub fn GetStringScripts( - dwFlags: DWORD, - lpString: LPCWSTR, - cchString: c_int, - lpScripts: LPWSTR, - cchScripts: c_int, - ) -> c_int; - pub fn GetStringTypeA( - Locale: LCID, - dwInfoType: DWORD, - lpSrcStr: LPCSTR, - cchSrc: c_int, - lpCharType: LPWORD, - ) -> BOOL; - pub fn GetStringTypeExA( - Locale: LCID, - dwInfoType: DWORD, - lpSrcStr: LPCSTR, - cchSrc: c_int, - lpCharType: LPWORD, - ) -> BOOL; - pub fn GetStringTypeW( - dwInfoType: DWORD, - lpSrcStr: LPCWCH, - cchSrc: c_int, - lpCharType: LPWORD, - ) -> BOOL; - pub fn GetSystemDefaultLCID() -> LCID; - pub fn GetSystemDefaultLangID() -> LANGID; - pub fn GetSystemDefaultLocaleName( - lpLocaleName: LPWSTR, - cchLocaleName: c_int, - ) -> c_int; - pub fn GetSystemDefaultUILanguage() -> LANGID; - pub fn GetSystemPreferredUILanguages( - dwFlags: DWORD, - pulNumLanguages: PULONG, - pwszLanguagesBuffer: PZZWSTR, - pcchLanguagesBuffer: PULONG, - ) -> BOOL; - pub fn GetThreadLocale() -> LCID; - pub fn GetThreadPreferredUILanguages( - dwFlags: DWORD, - pulNumLanguages: PULONG, - pwszLanguagesBuffer: PZZWSTR, - pcchLanguagesBuffer: PULONG, - ) -> BOOL; - pub fn GetThreadUILanguage() -> LANGID; - pub fn GetUILanguageInfo( - dwFlags: DWORD, - pwmszLanguage: PCZZWSTR, - pwszFallbackLanguages: PZZWSTR, - pcchFallbackLanguages: PDWORD, - pAttributes: PDWORD, - ) -> BOOL; - pub fn GetUserDefaultLCID() -> LCID; - pub fn GetUserDefaultLangID() -> LANGID; - pub fn GetUserDefaultLocaleName( - lpLocaleName: LPWSTR, - cchLocaleName: c_int, - ) -> c_int; - pub fn GetUserDefaultUILanguage() -> LANGID; - pub fn GetUserGeoID(GeoClass: GEOCLASS) -> GEOID; - pub fn GetUserPreferredUILanguages( - dwFlags: DWORD, - pulNumLanguages: PULONG, - pwszLanguagesBuffer: PZZWSTR, - pcchLanguagesBuffer: PULONG, - ) -> BOOL; - pub fn IsDBCSLeadByte( - TestChar: BYTE, - ) -> BOOL; - pub fn IsDBCSLeadByteEx( - CodePage: UINT, - TestChar: BYTE, - ) -> BOOL; - pub fn IsNLSDefinedString( - Function: NLS_FUNCTION, - dwFlags: DWORD, - lpVersionInformation: LPNLSVERSIONINFO, - lpString: LPCWSTR, - cchStr: INT, - ) -> BOOL; - pub fn IsNormalizedString( - NormForm: NORM_FORM, - lpString: LPCWSTR, - cwLength: c_int, - ) -> BOOL; - pub fn IsValidCodePage( - CodePage: UINT, - ) -> BOOL; - pub fn IsValidLanguageGroup( - LanguageGroup: LGRPID, - dwFlags: DWORD, - ) -> BOOL; - pub fn IsValidLocale( - Locale: LCID, - dwFlags: DWORD, - ) -> BOOL; - pub fn IsValidLocaleName( - lpLocaleName: LPCWSTR, - ) -> BOOL; - pub fn IsValidNLSVersion( - function: NLS_FUNCTION, - lpLocaleName: LPCWSTR, - lpVersionInformation: LPNLSVERSIONINFOEX, - ) -> BOOL; - pub fn LCIDToLocaleName( - Locale: LCID, - lpName: LPWSTR, - cchName: c_int, - dwFlags: DWORD, - ) -> c_int; - pub fn LCMapStringA( - Locale: LCID, - dwMapFlags: DWORD, - lpSrcStr: LPCSTR, - cchSrc: c_int, - lpDestStr: LPSTR, - cchDest: c_int, - ) -> c_int; - pub fn LCMapStringEx( - lpLocaleName: LPCWSTR, - dwMapFlags: DWORD, - lpSrcStr: LPCWSTR, - cchSrc: c_int, - lpDestStr: LPWSTR, - cchDest: c_int, - lpVersionInformation: LPNLSVERSIONINFO, - lpReserved: LPVOID, - sortHandle: LPARAM, - ) -> c_int; - pub fn LCMapStringW( - Locale: LCID, - dwMapFlags: DWORD, - lpSrcStr: LPCWSTR, - cchSrc: c_int, - lpDestStr: LPWSTR, - cchDest: c_int, - ) -> c_int; - pub fn LocaleNameToLCID( - lpName: LPCWSTR, - dwFlags: DWORD, - ) -> LCID; - pub fn NormalizeString( - NormForm: NORM_FORM, - lpSrcString: LPCWSTR, - cwSrcLength: c_int, - lpDstString: LPWSTR, - cwDstLength: c_int, - ) -> c_int; - pub fn NotifyUILanguageChange( - dwFlags: DWORD, - pcwstrNewLanguage: PCWSTR, - pcwstrPreviousLanguage: PCWSTR, - dwReserved: DWORD, - pdwStatusRtrn: PDWORD, - ) -> BOOL; - pub fn ResolveLocaleName( - lpNameToResolve: LPCWSTR, - lpLocaleName: LPWSTR, - cchLocaleName: c_int, - ) -> c_int; - pub fn SetCalendarInfoA( - Locale: LCID, - Calendar: CALID, - CalType: CALTYPE, - lpCalData: LPCSTR, - ) -> BOOL; - pub fn SetCalendarInfoW( - Locale: LCID, - Calendar: CALID, - CalType: CALTYPE, - lpCalData: LPCWSTR, - ) -> BOOL; - pub fn SetLocaleInfoA( - Locale: LCID, - LCType: LCTYPE, - lpLCData: LPCSTR, - ) -> BOOL; - pub fn SetLocaleInfoW( - Locale: LCID, - LCType: LCTYPE, - lpLCData: LPCWSTR, - ) -> BOOL; - pub fn SetProcessPreferredUILanguages( - dwFlags: DWORD, - pwszLanguagesBuffer: PCZZWSTR, - pulNumLanguages: PULONG, - ) -> BOOL; - pub fn SetThreadLocale(Locale: LCID) -> BOOL; - pub fn SetThreadPreferredUILanguages( - dwFlags: DWORD, - pwszLanguagesBuffer: PCZZWSTR, - pulNumLanguages: PULONG, - ) -> BOOL; - pub fn SetThreadUILanguage(LangId: LANGID) -> LANGID; - pub fn SetUserGeoID(GeoId: GEOID) -> BOOL; - pub fn VerifyScripts( - dwFlags: DWORD, - lpLocaleScripts: LPCWSTR, - cchLocaleScripts: c_int, - lpTestScripts: LPCWSTR, - cchTestScripts: c_int, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/winnt.rs b/vendor/registry-40351f815f426200/winapi/src/um/winnt.rs deleted file mode 100644 index ecf7bea04..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/winnt.rs +++ /dev/null @@ -1,8622 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This module defines the 32-Bit Windows types and constants that are defined by NT, but exposed -//! through the Win32 API. -use ctypes::{__int64, __uint64, c_char, c_int, c_long, c_short, c_uint, c_ulong, c_void, wchar_t}; -use shared::basetsd::{ - DWORD64, KAFFINITY, LONG64, LONG_PTR, PDWORD64, PLONG64, SIZE_T, ULONG64, ULONG_PTR, -}; -use shared::guiddef::{CLSID, GUID}; -use shared::ktmtypes::UOW; -use shared::minwindef::{BYTE, DWORD, FALSE, PDWORD, TRUE, ULONG, USHORT, WORD}; -#[cfg(target_arch = "aarch64")] -use shared::minwindef::PBYTE; -use vc::excpt::EXCEPTION_DISPOSITION; -use vc::vcruntime::size_t; -pub const ANYSIZE_ARRAY: usize = 1; -#[cfg(target_arch = "x86")] -IFDEF!{ -pub const MAX_NATURAL_ALIGNMENT: usize = 4; -pub const MEMORY_ALLOCATION_ALIGNMENT: usize = 8; -} -#[cfg(target_pointer_width = "64")] -IFDEF!{ -pub const MAX_NATURAL_ALIGNMENT: usize = 8; -pub const MEMORY_ALLOCATION_ALIGNMENT: usize = 16; -} -pub const SYSTEM_CACHE_ALIGNMENT_SIZE: usize = 64; -pub type PVOID = *mut c_void; -pub type PVOID64 = u64; // This is a 64-bit pointer, even when in 32-bit -pub type VOID = c_void; -pub type CHAR = c_char; -pub type SHORT = c_short; -pub type LONG = c_long; -pub type INT = c_int; -pub type WCHAR = wchar_t; -pub type PWCHAR = *mut WCHAR; -pub type LPWCH = *mut WCHAR; -pub type PWCH = *mut WCHAR; -pub type LPCWCH = *const WCHAR; -pub type PCWCH = *const WCHAR; -pub type NWPSTR = *mut WCHAR; -pub type LPWSTR = *mut WCHAR; -pub type PWSTR = *mut WCHAR; -pub type PZPWSTR = *mut PWSTR; -pub type PCZPWSTR = *const PWSTR; -pub type LPUWSTR = *mut WCHAR; // Unaligned pointer -pub type PUWSTR = *mut WCHAR; // Unaligned pointer -pub type LPCWSTR = *const WCHAR; -pub type PCWSTR = *const WCHAR; -pub type PZPCWSTR = *mut PCWSTR; -pub type PCZPCWSTR = *const PCWSTR; -pub type LPCUWSTR = *const WCHAR; // Unaligned pointer -pub type PCUWSTR = *const WCHAR; // Unaligned pointer -pub type PZZWSTR = *mut WCHAR; -pub type PCZZWSTR = *const WCHAR; -pub type PUZZWSTR = *mut WCHAR; // Unaligned pointer -pub type PCUZZWSTR = *const WCHAR; // Unaligned pointer -pub type PNZWCH = *mut WCHAR; -pub type PCNZWCH = *const WCHAR; -pub type PUNZWCH = *mut WCHAR; // Unaligned pointer -pub type PCUNZWCH = *const WCHAR; // Unaligned pointer -pub type LPCWCHAR = *const WCHAR; -pub type PCWCHAR = *const WCHAR; -pub type LPCUWCHAR = *const WCHAR; // Unaligned pointer -pub type PCUWCHAR = *const WCHAR; // Unaligned pointer -pub type UCSCHAR = c_ulong; -pub const UCSCHAR_INVALID_CHARACTER: UCSCHAR = 0xffffffff; -pub const MIN_UCSCHAR: UCSCHAR = 0; -pub const MAX_UCSCHAR: UCSCHAR = 0x0010FFFF; -pub type PUCSCHAR = *mut UCSCHAR; -pub type PCUCSCHAR = *const UCSCHAR; -pub type PUCSSTR = *mut UCSCHAR; -pub type PUUCSSTR = *mut UCSCHAR; // Unaligned pointer -pub type PCUCSSTR = *const UCSCHAR; -pub type PCUUCSSTR = *const UCSCHAR; // Unaligned pointer -pub type PUUCSCHAR = *mut UCSCHAR; // Unaligned pointer -pub type PCUUCSCHAR = *const UCSCHAR; // Unaligned pointer -pub type PCHAR = *mut CHAR; -pub type LPCH = *mut CHAR; -pub type PCH = *mut CHAR; -pub type LPCCH = *const CHAR; -pub type PCCH = *const CHAR; -pub type NPSTR = *mut CHAR; -pub type LPSTR = *mut CHAR; -pub type PSTR = *mut CHAR; -pub type PZPSTR = *mut PSTR; -pub type PCZPSTR = *const PSTR; -pub type LPCSTR = *const CHAR; -pub type PCSTR = *const CHAR; -pub type PZPCSTR = *mut PCSTR; -pub type PCZPCSTR = *const PCSTR; -pub type PZZSTR = *mut CHAR; -pub type PCZZSTR = *const CHAR; -pub type PNZCH = *mut CHAR; -pub type PCNZCH = *const CHAR; -// Skipping TCHAR things -pub type PSHORT = *mut SHORT; -pub type PLONG = *mut LONG; -pub const ALL_PROCESSOR_GROUPS: WORD = 0xffff; -STRUCT!{struct PROCESSOR_NUMBER { - Group: WORD, - Number: BYTE, - Reserved: BYTE, -}} -pub type PPROCESSOR_NUMBER = *mut PROCESSOR_NUMBER; -STRUCT!{struct GROUP_AFFINITY { - Mask: KAFFINITY, - Group: WORD, - Reserved: [WORD; 3], -}} -pub type PGROUP_AFFINITY = *mut GROUP_AFFINITY; -#[cfg(target_arch = "x86")] -pub const MAXIMUM_PROC_PER_GROUP: BYTE = 32; -#[cfg(target_pointer_width = "64")] -pub const MAXIMUM_PROC_PER_GROUP: BYTE = 64; -pub const MAXIMUM_PROCESSORS: BYTE = MAXIMUM_PROC_PER_GROUP; -pub type HANDLE = *mut c_void; -pub type PHANDLE = *mut HANDLE; -pub type FCHAR = BYTE; -pub type FSHORT = WORD; -pub type FLONG = DWORD; -pub type HRESULT = c_long; -pub type CCHAR = c_char; -pub type LCID = DWORD; -pub type PLCID = PDWORD; -pub type LANGID = WORD; -ENUM!{enum COMPARTMENT_ID { - UNSPECIFIED_COMPARTMENT_ID = 0, - DEFAULT_COMPARTMENT_ID, -}} -pub type PCOMPARTMENT_ID = *mut COMPARTMENT_ID; -pub const APPLICATION_ERROR_MASK: DWORD = 0x20000000; -pub const ERROR_SEVERITY_SUCCESS: DWORD = 0x00000000; -pub const ERROR_SEVERITY_INFORMATIONAL: DWORD = 0x40000000; -pub const ERROR_SEVERITY_WARNING: DWORD = 0x80000000; -pub const ERROR_SEVERITY_ERROR: DWORD = 0xC0000000; -STRUCT!{struct FLOAT128 { - LowPart: __int64, - HighPart: __int64, -}} -pub type PFLOAT128 = *mut FLOAT128; -pub type LONGLONG = __int64; -pub type ULONGLONG = __uint64; -pub const MAXLONGLONG: LONGLONG = 0x7fffffffffffffff; -pub type PLONGLONG = *mut LONGLONG; -pub type PULONGLONG = *mut ULONGLONG; -pub type USN = LONGLONG; -STRUCT!{struct LARGE_INTEGER_u { - LowPart: DWORD, - HighPart: LONG, -}} -UNION!{union LARGE_INTEGER { - [u64; 1], - QuadPart QuadPart_mut: LONGLONG, - u u_mut: LARGE_INTEGER_u, -}} -pub type PLARGE_INTEGER = *mut LARGE_INTEGER; -STRUCT!{struct ULARGE_INTEGER_u { - LowPart: DWORD, - HighPart: LONG, -}} -UNION!{union ULARGE_INTEGER { - [u64; 1], - QuadPart QuadPart_mut: ULONGLONG, - u u_mut: ULARGE_INTEGER_u, -}} -pub type PULARGE_INTEGER = *mut ULARGE_INTEGER; -pub type RTL_REFERENCE_COUNT = LONG_PTR; -pub type PRTL_REFERENCE_COUNT = *mut LONG_PTR; -pub type RTL_REFERENCE_COUNT32 = LONG; -pub type PRTL_REFERENCE_COUNT32 = *mut LONG; -pub use shared::ntdef::LUID; -pub type PLUID = *mut LUID; -pub type DWORDLONG = ULONGLONG; -pub type PDWORDLONG = *mut DWORDLONG; -pub const ANSI_NULL: CHAR = 0; -pub const UNICODE_NULL: WCHAR = 0; -pub const UNICODE_STRING_MAX_BYTES: WORD = 65534; -pub const UNICODE_STRING_MAX_CHARS: WORD = 32767; -pub type BOOLEAN = BYTE; -pub type PBOOLEAN = *mut BOOLEAN; -STRUCT!{struct LIST_ENTRY { - Flink: *mut LIST_ENTRY, - Blink: *mut LIST_ENTRY, -}} -pub type PLIST_ENTRY = *mut LIST_ENTRY; -pub type PRLIST_ENTRY = *mut LIST_ENTRY; // Restricted pointer -STRUCT!{struct SINGLE_LIST_ENTRY { - Next: *mut SINGLE_LIST_ENTRY, -}} -pub type PSINGLE_LIST_ENTRY = *mut SINGLE_LIST_ENTRY; -STRUCT!{struct LIST_ENTRY32 { - Flink: DWORD, - Blink: DWORD, -}} -pub type PLIST_ENTRY32 = *mut LIST_ENTRY32; -STRUCT!{struct LIST_ENTRY64 { - Flink: ULONGLONG, - Blink: ULONGLONG, -}} -pub type PLIST_ENTRY64 = *mut LIST_ENTRY64; -STRUCT!{struct OBJECTID { - Lineage: GUID, - Uniquifier: DWORD, -}} -pub const MINCHAR: CHAR = 0x80; -pub const MAXCHAR: CHAR = 0x7f; -pub const MINSHORT: SHORT = 0x8000; -pub const MAXSHORT: SHORT = 0x7fff; -pub const MINLONG: LONG = 0x80000000; -pub const MAXLONG: LONG = 0x7fffffff; -pub const MAXBYTE: BYTE = 0xff; -pub const MAXWORD: WORD = 0xffff; -pub const MAXDWORD: DWORD = 0xffffffff; -FN!{stdcall PEXCEPTION_ROUTINE( - ExceptionRecord: *mut EXCEPTION_RECORD, - EstablisherFrame: PVOID, - ContextRecord: *mut CONTEXT, - DispatcherContext: PVOID, -) -> EXCEPTION_DISPOSITION} -pub const VER_SERVER_NT: DWORD = 0x80000000; -pub const VER_WORKSTATION_NT: DWORD = 0x40000000; -pub const VER_SUITE_SMALLBUSINESS: DWORD = 0x00000001; -pub const VER_SUITE_ENTERPRISE: DWORD = 0x00000002; -pub const VER_SUITE_BACKOFFICE: DWORD = 0x00000004; -pub const VER_SUITE_COMMUNICATIONS: DWORD = 0x00000008; -pub const VER_SUITE_TERMINAL: DWORD = 0x00000010; -pub const VER_SUITE_SMALLBUSINESS_RESTRICTED: DWORD = 0x00000020; -pub const VER_SUITE_EMBEDDEDNT: DWORD = 0x00000040; -pub const VER_SUITE_DATACENTER: DWORD = 0x00000080; -pub const VER_SUITE_SINGLEUSERTS: DWORD = 0x00000100; -pub const VER_SUITE_PERSONAL: DWORD = 0x00000200; -pub const VER_SUITE_BLADE: DWORD = 0x00000400; -pub const VER_SUITE_EMBEDDED_RESTRICTED: DWORD = 0x00000800; -pub const VER_SUITE_SECURITY_APPLIANCE: DWORD = 0x00001000; -pub const VER_SUITE_STORAGE_SERVER: DWORD = 0x00002000; -pub const VER_SUITE_COMPUTE_SERVER: DWORD = 0x00004000; -pub const VER_SUITE_WH_SERVER: DWORD = 0x00008000; -pub const PRODUCT_UNDEFINED: DWORD = 0x00000000; -pub const PRODUCT_ULTIMATE: DWORD = 0x00000001; -pub const PRODUCT_HOME_BASIC: DWORD = 0x00000002; -pub const PRODUCT_HOME_PREMIUM: DWORD = 0x00000003; -pub const PRODUCT_ENTERPRISE: DWORD = 0x00000004; -pub const PRODUCT_HOME_BASIC_N: DWORD = 0x00000005; -pub const PRODUCT_BUSINESS: DWORD = 0x00000006; -pub const PRODUCT_STANDARD_SERVER: DWORD = 0x00000007; -pub const PRODUCT_DATACENTER_SERVER: DWORD = 0x00000008; -pub const PRODUCT_SMALLBUSINESS_SERVER: DWORD = 0x00000009; -pub const PRODUCT_ENTERPRISE_SERVER: DWORD = 0x0000000A; -pub const PRODUCT_STARTER: DWORD = 0x0000000B; -pub const PRODUCT_DATACENTER_SERVER_CORE: DWORD = 0x0000000C; -pub const PRODUCT_STANDARD_SERVER_CORE: DWORD = 0x0000000D; -pub const PRODUCT_ENTERPRISE_SERVER_CORE: DWORD = 0x0000000E; -pub const PRODUCT_ENTERPRISE_SERVER_IA64: DWORD = 0x0000000F; -pub const PRODUCT_BUSINESS_N: DWORD = 0x00000010; -pub const PRODUCT_WEB_SERVER: DWORD = 0x00000011; -pub const PRODUCT_CLUSTER_SERVER: DWORD = 0x00000012; -pub const PRODUCT_HOME_SERVER: DWORD = 0x00000013; -pub const PRODUCT_STORAGE_EXPRESS_SERVER: DWORD = 0x00000014; -pub const PRODUCT_STORAGE_STANDARD_SERVER: DWORD = 0x00000015; -pub const PRODUCT_STORAGE_WORKGROUP_SERVER: DWORD = 0x00000016; -pub const PRODUCT_STORAGE_ENTERPRISE_SERVER: DWORD = 0x00000017; -pub const PRODUCT_SERVER_FOR_SMALLBUSINESS: DWORD = 0x00000018; -pub const PRODUCT_SMALLBUSINESS_SERVER_PREMIUM: DWORD = 0x00000019; -pub const PRODUCT_HOME_PREMIUM_N: DWORD = 0x0000001A; -pub const PRODUCT_ENTERPRISE_N: DWORD = 0x0000001B; -pub const PRODUCT_ULTIMATE_N: DWORD = 0x0000001C; -pub const PRODUCT_WEB_SERVER_CORE: DWORD = 0x0000001D; -pub const PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT: DWORD = 0x0000001E; -pub const PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY: DWORD = 0x0000001F; -pub const PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING: DWORD = 0x00000020; -pub const PRODUCT_SERVER_FOUNDATION: DWORD = 0x00000021; -pub const PRODUCT_HOME_PREMIUM_SERVER: DWORD = 0x00000022; -pub const PRODUCT_SERVER_FOR_SMALLBUSINESS_V: DWORD = 0x00000023; -pub const PRODUCT_STANDARD_SERVER_V: DWORD = 0x00000024; -pub const PRODUCT_DATACENTER_SERVER_V: DWORD = 0x00000025; -pub const PRODUCT_ENTERPRISE_SERVER_V: DWORD = 0x00000026; -pub const PRODUCT_DATACENTER_SERVER_CORE_V: DWORD = 0x00000027; -pub const PRODUCT_STANDARD_SERVER_CORE_V: DWORD = 0x00000028; -pub const PRODUCT_ENTERPRISE_SERVER_CORE_V: DWORD = 0x00000029; -pub const PRODUCT_HYPERV: DWORD = 0x0000002A; -pub const PRODUCT_STORAGE_EXPRESS_SERVER_CORE: DWORD = 0x0000002B; -pub const PRODUCT_STORAGE_STANDARD_SERVER_CORE: DWORD = 0x0000002C; -pub const PRODUCT_STORAGE_WORKGROUP_SERVER_CORE: DWORD = 0x0000002D; -pub const PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE: DWORD = 0x0000002E; -pub const PRODUCT_STARTER_N: DWORD = 0x0000002F; -pub const PRODUCT_PROFESSIONAL: DWORD = 0x00000030; -pub const PRODUCT_PROFESSIONAL_N: DWORD = 0x00000031; -pub const PRODUCT_SB_SOLUTION_SERVER: DWORD = 0x00000032; -pub const PRODUCT_SERVER_FOR_SB_SOLUTIONS: DWORD = 0x00000033; -pub const PRODUCT_STANDARD_SERVER_SOLUTIONS: DWORD = 0x00000034; -pub const PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE: DWORD = 0x00000035; -pub const PRODUCT_SB_SOLUTION_SERVER_EM: DWORD = 0x00000036; -pub const PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM: DWORD = 0x00000037; -pub const PRODUCT_SOLUTION_EMBEDDEDSERVER: DWORD = 0x00000038; -pub const PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE: DWORD = 0x00000039; -pub const PRODUCT_PROFESSIONAL_EMBEDDED: DWORD = 0x0000003A; -pub const PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT: DWORD = 0x0000003B; -pub const PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL: DWORD = 0x0000003C; -pub const PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC: DWORD = 0x0000003D; -pub const PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC: DWORD = 0x0000003E; -pub const PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE: DWORD = 0x0000003F; -pub const PRODUCT_CLUSTER_SERVER_V: DWORD = 0x00000040; -pub const PRODUCT_EMBEDDED: DWORD = 0x00000041; -pub const PRODUCT_STARTER_E: DWORD = 0x00000042; -pub const PRODUCT_HOME_BASIC_E: DWORD = 0x00000043; -pub const PRODUCT_HOME_PREMIUM_E: DWORD = 0x00000044; -pub const PRODUCT_PROFESSIONAL_E: DWORD = 0x00000045; -pub const PRODUCT_ENTERPRISE_E: DWORD = 0x00000046; -pub const PRODUCT_ULTIMATE_E: DWORD = 0x00000047; -pub const PRODUCT_ENTERPRISE_EVALUATION: DWORD = 0x00000048; -pub const PRODUCT_MULTIPOINT_STANDARD_SERVER: DWORD = 0x0000004C; -pub const PRODUCT_MULTIPOINT_PREMIUM_SERVER: DWORD = 0x0000004D; -pub const PRODUCT_STANDARD_EVALUATION_SERVER: DWORD = 0x0000004F; -pub const PRODUCT_DATACENTER_EVALUATION_SERVER: DWORD = 0x00000050; -pub const PRODUCT_ENTERPRISE_N_EVALUATION: DWORD = 0x00000054; -pub const PRODUCT_EMBEDDED_AUTOMOTIVE: DWORD = 0x00000055; -pub const PRODUCT_EMBEDDED_INDUSTRY_A: DWORD = 0x00000056; -pub const PRODUCT_THINPC: DWORD = 0x00000057; -pub const PRODUCT_EMBEDDED_A: DWORD = 0x00000058; -pub const PRODUCT_EMBEDDED_INDUSTRY: DWORD = 0x00000059; -pub const PRODUCT_EMBEDDED_E: DWORD = 0x0000005A; -pub const PRODUCT_EMBEDDED_INDUSTRY_E: DWORD = 0x0000005B; -pub const PRODUCT_EMBEDDED_INDUSTRY_A_E: DWORD = 0x0000005C; -pub const PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER: DWORD = 0x0000005F; -pub const PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER: DWORD = 0x00000060; -pub const PRODUCT_CORE_ARM: DWORD = 0x00000061; -pub const PRODUCT_CORE_N: DWORD = 0x00000062; -pub const PRODUCT_CORE_COUNTRYSPECIFIC: DWORD = 0x00000063; -pub const PRODUCT_CORE_SINGLELANGUAGE: DWORD = 0x00000064; -pub const PRODUCT_CORE: DWORD = 0x00000065; -pub const PRODUCT_PROFESSIONAL_WMC: DWORD = 0x00000067; -pub const PRODUCT_MOBILE_CORE: DWORD = 0x00000068; -pub const PRODUCT_EMBEDDED_INDUSTRY_EVAL: DWORD = 0x00000069; -pub const PRODUCT_EMBEDDED_INDUSTRY_E_EVAL: DWORD = 0x0000006A; -pub const PRODUCT_EMBEDDED_EVAL: DWORD = 0x0000006B; -pub const PRODUCT_EMBEDDED_E_EVAL: DWORD = 0x0000006C; -pub const PRODUCT_NANO_SERVER: DWORD = 0x0000006D; -pub const PRODUCT_CLOUD_STORAGE_SERVER: DWORD = 0x0000006E; -pub const PRODUCT_CORE_CONNECTED: DWORD = 0x0000006F; -pub const PRODUCT_PROFESSIONAL_STUDENT: DWORD = 0x00000070; -pub const PRODUCT_CORE_CONNECTED_N: DWORD = 0x00000071; -pub const PRODUCT_PROFESSIONAL_STUDENT_N: DWORD = 0x00000072; -pub const PRODUCT_CORE_CONNECTED_SINGLELANGUAGE: DWORD = 0x00000073; -pub const PRODUCT_CORE_CONNECTED_COUNTRYSPECIFIC: DWORD = 0x00000074; -pub const PRODUCT_CONNECTED_CAR: DWORD = 0x00000075; -pub const PRODUCT_INDUSTRY_HANDHELD: DWORD = 0x00000076; -pub const PRODUCT_PPI_PRO: DWORD = 0x00000077; -pub const PRODUCT_ARM64_SERVER: DWORD = 0x00000078; -pub const PRODUCT_EDUCATION: DWORD = 0x00000079; -pub const PRODUCT_EDUCATION_N: DWORD = 0x0000007A; -pub const PRODUCT_IOTUAP: DWORD = 0x0000007B; -pub const PRODUCT_CLOUD_HOST_INFRASTRUCTURE_SERVER: DWORD = 0x0000007C; -pub const PRODUCT_ENTERPRISE_S: DWORD = 0x0000007D; -pub const PRODUCT_ENTERPRISE_S_N: DWORD = 0x0000007E; -pub const PRODUCT_PROFESSIONAL_S: DWORD = 0x0000007F; -pub const PRODUCT_PROFESSIONAL_S_N: DWORD = 0x00000080; -pub const PRODUCT_ENTERPRISE_S_EVALUATION: DWORD = 0x00000081; -pub const PRODUCT_ENTERPRISE_S_N_EVALUATION: DWORD = 0x00000082; -pub const PRODUCT_HOLOGRAPHIC: DWORD = 0x00000087; -pub const PRODUCT_PRO_SINGLE_LANGUAGE: DWORD = 0x0000008A; -pub const PRODUCT_PRO_CHINA: DWORD = 0x0000008B; -pub const PRODUCT_ENTERPRISE_SUBSCRIPTION: DWORD = 0x0000008C; -pub const PRODUCT_ENTERPRISE_SUBSCRIPTION_N: DWORD = 0x0000008D; -pub const PRODUCT_DATACENTER_NANO_SERVER: DWORD = 0x0000008F; -pub const PRODUCT_STANDARD_NANO_SERVER: DWORD = 0x00000090; -pub const PRODUCT_DATACENTER_A_SERVER_CORE: DWORD = 0x00000091; -pub const PRODUCT_STANDARD_A_SERVER_CORE: DWORD = 0x00000092; -pub const PRODUCT_DATACENTER_WS_SERVER_CORE: DWORD = 0x00000093; -pub const PRODUCT_STANDARD_WS_SERVER_CORE: DWORD = 0x00000094; -pub const PRODUCT_UTILITY_VM: DWORD = 0x00000095; -pub const PRODUCT_DATACENTER_EVALUATION_SERVER_CORE: DWORD = 0x0000009F; -pub const PRODUCT_STANDARD_EVALUATION_SERVER_CORE: DWORD = 0x000000A0; -pub const PRODUCT_PRO_WORKSTATION: DWORD = 0x000000A1; -pub const PRODUCT_PRO_WORKSTATION_N: DWORD = 0x000000A2; -pub const PRODUCT_PRO_FOR_EDUCATION: DWORD = 0x000000A4; -pub const PRODUCT_PRO_FOR_EDUCATION_N: DWORD = 0x000000A5; -pub const PRODUCT_AZURE_SERVER_CORE: DWORD = 0x000000A8; -pub const PRODUCT_AZURE_NANO_SERVER: DWORD = 0x000000A9; -pub const PRODUCT_ENTERPRISEG: DWORD = 0x000000AB; -pub const PRODUCT_ENTERPRISEGN: DWORD = 0x000000AC; -pub const PRODUCT_CLOUD: DWORD = 0x000000B2; -pub const PRODUCT_CLOUDN: DWORD = 0x000000B3; -pub const PRODUCT_UNLICENSED: DWORD = 0xABCDABCD; -pub const LANG_NEUTRAL: WORD = 0x00; -pub const LANG_INVARIANT: WORD = 0x7f; -pub const LANG_AFRIKAANS: WORD = 0x36; -pub const LANG_ALBANIAN: WORD = 0x1c; -pub const LANG_ALSATIAN: WORD = 0x84; -pub const LANG_AMHARIC: WORD = 0x5e; -pub const LANG_ARABIC: WORD = 0x01; -pub const LANG_ARMENIAN: WORD = 0x2b; -pub const LANG_ASSAMESE: WORD = 0x4d; -pub const LANG_AZERI: WORD = 0x2c; -pub const LANG_AZERBAIJANI: WORD = 0x2c; -pub const LANG_BANGLA: WORD = 0x45; -pub const LANG_BASHKIR: WORD = 0x6d; -pub const LANG_BASQUE: WORD = 0x2d; -pub const LANG_BELARUSIAN: WORD = 0x23; -pub const LANG_BENGALI: WORD = 0x45; -pub const LANG_BRETON: WORD = 0x7e; -pub const LANG_BOSNIAN: WORD = 0x1a; -pub const LANG_BOSNIAN_NEUTRAL: WORD = 0x781a; -pub const LANG_BULGARIAN: WORD = 0x02; -pub const LANG_CATALAN: WORD = 0x03; -pub const LANG_CENTRAL_KURDISH: WORD = 0x92; -pub const LANG_CHEROKEE: WORD = 0x5c; -pub const LANG_CHINESE: WORD = 0x04; -pub const LANG_CHINESE_SIMPLIFIED: WORD = 0x04; -pub const LANG_CHINESE_TRADITIONAL: WORD = 0x7c04; -pub const LANG_CORSICAN: WORD = 0x83; -pub const LANG_CROATIAN: WORD = 0x1a; -pub const LANG_CZECH: WORD = 0x05; -pub const LANG_DANISH: WORD = 0x06; -pub const LANG_DARI: WORD = 0x8c; -pub const LANG_DIVEHI: WORD = 0x65; -pub const LANG_DUTCH: WORD = 0x13; -pub const LANG_ENGLISH: WORD = 0x09; -pub const LANG_ESTONIAN: WORD = 0x25; -pub const LANG_FAEROESE: WORD = 0x38; -pub const LANG_FARSI: WORD = 0x29; -pub const LANG_FILIPINO: WORD = 0x64; -pub const LANG_FINNISH: WORD = 0x0b; -pub const LANG_FRENCH: WORD = 0x0c; -pub const LANG_FRISIAN: WORD = 0x62; -pub const LANG_FULAH: WORD = 0x67; -pub const LANG_GALICIAN: WORD = 0x56; -pub const LANG_GEORGIAN: WORD = 0x37; -pub const LANG_GERMAN: WORD = 0x07; -pub const LANG_GREEK: WORD = 0x08; -pub const LANG_GREENLANDIC: WORD = 0x6f; -pub const LANG_GUJARATI: WORD = 0x47; -pub const LANG_HAUSA: WORD = 0x68; -pub const LANG_HAWAIIAN: WORD = 0x75; -pub const LANG_HEBREW: WORD = 0x0d; -pub const LANG_HINDI: WORD = 0x39; -pub const LANG_HUNGARIAN: WORD = 0x0e; -pub const LANG_ICELANDIC: WORD = 0x0f; -pub const LANG_IGBO: WORD = 0x70; -pub const LANG_INDONESIAN: WORD = 0x21; -pub const LANG_INUKTITUT: WORD = 0x5d; -pub const LANG_IRISH: WORD = 0x3c; -pub const LANG_ITALIAN: WORD = 0x10; -pub const LANG_JAPANESE: WORD = 0x11; -pub const LANG_KANNADA: WORD = 0x4b; -pub const LANG_KASHMIRI: WORD = 0x60; -pub const LANG_KAZAK: WORD = 0x3f; -pub const LANG_KHMER: WORD = 0x53; -pub const LANG_KICHE: WORD = 0x86; -pub const LANG_KINYARWANDA: WORD = 0x87; -pub const LANG_KONKANI: WORD = 0x57; -pub const LANG_KOREAN: WORD = 0x12; -pub const LANG_KYRGYZ: WORD = 0x40; -pub const LANG_LAO: WORD = 0x54; -pub const LANG_LATVIAN: WORD = 0x26; -pub const LANG_LITHUANIAN: WORD = 0x27; -pub const LANG_LOWER_SORBIAN: WORD = 0x2e; -pub const LANG_LUXEMBOURGISH: WORD = 0x6e; -pub const LANG_MACEDONIAN: WORD = 0x2f; -pub const LANG_MALAY: WORD = 0x3e; -pub const LANG_MALAYALAM: WORD = 0x4c; -pub const LANG_MALTESE: WORD = 0x3a; -pub const LANG_MANIPURI: WORD = 0x58; -pub const LANG_MAORI: WORD = 0x81; -pub const LANG_MAPUDUNGUN: WORD = 0x7a; -pub const LANG_MARATHI: WORD = 0x4e; -pub const LANG_MOHAWK: WORD = 0x7c; -pub const LANG_MONGOLIAN: WORD = 0x50; -pub const LANG_NEPALI: WORD = 0x61; -pub const LANG_NORWEGIAN: WORD = 0x14; -pub const LANG_OCCITAN: WORD = 0x82; -pub const LANG_ODIA: WORD = 0x48; -pub const LANG_ORIYA: WORD = 0x48; -pub const LANG_PASHTO: WORD = 0x63; -pub const LANG_PERSIAN: WORD = 0x29; -pub const LANG_POLISH: WORD = 0x15; -pub const LANG_PORTUGUESE: WORD = 0x16; -pub const LANG_PULAR: WORD = 0x67; -pub const LANG_PUNJABI: WORD = 0x46; -pub const LANG_QUECHUA: WORD = 0x6b; -pub const LANG_ROMANIAN: WORD = 0x18; -pub const LANG_ROMANSH: WORD = 0x17; -pub const LANG_RUSSIAN: WORD = 0x19; -pub const LANG_SAKHA: WORD = 0x85; -pub const LANG_SAMI: WORD = 0x3b; -pub const LANG_SANSKRIT: WORD = 0x4f; -pub const LANG_SCOTTISH_GAELIC: WORD = 0x91; -pub const LANG_SERBIAN: WORD = 0x1a; -pub const LANG_SERBIAN_NEUTRAL: WORD = 0x7c1a; -pub const LANG_SINDHI: WORD = 0x59; -pub const LANG_SINHALESE: WORD = 0x5b; -pub const LANG_SLOVAK: WORD = 0x1b; -pub const LANG_SLOVENIAN: WORD = 0x24; -pub const LANG_SOTHO: WORD = 0x6c; -pub const LANG_SPANISH: WORD = 0x0a; -pub const LANG_SWAHILI: WORD = 0x41; -pub const LANG_SWEDISH: WORD = 0x1d; -pub const LANG_SYRIAC: WORD = 0x5a; -pub const LANG_TAJIK: WORD = 0x28; -pub const LANG_TAMAZIGHT: WORD = 0x5f; -pub const LANG_TAMIL: WORD = 0x49; -pub const LANG_TATAR: WORD = 0x44; -pub const LANG_TELUGU: WORD = 0x4a; -pub const LANG_THAI: WORD = 0x1e; -pub const LANG_TIBETAN: WORD = 0x51; -pub const LANG_TIGRIGNA: WORD = 0x73; -pub const LANG_TIGRINYA: WORD = 0x73; -pub const LANG_TSWANA: WORD = 0x32; -pub const LANG_TURKISH: WORD = 0x1f; -pub const LANG_TURKMEN: WORD = 0x42; -pub const LANG_UIGHUR: WORD = 0x80; -pub const LANG_UKRAINIAN: WORD = 0x22; -pub const LANG_UPPER_SORBIAN: WORD = 0x2e; -pub const LANG_URDU: WORD = 0x20; -pub const LANG_UZBEK: WORD = 0x43; -pub const LANG_VALENCIAN: WORD = 0x03; -pub const LANG_VIETNAMESE: WORD = 0x2a; -pub const LANG_WELSH: WORD = 0x52; -pub const LANG_WOLOF: WORD = 0x88; -pub const LANG_XHOSA: WORD = 0x34; -pub const LANG_YAKUT: WORD = 0x85; -pub const LANG_YI: WORD = 0x78; -pub const LANG_YORUBA: WORD = 0x6a; -pub const LANG_ZULU: WORD = 0x35; -pub const SUBLANG_NEUTRAL: WORD = 0x00; -pub const SUBLANG_DEFAULT: WORD = 0x01; -pub const SUBLANG_SYS_DEFAULT: WORD = 0x02; -pub const SUBLANG_CUSTOM_DEFAULT: WORD = 0x03; -pub const SUBLANG_CUSTOM_UNSPECIFIED: WORD = 0x04; -pub const SUBLANG_UI_CUSTOM_DEFAULT: WORD = 0x05; -pub const SUBLANG_AFRIKAANS_SOUTH_AFRICA: WORD = 0x01; -pub const SUBLANG_ALBANIAN_ALBANIA: WORD = 0x01; -pub const SUBLANG_ALSATIAN_FRANCE: WORD = 0x01; -pub const SUBLANG_AMHARIC_ETHIOPIA: WORD = 0x01; -pub const SUBLANG_ARABIC_SAUDI_ARABIA: WORD = 0x01; -pub const SUBLANG_ARABIC_IRAQ: WORD = 0x02; -pub const SUBLANG_ARABIC_EGYPT: WORD = 0x03; -pub const SUBLANG_ARABIC_LIBYA: WORD = 0x04; -pub const SUBLANG_ARABIC_ALGERIA: WORD = 0x05; -pub const SUBLANG_ARABIC_MOROCCO: WORD = 0x06; -pub const SUBLANG_ARABIC_TUNISIA: WORD = 0x07; -pub const SUBLANG_ARABIC_OMAN: WORD = 0x08; -pub const SUBLANG_ARABIC_YEMEN: WORD = 0x09; -pub const SUBLANG_ARABIC_SYRIA: WORD = 0x0a; -pub const SUBLANG_ARABIC_JORDAN: WORD = 0x0b; -pub const SUBLANG_ARABIC_LEBANON: WORD = 0x0c; -pub const SUBLANG_ARABIC_KUWAIT: WORD = 0x0d; -pub const SUBLANG_ARABIC_UAE: WORD = 0x0e; -pub const SUBLANG_ARABIC_BAHRAIN: WORD = 0x0f; -pub const SUBLANG_ARABIC_QATAR: WORD = 0x10; -pub const SUBLANG_ARMENIAN_ARMENIA: WORD = 0x01; -pub const SUBLANG_ASSAMESE_INDIA: WORD = 0x01; -pub const SUBLANG_AZERI_LATIN: WORD = 0x01; -pub const SUBLANG_AZERI_CYRILLIC: WORD = 0x02; -pub const SUBLANG_AZERBAIJANI_AZERBAIJAN_LATIN: WORD = 0x01; -pub const SUBLANG_AZERBAIJANI_AZERBAIJAN_CYRILLIC: WORD = 0x02; -pub const SUBLANG_BANGLA_INDIA: WORD = 0x01; -pub const SUBLANG_BANGLA_BANGLADESH: WORD = 0x02; -pub const SUBLANG_BASHKIR_RUSSIA: WORD = 0x01; -pub const SUBLANG_BASQUE_BASQUE: WORD = 0x01; -pub const SUBLANG_BELARUSIAN_BELARUS: WORD = 0x01; -pub const SUBLANG_BENGALI_INDIA: WORD = 0x01; -pub const SUBLANG_BENGALI_BANGLADESH: WORD = 0x02; -pub const SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN: WORD = 0x05; -pub const SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC: WORD = 0x08; -pub const SUBLANG_BRETON_FRANCE: WORD = 0x01; -pub const SUBLANG_BULGARIAN_BULGARIA: WORD = 0x01; -pub const SUBLANG_CATALAN_CATALAN: WORD = 0x01; -pub const SUBLANG_CENTRAL_KURDISH_IRAQ: WORD = 0x01; -pub const SUBLANG_CHEROKEE_CHEROKEE: WORD = 0x01; -pub const SUBLANG_CHINESE_TRADITIONAL: WORD = 0x01; -pub const SUBLANG_CHINESE_SIMPLIFIED: WORD = 0x02; -pub const SUBLANG_CHINESE_HONGKONG: WORD = 0x03; -pub const SUBLANG_CHINESE_SINGAPORE: WORD = 0x04; -pub const SUBLANG_CHINESE_MACAU: WORD = 0x05; -pub const SUBLANG_CORSICAN_FRANCE: WORD = 0x01; -pub const SUBLANG_CZECH_CZECH_REPUBLIC: WORD = 0x01; -pub const SUBLANG_CROATIAN_CROATIA: WORD = 0x01; -pub const SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN: WORD = 0x04; -pub const SUBLANG_DANISH_DENMARK: WORD = 0x01; -pub const SUBLANG_DARI_AFGHANISTAN: WORD = 0x01; -pub const SUBLANG_DIVEHI_MALDIVES: WORD = 0x01; -pub const SUBLANG_DUTCH: WORD = 0x01; -pub const SUBLANG_DUTCH_BELGIAN: WORD = 0x02; -pub const SUBLANG_ENGLISH_US: WORD = 0x01; -pub const SUBLANG_ENGLISH_UK: WORD = 0x02; -pub const SUBLANG_ENGLISH_AUS: WORD = 0x03; -pub const SUBLANG_ENGLISH_CAN: WORD = 0x04; -pub const SUBLANG_ENGLISH_NZ: WORD = 0x05; -pub const SUBLANG_ENGLISH_EIRE: WORD = 0x06; -pub const SUBLANG_ENGLISH_SOUTH_AFRICA: WORD = 0x07; -pub const SUBLANG_ENGLISH_JAMAICA: WORD = 0x08; -pub const SUBLANG_ENGLISH_CARIBBEAN: WORD = 0x09; -pub const SUBLANG_ENGLISH_BELIZE: WORD = 0x0a; -pub const SUBLANG_ENGLISH_TRINIDAD: WORD = 0x0b; -pub const SUBLANG_ENGLISH_ZIMBABWE: WORD = 0x0c; -pub const SUBLANG_ENGLISH_PHILIPPINES: WORD = 0x0d; -pub const SUBLANG_ENGLISH_INDIA: WORD = 0x10; -pub const SUBLANG_ENGLISH_MALAYSIA: WORD = 0x11; -pub const SUBLANG_ENGLISH_SINGAPORE: WORD = 0x12; -pub const SUBLANG_ESTONIAN_ESTONIA: WORD = 0x01; -pub const SUBLANG_FAEROESE_FAROE_ISLANDS: WORD = 0x01; -pub const SUBLANG_FILIPINO_PHILIPPINES: WORD = 0x01; -pub const SUBLANG_FINNISH_FINLAND: WORD = 0x01; -pub const SUBLANG_FRENCH: WORD = 0x01; -pub const SUBLANG_FRENCH_BELGIAN: WORD = 0x02; -pub const SUBLANG_FRENCH_CANADIAN: WORD = 0x03; -pub const SUBLANG_FRENCH_SWISS: WORD = 0x04; -pub const SUBLANG_FRENCH_LUXEMBOURG: WORD = 0x05; -pub const SUBLANG_FRENCH_MONACO: WORD = 0x06; -pub const SUBLANG_FRISIAN_NETHERLANDS: WORD = 0x01; -pub const SUBLANG_FULAH_SENEGAL: WORD = 0x02; -pub const SUBLANG_GALICIAN_GALICIAN: WORD = 0x01; -pub const SUBLANG_GEORGIAN_GEORGIA: WORD = 0x01; -pub const SUBLANG_GERMAN: WORD = 0x01; -pub const SUBLANG_GERMAN_SWISS: WORD = 0x02; -pub const SUBLANG_GERMAN_AUSTRIAN: WORD = 0x03; -pub const SUBLANG_GERMAN_LUXEMBOURG: WORD = 0x04; -pub const SUBLANG_GERMAN_LIECHTENSTEIN: WORD = 0x05; -pub const SUBLANG_GREEK_GREECE: WORD = 0x01; -pub const SUBLANG_GREENLANDIC_GREENLAND: WORD = 0x01; -pub const SUBLANG_GUJARATI_INDIA: WORD = 0x01; -pub const SUBLANG_HAUSA_NIGERIA_LATIN: WORD = 0x01; -pub const SUBLANG_HAWAIIAN_US: WORD = 0x01; -pub const SUBLANG_HEBREW_ISRAEL: WORD = 0x01; -pub const SUBLANG_HINDI_INDIA: WORD = 0x01; -pub const SUBLANG_HUNGARIAN_HUNGARY: WORD = 0x01; -pub const SUBLANG_ICELANDIC_ICELAND: WORD = 0x01; -pub const SUBLANG_IGBO_NIGERIA: WORD = 0x01; -pub const SUBLANG_INDONESIAN_INDONESIA: WORD = 0x01; -pub const SUBLANG_INUKTITUT_CANADA: WORD = 0x01; -pub const SUBLANG_INUKTITUT_CANADA_LATIN: WORD = 0x02; -pub const SUBLANG_IRISH_IRELAND: WORD = 0x02; -pub const SUBLANG_ITALIAN: WORD = 0x01; -pub const SUBLANG_ITALIAN_SWISS: WORD = 0x02; -pub const SUBLANG_JAPANESE_JAPAN: WORD = 0x01; -pub const SUBLANG_KANNADA_INDIA: WORD = 0x01; -pub const SUBLANG_KASHMIRI_SASIA: WORD = 0x02; -pub const SUBLANG_KASHMIRI_INDIA: WORD = 0x02; -pub const SUBLANG_KAZAK_KAZAKHSTAN: WORD = 0x01; -pub const SUBLANG_KHMER_CAMBODIA: WORD = 0x01; -pub const SUBLANG_KICHE_GUATEMALA: WORD = 0x01; -pub const SUBLANG_KINYARWANDA_RWANDA: WORD = 0x01; -pub const SUBLANG_KONKANI_INDIA: WORD = 0x01; -pub const SUBLANG_KOREAN: WORD = 0x01; -pub const SUBLANG_KYRGYZ_KYRGYZSTAN: WORD = 0x01; -pub const SUBLANG_LAO_LAO: WORD = 0x01; -pub const SUBLANG_LATVIAN_LATVIA: WORD = 0x01; -pub const SUBLANG_LITHUANIAN: WORD = 0x01; -pub const SUBLANG_LOWER_SORBIAN_GERMANY: WORD = 0x02; -pub const SUBLANG_LUXEMBOURGISH_LUXEMBOURG: WORD = 0x01; -pub const SUBLANG_MACEDONIAN_MACEDONIA: WORD = 0x01; -pub const SUBLANG_MALAY_MALAYSIA: WORD = 0x01; -pub const SUBLANG_MALAY_BRUNEI_DARUSSALAM: WORD = 0x02; -pub const SUBLANG_MALAYALAM_INDIA: WORD = 0x01; -pub const SUBLANG_MALTESE_MALTA: WORD = 0x01; -pub const SUBLANG_MAORI_NEW_ZEALAND: WORD = 0x01; -pub const SUBLANG_MAPUDUNGUN_CHILE: WORD = 0x01; -pub const SUBLANG_MARATHI_INDIA: WORD = 0x01; -pub const SUBLANG_MOHAWK_MOHAWK: WORD = 0x01; -pub const SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA: WORD = 0x01; -pub const SUBLANG_MONGOLIAN_PRC: WORD = 0x02; -pub const SUBLANG_NEPALI_INDIA: WORD = 0x02; -pub const SUBLANG_NEPALI_NEPAL: WORD = 0x01; -pub const SUBLANG_NORWEGIAN_BOKMAL: WORD = 0x01; -pub const SUBLANG_NORWEGIAN_NYNORSK: WORD = 0x02; -pub const SUBLANG_OCCITAN_FRANCE: WORD = 0x01; -pub const SUBLANG_ODIA_INDIA: WORD = 0x01; -pub const SUBLANG_ORIYA_INDIA: WORD = 0x01; -pub const SUBLANG_PASHTO_AFGHANISTAN: WORD = 0x01; -pub const SUBLANG_PERSIAN_IRAN: WORD = 0x01; -pub const SUBLANG_POLISH_POLAND: WORD = 0x01; -pub const SUBLANG_PORTUGUESE: WORD = 0x02; -pub const SUBLANG_PORTUGUESE_BRAZILIAN: WORD = 0x01; -pub const SUBLANG_PULAR_SENEGAL: WORD = 0x02; -pub const SUBLANG_PUNJABI_INDIA: WORD = 0x01; -pub const SUBLANG_PUNJABI_PAKISTAN: WORD = 0x02; -pub const SUBLANG_QUECHUA_BOLIVIA: WORD = 0x01; -pub const SUBLANG_QUECHUA_ECUADOR: WORD = 0x02; -pub const SUBLANG_QUECHUA_PERU: WORD = 0x03; -pub const SUBLANG_ROMANIAN_ROMANIA: WORD = 0x01; -pub const SUBLANG_ROMANSH_SWITZERLAND: WORD = 0x01; -pub const SUBLANG_RUSSIAN_RUSSIA: WORD = 0x01; -pub const SUBLANG_SAKHA_RUSSIA: WORD = 0x01; -pub const SUBLANG_SAMI_NORTHERN_NORWAY: WORD = 0x01; -pub const SUBLANG_SAMI_NORTHERN_SWEDEN: WORD = 0x02; -pub const SUBLANG_SAMI_NORTHERN_FINLAND: WORD = 0x03; -pub const SUBLANG_SAMI_LULE_NORWAY: WORD = 0x04; -pub const SUBLANG_SAMI_LULE_SWEDEN: WORD = 0x05; -pub const SUBLANG_SAMI_SOUTHERN_NORWAY: WORD = 0x06; -pub const SUBLANG_SAMI_SOUTHERN_SWEDEN: WORD = 0x07; -pub const SUBLANG_SAMI_SKOLT_FINLAND: WORD = 0x08; -pub const SUBLANG_SAMI_INARI_FINLAND: WORD = 0x09; -pub const SUBLANG_SANSKRIT_INDIA: WORD = 0x01; -pub const SUBLANG_SCOTTISH_GAELIC: WORD = 0x01; -pub const SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN: WORD = 0x06; -pub const SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC: WORD = 0x07; -pub const SUBLANG_SERBIAN_MONTENEGRO_LATIN: WORD = 0x0b; -pub const SUBLANG_SERBIAN_MONTENEGRO_CYRILLIC: WORD = 0x0c; -pub const SUBLANG_SERBIAN_SERBIA_LATIN: WORD = 0x09; -pub const SUBLANG_SERBIAN_SERBIA_CYRILLIC: WORD = 0x0a; -pub const SUBLANG_SERBIAN_CROATIA: WORD = 0x01; -pub const SUBLANG_SERBIAN_LATIN: WORD = 0x02; -pub const SUBLANG_SERBIAN_CYRILLIC: WORD = 0x03; -pub const SUBLANG_SINDHI_INDIA: WORD = 0x01; -pub const SUBLANG_SINDHI_PAKISTAN: WORD = 0x02; -pub const SUBLANG_SINDHI_AFGHANISTAN: WORD = 0x02; -pub const SUBLANG_SINHALESE_SRI_LANKA: WORD = 0x01; -pub const SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA: WORD = 0x01; -pub const SUBLANG_SLOVAK_SLOVAKIA: WORD = 0x01; -pub const SUBLANG_SLOVENIAN_SLOVENIA: WORD = 0x01; -pub const SUBLANG_SPANISH: WORD = 0x01; -pub const SUBLANG_SPANISH_MEXICAN: WORD = 0x02; -pub const SUBLANG_SPANISH_MODERN: WORD = 0x03; -pub const SUBLANG_SPANISH_GUATEMALA: WORD = 0x04; -pub const SUBLANG_SPANISH_COSTA_RICA: WORD = 0x05; -pub const SUBLANG_SPANISH_PANAMA: WORD = 0x06; -pub const SUBLANG_SPANISH_DOMINICAN_REPUBLIC: WORD = 0x07; -pub const SUBLANG_SPANISH_VENEZUELA: WORD = 0x08; -pub const SUBLANG_SPANISH_COLOMBIA: WORD = 0x09; -pub const SUBLANG_SPANISH_PERU: WORD = 0x0a; -pub const SUBLANG_SPANISH_ARGENTINA: WORD = 0x0b; -pub const SUBLANG_SPANISH_ECUADOR: WORD = 0x0c; -pub const SUBLANG_SPANISH_CHILE: WORD = 0x0d; -pub const SUBLANG_SPANISH_URUGUAY: WORD = 0x0e; -pub const SUBLANG_SPANISH_PARAGUAY: WORD = 0x0f; -pub const SUBLANG_SPANISH_BOLIVIA: WORD = 0x10; -pub const SUBLANG_SPANISH_EL_SALVADOR: WORD = 0x11; -pub const SUBLANG_SPANISH_HONDURAS: WORD = 0x12; -pub const SUBLANG_SPANISH_NICARAGUA: WORD = 0x13; -pub const SUBLANG_SPANISH_PUERTO_RICO: WORD = 0x14; -pub const SUBLANG_SPANISH_US: WORD = 0x15; -pub const SUBLANG_SWAHILI_KENYA: WORD = 0x01; -pub const SUBLANG_SWEDISH: WORD = 0x01; -pub const SUBLANG_SWEDISH_FINLAND: WORD = 0x02; -pub const SUBLANG_SYRIAC_SYRIA: WORD = 0x01; -pub const SUBLANG_TAJIK_TAJIKISTAN: WORD = 0x01; -pub const SUBLANG_TAMAZIGHT_ALGERIA_LATIN: WORD = 0x02; -pub const SUBLANG_TAMAZIGHT_MOROCCO_TIFINAGH: WORD = 0x04; -pub const SUBLANG_TAMIL_INDIA: WORD = 0x01; -pub const SUBLANG_TAMIL_SRI_LANKA: WORD = 0x02; -pub const SUBLANG_TATAR_RUSSIA: WORD = 0x01; -pub const SUBLANG_TELUGU_INDIA: WORD = 0x01; -pub const SUBLANG_THAI_THAILAND: WORD = 0x01; -pub const SUBLANG_TIBETAN_PRC: WORD = 0x01; -pub const SUBLANG_TIGRIGNA_ERITREA: WORD = 0x02; -pub const SUBLANG_TIGRINYA_ERITREA: WORD = 0x02; -pub const SUBLANG_TIGRINYA_ETHIOPIA: WORD = 0x01; -pub const SUBLANG_TSWANA_BOTSWANA: WORD = 0x02; -pub const SUBLANG_TSWANA_SOUTH_AFRICA: WORD = 0x01; -pub const SUBLANG_TURKISH_TURKEY: WORD = 0x01; -pub const SUBLANG_TURKMEN_TURKMENISTAN: WORD = 0x01; -pub const SUBLANG_UIGHUR_PRC: WORD = 0x01; -pub const SUBLANG_UKRAINIAN_UKRAINE: WORD = 0x01; -pub const SUBLANG_UPPER_SORBIAN_GERMANY: WORD = 0x01; -pub const SUBLANG_URDU_PAKISTAN: WORD = 0x01; -pub const SUBLANG_URDU_INDIA: WORD = 0x02; -pub const SUBLANG_UZBEK_LATIN: WORD = 0x01; -pub const SUBLANG_UZBEK_CYRILLIC: WORD = 0x02; -pub const SUBLANG_VALENCIAN_VALENCIA: WORD = 0x02; -pub const SUBLANG_VIETNAMESE_VIETNAM: WORD = 0x01; -pub const SUBLANG_WELSH_UNITED_KINGDOM: WORD = 0x01; -pub const SUBLANG_WOLOF_SENEGAL: WORD = 0x01; -pub const SUBLANG_XHOSA_SOUTH_AFRICA: WORD = 0x01; -pub const SUBLANG_YAKUT_RUSSIA: WORD = 0x01; -pub const SUBLANG_YI_PRC: WORD = 0x01; -pub const SUBLANG_YORUBA_NIGERIA: WORD = 0x01; -pub const SUBLANG_ZULU_SOUTH_AFRICA: WORD = 0x01; -pub const SORT_DEFAULT: WORD = 0x0; -pub const SORT_INVARIANT_MATH: WORD = 0x1; -pub const SORT_JAPANESE_XJIS: WORD = 0x0; -pub const SORT_JAPANESE_UNICODE: WORD = 0x1; -pub const SORT_JAPANESE_RADICALSTROKE: WORD = 0x4; -pub const SORT_CHINESE_BIG5: WORD = 0x0; -pub const SORT_CHINESE_PRCP: WORD = 0x0; -pub const SORT_CHINESE_UNICODE: WORD = 0x1; -pub const SORT_CHINESE_PRC: WORD = 0x2; -pub const SORT_CHINESE_BOPOMOFO: WORD = 0x3; -pub const SORT_CHINESE_RADICALSTROKE: WORD = 0x4; -pub const SORT_KOREAN_KSC: WORD = 0x0; -pub const SORT_KOREAN_UNICODE: WORD = 0x1; -pub const SORT_GERMAN_PHONE_BOOK: WORD = 0x1; -pub const SORT_HUNGARIAN_DEFAULT: WORD = 0x0; -pub const SORT_HUNGARIAN_TECHNICAL: WORD = 0x1; -pub const SORT_GEORGIAN_TRADITIONAL: WORD = 0x0; -pub const SORT_GEORGIAN_MODERN: WORD = 0x1; -macro_rules! MAKELANGID { ($p:expr, $s:expr) => (($s << 10) | $p) } -#[inline] -pub fn MAKELANGID(p: WORD, s: WORD) -> LANGID { - (s << 10) | p -} -#[inline] -pub fn PRIMARYLANGID(lgid: LANGID) -> WORD { - lgid & 0x3ff -} -#[inline] -pub fn SUBLANGID(lgid: LANGID) -> WORD { - lgid >> 10 -} -pub const NLS_VALID_LOCALE_MASK: DWORD = 0x000fffff; -macro_rules! MAKELCID { - ($lgid:expr, $srtid:expr) => ((($srtid as DWORD) << 16) | ($lgid as DWORD)) -} -#[inline] -pub fn MAKELCID(lgid: LANGID, srtid: WORD) -> LCID { - ((srtid as DWORD) << 16) | (lgid as DWORD) -} -#[inline] -pub fn MAKESORTLCID(lgid: LANGID, srtid: WORD, ver: WORD) -> LCID { - MAKELCID(lgid, srtid) | ((ver as DWORD) << 20) -} -#[inline] -pub fn LANGIDFROMLCID(lcid: LCID) -> LANGID { - lcid as LANGID -} -#[inline] -pub fn SORTIDFROMLCID(lcid: LCID) -> WORD { - ((lcid >> 16) & 0xf) as WORD -} -#[inline] -pub fn SORTVERSIONFROMLCID(lcid: LCID) -> WORD { - ((lcid >> 16) & 0xf) as WORD -} -pub const LOCALE_NAME_MAX_LENGTH: usize = 85; -pub const LANG_SYSTEM_DEFAULT: LANGID = MAKELANGID!(LANG_NEUTRAL, SUBLANG_SYS_DEFAULT); -pub const LANG_USER_DEFAULT: LANGID = MAKELANGID!(LANG_NEUTRAL, SUBLANG_DEFAULT); -pub const LOCALE_SYSTEM_DEFAULT: LCID = MAKELCID!(LANG_SYSTEM_DEFAULT, SORT_DEFAULT); -pub const LOCALE_USER_DEFAULT: LCID = MAKELCID!(LANG_USER_DEFAULT, SORT_DEFAULT); -pub const LOCALE_CUSTOM_DEFAULT: LCID - = MAKELCID!(MAKELANGID!(LANG_NEUTRAL, SUBLANG_CUSTOM_DEFAULT), SORT_DEFAULT); -pub const LOCALE_CUSTOM_UNSPECIFIED: LCID - = MAKELCID!(MAKELANGID!(LANG_NEUTRAL, SUBLANG_CUSTOM_UNSPECIFIED), SORT_DEFAULT); -pub const LOCALE_CUSTOM_UI_DEFAULT: LCID - = MAKELCID!(MAKELANGID!(LANG_NEUTRAL, SUBLANG_UI_CUSTOM_DEFAULT), SORT_DEFAULT); -pub const LOCALE_NEUTRAL: LCID - = MAKELCID!(MAKELANGID!(LANG_NEUTRAL, SUBLANG_NEUTRAL), SORT_DEFAULT); -pub const LOCALE_INVARIANT: LCID - = MAKELCID!(MAKELANGID!(LANG_INVARIANT, SUBLANG_NEUTRAL), SORT_DEFAULT); -pub const LOCALE_TRANSIENT_KEYBOARD1: LCID = 0x2000; -pub const LOCALE_TRANSIENT_KEYBOARD2: LCID = 0x2400; -pub const LOCALE_TRANSIENT_KEYBOARD3: LCID = 0x2800; -pub const LOCALE_TRANSIENT_KEYBOARD4: LCID = 0x2c00; -pub const LOCALE_UNASSIGNED_LCID: LCID = LOCALE_CUSTOM_UNSPECIFIED; -pub const STATUS_WAIT_0: DWORD = 0x00000000; -pub const STATUS_ABANDONED_WAIT_0: DWORD = 0x00000080; -pub const STATUS_USER_APC: DWORD = 0x000000C0; -pub const STATUS_TIMEOUT: DWORD = 0x00000102; -pub const STATUS_PENDING: DWORD = 0x00000103; -pub const DBG_EXCEPTION_HANDLED: DWORD = 0x00010001; -pub const DBG_CONTINUE: DWORD = 0x00010002; -pub const STATUS_SEGMENT_NOTIFICATION: DWORD = 0x40000005; -pub const STATUS_FATAL_APP_EXIT: DWORD = 0x40000015; -pub const DBG_REPLY_LATER: DWORD = 0x40010001; -pub const DBG_TERMINATE_THREAD: DWORD = 0x40010003; -pub const DBG_TERMINATE_PROCESS: DWORD = 0x40010004; -pub const DBG_CONTROL_C: DWORD = 0x40010005; -pub const DBG_PRINTEXCEPTION_C: DWORD = 0x40010006; -pub const DBG_RIPEXCEPTION: DWORD = 0x40010007; -pub const DBG_CONTROL_BREAK: DWORD = 0x40010008; -pub const DBG_COMMAND_EXCEPTION: DWORD = 0x40010009; -pub const DBG_PRINTEXCEPTION_WIDE_C: DWORD = 0x4001000A; -pub const STATUS_GUARD_PAGE_VIOLATION: DWORD = 0x80000001; -pub const STATUS_DATATYPE_MISALIGNMENT: DWORD = 0x80000002; -pub const STATUS_BREAKPOINT: DWORD = 0x80000003; -pub const STATUS_SINGLE_STEP: DWORD = 0x80000004; -pub const STATUS_LONGJUMP: DWORD = 0x80000026; -pub const STATUS_UNWIND_CONSOLIDATE: DWORD = 0x80000029; -pub const DBG_EXCEPTION_NOT_HANDLED: DWORD = 0x80010001; -pub const STATUS_ACCESS_VIOLATION: DWORD = 0xC0000005; -pub const STATUS_IN_PAGE_ERROR: DWORD = 0xC0000006; -pub const STATUS_INVALID_HANDLE: DWORD = 0xC0000008; -pub const STATUS_INVALID_PARAMETER: DWORD = 0xC000000D; -pub const STATUS_NO_MEMORY: DWORD = 0xC0000017; -pub const STATUS_ILLEGAL_INSTRUCTION: DWORD = 0xC000001D; -pub const STATUS_NONCONTINUABLE_EXCEPTION: DWORD = 0xC0000025; -pub const STATUS_INVALID_DISPOSITION: DWORD = 0xC0000026; -pub const STATUS_ARRAY_BOUNDS_EXCEEDED: DWORD = 0xC000008C; -pub const STATUS_FLOAT_DENORMAL_OPERAND: DWORD = 0xC000008D; -pub const STATUS_FLOAT_DIVIDE_BY_ZERO: DWORD = 0xC000008E; -pub const STATUS_FLOAT_INEXACT_RESULT: DWORD = 0xC000008F; -pub const STATUS_FLOAT_INVALID_OPERATION: DWORD = 0xC0000090; -pub const STATUS_FLOAT_OVERFLOW: DWORD = 0xC0000091; -pub const STATUS_FLOAT_STACK_CHECK: DWORD = 0xC0000092; -pub const STATUS_FLOAT_UNDERFLOW: DWORD = 0xC0000093; -pub const STATUS_INTEGER_DIVIDE_BY_ZERO: DWORD = 0xC0000094; -pub const STATUS_INTEGER_OVERFLOW: DWORD = 0xC0000095; -pub const STATUS_PRIVILEGED_INSTRUCTION: DWORD = 0xC0000096; -pub const STATUS_STACK_OVERFLOW: DWORD = 0xC00000FD; -pub const STATUS_DLL_NOT_FOUND: DWORD = 0xC0000135; -pub const STATUS_ORDINAL_NOT_FOUND: DWORD = 0xC0000138; -pub const STATUS_ENTRYPOINT_NOT_FOUND: DWORD = 0xC0000139; -pub const STATUS_CONTROL_C_EXIT: DWORD = 0xC000013A; -pub const STATUS_DLL_INIT_FAILED: DWORD = 0xC0000142; -pub const STATUS_FLOAT_MULTIPLE_FAULTS: DWORD = 0xC00002B4; -pub const STATUS_FLOAT_MULTIPLE_TRAPS: DWORD = 0xC00002B5; -pub const STATUS_REG_NAT_CONSUMPTION: DWORD = 0xC00002C9; -pub const STATUS_HEAP_CORRUPTION: DWORD = 0xC0000374; -pub const STATUS_STACK_BUFFER_OVERRUN: DWORD = 0xC0000409; -pub const STATUS_INVALID_CRUNTIME_PARAMETER: DWORD = 0xC0000417; -pub const STATUS_ASSERTION_FAILURE: DWORD = 0xC0000420; -pub const STATUS_SXS_EARLY_DEACTIVATION: DWORD = 0xC015000F; -pub const STATUS_SXS_INVALID_DEACTIVATION: DWORD = 0xC0150010; -pub const MAXIMUM_WAIT_OBJECTS: DWORD = 64; -pub const MAXIMUM_SUSPEND_COUNT: CHAR = MAXCHAR; -pub type KSPIN_LOCK = ULONG_PTR; -pub type PKSPIN_LOCK = *mut KSPIN_LOCK; -STRUCT!{struct M128A { // FIXME align 16 - Low: ULONGLONG, - High: LONGLONG, -}} -pub type PM128A = *mut M128A; -#[cfg(target_arch = "x86")] -STRUCT!{struct XSAVE_FORMAT { // FIXME align 16 - ControlWord: WORD, - StatusWord: WORD, - TagWord: BYTE, - Reserved1: BYTE, - ErrorOpcode: WORD, - ErrorOffset: DWORD, - ErrorSelector: WORD, - Reserved2: WORD, - DataOffset: DWORD, - DataSelector: WORD, - Reserved3: WORD, - MxCsr: DWORD, - MxCsr_Mask: DWORD, - FloatRegisters: [M128A; 8], - XmmRegisters: [M128A; 8], - Reserved4: [BYTE; 224], -}} -#[cfg(target_arch = "x86_64")] -STRUCT!{struct XSAVE_FORMAT { // FIXME align 16 - ControlWord: WORD, - StatusWord: WORD, - TagWord: BYTE, - Reserved1: BYTE, - ErrorOpcode: WORD, - ErrorOffset: DWORD, - ErrorSelector: WORD, - Reserved2: WORD, - DataOffset: DWORD, - DataSelector: WORD, - Reserved3: WORD, - MxCsr: DWORD, - MxCsr_Mask: DWORD, - FloatRegisters: [M128A; 8], - XmmRegisters: [M128A; 16], - Reserved4: [BYTE; 96], -}} -#[cfg(target_arch = "x86")] -STRUCT!{struct XSTATE_CONTEXT { - Mask: DWORD64, - Length: DWORD, - Reserved1: DWORD, - Area: PXSAVE_AREA, - Reserved2: DWORD, - Buffer: PVOID, - Reserved3: DWORD, -}} -#[cfg(target_arch = "x86_64")] -STRUCT!{struct XSTATE_CONTEXT { - Mask: DWORD64, - Length: DWORD, - Reserved1: DWORD, - Area: PXSAVE_AREA, - Buffer: PVOID, -}} -#[cfg(any(target_arch = "x86", target_arch = "x86_64"))] -IFDEF!{ -pub type PXSAVE_FORMAT = *mut XSAVE_FORMAT; -STRUCT!{struct XSAVE_AREA_HEADER { // FIXME align 8 - Mask: DWORD64, - CompactionMask: DWORD64, - Reserved2: [DWORD64; 6], -}} -pub type PXSAVE_AREA_HEADER = *mut XSAVE_AREA_HEADER; -STRUCT!{struct XSAVE_AREA { // FIXME align 16 - LegacyState: XSAVE_FORMAT, - Header: XSAVE_AREA_HEADER, -}} -pub type PXSAVE_AREA = *mut XSAVE_AREA; -pub type PXSTATE_CONTEXT = *mut XSTATE_CONTEXT; -} -STRUCT!{struct SCOPE_TABLE_AMD64 { - Count: DWORD, - ScopeRecord: [SCOPE_TABLE_AMD64_ScopeRecord; 1], -}} -STRUCT!{struct SCOPE_TABLE_AMD64_ScopeRecord { - BeginAddress: DWORD, - EndAddress: DWORD, - HandlerAddress: DWORD, - JumpTarget: DWORD, -}} -pub type PSCOPE_TABLE_AMD64 = *mut SCOPE_TABLE_AMD64; -STRUCT!{struct SCOPE_TABLE_ARM64 { - Count: DWORD, - ScopeRecord: [SCOPE_TABLE_ARM64_ScopeRecord; 1], -}} -STRUCT!{struct SCOPE_TABLE_ARM64_ScopeRecord { - BeginAddress: DWORD, - EndAddress: DWORD, - HandlerAddress: DWORD, - JumpTarget: DWORD, -}} -pub type PSCOPE_TABLE_ARM64 = *mut SCOPE_TABLE_ARM64; -// Skip interlocked and bit manipulation stuff because it is all intrinsics -// Use the native Rust equivalents instead -#[cfg(target_arch = "x86_64")] -IFDEF!{ -pub const EXCEPTION_READ_FAULT: DWORD = 0; -pub const EXCEPTION_WRITE_FAULT: DWORD = 1; -pub const EXCEPTION_EXECUTE_FAULT: DWORD = 8; -pub const CONTEXT_AMD64: DWORD = 0x00100000; -pub const CONTEXT_CONTROL: DWORD = CONTEXT_AMD64 | 0x00000001; -pub const CONTEXT_INTEGER: DWORD = CONTEXT_AMD64 | 0x00000002; -pub const CONTEXT_SEGMENTS: DWORD = CONTEXT_AMD64 | 0x00000004; -pub const CONTEXT_FLOATING_POINT: DWORD = CONTEXT_AMD64 | 0x00000008; -pub const CONTEXT_DEBUG_REGISTERS: DWORD = CONTEXT_AMD64 | 0x00000010; -pub const CONTEXT_FULL: DWORD = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT; -pub const CONTEXT_ALL: DWORD = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS - | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS; -pub const CONTEXT_XSTATE: DWORD = CONTEXT_AMD64 | 0x00000040; -pub const CONTEXT_EXCEPTION_ACTIVE: DWORD = 0x08000000; -pub const CONTEXT_SERVICE_ACTIVE: DWORD = 0x10000000; -pub const CONTEXT_EXCEPTION_REQUEST: DWORD = 0x40000000; -pub const CONTEXT_EXCEPTION_REPORTING: DWORD = 0x80000000; -pub const INITIAL_MXCSR: DWORD = 0x1f80; -pub const INITIAL_FPCSR: DWORD = 0x027f; -pub type XMM_SAVE_AREA32 = XSAVE_FORMAT; -pub type PXMM_SAVE_AREA32 = *mut XSAVE_FORMAT; -STRUCT!{struct CONTEXT_u_s { - Header: [M128A; 2], - Legacy: [M128A; 8], - Xmm0: M128A, - Xmm1: M128A, - Xmm2: M128A, - Xmm3: M128A, - Xmm4: M128A, - Xmm5: M128A, - Xmm6: M128A, - Xmm7: M128A, - Xmm8: M128A, - Xmm9: M128A, - Xmm10: M128A, - Xmm11: M128A, - Xmm12: M128A, - Xmm13: M128A, - Xmm14: M128A, - Xmm15: M128A, -}} -UNION!{union CONTEXT_u { - [u64; 64], - FltSave FltSave_mut: XMM_SAVE_AREA32, - s s_mut: CONTEXT_u_s, -}} -STRUCT!{struct CONTEXT { // FIXME align 16 - P1Home: DWORD64, - P2Home: DWORD64, - P3Home: DWORD64, - P4Home: DWORD64, - P5Home: DWORD64, - P6Home: DWORD64, - ContextFlags: DWORD, - MxCsr: DWORD, - SegCs: WORD, - SegDs: WORD, - SegEs: WORD, - SegFs: WORD, - SegGs: WORD, - SegSs: WORD, - EFlags: DWORD, - Dr0: DWORD64, - Dr1: DWORD64, - Dr2: DWORD64, - Dr3: DWORD64, - Dr6: DWORD64, - Dr7: DWORD64, - Rax: DWORD64, - Rcx: DWORD64, - Rdx: DWORD64, - Rbx: DWORD64, - Rsp: DWORD64, - Rbp: DWORD64, - Rsi: DWORD64, - Rdi: DWORD64, - R8: DWORD64, - R9: DWORD64, - R10: DWORD64, - R11: DWORD64, - R12: DWORD64, - R13: DWORD64, - R14: DWORD64, - R15: DWORD64, - Rip: DWORD64, - u: CONTEXT_u, - VectorRegister: [M128A; 26], - VectorControl: DWORD64, - DebugControl: DWORD64, - LastBranchToRip: DWORD64, - LastBranchFromRip: DWORD64, - LastExceptionToRip: DWORD64, - LastExceptionFromRip: DWORD64, -}} -pub type PCONTEXT = *mut CONTEXT; -pub type RUNTIME_FUNCTION = IMAGE_RUNTIME_FUNCTION_ENTRY; -pub type PRUNTIME_FUNCTION = *mut IMAGE_RUNTIME_FUNCTION_ENTRY; -pub type SCOPE_TABLE = SCOPE_TABLE_AMD64; -pub type PSCOPE_TABLE = *mut SCOPE_TABLE_AMD64; -pub const RUNTIME_FUNCTION_INDIRECT: DWORD = 0x1; -pub const UNW_FLAG_NHANDLER: DWORD = 0x0; -pub const UNW_FLAG_EHANDLER: DWORD = 0x1; -pub const UNW_FLAG_UHANDLER: DWORD = 0x2; -pub const UNW_FLAG_CHAININFO: DWORD = 0x4; -pub const UNW_FLAG_NO_EPILOGUE: DWORD = 0x80000000; -pub const UNWIND_HISTORY_TABLE_SIZE: usize = 12; -STRUCT!{struct UNWIND_HISTORY_TABLE_ENTRY { - ImageBase: DWORD64, - FunctionEntry: PRUNTIME_FUNCTION, -}} -pub type PUNWIND_HISTORY_TABLE_ENTRY = *mut UNWIND_HISTORY_TABLE_ENTRY; -STRUCT!{struct UNWIND_HISTORY_TABLE { - Count: DWORD, - LocalHint: BYTE, - GlobalHint: BYTE, - Search: BYTE, - Once: BYTE, - LowAddress: DWORD64, - HighAddress: DWORD64, - Entry: [UNWIND_HISTORY_TABLE_ENTRY; UNWIND_HISTORY_TABLE_SIZE], -}} -pub type PUNWIND_HISTORY_TABLE = *mut UNWIND_HISTORY_TABLE; -FN!{cdecl PGET_RUNTIME_FUNCTION_CALLBACK( - ControlPc: DWORD64, - Context: PVOID, -) -> PRUNTIME_FUNCTION} -FN!{cdecl POUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK( - Process: HANDLE, - TableAddress: PVOID, - Entries: PDWORD, - Functions: *mut PRUNTIME_FUNCTION, -) -> DWORD} -pub const OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME: &'static str - = "OutOfProcessFunctionTableCallback"; -STRUCT!{struct DISPATCHER_CONTEXT { - ControlPc: DWORD64, - ImageBase: DWORD64, - FunctionEntry: PRUNTIME_FUNCTION, - EstablisherFrame: DWORD64, - TargetIp: DWORD64, - ContextRecord: PCONTEXT, - LanguageHandler: PEXCEPTION_ROUTINE, - HandlerData: PVOID, - HistoryTable: PUNWIND_HISTORY_TABLE, - ScopeIndex: DWORD, - Fill0: DWORD, -}} -pub type PDISPATCHER_CONTEXT = *mut DISPATCHER_CONTEXT; -FN!{cdecl PEXCEPTION_FILTER( - ExceptionPointers: *mut EXCEPTION_POINTERS, - EstablisherFrame: PVOID, -) -> LONG} -FN!{cdecl PTERMINATION_HANDLER( - AbnormalTermination: BOOLEAN, - EstablisherFrame: PVOID, -) -> ()} -STRUCT!{struct KNONVOLATILE_CONTEXT_POINTERS_u1_s { - Xmm0: PM128A, - Xmm1: PM128A, - Xmm2: PM128A, - Xmm3: PM128A, - Xmm4: PM128A, - Xmm5: PM128A, - Xmm6: PM128A, - Xmm7: PM128A, - Xmm8: PM128A, - Xmm9: PM128A, - Xmm10: PM128A, - Xmm11: PM128A, - Xmm12: PM128A, - Xmm13: PM128A, - Xmm14: PM128A, - Xmm15: PM128A, -}} -UNION!{union KNONVOLATILE_CONTEXT_POINTERS_u1 { - [u64; 16], - FloatingContext FloatingContext_mut: [PM128A; 16], - s s_mut: KNONVOLATILE_CONTEXT_POINTERS_u1_s, -}} -STRUCT!{struct KNONVOLATILE_CONTEXT_POINTERS_u2_s { - Rax: PDWORD64, - Rcx: PDWORD64, - Rdx: PDWORD64, - Rbx: PDWORD64, - Rsp: PDWORD64, - Rbp: PDWORD64, - Rsi: PDWORD64, - Rdi: PDWORD64, - R8: PDWORD64, - R9: PDWORD64, - R10: PDWORD64, - R11: PDWORD64, - R12: PDWORD64, - R13: PDWORD64, - R14: PDWORD64, - R15: PDWORD64, -}} -UNION!{union KNONVOLATILE_CONTEXT_POINTERS_u2 { - [u64; 16], - IntegerContext IntegerContext_mut: [PDWORD64; 16], - s s_mut: KNONVOLATILE_CONTEXT_POINTERS_u2_s, -}} -STRUCT!{struct KNONVOLATILE_CONTEXT_POINTERS { - u1: KNONVOLATILE_CONTEXT_POINTERS_u1, - u2: KNONVOLATILE_CONTEXT_POINTERS_u2, -}} -pub type PKNONVOLATILE_CONTEXT_POINTERS = *mut KNONVOLATILE_CONTEXT_POINTERS; -} // IFDEF(x86_64) -#[cfg(target_arch = "x86")] -IFDEF!{ -pub const EXCEPTION_READ_FAULT: DWORD = 0; -pub const EXCEPTION_WRITE_FAULT: DWORD = 1; -pub const EXCEPTION_EXECUTE_FAULT: DWORD = 8; -pub const SIZE_OF_80387_REGISTERS: usize = 80; -pub const CONTEXT_i386: DWORD = 0x00010000; -pub const CONTEXT_i486: DWORD = 0x00010000; -pub const CONTEXT_CONTROL: DWORD = CONTEXT_i386 | 0x00000001; -pub const CONTEXT_INTEGER: DWORD = CONTEXT_i386 | 0x00000002; -pub const CONTEXT_SEGMENTS: DWORD = CONTEXT_i386 | 0x00000004; -pub const CONTEXT_FLOATING_POINT: DWORD = CONTEXT_i386 | 0x00000008; -pub const CONTEXT_DEBUG_REGISTERS: DWORD = CONTEXT_i386 | 0x00000010; -pub const CONTEXT_EXTENDED_REGISTERS: DWORD = CONTEXT_i386 | 0x00000020; -pub const CONTEXT_FULL: DWORD = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS; -pub const CONTEXT_ALL: DWORD = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS - | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS | CONTEXT_EXTENDED_REGISTERS; -pub const CONTEXT_XSTATE: DWORD = CONTEXT_i386 | 0x00000040; -pub const CONTEXT_EXCEPTION_ACTIVE: DWORD = 0x08000000; -pub const CONTEXT_SERVICE_ACTIVE: DWORD = 0x10000000; -pub const CONTEXT_EXCEPTION_REQUEST: DWORD = 0x40000000; -pub const CONTEXT_EXCEPTION_REPORTING: DWORD = 0x80000000; -STRUCT!{struct FLOATING_SAVE_AREA { - ControlWord: DWORD, - StatusWord: DWORD, - TagWord: DWORD, - ErrorOffset: DWORD, - ErrorSelector: DWORD, - DataOffset: DWORD, - DataSelector: DWORD, - RegisterArea: [BYTE; SIZE_OF_80387_REGISTERS], - Spare0: DWORD, -}} -pub type PFLOATING_SAVE_AREA = *mut FLOATING_SAVE_AREA; -pub const MAXIMUM_SUPPORTED_EXTENSION: usize = 512; -STRUCT!{struct CONTEXT { - ContextFlags: DWORD, - Dr0: DWORD, - Dr1: DWORD, - Dr2: DWORD, - Dr3: DWORD, - Dr6: DWORD, - Dr7: DWORD, - FloatSave: FLOATING_SAVE_AREA, - SegGs: DWORD, - SegFs: DWORD, - SegEs: DWORD, - SegDs: DWORD, - Edi: DWORD, - Esi: DWORD, - Ebx: DWORD, - Edx: DWORD, - Ecx: DWORD, - Eax: DWORD, - Ebp: DWORD, - Eip: DWORD, - SegCs: DWORD, - EFlags: DWORD, - Esp: DWORD, - SegSs: DWORD, - ExtendedRegisters: [BYTE; MAXIMUM_SUPPORTED_EXTENSION], -}} -pub type PCONTEXT = *mut CONTEXT; -} // IFDEF(x86) -STRUCT!{struct LDT_ENTRY_Bytes { - BaseMid: BYTE, - Flags1: BYTE, - Flags2: BYTE, - BaseHi: BYTE, -}} -STRUCT!{struct LDT_ENTRY_Bits { - Bitfield: DWORD, -}} -BITFIELD!{LDT_ENTRY_Bits Bitfield: DWORD [ - BaseMid set_BaseMid[0..8], - Type set_Type[8..13], - Dpl set_Dpl[13..15], - Pres set_Pres[15..16], - LimitHi set_LimitHi[16..20], - Sys set_Sys[20..21], - Reserved_0 set_Reserved_0[21..22], - Default_Big set_Default_Big[22..23], - Granularity set_Granularity[23..24], - BaseHi set_BaseHi[24..32], -]} -UNION!{union LDT_ENTRY_HighWord { - [u32; 1], - Bytes Bytes_mut: LDT_ENTRY_Bytes, - Bits Bits_mut: LDT_ENTRY_Bits, -}} -STRUCT!{struct LDT_ENTRY { - LimitLow: WORD, - BaseLow: WORD, - HighWord: LDT_ENTRY_HighWord, -}} -pub type PLDT_ENTRY = *mut LDT_ENTRY; -#[cfg(target_arch = "aarch64")] -IFDEF!{ -pub const ARM64_MAX_BREAKPOINTS: usize = 8; -pub const ARM64_MAX_WATCHPOINTS: usize = 2; -pub const EXCEPTION_READ_FAULT: DWORD = 0; -pub const EXCEPTION_WRITE_FAULT: DWORD = 1; -pub const EXCEPTION_EXECUTE_FAULT: DWORD = 8; -pub const CONTEXT_ARM64: DWORD = 0x00400000; -pub const CONTEXT_CONTROL: DWORD = CONTEXT_ARM64 | 0x00000001; -pub const CONTEXT_INTEGER: DWORD = CONTEXT_ARM64 | 0x00000002; -pub const CONTEXT_FLOATING_POINT: DWORD = CONTEXT_ARM64 | 0x00000004; -pub const CONTEXT_DEBUG_REGISTERS: DWORD = CONTEXT_ARM64 | 0x00000008; -pub const CONTEXT_X18: DWORD = CONTEXT_ARM64 | 0x00000010; -pub const CONTEXT_FULL: DWORD = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT; -pub const CONTEXT_ALL: DWORD = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT - | CONTEXT_DEBUG_REGISTERS | CONTEXT_X18; -pub const CONTEXT_EXCEPTION_ACTIVE: DWORD = 0x08000000; -pub const CONTEXT_SERVICE_ACTIVE: DWORD = 0x10000000; -pub const CONTEXT_EXCEPTION_REQUEST: DWORD = 0x40000000; -pub const CONTEXT_EXCEPTION_REPORTING: DWORD = 0x80000000; -STRUCT!{struct CONTEXT_u_s { - X0: DWORD64, - X1: DWORD64, - X2: DWORD64, - X3: DWORD64, - X4: DWORD64, - X5: DWORD64, - X6: DWORD64, - X7: DWORD64, - X8: DWORD64, - X9: DWORD64, - X10: DWORD64, - X11: DWORD64, - X12: DWORD64, - X13: DWORD64, - X14: DWORD64, - X15: DWORD64, - X16: DWORD64, - X17: DWORD64, - X18: DWORD64, - X19: DWORD64, - X20: DWORD64, - X21: DWORD64, - X22: DWORD64, - X23: DWORD64, - X24: DWORD64, - X25: DWORD64, - X26: DWORD64, - X27: DWORD64, - X28: DWORD64, - Fp: DWORD64, - Lr: DWORD64, -}} -UNION!{union CONTEXT_u { - [u64; 31], - s s_mut: CONTEXT_u_s, -}} -STRUCT!{struct ARM64_NT_NEON128_s { - Low: ULONGLONG, - High: LONGLONG, -}} -UNION!{union ARM64_NT_NEON128 { - [u64; 2], - s s_mut: ARM64_NT_NEON128_s, - D D_mut: [f64; 2], - S S_mut: [f32; 4], - H H_mut: [WORD; 8], - B B_mut: [BYTE; 16], -}} -STRUCT!{struct CONTEXT { // FIXME align 16 - ContextFlags: DWORD, - Cpsr: DWORD, - u: CONTEXT_u, - Sp: DWORD64, - Pc: DWORD64, - V: [ARM64_NT_NEON128; 32], - Fpcr: DWORD, - Fpsr: DWORD, - Bcr: [DWORD; ARM64_MAX_BREAKPOINTS], - Bvr: [DWORD64; ARM64_MAX_BREAKPOINTS], - Wcr: [DWORD; ARM64_MAX_WATCHPOINTS], - Wvr: [DWORD64; ARM64_MAX_WATCHPOINTS], -}} -pub type PCONTEXT = *mut CONTEXT; -pub type RUNTIME_FUNCTION = IMAGE_RUNTIME_FUNCTION_ENTRY; -pub type PRUNTIME_FUNCTION = *mut IMAGE_RUNTIME_FUNCTION_ENTRY; -pub type SCOPE_TABLE = SCOPE_TABLE_ARM64; -pub type PSCOPE_TABLE = *mut SCOPE_TABLE_ARM64; -pub const RUNTIME_FUNCTION_INDIRECT: DWORD = 0x1; -pub const UNW_FLAG_NHANDLER: DWORD = 0x0; -pub const UNW_FLAG_EHANDLER: DWORD = 0x1; -pub const UNW_FLAG_UHANDLER: DWORD = 0x2; -pub const UNWIND_HISTORY_TABLE_SIZE: usize = 12; -STRUCT!{struct UNWIND_HISTORY_TABLE_ENTRY { - ImageBase: DWORD64, - FunctionEntry: PRUNTIME_FUNCTION, -}} -pub type PUNWIND_HISTORY_TABLE_ENTRY = *mut UNWIND_HISTORY_TABLE_ENTRY; -STRUCT!{struct UNWIND_HISTORY_TABLE { - Count: DWORD, - LocalHint: BYTE, - GlobalHint: BYTE, - Search: BYTE, - Once: BYTE, - LowAddress: DWORD64, - HighAddress: DWORD64, - Entry: [UNWIND_HISTORY_TABLE_ENTRY; UNWIND_HISTORY_TABLE_SIZE], -}} -pub type PUNWIND_HISTORY_TABLE = *mut UNWIND_HISTORY_TABLE; -FN!{cdecl PGET_RUNTIME_FUNCTION_CALLBACK( - ControlPc: DWORD64, - Context: PVOID, -) -> PRUNTIME_FUNCTION} -FN!{cdecl POUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK( - Process: HANDLE, - TableAddress: PVOID, - Entries: PDWORD, - Functions: *mut PRUNTIME_FUNCTION, -) -> DWORD} -pub const OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME: &'static str - = "OutOfProcessFunctionTableCallback"; -STRUCT!{struct DISPATCHER_CONTEXT { - ControlPc: ULONG_PTR, - ImageBase: ULONG_PTR, - FunctionEntry: PRUNTIME_FUNCTION, - EstablisherFrame: ULONG_PTR, - TargetPc: ULONG_PTR, - ContextRecord: PCONTEXT, - LanguageHandler: PEXCEPTION_ROUTINE, - HandlerData: PVOID, - HistoryTable: PUNWIND_HISTORY_TABLE, - ScopeIndex: DWORD, - ControlPcIsUnwound: BOOLEAN, - NonVolatileRegisters: PBYTE, -}} -pub type PDISPATCHER_CONTEXT = *mut DISPATCHER_CONTEXT; -FN!{cdecl PEXCEPTION_FILTER( - ExceptionPointers: *mut EXCEPTION_POINTERS, - EstablisherFrame: DWORD64, -) -> LONG} -FN!{cdecl PTERMINATION_HANDLER( - AbnormalTermination: BOOLEAN, - EstablisherFrame: DWORD64, -) -> ()} -STRUCT!{struct KNONVOLATILE_CONTEXT_POINTERS { - X19: PDWORD64, - X20: PDWORD64, - X21: PDWORD64, - X22: PDWORD64, - X23: PDWORD64, - X24: PDWORD64, - X25: PDWORD64, - X26: PDWORD64, - X27: PDWORD64, - X28: PDWORD64, - Fp: PDWORD64, - Lr: PDWORD64, - D8: PDWORD64, - D9: PDWORD64, - D10: PDWORD64, - D11: PDWORD64, - D12: PDWORD64, - D13: PDWORD64, - D14: PDWORD64, - D15: PDWORD64, -}} -pub type PKNONVOLATILE_CONTEXT_POINTERS = *mut KNONVOLATILE_CONTEXT_POINTERS; -} // IFDEF(aarch64) -pub const WOW64_CONTEXT_i386: DWORD = 0x00010000; -pub const WOW64_CONTEXT_i486: DWORD = 0x00010000; -pub const WOW64_CONTEXT_CONTROL: DWORD = WOW64_CONTEXT_i386 | 0x00000001; -pub const WOW64_CONTEXT_INTEGER: DWORD = WOW64_CONTEXT_i386 | 0x00000002; -pub const WOW64_CONTEXT_SEGMENTS: DWORD = WOW64_CONTEXT_i386 | 0x00000004; -pub const WOW64_CONTEXT_FLOATING_POINT: DWORD = WOW64_CONTEXT_i386 | 0x00000008; -pub const WOW64_CONTEXT_DEBUG_REGISTERS: DWORD = WOW64_CONTEXT_i386 | 0x00000010; -pub const WOW64_CONTEXT_EXTENDED_REGISTERS: DWORD = WOW64_CONTEXT_i386 | 0x00000020; -pub const WOW64_CONTEXT_FULL: DWORD = WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER - | WOW64_CONTEXT_SEGMENTS; -pub const WOW64_CONTEXT_ALL: DWORD = WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER - | WOW64_CONTEXT_SEGMENTS | WOW64_CONTEXT_FLOATING_POINT | WOW64_CONTEXT_DEBUG_REGISTERS - | WOW64_CONTEXT_EXTENDED_REGISTERS; -pub const WOW64_CONTEXT_XSTATE: DWORD = WOW64_CONTEXT_i386 | 0x00000040; -pub const WOW64_CONTEXT_EXCEPTION_ACTIVE: DWORD = 0x08000000; -pub const WOW64_CONTEXT_SERVICE_ACTIVE: DWORD = 0x10000000; -pub const WOW64_CONTEXT_EXCEPTION_REQUEST: DWORD = 0x40000000; -pub const WOW64_CONTEXT_EXCEPTION_REPORTING: DWORD = 0x80000000; -pub const WOW64_SIZE_OF_80387_REGISTERS: usize = 80; -pub const WOW64_MAXIMUM_SUPPORTED_EXTENSION: usize = 512; -STRUCT!{struct WOW64_FLOATING_SAVE_AREA { - ControlWord: DWORD, - StatusWord: DWORD, - TagWord: DWORD, - ErrorOffset: DWORD, - ErrorSelector: DWORD, - DataOffset: DWORD, - DataSelector: DWORD, - RegisterArea: [BYTE; WOW64_SIZE_OF_80387_REGISTERS], - Cr0NpxState: DWORD, -}} -pub type PWOW64_FLOATING_SAVE_AREA = *mut WOW64_FLOATING_SAVE_AREA; -STRUCT!{struct WOW64_CONTEXT { - ContextFlags: DWORD, - Dr0: DWORD, - Dr1: DWORD, - Dr2: DWORD, - Dr3: DWORD, - Dr6: DWORD, - Dr7: DWORD, - FloatSave: WOW64_FLOATING_SAVE_AREA, - SegGs: DWORD, - SegFs: DWORD, - SegEs: DWORD, - SegDs: DWORD, - Edi: DWORD, - Esi: DWORD, - Ebx: DWORD, - Edx: DWORD, - Ecx: DWORD, - Eax: DWORD, - Ebp: DWORD, - Eip: DWORD, - SegCs: DWORD, - EFlags: DWORD, - Esp: DWORD, - SegSs: DWORD, - ExtendedRegisters: [BYTE; WOW64_MAXIMUM_SUPPORTED_EXTENSION], -}} -pub type PWOW64_CONTEXT = *mut WOW64_CONTEXT; -STRUCT!{struct WOW64_LDT_ENTRY_Bytes { - BaseMid: BYTE, - Flags1: BYTE, - Flags2: BYTE, - BaseHi: BYTE, -}} -STRUCT!{struct WOW64_LDT_ENTRY_Bits { - BitFields: DWORD, -}} -BITFIELD!{WOW64_LDT_ENTRY_Bits BitFields: DWORD [ - BaseMid set_BaseMid[0..8], - Type set_Type[8..13], - Dpl set_Dpl[13..15], - Pres set_Pres[15..16], - LimitHi set_LimitHi[16..20], - Sys set_Sys[20..21], - Reserved_0 set_Reserved_0[21..22], - Default_Big set_Default_Big[22..23], - Granularity set_Granularity[23..24], - BaseHi set_BaseHi[24..32], -]} -UNION!{union WOW64_LDT_ENTRY_HighWord { - [u32; 1], - Bytes Bytes_mut: WOW64_LDT_ENTRY_Bytes, - Bits Bits_mut: WOW64_LDT_ENTRY_Bits, -}} -STRUCT!{struct WOW64_LDT_ENTRY { - LimitLow: WORD, - BaseLow: WORD, - HighWord: WOW64_LDT_ENTRY_HighWord, -}} -pub type PWOW64_LDT_ENTRY = *mut WOW64_LDT_ENTRY; -STRUCT!{struct WOW64_DESCRIPTOR_TABLE_ENTRY { - Selector: DWORD, - Descriptor: WOW64_LDT_ENTRY, -}} -pub type PWOW64_DESCRIPTOR_TABLE_ENTRY = *mut WOW64_DESCRIPTOR_TABLE_ENTRY; -pub const EXCEPTION_NONCONTINUABLE: DWORD = 0x1; -pub const EXCEPTION_UNWINDING: DWORD = 0x2; -pub const EXCEPTION_EXIT_UNWIND: DWORD = 0x4; -pub const EXCEPTION_STACK_INVALID: DWORD = 0x8; -pub const EXCEPTION_NESTED_CALL: DWORD = 0x10; -pub const EXCEPTION_TARGET_UNWIND: DWORD = 0x20; -pub const EXCEPTION_COLLIDED_UNWIND: DWORD = 0x40; -pub const EXCEPTION_UNWIND: DWORD = EXCEPTION_UNWINDING | EXCEPTION_EXIT_UNWIND - | EXCEPTION_TARGET_UNWIND | EXCEPTION_COLLIDED_UNWIND; -#[inline] -pub fn IS_UNWINDING(Flag: DWORD) -> bool { - (Flag & EXCEPTION_UNWIND) != 0 -} -#[inline] -pub fn IS_DISPATCHING(Flag: DWORD) -> bool { - (Flag & EXCEPTION_UNWIND) == 0 -} -#[inline] -pub fn IS_TARGET_UNWIND(Flag: DWORD) -> bool { - (Flag & EXCEPTION_TARGET_UNWIND) != 0 -} -pub const EXCEPTION_MAXIMUM_PARAMETERS: usize = 15; -STRUCT!{struct EXCEPTION_RECORD { - ExceptionCode: DWORD, - ExceptionFlags: DWORD, - ExceptionRecord: *mut EXCEPTION_RECORD, - ExceptionAddress: PVOID, - NumberParameters: DWORD, - ExceptionInformation: [ULONG_PTR; EXCEPTION_MAXIMUM_PARAMETERS], -}} -pub type PEXCEPTION_RECORD = *mut EXCEPTION_RECORD; -STRUCT!{struct EXCEPTION_RECORD32 { - ExceptionCode: DWORD, - ExceptionFlags: DWORD, - ExceptionRecord: DWORD, - ExceptionAddress: DWORD, - NumberParameters: DWORD, - ExceptionInformation: [DWORD; EXCEPTION_MAXIMUM_PARAMETERS], -}} -pub type PEXCEPTION_RECORD32 = *mut EXCEPTION_RECORD32; -STRUCT!{struct EXCEPTION_RECORD64 { - ExceptionCode: DWORD, - ExceptionFlags: DWORD, - ExceptionRecord: DWORD64, - ExceptionAddress: DWORD64, - NumberParameters: DWORD, - __unusedAlignment: DWORD, - ExceptionInformation: [DWORD64; EXCEPTION_MAXIMUM_PARAMETERS], -}} -pub type PEXCEPTION_RECORD64 = *mut EXCEPTION_RECORD64; -STRUCT!{struct EXCEPTION_POINTERS { - ExceptionRecord: PEXCEPTION_RECORD, - ContextRecord: PCONTEXT, -}} -pub type PEXCEPTION_POINTERS = *mut EXCEPTION_POINTERS; -pub type PACCESS_TOKEN = PVOID; -pub type PSECURITY_DESCRIPTOR = PVOID; -pub type PSID = PVOID; -pub type PCLAIMS_BLOB = PVOID; -pub type ACCESS_MASK = DWORD; -pub type PACCESS_MASK = *mut ACCESS_MASK; -pub const DELETE: DWORD = 0x00010000; -pub const READ_CONTROL: DWORD = 0x00020000; -pub const WRITE_DAC: DWORD = 0x00040000; -pub const WRITE_OWNER: DWORD = 0x00080000; -pub const SYNCHRONIZE: DWORD = 0x00100000; -pub const STANDARD_RIGHTS_REQUIRED: DWORD = 0x000F0000; -pub const STANDARD_RIGHTS_READ: DWORD = READ_CONTROL; -pub const STANDARD_RIGHTS_WRITE: DWORD = READ_CONTROL; -pub const STANDARD_RIGHTS_EXECUTE: DWORD = READ_CONTROL; -pub const STANDARD_RIGHTS_ALL: DWORD = 0x001F0000; -pub const SPECIFIC_RIGHTS_ALL: DWORD = 0x0000FFFF; -pub const ACCESS_SYSTEM_SECURITY: DWORD = 0x01000000; -pub const MAXIMUM_ALLOWED: DWORD = 0x02000000; -pub const GENERIC_READ: DWORD = 0x80000000; -pub const GENERIC_WRITE: DWORD = 0x40000000; -pub const GENERIC_EXECUTE: DWORD = 0x20000000; -pub const GENERIC_ALL: DWORD = 0x10000000; -STRUCT!{struct GENERIC_MAPPING { - GenericRead: ACCESS_MASK, - GenericWrite: ACCESS_MASK, - GenericExecute: ACCESS_MASK, - GenericAll: ACCESS_MASK, -}} -pub type PGENERIC_MAPPING = *mut GENERIC_MAPPING; -STRUCT!{struct LUID_AND_ATTRIBUTES { - Luid: LUID, - Attributes: DWORD, -}} -pub type PLUID_AND_ATTRIBUTES = *mut LUID_AND_ATTRIBUTES; -pub type LUID_AND_ATTRIBUTES_ARRAY = LUID_AND_ATTRIBUTES; -pub type PLUID_AND_ATTRIBUTES_ARRAY = *mut LUID_AND_ATTRIBUTES; -STRUCT!{struct SID_IDENTIFIER_AUTHORITY { - Value: [BYTE; 6], -}} -pub type PSID_IDENTIFIER_AUTHORITY = *mut SID_IDENTIFIER_AUTHORITY; -STRUCT!{struct SID { - Revision: BYTE, - SubAuthorityCount: BYTE, - IdentifierAuthority: SID_IDENTIFIER_AUTHORITY, - SubAuthority: [DWORD; 1], -}} -pub type PISID = *mut SID; -pub const SID_REVISION: BYTE = 1; -pub const SID_MAX_SUB_AUTHORITIES: BYTE = 15; -pub const SID_RECOMMENDED_SUB_AUTHORITIES: BYTE = 1; -pub const SECURITY_MAX_SID_SIZE: usize = 12 - 4 + (SID_MAX_SUB_AUTHORITIES as usize * 4); -pub const SECURITY_MAX_SID_STRING_CHARACTERS: BYTE = 2 + 4 + 15 + (11 * SID_MAX_SUB_AUTHORITIES) - + 1; -UNION!{union SE_SID { - [u32; 17], - Sid Sid_mut: SID, - Buffer Buffer_mut: [BYTE; SECURITY_MAX_SID_SIZE], -}} -pub type PSE_SID = *mut SE_SID; -ENUM!{enum SID_NAME_USE { - SidTypeUser = 1, - SidTypeGroup, - SidTypeDomain, - SidTypeAlias, - SidTypeWellKnownGroup, - SidTypeDeletedAccount, - SidTypeInvalid, - SidTypeUnknown, - SidTypeComputer, - SidTypeLabel, - SidTypeLogonSession, -}} -pub type PSID_NAME_USE = *mut SID_NAME_USE; -STRUCT!{struct SID_AND_ATTRIBUTES { - Sid: PSID, - Attributes: DWORD, -}} -pub type PSID_AND_ATTRIBUTES = *mut SID_AND_ATTRIBUTES; -pub type SID_AND_ATTRIBUTES_ARRAY = SID_AND_ATTRIBUTES; -pub type PSID_AND_ATTRIBUTES_ARRAY = *mut SID_AND_ATTRIBUTES; -pub const SID_HASH_SIZE: usize = 32; -pub type SID_HASH_ENTRY = ULONG_PTR; -pub type PSID_HASH_ENTRY = *mut ULONG_PTR; -STRUCT!{struct SID_AND_ATTRIBUTES_HASH { - SidCount: DWORD, - SidAttr: PSID_AND_ATTRIBUTES, - Hash: [SID_HASH_ENTRY; SID_HASH_SIZE], -}} -pub type PSID_AND_ATTRIBUTES_HASH = *mut SID_AND_ATTRIBUTES_HASH; -pub const SECURITY_NULL_SID_AUTHORITY: [BYTE; 6] = [0, 0, 0, 0, 0, 0]; -pub const SECURITY_WORLD_SID_AUTHORITY: [BYTE; 6] = [0, 0, 0, 0, 0, 1]; -pub const SECURITY_LOCAL_SID_AUTHORITY: [BYTE; 6] = [0, 0, 0, 0, 0, 2]; -pub const SECURITY_CREATOR_SID_AUTHORITY: [BYTE; 6] = [0, 0, 0, 0, 0, 3]; -pub const SECURITY_NON_UNIQUE_AUTHORITY: [BYTE; 6] = [0, 0, 0, 0, 0, 4]; -pub const SECURITY_RESOURCE_MANAGER_AUTHORITY: [BYTE; 6] = [0, 0, 0, 0, 0, 9]; -pub const SECURITY_NULL_RID: DWORD = 0x00000000; -pub const SECURITY_WORLD_RID: DWORD = 0x00000000; -pub const SECURITY_LOCAL_RID: DWORD = 0x00000000; -pub const SECURITY_LOCAL_LOGON_RID: DWORD = 0x00000001; -pub const SECURITY_CREATOR_OWNER_RID: DWORD = 0x00000000; -pub const SECURITY_CREATOR_GROUP_RID: DWORD = 0x00000001; -pub const SECURITY_CREATOR_OWNER_SERVER_RID: DWORD = 0x00000002; -pub const SECURITY_CREATOR_GROUP_SERVER_RID: DWORD = 0x00000003; -pub const SECURITY_CREATOR_OWNER_RIGHTS_RID: DWORD = 0x00000004; -pub const SECURITY_NT_AUTHORITY: [BYTE; 6] = [0, 0, 0, 0, 0, 5]; -pub const SECURITY_DIALUP_RID: DWORD = 0x00000001; -pub const SECURITY_NETWORK_RID: DWORD = 0x00000002; -pub const SECURITY_BATCH_RID: DWORD = 0x00000003; -pub const SECURITY_INTERACTIVE_RID: DWORD = 0x00000004; -pub const SECURITY_LOGON_IDS_RID: DWORD = 0x00000005; -pub const SECURITY_LOGON_IDS_RID_COUNT: DWORD = 3; -pub const SECURITY_SERVICE_RID: DWORD = 0x00000006; -pub const SECURITY_ANONYMOUS_LOGON_RID: DWORD = 0x00000007; -pub const SECURITY_PROXY_RID: DWORD = 0x00000008; -pub const SECURITY_ENTERPRISE_CONTROLLERS_RID: DWORD = 0x00000009; -pub const SECURITY_SERVER_LOGON_RID: DWORD = SECURITY_ENTERPRISE_CONTROLLERS_RID; -pub const SECURITY_PRINCIPAL_SELF_RID: DWORD = 0x0000000A; -pub const SECURITY_AUTHENTICATED_USER_RID: DWORD = 0x0000000B; -pub const SECURITY_RESTRICTED_CODE_RID: DWORD = 0x0000000C; -pub const SECURITY_TERMINAL_SERVER_RID: DWORD = 0x0000000D; -pub const SECURITY_REMOTE_LOGON_RID: DWORD = 0x0000000E; -pub const SECURITY_THIS_ORGANIZATION_RID: DWORD = 0x0000000F; -pub const SECURITY_IUSER_RID: DWORD = 0x00000011; -pub const SECURITY_LOCAL_SYSTEM_RID: DWORD = 0x00000012; -pub const SECURITY_LOCAL_SERVICE_RID: DWORD = 0x00000013; -pub const SECURITY_NETWORK_SERVICE_RID: DWORD = 0x00000014; -pub const SECURITY_NT_NON_UNIQUE: DWORD = 0x00000015; -pub const SECURITY_NT_NON_UNIQUE_SUB_AUTH_COUNT: DWORD = 3; -pub const SECURITY_ENTERPRISE_READONLY_CONTROLLERS_RID: DWORD = 0x00000016; -pub const SECURITY_BUILTIN_DOMAIN_RID: DWORD = 0x00000020; -pub const SECURITY_WRITE_RESTRICTED_CODE_RID: DWORD = 0x00000021; -pub const SECURITY_PACKAGE_BASE_RID: DWORD = 0x00000040; -pub const SECURITY_PACKAGE_RID_COUNT: DWORD = 2; -pub const SECURITY_PACKAGE_NTLM_RID: DWORD = 0x0000000A; -pub const SECURITY_PACKAGE_SCHANNEL_RID: DWORD = 0x0000000E; -pub const SECURITY_PACKAGE_DIGEST_RID: DWORD = 0x00000015; -pub const SECURITY_CRED_TYPE_BASE_RID: DWORD = 0x00000041; -pub const SECURITY_CRED_TYPE_RID_COUNT: DWORD = 2; -pub const SECURITY_CRED_TYPE_THIS_ORG_CERT_RID: DWORD = 0x00000001; -pub const SECURITY_MIN_BASE_RID: DWORD = 0x00000050; -pub const SECURITY_SERVICE_ID_BASE_RID: DWORD = 0x00000050; -pub const SECURITY_SERVICE_ID_RID_COUNT: DWORD = 6; -pub const SECURITY_RESERVED_ID_BASE_RID: DWORD = 0x00000051; -pub const SECURITY_APPPOOL_ID_BASE_RID: DWORD = 0x00000052; -pub const SECURITY_APPPOOL_ID_RID_COUNT: DWORD = 6; -pub const SECURITY_VIRTUALSERVER_ID_BASE_RID: DWORD = 0x00000053; -pub const SECURITY_VIRTUALSERVER_ID_RID_COUNT: DWORD = 6; -pub const SECURITY_USERMODEDRIVERHOST_ID_BASE_RID: DWORD = 0x00000054; -pub const SECURITY_USERMODEDRIVERHOST_ID_RID_COUNT: DWORD = 6; -pub const SECURITY_CLOUD_INFRASTRUCTURE_SERVICES_ID_BASE_RID: DWORD = 0x00000055; -pub const SECURITY_CLOUD_INFRASTRUCTURE_SERVICES_ID_RID_COUNT: DWORD = 6; -pub const SECURITY_WMIHOST_ID_BASE_RID: DWORD = 0x00000056; -pub const SECURITY_WMIHOST_ID_RID_COUNT: DWORD = 6; -pub const SECURITY_TASK_ID_BASE_RID: DWORD = 0x00000057; -pub const SECURITY_NFS_ID_BASE_RID: DWORD = 0x00000058; -pub const SECURITY_COM_ID_BASE_RID: DWORD = 0x00000059; -pub const SECURITY_WINDOW_MANAGER_BASE_RID: DWORD = 0x0000005A; -pub const SECURITY_RDV_GFX_BASE_RID: DWORD = 0x0000005B; -pub const SECURITY_DASHOST_ID_BASE_RID: DWORD = 0x0000005C; -pub const SECURITY_DASHOST_ID_RID_COUNT: DWORD = 6; -pub const SECURITY_USERMANAGER_ID_BASE_RID: DWORD = 0x0000005D; -pub const SECURITY_USERMANAGER_ID_RID_COUNT: DWORD = 6; -pub const SECURITY_WINRM_ID_BASE_RID: DWORD = 0x0000005E; -pub const SECURITY_WINRM_ID_RID_COUNT: DWORD = 6; -pub const SECURITY_CCG_ID_BASE_RID: DWORD = 0x0000005F; -pub const SECURITY_UMFD_BASE_RID: DWORD = 0x00000060; -pub const SECURITY_VIRTUALACCOUNT_ID_RID_COUNT: DWORD = 6; -pub const SECURITY_MAX_BASE_RID: DWORD = 0x0000006F; -pub const SECURITY_MAX_ALWAYS_FILTERED: DWORD = 0x000003E7; -pub const SECURITY_MIN_NEVER_FILTERED: DWORD = 0x000003E8; -pub const SECURITY_OTHER_ORGANIZATION_RID: DWORD = 0x000003E8; -pub const SECURITY_WINDOWSMOBILE_ID_BASE_RID: DWORD = 0x00000070; -pub const SECURITY_INSTALLER_GROUP_CAPABILITY_BASE: DWORD = 0x20; -pub const SECURITY_INSTALLER_GROUP_CAPABILITY_RID_COUNT: DWORD = 9; -pub const SECURITY_INSTALLER_CAPABILITY_RID_COUNT: DWORD = 10; -pub const SECURITY_LOCAL_ACCOUNT_RID: DWORD = 0x00000071; -pub const SECURITY_LOCAL_ACCOUNT_AND_ADMIN_RID: DWORD = 0x00000072; -pub const DOMAIN_GROUP_RID_AUTHORIZATION_DATA_IS_COMPOUNDED: DWORD = 0x000001F0; -pub const DOMAIN_GROUP_RID_AUTHORIZATION_DATA_CONTAINS_CLAIMS: DWORD = 0x000001F1; -pub const DOMAIN_GROUP_RID_ENTERPRISE_READONLY_DOMAIN_CONTROLLERS: DWORD = 0x000001F2; -pub const FOREST_USER_RID_MAX: DWORD = 0x000001F3; -pub const DOMAIN_USER_RID_ADMIN: DWORD = 0x000001F4; -pub const DOMAIN_USER_RID_GUEST: DWORD = 0x000001F5; -pub const DOMAIN_USER_RID_KRBTGT: DWORD = 0x000001F6; -pub const DOMAIN_USER_RID_DEFAULT_ACCOUNT: DWORD = 0x000001F7; -pub const DOMAIN_USER_RID_MAX: DWORD = 0x000003E7; -pub const DOMAIN_GROUP_RID_ADMINS: DWORD = 0x00000200; -pub const DOMAIN_GROUP_RID_USERS: DWORD = 0x00000201; -pub const DOMAIN_GROUP_RID_GUESTS: DWORD = 0x00000202; -pub const DOMAIN_GROUP_RID_COMPUTERS: DWORD = 0x00000203; -pub const DOMAIN_GROUP_RID_CONTROLLERS: DWORD = 0x00000204; -pub const DOMAIN_GROUP_RID_CERT_ADMINS: DWORD = 0x00000205; -pub const DOMAIN_GROUP_RID_SCHEMA_ADMINS: DWORD = 0x00000206; -pub const DOMAIN_GROUP_RID_ENTERPRISE_ADMINS: DWORD = 0x00000207; -pub const DOMAIN_GROUP_RID_POLICY_ADMINS: DWORD = 0x00000208; -pub const DOMAIN_GROUP_RID_READONLY_CONTROLLERS: DWORD = 0x00000209; -pub const DOMAIN_GROUP_RID_CLONEABLE_CONTROLLERS: DWORD = 0x0000020A; -pub const DOMAIN_GROUP_RID_CDC_RESERVED: DWORD = 0x0000020C; -pub const DOMAIN_GROUP_RID_PROTECTED_USERS: DWORD = 0x0000020D; -pub const DOMAIN_GROUP_RID_KEY_ADMINS: DWORD = 0x0000020E; -pub const DOMAIN_GROUP_RID_ENTERPRISE_KEY_ADMINS: DWORD = 0x0000020F; -pub const DOMAIN_ALIAS_RID_ADMINS: DWORD = 0x00000220; -pub const DOMAIN_ALIAS_RID_USERS: DWORD = 0x00000221; -pub const DOMAIN_ALIAS_RID_GUESTS: DWORD = 0x00000222; -pub const DOMAIN_ALIAS_RID_POWER_USERS: DWORD = 0x00000223; -pub const DOMAIN_ALIAS_RID_ACCOUNT_OPS: DWORD = 0x00000224; -pub const DOMAIN_ALIAS_RID_SYSTEM_OPS: DWORD = 0x00000225; -pub const DOMAIN_ALIAS_RID_PRINT_OPS: DWORD = 0x00000226; -pub const DOMAIN_ALIAS_RID_BACKUP_OPS: DWORD = 0x00000227; -pub const DOMAIN_ALIAS_RID_REPLICATOR: DWORD = 0x00000228; -pub const DOMAIN_ALIAS_RID_RAS_SERVERS: DWORD = 0x00000229; -pub const DOMAIN_ALIAS_RID_PREW2KCOMPACCESS: DWORD = 0x0000022A; -pub const DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS: DWORD = 0x0000022B; -pub const DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS: DWORD = 0x0000022C; -pub const DOMAIN_ALIAS_RID_INCOMING_FOREST_TRUST_BUILDERS: DWORD = 0x0000022D; -pub const DOMAIN_ALIAS_RID_MONITORING_USERS: DWORD = 0x0000022E; -pub const DOMAIN_ALIAS_RID_LOGGING_USERS: DWORD = 0x0000022F; -pub const DOMAIN_ALIAS_RID_AUTHORIZATIONACCESS: DWORD = 0x00000230; -pub const DOMAIN_ALIAS_RID_TS_LICENSE_SERVERS: DWORD = 0x00000231; -pub const DOMAIN_ALIAS_RID_DCOM_USERS: DWORD = 0x00000232; -pub const DOMAIN_ALIAS_RID_IUSERS: DWORD = 0x00000238; -pub const DOMAIN_ALIAS_RID_CRYPTO_OPERATORS: DWORD = 0x00000239; -pub const DOMAIN_ALIAS_RID_CACHEABLE_PRINCIPALS_GROUP: DWORD = 0x0000023B; -pub const DOMAIN_ALIAS_RID_NON_CACHEABLE_PRINCIPALS_GROUP: DWORD = 0x0000023C; -pub const DOMAIN_ALIAS_RID_EVENT_LOG_READERS_GROUP: DWORD = 0x0000023D; -pub const DOMAIN_ALIAS_RID_CERTSVC_DCOM_ACCESS_GROUP: DWORD = 0x0000023E; -pub const DOMAIN_ALIAS_RID_RDS_REMOTE_ACCESS_SERVERS: DWORD = 0x0000023F; -pub const DOMAIN_ALIAS_RID_RDS_ENDPOINT_SERVERS: DWORD = 0x00000240; -pub const DOMAIN_ALIAS_RID_RDS_MANAGEMENT_SERVERS: DWORD = 0x00000241; -pub const DOMAIN_ALIAS_RID_HYPER_V_ADMINS: DWORD = 0x00000242; -pub const DOMAIN_ALIAS_RID_ACCESS_CONTROL_ASSISTANCE_OPS: DWORD = 0x00000243; -pub const DOMAIN_ALIAS_RID_REMOTE_MANAGEMENT_USERS: DWORD = 0x00000244; -pub const DOMAIN_ALIAS_RID_DEFAULT_ACCOUNT: DWORD = 0x00000245; -pub const DOMAIN_ALIAS_RID_STORAGE_REPLICA_ADMINS: DWORD = 0x00000246; -pub const SECURITY_APP_PACKAGE_AUTHORITY: [BYTE; 6] = [0, 0, 0, 0, 0, 15]; -pub const SECURITY_APP_PACKAGE_BASE_RID: DWORD = 0x00000002; -pub const SECURITY_BUILTIN_APP_PACKAGE_RID_COUNT: DWORD = 2; -pub const SECURITY_APP_PACKAGE_RID_COUNT: DWORD = 8; -pub const SECURITY_CAPABILITY_BASE_RID: DWORD = 0x00000003; -pub const SECURITY_CAPABILITY_APP_RID: DWORD = 0x00000040; -pub const SECURITY_BUILTIN_CAPABILITY_RID_COUNT: DWORD = 2; -pub const SECURITY_CAPABILITY_RID_COUNT: DWORD = 5; -pub const SECURITY_PARENT_PACKAGE_RID_COUNT: DWORD = SECURITY_APP_PACKAGE_RID_COUNT; -pub const SECURITY_CHILD_PACKAGE_RID_COUNT: DWORD = 12; -pub const SECURITY_BUILTIN_PACKAGE_ANY_PACKAGE: DWORD = 0x00000001; -pub const SECURITY_BUILTIN_PACKAGE_ANY_RESTRICTED_PACKAGE: DWORD = 0x00000002; -pub const SECURITY_CAPABILITY_INTERNET_CLIENT: DWORD = 0x00000001; -pub const SECURITY_CAPABILITY_INTERNET_CLIENT_SERVER: DWORD = 0x00000002; -pub const SECURITY_CAPABILITY_PRIVATE_NETWORK_CLIENT_SERVER: DWORD = 0x00000003; -pub const SECURITY_CAPABILITY_PICTURES_LIBRARY: DWORD = 0x00000004; -pub const SECURITY_CAPABILITY_VIDEOS_LIBRARY: DWORD = 0x00000005; -pub const SECURITY_CAPABILITY_MUSIC_LIBRARY: DWORD = 0x00000006; -pub const SECURITY_CAPABILITY_DOCUMENTS_LIBRARY: DWORD = 0x00000007; -pub const SECURITY_CAPABILITY_ENTERPRISE_AUTHENTICATION: DWORD = 0x00000008; -pub const SECURITY_CAPABILITY_SHARED_USER_CERTIFICATES: DWORD = 0x00000009; -pub const SECURITY_CAPABILITY_REMOVABLE_STORAGE: DWORD = 0x0000000A; -pub const SECURITY_CAPABILITY_APPOINTMENTS: DWORD = 0x0000000B; -pub const SECURITY_CAPABILITY_CONTACTS: DWORD = 0x0000000C; -pub const SECURITY_CAPABILITY_INTERNET_EXPLORER: DWORD = 0x00001000; -pub const SECURITY_MANDATORY_LABEL_AUTHORITY: [BYTE; 6] = [0, 0, 0, 0, 0, 16]; -pub const SECURITY_MANDATORY_UNTRUSTED_RID: DWORD = 0x00000000; -pub const SECURITY_MANDATORY_LOW_RID: DWORD = 0x00001000; -pub const SECURITY_MANDATORY_MEDIUM_RID: DWORD = 0x00002000; -pub const SECURITY_MANDATORY_MEDIUM_PLUS_RID: DWORD = SECURITY_MANDATORY_MEDIUM_RID + 0x10; -pub const SECURITY_MANDATORY_HIGH_RID: DWORD = 0x00003000; -pub const SECURITY_MANDATORY_SYSTEM_RID: DWORD = 0x00004000; -pub const SECURITY_MANDATORY_MAXIMUM_USER_RID: DWORD = SECURITY_MANDATORY_SYSTEM_RID; -#[inline] -pub fn MANDATORY_LEVEL_TO_MANDATORY_RID(IL: DWORD) -> DWORD { - IL * 0x1000 -} -pub const SECURITY_SCOPED_POLICY_ID_AUTHORITY: [BYTE; 6] = [0, 0, 0, 0, 0, 17]; -pub const SECURITY_AUTHENTICATION_AUTHORITY: [BYTE; 6] = [0, 0, 0, 0, 0, 18]; -pub const SECURITY_AUTHENTICATION_AUTHORITY_RID_COUNT: DWORD = 1; -pub const SECURITY_AUTHENTICATION_AUTHORITY_ASSERTED_RID: DWORD = 0x00000001; -pub const SECURITY_AUTHENTICATION_SERVICE_ASSERTED_RID: DWORD = 0x00000002; -pub const SECURITY_AUTHENTICATION_FRESH_KEY_AUTH_RID: DWORD = 0x00000003; -pub const SECURITY_AUTHENTICATION_KEY_TRUST_RID: DWORD = 0x00000004; -pub const SECURITY_AUTHENTICATION_KEY_PROPERTY_MFA_RID: DWORD = 0x00000005; -pub const SECURITY_AUTHENTICATION_KEY_PROPERTY_ATTESTATION_RID: DWORD = 0x00000006; -pub const SECURITY_PROCESS_TRUST_AUTHORITY: [BYTE; 6] = [0, 0, 0, 0, 0, 19]; -pub const SECURITY_PROCESS_TRUST_AUTHORITY_RID_COUNT: DWORD = 2; -pub const SECURITY_PROCESS_PROTECTION_TYPE_FULL_RID: DWORD = 0x00000400; -pub const SECURITY_PROCESS_PROTECTION_TYPE_LITE_RID: DWORD = 0x00000200; -pub const SECURITY_PROCESS_PROTECTION_TYPE_NONE_RID: DWORD = 0x00000000; -pub const SECURITY_PROCESS_PROTECTION_LEVEL_WINTCB_RID: DWORD = 0x00002000; -pub const SECURITY_PROCESS_PROTECTION_LEVEL_WINDOWS_RID: DWORD = 0x00001000; -pub const SECURITY_PROCESS_PROTECTION_LEVEL_APP_RID: DWORD = 0x00000800; -pub const SECURITY_PROCESS_PROTECTION_LEVEL_NONE_RID: DWORD = 0x00000000; -pub const SECURITY_TRUSTED_INSTALLER_RID1: DWORD = 95600888; -pub const SECURITY_TRUSTED_INSTALLER_RID2: DWORD = 341852264; -pub const SECURITY_TRUSTED_INSTALLER_RID3: DWORD = 183103804; -pub const SECURITY_TRUSTED_INSTALLER_RID4: DWORD = 185329263; -pub const SECURITY_TRUSTED_INSTALLER_RID5: DWORD = 227147846; -ENUM!{enum WELL_KNOWN_SID_TYPE { - WinNullSid = 0, - WinWorldSid = 1, - WinLocalSid = 2, - WinCreatorOwnerSid = 3, - WinCreatorGroupSid = 4, - WinCreatorOwnerServerSid = 5, - WinCreatorGroupServerSid = 6, - WinNtAuthoritySid = 7, - WinDialupSid = 8, - WinNetworkSid = 9, - WinBatchSid = 10, - WinInteractiveSid = 11, - WinServiceSid = 12, - WinAnonymousSid = 13, - WinProxySid = 14, - WinEnterpriseControllersSid = 15, - WinSelfSid = 16, - WinAuthenticatedUserSid = 17, - WinRestrictedCodeSid = 18, - WinTerminalServerSid = 19, - WinRemoteLogonIdSid = 20, - WinLogonIdsSid = 21, - WinLocalSystemSid = 22, - WinLocalServiceSid = 23, - WinNetworkServiceSid = 24, - WinBuiltinDomainSid = 25, - WinBuiltinAdministratorsSid = 26, - WinBuiltinUsersSid = 27, - WinBuiltinGuestsSid = 28, - WinBuiltinPowerUsersSid = 29, - WinBuiltinAccountOperatorsSid = 30, - WinBuiltinSystemOperatorsSid = 31, - WinBuiltinPrintOperatorsSid = 32, - WinBuiltinBackupOperatorsSid = 33, - WinBuiltinReplicatorSid = 34, - WinBuiltinPreWindows2000CompatibleAccessSid = 35, - WinBuiltinRemoteDesktopUsersSid = 36, - WinBuiltinNetworkConfigurationOperatorsSid = 37, - WinAccountAdministratorSid = 38, - WinAccountGuestSid = 39, - WinAccountKrbtgtSid = 40, - WinAccountDomainAdminsSid = 41, - WinAccountDomainUsersSid = 42, - WinAccountDomainGuestsSid = 43, - WinAccountComputersSid = 44, - WinAccountControllersSid = 45, - WinAccountCertAdminsSid = 46, - WinAccountSchemaAdminsSid = 47, - WinAccountEnterpriseAdminsSid = 48, - WinAccountPolicyAdminsSid = 49, - WinAccountRasAndIasServersSid = 50, - WinNTLMAuthenticationSid = 51, - WinDigestAuthenticationSid = 52, - WinSChannelAuthenticationSid = 53, - WinThisOrganizationSid = 54, - WinOtherOrganizationSid = 55, - WinBuiltinIncomingForestTrustBuildersSid = 56, - WinBuiltinPerfMonitoringUsersSid = 57, - WinBuiltinPerfLoggingUsersSid = 58, - WinBuiltinAuthorizationAccessSid = 59, - WinBuiltinTerminalServerLicenseServersSid = 60, - WinBuiltinDCOMUsersSid = 61, - WinBuiltinIUsersSid = 62, - WinIUserSid = 63, - WinBuiltinCryptoOperatorsSid = 64, - WinUntrustedLabelSid = 65, - WinLowLabelSid = 66, - WinMediumLabelSid = 67, - WinHighLabelSid = 68, - WinSystemLabelSid = 69, - WinWriteRestrictedCodeSid = 70, - WinCreatorOwnerRightsSid = 71, - WinCacheablePrincipalsGroupSid = 72, - WinNonCacheablePrincipalsGroupSid = 73, - WinEnterpriseReadonlyControllersSid = 74, - WinAccountReadonlyControllersSid = 75, - WinBuiltinEventLogReadersGroup = 76, - WinNewEnterpriseReadonlyControllersSid = 77, - WinBuiltinCertSvcDComAccessGroup = 78, - WinMediumPlusLabelSid = 79, - WinLocalLogonSid = 80, - WinConsoleLogonSid = 81, - WinThisOrganizationCertificateSid = 82, - WinApplicationPackageAuthoritySid = 83, - WinBuiltinAnyPackageSid = 84, - WinCapabilityInternetClientSid = 85, - WinCapabilityInternetClientServerSid = 86, - WinCapabilityPrivateNetworkClientServerSid = 87, - WinCapabilityPicturesLibrarySid = 88, - WinCapabilityVideosLibrarySid = 89, - WinCapabilityMusicLibrarySid = 90, - WinCapabilityDocumentsLibrarySid = 91, - WinCapabilitySharedUserCertificatesSid = 92, - WinCapabilityEnterpriseAuthenticationSid = 93, - WinCapabilityRemovableStorageSid = 94, - WinBuiltinRDSRemoteAccessServersSid = 95, - WinBuiltinRDSEndpointServersSid = 96, - WinBuiltinRDSManagementServersSid = 97, - WinUserModeDriversSid = 98, - WinBuiltinHyperVAdminsSid = 99, - WinAccountCloneableControllersSid = 100, - WinBuiltinAccessControlAssistanceOperatorsSid = 101, - WinBuiltinRemoteManagementUsersSid = 102, - WinAuthenticationAuthorityAssertedSid = 103, - WinAuthenticationServiceAssertedSid = 104, - WinLocalAccountSid = 105, - WinLocalAccountAndAdministratorSid = 106, - WinAccountProtectedUsersSid = 107, - WinCapabilityAppointmentsSid = 108, - WinCapabilityContactsSid = 109, - WinAccountDefaultSystemManagedSid = 110, - WinBuiltinDefaultSystemManagedGroupSid = 111, - WinBuiltinStorageReplicaAdminsSid = 112, - WinAccountKeyAdminsSid = 113, - WinAccountEnterpriseKeyAdminsSid = 114, - WinAuthenticationKeyTrustSid = 115, - WinAuthenticationKeyPropertyMFASid = 116, - WinAuthenticationKeyPropertyAttestationSid = 117, - WinAuthenticationFreshKeyAuthSid = 118, -}} -pub const SYSTEM_LUID: LUID = LUID { LowPart: 0x3e7, HighPart: 0x0 }; -pub const ANONYMOUS_LOGON_LUID: LUID = LUID { LowPart: 0x3e6, HighPart: 0x0 }; -pub const LOCALSERVICE_LUID: LUID = LUID { LowPart: 0x3e5, HighPart: 0x0 }; -pub const NETWORKSERVICE_LUID: LUID = LUID { LowPart: 0x3e4, HighPart: 0x0 }; -pub const IUSER_LUID: LUID = LUID { LowPart: 0x3e3, HighPart: 0x0 }; -pub const SE_GROUP_MANDATORY: DWORD = 0x00000001; -pub const SE_GROUP_ENABLED_BY_DEFAULT: DWORD = 0x00000002; -pub const SE_GROUP_ENABLED: DWORD = 0x00000004; -pub const SE_GROUP_OWNER: DWORD = 0x00000008; -pub const SE_GROUP_USE_FOR_DENY_ONLY: DWORD = 0x00000010; -pub const SE_GROUP_INTEGRITY: DWORD = 0x00000020; -pub const SE_GROUP_INTEGRITY_ENABLED: DWORD = 0x00000040; -pub const SE_GROUP_LOGON_ID: DWORD = 0xC0000000; -pub const SE_GROUP_RESOURCE: DWORD = 0x20000000; -pub const SE_GROUP_VALID_ATTRIBUTES: DWORD = SE_GROUP_MANDATORY | SE_GROUP_ENABLED_BY_DEFAULT - | SE_GROUP_ENABLED | SE_GROUP_OWNER | SE_GROUP_USE_FOR_DENY_ONLY | SE_GROUP_LOGON_ID - | SE_GROUP_RESOURCE | SE_GROUP_INTEGRITY | SE_GROUP_INTEGRITY_ENABLED; -pub const ACL_REVISION: BYTE = 2; -pub const ACL_REVISION_DS: BYTE = 4; -pub const ACL_REVISION1: BYTE = 1; -pub const MIN_ACL_REVISION: BYTE = ACL_REVISION2; -pub const ACL_REVISION2: BYTE = 2; -pub const ACL_REVISION3: BYTE = 3; -pub const ACL_REVISION4: BYTE = 4; -pub const MAX_ACL_REVISION: BYTE = ACL_REVISION4; -STRUCT!{struct ACL { - AclRevision: BYTE, - Sbz1: BYTE, - AclSize: WORD, - AceCount: WORD, - Sbz2: WORD, -}} -pub type PACL = *mut ACL; -STRUCT!{struct ACE_HEADER { - AceType: BYTE, - AceFlags: BYTE, - AceSize: WORD, -}} -pub type PACE_HEADER = *mut ACE_HEADER; -pub const ACCESS_MIN_MS_ACE_TYPE: BYTE = 0x0; -pub const ACCESS_ALLOWED_ACE_TYPE: BYTE = 0x0; -pub const ACCESS_DENIED_ACE_TYPE: BYTE = 0x1; -pub const SYSTEM_AUDIT_ACE_TYPE: BYTE = 0x2; -pub const SYSTEM_ALARM_ACE_TYPE: BYTE = 0x3; -pub const ACCESS_MAX_MS_V2_ACE_TYPE: BYTE = 0x3; -pub const ACCESS_ALLOWED_COMPOUND_ACE_TYPE: BYTE = 0x4; -pub const ACCESS_MAX_MS_V3_ACE_TYPE: BYTE = 0x4; -pub const ACCESS_MIN_MS_OBJECT_ACE_TYPE: BYTE = 0x5; -pub const ACCESS_ALLOWED_OBJECT_ACE_TYPE: BYTE = 0x5; -pub const ACCESS_DENIED_OBJECT_ACE_TYPE: BYTE = 0x6; -pub const SYSTEM_AUDIT_OBJECT_ACE_TYPE: BYTE = 0x7; -pub const SYSTEM_ALARM_OBJECT_ACE_TYPE: BYTE = 0x8; -pub const ACCESS_MAX_MS_OBJECT_ACE_TYPE: BYTE = 0x8; -pub const ACCESS_MAX_MS_V4_ACE_TYPE: BYTE = 0x8; -pub const ACCESS_MAX_MS_ACE_TYPE: BYTE = 0x8; -pub const ACCESS_ALLOWED_CALLBACK_ACE_TYPE: BYTE = 0x9; -pub const ACCESS_DENIED_CALLBACK_ACE_TYPE: BYTE = 0xA; -pub const ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE: BYTE = 0xB; -pub const ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE: BYTE = 0xC; -pub const SYSTEM_AUDIT_CALLBACK_ACE_TYPE: BYTE = 0xD; -pub const SYSTEM_ALARM_CALLBACK_ACE_TYPE: BYTE = 0xE; -pub const SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE: BYTE = 0xF; -pub const SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE: BYTE = 0x10; -pub const SYSTEM_MANDATORY_LABEL_ACE_TYPE: BYTE = 0x11; -pub const SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE: BYTE = 0x12; -pub const SYSTEM_SCOPED_POLICY_ID_ACE_TYPE: BYTE = 0x13; -pub const SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE: BYTE = 0x14; -pub const SYSTEM_ACCESS_FILTER_ACE_TYPE: BYTE = 0x15; -pub const ACCESS_MAX_MS_V5_ACE_TYPE: BYTE = 0x15; -pub const OBJECT_INHERIT_ACE: BYTE = 0x1; -pub const CONTAINER_INHERIT_ACE: BYTE = 0x2; -pub const NO_PROPAGATE_INHERIT_ACE: BYTE = 0x4; -pub const INHERIT_ONLY_ACE: BYTE = 0x8; -pub const INHERITED_ACE: BYTE = 0x10; -pub const VALID_INHERIT_FLAGS: BYTE = 0x1F; -pub const SUCCESSFUL_ACCESS_ACE_FLAG: BYTE = 0x40; -pub const FAILED_ACCESS_ACE_FLAG: BYTE = 0x80; -pub const TRUST_PROTECTED_FILTER_ACE_FLAG: BYTE = 0x40; -STRUCT!{struct ACCESS_ALLOWED_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - SidStart: DWORD, -}} -pub type PACCESS_ALLOWED_ACE = *mut ACCESS_ALLOWED_ACE; -STRUCT!{struct ACCESS_DENIED_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - SidStart: DWORD, -}} -pub type PACCESS_DENIED_ACE = *mut ACCESS_DENIED_ACE; -STRUCT!{struct SYSTEM_AUDIT_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - SidStart: DWORD, -}} -pub type PSYSTEM_AUDIT_ACE = *mut SYSTEM_AUDIT_ACE; -STRUCT!{struct SYSTEM_ALARM_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - SidStart: DWORD, -}} -pub type PSYSTEM_ALARM_ACE = *mut SYSTEM_ALARM_ACE; -STRUCT!{struct SYSTEM_RESOURCE_ATTRIBUTE_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - SidStart: DWORD, -}} -pub type PSYSTEM_RESOURCE_ATTRIBUTE_ACE = *mut SYSTEM_RESOURCE_ATTRIBUTE_ACE; -STRUCT!{struct SYSTEM_SCOPED_POLICY_ID_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - SidStart: DWORD, -}} -pub type PSYSTEM_SCOPED_POLICY_ID_ACE = *mut SYSTEM_SCOPED_POLICY_ID_ACE; -STRUCT!{struct SYSTEM_MANDATORY_LABEL_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - SidStart: DWORD, -}} -pub type PSYSTEM_MANDATORY_LABEL_ACE = *mut SYSTEM_MANDATORY_LABEL_ACE; -STRUCT!{struct SYSTEM_PROCESS_TRUST_LABEL_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - SidStart: DWORD, -}} -pub type PSYSTEM_PROCESS_TRUST_LABEL_ACE = *mut SYSTEM_PROCESS_TRUST_LABEL_ACE; -STRUCT!{struct SYSTEM_ACCESS_FILTER_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - SidStart: DWORD, -}} -pub type PSYSTEM_ACCESS_FILTER_ACE = *mut SYSTEM_ACCESS_FILTER_ACE; -pub const SYSTEM_MANDATORY_LABEL_NO_WRITE_UP: ACCESS_MASK = 0x1; -pub const SYSTEM_MANDATORY_LABEL_NO_READ_UP: ACCESS_MASK = 0x2; -pub const SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP: ACCESS_MASK = 0x4; -pub const SYSTEM_MANDATORY_LABEL_VALID_MASK: ACCESS_MASK = SYSTEM_MANDATORY_LABEL_NO_WRITE_UP - | SYSTEM_MANDATORY_LABEL_NO_READ_UP | SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP; -pub const SYSTEM_PROCESS_TRUST_LABEL_VALID_MASK: ACCESS_MASK = 0x00ffffff; -pub const SYSTEM_PROCESS_TRUST_NOCONSTRAINT_MASK: ACCESS_MASK = 0xffffffff; -pub const SYSTEM_ACCESS_FILTER_VALID_MASK: ACCESS_MASK = 0x00ffffff; -pub const SYSTEM_ACCESS_FILTER_NOCONSTRAINT_MASK: ACCESS_MASK = 0xffffffff; -STRUCT!{struct ACCESS_ALLOWED_OBJECT_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - Flags: DWORD, - ObjectType: GUID, - InheritedObjectType: GUID, - SidStart: DWORD, -}} -pub type PACCESS_ALLOWED_OBJECT_ACE = *mut ACCESS_ALLOWED_OBJECT_ACE; -STRUCT!{struct ACCESS_DENIED_OBJECT_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - Flags: DWORD, - ObjectType: GUID, - InheritedObjectType: GUID, - SidStart: DWORD, -}} -pub type PACCESS_DENIED_OBJECT_ACE = *mut ACCESS_DENIED_OBJECT_ACE; -STRUCT!{struct SYSTEM_AUDIT_OBJECT_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - Flags: DWORD, - ObjectType: GUID, - InheritedObjectType: GUID, - SidStart: DWORD, -}} -pub type PSYSTEM_AUDIT_OBJECT_ACE = *mut SYSTEM_AUDIT_OBJECT_ACE; -STRUCT!{struct SYSTEM_ALARM_OBJECT_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - Flags: DWORD, - ObjectType: GUID, - InheritedObjectType: GUID, - SidStart: DWORD, -}} -pub type PSYSTEM_ALARM_OBJECT_ACE = *mut SYSTEM_ALARM_OBJECT_ACE; -STRUCT!{struct ACCESS_ALLOWED_CALLBACK_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - SidStart: DWORD, -}} -pub type PACCESS_ALLOWED_CALLBACK_ACE = *mut ACCESS_ALLOWED_CALLBACK_ACE; -STRUCT!{struct ACCESS_DENIED_CALLBACK_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - SidStart: DWORD, -}} -pub type PACCESS_DENIED_CALLBACK_ACE = *mut ACCESS_DENIED_CALLBACK_ACE; -STRUCT!{struct SYSTEM_AUDIT_CALLBACK_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - SidStart: DWORD, -}} -pub type PSYSTEM_AUDIT_CALLBACK_ACE = *mut SYSTEM_AUDIT_CALLBACK_ACE; -STRUCT!{struct SYSTEM_ALARM_CALLBACK_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - SidStart: DWORD, -}} -pub type PSYSTEM_ALARM_CALLBACK_ACE = *mut SYSTEM_ALARM_CALLBACK_ACE; -STRUCT!{struct ACCESS_ALLOWED_CALLBACK_OBJECT_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - Flags: DWORD, - ObjectType: GUID, - InheritedObjectType: GUID, - SidStart: DWORD, -}} -pub type PACCESS_ALLOWED_CALLBACK_OBJECT_ACE = *mut ACCESS_ALLOWED_CALLBACK_OBJECT_ACE; -STRUCT!{struct ACCESS_DENIED_CALLBACK_OBJECT_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - Flags: DWORD, - ObjectType: GUID, - InheritedObjectType: GUID, - SidStart: DWORD, -}} -pub type PACCESS_DENIED_CALLBACK_OBJECT_ACE = *mut ACCESS_DENIED_CALLBACK_OBJECT_ACE; -STRUCT!{struct SYSTEM_AUDIT_CALLBACK_OBJECT_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - Flags: DWORD, - ObjectType: GUID, - InheritedObjectType: GUID, - SidStart: DWORD, -}} -pub type PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE = *mut SYSTEM_AUDIT_CALLBACK_OBJECT_ACE; -STRUCT!{struct SYSTEM_ALARM_CALLBACK_OBJECT_ACE { - Header: ACE_HEADER, - Mask: ACCESS_MASK, - Flags: DWORD, - ObjectType: GUID, - InheritedObjectType: GUID, - SidStart: DWORD, -}} -pub type PSYSTEM_ALARM_CALLBACK_OBJECT_ACE = *mut SYSTEM_ALARM_CALLBACK_OBJECT_ACE; -pub const ACE_OBJECT_TYPE_PRESENT: DWORD = 0x1; -pub const ACE_INHERITED_OBJECT_TYPE_PRESENT: DWORD = 0x2; -ENUM!{enum ACL_INFORMATION_CLASS { - AclRevisionInformation = 1, - AclSizeInformation, -}} -STRUCT!{struct ACL_REVISION_INFORMATION { - AclRevision: DWORD, -}} -pub type PACL_REVISION_INFORMATION = *mut ACL_REVISION_INFORMATION; -STRUCT!{struct ACL_SIZE_INFORMATION { - AceCount: DWORD, - AclBytesInUse: DWORD, - AclBytesFree: DWORD, -}} -pub type PACL_SIZE_INFORMATION = *mut ACL_SIZE_INFORMATION; -pub const SECURITY_DESCRIPTOR_REVISION: DWORD = 1; -pub const SECURITY_DESCRIPTOR_REVISION1: DWORD = 1; -#[cfg(target_pointer_width = "64")] -pub const SECURITY_DESCRIPTOR_MIN_LENGTH: usize = 40; -#[cfg(target_arch = "x86")] -pub const SECURITY_DESCRIPTOR_MIN_LENGTH: usize = 20; -pub type SECURITY_DESCRIPTOR_CONTROL = WORD; -pub type PSECURITY_DESCRIPTOR_CONTROL = *mut WORD; -pub const SE_OWNER_DEFAULTED: SECURITY_DESCRIPTOR_CONTROL = 0x0001; -pub const SE_GROUP_DEFAULTED: SECURITY_DESCRIPTOR_CONTROL = 0x0002; -pub const SE_DACL_PRESENT: SECURITY_DESCRIPTOR_CONTROL = 0x0004; -pub const SE_DACL_DEFAULTED: SECURITY_DESCRIPTOR_CONTROL = 0x0008; -pub const SE_SACL_PRESENT: SECURITY_DESCRIPTOR_CONTROL = 0x0010; -pub const SE_SACL_DEFAULTED: SECURITY_DESCRIPTOR_CONTROL = 0x0020; -pub const SE_DACL_AUTO_INHERIT_REQ: SECURITY_DESCRIPTOR_CONTROL = 0x0100; -pub const SE_SACL_AUTO_INHERIT_REQ: SECURITY_DESCRIPTOR_CONTROL = 0x0200; -pub const SE_DACL_AUTO_INHERITED: SECURITY_DESCRIPTOR_CONTROL = 0x0400; -pub const SE_SACL_AUTO_INHERITED: SECURITY_DESCRIPTOR_CONTROL = 0x0800; -pub const SE_DACL_PROTECTED: SECURITY_DESCRIPTOR_CONTROL = 0x1000; -pub const SE_SACL_PROTECTED: SECURITY_DESCRIPTOR_CONTROL = 0x2000; -pub const SE_RM_CONTROL_VALID: SECURITY_DESCRIPTOR_CONTROL = 0x4000; -pub const SE_SELF_RELATIVE: SECURITY_DESCRIPTOR_CONTROL = 0x8000; -STRUCT!{struct SECURITY_DESCRIPTOR_RELATIVE { - Revision: BYTE, - Sbz1: BYTE, - Control: SECURITY_DESCRIPTOR_CONTROL, - Owner: DWORD, - Group: DWORD, - Sacl: DWORD, - Dacl: DWORD, -}} -pub type PISECURITY_DESCRIPTOR_RELATIVE = *mut SECURITY_DESCRIPTOR_RELATIVE; -STRUCT!{struct SECURITY_DESCRIPTOR { - Revision: BYTE, - Sbz1: BYTE, - Control: SECURITY_DESCRIPTOR_CONTROL, - Owner: PSID, - Group: PSID, - Sacl: PACL, - Dacl: PACL, -}} -pub type PISECURITY_DESCRIPTOR = *mut SECURITY_DESCRIPTOR; -STRUCT!{struct SECURITY_OBJECT_AI_PARAMS { - Size: DWORD, - ConstraintMask: DWORD, -}} -pub type PSECURITY_OBJECT_AI_PARAMS = *mut SECURITY_OBJECT_AI_PARAMS; -STRUCT!{struct OBJECT_TYPE_LIST { - Level: WORD, - Sbz: WORD, - ObjectType: *mut GUID, -}} -pub type POBJECT_TYPE_LIST = *mut OBJECT_TYPE_LIST; -pub const ACCESS_OBJECT_GUID: WORD = 0; -pub const ACCESS_PROPERTY_SET_GUID: WORD = 1; -pub const ACCESS_PROPERTY_GUID: WORD = 2; -pub const ACCESS_MAX_LEVEL: WORD = 4; -ENUM!{enum AUDIT_EVENT_TYPE { - AuditEventObjectAccess, - AuditEventDirectoryServiceAccess, -}} -pub const AUDIT_ALLOW_NO_PRIVILEGE: DWORD = 0x1; -pub const ACCESS_DS_SOURCE: &'static str = "DS"; -pub const ACCESS_DS_OBJECT_TYPE_NAME: &'static str = "Directory Service Object"; -pub const SE_PRIVILEGE_ENABLED_BY_DEFAULT: DWORD = 0x00000001; -pub const SE_PRIVILEGE_ENABLED: DWORD = 0x00000002; -pub const SE_PRIVILEGE_REMOVED: DWORD = 0x00000004; -pub const SE_PRIVILEGE_USED_FOR_ACCESS: DWORD = 0x80000000; -pub const SE_PRIVILEGE_VALID_ATTRIBUTES: DWORD = SE_PRIVILEGE_ENABLED_BY_DEFAULT - | SE_PRIVILEGE_ENABLED | SE_PRIVILEGE_REMOVED | SE_PRIVILEGE_USED_FOR_ACCESS; -pub const PRIVILEGE_SET_ALL_NECESSARY: DWORD = 1; -STRUCT!{struct PRIVILEGE_SET { - PrivilegeCount: DWORD, - Control: DWORD, - Privilege: [LUID_AND_ATTRIBUTES; ANYSIZE_ARRAY], -}} -pub type PPRIVILEGE_SET = *mut PRIVILEGE_SET; -pub const ACCESS_REASON_TYPE_MASK: ACCESS_REASON = 0x00ff0000; -pub const ACCESS_REASON_DATA_MASK: ACCESS_REASON = 0x0000ffff; -pub const ACCESS_REASON_STAGING_MASK: ACCESS_REASON = 0x80000000; -pub const ACCESS_REASON_EXDATA_MASK: ACCESS_REASON = 0x7f000000; -ENUM!{enum ACCESS_REASON_TYPE { - AccessReasonNone = 0x00000000, - AccessReasonAllowedAce = 0x00010000, - AccessReasonDeniedAce = 0x00020000, - AccessReasonAllowedParentAce = 0x00030000, - AccessReasonDeniedParentAce = 0x00040000, - AccessReasonNotGrantedByCape = 0x00050000, - AccessReasonNotGrantedByParentCape = 0x00060000, - AccessReasonNotGrantedToAppContainer = 0x00070000, - AccessReasonMissingPrivilege = 0x00100000, - AccessReasonFromPrivilege = 0x00200000, - AccessReasonIntegrityLevel = 0x00300000, - AccessReasonOwnership = 0x00400000, - AccessReasonNullDacl = 0x00500000, - AccessReasonEmptyDacl = 0x00600000, - AccessReasonNoSD = 0x00700000, - AccessReasonNoGrant = 0x00800000, - AccessReasonTrustLabel = 0x00900000, - AccessReasonFilterAce = 0x00a00000, -}} -pub type ACCESS_REASON = DWORD; -STRUCT!{struct ACCESS_REASONS { - Data: [ACCESS_REASON; 32], -}} -pub type PACCESS_REASONS = *mut ACCESS_REASONS; -pub const SE_SECURITY_DESCRIPTOR_FLAG_NO_OWNER_ACE: DWORD = 0x00000001; -pub const SE_SECURITY_DESCRIPTOR_FLAG_NO_LABEL_ACE: DWORD = 0x00000002; -pub const SE_SECURITY_DESCRIPTOR_FLAG_NO_ACCESS_FILTER_ACE: DWORD = 0x00000004; -pub const SE_SECURITY_DESCRIPTOR_VALID_FLAGS: DWORD = 0x00000007; -STRUCT!{struct SE_SECURITY_DESCRIPTOR { - Size: DWORD, - Flags: DWORD, - SecurityDescriptor: PSECURITY_DESCRIPTOR, -}} -pub type PSE_SECURITY_DESCRIPTOR = *mut SE_SECURITY_DESCRIPTOR; -STRUCT!{struct SE_ACCESS_REQUEST { - Size: DWORD, - SeSecurityDescriptor: PSE_SECURITY_DESCRIPTOR, - DesiredAccess: ACCESS_MASK, - PreviouslyGrantedAccess: ACCESS_MASK, - PrincipalSelfSid: PSID, - GenericMapping: PGENERIC_MAPPING, - ObjectTypeListCount: DWORD, - ObjectTypeList: POBJECT_TYPE_LIST, -}} -pub type PSE_ACCESS_REQUEST = *mut SE_ACCESS_REQUEST; -STRUCT!{struct SE_ACCESS_REPLY { - Size: DWORD, - ResultListCount: DWORD, - GrantedAccess: PACCESS_MASK, - AccessStatus: PDWORD, - AccessReason: PACCESS_REASONS, - Privileges: *mut PPRIVILEGE_SET, -}} -pub type PSE_ACCESS_REPLY = *mut SE_ACCESS_REPLY; -pub const SE_CREATE_TOKEN_NAME: &'static str = "SeCreateTokenPrivilege"; -pub const SE_ASSIGNPRIMARYTOKEN_NAME: &'static str = "SeAssignPrimaryTokenPrivilege"; -pub const SE_LOCK_MEMORY_NAME: &'static str = "SeLockMemoryPrivilege"; -pub const SE_INCREASE_QUOTA_NAME: &'static str = "SeIncreaseQuotaPrivilege"; -pub const SE_UNSOLICITED_INPUT_NAME: &'static str = "SeUnsolicitedInputPrivilege"; -pub const SE_MACHINE_ACCOUNT_NAME: &'static str = "SeMachineAccountPrivilege"; -pub const SE_TCB_NAME: &'static str = "SeTcbPrivilege"; -pub const SE_SECURITY_NAME: &'static str = "SeSecurityPrivilege"; -pub const SE_TAKE_OWNERSHIP_NAME: &'static str = "SeTakeOwnershipPrivilege"; -pub const SE_LOAD_DRIVER_NAME: &'static str = "SeLoadDriverPrivilege"; -pub const SE_SYSTEM_PROFILE_NAME: &'static str = "SeSystemProfilePrivilege"; -pub const SE_SYSTEMTIME_NAME: &'static str = "SeSystemtimePrivilege"; -pub const SE_PROF_SINGLE_PROCESS_NAME: &'static str = "SeProfileSingleProcessPrivilege"; -pub const SE_INC_BASE_PRIORITY_NAME: &'static str = "SeIncreaseBasePriorityPrivilege"; -pub const SE_CREATE_PAGEFILE_NAME: &'static str = "SeCreatePagefilePrivilege"; -pub const SE_CREATE_PERMANENT_NAME: &'static str = "SeCreatePermanentPrivilege"; -pub const SE_BACKUP_NAME: &'static str = "SeBackupPrivilege"; -pub const SE_RESTORE_NAME: &'static str = "SeRestorePrivilege"; -pub const SE_SHUTDOWN_NAME: &'static str = "SeShutdownPrivilege"; -pub const SE_DEBUG_NAME: &'static str = "SeDebugPrivilege"; -pub const SE_AUDIT_NAME: &'static str = "SeAuditPrivilege"; -pub const SE_SYSTEM_ENVIRONMENT_NAME: &'static str = "SeSystemEnvironmentPrivilege"; -pub const SE_CHANGE_NOTIFY_NAME: &'static str = "SeChangeNotifyPrivilege"; -pub const SE_REMOTE_SHUTDOWN_NAME: &'static str = "SeRemoteShutdownPrivilege"; -pub const SE_UNDOCK_NAME: &'static str = "SeUndockPrivilege"; -pub const SE_SYNC_AGENT_NAME: &'static str = "SeSyncAgentPrivilege"; -pub const SE_ENABLE_DELEGATION_NAME: &'static str = "SeEnableDelegationPrivilege"; -pub const SE_MANAGE_VOLUME_NAME: &'static str = "SeManageVolumePrivilege"; -pub const SE_IMPERSONATE_NAME: &'static str = "SeImpersonatePrivilege"; -pub const SE_CREATE_GLOBAL_NAME: &'static str = "SeCreateGlobalPrivilege"; -pub const SE_TRUSTED_CREDMAN_ACCESS_NAME: &'static str = "SeTrustedCredManAccessPrivilege"; -pub const SE_RELABEL_NAME: &'static str = "SeRelabelPrivilege"; -pub const SE_INC_WORKING_SET_NAME: &'static str = "SeIncreaseWorkingSetPrivilege"; -pub const SE_TIME_ZONE_NAME: &'static str = "SeTimeZonePrivilege"; -pub const SE_CREATE_SYMBOLIC_LINK_NAME: &'static str = "SeCreateSymbolicLinkPrivilege"; -pub const SE_DELEGATE_SESSION_USER_IMPERSONATE_NAME: &'static str - = "SeDelegateSessionUserImpersonatePrivilege"; -pub const SE_ACTIVATE_AS_USER_CAPABILITY: &'static str = "activateAsUser"; -pub const SE_CONSTRAINED_IMPERSONATION_CAPABILITY: &'static str = "constrainedImpersonation"; -pub const SE_SESSION_IMPERSONATION_CAPABILITY: &'static str = "sessionImpersonation"; -pub const SE_MUMA_CAPABILITY: &'static str = "muma"; -pub const SE_DEVELOPMENT_MODE_NETWORK_CAPABILITY: &'static str = "developmentModeNetwork"; -ENUM!{enum SECURITY_IMPERSONATION_LEVEL { - SecurityAnonymous, - SecurityIdentification, - SecurityImpersonation, - SecurityDelegation, -}} -pub type PSECURITY_IMPERSONATION_LEVEL = *mut SECURITY_IMPERSONATION_LEVEL; -pub const SECURITY_MAX_IMPERSONATION_LEVEL: SECURITY_IMPERSONATION_LEVEL = SecurityDelegation; -pub const SECURITY_MIN_IMPERSONATION_LEVEL: SECURITY_IMPERSONATION_LEVEL = SecurityAnonymous; -pub const DEFAULT_IMPERSONATION_LEVEL: SECURITY_IMPERSONATION_LEVEL = SecurityImpersonation; -#[inline] -pub fn VALID_IMPERSONATION_LEVEL(L: SECURITY_IMPERSONATION_LEVEL) -> bool { - (L >= SECURITY_MIN_IMPERSONATION_LEVEL) && (L <= SECURITY_MAX_IMPERSONATION_LEVEL) -} -pub const TOKEN_ASSIGN_PRIMARY: DWORD = 0x0001; -pub const TOKEN_DUPLICATE: DWORD = 0x0002; -pub const TOKEN_IMPERSONATE: DWORD = 0x0004; -pub const TOKEN_QUERY: DWORD = 0x0008; -pub const TOKEN_QUERY_SOURCE: DWORD = 0x0010; -pub const TOKEN_ADJUST_PRIVILEGES: DWORD = 0x0020; -pub const TOKEN_ADJUST_GROUPS: DWORD = 0x0040; -pub const TOKEN_ADJUST_DEFAULT: DWORD = 0x0080; -pub const TOKEN_ADJUST_SESSIONID: DWORD = 0x0100; -pub const TOKEN_ALL_ACCESS_P: DWORD = STANDARD_RIGHTS_REQUIRED | TOKEN_ASSIGN_PRIMARY - | TOKEN_DUPLICATE | TOKEN_IMPERSONATE | TOKEN_QUERY | TOKEN_QUERY_SOURCE - | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT; -pub const TOKEN_ALL_ACCESS: DWORD = TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID; -pub const TOKEN_READ: DWORD = STANDARD_RIGHTS_READ | TOKEN_QUERY; -pub const TOKEN_WRITE: DWORD = STANDARD_RIGHTS_WRITE | TOKEN_ADJUST_PRIVILEGES - | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT; -pub const TOKEN_EXECUTE: DWORD = STANDARD_RIGHTS_EXECUTE; -pub const TOKEN_TRUST_CONSTRAINT_MASK: DWORD = STANDARD_RIGHTS_READ | TOKEN_QUERY - | TOKEN_QUERY_SOURCE; -pub const TOKEN_ACCESS_PSEUDO_HANDLE_WIN8: DWORD = TOKEN_QUERY | TOKEN_QUERY_SOURCE; -pub const TOKEN_ACCESS_PSEUDO_HANDLE: DWORD = TOKEN_ACCESS_PSEUDO_HANDLE_WIN8; -ENUM!{enum TOKEN_TYPE { - TokenPrimary = 1, - TokenImpersonation, -}} -pub type PTOKEN_TYPE = *mut TOKEN_TYPE; -ENUM!{enum TOKEN_ELEVATION_TYPE { - TokenElevationTypeDefault = 1, - TokenElevationTypeFull, - TokenElevationTypeLimited, -}} -pub type PTOKEN_ELEVATION_TYPE = *mut TOKEN_ELEVATION_TYPE; -ENUM!{enum TOKEN_INFORMATION_CLASS { - TokenUser = 1, - TokenGroups, - TokenPrivileges, - TokenOwner, - TokenPrimaryGroup, - TokenDefaultDacl, - TokenSource, - TokenType, - TokenImpersonationLevel, - TokenStatistics, - TokenRestrictedSids, - TokenSessionId, - TokenGroupsAndPrivileges, - TokenSessionReference, - TokenSandBoxInert, - TokenAuditPolicy, - TokenOrigin, - TokenElevationType, - TokenLinkedToken, - TokenElevation, - TokenHasRestrictions, - TokenAccessInformation, - TokenVirtualizationAllowed, - TokenVirtualizationEnabled, - TokenIntegrityLevel, - TokenUIAccess, - TokenMandatoryPolicy, - TokenLogonSid, - TokenIsAppContainer, - TokenCapabilities, - TokenAppContainerSid, - TokenAppContainerNumber, - TokenUserClaimAttributes, - TokenDeviceClaimAttributes, - TokenRestrictedUserClaimAttributes, - TokenRestrictedDeviceClaimAttributes, - TokenDeviceGroups, - TokenRestrictedDeviceGroups, - TokenSecurityAttributes, - TokenIsRestricted, - TokenProcessTrustLevel, - TokenPrivateNameSpace, - TokenSingletonAttributes, - TokenBnoIsolation, - MaxTokenInfoClass, -}} -pub type PTOKEN_INFORMATION_CLASS = *mut TOKEN_INFORMATION_CLASS; -STRUCT!{struct TOKEN_USER { - User: SID_AND_ATTRIBUTES, -}} -pub type PTOKEN_USER = *mut TOKEN_USER; -UNION!{union SE_TOKEN_USER_u1 { - [usize; 2], - TokenUser TokenUser_mut: TOKEN_USER, - User User_mut: SID_AND_ATTRIBUTES, -}} -UNION!{union SE_TOKEN_USER_u2 { - [u32; 17], - Sid Sid_mut: SID, - Buffer Buffer_mut: [BYTE; SECURITY_MAX_SID_SIZE], -}} -STRUCT!{struct SE_TOKEN_USER { - u1: SE_TOKEN_USER_u1, - u2: SE_TOKEN_USER_u2, -}} -pub type PSE_TOKEN_USER = *mut SE_TOKEN_USER; -STRUCT!{struct TOKEN_GROUPS { - GroupCount: DWORD, - Groups: [SID_AND_ATTRIBUTES; ANYSIZE_ARRAY], -}} -pub type PTOKEN_GROUPS = *mut TOKEN_GROUPS; -STRUCT!{struct TOKEN_PRIVILEGES { - PrivilegeCount: DWORD, - Privileges: [LUID_AND_ATTRIBUTES; ANYSIZE_ARRAY], -}} -pub type PTOKEN_PRIVILEGES = *mut TOKEN_PRIVILEGES; -STRUCT!{struct TOKEN_OWNER { - Owner: PSID, -}} -pub type PTOKEN_OWNER = *mut TOKEN_OWNER; -STRUCT!{struct TOKEN_PRIMARY_GROUP { - PrimaryGroup: PSID, -}} -pub type PTOKEN_PRIMARY_GROUP = *mut TOKEN_PRIMARY_GROUP; -STRUCT!{struct TOKEN_DEFAULT_DACL { - DefaultDacl: PACL, -}} -pub type PTOKEN_DEFAULT_DACL = *mut TOKEN_DEFAULT_DACL; -STRUCT!{struct TOKEN_USER_CLAIMS { - UserClaims: PCLAIMS_BLOB, -}} -pub type PTOKEN_USER_CLAIMS = *mut TOKEN_USER_CLAIMS; -STRUCT!{struct TOKEN_DEVICE_CLAIMS { - DeviceClaims: PCLAIMS_BLOB, -}} -pub type PTOKEN_DEVICE_CLAIMS = *mut TOKEN_DEVICE_CLAIMS; -STRUCT!{struct TOKEN_GROUPS_AND_PRIVILEGES { - SidCount: DWORD, - SidLength: DWORD, - Sids: PSID_AND_ATTRIBUTES, - RestrictedSidCount: DWORD, - RestrictedSidLength: DWORD, - RestrictedSids: PSID_AND_ATTRIBUTES, - PrivilegeCount: DWORD, - PrivilegeLength: DWORD, - Privileges: PLUID_AND_ATTRIBUTES, - AuthenticationId: LUID, -}} -pub type PTOKEN_GROUPS_AND_PRIVILEGES = *mut TOKEN_GROUPS_AND_PRIVILEGES; -STRUCT!{struct TOKEN_LINKED_TOKEN { - LinkedToken: HANDLE, -}} -pub type PTOKEN_LINKED_TOKEN = *mut TOKEN_LINKED_TOKEN; -STRUCT!{struct TOKEN_ELEVATION { - TokenIsElevated: DWORD, -}} -pub type PTOKEN_ELEVATION = *mut TOKEN_ELEVATION; -STRUCT!{struct TOKEN_MANDATORY_LABEL { - Label: SID_AND_ATTRIBUTES, -}} -pub type PTOKEN_MANDATORY_LABEL = *mut TOKEN_MANDATORY_LABEL; -pub const TOKEN_MANDATORY_POLICY_OFF: DWORD = 0x0; -pub const TOKEN_MANDATORY_POLICY_NO_WRITE_UP: DWORD = 0x1; -pub const TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN: DWORD = 0x2; -pub const TOKEN_MANDATORY_POLICY_VALID_MASK: DWORD = TOKEN_MANDATORY_POLICY_NO_WRITE_UP - | TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN; -STRUCT!{struct TOKEN_MANDATORY_POLICY { - Policy: DWORD, -}} -pub type PTOKEN_MANDATORY_POLICY = *mut TOKEN_MANDATORY_POLICY; -pub type PSECURITY_ATTRIBUTES_OPAQUE = PVOID; -STRUCT!{struct TOKEN_ACCESS_INFORMATION { - SidHash: PSID_AND_ATTRIBUTES_HASH, - RestrictedSidHash: PSID_AND_ATTRIBUTES_HASH, - Privileges: PTOKEN_PRIVILEGES, - AuthenticationId: LUID, - TokenType: TOKEN_TYPE, - ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, - MandatoryPolicy: TOKEN_MANDATORY_POLICY, - Flags: DWORD, - AppContainerNumber: DWORD, - PackageSid: PSID, - CapabilitiesHash: PSID_AND_ATTRIBUTES_HASH, - TrustLevelSid: PSID, - SecurityAttributes: PSECURITY_ATTRIBUTES_OPAQUE, -}} -pub type PTOKEN_ACCESS_INFORMATION = *mut TOKEN_ACCESS_INFORMATION; -pub const POLICY_AUDIT_SUBCATEGORY_COUNT: usize = 59; -STRUCT!{struct TOKEN_AUDIT_POLICY { - PerUserPolicy: [BYTE; (POLICY_AUDIT_SUBCATEGORY_COUNT >> 1) + 1], -}} -pub type PTOKEN_AUDIT_POLICY = *mut TOKEN_AUDIT_POLICY; -pub const TOKEN_SOURCE_LENGTH: usize = 8; -STRUCT!{struct TOKEN_SOURCE { - SourceName: [CHAR; TOKEN_SOURCE_LENGTH], - SourceIdentifier: LUID, -}} -pub type PTOKEN_SOURCE = *mut TOKEN_SOURCE; -STRUCT!{struct TOKEN_STATISTICS { - TokenId: LUID, - AuthenticationId: LUID, - ExpirationTime: LARGE_INTEGER, - TokenType: TOKEN_TYPE, - ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, - DynamicCharged: DWORD, - DynamicAvailable: DWORD, - GroupCount: DWORD, - PrivilegeCount: DWORD, - ModifiedId: LUID, -}} -pub type PTOKEN_STATISTICS = *mut TOKEN_STATISTICS; -STRUCT!{struct TOKEN_CONTROL { - TokenId: LUID, - AuthenticationId: LUID, - ModifiedId: LUID, - TokenSource: TOKEN_SOURCE, -}} -pub type PTOKEN_CONTROL = *mut TOKEN_CONTROL; -STRUCT!{struct TOKEN_ORIGIN { - OriginatingLogonSession: LUID, -}} -pub type PTOKEN_ORIGIN = *mut TOKEN_ORIGIN; -ENUM!{enum MANDATORY_LEVEL { - MandatoryLevelUntrusted = 0, - MandatoryLevelLow, - MandatoryLevelMedium, - MandatoryLevelHigh, - MandatoryLevelSystem, - MandatoryLevelSecureProcess, - MandatoryLevelCount, -}} -pub type PMANDATORY_LEVEL = *mut MANDATORY_LEVEL; -STRUCT!{struct TOKEN_APPCONTAINER_INFORMATION { - TokenAppContainer: PSID, -}} -pub type PTOKEN_APPCONTAINER_INFORMATION = *mut TOKEN_APPCONTAINER_INFORMATION; -STRUCT!{struct TOKEN_SID_INFORMATION { - Sid: PSID, -}} -pub type PTOKEN_SID_INFORMATION = *mut TOKEN_SID_INFORMATION; -STRUCT!{struct TOKEN_BNO_ISOLATION_INFORMATION { - IsolationPrefix: PWSTR, - IsolationEnabled: BOOLEAN, -}} -pub type PTOKEN_BNO_ISOLATION_INFORMATION = *mut TOKEN_BNO_ISOLATION_INFORMATION; -pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_INVALID: WORD = 0x00; -pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_INT64: WORD = 0x01; -pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_UINT64: WORD = 0x02; -pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_STRING: WORD = 0x03; -STRUCT!{struct CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE { - Version: DWORD64, - Name: PWSTR, -}} -pub type PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE = *mut CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE; -pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_FQBN: WORD = 0x04; -pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_SID: WORD = 0x05; -pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_BOOLEAN: WORD = 0x06; -STRUCT!{struct CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE { - pValue: PVOID, - ValueLength: DWORD, -}} -pub type PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE = - *mut CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE; -pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_OCTET_STRING: WORD = 0x10; -pub const CLAIM_SECURITY_ATTRIBUTE_NON_INHERITABLE: DWORD = 0x0001; -pub const CLAIM_SECURITY_ATTRIBUTE_VALUE_CASE_SENSITIVE: DWORD = 0x0002; -pub const CLAIM_SECURITY_ATTRIBUTE_USE_FOR_DENY_ONLY: DWORD = 0x0004; -pub const CLAIM_SECURITY_ATTRIBUTE_DISABLED_BY_DEFAULT: DWORD = 0x0008; -pub const CLAIM_SECURITY_ATTRIBUTE_DISABLED: DWORD = 0x0010; -pub const CLAIM_SECURITY_ATTRIBUTE_MANDATORY: DWORD = 0x0020; -pub const CLAIM_SECURITY_ATTRIBUTE_VALID_FLAGS: DWORD = CLAIM_SECURITY_ATTRIBUTE_NON_INHERITABLE - | CLAIM_SECURITY_ATTRIBUTE_VALUE_CASE_SENSITIVE | CLAIM_SECURITY_ATTRIBUTE_USE_FOR_DENY_ONLY - | CLAIM_SECURITY_ATTRIBUTE_DISABLED_BY_DEFAULT | CLAIM_SECURITY_ATTRIBUTE_DISABLED - | CLAIM_SECURITY_ATTRIBUTE_MANDATORY; -pub const CLAIM_SECURITY_ATTRIBUTE_CUSTOM_FLAGS: DWORD = 0xFFFF0000; -UNION!{union CLAIM_SECURITY_ATTRIBUTE_V1_Values { - [usize; 1], - pInt64 pInt64_mut: PLONG64, - pUint64 pUint64_mut: PDWORD64, - ppString ppString_mut: PWSTR, - pFqbn pFqbn_mut: PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE, - pOctetString pOctetString_mut: PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE, -}} -STRUCT!{struct CLAIM_SECURITY_ATTRIBUTE_V1 { - Name: PWSTR, - ValueType: WORD, - Reserved: WORD, - Flags: DWORD, - ValueCount: DWORD, - Values: CLAIM_SECURITY_ATTRIBUTE_V1_Values, -}} -pub type PCLAIM_SECURITY_ATTRIBUTE_V1 = *mut CLAIM_SECURITY_ATTRIBUTE_V1; -UNION!{union CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_Values { - [u32; 1], - pInt64 pInt64_mut: [DWORD; ANYSIZE_ARRAY], - pUint64 pUint64_mut: [DWORD; ANYSIZE_ARRAY], - ppString ppString_mut: [DWORD; ANYSIZE_ARRAY], - pFqbn pFqbn_mut: [DWORD; ANYSIZE_ARRAY], - pOctetString pOctetString_mut: [DWORD; ANYSIZE_ARRAY], -}} -STRUCT!{struct CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 { - Name: DWORD, - ValueType: WORD, - Reserved: WORD, - Flags: DWORD, - ValueCount: DWORD, - Values: CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_Values, -}} -pub type PCLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 = *mut CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1; -pub const CLAIM_SECURITY_ATTRIBUTES_INFORMATION_VERSION_V1: WORD = 1; -pub const CLAIM_SECURITY_ATTRIBUTES_INFORMATION_VERSION: WORD = - CLAIM_SECURITY_ATTRIBUTES_INFORMATION_VERSION_V1; -UNION!{union CLAIM_SECURITY_ATTRIBUTES_INFORMATION_Attribute { - [usize; 1], - pAttributeV1 pAttributeV1_mut: PCLAIM_SECURITY_ATTRIBUTE_V1, -}} -STRUCT!{struct CLAIM_SECURITY_ATTRIBUTES_INFORMATION { - Version: WORD, - Reserved: WORD, - AttributeCount: DWORD, - Attribute: CLAIM_SECURITY_ATTRIBUTES_INFORMATION_Attribute, -}} -pub type PCLAIM_SECURITY_ATTRIBUTES_INFORMATION = *mut CLAIM_SECURITY_ATTRIBUTES_INFORMATION; -pub const SECURITY_DYNAMIC_TRACKING: BOOLEAN = TRUE as u8; -pub const SECURITY_STATIC_TRACKING: BOOLEAN = FALSE as u8; -pub type SECURITY_CONTEXT_TRACKING_MODE = BOOLEAN; -pub type PSECURITY_CONTEXT_TRACKING_MODE = *mut BOOLEAN; -STRUCT!{struct SECURITY_QUALITY_OF_SERVICE { - Length: DWORD, - ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, - ContextTrackingMode: SECURITY_CONTEXT_TRACKING_MODE, - EffectiveOnly: BOOLEAN, -}} -pub type PSECURITY_QUALITY_OF_SERVICE = *mut SECURITY_QUALITY_OF_SERVICE; -STRUCT!{struct SE_IMPERSONATION_STATE { - Token: PACCESS_TOKEN, - CopyOnOpen: BOOLEAN, - EffectiveOnly: BOOLEAN, - Level: SECURITY_IMPERSONATION_LEVEL, -}} -pub type PSE_IMPERSONATION_STATE = *mut SE_IMPERSONATION_STATE; -pub const DISABLE_MAX_PRIVILEGE: DWORD = 0x1; -pub const SANDBOX_INERT: DWORD = 0x2; -pub const LUA_TOKEN: DWORD = 0x4; -pub const WRITE_RESTRICTED: DWORD = 0x8; -pub type SECURITY_INFORMATION = DWORD; -pub type PSECURITY_INFORMATION = *mut DWORD; -pub const OWNER_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x00000001; -pub const GROUP_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x00000002; -pub const DACL_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x00000004; -pub const SACL_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x00000008; -pub const LABEL_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x00000010; -pub const ATTRIBUTE_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x00000020; -pub const SCOPE_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x00000040; -pub const PROCESS_TRUST_LABEL_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x00000080; -pub const ACCESS_FILTER_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x00000100; -pub const BACKUP_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x00010000; -pub const PROTECTED_DACL_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x80000000; -pub const PROTECTED_SACL_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x40000000; -pub const UNPROTECTED_DACL_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x20000000; -pub const UNPROTECTED_SACL_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x10000000; -pub type SE_SIGNING_LEVEL = BYTE; -pub type PSE_SIGNING_LEVEL = *mut BYTE; -pub const SE_SIGNING_LEVEL_UNCHECKED: BYTE = 0x00000000; -pub const SE_SIGNING_LEVEL_UNSIGNED: BYTE = 0x00000001; -pub const SE_SIGNING_LEVEL_ENTERPRISE: BYTE = 0x00000002; -pub const SE_SIGNING_LEVEL_CUSTOM_1: BYTE = 0x00000003; -pub const SE_SIGNING_LEVEL_AUTHENTICODE: BYTE = 0x00000004; -pub const SE_SIGNING_LEVEL_CUSTOM_2: BYTE = 0x00000005; -pub const SE_SIGNING_LEVEL_STORE: BYTE = 0x00000006; -pub const SE_SIGNING_LEVEL_CUSTOM_3: BYTE = 0x00000007; -pub const SE_SIGNING_LEVEL_ANTIMALWARE: BYTE = SE_SIGNING_LEVEL_CUSTOM_3; -pub const SE_SIGNING_LEVEL_MICROSOFT: BYTE = 0x00000008; -pub const SE_SIGNING_LEVEL_CUSTOM_4: BYTE = 0x00000009; -pub const SE_SIGNING_LEVEL_CUSTOM_5: BYTE = 0x0000000A; -pub const SE_SIGNING_LEVEL_DYNAMIC_CODEGEN: BYTE = 0x0000000B; -pub const SE_SIGNING_LEVEL_WINDOWS: BYTE = 0x0000000C; -pub const SE_SIGNING_LEVEL_CUSTOM_7: BYTE = 0x0000000D; -pub const SE_SIGNING_LEVEL_WINDOWS_TCB: BYTE = 0x0000000E; -pub const SE_SIGNING_LEVEL_CUSTOM_6: BYTE = 0x0000000F; -ENUM!{enum SE_IMAGE_SIGNATURE_TYPE { - SeImageSignatureNone = 0, - SeImageSignatureEmbedded, - SeImageSignatureCache, - SeImageSignatureCatalogCached, - SeImageSignatureCatalogNotCached, - SeImageSignatureCatalogHint, - SeImageSignaturePackageCatalog, -}} -pub type PSE_IMAGE_SIGNATURE_TYPE = *mut SE_IMAGE_SIGNATURE_TYPE; -ENUM!{enum SE_LEARNING_MODE_DATA_TYPE { - SeLearningModeInvalidType = 0, - SeLearningModeSettings, - SeLearningModeMax, -}} -STRUCT!{struct SECURITY_CAPABILITIES { - AppContainerSid: PSID, - Capabilities: PSID_AND_ATTRIBUTES, - CapabilityCount: DWORD, - Reserved: DWORD, -}} -pub type PSECURITY_CAPABILITIES = *mut SECURITY_CAPABILITIES; -pub type LPSECURITY_CAPABILITIES = *mut SECURITY_CAPABILITIES; -pub const PROCESS_TERMINATE: DWORD = 0x0001; -pub const PROCESS_CREATE_THREAD: DWORD = 0x0002; -pub const PROCESS_SET_SESSIONID: DWORD = 0x0004; -pub const PROCESS_VM_OPERATION: DWORD = 0x0008; -pub const PROCESS_VM_READ: DWORD = 0x0010; -pub const PROCESS_VM_WRITE: DWORD = 0x0020; -pub const PROCESS_DUP_HANDLE: DWORD = 0x0040; -pub const PROCESS_CREATE_PROCESS: DWORD = 0x0080; -pub const PROCESS_SET_QUOTA: DWORD = 0x0100; -pub const PROCESS_SET_INFORMATION: DWORD = 0x0200; -pub const PROCESS_QUERY_INFORMATION: DWORD = 0x0400; -pub const PROCESS_SUSPEND_RESUME: DWORD = 0x0800; -pub const PROCESS_QUERY_LIMITED_INFORMATION: DWORD = 0x1000; -pub const PROCESS_SET_LIMITED_INFORMATION: DWORD = 0x2000; -pub const PROCESS_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFFF; -pub const THREAD_TERMINATE: DWORD = 0x0001; -pub const THREAD_SUSPEND_RESUME: DWORD = 0x0002; -pub const THREAD_GET_CONTEXT: DWORD = 0x0008; -pub const THREAD_SET_CONTEXT: DWORD = 0x0010; -pub const THREAD_QUERY_INFORMATION: DWORD = 0x0040; -pub const THREAD_SET_INFORMATION: DWORD = 0x0020; -pub const THREAD_SET_THREAD_TOKEN: DWORD = 0x0080; -pub const THREAD_IMPERSONATE: DWORD = 0x0100; -pub const THREAD_DIRECT_IMPERSONATION: DWORD = 0x0200; -pub const THREAD_SET_LIMITED_INFORMATION: DWORD = 0x0400; -pub const THREAD_QUERY_LIMITED_INFORMATION: DWORD = 0x0800; -pub const THREAD_RESUME: DWORD = 0x1000; -pub const THREAD_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFFF; -pub const JOB_OBJECT_ASSIGN_PROCESS: DWORD = 0x0001; -pub const JOB_OBJECT_SET_ATTRIBUTES: DWORD = 0x0002; -pub const JOB_OBJECT_QUERY: DWORD = 0x0004; -pub const JOB_OBJECT_TERMINATE: DWORD = 0x0008; -pub const JOB_OBJECT_SET_SECURITY_ATTRIBUTES: DWORD = 0x0010; -pub const JOB_OBJECT_IMPERSONATE: DWORD = 0x0020; -pub const JOB_OBJECT_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3F; -STRUCT!{struct JOB_SET_ARRAY { - JobHandle: HANDLE, - MemberLevel: DWORD, - Flags: DWORD, -}} -pub type PJOB_SET_ARRAY = *mut JOB_SET_ARRAY; -pub const FLS_MAXIMUM_AVAILABLE: DWORD = 128; -pub const TLS_MINIMUM_AVAILABLE: DWORD = 64; -STRUCT!{struct EXCEPTION_REGISTRATION_RECORD { - Next: *mut EXCEPTION_REGISTRATION_RECORD, - Handler: PEXCEPTION_ROUTINE, -}} -pub type PEXCEPTION_REGISTRATION_RECORD = *mut EXCEPTION_REGISTRATION_RECORD; -UNION!{union NT_TIB_u { - [usize; 1], - FiberData FiberData_mut: PVOID, - Version Version_mut: DWORD, -}} -STRUCT!{struct NT_TIB { - ExceptionList: *mut EXCEPTION_REGISTRATION_RECORD, - StackBase: PVOID, - StackLimit: PVOID, - SubSystemTib: PVOID, - u: NT_TIB_u, - ArbitraryUserPointer: PVOID, - _Self: *mut NT_TIB, -}} -pub type PNT_TIB = *mut NT_TIB; -UNION!{union NT_TIB32_u { - [u32; 1], - FiberData FiberData_mut: DWORD, - Version Version_mut: DWORD, -}} -STRUCT!{struct NT_TIB32 { - ExceptionList: DWORD, - StackBase: DWORD, - StackLimit: DWORD, - SubSystemTib: DWORD, - u: NT_TIB32_u, - ArbitraryUserPointer: DWORD, - Self_: DWORD, -}} -pub type PNT_TIB32 = *mut NT_TIB32; -UNION!{union NT_TIB64_u { - [u64; 1], - FiberData FiberData_mut: DWORD64, - Version Version_mut: DWORD, -}} -STRUCT!{struct NT_TIB64 { - ExceptionList: DWORD64, - StackBase: DWORD64, - StackLimit: DWORD64, - SubSystemTib: DWORD64, - u: NT_TIB64_u, - ArbitraryUserPointer: DWORD64, - _Self: DWORD64, -}} -pub type PNT_TIB64 = *mut NT_TIB64; -pub const THREAD_DYNAMIC_CODE_ALLOW: DWORD = 1; -pub const THREAD_BASE_PRIORITY_LOWRT: DWORD = 15; -pub const THREAD_BASE_PRIORITY_MAX: DWORD = 2; -pub const THREAD_BASE_PRIORITY_MIN: DWORD = -2i32 as u32; -pub const THREAD_BASE_PRIORITY_IDLE: DWORD = -15i32 as u32; -STRUCT!{struct UMS_CREATE_THREAD_ATTRIBUTES { - UmsVersion: DWORD, - UmsContext: PVOID, - UmsCompletionList: PVOID, -}} -pub type PUMS_CREATE_THREAD_ATTRIBUTES = *mut UMS_CREATE_THREAD_ATTRIBUTES; -STRUCT!{struct WOW64_ARCHITECTURE_INFORMATION { - BitFields: DWORD, -}} -pub type PWOW64_ARCHITECTURE_INFORMATION = *mut WOW64_ARCHITECTURE_INFORMATION; -BITFIELD!{WOW64_ARCHITECTURE_INFORMATION BitFields: DWORD [ - Machine set_Machine[0..16], - KernelMode set_KernelMode[16..17], - UserMode set_UserMode[17..18], - Native set_Native[18..19], - Process set_Process[19..20], - ReservedZero0 set_ReservedZero0[20..32], -]} -pub const MEMORY_PRIORITY_LOWEST: ULONG = 0; -pub const MEMORY_PRIORITY_VERY_LOW: ULONG = 1; -pub const MEMORY_PRIORITY_LOW: ULONG = 2; -pub const MEMORY_PRIORITY_MEDIUM: ULONG = 3; -pub const MEMORY_PRIORITY_BELOW_NORMAL: ULONG = 4; -pub const MEMORY_PRIORITY_NORMAL: ULONG = 5; -STRUCT!{struct QUOTA_LIMITS { - PagedPoolLimit: SIZE_T, - NonPagedPoolLimit: SIZE_T, - MinimumWorkingSetSize: SIZE_T, - MaximumWorkingSetSize: SIZE_T, - PagefileLimit: SIZE_T, - TimeLimit: LARGE_INTEGER, -}} -pub type PQUOTA_LIMITS = *mut QUOTA_LIMITS; -pub const QUOTA_LIMITS_HARDWS_MIN_ENABLE: DWORD = 0x00000001; -pub const QUOTA_LIMITS_HARDWS_MIN_DISABLE: DWORD = 0x00000002; -pub const QUOTA_LIMITS_HARDWS_MAX_ENABLE: DWORD = 0x00000004; -pub const QUOTA_LIMITS_HARDWS_MAX_DISABLE: DWORD = 0x00000008; -pub const QUOTA_LIMITS_USE_DEFAULT_LIMITS: DWORD = 0x00000010; -STRUCT!{struct RATE_QUOTA_LIMIT { - RateData: DWORD, -}} -BITFIELD!{RATE_QUOTA_LIMIT RateData: DWORD [ - RatePercent set_RatePercent[0..7], - Reserved0 set_Reserved0[7..32], -]} -pub type PRATE_QUOTA_LIMIT = *mut RATE_QUOTA_LIMIT; -STRUCT!{struct QUOTA_LIMITS_EX { - PagedPoolLimit: SIZE_T, - NonPagedPoolLimit: SIZE_T, - MinimumWorkingSetSize: SIZE_T, - MaximumWorkingSetSize: SIZE_T, - PagefileLimit: SIZE_T, - TimeLimit: LARGE_INTEGER, - WorkingSetLimit: SIZE_T, - Reserved2: SIZE_T, - Reserved3: SIZE_T, - Reserved4: SIZE_T, - Flags: DWORD, - CpuRateLimit: RATE_QUOTA_LIMIT, -}} -pub type PQUOTA_LIMITS_EX = *mut QUOTA_LIMITS_EX; -STRUCT!{struct IO_COUNTERS { - ReadOperationCount: ULONGLONG, - WriteOperationCount: ULONGLONG, - OtherOperationCount: ULONGLONG, - ReadTransferCount: ULONGLONG, - WriteTransferCount: ULONGLONG, - OtherTransferCount: ULONGLONG, -}} -pub type PIO_COUNTERS = *mut IO_COUNTERS; -pub const MAX_HW_COUNTERS: usize = 16; -pub const THREAD_PROFILING_FLAG_DISPATCH: DWORD = 0x00000001; -ENUM!{enum HARDWARE_COUNTER_TYPE { - PMCCounter, - MaxHardwareCounterType, -}} -pub type PHARDWARE_COUNTER_TYPE = *mut HARDWARE_COUNTER_TYPE; -ENUM!{enum PROCESS_MITIGATION_POLICY { - ProcessDEPPolicy, - ProcessASLRPolicy, - ProcessDynamicCodePolicy, - ProcessStrictHandleCheckPolicy, - ProcessSystemCallDisablePolicy, - ProcessMitigationOptionsMask, - ProcessExtensionPointDisablePolicy, - ProcessControlFlowGuardPolicy, - ProcessSignaturePolicy, - ProcessFontDisablePolicy, - ProcessImageLoadPolicy, - MaxProcessMitigationPolicy, -}} -pub type PPROCESS_MITIGATION_POLICY = *mut PROCESS_MITIGATION_POLICY; -STRUCT!{struct PROCESS_MITIGATION_ASLR_POLICY { - Flags: DWORD, -}} -BITFIELD!{PROCESS_MITIGATION_ASLR_POLICY Flags: DWORD [ - EnableBottomUpRandomization set_EnableBottomUpRandomization[0..1], - EnableForceRelocateImages set_EnableForceRelocateImages[1..2], - EnableHighEntropy set_EnableHighEntropy[2..3], - DisallowStrippedImages set_DisallowStrippedImages[3..4], - ReservedFlags set_ReservedFlags[4..32], -]} -pub type PPROCESS_MITIGATION_ASLR_POLICY = *mut PROCESS_MITIGATION_ASLR_POLICY; -STRUCT!{struct PROCESS_MITIGATION_DEP_POLICY { - Flags: DWORD, - Permanent: BOOLEAN, -}} -BITFIELD!{PROCESS_MITIGATION_DEP_POLICY Flags: DWORD [ - Enable set_Enable[0..1], - DisableAtlThunkEmulation set_DisableAtlThunkEmulation[1..2], - ReservedFlags set_ReservedFlags[2..32], -]} -pub type PPROCESS_MITIGATION_DEP_POLICY = *mut PROCESS_MITIGATION_DEP_POLICY; -STRUCT!{struct PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY { - Flags: DWORD, -}} -BITFIELD!{PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY Flags: DWORD [ - RaiseExceptionOnInvalidHandleReference set_RaiseExceptionOnInvalidHandleReference[0..1], - HandleExceptionsPermanentlyEnabled set_HandleExceptionsPermanentlyEnabled[1..2], - ReservedFlags set_ReservedFlags[2..32], -]} -pub type PPROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY - = *mut PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY; -STRUCT!{struct PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY { - Flags: DWORD, -}} -BITFIELD!{PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY Flags: DWORD [ - DisallowWin32kSystemCalls set_DisallowWin32kSystemCalls[0..1], - ReservedFlags set_ReservedFlags[1..32], -]} -pub type PPROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY - = *mut PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY; -STRUCT!{struct PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY { - Flags: DWORD, -}} -BITFIELD!{PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY Flags: DWORD [ - DisableExtensionPoints set_DisableExtensionPoints[0..1], - ReservedFlags set_ReservedFlags[1..32], -]} -pub type PPROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY - = *mut PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY; -STRUCT!{struct PROCESS_MITIGATION_DYNAMIC_CODE_POLICY { - Flags: DWORD, -}} -BITFIELD!{PROCESS_MITIGATION_DYNAMIC_CODE_POLICY Flags: DWORD [ - ProhibitDynamicCode set_ProhibitDynamicCode[0..1], - AllowThreadOptOut set_AllowThreadOptOut[1..2], - AllowRemoteDowngrade set_AllowRemoteDowngrade[2..3], - ReservedFlags set_ReservedFlags[3..32], -]} -pub type PPROCESS_MITIGATION_DYNAMIC_CODE_POLICY = *mut PROCESS_MITIGATION_DYNAMIC_CODE_POLICY; -STRUCT!{struct PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY { - Flags: DWORD, -}} -BITFIELD!{PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY Flags: DWORD [ - EnableControlFlowGuard set_EnableControlFlowGuard[0..1], - EnableExportSuppression set_EnableExportSuppression[1..2], - StrictMode set_StrictMode[2..3], - ReservedFlags set_ReservedFlags[3..32], -]} -pub type PPROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY - = *mut PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY; -STRUCT!{struct PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY { - Flags: DWORD, -}} -BITFIELD!{PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY Flags: DWORD [ - MicrosoftSignedOnly set_MicrosoftSignedOnly[0..1], - StoreSignedOnly set_StoreSignedOnly[1..2], - MitigationOptIn set_MitigationOptIn[2..3], - ReservedFlags set_ReservedFlags[3..32], -]} -pub type PPROCESS_MITIGATION_BINARY_SIGNATURE_POLICY - = *mut PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY; -STRUCT!{struct PROCESS_MITIGATION_FONT_DISABLE_POLICY { - Flags: DWORD, -}} -BITFIELD!{PROCESS_MITIGATION_FONT_DISABLE_POLICY Flags: DWORD [ - DisableNonSystemFonts set_DisableNonSystemFonts[0..1], - AuditNonSystemFontLoading set_AuditNonSystemFontLoading[1..2], - ReservedFlags set_ReservedFlags[2..32], -]} -pub type PPROCESS_MITIGATION_FONT_DISABLE_POLICY = *mut PROCESS_MITIGATION_FONT_DISABLE_POLICY; -STRUCT!{struct PROCESS_MITIGATION_IMAGE_LOAD_POLICY { - Flags: DWORD, -}} -BITFIELD!{PROCESS_MITIGATION_IMAGE_LOAD_POLICY Flags: DWORD [ - NoRemoteImages set_NoRemoteImages[0..1], - NoLowMandatoryLabelImages set_NoLowMandatoryLabelImages[1..2], - PreferSystem32Images set_PreferSystem32Images[2..3], - ReservedFlags set_ReservedFlags[3..32], -]} -pub type PPROCESS_MITIGATION_IMAGE_LOAD_POLICY = *mut PROCESS_MITIGATION_IMAGE_LOAD_POLICY; -STRUCT!{struct PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY { - Flags: DWORD, -}} -pub type PPPROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY = - *mut PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY; -BITFIELD!{PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY Flags: DWORD [ - FilterId set_FilterId[0..4], - ReservedFlags set_ReservedFlags[4..32], -]} -STRUCT!{struct PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY { - Flags: DWORD, -}} -pub type PPROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY = - *mut PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY; -BITFIELD!{PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY Flags: DWORD [ - EnableExportAddressFilter set_EnableExportAddressFilter[0..1], - AuditExportAddressFilter set_AuditExportAddressFilter[1..2], - EnableExportAddressFilterPlus set_EnableExportAddressFilterPlus[2..3], - AuditExportAddressFilterPlus set_AuditExportAddressFilterPlus[3..4], - EnableImportAddressFilter set_EnableImportAddressFilter[4..5], - AuditImportAddressFilter set_AuditImportAddressFilter[5..6], - EnableRopStackPivot set_EnableRopStackPivot[6..7], - AuditRopStackPivot set_AuditRopStackPivot[7..8], - EnableRopCallerCheck set_EnableRopCallerCheck[8..9], - AuditRopCallerCheck set_AuditRopCallerCheck[9..10], - EnableRopSimExec set_EnableRopSimExec[10..11], - AuditRopSimExec set_AuditRopSimExec[11..12], - ReservedFlags set_ReservedFlags[12..32], -]} -STRUCT!{struct PROCESS_MITIGATION_CHILD_PROCESS_POLICY { - Flags: DWORD, -}} -pub type PPROCESS_MITIGATION_CHILD_PROCESS_POLICY = *mut PROCESS_MITIGATION_CHILD_PROCESS_POLICY; -BITFIELD!{PROCESS_MITIGATION_CHILD_PROCESS_POLICY Flags: DWORD [ - NoChildProcessCreation set_NoChildProcessCreation[0..1], - AuditNoChildProcessCreation set_AuditNoChildProcessCreation[1..2], - AllowSecureProcessCreation set_AllowSecureProcessCreation[2..3], - ReservedFlags set_ReservedFlags[3..32], -]} -STRUCT!{struct JOBOBJECT_BASIC_ACCOUNTING_INFORMATION { - TotalUserTime: LARGE_INTEGER, - TotalKernelTime: LARGE_INTEGER, - ThisPeriodTotalUserTime: LARGE_INTEGER, - ThisPeriodTotalKernelTime: LARGE_INTEGER, - TotalPageFaultCount: DWORD, - TotalProcesses: DWORD, - ActiveProcesses: DWORD, - TotalTerminatedProcesses: DWORD, -}} -pub type PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION = *mut JOBOBJECT_BASIC_ACCOUNTING_INFORMATION; -STRUCT!{struct JOBOBJECT_BASIC_LIMIT_INFORMATION { - PerProcessUserTimeLimit: LARGE_INTEGER, - PerJobUserTimeLimit: LARGE_INTEGER, - LimitFlags: DWORD, - MinimumWorkingSetSize: SIZE_T, - MaximumWorkingSetSize: SIZE_T, - ActiveProcessLimit: DWORD, - Affinity: ULONG_PTR, - PriorityClass: DWORD, - SchedulingClass: DWORD, -}} -pub type PJOBOBJECT_BASIC_LIMIT_INFORMATION = *mut JOBOBJECT_BASIC_LIMIT_INFORMATION; -STRUCT!{struct JOBOBJECT_EXTENDED_LIMIT_INFORMATION { - BasicLimitInformation: JOBOBJECT_BASIC_LIMIT_INFORMATION, - IoInfo: IO_COUNTERS, - ProcessMemoryLimit: SIZE_T, - JobMemoryLimit: SIZE_T, - PeakProcessMemoryUsed: SIZE_T, - PeakJobMemoryUsed: SIZE_T, -}} -pub type PJOBOBJECT_EXTENDED_LIMIT_INFORMATION = *mut JOBOBJECT_EXTENDED_LIMIT_INFORMATION; -STRUCT!{struct JOBOBJECT_BASIC_PROCESS_ID_LIST { - NumberOfAssignedProcesses: DWORD, - NumberOfProcessIdsInList: DWORD, - ProcessIdList: [ULONG_PTR; 1], -}} -pub type PJOBOBJECT_BASIC_PROCESS_ID_LIST = *mut JOBOBJECT_BASIC_PROCESS_ID_LIST; -STRUCT!{struct JOBOBJECT_BASIC_UI_RESTRICTIONS { - UIRestrictionsClass: DWORD, -}} -pub type PJOBOBJECT_BASIC_UI_RESTRICTIONS = *mut JOBOBJECT_BASIC_UI_RESTRICTIONS; -STRUCT!{struct JOBOBJECT_SECURITY_LIMIT_INFORMATION { - SecurityLimitFlags: DWORD, - JobToken: HANDLE, - SidsToDisable: PTOKEN_GROUPS, - PrivilegesToDelete: PTOKEN_PRIVILEGES, - RestrictedSids: PTOKEN_GROUPS, -}} -pub type PJOBOBJECT_SECURITY_LIMIT_INFORMATION = *mut JOBOBJECT_SECURITY_LIMIT_INFORMATION; -STRUCT!{struct JOBOBJECT_END_OF_JOB_TIME_INFORMATION { - EndOfJobTimeAction: DWORD, -}} -pub type PJOBOBJECT_END_OF_JOB_TIME_INFORMATION = *mut JOBOBJECT_END_OF_JOB_TIME_INFORMATION; -STRUCT!{struct JOBOBJECT_ASSOCIATE_COMPLETION_PORT { - CompletionKey: PVOID, - CompletionPort: HANDLE, -}} -pub type PJOBOBJECT_ASSOCIATE_COMPLETION_PORT = *mut JOBOBJECT_ASSOCIATE_COMPLETION_PORT; -STRUCT!{struct JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION { - BasicInfo: JOBOBJECT_BASIC_ACCOUNTING_INFORMATION, - IoInfo: IO_COUNTERS, -}} -pub type PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION - = *mut JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION; -STRUCT!{struct JOBOBJECT_JOBSET_INFORMATION { - MemberLevel: DWORD, -}} -pub type PJOBOBJECT_JOBSET_INFORMATION = *mut JOBOBJECT_JOBSET_INFORMATION; -ENUM!{enum JOBOBJECT_RATE_CONTROL_TOLERANCE { - ToleranceLow = 1, - ToleranceMedium, - ToleranceHigh, -}} -pub type PJOBOBJECT_RATE_CONTROL_TOLERANCE = *mut JOBOBJECT_RATE_CONTROL_TOLERANCE; -ENUM!{enum JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL { - ToleranceIntervalShort = 1, - ToleranceIntervalMedium, - ToleranceIntervalLong, -}} -pub type PJOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL - = *mut JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL; -STRUCT!{struct JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION { - IoReadBytesLimit: DWORD64, - IoWriteBytesLimit: DWORD64, - PerJobUserTimeLimit: LARGE_INTEGER, - JobMemoryLimit: DWORD64, - RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, - RateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, - LimitFlags: DWORD, -}} -pub type PJOBOBJECT_NOTIFICATION_LIMIT_INFORMATION = *mut JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION; -UNION!{union JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_u1 { - [u64; 1], - JobHighMemoryLimit JobHighMemoryLimit_mut: DWORD64, - JobMemoryLimit JobMemoryLimit_mut: DWORD64, -}} -UNION!{union JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_u2 { - [u32; 1], - RateControlTolerance RateControlTolerance_mut: JOBOBJECT_RATE_CONTROL_TOLERANCE, - CpuRateControlTolerance CpuRateControlTolerance_mut: JOBOBJECT_RATE_CONTROL_TOLERANCE, -}} -UNION!{union JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_u3 { - [u32; 1], - RateControlToleranceInterval RateControlToleranceInterval_mut: - JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, - CpuRateControlToleranceInterval CpuRateControlToleranceInterval_mut: - JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, -}} -STRUCT!{struct JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 { - IoReadBytesLimit: DWORD64, - IoWriteBytesLimit: DWORD64, - PerJobUserTimeLimit: LARGE_INTEGER, - u1: JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_u1, - u2: JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_u2, - u3: JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2_u3, - LimitFlags: DWORD, - IoRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, - JobLowMemoryLimit: DWORD64, - IoRateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, - NetRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, - NetRateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, -}} -STRUCT!{struct JOBOBJECT_LIMIT_VIOLATION_INFORMATION { - LimitFlags: DWORD, - ViolationLimitFlags: DWORD, - IoReadBytes: DWORD64, - IoReadBytesLimit: DWORD64, - IoWriteBytes: DWORD64, - IoWriteBytesLimit: DWORD64, - PerJobUserTime: LARGE_INTEGER, - PerJobUserTimeLimit: LARGE_INTEGER, - JobMemory: DWORD64, - JobMemoryLimit: DWORD64, - RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, - RateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE, -}} -pub type PJOBOBJECT_LIMIT_VIOLATION_INFORMATION = *mut JOBOBJECT_LIMIT_VIOLATION_INFORMATION; -UNION!{union JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_u1 { - [u64; 1], - JobHighMemoryLimit JobHighMemoryLimit_mut: DWORD64, - JobMemoryLimit JobMemoryLimit_mut: DWORD64, -}} -UNION!{union JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_u2 { - [u32; 1], - RateControlTolerance RateControlTolerance_mut: JOBOBJECT_RATE_CONTROL_TOLERANCE, - CpuRateControlTolerance CpuRateControlTolerance_mut: JOBOBJECT_RATE_CONTROL_TOLERANCE, -}} -UNION!{union JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_u3 { - [u32; 1], - RateControlToleranceLimit RateControlToleranceLimit_mut: JOBOBJECT_RATE_CONTROL_TOLERANCE, - CpuRateControlToleranceLimit CpuRateControlToleranceLimit_mut: - JOBOBJECT_RATE_CONTROL_TOLERANCE, -}} -STRUCT!{struct JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 { - LimitFlags: DWORD, - ViolationLimitFlags: DWORD, - IoReadBytes: DWORD64, - IoReadBytesLimit: DWORD64, - IoWriteBytes: DWORD64, - IoWriteBytesLimit: DWORD64, - PerJobUserTime: LARGE_INTEGER, - PerJobUserTimeLimit: LARGE_INTEGER, - JobMemory: DWORD64, - u1: JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_u1, - u2: JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_u2, - u3: JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2_u3, - JobLowMemoryLimit: DWORD64, - IoRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, - IoRateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE, - NetRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, - NetRateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE, -}} -STRUCT!{struct JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_u_s { - MinRate: WORD, - MaxRate: WORD, -}} -UNION!{union JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_u { - [u32; 1], - CpuRate CpuRate_mut: DWORD, - Weight Weight_mut: DWORD, - s s_mut: JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_u_s, -}} -STRUCT!{struct JOBOBJECT_CPU_RATE_CONTROL_INFORMATION { - ControlFlags: DWORD, - u: JOBOBJECT_CPU_RATE_CONTROL_INFORMATION_u, -}} -pub type PJOBOBJECT_CPU_RATE_CONTROL_INFORMATION = *mut JOBOBJECT_CPU_RATE_CONTROL_INFORMATION; -ENUM!{enum JOB_OBJECT_NET_RATE_CONTROL_FLAGS { - JOB_OBJECT_NET_RATE_CONTROL_ENABLE = 0x1, - JOB_OBJECT_NET_RATE_CONTROL_MAX_BANDWIDTH = 0x2, - JOB_OBJECT_NET_RATE_CONTROL_DSCP_TAG = 0x4, - JOB_OBJECT_NET_RATE_CONTROL_VALID_FLAGS = 0x7, -}} -pub const JOB_OBJECT_NET_RATE_CONTROL_MAX_DSCP_TAG: DWORD = 64; -STRUCT!{struct JOBOBJECT_NET_RATE_CONTROL_INFORMATION { - MaxBandwidth: DWORD64, - ControlFlags: JOB_OBJECT_NET_RATE_CONTROL_FLAGS, - DscpTag: BYTE, -}} -ENUM!{enum JOB_OBJECT_IO_RATE_CONTROL_FLAGS { - JOB_OBJECT_IO_RATE_CONTROL_ENABLE = 0x1, - JOB_OBJECT_IO_RATE_CONTROL_STANDALONE_VOLUME = 0x2, - JOB_OBJECT_IO_RATE_CONTROL_VALID_FLAGS = JOB_OBJECT_IO_RATE_CONTROL_ENABLE - | JOB_OBJECT_IO_RATE_CONTROL_STANDALONE_VOLUME, -}} -STRUCT!{struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE { - MaxIops: LONG64, - MaxBandwidth: LONG64, - ReservationIops: LONG64, - VolumeName: PWSTR, - BaseIoSize: DWORD, - ControlFlags: JOB_OBJECT_IO_RATE_CONTROL_FLAGS, - VolumeNameLength: WORD, -}} -pub type JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V1 - = JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE; -STRUCT!{struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2 { - MaxIops: LONG64, - MaxBandwidth: LONG64, - ReservationIops: LONG64, - VolumeName: PWSTR, - BaseIoSize: DWORD, - ControlFlags: JOB_OBJECT_IO_RATE_CONTROL_FLAGS, - VolumeNameLength: WORD, - CriticalReservationIops: LONG64, - ReservationBandwidth: LONG64, - CriticalReservationBandwidth: LONG64, - MaxTimePercent: LONG64, - ReservationTimePercent: LONG64, - CriticalReservationTimePercent: LONG64, -}} -STRUCT!{struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3 { - MaxIops: LONG64, - MaxBandwidth: LONG64, - ReservationIops: LONG64, - VolumeName: PWSTR, - BaseIoSize: DWORD, - ControlFlags: JOB_OBJECT_IO_RATE_CONTROL_FLAGS, - VolumeNameLength: WORD, - CriticalReservationIops: LONG64, - ReservationBandwidth: LONG64, - CriticalReservationBandwidth: LONG64, - MaxTimePercent: LONG64, - ReservationTimePercent: LONG64, - CriticalReservationTimePercent: LONG64, - SoftMaxIops: LONG64, - SoftMaxBandwidth: LONG64, - SoftMaxTimePercent: LONG64, - LimitExcessNotifyIops: LONG64, - LimitExcessNotifyBandwidth: LONG64, - LimitExcessNotifyTimePercent: LONG64, -}} -ENUM!{enum JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS { - JOBOBJECT_IO_ATTRIBUTION_CONTROL_ENABLE = 0x1, - JOBOBJECT_IO_ATTRIBUTION_CONTROL_DISABLE = 0x2, - JOBOBJECT_IO_ATTRIBUTION_CONTROL_VALID_FLAGS = 0x3, -}} -STRUCT!{struct JOBOBJECT_IO_ATTRIBUTION_STATS { - IoCount: ULONG_PTR, - TotalNonOverlappedQueueTime: ULONGLONG, - TotalNonOverlappedServiceTime: ULONGLONG, - TotalSize: ULONGLONG, -}} -pub type PJOBOBJECT_IO_ATTRIBUTION_STATS = *mut JOBOBJECT_IO_ATTRIBUTION_STATS; -STRUCT!{struct JOBOBJECT_IO_ATTRIBUTION_INFORMATION { - ControlFlags: DWORD, - ReadStats: JOBOBJECT_IO_ATTRIBUTION_STATS, - WriteStats: JOBOBJECT_IO_ATTRIBUTION_STATS, -}} -pub type PJOBOBJECT_IO_ATTRIBUTION_INFORMATION = *mut JOBOBJECT_IO_ATTRIBUTION_INFORMATION; -pub const JOB_OBJECT_TERMINATE_AT_END_OF_JOB: DWORD = 0; -pub const JOB_OBJECT_POST_AT_END_OF_JOB: DWORD = 1; -pub const JOB_OBJECT_MSG_END_OF_JOB_TIME: DWORD = 1; -pub const JOB_OBJECT_MSG_END_OF_PROCESS_TIME: DWORD = 2; -pub const JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT: DWORD = 3; -pub const JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO: DWORD = 4; -pub const JOB_OBJECT_MSG_NEW_PROCESS: DWORD = 6; -pub const JOB_OBJECT_MSG_EXIT_PROCESS: DWORD = 7; -pub const JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS: DWORD = 8; -pub const JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT: DWORD = 9; -pub const JOB_OBJECT_MSG_JOB_MEMORY_LIMIT: DWORD = 10; -pub const JOB_OBJECT_MSG_NOTIFICATION_LIMIT: DWORD = 11; -pub const JOB_OBJECT_MSG_JOB_CYCLE_TIME_LIMIT: DWORD = 12; -pub const JOB_OBJECT_MSG_SILO_TERMINATED: DWORD = 13; -pub const JOB_OBJECT_MSG_MINIMUM: DWORD = 1; -pub const JOB_OBJECT_MSG_MAXIMUM: DWORD = 13; -pub const JOB_OBJECT_VALID_COMPLETION_FILTER: DWORD = ((1 << (JOB_OBJECT_MSG_MAXIMUM + 1)) - 1) - - ((1 << JOB_OBJECT_MSG_MINIMUM) - 1); -pub const JOB_OBJECT_LIMIT_WORKINGSET: DWORD = 0x00000001; -pub const JOB_OBJECT_LIMIT_PROCESS_TIME: DWORD = 0x00000002; -pub const JOB_OBJECT_LIMIT_JOB_TIME: DWORD = 0x00000004; -pub const JOB_OBJECT_LIMIT_ACTIVE_PROCESS: DWORD = 0x00000008; -pub const JOB_OBJECT_LIMIT_AFFINITY: DWORD = 0x00000010; -pub const JOB_OBJECT_LIMIT_PRIORITY_CLASS: DWORD = 0x00000020; -pub const JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME: DWORD = 0x00000040; -pub const JOB_OBJECT_LIMIT_SCHEDULING_CLASS: DWORD = 0x00000080; -pub const JOB_OBJECT_LIMIT_PROCESS_MEMORY: DWORD = 0x00000100; -pub const JOB_OBJECT_LIMIT_JOB_MEMORY: DWORD = 0x00000200; -pub const JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH: DWORD = JOB_OBJECT_LIMIT_JOB_MEMORY; -pub const JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION: DWORD = 0x00000400; -pub const JOB_OBJECT_LIMIT_BREAKAWAY_OK: DWORD = 0x00000800; -pub const JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK: DWORD = 0x00001000; -pub const JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE: DWORD = 0x00002000; -pub const JOB_OBJECT_LIMIT_SUBSET_AFFINITY: DWORD = 0x00004000; -pub const JOB_OBJECT_LIMIT_JOB_MEMORY_LOW: DWORD = 0x00008000; -pub const JOB_OBJECT_LIMIT_JOB_READ_BYTES: DWORD = 0x00010000; -pub const JOB_OBJECT_LIMIT_JOB_WRITE_BYTES: DWORD = 0x00020000; -pub const JOB_OBJECT_LIMIT_RATE_CONTROL: DWORD = 0x00040000; -pub const JOB_OBJECT_LIMIT_CPU_RATE_CONTROL: DWORD = JOB_OBJECT_LIMIT_RATE_CONTROL; -pub const JOB_OBJECT_LIMIT_IO_RATE_CONTROL: DWORD = 0x00008000; -pub const JOB_OBJECT_LIMIT_NET_RATE_CONTROL: DWORD = 0x00010000; -pub const JOB_OBJECT_LIMIT_VALID_FLAGS: DWORD = 0x0007ffff; -pub const JOB_OBJECT_BASIC_LIMIT_VALID_FLAGS: DWORD = 0x000000ff; -pub const JOB_OBJECT_EXTENDED_LIMIT_VALID_FLAGS: DWORD = 0x00007fff; -pub const JOB_OBJECT_NOTIFICATION_LIMIT_VALID_FLAGS: DWORD = JOB_OBJECT_LIMIT_JOB_READ_BYTES - | JOB_OBJECT_LIMIT_JOB_WRITE_BYTES | JOB_OBJECT_LIMIT_JOB_TIME - | JOB_OBJECT_LIMIT_JOB_MEMORY_LOW | JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH - | JOB_OBJECT_LIMIT_CPU_RATE_CONTROL | JOB_OBJECT_LIMIT_IO_RATE_CONTROL - | JOB_OBJECT_LIMIT_NET_RATE_CONTROL; -pub const JOB_OBJECT_UILIMIT_NONE: DWORD = 0x00000000; -pub const JOB_OBJECT_UILIMIT_HANDLES: DWORD = 0x00000001; -pub const JOB_OBJECT_UILIMIT_READCLIPBOARD: DWORD = 0x00000002; -pub const JOB_OBJECT_UILIMIT_WRITECLIPBOARD: DWORD = 0x00000004; -pub const JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS: DWORD = 0x00000008; -pub const JOB_OBJECT_UILIMIT_DISPLAYSETTINGS: DWORD = 0x00000010; -pub const JOB_OBJECT_UILIMIT_GLOBALATOMS: DWORD = 0x00000020; -pub const JOB_OBJECT_UILIMIT_DESKTOP: DWORD = 0x00000040; -pub const JOB_OBJECT_UILIMIT_EXITWINDOWS: DWORD = 0x00000080; -pub const JOB_OBJECT_UILIMIT_ALL: DWORD = 0x000000FF; -pub const JOB_OBJECT_UI_VALID_FLAGS: DWORD = 0x000000FF; -pub const JOB_OBJECT_SECURITY_NO_ADMIN: DWORD = 0x00000001; -pub const JOB_OBJECT_SECURITY_RESTRICTED_TOKEN: DWORD = 0x00000002; -pub const JOB_OBJECT_SECURITY_ONLY_TOKEN: DWORD = 0x00000004; -pub const JOB_OBJECT_SECURITY_FILTER_TOKENS: DWORD = 0x00000008; -pub const JOB_OBJECT_SECURITY_VALID_FLAGS: DWORD = 0x0000000f; -pub const JOB_OBJECT_CPU_RATE_CONTROL_ENABLE: DWORD = 0x1; -pub const JOB_OBJECT_CPU_RATE_CONTROL_WEIGHT_BASED: DWORD = 0x2; -pub const JOB_OBJECT_CPU_RATE_CONTROL_HARD_CAP: DWORD = 0x4; -pub const JOB_OBJECT_CPU_RATE_CONTROL_NOTIFY: DWORD = 0x8; -pub const JOB_OBJECT_CPU_RATE_CONTROL_MIN_MAX_RATE: DWORD = 0x10; -pub const JOB_OBJECT_CPU_RATE_CONTROL_VALID_FLAGS: DWORD = 0x1f; -ENUM!{enum JOBOBJECTINFOCLASS { - JobObjectBasicAccountingInformation = 1, - JobObjectBasicLimitInformation, - JobObjectBasicProcessIdList, - JobObjectBasicUIRestrictions, - JobObjectSecurityLimitInformation, - JobObjectEndOfJobTimeInformation, - JobObjectAssociateCompletionPortInformation, - JobObjectBasicAndIoAccountingInformation, - JobObjectExtendedLimitInformation, - JobObjectJobSetInformation, - JobObjectGroupInformation, - JobObjectNotificationLimitInformation, - JobObjectLimitViolationInformation, - JobObjectGroupInformationEx, - JobObjectCpuRateControlInformation, - JobObjectCompletionFilter, - JobObjectCompletionCounter, - JobObjectReserved1Information = 18, - JobObjectReserved2Information, - JobObjectReserved3Information, - JobObjectReserved4Information, - JobObjectReserved5Information, - JobObjectReserved6Information, - JobObjectReserved7Information, - JobObjectReserved8Information, - JobObjectReserved9Information, - JobObjectReserved10Information, - JobObjectReserved11Information, - JobObjectReserved12Information, - JobObjectReserved13Information, - JobObjectReserved14Information = 31, - JobObjectNetRateControlInformation, - JobObjectNotificationLimitInformation2, - JobObjectLimitViolationInformation2, - JobObjectCreateSilo, - JobObjectSiloBasicInformation, - JobObjectReserved15Information = 37, - JobObjectReserved16Information = 38, - JobObjectReserved17Information = 39, - JobObjectReserved18Information = 40, - JobObjectReserved19Information = 41, - JobObjectReserved20Information = 42, - JobObjectReserved21Information = 43, - JobObjectReserved22Information = 44, - JobObjectReserved23Information = 45, - JobObjectReserved24Information = 46, - JobObjectReserved25Information = 47, - MaxJobObjectInfoClass, -}} -STRUCT!{struct SILOOBJECT_BASIC_INFORMATION { - SiloId: DWORD, - SiloParentId: DWORD, - NumberOfProcesses: DWORD, - IsInServerSilo: BOOLEAN, - Reserved: [BYTE; 3], -}} -pub type PSILOOBJECT_BASIC_INFORMATION = *mut SILOOBJECT_BASIC_INFORMATION; -ENUM!{enum SERVERSILO_STATE { - SERVERSILO_INITING = 0, - SERVERSILO_STARTED, - SERVERSILO_SHUTTING_DOWN, - SERVERSILO_TERMINATING, - SERVERSILO_TERMINATED, -}} -pub type PSERVERSILO_STATE = *mut SERVERSILO_STATE; -STRUCT!{struct SERVERSILO_BASIC_INFORMATION { - ServiceSessionId: DWORD, - State: SERVERSILO_STATE, - ExitStatus: DWORD, -}} -pub type PSERVERSILO_BASIC_INFORMATION = *mut SERVERSILO_BASIC_INFORMATION; -ENUM!{enum FIRMWARE_TYPE { - FirmwareTypeUnknown, - FirmwareTypeBios, - FirmwareTypeUefi, - FirmwareTypeMax, -}} -pub type PFIRMWARE_TYPE = *mut FIRMWARE_TYPE; -pub const EVENT_MODIFY_STATE: DWORD = 0x0002; -pub const EVENT_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3; -pub const MUTANT_QUERY_STATE: DWORD = 0x0001; -pub const MUTANT_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | MUTANT_QUERY_STATE; -pub const SEMAPHORE_MODIFY_STATE: DWORD = 0x0002; -pub const SEMAPHORE_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3; -pub const TIMER_QUERY_STATE: DWORD = 0x0001; -pub const TIMER_MODIFY_STATE: DWORD = 0x0002; -pub const TIMER_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | TIMER_QUERY_STATE - | TIMER_MODIFY_STATE; -pub const TIME_ZONE_ID_UNKNOWN: DWORD = 0; -pub const TIME_ZONE_ID_STANDARD: DWORD = 1; -pub const TIME_ZONE_ID_DAYLIGHT: DWORD = 2; -ENUM!{enum LOGICAL_PROCESSOR_RELATIONSHIP { - RelationProcessorCore, - RelationNumaNode, - RelationCache, - RelationProcessorPackage, - RelationGroup, - RelationAll = 0xffff, -}} -pub const LTP_PC_SMT: BYTE = 0x1; -ENUM!{enum PROCESSOR_CACHE_TYPE { - CacheUnified, - CacheInstruction, - CacheData, - CacheTrace, -}} -pub const CACHE_FULLY_ASSOCIATIVE: BYTE = 0xFF; -STRUCT!{struct CACHE_DESCRIPTOR { - Level: BYTE, - Associativity: BYTE, - LineSize: WORD, - Size: DWORD, - Type: PROCESSOR_CACHE_TYPE, -}} -pub type PCACHE_DESCRIPTOR = *mut CACHE_DESCRIPTOR; -STRUCT!{struct SYSTEM_LOGICAL_PROCESSOR_INFORMATION_ProcessorCore { - Flags: BYTE, -}} -STRUCT!{struct SYSTEM_LOGICAL_PROCESSOR_INFORMATION_NumaNode { - NodeNumber: DWORD, -}} -UNION!{union SYSTEM_LOGICAL_PROCESSOR_INFORMATION_u { - [u64; 2], - ProcessorCore ProcessorCore_mut: SYSTEM_LOGICAL_PROCESSOR_INFORMATION_ProcessorCore, - NumaNode NumaNode_mut: SYSTEM_LOGICAL_PROCESSOR_INFORMATION_NumaNode, - Cache Cache_mut: CACHE_DESCRIPTOR, - Reserved Reserved_mut: [ULONGLONG; 2], -}} -STRUCT!{struct SYSTEM_LOGICAL_PROCESSOR_INFORMATION { - ProcessorMask: ULONG_PTR, - Relationship: LOGICAL_PROCESSOR_RELATIONSHIP, - u: SYSTEM_LOGICAL_PROCESSOR_INFORMATION_u, -}} -pub type PSYSTEM_LOGICAL_PROCESSOR_INFORMATION = *mut SYSTEM_LOGICAL_PROCESSOR_INFORMATION; -STRUCT!{struct PROCESSOR_RELATIONSHIP { - Flags: BYTE, - EfficiencyClass: BYTE, - Reserved: [BYTE; 20], - GroupCount: WORD, - GroupMask: [GROUP_AFFINITY; ANYSIZE_ARRAY], -}} -pub type PPROCESSOR_RELATIONSHIP = *mut PROCESSOR_RELATIONSHIP; -STRUCT!{struct NUMA_NODE_RELATIONSHIP { - NodeNumber: DWORD, - Reserved: [BYTE; 20], - GroupMask: GROUP_AFFINITY, -}} -pub type PNUMA_NODE_RELATIONSHIP = *mut NUMA_NODE_RELATIONSHIP; -STRUCT!{struct CACHE_RELATIONSHIP { - Level: BYTE, - Associativity: BYTE, - LineSize: WORD, - CacheSize: DWORD, - Type: PROCESSOR_CACHE_TYPE, - Reserved: [BYTE; 20], - GroupMask: GROUP_AFFINITY, -}} -pub type PCACHE_RELATIONSHIP = *mut CACHE_RELATIONSHIP; -STRUCT!{struct PROCESSOR_GROUP_INFO { - MaximumProcessorCount: BYTE, - ActiveProcessorCount: BYTE, - Reserved: [BYTE; 38], - ActiveProcessorMask: KAFFINITY, -}} -pub type PPROCESSOR_GROUP_INFO = *mut PROCESSOR_GROUP_INFO; -STRUCT!{struct GROUP_RELATIONSHIP { - MaximumGroupCount: WORD, - ActiveGroupCount: WORD, - Reserved: [BYTE; 20], - GroupInfo: [PROCESSOR_GROUP_INFO; ANYSIZE_ARRAY], -}} -pub type PGROUP_RELATIONSHIP = *mut GROUP_RELATIONSHIP; -UNION!{union SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX_u { - [u32; 17] [u64; 9], - Processor Processor_mut: PROCESSOR_RELATIONSHIP, - NumaNode NumaNode_mut: NUMA_NODE_RELATIONSHIP, - Cache Cache_mut: CACHE_RELATIONSHIP, - Group Group_mut: GROUP_RELATIONSHIP, -}} -STRUCT!{struct SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX { - Relationship: LOGICAL_PROCESSOR_RELATIONSHIP, - Size: DWORD, - u: SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX_u, -}} -pub type PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX = *mut SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX; -ENUM!{enum CPU_SET_INFORMATION_TYPE { - CpuSetInformation, -}} -pub type PCPU_SET_INFORMATION_TYPE = *mut CPU_SET_INFORMATION_TYPE; -pub const SYSTEM_CPU_SET_INFORMATION_PARKED: BYTE = 0x1; -pub const SYSTEM_CPU_SET_INFORMATION_ALLOCATED: BYTE = 0x2; -pub const SYSTEM_CPU_SET_INFORMATION_ALLOCATED_TO_TARGET_PROCESS: BYTE = 0x4; -pub const SYSTEM_CPU_SET_INFORMATION_REALTIME: BYTE = 0x8; -STRUCT!{struct SYSTEM_CPU_SET_INFORMATION_CpuSet { - Id: DWORD, - Group: WORD, - LogicalProcessorIndex: BYTE, - CoreIndex: BYTE, - LastLevelCacheIndex: BYTE, - NumaNodeIndex: BYTE, - EfficiencyClass: BYTE, - AllFlags: BYTE, - Reserved: DWORD, - AllocationTag: DWORD64, -}} -BITFIELD!{SYSTEM_CPU_SET_INFORMATION_CpuSet AllFlags: BYTE [ - Parked set_Parked[0..1], - Allocated set_Allocated[1..2], - AllocatedToTargetProcess set_AllocatedToTargetProcess[2..3], - RealTime set_RealTime[3..4], - ReservedFlags set_ReservedFlags[4..8], -]} -STRUCT!{struct SYSTEM_CPU_SET_INFORMATION { - Size: DWORD, - Type: CPU_SET_INFORMATION_TYPE, - CpuSet: SYSTEM_CPU_SET_INFORMATION_CpuSet, -}} -pub type PSYSTEM_CPU_SET_INFORMATION = *mut SYSTEM_CPU_SET_INFORMATION; -STRUCT!{struct SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION { - CycleTime: DWORD64, -}} -pub type PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION = *mut SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION; -pub const PROCESSOR_INTEL_386: DWORD = 386; -pub const PROCESSOR_INTEL_486: DWORD = 486; -pub const PROCESSOR_INTEL_PENTIUM: DWORD = 586; -pub const PROCESSOR_INTEL_IA64: DWORD = 2200; -pub const PROCESSOR_AMD_X8664: DWORD = 8664; -pub const PROCESSOR_MIPS_R4000: DWORD = 4000; -pub const PROCESSOR_ALPHA_21064: DWORD = 21064; -pub const PROCESSOR_PPC_601: DWORD = 601; -pub const PROCESSOR_PPC_603: DWORD = 603; -pub const PROCESSOR_PPC_604: DWORD = 604; -pub const PROCESSOR_PPC_620: DWORD = 620; -pub const PROCESSOR_HITACHI_SH3: DWORD = 10003; -pub const PROCESSOR_HITACHI_SH3E: DWORD = 10004; -pub const PROCESSOR_HITACHI_SH4: DWORD = 10005; -pub const PROCESSOR_MOTOROLA_821: DWORD = 821; -pub const PROCESSOR_SHx_SH3: DWORD = 103; -pub const PROCESSOR_SHx_SH4: DWORD = 104; -pub const PROCESSOR_STRONGARM: DWORD = 2577; -pub const PROCESSOR_ARM720: DWORD = 1824; -pub const PROCESSOR_ARM820: DWORD = 2080; -pub const PROCESSOR_ARM920: DWORD = 2336; -pub const PROCESSOR_ARM_7TDMI: DWORD = 70001; -pub const PROCESSOR_OPTIL: DWORD = 0x494f; -pub const PROCESSOR_ARCHITECTURE_INTEL: WORD = 0; -pub const PROCESSOR_ARCHITECTURE_MIPS: WORD = 1; -pub const PROCESSOR_ARCHITECTURE_ALPHA: WORD = 2; -pub const PROCESSOR_ARCHITECTURE_PPC: WORD = 3; -pub const PROCESSOR_ARCHITECTURE_SHX: WORD = 4; -pub const PROCESSOR_ARCHITECTURE_ARM: WORD = 5; -pub const PROCESSOR_ARCHITECTURE_IA64: WORD = 6; -pub const PROCESSOR_ARCHITECTURE_ALPHA64: WORD = 7; -pub const PROCESSOR_ARCHITECTURE_MSIL: WORD = 8; -pub const PROCESSOR_ARCHITECTURE_AMD64: WORD = 9; -pub const PROCESSOR_ARCHITECTURE_IA32_ON_WIN64: WORD = 10; -pub const PROCESSOR_ARCHITECTURE_NEUTRAL: WORD = 11; -pub const PROCESSOR_ARCHITECTURE_ARM64: WORD = 12; -pub const PROCESSOR_ARCHITECTURE_ARM32_ON_WIN64: WORD = 13; -pub const PROCESSOR_ARCHITECTURE_IA32_ON_ARM64: WORD = 14; -pub const PROCESSOR_ARCHITECTURE_UNKNOWN: WORD = 0xFFFF; -pub const PF_FLOATING_POINT_PRECISION_ERRATA: DWORD = 0; -pub const PF_FLOATING_POINT_EMULATED: DWORD = 1; -pub const PF_COMPARE_EXCHANGE_DOUBLE: DWORD = 2; -pub const PF_MMX_INSTRUCTIONS_AVAILABLE: DWORD = 3; -pub const PF_PPC_MOVEMEM_64BIT_OK: DWORD = 4; -pub const PF_ALPHA_BYTE_INSTRUCTIONS: DWORD = 5; -pub const PF_XMMI_INSTRUCTIONS_AVAILABLE: DWORD = 6; -pub const PF_3DNOW_INSTRUCTIONS_AVAILABLE: DWORD = 7; -pub const PF_RDTSC_INSTRUCTION_AVAILABLE: DWORD = 8; -pub const PF_PAE_ENABLED: DWORD = 9; -pub const PF_XMMI64_INSTRUCTIONS_AVAILABLE: DWORD = 10; -pub const PF_SSE_DAZ_MODE_AVAILABLE: DWORD = 11; -pub const PF_NX_ENABLED: DWORD = 12; -pub const PF_SSE3_INSTRUCTIONS_AVAILABLE: DWORD = 13; -pub const PF_COMPARE_EXCHANGE128: DWORD = 14; -pub const PF_COMPARE64_EXCHANGE128: DWORD = 15; -pub const PF_CHANNELS_ENABLED: DWORD = 16; -pub const PF_XSAVE_ENABLED: DWORD = 17; -pub const PF_ARM_VFP_32_REGISTERS_AVAILABLE: DWORD = 18; -pub const PF_ARM_NEON_INSTRUCTIONS_AVAILABLE: DWORD = 19; -pub const PF_SECOND_LEVEL_ADDRESS_TRANSLATION: DWORD = 20; -pub const PF_VIRT_FIRMWARE_ENABLED: DWORD = 21; -pub const PF_RDWRFSGSBASE_AVAILABLE: DWORD = 22; -pub const PF_FASTFAIL_AVAILABLE: DWORD = 23; -pub const PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE: DWORD = 24; -pub const PF_ARM_64BIT_LOADSTORE_ATOMIC: DWORD = 25; -pub const PF_ARM_EXTERNAL_CACHE_AVAILABLE: DWORD = 26; -pub const PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE: DWORD = 27; -pub const PF_RDRAND_INSTRUCTION_AVAILABLE: DWORD = 28; -pub const PF_ARM_V8_INSTRUCTIONS_AVAILABLE: DWORD = 29; -pub const PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE: DWORD = 30; -pub const PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE: DWORD = 31; -pub const PF_RDTSCP_INSTRUCTION_AVAILABLE: DWORD = 32; -pub const XSTATE_LEGACY_FLOATING_POINT: ULONG64 = 0; -pub const XSTATE_LEGACY_SSE: ULONG64 = 1; -pub const XSTATE_GSSE: ULONG64 = 2; -pub const XSTATE_AVX: ULONG64 = XSTATE_GSSE; -pub const XSTATE_MPX_BNDREGS: ULONG64 = 3; -pub const XSTATE_MPX_BNDCSR: ULONG64 = 4; -pub const XSTATE_AVX512_KMASK: ULONG64 = 5; -pub const XSTATE_AVX512_ZMM_H: ULONG64 = 6; -pub const XSTATE_AVX512_ZMM: ULONG64 = 7; -pub const XSTATE_IPT: ULONG64 = 8; -pub const XSTATE_LWP: ULONG64 = 62; -pub const MAXIMUM_XSTATE_FEATURES: usize = 64; -pub const XSTATE_MASK_LEGACY_FLOATING_POINT: ULONG64 = 1 << XSTATE_LEGACY_FLOATING_POINT; -pub const XSTATE_MASK_LEGACY_SSE: ULONG64 = 1 << XSTATE_LEGACY_SSE; -pub const XSTATE_MASK_LEGACY: ULONG64 = XSTATE_MASK_LEGACY_FLOATING_POINT | XSTATE_MASK_LEGACY_SSE; -pub const XSTATE_MASK_GSSE: ULONG64 = 1 << XSTATE_GSSE; -pub const XSTATE_MASK_AVX: ULONG64 = XSTATE_MASK_GSSE; -pub const XSTATE_MASK_MPX: ULONG64 = (1 << XSTATE_MPX_BNDREGS) | (1 << XSTATE_MPX_BNDCSR); -pub const XSTATE_MASK_AVX512: ULONG64 = (1 << XSTATE_AVX512_KMASK) | (1 << XSTATE_AVX512_ZMM_H) - | (1 << XSTATE_AVX512_ZMM); -pub const XSTATE_MASK_IPT: ULONG64 = 1 << XSTATE_IPT; -pub const XSTATE_MASK_LWP: ULONG64 = 1 << XSTATE_LWP; -pub const XSTATE_MASK_ALLOWED: ULONG64 = XSTATE_MASK_LEGACY | XSTATE_MASK_AVX | XSTATE_MASK_MPX - | XSTATE_MASK_AVX512 | XSTATE_MASK_IPT | XSTATE_MASK_LWP; -pub const XSTATE_MASK_PERSISTENT: ULONG64 = (1 << XSTATE_MPX_BNDCSR) | XSTATE_MASK_LWP; -pub const XSTATE_COMPACTION_ENABLE: ULONG64 = 63; -pub const XSTATE_COMPACTION_ENABLE_MASK: ULONG64 = 1 << XSTATE_COMPACTION_ENABLE; -pub const XSTATE_ALIGN_BIT: ULONG64 = 1; -pub const XSTATE_ALIGN_MASK: ULONG64 = 1 << XSTATE_ALIGN_BIT; -pub const XSTATE_CONTROLFLAG_XSAVEOPT_MASK: ULONG64 = 1; -pub const XSTATE_CONTROLFLAG_XSAVEC_MASK: ULONG64 = 2; -pub const XSTATE_CONTROLFLAG_VALID_MASK: ULONG64 = XSTATE_CONTROLFLAG_XSAVEOPT_MASK - | XSTATE_CONTROLFLAG_XSAVEC_MASK; -STRUCT!{struct XSTATE_FEATURE { - Offset: DWORD, - Size: DWORD, -}} -pub type PXSTATE_FEATURE = *mut XSTATE_FEATURE; -STRUCT!{struct XSTATE_CONFIGURATION { - EnabledFeatures: DWORD64, - EnabledVolatileFeatures: DWORD64, - Size: DWORD, - ControlFlags: DWORD, - Features: [XSTATE_FEATURE; MAXIMUM_XSTATE_FEATURES], - EnabledSupervisorFeatures: DWORD64, - AlignedFeatures: DWORD64, - AllFeatureSize: DWORD, - AllFeatures: [DWORD; MAXIMUM_XSTATE_FEATURES], -}} -BITFIELD!{XSTATE_CONFIGURATION ControlFlags: DWORD [ - OptimizedSave set_OptimizedSave[0..1], - CompactionEnabled set_CompactionEnabled[1..2], -]} -pub type PXSTATE_CONFIGURATION = *mut XSTATE_CONFIGURATION; -STRUCT!{struct MEMORY_BASIC_INFORMATION { - BaseAddress: PVOID, - AllocationBase: PVOID, - AllocationProtect: DWORD, - RegionSize: SIZE_T, - State: DWORD, - Protect: DWORD, - Type: DWORD, -}} -pub type PMEMORY_BASIC_INFORMATION = *mut MEMORY_BASIC_INFORMATION; -STRUCT!{struct MEMORY_BASIC_INFORMATION32 { - BaseAddress: DWORD, - AllocationBase: DWORD, - AllocationProtect: DWORD, - RegionSize: DWORD, - State: DWORD, - Protect: DWORD, - Type: DWORD, -}} -pub type PMEMORY_BASIC_INFORMATION32 = *mut MEMORY_BASIC_INFORMATION32; -STRUCT!{struct MEMORY_BASIC_INFORMATION64 { // FIXME: align 16 - BaseAddress: ULONGLONG, - AllocationBase: ULONGLONG, - AllocationProtect: DWORD, - __alignment1: DWORD, - RegionSize: ULONGLONG, - State: DWORD, - Protect: DWORD, - Type: DWORD, - __alignment2: DWORD, -}} -pub type PMEMORY_BASIC_INFORMATION64 = *mut MEMORY_BASIC_INFORMATION64; -pub const CFG_CALL_TARGET_VALID: ULONG_PTR = 0x00000001; -pub const CFG_CALL_TARGET_PROCESSED: ULONG_PTR = 0x00000002; -pub const CFG_CALL_TARGET_CONVERT_EXPORT_SUPPRESSED_TO_VALID: ULONG_PTR = 0x00000004; -STRUCT!{struct CFG_CALL_TARGET_INFO { - Offset: ULONG_PTR, - Flags: ULONG_PTR, -}} -pub type PCFG_CALL_TARGET_INFO = *mut CFG_CALL_TARGET_INFO; -pub const SECTION_QUERY: DWORD = 0x0001; -pub const SECTION_MAP_WRITE: DWORD = 0x0002; -pub const SECTION_MAP_READ: DWORD = 0x0004; -pub const SECTION_MAP_EXECUTE: DWORD = 0x0008; -pub const SECTION_EXTEND_SIZE: DWORD = 0x0010; -pub const SECTION_MAP_EXECUTE_EXPLICIT: DWORD = 0x0020; -pub const SECTION_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED | SECTION_QUERY - | SECTION_MAP_WRITE | SECTION_MAP_READ | SECTION_MAP_EXECUTE | SECTION_EXTEND_SIZE; -pub const SESSION_QUERY_ACCESS: DWORD = 0x0001; -pub const SESSION_MODIFY_ACCESS: DWORD = 0x0002; -pub const SESSION_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED | SESSION_QUERY_ACCESS - | SESSION_MODIFY_ACCESS; -pub const MEMORY_PARTITION_QUERY_ACCESS: DWORD = 0x0001; -pub const MEMORY_PARTITION_MODIFY_ACCESS: DWORD = 0x0002; -pub const MEMORY_PARTITION_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE - | MEMORY_PARTITION_QUERY_ACCESS | MEMORY_PARTITION_MODIFY_ACCESS; -pub const PAGE_NOACCESS: DWORD = 0x01; -pub const PAGE_READONLY: DWORD = 0x02; -pub const PAGE_READWRITE: DWORD = 0x04; -pub const PAGE_WRITECOPY: DWORD = 0x08; -pub const PAGE_EXECUTE: DWORD = 0x10; -pub const PAGE_EXECUTE_READ: DWORD = 0x20; -pub const PAGE_EXECUTE_READWRITE: DWORD = 0x40; -pub const PAGE_EXECUTE_WRITECOPY: DWORD = 0x80; -pub const PAGE_GUARD: DWORD = 0x100; -pub const PAGE_NOCACHE: DWORD = 0x200; -pub const PAGE_WRITECOMBINE: DWORD = 0x400; -pub const PAGE_ENCLAVE_THREAD_CONTROL: DWORD = 0x80000000; -pub const PAGE_REVERT_TO_FILE_MAP: DWORD = 0x80000000; -pub const PAGE_TARGETS_NO_UPDATE: DWORD = 0x40000000; -pub const PAGE_TARGETS_INVALID: DWORD = 0x40000000; -pub const PAGE_ENCLAVE_UNVALIDATED: DWORD = 0x20000000; -pub const PAGE_ENCLAVE_DECOMMIT: DWORD = 0x10000000; -pub const MEM_COMMIT: DWORD = 0x1000; -pub const MEM_RESERVE: DWORD = 0x2000; -pub const MEM_DECOMMIT: DWORD = 0x4000; -pub const MEM_RELEASE: DWORD = 0x8000; -pub const MEM_FREE: DWORD = 0x10000; -pub const MEM_PRIVATE: DWORD = 0x20000; -pub const MEM_MAPPED: DWORD = 0x40000; -pub const MEM_RESET: DWORD = 0x80000; -pub const MEM_TOP_DOWN: DWORD = 0x100000; -pub const MEM_WRITE_WATCH: DWORD = 0x200000; -pub const MEM_PHYSICAL: DWORD = 0x400000; -pub const MEM_ROTATE: DWORD = 0x800000; -pub const MEM_DIFFERENT_IMAGE_BASE_OK: DWORD = 0x800000; -pub const MEM_RESET_UNDO: DWORD = 0x1000000; -pub const MEM_LARGE_PAGES: DWORD = 0x20000000; -pub const MEM_4MB_PAGES: DWORD = 0x80000000; -pub const MEM_64K_PAGES: DWORD = MEM_LARGE_PAGES | MEM_PHYSICAL; -pub const SEC_64K_PAGES: DWORD = 0x00080000; -pub const SEC_FILE: DWORD = 0x800000; -pub const SEC_IMAGE: DWORD = 0x1000000; -pub const SEC_PROTECTED_IMAGE: DWORD = 0x2000000; -pub const SEC_RESERVE: DWORD = 0x4000000; -pub const SEC_COMMIT: DWORD = 0x8000000; -pub const SEC_NOCACHE: DWORD = 0x10000000; -pub const SEC_WRITECOMBINE: DWORD = 0x40000000; -pub const SEC_LARGE_PAGES: DWORD = 0x80000000; -pub const SEC_IMAGE_NO_EXECUTE: DWORD = (SEC_IMAGE | SEC_NOCACHE); -pub const MEM_IMAGE: DWORD = SEC_IMAGE; -pub const WRITE_WATCH_FLAG_RESET: DWORD = 0x01; -pub const MEM_UNMAP_WITH_TRANSIENT_BOOST: DWORD = 0x01; -pub const ENCLAVE_TYPE_SGX: DWORD = 0x00000001; -pub const ENCLAVE_TYPE_SGX2: DWORD = 0x00000002; -STRUCT!{struct ENCLAVE_CREATE_INFO_SGX { - Secs: [BYTE; 4096], -}} -pub type PENCLAVE_CREATE_INFO_SGX = *mut ENCLAVE_CREATE_INFO_SGX; -STRUCT!{struct ENCLAVE_INIT_INFO_SGX { - SigStruct: [BYTE; 1808], - Reserved1: [BYTE; 240], - EInitToken: [BYTE; 304], - Reserved2: [BYTE; 1744], -}} -pub type PENCLAVE_INIT_INFO_SGX = *mut ENCLAVE_INIT_INFO_SGX; -pub const FILE_READ_DATA: DWORD = 0x0001; -pub const FILE_LIST_DIRECTORY: DWORD = 0x0001; -pub const FILE_WRITE_DATA: DWORD = 0x0002; -pub const FILE_ADD_FILE: DWORD = 0x0002; -pub const FILE_APPEND_DATA: DWORD = 0x0004; -pub const FILE_ADD_SUBDIRECTORY: DWORD = 0x0004; -pub const FILE_CREATE_PIPE_INSTANCE: DWORD = 0x0004; -pub const FILE_READ_EA: DWORD = 0x0008; -pub const FILE_WRITE_EA: DWORD = 0x0010; -pub const FILE_EXECUTE: DWORD = 0x0020; -pub const FILE_TRAVERSE: DWORD = 0x0020; -pub const FILE_DELETE_CHILD: DWORD = 0x0040; -pub const FILE_READ_ATTRIBUTES: DWORD = 0x0080; -pub const FILE_WRITE_ATTRIBUTES: DWORD = 0x0100; -pub const FILE_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF; -pub const FILE_GENERIC_READ: DWORD = STANDARD_RIGHTS_READ | FILE_READ_DATA - | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONIZE; -pub const FILE_GENERIC_WRITE: DWORD = STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA - | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA | SYNCHRONIZE; -pub const FILE_GENERIC_EXECUTE: DWORD = STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES - | FILE_EXECUTE | SYNCHRONIZE; -pub const FILE_SHARE_READ: DWORD = 0x00000001; -pub const FILE_SHARE_WRITE: DWORD = 0x00000002; -pub const FILE_SHARE_DELETE: DWORD = 0x00000004; -pub const FILE_ATTRIBUTE_READONLY: DWORD = 0x00000001; -pub const FILE_ATTRIBUTE_HIDDEN: DWORD = 0x00000002; -pub const FILE_ATTRIBUTE_SYSTEM: DWORD = 0x00000004; -pub const FILE_ATTRIBUTE_DIRECTORY: DWORD = 0x00000010; -pub const FILE_ATTRIBUTE_ARCHIVE: DWORD = 0x00000020; -pub const FILE_ATTRIBUTE_DEVICE: DWORD = 0x00000040; -pub const FILE_ATTRIBUTE_NORMAL: DWORD = 0x00000080; -pub const FILE_ATTRIBUTE_TEMPORARY: DWORD = 0x00000100; -pub const FILE_ATTRIBUTE_SPARSE_FILE: DWORD = 0x00000200; -pub const FILE_ATTRIBUTE_REPARSE_POINT: DWORD = 0x00000400; -pub const FILE_ATTRIBUTE_COMPRESSED: DWORD = 0x00000800; -pub const FILE_ATTRIBUTE_OFFLINE: DWORD = 0x00001000; -pub const FILE_ATTRIBUTE_NOT_CONTENT_INDEXED: DWORD = 0x00002000; -pub const FILE_ATTRIBUTE_ENCRYPTED: DWORD = 0x00004000; -pub const FILE_ATTRIBUTE_INTEGRITY_STREAM: DWORD = 0x00008000; -pub const FILE_ATTRIBUTE_VIRTUAL: DWORD = 0x00010000; -pub const FILE_ATTRIBUTE_NO_SCRUB_DATA: DWORD = 0x00020000; -pub const FILE_ATTRIBUTE_EA: DWORD = 0x00040000; -pub const FILE_ATTRIBUTE_PINNED: DWORD = 0x00080000; -pub const FILE_ATTRIBUTE_UNPINNED: DWORD = 0x00100000; -pub const FILE_ATTRIBUTE_RECALL_ON_OPEN: DWORD = 0x00040000; -pub const FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS: DWORD = 0x00400000; -pub const FILE_NOTIFY_CHANGE_FILE_NAME: DWORD = 0x00000001; -pub const FILE_NOTIFY_CHANGE_DIR_NAME: DWORD = 0x00000002; -pub const FILE_NOTIFY_CHANGE_ATTRIBUTES: DWORD = 0x00000004; -pub const FILE_NOTIFY_CHANGE_SIZE: DWORD = 0x00000008; -pub const FILE_NOTIFY_CHANGE_LAST_WRITE: DWORD = 0x00000010; -pub const FILE_NOTIFY_CHANGE_LAST_ACCESS: DWORD = 0x00000020; -pub const FILE_NOTIFY_CHANGE_CREATION: DWORD = 0x00000040; -pub const FILE_NOTIFY_CHANGE_SECURITY: DWORD = 0x00000100; -pub const FILE_ACTION_ADDED: DWORD = 0x00000001; -pub const FILE_ACTION_REMOVED: DWORD = 0x00000002; -pub const FILE_ACTION_MODIFIED: DWORD = 0x00000003; -pub const FILE_ACTION_RENAMED_OLD_NAME: DWORD = 0x00000004; -pub const FILE_ACTION_RENAMED_NEW_NAME: DWORD = 0x00000005; -pub const MAILSLOT_NO_MESSAGE: DWORD = 0xFFFFFFFF; -pub const MAILSLOT_WAIT_FOREVER: DWORD = 0xFFFFFFFF; -pub const FILE_CASE_SENSITIVE_SEARCH: DWORD = 0x00000001; -pub const FILE_CASE_PRESERVED_NAMES: DWORD = 0x00000002; -pub const FILE_UNICODE_ON_DISK: DWORD = 0x00000004; -pub const FILE_PERSISTENT_ACLS: DWORD = 0x00000008; -pub const FILE_FILE_COMPRESSION: DWORD = 0x00000010; -pub const FILE_VOLUME_QUOTAS: DWORD = 0x00000020; -pub const FILE_SUPPORTS_SPARSE_FILES: DWORD = 0x00000040; -pub const FILE_SUPPORTS_REPARSE_POINTS: DWORD = 0x00000080; -pub const FILE_SUPPORTS_REMOTE_STORAGE: DWORD = 0x00000100; -pub const FILE_RETURNS_CLEANUP_RESULT_INFO: DWORD = 0x00000200; -pub const FILE_VOLUME_IS_COMPRESSED: DWORD = 0x00008000; -pub const FILE_SUPPORTS_OBJECT_IDS: DWORD = 0x00010000; -pub const FILE_SUPPORTS_ENCRYPTION: DWORD = 0x00020000; -pub const FILE_NAMED_STREAMS: DWORD = 0x00040000; -pub const FILE_READ_ONLY_VOLUME: DWORD = 0x00080000; -pub const FILE_SEQUENTIAL_WRITE_ONCE: DWORD = 0x00100000; -pub const FILE_SUPPORTS_TRANSACTIONS: DWORD = 0x00200000; -pub const FILE_SUPPORTS_HARD_LINKS: DWORD = 0x00400000; -pub const FILE_SUPPORTS_EXTENDED_ATTRIBUTES: DWORD = 0x00800000; -pub const FILE_SUPPORTS_OPEN_BY_FILE_ID: DWORD = 0x01000000; -pub const FILE_SUPPORTS_USN_JOURNAL: DWORD = 0x02000000; -pub const FILE_SUPPORTS_INTEGRITY_STREAMS: DWORD = 0x04000000; -pub const FILE_SUPPORTS_BLOCK_REFCOUNTING: DWORD = 0x08000000; -pub const FILE_SUPPORTS_SPARSE_VDL: DWORD = 0x10000000; -pub const FILE_DAX_VOLUME: DWORD = 0x20000000; -pub const FILE_SUPPORTS_GHOSTING: DWORD = 0x40000000; -pub const FILE_INVALID_FILE_ID: LONGLONG = -1; -STRUCT!{struct FILE_ID_128 { - Identifier: [BYTE; 16], -}} -pub type PFILE_ID_128 = *mut FILE_ID_128; -STRUCT!{struct FILE_NOTIFY_INFORMATION { - NextEntryOffset: DWORD, - Action: DWORD, - FileNameLength: DWORD, - FileName: [WCHAR; 1], -}} -UNION!{union FILE_SEGMENT_ELEMENT { - [u64; 1], - Buffer Buffer_mut: PVOID64, - Alignment Alignment_mut: ULONGLONG, -}} -pub type PFILE_SEGMENT_ELEMENT = *mut FILE_SEGMENT_ELEMENT; -pub const FLUSH_FLAGS_FILE_DATA_ONLY: ULONG = 0x00000001; -pub const FLUSH_FLAGS_NO_SYNC: ULONG = 0x00000002; -pub const FLUSH_FLAGS_FILE_DATA_SYNC_ONLY: ULONG = 0x00000004; -STRUCT!{struct REPARSE_GUID_DATA_BUFFER_GenericReparseBuffer { - DataBuffer: [BYTE; 1], -}} -STRUCT!{struct REPARSE_GUID_DATA_BUFFER { - ReparseTag: DWORD, - ReparseDataLength: WORD, - Reserved: WORD, - ReparseGuid: GUID, - GenericReparseBuffer: REPARSE_GUID_DATA_BUFFER_GenericReparseBuffer, -}} -pub type PREPARSE_GUID_DATA_BUFFER = *mut REPARSE_GUID_DATA_BUFFER; -pub const MAXIMUM_REPARSE_DATA_BUFFER_SIZE: DWORD = 16 * 1024; -pub const IO_REPARSE_TAG_RESERVED_ZERO: DWORD = 0; -pub const IO_REPARSE_TAG_RESERVED_ONE: DWORD = 1; -pub const IO_REPARSE_TAG_RESERVED_TWO: DWORD = 2; -pub const IO_REPARSE_TAG_RESERVED_RANGE: DWORD = IO_REPARSE_TAG_RESERVED_TWO; -#[inline] -pub fn IsReparseTagMicrosoft(_tag: DWORD) -> bool { - (_tag & 0x80000000) != 0 -} -#[inline] -pub fn IsReparseTagNameSurrogate(_tag: DWORD) -> bool { - (_tag & 0x20000000) != 0 -} -#[inline] -pub fn IsReparseTagDirectory(_tag: DWORD) -> bool { - (_tag & 0x10000000) != 0 -} -pub const IO_REPARSE_TAG_MOUNT_POINT: DWORD = 0xA0000003; -pub const IO_REPARSE_TAG_HSM: DWORD = 0xC0000004; -pub const IO_REPARSE_TAG_HSM2: DWORD = 0x80000006; -pub const IO_REPARSE_TAG_SIS: DWORD = 0x80000007; -pub const IO_REPARSE_TAG_WIM: DWORD = 0x80000008; -pub const IO_REPARSE_TAG_CSV: DWORD = 0x80000009; -pub const IO_REPARSE_TAG_DFS: DWORD = 0x8000000A; -pub const IO_REPARSE_TAG_SYMLINK: DWORD = 0xA000000C; -pub const IO_REPARSE_TAG_DFSR: DWORD = 0x80000012; -pub const IO_REPARSE_TAG_DEDUP: DWORD = 0x80000013; -pub const IO_REPARSE_TAG_NFS: DWORD = 0x80000014; -pub const IO_REPARSE_TAG_FILE_PLACEHOLDER: DWORD = 0x80000015; -pub const IO_REPARSE_TAG_WOF: DWORD = 0x80000017; -pub const IO_REPARSE_TAG_WCI: DWORD = 0x80000018; -pub const IO_REPARSE_TAG_GLOBAL_REPARSE: DWORD = 0xA0000019; -pub const IO_REPARSE_TAG_CLOUD: DWORD = 0x9000001A; -pub const IO_REPARSE_TAG_CLOUD_ROOT: DWORD = 0x9000101A; -pub const IO_REPARSE_TAG_CLOUD_ON_DEMAND: DWORD = 0x9000201A; -pub const IO_REPARSE_TAG_CLOUD_ROOT_ON_DEMAND: DWORD = 0x9000301A; -pub const IO_REPARSE_TAG_APPEXECLINK: DWORD = 0x8000001B; -pub const IO_REPARSE_TAG_GVFS: DWORD = 0x9000001C; -pub const IO_REPARSE_TAG_WCI_TOMBSTONE: DWORD = 0xA000001F; -pub const IO_REPARSE_TAG_UNHANDLED: DWORD = 0x80000020; -pub const IO_REPARSE_TAG_ONEDRIVE: DWORD = 0x80000021; -pub const IO_REPARSE_TAG_GVFS_TOMBSTONE: DWORD = 0xA0000022; -pub const SCRUB_DATA_INPUT_FLAG_RESUME: DWORD = 0x00000001; -pub const SCRUB_DATA_INPUT_FLAG_SKIP_IN_SYNC: DWORD = 0x00000002; -pub const SCRUB_DATA_INPUT_FLAG_SKIP_NON_INTEGRITY_DATA: DWORD = 0x00000004; -pub const SCRUB_DATA_OUTPUT_FLAG_INCOMPLETE: DWORD = 0x00000001; -pub const SCRUB_DATA_OUTPUT_FLAG_NON_USER_DATA_RANGE: DWORD = 0x00010000; -pub const SCRUB_DATA_OUTPUT_FLAG_PARITY_EXTENT_DATA_RETURNED: DWORD = 0x00020000; -pub const SCRUB_DATA_OUTPUT_FLAG_RESUME_CONTEXT_LENGTH_SPECIFIED: DWORD = 0x00040000; -STRUCT!{struct SCRUB_DATA_INPUT { - Size: DWORD, - Flags: DWORD, - MaximumIos: DWORD, - Reserved: [DWORD; 17], - ResumeContext: [BYTE; 816], -}} -pub type PSCRUB_DATA_INPUT = *mut SCRUB_DATA_INPUT; -STRUCT!{struct SCRUB_PARITY_EXTENT { - Offset: LONGLONG, - Length: ULONGLONG, -}} -pub type PSCRUB_PARITY_EXTENT = *mut SCRUB_PARITY_EXTENT; -STRUCT!{struct SCRUB_PARITY_EXTENT_DATA { - Size: WORD, - Flags: WORD, - NumberOfParityExtents: WORD, - MaximumNumberOfParityExtents: WORD, - ParityExtents: [SCRUB_PARITY_EXTENT; ANYSIZE_ARRAY], -}} -pub type PSCRUB_PARITY_EXTENT_DATA = *mut SCRUB_PARITY_EXTENT_DATA; -STRUCT!{struct SCRUB_DATA_OUTPUT { - Size: DWORD, - Flags: DWORD, - Status: DWORD, - ErrorFileOffset: ULONGLONG, - ErrorLength: ULONGLONG, - NumberOfBytesRepaired: ULONGLONG, - NumberOfBytesFailed: ULONGLONG, - InternalFileReference: ULONGLONG, - ResumeContextLength: WORD, - ParityExtentDataOffset: WORD, - Reserved: [DWORD; 5], - ResumeContext: [BYTE; 816], -}} -pub type PSCRUB_DATA_OUTPUT = *mut SCRUB_DATA_OUTPUT; -ENUM!{enum SharedVirtualDiskSupportType { - SharedVirtualDisksUnsupported = 0, - SharedVirtualDisksSupported = 1, - SharedVirtualDiskSnapshotsSupported = 3, - SharedVirtualDiskCDPSnapshotsSupported = 7, -}} -ENUM!{enum SharedVirtualDiskHandleState { - SharedVirtualDiskHandleStateNone = 0, - SharedVirtualDiskHandleStateFileShared = 1, - SharedVirtualDiskHandleStateHandleShared = 3, -}} -STRUCT!{struct SHARED_VIRTUAL_DISK_SUPPORT { - SharedVirtualDiskSupport: SharedVirtualDiskSupportType, - HandleState: SharedVirtualDiskHandleState, -}} -pub type PSHARED_VIRTUAL_DISK_SUPPORT = *mut SHARED_VIRTUAL_DISK_SUPPORT; -#[inline] -pub fn IsVirtualDiskFileShared(HandleState: SharedVirtualDiskHandleState) -> bool { - (HandleState & SharedVirtualDiskHandleStateFileShared) != 0 -} -pub const IO_COMPLETION_MODIFY_STATE: DWORD = 0x0002; -pub const IO_COMPLETION_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3; -pub const IO_QOS_MAX_RESERVATION: DWORD64 = 1000000000; -pub const SMB_CCF_APP_INSTANCE_EA_NAME: &'static str = "ClusteredApplicationInstance"; -pub const NETWORK_APP_INSTANCE_CSV_FLAGS_VALID_ONLY_IF_CSV_COORDINATOR: DWORD = 0x00000001; -STRUCT!{struct NETWORK_APP_INSTANCE_EA { - AppInstanceID: GUID, - CsvFlags: DWORD, -}} -pub type PNETWORK_APP_INSTANCE_EA = *mut NETWORK_APP_INSTANCE_EA; -pub const DUPLICATE_CLOSE_SOURCE: DWORD = 0x00000001; -pub const DUPLICATE_SAME_ACCESS: DWORD = 0x00000002; -DEFINE_GUID!{GUID_MAX_POWER_SAVINGS, - 0xa1841308, 0x3541, 0x4fab, 0xbc, 0x81, 0xf7, 0x15, 0x56, 0xf2, 0x0b, 0x4a} -DEFINE_GUID!{GUID_MIN_POWER_SAVINGS, - 0x8c5e7fda, 0xe8bf, 0x4a96, 0x9a, 0x85, 0xa6, 0xe2, 0x3a, 0x8c, 0x63, 0x5c} -DEFINE_GUID!{GUID_TYPICAL_POWER_SAVINGS, - 0x381b4222, 0xf694, 0x41f0, 0x96, 0x85, 0xff, 0x5b, 0xb2, 0x60, 0xdf, 0x2e} -DEFINE_GUID!{NO_SUBGROUP_GUID, - 0xfea3413e, 0x7e05, 0x4911, 0x9a, 0x71, 0x70, 0x03, 0x31, 0xf1, 0xc2, 0x94} -DEFINE_GUID!{ALL_POWERSCHEMES_GUID, - 0x68a1e95e, 0x13ea, 0x41e1, 0x80, 0x11, 0x0c, 0x49, 0x6c, 0xa4, 0x90, 0xb0} -DEFINE_GUID!{GUID_POWERSCHEME_PERSONALITY, - 0x245d8541, 0x3943, 0x4422, 0xb0, 0x25, 0x13, 0xa7, 0x84, 0xf6, 0x79, 0xb7} -DEFINE_GUID!{GUID_ACTIVE_POWERSCHEME, - 0x31f9f286, 0x5084, 0x42fe, 0xb7, 0x20, 0x2b, 0x02, 0x64, 0x99, 0x37, 0x63} -DEFINE_GUID!{GUID_IDLE_RESILIENCY_SUBGROUP, - 0x2e601130, 0x5351, 0x4d9d, 0x8e, 0x4, 0x25, 0x29, 0x66, 0xba, 0xd0, 0x54} -DEFINE_GUID!{GUID_IDLE_RESILIENCY_PERIOD, - 0xc42b79aa, 0xaa3a, 0x484b, 0xa9, 0x8f, 0x2c, 0xf3, 0x2a, 0xa9, 0xa, 0x28} -DEFINE_GUID!{GUID_DEEP_SLEEP_ENABLED, - 0xd502f7ee, 0x1dc7, 0x4efd, 0xa5, 0x5d, 0xf0, 0x4b, 0x6f, 0x5c, 0x5, 0x45} -DEFINE_GUID!{GUID_DEEP_SLEEP_PLATFORM_STATE, - 0xd23f2fb8, 0x9536, 0x4038, 0x9c, 0x94, 0x1c, 0xe0, 0x2e, 0x5c, 0x21, 0x52} -DEFINE_GUID!{GUID_DISK_COALESCING_POWERDOWN_TIMEOUT, - 0xc36f0eb4, 0x2988, 0x4a70, 0x8e, 0xee, 0x8, 0x84, 0xfc, 0x2c, 0x24, 0x33} -DEFINE_GUID!{GUID_EXECUTION_REQUIRED_REQUEST_TIMEOUT, - 0x3166bc41, 0x7e98, 0x4e03, 0xb3, 0x4e, 0xec, 0xf, 0x5f, 0x2b, 0x21, 0x8e} -DEFINE_GUID!{GUID_VIDEO_SUBGROUP, - 0x7516b95f, 0xf776, 0x4464, 0x8c, 0x53, 0x06, 0x16, 0x7f, 0x40, 0xcc, 0x99} -DEFINE_GUID!{GUID_VIDEO_POWERDOWN_TIMEOUT, - 0x3c0bc021, 0xc8a8, 0x4e07, 0xa9, 0x73, 0x6b, 0x14, 0xcb, 0xcb, 0x2b, 0x7e} -DEFINE_GUID!{GUID_VIDEO_ANNOYANCE_TIMEOUT, - 0x82dbcf2d, 0xcd67, 0x40c5, 0xbf, 0xdc, 0x9f, 0x1a, 0x5c, 0xcd, 0x46, 0x63} -DEFINE_GUID!{GUID_VIDEO_ADAPTIVE_PERCENT_INCREASE, - 0xeed904df, 0xb142, 0x4183, 0xb1, 0x0b, 0x5a, 0x11, 0x97, 0xa3, 0x78, 0x64} -DEFINE_GUID!{GUID_VIDEO_DIM_TIMEOUT, - 0x17aaa29b, 0x8b43, 0x4b94, 0xaa, 0xfe, 0x35, 0xf6, 0x4d, 0xaa, 0xf1, 0xee} -DEFINE_GUID!{GUID_VIDEO_ADAPTIVE_POWERDOWN, - 0x90959d22, 0xd6a1, 0x49b9, 0xaf, 0x93, 0xbc, 0xe8, 0x85, 0xad, 0x33, 0x5b} -DEFINE_GUID!{GUID_MONITOR_POWER_ON, - 0x02731015, 0x4510, 0x4526, 0x99, 0xe6, 0xe5, 0xa1, 0x7e, 0xbd, 0x1a, 0xea} -DEFINE_GUID!{GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS, - 0xaded5e82, 0xb909, 0x4619, 0x99, 0x49, 0xf5, 0xd7, 0x1d, 0xac, 0x0b, 0xcb} -DEFINE_GUID!{GUID_DEVICE_POWER_POLICY_VIDEO_DIM_BRIGHTNESS, - 0xf1fbfde2, 0xa960, 0x4165, 0x9f, 0x88, 0x50, 0x66, 0x79, 0x11, 0xce, 0x96} -DEFINE_GUID!{GUID_VIDEO_CURRENT_MONITOR_BRIGHTNESS, - 0x8ffee2c6, 0x2d01, 0x46be, 0xad, 0xb9, 0x39, 0x8a, 0xdd, 0xc5, 0xb4, 0xff} -DEFINE_GUID!{GUID_VIDEO_ADAPTIVE_DISPLAY_BRIGHTNESS, - 0xfbd9aa66, 0x9553, 0x4097, 0xba, 0x44, 0xed, 0x6e, 0x9d, 0x65, 0xea, 0xb8} -DEFINE_GUID!{GUID_CONSOLE_DISPLAY_STATE, - 0x6fe69556, 0x704a, 0x47a0, 0x8f, 0x24, 0xc2, 0x8d, 0x93, 0x6f, 0xda, 0x47} -DEFINE_GUID!{GUID_ALLOW_DISPLAY_REQUIRED, - 0xa9ceb8da, 0xcd46, 0x44fb, 0xa9, 0x8b, 0x02, 0xaf, 0x69, 0xde, 0x46, 0x23} -DEFINE_GUID!{GUID_VIDEO_CONSOLE_LOCK_TIMEOUT, - 0x8ec4b3a5, 0x6868, 0x48c2, 0xbe, 0x75, 0x4f, 0x30, 0x44, 0xbe, 0x88, 0xa7} -DEFINE_GUID!{GUID_ADAPTIVE_POWER_BEHAVIOR_SUBGROUP, - 0x8619b916, 0xe004, 0x4dd8, 0x9b, 0x66, 0xda, 0xe8, 0x6f, 0x80, 0x66, 0x98} -DEFINE_GUID!{GUID_NON_ADAPTIVE_INPUT_TIMEOUT, - 0x5adbbfbc, 0x74e, 0x4da1, 0xba, 0x38, 0xdb, 0x8b, 0x36, 0xb2, 0xc8, 0xf3} -DEFINE_GUID!{GUID_ADAPTIVE_INPUT_CONTROLLER_STATE, - 0xe98fae9, 0xf45a, 0x4de1, 0xa7, 0x57, 0x60, 0x31, 0xf1, 0x97, 0xf6, 0xea} -DEFINE_GUID!{GUID_DISK_SUBGROUP, - 0x0012ee47, 0x9041, 0x4b5d, 0x9b, 0x77, 0x53, 0x5f, 0xba, 0x8b, 0x14, 0x42} -DEFINE_GUID!{GUID_DISK_MAX_POWER, - 0x51dea550, 0xbb38, 0x4bc4, 0x99, 0x1b, 0xea, 0xcf, 0x37, 0xbe, 0x5e, 0xc8} -DEFINE_GUID!{GUID_DISK_POWERDOWN_TIMEOUT, - 0x6738e2c4, 0xe8a5, 0x4a42, 0xb1, 0x6a, 0xe0, 0x40, 0xe7, 0x69, 0x75, 0x6e} -DEFINE_GUID!{GUID_DISK_IDLE_TIMEOUT, - 0x58e39ba8, 0xb8e6, 0x4ef6, 0x90, 0xd0, 0x89, 0xae, 0x32, 0xb2, 0x58, 0xd6} -DEFINE_GUID!{GUID_DISK_BURST_IGNORE_THRESHOLD, - 0x80e3c60e, 0xbb94, 0x4ad8, 0xbb, 0xe0, 0x0d, 0x31, 0x95, 0xef, 0xc6, 0x63} -DEFINE_GUID!{GUID_DISK_ADAPTIVE_POWERDOWN, - 0x396a32e1, 0x499a, 0x40b2, 0x91, 0x24, 0xa9, 0x6a, 0xfe, 0x70, 0x76, 0x67} -DEFINE_GUID!{GUID_SLEEP_SUBGROUP, - 0x238c9fa8, 0x0aad, 0x41ed, 0x83, 0xf4, 0x97, 0xbe, 0x24, 0x2c, 0x8f, 0x20} -DEFINE_GUID!{GUID_SLEEP_IDLE_THRESHOLD, - 0x81cd32e0, 0x7833, 0x44f3, 0x87, 0x37, 0x70, 0x81, 0xf3, 0x8d, 0x1f, 0x70} -DEFINE_GUID!{GUID_STANDBY_TIMEOUT, - 0x29f6c1db, 0x86da, 0x48c5, 0x9f, 0xdb, 0xf2, 0xb6, 0x7b, 0x1f, 0x44, 0xda} -DEFINE_GUID!{GUID_UNATTEND_SLEEP_TIMEOUT, - 0x7bc4a2f9, 0xd8fc, 0x4469, 0xb0, 0x7b, 0x33, 0xeb, 0x78, 0x5a, 0xac, 0xa0} -DEFINE_GUID!{GUID_HIBERNATE_TIMEOUT, - 0x9d7815a6, 0x7ee4, 0x497e, 0x88, 0x88, 0x51, 0x5a, 0x05, 0xf0, 0x23, 0x64} -DEFINE_GUID!{GUID_HIBERNATE_FASTS4_POLICY, - 0x94ac6d29, 0x73ce, 0x41a6, 0x80, 0x9f, 0x63, 0x63, 0xba, 0x21, 0xb4, 0x7e} -DEFINE_GUID!{GUID_CRITICAL_POWER_TRANSITION, - 0xb7a27025, 0xe569, 0x46c2, 0xa5, 0x04, 0x2b, 0x96, 0xca, 0xd2, 0x25, 0xa1} -DEFINE_GUID!{GUID_SYSTEM_AWAYMODE, - 0x98a7f580, 0x01f7, 0x48aa, 0x9c, 0x0f, 0x44, 0x35, 0x2c, 0x29, 0xe5, 0xc0} -DEFINE_GUID!{GUID_ALLOW_AWAYMODE, - 0x25dfa149, 0x5dd1, 0x4736, 0xb5, 0xab, 0xe8, 0xa3, 0x7b, 0x5b, 0x81, 0x87} -DEFINE_GUID!{GUID_USER_PRESENCE_PREDICTION, - 0x82011705, 0xfb95, 0x4d46, 0x8d, 0x35, 0x40, 0x42, 0xb1, 0xd2, 0xd, 0xef} -DEFINE_GUID!{GUID_STANDBY_BUDGET_GRACE_PERIOD, - 0x60c07fe1, 0x0556, 0x45cf, 0x99, 0x03, 0xd5, 0x6e, 0x32, 0x21, 0x2, 0x42} -DEFINE_GUID!{GUID_STANDBY_BUDGET_PERCENT, - 0x9fe527be, 0x1b70, 0x48da, 0x93, 0x0d, 0x7b, 0xcf, 0x17, 0xb4, 0x49, 0x90} -DEFINE_GUID!{GUID_STANDBY_RESERVE_GRACE_PERIOD, - 0xc763ee92, 0x71e8, 0x4127, 0x84, 0xeb, 0xf6, 0xed, 0x04, 0x3a, 0x3e, 0x3d} -DEFINE_GUID!{GUID_STANDBY_RESERVE_TIME, - 0x468fe7e5, 0x1158, 0x46ec, 0x88, 0xbc, 0x5b, 0x96, 0xc9, 0xe4, 0x4f, 0xd0} -DEFINE_GUID!{GUID_STANDBY_RESET_PERCENT, - 0x49cb11a5, 0x56e2, 0x4afb, 0x9d, 0x38, 0x3d, 0xf4, 0x78, 0x72, 0xe2, 0x1b} -DEFINE_GUID!{GUID_ALLOW_STANDBY_STATES, - 0xabfc2519, 0x3608, 0x4c2a, 0x94, 0xea, 0x17, 0x1b, 0x0e, 0xd5, 0x46, 0xab} -DEFINE_GUID!{GUID_ALLOW_RTC_WAKE, - 0xbd3b718a, 0x0680, 0x4d9d, 0x8a, 0xb2, 0xe1, 0xd2, 0xb4, 0xac, 0x80, 0x6d} -DEFINE_GUID!{GUID_ALLOW_SYSTEM_REQUIRED, - 0xa4b195f5, 0x8225, 0x47d8, 0x80, 0x12, 0x9d, 0x41, 0x36, 0x97, 0x86, 0xe2} -DEFINE_GUID!{GUID_POWER_SAVING_STATUS, - 0xe00958c0, 0xc213, 0x4ace, 0xac, 0x77, 0xfe, 0xcc, 0xed, 0x2e, 0xee, 0xa5} -DEFINE_GUID!{GUID_ENERGY_SAVER_SUBGROUP, - 0xde830923, 0xa562, 0x41af, 0xa0, 0x86, 0xe3, 0xa2, 0xc6, 0xba, 0xd2, 0xda} -DEFINE_GUID!{GUID_ENERGY_SAVER_BATTERY_THRESHOLD, - 0xe69653ca, 0xcf7f, 0x4f05, 0xaa, 0x73, 0xcb, 0x83, 0x3f, 0xa9, 0x0a, 0xd4} -DEFINE_GUID!{GUID_ENERGY_SAVER_BRIGHTNESS, - 0x13d09884, 0xf74e, 0x474a, 0xa8, 0x52, 0xb6, 0xbd, 0xe8, 0xad, 0x03, 0xa8} -DEFINE_GUID!{GUID_ENERGY_SAVER_POLICY, - 0x5c5bb349, 0xad29, 0x4ee2, 0x9d, 0xb, 0x2b, 0x25, 0x27, 0xf, 0x7a, 0x81} -DEFINE_GUID!{GUID_SYSTEM_BUTTON_SUBGROUP, - 0x4f971e89, 0xeebd, 0x4455, 0xa8, 0xde, 0x9e, 0x59, 0x04, 0x0e, 0x73, 0x47} -pub const POWERBUTTON_ACTION_INDEX_NOTHING: DWORD = 0; -pub const POWERBUTTON_ACTION_INDEX_SLEEP: DWORD = 1; -pub const POWERBUTTON_ACTION_INDEX_HIBERNATE: DWORD = 2; -pub const POWERBUTTON_ACTION_INDEX_SHUTDOWN: DWORD = 3; -pub const POWERBUTTON_ACTION_INDEX_TURN_OFF_THE_DISPLAY: DWORD = 4; -pub const POWERBUTTON_ACTION_VALUE_NOTHING: DWORD = 0; -pub const POWERBUTTON_ACTION_VALUE_SLEEP: DWORD = 2; -pub const POWERBUTTON_ACTION_VALUE_HIBERNATE: DWORD = 3; -pub const POWERBUTTON_ACTION_VALUE_SHUTDOWN: DWORD = 6; -pub const POWERBUTTON_ACTION_VALUE_TURN_OFF_THE_DISPLAY: DWORD = 8; -DEFINE_GUID!{GUID_POWERBUTTON_ACTION, - 0x7648efa3, 0xdd9c, 0x4e3e, 0xb5, 0x66, 0x50, 0xf9, 0x29, 0x38, 0x62, 0x80} -DEFINE_GUID!{GUID_SLEEPBUTTON_ACTION, - 0x96996bc0, 0xad50, 0x47ec, 0x92, 0x3b, 0x6f, 0x41, 0x87, 0x4d, 0xd9, 0xeb} -DEFINE_GUID!{GUID_USERINTERFACEBUTTON_ACTION, - 0xa7066653, 0x8d6c, 0x40a8, 0x91, 0x0e, 0xa1, 0xf5, 0x4b, 0x84, 0xc7, 0xe5} -DEFINE_GUID!{GUID_LIDCLOSE_ACTION, - 0x5ca83367, 0x6e45, 0x459f, 0xa2, 0x7b, 0x47, 0x6b, 0x1d, 0x01, 0xc9, 0x36} -DEFINE_GUID!{GUID_LIDOPEN_POWERSTATE, - 0x99ff10e7, 0x23b1, 0x4c07, 0xa9, 0xd1, 0x5c, 0x32, 0x06, 0xd7, 0x41, 0xb4} -DEFINE_GUID!{GUID_BATTERY_SUBGROUP, - 0xe73a048d, 0xbf27, 0x4f12, 0x97, 0x31, 0x8b, 0x20, 0x76, 0xe8, 0x89, 0x1f} -DEFINE_GUID!{GUID_BATTERY_DISCHARGE_ACTION_0, - 0x637ea02f, 0xbbcb, 0x4015, 0x8e, 0x2c, 0xa1, 0xc7, 0xb9, 0xc0, 0xb5, 0x46} -DEFINE_GUID!{GUID_BATTERY_DISCHARGE_LEVEL_0, - 0x9a66d8d7, 0x4ff7, 0x4ef9, 0xb5, 0xa2, 0x5a, 0x32, 0x6c, 0xa2, 0xa4, 0x69} -DEFINE_GUID!{GUID_BATTERY_DISCHARGE_FLAGS_0, - 0x5dbb7c9f, 0x38e9, 0x40d2, 0x97, 0x49, 0x4f, 0x8a, 0x0e, 0x9f, 0x64, 0x0f} -DEFINE_GUID!{GUID_BATTERY_DISCHARGE_ACTION_1, - 0xd8742dcb, 0x3e6a, 0x4b3c, 0xb3, 0xfe, 0x37, 0x46, 0x23, 0xcd, 0xcf, 0x06} -DEFINE_GUID!{GUID_BATTERY_DISCHARGE_LEVEL_1, - 0x8183ba9a, 0xe910, 0x48da, 0x87, 0x69, 0x14, 0xae, 0x6d, 0xc1, 0x17, 0x0a} -DEFINE_GUID!{GUID_BATTERY_DISCHARGE_FLAGS_1, - 0xbcded951, 0x187b, 0x4d05, 0xbc, 0xcc, 0xf7, 0xe5, 0x19, 0x60, 0xc2, 0x58} -DEFINE_GUID!{GUID_BATTERY_DISCHARGE_ACTION_2, - 0x421cba38, 0x1a8e, 0x4881, 0xac, 0x89, 0xe3, 0x3a, 0x8b, 0x04, 0xec, 0xe4} -DEFINE_GUID!{GUID_BATTERY_DISCHARGE_LEVEL_2, - 0x07a07ca2, 0xadaf, 0x40d7, 0xb0, 0x77, 0x53, 0x3a, 0xad, 0xed, 0x1b, 0xfa} -DEFINE_GUID!{GUID_BATTERY_DISCHARGE_FLAGS_2, - 0x7fd2f0c4, 0xfeb7, 0x4da3, 0x81, 0x17, 0xe3, 0xfb, 0xed, 0xc4, 0x65, 0x82} -DEFINE_GUID!{GUID_BATTERY_DISCHARGE_ACTION_3, - 0x80472613, 0x9780, 0x455e, 0xb3, 0x08, 0x72, 0xd3, 0x00, 0x3c, 0xf2, 0xf8} -DEFINE_GUID!{GUID_BATTERY_DISCHARGE_LEVEL_3, - 0x58afd5a6, 0xc2dd, 0x47d2, 0x9f, 0xbf, 0xef, 0x70, 0xcc, 0x5c, 0x59, 0x65} -DEFINE_GUID!{GUID_BATTERY_DISCHARGE_FLAGS_3, - 0x73613ccf, 0xdbfa, 0x4279, 0x83, 0x56, 0x49, 0x35, 0xf6, 0xbf, 0x62, 0xf3} -DEFINE_GUID!{GUID_PROCESSOR_SETTINGS_SUBGROUP, - 0x54533251, 0x82be, 0x4824, 0x96, 0xc1, 0x47, 0xb6, 0x0b, 0x74, 0x0d, 0x00} -DEFINE_GUID!{GUID_PROCESSOR_THROTTLE_POLICY, - 0x57027304, 0x4af6, 0x4104, 0x92, 0x60, 0xe3, 0xd9, 0x52, 0x48, 0xfc, 0x36} -pub const PERFSTATE_POLICY_CHANGE_IDEAL: DWORD = 0; -pub const PERFSTATE_POLICY_CHANGE_SINGLE: DWORD = 1; -pub const PERFSTATE_POLICY_CHANGE_ROCKET: DWORD = 2; -pub const PERFSTATE_POLICY_CHANGE_IDEAL_AGGRESSIVE: DWORD = 3; -pub const PERFSTATE_POLICY_CHANGE_DECREASE_MAX: DWORD = PERFSTATE_POLICY_CHANGE_ROCKET; -pub const PERFSTATE_POLICY_CHANGE_INCREASE_MAX: DWORD = PERFSTATE_POLICY_CHANGE_IDEAL_AGGRESSIVE; -DEFINE_GUID!{GUID_PROCESSOR_THROTTLE_MAXIMUM, - 0xbc5038f7, 0x23e0, 0x4960, 0x96, 0xda, 0x33, 0xab, 0xaf, 0x59, 0x35, 0xec} -DEFINE_GUID!{GUID_PROCESSOR_THROTTLE_MAXIMUM_1, - 0xbc5038f7, 0x23e0, 0x4960, 0x96, 0xda, 0x33, 0xab, 0xaf, 0x59, 0x35, 0xed} -DEFINE_GUID!{GUID_PROCESSOR_THROTTLE_MINIMUM, - 0x893dee8e, 0x2bef, 0x41e0, 0x89, 0xc6, 0xb5, 0x5d, 0x09, 0x29, 0x96, 0x4c} -DEFINE_GUID!{GUID_PROCESSOR_THROTTLE_MINIMUM_1, - 0x893dee8e, 0x2bef, 0x41e0, 0x89, 0xc6, 0xb5, 0x5d, 0x09, 0x29, 0x96, 0x4d} -DEFINE_GUID!{GUID_PROCESSOR_FREQUENCY_LIMIT, - 0x75b0ae3f, 0xbce0, 0x45a7, 0x8c, 0x89, 0xc9, 0x61, 0x1c, 0x25, 0xe1, 0x00} -DEFINE_GUID!{GUID_PROCESSOR_FREQUENCY_LIMIT_1, - 0x75b0ae3f, 0xbce0, 0x45a7, 0x8c, 0x89, 0xc9, 0x61, 0x1c, 0x25, 0xe1, 0x01} -DEFINE_GUID!{GUID_PROCESSOR_ALLOW_THROTTLING, - 0x3b04d4fd, 0x1cc7, 0x4f23, 0xab, 0x1c, 0xd1, 0x33, 0x78, 0x19, 0xc4, 0xbb} -pub const PROCESSOR_THROTTLE_DISABLED: DWORD = 0; -pub const PROCESSOR_THROTTLE_ENABLED: DWORD = 1; -pub const PROCESSOR_THROTTLE_AUTOMATIC: DWORD = 2; -DEFINE_GUID!{GUID_PROCESSOR_IDLESTATE_POLICY, - 0x68f262a7, 0xf621, 0x4069, 0xb9, 0xa5, 0x48, 0x74, 0x16, 0x9b, 0xe2, 0x3c} -DEFINE_GUID!{GUID_PROCESSOR_PERFSTATE_POLICY, - 0xbbdc3814, 0x18e9, 0x4463, 0x8a, 0x55, 0xd1, 0x97, 0x32, 0x7c, 0x45, 0xc0} -DEFINE_GUID!{GUID_PROCESSOR_PERF_INCREASE_THRESHOLD, - 0x06cadf0e, 0x64ed, 0x448a, 0x89, 0x27, 0xce, 0x7b, 0xf9, 0x0e, 0xb3, 0x5d} -DEFINE_GUID!{GUID_PROCESSOR_PERF_INCREASE_THRESHOLD_1, - 0x06cadf0e, 0x64ed, 0x448a, 0x89, 0x27, 0xce, 0x7b, 0xf9, 0x0e, 0xb3, 0x5e} -DEFINE_GUID!{GUID_PROCESSOR_PERF_DECREASE_THRESHOLD, - 0x12a0ab44, 0xfe28, 0x4fa9, 0xb3, 0xbd, 0x4b, 0x64, 0xf4, 0x49, 0x60, 0xa6} -DEFINE_GUID!{GUID_PROCESSOR_PERF_DECREASE_THRESHOLD_1, - 0x12a0ab44, 0xfe28, 0x4fa9, 0xb3, 0xbd, 0x4b, 0x64, 0xf4, 0x49, 0x60, 0xa7} -DEFINE_GUID!{GUID_PROCESSOR_PERF_INCREASE_POLICY, - 0x465e1f50, 0xb610, 0x473a, 0xab, 0x58, 0x0, 0xd1, 0x7, 0x7d, 0xc4, 0x18} -DEFINE_GUID!{GUID_PROCESSOR_PERF_INCREASE_POLICY_1, - 0x465e1f50, 0xb610, 0x473a, 0xab, 0x58, 0x0, 0xd1, 0x7, 0x7d, 0xc4, 0x19} -DEFINE_GUID!{GUID_PROCESSOR_PERF_DECREASE_POLICY, - 0x40fbefc7, 0x2e9d, 0x4d25, 0xa1, 0x85, 0xc, 0xfd, 0x85, 0x74, 0xba, 0xc6} -DEFINE_GUID!{GUID_PROCESSOR_PERF_DECREASE_POLICY_1, - 0x40fbefc7, 0x2e9d, 0x4d25, 0xa1, 0x85, 0xc, 0xfd, 0x85, 0x74, 0xba, 0xc7} -DEFINE_GUID!{GUID_PROCESSOR_PERF_INCREASE_TIME, - 0x984cf492, 0x3bed, 0x4488, 0xa8, 0xf9, 0x42, 0x86, 0xc9, 0x7b, 0xf5, 0xaa} -DEFINE_GUID!{GUID_PROCESSOR_PERF_INCREASE_TIME_1, - 0x984cf492, 0x3bed, 0x4488, 0xa8, 0xf9, 0x42, 0x86, 0xc9, 0x7b, 0xf5, 0xab} -DEFINE_GUID!{GUID_PROCESSOR_PERF_DECREASE_TIME, - 0xd8edeb9b, 0x95cf, 0x4f95, 0xa7, 0x3c, 0xb0, 0x61, 0x97, 0x36, 0x93, 0xc8} -DEFINE_GUID!{GUID_PROCESSOR_PERF_DECREASE_TIME_1, - 0xd8edeb9b, 0x95cf, 0x4f95, 0xa7, 0x3c, 0xb0, 0x61, 0x97, 0x36, 0x93, 0xc9} -DEFINE_GUID!{GUID_PROCESSOR_PERF_TIME_CHECK, - 0x4d2b0152, 0x7d5c, 0x498b, 0x88, 0xe2, 0x34, 0x34, 0x53, 0x92, 0xa2, 0xc5} -DEFINE_GUID!{GUID_PROCESSOR_PERF_BOOST_POLICY, - 0x45bcc044, 0xd885, 0x43e2, 0x86, 0x5, 0xee, 0xe, 0xc6, 0xe9, 0x6b, 0x59} -pub const PROCESSOR_PERF_BOOST_POLICY_DISABLED: DWORD = 0; -pub const PROCESSOR_PERF_BOOST_POLICY_MAX: DWORD = 100; -DEFINE_GUID!{GUID_PROCESSOR_PERF_BOOST_MODE, - 0xbe337238, 0xd82, 0x4146, 0xa9, 0x60, 0x4f, 0x37, 0x49, 0xd4, 0x70, 0xc7} -pub const PROCESSOR_PERF_BOOST_MODE_DISABLED: DWORD = 0; -pub const PROCESSOR_PERF_BOOST_MODE_ENABLED: DWORD = 1; -pub const PROCESSOR_PERF_BOOST_MODE_AGGRESSIVE: DWORD = 2; -pub const PROCESSOR_PERF_BOOST_MODE_EFFICIENT_ENABLED: DWORD = 3; -pub const PROCESSOR_PERF_BOOST_MODE_EFFICIENT_AGGRESSIVE: DWORD = 4; -pub const PROCESSOR_PERF_BOOST_MODE_AGGRESSIVE_AT_GUARANTEED: DWORD = 5; -pub const PROCESSOR_PERF_BOOST_MODE_EFFICIENT_AGGRESSIVE_AT_GUARANTEED: DWORD = 6; -pub const PROCESSOR_PERF_BOOST_MODE_MAX: DWORD - = PROCESSOR_PERF_BOOST_MODE_EFFICIENT_AGGRESSIVE_AT_GUARANTEED; -DEFINE_GUID!{GUID_PROCESSOR_PERF_AUTONOMOUS_MODE, - 0x8baa4a8a, 0x14c6, 0x4451, 0x8e, 0x8b, 0x14, 0xbd, 0xbd, 0x19, 0x75, 0x37} -pub const PROCESSOR_PERF_AUTONOMOUS_MODE_DISABLED: DWORD = 0; -pub const PROCESSOR_PERF_AUTONOMOUS_MODE_ENABLED: DWORD = 1; -DEFINE_GUID!{GUID_PROCESSOR_PERF_ENERGY_PERFORMANCE_PREFERENCE, - 0x36687f9e, 0xe3a5, 0x4dbf, 0xb1, 0xdc, 0x15, 0xeb, 0x38, 0x1c, 0x68, 0x63} -pub const PROCESSOR_PERF_PERFORMANCE_PREFERENCE: DWORD = 0xff; -pub const PROCESSOR_PERF_ENERGY_PREFERENCE: DWORD = 0; -DEFINE_GUID!{GUID_PROCESSOR_PERF_AUTONOMOUS_ACTIVITY_WINDOW, - 0xcfeda3d0, 0x7697, 0x4566, 0xa9, 0x22, 0xa9, 0x8, 0x6c, 0xd4, 0x9d, 0xfa} -pub const PROCESSOR_PERF_MINIMUM_ACTIVITY_WINDOW: DWORD = 0; -pub const PROCESSOR_PERF_MAXIMUM_ACTIVITY_WINDOW: DWORD = 1270000000; -DEFINE_GUID!{GUID_PROCESSOR_DUTY_CYCLING, - 0x4e4450b3, 0x6179, 0x4e91, 0xb8, 0xf1, 0x5b, 0xb9, 0x93, 0x8f, 0x81, 0xa1} -pub const PROCESSOR_DUTY_CYCLING_DISABLED: DWORD = 0; -pub const PROCESSOR_DUTY_CYCLING_ENABLED: DWORD = 1; -DEFINE_GUID!{GUID_PROCESSOR_IDLE_ALLOW_SCALING, - 0x6c2993b0, 0x8f48, 0x481f, 0xbc, 0xc6, 0x0, 0xdd, 0x27, 0x42, 0xaa, 0x6} -DEFINE_GUID!{GUID_PROCESSOR_IDLE_DISABLE, - 0x5d76a2ca, 0xe8c0, 0x402f, 0xa1, 0x33, 0x21, 0x58, 0x49, 0x2d, 0x58, 0xad} -DEFINE_GUID!{GUID_PROCESSOR_IDLE_STATE_MAXIMUM, - 0x9943e905, 0x9a30, 0x4ec1, 0x9b, 0x99, 0x44, 0xdd, 0x3b, 0x76, 0xf7, 0xa2} -DEFINE_GUID!{GUID_PROCESSOR_IDLE_TIME_CHECK, - 0xc4581c31, 0x89ab, 0x4597, 0x8e, 0x2b, 0x9c, 0x9c, 0xab, 0x44, 0xe, 0x6b} -DEFINE_GUID!{GUID_PROCESSOR_IDLE_DEMOTE_THRESHOLD, - 0x4b92d758, 0x5a24, 0x4851, 0xa4, 0x70, 0x81, 0x5d, 0x78, 0xae, 0xe1, 0x19} -DEFINE_GUID!{GUID_PROCESSOR_IDLE_PROMOTE_THRESHOLD, - 0x7b224883, 0xb3cc, 0x4d79, 0x81, 0x9f, 0x83, 0x74, 0x15, 0x2c, 0xbe, 0x7c} -DEFINE_GUID!{GUID_PROCESSOR_CORE_PARKING_INCREASE_THRESHOLD, - 0xdf142941, 0x20f3, 0x4edf, 0x9a, 0x4a, 0x9c, 0x83, 0xd3, 0xd7, 0x17, 0xd1} -DEFINE_GUID!{GUID_PROCESSOR_CORE_PARKING_DECREASE_THRESHOLD, - 0x68dd2f27, 0xa4ce, 0x4e11, 0x84, 0x87, 0x37, 0x94, 0xe4, 0x13, 0x5d, 0xfa} -DEFINE_GUID!{GUID_PROCESSOR_CORE_PARKING_INCREASE_POLICY, - 0xc7be0679, 0x2817, 0x4d69, 0x9d, 0x02, 0x51, 0x9a, 0x53, 0x7e, 0xd0, 0xc6} -pub const CORE_PARKING_POLICY_CHANGE_IDEAL: DWORD = 0; -pub const CORE_PARKING_POLICY_CHANGE_SINGLE: DWORD = 1; -pub const CORE_PARKING_POLICY_CHANGE_ROCKET: DWORD = 2; -pub const CORE_PARKING_POLICY_CHANGE_MULTISTEP: DWORD = 3; -pub const CORE_PARKING_POLICY_CHANGE_MAX: DWORD = CORE_PARKING_POLICY_CHANGE_MULTISTEP; -DEFINE_GUID!{GUID_PROCESSOR_CORE_PARKING_DECREASE_POLICY, - 0x71021b41, 0xc749, 0x4d21, 0xbe, 0x74, 0xa0, 0x0f, 0x33, 0x5d, 0x58, 0x2b} -DEFINE_GUID!{GUID_PROCESSOR_CORE_PARKING_MAX_CORES, - 0xea062031, 0x0e34, 0x4ff1, 0x9b, 0x6d, 0xeb, 0x10, 0x59, 0x33, 0x40, 0x28} -DEFINE_GUID!{GUID_PROCESSOR_CORE_PARKING_MAX_CORES_1, - 0xea062031, 0x0e34, 0x4ff1, 0x9b, 0x6d, 0xeb, 0x10, 0x59, 0x33, 0x40, 0x29} -DEFINE_GUID!{GUID_PROCESSOR_CORE_PARKING_MIN_CORES, - 0x0cc5b647, 0xc1df, 0x4637, 0x89, 0x1a, 0xde, 0xc3, 0x5c, 0x31, 0x85, 0x83} -DEFINE_GUID!{GUID_PROCESSOR_CORE_PARKING_MIN_CORES_1, - 0x0cc5b647, 0xc1df, 0x4637, 0x89, 0x1a, 0xde, 0xc3, 0x5c, 0x31, 0x85, 0x84} -DEFINE_GUID!{GUID_PROCESSOR_CORE_PARKING_INCREASE_TIME, - 0x2ddd5a84, 0x5a71, 0x437e, 0x91, 0x2a, 0xdb, 0x0b, 0x8c, 0x78, 0x87, 0x32} -DEFINE_GUID!{GUID_PROCESSOR_CORE_PARKING_DECREASE_TIME, - 0xdfd10d17, 0xd5eb, 0x45dd, 0x87, 0x7a, 0x9a, 0x34, 0xdd, 0xd1, 0x5c, 0x82} -DEFINE_GUID!{GUID_PROCESSOR_CORE_PARKING_AFFINITY_HISTORY_DECREASE_FACTOR, - 0x8f7b45e3, 0xc393, 0x480a, 0x87, 0x8c, 0xf6, 0x7a, 0xc3, 0xd0, 0x70, 0x82} -DEFINE_GUID!{GUID_PROCESSOR_CORE_PARKING_AFFINITY_HISTORY_THRESHOLD, - 0x5b33697b, 0xe89d, 0x4d38, 0xaa, 0x46, 0x9e, 0x7d, 0xfb, 0x7c, 0xd2, 0xf9} -DEFINE_GUID!{GUID_PROCESSOR_CORE_PARKING_AFFINITY_WEIGHTING, - 0xe70867f1, 0xfa2f, 0x4f4e, 0xae, 0xa1, 0x4d, 0x8a, 0x0b, 0xa2, 0x3b, 0x20} -DEFINE_GUID!{GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_HISTORY_DECREASE_FACTOR, - 0x1299023c, 0xbc28, 0x4f0a, 0x81, 0xec, 0xd3, 0x29, 0x5a, 0x8d, 0x81, 0x5d} -DEFINE_GUID!{GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_HISTORY_THRESHOLD, - 0x9ac18e92, 0xaa3c, 0x4e27, 0xb3, 0x07, 0x01, 0xae, 0x37, 0x30, 0x71, 0x29} -DEFINE_GUID!{GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_WEIGHTING, - 0x8809c2d8, 0xb155, 0x42d4, 0xbc, 0xda, 0x0d, 0x34, 0x56, 0x51, 0xb1, 0xdb} -DEFINE_GUID!{GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_THRESHOLD, - 0x943c8cb6, 0x6f93, 0x4227, 0xad, 0x87, 0xe9, 0xa3, 0xfe, 0xec, 0x08, 0xd1} -DEFINE_GUID!{GUID_PROCESSOR_PARKING_CORE_OVERRIDE, - 0xa55612aa, 0xf624, 0x42c6, 0xa4, 0x43, 0x73, 0x97, 0xd0, 0x64, 0xc0, 0x4f} -DEFINE_GUID!{GUID_PROCESSOR_PARKING_PERF_STATE, - 0x447235c7, 0x6a8d, 0x4cc0, 0x8e, 0x24, 0x9e, 0xaf, 0x70, 0xb9, 0x6e, 0x2b} -DEFINE_GUID!{GUID_PROCESSOR_PARKING_PERF_STATE_1, - 0x447235c7, 0x6a8d, 0x4cc0, 0x8e, 0x24, 0x9e, 0xaf, 0x70, 0xb9, 0x6e, 0x2c} -DEFINE_GUID!{GUID_PROCESSOR_PARKING_CONCURRENCY_THRESHOLD, - 0x2430ab6f, 0xa520, 0x44a2, 0x96, 0x01, 0xf7, 0xf2, 0x3b, 0x51, 0x34, 0xb1} -DEFINE_GUID!{GUID_PROCESSOR_PARKING_HEADROOM_THRESHOLD, - 0xf735a673, 0x2066, 0x4f80, 0xa0, 0xc5, 0xdd, 0xee, 0x0c, 0xf1, 0xbf, 0x5d} -DEFINE_GUID!{GUID_PROCESSOR_PARKING_DISTRIBUTION_THRESHOLD, - 0x4bdaf4e9, 0xd103, 0x46d7, 0xa5, 0xf0, 0x62, 0x80, 0x12, 0x16, 0x16, 0xef} -DEFINE_GUID!{GUID_PROCESSOR_PERF_HISTORY, - 0x7d24baa7, 0x0b84, 0x480f, 0x84, 0x0c, 0x1b, 0x07, 0x43, 0xc0, 0x0f, 0x5f} -DEFINE_GUID!{GUID_PROCESSOR_PERF_HISTORY_1, - 0x7d24baa7, 0x0b84, 0x480f, 0x84, 0x0c, 0x1b, 0x07, 0x43, 0xc0, 0x0f, 0x60} -DEFINE_GUID!{GUID_PROCESSOR_PERF_INCREASE_HISTORY, - 0x99b3ef01, 0x752f, 0x46a1, 0x80, 0xfb, 0x77, 0x30, 0x1, 0x1f, 0x23, 0x54} -DEFINE_GUID!{GUID_PROCESSOR_PERF_DECREASE_HISTORY, - 0x300f6f8, 0xabd6, 0x45a9, 0xb7, 0x4f, 0x49, 0x8, 0x69, 0x1a, 0x40, 0xb5} -DEFINE_GUID!{GUID_PROCESSOR_PERF_CORE_PARKING_HISTORY, - 0x77d7f282, 0x8f1a, 0x42cd, 0x85, 0x37, 0x45, 0x45, 0xa, 0x83, 0x9b, 0xe8} -DEFINE_GUID!{GUID_PROCESSOR_PERF_LATENCY_HINT, - 0x0822df31, 0x9c83, 0x441c, 0xa0, 0x79, 0x0d, 0xe4, 0xcf, 0x00, 0x9c, 0x7b} -DEFINE_GUID!{GUID_PROCESSOR_PERF_LATENCY_HINT_PERF, - 0x619b7505, 0x3b, 0x4e82, 0xb7, 0xa6, 0x4d, 0xd2, 0x9c, 0x30, 0x9, 0x71} -DEFINE_GUID!{GUID_PROCESSOR_PERF_LATENCY_HINT_PERF_1, - 0x619b7505, 0x3b, 0x4e82, 0xb7, 0xa6, 0x4d, 0xd2, 0x9c, 0x30, 0x9, 0x72} -DEFINE_GUID!{GUID_PROCESSOR_LATENCY_HINT_MIN_UNPARK, - 0x616cdaa5, 0x695e, 0x4545, 0x97, 0xad, 0x97, 0xdc, 0x2d, 0x1b, 0xdd, 0x88} -DEFINE_GUID!{GUID_PROCESSOR_LATENCY_HINT_MIN_UNPARK_1, - 0x616cdaa5, 0x695e, 0x4545, 0x97, 0xad, 0x97, 0xdc, 0x2d, 0x1b, 0xdd, 0x89} -DEFINE_GUID!{GUID_PROCESSOR_DISTRIBUTE_UTILITY, - 0xe0007330, 0xf589, 0x42ed, 0xa4, 0x01, 0x5d, 0xdb, 0x10, 0xe7, 0x85, 0xd3} -DEFINE_GUID!{GUID_PROCESSOR_HETEROGENEOUS_POLICY, - 0x7f2f5cfa, 0xf10c, 0x4823, 0xb5, 0xe1, 0xe9, 0x3a, 0xe8, 0x5f, 0x46, 0xb5} -DEFINE_GUID!{GUID_PROCESSOR_HETERO_DECREASE_TIME, - 0x7f2492b6, 0x60b1, 0x45e5, 0xae, 0x55, 0x77, 0x3f, 0x8c, 0xd5, 0xca, 0xec} -DEFINE_GUID!{GUID_PROCESSOR_HETERO_INCREASE_TIME, - 0x4009efa7, 0xe72d, 0x4cba, 0x9e, 0xdf, 0x91, 0x08, 0x4e, 0xa8, 0xcb, 0xc3} -DEFINE_GUID!{GUID_PROCESSOR_HETERO_DECREASE_THRESHOLD, - 0xf8861c27, 0x95e7, 0x475c, 0x86, 0x5b, 0x13, 0xc0, 0xcb, 0x3f, 0x9d, 0x6b} -DEFINE_GUID!{GUID_PROCESSOR_HETERO_INCREASE_THRESHOLD, - 0xb000397d, 0x9b0b, 0x483d, 0x98, 0xc9, 0x69, 0x2a, 0x60, 0x60, 0xcf, 0xbf} -DEFINE_GUID!{GUID_PROCESSOR_CLASS0_FLOOR_PERF, - 0xfddc842b, 0x8364, 0x4edc, 0x94, 0xcf, 0xc1, 0x7f, 0x60, 0xde, 0x1c, 0x80} -DEFINE_GUID!{GUID_PROCESSOR_CLASS1_INITIAL_PERF, - 0x1facfc65, 0xa930, 0x4bc5, 0x9f, 0x38, 0x50, 0x4e, 0xc0, 0x97, 0xbb, 0xc0} -DEFINE_GUID!{GUID_SYSTEM_COOLING_POLICY, - 0x94d3a615, 0xa899, 0x4ac5, 0xae, 0x2b, 0xe4, 0xd8, 0xf6, 0x34, 0x36, 0x7f} -DEFINE_GUID!{GUID_LOCK_CONSOLE_ON_WAKE, - 0x0e796bdb, 0x100d, 0x47d6, 0xa2, 0xd5, 0xf7, 0xd2, 0xda, 0xa5, 0x1f, 0x51} -DEFINE_GUID!{GUID_DEVICE_IDLE_POLICY, - 0x4faab71a, 0x92e5, 0x4726, 0xb5, 0x31, 0x22, 0x45, 0x59, 0x67, 0x2d, 0x19} -pub const POWER_DEVICE_IDLE_POLICY_PERFORMANCE: DWORD = 0; -pub const POWER_DEVICE_IDLE_POLICY_CONSERVATIVE: DWORD = 1; -DEFINE_GUID!{GUID_CONNECTIVITY_IN_STANDBY, - 0xf15576e8, 0x98b7, 0x4186, 0xb9, 0x44, 0xea, 0xfa, 0x66, 0x44, 0x02, 0xd9} -pub const POWER_CONNECTIVITY_IN_STANDBY_DISABLED: DWORD = 0; -pub const POWER_CONNECTIVITY_IN_STANDBY_ENABLED: DWORD = 1; -pub const POWER_CONNECTIVITY_IN_STANDBY_DISABLED_LID_CLOSE: DWORD = 2; -DEFINE_GUID!{GUID_DISCONNECTED_STANDBY_MODE, - 0x68afb2d9, 0xee95, 0x47a8, 0x8f, 0x50, 0x41, 0x15, 0x08, 0x80, 0x73, 0xb1} -pub const POWER_DISCONNECTED_STANDBY_MODE_NORMAL: DWORD = 0; -pub const POWER_DISCONNECTED_STANDBY_MODE_AGGRESSIVE: DWORD = 1; -DEFINE_GUID!{GUID_ACDC_POWER_SOURCE, - 0x5d3e9a59, 0xe9d5, 0x4b00, 0xa6, 0xbd, 0xff, 0x34, 0xff, 0x51, 0x65, 0x48} -DEFINE_GUID!{GUID_LIDSWITCH_STATE_CHANGE, - 0xba3e0f4d, 0xb817, 0x4094, 0xa2, 0xd1, 0xd5, 0x63, 0x79, 0xe6, 0xa0, 0xf3} -DEFINE_GUID!{GUID_BATTERY_PERCENTAGE_REMAINING, - 0xa7ad8041, 0xb45a, 0x4cae, 0x87, 0xa3, 0xee, 0xcb, 0xb4, 0x68, 0xa9, 0xe1} -DEFINE_GUID!{GUID_BATTERY_COUNT, - 0x7d263f15, 0xfca4, 0x49e5, 0x85, 0x4b, 0xa9, 0xf2, 0xbf, 0xbd, 0x5c, 0x24} -DEFINE_GUID!{GUID_GLOBAL_USER_PRESENCE, - 0x786e8a1d, 0xb427, 0x4344, 0x92, 0x7, 0x9, 0xe7, 0xb, 0xdc, 0xbe, 0xa9} -DEFINE_GUID!{GUID_SESSION_DISPLAY_STATUS, - 0x2b84c20e, 0xad23, 0x4ddf, 0x93, 0xdb, 0x5, 0xff, 0xbd, 0x7e, 0xfc, 0xa5} -DEFINE_GUID!{GUID_SESSION_USER_PRESENCE, - 0x3c0f4548, 0xc03f, 0x4c4d, 0xb9, 0xf2, 0x23, 0x7e, 0xde, 0x68, 0x63, 0x76} -DEFINE_GUID!{GUID_IDLE_BACKGROUND_TASK, - 0x515c31d8, 0xf734, 0x163d, 0xa0, 0xfd, 0x11, 0xa0, 0x8c, 0x91, 0xe8, 0xf1} -DEFINE_GUID!{GUID_BACKGROUND_TASK_NOTIFICATION, - 0xcf23f240, 0x2a54, 0x48d8, 0xb1, 0x14, 0xde, 0x15, 0x18, 0xff, 0x05, 0x2e} -DEFINE_GUID!{GUID_APPLAUNCH_BUTTON, - 0x1a689231, 0x7399, 0x4e9a, 0x8f, 0x99, 0xb7, 0x1f, 0x99, 0x9d, 0xb3, 0xfa} -DEFINE_GUID!{GUID_PCIEXPRESS_SETTINGS_SUBGROUP, - 0x501a4d13, 0x42af,0x4429, 0x9f, 0xd1, 0xa8, 0x21, 0x8c, 0x26, 0x8e, 0x20} -DEFINE_GUID!{GUID_PCIEXPRESS_ASPM_POLICY, - 0xee12f906, 0xd277, 0x404b, 0xb6, 0xda, 0xe5, 0xfa, 0x1a, 0x57, 0x6d, 0xf5} -DEFINE_GUID!{GUID_ENABLE_SWITCH_FORCED_SHUTDOWN, - 0x833a6b62, 0xdfa4, 0x46d1, 0x82, 0xf8, 0xe0, 0x9e, 0x34, 0xd0, 0x29, 0xd6} -DEFINE_GUID!{GUID_INTSTEER_SUBGROUP, - 0x48672f38, 0x7a9a, 0x4bb2, 0x8b, 0xf8, 0x3d, 0x85, 0xbe, 0x19, 0xde, 0x4e} -DEFINE_GUID!{GUID_INTSTEER_MODE, - 0x2bfc24f9, 0x5ea2, 0x4801, 0x82, 0x13, 0x3d, 0xba, 0xe0, 0x1a, 0xa3, 0x9d} -DEFINE_GUID!{GUID_INTSTEER_LOAD_PER_PROC_TRIGGER, - 0x73cde64d, 0xd720, 0x4bb2, 0xa8, 0x60, 0xc7, 0x55, 0xaf, 0xe7, 0x7e, 0xf2} -DEFINE_GUID!{GUID_INTSTEER_TIME_UNPARK_TRIGGER, - 0xd6ba4903, 0x386f, 0x4c2c, 0x8a, 0xdb, 0x5c, 0x21, 0xb3, 0x32, 0x8d, 0x25} -ENUM!{enum SYSTEM_POWER_STATE { - PowerSystemUnspecified = 0, - PowerSystemWorking = 1, - PowerSystemSleeping1 = 2, - PowerSystemSleeping2 = 3, - PowerSystemSleeping3 = 4, - PowerSystemHibernate = 5, - PowerSystemShutdown = 6, - PowerSystemMaximum = 7, -}} -pub type PSYSTEM_POWER_STATE = *mut SYSTEM_POWER_STATE; -pub const POWER_SYSTEM_MAXIMUM: usize = 7; -ENUM!{enum POWER_ACTION { - PowerActionNone = 0, - PowerActionReserved, - PowerActionSleep, - PowerActionHibernate, - PowerActionShutdown, - PowerActionShutdownReset, - PowerActionShutdownOff, - PowerActionWarmEject, - PowerActionDisplayOff, -}} -pub type PPOWER_ACTION = *mut POWER_ACTION; -ENUM!{enum DEVICE_POWER_STATE { - PowerDeviceUnspecified = 0, - PowerDeviceD0, - PowerDeviceD1, - PowerDeviceD2, - PowerDeviceD3, - PowerDeviceMaximum, -}} -pub type PDEVICE_POWER_STATE = *mut DEVICE_POWER_STATE; -ENUM!{enum MONITOR_DISPLAY_STATE { - PowerMonitorOff = 0, - PowerMonitorOn, - PowerMonitorDim, -}} -pub type PMONITOR_DISPLAY_STATE = *mut MONITOR_DISPLAY_STATE; -ENUM!{enum USER_ACTIVITY_PRESENCE { - PowerUserPresent = 0, - PowerUserNotPresent, - PowerUserInactive, - PowerUserMaximum, - PowerUserInvalid = PowerUserMaximum, -}} -pub type PUSER_ACTIVITY_PRESENCE = *mut USER_ACTIVITY_PRESENCE; -pub const ES_SYSTEM_REQUIRED: DWORD = 0x00000001; -pub const ES_DISPLAY_REQUIRED: DWORD = 0x00000002; -pub const ES_USER_PRESENT: DWORD = 0x00000004; -pub const ES_AWAYMODE_REQUIRED: DWORD = 0x00000040; -pub const ES_CONTINUOUS: DWORD = 0x80000000; -pub type EXECUTION_STATE = DWORD; -pub type PEXECUTION_STATE = *mut DWORD; -ENUM!{enum LATENCY_TIME { - LT_DONT_CARE, - LT_LOWEST_LATENCY, -}} -pub const DIAGNOSTIC_REASON_VERSION: ULONG = 0; -pub const DIAGNOSTIC_REASON_SIMPLE_STRING: ULONG = 0x00000001; -pub const DIAGNOSTIC_REASON_DETAILED_STRING: ULONG = 0x00000002; -pub const DIAGNOSTIC_REASON_NOT_SPECIFIED: ULONG = 0x80000000; -pub const DIAGNOSTIC_REASON_INVALID_FLAGS: ULONG = !0x80000007; -pub const POWER_REQUEST_CONTEXT_VERSION: ULONG = DIAGNOSTIC_REASON_VERSION; -pub const POWER_REQUEST_CONTEXT_SIMPLE_STRING: ULONG = DIAGNOSTIC_REASON_SIMPLE_STRING; -pub const POWER_REQUEST_CONTEXT_DETAILED_STRING: ULONG = DIAGNOSTIC_REASON_DETAILED_STRING; -ENUM!{enum POWER_REQUEST_TYPE { - PowerRequestDisplayRequired, - PowerRequestSystemRequired, - PowerRequestAwayModeRequired, - PowerRequestExecutionRequired, -}} -pub type PPOWER_REQUEST_TYPE = *mut POWER_REQUEST_TYPE; -pub const PDCAP_D0_SUPPORTED: DWORD = 0x00000001; -pub const PDCAP_D1_SUPPORTED: DWORD = 0x00000002; -pub const PDCAP_D2_SUPPORTED: DWORD = 0x00000004; -pub const PDCAP_D3_SUPPORTED: DWORD = 0x00000008; -pub const PDCAP_WAKE_FROM_D0_SUPPORTED: DWORD = 0x00000010; -pub const PDCAP_WAKE_FROM_D1_SUPPORTED: DWORD = 0x00000020; -pub const PDCAP_WAKE_FROM_D2_SUPPORTED: DWORD = 0x00000040; -pub const PDCAP_WAKE_FROM_D3_SUPPORTED: DWORD = 0x00000080; -pub const PDCAP_WARM_EJECT_SUPPORTED: DWORD = 0x00000100; -STRUCT!{struct CM_POWER_DATA { - PD_Size: DWORD, - PD_MostRecentPowerState: DEVICE_POWER_STATE, - PD_Capabilities: DWORD, - PD_D1Latency: DWORD, - PD_D2Latency: DWORD, - PD_D3Latency: DWORD, - PD_PowerStateMapping: [DEVICE_POWER_STATE; POWER_SYSTEM_MAXIMUM], - PD_DeepestSystemWake: SYSTEM_POWER_STATE, -}} -pub type PCM_POWER_DATA = *mut CM_POWER_DATA; -ENUM!{enum POWER_INFORMATION_LEVEL { - SystemPowerPolicyAc, - SystemPowerPolicyDc, - VerifySystemPolicyAc, - VerifySystemPolicyDc, - SystemPowerCapabilities, - SystemBatteryState, - SystemPowerStateHandler, - ProcessorStateHandler, - SystemPowerPolicyCurrent, - AdministratorPowerPolicy, - SystemReserveHiberFile, - ProcessorInformation, - SystemPowerInformation, - ProcessorStateHandler2, - LastWakeTime, - LastSleepTime, - SystemExecutionState, - SystemPowerStateNotifyHandler, - ProcessorPowerPolicyAc, - ProcessorPowerPolicyDc, - VerifyProcessorPowerPolicyAc, - VerifyProcessorPowerPolicyDc, - ProcessorPowerPolicyCurrent, - SystemPowerStateLogging, - SystemPowerLoggingEntry, - SetPowerSettingValue, - NotifyUserPowerSetting, - PowerInformationLevelUnused0, - SystemMonitorHiberBootPowerOff, - SystemVideoState, - TraceApplicationPowerMessage, - TraceApplicationPowerMessageEnd, - ProcessorPerfStates, - ProcessorIdleStates, - ProcessorCap, - SystemWakeSource, - SystemHiberFileInformation, - TraceServicePowerMessage, - ProcessorLoad, - PowerShutdownNotification, - MonitorCapabilities, - SessionPowerInit, - SessionDisplayState, - PowerRequestCreate, - PowerRequestAction, - GetPowerRequestList, - ProcessorInformationEx, - NotifyUserModeLegacyPowerEvent, - GroupPark, - ProcessorIdleDomains, - WakeTimerList, - SystemHiberFileSize, - ProcessorIdleStatesHv, - ProcessorPerfStatesHv, - ProcessorPerfCapHv, - ProcessorSetIdle, - LogicalProcessorIdling, - UserPresence, - PowerSettingNotificationName, - GetPowerSettingValue, - IdleResiliency, - SessionRITState, - SessionConnectNotification, - SessionPowerCleanup, - SessionLockState, - SystemHiberbootState, - PlatformInformation, - PdcInvocation, - MonitorInvocation, - FirmwareTableInformationRegistered, - SetShutdownSelectedTime, - SuspendResumeInvocation, - PlmPowerRequestCreate, - ScreenOff, - CsDeviceNotification, - PlatformRole, - LastResumePerformance, - DisplayBurst, - ExitLatencySamplingPercentage, - RegisterSpmPowerSettings, - PlatformIdleStates, - ProcessorIdleVeto, - PlatformIdleVeto, - SystemBatteryStatePrecise, - ThermalEvent, - PowerRequestActionInternal, - BatteryDeviceState, - PowerInformationInternal, - ThermalStandby, - SystemHiberFileType, - PhysicalPowerButtonPress, - QueryPotentialDripsConstraint, - EnergyTrackerCreate, - EnergyTrackerQuery, - UpdateBlackBoxRecorder, - PowerInformationLevelMaximum, -}} -ENUM!{enum POWER_USER_PRESENCE_TYPE { - UserNotPresent = 0, - UserPresent = 1, - UserUnknown = 0xff, -}} -pub type PPOWER_USER_PRESENCE_TYPE = *mut POWER_USER_PRESENCE_TYPE; -STRUCT!{struct POWER_USER_PRESENCE { - UserPresence: POWER_USER_PRESENCE_TYPE, -}} -pub type PPOWER_USER_PRESENCE = *mut POWER_USER_PRESENCE; -STRUCT!{struct POWER_SESSION_CONNECT { - Connected: BOOLEAN, - Console: BOOLEAN, -}} -pub type PPOWER_SESSION_CONNECT = *mut POWER_SESSION_CONNECT; -STRUCT!{struct POWER_SESSION_TIMEOUTS { - InputTimeout: DWORD, - DisplayTimeout: DWORD, -}} -pub type PPOWER_SESSION_TIMEOUTS = *mut POWER_SESSION_TIMEOUTS; -STRUCT!{struct POWER_SESSION_RIT_STATE { - Active: BOOLEAN, - LastInputTime: DWORD, -}} -pub type PPOWER_SESSION_RIT_STATE = *mut POWER_SESSION_RIT_STATE; -STRUCT!{struct POWER_SESSION_WINLOGON { - SessionId: DWORD, - Console: BOOLEAN, - Locked: BOOLEAN, -}} -pub type PPOWER_SESSION_WINLOGON = *mut POWER_SESSION_WINLOGON; -STRUCT!{struct POWER_IDLE_RESILIENCY { - CoalescingTimeout: DWORD, - IdleResiliencyPeriod: DWORD, -}} -pub type PPOWER_IDLE_RESILIENCY = *mut POWER_IDLE_RESILIENCY; -ENUM!{enum POWER_MONITOR_REQUEST_REASON { - MonitorRequestReasonUnknown, - MonitorRequestReasonPowerButton, - MonitorRequestReasonRemoteConnection, - MonitorRequestReasonScMonitorpower, - MonitorRequestReasonUserInput, - MonitorRequestReasonAcDcDisplayBurst, - MonitorRequestReasonUserDisplayBurst, - MonitorRequestReasonPoSetSystemState, - MonitorRequestReasonSetThreadExecutionState, - MonitorRequestReasonFullWake, - MonitorRequestReasonSessionUnlock, - MonitorRequestReasonScreenOffRequest, - MonitorRequestReasonIdleTimeout, - MonitorRequestReasonPolicyChange, - MonitorRequestReasonSleepButton, - MonitorRequestReasonLid, - MonitorRequestReasonBatteryCountChange, - MonitorRequestReasonGracePeriod, - MonitorRequestReasonPnP, - MonitorRequestReasonDP, - MonitorRequestReasonSxTransition, - MonitorRequestReasonSystemIdle, - MonitorRequestReasonNearProximity, - MonitorRequestReasonThermalStandby, - MonitorRequestReasonResumePdc, - MonitorRequestReasonResumeS4, - MonitorRequestReasonTerminal, - MonitorRequestReasonPdcSignal, - MonitorRequestReasonAcDcDisplayBurstSuppressed, - MonitorRequestReasonSystemStateEntered, - MonitorRequestReasonWinrt, - MonitorRequestReasonMax, -}} -ENUM!{enum POWER_MONITOR_REQUEST_TYPE { - MonitorRequestTypeOff, - MonitorRequestTypeOnAndPresent, - MonitorRequestTypeToggleOn, -}} -STRUCT!{struct POWER_MONITOR_INVOCATION { - Console: BOOLEAN, - RequestReason: POWER_MONITOR_REQUEST_REASON, -}} -pub type PPOWER_MONITOR_INVOCATION = *mut POWER_MONITOR_INVOCATION; -STRUCT!{struct RESUME_PERFORMANCE { - PostTimeMs: DWORD, - TotalResumeTimeMs: ULONGLONG, - ResumeCompleteTimestamp: ULONGLONG, -}} -pub type PRESUME_PERFORMANCE = *mut RESUME_PERFORMANCE; -ENUM!{enum SYSTEM_POWER_CONDITION { - PoAc, - PoDc, - PoHot, - PoConditionMaximum, -}} -STRUCT!{struct SET_POWER_SETTING_VALUE { - Version: DWORD, - Guid: GUID, - PowerCondition: SYSTEM_POWER_CONDITION, - DataLength: DWORD, - Data: [BYTE; ANYSIZE_ARRAY], -}} -pub type PSET_POWER_SETTING_VALUE = *mut SET_POWER_SETTING_VALUE; -STRUCT!{struct NOTIFY_USER_POWER_SETTING { - Guid: GUID, -}} -pub type PNOTIFY_USER_POWER_SETTING = *mut NOTIFY_USER_POWER_SETTING; -STRUCT!{struct APPLICATIONLAUNCH_SETTING_VALUE { - ActivationTime: LARGE_INTEGER, - Flags: DWORD, - ButtonInstanceID: DWORD, -}} -pub type PAPPLICATIONLAUNCH_SETTING_VALUE = *mut APPLICATIONLAUNCH_SETTING_VALUE; -ENUM!{enum POWER_PLATFORM_ROLE { - PlatformRoleUnspecified = 0, - PlatformRoleDesktop, - PlatformRoleMobile, - PlatformRoleWorkstation, - PlatformRoleEnterpriseServer, - PlatformRoleSOHOServer, - PlatformRoleAppliancePC, - PlatformRolePerformanceServer, - PlatformRoleSlate, - PlatformRoleMaximum, -}} -pub type PPOWER_PLATFORM_ROLE = *mut POWER_PLATFORM_ROLE; -pub const POWER_PLATFORM_ROLE_V1: ULONG = 0x00000001; -pub const POWER_PLATFORM_ROLE_V1_MAX: POWER_PLATFORM_ROLE = PlatformRolePerformanceServer + 1; -pub const POWER_PLATFORM_ROLE_V2: ULONG = 0x00000002; -pub const POWER_PLATFORM_ROLE_V2_MAX: POWER_PLATFORM_ROLE = PlatformRoleSlate + 1; -pub const POWER_PLATFORM_ROLE_VERSION: ULONG = POWER_PLATFORM_ROLE_V2; -pub const POWER_PLATFORM_ROLE_VERSION_MAX: POWER_PLATFORM_ROLE = POWER_PLATFORM_ROLE_V2_MAX; -STRUCT!{struct POWER_PLATFORM_INFORMATION { - AoAc: BOOLEAN, -}} -pub type PPOWER_PLATFORM_INFORMATION = *mut POWER_PLATFORM_INFORMATION; -STRUCT!{struct BATTERY_REPORTING_SCALE { - Granularity: DWORD, - Capacity: DWORD, -}} -pub type PBATTERY_REPORTING_SCALE = *mut BATTERY_REPORTING_SCALE; -STRUCT!{struct PPM_WMI_LEGACY_PERFSTATE { - Frequency: DWORD, - Flags: DWORD, - PercentFrequency: DWORD, -}} -pub type PPPM_WMI_LEGACY_PERFSTATE = *mut PPM_WMI_LEGACY_PERFSTATE; -STRUCT!{struct PPM_WMI_IDLE_STATE { - Latency: DWORD, - Power: DWORD, - TimeCheck: DWORD, - PromotePercent: BYTE, - DemotePercent: BYTE, - StateType: BYTE, - Reserved: BYTE, - StateFlags: DWORD, - Context: DWORD, - IdleHandler: DWORD, - Reserved1: DWORD, -}} -pub type PPPM_WMI_IDLE_STATE = *mut PPM_WMI_IDLE_STATE; -STRUCT!{struct PPM_WMI_IDLE_STATES { - Type: DWORD, - Count: DWORD, - TargetState: DWORD, - OldState: DWORD, - TargetProcessors: DWORD64, - State: [PPM_WMI_IDLE_STATE; ANYSIZE_ARRAY], -}} -pub type PPPM_WMI_IDLE_STATES = *mut PPM_WMI_IDLE_STATES; -STRUCT!{struct PPM_WMI_IDLE_STATES_EX { - Type: DWORD, - Count: DWORD, - TargetState: DWORD, - OldState: DWORD, - TargetProcessors: PVOID, - State: [PPM_WMI_IDLE_STATE; ANYSIZE_ARRAY], -}} -pub type PPPM_WMI_IDLE_STATES_EX = *mut PPM_WMI_IDLE_STATES_EX; -STRUCT!{struct PPM_WMI_PERF_STATE { - Frequency: DWORD, - Power: DWORD, - PercentFrequency: BYTE, - IncreaseLevel: BYTE, - DecreaseLevel: BYTE, - Type: BYTE, - IncreaseTime: DWORD, - DecreaseTime: DWORD, - Control: DWORD64, - Status: DWORD64, - HitCount: DWORD, - Reserved1: DWORD, - Reserved2: DWORD64, - Reserved3: DWORD64, -}} -pub type PPPM_WMI_PERF_STATE = *mut PPM_WMI_PERF_STATE; -STRUCT!{struct PPM_WMI_PERF_STATES { - Count: DWORD, - MaxFrequency: DWORD, - CurrentState: DWORD, - MaxPerfState: DWORD, - MinPerfState: DWORD, - LowestPerfState: DWORD, - ThermalConstraint: DWORD, - BusyAdjThreshold: BYTE, - PolicyType: BYTE, - Type: BYTE, - Reserved: BYTE, - TimerInterval: DWORD, - TargetProcessors: DWORD64, - PStateHandler: DWORD, - PStateContext: DWORD, - TStateHandler: DWORD, - TStateContext: DWORD, - FeedbackHandler: DWORD, - Reserved1: DWORD, - Reserved2: DWORD64, - State: [PPM_WMI_PERF_STATE; ANYSIZE_ARRAY], -}} -pub type PPPM_WMI_PERF_STATES = *mut PPM_WMI_PERF_STATES; -STRUCT!{struct PPM_WMI_PERF_STATES_EX { - Count: DWORD, - MaxFrequency: DWORD, - CurrentState: DWORD, - MaxPerfState: DWORD, - MinPerfState: DWORD, - LowestPerfState: DWORD, - ThermalConstraint: DWORD, - BusyAdjThreshold: BYTE, - PolicyType: BYTE, - Type: BYTE, - Reserved: BYTE, - TimerInterval: DWORD, - TargetProcessors: PVOID, - PStateHandler: DWORD, - PStateContext: DWORD, - TStateHandler: DWORD, - TStateContext: DWORD, - FeedbackHandler: DWORD, - Reserved1: DWORD, - Reserved2: DWORD64, - State: [PPM_WMI_PERF_STATE; ANYSIZE_ARRAY], -}} -pub type PPPM_WMI_PERF_STATES_EX = *mut PPM_WMI_PERF_STATES_EX; -pub const PROC_IDLE_BUCKET_COUNT: usize = 6; -STRUCT!{struct PPM_IDLE_STATE_ACCOUNTING { - IdleTransitions: DWORD, - FailedTransitions: DWORD, - InvalidBucketIndex: DWORD, - TotalTime: DWORD64, - IdleTimeBuckets: [DWORD; PROC_IDLE_BUCKET_COUNT], -}} -pub type PPPM_IDLE_STATE_ACCOUNTING = *mut PPM_IDLE_STATE_ACCOUNTING; -STRUCT!{struct PPM_IDLE_ACCOUNTING { - StateCount: DWORD, - TotalTransitions: DWORD, - ResetCount: DWORD, - StartTime: DWORD64, - State: [PPM_IDLE_STATE_ACCOUNTING; ANYSIZE_ARRAY], -}} -pub type PPPM_IDLE_ACCOUNTING = *mut PPM_IDLE_ACCOUNTING; -pub const PROC_IDLE_BUCKET_COUNT_EX: usize = 16; -STRUCT!{struct PPM_IDLE_STATE_BUCKET_EX { - TotalTimeUs: DWORD64, - MinTimeUs: DWORD, - MaxTimeUs: DWORD, - Count: DWORD, -}} -pub type PPPM_IDLE_STATE_BUCKET_EX = *mut PPM_IDLE_STATE_BUCKET_EX; -STRUCT!{struct PPM_IDLE_STATE_ACCOUNTING_EX { - TotalTime: DWORD64, - IdleTransitions: DWORD, - FailedTransitions: DWORD, - InvalidBucketIndex: DWORD, - MinTimeUs: DWORD, - MaxTimeUs: DWORD, - CancelledTransitions: DWORD, - IdleTimeBuckets: [PPM_IDLE_STATE_BUCKET_EX; PROC_IDLE_BUCKET_COUNT_EX], -}} -pub type PPPM_IDLE_STATE_ACCOUNTING_EX = *mut PPM_IDLE_STATE_ACCOUNTING_EX; -STRUCT!{struct PPM_IDLE_ACCOUNTING_EX { - StateCount: DWORD, - TotalTransitions: DWORD, - ResetCount: DWORD, - AbortCount: DWORD, - StartTime: DWORD64, - State: [PPM_IDLE_STATE_ACCOUNTING_EX; ANYSIZE_ARRAY], -}} -pub type PPPM_IDLE_ACCOUNTING_EX = *mut PPM_IDLE_ACCOUNTING_EX; -pub const ACPI_PPM_SOFTWARE_ALL: DWORD = 0xFC; -pub const ACPI_PPM_SOFTWARE_ANY: DWORD = 0xFD; -pub const ACPI_PPM_HARDWARE_ALL: DWORD = 0xFE; -pub const MS_PPM_SOFTWARE_ALL: DWORD = 0x1; -pub const PPM_FIRMWARE_ACPI1C2: DWORD = 0x00000001; -pub const PPM_FIRMWARE_ACPI1C3: DWORD = 0x00000002; -pub const PPM_FIRMWARE_ACPI1TSTATES: DWORD = 0x00000004; -pub const PPM_FIRMWARE_CST: DWORD = 0x00000008; -pub const PPM_FIRMWARE_CSD: DWORD = 0x00000010; -pub const PPM_FIRMWARE_PCT: DWORD = 0x00000020; -pub const PPM_FIRMWARE_PSS: DWORD = 0x00000040; -pub const PPM_FIRMWARE_XPSS: DWORD = 0x00000080; -pub const PPM_FIRMWARE_PPC: DWORD = 0x00000100; -pub const PPM_FIRMWARE_PSD: DWORD = 0x00000200; -pub const PPM_FIRMWARE_PTC: DWORD = 0x00000400; -pub const PPM_FIRMWARE_TSS: DWORD = 0x00000800; -pub const PPM_FIRMWARE_TPC: DWORD = 0x00001000; -pub const PPM_FIRMWARE_TSD: DWORD = 0x00002000; -pub const PPM_FIRMWARE_PCCH: DWORD = 0x00004000; -pub const PPM_FIRMWARE_PCCP: DWORD = 0x00008000; -pub const PPM_FIRMWARE_OSC: DWORD = 0x00010000; -pub const PPM_FIRMWARE_PDC: DWORD = 0x00020000; -pub const PPM_FIRMWARE_CPC: DWORD = 0x00040000; -pub const PPM_FIRMWARE_LPI: DWORD = 0x00080000; -pub const PPM_PERFORMANCE_IMPLEMENTATION_NONE: DWORD = 0x00000000; -pub const PPM_PERFORMANCE_IMPLEMENTATION_PSTATES: DWORD = 0x00000001; -pub const PPM_PERFORMANCE_IMPLEMENTATION_PCCV1: DWORD = 0x00000002; -pub const PPM_PERFORMANCE_IMPLEMENTATION_CPPC: DWORD = 0x00000003; -pub const PPM_PERFORMANCE_IMPLEMENTATION_PEP: DWORD = 0x00000004; -pub const PPM_IDLE_IMPLEMENTATION_NONE: DWORD = 0x00000000; -pub const PPM_IDLE_IMPLEMENTATION_CSTATES: DWORD = 0x00000001; -pub const PPM_IDLE_IMPLEMENTATION_PEP: DWORD = 0x00000002; -pub const PPM_IDLE_IMPLEMENTATION_MICROPEP: DWORD = 0x00000003; -pub const PPM_IDLE_IMPLEMENTATION_LPISTATES: DWORD = 0x00000004; -DEFINE_GUID!{PPM_PERFSTATE_CHANGE_GUID, - 0xa5b32ddd, 0x7f39, 0x4abc, 0xb8, 0x92, 0x90, 0xe, 0x43, 0xb5, 0x9e, 0xbb} -DEFINE_GUID!{PPM_PERFSTATE_DOMAIN_CHANGE_GUID, - 0x995e6b7f, 0xd653, 0x497a, 0xb9, 0x78, 0x36, 0xa3, 0xc, 0x29, 0xbf, 0x1} -DEFINE_GUID!{PPM_IDLESTATE_CHANGE_GUID, - 0x4838fe4f, 0xf71c, 0x4e51, 0x9e, 0xcc, 0x84, 0x30, 0xa7, 0xac, 0x4c, 0x6c} -DEFINE_GUID!{PPM_PERFSTATES_DATA_GUID, - 0x5708cc20, 0x7d40, 0x4bf4, 0xb4, 0xaa, 0x2b, 0x01, 0x33, 0x8d, 0x01, 0x26} -DEFINE_GUID!{PPM_IDLESTATES_DATA_GUID, - 0xba138e10, 0xe250, 0x4ad7, 0x86, 0x16, 0xcf, 0x1a, 0x7a, 0xd4, 0x10, 0xe7} -DEFINE_GUID!{PPM_IDLE_ACCOUNTING_GUID, - 0xe2a26f78, 0xae07, 0x4ee0, 0xa3, 0x0f, 0xce, 0x54, 0xf5, 0x5a, 0x94, 0xcd} -DEFINE_GUID!{PPM_IDLE_ACCOUNTING_EX_GUID, - 0xd67abd39, 0x81f8, 0x4a5e, 0x81, 0x52, 0x72, 0xe3, 0x1e, 0xc9, 0x12, 0xee} -DEFINE_GUID!{PPM_THERMALCONSTRAINT_GUID, - 0xa852c2c8, 0x1a4c, 0x423b, 0x8c, 0x2c, 0xf3, 0x0d, 0x82, 0x93, 0x1a, 0x88} -DEFINE_GUID!{PPM_PERFMON_PERFSTATE_GUID, - 0x7fd18652, 0xcfe, 0x40d2, 0xb0, 0xa1, 0xb, 0x6, 0x6a, 0x87, 0x75, 0x9e} -DEFINE_GUID!{PPM_THERMAL_POLICY_CHANGE_GUID, - 0x48f377b8, 0x6880, 0x4c7b, 0x8b, 0xdc, 0x38, 0x1, 0x76, 0xc6, 0x65, 0x4d} -STRUCT!{struct PPM_PERFSTATE_EVENT { - State: DWORD, - Status: DWORD, - Latency: DWORD, - Speed: DWORD, - Processor: DWORD, -}} -pub type PPPM_PERFSTATE_EVENT = *mut PPM_PERFSTATE_EVENT; -STRUCT!{struct PPM_PERFSTATE_DOMAIN_EVENT { - State: DWORD, - Latency: DWORD, - Speed: DWORD, - Processors: DWORD64, -}} -pub type PPPM_PERFSTATE_DOMAIN_EVENT = *mut PPM_PERFSTATE_DOMAIN_EVENT; -STRUCT!{struct PPM_IDLESTATE_EVENT { - NewState: DWORD, - OldState: DWORD, - Processors: DWORD64, -}} -pub type PPPM_IDLESTATE_EVENT = *mut PPM_IDLESTATE_EVENT; -STRUCT!{struct PPM_THERMALCHANGE_EVENT { - ThermalConstraint: DWORD, - Processors: DWORD64, -}} -pub type PPPM_THERMALCHANGE_EVENT = *mut PPM_THERMALCHANGE_EVENT; -STRUCT!{struct PPM_THERMAL_POLICY_EVENT { - Mode: BYTE, - Processors: DWORD64, -}} -pub type PPPM_THERMAL_POLICY_EVENT = *mut PPM_THERMAL_POLICY_EVENT; -STRUCT!{struct POWER_ACTION_POLICY { - Action: POWER_ACTION, - Flags: DWORD, - EventCode: DWORD, -}} -pub type PPOWER_ACTION_POLICY = *mut POWER_ACTION_POLICY; -pub const POWER_ACTION_QUERY_ALLOWED: DWORD = 0x00000001; -pub const POWER_ACTION_UI_ALLOWED: DWORD = 0x00000002; -pub const POWER_ACTION_OVERRIDE_APPS: DWORD = 0x00000004; -pub const POWER_ACTION_HIBERBOOT: DWORD = 0x00000008; -pub const POWER_ACTION_USER_NOTIFY: DWORD = 0x00000010; -pub const POWER_ACTION_DOZE_TO_HIBERNATE: DWORD = 0x00000020; -pub const POWER_ACTION_PSEUDO_TRANSITION: DWORD = 0x08000000; -pub const POWER_ACTION_LIGHTEST_FIRST: DWORD = 0x10000000; -pub const POWER_ACTION_LOCK_CONSOLE: DWORD = 0x20000000; -pub const POWER_ACTION_DISABLE_WAKES: DWORD = 0x40000000; -pub const POWER_ACTION_CRITICAL: DWORD = 0x80000000; -pub const POWER_LEVEL_USER_NOTIFY_TEXT: DWORD = 0x00000001; -pub const POWER_LEVEL_USER_NOTIFY_SOUND: DWORD = 0x00000002; -pub const POWER_LEVEL_USER_NOTIFY_EXEC: DWORD = 0x00000004; -pub const POWER_USER_NOTIFY_BUTTON: DWORD = 0x00000008; -pub const POWER_USER_NOTIFY_SHUTDOWN: DWORD = 0x00000010; -pub const POWER_USER_NOTIFY_FORCED_SHUTDOWN: DWORD = 0x00000020; -pub const POWER_FORCE_TRIGGER_RESET: DWORD = 0x80000000; -pub const BATTERY_DISCHARGE_FLAGS_EVENTCODE_MASK: DWORD = 0x00000007; -pub const BATTERY_DISCHARGE_FLAGS_ENABLE: DWORD = 0x80000000; -STRUCT!{struct SYSTEM_POWER_LEVEL { - Enable: BOOLEAN, - Spare: [BYTE; 3], - BatteryLevel: DWORD, - PowerPolicy: POWER_ACTION_POLICY, - MinSystemState: SYSTEM_POWER_STATE, -}} -pub type PSYSTEM_POWER_LEVEL = *mut SYSTEM_POWER_LEVEL; -pub const NUM_DISCHARGE_POLICIES: usize = 4; -pub const DISCHARGE_POLICY_CRITICAL: DWORD = 0; -pub const DISCHARGE_POLICY_LOW: DWORD = 1; -STRUCT!{struct SYSTEM_POWER_POLICY { - Revision: DWORD, - PowerButton: POWER_ACTION_POLICY, - SleepButton: POWER_ACTION_POLICY, - LidClose: POWER_ACTION_POLICY, - LidOpenWake: SYSTEM_POWER_STATE, - Reserved: DWORD, - Idle: POWER_ACTION_POLICY, - IdleTimeout: DWORD, - IdleSensitivity: BYTE, - DynamicThrottle: BYTE, - Spare2: [BYTE; 2], - MinSleep: SYSTEM_POWER_STATE, - MaxSleep: SYSTEM_POWER_STATE, - ReducedLatencySleep: SYSTEM_POWER_STATE, - WinLogonFlags: DWORD, - Spare3: DWORD, - DozeS4Timeout: DWORD, - BroadcastCapacityResolution: DWORD, - DischargePolicy: [SYSTEM_POWER_LEVEL; NUM_DISCHARGE_POLICIES], - VideoTimeout: DWORD, - VideoDimDisplay: BOOLEAN, - VideoReserved: [DWORD; 3], - SpindownTimeout: DWORD, - OptimizeForPower: BOOLEAN, - FanThrottleTolerance: BYTE, - ForcedThrottle: BYTE, - MinThrottle: BYTE, - OverThrottled: POWER_ACTION_POLICY, -}} -pub type PSYSTEM_POWER_POLICY = *mut SYSTEM_POWER_POLICY; -pub const PROCESSOR_IDLESTATE_POLICY_COUNT: usize = 0x3; -STRUCT!{struct PROCESSOR_IDLESTATE_INFO { - TimeCheck: DWORD, - DemotePercent: BYTE, - PromotePercent: BYTE, - Spare: [BYTE; 2], -}} -pub type PPROCESSOR_IDLESTATE_INFO = *mut PROCESSOR_IDLESTATE_INFO; -STRUCT!{struct PROCESSOR_IDLESTATE_POLICY_Flags { - AsWORD: WORD, -}} -BITFIELD!{PROCESSOR_IDLESTATE_POLICY_Flags AsWORD: WORD [ - AllowScaling set_AllowScaling[0..1], - Disabled set_Disabled[1..2], - Reserved set_Reserved[2..16], -]} -STRUCT!{struct PROCESSOR_IDLESTATE_POLICY { - Revision: WORD, - Flags: PROCESSOR_IDLESTATE_POLICY_Flags, - PolicyCount: DWORD, - Policy: [PROCESSOR_IDLESTATE_INFO; PROCESSOR_IDLESTATE_POLICY_COUNT], -}} -pub type PPROCESSOR_IDLESTATE_POLICY = *mut PROCESSOR_IDLESTATE_POLICY; -pub const PO_THROTTLE_NONE: DWORD = 0; -pub const PO_THROTTLE_CONSTANT: DWORD = 1; -pub const PO_THROTTLE_DEGRADE: DWORD = 2; -pub const PO_THROTTLE_ADAPTIVE: DWORD = 3; -pub const PO_THROTTLE_MAXIMUM: DWORD = 4; -STRUCT!{struct PROCESSOR_POWER_POLICY_INFO { - TimeCheck: DWORD, - DemoteLimit: DWORD, - PromoteLimit: DWORD, - DemotePercent: BYTE, - PromotePercent: BYTE, - Spare: [BYTE; 2], - Reserved: DWORD, -}} -BITFIELD!{PROCESSOR_POWER_POLICY_INFO Reserved: DWORD [ - AllowDemotion set_AllowDemotion[0..1], - AllowPromotion set_AllowPromotion[1..2], - Reserved set_Reserved[2..32], -]} -pub type PPROCESSOR_POWER_POLICY_INFO = *mut PROCESSOR_POWER_POLICY_INFO; -STRUCT!{struct PROCESSOR_POWER_POLICY { - Revision: DWORD, - DynamicThrottle: BYTE, - Spare: [BYTE; 3], - BitFields: DWORD, - PolicyCount: DWORD, - Policy: [PROCESSOR_POWER_POLICY_INFO; 3], -}} -BITFIELD!{PROCESSOR_POWER_POLICY BitFields: DWORD [ - DisableCStates set_DisableCStates[0..1], - Reserved set_Reserved[1..32], -]} -pub type PPROCESSOR_POWER_POLICY = *mut PROCESSOR_POWER_POLICY; -STRUCT!{struct PROCESSOR_PERFSTATE_POLICY_u_Flags { - AsBYTE: BYTE, -}} -BITFIELD!{PROCESSOR_PERFSTATE_POLICY_u_Flags AsBYTE: BYTE [ - NoDomainAccounting set_NoDomainAccounting[0..1], - IncreasePolicy set_IncreasePolicy[1..3], - DecreasePolicy set_DecreasePolicy[3..5], - Reserved set_Reserved[5..8], -]} -UNION!{union PROCESSOR_PERFSTATE_POLICY_u { - [u8; 1], - Spare Spare_mut: BYTE, - Flags Flags_mut: PROCESSOR_PERFSTATE_POLICY_u_Flags, -}} -STRUCT!{struct PROCESSOR_PERFSTATE_POLICY { - Revision: DWORD, - MaxThrottle: BYTE, - MinThrottle: BYTE, - BusyAdjThreshold: BYTE, - u: PROCESSOR_PERFSTATE_POLICY_u, - TimeCheck: DWORD, - IncreaseTime: DWORD, - DecreaseTime: DWORD, - IncreasePercent: DWORD, - DecreasePercent: DWORD, -}} -pub type PPROCESSOR_PERFSTATE_POLICY = *mut PROCESSOR_PERFSTATE_POLICY; -STRUCT!{struct ADMINISTRATOR_POWER_POLICY { - MinSleep: SYSTEM_POWER_STATE, - MaxSleep: SYSTEM_POWER_STATE, - MinVideoTimeout: DWORD, - MaxVideoTimeout: DWORD, - MinSpindownTimeout: DWORD, - MaxSpindownTimeout: DWORD, -}} -pub type PADMINISTRATOR_POWER_POLICY = *mut ADMINISTRATOR_POWER_POLICY; -ENUM!{enum HIBERFILE_BUCKET_SIZE { - HiberFileBucket1GB = 0, - HiberFileBucket2GB, - HiberFileBucket4GB, - HiberFileBucket8GB, - HiberFileBucket16GB, - HiberFileBucket32GB, - HiberFileBucketUnlimited, - HiberFileBucketMax, -}} -pub const HIBERFILE_TYPE_NONE: BYTE = 0x00; -pub const HIBERFILE_TYPE_REDUCED: BYTE = 0x01; -pub const HIBERFILE_TYPE_FULL: BYTE = 0x02; -pub const HIBERFILE_TYPE_MAX: usize = 0x03; -STRUCT!{struct HIBERFILE_BUCKET { - MaxPhysicalMemory: DWORD64, - PhysicalMemoryPercent: [DWORD; HIBERFILE_TYPE_MAX], -}} -pub type PHIBERFILE_BUCKET = *mut HIBERFILE_BUCKET; -STRUCT!{struct SYSTEM_POWER_CAPABILITIES { - PowerButtonPresent: BOOLEAN, - SleepButtonPresent: BOOLEAN, - LidPresent: BOOLEAN, - SystemS1: BOOLEAN, - SystemS2: BOOLEAN, - SystemS3: BOOLEAN, - SystemS4: BOOLEAN, - SystemS5: BOOLEAN, - HiberFilePresent: BOOLEAN, - FullWake: BOOLEAN, - VideoDimPresent: BOOLEAN, - ApmPresent: BOOLEAN, - UpsPresent: BOOLEAN, - ThermalControl: BOOLEAN, - ProcessorThrottle: BOOLEAN, - ProcessorMinThrottle: BYTE, - ProcessorMaxThrottle: BYTE, - FastSystemS4: BOOLEAN, - Hiberboot: BOOLEAN, - WakeAlarmPresent: BOOLEAN, - AoAc: BOOLEAN, - DiskSpinDown: BOOLEAN, - HiberFileType: BYTE, - AoAcConnectivitySupported: BOOLEAN, - spare3: [BYTE; 6], - SystemBatteriesPresent: BOOLEAN, - BatteriesAreShortTerm: BOOLEAN, - BatteryScale: [BATTERY_REPORTING_SCALE; 3], - AcOnLineWake: SYSTEM_POWER_STATE, - SoftLidWake: SYSTEM_POWER_STATE, - RtcWake: SYSTEM_POWER_STATE, - MinDeviceWakeState: SYSTEM_POWER_STATE, - DefaultLowLatencyWake: SYSTEM_POWER_STATE, -}} -pub type PSYSTEM_POWER_CAPABILITIES = *mut SYSTEM_POWER_CAPABILITIES; -STRUCT!{struct SYSTEM_BATTERY_STATE { - AcOnLine: BOOLEAN, - BatteryPresent: BOOLEAN, - Charging: BOOLEAN, - Discharging: BOOLEAN, - Spare1: [BOOLEAN; 3], - Tag: BYTE, - MaxCapacity: DWORD, - RemainingCapacity: DWORD, - Rate: DWORD, - EstimatedTime: DWORD, - DefaultAlert1: DWORD, - DefaultAlert2: DWORD, -}} -pub type PSYSTEM_BATTERY_STATE = *mut SYSTEM_BATTERY_STATE; -pub const IMAGE_DOS_SIGNATURE: WORD = 0x5A4D; -pub const IMAGE_OS2_SIGNATURE: WORD = 0x454E; -pub const IMAGE_OS2_SIGNATURE_LE: WORD = 0x454C; -pub const IMAGE_VXD_SIGNATURE: WORD = 0x454C; -pub const IMAGE_NT_SIGNATURE: DWORD = 0x00004550; -STRUCT!{struct IMAGE_DOS_HEADER { - e_magic: WORD, - e_cblp: WORD, - e_cp: WORD, - e_crlc: WORD, - e_cparhdr: WORD, - e_minalloc: WORD, - e_maxalloc: WORD, - e_ss: WORD, - e_sp: WORD, - e_csum: WORD, - e_ip: WORD, - e_cs: WORD, - e_lfarlc: WORD, - e_ovno: WORD, - e_res: [WORD; 4], - e_oemid: WORD, - e_oeminfo: WORD, - e_res2: [WORD; 10], - e_lfanew: LONG, -}} -pub type PIMAGE_DOS_HEADER = *mut IMAGE_DOS_HEADER; -STRUCT!{struct IMAGE_OS2_HEADER { - ne_magic: WORD, - ne_ver: CHAR, - ne_rev: CHAR, - ne_enttab: WORD, - ne_cbenttab: WORD, - ne_crc: LONG, - ne_flags: WORD, - ne_autodata: WORD, - ne_heap: WORD, - ne_stack: WORD, - ne_csip: LONG, - ne_sssp: LONG, - ne_cseg: WORD, - ne_cmod: WORD, - ne_cbnrestab: WORD, - ne_segtab: WORD, - ne_rsrctab: WORD, - ne_restab: WORD, - ne_modtab: WORD, - ne_imptab: WORD, - ne_nrestab: LONG, - ne_cmovent: WORD, - ne_align: WORD, - ne_cres: WORD, - ne_exetyp: BYTE, - ne_flagsothers: BYTE, - ne_pretthunks: WORD, - ne_psegrefbytes: WORD, - ne_swaparea: WORD, - ne_expver: WORD, -}} -pub type PIMAGE_OS2_HEADER = *mut IMAGE_OS2_HEADER; -STRUCT!{struct IMAGE_VXD_HEADER { - e32_magic: WORD, - e32_border: BYTE, - e32_worder: BYTE, - e32_level: DWORD, - e32_cpu: WORD, - e32_os: WORD, - e32_ver: DWORD, - e32_mflags: DWORD, - e32_mpages: DWORD, - e32_startobj: DWORD, - e32_eip: DWORD, - e32_stackobj: DWORD, - e32_esp: DWORD, - e32_pagesize: DWORD, - e32_lastpagesize: DWORD, - e32_fixupsize: DWORD, - e32_fixupsum: DWORD, - e32_ldrsize: DWORD, - e32_ldrsum: DWORD, - e32_objtab: DWORD, - e32_objcnt: DWORD, - e32_objmap: DWORD, - e32_itermap: DWORD, - e32_rsrctab: DWORD, - e32_rsrccnt: DWORD, - e32_restab: DWORD, - e32_enttab: DWORD, - e32_dirtab: DWORD, - e32_dircnt: DWORD, - e32_fpagetab: DWORD, - e32_frectab: DWORD, - e32_impmod: DWORD, - e32_impmodcnt: DWORD, - e32_impproc: DWORD, - e32_pagesum: DWORD, - e32_datapage: DWORD, - e32_preload: DWORD, - e32_nrestab: DWORD, - e32_cbnrestab: DWORD, - e32_nressum: DWORD, - e32_autodata: DWORD, - e32_debuginfo: DWORD, - e32_debuglen: DWORD, - e32_instpreload: DWORD, - e32_instdemand: DWORD, - e32_heapsize: DWORD, - e32_res3: [BYTE; 12], - e32_winresoff: DWORD, - e32_winreslen: DWORD, - e32_devid: WORD, - e32_ddkver: WORD, -}} -pub type PIMAGE_VXD_HEADER = *mut IMAGE_VXD_HEADER; -STRUCT!{struct IMAGE_FILE_HEADER { - Machine: WORD, - NumberOfSections: WORD, - TimeDateStamp: DWORD, - PointerToSymbolTable: DWORD, - NumberOfSymbols: DWORD, - SizeOfOptionalHeader: WORD, - Characteristics: WORD, -}} -pub type PIMAGE_FILE_HEADER = *mut IMAGE_FILE_HEADER; -pub const IMAGE_SIZEOF_FILE_HEADER: usize = 20; -pub const IMAGE_FILE_RELOCS_STRIPPED: WORD = 0x0001; -pub const IMAGE_FILE_EXECUTABLE_IMAGE: WORD = 0x0002; -pub const IMAGE_FILE_LINE_NUMS_STRIPPED: WORD = 0x0004; -pub const IMAGE_FILE_LOCAL_SYMS_STRIPPED: WORD = 0x0008; -pub const IMAGE_FILE_AGGRESIVE_WS_TRIM: WORD = 0x0010; -pub const IMAGE_FILE_LARGE_ADDRESS_AWARE: WORD = 0x0020; -pub const IMAGE_FILE_BYTES_REVERSED_LO: WORD = 0x0080; -pub const IMAGE_FILE_32BIT_MACHINE: WORD = 0x0100; -pub const IMAGE_FILE_DEBUG_STRIPPED: WORD = 0x0200; -pub const IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP: WORD = 0x0400; -pub const IMAGE_FILE_NET_RUN_FROM_SWAP: WORD = 0x0800; -pub const IMAGE_FILE_SYSTEM: WORD = 0x1000; -pub const IMAGE_FILE_DLL: WORD = 0x2000; -pub const IMAGE_FILE_UP_SYSTEM_ONLY: WORD = 0x4000; -pub const IMAGE_FILE_BYTES_REVERSED_HI: WORD = 0x8000; -pub const IMAGE_FILE_MACHINE_UNKNOWN: WORD = 0; -pub const IMAGE_FILE_MACHINE_TARGET_HOST: WORD = 0x0001; -pub const IMAGE_FILE_MACHINE_I386: WORD = 0x014c; -pub const IMAGE_FILE_MACHINE_R3000: WORD = 0x0162; -pub const IMAGE_FILE_MACHINE_R4000: WORD = 0x0166; -pub const IMAGE_FILE_MACHINE_R10000: WORD = 0x0168; -pub const IMAGE_FILE_MACHINE_WCEMIPSV2: WORD = 0x0169; -pub const IMAGE_FILE_MACHINE_ALPHA: WORD = 0x0184; -pub const IMAGE_FILE_MACHINE_SH3: WORD = 0x01a2; -pub const IMAGE_FILE_MACHINE_SH3DSP: WORD = 0x01a3; -pub const IMAGE_FILE_MACHINE_SH3E: WORD = 0x01a4; -pub const IMAGE_FILE_MACHINE_SH4: WORD = 0x01a6; -pub const IMAGE_FILE_MACHINE_SH5: WORD = 0x01a8; -pub const IMAGE_FILE_MACHINE_ARM: WORD = 0x01c0; -pub const IMAGE_FILE_MACHINE_THUMB: WORD = 0x01c2; -pub const IMAGE_FILE_MACHINE_ARMNT: WORD = 0x01c4; -pub const IMAGE_FILE_MACHINE_AM33: WORD = 0x01d3; -pub const IMAGE_FILE_MACHINE_POWERPC: WORD = 0x01F0; -pub const IMAGE_FILE_MACHINE_POWERPCFP: WORD = 0x01f1; -pub const IMAGE_FILE_MACHINE_IA64: WORD = 0x0200; -pub const IMAGE_FILE_MACHINE_MIPS16: WORD = 0x0266; -pub const IMAGE_FILE_MACHINE_ALPHA64: WORD = 0x0284; -pub const IMAGE_FILE_MACHINE_MIPSFPU: WORD = 0x0366; -pub const IMAGE_FILE_MACHINE_MIPSFPU16: WORD = 0x0466; -pub const IMAGE_FILE_MACHINE_AXP64: WORD = IMAGE_FILE_MACHINE_ALPHA64; -pub const IMAGE_FILE_MACHINE_TRICORE: WORD = 0x0520; -pub const IMAGE_FILE_MACHINE_CEF: WORD = 0x0CEF; -pub const IMAGE_FILE_MACHINE_EBC: WORD = 0x0EBC; -pub const IMAGE_FILE_MACHINE_AMD64: WORD = 0x8664; -pub const IMAGE_FILE_MACHINE_M32R: WORD = 0x9041; -pub const IMAGE_FILE_MACHINE_ARM64: WORD = 0xAA64; -pub const IMAGE_FILE_MACHINE_CEE: WORD = 0xC0EE; -STRUCT!{struct IMAGE_DATA_DIRECTORY { - VirtualAddress: DWORD, - Size: DWORD, -}} -pub type PIMAGE_DATA_DIRECTORY = *mut IMAGE_DATA_DIRECTORY; -pub const IMAGE_NUMBEROF_DIRECTORY_ENTRIES: usize = 16; -STRUCT!{struct IMAGE_OPTIONAL_HEADER32 { - Magic: WORD, - MajorLinkerVersion: BYTE, - MinorLinkerVersion: BYTE, - SizeOfCode: DWORD, - SizeOfInitializedData: DWORD, - SizeOfUninitializedData: DWORD, - AddressOfEntryPoint: DWORD, - BaseOfCode: DWORD, - BaseOfData: DWORD, - ImageBase: DWORD, - SectionAlignment: DWORD, - FileAlignment: DWORD, - MajorOperatingSystemVersion: WORD, - MinorOperatingSystemVersion: WORD, - MajorImageVersion: WORD, - MinorImageVersion: WORD, - MajorSubsystemVersion: WORD, - MinorSubsystemVersion: WORD, - Win32VersionValue: DWORD, - SizeOfImage: DWORD, - SizeOfHeaders: DWORD, - CheckSum: DWORD, - Subsystem: WORD, - DllCharacteristics: WORD, - SizeOfStackReserve: DWORD, - SizeOfStackCommit: DWORD, - SizeOfHeapReserve: DWORD, - SizeOfHeapCommit: DWORD, - LoaderFlags: DWORD, - NumberOfRvaAndSizes: DWORD, - DataDirectory: [IMAGE_DATA_DIRECTORY; IMAGE_NUMBEROF_DIRECTORY_ENTRIES], -}} -pub type PIMAGE_OPTIONAL_HEADER32 = *mut IMAGE_OPTIONAL_HEADER32; -STRUCT!{struct IMAGE_ROM_OPTIONAL_HEADER { - Magic: WORD, - MajorLinkerVersion: BYTE, - MinorLinkerVersion: BYTE, - SizeOfCode: DWORD, - SizeOfInitializedData: DWORD, - SizeOfUninitializedData: DWORD, - AddressOfEntryPoint: DWORD, - BaseOfCode: DWORD, - BaseOfData: DWORD, - BaseOfBss: DWORD, - GprMask: DWORD, - CprMask: [DWORD; 4], - GpValue: DWORD, -}} -pub type PIMAGE_ROM_OPTIONAL_HEADER = *mut IMAGE_ROM_OPTIONAL_HEADER; -STRUCT!{struct IMAGE_OPTIONAL_HEADER64 { - Magic: WORD, - MajorLinkerVersion: BYTE, - MinorLinkerVersion: BYTE, - SizeOfCode: DWORD, - SizeOfInitializedData: DWORD, - SizeOfUninitializedData: DWORD, - AddressOfEntryPoint: DWORD, - BaseOfCode: DWORD, - ImageBase: ULONGLONG, - SectionAlignment: DWORD, - FileAlignment: DWORD, - MajorOperatingSystemVersion: WORD, - MinorOperatingSystemVersion: WORD, - MajorImageVersion: WORD, - MinorImageVersion: WORD, - MajorSubsystemVersion: WORD, - MinorSubsystemVersion: WORD, - Win32VersionValue: DWORD, - SizeOfImage: DWORD, - SizeOfHeaders: DWORD, - CheckSum: DWORD, - Subsystem: WORD, - DllCharacteristics: WORD, - SizeOfStackReserve: ULONGLONG, - SizeOfStackCommit: ULONGLONG, - SizeOfHeapReserve: ULONGLONG, - SizeOfHeapCommit: ULONGLONG, - LoaderFlags: DWORD, - NumberOfRvaAndSizes: DWORD, - DataDirectory: [IMAGE_DATA_DIRECTORY; IMAGE_NUMBEROF_DIRECTORY_ENTRIES], -}} -pub type PIMAGE_OPTIONAL_HEADER64 = *mut IMAGE_OPTIONAL_HEADER64; -pub const IMAGE_NT_OPTIONAL_HDR32_MAGIC: WORD = 0x10b; -pub const IMAGE_NT_OPTIONAL_HDR64_MAGIC: WORD = 0x20b; -pub const IMAGE_ROM_OPTIONAL_HDR_MAGIC: WORD = 0x107; -#[cfg(target_pointer_width = "64")] -IFDEF!{ -pub type IMAGE_OPTIONAL_HEADER = IMAGE_OPTIONAL_HEADER64; -pub type PIMAGE_OPTIONAL_HEADER = PIMAGE_OPTIONAL_HEADER64; -pub const IMAGE_NT_OPTIONAL_HDR_MAGIC: WORD = IMAGE_NT_OPTIONAL_HDR64_MAGIC; -} -#[cfg(target_arch = "x86")] -IFDEF!{ -pub type IMAGE_OPTIONAL_HEADER = IMAGE_OPTIONAL_HEADER32; -pub type PIMAGE_OPTIONAL_HEADER = PIMAGE_OPTIONAL_HEADER32; -pub const IMAGE_NT_OPTIONAL_HDR_MAGIC: WORD = IMAGE_NT_OPTIONAL_HDR32_MAGIC; -} -STRUCT!{struct IMAGE_NT_HEADERS64 { - Signature: DWORD, - FileHeader: IMAGE_FILE_HEADER, - OptionalHeader: IMAGE_OPTIONAL_HEADER64, -}} -pub type PIMAGE_NT_HEADERS64 = *mut IMAGE_NT_HEADERS64; -STRUCT!{struct IMAGE_NT_HEADERS32 { - Signature: DWORD, - FileHeader: IMAGE_FILE_HEADER, - OptionalHeader: IMAGE_OPTIONAL_HEADER32, -}} -pub type PIMAGE_NT_HEADERS32 = *mut IMAGE_NT_HEADERS32; -STRUCT!{struct IMAGE_ROM_HEADERS { - FileHeader: IMAGE_FILE_HEADER, - OptionalHeader: IMAGE_ROM_OPTIONAL_HEADER, -}} -pub type PIMAGE_ROM_HEADERS = *mut IMAGE_ROM_HEADERS; -#[cfg(target_pointer_width = "64")] -IFDEF!{ -pub type IMAGE_NT_HEADERS = IMAGE_NT_HEADERS64; -pub type PIMAGE_NT_HEADERS = PIMAGE_NT_HEADERS64; -} -#[cfg(target_arch = "x86")] -IFDEF!{ -pub type IMAGE_NT_HEADERS = IMAGE_NT_HEADERS32; -pub type PIMAGE_NT_HEADERS = PIMAGE_NT_HEADERS32; -} -pub const IMAGE_SUBSYSTEM_UNKNOWN: WORD = 0; -pub const IMAGE_SUBSYSTEM_NATIVE: WORD = 1; -pub const IMAGE_SUBSYSTEM_WINDOWS_GUI: WORD = 2; -pub const IMAGE_SUBSYSTEM_WINDOWS_CUI: WORD = 3; -pub const IMAGE_SUBSYSTEM_OS2_CUI: WORD = 5; -pub const IMAGE_SUBSYSTEM_POSIX_CUI: WORD = 7; -pub const IMAGE_SUBSYSTEM_NATIVE_WINDOWS: WORD = 8; -pub const IMAGE_SUBSYSTEM_WINDOWS_CE_GUI: WORD = 9; -pub const IMAGE_SUBSYSTEM_EFI_APPLICATION: WORD = 10; -pub const IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER: WORD = 11; -pub const IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER: WORD = 12; -pub const IMAGE_SUBSYSTEM_EFI_ROM: WORD = 13; -pub const IMAGE_SUBSYSTEM_XBOX: WORD = 14; -pub const IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION: WORD = 16; -pub const IMAGE_SUBSYSTEM_XBOX_CODE_CATALOG: WORD = 17; -pub const IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA: WORD = 0x0020; -pub const IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE: WORD = 0x0040; -pub const IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY: WORD = 0x0080; -pub const IMAGE_DLLCHARACTERISTICS_NX_COMPAT: WORD = 0x0100; -pub const IMAGE_DLLCHARACTERISTICS_NO_ISOLATION: WORD = 0x0200; -pub const IMAGE_DLLCHARACTERISTICS_NO_SEH: WORD = 0x0400; -pub const IMAGE_DLLCHARACTERISTICS_NO_BIND: WORD = 0x0800; -pub const IMAGE_DLLCHARACTERISTICS_APPCONTAINER: WORD = 0x1000; -pub const IMAGE_DLLCHARACTERISTICS_WDM_DRIVER: WORD = 0x2000; -pub const IMAGE_DLLCHARACTERISTICS_GUARD_CF: WORD = 0x4000; -pub const IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE: WORD = 0x8000; -pub const IMAGE_DIRECTORY_ENTRY_EXPORT: WORD = 0; -pub const IMAGE_DIRECTORY_ENTRY_IMPORT: WORD = 1; -pub const IMAGE_DIRECTORY_ENTRY_RESOURCE: WORD = 2; -pub const IMAGE_DIRECTORY_ENTRY_EXCEPTION: WORD = 3; -pub const IMAGE_DIRECTORY_ENTRY_SECURITY: WORD = 4; -pub const IMAGE_DIRECTORY_ENTRY_BASERELOC: WORD = 5; -pub const IMAGE_DIRECTORY_ENTRY_DEBUG: WORD = 6; -pub const IMAGE_DIRECTORY_ENTRY_ARCHITECTURE: WORD = 7; -pub const IMAGE_DIRECTORY_ENTRY_GLOBALPTR: WORD = 8; -pub const IMAGE_DIRECTORY_ENTRY_TLS: WORD = 9; -pub const IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG: WORD = 10; -pub const IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT: WORD = 11; -pub const IMAGE_DIRECTORY_ENTRY_IAT: WORD = 12; -pub const IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT: WORD = 13; -pub const IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR: WORD = 14; -STRUCT!{struct ANON_OBJECT_HEADER { - Sig1: WORD, - Sig2: WORD, - Version: WORD, - Machine: WORD, - TimeDateStamp: DWORD, - ClassID: CLSID, - SizeOfData: DWORD, -}} -STRUCT!{struct ANON_OBJECT_HEADER_V2 { - Sig1: WORD, - Sig2: WORD, - Version: WORD, - Machine: WORD, - TimeDateStamp: DWORD, - ClassID: CLSID, - SizeOfData: DWORD, - Flags: DWORD, - MetaDataSize: DWORD, - MetaDataOffset: DWORD, -}} -STRUCT!{struct ANON_OBJECT_HEADER_BIGOBJ { - Sig1: WORD, - Sig2: WORD, - Version: WORD, - Machine: WORD, - TimeDateStamp: DWORD, - ClassID: CLSID, - SizeOfData: DWORD, - Flags: DWORD, - MetaDataSize: DWORD, - MetaDataOffset: DWORD, - NumberOfSections: DWORD, - PointerToSymbolTable: DWORD, - NumberOfSymbols: DWORD, -}} -pub const IMAGE_SIZEOF_SHORT_NAME: usize = 8; -UNION!{union IMAGE_SECTION_HEADER_Misc { - [u32; 1], - PhysicalAddress PhysicalAddress_mut: DWORD, - VirtualSize VirtualSize_mut: DWORD, -}} -STRUCT!{struct IMAGE_SECTION_HEADER { - Name: [BYTE; IMAGE_SIZEOF_SHORT_NAME], - Misc: IMAGE_SECTION_HEADER_Misc, - VirtualAddress: DWORD, - SizeOfRawData: DWORD, - PointerToRawData: DWORD, - PointerToRelocations: DWORD, - PointerToLinenumbers: DWORD, - NumberOfRelocations: WORD, - NumberOfLinenumbers: WORD, - Characteristics: DWORD, -}} -pub type PIMAGE_SECTION_HEADER = *mut IMAGE_SECTION_HEADER; -pub const IMAGE_SIZEOF_SECTION_HEADER: usize = 40; -pub const IMAGE_SCN_TYPE_NO_PAD: DWORD = 0x00000008; -pub const IMAGE_SCN_CNT_CODE: DWORD = 0x00000020; -pub const IMAGE_SCN_CNT_INITIALIZED_DATA: DWORD = 0x00000040; -pub const IMAGE_SCN_CNT_UNINITIALIZED_DATA: DWORD = 0x00000080; -pub const IMAGE_SCN_LNK_OTHER: DWORD = 0x00000100; -pub const IMAGE_SCN_LNK_INFO: DWORD = 0x00000200; -pub const IMAGE_SCN_LNK_REMOVE: DWORD = 0x00000800; -pub const IMAGE_SCN_LNK_COMDAT: DWORD = 0x00001000; -pub const IMAGE_SCN_NO_DEFER_SPEC_EXC: DWORD = 0x00004000; -pub const IMAGE_SCN_GPREL: DWORD = 0x00008000; -pub const IMAGE_SCN_MEM_FARDATA: DWORD = 0x00008000; -pub const IMAGE_SCN_MEM_PURGEABLE: DWORD = 0x00020000; -pub const IMAGE_SCN_MEM_16BIT: DWORD = 0x00020000; -pub const IMAGE_SCN_MEM_LOCKED: DWORD = 0x00040000; -pub const IMAGE_SCN_MEM_PRELOAD: DWORD = 0x00080000; -pub const IMAGE_SCN_ALIGN_1BYTES: DWORD = 0x00100000; -pub const IMAGE_SCN_ALIGN_2BYTES: DWORD = 0x00200000; -pub const IMAGE_SCN_ALIGN_4BYTES: DWORD = 0x00300000; -pub const IMAGE_SCN_ALIGN_8BYTES: DWORD = 0x00400000; -pub const IMAGE_SCN_ALIGN_16BYTES: DWORD = 0x00500000; -pub const IMAGE_SCN_ALIGN_32BYTES: DWORD = 0x00600000; -pub const IMAGE_SCN_ALIGN_64BYTES: DWORD = 0x00700000; -pub const IMAGE_SCN_ALIGN_128BYTES: DWORD = 0x00800000; -pub const IMAGE_SCN_ALIGN_256BYTES: DWORD = 0x00900000; -pub const IMAGE_SCN_ALIGN_512BYTES: DWORD = 0x00A00000; -pub const IMAGE_SCN_ALIGN_1024BYTES: DWORD = 0x00B00000; -pub const IMAGE_SCN_ALIGN_2048BYTES: DWORD = 0x00C00000; -pub const IMAGE_SCN_ALIGN_4096BYTES: DWORD = 0x00D00000; -pub const IMAGE_SCN_ALIGN_8192BYTES: DWORD = 0x00E00000; -pub const IMAGE_SCN_ALIGN_MASK: DWORD = 0x00F00000; -pub const IMAGE_SCN_LNK_NRELOC_OVFL: DWORD = 0x01000000; -pub const IMAGE_SCN_MEM_DISCARDABLE: DWORD = 0x02000000; -pub const IMAGE_SCN_MEM_NOT_CACHED: DWORD = 0x04000000; -pub const IMAGE_SCN_MEM_NOT_PAGED: DWORD = 0x08000000; -pub const IMAGE_SCN_MEM_SHARED: DWORD = 0x10000000; -pub const IMAGE_SCN_MEM_EXECUTE: DWORD = 0x20000000; -pub const IMAGE_SCN_MEM_READ: DWORD = 0x40000000; -pub const IMAGE_SCN_MEM_WRITE: DWORD = 0x80000000; -pub const IMAGE_SCN_SCALE_INDEX: DWORD = 0x00000001; -STRUCT!{struct IMAGE_SYMBOL_N_Name { - Short: DWORD, - Long: DWORD, -}} -UNION!{union IMAGE_SYMBOL_N { - [u32; 2], - ShortName ShortName_mut: [BYTE; 8], - Name Name_mut: IMAGE_SYMBOL_N_Name, - LongName LongName_mut: [DWORD; 2], -}} -STRUCT!{struct IMAGE_SYMBOL { - N: IMAGE_SYMBOL_N, - Value: DWORD, - SectionNumber: SHORT, - Type: WORD, - StorageClass: BYTE, - NumberOfAuxSymbols: BYTE, -}} -pub type PIMAGE_SYMBOL = *mut IMAGE_SYMBOL; -pub const IMAGE_SIZEOF_SYMBOL: usize = 18; -STRUCT!{struct IMAGE_SYMBOL_EX_N_Name { - Short: DWORD, - Long: DWORD, -}} -UNION!{union IMAGE_SYMBOL_EX_N { - [u32; 2], - ShortName ShortName_mut: [BYTE; 8], - Name Name_mut: IMAGE_SYMBOL_EX_N_Name, - LongName LongName_mut: [DWORD; 2], -}} -STRUCT!{struct IMAGE_SYMBOL_EX { - N: IMAGE_SYMBOL_EX_N, - Value: DWORD, - SectionNumber: LONG, - Type: WORD, - StorageClass: BYTE, - NumberOfAuxSymbols: BYTE, -}} -pub type PIMAGE_SYMBOL_EX = *mut IMAGE_SYMBOL_EX; -pub const IMAGE_SYM_UNDEFINED: SHORT = 0; -pub const IMAGE_SYM_ABSOLUTE: SHORT = -1; -pub const IMAGE_SYM_DEBUG: SHORT = -2; -pub const IMAGE_SYM_SECTION_MAX: USHORT = 0xFEFF; -pub const IMAGE_SYM_SECTION_MAX_EX: LONG = MAXLONG; -pub const IMAGE_SYM_TYPE_NULL: WORD = 0x0000; -pub const IMAGE_SYM_TYPE_VOID: WORD = 0x0001; -pub const IMAGE_SYM_TYPE_CHAR: WORD = 0x0002; -pub const IMAGE_SYM_TYPE_SHORT: WORD = 0x0003; -pub const IMAGE_SYM_TYPE_INT: WORD = 0x0004; -pub const IMAGE_SYM_TYPE_LONG: WORD = 0x0005; -pub const IMAGE_SYM_TYPE_FLOAT: WORD = 0x0006; -pub const IMAGE_SYM_TYPE_DOUBLE: WORD = 0x0007; -pub const IMAGE_SYM_TYPE_STRUCT: WORD = 0x0008; -pub const IMAGE_SYM_TYPE_UNION: WORD = 0x0009; -pub const IMAGE_SYM_TYPE_ENUM: WORD = 0x000A; -pub const IMAGE_SYM_TYPE_MOE: WORD = 0x000B; -pub const IMAGE_SYM_TYPE_BYTE: WORD = 0x000C; -pub const IMAGE_SYM_TYPE_WORD: WORD = 0x000D; -pub const IMAGE_SYM_TYPE_UINT: WORD = 0x000E; -pub const IMAGE_SYM_TYPE_DWORD: WORD = 0x000F; -pub const IMAGE_SYM_TYPE_PCODE: WORD = 0x8000; -pub const IMAGE_SYM_DTYPE_NULL: WORD = 0; -pub const IMAGE_SYM_DTYPE_POINTER: WORD = 1; -pub const IMAGE_SYM_DTYPE_FUNCTION: WORD = 2; -pub const IMAGE_SYM_DTYPE_ARRAY: WORD = 3; -pub const IMAGE_SYM_CLASS_END_OF_FUNCTION: BYTE = -1i8 as u8; -pub const IMAGE_SYM_CLASS_NULL: BYTE = 0x0000; -pub const IMAGE_SYM_CLASS_AUTOMATIC: BYTE = 0x0001; -pub const IMAGE_SYM_CLASS_EXTERNAL: BYTE = 0x0002; -pub const IMAGE_SYM_CLASS_STATIC: BYTE = 0x0003; -pub const IMAGE_SYM_CLASS_REGISTER: BYTE = 0x0004; -pub const IMAGE_SYM_CLASS_EXTERNAL_DEF: BYTE = 0x0005; -pub const IMAGE_SYM_CLASS_LABEL: BYTE = 0x0006; -pub const IMAGE_SYM_CLASS_UNDEFINED_LABEL: BYTE = 0x0007; -pub const IMAGE_SYM_CLASS_MEMBER_OF_STRUCT: BYTE = 0x0008; -pub const IMAGE_SYM_CLASS_ARGUMENT: BYTE = 0x0009; -pub const IMAGE_SYM_CLASS_STRUCT_TAG: BYTE = 0x000A; -pub const IMAGE_SYM_CLASS_MEMBER_OF_UNION: BYTE = 0x000B; -pub const IMAGE_SYM_CLASS_UNION_TAG: BYTE = 0x000C; -pub const IMAGE_SYM_CLASS_TYPE_DEFINITION: BYTE = 0x000D; -pub const IMAGE_SYM_CLASS_UNDEFINED_STATIC: BYTE = 0x000E; -pub const IMAGE_SYM_CLASS_ENUM_TAG: BYTE = 0x000F; -pub const IMAGE_SYM_CLASS_MEMBER_OF_ENUM: BYTE = 0x0010; -pub const IMAGE_SYM_CLASS_REGISTER_PARAM: BYTE = 0x0011; -pub const IMAGE_SYM_CLASS_BIT_FIELD: BYTE = 0x0012; -pub const IMAGE_SYM_CLASS_FAR_EXTERNAL: BYTE = 0x0044; -pub const IMAGE_SYM_CLASS_BLOCK: BYTE = 0x0064; -pub const IMAGE_SYM_CLASS_FUNCTION: BYTE = 0x0065; -pub const IMAGE_SYM_CLASS_END_OF_STRUCT: BYTE = 0x0066; -pub const IMAGE_SYM_CLASS_FILE: BYTE = 0x0067; -pub const IMAGE_SYM_CLASS_SECTION: BYTE = 0x0068; -pub const IMAGE_SYM_CLASS_WEAK_EXTERNAL: BYTE = 0x0069; -pub const IMAGE_SYM_CLASS_CLR_TOKEN: BYTE = 0x006B; -pub const N_BTMASK: WORD = 0x000F; -pub const N_TMASK: WORD = 0x0030; -pub const N_TMASK1: WORD = 0x00C0; -pub const N_TMASK2: WORD = 0x00F0; -pub const N_BTSHFT: usize = 4; -pub const N_TSHIFT: usize = 2; -#[inline] -pub fn BTYPE(x: WORD) -> bool { - (x & N_BTMASK) != 0 -} -#[inline] -pub fn ISPTR(x: WORD) -> bool { - (x & N_TMASK) == (IMAGE_SYM_DTYPE_POINTER << N_BTSHFT) -} -#[inline] -pub fn ISFCN(x: WORD) -> bool { - (x & N_TMASK) == (IMAGE_SYM_DTYPE_FUNCTION << N_BTSHFT) -} -#[inline] -pub fn ISARY(x: WORD) -> bool { - (x & N_TMASK) == (IMAGE_SYM_DTYPE_ARRAY << N_BTSHFT) -} -#[inline] -pub fn ISTAG(x: BYTE) -> bool { - (x == IMAGE_SYM_CLASS_STRUCT_TAG) || (x == IMAGE_SYM_CLASS_UNION_TAG) - || (x == IMAGE_SYM_CLASS_ENUM_TAG) -} -#[inline] -pub fn INCREF(x: WORD) -> WORD { - ((x & !N_BTMASK) << N_TSHIFT) | (IMAGE_SYM_DTYPE_POINTER << N_BTSHFT) | (x & N_BTMASK) -} -#[inline] -pub fn DECREF(x: WORD) -> WORD { - ((x >> N_TSHIFT) & !N_BTMASK) | (x & N_BTMASK) -} -STRUCT!{struct IMAGE_AUX_SYMBOL_TOKEN_DEF { - bAuxType: BYTE, - bReserved: BYTE, - SymbolTableIndex: DWORD, - rgbReserved: [BYTE; 12], -}} -pub type PIMAGE_AUX_SYMBOL_TOKEN_DEF = *mut IMAGE_AUX_SYMBOL_TOKEN_DEF; -STRUCT!{struct IMAGE_AUX_SYMBOL_Sym_Misc_LnSz { - Linenumber: WORD, - Size: WORD, -}} -UNION!{union IMAGE_AUX_SYMBOL_Sym_Misc { - [u32; 1], - LnSz LnSz_mut: IMAGE_AUX_SYMBOL_Sym_Misc_LnSz, - TotalSize TotalSize_mut: DWORD, -}} -STRUCT!{struct IMAGE_AUX_SYMBOL_Sym_FcnAry_Function { - PointerToLinenumber: DWORD, - PointerToNextFunction: DWORD, -}} -STRUCT!{struct IMAGE_AUX_SYMBOL_Sym_FcnAry_Array { - Dimension: [WORD; 4], -}} -UNION!{union IMAGE_AUX_SYMBOL_Sym_FcnAry { - [u32; 2], - Function Function_mut: IMAGE_AUX_SYMBOL_Sym_FcnAry_Function, - Array Array_mut: IMAGE_AUX_SYMBOL_Sym_FcnAry_Array, -}} -STRUCT!{struct IMAGE_AUX_SYMBOL_Sym { - TagIndex: DWORD, - Misc: IMAGE_AUX_SYMBOL_Sym_Misc, - FcnAry: IMAGE_AUX_SYMBOL_Sym_FcnAry, - TvIndex: WORD, -}} -STRUCT!{struct IMAGE_AUX_SYMBOL_File { - Name: [BYTE; IMAGE_SIZEOF_SYMBOL], -}} -STRUCT!{struct IMAGE_AUX_SYMBOL_Section { - Length: DWORD, - NumberOfRelocations: WORD, - NumberOfLinenumbers: WORD, - CheckSum: DWORD, - Number: SHORT, - Selection: BYTE, - bReserved: BYTE, - HighNumber: SHORT, -}} -STRUCT!{struct IMAGE_AUX_SYMBOL_CRC { - crc: DWORD, - rgbReserved: [BYTE; 14], -}} -STRUCT!{struct IMAGE_AUX_SYMBOL { - Sym: IMAGE_AUX_SYMBOL_Sym, - File: IMAGE_AUX_SYMBOL_File, - Section: IMAGE_AUX_SYMBOL_Section, - TokenDef: IMAGE_AUX_SYMBOL_TOKEN_DEF, - CRC: IMAGE_AUX_SYMBOL_CRC, -}} -pub type PIMAGE_AUX_SYMBOL = *mut IMAGE_AUX_SYMBOL; -STRUCT!{struct IMAGE_AUX_SYMBOL_EX_Sym { - WeakDefaultSymIndex: DWORD, - WeakSearchType: DWORD, - rgbReserved: [BYTE; 12], -}} -STRUCT!{struct IMAGE_AUX_SYMBOL_EX_File { - Name: [BYTE; 20], -}} -STRUCT!{struct IMAGE_AUX_SYMBOL_EX_Section { - Length: DWORD, - NumberOfRelocations: WORD, - NumberOfLinenumbers: WORD, - CheckSum: DWORD, - Number: SHORT, - Selection: BYTE, - bReserved: BYTE, - HighNumber: SHORT, - rgbReserved: [BYTE; 2], -}} -STRUCT!{struct IMAGE_AUX_SYMBOL_EX_s { - TokenDef: IMAGE_AUX_SYMBOL_TOKEN_DEF, - rgbReserved: [BYTE; 2], -}} -STRUCT!{struct IMAGE_AUX_SYMBOL_EX_CRC { - crc: DWORD, - rgbReserved: [BYTE; 16], -}} -STRUCT!{struct IMAGE_AUX_SYMBOL_EX { - Sym: IMAGE_AUX_SYMBOL_EX_Sym, - File: IMAGE_AUX_SYMBOL_EX_File, - Section: IMAGE_AUX_SYMBOL_EX_Section, - s: IMAGE_AUX_SYMBOL_EX_s, - CRC: IMAGE_AUX_SYMBOL_EX_CRC, -}} -pub type PIMAGE_AUX_SYMBOL_EX = *mut IMAGE_AUX_SYMBOL_EX; -ENUM!{enum IMAGE_AUX_SYMBOL_TYPE { - IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF = 1, -}} -pub const IMAGE_COMDAT_SELECT_NODUPLICATES: BYTE = 1; -pub const IMAGE_COMDAT_SELECT_ANY: BYTE = 2; -pub const IMAGE_COMDAT_SELECT_SAME_SIZE: BYTE = 3; -pub const IMAGE_COMDAT_SELECT_EXACT_MATCH: BYTE = 4; -pub const IMAGE_COMDAT_SELECT_ASSOCIATIVE: BYTE = 5; -pub const IMAGE_COMDAT_SELECT_LARGEST: BYTE = 6; -pub const IMAGE_COMDAT_SELECT_NEWEST: BYTE = 7; -pub const IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY: BYTE = 1; -pub const IMAGE_WEAK_EXTERN_SEARCH_LIBRARY: BYTE = 2; -pub const IMAGE_WEAK_EXTERN_SEARCH_ALIAS: BYTE = 3; -UNION!{union IMAGE_RELOCATION_u { - [u32; 1], - VirtualAddress VirtualAddress_mut: DWORD, - RelocCount RelocCount_mut: DWORD, -}} -STRUCT!{struct IMAGE_RELOCATION { - u: IMAGE_RELOCATION_u, - SymbolTableIndex: DWORD, - Type: WORD, -}} -pub type PIMAGE_RELOCATION = *mut IMAGE_RELOCATION; -pub const IMAGE_REL_I386_ABSOLUTE: WORD = 0x0000; -pub const IMAGE_REL_I386_DIR16: WORD = 0x0001; -pub const IMAGE_REL_I386_REL16: WORD = 0x0002; -pub const IMAGE_REL_I386_DIR32: WORD = 0x0006; -pub const IMAGE_REL_I386_DIR32NB: WORD = 0x0007; -pub const IMAGE_REL_I386_SEG12: WORD = 0x0009; -pub const IMAGE_REL_I386_SECTION: WORD = 0x000A; -pub const IMAGE_REL_I386_SECREL: WORD = 0x000B; -pub const IMAGE_REL_I386_TOKEN: WORD = 0x000C; -pub const IMAGE_REL_I386_SECREL7: WORD = 0x000D; -pub const IMAGE_REL_I386_REL32: WORD = 0x0014; -pub const IMAGE_REL_MIPS_ABSOLUTE: WORD = 0x0000; -pub const IMAGE_REL_MIPS_REFHALF: WORD = 0x0001; -pub const IMAGE_REL_MIPS_REFWORD: WORD = 0x0002; -pub const IMAGE_REL_MIPS_JMPADDR: WORD = 0x0003; -pub const IMAGE_REL_MIPS_REFHI: WORD = 0x0004; -pub const IMAGE_REL_MIPS_REFLO: WORD = 0x0005; -pub const IMAGE_REL_MIPS_GPREL: WORD = 0x0006; -pub const IMAGE_REL_MIPS_LITERAL: WORD = 0x0007; -pub const IMAGE_REL_MIPS_SECTION: WORD = 0x000A; -pub const IMAGE_REL_MIPS_SECREL: WORD = 0x000B; -pub const IMAGE_REL_MIPS_SECRELLO: WORD = 0x000C; -pub const IMAGE_REL_MIPS_SECRELHI: WORD = 0x000D; -pub const IMAGE_REL_MIPS_TOKEN: WORD = 0x000E; -pub const IMAGE_REL_MIPS_JMPADDR16: WORD = 0x0010; -pub const IMAGE_REL_MIPS_REFWORDNB: WORD = 0x0022; -pub const IMAGE_REL_MIPS_PAIR: WORD = 0x0025; -pub const IMAGE_REL_ALPHA_ABSOLUTE: WORD = 0x0000; -pub const IMAGE_REL_ALPHA_REFLONG: WORD = 0x0001; -pub const IMAGE_REL_ALPHA_REFQUAD: WORD = 0x0002; -pub const IMAGE_REL_ALPHA_GPREL32: WORD = 0x0003; -pub const IMAGE_REL_ALPHA_LITERAL: WORD = 0x0004; -pub const IMAGE_REL_ALPHA_LITUSE: WORD = 0x0005; -pub const IMAGE_REL_ALPHA_GPDISP: WORD = 0x0006; -pub const IMAGE_REL_ALPHA_BRADDR: WORD = 0x0007; -pub const IMAGE_REL_ALPHA_HINT: WORD = 0x0008; -pub const IMAGE_REL_ALPHA_INLINE_REFLONG: WORD = 0x0009; -pub const IMAGE_REL_ALPHA_REFHI: WORD = 0x000A; -pub const IMAGE_REL_ALPHA_REFLO: WORD = 0x000B; -pub const IMAGE_REL_ALPHA_PAIR: WORD = 0x000C; -pub const IMAGE_REL_ALPHA_MATCH: WORD = 0x000D; -pub const IMAGE_REL_ALPHA_SECTION: WORD = 0x000E; -pub const IMAGE_REL_ALPHA_SECREL: WORD = 0x000F; -pub const IMAGE_REL_ALPHA_REFLONGNB: WORD = 0x0010; -pub const IMAGE_REL_ALPHA_SECRELLO: WORD = 0x0011; -pub const IMAGE_REL_ALPHA_SECRELHI: WORD = 0x0012; -pub const IMAGE_REL_ALPHA_REFQ3: WORD = 0x0013; -pub const IMAGE_REL_ALPHA_REFQ2: WORD = 0x0014; -pub const IMAGE_REL_ALPHA_REFQ1: WORD = 0x0015; -pub const IMAGE_REL_ALPHA_GPRELLO: WORD = 0x0016; -pub const IMAGE_REL_ALPHA_GPRELHI: WORD = 0x0017; -pub const IMAGE_REL_PPC_ABSOLUTE: WORD = 0x0000; -pub const IMAGE_REL_PPC_ADDR64: WORD = 0x0001; -pub const IMAGE_REL_PPC_ADDR32: WORD = 0x0002; -pub const IMAGE_REL_PPC_ADDR24: WORD = 0x0003; -pub const IMAGE_REL_PPC_ADDR16: WORD = 0x0004; -pub const IMAGE_REL_PPC_ADDR14: WORD = 0x0005; -pub const IMAGE_REL_PPC_REL24: WORD = 0x0006; -pub const IMAGE_REL_PPC_REL14: WORD = 0x0007; -pub const IMAGE_REL_PPC_TOCREL16: WORD = 0x0008; -pub const IMAGE_REL_PPC_TOCREL14: WORD = 0x0009; -pub const IMAGE_REL_PPC_ADDR32NB: WORD = 0x000A; -pub const IMAGE_REL_PPC_SECREL: WORD = 0x000B; -pub const IMAGE_REL_PPC_SECTION: WORD = 0x000C; -pub const IMAGE_REL_PPC_IFGLUE: WORD = 0x000D; -pub const IMAGE_REL_PPC_IMGLUE: WORD = 0x000E; -pub const IMAGE_REL_PPC_SECREL16: WORD = 0x000F; -pub const IMAGE_REL_PPC_REFHI: WORD = 0x0010; -pub const IMAGE_REL_PPC_REFLO: WORD = 0x0011; -pub const IMAGE_REL_PPC_PAIR: WORD = 0x0012; -pub const IMAGE_REL_PPC_SECRELLO: WORD = 0x0013; -pub const IMAGE_REL_PPC_SECRELHI: WORD = 0x0014; -pub const IMAGE_REL_PPC_GPREL: WORD = 0x0015; -pub const IMAGE_REL_PPC_TOKEN: WORD = 0x0016; -pub const IMAGE_REL_PPC_TYPEMASK: WORD = 0x00FF; -pub const IMAGE_REL_PPC_NEG: WORD = 0x0100; -pub const IMAGE_REL_PPC_BRTAKEN: WORD = 0x0200; -pub const IMAGE_REL_PPC_BRNTAKEN: WORD = 0x0400; -pub const IMAGE_REL_PPC_TOCDEFN: WORD = 0x0800; -pub const IMAGE_REL_SH3_ABSOLUTE: WORD = 0x0000; -pub const IMAGE_REL_SH3_DIRECT16: WORD = 0x0001; -pub const IMAGE_REL_SH3_DIRECT32: WORD = 0x0002; -pub const IMAGE_REL_SH3_DIRECT8: WORD = 0x0003; -pub const IMAGE_REL_SH3_DIRECT8_WORD: WORD = 0x0004; -pub const IMAGE_REL_SH3_DIRECT8_LONG: WORD = 0x0005; -pub const IMAGE_REL_SH3_DIRECT4: WORD = 0x0006; -pub const IMAGE_REL_SH3_DIRECT4_WORD: WORD = 0x0007; -pub const IMAGE_REL_SH3_DIRECT4_LONG: WORD = 0x0008; -pub const IMAGE_REL_SH3_PCREL8_WORD: WORD = 0x0009; -pub const IMAGE_REL_SH3_PCREL8_LONG: WORD = 0x000A; -pub const IMAGE_REL_SH3_PCREL12_WORD: WORD = 0x000B; -pub const IMAGE_REL_SH3_STARTOF_SECTION: WORD = 0x000C; -pub const IMAGE_REL_SH3_SIZEOF_SECTION: WORD = 0x000D; -pub const IMAGE_REL_SH3_SECTION: WORD = 0x000E; -pub const IMAGE_REL_SH3_SECREL: WORD = 0x000F; -pub const IMAGE_REL_SH3_DIRECT32_NB: WORD = 0x0010; -pub const IMAGE_REL_SH3_GPREL4_LONG: WORD = 0x0011; -pub const IMAGE_REL_SH3_TOKEN: WORD = 0x0012; -pub const IMAGE_REL_SHM_PCRELPT: WORD = 0x0013; -pub const IMAGE_REL_SHM_REFLO: WORD = 0x0014; -pub const IMAGE_REL_SHM_REFHALF: WORD = 0x0015; -pub const IMAGE_REL_SHM_RELLO: WORD = 0x0016; -pub const IMAGE_REL_SHM_RELHALF: WORD = 0x0017; -pub const IMAGE_REL_SHM_PAIR: WORD = 0x0018; -pub const IMAGE_REL_SH_NOMODE: WORD = 0x8000; -pub const IMAGE_REL_ARM_ABSOLUTE: WORD = 0x0000; -pub const IMAGE_REL_ARM_ADDR32: WORD = 0x0001; -pub const IMAGE_REL_ARM_ADDR32NB: WORD = 0x0002; -pub const IMAGE_REL_ARM_BRANCH24: WORD = 0x0003; -pub const IMAGE_REL_ARM_BRANCH11: WORD = 0x0004; -pub const IMAGE_REL_ARM_TOKEN: WORD = 0x0005; -pub const IMAGE_REL_ARM_GPREL12: WORD = 0x0006; -pub const IMAGE_REL_ARM_GPREL7: WORD = 0x0007; -pub const IMAGE_REL_ARM_BLX24: WORD = 0x0008; -pub const IMAGE_REL_ARM_BLX11: WORD = 0x0009; -pub const IMAGE_REL_ARM_SECTION: WORD = 0x000E; -pub const IMAGE_REL_ARM_SECREL: WORD = 0x000F; -pub const IMAGE_REL_ARM_MOV32A: WORD = 0x0010; -pub const IMAGE_REL_ARM_MOV32: WORD = 0x0010; -pub const IMAGE_REL_ARM_MOV32T: WORD = 0x0011; -pub const IMAGE_REL_THUMB_MOV32: WORD = 0x0011; -pub const IMAGE_REL_ARM_BRANCH20T: WORD = 0x0012; -pub const IMAGE_REL_THUMB_BRANCH20: WORD = 0x0012; -pub const IMAGE_REL_ARM_BRANCH24T: WORD = 0x0014; -pub const IMAGE_REL_THUMB_BRANCH24: WORD = 0x0014; -pub const IMAGE_REL_ARM_BLX23T: WORD = 0x0015; -pub const IMAGE_REL_THUMB_BLX23: WORD = 0x0015; -pub const IMAGE_REL_AM_ABSOLUTE: WORD = 0x0000; -pub const IMAGE_REL_AM_ADDR32: WORD = 0x0001; -pub const IMAGE_REL_AM_ADDR32NB: WORD = 0x0002; -pub const IMAGE_REL_AM_CALL32: WORD = 0x0003; -pub const IMAGE_REL_AM_FUNCINFO: WORD = 0x0004; -pub const IMAGE_REL_AM_REL32_1: WORD = 0x0005; -pub const IMAGE_REL_AM_REL32_2: WORD = 0x0006; -pub const IMAGE_REL_AM_SECREL: WORD = 0x0007; -pub const IMAGE_REL_AM_SECTION: WORD = 0x0008; -pub const IMAGE_REL_AM_TOKEN: WORD = 0x0009; -pub const IMAGE_REL_ARM64_ABSOLUTE: WORD = 0x0000; -pub const IMAGE_REL_ARM64_ADDR32: WORD = 0x0001; -pub const IMAGE_REL_ARM64_ADDR32NB: WORD = 0x0002; -pub const IMAGE_REL_ARM64_BRANCH26: WORD = 0x0003; -pub const IMAGE_REL_ARM64_PAGEBASE_REL21: WORD = 0x0004; -pub const IMAGE_REL_ARM64_REL21: WORD = 0x0005; -pub const IMAGE_REL_ARM64_PAGEOFFSET_12A: WORD = 0x0006; -pub const IMAGE_REL_ARM64_PAGEOFFSET_12L: WORD = 0x0007; -pub const IMAGE_REL_ARM64_SECREL: WORD = 0x0008; -pub const IMAGE_REL_ARM64_SECREL_LOW12A: WORD = 0x0009; -pub const IMAGE_REL_ARM64_SECREL_HIGH12A: WORD = 0x000A; -pub const IMAGE_REL_ARM64_SECREL_LOW12L: WORD = 0x000B; -pub const IMAGE_REL_ARM64_TOKEN: WORD = 0x000C; -pub const IMAGE_REL_ARM64_SECTION: WORD = 0x000D; -pub const IMAGE_REL_ARM64_ADDR64: WORD = 0x000E; -pub const IMAGE_REL_ARM64_BRANCH19: WORD = 0x000F; -pub const IMAGE_REL_AMD64_ABSOLUTE: WORD = 0x0000; -pub const IMAGE_REL_AMD64_ADDR64: WORD = 0x0001; -pub const IMAGE_REL_AMD64_ADDR32: WORD = 0x0002; -pub const IMAGE_REL_AMD64_ADDR32NB: WORD = 0x0003; -pub const IMAGE_REL_AMD64_REL32: WORD = 0x0004; -pub const IMAGE_REL_AMD64_REL32_1: WORD = 0x0005; -pub const IMAGE_REL_AMD64_REL32_2: WORD = 0x0006; -pub const IMAGE_REL_AMD64_REL32_3: WORD = 0x0007; -pub const IMAGE_REL_AMD64_REL32_4: WORD = 0x0008; -pub const IMAGE_REL_AMD64_REL32_5: WORD = 0x0009; -pub const IMAGE_REL_AMD64_SECTION: WORD = 0x000A; -pub const IMAGE_REL_AMD64_SECREL: WORD = 0x000B; -pub const IMAGE_REL_AMD64_SECREL7: WORD = 0x000C; -pub const IMAGE_REL_AMD64_TOKEN: WORD = 0x000D; -pub const IMAGE_REL_AMD64_SREL32: WORD = 0x000E; -pub const IMAGE_REL_AMD64_PAIR: WORD = 0x000F; -pub const IMAGE_REL_AMD64_SSPAN32: WORD = 0x0010; -pub const IMAGE_REL_IA64_ABSOLUTE: WORD = 0x0000; -pub const IMAGE_REL_IA64_IMM14: WORD = 0x0001; -pub const IMAGE_REL_IA64_IMM22: WORD = 0x0002; -pub const IMAGE_REL_IA64_IMM64: WORD = 0x0003; -pub const IMAGE_REL_IA64_DIR32: WORD = 0x0004; -pub const IMAGE_REL_IA64_DIR64: WORD = 0x0005; -pub const IMAGE_REL_IA64_PCREL21B: WORD = 0x0006; -pub const IMAGE_REL_IA64_PCREL21M: WORD = 0x0007; -pub const IMAGE_REL_IA64_PCREL21F: WORD = 0x0008; -pub const IMAGE_REL_IA64_GPREL22: WORD = 0x0009; -pub const IMAGE_REL_IA64_LTOFF22: WORD = 0x000A; -pub const IMAGE_REL_IA64_SECTION: WORD = 0x000B; -pub const IMAGE_REL_IA64_SECREL22: WORD = 0x000C; -pub const IMAGE_REL_IA64_SECREL64I: WORD = 0x000D; -pub const IMAGE_REL_IA64_SECREL32: WORD = 0x000E; -pub const IMAGE_REL_IA64_DIR32NB: WORD = 0x0010; -pub const IMAGE_REL_IA64_SREL14: WORD = 0x0011; -pub const IMAGE_REL_IA64_SREL22: WORD = 0x0012; -pub const IMAGE_REL_IA64_SREL32: WORD = 0x0013; -pub const IMAGE_REL_IA64_UREL32: WORD = 0x0014; -pub const IMAGE_REL_IA64_PCREL60X: WORD = 0x0015; -pub const IMAGE_REL_IA64_PCREL60B: WORD = 0x0016; -pub const IMAGE_REL_IA64_PCREL60F: WORD = 0x0017; -pub const IMAGE_REL_IA64_PCREL60I: WORD = 0x0018; -pub const IMAGE_REL_IA64_PCREL60M: WORD = 0x0019; -pub const IMAGE_REL_IA64_IMMGPREL64: WORD = 0x001A; -pub const IMAGE_REL_IA64_TOKEN: WORD = 0x001B; -pub const IMAGE_REL_IA64_GPREL32: WORD = 0x001C; -pub const IMAGE_REL_IA64_ADDEND: WORD = 0x001F; -pub const IMAGE_REL_CEF_ABSOLUTE: WORD = 0x0000; -pub const IMAGE_REL_CEF_ADDR32: WORD = 0x0001; -pub const IMAGE_REL_CEF_ADDR64: WORD = 0x0002; -pub const IMAGE_REL_CEF_ADDR32NB: WORD = 0x0003; -pub const IMAGE_REL_CEF_SECTION: WORD = 0x0004; -pub const IMAGE_REL_CEF_SECREL: WORD = 0x0005; -pub const IMAGE_REL_CEF_TOKEN: WORD = 0x0006; -pub const IMAGE_REL_CEE_ABSOLUTE: WORD = 0x0000; -pub const IMAGE_REL_CEE_ADDR32: WORD = 0x0001; -pub const IMAGE_REL_CEE_ADDR64: WORD = 0x0002; -pub const IMAGE_REL_CEE_ADDR32NB: WORD = 0x0003; -pub const IMAGE_REL_CEE_SECTION: WORD = 0x0004; -pub const IMAGE_REL_CEE_SECREL: WORD = 0x0005; -pub const IMAGE_REL_CEE_TOKEN: WORD = 0x0006; -pub const IMAGE_REL_M32R_ABSOLUTE: WORD = 0x0000; -pub const IMAGE_REL_M32R_ADDR32: WORD = 0x0001; -pub const IMAGE_REL_M32R_ADDR32NB: WORD = 0x0002; -pub const IMAGE_REL_M32R_ADDR24: WORD = 0x0003; -pub const IMAGE_REL_M32R_GPREL16: WORD = 0x0004; -pub const IMAGE_REL_M32R_PCREL24: WORD = 0x0005; -pub const IMAGE_REL_M32R_PCREL16: WORD = 0x0006; -pub const IMAGE_REL_M32R_PCREL8: WORD = 0x0007; -pub const IMAGE_REL_M32R_REFHALF: WORD = 0x0008; -pub const IMAGE_REL_M32R_REFHI: WORD = 0x0009; -pub const IMAGE_REL_M32R_REFLO: WORD = 0x000A; -pub const IMAGE_REL_M32R_PAIR: WORD = 0x000B; -pub const IMAGE_REL_M32R_SECTION: WORD = 0x000C; -pub const IMAGE_REL_M32R_SECREL32: WORD = 0x000D; -pub const IMAGE_REL_M32R_TOKEN: WORD = 0x000E; -pub const IMAGE_REL_EBC_ABSOLUTE: WORD = 0x0000; -pub const IMAGE_REL_EBC_ADDR32NB: WORD = 0x0001; -pub const IMAGE_REL_EBC_REL32: WORD = 0x0002; -pub const IMAGE_REL_EBC_SECTION: WORD = 0x0003; -pub const IMAGE_REL_EBC_SECREL: WORD = 0x0004; -UNION!{union IMAGE_LINENUMBER_Type { - [u32; 1], - SymbolTableIndex SymbolTableIndex_mut: DWORD, - VirtualAddress VirtualAddress_mut: DWORD, -}} -STRUCT!{struct IMAGE_LINENUMBER { - Type: IMAGE_LINENUMBER_Type, - Linenumber: WORD, -}} -pub type PIMAGE_LINENUMBER = *mut IMAGE_LINENUMBER; -STRUCT!{struct IMAGE_BASE_RELOCATION { - VirtualAddress: DWORD, - SizeOfBlock: DWORD, -}} -pub type PIMAGE_BASE_RELOCATION = *mut IMAGE_BASE_RELOCATION; -pub const IMAGE_REL_BASED_ABSOLUTE: WORD = 0; -pub const IMAGE_REL_BASED_HIGH: WORD = 1; -pub const IMAGE_REL_BASED_LOW: WORD = 2; -pub const IMAGE_REL_BASED_HIGHLOW: WORD = 3; -pub const IMAGE_REL_BASED_HIGHADJ: WORD = 4; -pub const IMAGE_REL_BASED_MACHINE_SPECIFIC_5: WORD = 5; -pub const IMAGE_REL_BASED_RESERVED: WORD = 6; -pub const IMAGE_REL_BASED_MACHINE_SPECIFIC_7: WORD = 7; -pub const IMAGE_REL_BASED_MACHINE_SPECIFIC_8: WORD = 8; -pub const IMAGE_REL_BASED_MACHINE_SPECIFIC_9: WORD = 9; -pub const IMAGE_REL_BASED_DIR64: WORD = 10; -pub const IMAGE_REL_BASED_IA64_IMM64: WORD = 9; -pub const IMAGE_REL_BASED_MIPS_JMPADDR: WORD = 5; -pub const IMAGE_REL_BASED_MIPS_JMPADDR16: WORD = 9; -pub const IMAGE_REL_BASED_ARM_MOV32: WORD = 5; -pub const IMAGE_REL_BASED_THUMB_MOV32: WORD = 7; -pub const IMAGE_ARCHIVE_START_SIZE: usize = 8; -pub const IMAGE_ARCHIVE_START: &'static str = "!\n"; -pub const IMAGE_ARCHIVE_END: &'static str = "`\n"; -pub const IMAGE_ARCHIVE_PAD: &'static str = "\n"; -pub const IMAGE_ARCHIVE_LINKER_MEMBER: &'static str = "/ "; -pub const IMAGE_ARCHIVE_LONGNAMES_MEMBER: &'static str = "// "; -pub const IMAGE_ARCHIVE_HYBRIDMAP_MEMBER: &'static str = "// "; -STRUCT!{struct IMAGE_ARCHIVE_MEMBER_HEADER { - Name: [BYTE; 16], - Date: [BYTE; 12], - UserID: [BYTE; 6], - GroupID: [BYTE; 6], - Mode: [BYTE; 8], - Size: [BYTE; 10], - EndHeader: [BYTE; 2], -}} -pub type PIMAGE_ARCHIVE_MEMBER_HEADER = *mut IMAGE_ARCHIVE_MEMBER_HEADER; -pub const IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR: usize = 60; -STRUCT!{struct IMAGE_EXPORT_DIRECTORY { - Characteristics: DWORD, - TimeDateStamp: DWORD, - MajorVersion: WORD, - MinorVersion: WORD, - Name: DWORD, - Base: DWORD, - NumberOfFunctions: DWORD, - NumberOfNames: DWORD, - AddressOfFunctions: DWORD, - AddressOfNames: DWORD, - AddressOfNameOrdinals: DWORD, -}} -pub type PIMAGE_EXPORT_DIRECTORY = *mut IMAGE_EXPORT_DIRECTORY; -STRUCT!{struct IMAGE_IMPORT_BY_NAME { - Hint: WORD, - Name: [CHAR; 1], -}} -pub type PIMAGE_IMPORT_BY_NAME = *mut IMAGE_IMPORT_BY_NAME; -UNION!{union IMAGE_THUNK_DATA64_u1 { - [u64; 1], - ForwarderString ForwarderString_mut: ULONGLONG, - Function Function_mut: ULONGLONG, - Ordinal Ordinal_mut: ULONGLONG, - AddressOfData AddressOfData_mut: ULONGLONG, -}} -STRUCT!{struct IMAGE_THUNK_DATA64 { - u1: IMAGE_THUNK_DATA64_u1, -}} -pub type PIMAGE_THUNK_DATA64 = *mut IMAGE_THUNK_DATA64; -UNION!{union IMAGE_THUNK_DATA32_u1 { - [u32; 1], - ForwarderString ForwarderString_mut: DWORD, - Function Function_mut: DWORD, - Ordinal Ordinal_mut: DWORD, - AddressOfData AddressOfData_mut: DWORD, -}} -STRUCT!{struct IMAGE_THUNK_DATA32 { - u1: IMAGE_THUNK_DATA32_u1, -}} -pub type PIMAGE_THUNK_DATA32 = *mut IMAGE_THUNK_DATA32; -pub const IMAGE_ORDINAL_FLAG64: ULONGLONG = 0x8000000000000000; -pub const IMAGE_ORDINAL_FLAG32: DWORD = 0x80000000; -#[inline] -pub fn IMAGE_ORDINAL64(Ordinal: ULONGLONG) -> ULONGLONG { - Ordinal & 0xffff -} -#[inline] -pub fn IMAGE_ORDINAL32(Ordinal: DWORD) -> DWORD { - Ordinal & 0xffff -} -#[inline] -pub fn IMAGE_SNAP_BY_ORDINAL64(Ordinal: ULONGLONG) -> bool { - (Ordinal & IMAGE_ORDINAL_FLAG64) != 0 -} -#[inline] -pub fn IMAGE_SNAP_BY_ORDINAL32(Ordinal: DWORD) -> bool { - (Ordinal & IMAGE_ORDINAL_FLAG32) != 0 -} -FN!{stdcall PIMAGE_TLS_CALLBACK( - DllHandle: PVOID, - Reason: DWORD, - Reserved: PVOID, -) -> ()} -STRUCT!{struct IMAGE_TLS_DIRECTORY64 { - StartAddressOfRawData: ULONGLONG, - EndAddressOfRawData: ULONGLONG, - AddressOfIndex: ULONGLONG, - AddressOfCallBacks: ULONGLONG, - SizeOfZeroFill: DWORD, - Characteristics: DWORD, -}} -BITFIELD!{IMAGE_TLS_DIRECTORY64 Characteristics: DWORD [ - Reserved0 set_Reserved0[0..20], - Alignment set_Alignment[20..24], - Reserved1 set_Reserved1[24..32], -]} -pub type PIMAGE_TLS_DIRECTORY64 = *mut IMAGE_TLS_DIRECTORY64; -STRUCT!{struct IMAGE_TLS_DIRECTORY32 { - StartAddressOfRawData: DWORD, - EndAddressOfRawData: DWORD, - AddressOfIndex: DWORD, - AddressOfCallBacks: DWORD, - SizeOfZeroFill: DWORD, - Characteristics: DWORD, -}} -BITFIELD!{IMAGE_TLS_DIRECTORY32 Characteristics: DWORD [ - Reserved0 set_Reserved0[0..20], - Alignment set_Alignment[20..24], - Reserved1 set_Reserved1[24..32], -]} -pub type PIMAGE_TLS_DIRECTORY32 = *mut IMAGE_TLS_DIRECTORY32; -#[cfg(target_pointer_width = "64")] -IFDEF!{ -pub const IMAGE_ORDINAL_FLAG: ULONGLONG = IMAGE_ORDINAL_FLAG64; -#[inline] -pub fn IMAGE_ORDINAL(Ordinal: ULONGLONG) -> ULONGLONG { - IMAGE_ORDINAL64(Ordinal) -} -pub type IMAGE_THUNK_DATA = IMAGE_THUNK_DATA64; -pub type PIMAGE_THUNK_DATA = PIMAGE_THUNK_DATA64; -#[inline] -pub fn IMAGE_SNAP_BY_ORDINAL(Ordinal: ULONGLONG) -> bool { - IMAGE_SNAP_BY_ORDINAL64(Ordinal) -} -pub type IMAGE_TLS_DIRECTORY = IMAGE_TLS_DIRECTORY64; -pub type PIMAGE_TLS_DIRECTORY = PIMAGE_TLS_DIRECTORY64; -} -#[cfg(target_arch = "x86")] -IFDEF!{ -pub const IMAGE_ORDINAL_FLAG: DWORD = IMAGE_ORDINAL_FLAG32; -#[inline] -pub fn IMAGE_ORDINAL(Ordinal: DWORD) -> DWORD { - IMAGE_ORDINAL32(Ordinal) -} -pub type IMAGE_THUNK_DATA = IMAGE_THUNK_DATA32; -pub type PIMAGE_THUNK_DATA = PIMAGE_THUNK_DATA32; -#[inline] -pub fn IMAGE_SNAP_BY_ORDINAL(Ordinal: DWORD) -> bool { - IMAGE_SNAP_BY_ORDINAL32(Ordinal) -} -pub type IMAGE_TLS_DIRECTORY = IMAGE_TLS_DIRECTORY32; -pub type PIMAGE_TLS_DIRECTORY = PIMAGE_TLS_DIRECTORY32; -} -UNION!{union IMAGE_IMPORT_DESCRIPTOR_u { - [u32; 1], - Characteristics Characteristics_mut: DWORD, - OriginalFirstThunk OriginalFirstThunk_mut: DWORD, -}} -STRUCT!{struct IMAGE_IMPORT_DESCRIPTOR { - u: IMAGE_IMPORT_DESCRIPTOR_u, - TimeDateStamp: DWORD, - ForwarderChain: DWORD, - Name: DWORD, - FirstThunk: DWORD, -}} -pub type PIMAGE_IMPORT_DESCRIPTOR = *mut IMAGE_IMPORT_DESCRIPTOR; -STRUCT!{struct IMAGE_BOUND_IMPORT_DESCRIPTOR { - TimeDateStamp: DWORD, - OffsetModuleName: WORD, - NumberOfModuleForwarderRefs: WORD, -}} -pub type PIMAGE_BOUND_IMPORT_DESCRIPTOR = *mut IMAGE_BOUND_IMPORT_DESCRIPTOR; -STRUCT!{struct IMAGE_BOUND_FORWARDER_REF { - TimeDateStamp: DWORD, - OffsetModuleName: WORD, - Reserved: WORD, -}} -pub type PIMAGE_BOUND_FORWARDER_REF = *mut IMAGE_BOUND_FORWARDER_REF; -STRUCT!{struct IMAGE_DELAYLOAD_DESCRIPTOR_Attributes { - AllAttributes: DWORD, -}} -BITFIELD!{IMAGE_DELAYLOAD_DESCRIPTOR_Attributes AllAttributes: DWORD [ - RvaBased set_RvaBased[0..1], - ReservedAttributes set_ReservedAttributes[1..32], -]} -STRUCT!{struct IMAGE_DELAYLOAD_DESCRIPTOR { - Attributes: IMAGE_DELAYLOAD_DESCRIPTOR_Attributes, - DllNameRVA: DWORD, - ModuleHandleRVA: DWORD, - ImportAddressTableRVA: DWORD, - ImportNameTableRVA: DWORD, - BoundImportAddressTableRVA: DWORD, - UnloadInformationTableRVA: DWORD, - TimeDateStamp: DWORD, -}} -pub type PIMAGE_DELAYLOAD_DESCRIPTOR = *mut IMAGE_DELAYLOAD_DESCRIPTOR; -pub type PCIMAGE_DELAYLOAD_DESCRIPTOR = *const IMAGE_DELAYLOAD_DESCRIPTOR; -STRUCT!{struct IMAGE_RESOURCE_DIRECTORY { - Characteristics: DWORD, - TimeDateStamp: DWORD, - MajorVersion: WORD, - MinorVersion: WORD, - NumberOfNamedEntries: WORD, - NumberOfIdEntries: WORD, -}} -pub type PIMAGE_RESOURCE_DIRECTORY = *mut IMAGE_RESOURCE_DIRECTORY; -pub const IMAGE_RESOURCE_NAME_IS_STRING: DWORD = 0x80000000; -pub const IMAGE_RESOURCE_DATA_IS_DIRECTORY: DWORD = 0x80000000; -STRUCT!{struct IMAGE_RESOURCE_DIRECTORY_ENTRY_u_s { - BitFields: DWORD, -}} -BITFIELD!{IMAGE_RESOURCE_DIRECTORY_ENTRY_u_s BitFields: DWORD [ - NameOffset set_NameOffset[0..31], - NameIsString set_NameIsString[31..32], -]} -UNION!{union IMAGE_RESOURCE_DIRECTORY_ENTRY_u { - [u32; 1], - s s_mut: IMAGE_RESOURCE_DIRECTORY_ENTRY_u_s, - Name Name_mut: DWORD, - Id Id_mut: WORD, -}} -STRUCT!{struct IMAGE_RESOURCE_DIRECTORY_ENTRY { - u: IMAGE_RESOURCE_DIRECTORY_ENTRY_u, - OffsetToData: DWORD, -}} -BITFIELD!{IMAGE_RESOURCE_DIRECTORY_ENTRY OffsetToData: DWORD [ - OffsetToDirectory set_OffsetToDirectory[0..31], - DataIsDirectory set_DataIsDirectory[31..32], -]} -pub type PIMAGE_RESOURCE_DIRECTORY_ENTRY = *mut IMAGE_RESOURCE_DIRECTORY_ENTRY; -STRUCT!{struct IMAGE_RESOURCE_DIRECTORY_STRING { - Length: WORD, - NameString: [CHAR; 1], -}} -pub type PIMAGE_RESOURCE_DIRECTORY_STRING = *mut IMAGE_RESOURCE_DIRECTORY_STRING; -STRUCT!{struct IMAGE_RESOURCE_DIR_STRING_U { - Length: WORD, - NameString: [WCHAR; 1], -}} -pub type PIMAGE_RESOURCE_DIR_STRING_U = *mut IMAGE_RESOURCE_DIR_STRING_U; -STRUCT!{struct IMAGE_RESOURCE_DATA_ENTRY { - OffsetToData: DWORD, - Size: DWORD, - CodePage: DWORD, - Reserved: DWORD, -}} -pub type PIMAGE_RESOURCE_DATA_ENTRY = *mut IMAGE_RESOURCE_DATA_ENTRY; -STRUCT!{struct IMAGE_LOAD_CONFIG_CODE_INTEGRITY { - Flags: WORD, - Catalog: WORD, - CatalogOffset: DWORD, - Reserved: DWORD, -}} -pub type PIMAGE_LOAD_CONFIG_CODE_INTEGRITY = *mut IMAGE_LOAD_CONFIG_CODE_INTEGRITY; -STRUCT!{struct IMAGE_DYNAMIC_RELOCATION_TABLE { - Version: DWORD, - Size: DWORD, -}} -pub type PIMAGE_DYNAMIC_RELOCATION_TABLE = *mut IMAGE_DYNAMIC_RELOCATION_TABLE; -STRUCT!{#[repr(packed)] struct IMAGE_DYNAMIC_RELOCATION32 { - Symbol: DWORD, - BaseRelocSize: DWORD, -}} -pub type PIMAGE_DYNAMIC_RELOCATION32 = *mut IMAGE_DYNAMIC_RELOCATION32; -STRUCT!{#[repr(packed)] struct IMAGE_DYNAMIC_RELOCATION64 { - Symbol: ULONGLONG, - BaseRelocSize: DWORD, -}} -pub type PIMAGE_DYNAMIC_RELOCATION64 = *mut IMAGE_DYNAMIC_RELOCATION64; -STRUCT!{#[repr(packed)] struct IMAGE_DYNAMIC_RELOCATION32_V2 { - HeaderSize: DWORD, - FixupInfoSize: DWORD, - Symbol: DWORD, - SymbolGroup: DWORD, - Flags: DWORD, -}} -pub type PIMAGE_DYNAMIC_RELOCATION32_V2 = *mut IMAGE_DYNAMIC_RELOCATION32_V2; -STRUCT!{#[repr(packed)] struct IMAGE_DYNAMIC_RELOCATION64_V2 { - HeaderSize: DWORD, - FixupInfoSize: DWORD, - Symbol: ULONGLONG, - SymbolGroup: DWORD, - Flags: DWORD, -}} -pub type PIMAGE_DYNAMIC_RELOCATION64_V2 = *mut IMAGE_DYNAMIC_RELOCATION64_V2; -#[cfg(target_pointer_width = "64")] -IFDEF!{ -pub type IMAGE_DYNAMIC_RELOCATION = IMAGE_DYNAMIC_RELOCATION64; -pub type PIMAGE_DYNAMIC_RELOCATION = PIMAGE_DYNAMIC_RELOCATION64; -pub type IMAGE_DYNAMIC_RELOCATION_V2 = IMAGE_DYNAMIC_RELOCATION64_V2; -pub type PIMAGE_DYNAMIC_RELOCATION_V2 = PIMAGE_DYNAMIC_RELOCATION64_V2; -} -#[cfg(target_arch = "x86")] -IFDEF!{ -pub type IMAGE_DYNAMIC_RELOCATION = IMAGE_DYNAMIC_RELOCATION32; -pub type PIMAGE_DYNAMIC_RELOCATION = PIMAGE_DYNAMIC_RELOCATION32; -pub type IMAGE_DYNAMIC_RELOCATION_V2 = IMAGE_DYNAMIC_RELOCATION32_V2; -pub type PIMAGE_DYNAMIC_RELOCATION_V2 = PIMAGE_DYNAMIC_RELOCATION32_V2; -} -pub const IMAGE_DYNAMIC_RELOCATION_GUARD_RF_PROLOGUE: DWORD = 0x00000001; -pub const IMAGE_DYNAMIC_RELOCATION_GUARD_RF_EPILOGUE: DWORD = 0x00000002; -STRUCT!{#[repr(packed)] struct IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER { - PrologueByteCount: BYTE, -}} -pub type PIMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER = *mut IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER; -STRUCT!{#[repr(packed)] struct IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER { - EpilogueCount: DWORD, - EpilogueByteCount: BYTE, - BranchDescriptorElementSize: BYTE, - BranchDescriptorCount: WORD, -}} -pub type PIMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER = *mut IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER; -STRUCT!{struct IMAGE_LOAD_CONFIG_DIRECTORY32 { - Size: DWORD, - TimeDateStamp: DWORD, - MajorVersion: WORD, - MinorVersion: WORD, - GlobalFlagsClear: DWORD, - GlobalFlagsSet: DWORD, - CriticalSectionDefaultTimeout: DWORD, - DeCommitFreeBlockThreshold: DWORD, - DeCommitTotalFreeThreshold: DWORD, - LockPrefixTable: DWORD, - MaximumAllocationSize: DWORD, - VirtualMemoryThreshold: DWORD, - ProcessHeapFlags: DWORD, - ProcessAffinityMask: DWORD, - CSDVersion: WORD, - DependentLoadFlags: WORD, - EditList: DWORD, - SecurityCookie: DWORD, - SEHandlerTable: DWORD, - SEHandlerCount: DWORD, - GuardCFCheckFunctionPointer: DWORD, - GuardCFDispatchFunctionPointer: DWORD, - GuardCFFunctionTable: DWORD, - GuardCFFunctionCount: DWORD, - GuardFlags: DWORD, - CodeIntegrity: IMAGE_LOAD_CONFIG_CODE_INTEGRITY, - GuardAddressTakenIatEntryTable: DWORD, - GuardAddressTakenIatEntryCount: DWORD, - GuardLongJumpTargetTable: DWORD, - GuardLongJumpTargetCount: DWORD, - DynamicValueRelocTable: DWORD, - CHPEMetadataPointer: DWORD, - GuardRFFailureRoutine: DWORD, - GuardRFFailureRoutineFunctionPointer: DWORD, - DynamicValueRelocTableOffset: DWORD, - DynamicValueRelocTableSection: WORD, - Reserved2: WORD, - GuardRFVerifyStackPointerFunctionPointer: DWORD, - HotPatchTableOffset: DWORD, - Reserved3: DWORD, - EnclaveConfigurationPointer: DWORD, -}} -pub type PIMAGE_LOAD_CONFIG_DIRECTORY32 = *mut IMAGE_LOAD_CONFIG_DIRECTORY32; -STRUCT!{struct IMAGE_LOAD_CONFIG_DIRECTORY64 { - Size: DWORD, - TimeDateStamp: DWORD, - MajorVersion: WORD, - MinorVersion: WORD, - GlobalFlagsClear: DWORD, - GlobalFlagsSet: DWORD, - CriticalSectionDefaultTimeout: DWORD, - DeCommitFreeBlockThreshold: ULONGLONG, - DeCommitTotalFreeThreshold: ULONGLONG, - LockPrefixTable: ULONGLONG, - MaximumAllocationSize: ULONGLONG, - VirtualMemoryThreshold: ULONGLONG, - ProcessAffinityMask: ULONGLONG, - ProcessHeapFlags: DWORD, - CSDVersion: WORD, - DependentLoadFlags: WORD, - EditList: ULONGLONG, - SecurityCookie: ULONGLONG, - SEHandlerTable: ULONGLONG, - SEHandlerCount: ULONGLONG, - GuardCFCheckFunctionPointer: ULONGLONG, - GuardCFDispatchFunctionPointer: ULONGLONG, - GuardCFFunctionTable: ULONGLONG, - GuardCFFunctionCount: ULONGLONG, - GuardFlags: DWORD, - CodeIntegrity: IMAGE_LOAD_CONFIG_CODE_INTEGRITY, - GuardAddressTakenIatEntryTable: ULONGLONG, - GuardAddressTakenIatEntryCount: ULONGLONG, - GuardLongJumpTargetTable: ULONGLONG, - GuardLongJumpTargetCount: ULONGLONG, - DynamicValueRelocTable: ULONGLONG, - CHPEMetadataPointer: ULONGLONG, - GuardRFFailureRoutine: ULONGLONG, - GuardRFFailureRoutineFunctionPointer: ULONGLONG, - DynamicValueRelocTableOffset: DWORD, - DynamicValueRelocTableSection: WORD, - Reserved2: WORD, - GuardRFVerifyStackPointerFunctionPointer: ULONGLONG, - HotPatchTableOffset: DWORD, - Reserved3: DWORD, - EnclaveConfigurationPointer: ULONGLONG, -}} -pub type PIMAGE_LOAD_CONFIG_DIRECTORY64 = *mut IMAGE_LOAD_CONFIG_DIRECTORY64; -#[cfg(target_pointer_width = "64")] -IFDEF!{ -pub type IMAGE_LOAD_CONFIG_DIRECTORY = IMAGE_LOAD_CONFIG_DIRECTORY64; -pub type PIMAGE_LOAD_CONFIG_DIRECTORY = PIMAGE_LOAD_CONFIG_DIRECTORY64; -} -#[cfg(target_arch = "x86")] -IFDEF!{ -pub type IMAGE_LOAD_CONFIG_DIRECTORY = IMAGE_LOAD_CONFIG_DIRECTORY32; -pub type PIMAGE_LOAD_CONFIG_DIRECTORY = PIMAGE_LOAD_CONFIG_DIRECTORY32; -} -STRUCT!{struct IMAGE_HOT_PATCH_INFO { - Version: DWORD, - Size: DWORD, - SequenceNumber: DWORD, - BaseImageList: DWORD, - BaseImageCount: DWORD, - BufferOffset: DWORD, -}} -pub type PIMAGE_HOT_PATCH_INFO = *mut IMAGE_HOT_PATCH_INFO; -STRUCT!{struct IMAGE_HOT_PATCH_BASE { - SequenceNumber: DWORD, - Flags: DWORD, - OriginalTimeDateStamp: DWORD, - OriginalCheckSum: DWORD, - CodeIntegrityInfo: DWORD, - CodeIntegritySize: DWORD, - PatchTable: DWORD, - BufferOffset: DWORD, -}} -pub type PIMAGE_HOT_PATCH_BASE = *mut IMAGE_HOT_PATCH_BASE; -STRUCT!{struct IMAGE_HOT_PATCH_HASHES { - SHA256: [BYTE; 32], - SHA1: [BYTE; 20], -}} -pub type PIMAGE_HOT_PATCH_HASHES = *mut IMAGE_HOT_PATCH_HASHES; -pub const IMAGE_HOT_PATCH_BASE_OBLIGATORY: DWORD = 0x00000001; -pub const IMAGE_HOT_PATCH_CHUNK_INVERSE: DWORD = 0x80000000; -pub const IMAGE_HOT_PATCH_CHUNK_OBLIGATORY: DWORD = 0x40000000; -pub const IMAGE_HOT_PATCH_CHUNK_RESERVED: DWORD = 0x3FF03000; -pub const IMAGE_HOT_PATCH_CHUNK_TYPE: DWORD = 0x000FC000; -pub const IMAGE_HOT_PATCH_CHUNK_SOURCE_RVA: DWORD = 0x00008000; -pub const IMAGE_HOT_PATCH_CHUNK_TARGET_RVA: DWORD = 0x00004000; -pub const IMAGE_HOT_PATCH_CHUNK_SIZE: DWORD = 0x00000FFF; -pub const IMAGE_HOT_PATCH_NONE: DWORD = 0x00000000; -pub const IMAGE_HOT_PATCH_FUNCTION: DWORD = 0x0001C000; -pub const IMAGE_HOT_PATCH_ABSOLUTE: DWORD = 0x0002C000; -pub const IMAGE_HOT_PATCH_REL32: DWORD = 0x0003C000; -pub const IMAGE_HOT_PATCH_CALL_TARGET: DWORD = 0x00044000; -pub const IMAGE_HOT_PATCH_INDIRECT: DWORD = 0x0005C000; -pub const IMAGE_HOT_PATCH_NO_CALL_TARGET: DWORD = 0x00064000; -pub const IMAGE_HOT_PATCH_DYNAMIC_VALUE: DWORD = 0x00078000; -pub const IMAGE_GUARD_CF_INSTRUMENTED: DWORD = 0x00000100; -pub const IMAGE_GUARD_CFW_INSTRUMENTED: DWORD = 0x00000200; -pub const IMAGE_GUARD_CF_FUNCTION_TABLE_PRESENT: DWORD = 0x00000400; -pub const IMAGE_GUARD_SECURITY_COOKIE_UNUSED: DWORD = 0x00000800; -pub const IMAGE_GUARD_PROTECT_DELAYLOAD_IAT: DWORD = 0x00001000; -pub const IMAGE_GUARD_DELAYLOAD_IAT_IN_ITS_OWN_SECTION: DWORD = 0x00002000; -pub const IMAGE_GUARD_CF_EXPORT_SUPPRESSION_INFO_PRESENT: DWORD = 0x00004000; -pub const IMAGE_GUARD_CF_ENABLE_EXPORT_SUPPRESSION: DWORD = 0x00008000; -pub const IMAGE_GUARD_CF_LONGJUMP_TABLE_PRESENT: DWORD = 0x00010000; -pub const IMAGE_GUARD_RF_INSTRUMENTED: DWORD = 0x00020000; -pub const IMAGE_GUARD_RF_ENABLE: DWORD = 0x00040000; -pub const IMAGE_GUARD_RF_STRICT: DWORD = 0x00080000; -pub const IMAGE_GUARD_CF_FUNCTION_TABLE_SIZE_MASK: DWORD = 0xF0000000; -pub const IMAGE_GUARD_CF_FUNCTION_TABLE_SIZE_SHIFT: usize = 28; -pub const IMAGE_GUARD_FLAG_FID_SUPPRESSED: DWORD = 0x01; -pub const IMAGE_GUARD_FLAG_EXPORT_SUPPRESSED: DWORD = 0x02; -STRUCT!{struct IMAGE_CE_RUNTIME_FUNCTION_ENTRY { - FuncStart: DWORD, - BitFields: DWORD, -}} -BITFIELD!{IMAGE_CE_RUNTIME_FUNCTION_ENTRY BitFields: DWORD [ - PrologLen set_PrologLen[0..8], - FuncLen set_FuncLen[8..30], - ThirtyTwoBit set_ThirtyTwoBit[30..31], - ExceptionFlag set_ExceptionFlag[31..32], -]} -pub type PIMAGE_CE_RUNTIME_FUNCTION_ENTRY = *mut IMAGE_CE_RUNTIME_FUNCTION_ENTRY; -STRUCT!{struct IMAGE_ARM_RUNTIME_FUNCTION_ENTRY { - BeginAddress: DWORD, - UnwindData: DWORD, -}} -BITFIELD!{IMAGE_ARM_RUNTIME_FUNCTION_ENTRY UnwindData: DWORD [ - Flag set_Flag[0..2], - FunctionLength set_FunctionLength[2..13], - Ret set_Ret[13..15], - H set_H[15..16], - Reg set_Reg[16..19], - R set_R[19..20], - L set_L[20..21], - C set_c[21..22], - StackAdjust set_StackAdjust[22..32], -]} -pub type PIMAGE_ARM_RUNTIME_FUNCTION_ENTRY = *mut IMAGE_ARM_RUNTIME_FUNCTION_ENTRY; -STRUCT!{struct IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY { - BeginAddress: DWORD, - UnwindData: DWORD, -}} -BITFIELD!{IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY UnwindData: DWORD [ - Flag set_Flag[0..2], - FunctionLength set_FunctionLength[2..13], - RegF set_RegF[13..16], - RegI set_RegI[16..20], - H set_H[20..21], - CR set_cR[21..23], - FrameSize set_FrameSize[23..32], -]} -pub type PIMAGE_ARM64_RUNTIME_FUNCTION_ENTRY = *mut IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY; -STRUCT!{struct IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY { - BeginAddress: ULONGLONG, - EndAddress: ULONGLONG, - ExceptionHandler: ULONGLONG, - HandlerData: ULONGLONG, - PrologEndAddress: ULONGLONG, -}} -pub type PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY = *mut IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY; -STRUCT!{struct IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY { - BeginAddress: DWORD, - EndAddress: DWORD, - ExceptionHandler: DWORD, - HandlerData: DWORD, - PrologEndAddress: DWORD, -}} -pub type PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY = *mut IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY; -UNION!{union IMAGE_RUNTIME_FUNCTION_ENTRY_u { - [u32; 1], - UnwindInfoAddress UnwindInfoAddress_mut: DWORD, - UnwindData UnwindData_mut: DWORD, -}} -STRUCT!{struct _IMAGE_RUNTIME_FUNCTION_ENTRY { - BeginAddress: DWORD, - EndAddress: DWORD, - u: IMAGE_RUNTIME_FUNCTION_ENTRY_u, -}} -type _PIMAGE_RUNTIME_FUNCTION_ENTRY = *mut _IMAGE_RUNTIME_FUNCTION_ENTRY; -pub type IMAGE_IA64_RUNTIME_FUNCTION_ENTRY = _IMAGE_RUNTIME_FUNCTION_ENTRY; -pub type PIMAGE_IA64_RUNTIME_FUNCTION_ENTRY = _PIMAGE_RUNTIME_FUNCTION_ENTRY; -#[cfg(target_arch = "aarch64")] -IFDEF!{ -pub type IMAGE_RUNTIME_FUNCTION_ENTRY = IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY; -pub type PIMAGE_RUNTIME_FUNCTION_ENTRY = PIMAGE_ARM64_RUNTIME_FUNCTION_ENTRY; -} -#[cfg(not(target_arch = "aarch64"))] -IFDEF!{ -pub type IMAGE_RUNTIME_FUNCTION_ENTRY = _IMAGE_RUNTIME_FUNCTION_ENTRY; -pub type PIMAGE_RUNTIME_FUNCTION_ENTRY = _PIMAGE_RUNTIME_FUNCTION_ENTRY; -} -STRUCT!{struct IMAGE_DEBUG_DIRECTORY { - Characteristics: DWORD, - TimeDateStamp: DWORD, - MajorVersion: WORD, - MinorVersion: WORD, - Type: DWORD, - SizeOfData: DWORD, - AddressOfRawData: DWORD, - PointerToRawData: DWORD, -}} -pub type PIMAGE_DEBUG_DIRECTORY = *mut IMAGE_DEBUG_DIRECTORY; -pub const IMAGE_DEBUG_TYPE_UNKNOWN: DWORD = 0; -pub const IMAGE_DEBUG_TYPE_COFF: DWORD = 1; -pub const IMAGE_DEBUG_TYPE_CODEVIEW: DWORD = 2; -pub const IMAGE_DEBUG_TYPE_FPO: DWORD = 3; -pub const IMAGE_DEBUG_TYPE_MISC: DWORD = 4; -pub const IMAGE_DEBUG_TYPE_EXCEPTION: DWORD = 5; -pub const IMAGE_DEBUG_TYPE_FIXUP: DWORD = 6; -pub const IMAGE_DEBUG_TYPE_OMAP_TO_SRC: DWORD = 7; -pub const IMAGE_DEBUG_TYPE_OMAP_FROM_SRC: DWORD = 8; -pub const IMAGE_DEBUG_TYPE_BORLAND: DWORD = 9; -pub const IMAGE_DEBUG_TYPE_RESERVED10: DWORD = 10; -pub const IMAGE_DEBUG_TYPE_CLSID: DWORD = 11; -pub const IMAGE_DEBUG_TYPE_VC_FEATURE: DWORD = 12; -pub const IMAGE_DEBUG_TYPE_POGO: DWORD = 13; -pub const IMAGE_DEBUG_TYPE_ILTCG: DWORD = 14; -pub const IMAGE_DEBUG_TYPE_MPX: DWORD = 15; -pub const IMAGE_DEBUG_TYPE_REPRO: DWORD = 16; -STRUCT!{struct IMAGE_COFF_SYMBOLS_HEADER { - NumberOfSymbols: DWORD, - LvaToFirstSymbol: DWORD, - NumberOfLinenumbers: DWORD, - LvaToFirstLinenumber: DWORD, - RvaToFirstByteOfCode: DWORD, - RvaToLastByteOfCode: DWORD, - RvaToFirstByteOfData: DWORD, - RvaToLastByteOfData: DWORD, -}} -pub type PIMAGE_COFF_SYMBOLS_HEADER = *mut IMAGE_COFF_SYMBOLS_HEADER; -pub const FRAME_FPO: WORD = 0; -pub const FRAME_TRAP: WORD = 1; -pub const FRAME_TSS: WORD = 2; -pub const FRAME_NONFPO: WORD = 3; -STRUCT!{struct FPO_DATA { - ulOffStart: DWORD, - cbProcSize: DWORD, - cdwLocals: DWORD, - cdwParams: WORD, - BitFields: WORD, -}} -BITFIELD!{FPO_DATA BitFields: WORD [ - cbProlog set_cbProlog[0..8], - cbRegs set_cbRegs[8..11], - fHasSEH set_fHasSEH[11..12], - fUseBP set_fUseBP[12..13], - reserved set_reserved[13..14], - cbFrame set_cbFrame[14..16], -]} -pub type PFPO_DATA = *mut FPO_DATA; -pub const SIZEOF_RFPO_DATA: usize = 16; -pub const IMAGE_DEBUG_MISC_EXENAME: DWORD = 1; -STRUCT!{struct IMAGE_DEBUG_MISC { - DataType: DWORD, - Length: DWORD, - Unicode: BOOLEAN, - Reserved: [BYTE; 3], - Data: [BYTE; 1], -}} -pub type PIMAGE_DEBUG_MISC = *mut IMAGE_DEBUG_MISC; -STRUCT!{struct IMAGE_FUNCTION_ENTRY { - StartingAddress: DWORD, - EndingAddress: DWORD, - EndOfPrologue: DWORD, -}} -pub type PIMAGE_FUNCTION_ENTRY = *mut IMAGE_FUNCTION_ENTRY; -UNION!{union IMAGE_FUNCTION_ENTRY64_u { - [u64; 1], - EndOfPrologue EndOfPrologue_mut: ULONGLONG, - UnwindInfoAddress UnwindInfoAddress_mut: ULONGLONG, -}} -STRUCT!{struct IMAGE_FUNCTION_ENTRY64 { - StartingAddress: ULONGLONG, - EndingAddress: ULONGLONG, - u: IMAGE_FUNCTION_ENTRY64_u, -}} -pub type PIMAGE_FUNCTION_ENTRY64 = *mut IMAGE_FUNCTION_ENTRY64; -STRUCT!{struct IMAGE_SEPARATE_DEBUG_HEADER { - Signature: WORD, - Flags: WORD, - Machine: WORD, - Characteristics: WORD, - TimeDateStamp: DWORD, - CheckSum: DWORD, - ImageBase: DWORD, - SizeOfImage: DWORD, - NumberOfSections: DWORD, - ExportedNamesSize: DWORD, - DebugDirectorySize: DWORD, - SectionAlignment: DWORD, - Reserved: [DWORD; 2], -}} -pub type PIMAGE_SEPARATE_DEBUG_HEADER = *mut IMAGE_SEPARATE_DEBUG_HEADER; -STRUCT!{struct NON_PAGED_DEBUG_INFO { - Signature: WORD, - Flags: WORD, - Size: DWORD, - Machine: WORD, - Characteristics: WORD, - TimeDateStamp: DWORD, - CheckSum: DWORD, - SizeOfImage: DWORD, - ImageBase: ULONGLONG, -}} -pub type PNON_PAGED_DEBUG_INFO = *mut NON_PAGED_DEBUG_INFO; -pub const IMAGE_SEPARATE_DEBUG_SIGNATURE: WORD = 0x4944; -pub const NON_PAGED_DEBUG_SIGNATURE: WORD = 0x494E; -pub const IMAGE_SEPARATE_DEBUG_FLAGS_MASK: WORD = 0x8000; -pub const IMAGE_SEPARATE_DEBUG_MISMATCH: WORD = 0x8000; -STRUCT!{struct IMAGE_ARCHITECTURE_HEADER { - BitFields: c_uint, - FirstEntryRVA: DWORD, -}} -BITFIELD!{IMAGE_ARCHITECTURE_HEADER BitFields: c_uint [ - AmaskValue set_AmaskValue[0..1], - unused1 set_unused1[1..8], - AmaskShift set_AmaskShift[8..16], - unused2 set_unused2[8..32], -]} -pub type PIMAGE_ARCHITECTURE_HEADER = *mut IMAGE_ARCHITECTURE_HEADER; -STRUCT!{struct IMAGE_ARCHITECTURE_ENTRY { - FixupInstRVA: DWORD, - NewInst: DWORD, -}} -pub type PIMAGE_ARCHITECTURE_ENTRY = *mut IMAGE_ARCHITECTURE_ENTRY; -pub const IMPORT_OBJECT_HDR_SIG2: WORD = 0xffff; -UNION!{union IMPORT_OBJECT_HEADER_u { - [u16; 1], - Ordinal Ordinal_mut: WORD, - Hint Hint_mut: WORD, -}} -STRUCT!{struct IMPORT_OBJECT_HEADER { - Sig1: WORD, - Sig2: WORD, - Version: WORD, - Machine: WORD, - TimeDateStamp: DWORD, - SizeOfData: DWORD, - u: IMPORT_OBJECT_HEADER_u, - BitFields: WORD, -}} -BITFIELD!{IMPORT_OBJECT_HEADER BitFields: WORD [ - Type set_Type[0..2], - NameType set_NameType[2..5], - Reserved set_Reserved[5..16], -]} -ENUM!{enum IMPORT_OBJECT_TYPE { - IMPORT_OBJECT_CODE = 0, - IMPORT_OBJECT_DATA = 1, - IMPORT_OBJECT_CONST = 2, -}} -ENUM!{enum IMPORT_OBJECT_NAME_TYPE { - IMPORT_OBJECT_ORDINAL = 0, - IMPORT_OBJECT_NAME = 1, - IMPORT_OBJECT_NAME_NO_PREFIX = 2, - IMPORT_OBJECT_NAME_UNDECORATE = 3, - IMPORT_OBJECT_NAME_EXPORTAS = 4, -}} -ENUM!{enum ReplacesCorHdrNumericDefines { - COMIMAGE_FLAGS_ILONLY = 0x00000001, - COMIMAGE_FLAGS_32BITREQUIRED = 0x00000002, - COMIMAGE_FLAGS_IL_LIBRARY = 0x00000004, - COMIMAGE_FLAGS_STRONGNAMESIGNED = 0x00000008, - COMIMAGE_FLAGS_NATIVE_ENTRYPOINT = 0x00000010, - COMIMAGE_FLAGS_TRACKDEBUGDATA = 0x00010000, - COMIMAGE_FLAGS_32BITPREFERRED = 0x00020000, - COR_VERSION_MAJOR_V2 = 2, - COR_VERSION_MAJOR = COR_VERSION_MAJOR_V2, - COR_VERSION_MINOR = 5, - COR_DELETED_NAME_LENGTH = 8, - COR_VTABLEGAP_NAME_LENGTH = 8, - NATIVE_TYPE_MAX_CB = 1, - COR_ILMETHOD_SECT_SMALL_MAX_DATASIZE= 0xFF, - IMAGE_COR_MIH_METHODRVA = 0x01, - IMAGE_COR_MIH_EHRVA = 0x02, - IMAGE_COR_MIH_BASICBLOCK = 0x08, - COR_VTABLE_32BIT = 0x01, - COR_VTABLE_64BIT = 0x02, - COR_VTABLE_FROM_UNMANAGED = 0x04, - COR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN = 0x08, - COR_VTABLE_CALL_MOST_DERIVED = 0x10, - IMAGE_COR_EATJ_THUNK_SIZE = 32, - MAX_CLASS_NAME = 1024, - MAX_PACKAGE_NAME = 1024, -}} -UNION!{union IMAGE_COR20_HEADER_u { - [u32; 1], - EntryPointToken EntryPointToken_mut: DWORD, - EntryPointRVA EntryPointRVA_mut: DWORD, -}} -STRUCT!{struct IMAGE_COR20_HEADER { - cb: DWORD, - MajorRuntimeVersion: WORD, - MinorRuntimeVersion: WORD, - MetaData: IMAGE_DATA_DIRECTORY, - Flags: DWORD, - u: IMAGE_COR20_HEADER_u, - Resources: IMAGE_DATA_DIRECTORY, - StrongNameSignature: IMAGE_DATA_DIRECTORY, - CodeManagerTable: IMAGE_DATA_DIRECTORY, - VTableFixups: IMAGE_DATA_DIRECTORY, - ExportAddressTableJumps: IMAGE_DATA_DIRECTORY, - ManagedNativeHeader: IMAGE_DATA_DIRECTORY, -}} -pub type PIMAGE_COR20_HEADER = *mut IMAGE_COR20_HEADER; -extern "system" { - pub fn RtlCaptureStackBackTrace( - FramesToSkip: DWORD, - FramesToCapture: DWORD, - BackTrace: *mut PVOID, - BackTraceHash: PDWORD, - ) -> WORD; - pub fn RtlCaptureContext( - ContextRecord: PCONTEXT, - ); - pub fn RtlUnwind( - TargetFrame: PVOID, - TargetIp: PVOID, - ExceptionRecord: PEXCEPTION_RECORD, - ReturnValue: PVOID, - ); -} -#[cfg(target_pointer_width = "64")] -extern "system" { - pub fn RtlAddFunctionTable( - FunctionTable: PRUNTIME_FUNCTION, - EntryCount: DWORD, - BaseAddress: DWORD64, - ) -> BOOLEAN; - pub fn RtlDeleteFunctionTable( - FunctionTable: PRUNTIME_FUNCTION, - ) -> BOOLEAN; - pub fn RtlInstallFunctionTableCallback( - TableIdentifier: DWORD64, - BaseAddress: DWORD64, - Length: DWORD, - Callback: PGET_RUNTIME_FUNCTION_CALLBACK, - Context: PVOID, - OutOfProcessCallbackDll: PCWSTR, - ) -> BOOLEAN; - pub fn RtlAddGrowableFunctionTable( - DynamicTable: *mut PVOID, - FunctionTable: PRUNTIME_FUNCTION, - EntryCount: DWORD, - MaximumEntryCount: DWORD, - RangeBase: ULONG_PTR, - RangeEnd: ULONG_PTR, - ) -> DWORD; - pub fn RtlGrowFunctionTable( - DynamicTable: PVOID, - NewEntryCount: DWORD, - ); - pub fn RtlDeleteGrowableFunctionTable( - DynamicTable: PVOID, - ); - pub fn RtlLookupFunctionEntry( - ControlPc: DWORD64, - ImageBase: PDWORD64, - HistoryTable: PUNWIND_HISTORY_TABLE, - ) -> PRUNTIME_FUNCTION; -} -#[cfg(target_arch = "x86_64")] -IFDEF!{ -extern "C" { - pub fn RtlRestoreContext( - ContextRecord: PCONTEXT, - ExceptionRecord: *mut EXCEPTION_RECORD, - ); -} -extern "system" { - pub fn RtlUnwindEx( - TargetFrame: PVOID, - TargetIp: PVOID, - ExceptionRecord: PEXCEPTION_RECORD, - ReturnValue: PVOID, - ContextRecord: PCONTEXT, - HistoryTable: PUNWIND_HISTORY_TABLE, - ); - pub fn RtlVirtualUnwind( - HandlerType: DWORD, - ImageBase: DWORD64, - ControlPc: DWORD64, - FunctionEntry: PRUNTIME_FUNCTION, - ContextRecord: PCONTEXT, - HandlerData: *mut PVOID, - EstablisherFrame: PDWORD64, - ContextPointers: PKNONVOLATILE_CONTEXT_POINTERS, - ) -> PEXCEPTION_ROUTINE; -} -} -extern "system" { - pub fn RtlPcToFileHeader( - PcValue: PVOID, - BaseOfImage: *mut PVOID, - ) -> PVOID; - pub fn RtlCompareMemory( - Source1: *const VOID, - Source2: *const VOID, - Length: SIZE_T, - ) -> SIZE_T; -} -STRUCT!{struct SLIST_ENTRY { - Next: *mut SLIST_ENTRY, -}} -pub type PSLIST_ENTRY = *mut SLIST_ENTRY; -#[cfg(target_pointer_width = "64")] -IFDEF!{ -STRUCT!{struct SLIST_HEADER_s { - Alignment: ULONGLONG, - Region: ULONGLONG, -}} -STRUCT!{struct SLIST_HEADER_HeaderX64 { - BitFields1: ULONGLONG, - BitFields2: ULONGLONG, -}} -BITFIELD!{SLIST_HEADER_HeaderX64 BitFields1: ULONGLONG [ - Depth set_Depth[0..16], - Sequence set_Sequence[16..64], -]} -BITFIELD!{SLIST_HEADER_HeaderX64 BitFields2: ULONGLONG [ - Reserved set_Reserved[0..4], - NextEntry set_NextEntry[4..64], -]} -UNION!{union SLIST_HEADER { - [u64; 2], - s s_mut: SLIST_HEADER_s, - HeaderX64 HeaderX64_mut: SLIST_HEADER_HeaderX64, -}} -pub type PSLIST_HEADER = *mut SLIST_HEADER; -} -#[cfg(target_arch = "x86")] -IFDEF!{ -STRUCT!{struct SLIST_HEADER_s { - Next: SLIST_ENTRY, - Depth: WORD, - Reserved: WORD, -}} -UNION!{union SLIST_HEADER { - [u64; 1], - Alignment Alignment_mut: ULONGLONG, - s s_mut: SLIST_HEADER_s, -}} -pub type PSLIST_HEADER = *mut SLIST_HEADER; -} -extern "system" { - pub fn RtlInitializeSListHead( - ListHead: PSLIST_HEADER, - ); - pub fn RtlFirstEntrySList( - ListHead: *const SLIST_HEADER, - ) -> PSLIST_ENTRY; - pub fn RtlInterlockedPopEntrySList( - ListHead: PSLIST_HEADER, - ) -> PSLIST_ENTRY; - pub fn RtlInterlockedPushEntrySList( - ListHead: PSLIST_HEADER, - ListEntry: PSLIST_ENTRY, - ) -> PSLIST_ENTRY; - pub fn RtlInterlockedPushListSListEx( - ListHead: PSLIST_HEADER, - ListEntry: PSLIST_ENTRY, - ListEnd: PSLIST_ENTRY, - Count: DWORD, - ) -> PSLIST_ENTRY; - pub fn RtlInterlockedFlushSList( - ListHead: PSLIST_HEADER, - ) -> PSLIST_ENTRY; - pub fn RtlQueryDepthSList( - ListHead: PSLIST_HEADER, - ) -> WORD; -} -pub const RTL_RUN_ONCE_INIT: RTL_RUN_ONCE = RTL_RUN_ONCE { Ptr: 0 as PVOID }; -pub const RTL_RUN_ONCE_CHECK_ONLY: ULONG = 0x00000001; -pub const RTL_RUN_ONCE_ASYNC: ULONG = 0x00000002; -pub const RTL_RUN_ONCE_INIT_FAILED: ULONG = 0x00000004; -STRUCT!{struct RTL_RUN_ONCE { - Ptr: PVOID, -}} -pub type PRTL_RUN_ONCE = *mut RTL_RUN_ONCE; -STRUCT!{struct RTL_BARRIER { - Reserved1: DWORD, - Reserved2: DWORD, - Reserved3: [ULONG_PTR; 2], - Reserved4: DWORD, - Reserved5: DWORD, -}} -pub type PRTL_BARRIER = *mut RTL_BARRIER; -pub const FAST_FAIL_LEGACY_GS_VIOLATION: c_uint = 0; -pub const FAST_FAIL_VTGUARD_CHECK_FAILURE: c_uint = 1; -pub const FAST_FAIL_STACK_COOKIE_CHECK_FAILURE: c_uint = 2; -pub const FAST_FAIL_CORRUPT_LIST_ENTRY: c_uint = 3; -pub const FAST_FAIL_INCORRECT_STACK: c_uint = 4; -pub const FAST_FAIL_INVALID_ARG: c_uint = 5; -pub const FAST_FAIL_GS_COOKIE_INIT: c_uint = 6; -pub const FAST_FAIL_FATAL_APP_EXIT: c_uint = 7; -pub const FAST_FAIL_RANGE_CHECK_FAILURE: c_uint = 8; -pub const FAST_FAIL_UNSAFE_REGISTRY_ACCESS: c_uint = 9; -pub const FAST_FAIL_GUARD_ICALL_CHECK_FAILURE: c_uint = 10; -pub const FAST_FAIL_GUARD_WRITE_CHECK_FAILURE: c_uint = 11; -pub const FAST_FAIL_INVALID_FIBER_SWITCH: c_uint = 12; -pub const FAST_FAIL_INVALID_SET_OF_CONTEXT: c_uint = 13; -pub const FAST_FAIL_INVALID_REFERENCE_COUNT: c_uint = 14; -pub const FAST_FAIL_INVALID_JUMP_BUFFER: c_uint = 18; -pub const FAST_FAIL_MRDATA_MODIFIED: c_uint = 19; -pub const FAST_FAIL_CERTIFICATION_FAILURE: c_uint = 20; -pub const FAST_FAIL_INVALID_EXCEPTION_CHAIN: c_uint = 21; -pub const FAST_FAIL_CRYPTO_LIBRARY: c_uint = 22; -pub const FAST_FAIL_INVALID_CALL_IN_DLL_CALLOUT: c_uint = 23; -pub const FAST_FAIL_INVALID_IMAGE_BASE: c_uint = 24; -pub const FAST_FAIL_DLOAD_PROTECTION_FAILURE: c_uint = 25; -pub const FAST_FAIL_UNSAFE_EXTENSION_CALL: c_uint = 26; -pub const FAST_FAIL_DEPRECATED_SERVICE_INVOKED: c_uint = 27; -pub const FAST_FAIL_INVALID_BUFFER_ACCESS: c_uint = 28; -pub const FAST_FAIL_INVALID_BALANCED_TREE: c_uint = 29; -pub const FAST_FAIL_INVALID_NEXT_THREAD: c_uint = 30; -pub const FAST_FAIL_GUARD_ICALL_CHECK_SUPPRESSED: c_uint = 31; -pub const FAST_FAIL_APCS_DISABLED: c_uint = 32; -pub const FAST_FAIL_INVALID_IDLE_STATE: c_uint = 33; -pub const FAST_FAIL_MRDATA_PROTECTION_FAILURE: c_uint = 34; -pub const FAST_FAIL_UNEXPECTED_HEAP_EXCEPTION: c_uint = 35; -pub const FAST_FAIL_INVALID_LOCK_STATE: c_uint = 36; -pub const FAST_FAIL_GUARD_JUMPTABLE: c_uint = 37; -pub const FAST_FAIL_INVALID_LONGJUMP_TARGET: c_uint = 38; -pub const FAST_FAIL_INVALID_DISPATCH_CONTEXT: c_uint = 39; -pub const FAST_FAIL_INVALID_THREAD: c_uint = 40; -pub const FAST_FAIL_INVALID_SYSCALL_NUMBER: c_uint = 41; -pub const FAST_FAIL_INVALID_FILE_OPERATION: c_uint = 42; -pub const FAST_FAIL_LPAC_ACCESS_DENIED: c_uint = 43; -pub const FAST_FAIL_GUARD_SS_FAILURE: c_uint = 44; -pub const FAST_FAIL_LOADER_CONTINUITY_FAILURE: c_uint = 45; -pub const FAST_FAIL_GUARD_EXPORT_SUPPRESSION_FAILURE: c_uint = 46; -pub const FAST_FAIL_INVALID_CONTROL_STACK: c_uint = 47; -pub const FAST_FAIL_SET_CONTEXT_DENIED: c_uint = 48; -pub const FAST_FAIL_INVALID_FAST_FAIL_CODE: c_uint = 0xFFFFFFFF; -pub const HEAP_NO_SERIALIZE: DWORD = 0x00000001; -pub const HEAP_GROWABLE: DWORD = 0x00000002; -pub const HEAP_GENERATE_EXCEPTIONS: DWORD = 0x00000004; -pub const HEAP_ZERO_MEMORY: DWORD = 0x00000008; -pub const HEAP_REALLOC_IN_PLACE_ONLY: DWORD = 0x00000010; -pub const HEAP_TAIL_CHECKING_ENABLED: DWORD = 0x00000020; -pub const HEAP_FREE_CHECKING_ENABLED: DWORD = 0x00000040; -pub const HEAP_DISABLE_COALESCE_ON_FREE: DWORD = 0x00000080; -pub const HEAP_CREATE_ALIGN_16: DWORD = 0x00010000; -pub const HEAP_CREATE_ENABLE_TRACING: DWORD = 0x00020000; -pub const HEAP_CREATE_ENABLE_EXECUTE: DWORD = 0x00040000; -pub const HEAP_MAXIMUM_TAG: DWORD = 0x0FFF; -pub const HEAP_PSEUDO_TAG_FLAG: DWORD = 0x8000; -pub const HEAP_TAG_SHIFT: usize = 18; -pub const HEAP_CREATE_SEGMENT_HEAP: DWORD = 0x00000100; -pub const HEAP_CREATE_HARDENED: DWORD = 0x00000200; -#[inline] -pub fn HEAP_MAKE_TAG_FLAGS(TagBase: DWORD, Tag: DWORD) -> DWORD { - TagBase + (Tag << HEAP_TAG_SHIFT) -} -pub const IS_TEXT_UNICODE_ASCII16: INT = 0x0001; -pub const IS_TEXT_UNICODE_REVERSE_ASCII16: INT = 0x0010; -pub const IS_TEXT_UNICODE_STATISTICS: INT = 0x0002; -pub const IS_TEXT_UNICODE_REVERSE_STATISTICS: INT = 0x0020; -pub const IS_TEXT_UNICODE_CONTROLS: INT = 0x0004; -pub const IS_TEXT_UNICODE_REVERSE_CONTROLS: INT = 0x0040; -pub const IS_TEXT_UNICODE_SIGNATURE: INT = 0x0008; -pub const IS_TEXT_UNICODE_REVERSE_SIGNATURE: INT = 0x0080; -pub const IS_TEXT_UNICODE_ILLEGAL_CHARS: INT = 0x0100; -pub const IS_TEXT_UNICODE_ODD_LENGTH: INT = 0x0200; -pub const IS_TEXT_UNICODE_DBCS_LEADBYTE: INT = 0x0400; -pub const IS_TEXT_UNICODE_NULL_BYTES: INT = 0x1000; -pub const IS_TEXT_UNICODE_UNICODE_MASK: INT = 0x000F; -pub const IS_TEXT_UNICODE_REVERSE_MASK: INT = 0x00F0; -pub const IS_TEXT_UNICODE_NOT_UNICODE_MASK: INT = 0x0F00; -pub const IS_TEXT_UNICODE_NOT_ASCII_MASK: INT = 0xF000; -pub const COMPRESSION_FORMAT_NONE: USHORT = 0x0000; -pub const COMPRESSION_FORMAT_DEFAULT: USHORT = 0x0001; -pub const COMPRESSION_FORMAT_LZNT1: USHORT = 0x0002; -pub const COMPRESSION_FORMAT_XPRESS: USHORT = 0x0003; -pub const COMPRESSION_FORMAT_XPRESS_HUFF: USHORT = 0x0004; -pub const COMPRESSION_ENGINE_STANDARD: USHORT = 0x0000; -pub const COMPRESSION_ENGINE_MAXIMUM: USHORT = 0x0100; -pub const COMPRESSION_ENGINE_HIBER: USHORT = 0x0200; -// RtlEqualMemory -#[inline] -pub unsafe fn RtlMoveMemory(Destination: *mut c_void, Source: *const c_void, Length: usize) { - use core::ptr::copy; - copy(Source as *const u8, Destination as *mut u8, Length); -} -#[inline] -pub unsafe fn RtlCopyMemory(Destination: *mut c_void, Source: *const c_void, Length: usize) { - use core::ptr::copy_nonoverlapping; - copy_nonoverlapping(Source as *const u8, Destination as *mut u8, Length); -} -#[inline] -pub unsafe fn RtlFillMemory(Destination: *mut c_void, Length: usize, Fill: u8) { - use core::ptr::write_bytes; - write_bytes(Destination as *mut u8, Fill, Length); -} -#[inline] -pub unsafe fn RtlZeroMemory(Destination: *mut c_void, Length: usize) { - use core::ptr::write_bytes; - write_bytes(Destination as *mut u8, 0, Length); -} -pub const SEF_DACL_AUTO_INHERIT: ULONG = 0x01; -pub const SEF_SACL_AUTO_INHERIT: ULONG = 0x02; -pub const SEF_DEFAULT_DESCRIPTOR_FOR_OBJECT: ULONG = 0x04; -pub const SEF_AVOID_PRIVILEGE_CHECK: ULONG = 0x08; -pub const SEF_AVOID_OWNER_CHECK: ULONG = 0x10; -pub const SEF_DEFAULT_OWNER_FROM_PARENT: ULONG = 0x20; -pub const SEF_DEFAULT_GROUP_FROM_PARENT: ULONG = 0x40; -pub const SEF_MACL_NO_WRITE_UP: ULONG = 0x100; -pub const SEF_MACL_NO_READ_UP: ULONG = 0x200; -pub const SEF_MACL_NO_EXECUTE_UP: ULONG = 0x400; -pub const SEF_AI_USE_EXTRA_PARAMS: ULONG = 0x800; -pub const SEF_AVOID_OWNER_RESTRICTION: ULONG = 0x1000; -pub const SEF_MACL_VALID_FLAGS: ULONG = SEF_MACL_NO_WRITE_UP | SEF_MACL_NO_READ_UP - | SEF_MACL_NO_EXECUTE_UP; -STRUCT!{struct MESSAGE_RESOURCE_ENTRY { - Length: WORD, - Flags: WORD, - Text: [BYTE; 1], -}} -pub type PMESSAGE_RESOURCE_ENTRY = *mut MESSAGE_RESOURCE_ENTRY; -pub const MESSAGE_RESOURCE_UNICODE: WORD = 0x0001; -STRUCT!{struct MESSAGE_RESOURCE_BLOCK { - LowId: DWORD, - HighId: DWORD, - OffsetToEntries: DWORD, -}} -pub type PMESSAGE_RESOURCE_BLOCK = *mut MESSAGE_RESOURCE_BLOCK; -STRUCT!{struct MESSAGE_RESOURCE_DATA { - NumberOfBlocks: DWORD, - Blocks: [MESSAGE_RESOURCE_BLOCK; 1], -}} -pub type PMESSAGE_RESOURCE_DATA = *mut MESSAGE_RESOURCE_DATA; -STRUCT!{struct OSVERSIONINFOA { - dwOSVersionInfoSize: DWORD, - dwMajorVersion: DWORD, - dwMinorVersion: DWORD, - dwBuildNumber: DWORD, - dwPlatformId: DWORD, - szCSDVersion: [CHAR; 128], -}} -pub type POSVERSIONINFOA = *mut OSVERSIONINFOA; -pub type LPOSVERSIONINFOA = *mut OSVERSIONINFOA; -STRUCT!{struct OSVERSIONINFOW { - dwOSVersionInfoSize: DWORD, - dwMajorVersion: DWORD, - dwMinorVersion: DWORD, - dwBuildNumber: DWORD, - dwPlatformId: DWORD, - szCSDVersion: [WCHAR; 128], -}} -pub type POSVERSIONINFOW = *mut OSVERSIONINFOW; -pub type LPOSVERSIONINFOW = *mut OSVERSIONINFOW; -pub type RTL_OSVERSIONINFOW = OSVERSIONINFOW; -pub type PRTL_OSVERSIONINFOW = *mut OSVERSIONINFOW; -STRUCT!{struct OSVERSIONINFOEXA { - dwOSVersionInfoSize: DWORD, - dwMajorVersion: DWORD, - dwMinorVersion: DWORD, - dwBuildNumber: DWORD, - dwPlatformId: DWORD, - szCSDVersion: [CHAR; 128], - wServicePackMajor: WORD, - wServicePackMinor: WORD, - wSuiteMask: WORD, - wProductType: BYTE, - wReserved: BYTE, -}} -pub type POSVERSIONINFOEXA = *mut OSVERSIONINFOEXA; -pub type LPOSVERSIONINFOEXA = *mut OSVERSIONINFOEXA; -STRUCT!{struct OSVERSIONINFOEXW { - dwOSVersionInfoSize: DWORD, - dwMajorVersion: DWORD, - dwMinorVersion: DWORD, - dwBuildNumber: DWORD, - dwPlatformId: DWORD, - szCSDVersion: [WCHAR; 128], - wServicePackMajor: WORD, - wServicePackMinor: WORD, - wSuiteMask: WORD, - wProductType: BYTE, - wReserved: BYTE, -}} -pub type POSVERSIONINFOEXW = *mut OSVERSIONINFOEXW; -pub type LPOSVERSIONINFOEXW = *mut OSVERSIONINFOEXW; -pub type RTL_OSVERSIONINFOEXW = OSVERSIONINFOEXW; -pub type PRTL_OSVERSIONINFOEXW = *mut OSVERSIONINFOEXW; -pub const VER_EQUAL: BYTE = 1; -pub const VER_GREATER: BYTE = 2; -pub const VER_GREATER_EQUAL: BYTE = 3; -pub const VER_LESS: BYTE = 4; -pub const VER_LESS_EQUAL: BYTE = 5; -pub const VER_AND: BYTE = 6; -pub const VER_OR: BYTE = 7; -pub const VER_CONDITION_MASK: BYTE = 7; -pub const VER_NUM_BITS_PER_CONDITION_MASK: BYTE = 3; -pub const VER_MINORVERSION: DWORD = 0x0000001; -pub const VER_MAJORVERSION: DWORD = 0x0000002; -pub const VER_BUILDNUMBER: DWORD = 0x0000004; -pub const VER_PLATFORMID: DWORD = 0x0000008; -pub const VER_SERVICEPACKMINOR: DWORD = 0x0000010; -pub const VER_SERVICEPACKMAJOR: DWORD = 0x0000020; -pub const VER_SUITENAME: DWORD = 0x0000040; -pub const VER_PRODUCT_TYPE: DWORD = 0x0000080; -pub const VER_NT_WORKSTATION: BYTE = 0x0000001; -pub const VER_NT_DOMAIN_CONTROLLER: BYTE = 0x0000002; -pub const VER_NT_SERVER: BYTE = 0x0000003; -pub const VER_PLATFORM_WIN32s: DWORD = 0; -pub const VER_PLATFORM_WIN32_WINDOWS: DWORD = 1; -pub const VER_PLATFORM_WIN32_NT: DWORD = 2; -extern "system" { - pub fn VerSetConditionMask( - ConditionMask: ULONGLONG, - TypeMask: DWORD, - Condition: BYTE, - ) -> ULONGLONG; - pub fn RtlGetProductInfo( - OSMajorVersion: DWORD, - OSMinorVersion: DWORD, - SpMajorVersion: DWORD, - SpMinorVersion: DWORD, - ReturnedProductType: PDWORD, - ) -> BOOLEAN; -} -pub const RTL_UMS_VERSION: DWORD = 0x100; -ENUM!{enum RTL_UMS_THREAD_INFO_CLASS { - UmsThreadInvalidInfoClass = 0, - UmsThreadUserContext, - UmsThreadPriority, - UmsThreadAffinity, - UmsThreadTeb, - UmsThreadIsSuspended, - UmsThreadIsTerminated, - UmsThreadMaxInfoClass, -}} -ENUM!{enum RTL_UMS_SCHEDULER_REASON { - UmsSchedulerStartup = 0, - UmsSchedulerThreadBlocked, - UmsSchedulerThreadYield, -}} -FN!{stdcall PRTL_UMS_SCHEDULER_ENTRY_POINT( - Reason: RTL_UMS_SCHEDULER_REASON, - ActivationPayload: ULONG_PTR, - SchedulerParam: PVOID, -) -> ()} -#[inline] -pub fn IS_VALIDATION_ENABLED(C: DWORD, L: DWORD) -> bool { - (L & C) != 0 -} -pub const VRL_PREDEFINED_CLASS_BEGIN: DWORD = 1 << 0; -pub const VRL_CUSTOM_CLASS_BEGIN: DWORD = 1 << 8; -pub const VRL_CLASS_CONSISTENCY: DWORD = VRL_CUSTOM_CLASS_BEGIN << 8; -pub const VRL_ENABLE_KERNEL_BREAKS: DWORD = 1 << 31; -pub const CTMF_INCLUDE_APPCONTAINER: ULONG = 0x00000001; -pub const CTMF_INCLUDE_LPAC: ULONG = 0x00000002; -pub const CTMF_VALID_FLAGS: ULONG = CTMF_INCLUDE_APPCONTAINER | CTMF_INCLUDE_LPAC; -extern "system" { - pub fn RtlCrc32( - Buffer: *const c_void, - Size: size_t, - InitialCrc: DWORD, - ) -> DWORD; - pub fn RtlCrc64( - Buffer: *const c_void, - Size: size_t, - InitialCrc: ULONGLONG, - ) -> ULONGLONG; -} -ENUM!{enum OS_DEPLOYEMENT_STATE_VALUES { - OS_DEPLOYMENT_STANDARD = 1, - OS_DEPLOYMENT_COMPACT, -}} -extern "system" { - pub fn RtlOsDeploymentState( - Flags: DWORD, - ) -> OS_DEPLOYEMENT_STATE_VALUES; -} -#[cfg(target_arch = "x86_64")] -IFDEF!{ -STRUCT!{struct NV_MEMORY_RANGE { - BaseAddress: *mut VOID, - Length: SIZE_T, -}} -pub type PNV_MEMORY_RANGE = *mut NV_MEMORY_RANGE; -pub const FLUSH_NV_MEMORY_IN_FLAG_NO_DRAIN: ULONG = 0x00000001; -pub const FLUSH_NV_MEMORY_DEFAULT_TOKEN: ULONG_PTR = -1isize as usize; -} -STRUCT!{struct RTL_CRITICAL_SECTION_DEBUG { - Type: WORD, - CreatorBackTraceIndex: WORD, - CriticalSection: *mut RTL_CRITICAL_SECTION, - ProcessLocksList: LIST_ENTRY, - EntryCount: DWORD, - ContentionCount: DWORD, - Flags: DWORD, - CreatorBackTraceIndexHigh: WORD, - SpareWORD: WORD, -}} -pub type PRTL_CRITICAL_SECTION_DEBUG = *mut RTL_CRITICAL_SECTION_DEBUG; -pub type RTL_RESOURCE_DEBUG = RTL_CRITICAL_SECTION_DEBUG; -pub type PRTL_RESOURCE_DEBUG = *mut RTL_CRITICAL_SECTION_DEBUG; -pub const RTL_CRITICAL_SECTION_FLAG_NO_DEBUG_INFO: ULONG_PTR = 0x01000000; -pub const RTL_CRITICAL_SECTION_FLAG_DYNAMIC_SPIN: ULONG_PTR = 0x02000000; -pub const RTL_CRITICAL_SECTION_FLAG_STATIC_INIT: ULONG_PTR = 0x04000000; -pub const RTL_CRITICAL_SECTION_FLAG_RESOURCE_TYPE: ULONG_PTR = 0x08000000; -pub const RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO: ULONG_PTR = 0x10000000; -pub const RTL_CRITICAL_SECTION_ALL_FLAG_BITS: ULONG_PTR = 0xFF000000; -pub const RTL_CRITICAL_SECTION_FLAG_RESERVED: ULONG_PTR = RTL_CRITICAL_SECTION_ALL_FLAG_BITS - & !(RTL_CRITICAL_SECTION_FLAG_NO_DEBUG_INFO | RTL_CRITICAL_SECTION_FLAG_DYNAMIC_SPIN - | RTL_CRITICAL_SECTION_FLAG_STATIC_INIT | RTL_CRITICAL_SECTION_FLAG_RESOURCE_TYPE - | RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); -pub const RTL_CRITICAL_SECTION_DEBUG_FLAG_STATIC_INIT: DWORD = 0x00000001; -STRUCT!{struct RTL_CRITICAL_SECTION { - DebugInfo: PRTL_CRITICAL_SECTION_DEBUG, - LockCount: LONG, - RecursionCount: LONG, - OwningThread: HANDLE, - LockSemaphore: HANDLE, - SpinCount: ULONG_PTR, -}} -pub type PRTL_CRITICAL_SECTION = *mut RTL_CRITICAL_SECTION; -STRUCT!{struct RTL_SRWLOCK { - Ptr: PVOID, -}} -pub type PRTL_SRWLOCK = *mut RTL_SRWLOCK; -pub const RTL_SRWLOCK_INIT: RTL_SRWLOCK = RTL_SRWLOCK { Ptr: 0 as PVOID }; -STRUCT!{struct RTL_CONDITION_VARIABLE { - Ptr: PVOID, -}} -pub type PRTL_CONDITION_VARIABLE = *mut RTL_CONDITION_VARIABLE; -pub const RTL_CONDITION_VARIABLE_INIT: RTL_CONDITION_VARIABLE = RTL_CONDITION_VARIABLE { - Ptr: 0 as PVOID, -}; -pub const RTL_CONDITION_VARIABLE_LOCKMODE_SHARED: DWORD = 0x1; -FN!{stdcall PAPCFUNC( - Parameter: ULONG_PTR, -) -> ()} -FN!{stdcall PVECTORED_EXCEPTION_HANDLER( - ExceptionInfo: *mut EXCEPTION_POINTERS, -) -> LONG} -ENUM!{enum HEAP_INFORMATION_CLASS { - HeapCompatibilityInformation = 0, - HeapEnableTerminationOnCorruption = 1, - HeapOptimizeResources = 3, -}} -pub const HEAP_OPTIMIZE_RESOURCES_CURRENT_VERSION: DWORD = 1; -STRUCT!{struct HEAP_OPTIMIZE_RESOURCES_INFORMATION { - Version: DWORD, - Flags: DWORD, -}} -pub type PHEAP_OPTIMIZE_RESOURCES_INFORMATION = *mut HEAP_OPTIMIZE_RESOURCES_INFORMATION; -pub const WT_EXECUTEDEFAULT: ULONG = 0x00000000; -pub const WT_EXECUTEINIOTHREAD: ULONG = 0x00000001; -pub const WT_EXECUTEINUITHREAD: ULONG = 0x00000002; -pub const WT_EXECUTEINWAITTHREAD: ULONG = 0x00000004; -pub const WT_EXECUTEONLYONCE: ULONG = 0x00000008; -pub const WT_EXECUTEINTIMERTHREAD: ULONG = 0x00000020; -pub const WT_EXECUTELONGFUNCTION: ULONG = 0x00000010; -pub const WT_EXECUTEINPERSISTENTIOTHREAD: ULONG = 0x00000040; -pub const WT_EXECUTEINPERSISTENTTHREAD: ULONG = 0x00000080; -pub const WT_TRANSFER_IMPERSONATION: ULONG = 0x00000100; -#[inline] -pub fn WT_SET_MAX_THREADPOOL_THREADS(Flags: ULONG, Limit: ULONG) -> ULONG { - Flags | (Limit << 16) -} -FN!{stdcall WAITORTIMERCALLBACKFUNC( - PVOID, - BOOLEAN, -) -> ()} -FN!{stdcall WORKERCALLBACKFUNC( - PVOID, -) -> ()} -FN!{stdcall APC_CALLBACK_FUNCTION( - DWORD, - PVOID, - PVOID, -) -> ()} -pub type WAITORTIMERCALLBACK = WAITORTIMERCALLBACKFUNC; -FN!{stdcall PFLS_CALLBACK_FUNCTION( - lpFlsData: PVOID, -) -> ()} -FN!{stdcall PSECURE_MEMORY_CACHE_CALLBACK( - Addr: PVOID, - Range: SIZE_T, -) -> BOOLEAN} -pub const WT_EXECUTEINLONGTHREAD: ULONG = 0x00000010; -pub const WT_EXECUTEDELETEWAIT: ULONG = 0x00000008; -ENUM!{enum ACTIVATION_CONTEXT_INFO_CLASS { - ActivationContextBasicInformation = 1, - ActivationContextDetailedInformation = 2, - AssemblyDetailedInformationInActivationContext = 3, - FileInformationInAssemblyOfAssemblyInActivationContext = 4, - RunlevelInformationInActivationContext = 5, - CompatibilityInformationInActivationContext = 6, - ActivationContextManifestResourceName = 7, - MaxActivationContextInfoClass, - AssemblyDetailedInformationInActivationContxt = 3, - FileInformationInAssemblyOfAssemblyInActivationContxt = 4, -}} -pub type ACTIVATIONCONTEXTINFOCLASS = ACTIVATION_CONTEXT_INFO_CLASS; -STRUCT!{struct ACTIVATION_CONTEXT_QUERY_INDEX { - ulAssemblyIndex: DWORD, - ulFileIndexInAssembly: DWORD, -}} -pub type PACTIVATION_CONTEXT_QUERY_INDEX = *mut ACTIVATION_CONTEXT_QUERY_INDEX; -pub type PCACTIVATION_CONTEXT_QUERY_INDEX = *const ACTIVATION_CONTEXT_QUERY_INDEX; -pub const ACTIVATION_CONTEXT_PATH_TYPE_NONE: DWORD = 1; -pub const ACTIVATION_CONTEXT_PATH_TYPE_WIN32_FILE: DWORD = 2; -pub const ACTIVATION_CONTEXT_PATH_TYPE_URL: DWORD = 3; -pub const ACTIVATION_CONTEXT_PATH_TYPE_ASSEMBLYREF: DWORD = 4; -STRUCT!{struct ASSEMBLY_FILE_DETAILED_INFORMATION { - ulFlags: DWORD, - ulFilenameLength: DWORD, - ulPathLength: DWORD, - lpFileName: PCWSTR, - lpFilePath: PCWSTR, -}} -pub type PASSEMBLY_FILE_DETAILED_INFORMATION = *mut ASSEMBLY_FILE_DETAILED_INFORMATION; -pub type PCASSEMBLY_FILE_DETAILED_INFORMATION = *const ASSEMBLY_FILE_DETAILED_INFORMATION; -pub type ASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION = ASSEMBLY_FILE_DETAILED_INFORMATION; -pub type PASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION = PASSEMBLY_FILE_DETAILED_INFORMATION; -pub type PCASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION = PCASSEMBLY_FILE_DETAILED_INFORMATION; -STRUCT!{struct ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION { - ulFlags: DWORD, - ulEncodedAssemblyIdentityLength: DWORD, - ulManifestPathType: DWORD, - ulManifestPathLength: DWORD, - liManifestLastWriteTime: LARGE_INTEGER, - ulPolicyPathType: DWORD, - ulPolicyPathLength: DWORD, - liPolicyLastWriteTime: LARGE_INTEGER, - ulMetadataSatelliteRosterIndex: DWORD, - ulManifestVersionMajor: DWORD, - ulManifestVersionMinor: DWORD, - ulPolicyVersionMajor: DWORD, - ulPolicyVersionMinor: DWORD, - ulAssemblyDirectoryNameLength: DWORD, - lpAssemblyEncodedAssemblyIdentity: PCWSTR, - lpAssemblyManifestPath: PCWSTR, - lpAssemblyPolicyPath: PCWSTR, - lpAssemblyDirectoryName: PCWSTR, - ulFileCount: DWORD, -}} -pub type PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION - = *mut ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; -pub type PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION - = *const ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; -ENUM!{enum ACTCTX_REQUESTED_RUN_LEVEL { - ACTCTX_RUN_LEVEL_UNSPECIFIED = 0, - ACTCTX_RUN_LEVEL_AS_INVOKER, - ACTCTX_RUN_LEVEL_HIGHEST_AVAILABLE, - ACTCTX_RUN_LEVEL_REQUIRE_ADMIN, - ACTCTX_RUN_LEVEL_NUMBERS, -}} -STRUCT!{struct ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION { - ulFlags: DWORD, - RunLevel: ACTCTX_REQUESTED_RUN_LEVEL, - UiAccess: DWORD, -}} -pub type PACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION = *mut ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION; -pub type PCACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION - = *const ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION; -ENUM!{enum ACTCTX_COMPATIBILITY_ELEMENT_TYPE { - ACTCTX_COMPATIBILITY_ELEMENT_TYPE_UNKNOWN = 0, - ACTCTX_COMPATIBILITY_ELEMENT_TYPE_OS, - ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MITIGATION, -}} -STRUCT!{struct COMPATIBILITY_CONTEXT_ELEMENT { - Id: GUID, - Type: ACTCTX_COMPATIBILITY_ELEMENT_TYPE, -}} -pub type PCOMPATIBILITY_CONTEXT_ELEMENT = *mut COMPATIBILITY_CONTEXT_ELEMENT; -pub type PCCOMPATIBILITY_CONTEXT_ELEMENT = *const COMPATIBILITY_CONTEXT_ELEMENT; -STRUCT!{struct ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION { - ElementCount: DWORD, - Elements: [COMPATIBILITY_CONTEXT_ELEMENT; 0], -}} -pub type PACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION - = *mut ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION; -pub type PCACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION - = *const ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION; -STRUCT!{struct SUPPORTED_OS_INFO { - MajorVersion: WORD, - MinorVersion: WORD, -}} -pub type PSUPPORTED_OS_INFO = *mut SUPPORTED_OS_INFO; -STRUCT!{struct ACTIVATION_CONTEXT_DETAILED_INFORMATION { - dwFlags: DWORD, - ulFormatVersion: DWORD, - ulAssemblyCount: DWORD, - ulRootManifestPathType: DWORD, - ulRootManifestPathChars: DWORD, - ulRootConfigurationPathType: DWORD, - ulRootConfigurationPathChars: DWORD, - ulAppDirPathType: DWORD, - ulAppDirPathChars: DWORD, - lpRootManifestPath: PCWSTR, - lpRootConfigurationPath: PCWSTR, - lpAppDirPath: PCWSTR, -}} -pub type PACTIVATION_CONTEXT_DETAILED_INFORMATION = *mut ACTIVATION_CONTEXT_DETAILED_INFORMATION; -pub type PCACTIVATION_CONTEXT_DETAILED_INFORMATION - = *const ACTIVATION_CONTEXT_DETAILED_INFORMATION; -pub const CREATE_BOUNDARY_DESCRIPTOR_ADD_APPCONTAINER_SID: DWORD = 0x1; -STRUCT!{struct HARDWARE_COUNTER_DATA { - Type: HARDWARE_COUNTER_TYPE, - Reserved: DWORD, - Value: DWORD64, -}} -pub type PHARDWARE_COUNTER_DATA = *mut HARDWARE_COUNTER_DATA; -pub const PERFORMANCE_DATA_VERSION: BYTE = 1; -STRUCT!{struct PERFORMANCE_DATA { - Size: WORD, - Version: BYTE, - HwCountersCount: BYTE, - ContextSwitchCount: DWORD, - WaitReasonBitMap: DWORD64, - CycleTime: DWORD64, - RetryCount: DWORD, - Reserved: DWORD, - HwCounters: [HARDWARE_COUNTER_DATA; MAX_HW_COUNTERS], -}} -pub type PPERFORMANCE_DATA = *mut PERFORMANCE_DATA; -pub const READ_THREAD_PROFILING_FLAG_DISPATCHING: DWORD = 0x00000001; -pub const READ_THREAD_PROFILING_FLAG_HARDWARE_COUNTERS: DWORD = 0x00000002; -pub const UNIFIEDBUILDREVISION_KEY: &'static str - = "\\Registry\\Machine\\Software\\Microsoft\\Windows NT\\CurrentVersion"; -pub const UNIFIEDBUILDREVISION_VALUE: &'static str = "UBR"; -pub const UNIFIEDBUILDREVISION_MIN: DWORD = 0x00000000; -pub const DEVICEFAMILYDEVICEFORM_KEY: &'static str - = "\\Registry\\Machine\\Software\\Microsoft\\Windows NT\\CurrentVersion\\OEM"; -pub const DEVICEFAMILYDEVICEFORM_VALUE: &'static str = "DeviceForm"; -pub const DEVICEFAMILYINFOENUM_UAP: DWORD = 0x00000000; -pub const DEVICEFAMILYINFOENUM_WINDOWS_8X: DWORD = 0x00000001; -pub const DEVICEFAMILYINFOENUM_WINDOWS_PHONE_8X: DWORD = 0x00000002; -pub const DEVICEFAMILYINFOENUM_DESKTOP: DWORD = 0x00000003; -pub const DEVICEFAMILYINFOENUM_MOBILE: DWORD = 0x00000004; -pub const DEVICEFAMILYINFOENUM_XBOX: DWORD = 0x00000005; -pub const DEVICEFAMILYINFOENUM_TEAM: DWORD = 0x00000006; -pub const DEVICEFAMILYINFOENUM_IOT: DWORD = 0x00000007; -pub const DEVICEFAMILYINFOENUM_IOT_HEADLESS: DWORD = 0x00000008; -pub const DEVICEFAMILYINFOENUM_SERVER: DWORD = 0x00000009; -pub const DEVICEFAMILYINFOENUM_HOLOGRAPHIC: DWORD = 0x0000000A; -pub const DEVICEFAMILYINFOENUM_XBOXSRA: DWORD = 0x0000000B; -pub const DEVICEFAMILYINFOENUM_XBOXERA: DWORD = 0x0000000C; -pub const DEVICEFAMILYINFOENUM_SERVER_NANO: DWORD = 0x0000000D; -pub const DEVICEFAMILYINFOENUM_MAX: DWORD = 0x0000000D; -pub const DEVICEFAMILYDEVICEFORM_UNKNOWN: DWORD = 0x00000000; -pub const DEVICEFAMILYDEVICEFORM_PHONE: DWORD = 0x00000001; -pub const DEVICEFAMILYDEVICEFORM_TABLET: DWORD = 0x00000002; -pub const DEVICEFAMILYDEVICEFORM_DESKTOP: DWORD = 0x00000003; -pub const DEVICEFAMILYDEVICEFORM_NOTEBOOK: DWORD = 0x00000004; -pub const DEVICEFAMILYDEVICEFORM_CONVERTIBLE: DWORD = 0x00000005; -pub const DEVICEFAMILYDEVICEFORM_DETACHABLE: DWORD = 0x00000006; -pub const DEVICEFAMILYDEVICEFORM_ALLINONE: DWORD = 0x00000007; -pub const DEVICEFAMILYDEVICEFORM_STICKPC: DWORD = 0x00000008; -pub const DEVICEFAMILYDEVICEFORM_PUCK: DWORD = 0x00000009; -pub const DEVICEFAMILYDEVICEFORM_LARGESCREEN: DWORD = 0x0000000A; -pub const DEVICEFAMILYDEVICEFORM_HMD: DWORD = 0x0000000B; -pub const DEVICEFAMILYDEVICEFORM_INDUSTRY_HANDHELD: DWORD = 0x0000000C; -pub const DEVICEFAMILYDEVICEFORM_INDUSTRY_TABLET: DWORD = 0x0000000D; -pub const DEVICEFAMILYDEVICEFORM_BANKING: DWORD = 0x0000000E; -pub const DEVICEFAMILYDEVICEFORM_BUILDING_AUTOMATION: DWORD = 0x0000000F; -pub const DEVICEFAMILYDEVICEFORM_DIGITAL_SIGNAGE: DWORD = 0x00000010; -pub const DEVICEFAMILYDEVICEFORM_GAMING: DWORD = 0x00000011; -pub const DEVICEFAMILYDEVICEFORM_HOME_AUTOMATION: DWORD = 0x00000012; -pub const DEVICEFAMILYDEVICEFORM_INDUSTRIAL_AUTOMATION: DWORD = 0x00000013; -pub const DEVICEFAMILYDEVICEFORM_KIOSK: DWORD = 0x00000014; -pub const DEVICEFAMILYDEVICEFORM_MAKER_BOARD: DWORD = 0x00000015; -pub const DEVICEFAMILYDEVICEFORM_MEDICAL: DWORD = 0x00000016; -pub const DEVICEFAMILYDEVICEFORM_NETWORKING: DWORD = 0x00000017; -pub const DEVICEFAMILYDEVICEFORM_POINT_OF_SERVICE: DWORD = 0x00000018; -pub const DEVICEFAMILYDEVICEFORM_PRINTING: DWORD = 0x00000019; -pub const DEVICEFAMILYDEVICEFORM_THIN_CLIENT: DWORD = 0x0000001A; -pub const DEVICEFAMILYDEVICEFORM_TOY: DWORD = 0x0000001B; -pub const DEVICEFAMILYDEVICEFORM_VENDING: DWORD = 0x0000001C; -pub const DEVICEFAMILYDEVICEFORM_INDUSTRY_OTHER: DWORD = 0x0000001D; -pub const DEVICEFAMILYDEVICEFORM_MAX: DWORD = 0x0000001D; -extern "system" { - pub fn RtlGetDeviceFamilyInfoEnum( - pullUAPInfo: *mut ULONGLONG, - pulDeviceFamily: *mut DWORD, - pulDeviceForm: *mut DWORD, - ); - pub fn RtlConvertDeviceFamilyInfoToString( - pulDeviceFamilyBufferSize: PDWORD, - pulDeviceFormBufferSize: PDWORD, - DeviceFamily: PWSTR, - DeviceForm: PWSTR, - ) -> DWORD; - pub fn RtlSwitchedVVI( - VersionInfo: PRTL_OSVERSIONINFOEXW, - TypeMask: DWORD, - ConditionMask: ULONGLONG, - ) -> DWORD; -} -pub const DLL_PROCESS_ATTACH: DWORD = 1; -pub const DLL_THREAD_ATTACH: DWORD = 2; -pub const DLL_THREAD_DETACH: DWORD = 3; -pub const DLL_PROCESS_DETACH: DWORD = 0; -pub const EVENTLOG_SEQUENTIAL_READ: DWORD = 0x0001; -pub const EVENTLOG_SEEK_READ: DWORD = 0x0002; -pub const EVENTLOG_FORWARDS_READ: DWORD = 0x0004; -pub const EVENTLOG_BACKWARDS_READ: DWORD = 0x0008; -pub const EVENTLOG_SUCCESS: WORD = 0x0000; -pub const EVENTLOG_ERROR_TYPE: WORD = 0x0001; -pub const EVENTLOG_WARNING_TYPE: WORD = 0x0002; -pub const EVENTLOG_INFORMATION_TYPE: WORD = 0x0004; -pub const EVENTLOG_AUDIT_SUCCESS: WORD = 0x0008; -pub const EVENTLOG_AUDIT_FAILURE: WORD = 0x0010; -pub const EVENTLOG_START_PAIRED_EVENT: WORD = 0x0001; -pub const EVENTLOG_END_PAIRED_EVENT: WORD = 0x0002; -pub const EVENTLOG_END_ALL_PAIRED_EVENTS: WORD = 0x0004; -pub const EVENTLOG_PAIRED_EVENT_ACTIVE: WORD = 0x0008; -pub const EVENTLOG_PAIRED_EVENT_INACTIVE: WORD = 0x0010; -STRUCT!{struct EVENTLOGRECORD { - Length: DWORD, - Reserved: DWORD, - RecordNumber: DWORD, - TimeGenerated: DWORD, - TimeWritten: DWORD, - EventID: DWORD, - EventType: WORD, - NumStrings: WORD, - EventCategory: WORD, - ReservedFlags: WORD, - ClosingRecordNumber: DWORD, - StringOffset: DWORD, - UserSidLength: DWORD, - UserSidOffset: DWORD, - DataLength: DWORD, - DataOffset: DWORD, -}} -pub type PEVENTLOGRECORD = *mut EVENTLOGRECORD; -pub const MAXLOGICALLOGNAMESIZE: usize = 256; -pub type PEVENTSFORLOGFILE = *mut EVENTSFORLOGFILE; -pub type PPACKEDEVENTINFO = *mut PACKEDEVENTINFO; -STRUCT!{struct EVENTSFORLOGFILE { - ulSize: DWORD, - szLogicalLogFile: [WCHAR; MAXLOGICALLOGNAMESIZE], - ulNumRecords: DWORD, - pEventLogRecords: [EVENTLOGRECORD; 0], -}} -STRUCT!{struct PACKEDEVENTINFO { - ulSize: DWORD, - ulNumEventsForLogFile: DWORD, - ulOffsets: [DWORD; 0], -}} -pub const KEY_QUERY_VALUE: u32 = 0x0001; -pub const KEY_SET_VALUE: u32 = 0x0002; -pub const KEY_CREATE_SUB_KEY: u32 = 0x0004; -pub const KEY_ENUMERATE_SUB_KEYS: u32 = 0x0008; -pub const KEY_NOTIFY: u32 = 0x0010; -pub const KEY_CREATE_LINK: u32 = 0x0020; -pub const KEY_WOW64_32KEY: u32 = 0x0200; -pub const KEY_WOW64_64KEY: u32 = 0x0100; -pub const KEY_WOW64_RES: u32 = 0x0300; -pub const KEY_READ: u32 = (STANDARD_RIGHTS_READ | KEY_QUERY_VALUE | KEY_ENUMERATE_SUB_KEYS - | KEY_NOTIFY) & !SYNCHRONIZE; -pub const KEY_WRITE: u32 = (STANDARD_RIGHTS_WRITE | KEY_SET_VALUE | KEY_CREATE_SUB_KEY) - & !SYNCHRONIZE; -pub const KEY_EXECUTE: u32 = KEY_READ & !SYNCHRONIZE; -pub const KEY_ALL_ACCESS: u32 = (STANDARD_RIGHTS_ALL | KEY_QUERY_VALUE | KEY_SET_VALUE - | KEY_CREATE_SUB_KEY | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY | KEY_CREATE_LINK) & !SYNCHRONIZE; -pub const REG_OPTION_RESERVED: DWORD = 0x00000000; -pub const REG_OPTION_NON_VOLATILE: DWORD = 0x00000000; -pub const REG_OPTION_VOLATILE: DWORD = 0x00000001; -pub const REG_OPTION_CREATE_LINK: DWORD = 0x00000002; -pub const REG_OPTION_BACKUP_RESTORE: DWORD = 0x00000004; -pub const REG_OPTION_OPEN_LINK: DWORD = 0x00000008; -pub const REG_OPTION_DONT_VIRTUALIZE: DWORD = 0x00000010; -pub const REG_LEGAL_OPTION: DWORD = REG_OPTION_RESERVED | REG_OPTION_NON_VOLATILE - | REG_OPTION_VOLATILE | REG_OPTION_CREATE_LINK | REG_OPTION_BACKUP_RESTORE - | REG_OPTION_OPEN_LINK | REG_OPTION_DONT_VIRTUALIZE; -pub const REG_OPEN_LEGAL_OPTION: DWORD = REG_OPTION_RESERVED | REG_OPTION_BACKUP_RESTORE - | REG_OPTION_OPEN_LINK | REG_OPTION_DONT_VIRTUALIZE; -pub const REG_CREATED_NEW_KEY: DWORD = 0x00000001; -pub const REG_OPENED_EXISTING_KEY: DWORD = 0x00000002; -pub const REG_STANDARD_FORMAT: DWORD = 1; -pub const REG_LATEST_FORMAT: DWORD = 2; -pub const REG_NO_COMPRESSION: DWORD = 4; -pub const REG_WHOLE_HIVE_VOLATILE: DWORD = 0x00000001; -pub const REG_REFRESH_HIVE: DWORD = 0x00000002; -pub const REG_NO_LAZY_FLUSH: DWORD = 0x00000004; -pub const REG_FORCE_RESTORE: DWORD = 0x00000008; -pub const REG_APP_HIVE: DWORD = 0x00000010; -pub const REG_PROCESS_PRIVATE: DWORD = 0x00000020; -pub const REG_START_JOURNAL: DWORD = 0x00000040; -pub const REG_HIVE_EXACT_FILE_GROWTH: DWORD = 0x00000080; -pub const REG_HIVE_NO_RM: DWORD = 0x00000100; -pub const REG_HIVE_SINGLE_LOG: DWORD = 0x00000200; -pub const REG_BOOT_HIVE: DWORD = 0x00000400; -pub const REG_LOAD_HIVE_OPEN_HANDLE: DWORD = 0x00000800; -pub const REG_FLUSH_HIVE_FILE_GROWTH: DWORD = 0x00001000; -pub const REG_OPEN_READ_ONLY: DWORD = 0x00002000; -pub const REG_IMMUTABLE: DWORD = 0x00004000; -pub const REG_APP_HIVE_OPEN_READ_ONLY: DWORD = REG_OPEN_READ_ONLY; -pub const REG_FORCE_UNLOAD: DWORD = 1; -pub const REG_UNLOAD_LEGAL_FLAGS: DWORD = REG_FORCE_UNLOAD; -pub const REG_NOTIFY_CHANGE_NAME: DWORD = 0x00000001; -pub const REG_NOTIFY_CHANGE_ATTRIBUTES: DWORD = 0x00000002; -pub const REG_NOTIFY_CHANGE_LAST_SET: DWORD = 0x00000004; -pub const REG_NOTIFY_CHANGE_SECURITY: DWORD = 0x00000008; -pub const REG_NOTIFY_THREAD_AGNOSTIC: DWORD = 0x10000000; -pub const REG_LEGAL_CHANGE_FILTER: DWORD = REG_NOTIFY_CHANGE_NAME | REG_NOTIFY_CHANGE_ATTRIBUTES - | REG_NOTIFY_CHANGE_LAST_SET | REG_NOTIFY_CHANGE_SECURITY | REG_NOTIFY_THREAD_AGNOSTIC; -pub const REG_NONE: DWORD = 0; -pub const REG_SZ: DWORD = 1; -pub const REG_EXPAND_SZ: DWORD = 2; -pub const REG_BINARY: DWORD = 3; -pub const REG_DWORD: DWORD = 4; -pub const REG_DWORD_LITTLE_ENDIAN: DWORD = 4; -pub const REG_DWORD_BIG_ENDIAN: DWORD = 5; -pub const REG_LINK: DWORD = 6; -pub const REG_MULTI_SZ: DWORD = 7; -pub const REG_RESOURCE_LIST: DWORD = 8; -pub const REG_FULL_RESOURCE_DESCRIPTOR: DWORD = 9; -pub const REG_RESOURCE_REQUIREMENTS_LIST: DWORD = 10; -pub const REG_QWORD: DWORD = 11; -pub const REG_QWORD_LITTLE_ENDIAN: DWORD = 11; -pub const SERVICE_KERNEL_DRIVER: DWORD = 0x00000001; -pub const SERVICE_FILE_SYSTEM_DRIVER: DWORD = 0x00000002; -pub const SERVICE_ADAPTER: DWORD = 0x00000004; -pub const SERVICE_RECOGNIZER_DRIVER: DWORD = 0x00000008; -pub const SERVICE_DRIVER: DWORD = SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER - | SERVICE_RECOGNIZER_DRIVER; -pub const SERVICE_WIN32_OWN_PROCESS: DWORD = 0x00000010; -pub const SERVICE_WIN32_SHARE_PROCESS: DWORD = 0x00000020; -pub const SERVICE_WIN32: DWORD = SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS; -pub const SERVICE_USER_SERVICE: DWORD = 0x00000040; -pub const SERVICE_USERSERVICE_INSTANCE: DWORD = 0x00000080; -pub const SERVICE_USER_SHARE_PROCESS: DWORD = SERVICE_USER_SERVICE | SERVICE_WIN32_SHARE_PROCESS; -pub const SERVICE_USER_OWN_PROCESS: DWORD = SERVICE_USER_SERVICE | SERVICE_WIN32_OWN_PROCESS; -pub const SERVICE_INTERACTIVE_PROCESS: DWORD = 0x00000100; -pub const SERVICE_PKG_SERVICE: DWORD = 0x00000200; -pub const SERVICE_TYPE_ALL: DWORD = SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVER - | SERVICE_INTERACTIVE_PROCESS | SERVICE_USER_SERVICE | SERVICE_USERSERVICE_INSTANCE - | SERVICE_PKG_SERVICE; -pub const SERVICE_BOOT_START: DWORD = 0x00000000; -pub const SERVICE_SYSTEM_START: DWORD = 0x00000001; -pub const SERVICE_AUTO_START: DWORD = 0x00000002; -pub const SERVICE_DEMAND_START: DWORD = 0x00000003; -pub const SERVICE_DISABLED: DWORD = 0x00000004; -pub const SERVICE_ERROR_IGNORE: DWORD = 0x00000000; -pub const SERVICE_ERROR_NORMAL: DWORD = 0x00000001; -pub const SERVICE_ERROR_SEVERE: DWORD = 0x00000002; -pub const SERVICE_ERROR_CRITICAL: DWORD = 0x00000003; -ENUM!{enum SERVICE_NODE_TYPE { - DriverType = SERVICE_KERNEL_DRIVER, - FileSystemType = SERVICE_FILE_SYSTEM_DRIVER, - Win32ServiceOwnProcess = SERVICE_WIN32_OWN_PROCESS, - Win32ServiceShareProcess = SERVICE_WIN32_SHARE_PROCESS, - AdapterType = SERVICE_ADAPTER, - RecognizerType = SERVICE_RECOGNIZER_DRIVER, -}} -ENUM!{enum SERVICE_LOAD_TYPE { - BootLoad = SERVICE_BOOT_START, - SystemLoad = SERVICE_SYSTEM_START, - AutoLoad = SERVICE_AUTO_START, - DemandLoad = SERVICE_DEMAND_START, - DisableLoad = SERVICE_DISABLED, -}} -ENUM!{enum SERVICE_ERROR_TYPE { - IgnoreError = SERVICE_ERROR_IGNORE, - NormalError = SERVICE_ERROR_NORMAL, - SevereError = SERVICE_ERROR_SEVERE, - CriticalError = SERVICE_ERROR_CRITICAL, -}} -pub const CM_SERVICE_NETWORK_BOOT_LOAD: DWORD = 0x00000001; -pub const CM_SERVICE_VIRTUAL_DISK_BOOT_LOAD: DWORD = 0x00000002; -pub const CM_SERVICE_USB_DISK_BOOT_LOAD: DWORD = 0x00000004; -pub const CM_SERVICE_SD_DISK_BOOT_LOAD: DWORD = 0x00000008; -pub const CM_SERVICE_USB3_DISK_BOOT_LOAD: DWORD = 0x00000010; -pub const CM_SERVICE_MEASURED_BOOT_LOAD: DWORD = 0x00000020; -pub const CM_SERVICE_VERIFIER_BOOT_LOAD: DWORD = 0x00000040; -pub const CM_SERVICE_WINPE_BOOT_LOAD: DWORD = 0x00000080; -pub const CM_SERVICE_VALID_PROMOTION_MASK: DWORD = CM_SERVICE_NETWORK_BOOT_LOAD - | CM_SERVICE_VIRTUAL_DISK_BOOT_LOAD | CM_SERVICE_USB_DISK_BOOT_LOAD - | CM_SERVICE_SD_DISK_BOOT_LOAD | CM_SERVICE_USB3_DISK_BOOT_LOAD - | CM_SERVICE_MEASURED_BOOT_LOAD | CM_SERVICE_VERIFIER_BOOT_LOAD | CM_SERVICE_WINPE_BOOT_LOAD; -pub const TAPE_ERASE_SHORT: DWORD = 0; -pub const TAPE_ERASE_LONG: DWORD = 1; -STRUCT!{struct TAPE_ERASE { - Type: DWORD, - Immediate: BOOLEAN, -}} -pub type PTAPE_ERASE = *mut TAPE_ERASE; -pub const TAPE_LOAD: DWORD = 0; -pub const TAPE_UNLOAD: DWORD = 1; -pub const TAPE_TENSION: DWORD = 2; -pub const TAPE_LOCK: DWORD = 3; -pub const TAPE_UNLOCK: DWORD = 4; -pub const TAPE_FORMAT: DWORD = 5; -STRUCT!{struct TAPE_PREPARE { - Operation: DWORD, - Immediate: BOOLEAN, -}} -pub type PTAPE_PREPARE = *mut TAPE_PREPARE; -pub const TAPE_SETMARKS: DWORD = 0; -pub const TAPE_FILEMARKS: DWORD = 1; -pub const TAPE_SHORT_FILEMARKS: DWORD = 2; -pub const TAPE_LONG_FILEMARKS: DWORD = 3; -STRUCT!{struct TAPE_WRITE_MARKS { - Type: DWORD, - Count: DWORD, - Immediate: BOOLEAN, -}} -pub type PTAPE_WRITE_MARKS = *mut TAPE_WRITE_MARKS; -pub const TAPE_ABSOLUTE_POSITION: DWORD = 0; -pub const TAPE_LOGICAL_POSITION: DWORD = 1; -pub const TAPE_PSEUDO_LOGICAL_POSITION: DWORD = 2; -STRUCT!{struct TAPE_GET_POSITION { - Type: DWORD, - Partition: DWORD, - Offset: LARGE_INTEGER, -}} -pub type PTAPE_GET_POSITION = *mut TAPE_GET_POSITION; -pub const TAPE_REWIND: DWORD = 0; -pub const TAPE_ABSOLUTE_BLOCK: DWORD = 1; -pub const TAPE_LOGICAL_BLOCK: DWORD = 2; -pub const TAPE_PSEUDO_LOGICAL_BLOCK: DWORD = 3; -pub const TAPE_SPACE_END_OF_DATA: DWORD = 4; -pub const TAPE_SPACE_RELATIVE_BLOCKS: DWORD = 5; -pub const TAPE_SPACE_FILEMARKS: DWORD = 6; -pub const TAPE_SPACE_SEQUENTIAL_FMKS: DWORD = 7; -pub const TAPE_SPACE_SETMARKS: DWORD = 8; -pub const TAPE_SPACE_SEQUENTIAL_SMKS: DWORD = 9; -STRUCT!{struct TAPE_SET_POSITION { - Method: DWORD, - Partition: DWORD, - Offset: LARGE_INTEGER, - Immediate: BOOLEAN, -}} -pub type PTAPE_SET_POSITION = *mut TAPE_SET_POSITION; -pub const TAPE_DRIVE_FIXED: DWORD = 0x00000001; -pub const TAPE_DRIVE_SELECT: DWORD = 0x00000002; -pub const TAPE_DRIVE_INITIATOR: DWORD = 0x00000004; -pub const TAPE_DRIVE_ERASE_SHORT: DWORD = 0x00000010; -pub const TAPE_DRIVE_ERASE_LONG: DWORD = 0x00000020; -pub const TAPE_DRIVE_ERASE_BOP_ONLY: DWORD = 0x00000040; -pub const TAPE_DRIVE_ERASE_IMMEDIATE: DWORD = 0x00000080; -pub const TAPE_DRIVE_TAPE_CAPACITY: DWORD = 0x00000100; -pub const TAPE_DRIVE_TAPE_REMAINING: DWORD = 0x00000200; -pub const TAPE_DRIVE_FIXED_BLOCK: DWORD = 0x00000400; -pub const TAPE_DRIVE_VARIABLE_BLOCK: DWORD = 0x00000800; -pub const TAPE_DRIVE_WRITE_PROTECT: DWORD = 0x00001000; -pub const TAPE_DRIVE_EOT_WZ_SIZE: DWORD = 0x00002000; -pub const TAPE_DRIVE_ECC: DWORD = 0x00010000; -pub const TAPE_DRIVE_COMPRESSION: DWORD = 0x00020000; -pub const TAPE_DRIVE_PADDING: DWORD = 0x00040000; -pub const TAPE_DRIVE_REPORT_SMKS: DWORD = 0x00080000; -pub const TAPE_DRIVE_GET_ABSOLUTE_BLK: DWORD = 0x00100000; -pub const TAPE_DRIVE_GET_LOGICAL_BLK: DWORD = 0x00200000; -pub const TAPE_DRIVE_SET_EOT_WZ_SIZE: DWORD = 0x00400000; -pub const TAPE_DRIVE_EJECT_MEDIA: DWORD = 0x01000000; -pub const TAPE_DRIVE_CLEAN_REQUESTS: DWORD = 0x02000000; -pub const TAPE_DRIVE_SET_CMP_BOP_ONLY: DWORD = 0x04000000; -pub const TAPE_DRIVE_RESERVED_BIT: DWORD = 0x80000000; -pub const TAPE_DRIVE_LOAD_UNLOAD: DWORD = 0x80000001; -pub const TAPE_DRIVE_TENSION: DWORD = 0x80000002; -pub const TAPE_DRIVE_LOCK_UNLOCK: DWORD = 0x80000004; -pub const TAPE_DRIVE_REWIND_IMMEDIATE: DWORD = 0x80000008; -pub const TAPE_DRIVE_SET_BLOCK_SIZE: DWORD = 0x80000010; -pub const TAPE_DRIVE_LOAD_UNLD_IMMED: DWORD = 0x80000020; -pub const TAPE_DRIVE_TENSION_IMMED: DWORD = 0x80000040; -pub const TAPE_DRIVE_LOCK_UNLK_IMMED: DWORD = 0x80000080; -pub const TAPE_DRIVE_SET_ECC: DWORD = 0x80000100; -pub const TAPE_DRIVE_SET_COMPRESSION: DWORD = 0x80000200; -pub const TAPE_DRIVE_SET_PADDING: DWORD = 0x80000400; -pub const TAPE_DRIVE_SET_REPORT_SMKS: DWORD = 0x80000800; -pub const TAPE_DRIVE_ABSOLUTE_BLK: DWORD = 0x80001000; -pub const TAPE_DRIVE_ABS_BLK_IMMED: DWORD = 0x80002000; -pub const TAPE_DRIVE_LOGICAL_BLK: DWORD = 0x80004000; -pub const TAPE_DRIVE_LOG_BLK_IMMED: DWORD = 0x80008000; -pub const TAPE_DRIVE_END_OF_DATA: DWORD = 0x80010000; -pub const TAPE_DRIVE_RELATIVE_BLKS: DWORD = 0x80020000; -pub const TAPE_DRIVE_FILEMARKS: DWORD = 0x80040000; -pub const TAPE_DRIVE_SEQUENTIAL_FMKS: DWORD = 0x80080000; -pub const TAPE_DRIVE_SETMARKS: DWORD = 0x80100000; -pub const TAPE_DRIVE_SEQUENTIAL_SMKS: DWORD = 0x80200000; -pub const TAPE_DRIVE_REVERSE_POSITION: DWORD = 0x80400000; -pub const TAPE_DRIVE_SPACE_IMMEDIATE: DWORD = 0x80800000; -pub const TAPE_DRIVE_WRITE_SETMARKS: DWORD = 0x81000000; -pub const TAPE_DRIVE_WRITE_FILEMARKS: DWORD = 0x82000000; -pub const TAPE_DRIVE_WRITE_SHORT_FMKS: DWORD = 0x84000000; -pub const TAPE_DRIVE_WRITE_LONG_FMKS: DWORD = 0x88000000; -pub const TAPE_DRIVE_WRITE_MARK_IMMED: DWORD = 0x90000000; -pub const TAPE_DRIVE_FORMAT: DWORD = 0xA0000000; -pub const TAPE_DRIVE_FORMAT_IMMEDIATE: DWORD = 0xC0000000; -pub const TAPE_DRIVE_HIGH_FEATURES: DWORD = 0x80000000; -STRUCT!{struct TAPE_GET_DRIVE_PARAMETERS { - ECC: BOOLEAN, - Compression: BOOLEAN, - DataPadding: BOOLEAN, - ReportSetmarks: BOOLEAN, - DefaultBlockSize: DWORD, - MaximumBlockSize: DWORD, - MinimumBlockSize: DWORD, - MaximumPartitionCount: DWORD, - FeaturesLow: DWORD, - FeaturesHigh: DWORD, - EOTWarningZoneSize: DWORD, -}} -pub type PTAPE_GET_DRIVE_PARAMETERS = *mut TAPE_GET_DRIVE_PARAMETERS; -STRUCT!{struct TAPE_SET_DRIVE_PARAMETERS { - ECC: BOOLEAN, - Compression: BOOLEAN, - DataPadding: BOOLEAN, - ReportSetmarks: BOOLEAN, - EOTWarningZoneSize: DWORD, -}} -pub type PTAPE_SET_DRIVE_PARAMETERS = *mut TAPE_SET_DRIVE_PARAMETERS; -STRUCT!{struct TAPE_GET_MEDIA_PARAMETERS { - Capacity: LARGE_INTEGER, - Remaining: LARGE_INTEGER, - BlockSize: DWORD, - PartitionCount: DWORD, - WriteProtected: BOOLEAN, -}} -pub type PTAPE_GET_MEDIA_PARAMETERS = *mut TAPE_GET_MEDIA_PARAMETERS; -STRUCT!{struct TAPE_SET_MEDIA_PARAMETERS { - BlockSize: DWORD, -}} -pub type PTAPE_SET_MEDIA_PARAMETERS = *mut TAPE_SET_MEDIA_PARAMETERS; -pub const TAPE_FIXED_PARTITIONS: DWORD = 0; -pub const TAPE_SELECT_PARTITIONS: DWORD = 1; -pub const TAPE_INITIATOR_PARTITIONS: DWORD = 2; -STRUCT!{struct TAPE_CREATE_PARTITION { - Method: DWORD, - Count: DWORD, - Size: DWORD, -}} -pub type PTAPE_CREATE_PARTITION = *mut TAPE_CREATE_PARTITION; -pub const TAPE_QUERY_DRIVE_PARAMETERS: DWORD = 0; -pub const TAPE_QUERY_MEDIA_CAPACITY: DWORD = 1; -pub const TAPE_CHECK_FOR_DRIVE_PROBLEM: DWORD = 2; -pub const TAPE_QUERY_IO_ERROR_DATA: DWORD = 3; -pub const TAPE_QUERY_DEVICE_ERROR_DATA: DWORD = 4; -STRUCT!{struct TAPE_WMI_OPERATIONS { - Method: DWORD, - DataBufferSize: DWORD, - DataBuffer: PVOID, -}} -pub type PTAPE_WMI_OPERATIONS = *mut TAPE_WMI_OPERATIONS; -ENUM!{enum TAPE_DRIVE_PROBLEM_TYPE { - TapeDriveProblemNone, - TapeDriveReadWriteWarning, - TapeDriveReadWriteError, - TapeDriveReadWarning, - TapeDriveWriteWarning, - TapeDriveReadError, - TapeDriveWriteError, - TapeDriveHardwareError, - TapeDriveUnsupportedMedia, - TapeDriveScsiConnectionError, - TapeDriveTimetoClean, - TapeDriveCleanDriveNow, - TapeDriveMediaLifeExpired, - TapeDriveSnappedTape, -}} -pub const TRANSACTIONMANAGER_QUERY_INFORMATION: DWORD = 0x0001; -pub const TRANSACTIONMANAGER_SET_INFORMATION: DWORD = 0x0002; -pub const TRANSACTIONMANAGER_RECOVER: DWORD = 0x0004; -pub const TRANSACTIONMANAGER_RENAME: DWORD = 0x0008; -pub const TRANSACTIONMANAGER_CREATE_RM: DWORD = 0x0010; -pub const TRANSACTIONMANAGER_BIND_TRANSACTION: DWORD = 0x0020; -pub const TRANSACTIONMANAGER_GENERIC_READ: DWORD = STANDARD_RIGHTS_READ - | TRANSACTIONMANAGER_QUERY_INFORMATION; -pub const TRANSACTIONMANAGER_GENERIC_WRITE: DWORD = STANDARD_RIGHTS_WRITE - | TRANSACTIONMANAGER_SET_INFORMATION | TRANSACTIONMANAGER_RECOVER | TRANSACTIONMANAGER_RENAME - | TRANSACTIONMANAGER_CREATE_RM; -pub const TRANSACTIONMANAGER_GENERIC_EXECUTE: DWORD = STANDARD_RIGHTS_EXECUTE; -pub const TRANSACTIONMANAGER_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED - | TRANSACTIONMANAGER_GENERIC_READ | TRANSACTIONMANAGER_GENERIC_WRITE - | TRANSACTIONMANAGER_GENERIC_EXECUTE | TRANSACTIONMANAGER_BIND_TRANSACTION; -pub const TRANSACTION_QUERY_INFORMATION: DWORD = 0x0001; -pub const TRANSACTION_SET_INFORMATION: DWORD = 0x0002; -pub const TRANSACTION_ENLIST: DWORD = 0x0004; -pub const TRANSACTION_COMMIT: DWORD = 0x0008; -pub const TRANSACTION_ROLLBACK: DWORD = 0x0010; -pub const TRANSACTION_PROPAGATE: DWORD = 0x0020; -pub const TRANSACTION_RIGHT_RESERVED1: DWORD = 0x0040; -pub const TRANSACTION_GENERIC_READ: DWORD = STANDARD_RIGHTS_READ | TRANSACTION_QUERY_INFORMATION - | SYNCHRONIZE; -pub const TRANSACTION_GENERIC_WRITE: DWORD = STANDARD_RIGHTS_WRITE | TRANSACTION_SET_INFORMATION - | TRANSACTION_COMMIT | TRANSACTION_ENLIST | TRANSACTION_ROLLBACK | TRANSACTION_PROPAGATE - | SYNCHRONIZE; -pub const TRANSACTION_GENERIC_EXECUTE: DWORD = STANDARD_RIGHTS_EXECUTE | TRANSACTION_COMMIT - | TRANSACTION_ROLLBACK | SYNCHRONIZE; -pub const TRANSACTION_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED | TRANSACTION_GENERIC_READ - | TRANSACTION_GENERIC_WRITE | TRANSACTION_GENERIC_EXECUTE; -pub const TRANSACTION_RESOURCE_MANAGER_RIGHTS: DWORD = TRANSACTION_GENERIC_READ - | STANDARD_RIGHTS_WRITE | TRANSACTION_SET_INFORMATION | TRANSACTION_ENLIST - | TRANSACTION_ROLLBACK | TRANSACTION_PROPAGATE | SYNCHRONIZE; -pub const RESOURCEMANAGER_QUERY_INFORMATION: DWORD = 0x0001; -pub const RESOURCEMANAGER_SET_INFORMATION: DWORD = 0x0002; -pub const RESOURCEMANAGER_RECOVER: DWORD = 0x0004; -pub const RESOURCEMANAGER_ENLIST: DWORD = 0x0008; -pub const RESOURCEMANAGER_GET_NOTIFICATION: DWORD = 0x0010; -pub const RESOURCEMANAGER_REGISTER_PROTOCOL: DWORD = 0x0020; -pub const RESOURCEMANAGER_COMPLETE_PROPAGATION: DWORD = 0x0040; -pub const RESOURCEMANAGER_GENERIC_READ: DWORD = STANDARD_RIGHTS_READ - | RESOURCEMANAGER_QUERY_INFORMATION | SYNCHRONIZE; -pub const RESOURCEMANAGER_GENERIC_WRITE: DWORD = STANDARD_RIGHTS_WRITE - | RESOURCEMANAGER_SET_INFORMATION | RESOURCEMANAGER_RECOVER | RESOURCEMANAGER_ENLIST - | RESOURCEMANAGER_GET_NOTIFICATION | RESOURCEMANAGER_REGISTER_PROTOCOL - | RESOURCEMANAGER_COMPLETE_PROPAGATION | SYNCHRONIZE; -pub const RESOURCEMANAGER_GENERIC_EXECUTE: DWORD = STANDARD_RIGHTS_EXECUTE - | RESOURCEMANAGER_RECOVER | RESOURCEMANAGER_ENLIST | RESOURCEMANAGER_GET_NOTIFICATION - | RESOURCEMANAGER_COMPLETE_PROPAGATION | SYNCHRONIZE; -pub const RESOURCEMANAGER_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED - | RESOURCEMANAGER_GENERIC_READ | RESOURCEMANAGER_GENERIC_WRITE - | RESOURCEMANAGER_GENERIC_EXECUTE; -pub const ENLISTMENT_QUERY_INFORMATION: DWORD = 0x0001; -pub const ENLISTMENT_SET_INFORMATION: DWORD = 0x0002; -pub const ENLISTMENT_RECOVER: DWORD = 0x0004; -pub const ENLISTMENT_SUBORDINATE_RIGHTS: DWORD = 0x0008; -pub const ENLISTMENT_SUPERIOR_RIGHTS: DWORD = 0x0010; -pub const ENLISTMENT_GENERIC_READ: DWORD = STANDARD_RIGHTS_READ | ENLISTMENT_QUERY_INFORMATION; -pub const ENLISTMENT_GENERIC_WRITE: DWORD = STANDARD_RIGHTS_WRITE | ENLISTMENT_SET_INFORMATION - | ENLISTMENT_RECOVER | ENLISTMENT_SUBORDINATE_RIGHTS | ENLISTMENT_SUPERIOR_RIGHTS; -pub const ENLISTMENT_GENERIC_EXECUTE: DWORD = STANDARD_RIGHTS_EXECUTE | ENLISTMENT_RECOVER - | ENLISTMENT_SUBORDINATE_RIGHTS | ENLISTMENT_SUPERIOR_RIGHTS; -pub const ENLISTMENT_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED | ENLISTMENT_GENERIC_READ - | ENLISTMENT_GENERIC_WRITE | ENLISTMENT_GENERIC_EXECUTE; -ENUM!{enum TRANSACTION_OUTCOME { - TransactionOutcomeUndetermined = 1, - TransactionOutcomeCommitted, - TransactionOutcomeAborted, -}} -ENUM!{enum TRANSACTION_STATE { - TransactionStateNormal = 1, - TransactionStateIndoubt, - TransactionStateCommittedNotify, -}} -STRUCT!{struct TRANSACTION_BASIC_INFORMATION { - TransactionId: GUID, - State: DWORD, - Outcome: DWORD, -}} -pub type PTRANSACTION_BASIC_INFORMATION = *mut TRANSACTION_BASIC_INFORMATION; -STRUCT!{struct TRANSACTIONMANAGER_BASIC_INFORMATION { - TmIdentity: GUID, - VirtualClock: LARGE_INTEGER, -}} -pub type PTRANSACTIONMANAGER_BASIC_INFORMATION = *mut TRANSACTIONMANAGER_BASIC_INFORMATION; -STRUCT!{struct TRANSACTIONMANAGER_LOG_INFORMATION { - LogIdentity: GUID, -}} -pub type PTRANSACTIONMANAGER_LOG_INFORMATION = *mut TRANSACTIONMANAGER_LOG_INFORMATION; -STRUCT!{struct TRANSACTIONMANAGER_LOGPATH_INFORMATION { - LogPathLength: DWORD, - LogPath: [WCHAR; 1], -}} -pub type PTRANSACTIONMANAGER_LOGPATH_INFORMATION = *mut TRANSACTIONMANAGER_LOGPATH_INFORMATION; -STRUCT!{struct TRANSACTIONMANAGER_RECOVERY_INFORMATION { - LastRecoveredLsn: ULONGLONG, -}} -pub type PTRANSACTIONMANAGER_RECOVERY_INFORMATION = *mut TRANSACTIONMANAGER_RECOVERY_INFORMATION; -STRUCT!{struct TRANSACTIONMANAGER_OLDEST_INFORMATION { - OldestTransactionGuid: GUID, -}} -pub type PTRANSACTIONMANAGER_OLDEST_INFORMATION = *mut TRANSACTIONMANAGER_OLDEST_INFORMATION; -STRUCT!{struct TRANSACTION_PROPERTIES_INFORMATION { - IsolationLevel: DWORD, - IsolationFlags: DWORD, - Timeout: LARGE_INTEGER, - Outcome: DWORD, - DescriptionLength: DWORD, - Description: [WCHAR; 1], -}} -pub type PTRANSACTION_PROPERTIES_INFORMATION = *mut TRANSACTION_PROPERTIES_INFORMATION; -STRUCT!{struct TRANSACTION_BIND_INFORMATION { - TmHandle: HANDLE, -}} -pub type PTRANSACTION_BIND_INFORMATION = *mut TRANSACTION_BIND_INFORMATION; -STRUCT!{struct TRANSACTION_ENLISTMENT_PAIR { - EnlistmentId: GUID, - ResourceManagerId: GUID, -}} -pub type PTRANSACTION_ENLISTMENT_PAIR = *mut TRANSACTION_ENLISTMENT_PAIR; -STRUCT!{struct TRANSACTION_ENLISTMENTS_INFORMATION { - NumberOfEnlistments: DWORD, - EnlistmentPair: [TRANSACTION_ENLISTMENT_PAIR; 1], -}} -pub type PTRANSACTION_ENLISTMENTS_INFORMATION = *mut TRANSACTION_ENLISTMENTS_INFORMATION; -STRUCT!{struct TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION { - SuperiorEnlistmentPair: TRANSACTION_ENLISTMENT_PAIR, -}} -pub type PTRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION - = *mut TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION; -STRUCT!{struct RESOURCEMANAGER_BASIC_INFORMATION { - ResourceManagerId: GUID, - DescriptionLength: DWORD, - Description: [WCHAR; 1], -}} -pub type PRESOURCEMANAGER_BASIC_INFORMATION = *mut RESOURCEMANAGER_BASIC_INFORMATION; -STRUCT!{struct RESOURCEMANAGER_COMPLETION_INFORMATION { - IoCompletionPortHandle: HANDLE, - CompletionKey: ULONG_PTR, -}} -pub type PRESOURCEMANAGER_COMPLETION_INFORMATION = *mut RESOURCEMANAGER_COMPLETION_INFORMATION; -ENUM!{enum TRANSACTION_INFORMATION_CLASS { - TransactionBasicInformation, - TransactionPropertiesInformation, - TransactionEnlistmentInformation, - TransactionSuperiorEnlistmentInformation, - TransactionBindInformation, - TransactionDTCPrivateInformation, -}} -ENUM!{enum TRANSACTIONMANAGER_INFORMATION_CLASS { - TransactionManagerBasicInformation, - TransactionManagerLogInformation, - TransactionManagerLogPathInformation, - TransactionManagerRecoveryInformation = 4, - TransactionManagerOnlineProbeInformation = 3, - TransactionManagerOldestTransactionInformation = 5, -}} -ENUM!{enum RESOURCEMANAGER_INFORMATION_CLASS { - ResourceManagerBasicInformation, - ResourceManagerCompletionInformation, -}} -STRUCT!{struct ENLISTMENT_BASIC_INFORMATION { - EnlistmentId: GUID, - TransactionId: GUID, - ResourceManagerId: GUID, -}} -pub type PENLISTMENT_BASIC_INFORMATION = *mut ENLISTMENT_BASIC_INFORMATION; -STRUCT!{struct ENLISTMENT_CRM_INFORMATION { - CrmTransactionManagerId: GUID, - CrmResourceManagerId: GUID, - CrmEnlistmentId: GUID, -}} -pub type PENLISTMENT_CRM_INFORMATION = *mut ENLISTMENT_CRM_INFORMATION; -ENUM!{enum ENLISTMENT_INFORMATION_CLASS { - EnlistmentBasicInformation, - EnlistmentRecoveryInformation, - EnlistmentCrmInformation, -}} -STRUCT!{struct TRANSACTION_LIST_ENTRY { - UOW: UOW, -}} -pub type PTRANSACTION_LIST_ENTRY = *mut TRANSACTION_LIST_ENTRY; -STRUCT!{struct TRANSACTION_LIST_INFORMATION { - NumberOfTransactions: DWORD, - TransactionInformation: [TRANSACTION_LIST_ENTRY; 1], -}} -pub type PTRANSACTION_LIST_INFORMATION = *mut TRANSACTION_LIST_INFORMATION; -ENUM!{enum KTMOBJECT_TYPE { - KTMOBJECT_TRANSACTION, - KTMOBJECT_TRANSACTION_MANAGER, - KTMOBJECT_RESOURCE_MANAGER, - KTMOBJECT_ENLISTMENT, - KTMOBJECT_INVALID, -}} -pub type PKTMOBJECT_TYPE = *mut KTMOBJECT_TYPE; -STRUCT!{struct KTMOBJECT_CURSOR { - LastQuery: GUID, - ObjectIdCount: DWORD, - ObjectIds: [GUID; 1], -}} -pub type PKTMOBJECT_CURSOR = *mut KTMOBJECT_CURSOR; -pub type TP_VERSION = DWORD; -pub type PTP_VERSION = *mut DWORD; -STRUCT!{struct TP_CALLBACK_INSTANCE { - dummy: *mut c_void, -}} -pub type PTP_CALLBACK_INSTANCE = *mut TP_CALLBACK_INSTANCE; -FN!{stdcall PTP_SIMPLE_CALLBACK( - Instance: PTP_CALLBACK_INSTANCE, - Context: PVOID, -) -> ()} -STRUCT!{struct TP_POOL { - dummy: *mut c_void, -}} -pub type PTP_POOL = *mut TP_POOL; -ENUM!{enum TP_CALLBACK_PRIORITY { - TP_CALLBACK_PRIORITY_HIGH, - TP_CALLBACK_PRIORITY_NORMAL, - TP_CALLBACK_PRIORITY_LOW, - TP_CALLBACK_PRIORITY_INVALID, - TP_CALLBACK_PRIORITY_COUNT = TP_CALLBACK_PRIORITY_INVALID, -}} -STRUCT!{struct TP_POOL_STACK_INFORMATION { - StackReserve: SIZE_T, - StackCommit: SIZE_T, -}} -pub type PTP_POOL_STACK_INFORMATION = *mut TP_POOL_STACK_INFORMATION; -STRUCT!{struct TP_CLEANUP_GROUP { - dummy: *mut c_void, -}} -pub type PTP_CLEANUP_GROUP = *mut TP_CLEANUP_GROUP; -FN!{stdcall PTP_CLEANUP_GROUP_CANCEL_CALLBACK( - ObjectContext: PVOID, - CleanupContext: PVOID, -) -> ()} -STRUCT!{struct TP_CALLBACK_ENVIRON_V3_u_s { - BitFields: DWORD, -}} -BITFIELD!{TP_CALLBACK_ENVIRON_V3_u_s BitFields: DWORD [ - LongFunction set_LongFunction[0..1], - Persistent set_Persistent[1..2], - Private set_Private[2..32], -]} -UNION!{union TP_CALLBACK_ENVIRON_V3_u { - [u32; 1], - Flags Flags_mut: DWORD, - s s_mut: TP_CALLBACK_ENVIRON_V3_u_s, -}} -STRUCT!{struct TP_CALLBACK_ENVIRON_V3 { - Version: TP_VERSION, - Pool: PTP_POOL, - CleanupGroup: PTP_CLEANUP_GROUP, - CleanupGroupCancelCallback: PTP_CLEANUP_GROUP_CANCEL_CALLBACK, - RaceDll: PVOID, - ActivationContext: *mut ACTIVATION_CONTEXT, - FinalizationCallback: PTP_SIMPLE_CALLBACK, - u: TP_CALLBACK_ENVIRON_V3_u, - CallbackPriority: TP_CALLBACK_PRIORITY, - Size: DWORD, -}} -pub type TP_CALLBACK_ENVIRON = TP_CALLBACK_ENVIRON_V3; -pub type PTP_CALLBACK_ENVIRON = *mut TP_CALLBACK_ENVIRON_V3; -STRUCT!{struct TP_WORK { - dummy: *mut c_void, -}} -pub type PTP_WORK = *mut TP_WORK; -FN!{stdcall PTP_WORK_CALLBACK( - Instance: PTP_CALLBACK_INSTANCE, - Context: PVOID, - Work: PTP_WORK, -) -> ()} -STRUCT!{struct TP_TIMER { - dummy: *mut c_void, -}} -pub type PTP_TIMER = *mut TP_TIMER; -FN!{stdcall PTP_TIMER_CALLBACK( - Instance: PTP_CALLBACK_INSTANCE, - Context: PVOID, - Timer: PTP_TIMER, -) -> ()} -pub type TP_WAIT_RESULT = DWORD; -STRUCT!{struct TP_WAIT { - dummy: *mut c_void, -}} -pub type PTP_WAIT = *mut TP_WAIT; -FN!{stdcall PTP_WAIT_CALLBACK( - Instance: PTP_CALLBACK_INSTANCE, - Context: PVOID, - Wait: PTP_WAIT, - WaitResult: TP_WAIT_RESULT, -) -> ()} -STRUCT!{struct TP_IO { - dummy: *mut c_void, -}} -pub type PTP_IO = *mut TP_IO; -pub const ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION: ULONG = 1; -pub const ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION: ULONG = 2; -pub const ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION: ULONG = 3; -pub const ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION: ULONG = 4; -pub const ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION: ULONG = 5; -pub const ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION: ULONG = 6; -pub const ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION: ULONG = 7; -pub const ACTIVATION_CONTEXT_SECTION_GLOBAL_OBJECT_RENAME_TABLE: ULONG = 8; -pub const ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES: ULONG = 9; -pub const ACTIVATION_CONTEXT_SECTION_APPLICATION_SETTINGS: ULONG = 10; -pub const ACTIVATION_CONTEXT_SECTION_COMPATIBILITY_INFO: ULONG = 11; -STRUCT!{struct ACTIVATION_CONTEXT { - dummy: *mut c_void, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/winreg.rs b/vendor/registry-40351f815f426200/winapi/src/um/winreg.rs deleted file mode 100644 index 3097ef04c..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/winreg.rs +++ /dev/null @@ -1,490 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::DWORD_PTR; -use shared::minwindef::{ - BOOL, BYTE, DWORD, HKEY, LPBYTE, LPCVOID, LPDWORD, PFILETIME, PHKEY, ULONG -}; -use um::minwinbase::LPSECURITY_ATTRIBUTES; -use um::winnt::{ACCESS_MASK, HANDLE, LONG, LPCSTR, LPCWSTR, LPSTR, LPWSTR, PVOID}; -pub type LSTATUS = LONG; -pub const RRF_RT_REG_NONE: DWORD = 0x00000001; -pub const RRF_RT_REG_SZ: DWORD = 0x00000002; -pub const RRF_RT_REG_EXPAND_SZ: DWORD = 0x00000004; -pub const RRF_RT_REG_BINARY: DWORD = 0x00000008; -pub const RRF_RT_REG_DWORD: DWORD = 0x00000010; -pub const RRF_RT_REG_MULTI_SZ: DWORD = 0x00000020; -pub const RRF_RT_REG_QWORD: DWORD = 0x00000040; -pub const RRF_RT_DWORD: DWORD = RRF_RT_REG_BINARY | RRF_RT_REG_DWORD; -pub const RRF_RT_QWORD: DWORD = RRF_RT_REG_BINARY | RRF_RT_REG_QWORD; -pub const RRF_RT_ANY: DWORD = 0x0000ffff; -pub const RRF_SUBKEY_WOW6464KEY: DWORD = 0x00010000; -pub const RRF_SUBKEY_WOW6432KEY: DWORD = 0x00020000; -pub const RRF_WOW64_MASK: DWORD = 0x00030000; -pub const RRF_NOEXPAND: DWORD = 0x10000000; -pub const RRF_ZEROONFAILURE: DWORD = 0x20000000; -pub const REG_PROCESS_APPKEY: DWORD = 0x00000001; -pub type REGSAM = ACCESS_MASK; -pub const HKEY_CLASSES_ROOT: HKEY = 0x80000000i32 as isize as HKEY; -pub const HKEY_CURRENT_USER: HKEY = 0x80000001i32 as isize as HKEY; -pub const HKEY_LOCAL_MACHINE: HKEY = 0x80000002i32 as isize as HKEY; -pub const HKEY_USERS: HKEY = 0x80000003i32 as isize as HKEY; -pub const HKEY_PERFORMANCE_DATA: HKEY = 0x80000004i32 as isize as HKEY; -pub const HKEY_PERFORMANCE_TEXT: HKEY = 0x80000050i32 as isize as HKEY; -pub const HKEY_PERFORMANCE_NLSTEXT: HKEY = 0x80000060i32 as isize as HKEY; -pub const HKEY_CURRENT_CONFIG: HKEY = 0x80000005i32 as isize as HKEY; -pub const HKEY_DYN_DATA: HKEY = 0x80000006i32 as isize as HKEY; -pub const HKEY_CURRENT_USER_LOCAL_SETTINGS: HKEY = 0x80000007i32 as isize as HKEY; -// PROVIDER_KEEPS_VALUE_LENGTH -// val_context -// PVALUEA -// PVALUEW -// QUERYHANDLER -// REG_PROVIDER -STRUCT!{struct VALENTA { - ve_valuename: LPSTR, - ve_valuelen: DWORD, - ve_valueptr: DWORD_PTR, - ve_type: DWORD, -}} -pub type PVALENTA = *mut VALENTA; -STRUCT!{struct VALENTW { - ve_valuename: LPWSTR, - ve_valuelen: DWORD, - ve_valueptr: DWORD_PTR, - ve_type: DWORD, -}} -pub type PVALENTW = *mut VALENTW; -// WIN31_CLASS -pub const REG_MUI_STRING_TRUNCATE: DWORD = 0x00000001; -pub const REG_SECURE_CONNECTION: DWORD = 1; -extern "system" { - pub fn RegCloseKey( - hKey: HKEY, - ) -> LSTATUS; - pub fn RegOverridePredefKey( - hKey: HKEY, - hNewHKey: HKEY, - ) -> LSTATUS; - pub fn RegOpenUserClassesRoot( - hToken: HANDLE, - dwOptions: DWORD, - samDesired: REGSAM, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegOpenCurrentUser( - samDesired: REGSAM, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegDisablePredefinedCache() -> LSTATUS; - pub fn RegDisablePredefinedCacheEx() -> LSTATUS; - pub fn RegConnectRegistryA( - lpMachineName: LPCSTR, - hKey: HKEY, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegConnectRegistryW( - lpMachineName: LPCWSTR, - hKey: HKEY, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegConnectRegistryExA( - lpMachineName: LPCSTR, - hKey: HKEY, - flags: ULONG, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegConnectRegistryExW( - lpMachineName: LPCWSTR, - hKey: HKEY, - flags: ULONG, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegCreateKeyA( - hKey: HKEY, - lpSubKey: LPCSTR, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegCreateKeyW( - hKey: HKEY, - lpSubKey: LPCWSTR, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegCreateKeyExA( - hKey: HKEY, - lpSubKey: LPCSTR, - Reserved: DWORD, - lpClass: LPSTR, - dwOptions: DWORD, - samDesired: REGSAM, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - phkResult: PHKEY, - lpdwDisposition: LPDWORD, - ) -> LSTATUS; - pub fn RegCreateKeyExW( - hKey: HKEY, - lpSubKey: LPCWSTR, - Reserved: DWORD, - lpClass: LPWSTR, - dwOptions: DWORD, - samDesired: REGSAM, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - phkResult: PHKEY, - lpdwDisposition: LPDWORD, - ) -> LSTATUS; - pub fn RegCreateKeyTransactedA( - hKey: HKEY, - lpSubKey: LPCSTR, - Reserved: DWORD, - lpClass: LPSTR, - dwOptions: DWORD, - samDesired: REGSAM, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - phkResult: PHKEY, - lpdwDisposition: LPDWORD, - hTransaction: HANDLE, - pExtendedParemeter: PVOID, - ) -> LSTATUS; - pub fn RegCreateKeyTransactedW( - hKey: HKEY, - lpSubKey: LPCWSTR, - Reserved: DWORD, - lpClass: LPWSTR, - dwOptions: DWORD, - samDesired: REGSAM, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - phkResult: PHKEY, - lpdwDisposition: LPDWORD, - hTransaction: HANDLE, - pExtendedParemeter: PVOID, - ) -> LSTATUS; - pub fn RegDeleteKeyA( - hKey: HKEY, - lpSubKey: LPCSTR, - ) -> LSTATUS; - pub fn RegDeleteKeyW( - hKey: HKEY, - lpSubKey: LPCWSTR, - ) -> LSTATUS; - pub fn RegDeleteKeyExA( - hKey: HKEY, - lpSubKey: LPCSTR, - samDesired: REGSAM, - Reserved: DWORD, - ) -> LSTATUS; - pub fn RegDeleteKeyExW( - hKey: HKEY, - lpSubKey: LPCWSTR, - samDesired: REGSAM, - Reserved: DWORD, - ) -> LSTATUS; - pub fn RegDeleteKeyTransactedA( - hKey: HKEY, - lpSubKey: LPCSTR, - samDesired: REGSAM, - Reserved: DWORD, - hTransaction: HANDLE, - pExtendedParemeter: PVOID, - ) -> LSTATUS; - pub fn RegDeleteKeyTransactedW( - hKey: HKEY, - lpSubKey: LPCWSTR, - samDesired: REGSAM, - Reserved: DWORD, - hTransaction: HANDLE, - pExtendedParemeter: PVOID, - ) -> LSTATUS; - pub fn RegDisableReflectionKey( - hBase: HKEY, - ) -> LONG; - pub fn RegEnableReflectionKey( - hBase: HKEY, - ) -> LONG; - pub fn RegQueryReflectionKey( - hBase: HKEY, - bIsReflectionDisabled: *mut BOOL, - ) -> LONG; - pub fn RegDeleteValueA( - hKey: HKEY, - lpValueName: LPCSTR, - ) -> LSTATUS; - pub fn RegDeleteValueW( - hKey: HKEY, - lpValueName: LPCWSTR, - ) -> LSTATUS; - // pub fn RegEnumKeyA(); - // pub fn RegEnumKeyW(); - pub fn RegEnumKeyExA( - hKey: HKEY, - dwIndex: DWORD, - lpName: LPSTR, - lpcName: LPDWORD, - lpReserved: LPDWORD, - lpClass: LPSTR, - lpcClass: LPDWORD, - lpftLastWriteTime: PFILETIME, - ) -> LSTATUS; - pub fn RegEnumKeyExW( - hKey: HKEY, - dwIndex: DWORD, - lpName: LPWSTR, - lpcName: LPDWORD, - lpReserved: LPDWORD, - lpClass: LPWSTR, - lpcClass: LPDWORD, - lpftLastWriteTime: PFILETIME, - ) -> LSTATUS; - pub fn RegEnumValueA( - hKey: HKEY, - dwIndex: DWORD, - lpValueName: LPSTR, - lpcchValueName: LPDWORD, - lpReserved: LPDWORD, - lpType: LPDWORD, - lpData: LPBYTE, - lpcbData: LPDWORD, - ) -> LSTATUS; - pub fn RegEnumValueW( - hKey: HKEY, - dwIndex: DWORD, - lpValueName: LPWSTR, - lpcchValueName: LPDWORD, - lpReserved: LPDWORD, - lpType: LPDWORD, - lpData: LPBYTE, - lpcbData: LPDWORD, - ) -> LSTATUS; - pub fn RegFlushKey( - hKey: HKEY, - ) -> LSTATUS; - // pub fn RegGetKeySecurity(); - // pub fn RegLoadKeyA(); - // pub fn RegLoadKeyW(); - pub fn RegNotifyChangeKeyValue( - hKey: HKEY, - bWatchSubtree: BOOL, - dwNotifyFilter: DWORD, - hEvent: HANDLE, - fAsynchronous: BOOL, - ) -> LSTATUS; - // pub fn RegOpenKeyA(); - // pub fn RegOpenKeyW(); - pub fn RegOpenKeyExA( - hKey: HKEY, - lpSubKey: LPCSTR, - ulOptions: DWORD, - samDesired: REGSAM, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegOpenKeyExW( - hKey: HKEY, - lpSubKey: LPCWSTR, - ulOptions: DWORD, - samDesired: REGSAM, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegOpenKeyTransactedA( - hKey: HKEY, - lpSubKey: LPCSTR, - ulOptions: DWORD, - samDesired: REGSAM, - phkResult: PHKEY, - hTransaction: HANDLE, - pExtendedParemeter: PVOID, - ) -> LSTATUS; - pub fn RegOpenKeyTransactedW( - hKey: HKEY, - lpSubKey: LPCWSTR, - ulOptions: DWORD, - samDesired: REGSAM, - phkResult: PHKEY, - hTransaction: HANDLE, - pExtendedParemeter: PVOID, - ) -> LSTATUS; - pub fn RegQueryInfoKeyA( - hKey: HKEY, - lpClass: LPSTR, - lpcClass: LPDWORD, - lpReserved: LPDWORD, - lpcSubKeys: LPDWORD, - lpcMaxSubKeyLen: LPDWORD, - lpcMaxClassLen: LPDWORD, - lpcValues: LPDWORD, - lpcMaxValueNameLen: LPDWORD, - lpcMaxValueLen: LPDWORD, - lpcbSecurityDescriptor: LPDWORD, - lpftLastWriteTime: PFILETIME, - ) -> LSTATUS; - pub fn RegQueryInfoKeyW( - hKey: HKEY, - lpClass: LPWSTR, - lpcClass: LPDWORD, - lpReserved: LPDWORD, - lpcSubKeys: LPDWORD, - lpcMaxSubKeyLen: LPDWORD, - lpcMaxClassLen: LPDWORD, - lpcValues: LPDWORD, - lpcMaxValueNameLen: LPDWORD, - lpcMaxValueLen: LPDWORD, - lpcbSecurityDescriptor: LPDWORD, - lpftLastWriteTime: PFILETIME, - ) -> LSTATUS; - // pub fn RegQueryValueA(); - // pub fn RegQueryValueW(); - pub fn RegQueryMultipleValuesA( - hKey: HKEY, - val_list: PVALENTA, - num_vals: DWORD, - lpValueBuf: LPSTR, - ldwTotsize: LPDWORD, - ) -> LSTATUS; - pub fn RegQueryMultipleValuesW( - hKey: HKEY, - val_list: PVALENTW, - num_vals: DWORD, - lpValueBuf: LPWSTR, - ldwTotsize: LPDWORD, - ) -> LSTATUS; - pub fn RegQueryValueExA( - hKey: HKEY, - lpValueName: LPCSTR, - lpReserved: LPDWORD, - lpType: LPDWORD, - lpData: LPBYTE, - lpcbData: LPDWORD, - ) -> LSTATUS; - pub fn RegQueryValueExW( - hKey: HKEY, - lpValueName: LPCWSTR, - lpReserved: LPDWORD, - lpType: LPDWORD, - lpData: LPBYTE, - lpcbData: LPDWORD, - ) -> LSTATUS; - // pub fn RegReplaceKeyA(); - // pub fn RegReplaceKeyW(); - // pub fn RegRestoreKeyA(); - // pub fn RegRestoreKeyW(); - // pub fn RegRenameKey(); - // pub fn RegSaveKeyA(); - // pub fn RegSaveKeyW(); - // pub fn RegSetKeySecurity(); - // pub fn RegSetValueA(); - // pub fn RegSetValueW(); - pub fn RegSetValueExA( - hKey: HKEY, - lpValueName: LPCSTR, - Reserved: DWORD, - dwType: DWORD, - lpData: *const BYTE, - cbData: DWORD, - ) -> LSTATUS; - pub fn RegSetValueExW( - hKey: HKEY, - lpValueName: LPCWSTR, - Reserved: DWORD, - dwType: DWORD, - lpData: *const BYTE, - cbData: DWORD, - ) -> LSTATUS; - // pub fn RegUnLoadKeyA(); - // pub fn RegUnLoadKeyW(); - pub fn RegDeleteKeyValueA( - hKey: HKEY, - lpSubKey: LPCSTR, - lpValueName: LPCSTR, - ) -> LSTATUS; - pub fn RegDeleteKeyValueW( - hKey: HKEY, - lpSubKey: LPCWSTR, - lpValueName: LPCWSTR, - ) -> LSTATUS; - pub fn RegSetKeyValueA( - hKey: HKEY, - lpSubKey: LPCSTR, - lpValueName: LPCSTR, - dwType: DWORD, - lpData: LPCVOID, - cbData: DWORD, - ) -> LSTATUS; - pub fn RegSetKeyValueW( - hKey: HKEY, - lpSubKey: LPCWSTR, - lpValueName: LPCWSTR, - dwType: DWORD, - lpData: LPCVOID, - cbData: DWORD, - ) -> LSTATUS; - pub fn RegDeleteTreeA( - hKey: HKEY, - lpSubKey: LPCSTR, - ) -> LSTATUS; - pub fn RegDeleteTreeW( - hKey: HKEY, - lpSubKey: LPCWSTR, - ) -> LSTATUS; - pub fn RegCopyTreeA( - hKeySrc: HKEY, - lpSubKey: LPCSTR, - hKeyDest: HKEY, - ) -> LSTATUS; - pub fn RegGetValueA( - hkey: HKEY, - lpSubKey: LPCSTR, - lpValue: LPCSTR, - dwFlags: DWORD, - pdwType: LPDWORD, - pvData: PVOID, - pcbData: LPDWORD, - ) -> LSTATUS; - pub fn RegGetValueW( - hkey: HKEY, - lpSubKey: LPCWSTR, - lpValue: LPCWSTR, - dwFlags: DWORD, - pdwType: LPDWORD, - pvData: PVOID, - pcbData: LPDWORD, - ) -> LSTATUS; - pub fn RegCopyTreeW( - hKeySrc: HKEY, - lpSubKey: LPCWSTR, - hKeyDest: HKEY, - ) -> LSTATUS; - // pub fn RegLoadMUIStringA(); - pub fn RegLoadMUIStringW( - hKey: HKEY, - pszValue: LPCWSTR, - pszOutBuf: LPWSTR, - cbOutBuf: DWORD, - pcbData: LPDWORD, - Flags: DWORD, - pszDirectory: LPCWSTR, - ) -> LSTATUS; - // pub fn RegLoadAppKeyA(); - // pub fn RegLoadAppKeyW(); - // pub fn InitiateSystemShutdownA(); - // pub fn InitiateSystemShutdownW(); - pub fn AbortSystemShutdownA( - lpMachineName: LPSTR, - ) -> BOOL; - pub fn AbortSystemShutdownW( - lpMachineName: LPWSTR, - ) -> BOOL; -} -// REASON_* -// MAX_SHUTDOWN_TIMEOUT -extern "system" { - // pub fn InitiateSystemShutdownExA(); - // pub fn InitiateSystemShutdownExW(); -} -// SHUTDOWN_* -extern "system" { - // pub fn InitiateShutdownA(); - // pub fn InitiateShutdownW(); - // pub fn CheckForHiberboot(); - // pub fn RegSaveKeyExA(); - // pub fn RegSaveKeyExW(); -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/winsafer.rs b/vendor/registry-40351f815f426200/winapi/src/um/winsafer.rs deleted file mode 100644 index 9607b6772..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/winsafer.rs +++ /dev/null @@ -1,228 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::{SIZE_T, ULONG64}; -use shared::guiddef::GUID; -use shared::minwindef::{BOOL, BYTE, DWORD, FILETIME, LPBYTE, LPDWORD, LPVOID, PDWORD}; -use shared::windef::HWND; -use um::wincrypt::ALG_ID; -use um::winnt::{BOOLEAN, HANDLE, LARGE_INTEGER, LPCWSTR, PHANDLE, PVOID, PWCHAR, WCHAR}; -DECLARE_HANDLE!{SAFER_LEVEL_HANDLE, __SAFER_LEVEL_HANDLE} -pub const SAFER_SCOPEID_MACHINE: DWORD = 1; -pub const SAFER_SCOPEID_USER: DWORD = 2; -pub const SAFER_LEVELID_DISALLOWED: DWORD = 0x00000; -pub const SAFER_LEVELID_UNTRUSTED: DWORD = 0x01000; -pub const SAFER_LEVELID_CONSTRAINED: DWORD = 0x10000; -pub const SAFER_LEVELID_NORMALUSER: DWORD = 0x20000; -pub const SAFER_LEVELID_FULLYTRUSTED: DWORD = 0x40000; -pub const SAFER_LEVEL_OPEN: DWORD = 1; -pub const SAFER_MAX_FRIENDLYNAME_SIZE: SIZE_T = 256; -pub const SAFER_MAX_DESCRIPTION_SIZE: SIZE_T = 256; -pub const SAFER_MAX_HASH_SIZE: SIZE_T = 64; -pub const SAFER_TOKEN_NULL_IF_EQUAL: DWORD = 0x00000001; -pub const SAFER_TOKEN_COMPARE_ONLY: DWORD = 0x00000002; -pub const SAFER_TOKEN_MAKE_INERT: DWORD = 0x00000004; -pub const SAFER_TOKEN_WANT_FLAGS: DWORD = 0x00000008; -pub const SAFER_CRITERIA_IMAGEPATH: DWORD = 0x00001; -pub const SAFER_CRITERIA_NOSIGNEDHASH: DWORD = 0x00002; -pub const SAFER_CRITERIA_IMAGEHASH: DWORD = 0x00004; -pub const SAFER_CRITERIA_AUTHENTICODE: DWORD = 0x00008; -pub const SAFER_CRITERIA_URLZONE: DWORD = 0x00010; -pub const SAFER_CRITERIA_APPX_PACKAGE: DWORD = 0x00020; -pub const SAFER_CRITERIA_IMAGEPATH_NT: DWORD = 0x01000; -STRUCT!{struct SAFER_CODE_PROPERTIES_V1 { - cbSize: DWORD, - dwCheckFlags: DWORD, - ImagePath: LPCWSTR, - hImageFileHandle: HANDLE, - UrlZoneId: DWORD, - ImageHash: [BYTE; SAFER_MAX_HASH_SIZE], - dwImageHashSize: DWORD, - ImageSize: LARGE_INTEGER, - HashAlgorithm: ALG_ID, - pByteBlock: LPBYTE, - hWndParent: HWND, - dwWVTUIChoice: DWORD, -}} -pub type PSAFER_CODE_PROPERTIES_V1 = *mut SAFER_CODE_PROPERTIES_V1; -STRUCT!{struct SAFER_CODE_PROPERTIES_V2 { - cbSize: DWORD, - dwCheckFlags: DWORD, - ImagePath: LPCWSTR, - hImageFileHandle: HANDLE, - UrlZoneId: DWORD, - ImageHash: [BYTE; SAFER_MAX_HASH_SIZE], - dwImageHashSize: DWORD, - ImageSize: LARGE_INTEGER, - HashAlgorithm: ALG_ID, - pByteBlock: LPBYTE, - hWndParent: HWND, - dwWVTUIChoice: DWORD, - PackageMoniker: LPCWSTR, - PackagePublisher: LPCWSTR, - PackageName: LPCWSTR, - PackageVersion: ULONG64, - PackageIsFramework: BOOL, -}} -pub type PSAFER_CODE_PROPERTIES_V2 = *mut SAFER_CODE_PROPERTIES_V2; -pub type SAFER_CODE_PROPERTIES = SAFER_CODE_PROPERTIES_V2; -pub type PSAFER_CODE_PROPERTIES = *mut SAFER_CODE_PROPERTIES; -pub const SAFER_POLICY_JOBID_MASK: DWORD = 0xFF000000; -pub const SAFER_POLICY_JOBID_CONSTRAINED: DWORD = 0x04000000; -pub const SAFER_POLICY_JOBID_UNTRUSTED: DWORD = 0x03000000; -pub const SAFER_POLICY_ONLY_EXES: DWORD = 0x00010000; -pub const SAFER_POLICY_SANDBOX_INERT: DWORD = 0x00020000; -pub const SAFER_POLICY_HASH_DUPLICATE: DWORD = 0x00040000; -pub const SAFER_POLICY_ONLY_AUDIT: DWORD = 0x00001000; -pub const SAFER_POLICY_BLOCK_CLIENT_UI: DWORD = 0x00002000; -pub const SAFER_POLICY_UIFLAGS_MASK: DWORD = 0x000000FF; -pub const SAFER_POLICY_UIFLAGS_INFORMATION_PROMPT: DWORD = 0x00000001; -pub const SAFER_POLICY_UIFLAGS_OPTION_PROMPT: DWORD = 0x00000002; -pub const SAFER_POLICY_UIFLAGS_HIDDEN: DWORD = 0x00000004; -ENUM!{enum SAFER_POLICY_INFO_CLASS { - SaferPolicyLevelList = 1, - SaferPolicyEnableTransparentEnforcement, - SaferPolicyDefaultLevel, - SaferPolicyEvaluateUserScope, - SaferPolicyScopeFlags, - SaferPolicyDefaultLevelFlags, - SaferPolicyAuthenticodeEnabled, -}} -ENUM!{enum SAFER_OBJECT_INFO_CLASS { - SaferObjectLevelId = 1, - SaferObjectScopeId, - SaferObjectFriendlyName, - SaferObjectDescription, - SaferObjectBuiltin, - SaferObjectDisallowed, - SaferObjectDisableMaxPrivilege, - SaferObjectInvertDeletedPrivileges, - SaferObjectDeletedPrivileges, - SaferObjectDefaultOwner, - SaferObjectSidsToDisable, - SaferObjectRestrictedSidsInverted, - SaferObjectRestrictedSidsAdded, - SaferObjectAllIdentificationGuids, - SaferObjectSingleIdentification, - SaferObjectExtendedError, -}} -ENUM!{enum SAFER_IDENTIFICATION_TYPES { - SaferIdentityDefault, - SaferIdentityTypeImageName = 1, - SaferIdentityTypeImageHash, - SaferIdentityTypeUrlZone, - SaferIdentityTypeCertificate, -}} -STRUCT!{struct SAFER_IDENTIFICATION_HEADER { - dwIdentificationType: SAFER_IDENTIFICATION_TYPES, - cbStructSize: DWORD, - IdentificationGuid: GUID, - lastModified: FILETIME, -}} -pub type PSAFER_IDENTIFICATION_HEADER = *mut SAFER_IDENTIFICATION_HEADER; -STRUCT!{struct SAFER_PATHNAME_IDENTIFICATION { - header: SAFER_IDENTIFICATION_HEADER, - Description: [WCHAR; SAFER_MAX_DESCRIPTION_SIZE], - ImageName: PWCHAR, - dwSaferFlags: DWORD, -}} -pub type PSAFER_PATHNAME_IDENTIFICATION = *mut SAFER_PATHNAME_IDENTIFICATION; -STRUCT!{struct SAFER_HASH_IDENTIFICATION { - header: SAFER_IDENTIFICATION_HEADER, - Description: [WCHAR; SAFER_MAX_DESCRIPTION_SIZE], - FriendlyName: [WCHAR; SAFER_MAX_DESCRIPTION_SIZE], - HashSize: DWORD, - ImageHash: [BYTE; SAFER_MAX_HASH_SIZE], - HashAlgorithm: ALG_ID, - ImageSize: LARGE_INTEGER, - dwSaferFlags: DWORD, -}} -pub type PSAFER_HASH_IDENTIFICATION = *mut SAFER_HASH_IDENTIFICATION; -STRUCT!{struct SAFER_HASH_IDENTIFICATION2 { - hashIdentification: SAFER_HASH_IDENTIFICATION, - HashSize: DWORD, - ImageHash: [BYTE; SAFER_MAX_HASH_SIZE], - HashAlgorithm: ALG_ID, -}} -pub type PSAFER_HASH_IDENTIFICATION2 = *mut SAFER_HASH_IDENTIFICATION2; -STRUCT!{struct SAFER_URLZONE_IDENTIFICATION { - header: SAFER_IDENTIFICATION_HEADER, - UrlZoneId: DWORD, - dwSaferFlags: DWORD, -}} -pub type PSAFER_URLZONE_IDENTIFICATION = *mut SAFER_URLZONE_IDENTIFICATION; -extern "system" { - pub fn SaferGetPolicyInformation( - dwScopeId: DWORD, - SaferPolicyInfoClass: SAFER_POLICY_INFO_CLASS, - InfoBufferSize: DWORD, - InfoBuffer: PVOID, - InfoBufferRetSize: PDWORD, - lpReserved: LPVOID, - ) -> BOOL; - pub fn SaferSetPolicyInformation( - dwScopeId: DWORD, - SaferPolicyInfoClass: SAFER_POLICY_INFO_CLASS, - InfoBufferSize: DWORD, - InfoBuffer: PVOID, - lpReserved: LPVOID, - ) -> BOOL; - pub fn SaferCreateLevel( - dwScopeId: DWORD, - dwLevelId: DWORD, - OpenFlags: DWORD, - pLevelHandle: *mut SAFER_LEVEL_HANDLE, - lpReserved: LPVOID, - ) -> BOOL; - pub fn SaferCloseLevel( - hLevelHandle: SAFER_LEVEL_HANDLE, - ) -> BOOL; - pub fn SaferIdentifyLevel( - dwNumProperties: DWORD, - pCodeProperties: PSAFER_CODE_PROPERTIES, - pLevelHandle: *mut SAFER_LEVEL_HANDLE, - lpReserved: LPVOID, - ) -> BOOL; - pub fn SaferComputeTokenFromLevel( - LevelHandle: SAFER_LEVEL_HANDLE, - InAccessToken: HANDLE, - OutAccessToken: PHANDLE, - dwFlags: DWORD, - lpReserved: LPVOID, - ) -> BOOL; - pub fn SaferGetLevelInformation( - LevelHandle: SAFER_LEVEL_HANDLE, - dwInfoType: SAFER_OBJECT_INFO_CLASS, - lpQueryBuffer: LPVOID, - dwInBufferSize: DWORD, - lpdwOutBufferSize: LPDWORD, - ) -> BOOL; - pub fn SaferSetLevelInformation( - LevelHandle: SAFER_LEVEL_HANDLE, - dwInfoType: SAFER_OBJECT_INFO_CLASS, - lpQueryBuffer: LPVOID, - dwInBufferSize: DWORD, - ) -> BOOL; - pub fn SaferRecordEventLogEntry( - hLevel: SAFER_LEVEL_HANDLE, - szTargetPath: LPCWSTR, - lpReserved: LPVOID, - ) -> BOOL; - pub fn SaferiIsExecutableFileType( - szFullPath: LPCWSTR, - bFromShellExecute: BOOLEAN, - ) -> BOOL; -} -pub const SRP_POLICY_EXE: &'static str = "EXE"; -pub const SRP_POLICY_DLL: &'static str = "DLL"; -pub const SRP_POLICY_MSI: &'static str = "MSI"; -pub const SRP_POLICY_SCRIPT: &'static str = "SCRIPT"; -pub const SRP_POLICY_SHELL: &'static str = "SHELL"; -pub const SRP_POLICY_NOV2: &'static str = "IGNORESRPV2"; -pub const SRP_POLICY_APPX: &'static str = "APPX"; -pub const SRP_POLICY_WLDPMSI: &'static str = "WLDPMSI"; -pub const SRP_POLICY_WLDPSCRIPT: &'static str = "WLDPSCRIPT"; -pub const SRP_POLICY_WLDPCONFIGCI: &'static str = "WLDPCONFIGCI"; -pub const SRP_POLICY_MANAGEDINSTALLER: &'static str = "MANAGEDINSTALLER"; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/winscard.rs b/vendor/registry-40351f815f426200/winapi/src/um/winscard.rs deleted file mode 100644 index 5adaec774..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/winscard.rs +++ /dev/null @@ -1,709 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Data Protection API Prototypes and Definitions -// This header file provides the definitions and symbols necessary for an -// Application or Smart Card Service Provider to access the Smartcard Subsystem. -use shared::basetsd::ULONG_PTR; -use shared::guiddef::{LPCGUID, LPGUID}; -use shared::minwindef::{BOOL, BYTE, DWORD, LPBYTE, LPCVOID, LPDWORD, LPVOID, PBYTE}; -use shared::rpcdce::UUID; -use shared::windef::{HICON, HWND}; -use um::winnt::{CHAR, HANDLE, LONG, LPCSTR, LPCWSTR, LPSTR, LPWSTR, PVOID, WCHAR}; -use um::winsmcrd::{LPCSCARD_IO_REQUEST, LPSCARD_IO_REQUEST}; -pub type LPCBYTE = *const BYTE; -pub type SCARDCONTEXT = ULONG_PTR; -pub type PSCARDCONTEXT = *mut SCARDCONTEXT; -pub type LPSCARDCONTEXT = *mut SCARDCONTEXT; -pub type SCARDHANDLE = ULONG_PTR; -pub type PSCARDHANDLE = *mut SCARDHANDLE; -pub type LPSCARDHANDLE = *mut SCARDHANDLE; -pub const SCARD_AUTOALLOCATE: DWORD = -1i32 as u32; -pub const SCARD_SCOPE_USER: DWORD = 0; -pub const SCARD_SCOPE_TERMINAL: DWORD = 1; -pub const SCARD_SCOPE_SYSTEM: DWORD = 2; -extern "system" { - pub fn SCardEstablishContext( - dwScope: DWORD, - pvReserved1: LPCVOID, - pvReserved2: LPCVOID, - phContext: LPSCARDCONTEXT, - ) -> LONG; - pub fn SCardReleaseContext( - hContext: SCARDCONTEXT, - ) -> LONG; - pub fn SCardIsValidContext( - hContext: SCARDCONTEXT, - ) -> LONG; -} -pub const SCARD_PROVIDER_PRIMARY: DWORD = 1; -pub const SCARD_PROVIDER_CSP: DWORD = 2; -pub const SCARD_PROVIDER_KSP: DWORD = 3; -extern "system" { - pub fn SCardListReaderGroupsA( - hContext: SCARDCONTEXT, - mszGroups: LPSTR, - pcchGroups: LPDWORD, - ) -> LONG; - pub fn SCardListReaderGroupsW( - hContext: SCARDCONTEXT, - mszGroups: LPWSTR, - pcchGroups: LPDWORD, - ) -> LONG; - pub fn SCardListReadersA( - hContext: SCARDCONTEXT, - mszGroups: LPCSTR, - mszReaders: LPSTR, - pcchReaders: LPDWORD, - ) -> LONG; - pub fn SCardListReadersW( - hContext: SCARDCONTEXT, - mszGroups: LPCWSTR, - mszReaders: LPWSTR, - pcchReaders: LPDWORD, - ) -> LONG; - pub fn SCardListCardsA( - hContext: SCARDCONTEXT, - pbAtr: LPCBYTE, - rgquidInterfaces: LPCGUID, - cguidInterfaceCount: DWORD, - mszCards: *mut CHAR, - pcchCards: LPDWORD, - ) -> LONG; - pub fn SCardListCardsW( - hContext: SCARDCONTEXT, - pbAtr: LPCBYTE, - rgquidInterfaces: LPCGUID, - cguidInterfaceCount: DWORD, - mszCards: *mut WCHAR, - pcchCards: LPDWORD, - ) -> LONG; - pub fn SCardListInterfacesA( - hContext: SCARDCONTEXT, - szCard: LPCSTR, - pguidInterfaces: LPGUID, - pcguidInterfaces: LPDWORD, - ) -> LONG; - pub fn SCardListInterfacesW( - hContext: SCARDCONTEXT, - szCard: LPCWSTR, - pguidInterfaces: LPGUID, - pcguidInterfaces: LPDWORD, - ) -> LONG; - pub fn SCardGetProviderIdA( - hContext: SCARDCONTEXT, - szCard: LPCSTR, - pguidProviderId: LPGUID, - ) -> LONG; - pub fn SCardGetProviderIdW( - hContext: SCARDCONTEXT, - szCard: LPCWSTR, - pguidProviderId: LPGUID, - ) -> LONG; - pub fn SCardGetCardTypeProviderNameA( - hContext: SCARDCONTEXT, - szCardName: LPCSTR, - dwProviderId: DWORD, - szProvider: *mut CHAR, - pcchProvider: LPDWORD, - ) -> LONG; - pub fn SCardGetCardTypeProviderNameW( - hContext: SCARDCONTEXT, - szCardName: LPCWSTR, - dwProviderId: DWORD, - szProvider: *mut WCHAR, - pcchProvider: LPDWORD, - ) -> LONG; - pub fn SCardIntroduceReaderGroupA( - hContext: SCARDCONTEXT, - szGroupName: LPCSTR, - ) -> LONG; - pub fn SCardIntroduceReaderGroupW( - hContext: SCARDCONTEXT, - szGroupName: LPCWSTR, - ) -> LONG; - pub fn SCardForgetReaderGroupA( - hContext: SCARDCONTEXT, - szGroupName: LPCSTR, - ) -> LONG; - pub fn SCardForgetReaderGroupW( - hContext: SCARDCONTEXT, - szGroupName: LPCWSTR, - ) -> LONG; - pub fn SCardIntroduceReaderA( - hContext: SCARDCONTEXT, - szReaderName: LPCSTR, - szDeviceName: LPCSTR, - ) -> LONG; - pub fn SCardIntroduceReaderW( - hContext: SCARDCONTEXT, - szReaderName: LPCWSTR, - szDeviceName: LPCWSTR, - ) -> LONG; - pub fn SCardForgetReaderA( - hContext: SCARDCONTEXT, - szReaderName: LPCSTR, - ) -> LONG; - pub fn SCardForgetReaderW( - hContext: SCARDCONTEXT, - szReaderName: LPCWSTR, - ) -> LONG; - pub fn SCardAddReaderToGroupA( - hContext: SCARDCONTEXT, - szReaderName: LPCSTR, - szGroupName: LPCSTR, - ) -> LONG; - pub fn SCardAddReaderToGroupW( - hContext: SCARDCONTEXT, - szReaderName: LPCWSTR, - szGroupName: LPCWSTR, - ) -> LONG; - pub fn SCardRemoveReaderFromGroupA( - hContext: SCARDCONTEXT, - szReaderName: LPCSTR, - szGroupName: LPCSTR, - ) -> LONG; - pub fn SCardRemoveReaderFromGroupW( - hContext: SCARDCONTEXT, - szReaderName: LPCWSTR, - szGroupName: LPCWSTR, - ) -> LONG; - pub fn SCardIntroduceCardTypeA( - hContext: SCARDCONTEXT, - szCardName: LPCSTR, - pguidPrimaryProvider: LPCGUID, - rgguidInterfaces: LPCGUID, - dwInterfaceCount: DWORD, - pbAtr: LPCBYTE, - pbAtrMask: LPCBYTE, - cbAtrLen: DWORD, - ) -> LONG; - pub fn SCardIntroduceCardTypeW( - hContext: SCARDCONTEXT, - szCardName: LPCWSTR, - pguidPrimaryProvider: LPCGUID, - rgguidInterfaces: LPCGUID, - dwInterfaceCount: DWORD, - pbAtr: LPCBYTE, - pbAtrMask: LPCBYTE, - cbAtrLen: DWORD, - ) -> LONG; - pub fn SCardSetCardTypeProviderNameA( - hContext: SCARDCONTEXT, - szCardName: LPCSTR, - dwProviderId: DWORD, - szProvider: LPCSTR, - ) -> LONG; - pub fn SCardSetCardTypeProviderNameW( - hContext: SCARDCONTEXT, - szCardName: LPCWSTR, - dwProviderId: DWORD, - szProvider: LPCWSTR, - ) -> LONG; - pub fn SCardForgetCardTypeA( - hContext: SCARDCONTEXT, - szCardName: LPCSTR, - ) -> LONG; - pub fn SCardForgetCardTypeW( - hContext: SCARDCONTEXT, - szCardName: LPCWSTR, - ) -> LONG; - pub fn SCardFreeMemory( - hContext: SCARDCONTEXT, - pvMem: LPCVOID, - ) -> LONG; - pub fn SCardAccessStartedEvent() -> HANDLE; - pub fn SCardReleaseStartedEvent(); -} -STRUCT!{struct SCARD_READERSTATEA { - szReader: LPCSTR, - pvUserData: LPVOID, - dwCurrentState: DWORD, - dwEventState: DWORD, - cbAtr: DWORD, - rgbAtr: [BYTE; 36], -}} -pub type PSCARD_READERSTATEA = *mut SCARD_READERSTATEA; -pub type LPSCARD_READERSTATEA = *mut SCARD_READERSTATEA; -STRUCT!{struct SCARD_READERSTATEW { - szReader: LPCWSTR, - pvUserData: LPVOID, - dwCurrentState: DWORD, - dwEventState: DWORD, - cbAtr: DWORD, - rgbAtr: [BYTE; 36], -}} -pub type PSCARD_READERSTATEW = *mut SCARD_READERSTATEW; -pub type LPSCARD_READERSTATEW = *mut SCARD_READERSTATEW; -pub type SCARD_READERSTATE_A = SCARD_READERSTATEA; -pub type SCARD_READERSTATE_W = SCARD_READERSTATEW; -pub type PSCARD_READERSTATE_A = PSCARD_READERSTATEA; -pub type PSCARD_READERSTATE_W = PSCARD_READERSTATEW; -pub type LPSCARD_READERSTATE_A = LPSCARD_READERSTATEA; -pub type LPSCARD_READERSTATE_W = LPSCARD_READERSTATEW; -pub const SCARD_STATE_UNAWARE: DWORD = 0x00000000; -pub const SCARD_STATE_IGNORE: DWORD = 0x00000001; -pub const SCARD_STATE_CHANGED: DWORD = 0x00000002; -pub const SCARD_STATE_UNKNOWN: DWORD = 0x00000004; -pub const SCARD_STATE_UNAVAILABLE: DWORD = 0x00000008; -pub const SCARD_STATE_EMPTY: DWORD = 0x00000010; -pub const SCARD_STATE_PRESENT: DWORD = 0x00000020; -pub const SCARD_STATE_ATRMATCH: DWORD = 0x00000040; -pub const SCARD_STATE_EXCLUSIVE: DWORD = 0x00000080; -pub const SCARD_STATE_INUSE: DWORD = 0x00000100; -pub const SCARD_STATE_MUTE: DWORD = 0x00000200; -pub const SCARD_STATE_UNPOWERED: DWORD = 0x00000400; -extern "system" { - pub fn SCardLocateCardsA( - hContext: SCARDCONTEXT, - mszCards: LPCSTR, - rgReaderStates: LPSCARD_READERSTATEA, - cReaders: DWORD, - ) -> LONG; - pub fn SCardLocateCardsW( - hContext: SCARDCONTEXT, - mszCards: LPCWSTR, - rgReaderStates: LPSCARD_READERSTATEW, - cReaders: DWORD, - ) -> LONG; -} -STRUCT!{struct SCARD_ATRMASK { - cbAtr: DWORD, - rgbAtr: [BYTE; 36], - rgbMask: [BYTE; 36], -}} -pub type PSCARD_ATRMASK = *mut SCARD_ATRMASK; -pub type LPSCARD_ATRMASK = *mut SCARD_ATRMASK; -extern "system" { - pub fn SCardLocateCardsByATRA( - hContext: SCARDCONTEXT, - rgAtrMasks: LPSCARD_ATRMASK, - cAtrs: DWORD, - rgReaderStates: LPSCARD_READERSTATEA, - cReaders: DWORD, - ) -> LONG; - pub fn SCardLocateCardsByATRW( - hContext: SCARDCONTEXT, - rgAtrMasks: LPSCARD_ATRMASK, - cAtrs: DWORD, - rgReaderStates: LPSCARD_READERSTATEW, - cReaders: DWORD, - ) -> LONG; - pub fn SCardGetStatusChangeA( - hContext: SCARDCONTEXT, - dwTimeout: DWORD, - rgReaderStates: LPSCARD_READERSTATEA, - cReaders: DWORD, - ) -> LONG; - pub fn SCardGetStatusChangeW( - hContext: SCARDCONTEXT, - dwTimeout: DWORD, - rgReaderStates: LPSCARD_READERSTATEW, - cReaders: DWORD, - ) -> LONG; - pub fn SCardCancel( - hContext: SCARDCONTEXT, - ) -> LONG; -} -pub const SCARD_SHARE_EXCLUSIVE: DWORD = 1; -pub const SCARD_SHARE_SHARED: DWORD = 2; -pub const SCARD_SHARE_DIRECT: DWORD = 3; -pub const SCARD_LEAVE_CARD: DWORD = 0; -pub const SCARD_RESET_CARD: DWORD = 1; -pub const SCARD_UNPOWER_CARD: DWORD = 2; -pub const SCARD_EJECT_CARD: DWORD = 3; -extern "system" { - pub fn SCardConnectA( - hContext: SCARDCONTEXT, - szReader: LPCSTR, - dwShareMode: DWORD, - dwPreferredProtocols: DWORD, - phCard: LPSCARDHANDLE, - pdwActiveProtocol: LPDWORD, - ) -> LONG; - pub fn SCardConnectW( - hContext: SCARDCONTEXT, - szReader: LPCWSTR, - dwShareMode: DWORD, - dwPreferredProtocols: DWORD, - phCard: LPSCARDHANDLE, - pdwActiveProtocol: LPDWORD, - ) -> LONG; - pub fn SCardReconnect( - hCard: SCARDHANDLE, - dwShareMode: DWORD, - dwPreferredProtocols: DWORD, - dwInitialization: DWORD, - pdwActiveProtocol: LPDWORD, - ) -> LONG; - pub fn SCardDisconnect( - hCard: SCARDHANDLE, - dwDisposition: DWORD, - ) -> LONG; - pub fn SCardBeginTransaction( - hCard: SCARDHANDLE, - ) -> LONG; - pub fn SCardEndTransaction( - hCard: SCARDHANDLE, - dwDisposition: DWORD, - ) -> LONG; - pub fn SCardState( - hCard: SCARDHANDLE, - pdwState: LPDWORD, - pdwProtocol: LPDWORD, - pbAtr: LPBYTE, - pcbAtrLen: LPDWORD, - ) -> LONG; - pub fn SCardStatusA( - hCard: SCARDHANDLE, - mszReaderNames: LPSTR, - pcchReaderLen: LPDWORD, - pdwState: LPDWORD, - pdwProtocol: LPDWORD, - pbAtr: LPBYTE, - pcbAtrLen: LPDWORD, - ) -> LONG; - pub fn SCardStatusW( - hCard: SCARDHANDLE, - mszReaderNames: LPWSTR, - pcchReaderLen: LPDWORD, - pdwState: LPDWORD, - pdwProtocol: LPDWORD, - pbAtr: LPBYTE, - pcbAtrLen: LPDWORD, - ) -> LONG; - pub fn SCardTransmit( - hCard: SCARDHANDLE, - pioSendPci: LPCSCARD_IO_REQUEST, - pbSendBuffer: LPCBYTE, - cbSendLength: DWORD, - pioRecvPci: LPSCARD_IO_REQUEST, - pbRecvBuffer: LPBYTE, - pcbRecvLength: LPDWORD, - ) -> LONG; - pub fn SCardGetTransmitCount( - hCard: SCARDHANDLE, - pcTransmitCount: LPDWORD, - ) -> LONG; - pub fn SCardControl( - hCard: SCARDHANDLE, - dwControlCode: DWORD, - lpInBuffer: LPCVOID, - cbInBufferSize: DWORD, - lpOutBuffer: LPVOID, - cbOutBufferSize: DWORD, - lpBytesReturned: LPDWORD, - ) -> LONG; - pub fn SCardGetAttrib( - hCard: SCARDHANDLE, - dwAttrId: DWORD, - pbAttr: LPBYTE, - pcbAttrLen: LPDWORD, - ) -> LONG; - pub fn SCardSetAttrib( - hCard: SCARDHANDLE, - dwAttrId: DWORD, - pbAttr: LPCBYTE, - cbAttrLen: DWORD, - ) -> LONG; -} -pub const SC_DLG_MINIMAL_UI: DWORD = 0x01; -pub const SC_DLG_NO_UI: DWORD = 0x02; -pub const SC_DLG_FORCE_UI: DWORD = 0x04; -pub const SCERR_NOCARDNAME: DWORD = 0x4000; -pub const SCERR_NOGUIDS: DWORD = 0x8000; -FN!{stdcall LPOCNCONNPROCA( - SCARDCONTEXT, - LPSTR, - LPSTR, - PVOID, -) -> SCARDHANDLE} -FN!{stdcall LPOCNCONNPROCW( - SCARDCONTEXT, - LPWSTR, - LPWSTR, - PVOID, -) -> SCARDHANDLE} -FN!{stdcall LPOCNCHKPROC( - SCARDCONTEXT, - SCARDHANDLE, - PVOID, -) -> BOOL} -FN!{stdcall LPOCNDSCPROC( - SCARDCONTEXT, - SCARDHANDLE, - PVOID, -) -> ()} -STRUCT!{struct OPENCARD_SEARCH_CRITERIAA { - dwStructSize: DWORD, - lpstrGroupNames: LPSTR, - nMaxGroupNames: DWORD, - rgguidInterfaces: LPCGUID, - cguidInterfaces: DWORD, - lpstrCardNames: LPSTR, - nMaxCardNames: DWORD, - lpfnCheck: LPOCNCHKPROC, - lpfnConnect: LPOCNCONNPROCA, - lpfnDisconnect: LPOCNDSCPROC, - pvUserData: LPVOID, - dwShareMode: DWORD, - dwPreferredProtocols: DWORD, -}} -pub type POPENCARD_SEARCH_CRITERIAA = *mut OPENCARD_SEARCH_CRITERIAA; -pub type LPOPENCARD_SEARCH_CRITERIAA = *mut OPENCARD_SEARCH_CRITERIAA; -STRUCT!{struct OPENCARD_SEARCH_CRITERIAW { - dwStructSize: DWORD, - lpstrGroupNames: LPWSTR, - nMaxGroupNames: DWORD, - rgguidInterfaces: LPCGUID, - cguidInterfaces: DWORD, - lpstrCardNames: LPWSTR, - nMaxCardNames: DWORD, - lpfnCheck: LPOCNCHKPROC, - lpfnConnect: LPOCNCONNPROCW, - lpfnDisconnect: LPOCNDSCPROC, - pvUserData: LPVOID, - dwShareMode: DWORD, - dwPreferredProtocols: DWORD, -}} -pub type POPENCARD_SEARCH_CRITERIAW = *mut OPENCARD_SEARCH_CRITERIAW; -pub type LPOPENCARD_SEARCH_CRITERIAW = *mut OPENCARD_SEARCH_CRITERIAW; -STRUCT!{struct OPENCARDNAME_EXA { - dwStructSize: DWORD, - hSCardContext: SCARDCONTEXT, - hwndOwner: HWND, - dwFlags: DWORD, - lpstrTitle: LPCSTR, - lpstrSearchDesc: LPCSTR, - hIcon: HICON, - pOpenCardSearchCriteria: POPENCARD_SEARCH_CRITERIAA, - lpfnConnect: LPOCNCONNPROCA, - pvUserData: LPVOID, - dwShareMode: DWORD, - dwPreferredProtocols: DWORD, - lpstrRdr: LPSTR, - nMaxRdr: DWORD, - lpstrCard: LPSTR, - nMaxCard: DWORD, - dwActiveProtocol: DWORD, - hCardHandle: SCARDHANDLE, -}} -pub type POPENCARDNAME_EXA = *mut OPENCARDNAME_EXA; -pub type LPOPENCARDNAME_EXA = *mut OPENCARDNAME_EXA; -STRUCT!{struct OPENCARDNAME_EXW { - dwStructSize: DWORD, - hSCardContext: SCARDCONTEXT, - hwndOwner: HWND, - dwFlags: DWORD, - lpstrTitle: LPCWSTR, - lpstrSearchDesc: LPCWSTR, - hIcon: HICON, - pOpenCardSearchCriteria: POPENCARD_SEARCH_CRITERIAW, - lpfnConnect: LPOCNCONNPROCW, - pvUserData: LPVOID, - dwShareMode: DWORD, - dwPreferredProtocols: DWORD, - lpstrRdr: LPWSTR, - nMaxRdr: DWORD, - lpstrCard: LPWSTR, - nMaxCard: DWORD, - dwActiveProtocol: DWORD, - hCardHandle: SCARDHANDLE, -}} -pub type POPENCARDNAME_EXW = *mut OPENCARDNAME_EXW; -pub type LPOPENCARDNAME_EXW = *mut OPENCARDNAME_EXW; -pub type OPENCARDNAMEA_EX = OPENCARDNAME_EXA; -pub type OPENCARDNAMEW_EX = OPENCARDNAME_EXW; -pub type POPENCARDNAMEA_EX = POPENCARDNAME_EXA; -pub type POPENCARDNAMEW_EX = POPENCARDNAME_EXW; -pub type LPOPENCARDNAMEA_EX = LPOPENCARDNAME_EXA; -pub type LPOPENCARDNAMEW_EX = LPOPENCARDNAME_EXW; -pub const SCARD_READER_SEL_AUTH_PACKAGE: DWORD = -629i32 as u32; -ENUM!{enum READER_SEL_REQUEST_MATCH_TYPE { - RSR_MATCH_TYPE_READER_AND_CONTAINER = 1, - RSR_MATCH_TYPE_SERIAL_NUMBER, - RSR_MATCH_TYPE_ALL_CARDS, -}} -STRUCT!{struct READER_SEL_REQUEST_ReaderAndContainerParameter { - cbReaderNameOffset: DWORD, - cchReaderNameLength: DWORD, - cbContainerNameOffset: DWORD, - cchContainerNameLength: DWORD, - dwDesiredCardModuleVersion: DWORD, - dwCspFlags: DWORD, -}} -STRUCT!{struct READER_SEL_REQUEST_SerialNumberParameter { - cbSerialNumberOffset: DWORD, - cbSerialNumberLength: DWORD, - dwDesiredCardModuleVersion: DWORD, -}} -UNION!{union READER_SEL_REQUEST_u { - [u32; 6], - ReaderAndContainerParameter ReaderAndContainerParameter_mut: - READER_SEL_REQUEST_ReaderAndContainerParameter, - SerialNumberParameter SerialNumberParameter_mut: READER_SEL_REQUEST_SerialNumberParameter, -}} -STRUCT!{struct READER_SEL_REQUEST { - dwShareMode: DWORD, - dwPreferredProtocols: DWORD, - MatchType: READER_SEL_REQUEST_MATCH_TYPE, - u: READER_SEL_REQUEST_u, -}} -pub type PREADER_SEL_REQUEST = *mut READER_SEL_REQUEST; -STRUCT!{struct READER_SEL_RESPONSE { - cbReaderNameOffset: DWORD, - cchReaderNameLength: DWORD, - cbCardNameOffset: DWORD, - cchCardNameLength: DWORD, -}} -pub type PREADER_SEL_RESPONSE = *mut READER_SEL_RESPONSE; -STRUCT!{struct OPENCARDNAMEA { - dwStructSize: DWORD, - hwndOwner: HWND, - hSCardContext: SCARDCONTEXT, - lpstrGroupNames: LPSTR, - nMaxGroupNames: DWORD, - lpstrCardNames: LPSTR, - nMaxCardNames: DWORD, - rgguidInterfaces: LPCGUID, - cguidInterfaces: DWORD, - lpstrRdr: LPSTR, - nMaxRdr: DWORD, - lpstrCard: LPSTR, - nMaxCard: DWORD, - lpstrTitle: LPCSTR, - dwFlags: DWORD, - pvUserData: LPVOID, - dwShareMode: DWORD, - dwPreferredProtocols: DWORD, - dwActiveProtocol: DWORD, - lpfnConnect: LPOCNCONNPROCA, - lpfnCheck: LPOCNCHKPROC, - lpfnDisconnect: LPOCNDSCPROC, - hCardHandle: SCARDHANDLE, -}} -pub type POPENCARDNAMEA = *mut OPENCARDNAMEA; -pub type LPOPENCARDNAMEA = *mut OPENCARDNAMEA; -STRUCT!{struct OPENCARDNAMEW { - dwStructSize: DWORD, - hwndOwner: HWND, - hSCardContext: SCARDCONTEXT, - lpstrGroupNames: LPWSTR, - nMaxGroupNames: DWORD, - lpstrCardNames: LPWSTR, - nMaxCardNames: DWORD, - rgguidInterfaces: LPCGUID, - cguidInterfaces: DWORD, - lpstrRdr: LPWSTR, - nMaxRdr: DWORD, - lpstrCard: LPWSTR, - nMaxCard: DWORD, - lpstrTitle: LPCWSTR, - dwFlags: DWORD, - pvUserData: LPVOID, - dwShareMode: DWORD, - dwPreferredProtocols: DWORD, - dwActiveProtocol: DWORD, - lpfnConnect: LPOCNCONNPROCW, - lpfnCheck: LPOCNCHKPROC, - lpfnDisconnect: LPOCNDSCPROC, - hCardHandle: SCARDHANDLE, -}} -pub type POPENCARDNAMEW = *mut OPENCARDNAMEW; -pub type LPOPENCARDNAMEW = *mut OPENCARDNAMEW; -pub type OPENCARDNAME_A = OPENCARDNAMEA; -pub type OPENCARDNAME_W = OPENCARDNAMEW; -pub type POPENCARDNAME_A = POPENCARDNAMEA; -pub type POPENCARDNAME_W = POPENCARDNAMEW; -pub type LPOPENCARDNAME_A = LPOPENCARDNAMEA; -pub type LPOPENCARDNAME_W = LPOPENCARDNAMEW; -extern "system" { - pub fn SCardReadCacheA( - hContext: SCARDCONTEXT, - CardIdentifier: *mut UUID, - FreshnessCounter: DWORD, - LookupName: LPSTR, - Data: PBYTE, - DataLen: *mut DWORD, - ) -> LONG; - pub fn SCardReadCacheW( - hContext: SCARDCONTEXT, - CardIdentifier: *mut UUID, - FreshnessCounter: DWORD, - LookupName: LPWSTR, - Data: PBYTE, - DataLen: *mut DWORD, - ) -> LONG; - pub fn SCardWriteCacheA( - hContext: SCARDCONTEXT, - CardIdentifier: *mut UUID, - FreshnessCounter: DWORD, - LookupName: LPSTR, - Data: PBYTE, - DataLen: DWORD, - ) -> LONG; - pub fn SCardWriteCacheW( - hContext: SCARDCONTEXT, - CardIdentifier: *mut UUID, - FreshnessCounter: DWORD, - LookupName: LPWSTR, - Data: PBYTE, - DataLen: DWORD, - ) -> LONG; - pub fn SCardGetReaderIconA( - hContext: SCARDCONTEXT, - szReaderName: LPCSTR, - pbIcon: LPBYTE, - pcbIcon: LPDWORD, - ) -> LONG; - pub fn SCardGetReaderIconW( - hContext: SCARDCONTEXT, - szReaderName: LPCWSTR, - pbIcon: LPBYTE, - pcbIcon: LPDWORD, - ) -> LONG; - pub fn SCardGetDeviceTypeIdA( - hContext: SCARDCONTEXT, - szReaderName: LPCSTR, - pdwDeviceTypeId: LPDWORD, - ) -> LONG; - pub fn SCardGetDeviceTypeIdW( - hContext: SCARDCONTEXT, - szReaderName: LPCWSTR, - pdwDeviceTypeId: LPDWORD, - ) -> LONG; - pub fn SCardGetReaderDeviceInstanceIdA( - hContext: SCARDCONTEXT, - szReaderName: LPCSTR, - szDeviceInstanceId: LPSTR, - pcchDeviceInstanceId: LPDWORD, - ) -> LONG; - pub fn SCardGetReaderDeviceInstanceIdW( - hContext: SCARDCONTEXT, - szReaderName: LPCWSTR, - szDeviceInstanceId: LPWSTR, - pcchDeviceInstanceId: LPDWORD, - ) -> LONG; - pub fn SCardListReadersWithDeviceInstanceIdA( - hContext: SCARDCONTEXT, - szDeviceInstanceId: LPCSTR, - mszReaders: LPSTR, - pcchReaders: LPDWORD, - ) -> LONG; - pub fn SCardListReadersWithDeviceInstanceIdW( - hContext: SCARDCONTEXT, - szDeviceInstanceId: LPCWSTR, - mszReaders: LPWSTR, - pcchReaders: LPDWORD, - ) -> LONG; -} -pub const SCARD_AUDIT_CHV_FAILURE: DWORD = 0x0; -pub const SCARD_AUDIT_CHV_SUCCESS: DWORD = 0x1; -extern "system" { - pub fn SCardAudit( - hContext: SCARDCONTEXT, - dwEvent: DWORD, - ) -> LONG; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/winsmcrd.rs b/vendor/registry-40351f815f426200/winapi/src/um/winsmcrd.rs deleted file mode 100644 index 227bf7b40..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/winsmcrd.rs +++ /dev/null @@ -1,166 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Smart Card class/port IOCTL codes. -use shared::minwindef::{BYTE, DWORD, ULONG, WORD}; -use um::winioctl::{FILE_ANY_ACCESS, FILE_DEVICE_SMARTCARD, METHOD_BUFFERED}; -pub type UWORD = WORD; -DEFINE_GUID!{GUID_DEVINTERFACE_SMARTCARD_READER, - 0x50DD5230, 0xBA8A, 0x11D1, 0xBF, 0x5D, 0x00, 0x00, 0xF8, 0x05, 0xF5, 0x30} -pub const SCARD_ATR_LENGTHL: DWORD = 33; -pub const SCARD_PROTOCOL_UNDEFINED: DWORD = 0x00000000; -pub const SCARD_PROTOCOL_T0: DWORD = 0x00000001; -pub const SCARD_PROTOCOL_T1: DWORD = 0x00000002; -pub const SCARD_PROTOCOL_RAW: DWORD = 0x00010000; -pub const SCARD_PROTOCOL_Tx: DWORD = SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1; -pub const SCARD_PROTOCOL_DEFAULT: DWORD = 0x80000000; -pub const SCARD_PROTOCOL_OPTIMAL: DWORD = 0x00000000; -pub const SCARD_POWER_DOWN: DWORD = 0; -pub const SCARD_COLD_RESET: DWORD = 1; -pub const SCARD_WARM_RESET: DWORD = 2; -pub const IOCTL_SMARTCARD_POWER: DWORD = CTL_CODE!(FILE_DEVICE_SMARTCARD, 1, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const IOCTL_SMARTCARD_GET_ATTRIBUTE: DWORD = CTL_CODE!(FILE_DEVICE_SMARTCARD, 2, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_SMARTCARD_SET_ATTRIBUTE: DWORD = CTL_CODE!(FILE_DEVICE_SMARTCARD, 3, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_SMARTCARD_CONFISCATE: DWORD = CTL_CODE!(FILE_DEVICE_SMARTCARD, 4, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_SMARTCARD_TRANSMIT: DWORD = CTL_CODE!(FILE_DEVICE_SMARTCARD, 5, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_SMARTCARD_EJECT: DWORD = CTL_CODE!(FILE_DEVICE_SMARTCARD, 6, METHOD_BUFFERED, - FILE_ANY_ACCESS); -pub const IOCTL_SMARTCARD_SWALLOW: DWORD = CTL_CODE!(FILE_DEVICE_SMARTCARD, 7, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_SMARTCARD_IS_PRESENT: DWORD = CTL_CODE!(FILE_DEVICE_SMARTCARD, 10, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_SMARTCARD_IS_ABSENT: DWORD = CTL_CODE!(FILE_DEVICE_SMARTCARD, 11, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_SMARTCARD_SET_PROTOCOL: DWORD = CTL_CODE!(FILE_DEVICE_SMARTCARD, 12, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_SMARTCARD_GET_STATE: DWORD = CTL_CODE!(FILE_DEVICE_SMARTCARD, 14, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_SMARTCARD_GET_LAST_ERROR: DWORD = CTL_CODE!(FILE_DEVICE_SMARTCARD, 15, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const IOCTL_SMARTCARD_GET_PERF_CNTR: DWORD = CTL_CODE!(FILE_DEVICE_SMARTCARD, 16, - METHOD_BUFFERED, FILE_ANY_ACCESS); -pub const MAXIMUM_ATTR_STRING_LENGTH: DWORD = 32; -pub const MAXIMUM_SMARTCARD_READERS: DWORD = 10; -pub const SCARD_CLASS_VENDOR_INFO: ULONG = 1; -pub const SCARD_CLASS_COMMUNICATIONS: ULONG = 2; -pub const SCARD_CLASS_PROTOCOL: ULONG = 3; -pub const SCARD_CLASS_POWER_MGMT: ULONG = 4; -pub const SCARD_CLASS_SECURITY: ULONG = 5; -pub const SCARD_CLASS_MECHANICAL: ULONG = 6; -pub const SCARD_CLASS_VENDOR_DEFINED: ULONG = 7; -pub const SCARD_CLASS_IFD_PROTOCOL: ULONG = 8; -pub const SCARD_CLASS_ICC_STATE: ULONG = 9; -pub const SCARD_CLASS_PERF: ULONG = 0x7ffe; -pub const SCARD_CLASS_SYSTEM: ULONG = 0x7fff; -pub const SCARD_ATTR_VENDOR_NAME: ULONG = SCARD_CLASS_VENDOR_INFO << 16 | 0x0100; -pub const SCARD_ATTR_VENDOR_IFD_TYPE: ULONG = SCARD_CLASS_VENDOR_INFO << 16 | 0x0101; -pub const SCARD_ATTR_VENDOR_IFD_VERSION: ULONG = SCARD_CLASS_VENDOR_INFO << 16 | 0x0102; -pub const SCARD_ATTR_VENDOR_IFD_SERIAL_NO: ULONG = SCARD_CLASS_VENDOR_INFO << 16 | 0x0103; -pub const SCARD_ATTR_CHANNEL_ID: ULONG = SCARD_CLASS_COMMUNICATIONS << 16 | 0x0110; -pub const SCARD_ATTR_PROTOCOL_TYPES: ULONG = SCARD_CLASS_PROTOCOL << 16 | 0x0120; -pub const SCARD_ATTR_DEFAULT_CLK: ULONG = SCARD_CLASS_PROTOCOL << 16 | 0x0121; -pub const SCARD_ATTR_MAX_CLK: ULONG = SCARD_CLASS_PROTOCOL << 16 | 0x0122; -pub const SCARD_ATTR_DEFAULT_DATA_RATE: ULONG = SCARD_CLASS_PROTOCOL << 16 | 0x0123; -pub const SCARD_ATTR_MAX_DATA_RATE: ULONG = SCARD_CLASS_PROTOCOL << 16 | 0x0124; -pub const SCARD_ATTR_MAX_IFSD: ULONG = SCARD_CLASS_PROTOCOL << 16 | 0x0125; -pub const SCARD_ATTR_POWER_MGMT_SUPPORT: ULONG = SCARD_CLASS_POWER_MGMT << 16 | 0x0131; -pub const SCARD_ATTR_USER_TO_CARD_AUTH_DEVICE: ULONG = SCARD_CLASS_SECURITY << 16 | 0x0140; -pub const SCARD_ATTR_USER_AUTH_INPUT_DEVICE: ULONG = SCARD_CLASS_SECURITY << 16 | 0x0142; -pub const SCARD_ATTR_CHARACTERISTICS: ULONG = SCARD_CLASS_MECHANICAL << 16 | 0x0150; -pub const SCARD_ATTR_CURRENT_PROTOCOL_TYPE: ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x0201; -pub const SCARD_ATTR_CURRENT_CLK: ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x0202; -pub const SCARD_ATTR_CURRENT_F: ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x0203; -pub const SCARD_ATTR_CURRENT_D: ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x0204; -pub const SCARD_ATTR_CURRENT_N: ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x0205; -pub const SCARD_ATTR_CURRENT_W: ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x0206; -pub const SCARD_ATTR_CURRENT_IFSC: ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x0207; -pub const SCARD_ATTR_CURRENT_IFSD: ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x0208; -pub const SCARD_ATTR_CURRENT_BWT: ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x0209; -pub const SCARD_ATTR_CURRENT_CWT: ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x020a; -pub const SCARD_ATTR_CURRENT_EBC_ENCODING: ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x020b; -pub const SCARD_ATTR_EXTENDED_BWT: ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x020c; -pub const SCARD_ATTR_ICC_PRESENCE: ULONG = SCARD_CLASS_ICC_STATE << 16 | 0x0300; -pub const SCARD_ATTR_ICC_INTERFACE_STATUS: ULONG = SCARD_CLASS_ICC_STATE << 16 | 0x0301; -pub const SCARD_ATTR_CURRENT_IO_STATE: ULONG = SCARD_CLASS_ICC_STATE << 16 | 0x0302; -pub const SCARD_ATTR_ATR_STRING: ULONG = SCARD_CLASS_ICC_STATE << 16 | 0x0303; -pub const SCARD_ATTR_ICC_TYPE_PER_ATR: ULONG = SCARD_CLASS_ICC_STATE << 16 | 0x0304; -pub const SCARD_ATTR_ESC_RESET: ULONG = SCARD_CLASS_VENDOR_DEFINED << 16 | 0xA000; -pub const SCARD_ATTR_ESC_CANCEL: ULONG = SCARD_CLASS_VENDOR_DEFINED << 16 | 0xA003; -pub const SCARD_ATTR_ESC_AUTHREQUEST: ULONG = SCARD_CLASS_VENDOR_DEFINED << 16 | 0xA005; -pub const SCARD_ATTR_MAXINPUT: ULONG = SCARD_CLASS_VENDOR_DEFINED << 16 | 0xA007; -pub const SCARD_ATTR_DEVICE_UNIT: ULONG = SCARD_CLASS_SYSTEM << 16 | 0x0001; -pub const SCARD_ATTR_DEVICE_IN_USE: ULONG = SCARD_CLASS_SYSTEM << 16 | 0x0002; -pub const SCARD_ATTR_DEVICE_FRIENDLY_NAME_A: ULONG = SCARD_CLASS_SYSTEM << 16 | 0x0003; -pub const SCARD_ATTR_DEVICE_SYSTEM_NAME_A: ULONG = SCARD_CLASS_SYSTEM << 16 | 0x0004; -pub const SCARD_ATTR_DEVICE_FRIENDLY_NAME_W: ULONG = SCARD_CLASS_SYSTEM << 16 | 0x0005; -pub const SCARD_ATTR_DEVICE_SYSTEM_NAME_W: ULONG = SCARD_CLASS_SYSTEM << 16 | 0x0006; -pub const SCARD_ATTR_SUPRESS_T1_IFS_REQUEST: ULONG = SCARD_CLASS_SYSTEM << 16 | 0x0007; -pub const SCARD_PERF_NUM_TRANSMISSIONS: ULONG = SCARD_CLASS_PERF << 16 | 0x0001; -pub const SCARD_PERF_BYTES_TRANSMITTED: ULONG = SCARD_CLASS_PERF << 16 | 0x0002; -pub const SCARD_PERF_TRANSMISSION_TIME: ULONG = SCARD_CLASS_PERF << 16 | 0x0003; -pub const SCARD_T0_HEADER_LENGTH: DWORD = 7; -pub const SCARD_T0_CMD_LENGTH: DWORD = 5; -pub const SCARD_T1_PROLOGUE_LENGTH: DWORD = 3; -pub const SCARD_T1_EPILOGUE_LENGTH: DWORD = 2; -pub const SCARD_T1_MAX_IFS: DWORD = 254; -pub const SCARD_UNKNOWN: ULONG = 0; -pub const SCARD_ABSENT: ULONG = 1; -pub const SCARD_PRESENT: ULONG = 2; -pub const SCARD_SWALLOWED: ULONG = 3; -pub const SCARD_POWERED: ULONG = 4; -pub const SCARD_NEGOTIABLE: ULONG = 5; -pub const SCARD_SPECIFIC: ULONG = 6; -STRUCT!{struct SCARD_IO_REQUEST { - dwProtocol: DWORD, - cbPciLength: DWORD, -}} -pub type PSCARD_IO_REQUEST = *mut SCARD_IO_REQUEST; -pub type LPSCARD_IO_REQUEST = *mut SCARD_IO_REQUEST; -pub type LPCSCARD_IO_REQUEST = *const SCARD_IO_REQUEST; -STRUCT!{struct SCARD_T0_COMMAND { - bCla: BYTE, - bIns: BYTE, - bP1: BYTE, - bP2: BYTE, - bP3: BYTE, -}} -pub type LPSCARD_T0_COMMAND = *mut SCARD_T0_COMMAND; -UNION!{union SCARD_T0_REQUEST_u { - [u8; 5], - CmdBytes CmdBytes_mut: SCARD_T0_COMMAND, - rgbHeader rgbHeader_mut: [BYTE; 5], -}} -STRUCT!{struct SCARD_T0_REQUEST { - ioRequest: SCARD_IO_REQUEST, - bSw1: BYTE, - bSw2: BYTE, - u: SCARD_T0_REQUEST_u, -}} -pub type PSCARD_T0_REQUEST = *mut SCARD_T0_REQUEST; -pub type LPSCARD_T0_REQUEST = *mut SCARD_T0_REQUEST; -STRUCT!{struct SCARD_T1_REQUEST { - ioRequest: SCARD_IO_REQUEST, -}} -pub type PSCARD_T1_REQUEST = *mut SCARD_T1_REQUEST; -pub type LPSCARD_T1_REQUEST = *mut SCARD_T1_REQUEST; -pub const SCARD_READER_SWALLOWS: ULONG = 0x00000001; -pub const SCARD_READER_EJECTS: ULONG = 0x00000002; -pub const SCARD_READER_CONFISCATES: ULONG = 0x00000004; -pub const SCARD_READER_TYPE_SERIAL: ULONG = 0x01; -pub const SCARD_READER_TYPE_PARALELL: ULONG = 0x02; -pub const SCARD_READER_TYPE_KEYBOARD: ULONG = 0x04; -pub const SCARD_READER_TYPE_SCSI: ULONG = 0x08; -pub const SCARD_READER_TYPE_IDE: ULONG = 0x10; -pub const SCARD_READER_TYPE_USB: ULONG = 0x20; -pub const SCARD_READER_TYPE_PCMCIA: ULONG = 0x40; -pub const SCARD_READER_TYPE_TPM: ULONG = 0x80; -pub const SCARD_READER_TYPE_NFC: ULONG = 0x100; -pub const SCARD_READER_TYPE_UICC: ULONG = 0x200; -pub const SCARD_READER_TYPE_VENDOR: ULONG = 0xF0; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/winsock2.rs b/vendor/registry-40351f815f426200/winapi/src/um/winsock2.rs deleted file mode 100644 index a8327e3bb..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/winsock2.rs +++ /dev/null @@ -1,1450 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Definitions to be used with the WinSock 2 DLL and WinSock 2 applications. -use ctypes::{ - __uint32, __uint64, c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, - c_ulong, c_ushort, -}; -use shared::basetsd::{DWORD_PTR, UINT_PTR, ULONG_PTR}; -use shared::guiddef::{GUID, LPGUID}; -use shared::inaddr::in_addr; -use shared::minwindef::{ - BOOL, DWORD, FARPROC, HIWORD, INT, LOWORD, LPDWORD, LPHANDLE, LPINT, LPVOID, MAKELONG, UINT, - ULONG, WORD, WPARAM, -}; -use shared::qos::FLOWSPEC; -use shared::windef::HWND; -use shared::winerror::{ - ERROR_INVALID_HANDLE, ERROR_INVALID_PARAMETER, ERROR_IO_INCOMPLETE, ERROR_IO_PENDING, - ERROR_NOT_ENOUGH_MEMORY, ERROR_OPERATION_ABORTED, WAIT_TIMEOUT, -}; -use shared::ws2def::{ - AF_APPLETALK, AF_ATM, AF_BAN, AF_BTH, AF_CCITT, AF_CHAOS, AF_DATAKIT, AF_DECnet, AF_DLI, - AF_ECMA, AF_FIREFOX, AF_HYLINK, AF_IMPLINK, AF_INET, AF_INET6, AF_IPX, AF_ISO, AF_LAT, - AF_MAX, AF_NS, AF_OSI, AF_PUP, AF_SNA, AF_UNIX, AF_UNKNOWN1, AF_UNSPEC, AF_VOICEVIEW, - INADDR_ANY, LPCSADDR_INFO, LPSOCKADDR, LPWSABUF, LPWSAMSG, PSOCKET_ADDRESS_LIST, SOCKADDR, - SOCKADDR_IN, WSABUF, -}; -use shared::wtypesbase::{BLOB, LPBLOB}; -use um::minwinbase::OVERLAPPED; -use um::winbase::{INFINITE, WAIT_FAILED, WAIT_IO_COMPLETION, WAIT_OBJECT_0}; -use um::winnt::{ - CHAR, HANDLE, LONG, LPCSTR, LPSTR, LPWSTR, MAXIMUM_WAIT_OBJECTS, PWSTR, SHORT, WCHAR, -}; -pub const WINSOCK_VERSION: WORD = 2 | (2 << 8); -pub type u_char = c_uchar; -pub type u_short = c_ushort; -pub type u_int = c_uint; -pub type u_long = c_ulong; -pub type u_int64 = __uint64; -pub type SOCKET = UINT_PTR; -pub const FD_SETSIZE: usize = 64; -STRUCT!{struct fd_set { - fd_count: u_int, - fd_array: [SOCKET; FD_SETSIZE], -}} -extern "system" { - pub fn __WSAFDIsSet( - fd: SOCKET, - _: *mut fd_set, - ) -> c_int; -} -STRUCT!{struct timeval { - tv_sec: c_long, - tv_usec: c_long, -}} -pub const IOCPARM_MASK: c_long = 0x7f; -pub const IOC_VOID: c_long = 0x20000000; -pub const IOC_OUT: c_long = 0x40000000; -pub const IOC_IN: c_long = 0x80000000; -pub const IOC_INOUT: c_long = IOC_IN | IOC_OUT; -pub const FIONREAD: c_long = IOC_OUT | ((4 & IOCPARM_MASK) << 16) | (0x66 << 8) | 127; -pub const FIONBIO: c_long = IOC_IN | ((4 & IOCPARM_MASK) << 16) | (0x66 << 8) | 126; -pub const FIOASYNC: c_long = IOC_IN | ((4 & IOCPARM_MASK) << 16) | (0x66 << 8) | 125; -pub const SIOCSHIWAT: c_long = IOC_IN | ((4 & IOCPARM_MASK) << 16) | (0x73 << 8) | 0; -pub const SIOCGHIWAT: c_long = IOC_OUT | ((4 & IOCPARM_MASK) << 16) | (0x73 << 8) | 1; -pub const SIOCSLOWAT: c_long = IOC_IN | ((4 & IOCPARM_MASK) << 16) | (0x73 << 8) | 2; -pub const SIOCGLOWAT: c_long = IOC_OUT | ((4 & IOCPARM_MASK) << 16) | (0x73 << 8) | 3; -pub const SIOCATMARK: c_long = IOC_OUT | ((4 & IOCPARM_MASK) << 16) | (0x73 << 8) | 7; -STRUCT!{struct hostent { - h_name: *mut c_char, - h_aliases: *mut *mut c_char, - h_addrtype: c_short, - h_length: c_short, - h_addr_list: *mut *mut c_char, -}} -STRUCT!{struct netent { - n_name: *mut c_char, - n_aliases: *mut *mut c_char, - n_addrtype: c_short, - n_net: u_long, -}} -#[cfg(target_arch = "x86")] -STRUCT!{struct servent { - s_name: *mut c_char, - s_aliases: *mut *mut c_char, - s_port: c_short, - s_proto: *mut c_char, -}} -#[cfg(target_pointer_width = "64")] -STRUCT!{struct servent { - s_name: *mut c_char, - s_aliases: *mut *mut c_char, - s_proto: *mut c_char, - s_port: c_short, -}} -STRUCT!{struct protoent { - p_name: *mut c_char, - p_aliases: *mut *mut c_char, - p_proto: c_short, -}} -pub const IPPORT_ECHO: c_short = 7; -pub const IPPORT_DISCARD: c_short = 9; -pub const IPPORT_SYSTAT: c_short = 11; -pub const IPPORT_DAYTIME: c_short = 13; -pub const IPPORT_NETSTAT: c_short = 15; -pub const IPPORT_FTP: c_short = 21; -pub const IPPORT_TELNET: c_short = 23; -pub const IPPORT_SMTP: c_short = 25; -pub const IPPORT_TIMESERVER: c_short = 37; -pub const IPPORT_NAMESERVER: c_short = 42; -pub const IPPORT_WHOIS: c_short = 43; -pub const IPPORT_MTP: c_short = 57; -pub const IPPORT_TFTP: c_short = 69; -pub const IPPORT_RJE: c_short = 77; -pub const IPPORT_FINGER: c_short = 79; -pub const IPPORT_TTYLINK: c_short = 87; -pub const IPPORT_SUPDUP: c_short = 95; -pub const IPPORT_EXECSERVER: c_short = 512; -pub const IPPORT_LOGINSERVER: c_short = 513; -pub const IPPORT_CMDSERVER: c_short = 514; -pub const IPPORT_EFSSERVER: c_short = 520; -pub const IPPORT_BIFFUDP: c_short = 512; -pub const IPPORT_WHOSERVER: c_short = 513; -pub const IPPORT_ROUTESERVER: c_short = 520; -pub const IPPORT_RESERVED: c_short = 1024; -pub const IMPLINK_IP: c_short = 155; -pub const IMPLINK_LOWEXPER: c_short = 156; -pub const IMPLINK_HIGHEXPER: c_short = 158; -pub const ADDR_ANY: ULONG = INADDR_ANY; -pub const WSADESCRIPTION_LEN: usize = 256; -pub const WSASYS_STATUS_LEN: usize = 128; -#[cfg(target_arch = "x86")] -STRUCT!{struct WSADATA { - wVersion: WORD, - wHighVersion: WORD, - szDescription: [c_char; WSADESCRIPTION_LEN + 1], - szSystemStatus: [c_char; WSASYS_STATUS_LEN + 1], - iMaxSockets: c_ushort, - iMaxUdpDg: c_ushort, - lpVendorInfo: *mut c_char, -}} -#[cfg(target_pointer_width = "64")] -STRUCT!{struct WSADATA { - wVersion: WORD, - wHighVersion: WORD, - iMaxSockets: c_ushort, - iMaxUdpDg: c_ushort, - lpVendorInfo: *mut c_char, - szDescription: [c_char; WSADESCRIPTION_LEN + 1], - szSystemStatus: [c_char; WSASYS_STATUS_LEN + 1], -}} -pub type LPWSADATA = *mut WSADATA; -pub const INVALID_SOCKET: SOCKET = !0; -pub const SOCKET_ERROR: c_int = -1; -pub const FROM_PROTOCOL_INFO: c_int = -1; -pub const SOCK_STREAM: c_int = 1; -pub const SOCK_DGRAM: c_int = 2; -pub const SOCK_RAW: c_int = 3; -pub const SOCK_RDM: c_int = 4; -pub const SOCK_SEQPACKET: c_int = 5; -pub const SO_DEBUG: c_int = 0x0001; -pub const SO_ACCEPTCONN: c_int = 0x0002; -pub const SO_REUSEADDR: c_int = 0x0004; -pub const SO_KEEPALIVE: c_int = 0x0008; -pub const SO_DONTROUTE: c_int = 0x0010; -pub const SO_BROADCAST: c_int = 0x0020; -pub const SO_USELOOPBACK: c_int = 0x0040; -pub const SO_LINGER: c_int = 0x0080; -pub const SO_OOBINLINE: c_int = 0x0100; -pub const SO_DONTLINGER: c_int = !SO_LINGER; -pub const SO_EXCLUSIVEADDRUSE: c_int = !SO_REUSEADDR; -pub const SO_SNDBUF: c_int = 0x1001; -pub const SO_RCVBUF: c_int = 0x1002; -pub const SO_SNDLOWAT: c_int = 0x1003; -pub const SO_RCVLOWAT: c_int = 0x1004; -pub const SO_SNDTIMEO: c_int = 0x1005; -pub const SO_RCVTIMEO: c_int = 0x1006; -pub const SO_ERROR: c_int = 0x1007; -pub const SO_TYPE: c_int = 0x1008; -pub const SO_GROUP_ID: c_int = 0x2001; -pub const SO_GROUP_PRIORITY: c_int = 0x2002; -pub const SO_MAX_MSG_SIZE: c_int = 0x2003; -pub const SO_PROTOCOL_INFOA: c_int = 0x2004; -pub const SO_PROTOCOL_INFOW: c_int = 0x2005; -pub const PVD_CONFIG: c_int = 0x3001; -pub const SO_CONDITIONAL_ACCEPT: c_int = 0x3002; -STRUCT!{struct sockproto { - sp_family: u_short, - sp_protocol: u_short, -}} -pub const PF_UNSPEC: c_int = AF_UNSPEC; -pub const PF_UNIX: c_int = AF_UNIX; -pub const PF_INET: c_int = AF_INET; -pub const PF_IMPLINK: c_int = AF_IMPLINK; -pub const PF_PUP: c_int = AF_PUP; -pub const PF_CHAOS: c_int = AF_CHAOS; -pub const PF_NS: c_int = AF_NS; -pub const PF_IPX: c_int = AF_IPX; -pub const PF_ISO: c_int = AF_ISO; -pub const PF_OSI: c_int = AF_OSI; -pub const PF_ECMA: c_int = AF_ECMA; -pub const PF_DATAKIT: c_int = AF_DATAKIT; -pub const PF_CCITT: c_int = AF_CCITT; -pub const PF_SNA: c_int = AF_SNA; -pub const PF_DECnet: c_int = AF_DECnet; -pub const PF_DLI: c_int = AF_DLI; -pub const PF_LAT: c_int = AF_LAT; -pub const PF_HYLINK: c_int = AF_HYLINK; -pub const PF_APPLETALK: c_int = AF_APPLETALK; -pub const PF_VOICEVIEW: c_int = AF_VOICEVIEW; -pub const PF_FIREFOX: c_int = AF_FIREFOX; -pub const PF_UNKNOWN1: c_int = AF_UNKNOWN1; -pub const PF_BAN: c_int = AF_BAN; -pub const PF_ATM: c_int = AF_ATM; -pub const PF_INET6: c_int = AF_INET6; -pub const PF_BTH: c_int = AF_BTH; -pub const PF_MAX: c_int = AF_MAX; -STRUCT!{struct linger { - l_onoff: u_short, - l_linger: u_short, -}} -pub const SOL_SOCKET: c_int = 0xffff; -pub const SOMAXCONN: c_int = 0x7fffffff; -#[inline] -pub fn SOMAXCONN_HINT(b: c_int) -> c_int { - -b -} -pub const MSG_OOB: c_int = 0x1; -pub const MSG_PEEK: c_int = 0x2; -pub const MSG_DONTROUTE: c_int = 0x4; -pub const MSG_WAITALL: c_int = 0x8; -pub const MSG_PUSH_IMMEDIATE: c_int = 0x20; -pub const MSG_PARTIAL: c_int = 0x8000; -pub const MSG_INTERRUPT: c_int = 0x10; -pub const MSG_MAXIOVLEN: c_int = 16; -pub const MAXGETHOSTSTRUCT: usize = 1024; -pub const FD_READ_BIT: c_long = 0; -pub const FD_READ: c_long = 1 << FD_READ_BIT; -pub const FD_WRITE_BIT: c_long = 1; -pub const FD_WRITE: c_long = 1 << FD_WRITE_BIT; -pub const FD_OOB_BIT: c_long = 2; -pub const FD_OOB: c_long = 1 << FD_OOB_BIT; -pub const FD_ACCEPT_BIT: c_long = 3; -pub const FD_ACCEPT: c_long = 1 << FD_ACCEPT_BIT; -pub const FD_CONNECT_BIT: c_long = 4; -pub const FD_CONNECT: c_long = 1 << FD_CONNECT_BIT; -pub const FD_CLOSE_BIT: c_long = 5; -pub const FD_CLOSE: c_long = 1 << FD_CLOSE_BIT; -pub const FD_QOS_BIT: c_long = 6; -pub const FD_QOS: c_long = 1 << FD_QOS_BIT; -pub const FD_GROUP_QOS_BIT: c_long = 7; -pub const FD_GROUP_QOS: c_long = 1 << FD_GROUP_QOS_BIT; -pub const FD_ROUTING_INTERFACE_CHANGE_BIT: c_long = 8; -pub const FD_ROUTING_INTERFACE_CHANGE: c_long = 1 << FD_ROUTING_INTERFACE_CHANGE_BIT; -pub const FD_ADDRESS_LIST_CHANGE_BIT: c_long = 9; -pub const FD_ADDRESS_LIST_CHANGE: c_long = 1 << FD_ADDRESS_LIST_CHANGE_BIT; -pub const FD_MAX_EVENTS: usize = 10; -pub const FD_ALL_EVENTS: c_long = (1 << FD_MAX_EVENTS) - 1; -pub const WSABASEERR: c_int = 10000; -pub const WSAEINTR: c_int = WSABASEERR+4; -pub const WSAEBADF: c_int = WSABASEERR+9; -pub const WSAEACCES: c_int = WSABASEERR+13; -pub const WSAEFAULT: c_int = WSABASEERR+14; -pub const WSAEINVAL: c_int = WSABASEERR+22; -pub const WSAEMFILE: c_int = WSABASEERR+24; -pub const WSAEWOULDBLOCK: c_int = WSABASEERR+35; -pub const WSAEINPROGRESS: c_int = WSABASEERR+36; -pub const WSAEALREADY: c_int = WSABASEERR+37; -pub const WSAENOTSOCK: c_int = WSABASEERR+38; -pub const WSAEDESTADDRREQ: c_int = WSABASEERR+39; -pub const WSAEMSGSIZE: c_int = WSABASEERR+40; -pub const WSAEPROTOTYPE: c_int = WSABASEERR+41; -pub const WSAENOPROTOOPT: c_int = WSABASEERR+42; -pub const WSAEPROTONOSUPPORT: c_int = WSABASEERR+43; -pub const WSAESOCKTNOSUPPORT: c_int = WSABASEERR+44; -pub const WSAEOPNOTSUPP: c_int = WSABASEERR+45; -pub const WSAEPFNOSUPPORT: c_int = WSABASEERR+46; -pub const WSAEAFNOSUPPORT: c_int = WSABASEERR+47; -pub const WSAEADDRINUSE: c_int = WSABASEERR+48; -pub const WSAEADDRNOTAVAIL: c_int = WSABASEERR+49; -pub const WSAENETDOWN: c_int = WSABASEERR+50; -pub const WSAENETUNREACH: c_int = WSABASEERR+51; -pub const WSAENETRESET: c_int = WSABASEERR+52; -pub const WSAECONNABORTED: c_int = WSABASEERR+53; -pub const WSAECONNRESET: c_int = WSABASEERR+54; -pub const WSAENOBUFS: c_int = WSABASEERR+55; -pub const WSAEISCONN: c_int = WSABASEERR+56; -pub const WSAENOTCONN: c_int = WSABASEERR+57; -pub const WSAESHUTDOWN: c_int = WSABASEERR+58; -pub const WSAETOOMANYREFS: c_int = WSABASEERR+59; -pub const WSAETIMEDOUT: c_int = WSABASEERR+60; -pub const WSAECONNREFUSED: c_int = WSABASEERR+61; -pub const WSAELOOP: c_int = WSABASEERR+62; -pub const WSAENAMETOOLONG: c_int = WSABASEERR+63; -pub const WSAEHOSTDOWN: c_int = WSABASEERR+64; -pub const WSAEHOSTUNREACH: c_int = WSABASEERR+65; -pub const WSAENOTEMPTY: c_int = WSABASEERR+66; -pub const WSAEPROCLIM: c_int = WSABASEERR+67; -pub const WSAEUSERS: c_int = WSABASEERR+68; -pub const WSAEDQUOT: c_int = WSABASEERR+69; -pub const WSAESTALE: c_int = WSABASEERR+70; -pub const WSAEREMOTE: c_int = WSABASEERR+71; -pub const WSASYSNOTREADY: c_int = WSABASEERR+91; -pub const WSAVERNOTSUPPORTED: c_int = WSABASEERR+92; -pub const WSANOTINITIALISED: c_int = WSABASEERR+93; -pub const WSAEDISCON: c_int = WSABASEERR+101; -pub const WSAENOMORE: c_int = WSABASEERR+102; -pub const WSAECANCELLED: c_int = WSABASEERR+103; -pub const WSAEINVALIDPROCTABLE: c_int = WSABASEERR+104; -pub const WSAEINVALIDPROVIDER: c_int = WSABASEERR+105; -pub const WSAEPROVIDERFAILEDINIT: c_int = WSABASEERR+106; -pub const WSASYSCALLFAILURE: c_int = WSABASEERR+107; -pub const WSASERVICE_NOT_FOUND: c_int = WSABASEERR+108; -pub const WSATYPE_NOT_FOUND: c_int = WSABASEERR+109; -pub const WSA_E_NO_MORE: c_int = WSABASEERR+110; -pub const WSA_E_CANCELLED: c_int = WSABASEERR+111; -pub const WSAEREFUSED: c_int = WSABASEERR+112; -pub const WSAHOST_NOT_FOUND: c_int = WSABASEERR+1001; -pub const WSATRY_AGAIN: c_int = WSABASEERR+1002; -pub const WSANO_RECOVERY: c_int = WSABASEERR+1003; -pub const WSANO_DATA: c_int = WSABASEERR+1004; -pub const WSA_QOS_RECEIVERS: c_int = WSABASEERR + 1005; -pub const WSA_QOS_SENDERS: c_int = WSABASEERR + 1006; -pub const WSA_QOS_NO_SENDERS: c_int = WSABASEERR + 1007; -pub const WSA_QOS_NO_RECEIVERS: c_int = WSABASEERR + 1008; -pub const WSA_QOS_REQUEST_CONFIRMED: c_int = WSABASEERR + 1009; -pub const WSA_QOS_ADMISSION_FAILURE: c_int = WSABASEERR + 1010; -pub const WSA_QOS_POLICY_FAILURE: c_int = WSABASEERR + 1011; -pub const WSA_QOS_BAD_STYLE: c_int = WSABASEERR + 1012; -pub const WSA_QOS_BAD_OBJECT: c_int = WSABASEERR + 1013; -pub const WSA_QOS_TRAFFIC_CTRL_ERROR: c_int = WSABASEERR + 1014; -pub const WSA_QOS_GENERIC_ERROR: c_int = WSABASEERR + 1015; -pub const WSA_QOS_ESERVICETYPE: c_int = WSABASEERR + 1016; -pub const WSA_QOS_EFLOWSPEC: c_int = WSABASEERR + 1017; -pub const WSA_QOS_EPROVSPECBUF: c_int = WSABASEERR + 1018; -pub const WSA_QOS_EFILTERSTYLE: c_int = WSABASEERR + 1019; -pub const WSA_QOS_EFILTERTYPE: c_int = WSABASEERR + 1020; -pub const WSA_QOS_EFILTERCOUNT: c_int = WSABASEERR + 1021; -pub const WSA_QOS_EOBJLENGTH: c_int = WSABASEERR + 1022; -pub const WSA_QOS_EFLOWCOUNT: c_int = WSABASEERR + 1023; -pub const WSA_QOS_EUNKOWNPSOBJ: c_int = WSABASEERR + 1024; -pub const WSA_QOS_EPOLICYOBJ: c_int = WSABASEERR + 1025; -pub const WSA_QOS_EFLOWDESC: c_int = WSABASEERR + 1026; -pub const WSA_QOS_EPSFLOWSPEC: c_int = WSABASEERR + 1027; -pub const WSA_QOS_EPSFILTERSPEC: c_int = WSABASEERR + 1028; -pub const WSA_QOS_ESDMODEOBJ: c_int = WSABASEERR + 1029; -pub const WSA_QOS_ESHAPERATEOBJ: c_int = WSABASEERR + 1030; -pub const WSA_QOS_RESERVED_PETYPE: c_int = WSABASEERR + 1031; -#[inline] -pub unsafe fn h_errno() -> c_int { - WSAGetLastError() -} -pub const HOST_NOT_FOUND: c_int = WSAHOST_NOT_FOUND; -pub const TRY_AGAIN: c_int = WSATRY_AGAIN; -pub const NO_RECOVERY: c_int = WSANO_RECOVERY; -pub const NO_DATA: c_int = WSANO_DATA; -pub const WSANO_ADDRESS: c_int = WSANO_DATA; -pub const NO_ADDRESS: c_int = WSANO_ADDRESS; -pub type WSAEVENT = HANDLE; -pub type LPWSAEVENT = LPHANDLE; -pub type WSAOVERLAPPED = OVERLAPPED; -pub type LPWSAOVERLAPPED = *mut OVERLAPPED; -pub const WSA_IO_PENDING: c_int = ERROR_IO_PENDING as i32; -pub const WSA_IO_INCOMPLETE: c_int = ERROR_IO_INCOMPLETE as i32; -pub const WSA_INVALID_HANDLE: c_int = ERROR_INVALID_HANDLE as i32; -pub const WSA_INVALID_PARAMETER: c_int = ERROR_INVALID_PARAMETER as i32; -pub const WSA_NOT_ENOUGH_MEMORY: c_int = ERROR_NOT_ENOUGH_MEMORY as i32; -pub const WSA_OPERATION_ABORTED: c_int = ERROR_OPERATION_ABORTED as i32; -pub const WSA_INVALID_EVENT: WSAEVENT = 0 as WSAEVENT; -pub const WSA_MAXIMUM_WAIT_EVENTS: DWORD = MAXIMUM_WAIT_OBJECTS; -pub const WSA_WAIT_FAILED: DWORD = WAIT_FAILED; -pub const WSA_WAIT_EVENT_0: DWORD = WAIT_OBJECT_0; -pub const WSA_WAIT_IO_COMPLETION: DWORD = WAIT_IO_COMPLETION; -pub const WSA_WAIT_TIMEOUT: DWORD = WAIT_TIMEOUT; -pub const WSA_INFINITE: DWORD = INFINITE; -STRUCT!{struct QOS { - SendingFlowspec: FLOWSPEC, - FLOWSPEC: FLOWSPEC, - ProviderSpecific: WSABUF, -}} -pub type LPQOS = *mut QOS; -pub const CF_ACCEPT: c_int = 0x0000; -pub const CF_REJECT: c_int = 0x0001; -pub const CF_DEFER: c_int = 0x0002; -pub const SD_RECEIVE: c_int = 0x00; -pub const SD_SEND: c_int = 0x01; -pub const SD_BOTH: c_int = 0x02; -pub type GROUP = c_uint; -pub const SG_UNCONSTRAINED_GROUP: GROUP = 0x01; -pub const SG_CONSTRAINED_GROUP: GROUP = 0x02; -STRUCT!{struct WSANETWORKEVENTS { - lNetworkEvents: c_long, - iErrorCode: [c_int; FD_MAX_EVENTS], -}} -pub type LPWSANETWORKEVENTS = *mut WSANETWORKEVENTS; -pub const MAX_PROTOCOL_CHAIN: usize = 7; -pub const BASE_PROTOCOL: c_int = 1; -pub const LAYERED_PROTOCOL: c_int = 0; -STRUCT!{struct WSAPROTOCOLCHAIN { - ChainLen: c_int, - ChainEntries: [DWORD; MAX_PROTOCOL_CHAIN], -}} -pub type LPWSAPROTOCOLCHAIN = *mut WSAPROTOCOLCHAIN; -pub const WSAPROTOCOL_LEN: usize = 255; -STRUCT!{struct WSAPROTOCOL_INFOA { - dwServiceFlags1: DWORD, - dwServiceFlags2: DWORD, - dwServiceFlags3: DWORD, - dwServiceFlags4: DWORD, - dwServiceFlags5: DWORD, - ProviderId: GUID, - dwCatalogEntryId: DWORD, - ProtocolChain: WSAPROTOCOLCHAIN, - iVersion: c_int, - iAddressFamily: c_int, - iMaxSockAddr: c_int, - iMinSockAddr: c_int, - iSocketType: c_int, - iProtocol: c_int, - iProtocolMaxOffset: c_int, - iNetworkByteOrder: c_int, - iSecurityScheme: c_int, - dwMessageSize: DWORD, - dwProviderReserved: DWORD, - szProtocol: [CHAR; WSAPROTOCOL_LEN + 1], -}} -pub type LPWSAPROTOCOL_INFOA = *mut WSAPROTOCOL_INFOA; -STRUCT!{struct WSAPROTOCOL_INFOW { - dwServiceFlags1: DWORD, - dwServiceFlags2: DWORD, - dwServiceFlags3: DWORD, - dwServiceFlags4: DWORD, - dwServiceFlags5: DWORD, - ProviderId: GUID, - dwCatalogEntryId: DWORD, - ProtocolChain: WSAPROTOCOLCHAIN, - iVersion: c_int, - iAddressFamily: c_int, - iMaxSockAddr: c_int, - iMinSockAddr: c_int, - iSocketType: c_int, - iProtocol: c_int, - iProtocolMaxOffset: c_int, - iNetworkByteOrder: c_int, - iSecurityScheme: c_int, - dwMessageSize: DWORD, - dwProviderReserved: DWORD, - szProtocol: [WCHAR; WSAPROTOCOL_LEN + 1], -}} -pub type LPWSAPROTOCOL_INFOW = *mut WSAPROTOCOL_INFOW; -pub const PFL_MULTIPLE_PROTO_ENTRIES: DWORD = 0x00000001; -pub const PFL_RECOMMENDED_PROTO_ENTRY: DWORD = 0x00000002; -pub const PFL_HIDDEN: DWORD = 0x00000004; -pub const PFL_MATCHES_PROTOCOL_ZERO: DWORD = 0x00000008; -pub const PFL_NETWORKDIRECT_PROVIDER: DWORD = 0x00000010; -pub const XP1_CONNECTIONLESS: DWORD = 0x00000001; -pub const XP1_GUARANTEED_DELIVERY: DWORD = 0x00000002; -pub const XP1_GUARANTEED_ORDER: DWORD = 0x00000004; -pub const XP1_MESSAGE_ORIENTED: DWORD = 0x00000008; -pub const XP1_PSEUDO_STREAM: DWORD = 0x00000010; -pub const XP1_GRACEFUL_CLOSE: DWORD = 0x00000020; -pub const XP1_EXPEDITED_DATA: DWORD = 0x00000040; -pub const XP1_CONNECT_DATA: DWORD = 0x00000080; -pub const XP1_DISCONNECT_DATA: DWORD = 0x00000100; -pub const XP1_SUPPORT_BROADCAST: DWORD = 0x00000200; -pub const XP1_SUPPORT_MULTIPOINT: DWORD = 0x00000400; -pub const XP1_MULTIPOINT_CONTROL_PLANE: DWORD = 0x00000800; -pub const XP1_MULTIPOINT_DATA_PLANE: DWORD = 0x00001000; -pub const XP1_QOS_SUPPORTED: DWORD = 0x00002000; -pub const XP1_INTERRUPT: DWORD = 0x00004000; -pub const XP1_UNI_SEND: DWORD = 0x00008000; -pub const XP1_UNI_RECV: DWORD = 0x00010000; -pub const XP1_IFS_HANDLES: DWORD = 0x00020000; -pub const XP1_PARTIAL_MESSAGE: DWORD = 0x00040000; -pub const XP1_SAN_SUPPORT_SDP: DWORD = 0x00080000; -pub const BIGENDIAN: DWORD = 0x0000; -pub const LITTLEENDIAN: DWORD = 0x0001; -pub const SECURITY_PROTOCOL_NONE: DWORD = 0x0000; -pub const JL_SENDER_ONLY: DWORD = 0x01; -pub const JL_RECEIVER_ONLY: DWORD = 0x02; -pub const JL_BOTH: DWORD = 0x04; -pub const WSA_FLAG_OVERLAPPED: DWORD = 0x01; -pub const WSA_FLAG_MULTIPOINT_C_ROOT: DWORD = 0x02; -pub const WSA_FLAG_MULTIPOINT_C_LEAF: DWORD = 0x04; -pub const WSA_FLAG_MULTIPOINT_D_ROOT: DWORD = 0x08; -pub const WSA_FLAG_MULTIPOINT_D_LEAF: DWORD = 0x10; -pub const WSA_FLAG_ACCESS_SYSTEM_SECURITY: DWORD = 0x40; -pub const WSA_FLAG_NO_HANDLE_INHERIT: DWORD = 0x80; -pub const WSA_FLAG_REGISTERED_IO: DWORD = 0x100; -FN!{stdcall LPCONDITIONPROC( - lpCallerId: LPWSABUF, - lpCallerData: LPWSABUF, - lpSQOS: LPQOS, - lpGQOS: LPQOS, - lpCalleeId: LPWSABUF, - lpCalleeData: LPWSABUF, - g: *mut GROUP, - dwCallbackData: DWORD, -) -> c_int} -FN!{stdcall LPWSAOVERLAPPED_COMPLETION_ROUTINE( - dwError: DWORD, - cbTransferred: DWORD, - lpOverlapped: LPWSAOVERLAPPED, - dwFlags: DWORD, -) -> ()} -ENUM!{enum WSACOMPLETIONTYPE { - NSP_NOTIFY_IMMEDIATELY = 0, - NSP_NOTIFY_HWND, - NSP_NOTIFY_EVENT, - NSP_NOTIFY_PORT, - NSP_NOTIFY_APC, -}} -pub type PWSACOMPLETIONTYPE = *mut WSACOMPLETIONTYPE; -pub type LPWSACOMPLETIONTYPE = *mut WSACOMPLETIONTYPE; -STRUCT!{struct WSACOMPLETION_WindowMessage { - hWnd: HWND, - uMsg: UINT, - context: WPARAM, -}} -STRUCT!{struct WSACOMPLETION_Event { - lpOverlapped: LPWSAOVERLAPPED, -}} -STRUCT!{struct WSACOMPLETION_Apc { - lpOverlapped: LPWSAOVERLAPPED, - lpfnCompletionProc: LPWSAOVERLAPPED_COMPLETION_ROUTINE, -}} -STRUCT!{struct WSACOMPLETION_Port { - lpOverlapped: LPWSAOVERLAPPED, - hPort: HANDLE, - Key: ULONG_PTR, -}} -UNION!{union WSACOMPLETION_Parameter { - [usize; 3], - WindowMessage WindowMessage_mut: WSACOMPLETION_WindowMessage, - Event Event_mut: WSACOMPLETION_Event, - Apc Apc_mut: WSACOMPLETION_Apc, - Port Port_mut: WSACOMPLETION_Port, -}} -STRUCT!{struct WSACOMPLETION { - Type: WSACOMPLETIONTYPE, - Parameters: WSACOMPLETION_Parameter, -}} -pub type PWSACOMPLETION = *mut WSACOMPLETION; -pub type LPWSACOMPLETION = *mut WSACOMPLETION; -pub const TH_NETDEV: DWORD = 0x00000001; -pub const TH_TAPI: DWORD = 0x00000002; -pub const SERVICE_MULTIPLE: DWORD = 0x00000001; -pub const NS_ALL: DWORD = 0; -pub const NS_SAP: DWORD = 1; -pub const NS_NDS: DWORD = 2; -pub const NS_PEER_BROWSE: DWORD = 3; -pub const NS_SLP: DWORD = 5; -pub const NS_DHCP: DWORD = 6; -pub const NS_TCPIP_LOCAL: DWORD = 10; -pub const NS_TCPIP_HOSTS: DWORD = 11; -pub const NS_DNS: DWORD = 12; -pub const NS_NETBT: DWORD = 13; -pub const NS_WINS: DWORD = 14; -pub const NS_NLA: DWORD = 15; -pub const NS_BTH: DWORD = 16; -pub const NS_LOCALNAME: DWORD = 19; -pub const NS_NBP: DWORD = 20; -pub const NS_MS: DWORD = 30; -pub const NS_STDA: DWORD = 31; -pub const NS_NTDS: DWORD = 32; -pub const NS_EMAIL: DWORD = 37; -pub const NS_PNRPNAME: DWORD = 38; -pub const NS_PNRPCLOUD: DWORD = 39; -pub const NS_X500: DWORD = 40; -pub const NS_NIS: DWORD = 41; -pub const NS_NISPLUS: DWORD = 42; -pub const NS_WRQ: DWORD = 50; -pub const NS_NETDES: DWORD = 60; -pub const RES_UNUSED_1: DWORD = 0x00000001; -pub const RES_FLUSH_CACHE: DWORD = 0x00000002; -pub const RES_SERVICE: DWORD = 0x00000004; -pub const SERVICE_TYPE_VALUE_IPXPORT: &'static str = "IpxSocket"; -pub const SERVICE_TYPE_VALUE_SAPID: &'static str = "SapId"; -pub const SERVICE_TYPE_VALUE_TCPPORT: &'static str = "TcpPort"; -pub const SERVICE_TYPE_VALUE_UDPPORT: &'static str = "UdpPort"; -pub const SERVICE_TYPE_VALUE_OBJECTID: &'static str = "ObjectId"; -STRUCT!{struct AFPROTOCOLS { - iAddressFamily: INT, - iProtocol: INT, -}} -pub type PAFPROTOCOLS = *mut AFPROTOCOLS; -pub type LPAFPROTOCOLS = *mut AFPROTOCOLS; -ENUM!{enum WSAECOMPARATOR { - COMP_EQUAL = 0, - COMP_NOTLESS, -}} -pub type PWSAECOMPARATOR = *mut WSAECOMPARATOR; -pub type LPWSAECOMPARATOR = *mut WSAECOMPARATOR; -STRUCT!{struct WSAVERSION { - dwVersion: DWORD, - ecHow: WSAECOMPARATOR, -}} -pub type PWSAVERSION = *mut WSAVERSION; -pub type LPWSAVERSION = *mut WSAVERSION; -STRUCT!{struct WSAQUERYSETA { - dwSize: DWORD, - lpszServiceInstanceName: LPSTR, - lpServiceClassId: LPGUID, - lpVersion: LPWSAVERSION, - lpszComment: LPSTR, - dwNameSpace: DWORD, - lpNSProviderId: LPGUID, - lpszContext: LPSTR, - dwNumberOfProtocols: DWORD, - lpafpProtocols: LPAFPROTOCOLS, - lpszQueryString: LPSTR, - dwNumberOfCsAddrs: DWORD, - lpcsaBuffer: LPCSADDR_INFO, - dwOutputFlags: DWORD, - lpBlob: LPBLOB, -}} -pub type PWSAQUERYSETA = *mut WSAQUERYSETA; -pub type LPWSAQUERYSETA = *mut WSAQUERYSETA; -STRUCT!{struct WSAQUERYSETW { - dwSize: DWORD, - lpszServiceInstanceName: LPWSTR, - lpServiceClassId: LPGUID, - lpVersion: LPWSAVERSION, - lpszComment: LPWSTR, - dwNameSpace: DWORD, - lpNSProviderId: LPGUID, - lpszContext: LPWSTR, - dwNumberOfProtocols: DWORD, - lpafpProtocols: LPAFPROTOCOLS, - lpszQueryString: LPWSTR, - dwNumberOfCsAddrs: DWORD, - lpcsaBuffer: LPCSADDR_INFO, - dwOutputFlags: DWORD, - lpBlob: LPBLOB, -}} -pub type PWSAQUERYSETW = *mut WSAQUERYSETW; -pub type LPWSAQUERYSETW = *mut WSAQUERYSETW; -STRUCT!{struct WSAQUERYSET2A { - dwSize: DWORD, - lpszServiceInstanceName: LPSTR, - lpVersion: LPWSAVERSION, - lpszComment: LPSTR, - dwNameSpace: DWORD, - lpNSProviderId: LPGUID, - lpszContext: LPSTR, - dwNumberOfProtocols: DWORD, - lpafpProtocols: LPAFPROTOCOLS, - lpszQueryString: LPSTR, - dwNumberOfCsAddrs: DWORD, - lpcsaBuffer: LPCSADDR_INFO, - dwOutputFlags: DWORD, - lpBlob: LPBLOB, -}} -pub type PWSAQUERYSET2A = *mut WSAQUERYSET2A; -pub type LPWSAQUERYSET2A = *mut WSAQUERYSET2A; -STRUCT!{struct WSAQUERYSET2W { - dwSize: DWORD, - lpszServiceInstanceName: LPWSTR, - lpVersion: LPWSAVERSION, - lpszComment: LPWSTR, - dwNameSpace: DWORD, - lpNSProviderId: LPGUID, - lpszContext: LPWSTR, - dwNumberOfProtocols: DWORD, - lpafpProtocols: LPAFPROTOCOLS, - lpszQueryString: LPWSTR, - dwNumberOfCsAddrs: DWORD, - lpcsaBuffer: LPCSADDR_INFO, - dwOutputFlags: DWORD, - lpBlob: LPBLOB, -}} -pub type PWSAQUERYSET2W = *mut WSAQUERYSET2W; -pub type LPWSAQUERYSET2W = *mut WSAQUERYSET2W; -pub const LUP_DEEP: DWORD = 0x0001; -pub const LUP_CONTAINERS: DWORD = 0x0002; -pub const LUP_NOCONTAINERS: DWORD = 0x0004; -pub const LUP_NEAREST: DWORD = 0x0008; -pub const LUP_RETURN_NAME: DWORD = 0x0010; -pub const LUP_RETURN_TYPE: DWORD = 0x0020; -pub const LUP_RETURN_VERSION: DWORD = 0x0040; -pub const LUP_RETURN_COMMENT: DWORD = 0x0080; -pub const LUP_RETURN_ADDR: DWORD = 0x0100; -pub const LUP_RETURN_BLOB: DWORD = 0x0200; -pub const LUP_RETURN_ALIASES: DWORD = 0x0400; -pub const LUP_RETURN_QUERY_STRING: DWORD = 0x0800; -pub const LUP_RETURN_ALL: DWORD = 0x0FF0; -pub const LUP_RES_SERVICE: DWORD = 0x8000; -pub const LUP_FLUSHCACHE: DWORD = 0x1000; -pub const LUP_FLUSHPREVIOUS: DWORD = 0x2000; -pub const LUP_NON_AUTHORITATIVE: DWORD = 0x4000; -pub const LUP_SECURE: DWORD = 0x8000; -pub const LUP_RETURN_PREFERRED_NAMES: DWORD = 0x10000; -pub const LUP_DNS_ONLY: DWORD = 0x20000; -pub const LUP_ADDRCONFIG: DWORD = 0x00100000; -pub const LUP_DUAL_ADDR: DWORD = 0x00200000; -pub const LUP_FILESERVER: DWORD = 0x00400000; -pub const LUP_DISABLE_IDN_ENCODING: DWORD = 0x00800000; -pub const LUP_API_ANSI: DWORD = 0x01000000; -pub const LUP_RESOLUTION_HANDLE: DWORD = 0x80000000; -pub const RESULT_IS_ALIAS: DWORD = 0x0001; -pub const RESULT_IS_ADDED: DWORD = 0x0010; -pub const RESULT_IS_CHANGED: DWORD = 0x0020; -pub const RESULT_IS_DELETED: DWORD = 0x0040; -ENUM!{enum WSAESETSERVICEOP { - RNRSERVICE_REGISTER = 0, - RNRSERVICE_DEREGISTER, - RNRSERVICE_DELETE, -}} -pub type PWSAESETSERVICEOP = *mut WSAESETSERVICEOP; -pub type LPWSAESETSERVICEOP = *mut WSAESETSERVICEOP; -STRUCT!{struct WSANSCLASSINFOA { - lpszName: LPSTR, - dwNameSpace: DWORD, - dwValueType: DWORD, - dwValueSize: DWORD, - lpValue: LPVOID, -}} -pub type PWSANSCLASSINFOA = *mut WSANSCLASSINFOA; -pub type LPWSANSCLASSINFOA = *mut WSANSCLASSINFOA; -STRUCT!{struct WSANSCLASSINFOW { - lpszName: LPWSTR, - dwNameSpace: DWORD, - dwValueType: DWORD, - dwValueSize: DWORD, - lpValue: LPVOID, -}} -pub type PWSANSCLASSINFOW = *mut WSANSCLASSINFOW; -pub type LPWSANSCLASSINFOW = *mut WSANSCLASSINFOW; -STRUCT!{struct WSASERVICECLASSINFOA { - lpServiceClassId: LPGUID, - lpszServiceClassName: LPSTR, - dwCount: DWORD, - lpClassInfos: LPWSANSCLASSINFOA, -}} -pub type PWSASERVICECLASSINFOA = *mut WSASERVICECLASSINFOA; -pub type LPWSASERVICECLASSINFOA = *mut WSASERVICECLASSINFOA; -STRUCT!{struct WSASERVICECLASSINFOW { - lpServiceClassId: LPGUID, - lpszServiceClassName: LPWSTR, - dwCount: DWORD, - lpClassInfos: LPWSANSCLASSINFOW, -}} -pub type PWSASERVICECLASSINFOW = *mut WSASERVICECLASSINFOW; -pub type LPWSASERVICECLASSINFOW = *mut WSASERVICECLASSINFOW; -STRUCT!{struct WSANAMESPACE_INFOA { - NSProviderId: GUID, - dwNameSpace: DWORD, - fActive: BOOL, - dwVersion: DWORD, - lpszIdentifier: LPSTR, -}} -pub type PWSANAMESPACE_INFOA = *mut WSANAMESPACE_INFOA; -pub type LPWSANAMESPACE_INFOA = *mut WSANAMESPACE_INFOA; -STRUCT!{struct WSANAMESPACE_INFOW { - NSProviderId: GUID, - dwNameSpace: DWORD, - fActive: BOOL, - dwVersion: DWORD, - lpszIdentifier: LPWSTR, -}} -pub type PWSANAMESPACE_INFOW = *mut WSANAMESPACE_INFOW; -pub type LPWSANAMESPACE_INFOW = *mut WSANAMESPACE_INFOW; -STRUCT!{struct WSANAMESPACE_INFOEXA { - NSProviderId: GUID, - dwNameSpace: DWORD, - fActive: BOOL, - dwVersion: DWORD, - lpszIdentifier: LPSTR, - ProviderSpecific: BLOB, -}} -pub type PWSANAMESPACE_INFOEXA = *mut WSANAMESPACE_INFOEXA; -pub type LPWSANAMESPACE_INFOEXA = *mut WSANAMESPACE_INFOEXA; -STRUCT!{struct WSANAMESPACE_INFOEXW { - NSProviderId: GUID, - dwNameSpace: DWORD, - fActive: BOOL, - dwVersion: DWORD, - lpszIdentifier: LPWSTR, - ProviderSpecific: BLOB, -}} -pub type PWSANAMESPACE_INFOEXW = *mut WSANAMESPACE_INFOEXW; -pub type LPWSANAMESPACE_INFOEXW = *mut WSANAMESPACE_INFOEXW; -pub const POLLRDNORM: SHORT = 0x0100; -pub const POLLRDBAND: SHORT = 0x0200; -pub const POLLIN: SHORT = POLLRDNORM | POLLRDBAND; -pub const POLLPRI: SHORT = 0x0400; -pub const POLLWRNORM: SHORT = 0x0010; -pub const POLLOUT: SHORT = POLLWRNORM; -pub const POLLWRBAND: SHORT = 0x0020; -pub const POLLERR: SHORT = 0x0001; -pub const POLLHUP: SHORT = 0x0002; -pub const POLLNVAL: SHORT = 0x0004; -STRUCT!{struct WSAPOLLFD { - fd: SOCKET, - events: SHORT, - revents: SHORT, -}} -pub type PWSAPOLLFD = *mut WSAPOLLFD; -pub type LPWSAPOLLFD = *mut WSAPOLLFD; -extern "system" { - pub fn accept( - s: SOCKET, - addr: *mut SOCKADDR, - addrlen: *mut c_int, - ) -> SOCKET; - pub fn bind(s: SOCKET, - name: *const SOCKADDR, - namelen: c_int, - ) -> c_int; - pub fn closesocket( - s: SOCKET, - ) -> c_int; - pub fn connect( - s: SOCKET, - name: *const SOCKADDR, - namelen: c_int, - ) -> c_int; - pub fn ioctlsocket( - s: SOCKET, - cmd: c_long, - argp: *mut u_long, - ) -> c_int; - pub fn getpeername( - s: SOCKET, - name: *mut SOCKADDR, - namelen: *mut c_int, - ) -> c_int; - pub fn getsockname( - s: SOCKET, - name: *mut SOCKADDR, - namelen: *mut c_int, - ) -> c_int; - pub fn getsockopt( - s: SOCKET, - level: c_int, - optname: c_int, - optval: *mut c_char, - optlen: *mut c_int, - ) -> c_int; - pub fn htonl( - hostlong: u_long, - ) -> u_long; - pub fn htons( - hostshort: u_short, - ) -> u_short; - pub fn inet_addr( - cp: *const c_char, - ) -> c_ulong; - pub fn inet_ntoa( - _in: in_addr, - ) -> *mut c_char; -} -#[inline] -pub fn _WS2_32_WINSOCK_SWAP_LONG(l: __uint32) -> __uint32 { - ((l >> 24) & 0x000000FF) | ((l >> 8) & 0x0000FF00) | ((l << 8) & 0x00FF0000) - | ((l << 24) & 0xFF000000) -} -#[inline] -pub fn _WS2_32_WINSOCK_SWAP_LONGLONG(l: __uint64) -> __uint64 { - ((l >> 56) & 0x00000000000000FF) | ((l >> 40) & 0x000000000000FF00) - | ((l >> 24) & 0x0000000000FF0000) | ((l >> 8) & 0x00000000FF000000) - | ((l << 8) & 0x000000FF00000000) | ((l << 24) & 0x0000FF0000000000) - | ((l << 40) & 0x00FF000000000000) | ((l << 56) & 0xFF00000000000000) -} -#[inline] -pub fn htonll(Value: __uint64) -> __uint64 { - _WS2_32_WINSOCK_SWAP_LONGLONG(Value) -} -#[inline] -pub fn ntohll(Value: __uint64) -> __uint64 { - _WS2_32_WINSOCK_SWAP_LONGLONG(Value) -} -#[inline] -pub fn htonf(Value: c_float) -> __uint32 { - let Tempval: __uint32 = unsafe { ::core::mem::transmute(Value) }; - _WS2_32_WINSOCK_SWAP_LONG(Tempval) -} -#[inline] -pub fn ntohf(Value: __uint32) -> c_float { - let Tempval = _WS2_32_WINSOCK_SWAP_LONG(Value); - unsafe { ::core::mem::transmute(Tempval) } -} -#[inline] -pub fn htond(Value: c_double) -> __uint64 { - let Tempval: __uint64 = unsafe { ::core::mem::transmute(Value) }; - _WS2_32_WINSOCK_SWAP_LONGLONG(Tempval) -} -#[inline] -pub fn ntohd(Value: __uint64) -> c_double { - let Tempval = _WS2_32_WINSOCK_SWAP_LONGLONG(Value); - unsafe { ::core::mem::transmute(Tempval) } -} -extern "system" { - pub fn listen( - s: SOCKET, - backlog: c_int, - ) -> c_int; - pub fn ntohl( - netlong: u_long, - ) -> u_long; - pub fn ntohs( - netshort: u_short, - ) -> u_short; - pub fn recv( - s: SOCKET, - buf: *mut c_char, - len: c_int, - flags: c_int, - ) -> c_int; - pub fn recvfrom( - s: SOCKET, - buf: *mut c_char, - len: c_int, - flags: c_int, - from: *mut SOCKADDR, - fromlen: *mut c_int, - ) -> c_int; - pub fn select( - nfds: c_int, - readfds: *mut fd_set, - writefds: *mut fd_set, - exceptfds: *mut fd_set, - timeout: *const timeval, - ) -> c_int; - pub fn send( - s: SOCKET, - buf: *const c_char, - len: c_int, - flags: c_int, - ) -> c_int; - pub fn sendto( - s: SOCKET, - buf: *const c_char, - len: c_int, - flags: c_int, - to: *const SOCKADDR, - tolen: c_int, - ) -> c_int; - pub fn setsockopt( - s: SOCKET, - level: c_int, - optname: c_int, - optval: *const c_char, - optlen: c_int, - ) -> c_int; - pub fn shutdown( - s: SOCKET, - how: c_int, - ) -> c_int; - pub fn socket( - af: c_int, - _type: c_int, - protocol: c_int, - ) -> SOCKET; - pub fn gethostbyaddr( - addr: *const c_char, - len: c_int, - _type: c_int, - ) -> *mut hostent; - pub fn gethostbyname( - name: *const c_char, - ) -> *mut hostent; - pub fn gethostname( - name: *mut c_char, - namelen: c_int, - ) -> c_int; - pub fn GetHostNameW( - name: PWSTR, - namelen: c_int, - ) -> c_int; - pub fn getservbyport( - port: c_int, - proto: *const c_char, - ) -> *mut servent; - pub fn getservbyname( - name: *const c_char, - proto: *const c_char, - ) -> *mut servent; - pub fn getprotobynumber( - number: c_int, - ) -> *mut protoent; - pub fn getprotobyname( - name: *const c_char, - ) -> *mut protoent; - pub fn WSAStartup( - wVersionRequested: WORD, - lpWSAData: LPWSADATA, - ) -> c_int; - pub fn WSACleanup() -> c_int; - pub fn WSASetLastError( - iError: c_int, - ); - pub fn WSAGetLastError() -> c_int; - pub fn WSAIsBlocking() -> BOOL; - pub fn WSAUnhookBlockingHook() -> c_int; - pub fn WSASetBlockingHook( - lpBlockFunc: FARPROC, - ) -> FARPROC; - pub fn WSACancelBlockingCall() -> c_int; - pub fn WSAAsyncGetServByName( - hWnd: HWND, - wMsg: u_int, - name: *const c_char, - proto: *const c_char, - buf: *mut c_char, - buflen: c_int, - ) -> HANDLE; - pub fn WSAAsyncGetServByPort( - hWnd: HWND, - wMsg: u_int, - port: c_int, - proto: *const c_char, - buf: *mut c_char, - buflen: c_int, - ) -> HANDLE; - pub fn WSAAsyncGetProtoByName( - hWnd: HWND, - wMsg: u_int, - name: *const c_char, - buf: *mut c_char, - buflen: c_int, - ) -> HANDLE; - pub fn WSAAsyncGetProtoByNumber( - hWnd: HWND, - wMsg: u_int, - number: c_int, - buf: *mut c_char, - buflen: c_int, - ) -> HANDLE; - pub fn WSAAsyncGetHostByName( - hWnd: HWND, - wMsg: u_int, - name: *const c_char, - buf: *mut c_char, - buflen: c_int, - ) -> HANDLE; - pub fn WSAAsyncGetHostByAddr( - hWnd: HWND, - wMsg: u_int, - addr: *const c_char, - len: c_int, - _type: c_int, - buf: *mut c_char, - buflen: c_int, - ) -> HANDLE; - pub fn WSACancelAsyncRequest( - hAsyncTaskHandle: HANDLE, - ) -> c_int; - pub fn WSAAsyncSelect( - s: SOCKET, - hWnd: HWND, - wMsg: u_int, - lEvent: c_long, - ) -> c_int; - pub fn WSAAccept( - s: SOCKET, - addr: *mut SOCKADDR, - addrlen: LPINT, - lpfnCondition: LPCONDITIONPROC, - dwCallbackData: DWORD_PTR, - ) -> SOCKET; - pub fn WSACloseEvent( - hEvent: WSAEVENT, - ) -> BOOL; - pub fn WSAConnect( - s: SOCKET, - name: *const SOCKADDR, - namelen: c_int, - lpCallerData: LPWSABUF, - lpCalleeData: LPWSABUF, - lpSQOS: LPQOS, - lpGQOS: LPQOS, - ) -> c_int; - pub fn WSAConnectByNameW( - s: SOCKET, - nodename: LPWSTR, - servicename: LPWSTR, - LocalAddressLength: LPDWORD, - LocalAddress: LPSOCKADDR, - RemoteAddressLength: LPDWORD, - RemoteAddress: LPSOCKADDR, - timeout: *const timeval, - Reserved: LPWSAOVERLAPPED, - ) -> BOOL; - pub fn WSAConnectByNameA( - s: SOCKET, - nodename: LPCSTR, - servicename: LPCSTR, - LocalAddressLength: LPDWORD, - LocalAddress: LPSOCKADDR, - RemoteAddressLength: LPDWORD, - RemoteAddress: LPSOCKADDR, - timeout: *const timeval, - Reserved: LPWSAOVERLAPPED, - ) -> BOOL; - pub fn WSAConnectByList( - s: SOCKET, - SocketAddress: PSOCKET_ADDRESS_LIST, - LocalAddressLength: LPDWORD, - LocalAddress: LPSOCKADDR, - RemoteAddressLength: LPDWORD, - RemoteAddress: LPSOCKADDR, - timeout: *const timeval, - Reserved: LPWSAOVERLAPPED, - ) -> BOOL; - pub fn WSACreateEvent() -> WSAEVENT; - pub fn WSADuplicateSocketA( - s: SOCKET, - dwProcessId: DWORD, - lpProtocolInfo: LPWSAPROTOCOL_INFOA, - ) -> c_int; - pub fn WSADuplicateSocketW( - s: SOCKET, - dwProcessId: DWORD, - lpProtocolInfo: LPWSAPROTOCOL_INFOW, - ) -> c_int; - pub fn WSAEnumNetworkEvents( - s: SOCKET, - hEventObject: WSAEVENT, - lpNetworkEvents: LPWSANETWORKEVENTS, - ) -> c_int; - pub fn WSAEnumProtocolsA( - lpiProtocols: LPINT, - lpProtocolBuffer: LPWSAPROTOCOL_INFOA, - lpdwBufferLength: LPDWORD, - ) -> c_int; - pub fn WSAEnumProtocolsW( - lpiProtocols: LPINT, - lpProtocolBuffer: LPWSAPROTOCOL_INFOW, - lpdwBufferLength: LPDWORD, - ) -> c_int; - pub fn WSAEventSelect( - s: SOCKET, - hEventObject: WSAEVENT, - lNetworkEvents: c_long, - ) -> c_int; - pub fn WSAGetOverlappedResult( - s: SOCKET, - lpOverlapped: LPWSAOVERLAPPED, - lpcbTransfer: LPDWORD, - fWait: BOOL, - lpdwFlags: LPDWORD, - ) -> BOOL; - pub fn WSAGetQOSByName( - s: SOCKET, - lpQOSName: LPWSABUF, - lpQOS: LPQOS, - ) -> BOOL; - pub fn WSAHtonl( - s: SOCKET, - hostlong: u_long, - lpnetlong: *mut u_long, - ) -> c_int; - pub fn WSAHtons(s: SOCKET, - hostshort: u_short, - lpnetshort: *mut u_short, - ) -> c_int; - pub fn WSAIoctl( - s: SOCKET, - dwIoControlCode: DWORD, - lpvInBuffer: LPVOID, - cbInBuffer: DWORD, - lpvOutBuffer: LPVOID, - cbOutBuffer: DWORD, - lpcbBytesReturned: LPDWORD, - lpOverlapped: LPWSAOVERLAPPED, - lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, - ) -> c_int; - pub fn WSAJoinLeaf( - s: SOCKET, - name: *const SOCKADDR, - namelen: c_int, - lpCallerData: LPWSABUF, - lpCalleeData: LPWSABUF, - lpSQOS: LPQOS, - lpGQOS: LPQOS, - dwFlags: DWORD, - ) -> SOCKET; - pub fn WSANtohl( - s: SOCKET, - netlong: u_long, - lphostlong: *mut c_long, - ) -> c_int; - pub fn WSANtohs( - s: SOCKET, - netshort: u_short, - lphostshort: *mut c_short, - ) -> c_int; - pub fn WSARecv( - s: SOCKET, - lpBuffers: LPWSABUF, - dwBufferCount: DWORD, - lpNumberOfBytesRecvd: LPDWORD, - lpFlags: LPDWORD, - lpOverlapped: LPWSAOVERLAPPED, - lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, - ) -> c_int; - pub fn WSARecvDisconnect( - s: SOCKET, - lpInboundDisconnectData: LPWSABUF, - ) -> c_int; - pub fn WSARecvFrom( - s: SOCKET, - lpBuffers: LPWSABUF, - dwBufferCount: DWORD, - lpNumberOfBytesRecvd: LPDWORD, - lpFlags: LPDWORD, - lpFrom: *mut SOCKADDR, - lpFromlen: LPINT, - lpOverlapped: LPWSAOVERLAPPED, - lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, - ) -> c_int; - pub fn WSAResetEvent( - hEvent: WSAEVENT, - ) -> BOOL; - pub fn WSASend( - s: SOCKET, - lpBuffers: LPWSABUF, - dwBufferCount: DWORD, - lpNumberOfBytesSent: LPDWORD, - dwFlags: DWORD, - lpOverlapped: LPWSAOVERLAPPED, - lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, - ) -> c_int; - pub fn WSASendMsg( - Handle: SOCKET, - lpMsg: LPWSAMSG, - dwFlags: DWORD, - lpNumberOfBytesSent: LPDWORD, - lpOverlapped: LPWSAOVERLAPPED, - lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, - ) -> c_int; - pub fn WSASendDisconnect( - s: SOCKET, - lpOutboundDisconnectData: LPWSABUF, - ) -> c_int; - pub fn WSASendTo( - s: SOCKET, - lpBuffers: LPWSABUF, - dwBufferCount: DWORD, - lpNumberOfBytesSent: LPDWORD, - dwFlags: DWORD, - lpTo: *const SOCKADDR, - iToLen: c_int, - lpOverlapped: LPWSAOVERLAPPED, - lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, - ) -> c_int; - pub fn WSASetEvent( - hEvent: WSAEVENT, - ) -> BOOL; - pub fn WSASocketA( - af: c_int, - _type: c_int, - protocol: c_int, - lpProtocolInfo: LPWSAPROTOCOL_INFOA, - g: GROUP, - dwFlags: DWORD, - ) -> SOCKET; - pub fn WSASocketW( - af: c_int, - _type: c_int, - protocol: c_int, - lpProtocolInfo: LPWSAPROTOCOL_INFOW, - g: GROUP, - dwFlags: DWORD, - ) -> SOCKET; - pub fn WSAWaitForMultipleEvents( - cEvents: DWORD, - lphEvents: *const WSAEVENT, - fWaitAll: BOOL, - dwTimeout: DWORD, - fAlertable: BOOL, - ) -> DWORD; - pub fn WSAAddressToStringA( - lpsaAddress: LPSOCKADDR, - dwAddressLength: DWORD, - lpProtocolInfo: LPWSAPROTOCOL_INFOA, - lpszAddressString: LPSTR, - lpdwAddressStringLength: LPDWORD, - ) -> INT; - pub fn WSAAddressToStringW( - lpsaAddress: LPSOCKADDR, - dwAddressLength: DWORD, - lpProtocolInfo: LPWSAPROTOCOL_INFOW, - lpszAddressString: LPWSTR, - lpdwAddressStringLength: LPDWORD, - ) -> INT; - pub fn WSAStringToAddressA( - AddressString: LPSTR, - AddressFamily: INT, - lpProtocolInfo: LPWSAPROTOCOL_INFOA, - lpAddress: LPSOCKADDR, - lpAddressLength: LPINT, - ) -> INT; - pub fn WSAStringToAddressW( - AddressString: LPWSTR, - AddressFamily: INT, - lpProtocolInfo: LPWSAPROTOCOL_INFOW, - lpAddress: LPSOCKADDR, - lpAddressLength: LPINT, - ) -> INT; - pub fn WSALookupServiceBeginA( - lpqsRestrictions: LPWSAQUERYSETA, - dwControlFlags: DWORD, - lphLookup: LPHANDLE, - ) -> INT; - pub fn WSALookupServiceBeginW( - lpqsRestrictions: LPWSAQUERYSETW, - dwControlFlags: DWORD, - lphLookup: LPHANDLE, - ) -> INT; - pub fn WSALookupServiceNextA( - hLookup: HANDLE, - dwControlFlags: DWORD, - lpdwBufferLength: LPDWORD, - lpqsResults: LPWSAQUERYSETA, - ) -> INT; - pub fn WSALookupServiceNextW( - hLookup: HANDLE, - dwControlFlags: DWORD, - lpdwBufferLength: LPDWORD, - lpqsResults: LPWSAQUERYSETW, - ) -> INT; - pub fn WSANSPIoctl( - hLookup: HANDLE, - dwControlFlags: DWORD, - lpvInBuffer: LPVOID, - cbInBuffer: DWORD, - lpvOutBuffer: LPVOID, - cbOutBuffer: DWORD, - lpcbBytesReturned: LPDWORD, - lpCompletion: LPWSACOMPLETION, - ) -> INT; - pub fn WSALookupServiceEnd( - hLookup: HANDLE, - ) -> INT; - pub fn WSAInstallServiceClassA( - lpServiceClassInfo: LPWSASERVICECLASSINFOA, - ) -> INT; - pub fn WSAInstallServiceClassW( - lpServiceClassInfo: LPWSASERVICECLASSINFOW, - ) -> INT; - pub fn WSARemoveServiceClass( - lpServiceClassId: LPGUID, - ) -> INT; - pub fn WSAGetServiceClassInfoA( - lpProviderId: LPGUID, - lpServiceClassId: LPGUID, - lpdwBufSize: LPDWORD, - lpServiceClassInfo: LPWSASERVICECLASSINFOA, - ) -> INT; - pub fn WSAGetServiceClassInfoW( - lpProviderId: LPGUID, - lpServiceClassId: LPGUID, - lpdwBufSize: LPDWORD, - lpServiceClassInfo: LPWSASERVICECLASSINFOW, - ) -> INT; - pub fn WSAEnumNameSpaceProvidersA( - lpdwBufferLength: LPDWORD, - lpnspBuffer: LPWSANAMESPACE_INFOA, - ) -> INT; - pub fn WSAEnumNameSpaceProvidersW( - lpdwBufferLength: LPDWORD, - lpnspBuffer: LPWSANAMESPACE_INFOW, - ) -> INT; - pub fn WSAEnumNameSpaceProvidersExA( - lpdwBufferLength: LPDWORD, - lpnspBuffer: LPWSANAMESPACE_INFOEXA, - ) -> INT; - pub fn WSAEnumNameSpaceProvidersExW( - lpdwBufferLength: LPDWORD, - lpnspBuffer: LPWSANAMESPACE_INFOEXW, - ) -> INT; - pub fn WSAGetServiceClassNameByClassIdA( - lpServiceClassId: LPGUID, - lpszServiceClassName: LPSTR, - lpdwBufferLength: LPDWORD, - ) -> INT; - pub fn WSAGetServiceClassNameByClassIdW( - lpServiceClassId: LPGUID, - lpszServiceClassName: LPWSTR, - lpdwBufferLength: LPDWORD, - ) -> INT; - pub fn WSASetServiceA( - lpqsRegInfo: LPWSAQUERYSETA, - essoperation: WSAESETSERVICEOP, - dwControlFlags: DWORD, - ) -> INT; - pub fn WSASetServiceW( - lpqsRegInfo: LPWSAQUERYSETW, - essoperation: WSAESETSERVICEOP, - dwControlFlags: DWORD, - ) -> INT; - pub fn WSAProviderConfigChange( - lpNotificationHandle: LPHANDLE, - lpOverlapped: LPWSAOVERLAPPED, - lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, - ) -> INT; - pub fn WSAPoll( - fdArray: LPWSAPOLLFD, - fds: ULONG, - timeout: INT, - ) -> c_int; -} -pub type LPSOCKADDR_IN = *mut SOCKADDR_IN; -pub type LINGER = linger; -pub type PLINGER = *mut linger; -pub type LPLINGER = *mut linger; -pub type FD_SET = fd_set; -pub type PFD_SET = *mut fd_set; -pub type LPFD_SET = *mut fd_set; -pub type HOSTENT = hostent; -pub type PHOSTENT = *mut hostent; -pub type LPHOSTENT = *mut hostent; -pub type SERVENT = servent; -pub type PSERVENT = *mut servent; -pub type LPSERVENT = *mut servent; -pub type PROTOENT = protoent; -pub type PPROTOENT = *mut protoent; -pub type LPPROTOENT = *mut protoent; -pub type TIMEVAL = timeval; -pub type PTIMEVAL = *mut timeval; -pub type LPTIMEVAL = *mut timeval; -#[inline] -pub fn WSAMAKEASYNCREPLY(buflen: WORD, error: WORD) -> LONG { - MAKELONG(buflen, error) -} -#[inline] -pub fn WSAMAKESELECTREPLY(event: WORD, error: WORD) -> LONG { - MAKELONG(event, error) -} -#[inline] -pub fn WSAGETASYNCBUFLEN(lParam: DWORD) -> WORD { - LOWORD(lParam) -} -#[inline] -pub fn WSAGETASYNCERROR(lParam: DWORD) -> WORD { - HIWORD(lParam) -} -#[inline] -pub fn WSAGETSELECTEVENT(lParam: DWORD) -> WORD { - LOWORD(lParam) -} -#[inline] -pub fn WSAGETSELECTERROR(lParam: DWORD) -> WORD { - HIWORD(lParam) -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/winspool.rs b/vendor/registry-40351f815f426200/winapi/src/um/winspool.rs deleted file mode 100644 index a4e3302a1..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/winspool.rs +++ /dev/null @@ -1,2433 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Winspool header file -use shared::guiddef::GUID; -use shared::minwindef::{ - BOOL, BYTE, DWORD, FILETIME, FLOAT, LPBYTE, LPDWORD, LPHANDLE, LPVOID, MAX_PATH, PBYTE, PDWORD, - PULONG, PWORD, UINT, ULONG, WORD, -}; -use shared::windef::{HWND, RECTL, SIZEL}; -use shared::winerror::ERROR_NOT_SUPPORTED; -use um::minwinbase::SYSTEMTIME; -use um::wingdi::{LPDEVMODEA, LPDEVMODEW, PDEVMODEA, PDEVMODEW}; -use um::winnt::{ - ACCESS_MASK, CHAR, DWORDLONG, HANDLE, HRESULT, LANGID, LONG, LONGLONG, LPCSTR, LPCWSTR, LPSTR, - LPWSTR, PCWSTR, PSECURITY_DESCRIPTOR, PVOID, PWSTR, STANDARD_RIGHTS_EXECUTE, - STANDARD_RIGHTS_READ, STANDARD_RIGHTS_REQUIRED, STANDARD_RIGHTS_WRITE, WCHAR, -}; -use vc::vcruntime::size_t; -STRUCT!{struct PRINTER_INFO_1A { - Flags: DWORD, - pDescription: LPSTR, - pName: LPSTR, - pComment: LPSTR, -}} -pub type PPRINTER_INFO_1A = *mut PRINTER_INFO_1A; -pub type LPPRINTER_INFO_1A = *mut PRINTER_INFO_1A; -STRUCT!{struct PRINTER_INFO_1W { - Flags: DWORD, - pDescription: LPWSTR, - pName: LPWSTR, - pComment: LPWSTR, -}} -pub type PPRINTER_INFO_1W = *mut PRINTER_INFO_1W; -pub type LPPRINTER_INFO_1W = *mut PRINTER_INFO_1W; -STRUCT!{struct PRINTER_INFO_2A { - pServerName: LPSTR, - pPrinterName: LPSTR, - pShareName: LPSTR, - pPortName: LPSTR, - pDriverName: LPSTR, - pComment: LPSTR, - pLocation: LPSTR, - pDevMode: LPDEVMODEA, - pSepFile: LPSTR, - pPrintProcessor: LPSTR, - pDatatype: LPSTR, - pParameters: LPSTR, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - Attributes: DWORD, - Priority: DWORD, - DefaultPriority: DWORD, - StartTime: DWORD, - UntilTime: DWORD, - Status: DWORD, - cJobs: DWORD, - AveragePPM: DWORD, -}} -pub type PPRINTER_INFO_2A = *mut PRINTER_INFO_2A; -pub type LPPRINTER_INFO_2A = *mut PRINTER_INFO_2A; -STRUCT!{struct PRINTER_INFO_2W { - pServerName: LPWSTR, - pPrinterName: LPWSTR, - pShareName: LPWSTR, - pPortName: LPWSTR, - pDriverName: LPWSTR, - pComment: LPWSTR, - pLocation: LPWSTR, - pDevMode: LPDEVMODEW, - pSepFile: LPWSTR, - pPrintProcessor: LPWSTR, - pDatatype: LPWSTR, - pParameters: LPWSTR, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - Attributes: DWORD, - Priority: DWORD, - DefaultPriority: DWORD, - StartTime: DWORD, - UntilTime: DWORD, - Status: DWORD, - cJobs: DWORD, - AveragePPM: DWORD, -}} -pub type PPRINTER_INFO_2W = *mut PRINTER_INFO_2W; -pub type LPPRINTER_INFO_2W = *mut PRINTER_INFO_2W; -STRUCT!{struct PRINTER_INFO_3 { - pSecurityDescriptor: PSECURITY_DESCRIPTOR, -}} -pub type PPRINTER_INFO_3 = *mut PRINTER_INFO_3; -pub type LPPRINTER_INFO_3 = *mut PRINTER_INFO_3; -STRUCT!{struct PRINTER_INFO_4A { - pPrinterName: LPSTR, - pServerName: LPSTR, - Attributes: DWORD, -}} -pub type PPRINTER_INFO_4A = *mut PRINTER_INFO_4A; -pub type LPPRINTER_INFO_4A = *mut PRINTER_INFO_4A; -STRUCT!{struct PRINTER_INFO_4W { - pPrinterName: LPWSTR, - pServerName: LPWSTR, - Attributes: DWORD, -}} -pub type PPRINTER_INFO_4W = *mut PRINTER_INFO_4W; -pub type LPPRINTER_INFO_4W = *mut PRINTER_INFO_4W; -STRUCT!{struct PRINTER_INFO_5A { - pPrinterName: LPSTR, - pPortName: LPSTR, - Attributes: DWORD, - DeviceNotSelectedTimeout: DWORD, - TransmissionRetryTimeout: DWORD, -}} -pub type PPRINTER_INFO_5A = *mut PRINTER_INFO_5A; -pub type LPPRINTER_INFO_5A = *mut PRINTER_INFO_5A; -STRUCT!{struct PRINTER_INFO_5W { - pPrinterName: LPWSTR, - pPortName: LPWSTR, - Attributes: DWORD, - DeviceNotSelectedTimeout: DWORD, - TransmissionRetryTimeout: DWORD, -}} -pub type PPRINTER_INFO_5W = *mut PRINTER_INFO_5W; -pub type LPPRINTER_INFO_5W = *mut PRINTER_INFO_5W; -STRUCT!{struct PRINTER_INFO_6 { - dwStatus: DWORD, -}} -pub type PPRINTER_INFO_6 = *mut PRINTER_INFO_6; -pub type LPPRINTER_INFO_6 = *mut PRINTER_INFO_6; -STRUCT!{struct PRINTER_INFO_7A { - pszObjectGUID: LPSTR, - dwAction: DWORD, -}} -pub type PPRINTER_INFO_7A = *mut PRINTER_INFO_7A; -pub type LPPRINTER_INFO_7A = *mut PRINTER_INFO_7A; -STRUCT!{struct PRINTER_INFO_7W { - pszObjectGUID: LPWSTR, - dwAction: DWORD, -}} -pub type PPRINTER_INFO_7W = *mut PRINTER_INFO_7W; -pub type LPPRINTER_INFO_7W = *mut PRINTER_INFO_7W; -pub const DSPRINT_PUBLISH: DWORD = 0x00000001; -pub const DSPRINT_UPDATE: DWORD = 0x00000002; -pub const DSPRINT_UNPUBLISH: DWORD = 0x00000004; -pub const DSPRINT_REPUBLISH: DWORD = 0x00000008; -pub const DSPRINT_PENDING: DWORD = 0x80000000; -STRUCT!{struct PRINTER_INFO_8A { - pDevMode: LPDEVMODEA, -}} -pub type PPRINTER_INFO_8A = *mut PRINTER_INFO_8A; -pub type LPPRINTER_INFO_8A = *mut PRINTER_INFO_8A; -STRUCT!{struct PRINTER_INFO_8W { - pDevMode: LPDEVMODEW, -}} -pub type PPRINTER_INFO_8W = *mut PRINTER_INFO_8W; -pub type LPPRINTER_INFO_8W = *mut PRINTER_INFO_8W; -STRUCT!{struct PRINTER_INFO_9A { - pDevMode: LPDEVMODEA, -}} -pub type PPRINTER_INFO_9A = *mut PRINTER_INFO_9A; -pub type LPPRINTER_INFO_9A = *mut PRINTER_INFO_9A; -STRUCT!{struct PRINTER_INFO_9W { - pDevMode: LPDEVMODEA, -}} -pub type PPRINTER_INFO_9W = *mut PRINTER_INFO_9W; -pub type LPPRINTER_INFO_9W = *mut PRINTER_INFO_9W; -pub const PRINTER_CONTROL_PAUSE: DWORD = 1; -pub const PRINTER_CONTROL_RESUME: DWORD = 2; -pub const PRINTER_CONTROL_PURGE: DWORD = 3; -pub const PRINTER_CONTROL_SET_STATUS: DWORD = 4; -pub const PRINTER_STATUS_PAUSED: DWORD = 0x00000001; -pub const PRINTER_STATUS_ERROR: DWORD = 0x00000002; -pub const PRINTER_STATUS_PENDING_DELETION: DWORD = 0x00000004; -pub const PRINTER_STATUS_PAPER_JAM: DWORD = 0x00000008; -pub const PRINTER_STATUS_PAPER_OUT: DWORD = 0x00000010; -pub const PRINTER_STATUS_MANUAL_FEED: DWORD = 0x00000020; -pub const PRINTER_STATUS_PAPER_PROBLEM: DWORD = 0x00000040; -pub const PRINTER_STATUS_OFFLINE: DWORD = 0x00000080; -pub const PRINTER_STATUS_IO_ACTIVE: DWORD = 0x00000100; -pub const PRINTER_STATUS_BUSY: DWORD = 0x00000200; -pub const PRINTER_STATUS_PRINTING: DWORD = 0x00000400; -pub const PRINTER_STATUS_OUTPUT_BIN_FULL: DWORD = 0x00000800; -pub const PRINTER_STATUS_NOT_AVAILABLE: DWORD = 0x00001000; -pub const PRINTER_STATUS_WAITING: DWORD = 0x00002000; -pub const PRINTER_STATUS_PROCESSING: DWORD = 0x00004000; -pub const PRINTER_STATUS_INITIALIZING: DWORD = 0x00008000; -pub const PRINTER_STATUS_WARMING_UP: DWORD = 0x00010000; -pub const PRINTER_STATUS_TONER_LOW: DWORD = 0x00020000; -pub const PRINTER_STATUS_NO_TONER: DWORD = 0x00040000; -pub const PRINTER_STATUS_PAGE_PUNT: DWORD = 0x00080000; -pub const PRINTER_STATUS_USER_INTERVENTION: DWORD = 0x00100000; -pub const PRINTER_STATUS_OUT_OF_MEMORY: DWORD = 0x00200000; -pub const PRINTER_STATUS_DOOR_OPEN: DWORD = 0x00400000; -pub const PRINTER_STATUS_SERVER_UNKNOWN: DWORD = 0x00800000; -pub const PRINTER_STATUS_POWER_SAVE: DWORD = 0x01000000; -pub const PRINTER_STATUS_SERVER_OFFLINE: DWORD = 0x02000000; -pub const PRINTER_STATUS_DRIVER_UPDATE_NEEDED: DWORD = 0x04000000; -pub const PRINTER_ATTRIBUTE_QUEUED: DWORD = 0x00000001; -pub const PRINTER_ATTRIBUTE_DIRECT: DWORD = 0x00000002; -pub const PRINTER_ATTRIBUTE_DEFAULT: DWORD = 0x00000004; -pub const PRINTER_ATTRIBUTE_SHARED: DWORD = 0x00000008; -pub const PRINTER_ATTRIBUTE_NETWORK: DWORD = 0x00000010; -pub const PRINTER_ATTRIBUTE_HIDDEN: DWORD = 0x00000020; -pub const PRINTER_ATTRIBUTE_LOCAL: DWORD = 0x00000040; -pub const PRINTER_ATTRIBUTE_ENABLE_DEVQ: DWORD = 0x00000080; -pub const PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS: DWORD = 0x00000100; -pub const PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST: DWORD = 0x00000200; -pub const PRINTER_ATTRIBUTE_WORK_OFFLINE: DWORD = 0x00000400; -pub const PRINTER_ATTRIBUTE_ENABLE_BIDI: DWORD = 0x00000800; -pub const PRINTER_ATTRIBUTE_RAW_ONLY: DWORD = 0x00001000; -pub const PRINTER_ATTRIBUTE_PUBLISHED: DWORD = 0x00002000; -pub const PRINTER_ATTRIBUTE_FAX: DWORD = 0x00004000; -pub const PRINTER_ATTRIBUTE_TS: DWORD = 0x00008000; -pub const PRINTER_ATTRIBUTE_PUSHED_USER: DWORD = 0x00020000; -pub const PRINTER_ATTRIBUTE_PUSHED_MACHINE: DWORD = 0x00040000; -pub const PRINTER_ATTRIBUTE_MACHINE: DWORD = 0x00080000; -pub const PRINTER_ATTRIBUTE_FRIENDLY_NAME: DWORD = 0x00100000; -pub const PRINTER_ATTRIBUTE_TS_GENERIC_DRIVER: DWORD = 0x00200000; -pub const PRINTER_ATTRIBUTE_PER_USER: DWORD = 0x00400000; -pub const PRINTER_ATTRIBUTE_ENTERPRISE_CLOUD: DWORD = 0x00800000; -pub const NO_PRIORITY: DWORD = 0; -pub const MAX_PRIORITY: DWORD = 99; -pub const MIN_PRIORITY: DWORD = 1; -pub const DEF_PRIORITY: DWORD = 1; -STRUCT!{struct JOB_INFO_1A { - JobId: DWORD, - pPrinterName: LPSTR, - pMachineName: LPSTR, - pUserName: LPSTR, - pDocument: LPSTR, - pDatatype: LPSTR, - pStatus: LPSTR, - Status: DWORD, - Priority: DWORD, - Position: DWORD, - TotalPages: DWORD, - PagesPrinted: DWORD, - Submitted: SYSTEMTIME, -}} -pub type PJOB_INFO_1A = *mut JOB_INFO_1A; -pub type LPJOB_INFO_1A = *mut JOB_INFO_1A; -STRUCT!{struct JOB_INFO_1W { - JobId: DWORD, - pPrinterName: LPWSTR, - pMachineName: LPWSTR, - pUserName: LPWSTR, - pDocument: LPWSTR, - pDatatype: LPWSTR, - pStatus: LPWSTR, - Status: DWORD, - Priority: DWORD, - Position: DWORD, - TotalPages: DWORD, - PagesPrinted: DWORD, - Submitted: SYSTEMTIME, -}} -pub type PJOB_INFO_1W = *mut JOB_INFO_1W; -pub type LPJOB_INFO_1W = *mut JOB_INFO_1W; -STRUCT!{struct JOB_INFO_2A { - JobId: DWORD, - pPrinterName: LPSTR, - pMachineName: LPSTR, - pUserName: LPSTR, - pDocument: LPSTR, - pNotifyName: LPSTR, - pDatatype: LPSTR, - pPrintProcessor: LPSTR, - pParameters: LPSTR, - pDriverName: LPSTR, - pDevMode: LPDEVMODEA, - pStatus: LPSTR, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - Status: DWORD, - Priority: DWORD, - Position: DWORD, - StartTime: DWORD, - UntilTime: DWORD, - TotalPages: DWORD, - Size: DWORD, - Submitted: SYSTEMTIME, - Time: DWORD, - PagesPrinted: DWORD, -}} -pub type PJOB_INFO_2A = *mut JOB_INFO_2A; -pub type LPJOB_INFO_2A = *mut JOB_INFO_2A; -STRUCT!{struct JOB_INFO_2W { - JobId: DWORD, - pPrinterName: LPWSTR, - pMachineName: LPWSTR, - pUserName: LPWSTR, - pDocument: LPWSTR, - pNotifyName: LPWSTR, - pDatatype: LPWSTR, - pPrintProcessor: LPWSTR, - pParameters: LPWSTR, - pDriverName: LPWSTR, - pDevMode: LPDEVMODEW, - pStatus: LPWSTR, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - Status: DWORD, - Priority: DWORD, - Position: DWORD, - StartTime: DWORD, - UntilTime: DWORD, - TotalPages: DWORD, - Size: DWORD, - Submitted: SYSTEMTIME, - Time: DWORD, - PagesPrinted: DWORD, -}} -pub type PJOB_INFO_2W = *mut JOB_INFO_2W; -pub type LPJOB_INFO_2W = *mut JOB_INFO_2W; -STRUCT!{struct JOB_INFO_3 { - JobId: DWORD, - NextJobId: DWORD, - Reserved: DWORD, -}} -pub type PJOB_INFO_3 = *mut JOB_INFO_3; -pub type LPJOB_INFO_3 = *mut JOB_INFO_3; -STRUCT!{struct JOB_INFO_4A { - JobId: DWORD, - pPrinterName: LPSTR, - pMachineName: LPSTR, - pUserName: LPSTR, - pDocument: LPSTR, - pNotifyName: LPSTR, - pDatatype: LPSTR, - pPrintProcessor: LPSTR, - pParameters: LPSTR, - pDriverName: LPSTR, - pDevMode: LPDEVMODEA, - pStatus: LPSTR, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - Status: DWORD, - Priority: DWORD, - Position: DWORD, - StartTime: DWORD, - UntilTime: DWORD, - TotalPages: DWORD, - Size: DWORD, - Submitted: SYSTEMTIME, - Time: DWORD, - PagesPrinted: DWORD, - SizeHigh: LONG, -}} -pub type PJOB_INFO_4A = *mut JOB_INFO_4A; -pub type LPJOB_INFO_4A = *mut JOB_INFO_4A; -STRUCT!{struct JOB_INFO_4W { - JobId: DWORD, - pPrinterName: LPWSTR, - pMachineName: LPWSTR, - pUserName: LPWSTR, - pDocument: LPWSTR, - pNotifyName: LPWSTR, - pDatatype: LPWSTR, - pPrintProcessor: LPWSTR, - pParameters: LPWSTR, - pDriverName: LPWSTR, - pDevMode: LPDEVMODEW, - pStatus: LPWSTR, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - Status: DWORD, - Priority: DWORD, - Position: DWORD, - StartTime: DWORD, - UntilTime: DWORD, - TotalPages: DWORD, - Size: DWORD, - Submitted: SYSTEMTIME, - Time: DWORD, - PagesPrinted: DWORD, - SizeHigh: LONG, -}} -pub type PJOB_INFO_4W = *mut JOB_INFO_4W; -pub type LPJOB_INFO_4W = *mut JOB_INFO_4W; -pub const JOB_CONTROL_PAUSE: DWORD = 1; -pub const JOB_CONTROL_RESUME: DWORD = 2; -pub const JOB_CONTROL_CANCEL: DWORD = 3; -pub const JOB_CONTROL_RESTART: DWORD = 4; -pub const JOB_CONTROL_DELETE: DWORD = 5; -pub const JOB_CONTROL_SENT_TO_PRINTER: DWORD = 6; -pub const JOB_CONTROL_LAST_PAGE_EJECTED: DWORD = 7; -pub const JOB_STATUS_PAUSED: DWORD = 0x00000001; -pub const JOB_STATUS_ERROR: DWORD = 0x00000002; -pub const JOB_STATUS_DELETING: DWORD = 0x00000004; -pub const JOB_STATUS_SPOOLING: DWORD = 0x00000008; -pub const JOB_STATUS_PRINTING: DWORD = 0x00000010; -pub const JOB_STATUS_OFFLINE: DWORD = 0x00000020; -pub const JOB_STATUS_PAPEROUT: DWORD = 0x00000040; -pub const JOB_STATUS_PRINTED: DWORD = 0x00000080; -pub const JOB_STATUS_DELETED: DWORD = 0x00000100; -pub const JOB_STATUS_BLOCKED_DEVQ: DWORD = 0x00000200; -pub const JOB_STATUS_USER_INTERVENTION: DWORD = 0x00000400; -pub const JOB_STATUS_RESTART: DWORD = 0x00000800; -pub const JOB_POSITION_UNSPECIFIED: DWORD = 0; -STRUCT!{struct ADDJOB_INFO_1A { - Path: LPSTR, - JobId: DWORD, -}} -pub type PADDJOB_INFO_1A = *mut ADDJOB_INFO_1A; -pub type LPADDJOB_INFO_1A = *mut ADDJOB_INFO_1A; -STRUCT!{struct ADDJOB_INFO_1W { - Path: LPWSTR, - JobId: DWORD, -}} -pub type PADDJOB_INFO_1W = *mut ADDJOB_INFO_1W; -pub type LPADDJOB_INFO_1W = *mut ADDJOB_INFO_1W; -STRUCT!{struct DRIVER_INFO_1A { - pName: LPSTR, -}} -pub type PDRIVER_INFO_1A = *mut DRIVER_INFO_1A; -pub type LPDRIVER_INFO_1A = *mut DRIVER_INFO_1A; -STRUCT!{struct DRIVER_INFO_1W { - pName: LPWSTR, -}} -pub type PDRIVER_INFO_1W = *mut DRIVER_INFO_1W; -pub type LPDRIVER_INFO_1W = *mut DRIVER_INFO_1W; -STRUCT!{struct DRIVER_INFO_2A { - cVersion: DWORD, - pName: LPSTR, - pEnvironment: LPSTR, - pDriverPath: LPSTR, - pDataFile: LPSTR, - pConfigFile: LPSTR, -}} -pub type PDRIVER_INFO_2A = *mut DRIVER_INFO_2A; -pub type LPDRIVER_INFO_2A = *mut DRIVER_INFO_2A; -STRUCT!{struct DRIVER_INFO_2W { - cVersion: DWORD, - pName: LPWSTR, - pEnvironment: LPWSTR, - pDriverPath: LPWSTR, - pDataFile: LPWSTR, - pConfigFile: LPWSTR, -}} -pub type PDRIVER_INFO_2W = *mut DRIVER_INFO_2W; -pub type LPDRIVER_INFO_2W = *mut DRIVER_INFO_2W; -STRUCT!{struct DRIVER_INFO_3A { - cVersion: DWORD, - pName: LPSTR, - pEnvironment: LPSTR, - pDriverPath: LPSTR, - pDataFile: LPSTR, - pConfigFile: LPSTR, - pHelpFile: LPSTR, - pDependentFiles: LPSTR, - pMonitorName: LPSTR, - pDefaultDataType: LPSTR, -}} -pub type PDRIVER_INFO_3A = *mut DRIVER_INFO_3A; -pub type LPDRIVER_INFO_3A = *mut DRIVER_INFO_3A; -STRUCT!{struct DRIVER_INFO_3W { - cVersion: DWORD, - pName: LPWSTR, - pEnvironment: LPWSTR, - pDriverPath: LPWSTR, - pDataFile: LPWSTR, - pConfigFile: LPWSTR, - pHelpFile: LPWSTR, - pDependentFiles: LPWSTR, - pMonitorName: LPWSTR, - pDefaultDataType: LPWSTR, -}} -pub type PDRIVER_INFO_3W = *mut DRIVER_INFO_3W; -pub type LPDRIVER_INFO_3W = *mut DRIVER_INFO_3W; -STRUCT!{struct DRIVER_INFO_4A { - cVersion: DWORD, - pName: LPSTR, - pEnvironment: LPSTR, - pDriverPath: LPSTR, - pDataFile: LPSTR, - pConfigFile: LPSTR, - pHelpFile: LPSTR, - pDependentFiles: LPSTR, - pMonitorName: LPSTR, - pDefaultDataType: LPSTR, - pszzPreviousNames: LPSTR, -}} -pub type PDRIVER_INFO_4A = *mut DRIVER_INFO_4A; -pub type LPDRIVER_INFO_4A = *mut DRIVER_INFO_4A; -STRUCT!{struct DRIVER_INFO_4W { - cVersion: DWORD, - pName: LPWSTR, - pEnvironment: LPWSTR, - pDriverPath: LPWSTR, - pDataFile: LPWSTR, - pConfigFile: LPWSTR, - pHelpFile: LPWSTR, - pDependentFiles: LPWSTR, - pMonitorName: LPWSTR, - pDefaultDataType: LPWSTR, - pszzPreviousNames: LPWSTR, -}} -pub type PDRIVER_INFO_4W = *mut DRIVER_INFO_4W; -pub type LPDRIVER_INFO_4W = *mut DRIVER_INFO_4W; -STRUCT!{struct DRIVER_INFO_5A { - cVersion: DWORD, - pName: LPSTR, - pEnvironment: LPSTR, - pDriverPath: LPSTR, - pDataFile: LPSTR, - pConfigFile: LPSTR, - dwDriverAttributes: DWORD, - dwConfigVersion: DWORD, - dwDriverVersion: DWORD, -}} -pub type PDRIVER_INFO_5A = *mut DRIVER_INFO_5A; -pub type LPDRIVER_INFO_5A = *mut DRIVER_INFO_5A; -STRUCT!{struct DRIVER_INFO_5W { - cVersion: DWORD, - pName: LPWSTR, - pEnvironment: LPWSTR, - pDriverPath: LPWSTR, - pDataFile: LPWSTR, - pConfigFile: LPWSTR, - dwDriverAttributes: DWORD, - dwConfigVersion: DWORD, - dwDriverVersion: DWORD, -}} -pub type PDRIVER_INFO_5W = *mut DRIVER_INFO_5W; -pub type LPDRIVER_INFO_5W = *mut DRIVER_INFO_5W; -STRUCT!{struct DRIVER_INFO_6A { - cVersion: DWORD, - pName: LPSTR, - pEnvironment: LPSTR, - pDriverPath: LPSTR, - pDataFile: LPSTR, - pConfigFile: LPSTR, - pHelpFile: LPSTR, - pDependentFiles: LPSTR, - pMonitorName: LPSTR, - pDefaultDataType: LPSTR, - pszzPreviousNames: LPSTR, - ftDriverDate: FILETIME, - dwlDriverVersion: DWORDLONG, - pszMfgName: LPSTR, - pszOEMUrl: LPSTR, - pszHardwareID: LPSTR, - pszProvider: LPSTR, -}} -pub type PDRIVER_INFO_6A = *mut DRIVER_INFO_6A; -pub type LPDRIVER_INFO_6A = *mut DRIVER_INFO_6A; -STRUCT!{struct DRIVER_INFO_6W { - cVersion: DWORD, - pName: LPWSTR, - pEnvironment: LPWSTR, - pDriverPath: LPWSTR, - pDataFile: LPWSTR, - pConfigFile: LPWSTR, - pHelpFile: LPWSTR, - pDependentFiles: LPWSTR, - pMonitorName: LPWSTR, - pDefaultDataType: LPWSTR, - pszzPreviousNames: LPWSTR, - ftDriverDate: FILETIME, - dwlDriverVersion: DWORDLONG, - pszMfgName: LPWSTR, - pszOEMUrl: LPWSTR, - pszHardwareID: LPWSTR, - pszProvider: LPWSTR, -}} -pub type PDRIVER_INFO_6W = *mut DRIVER_INFO_6W; -pub type LPDRIVER_INFO_6W = *mut DRIVER_INFO_6W; -pub const PRINTER_DRIVER_PACKAGE_AWARE: DWORD = 0x00000001; -pub const PRINTER_DRIVER_XPS: DWORD = 0x00000002; -pub const PRINTER_DRIVER_SANDBOX_ENABLED: DWORD = 0x00000004; -pub const PRINTER_DRIVER_CLASS: DWORD = 0x00000008; -pub const PRINTER_DRIVER_DERIVED: DWORD = 0x00000010; -pub const PRINTER_DRIVER_NOT_SHAREABLE: DWORD = 0x00000020; -pub const PRINTER_DRIVER_CATEGORY_FAX: DWORD = 0x00000040; -pub const PRINTER_DRIVER_CATEGORY_FILE: DWORD = 0x00000080; -pub const PRINTER_DRIVER_CATEGORY_VIRTUAL: DWORD = 0x00000100; -pub const PRINTER_DRIVER_CATEGORY_SERVICE: DWORD = 0x00000200; -pub const PRINTER_DRIVER_SOFT_RESET_REQUIRED: DWORD = 0x00000400; -pub const PRINTER_DRIVER_SANDBOX_DISABLED: DWORD = 0x00000800; -pub const PRINTER_DRIVER_CATEGORY_3D: DWORD = 0x00001000; -pub const PRINTER_DRIVER_CATEGORY_CLOUD: DWORD = 0x00002000; -STRUCT!{struct DRIVER_INFO_8A { - cVersion: DWORD, - pName: LPSTR, - pEnvironment: LPSTR, - pDriverPath: LPSTR, - pDataFile: LPSTR, - pConfigFile: LPSTR, - pHelpFile: LPSTR, - pDependentFiles: LPSTR, - pMonitorName: LPSTR, - pDefaultDataType: LPSTR, - pszzPreviousNames: LPSTR, - ftDriverDate: FILETIME, - dwlDriverVersion: DWORDLONG, - pszMfgName: LPSTR, - pszOEMUrl: LPSTR, - pszHardwareID: LPSTR, - pszProvider: LPSTR, - pszPrintProcessor: LPSTR, - pszVendorSetup: LPSTR, - pszzColorProfiles: LPSTR, - pszInfPath: LPSTR, - dwPrinterDriverAttributes: DWORD, - pszzCoreDriverDependencies: LPSTR, - ftMinInboxDriverVerDate: FILETIME, - dwlMinInboxDriverVerVersion: DWORDLONG, -}} -pub type PDRIVER_INFO_8A = *mut DRIVER_INFO_8A; -pub type LPDRIVER_INFO_8A = *mut DRIVER_INFO_8A; -STRUCT!{struct DRIVER_INFO_8W { - cVersion: DWORD, - pName: LPWSTR, - pEnvironment: LPWSTR, - pDriverPath: LPWSTR, - pDataFile: LPWSTR, - pConfigFile: LPWSTR, - pHelpFile: LPWSTR, - pDependentFiles: LPWSTR, - pMonitorName: LPWSTR, - pDefaultDataType: LPWSTR, - pszzPreviousNames: LPWSTR, - ftDriverDate: FILETIME, - dwlDriverVersion: DWORDLONG, - pszMfgName: LPWSTR, - pszOEMUrl: LPWSTR, - pszHardwareID: LPWSTR, - pszProvider: LPWSTR, - pszPrintProcessor: LPWSTR, - pszVendorSetup: LPWSTR, - pszzColorProfiles: LPWSTR, - pszInfPath: LPWSTR, - dwPrinterDriverAttributes: DWORD, - pszzCoreDriverDependencies: LPWSTR, - ftMinInboxDriverVerDate: FILETIME, - dwlMinInboxDriverVerVersion: DWORDLONG, -}} -pub type PDRIVER_INFO_8W = *mut DRIVER_INFO_8W; -pub type LPDRIVER_INFO_8W = *mut DRIVER_INFO_8W; -pub const DRIVER_KERNELMODE: DWORD = 0x00000001; -pub const DRIVER_USERMODE: DWORD = 0x00000002; -pub const DPD_DELETE_UNUSED_FILES: DWORD = 0x00000001; -pub const DPD_DELETE_SPECIFIC_VERSION: DWORD = 0x00000002; -pub const DPD_DELETE_ALL_FILES: DWORD = 0x00000004; -pub const APD_STRICT_UPGRADE: DWORD = 0x00000001; -pub const APD_STRICT_DOWNGRADE: DWORD = 0x00000002; -pub const APD_COPY_ALL_FILES: DWORD = 0x00000004; -pub const APD_COPY_NEW_FILES: DWORD = 0x00000008; -pub const APD_COPY_FROM_DIRECTORY: DWORD = 0x00000010; -STRUCT!{struct DOC_INFO_1A { - pDocName: LPSTR, - pOutputFile: LPSTR, - pDatatype: LPSTR, -}} -pub type PDOC_INFO_1A = *mut DOC_INFO_1A; -pub type LPDOC_INFO_1A = *mut DOC_INFO_1A; -STRUCT!{struct DOC_INFO_1W { - pDocName: LPWSTR, - pOutputFile: LPWSTR, - pDatatype: LPWSTR, -}} -pub type PDOC_INFO_1W = *mut DOC_INFO_1W; -pub type LPDOC_INFO_1W = *mut DOC_INFO_1W; -STRUCT!{struct FORM_INFO_1A { - Flags: DWORD, - pName: LPSTR, - Size: SIZEL, - ImageableArea: RECTL, -}} -pub type PFORM_INFO_1A = *mut FORM_INFO_1A; -pub type LPFORM_INFO_1A = *mut FORM_INFO_1A; -STRUCT!{struct FORM_INFO_1W { - Flags: DWORD, - pName: LPWSTR, - Size: SIZEL, - ImageableArea: RECTL, -}} -pub type PFORM_INFO_1W = *mut FORM_INFO_1W; -pub type LPFORM_INFO_1W = *mut FORM_INFO_1W; -pub const STRING_NONE: DWORD = 0x00000001; -pub const STRING_MUIDLL: DWORD = 0x00000002; -pub const STRING_LANGPAIR: DWORD = 0x00000004; -pub const MAX_FORM_KEYWORD_LENGTH: usize = 63 + 1; -STRUCT!{struct FORM_INFO_2A { - Flags: DWORD, - pName: LPCSTR, - Size: SIZEL, - ImageableArea: RECTL, - pKeyword: LPCSTR, - StringType: DWORD, - pMuiDll: LPCSTR, - dwResourceId: DWORD, - pDisplayName: LPCSTR, - wLangId: LANGID, -}} -pub type PFORM_INFO_2A = *mut FORM_INFO_2A; -pub type LPFORM_INFO_2A = *mut FORM_INFO_2A; -STRUCT!{struct FORM_INFO_2W { - Flags: DWORD, - pName: LPCWSTR, - Size: SIZEL, - ImageableArea: RECTL, - pKeyword: LPCSTR, - StringType: DWORD, - pMuiDll: LPCWSTR, - dwResourceId: DWORD, - pDisplayName: LPCWSTR, - wLangId: LANGID, -}} -pub type PFORM_INFO_2W = *mut FORM_INFO_2W; -pub type LPFORM_INFO_2W = *mut FORM_INFO_2W; -STRUCT!{struct DOC_INFO_2A { - pDocName: LPSTR, - pOutputFile: LPSTR, - pDatatype: LPSTR, - dwMode: DWORD, - JobId: DWORD, -}} -pub type PDOC_INFO_2A = *mut DOC_INFO_2A; -pub type LPDOC_INFO_2A = *mut DOC_INFO_2A; -STRUCT!{struct DOC_INFO_2W { - pDocName: LPWSTR, - pOutputFile: LPWSTR, - pDatatype: LPWSTR, - dwMode: DWORD, - JobId: DWORD, -}} -pub type PDOC_INFO_2W = *mut DOC_INFO_2W; -pub type LPDOC_INFO_2W = *mut DOC_INFO_2W; -pub const DI_CHANNEL: DWORD = 1; -pub const DI_READ_SPOOL_JOB: DWORD = 3; -STRUCT!{struct DOC_INFO_3A { - pDocName: LPSTR, - pOutputFile: LPSTR, - pDatatype: LPSTR, - dwFlags: DWORD, -}} -pub type PDOC_INFO_3A = *mut DOC_INFO_3A; -pub type LPDOC_INFO_3A = *mut DOC_INFO_3A; -STRUCT!{struct DOC_INFO_3W { - pDocName: LPWSTR, - pOutputFile: LPWSTR, - pDatatype: LPWSTR, - dwFlags: DWORD, -}} -pub type PDOC_INFO_3W = *mut DOC_INFO_3W; -pub type LPDOC_INFO_3W = *mut DOC_INFO_3W; -pub const DI_MEMORYMAP_WRITE: DWORD = 0x00000001; -pub const FORM_USER: DWORD = 0x00000000; -pub const FORM_BUILTIN: DWORD = 0x00000001; -pub const FORM_PRINTER: DWORD = 0x00000002; -STRUCT!{struct PRINTPROCESSOR_INFO_1A { - pName: LPSTR, -}} -pub type PPRINTPROCESSOR_INFO_1A = *mut PRINTPROCESSOR_INFO_1A; -pub type LPPRINTPROCESSOR_INFO_1A = *mut PRINTPROCESSOR_INFO_1A; -STRUCT!{struct PRINTPROCESSOR_INFO_1W { - pName: LPWSTR, -}} -pub type PPRINTPROCESSOR_INFO_1W = *mut PRINTPROCESSOR_INFO_1W; -pub type LPPRINTPROCESSOR_INFO_1W = *mut PRINTPROCESSOR_INFO_1W; -STRUCT!{struct PRINTPROCESSOR_CAPS_1 { - dwLevel: DWORD, - dwNupOptions: DWORD, - dwPageOrderFlags: DWORD, - dwNumberOfCopies: DWORD, -}} -pub type PPRINTPROCESSOR_CAPS_1 = *mut PRINTPROCESSOR_CAPS_1; -STRUCT!{struct PRINTPROCESSOR_CAPS_2 { - dwLevel: DWORD, - dwNupOptions: DWORD, - dwPageOrderFlags: DWORD, - dwNumberOfCopies: DWORD, - dwDuplexHandlingCaps: DWORD, - dwNupDirectionCaps: DWORD, - dwNupBorderCaps: DWORD, - dwBookletHandlingCaps: DWORD, - dwScalingCaps: DWORD, -}} -pub type PPRINTPROCESSOR_CAPS_2 = *mut PRINTPROCESSOR_CAPS_2; -pub const PPCAPS_RIGHT_THEN_DOWN: DWORD = 0x00000001; -pub const PPCAPS_DOWN_THEN_RIGHT: DWORD = 0x00000001 << 1; -pub const PPCAPS_LEFT_THEN_DOWN: DWORD = 0x00000001 << 2; -pub const PPCAPS_DOWN_THEN_LEFT: DWORD = 0x00000001 << 3; -pub const PPCAPS_BORDER_PRINT: DWORD = 0x00000001; -pub const PPCAPS_BOOKLET_EDGE: DWORD = 0x00000001; -pub const PPCAPS_REVERSE_PAGES_FOR_REVERSE_DUPLEX: DWORD = 0x00000001; -pub const PPCAPS_DONT_SEND_EXTRA_PAGES_FOR_DUPLEX: DWORD = 0x00000001 << 1; -pub const PPCAPS_SQUARE_SCALING: DWORD = 0x00000001; -STRUCT!{struct PORT_INFO_1A { - pName: LPSTR, -}} -pub type PPORT_INFO_1A = *mut PORT_INFO_1A; -pub type LPPORT_INFO_1A = *mut PORT_INFO_1A; -STRUCT!{struct PORT_INFO_1W { - pName: LPWSTR, -}} -pub type PPORT_INFO_1W = *mut PORT_INFO_1W; -pub type LPPORT_INFO_1W = *mut PORT_INFO_1W; -STRUCT!{struct PORT_INFO_2A { - pPortName: LPSTR, - pMonitorName: LPSTR, - pDescription: LPSTR, - fPortType: DWORD, - Reserved: DWORD, -}} -pub type PPORT_INFO_2A = *mut PORT_INFO_2A; -pub type LPPORT_INFO_2A = *mut PORT_INFO_2A; -STRUCT!{struct PORT_INFO_2W { - pPortName: LPWSTR, - pMonitorName: LPWSTR, - pDescription: LPWSTR, - fPortType: DWORD, - Reserved: DWORD, -}} -pub type PPORT_INFO_2W = *mut PORT_INFO_2W; -pub type LPPORT_INFO_2W = *mut PORT_INFO_2W; -pub const PORT_TYPE_WRITE: DWORD = 0x0001; -pub const PORT_TYPE_READ: DWORD = 0x0002; -pub const PORT_TYPE_REDIRECTED: DWORD = 0x0004; -pub const PORT_TYPE_NET_ATTACHED: DWORD = 0x0008; -STRUCT!{struct PORT_INFO_3A { - dwStatus: DWORD, - pszStatus: LPSTR, - dwSeverity: DWORD, -}} -pub type PPORT_INFO_3A = *mut PORT_INFO_3A; -pub type LPPORT_INFO_3A = *mut PORT_INFO_3A; -STRUCT!{struct PORT_INFO_3W { - dwStatus: DWORD, - pszStatus: LPWSTR, - dwSeverity: DWORD, -}} -pub type PPORT_INFO_3W = *mut PORT_INFO_3W; -pub type LPPORT_INFO_3W = *mut PORT_INFO_3W; -pub const PORT_STATUS_TYPE_ERROR: DWORD = 1; -pub const PORT_STATUS_TYPE_WARNING: DWORD = 2; -pub const PORT_STATUS_TYPE_INFO: DWORD = 3; -pub const PORT_STATUS_OFFLINE: DWORD = 1; -pub const PORT_STATUS_PAPER_JAM: DWORD = 2; -pub const PORT_STATUS_PAPER_OUT: DWORD = 3; -pub const PORT_STATUS_OUTPUT_BIN_FULL: DWORD = 4; -pub const PORT_STATUS_PAPER_PROBLEM: DWORD = 5; -pub const PORT_STATUS_NO_TONER: DWORD = 6; -pub const PORT_STATUS_DOOR_OPEN: DWORD = 7; -pub const PORT_STATUS_USER_INTERVENTION: DWORD = 8; -pub const PORT_STATUS_OUT_OF_MEMORY: DWORD = 9; -pub const PORT_STATUS_TONER_LOW: DWORD = 10; -pub const PORT_STATUS_WARMING_UP: DWORD = 11; -pub const PORT_STATUS_POWER_SAVE: DWORD = 12; -STRUCT!{struct MONITOR_INFO_1A { - pName: LPSTR, -}} -pub type PMONITOR_INFO_1A = *mut MONITOR_INFO_1A; -pub type LPMONITOR_INFO_1A = *mut MONITOR_INFO_1A; -STRUCT!{struct MONITOR_INFO_1W { - pName: LPWSTR, -}} -pub type PMONITOR_INFO_1W = *mut MONITOR_INFO_1W; -pub type LPMONITOR_INFO_1W = *mut MONITOR_INFO_1W; -STRUCT!{struct MONITOR_INFO_2A { - pName: LPSTR, - pEnvironment: LPSTR, - pDLLName: LPSTR, -}} -pub type PMONITOR_INFO_2A = *mut MONITOR_INFO_2A; -pub type LPMONITOR_INFO_2A = *mut MONITOR_INFO_2A; -STRUCT!{struct MONITOR_INFO_2W { - pName: LPWSTR, - pEnvironment: LPWSTR, - pDLLName: LPWSTR, -}} -pub type PMONITOR_INFO_2W = *mut MONITOR_INFO_2W; -pub type LPMONITOR_INFO_2W = *mut MONITOR_INFO_2W; -STRUCT!{struct DATATYPES_INFO_1A { - pName: LPSTR, -}} -pub type PDATATYPES_INFO_1A = *mut DATATYPES_INFO_1A; -pub type LPDATATYPES_INFO_1A = *mut DATATYPES_INFO_1A; -STRUCT!{struct DATATYPES_INFO_1W { - pName: LPWSTR, -}} -pub type PDATATYPES_INFO_1W = *mut DATATYPES_INFO_1W; -pub type LPDATATYPES_INFO_1W = *mut DATATYPES_INFO_1W; -STRUCT!{struct PRINTER_DEFAULTSA { - pDataType: LPSTR, - pDevMode: LPDEVMODEA, - DesiredAccess: ACCESS_MASK, -}} -pub type PPRINTER_DEFAULTSA = *mut PRINTER_DEFAULTSA; -pub type LPPRINTER_DEFAULTSA = *mut PRINTER_DEFAULTSA; -STRUCT!{struct PRINTER_DEFAULTSW { - pDataType: LPWSTR, - pDevMode: LPDEVMODEW, - DesiredAccess: ACCESS_MASK, -}} -pub type PPRINTER_DEFAULTSW = *mut PRINTER_DEFAULTSW; -pub type LPPRINTER_DEFAULTSW = *mut PRINTER_DEFAULTSW; -STRUCT!{struct PRINTER_ENUM_VALUESA { - pValueName: LPSTR, - cbValueName: DWORD, - dwType: DWORD, - pData: LPBYTE, - cbData: DWORD, -}} -pub type PPRINTER_ENUM_VALUESA = *mut PRINTER_ENUM_VALUESA; -pub type LPPRINTER_ENUM_VALUESA = *mut PRINTER_ENUM_VALUESA; -STRUCT!{struct PRINTER_ENUM_VALUESW { - pValueName: LPWSTR, - cbValueName: DWORD, - dwType: DWORD, - pData: LPBYTE, - cbData: DWORD, -}} -pub type PPRINTER_ENUM_VALUESW = *mut PRINTER_ENUM_VALUESW; -pub type LPPRINTER_ENUM_VALUESW = *mut PRINTER_ENUM_VALUESW; -extern "system" { - pub fn EnumPrintersA( - Flags: DWORD, - Name: LPSTR, - Level: DWORD, - pPrinterEnum: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - pcReturned: LPDWORD, - ) -> BOOL; - pub fn EnumPrintersW( - Flags: DWORD, - Name: LPWSTR, - Level: DWORD, - pPrinterEnum: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - pcReturned: LPDWORD, - ) -> BOOL; -} -pub const PRINTER_ENUM_DEFAULT: DWORD = 0x00000001; -pub const PRINTER_ENUM_LOCAL: DWORD = 0x00000002; -pub const PRINTER_ENUM_CONNECTIONS: DWORD = 0x00000004; -pub const PRINTER_ENUM_FAVORITE: DWORD = 0x00000004; -pub const PRINTER_ENUM_NAME: DWORD = 0x00000008; -pub const PRINTER_ENUM_REMOTE: DWORD = 0x00000010; -pub const PRINTER_ENUM_SHARED: DWORD = 0x00000020; -pub const PRINTER_ENUM_NETWORK: DWORD = 0x00000040; -pub const PRINTER_ENUM_EXPAND: DWORD = 0x00004000; -pub const PRINTER_ENUM_CONTAINER: DWORD = 0x00008000; -pub const PRINTER_ENUM_ICONMASK: DWORD = 0x00ff0000; -pub const PRINTER_ENUM_ICON1: DWORD = 0x00010000; -pub const PRINTER_ENUM_ICON2: DWORD = 0x00020000; -pub const PRINTER_ENUM_ICON3: DWORD = 0x00040000; -pub const PRINTER_ENUM_ICON4: DWORD = 0x00080000; -pub const PRINTER_ENUM_ICON5: DWORD = 0x00100000; -pub const PRINTER_ENUM_ICON6: DWORD = 0x00200000; -pub const PRINTER_ENUM_ICON7: DWORD = 0x00400000; -pub const PRINTER_ENUM_ICON8: DWORD = 0x00800000; -pub const PRINTER_ENUM_HIDE: DWORD = 0x01000000; -pub const PRINTER_ENUM_CATEGORY_ALL: DWORD = 0x02000000; -pub const PRINTER_ENUM_CATEGORY_3D: DWORD = 0x04000000; -pub const SPOOL_FILE_PERSISTENT: DWORD = 0x00000001; -pub const SPOOL_FILE_TEMPORARY: DWORD = 0x00000002; -extern "system" { - pub fn GetSpoolFileHandle( - hPrinter: HANDLE, - ) -> HANDLE; - pub fn CommitSpoolData( - hPrinter: HANDLE, - hSpoolFile: HANDLE, - cbCommit: DWORD, - ) -> HANDLE; - pub fn CloseSpoolFileHandle( - hPrinter: HANDLE, - hSpoolFile: HANDLE, - ) -> BOOL; - pub fn OpenPrinterA( - pPrinterName: LPSTR, - phPrinter: LPHANDLE, - pDefault: LPPRINTER_DEFAULTSA, - ) -> BOOL; - pub fn OpenPrinterW( - pPrinterName: LPWSTR, - phPrinter: LPHANDLE, - pDefault: LPPRINTER_DEFAULTSW, - ) -> BOOL; - pub fn ResetPrinterA( - hPrinter: HANDLE, - pDefault: LPPRINTER_DEFAULTSA, - ) -> BOOL; - pub fn ResetPrinterW( - hPrinter: HANDLE, - pDefault: LPPRINTER_DEFAULTSW, - ) -> BOOL; - pub fn SetJobA( - hPrinter: HANDLE, - JobId: DWORD, - Level: DWORD, - pJob: LPBYTE, - Command: DWORD, - ) -> BOOL; - pub fn SetJobW( - hPrinter: HANDLE, - JobId: DWORD, - Level: DWORD, - pJob: LPBYTE, - Command: DWORD, - ) -> BOOL; - pub fn GetJobA( - hPrinter: HANDLE, - JobId: DWORD, - Level: DWORD, - pJob: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - ) -> BOOL; - pub fn GetJobW( - hPrinter: HANDLE, - JobId: DWORD, - Level: DWORD, - pJob: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - ) -> BOOL; - pub fn EnumJobsA( - hPrinter: HANDLE, - FirstJob: DWORD, - NoJobs: DWORD, - Level: DWORD, - pJob: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - pcReturned: LPDWORD, - ) -> BOOL; - pub fn EnumJobsW( - hPrinter: HANDLE, - FirstJob: DWORD, - NoJobs: DWORD, - Level: DWORD, - pJob: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - pcReturned: LPDWORD, - ) -> BOOL; - pub fn AddPrinterA( - pName: LPSTR, - Level: DWORD, - pPrinter: LPBYTE, - ) -> HANDLE; - pub fn AddPrinterW( - pName: LPWSTR, - Level: DWORD, - pPrinter: LPBYTE, - ) -> HANDLE; - pub fn DeletePrinter( - hPrinter: HANDLE, - ) -> BOOL; - pub fn SetPrinterA( - hPrinter: HANDLE, - Level: DWORD, - pPrinter: LPBYTE, - Command: DWORD, - ) -> BOOL; - pub fn SetPrinterW( - hPrinter: HANDLE, - Level: DWORD, - pPrinter: LPBYTE, - Command: DWORD, - ) -> BOOL; - pub fn GetPrinterA( - hPrinter: HANDLE, - Level: DWORD, - pPrinter: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - ) -> BOOL; - pub fn GetPrinterW( - hPrinter: HANDLE, - Level: DWORD, - pPrinter: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - ) -> BOOL; - pub fn AddPrinterDriverA( - pName: LPSTR, - Level: DWORD, - pDriverInfo: LPBYTE, - ) -> BOOL; - pub fn AddPrinterDriverW( - pName: LPWSTR, - Level: DWORD, - pDriverInfo: LPBYTE, - ) -> BOOL; - pub fn AddPrinterDriverExA( - pName: LPSTR, - Level: DWORD, - pDriverInfo: PBYTE, - dwFileCopyFlags: DWORD, - ) -> BOOL; - pub fn AddPrinterDriverExW( - pName: LPWSTR, - Level: DWORD, - pDriverInfo: PBYTE, - dwFileCopyFlags: DWORD, - ) -> BOOL; - pub fn EnumPrinterDriversA( - pName: LPSTR, - pEnvironment: LPSTR, - Level: DWORD, - pDriverInfo: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - pcReturned: LPDWORD, - ) -> BOOL; - pub fn EnumPrinterDriversW( - pName: LPWSTR, - pEnvironment: LPWSTR, - Level: DWORD, - pDriverInfo: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - pcReturned: LPDWORD, - ) -> BOOL; - pub fn GetPrinterDriverA( - hPrinter: HANDLE, - pEnvironment: LPSTR, - Level: DWORD, - pDriverInfo: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - ) -> BOOL; - pub fn GetPrinterDriverW( - hPrinter: HANDLE, - pEnvironment: LPWSTR, - Level: DWORD, - pDriverInfo: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - ) -> BOOL; - pub fn GetPrinterDriverDirectoryA( - pName: LPSTR, - pEnvironment: LPSTR, - Level: DWORD, - pDriverDirectory: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - ) -> BOOL; - pub fn GetPrinterDriverDirectoryW( - pName: LPWSTR, - pEnvironment: LPWSTR, - Level: DWORD, - pDriverDirectory: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - ) -> BOOL; - pub fn DeletePrinterDriverA( - pName: LPSTR, - pEnvironment: LPSTR, - pDriverName: LPSTR, - ) -> BOOL; - pub fn DeletePrinterDriverW( - pName: LPWSTR, - pEnvironment: LPWSTR, - pDriverName: LPWSTR, - ) -> BOOL; - pub fn DeletePrinterDriverExA( - pName: LPSTR, - pEnvironment: LPSTR, - pDriverName: LPSTR, - dwDeleteFlag: DWORD, - dwVersionFlag: DWORD, - ) -> BOOL; - pub fn DeletePrinterDriverExW( - pName: LPWSTR, - pEnvironment: LPWSTR, - pDriverName: LPWSTR, - dwDeleteFlag: DWORD, - dwVersionFlag: DWORD, - ) -> BOOL; - pub fn AddPrintProcessorA( - pName: LPSTR, - pEnvironment: LPSTR, - pPathName: LPSTR, - pPrintProcessorName: LPSTR, - ) -> BOOL; - pub fn AddPrintProcessorW( - pName: LPWSTR, - pEnvironment: LPWSTR, - pPathName: LPWSTR, - pPrintProcessorName: LPWSTR, - ) -> BOOL; - pub fn EnumPrintProcessorsA( - pName: LPSTR, - pEnvironment: LPSTR, - Level: DWORD, - pPrintProcessorInfo: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - pcReturned: LPDWORD, - ) -> BOOL; - pub fn EnumPrintProcessorsW( - pName: LPWSTR, - pEnvironment: LPWSTR, - Level: DWORD, - pPrintProcessorInfo: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - pcReturned: LPDWORD, - ) -> BOOL; - pub fn GetPrintProcessorDirectoryA( - pName: LPSTR, - pEnvironment: LPSTR, - Level: DWORD, - pPrintProcessorInfo: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - ) -> BOOL; - pub fn GetPrintProcessorDirectoryW( - pName: LPWSTR, - pEnvironment: LPWSTR, - Level: DWORD, - pPrintProcessorInfo: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - ) -> BOOL; - pub fn EnumPrintProcessorDatatypesA( - pName: LPSTR, - pPrintProcessorName: LPSTR, - Level: DWORD, - pDatatypes: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - pcReturned: LPDWORD, - ) -> BOOL; - pub fn EnumPrintProcessorDatatypesW( - pName: LPWSTR, - pPrintProcessorName: LPWSTR, - Level: DWORD, - pDatatypes: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - pcReturned: LPDWORD, - ) -> BOOL; - pub fn DeletePrintProcessorA( - pName: LPSTR, - pEnvironment: LPSTR, - pPrintProcessorName: LPSTR, - ) -> BOOL; - pub fn DeletePrintProcessorW( - pName: LPWSTR, - pEnvironment: LPWSTR, - pPrintProcessorName: LPWSTR, - ) -> BOOL; - pub fn StartDocPrinterA( - hPrinter: HANDLE, - Level: DWORD, - pDocInfo: LPBYTE, - ) -> DWORD; - pub fn StartDocPrinterW( - hPrinter: HANDLE, - Level: DWORD, - pDocInfo: LPBYTE, - ) -> DWORD; - pub fn StartPagePrinter( - hPrinter: HANDLE, - ) -> BOOL; - pub fn WritePrinter( - hPrinter: HANDLE, - pBuf: LPVOID, - cbBuf: DWORD, - pcWritten: LPDWORD, - ) -> BOOL; - pub fn FlushPrinter( - hPrinter: HANDLE, - pBuf: LPVOID, - cbBuf: DWORD, - pcWritten: LPDWORD, - cSleep: DWORD, - ) -> BOOL; - pub fn EndPagePrinter( - hPrinter: HANDLE, - ) -> BOOL; - pub fn AbortPrinter( - hPrinter: HANDLE, - ) -> BOOL; - pub fn ReadPrinter( - hPrinter: HANDLE, - pBuf: LPVOID, - cbBuf: DWORD, - pNoBytesRead: LPDWORD, - ) -> BOOL; - pub fn EndDocPrinter( - hPrinter: HANDLE, - ) -> BOOL; - pub fn AddJobA( - hPrinter: HANDLE, - Level: DWORD, - pData: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - ) -> BOOL; - pub fn AddJobW( - hPrinter: HANDLE, - Level: DWORD, - pData: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - ) -> BOOL; - pub fn ScheduleJob( - hPrinter: HANDLE, - JobId: DWORD, - ) -> BOOL; - pub fn PrinterProperties( - hWnd: HWND, - hPrinter: HANDLE, - ) -> BOOL; - pub fn DocumentPropertiesA( - hWnd: HWND, - hPrinter: HANDLE, - pDeviceName: LPSTR, - pDevModeOutput: PDEVMODEA, - pDevModeInput: PDEVMODEA, - fMode: DWORD, - ) -> LONG; - pub fn DocumentPropertiesW( - hWnd: HWND, - hPrinter: HANDLE, - pDeviceName: LPWSTR, - pDevModeOutput: PDEVMODEW, - pDevModeInput: PDEVMODEW, - fMode: DWORD, - ) -> LONG; - pub fn AdvancedDocumentPropertiesA( - hWnd: HWND, - hPrinter: HANDLE, - pDeviceName: LPSTR, - pDevModeOutput: PDEVMODEA, - pDevModeInput: PDEVMODEA, - ) -> LONG; - pub fn AdvancedDocumentPropertiesW( - hWnd: HWND, - hPrinter: HANDLE, - pDeviceName: LPWSTR, - pDevModeOutput: PDEVMODEW, - pDevModeInput: PDEVMODEW, - ) -> LONG; - pub fn ExtDeviceMode( - hWnd: HWND, - hInst: HANDLE, - pDevModeOutput: LPDEVMODEA, - pDeviceName: LPSTR, - pPort: LPSTR, - pDevModeInput: LPDEVMODEA, - pProfile: LPSTR, - fMode: DWORD, - ) -> LONG; - pub fn GetPrinterDataA( - hPrinter: HANDLE, - pValueName: LPSTR, - pType: LPDWORD, - pData: LPBYTE, - nSize: DWORD, - pcbNeeded: LPDWORD, - ) -> DWORD; - pub fn GetPrinterDataW( - hPrinter: HANDLE, - pValueName: LPWSTR, - pType: LPDWORD, - pData: LPBYTE, - nSize: DWORD, - pcbNeeded: LPDWORD, - ) -> DWORD; - pub fn GetPrinterDataExA( - hPrinter: HANDLE, - pKeyName: LPCSTR, - pValueName: LPCSTR, - pType: LPDWORD, - pData: LPBYTE, - nSize: DWORD, - pcbNeeded: LPDWORD, - ) -> DWORD; - pub fn GetPrinterDataExW( - hPrinter: HANDLE, - pKeyName: LPCWSTR, - pValueName: LPCWSTR, - pType: LPDWORD, - pData: LPBYTE, - nSize: DWORD, - pcbNeeded: LPDWORD, - ) -> DWORD; - pub fn EnumPrinterDataA( - hPrinter: HANDLE, - dwIndex: DWORD, - pValueName: LPSTR, - cbValueName: DWORD, - pcbValueName: LPDWORD, - pType: LPDWORD, - pData: LPBYTE, - cbData: DWORD, - pcbData: LPDWORD, - ) -> DWORD; - pub fn EnumPrinterDataW( - hPrinter: HANDLE, - dwIndex: DWORD, - pValueName: LPWSTR, - cbValueName: DWORD, - pcbValueName: LPDWORD, - pType: LPDWORD, - pData: LPBYTE, - cbData: DWORD, - pcbData: LPDWORD, - ) -> DWORD; - pub fn EnumPrinterDataExA( - hPrinter: HANDLE, - pKeyName: LPCSTR, - pEnumValues: LPBYTE, - cbEnumValues: DWORD, - pcbEnumValues: LPDWORD, - pnEnumValues: LPDWORD, - ) -> DWORD; - pub fn EnumPrinterDataExW( - hPrinter: HANDLE, - pKeyName: LPCWSTR, - pEnumValues: LPBYTE, - cbEnumValues: DWORD, - pcbEnumValues: LPDWORD, - pnEnumValues: LPDWORD, - ) -> DWORD; - pub fn EnumPrinterKeyA( - hPrinter: HANDLE, - pKeyName: LPCSTR, - pSubKey: LPSTR, - cbSubkey: DWORD, - pcbSubkey: LPDWORD, - ) -> DWORD; - pub fn EnumPrinterKeyW( - hPrinter: HANDLE, - pKeyName: LPCWSTR, - pSubKey: LPWSTR, - cbSubkey: DWORD, - pcbSubkey: LPDWORD, - ) -> DWORD; - pub fn SetPrinterDataA( - hPrinter: HANDLE, - pValueName: LPSTR, - Type: DWORD, - pData: LPBYTE, - cbData: DWORD, - ) -> DWORD; - pub fn SetPrinterDataW( - hPrinter: HANDLE, - pValueName: LPWSTR, - Type: DWORD, - pData: LPBYTE, - cbData: DWORD, - ) -> DWORD; - pub fn SetPrinterDataExA( - hPrinter: HANDLE, - pKeyName: LPCSTR, - pValueName: LPCSTR, - Type: DWORD, - pData: LPBYTE, - cbData: DWORD, - ) -> DWORD; - pub fn SetPrinterDataExW( - hPrinter: HANDLE, - pKeyName: LPCWSTR, - pValueName: LPCWSTR, - Type: DWORD, - pData: LPBYTE, - cbData: DWORD, - ) -> DWORD; - pub fn DeletePrinterDataA( - hPrinter: HANDLE, - pValueName: LPSTR, - ) -> DWORD; - pub fn DeletePrinterDataW( - hPrinter: HANDLE, - pValueName: LPWSTR, - ) -> DWORD; - pub fn DeletePrinterDataExA( - hPrinter: HANDLE, - pKeyName: LPCSTR, - pValueName: LPCSTR, - ) -> DWORD; - pub fn DeletePrinterDataExW( - hPrinter: HANDLE, - pKeyName: LPCWSTR, - pValueName: LPCWSTR, - ) -> DWORD; - pub fn DeletePrinterKeyA( - hPrinter: HANDLE, - pKeyName: LPCSTR, - ) -> DWORD; - pub fn DeletePrinterKeyW( - hPrinter: HANDLE, - pKeyName: LPCWSTR, - ) -> DWORD; -} -pub const PRINTER_NOTIFY_TYPE: DWORD = 0x00; -pub const JOB_NOTIFY_TYPE: DWORD = 0x01; -pub const SERVER_NOTIFY_TYPE: DWORD = 0x02; -pub const PRINTER_NOTIFY_FIELD_SERVER_NAME: DWORD = 0x00; -pub const PRINTER_NOTIFY_FIELD_PRINTER_NAME: DWORD = 0x01; -pub const PRINTER_NOTIFY_FIELD_SHARE_NAME: DWORD = 0x02; -pub const PRINTER_NOTIFY_FIELD_PORT_NAME: DWORD = 0x03; -pub const PRINTER_NOTIFY_FIELD_DRIVER_NAME: DWORD = 0x04; -pub const PRINTER_NOTIFY_FIELD_COMMENT: DWORD = 0x05; -pub const PRINTER_NOTIFY_FIELD_LOCATION: DWORD = 0x06; -pub const PRINTER_NOTIFY_FIELD_DEVMODE: DWORD = 0x07; -pub const PRINTER_NOTIFY_FIELD_SEPFILE: DWORD = 0x08; -pub const PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR: DWORD = 0x09; -pub const PRINTER_NOTIFY_FIELD_PARAMETERS: DWORD = 0x0A; -pub const PRINTER_NOTIFY_FIELD_DATATYPE: DWORD = 0x0B; -pub const PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR: DWORD = 0x0C; -pub const PRINTER_NOTIFY_FIELD_ATTRIBUTES: DWORD = 0x0D; -pub const PRINTER_NOTIFY_FIELD_PRIORITY: DWORD = 0x0E; -pub const PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY: DWORD = 0x0F; -pub const PRINTER_NOTIFY_FIELD_START_TIME: DWORD = 0x10; -pub const PRINTER_NOTIFY_FIELD_UNTIL_TIME: DWORD = 0x11; -pub const PRINTER_NOTIFY_FIELD_STATUS: DWORD = 0x12; -pub const PRINTER_NOTIFY_FIELD_STATUS_STRING: DWORD = 0x13; -pub const PRINTER_NOTIFY_FIELD_CJOBS: DWORD = 0x14; -pub const PRINTER_NOTIFY_FIELD_AVERAGE_PPM: DWORD = 0x15; -pub const PRINTER_NOTIFY_FIELD_TOTAL_PAGES: DWORD = 0x16; -pub const PRINTER_NOTIFY_FIELD_PAGES_PRINTED: DWORD = 0x17; -pub const PRINTER_NOTIFY_FIELD_TOTAL_BYTES: DWORD = 0x18; -pub const PRINTER_NOTIFY_FIELD_BYTES_PRINTED: DWORD = 0x19; -pub const PRINTER_NOTIFY_FIELD_OBJECT_GUID: DWORD = 0x1A; -pub const PRINTER_NOTIFY_FIELD_FRIENDLY_NAME: DWORD = 0x1B; -pub const PRINTER_NOTIFY_FIELD_BRANCH_OFFICE_PRINTING: DWORD = 0x1C; -pub const JOB_NOTIFY_FIELD_PRINTER_NAME: DWORD = 0x00; -pub const JOB_NOTIFY_FIELD_MACHINE_NAME: DWORD = 0x01; -pub const JOB_NOTIFY_FIELD_PORT_NAME: DWORD = 0x02; -pub const JOB_NOTIFY_FIELD_USER_NAME: DWORD = 0x03; -pub const JOB_NOTIFY_FIELD_NOTIFY_NAME: DWORD = 0x04; -pub const JOB_NOTIFY_FIELD_DATATYPE: DWORD = 0x05; -pub const JOB_NOTIFY_FIELD_PRINT_PROCESSOR: DWORD = 0x06; -pub const JOB_NOTIFY_FIELD_PARAMETERS: DWORD = 0x07; -pub const JOB_NOTIFY_FIELD_DRIVER_NAME: DWORD = 0x08; -pub const JOB_NOTIFY_FIELD_DEVMODE: DWORD = 0x09; -pub const JOB_NOTIFY_FIELD_STATUS: DWORD = 0x0A; -pub const JOB_NOTIFY_FIELD_STATUS_STRING: DWORD = 0x0B; -pub const JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR: DWORD = 0x0C; -pub const JOB_NOTIFY_FIELD_DOCUMENT: DWORD = 0x0D; -pub const JOB_NOTIFY_FIELD_PRIORITY: DWORD = 0x0E; -pub const JOB_NOTIFY_FIELD_POSITION: DWORD = 0x0F; -pub const JOB_NOTIFY_FIELD_SUBMITTED: DWORD = 0x10; -pub const JOB_NOTIFY_FIELD_START_TIME: DWORD = 0x11; -pub const JOB_NOTIFY_FIELD_UNTIL_TIME: DWORD = 0x12; -pub const JOB_NOTIFY_FIELD_TIME: DWORD = 0x13; -pub const JOB_NOTIFY_FIELD_TOTAL_PAGES: DWORD = 0x14; -pub const JOB_NOTIFY_FIELD_PAGES_PRINTED: DWORD = 0x15; -pub const JOB_NOTIFY_FIELD_TOTAL_BYTES: DWORD = 0x16; -pub const JOB_NOTIFY_FIELD_BYTES_PRINTED: DWORD = 0x17; -pub const JOB_NOTIFY_FIELD_REMOTE_JOB_ID: DWORD = 0x18; -pub const SERVER_NOTIFY_FIELD_PRINT_DRIVER_ISOLATION_GROUP: DWORD = 0x00; -pub const PRINTER_NOTIFY_CATEGORY_ALL: DWORD = 0x001000; -pub const PRINTER_NOTIFY_CATEGORY_3D: DWORD = 0x002000; -STRUCT!{struct PRINTER_NOTIFY_OPTIONS_TYPE { - Type: WORD, - Reserved0: WORD, - Reserved1: DWORD, - Reserved2: DWORD, - Count: DWORD, - pFields: PWORD, -}} -pub type PPRINTER_NOTIFY_OPTIONS_TYPE = *mut PRINTER_NOTIFY_OPTIONS_TYPE; -pub type LPPRINTER_NOTIFY_OPTIONS_TYPE = *mut PRINTER_NOTIFY_OPTIONS_TYPE; -pub const PRINTER_NOTIFY_OPTIONS_REFRESH: DWORD = 0x01; -STRUCT!{struct PRINTER_NOTIFY_OPTIONS { - Version: DWORD, - Flags: DWORD, - Count: DWORD, - pTypes: PPRINTER_NOTIFY_OPTIONS_TYPE, -}} -pub type PPRINTER_NOTIFY_OPTIONS = *mut PRINTER_NOTIFY_OPTIONS; -pub type LPPRINTER_NOTIFY_OPTIONS = *mut PRINTER_NOTIFY_OPTIONS; -pub const PRINTER_NOTIFY_INFO_DISCARDED: DWORD = 0x01; -STRUCT!{struct PRINTER_NOTIFY_INFO_DATA_NotifyData_Data { - cbBuf: DWORD, - pBuf: LPVOID, -}} -UNION!{union PRINTER_NOTIFY_INFO_DATA_NotifyData { - [usize; 2], - adwData adwData_mut: [DWORD; 2], - Data Data_mut: PRINTER_NOTIFY_INFO_DATA_NotifyData_Data, -}} -STRUCT!{struct PRINTER_NOTIFY_INFO_DATA { - Type: WORD, - Field: WORD, - Reserved: DWORD, - Id: DWORD, - NotifyData: PRINTER_NOTIFY_INFO_DATA_NotifyData, -}} -pub type PPRINTER_NOTIFY_INFO_DATA = *mut PRINTER_NOTIFY_INFO_DATA; -pub type LPPRINTER_NOTIFY_INFO_DATA = *mut PRINTER_NOTIFY_INFO_DATA; -STRUCT!{struct PRINTER_NOTIFY_INFO { - Version: DWORD, - Flags: DWORD, - Count: DWORD, - aData: [PRINTER_NOTIFY_INFO_DATA; 1], -}} -pub type PPRINTER_NOTIFY_INFO = *mut PRINTER_NOTIFY_INFO; -pub type LPPRINTER_NOTIFY_INFO = *mut PRINTER_NOTIFY_INFO; -STRUCT!{struct BINARY_CONTAINER { - cbBuf: DWORD, - pData: LPBYTE, -}} -pub type PBINARY_CONTAINER = *mut BINARY_CONTAINER; -UNION!{union BIDI_DATA_u { - [usize; 2], - bData bData_mut: BOOL, - iData iData_mut: LONG, - sData sData_mut: LPWSTR, - fData fData_mut: FLOAT, - biData biData_mut: BINARY_CONTAINER, -}} -STRUCT!{struct BIDI_DATA { - dwBidiType: DWORD, - u: BIDI_DATA_u, -}} -pub type PBIDI_DATA = *mut BIDI_DATA; -pub type LPBIDI_DATA = *mut BIDI_DATA; -STRUCT!{struct BIDI_REQUEST_DATA { - dwReqNumber: DWORD, - pSchema: LPWSTR, - data: BIDI_DATA, -}} -pub type PBIDI_REQUEST_DATA = *mut BIDI_REQUEST_DATA; -pub type LPBIDI_REQUEST_DATA = *mut BIDI_REQUEST_DATA; -STRUCT!{struct BIDI_REQUEST_CONTAINER { - Version: DWORD, - Flags: DWORD, - Count: DWORD, - aData: [BIDI_REQUEST_DATA; 1], -}} -pub type PBIDI_REQUEST_CONTAINER = *mut BIDI_REQUEST_CONTAINER; -pub type LPBIDI_REQUEST_CONTAINER = *mut BIDI_REQUEST_CONTAINER; -STRUCT!{struct BIDI_RESPONSE_DATA { - dwResult: DWORD, - dwReqNumber: DWORD, - pSchema: LPWSTR, - data: BIDI_DATA, -}} -pub type PBIDI_RESPONSE_DATA = *mut BIDI_RESPONSE_DATA; -pub type LPBIDI_RESPONSE_DATA = *mut BIDI_RESPONSE_DATA; -STRUCT!{struct BIDI_RESPONSE_CONTAINER { - Version: DWORD, - Flags: DWORD, - Count: DWORD, - aData: [BIDI_RESPONSE_DATA; 1], -}} -pub type PBIDI_RESPONSE_CONTAINER = *mut BIDI_RESPONSE_CONTAINER; -pub type LPBIDI_RESPONSE_CONTAINER = *mut BIDI_RESPONSE_CONTAINER; -pub const BIDI_ACTION_ENUM_SCHEMA: &'static str = "EnumSchema"; -pub const BIDI_ACTION_GET: &'static str = "Get"; -pub const BIDI_ACTION_SET: &'static str = "Set"; -pub const BIDI_ACTION_GET_ALL: &'static str = "GetAll"; -pub const BIDI_ACTION_GET_WITH_ARGUMENT: &'static str = "GetWithArgument"; -ENUM!{enum BIDI_TYPE { - BIDI_NULL = 0, - BIDI_INT = 1, - BIDI_FLOAT = 2, - BIDI_BOOL = 3, - BIDI_STRING = 4, - BIDI_TEXT = 5, - BIDI_ENUM = 6, - BIDI_BLOB = 7, -}} -pub const BIDI_ACCESS_ADMINISTRATOR: DWORD = 0x1; -pub const BIDI_ACCESS_USER: DWORD = 0x2; -pub const ERROR_BIDI_STATUS_OK: DWORD = 0; -pub const ERROR_BIDI_NOT_SUPPORTED: DWORD = ERROR_NOT_SUPPORTED; -pub const ERROR_BIDI_ERROR_BASE: DWORD = 13000; -pub const ERROR_BIDI_STATUS_WARNING: DWORD = ERROR_BIDI_ERROR_BASE + 1; -pub const ERROR_BIDI_SCHEMA_READ_ONLY: DWORD = ERROR_BIDI_ERROR_BASE + 2; -pub const ERROR_BIDI_SERVER_OFFLINE: DWORD = ERROR_BIDI_ERROR_BASE + 3; -pub const ERROR_BIDI_DEVICE_OFFLINE: DWORD = ERROR_BIDI_ERROR_BASE + 4; -pub const ERROR_BIDI_SCHEMA_NOT_SUPPORTED: DWORD = ERROR_BIDI_ERROR_BASE + 5; -pub const ERROR_BIDI_SET_DIFFERENT_TYPE: DWORD = ERROR_BIDI_ERROR_BASE + 6; -pub const ERROR_BIDI_SET_MULTIPLE_SCHEMAPATH: DWORD = ERROR_BIDI_ERROR_BASE + 7; -pub const ERROR_BIDI_SET_INVALID_SCHEMAPATH: DWORD = ERROR_BIDI_ERROR_BASE + 8; -pub const ERROR_BIDI_SET_UNKNOWN_FAILURE: DWORD = ERROR_BIDI_ERROR_BASE + 9; -pub const ERROR_BIDI_SCHEMA_WRITE_ONLY: DWORD = ERROR_BIDI_ERROR_BASE + 10; -pub const ERROR_BIDI_GET_REQUIRES_ARGUMENT: DWORD = ERROR_BIDI_ERROR_BASE + 11; -pub const ERROR_BIDI_GET_ARGUMENT_NOT_SUPPORTED: DWORD = ERROR_BIDI_ERROR_BASE + 12; -pub const ERROR_BIDI_GET_MISSING_ARGUMENT: DWORD = ERROR_BIDI_ERROR_BASE + 13; -pub const ERROR_BIDI_DEVICE_CONFIG_UNCHANGED: DWORD = ERROR_BIDI_ERROR_BASE + 14; -pub const ERROR_BIDI_NO_LOCALIZED_RESOURCES: DWORD = ERROR_BIDI_ERROR_BASE + 15; -pub const ERROR_BIDI_NO_BIDI_SCHEMA_EXTENSIONS: DWORD = ERROR_BIDI_ERROR_BASE + 16; -pub const ERROR_BIDI_UNSUPPORTED_CLIENT_LANGUAGE: DWORD = ERROR_BIDI_ERROR_BASE + 17; -pub const ERROR_BIDI_UNSUPPORTED_RESOURCE_FORMAT: DWORD = ERROR_BIDI_ERROR_BASE + 18; -extern "system" { - pub fn WaitForPrinterChange( - hPrinter: HANDLE, - Flags: DWORD, - ) -> DWORD; - pub fn FindFirstPrinterChangeNotification( - hPrinter: HANDLE, - fdwFilter: DWORD, - fdwOptions: DWORD, - pPrinterNotifyOptions: LPVOID, - ) -> HANDLE; - pub fn FindNextPrinterChangeNotification( - hChange: HANDLE, - pdwChange: PDWORD, - pPrinterNotifyOptions: LPVOID, - ppPrinterNotifyInfo: *mut LPVOID, - ) -> BOOL; - pub fn FreePrinterNotifyInfo( - pPrinterNotifyInfo: PPRINTER_NOTIFY_INFO, - ) -> BOOL; - pub fn FindClosePrinterChangeNotification( - hChange: HANDLE, - ) -> BOOL; -} -pub const PRINTER_CHANGE_ADD_PRINTER: DWORD = 0x00000001; -pub const PRINTER_CHANGE_SET_PRINTER: DWORD = 0x00000002; -pub const PRINTER_CHANGE_DELETE_PRINTER: DWORD = 0x00000004; -pub const PRINTER_CHANGE_FAILED_CONNECTION_PRINTER: DWORD = 0x00000008; -pub const PRINTER_CHANGE_PRINTER: DWORD = 0x000000FF; -pub const PRINTER_CHANGE_ADD_JOB: DWORD = 0x00000100; -pub const PRINTER_CHANGE_SET_JOB: DWORD = 0x00000200; -pub const PRINTER_CHANGE_DELETE_JOB: DWORD = 0x00000400; -pub const PRINTER_CHANGE_WRITE_JOB: DWORD = 0x00000800; -pub const PRINTER_CHANGE_JOB: DWORD = 0x0000FF00; -pub const PRINTER_CHANGE_ADD_FORM: DWORD = 0x00010000; -pub const PRINTER_CHANGE_SET_FORM: DWORD = 0x00020000; -pub const PRINTER_CHANGE_DELETE_FORM: DWORD = 0x00040000; -pub const PRINTER_CHANGE_FORM: DWORD = 0x00070000; -pub const PRINTER_CHANGE_ADD_PORT: DWORD = 0x00100000; -pub const PRINTER_CHANGE_CONFIGURE_PORT: DWORD = 0x00200000; -pub const PRINTER_CHANGE_DELETE_PORT: DWORD = 0x00400000; -pub const PRINTER_CHANGE_PORT: DWORD = 0x00700000; -pub const PRINTER_CHANGE_ADD_PRINT_PROCESSOR: DWORD = 0x01000000; -pub const PRINTER_CHANGE_DELETE_PRINT_PROCESSOR: DWORD = 0x04000000; -pub const PRINTER_CHANGE_PRINT_PROCESSOR: DWORD = 0x07000000; -pub const PRINTER_CHANGE_SERVER: DWORD = 0x08000000; -pub const PRINTER_CHANGE_ADD_PRINTER_DRIVER: DWORD = 0x10000000; -pub const PRINTER_CHANGE_SET_PRINTER_DRIVER: DWORD = 0x20000000; -pub const PRINTER_CHANGE_DELETE_PRINTER_DRIVER: DWORD = 0x40000000; -pub const PRINTER_CHANGE_PRINTER_DRIVER: DWORD = 0x70000000; -pub const PRINTER_CHANGE_TIMEOUT: DWORD = 0x80000000; -pub const PRINTER_CHANGE_ALL: DWORD = 0x7F77FFFF; -extern "system" { - pub fn PrinterMessageBoxA( - hPrinter: HANDLE, - Error: DWORD, - hWnd: HWND, - pText: LPSTR, - pCaption: LPSTR, - dwType: DWORD, - ) -> DWORD; - pub fn PrinterMessageBoxW( - hPrinter: HANDLE, - Error: DWORD, - hWnd: HWND, - pText: LPWSTR, - pCaption: LPWSTR, - dwType: DWORD, - ) -> DWORD; -} -pub const PRINTER_ERROR_INFORMATION: DWORD = 0x80000000; -pub const PRINTER_ERROR_WARNING: DWORD = 0x40000000; -pub const PRINTER_ERROR_SEVERE: DWORD = 0x20000000; -pub const PRINTER_ERROR_OUTOFPAPER: DWORD = 0x00000001; -pub const PRINTER_ERROR_JAM: DWORD = 0x00000002; -pub const PRINTER_ERROR_OUTOFTONER: DWORD = 0x00000004; -extern "system" { - pub fn ClosePrinter( - hPrinter: HANDLE, - ) -> BOOL; - pub fn AddFormA( - hPrinter: HANDLE, - Level: DWORD, - pForm: LPBYTE, - ) -> BOOL; - pub fn AddFormW( - hPrinter: HANDLE, - Level: DWORD, - pForm: LPBYTE, - ) -> BOOL; - pub fn DeleteFormA( - hPrinter: HANDLE, - pFormName: LPSTR, - ) -> BOOL; - pub fn DeleteFormW( - hPrinter: HANDLE, - pFormName: LPWSTR, - ) -> BOOL; - pub fn GetFormA( - hPrinter: HANDLE, - pFormName: LPSTR, - Level: DWORD, - pForm: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - ) -> BOOL; - pub fn GetFormW( - hPrinter: HANDLE, - pFormName: LPWSTR, - Level: DWORD, - pForm: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - ) -> BOOL; - pub fn SetFormA( - hPrinter: HANDLE, - pFormName: LPSTR, - Level: DWORD, - pForm: LPBYTE, - ) -> BOOL; - pub fn SetFormW( - hPrinter: HANDLE, - pFormName: LPWSTR, - Level: DWORD, - pForm: LPBYTE, - ) -> BOOL; - pub fn EnumFormsA( - hPrinter: HANDLE, - Level: DWORD, - pForm: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - pcReturned: LPDWORD, - ) -> BOOL; - pub fn EnumFormsW( - hPrinter: HANDLE, - Level: DWORD, - pForm: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - pcReturned: LPDWORD, - ) -> BOOL; - pub fn EnumMonitorsA( - pName: LPSTR, - Level: DWORD, - pMonitor: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - pcReturned: LPDWORD, - ) -> BOOL; - pub fn EnumMonitorsW( - pName: LPWSTR, - Level: DWORD, - pMonitor: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - pcReturned: LPDWORD, - ) -> BOOL; - pub fn AddMonitorA( - pName: LPSTR, - Level: DWORD, - pMonitors: LPBYTE, - ) -> BOOL; - pub fn AddMonitorW( - pName: LPWSTR, - Level: DWORD, - pMonitors: LPBYTE, - ) -> BOOL; - pub fn DeleteMonitorA( - pName: LPSTR, - pEnvironment: LPSTR, - pMonitorName: LPSTR, - ) -> BOOL; - pub fn DeleteMonitorW( - pName: LPWSTR, - pEnvironment: LPWSTR, - pMonitorName: LPWSTR, - ) -> BOOL; - pub fn EnumPortsA( - pName: LPSTR, - Level: DWORD, - pPort: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - pcReturned: LPDWORD, - ) -> BOOL; - pub fn EnumPortsW( - pName: LPWSTR, - Level: DWORD, - pPort: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - pcReturned: LPDWORD, - ) -> BOOL; - pub fn AddPortA( - pName: LPSTR, - hWnd: HWND, - pMonitorName: LPSTR, - ) -> BOOL; - pub fn AddPortW( - pName: LPWSTR, - hWnd: HWND, - pMonitorName: LPWSTR, - ) -> BOOL; - pub fn ConfigurePortA( - pName: LPSTR, - hWnd: HWND, - pPortName: LPSTR, - ) -> BOOL; - pub fn ConfigurePortW( - pName: LPWSTR, - hWnd: HWND, - pPortName: LPWSTR, - ) -> BOOL; - pub fn DeletePortA( - pName: LPSTR, - hWnd: HWND, - pPortName: LPSTR, - ) -> BOOL; - pub fn DeletePortW( - pName: LPWSTR, - hWnd: HWND, - pPortName: LPWSTR, - ) -> BOOL; - pub fn XcvDataW( - hXcv: HANDLE, - pszDataName: PCWSTR, - pInputData: PBYTE, - cbInputData: DWORD, - pOutputData: PBYTE, - cbOutputData: DWORD, - pcbOutputNeeded: PDWORD, - pdwStatus: PDWORD, - ) -> BOOL; - pub fn GetDefaultPrinterA( - pszBuffer: LPSTR, - pcchBuffer: LPDWORD, - ) -> BOOL; - pub fn GetDefaultPrinterW( - pszBuffer: LPWSTR, - pcchBuffer: LPDWORD, - ) -> BOOL; - pub fn SetDefaultPrinterA( - pszPrinter: LPCSTR, - ) -> BOOL; - pub fn SetDefaultPrinterW( - pszPrinter: LPCWSTR, - ) -> BOOL; - pub fn SetPortA( - pName: LPSTR, - pPortName: LPSTR, - dwLevel: DWORD, - pPortInfo: LPBYTE, - ) -> BOOL; - pub fn SetPortW(pName: LPWSTR, - pPortName: LPWSTR, - dwLevel: DWORD, - pPortInfo: LPBYTE, - ) -> BOOL; - pub fn AddPrinterConnectionA( - pName: LPSTR, - ) -> BOOL; - pub fn AddPrinterConnectionW( - pName: LPWSTR, - ) -> BOOL; - pub fn DeletePrinterConnectionA( - pName: LPSTR, - ) -> BOOL; - pub fn DeletePrinterConnectionW( - pName: LPWSTR, - ) -> BOOL; - pub fn ConnectToPrinterDlg( - hwnd: HWND, - Flags: DWORD, - ) -> HANDLE; -} -STRUCT!{struct PROVIDOR_INFO_1A { - pName: LPSTR, - pEnvironment: LPSTR, - pDLLName: LPSTR, -}} -pub type PPROVIDOR_INFO_1A = *mut PROVIDOR_INFO_1A; -pub type LPPROVIDOR_INFO_1A = *mut PROVIDOR_INFO_1A; -STRUCT!{struct PROVIDOR_INFO_1W { - pName: LPWSTR, - pEnvironment: LPWSTR, - pDLLName: LPWSTR, -}} -pub type PPROVIDOR_INFO_1W = *mut PROVIDOR_INFO_1W; -pub type LPPROVIDOR_INFO_1W = *mut PROVIDOR_INFO_1W; -STRUCT!{struct PROVIDOR_INFO_2A { - pOrder: LPSTR, -}} -pub type PPROVIDOR_INFO_2A = *mut PROVIDOR_INFO_2A; -pub type LPPROVIDOR_INFO_2A = *mut PROVIDOR_INFO_2A; -STRUCT!{struct PROVIDOR_INFO_2W { - pOrder: LPWSTR, -}} -pub type PPROVIDOR_INFO_2W = *mut PROVIDOR_INFO_2W; -pub type LPPROVIDOR_INFO_2W = *mut PROVIDOR_INFO_2W; -extern "system" { - pub fn AddPrintProvidorA( - pName: LPSTR, - Level: DWORD, - pProvidorInfo: LPBYTE, - ) -> BOOL; - pub fn AddPrintProvidorW( - pName: LPWSTR, - Level: DWORD, - pProvidorInfo: LPBYTE, - ) -> BOOL; - pub fn DeletePrintProvidorA( - pName: LPSTR, - pEnvironment: LPSTR, - pPrintProvidorName: LPSTR, - ) -> BOOL; - pub fn DeletePrintProvidorW( - pName: LPWSTR, - pEnvironment: LPWSTR, - pPrintProvidorName: LPWSTR, - ) -> BOOL; - pub fn IsValidDevmodeA( - pDevmode: PDEVMODEA, - DevmodeSize: size_t, - ) -> BOOL; - pub fn IsValidDevmodeW( - pDevmode: PDEVMODEW, - DevmodeSize: size_t, - ) -> BOOL; -} -pub const SPLREG_DEFAULT_SPOOL_DIRECTORY: &'static str = "DefaultSpoolDirectory"; -pub const SPLREG_PORT_THREAD_PRIORITY_DEFAULT: &'static str = "PortThreadPriorityDefault"; -pub const SPLREG_PORT_THREAD_PRIORITY: &'static str = "PortThreadPriority"; -pub const SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULT: &'static str - = "SchedulerThreadPriorityDefault"; -pub const SPLREG_SCHEDULER_THREAD_PRIORITY: &'static str = "SchedulerThreadPriority"; -pub const SPLREG_BEEP_ENABLED: &'static str = "BeepEnabled"; -pub const SPLREG_NET_POPUP: &'static str = "NetPopup"; -pub const SPLREG_RETRY_POPUP: &'static str = "RetryPopup"; -pub const SPLREG_NET_POPUP_TO_COMPUTER: &'static str = "NetPopupToComputer"; -pub const SPLREG_EVENT_LOG: &'static str = "EventLog"; -pub const SPLREG_MAJOR_VERSION: &'static str = "MajorVersion"; -pub const SPLREG_MINOR_VERSION: &'static str = "MinorVersion"; -pub const SPLREG_ARCHITECTURE: &'static str = "Architecture"; -pub const SPLREG_OS_VERSION: &'static str = "OSVersion"; -pub const SPLREG_OS_VERSIONEX: &'static str = "OSVersionEx"; -pub const SPLREG_DS_PRESENT: &'static str = "DsPresent"; -pub const SPLREG_DS_PRESENT_FOR_USER: &'static str = "DsPresentForUser"; -pub const SPLREG_REMOTE_FAX: &'static str = "RemoteFax"; -pub const SPLREG_RESTART_JOB_ON_POOL_ERROR: &'static str = "RestartJobOnPoolError"; -pub const SPLREG_RESTART_JOB_ON_POOL_ENABLED: &'static str = "RestartJobOnPoolEnabled"; -pub const SPLREG_DNS_MACHINE_NAME: &'static str = "DNSMachineName"; -pub const SPLREG_ALLOW_USER_MANAGEFORMS: &'static str = "AllowUserManageForms"; -pub const SPLREG_WEBSHAREMGMT: &'static str = "WebShareMgmt"; -pub const SPLREG_PRINT_DRIVER_ISOLATION_GROUPS_SEPARATOR: &'static str = "\\"; -pub const SPLREG_PRINT_DRIVER_ISOLATION_GROUPS: &'static str = "PrintDriverIsolationGroups"; -pub const SPLREG_PRINT_DRIVER_ISOLATION_TIME_BEFORE_RECYCLE: &'static str - = "PrintDriverIsolationTimeBeforeRecycle"; -pub const SPLREG_PRINT_DRIVER_ISOLATION_MAX_OBJECTS_BEFORE_RECYCLE: &'static str - = "PrintDriverIsolationMaxobjsBeforeRecycle"; -pub const SPLREG_PRINT_DRIVER_ISOLATION_IDLE_TIMEOUT: &'static str - = "PrintDriverIsolationIdleTimeout"; -pub const SPLREG_PRINT_DRIVER_ISOLATION_EXECUTION_POLICY: &'static str - = "PrintDriverIsolationExecutionPolicy"; -pub const SPLREG_PRINT_DRIVER_ISOLATION_OVERRIDE_POLICY: &'static str - = "PrintDriverIsolationOverrideCompat"; -pub const SPLREG_PRINT_QUEUE_V4_DRIVER_DIRECTORY: &'static str = "PrintQueueV4DriverDirectory"; -pub const SERVER_ACCESS_ADMINISTER: DWORD = 0x00000001; -pub const SERVER_ACCESS_ENUMERATE: DWORD = 0x00000002; -pub const PRINTER_ACCESS_ADMINISTER: DWORD = 0x00000004; -pub const PRINTER_ACCESS_USE: DWORD = 0x00000008; -pub const JOB_ACCESS_ADMINISTER: DWORD = 0x00000010; -pub const JOB_ACCESS_READ: DWORD = 0x00000020; -pub const PRINTER_ACCESS_MANAGE_LIMITED: DWORD = 0x00000040; -pub const SERVER_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED | SERVER_ACCESS_ADMINISTER - | SERVER_ACCESS_ENUMERATE; -pub const SERVER_READ: DWORD = STANDARD_RIGHTS_READ | SERVER_ACCESS_ENUMERATE; -pub const SERVER_WRITE: DWORD = STANDARD_RIGHTS_WRITE | SERVER_ACCESS_ADMINISTER - | SERVER_ACCESS_ENUMERATE; -pub const SERVER_EXECUTE: DWORD = STANDARD_RIGHTS_EXECUTE | SERVER_ACCESS_ENUMERATE; -pub const PRINTER_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED | PRINTER_ACCESS_ADMINISTER - | PRINTER_ACCESS_USE; -pub const PRINTER_READ: DWORD = STANDARD_RIGHTS_READ | PRINTER_ACCESS_USE; -pub const PRINTER_WRITE: DWORD = STANDARD_RIGHTS_WRITE | PRINTER_ACCESS_USE; -pub const PRINTER_EXECUTE: DWORD = STANDARD_RIGHTS_EXECUTE | PRINTER_ACCESS_USE; -pub const JOB_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED | JOB_ACCESS_ADMINISTER - | JOB_ACCESS_READ; -pub const JOB_READ: DWORD = STANDARD_RIGHTS_READ | JOB_ACCESS_READ; -pub const JOB_WRITE: DWORD = STANDARD_RIGHTS_WRITE | JOB_ACCESS_ADMINISTER; -pub const JOB_EXECUTE: DWORD = STANDARD_RIGHTS_EXECUTE | JOB_ACCESS_ADMINISTER; -pub const SPLDS_SPOOLER_KEY: &'static str = "DsSpooler"; -pub const SPLDS_DRIVER_KEY: &'static str = "DsDriver"; -pub const SPLDS_USER_KEY: &'static str = "DsUser"; -pub const SPLDS_ASSET_NUMBER: &'static str = "assetNumber"; -pub const SPLDS_BYTES_PER_MINUTE: &'static str = "bytesPerMinute"; -pub const SPLDS_DESCRIPTION: &'static str = "description"; -pub const SPLDS_DRIVER_NAME: &'static str = "driverName"; -pub const SPLDS_DRIVER_VERSION: &'static str = "driverVersion"; -pub const SPLDS_LOCATION: &'static str = "location"; -pub const SPLDS_PORT_NAME: &'static str = "portName"; -pub const SPLDS_PRINT_ATTRIBUTES: &'static str = "printAttributes"; -pub const SPLDS_PRINT_BIN_NAMES: &'static str = "printBinNames"; -pub const SPLDS_PRINT_COLLATE: &'static str = "printCollate"; -pub const SPLDS_PRINT_COLOR: &'static str = "printColor"; -pub const SPLDS_PRINT_DUPLEX_SUPPORTED: &'static str = "printDuplexSupported"; -pub const SPLDS_PRINT_END_TIME: &'static str = "printEndTime"; -pub const SPLDS_PRINTER_CLASS: &'static str = "printQueue"; -pub const SPLDS_PRINTER_NAME: &'static str = "printerName"; -pub const SPLDS_PRINT_KEEP_PRINTED_JOBS: &'static str = "printKeepPrintedJobs"; -pub const SPLDS_PRINT_LANGUAGE: &'static str = "printLanguage"; -pub const SPLDS_PRINT_MAC_ADDRESS: &'static str = "printMACAddress"; -pub const SPLDS_PRINT_MAX_X_EXTENT: &'static str = "printMaxXExtent"; -pub const SPLDS_PRINT_MAX_Y_EXTENT: &'static str = "printMaxYExtent"; -pub const SPLDS_PRINT_MAX_RESOLUTION_SUPPORTED: &'static str = "printMaxResolutionSupported"; -pub const SPLDS_PRINT_MEDIA_READY: &'static str = "printMediaReady"; -pub const SPLDS_PRINT_MEDIA_SUPPORTED: &'static str = "printMediaSupported"; -pub const SPLDS_PRINT_MEMORY: &'static str = "printMemory"; -pub const SPLDS_PRINT_MIN_X_EXTENT: &'static str = "printMinXExtent"; -pub const SPLDS_PRINT_MIN_Y_EXTENT: &'static str = "printMinYExtent"; -pub const SPLDS_PRINT_NETWORK_ADDRESS: &'static str = "printNetworkAddress"; -pub const SPLDS_PRINT_NOTIFY: &'static str = "printNotify"; -pub const SPLDS_PRINT_NUMBER_UP: &'static str = "printNumberUp"; -pub const SPLDS_PRINT_ORIENTATIONS_SUPPORTED: &'static str = "printOrientationsSupported"; -pub const SPLDS_PRINT_OWNER: &'static str = "printOwner"; -pub const SPLDS_PRINT_PAGES_PER_MINUTE: &'static str = "printPagesPerMinute"; -pub const SPLDS_PRINT_RATE: &'static str = "printRate"; -pub const SPLDS_PRINT_RATE_UNIT: &'static str = "printRateUnit"; -pub const SPLDS_PRINT_SEPARATOR_FILE: &'static str = "printSeparatorFile"; -pub const SPLDS_PRINT_SHARE_NAME: &'static str = "printShareName"; -pub const SPLDS_PRINT_SPOOLING: &'static str = "printSpooling"; -pub const SPLDS_PRINT_STAPLING_SUPPORTED: &'static str = "printStaplingSupported"; -pub const SPLDS_PRINT_START_TIME: &'static str = "printStartTime"; -pub const SPLDS_PRINT_STATUS: &'static str = "printStatus"; -pub const SPLDS_PRIORITY: &'static str = "priority"; -pub const SPLDS_SERVER_NAME: &'static str = "serverName"; -pub const SPLDS_SHORT_SERVER_NAME: &'static str = "shortServerName"; -pub const SPLDS_UNC_NAME: &'static str = "uNCName"; -pub const SPLDS_URL: &'static str = "url"; -pub const SPLDS_FLAGS: &'static str = "flags"; -pub const SPLDS_VERSION_NUMBER: &'static str = "versionNumber"; -pub const SPLDS_PRINTER_NAME_ALIASES: &'static str = "printerNameAliases"; -pub const SPLDS_PRINTER_LOCATIONS: &'static str = "printerLocations"; -pub const SPLDS_PRINTER_MODEL: &'static str = "printerModel"; -ENUM!{enum PRINTER_OPTION_FLAGS { - PRINTER_OPTION_NO_CACHE = 1 << 0, - PRINTER_OPTION_CACHE = 1 << 1, - PRINTER_OPTION_CLIENT_CHANGE = 1 << 2, - PRINTER_OPTION_NO_CLIENT_DATA = 1 << 3, -}} -STRUCT!{struct PRINTER_OPTIONSA { - cbSize: UINT, - dwFlags: DWORD, -}} -pub type PPRINTER_OPTIONSA = *mut PRINTER_OPTIONSA; -pub type LPPRINTER_OPTIONSA = *mut PRINTER_OPTIONSA; -STRUCT!{struct PRINTER_OPTIONSW { - cbSize: UINT, - dwFlags: DWORD, -}} -pub type PPRINTER_OPTIONSW = *mut PRINTER_OPTIONSW; -pub type LPPRINTER_OPTIONSW = *mut PRINTER_OPTIONSW; -extern "system" { - pub fn OpenPrinter2A( - pPrinterName: LPCSTR, - phPrinter: LPHANDLE, - pDefault: PPRINTER_DEFAULTSA, - pOptions: PPRINTER_OPTIONSA, - ) -> BOOL; - pub fn OpenPrinter2W( - pPrinterName: LPCWSTR, - phPrinter: LPHANDLE, - pDefault: PPRINTER_DEFAULTSW, - pOptions: PPRINTER_OPTIONSW, - ) -> BOOL; -} -pub const PRINTER_CONNECTION_MISMATCH: DWORD = 0x00000020; -pub const PRINTER_CONNECTION_NO_UI: DWORD = 0x00000040; -STRUCT!{struct PRINTER_CONNECTION_INFO_1A { - dwFlags: DWORD, - pszDriverName: LPSTR, -}} -pub type PPRINTER_CONNECTION_INFO_1A = *mut PRINTER_CONNECTION_INFO_1A; -pub type LPPRINTER_CONNECTION_INFO_1A = *mut PRINTER_CONNECTION_INFO_1A; -STRUCT!{struct PRINTER_CONNECTION_INFO_1W { - dwFlags: DWORD, - pszDriverName: LPWSTR, -}} -pub type PPRINTER_CONNECTION_INFO_1W = *mut PRINTER_CONNECTION_INFO_1W; -pub type LPPRINTER_CONNECTION_INFO_1W = *mut PRINTER_CONNECTION_INFO_1W; -extern "system" { - pub fn AddPrinterConnection2A( - hWnd: HWND, - pszName: LPCSTR, - dwLevel: DWORD, - pConnectionInfo: PVOID, - ) -> BOOL; - pub fn AddPrinterConnection2W( - hWnd: HWND, - pszName: LPCWSTR, - dwLevel: DWORD, - pConnectionInfo: PVOID, - ) -> BOOL; -} -pub const IPDFP_COPY_ALL_FILES: DWORD = 0x00000001; -extern "system" { - pub fn InstallPrinterDriverFromPackageA( - pszServer: LPCSTR, - pszInfPath: LPCSTR, - pszDriverName: LPCSTR, - pszEnvironment: LPCSTR, - dwFlags: DWORD, - ) -> HRESULT; - pub fn InstallPrinterDriverFromPackageW( - pszServer: LPCWSTR, - pszInfPath: LPCWSTR, - pszDriverName: LPCWSTR, - pszEnvironment: LPCWSTR, - dwFlags: DWORD, - ) -> HRESULT; -} -pub const UPDP_SILENT_UPLOAD: DWORD = 0x00000001; -pub const UPDP_UPLOAD_ALWAYS: DWORD = 0x00000002; -pub const UPDP_CHECK_DRIVERSTORE: DWORD = 0x00000004; -extern "system" { - pub fn UploadPrinterDriverPackageA( - pszServer: LPCSTR, - pszInfPath: LPCSTR, - pszEnvironment: LPCSTR, - dwFlags: DWORD, - hwnd: HWND, - pszDestInfPath: LPSTR, - pcchDestInfPath: PULONG, - ) -> HRESULT; - pub fn UploadPrinterDriverPackageW( - pszServer: LPCWSTR, - pszInfPath: LPCWSTR, - pszEnvironment: LPCWSTR, - dwFlags: DWORD, - hwnd: HWND, - pszDestInfPath: LPWSTR, - pcchDestInfPath: PULONG, - ) -> HRESULT; -} -STRUCT!{struct CORE_PRINTER_DRIVERA { - CoreDriverGUID: GUID, - ftDriverDate: FILETIME, - dwlDriverVersion: DWORDLONG, - szPackageID: [CHAR; MAX_PATH], -}} -pub type PCORE_PRINTER_DRIVERA = *mut CORE_PRINTER_DRIVERA; -STRUCT!{struct CORE_PRINTER_DRIVERW { - CoreDriverGUID: GUID, - ftDriverDate: FILETIME, - dwlDriverVersion: DWORDLONG, - szPackageID: [WCHAR; MAX_PATH], -}} -pub type PCORE_PRINTER_DRIVERW = *mut CORE_PRINTER_DRIVERW; -extern "system" { - pub fn GetCorePrinterDriversA( - pszServer: LPCSTR, - pszEnvironment: LPCSTR, - pszzCoreDriverDependencies: LPCSTR, - cCorePrinterDrivers: DWORD, - pCorePrinterDrivers: PCORE_PRINTER_DRIVERA, - ) -> HRESULT; - pub fn GetCorePrinterDriversW( - pszServer: LPCWSTR, - pszEnvironment: LPCWSTR, - pszzCoreDriverDependencies: LPCWSTR, - cCorePrinterDrivers: DWORD, - pCorePrinterDrivers: PCORE_PRINTER_DRIVERW, - ) -> HRESULT; - pub fn CorePrinterDriverInstalledA( - pszServer: LPCSTR, - pszEnvironment: LPCSTR, - CoreDriverGUID: GUID, - ftDriverDate: FILETIME, - dwlDriverVersion: DWORDLONG, - pbDriverInstalled: *mut BOOL, - ) -> HRESULT; - pub fn CorePrinterDriverInstalledW( - pszServer: LPCWSTR, - pszEnvironment: LPCWSTR, - CoreDriverGUID: GUID, - ftDriverDate: FILETIME, - dwlDriverVersion: DWORDLONG, - pbDriverInstalled: *mut BOOL, - ) -> HRESULT; - pub fn GetPrinterDriverPackagePathA( - pszServer: LPCSTR, - pszEnvironment: LPCSTR, - pszLanguage: LPCSTR, - pszPackageID: LPCSTR, - pszDriverPackageCab: LPSTR, - cchDriverPackageCab: DWORD, - pcchRequiredSize: LPDWORD, - ) -> HRESULT; - pub fn GetPrinterDriverPackagePathW( - pszServer: LPCWSTR, - pszEnvironment: LPCWSTR, - pszLanguage: LPCWSTR, - pszPackageID: LPCWSTR, - pszDriverPackageCab: LPWSTR, - cchDriverPackageCab: DWORD, - pcchRequiredSize: LPDWORD, - ) -> HRESULT; - pub fn DeletePrinterDriverPackageA( - pszServer: LPCSTR, - pszInfPath: LPCSTR, - pszEnvironment: LPCSTR, - ) -> HRESULT; - pub fn DeletePrinterDriverPackageW( - pszServer: LPCWSTR, - pszInfPath: LPCWSTR, - pszEnvironment: LPCWSTR, - ) -> HRESULT; -} -ENUM!{enum EPrintPropertyType { - kPropertyTypeString = 1, - kPropertyTypeInt32, - kPropertyTypeInt64, - kPropertyTypeByte, - kPropertyTypeTime, - kPropertyTypeDevMode, - kPropertyTypeSD, - kPropertyTypeNotificationReply, - kPropertyTypeNotificationOptions, - kPropertyTypeBuffer, -}} -ENUM!{enum EPrintXPSJobProgress { - kAddingDocumentSequence = 0, - kDocumentSequenceAdded = 1, - kAddingFixedDocument = 2, - kFixedDocumentAdded = 3, - kAddingFixedPage = 4, - kFixedPageAdded = 5, - kResourceAdded = 6, - kFontAdded = 7, - kImageAdded = 8, - kXpsDocumentCommitted = 9, -}} -ENUM!{enum EPrintXPSJobOperation { - kJobProduction = 1, - kJobConsumption, -}} -STRUCT!{struct PrintPropertyValue_value_propertyBlob { - cbBuf: DWORD, - pBuf: LPVOID, -}} -UNION!{union PrintPropertyValue_value { - [u64; 1] [u64; 2], - propertyByte propertyByte_mut: BYTE, - propertyString propertyString_mut: PWSTR, - propertyInt32 propertyInt32_mut: LONG, - propertyInt64 propertyInt64_mut: LONGLONG, - propertyBlob propertyBlob_mut: PrintPropertyValue_value_propertyBlob, -}} -STRUCT!{struct PrintPropertyValue { - ePropertyType: EPrintPropertyType, - value: PrintPropertyValue_value, -}} -STRUCT!{struct PrintNamedProperty { - propertyName: *mut WCHAR, - propertyValue: PrintPropertyValue, -}} -STRUCT!{struct PrintPropertiesCollection { - numberOfProperties: ULONG, - propertiesCollection: *mut PrintNamedProperty, -}} -extern "system" { - pub fn ReportJobProcessingProgress( - printerHandle: HANDLE, - jobId: ULONG, - jobOperation: EPrintXPSJobOperation, - jobProgress: EPrintXPSJobProgress, - ) -> HRESULT; - pub fn GetPrinterDriver2A( - hWnd: HWND, - hPrinter: HANDLE, - pEnvironment: LPSTR, - Level: DWORD, - pDriverInfo: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - ) -> BOOL; - pub fn GetPrinterDriver2W( - hWnd: HWND, - hPrinter: HANDLE, - pEnvironment: LPWSTR, - Level: DWORD, - pDriverInfo: LPBYTE, - cbBuf: DWORD, - pcbNeeded: LPDWORD, - ) -> BOOL; -} -ENUM!{enum PRINT_EXECUTION_CONTEXT { - PRINT_EXECUTION_CONTEXT_APPLICATION = 0, - PRINT_EXECUTION_CONTEXT_SPOOLER_SERVICE = 1, - PRINT_EXECUTION_CONTEXT_SPOOLER_ISOLATION_HOST = 2, - PRINT_EXECUTION_CONTEXT_FILTER_PIPELINE = 3, - PRINT_EXECUTION_CONTEXT_WOW64 = 4, -}} -STRUCT!{struct PRINT_EXECUTION_DATA { - context: PRINT_EXECUTION_CONTEXT, - clientAppPID: DWORD, -}} -extern "system" { - pub fn GetPrintExecutionData( - pData: *mut PRINT_EXECUTION_DATA, - ) -> BOOL; - pub fn GetJobNamedPropertyValue( - hPrinter: HANDLE, - JobId: DWORD, - pszName: PCWSTR, - pValue: *mut PrintPropertyValue, - ) -> DWORD; - pub fn FreePrintPropertyValue( - pValue: *mut PrintPropertyValue, - ); - pub fn FreePrintNamedPropertyArray( - cProperties: DWORD, - ppProperties: *mut *mut PrintNamedProperty, - ); - pub fn SetJobNamedProperty( - hPrinter: HANDLE, - JobId: DWORD, - pProperty: *const PrintNamedProperty, - ) -> DWORD; - pub fn DeleteJobNamedProperty( - hPrinter: HANDLE, - JobId: DWORD, - pszName: PCWSTR, - ) -> DWORD; - pub fn EnumJobNamedProperties( - hPrinter: HANDLE, - JobId: DWORD, - pcProperties: *mut DWORD, - ppProperties: *mut *mut PrintNamedProperty, - ) -> DWORD; - pub fn GetPrintOutputInfo( - hWnd: HWND, - pszPrinter: PCWSTR, - phFile: *mut HANDLE, - ppszOutputFile: *mut PWSTR, - ) -> HRESULT; -} -pub const MS_PRINT_JOB_OUTPUT_FILE: &'static str = "MsPrintJobOutputFile"; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/winsvc.rs b/vendor/registry-40351f815f426200/winapi/src/um/winsvc.rs deleted file mode 100644 index 702164ccd..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/winsvc.rs +++ /dev/null @@ -1,665 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Header file for the Service Control Manager -use shared::minwindef::{BOOL, DWORD, LPBYTE, LPDWORD, LPVOID}; -use um::winnt::{ - HANDLE, LPCSTR, LPCWSTR, LPSTR, LPWSTR, PSECURITY_DESCRIPTOR, PVOID, - SECURITY_INFORMATION, STANDARD_RIGHTS_REQUIRED -}; -pub const SERVICE_NO_CHANGE: DWORD = 0xffffffff; -pub const SERVICE_ACTIVE: DWORD = 0x00000001; -pub const SERVICE_INACTIVE: DWORD = 0x00000002; -pub const SERVICE_STATE_ALL: DWORD = SERVICE_ACTIVE | SERVICE_INACTIVE; -pub const SERVICE_CONTROL_STOP: DWORD = 0x00000001; -pub const SERVICE_CONTROL_PAUSE: DWORD = 0x00000002; -pub const SERVICE_CONTROL_CONTINUE: DWORD = 0x00000003; -pub const SERVICE_CONTROL_INTERROGATE: DWORD = 0x00000004; -pub const SERVICE_CONTROL_SHUTDOWN: DWORD = 0x00000005; -pub const SERVICE_CONTROL_PARAMCHANGE: DWORD = 0x00000006; -pub const SERVICE_CONTROL_NETBINDADD: DWORD = 0x00000007; -pub const SERVICE_CONTROL_NETBINDREMOVE: DWORD = 0x00000008; -pub const SERVICE_CONTROL_NETBINDENABLE: DWORD = 0x00000009; -pub const SERVICE_CONTROL_NETBINDDISABLE: DWORD = 0x0000000A; -pub const SERVICE_CONTROL_DEVICEEVENT: DWORD = 0x0000000B; -pub const SERVICE_CONTROL_HARDWAREPROFILECHANGE: DWORD = 0x0000000C; -pub const SERVICE_CONTROL_POWEREVENT: DWORD = 0x0000000D; -pub const SERVICE_CONTROL_SESSIONCHANGE: DWORD = 0x0000000E; -pub const SERVICE_CONTROL_PRESHUTDOWN: DWORD = 0x0000000F; -pub const SERVICE_CONTROL_TIMECHANGE: DWORD = 0x00000010; -pub const SERVICE_CONTROL_TRIGGEREVENT: DWORD = 0x00000020; -pub const SERVICE_STOPPED: DWORD = 0x00000001; -pub const SERVICE_START_PENDING: DWORD = 0x00000002; -pub const SERVICE_STOP_PENDING: DWORD = 0x00000003; -pub const SERVICE_RUNNING: DWORD = 0x00000004; -pub const SERVICE_CONTINUE_PENDING: DWORD = 0x00000005; -pub const SERVICE_PAUSE_PENDING: DWORD = 0x00000006; -pub const SERVICE_PAUSED: DWORD = 0x00000007; -pub const SERVICE_ACCEPT_STOP: DWORD = 0x00000001; -pub const SERVICE_ACCEPT_PAUSE_CONTINUE: DWORD = 0x00000002; -pub const SERVICE_ACCEPT_SHUTDOWN: DWORD = 0x00000004; -pub const SERVICE_ACCEPT_PARAMCHANGE: DWORD = 0x00000008; -pub const SERVICE_ACCEPT_NETBINDCHANGE: DWORD = 0x00000010; -pub const SERVICE_ACCEPT_HARDWAREPROFILECHANGE: DWORD = 0x00000020; -pub const SERVICE_ACCEPT_POWEREVENT: DWORD = 0x00000040; -pub const SERVICE_ACCEPT_SESSIONCHANGE: DWORD = 0x00000080; -pub const SERVICE_ACCEPT_PRESHUTDOWN: DWORD = 0x00000100; -pub const SERVICE_ACCEPT_TIMECHANGE: DWORD = 0x00000200; -pub const SERVICE_ACCEPT_TRIGGEREVENT: DWORD = 0x00000400; -// SERVICE_ACCEPT_USER_LOGOFF -pub const SC_MANAGER_CONNECT: DWORD = 0x0001; -pub const SC_MANAGER_CREATE_SERVICE: DWORD = 0x0002; -pub const SC_MANAGER_ENUMERATE_SERVICE: DWORD = 0x0004; -pub const SC_MANAGER_LOCK: DWORD = 0x0008; -pub const SC_MANAGER_QUERY_LOCK_STATUS: DWORD = 0x0010; -pub const SC_MANAGER_MODIFY_BOOT_CONFIG: DWORD = 0x0020; -pub const SC_MANAGER_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED | SC_MANAGER_CONNECT - | SC_MANAGER_CREATE_SERVICE | SC_MANAGER_ENUMERATE_SERVICE | SC_MANAGER_LOCK - | SC_MANAGER_QUERY_LOCK_STATUS | SC_MANAGER_MODIFY_BOOT_CONFIG; -pub const SERVICE_QUERY_CONFIG: DWORD = 0x0001; -pub const SERVICE_CHANGE_CONFIG: DWORD = 0x0002; -pub const SERVICE_QUERY_STATUS: DWORD = 0x0004; -pub const SERVICE_ENUMERATE_DEPENDENTS: DWORD = 0x0008; -pub const SERVICE_START: DWORD = 0x0010; -pub const SERVICE_STOP: DWORD = 0x0020; -pub const SERVICE_PAUSE_CONTINUE: DWORD = 0x0040; -pub const SERVICE_INTERROGATE: DWORD = 0x0080; -pub const SERVICE_USER_DEFINED_CONTROL: DWORD = 0x0100; -pub const SERVICE_ALL_ACCESS: DWORD = STANDARD_RIGHTS_REQUIRED | SERVICE_QUERY_CONFIG - | SERVICE_CHANGE_CONFIG | SERVICE_QUERY_STATUS | SERVICE_ENUMERATE_DEPENDENTS | SERVICE_START - | SERVICE_STOP | SERVICE_PAUSE_CONTINUE | SERVICE_INTERROGATE | SERVICE_USER_DEFINED_CONTROL; -pub const SERVICE_RUNS_IN_SYSTEM_PROCESS: DWORD = 0x00000001; -pub const SERVICE_CONFIG_DESCRIPTION: DWORD = 1; -pub const SERVICE_CONFIG_FAILURE_ACTIONS: DWORD = 2; -pub const SERVICE_CONFIG_DELAYED_AUTO_START_INFO: DWORD = 3; -pub const SERVICE_CONFIG_FAILURE_ACTIONS_FLAG: DWORD = 4; -pub const SERVICE_CONFIG_SERVICE_SID_INFO: DWORD = 5; -pub const SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO: DWORD = 6; -pub const SERVICE_CONFIG_PRESHUTDOWN_INFO: DWORD = 7; -pub const SERVICE_CONFIG_TRIGGER_INFO: DWORD = 8; -pub const SERVICE_CONFIG_PREFERRED_NODE: DWORD = 9; -pub const SERVICE_CONFIG_LAUNCH_PROTECTED: DWORD = 12; -pub const SERVICE_NOTIFY_STATUS_CHANGE_1: DWORD = 1; -pub const SERVICE_NOTIFY_STATUS_CHANGE_2: DWORD = 2; -pub const SERVICE_NOTIFY_STATUS_CHANGE: DWORD = SERVICE_NOTIFY_STATUS_CHANGE_2; -pub const SERVICE_NOTIFY_STOPPED: DWORD = 0x00000001; -pub const SERVICE_NOTIFY_START_PENDING: DWORD = 0x00000002; -pub const SERVICE_NOTIFY_STOP_PENDING: DWORD = 0x00000004; -pub const SERVICE_NOTIFY_RUNNING: DWORD = 0x00000008; -pub const SERVICE_NOTIFY_CONTINUE_PENDING: DWORD = 0x00000010; -pub const SERVICE_NOTIFY_PAUSE_PENDING: DWORD = 0x00000020; -pub const SERVICE_NOTIFY_PAUSED: DWORD = 0x00000040; -pub const SERVICE_NOTIFY_CREATED: DWORD = 0x00000080; -pub const SERVICE_NOTIFY_DELETED: DWORD = 0x00000100; -pub const SERVICE_NOTIFY_DELETE_PENDING: DWORD = 0x00000200; -pub const SERVICE_STOP_REASON_FLAG_MIN: DWORD = 0x00000000; -pub const SERVICE_STOP_REASON_FLAG_UNPLANNED: DWORD = 0x10000000; -pub const SERVICE_STOP_REASON_FLAG_CUSTOM: DWORD = 0x20000000; -pub const SERVICE_STOP_REASON_FLAG_PLANNED: DWORD = 0x40000000; -pub const SERVICE_STOP_REASON_FLAG_MAX: DWORD = 0x80000000; -pub const SERVICE_STOP_REASON_MAJOR_MIN: DWORD = 0x00000000; -pub const SERVICE_STOP_REASON_MAJOR_OTHER: DWORD = 0x00010000; -pub const SERVICE_STOP_REASON_MAJOR_HARDWARE: DWORD = 0x00020000; -pub const SERVICE_STOP_REASON_MAJOR_OPERATINGSYSTEM: DWORD = 0x00030000; -pub const SERVICE_STOP_REASON_MAJOR_SOFTWARE: DWORD = 0x00040000; -pub const SERVICE_STOP_REASON_MAJOR_APPLICATION: DWORD = 0x00050000; -pub const SERVICE_STOP_REASON_MAJOR_NONE: DWORD = 0x00060000; -pub const SERVICE_STOP_REASON_MAJOR_MAX: DWORD = 0x00070000; -pub const SERVICE_STOP_REASON_MAJOR_MIN_CUSTOM: DWORD = 0x00400000; -pub const SERVICE_STOP_REASON_MAJOR_MAX_CUSTOM: DWORD = 0x00ff0000; -pub const SERVICE_STOP_REASON_MINOR_MIN: DWORD = 0x00000000; -pub const SERVICE_STOP_REASON_MINOR_OTHER: DWORD = 0x00000001; -pub const SERVICE_STOP_REASON_MINOR_MAINTENANCE: DWORD = 0x00000002; -pub const SERVICE_STOP_REASON_MINOR_INSTALLATION: DWORD = 0x00000003; -pub const SERVICE_STOP_REASON_MINOR_UPGRADE: DWORD = 0x00000004; -pub const SERVICE_STOP_REASON_MINOR_RECONFIG: DWORD = 0x00000005; -pub const SERVICE_STOP_REASON_MINOR_HUNG: DWORD = 0x00000006; -pub const SERVICE_STOP_REASON_MINOR_UNSTABLE: DWORD = 0x00000007; -pub const SERVICE_STOP_REASON_MINOR_DISK: DWORD = 0x00000008; -pub const SERVICE_STOP_REASON_MINOR_NETWORKCARD: DWORD = 0x00000009; -pub const SERVICE_STOP_REASON_MINOR_ENVIRONMENT: DWORD = 0x0000000a; -pub const SERVICE_STOP_REASON_MINOR_HARDWARE_DRIVER: DWORD = 0x0000000b; -pub const SERVICE_STOP_REASON_MINOR_OTHERDRIVER: DWORD = 0x0000000c; -pub const SERVICE_STOP_REASON_MINOR_SERVICEPACK: DWORD = 0x0000000d; -pub const SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE: DWORD = 0x0000000e; -pub const SERVICE_STOP_REASON_MINOR_SECURITYFIX: DWORD = 0x0000000f; -pub const SERVICE_STOP_REASON_MINOR_SECURITY: DWORD = 0x00000010; -pub const SERVICE_STOP_REASON_MINOR_NETWORK_CONNECTIVITY: DWORD = 0x00000011; -pub const SERVICE_STOP_REASON_MINOR_WMI: DWORD = 0x00000012; -pub const SERVICE_STOP_REASON_MINOR_SERVICEPACK_UNINSTALL: DWORD = 0x00000013; -pub const SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE_UNINSTALL: DWORD = 0x00000014; -pub const SERVICE_STOP_REASON_MINOR_SECURITYFIX_UNINSTALL: DWORD = 0x00000015; -pub const SERVICE_STOP_REASON_MINOR_MMC: DWORD = 0x00000016; -pub const SERVICE_STOP_REASON_MINOR_NONE: DWORD = 0x00000017; -pub const SERVICE_STOP_REASON_MINOR_MAX: DWORD = 0x00000018; -pub const SERVICE_STOP_REASON_MINOR_MIN_CUSTOM: DWORD = 0x00000100; -pub const SERVICE_STOP_REASON_MINOR_MAX_CUSTOM: DWORD = 0x0000FFFF; -pub const SERVICE_CONTROL_STATUS_REASON_INFO: DWORD = 1; -pub const SERVICE_SID_TYPE_NONE: DWORD = 0x00000000; -pub const SERVICE_SID_TYPE_UNRESTRICTED: DWORD = 0x00000001; -pub const SERVICE_SID_TYPE_RESTRICTED: DWORD = 0x00000002 | SERVICE_SID_TYPE_UNRESTRICTED; -pub const SERVICE_TRIGGER_TYPE_DEVICE_INTERFACE_ARRIVAL: DWORD = 1; -pub const SERVICE_TRIGGER_TYPE_IP_ADDRESS_AVAILABILITY: DWORD = 2; -pub const SERVICE_TRIGGER_TYPE_DOMAIN_JOIN: DWORD = 3; -pub const SERVICE_TRIGGER_TYPE_FIREWALL_PORT_EVENT: DWORD = 4; -pub const SERVICE_TRIGGER_TYPE_GROUP_POLICY: DWORD = 5; -pub const SERVICE_TRIGGER_TYPE_NETWORK_ENDPOINT: DWORD = 6; -pub const SERVICE_TRIGGER_TYPE_CUSTOM_SYSTEM_STATE_CHANGE: DWORD = 7; -pub const SERVICE_TRIGGER_TYPE_CUSTOM: DWORD = 20; -pub const SERVICE_TRIGGER_DATA_TYPE_BINARY: DWORD = 1; -pub const SERVICE_TRIGGER_DATA_TYPE_STRING: DWORD = 2; -pub const SERVICE_TRIGGER_DATA_TYPE_LEVEL: DWORD = 3; -pub const SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ANY: DWORD = 4; -pub const SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ALL: DWORD = 5; -pub const SERVICE_START_REASON_DEMAND: DWORD = 0x00000001; -pub const SERVICE_START_REASON_AUTO: DWORD = 0x00000002; -pub const SERVICE_START_REASON_TRIGGER: DWORD = 0x00000004; -pub const SERVICE_START_REASON_RESTART_ON_FAILURE: DWORD = 0x00000008; -pub const SERVICE_START_REASON_DELAYEDAUTO: DWORD = 0x00000010; -pub const SERVICE_DYNAMIC_INFORMATION_LEVEL_START_REASON: DWORD = 1; -pub const SERVICE_LAUNCH_PROTECTED_NONE: DWORD = 0; -pub const SERVICE_LAUNCH_PROTECTED_WINDOWS: DWORD = 1; -pub const SERVICE_LAUNCH_PROTECTED_WINDOWS_LIGHT: DWORD = 2; -pub const SERVICE_LAUNCH_PROTECTED_ANTIMALWARE_LIGHT: DWORD = 3; -DEFINE_GUID!{NETWORK_MANAGER_FIRST_IP_ADDRESS_ARRIVAL_GUID, - 0x4f27f2de, 0x14e2, 0x430b, 0xa5, 0x49, 0x7c, 0xd4, 0x8c, 0xbc, 0x82, 0x45} -DEFINE_GUID!{NETWORK_MANAGER_LAST_IP_ADDRESS_REMOVAL_GUID, - 0xcc4ba62a, 0x162e, 0x4648, 0x84, 0x7a, 0xb6, 0xbd, 0xf9, 0x93, 0xe3, 0x35} -DEFINE_GUID!{DOMAIN_JOIN_GUID, - 0x1ce20aba, 0x9851, 0x4421, 0x94, 0x30, 0x1d, 0xde, 0xb7, 0x66, 0xe8, 0x09} -DEFINE_GUID!{DOMAIN_LEAVE_GUID, - 0xddaf516e, 0x58c2, 0x4866, 0x95, 0x74, 0xc3, 0xb6, 0x15, 0xd4, 0x2e, 0xa1} -DEFINE_GUID!{FIREWALL_PORT_OPEN_GUID, - 0xb7569e07, 0x8421, 0x4ee0, 0xad, 0x10, 0x86, 0x91, 0x5a, 0xfd, 0xad, 0x09} -DEFINE_GUID!{FIREWALL_PORT_CLOSE_GUID, - 0xa144ed38, 0x8e12, 0x4de4, 0x9d, 0x96, 0xe6, 0x47, 0x40, 0xb1, 0xa5, 0x24} -DEFINE_GUID!{MACHINE_POLICY_PRESENT_GUID, - 0x659fcae6, 0x5bdb, 0x4da9, 0xb1, 0xff, 0xca, 0x2a, 0x17, 0x8d, 0x46, 0xe0} -DEFINE_GUID!{USER_POLICY_PRESENT_GUID, - 0x54fb46c8, 0xf089, 0x464c, 0xb1, 0xfd, 0x59, 0xd1, 0xb6, 0x2c, 0x3b, 0x50} -DEFINE_GUID!{RPC_INTERFACE_EVENT_GUID, - 0xbc90d167, 0x9470, 0x4139, 0xa9, 0xba, 0xbe, 0x0b, 0xbb, 0xf5, 0xb7, 0x4d} -DEFINE_GUID!{NAMED_PIPE_EVENT_GUID, - 0x1f81d131, 0x3fac, 0x4537, 0x9e, 0x0c, 0x7e, 0x7b, 0x0c, 0x2f, 0x4b, 0x55} -DEFINE_GUID!{CUSTOM_SYSTEM_STATE_CHANGE_EVENT_GUID, - 0x2d7a2816, 0x0c5e, 0x45fc, 0x9c, 0xe7, 0x57, 0x0e, 0x5e, 0xcd, 0xe9, 0xc9} -DECLARE_HANDLE!{SC_HANDLE, SC_HANDLE__} -pub type LPSC_HANDLE = *mut SC_HANDLE; -DECLARE_HANDLE!{SERVICE_STATUS_HANDLE, SERVICE_STATUS_HANDLE__} -ENUM!{enum SC_STATUS_TYPE { - SC_STATUS_PROCESS_INFO = 0, -}} -ENUM!{enum SC_ENUM_TYPE { - SC_ENUM_PROCESS_INFO = 0, -}} -STRUCT!{struct SERVICE_STATUS { - dwServiceType: DWORD, - dwCurrentState: DWORD, - dwControlsAccepted: DWORD, - dwWin32ExitCode: DWORD, - dwServiceSpecificExitCode: DWORD, - dwCheckPoint: DWORD, - dwWaitHint: DWORD, -}} -pub type LPSERVICE_STATUS = *mut SERVICE_STATUS; -STRUCT!{struct SERVICE_STATUS_PROCESS { - dwServiceType: DWORD, - dwCurrentState: DWORD, - dwControlsAccepted: DWORD, - dwWin32ExitCode: DWORD, - dwServiceSpecificExitCode: DWORD, - dwCheckPoint: DWORD, - dwWaitHint: DWORD, - dwProcessId: DWORD, - dwServiceFlags: DWORD, -}} -pub type LPSERVICE_STATUS_PROCESS = *mut SERVICE_STATUS_PROCESS; -STRUCT!{struct ENUM_SERVICE_STATUSA { - lpServiceName: LPSTR, - lpDisplayName: LPSTR, - ServiceStatus: SERVICE_STATUS, -}} -pub type LPENUM_SERVICE_STATUSA = *mut ENUM_SERVICE_STATUSA; -STRUCT!{struct ENUM_SERVICE_STATUSW { - lpServiceName: LPWSTR, - lpDisplayName: LPWSTR, - ServiceStatus: SERVICE_STATUS, -}} -pub type LPENUM_SERVICE_STATUSW = *mut ENUM_SERVICE_STATUSW; -STRUCT!{struct ENUM_SERVICE_STATUS_PROCESSA { - lpServiceName: LPSTR, - lpDisplayName: LPSTR, - ServiceStatusProcess: SERVICE_STATUS_PROCESS, -}} -pub type LPENUM_SERVICE_STATUS_PROCESSA = *mut ENUM_SERVICE_STATUS_PROCESSA; -STRUCT!{struct ENUM_SERVICE_STATUS_PROCESSW { - lpServiceName: LPWSTR, - lpDisplayName: LPWSTR, - ServiceStatusProcess: SERVICE_STATUS_PROCESS, -}} -pub type LPENUM_SERVICE_STATUS_PROCESSW = *mut ENUM_SERVICE_STATUS_PROCESSW; -pub type SC_LOCK = LPVOID; -STRUCT!{struct QUERY_SERVICE_LOCK_STATUSA { - fIsLocked: DWORD, - lpLockOwner: LPSTR, - dwLockDuration: DWORD, -}} -pub type LPQUERY_SERVICE_LOCK_STATUSA = *mut QUERY_SERVICE_LOCK_STATUSA; -STRUCT!{struct QUERY_SERVICE_LOCK_STATUSW { - fIsLocked: DWORD, - lpLockOwner: LPWSTR, - dwLockDuration: DWORD, -}} -pub type LPQUERY_SERVICE_LOCK_STATUSW = *mut QUERY_SERVICE_LOCK_STATUSW; -STRUCT!{struct QUERY_SERVICE_CONFIGA { - dwServiceType: DWORD, - dwStartType: DWORD, - dwErrorControl: DWORD, - lpBinaryPathName: LPSTR, - lpLoadOrderGroup: LPSTR, - dwTagId: DWORD, - lpDependencies: LPSTR, - lpServiceStartName: LPSTR, - lpDisplayName: LPSTR, -}} -pub type LPQUERY_SERVICE_CONFIGA = *mut QUERY_SERVICE_CONFIGA; -STRUCT!{struct QUERY_SERVICE_CONFIGW { - dwServiceType: DWORD, - dwStartType: DWORD, - dwErrorControl: DWORD, - lpBinaryPathName: LPWSTR, - lpLoadOrderGroup: LPWSTR, - dwTagId: DWORD, - lpDependencies: LPWSTR, - lpServiceStartName: LPWSTR, - lpDisplayName: LPWSTR, -}} -pub type LPQUERY_SERVICE_CONFIGW = *mut QUERY_SERVICE_CONFIGW; -FN!{stdcall LPSERVICE_MAIN_FUNCTIONW( - dwNumServicesArgs: DWORD, - lpServiceArgVectors: *mut LPWSTR, -) -> ()} -FN!{stdcall LPSERVICE_MAIN_FUNCTIONA( - dwNumServicesArgs: DWORD, - lpServiceArgVectors: *mut LPSTR, -) -> ()} -STRUCT!{struct SERVICE_TABLE_ENTRYA { - lpServiceName: LPCSTR, - lpServiceProc: LPSERVICE_MAIN_FUNCTIONA, -}} -pub type LPSERVICE_TABLE_ENTRYA = *mut SERVICE_TABLE_ENTRYA; -STRUCT!{struct SERVICE_TABLE_ENTRYW { - lpServiceName: LPCWSTR, - lpServiceProc: LPSERVICE_MAIN_FUNCTIONW, -}} -pub type LPSERVICE_TABLE_ENTRYW = *mut SERVICE_TABLE_ENTRYW; -FN!{stdcall LPHANDLER_FUNCTION( - dwControl: DWORD, -) -> ()} -FN!{stdcall LPHANDLER_FUNCTION_EX( - dwControl: DWORD, - dwEventType: DWORD, - lpEventData: LPVOID, - lpContext: LPVOID, -) -> DWORD} -FN!{stdcall PFN_SC_NOTIFY_CALLBACK( - pParameter: PVOID, -) -> ()} -STRUCT!{struct SERVICE_NOTIFY_1 { - dwVersion: DWORD, - pfnNotifyCallback: PFN_SC_NOTIFY_CALLBACK, - pContext: PVOID, - dwNotificationStatus: DWORD, - ServiceStatus: SERVICE_STATUS_PROCESS, -}} -pub type PSERVICE_NOTIFY_1 = *mut SERVICE_NOTIFY_1; -STRUCT!{struct SERVICE_NOTIFY_2A { - dwVersion: DWORD, - pfnNotifyCallback: PFN_SC_NOTIFY_CALLBACK, - pContext: PVOID, - dwNotificationStatus: DWORD, - ServiceStatus: SERVICE_STATUS_PROCESS, - dwNotificationTriggered: DWORD, - pszServiceNames: LPSTR, -}} -pub type PSERVICE_NOTIFY_2A = *mut SERVICE_NOTIFY_2A; -STRUCT!{struct SERVICE_NOTIFY_2W { - dwVersion: DWORD, - pfnNotifyCallback: PFN_SC_NOTIFY_CALLBACK, - pContext: PVOID, - dwNotificationStatus: DWORD, - ServiceStatus: SERVICE_STATUS_PROCESS, - dwNotificationTriggered: DWORD, - pszServiceNames: LPWSTR, -}} -pub type PSERVICE_NOTIFY_2W = *mut SERVICE_NOTIFY_2W; -pub type SERVICE_NOTIFYA = SERVICE_NOTIFY_2A; -pub type PSERVICE_NOTIFYA = PSERVICE_NOTIFY_2A; -pub type SERVICE_NOTIFYW = SERVICE_NOTIFY_2W; -pub type PSERVICE_NOTIFYW = PSERVICE_NOTIFY_2W; -extern "system" { - pub fn ChangeServiceConfigA( - hService: SC_HANDLE, - dwServiceType: DWORD, - dsStartType: DWORD, - dwErrorControl: DWORD, - lpBinaryPathName: LPCSTR, - lpLoadOrderGroup: LPCSTR, - lpdwTagId: LPDWORD, - lpDependencies: LPCSTR, - lpServiceStartName: LPCSTR, - lpPassword: LPCSTR, - lpDisplayName: LPCSTR, - ) -> BOOL; - pub fn ChangeServiceConfigW( - hService: SC_HANDLE, - dwServiceType: DWORD, - dsStartType: DWORD, - dwErrorControl: DWORD, - lpBinaryPathName: LPCWSTR, - lpLoadOrderGroup: LPCWSTR, - lpdwTagId: LPDWORD, - lpDependencies: LPCWSTR, - lpServiceStartName: LPCWSTR, - lpPassword: LPCWSTR, - lpDisplayName: LPCWSTR, - ) -> BOOL; - pub fn ChangeServiceConfig2A( - hService: SC_HANDLE, - dwInfoLevel: DWORD, - lpInfo: LPVOID, - ) -> BOOL; - pub fn ChangeServiceConfig2W( - hService: SC_HANDLE, - dwInfoLevel: DWORD, - lpInfo: LPVOID, - ) -> BOOL; - pub fn CloseServiceHandle( - hSCObject: SC_HANDLE, - ) -> BOOL; - pub fn ControlService( - hService: SC_HANDLE, - dwControl: DWORD, - lpServiceStatus: LPSERVICE_STATUS, - ) -> BOOL; - pub fn CreateServiceA( - hSCManager: SC_HANDLE, - lpServiceName: LPCSTR, - lpDisplayName: LPCSTR, - dwDesiredAccess: DWORD, - dwServiceType: DWORD, - dwStartType: DWORD, - dwErrorControl: DWORD, - lpBinaryPathName: LPCSTR, - lpLoadOrderGroup: LPCSTR, - lpdwTagId: LPDWORD, - lpDependencies: LPCSTR, - lpServiceStartName: LPCSTR, - lpPassword: LPCSTR, - ) -> SC_HANDLE; - pub fn CreateServiceW( - hSCManager: SC_HANDLE, - lpServiceName: LPCWSTR, - lpDisplayName: LPCWSTR, - dwDesiredAccess: DWORD, - dwServiceType: DWORD, - dwStartType: DWORD, - dwErrorControl: DWORD, - lpBinaryPathName: LPCWSTR, - lpLoadOrderGroup: LPCWSTR, - lpdwTagId: LPDWORD, - lpDependencies: LPCWSTR, - lpServiceStartName: LPCWSTR, - lpPassword: LPCWSTR, - ) -> SC_HANDLE; - pub fn DeleteService( - hService: SC_HANDLE, - ) -> BOOL; - pub fn EnumDependentServicesA( - hService: SC_HANDLE, - dwServiceState: DWORD, - lpServices: LPENUM_SERVICE_STATUSA, - cbBufSize: DWORD, - pcbBytesNeeded: LPDWORD, - lpServicesReturned: LPDWORD, - ) -> BOOL; - pub fn EnumDependentServicesW( - hService: SC_HANDLE, - dwServiceState: DWORD, - lpServices: LPENUM_SERVICE_STATUSW, - cbBufSize: DWORD, - pcbBytesNeeded: LPDWORD, - lpServicesReturned: LPDWORD, - ) -> BOOL; - pub fn EnumServicesStatusA( - hSCManager: SC_HANDLE, - dwServiceType: DWORD, - dwServiceState: DWORD, - lpServices: LPENUM_SERVICE_STATUSA, - cbBufSize: DWORD, - pcbBytesNeeded: LPDWORD, - lpServicesReturned: LPDWORD, - lpResumeHandle: LPDWORD, - ) -> BOOL; - pub fn EnumServicesStatusW( - hSCManager: SC_HANDLE, - dwServiceType: DWORD, - dwServiceState: DWORD, - lpServices: LPENUM_SERVICE_STATUSW, - cbBufSize: DWORD, - pcbBytesNeeded: LPDWORD, - lpServicesReturned: LPDWORD, - lpResumeHandle: LPDWORD, - ) -> BOOL; - pub fn EnumServicesStatusExA( - hSCManager: SC_HANDLE, - InfoLevel: SC_ENUM_TYPE, - dwServiceType: DWORD, - dwServiceState: DWORD, - lpServices: LPBYTE, - cbBufSize: DWORD, - pcbBytesNeeded: LPDWORD, - lpServicesReturned: LPDWORD, - lpResumeHandle: LPDWORD, - pszGroupName: LPCSTR, - ) -> BOOL; - pub fn EnumServicesStatusExW( - hSCManager: SC_HANDLE, - InfoLevel: SC_ENUM_TYPE, - dwServiceType: DWORD, - dwServiceState: DWORD, - lpServices: LPBYTE, - cbBufSize: DWORD, - pcbBytesNeeded: LPDWORD, - lpServicesReturned: LPDWORD, - lpResumeHandle: LPDWORD, - pszGroupName: LPCWSTR, - ) -> BOOL; - pub fn GetServiceKeyNameA( - hSCManager: SC_HANDLE, - lpDisplayName: LPCSTR, - lpServiceName: LPSTR, - lpcchBuffer: LPDWORD, - ) -> BOOL; - pub fn GetServiceKeyNameW( - hSCManager: SC_HANDLE, - lpDisplayName: LPCWSTR, - lpServiceName: LPWSTR, - lpcchBuffer: LPDWORD, - ) -> BOOL; - pub fn GetServiceDisplayNameA( - hSCManager: SC_HANDLE, - lpServiceName: LPCSTR, - lpDisplayName: LPSTR, - lpcchBuffer: LPDWORD, - ) -> BOOL; - pub fn GetServiceDisplayNameW( - hSCManager: SC_HANDLE, - lpServiceName: LPCWSTR, - lpDisplayName: LPWSTR, - lpcchBuffer: LPDWORD, - ) -> BOOL; - pub fn LockServiceDatabase( - hSCManager: SC_HANDLE, - ) -> SC_LOCK; - pub fn NotifyBootConfigStatus( - BootAcceptable: BOOL, - ) -> BOOL; - pub fn OpenSCManagerA( - lpMachineName: LPCSTR, - lpDatabaseName: LPCSTR, - dwDesiredAccess: DWORD, - ) -> SC_HANDLE; - pub fn OpenSCManagerW( - lpMachineName: LPCWSTR, - lpDatabaseName: LPCWSTR, - dwDesiredAccess: DWORD, - ) -> SC_HANDLE; - pub fn OpenServiceA( - hSCManager: SC_HANDLE, - lpServiceName: LPCSTR, - dwDesiredAccess: DWORD, - ) -> SC_HANDLE; - pub fn OpenServiceW( - hSCManager: SC_HANDLE, - lpServiceName: LPCWSTR, - dwDesiredAccess: DWORD, - ) -> SC_HANDLE; - pub fn QueryServiceConfigA( - hService: SC_HANDLE, - lpServiceConfig: LPQUERY_SERVICE_CONFIGA, - cbBufSize: DWORD, - pcbBytesNeeded: LPDWORD, - ) -> BOOL; - pub fn QueryServiceConfigW( - hService: SC_HANDLE, - lpServiceConfig: LPQUERY_SERVICE_CONFIGW, - cbBufSize: DWORD, - pcbBytesNeeded: LPDWORD, - ) -> BOOL; - pub fn QueryServiceConfig2A( - hService: SC_HANDLE, - dwInfoLevel: DWORD, - lpBuffer: LPBYTE, - cbBufSize: DWORD, - pcbBytesNeeded: LPDWORD, - ) -> BOOL; - pub fn QueryServiceConfig2W( - hService: SC_HANDLE, - dwInfoLevel: DWORD, - lpBuffer: LPBYTE, - cbBufSize: DWORD, - pcbBytesNeeded: LPDWORD, - ) -> BOOL; - pub fn QueryServiceLockStatusA( - hSCManager: SC_HANDLE, - lpLockStatus: LPQUERY_SERVICE_LOCK_STATUSA, - cbBufSize: DWORD, - pcbBytesNeeded: LPDWORD, - ) -> BOOL; - pub fn QueryServiceLockStatusW( - hSCManager: SC_HANDLE, - lpLockStatus: LPQUERY_SERVICE_LOCK_STATUSW, - cbBufSize: DWORD, - pcbBytesNeeded: LPDWORD, - ) -> BOOL; - pub fn QueryServiceObjectSecurity( - hService: SC_HANDLE, - dwSecurityInformation: SECURITY_INFORMATION, - lpSecurityDescriptor: PSECURITY_DESCRIPTOR, - cbBufSize: DWORD, - pcbBytesNeeded: LPDWORD, - ) -> BOOL; - pub fn QueryServiceStatus( - hService: SC_HANDLE, - lpServiceStatus: LPSERVICE_STATUS, - ) -> BOOL; - pub fn QueryServiceStatusEx( - hService: SC_HANDLE, - InfoLevel: SC_STATUS_TYPE, - lpBuffer: LPBYTE, - cbBufSize: DWORD, - pcbBytesNeeded: LPDWORD, - ) -> BOOL; - pub fn RegisterServiceCtrlHandlerA( - lpServiceName: LPCSTR, - lpHandlerProc: LPHANDLER_FUNCTION, - ) -> SERVICE_STATUS_HANDLE; - pub fn RegisterServiceCtrlHandlerW( - lpServiceName: LPCWSTR, - lpHandlerProc: LPHANDLER_FUNCTION, - ) -> SERVICE_STATUS_HANDLE; - pub fn RegisterServiceCtrlHandlerExA( - lpServiceName: LPCSTR, - lpHandlerProc: LPHANDLER_FUNCTION_EX, - lpContext: LPVOID, - ) -> SERVICE_STATUS_HANDLE; - pub fn RegisterServiceCtrlHandlerExW( - lpServiceName: LPCWSTR, - lpHandlerProc: LPHANDLER_FUNCTION_EX, - lpContext: LPVOID, - ) -> SERVICE_STATUS_HANDLE; - pub fn SetServiceObjectSecurity( - hService: SC_HANDLE, - dwSecurityInformation: SECURITY_INFORMATION, - lpSecurityDescriptor: PSECURITY_DESCRIPTOR, - ) -> BOOL; - pub fn SetServiceStatus( - hServiceStatus: SERVICE_STATUS_HANDLE, - lpServiceStatus: LPSERVICE_STATUS, - ) -> BOOL; - pub fn StartServiceCtrlDispatcherA( - lpServiceStartTable: *const SERVICE_TABLE_ENTRYA, - ) -> BOOL; - pub fn StartServiceCtrlDispatcherW( - lpServiceStartTable: *const SERVICE_TABLE_ENTRYW, - ) -> BOOL; - pub fn StartServiceA( - hService: SC_HANDLE, - dwNumServiceArgs: DWORD, - lpServiceArgVectors: *mut LPCSTR, - ) -> BOOL; - pub fn StartServiceW( - hService: SC_HANDLE, - dwNumServiceArgs: DWORD, - lpServiceArgVectors: *mut LPCWSTR, - ) -> BOOL; - pub fn UnlockServiceDatabase( - ScLock: SC_LOCK, - ) -> BOOL; - pub fn NotifyServiceStatusChangeA( - hService: SC_HANDLE, - dwNotifyMask: DWORD, - pNotifyBuffer: PSERVICE_NOTIFYA, - ) -> DWORD; - pub fn NotifyServiceStatusChangeW( - hService: SC_HANDLE, - dwNotifyMask: DWORD, - pNotifyBuffer: PSERVICE_NOTIFYW, - ) -> DWORD; - pub fn ControlServiceExA( - hService: SC_HANDLE, - dwControl: DWORD, - dwInfoLevel: DWORD, - pControlParams: PVOID, - ) -> BOOL; - pub fn ControlServiceExW( - hService: SC_HANDLE, - dwControl: DWORD, - dwInfoLevel: DWORD, - pControlParams: PVOID, - ) -> BOOL; - pub fn QueryServiceDynamicInformation( - hServiceStatus: SERVICE_STATUS_HANDLE, - dwInfoLevel: DWORD, - ppDynamicInfo: *mut PVOID, - ) -> BOOL; - pub fn WaitServiceState ( - hService: SC_HANDLE, - dwNotify: DWORD, - dwTimeout: DWORD, - hCancelEvent: HANDLE, - ) -> DWORD; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/winusb.rs b/vendor/registry-40351f815f426200/winapi/src/um/winusb.rs deleted file mode 100644 index c72e36833..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/winusb.rs +++ /dev/null @@ -1,224 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! FFI bindings to winusb. -use shared::minwindef::{BOOL, LPDWORD, PUCHAR, PULONG, UCHAR, ULONG, USHORT}; -use shared::usb::PUSBD_ISO_PACKET_DESCRIPTOR; -use shared::usbspec::PUSB_CONFIGURATION_DESCRIPTOR; -use shared::winusbio::{PWINUSB_PIPE_INFORMATION, PWINUSB_PIPE_INFORMATION_EX}; -use um::minwinbase::LPOVERLAPPED; -use um::winnt::{HANDLE, LARGE_INTEGER, LONG, PVOID}; -pub type WINUSB_INTERFACE_HANDLE = PVOID; -pub type PWINUSB_INTERFACE_HANDLE = *mut PVOID; -pub type WINUSB_ISOCH_BUFFER_HANDLE = PVOID; -pub type PWINUSB_ISOCH_BUFFER_HANDLE = *mut PVOID; -STRUCT!{#[repr(packed)] struct WINUSB_SETUP_PACKET { - RequestType: UCHAR, - Request: UCHAR, - Value: USHORT, - Index: USHORT, - Length: USHORT, -}} -pub type PWINUSB_SETUP_PACKET = *mut WINUSB_SETUP_PACKET; -extern "system" { - pub fn WinUsb_Initialize( - DeviceHandle: HANDLE, - InterfaceHandle: PWINUSB_INTERFACE_HANDLE, - ) -> BOOL; - pub fn WinUsb_Free( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - ) -> BOOL; - pub fn WinUsb_GetAssociatedInterface( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - AssociatedInterfaceIndex: UCHAR, - AssociatedInterfaceHandle: PWINUSB_INTERFACE_HANDLE, - ) -> BOOL; - pub fn WinUsb_GetDescriptor( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - DescriptorType: UCHAR, - Index: UCHAR, - LanguageID: USHORT, - Buffer: PUCHAR, - BufferLength: ULONG, - LengthTransferred: PULONG, - ) -> BOOL; - pub fn WinUsb_QueryInterfaceSettings( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - AlternateInterfaceNumber: UCHAR, - UsbAltInterfaceDescriptor: PUSB_INTERFACE_DESCRIPTOR, - ) -> BOOL; - pub fn WinUsb_QueryDeviceInformation( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - InformationType: ULONG, - BufferLength: PULONG, - Buffer: PVOID, - ) -> BOOL; - pub fn WinUsb_SetCurrentAlternateSetting( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - SettingNumber: UCHAR, - ) -> BOOL; - pub fn WinUsb_GetCurrentAlternateSetting( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - SettingNumber: PUCHAR, - ) -> BOOL; - pub fn WinUsb_QueryPipe( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - AlternateInterfaceNumber: UCHAR, - PipeIndex: UCHAR, - PipeInformationEx: PWINUSB_PIPE_INFORMATION, - ) -> BOOL; - pub fn WinUsb_QueryPipeEx( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - AlternateInterfaceNumber: UCHAR, - PipeIndex: UCHAR, - PipeInformationEx: PWINUSB_PIPE_INFORMATION_EX, - ) -> BOOL; - pub fn WinUsb_SetPipePolicy( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - PipeID: UCHAR, - PolicyType: ULONG, - ValueLength: ULONG, - Value: PVOID, - ) -> BOOL; - pub fn WinUsb_GetPipePolicy( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - PipeID: UCHAR, - PolicyType: ULONG, - ValueLength: PULONG, - Value: PVOID, - ) -> BOOL; - pub fn WinUsb_ReadPipe( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - PipeID: UCHAR, - Buffer: PUCHAR, - BufferLength: ULONG, - LengthTransferred: PULONG, - Overlapped: LPOVERLAPPED, - ) -> BOOL; - pub fn WinUsb_WritePipe( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - PipeID: UCHAR, - Buffer: PUCHAR, - BufferLength: ULONG, - LengthTransferred: PULONG, - Overlapped: LPOVERLAPPED, - ) -> BOOL; - pub fn WinUsb_ControlTransfer( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - SetupPacket: WINUSB_SETUP_PACKET, - Buffer: PUCHAR, - BufferLength: ULONG, - LengthTransferred: PULONG, - Overlapped: LPOVERLAPPED, - ) -> BOOL; - pub fn WinUsb_ResetPipe( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - PipeID: UCHAR, - ) -> BOOL; - pub fn WinUsb_AbortPipe( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - PipeID: UCHAR, - ) -> BOOL; - pub fn WinUsb_FlushPipe( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - PipeID: UCHAR, - ) -> BOOL; - pub fn WinUsb_SetPowerPolicy( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - PolicyType: ULONG, - ValueLength: ULONG, - Value: PVOID, - ) -> BOOL; - pub fn WinUsb_GetPowerPolicy( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - PolicyType: ULONG, - ValueLength: PULONG, - Value: PVOID, - ) -> BOOL; - pub fn WinUsb_GetOverlappedResult( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - lpOverlapped: LPOVERLAPPED, - lpNumberOfBytesTransferred: LPDWORD, - bWait: BOOL, - ) -> BOOL; - pub fn WinUsb_ParseConfigurationDescriptor( - ConfigurationDescriptor: PUSB_CONFIGURATION_DESCRIPTOR, - StartPosition: PVOID, - InterfaceNumber: LONG, - AlternateSetting: LONG, - InterfaceClass: LONG, - InterfaceSubClass: LONG, - InterfaceProtocol: LONG, - ) -> BOOL; - pub fn WinUsb_ParseDescriptors( - DescriptorBuffer: PVOID, - TotalLength: ULONG, - StartPosition: PVOID, - DescriptorType: LONG, - ) -> BOOL; - pub fn WinUsb_GetCurrentFrameNumber( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - CurrentFrameNumber: PULONG, - TimeStamp: *mut LARGE_INTEGER, - ) -> BOOL; - pub fn WinUsb_GetAdjustedFrameNumber( - CurrentFrameNumber: PULONG, - TimeStamp: LARGE_INTEGER, - ) -> BOOL; - pub fn WinUsb_RegisterIsochBuffer( - InterfaceHandle: WINUSB_INTERFACE_HANDLE, - PipeID: UCHAR, - Buffer: PUCHAR, - BufferLength: ULONG, - IsochBufferHandle: PWINUSB_ISOCH_BUFFER_HANDLE, - ) -> BOOL; - pub fn WinUsb_UnregisterIsochBuffer( - IsochBufferHandle: WINUSB_ISOCH_BUFFER_HANDLE, - ) -> BOOL; - pub fn WinUsb_WriteIsochPipe( - BufferHandle: WINUSB_ISOCH_BUFFER_HANDLE, - Offset: ULONG, - Length: ULONG, - FrameNumber: PULONG, - Overlapped: LPOVERLAPPED, - ) -> BOOL; - pub fn WinUsb_ReadIsochPipe( - BufferHandle: WINUSB_ISOCH_BUFFER_HANDLE, - Offset: ULONG, - Length: ULONG, - FrameNumber: PULONG, - NumberOfPackets: ULONG, - IsoPacketDescriptors: PUSBD_ISO_PACKET_DESCRIPTOR, - Overlapped: LPOVERLAPPED, - ) -> BOOL; - pub fn WinUsb_WriteIsochPipeAsap( - BufferHandle: WINUSB_ISOCH_BUFFER_HANDLE, - Offset: ULONG, - Length: ULONG, - ContinueStream: BOOL, - Overlapped: LPOVERLAPPED, - ) -> BOOL; - pub fn WinUsb_ReadIsochPipeAsap( - BufferHandle: WINUSB_ISOCH_BUFFER_HANDLE, - Offset: ULONG, - Length: ULONG, - ContinueStream: BOOL, - NumberOfPackets: ULONG, - IsoPacketDescriptors: PUSBD_ISO_PACKET_DESCRIPTOR, - Overlapped: LPOVERLAPPED, - ) -> BOOL; -} -STRUCT!{struct USB_INTERFACE_DESCRIPTOR { - bLength: UCHAR, - bDescriptorType: UCHAR, - bInterfaceNumber: UCHAR, - bAlternateSetting: UCHAR, - bNumEndpoints: UCHAR, - bInterfaceClass: UCHAR, - bInterfaceSubClass: UCHAR, - bInterfaceProtocol: UCHAR, - iInterface: UCHAR, -}} -pub type PUSB_INTERFACE_DESCRIPTOR = *mut USB_INTERFACE_DESCRIPTOR; diff --git a/vendor/registry-40351f815f426200/winapi/src/um/winuser.rs b/vendor/registry-40351f815f426200/winapi/src/um/winuser.rs deleted file mode 100644 index 53890d138..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/winuser.rs +++ /dev/null @@ -1,7006 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! USER procedure declarations, constant definitions and macros -use ctypes::{c_int, c_long, c_short, c_uint}; -use shared::basetsd::{ - DWORD_PTR, INT32, INT_PTR, PDWORD_PTR, UINT16, UINT32, UINT64, UINT_PTR, ULONG_PTR, -}; -#[cfg(target_pointer_width = "64")] -use shared::basetsd::LONG_PTR; -use shared::guiddef::{GUID, LPCGUID}; -use shared::minwindef::{ - ATOM, BOOL, BYTE, DWORD, HINSTANCE, HIWORD, HKL, HMODULE, HRGN, HWINSTA, INT, LOWORD, LPARAM, - LPBYTE, LPDWORD, LPINT, LPVOID, LPWORD, LRESULT, PBYTE, PUINT, PULONG, TRUE, UCHAR, UINT, - ULONG, USHORT, WORD, WPARAM, -}; -use shared::windef::{ - COLORREF, DPI_AWARENESS, DPI_AWARENESS_CONTEXT, DPI_HOSTING_BEHAVIOR, HACCEL, HBITMAP, HBRUSH, - HCURSOR, HDC, HDESK, HHOOK, HICON, HMENU, HMONITOR, HWINEVENTHOOK, HWND, LPCRECT, LPPOINT, - LPRECT, POINT, RECT, -}; -use um::minwinbase::LPSECURITY_ATTRIBUTES; -use um::wingdi::{ - BLENDFUNCTION, DEVMODEA, DEVMODEW, LOGFONTA, LOGFONTW, PDISPLAY_DEVICEA, PDISPLAY_DEVICEW -}; -use um::winnt::{ - ACCESS_MASK, BOOLEAN, CHAR, HANDLE, LONG, LPCSTR, LPCWSTR, LPSTR, LPWSTR, LUID, - PSECURITY_DESCRIPTOR, PSECURITY_INFORMATION, PVOID, SHORT, VOID, WCHAR, -}; -use vc::limits::UINT_MAX; -use vc::vadefs::va_list; -pub type HDWP = HANDLE; -pub type MENUTEMPLATEA = VOID; -pub type MENUTEMPLATEW = VOID; -pub type LPMENUTEMPLATEA = PVOID; -pub type LPMENUTEMPLATEW = PVOID; -FN!{stdcall WNDPROC( - HWND, - UINT, - WPARAM, - LPARAM, -) -> LRESULT} -FN!{stdcall DLGPROC( - HWND, - UINT, - WPARAM, - LPARAM, -) -> INT_PTR} -FN!{stdcall TIMERPROC( - HWND, - UINT, - UINT_PTR, - DWORD, -) -> ()} -FN!{stdcall GRAYSTRINGPROC( - HDC, - LPARAM, - c_int, -) -> BOOL} -FN!{stdcall WNDENUMPROC( - HWND, - LPARAM, -) -> BOOL} -FN!{stdcall HOOKPROC( - code: c_int, - wParam: WPARAM, - lParam: LPARAM, -) -> LRESULT} -FN!{stdcall SENDASYNCPROC( - HWND, - UINT, - ULONG_PTR, - LRESULT, -) -> ()} -FN!{stdcall PROPENUMPROCA( - HWND, - LPCSTR, - HANDLE, -) -> BOOL} -FN!{stdcall PROPENUMPROCW( - HWND, - LPCWSTR, - HANDLE, -) -> BOOL} -FN!{stdcall PROPENUMPROCEXA( - HWND, - LPSTR, - HANDLE, - ULONG_PTR, -) -> BOOL} -FN!{stdcall PROPENUMPROCEXW( - HWND, - LPWSTR, - HANDLE, - ULONG_PTR, -) -> BOOL} -FN!{stdcall EDITWORDBREAKPROCA( - lpch: LPSTR, - ichCurrent: c_int, - cch: c_int, - code: c_int, -) -> c_int} -FN!{stdcall EDITWORDBREAKPROCW( - lpch: LPWSTR, - ichCurrent: c_int, - cch: c_int, - code: c_int, -) -> c_int} -FN!{stdcall DRAWSTATEPROC( - hdc: HDC, - lData: LPARAM, - wData: WPARAM, - cx: c_int, - cy: c_int, -) -> BOOL} -FN!{stdcall NAMEENUMPROCA( - LPSTR, - LPARAM, -) -> BOOL} -FN!{stdcall NAMEENUMPROCW( - LPWSTR, - LPARAM, -) -> BOOL} -pub type WINSTAENUMPROCA = NAMEENUMPROCA; -pub type DESKTOPENUMPROCA = NAMEENUMPROCA; -pub type WINSTAENUMPROCW = NAMEENUMPROCW; -pub type DESKTOPENUMPROCW = NAMEENUMPROCW; -#[inline] -pub fn IS_INTRESOURCE(r: ULONG_PTR) -> bool { - (r >> 16) == 0 -} -#[inline] -pub fn MAKEINTRESOURCEA(i: WORD) -> LPSTR { - i as ULONG_PTR as LPSTR -} -#[inline] -pub fn MAKEINTRESOURCEW(i: WORD) -> LPWSTR { - i as ULONG_PTR as LPWSTR -} -pub const RT_CURSOR: LPWSTR = MAKEINTRESOURCE!(1); -pub const RT_BITMAP: LPWSTR = MAKEINTRESOURCE!(2); -pub const RT_ICON: LPWSTR = MAKEINTRESOURCE!(3); -pub const RT_MENU: LPWSTR = MAKEINTRESOURCE!(4); -pub const RT_DIALOG: LPWSTR = MAKEINTRESOURCE!(5); -pub const RT_STRING: LPWSTR = MAKEINTRESOURCE!(6); -pub const RT_FONTDIR: LPWSTR = MAKEINTRESOURCE!(7); -pub const RT_FONT: LPWSTR = MAKEINTRESOURCE!(8); -pub const RT_ACCELERATOR: LPWSTR = MAKEINTRESOURCE!(9); -pub const RT_RCDATA: LPWSTR = MAKEINTRESOURCE!(10); -pub const RT_MESSAGETABLE: LPWSTR = MAKEINTRESOURCE!(11); -pub const DIFFERENCE: WORD = 11; -pub const RT_GROUP_CURSOR: LPWSTR = MAKEINTRESOURCE!(1 + DIFFERENCE); -pub const RT_GROUP_ICON: LPWSTR = MAKEINTRESOURCE!(3 + DIFFERENCE); -pub const RT_VERSION: LPWSTR = MAKEINTRESOURCE!(16); -pub const RT_DLGINCLUDE: LPWSTR = MAKEINTRESOURCE!(17); -pub const RT_PLUGPLAY: LPWSTR = MAKEINTRESOURCE!(19); -pub const RT_VXD: LPWSTR = MAKEINTRESOURCE!(20); -pub const RT_ANICURSOR: LPWSTR = MAKEINTRESOURCE!(21); -pub const RT_ANIICON: LPWSTR = MAKEINTRESOURCE!(22); -pub const RT_HTML: LPWSTR = MAKEINTRESOURCE!(23); -pub const RT_MANIFEST: LPWSTR = MAKEINTRESOURCE!(24); -pub const CREATEPROCESS_MANIFEST_RESOURCE_ID: LPWSTR = MAKEINTRESOURCE!(1); -pub const ISOLATIONAWARE_MANIFEST_RESOURCE_ID: LPWSTR = MAKEINTRESOURCE!(2); -pub const ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID: LPWSTR - = MAKEINTRESOURCE!(3); -pub const MINIMUM_RESERVED_MANIFEST_RESOURCE_ID: LPWSTR = MAKEINTRESOURCE!(1); -pub const MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID: LPWSTR = MAKEINTRESOURCE!(16); -extern "system" { - pub fn wvsprintfA( - _: LPSTR, - _: LPCSTR, - arglist: va_list, - ) -> c_int; - pub fn wvsprintfW( - _: LPWSTR, - _: LPCWSTR, - arglist: va_list, - ) -> c_int; -} -extern "C" { - pub fn wsprintfA( - _: LPSTR, - _: LPCSTR, - ... - ) -> c_int; - pub fn wsprintfW( - _: LPWSTR, - _: LPCWSTR, - ... - ) -> c_int; -} -pub const SETWALLPAPER_DEFAULT: LPWSTR = -1isize as LPWSTR; -pub const SB_HORZ: UINT = 0; -pub const SB_VERT: UINT = 1; -pub const SB_CTL: UINT = 2; -pub const SB_BOTH: UINT = 3; -pub const SB_LINEUP: LPARAM = 0; -pub const SB_LINELEFT: LPARAM = 0; -pub const SB_LINEDOWN: LPARAM = 1; -pub const SB_LINERIGHT: LPARAM = 1; -pub const SB_PAGEUP: LPARAM = 2; -pub const SB_PAGELEFT: LPARAM = 2; -pub const SB_PAGEDOWN: LPARAM = 3; -pub const SB_PAGERIGHT: LPARAM = 3; -pub const SB_THUMBPOSITION: LPARAM = 4; -pub const SB_THUMBTRACK: LPARAM = 5; -pub const SB_TOP: LPARAM = 6; -pub const SB_LEFT: LPARAM = 6; -pub const SB_BOTTOM: LPARAM = 7; -pub const SB_RIGHT: LPARAM = 7; -pub const SB_ENDSCROLL: LPARAM = 8; -pub const SW_HIDE: c_int = 0; -pub const SW_SHOWNORMAL: c_int = 1; -pub const SW_NORMAL: c_int = 1; -pub const SW_SHOWMINIMIZED: c_int = 2; -pub const SW_SHOWMAXIMIZED: c_int = 3; -pub const SW_MAXIMIZE: c_int = 3; -pub const SW_SHOWNOACTIVATE: c_int = 4; -pub const SW_SHOW: c_int = 5; -pub const SW_MINIMIZE: c_int = 6; -pub const SW_SHOWMINNOACTIVE: c_int = 7; -pub const SW_SHOWNA: c_int = 8; -pub const SW_RESTORE: c_int = 9; -pub const SW_SHOWDEFAULT: c_int = 10; -pub const SW_FORCEMINIMIZE: c_int = 11; -pub const SW_MAX: c_int = 11; -pub const HIDE_WINDOW: c_int = 0; -pub const SHOW_OPENWINDOW: c_int = 1; -pub const SHOW_ICONWINDOW: c_int = 2; -pub const SHOW_FULLSCREEN: c_int = 3; -pub const SHOW_OPENNOACTIVATE: c_int = 4; -pub const SW_PARENTCLOSING: LPARAM = 1; -pub const SW_OTHERZOOM: LPARAM = 2; -pub const SW_PARENTOPENING: LPARAM = 3; -pub const SW_OTHERUNZOOM: LPARAM = 4; -pub const AW_HOR_POSITIVE: DWORD = 0x00000001; -pub const AW_HOR_NEGATIVE: DWORD = 0x00000002; -pub const AW_VER_POSITIVE: DWORD = 0x00000004; -pub const AW_VER_NEGATIVE: DWORD = 0x00000008; -pub const AW_CENTER: DWORD = 0x00000010; -pub const AW_HIDE: DWORD = 0x00010000; -pub const AW_ACTIVATE: DWORD = 0x00020000; -pub const AW_SLIDE: DWORD = 0x00040000; -pub const AW_BLEND: DWORD = 0x00080000; -pub const KF_EXTENDED: WORD = 0x0100; -pub const KF_DLGMODE: WORD = 0x0800; -pub const KF_MENUMODE: WORD = 0x1000; -pub const KF_ALTDOWN: WORD = 0x2000; -pub const KF_REPEAT: WORD = 0x4000; -pub const KF_UP: WORD = 0x8000; -pub const VK_LBUTTON: c_int = 0x01; -pub const VK_RBUTTON: c_int = 0x02; -pub const VK_CANCEL: c_int = 0x03; -pub const VK_MBUTTON: c_int = 0x04; -pub const VK_XBUTTON1: c_int = 0x05; -pub const VK_XBUTTON2: c_int = 0x06; -pub const VK_BACK: c_int = 0x08; -pub const VK_TAB: c_int = 0x09; -pub const VK_CLEAR: c_int = 0x0C; -pub const VK_RETURN: c_int = 0x0D; -pub const VK_SHIFT: c_int = 0x10; -pub const VK_CONTROL: c_int = 0x11; -pub const VK_MENU: c_int = 0x12; -pub const VK_PAUSE: c_int = 0x13; -pub const VK_CAPITAL: c_int = 0x14; -pub const VK_KANA: c_int = 0x15; -pub const VK_HANGEUL: c_int = 0x15; -pub const VK_HANGUL: c_int = 0x15; -pub const VK_JUNJA: c_int = 0x17; -pub const VK_FINAL: c_int = 0x18; -pub const VK_HANJA: c_int = 0x19; -pub const VK_KANJI: c_int = 0x19; -pub const VK_ESCAPE: c_int = 0x1B; -pub const VK_CONVERT: c_int = 0x1C; -pub const VK_NONCONVERT: c_int = 0x1D; -pub const VK_ACCEPT: c_int = 0x1E; -pub const VK_MODECHANGE: c_int = 0x1F; -pub const VK_SPACE: c_int = 0x20; -pub const VK_PRIOR: c_int = 0x21; -pub const VK_NEXT: c_int = 0x22; -pub const VK_END: c_int = 0x23; -pub const VK_HOME: c_int = 0x24; -pub const VK_LEFT: c_int = 0x25; -pub const VK_UP: c_int = 0x26; -pub const VK_RIGHT: c_int = 0x27; -pub const VK_DOWN: c_int = 0x28; -pub const VK_SELECT: c_int = 0x29; -pub const VK_PRINT: c_int = 0x2A; -pub const VK_EXECUTE: c_int = 0x2B; -pub const VK_SNAPSHOT: c_int = 0x2C; -pub const VK_INSERT: c_int = 0x2D; -pub const VK_DELETE: c_int = 0x2E; -pub const VK_HELP: c_int = 0x2F; -pub const VK_LWIN: c_int = 0x5B; -pub const VK_RWIN: c_int = 0x5C; -pub const VK_APPS: c_int = 0x5D; -pub const VK_SLEEP: c_int = 0x5F; -pub const VK_NUMPAD0: c_int = 0x60; -pub const VK_NUMPAD1: c_int = 0x61; -pub const VK_NUMPAD2: c_int = 0x62; -pub const VK_NUMPAD3: c_int = 0x63; -pub const VK_NUMPAD4: c_int = 0x64; -pub const VK_NUMPAD5: c_int = 0x65; -pub const VK_NUMPAD6: c_int = 0x66; -pub const VK_NUMPAD7: c_int = 0x67; -pub const VK_NUMPAD8: c_int = 0x68; -pub const VK_NUMPAD9: c_int = 0x69; -pub const VK_MULTIPLY: c_int = 0x6A; -pub const VK_ADD: c_int = 0x6B; -pub const VK_SEPARATOR: c_int = 0x6C; -pub const VK_SUBTRACT: c_int = 0x6D; -pub const VK_DECIMAL: c_int = 0x6E; -pub const VK_DIVIDE: c_int = 0x6F; -pub const VK_F1: c_int = 0x70; -pub const VK_F2: c_int = 0x71; -pub const VK_F3: c_int = 0x72; -pub const VK_F4: c_int = 0x73; -pub const VK_F5: c_int = 0x74; -pub const VK_F6: c_int = 0x75; -pub const VK_F7: c_int = 0x76; -pub const VK_F8: c_int = 0x77; -pub const VK_F9: c_int = 0x78; -pub const VK_F10: c_int = 0x79; -pub const VK_F11: c_int = 0x7A; -pub const VK_F12: c_int = 0x7B; -pub const VK_F13: c_int = 0x7C; -pub const VK_F14: c_int = 0x7D; -pub const VK_F15: c_int = 0x7E; -pub const VK_F16: c_int = 0x7F; -pub const VK_F17: c_int = 0x80; -pub const VK_F18: c_int = 0x81; -pub const VK_F19: c_int = 0x82; -pub const VK_F20: c_int = 0x83; -pub const VK_F21: c_int = 0x84; -pub const VK_F22: c_int = 0x85; -pub const VK_F23: c_int = 0x86; -pub const VK_F24: c_int = 0x87; -pub const VK_NAVIGATION_VIEW: c_int = 0x88; -pub const VK_NAVIGATION_MENU: c_int = 0x89; -pub const VK_NAVIGATION_UP: c_int = 0x8A; -pub const VK_NAVIGATION_DOWN: c_int = 0x8B; -pub const VK_NAVIGATION_LEFT: c_int = 0x8C; -pub const VK_NAVIGATION_RIGHT: c_int = 0x8D; -pub const VK_NAVIGATION_ACCEPT: c_int = 0x8E; -pub const VK_NAVIGATION_CANCEL: c_int = 0x8F; -pub const VK_NUMLOCK: c_int = 0x90; -pub const VK_SCROLL: c_int = 0x91; -pub const VK_OEM_NEC_EQUAL: c_int = 0x92; -pub const VK_OEM_FJ_JISHO: c_int = 0x92; -pub const VK_OEM_FJ_MASSHOU: c_int = 0x93; -pub const VK_OEM_FJ_TOUROKU: c_int = 0x94; -pub const VK_OEM_FJ_LOYA: c_int = 0x95; -pub const VK_OEM_FJ_ROYA: c_int = 0x96; -pub const VK_LSHIFT: c_int = 0xA0; -pub const VK_RSHIFT: c_int = 0xA1; -pub const VK_LCONTROL: c_int = 0xA2; -pub const VK_RCONTROL: c_int = 0xA3; -pub const VK_LMENU: c_int = 0xA4; -pub const VK_RMENU: c_int = 0xA5; -pub const VK_BROWSER_BACK: c_int = 0xA6; -pub const VK_BROWSER_FORWARD: c_int = 0xA7; -pub const VK_BROWSER_REFRESH: c_int = 0xA8; -pub const VK_BROWSER_STOP: c_int = 0xA9; -pub const VK_BROWSER_SEARCH: c_int = 0xAA; -pub const VK_BROWSER_FAVORITES: c_int = 0xAB; -pub const VK_BROWSER_HOME: c_int = 0xAC; -pub const VK_VOLUME_MUTE: c_int = 0xAD; -pub const VK_VOLUME_DOWN: c_int = 0xAE; -pub const VK_VOLUME_UP: c_int = 0xAF; -pub const VK_MEDIA_NEXT_TRACK: c_int = 0xB0; -pub const VK_MEDIA_PREV_TRACK: c_int = 0xB1; -pub const VK_MEDIA_STOP: c_int = 0xB2; -pub const VK_MEDIA_PLAY_PAUSE: c_int = 0xB3; -pub const VK_LAUNCH_MAIL: c_int = 0xB4; -pub const VK_LAUNCH_MEDIA_SELECT: c_int = 0xB5; -pub const VK_LAUNCH_APP1: c_int = 0xB6; -pub const VK_LAUNCH_APP2: c_int = 0xB7; -pub const VK_OEM_1: c_int = 0xBA; -pub const VK_OEM_PLUS: c_int = 0xBB; -pub const VK_OEM_COMMA: c_int = 0xBC; -pub const VK_OEM_MINUS: c_int = 0xBD; -pub const VK_OEM_PERIOD: c_int = 0xBE; -pub const VK_OEM_2: c_int = 0xBF; -pub const VK_OEM_3: c_int = 0xC0; -pub const VK_GAMEPAD_A: c_int = 0xC3; -pub const VK_GAMEPAD_B: c_int = 0xC4; -pub const VK_GAMEPAD_X: c_int = 0xC5; -pub const VK_GAMEPAD_Y: c_int = 0xC6; -pub const VK_GAMEPAD_RIGHT_SHOULDER: c_int = 0xC7; -pub const VK_GAMEPAD_LEFT_SHOULDER: c_int = 0xC8; -pub const VK_GAMEPAD_LEFT_TRIGGER: c_int = 0xC9; -pub const VK_GAMEPAD_RIGHT_TRIGGER: c_int = 0xCA; -pub const VK_GAMEPAD_DPAD_UP: c_int = 0xCB; -pub const VK_GAMEPAD_DPAD_DOWN: c_int = 0xCC; -pub const VK_GAMEPAD_DPAD_LEFT: c_int = 0xCD; -pub const VK_GAMEPAD_DPAD_RIGHT: c_int = 0xCE; -pub const VK_GAMEPAD_MENU: c_int = 0xCF; -pub const VK_GAMEPAD_VIEW: c_int = 0xD0; -pub const VK_GAMEPAD_LEFT_THUMBSTICK_BUTTON: c_int = 0xD1; -pub const VK_GAMEPAD_RIGHT_THUMBSTICK_BUTTON: c_int = 0xD2; -pub const VK_GAMEPAD_LEFT_THUMBSTICK_UP: c_int = 0xD3; -pub const VK_GAMEPAD_LEFT_THUMBSTICK_DOWN: c_int = 0xD4; -pub const VK_GAMEPAD_LEFT_THUMBSTICK_RIGHT: c_int = 0xD5; -pub const VK_GAMEPAD_LEFT_THUMBSTICK_LEFT: c_int = 0xD6; -pub const VK_GAMEPAD_RIGHT_THUMBSTICK_UP: c_int = 0xD7; -pub const VK_GAMEPAD_RIGHT_THUMBSTICK_DOWN: c_int = 0xD8; -pub const VK_GAMEPAD_RIGHT_THUMBSTICK_RIGHT: c_int = 0xD9; -pub const VK_GAMEPAD_RIGHT_THUMBSTICK_LEFT: c_int = 0xDA; -pub const VK_OEM_4: c_int = 0xDB; -pub const VK_OEM_5: c_int = 0xDC; -pub const VK_OEM_6: c_int = 0xDD; -pub const VK_OEM_7: c_int = 0xDE; -pub const VK_OEM_8: c_int = 0xDF; -pub const VK_OEM_AX: c_int = 0xE1; -pub const VK_OEM_102: c_int = 0xE2; -pub const VK_ICO_HELP: c_int = 0xE3; -pub const VK_ICO_00: c_int = 0xE4; -pub const VK_PROCESSKEY: c_int = 0xE5; -pub const VK_ICO_CLEAR: c_int = 0xE6; -pub const VK_PACKET: c_int = 0xE7; -pub const VK_OEM_RESET: c_int = 0xE9; -pub const VK_OEM_JUMP: c_int = 0xEA; -pub const VK_OEM_PA1: c_int = 0xEB; -pub const VK_OEM_PA2: c_int = 0xEC; -pub const VK_OEM_PA3: c_int = 0xED; -pub const VK_OEM_WSCTRL: c_int = 0xEE; -pub const VK_OEM_CUSEL: c_int = 0xEF; -pub const VK_OEM_ATTN: c_int = 0xF0; -pub const VK_OEM_FINISH: c_int = 0xF1; -pub const VK_OEM_COPY: c_int = 0xF2; -pub const VK_OEM_AUTO: c_int = 0xF3; -pub const VK_OEM_ENLW: c_int = 0xF4; -pub const VK_OEM_BACKTAB: c_int = 0xF5; -pub const VK_ATTN: c_int = 0xF6; -pub const VK_CRSEL: c_int = 0xF7; -pub const VK_EXSEL: c_int = 0xF8; -pub const VK_EREOF: c_int = 0xF9; -pub const VK_PLAY: c_int = 0xFA; -pub const VK_ZOOM: c_int = 0xFB; -pub const VK_NONAME: c_int = 0xFC; -pub const VK_PA1: c_int = 0xFD; -pub const VK_OEM_CLEAR: c_int = 0xFE; -pub const WH_MIN: c_int = -1; -pub const WH_MSGFILTER: c_int = -1; -pub const WH_JOURNALRECORD: c_int = 0; -pub const WH_JOURNALPLAYBACK: c_int = 1; -pub const WH_KEYBOARD: c_int = 2; -pub const WH_GETMESSAGE: c_int = 3; -pub const WH_CALLWNDPROC: c_int = 4; -pub const WH_CBT: c_int = 5; -pub const WH_SYSMSGFILTER: c_int = 6; -pub const WH_MOUSE: c_int = 7; -pub const WH_HARDWARE: c_int = 8; -pub const WH_DEBUG: c_int = 9; -pub const WH_SHELL: c_int = 10; -pub const WH_FOREGROUNDIDLE: c_int = 11; -pub const WH_CALLWNDPROCRET: c_int = 12; -pub const WH_KEYBOARD_LL: c_int = 13; -pub const WH_MOUSE_LL: c_int = 14; -pub const WH_MAX: c_int = 14; -pub const WH_MINHOOK: c_int = WH_MIN; -pub const WH_MAXHOOK: c_int = WH_MAX; -pub const HC_ACTION: c_int = 0; -pub const HC_GETNEXT: c_int = 1; -pub const HC_SKIP: c_int = 2; -pub const HC_NOREMOVE: c_int = 3; -pub const HC_NOREM: c_int = HC_NOREMOVE; -pub const HC_SYSMODALON: c_int = 4; -pub const HC_SYSMODALOFF: c_int = 5; -pub const HCBT_MOVESIZE: c_int = 0; -pub const HCBT_MINMAX: c_int = 1; -pub const HCBT_QS: c_int = 2; -pub const HCBT_CREATEWND: c_int = 3; -pub const HCBT_DESTROYWND: c_int = 4; -pub const HCBT_ACTIVATE: c_int = 5; -pub const HCBT_CLICKSKIPPED: c_int = 6; -pub const HCBT_KEYSKIPPED: c_int = 7; -pub const HCBT_SYSCOMMAND: c_int = 8; -pub const HCBT_SETFOCUS: c_int = 9; -STRUCT!{struct CBT_CREATEWNDA { - lpcs: *mut CREATESTRUCTA, - hwndInsertAfter: HWND, -}} -pub type LPCBT_CREATEWNDA = *mut CBT_CREATEWNDA; -STRUCT!{struct CBT_CREATEWNDW { - lpcs: *mut CREATESTRUCTW, - hwndInsertAfter: HWND, -}} -pub type LPCBT_CREATEWNDW = *mut CBT_CREATEWNDW; -STRUCT!{struct CBTACTIVATESTRUCT { - fMouse: BOOL, - hWndActive: HWND, -}} -pub type LPCBTACTIVATESTRUCT = *mut CBTACTIVATESTRUCT; -STRUCT!{struct WTSSESSION_NOTIFICATION { - cbSize: DWORD, - dwSessionId: DWORD, -}} -pub type PWTSSESSION_NOTIFICATION = *mut WTSSESSION_NOTIFICATION; -pub const WTS_CONSOLE_CONNECT: WPARAM = 0x1; -pub const WTS_CONSOLE_DISCONNECT: WPARAM = 0x2; -pub const WTS_REMOTE_CONNECT: WPARAM = 0x3; -pub const WTS_REMOTE_DISCONNECT: WPARAM = 0x4; -pub const WTS_SESSION_LOGON: WPARAM = 0x5; -pub const WTS_SESSION_LOGOFF: WPARAM = 0x6; -pub const WTS_SESSION_LOCK: WPARAM = 0x7; -pub const WTS_SESSION_UNLOCK: WPARAM = 0x8; -pub const WTS_SESSION_REMOTE_CONTROL: WPARAM = 0x9; -pub const WTS_SESSION_CREATE: WPARAM = 0xa; -pub const WTS_SESSION_TERMINATE: WPARAM = 0xb; -pub const MSGF_DIALOGBOX: c_int = 0; -pub const MSGF_MESSAGEBOX: c_int = 1; -pub const MSGF_MENU: c_int = 2; -pub const MSGF_SCROLLBAR: c_int = 5; -pub const MSGF_NEXTWINDOW: c_int = 6; -pub const MSGF_MAX: c_int = 8; -pub const MSGF_USER: c_int = 4096; -pub const HSHELL_WINDOWCREATED: c_int = 1; -pub const HSHELL_WINDOWDESTROYED: c_int = 2; -pub const HSHELL_ACTIVATESHELLWINDOW: c_int = 3; -pub const HSHELL_WINDOWACTIVATED: c_int = 4; -pub const HSHELL_GETMINRECT: c_int = 5; -pub const HSHELL_REDRAW: c_int = 6; -pub const HSHELL_TASKMAN: c_int = 7; -pub const HSHELL_LANGUAGE: c_int = 8; -pub const HSHELL_SYSMENU: c_int = 9; -pub const HSHELL_ENDTASK: c_int = 10; -pub const HSHELL_ACCESSIBILITYSTATE: c_int = 11; -pub const HSHELL_APPCOMMAND: c_int = 12; -pub const HSHELL_WINDOWREPLACED: c_int = 13; -pub const HSHELL_WINDOWREPLACING: c_int = 14; -pub const HSHELL_MONITORCHANGED: c_int = 16; -pub const HSHELL_HIGHBIT: c_int = 0x8000; -pub const HSHELL_FLASH: c_int = HSHELL_REDRAW | HSHELL_HIGHBIT; -pub const HSHELL_RUDEAPPACTIVATED: c_int = HSHELL_WINDOWACTIVATED | HSHELL_HIGHBIT; -pub const APPCOMMAND_BROWSER_BACKWARD: c_short = 1; -pub const APPCOMMAND_BROWSER_FORWARD: c_short = 2; -pub const APPCOMMAND_BROWSER_REFRESH: c_short = 3; -pub const APPCOMMAND_BROWSER_STOP: c_short = 4; -pub const APPCOMMAND_BROWSER_SEARCH: c_short = 5; -pub const APPCOMMAND_BROWSER_FAVORITES: c_short = 6; -pub const APPCOMMAND_BROWSER_HOME: c_short = 7; -pub const APPCOMMAND_VOLUME_MUTE: c_short = 8; -pub const APPCOMMAND_VOLUME_DOWN: c_short = 9; -pub const APPCOMMAND_VOLUME_UP: c_short = 10; -pub const APPCOMMAND_MEDIA_NEXTTRACK: c_short = 11; -pub const APPCOMMAND_MEDIA_PREVIOUSTRACK: c_short = 12; -pub const APPCOMMAND_MEDIA_STOP: c_short = 13; -pub const APPCOMMAND_MEDIA_PLAY_PAUSE: c_short = 14; -pub const APPCOMMAND_LAUNCH_MAIL: c_short = 15; -pub const APPCOMMAND_LAUNCH_MEDIA_SELECT: c_short = 16; -pub const APPCOMMAND_LAUNCH_APP1: c_short = 17; -pub const APPCOMMAND_LAUNCH_APP2: c_short = 18; -pub const APPCOMMAND_BASS_DOWN: c_short = 19; -pub const APPCOMMAND_BASS_BOOST: c_short = 20; -pub const APPCOMMAND_BASS_UP: c_short = 21; -pub const APPCOMMAND_TREBLE_DOWN: c_short = 22; -pub const APPCOMMAND_TREBLE_UP: c_short = 23; -pub const APPCOMMAND_MICROPHONE_VOLUME_MUTE: c_short = 24; -pub const APPCOMMAND_MICROPHONE_VOLUME_DOWN: c_short = 25; -pub const APPCOMMAND_MICROPHONE_VOLUME_UP: c_short = 26; -pub const APPCOMMAND_HELP: c_short = 27; -pub const APPCOMMAND_FIND: c_short = 28; -pub const APPCOMMAND_NEW: c_short = 29; -pub const APPCOMMAND_OPEN: c_short = 30; -pub const APPCOMMAND_CLOSE: c_short = 31; -pub const APPCOMMAND_SAVE: c_short = 32; -pub const APPCOMMAND_PRINT: c_short = 33; -pub const APPCOMMAND_UNDO: c_short = 34; -pub const APPCOMMAND_REDO: c_short = 35; -pub const APPCOMMAND_COPY: c_short = 36; -pub const APPCOMMAND_CUT: c_short = 37; -pub const APPCOMMAND_PASTE: c_short = 38; -pub const APPCOMMAND_REPLY_TO_MAIL: c_short = 39; -pub const APPCOMMAND_FORWARD_MAIL: c_short = 40; -pub const APPCOMMAND_SEND_MAIL: c_short = 41; -pub const APPCOMMAND_SPELL_CHECK: c_short = 42; -pub const APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE: c_short = 43; -pub const APPCOMMAND_MIC_ON_OFF_TOGGLE: c_short = 44; -pub const APPCOMMAND_CORRECTION_LIST: c_short = 45; -pub const APPCOMMAND_MEDIA_PLAY: c_short = 46; -pub const APPCOMMAND_MEDIA_PAUSE: c_short = 47; -pub const APPCOMMAND_MEDIA_RECORD: c_short = 48; -pub const APPCOMMAND_MEDIA_FAST_FORWARD: c_short = 49; -pub const APPCOMMAND_MEDIA_REWIND: c_short = 50; -pub const APPCOMMAND_MEDIA_CHANNEL_UP: c_short = 51; -pub const APPCOMMAND_MEDIA_CHANNEL_DOWN: c_short = 52; -pub const APPCOMMAND_DELETE: c_short = 53; -pub const APPCOMMAND_DWM_FLIP3D: c_short = 54; -pub const FAPPCOMMAND_MOUSE: WORD = 0x8000; -pub const FAPPCOMMAND_KEY: WORD = 0; -pub const FAPPCOMMAND_OEM: WORD = 0x1000; -pub const FAPPCOMMAND_MASK: WORD = 0xF000; -#[inline] -pub fn GET_APPCOMMAND_LPARAM(lParam: LPARAM) -> c_short { - (HIWORD(lParam as DWORD) & !FAPPCOMMAND_MASK) as c_short -} -#[inline] -pub fn GET_DEVICE_LPARAM(lParam: LPARAM) -> WORD { - HIWORD(lParam as DWORD) & FAPPCOMMAND_MASK -} -pub use self::GET_DEVICE_LPARAM as GET_MOUSEORKEY_LPARAM; -pub use shared::minwindef::LOWORD as GET_FLAGS_LPARAM; -pub use self::GET_FLAGS_LPARAM as GET_KEYSTATE_LPARAM; -STRUCT!{struct SHELLHOOKINFO { - hwnd: HWND, - rc: RECT, -}} -pub type LPSHELLHOOKINFO = *mut SHELLHOOKINFO; -STRUCT!{struct EVENTMSG { - message: UINT, - paramL: UINT, - paramH: UINT, - time: DWORD, - hwnd: HWND, -}} -pub type PEVENTMSGMSG = *mut EVENTMSG; -pub type NPEVENTMSGMSG = *mut EVENTMSG; -pub type LPEVENTMSGMSG = *mut EVENTMSG; -pub type PEVENTMSG = *mut EVENTMSG; -pub type NPEVENTMSG = *mut EVENTMSG; -pub type LPEVENTMSG = *mut EVENTMSG; -STRUCT!{struct CWPSTRUCT { - lParam: LPARAM, - wParam: WPARAM, - message: UINT, - hwnd: HWND, -}} -pub type PCWPSTRUCT = *mut CWPSTRUCT; -pub type NPCWPSTRUCT = *mut CWPSTRUCT; -pub type LPCWPSTRUCT = *mut CWPSTRUCT; -STRUCT!{struct CWPRETSTRUCT { - lResult: LRESULT, - lParam: LPARAM, - wParam: WPARAM, - message: UINT, - hwnd: HWND, -}} -pub type PCWPRETSTRUCT = *mut CWPRETSTRUCT; -pub type NPCWPRETSTRUCT = *mut CWPRETSTRUCT; -pub type LPCWPRETSTRUCT = *mut CWPRETSTRUCT; -pub const LLKHF_EXTENDED: DWORD = (KF_EXTENDED >> 8) as u32; -pub const LLKHF_INJECTED: DWORD = 0x00000010; -pub const LLKHF_ALTDOWN: DWORD = (KF_ALTDOWN >> 8) as u32; -pub const LLKHF_UP: DWORD = (KF_UP >> 8) as u32; -pub const LLKHF_LOWER_IL_INJECTED: DWORD = 0x00000002; -pub const LLMHF_INJECTED: DWORD = 0x00000001; -pub const LLMHF_LOWER_IL_INJECTED: DWORD = 0x00000002; -STRUCT!{struct KBDLLHOOKSTRUCT { - vkCode: DWORD, - scanCode: DWORD, - flags: DWORD, - time: DWORD, - dwExtraInfo: ULONG_PTR, -}} -pub type LPKBDLLHOOKSTRUCT = *mut KBDLLHOOKSTRUCT; -pub type PKBDLLHOOKSTRUCT = *mut KBDLLHOOKSTRUCT; -STRUCT!{struct MSLLHOOKSTRUCT { - pt: POINT, - mouseData: DWORD, - flags: DWORD, - time: DWORD, - dwExtraInfo: ULONG_PTR, -}} -pub type LPMSLLHOOKSTRUCT = *mut MSLLHOOKSTRUCT; -pub type PMSLLHOOKSTRUCT = *mut MSLLHOOKSTRUCT; -STRUCT!{struct DEBUGHOOKINFO { - idThread: DWORD, - idThreadInstaller: DWORD, - lParam: LPARAM, - wParam: WPARAM, - code: c_int, -}} -pub type PDEBUGHOOKINFO = *mut DEBUGHOOKINFO; -pub type NPDEBUGHOOKINFO = *mut DEBUGHOOKINFO; -pub type LPDEBUGHOOKINFO = *mut DEBUGHOOKINFO; -STRUCT!{struct MOUSEHOOKSTRUCT { - pt: POINT, - hwnd: HWND, - wHitTestCode: UINT, - dwExtraInfo: ULONG_PTR, -}} -pub type LPMOUSEHOOKSTRUCT = *mut MOUSEHOOKSTRUCT; -pub type PMOUSEHOOKSTRUCT = *mut MOUSEHOOKSTRUCT; -STRUCT!{struct MOUSEHOOKSTRUCTEX { - parent: MOUSEHOOKSTRUCT, - mouseData: DWORD, -}} -pub type LPMOUSEHOOKSTRUCTEX = *mut MOUSEHOOKSTRUCTEX; -pub type PMOUSEHOOKSTRUCTEX = *mut MOUSEHOOKSTRUCTEX; -STRUCT!{struct HARDWAREHOOKSTRUCT { - hwnd: HWND, - message: UINT, - wParam: WPARAM, - lParam: LPARAM, -}} -pub type LPHARDWAREHOOKSTRUCT = *mut HARDWAREHOOKSTRUCT; -pub type PHARDWAREHOOKSTRUCT = *mut HARDWAREHOOKSTRUCT; -pub const HKL_PREV: HKL = 0 as HKL; -pub const HKL_NEXT: HKL = 1 as HKL; -pub const KLF_ACTIVATE: UINT = 0x00000001; -pub const KLF_SUBSTITUTE_OK: UINT = 0x00000002; -pub const KLF_REORDER: UINT = 0x00000008; -pub const KLF_REPLACELANG: UINT = 0x00000010; -pub const KLF_NOTELLSHELL: UINT = 0x00000080; -pub const KLF_SETFORPROCESS: UINT = 0x00000100; -pub const KLF_SHIFTLOCK: UINT = 0x00010000; -pub const KLF_RESET: UINT = 0x40000000; -pub const INPUTLANGCHANGE_SYSCHARSET: WPARAM = 0x0001; -pub const INPUTLANGCHANGE_FORWARD: WPARAM = 0x0002; -pub const INPUTLANGCHANGE_BACKWARD: WPARAM = 0x0004; -pub const KL_NAMELENGTH: usize = 9; -extern "system" { - pub fn LoadKeyboardLayoutA( - pwszKLID: LPCSTR, - Flags: DWORD, - ) -> HKL; - pub fn LoadKeyboardLayoutW( - pwszKLID: LPCWSTR, - Flags: DWORD, - ) -> HKL; - pub fn ActivateKeyboardLayout( - hkl: HKL, - Flags: UINT, - ) -> HKL; - pub fn ToUnicodeEx( - wVirtKey: UINT, - wScanCode: UINT, - lpKeyState: *const BYTE, - pwszBuff: LPWSTR, - cchBuff: c_int, - wFlags: UINT, - dwhkl: HKL, - ) -> c_int; - pub fn UnloadKeyboardLayout( - hkl: HKL, - ) -> BOOL; - pub fn GetKeyboardLayoutNameA( - pwszKLID: LPSTR, - ) -> BOOL; - pub fn GetKeyboardLayoutNameW( - pwszKLID: LPWSTR, - ) -> BOOL; - pub fn GetKeyboardLayoutList( - nBuff: c_int, - lpList: *mut HKL, - ) -> c_int; - pub fn GetKeyboardLayout( - idThread: DWORD, - ) -> HKL; -} -STRUCT!{struct MOUSEMOVEPOINT { - x: c_int, - y: c_int, - time: DWORD, - dwExtraInfo: ULONG_PTR, -}} -pub type PMOUSEMOVEPOINT = *mut MOUSEMOVEPOINT; -pub type LPMOUSEMOVEPOINT = *mut MOUSEMOVEPOINT; -pub const GMMP_USE_DISPLAY_POINTS: DWORD = 1; -pub const GMMP_USE_HIGH_RESOLUTION_POINTS: DWORD = 2; -extern "system" { - pub fn GetMouseMovePointsEx( - cbSize: UINT, - lppt: LPMOUSEMOVEPOINT, - lpptBuf: LPMOUSEMOVEPOINT, - nBufPoints: c_int, - resolution: DWORD, - ) -> c_int; -} -pub const DESKTOP_READOBJECTS: DWORD = 0x0001; -pub const DESKTOP_CREATEWINDOW: DWORD = 0x0002; -pub const DESKTOP_CREATEMENU: DWORD = 0x0004; -pub const DESKTOP_HOOKCONTROL: DWORD = 0x0008; -pub const DESKTOP_JOURNALRECORD: DWORD = 0x0010; -pub const DESKTOP_JOURNALPLAYBACK: DWORD = 0x0020; -pub const DESKTOP_ENUMERATE: DWORD = 0x0040; -pub const DESKTOP_WRITEOBJECTS: DWORD = 0x0080; -pub const DESKTOP_SWITCHDESKTOP: DWORD = 0x0100; -pub const DF_ALLOWOTHERACCOUNTHOOK: DWORD = 0x0001; -extern "system" { - pub fn CreateDesktopA( - lpszDesktop: LPCSTR, - lpszDevice: LPCSTR, - pDevmode: *mut DEVMODEA, - dwFlags: DWORD, - dwDesiredAccess: ACCESS_MASK, - lpsa: LPSECURITY_ATTRIBUTES, - ) -> HDESK; - pub fn CreateDesktopW( - lpszDesktop: LPCWSTR, - lpszDevice: LPCWSTR, - pDevmode: *mut DEVMODEW, - dwFlags: DWORD, - dwDesiredAccess: ACCESS_MASK, - lpsa: LPSECURITY_ATTRIBUTES, - ) -> HDESK; - pub fn CreateDesktopExA( - lpszDesktop: LPCSTR, - lpszDevice: LPCSTR, - pDevmode: *mut DEVMODEA, - dwFlags: DWORD, - dwDesiredAccess: ACCESS_MASK, - lpsa: LPSECURITY_ATTRIBUTES, - ulHeapSize: ULONG, - pvoid: PVOID, - ) -> HDESK; - pub fn CreateDesktopExW( - lpszDesktop: LPCWSTR, - lpszDevice: LPCWSTR, - pDevmode: *mut DEVMODEW, - dwFlags: DWORD, - dwDesiredAccess: ACCESS_MASK, - lpsa: LPSECURITY_ATTRIBUTES, - ulHeapSize: ULONG, - pvoid: PVOID, - ) -> HDESK; - pub fn OpenDesktopA( - lpszDesktop: LPCSTR, - dwFlags: DWORD, - fInherit: BOOL, - dwDesiredAccess: ACCESS_MASK, - ) -> HDESK; - pub fn OpenDesktopW( - lpszDesktop: LPCWSTR, - dwFlags: DWORD, - fInherit: BOOL, - dwDesiredAccess: ACCESS_MASK, - ) -> HDESK; - pub fn OpenInputDesktop( - dwFlags: DWORD, - fInherit: BOOL, - dwDesiredAccess: ACCESS_MASK, - ) -> HDESK; - pub fn EnumDesktopsA( - hwinsta: HWINSTA, - lpEnumFunc: DESKTOPENUMPROCA, - lParam: LPARAM, - ) -> BOOL; - pub fn EnumDesktopsW( - hwinsta: HWINSTA, - lpEnumFunc: DESKTOPENUMPROCW, - lParam: LPARAM, - ) -> BOOL; - pub fn EnumDesktopWindows( - hDesktop: HDESK, - lpfn: WNDENUMPROC, - lParam: LPARAM, - ) -> BOOL; - pub fn SwitchDesktop( - hDesktop: HDESK, - ) -> BOOL; - pub fn SetThreadDesktop( - hDesktop: HDESK, - ) -> BOOL; - pub fn CloseDesktop( - hDesktop: HDESK, - ) -> BOOL; - pub fn GetThreadDesktop( - dwThreadId: DWORD, - ) -> HDESK; -} -pub const WINSTA_ENUMDESKTOPS: DWORD = 0x0001; -pub const WINSTA_READATTRIBUTES: DWORD = 0x0002; -pub const WINSTA_ACCESSCLIPBOARD: DWORD = 0x0004; -pub const WINSTA_CREATEDESKTOP: DWORD = 0x0008; -pub const WINSTA_WRITEATTRIBUTES: DWORD = 0x0010; -pub const WINSTA_ACCESSGLOBALATOMS: DWORD = 0x0020; -pub const WINSTA_EXITWINDOWS: DWORD = 0x0040; -pub const WINSTA_ENUMERATE: DWORD = 0x0100; -pub const WINSTA_READSCREEN: DWORD = 0x0200; -pub const WINSTA_ALL_ACCESS: DWORD = WINSTA_ENUMDESKTOPS | WINSTA_READATTRIBUTES - | WINSTA_ACCESSCLIPBOARD | WINSTA_CREATEDESKTOP | WINSTA_WRITEATTRIBUTES - | WINSTA_ACCESSGLOBALATOMS | WINSTA_EXITWINDOWS | WINSTA_ENUMERATE | WINSTA_READSCREEN; -pub const CWF_CREATE_ONLY: DWORD = 0x00000001; -pub const WSF_VISIBLE: DWORD = 0x0001; -extern "system" { - pub fn CreateWindowStationA( - lpwinsta: LPCSTR, - dwFlags: DWORD, - dwDesiredAccess: ACCESS_MASK, - lpsa: LPSECURITY_ATTRIBUTES, - ) -> HWINSTA; - pub fn CreateWindowStationW( - lpwinsta: LPCWSTR, - dwFlags: DWORD, - dwDesiredAccess: ACCESS_MASK, - lpsa: LPSECURITY_ATTRIBUTES, - ) -> HWINSTA; - pub fn OpenWindowStationA( - lpszWinSta: LPCSTR, - fInherit: BOOL, - dwDesiredAccess: ACCESS_MASK, - ) -> HWINSTA; - pub fn OpenWindowStationW( - lpszWinSta: LPCWSTR, - fInherit: BOOL, - dwDesiredAccess: ACCESS_MASK, - ) -> HWINSTA; - pub fn EnumWindowStationsA( - lpEnumFunc: WINSTAENUMPROCA, - lParam: LPARAM, - ) -> BOOL; - pub fn EnumWindowStationsW( - lpEnumFunc: WINSTAENUMPROCW, - lParam: LPARAM, - ) -> BOOL; - pub fn CloseWindowStation( - hWinSta: HWINSTA, - ) -> BOOL; - pub fn SetProcessWindowStation( - hWinSta: HWINSTA, - ) -> BOOL; - pub fn GetProcessWindowStation() -> HWINSTA; - pub fn SetUserObjectSecurity( - hObj: HANDLE, - pSIRequested: PSECURITY_INFORMATION, - pSID: PSECURITY_DESCRIPTOR, - ) -> BOOL; - pub fn GetUserObjectSecurity( - hObj: HANDLE, - pSIRequested: PSECURITY_INFORMATION, - pSID: PSECURITY_DESCRIPTOR, - nLength: DWORD, - lpnLengthNeeded: LPDWORD, - ) -> BOOL; -} -pub const UOI_FLAGS: DWORD = 1; -pub const UOI_NAME: DWORD = 2; -pub const UOI_TYPE: DWORD = 3; -pub const UOI_USER_SID: DWORD = 4; -pub const UOI_HEAPSIZE: DWORD = 5; -pub const UOI_IO: DWORD = 6; -pub const UOI_TIMERPROC_EXCEPTION_SUPPRESSION: DWORD = 7; -STRUCT!{struct USEROBJECTFLAGS { - fInherit: BOOL, - fReserved: BOOL, - dwFlags: DWORD, -}} -pub type PUSEROBJECTFLAGS = *mut USEROBJECTFLAGS; -extern "system" { - pub fn GetUserObjectInformationA( - hObj: HANDLE, - nIndex: c_int, - pvInfo: PVOID, - nLength: DWORD, - lpnLengthNeeded: LPDWORD, - ) -> BOOL; - pub fn GetUserObjectInformationW( - hObj: HANDLE, - nIndex: c_int, - pvInfo: PVOID, - nLength: DWORD, - lpnLengthNeeded: LPDWORD, - ) -> BOOL; - pub fn SetUserObjectInformationA( - hObj: HANDLE, - nIndex: c_int, - pvInfo: PVOID, - nLength: DWORD, - ) -> BOOL; - pub fn SetUserObjectInformationW( - hObj: HANDLE, - nIndex: c_int, - pvInfo: PVOID, - nLength: DWORD, - ) -> BOOL; -} -STRUCT!{struct WNDCLASSEXA { - cbSize: UINT, - style: UINT, - lpfnWndProc: WNDPROC, - cbClsExtra: c_int, - cbWndExtra: c_int, - hInstance: HINSTANCE, - hIcon: HICON, - hCursor: HCURSOR, - hbrBackground: HBRUSH, - lpszMenuName: LPCSTR, - lpszClassName: LPCSTR, - hIconSm: HICON, -}} -pub type PWNDCLASSEXA = *mut WNDCLASSEXA; -pub type NPWNDCLASSEXA = *mut WNDCLASSEXA; -pub type LPWNDCLASSEXA = *mut WNDCLASSEXA; -STRUCT!{struct WNDCLASSEXW { - cbSize: UINT, - style: UINT, - lpfnWndProc: WNDPROC, - cbClsExtra: c_int, - cbWndExtra: c_int, - hInstance: HINSTANCE, - hIcon: HICON, - hCursor: HCURSOR, - hbrBackground: HBRUSH, - lpszMenuName: LPCWSTR, - lpszClassName: LPCWSTR, - hIconSm: HICON, -}} -pub type PWNDCLASSEXW = *mut WNDCLASSEXW; -pub type NPWNDCLASSEXW = *mut WNDCLASSEXW; -pub type LPWNDCLASSEXW = *mut WNDCLASSEXW; -STRUCT!{struct WNDCLASSA { - style: UINT, - lpfnWndProc: WNDPROC, - cbClsExtra: c_int, - cbWndExtra: c_int, - hInstance: HINSTANCE, - hIcon: HICON, - hCursor: HCURSOR, - hbrBackground: HBRUSH, - lpszMenuName: LPCSTR, - lpszClassName: LPCSTR, -}} -pub type PWNDCLASSA = *mut WNDCLASSA; -pub type NPWNDCLASSA = *mut WNDCLASSA; -pub type LPWNDCLASSA = *mut WNDCLASSA; -STRUCT!{struct WNDCLASSW { - style: UINT, - lpfnWndProc: WNDPROC, - cbClsExtra: c_int, - cbWndExtra: c_int, - hInstance: HINSTANCE, - hIcon: HICON, - hCursor: HCURSOR, - hbrBackground: HBRUSH, - lpszMenuName: LPCWSTR, - lpszClassName: LPCWSTR, -}} -pub type PWNDCLASSW = *mut WNDCLASSW; -pub type NPWNDCLASSW = *mut WNDCLASSW; -pub type LPWNDCLASSW = *mut WNDCLASSW; -extern "system" { - pub fn IsHungAppWindow( - hwnd: HWND, - ) -> BOOL; - pub fn DisableProcessWindowsGhosting(); -} -STRUCT!{struct MSG { - hwnd: HWND, - message: UINT, - wParam: WPARAM, - lParam: LPARAM, - time: DWORD, - pt: POINT, -}} -pub type PMSG = *mut MSG; -pub type NPMSG = *mut MSG; -pub type LPMSG = *mut MSG; -//POINTSTOPOINT -//POINTTOPOINTS -//MAKEWPARAM -//MAKELPARAM -//MAKELRESULT -pub const GWL_WNDPROC: c_int = -4; -pub const GWL_HINSTANCE: c_int = -6; -pub const GWL_HWNDPARENT: c_int = -8; -pub const GWL_STYLE: c_int = -16; -pub const GWL_EXSTYLE: c_int = -20; -pub const GWL_USERDATA: c_int = -21; -pub const GWL_ID: c_int = -12; -pub const GWLP_WNDPROC: c_int = -4; -pub const GWLP_HINSTANCE: c_int = -6; -pub const GWLP_HWNDPARENT: c_int = -8; -pub const GWLP_USERDATA: c_int = -21; -pub const GWLP_ID: c_int = -12; -pub const GCL_MENUNAME: c_int = -8; -pub const GCL_HBRBACKGROUND: c_int = -10; -pub const GCL_HCURSOR: c_int = -12; -pub const GCL_HICON: c_int = -14; -pub const GCL_HMODULE: c_int = -16; -pub const GCL_CBWNDEXTRA: c_int = -18; -pub const GCL_CBCLSEXTRA: c_int = -20; -pub const GCL_WNDPROC: c_int = -24; -pub const GCL_STYLE: c_int = -26; -pub const GCW_ATOM: c_int = -32; -pub const GCL_HICONSM: c_int = -34; -pub const GCLP_MENUNAME: c_int = -8; -pub const GCLP_HBRBACKGROUND: c_int = -10; -pub const GCLP_HCURSOR: c_int = -12; -pub const GCLP_HICON: c_int = -14; -pub const GCLP_HMODULE: c_int = -16; -pub const GCLP_WNDPROC: c_int = -24; -pub const GCLP_HICONSM: c_int = -34; -pub const WM_NULL: UINT = 0x0000; -pub const WM_CREATE: UINT = 0x0001; -pub const WM_DESTROY: UINT = 0x0002; -pub const WM_MOVE: UINT = 0x0003; -pub const WM_SIZE: UINT = 0x0005; -pub const WM_ACTIVATE: UINT = 0x0006; -pub const WA_INACTIVE: WORD = 0; -pub const WA_ACTIVE: WORD = 1; -pub const WA_CLICKACTIVE: WORD = 2; -pub const WM_SETFOCUS: UINT = 0x0007; -pub const WM_KILLFOCUS: UINT = 0x0008; -pub const WM_ENABLE: UINT = 0x000A; -pub const WM_SETREDRAW: UINT = 0x000B; -pub const WM_SETTEXT: UINT = 0x000C; -pub const WM_GETTEXT: UINT = 0x000D; -pub const WM_GETTEXTLENGTH: UINT = 0x000E; -pub const WM_PAINT: UINT = 0x000F; -pub const WM_CLOSE: UINT = 0x0010; -pub const WM_QUERYENDSESSION: UINT = 0x0011; -pub const WM_QUERYOPEN: UINT = 0x0013; -pub const WM_ENDSESSION: UINT = 0x0016; -pub const WM_QUIT: UINT = 0x0012; -pub const WM_ERASEBKGND: UINT = 0x0014; -pub const WM_SYSCOLORCHANGE: UINT = 0x0015; -pub const WM_SHOWWINDOW: UINT = 0x0018; -pub const WM_WININICHANGE: UINT = 0x001A; -pub const WM_SETTINGCHANGE: UINT = WM_WININICHANGE; -pub const WM_DEVMODECHANGE: UINT = 0x001B; -pub const WM_ACTIVATEAPP: UINT = 0x001C; -pub const WM_FONTCHANGE: UINT = 0x001D; -pub const WM_TIMECHANGE: UINT = 0x001E; -pub const WM_CANCELMODE: UINT = 0x001F; -pub const WM_SETCURSOR: UINT = 0x0020; -pub const WM_MOUSEACTIVATE: UINT = 0x0021; -pub const WM_CHILDACTIVATE: UINT = 0x0022; -pub const WM_QUEUESYNC: UINT = 0x0023; -pub const WM_GETMINMAXINFO: UINT = 0x0024; -STRUCT!{struct MINMAXINFO { - ptReserved: POINT, - ptMaxSize: POINT, - ptMaxPosition: POINT, - ptMinTrackSize: POINT, - ptMaxTrackSize: POINT, -}} -pub type PMINMAXINFO = *mut MINMAXINFO; -pub type LPMINMAXINFO = *mut MINMAXINFO; -pub const WM_PAINTICON: UINT = 0x0026; -pub const WM_ICONERASEBKGND: UINT = 0x0027; -pub const WM_NEXTDLGCTL: UINT = 0x0028; -pub const WM_SPOOLERSTATUS: UINT = 0x002A; -pub const WM_DRAWITEM: UINT = 0x002B; -pub const WM_MEASUREITEM: UINT = 0x002C; -pub const WM_DELETEITEM: UINT = 0x002D; -pub const WM_VKEYTOITEM: UINT = 0x002E; -pub const WM_CHARTOITEM: UINT = 0x002F; -pub const WM_SETFONT: UINT = 0x0030; -pub const WM_GETFONT: UINT = 0x0031; -pub const WM_SETHOTKEY: UINT = 0x0032; -pub const WM_GETHOTKEY: UINT = 0x0033; -pub const WM_QUERYDRAGICON: UINT = 0x0037; -pub const WM_COMPAREITEM: UINT = 0x0039; -pub const WM_GETOBJECT: UINT = 0x003D; -pub const WM_COMPACTING: UINT = 0x0041; -pub const WM_COMMNOTIFY: UINT = 0x0044; -pub const WM_WINDOWPOSCHANGING: UINT = 0x0046; -pub const WM_WINDOWPOSCHANGED: UINT = 0x0047; -pub const WM_POWER: UINT = 0x0048; -pub const PWR_OK: WPARAM = 1; -pub const PWR_FAIL: WPARAM = -1isize as usize; -pub const PWR_SUSPENDREQUEST: WPARAM = 1; -pub const PWR_SUSPENDRESUME: WPARAM = 2; -pub const PWR_CRITICALRESUME: WPARAM = 3; -pub const WM_COPYDATA: UINT = 0x004A; -pub const WM_CANCELJOURNAL: UINT = 0x004B; -STRUCT!{struct COPYDATASTRUCT { - dwData: ULONG_PTR, - cbData: DWORD, - lpData: PVOID, -}} -pub type PCOPYDATASTRUCT = *mut COPYDATASTRUCT; -STRUCT!{struct MDINEXTMENU { - hmenuIn: HMENU, - hmenuNext: HMENU, - hwndNext: HWND, -}} -pub type PMDINEXTMENU = *mut MDINEXTMENU; -pub type LPMDINEXTMENU = *mut MDINEXTMENU; -pub const WM_NOTIFY: UINT = 0x004E; -pub const WM_INPUTLANGCHANGEREQUEST: UINT = 0x0050; -pub const WM_INPUTLANGCHANGE: UINT = 0x0051; -pub const WM_TCARD: UINT = 0x0052; -pub const WM_HELP: UINT = 0x0053; -pub const WM_USERCHANGED: UINT = 0x0054; -pub const WM_NOTIFYFORMAT: UINT = 0x0055; -pub const NFR_ANSI: LRESULT = 1; -pub const NFR_UNICODE: LRESULT = 2; -pub const NF_QUERY: LPARAM = 3; -pub const NF_REQUERY: LPARAM = 4; -pub const WM_CONTEXTMENU: UINT = 0x007B; -pub const WM_STYLECHANGING: UINT = 0x007C; -pub const WM_STYLECHANGED: UINT = 0x007D; -pub const WM_DISPLAYCHANGE: UINT = 0x007E; -pub const WM_GETICON: UINT = 0x007F; -pub const WM_SETICON: UINT = 0x0080; -pub const WM_NCCREATE: UINT = 0x0081; -pub const WM_NCDESTROY: UINT = 0x0082; -pub const WM_NCCALCSIZE: UINT = 0x0083; -pub const WM_NCHITTEST: UINT = 0x0084; -pub const WM_NCPAINT: UINT = 0x0085; -pub const WM_NCACTIVATE: UINT = 0x0086; -pub const WM_GETDLGCODE: UINT = 0x0087; -pub const WM_SYNCPAINT: UINT = 0x0088; -pub const WM_NCMOUSEMOVE: UINT = 0x00A0; -pub const WM_NCLBUTTONDOWN: UINT = 0x00A1; -pub const WM_NCLBUTTONUP: UINT = 0x00A2; -pub const WM_NCLBUTTONDBLCLK: UINT = 0x00A3; -pub const WM_NCRBUTTONDOWN: UINT = 0x00A4; -pub const WM_NCRBUTTONUP: UINT = 0x00A5; -pub const WM_NCRBUTTONDBLCLK: UINT = 0x00A6; -pub const WM_NCMBUTTONDOWN: UINT = 0x00A7; -pub const WM_NCMBUTTONUP: UINT = 0x00A8; -pub const WM_NCMBUTTONDBLCLK: UINT = 0x00A9; -pub const WM_NCXBUTTONDOWN: UINT = 0x00AB; -pub const WM_NCXBUTTONUP: UINT = 0x00AC; -pub const WM_NCXBUTTONDBLCLK: UINT = 0x00AD; -pub const WM_INPUT_DEVICE_CHANGE: UINT = 0x00FE; -pub const WM_INPUT: UINT = 0x00FF; -pub const WM_KEYFIRST: UINT = 0x0100; -pub const WM_KEYDOWN: UINT = 0x0100; -pub const WM_KEYUP: UINT = 0x0101; -pub const WM_CHAR: UINT = 0x0102; -pub const WM_DEADCHAR: UINT = 0x0103; -pub const WM_SYSKEYDOWN: UINT = 0x0104; -pub const WM_SYSKEYUP: UINT = 0x0105; -pub const WM_SYSCHAR: UINT = 0x0106; -pub const WM_SYSDEADCHAR: UINT = 0x0107; -pub const WM_UNICHAR: UINT = 0x0109; -pub const WM_KEYLAST: UINT = 0x0109; -pub const UNICODE_NOCHAR: WPARAM = 0xFFFF; -pub const WM_IME_STARTCOMPOSITION: UINT = 0x010D; -pub const WM_IME_ENDCOMPOSITION: UINT = 0x010E; -pub const WM_IME_COMPOSITION: UINT = 0x010F; -pub const WM_IME_KEYLAST: UINT = 0x010F; -pub const WM_INITDIALOG: UINT = 0x0110; -pub const WM_COMMAND: UINT = 0x0111; -pub const WM_SYSCOMMAND: UINT = 0x0112; -pub const WM_TIMER: UINT = 0x0113; -pub const WM_HSCROLL: UINT = 0x0114; -pub const WM_VSCROLL: UINT = 0x0115; -pub const WM_INITMENU: UINT = 0x0116; -pub const WM_INITMENUPOPUP: UINT = 0x0117; -pub const WM_GESTURE: UINT = 0x0119; -pub const WM_GESTURENOTIFY: UINT = 0x011A; -pub const WM_MENUSELECT: UINT = 0x011F; -pub const WM_MENUCHAR: UINT = 0x0120; -pub const WM_ENTERIDLE: UINT = 0x0121; -pub const WM_MENURBUTTONUP: UINT = 0x0122; -pub const WM_MENUDRAG: UINT = 0x0123; -pub const WM_MENUGETOBJECT: UINT = 0x0124; -pub const WM_UNINITMENUPOPUP: UINT = 0x0125; -pub const WM_MENUCOMMAND: UINT = 0x0126; -pub const WM_CHANGEUISTATE: UINT = 0x0127; -pub const WM_UPDATEUISTATE: UINT = 0x0128; -pub const WM_QUERYUISTATE: UINT = 0x0129; -pub const UIS_SET: WORD = 1; -pub const UIS_CLEAR: WORD = 2; -pub const UIS_INITIALIZE: WORD = 3; -pub const UISF_HIDEFOCUS: WORD = 0x1; -pub const UISF_HIDEACCEL: WORD = 0x2; -pub const UISF_ACTIVE: WORD = 0x4; -pub const WM_CTLCOLORMSGBOX: UINT = 0x0132; -pub const WM_CTLCOLOREDIT: UINT = 0x0133; -pub const WM_CTLCOLORLISTBOX: UINT = 0x0134; -pub const WM_CTLCOLORBTN: UINT = 0x0135; -pub const WM_CTLCOLORDLG: UINT = 0x0136; -pub const WM_CTLCOLORSCROLLBAR: UINT = 0x0137; -pub const WM_CTLCOLORSTATIC: UINT = 0x0138; -pub const MN_GETHMENU: UINT = 0x01E1; -pub const WM_MOUSEFIRST: UINT = 0x0200; -pub const WM_MOUSEMOVE: UINT = 0x0200; -pub const WM_LBUTTONDOWN: UINT = 0x0201; -pub const WM_LBUTTONUP: UINT = 0x0202; -pub const WM_LBUTTONDBLCLK: UINT = 0x0203; -pub const WM_RBUTTONDOWN: UINT = 0x0204; -pub const WM_RBUTTONUP: UINT = 0x0205; -pub const WM_RBUTTONDBLCLK: UINT = 0x0206; -pub const WM_MBUTTONDOWN: UINT = 0x0207; -pub const WM_MBUTTONUP: UINT = 0x0208; -pub const WM_MBUTTONDBLCLK: UINT = 0x0209; -pub const WM_MOUSEWHEEL: UINT = 0x020A; -pub const WM_XBUTTONDOWN: UINT = 0x020B; -pub const WM_XBUTTONUP: UINT = 0x020C; -pub const WM_XBUTTONDBLCLK: UINT = 0x020D; -pub const WM_MOUSEHWHEEL: UINT = 0x020E; -pub const WM_MOUSELAST: UINT = 0x020E; -pub const WHEEL_DELTA: c_short = 120; -#[inline] -pub fn GET_WHEEL_DELTA_WPARAM(wParam: WPARAM) -> c_short { - HIWORD(wParam as DWORD) as c_short -} -pub const WHEEL_PAGESCROLL: UINT = UINT_MAX; -#[inline] -pub fn GET_KEYSTATE_WPARAM(wParam: WPARAM) -> WORD { - LOWORD(wParam as DWORD) -} -#[inline] -pub fn GET_NCHITTEST_WPARAM(wParam: WPARAM) -> c_short { - LOWORD(wParam as DWORD) as c_short -} -#[inline] -pub fn GET_XBUTTON_WPARAM(wParam: WPARAM) -> WORD { - HIWORD(wParam as DWORD) -} -pub const XBUTTON1: WORD = 0x0001; -pub const XBUTTON2: WORD = 0x0002; -pub const WM_PARENTNOTIFY: UINT = 0x0210; -pub const WM_ENTERMENULOOP: UINT = 0x0211; -pub const WM_EXITMENULOOP: UINT = 0x0212; -pub const WM_NEXTMENU: UINT = 0x0213; -pub const WM_SIZING: UINT = 0x0214; -pub const WM_CAPTURECHANGED: UINT = 0x0215; -pub const WM_MOVING: UINT = 0x0216; -pub const WM_POWERBROADCAST: UINT = 0x0218; -pub const PBT_APMQUERYSUSPEND: WPARAM = 0x0000; -pub const PBT_APMQUERYSTANDBY: WPARAM = 0x0001; -pub const PBT_APMQUERYSUSPENDFAILED: WPARAM = 0x0002; -pub const PBT_APMQUERYSTANDBYFAILED: WPARAM = 0x0003; -pub const PBT_APMSUSPEND: WPARAM = 0x0004; -pub const PBT_APMSTANDBY: WPARAM = 0x0005; -pub const PBT_APMRESUMECRITICAL: WPARAM = 0x0006; -pub const PBT_APMRESUMESUSPEND: WPARAM = 0x0007; -pub const PBT_APMRESUMESTANDBY: WPARAM = 0x0008; -pub const PBTF_APMRESUMEFROMFAILURE: LPARAM = 0x00000001; -pub const PBT_APMBATTERYLOW: WPARAM = 0x0009; -pub const PBT_APMPOWERSTATUSCHANGE: WPARAM = 0x000A; -pub const PBT_APMOEMEVENT: WPARAM = 0x000B; -pub const PBT_APMRESUMEAUTOMATIC: WPARAM = 0x0012; -pub const PBT_POWERSETTINGCHANGE: WPARAM = 0x8013; -STRUCT!{struct POWERBROADCAST_SETTING { - PowerSetting: GUID, - DataLength: DWORD, - Data: [UCHAR; 1], -}} -pub type PPOWERBROADCAST_SETTING = *mut POWERBROADCAST_SETTING; -pub const WM_DEVICECHANGE: UINT = 0x0219; -pub const WM_MDICREATE: UINT = 0x0220; -pub const WM_MDIDESTROY: UINT = 0x0221; -pub const WM_MDIACTIVATE: UINT = 0x0222; -pub const WM_MDIRESTORE: UINT = 0x0223; -pub const WM_MDINEXT: UINT = 0x0224; -pub const WM_MDIMAXIMIZE: UINT = 0x0225; -pub const WM_MDITILE: UINT = 0x0226; -pub const WM_MDICASCADE: UINT = 0x0227; -pub const WM_MDIICONARRANGE: UINT = 0x0228; -pub const WM_MDIGETACTIVE: UINT = 0x0229; -pub const WM_MDISETMENU: UINT = 0x0230; -pub const WM_ENTERSIZEMOVE: UINT = 0x0231; -pub const WM_EXITSIZEMOVE: UINT = 0x0232; -pub const WM_DROPFILES: UINT = 0x0233; -pub const WM_MDIREFRESHMENU: UINT = 0x0234; -pub const WM_POINTERDEVICECHANGE: UINT = 0x238; -pub const WM_POINTERDEVICEINRANGE: UINT = 0x239; -pub const WM_POINTERDEVICEOUTOFRANGE: UINT = 0x23A; -pub const WM_TOUCH: UINT = 0x0240; -pub const WM_NCPOINTERUPDATE: UINT = 0x0241; -pub const WM_NCPOINTERDOWN: UINT = 0x0242; -pub const WM_NCPOINTERUP: UINT = 0x0243; -pub const WM_POINTERUPDATE: UINT = 0x0245; -pub const WM_POINTERDOWN: UINT = 0x0246; -pub const WM_POINTERUP: UINT = 0x0247; -pub const WM_POINTERENTER: UINT = 0x0249; -pub const WM_POINTERLEAVE: UINT = 0x024A; -pub const WM_POINTERACTIVATE: UINT = 0x024B; -pub const WM_POINTERCAPTURECHANGED: UINT = 0x024C; -pub const WM_TOUCHHITTESTING: UINT = 0x024D; -pub const WM_POINTERWHEEL: UINT = 0x024E; -pub const WM_POINTERHWHEEL: UINT = 0x024F; -pub const DM_POINTERHITTEST: UINT = 0x0250; -pub const WM_POINTERROUTEDTO: UINT = 0x0251; -pub const WM_POINTERROUTEDAWAY: UINT = 0x0252; -pub const WM_POINTERROUTEDRELEASED: UINT = 0x0253; -pub const WM_IME_SETCONTEXT: UINT = 0x0281; -pub const WM_IME_NOTIFY: UINT = 0x0282; -pub const WM_IME_CONTROL: UINT = 0x0283; -pub const WM_IME_COMPOSITIONFULL: UINT = 0x0284; -pub const WM_IME_SELECT: UINT = 0x0285; -pub const WM_IME_CHAR: UINT = 0x0286; -pub const WM_IME_REQUEST: UINT = 0x0288; -pub const WM_IME_KEYDOWN: UINT = 0x0290; -pub const WM_IME_KEYUP: UINT = 0x0291; -pub const WM_MOUSEHOVER: UINT = 0x02A1; -pub const WM_MOUSELEAVE: UINT = 0x02A3; -pub const WM_NCMOUSEHOVER: UINT = 0x02A0; -pub const WM_NCMOUSELEAVE: UINT = 0x02A2; -pub const WM_WTSSESSION_CHANGE: UINT = 0x02B1; -pub const WM_TABLET_FIRST: UINT = 0x02c0; -pub const WM_TABLET_LAST: UINT = 0x02df; -pub const WM_DPICHANGED: UINT = 0x02E0; -pub const WM_DPICHANGED_BEFOREPARENT: UINT = 0x02E2; -pub const WM_DPICHANGED_AFTERPARENT: UINT = 0x02E3; -pub const WM_GETDPISCALEDSIZE: UINT = 0x02E4; -pub const WM_CUT: UINT = 0x0300; -pub const WM_COPY: UINT = 0x0301; -pub const WM_PASTE: UINT = 0x0302; -pub const WM_CLEAR: UINT = 0x0303; -pub const WM_UNDO: UINT = 0x0304; -pub const WM_RENDERFORMAT: UINT = 0x0305; -pub const WM_RENDERALLFORMATS: UINT = 0x0306; -pub const WM_DESTROYCLIPBOARD: UINT = 0x0307; -pub const WM_DRAWCLIPBOARD: UINT = 0x0308; -pub const WM_PAINTCLIPBOARD: UINT = 0x0309; -pub const WM_VSCROLLCLIPBOARD: UINT = 0x030A; -pub const WM_SIZECLIPBOARD: UINT = 0x030B; -pub const WM_ASKCBFORMATNAME: UINT = 0x030C; -pub const WM_CHANGECBCHAIN: UINT = 0x030D; -pub const WM_HSCROLLCLIPBOARD: UINT = 0x030E; -pub const WM_QUERYNEWPALETTE: UINT = 0x030F; -pub const WM_PALETTEISCHANGING: UINT = 0x0310; -pub const WM_PALETTECHANGED: UINT = 0x0311; -pub const WM_HOTKEY: UINT = 0x0312; -pub const WM_PRINT: UINT = 0x0317; -pub const WM_PRINTCLIENT: UINT = 0x0318; -pub const WM_APPCOMMAND: UINT = 0x0319; -pub const WM_THEMECHANGED: UINT = 0x031A; -pub const WM_CLIPBOARDUPDATE: UINT = 0x031D; -pub const WM_DWMCOMPOSITIONCHANGED: UINT = 0x031E; -pub const WM_DWMNCRENDERINGCHANGED: UINT = 0x031F; -pub const WM_DWMCOLORIZATIONCOLORCHANGED: UINT = 0x0320; -pub const WM_DWMWINDOWMAXIMIZEDCHANGE: UINT = 0x0321; -pub const WM_DWMSENDICONICTHUMBNAIL: UINT = 0x0323; -pub const WM_DWMSENDICONICLIVEPREVIEWBITMAP: UINT = 0x0326; -pub const WM_GETTITLEBARINFOEX: UINT = 0x033F; -pub const WM_HANDHELDFIRST: UINT = 0x0358; -pub const WM_HANDHELDLAST: UINT = 0x035F; -pub const WM_AFXFIRST: UINT = 0x0360; -pub const WM_AFXLAST: UINT = 0x037F; -pub const WM_PENWINFIRST: UINT = 0x0380; -pub const WM_PENWINLAST: UINT = 0x038F; -pub const WM_APP: UINT = 0x8000; -pub const WM_USER: UINT = 0x0400; -pub const WMSZ_LEFT: UINT = 1; -pub const WMSZ_RIGHT: UINT = 2; -pub const WMSZ_TOP: UINT = 3; -pub const WMSZ_TOPLEFT: UINT = 4; -pub const WMSZ_TOPRIGHT: UINT = 5; -pub const WMSZ_BOTTOM: UINT = 6; -pub const WMSZ_BOTTOMLEFT: UINT = 7; -pub const WMSZ_BOTTOMRIGHT: UINT = 8; -pub const HTERROR: LRESULT = (-2); -pub const HTTRANSPARENT: LRESULT = (-1); -pub const HTNOWHERE: LRESULT = 0; -pub const HTCLIENT: LRESULT = 1; -pub const HTCAPTION: LRESULT = 2; -pub const HTSYSMENU: LRESULT = 3; -pub const HTGROWBOX: LRESULT = 4; -pub const HTSIZE: LRESULT = HTGROWBOX; -pub const HTMENU: LRESULT = 5; -pub const HTHSCROLL: LRESULT = 6; -pub const HTVSCROLL: LRESULT = 7; -pub const HTMINBUTTON: LRESULT = 8; -pub const HTMAXBUTTON: LRESULT = 9; -pub const HTLEFT: LRESULT = 10; -pub const HTRIGHT: LRESULT = 11; -pub const HTTOP: LRESULT = 12; -pub const HTTOPLEFT: LRESULT = 13; -pub const HTTOPRIGHT: LRESULT = 14; -pub const HTBOTTOM: LRESULT = 15; -pub const HTBOTTOMLEFT: LRESULT = 16; -pub const HTBOTTOMRIGHT: LRESULT = 17; -pub const HTBORDER: LRESULT = 18; -pub const HTREDUCE: LRESULT = HTMINBUTTON; -pub const HTZOOM: LRESULT = HTMAXBUTTON; -pub const HTSIZEFIRST: LRESULT = HTLEFT; -pub const HTSIZELAST: LRESULT = HTBOTTOMRIGHT; -pub const HTOBJECT: LRESULT = 19; -pub const HTCLOSE: LRESULT = 20; -pub const HTHELP: LRESULT = 21; -pub const SMTO_NORMAL: UINT = 0x0000; -pub const SMTO_BLOCK: UINT = 0x0001; -pub const SMTO_ABORTIFHUNG: UINT = 0x0002; -pub const SMTO_NOTIMEOUTIFNOTHUNG: UINT = 0x0008; -pub const SMTO_ERRORONEXIT: UINT = 0x0020; -pub const MA_ACTIVATE: UINT = 1; -pub const MA_ACTIVATEANDEAT: UINT = 2; -pub const MA_NOACTIVATE: UINT = 3; -pub const MA_NOACTIVATEANDEAT: UINT = 4; -pub const ICON_SMALL: UINT = 0; -pub const ICON_BIG: UINT = 1; -pub const ICON_SMALL2: UINT = 2; -extern "system" { - pub fn RegisterWindowMessageA( - lpString: LPCSTR, - ) -> UINT; - pub fn RegisterWindowMessageW( - lpString: LPCWSTR, - ) -> UINT; -} -pub const SIZE_RESTORED: WPARAM = 0; -pub const SIZE_MINIMIZED: WPARAM = 1; -pub const SIZE_MAXIMIZED: WPARAM = 2; -pub const SIZE_MAXSHOW: WPARAM = 3; -pub const SIZE_MAXHIDE: WPARAM = 4; -pub const SIZENORMAL: WPARAM = SIZE_RESTORED; -pub const SIZEICONIC: WPARAM = SIZE_MINIMIZED; -pub const SIZEFULLSCREEN: WPARAM = SIZE_MAXIMIZED; -pub const SIZEZOOMSHOW: WPARAM = SIZE_MAXSHOW; -pub const SIZEZOOMHIDE: WPARAM = SIZE_MAXHIDE; -STRUCT!{struct WINDOWPOS { - hwnd: HWND, - hwndInsertAfter: HWND, - x: c_int, - y: c_int, - cx: c_int, - cy: c_int, - flags: UINT, -}} -pub type LPWINDOWPOS = *mut WINDOWPOS; -pub type PWINDOWPOS = *mut WINDOWPOS; -STRUCT!{struct NCCALCSIZE_PARAMS { - rgrc: [RECT; 3], - lppos: PWINDOWPOS, -}} -pub type LPNCCALCSIZE_PARAMS = *mut NCCALCSIZE_PARAMS; -pub const WVR_ALIGNTOP: LRESULT = 0x0010; -pub const WVR_ALIGNLEFT: LRESULT = 0x0020; -pub const WVR_ALIGNBOTTOM: LRESULT = 0x0040; -pub const WVR_ALIGNRIGHT: LRESULT = 0x0080; -pub const WVR_HREDRAW: LRESULT = 0x0100; -pub const WVR_VREDRAW: LRESULT = 0x0200; -pub const WVR_REDRAW: LRESULT = WVR_HREDRAW | WVR_VREDRAW; -pub const WVR_VALIDRECTS: LRESULT = 0x0400; -pub const MK_LBUTTON: WPARAM = 0x0001; -pub const MK_RBUTTON: WPARAM = 0x0002; -pub const MK_SHIFT: WPARAM = 0x0004; -pub const MK_CONTROL: WPARAM = 0x0008; -pub const MK_MBUTTON: WPARAM = 0x0010; -pub const MK_XBUTTON1: WPARAM = 0x0020; -pub const MK_XBUTTON2: WPARAM = 0x0040; -pub const TME_HOVER: DWORD = 0x00000001; -pub const TME_LEAVE: DWORD = 0x00000002; -pub const TME_NONCLIENT: DWORD = 0x00000010; -pub const TME_QUERY: DWORD = 0x40000000; -pub const TME_CANCEL: DWORD = 0x80000000; -pub const HOVER_DEFAULT: DWORD = 0xFFFFFFFF; -STRUCT!{struct TRACKMOUSEEVENT { - cbSize: DWORD, - dwFlags: DWORD, - hwndTrack: HWND, - dwHoverTime: DWORD, -}} -pub type LPTRACKMOUSEEVENT = *mut TRACKMOUSEEVENT; -extern "system" { - pub fn TrackMouseEvent( - lpEventTrack: LPTRACKMOUSEEVENT, - ) -> BOOL; -} -pub const WS_OVERLAPPED: DWORD = 0x00000000; -pub const WS_POPUP: DWORD = 0x80000000; -pub const WS_CHILD: DWORD = 0x40000000; -pub const WS_MINIMIZE: DWORD = 0x20000000; -pub const WS_VISIBLE: DWORD = 0x10000000; -pub const WS_DISABLED: DWORD = 0x08000000; -pub const WS_CLIPSIBLINGS: DWORD = 0x04000000; -pub const WS_CLIPCHILDREN: DWORD = 0x02000000; -pub const WS_MAXIMIZE: DWORD = 0x01000000; -pub const WS_CAPTION: DWORD = 0x00C00000; -pub const WS_BORDER: DWORD = 0x00800000; -pub const WS_DLGFRAME: DWORD = 0x00400000; -pub const WS_VSCROLL: DWORD = 0x00200000; -pub const WS_HSCROLL: DWORD = 0x00100000; -pub const WS_SYSMENU: DWORD = 0x00080000; -pub const WS_THICKFRAME: DWORD = 0x00040000; -pub const WS_GROUP: DWORD = 0x00020000; -pub const WS_TABSTOP: DWORD = 0x00010000; -pub const WS_MINIMIZEBOX: DWORD = 0x00020000; -pub const WS_MAXIMIZEBOX: DWORD = 0x00010000; -pub const WS_TILED: DWORD = WS_OVERLAPPED; -pub const WS_ICONIC: DWORD = WS_MINIMIZE; -pub const WS_SIZEBOX: DWORD = WS_THICKFRAME; -pub const WS_TILEDWINDOW: DWORD = WS_OVERLAPPEDWINDOW; -pub const WS_OVERLAPPEDWINDOW: DWORD = WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME - | WS_MINIMIZEBOX | WS_MAXIMIZEBOX; -pub const WS_POPUPWINDOW: DWORD = WS_POPUP | WS_BORDER | WS_SYSMENU; -pub const WS_CHILDWINDOW: DWORD = WS_CHILD; -pub const WS_EX_DLGMODALFRAME: DWORD = 0x00000001; -pub const WS_EX_NOPARENTNOTIFY: DWORD = 0x00000004; -pub const WS_EX_TOPMOST: DWORD = 0x00000008; -pub const WS_EX_ACCEPTFILES: DWORD = 0x00000010; -pub const WS_EX_TRANSPARENT: DWORD = 0x00000020; -pub const WS_EX_MDICHILD: DWORD = 0x00000040; -pub const WS_EX_TOOLWINDOW: DWORD = 0x00000080; -pub const WS_EX_WINDOWEDGE: DWORD = 0x00000100; -pub const WS_EX_CLIENTEDGE: DWORD = 0x00000200; -pub const WS_EX_CONTEXTHELP: DWORD = 0x00000400; -pub const WS_EX_RIGHT: DWORD = 0x00001000; -pub const WS_EX_LEFT: DWORD = 0x00000000; -pub const WS_EX_RTLREADING: DWORD = 0x00002000; -pub const WS_EX_LTRREADING: DWORD = 0x00000000; -pub const WS_EX_LEFTSCROLLBAR: DWORD = 0x00004000; -pub const WS_EX_RIGHTSCROLLBAR: DWORD = 0x00000000; -pub const WS_EX_CONTROLPARENT: DWORD = 0x00010000; -pub const WS_EX_STATICEDGE: DWORD = 0x00020000; -pub const WS_EX_APPWINDOW: DWORD = 0x00040000; -pub const WS_EX_OVERLAPPEDWINDOW: DWORD = WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE; -pub const WS_EX_PALETTEWINDOW: DWORD = WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST; -pub const WS_EX_LAYERED: DWORD = 0x00080000; -pub const WS_EX_NOINHERITLAYOUT: DWORD = 0x00100000; -pub const WS_EX_NOREDIRECTIONBITMAP: DWORD = 0x00200000; -pub const WS_EX_LAYOUTRTL: DWORD = 0x00400000; -pub const WS_EX_COMPOSITED: DWORD = 0x02000000; -pub const WS_EX_NOACTIVATE: DWORD = 0x08000000; -pub const CS_VREDRAW: UINT = 0x0001; -pub const CS_HREDRAW: UINT = 0x0002; -pub const CS_DBLCLKS: UINT = 0x0008; -pub const CS_OWNDC: UINT = 0x0020; -pub const CS_CLASSDC: UINT = 0x0040; -pub const CS_PARENTDC: UINT = 0x0080; -pub const CS_NOCLOSE: UINT = 0x0200; -pub const CS_SAVEBITS: UINT = 0x0800; -pub const CS_BYTEALIGNCLIENT: UINT = 0x1000; -pub const CS_BYTEALIGNWINDOW: UINT = 0x2000; -pub const CS_GLOBALCLASS: UINT = 0x4000; -pub const CS_IME: UINT = 0x00010000; -pub const CS_DROPSHADOW: UINT = 0x00020000; -pub const PRF_CHECKVISIBLE: UINT = 0x00000001; -pub const PRF_NONCLIENT: UINT = 0x00000002; -pub const PRF_CLIENT: UINT = 0x00000004; -pub const PRF_ERASEBKGND: UINT = 0x00000008; -pub const PRF_CHILDREN: UINT = 0x00000010; -pub const PRF_OWNED: UINT = 0x00000020; -pub const BDR_RAISEDOUTER: UINT = 0x0001; -pub const BDR_SUNKENOUTER: UINT = 0x0002; -pub const BDR_RAISEDINNER: UINT = 0x0004; -pub const BDR_SUNKENINNER: UINT = 0x0008; -pub const BDR_OUTER: UINT = BDR_RAISEDOUTER | BDR_SUNKENOUTER; -pub const BDR_INNER: UINT = BDR_RAISEDINNER | BDR_SUNKENINNER; -pub const BDR_RAISED: UINT = BDR_RAISEDOUTER | BDR_RAISEDINNER; -pub const BDR_SUNKEN: UINT = BDR_SUNKENOUTER | BDR_SUNKENINNER; -pub const EDGE_RAISED: UINT = BDR_RAISEDOUTER | BDR_RAISEDINNER; -pub const EDGE_SUNKEN: UINT = BDR_SUNKENOUTER | BDR_SUNKENINNER; -pub const EDGE_ETCHED: UINT = BDR_SUNKENOUTER | BDR_RAISEDINNER; -pub const EDGE_BUMP: UINT = BDR_RAISEDOUTER | BDR_SUNKENINNER; -pub const BF_LEFT: UINT = 0x0001; -pub const BF_TOP: UINT = 0x0002; -pub const BF_RIGHT: UINT = 0x0004; -pub const BF_BOTTOM: UINT = 0x0008; -pub const BF_TOPLEFT: UINT = BF_TOP | BF_LEFT; -pub const BF_TOPRIGHT: UINT = BF_TOP | BF_RIGHT; -pub const BF_BOTTOMLEFT: UINT = BF_BOTTOM | BF_LEFT; -pub const BF_BOTTOMRIGHT: UINT = BF_BOTTOM | BF_RIGHT; -pub const BF_RECT: UINT = BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM; -pub const BF_DIAGONAL: UINT = 0x0010; -pub const BF_DIAGONAL_ENDTOPRIGHT: UINT = BF_DIAGONAL | BF_TOP | BF_RIGHT; -pub const BF_DIAGONAL_ENDTOPLEFT: UINT = BF_DIAGONAL | BF_TOP | BF_LEFT; -pub const BF_DIAGONAL_ENDBOTTOMLEFT: UINT = BF_DIAGONAL | BF_BOTTOM | BF_LEFT; -pub const BF_DIAGONAL_ENDBOTTOMRIGHT: UINT = BF_DIAGONAL | BF_BOTTOM | BF_RIGHT; -pub const BF_MIDDLE: UINT = 0x0800; -pub const BF_SOFT: UINT = 0x1000; -pub const BF_ADJUST: UINT = 0x2000; -pub const BF_FLAT: UINT = 0x4000; -pub const BF_MONO: UINT = 0x8000; -extern "system" { - pub fn DrawEdge( - hdc: HDC, - qrc: LPRECT, - edge: UINT, - grfFlags: UINT, - ) -> BOOL; -} -pub const DFC_CAPTION: UINT = 1; -pub const DFC_MENU: UINT = 2; -pub const DFC_SCROLL: UINT = 3; -pub const DFC_BUTTON: UINT = 4; -pub const DFC_POPUPMENU: UINT = 5; -pub const DFCS_CAPTIONCLOSE: UINT = 0x0000; -pub const DFCS_CAPTIONMIN: UINT = 0x0001; -pub const DFCS_CAPTIONMAX: UINT = 0x0002; -pub const DFCS_CAPTIONRESTORE: UINT = 0x0003; -pub const DFCS_CAPTIONHELP: UINT = 0x0004; -pub const DFCS_MENUARROW: UINT = 0x0000; -pub const DFCS_MENUCHECK: UINT = 0x0001; -pub const DFCS_MENUBULLET: UINT = 0x0002; -pub const DFCS_MENUARROWRIGHT: UINT = 0x0004; -pub const DFCS_SCROLLUP: UINT = 0x0000; -pub const DFCS_SCROLLDOWN: UINT = 0x0001; -pub const DFCS_SCROLLLEFT: UINT = 0x0002; -pub const DFCS_SCROLLRIGHT: UINT = 0x0003; -pub const DFCS_SCROLLCOMBOBOX: UINT = 0x0005; -pub const DFCS_SCROLLSIZEGRIP: UINT = 0x0008; -pub const DFCS_SCROLLSIZEGRIPRIGHT: UINT = 0x0010; -pub const DFCS_BUTTONCHECK: UINT = 0x0000; -pub const DFCS_BUTTONRADIOIMAGE: UINT = 0x0001; -pub const DFCS_BUTTONRADIOMASK: UINT = 0x0002; -pub const DFCS_BUTTONRADIO: UINT = 0x0004; -pub const DFCS_BUTTON3STATE: UINT = 0x0008; -pub const DFCS_BUTTONPUSH: UINT = 0x0010; -pub const DFCS_INACTIVE: UINT = 0x0100; -pub const DFCS_PUSHED: UINT = 0x0200; -pub const DFCS_CHECKED: UINT = 0x0400; -pub const DFCS_TRANSPARENT: UINT = 0x0800; -pub const DFCS_HOT: UINT = 0x1000; -pub const DFCS_ADJUSTRECT: UINT = 0x2000; -pub const DFCS_FLAT: UINT = 0x4000; -pub const DFCS_MONO: UINT = 0x8000; -extern "system" { - pub fn DrawFrameControl( - hdc: HDC, - lprc: LPRECT, - uType: UINT, - uState: UINT, - ) -> BOOL; -} -pub const DC_ACTIVE: UINT = 0x0001; -pub const DC_SMALLCAP: UINT = 0x0002; -pub const DC_ICON: UINT = 0x0004; -pub const DC_TEXT: UINT = 0x0008; -pub const DC_INBUTTON: UINT = 0x0010; -pub const DC_GRADIENT: UINT = 0x0020; -pub const DC_BUTTONS: UINT = 0x1000; -extern "system" { - pub fn DrawCaption( - hwnd: HWND, - hdc: HDC, - lprect: *const RECT, - flags: UINT, - ) -> BOOL; -} -pub const IDANI_OPEN: c_int = 1; -pub const IDANI_CAPTION: c_int = 3; -extern "system" { - pub fn DrawAnimatedRects( - hwnd: HWND, - idAni: c_int, - lprcFrom: *const RECT, - lprcTo: *const RECT, - ) -> BOOL; -} -pub const CF_TEXT: UINT = 1; -pub const CF_BITMAP: UINT = 2; -pub const CF_METAFILEPICT: UINT = 3; -pub const CF_SYLK: UINT = 4; -pub const CF_DIF: UINT = 5; -pub const CF_TIFF: UINT = 6; -pub const CF_OEMTEXT: UINT = 7; -pub const CF_DIB: UINT = 8; -pub const CF_PALETTE: UINT = 9; -pub const CF_PENDATA: UINT = 10; -pub const CF_RIFF: UINT = 11; -pub const CF_WAVE: UINT = 12; -pub const CF_UNICODETEXT: UINT = 13; -pub const CF_ENHMETAFILE: UINT = 14; -pub const CF_HDROP: UINT = 15; -pub const CF_LOCALE: UINT = 16; -pub const CF_DIBV5: UINT = 17; -pub const CF_MAX: UINT = 18; -pub const CF_OWNERDISPLAY: UINT = 0x0080; -pub const CF_DSPTEXT: UINT = 0x0081; -pub const CF_DSPBITMAP: UINT = 0x0082; -pub const CF_DSPMETAFILEPICT: UINT = 0x0083; -pub const CF_DSPENHMETAFILE: UINT = 0x008E; -pub const CF_PRIVATEFIRST: UINT = 0x0200; -pub const CF_PRIVATELAST: UINT = 0x02FF; -pub const CF_GDIOBJFIRST: UINT = 0x0300; -pub const CF_GDIOBJLAST: UINT = 0x03FF; -pub const FVIRTKEY: BYTE = TRUE as u8; -pub const FNOINVERT: BYTE = 0x02; -pub const FSHIFT: BYTE = 0x04; -pub const FCONTROL: BYTE = 0x08; -pub const FALT: BYTE = 0x10; -STRUCT!{struct ACCEL { - fVirt: BYTE, - key: WORD, - cmd: WORD, -}} -pub type LPACCEL = *mut ACCEL; -STRUCT!{struct PAINTSTRUCT { - hdc: HDC, - fErase: BOOL, - rcPaint: RECT, - fRestore: BOOL, - fIncUpdate: BOOL, - rgbReserved: [BYTE; 32], -}} -pub type PPAINTSTRUCT = *mut PAINTSTRUCT; -pub type NPPAINTSTRUCT = *mut PAINTSTRUCT; -pub type LPPAINTSTRUCT = *mut PAINTSTRUCT; -STRUCT!{struct CREATESTRUCTA { - lpCreateParams: LPVOID, - hInstance: HINSTANCE, - hMenu: HMENU, - hwndParent: HWND, - cy: c_int, - cx: c_int, - y: c_int, - x: c_int, - style: LONG, - lpszName: LPCSTR, - lpszClass: LPCSTR, - dwExStyle: DWORD, -}} -pub type LPCREATESTRUCTA = *mut CREATESTRUCTA; -STRUCT!{struct CREATESTRUCTW { - lpCreateParams: LPVOID, - hInstance: HINSTANCE, - hMenu: HMENU, - hwndParent: HWND, - cy: c_int, - cx: c_int, - y: c_int, - x: c_int, - style: LONG, - lpszName: LPCWSTR, - lpszClass: LPCWSTR, - dwExStyle: DWORD, -}} -pub type LPCREATESTRUCTW = *mut CREATESTRUCTW; -STRUCT!{struct WINDOWPLACEMENT { - length: UINT, - flags: UINT, - showCmd: UINT, - ptMinPosition: POINT, - ptMaxPosition: POINT, - rcNormalPosition: RECT, -}} -pub type PWINDOWPLACEMENT = *mut WINDOWPLACEMENT; -pub type LPWINDOWPLACEMENT = *mut WINDOWPLACEMENT; -pub const WPF_SETMINPOSITION: UINT = 0x0001; -pub const WPF_RESTORETOMAXIMIZED: UINT = 0x0002; -pub const WPF_ASYNCWINDOWPLACEMENT: UINT = 0x0004; -STRUCT!{struct NMHDR { - hwndFrom: HWND, - idFrom: UINT_PTR, - code: UINT, -}} -pub type LPNMHDR = *mut NMHDR; -STRUCT!{struct STYLESTRUCT { - styleOld: DWORD, - styleNew: DWORD, -}} -pub type LPSTYLESTRUCT = *mut STYLESTRUCT; -pub const ODT_MENU: UINT = 1; -pub const ODT_LISTBOX: UINT = 2; -pub const ODT_COMBOBOX: UINT = 3; -pub const ODT_BUTTON: UINT = 4; -pub const ODT_STATIC: UINT = 5; -pub const ODA_DRAWENTIRE: UINT = 0x0001; -pub const ODA_SELECT: UINT = 0x0002; -pub const ODA_FOCUS: UINT = 0x0004; -pub const ODS_SELECTED: UINT = 0x0001; -pub const ODS_GRAYED: UINT = 0x0002; -pub const ODS_DISABLED: UINT = 0x0004; -pub const ODS_CHECKED: UINT = 0x0008; -pub const ODS_FOCUS: UINT = 0x0010; -pub const ODS_DEFAULT: UINT = 0x0020; -pub const ODS_COMBOBOXEDIT: UINT = 0x1000; -pub const ODS_HOTLIGHT: UINT = 0x0040; -pub const ODS_INACTIVE: UINT = 0x0080; -pub const ODS_NOACCEL: UINT = 0x0100; -pub const ODS_NOFOCUSRECT: UINT = 0x0200; -STRUCT!{struct MEASUREITEMSTRUCT { - CtlType: UINT, - CtlID: UINT, - itemID: UINT, - itemWidth: UINT, - itemHeight: UINT, - itemData: ULONG_PTR, -}} -pub type PMEASUREITEMSTRUCT = *mut MEASUREITEMSTRUCT; -pub type LPMEASUREITEMSTRUCT = *mut MEASUREITEMSTRUCT; -STRUCT!{struct DRAWITEMSTRUCT { - CtlType: UINT, - CtlID: UINT, - itemID: UINT, - itemAction: UINT, - itemState: UINT, - hwndItem: HWND, - hDC: HDC, - rcItem: RECT, - itemData: ULONG_PTR, -}} -pub type PDRAWITEMSTRUCT = *mut DRAWITEMSTRUCT; -pub type LPDRAWITEMSTRUCT = *mut DRAWITEMSTRUCT; -STRUCT!{struct DELETEITEMSTRUCT { - CtlType: UINT, - CtlID: UINT, - itemID: UINT, - hwndItem: HWND, - itemData: ULONG_PTR, -}} -pub type PDELETEITEMSTRUCT = *mut DELETEITEMSTRUCT; -pub type LPDELETEITEMSTRUCT = *mut DELETEITEMSTRUCT; -STRUCT!{struct COMPAREITEMSTRUCT { - CtlType: UINT, - CtlID: UINT, - hwndItem: HWND, - itemID1: UINT, - itemData1: ULONG_PTR, - itemID2: UINT, - itemData2: ULONG_PTR, - dwLocaleId: DWORD, -}} -pub type PCOMPAREITEMSTRUCT = *mut COMPAREITEMSTRUCT; -pub type LPCOMPAREITEMSTRUCT = *mut COMPAREITEMSTRUCT; -extern "system" { - pub fn GetMessageA( - lpMsg: LPMSG, - hWnd: HWND, - wMsgFilterMin: UINT, - wMsgFilterMax: UINT, - ) -> BOOL; - pub fn GetMessageW( - lpMsg: LPMSG, - hWnd: HWND, - wMsgFilterMin: UINT, - wMsgFilterMax: UINT, - ) -> BOOL; - pub fn TranslateMessage( - lpmsg: *const MSG, - ) -> BOOL; - pub fn DispatchMessageA( - lpmsg: *const MSG, - ) -> LRESULT; - pub fn DispatchMessageW( - lpmsg: *const MSG, - ) -> LRESULT; - pub fn SetMessageQueue( - cMessagesMax: c_int, - ) -> BOOL; - pub fn PeekMessageA( - lpMsg: LPMSG, - hWnd: HWND, - wMsgFilterMin: UINT, - wMsgFilterMax: UINT, - wRemoveMsg: UINT, - ) -> BOOL; - pub fn PeekMessageW( - lpMsg: LPMSG, - hWnd: HWND, - wMsgFilterMin: UINT, - wMsgFilterMax: UINT, - wRemoveMsg: UINT, - ) -> BOOL; -} -pub const PM_NOREMOVE: UINT = 0x0000; -pub const PM_REMOVE: UINT = 0x0001; -pub const PM_NOYIELD: UINT = 0x0002; -pub const PM_QS_INPUT: UINT = QS_INPUT << 16; -pub const PM_QS_POSTMESSAGE: UINT = (QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16; -pub const PM_QS_PAINT: UINT = QS_PAINT << 16; -pub const PM_QS_SENDMESSAGE: UINT = QS_SENDMESSAGE << 16; -extern "system" { - pub fn RegisterHotKey( - hwnd: HWND, - id: c_int, - fsModifiers: UINT, - vk: UINT, - ) -> BOOL; - pub fn UnregisterHotKey( - hWnd: HWND, - id: c_int, - ) -> BOOL; -} -pub const MOD_ALT: LPARAM = 0x0001; -pub const MOD_CONTROL: LPARAM = 0x0002; -pub const MOD_SHIFT: LPARAM = 0x0004; -pub const MOD_WIN: LPARAM = 0x0008; -pub const MOD_NOREPEAT: LPARAM = 0x4000; -pub const IDHOT_SNAPWINDOW: WPARAM = -1isize as usize; -pub const IDHOT_SNAPDESKTOP: WPARAM = -2isize as usize; -pub const ENDSESSION_CLOSEAPP: UINT = 0x00000001; -pub const ENDSESSION_CRITICAL: UINT = 0x40000000; -pub const ENDSESSION_LOGOFF: UINT = 0x80000000; -pub const EWX_LOGOFF: UINT = 0x00000000; -pub const EWX_SHUTDOWN: UINT = 0x00000001; -pub const EWX_REBOOT: UINT = 0x00000002; -pub const EWX_FORCE: UINT = 0x00000004; -pub const EWX_POWEROFF: UINT = 0x00000008; -pub const EWX_FORCEIFHUNG: UINT = 0x00000010; -pub const EWX_QUICKRESOLVE: UINT = 0x00000020; -pub const EWX_RESTARTAPPS: UINT = 0x00000040; -pub const EWX_HYBRID_SHUTDOWN: UINT = 0x00400000; -pub const EWX_BOOTOPTIONS: UINT = 0x01000000; -// ExitWindows -extern "system" { - pub fn ExitWindowsEx( - uFlags: UINT, - dwReason: DWORD, - ) -> BOOL; - pub fn SwapMouseButton( - fSwap: BOOL, - ) -> BOOL; - pub fn GetMessagePos() -> DWORD; - pub fn GetMessageTime() -> LONG; - pub fn GetMessageExtraInfo() -> LPARAM; - pub fn GetUnpredictedMessagePos() -> DWORD; - pub fn IsWow64Message() -> BOOL; - pub fn SetMessageExtraInfo( - lParam: LPARAM, - ) -> LPARAM; - pub fn SendMessageA( - hWnd: HWND, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> LRESULT; - pub fn SendMessageW( - hWnd: HWND, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> LRESULT; - pub fn SendMessageTimeoutA( - hWnd: HWND, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - fuFlags: UINT, - uTimeout: UINT, - lpdwResult: PDWORD_PTR, - ) -> LRESULT; - pub fn SendMessageTimeoutW( - hWnd: HWND, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - fuFlags: UINT, - uTimeout: UINT, - lpdwResult: PDWORD_PTR, - ) -> LRESULT; - pub fn SendNotifyMessageA( - hWnd: HWND, - msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> BOOL; - pub fn SendNotifyMessageW( - hWnd: HWND, - msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> BOOL; - pub fn SendMessageCallbackA( - hWnd: HWND, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - lpResultCallBack: SENDASYNCPROC, - dwData: ULONG_PTR, - ) -> BOOL; - pub fn SendMessageCallbackW( - hWnd: HWND, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - lpResultCallBack: SENDASYNCPROC, - dwData: ULONG_PTR, - ) -> BOOL; -} -STRUCT!{struct BSMINFO { - cbSize: UINT, - hdesk: HDESK, - hwnd: HWND, - luid: LUID, -}} -pub type PBSMINFO = *mut BSMINFO; -extern "system" { - pub fn BroadcastSystemMessageExA( - flags: DWORD, - lpInfo: LPDWORD, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - pbsmInfo: PBSMINFO, - ) -> c_long; - pub fn BroadcastSystemMessageExW( - flags: DWORD, - lpInfo: LPDWORD, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - pbsmInfo: PBSMINFO, - ) -> c_long; - pub fn BroadcastSystemMessageA( - flags: DWORD, - lpInfo: LPDWORD, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> LONG; - pub fn BroadcastSystemMessageW( - flags: DWORD, - lpInfo: LPDWORD, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> LONG; -} -pub const BSM_ALLCOMPONENTS: DWORD = 0x00000000; -pub const BSM_VXDS: DWORD = 0x00000001; -pub const BSM_NETDRIVER: DWORD = 0x00000002; -pub const BSM_INSTALLABLEDRIVERS: DWORD = 0x00000004; -pub const BSM_APPLICATIONS: DWORD = 0x00000008; -pub const BSM_ALLDESKTOPS: DWORD = 0x00000010; -pub const BSF_QUERY: DWORD = 0x00000001; -pub const BSF_IGNORECURRENTTASK: DWORD = 0x00000002; -pub const BSF_FLUSHDISK: DWORD = 0x00000004; -pub const BSF_NOHANG: DWORD = 0x00000008; -pub const BSF_POSTMESSAGE: DWORD = 0x00000010; -pub const BSF_FORCEIFHUNG: DWORD = 0x00000020; -pub const BSF_NOTIMEOUTIFNOTHUNG: DWORD = 0x00000040; -pub const BSF_ALLOWSFW: DWORD = 0x00000080; -pub const BSF_SENDNOTIFYMESSAGE: DWORD = 0x00000100; -pub const BSF_RETURNHDESK: DWORD = 0x00000200; -pub const BSF_LUID: DWORD = 0x00000400; -pub const BROADCAST_QUERY_DENY: DWORD = 0x424D5144; -pub type HDEVNOTIFY = PVOID; -pub type PHDEVNOTIFY = *mut HDEVNOTIFY; -pub const DEVICE_NOTIFY_WINDOW_HANDLE: DWORD = 0x00000000; -pub const DEVICE_NOTIFY_SERVICE_HANDLE: DWORD = 0x00000001; -pub const DEVICE_NOTIFY_ALL_INTERFACE_CLASSES: DWORD = 0x00000004; -extern "system" { - pub fn RegisterDeviceNotificationA( - hRecipient: HANDLE, - notificationFilter: LPVOID, - flags: DWORD, - ) -> HDEVNOTIFY; - pub fn RegisterDeviceNotificationW( - hRecipient: HANDLE, - notificationFilter: LPVOID, - flags: DWORD, - ) -> HDEVNOTIFY; - pub fn UnregisterDeviceNotification( - Handle: HDEVNOTIFY, - ) -> BOOL; -} -pub type HPOWERNOTIFY = PVOID; -pub type PHPOWERNOTIFY = *mut HPOWERNOTIFY; -extern "system" { - pub fn RegisterPowerSettingNotification( - hRecipient: HANDLE, - PowerSettingGuid: LPCGUID, - Flags: DWORD, - ) -> HPOWERNOTIFY; - pub fn UnregisterPowerSettingNotification( - Handle: HPOWERNOTIFY, - ) -> BOOL; - pub fn RegisterSuspendResumeNotification( - hRecipient: HANDLE, - Flags: DWORD, - ) -> HPOWERNOTIFY; - pub fn UnregisterSuspendResumeNotification( - Handle: HPOWERNOTIFY, - ) -> BOOL; - pub fn PostMessageA( - hWnd: HWND, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> BOOL; - pub fn PostMessageW( - hWnd: HWND, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> BOOL; - pub fn PostThreadMessageA( - idThread: DWORD, - msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> BOOL; - pub fn PostThreadMessageW( - idThread: DWORD, - msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> BOOL; -} -// PostAppMessageA -// PostAppMessageW -pub const HWND_BROADCAST: HWND = 0xffff as HWND; -pub const HWND_MESSAGE: HWND = -3isize as HWND; -extern "system" { - pub fn AttachThreadInput( - idAttach: DWORD, - idAttachTo: DWORD, - fAttach: BOOL, - ) -> BOOL; - pub fn ReplyMessage( - lResult: LRESULT, - ) -> BOOL; - pub fn WaitMessage() -> BOOL; - pub fn WaitForInputIdle( - hProcess: HANDLE, - dwMilliseconds: DWORD, - ) -> DWORD; - pub fn DefWindowProcA( - hWnd: HWND, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> LRESULT; - pub fn DefWindowProcW( - hWnd: HWND, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> LRESULT; - pub fn PostQuitMessage( - nExitCode: c_int, - ); - pub fn CallWindowProcA( - lpPrevWndFunc: WNDPROC, - hWnd: HWND, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> LRESULT; - pub fn CallWindowProcW( - lpPrevWndFunc: WNDPROC, - hWnd: HWND, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> LRESULT; - pub fn InSendMessage() -> BOOL; - pub fn InSendMessageEx( - lpReserved: LPVOID, - ) -> DWORD; -} -pub const ISMEX_NOSEND: DWORD = 0x00000000; -pub const ISMEX_SEND: DWORD = 0x00000001; -pub const ISMEX_NOTIFY: DWORD = 0x00000002; -pub const ISMEX_CALLBACK: DWORD = 0x00000004; -pub const ISMEX_REPLIED: DWORD = 0x00000008; -extern "system" { - pub fn GetDoubleClickTime() -> UINT; - pub fn SetDoubleClickTime( - uInterval: UINT, - ) -> BOOL; - pub fn RegisterClassA( - lpWndClass: *const WNDCLASSA, - ) -> ATOM; - pub fn RegisterClassW( - lpWndClass: *const WNDCLASSW, - ) -> ATOM; - pub fn UnregisterClassA( - lpClassName: LPCSTR, - hInstance: HINSTANCE, - ) -> BOOL; - pub fn UnregisterClassW( - lpClassName: LPCWSTR, - hInstance: HINSTANCE, - ) -> BOOL; - pub fn GetClassInfoA( - hInstance: HINSTANCE, - lpClassName: LPCSTR, - lpWndClass: LPWNDCLASSA, - ) -> BOOL; - pub fn GetClassInfoW( - hInstance: HINSTANCE, - lpClassName: LPCWSTR, - lpWndClass: LPWNDCLASSW, - ) -> BOOL; - pub fn RegisterClassExA( - lpWndClass: *const WNDCLASSEXA, - ) -> ATOM; - pub fn RegisterClassExW( - lpWndClass: *const WNDCLASSEXW, - ) -> ATOM; - pub fn GetClassInfoExA( - hinst: HINSTANCE, - lpszClass: LPCSTR, - lpwcx: LPWNDCLASSEXA, - ) -> BOOL; - pub fn GetClassInfoExW( - hinst: HINSTANCE, - lpszClass: LPCWSTR, - lpwcx: LPWNDCLASSEXW, - ) -> BOOL; -} -pub const CW_USEDEFAULT: c_int = 0x80000000; -pub const HWND_DESKTOP: HWND = 0 as HWND; -FN!{stdcall PREGISTERCLASSNAMEW( - LPCWSTR, -) -> BOOLEAN} -extern "system" { - pub fn CreateWindowExA( - dwExStyle: DWORD, - lpClassName: LPCSTR, - lpWindowName: LPCSTR, - dwStyle: DWORD, - x: c_int, - y: c_int, - nWidth: c_int, - nHeight: c_int, - hWndParent: HWND, - hMenu: HMENU, - hInstance: HINSTANCE, - lpParam: LPVOID, - ) -> HWND; - pub fn CreateWindowExW( - dwExStyle: DWORD, - lpClassName: LPCWSTR, - lpWindowName: LPCWSTR, - dwStyle: DWORD, - x: c_int, - y: c_int, - nWidth: c_int, - nHeight: c_int, - hWndParent: HWND, - hMenu: HMENU, - hInstance: HINSTANCE, - lpParam: LPVOID, - ) -> HWND; -} -// CreateWindowA -// CreateWindowW -extern "system" { - pub fn IsWindow( - hWnd: HWND, - ) -> BOOL; - pub fn IsMenu( - hMenu: HMENU, - ) -> BOOL; - pub fn IsChild( - hWndParent: HWND, - hWnd: HWND, - ) -> BOOL; - pub fn DestroyWindow( - hWnd: HWND, - ) -> BOOL; - pub fn ShowWindow( - hWnd: HWND, - nCmdShow: c_int, - ) -> BOOL; - pub fn AnimateWindow( - hWnd: HWND, - dwTime: DWORD, - dwFlags: DWORD, - ) -> BOOL; - pub fn UpdateLayeredWindow( - hWnd: HWND, - hdcDst: HDC, - pptDst: *mut POINT, - psize: *mut SIZE, - hdcSrc: HDC, - pptSrc: *mut POINT, - crKey: COLORREF, - pblend: *mut BLENDFUNCTION, - dwFlags: DWORD, - ) -> BOOL; -} -STRUCT!{struct UPDATELAYEREDWINDOWINFO { - cbSize: DWORD, - hdcDst: HDC, - pptDst: *const POINT, - psize: *const SIZE, - hdcSrc: HDC, - pptSrc: *const POINT, - crKey: COLORREF, - pblend: *const BLENDFUNCTION, - dwFlags: DWORD, - prcDirty: *const RECT, -}} -pub type PUPDATELAYEREDWINDOWINFO = *mut UPDATELAYEREDWINDOWINFO; -extern "system" { - pub fn UpdateLayeredWindowIndirect( - hWnd: HWND, - pULWInfo: *mut UPDATELAYEREDWINDOWINFO, - ) -> BOOL; - pub fn GetLayeredWindowAttributes( - hwnd: HWND, - pcrKey: *mut COLORREF, - pbAlpha: *mut BYTE, - pdwFlags: *mut DWORD, - ) -> BOOL; -} -pub const PW_CLIENTONLY: DWORD = 0x00000001; -pub const PW_RENDERFULLCONTENT: DWORD = 0x00000002; -extern "system" { - pub fn PrintWindow( - hwnd: HWND, - hdcBlt: HDC, - nFlags: UINT, - ) -> BOOL; - pub fn SetLayeredWindowAttributes( - hwnd: HWND, - crKey: COLORREF, - bAlpha: BYTE, - dwFlags: DWORD, - ) -> BOOL; -} -pub const LWA_COLORKEY: DWORD = 0x00000001; -pub const LWA_ALPHA: DWORD = 0x00000002; -pub const ULW_COLORKEY: DWORD = 0x00000001; -pub const ULW_ALPHA: DWORD = 0x00000002; -pub const ULW_OPAQUE: DWORD = 0x00000004; -pub const ULW_EX_NORESIZE: DWORD = 0x00000008; -extern "system" { - pub fn ShowWindowAsync( - hWnd: HWND, - nCmdShow: c_int, - ) -> BOOL; - pub fn FlashWindow( - hwnd: HWND, - bInvert: BOOL, - ) -> BOOL; -} -STRUCT!{struct FLASHWINFO { - cbSize: UINT, - hwnd: HWND, - dwFlags: DWORD, - uCount: UINT, - dwTimeout: DWORD, -}} -pub type PFLASHWINFO = *mut FLASHWINFO; -extern "system" { - pub fn FlashWindowEx( - pfwi: PFLASHWINFO, - ) -> BOOL; -} -pub const FLASHW_STOP: DWORD = 0; -pub const FLASHW_CAPTION: DWORD = 0x00000001; -pub const FLASHW_TRAY: DWORD = 0x00000002; -pub const FLASHW_ALL: DWORD = FLASHW_CAPTION | FLASHW_TRAY; -pub const FLASHW_TIMER: DWORD = 0x00000004; -pub const FLASHW_TIMERNOFG: DWORD = 0x0000000C; -extern "system" { - pub fn ShowOwnedPopups( - hWnd: HWND, - fShow: BOOL, - ) -> BOOL; - pub fn OpenIcon( - hWnd: HWND, - ) -> BOOL; - pub fn CloseWindow( - hWnd: HWND, - ) -> BOOL; - pub fn MoveWindow( - hWnd: HWND, - X: c_int, - Y: c_int, - nWidth: c_int, - nHeight: c_int, - bRepaint: BOOL, - ) -> BOOL; - pub fn SetWindowPos( - hWnd: HWND, - hWndInsertAfter: HWND, - X: c_int, - Y: c_int, - cx: c_int, - cy: c_int, - uFlags: UINT, - ) -> BOOL; - pub fn GetWindowPlacement( - hWnd: HWND, - lpwndpl: *mut WINDOWPLACEMENT, - ) -> BOOL; - pub fn SetWindowPlacement( - hWnd: HWND, - lpwndpl: *const WINDOWPLACEMENT, - ) -> BOOL; -} -pub const WDA_NONE: DWORD = 0x00000000; -pub const WDA_MONITOR: DWORD = 0x00000001; -extern "system" { - pub fn GetWindowDisplayAffinity( - hWnd: HWND, - pdwAffinity: *mut DWORD, - ) -> BOOL; - pub fn SetWindowDisplayAffinity( - hWnd: HWND, - dwAffinity: DWORD, - ) -> BOOL; - pub fn BeginDeferWindowPos( - nNumWindows: c_int, - ) -> HDWP; - pub fn DeferWindowPos( - hWinPosInfo: HDWP, - hWnd: HWND, - hWndInserAfter: HWND, - x: c_int, - y: c_int, - cx: c_int, - cy: c_int, - uFlags: UINT, - ) -> HDWP; - pub fn EndDeferWindowPos( - hWinPosInfo: HDWP, - ) -> BOOL; - pub fn IsWindowVisible( - hWnd: HWND, - ) -> BOOL; - pub fn IsIconic( - hWnd: HWND, - ) -> BOOL; - pub fn AnyPopup() -> BOOL; - pub fn BringWindowToTop( - hWnd: HWND, - ) -> BOOL; - pub fn IsZoomed( - hwnd: HWND, - ) -> BOOL; -} -pub const SWP_NOSIZE: UINT = 0x0001; -pub const SWP_NOMOVE: UINT = 0x0002; -pub const SWP_NOZORDER: UINT = 0x0004; -pub const SWP_NOREDRAW: UINT = 0x0008; -pub const SWP_NOACTIVATE: UINT = 0x0010; -pub const SWP_FRAMECHANGED: UINT = 0x0020; -pub const SWP_SHOWWINDOW: UINT = 0x0040; -pub const SWP_HIDEWINDOW: UINT = 0x0080; -pub const SWP_NOCOPYBITS: UINT = 0x0100; -pub const SWP_NOOWNERZORDER: UINT = 0x0200; -pub const SWP_NOSENDCHANGING: UINT = 0x0400; -pub const SWP_DRAWFRAME: UINT = SWP_FRAMECHANGED; -pub const SWP_NOREPOSITION: UINT = SWP_NOOWNERZORDER; -pub const SWP_DEFERERASE: UINT = 0x2000; -pub const SWP_ASYNCWINDOWPOS: UINT = 0x4000; -pub const HWND_TOP: HWND = 0 as HWND; -pub const HWND_BOTTOM: HWND = 1 as HWND; -pub const HWND_TOPMOST: HWND = -1isize as HWND; -pub const HWND_NOTOPMOST: HWND = -2isize as HWND; -STRUCT!{struct DLGTEMPLATE { - style: DWORD, - dwExtendedStyle: DWORD, - cdit: WORD, - x: c_short, - y: c_short, - cx: c_short, - cy: c_short, -}} -pub type LPDLGTEMPLATEA = *mut DLGTEMPLATE; -pub type LPDLGTEMPLATEW = *mut DLGTEMPLATE; -pub type LPCDLGTEMPLATEA = *const DLGTEMPLATE; -pub type LPCDLGTEMPLATEW = *const DLGTEMPLATE; -STRUCT!{struct DLGITEMTEMPLATE { - style: DWORD, - dwExtendedStyle: DWORD, - x: c_short, - y: c_short, - cx: c_short, - cy: c_short, - id: WORD, -}} -pub type PDLGITEMTEMPLATEA = *mut DLGITEMTEMPLATE; -pub type PDLGITEMTEMPLATEW = *mut DLGITEMTEMPLATE; -pub type LPDLGITEMTEMPLATEA = *mut DLGITEMTEMPLATE; -pub type LPDLGITEMTEMPLATEW = *mut DLGITEMTEMPLATE; -extern "system" { - pub fn CreateDialogParamA( - hInstance: HINSTANCE, - lpTemplateName: LPCSTR, - hWndParent: HWND, - lpDialogFunc: DLGPROC, - dwInitParam: LPARAM, - ) -> HWND; - pub fn CreateDialogParamW( - hInstance: HINSTANCE, - lpTemplateName: LPCWSTR, - hWndParent: HWND, - lpDialogFunc: DLGPROC, - dwInitParam: LPARAM, - ) -> HWND; - pub fn CreateDialogIndirectParamA( - hInstance: HINSTANCE, - lpTemplate: LPCDLGTEMPLATEA, - hWndParent: HWND, - lpDialogFunc: DLGPROC, - dwInitParam: LPARAM, - ) -> HWND; - pub fn CreateDialogIndirectParamW( - hInstance: HINSTANCE, - lpTemplate: LPCDLGTEMPLATEW, - hWndParent: HWND, - lpDialogFunc: DLGPROC, - dwInitParam: LPARAM, - ) -> HWND; -} -// CreateDialogA -// CreateDialogW -// CreateDialogIndirectA -// CreateDialogIndirectW -extern "system" { - pub fn DialogBoxParamA( - hInstance: HINSTANCE, - lpTemplateName: LPCSTR, - hWndParent: HWND, - lpDialogFunc: DLGPROC, - dwInitParam: LPARAM, - ) -> INT_PTR; - pub fn DialogBoxParamW( - hInstance: HINSTANCE, - lpTemplateName: LPCWSTR, - hWndParent: HWND, - lpDialogFunc: DLGPROC, - dwInitParam: LPARAM, - ) -> INT_PTR; - pub fn DialogBoxIndirectParamA( - hInstance: HINSTANCE, - hDialogTemplate: LPCDLGTEMPLATEA, - hWndParent: HWND, - lpDialogFunc: DLGPROC, - dwInitParam: LPARAM, - ) -> INT_PTR; - pub fn DialogBoxIndirectParamW( - hInstance: HINSTANCE, - hDialogTemplate: LPCDLGTEMPLATEW, - hWndParent: HWND, - lpDialogFunc: DLGPROC, - dwInitParam: LPARAM, - ) -> INT_PTR; -} -// DialogBoxA -// DialogBoxW -// DialogBoxIndirectA -// DialogBoxIndirectW -extern "system" { - pub fn EndDialog( - hDlg: HWND, - nResult: INT_PTR, - ) -> BOOL; - pub fn GetDlgItem( - hDlg: HWND, - nIDDlgItem: c_int, - ) -> HWND; - pub fn SetDlgItemInt( - hDlg: HWND, - nIDDlgItem: c_int, - uValue: UINT, - bSigned: BOOL, - ) -> BOOL; - pub fn GetDlgItemInt( - hDlg: HWND, - nIDDlgItem: c_int, - lpTranslated: *mut BOOL, - bSigned: BOOL, - ) -> UINT; - pub fn SetDlgItemTextA( - hDlg: HWND, - nIDDlgItem: c_int, - lpString: LPCSTR, - ) -> BOOL; - pub fn SetDlgItemTextW( - hDlg: HWND, - nIDDlgItem: c_int, - lpString: LPCWSTR, - ) -> BOOL; - pub fn GetDlgItemTextA( - hDlg: HWND, - nIDDlgItem: c_int, - lpString: LPSTR, - nMaxCount: c_int, - ) -> UINT; - pub fn GetDlgItemTextW( - hDlg: HWND, - nIDDlgItem: c_int, - lpString: LPWSTR, - nMaxCount: c_int, - ) -> UINT; - pub fn CheckDlgButton( - hDlg: HWND, - nIDButton: c_int, - uCheck: UINT, - ) -> BOOL; - pub fn CheckRadioButton( - hDlg: HWND, - nIDFirstButton: c_int, - nIDLasatButton: c_int, - nIDCheckButton: c_int, - ) -> BOOL; - pub fn IsDlgButtonChecked( - hDlg: HWND, - nIDButton: c_int, - ) -> UINT; - pub fn SendDlgItemMessageA( - hDlg: HWND, - nIDDlgItem: c_int, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> LRESULT; - pub fn SendDlgItemMessageW( - hDlg: HWND, - nIDDlgItem: c_int, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> LRESULT; - pub fn GetNextDlgGroupItem( - hDlg: HWND, - hCtl: HWND, - bPrevious: BOOL, - ) -> HWND; - pub fn GetNextDlgTabItem( - hDlg: HWND, - hCtl: HWND, - bPrevious: BOOL, - ) -> HWND; - pub fn GetDlgCtrlID( - hwnd: HWND, - ) -> c_int; - pub fn GetDialogBaseUnits() -> LONG; - pub fn DefDlgProcA( - hDlg: HWND, - msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> LRESULT; - pub fn DefDlgProcW( - hDlg: HWND, - msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> LRESULT; -} -ENUM!{enum DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS { - DCDC_DEFAULT = 0x0000, - DCDC_DISABLE_FONT_UPDATE = 0x0001, - DCDC_DISABLE_RELAYOUT = 0x0002, -}} -extern "system" { - pub fn SetDialogControlDpiChangeBehavior( - hwnd: HWND, - mask: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS, - values: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS, - ) -> BOOL; - pub fn GetDialogControlDpiChangeBehavior( - hwnd: HWND, - ) -> DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS; -} -ENUM!{enum DIALOG_DPI_CHANGE_BEHAVIORS { - DDC_DEFAULT = 0x0000, - DDC_DISABLE_ALL = 0x0001, - DDC_DISABLE_RESIZE = 0x0002, - DDC_DISABLE_CONTROL_RELAYOUT = 0x0004, -}} -extern "system" { - pub fn SetDialogDpiChangeBehavior( - hDlg: HWND, - mask: DIALOG_DPI_CHANGE_BEHAVIORS, - values: DIALOG_DPI_CHANGE_BEHAVIORS, - ) -> BOOL; - pub fn GetDialogDpiChangeBehavior( - hDlg: HWND, - ) -> DIALOG_DPI_CHANGE_BEHAVIORS; - pub fn CallMsgFilterA( - lpMsg: LPMSG, - nCode: c_int, - ) -> BOOL; - pub fn CallMsgFilterW( - lpMsg: LPMSG, - nCode: c_int, - ) -> BOOL; - pub fn OpenClipboard( - hWnd: HWND, - ) -> BOOL; - pub fn CloseClipboard() -> BOOL; - pub fn GetClipboardSequenceNumber() -> DWORD; - pub fn GetClipboardOwner() -> HWND; - pub fn SetClipboardViewer( - hWndNewViewer: HWND, - ) -> HWND; - pub fn GetClipboardViewer() -> HWND; - pub fn ChangeClipboardChain( - hwndRemove: HWND, - hwndNewNext: HWND, - ) -> BOOL; - pub fn SetClipboardData( - uFormat: UINT, - hMem: HANDLE, - ) -> HANDLE; - pub fn GetClipboardData( - uFormat: UINT, - ) -> HANDLE; - pub fn RegisterClipboardFormatA( - lpszFormat: LPCSTR, - ) -> UINT; - pub fn RegisterClipboardFormatW( - lpszFormat: LPCWSTR, - ) -> UINT; - pub fn CountClipboardFormats() -> c_int; - pub fn EnumClipboardFormats( - format: UINT, - ) -> UINT; - pub fn GetClipboardFormatNameA( - format: UINT, - lpszFormatName: LPSTR, - cchMaxCount: c_int, - ) -> c_int; - pub fn GetClipboardFormatNameW( - format: UINT, - lpszFormatName: LPWSTR, - cchMaxCount: c_int, - ) -> c_int; - pub fn EmptyClipboard() -> BOOL; - pub fn IsClipboardFormatAvailable( - format: UINT, - ) -> BOOL; - pub fn GetPriorityClipboardFormat( - paFormatPriorityList: *mut UINT, - cFormats: c_int, - ) -> c_int; - pub fn GetOpenClipboardWindow() -> HWND; - pub fn AddClipboardFormatListener( - hWnd: HWND, - ) -> BOOL; - pub fn RemoveClipboardFormatListener( - hWnd: HWND, - ) -> BOOL; - pub fn GetUpdatedClipboardFormats( - lpuiFormats: PUINT, - cFormats: UINT, - pcFormatsOUT: PUINT, - ) -> BOOL; - pub fn CharToOemA( - pSrc: LPCSTR, - pDst: LPSTR, - ) -> BOOL; - pub fn CharToOemW( - pSrc: LPCWSTR, - pDst: LPSTR, - ) -> BOOL; - pub fn OemToCharA( - pSrc: LPCSTR, - pDst: LPSTR, - ) -> BOOL; - pub fn OemToCharW( - pSrc: LPCSTR, - pDst: LPWSTR, - ) -> BOOL; - pub fn CharToOemBuffA( - lpszSrc: LPCSTR, - lpszDst: LPSTR, - cchDstLength: DWORD, - ) -> BOOL; - pub fn CharToOemBuffW( - lpszSrc: LPCWSTR, - lpszDst: LPSTR, - cchDstLength: DWORD, - ) -> BOOL; - pub fn OemToCharBuffA( - lpszSrc: LPCSTR, - lpszDst: LPSTR, - cchDstLength: DWORD, - ) -> BOOL; - pub fn OemToCharBuffW( - lpszSrc: LPCSTR, - lpszDst: LPWSTR, - cchDstLength: DWORD, - ) -> BOOL; - pub fn CharUpperA( - lpsz: LPSTR, - ) -> LPSTR; - pub fn CharUpperW( - lpsz: LPWSTR, - ) -> LPWSTR; - pub fn CharUpperBuffA( - lpsz: LPSTR, - cchLength: DWORD, - ) -> DWORD; - pub fn CharUpperBuffW( - lpsz: LPWSTR, - cchLength: DWORD, - ) -> DWORD; - pub fn CharLowerA( - lpsz: LPSTR, - ) -> LPSTR; - pub fn CharLowerW( - lpsz: LPWSTR, - ) -> LPWSTR; - pub fn CharLowerBuffA( - lpsz: LPSTR, - cchLength: DWORD, - ) -> DWORD; - pub fn CharLowerBuffW( - lpsz: LPWSTR, - cchLength: DWORD, - ) -> DWORD; - pub fn CharNextA( - lpsz: LPCSTR, - ) -> LPSTR; - pub fn CharNextW( - lpsz: LPCWSTR, - ) -> LPWSTR; - pub fn CharPrevA( - lpszStart: LPCSTR, - lpszCurrent: LPCSTR, - ) -> LPSTR; - pub fn CharPrevW( - lpszStart: LPCWSTR, - lpszCurrent: LPCWSTR, - ) -> LPWSTR; - pub fn CharNextExA( - codePage: WORD, - lpCurrentChar: LPSTR, - dwFlags: DWORD, - ) -> LPSTR; - pub fn CharPrevExA( - codePage: WORD, - lpStart: LPCSTR, - lpCurrentChar: LPCSTR, - dwFlags: DWORD, - ) -> LPSTR; -} -// AnsiToOem -// OemToAnsi -// AnsiToOemBuff -// OemToAnsiBuff -// AnsiUpper -// AnsiUpperBuff -// AnsiLower -// AnsiLowerBuff -// AnsiNext -// AnsiPrev -extern "system" { - pub fn IsCharAlphaA( - ch: CHAR, - ) -> BOOL; - pub fn IsCharAlphaW( - ch: WCHAR, - ) -> BOOL; - pub fn IsCharAlphaNumericA( - ch: CHAR, - ) -> BOOL; - pub fn IsCharAlphaNumericW( - ch: WCHAR, - ) -> BOOL; - pub fn IsCharUpperA( - ch: CHAR, - ) -> BOOL; - pub fn IsCharUpperW( - ch: WCHAR, - ) -> BOOL; - pub fn IsCharLowerA( - ch: CHAR, - ) -> BOOL; - pub fn IsCharLowerW( - ch: WCHAR, - ) -> BOOL; - pub fn SetFocus( - hWnd: HWND, - ) -> HWND; - pub fn GetActiveWindow() -> HWND; - pub fn GetFocus() -> HWND; - pub fn GetKBCodePage() -> UINT; - pub fn GetKeyState( - nVirtKey: c_int, - ) -> SHORT; - pub fn GetAsyncKeyState( - vKey: c_int, - ) -> SHORT; - pub fn GetKeyboardState( - lpKeyState: PBYTE, - ) -> BOOL; - pub fn SetKeyboardState( - lpKeyState: LPBYTE, - ) -> BOOL; - pub fn GetKeyNameTextA( - lparam: LONG, - lpString: LPSTR, - cchSize: c_int, - ) -> c_int; - pub fn GetKeyNameTextW( - lParam: LONG, - lpString: LPWSTR, - cchSize: c_int, - ) -> c_int; - pub fn GetKeyboardType( - nTypeFlag: c_int, - ) -> c_int; - pub fn ToAscii( - uVirtKey: UINT, - uScanCode: UINT, - lpKeyState: *const BYTE, - lpChar: LPWORD, - uFlags: UINT, - ) -> c_int; - pub fn ToAsciiEx( - uVirtKey: UINT, - uScanCode: UINT, - lpKeyState: *const BYTE, - lpChar: LPWORD, - uFlags: UINT, - dwhkl: HKL, - ) -> c_int; - pub fn ToUnicode( - wVirtKey: UINT, - wScanCode: UINT, - lpKeyState: *const BYTE, - lwszBuff: LPWSTR, - cchBuff: c_int, - wFlags: UINT, - ) -> c_int; - pub fn OemKeyScan( - wOemChar: WORD, - ) -> DWORD; - pub fn VkKeyScanA( - ch: CHAR, - ) -> SHORT; - pub fn VkKeyScanW( - ch: WCHAR, - ) -> SHORT; - pub fn VkKeyScanExA( - ch: CHAR, - dwhkl: HKL, - ) -> SHORT; - pub fn VkKeyScanExW( - ch: WCHAR, - dwhkl: HKL, - ) -> SHORT; -} -pub const KEYEVENTF_EXTENDEDKEY: DWORD = 0x0001; -pub const KEYEVENTF_KEYUP: DWORD = 0x0002; -pub const KEYEVENTF_UNICODE: DWORD = 0x0004; -pub const KEYEVENTF_SCANCODE: DWORD = 0x0008; -extern "system" { - pub fn keybd_event( - bVk: BYTE, - bScan: BYTE, - dwFlags: DWORD, - dwExtraInfo: ULONG_PTR, - ); -} -pub const MOUSEEVENTF_MOVE: DWORD = 0x0001; -pub const MOUSEEVENTF_LEFTDOWN: DWORD = 0x0002; -pub const MOUSEEVENTF_LEFTUP: DWORD = 0x0004; -pub const MOUSEEVENTF_RIGHTDOWN: DWORD = 0x0008; -pub const MOUSEEVENTF_RIGHTUP: DWORD = 0x0010; -pub const MOUSEEVENTF_MIDDLEDOWN: DWORD = 0x0020; -pub const MOUSEEVENTF_MIDDLEUP: DWORD = 0x0040; -pub const MOUSEEVENTF_XDOWN: DWORD = 0x0080; -pub const MOUSEEVENTF_XUP: DWORD = 0x0100; -pub const MOUSEEVENTF_WHEEL: DWORD = 0x0800; -pub const MOUSEEVENTF_HWHEEL: DWORD = 0x01000; -pub const MOUSEEVENTF_MOVE_NOCOALESCE: DWORD = 0x2000; -pub const MOUSEEVENTF_VIRTUALDESK: DWORD = 0x4000; -pub const MOUSEEVENTF_ABSOLUTE: DWORD = 0x8000; -extern "system" { - pub fn mouse_event( - dwFlags: DWORD, - dx: DWORD, - dy: DWORD, - dwData: DWORD, - dwExtraInfo: ULONG_PTR, - ); -} -STRUCT!{struct MOUSEINPUT { - dx: LONG, - dy: LONG, - mouseData: DWORD, - dwFlags: DWORD, - time: DWORD, - dwExtraInfo: ULONG_PTR, -}} -pub type PMOUSEINPUT = *mut MOUSEINPUT; -pub type LPMOUSEINPUT = *mut MOUSEINPUT; -STRUCT!{struct KEYBDINPUT { - wVk: WORD, - wScan: WORD, - dwFlags: DWORD, - time: DWORD, - dwExtraInfo: ULONG_PTR, -}} -pub type PKEYBDINPUT = *mut KEYBDINPUT; -pub type LPKEYBDINPUT = *mut KEYBDINPUT; -STRUCT!{struct HARDWAREINPUT { - uMsg: DWORD, - wParamL: WORD, - wParamH: WORD, -}} -pub type PHARDWAREINPUT = *mut HARDWAREINPUT; -pub type LPHARDWAREINPUT= *mut HARDWAREINPUT; -pub const INPUT_MOUSE: DWORD = 0; -pub const INPUT_KEYBOARD: DWORD = 1; -pub const INPUT_HARDWARE: DWORD = 2; -UNION!{union INPUT_u { - [u32; 6] [u64; 4], - mi mi_mut: MOUSEINPUT, - ki ki_mut: KEYBDINPUT, - hi hi_mut: HARDWAREINPUT, -}} -STRUCT!{struct INPUT { - type_: DWORD, - u: INPUT_u, -}} -pub type PINPUT = *mut INPUT; -pub type LPINPUT = *mut INPUT; -extern "system" { - pub fn SendInput( - cInputs: UINT, - pInputs: LPINPUT, - cbSize: c_int, - ) -> UINT; -} -DECLARE_HANDLE!{HTOUCHINPUT, HTOUCHINPUT__} -STRUCT!{struct TOUCHINPUT { - x: LONG, - y: LONG, - hSource: HANDLE, - dwID: DWORD, - dwFlags: DWORD, - dwMask: DWORD, - dwTime: DWORD, - dwExtraInfo: ULONG_PTR, - cxContact: DWORD, - cyContact: DWORD, -}} -pub type PTOUCHINPUT = *mut TOUCHINPUT; -pub type PCTOUCHINPUT = *const TOUCHINPUT; -// TOUCH_COORD_TO_PIXEL -pub const TOUCHEVENTF_MOVE: DWORD = 0x0001; -pub const TOUCHEVENTF_DOWN: DWORD = 0x0002; -pub const TOUCHEVENTF_UP: DWORD = 0x0004; -pub const TOUCHEVENTF_INRANGE: DWORD = 0x0008; -pub const TOUCHEVENTF_PRIMARY: DWORD = 0x0010; -pub const TOUCHEVENTF_NOCOALESCE: DWORD = 0x0020; -pub const TOUCHEVENTF_PEN: DWORD = 0x0040; -pub const TOUCHEVENTF_PALM: DWORD = 0x0080; -pub const TOUCHINPUTMASKF_TIMEFROMSYSTEM: DWORD = 0x0001; -pub const TOUCHINPUTMASKF_EXTRAINFO: DWORD = 0x0002; -pub const TOUCHINPUTMASKF_CONTACTAREA: DWORD = 0x0004; -extern "system" { - pub fn GetTouchInputInfo( - hTouchInput: HTOUCHINPUT, - cInputs: c_uint, - pInputs: PTOUCHINPUT, - cbSize: c_int, - ) -> BOOL; - pub fn CloseTouchInputHandle( - hTouchInput: HTOUCHINPUT, - ) -> BOOL; -} -pub const TWF_FINETOUCH: DWORD = 0x00000001; -pub const TWF_WANTPALM: DWORD = 0x00000002; -extern "system" { - pub fn RegisterTouchWindow( - hWnd: HWND, - flags: ULONG, - ) -> BOOL; - pub fn UnregisterTouchWindow( - hwnd: HWND, - ) -> BOOL; - pub fn IsTouchWindow( - hwnd: HWND, - pulFlags: PULONG, - ) -> BOOL; -} -ENUM!{enum POINTER_INPUT_TYPE { - PT_POINTER = 0x00000001, - PT_TOUCH = 0x00000002, - PT_PEN = 0x00000003, - PT_MOUSE = 0x00000004, - PT_TOUCHPAD = 0x00000005, -}} -ENUM!{enum POINTER_FLAGS { - POINTER_FLAG_NONE = 0x00000000, - POINTER_FLAG_NEW = 0x00000001, - POINTER_FLAG_INRANGE = 0x00000002, - POINTER_FLAG_INCONTACT = 0x00000004, - POINTER_FLAG_FIRSTBUTTON = 0x00000010, - POINTER_FLAG_SECONDBUTTON = 0x00000020, - POINTER_FLAG_THIRDBUTTON = 0x00000040, - POINTER_FLAG_FOURTHBUTTON = 0x00000080, - POINTER_FLAG_FIFTHBUTTON = 0x00000100, - POINTER_FLAG_PRIMARY = 0x00002000, - POINTER_FLAG_CONFIDENCE = 0x00004000, - POINTER_FLAG_CANCELED = 0x00008000, - POINTER_FLAG_DOWN = 0x00010000, - POINTER_FLAG_UPDATE = 0x00020000, - POINTER_FLAG_UP = 0x00040000, - POINTER_FLAG_WHEEL = 0x00080000, - POINTER_FLAG_HWHEEL = 0x00100000, - POINTER_FLAG_CAPTURECHANGED = 0x00200000, - POINTER_FLAG_HASTRANSFORM = 0x00400000, -}} -pub const POINTER_MOD_SHIFT: DWORD = 0x0004; -pub const POINTER_MOD_CTRL: DWORD = 0x0008; -ENUM!{enum POINTER_BUTTON_CHANGE_TYPE { - POINTER_CHANGE_NONE, - POINTER_CHANGE_FIRSTBUTTON_DOWN, - POINTER_CHANGE_FIRSTBUTTON_UP, - POINTER_CHANGE_SECONDBUTTON_DOWN, - POINTER_CHANGE_SECONDBUTTON_UP, - POINTER_CHANGE_THIRDBUTTON_DOWN, - POINTER_CHANGE_THIRDBUTTON_UP, - POINTER_CHANGE_FOURTHBUTTON_DOWN, - POINTER_CHANGE_FOURTHBUTTON_UP, - POINTER_CHANGE_FIFTHBUTTON_DOWN, - POINTER_CHANGE_FIFTHBUTTON_UP, -}} -STRUCT!{struct POINTER_INFO { - pointerType: POINTER_INPUT_TYPE, - pointerId: UINT32, - frameId: UINT32, - pointerFlags: POINTER_FLAGS, - sourceDevice: HANDLE, - hwndTarget: HWND, - ptPixelLocation: POINT, - ptHimetricLocation: POINT, - ptPixelLocationRaw: POINT, - ptHimetricLocationRaw: POINT, - dwTime: DWORD, - historyCount: UINT32, - InputData: INT32, - dwKeyStates: DWORD, - PerformanceCount: UINT64, - ButtonChangeType: POINTER_BUTTON_CHANGE_TYPE, -}} -ENUM!{enum TOUCH_FLAGS { - TOUCH_FLAG_NONE = 0x00000000, -}} -ENUM!{enum TOUCH_MASK { - TOUCH_MASK_NONE = 0x00000000, - TOUCH_MASK_CONTACTAREA = 0x00000001, - TOUCH_MASK_ORIENTATION = 0x00000002, - TOUCH_MASK_PRESSURE = 0x00000004, -}} -STRUCT!{struct POINTER_TOUCH_INFO { - pointerInfo: POINTER_INFO, - touchFlags: TOUCH_FLAGS, - touchMask: TOUCH_MASK, - rcContact: RECT, - rcContactRaw: RECT, - orientation: UINT32, - pressure: UINT32, -}} -ENUM!{enum PEN_FLAGS { - PEN_FLAG_NONE = 0x00000000, - PEN_FLAG_BARREL = 0x00000001, - PEN_FLAG_INVERTED = 0x00000002, - PEN_FLAG_ERASER = 0x00000004, -}} -ENUM!{enum PEN_MASK { - PEN_MASK_NONE = 0x00000000, - PEN_MASK_PRESSURE = 0x00000001, - PEN_MASK_ROTATION = 0x00000002, - PEN_MASK_TILT_X = 0x00000004, - PEN_MASK_TILT_Y = 0x00000008, -}} -STRUCT!{struct POINTER_PEN_INFO { - pointerInfo: POINTER_INFO, - penFlags: PEN_FLAGS, - penMask: PEN_MASK, - pressure: UINT32, - rotation: UINT32, - tiltX: INT32, - tiltY: INT32, -}} -pub const POINTER_MESSAGE_FLAG_NEW: DWORD = 0x00000001; -pub const POINTER_MESSAGE_FLAG_INRANGE: DWORD = 0x00000002; -pub const POINTER_MESSAGE_FLAG_INCONTACT: DWORD = 0x00000004; -pub const POINTER_MESSAGE_FLAG_FIRSTBUTTON: DWORD = 0x00000010; -pub const POINTER_MESSAGE_FLAG_SECONDBUTTON: DWORD = 0x00000020; -pub const POINTER_MESSAGE_FLAG_THIRDBUTTON: DWORD = 0x00000040; -pub const POINTER_MESSAGE_FLAG_FOURTHBUTTON: DWORD = 0x00000080; -pub const POINTER_MESSAGE_FLAG_FIFTHBUTTON: DWORD = 0x00000100; -pub const POINTER_MESSAGE_FLAG_PRIMARY: DWORD = 0x00002000; -pub const POINTER_MESSAGE_FLAG_CONFIDENCE: DWORD = 0x00004000; -pub const POINTER_MESSAGE_FLAG_CANCELED: DWORD = 0x00008000; -pub const PA_ACTIVATE: UINT = MA_ACTIVATE; -pub const PA_NOACTIVATE: UINT = MA_NOACTIVATE; -pub const MAX_TOUCH_COUNT: UINT32 = 256; -pub const TOUCH_FEEDBACK_DEFAULT: DWORD = 0x1; -pub const TOUCH_FEEDBACK_INDIRECT: DWORD = 0x2; -pub const TOUCH_FEEDBACK_NONE: DWORD = 0x3; -extern "system" { - pub fn InitializeTouchInjection( - maxCount: UINT32, - dwMode: DWORD, - ) -> BOOL; - pub fn InjectTouchInput( - count: UINT32, - contacts: *const POINTER_TOUCH_INFO, - ) -> BOOL; -} -STRUCT!{struct USAGE_PROPERTIES { - level: USHORT, - page: USHORT, - usage: USHORT, - logicalMinimum: INT32, - logicalMaximum: INT32, - unit: USHORT, - exponent: USHORT, - count: BYTE, - physicalMinimum: INT32, - physicalMaximum: INT32, -}} -pub type PUSAGE_PROPERTIES = *mut USAGE_PROPERTIES; -UNION!{union POINTER_TYPE_INFO_u { - [u64; 17] [u64; 18], - touchInfo touchInfo_mut: POINTER_TOUCH_INFO, - penInfo penInfo_mut: POINTER_PEN_INFO, -}} -STRUCT!{struct POINTER_TYPE_INFO { - type_: POINTER_INPUT_TYPE, - u: POINTER_TYPE_INFO_u, -}} -pub type PPOINTER_TYPE_INFO = *mut POINTER_TYPE_INFO; -STRUCT!{struct INPUT_INJECTION_VALUE { - page: USHORT, - usage: USHORT, - value: INT32, - index: USHORT, -}} -pub type PINPUT_INJECTION_VALUE = *mut INPUT_INJECTION_VALUE; -extern "system" { - pub fn GetPointerType( - pointerId: UINT32, - pointerType: *mut POINTER_INPUT_TYPE, - ) -> BOOL; - pub fn GetPointerCursorId( - pointerId: UINT32, - cursorId: *mut UINT32, - ) -> BOOL; - pub fn GetPointerInfo( - pointerId: UINT32, - pointerInfo: *mut POINTER_INFO, - ) -> BOOL; - pub fn GetPointerInfoHistory( - pointerId: UINT32, - entriesCount: *mut UINT32, - pointerInfo: *mut POINTER_INFO, - ) -> BOOL; - pub fn GetPointerFrameInfo( - pointerId: UINT32, - pointerCount: *mut UINT32, - pointerInfo: *mut POINTER_INFO, - ) -> BOOL; - pub fn GetPointerFrameInfoHistory( - pointerId: UINT32, - entriesCount: *mut UINT32, - pointerCount: *mut UINT32, - pointerInfo: *mut POINTER_INFO, - ) -> BOOL; - pub fn GetPointerTouchInfo( - pointerId: UINT32, - touchInfo: *mut POINTER_TOUCH_INFO, - ) -> BOOL; - pub fn GetPointerTouchInfoHistory( - pointerId: UINT32, - entriesCount: *mut UINT32, - touchInfo: *mut POINTER_TOUCH_INFO, - ) -> BOOL; - pub fn GetPointerFrameTouchInfo( - pointerId: UINT32, - pointerCount: *mut UINT32, - touchInfo: *mut POINTER_TOUCH_INFO, - ) -> BOOL; - pub fn GetPointerFrameTouchInfoHistory( - pointerId: UINT32, - entriesCount: *mut UINT32, - pointerCount: *mut UINT32, - touchInfo: *mut POINTER_TOUCH_INFO, - ) -> BOOL; - pub fn GetPointerPenInfo( - pointerId: UINT32, - penInfo: *mut POINTER_PEN_INFO, - ) -> BOOL; - pub fn GetPointerPenInfoHistory( - pointerId: UINT32, - entriesCount: *mut UINT32, - penInfo: *mut POINTER_PEN_INFO, - ) -> BOOL; - pub fn GetPointerFramePenInfo( - pointerId: UINT32, - pointerCount: *mut UINT32, - penInfo: *mut POINTER_PEN_INFO, - ) -> BOOL; - pub fn GetPointerFramePenInfoHistory( - pointerId: UINT32, - entriesCount: *mut UINT32, - pointerCount: *mut UINT32, - penInfo: *mut POINTER_PEN_INFO, - ) -> BOOL; - pub fn SkipPointerFrameMessages( - pointerId: UINT32, - ) -> BOOL; - pub fn RegisterPointerInputTarget( - hwnd: HWND, - pointerType: POINTER_INPUT_TYPE, - ) -> BOOL; - pub fn UnregisterPointerInputTarget( - hwnd: HWND, - pointerType: POINTER_INPUT_TYPE, - ) -> BOOL; - pub fn RegisterPointerInputTargetEx( - hwnd: HWND, - pointerType: POINTER_INPUT_TYPE, - fObserve: BOOL, - ) -> BOOL; - pub fn UnregisterPointerInputTargetEx( - hwnd: HWND, - pointerType: POINTER_INPUT_TYPE, - ) -> BOOL; - pub fn EnableMouseInPointer( - fEnable: BOOL, - ) -> BOOL; - pub fn IsMouseInPointerEnabled() -> BOOL; -} -pub const TOUCH_HIT_TESTING_DEFAULT: ULONG = 0x0; -pub const TOUCH_HIT_TESTING_CLIENT: ULONG = 0x1; -pub const TOUCH_HIT_TESTING_NONE: ULONG = 0x2; -extern "system" { - pub fn RegisterTouchHitTestingWindow( - hwnd: HWND, - value: ULONG, - ) -> BOOL; -} -STRUCT!{struct TOUCH_HIT_TESTING_PROXIMITY_EVALUATION { - score: UINT16, - adjustedPoint: POINT, -}} -pub type PTOUCH_HIT_TESTING_PROXIMITY_EVALUATION = *mut TOUCH_HIT_TESTING_PROXIMITY_EVALUATION; -STRUCT!{struct TOUCH_HIT_TESTING_INPUT { - pointerId: UINT32, - point: POINT, - boundingBox: RECT, - nonOccludedBoundingBox: RECT, - orientation: UINT32, -}} -pub type PTOUCH_HIT_TESTING_INPUT = *mut TOUCH_HIT_TESTING_INPUT; -pub const TOUCH_HIT_TESTING_PROXIMITY_CLOSEST: UINT16 = 0x0; -pub const TOUCH_HIT_TESTING_PROXIMITY_FARTHEST: UINT16 = 0xFFF; -extern "system" { - pub fn EvaluateProximityToRect( - controlBoundingBox: *const RECT, - pHitTestingInput: *const TOUCH_HIT_TESTING_INPUT, - pProximityEval: *mut TOUCH_HIT_TESTING_PROXIMITY_EVALUATION, - ) -> BOOL; - pub fn EvaluateProximityToPolygon( - numVertices: UINT32, - controlPolygon: *const POINT, - pHitTestingInput: *const TOUCH_HIT_TESTING_INPUT, - pProximityEval: *mut TOUCH_HIT_TESTING_PROXIMITY_EVALUATION, - ) -> BOOL; - pub fn PackTouchHitTestingProximityEvaluation( - pHitTestingInput: *const TOUCH_HIT_TESTING_INPUT, - pProximityEval: *const TOUCH_HIT_TESTING_PROXIMITY_EVALUATION, - ) -> LRESULT; -} -ENUM!{enum FEEDBACK_TYPE { - FEEDBACK_TOUCH_CONTACTVISUALIZATION = 1, - FEEDBACK_PEN_BARRELVISUALIZATION = 2, - FEEDBACK_PEN_TAP = 3, - FEEDBACK_PEN_DOUBLETAP = 4, - FEEDBACK_PEN_PRESSANDHOLD = 5, - FEEDBACK_PEN_RIGHTTAP = 6, - FEEDBACK_TOUCH_TAP = 7, - FEEDBACK_TOUCH_DOUBLETAP = 8, - FEEDBACK_TOUCH_PRESSANDHOLD = 9, - FEEDBACK_TOUCH_RIGHTTAP = 10, - FEEDBACK_GESTURE_PRESSANDTAP = 11, - FEEDBACK_MAX = 0xFFFFFFFF, -}} -pub const GWFS_INCLUDE_ANCESTORS: DWORD = 0x00000001; -extern "system" { - pub fn GetWindowFeedbackSetting( - hwnd: HWND, - feedback: FEEDBACK_TYPE, - dwFlags: DWORD, - pSize: *mut UINT32, - config: *mut VOID, - ) -> BOOL; - pub fn SetWindowFeedbackSetting( - hwnd: HWND, - feedback: FEEDBACK_TYPE, - dwFlags: DWORD, - size: UINT32, - configuration: *const VOID, - ) -> BOOL; -} -STRUCT!{struct INPUT_TRANSFORM { - m: [[f32; 4]; 4], -}} -extern "system" { - pub fn GetPointerInputTransform( - pointerId: UINT32, - historyCount: UINT32, - inputTransform: *mut INPUT_TRANSFORM, - ) -> BOOL; -} -STRUCT!{struct LASTINPUTINFO { - cbSize: UINT, - dwTime: DWORD, -}} -pub type PLASTINPUTINFO = *mut LASTINPUTINFO; -extern "system" { - pub fn GetLastInputInfo( - plii: PLASTINPUTINFO, - ) -> BOOL; - pub fn MapVirtualKeyA( - nCode: UINT, - uMapType: UINT, - ) -> UINT; - pub fn MapVirtualKeyW( - nCode: UINT, - uMapType: UINT, - ) -> UINT; - pub fn MapVirtualKeyExA( - nCode: UINT, - uMapType: UINT, - dwhkl: HKL, - ) -> UINT; - pub fn MapVirtualKeyExW( - nCode: UINT, - uMapType: UINT, - dwhkl: HKL, - ) -> UINT; -} -pub const MAPVK_VK_TO_VSC: UINT = 0; -pub const MAPVK_VSC_TO_VK: UINT = 1; -pub const MAPVK_VK_TO_CHAR: UINT = 2; -pub const MAPVK_VSC_TO_VK_EX: UINT = 3; -pub const MAPVK_VK_TO_VSC_EX: UINT = 4; -extern "system" { - pub fn GetInputState() -> BOOL; - pub fn GetQueueStatus( - flags: UINT, - ) -> DWORD; - pub fn GetCapture() -> HWND; - pub fn SetCapture( - hWnd: HWND, - ) -> HWND; - pub fn ReleaseCapture() -> BOOL; - pub fn MsgWaitForMultipleObjects( - nCount: DWORD, - pHandles: *const HANDLE, - fWaitAll: BOOL, - dwMilliseconds: DWORD, - dwWakeMask: DWORD, - ) -> DWORD; - pub fn MsgWaitForMultipleObjectsEx( - nCount: DWORD, - pHandles: *const HANDLE, - dwMilliseconds: DWORD, - dwWakeMask: DWORD, - dwFlags: DWORD, - ) -> DWORD; -} -pub const MWMO_WAITALL: UINT = 0x0001; -pub const MWMO_ALERTABLE: UINT = 0x0002; -pub const MWMO_INPUTAVAILABLE: UINT = 0x0004; -pub const QS_KEY: UINT = 0x0001; -pub const QS_MOUSEMOVE: UINT = 0x0002; -pub const QS_MOUSEBUTTON: UINT = 0x0004; -pub const QS_POSTMESSAGE: UINT = 0x0008; -pub const QS_TIMER: UINT = 0x0010; -pub const QS_PAINT: UINT = 0x0020; -pub const QS_SENDMESSAGE: UINT = 0x0040; -pub const QS_HOTKEY: UINT = 0x0080; -pub const QS_ALLPOSTMESSAGE: UINT = 0x0100; -pub const QS_RAWINPUT: UINT = 0x0400; -pub const QS_TOUCH: UINT = 0x0800; -pub const QS_POINTER: UINT = 0x1000; -pub const QS_MOUSE: UINT = QS_MOUSEMOVE | QS_MOUSEBUTTON; -pub const QS_INPUT: UINT = QS_MOUSE | QS_KEY | QS_RAWINPUT | QS_TOUCH | QS_POINTER; -pub const QS_ALLEVENTS: UINT = QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY; -pub const QS_ALLINPUT: UINT = QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY - | QS_SENDMESSAGE; -pub const USER_TIMER_MAXIMUM: UINT = 0x7FFFFFFF; -pub const USER_TIMER_MINIMUM: UINT = 0x0000000A; -extern "system" { - pub fn SetTimer( - hWnd: HWND, - nIDEvent: UINT_PTR, - uElapse: UINT, - lpTimerFunc: TIMERPROC, - ) -> UINT_PTR; -} -pub const TIMERV_DEFAULT_COALESCING: ULONG = 0; -pub const TIMERV_NO_COALESCING: ULONG = 0xFFFFFFFF; -pub const TIMERV_COALESCING_MIN: ULONG = 1; -pub const TIMERV_COALESCING_MAX: ULONG = 0x7FFFFFF5; -extern "system" { - pub fn SetCoalescableTimer( - hWnd: HWND, - nIDEvent: UINT_PTR, - uElapse: UINT, - lpTimerFunc: TIMERPROC, - uToleranceDelay: ULONG, - ) -> UINT_PTR; - pub fn KillTimer( - hWnd: HWND, - uIDEvent: UINT_PTR, - ) -> BOOL; - pub fn IsWindowUnicode( - hWnd: HWND, - ) -> BOOL; - pub fn EnableWindow( - hWnd: HWND, - bEnable: BOOL, - ) -> BOOL; - pub fn IsWindowEnabled( - hWnd: HWND, - ) -> BOOL; - pub fn LoadAcceleratorsA( - hInstance: HINSTANCE, - lpTableName: LPCSTR, - ) -> HACCEL; - pub fn LoadAcceleratorsW( - hInstance: HINSTANCE, - lpTableName: LPCWSTR, - ) -> HACCEL; - pub fn CreateAcceleratorTableA( - paccel: LPACCEL, - cAccel: c_int, - ) -> HACCEL; - pub fn CreateAcceleratorTableW( - paccel: LPACCEL, - cAccel: c_int, - ) -> HACCEL; - pub fn DestroyAcceleratorTable( - hAccel: HACCEL, - ) -> BOOL; - pub fn CopyAcceleratorTableA( - hAccelSrc: HACCEL, - lpAccelDst: LPACCEL, - cAccelEntries: c_int, - ) -> c_int; - pub fn CopyAcceleratorTableW( - hAccelSrc: HACCEL, - lpAccelDst: LPACCEL, - cAccelEntries: c_int, - ) -> c_int; - pub fn TranslateAcceleratorA( - hWnd: HWND, - hAccTable: HACCEL, - lpMsg: LPMSG, - ) -> c_int; - pub fn TranslateAcceleratorW( - hWnd: HWND, - hAccTable: HACCEL, - lpMsg: LPMSG, - ) -> c_int; -} -pub const SM_CXSCREEN: c_int = 0; -pub const SM_CYSCREEN: c_int = 1; -pub const SM_CXVSCROLL: c_int = 2; -pub const SM_CYHSCROLL: c_int = 3; -pub const SM_CYCAPTION: c_int = 4; -pub const SM_CXBORDER: c_int = 5; -pub const SM_CYBORDER: c_int = 6; -pub const SM_CXDLGFRAME: c_int = 7; -pub const SM_CYDLGFRAME: c_int = 8; -pub const SM_CYVTHUMB: c_int = 9; -pub const SM_CXHTHUMB: c_int = 10; -pub const SM_CXICON: c_int = 11; -pub const SM_CYICON: c_int = 12; -pub const SM_CXCURSOR: c_int = 13; -pub const SM_CYCURSOR: c_int = 14; -pub const SM_CYMENU: c_int = 15; -pub const SM_CXFULLSCREEN: c_int = 16; -pub const SM_CYFULLSCREEN: c_int = 17; -pub const SM_CYKANJIWINDOW: c_int = 18; -pub const SM_MOUSEPRESENT: c_int = 19; -pub const SM_CYVSCROLL: c_int = 20; -pub const SM_CXHSCROLL: c_int = 21; -pub const SM_DEBUG: c_int = 22; -pub const SM_SWAPBUTTON: c_int = 23; -pub const SM_RESERVED1: c_int = 24; -pub const SM_RESERVED2: c_int = 25; -pub const SM_RESERVED3: c_int = 26; -pub const SM_RESERVED4: c_int = 27; -pub const SM_CXMIN: c_int = 28; -pub const SM_CYMIN: c_int = 29; -pub const SM_CXSIZE: c_int = 30; -pub const SM_CYSIZE: c_int = 31; -pub const SM_CXFRAME: c_int = 32; -pub const SM_CYFRAME: c_int = 33; -pub const SM_CXMINTRACK: c_int = 34; -pub const SM_CYMINTRACK: c_int = 35; -pub const SM_CXDOUBLECLK: c_int = 36; -pub const SM_CYDOUBLECLK: c_int = 37; -pub const SM_CXICONSPACING: c_int = 38; -pub const SM_CYICONSPACING: c_int = 39; -pub const SM_MENUDROPALIGNMENT: c_int = 40; -pub const SM_PENWINDOWS: c_int = 41; -pub const SM_DBCSENABLED: c_int = 42; -pub const SM_CMOUSEBUTTONS: c_int = 43; -pub const SM_CXFIXEDFRAME: c_int = SM_CXDLGFRAME; -pub const SM_CYFIXEDFRAME: c_int = SM_CYDLGFRAME; -pub const SM_CXSIZEFRAME: c_int = SM_CXFRAME; -pub const SM_CYSIZEFRAME: c_int = SM_CYFRAME; -pub const SM_SECURE: c_int = 44; -pub const SM_CXEDGE: c_int = 45; -pub const SM_CYEDGE: c_int = 46; -pub const SM_CXMINSPACING: c_int = 47; -pub const SM_CYMINSPACING: c_int = 48; -pub const SM_CXSMICON: c_int = 49; -pub const SM_CYSMICON: c_int = 50; -pub const SM_CYSMCAPTION: c_int = 51; -pub const SM_CXSMSIZE: c_int = 52; -pub const SM_CYSMSIZE: c_int = 53; -pub const SM_CXMENUSIZE: c_int = 54; -pub const SM_CYMENUSIZE: c_int = 55; -pub const SM_ARRANGE: c_int = 56; -pub const SM_CXMINIMIZED: c_int = 57; -pub const SM_CYMINIMIZED: c_int = 58; -pub const SM_CXMAXTRACK: c_int = 59; -pub const SM_CYMAXTRACK: c_int = 60; -pub const SM_CXMAXIMIZED: c_int = 61; -pub const SM_CYMAXIMIZED: c_int = 62; -pub const SM_NETWORK: c_int = 63; -pub const SM_CLEANBOOT: c_int = 67; -pub const SM_CXDRAG: c_int = 68; -pub const SM_CYDRAG: c_int = 69; -pub const SM_SHOWSOUNDS: c_int = 70; -pub const SM_CXMENUCHECK: c_int = 71; -pub const SM_CYMENUCHECK: c_int = 72; -pub const SM_SLOWMACHINE: c_int = 73; -pub const SM_MIDEASTENABLED: c_int = 74; -pub const SM_MOUSEWHEELPRESENT: c_int = 75; -pub const SM_XVIRTUALSCREEN: c_int = 76; -pub const SM_YVIRTUALSCREEN: c_int = 77; -pub const SM_CXVIRTUALSCREEN: c_int = 78; -pub const SM_CYVIRTUALSCREEN: c_int = 79; -pub const SM_CMONITORS: c_int = 80; -pub const SM_SAMEDISPLAYFORMAT: c_int = 81; -pub const SM_IMMENABLED: c_int = 82; -pub const SM_CXFOCUSBORDER: c_int = 83; -pub const SM_CYFOCUSBORDER: c_int = 84; -pub const SM_TABLETPC: c_int = 86; -pub const SM_MEDIACENTER: c_int = 87; -pub const SM_STARTER: c_int = 88; -pub const SM_SERVERR2: c_int = 89; -pub const SM_MOUSEHORIZONTALWHEELPRESENT: c_int = 91; -pub const SM_CXPADDEDBORDER: c_int = 92; -pub const SM_DIGITIZER: c_int = 94; -pub const SM_MAXIMUMTOUCHES: c_int = 95; -pub const SM_CMETRICS: c_int = 97; -pub const SM_REMOTESESSION: c_int = 0x1000; -pub const SM_SHUTTINGDOWN: c_int = 0x2000; -pub const SM_REMOTECONTROL: c_int = 0x2001; -pub const SM_CARETBLINKINGENABLED: c_int = 0x2002; -pub const SM_CONVERTIBLESLATEMODE: c_int = 0x2003; -pub const SM_SYSTEMDOCKED: c_int = 0x2004; -extern "system" { - pub fn GetSystemMetrics( - nIndex: c_int, - ) -> c_int; - pub fn GetSystemMetricsForDpi( - nIndex: c_int, - dpi: UINT, - ) -> c_int; - pub fn LoadMenuA( - hInstance: HINSTANCE, - lpMenuName: LPCSTR, - ) -> HMENU; - pub fn LoadMenuW( - hInstance: HINSTANCE, - lpMenuName: LPCWSTR, - ) -> HMENU; - pub fn LoadMenuIndirectA( - lpMenuTemplate: *const MENUTEMPLATEA, - ) -> HMENU; - pub fn LoadMenuIndirectW( - lpMenuTemplate: *const MENUTEMPLATEW, - ) -> HMENU; - pub fn GetMenu( - hWnd: HWND, - ) -> HMENU; - pub fn SetMenu( - hWnd: HWND, - hMenu: HMENU, - ) -> BOOL; - pub fn ChangeMenuA( - hMenu: HMENU, - cmd: UINT, - lpszNewItem: LPCSTR, - cmdInsert: UINT, - flags: UINT, - ) -> BOOL; - pub fn ChangeMenuW( - hMenu: HMENU, - cmd: UINT, - lpszNewItem: LPCWSTR, - cmdInsert: UINT, - flags: UINT, - ) -> BOOL; - pub fn HiliteMenuItem( - hWnd: HWND, - hMenu: HMENU, - uIDHiliteItem: UINT, - uHilite: UINT, - ) -> BOOL; - pub fn GetMenuStringA( - hMenu: HMENU, - uIDItem: UINT, - lpString: LPSTR, - cchMax: c_int, - flags: UINT, - ) -> c_int; - pub fn GetMenuStringW( - hMenu: HMENU, - uIDItem: UINT, - lpString: LPWSTR, - cchMax: c_int, - flags: UINT, - ) -> c_int; - pub fn GetMenuState( - hMenu: HMENU, - uId: UINT, - uFlags: UINT, - ) -> UINT; - pub fn DrawMenuBar( - hwnd: HWND, - ) -> BOOL; -} -pub const PMB_ACTIVE: DWORD = 0x00000001; -extern "system" { - pub fn GetSystemMenu( - hWnd: HWND, - bRevert: BOOL, - ) -> HMENU; - pub fn CreateMenu() -> HMENU; - pub fn CreatePopupMenu() ->HMENU; - pub fn DestroyMenu( - hMenu: HMENU, - ) -> BOOL; - pub fn CheckMenuItem( - hMenu: HMENU, - uIDCheckItem: UINT, - uCheck: UINT, - ) -> DWORD; - pub fn EnableMenuItem( - hMenu: HMENU, - uIDEnableItem: UINT, - uEnable: UINT, - ) -> BOOL; - pub fn GetSubMenu( - hMenu: HMENU, - nPos: c_int, - ) -> HMENU; - pub fn GetMenuItemID( - hMenu: HMENU, - nPos: c_int, - ) -> UINT; - pub fn GetMenuItemCount( - hMenu: HMENU, - ) -> c_int; - pub fn InsertMenuA( - hMenu: HMENU, - uPosition: UINT, - uFlags: UINT, - uIDNewItem: UINT_PTR, - lpNewItem: LPCSTR, - ) -> BOOL; - pub fn InsertMenuW( - hMenu: HMENU, - uPosition: UINT, - uFlags: UINT, - uIDNewItem: UINT_PTR, - lpNewItem: LPCWSTR, - ) -> BOOL; - pub fn AppendMenuA( - hMenu: HMENU, - uFlags: UINT, - uIDNewItem: UINT_PTR, - lpNewItem: LPCSTR, - ) -> BOOL; - pub fn AppendMenuW( - hMenu: HMENU, - uFlags: UINT, - uIDNewItem: UINT_PTR, - lpNewItem: LPCWSTR, - ) -> BOOL; - pub fn ModifyMenuA( - hMnu: HMENU, - uPosition: UINT, - uFlags: UINT, - uIDNewItem: UINT_PTR, - lpNewItem: LPCSTR, - ) -> BOOL; - pub fn ModifyMenuW( - hMnu: HMENU, - uPosition: UINT, - uFlags: UINT, - uIDNewItem: UINT_PTR, - lpNewItem: LPCWSTR, - ) -> BOOL; - pub fn RemoveMenu( - hMenu: HMENU, - uPosition: UINT, - uFlags: UINT, - ) -> BOOL; - pub fn DeleteMenu( - hMenu: HMENU, - uPosition: UINT, - uFlags: UINT, - ) -> BOOL; - pub fn SetMenuItemBitmaps( - hMenu: HMENU, - uPosition: UINT, - uFlags: UINT, - hBitmapUnchecked: HBITMAP, - hBitmapChecked: HBITMAP, - ) -> BOOL; - pub fn GetMenuCheckMarkDimensions() -> LONG; - pub fn TrackPopupMenu( - hMenu: HMENU, - uFlags: UINT, - x: c_int, - y: c_int, - nReserved: c_int, - hWnd: HWND, - prcRect: *const RECT, - ) -> BOOL; -} -pub const MNC_IGNORE: DWORD = 0; -pub const MNC_CLOSE: DWORD = 1; -pub const MNC_EXECUTE: DWORD = 2; -pub const MNC_SELECT: DWORD = 3; -STRUCT!{struct TPMPARAMS { - cbSize: UINT, - rcExclude: RECT, -}} -pub type LPTPMPARAMS = *mut TPMPARAMS; -extern "system" { - pub fn TrackPopupMenuEx( - hMenu: HMENU, - uFlags: UINT, - x: INT, - y: INT, - hwnd: HWND, - lptpm: LPTPMPARAMS, - ) -> BOOL; - pub fn CalculatePopupWindowPosition( - anchorPoint: *const POINT, - windowSize: *const SIZE, - flags: UINT, - excludeRect: *mut RECT, - popupWindowPosition: *mut RECT, - ) -> BOOL; -} -pub const MNS_NOCHECK: DWORD = 0x80000000; -pub const MNS_MODELESS: DWORD = 0x40000000; -pub const MNS_DRAGDROP: DWORD = 0x20000000; -pub const MNS_AUTODISMISS: DWORD = 0x10000000; -pub const MNS_NOTIFYBYPOS: DWORD = 0x08000000; -pub const MNS_CHECKORBMP: DWORD = 0x04000000; -pub const MIM_MAXHEIGHT: DWORD = 0x00000001; -pub const MIM_BACKGROUND: DWORD = 0x00000002; -pub const MIM_HELPID: DWORD = 0x00000004; -pub const MIM_MENUDATA: DWORD = 0x00000008; -pub const MIM_STYLE: DWORD = 0x00000010; -pub const MIM_APPLYTOSUBMENUS: DWORD = 0x80000000; -STRUCT!{struct MENUINFO { - cbSize: DWORD, - fMask: DWORD, - dwStyle: DWORD, - cyMax: UINT, - hbrBack: HBRUSH, - dwContextHelpID: DWORD, - dwMenuData: ULONG_PTR, -}} -pub type LPMENUINFO = *mut MENUINFO; -pub type LPCMENUINFO = *const MENUINFO; -extern "system" { - pub fn GetMenuInfo( - hMenu: HMENU, - lpcmi: LPMENUINFO, - ) -> BOOL; - pub fn SetMenuInfo( - hMenu: HMENU, - lpcmi: LPCMENUINFO, - ) -> BOOL; - pub fn EndMenu( - hMenu: HMENU, - uFlags: UINT, - uIDNewItem: UINT_PTR, - lpNewItem: LPCSTR, - ) -> BOOL; -} -pub const MND_CONTINUE: DWORD = 0; -pub const MND_ENDMENU: DWORD = 1; -STRUCT!{struct MENUGETOBJECTINFO { - dwFlags: DWORD, - uPos: UINT, - hmenu: HMENU, - riid: PVOID, - pvObj: PVOID, -}} -pub type PMENUGETOBJECTINFO = *mut MENUGETOBJECTINFO; -pub const MNGOF_TOPGAP: DWORD = 0x00000001; -pub const MNGOF_BOTTOMGAP: DWORD = 0x00000002; -pub const MNGO_NOINTERFACE: DWORD = 0x00000000; -pub const MNGO_NOERROR: DWORD = 0x00000001; -pub const MIIM_STATE: DWORD = 0x00000001; -pub const MIIM_ID: DWORD = 0x00000002; -pub const MIIM_SUBMENU: DWORD = 0x00000004; -pub const MIIM_CHECKMARKS: DWORD = 0x00000008; -pub const MIIM_TYPE: DWORD = 0x00000010; -pub const MIIM_DATA: DWORD = 0x00000020; -pub const MIIM_STRING: DWORD = 0x00000040; -pub const MIIM_BITMAP: DWORD = 0x00000080; -pub const MIIM_FTYPE: DWORD = 0x00000100; -pub const HBMMENU_CALLBACK: HBITMAP = -1isize as HBITMAP; -pub const HBMMENU_SYSTEM: HBITMAP = 1 as HBITMAP; -pub const HBMMENU_MBAR_RESTORE: HBITMAP = 2 as HBITMAP; -pub const HBMMENU_MBAR_MINIMIZE: HBITMAP = 3 as HBITMAP; -pub const HBMMENU_MBAR_CLOSE: HBITMAP = 5 as HBITMAP; -pub const HBMMENU_MBAR_CLOSE_D: HBITMAP = 6 as HBITMAP; -pub const HBMMENU_MBAR_MINIMIZE_D: HBITMAP = 7 as HBITMAP; -pub const HBMMENU_POPUP_CLOSE: HBITMAP = 8 as HBITMAP; -pub const HBMMENU_POPUP_RESTORE: HBITMAP = 9 as HBITMAP; -pub const HBMMENU_POPUP_MAXIMIZE: HBITMAP = 10 as HBITMAP; -pub const HBMMENU_POPUP_MINIMIZE: HBITMAP = 11 as HBITMAP; -STRUCT!{struct MENUITEMINFOA { - cbSize: UINT, - fMask: UINT, - fType: UINT, - fState: UINT, - wID: UINT, - hSubMenu: HMENU, - hbmpChecked: HBITMAP, - hbmpUnchecked: HBITMAP, - dwItemData: ULONG_PTR, - dwTypeData: LPSTR, - cch: UINT, - hbmpItem: HBITMAP, -}} -pub type LPMENUITEMINFOA = *mut MENUITEMINFOA; -pub type LPCMENUITEMINFOA = *const MENUITEMINFOA; -STRUCT!{struct MENUITEMINFOW { - cbSize: UINT, - fMask: UINT, - fType: UINT, - fState: UINT, - wID: UINT, - hSubMenu: HMENU, - hbmpChecked: HBITMAP, - hbmpUnchecked: HBITMAP, - dwItemData: ULONG_PTR, - dwTypeData: LPWSTR, - cch: UINT, - hbmpItem: HBITMAP, -}} -pub type LPMENUITEMINFOW = *mut MENUITEMINFOW; -pub type LPCMENUITEMINFOW = *const MENUITEMINFOW; -extern "system" { - pub fn InsertMenuItemA( - hmenu: HMENU, - item: UINT, - fByPosition: BOOL, - lpmi: LPCMENUITEMINFOA, - ) -> BOOL; - pub fn InsertMenuItemW( - hmenu: HMENU, - item: UINT, - fByPosition: BOOL, - lpmi: LPCMENUITEMINFOW, - ) -> BOOL; - pub fn GetMenuItemInfoA( - hMenu: HMENU, - uItem: UINT, - fByPosition: BOOL, - lpmii: LPMENUITEMINFOA, - ) -> BOOL; - pub fn GetMenuItemInfoW( - hMenu: HMENU, - uItem: UINT, - fByPosition: BOOL, - lpmii: LPMENUITEMINFOW, - ) -> BOOL; - pub fn SetMenuItemInfoA( - hmenu: HMENU, - item: UINT, - fByPositon: BOOL, - lpmii: LPCMENUITEMINFOA, - ) -> BOOL; - pub fn SetMenuItemInfoW( - hmenu: HMENU, - item: UINT, - fByPositon: BOOL, - lpmii: LPCMENUITEMINFOW, - ) -> BOOL; -} -pub const GMDI_USEDISABLED: DWORD = 0x0001; -pub const GMDI_GOINTOPOPUPS: DWORD = 0x0002; -extern "system" { - pub fn GetMenuDefaultItem( - hMenu: HMENU, - fByPos: UINT, - gmdiFlags: UINT, - ) -> UINT; - pub fn SetMenuDefaultItem( - hMenu: HMENU, - uItem: UINT, - fByPos: UINT, - ) -> BOOL; - pub fn GetMenuItemRect( - hWnd: HWND, - hMenu: HMENU, - uItem: UINT, - lprcItem: LPRECT, - ) -> BOOL; - pub fn MenuItemFromPoint( - hWnd: HWND, - hMenu: HMENU, - ptScreen: POINT, - ) -> c_int; -} -pub const TPM_LEFTBUTTON: UINT = 0x0000; -pub const TPM_RIGHTBUTTON: UINT = 0x0002; -pub const TPM_LEFTALIGN: UINT = 0x0000; -pub const TPM_CENTERALIGN: UINT = 0x0004; -pub const TPM_RIGHTALIGN: UINT = 0x0008; -pub const TPM_TOPALIGN: UINT = 0x0000; -pub const TPM_VCENTERALIGN: UINT = 0x0010; -pub const TPM_BOTTOMALIGN: UINT = 0x0020; -pub const TPM_HORIZONTAL: UINT = 0x0000; -pub const TPM_VERTICAL: UINT = 0x0040; -pub const TPM_NONOTIFY: UINT = 0x0080; -pub const TPM_RETURNCMD: UINT = 0x0100; -pub const TPM_RECURSE: UINT = 0x0001; -pub const TPM_HORPOSANIMATION: UINT = 0x0400; -pub const TPM_HORNEGANIMATION: UINT = 0x0800; -pub const TPM_VERPOSANIMATION: UINT = 0x1000; -pub const TPM_VERNEGANIMATION: UINT = 0x2000; -pub const TPM_NOANIMATION: UINT = 0x4000; -pub const TPM_LAYOUTRTL: UINT = 0x8000; -pub const TPM_WORKAREA: UINT = 0x10000; -STRUCT!{struct DROPSTRUCT { - hwndSource: HWND, - hwndSink: HWND, - wFmt: DWORD, - dwData: ULONG_PTR, - ptDrop: POINT, - dwControlData: DWORD, -}} -pub type PDROPSTRUCT = *mut DROPSTRUCT; -pub type LPDROPSTRUCT = *mut DROPSTRUCT; -pub const DOF_EXECUTABLE: DWORD = 0x8001; -pub const DOF_DOCUMENT: DWORD = 0x8002; -pub const DOF_DIRECTORY: DWORD = 0x8003; -pub const DOF_MULTIPLE: DWORD = 0x8004; -pub const DOF_PROGMAN: DWORD = 0x0001; -pub const DOF_SHELLDATA: DWORD = 0x0002; -pub const DO_DROPFILE: DWORD = 0x454C4946; -pub const DO_PRINTFILE: DWORD = 0x544E5250; -extern "system" { - pub fn DragObject( - hwndParent: HWND, - hwndFrom: HWND, - fmt: UINT, - data: ULONG_PTR, - hcur: HCURSOR, - ) -> DWORD; - pub fn DragDetect( - hwnd: HWND, - pt: POINT, - ) -> BOOL; - pub fn DrawIcon( - hDC: HDC, - x: c_int, - y: c_int, - hIcon: HICON, - ) -> BOOL; -} -pub const DT_TOP: UINT = 0x00000000; -pub const DT_LEFT: UINT = 0x00000000; -pub const DT_CENTER: UINT = 0x00000001; -pub const DT_RIGHT: UINT = 0x00000002; -pub const DT_VCENTER: UINT = 0x00000004; -pub const DT_BOTTOM: UINT = 0x00000008; -pub const DT_WORDBREAK: UINT = 0x00000010; -pub const DT_SINGLELINE: UINT = 0x00000020; -pub const DT_EXPANDTABS: UINT = 0x00000040; -pub const DT_TABSTOP: UINT = 0x00000080; -pub const DT_NOCLIP: UINT = 0x00000100; -pub const DT_EXTERNALLEADING: UINT = 0x00000200; -pub const DT_CALCRECT: UINT = 0x00000400; -pub const DT_NOPREFIX: UINT = 0x00000800; -pub const DT_INTERNAL: UINT = 0x00001000; -pub const DT_EDITCONTROL: UINT = 0x00002000; -pub const DT_PATH_ELLIPSIS: UINT = 0x00004000; -pub const DT_END_ELLIPSIS: UINT = 0x00008000; -pub const DT_MODIFYSTRING: UINT = 0x00010000; -pub const DT_RTLREADING: UINT = 0x00020000; -pub const DT_WORD_ELLIPSIS: UINT = 0x00040000; -pub const DT_NOFULLWIDTHCHARBREAK: UINT = 0x00080000; -pub const DT_HIDEPREFIX: UINT = 0x00100000; -pub const DT_PREFIXONLY: UINT = 0x00200000; -STRUCT!{struct DRAWTEXTPARAMS { - cbSize: UINT, - iTabLength: c_int, - iLeftMargin: c_int, - iRightMargin: c_int, - uiLengthDrawn: UINT, -}} -pub type LPDRAWTEXTPARAMS = *mut DRAWTEXTPARAMS; -extern "system" { - pub fn DrawTextA( - hdc: HDC, - lpchText: LPCSTR, - cchText: c_int, - lprc: LPRECT, - format: UINT, - ) -> c_int; - pub fn DrawTextW( - hdc: HDC, - lpchText: LPCWSTR, - cchText: c_int, - lprc: LPRECT, - format: UINT, - ) -> c_int; - pub fn DrawTextExA( - hdc: HDC, - lpchText: LPCSTR, - cchText: c_int, - lprc: LPRECT, - format: UINT, - lpdtp: LPDRAWTEXTPARAMS, - ) -> c_int; - pub fn DrawTextExW( - hdc: HDC, - lpchText: LPCWSTR, - cchText: c_int, - lprc: LPRECT, - format: UINT, - lpdtp: LPDRAWTEXTPARAMS, - ) -> c_int; - pub fn GrayStringA( - hDC: HDC, - hBrush: HBRUSH, - lpOutputFunc: GRAYSTRINGPROC, - lpData: LPARAM, - nCount: c_int, - X: c_int, - Y: c_int, - nWidth: c_int, - nHeight: c_int, - ) -> BOOL; - pub fn GrayStringW( - hDC: HDC, - hBrush: HBRUSH, - lpOutputFunc: GRAYSTRINGPROC, - lpData: LPARAM, - nCount: c_int, - X: c_int, - Y: c_int, - nWidth: c_int, - nHeight: c_int, - ) -> BOOL; -} -pub const DST_COMPLEX: UINT = 0x0000; -pub const DST_TEXT: UINT = 0x0001; -pub const DST_PREFIXTEXT: UINT = 0x0002; -pub const DST_ICON: UINT = 0x0003; -pub const DST_BITMAP: UINT = 0x0004; -pub const DSS_NORMAL: UINT = 0x0000; -pub const DSS_UNION: UINT = 0x0010; -pub const DSS_DISABLED: UINT = 0x0020; -pub const DSS_MONO: UINT = 0x0080; -pub const DSS_HIDEPREFIX: UINT = 0x0200; -pub const DSS_PREFIXONLY: UINT = 0x0400; -pub const DSS_RIGHT: UINT = 0x8000; -extern "system" { - pub fn DrawStateA( - hdc: HDC, - hbrFore: HBRUSH, - qfnCallBack: DRAWSTATEPROC, - lData: LPARAM, - wData: WPARAM, - x: c_int, - y: c_int, - cx: c_int, - cy: c_int, - uFlags: UINT, - ) -> BOOL; - pub fn DrawStateW( - hdc: HDC, - hbrFore: HBRUSH, - qfnCallBack: DRAWSTATEPROC, - lData: LPARAM, - wData: WPARAM, - x: c_int, - y: c_int, - cx: c_int, - cy: c_int, - uFlags: UINT, - ) -> BOOL; - pub fn TabbedTextOutA( - hdc: HDC, - x: c_int, - y: c_int, - lpString: LPCSTR, - chCount: c_int, - nTabPositions: c_int, - lpnTabStopPositions: *const INT, - nTabOrigin: c_int, - ) -> LONG; - pub fn TabbedTextOutW( - hdc: HDC, - x: c_int, - y: c_int, - lpString: LPCWSTR, - chCount: c_int, - nTabPositions: c_int, - lpnTabStopPositions: *const INT, - nTabOrigin: c_int, - ) -> LONG; - pub fn GetTabbedTextExtentA( - hdc: HDC, - lpString: LPCSTR, - chCount: c_int, - nTabPositions: c_int, - lpnTabStopPositions: *const INT, - ) -> DWORD; - pub fn GetTabbedTextExtentW( - hdc: HDC, - lpString: LPCWSTR, - chCount: c_int, - nTabPositions: c_int, - lpnTabStopPositions: *const INT, - ) -> DWORD; - pub fn UpdateWindow( - hWnd: HWND, - ) -> BOOL; - pub fn SetActiveWindow( - hWnd: HWND, - ) -> HWND; - pub fn GetForegroundWindow() -> HWND; - pub fn PaintDesktop( - hdc: HDC, - ) -> BOOL; - pub fn SwitchToThisWindow( - hwnd: HWND, - fUnknown: BOOL, - ); - pub fn SetForegroundWindow( - hWnd: HWND, - ) -> BOOL; - pub fn AllowSetForegroundWindow( - dwProcessId: DWORD, - ) -> BOOL; -} -pub const ASFW_ANY: DWORD = -1i32 as u32; -extern "system" { - pub fn LockSetForegroundWindow( - uLockCode: UINT, - ) -> BOOL; -} -pub const LSFW_LOCK: UINT = 1; -pub const LSFW_UNLOCK: UINT = 2; -extern "system" { - pub fn WindowFromDC( - hDC: HDC, - ) -> HWND; - pub fn GetDC( - hWnd: HWND, - ) -> HDC; - pub fn GetDCEx( - hWnd: HWND, - hrgnClip: HRGN, - flags: DWORD, - ) -> HDC; -} -pub const DCX_WINDOW: DWORD = 0x00000001; -pub const DCX_CACHE: DWORD = 0x00000002; -pub const DCX_NORESETATTRS: DWORD = 0x00000004; -pub const DCX_CLIPCHILDREN: DWORD = 0x00000008; -pub const DCX_CLIPSIBLINGS: DWORD = 0x00000010; -pub const DCX_PARENTCLIP: DWORD = 0x00000020; -pub const DCX_EXCLUDERGN: DWORD = 0x00000040; -pub const DCX_INTERSECTRGN: DWORD = 0x00000080; -pub const DCX_EXCLUDEUPDATE: DWORD = 0x00000100; -pub const DCX_INTERSECTUPDATE: DWORD = 0x00000200; -pub const DCX_LOCKWINDOWUPDATE: DWORD = 0x00000400; -pub const DCX_VALIDATE: DWORD = 0x00200000; -extern "system" { - pub fn GetWindowDC( - hWnd: HWND, - ) -> HDC; - pub fn ReleaseDC( - hWnd: HWND, - hDC: HDC, - ) -> c_int; - pub fn BeginPaint( - hwnd: HWND, - lpPaint: LPPAINTSTRUCT, - ) -> HDC; - pub fn EndPaint( - hWnd: HWND, - lpPaint: *const PAINTSTRUCT, - ) -> BOOL; - pub fn GetUpdateRect( - hWnd: HWND, - lpRect: LPRECT, - bErase: BOOL, - ) -> BOOL; - pub fn GetUpdateRgn( - hWnd: HWND, - hRgn: HRGN, - bErase: BOOL, - ) -> c_int; - pub fn SetWindowRgn( - hWnd: HWND, - hRgn: HRGN, - bRedraw: BOOL, - ) -> c_int; - pub fn GetWindowRgn( - hWnd: HWND, - hRgn: HRGN, - ) -> c_int; - pub fn GetWindowRgnBox( - hWnd: HWND, - lprc: LPRECT, - ) -> c_int; - pub fn ExcludeUpdateRgn( - hDC: HDC, - hWnd: HWND, - ) -> c_int; - pub fn InvalidateRect( - hWnd: HWND, - lpRect: *const RECT, - bErase: BOOL, - ) -> BOOL; - pub fn ValidateRect( - hWnd: HWND, - lpRect: *const RECT, - ) -> BOOL; - pub fn InvalidateRgn( - hWnd: HWND, - hRgn: HRGN, - bErase: BOOL, - ) -> BOOL; - pub fn ValidateRgn( - hWnd: HWND, - hRgn: HRGN, - ) -> BOOL; - pub fn RedrawWindow( - hwnd: HWND, - lprcUpdate: *const RECT, - hrgnUpdate: HRGN, - flags: UINT, - ) -> BOOL; -} -pub const RDW_INVALIDATE: UINT = 0x0001; -pub const RDW_INTERNALPAINT: UINT = 0x0002; -pub const RDW_ERASE: UINT = 0x0004; -pub const RDW_VALIDATE: UINT = 0x0008; -pub const RDW_NOINTERNALPAINT: UINT = 0x0010; -pub const RDW_NOERASE: UINT = 0x0020; -pub const RDW_NOCHILDREN: UINT = 0x0040; -pub const RDW_ALLCHILDREN: UINT = 0x0080; -pub const RDW_UPDATENOW: UINT = 0x0100; -pub const RDW_ERASENOW: UINT = 0x0200; -pub const RDW_FRAME: UINT = 0x0400; -pub const RDW_NOFRAME: UINT = 0x0800; -extern "system" { - pub fn LockWindowUpdate( - hWndLock: HWND, - ) -> BOOL; - pub fn ScrollWindow( - hWnd: HWND, - xAmount: c_int, - yAmount: c_int, - lpRect: *const RECT, - lpClipRect: *const RECT, - ) -> BOOL; - pub fn ScrollDC( - hDC: HDC, - dx: c_int, - dy: c_int, - lprcScroll: *const RECT, - lprcClip: *const RECT, - hrgnUpdate: HRGN, - lprcUpdate: LPRECT, - ) -> BOOL; - pub fn ScrollWindowEx( - hWnd: HWND, - dx: c_int, - dy: c_int, - prcScroll: *const RECT, - prcClip: *const RECT, - hrgnUpdate: HRGN, - prcUpdate: LPRECT, - flags: UINT, - ) -> c_int; -} -pub const SW_SCROLLCHILDREN: UINT = 0x0001; -pub const SW_INVALIDATE: UINT = 0x0002; -pub const SW_ERASE: UINT = 0x0004; -pub const SW_SMOOTHSCROLL: UINT = 0x0010; -extern "system" { - pub fn SetScrollPos( - hWnd: HWND, - nBar: c_int, - nPos: c_int, - bRedraw: BOOL, - ) -> c_int; - pub fn GetScrollPos( - hWnd: HWND, - nBar: c_int, - ) -> c_int; - pub fn SetScrollRange( - hWnd: HWND, - nBar: c_int, - nMinPos: c_int, - nMaxPos: c_int, - bRedraw: BOOL, - ) -> BOOL; - pub fn GetScrollRange( - hWnd: HWND, - nBar: c_int, - lpMinPos: LPINT, - lpMaxPos: LPINT, - ) -> BOOL; - pub fn ShowScrollBar( - hWnd: HWND, - wBar: c_int, - bShow: BOOL, - ) -> BOOL; - pub fn EnableScrollBar( - hWnd: HWND, - wSBflags: UINT, - wArrows: UINT, - ) -> BOOL; -} -pub const ESB_ENABLE_BOTH: UINT = 0x0000; -pub const ESB_DISABLE_BOTH: UINT = 0x0003; -pub const ESB_DISABLE_LEFT: UINT = 0x0001; -pub const ESB_DISABLE_RIGHT: UINT = 0x0002; -pub const ESB_DISABLE_UP: UINT = 0x0001; -pub const ESB_DISABLE_DOWN: UINT = 0x0002; -pub const ESB_DISABLE_LTUP: UINT = ESB_DISABLE_LEFT; -pub const ESB_DISABLE_RTDN: UINT = ESB_DISABLE_RIGHT; -extern "system" { - pub fn SetPropA( - hWnd: HWND, - lpString: LPCSTR, - hData: HANDLE, - ) -> BOOL; - pub fn SetPropW( - hWnd: HWND, - lpString: LPCWSTR, - hData: HANDLE, - ) -> BOOL; - pub fn GetPropA( - hwnd: HWND, - lpString: LPCSTR, - ) -> HANDLE; - pub fn GetPropW( - hwnd: HWND, - lpString: LPCWSTR, - ) -> HANDLE; - pub fn RemovePropA( - hWnd: HWND, - lpStr: LPCSTR, - ) -> HANDLE; - pub fn RemovePropW( - hWnd: HWND, - lpStr: LPCWSTR, - ) -> HANDLE; - pub fn EnumPropsExA( - hWnd: HWND, - lpEnumFunc: PROPENUMPROCA, - lParam: LPARAM, - ) -> c_int; - pub fn EnumPropsExW( - hWnd: HWND, - lpEnumFunc: PROPENUMPROCW, - lParam: LPARAM, - ) -> c_int; - pub fn EnumPropsA( - hWnd: HWND, - lpEnumFunc: PROPENUMPROCA, - ) -> c_int; - pub fn EnumPropsW( - hWnd: HWND, - lpEnumFunc: PROPENUMPROCW, - ) -> c_int; - pub fn SetWindowTextA( - hWnd: HWND, - lpString: LPCSTR, - ) -> BOOL; - pub fn SetWindowTextW( - hWnd: HWND, - lpString: LPCWSTR, - ) -> BOOL; - pub fn GetWindowTextA( - hWnd: HWND, - lpString: LPSTR, - nMaxCount: c_int, - ) -> c_int; - pub fn GetWindowTextW( - hWnd: HWND, - lpString: LPWSTR, - nMaxCount: c_int, - ) -> c_int; - pub fn GetWindowTextLengthA( - hWnd: HWND, - ) -> c_int; - pub fn GetWindowTextLengthW( - hWnd: HWND, - ) -> c_int; - pub fn GetClientRect( - hWnd: HWND, - lpRect: LPRECT, - ) -> BOOL; - pub fn GetWindowRect( - hWnd: HWND, - lpRect: LPRECT, - ) -> BOOL; - pub fn AdjustWindowRect( - lpRect: LPRECT, - dwStyle: DWORD, - bMenu: BOOL, - ) -> BOOL; - pub fn AdjustWindowRectEx( - lpRect: LPRECT, - dwStyle: DWORD, - bMenu: BOOL, - dwExStyle: DWORD, - ) -> BOOL; - pub fn AdjustWindowRectExForDpi( - lpRect: LPRECT, - dwStyle: DWORD, - bMenu: BOOL, - dwExStyle: DWORD, - dpi: UINT, - ) -> BOOL; -} -pub const HELPINFO_WINDOW: UINT = 0x0001; -pub const HELPINFO_MENUITEM: UINT = 0x0002; -STRUCT!{struct HELPINFO { - cbSize: UINT, - iContextType: c_int, - iCtrlId: c_int, - hItemHandle: HANDLE, - dwContextId: DWORD, - MousePos: POINT, -}} -pub type LPHELPINFO = *mut HELPINFO; -extern "system" { - pub fn SetWindowContextHelpId( - _: HWND, - _: DWORD, - ) -> BOOL; - pub fn GetWindowContextHelpId( - _: HWND, - ) -> DWORD; - pub fn SetMenuContextHelpId( - _: HMENU, - _: DWORD, - ) -> BOOL; - pub fn GetMenuContextHelpId( - _: HMENU, - ) -> DWORD; -} -pub const MB_OK: UINT = 0x00000000; -pub const MB_OKCANCEL: UINT = 0x00000001; -pub const MB_ABORTRETRYIGNORE: UINT = 0x00000002; -pub const MB_YESNOCANCEL: UINT = 0x00000003; -pub const MB_YESNO: UINT = 0x00000004; -pub const MB_RETRYCANCEL: UINT = 0x00000005; -pub const MB_CANCELTRYCONTINUE: UINT = 0x00000006; -pub const MB_ICONHAND: UINT = 0x00000010; -pub const MB_ICONQUESTION: UINT = 0x00000020; -pub const MB_ICONEXCLAMATION: UINT = 0x00000030; -pub const MB_ICONASTERISK: UINT = 0x00000040; -pub const MB_USERICON: UINT = 0x00000080; -pub const MB_ICONWARNING: UINT = MB_ICONEXCLAMATION; -pub const MB_ICONERROR: UINT = MB_ICONHAND; -pub const MB_ICONINFORMATION: UINT = MB_ICONASTERISK; -pub const MB_ICONSTOP: UINT = MB_ICONHAND; -pub const MB_DEFBUTTON1: UINT = 0x00000000; -pub const MB_DEFBUTTON2: UINT = 0x00000100; -pub const MB_DEFBUTTON3: UINT = 0x00000200; -pub const MB_DEFBUTTON4: UINT = 0x00000300; -pub const MB_APPLMODAL: UINT = 0x00000000; -pub const MB_SYSTEMMODAL: UINT = 0x00001000; -pub const MB_TASKMODAL: UINT = 0x00002000; -pub const MB_HELP: UINT = 0x00004000; -pub const MB_NOFOCUS: UINT = 0x00008000; -pub const MB_SETFOREGROUND: UINT = 0x00010000; -pub const MB_DEFAULT_DESKTOP_ONLY: UINT = 0x00020000; -pub const MB_TOPMOST: UINT = 0x00040000; -pub const MB_RIGHT: UINT = 0x00080000; -pub const MB_RTLREADING: UINT = 0x00100000; -pub const MB_SERVICE_NOTIFICATION: UINT = 0x00200000; -pub const MB_SERVICE_NOTIFICATION_NT3X: UINT = 0x00040000; -pub const MB_TYPEMASK: UINT = 0x0000000F; -pub const MB_ICONMASK: UINT = 0x000000F0; -pub const MB_DEFMASK: UINT = 0x00000F00; -pub const MB_MODEMASK: UINT = 0x00003000; -pub const MB_MISCMASK: UINT = 0x0000C000; -extern "system" { - pub fn MessageBoxA( - hWnd: HWND, - lpText: LPCSTR, - lpCaption: LPCSTR, - uType: UINT, - ) -> c_int; - pub fn MessageBoxW( - hWnd: HWND, - lpText: LPCWSTR, - lpCaption: LPCWSTR, - uType: UINT, - ) -> c_int; - pub fn MessageBoxExA( - hWnd: HWND, - lpText: LPCSTR, - lpCaption: LPCSTR, - uType: UINT, - wLanguageId: WORD, - ) -> c_int; - pub fn MessageBoxExW( - hWnd: HWND, - lpText: LPCWSTR, - lpCaption: LPCWSTR, - uType: UINT, - wLanguageId: WORD, - ) -> c_int; -} -STRUCT!{struct MSGBOXPARAMSA { - cbSize: UINT, - hwndOwner: HWND, - hInstance: HINSTANCE, - lpszText: LPCSTR, - lpszCaption: LPCSTR, - dwStyle: DWORD, - lpszIcon: LPCSTR, - dwContextHelpId: DWORD_PTR, - lpfnMsgBoxCallback: MSGBOXCALLBACK, - dwLanguageId: DWORD, -}} -pub type PMSGBOXPARAMSA = *mut MSGBOXPARAMSA; -pub type LPMSGBOXPARAMSA = *mut MSGBOXPARAMSA; -STRUCT!{struct MSGBOXPARAMSW { - cbSize: UINT, - hwndOwner: HWND, - hInstance: HINSTANCE, - lpszText: LPCWSTR, - lpszCaption: LPCWSTR, - dwStyle: DWORD, - lpszIcon: LPCWSTR, - dwContextHelpId: DWORD_PTR, - lpfnMsgBoxCallback: MSGBOXCALLBACK, - dwLanguageId: DWORD, -}} -pub type PMSGBOXPARAMSW = *mut MSGBOXPARAMSW; -pub type LPMSGBOXPARAMSW = *mut MSGBOXPARAMSW; -extern "system" { - pub fn MessageBoxIndirectA( - lpmbp: *const MSGBOXPARAMSA, - ) -> c_int; - pub fn MessageBoxIndirectW( - lpmbp: *const MSGBOXPARAMSW, - ) -> c_int; - pub fn MessageBeep( - uType: UINT, - ) -> BOOL; - pub fn ShowCursor( - bShow: BOOL, - ) -> c_int; - pub fn SetCursorPos( - X: c_int, - Y: c_int, - ) -> BOOL; - pub fn SetPhysicalCursorPos( - X: c_int, - Y: c_int, - ) -> BOOL; - pub fn SetCursor( - hCursor: HCURSOR, - ) -> HCURSOR; - pub fn GetCursorPos( - lpPoint: LPPOINT, - ) -> BOOL; - pub fn GetPhysicalCursorPos( - lpPoint: LPPOINT, - ) -> BOOL; - pub fn GetClipCursor( - lpRect: LPRECT, - ) -> BOOL; - pub fn GetCursor() -> HCURSOR; - pub fn CreateCaret( - hWnd: HWND, - hBitmap: HBITMAP, - nWidth: c_int, - nHeight: c_int, - ) -> BOOL; - pub fn GetCaretBlinkTime() -> UINT; - pub fn SetCaretBlinkTime( - uMSeconds: UINT, - ) -> BOOL; - pub fn DestroyCaret() -> BOOL; - pub fn HideCaret( - hWnd: HWND, - ) -> BOOL; - pub fn ShowCaret( - hWnd: HWND, - ) -> BOOL; - pub fn SetCaretPos( - X: c_int, - Y: c_int, - ) -> BOOL; - pub fn GetCaretPos( - lpPoint: LPPOINT, - ) -> BOOL; - pub fn ClientToScreen( - hWnd: HWND, - lpPoint: LPPOINT, - ) -> BOOL; - pub fn ScreenToClient( - hWnd: HWND, - lpPoint: LPPOINT, - ) -> BOOL; - pub fn LogicalToPhysicalPoint( - hWnd: HWND, - lpPoint: LPPOINT, - ) -> BOOL; - pub fn PhysicalToLogicalPoint( - hWnd: HWND, - lpPoint: LPPOINT, - ) -> BOOL; - pub fn LogicalToPhysicalPointForPerMonitorDPI( - hWnd: HWND, - lpPoint: LPPOINT, - ) -> BOOL; - pub fn PhysicalToLogicalPointForPerMonitorDPI( - hWnd: HWND, - lpPoint: LPPOINT, - ) -> BOOL; - pub fn MapWindowPoints( - hWndFrom: HWND, - hWndTo: HWND, - lpPoints: LPPOINT, - cPoints: UINT, - ) -> c_int; - pub fn WindowFromPoint( - Point: POINT, - ) -> HWND; - pub fn WindowFromPhysicalPoint( - Point: POINT, - ) -> HWND; - pub fn ChildWindowFromPoint( - hWndParent: HWND, - point: POINT, - ) -> HWND; - pub fn ClipCursor( - lpRect: *const RECT, - ) -> BOOL; -} -pub const CWP_ALL: UINT = 0x0000; -pub const CWP_SKIPINVISIBLE: UINT = 0x0001; -pub const CWP_SKIPDISABLED: UINT = 0x0002; -pub const CWP_SKIPTRANSPARENT: UINT = 0x0004; -extern "system" { - pub fn ChildWindowFromPointEx( - hwnd: HWND, - pt: POINT, - flags: UINT, - ) -> HWND; -} -pub const CTLCOLOR_MSGBOX: c_int = 0; -pub const CTLCOLOR_EDIT: c_int = 1; -pub const CTLCOLOR_LISTBOX: c_int = 2; -pub const CTLCOLOR_BTN: c_int = 3; -pub const CTLCOLOR_DLG: c_int = 4; -pub const CTLCOLOR_SCROLLBAR: c_int = 5; -pub const CTLCOLOR_STATIC: c_int = 6; -pub const CTLCOLOR_MAX: c_int = 7; -pub const COLOR_SCROLLBAR: c_int = 0; -pub const COLOR_BACKGROUND: c_int = 1; -pub const COLOR_ACTIVECAPTION: c_int = 2; -pub const COLOR_INACTIVECAPTION: c_int = 3; -pub const COLOR_MENU: c_int = 4; -pub const COLOR_WINDOW: c_int = 5; -pub const COLOR_WINDOWFRAME: c_int = 6; -pub const COLOR_MENUTEXT: c_int = 7; -pub const COLOR_WINDOWTEXT: c_int = 8; -pub const COLOR_CAPTIONTEXT: c_int = 9; -pub const COLOR_ACTIVEBORDER: c_int = 10; -pub const COLOR_INACTIVEBORDER: c_int = 11; -pub const COLOR_APPWORKSPACE: c_int = 12; -pub const COLOR_HIGHLIGHT: c_int = 13; -pub const COLOR_HIGHLIGHTTEXT: c_int = 14; -pub const COLOR_BTNFACE: c_int = 15; -pub const COLOR_BTNSHADOW: c_int = 16; -pub const COLOR_GRAYTEXT: c_int = 17; -pub const COLOR_BTNTEXT: c_int = 18; -pub const COLOR_INACTIVECAPTIONTEXT: c_int = 19; -pub const COLOR_BTNHIGHLIGHT: c_int = 20; -pub const COLOR_3DDKSHADOW: c_int = 21; -pub const COLOR_3DLIGHT: c_int = 22; -pub const COLOR_INFOTEXT: c_int = 23; -pub const COLOR_INFOBK: c_int = 24; -pub const COLOR_HOTLIGHT: c_int = 26; -pub const COLOR_GRADIENTACTIVECAPTION: c_int = 27; -pub const COLOR_GRADIENTINACTIVECAPTION: c_int = 28; -pub const COLOR_MENUHILIGHT: c_int = 29; -pub const COLOR_MENUBAR: c_int = 30; -pub const COLOR_DESKTOP: c_int = COLOR_BACKGROUND; -pub const COLOR_3DFACE: c_int = COLOR_BTNFACE; -pub const COLOR_3DSHADOW: c_int = COLOR_BTNSHADOW; -pub const COLOR_3DHIGHLIGHT: c_int = COLOR_BTNHIGHLIGHT; -pub const COLOR_3DHILIGHT: c_int = COLOR_BTNHIGHLIGHT; -pub const COLOR_BTNHILIGHT: c_int = COLOR_BTNHIGHLIGHT; -extern "system" { - pub fn GetSysColor( - nIndex: c_int, - ) -> DWORD; - pub fn GetSysColorBrush( - nIndex: c_int, - ) -> HBRUSH; - pub fn SetSysColors( - cElements: c_int, - lpaElements: *const INT, - lpaRgbValues: *const COLORREF, - ) -> BOOL; - pub fn DrawFocusRect( - hDC: HDC, - lprc: *const RECT, - ) -> BOOL; - pub fn FillRect( - hDC: HDC, - lprc: *const RECT, - hbr: HBRUSH, - ) -> c_int; - pub fn FrameRect( - hDC: HDC, - lprc: *const RECT, - hbr: HBRUSH, - ) -> c_int; - pub fn InvertRect( - hDC: HDC, - lprc: *const RECT, - ) -> BOOL; - pub fn SetRect( - lprc: LPRECT, - xLeft: c_int, - yTop: c_int, - xRight: c_int, - yBottom: c_int, - ) -> BOOL; - pub fn SetRectEmpty( - lprc: LPRECT, - ) -> BOOL; - pub fn CopyRect( - lprcDst: LPRECT, - lprcSrc: *const RECT, - ) -> BOOL; - pub fn InflateRect( - lprc: LPRECT, - dx: c_int, - dy: c_int, - ) -> BOOL; - pub fn IntersectRect( - lprcDst: LPRECT, - lprcSrc1: *const RECT, - lprcSrc2: *const RECT, - ) -> BOOL; - pub fn UnionRect( - lprcDst: LPRECT, - lprcSrc1: *const RECT, - lprcSrc2: *const RECT, - ) -> BOOL; - pub fn SubtractRect( - lprcDst: LPRECT, - lprcSrc1: *const RECT, - lprcSrc2: *const RECT, - ) -> BOOL; - pub fn OffsetRect( - lprc: LPRECT, - dx: c_int, - dy: c_int, - ) -> BOOL; - pub fn IsRectEmpty( - lprc: *const RECT, - ) -> BOOL; - pub fn EqualRect( - lprc1: *const RECT, - lprc2: *const RECT, - ) -> BOOL; - pub fn PtInRect( - lprc: *const RECT, - pt: POINT, - ) -> BOOL; - pub fn GetWindowWord( - hWnd: HWND, - nIndex: c_int, - ) -> WORD; - pub fn SetWindowWord( - hwnd: HWND, - nIndex: c_int, - wNewWord: WORD, - ) -> WORD; - pub fn GetWindowLongA( - hWnd: HWND, - nIndex: c_int, - ) -> LONG; - pub fn GetWindowLongW( - hWnd: HWND, - nIndex: c_int, - ) -> LONG; - pub fn SetWindowLongA( - hWnd: HWND, - nIndex: c_int, - dwNewLong: LONG, - ) -> LONG; - pub fn SetWindowLongW( - hWnd: HWND, - nIndex: c_int, - dwNewLong: LONG, - ) -> LONG; - #[cfg(target_pointer_width = "64")] - pub fn GetWindowLongPtrA( - hWnd: HWND, - nIndex: c_int, - ) -> LONG_PTR; - #[cfg(target_pointer_width = "64")] - pub fn GetWindowLongPtrW( - hWnd: HWND, - nIndex: c_int, - ) -> LONG_PTR; - #[cfg(target_pointer_width = "64")] - pub fn SetWindowLongPtrA( - hWnd: HWND, - nIndex: c_int, - dwNewLong: LONG_PTR, - ) -> LONG_PTR; - #[cfg(target_pointer_width = "64")] - pub fn SetWindowLongPtrW( - hWnd: HWND, - nIndex: c_int, - dwNewLong: LONG_PTR, - ) -> LONG_PTR; -} -#[cfg(target_arch = "x86")] -pub use self::GetWindowLongA as GetWindowLongPtrA; -#[cfg(target_arch = "x86")] -pub use self::GetWindowLongW as GetWindowLongPtrW; -#[cfg(target_arch = "x86")] -pub use self::SetWindowLongA as SetWindowLongPtrA; -#[cfg(target_arch = "x86")] -pub use self::SetWindowLongW as SetWindowLongPtrW; -extern "system" { - pub fn GetClassWord( - hWnd: HWND, - nIndex: c_int, - ) -> WORD; - pub fn SetClassWord( - hWnd: HWND, - nIndex: c_int, - wNewWord: WORD, - ) -> WORD; - pub fn GetClassLongA( - hWnd: HWND, - nIndex: c_int, - ) -> DWORD; - pub fn GetClassLongW( - hWnd: HWND, - nIndex: c_int, - ) -> DWORD; - pub fn SetClassLongA( - hWnd: HWND, - nIndex: c_int, - dwNewLong: LONG, - ) -> DWORD; - pub fn SetClassLongW( - hWnd: HWND, - nIndex: c_int, - dwNewLong: LONG, - ) -> DWORD; - #[cfg(target_pointer_width = "64")] - pub fn GetClassLongPtrA( - hWnd: HWND, - nIndex: c_int, - ) -> ULONG_PTR; - #[cfg(target_pointer_width = "64")] - pub fn GetClassLongPtrW( - hWnd: HWND, - nIndex: c_int, - ) -> ULONG_PTR; - #[cfg(target_pointer_width = "64")] - pub fn SetClassLongPtrA( - hWnd: HWND, - nIndex: c_int, - dwNewLong: LONG_PTR, - ) -> ULONG_PTR; - #[cfg(target_pointer_width = "64")] - pub fn SetClassLongPtrW( - hWnd: HWND, - nIndex: c_int, - dwNewLong: LONG_PTR, - ) -> ULONG_PTR; -} -#[cfg(target_arch = "x86")] -pub use self::GetClassLongA as GetClassLongPtrA; -#[cfg(target_arch = "x86")] -pub use self::GetClassLongW as GetClassLongPtrW; -#[cfg(target_arch = "x86")] -pub use self::SetClassLongA as SetClassLongPtrA; -#[cfg(target_arch = "x86")] -pub use self::SetClassLongW as SetClassLongPtrW; -extern "system" { - pub fn GetProcessDefaultLayout( - pdwDefaultLayout: *mut DWORD, - ) -> BOOL; - pub fn SetProcessDefaultLayout( - dwDefaultLayout: DWORD, - ) -> BOOL; - pub fn GetDesktopWindow() -> HWND; - pub fn GetParent( - hWnd: HWND, - ) -> HWND; - pub fn SetParent( - hWndChild: HWND, - hWndNewParent: HWND, - ) -> HWND; - pub fn EnumChildWindows( - hWndParent: HWND, - lpEnumFunc: WNDENUMPROC, - lParam: LPARAM, - ) -> BOOL; - pub fn FindWindowA( - lpClassName: LPCSTR, - lpWindowName: LPCSTR, - ) -> HWND; - pub fn FindWindowW( - lpClassName: LPCWSTR, - lpWindowName: LPCWSTR, - ) -> HWND; - pub fn FindWindowExA( - hWndParent: HWND, - hWndChildAfter: HWND, - lpszClass: LPCSTR, - lpszWindow: LPCSTR, - ) -> HWND; - pub fn FindWindowExW( - hWndParent: HWND, - hWndChildAfter: HWND, - lpszClass: LPCWSTR, - lpszWindow: LPCWSTR, - ) -> HWND; - pub fn GetShellWindow() -> HWND; - pub fn RegisterShellHookWindow( - hwnd: HWND, - ) -> BOOL; - pub fn DeregisterShellHookWindow( - hwnd: HWND, - ) -> BOOL; - pub fn EnumWindows( - lpEnumFunc: WNDENUMPROC, - lParam: LPARAM, - ) -> BOOL; - pub fn EnumThreadWindows( - dwThreadId: DWORD, - lpfn: WNDENUMPROC, - lParam: LPARAM, - ) -> BOOL; -} -// EnumTaskWindows -extern "system" { - pub fn GetClassNameA( - hWnd: HWND, - lpClassName: LPCSTR, - nMaxCount: c_int, - ) -> c_int; - pub fn GetClassNameW( - hWnd: HWND, - lpClassName: LPCWSTR, - nMaxCount: c_int, - ) -> c_int; - pub fn GetTopWindow( - hWnd: HWND, - ) -> HWND; -} -// GetNextWindow -// GetSysModalWindow -// SetSysModalWindow -extern "system" { - pub fn GetWindowThreadProcessId( - hWnd: HWND, - lpdwProcessId: LPDWORD, - ) -> DWORD; - pub fn IsGUIThread( - bConvert: BOOL, - ) -> BOOL; - pub fn GetLastActivePopup( - hWnd: HWND, - ) -> HWND; -} -pub const GW_HWNDFIRST: UINT = 0; -pub const GW_HWNDLAST: UINT = 1; -pub const GW_HWNDNEXT: UINT = 2; -pub const GW_HWNDPREV: UINT = 3; -pub const GW_OWNER: UINT = 4; -pub const GW_CHILD: UINT = 5; -pub const GW_ENABLEDPOPUP: UINT = 6; -pub const GW_MAX: UINT = 6; -extern "system" { - pub fn GetWindow( - hWnd: HWND, - uCmd: UINT, - ) -> HWND; - pub fn SetWindowsHookA( - nFilterType: c_int, - pfnFilterProc: HOOKPROC, - ) -> HHOOK; - pub fn SetWindowsHookW( - nFilterType: c_int, - pfnFilterProc: HOOKPROC, - ) -> HHOOK; - pub fn UnhookWindowsHook( - nFilterType: c_int, - pfnFilterProc: HOOKPROC, - ) -> BOOL; - pub fn SetWindowsHookExA( - idHook: c_int, - lpfn: HOOKPROC, - hmod: HINSTANCE, - dwThreadId: DWORD, - ) -> HHOOK; - pub fn SetWindowsHookExW( - idHook: c_int, - lpfn: HOOKPROC, - hmod: HINSTANCE, - dwThreadId: DWORD, - ) -> HHOOK; - pub fn UnhookWindowsHookEx( - hhk: HHOOK, - ) -> BOOL; - pub fn CallNextHookEx( - hhk: HHOOK, - nCode: c_int, - wParam: WPARAM, - lParam: LPARAM, - ) -> LRESULT; -} -// DefHookProc -pub const MF_INSERT: UINT = 0x00000000; -pub const MF_CHANGE: UINT = 0x00000080; -pub const MF_APPEND: UINT = 0x00000100; -pub const MF_DELETE: UINT = 0x00000200; -pub const MF_REMOVE: UINT = 0x00001000; -pub const MF_BYCOMMAND: UINT = 0x00000000; -pub const MF_BYPOSITION: UINT = 0x00000400; -pub const MF_SEPARATOR: UINT = 0x00000800; -pub const MF_ENABLED: UINT = 0x00000000; -pub const MF_GRAYED: UINT = 0x00000001; -pub const MF_DISABLED: UINT = 0x00000002; -pub const MF_UNCHECKED: UINT = 0x00000000; -pub const MF_CHECKED: UINT = 0x00000008; -pub const MF_USECHECKBITMAPS: UINT = 0x00000200; -pub const MF_STRING: UINT = 0x00000000; -pub const MF_BITMAP: UINT = 0x00000004; -pub const MF_OWNERDRAW: UINT = 0x00000100; -pub const MF_POPUP: UINT = 0x00000010; -pub const MF_MENUBARBREAK: UINT = 0x00000020; -pub const MF_MENUBREAK: UINT = 0x00000040; -pub const MF_UNHILITE: UINT = 0x00000000; -pub const MF_HILITE: UINT = 0x00000080; -pub const MF_DEFAULT: UINT = 0x00001000; -pub const MF_SYSMENU: UINT = 0x00002000; -pub const MF_HELP: UINT = 0x00004000; -pub const MF_RIGHTJUSTIFY: UINT = 0x00004000; -pub const MF_MOUSESELECT: UINT = 0x00008000; -pub const MF_END: UINT = 0x00000080; -pub const MFT_STRING: UINT = MF_STRING; -pub const MFT_BITMAP: UINT = MF_BITMAP; -pub const MFT_MENUBARBREAK: UINT = MF_MENUBARBREAK; -pub const MFT_MENUBREAK: UINT = MF_MENUBREAK; -pub const MFT_OWNERDRAW: UINT = MF_OWNERDRAW; -pub const MFT_RADIOCHECK: UINT = 0x00000200; -pub const MFT_SEPARATOR: UINT = MF_SEPARATOR; -pub const MFT_RIGHTORDER: UINT = 0x00002000; -pub const MFT_RIGHTJUSTIFY: UINT = MF_RIGHTJUSTIFY; -pub const MFS_GRAYED: UINT = 0x00000003; -pub const MFS_DISABLED: UINT = MFS_GRAYED; -pub const MFS_CHECKED: UINT = MF_CHECKED; -pub const MFS_HILITE: UINT = MF_HILITE; -pub const MFS_ENABLED: UINT = MF_ENABLED; -pub const MFS_UNCHECKED: UINT = MF_UNCHECKED; -pub const MFS_UNHILITE: UINT = MF_UNHILITE; -pub const MFS_DEFAULT: UINT = MF_DEFAULT; -extern "system" { - pub fn CheckMenuRadioItem( - hMenu: HMENU, - first: UINT, - last: UINT, - check: UINT, - flags: UINT, - ) -> BOOL; -} -/********* -* CUTOFF * -*********/ -pub const IDOK: c_int = 1; -pub const IDCANCEL: c_int = 2; -pub const IDABORT: c_int = 3; -pub const IDRETRY: c_int = 4; -pub const IDIGNORE: c_int = 5; -pub const IDYES: c_int = 6; -pub const IDNO: c_int = 7; -pub const IDCLOSE: c_int = 8; -pub const IDHELP: c_int = 9; -pub const IDTRYAGAIN: c_int = 10; -pub const IDCONTINUE: c_int = 11; -pub const IDTIMEOUT: c_int = 32000; -// Edit Control Styles -// -pub const ES_LEFT: DWORD = 0x0000; -pub const ES_CENTER: DWORD = 0x0001; -pub const ES_RIGHT: DWORD = 0x0002; -pub const ES_MULTILINE: DWORD = 0x0004; -pub const ES_UPPERCASE: DWORD = 0x0008; -pub const ES_LOWERCASE: DWORD = 0x0010; -pub const ES_PASSWORD: DWORD = 0x0020; -pub const ES_AUTOVSCROLL: DWORD = 0x0040; -pub const ES_AUTOHSCROLL: DWORD = 0x0080; -pub const ES_NOHIDESEL: DWORD = 0x0100; -pub const ES_OEMCONVERT: DWORD = 0x0400; -pub const ES_READONLY: DWORD = 0x0800; -pub const ES_WANTRETURN: DWORD = 0x1000; -pub const ES_NUMBER: DWORD = 0x2000; -// Edit Control Notification Codes -// -pub const EN_SETFOCUS: WORD = 0x0100; -pub const EN_KILLFOCUS: WORD = 0x0200; -pub const EN_CHANGE: WORD = 0x0300; -pub const EN_UPDATE: WORD = 0x0400; -pub const EN_ERRSPACE: WORD = 0x0500; -pub const EN_MAXTEXT: WORD = 0x0501; -pub const EN_HSCROLL: WORD = 0x0601; -pub const EN_VSCROLL: WORD = 0x0602; -pub const EN_ALIGN_LTR_EC: WORD = 0x0700; -pub const EN_ALIGN_RTL_EC: WORD = 0x0701; -// Edit control EM_SETMARGIN parameters -pub const EC_LEFTMARGIN: WORD = 0x0001; -pub const EC_RIGHTMARGIN: WORD = 0x0002; -pub const EC_USEFONTINFO: WORD = 0xffff; -// wParam of EM_GET/SETIMESTATUS -pub const EMSIS_COMPOSITIONSTRING: WORD = 0x0001; -// lParam for EMSIS_COMPOSITIONSTRING -pub const EIMES_GETCOMPSTRATONCE: WORD = 0x0001; -pub const EIMES_CANCELCOMPSTRINFOCUS: WORD = 0x0002; -pub const EIMES_COMPLETECOMPSTRKILLFOCUS: WORD = 0x0004; -// Edit Control Messages -// -pub const EM_GETSEL: WORD = 0x00B0; -pub const EM_SETSEL: WORD = 0x00B1; -pub const EM_GETRECT: WORD = 0x00B2; -pub const EM_SETRECT: WORD = 0x00B3; -pub const EM_SETRECTNP: WORD = 0x00B4; -pub const EM_SCROLL: WORD = 0x00B5; -pub const EM_LINESCROLL: WORD = 0x00B6; -pub const EM_SCROLLCARET: WORD = 0x00B7; -pub const EM_GETMODIFY: WORD = 0x00B8; -pub const EM_SETMODIFY: WORD = 0x00B9; -pub const EM_GETLINECOUNT: WORD = 0x00BA; -pub const EM_LINEINDEX: WORD = 0x00BB; -pub const EM_SETHANDLE: WORD = 0x00BC; -pub const EM_GETHANDLE: WORD = 0x00BD; -pub const EM_GETTHUMB: WORD = 0x00BE; -pub const EM_LINELENGTH: WORD = 0x00C1; -pub const EM_REPLACESEL: WORD = 0x00C2; -pub const EM_GETLINE: WORD = 0x00C4; -pub const EM_LIMITTEXT: WORD = 0x00C5; -pub const EM_CANUNDO: WORD = 0x00C6; -pub const EM_UNDO: WORD = 0x00C7; -pub const EM_FMTLINES: WORD = 0x00C8; -pub const EM_LINEFROMCHAR: WORD = 0x00C9; -pub const EM_SETTABSTOPS: WORD = 0x00CB; -pub const EM_SETPASSWORDCHAR: WORD = 0x00CC; -pub const EM_EMPTYUNDOBUFFER: WORD = 0x00CD; -pub const EM_GETFIRSTVISIBLELINE: WORD = 0x00CE; -pub const EM_SETREADONLY: WORD = 0x00CF; -pub const EM_SETWORDBREAKPROC: WORD = 0x00D0; -pub const EM_GETWORDBREAKPROC: WORD = 0x00D1; -pub const EM_GETPASSWORDCHAR: WORD = 0x00D2; -pub const EM_SETMARGINS: WORD = 0x00D3; -pub const EM_GETMARGINS: WORD = 0x00D4; -pub const EM_SETLIMITTEXT: WORD = EM_LIMITTEXT; -pub const EM_GETLIMITTEXT: WORD = 0x00D5; -pub const EM_POSFROMCHAR: WORD = 0x00D6; -pub const EM_CHARFROMPOS: WORD = 0x00D7; -pub const EM_SETIMESTATUS: WORD = 0x00D8; -pub const EM_GETIMESTATUS: WORD = 0x00D9; -// EDITWORDBREAKPROC code values -// -pub const WB_LEFT: WORD = 0; -pub const WB_RIGHT: WORD = 1; -pub const WB_ISDELIMITER: WORD = 2; -pub const BN_CLICKED: WORD = 0; -pub const BN_PAINT: WORD = 1; -pub const BN_HILITE: WORD = 2; -pub const BN_UNHILITE: WORD = 3; -pub const BN_DISABLE: WORD = 4; -pub const BN_DOUBLECLICKED: WORD = 5; -pub const BN_PUSHED: WORD = BN_HILITE; -pub const BN_UNPUSHED: WORD = BN_UNHILITE; -pub const BN_DBLCLK: WORD = BN_DOUBLECLICKED; -pub const BN_SETFOCUS: WORD = 6; -pub const BN_KILLFOCUS: WORD = 7; -pub const BS_PUSHBUTTON: DWORD = 0x00000000; -pub const BS_DEFPUSHBUTTON: DWORD = 0x00000001; -pub const BS_CHECKBOX: DWORD = 0x00000002; -pub const BS_AUTOCHECKBOX: DWORD = 0x00000003; -pub const BS_RADIOBUTTON: DWORD = 0x00000004; -pub const BS_3STATE: DWORD = 0x00000005; -pub const BS_AUTO3STATE: DWORD = 0x00000006; -pub const BS_GROUPBOX: DWORD = 0x00000007; -pub const BS_USERBUTTON: DWORD = 0x00000008; -pub const BS_AUTORADIOBUTTON: DWORD = 0x00000009; -pub const BS_PUSHBOX: DWORD = 0x0000000A; -pub const BS_OWNERDRAW: DWORD = 0x0000000B; -pub const BS_TYPEMASK: DWORD = 0x0000000F; -pub const BS_LEFTTEXT: DWORD = 0x00000020; -pub const BS_TEXT: DWORD = 0x00000000; -pub const BS_ICON: DWORD = 0x00000040; -pub const BS_BITMAP: DWORD = 0x00000080; -pub const BS_LEFT: DWORD = 0x00000100; -pub const BS_RIGHT: DWORD = 0x00000200; -pub const BS_CENTER: DWORD = 0x00000300; -pub const BS_TOP: DWORD = 0x00000400; -pub const BS_BOTTOM: DWORD = 0x00000800; -pub const BS_VCENTER: DWORD = 0x00000C00; -pub const BS_PUSHLIKE: DWORD = 0x00001000; -pub const BS_MULTILINE: DWORD = 0x00002000; -pub const BS_NOTIFY: DWORD = 0x00004000; -pub const BS_FLAT: DWORD = 0x00008000; -pub const BS_RIGHTBUTTON: DWORD = BS_LEFTTEXT; -pub const BM_GETCHECK: UINT = 0x00F0; -pub const BM_SETCHECK: UINT = 0x00F1; -pub const BM_GETSTATE: UINT = 0x00F2; -pub const BM_SETSTATE: UINT = 0x00F3; -pub const BM_SETSTYLE: UINT = 0x00F4; -pub const BM_CLICK: UINT = 0x00F5; -pub const BM_GETIMAGE: UINT = 0x00F6; -pub const BM_SETIMAGE: UINT = 0x00F7; -pub const BM_SETDONTCLICK: UINT = 0x00F8; -pub const BST_UNCHECKED: WPARAM = 0x0000; -pub const BST_CHECKED: WPARAM = 0x0001; -pub const BST_INDETERMINATE: WPARAM = 0x0002; -pub const BST_PUSHED: LRESULT = 0x0004; -pub const BST_FOCUS: LRESULT = 0x0008; -pub const SS_LEFT: DWORD = 0x00000000; -pub const SS_CENTER: DWORD = 0x00000001; -pub const SS_RIGHT: DWORD = 0x00000002; -pub const SS_ICON: DWORD = 0x00000003; -pub const SS_BLACKRECT: DWORD = 0x00000004; -pub const SS_GRAYRECT: DWORD = 0x00000005; -pub const SS_WHITERECT: DWORD = 0x00000006; -pub const SS_BLACKFRAME: DWORD = 0x00000007; -pub const SS_GRAYFRAME: DWORD = 0x00000008; -pub const SS_WHITEFRAME: DWORD = 0x00000009; -pub const SS_USERITEM: DWORD = 0x0000000A; -pub const SS_SIMPLE: DWORD = 0x0000000B; -pub const SS_LEFTNOWORDWRAP: DWORD = 0x0000000C; -pub const SS_OWNERDRAW: DWORD = 0x0000000D; -pub const SS_BITMAP: DWORD = 0x0000000E; -pub const SS_ENHMETAFILE: DWORD = 0x0000000F; -pub const SS_ETCHEDHORZ: DWORD = 0x00000010; -pub const SS_ETCHEDVERT: DWORD = 0x00000011; -pub const SS_ETCHEDFRAME: DWORD = 0x00000012; -pub const SS_TYPEMASK: DWORD = 0x0000001F; -pub const SS_REALSIZECONTROL: DWORD = 0x00000040; -pub const SS_NOPREFIX: DWORD = 0x00000080; -pub const SS_NOTIFY: DWORD = 0x00000100; -pub const SS_CENTERIMAGE: DWORD = 0x00000200; -pub const SS_RIGHTJUST: DWORD = 0x00000400; -pub const SS_REALSIZEIMAGE: DWORD = 0x00000800; -pub const SS_SUNKEN: DWORD = 0x00001000; -pub const SS_EDITCONTROL: DWORD = 0x00002000; -pub const SS_ENDELLIPSIS: DWORD = 0x00004000; -pub const SS_PATHELLIPSIS: DWORD = 0x00008000; -pub const SS_WORDELLIPSIS: DWORD = 0x0000C000; -pub const SS_ELLIPSISMASK: DWORD = 0x0000C000; -pub const STM_SETICON: UINT = 0x0170; -pub const STM_GETICON: UINT = 0x0171; -pub const STM_SETIMAGE: UINT = 0x0172; -pub const STM_GETIMAGE: UINT = 0x0173; -pub const STN_CLICKED: WORD = 0; -pub const STN_DBLCLK: WORD = 1; -pub const STN_ENABLE: WORD = 2; -pub const STN_DISABLE: WORD = 3; -pub const STM_MSGMAX: WORD = 0x0174; -extern "system" { - pub fn IsDialogMessageA( - hDlg: HWND, - lpMsg: LPMSG, - ) -> BOOL; - pub fn IsDialogMessageW( - hDlg: HWND, - lpMsg: LPMSG, - ) -> BOOL; - pub fn MapDialogRect( - hDlg: HWND, - lpRect: LPRECT, - ) -> BOOL; - pub fn DlgDirListA( - hDlg: HWND, - lpPathSpec: LPSTR, - nIDListBox: c_int, - nIDStaticPath: c_int, - uFileType: UINT, - ) -> c_int; - pub fn DlgDirListW( - hDlg: HWND, - lpPathSpec: LPWSTR, - nIDListBox: c_int, - nIDStaticPath: c_int, - uFileType: UINT, - ) -> c_int; - pub fn DlgDirSelectExA( - hwndDlg: HWND, - lpString: LPSTR, - chCount: c_int, - idListBox: c_int, - ) -> BOOL; - pub fn DlgDirSelectExW( - hwndDlg: HWND, - lpString: LPWSTR, - chCount: c_int, - idListBox: c_int, - ) -> BOOL; - pub fn DlgDirListComboBoxA( - hDlg: HWND, - lpPathSpec: LPSTR, - nIDComboBox: c_int, - nIDStaticPath: c_int, - uFiletype: UINT, - ) -> c_int; - pub fn DlgDirListComboBoxW( - hDlg: HWND, - lpPathSpec: LPWSTR, - nIDComboBox: c_int, - nIDStaticPath: c_int, - uFiletype: UINT, - ) -> c_int; - pub fn DlgDirSelectComboBoxExA( - hwndDlg: HWND, - lpString: LPSTR, - cchOut: c_int, - idComboBox: c_int, - ) -> BOOL; - pub fn DlgDirSelectComboBoxExW( - hwndDlg: HWND, - lpString: LPWSTR, - cchOut: c_int, - idComboBox: c_int, - ) -> BOOL; -} -pub const DS_ABSALIGN: DWORD = 0x01; -pub const DS_SYSMODAL: DWORD = 0x02; -pub const DS_LOCALEDIT: DWORD = 0x20; -pub const DS_SETFONT: DWORD = 0x40; -pub const DS_MODALFRAME: DWORD = 0x80; -pub const DS_NOIDLEMSG: DWORD = 0x100; -pub const DS_SETFOREGROUND: DWORD = 0x200; -pub const DS_3DLOOK: DWORD = 0x0004; -pub const DS_FIXEDSYS: DWORD = 0x0008; -pub const DS_NOFAILCREATE: DWORD = 0x0010; -pub const DS_CONTROL: DWORD = 0x0400; -pub const DS_CENTER: DWORD = 0x0800; -pub const DS_CENTERMOUSE: DWORD = 0x1000; -pub const DS_CONTEXTHELP: DWORD = 0x2000; -pub const DS_SHELLFONT: DWORD = DS_SETFONT | DS_FIXEDSYS; -pub const DS_USEPIXELS: DWORD = 0x8000; -pub const DM_GETDEFID: UINT = WM_USER + 0; -pub const DM_SETDEFID: UINT = WM_USER + 1; -pub const DM_REPOSITION: UINT = WM_USER + 2; -pub const DC_HASDEFID: WORD = 0x534B; -pub const DLGC_WANTARROWS: LRESULT = 0x0001; -pub const DLGC_WANTTAB: LRESULT = 0x0002; -pub const DLGC_WANTALLKEYS: LRESULT = 0x0004; -pub const DLGC_WANTMESSAGE: LRESULT = 0x0004; -pub const DLGC_HASSETSEL: LRESULT = 0x0008; -pub const DLGC_DEFPUSHBUTTON: LRESULT = 0x0010; -pub const DLGC_UNDEFPUSHBUTTON: LRESULT = 0x0020; -pub const DLGC_RADIOBUTTON: LRESULT = 0x0040; -pub const DLGC_WANTCHARS: LRESULT = 0x0080; -pub const DLGC_STATIC: LRESULT = 0x0100; -pub const DLGC_BUTTON: LRESULT = 0x2000; -pub const LB_OKAY: LRESULT = 0; -pub const LB_ERR: LRESULT = -1; -pub const LB_ERRSPACE: LRESULT = -2; -pub const LBN_ERRSPACE: WORD = -2i16 as u16; -pub const LBN_SELCHANGE: WORD = 1; -pub const LBN_DBLCLK: WORD = 2; -pub const LBN_SELCANCEL: WORD = 3; -pub const LBN_SETFOCUS: WORD = 4; -pub const LBN_KILLFOCUS: WORD = 5; -pub const LB_ADDSTRING: UINT = 0x0180; -pub const LB_INSERTSTRING: UINT = 0x0181; -pub const LB_DELETESTRING: UINT = 0x0182; -pub const LB_SELITEMRANGEEX: UINT = 0x0183; -pub const LB_RESETCONTENT: UINT = 0x0184; -pub const LB_SETSEL: UINT = 0x0185; -pub const LB_SETCURSEL: UINT = 0x0186; -pub const LB_GETSEL: UINT = 0x0187; -pub const LB_GETCURSEL: UINT = 0x0188; -pub const LB_GETTEXT: UINT = 0x0189; -pub const LB_GETTEXTLEN: UINT = 0x018A; -pub const LB_GETCOUNT: UINT = 0x018B; -pub const LB_SELECTSTRING: UINT = 0x018C; -pub const LB_DIR: UINT = 0x018D; -pub const LB_GETTOPINDEX: UINT = 0x018E; -pub const LB_FINDSTRING: UINT = 0x018F; -pub const LB_GETSELCOUNT: UINT = 0x0190; -pub const LB_GETSELITEMS: UINT = 0x0191; -pub const LB_SETTABSTOPS: UINT = 0x0192; -pub const LB_GETHORIZONTALEXTENT: UINT = 0x0193; -pub const LB_SETHORIZONTALEXTENT: UINT = 0x0194; -pub const LB_SETCOLUMNWIDTH: UINT = 0x0195; -pub const LB_ADDFILE: UINT = 0x0196; -pub const LB_SETTOPINDEX: UINT = 0x0197; -pub const LB_GETITEMRECT: UINT = 0x0198; -pub const LB_GETITEMDATA: UINT = 0x0199; -pub const LB_SETITEMDATA: UINT = 0x019A; -pub const LB_SELITEMRANGE: UINT = 0x019B; -pub const LB_SETANCHORINDEX: UINT = 0x019C; -pub const LB_GETANCHORINDEX: UINT = 0x019D; -pub const LB_SETCARETINDEX: UINT = 0x019E; -pub const LB_GETCARETINDEX: UINT = 0x019F; -pub const LB_SETITEMHEIGHT: UINT = 0x01A0; -pub const LB_GETITEMHEIGHT: UINT = 0x01A1; -pub const LB_FINDSTRINGEXACT: UINT = 0x01A2; -pub const LB_SETLOCALE: UINT = 0x01A5; -pub const LB_GETLOCALE: UINT = 0x01A6; -pub const LB_SETCOUNT: UINT = 0x01A7; -pub const LB_INITSTORAGE: UINT = 0x01A8; -pub const LB_ITEMFROMPOINT: UINT = 0x01A9; -pub const LB_MULTIPLEADDSTRING: UINT = 0x01B1; -pub const LB_GETLISTBOXINFO: UINT = 0x01B2; -pub const LB_MSGMAX: UINT = 0x01B3; -pub const LBS_NOTIFY: DWORD = 0x0001; -pub const LBS_SORT: DWORD = 0x0002; -pub const LBS_NOREDRAW: DWORD = 0x0004; -pub const LBS_MULTIPLESEL: DWORD = 0x0008; -pub const LBS_OWNERDRAWFIXED: DWORD = 0x0010; -pub const LBS_OWNERDRAWVARIABLE: DWORD = 0x0020; -pub const LBS_HASSTRINGS: DWORD = 0x0040; -pub const LBS_USETABSTOPS: DWORD = 0x0080; -pub const LBS_NOINTEGRALHEIGHT: DWORD = 0x0100; -pub const LBS_MULTICOLUMN: DWORD = 0x0200; -pub const LBS_WANTKEYBOARDINPUT: DWORD = 0x0400; -pub const LBS_EXTENDEDSEL: DWORD = 0x0800; -pub const LBS_DISABLENOSCROLL: DWORD = 0x1000; -pub const LBS_NODATA: DWORD = 0x2000; -pub const LBS_NOSEL: DWORD = 0x4000; -pub const LBS_COMBOBOX: DWORD = 0x8000; -pub const LBS_STANDARD: DWORD = LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER; -pub const CB_OKAY: LRESULT = 0; -pub const CB_ERR: LRESULT = -1; -pub const CB_ERRSPACE: LRESULT = -2; -pub const CBN_ERRSPACE: WORD = -1i16 as u16; -pub const CBN_SELCHANGE: WORD = 1; -pub const CBN_DBLCLK: WORD = 2; -pub const CBN_SETFOCUS: WORD = 3; -pub const CBN_KILLFOCUS: WORD = 4; -pub const CBN_EDITCHANGE: WORD = 5; -pub const CBN_EDITUPDATE: WORD = 6; -pub const CBN_DROPDOWN: WORD = 7; -pub const CBN_CLOSEUP: WORD = 8; -pub const CBN_SELENDOK: WORD = 9; -pub const CBN_SELENDCANCEL: WORD = 10; -pub const CBS_SIMPLE: DWORD = 0x0001; -pub const CBS_DROPDOWN: DWORD = 0x0002; -pub const CBS_DROPDOWNLIST: DWORD = 0x0003; -pub const CBS_OWNERDRAWFIXED: DWORD = 0x0010; -pub const CBS_OWNERDRAWVARIABLE: DWORD = 0x0020; -pub const CBS_AUTOHSCROLL: DWORD = 0x0040; -pub const CBS_OEMCONVERT: DWORD = 0x0080; -pub const CBS_SORT: DWORD = 0x0100; -pub const CBS_HASSTRINGS: DWORD = 0x0200; -pub const CBS_NOINTEGRALHEIGHT: DWORD = 0x0400; -pub const CBS_DISABLENOSCROLL: DWORD = 0x0800; -pub const CBS_UPPERCASE: DWORD = 0x2000; -pub const CBS_LOWERCASE: DWORD = 0x4000; -pub const CB_MULTIPLEADDSTRING: UINT = 0x0163; -pub const CB_GETCOMBOBOXINFO: UINT = 0x0164; -pub const CB_MSGMAX: UINT = 0x0165; -pub const SBS_HORZ: DWORD = 0x0000; -pub const SBS_VERT: DWORD = 0x0001; -pub const SBS_TOPALIGN: DWORD = 0x0002; -pub const SBS_LEFTALIGN: DWORD = 0x0002; -pub const SBS_BOTTOMALIGN: DWORD = 0x0004; -pub const SBS_RIGHTALIGN: DWORD = 0x0004; -pub const SBS_SIZEBOXTOPLEFTALIGN: DWORD = 0x0002; -pub const SBS_SIZEBOXBOTTOMRIGHTALIGN: DWORD = 0x0004; -pub const SBS_SIZEBOX: DWORD = 0x0008; -pub const SBS_SIZEGRIP: DWORD = 0x0010; -pub const SBM_SETPOS: UINT = 0x00E0; -pub const SBM_GETPOS: UINT = 0x00E1; -pub const SBM_SETRANGE: UINT = 0x00E2; -pub const SBM_SETRANGEREDRAW: UINT = 0x00E6; -pub const SBM_GETRANGE: UINT = 0x00E3; -pub const SBM_ENABLE_ARROWS: UINT = 0x00E4; -pub const SBM_SETSCROLLINFO: UINT = 0x00E9; -pub const SBM_GETSCROLLINFO: UINT = 0x00EA; -pub const SBM_GETSCROLLBARINFO: UINT = 0x00EB; -pub const SIF_RANGE: UINT = 0x0001; -pub const SIF_PAGE: UINT = 0x0002; -pub const SIF_POS: UINT = 0x0004; -pub const SIF_DISABLENOSCROLL: UINT = 0x0008; -pub const SIF_TRACKPOS: UINT = 0x0010; -pub const SIF_ALL: UINT = SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS; -STRUCT!{struct SCROLLINFO { - cbSize: UINT, - fMask: UINT, - nMin: c_int, - nMax: c_int, - nPage: UINT, - nPos: c_int, - nTrackPos: c_int, -}} -pub type LPSCROLLINFO = *mut SCROLLINFO; -pub type LPCSCROLLINFO = *const SCROLLINFO; -extern "system" { - pub fn SetScrollInfo( - hwnd: HWND, - nBar: c_int, - lpsi: *const SCROLLINFO, - redraw: BOOL, - ) -> c_int; - pub fn GetScrollInfo( - hwnd: HWND, - nBar: c_int, - lpsi: *mut SCROLLINFO, - ) -> BOOL; -} -pub const CCHILDREN_SCROLLBAR: usize = 5; -pub const CDS_UPDATEREGISTRY: DWORD = 0x00000001; -pub const CDS_TEST: DWORD = 0x00000002; -pub const CDS_FULLSCREEN: DWORD = 0x00000004; -pub const CDS_GLOBAL: DWORD = 0x00000008; -pub const CDS_SET_PRIMARY: DWORD = 0x00000010; -pub const CDS_VIDEOPARAMETERS: DWORD = 0x00000020; -pub const CDS_ENABLE_UNSAFE_MODES: DWORD = 0x00000100; -pub const CDS_DISABLE_UNSAFE_MODES: DWORD = 0x00000200; -pub const CDS_RESET: DWORD = 0x40000000; -pub const CDS_RESET_EX: DWORD = 0x20000000; -pub const CDS_NORESET: DWORD = 0x10000000; -pub const DISP_CHANGE_SUCCESSFUL: LONG = 0; -pub const DISP_CHANGE_RESTART: LONG = 1; -pub const DISP_CHANGE_FAILED: LONG = -1; -pub const DISP_CHANGE_BADMODE: LONG = -2; -pub const DISP_CHANGE_NOTUPDATED: LONG = -3; -pub const DISP_CHANGE_BADFLAGS: LONG = -4; -pub const DISP_CHANGE_BADPARAM: LONG = -5; -pub const DISP_CHANGE_BADDUALVIEW: LONG = -6; -extern "system" { - pub fn ChangeDisplaySettingsA( - lpDevMode: *mut DEVMODEA, - dwFlags: DWORD, - ) -> LONG; - pub fn ChangeDisplaySettingsW( - lpDevMode: *mut DEVMODEW, - dwFlags: DWORD, - ) -> LONG; - pub fn ChangeDisplaySettingsExA( - lpszDeviceName: LPCSTR, - lpDevMode: *mut DEVMODEA, - hwnd: HWND, - dwFlags: DWORD, - lParam: LPVOID, - ) -> LONG; - pub fn ChangeDisplaySettingsExW( - lpszDeviceName: LPCWSTR, - lpDevMode: *mut DEVMODEW, - hwnd: HWND, - dwFlags: DWORD, - lParam: LPVOID, - ) -> LONG; - pub fn EnumDisplaySettingsA( - lpszDeviceName: LPCSTR, - iModeNum: DWORD, - lpDevMode: *mut DEVMODEA, - ) -> BOOL; - pub fn EnumDisplaySettingsW( - lpszDeviceName: LPCWSTR, - iModeNum: DWORD, - lpDevMode: *mut DEVMODEW, - ) -> BOOL; - pub fn EnumDisplaySettingsExA( - lpszDeviceName: LPCSTR, - iModeNum: DWORD, - lpDevMode: *mut DEVMODEA, - dwFlags: DWORD, - ) -> BOOL; - pub fn EnumDisplaySettingsExW( - lpszDeviceName: LPCWSTR, - iModeNum: DWORD, - lpDevMode: *mut DEVMODEW, - dwFlags: DWORD, - ) -> BOOL; - pub fn EnumDisplayDevicesA( - lpDevice: LPCSTR, - iDevNum: DWORD, - lpDisplayDevice: PDISPLAY_DEVICEA, - dwFlags: DWORD, - ) -> BOOL; - pub fn EnumDisplayDevicesW( - lpDevice: LPCWSTR, - iDevNum: DWORD, - lpDisplayDevice: PDISPLAY_DEVICEW, - dwFlags: DWORD, - ) -> BOOL; -} -pub const EDD_GET_DEVICE_INTERFACE_NAME: DWORD = 0x00000001; -extern "system" { - pub fn SystemParametersInfoA( - uiAction: UINT, - uiParam: UINT, - pvParam: PVOID, - fWinIni: UINT, - ) -> BOOL; - pub fn SystemParametersInfoW( - uiAction: UINT, - uiParam: UINT, - pvParam: PVOID, - fWinIni: UINT, - ) -> BOOL; - pub fn SystemParametersInfoForDpi( - uiAction: UINT, - uiParam: UINT, - pvParam: PVOID, - fWinIni: UINT, - dpi: UINT, - ) -> BOOL; -} -pub const ENUM_CURRENT_SETTINGS: DWORD = 0xFFFFFFFF; -pub const ENUM_REGISTRY_SETTINGS: DWORD = 0xFFFFFFFE; -pub const MDITILE_VERTICAL: UINT = 0x0000; -pub const MDITILE_HORIZONTAL: UINT = 0x0001; -pub const MDITILE_SKIPDISABLED: UINT = 0x0002; -pub const MDITILE_ZORDER: UINT = 0x0004; -extern "system" { - pub fn DefFrameProcA( - hwnd: HWND, - hwndMDIClient: HWND, - uMsg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> LRESULT; - pub fn DefFrameProcW( - hwnd: HWND, - hwndMDIClient: HWND, - uMsg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> LRESULT; - pub fn DefMDIChildProcA( - hwnd: HWND, - uMsg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> LRESULT; - pub fn DefMDIChildProcW( - hwnd: HWND, - uMsg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> LRESULT; - pub fn ArrangeIconicWindows( - hWnd: HWND, - ) -> UINT; - pub fn CreateMDIWindowA( - lpClassName: LPCSTR, - lpWindowName: LPCSTR, - dwStyle: DWORD, - X: c_int, - Y: c_int, - nWidth: c_int, - nHeight: c_int, - hWndParent: HWND, - hInstance: HINSTANCE, - lParam: LPARAM, - ) -> HWND; - pub fn CreateMDIWindowW( - lpClassName: LPCWSTR, - lpWindowName: LPCWSTR, - dwStyle: DWORD, - X: c_int, - Y: c_int, - nWidth: c_int, - nHeight: c_int, - hWndParent: HWND, - hInstance: HINSTANCE, - lParam: LPARAM, - ) -> HWND; - pub fn CascadeWindows( - hwndParent: HWND, - wHow: UINT, - lpRect: *const RECT, - cKids: UINT, - lpKids: *const HWND, - ) -> WORD; -} -FN!{stdcall MSGBOXCALLBACK( - LPHELPINFO, -) -> ()} -FN!{stdcall WINEVENTPROC( - HWINEVENTHOOK, - DWORD, - HWND, - LONG, - LONG, - DWORD, - DWORD, -) -> ()} -STRUCT!{struct SCROLLBARINFO { - cbSize: DWORD, - rcScrollBar: RECT, - dxyLineButton: c_int, - xyThumbTop: c_int, - xyThumbBottom: c_int, - reserved: c_int, - rgstate: [DWORD; CCHILDREN_SCROLLBAR + 1], -}} -pub type PSCROLLBARINFO = *mut SCROLLBARINFO; -pub type LPSCROLLBARINFO = *mut SCROLLBARINFO; -STRUCT!{struct SIZE { - cx: LONG, - cy: LONG, -}} -pub type PSIZE = *mut SIZE; -pub type LPSIZE = *mut SIZE; -pub type SIZEL = SIZE; -pub type PSIZEL = *mut SIZEL; -pub type LPSIZEL = *mut SIZEL; -//8855 (Win 7 SDK) -STRUCT!{struct ICONINFO { - fIcon: BOOL, - xHotspot: DWORD, - yHotspot: DWORD, - hbmMask: HBITMAP, - hbmColor: HBITMAP, -}} -pub type PICONINFO = *mut ICONINFO; -//9066 -//10069 -pub const SC_SIZE: WPARAM = 0xF000; -pub const SC_MOVE: WPARAM = 0xF010; -pub const SC_MINIMIZE: WPARAM = 0xF020; -pub const SC_MAXIMIZE: WPARAM = 0xF030; -pub const SC_NEXTWINDOW: WPARAM = 0xF040; -pub const SC_PREVWINDOW: WPARAM = 0xF050; -pub const SC_CLOSE: WPARAM = 0xF060; -pub const SC_VSCROLL: WPARAM = 0xF070; -pub const SC_HSCROLL: WPARAM = 0xF080; -pub const SC_MOUSEMENU: WPARAM = 0xF090; -pub const SC_KEYMENU: WPARAM = 0xF100; -pub const SC_ARRANGE: WPARAM = 0xF110; -pub const SC_RESTORE: WPARAM = 0xF120; -pub const SC_TASKLIST: WPARAM = 0xF130; -pub const SC_SCREENSAVE: WPARAM = 0xF140; -pub const SC_HOTKEY: WPARAM = 0xF150; -pub const SC_DEFAULT: WPARAM = 0xF160; -pub const SC_MONITORPOWER: WPARAM = 0xF170; -pub const SC_CONTEXTHELP: WPARAM = 0xF180; -pub const SC_SEPARATOR: WPARAM = 0xF00F; -extern "system" { - pub fn LoadBitmapA( - hInstance: HINSTANCE, - lpBitmapName: LPCSTR, - ) -> HBITMAP; - pub fn LoadBitmapW( - hInstance: HINSTANCE, - lpBitmapName: LPCWSTR, - ) -> HBITMAP; - pub fn LoadCursorA( - hInstance: HINSTANCE, - lpCursorName: LPCSTR, - ) -> HCURSOR; - pub fn LoadCursorW( - hInstance: HINSTANCE, - lpCursorName: LPCWSTR, - ) -> HCURSOR; - pub fn LoadCursorFromFileA( - lpFileName: LPCSTR, - ) -> HCURSOR; - pub fn LoadCursorFromFileW( - lpFileName: LPCWSTR, - ) -> HCURSOR; - pub fn CreateCursor( - hInst: HINSTANCE, - xHotSpot: c_int, - yHotSpot: c_int, - nWidth: c_int, - nHeight: c_int, - pvAndPlane: *const VOID, - pvXORPlane: *const VOID, - ) -> HCURSOR; - pub fn DestroyCursor( - hCursor: HCURSOR, - ) -> BOOL; -} -pub const IDC_ARROW: LPCWSTR = 32512 as LPCWSTR; -pub const IDC_IBEAM: LPCWSTR = 32513 as LPCWSTR; -pub const IDC_WAIT: LPCWSTR = 32514 as LPCWSTR; -pub const IDC_CROSS: LPCWSTR = 32515 as LPCWSTR; -pub const IDC_UPARROW: LPCWSTR = 32516 as LPCWSTR; -pub const IDC_SIZE: LPCWSTR = 32640 as LPCWSTR; -pub const IDC_ICON: LPCWSTR = 32641 as LPCWSTR; -pub const IDC_SIZENWSE: LPCWSTR = 32642 as LPCWSTR; -pub const IDC_SIZENESW: LPCWSTR = 32643 as LPCWSTR; -pub const IDC_SIZEWE: LPCWSTR = 32644 as LPCWSTR; -pub const IDC_SIZENS: LPCWSTR = 32645 as LPCWSTR; -pub const IDC_SIZEALL: LPCWSTR = 32646 as LPCWSTR; -pub const IDC_NO: LPCWSTR = 32648 as LPCWSTR; -pub const IDC_HAND: LPCWSTR = 32649 as LPCWSTR; -pub const IDC_APPSTARTING: LPCWSTR = 32650 as LPCWSTR; -pub const IDC_HELP: LPCWSTR = 32651 as LPCWSTR; -extern "system" { - pub fn SetSystemCursor( - hcur: HCURSOR, - id: DWORD, - ) -> BOOL; - pub fn CreateIcon( - hInstance: HINSTANCE, - nWidth: c_int, - nHeight: c_int, - cPlanes: BYTE, - cBitsPixel: BYTE, - lpbANDbits: *const BYTE, - lpbXORbits: *const BYTE, - ) -> HICON; - pub fn DestroyIcon( - hIcon: HICON, - ) -> BOOL; - pub fn LookupIconIdFromDirectory( - presbits: PBYTE, - fIcon: BOOL, - ) -> c_int; - pub fn LookupIconIdFromDirectoryEx( - presbits: PBYTE, - fIcon: BOOL, - cxDesired: c_int, - cyDesired: c_int, - Flags: UINT, - ) -> c_int; - pub fn CreateIconFromResource( - presbits: PBYTE, - dwResSize: DWORD, - fIcon: BOOL, - dwVer: DWORD, - ) -> HICON; - pub fn CreateIconFromResourceEx( - presbits: PBYTE, - dwResSize: DWORD, - fIcon: BOOL, - dwVer: DWORD, - cxDesired: c_int, - cyDesired: c_int, - Flags: UINT, - ) -> HICON; -} -pub const IMAGE_BITMAP: UINT = 0; -pub const IMAGE_ICON: UINT = 1; -pub const IMAGE_CURSOR: UINT = 2; -pub const IMAGE_ENHMETAFILE: UINT = 3; -pub const LR_DEFAULTCOLOR: UINT = 0x00000000; -pub const LR_MONOCHROME: UINT = 0x00000001; -pub const LR_COLOR: UINT = 0x00000002; -pub const LR_COPYRETURNORG: UINT = 0x00000004; -pub const LR_COPYDELETEORG: UINT = 0x00000008; -pub const LR_LOADFROMFILE: UINT = 0x00000010; -pub const LR_LOADTRANSPARENT: UINT = 0x00000020; -pub const LR_DEFAULTSIZE: UINT = 0x00000040; -pub const LR_VGACOLOR: UINT = 0x00000080; -pub const LR_LOADMAP3DCOLORS: UINT = 0x00001000; -pub const LR_CREATEDIBSECTION: UINT = 0x00002000; -pub const LR_COPYFROMRESOURCE: UINT = 0x00004000; -pub const LR_SHARED: UINT = 0x00008000; -extern "system" { - pub fn LoadImageA( - hInst: HINSTANCE, - name: LPCSTR, - type_: UINT, - cx: c_int, - cy: c_int, - fuLoad: UINT, - ) -> HANDLE; - pub fn LoadImageW( - hInst: HINSTANCE, - name: LPCWSTR, - type_: UINT, - cx: c_int, - cy: c_int, - fuLoad: UINT, - ) -> HANDLE; - pub fn CopyImage( - h: HANDLE, - type_: UINT, - cx: c_int, - cy: c_int, - flags: UINT, - ) -> HANDLE; - pub fn DrawIconEx( - hdc: HDC, - xLeft: c_int, - yTop: c_int, - hIcon: HICON, - cxWidth: c_int, - cyWidth: c_int, - istepIfAniCur: UINT, - hbrFlickerFreeDraw: HBRUSH, - diFlags: UINT, - ) -> BOOL; - pub fn CreateIconIndirect( - piconinfo: PICONINFO, - ) -> HICON; -} -pub const IDI_APPLICATION: LPCWSTR = 32512 as LPCWSTR; -pub const IDI_HAND: LPCWSTR = 32513 as LPCWSTR; -pub const IDI_QUESTION: LPCWSTR = 32514 as LPCWSTR; -pub const IDI_EXCLAMATION: LPCWSTR = 32515 as LPCWSTR; -pub const IDI_ASTERISK: LPCWSTR = 32516 as LPCWSTR; -pub const IDI_WINLOGO: LPCWSTR = 32517 as LPCWSTR; -pub const IDI_SHIELD: LPCWSTR = 32518 as LPCWSTR; -pub const IDI_WARNING: LPCWSTR = IDI_EXCLAMATION; -pub const IDI_ERROR: LPCWSTR = IDI_HAND; -pub const IDI_INFORMATION: LPCWSTR = IDI_ASTERISK; -extern "system" { - pub fn WinHelpA( - hWndMain: HWND, - lpszHelp: LPCSTR, - uCommand: UINT, - dwData: ULONG_PTR, - ) -> BOOL; - pub fn WinHelpW( - hWndMain: HWND, - lpszHelp: LPCWSTR, - uCommand: UINT, - dwData: ULONG_PTR, - ) -> BOOL; - pub fn CopyIcon( - hIcon: HICON, - ) -> HICON; - pub fn GetIconInfo( - hIcon: HICON, - piconinfo: PICONINFO, - ) -> BOOL; -} -pub const SPI_GETBEEP: UINT = 0x0001; -pub const SPI_SETBEEP: UINT = 0x0002; -pub const SPI_GETMOUSE: UINT = 0x0003; -pub const SPI_SETMOUSE: UINT = 0x0004; -pub const SPI_GETBORDER: UINT = 0x0005; -pub const SPI_SETBORDER: UINT = 0x0006; -pub const SPI_GETKEYBOARDSPEED: UINT = 0x000A; -pub const SPI_SETKEYBOARDSPEED: UINT = 0x000B; -pub const SPI_LANGDRIVER: UINT = 0x000C; -pub const SPI_ICONHORIZONTALSPACING: UINT = 0x000D; -pub const SPI_GETSCREENSAVETIMEOUT: UINT = 0x000E; -pub const SPI_SETSCREENSAVETIMEOUT: UINT = 0x000F; -pub const SPI_GETSCREENSAVEACTIVE: UINT = 0x0010; -pub const SPI_SETSCREENSAVEACTIVE: UINT = 0x0011; -pub const SPI_GETGRIDGRANULARITY: UINT = 0x0012; -pub const SPI_SETGRIDGRANULARITY: UINT = 0x0013; -pub const SPI_SETDESKWALLPAPER: UINT = 0x0014; -pub const SPI_SETDESKPATTERN: UINT = 0x0015; -pub const SPI_GETKEYBOARDDELAY: UINT = 0x0016; -pub const SPI_SETKEYBOARDDELAY: UINT = 0x0017; -pub const SPI_ICONVERTICALSPACING: UINT = 0x0018; -pub const SPI_GETICONTITLEWRAP: UINT = 0x0019; -pub const SPI_SETICONTITLEWRAP: UINT = 0x001A; -pub const SPI_GETMENUDROPALIGNMENT: UINT = 0x001B; -pub const SPI_SETMENUDROPALIGNMENT: UINT = 0x001C; -pub const SPI_SETDOUBLECLKWIDTH: UINT = 0x001D; -pub const SPI_SETDOUBLECLKHEIGHT: UINT = 0x001E; -pub const SPI_GETICONTITLELOGFONT: UINT = 0x001F; -pub const SPI_SETDOUBLECLICKTIME: UINT = 0x0020; -pub const SPI_SETMOUSEBUTTONSWAP: UINT = 0x0021; -pub const SPI_SETICONTITLELOGFONT: UINT = 0x0022; -pub const SPI_GETFASTTASKSWITCH: UINT = 0x0023; -pub const SPI_SETFASTTASKSWITCH: UINT = 0x0024; -pub const SPI_SETDRAGFULLWINDOWS: UINT = 0x0025; -pub const SPI_GETDRAGFULLWINDOWS: UINT = 0x0026; -pub const SPI_GETNONCLIENTMETRICS: UINT = 0x0029; -pub const SPI_SETNONCLIENTMETRICS: UINT = 0x002A; -pub const SPI_GETMINIMIZEDMETRICS: UINT = 0x002B; -pub const SPI_SETMINIMIZEDMETRICS: UINT = 0x002C; -pub const SPI_GETICONMETRICS: UINT = 0x002D; -pub const SPI_SETICONMETRICS: UINT = 0x002E; -pub const SPI_SETWORKAREA: UINT = 0x002F; -pub const SPI_GETWORKAREA: UINT = 0x0030; -pub const SPI_SETPENWINDOWS: UINT = 0x0031; -pub const SPI_GETHIGHCONTRAST: UINT = 0x0042; -pub const SPI_SETHIGHCONTRAST: UINT = 0x0043; -pub const SPI_GETKEYBOARDPREF: UINT = 0x0044; -pub const SPI_SETKEYBOARDPREF: UINT = 0x0045; -pub const SPI_GETSCREENREADER: UINT = 0x0046; -pub const SPI_SETSCREENREADER: UINT = 0x0047; -pub const SPI_GETANIMATION: UINT = 0x0048; -pub const SPI_SETANIMATION: UINT = 0x0049; -pub const SPI_GETFONTSMOOTHING: UINT = 0x004A; -pub const SPI_SETFONTSMOOTHING: UINT = 0x004B; -pub const SPI_SETDRAGWIDTH: UINT = 0x004C; -pub const SPI_SETDRAGHEIGHT: UINT = 0x004D; -pub const SPI_SETHANDHELD: UINT = 0x004E; -pub const SPI_GETLOWPOWERTIMEOUT: UINT = 0x004F; -pub const SPI_GETPOWEROFFTIMEOUT: UINT = 0x0050; -pub const SPI_SETLOWPOWERTIMEOUT: UINT = 0x0051; -pub const SPI_SETPOWEROFFTIMEOUT: UINT = 0x0052; -pub const SPI_GETLOWPOWERACTIVE: UINT = 0x0053; -pub const SPI_GETPOWEROFFACTIVE: UINT = 0x0054; -pub const SPI_SETLOWPOWERACTIVE: UINT = 0x0055; -pub const SPI_SETPOWEROFFACTIVE: UINT = 0x0056; -pub const SPI_SETCURSORS: UINT = 0x0057; -pub const SPI_SETICONS: UINT = 0x0058; -pub const SPI_GETDEFAULTINPUTLANG: UINT = 0x0059; -pub const SPI_SETDEFAULTINPUTLANG: UINT = 0x005A; -pub const SPI_SETLANGTOGGLE: UINT = 0x005B; -pub const SPI_GETWINDOWSEXTENSION: UINT = 0x005C; -pub const SPI_SETMOUSETRAILS: UINT = 0x005D; -pub const SPI_GETMOUSETRAILS: UINT = 0x005E; -pub const SPI_SETSCREENSAVERRUNNING: UINT = 0x0061; -pub const SPI_SCREENSAVERRUNNING: UINT = SPI_SETSCREENSAVERRUNNING; -pub const SPI_GETFILTERKEYS: UINT = 0x0032; -pub const SPI_SETFILTERKEYS: UINT = 0x0033; -pub const SPI_GETTOGGLEKEYS: UINT = 0x0034; -pub const SPI_SETTOGGLEKEYS: UINT = 0x0035; -pub const SPI_GETMOUSEKEYS: UINT = 0x0036; -pub const SPI_SETMOUSEKEYS: UINT = 0x0037; -pub const SPI_GETSHOWSOUNDS: UINT = 0x0038; -pub const SPI_SETSHOWSOUNDS: UINT = 0x0039; -pub const SPI_GETSTICKYKEYS: UINT = 0x003A; -pub const SPI_SETSTICKYKEYS: UINT = 0x003B; -pub const SPI_GETACCESSTIMEOUT: UINT = 0x003C; -pub const SPI_SETACCESSTIMEOUT: UINT = 0x003D; -pub const SPI_GETSERIALKEYS: UINT = 0x003E; -pub const SPI_SETSERIALKEYS: UINT = 0x003F; -pub const SPI_GETSOUNDSENTRY: UINT = 0x0040; -pub const SPI_SETSOUNDSENTRY: UINT = 0x0041; -pub const SPI_GETSNAPTODEFBUTTON: UINT = 0x005F; -pub const SPI_SETSNAPTODEFBUTTON: UINT = 0x0060; -pub const SPI_GETMOUSEHOVERWIDTH: UINT = 0x0062; -pub const SPI_SETMOUSEHOVERWIDTH: UINT = 0x0063; -pub const SPI_GETMOUSEHOVERHEIGHT: UINT = 0x0064; -pub const SPI_SETMOUSEHOVERHEIGHT: UINT = 0x0065; -pub const SPI_GETMOUSEHOVERTIME: UINT = 0x0066; -pub const SPI_SETMOUSEHOVERTIME: UINT = 0x0067; -pub const SPI_GETWHEELSCROLLLINES: UINT = 0x0068; -pub const SPI_SETWHEELSCROLLLINES: UINT = 0x0069; -pub const SPI_GETMENUSHOWDELAY: UINT = 0x006A; -pub const SPI_SETMENUSHOWDELAY: UINT = 0x006B; -pub const SPI_GETWHEELSCROLLCHARS: UINT = 0x006C; -pub const SPI_SETWHEELSCROLLCHARS: UINT = 0x006D; -pub const SPI_GETSHOWIMEUI: UINT = 0x006E; -pub const SPI_SETSHOWIMEUI: UINT = 0x006F; -pub const SPI_GETMOUSESPEED: UINT = 0x0070; -pub const SPI_SETMOUSESPEED: UINT = 0x0071; -pub const SPI_GETSCREENSAVERRUNNING: UINT = 0x0072; -pub const SPI_GETDESKWALLPAPER: UINT = 0x0073; -pub const SPI_GETAUDIODESCRIPTION: UINT = 0x0074; -pub const SPI_SETAUDIODESCRIPTION: UINT = 0x0075; -pub const SPI_GETSCREENSAVESECURE: UINT = 0x0076; -pub const SPI_SETSCREENSAVESECURE: UINT = 0x0077; -pub const SPI_GETHUNGAPPTIMEOUT: UINT = 0x0078; -pub const SPI_SETHUNGAPPTIMEOUT: UINT = 0x0079; -pub const SPI_GETWAITTOKILLTIMEOUT: UINT = 0x007A; -pub const SPI_SETWAITTOKILLTIMEOUT: UINT = 0x007B; -pub const SPI_GETWAITTOKILLSERVICETIMEOUT: UINT = 0x007C; -pub const SPI_SETWAITTOKILLSERVICETIMEOUT: UINT = 0x007D; -pub const SPI_GETMOUSEDOCKTHRESHOLD: UINT = 0x007E; -pub const SPI_SETMOUSEDOCKTHRESHOLD: UINT = 0x007F; -pub const SPI_GETPENDOCKTHRESHOLD: UINT = 0x0080; -pub const SPI_SETPENDOCKTHRESHOLD: UINT = 0x0081; -pub const SPI_GETWINARRANGING: UINT = 0x0082; -pub const SPI_SETWINARRANGING: UINT = 0x0083; -pub const SPI_GETMOUSEDRAGOUTTHRESHOLD: UINT = 0x0084; -pub const SPI_SETMOUSEDRAGOUTTHRESHOLD: UINT = 0x0085; -pub const SPI_GETPENDRAGOUTTHRESHOLD: UINT = 0x0086; -pub const SPI_SETPENDRAGOUTTHRESHOLD: UINT = 0x0087; -pub const SPI_GETMOUSESIDEMOVETHRESHOLD: UINT = 0x0088; -pub const SPI_SETMOUSESIDEMOVETHRESHOLD: UINT = 0x0089; -pub const SPI_GETPENSIDEMOVETHRESHOLD: UINT = 0x008A; -pub const SPI_SETPENSIDEMOVETHRESHOLD: UINT = 0x008B; -pub const SPI_GETDRAGFROMMAXIMIZE: UINT = 0x008C; -pub const SPI_SETDRAGFROMMAXIMIZE: UINT = 0x008D; -pub const SPI_GETSNAPSIZING: UINT = 0x008E; -pub const SPI_SETSNAPSIZING: UINT = 0x008F; -pub const SPI_GETDOCKMOVING: UINT = 0x0090; -pub const SPI_SETDOCKMOVING: UINT = 0x0091; -pub const SPI_GETACTIVEWINDOWTRACKING: UINT = 0x1000; -pub const SPI_SETACTIVEWINDOWTRACKING: UINT = 0x1001; -pub const SPI_GETMENUANIMATION: UINT = 0x1002; -pub const SPI_SETMENUANIMATION: UINT = 0x1003; -pub const SPI_GETCOMBOBOXANIMATION: UINT = 0x1004; -pub const SPI_SETCOMBOBOXANIMATION: UINT = 0x1005; -pub const SPI_GETLISTBOXSMOOTHSCROLLING: UINT = 0x1006; -pub const SPI_SETLISTBOXSMOOTHSCROLLING: UINT = 0x1007; -pub const SPI_GETGRADIENTCAPTIONS: UINT = 0x1008; -pub const SPI_SETGRADIENTCAPTIONS: UINT = 0x1009; -pub const SPI_GETKEYBOARDCUES: UINT = 0x100A; -pub const SPI_SETKEYBOARDCUES: UINT = 0x100B; -pub const SPI_GETMENUUNDERLINES: UINT = SPI_GETKEYBOARDCUES; -pub const SPI_SETMENUUNDERLINES: UINT = SPI_SETKEYBOARDCUES; -pub const SPI_GETACTIVEWNDTRKZORDER: UINT = 0x100C; -pub const SPI_SETACTIVEWNDTRKZORDER: UINT = 0x100D; -pub const SPI_GETHOTTRACKING: UINT = 0x100E; -pub const SPI_SETHOTTRACKING: UINT = 0x100F; -pub const SPI_GETMENUFADE: UINT = 0x1012; -pub const SPI_SETMENUFADE: UINT = 0x1013; -pub const SPI_GETSELECTIONFADE: UINT = 0x1014; -pub const SPI_SETSELECTIONFADE: UINT = 0x1015; -pub const SPI_GETTOOLTIPANIMATION: UINT = 0x1016; -pub const SPI_SETTOOLTIPANIMATION: UINT = 0x1017; -pub const SPI_GETTOOLTIPFADE: UINT = 0x1018; -pub const SPI_SETTOOLTIPFADE: UINT = 0x1019; -pub const SPI_GETCURSORSHADOW: UINT = 0x101A; -pub const SPI_SETCURSORSHADOW: UINT = 0x101B; -pub const SPI_GETMOUSESONAR: UINT = 0x101C; -pub const SPI_SETMOUSESONAR: UINT = 0x101D; -pub const SPI_GETMOUSECLICKLOCK: UINT = 0x101E; -pub const SPI_SETMOUSECLICKLOCK: UINT = 0x101F; -pub const SPI_GETMOUSEVANISH: UINT = 0x1020; -pub const SPI_SETMOUSEVANISH: UINT = 0x1021; -pub const SPI_GETFLATMENU: UINT = 0x1022; -pub const SPI_SETFLATMENU: UINT = 0x1023; -pub const SPI_GETDROPSHADOW: UINT = 0x1024; -pub const SPI_SETDROPSHADOW: UINT = 0x1025; -pub const SPI_GETBLOCKSENDINPUTRESETS: UINT = 0x1026; -pub const SPI_SETBLOCKSENDINPUTRESETS: UINT = 0x1027; -pub const SPI_GETUIEFFECTS: UINT = 0x103E; -pub const SPI_SETUIEFFECTS: UINT = 0x103F; -pub const SPI_GETDISABLEOVERLAPPEDCONTENT: UINT = 0x1040; -pub const SPI_SETDISABLEOVERLAPPEDCONTENT: UINT = 0x1041; -pub const SPI_GETCLIENTAREAANIMATION: UINT = 0x1042; -pub const SPI_SETCLIENTAREAANIMATION: UINT = 0x1043; -pub const SPI_GETCLEARTYPE: UINT = 0x1048; -pub const SPI_SETCLEARTYPE: UINT = 0x1049; -pub const SPI_GETSPEECHRECOGNITION: UINT = 0x104A; -pub const SPI_SETSPEECHRECOGNITION: UINT = 0x104B; -pub const SPI_GETFOREGROUNDLOCKTIMEOUT: UINT = 0x2000; -pub const SPI_SETFOREGROUNDLOCKTIMEOUT: UINT = 0x2001; -pub const SPI_GETACTIVEWNDTRKTIMEOUT: UINT = 0x2002; -pub const SPI_SETACTIVEWNDTRKTIMEOUT: UINT = 0x2003; -pub const SPI_GETFOREGROUNDFLASHCOUNT: UINT = 0x2004; -pub const SPI_SETFOREGROUNDFLASHCOUNT: UINT = 0x2005; -pub const SPI_GETCARETWIDTH: UINT = 0x2006; -pub const SPI_SETCARETWIDTH: UINT = 0x2007; -pub const SPI_GETMOUSECLICKLOCKTIME: UINT = 0x2008; -pub const SPI_SETMOUSECLICKLOCKTIME: UINT = 0x2009; -pub const SPI_GETFONTSMOOTHINGTYPE: UINT = 0x200A; -pub const SPI_SETFONTSMOOTHINGTYPE: UINT = 0x200B; -pub const FE_FONTSMOOTHINGSTANDARD: UINT = 0x0001; -pub const FE_FONTSMOOTHINGCLEARTYPE: UINT = 0x0002; -pub const SPI_GETFONTSMOOTHINGCONTRAST: UINT = 0x200C; -pub const SPI_SETFONTSMOOTHINGCONTRAST: UINT = 0x200D; -pub const SPI_GETFOCUSBORDERWIDTH: UINT = 0x200E; -pub const SPI_SETFOCUSBORDERWIDTH: UINT = 0x200F; -pub const SPI_GETFOCUSBORDERHEIGHT: UINT = 0x2010; -pub const SPI_SETFOCUSBORDERHEIGHT: UINT = 0x2011; -pub const SPI_GETFONTSMOOTHINGORIENTATION: UINT = 0x2012; -pub const SPI_SETFONTSMOOTHINGORIENTATION: UINT = 0x2013; -pub const FE_FONTSMOOTHINGORIENTATIONBGR: UINT = 0x0000; -pub const FE_FONTSMOOTHINGORIENTATIONRGB: UINT = 0x0001; -pub const SPI_GETMINIMUMHITRADIUS: UINT = 0x2014; -pub const SPI_SETMINIMUMHITRADIUS: UINT = 0x2015; -pub const SPI_GETMESSAGEDURATION: UINT = 0x2016; -pub const SPI_SETMESSAGEDURATION: UINT = 0x2017; -//11264 -pub const CB_GETEDITSEL: UINT = 0x0140; -pub const CB_LIMITTEXT: UINT = 0x0141; -pub const CB_SETEDITSEL: UINT = 0x0142; -pub const CB_ADDSTRING: UINT = 0x0143; -pub const CB_DELETESTRING: UINT = 0x0144; -pub const CB_DIR: UINT = 0x0145; -pub const CB_GETCOUNT: UINT = 0x0146; -pub const CB_GETCURSEL: UINT = 0x0147; -pub const CB_GETLBTEXT: UINT = 0x0148; -pub const CB_GETLBTEXTLEN: UINT = 0x0149; -pub const CB_INSERTSTRING: UINT = 0x014A; -pub const CB_RESETCONTENT: UINT = 0x014B; -pub const CB_FINDSTRING: UINT = 0x014C; -pub const CB_SELECTSTRING: UINT = 0x014D; -pub const CB_SETCURSEL: UINT = 0x014E; -pub const CB_SHOWDROPDOWN: UINT = 0x014F; -pub const CB_GETITEMDATA: UINT = 0x0150; -pub const CB_SETITEMDATA: UINT = 0x0151; -pub const CB_GETDROPPEDCONTROLRECT: UINT = 0x0152; -pub const CB_SETITEMHEIGHT: UINT = 0x0153; -pub const CB_GETITEMHEIGHT: UINT = 0x0154; -pub const CB_SETEXTENDEDUI: UINT = 0x0155; -pub const CB_GETEXTENDEDUI: UINT = 0x0156; -pub const CB_GETDROPPEDSTATE: UINT = 0x0157; -pub const CB_FINDSTRINGEXACT: UINT = 0x0158; -pub const CB_SETLOCALE: UINT = 0x0159; -pub const CB_GETLOCALE: UINT = 0x015A; -pub const CB_GETTOPINDEX: UINT = 0x015b; -pub const CB_SETTOPINDEX: UINT = 0x015c; -pub const CB_GETHORIZONTALEXTENT: UINT = 0x015d; -pub const CB_SETHORIZONTALEXTENT: UINT = 0x015e; -pub const CB_GETDROPPEDWIDTH: UINT = 0x015f; -pub const CB_SETDROPPEDWIDTH: UINT = 0x0160; -pub const CB_INITSTORAGE: UINT = 0x0161; -//12141 -STRUCT!{struct NONCLIENTMETRICSA { - cbSize: UINT, - iBorderWidth: c_int, - iScrollWidth: c_int, - iScrollHeight: c_int, - iCaptionWidth: c_int, - iCaptionHeight: c_int, - lfCaptionFont: LOGFONTA, - iSmCaptionWidth: c_int, - iSmCaptionHeight: c_int, - lfSmCaptionFont: LOGFONTA, - iMenuWidth: c_int, - iMenuHeight: c_int, - lfMenuFont: LOGFONTA, - lfStatusFont: LOGFONTA, - lfMessageFont: LOGFONTA, - iPaddedBorderWidth: c_int, -}} -pub type LPNONCLIENTMETRICSA = *mut NONCLIENTMETRICSA; -STRUCT!{struct NONCLIENTMETRICSW { - cbSize: UINT, - iBorderWidth: c_int, - iScrollWidth: c_int, - iScrollHeight: c_int, - iCaptionWidth: c_int, - iCaptionHeight: c_int, - lfCaptionFont: LOGFONTW, - iSmCaptionWidth: c_int, - iSmCaptionHeight: c_int, - lfSmCaptionFont: LOGFONTW, - iMenuWidth: c_int, - iMenuHeight: c_int, - lfMenuFont: LOGFONTW, - lfStatusFont: LOGFONTW, - lfMessageFont: LOGFONTW, - iPaddedBorderWidth: c_int, -}} -pub type LPNONCLIENTMETRICSW = *mut NONCLIENTMETRICSW; -//12869 -extern "system" { - pub fn SetLastErrorEx( - dwErrCode: DWORD, - dwType: DWORD, - ); - pub fn InternalGetWindowText( - hWnd: HWND, - pString: LPWSTR, - cchMaxCount: c_int, - ) -> c_int; - pub fn EndTask( - hWnd: HWND, - fShutDown: BOOL, - fForce: BOOL, - ) -> BOOL; - pub fn CancelShutdown() -> BOOL; -} -pub const MONITOR_DEFAULTTONULL: DWORD = 0x00000000; -pub const MONITOR_DEFAULTTOPRIMARY: DWORD = 0x00000001; -pub const MONITOR_DEFAULTTONEAREST: DWORD = 0x00000002; -//12900 -extern "system" { - pub fn MonitorFromPoint( - pt: POINT, - dwFlags: DWORD, - ) -> HMONITOR; - pub fn MonitorFromRect( - lprc: LPCRECT, - dwFlags: DWORD, - ) -> HMONITOR; - pub fn MonitorFromWindow( - hwnd: HWND, - dwFlags: DWORD, - ) -> HMONITOR; -} -pub const MONITORINFOF_PRIMARY: DWORD = 1; -pub const CCHDEVICENAME: usize = 32; -STRUCT!{struct MONITORINFO { - cbSize: DWORD, - rcMonitor: RECT, - rcWork: RECT, - dwFlags: DWORD, -}} -pub type LPMONITORINFO = *mut MONITORINFO; -STRUCT!{struct MONITORINFOEXA { - cbSize: DWORD, - rcMonitor: RECT, - rcWork: RECT, - dwFlags: DWORD, - szDevice: [CHAR; CCHDEVICENAME], -}} -pub type LPMONITORINFOEXA = *mut MONITORINFOEXA; -STRUCT!{struct MONITORINFOEXW { - cbSize: DWORD, - rcMonitor: RECT, - rcWork: RECT, - dwFlags: DWORD, - szDevice: [WCHAR; CCHDEVICENAME], -}} -pub type LPMONITORINFOEXW = *mut MONITORINFOEXW; -//12971 -extern "system" { - pub fn GetMonitorInfoA( - hMonitor: HMONITOR, - lpmi: LPMONITORINFO, - ) -> BOOL; - pub fn GetMonitorInfoW( - hMonitor: HMONITOR, - lpmi: LPMONITORINFO, - ) -> BOOL; -} -FN!{stdcall MONITORENUMPROC( - HMONITOR, - HDC, - LPRECT, - LPARAM, -) -> BOOL} -extern "system" { - pub fn EnumDisplayMonitors( - hdc: HDC, - lprcClip: LPCRECT, - lpfnEnum: MONITORENUMPROC, - dwData: LPARAM, - ) -> BOOL; - pub fn NotifyWinEvent( - event: DWORD, - hwnd: HWND, - idObject: LONG, - idChild: LONG, - ); - pub fn SetWinEventHook( - eventMin: DWORD, - eventMax: DWORD, - hmodWinEventProc: HMODULE, - pfnWinEventProc: WINEVENTPROC, - idProcess: DWORD, - idThread: DWORD, - dwFlags: DWORD, - ) -> HWINEVENTHOOK; - pub fn IsWinEventHookInstalled( - event: DWORD, - ) -> BOOL; -} -pub const WINEVENT_OUTOFCONTEXT: UINT = 0x0000; -pub const WINEVENT_SKIPOWNTHREAD: UINT = 0x0001; -pub const WINEVENT_SKIPOWNPROCESS: UINT = 0x0002; -pub const WINEVENT_INCONTEXT: UINT = 0x0004; -extern "system" { - pub fn UnhookWinEvent( - hWinEventHook: HWINEVENTHOOK, - ) -> BOOL; -} -pub const CHILDID_SELF: LONG = 0; -pub const INDEXID_OBJECT: LONG = 0; -pub const INDEXID_CONTAINER: LONG = 0; -pub const OBJID_WINDOW: LONG = 0x0000; -pub const OBJID_SYSMENU: LONG = 0xFFFFFFFF; -pub const OBJID_TITLEBAR: LONG = 0xFFFFFFFE; -pub const OBJID_MENU: LONG = 0xFFFFFFFD; -pub const OBJID_CLIENT: LONG = 0xFFFFFFFC; -pub const OBJID_VSCROLL: LONG = 0xFFFFFFFB; -pub const OBJID_HSCROLL: LONG = 0xFFFFFFFA; -pub const OBJID_SIZEGRIP: LONG = 0xFFFFFFF9; -pub const OBJID_CARET: LONG = 0xFFFFFFF8; -pub const OBJID_CURSOR: LONG = 0xFFFFFFF7; -pub const OBJID_ALERT: LONG = 0xFFFFFFF6; -pub const OBJID_SOUND: LONG = 0xFFFFFFF5; -pub const OBJID_QUERYCLASSNAMEIDX: LONG = 0xFFFFFFF4; -pub const OBJID_NATIVEOM: LONG = 0xFFFFFFF0; -pub const EVENT_MIN: UINT = 0x0001; -pub const EVENT_MAX: UINT = 0x7FFFFFFF; -pub const EVENT_SYSTEM_SOUND: UINT = 0x0001; -pub const EVENT_SYSTEM_ALERT: UINT = 0x0002; -pub const EVENT_SYSTEM_FOREGROUND: UINT = 0x0003; -pub const EVENT_SYSTEM_MENUSTART: UINT = 0x0004; -pub const EVENT_SYSTEM_MENUEND: UINT = 0x0005; -pub const EVENT_SYSTEM_MENUPOPUPSTART: UINT = 0x0006; -pub const EVENT_SYSTEM_MENUPOPUPEND: UINT = 0x0007; -pub const EVENT_SYSTEM_CAPTURESTART: UINT = 0x0008; -pub const EVENT_SYSTEM_CAPTUREEND: UINT = 0x0009; -pub const EVENT_SYSTEM_MOVESIZESTART: UINT = 0x000A; -pub const EVENT_SYSTEM_MOVESIZEEND: UINT = 0x000B; -pub const EVENT_SYSTEM_CONTEXTHELPSTART: UINT = 0x000C; -pub const EVENT_SYSTEM_CONTEXTHELPEND: UINT = 0x000D; -pub const EVENT_SYSTEM_DRAGDROPSTART: UINT = 0x000E; -pub const EVENT_SYSTEM_DRAGDROPEND: UINT = 0x000F; -pub const EVENT_SYSTEM_DIALOGSTART: UINT = 0x0010; -pub const EVENT_SYSTEM_DIALOGEND: UINT = 0x0011; -pub const EVENT_SYSTEM_SCROLLINGSTART: UINT = 0x0012; -pub const EVENT_SYSTEM_SCROLLINGEND: UINT = 0x0013; -pub const EVENT_SYSTEM_SWITCHSTART: UINT = 0x0014; -pub const EVENT_SYSTEM_SWITCHEND: UINT = 0x0015; -pub const EVENT_SYSTEM_MINIMIZESTART: UINT = 0x0016; -pub const EVENT_SYSTEM_MINIMIZEEND: UINT = 0x0017; -pub const EVENT_SYSTEM_DESKTOPSWITCH: UINT = 0x0020; -pub const EVENT_SYSTEM_SWITCHER_APPGRABBED: UINT = 0x0024; -pub const EVENT_SYSTEM_SWITCHER_APPOVERTARGET: UINT = 0x0025; -pub const EVENT_SYSTEM_SWITCHER_APPDROPPED: UINT = 0x0026; -pub const EVENT_SYSTEM_SWITCHER_CANCELLED: UINT = 0x0027; -pub const EVENT_SYSTEM_IME_KEY_NOTIFICATION: UINT = 0x0029; -pub const EVENT_SYSTEM_END: UINT = 0x00FF; -pub const EVENT_OEM_DEFINED_START: UINT = 0x0101; -pub const EVENT_OEM_DEFINED_END: UINT = 0x01FF; -pub const EVENT_UIA_EVENTID_START: UINT = 0x4E00; -pub const EVENT_UIA_EVENTID_END: UINT = 0x4EFF; -pub const EVENT_UIA_PROPID_START: UINT = 0x7500; -pub const EVENT_UIA_PROPID_END: UINT = 0x75FF; -pub const EVENT_CONSOLE_CARET: UINT = 0x4001; -pub const EVENT_CONSOLE_UPDATE_REGION: UINT = 0x4002; -pub const EVENT_CONSOLE_UPDATE_SIMPLE: UINT = 0x4003; -pub const EVENT_CONSOLE_UPDATE_SCROLL: UINT = 0x4004; -pub const EVENT_CONSOLE_LAYOUT: UINT = 0x4005; -pub const EVENT_CONSOLE_START_APPLICATION: UINT = 0x4006; -pub const EVENT_CONSOLE_END_APPLICATION: UINT = 0x4007; -#[cfg(target_arch = "x86_64")] -pub const CONSOLE_APPLICATION_16BIT: LONG = 0x0000; -#[cfg(target_arch = "x86")] -pub const CONSOLE_APPLICATION_16BIT: LONG = 0x0001; -pub const CONSOLE_CARET_SELECTION: LONG = 0x0001; -pub const CONSOLE_CARET_VISIBLE: LONG = 0x0002; -pub const EVENT_CONSOLE_END: UINT = 0x40FF; -pub const EVENT_OBJECT_CREATE: UINT = 0x8000; -pub const EVENT_OBJECT_DESTROY: UINT = 0x8001; -pub const EVENT_OBJECT_SHOW: UINT = 0x8002; -pub const EVENT_OBJECT_HIDE: UINT = 0x8003; -pub const EVENT_OBJECT_REORDER: UINT = 0x8004; -pub const EVENT_OBJECT_FOCUS: UINT = 0x8005; -pub const EVENT_OBJECT_SELECTION: UINT = 0x8006; -pub const EVENT_OBJECT_SELECTIONADD: UINT = 0x8007; -pub const EVENT_OBJECT_SELECTIONREMOVE: UINT = 0x8008; -pub const EVENT_OBJECT_SELECTIONWITHIN: UINT = 0x8009; -pub const EVENT_OBJECT_STATECHANGE: UINT = 0x800A; -pub const EVENT_OBJECT_LOCATIONCHANGE: UINT = 0x800B; -pub const EVENT_OBJECT_NAMECHANGE: UINT = 0x800C; -pub const EVENT_OBJECT_DESCRIPTIONCHANGE: UINT = 0x800D; -pub const EVENT_OBJECT_VALUECHANGE: UINT = 0x800E; -pub const EVENT_OBJECT_PARENTCHANGE: UINT = 0x800F; -pub const EVENT_OBJECT_HELPCHANGE: UINT = 0x8010; -pub const EVENT_OBJECT_DEFACTIONCHANGE: UINT = 0x8011; -pub const EVENT_OBJECT_ACCELERATORCHANGE: UINT = 0x8012; -pub const EVENT_OBJECT_INVOKED: UINT = 0x8013; -pub const EVENT_OBJECT_TEXTSELECTIONCHANGED: UINT = 0x8014; -pub const EVENT_OBJECT_CONTENTSCROLLED: UINT = 0x8015; -pub const EVENT_SYSTEM_ARRANGMENTPREVIEW: UINT = 0x8016; -pub const EVENT_OBJECT_CLOAKED: UINT = 0x8017; -pub const EVENT_OBJECT_UNCLOAKED: UINT = 0x8018; -pub const EVENT_OBJECT_LIVEREGIONCHANGED: UINT = 0x8019; -pub const EVENT_OBJECT_HOSTEDOBJECTSINVALIDATED: UINT = 0x8020; -pub const EVENT_OBJECT_DRAGSTART: UINT = 0x8021; -pub const EVENT_OBJECT_DRAGCANCEL: UINT = 0x8022; -pub const EVENT_OBJECT_DRAGCOMPLETE: UINT = 0x8023; -pub const EVENT_OBJECT_DRAGENTER: UINT = 0x8024; -pub const EVENT_OBJECT_DRAGLEAVE: UINT = 0x8025; -pub const EVENT_OBJECT_DRAGDROPPED: UINT = 0x8026; -pub const EVENT_OBJECT_IME_SHOW: UINT = 0x8027; -pub const EVENT_OBJECT_IME_HIDE: UINT = 0x8028; -pub const EVENT_OBJECT_IME_CHANGE: UINT = 0x8029; -pub const EVENT_OBJECT_TEXTEDIT_CONVERSIONTARGETCHANGED: UINT = 0x8030; -pub const EVENT_OBJECT_END: UINT = 0x80FF; -pub const EVENT_AIA_START: UINT = 0xA000; -pub const EVENT_AIA_END: UINT = 0xAFFF; -pub const ALERT_SYSTEM_INFORMATIONAL: LONG = 1; -pub const ALERT_SYSTEM_WARNING: LONG = 2; -pub const ALERT_SYSTEM_ERROR: LONG = 3; -pub const ALERT_SYSTEM_QUERY: LONG = 4; -pub const ALERT_SYSTEM_CRITICAL: LONG = 5; -pub const CALERT_SYSTEM: LONG = 6; -extern "system" { -//14098 - pub fn BlockInput( - fBlockIt: BOOL, - ) -> BOOL; -} -pub const USER_DEFAULT_SCREEN_DPI: LONG = 96; -extern "system" { - pub fn SetProcessDPIAware() -> BOOL; - pub fn IsProcessDPIAware() -> BOOL; - pub fn SetThreadDpiAwarenessContext( - dpiContext: DPI_AWARENESS_CONTEXT, - ) -> DPI_AWARENESS_CONTEXT; - pub fn GetThreadDpiAwarenessContext() -> DPI_AWARENESS_CONTEXT; - pub fn GetWindowDpiAwarenessContext( - hwnd: HWND, - ) -> DPI_AWARENESS_CONTEXT; - pub fn GetAwarenessFromDpiAwarenessContext( - value: DPI_AWARENESS_CONTEXT, - ) -> DPI_AWARENESS; - pub fn GetDpiFromDpiAwarenessContext( - value: DPI_AWARENESS_CONTEXT, - ) -> UINT; - pub fn AreDpiAwarenessContextsEqual( - dpiContextA: DPI_AWARENESS_CONTEXT, - dpiContextB: DPI_AWARENESS_CONTEXT, - ) -> BOOL; - pub fn IsValidDpiAwarenessContext( - value: DPI_AWARENESS_CONTEXT, - ) -> BOOL; - pub fn GetDpiForWindow( - hwnd: HWND, - ) -> UINT; - pub fn GetDpiForSystem() -> UINT; - pub fn GetSystemDpiForProcess( - hProcess: HANDLE, - ) -> UINT; - pub fn EnableNonClientDpiScaling( - hwnd: HWND, - ) -> BOOL; - pub fn SetProcessDpiAwarenessContext( - value: DPI_AWARENESS_CONTEXT, - ) -> BOOL; - pub fn SetThreadDpiHostingBehavior( - value: DPI_HOSTING_BEHAVIOR, - ) -> DPI_HOSTING_BEHAVIOR; - pub fn GetThreadDpiHostingBehavior() -> DPI_HOSTING_BEHAVIOR; - pub fn GetWindowDpiHostingBehavior( - hwnd: HWND, - ) -> DPI_HOSTING_BEHAVIOR; - pub fn GetWindowModuleFileNameA( - hWnd: HWND, - lpszFileName: LPCSTR, - cchFileNameMax: UINT, - ) -> UINT; - pub fn GetWindowModuleFileNameW( - hWnd: HWND, - lpszFileName: LPWSTR, - cchFileNameMax: UINT, - ) -> UINT; - pub fn GetAncestor( - hWnd: HWND, - gaFlags: UINT, - ) -> HWND; - pub fn RealChildWindowFromPoint( - hwndParent: HWND, - ptParentClientCoords: POINT, - ) -> HWND; - pub fn RealGetWindowClassA( - hwnd: HWND, - ptszClassName: LPSTR, - cchClassNameMax: UINT, - ) -> UINT; - pub fn RealGetWindowClassW( - hwnd: HWND, - ptszClassName: LPWSTR, - cchClassNameMax: UINT, - ) -> UINT; - pub fn LockWorkStation() -> BOOL; - pub fn UserHandleGrantAccess( - hUserHandle: HANDLE, - hJob: HANDLE, - bGrant: BOOL, - ) -> BOOL; -} -DECLARE_HANDLE!{HRAWINPUT, HRAWINPUT__} -#[inline] -pub fn GET_RAWINPUT_CODE_WPARAM(wParam: WPARAM) -> WPARAM { wParam & 0xff } -pub const RIM_INPUT: WPARAM = 0; -pub const RIM_INPUTSINK: WPARAM = 1; -STRUCT!{struct RAWINPUTHEADER { - dwType: DWORD, - dwSize: DWORD, - hDevice: HANDLE, - wParam: WPARAM, -}} -pub type PRAWINPUTHEADER = *mut RAWINPUTHEADER; -pub type LPRAWINPUTHEADER = *mut RAWINPUTHEADER; -pub const RIM_TYPEMOUSE: DWORD = 0; -pub const RIM_TYPEKEYBOARD: DWORD = 1; -pub const RIM_TYPEHID: DWORD = 2; -STRUCT!{struct RAWMOUSE { - usFlags: USHORT, - memory_padding: USHORT, // 16bit Padding for 32bit align in following union - usButtonFlags: USHORT, - usButtonData: USHORT, - ulRawButtons: ULONG, - lLastX: LONG, - lLastY: LONG, - ulExtraInformation: ULONG, -}} -pub type PRAWMOUSE = *mut RAWMOUSE; -pub type LPRAWMOUSE = *mut RAWMOUSE; -pub const RI_MOUSE_LEFT_BUTTON_DOWN: USHORT = 0x0001; -pub const RI_MOUSE_LEFT_BUTTON_UP: USHORT = 0x0002; -pub const RI_MOUSE_RIGHT_BUTTON_DOWN: USHORT = 0x0004; -pub const RI_MOUSE_RIGHT_BUTTON_UP: USHORT = 0x0008; -pub const RI_MOUSE_MIDDLE_BUTTON_DOWN: USHORT = 0x0010; -pub const RI_MOUSE_MIDDLE_BUTTON_UP: USHORT = 0x0020; -pub const RI_MOUSE_BUTTON_1_DOWN: USHORT = RI_MOUSE_LEFT_BUTTON_DOWN; -pub const RI_MOUSE_BUTTON_1_UP: USHORT = RI_MOUSE_LEFT_BUTTON_UP; -pub const RI_MOUSE_BUTTON_2_DOWN: USHORT = RI_MOUSE_RIGHT_BUTTON_DOWN; -pub const RI_MOUSE_BUTTON_2_UP: USHORT = RI_MOUSE_RIGHT_BUTTON_UP; -pub const RI_MOUSE_BUTTON_3_DOWN: USHORT = RI_MOUSE_MIDDLE_BUTTON_DOWN; -pub const RI_MOUSE_BUTTON_3_UP: USHORT = RI_MOUSE_MIDDLE_BUTTON_UP; -pub const RI_MOUSE_BUTTON_4_DOWN: USHORT = 0x0040; -pub const RI_MOUSE_BUTTON_4_UP: USHORT = 0x0080; -pub const RI_MOUSE_BUTTON_5_DOWN: USHORT = 0x0100; -pub const RI_MOUSE_BUTTON_5_UP: USHORT = 0x0200; -pub const RI_MOUSE_WHEEL: USHORT = 0x0400; -pub const MOUSE_MOVE_RELATIVE: USHORT = 0; -pub const MOUSE_MOVE_ABSOLUTE: USHORT = 1; -pub const MOUSE_VIRTUAL_DESKTOP: USHORT = 0x02; -pub const MOUSE_ATTRIBUTES_CHANGED: USHORT = 0x04; -pub const MOUSE_MOVE_NOCOALESCE: USHORT = 0x08; -STRUCT!{struct RAWKEYBOARD { - MakeCode: USHORT, - Flags: USHORT, - Reserved: USHORT, - VKey: USHORT, - Message: UINT, - ExtraInformation: ULONG, -}} -pub type PRAWKEYBOARD = *mut RAWKEYBOARD; -pub type LPRAWKEYBOARD = *mut RAWKEYBOARD; -pub const KEYBOARD_OVERRUN_MAKE_CODE: DWORD = 0xFF; -pub const RI_KEY_MAKE: DWORD = 0; -pub const RI_KEY_BREAK: DWORD = 1; -pub const RI_KEY_E0: DWORD = 2; -pub const RI_KEY_E1: DWORD = 4; -pub const RI_KEY_TERMSRV_SET_LED: DWORD = 8; -pub const RI_KEY_TERMSRV_SHADOW: DWORD = 0x10; -STRUCT!{struct RAWHID { - dwSizeHid: DWORD, - dwCount: DWORD, - bRawData: [BYTE; 1], -}} -pub type PRAWHID = *mut RAWHID; -pub type LPRAWHID = *mut RAWHID; -UNION!{union RAWINPUT_data { - [u32; 6], - mouse mouse_mut: RAWMOUSE, - keyboard keyboard_mut: RAWKEYBOARD, - hid hid_mut: RAWHID, -}} -STRUCT!{struct RAWINPUT { - header: RAWINPUTHEADER, - data: RAWINPUT_data, -}} -pub type PRAWINPUT = *mut RAWINPUT; -pub type LPRAWINPUT = *mut RAWINPUT; -pub const RID_INPUT: DWORD = 0x10000003; -pub const RID_HEADER: DWORD = 0x10000005; -extern "system" { - pub fn GetRawInputData( - hRawInput: HRAWINPUT, - uiCommand: UINT, - pData: LPVOID, - pcbSize: PUINT, - cbSizeHeader: UINT, - ) -> UINT; -} -pub const RIDI_PREPARSEDDATA: DWORD = 0x20000005; -pub const RIDI_DEVICENAME: DWORD = 0x20000007; -pub const RIDI_DEVICEINFO: DWORD = 0x2000000b; -STRUCT!{struct RID_DEVICE_INFO_MOUSE { - dwId: DWORD, - dwNumberOfButtons: DWORD, - dwSampleRate: DWORD, - fHasHorizontalWheel: BOOL, -}} -pub type PRID_DEVICE_INFO_MOUSE = *mut RID_DEVICE_INFO_MOUSE; -STRUCT!{struct RID_DEVICE_INFO_KEYBOARD { - dwType: DWORD, - dwSubType: DWORD, - dwKeyboardMode: DWORD, - dwNumberOfFunctionKeys: DWORD, - dwNumberOfIndicators: DWORD, - dwNumberOfKeysTotal: DWORD, -}} -pub type PRID_DEVICE_INFO_KEYBOARD = *mut RID_DEVICE_INFO_KEYBOARD; -STRUCT!{struct RID_DEVICE_INFO_HID { - dwVendorId: DWORD, - dwProductId: DWORD, - dwVersionNumber: DWORD, - usUsagePage: USHORT, - usUsage: USHORT, -}} -pub type PRID_DEVICE_INFO_HID = *mut RID_DEVICE_INFO_HID; -UNION!{union RID_DEVICE_INFO_u { - [u32; 6], - mouse mouse_mut: RID_DEVICE_INFO_MOUSE, - keyboard keyboard_mut: RID_DEVICE_INFO_KEYBOARD, - hid hid_mut: RID_DEVICE_INFO_HID, -}} -STRUCT!{struct RID_DEVICE_INFO { - cbSize: DWORD, - dwType: DWORD, - u: RID_DEVICE_INFO_u, -}} -pub type PRID_DEVICE_INFO = *mut RID_DEVICE_INFO; -pub type LPRID_DEVICE_INFO = *mut RID_DEVICE_INFO; -extern "system" { - pub fn GetRawInputDeviceInfoA( - hDevice: HANDLE, - uiCommand: UINT, - pData: LPVOID, - pcbSize: PUINT, - ) -> UINT; - pub fn GetRawInputDeviceInfoW( - hDevice: HANDLE, - uiCommand: UINT, - pData: LPVOID, - pcbSize: PUINT, - ) -> UINT; - pub fn GetRawInputBuffer( - pData: PRAWINPUT, - pcbSize: PUINT, - cbSizeHeader: UINT, - ) -> UINT; -} -STRUCT!{struct RAWINPUTDEVICE { - usUsagePage: USHORT, - usUsage: USHORT, - dwFlags: DWORD, - hwndTarget: HWND, -}} -pub type PRAWINPUTDEVICE = *mut RAWINPUTDEVICE; -pub type LPRAWINPUTDEVICE = *mut RAWINPUTDEVICE; -pub type PCRAWINPUTDEVICE = *const RAWINPUTDEVICE; -pub const RIDEV_REMOVE: DWORD = 0x00000001; -pub const RIDEV_EXCLUDE: DWORD = 0x00000010; -pub const RIDEV_PAGEONLY: DWORD = 0x00000020; -pub const RIDEV_NOLEGACY: DWORD = 0x00000030; -pub const RIDEV_INPUTSINK: DWORD = 0x00000100; -pub const RIDEV_CAPTUREMOUSE: DWORD = 0x00000200; -pub const RIDEV_NOHOTKEYS: DWORD = 0x00000200; -pub const RIDEV_APPKEYS: DWORD = 0x00000400; -pub const RIDEV_EXINPUTSINK: DWORD = 0x00001000; -pub const RIDEV_DEVNOTIFY: DWORD = 0x00002000; -pub const RIDEV_EXMODEMASK: DWORD = 0x000000F0; -pub const GIDC_ARRIVAL: DWORD = 1; -pub const GIDC_REMOVAL: DWORD = 2; -extern "system" { - pub fn RegisterRawInputDevices( - pRawInputDevices: PCRAWINPUTDEVICE, - uiNumDevices: UINT, - cbSize: UINT, - ) -> BOOL; - pub fn GetRegisteredRawInputDevices( - pRawInputDevices: PRAWINPUTDEVICE, - puiNumDevices: PUINT, - cbSize: UINT, - ) -> UINT; -} -STRUCT!{struct RAWINPUTDEVICELIST { - hDevice: HANDLE, - dwType: DWORD, -}} -pub type PRAWINPUTDEVICELIST = *mut RAWINPUTDEVICELIST; -extern "system" { - pub fn GetRawInputDeviceList( - pRawInputDeviceList: PRAWINPUTDEVICELIST, - puiNumDevices: PUINT, - cbSize: UINT, - ) -> UINT; - pub fn DefRawInputProc( - paRawInput: *mut PRAWINPUT, - nInput: INT, - cbSizeHeader: UINT, - ) -> LRESULT; - pub fn ChangeWindowMessageFilter( - message: UINT, - dwFlag: DWORD, - ) -> BOOL; -} -STRUCT!{struct CHANGEFILTERSTRUCT { - cbSize: DWORD, - ExtStatus: DWORD, -}} -extern "system" { - pub fn ChangeWindowMessageFilterEx( - hwnd: HWND, - message: UINT, - action: DWORD, - pChangeFilterStruct: PCHANGEFILTERSTRUCT, - ) -> BOOL; -} -pub type PCHANGEFILTERSTRUCT = *mut CHANGEFILTERSTRUCT; -// if WINVER >= 0x0601 -// GetSystemMetrics(SM_DIGITIZER) flag values -pub const NID_INTEGRATED_TOUCH: UINT = 0x00000001; -pub const NID_EXTERNAL_TOUCH: UINT = 0x00000002; -pub const NID_INTEGRATED_PEN: UINT = 0x00000004; -pub const NID_EXTERNAL_PEN: UINT = 0x00000008; -pub const NID_MULTI_INPUT: UINT = 0x00000040; -pub const NID_READY: UINT = 0x00000080; -// end if WINVER >= 0x0601 -// System Menu Command Values -// -STRUCT!{struct ANIMATIONINFO { - cbSize: UINT, - iMinAnimate: c_int, -}} -pub type LPANIMATIONINFO = *mut ANIMATIONINFO; -pub const SPIF_UPDATEINIFILE: UINT = 0x0001; -pub const SPIF_SENDWININICHANGE: UINT = 0x0002; -pub const SPIF_SENDCHANGE: UINT = SPIF_SENDWININICHANGE; -extern "system" { - pub fn LoadIconA( - hInstance: HINSTANCE, - lpIconName: LPCSTR, - ) -> HICON; - pub fn LoadIconW( - hInstance: HINSTANCE, - lpIconName: LPCWSTR, - ) -> HICON; - pub fn IsImmersiveProcess( - hProcess: HANDLE, - ) -> BOOL; -} -pub const MAX_STR_BLOCKREASON: usize = 256; -extern "system" { - pub fn ShutdownBlockReasonCreate( - hWnd: HWND, - pwszReason: LPCWSTR, - ) -> BOOL; - pub fn ShutdownBlockReasonQuery( - hWnd: HWND, - pwszBuff: LPWSTR, - pcchBuff: *mut DWORD, - ) -> BOOL; - pub fn ShutdownBlockReasonDestroy( - hWnd: HWND, - ) -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/winver.rs b/vendor/registry-40351f815f426200/winapi/src/um/winver.rs deleted file mode 100644 index 5d25c678f..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/winver.rs +++ /dev/null @@ -1,53 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -//! Version management functions, types, and definitions -use ctypes::c_void; -use shared::minwindef::{BOOL, DWORD, LPCVOID, LPVOID, PUINT}; -use um::winnt::{LPCSTR, LPCWSTR, LPSTR, LPWSTR}; -extern "system" { - pub fn GetFileVersionInfoSizeA( - lptstrFilename: LPCSTR, - lpdwHandle: *mut DWORD, - ) -> DWORD; - pub fn GetFileVersionInfoSizeW( - lptstrFilename: LPCWSTR, - lpdwHandle: *mut DWORD, - ) -> DWORD; - pub fn GetFileVersionInfoA( - lptstrFilename: LPCSTR, - dwHandle: DWORD, - dwLen: DWORD, - lpData: *mut c_void, - ) -> BOOL; - pub fn GetFileVersionInfoW( - lptstrFilename: LPCWSTR, - dwHandle: DWORD, - dwLen: DWORD, - lpData: *mut c_void, - ) -> BOOL; - pub fn VerQueryValueA( - pBlock: LPCVOID, - lpSubBlock: LPCSTR, - lplpBuffer: &mut LPVOID, - puLen: PUINT, - ) -> BOOL; - pub fn VerQueryValueW( - pBlock: LPCVOID, - lpSubBlock: LPCWSTR, - lplpBuffer: &mut LPVOID, - puLen: PUINT, - ) -> BOOL; - pub fn VerLanguageNameA( - wLang: DWORD, - szLang: LPSTR, - cchLang: DWORD, - ) -> DWORD; - pub fn VerLanguageNameW( - wLang: DWORD, - szLang: LPWSTR, - cchLang: DWORD, - ) -> DWORD; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/wow64apiset.rs b/vendor/registry-40351f815f426200/winapi/src/um/wow64apiset.rs deleted file mode 100644 index b8ce4aaff..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/wow64apiset.rs +++ /dev/null @@ -1,27 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::minwindef::{BOOL, PBOOL, UINT}; -use um::winnt::{HANDLE, LPSTR, LPWSTR, PVOID}; -extern "system" { - pub fn Wow64DisableWow64FsRedirection( - OldValue: *mut PVOID, - ) -> BOOL; - pub fn Wow64RevertWow64FsRedirection( - OlValue: PVOID, - ) -> BOOL; - pub fn IsWow64Process( - hProcess: HANDLE, - Wow64Process: PBOOL, - ) -> BOOL; - pub fn GetSystemWow64DirectoryA( - lpBuffer: LPSTR, - uSize: UINT, - ) -> UINT; - pub fn GetSystemWow64DirectoryW( - lpBuffer: LPWSTR, - uSize: UINT, - ) -> UINT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/wpdmtpextensions.rs b/vendor/registry-40351f815f426200/winapi/src/um/wpdmtpextensions.rs deleted file mode 100644 index f760e9936..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/wpdmtpextensions.rs +++ /dev/null @@ -1,59 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -DEFINE_GUID!{WPD_CATEGORY_MTP_EXT_VENDOR_OPERATIONS, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56} -DEFINE_PROPERTYKEY!{WPD_COMMAND_MTP_EXT_GET_SUPPORTED_VENDOR_OPCODES, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 11} -DEFINE_PROPERTYKEY!{WPD_COMMAND_MTP_EXT_EXECUTE_COMMAND_WITHOUT_DATA_PHASE, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 12} -DEFINE_PROPERTYKEY!{WPD_COMMAND_MTP_EXT_EXECUTE_COMMAND_WITH_DATA_TO_READ, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 13} -DEFINE_PROPERTYKEY!{WPD_COMMAND_MTP_EXT_EXECUTE_COMMAND_WITH_DATA_TO_WRITE, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 14} -DEFINE_PROPERTYKEY!{WPD_COMMAND_MTP_EXT_READ_DATA, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 15} -DEFINE_PROPERTYKEY!{WPD_COMMAND_MTP_EXT_WRITE_DATA, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 16} -DEFINE_PROPERTYKEY!{WPD_COMMAND_MTP_EXT_END_DATA_TRANSFER, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 17} -DEFINE_PROPERTYKEY!{WPD_COMMAND_MTP_EXT_GET_VENDOR_EXTENSION_DESCRIPTION, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 18} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_MTP_EXT_OPERATION_CODE, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 1001} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_MTP_EXT_OPERATION_PARAMS, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 1002} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_MTP_EXT_RESPONSE_CODE, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 1003} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_MTP_EXT_RESPONSE_PARAMS, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 1004} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_MTP_EXT_VENDOR_OPERATION_CODES, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 1005} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_MTP_EXT_TRANSFER_CONTEXT, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 1006} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_MTP_EXT_TRANSFER_TOTAL_DATA_SIZE, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 1007} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_MTP_EXT_TRANSFER_NUM_BYTES_TO_READ, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 1008} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_MTP_EXT_TRANSFER_NUM_BYTES_READ, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 1009} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_MTP_EXT_TRANSFER_NUM_BYTES_TO_WRITE, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 1010} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_MTP_EXT_TRANSFER_NUM_BYTES_WRITTEN, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 1011} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_MTP_EXT_TRANSFER_DATA, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 1012} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_MTP_EXT_OPTIMAL_TRANSFER_BUFFER_SIZE, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 1013} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_MTP_EXT_VENDOR_EXTENSION_DESCRIPTION, - 0x4d545058, 0x1a2e, 0x4106, 0xa3, 0x57, 0x77, 0x1e, 0x08, 0x19, 0xfc, 0x56, 1014} -DEFINE_GUID!{WPD_PROPERTIES_MTP_VENDOR_EXTENDED_OBJECT_PROPS, - 0x4d545058, 0x4fce, 0x4578, 0x95, 0xc8, 0x86, 0x98, 0xa9, 0xbc, 0x0f, 0x49} -DEFINE_GUID!{WPD_PROPERTIES_MTP_VENDOR_EXTENDED_DEVICE_PROPS, - 0x4d545058, 0x8900, 0x40b3, 0x8f, 0x1d, 0xdc, 0x24, 0x6e, 0x1e, 0x83, 0x70} -DEFINE_GUID!{WPD_EVENT_MTP_VENDOR_EXTENDED_EVENTS, - 0x00000000, 0x5738, 0x4ff2, 0x84, 0x45, 0xbe, 0x31, 0x26, 0x69, 0x10, 0x59} -DEFINE_PROPERTYKEY!{WPD_PROPERTY_MTP_EXT_EVENT_PARAMS, - 0x4d545058, 0xef88, 0x4e4d, 0x95, 0xc3, 0x4f, 0x32, 0x7f, 0x72, 0x8a, 0x96, 1011} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/ws2spi.rs b/vendor/registry-40351f815f426200/winapi/src/um/ws2spi.rs deleted file mode 100644 index 2b9136ea3..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/ws2spi.rs +++ /dev/null @@ -1,909 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Definitions to be used with the WinSock service provider. -use ctypes::{c_char, c_int, c_long, c_uint}; -use shared::basetsd::{DWORD_PTR, PDWORD_PTR, ULONG_PTR}; -use shared::guiddef::{GUID, LPGUID}; -use shared::minwindef::{ - BOOL, DWORD, INT, LPARAM, LPDWORD, LPHANDLE, LPINT, LPVOID, PBYTE, UINT, WORD, WPARAM, -}; -use shared::windef::HWND; -use shared::ws2def::{LPSOCKADDR, LPWSABUF, SOCKADDR}; -use shared::wtypesbase::LPBLOB; -use um::winnt::{HANDLE, LPCWSTR, LPWSTR, PVOID, WCHAR}; -use um::winsock2::{ - GROUP, LPCONDITIONPROC, LPQOS, LPWSACOMPLETION, LPWSANETWORKEVENTS, LPWSAOVERLAPPED, - LPWSAOVERLAPPED_COMPLETION_ROUTINE, LPWSAPROTOCOL_INFOW, LPWSAQUERYSET2W, LPWSAQUERYSETW, - LPWSASERVICECLASSINFOW, SOCKET, WSAESETSERVICEOP, WSAEVENT, fd_set, timeval, -}; -#[cfg(target_pointer_width = "64")] -use um::winsock2::{LPWSANAMESPACE_INFOEXW, LPWSANAMESPACE_INFOW}; -use vc::vcruntime::size_t; -pub const WSPDESCRIPTION_LEN: usize = 255; -pub const WSS_OPERATION_IN_PROGRESS: ULONG_PTR = 0x00000103; -STRUCT!{struct WSPDATA { - wVersion: WORD, - wHighVersion: WORD, - szDescription: [WCHAR; WSPDESCRIPTION_LEN + 1], -}} -pub type LPWSPDATA = *mut WSPDATA; -STRUCT!{struct WSATHREADID { - ThreadHandle: HANDLE, - Reserved: DWORD_PTR, -}} -pub type LPWSATHREADID = *mut WSATHREADID; -FN!{stdcall LPBLOCKINGCALLBACK( - dwContext: DWORD_PTR, -) -> BOOL} -FN!{stdcall LPWSAUSERAPC( - dwContext: DWORD_PTR, -) -> ()} -FN!{stdcall LPWSPACCEPT( - s: SOCKET, - addr: *mut SOCKADDR, - addrlen: LPINT, - lpfnCondition: LPCONDITIONPROC, - dwCallbackData: DWORD_PTR, - lpErrno: LPINT, -) -> SOCKET} -FN!{stdcall LPWSPADDRESSTOSTRING( - lpsaAddress: LPSOCKADDR, - dwAddressLength: DWORD, - lpProtocolInfo: LPWSAPROTOCOL_INFOW, - lpszAddressString: LPWSTR, - lpdwAddressStringLength: LPDWORD, - lpErrno: LPINT, -) -> INT} -FN!{stdcall LPWSPASYNCSELECT( - s: SOCKET, - hWnd: HWND, - wMsg: c_uint, - lEvent: c_long, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPBIND( - s: SOCKET, - name: *mut SOCKADDR, - namelen: c_int, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPCANCELBLOCKINGCALL( - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPCLEANUP( - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPCLOSESOCKET( - s: SOCKET, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPCONNECT( - s: SOCKET, - name: *mut SOCKADDR, - namelen: c_int, - lpCallerData: LPWSABUF, - lpCalleeData: LPWSABUF, - lpSQOS: LPQOS, - lpGQOS: LPQOS, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPDUPLICATESOCKET( - s: SOCKET, - dwProcessId: DWORD, - lpProtocolInfo: LPWSAPROTOCOL_INFOW, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPENUMNETWORKEVENTS( - s: SOCKET, - hEventObject: WSAEVENT, - lpNetworkEvents: LPWSANETWORKEVENTS, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPEVENTSELECT( - s: SOCKET, - hEventObject: WSAEVENT, - lNetworkEvents: c_long, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPGETOVERLAPPEDRESULT( - s: SOCKET, - lpOverlapped: LPWSAOVERLAPPED, - lpcbTransfer: LPDWORD, - fWait: BOOL, - lpdwFlags: LPDWORD, - lpErrno: LPINT, -) -> BOOL} -FN!{stdcall LPWSPGETPEERNAME( - s: SOCKET, - name: *mut SOCKADDR, - namelen: LPINT, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPGETSOCKNAME( - s: SOCKET, - name: *mut SOCKADDR, - namelen: LPINT, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPGETSOCKOPT( - s: SOCKET, - level: c_int, - optname: c_int, - optval: *mut c_char, - optlen: LPINT, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPGETQOSBYNAME( - s: SOCKET, - lpQOSName: LPWSABUF, - lpQOS: LPQOS, - lpErrno: LPINT, -) -> BOOL} -FN!{stdcall LPWSPIOCTL( - s: SOCKET, - dwIoControlCode: DWORD, - lpvInBuffer: LPVOID, - cbInBuffer: DWORD, - lpvOutBuffer: LPVOID, - cbOutBuffer: DWORD, - lpcbBytesReturned: LPDWORD, - lpOverlapped: LPWSAOVERLAPPED, - lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, - lpThreadId: LPWSATHREADID, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPJOINLEAF( - s: SOCKET, - name: *mut SOCKADDR, - namelen: c_int, - lpCallerData: LPWSABUF, - lpCalleeData: LPWSABUF, - lpSQOS: LPQOS, - lpGQOS: LPQOS, - dwFlags: DWORD, - lpErrno: LPINT, -) -> SOCKET} -FN!{stdcall LPWSPLISTEN( - s: SOCKET, - backlog: c_int, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPRECV( - s: SOCKET, - lpBuffers: LPWSABUF, - dwBufferCount: DWORD, - lpNumberOfBytesRecvd: LPDWORD, - lpFlags: LPDWORD, - lpOverlapped: LPWSAOVERLAPPED, - lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, - lpThreadId: LPWSATHREADID, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPRECVDISCONNECT( - s: SOCKET, - lpInboundDisconnectData: LPWSABUF, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPRECVFROM( - s: SOCKET, - lpBuffers: LPWSABUF, - dwBufferCount: DWORD, - lpNumberOfBytesRecvd: LPDWORD, - lpFlags: LPDWORD, - lpFrom: *mut SOCKADDR, - lpFromlen: LPINT, - lpOverlapped: LPWSAOVERLAPPED, - lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, - lpThreadId: LPWSATHREADID, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPSELECT( - nfds: c_int, - readfds: *mut fd_set, - writefds: *mut fd_set, - exceptfds: *mut fd_set, - timeout: *const timeval, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPSEND( - s: SOCKET, - lpBuffers: LPWSABUF, - dwBufferCount: DWORD, - lpNumberOfBytesSent: LPDWORD, - dwFlags: DWORD, - lpOverlapped: LPWSAOVERLAPPED, - lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, - lpThreadId: LPWSATHREADID, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPSENDDISCONNECT( - s: SOCKET, - lpOutboundDisconnectData: LPWSABUF, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPSENDTO( - s: SOCKET, - lpBuffers: LPWSABUF, - dwBufferCount: DWORD, - lpNumberOfBytesSent: LPDWORD, - dwFlags: DWORD, - lpTo: *const SOCKADDR, - iTolen: c_int, - lpOverlapped: LPWSAOVERLAPPED, - lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, - lpThreadId: LPWSATHREADID, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPSETSOCKOPT( - s: SOCKET, - level: c_int, - optname: c_int, - optval: *const c_char, - optlen: c_int, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPSHUTDOWN( - s: SOCKET, - how: c_int, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWSPSOCKET( - af: c_int, - _type: c_int, - protocol: c_int, - lpProtocolInfo: LPWSAPROTOCOL_INFOW, - g: GROUP, - dwFlags: DWORD, - lpErrno: LPINT, -) -> SOCKET} -FN!{stdcall LPWSPSTRINGTOADDRESS( - AddressString: LPWSTR, - AddressFamily: INT, - lpProtocolInfo: LPWSAPROTOCOL_INFOW, - lpAddress: LPSOCKADDR, - lpAddressLength: LPINT, - lpErrno: LPINT, -) -> c_int} -STRUCT!{struct WSPPROC_TABLE { - lpWSPAccept: LPWSPACCEPT, - lpWSPAddressToString: LPWSPADDRESSTOSTRING, - lpWSPAsyncSelect: LPWSPASYNCSELECT, - lpWSPBind: LPWSPBIND, - lpWSPCancelBlockingCall: LPWSPCANCELBLOCKINGCALL, - lpWSPCleanup: LPWSPCLEANUP, - lpWSPCloseSocket: LPWSPCLOSESOCKET, - lpWSPConnect: LPWSPCONNECT, - lpWSPDuplicateSocket: LPWSPDUPLICATESOCKET, - lpWSPEnumNetworkEvents: LPWSPENUMNETWORKEVENTS, - lpWSPEventSelect: LPWSPEVENTSELECT, - lpWSPGetOverlappedResult: LPWSPGETOVERLAPPEDRESULT, - lpWSPGetPeerName: LPWSPGETPEERNAME, - lpWSPGetSockName: LPWSPGETSOCKNAME, - lpWSPGetSockOpt: LPWSPGETSOCKOPT, - lpWSPGetQOSByName: LPWSPGETQOSBYNAME, - lpWSPIoctl: LPWSPIOCTL, - lpWSPJoinLeaf: LPWSPJOINLEAF, - lpWSPListen: LPWSPLISTEN, - lpWSPRecv: LPWSPRECV, - lpWSPRecvDisconnect: LPWSPRECVDISCONNECT, - lpWSPRecvFrom: LPWSPRECVFROM, - lpWSPSelect: LPWSPSELECT, - lpWSPSend: LPWSPSEND, - lpWSPSendDisconnect: LPWSPSENDDISCONNECT, - lpWSPSendTo: LPWSPSENDTO, - lpWSPSetSockOpt: LPWSPSETSOCKOPT, - lpWSPShutdown: LPWSPSHUTDOWN, - lpWSPSocket: LPWSPSOCKET, - lpWSPStringToAddress: LPWSPSTRINGTOADDRESS, -}} -pub type LPWSPPROC_TABLE = *mut WSPPROC_TABLE; -FN!{stdcall LPWPUCLOSEEVENT( - hEvent: WSAEVENT, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWPUCLOSESOCKETHANDLE( - s: SOCKET, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWPUCREATEEVENT( - lpErrno: LPINT, -) -> WSAEVENT} -FN!{stdcall LPWPUCREATESOCKETHANDLE( - dwCatalogEntryId: DWORD, - dwContext: DWORD_PTR, - lpErrno: LPINT, -) -> SOCKET} -FN!{stdcall LPWPUFDISSET( - s: SOCKET, - fdset: *mut fd_set, -) -> c_int} -FN!{stdcall LPWPUGETPROVIDERPATH( - lpProviderId: LPGUID, - lpszProviderDllPath: *mut WCHAR, - lpProviderDllPathLen: LPINT, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWPUMODIFYIFSHANDLE( - dwCatalogEntryId: DWORD, - ProposedHandle: SOCKET, - lpErrno: LPINT, -) -> SOCKET} -FN!{stdcall LPWPUPOSTMESSAGE( - hWnd: HWND, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, -) -> BOOL} -FN!{stdcall LPWPUQUERYBLOCKINGCALLBACK( - dwCatalogEntryId: DWORD, - lplpfnCallback: *mut LPBLOCKINGCALLBACK, - lpdwContext: PDWORD_PTR, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWPUQUERYSOCKETHANDLECONTEXT( - s: SOCKET, - lpContext: PDWORD_PTR, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWPUQUEUEAPC( - lpThreadId: LPWSATHREADID, - lpfnUserApc: LPWSAUSERAPC, - dwContext: DWORD_PTR, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWPURESETEVENT( - hEvent: WSAEVENT, - lpErrno: LPINT, -) -> BOOL} -FN!{stdcall LPWPUSETEVENT( - hEvent: WSAEVENT, - lpErrno: LPINT, -) -> BOOL} -FN!{stdcall LPWPUOPENCURRENTTHREAD( - lpThreadId: LPWSATHREADID, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWPUCLOSETHREAD( - lpThreadId: LPWSATHREADID, - lpErrno: LPINT, -) -> c_int} -FN!{stdcall LPWPUCOMPLETEOVERLAPPEDREQUEST( - s: SOCKET, - lpOverlapped: LPWSAOVERLAPPED, - dwError: DWORD, - cbTransferred: DWORD, - lpErrno: LPINT, -) -> c_int} -STRUCT!{struct WSPUPCALLTABLE { - lpWPUCloseEvent: LPWPUCLOSEEVENT, - lpWPUCloseSocketHandle: LPWPUCLOSESOCKETHANDLE, - lpWPUCreateEvent: LPWPUCREATEEVENT, - lpWPUCreateSocketHandle: LPWPUCREATESOCKETHANDLE, - lpWPUFDIsSet: LPWPUFDISSET, - lpWPUGetProviderPath: LPWPUGETPROVIDERPATH, - lpWPUModifyIFSHandle: LPWPUMODIFYIFSHANDLE, - lpWPUPostMessage: LPWPUPOSTMESSAGE, - lpWPUQueryBlockingCallback: LPWPUQUERYBLOCKINGCALLBACK, - lpWPUQuerySocketHandleContext: LPWPUQUERYSOCKETHANDLECONTEXT, - lpWPUQueueApc: LPWPUQUEUEAPC, - lpWPUResetEvent: LPWPURESETEVENT, - lpWPUSetEvent: LPWPUSETEVENT, - lpWPUOpenCurrentThread: LPWPUOPENCURRENTTHREAD, - lpWPUCloseThread: LPWPUCLOSETHREAD, -}} -pub type LPWSPUPCALLTABLE = *mut WSPUPCALLTABLE; -extern "system" { - pub fn WSPStartup( - wVersionRequested: WORD, - lpWSPData: LPWSPDATA, - lpProtocolInfo: LPWSAPROTOCOL_INFOW, - UpcallTable: WSPUPCALLTABLE, - lpProcTable: LPWSPPROC_TABLE, - ) -> c_int; -} -FN!{stdcall LPWSPSTARTUP( - wVersionRequested: WORD, - lpWSPData: LPWSPDATA, - lpProtocolInfo: LPWSAPROTOCOL_INFOW, - UpcallTable: WSPUPCALLTABLE, - lpProcTable: LPWSPPROC_TABLE, -) -> c_int} -extern "system" { - pub fn WSCEnumProtocols( - lpiProtocols: LPINT, - lpProtocolBuffer: LPWSAPROTOCOL_INFOW, - lpdwBufferLength: LPDWORD, - lpErrno: LPINT, - ) -> c_int; -} -FN!{stdcall LPWSCENUMPROTOCOLS( - lpiProtocols: LPINT, - lpProtocolBuffer: LPWSAPROTOCOL_INFOW, - lpdwBufferLength: LPDWORD, - lpErrno: LPINT, -) -> c_int} -extern "system" { - #[cfg(target_pointer_width = "64")] - pub fn WSCEnumProtocols32( - lpiProtocols: LPINT, - lpProtocolBuffer: LPWSAPROTOCOL_INFOW, - lpdwBufferLength: LPDWORD, - lpErrno: LPINT, - ) -> c_int; - pub fn WSCDeinstallProvider( - lpProviderId: LPGUID, - lpErrno: LPINT, - ) -> c_int; -} -FN!{stdcall LPWSCDEINSTALLPROVIDER( - lpProviderId: LPGUID, - lpErrno: LPINT, -) -> c_int} -extern "system" { - #[cfg(target_pointer_width = "64")] - pub fn WSCDeinstallProvider32( - lpProviderId: LPGUID, - lpErrno: LPINT, - ) -> c_int; - pub fn WSCInstallProvider( - lpProviderId: LPGUID, - lpszProviderDllPath: *const WCHAR, - lpProtocolInfoList: LPWSAPROTOCOL_INFOW, - dwNumberOfEntries: DWORD, - lpErrno: LPINT, - ) -> c_int; -} -FN!{stdcall LPWSCINSTALLPROVIDER( - lpProviderId: LPGUID, - lpszProviderDllPath: *const WCHAR, - lpProtocolInfoList: LPWSAPROTOCOL_INFOW, - dwNumberOfEntries: DWORD, - lpErrno: LPINT, -) -> c_int} -extern "system" { - #[cfg(target_pointer_width = "64")] - pub fn WSCInstallProvider64_32( - lpProviderId: LPGUID, - lpszProviderDllPath: *const WCHAR, - lpProtocolInfoList: LPWSAPROTOCOL_INFOW, - dwNumberOfEntries: DWORD, - lpErrno: LPINT, - ) -> c_int; - pub fn WSCGetProviderPath( - lpProviderId: LPGUID, - lpszProviderDllPath: *mut WCHAR, - lpProviderDllPathLen: LPINT, - lpErrno: LPINT, - ) -> c_int; -} -FN!{stdcall LPWSCGETPROVIDERPATH( - lpProviderId: LPGUID, - lpszProviderDllPath: *mut WCHAR, - lpProviderDllPathLen: LPINT, - lpErrno: LPINT, -) -> c_int} -extern "system" { - #[cfg(target_pointer_width = "64")] - pub fn WSCGetProviderPath32( - lpProviderId: LPGUID, - lpszProviderDllPath: *mut WCHAR, - lpProviderDllPathLen: LPINT, - lpErrno: LPINT, - ) -> c_int; - pub fn WSCUpdateProvider( - lpProviderId: LPGUID, - lpszProviderDllPath: *const WCHAR, - lpProtocolInfoList: LPWSAPROTOCOL_INFOW, - dwNumberOfEntries: DWORD, - lpErrno: LPINT, - ) -> c_int; -} -FN!{stdcall LPWSCUPDATEPROVIDER( - lpProviderId: LPGUID, - lpszProviderDllPath: *const WCHAR, - lpProtocolInfoList: LPWSAPROTOCOL_INFOW, - dwNumberOfEntries: DWORD, - lpErrno: LPINT, -) -> c_int} -#[cfg(target_pointer_width = "64")] -extern "system" { - pub fn WSCUpdateProvider32( - lpProviderId: LPGUID, - lpszProviderDllPath: *const WCHAR, - lpProtocolInfoList: LPWSAPROTOCOL_INFOW, - dwNumberOfEntries: DWORD, - lpErrno: LPINT, - ) -> c_int; -} -pub const LSP_SYSTEM: DWORD = 0x80000000; -pub const LSP_INSPECTOR: DWORD = 0x00000001; -pub const LSP_REDIRECTOR: DWORD = 0x00000002; -pub const LSP_PROXY: DWORD = 0x00000004; -pub const LSP_FIREWALL: DWORD = 0x00000008; -pub const LSP_INBOUND_MODIFY: DWORD = 0x00000010; -pub const LSP_OUTBOUND_MODIFY: DWORD = 0x00000020; -pub const LSP_CRYPTO_COMPRESS: DWORD = 0x00000040; -pub const LSP_LOCAL_CACHE: DWORD = 0x00000080; -ENUM!{enum WSC_PROVIDER_INFO_TYPE { - ProviderInfoLspCategories, - ProviderInfoAudit, -}} -STRUCT!{struct WSC_PROVIDER_AUDIT_INFO { - RecordSize: DWORD, - Reserved: PVOID, -}} -extern "system" { - pub fn WSCSetProviderInfo( - lpProviderId: LPGUID, - InfoType: WSC_PROVIDER_INFO_TYPE, - Info: PBYTE, - InfoSize: size_t, - Flags: DWORD, - lpErrno: LPINT, - ) -> c_int; - pub fn WSCGetProviderInfo( - lpProviderId: LPGUID, - InfoType: WSC_PROVIDER_INFO_TYPE, - Info: PBYTE, - InfoSize: *mut size_t, - Flags: DWORD, - lpErrno: LPINT, - ) -> c_int; - #[cfg(target_pointer_width = "64")] - pub fn WSCSetProviderInfo32( - lpProviderId: LPGUID, - InfoType: WSC_PROVIDER_INFO_TYPE, - Info: PBYTE, - InfoSize: size_t, - Flags: DWORD, - lpErrno: LPINT, - ) -> c_int; - #[cfg(target_pointer_width = "64")] - pub fn WSCGetProviderInfo32( - lpProviderId: LPGUID, - InfoType: WSC_PROVIDER_INFO_TYPE, - Info: PBYTE, - InfoSize: *mut size_t, - Flags: DWORD, - lpErrno: LPINT, - ) -> c_int; - pub fn WSCSetApplicationCategory( - Path: LPCWSTR, - PathLength: DWORD, - Extra: LPCWSTR, - ExtraLength: DWORD, - PermittedLspCategories: DWORD, - pPrevPermLspCat: *mut DWORD, - lpErrno: LPINT, - ) -> c_int; - pub fn WSCGetApplicationCategory( - Path: LPCWSTR, - PathLength: DWORD, - Extra: LPCWSTR, - ExtraLength: DWORD, - pPermittedLspCategories: *mut DWORD, - lpErrno: LPINT, - ) -> c_int; - pub fn WPUCloseEvent( - hEvent: WSAEVENT, - lpErrno: LPINT, - ) -> BOOL; - pub fn WPUCloseSocketHandle( - s: SOCKET, - lpErrno: LPINT, - ) -> c_int; - pub fn WPUCreateEvent( - lpErrno: LPINT, - ) -> WSAEVENT; - pub fn WPUCreateSocketHandle( - dwCatalogEntryId: DWORD, - dwContext: DWORD_PTR, - lpErrno: LPINT, - ) -> SOCKET; - pub fn WPUFDIsSet( - s: SOCKET, - fdset: *mut fd_set, - ) -> c_int; - pub fn WPUGetProviderPath( - lpProviderId: LPGUID, - lpszProviderDllPath: *mut WCHAR, - lpProviderDllPathLen: LPINT, - lpErrno: LPINT, - ) -> c_int; - pub fn WPUModifyIFSHandle( - dwCatalogEntryId: DWORD, - ProposedHandle: SOCKET, - lpErrno: LPINT, - ) -> SOCKET; - pub fn WPUPostMessage( - hWnd: HWND, - Msg: UINT, - wParam: WPARAM, - lParam: LPARAM, - ) -> BOOL; - pub fn WPUQueryBlockingCallback( - dwCatalogEntryId: DWORD, - lplpfnCallback: *mut LPBLOCKINGCALLBACK, - lpdwContext: PDWORD_PTR, - lpErrno: LPINT, - ) -> c_int; - pub fn WPUQuerySocketHandleContext( - s: SOCKET, - lpContext: PDWORD_PTR, - lpErrno: LPINT, - ) -> c_int; - pub fn WPUQueueApc( - lpThreadId: LPWSATHREADID, - lpfnUserApc: LPWSAUSERAPC, - dwContext: DWORD_PTR, - lpErrno: LPINT, - ) -> c_int; - pub fn WPUResetEvent( - hEvent: WSAEVENT, - lpErrno: LPINT, - ) -> BOOL; - pub fn WPUSetEvent( - hEvent: WSAEVENT, - lpErrno: LPINT, - ) -> BOOL; - pub fn WPUCompleteOverlappedRequest( - s: SOCKET, - lpOverlapped: LPWSAOVERLAPPED, - dwError: DWORD, - cbTransferred: DWORD, - lpErrno: LPINT, - ) -> c_int; - pub fn WPUOpenCurrentThread( - lpThreadId: LPWSATHREADID, - lpErrno: LPINT, - ) -> c_int; - pub fn WPUCloseThread( - lpThreadId: LPWSATHREADID, - lpErrno: LPINT, - ) -> c_int; - #[cfg(target_pointer_width = "64")] - pub fn WSCEnumNameSpaceProviders32( - lpdwBufferLength: LPDWORD, - lpnspBuffer: LPWSANAMESPACE_INFOW, - ) -> INT; - #[cfg(target_pointer_width = "64")] - pub fn WSCEnumNameSpaceProvidersEx32( - lpdwBufferLength: LPDWORD, - lpnspBuffer: LPWSANAMESPACE_INFOEXW, - ) -> INT; - pub fn WSCInstallNameSpace( - lpszIdentifier: LPWSTR, - lpszPathName: LPWSTR, - dwNameSpace: DWORD, - dwVersion: DWORD, - lpProviderId: LPGUID, - ) -> INT; -} -FN!{stdcall LPWSCINSTALLNAMESPACE( - lpszIdentifier: LPWSTR, - lpszPathName: LPWSTR, - dwNameSpace: DWORD, - dwVersion: DWORD, - lpProviderId: LPGUID, -) -> INT} -extern "system" { - #[cfg(target_pointer_width = "64")] - pub fn WSCInstallNameSpace32( - lpszIdentifier: LPWSTR, - lpszPathName: LPWSTR, - dwNameSpace: DWORD, - dwVersion: DWORD, - lpProviderId: LPGUID, - ) -> INT; - pub fn WSCUnInstallNameSpace( - lpProviderId: LPGUID, - ) -> INT; -} -FN!{stdcall LPWSCUNINSTALLNAMESPACE( - lpProviderId: LPGUID, -) -> INT} -extern "system" { - pub fn WSCInstallNameSpaceEx( - lpszIdentifier: LPWSTR, - lpszPathName: LPWSTR, - dwNameSpace: DWORD, - dwVersion: DWORD, - lpProviderId: LPGUID, - lpProviderSpecific: LPBLOB, - ) -> INT; - #[cfg(target_pointer_width = "64")] - pub fn WSCInstallNameSpaceEx32( - lpszIdentifier: LPWSTR, - lpszPathName: LPWSTR, - dwNameSpace: DWORD, - dwVersion: DWORD, - lpProviderId: LPGUID, - lpProviderSpecific: LPBLOB, - ) -> INT; - #[cfg(target_pointer_width = "64")] - pub fn WSCUnInstallNameSpace32( - lpProviderId: LPGUID, - ) -> INT; - pub fn WSCEnableNSProvider( - lpProviderId: LPGUID, - fEnable: BOOL, - ) -> INT; -} -FN!{stdcall LPWSCENABLENSPROVIDER( - lpProviderId: LPGUID, - fEnable: BOOL, -) -> INT} -extern "system" { - #[cfg(target_pointer_width = "64")] - pub fn WSCEnableNSProvider32( - lpProviderId: LPGUID, - fEnable: BOOL, - ) -> INT; - #[cfg(target_pointer_width = "64")] - pub fn WSCInstallProviderAndChains64_32( - lpProviderId: LPGUID, - lpszProviderDllPath: LPWSTR, - lpszProviderDllPath32: LPWSTR, - lpszLspName: LPWSTR, - dwServiceFlags: DWORD, - lpProtocolInfoList: LPWSAPROTOCOL_INFOW, - dwNumberOfEntries: DWORD, - lpdwCatalogEntryId: LPDWORD, - lpErrno: LPINT, - ) -> c_int; - #[cfg(any(target_arch = "x86", target_arch = "arm"))] - pub fn WSCInstallProviderAndChains( - lpProviderId: LPGUID, - lpszProviderDllPath: LPWSTR, - lpszLspName: LPWSTR, - dwServiceFlags: DWORD, - lpProtocolInfoList: LPWSAPROTOCOL_INFOW, - dwNumberOfEntries: DWORD, - lpdwCatalogEntryId: LPDWORD, - lpErrno: LPINT, - ) -> c_int; -} -FN!{stdcall LPNSPCLEANUP( - lpProviderId: LPGUID, -) -> INT} -FN!{stdcall LPNSPLOOKUPSERVICEBEGIN( - lpProviderId: LPGUID, - lpqsRestrictions: LPWSAQUERYSETW, - lpServiceClassInfo: LPWSASERVICECLASSINFOW, - dwControlFlags: DWORD, - lphLookup: LPHANDLE, -) -> INT} -FN!{stdcall LPNSPLOOKUPSERVICENEXT( - hLookup: HANDLE, - dwControlFlags: DWORD, - lpdwBufferLength: LPDWORD, - lpqsResults: LPWSAQUERYSETW, -) -> INT} -FN!{stdcall LPNSPIOCTL( - hLookup: HANDLE, - dwControlCode: DWORD, - lpvInBuffer: LPVOID, - cbInBuffer: DWORD, - lpvOutBuffer: LPVOID, - cbOutBuffer: DWORD, - lpcbBytesReturned: LPDWORD, - lpCompletion: LPWSACOMPLETION, - lpThreadId: LPWSATHREADID, -) -> INT} -FN!{stdcall LPNSPLOOKUPSERVICEEND( - hLookup: HANDLE, -) -> INT} -FN!{stdcall LPNSPSETSERVICE( - lpProviderId: LPGUID, - lpServiceClassInfo: LPWSASERVICECLASSINFOW, - lpqsRegInfo: LPWSAQUERYSETW, - essOperation: WSAESETSERVICEOP, - dwControlFlags: DWORD, -) -> INT} -FN!{stdcall LPNSPINSTALLSERVICECLASS( - lpProviderId: LPGUID, - lpServiceClassInfo: LPWSASERVICECLASSINFOW, -) -> INT} -FN!{stdcall LPNSPREMOVESERVICECLASS( - lpProviderId: LPGUID, - lpServiceClassId: LPGUID, -) -> INT} -FN!{stdcall LPNSPGETSERVICECLASSINFO( - lpProviderId: LPGUID, - lpdwBufSize: LPDWORD, - lpServiceClassInfo: LPWSASERVICECLASSINFOW, -) -> INT} -STRUCT!{struct NSP_ROUTINE { - cbSize: DWORD, - dwMajorVersion: DWORD, - dwMinorVersion: DWORD, - NSPCleanup: LPNSPCLEANUP, - NSPLookupServiceBegin: LPNSPLOOKUPSERVICEBEGIN, - NSPLookupServiceNext: LPNSPLOOKUPSERVICENEXT, - NSPLookupServiceEnd: LPNSPLOOKUPSERVICEEND, - NSPSetService: LPNSPSETSERVICE, - NSPInstallServiceClass: LPNSPINSTALLSERVICECLASS, - NSPRemoveServiceClass: LPNSPREMOVESERVICECLASS, - NSPGetServiceClassInfo: LPNSPGETSERVICECLASSINFO, - NSPIoctl: LPNSPIOCTL, -}} -pub type LPNSP_ROUTINE = *mut NSP_ROUTINE; -extern "system" { - pub fn NSPStartup( - lpProviderId: LPGUID, - lpnspRoutines: LPNSP_ROUTINE, - ) -> INT; -} -FN!{stdcall LPNSPSTARTUP( - lpProviderId: LPGUID, - lpnspRoutines: LPNSP_ROUTINE, -) -> INT} -FN!{stdcall LPNSPV2STARTUP( - lpProviderId: LPGUID, - ppvClientSessionArg: *mut LPVOID, -) -> INT} -FN!{stdcall LPNSPV2CLEANUP( - lpProviderId: LPGUID, - pvClientSessionArg: LPVOID, -) -> INT} -FN!{stdcall LPNSPV2LOOKUPSERVICEBEGIN( - lpProviderId: LPGUID, - lpqsRestrictions: LPWSAQUERYSET2W, - dwControlFlags: DWORD, - lpvClientSessionArg: LPVOID, - lphLookup: LPHANDLE, -) -> INT} -FN!{stdcall LPNSPV2LOOKUPSERVICENEXTEX( - hAsyncCall: HANDLE, - hLookup: HANDLE, - dwControlFlags: DWORD, - lpdwBufferLength: LPDWORD, - lpqsResults: LPWSAQUERYSET2W, -) -> ()} -FN!{stdcall LPNSPV2LOOKUPSERVICEEND( - hLookup: HANDLE, -) -> INT} -FN!{stdcall LPNSPV2SETSERVICEEX( - hAsyncCall: HANDLE, - lpProviderId: LPGUID, - lpqsRegInfo: LPWSAQUERYSET2W, - essOperation: WSAESETSERVICEOP, - dwControlFlags: DWORD, - lpvClientSessionArg: LPVOID, -) -> ()} -FN!{stdcall LPNSPV2CLIENTSESSIONRUNDOWN( - lpProviderId: LPGUID, - pvClientSessionArg: LPVOID, -) -> ()} -STRUCT!{struct NSPV2_ROUTINE { - cbSize: DWORD, - dwMajorVersion: DWORD, - dwMinorVersion: DWORD, - NSPv2Startup: LPNSPV2STARTUP, - NSPv2Cleanup: LPNSPV2CLEANUP, - NSPv2LookupServiceBegin: LPNSPV2LOOKUPSERVICEBEGIN, - NSPv2LookupServiceNextEx: LPNSPV2LOOKUPSERVICENEXTEX, - NSPv2LookupServiceEnd: LPNSPV2LOOKUPSERVICEEND, - NSPv2SetServiceEx: LPNSPV2SETSERVICEEX, - NSPv2ClientSessionRundown: LPNSPV2CLIENTSESSIONRUNDOWN, -}} -pub type PNSPV2_ROUTINE = *mut NSPV2_ROUTINE; -pub type LPNSPV2_ROUTINE = *mut NSPV2_ROUTINE; -pub type PCNSPV2_ROUTINE = *const NSPV2_ROUTINE; -pub type LPCNSPV2_ROUTINE = *const NSPV2_ROUTINE; -extern "system" { - pub fn WSAAdvertiseProvider( - puuidProviderId: *const GUID, - pNSPv2Routine: *const LPCNSPV2_ROUTINE, - ) -> INT; - pub fn WSAUnadvertiseProvider( - puuidProviderId: *const GUID, - ) -> INT; - pub fn WSAProviderCompleteAsyncCall( - hAsyncCall: HANDLE, - iRetCode: INT, - ) -> INT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/ws2tcpip.rs b/vendor/registry-40351f815f426200/winapi/src/um/ws2tcpip.rs deleted file mode 100644 index 4867c74a2..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/ws2tcpip.rs +++ /dev/null @@ -1,346 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms -//! WinSock2 Extension for TCP/IP protocols -use ctypes::c_int; -use shared::guiddef::LPGUID; -use shared::minwindef::{DWORD, INT, LPHANDLE, ULONG}; -use shared::mstcpip::{ - SOCKET_PEER_TARGET_NAME, SOCKET_SECURITY_QUERY_INFO, SOCKET_SECURITY_QUERY_TEMPLATE, - SOCKET_SECURITY_SETTINGS, -}; -use shared::winerror::{ - WSAEAFNOSUPPORT, WSAEINVAL, WSAESOCKTNOSUPPORT, WSAHOST_NOT_FOUND, WSANO_RECOVERY, - WSATRY_AGAIN, WSATYPE_NOT_FOUND, WSA_IPSEC_NAME_POLICY_ERROR, WSA_SECURE_HOST_NOT_FOUND, -}; -use shared::ws2def::{ - ADDRINFOA, ADDRINFOEXA, ADDRINFOEXW, ADDRINFOW, PADDRINFOA, PADDRINFOEXA, PADDRINFOEXW, - PADDRINFOW, SOCKADDR, SOCKET_ADDRESS, -}; -use shared::wtypesbase::LPBLOB; -use um::minwinbase::LPOVERLAPPED; -use um::winnt::{PCHAR, PCSTR, PCWSTR, PSTR, PVOID, PWCHAR, PWSTR, VOID}; -use um::winsock2::{ - LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE, SOCKET, WSA_NOT_ENOUGH_MEMORY, timeval, -}; -use vc::vcruntime::size_t; -pub const UDP_NOCHECKSUM: c_int = 1; -pub const UDP_CHECKSUM_COVERAGE: c_int = 20; -pub const EAI_AGAIN: DWORD = WSATRY_AGAIN; -pub const EAI_BADFLAGS: DWORD = WSAEINVAL; -pub const EAI_FAIL: DWORD = WSANO_RECOVERY; -pub const EAI_FAMILY: DWORD = WSAEAFNOSUPPORT; -pub const EAI_MEMORY: DWORD = WSA_NOT_ENOUGH_MEMORY as u32; -pub const EAI_NOSECURENAME: DWORD = WSA_SECURE_HOST_NOT_FOUND; -pub const EAI_NONAME: DWORD = WSAHOST_NOT_FOUND; -pub const EAI_SERVICE: DWORD = WSATYPE_NOT_FOUND; -pub const EAI_SOCKTYPE: DWORD = WSAESOCKTNOSUPPORT; -pub const EAI_IPSECPOLICY: DWORD = WSA_IPSEC_NAME_POLICY_ERROR; -pub const EAI_NODATA: DWORD = EAI_NONAME; -pub type ADDRINFO = ADDRINFOA; -pub type LPADDRINFO = *mut ADDRINFOA; -extern "system" { - pub fn getaddrinfo( - pNodeName: PCSTR, - pServiceName: PCSTR, - pHints: *const ADDRINFOA, - ppResult: *mut PADDRINFOA, - ) -> INT; - pub fn GetAddrInfoW( - pNodeName: PCWSTR, - pServiceName: PCWSTR, - pHints: *const ADDRINFOW, - ppResult: *mut PADDRINFOW, - ) -> INT; -} -FN!{stdcall LPFN_GETADDRINFO( - pNodeName: PCSTR, - pServiceName: PCSTR, - pHints: *const ADDRINFOA, - ppResult: *mut PADDRINFOA, -) -> INT} -FN!{stdcall LPFN_GETADDRINFOW( - pNodeName: PCWSTR, - pServiceName: PCWSTR, - pHints: *const ADDRINFOW, - ppResult: *mut PADDRINFOW, -) -> INT} -FN!{stdcall LPLOOKUPSERVICE_COMPLETION_ROUTINE( - dwError: DWORD, - dwBytes: DWORD, - lpOverlapped: LPWSAOVERLAPPED, -) -> ()} -extern "system" { - pub fn GetAddrInfoExA( - pName: PCSTR, - pServiceName: PCSTR, - dwNameSpace: DWORD, - lpNspId: LPGUID, - hints: *const ADDRINFOEXA, - ppResult: *mut PADDRINFOEXA, - timeout: *mut timeval, - lpOverlapped: LPOVERLAPPED, - lpCompletionRoutine: LPLOOKUPSERVICE_COMPLETION_ROUTINE, - lpNameHandle: LPHANDLE, - ) -> INT; - pub fn GetAddrInfoExW( - pName: PCWSTR, - pServiceName: PCWSTR, - dwNameSpace: DWORD, - lpNspId: LPGUID, - hints: *const ADDRINFOEXW, - ppResult: *mut PADDRINFOEXW, - timeout: *mut timeval, - lpOverlapped: LPOVERLAPPED, - lpCompletionRoutine: LPLOOKUPSERVICE_COMPLETION_ROUTINE, - lpNameHandle: LPHANDLE, - ) -> INT; - pub fn GetAddrInfoExCancel( - lpHandle: LPHANDLE, - ) -> INT; - pub fn GetAddrInfoExOverlappedResult( - lpOverlapped: LPOVERLAPPED, - ) -> INT; -} -FN!{stdcall LPFN_GETADDRINFOEXA( - pName: PCSTR, - pServiceName: PCSTR, - dwNameSpace: DWORD, - lpNspId: LPGUID, - hints: *const ADDRINFOEXA, - ppResult: *mut PADDRINFOEXA, - timeout: *mut timeval, - lpOverlapped: LPOVERLAPPED, - lpCompletionRoutine: LPLOOKUPSERVICE_COMPLETION_ROUTINE, - lpNameHandle: LPHANDLE, -) -> INT} -FN!{stdcall LPFN_GETADDRINFOEXW( - pName: PCWSTR, - pServiceName: PCWSTR, - dwNameSpace: DWORD, - lpNspId: LPGUID, - hints: *const ADDRINFOEXW, - ppResult: *mut PADDRINFOEXW, - timeout: *mut timeval, - lpOverlapped: LPOVERLAPPED, - lpCompletionRoutine: LPLOOKUPSERVICE_COMPLETION_ROUTINE, - lpNameHandle: LPHANDLE, -) -> INT} -FN!{stdcall LPFN_GETADDRINFOEXCANCEL( - lpHandle: LPHANDLE, -) -> INT} -FN!{stdcall LPFN_GETADDRINFOEXOVERLAPPEDRESULT( - lpOverlapped: LPOVERLAPPED, -) -> INT} -extern "system" { - pub fn SetAddrInfoExA( - pName: PCSTR, - pServiceName: PCSTR, - pAddresses: *mut SOCKET_ADDRESS, - dwAddressCount: DWORD, - lpBlob: LPBLOB, - dwFlags: DWORD, - dwNameSpace: DWORD, - lpNspId: LPGUID, - timeout: *mut timeval, - lpOverlapped: LPOVERLAPPED, - lpCompletionRoutine: LPLOOKUPSERVICE_COMPLETION_ROUTINE, - lpNameHandle: LPHANDLE, - ) -> INT; - pub fn SetAddrInfoExW( - pName: PCWSTR, - pServiceName: PCWSTR, - pAddresses: *mut SOCKET_ADDRESS, - dwAddressCount: DWORD, - lpBlob: LPBLOB, - dwFlags: DWORD, - dwNameSpace: DWORD, - lpNspId: LPGUID, - timeout: *mut timeval, - lpOverlapped: LPOVERLAPPED, - lpCompletionRoutine: LPLOOKUPSERVICE_COMPLETION_ROUTINE, - lpNameHandle: LPHANDLE, - ) -> INT; -} -FN!{stdcall LPFN_SETADDRINFOEXA( - pName: PCSTR, - pServiceName: PCSTR, - pAddresses: *mut SOCKET_ADDRESS, - dwAddressCount: DWORD, - lpBlob: LPBLOB, - dwFlags: DWORD, - dwNameSpace: DWORD, - lpNspId: LPGUID, - timeout: *mut timeval, - lpOverlapped: LPOVERLAPPED, - lpCompletionRoutine: LPLOOKUPSERVICE_COMPLETION_ROUTINE, - lpNameHandle: LPHANDLE, -) -> INT} -FN!{stdcall LPFN_SETADDRINFOEXW( - pName: PCWSTR, - pServiceName: PCWSTR, - pAddresses: *mut SOCKET_ADDRESS, - dwAddressCount: DWORD, - lpBlob: LPBLOB, - dwFlags: DWORD, - dwNameSpace: DWORD, - lpNspId: LPGUID, - timeout: *mut timeval, - lpOverlapped: LPOVERLAPPED, - lpCompletionRoutine: LPLOOKUPSERVICE_COMPLETION_ROUTINE, - lpNameHandle: LPHANDLE, -) -> INT} -extern "system" { - pub fn freeaddrinfo( - pAddrInfo: PADDRINFOA, - ); - pub fn FreeAddrInfoW( - pAddrInfo: PADDRINFOW, - ); -} -FN!{stdcall LPFN_FREEADDRINFO( - pAddrInfo: PADDRINFOA, -) -> ()} -FN!{stdcall LPFN_FREEADDRINFOW( - pAddrInfo: PADDRINFOW, -) -> ()} -extern "system" { - pub fn FreeAddrInfoEx( - pAddrInfoEx: PADDRINFOEXA, - ); - pub fn FreeAddrInfoExW( - pAddrInfoEx: PADDRINFOEXW, - ); -} -FN!{stdcall LPFN_FREEADDRINFOEXA( - pAddrInfoEx: PADDRINFOEXA, -) -> ()} -FN!{stdcall LPFN_FREEADDRINFOEXW( - pAddrInfoEx: PADDRINFOEXW, -) -> ()} -pub type socklen_t = c_int; -extern "system" { - pub fn getnameinfo( - pSockaddr: *const SOCKADDR, - SockaddrLength: socklen_t, - pNodeBuffer: PCHAR, - NodeBufferSize: DWORD, - pServiceBuffer: PCHAR, - ServiceBufferSize: DWORD, - Flags: INT, - ) -> INT; - pub fn GetNameInfoW( - pSockaddr: *const SOCKADDR, - SockaddrLength: socklen_t, - pNodeBuffer: PWCHAR, - NodeBufferSize: DWORD, - pServiceBuffer: PWCHAR, - ServiceBufferSize: DWORD, - Flags: INT, - ) -> INT; -} -FN!{stdcall LPFN_GETNAMEINFO( - pSockaddr: *const SOCKADDR, - SockaddrLength: socklen_t, - pNodeBuffer: PCHAR, - NodeBufferSize: DWORD, - pServiceBuffer: PCHAR, - ServiceBufferSize: DWORD, - Flags: INT, -) -> c_int} -FN!{stdcall LPFN_GETNAMEINFOW( - pSockaddr: *const SOCKADDR, - SockaddrLength: socklen_t, - pNodeBuffer: PWCHAR, - NodeBufferSize: DWORD, - pServiceBuffer: PWCHAR, - ServiceBufferSize: DWORD, - Flags: INT, -) -> INT} -extern "system" { - pub fn inet_pton( - Family: INT, - pszAddrString: PCSTR, - pAddrBuf: PVOID, - ) -> INT; - pub fn InetPtonW( - Family: INT, - pszAddrString: PCWSTR, - pAddrBuf: PVOID, - ) -> INT; - pub fn inet_ntop( - Family: INT, - pAddr: *const VOID, - pStringBuf: PSTR, - StringBufSize: size_t, - ) -> PCSTR; - pub fn InetNtopW( - Family: INT, - pAddr: *const VOID, - pStringBuf: PWSTR, - StringBufSize: size_t, - ) -> PCWSTR; -} -FN!{stdcall LPFN_INET_PTONA( - Family: INT, - pszAddrString: PCSTR, - pAddrBuf: PVOID, -) -> INT} -FN!{stdcall LPFN_INET_PTONW( - Family: INT, - pszAddrString: PCWSTR, - pAddrBuf: PVOID, -) -> INT} -FN!{stdcall LPFN_INET_NTOPA( - Family: INT, - pAddr: *const VOID, - pStringBuf: PSTR, - StringBufSize: size_t, -) -> PCSTR} -FN!{stdcall LPFN_INET_NTOPW( - Family: INT, - pAddr: *const VOID, - pStringBuf: PWSTR, - StringBufSize: size_t, -) -> PCWSTR} -pub const GAI_STRERROR_BUFFER_SIZE: usize = 1024; -extern "system" { - pub fn WSASetSocketSecurity( - Socket: SOCKET, - SecuritySettings: *const SOCKET_SECURITY_SETTINGS, - SecuritySettingsLen: ULONG, - Overlapped: LPWSAOVERLAPPED, - CompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, - ) -> INT; - pub fn WSAQuerySocketSecurity( - Socket: SOCKET, - SecurityQueryTemplate: *const SOCKET_SECURITY_QUERY_TEMPLATE, - SecurityQueryTemplateLen: ULONG, - SecurityQueryInfo: *mut SOCKET_SECURITY_QUERY_INFO, - SecurityQueryInfoLen: *mut ULONG, - Overlapped: LPWSAOVERLAPPED, - CompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, - ) -> INT; - pub fn WSASetSocketPeerTargetName( - Socket: SOCKET, - PeerTargetName: *const SOCKET_PEER_TARGET_NAME, - PeerTargetNameLen: ULONG, - Overlapped: LPWSAOVERLAPPED, - CompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, - ) -> INT; - pub fn WSADeleteSocketPeerTargetName( - Socket: SOCKET, - PeerAddr: *const SOCKADDR, - PeerAddrLen: ULONG, - Overlapped: LPWSAOVERLAPPED, - CompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, - ) -> INT; - pub fn WSAImpersonateSocketPeer( - Socket: SOCKET, - PeerAddr: *const SOCKADDR, - PeerAddrLen: ULONG, - ) -> INT; - pub fn WSARevertImpersonation(); -} diff --git a/vendor/registry-40351f815f426200/winapi/src/um/xinput.rs b/vendor/registry-40351f815f426200/winapi/src/um/xinput.rs deleted file mode 100644 index e583c1e1f..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/um/xinput.rs +++ /dev/null @@ -1,165 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! XInput procedure declarations, constant definitions and macros -use shared::guiddef::GUID; -use shared::minwindef::{BOOL, BYTE, DWORD, UINT, WORD}; -use um::winnt::{LPWSTR, SHORT, WCHAR}; -pub const XINPUT_DEVTYPE_GAMEPAD: BYTE = 0x01; -pub const XINPUT_DEVSUBTYPE_GAMEPAD: BYTE = 0x01; -pub const XINPUT_DEVSUBTYPE_WHEEL: BYTE = 0x02; -pub const XINPUT_DEVSUBTYPE_ARCADE_STICK: BYTE = 0x03; -pub const XINPUT_DEVSUBTYPE_FLIGHT_SICK: BYTE = 0x04; -pub const XINPUT_DEVSUBTYPE_DANCE_PAD: BYTE = 0x05; -pub const XINPUT_DEVSUBTYPE_GUITAR: BYTE = 0x06; -pub const XINPUT_DEVSUBTYPE_DRUM_KIT: BYTE = 0x08; -pub const XINPUT_CAPS_VOICE_SUPPORTED: WORD = 0x0004; -pub const XINPUT_GAMEPAD_DPAD_UP: WORD = 0x0001; -pub const XINPUT_GAMEPAD_DPAD_DOWN: WORD = 0x0002; -pub const XINPUT_GAMEPAD_DPAD_LEFT: WORD = 0x0004; -pub const XINPUT_GAMEPAD_DPAD_RIGHT: WORD = 0x0008; -pub const XINPUT_GAMEPAD_START: WORD = 0x0010; -pub const XINPUT_GAMEPAD_BACK: WORD = 0x0020; -pub const XINPUT_GAMEPAD_LEFT_THUMB: WORD = 0x0040; -pub const XINPUT_GAMEPAD_RIGHT_THUMB: WORD = 0x0080; -pub const XINPUT_GAMEPAD_LEFT_SHOULDER: WORD = 0x0100; -pub const XINPUT_GAMEPAD_RIGHT_SHOULDER: WORD = 0x0200; -pub const XINPUT_GAMEPAD_A: WORD = 0x1000; -pub const XINPUT_GAMEPAD_B: WORD = 0x2000; -pub const XINPUT_GAMEPAD_X: WORD = 0x4000; -pub const XINPUT_GAMEPAD_Y: WORD = 0x8000; -pub const XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE: SHORT = 7849; -pub const XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE: SHORT = 8689; -pub const XINPUT_GAMEPAD_TRIGGER_THRESHOLD: BYTE = 30; -pub const XINPUT_FLAG_GAMEPAD: DWORD = 0x00000001; -pub const BATTERY_DEVTYPE_GAMEPAD: BYTE = 0x00; -pub const BATTERY_DEVTYPE_HEADSET: BYTE = 0x01; -pub const BATTERY_TYPE_DISCONNECTED: BYTE = 0x00; -pub const BATTERY_TYPE_WIRED: BYTE = 0x01; -pub const BATTERY_TYPE_ALKALINE: BYTE = 0x02; -pub const BATTERY_TYPE_NIMH: BYTE = 0x03; -pub const BATTERY_TYPE_UNKNOWN: BYTE = 0xFF; -pub const BATTERY_LEVEL_EMPTY: BYTE = 0x00; -pub const BATTERY_LEVEL_LOW: BYTE = 0x01; -pub const BATTERY_LEVEL_MEDIUM: BYTE = 0x02; -pub const BATTERY_LEVEL_FULL: BYTE = 0x03; -pub const XUSER_MAX_COUNT: DWORD = 4; -pub const XUSER_INDEX_ANY: DWORD = 0x000000FF; -pub const VK_PAD_A: WORD = 0x5800; -pub const VK_PAD_B: WORD = 0x5801; -pub const VK_PAD_X: WORD = 0x5802; -pub const VK_PAD_Y: WORD = 0x5803; -pub const VK_PAD_RSHOULDER: WORD = 0x5804; -pub const VK_PAD_LSHOULDER: WORD = 0x5805; -pub const VK_PAD_LTRIGGER: WORD = 0x5806; -pub const VK_PAD_RTRIGGER: WORD = 0x5807; -pub const VK_PAD_DPAD_UP: WORD = 0x5810; -pub const VK_PAD_DPAD_DOWN: WORD = 0x5811; -pub const VK_PAD_DPAD_LEFT: WORD = 0x5812; -pub const VK_PAD_DPAD_RIGHT: WORD = 0x5813; -pub const VK_PAD_START: WORD = 0x5814; -pub const VK_PAD_BACK: WORD = 0x5815; -pub const VK_PAD_LTHUMB_PRESS: WORD = 0x5816; -pub const VK_PAD_RTHUMB_PRESS: WORD = 0x5817; -pub const VK_PAD_LTHUMB_UP: WORD = 0x5820; -pub const VK_PAD_LTHUMB_DOWN: WORD = 0x5821; -pub const VK_PAD_LTHUMB_RIGHT: WORD = 0x5822; -pub const VK_PAD_LTHUMB_LEFT: WORD = 0x5823; -pub const VK_PAD_LTHUMB_UPLEFT: WORD = 0x5824; -pub const VK_PAD_LTHUMB_UPRIGHT: WORD = 0x5825; -pub const VK_PAD_LTHUMB_DOWNRIGHT: WORD = 0x5826; -pub const VK_PAD_LTHUMB_DOWNLEFT: WORD = 0x5827; -pub const VK_PAD_RTHUMB_UP: WORD = 0x5830; -pub const VK_PAD_RTHUMB_DOWN: WORD = 0x5831; -pub const VK_PAD_RTHUMB_RIGHT: WORD = 0x5832; -pub const VK_PAD_RTHUMB_LEFT: WORD = 0x5833; -pub const VK_PAD_RTHUMB_UPLEFT: WORD = 0x5834; -pub const VK_PAD_RTHUMB_UPRIGHT: WORD = 0x5835; -pub const VK_PAD_RTHUMB_DOWNRIGHT: WORD = 0x5836; -pub const VK_PAD_RTHUMB_DOWNLEFT: WORD = 0x5837; -pub const XINPUT_KEYSTROKE_KEYDOWN: WORD = 0x0001; -pub const XINPUT_KEYSTROKE_KEYUP: WORD = 0x0002; -pub const XINPUT_KEYSTROKE_REPEAT: WORD = 0x0004; -STRUCT!{struct XINPUT_GAMEPAD { - wButtons: WORD, - bLeftTrigger: BYTE, - bRightTrigger: BYTE, - sThumbLX: SHORT, - sThumbLY: SHORT, - sThumbRX: SHORT, - sThumbRY: SHORT, -}} -pub type PXINPUT_GAMEPAD = *mut XINPUT_GAMEPAD; -STRUCT!{struct XINPUT_STATE { - dwPacketNumber: DWORD, - Gamepad: XINPUT_GAMEPAD, -}} -pub type PXINPUT_STATE = *mut XINPUT_STATE; -STRUCT!{struct XINPUT_VIBRATION { - wLeftMotorSpeed: WORD, - wRightMotorSpeed: WORD, -}} -pub type PXINPUT_VIBRATION = *mut XINPUT_VIBRATION; -STRUCT!{struct XINPUT_CAPABILITIES { - Type: BYTE, - SubType: BYTE, - Flags: WORD, - Gamepad: XINPUT_GAMEPAD, - Vibration: XINPUT_VIBRATION, -}} -pub type PXINPUT_CAPABILITIES = *mut XINPUT_CAPABILITIES; -STRUCT!{struct XINPUT_BATTERY_INFORMATION { - BatteryType: BYTE, - BatteryLevel: BYTE, -}} -pub type PXINPUT_BATTERY_INFORMATION = *mut XINPUT_BATTERY_INFORMATION; -STRUCT!{struct XINPUT_KEYSTROKE { - VirtualKey: WORD, - Unicode: WCHAR, - Flags: WORD, - UserIndex: BYTE, - HidCode: BYTE, -}} -pub type PXINPUT_KEYSTROKE = *mut XINPUT_KEYSTROKE; -extern "system" { - pub fn XInputGetState( - dwUserIndex: DWORD, - pState: *mut XINPUT_STATE, - ) -> DWORD; - pub fn XInputSetState( - dwUserIndex: DWORD, - pVibration: *mut XINPUT_VIBRATION, - ) -> DWORD; - pub fn XInputGetCapabilities( - dwUserIndex: DWORD, - dwFlags: DWORD, - pCapabilities: *mut XINPUT_CAPABILITIES, - ) -> DWORD; - pub fn XInputEnable( - enable: BOOL, - ); - pub fn XInputGetAudioDeviceIds( - dwUserIndex: DWORD, - pRenderDeviceId: LPWSTR, - pRenderCount: *mut UINT, - pCaptureDeviceId: LPWSTR, - pCaptureCount: *mut UINT, - ) -> DWORD; - pub fn XInputGetBatteryInformation( - dwUserIndex: DWORD, - devType: BYTE, - pBatteryInformation: *mut XINPUT_BATTERY_INFORMATION, - ) -> DWORD; - pub fn XInputGetKeystroke( - dwUserIndex: DWORD, - dwReserved: DWORD, - pKeystroke: PXINPUT_KEYSTROKE, - ) -> DWORD; - pub fn XInputGetDSoundAudioDeviceGuids( - dwUserIndex: DWORD, - pDSoundRenderGuid: *mut GUID, - pDSoundCaptureGuid: *mut GUID, - ) -> DWORD; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/vc/excpt.rs b/vendor/registry-40351f815f426200/winapi/src/vc/excpt.rs deleted file mode 100644 index a4f4d91e4..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/vc/excpt.rs +++ /dev/null @@ -1,18 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! The declarations of the compiler-dependent intrinsics, support functions, and keywords which -//! implement the structured exception handling extensions. -ENUM!{enum EXCEPTION_DISPOSITION { - ExceptionContinueExecution, - ExceptionContinueSearch, - ExceptionNestedException, - ExceptionCollidedUnwind, -}} -// While there are functions defined here in `excpt.h`, they are actually intrinsics which have -// special black magic in the msvc compiler. Thus bindings cannot be provided for them. -pub const EXCEPTION_EXECUTE_HANDLER: i32 = 1; -pub const EXCEPTION_CONTINUE_SEARCH: i32 = 0; -pub const EXCEPTION_CONTINUE_EXECUTION: i32 = -1; diff --git a/vendor/registry-40351f815f426200/winapi/src/vc/limits.rs b/vendor/registry-40351f815f426200/winapi/src/vc/limits.rs deleted file mode 100644 index 31509adee..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/vc/limits.rs +++ /dev/null @@ -1,7 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_uint; -pub const UINT_MAX: c_uint = 0xffffffff; diff --git a/vendor/registry-40351f815f426200/winapi/src/vc/mod.rs b/vendor/registry-40351f815f426200/winapi/src/vc/mod.rs deleted file mode 100644 index 0c0606bd9..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/vc/mod.rs +++ /dev/null @@ -1,10 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Headers that come with VC. Notably, these are not part of the Windows SDK. -#[cfg(feature = "excpt")] pub mod excpt; -#[cfg(feature = "limits")] pub mod limits; -#[cfg(feature = "vadefs")] pub mod vadefs; -#[cfg(feature = "vcruntime")] pub mod vcruntime; diff --git a/vendor/registry-40351f815f426200/winapi/src/vc/vadefs.rs b/vendor/registry-40351f815f426200/winapi/src/vc/vadefs.rs deleted file mode 100644 index d44cc04db..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/vc/vadefs.rs +++ /dev/null @@ -1,8 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use ctypes::c_char; -pub type uintptr_t = usize; -pub type va_list = *mut c_char; diff --git a/vendor/registry-40351f815f426200/winapi/src/vc/vcruntime.rs b/vendor/registry-40351f815f426200/winapi/src/vc/vcruntime.rs deleted file mode 100644 index 63c671b36..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/vc/vcruntime.rs +++ /dev/null @@ -1,9 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! Declarations used throughout the VCRuntime library. -pub type size_t = usize; -pub type ptrdiff_t = isize; -pub type intptr_t = isize; diff --git a/vendor/registry-40351f815f426200/winapi/src/winrt/activation.rs b/vendor/registry-40351f815f426200/winapi/src/winrt/activation.rs deleted file mode 100644 index dca597bd1..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/winrt/activation.rs +++ /dev/null @@ -1,13 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use um::winnt::HRESULT; -use winrt::inspectable::{IInspectable, IInspectableVtbl}; -RIDL!{#[uuid(0x00000035, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] -interface IActivationFactory(IActivationFactoryVtbl): IInspectable(IInspectableVtbl) { - fn ActivateInstance( - instance: *mut *mut IInspectable, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/winrt/hstring.rs b/vendor/registry-40351f815f426200/winapi/src/winrt/hstring.rs deleted file mode 100644 index 98314e361..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/winrt/hstring.rs +++ /dev/null @@ -1,25 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -//! This interface definition contains typedefs for Windows Runtime data types. -use ctypes::c_char; -use um::winnt::PVOID; -DECLARE_HANDLE!{HSTRING, HSTRING__} -#[cfg(target_arch = "x86")] -UNION!{union HSTRING_HEADER_Reserved { - [u32; 5], - Reserved1 Reserved1_mut: PVOID, - Reserved2 Reserved2_mut: [c_char; 20], -}} -#[cfg(target_pointer_width = "64")] -UNION!{union HSTRING_HEADER_Reserved { - [u64; 3], - Reserved1 Reserved1_mut: PVOID, - Reserved2 Reserved2_mut: [c_char; 24], -}} -STRUCT!{struct HSTRING_HEADER { - Reserved: HSTRING_HEADER_Reserved, -}} -DECLARE_HANDLE!{HSTRING_BUFFER, HSTRING_BUFFER__} diff --git a/vendor/registry-40351f815f426200/winapi/src/winrt/inspectable.rs b/vendor/registry-40351f815f426200/winapi/src/winrt/inspectable.rs deleted file mode 100644 index fb1e43315..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/winrt/inspectable.rs +++ /dev/null @@ -1,29 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::guiddef::IID; -use shared::minwindef::ULONG; -use um::unknwnbase::{IUnknown, IUnknownVtbl}; -use um::winnt::HRESULT; -use winrt::hstring::HSTRING; -pub type LPINSPECTABLE = *mut IInspectable; -ENUM!{enum TrustLevel { - BaseTrust = 0, - PartialTrust, - FullTrust, -}} -RIDL!{#[uuid(0xaf86e2e0, 0xb12d, 0x4c6a, 0x9c, 0x5a, 0xd7, 0xaa, 0x65, 0x10, 0x1e, 0x90)] -interface IInspectable(IInspectableVtbl): IUnknown(IUnknownVtbl) { - fn GetIids( - iidCount: *mut ULONG, - iids: *mut *mut IID, - ) -> HRESULT, - fn GetRuntimeClassName( - className: *mut HSTRING, - ) -> HRESULT, - fn GetTrustLevel( - trustLevel: *mut TrustLevel, - ) -> HRESULT, -}} diff --git a/vendor/registry-40351f815f426200/winapi/src/winrt/mod.rs b/vendor/registry-40351f815f426200/winapi/src/winrt/mod.rs deleted file mode 100644 index 47e38676f..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/winrt/mod.rs +++ /dev/null @@ -1,12 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -#[cfg(feature = "activation")] pub mod activation; -#[cfg(feature = "hstring")] pub mod hstring; -#[cfg(feature = "inspectable")] pub mod inspectable; -#[cfg(feature = "roapi")] pub mod roapi; -#[cfg(feature = "robuffer")] pub mod robuffer; -#[cfg(feature = "roerrorapi")] pub mod roerrorapi; -#[cfg(feature = "winstring")] pub mod winstring; diff --git a/vendor/registry-40351f815f426200/winapi/src/winrt/roapi.rs b/vendor/registry-40351f815f426200/winapi/src/winrt/roapi.rs deleted file mode 100644 index 47b988062..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/winrt/roapi.rs +++ /dev/null @@ -1,60 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::{UINT32, UINT64}; -use shared::guiddef::REFIID; -use um::objidl::IApartmentShutdown; -use um::winnt::{HRESULT, VOID}; -use winrt::activation::IActivationFactory; -use winrt::hstring::HSTRING; -use winrt::inspectable::IInspectable; -ENUM!{enum RO_INIT_TYPE { - RO_INIT_SINGLETHREADED = 0, - RO_INIT_MULTITHREADED = 1, -}} -pub enum RO_REGISTRATION_COOKIE__ {} -pub type RO_REGISTRATION_COOKIE = *mut RO_REGISTRATION_COOKIE__; -FN!{stdcall PFNGETACTIVATIONFACTORY( - HSTRING, - *mut *mut IActivationFactory, -) -> HRESULT} -extern "system" { - pub fn RoInitialize( - initType: RO_INIT_TYPE, - ) -> HRESULT; - pub fn RoUninitialize(); - pub fn RoActivateInstance( - activatableClassId: HSTRING, - instance: *mut *mut IInspectable, - ) -> HRESULT; - pub fn RoRegisterActivationFactories( - activatableClassIds: *const HSTRING, - activationFactoryCallbacks: *const PFNGETACTIVATIONFACTORY, - count: UINT32, - cookie: *mut RO_REGISTRATION_COOKIE, - ) -> HRESULT; - pub fn RoRevokeActivationFactories( - cookie: RO_REGISTRATION_COOKIE, - ); - pub fn RoGetActivationFactory( - activatableClassId: HSTRING, - iid: REFIID, - factory: *mut *mut VOID, - ) -> HRESULT; -} -DECLARE_HANDLE!{APARTMENT_SHUTDOWN_REGISTRATION_COOKIE, APARTMENT_SHUTDOWN_REGISTRATION_COOKIE__} -extern "system" { - pub fn RoRegisterForApartmentShutdown( - callbackObject: *const IApartmentShutdown, - apartmentIdentifier: *mut UINT64, - regCookie: *mut APARTMENT_SHUTDOWN_REGISTRATION_COOKIE, - ) -> HRESULT; - pub fn RoUnregisterForApartmentShutdown( - regCookie: APARTMENT_SHUTDOWN_REGISTRATION_COOKIE, - ) -> HRESULT; - pub fn RoGetApartmentIdentifier( - apartmentIdentifier: *mut UINT64, - ) -> HRESULT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/winrt/robuffer.rs b/vendor/registry-40351f815f426200/winapi/src/winrt/robuffer.rs deleted file mode 100644 index b0192fbe2..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/winrt/robuffer.rs +++ /dev/null @@ -1,12 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use um::objidl::IMarshal; -use um::winnt::HRESULT; -extern "system" { - pub fn RoGetBufferMarshaler( - bufferMarshaler: *mut *mut IMarshal, - ) -> HRESULT; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/winrt/roerrorapi.rs b/vendor/registry-40351f815f426200/winapi/src/winrt/roerrorapi.rs deleted file mode 100644 index aa9f683a5..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/winrt/roerrorapi.rs +++ /dev/null @@ -1,103 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::{UINT32, UINT_PTR}; -use shared::minwindef::{BOOL, BYTE, UINT, USHORT}; -use um::restrictederrorinfo::IRestrictedErrorInfo; -use um::unknwnbase::IUnknown; -use um::winnt::{HRESULT, PCWSTR, PVOID, VOID}; -use winrt::hstring::HSTRING; -ENUM!{enum RO_ERROR_REPORTING_FLAGS { - RO_ERROR_REPORTING_NONE = 0x00000000, - RO_ERROR_REPORTING_SUPPRESSEXCEPTIONS = 0x00000001, - RO_ERROR_REPORTING_FORCEEXCEPTIONS = 0x00000002, - RO_ERROR_REPORTING_USESETERRORINFO = 0x00000004, - RO_ERROR_REPORTING_SUPPRESSSETERRORINFO = 0x00000008, -}} -extern "system" { - pub fn RoGetErrorReportingFlags( - pflags: *mut UINT32, - ) -> HRESULT; - pub fn RoSetErrorReportingFlags( - flags: UINT32, - ) -> HRESULT; - pub fn RoResolveRestrictedErrorInfoReference( - reference: PCWSTR, - ppRestrictedErrorInfo: *mut *mut IRestrictedErrorInfo , - ) -> HRESULT; - pub fn SetRestrictedErrorInfo( - pRestrictedErrorInfo: *const IRestrictedErrorInfo, - ) -> HRESULT; - pub fn GetRestrictedErrorInfo( - ppRestrictedErrorInfo: *mut *mut IRestrictedErrorInfo, - ) -> HRESULT; - pub fn RoOriginateErrorW( - error: HRESULT, - cchMax: UINT, - message: PCWSTR, - ) -> BOOL; - pub fn RoOriginateError( - error: HRESULT, - message: HSTRING, - ) -> BOOL; - pub fn RoTransformErrorW( - oldError: HRESULT, - newError: HRESULT, - cchMax: UINT, - message: PCWSTR, - ) -> BOOL; - pub fn RoTransformError( - oldError: HRESULT, - newError: HRESULT, - message: HSTRING, - ) -> BOOL; - pub fn RoCaptureErrorContext( - hr: HRESULT, - ) -> HRESULT; - pub fn RoFailFastWithErrorContext( - hrError: HRESULT, - ); - pub fn RoOriginateLanguageException( - error: HRESULT, - message: HSTRING, - languageException: *const IUnknown, - ) -> BOOL; - pub fn RoClearError(); - pub fn RoReportUnhandledError( - pRestrictedErrorInfo: *const IRestrictedErrorInfo, - ) -> HRESULT; -} -FN!{stdcall PINSPECT_MEMORY_CALLBACK( - *const VOID, - UINT_PTR, - UINT32, - *mut BYTE, -) -> HRESULT} -extern "system" { - pub fn RoInspectThreadErrorInfo( - targetTebAddress: UINT_PTR, - machine: USHORT, - readMemoryCallback: PINSPECT_MEMORY_CALLBACK, - context: PVOID, - targetErrorInfoAddress: *mut UINT_PTR, - ) -> HRESULT; - pub fn RoInspectCapturedStackBackTrace( - targetErrorInfoAddress: UINT_PTR, - machine: USHORT, - readMemoryCallback: PINSPECT_MEMORY_CALLBACK, - context: PVOID, - frameCount: *mut UINT32, - targetBackTraceAddress: *mut UINT_PTR, - ) -> HRESULT; - pub fn RoGetMatchingRestrictedErrorInfo( - hrIn: HRESULT, - ppRestrictedErrorInfo: *mut *mut IRestrictedErrorInfo, - ) -> HRESULT; - pub fn RoReportFailedDelegate( - punkDelegate: *const IUnknown, - pRestrictedErrorInfo: *const IRestrictedErrorInfo, - ) -> HRESULT; - pub fn IsErrorPropagationEnabled() -> BOOL; -} diff --git a/vendor/registry-40351f815f426200/winapi/src/winrt/winstring.rs b/vendor/registry-40351f815f426200/winapi/src/winrt/winstring.rs deleted file mode 100644 index ecbfcdf2a..000000000 --- a/vendor/registry-40351f815f426200/winapi/src/winrt/winstring.rs +++ /dev/null @@ -1,150 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// or the MIT license -// , at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::{INT32, UINT32, UINT_PTR}; -use shared::minwindef::{BOOL, BYTE, UCHAR, ULONG, USHORT}; -use um::winnt::{HRESULT, PCWSTR, VOID, WCHAR}; -use winrt::hstring::{HSTRING, HSTRING_BUFFER, HSTRING_HEADER}; -extern "system" { - pub fn WindowsCreateString( - sourceString: PCWSTR, - length: UINT32, - string: *mut HSTRING, - ) -> HRESULT; - pub fn WindowsCreateStringReference( - sourceString: PCWSTR, - length: UINT32, - hstringHeader: *mut HSTRING_HEADER, - string: *mut HSTRING, - ) -> HRESULT; - pub fn WindowsDeleteString( - string: HSTRING, - ) -> HRESULT; - pub fn WindowsDuplicateString( - string: HSTRING, - newString: *mut HSTRING, - ) -> HRESULT; - pub fn WindowsGetStringLen( - string: HSTRING, - ) -> UINT32; - pub fn WindowsGetStringRawBuffer( - string: HSTRING, - length: *mut UINT32, - ) -> PCWSTR; - pub fn WindowsIsStringEmpty( - string: HSTRING, - ) -> BOOL; - pub fn WindowsStringHasEmbeddedNull( - string: HSTRING, - hasEmbedNull: *mut BOOL, - ) -> HRESULT; - pub fn WindowsCompareStringOrdinal( - string1: HSTRING, - string2: HSTRING, - result: *mut INT32, - ) -> HRESULT; - pub fn WindowsSubstring( - string: HSTRING, - startIndex: UINT32, - newString: *mut HSTRING, - ) -> HSTRING; - pub fn WindowsSubstringWithSpecifiedLength( - string: HSTRING, - startIndex: UINT32, - length: UINT32, - newString: *mut HSTRING, - ) -> HRESULT; - pub fn WindowsConcatString( - string1: HSTRING, - string2: HSTRING, - newString: *mut HSTRING, - ) -> HRESULT; - pub fn WindowsReplaceString( - string: HSTRING, - stringReplaced: HSTRING, - stringReplaceWith: HSTRING, - newString: *mut HSTRING, - ) -> HRESULT; - pub fn WindowsTrimStringStart( - string: HSTRING, - trimString: HSTRING, - newString: *mut HSTRING, - ) -> HRESULT; - pub fn WindowsTrimStringEnd( - string: HSTRING, - trimString: HSTRING, - newString: *mut HSTRING, - ) -> HRESULT; - pub fn WindowsPreallocateStringBuffer( - length: UINT32, - charBuffer: *mut *mut WCHAR, - bufferHandle: *mut HSTRING_BUFFER, - ) -> HRESULT; - pub fn WindowsPromoteStringBuffer( - bufferHandle: HSTRING_BUFFER, - string: *mut HSTRING, - ) -> HRESULT; - pub fn WindowsDeleteStringBuffer( - bufferHandle: HSTRING_BUFFER, - ) -> HRESULT; -} -FN!{stdcall PINSPECT_HSTRING_CALLBACK( - *const VOID, - UINT_PTR, - UINT32, - *mut BYTE, -) -> HRESULT} -extern "system" { - pub fn WindowsInspectString( - targetHString: UINT_PTR, - machine: USHORT, - callback: PINSPECT_HSTRING_CALLBACK, - context: *const VOID, - length: *mut UINT32, - targetStringAddress: *mut UINT_PTR, - ) -> HRESULT; - pub fn HSTRING_UserSize( - pFlags: *const ULONG, - StartingSize: ULONG, - ppidl: *const HSTRING, - ) -> ULONG; - pub fn HSTRING_UserMarshal( - pFlags: *const ULONG, - pBuffer: *mut UCHAR, - ppidl: *const HSTRING, - ) -> *mut UCHAR; - pub fn HSTRING_UserUnmarshal( - pFlags: *const ULONG, - pBuffer: *const UCHAR, - ppidl: *mut HSTRING, - ) -> *mut UCHAR; - pub fn HSTRING_UserFree( - pFlags: *const ULONG, - ppidl: *const HSTRING, - ); - #[cfg(target_arch = "x86_64")] - pub fn HSTRING_UserSize64( - pFlags: *const ULONG, - StartingSize: ULONG, - ppidl: *const HSTRING, - ) -> ULONG; - #[cfg(target_arch = "x86_64")] - pub fn HSTRING_UserMarshal64( - pFlags: *const ULONG, - pBuffer: *mut UCHAR, - ppidl: *const HSTRING, - ) -> *mut UCHAR; - #[cfg(target_arch = "x86_64")] - pub fn HSTRING_UserUnmarshal64( - pFlags: *const ULONG, - pBuffer: *const UCHAR, - ppidl: *mut HSTRING, - ) -> *mut UCHAR; - #[cfg(target_arch = "x86_64")] - pub fn HSTRING_UserFree64( - pFlags: *const ULONG, - ppidl: *const HSTRING, - ); -}

    s-!+vfz7ndcHTz#R?C2IqA<<_PU`65kbGZ#CRd zKYG8i38(C{?HoEvKsB8NB@v(N!kUKZU2$L|9E)HLw4?6Z{;u>0u8l>S7MX(@M0BMZ zD83ZaQPEEvIp+y|2(V&0wWLtgx~OGUgzsqNkg9T#mrz$|Vp$Xt%gQFp^}436%OWJ7 zaC7Mrk)$p6k zB78+7ZO2e$+%ko(|S?&uaRC} zN~wst2;Z>HjDS*1MxgT5j5(cVmX;=C_6`Ig<%hT9HO%Xn0owoAx|7Yi+jNdYtA)f#M diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-shcore-scaling-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-shcore-scaling-l1-1-1.a deleted file mode 100644 index 7c1f77ba65ac19585b90111d75f605b449f519ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7010 zcmeHLPjAym6n}AAV9Q^jBB5nrg9OrQMS|TXZdR&RMTPEOR;obU5QCdc8;jJbY_n8| z16m@-08Y8QjA$@YR7AZ1FpP^B@Ms{Ouh!25^tZ z>*1)!qv-aIf9t6i@&NnlcLwF%@z#v$KX@z#xaRfZQMfh={~858_LMcF8WrX-8k8u; z36NO)q_>H2YUb~)uiTXx1s1U{iAL~kXqd5`pgX!bF zYcCYy-Nkh{M}vo%ZyoOoVi;J>(`ay97gdbVI+w+Jg4bIOm-0u~Cw;;t{r&AJ6x4xg z+6n5yKc_`+nn)jrRDp0TB5GhW9y|#iONofJoTq7$6|g~gSF(ZpOFqqtzT?O-7x*E- zNu*Ot3`MSsT2>Z(z)l58vJ!d;c11Rpj-c42Y_il|)Yx@gxMU9(myR`M?4teV2I>bY z%Bg99J!Lk*-Cx@Y$wFCqk!6W=_ouaMqp?u43mGn#O}dDAUXDxIMe|re%&T&on~duU zcK%eDM20hd|4D4BdwZEI>&=ck4|g8m)tNZzy2joAE znZh4S#*1Ys5VZwwu{F+IGQ+H{lp702+`zSxDIvYhA2?@x2{$Y-{z3EIbHg}u$qlo* zQf@d?a^vVcMcdv!4yAeHOU_d@;zrqjlxXLBKTjEEo-(7%E!EyL?CE&n6nXIygJjY@ z`S2a$L%bd5q5$$;y{SQESzMbALiji9Hc=g&f}3kjs-fWT~Bx| zk;KRJQ~oSENhhHo$S@PvX(3NL=BHrtk&6XBdKrLO;0EK=2{V-;Lw<>Eufk zCduKagLF7fN8u<3A>!d!l+Op}!QeP=q?*|>MqS78JkPScx9*J5;Kw~A6=1Id@QAHV zXyoBEXS=+!pnuc|{M;{x@JtW-SB>K=TLFU$!o~E$7cGswkH!YB%WOSxG_I}vgxfC1 zbu{i38ao9zJ+DVpg+0t{RD~^7VJlVGiEF!dvk@c-VH<-u3DrY?uK`Xg1OH4rl;7l% zLf3A@Cz#1&wG3l$SS!OA{9&44EMjJ{DUO-DO`Q4~@Uo+G0w6;^9)U zF3K*tlV0O|pj1wS1o#7v8Ev+SaM z^bqsC80YDAJw@ZA!e}4v`0AQ3)yvDd&$P;`J?W2POHDpNOKMu`m)@b2Y*cXyUt6v- zU~3EMyJunG_&bBv**vYv_?#^9(I&bQ?&|KL3|p6@H;n NzVlVzL2Jms`acn$-Dm&+ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-shcore-stream-winrt-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shcore-api-ms-win-shcore-stream-winrt-l1-1-0.a deleted file mode 100644 index 47c152cdec43e5bfcb5806bf33c314058984aacc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4650 zcmeHKOK;Oa5T4jAk5USU3UM@V3Dv1xrEU%g6;(pL5rH^w-PmcOI!R@lQgP}5ao~V@ z;K0w|ggEwB@KZQaX7*uk8aquTFhVercgM3|cE_{d>}+m5^5b^*@!YaCD(zPMZIl$q&?}jhjGXV(oYD?q$Nq?(C?EaPFdtKmpRO5I9Wdg)(!pO z_pb&U=t3I4;GR6&598+i8CfC4f;1I=47*F<3HT!W{*2*acK zR4|VK1v{OCv_8y8QN{+>aXccznj_d@SzB|#y9-DNfb|-{HLlG9I7* zFj^eVGK?0(8IGaojEamikKZf~nYB_3j~y|@tUVl^M844)B!n?wfNgbW2l2jp4&FE2 zmFyH$y!UV~uG0s=%%A4{3U>pWMe+vyx+!@=dtJnPh1Yuxm*tT@u5`jF{d7N%1{0{I z6T#&1xyrR^*xu#mI>J#nbD)!UUk!GJh4XDB()5uPWCV|{$Owur#WWZF8W zwo^}83P5Lo5(B=WT2)1>HqR0VWkn?0ne}B&&$Ej>JfCoz>FQCGXLR~3;rO29J9QQ~ zQ`Q%(2imzvD-_9LUN^FOK)cw$#olP^LXI1$FHOX}EyiVeM&Cho^g}VuQ-0k?Wm965 z4ZryKl9eh8*sMolnXuo_=wPL9>2@d^ZbTzS0#nH4;Ow1TND zc`Z>E9+iJ-l( z_kaG-UJB}G_qa;(rzV+GaEZ=u?daRTkv|iopy$tIVAc8KOqoBP{{KeQpN~kov+7SI z&t&SVtUvqOx|8b9VKHtjf8H14vifryzwf;DN1eO{gb;s1|MJ|qgZ`7`wP#Zpcx%9C N?0?07^{Q@%KLJ=qPA32W diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shcore.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shcore.a deleted file mode 100644 index 2c5f78672..000000000 --- a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shcore.a +++ /dev/null @@ -1,8 +0,0 @@ -INPUT( -libwinapi_shcore-api-ms-win-shcore-stream-winrt-l1-1-0.a -libwinapi_shcore-api-ms-win-shcore-scaling-l1-1-2.a -libwinapi_shcore-api-ms-win-core-featurestaging-l1-1-0.a -libwinapi_shcore-api-ms-win-shcore-scaling-l1-1-1.a -libwinapi_shcore-api-ms-win-shcore-scaling-l1-1-0.a -libwinapi_shcore-api-ms-win-core-featurestaging-l1-1-1.a -) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shdocvw.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shdocvw.a deleted file mode 100644 index 5d8cad8a11a0350a9b7d742b4f29d2823d156742..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16738 zcmeI3&vV;E6vtoe^jGL_TIlej<1zs{Ofhnk$S!m`4KZml18v$ggad=3#ELEITESL+ zbqZt{hT+gd5BvojIP)j;#Gk^E6DJNW@9k=(m8FekSA=onomokF`=r(Ge)j7pt#aY2 z*<7hz8~Gp?PKAkrUeLAD#CR^Ju_Ae!%N4W|mQY$60f37D!#ekl+XUn^SQqOD8K$Y&*y&ypnTyMo=5R|l;2(A`MnYV<@e9?tYrWwU;dNli9Y}+ zmww~787ZBFd1uw#G@I7KTE%p& z&#YF18dscKp!!lQG2_^ zzgqYLPa^I8+FI5d?Lm*Vh$VptH~$hwI(Z-yH5M9g^VE||1y#blbD+<4(cyK1hPn3)O{7m`Q)aQ%&O1%#GRm90Fc=`;WI<#uu z69&&N_ZMA0+g1m;$$f=_8}B3aQ_0cf%q1K0!*N?1!4q#DsNa@4+h6uCV^;Xf zd&$qA19G`ICO>i9zNb;l0&QtFXIcLoV@F9yuCbqJbjQS~fK|7)-nhptjHOUdQzQ3) zcGkO`cIsd1(;&&J!S6Z3KXVo&)1GD^zzw$Ln+!a{gA{_3RHg@;9W71M3MDp0Ix4z8 zAz|{BSSlO~vF9d!e zMK7UGJ>Jis9n_BN=(7>;r;GbKjt4WIkFa5jpFDe;{(Ag4umwk_Lvbc&hU()S9l;~c zA!m-x^XQX)J*moURQo~hKc@8HG0S?2YQVF&(g!LoEUfh*(pfuc)cGCpI|QKGIq6&_ z0cZwu%UgIPQU)wM4B}=Hg@r87AGUMNXH*vlRAY~GApLk|PpCd6jq@bl1JSTQsE&IY zOhNA@s`W%v7qzj7RzE@%I%#!<u==N1^VA~9Qk9*}S3;t?EU7V_-Pb6ete)8mT%7Fb*pZ(WxJiBH81gPFk z^|!i{4p0i%|BxHlHUr<{Ue$6BeZ^b3bX9+RKt7HH7j<6#-T5X13wXeZ7U!p{-ItRQd?gyO|BR#BiQpw^yq{0-xgH2U3h`@J{ro&izhRUDn*A<9YX-J)8{cZqxS}jo%`Oax$5G%w ztD}|wg7}vpx`;~au`fFD@vY{>E6P$OUQ0%NsTg@HGtl_p$@CSRHQh!jBQeC|W%`=< zSE&J*0*%+Wfo(HD3*Awwy&xv8AWhb_E6G?dMkDecQ4%}FGha$^z+T2Pt5UtY#WQR1 zevx?QLA;;;V@)w=x2zxWM&1AP1+UT1%KkFrS?2trXQ5pNXi1pk?6+8!^uU-Z-$_?P zqguX$W8R7H{jwTLtAX9}eHg!nlD_5YYqn1j!k7XLALRzN%|I3Rq1JM;!=_ZZPPiUg zioQJ`=ynjJoWXJHmg_?}(&0}C7yFuRiqj|sZ0EUwZ8Pu7iPE`Pp_-+uSCk|$%lt;Isf+s&y)E6G+o^}$mngIvXUFHf1nZH!X|FZxqv zcvkx=E)$-zh9_Lt9Pphw-&y2a`rnzw{lRyr#X`Zu##Hq?;i{(|jl&0TQGz(Um$xXH zFyDQx-D0Iah{4}sdcZdsu<;-?n|4;>`2u%H{eO;qO?i?p zaFzeU>1nz0A3#%8^`z^ZgLjBTzl!}{o;(3i(c1o3x1Xc(B<~QTE#|Pt*i)eVU)iVy Am;e9( diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shell32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shell32.a deleted file mode 100644 index 98cf7d259cef4853f83710f093f2cd19cd5c44d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 330758 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 Utr1k{D6o}U3!qoaEFk{>0Lm2Y6aWAK diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shfolder.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shfolder.a deleted file mode 100644 index 326fefdd05156fe44cb182c98dbe1a2260474fbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3290 zcmeHJL2uJA6n<$oMynwZ8WP7KjoTE`(PkAwsMTOp2#JabaY1s^C0(L*Yt;lXaoPcK zMEgnmO&oS)y!RY8ZkuS8sKx;-#eRAI65F4@_v}Z{z41Z#qVmL=F4cO~t-4O5UbifV zyY$+!wrg(sLAL?`w*ZW10On7CwfpiZUjmdbh1eD1LmZ4_(Fu}ZEOv)}AihK=-Y632 zJZ-qbt%*U@qbK#pVShOA5$p*B9tR-8!1Mp?Pq5#99VC1F-;S4rA3=!dcqHcBGmch1 zt_6M+AM_G?sF*8atm-(fi)6V^GsgVyNEnt)1K=)Ot6(R=X~K4KWkIKF`(EM|L%632 zoeR4c$JfB%jBpYCaI>bcx6xR^dFiDIj>6TIpK$BNxE+PNhsH(@PW7vHzrFYF?aNp1 zZGSKzpWTlJLE8E23gFP_dq>KV`gP7|2ybXs1T+EZ?IlYEU|9G#dW(=laX&(-HOt!i#*f5qEi00Znt?F zSZ&a3a9$5n4bVR3=~m(OR>Mu=K<`&J;gmhwuA{>QswtvP=7)CHTu8|w=Q)I9VO2ms z2|u44Ne^pjifLNp4XB;jm1-w`iPNm;nM2NbPX7#6N~V?~5TMPqtV-|$jb&u`CB{eW zV5xGDT$|S$dVH+$qQ2qw(6N{oACwWcu>Vu4Q)(=57R>9IhqYWqBjlB{EMHIZFtK05 z!TQ>`km08CdIK?|eB2~HXdO+&e9gzXYF?z9c8XCxT=B)#V|qJ3&wQC>%%9e*92!%q zsf?CXqf{P!n`%%yM`>7$KkdZi699A$Ip0I7TxN?#z^`P!&vLo)FauM1=e5$#%NfZT z;*AJBQtuDYqC#;jJzM-Ps}hXRn7MZp-cObhDSQU7#-0BfNA9IOCwH71(fHhsx1=`y MA&nQ_t(T$k--`_JC;$Ke diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shlwapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_shlwapi.a deleted file mode 100644 index 30656c1189736b491fffef159bd18170e669ed61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286724 zcmeI551b@NS@&yak0gYU1PDn8AsivZ5aO|Wx3{|&1KjN1UT(?VWwX1Nix6@*H`8}J zx!LK>%2yjNk2$44mF9u!&L`6j4Mc_q5L_|eIgp%mP-#_{o_X%mH>=C&_R;at@sY{xN{CF`bt7D)lab07$*c%^II(4^*%x{bsk{pDBLM>9r3M zg6Z{lv-HN>3BmNsSFrRepC<&eZ=(1H?#CtrwPII>DyTP+Yv%A zeeSy~eF2UKrZ2smrLRC6FntY<8K!^uI!oVxc3}F~6_);eDn{nx^xgN; zG&J;PLer)P$q=Tq?_ufO!(<54Blog&;q_z)(_^k?>EesY5T;8%#nR(nLxwP2aXU*- zx`GU0dh+L4y84Y|2-8znSh{W(8N&4ROIaHIG8w`&_HLFY?j=K*u7@(1o^cgR&w?_T zrl1_A87PBk50t@l(^)L-`v@7rH1|@L7H%U$m~Op{rQ1G3hA=(%bu8ThZN*fXWT|#O z8Nzh*i!9aOM20XmIxMAAWC&Ah6HA@1kRePbKgQDCZzV&RUhp7Gr|%|1n0_3#f$1f? zS^BAq$PlKNeSxKye~1iW`WaXc(<_@S{oH;sgy}VVSo(R`Hl{bg`N8yyu-};8bQMd# zdLbFY^lRT_>Fu8)LzsU3oh-fkelmpVH`Z8sUyTf5`t3!QKDdhvVfwwRS^DrfWC+to zppBUR_#-TR{HXTUpO3QiP1r9?|FM^)Z$sUf{@=AUmB@vJrqaKV5~hcJlBILrLrRz) z@gPg*-%U!G9@Sy#qBT;&bjj^3UAB{yFg@XFmNuV9N|>(v7E4e0A}L|I=KU-^?X9GQ zY0GO_8hs%tVH$&NV48sKV7h*VrDrrr3DeG9EKOfVN|ClHr3Dc1`vXtCSN|=`BSvo#RN|>5guyogDq=X4% zil!5vCnZd${*0x2K1xcMUIgvMbT70O(@*>?OZOcmB}^~7o~4&VU6>yD4ok0q^ML79 zZ)fS%a2znb_I8$DzlW4Cy>W`AU%r8qFufV}57V!~eqnmsw^@3}H%ST8yFSIzd)`k< zn11uMEWQ68Qo{5*x3cu15mLhR2T&KLkDSNSN54x-nEvD&EPVpnjOoum!O~xTfRr%( zHMAAeXP|yepSz!>FSJMr)0b{z=_}9%Okaazi|HTX7-0IwcUbz@uaXj`e~10X^q=o% z={s*AB~0IYkf!0%1B9lBt&m|%=Pa`Hh)FVx>HJGsdepgO7}I0E!_vi{CBv8=_d%8} zenC|!{ zOO;QNVNA7;vUCjg3)7u%U}^b&GK^_ujivTcGK}d294}0#CRw`Yax#qRg-|c1ANv?f zFNV4>{p4F&dg;r_Fs7e|V~*(oIBu9;ahRo7?Iy#RUVR-)uf3EEV|qOtKTN;yWtM*F zBV-uUue_V3w?O@v-u56%@3@ByV|o|Vjp;qGub6%l_7~IpuVCqSpiWG``x%ygAL_&O zhp%Djqi|d?{R!+Jrcdl->CZ1F!nwfh&&V*Qzj-f9pM4z}#`JeDX6cLbWEj)m zZ)WMMgbZW)`sZ2tC)ggQe|afO|8|57WBS(hEd3YkFQ)I7Xxc=+OlTVZ0NI4;taq^V z@Yj+}n9e)R(gkZ|6Q)Ps&eCJ2$RlalZH9UO_=sTSxh&* zkEQ+ZB%3hZ@*qo#Yh)9qgRm~9=iI>3^R|#p&)ah7(Db202ii%ieP}M}B&|c!X)QT) zvfiw$)DMAiZF2n3_}HOF{RpPa-d<{)#Qe%3D7T!DLrY1ewxNp1$rH`?N~_-N96d-5 z9jY&{9Fi^K|FV%=CMS(mg@Nbs74y6@Ik;4>F3mM6oug@MIjdK-9cVQUG?R9 zg_YHje^%=eRw%W*zP7p|)slUNoEiNb<_4Z8Rm<||-c7fXN+;RfN|)y<9r>8(8BmXE zlIqhluxz@#QfbKmaEr*5t6=5XKBdb?>P>B3W?}2%|LVHTg1MDu+N@VAjr!e61&UcK zCs!qvqx(``S!tYFs4gYTa&?LoYLh-ol_}PRPHVAMU(Qb+|Cs%guf{*(Kk00fGbcXh z|IMt)m0?-5h+Mf!mRshzdY;G`A2aJ^w!CKiq_59xPy+s>y`rC(b-!wckC}Z|%Ye@; zN6Qd)Y2#3GmhLkJ^vuBDolC))GC*E z#Uy>u*N0Wa_NNvW=QE+^tDp%#K#~th_BqdytHqM6&gmtkJ@g~40skml> zy0i>xpPOnOmyQ|x2sPn9QhD|f?E9xHGSuv2W|zvNoz_3w2C^G7cdb?$(qVwrNX3ZeiDV3Azn>y7= z3TqS@yw2P-vnDWNo0oEo(#AgIg$wp#e5`9}%!0aiiQlOF6ML6dgfg`3^a}rlhcfgN zdzbYB%uFw)m-(+Bmcmc$T`9f1!b|U$DTng-Ia_0PTEdBDfq~~qyUOy|-eL`U7SGWu z6!lGO>%ix1OIk*5-wFDug{-_HD!Hb> zyK)xjN8B#_qwFgC%yP7htPNChn3J3pW5;Dl)_ACwSrs{<;({wxI@3#)dQ(1v+{E%h zcxADMHJC-@$|r~AvMtgd60v{z@5(g%qcn(p#`^F-xiJupB$TR)RSfh-0$T|Q=I%>WuS(nkyP4=*(xIg%N{$}s&|qD3)%rR zGK{jKDOy?DisTral%iT?Gp$n?lp1AoUQWKuQEl=ky&7CA+oxMrlh&!Cy;3u1ZL&$J zQq2%$XPZaU0}D4L;ztn=FD)%)6_ht?=jF5gzIi2SnpI0yS}XsoR47?#DY&LJ&$Tcr zWt58YGTA=C$D$)CoAbJ|a(ZptoR>4sFI2{CatXZ}>HI=@`LYX-e{RZam`c+|m;F|< z3d-vnmdaT(hdB#5U!1af@6(l*6Q2)lynrs3ov2)-~5k zSCUre)KulzAu9XwC2N;lb**{$p@d)Yasylv&W~KJQea^ZiVxrgt0WcCf1;bUa-sps z>evFsuvK^^x?L~XrOK^XXa38cu1zl`RdGFRW*B8fwOS=uFZBNDUYlgX{7NnVsYh?C zd5j;?f~eyON$;6WOpHY@nW;T&0AgBJ*54gYduUMJYyFX0~|(LKMmLzVe*BL$Y~c&+b-|Xg<7Tf_&P4 zunXFUog9K}-L97ud#;wm{l^~(?YCYsN%^7@o}aG|(jki&=4U3hKK-DspP3f+FeTUa zKrt$1L@iPo+z<8pZ+=&R3hwoO}Ry{PS_Xrupb77$H97MX%9H) z4e^calC7>MUvkJRpj|D=xsr?VGE81?Ztku(Byw0$H7~DKwu}o?cCG?`L`Od|^zt{)%FBbev2AP36?Q0@uAEX%A~*0nY3EpB+@tbpC&e%ZIyJm{ z#Rz5Kg4n!-R;_s{<>HwYp(e=3A4l!0F57OIT}W^|Vzw9jBl@uins=?H&||n#sU|!& zSCC|yOz7<7TeX$=yjF}TdS5-(-tUM{&m%@>Swji zeBHdRnY9)8X3aED02%NTsT~wEm({J?)oqx$xE5|;Wig#kQ+{!8m^Fi3t+YDZcWS^D z=d`jC6r3C64|~aon4J%vvBsYys|@D4y{kIDYa@jtTfVG zZq{yrZvOgFF4Dz$MOJkSYHe))=M#+O&#ZM4_=<{PELLV@6&U3WXyxgU2r z!h5?|O=^y5Q!AHC%XN3zcPuVtiQ2i*tX|3z<)<2z=5giQF%Pcdi6pn{CCzGCNqL{A zD%Iodh7@m?DiK))#)8W8@^by9E?P0C$rVG30DHju!1g`g=TpRMulv@_f6!W3B~0hoVGSdu~-r={2%a zY=39l2j=(6NM#1Bf&MG6oEfsb{X8xs8Th{o5W`e|gkkOd)45qIN4*JcH}b++UeOxb z&M9l~_T|0 z{9j$4S+d+rOVqQFE6hRa`OLQS&ssg%y7_(pVMpscG{ox9ZSp6z7FHs!V}H^)nYNB& zadnrJ3|5L?x6R#u7D_TR{3w4dWUEJEGa9(aYg$|ZxXYrI6t;aU0WEdv3R;etj7dj($ zwcxjJ|LXD)RZjFAtXZ|mRqHufX$Zr%^gV{6!mO3ks?5vrebs;Pp)T=jpMB8k5Wn-g z>&@B%#C_{)dX22S{LM}LPbLM6=2o?oULh;R+KOxKPu4JUw~{vD zyz5nJnR(5MS>J$`nXiN2j{Tr?`X+>3FR53YmlXTXT}-`FDI>3yoAhd>3|6)Qu5P{E zQM^>#c5YQmsnzAB*gmrU1sul%BlzTf)H1L}#U%G!cgZx(*_C=h1~uXE$7&X+Vj~L- zvu02|E;_oBRe%{rS@}RHWwT=;w%?^BF9)&w{C7s#QOTZdom;djC3{v<9`31_qz_sp zY{Vzcm&R-=r%|!%C6(%=lB}ImtI+GM|I|xHtc`z^tCEaZ28Mt_++W_S+#+)2)mbjv zhjOjP=~rq{?6e-qqSU6?vyz1uWUwvCu9wv6}=S z)I$S&cr{S38kH$|yhix>JP5x!=}Em_ks+5Y+Dj-&&AeQ>lP=e**|-tCUNv(T4kyI; zSX>eQ&r9oOrQBS-)+j1S?Mlg_QY0^d11z-y)RgDXC+#E;X{k2xiN-axO0r-k-wu8* z*kx{(Yb&UV*MnWwT0S-5Jqr*4s$_ZmBb=9gNpp2BZR0QA?5-@|FoU67ttKm-y_M#% zRTzNAe`$+yOk0k3Q4YACO>nvwp%b0{1HEu_X`M$3yJk;OD;~%qs^2YIx<#s!*vhNb@TF!;U zwCk2BIReoov(TLHLzhh5+^u+-h>}t)L^CQM&8lc@jFy>g?*d+uR=V2G4!>ch2Ebx2 zX;l-r-l*YKfn3mLYVEb;NM}o$&&a@MV%VM`{0%%?RM`{gq+55b*%8J zvApa#@XsdLFL~KXM)Gpob32whuY0+Pyxe*4&qW30^8EZAMiU$?&&_VBH5z2gQE;iV zjPHJrkYhtfq3DTh1Cyh+rU!tv4SZZipxmHX}DV%=@@OIWw7#f_ z!$V!m&|`xH3=iSaF&EqhE?A~SX5rP#eT3&yW|!=lo!G|a4%xg}Fgp&%`9j<|xV=+8 z2h>#X@_l3$X0u?+Mev5qUYaq0=dp;{thn+fmE+$5r9k!p%N5zthG%h@zT&rem>!=; z(*JBoUZOX7LUC9q7364VX|;KrStv`&k;X=z0ov)&Wwhh*#bYWKSvA-`8~oG4Im!5r z-$0mihQ6|w61gA#@o;;qm#+u?cC<%EwvCU`uLxIkZEhW|=;I*ubir@O*|bTg;pCi4 z|1-ZGs0Y_U{%skh__mphSSmUwu%uLU69q4)g;H|`#$!JQ8#^LxmxywTqEAAZMsYd* z?Z9^Igfb_J%fZ|>Y&jp^_GD#p8?^X?-+Kyvdf)+J6aO`a#J$J|!Hmq{_83PGhyNId zj5+w2ePd)L!c7jF+E3);N0pvr%+e!;TY$Bg(hC*OEwuFt>9n1A*4ZAhJtPFT&PZn} zNeF&}ndM6OFJDR|fq&)Jvi=Okvhf?gndVcfw?(Sqh%+F$KXXQ?J}yyRhJ6?us&l7Z zPz@HZRByGUdRx?Lll~29^_@d}_6L;eps8k8VX{_l#wKM;iB#b~skNC@=W|`ab+=ch zMF4Q^GzIA%UlIa~$r%m>`PNPrRuTQ-+q|Uk%viI?5{8GXq zeCn&2fxebV9p2T}GO5;VKGk~r4ok8pBH3_uG*#aa*~f+;b}nX+3R&eJ99CMA=zONTu6#J;mHTWSRD|Vk;=YEL9wP#Oc`-C0WV`GM1 z-vcnL*SojKfT7%+$=vrF30s6k3+wnNP=ABBz>@i!L-<4rUbax zd2gibh2)fDZiy_yE0f*w6Rpz=JiZ*-UTJkq?)P4IK zmeIrsQ?FkP;7>Hy^`=;5%}HLDPaFm})Q{iEh1i>k#Z$gU4*+gmF|UBHWE&mrqYSAy3XxCmbx9v07+ z5~;xdqNQB5vzGhyvn`{D-mLr`v-!Idaal^2=%(qP5;=kHbvZC<|wDw8x#&c6*KX=oFV5 zL&k8)?;U?(aXB7oxfsg!8)>-}nHE#!;WT0ajWorhWA=+&f@WBR2QtD8^tD8AikE^` zbKTYthhNq$ql%GrdbSwy=C}_R)(@DhmvJK@`zB7TOM0%d?)z%eGX5Cn1nJ4TOY~-u zvW`=P;uGD&X52D*L+3~>etx}I1>Y89l8CFO%!aqJ-k56_suv`xQMyA`?*6EjC7XS# zJ!|#07?XUcsGiTLW>YE;3f1xi(&&w+%bCSz#AcfolZ1f!2py}(UgNA}zIMQmPiWksLo1@1>UOJt8#0R$jG=capJ zvMb|ezjxGeq2n$iruHM_@aT@lsfFqiJo`HIJ`((%<05pt@GeKC#azZ!t5+4*qLqm=stM=gi9hW5$;>Vwb*4h!s9(QRG+|QfyIpHxZGp2cL<&`v)HOH2jhc_ z{bl{9=v9dbrqJ$g_t^0DJ#=XEyTrC>5y?n!p+>Jax04IOH{}Ee<6&n6;*SZ905}rt zMT7;xTAZ;P!Ew|oo;E#l!^e-f5d3UPa0(AhI~epeqRpsPWS_N^dCt;jpFZOsZJCQmw@oBh`go#`hy?zDJ@u^sB)BsLrnd z1=U_04{^`qR?GNe^gMcMwTtI*Bd5ANFrJ6bvu~O$ET=6tq*snJZ`!*{*WRlKp^gKZ-RS7P}uq&5a#{QTPvuN>onxw=S^>M@EgyySP|em~-Y<&0)H#erM_ z0+8^B`@0c6Mx-~6u+U@6cwqD>DAe7q_FO!QojJkfzzBx@-4MZEF6%hKqn0ticvaVv zV3(`9XJrH<5MlJfF%6~w)9c%AV={VQ)p-F}T-A+Q#`_|{-U)stC3vNYKg!_{%=Wjp z2KOQu*Z1H=NCaEP_9DUF34TUKa9A3=(%hH^B%$tGuPtMF@hP=ZUHEpfRH8X9zJ5KVXEhBu9Ywuj| zkhvZpy#|PNy=Eq_TwBKdBG=xzo)la!EY1&(A2Nll)%2R0ymDGM+upS}K6fK6|CvG8!0Z_D=ISr#b9#pZ(A*yB$cg=WE0f+sI&iDlOvN zt?$D{o3~S%r2)|Av9HlShXm$UDOZ{*X;a<8jIN@7&SjPHxj2d&h+&8rT`2E9B z1{Zuglk;(%>E|L}3hnDx!=HwP?{1~bi}mFMlssvjph6xp<&VRY4U3qUi{I1^))F}h zuZ6AVVs0J~pNhV9hh=0i@{XsmtD?K`er*x&<*-%Vk#|Yjb>4mJyJhS!KF6&m@A&K8 zuf9K(@}9PqE1jFB7V3B71As!-cAMw8p|&e67P_vQJw_C_?y!s~M#jA}evQs};Ck-B zxUA(8(LKVUi1M!e{PwSc9Lg|3=F6K;W9wxb2FCAo!OPO`0LYtd)RoK4GMX|rz; zuT^jn*Q8sSfxec=D!d!4L#w;MjyYaww~S;)WvAzBh`yS4n!70bQ%u^ye;Gh!H++~} z*?oI4mNC!R`_hwjm)@7FOxDN80{7N!dtazqo+FK|?jr3p%d56qMo8oQPCa>dnPczC z$osC<73g#cq}N64FY}$yTN3_^@Ln*QmM_}O>9oCmy%Wm_Xe5}Pl5XCK3&B@r1fxq5 zM!z8=n7U9ja^Oa=XP;xzGQt@N_D=AVkl^W+Q$cBPw!h9AOxO3S!IPFT%Q#Z7C&4cF z<8ICf4(jO@K;VX+UcuJ)fN*}t%+^WEC}h;&o&>vi5l^H9FNfs^PqY1X*I-=V1HfXO z)TCvMF=}v6f?YKDij3f}G#t6r^8RJ$@!$ms&l49SA9IrwPK6&Rl$RCvF$hthi{&G(9G+x*R(l>#7YQ_dH zKr<|&cWpEM%w9^Q3jg3WED{Z^<^9Io;FW31NMK}|o*wv`!eT}OU6_8nV48Mch0))J z?cX5NQY?fq?YsBQGU6A#4m_D%$6LGj&6jbe2V(9Tim#5dZ<;ORd68!CG(Rq<8GeRC zR%gq39+76<;lR&c{SC|5UZmMO&6jeT2S%HxHEqVvK53q?jq}A>OMQD9m*g~q?;M6U zXV-Mp*T?IKZjtI9vzDSldqJ4@&`nsz`6jj-eHt%@My%JTaXU5?7JNIC_u?Lvwkut) z(XqX_KiKCo31wD_%kdjX^QR);U0jZi1IGGX?l!+TBY1CmtX^f)DFi|?w%EJ|%()f) z8rNXKY$=iB@E`jQ@D|H`8^Y*Sp>3mpQK9ifG0e^W4VP=d$7Xy(2Xr7@Gdgj9dq)9t z(y?5L+zPKU$T&6c#t{|@Z5aiO9y6W}uLNI|6Fe~2e|m>A{k(CQMNE4lMg$8eHT;d% zI{t=>9zTZDJSf+Hv)c6^{p^)y%ZOkcq2XPdADz(*(j1g`f&04=@4`=qobWCzRQl^}Y5{#He2Wn<(`*pOLG&^K*g+WSl3kiydtF zv#&sn>1Ur;b>lIr_fXON$c$#}gAFIDM<2%qhYUMyT%vmHac&z&m|xY6TSoPwM}eSw z?K3_vCpf69I{FB<>_|8g?Dwi}+%|4!#-;Cpui<)e=|%jiX6-$bap^mx?Mj}45tm*n zF4wn5;c`{?h>YMe9G{Rh827ig2KTS1Rq)9Lh!kiVEVA2 zfCy&$>rODP@8P0OBG@ukH*U`Vc^dRe3iCu^;^xD%$0JI4~&mQlNL)3=CRi@82s?s+;V<9cfK z=ur%Wh2dWyrzY3G@#}wmH(xh3c~< zs>AV`@i1(ZYVetPPh6#gRQvX#ZKHc}{3f2yZdAL(M$V#CFRX;)f1uj3{q5~V_Zq)R z*Z1H?i@rF^=w2MZi2!>g_+dH00}>knc9qyj_SvhK5hHyCl=j^(=c31(IL(7GeiP}H z{fq3gPnx&KNZ&(6^KecxILu*O1!mp_I{5Tg3in!g(Bdj^9q+=6gUr2)?Us?g_#7&F zwz~Pp7eQ{neRQRvg{7p?*q5~1m1D_Nx)yjp-DBwylKV5R%Pja-A}PEYEzU0g^aJ6+ zffoIB+bv^(k#Tyyd@??yGaigu=a5?s6YC8CuwL zpxH>P#}}3=t)zw<2*V@6JvAB6{SV=h6x@fcwm4I9&FIzBwu~jlCr;r>?b-|C^2Dj{ z5#+mGO>4@2$}IqumP|L#tWV$Xtr8#t{o1){)%OMal(w7$2m1be9=YAzbms| zZno>dNXVSybqOwl^J|%bzLv-`yi4D1+F}E8X7#G(ma)dk(Ku@ioFShc`Tv9S4LuR{ zm3_@*bvXrH4|{Gp{6)h>5Wa;O=xd4G1@C5ybH?=};aA5kV~>$?dais@{vG3-hu!Dx zLOH+i)V}Y&uRLRX67kjOJtGmF|6-KWC+LOjrC7}`iWIYF1+oz%;T>o)=FbF8HkbCQfoQby#0Quwv1Oss=ZVF9}?9N zstj7Ot?n=2R7;*nMzwEWBt|F^*Y&OwzaKM2|2w04ajBJ5YV*la+>Zh9MUswau_W1& z(dU)pm|cW&V#Mszz8|1i?{3E$1Bdc+Chs_JO52t0uQl#CUn?$W^n=`6T#nzbdl|6V zuP^d%l<#IOA4=6qE46B+4fnH#&H3f{MTJH5ZC}p}^tD7@0PpC96}4OdUzqEae7ksM zB%hr;_60ES9CIQ6n_bR-88#KN!n>0%`!Oc@zI__IIOfEt8L58&Fj!CXmn5w`lbYXU z_Gm-%ai$bp*c&I>(EOJam*bkh8S3a)^ZymdpI>dxHf!}(Qtiwq$EF+gq}iEHmzOKe zTF~@gi3b%Hq5Hd;fxec=Pr-Zd*5~Tq>j?S1X0?rVn%{)`fR6RP35O+u&g3`YPHDTn zyq`{SIpdq~!s2rLn}Bh?e!mI-f-EGBq|#1=YYX*+tp9f7vy4`A?DfOpmvzgCXB>-2 z^@<_Se;qc&`ae_Fj~#5)JIR3s-uXBXtZS_ntm_$GeS6DzXk^_x>)$Y0FXKiALDv#>S6kRd< z)bnkY5z}}t97?TM#{W@g9MpWk7*~{BFz#E&ZR4k=j-LimTkl#l&O3h z&iGuVvlRBo@_e>e(F=36)Z7xmdqeQb8#SD@Ru%Bf=2g8dW2obiY&=!nJQR$K_v@j2 zT{+ibk5KHFY+bgIY~Pw~7d;)1*O>@*SF&CD55LC9zGXFOof6)6*uIHv|KTyU)slc~ z8D3S~E?yd0r>J{n{i`PH;Drw$>x!hytozn=y9nv{4s%pYj0=f-nJ)!K`}J75NYPGKHa+X(Zw~T{E-szd_=Apar z{*|IL59&UEyqoIIdH1dFma)({S4B_WUG6aYd&c|CD@ik#_MlnExB)JrzvWtHps)E{ z70}-zwOEpM+3Ho%EhC_jaC)A)DY^^cU)BgmS3P7k@1Jl*$T{JjHGHdW+|zuXNt|y; z_~aKi2G5(NzxEtVu)GWt~Tt+p}G$Tv#3PX+&?$~Ovl&|e zeEZgK%Xnvu=_7t!`F0t%@_#trqUSth55;=i3ZTqetSY!Ld)08u$Y*5SJL6x_83z>~ zFvfKi&lvZuOTFG;Ren+!(haY+lvdGU6G@_D=Ta6|x6p+)75V zF5BOSaVuLbS+?!x=u7V#eV zHKrr)y2B#z?)zHPGO8KpChy6+OP}Fq81FO9)nzX3A^R>k<`@?dx8K4H^fjM>AAA?3 z#geeAcAu&~Y8ly#l+$yic{}`0eHY6A#-KdxYfl%-6*-qE_pIfkw((7K?v)t7-&p+q z(=z33cx}*rI)2k}5nA453>KrAw%AZ|X7#G$wh_)qIG(+3I_@$;<*zlu!7(2&!V6R! z2=}ewmhsJa{~H3{m2j8)-#*0%ho>(z>eWgo*#l=6w-K^WZhilo+GyZJCKz3hLQQQk<~Ov+&k zA#1sH9BEp#SXOe$>Xq;qDMfTOa{JbC7s5XQgwsiR=%oEKYcODU00>uGoD;5Dy%HWH zr4JS1|63y*FF=3rHC$#{_$ivzE8&)r(&(k&7eUwhacYDY7Y+Y-PB_jcm31u+2;scN ziiQiTSHdmhqmgh5v*yigi10tr2p=E~&sf$pTv)vlZWj}cPYh*h-HmXU-tvzD;d8BY zC24g|O;wH^qR-QrT3DQiO@*xGc25i~Zh5ZhU2?sWZxJ^fP-YkspVD)bG90`l2s@TEOdfz%o`E z=W?N^ubcY2^rn9lD8Ok1;cgs2KdCGSe&4j+d_`J|bJ}&YSH>;lqLFd$jQ^3&I5_bk zYr6yE!iiTH2eVhkV^kF3)%3aV-gFlo|A@}`*07(oWf%KbV1^bK3OU+6Qa-xFGAbHJ zxOi9cKQt&GgxJ4Ic^4_)>Q~E0cUVS75C;-L4!EMUC6q|x^G>#jF!gv>3Xv6GNhXo8N-L>_&A8qCbW&?`C6`TJHQX{r8t3ck$+gRTUB5@UuGD6mwR$V5cAz7% z-aHmI-*)qL?M;nV3(n0fue{quOyhGDDeiio3?CEV!uyAS_u2N|^yI!|Ic=TVSE(-5 zo5>*XUeM~C_o6JXyxYY|$Kx27p8D=G%IkM2@6${5M(yU-Lee-2TL`)T9Q#*s5wX#t zIgMu9a*GA#iq$LOc2UrYk!_pVa`@cZOU|Y(iFZnikpMXEqu(Bv4+7ygHqs-N#&o*c z>?Ez(X0??pC(TaSq(6buA(MVXX2G`-c@eyJZF!D-mjmOsPu(s$8pnUJ)2Bt4xHsc6 z{_A&i0$|2vdP@c+gx$-xiEj4c@H$NYJ4^d-OD9=_uL@mo--gMSTBTFTEcjaimLu(U zW}vlzrH+NJnm{XVfm^nt1=X2b#?ZpHnyp3KjOxesi0vVZz2Wu@)2RCNq;~b=T~z-AI{CYjK~;Ux@9?x$h`yll7 z$W}vSn@?-Gcz2zMKE=R_z&ogNmVI4Q=KMg;!=h7B! zBJyu9n(*HH>mdI&NVwqJW-@YE{zax41ur|v$Oq-$>4GBEbQ;S^zusuXU*Iv=*b!;F zM3key=~xc;ZxYHhip$Yo`n=puD08B?9QS$7hr<2(`|r;fs5Dj+46TNIHH(o5Tm)rd!5RBh~c$Fu3`*X+u>1mUN!WQ2XFeErO@HlkPccI%yd- zoiMdJ&ZsUt6_?(}_c5v$mtb^yZ9c)y$Dql!dtx+jELto{wq*3G+LqDNI6A$jYF`Ao z{rV!m$@rdao=95lWO`qDE^NN-MyCVca*HLx6|+~yEhDCJlJk2`rR_u&@DJXTno|WTzl>poUn^vMy~yH z{jQ8_n0Ag%9y%CYXRVd>Iyd>$>j~S~r1^Zs7@HLR-7b3lPMPb0(Q68^s@J*6E7z9M z$r#7!>0i6Vaef`RW)GUmJ?yZ35xY2!(&AjTRijtFW1JGf)%<5;Ov!rBrEuZ<9V*|T z+yln9P;ZHE-~P5`oHF*0Ab$GyfR8S5@k{Q2cmz3VN6@ADmOEE)$JIYEa279 z?e)e2x^Vq=nd^b@w>j6kVguK{^*Y8TZMa^~A90CIzKwHDpY=yIE95>ByVxXSTeMge zZprRdy<=?hp`!e)2IYegn^Y;+Wjv?cx0c(*CgYuI_+9Akd%N7J_G>^nd(0mj|9P<9 zS=v)+)*3LlKV(g}yFa;0%X4Y(mhDyHE#sGQ^hr!&g31JcS_ssb;o6=xSY|;^1|YBy!X&$&a5|czS(0YZf@?bHv%6mi?eOuBJRB8 zhX|}CatdB^zfEnms^(grS4Fpsckb8`=M;jo#lSc3#&nri2w0`nX#MyHltc@wWje(mRE(hjF`qAnV!76^vL`Y z=N%@%Ws(-ON7GM_jA*e6x@7lCxn=xx+`M8v4L|DZU9rYFg7C}nzytIvqP_egQl74y zqJdM$3%NJuf~;-AXWuNfwnXr8r&4P<+IjQ+`sS9=(#SMDN8NmLmwB(=D9&;jD<2r9 zB}bew?c4jdi;a%Qp7WkeyY!s@0x(@(?WEJ`@(MWK;CF}3wO!A-(&AjNRijrw#4`RF zXW#eE_ZyJ!X1l(a9%$C9X$=7nS-0_u0~g_o6wSV`wwMF190#vn$#%=wXB=5h&t5mL z#AO8T>p9_g*2AXT?#_EgH*KwoHZ%ED?(LQ_&v7#X6t5sRb|>fSkn2Vxt!C3+g{<1> znc*T-`)X#OuO$LsTdlPmZ0QL2Rcy=H=GeFq+q}o3Z)A~4+!>GN-yvW*3r5tGX15T8sTOwD zy{f!jyfTvSpZr&MAs?lFFv(ZtUMJtT=37QJV-Gn+zng#K5&?QJBfpkZ(-zFb9JH7cG`GUb1@CcH0=IIVW6v28!rObRqobG{QsI^!^D~wLB->w}#tAIivUD-+Osg zM)=Iy3f$K`(>wv=3hT{dv{Pmm-#_{Py$kuFYrOpxtIoEn z^#!?J$+wJ;#wTC(^xN?lz283gS5op(=vNlg`84f-;~uis+dTOS{dT3rLgZDmSH>+P zrIB&(jK4x>9AtgK7?e)uee6aX76dd{Xt>1Pr)A2Y?u_xay z<8L2ed>^l`Fef}@|HNjTBGqo*T1mQv&8u?T#Y7|76zr~}0bI!bZwlFA&q2{I*@|dq zWc$`^%b4e+Ikx;h_<>&U?&QPlN1PJzgFK&>%b2d0GqRJ;uEw!h80Eq|&anLwoNWdd z;dgIk2KrhetME>>TWhtX;ChZ%9k+~sM%wB5>gIvF(Eif}=N;YfkUbSQ+7(q-X!ot{ zcCpa$ID=MC+FfSQx<8{G@2@B~YqzXc8ug>_$d!<3x0ykUX}jKPS>261pZdPdE(RKj zr@(jh(_M&vSt0RZ`|Ga6s|v3Y?^)xwS;ju&oN?YY{-u=o`J`D{PG;6R3EcRcHUp1; z+RPb;8gH~(NW7WlRpBk;ppkd)y#G`Y@8H6R?9({%E(^TIyKjBBjETl8)}Fk(T(RDl z@xGj%NN}d}g_Wcl`nYu4E7ti$ZM7`#T8>wBw~UZR+P%~MlLfR7O8<;XyDIK7?Y_0$ zGF}>enVz(}T&=!DqJ8jucVt>>wJz>*mREJRjG{)~z4QJPMZ6D;@2>D}$~))Xx4zrP zR!5E5jpE&Q;%+;aap^CXc%N!in#bWTq>!&u@%jZ95m(*94D_``?t*vLFN3V-E!Ksd z+r6r~ZA>*%jwfq~o-uP)7#GTa+&Jf9_qV%HZpt~M+_#q7#!^kn<2V_ihX4?(#8?$A?vw)za!Oi(P~4|r7WMSzSTC88hP)f>Mp$hSP}07<*QHSP#1{1l;xFo z%Q$MB`-S>1-Mko=dyh^_yq8?RBg4a zUCZ%GyJf62&VNDWzMFsU(#v=crTrFVmi3VP zUTo)hQCciST{U}U+%i5I8TZck^L55S&IgQfS;{5Gef#K^G0`37{igSWsI7OuX^jcr z8Nc7ODQ&mc6JOSf%NaiUy~X9mDfsZ>GOzmGl<~PrtDVeN)8^i^3eGwmu^u+-kIxQ@ zh>cF>hY8+Gv6#mzCb& z-nZUc#!cg#M?JZB=~rK)-0!P&s!RFM^`LpTozqKdvCwzf=u_86E#suoXYa|k%XR5V zmG7Cgz{dpGUYBx|vBd?1Q?pmbZDXUR&mPAyim@*)jGxdM2d^b$pT&W3*;|p&_w1*P z+D1pW$FaJgm62};J9oR9a2wB26u(MEB(F{Bxn zd<^4>;&MDbdOnox_gO|OlJ8P|w?%d#2 zwJl?xk!gB*7}{p+(}n3&oaHiB9NFST+4Me2=@=@jcM9?AP~L7ECWBtrJOWKw_C7&HJbG7Hf2KvscC~W0|p6 zu%~Xj^n*8a#ut_K2Tqj<0$aB@F z#C!J5M=WEVaZFZE;$8fhJ9XmWsx#zkPTTP+675|;_szIvbTeLm_GH|pPo*vxAEZ8& z{nG~7zL~a+U&h&=dot~E|Nc_O^unn&Jc(|1+NjY>(4e*3_KxP+w%TghGuLvw`sJ3f z%t*U;+K&~`j#3`7r{YGtD(N!qzO~<{G<^>PfrH_}Zg6?eLr;_H^j5NyqCFTtsZM zcx(#jI&ZO}>B8z&&n=^zk#KtUSSPv}<#ZuD(FhM+%lju>)A5XO-x_Wk^EB^~h+|X4 zeLybPoVASb9|Zlzr@-SP^!rL?psyv8z&jh8!dfe9cV_XZ+ao(Hqn_iDYCJ*RblZjM zs&t-1*X;hNR`nXG_N&z+J1paz(Ho(v(~W8uZ{$c$b;9OD8 z#x*11-U+X0gom!(_WpKGxTfD3;l4H8GLAWJ-gh7UZQ*a@FLS@+u?}a1!x;agb(m%$ z_A}+~!rgZKIcwY&=Qbyb~9)4=Lw5?6D~QlC7#X zBipxT+r}`>JJjNHf`n$f#4zv3$ljlHPNuEnC~3iu55I(Jw5;7DnFZfUqz$i3yOmbU z0uQEqUAK&6M%EE^ue$zRll1}8bqQ%z*VPQKtXsx3V=rP))?NC^ zpOdjJi+afYEcU&KqQ$bHOIDwRPg=$|BjMf&|51%_l=8tMT$S;haL>N^q;0Iz>`jdG z(~3S9)UST~$#2UD-&JoV)lS;NiLXK?-2Q$asl~F0%Vw`CZW-;2cX9SqahLm+59*B1 zEU(}UZy|GTf8R0(I%{Q2IX}67$nzYCMb)oGp*QIkg?b9$>tcbc~_R08! zZIm=Jj>@h1^jy(h7{6I(9OQh!7}umcXWX-oK4BRr9XH1?o`w@1pDlsp6XJ5$#r~Y} za_d+-@EGZ%*kO?FC%P)L;9H3tgI64r4jRr{tLS%T@~YjIvC+siJx|@V+lA|W@|g}? zxBKK;(`@A0w_e*uKu3*d0mVKQ;di^l{P$9>ch{S>h1H{Q2WYv~s)Rna<#F`eFW*bV z!wyupPiDGpv|8x5ndMc-E#sd%BJX%AyXm+K?>80k9=M)6@-FMT#=CEQw~U3xk-3O_ zSKeL5ol=#~-CNH{%v-4xx0@L7#; z5c8mWRr)7f7jj0pZwmAjT&R2qE7~Y&HL5+-JE;8k8D58aUAwN7#CCOWu4!WS@5ky z?t<4`=S7QEiI?m?)qUJD8X765XRMpLyHGx3ob#~nyKtdg7xbKR&ssii84r!~T=b+I z&v3t5zKc^nvj&6F+x4^=yx)EaJxa2k7ths&e!J9aRnX-OuZnINBaN(kXMNgaJ$PT; ziFIApIqSZ4-7;<(dmVeS?$YZxm9gGPX4dNM4i0r0kX}d8Vp-57t5-F*jFd*gy%S#6 z2uCR&jL1>WvMS?})hpqavC-(S^d#KHH{VGKpKc|UPO`g|E+1$$2F5qnS}mkp&+y8+ zWt24brT1jrC5H4Yll5|=kydd-A*;G=U%G-dYk3#uvrMntTgFbK#`omjMdP1YzhYbr;{|dYyG3J!DOH@Ljr4?m1?(-8McN$94H; zd`Hgsa@x$FHW)JF_?w1{xEG^%To*{T)MCYLk?mfU+%hs6$92&&*v)HkQSwQH^1&F_ zB~z|RIj7vWmRm+g<9q-;DR-FTMYlja+-@ zdR*o@a38!+t~Jp{u6^sZW&AUGB|W)z@k+Kct}D&7S+7M_|wce=Br)l{2 zK|hB6+R6PW*JKuaE0N>yis4+T#X`tsqgTEyW1JI_Z#+xgRNRH{t?JnZFFfq)%f9)R zC7ko^*%u$PjBAdYe4mDsz21Blw=p0n7iV%lizCu@d(CIjC@wdKtl^T+XK|vq+&C*m z$ocS3zxTwAQohS8D@n74!TXT=PO$F?7tsfPB{R_15=r14wL5RE5N>YqsoGsz;>rT!z{QhiX}_8P&eEI>sy!SB+LftM6V%t6lm{p3bPQ$v5(bOtx*z zvaGaNQf<}lRl8%%@}Z)9i$VEd^qa_(D=IEg?pw<(W0tWG9KQ^@=5xQ>MazFUr+lhX zJ>G6q+Dn5muMki!wOG+|+3r=#EhCtba_^L1XHY&cTFzJn z>-C{5O8)Gb>_fRj+HS8tl%?WwhF{()F2}X}Jopau+lTTrpuE*i4$SWjTf^~68yC@k zas@Nc*Al6~yJ%^y-FeHs-nlkr8Mlly({sb1Hv3LoXug)8UiQi}~W1K=UX}eez~@cM@Fu_bA6S} zbvbPPwz&&O;yU-ORg=#v$8DAo$T-VGPp(}ekWVJ?W87Hiv}W!)n6{25t-$Y`w3+3> zXmO_7`hoDP-Inpk$hddLuhbb2T)!O{=Nhgu?z@M?GWr-9_s;l}$n1gU@n(9md1xW& zEYv$N%sJ#yfmV#`EzWe@Fnje?EMt<<2k*(a%eCcZh4HZYw(`Lxkn^rV#pIQ1%jo2e zZAS0*eb8aHUhno{)~R;Jd$;eDwk!2oZ>Mm=3-(4&LYYo+Iiq*`g~jD~@3u=H;S&Yd zx2z_uQwvG!M7^2>t=~8!IxeEOn;#;umdGi1<-b@;t2Gf<^Slyo8Ly0Ufa8hOY2Yr86)N+?W={q239 zaXwoFNa=0gzSajm|Hes|*CY};a!42Piy(jRv^cFr62xz3O z`5UJe(>;3^f>wB&@h56)bI9c*;Ma$-jAq6-J=G-b8^C=S7qZV|WCPTTDd0UAWb@Wa zWDA>D&9;qVnlpaKr(Ozw#U)Pv2u60fcIRrlvv+m50^gmGJ#*}H!bSKgW}Ketw$x&Y zZ`taVaLX8G>=UPFubXze^ogHKrk7gN%PX_N%nBs-*R4;SukXSA;CT57BfGi!0yx27_p39?l610W8a_frCshIKHH#t>eNk1_)luExr11zI%|0`@_D9L z?k(e)k$b9K-8^g;?$0Xbp8ooWd@bqBeIDp3{8D&vYD8pn#5S@yYK*pueJ4WiUA&ry z8Qh2coGBNtrW@+MDYuJgj!$fll!Lx^Q+Jmh!c7w8KM3ATK9W%Q?$^*?MD|i5$Kf9# z+_c5I7sHHRy%)=@wb`){}1+FQvrzo^9`f zv4%-2U4=>fLiWmSM$}UMmRl?-xMKFI;g(U%IQwi*#$9Hg9b$~bz`D7lRZZ$AlG@^_ zl^^`sXDR1Kt0maYJg>xCMm5JxulzLpgvYsl=of+D^L_grXPEh@)2*a})8q%O=r|$= a7vYg#$qe+hM6i97^sKcK-?_yD)&CzXI=+bj diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_slc.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_slc.a deleted file mode 100644 index 1e636724f39f6e5eb91d384d35725edf8370c091..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31662 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 Xz2%p(l)(KLD7AnzJ>_tS{JA~IwCXGqf368T} zDpXYnA%wW7c%okLKs*8EoEeWjwkNyJhZaR-q!~}n{O$3a`OWdf{`ig?w0oa#e`=;v zb-!v?ZL6_wo2JE^)Y3HVn)q#+N813f17Q3Guz3Qo^{2>JegdHU)^{Sm`y~M7ojW35 zHvuT$xF+(=s{oWg`kS)j+;yBsV-}2^CJR~M+#Pn9^VIX*k>{ZCv|&4T%^7%)DM$A4 zpv_K0$8}J4%)sd}x3kD~pmq4j_xy3_4hBuP-FKhhMIG;Wl`ZC=}iN{AHk`t-tt=24~NhVFC; zZ#jVGtIFf?_#7F$Ae~1Syj7FhEv#(deW~dHEUDXMy!{InxKpR9_j>G>V_f(=>{YHn@gHpH7h;l3dP%B3smi$uSu4@#sl;69eih)hImZw6xPdx$MhN86HE8@>Dv-5PBC*TnAf z+rR=J1Dx3RBLZj^b;L@&dQ^1r3Q*f+opiFEJrdz%ppw>dnfvEWUMs?Jk3Tg~j)^k? z-LNw>Bsi+{X5!h*3J2U=@t!7=4u}MLp=!izG_N(U&}5 z!_K}}`h`T7islW}gnC`PHfS6NsCll}+48<{dje!YB|*pk|oZs&u| zL=N>UXnF%{f<{3e{*2a5?un3(|DgJjM|+6KcVa%tgSNb%0cOS3QTNZcU+ z4P5Yk9cz?m9Se)ae~ZF^04thp-PHZw;;V(80-W@ELDK6DB{IHWjPbg)n~UOq zU}QTlig%Rgcac%tSNc6Gil6FrxhVd#UKca|AaE`YBD$wWte~E@ zFOTuPf{cHb-=nXi`>mMq8@K{yjqc?XQ1H+S?FNEGb}T2+Y7y+ zU*eu-cTGLbMJ8g;yr-FmdLujc@?#2TV|Cxd%t5^zc|OcXpOg3psO81_YC-DP`x#ms z+0_xp`g!&mWC{59?&HOA}yt!76oLC@Kj$GBCH@%4V@OvdMl?DSOEe&xoV VR+;r;kzG6T1bEH&{l)h){{jo)ZP@?- diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_slwga.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_slwga.a deleted file mode 100644 index eeed243ba6a25cb86449834ebb128035d05a1b7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2482 zcmcguO>fgc5S_$rfv5-$MdD~AxK+juiIYkQ1yv{@7H({xe&s4H2~NEsNiM%1lamTmk|3xd`yB_BKkoZ%*6i055!qC_NI|Q=Xu)|ZbQV; zfUeA+#AnBz@C2ep0f=GX`D;7|4tgJwZZJNL#zAj#+y62O2dOnt9F*nm z*tY8;A8vhbp1c2j3)2TMD*%t!+5{^N&QrF_ClmUImhYurIfQpQ(7&<`|i?UxH8IR1*CT{%&!`zSpj0%-Oeozb= zgsDOo=R2s38Y_0Vx?)?e8ac(f$ns-48Wykq2G~_F{X@mpRk$5G4W8?1rT}`2MT%8; zebsRD3efkJO*m!WTuI>u&`h;#Fh393T1Cf0Zd(Y)!J2?D9iEO)q=%KX#55)OAGFTw zO05&W#OY$_Jwu*3r+x-29n(tn2k?$(IaT2Y8f!P~J17mVjKrqF<#B5-Z?&|_xX0;y z!xtl~IbRvnEp~DLbEZ&QOt4q%<=A_*9>u{5ri(?7p7&njy@A0(EiNo@OTD~}m}xO? zUKx}}2QgoZajrTRDdv5KQ9jK0>iPx!y1ZQYbSw9XWzA4bsiOyINgYbf(Y=}av~MSc zHS(PwbPl=CL#A0~iz47%vd=GixbiRqOG@Wl>CMX%$rIxL8T3e{KS7HIRj~Bz@^3j+ QVT4953cJ?vokxp)a+`YV9gz1c9(A+ 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 t=pt?~c diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_sporder.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_sporder.a deleted file mode 100644 index 3383fe39593907688aa22ecebaf32611a0f9d1d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3338 zcmdT{QEw7K5FR*cmDFgOJ~aArCi-UZC~(lk7!owjAD5$d$O#1kr(#S@` z5B*8~W!9P5TW*0n!IacE3A@wT?{0U${bp|a=(#gG>Ac83GiNPd%G-I{s+7v6Y4MQW zn&zHuhYvKf0B{Q+bpVh_18kb|m)!=)ZVOQp;@#LAjYZuHypgC4Tu*%V`_9l87@SmW zVHZWuZ_zJ|kB5Vii&#e>?$iU(@f`PBFM{Jn?Rew|UVSw9<) z6*Pvsd3de z>W4=!UmfM#UJr6@zvqPmzpen@r`k?e1;V(_7row?n}c9FS18wbjK-6ZgwZ(4Fot$N zYax%!&jt<|sYDEOLkcib#LlA89Atz^!&_|El3Q8UY-e@NmJ5{y&DzNGeOer3{r@OrP|ra7RGE1z)6pYQ1u4WO2?*j>f8h zcF_6Q@5%^kX@+Uqk_^r|7(yr6#uDt?2s&Eju=OOF!{&=pz}I9aImV;&?MuDRm}TD^_%@z*?oE8RG0Ls?^g8 zOxzc7vJcw45aDJjdId2-JZ_pDw2vxczQyBgwXR)s-h>zx!yR8gf)8Qjb!5^n9p7?JG)C8;jon(0SyF521FMF`5CNk`+Iy<|@K0%qX7sOQ$ba zBv*)cB#cPKKR}O+GFe8Z6mjGWw(175`kiGBStGv(taxih#qTdD{v0>DO!0200_tv3 z@qKOHKPi3^k6Tdu_jug&IO(MSR`Jo<&s{KC8~?BBAL9DSBGp%9fZH^D#a^j?Zs)UC M_4&c;|AUbI4Y1DxY5)KL diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_srpapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_srpapi.a deleted file mode 100644 index 8de830f22b278111d3363fd4a89ef0f7d7c1f5ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19126 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 o+wY1OwP5!jXXG074>KL1>iv@wX>w$oN1 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_swdevice.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_swdevice.a deleted file mode 100644 index 793ba3a53fdce1ac990798cefed3b47f8016fefd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8942 zcmeI1?{C{g7{{MD?N-Vdzp61IK%O)ZFHmsW)Cm%rDl)YLF{xTNi5CdhZJfnh`h&!@ zWkRT$(6ko_^(B8!|1!q&-1*Lrb9R1!35wd2d_LcO?epDz?(4IC>r214+qtv&xt$Kx z)v8-{oyKazwjEK#W7~FD-1vm;MF3a=u+9PIPXHGFl-uiV0NSoUl-t{10noOzCb#$Q z0MPdSy4*gj0nldSwd^I&YkJY)iow`Ww!OWmxOK6gXJel%!A+N9V-svF9gM zhx3j-DTVU`?>pi15ECnUiE6;Jq|YZFu5v`nQ=E%7(um7Dl6MF|wM)*gV~PUJUzzif zIF^wGJD5mTb!wrbSA7MnA<69p&Gj*9{(`%`r1>Q_XcW!c@d(pynlwLQ^$w#s%GMb) z|C+7SG~dAXO-l1s9Ak4;E{T{`vTsU+8QJ_1p?N{`;^Eb4MLpyJEn)Xylk>0*K9_@7}`EsIGD!(HlqrAPvJaL-dzR&6%=Itlh zI)nD-**fj*AK;9c)Z6DZ?fS!n{$4^){8{yPwN6P^F8IMr2MeBKTKT)#@-+7uv`#a1tr|JDUZ38pr00c9^AmvN#}v3N#K83F3yUdw>ph|s-#HTt7Fn$H(mcX9QskN z|2=cdX}W%!)jMp(f0(T^R{YPhb(;2f{sHYJO?&*S5U(-IYn^w6A8@DtG|r)&1@tpc zIsLFdriFgLamMA_{91X6V?K)S?-&=;wJJB;scw$9-DC|jrbrhjykx;Yzd@t=E^ c*{1nTA$g1aL}rNCf+x7wZ0G*zFM{m90ddK5i2wiq diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_synchronization.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_synchronization.a deleted file mode 100644 index 4e3b2af68b44c32560860afc7aeb1e2a8f40daa4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4158 zcmdUy-%k@k5XYxK5N#kDgNDZ=L7%vKE$y`?#(=!|U;@S%d>~m4?n)2Jwf0W=k!W}@ z#z+1D{}}!4JUB=Vy$aC;>h)^ zo-5FK+%$z*6CHPlKB3<~@pjw&uIHXwf!pa&mbPl9qc4*RfpR}8~6O-(b+M@k**&3NjEcG*NAkB*qF=EMg38Y80m+;j^OCK-M*tUI(ny~S9POosd$|_we&`4*HI6iF;mX(~Q)8GPrcvTo7^YETS7Z%EC23)NIc`(fRmct1aLkB| zLT(}XknkIgK}MQ9yvK5)Sy>{c+c#jkQLm+#HZk6hXp&I;-%M9|8d%KHY;a!lAq%vh zSxiTIwN`X-j;Q@nn{-k8YCVIF0#HfWUf}r5a%&u-+k9lA9F6IKR?z<99Y_x|m54Mg z@)oG)=t}A-z7*4esi%sZb1Dy591%@5Wg@^jm$JyiZ){BPvY2SPP`3C6T2-dZ$Q$5g zL&=tDUg9s@EV_QPvW3oxCG6i0sijH-W6T=>Pi*A`qY<*~Y;dy2CpPUx4F}s-#)W|{ zaRbl|7G&$MLVX-%L~g0~b4r`mK-zs&13|mNM>j)c3M= zDe6zNbusmHcHWfwTyp>Eg_TLUtHeLS7?2H!Uy=?k^KgW9g7|CR-2Vyd#+a-((yX81 z{*Pk)lfuYtvc98?dmZbYY+Z`=ui3hob$TznDeJWJ>i;e}5$`JJkC|tc^XH+5syuwg PGP&C5pR5{zNfQ1Sv#p9! diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_t2embed.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_t2embed.a deleted file mode 100644 index 1c44954ed665b9c241c0ca61ed703cfac8cf2443..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12990 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%0DEDCb(v>w$p02$aaTW?Njc0meqdHT~E@D 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_tbs.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_tbs.a deleted file mode 100644 index 11a57b55813c3d190f0497a77afd5dc13c9da412..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15318 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_tokenbinding.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_tokenbinding.a deleted file mode 100644 index 883b23175c1366cbe8641857b009507b5ee933fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8498 zcmeHMU2oh(6usF^+7gO@sz?z*eh%W1a_@ZDGwbojTdbf}cO=iu&YbahuFsi!J^SJ3!QjX4qxnxA zGc{M6Uej|ss}CK=jI-c*f{9bfGmuyc? zj#>X8>W5MP$Pau3KV{%|SrGpByTKmad|ll92^&O*=ijn84vugJKYDuV7x(KuTP%6Z z&iBqwS^Pa4JYxgP=sc$24ja9Q^^?(ekQnn0eKrUZR{Z>1%tY8mZ*N*B76Y-9Iw?%H4t9j zLKy&jJcDfKwK-@c>@4B+;>>~F{YDrhK{15)tikS!#z7ok1A_~~MRddEmcrh_$}B#Y zp4PxsxK-6oxVy!;w!+=V%6$t?^{aC4yT@PdtZ(mZZtrY0!d{Qs8;4PkNx(lZ0gh%4 zgJabo+jYCqH1(mm2&UVtR)o>)RWHJ5w!)1H=OQbZN!pX!X%4$aV7QHl3H6zG&6~(y zGzTTZ)L;km>UKQhZ+8s-wp*PXe?7GIJM@4s`+xIyg+B&n#5dyag5&|cOB;U`UN1FV zst3Ja)d{ES!zDU4r~~Ds>^is4TfA0=&0X$|5RQp60}hk!PyJ)j!ue!anihEjjOW%B zj3@h&O|zu$AmW*G8sK2XW-3XA0N?OjWHtB$D^>a7YIPF3nA$=t*X{G|rigtUXMaAt zyv-N)8@?tAd~7^M(77Y20jwZy14T=9#SAJMO?tE?@n-8SL`Gp-^g(cFSvZ(vQZ zQ!tV4Avvk}SDL<__X?oflKTLVOy*Xj8E};F0onepTDT<){_`~x1H==FCj_9`1^*YZ zMu~JSS|0J=BCEkAR`f{4TzNjm8S1YnrX^3o72uUrz)BYFD+OHPqOVgxSF(bNn^eF+ zn|G7~ezxOs3b?f6QUy4;zHt?B%iuvi_Mc=GETKIpWh(eeH1NCzzhkMZAiw&&5-gai z)v!8M1HB+Y_VoMUM$|A@#0U8u`seeU?=xFL2mQ&wA5y7~= zVRlFj=BbQ`EG9KVa%hXel=+5r(ZKT>{EDUN8_d<)Ji`#8YQOMVNhP@YdC>GbLB`do z65hu*JFXJyRxaQ%Bc@6A2@hxim@*Y~L<7%jaDk;w1=pRvR_+B>N^*bd1^AmAik(vK zzls;ASs9?t!zY{n4!4%h|8ibHt-ja`q=>4$K(nk8rl&>pa*LGkDyKy=h7!#GeJ0rp zjC)#St~{@Sq5i5B;FeUt^t6cYZbb@kuy@=z$czT^|6NY93YNIFbYC#~v?#y&A|>em J?p75U{R_`ng^mCK diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_traffic.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_traffic.a deleted file mode 100644 index a1bb1674f6ae68b64b668e99de0d21d1963e795b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18858 zcmeHPTW=Fb6h2vpTgv^?qENS^Ld*U>1jS+EY2P4uqnCI* zaTI{!sXuu<{RaTW4}RzI%rgLrXYm}0vx_`_Gz&oSlfQX9{}%wo3wSQYxfeW^egmLb zdCKEw_W&qf{+!3^IRJ`R_VT#=3Sjw_>n^$OcYUwdcW-zDujejxo1Xiyy;0w6yC{5A zaa?D??X>Sw^yPzIz13mImkUcLE77lK;jmN&T7ZQS<;%bo5+aNYL$rW=;B z-`6&s3lh$aLr$xAk%^kY&|ySruDw(_3x#@!CtBwzn~m8XB03bX2P}9ct4T8xPjKUVY%nn)|ZaxH9bwswzgAi))Q5 zUN3$=BL$?}LGaU=vT{u%%iA49M_7XkYmKE&x3793wL;=rquOi+DiXhWNw5kk4LKhLU%uArmm4ux14i48V3%!GwIT@oT%EhsE zv%0)|ZK=@gbfC~`cRat~pVt7ZQ?2@aA@Jq;c+ur^p*l!SA1iB^jy6uYVLI9vO*0+p zeK7dr$i`<67Uiaf>aejP1mvb@bfSUkpg=knT*EYxyTS}%c5MvImgg%G%sM#Ec+>tZ75e&7)01mJFBf^z6Z!CwW-$kp(rV7J@j1kDCP-dm zw`^3$z)%6L!PHb?N!lm(LMNGlNFDoc4{ z!LOJ}z*tFSdC=e$D+^b9A5%+I*hL40r?%kTIor9&QULqf39RIcPe6ca@3~MvH2|vpCx; zCKnPm0s*wMzS7L|7V#DWQ0*M;v~noWD&~?;*>9d$u#TCqO)bpVkp2DUCOzYShH%>y z;iU}WI71x7(gu1XgrDT|Ev;)p0wE)<2tPp`z@QNRF&D7Z0=kWvJS8S@7m)ZaUNpqF zGateC7Ebmk2LGM|g5hE}8T_tR?{*B{iPwuT_>b{=65oe$?#5;C6MVMmiRv~%AkEn3 z&t^Kd^VB6jSkS&|#C7EL zLcC6zZIt)e>ertuZC^qM3+P3;m|hE%M}{LwTiiDFRhBbfJk1t|y!8J_tWWZ`$pJp= zv~$AWn`LPDzx(2~7k-t`GAK-t%WYG?WrlBpccS>-AH;W+uAgQeH+$DagR-*1gTf^7 zZR*3k7=70yvsKjI_i4oDxVFkZ#CO~`32Dao`?N?gs6B9bi$kdek1>t!wJ=xWMkG;- zCG%*~1cjM8Vx8~A&dOeW?#XUJ(>2X#H``f}h~_Nf_3WW}KTnfkt{QkRB~a66=|lGY-QMKHmv1=QP8*{MIqm7&qHR)IQ@>=#~SJ zsGVZ$<;-?gXaOX-vyxM|=AX-^oWISUJbi2jKN$`RljQBp!)e6ZJ7I@gi0{ycCJ=o}izQ&_;QJYMk^K_wA-9=m)Ld?L0wi@p=*4q!+Iz?Qr@w zdEDKVDa5$=FN8GP-t-j{1+}Ach6`9~K^>2(rvlWX=ZRV*rhZK)YLRT=439!{_FWoH kY5bSPVvdD5l4eBH`wA2kqR(*wOD*v5xc$GEB!TLG0cbh_1^@s6 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_tsec.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_tsec.a deleted file mode 100644 index a0257340f851e01bfa1339205d6c5a7584945c08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24182 zcmeHPTW{P%6h7Isw1gH)38e)DE);|c3cDfM-5@||Hw_e}5YbdZ0?9F1CoybxBgeg{ zLMW@sU9QqSr;%k7TKl6C( zTL6lWe9z;FT>y%w!uTYn6raAu<1=3ZP<-wi9$&z+6kq&_$EjZcDAs=Gapn&Iij6S7 z`Wpbn*HND0{0}^~egvSn_#KZI?*dR<`hv%I?*UMJ58I`9C5-Ri1fcjqK+(2awtZ#C z^>^%LH*kHs)oZ)uhK&W{fC0R~Wlhf&} z_^uOdVSUDHX{Ds}wJiJIHLv4tm`8?cNu&(5IKH!GRx7K5i|ETQIDyl*8%#hd`yPVI zch?O4kIzb_^wcEHvon(PCFc{Du3mp}@mZeJy3-dde#-@XqhSYrSWv0n#aDsXS$ zt+8*gV0m?_O~mUT=3)8QsgF>{1HvxJc~s$T2pPLErzLev~S^wzy1c;7+XhDN0K}h^+nZ>OKp&psH=)eM$pr^ zNk-7o0VYGePlr&COg{(l)cBZDhUtb7Fg|vFx{~l8wLyVoDzJ#hz57dq*UcgD+IVF; zbYT;`)=|gD=)&N@e~s5^b{Tk>q^rT}IvI{XjiC;&k-V4+axwnJ^U-gTi+;-~;d>nD zNK77Q`Z>yeWkK;K^JP&S149I?2b)*BpYR-pqm-tplly>lrd^J7(l6;W38KZ|*Q{Wl z2}dZVl-LKbz>fS-f!p|FuU>pUyx6H$tJ8H(j)8W(DcbQvtTT6TSm?1$#|yFoFX8#s z5TBG-P|aw^(e4WNiCWNw-NZh}c9*n1gN=PGv!*+) zeV+a2hYIZC4-x57?-lzVPM^l=$qoP0CH`qlxbco>Zxri3$io>0|0i?^h!z^~n#dde zpW#31y%GPhKwjQWEhGMGd>ztavy!EUA3g!@$^Jj8!GE$=R&4xR$XyDF{Xfq$*s%h) zFjeh;(t8sD1c|&DP|e7IX_WzAq1hbd-**JRct8F7YeKvI{QF(KoN@=atCx!z@C=UV zupZE)2?O{f$5w=~&LZCho@HnkS@2evLrDeh;L*T>NCSO|5DVqRh1y(JE~xW8B^Q#X zfl;{dhz1Gd^(H$Tip_;HA@Y+u!rNgEB^9`fN0kd{4VcIvN#(_cW=1xYz7ZQqeuIdg zA>up3D9;ARHCRaY-xQk(7Son^S2!Q$P-60plHQwGAV}oJfJR0JOykA{7HAEaKOL0! zgXDfdwr^P9=wS^5f!-^|Ye~4zL$27*dMMfzj5Ji36_&uRwdqPh# ziz3b!y&C3FQUQEf(%5q?@MFE?_8gFL6}jG2=ZWqh5(c4uRY1#rqJF>kM4!Ns92WHt z$Yammbt^XFX>T}%WNs*ajRSKl;NwwRD;V(ZUv5axxLRD=cN#zQ6YnVYeL^1d_#Mq+ zqkRPX9`{^p-;=XBc{SCn>%uj44|KUpG+76*kP*Y$_xokkOK%q!`N@`Mfhi<*evxOe zBY*Qtvhz~!wfL81@?t^8_2BxP>gANaeZqoKZ2w`I1<{N0h?F8T;E53L2?Lrb2He1Z z5(A>1YoQ;X%nS1wSAa{;o(~&;P*L|ljN;iJl1H9>>!H|qAHlO9@a>DdJo{?amECf; z4}-c1>7(rSxlcxV>P^04Bi`bMLGW?ThdGpJcl)GzuQl^&iM(um*45ndZC^HmCI(n| zc33a}pv-{uCw2<$sRUCYbhX!w%C%e_#+9|Ke`76oT;ziM!Lx$%V92#xx%UbO6oI_(pLH#_ z{PKg2C-GYDC|`c4i1=sU?<=8g8SU>0#q$ ldd?kXrbjdW!nab3ZR0JbEfM{FXL^(`#TxK0=x49C{~rW44r2fS diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_txfw32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_txfw32.a deleted file mode 100644 index 097b8e4d26a881ffbb0b6635be8e8251506b8006..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9198 zcmeHM?{C{g7=GilTPbCLRKYYc@TBe=3Qn3j0Zpi)Q#Yi6s#5rbC;zu>`REC&0=-Jg!{@kH2bt?mk^6brXv?mt7DV4`AMg7|?XGvnkM8)P-wloq9(9!QvH(MUcY~Jy zC9_2`QMIFJO?tT=AGIfE$MCYABX9e?sM~%-Gv8^4k>8I7I%t}CKW?>sH$3*U`es1X z{xt2;-G>p_8x5IfA4kKylV%u|+CnT@Dk)o*ZKFW!O|BZ#JY4n8E}>A6+Xa9(S!o$c z%yjG`GcjTButcoMMDT`f*n3gB-|LNm!71Say5UAO!LDFo3FoDTZLkvDR#H#6wQO81 z!L4CoU4u*7lRRRAEqSdLK&gS-8aMp=65zPda8HtoxL&mv-M%<92EkNY8Ce*`PQ@&Y zVxuL7q16wD*pAFT%h*&bWMY_YhylgI>w`CmuV@SkgfZYQrnB&Y#MtHpjIC`-zn(DG zMk~KXQ-h`do3Rx(4NUNX!x(!tW&rJ?jt)T;uP8;M4KE(D`%u&iruyT5H^uCIh zq7iiARC;OQeaZ4w9P9^WT#&c{Z(c{tsU9b^LF?E?%yT`?PUf|Ng}X5(slye&czKhq z&d+6?EUk<`V=)%d95}OH!xCpEXCd7y=A-g7rD+t?&jL_w$~-^BEN0fD5wI8c{L-r@ zHOwLd+-GYiCh!^Y83NGgocnC)ctx7#HTSTT1OtA-BA!lWa>|@uRrIuAim2sNgk7(T zw*c>qE8-_y{5VA%#w?+1o{IQR8F!Q-B0Vmph$niSP{cd9zDX5vnfQ=;C*bT^R25u} z2`^P39^}|!K!mAo)#CLkWsezh-Ok7LT3J2IbFQD`{*U8&Q{l)wx!zUA9mVy>dR&U@ zXL_9A`unfI^-Hwt>Km#0uFIH#-x4riM9=>L&YObd{5HGhi2+ZsFkxh~oN zNnAsj0go{qV!v3qmin@F>aTj@lvB;ed%K?I{WIjkINpD&@MWI7Zz$uA;(bStOY#0k zJx=g`9rtol-Y<#Wm){oYe7vaMo=$ocB;WCKxCjPxu$=H+u6U5?O8x9OzL}5XHLH?3 z$zS;P4Z(5pXOnWg81J~|b2xh!TvV=Kk9jS*eoHW&eESo@bR-#nKHr-}b_`MlpYaNo8t@ErRRzPVPm3Uhn4Jc!oEo_JzRz}# sANR%IUvUQ7z}88h1dIivf2uF^)8Hnvn5qNq_x;fp5Mmeun_3b70a8WVO#lD@ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ualapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_ualapi.a deleted file mode 100644 index a97b24cc77c12c7e54ca1cbeec70ab062d15cbb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7198 zcmeI1&u`l{6vv-sr|rBJ3!0!?*B(@$8*&(2Ik6SD7={2TitZMy4bamRB~ofPjvd%? zn+?Sf^iUMV4*hF(&fl>=q{nveJ(3a?QT{O-*$m_X5-IX)k$n8{iIVU9==b)TKb7y< zX{*+&Zq;=f_4~H%aFu?x?OLNIf3Q;qfJFdn1)%gdz~ztPDE|dO$F*Z|EbgKVkEI9V zxZwcMaT9-cbH(#EJ#V`o_WIsd7==A=vm1oot5(N9YI#_A+;Ba&=Cxb9bjb37-==Ec zL)l>nUNiKAY3>8te)~z(Jp#{b9Ugh=ic`NA>BV%3<-df_TYc>AR<9cj_B6%W3e^7G z=|{c6Vc5}RTG^AqVRGe1t!_u_N=~JzIO%9!ZMOWOANg{0IhDa)^S7wdjWNmNqv|-W z>)N)vCU~*!opSK@5+VX%7XZHE+yYdh@Hpap{>g@|ok~Dm8*Ur0bz0f&_lK(hPDt0H z8{Vxc?G?Fj<-$Y(f z8)T%h;4z+O5eAxm+mAiqbW$F#~>l;Y`&7z4|rPotU z7q0-lUgb%r@@G>bya;rrwOnNXT;tq095*>qqa2Nyfc>aB=p2X=CMo4<8ss^!&fXQQ zlYhyliRm#z^f^O6ixtO|()t5<#Ak7`;5}xhe@4w}ZS);9S1gc`(Y%&C?Sr?Mc|fmm zYUt5#S{oD#e!%*tl2J-*aK?=07=5)UMJ<@@B#F{-^d-;Nu(4mYb|KNFqIm-~O|vdu z8#Im$)bz|cSM`hh@K|b88IJh$^LKRh;X_iEe28cUT0D%(_ej{==+`3BG~jo0Q;^ z=?#wO9N_;?Gj>!yFLau}red@t8sjT=Y!>t|KgoOR3}f}$n54UnOsqb^*&jvvGmVh* zBz;$FcNpnyvo1sWOS3K}o!&<#C7qw$$=8KBiPwa!+Fg)S(z}a<@b5_|&4MQ8Mt^OY zA=j&8a(zF`^`AJbQCtTa59i5sM{9Q&*T-gEhU+(GUCi~jIB%13Z9(>P6@N9udl4=3 z8pUs6-^mij8=`>E7W|HB&d9}9JFjx;jZ3_5sg6hex}$#w6#JG7>hDfPeZe^QVq-hc z)ZdnjC)DF#1+iK18uKQwc}vb;>~m{p$GtNi_wGfs=a~~hKmMLR75Apu=YKA+rFrK5 O-$nb;|Jh8x$N2|T%T7lC diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_uiautomationcore.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_uiautomationcore.a deleted file mode 100644 index fa32a1c45574b445ba12e5918aa856fc1f870294..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85682 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_umpdddi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_umpdddi.a deleted file mode 100644 index 36cbb19b2dfc636d6c350594d2693f88d1a42d49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64584 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_urlmon.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_urlmon.a deleted file mode 100644 index 060ebc5f8364a474978756a3e5c8bc26805b8b08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73398 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_user32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_user32.a deleted file mode 100644 index 63ce1cd93c2af826287596f1b62bd4708c0673b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 608188 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 PMT6xz`SrKu=+yr|gfdhc diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_userenv.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_userenv.a deleted file mode 100644 index 354fdd7cefb5b29ed19c951dc5e7c28daea92d8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60542 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_usp10.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_usp10.a deleted file mode 100644 index bd0e21c965a7058582109ef751c077efad355887..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33748 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_vertdll.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_vertdll.a deleted file mode 100644 index 7b1ca446b3d81f60330added8c639270e92667a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73598 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 Z>yu1C_cii4I3~eXHP6Cc%k@D1{{W3mSlIvo diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_vfw32-avicap32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_vfw32-avicap32.a deleted file mode 100644 index 7d346d9d92facd9e79b76b53488bf7d7ede979a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6612 zcmeHMO>fgc5S=(Fl&FOws;WXD87bUQaK4;?D%2>IfD6h2C^y%Q9b%d$QR1dOMhNx9 zp=W+ge-LMcdZ5hg+VQ%vo1}G%BD#`y*R#)=-Pt#@W9P}5-mNuWC7;Xwk||`=jH;B> zyeunhNUUW!|AODk@>UW6?gB_@fW%LL`Bi=;e*w_7_?ur#CjfLkaIO_>S57poqG=y` zX1AwRP222hm9}AO`&LWuSQ-isN~)&jwWhUAmm}}j_j6fI?^`v!Lmds_yC!H2Q#Ydc zJ?LA8*?!;HYwhH+plQ}_NArnL?`zZE=vsZVyJ7ZfU8`eT?bfD)4IK^{D4+ja8SuGE z*VJvZqIc}QuDNNojP|~uE^svXDM4AlQ)MW3I+doWxAr>DtOS8kv+H)cJtRvQOEQY0 zs;Vrj`K&{$t)y{y3yA`diUHhXy*WtR=7G)n;gt;4t+b)rdN_oQtV8uUz1{1Lfx&=q z7X4r$Ew3ify5o{F?!w7atFbrA1UmRO98_nTRJQj*!_8}I; zV~hSDaqdV56~ahR#X8FPK|Sq6Wys5wXgIPECuc`VZ&6(65IrMsgePv-UJ{CNmt5b5Krx`RE=O3pxf z&f%hPs*+0dL*e{n=K+ZJW6>WR1~W^M27HP~e=oAT61I9D@7X$O*ZGY23;{?x=ly-` zQ6Yckk`%k=l>{y9_)@HZtSdTCp_72IJ3kq_iy1H5b=mzL7dMXGhO^_;TqnC*g5LAk zeGrTrVfWWy+>qUmaDCIVJ3(1(a27q&On=NNEiiq}kx(PSA=aTQ=d2GOj_eI*=mEJK z51@VF1RrMn*Wv;3Fdme7jGWb2e+dr|UQUBT0}e;;0oe&XKq-x6I5%fNYIp`bL@%25 z43I*6|1&rIr)|0H32+hq$3j?u2f$3{ zKo{q~Z~z2&$Cbo?WitM&#nE?w0g`6iJHY?)hKqjzOdbD0{MtO@oaf)P#h5SSirgZ> R7wih3(s`yY3L?vF{sLY86HovE diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_vfw32-avifil32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_vfw32-avifil32.a deleted file mode 100644 index 169484edc7e83e57a527b0ea6002b7fa84cf9ad9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60488 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 P;50<5Zm7W=n1%j-8=p6* diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_vfw32-msvfw32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_vfw32-msvfw32.a deleted file mode 100644 index 27f29f58e9f04cfa419a46a0d3fe3be9b0a3b81b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38638 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 ZPnR}bwm*L`(F0=BS!oT*xyTva{{?dJ#6SQ5 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_vfw32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_vfw32.a deleted file mode 100644 index 4ee873336..000000000 --- a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_vfw32.a +++ /dev/null @@ -1,5 +0,0 @@ -INPUT( -libwinapi_vfw32-msvfw32.a -libwinapi_vfw32-avicap32.a -libwinapi_vfw32-avifil32.a -) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_virtdisk.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_virtdisk.a deleted file mode 100644 index e2da0b6671cd79e5764701ee5a57d1aa5d5bca25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23722 zcmeHPUymC_60h|pgzSX_a!Ck(#5pMFq!9MTo6UH0La<>sA_3)YVUGw9l6SJ6UHjs- zt??x6B7`D@P=pYQ(CMD|1osi{2_eMO=|03g+#??WsOs*S>2dYgZ8K*yFfDb@xVk(u zRsE~#>OV7QUhsnL){6^&tfo`#V$H3&&WgKStvaGgFRRsB{Q}ld+FAgB6@VjnJo+`j zvH!~a@P7a(AOBY7livVPKK)ObpZo^^<)`nnK6gUq=T8GrcFxIs z;TZtRZdK+>O8}H#ct_@!Rskr#d{yQvivX0bo|pNxrvNDbxgzt%cL0<(|0nZ}e*;i{ z`(KnBjkQMO&4C{b8XJD-2aUB}({H@j?t1-p1Bv@9Zo^$}blNv5EBc*w5H{O`TMe&) zjC(#bTE5r(X;*^3dbj*dyzQXX3vaZVn|=t5MtiT{FjQdW4Sa^%US}O23TZ|dI7% zexoDh2x5=)THAcT+tXd2Fv_R^aIDM_R*Y~z{KN7L>ikI=Kx43agkYrTK zR@G!ym*@1${eI`bD59z6a#L^I4KMJ!k*73PH4k>TZ-$G#s3*+o0c(!qx^A`VUcf@6 zt%c?%4`3&V{ni}zdE)FaEQbDmD9*EsDr{^m3YVPCLp7_g@zvr@H1RR%F7dVLf@hZ_ z)(7$A5I&clR>6t*E=F|XJC@B?kN6(JlM@EMs6IMUi&C$%*z9zOwz$*o_^R^z9{_ge zcCaUlxaCpT8Qo%j=sv`y>kGSXGmoaL`79nyPlp5#X&{}HE`^Q`W7YgzCXdh$pm&=0ljycLpLBHlxGOac|K6Si)5Z%K;4 zQcBY^Lc7qeL_6u1bebgHbI50A_!rC(lIchmi1D;2Wl@38@g$E(H%I#zIF7UA3L_co z*H>0FzkWmrbq||oL7Z{>Adhe!>$en6=}-m7(yyZ*)_j$?g`v2c`0LmYllGVKW`EP} z3khG!udg6aXy%LUgXCC6o)67@ZuD5E@Z_rEiD)SCS3f*UzwX~pXvx_Vrcn!46ME>r z5>ZF-Od?XE4}U7#Vf_N{1whxM@cE$7D>O!TK+BarKk?@gMQ9;~c_A;gzI-D2ga9PC z#QbA;Mu}`$QgE;urwW94ZWxkfj@9z87||C9tY5Ukdfn0c0*Up{P{eUqZ)zBsCDyyz zeMez^-^|Cb{*jq4#`+W3hLd9baY&D#;}9ONRb;$Bsj!{k9VdO_RDlohJVSDc`K-zu z=0pwWJ4i)HQ$s|@FXWPzl#kk#yX}!ir zpZC$Njf+rPTF*Yq2qn<&J1Ro?z|6-YluyijafCuM$dg7Wk3f1)oxagcqN2Dfr@tow zFeP4nRs5Dk1wO`;5zC#PjElY-hzjQaIdeR7kPYZ zv$r6PdtGu9^i%b@qTg=SwO+hpI;dg`PdZO@6h^*&Tj(C(3`6|7qR^oN_plr(y#oKp zSD16PgL3tkT4u2}MS`&0J8nt5pCy&Rt=bMezeGIL=17Gtp^85*ZkO7>~SAE`rX z1@2&Jl3HQi^wr8-(QdiETF%B$BWA`j)6B+TyPLi;TIjglW;VtswSv1zA$i2^KLX?T B`n>=E diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_vssapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_vssapi.a deleted file mode 100644 index c3ee9a6a9097fea39761246e70c44802a6d41f8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10990 zcmeHNTWcgm6h7%mvYQxD*A)WF(yQ@;%GfiR^khMnnC!+xvJwo&eGodGnVy|CbECTx z2N4OfEX%S;5D^id{RRGjJow;)4?g?ogFnOdoT|RmOkal?M+Q<*m#O-uE~me*>h$IM zySi1W-<*F(?hS>Nf?80ORkb9`3TqNmS-!E%f6Ma0JOC^LN~7!K+rG%-)Ll>%RaIqK71UjQFpB~Qkf%_`tTY38$LKn& z9G}RrdyuEa$3s}l8tk6u4{bXI2B(BGsl%m`hrNu2X`GiB)LzWT+eR4ikQ=AoUaX9#~NZDMdMU&UQ1Zm zaxq>VuK4`PtMu#aET{`g^BH_WViC=OGiwe@oSB@3)R)Ug;WVXb?NI*tO_j0p(!^7)} z&I{6nawDTA6uhzV&kL@J$GH47O;lZ;P&Q6Yw1jb!G|`R5g*5SXG|tz=OSry4H8BVA zcP*2wg=?Jjf);MNHIzwkifR1Hxdsy2hrTQIxxbo``vuWg;@m$&KBRHKE^ua?+_!{r zleqt7G%m#b2hlj6`!Zh7LAie!lJB`Eng1`NJtzcc!6vU@sRR!(PhLIOKniAbIw)t= zK{0d&T3Q*>?4Itq)|1Wb=ZL@<0%p?*=miOCSQJSd^;T|#Pji;DvASFg@7Wh# zOyI@P9o(R-&bik){_W~yGu`8L!1ND1nqw}(W1s2q77#b}1k~tu`C?W*gzs!G^e~(r zq(BeR-w80*Ozso^S6uc7df0MnDC6(H{4WinEzl>27|`g{P{^o;QrPGDDTB}B2)@TS zeV(s`aRpx{^#1E%G%n=xd>f7PeV#Y*`VM+JOo?hp`iO;bXL42X7LgxApo+V^f~6At zh`FGOBuj+Ukq920N-o|Kvunjg;C~wwQptbumRR6M>^EGKd>@?UEwQhTSPS$CBOW)j GCjJEsemY(N diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wcmapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wcmapi.a deleted file mode 100644 index 829682c3fd33b91fe6b0ce161e51a53085a0c4bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31874 zcmeHQPj4Kz6{kja5-U#QI=14tak5IBpbZRVSATYu)-YsCcI3j26(?z0An1CuOId5L zX1BW|*$RTd2m&Jriol1U=qV_A3VP_NA0WpbilXSDr=o|VpQ4AP?~yYkhvcldtAUDv zW&m<#$;TP;@%J7d`8cyv=lxz|c4sT5#(Vw z_ZJ>s|2rWVX8y#({BH@tuSe)1(D7%l)khKoRpVHxrV7T*V9yb3*2!`$-dFX#l2!`$7 z^RV+3Av<5y>r3_edwtsL*H>vsd-bJGlh*IG0>9g;L*o5~YP~vFZ@1PkMCtb$o0#p_ zfozkK`Udrzd$|vJzp?pVx9Nv;$?y7Wt#&Kix!7pXexKCqt<7#dJs)!33H@GpBUq-J ze$c#0f3-#Xp)6<3#Zoj}?RC1e7w#y;N}`}yZ?);QR^pzFOr%GYeh-)dEKJ@`q;jeo z@I*iC^p^e5@3#E_suyl4&4g;DkR;15?KIjHZ<2UgTvX<2r8+@C8)2&xEOoR7iK0mo zD1VdoX?XQ^(CJa&m}s@=nUs81aC8VaXxQawx1U-!etMk}~Ipqz~a z%D=rudpl;YCX)r7=o!%xPAJl2N)21sW%O#W-jS?l1yjl3J~w(z+FKH=l_m8Ir0vo` zyVnXJyG<|cynoLRqCR+wNnR`+LzEfx1f^bSl|Wg=r|~K!3q)x^@g@zi`=A$BT7e>s zS~{mxP<3f%b*tCy^g*e_O@ks<0;6nN5v(!X;teqK7Ucy^+nzH3#U8%Yh{qN-fiFue06iqm~lG zf$T4PHk4ax18%H>BMT3piSM8Tn-!7BUfQ6IyRu%o{!Y<=>G_{jKk7_!F4QfU}(5CP+3PbO~?{laJ9fixajfjA3$ z6A`;H1Y&Em09$rQ#8!dJ$FOST(El5;GprgAoxs{ay-r04z+SW=Hl|n43Z0MuH9x*a zy7*c@Bf`fC#wg3Be?xx!)|dE|4r*!wIfE7|Cm%jMZB7m(ewd94f+Yatttvj+Vd zx@Ll1nX-Yp;2h*PBaGsyM9PlZ9JH^ZrPw1Z(F3Wah4w|x&%wh2<+()CCA9eh(A>Av z3E9AQECS6ZcDia@t>@ulC8CMbpvB*O_X_@c1oLe&)SR#;5FhkBm|$%F%Jt7>_A!O zDX=^t4v##5Yp^>;oXPK9esEl1*q?XBzG}%7*pILxun&u5Lu3DCL;x7Y=86o*OkS~% zdH@fJ{U7rL7JK9)IH$E-Oq8sA$q@H*Zn&@3Or8HJi1}_h|AR;m;%Ps1{<`wqK{~%{ zr!#c^hju!F`{U5QVRimXtoN1WL%2ttb^S9?e>^1Kf5;P9?2$WgM!YL6mM~Wn_q;YN zwEC!!=igi_O)35%`>_uBP>gFPe&?V@{yg+uuvY_>4Xk1LEjCl!(WVgJ9hMG9>`o9 zD%O{y6g+w4A;estr?g%Lei})3TE6Tk1!dEcDb{ABmLFw)`htc7=_${*ws)PM%IyWR zpuxtZa9<_$;O7uug`FFptekJX;E{}~$ozX(sH5y)AF+$0cvj8ufAbgKA(X)+|B;KrP$5;Y5(6* zo;%3?5AAe@{r|C@PK*GjKr)84|9`--uW!4{wdQ}0X$aNs7p#OFk8DHCBwlZ|0(m1V zJG8s{U<-SP^&l!1EdY?p7bwY6SDzm+6ADRA`0R%_8lezvcy zSku(KvACW$tj>Q9r69TeIoHTPX(0bxl!7OZ1P~i77HCg0B14Pb)$dw(rdV&K>G@F* zeoFSYSg+2rB|phHq*^pq&y@D2f(CKHi3~CB=zXotn4YOGp~H8x+}j)!Y`4*VTJGD* za|c=O5A1Zp+>G~=eQu`{mit-g-(j`*vjXGV_Ho>N&fi4IwN`({!2Go+1y3IN0^(S! zr*a@E0_kMg*)^`d+67Z0in**@#Yc@dtVB#A9`skI7*_JTyYgA6KOWLwTjmKY_DB!T zmR1Yg>+Hx-_q%#+@g-etFY)g{AMU36)xEm=srys*{u+CU(dUK-KZ*INq5FShrxUs# z`*T>NpJaWW_A;LNMqr+8AGTE=cqAoY9oZfo9{C!sPy*b!A%$azGTDs~u72KP{fG6j zCSO8sN{~CO+?*JQlzjVorx>?XIkB$)q{@kW>u>-`W>Qdb^!iq-=K2p>-Mft*KUcKw zevTe%%5w+J9MqYOLT8K~DKilv1;<8^f@fkWh~8h#^XPzk`tXpW!>c@j#U9y!b2K{W zuka$w?dZp?7OOt2hq$;1>q+2xlvSVO*wfm#1oDjS$q303+tyVdt;NE+(bKcT zxTC+eRx$mx#ePjW$3_4AuolesBaB-=egXH(Gu~e`@V*$O;K?JOK+GlF+IkiEc7p6A zz|n_WXnEd&S!(%XCI)hidUq|afLa>spydJZr61^}3#w9oikewYAEOv6@-fG<&mYzNe!dHsZ=}YvtRfDe(bNnV(*Y zQt;%FPa)a(#`PS#SE`^6&lX;CNuvol5n`p5>cQQ3Qe7kyL zi#G>ZFQwsols5;TjPV`4JS4x!nQxpszBy?9+Gqmr24Aw1X(Wr&#IdqZB-ORw|r~Up(?SGbV5H!BMlpTGlwTk(6Na1CYwoVBIW7w6*!-)I=|MZdP z+3QPOQ7HD#l_&*I9{CL7!L1h}Fn~iDjsT9{*5aGQyc^RjpHWui4+$hhn_n41^81FA z<2Q*JuH)^#@xMqV60_6tj(*g_z8Q?}QS6&>hHmS>F&zZ^#{NfBQn_0hlc8RB^t2Yp z&mQ?6L%#J7!wv-Utu2?xw`XUk^PPRL=G(BvDyFpTN74CXi2Rg)yvwsy@A&<`l$HzV zr{!md{lX8+)VXG*&v6~kE$c^S|KY+i1XCC%9jGc3?f1Jd2>o!qQq+ZF_H|Kusd+)iQdwlJDd&?gE z(Ysy!Q6EqBX5FltM%!%ay1`X4*Y&2c6kf1V1%QhH+D(AUzW`^?sH6H3fQ}0v)N%1W z%J8`Sk2=173qZ%!XLMNBx@G<5yCdJ~xPd#e*0&wk+VuwZ(6i9E*ETJ)VfDRDIzs!d z<8KZv+d|cr3s%pyohfbu4;_DP`0I{4+W%!3c-sT8EN^RQrOa&T*dyQldEf<}-S?il zPfV#!S7u#vz!j=5$?c_7SoyB^+(7krZKvCHM^ZXj#rpOBw(s7z2TmV-mW)uES$D^A z(tb#c&hDPG8Pv8Ta$;f{%G zIzPPoV69Vg`h7Iix*krBO8&GrxAWC=V^qGDy*T= zkEhU&?4Jd!DwlFK>>DDWT%zESPSge^(r9oG^BKg4Dihl)PHbx#QRcK!jfgeT%NXo1 zRX#VdOWY027O6MbuPY$|G>cipMtXS`x_AZ1`lw90s62Tl!plH8t>rTN=K`0CaNOhI zjdD!P1ayPm&fu}KFiB&cra_(n>+D^{I{BA;nj{%BRG(AyvpC|I&b0mje&SqZ8oa{7 z)Q_zhEDc^6zJbZ)*AF`<5)$_(`=m?b&H6(A8H~Sj`-cD z@9Ec@H;FANok{OMm>FtQadZw#ibKU5T^rITo}JWeIUV^y`jF#1gv_$Hs0F-A#rY(L zM;7+L80kD#nt9bD)k6SkU6KA3mMGB*R+bz5TV)z-VS)D<1$JChuMrjdneb*Y!dKFS zzsA8GMz|BsI-O3E@PTOeAj0>ubt%GMX6s_Yui^NPO8A1B@AT#v??r^nE9u{0-zg=e zx0Qi&4fgTOq^CzN_TL$m)4tFM>KnzVZ_7QpitDeCgu|%c5VV{m^?!u-~H5%;X5HH_1CwQNJA0%jBE=GF`w>R<#8YihP9KdjC5{-tml?r!k16?D@bu(JU`BUC471(e{10V=lNaqGRFY&f~no4NT@e!-?hEX{V{vj z`BSN)QbnbTN>u?WP(g(dLPA1-DuEEtJoA8fLb{8)mQX#t zoe*-CklSj6-0^Qh?%v7b&RYq=ct4Oa?gARdY8)T=7a_03{01w6k*R%NSUkSlD`6m{q|3L`G=l;p!^M5A<YVCqgE#0nBZmG**1C`RT7l zPBnW|t>BawL^IuRKJ+@hB|jvMM$leum}x9EVLjURmf>y$ewiY3&jc+qGbJ$IxuCt) z@*;n(y%2PJM>|Vh>GB4$oNwAc8!Y-qo5oxzQO+|7QX546Vzd^@_m`9=F~oWOD5>h9 zwIyh^x!|Ib*~pRRp1aVC{PuA_@|s@c$+zoA3YF(tTV3sjk>8y0J-pqXmQiD1d0+5* zesrkYjb_8{a_F_Cd>S#yvmC%pA}|)^y1n3w6vq9fg~$s!(_wJd4`;o_Gk}cV;qy{C z87$fP*UcRx_*i#YV#WXLsz*CP6nHJ@9F<3=Fz)C4=v2_AsD8nRPW3yBzJ}UNrt}&w zcDyL^JI#|`7@yoo&;SKbURYpK^}=F z=a|2+DnlV*rv#bTR0VozN|1SHy=cXF8|bl7SH4s z8AUGPh}UVh{F$)ZPC&>~j3s6=XI*n9=rpaaCornlYSA7sHTe;b(c~P@h26DPZ?##9-JA&oj~ zDDGR3&*YBaZrkU)(ANgBEFP_7N&2K#=cPzI>ba44_t`@#Wi)NsNDTEn4Y@U~I)zm2zmr zX79Ye5Dj&c`Eu4gdAL@q*Xz}4eRMRQSfAeBybRMe2v2N**)l!5jtoTrYkHo2sFK;! zL)7BV=0VCqGJADsq1Wrr1+!1&3-E$_Mibr};ba@!mlzI`TEaJ$q$A(W*?i*(-(7HW zmw_*#C%>nr=cbMwJ$zz*a`xy@v(>`%p(UJjv2g7ZLYB8Id1sP@I9+TvEM}`x7P5(L zR>|TK+G}eTkI+^y!G^N1732`NCvB(efYgVFwh>y|s@i^Tu13=GIqAt&JIZWd1Q zyJC;u@zDtlzjbKq+wlg;w$B>BBlI@lfOtdv?u>DOeQCmP!Y}>`e5pK$^yD1*l5_R< zW=Pmd@Q9MVmA20<^vnj$D;>1VS)j-uOVP?&=L}1sc#>KgE4cxPr>)BnkL`AqO#gG;o}|!Lkg!kdi@ne8h}|I}SUSW0eQ<^WWtyd= zO+-^(gCny`)LM&{n?`fAwn|3_iu$@G>P73OM172uv`cqDZw`w3iMan03zp447+Q*o zdX#<)9QEnI4XG7!5snP?a;-(oD-`F5AG1XKh+q$uh2}Q(7|zzSYnt&`k3Sn}*K~w(``I<;&3u|& z^SYTY)$k8M{RY+W^|>U65Eb*^f zI3@n~r1(dBc2N9}DJV!?+;FWT>wMhhf`Q{7wp*m3LN39%jQ_OeCiHWnbL@}UVSgAF zFloTGOJ?i51Nv}1-M=E}%#GCjp-^r=-T$hYPt*OE&3q~LAB6rK6#JtJ0;Gj^xL%R* z{}9|i29E!O^glaP$eVB?<6o-1Nd{yF=W;M?DF?a@RLTJ#1MGlz3YsM$$EO&<|TYluri9&2cXV?o*XRBS20nGpsq z1z%(d^jIOU!*41DO3f7sP^qrbKf2!z{iQub`;M7Ksc-mG*+atu2DELUP}(N3hhWd6 zR(n+lbOz^gFkvSLwQ^33f{-N#c}9U+EC<@Q=7P(B{hU~Zvqh3 zn-iZF=8_vZC*Ej3?+(E0pmXA9QtXR6^oy$aD#{)oJue~A*1_tMH zVCUzpmrt`$jmCxuea#20fI-KGC%7CWTiNM5C5nuH^mJh0<3T!nLTZJ)2FG+fkZP?! zU#7W6{XR?oZn?VwJ2P_*kjJm}IPZVOi(hQbZ@;?%G`~`F1^X)1Ir{Cqx~0yi;Lk*V z9-aRfN5A-bi9*{v1L=IJ)(Y-rnse0K`g8S_%r{}!UvDMzv@mfnKy{9OJCAN@>-0x|9$Tks zKtGnUx#qHnZD}`JGM8lp=XkgD)|NXMDB!bfo!vkk)Jye{f_Lrx;04G2Ksy+y&7-w| zN%`wc&Sk>Rb6Z+KR3tK2@$*vvg80_uIW1GT1lGiac)M3ZLZmRC|*c$PCWqz|uEdjs$(>AkRo}7ncL=d(}mjfq_N>t>%gd z=ycZ-Fl_4|*5B_?+CtnG%HtpYJeL6F%j?A+1qRw3q10T#ze;tEemf8Gc)4G$um0Z+ z)InzgcM9k?e&)X5w$MQP<))1-pbCST$+=8e`jDmXv$Jm;m3}ckB0P~pChibq!e4E5 zFSPwmbli_T{N()PSubdL3;2b{BHKq#QcWWI0p{Zr{Hc)l;h4^pr~9;mDjoe;oy&-& z?|4}Ejg@c3;xdwF{(O5sbWj8p*JoUX`^Ugnkq)s0dKABZ1Urm$*-*FFnK+zFf}NMR z++EE&GHWF%&-~#wE(ueu07i=BHE2*&kw=Ju<_}8El|ezJI!C{qw|Kl92Ppir(4S`< zxHU%qOz8Uw@K1VSfEH5GeP~stEG)(WbL~Yb$l!1;3ASEj-6AS?3vr7m&u*bx1WA~S z!l1J}8HV14LXQFVyM++nVy#u|OEl-GxAY|M(>=-M8>2bu^Q<4;ETG=Jd{S&HXpc4q zJRhgvPldb-M>bDJ2{5;SDhnB0&ZWZ6yIk%lVjY@g73JAO_qhZUL8p1bKhIvMM)6YI zS+V_&BHRwmYb~K)rZ`8uogcZrU-zPw)(;;C@>oCH1;oz;VK0Gvk!Qg7GQ}X+|LJ2H zRF+?bW32lD*FvpT$crS`n6FuSj>mM1zkJq=V}396<)FT^o6_EIMSe&((wy|eUeN6v z_oBrWm;oH>c4I*(vK$O)a`1ATfH!Q6DP%&LhnlTm|Z&(r~?w2Wg-2rjrJ#_8HP3^Ej6VJ3n&ytqm#+na^G3nL%F{OT$#?dyzlq z_i!R{`1~gEAE>n!(XY{*qu$PcT&|S%M}3}^(rqTxLor3x{q`%R60)U*Ko5_!1bw z>wRD8C1xm73t=PQJG3B_+wZ+YEi+%bzn!@M zWpRZ}=+5epAx5>3=r5gqplc_7pR*|iE Q`}gZ=H5ZYu6CGjy|3#r|ivR!s diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wdsmc.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wdsmc.a deleted file mode 100644 index e869d40185e1470514603571e036097e7ce97090..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6792 zcmeHL?{C{g7=GilFv=JpRT@GddC;RHupTtgHAT zRR}7W02PT3{5ku}81H*`w$Hh{#!;%GNIS`Qm-imukN2MEy^C+$_Tz5<)3uN7Vyd_5 zZrydZ-Ii@TtVzyoyS3dAFYK=Yz%>BtDZuJ&fGZF9^XeV|J=b>m^JWKtp7lO|t{(wh zKk~e`=iN`jIPvzvNf>+WQ4o4h28aH5;Gyw&+x6V07Y#b}2>X*D8FoG2L)0(?uOIrs z0^PvFAo(`-50mjIp4K zGhlE+xB+#z(M+*du(E>llG6@2DXx{;33t_u+e&d)v9hkgrR{0?@Xoz&+O;5x&`|3Q zqEIya`yAj=rRN`{24R=|Mcr4Y#vqvNE6aqD{8TkzBpww&K_W4M}CWl$ve2-^d}P%3P2O2%@Gy;6)~gK4spJVs}+m;Bzu!49Qy zA;%SB`8HyX^|(wKw2mFb{G`XZ>9pR#%C5kqHeB(u=Qrus*;#JOYpa@@hPc--?$Fqr zPp@E&^O19p`VcIX&QKb@s-6HK`;x_b5Zq;6qY>~e9`Ey5o?4hE3XErKCI;{s@fiZp z=$!HIVvQ0hnOpGEnI#K;#JYMXDR-k=SUdboV9alpV!nGzzQw#?zF`eqzXy1%F{( z)qvs!(?5F^xah|PNg0iD%BZW#I77C~Qbu25)MY9omc~6#89(T8iZV|1xJ(%~?(n?I zur!>IK7%Z^B5nxw=Zd%^EL2$V3+AdKq}7|WAVV%t1@&?&XsG`P{zhiZQb8oK=Q34r zB#nEX3QqJmMFmgwxJ(7_;jYfBf{KO*g->~mFUxyBdLQRcDObWSH?Z7-->_7bQ1F0B z3q{Zcs=+C#2K)@q(*9a-%Ks(2P{T&1h7H`=dDWof!qg|}r9KyK3hw7>_*z(~u;35O QRW(d`z@&$1*uskV4?bCEc>n+a diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wdspxe.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wdspxe.a deleted file mode 100644 index 67e2f2d2658c08b4309b47502da0e081706d483b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26530 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wdstptc.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wdstptc.a deleted file mode 100644 index f0e2dd98d88adb9113964b9fde537961222990f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12946 zcmeHN-EJF26h5(&rZp*4qCyDqQkR^{aKc4+OJ9GB?=FIHujrXkX zZu9-Zd@&x%OXX_0YOGY3ibaE664PR_T&`C6Keh`1@G8LMUjWl50EItzy!s~q#cNnk z@x{M+eCZzmimy!a_}cRT6pM2_-dqHrcFjsRG)Nh<;agpQ!}h#>4aGo;Hkt>1y?vxgA6Mp`?aR+PSlKoF9A{Pb$i!#9wI326ytTY8B-#+qLS)UYPZM#&rd`k~uS5{%|X=%sv2EgE$a1J#%i!&h) zmob~feu-ffj1adJ))Q_R?*JasBBFR z^)w(}56grL%gLOcVjd_ZHRqXquCh`ZCO6q40pS=JE1=;w4_bS?hH)uoX&U4Ou$@_# zvz_cqHjRQfYw$ix{Ab{h$&`}<0X}9aPjc`B7BW~KWg-uz4$m-*@&c2{pc#F+vMi`$ znhoi9d^ogFRjGsKj5)mC30O*55sZ{GI?lktOhtE4h2vZ{Rb|}7zEg;lagSH9GzZ^fE-NEu z0i7t~piK2(q|-xLT>o=#af%!nq=%-!ql?r-SGaFKJ$$LgNqRU@<9d2{9iQ!4^-xf; zA$-Yz?TxY)-e8;;wXho0P?m$QFjZ(F9KBWtJwTQkFm9*QzyiMJV}bU-TmxgDFx%6> zFh1dmf(7ySWTUNv*?{$tPrw(py^w<+u`KH#ZULPb5~xfSv64;^6b(!^a}!O|Rji@EG6#L?^I5W{4uglak^jNde|XUMk@y|akkx@j0M zaY@02=m0G|u^VkKG2ELb*$O&cD3F<|V=0|F%JLd&>?h9WC#L$UW3*LqBk&55pSTm$ zP?m#lFqQp8#C7c}U_!)Cq3rP#;{DXwcR27w!su-U`(8JWJf>zCERYhLK3Gu5SY;%-VG2A&s?2{+0 zBt$c1aPl3U%NZ$8t;b%13NO zi1rY}c!`NYsu*!EG2F>SO=P=vE0I8Ds)&^5)#L9s`ud4s6roy6$37|^aYYQbZi-nz L=Op5w4D|3HgKEV% diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_webservices.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_webservices.a deleted file mode 100644 index dbb557b99cab805ab32dd4c4c0f03b1cd5de45a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155950 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_websocket.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_websocket.a deleted file mode 100644 index 3db218f6901c030232ca5db9063cdfa2db362c58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12470 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wer.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wer.a deleted file mode 100644 index 24f470aaa2383344bcc935f80c531a5adb32a866..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40422 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wiaservc.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_wiaservc.a deleted file mode 100644 index 0328e92019875625eed0d3b7971c528310db4008..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45134 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 JCB!_j{{R*c5~~0J diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winbio.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_winbio.a deleted file mode 100644 index 392c61548101557cefe747ee7178f2a777319a76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50712 zcmeHQTZMlu031RDsO1E z8>)Mz&Z+9Is_&dSRi~=^;0yI$WA(+|&lc5VVrHT|Q7+Av%f(`elH_x-I8~Wp5ykVn z2_f$gvgcof?E93E1Ak!Q{_BKbc<34nkHT*Z#q%sY(IEuGkpT~2!_k2S-A2L zAsD{*2n+AsNeG5(|6$?#|0V>(^?$JNgTE1i;l^)S_~Bm&!SKmvEd1nSLNI)Km4%;O zBLu_GS6TSwSwb-U>NpF(hUdlb*$XWEWtW+Upx%Y0HCW{ImV5DMKG*35D`6jMZZYU>gpJ_UZYLacdrFE#CUy@&KD7~a z2E%huSfcc6z3w1r4Cd;Cx^`ok5^=Y>jSJ`CDK*wOn(-|LgN0sqE$9s{D~xh{%=zl# ziE1xs!qbQKmd>sc<21<$Bnsm`8??I{ffOyH#30IPPPAHc-F7|fh{S#6`B-Wzo0iX} zImirAS_-=PZev})t3-%+H^tFeJJi(l3P99)VmDA2SXyXkD}Lm7#`)S>&{+)n{jl3n zs!@(-oE*jry`Ud-8lWX4!PaRk#hLC(xAQUu(Q+6xQ7b8_Z1gCl1<_|Bn8!TzL9iHf z`rTfl9)UD=CNmH1(L_3~8F)dGb(WQZ-6tX$N=dH7L?$&4)BY&oS^X5*9PmoAW<3cgcdGKE|%x3vXorbSZ*glg{zuVj%WGK zLG28J*Ms(2OUIE$V*J%^X8`qqt+3DwH^Nr15~%fM=P*($WsuVF5>#8=J}6LA`6~pT zEAr0wz&yOz?WwjJ|&z6McCBMN9uCCE}b-Yv$o>T12Sq6s6tZxW-FmsK|yk7DK0auK3$O)kh`z4&Nk=l>hAlk_p*bO4_Qp6daQ0Bl7YVk3U}D)Ge< zAk(AY$QS+AuZZw5f@hTFFXpNrm>J)fOT5C z4C`3GSf}EUbq0H81O1da!ZBV^{s@_;XLc%(>+s{|XK%d8M!!@l%^afwvZ*#NPfD_J z8!gaPXqw&hmnj>l3yuQ)O^#8#6iLZZn}hb1v=qIC<#bhO=~(+>%}>M4mZbXS2e`C{3?avTSq4Le^sdaOP0<22`q;-JKzfB7W-yKzIriC@oiyNJ%iK{O%;@5fMd zJN#lOWQc>mTwaWxz|{Lhu0N{f2}dlgDZIm26eBcv6hlj|;GC8dTb(@-dqP66zzpZC zS0@DJm&Fv}S9BD}68vP=hJDuY=B0vady42;Cq!3DCZa!t0&Rxqri6s8M07{G?=VDP zvhx{;e$UPqBO0c#M@IB>yp1i>!j{k#pZRqkFfQHSGzbYYSE0N!m?mG~+3lmZ#RIqC=GQmdd>C?2ss>4x=+iS=vH{+nU_I}%2=66?#-eTQLv&CX|F{T(}B zjP(O4us$8Pdc0&U(^~#s1LsG13|y9cB<2oKhPfu4!XW80+96=9dV_b>% zh;dght-01XAGwN=EBa|hox6FOV_bh@PnL0xz6?Bs9UmKe5L+OZ;LJv@dZ}fs8#I4- zpK|lhR!Zi+seDy}zT*keX?h*Tr z{@RL({e0D#!2W({℞#kr)B|ZEBE5mN9=1JU<=+^G~w~dM=Q+;2L3m*!$x=j!36m z{j#Pdllx@_x(`9ijf(CkMO)in@dtTk8SU=7rV?LrsH%DKMnm-tX&!aGn@=|PNKu8Q zk8xw873U^Km4?F>X~4T=SpwWWQnCan`(#yuN2I&?Uh}#5;Yd$27ykrDdi3g3MVVzB z@$Pf+*3!%R-p=4r0vvs^`F?RK0@{3Ltn1TQK8G|3FkW_%aVc=Od?Jt=HDHqjlgXnr zxcO$w`6zd&G^82j9@L}(Z;)lH$9`9=_^h5$M$;~pVVUl@9bj%;)@!Ywp`rb zVhNbnORmA*Ap1l9q^md9+&PkaW5t|(njM6X%E(u~`jTy%9kl=+!m4?WMbLABT!Aa| zOi|=3B{zVtQa$3{%@bRhFfE*X$CSW*nmNlyMC)6=S(I(;7dg@e_D}K{ycEbaILFwx zlwQNXjl-i1IQnZR%so@N3v>$UGwJ5JE$81Oq0mo4 z{vM!?+5)Ots3{$^vr5mgs;{& z2FltpmEaHQ6K)>a{5vE5k$#VY^trI#sP~!~NBSuC49a&@YE`u>6pvVU^TOs@-9Og% zD_E~~+wE|GciB!_otN5#dPMMubVpz7q`C7u-y17NsfPfeqt3MNQ;}X@8?5&NZKG6{ zQGb{z2WiCm3Xj1{fqV#O=5J*tOVv^X77?&UA_u9}vk+L1W z(xAwI#h~ZX;qz;<6OLZi{7ron>`7Qp^QOML6|A2OR>DrEEgY10JjCo|(vA^^b5>$g zyYqOD`rOU$T0Um3BhF{xg?*F8>$Hbsd=BO)2Epq=d#wfU0Liu`{~&|8g!6cV8Bhvj z1J2B*(Ml~tT_<@&yPJs4F-fDRS!Hk+Z})1qGk{r%bDa?O0)`u5D_9A#K37v@ z)g__+B#*(1yn5JPdKvr)93ExB)$eL*{QO;JLgS~gYVI^;V4GMq5~>y3U5WRIaW{W! zK0nFSRFa-gGfKT9!g#CO4;F)dKkRmx7R>G_)!pk5l%@+8}qL*>+b2h%@ z=7}wr&0Vioq2V`sx6PXj99#ZwnyRMzK>Ugn2C@4ut+G7WjM1L%4(gKR#oaO%A-Z&=ugeR1WwzH zfjgFx7}aUs<8do*=M(+Qore687>a}Jj#k~j1a6dE#=1%Lhw~Bzy<53PAeY>;fjAy@gv588ZGIf$*~ e#@p**FPQH()-yjga9_o6LN2uedWCS)NdF%Y&L>U) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windows.data.pdf.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windows.data.pdf.a deleted file mode 100644 index d23124b34ee34c7a7f7a7f4c83b3fc5e1dcea7ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2562 zcmcgu!EVz)5S_#=g{TM)1@*weNN_{Oi4r$R2t^79j!`AV1!?25Yhoo$BHO4{Pd%WX z`vrVUKZft1%*=Y@bz{>a1y;)Lc=p+|`}WOjp1%!~FOzqz*KWDBd+ned`28SoU7x4y z-gP@|oZvQY0l*eO;~9YS6JTeLenJd|_?W6B6(g0YL<|>FiIaF9E@Oet(|#a=u9(F~ z^vnG?$i+!2WSE6wDI*aIeBoGun5a;0=8G_r(J)bArViCyszfCqM0~sy>wc-G%gkG> zsHx+m?fU`o6!bbPPUOWsqy^wr1K<%`+u&vDG-JEIb73_0X#e#Po*BUC$~#KaTVQZb zxR^fpqHD1C(b&Ru*=+#6!S#%vaJ%)m1B2T~W3K{d=FRv?AFuZwSK}ewo}A5S&Wqxi z%0a)b0lqe(aB3X6-{y`&IXB`F%;v3Ghp{+w>M#~xC~S;HOq5&BDRZ@rQ-8oPPoxH? z@ud8b{E1>vBTN$xvEOX=kd7yRq2q&Ik=sVc0rLHr7Ky2Dp9Q-rx__wSjtPf_hIPE3 zYk|(QO2-Coj}~r~7xuid31{q^<1RWJpq?_^VSXO6br(fXxUwM}8><7NZ1QbB)gIPV ziRu5OdS+Lvp7z%V6ag%jg*N1BkpzAgdb>ZvZil7Us9i%PMTZm{u_Na zy6(6oFLrp7-|@KUVywy+swQ+Ve9m=CgA4v0>ps?LtA1TUY2C9F)>*$9z~+$e0mzliY*7S!OWy-UjW-@fgc5S_#=g{TM)mFNi>32w+ZQL@PaRS~^#DT)Y)v_hbCx*?s$FHg7(9(OGa*`(Wp--m0@Yb32ULwkuzmt!+1& zYHr(u8UXA7RGI+REx=xb9?p+B{~n7d<~@;!h#${RW#R3!6RGzzEZ+~fF@i2xo5&)?QJp)ZpD>}({G6XAzmKZ%4l!DuJAM&LZ0T<~=W zfAn*aII|UHWn9%=ml1!g)zst;YW~#|qzmAE1>l7o?ShktMIy)LjSanl<9mr$4v}xV z(7SO?<9GuME(sUX2jAkkDSL|D4zA0zF1RVKmHG*{Uyf_1xI-Kq6yVbLY5zkVyYppr z?2bPk131HQEHvo$4&b~p^hT*e`%UgBl=W9Uf|5&uP9;~n z_-YMC@C0ojIOY-wvjvk`vKvq12qe*?h zFbRH5N6I5rm1CMV`5$yI*;TqHeu>k}%vz$>d@mCuIMp=ul#2jgWviMhT;pK7wf-@3 zCU(hG;%ut^?S@(X_vA*Gcw}^K7Uc}p6uKP(tzGJDa35Ixv059Ij3N}-WmeT!)tXME ziNPWxE@Ze|_3t3&cQJ02GqjH`Vy=pDEM3=Y9DLT8)Q3C1xqC;mZcybMlK)ZzDWgYMQVlk g?+HCBA8Z_vQJyQ$CplM56^M{^yWjl(WxM(H2d(k1T>t<8 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windows.ui.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windows.ui.a deleted file mode 100644 index 594416df0057c3fc988d1955c05f20b55f40eeda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3336 zcmeHJO>fgc5S_#+g{TM)6_lQgR3r|_IBDtx386?45=9(xsW@(2>@=on62%UQIG~;? zjupSCzl<`oANIPo+f)Q3Bu2{aWcJy+`}WPOpT2gdp9XKLFU_>o_G(Vev0F~lG;Kbl zx29Ql>hghJ6#(u4l->hWDgf)x#jm;zP~B#%!`MOSPea!ABY(;|W6x*vVB}5$hQUS4 zVNQb$gG2hsICkE69q zzU2*v09HR3`f~8+CBRXs?;fjwjO(1y6vmZ#2&VH@F2ZPB8ATY4CzL(TMGT}(a>+Sb z!=Y<1oF7twQ4$JBzX{Jk1_)Dz57@3Mw@A5zTPU~LXk?V@Ak%cRv`+mLcqpg&gUYR| z={9LKxUMa!0y@b&D|Kf;>8!DY4)n#*?+}LmBfmFgeQ4h j#pj(pzUH4+{A1bxTB3Mc1bAD9FW6@lU;N#@8nyod($NNm diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-appmodel-runtime-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-appmodel-runtime-l1-1-0.a deleted file mode 100644 index 376dc934b1cf8ee11d0fe6cd721602bbde47899b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6318 zcmeHLPix~w6n~bJHVr9T$}TKR4{GVsQev;PYs*dvB_&{*OYvndd)SGxQr2oD+gJ`s zpoFl8&_fTQ=Ryzt0R0Mqeu|6cVCaqmhKbhr?+Q`7E@V%`E0JoGtQ!4Sd(Dz#R15R|oEE|3@_X{m|iYmN+@fVHg(Y$o0t)J&7gjJ6_gmu1}3f)>t|w-&;CL&78BB z8Jl3dlau3VbCi&87VB)wavaArosEv9>F%m`{s9sXV6%q&;HuvIq4h+r+7tn-XwiI>+D@(X8J#B%daBbC2xV721j>3J7mHQ<))vroa zMI(wEsEUSCMMJ8h5!wyAVKu!l1ZeIDp)UvhcLngew(lOO2HCFrl1$fg_6er@(U^tN zd|01_(fqf>G31$Sl0N3XTgI+>Z6=2Mjo4AIeU+U=-jNMTgfU=*d4>DYDzScW1J-x# zR)O^nzKu`l5n$=IS^tzT1GD?I8eG>y$rO6qWvo|tz0`1tiu8U}C!DJ1OAJC#r%=TA zgF5%m$GmM3z7Ke?5OZ?w!2Wb_I6M$7oN*aX(?eFE3GQ8?3Gy%bG)?-xBi39{2?r~_ zQ%O1nhHsgcrR3sXzTZC-roboKc1A$QO3_@e2EQ>HZ9f!48qDj83O z3D$z~1>=FXHo=_brb*Ahp50 zNEUFEh&yRaQ7zmv8AWj)5F^Bj#0mk(x=_?Q)+o_VAzEJWdyyINH&*0{=`EiSD^o6y zTwG7j7Sz)-TZ>#mPsGJ}dfJs7qoPVZ{iNBwPEWetHC#bYGxVA0=^;MfP4!e)EXtkw ziF0>VJCAVflv3>^F2Ys={=i&nC->BuZ>fA=RUdw-E}p*E1-(ZhqvU(15?vUIA?oW= ze#5>ay2w3sMi=?M>UCi+stf$x#1nnri+J%Xl4)MN@U(rq%6Ku<>}qkKaQ-?j#}#z( zrW}`ShO|%KG+xvaU1a{j;2)v8ect+vHX2N6%=lI`@Z5kuu`K;VRrnW{_scDur>q6_ z(QX&?ae)~7hDUv bMtZV^3IqPayi_B}(`VyIMky(#vUu`8OORh? diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-appmodel-runtime-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-appmodel-runtime-l1-1-1.a deleted file mode 100644 index 4fb57229eb6b1b65d0705cbabe72a8e099ec8a65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8030 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 P%a%A|L#7_KUQhfN`2xdp diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-com-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-com-l1-1-1.a deleted file mode 100644 index 8dcb2257d9187b77a27b4077c2206c85e02e645f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2710 zcmcgu!EVz)5S`R5g{TM)73vKm!HpO@q)sX!6x0KVQ&frb#)&tHshvczQF}r?A;hT? zKhz^%MVXoPCY#2lxg;B9cQX6z*?s$FCokRwv;OFP^^LvUykpPze7DtnYuheQnZ0e- z{d)dDw+aBe0F}=;xB&aV=qtpj5MNR`OGQU!awbkEp%fRDn3bJ#aF4nXz5o+0f}aVUPvo z5T0p6=f>%!={+#GB3wi-eA&?0hiL5Ly3E!FSL2SgpKu4|xTeP0XdD*c^t>KX0ktHp zp#o~80PK=l?A7q&gmDbu4Deub@ZVd2VPz1UYe()kIi!%*owx)u`P(VO7~EN97=t%V z2aH9GEVrCn=4=nA{)1t@NEKG)`SMHhUlfBHVRm4M{T6br$|@hNukz+eYenTgp2AaF zI$j&*39+l7+n~zpI@}?x2G@0zD}+wDNaY%Djs|X?HRimw38(G5;{iG>pq}#IVtyX8 zwT{k5d?6wn8*2sz+34H&TzOb&OH9)yw~!0WuF3`CmpENC^PW*_UdavyYn{_b`3Ybq z`40R+&&Er^7E+5dD|M-Hdfit)n%;?#S^Lb)Pdr#E$3>Y%x6x~y@8$}p!3KBD`hoYo zaR*X_qIR{Y3-kM)&W-BYS0gSga7*>0g_x`uH_t5EM;kHUi*deQ*E2Lek73!iBfRd%I2imSBv2rZ>$rCWMFSFlmDDYUg(UBKj#YYF7KXT~T3KBa2OqE2WJ tv#^vcyk9zfwIa1b{5OUkl`ThTQKMTxdFGcMdwyeIwCnPJIvdZn>OW~7$?O0C diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-com-l2-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-com-l2-1-1.a deleted file mode 100644 index 667c2d288b8877ed460d3c1c65592788252673bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19206 zcmeHP-EZ4e6hC#^eRSVjVbfrcjWL1Lc23$RshFlh$GS;~Rdk3wAh~JdreR4_CEnJd z2~}eZkU$zjLhyhP2;TV<_P_&AJR%->MEntqbMA+I9bYF-S&gjuR@ZjUJ@)aVIsqY4X7b-{M7)*5zOq^lCVzOrtwEjZ0qxoTfoyZlCT z`TA?O9aT9@!GG`T8{XrUJ5cP`(`reb`Brls)%`kBhzXamAy`Ru<m*K~&2%$#W!3WaR8P|67- zyEt6AzXK>t4gefrS3@xF*c)gtyM`>xFOFBrPPwZVzzobk9A9d;d#J%C>DB0grzfTE zF1#4Ta;aekOsO{|<)pVaT(2ngvUo9~(Ua-&j5c+w(H=vaIz~1X4~?;Uek?bZ8?V&S zi;NTSh4Md-0ICBkspv5Hf1^Clih+j_ zDh-zFm_P{ivJT}^Up*^&E^E|uc};rqy7Rmj1sR|t@jt`bXCJ$Yg7Z~2#6Wcn3^TCe ztln6=&Ls?KzLus+#=r&Ex||EtzSO2(Q0)vabATO8S>l||#7_W~clK+|=t8WVy(~ToO7`hBbcp=tcVV;DIOeu0}dW z(S$e3k7IB*UU3X_ywZIFxr(o*EHgo`0&4p)9|8jJtfeRiyo>t~&p${BtG$mUte({C zyhOZ&0F*mt$zi;rKp8AGE)*WBPg8L&r zBvct*o)p~6iHphwlx_EP-NSt;D(-Rdg$0@~r1oCeO4r`+NAC1%?+^P{Jh+`qD(?A+ zTDAA5$ef5^z=wE+^ZqXDJ27Iu7!C8qNp+6QG5-J!WUn#KDmS9cmc}{8X({=38{^#3 z>jiB6eZ8KG`RA}t`^EerxqhZw$HV6(dCVhc%HEh~25TgP0pH^#azI&f)UTX{D#Yg% z3K1D%24?~H5H-CR@~(ocI2p2{w3KaL*CcxxeOV>9`BbS2Rkr=>${0&#Z!U+ z9xFyACGc#(=Xmt9LS4~TxIp6g7%&x;0l{%m%7D`@185%DF9QyA;DO+hWWR8PDuBUb zz)M`fjs|>+XFmhPa(|~VKJ-tf=%>!%<~@8i+{^xN1^xRa7Ubp}mg5OQzpSylOG(z> z6~>4DiHPXW2S-1jA!K@uek#hSA zo^TdCgXO2-`G67^u%iLr;5nq`E*o^s661&{ACVR5oPhNyCx`1hTvlvlPO#U94fb|O zqJ2WdIe`oKZtugy$bei#2IPu?wbD-z4!!)sqGC_u^b7AP`F8UQj$SX|7e3JIxeRz3 z`O&Xm*h389ufKTjJ>hebJTf}U?1btQOd+9@0bk%zQ)|~BbT&tfOo+HkTugld>rqaK z$KwlzJxs`f{{WOmYS?uF}$3?q5F6dshPPAt@ zDbVlDnJ)+loecO1kM8(LSNjexp;d{`V?^C`PRC5FmmlYtX=eZ@$@Ug~jhW=<6nZwq zxTj`D+*K}22j|b52!~$t=W84?vA=hbgm+7K_`jw}v|l*H?1MU1IxQr0GT;ZQ*fmIZlfBvTvxwk+XU7=`{ctzY zBcK!9RVus5_zw@^AG*5B42*di(g{}2R05EM$4f`TF_1;zUPzBg}nZudLi znZ2z0Sl=7?&g{?JtBt$-Sy%VoV5>TXITn-6I6b@|4GSRupN}WupN}Sqe>2*5(4G$=ak&@6CqIUdqv5yi-bUV;8rCczE=p8 z2b)TQ&kBJu|3f9!-wT0KgMCF=x>-r%ZXr;bbtS7$3xTrsJtZG~O$d~a?NsvkJwl*- z{4pg@eM1P8Pr`noeELcyPs4Abd5*Ml)RV|0_CS4Q1bJqgg|-u$4Y+rHz81dHKF9!9})uP zH)oan_9Y=ue)n%Bf4EHulvf^5^2bMoKzZ%!O8)#$AyEDb?TGUCc_sfiF9gc#KU4Cr z*M&fNql6L!b3yRIR<+p*j#S&#W-!;NRD(xq_3}zBfR$^rrJz&{mTL1T;d)q98jrNf zD=Pu2Ew`{ju+V5$VYVDB*D6aZ&Bog4R(lnyd4U(?gK_}Bxm*>&$!fVWw2g}U<{zpq zw2#4#ELB^rxusgQ-rg;Optigc&}G!xS*FG;xs4g7#td1b#MCH}HKv&w(`1bzQ=>@M zDELejD5P4e;Bj?4x=x;}lc(!&Rmd7Xcj}>#IvSrl`A|sK;ZDC#pMRe-04OB4!u`49(RSc* zb^wLsb~romXglyYJAguRJDeSOv>kYy9Y7(u9nKCs+73L<4xsSfO7jRhrGt&;BjskL zRzGoYwZ71%UU6{axV=)f~E_0!D`ycAPE-SEI;G4<0;54;ysKi&Ai zlQH%6b&OSE3iUOORbdL#trxrZjWucvhx52*PUyu*4sy`i>-vJo$}tA z+$QJ39l~1sTBqv^or4aJR+p;fR{UU-G^pB%E!O=bU5eCi9j>2hJk0G#s6f??HEQRq zb?-w=iTVxQO36Q!+WDjtW^nc4Ucr?*}n0@>lfXF+ZVI zD$6HMw5J+TXJJw=p_k8>N~K(G#`D5%#pBy5PeLagOb0dzak>1oMNGA;Yi;>Cd6pAL zj!#v}?Q*h;EZHlLyfii6YNe=&GpJX?ADk#^-L3FpGwfG<+AH!}Z(6TMy-SnzX0%=& zK5QrSbh%zaFV*C7YZ7{?Cb5?aX3LZ7dZ{Ltyh(2|KUG;;!a7rnwWVrU`9E(6abnYA z8Q57j#oH8jVZ3WUP&wY7(8WpX#M*K^Nhj8ho23r6(E2HCYuScdplEzkqK<4ow36{n zlk0yZ{D#}W33bNAD$Ix8Pq+;kIN1jSvp#?zrw#)pI44)&fr!nf8Sv$9z-&A24eZyB z&|dJIQw(VR_%fy!F%>V@pHWYL?p|IBE5-%R@#-)x+vhU*DT~#gl%2Ss4wJMXvDiMj zT7Ourk#@JPrSTw#K!$8xMFzGnwrOXIUxm~@_plUk@ES zq^_0E=VyF{UaIFQ%*3d>Shm_zaMHKQPrcOPHR(1eKOR~?E^;ED(er?(h+Qq^CWzUY zjz@_+1)kF)Z0w=fc11^To#&Yaoi?o(QHRH|7jzz@^&qyQrX8?26zb@8aKtaYaT9(! zcdoOp^XU-TC$?MKByLyP=_T+<*}1Z5tRGr;%-iFp$9w&dh_|EkIwE93wis>!YALVN z@hEzYY=w0s$>YVdul7jop%A!rMG^$-M2%zR%hW+Hm%R9q8@kUQ|~bQtm?7ta(z~7v|i6s`Qx-+)FFd? zHU0Kk?I-DgQ9dwXf6u7)TV0I@08^*mYF4d~^D*&dSW*;3L1 z`d=`zkG2#K_s2>`^e7aP5hygpNYOE3ijloEBN*tnlMy}Aiev-|O)*l)$cT#%qUm<~ zo9JF^Bk{ra(u|BW9~+Gi>VcFb9_HxC8a;PUA}k#nc@o(}(g7pxVY2ZqD|**}LIev< zd629zbjQfR8M%vQL_XSD$p{xn#}`0NF_JZs?id+3BX`n_$njBDGQx$^;cYQfj7(>Z zr#nUl&d7UcMtm5gvfb$r3!kRO@O8dZ0U44jcWXh!6yS}PghLhJC>uQ5il#?~Dp z180QJxB;(l!(=5RT!0-DxR~-IF2YXP{!k+9bcPv7zGEvRT-Pr&i!nxAgxwe;bVeme zHf1X#I!^@I_X~xl{D_ON8)JmdAO`7XY-NNSg@Os`Ofix*!tS0&D3+oK`$l4jbjCbL zsbni7+$a=i7GsRKI6GzgLwO!a$Pj65oIT2^M%`;+p(#J&;_Sv4Nyvz5ZJa$VhpsV3 zT%6q)BMBLRt&Ouo;!Bkwj`Snu;_O8iXE(-3LdI)r(Z$(~G4gJj5o_b@Y5!qo z%#UP^vrqSCgFgqUcG5Cyos4Cq8fIp#W^B7$X01nQy`DJxleAtm7Ueo1t>4UAw=)03 zgu(Vves0gnD^EPT*8Xq}F2=++VV?XiR5~|2t6?bWUd$SGcf`muuE2@%aa|BG?_z8Q zL+|zyqhE7RCdS;m?!~Mzct^~@iFqeO3XV5v7p*U3jn+G222RXP3^CaCU@tNH z_4s6B%)KLD$Qrw!-rbXh-u0DDL{I)Xu<(BS$|e|MFcD!PS98q3AOMS*Ngo7YFjKzoMgbrS z-Th&GzcG`8-{?1@xsziC-s88Jne?t^gPHSvHwpleF~ZC{IA*LKIRpP5px#?%`kKvU z()Zmc0AtMT;Fz&`Bku!egQ2_3FhVVxhG(z(#jv1>*&R`n-G-k|= zoblZ_0AqgUN`@IoEN}7iOq6p!+0Pivyzjel0LGYkJI9RG;{c)@{0uYZvHOfGCGQ!;HCX0G=BMV2qh7IA*LK2N31-XP7aU+23>H0E{tn zIme9E;{c)@{|qzc#sPS49Dp%q-pny$^*Dei=Rd=Yxp4rV8wX&Fnaen4tR4pt{RaTU zjJa_DUe<8{rQUx6I1ew!r~MPal6rw&j)5HJKLMPIZI}BefHSmS&$#AK(0b9>nHzw- ze#bRmD&~&0E63Wa^ZQp97pqM_xPP_UJbk#{t~M9T3sr=9l*cyTD6dBGEEVIn0A=~;an?(2J@c)Z|bp}1GUydqh7Brw3T%Uu@ydS#xLR$ zka79xqOMOG^n+%8L9MIWr0Z?(b|@>gI@4V5M^mAc$Qv_}3r?G{)Y zt&vv}wbiheyk=Z1b##4P;?|LNA+DG6I5&I4HMkfP&%?YMiP+K8%)}K;@sf2cK(Tk6 z=2>W-G+$G}CWHwW!}K-v*mgNzvqtOn_?pLQy~x*G1IO2|ui4gPF>{U8di!W~u{F{@ z1~XUTgv=>=_Q>yQHYUCXAG%rT9660jtlSVO`K%)VioKr2kqU29H-jDY>sKx&iTVF};=d*2q~l|bglljyCSHU& zMNU^MBm>l~Xo{oEqX2sE&z$GEFwb)lX+ekUry38V;~8nsll95J+pmO2pUjO`FvUyO z5df~28BJLBV8r}bvVQ%}7Lu1(cM$yMDBrDR?Pcy}Ce{MU+{Bekv6FcufP2c} z*xATa&SsLGxu~0Yl)1@aW5Lw9SIhR4qmMornn=SGF`35!xVtm70QImln7GV1NzA@V z1$vrsTcb?OM(@tTqfZ7#E12RX>lgs{&ogMkiM-^Xtlzt{F^U(z(~&mHyzIipf~n(S zdjH{!=nd!`eIhY26;sS)js2H;d(zIs1vjlH&5fHu%Q<%r=iSpLnwi+W`e^%^iSU3s z+}s^&f-&&}_(pOQYXJtGxRxn;vW^6B9!H+}q&u`6l=ka!5^P7`w2$;1+J-%jK6(b5 JNM*>({1@G*NA&;z diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-comm-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-comm-l1-1-0.a deleted file mode 100644 index e8e919bdbb6757260613f52f5e0ede0bd5c47dd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16380 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-datetime-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-datetime-l1-1-2.a deleted file mode 100644 index 57cef70375c96ad7b6ac379baebacb2fc9863706..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2742 zcmcgu&2G~`5T3*>g{TM)73$GQ<%W%IrA{g#6jA<;Ily`2)*Ir+iBsEEb3#2Kjy>`O zJV&2_2cpdEdYw&U({gB5%I;+L+sy8_-|Xc1>mWTIy=lENmz%rq`mXPEI|rueh$+1{ zO|Rn>3kEF!*Z^pJ#^Ei%)-U=ncF5S5jHemv^PH#bFbO$3kEX#aV(6TAedf1W939c8 z@Z%6B=UFhDF@jApTELEzl(R6%c^*wTi(Te2j|B{WYQlkyco5!qEcnRtcV}skN6GX< zl1_sB{TvvJCNoww6Go@w+)heL>$r3s$M=2H^baJrra5SZ-ya~I0Nn<_6Jc$Fo%4Av z?E21x{=i0(f_jLU=|TU>KFYFNU~oaWh<q`YejW?!E?OUn*Ad~^gl=G%kItrJ=@DvMVww)QhI|n0%6uSxiPJ^X-y6B- zl?)MJrF9x9M*&VmFS{oEMq@p7VVyaaIn-pL-BwXLUR%qtEkVo=ykaWVRXIj)(@UHm z6k4aj1m}(w1uKB|B2t8^cCn}wWd)!cY-6w!EiNo@OBIDGVqT3abBxZ>L(I2ooUiuv z42@3(M)~l>SJyA-+vVlLr(0FEUMi5{N>x5WOR8EbnAR6s)~Yy#Hdbp5=sb$b0!0Q0 z#wY@=l9gpqHIzrNu#`9Aymb3=M{ z-1!mwg8l%05~9q^dgD!Px8YDD1S@%WJp0+Zp8dX^^~ytM{JQ(7a=$uTtWC?dY_n0{ ztX56#((7t<-L|6#b}ImI8KCeDp!^kJ@rS&wqK~fY%XA5`BgBiq8waB4h2B`~3|&v` z`vYg>3v?bdY+-MRp5LM?@?+x;_XB4%5(Mi9^niFh9DBm`T9c0GS;7*ga0I@m?}6xg zj(ed4!Lvy?nuL#O^ylH&A9P-V5Pp9oQaTc@?JVpzJPr7r9dFzmdx19yBWTj^?!Wa~ zVQr{ZENi7K)3j-k>_&aMQtrn~xL5#<0>BNn7N8b-2O-FRxt8F%jq7leCJ*I5 z&Gj{&23EKwGS}}!9HDhiU+XF4}MIVgGK#a%!qz&Y4MY=ht>Z8X>J5 z#u;L|^V8aG;9zgGaUsUdWD?4RVLEQAF8Yow#Jo?(*=k<5(0CGIln=l7_~b6#9UaBK z*ea%-D6pHjN8?I9UO`LpS#lR|BjqKsPBO=U9!Jh75OJR)MkADzC(ahi!%>(~41X`J zzMPSqA)f!xBNcNSEh@AVNRP?)vMRzCG!kc{GtN;t=uKuC)`In43%EX##?#YRE?Oug zS+Px=`RBB7#(zS-S}^C-!g?Yvd_V%7mls}1k}=ov%nNO8+_Un+C>@v3!n<_bG%qY8 ohkrLOK*}HC->d`5ja1^CP?HX>i|`rSk diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-delayload-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-delayload-l1-1-0.a deleted file mode 100644 index f56e67f7828bcf550e595cac3ab928e418a314fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2758 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-2.a deleted file mode 100644 index c4248e6bc82185971545c030e72793bdb3a8335a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2798 zcmcgu!EVz)5S=6~g{TM)Js`Lk2@XiLvD3sc5<-zGDvl8n=ZzaXu~o-TZKLK`ap1(E z|G#huXn8nH0Cs-S#n>TZUot<<*x1kglpQ9X&(6ZwU4{&uE5~MbpGDy@ zU4kELqK@H}}HaNY)hBach~TZQGhQG!NF?dfy))y#S*Yz!Pq5 zgOU5IoZI!C2IGn0xw%^p;WHx`UmC|*b_Wd32^Z1}U-c#SAsSn_F13xol(>QP6K=O2 zHCt{F361Vo)PY8&0ur zG&8%T{oo(8?^v62MQY#1@9~s2fya#ct+=bA`;Xf1$#8qL8eG@2LM!yWtF$li>Zst> zxuniZn{d*;KJKEU1Ju*0(Bb?%=GJ`_AMj%n;n=u(V3r48;}hZGnkz9)n`|H}IJ+V% zh+pD#)6~;PtocTsaIjQ7jg+YX3GYSMhTmv3STGt*H_Eomq$X1C&PsFePN_6IoT4B2 zv8kk2WgDGU`#A3vs;5B%^PZIkD}!=EQiQ5@zNsMV%0S<;kHKOkE^Kh6O5-4ARgGI` z8|{NC>bGi~E!XuNjZXze`f$gWSFh>r;$q`dt(xBegpeL7w$SJ!w1mcmp7FNGM)j1V z@SU6W2UIS3wSgiZIBOIEpAyw(Q%R(UGf~PSzGqT^SdmyE{?(yJWYG(>sL|;lJPyAX ST^oL)QM2<~|Bf2W#qM9x@$Rnx diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-errorhandling-l1-1-3.a deleted file mode 100644 index fa7974e2468dadae8e5243f350189b0de5578c9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3618 zcmeHK&2G~`5T3*-g|xIBD&S}&I3U%*ZdxY?gep}CE=ZMt^VY4M+Qj*(ZPcDnPlyAD z-g%im2v5R+GBfK<){U+9WF*8$*&WY*_U_Kix3hWj(o2rQSM3*OQJfvebzHmOb4}Cc zA-y%tZg(qx;h+rwcK{j}0Ilx;%fIArWes3uO^7`qKBhsEiv1u960tY&192LSy=f%S zc-D7?yDj4Akbb!xJAZPTdef;O*eInJ#L*-PM35wtB=p999F31f>V%T?-Ax7hQ z@gw;Y%|Sw#CY)efD|_3V`{C_#zwh)Ha^J;xJfKZL>u=}&7B2&v4O$JZ>v5hd6z{U! zS9rbGa5FCH<4Px-(y#ZcXfS|UIu#7|&wbWzlkp)Rtq4cq?14cRejX2{g>$apY1(8B ztYGg-R*-+mr*qLyAGziQo-kNtJoUs>fC;y9)zjFv z%r5$d!KU(G#x^>KHgWtQ&wA=iuy0vuurg>TB+XDJ=kp3Os|*y&ZJg|rHZRO^g-X*$ zOjeGYv5odY74=Iw&Qqine2%d2Pfbb+^{MQN1XBM?TpNb}14yoZ|1Z<)*Z zm@{#q8ZFiy(EZ4j268U2$7lvaS>{zlS=b8&2JwC=`f^2bg?Rfzi)7Fv)JW)LkQSSt zWz&QosFYliDsN9U@=sPE=7jy96Bs9%&a+!uEt~)-xfbJE{&h~2>{@c7Y@ohBI_*El Ccynz4 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-featurestaging-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-featurestaging-l1-1-0.a deleted file mode 100644 index f6ba05e49fba5f17fa9bc973ca2f5dedc03e96cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6378 zcmeHLO>fgc5S=(JA5{?ul@GziNN_<-uuJNu5<-=#0w+{a^}>OzQ*RPOnnbp%mJ6yl zAcPRAIQNA34V-)8z>naEaG=cW+VQ%viF0vP!Ajm;&pvy{<9YkmzV*QNHro%U?&-;5 z&YPBL8TExlT{py#TI>3J-3l+*m;!)l0PPdN$`9TL` z%Z#o2-1FHg54gvcdk$wiZrAR+42`>Wi&-_+aT|1mc5Iy9j&Jw-j9^FTc>u)#wP0wxcN7AXazz+Cw+wQjb(_Y{< z-Ay}idtG46-RiUa__eX_n-~3zV*s7d)pg%)VYq~2DFX@9is$vbG^`wW%!BZzD_y(M z;f@GHh|d^wUhg=KpxTSFF)IsA!>}w&zy+f=$U^7c8B9cgr4r_w=uJX3;Jbn7XIDC` zZd4sRu(KgzWC>Oes}0{D0fRllxpc$ZwFr9-I}_-aT9&|waPyI!aMRhig$Or`otYF| zG#<6clFF7}L6%gAC6y#gDjl<8R*b6C>EH#`rrY7+g};vgTBWA_Dl&w2HJ&tm`Irv` zQ)8)RVU#$QvoJ~wCj^F~lPqDJMf@gls9eg#h}cnvluLJ$Hwn*Z4l0Dvz{9%OHA>`u zJAdxi=j4j4>l;&1?pydiF4054#7XD=oNxoH8S)1Gx*p~Vz3;T#kML@%;09b$$D=;s zqW0kd59+h9A!MU#8iO3sAZ+WPwW(_oF~9H-@sB6q#LOlU~6+t?{*G=1>G``VF zG>hXwnD^A^VC2*q)COgZq#4r6UaTPlZJ@VV!^z$#^FoYEXiXh4@6&MuzR`1#rhZPx zS&?6)Nl!vdWWy&uJi0??`}?si?oEubTcQjlUu4#v$DYi3nc;NLFxM5$CwI!jiUewG zh5kUu5D`V10k4w!6KhLk5s^voO2mLNLV6@U1fba^ud3LiLhFUJyb$NI(g3%_V?<)y zePfXv7AhuKbw4MoR2BQrsxa#YtfIZjxU4Ee-o3xf#?#6wT5+hvta>gDqSoL$ws|8V zIh7k-;P+(AsJVQMnyV|{M3Pao#*fmejd1OzrbwN7sm%K~olJxK};{wEZ|iBd8< z;<)7ljh<{)w!wDlFCu+kxuaB5WqjbVi*6Sj5qN~iStp7vbGrQ@yAx^wa#|?Di p2Ilg(IsuUJWAl{r;wJh}CDw|%G>BS*uh?chxzvlS!2H$Jl)W*!f9+#*P^KknuEQ1D^Ag9W6r6&ZBvdL=24=zQ?>Ci=z?! z3p;k<;yeqIgb{3((FAs~NI4txAU{iamIsq)K4G!T=oc`2;fw>D@*v!dM|j8cw{kHb zgER`}IWQK@61Hj&KY!t)++L{IHpSF+9MAJi^U&!PhcN7f-|t~q0s1X~M?%{MJLea< z(3=|*217dx@}LD97{@rl9!D`RCjPzwn6$>hsWKFHJ)Y#=xU~j? z>9K4#VYE0JO&BePm@MdvqEnS3&LV!>IP@2ch#fJ+XuYhyq0itT1IQgDB| zKKK1@d7mimdw3p?X%l$8=w~HNHO)Wdepk8Mqt)QLo)%o8^RDB*!t1?;Tjr8Ju5`jF z{dT{L1_P+2Tfq?Vc__4X7(W%aCBjhzdtjVT&*rDnA~;uxG;MMNSs|h;vx4GFF)c;E zedL-~@PGHWs`N{Kjd5Hkcgzav(|LGTCLd;LHdTrO~t$}-{`j5 z$MNHW_tcr-tXXTYHfVPwd8m`ivW6^c1D$3MosBiWP~s}J#z#z2k6Y#&?SpFS*Ls|% z)mY z1Q9LrfU{(sDQk$bhzL~jN9>hOUam;45WnNlBJ<}7Y9w?oNQ*6=Wz&WqsI2a|>1$|{ Gx%UU88R&`t diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-fibers-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-fibers-l1-1-0.a deleted file mode 100644 index 70c994fb31de55a27867d2e9d9acc7a21fcf682a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5026 zcmeHL&2G~`5T3*-g{XxJdf;fPawEZRQ#X|mDymdCR^msT*gA=WO`Rr+-Jb)8o_g*> z@Eld2fG6P0nJ1vk?0VOm+G*1R21Hl!?s)cF?|Sx|nROmLbBAsJdG)C|TI?0uu^p?q zYMCbfu;{gEF0U*l1GcLGfLG}YK;;Br`iHox-%*X%>^E`EodV3AGPc3k+sGS6Y|D$i zA=~J8Ja!Q5x`TkB^04VJr@_LYMOUK7rqe%&+`)hmtQXM$*6t5I)(u+ptk7mQvzW{9 zK|K$c@421dI}>b%(Q7Y$=Z1SY9}9W|rfX1sndwy;?A;uC+BklP+81HiZ>NtFx1F}X z8`t}4i^lDZZCQ@vn5NTgs=etP-@@$yXqEu(acK(bv3D4Ad317=(iCd9+!p)4wtxDV?3iCNQ*)Lng)n9Kgmp2VOI-J_!S$xq$Z*}keVC)g zL*-9%eTgpvt9e=tuIpjK5!&ZGu1mb$YB=RPdcTwjC*_On3@QwunxcTg?K8`zNto{Q zsETkboHfvm{k`2Cq2XK`u{6D80p7r^E4+d1OEyi59&N;$GycKBlIhfvhXVM#7F8L( zqEJLWDbBwl3(K-_vMY1Rnx0FhxlxXAdnxJX`4>f;C)oc!;W;%XSQF+FjQv_Hq#5$c zQJN!E?5Evp;AAarUPy5xxrB0In2%HbMenhWnEia5BiD5og;xni>hO)v&L7j=37&_t z#TYp|2-eYjf{Axf5=<7XrSS=WwY*JJ8rkduy8U=AfrRzkQZxgO61gPJ6H>$9e#BS! zd(y6p6^Rw%Sr0YBS45lzpco)D3nqEAGCQdi}ij!F2nj^ zK2F7Yvcq*_eTi7lzwZ7O#;5Dm%E-e4g{TNrdf;eKkvL#uSBc|8g@P(oaLWO1NE@eiu&L7o+o%<%9x6^8 zDxRoMz#~y+_9tGaHZ6x{BJYl8KYP~S&QG501=(Tzrt{jYiraHN*K_=S*EAizq>rY# z+w0h%&Z63nO-t90&7+q4CuBnAc@#GNwz~ zaSCTAc`%{MlieBG8^BX(S)`a|Q6ZH3^QCLE3d5$*r;En_xPJ?Iw)IpV5TTxWjZn zU&KmPB)^=ubzJ%fhI2-dVYHrCUn1|w2MJ-?@CC=!nm%#`*}&Nq*+Bdfr={rCM(p`oesHjgbebtc z0b)Lip$)%LSw$yUU4G>biAb`WdP(2Wd&veTz`zt(`15k%U*)D zU#o@Wp-#@q9V@-q+# zg6=LZN}H}NHF#X2$RnR38Xur0qFF>P-pahw>lwKng9R* diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-fibers-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-fibers-l2-1-0.a deleted file mode 100644 index e51c23bfe8a0913c24820adae90b8c431759a74a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4334 zcmeHK&2G~`5T3*-g{TFDdMGzj6;3!fA#s9)P^BWou@Xh%wsC3)yLFlno2Dn!Q-wI7 z9y#+QeF7eVGbbK_GPApO){RY5B#e+)$-C>B&-*j`&CL4FV|%>gJ*hs>)1}_3TXoCq zv|GAva+O-^`oorZ*Y$1{0ImX*J_A%f0xW(PPxTuBJbBdi1+g=9k#kP$ByiL2-j@D z)@iL5h8Mu#h;Tj)xZaGhNExW$y411(W{hjaa>6a;tg(uxb9to>m9Q>!*vVK;U+B} zDu0{n4ZaMlR%kW2u2snqI_E5|$9T0>aEb4z`nXTHxPQJ~LV*TUQxwp+eU^D|9;SOd zwjvx0XASft@9qAckZ`W0EKQp%z#F)Ag*T9W$)?kyMjNr_8UNtmnCaA#hXQ!K7F8L( zV5f+zQk;KNx092p zY}zZIyFn1^XgO;c*K*#%Vl@mvCu_1sc41AZlP$uv*I62AMC zukd}+sf!hf72-_~CBj#3VUG&M03o@@-$hl157f|XUuFMo$@OX6PfUrL RGJL{1bJxNRvQ-86!%vfv(jx!> diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-fibers-l2-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-fibers-l2-1-1.a deleted file mode 100644 index 4f5a52f24221794e558da093fd520e09588d8abb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3550 zcmdT`&2G~`5T3*-g{TOGdO&b7sBpr;PE*GRgepZKjy)8K+t#TaZ0h_dHf^{?95^5j zeE=S&r=AdxM48$3#_PnU?Exbu%Igx!kr!lFPqQxyjVMyZP}*N?dZD6 zhtyWrw=FxJaL@#R8vwOAKqCTJ{~`X(bAaYKV?D;+#{M*Bdw$|iS#Rw5>?9nylaQft z=Ge^cuqf=)Kec1$jZb2CGGPQ8#x#K)j;B5wgne2oYBLLeF2jX}KCr-dy}#=TdQ;y` z{MY3F)eIO5hZB~!^~R%Pf12zEi1hZyOVHv$FAP5=t??rKWpTGm)3!0>w&N_~?tQ_q zqc}ByJ6v0XR^rbRu9r7D>>ac`H*w1$d}J5)&RYFAz61ty!iBWpR!3rQqSC;9sj>^E z#O+8s;Wo-~U5VR5WwQV$$7PRvF@~{$d@+bGhTw}4wGGR#T3&<%h1MX9{B**v3xM~v zfqNtksa=gDxz(0@6HJX^y$qwoPb%l!r#G@zDl0gcD!HrKAg^nl->2uIc&ej%#@EKs|5B-EV5aLS`%o5QH(qJYIVm}Zk;l!JU0-cMFE8M1t z!U6p?Zx3FeGfu}(M z%W-Xmdx6GY0Zz@U5mjN16BAWok}6D6g-NO~Bgb@1+w!A`uog{Z5B<9U_+A-$N6L}; zbuKA%?NWS#={#1;FdB!oGK|I_rV7R)X7VlLn7P}=scSII8>ypKd7ghs_K#vvBTN;> z*l#Q!>#X_F`kL=J@@6rNeqCwa#j|)w8^DW2KPPq-bhoJah6=YwtHE_W%5*|!U8H%1 z*GCPv%prYV*@RQ}<#87sHK3kugBtU5pRIM&KH|#~;n-L?Fic1D$&vK1-f~RSCO41~ z%&yD`;+HsGHT~9+Yrc{r3|4BVk+KvZ+ZNkZ_>1F)%EZRfjI%7Usd1{^R9V`u+gfGW zVP<~eAye@#$}+m2UgEr;shtJ`>@_P3Rs!u-qzFarbX75ym4ME$iNPjXTv*|9m8FB2 zMKNxfWwehjVty3kT(z#pXnf2t%7;5Xzu*h@>}=)Jt+Ki=bx5(LHt(S&wJmi_@5mIb zRdfnpyIONV=aMT7WO=}>Q3QNSR+v@wP#$I?mp!~^Qh;2MTp@nHp+{!V6SSz&tsp&b V`M>O{@EeV?onQYww4p4l{|Cgb=Xy@p+q5i) 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-l1-2-0.a deleted file mode 100644 index c05ebeb81d5ff744a6bf47d78815082dfa7a709d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3472 zcmeHK&2G~`5T3*-g{b^VJ#bu5x#3_(t!pHNDn$asDF+bTHcq{%qdH9#o3_UuP|kgT zo_UU*c__-vuGe0-w%Q(2gv3bM9nXID&dz?bvw8kDnD0jK+OJtz+%4C0J;&ePV$6|4 zX3JRD_p=uUZ2-6j& zxV3uRw#G43)+=y&T=&Qcdy?4537a@!6DRE0wY#>{3F8<#WXQn3F97x$qhMbfGP@Z= zn$o&7FTu?CHR~`&?5sMB5x17aP(;d-#a6~_1&6FgEk?$RSYb67wpWGbAR$Z>B5dy> z3yI~?Em-b5>O^5|(AF&Xa2KAC>(Kh!EbmG;uvsT>(6471Lui+)Sg!GAZ{YH*F~_w| zIIUmq*U(@AwUqysjL$=<-Gt|nJRuQ|A~^%2H2Qw9uPl;jrAX5v?;sasbX6`;d?}`d znCFc0`AT+3u;w}Sl%D`2*{Y@qzff6zZMdu4N*okdCD^qUor3+5Q zooD%(MHNM|-nl93@$w{vD$0M>XB^5|{|I;WwyXy*Z?cLl|0?U%&BA2;ixTU9;FGyp MMf#Fu>HjqT0CE{Or2qf` diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-file-l1-2-2.a deleted file mode 100644 index aa87bb85c52aab17c0283324119e013395cd7d98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4338 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 jk~_pNF0{xRd4?JZ)xNaghgc{sOq3 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-handle-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-handle-l1-1-0.a deleted file mode 100644 index 6b25481df09438796a90360b9c65b049be39286b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4346 zcmdT{&2G~`5T5*$LR5Z)dMGzjl?x)lE~yhFgerwYZ}fu10cqpJ4oT}YQS8!+1L^@) zoKVGyC*V2y1UwAlOqtmqdy{OMfP_(3^6q-}vuAhq`*!U6&%9B)`@Hnn8ZXY4<2tTg zuhlHe=0kdISx>gA@_}Xv0Imb%z5x`!04)CySLr7JUAKyKG1g%0RTPXOwj0F3h&2X& zz>azc-mu5ecwBdxTV-LdMVGW=;}4D^Z#ZNG>qqneYY#>N>v{)%7_iV`4zroZ@J0Oq zSU2$ef9nZe91g=?+lzx8J_TT`*B`P;Yh%zKdZXZFYcFWW0vSoDai|dvqVYHC7C(sE zt++B!yEJQe9NTtX*RtGtJ=q=q^crpuKs^U=oA;KW5(mdI@6WC**lkvPFZO0b_{cWw zo>y8?GzSJJgzM1@H>wJYw1FbdOE24CE8Lc{6K-WTuBLDs*jY8;)VOMqP33-6MmCj+ zO=ZERa_E$uvR(1R5P_9WFAU@Zzb*jY<~rWKGDy1~M{--3@J%p1hWS|-Eq;Yr7%g@v zDfC5A880%vJZ?)kbP0yXjF?f#t&hJ%-jNR~gvrAm*4b#7bG^Gb*XwqA5-F~`xDR(| z@=*NWT;Jr=z-pCdgY#OG9HD(Sab4l{R>LLQ(Z^MvaH>DquArd+RMRO?;PJW1dy6o= z%gviO9}<(@>*1R z_>P?{GE0W~ifk;KTx9cdNzDp$2MZ#n{lq1*In%FNQ|=Kiq9_| z(B0WtYD;_hsjmpZJn|{ncmsQa&4Rh~tmLqkyUA@~I>Ue-L!M7SGM`6_Jm6CzpQO1$ zS$G7-^upIlJ1=G=W{6*WXc2lL?NOm~Kv*8~dr{@#Gj=Awkj&prS?G*s7_ICY@*5t r@65PF54Zk856BGd5AbSd1M%gpXM=UA3~KUlinYF4Nq=qqS!99V|31{k diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-heap-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-heap-l1-1-0.a deleted file mode 100644 index 0cd981eb345162712a024305ff9df52d7bcf44c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9014 zcmeHMUys{F5T7J>?QxXy??e$2$e<$e&;~Chr>o-5}!glY&-FL0Y zWnWbel8rZ?j{qp|g)-mh z0#JVKuFS804nWyzQ5ND*h_50)jKq;2`=K}tI=(pTkGyeTpzwan6>eP&`X`i?9IH-n z7J1{bAlNXX2ShsvebMv1u^2eQ5w`FI{>{(_5_Xn34&263zwAH2p+tW;7RgU;`0;0> zZV(Q=xF3v6#AF9yzwkdA41%@+(h}huMVRsvb;(xul7*$)qzuWs&=h27(lJtANUIV z_Y;6`OI`0&3zXc{Aq`oX8kbrm3hVCk}Foxc?7(*JFOiH(`vu*6ElxAXBU&M+^ z$-*+5Xbeh(DMJs-RrnQRdG7)&Z`snfTGsKdX1R;I@B&R8w*G6D@AEXUKqt>Ee^oJr zb~%sb8gJGHF0mT3U$+UT+tc+m6jXppvi}O}=Q(Z_;dzgJKEg3EXP_JR?u|~Rgqb#> z=@r=mYggI=>6dhxCezQzIcKbc!J6k(lYIhoxs*j2{=&xcPrFswR%BypNdsGWf;5}P z338Pc@*{371uc2DMZV@1_TNz)r^*7m;0b~r-|&JoLS8ygPlm+f)6UV!_Kh(vq_~L_ zq=lGXJ}$8>TE_um!hD>o=S9|ZTVb>eSN!LINln95vS$jIx}$$Vj65$`OEf|vNlyoj;gwI=2(OWLykg83fJT=#BIk@zYa)3W zTRN5D9yX@}x8)nrE}b6C@MbZFH=S07;lJV{7cu-;?K)MfWcYW+xbqku=i@RA|0y4r zF#Hu<-$faIRWfEW5Xb)^-u(aBj+0dOXtMnVi7};Yx21r~GT^IP-l`1)m{iB|O(C%a zx0ofk@8c^2CyJw_uRlk2EV6{V27^{<2`9$5^DJSIkIPuX_xZTQ60Xw@D@?le^L_ml z=7fIRTyG1I@w90HZ>4HL+kU7lK(98Xej>patmWPqB%E&)G0}$wW(K6 zBugiK;?>_P%K7wmeG|!Kz4~Q1FW&;yB{y2sI>++z{@aXXEcOwyD8tX#pfh3C9sder z_x+-b-^A{;d$Z!0%P_tyIiSAWtT*F}#_sw%RqEvv$?CkkQ;_qm?9I*QZt~{8irq`h zdHF?hojp9+JEiot<_#&}vJB@~lZVg$7P~_KZWrTv)6V+$hv@7U-OYTh?klKT<=srz z7Ak4w1z678qLU{j^}cQXJ}pV#rJb>_UjeNQ?6j#dP(>^Cf@RxI88 Jv~cO3{vXHv<{ZSttdI+=Cg6D3TI+vF$JgE zRf#Msc7h_ZtVk>?63dESrC2UnrH1E0soD125d7;H;9aii>?lDf*L6rk8Yjjjn6AHk z7Dm&Zk%iIpR$vTiB$-0pvd(6($;f45SYN~nBWGehoM;S6gvmn-^J&;Mv%EDv%WIbO zU8cD;r&w;|E})~rRQT5{ukbW5Tcp|Gyl#gKpA2Xqpx|1zTY4N?RcPl1}5K`x!asA?skU z;yIOMp8!qHWtNApSebmZnVM|{7N#m2*vJU7R?{NLWmd=lx0VhCX|_ea<^i_92{}%M z3D%eq1U9WZv_old5y#V=b7*F zuBh|f#1*NOhfi2N?Y28j#+NS`kGmnAcXWFm^6sO~G=IYQ9B4l=a1Q@Fo%ro53VY@l6Tj$pS`;?-^{H2@P#*Mc3w_BGqc56bzH}_>$N4* zw0TIcO>?=916;PI006JjFM!HVfXPL9-Nu%#nJ4m^T>zL}5Mo`3&Bz}_V#6Q$1F;^q ze6iQv@%mkX!u`4{+!YaY8+65TY+B)7xV3 zp1}9@e4x=*Arr#uAZ&QS=1vecw?T+*uP-tpdGo&e1y`kwvOtc#^Irw{bY@t|B;xJK zce9|i+YE=*Ffm}BAI3Qe?UO2y^u#?!S;JWm(2DZYjDmme%^KmtWLn^}D2%H*MEi%mN zMHVv5B8FMSFiSDa3LML^>}o3r2w!b?13!N7&oRKqQrp{Bf>^HWlcqOLtbt&q7l|in!l72lwkv z{S^0Iw8uT#1XM1Y`%AnGtmbGnxUL5=SIFL@xUcYftKkw~(#KVwaH@Z@okoEHR8v$i zSU-2THxA=F9DEUuh1mn`VP|(|TS}O78BNnB3-AiouJj7hFX=Qbdi0TNKIJD2R*a{X zJQX11T2^KFjhzD1PND8b-WJ(dmZi&`ooQ;Cx7}nF9iXx4z%a_&C=M;+_=lMF)Rrykmi%TyoEi=Bn~vp15`Xo46ZQ%J2=l|N3qyFwdmi zcgE%Z^Xu4;_LJc~`D#hHf05WKv@5eMxWB+4Cd~D0`1M9QDi!a3k>~THd eI{K4I^E}`p(O+?be|#`c{)gy4`oB++-2V&W22c_J diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-interlocked-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-interlocked-l1-1-0.a deleted file mode 100644 index 25055ffd2ff21396a96e7f1a28b46f5d31890042..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6174 zcmeHL-D=c86h516wXXkSrHD!dMG<#R+TFBDkwUAq;6+8e6Q*gCy0O_GHYv7Vh=_<6 zUKG6a!W+dKAHqlQ(&z92)N^L?Gub5FEkdNwfy~UF`Lbu`%=gVna(UM5tu^mfZmG$l zH*`Zcw3+F;s%m^lu2r?6PX;%vQ~=-@fU*EEdIwRnD z%`^7cvwI#}wtc(D<~x?no;z)`>o7EK%^1w6GuK(AE3ji@b)I`>x626D^5_P(*6G>I zY2%-`owW_yVy@0~rZE$ZX3GZFv`wo3ckpo2?rksFUBCJ0f#dnWnA7UAe(O>^)8$RC zd9UsFwq<<&xIEJ7?s{WlSi0}Ni!O7#Nn=ZG$9GKEd0}(xA_g#6P1cCzS#7`8i71rE z9bMB5!%$V@_H@J@>+K<=55Q~*;3V&jLe00geBRHmR9IfAS*CC1L-@!XEPt=9dfosS zyds=Ke|V)HV#lyEg7cEg9B3h~5!wlNEFU)=;;v)oYz8hI4_oARwdGZj+g0Lr)rlEX zb@i%V)oPaO0@T(W*A8y_{RiM_Y2Dli4S`*bCAlv5`6rkhMWSPF%+3( z31ZA+H;O~$QZ9zajo48xT}%E+@QZv4^H@MOCppvCDI)QHD_>+L~)Tp2hnO`s; zNM|E?$SSYmyb}B zuF|iao!A!lMp92Vf`jB!@bU=u1g`~$>E3|NQa&fQ<#fgYIfgvHK%fC0E%JbOiTo1h zj?ls*kWda^EA70Pk(eO>c^Aqd6;h!SL0E3^-=b3B19tkK+_InN3R4`mKWRisFeULS%Fo*Us*#I< zB4Ulq1{P`*_=2^pfyBzw5=jmhuMmAmg-oRt@($@TD2uE}r*Dy2|mdDSyQh zZy5)=xDsvpIo$8P>Vg=O{_-fE(D!TBp!0!Btc&PV3tAQUh;`PgLsg{XQQRBHU#NvG AZvX%Q diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-interlocked-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-interlocked-l1-2-0.a deleted file mode 100644 index d1e7cbf58e926b5898ea0ebd46439236b5f3ca8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2802 zcmcgu!EVz)5S_#=g{TM)J@f=d0>J?rJ4&2Hs!*f~2_z1Y5LdQt>|m>Q62-2XN*sFX zIlsYQ^vEahHI$iMZ@g*jq#W={-W|_Adv>4S?D)lzI~xY?8}IbhX18s}cC2ovt?L$_ zQhQx*_L|uPCk+7D0jLEyd;{3~MHgeojD1b~S;7W>>d)Bm#PiujICiHYL+8BfFsH?$ z@RY91kApY4NZjd^5iCyV0XCe>d=`%JCDCMf=6fu%S(91JMW-A4zyja(DhLOk@-+<3 zli+ihq+h7}FbBrMc*-^ayvxftH784&%lNe|%W)iCcY2*Azuxr&q!{3+2JnPiyI`jN zJmq$Ir^DdH^xV`fhwzy`3~tQRB-sLkE5e2J!j~mu1jrwuq3W6{e;^u$8{v` z4H^dpI5{sz)Q1r#2I|8geHe;9jL0^chGlwD1YnNB$j=`7a|`gjHgeCTBlD|VQfTc? ze1fSw*2^#ohgum%;SZArV-Yi}E#sJTw~JF7Fq}71hgN&N`jYI9Vo)PY9VXaUn3)Yy zeee&e@7k?3)jRk#p3)ZZkWs%BcNKL1QT0t3?toT<>pIMoLSMT`^%Ad+3T~N2>b$fG zC+)lAJ~}j@p3Vb}^YfTn_tAU6k4=PQMgoi6`g=yMk1v$al6*)ot5~q1n z&mFPmwJhOasdpMFPXS`yi>?m8(WtCoRG4a%X^BNmq}#Uo(rNXSOxxr1Ebv29F)zwA zI;Gy?e2^)g1|6(>))%Y?%GpQ}irQ6PHg+ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-io-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-io-l1-1-0.a deleted file mode 100644 index 9f25dbf96135321bb4218ad6db02a99fb305d21c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6938 zcmeHMPmj|^6n}Acfi4tKMbWBMtt-I=HL1O1y+Nwbs!`Q)Y5*Z|oAs_|iHj3Qu>+}8 zRjVFQ4?V1U>ZwBg1pNq{IQO&g0if^Ac^6k&!)Mz0RZO#j2K}30l=Ams%HgrpJCyo?J%ds0)L;bq#P43d=k0C zAtP8nq6X|B9C7A{EU=l)Eao!&kv<333UZ5LB@trXrbFUNjhXIfMaBwen<8cIx z`TZfQ0DQ+wntnS;8do7o>t?kDZ27}uJ_^u-+`G%8aS&&1ay6Y1cVm7#%;wh(N2)ir9LF(Dr=4-ldwL4#2GFVjToAc+XvTbk;kH#d;m(!gb`;LU%%uXH zs#hs$pwW*SsDTD)py7v&z;4(LtLX&+f|`eZz!UJR*8mS|hwdX)kd*5_q%P}k^h+?^ ze?}Qb^Ig3Rqxo%3V8|oWmiSiqY#poWwNi}m7qOyV`)vA0k|*kej4%cq;(hU}4spD9 z0*>$8M4}7Z+fW>L@Eu&Ffy3JW&G9WU47^>U(cri?6MoP;F5#2rIHKW(7JmFOS z%@hL&)Pe4#{<`qbhaxu*%X=asARJ9F1`gxic<@M;2%b%OnkKmfB?#|IC6Ir~rR#v3mI-IcC-=mb1^Q}70qK8F;9ze zjv5!OnBONDRfaQu{`wj{9Uo_9S#G^*&x0^xAN4O8`2pr6qa}OsG0|Qw=Hw#`=>8P( z1QPZO&ruI`Rg%RDRU*7Gr5Q1AVu2iy93cQXKx*c5%#qPrAWL@XF);(4VXk6BH*?3g zXa!Q-5&CG&tB)-$?!4DW!mfAH#~SUgi;o1j9bRpHm^gm2OdsFK0&zFsZ%nIZF9lMG zSnzo*RmhDw6>_7MQ^@bQV9bgjp0@HXGlC4XeybwLq!^crAioylQiXhqZ~UYYq+ZUE zm5v_j{E?~S)|5K_s!~UG0xw=W7QTB+m9aIaGVFFv8NVT0W+`J&W7IO0@uSvnl``UD zTuvFk6ys85Tz(5>7=_Z z&Wa8Xv{iMP(P3Zfw<f-Nz?+=_ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-io-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-io-l1-1-1.a deleted file mode 100644 index fd60dbdf1894cf8fc5e9f64c8e6a2b0a2efe3898..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3478 zcmd5;L2uJA6nALNp;rfh>j0Gqpwu2L^5PJL2uBl9Jhtuc?a1i$I0a>wf!y!+ljc}+UB4QLMg`zD_pU)Rk%tNQ%PSkYy=LGiemR6kwxE03?8osXFgPMyNDq9tp|LlxQ^R$c zWeXgQ+thKwt(N238fRl?tpKOTb&J|)jN%4rqe0qegyTl!Ht^RBA`~Mu2Vo>r@b5E# zkClPHs{?7=!x+5P7(>3VPl~N4zMXInW_h%oH zUeO#>2vdat*2{MzYkau4#@og@qBZW}9^9dYL+xK{yv57FYK>Nd>sn9sL3>=Jag8@y z1DAQm9M^rq>Hhh46$2JfP42gtpIh8pMCC(1DG`o^6$680xWBinBCN9+rs*ZGzzNK* zasu&7oaV(mWz?GIyuo0ta%#z)00Gyks=_bqEIUVBk*{J0i_7M^EO)e9n7Fx6?pR?m zzT>u1vM%x!oidMcyqD^m8XKGia|fRF#`#Ax6qTbqCuCS$i2#GBYtN>-|+`&0cI z`I@G-<}(YJJaQg^RQ1dl&472QJd)=K9bpz`yu$BGyRTNHR*2tf7*SrihdnBE2B=6z z5l4PtUHp}E(HGFN{l-~_-QXG%HO&HAp5Xo<^2B+$k%H+Kzky0z+GfRmnzUFvC?{W|FY#>{{yf?Ky3g3 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a deleted file mode 100644 index d25acbe0d151b3f200b4b478da3ca9546ae4a22c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2806 zcmc&$!EVz)5S=6~g{lZt^}x|ca6vfOY3k&FP*6E=;1CJH32ExYo5sY6qu8aPrydaJ zegGfSui?N)P-b?$$tJOBIgqZD-O22;XZP*A9Y22QPrChA+b^ue<{r47>p9Iv!?GMX zW%ia;Yc{h7j>*1<57&vFsQ;IdMLF?b~5P%LI>v1MFK4mWA)FBr)mXGx{R46Zhg!HqFx zm{NZm>SPu4|3L-K{o0BOJUW$!ycN1|%oCHYobErWpr*s^@oH#YkFt#6Q_oX@#+##o zo2km2*EZv{y*%!aqXOLX{ZNto+?Uo(^1d%`PJ&aDIRw45e=-^dNqojP=)y+tOa*a8m-jwgT163bZ8&`$k94 zr9Mx4e1AQs`A?Y!c(A~^VFjX!VceP=A+Md!E6c26@X6LGSkH(HbKF7&Y7%CgkDF)IvbZHCc4+VSPpQ~q~xG549)@^^vCN{*>A^&VL&(^XdUvsr!{6`#Xa zR%;QM9LmZAnJOe(9D$xvm1ka6v_~?qpe4CiK6$kwwL<#JBahM&>yjJa5z6yS{#RWY Pevq-eLyYyCmIN9sAV>{M{b2Fc}#3en?=bdsTykTbv0ImXL{{dM13*bso9?Ne7(DD3< zJg#C%$F<+&vHAx99WVVUkF`etYmXS)V(gOv?+;jw2fWX={3d6Ioqf00VQ4(saF|nJ zUZ+k+Xvd=I9}e7Jj}fdppc`1j?{l`t`}^E0mzc+Q-NrHVY-TfyxeTA!<-pq9ZKl*D zZ1do*?;UjcM{b>ap8{i@ZjX&x@%;Uc$G7}$&*MSI-@oGromQveQvEi1V-Vjs33%JT z#|iV^(XH?%-SPnswvPt^@7DZ7-ro+~;6Ob)@e&%TR|hyPchGri0ET(Qpqe(!TYc^Z zoF3Jzb$VRk4D*)XJEl=Yfaturd(@~0MPIRZ9BXaMavUe0uUhL7Yn%5kA#njVGssU- zTZCf3j{;F2pXH&pQ*63{J02pgY(ni}u|60~fWZmjI`qKn6@`5UD+|~!J#B)eaO=uW zxaIM0pC%1Q!GT~{Tlr_db~P(1}wPeG}tAk|aw?1EjeicQZ0D7J7)!W;j446vJN zxqHeG+I4?Y^SO~e5KQ-Fb{t0YV{RNq^WlQPkavbt=x5=-MZA>DjKv7w5kqpBH-{e* zo>3c=2$Kbx=9J%EOM?CF>Dj+gDjDo|a7JFBVZg$y* zOAQyPNx!b@gj4m=av2Rdpq$#e;zWQiac0T#v6!p~S4T_Yy198*=Ej6OmO&U9L+Rt+uuf^L|k1)XbYYGDj_4K0wK zDaj&QqZwNGF&P(W;Wd25S+#J9m@#P+fX^jf&8t3M$G%gF^-+@sk!Rs=ET`~7B$-L> znw5&yr&Ez-s_0}26@8|$FHIHIwRTU7C|)woP|>|)T%@AskPT;5(IV)(;`vsKT+8cf zd1Xi~KjE1^S}BVmOPZfVv?x-Uj{oJd5kwWh$F+_Jm*>!*9=wAmqC@X@GDl05l4y`cEqgKNu>)l;4H~7Fn+f&X7}<$YRHaq z Wq(S6a_yNm!q#^yI|Iz72f&T%g{TOSdf;dzkT_stm&7$vg(Av<3sMenW#iONY}NUZ?b1qc=!tV5 zf(Pky@Gz8_@outiZJG-i$-Cp(Z#}!;&g}TvVUQii?>eu|s<=JZb3MoR4ouVGA-y%t z{a#m27CWJHg& zV;9cP@?fzL1e@kGK^)JsNTfkFiIQ0nP4HW(D_r4-K;Y-55r{Yn!cF*tPp9dJ)*uofoV(Hzo{*b{G^v zGlWO_Fu1Zud42~BE(n*<2cLHp_C6|GxGr7#;3!;A*$KDXj5|=cm#FO3;MBP4@#L*( zZsEyWbn=#d@>c3vuI1Qanu0w}(nwDFa}6+Qje`?qkanF*a&6r3PcWUwb`wV9&}hPF z{9!tvFJh)Dl4Is>8;AaZVcsY@j21C>TgV3qVcM|3c9S{BQ6H}#^}dUt&ob<&sQ2(R z9@7@^`p{2`O*PGbjQV}$ZjV-j>v}39g-*LJ>J?t^HQX|b^l_yVPU$!MT{IX#E!_tO z^Yf6kb>cnd`w-zM96K;B;?vnlY2k>gFio4>Ku$2bWlj*k#OX@(d#7CUtt?@%ig)TM zPXT7!mQ5Reqq4b5u<=~W9THBsJ1dO;M$5GwCg=wqH5KZ*T%&vH6^?(FF;ATd&YBel zD}r`Al7~9ESXGW?MWB=HqO-4>Us&NP6~;$QT#sAk8ttQxn5-V>sdW(#A0_QfSy@(9 uLs@v|m7L){(uo`DUj=piH^ZmQnR3klbQhGCCj^kvhVQ6Ves4CHQk}m6{>uOW diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-libraryloader-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-libraryloader-l1-2-0.a deleted file mode 100644 index 05f0e1e415fb63f69f534e11e75deded50a84964..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7814 zcmeHM-HzKt6h3iwTZon)wF^`#AcKn3N=>lS#2cil+Gt_nf}d4sMK6#h-nF+e^(Mh~ zY2X5_5JFslRDpzqcmTv(^g(zQ$~iM0dlK9E;lfeGj^vr~%xBN|%=gWi8NYGU4vzY_ zYH#b4!EBqBX&D`>qw5B*Qe$0jztf5z=+yw=MF8zLfX!b3p2b_bww@8!3$Fsub-@tV zOLqY1x^!DymwN!0dyMTdb~ki`kR7;@8?e2hY^o4%KN>m@eRtpU-H)+@pQX6ziVU_}gzdt9;JP0QJ9G!mdt)!U(+}{=<0lHM zm5MAB_R;8{Mu9iD|4HDWJ$;GEl)vkR_Mz{JM&pj`*}gB$P+aeL_Bd(`6H*qj(KHOp zvUGjNxRJ2Y`QaS04`8=~yyLk|XhiNf;`!o8hl5_ju_L<}!fSTn;7Q{U$8t_MC7eeu zywZ|Tlmu*Gztpe`hQzgHIpMa7aXS)s9W&cGI9V@KR7d?JtfM;Wq>lQ8I_kbzZ`O^5 zah8rA1)|m{kow@xs zv8q}r#BkdYL#mZ)lP`(ys0|8)(cnvrOP!l)#Qpvf-0zq;Mf1?BN$y)X9yldq*jP39 zo4gwsZBuWsUzcL8(0J!@U*gqN!6jN!>t&vBGC!SeVL=rrrdgrN?eiSZEyDOdcN_@E zz}W-GQUBrKfhggeo3J!}WC^O^))lHC`;tx5pw2#`&l#O?uw*=?q*Q<*k42=x-sO>yA(f2smvGE3n^~G({vCs%Eu*YqwgS(`b|F0lKr}XnGa%&EWw#%97NB$P#XW3H9)A zrI8ms5mHi;F}3x0ghI&0w-L3%|CxD8B#27h2a z=c^MvOq*jRnrNMAf`&{`KH065qKSLTeYpsjdNZ1(Cb<<5zz+(;m#8f$( zTIx(|B^qfis1YN(r#MC4%+ts{gL~KJdfkP>{?1wnS#%+ zv%e50IjSz+Dw6;J diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-libraryloader-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-libraryloader-l2-1-0.a deleted file mode 100644 index 0af2c3890dd532c4ab59599a69354b9450aa91e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3666 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 S;RiORtX}G48lbTMeEtC90(pM` diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-l2-1-0.a deleted file mode 100644 index 805324866dc38946922e57ff034c6a50e1d58ec9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6964 zcmeHL%Wl&^6un7W9t8?WfXW6LsYonHutVww386}*JT|BjAT~%-w{{vAJBe&p6c&gD zLM&ObKzs{JK7bWpzz49V+&kmPBxBRG3s)^2X&$+A?3uZ9&fJNw-m!wU?%k=I+Hf-F z4AU_6_Pn8KI`5K8O`B_(@dGPU05ArVJQo!yjsGHzsr`X5bcazvvs}y3m--sQx3VBXVGzKNYRAGQ+ zndc2>eRq7;w~g#fO;~T@Zk(efz{GyDzR9P7#RZxT&TA%S3hj0t>l3_OOSn`;a(~h$ zT+$w`Potp*RML4+&rdC+cqYUJ46m+>obfktJw?dsk?J{7XK~ zl6>xnIV&pR;Dql~lTHD8yc9(heqy7%C|J7ILLJi_7u-$}X1*!zGn%$CWq&x%9rPZz znl3YWTB9@Q2KK**IZu@a`j`<0BZ71~(g=C!T^2dgh(J5p!ofPyxRBw7B1{`GgM3`7 zHCo34V&3HA%w%4~!G|#>vEhopZC|5bpFU-_tTmZ)?;#e_n1Y!nu_c%-SWM5xe3l|Q z4O>%V4#+;_5e8xvaBtBF_>_n+S@cLO+yg_};cKOx7c&ww1fbD{b}nIy5}gUc(%`>E zQH9UgP;YcaH@)(7$KwvyLTgMd$hR$_g^%clowTqL^Mk4~wXh+L`!6j-`8Y)jZ}V}f z7KjJC)xrcZL%F{T9vxIY%n0I3dPuJX*i(fsSmv!dRfOV?{m{g%F*R`%A85OUG}3=G zsV4RkA8J7V8;AeD9`^X4u2`rc$6ngki7Y-e$J4?sRSQS)VK&tQor}AT4^^%Ok!dEPb_sXg>NvK`>pbBF=RWy%oO|;uZ5n?a5rV8iB=-0-> we`_LDjIKHph0?PRn$XA7#8IRmNfc^gFOfo=naU^i{~}T-tIkBBc9o`zzgt?Uk^lez diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-obsolete-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-localization-obsolete-l1-2-0.a deleted file mode 100644 index 6bcde9268a11bfbbcd871087db5886902ea250ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3698 zcmdT{L2uJA6n#?!l zcLqK~ocR&S1a@){AHWI|_#$3&JBO@Xwss5Bn@UjKTnCWr4-& z%w!J3d3zqPuIIROT^L?_G41lD*KtNcy!ZB<(?1?L$7l=ldjnS3{i;9eP0`VNiO;BA zzjqeb!pSieosVUjwv9*AvYt=Q$NhrGgYu>XaF4f^pcZ?lF>eu9t%1GkM2rQ#+m^C*DXk4x12cDeZ_Z7f#spFg^3aMB9N@i$(*+MYYr{yAy;!mvz zqxiDIG32GRNPlxbE@78eD#UOfQlw}lD?N$)qBTeeQ-+UNE`;4x;zIWZTxf4LGF-6n zT-InaP+2q=@V*qXPS&7Z4`j^Hx#w{~!c&!kn{X=ykROE0)01u$e;P08me9C=?()`k zBEQS8UWB9YD1uJh9raIyhR0sY)3nJsu!DP7u!HAi`@lE4pq$@7~T3*ZMB~X3Ivk*vraIet{I7(!pX@*HO z+!HBQ@jX)n2#bV;_;N&zVAUgRkz6lM5}T=Sa2h&p8p@E>L1CtlR*Fg diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-0.a deleted file mode 100644 index 080203d4cec2bd4ff5187ab0140d059ba9930623..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5122 zcmeHLPfyf96o0#26cJPm2alED#kgw=OIZ_RNJxk`@c{8)G8DFJD_wTe?h1I~V2CHf zNAV+Y@a#td-<#>Q({3w^i8UBr(wXV&uRAkue(z8B@k=|{bzexT3K+wBDo>pI8I9lU3L_YwU#KB``Q9oJT*n(3Dst57cm7s;q(`am!Lqxanftio`A8U@iwI zpUWOOR_}&&$r`)1v&8;!Q_Be2n-QxkH20q~*HvG=4R(yMl)X|>GU1XFET zEy5`F(~2;P?P?rDR!K`_Uv9Sve56$hG2CXv46QPs{*ma8<{%+V6+U8Hj%O3s-79dt zWh8M*a^1pnz#xTE``27w;ap2unl@R2H*o6;Zy@`UO%qY0jac)De{is5 zI`!nC04{GuQ-z;6C?nsL=U<_LvLu}BvRtxah`K=6DVN;lMmfggrJ^9uzbN87!{_fJ zo>QlTF=j5o*ssJwnjue)lN=GpemcD-PPU`W3kfcjODGrm`MB7>XdkPH`IL{dpM;P;}b!dD!m%BEDQ6ctw` zRCAP9IPVw7RCl@0RTy z_C8+us4^bvTXm~$nJueTshFZlO)C}4YJ@NBuK>Urfbkc=@*exw=c;efm5hIxE(+liy=yB$9cj!G~{W_zc&G17m2iD_u=f7h1Hh^;Z10G-?IV828944^H|&hAX4m6(z)6MJ)e&lE zy#JZiohK(jP#eaEon_H=)3huLExLuKF2epw=h-DRYJgS=ZC8|*p%(DdK$NqS3bglY z9XqhIA);mn+AnGczCQ&9XM}U;gPY9=`wAA8uwQD}0W-pFMRLNeX5+Ra+$I*TYH(3~ zlq0jMu3trFRf$Ud3On)9)j&*2QTGU-} z7DmxuISZrcZb@KBE8`*5uh82vR+USc7@;$=jB@Gy@sEU0)CL8@81M+wV%9UV_1+w| z-ZGmhTeol?UZ>8((*JGi4bcruu2OHXU+bZb&^+sGJ;JNGf{VGM)<fJ8gs(w324OYO4SJ6U$5J9}ZA{ZN$O70Pv@6*_`X!wvL0xTRpHuu0 z;K#|VF_c*<@RnqZ`R-7AH|1h+3 z$|_*a=u2?zSJpymK^M*v9}%zpGfMTzsT-B z4>6GpNBrXD2lRA)p2(8YWzCL?ERWih)_4U=(we2^(z~GzE54hWEvG#Us5%t>1VYOf z+M*WlE$L4ZUlB=!2FCaz#!53Udn9`ZK&?x@T*DFtS_h=0CZ1(tz|UAn?-jH5kVSBf zyo_LhH6sg}X%?KL0;aK`7g`2oMY6zC+RbCZH+o!(1<&-jm<1a+zIj=2333ht_`OAD z#Jkvk3JD{2#IsBc_#F#5qnFgk0~B!Ti#f72BS-4;TwSTqspG;^gez>!ku{w2c{#ES zljq;X<^_363JEVhlmd|&fEOpJ5lb>m>Y-3C(VUS1jkK5e0awmxUSeNaU5oS*kCb-v zyhNbKrM$$qdR)wab)4OK8L$M}Yn_Gm4sV7wpRgcSCDs`5E2i2}ODgEAiu4FKXXJyK z+^j|(;S6nL8Xq1gc2p!E4wQED_|Vtm;z^9o4qxkWF(2rTVqQL!0dE$SThc||C6Py@ zknrHT6o}M-A2A;vtt7yNtVqjm%xL)+=LIo`k^u3IZfyDg=Dc8#Eo9x)V{41dgjvoD zIirthk)@tOcT4pdInqdbhl}0PX3UXmXw&n0hZ1ol^^eqIbAxt`6cR5Xu6?BtS^o=` zbfb<*ko}Pcg<#XCzsiW*Mirgy=ly>v>N~d~UYOnO29v8FW oZJgzK*#MCFm+C@$i+4iXPZ)74lu%~CZq9>f zd*O~Z3I#g%+pch%A__O@%KX^)!@a~CjRe642|XaX!#EIwU@(l|i^vgiv|IR ze&G3kb|iQmbR#buyba@Y*Na~AJV1zWFcQYDSG`^ko6v@i=V8+IV&8-|cKJ!q-%RU6 zwR)3Q&9QCQbuG(n7pvwUUc!X~XqNzPvNZ?wG}uqso?Kb5(W(1h>P?1l&l+qT*Ef^o z92guBE~FPOHx(A?1XY}uUe>@?xK-sR+`?pBOW~H$STx{NziN?XwLwxtmeq)5HOaDC zdex z$>Pg#o5QY3X(EPWM$D*`9*n;vyQ49v5T*=USkFe=%=P~CTyNXWe1}q8cX1tV(d41} zx4GWnX<)TTv%z^SWgMY(HgR3y^;W~>+R^)!O*mzrZWqu|0jg;isBnC)vo#IV`@HWW z91F7sdTD=mXIpxhYh#h7kDP%TIJ!~|6km#IQS{wL&iRZ!7_691Eh!YB&$X<|@C}Vw zWSkl5E3vUOSY+qrl2$|4*JTdMM_gV^{aDWGi*}qx*x$)`PK^cjl(_`=er+$L5lrQv z$PxM8Ppj9&!M3zvh63T_C8JFvezGDqBAIvyc&1(sb7a2zR@QaU69@5>>QQ<4B zviWqu?4xldBd?+*87~anNx~?p*qettOsXGJ;)QXWp(EL!wWrR z9Ln`@8`t?)^-u!CAvxpGzp95jIDaaI9&G90x(uJNHGH*HgQ;T%|2%~j>?yTyksD|^ f<@TTdx8z#*o!kIm{002)bA$1#r5em#Gtk2i;xg}W diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-memory-l1-1-3.a deleted file mode 100644 index f620651e257e7f9d0d0225512284fb161c27e965..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5298 zcmeHL%}>-o6o31HBH{-LF+>xs25;`#E=$>iF%S~s#kh&ebtv1y7P=p4i$G!w@jyIy z;N*dL^bg@L@XzrmzBkj4Dcdf)2Wv>2q%+euzxGYv{C@Lh_wftEZM9!cJy()NThw$- zR~t)pMN#>XTq{a_5eInLm;wO2ig=ZO0Zguo>t-8(uG=5PHFF9ubIRB%WA8o7^;pyL zEtjqKOpEQ?U88R^G#)f`rq`KcZ_*Xmu`zr5p3(0!f^|H4fVFzA#X44}=N>XgV;Wmv z2E!M1EMRTRF#oP6Shrn&&v2S<&$n9sn%nEF^!vb=-RZORvB0|GIK5UXJ~8sv^6}j* z%k$O^$2M0D$9ZSC+m`PIPKE&9^sVli?O3ldWOjEu=`3T=w2VW)+KY&g#Q;rJbzN5! zz0rsmU>;vX5&$#`0C#wA0;;}s;PZZVr9g9|Y8t+g4dElp&^)Vddfp{4I3k=)FPyK3 z*h%b^ab9v+1~tSjhIYbDXXBPa+&p$>Q*hyU*dkLa9j}5+tq@Zyf~gfpt7w&ls_8fg ztZv~V1rPi_2iPub8M~n&u*-2Ix1|fd2`0y|n1zwzSIWXju`6>7MI~8+`0}_-;83ZM ziQzFLW|Rs~k}nDF$Ojd|6k!MJeD(+8dV376H`I8y3%Rc2I^3nnL-}8Gy~d}3)hx{h z=QS5_gw{EY>mgolC0wK(c|7bBF6>`yr_oRXs%aM}@%Y^0y-}Fn=6g57v2fPFmfzm% z?g|U%S|ZZ)kvXV=M^~tU;!81&i@e*2IS=TAgF~iMO9};O^IB9z_=%l7vQ~cj@>DDf zLS&calBF6Zl;AXB9$)7{`GU(!M~gIl(T?*B$2S6=Q=@=7VlKhGU)l@FLs~hCb40ZF z)9TgH*^cBFVq7AZP%iY-ago00JC+giDIKSW^P0oXs{j+)@QcsRpVHmQNoOV diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-ansi-l1-1-0.a deleted file mode 100644 index 9b112fc9ab312cbaca92ebbf6c1fe8164cd797c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4534 zcmdT{%Wl&^6uo(rM=1|M7c4+Bs7MImU{|RdqzV;fLB#?^LI@T}Q@3`Asgqc-`w(JL zA=Cw8(M3OkFJRp-K`i(V%Dpoldy?2qx-sfVp1Hnr>>1xVXYTmkiapruJez%@4Ht9C zv`ourSWh+0;9Y91X?4?zA6TCSfJ*?SKLFL=Xtu<43}4uFfpuKlDP}}?YkScvnoSF5^BfrSx&a$;zHn2>n%#4J_jP1P2|Bl1?P&U* z+l!k0Zm^Bp`lTgm)&c~?MPnI}uZB4_lEL_%Qqn@m-b8rEd7htsnaGhH-P>bBX zh}-#<2Cem)V@GyAg!imM>$tWNh7(}0PdJZWxKNi^Bpp<7UTRqdL*kaCpKx>exMhiZ zjK+KhPWHt3Ux6;as8HpLX7JmmMHD#H;P zBL}X`Q&^FzqrAg)U{0xnx_agkI{1zun4|+o;ZKn|=qcl#rh~m~+?Wo&WaAPY+`%18#wC-9Do{E90J51IuK)l5 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-ansi-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-ansi-l1-1-1.a deleted file mode 100644 index cf45466d72b25e94fbcdfc1d4278dc5c8dd28995..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2762 zcmc&$!EVz)5S_#=g{TMwJ#aJPa_e#f_}ch7tTTu)6fsL;}Hga9KWa4 z3~@DYL5OIUh&5wyx(LUay--oDi>B*1p68in*D0bIe7}PM1?V>b9x>qZoeMaRk%Y`4k~bJ zT=mEXYnEEb28-BWt=M1@8?4y1@Mi~cj1%lh6o>i5-`4A zESq&0EsjPVMvEb)3HqYwlqHWd$8Q&h{(|Ay5kri|%koR|C-Ol;m?kW--EJ;2_oth4 zzt@&Gi)oHpiu)d($3xl#UM%`qv8kf@hum)~cL%f@T-TGFD|Fsf+*f$L*Kn&`(#Mrf zIHj-m`)DwLTDlbsj?aD8Hevjf?@5HCFneHN-l~TvZ@VqnjLgD(fmSzE7h7FVv=gyD&J@yR8zlJ z<2<#lN2t8ZG0KKJzPf%+PnVa4P1n{w0C0$yNIoSy@1Z8yEt!muc^>Nb8@V-ZRvyq} z$aMztOyFpd2b?AAOi@FWg(FbPAKojSyj+o7A%4N3Mdr_A)JW)Fkd_zxESo0$KxJ*m KmES?z%(_3dpx=f7 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-1-0.a deleted file mode 100644 index 04822e149c6a5ba345698a65bbbaef1a4ca761ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10286 zcmeHN&u`pB6n^n0X%mGXDrpp(G z-r%V9#^P&cI@#N{V>{N4Q#VbEosvt_tZ(yU(>z!NfE9qsCcyj#z`_%rm(Bqwzwi^! zSAGYeeDyb;SN{Z{d~KQM>-byBH(ud+9oy?0uG?_k_lN#q=|mu>{vB>kA_~q?-Hy#q#w9Py@BrrUe|B-+kM~d*skqbuIJ*lx<0rq z-)sKsoxy#t9llFr*vB#42iI+P`|gPGy@3}Dy`uytV5qUymQi^R^j^mi7v%4*%b+Fic zJda`lxHE&AV68c*h5l*C+S!E(`vlwg@GsoUZWDs`Qm(+D-q<@0Rel)T$k`F6c7|DOL3`3qtC*fn}yE!~nnaRX3 zzY#ksGwbP#h$HHQ5@8JJVp-bSxX3u)D$e;GJBbbv=N-HkFVX~H_P^#lMk<~#^f1n^ z3ZBrt)^T3IQj%0*Gm`wgG=&T~f#{O=e7GLkrU`lUiP6 zsoS;`SuQcpe1SKa9>{bmqqXN2p8r6wohlQof{_IyfwU@854v=gM2t8R&^_G3&W@#i zA;G00%MN1tdR(kBn#UeuKGEZxXk1sYaaUj>8_xLYGq%8<-2274n}OH$A;}te!+6g?71|?0ZP}&RxzD8>W=z*DI~`^Q^3ucZ7v11AfIa&jVaAxv0`rbGw*o zHq~dVuL`Kc3%x3Ly0;(5H&lPbah>7y>=%k;jL<==i~C73v) zC>ii2Hl^8e0mz2Zd2biuece_g!NnJeg!jvMUnk}Lj9`NF4~D7UTU-@1PoluBi1=6= z@Ew-QpEG0yNRBA~ZIgAO1H3={fhT((k@scppXdNtG5Qak|Gy4KXDoD}m`jQWe*-|e B!6yI! diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namedpipe-l1-2-1.a deleted file mode 100644 index a63de1481f0ad0eeb917c5730ee22e5fd8e07710..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3602 zcmdT{L2uJA6n__k`IPM29-m~M@S(2?B2*OhB*XJ*>{rr7?&ZA9#vfqDhKC`mLU2{Fx zb2?tfvK-N+*Ot|8x6%i8O#rw7P&)-^oB%BTlt1$vz&vMco3S@BpTw-o6Fy17KXg-h)Dk^1#m($L1G@d>8Kv0jGJVrZ0MwD>gyh9Z+KX^che z7O=~xm10EPh#f}lN%ke_KN^DyVd^l%x-#XOg7f|PIp1;RS!7wersBMZdvTW*0F8gm z`IeXlR?9RSoY(!7C$!f^oL6|g)o@b{>HW$koU$*sOXx6wYB~)J5ue+_nuqOuajYU7 zi(n4)lK#ihf%FKzWg<6AoUyA9h=%b0dTE`Y*J{99UH7{b{PKr@JT=Ch3IABllHk2>5 z{QW`jkH(aoyoHwJwB#?nBW1Fd$!S<4pKCymp~x(d@?S)YM!=_JW|?ITg{TNrdf;dzkb1zzjuIzG6^fJ#2ZVA#T#z(r*@&}@|5$?Rv(?zi9U5WLbi-%ei|`!p7uTFbyyr7 z(O3F$2P> z!)IVDN>aAw45H;(ZqExU>o{~B$MZbX^xk$04uc;LkVb&R2EY?;ZG)YMr#ZLlI}=7@ zJMeSA9>Qk^FuJmjvg{TZTo5jz7ryK$>_arRa9w&EfTM6-k%GH_0*QZX2imf#JN7I*i7v@=N3|ib0JqO-QicSoXC@^V9#(eBTxK zh-r>nO7k9`#Z%e6RCDvW$C%DR#|p9GvD!$sZ>{G8Qo8> zasG=`I}Ii{cdRT}3A9_0B2=}DRmCVO0i9t7gH5!!u)>upOCK?5HLl1q+Q$Gf=hZk* zt!odB_Y$LgxZ|s9e!*T|u6(++R_<|%^hYs;CLf_CG%fUtKV|mmw;F{tZq^#mIpmcE zr2aWu6ak+Sm1R{ml!r4=${M~`I(e}ou|oWph8~eM&(NYqw}J2+@ZX|q!cR2Tc3kW-jsA5sE z=%U}if(2jEFF`E$4$8fDoOs%#oo-T9!cy!z*T-Y$`W#>9(Mvb%^_OR#8I#3cvK`y8 zI_4Wnf{$$+(40Js5A`2$e@jb>Lqw>AOjxpP1dW2=mPhvM^ zJO0QGe1^{5j>DW58~E$=Bz|nX@lNCh0VCKjq5-To4mlgSLmmZgk27}^`D|b_n_0|d z_=iIdtj}GqoEhPLz(?KC|K!H}om$i@V9Xx|EWd9xml*W}p%C-B{Sgl>yzg zhUdm^F+}vNK=-Jz9!2NCV2^M<{o&)5!XoLQj_cCP3Rnuar2K@NE5@}IZV`?79GvP` zEppKuMkaF6BrcjM7fs@#Ij~LJv>M)EfCCyE{(vU~{~iN;tZcYj%8~f>c+&K>6Kf!t z9?NPGMvG&u2&2WYE-)0G$&$ob#BT<>YL!Bah#fJcR(U%4C&@3Gg9>4)5Mo{KNg%l2 zpPu`jrab2iV{KM(-@*O3M=t^O%jSMlECZ`~S`DsiA>j(`cOLf@UT-yAswKT&*@RQ} z$#xDMHK3YKg_?-ZZDCEr_`W!$5spQ$2R7pV_Gn9b1m`9qO)pu3DnxXpDk#1b)2!&H zk6iO9od~dEJhh}$fI!r;s=_Zc%FIufpts1v(iEaQH`hGZbIo-Tq;I(0bg9VG8=XXp z*uR$Wo*DzJDRT|x2JMWb8S=_rmP69qK)cz($u_llA;V4Nnhs*(d|awGdJoE}U-EH| zTGs*^Zxf92;Ts${P zGIc02kx+&`oibWY?G`4Laex6iPZ?gq7HY~=#z>p@EM@HG<4!5#Yd$XBc4EXul~IAB z+qGoXRaM6Wj0KfU9WSIq)K&O_ZPA-ceH8YV_$8Go#F|ne**B=S|6d`=d7CPPSaDH> kD4yhfXI|y}@i5UtrjX^tLroQaVqN?Nt!pGNGG*qGf6OW%wg3PC diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namespace-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-namespace-l1-1-0.a deleted file mode 100644 index 14da17ea5ad7e16498d89ea8f7e1d7f1832d9f30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7078 zcmeHL&2AJ&5U$;|`LPT{h)5R7&me)6Lw1=lyJI`Dkcq7bE?|j79NS~hnBB0uvzi&e zNRfqdKsj*mkqZYDMR^S#f+yht0#*Gp)5~YgjBL9)}m zId|O|FJ8yOkk@*KzID!q1`&WbNz*qQ@?^8oc%0JARv&b$}T{22gxE_^4Ri$4L- z^JP~&3;O^I`;4tK_DdQiDcg*)C}Hby7_q0lVKC}36z(ni%x|-PZ<`(|$0m%Qrom{$ z2sTLR1-26>5gP`BC>;em5$k)*V=fCA{?{M^){TPjUpEH#M$vFH={*Uu=&l;d17NH- z7%{VMBkJSCe~cdw!ytLK5v4mxZZ@JI=yT=ylJ zZhT^&V7edcHjL)Oh7F_nZ-!&YGvh`2nEP%PRgIbz!~I6l(WqS;{}cI(Y)~Og9R^re zwnNSFnD0&>^UI#tlO1PkPQ|>BYw-n50A~K{m|x_>!0Hl>2FJA^cX|3iI2Il`u$y%s4<88$kGC;T(ZP5o0cKgo9PIQ%fubkkjJ*I=sWSqQqGl%{a?a7fXjz?Xb+Uw78;Wmebrb zf8Zk1vB$(R+Izl7{g#Y&Y8-H<%q*A*v|W)bn9B1aW8|5D*07Dne%0(kfg8&#%ZSO$ zxSVA)k2S>Xn{mDx*8+BKON^4?jNg9X8|=YBAuD>bmU9xtAlVghc@}#ju0;&f`!brf zY)+;d<$MFWA9;2G$pP*$vVd=i>{4V7CE;EeV-BA$t-ctM7$E>z7tFbgJu0*#2ubcD zE_sc$`2;xWbXXDlMDF3NXivwA8)a6!L}whvicm%hHC3`=sM(#wiaj%~#ERd|xO~aK z!ucJQ6*FKx?DL2^uFUuveLChgDlSI~J#7M;kvY@j^Ejai%(9 zN5PKI$sTnXBjv9x4~}*A_(pP}V8_idcKnsI!!&c9A4YxU4DqI8$jPmPud+C1<=@Bh z{P8)rjvAQ1Q~uv?9p+g}W|+U~R?Z4{I##sHr>X-Ck;85sUG219<*g&p>`uCM{AR|L xZXGYoxSSQVS043L1u)?=JpSKtX2-XD57AFnYf?f@9sb68!t4b_CIKqq$wy5l(Sra0 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-normalization-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-normalization-l1-1-0.a deleted file mode 100644 index 2446d347997a4d89110b056563f5091c032d3661..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6090 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 B{K^0T diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processenvironment-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processenvironment-l1-1-0.a deleted file mode 100644 index 7bcf4de975c5d89389ad338b4daefb1d41518ca8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16454 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-2.a deleted file mode 100644 index e885e26d804994554f1eac1eab7619bf29f50229..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3670 zcmeHK&2G~`5T3*-l(YzhdO(PSk>G;rV28ws5JC|>z%dfyym4cfSWV){HcEP{IP}D! z&%mM2(I??iC^NfWd);Q+axoHOr0kAozx|v2W@q#4trw3c@0zd7vN&DGbzHme_Ds{} zO=@YHue+VB!>9=WcK~W<0F562n~%hAs{^prVQi1F&q)v`Y#5|L%=RKbV9RjsEkcII zRo`W9hfTwM`ek;k{AihYiv=UtETIl;9K``!#L+lNl5`RWo}aL(!yMLT9>W1=0k8>L ztCyii*Ohj{ZR>G8iQ7eGXAMra%Nki_%@PY)Wf7~aGOMhqV>wp4+^WgRJAP z3xF@R1Mg58GP~+en%=my27;-+tm`m}9}OKw@nM5w$U9}p{LKBgflWqDi{ZW_h8VS% zH`7*HBq1E8J9%o#k z^Ipe&iC1d{m&cOYE_K35{c^pH1_P+1TfyM|xzDxRFn+@CTZE%<_P{|p`8q!o7S6en zr)iTFLYVVxWoIV8^wbebKUY_7}; z1+J89`iNPr$K~-x`=FfqZ9UGF>w1F9#|$HFxa0GS7xZ;{TG$G$rhQ!qM$+7ZrT0)1 zEEkNXF*0r|Ii99Bu4W)meaZ6;WD&u=Ml)b9k#CAzA}!n#r8weyCI*NVi523@5G^8( zo}xxV_k*y!;oqXD!x<{Nm(%s{sw(4=G7^sv`+tPc$q91jueM4e1VHyz{`Vt9w{sC8 K+SUsH8~p}eAdQ3o diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processthreads-l1-1-3.a deleted file mode 100644 index 4a68e2e17ec7d9f46660683554e6690342136e8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10558 zcmeHNPj4GV6o0mpw24|#iK=Q*p^GRSP;I=ivoWYb5vc^dMG9QFOg7myHuXR4Zj>M) zRB?zn^pGP*!~t>OBXH=4;LImMl=o(KXJ=<;olOw7j6Bl(@w_)X^WMJSy!SSF`>`7w z^*-MCz{(bT%XVz1+1a)&tI0`fYgwIkJ6>?G0RVRZYUcoJF96p667{A9K=sxqqQ3qm z0M$E@sP}#ZpnCszQ6KyPK=mDb9M$*Upvu@TV_$@R5VAc#@&mRz_I!5IAGwo0!^zW* z!<;r7^be`V^VoUglhB<^7_kjQTELFRfzKwv_{a~#s2BLI7qWrPY}R5f!v_w1U_G3j z&5p3|N1yXk?E3@%DDu7C$uZ7_z*v7cVTEK#cPN8NESbh8T#v~46X13Ga0rtl+uSvIEV8Z!4K6 zz8l4S+X>$z9NaeWCG@06{MUzJ9r0f${MRQL{MQF|-LAJ9-e7_hP%J&Vpu1UxU6uxg%)@Q+b~H5a}D}ZMJcLQUL7r1HpTrx3>pl)Xi+Pecl=$VVcj?zT#>e@xUK|H~SCB?``VuH6-_yv235lwO}Nz|z`%wto8Y?nhwE02&L@Zz}0iyXu^D|NH< zB3~=}PV*v>nJ?!>zBBVlgxp2>F6%|ErFNob!wc;}?r{{T=#Z*JN)>*>R-!|dT7yQ0 zG#6YrC2^r<@*=ug;^N`I!o?a{h~euDMI?*rHOPZfNxgwatI%lVEoGoOsF-a^b= zHY2YRE{gu%jL%!-4CDb_B3RN4WQYG2O%;B_!4&BwN{ZAopIpQ)hn3bcOQ-iNAd~;T zdles2A!{+@q>GG^GFiG=Y6%a6M&^TzW;tXmvvhs|79ry*SvtQ*&AIAAdyq0&dWsG` O4d?$KS4^H^r1cNp_CvS; diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processtopology-obsolete-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-processtopology-obsolete-l1-1-0.a deleted file mode 100644 index 0b44ad2473e7c81a05a441de6860709811248696..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4602 zcmeHL&2G~`5T3*-Kc)N}dZ^%HB)H*VM~)jLgo=8A3sNNDym4!%F?Hf7HfoCys(L^i zIP@tvA)cX+z@s1@pk-#)cGm5>O)s%3v66SUv)}H{&dj&7>BHylWOMLh@u^-cR@-tc z$Lu)Iblv1ba;@ujtCLRXEdsy|fZ88`#xZse#CPil0DX6U)5q94WA9^s60@$K_!G7s zc|O|-M(#LZDBSHh%&}P*Y|xj=vGJmv*d31Bn&rjiWHy+GEj1 z9EG?r3oT|bler9+9{RurzU$3(RW5ICD)MF^^iX*9~ zs0Lr1H>YIK3*2GSjBJM zrspPZIfRd_LHDS+5yuz6V4rXSE%?aJuo!^QK)vL$24;q9XL7L?Q-{x3S9LoO8wQtP zL&p}kpsx28Gd4KrnR|2`XjILH7FPqSWzq)qT1lgZJg;IyhL>9jr*>ZoCY(G^?l0jV z8cB$=8PE$Gl+D9(hjP!Kg~3G1|bjIxY-A3Uzp+w8L5MqM2*WiNat8X%ojDz$@E&m z4rSMX#OI|D#p|r1v+MC!DQ7uViA*%jGMR*1p};GCUh=-sNN9+!P?QK>-Nzmkx-WzzHxZZo#9I9pJMW!V4L2!I zagJCsa-=QiDZ!ENXqt;S;-zsz%{)0WlJ-51BfDzc8IByNad`kxY+RNjHHsG1Gn_}$ z)#b?p)St?fCmkW+bsc_TTXOQ8C@Qm5%oOuKQ^I`zxiAHw09Lk9o= diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-profile-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-profile-l1-1-0.a deleted file mode 100644 index 367a07ac4bdc2067dad65167096d910e069815e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3624 zcmeHK!EVz)5S_#+g|r9`Js^aT5#>gLO;a}@R7I+UIEDk~ts8Gh)FcjeqPDk+0|&&R zAArPxAL%FXA$$X6X4Y$OQk#YYK}d|0-SOx!bPidQNl4 zwQYxo%+|KI8ja+J{VD)l11Nn4sC)!i{jPp%>i}!(LhK3gCYDhw+HxWzu@?qX9Q8;3 zxGykx-1LOk5QF{!{gOC#L3kAV1&1dPJ1Rroq(3&NHTkNeseIk!1>=!pSwD;?QKkII3orEQ{(|K&yc(XTfsd~(D?GsM>^F1EJU;(vs4p^L@o9r#Z^&TIu2uEYy zKzGucj))j&%(j_K(@QQv51d`42g)zyG&A$OQER@W5C&_mQ%@QN=yR)@GJHd4DTQT8 z5@UtM4w}m{yQ-e-Y?<|BmDBPGH<${3p2FzVd5q&h!gT6va2Bj5c>WvbAKO13krS#bJ6z!e*n6)AZKmY6E62=_!a&m4vfKGo+EMZfFc=Vn#Xq&cpz< zBDF&N=EI0m&VBUA=tNMFUA|UL8NQ-3{}r_O_tR2Ts45Wa!&y)t+eQWYuaAUbsXp%F up8u{sF0({`4J%&#tNNg`f-KX=a~0sW3}3LH*N1-d{C^ke=raELRDS|_s(VoY diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-psapi-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-psapi-ansi-l1-1-0.a deleted file mode 100644 index ac268c6a44b937397c4525589813f11b7f821ec2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3626 zcmdT{O>fgc5S_#+g|r9`JyeK;kpOYP!A?^*pb8Z#J|qO{h4aR(oyOGpQ0%HXp^5|I zfKbmIIPgpQEBGlKDKooXd)?S1Jz&I0*&WY5d+pixb~d**o$+4pas7dwHEZ3nE!%8w zv~}I&Lu#w*YprH{L#GY^mjEhX0cu|W7JrK0(h9)R3S--hy$!u_$acKQ8?)`9>#-w$ z;Ea5R!AaX@c8dl6F8$&-cJA;fbVegauzpB4u)X2fV@NzU827T4(mp!Tmh z-{h}>4Q_>;^Q$pWXsz=&FY#)x;1Ug~wau4wh`Eo>U4zdw{em{6M#?%2KY* zLKDprVw+W4HrDVMkkpn%o}SOR%vAdGbVj?+eH?dVzEh`zIcIIbTA=KUG((;pr!^y~ z1+Z(RXYi=0iTtmhW`~otH62#_)?z&+gFG$w?YZy-MLp zLNJl$7VNx&o?y3NGCd>av{KV)dTqMufSOBQV<1)n&l=5ucZnL4)(;usnaJpee={*a zypecAJpExr=;tPSWVA1c$RmC&nksxpM?DSAe}*bchg5~QI?Q?1A5&%vBlotTTF9S^M%IEk;0D4Y+lF!+%0Q5|KqeqA( zAs+h9z!xh{;0(l)XFFoc?OA{ZSgf1+B@98=q+Ky%a(ShLJZ2h(qtPH$$$M^3$U2pLGZm;Em5N@|G@>-?+zGrWC z9D)zJR^WQQM6YzK+Uu6vaUS3rm$x5f^io^ZUNB+px!SZ?hXN%JJg?l4jd~ zX0HV`FXB!fXAE68O;gj%=KPQ|_U;j+4M4L5aGGo5Pz#*xfb0301}m#I+X}3F2)8W4 z%IDge@9zVH9m2Wv!kI>doxsW%&Pz>;phvj5$WFKu`MCKAH-nX_3|!P6mB`>~*RLX{ ztHkLlbGq6wszz0>*_{sIYAxLOu*3Hs08dISYa=p*cGZtGY~`1+38wn6oQF~TSINUD zz8hlrK6$;<}0Z zaE2xiV~5T4I!^<$DVhz=YdYiz?Q<5_BfMHFxS@8`_NY#{sQzn-7Y9`6`ruQb!u~nQ zwo#bg=3`#IlUW0;puO4KkQU}z!qc?K0@T3Xm1-dWl27BLo;GsMDSa?FVmg(iP}Dl- zGAqLutQ2s;6(TQIm#<@Lu*CMeN#6npXcSj~`sBUC%9#DH z4BRP6>R~Kah%zc6KhhETzoLxv%GLij8LfZ*kC&p1`hR5{k}}E(WvKr;|1D*xD^DvU z(ORf7jM0=)pG!qkZ}6bqFPd7FhcTbYMMhIkm2rO;O$FJw)SdA%8#j!mrcqr7jiyQo zWyIfBC<6IgBPoh1DaDc0&_!r1!+XpR{;dyV z$E{>R*qThey&%RfdKpD;6DRTdzBAeLUXx?Nu9F1e1Q-j(5i13KQ+BozKsVm^lUA5* zY0+LE>@Y-4onOl+7BzEv_v=EAfsJt`|2t47OXYlQ_i?KC%gev(`== zUjl<;!UZ(py|%zFn z(V3Mr&OClgIHc7IF+6sZAzJP6>?G+EtwBPVI=siW(i5Obx$j>g_j^`vF86KRkK6PS z(D>WA|CGCd%^G=we%(oPh4y<bTSiC-sZ{DjGDPmQDqY$LA*3%4EFH zk7tCV@a%zM;(wSN2n)}-nMl(|R=^4#UBL>9FU2$$_4E-w&+&wVWyVuaOa%yeE1Ej| zLZ!mOR4LtvZLx`B3CdksX}Zr9wq55T`ih%PSBOPyqjP8-$D=gssnfwMS!u8`C?_PX zut<*c3X)X@+RHXB_DNY6a@DMDvUZogm!!JHNzfVu6 zr@1ZHYUS=CJU7V?k*_yU6ZtN3o90WiT&ectiZ)-1K#eP}JdkpON03&)w?yU1tBSPn zsLU{me?Mh|@JM)wH%hb!M#)-3Cxx)QLrqE@zN1>|nstR6S%sYCRg3e;EX$+Le;(nU z3#w!{z>G%^aO|o)0w{5{#(63K{#715MBhnr9u0(nw{`f2eTgUt7L@^3_YYa~5AvV7 A0ssI2 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-0.a deleted file mode 100644 index 5bf499972bfd50c73a9fa681f17213818bdc8575..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2778 zcmcgu&2G~`5T3*>g{TM)J#Ydel^Zs8l{!X3C{izQ3lcqVoO)ZEIzO@G#t?FAg#u zejea?((x$&iu(b^;{J%O0fdtu7r8y06TFI9*Ks@#N%h`KrcJZk2&a#bTmZiY@Jx8S zVCVcQ7yjzOgihBEgFILb5i4!z+}OP=+W>=W!o~E1hfRfjjLr`3OSd*S3U{pHgxg<@ zYbo3zItLXvwXSAVhSkq3RE9;$u#_^a#I;<@vBM+*`#er~@xb3(fQ#CBaH#@CT<4L} z8h3INOy{t^3ZwC7tiovAVX0s)Vr9_^eg$v4xU>c%I3r~kHDYbqCX6{Lt$HN2 zNB^OA-@yw;SgCdo-^6p;K3*&OTN0s);Q`ftq|zPGZg5{O3YE~Cu2Q?g>$8TNSC77~ ze8MUJ?!1oy18Agsz!3aA72bWc9*MgW;b=lPaGpow!KI7{wJk7BhulIv2zF&X5WmD} zY5IL5_qrPVBZbvWG<#LVy&Q{%3x zF}j=H;(AnQohB2Udv+A;0NRa68LI5M>=g43KyR>#$xbCLLKpEHEv#GbdEM+ zrqwu4?dv5vp9+kM;fZf<-_W<&tc>a2nwF0+QX=J->U@HpRJT+zel6-yzu#yJ#&XXA zolntWpr{1F9A&_#WQQrchl&U`7V1Zwn^YioBzK7a-!LNU=M{QnbT7zAo4yuShhONe MIsL|eMBAyxe@=SosQ>@~ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-1.a deleted file mode 100644 index 11ddaa64428d148f8e3a5140231dfa313449ef73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4510 zcmdT{%Wl&^6uo(rM=6g*1uPIUQej1c9i?uNP*tfL*q|WM^~8y%#I5s??b5PA6^jZX z7F{5|fKT89`VEM0;4>)q&Ulh>Z8zxxBPPnsEr?Z@`&vG5R>k0P8(QEXl9q^tPq94o~jM;3QK+JkW=6L!^ebU4u z;PzbJjp`${%XzzNnWk;qhG9RIyKNYqMfd0uZZJTr1aMRI7N8#SgGluAD+Ah{y6Z$v zK17UcK>MWL4Z|5QI3%1$FI;IVEYc3D=$BqLz*M+ZWhdNHK5k9nRBR19)8*9E*!%yAyeW-7HK93*xeG2fVwC(IFLu}XMNYhr%%uO&ohUGkr7Qad! zMvGllU??id6317>Z2^ZWrCf}N88M?$qNt?{%|V4QW$>{s>I@KU?`N=mEqRtHwztgb zS*F--<4)Wn_o4c)+1?OtV6{x%pkH@mme5XTv0dTyR>MuyqmQdT;Z*-@yM%@cP)+AR zMa1X2=*`3RzBr!|jz#bWwxj;ua93Ic+Y*tcMHZk35nZVViZ8`h;~qk6Bp)P0uVPO!T(X(o8S`4p=;THvop(TwsmL-At3gDM zX27RpmYHS{Wf2icXh^J`m>@lp9^yR`EmA{|ut$Z?25EUIe#@#1-?20MhBfa^tQdWY z+$3~k&8M5DeiM_r`HUf&r5iWq5;aBYW~j}3o^B4ZaVgz=$i_`{a}U>dQQedzYZ6yv zb#MQl^>SYdL(|K8Y@wzM->^>qYfvlKbdnjFqV-|Ur;kP>l~+C@XJ+Z6qw%Upee7uS zo~Mr}8<*0@`)u4qAGdMOFRG6$mPiKuzq#ZNEda|jmzdHZ>N0%AHm!~Pf7HdO;SUOe B9&i8v diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-realtime-l1-1-2.a deleted file mode 100644 index e93a81ca8f0022566953d4293dfa6a98fbdc39c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4714 zcmeHK&u`N(6nSy4%D7A;e(^ z#F@We1%mD604gX=bs-GELjI4a44%>@kdkwf5UfNEm>6 z0eK;6t5AvfC=&JAnE}m%O52H?*$~mP3(fP&VHnPV!71Tf8gR3wut;NA!FB0r7fglQ zQg*_v&&F*l9LfPUGH|M0mB{XLFDxUw%f#-oVt3iI%2v5rX?q@2IJbWni{JtHE{Mj#)xGoyB&A*GmnT zs7G&Cb;7CoWVw!p5>QU(KuP%Lx~MI}^{zPY5spdl20Br9*ncH0f^B1-rjN`)55l`r z59D9+X`1x&My`2EAp)$pP9r@zEE*McT0%#{9&5)H&(@2p-0NTMCPIjct3n^|aqEJLU&Bi4f zqwm;7%=>H{-oa$Li^X1yQ8xVI^NaiRc6OH9(pquey#}GgMp}bp=vAyqhD$c%Yplho zNHiUHK=-MLG7zglc#mc%DN7nbltp-COhe+^i3xH=a)kio1gW8WSffN|gS704cbOI8 z3s&Y_+7`Om<)ciBNW~`M|J%_P{iXwc&d>L;@DJ|6_mw&rNSLT0R(auWQB>zCU Z=qh2-LVu(GjII{)#+a@a>yeADegZxRaDo5; diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-rtlsupport-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-rtlsupport-l1-1-0.a deleted file mode 100644 index f36978948e3d3f798117ffc6b94795b287f6ad56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6054 zcmeHL&u`l{6n>VIEzR0)1A-#xx5}-&wel*F)@8hF%Ys-z>-Cvh~ zF^7}AVLP^CH8*Y3w0M*HG|h(7%sRA|0pK!#u?nz=($U43M0Pts};~q#uW>!*E-Hiyjm)_TtjNRtP@VwM@tL}P^A#T zPlGD=&lPT)hwWW{ii`i`%z;kY9rO=`h4XF5)3nGE6v4eK6hZzapB70yb;O* z?NpLV0q6{n$$ zHD_$WSfHGXG=eT27cnD`1+1kmrY70a66~R6lPcZTl)&!#kd#PW>V1FHXcT!D=J+*33H z_7ZWWh#AttS3jf~zE0Y8F(WZU02*CrMx3{J`^+srU`-|i{=q8VgQnch%F-B*Fr4}8 zb1~n!+fX8mVE$`d_$=n{Wo)3LOy)mT#+}Cet{ykW{8*36nNKn0yv(l_T;TkBIM zgmv|eS}5UPWXCKecnX8cR6<`FcbXE8^tdr4{H4d`O1O@@d|o9~h!?ugB%C)FR}tUg z{3#W&peYReX~0`7C#*b|h0ZPIYr~pP8x8R_(lqI7(`RjDx9MCPH*mkts}0T&{l~xy geNXzHYe3b;R%W5XfOq&rZRl5?t7AfQN#B+~0!9A+0RR91 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-slapi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-slapi-l1-1-0.a deleted file mode 100644 index 42b61dfae4b557cdd1a09bb505a91b764a459a9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3638 zcmeHK!EVz)5S_#+g|rA%^}q>SsoZd|)5OUEp+F_Xp@$*_*R4};iB+eG>{Klhhn{*w z{RR;K(GTEL_y)?%the5@aT5sWViRc`qUmbuj%=o@3vbT zw(ate+1mC-Q(fEkP89%d0hGP~R6YYN{!qWA6@aA`AvT40m&zm++j1lmu{j8(IEoH} zVI(kk-1ddv5OLI{UlzwM92}*=a3~1YPw57+J4mERV~WI{@PsP@fzRnn5Iq@$e{>>v zyY=Q!CLgz=U3rko_d$FpUnPV7i{Y>iLPY(cxCv1_HuYu*qoCUz)dqTpigw0xUElX@ z+i$nBt=y@Gr?@d_?GnH}_7%5j}9d zp|Q8oso=Uy>wv3qO&urPaxt!@aqH-;PQdAL-6MaTe(E5j9AcEijB;Yn@f^1n#xdb) zdr>U28-88@d?@V&`#O-t%{fEky;1M*U|&U; zYh#(Fmz;wdIJ-&>lwZneZsuvD)_hGL4AxAio)n5&=TRsT%FA5j#p+63G>;`V zt&+4FO+#IaoRTx#Tq^jJ)J5mb6CCelET_%}cg9MBC%J2PLW+#42%TR0)0}v(fj~f0bm6`Yn~*#1mo@ fvFl$|$s>9Jv|J?}zE({czM@mClIi~!=An^a#07ZC diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-string-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-string-l1-1-0.a deleted file mode 100644 index 698ddaddbd621b947a0c28ddf22c4be24f8db50b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6854 zcmeHM&u`N(6n;%N7-Re%Y}^7G5<;{jr3*bEG%-!=f|$h6E=XQjGMcSjt0og02gCs( z4hV5Th%;5WjPK~$EhK)cv>Fy-X22=0n`crXLxNG%8|bn@p}KvgoWj@=SFUS2ydBz zg`M)VFx&?QuL&2>1E-M3B8^}%gyT}v3|KL4I<^yTtUvBfjGMyBxCR%u$0hQ*)C^0= z>k{$0BzRqF*d@DUmAys-f#ubp;maF-?g2b6th(#5LE2S6Qn$sfz6qxK(CCLz{8#LU zQG7SVG31qOlK$m>8^)$$p)ZE}jF?d@T+Kd2{-Qo85ypTu%=6hzi0kzOaJ^<#d${i4 zI-I4!!_dFxdW8=IvvC>?j%!kKgw|Qd^%$>~3NF!(+8);l7uUPXF*Fo`a@qxo+&`yy zZ4jo{`A&~;Oq?~a8r3&9)`f+0E#qmLWDaWJ-W6&f|B_GBr0zCi%su+x;F#%Dl0pIM zJQtY(Kd_QVjLT17p@nH$h-|-Da;H*J^mUv&3+#$C4N)a#oj0bsvmhw0m**uG3o*D5-}x> z7qNwVA)^^SUs`=JA~8Y$>Ro7N5^I!bFA$bw>*JQsn8$~)!A@~`XpW){S3~tk4Y)vj zJr&jDqJ|;Royz}zHRxt7-f6TgIlN^hYPdb18Z7laL&SzRxFzft8=lJjl8QWI!>ZD+ z!t$Qj(AML6)bLV|OJc)$oZmrXLlH9XnoFcg+D{K_T)03Jz?8;?>%zcu1KwlVHDe)y zZeyPOuMEh4yZ3B##Q&*;|Kqr}2j#z!WdnUwIn?~WDA}I!|E9E1VE`QvGgSZ0*QH!f zMD~ChsHpGXNACynOr2cJM@@=cSzy&j#3y7llUXQD1<;1}`39TO-nQcAUOLl}5&zy~ZdTIl=FKpqPC1=){z A`Tzg` diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-synch-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-synch-ansi-l1-1-0.a deleted file mode 100644 index 0ef6bbfba36121ee46f4b285f36e793de5669480..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6910 zcmeHLPjA#l6o2bY3Z(p%0)cWd60JC}i@n)6TM3~=5r_*S0;=|aH1Wm`YuMc^Yg5u5 zs;EMU0|yR0^w2{;0Y{FA&%l9?z(?Q+yf@>q$GhXKgM?8KBY9^0=4X%R&F?pF#%C_N z!}ZRknG0q%*$cK~J63CP-ZU-Vq~@l%&~V}h)@A_UFo1CbVEPKc{^#QQ{v`lihhK>6 z*lPf~X5Wfy?j69~JH}QR`z7>;AzSq$f5=ugJ)b=c`tBfLXxwT!%xSW2(55T4W8rN+ z4Bf$i5v&)|18jYB=(F&T{(6VG{V-r%o7v1_F2k4gd|(~l^*(=ZaDCwSe|3Y%ZFl`! zLC+s917ksNz%&hHy7nOQw^U4QSQ+|mG#}02fa7?{!GIN zHv8TLxeVU@`|WmA-;|8XW0GxIj)Np}eomR>J^l{K1aPqeaD>;Up^ol}cs)NeVRfzU zxsjU>;VnzB`l{Xz!wE3hCR{)-JlmAm{aBg8?^4qeSQ57&?Swm+k6VRyoSVM-_h~YKP@ES3^*0pPP&8mCdE`sYDLD!ETdjA37PG!TrCk?S(^(A#(9qFH7 zsvnI!jN-#;9!Bxs6vvQfvMKg4_uVu$RV%p|?l)pbwenN;CGj2gL5VO1^f51QZQ-2n z6z6=)ZX~OxOLRu#SVGKSdYmJ_ z>jYM=#u#bC5x@HIBi%iFmfF(Vv~Guk&BQ|LS1|Jc)&#Q!i}5zr;8+YAk2s+Ek;fN^ zRlq$)JyfM7jUCd$y^zrkA1}?m_#*Lz05ou+ojI&gqBTKSEPgLC1OCN|X8V@AuPaM= zJnnEkG>hrM61#ZQT$}M83q5S38z$-DH-$%K>Y=UlyOSQedfb>Ee%Ip?J>W5B*Ls-Z z%!oJb`21ehf!K4aIxulWG8ym$t2>=p%IE!jG2YLsXAHsnr^tm#y!RBol*#+P((g{Z z-_qm8c>lK^m+<}voY&pPfhuT@lyri`w3jt-ng)O=jRh@X;JE?+W0^B@5fAbjOZxwi z#)L*OZ8Tcn_DDFVLL$j|KGDWWY}>6i3>`yI8GBh5r_c|SQe7m=3|bBN4|5Imv;T=Q zzq7EZbWPX=HSz7-Ky#g^i4)kiTTN7Ab|k+Fzk*m%%l6f2YY<~ z^a#l@Y5#Ov5Qy`r%>C1b((g|Dr-2@qENt=|{ihz6#E98X(1Tnp69O#n?f7t<77R>j Yd^j%*JU8GUEJw7EjSY$;%8Cmg0n~nt)Bpeg diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-synch-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-synch-l1-1-0.a deleted file mode 100644 index 070964696469a0b21af905b88bdeb2a3a383d146..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35884 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 K3oX?HGyVrVf-gM) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-synch-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-synch-l1-2-0.a deleted file mode 100644 index b268543c77a143c215c6197c65bcac14827f689b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13592 zcmeHN-D@LN6hED``%zn5bgiqbnw72yZsJVZCao+>KM?e(#iA8im`*#>X13`hBw4q+ zEK)?u3W5bu5ESvjHy?fSY5xEp{1f~G{0n^Odd|IfX70?~B$G;KiR8ll$hl{7zs~QR zbLY&pn^tqXdTadcd^8zzM%gIq^A#hX*IAcb=JN}cS@FQ;H~_o~F!~(8xf6i#+dNNt z0F*C16oqi-gecj8D`1UP0Pgp*>}LKI+lH=1Hp#1=d9E{+ikmb?<1?}T3a<7*mU#nyO;g9!3xR+`*>8}G;A`>6h-KL`K-mu*EswZX>{JBh9uQ^U5@xSXI zYzXeo{py~T^{x+MH+xQIf^~P-vudkbcbx6^l4sMT{eDHy`yQT#RdXM7Jeh7B)VJzw zJ0Xu4O3~qy-aT-(@3tL!EXFMN_}nY?{YDLiKE@i5eZFO9*Y)TJUrdZW-fQo9&Q`lv z_ccN%Osf@g z$HlEys|On#5}!+dI6dq0UckmE&Pz^u@ShwT|jMsDO<^iRYu8iNw?Xy9U*iC!OPvR+Lu>+^ak zA?sy4hf6eh7=7BZUSiY0;xf$!=XFKM2%WP^)_s1tmiPkf$o+ns`22Rfo+954gSDJ2JS{C@M7p{>AG&rFo^ZCB$d*fgs$^!OCI6jl7p#27wMZD*uN>H zoT@zNDJ=@l#60(GCHD7=(TE`;te5U3r`}4Yj zjrRnPPs0^IesZ0D9Uq6Zur=Aivn1K0ak)HR#1@xlF1z%+kYdSt)6lu3jRAQdnMDC1 z`)tQ(1bm8Hl+arE6t)Wy#IW_!>GK)!83NGg95F9rixO!9P6@V%QNG7g?K5}tr!znu zw>JzCrId)k>laI#-R8+s!^S)O-p1@IcKMpn<%Se$ntu zR4(Wh0Mn_1ii8(%4=9C5xWNgm)ZlBZBS@eXhh`yA3yggBuYDwopr^yYOwvdC3gw~~ z25d=ovc!NVjoS?a2Wq|q20mBw1sJ%B=i4s^#+gJYUuz9C7G4pOA7bIApirg3PgtJz zeP5>bL0?FR4LxZe4pCluVdG;-rn1DwmNafRY}C|z32c0-<_oYvZz=l4#zmA6`7Q1s z-y1MM!BU8aHw1+$4Zg%Ox?0~b$UBg&1r4R+T1cfRMe#TNAaY+-a$rc@zl;{}xOmw!~JOmMs|Adb79b^QT*)mU~Ac%AVz2S)WTK+m%vMwjZUC?M+F>vXt$t z;|WuEhW*O+nDQHn!Pfa{-k$dN5`N%mu_4nYy`$P^31 z=rf%XHweLfIAJk*eUEV(ENFpL$X|30HWt$OPd*mpRY$=P>B$rg!{~DwG@M2Bc_ctX z@X_)>TZJ^yXCDc{ilZKU#9hYhY0Q&QZ~y=R diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-synch-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-synch-l1-2-1.a deleted file mode 100644 index e789bba166329f639f094343ee528bde2299f3f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4402 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 SI{ZYZ^2t|x2d$+B8-D>O+~PO@ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-threadpool-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-threadpool-l1-2-0.a deleted file mode 100644 index e20a3b80c256a598202fe069e1c6685e01000ea1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33962 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-timezone-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_windowsapp-api-ms-win-core-timezone-l1-1-0.a deleted file mode 100644 index a94e2d0f6c4c090c42d8b12b56849f91641f8786..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11674 zcmeHN&1)n@6o2VS_9N{20Rh()q1C9cIAeD{Iunp3uqLh|64)r{rPG<|ae8+?!c6aO zHi!fdi^v{w5Dy+iJd1en;Bk+hJ^IJEzE@S$#p&_cm?YVNG&s+pe?f@gDn&0B{9heiz{Ub%4d6c)a`<0LAB@ z;c;mPfZ_|sJYIbSK=I|@d9?ooptyXE$2UI#pm?oK(f4oo{>Q^`F!XoBI2`yl`pwY4 zAN7L6$j8c~y61aqekVGhDC#k5_U{ja!$Y57-63`G8~s7($5A&t?)O5!@^KppZW#+p3S82j35 z-C-5&R+a2lHAXcjyH)MDRk!NYnw<{RT1XMm;qNB^pU<^|J4uD8m*q&)R?f^#Fj zO34mXn0zj?l8LUjnI}g$2BtUAiraU4cX$ocwh>9wLzch?CSA@4k}t_L3$nf8YaU|= z11GvpIdK%=HcNS80dAm5+QXE}v7zHQuEU6?^C%nMn#8g5OfcW#E2eF#ieqGV-oo~d z&~?gea11>PdH~5H(hRC_l6i{M1JD~>!^!SR^FoFj@hIdGPt>@SWAq$bi1|j1^OAKf zW8tR2Bz5@2kDt6wzfMoHx~#Nluwx}{q&092y@(~Q;ar<(ETPwuN2g^}#{CY+GG$%{ z1RI$2Xa?-Xy-emok{TwF5e~6uCr#ih;wuE8**S;az!C+r4ZP+f_M0ab{DuX^zF6K^ zrF&!pTq$P^=9`E&&ZZ%6a+&OoMzsTEuoO{<^x{AQVV{? zT*C)(tk9xL=1kp?Gc#X9ubR7)^fZ)mhV)}n&Rj6~8ZphBG4VC>_YVa#QeR_$E15SN zhP;{inj+pjjjuVc;|)$Y&Ac)3H5xt$U!z5p%o)#&Gb`eQJNr_`_h(F1D%0b;!G9%W_7_q)GcG5pZEzvQeEooAjj2KAs7BS)rH7q5kN&(v)

    -DDR!q!nZD2MPT(E6cRPKT%pT7iN0Dff`aAekLQ`=qua0z~1*UbnTIxQY z>V)+_-PH9S_4b1LP?L~HfMuGtZ5xLDeoR33yK@KuKx+woU6xj$9=OMWEaztiw0G-W zCvfs5vSl0EPwRV=$s8G+kj|qUZZx#^0v48WTs&=qsdZbro^)&Zx~A4`U|~H&r`z=z zNvs`AYDi*jL>SaU5^KIyvub9&>-$jedA=K7@b5E#{iUAsP*;TY+>X?3b*gWYaT`|h zG|Yb0JPorQE>qYSStXf5`%1g5VABkZv>ACub&0H&PSgh_(p135ysY(4dV9aPx3|nz z7$A06wYS^&BwnN8!}9;_?VEBKn61-ja9meHFQF%$y-l;*7lW9+;%%#ZkpX@ix;7_Ch=vArAm zI-LwK3q}--0Bl919GN=OCh@ zh~S_87n+9GQ#9NRYv@#gpD~wlgU^_ekf<)10_%(dd^!r6{I~QMLBUe&6Z(&>mxls9 w<0%TF>XIoii&1d4JE8?`nwBUQJkRbZTp6eTvR!Br3h$1lXU%9xHI+idfA?+e1ONa4 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-ro-typeresolution-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-ro-typeresolution-l1-1-0.a deleted file mode 100644 index 02c3c401540d808ce9f68f212a9318b56f0d0b2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4418 zcmeHLOK;Oa5S~2Bqm+kG1spgS2_%F_utVwwsX~>CfD0&!;D)qun+*whII>-6IiMa8 z;@ATR#INAYslS6CLz&t2+Uvxo>BUtgM)K}>_Dg1WcD|iWZml`qR`2oR10yNcie+22 z*|1g&!xTe$YZwn#>){95ivVyApzsTz{1eri^0`n2py!fJ4`UmQz4p21vnCI?$2Qy! zXCL}wXVPbA+-ca%uCrl(lb+D-j`^1B@oi_q2sZNR1I%+-ush)%_ub)k(09jdXfcbK z%whO-BMz*`olYM9pyjq`7Vr5>^y^QYEp*QMqX|nHXt__?4g$2wom;HCkr6#y;^Z2_tQ-wA}C z-5AhpS35YfY={_Hhvq?b)Ax^n!5-oI^o6(U3X7=(Wt^8T>tHI}in0@KDI2${aCcEz zPQj^h)nkTLMt%h|tm3(qWQJ9SR>i8A)y{AT)h_Ldls|_6Zwp;#pbVj1k0rS-P5CF7 z9>-!9MvGx73!}xaEHD(Aq=YdRv0K2QQXvx~;zrp~Dp2HRg?x|@rU(;k^W?V3`riCm z->@+Cg|rt{*4wxnS7-@PKIyEliD_W7OtZmx-3T*%s0y=M)46t51n4VnHC+(WxJGBteH?Fx zIZvGd=A0D57h+tZ!ZZ*Qq~jv4(K^-<^C=yN_a7?eqvcwfcSws{P{1NM=-Ip_xGsOELS|oq2qeepKg0z_8T{cDdflA5+D)VNQANxf0 z5sa|rV??6*NJf0dKpe%0H(Dm;$%wAz_g{>dq~m57@i842G2$xj^l=$cz}!gQnNK$x zs4|hnY`7;4qAkKV?59_(sE~}qN$|j&j|VmR>(Mai7WSV9;rSZzfO6otJfN(Y{!MtA ds{&O=l9&hh=RqVz_>TJQiWL*4Bat5${sM%P^0WW| diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-appcontainer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-appcontainer-l1-1-0.a deleted file mode 100644 index e4c8e7662fa81e7df37f5f4774d48c3e62f4a612..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2854 zcmc&$J#*7Q5MA2|0Z$kxQc#MoE)r636f?sxW?Ya8+)$ro>5N3=k4Q2YDpwR#Dflha z`7PA^2Ey*0&OXNyHU(y9e7D+r@~xiU-s=8yFY&_{^(V%%ImeFcxOUTdW*D|u(nrI1 z>d0%u=+*&X2cYs9rzybRPx>*|X6$XslazIM#uL^a1)P11hTb@07@Rg;<~CRy_2`$! zM?>z95VgbZddFaK|c6 zxcze6iNYPCb5MX&>uN^Dn1j?r#h6Mlrmh$>c1*{#tssuU>PIopZ~S!y@UGJL&Qu_e z>wMDowQD&LOy{y%hS7Mem0>gvv6OHxVrSWMo&|rqxbz2%;Eohhs}OsuMthJErV6B* zZPzQQKl}^zH;)=C>UZ&t+@;6B<41p6B2+N^L-il2?G7j#%Q{Ju)^PJ` z($|$wIOSiT_c2fd8tGi934U%1ZxhXj;w(itn$QpQvv4vzlM$i1C8p^iw@?>?U0D~z zFLAms{rr(RuT+WvE6vkPwF;1kQ4Ur3fzEcj$p5Ih)FzXKx3=R@+nINqJwenreC5>e zi)xO}tV3LnbM4b)fW2YI!49FFl(a*U%@&d&dka0Oc&To@%xhCW^C*ql zYCi&;VyxRyf| QzN52-fsMYNwp*#c0jGcmj{pDw diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-ansi-l1-1-0.a deleted file mode 100644 index 883e43b8a3d40a40670fb492a1c5fc926d5d560b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3594 zcmeHK&2G~`5FW=Vg{TM)MdD~AI3U%=Zc`^n2nAIFj*%*ENLwe~5UcrX?1;jthYE4* zjo0ae@Dw~i%FM1eS=Y8&E=EF(l=Woxb9Q(3`*t=@UIp|1@O9&bl{IhQ^F7~f@3t(< z64f*EbG`^>j9}xKUSKirFXmD5h4q4%vtSZOY~(SIxh!D#dt(l4 z$b+zw0pXA*Z=(@EOy~3l7>mX;mJ7ct#^u6c)So8KbhQm-`S)Dc_kGK1xqGYphu<*$ zXdMIKf$%oKN%(0Z{PMMkrk*y zWLK(!@=G~gn|}JpIp=gDz>4woB&7mOMJt;c{6we1Vp6HxNNur;=1IxjSZTbMn%Xu+ ziq3Jfsq7c2jn1JR?Ejduo*ovsx2!Z+8MG6UMkungbp=^f2HMLe4mQxng*7fyY1)XH z72{TFqjgY4{aTFk)x3y>?^BG5;fgP>p3%39i*;=68TtEz;317Exp@yg$!*DFdN*aX zR@rG-GhcT=&!MO?km^8Wi$=h=WR+Q05ET&_$f!rGm3CgvNX`&%d>E1Hd4wJroeDBS zby`^sexRGX8kO9bD%72*JVFcZe=X2%NgA(iXO(CHAa@!5=e3YqvD897T-_g<#&7BV BYRdos diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-1-0.a deleted file mode 100644 index 4852884c32ac086137ec4ee3026d2cbe80ae1371..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82422 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-base-l1-2-1.a deleted file mode 100644 index ae1b072915d857a7eb6e04a6ec90e19d4ce9fa19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2710 zcmcgu&2G~`5T3*>g{TOGdg#$eg%dV*lsZ8|C{l#fV=f488zp3l_X_}5$(nr&* zd-B;ddo=(!0H|ExUV}wppMI%* zI^l!qoG<(tBiJ~m7g)>(i+Py*WPLy8EOJ?$xy)zyS7Q!r#Qos0eL-i*KQH+t`HK5M zpDY~DSl$*~t%81HPZf`4{JD~aPg*!v#qyVSZ)r|4C z#<7L*w^aNsioX@PR^4*#Ad0{qh7nI+_4a1I{rMOT2GB_N zfFbyKF0@^8eI#x~grkVOfnhRQOfIEGWLu7DI^-VeL9i?9f%qj(GtuuGx#z745nz?; zG*gWN{1BrYs_+Mu{q%yp)>!P2h(dd)qcoj{R%1tkm^Fr&+H+Bj(cSb8*T1E?PLm1F zjvWO%fOaF2hay>Lonq4gD1r@i*4O+(hRbyn>WEP>Zc}4)jy7VJ#W?&TkwSOPMT${2 zJn`+_8+y9F&TP7t@A8y+#MdsFBb;AT4jjvmC1M85FH?CT9m3i-|TSw){FYXch%R%>Tnv4>$rB)X&Qztw)ELB zYH#Fk!{}B4U=N@)z~wW*!EgF9)@JNW%%hlfc)}yrp7@-756-=5z|eWwbeUUcVbG&* z>YtqR{v_fvZ^{TZj_Cpx^ZqOfk}KBpV$MQ`)$rpnyw#Wk8*E)=B1Ao*b3KBe!?9V<4zUs z1dXE{oZ43_s>2+|CaS|!>M%(iX6TqTvu62W2-YA7d3wR$TY#^nfj3f))UWeMVJmlH z6HMo@T!hj1s}x~0?yy`i7O}EAQho(*`?$3MBRC^vR7%9!`k)vz2vdd-=Uvq#seSk# zYH!+j$cWLcDz&@#CZ1FJc(mwmNw{*R2UL4ag*&2bFs~P>O6X1Jsa@gqRl_Z-N8eXA z;go%MJw!(ZXr^lDilKyR>)!6Gd#WVn@%LLKpEK5kiK^c*e3 z%=2-s%F96GLyA#8eBztim-K6~$b7oBvFQsXQhce-Cum7^OC{5NQcY{!oKmQ)_Z-mq z6deZAN)XIZ1iVUin5=s!k6>e^e#CQ=3S>qyL;Mei9$7!fXwjf^L3+-_Z#k9W7aAL% Mo^AhEw3~|j2hiT@?-@qS$IC01+h5{ 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-isolatedcontainer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-isolatedcontainer-l1-1-0.a deleted file mode 100644 index f3920778552551daa1f3363af55aaafb6d87b5ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2882 zcmc&$v2NQi5Ix&Tn;I$FAwx$6Xt&ChY)5f{qA=hN&E};uqgYHWM79D+MiL-{r%WCE zH(m2V{f4G@N71HY+40htfXLJFi99{sz}M*bB|ol^_)(#X;}_WnZ0GT zTrYp%vPlz9>Oj6O8nM_144y3pW$Nps~(0SeQgx3~Pct%(5 zkH>NlCvxIn3WAMNdO)OdFiFDfMuce``I!s`@i_CtF)kXp!WEA21+F`iAcoQpo^@k5 zN&87WkZF1{KFP!D>F_{^aC9lwLIOV?oMnwz^S_FB*Ks@#DL-~U&v_5-ULf@V-zxxb z*xH3gCa*KLS9cclPaA=s`Kuv3(}n(h<19^|fWee-Auag6t+9J(>|k7G>w=?kN7_%g z{nfZ*jiZGRN^p8!kC-?1D77(fY@IjuQr_5+YrD472%?CdYn+FX%oq6k0PwSN?q6s} z?l*a*FlvutA(+W&brr_ov$hIjaEZdgy@;h^%lT#=cX4VBhB>56sa4$KBKaNdL5(m~ zxWRra>aDXDhMQ}l(`qki!Nc$JmR<&rB=eiGtEBsnT4?I+4k#Lo>s_8R^xey}pz-Et z;O5#g=e12ZZ9g9O(NP2H>6EB3Kd;%^B=d)Sv?3fEXAzud!^!wUc{uk9Ow&s~gF2X9 zr4HhkI9)XJG*U4y>4m{M^Jyf-0$g#gx+?rZV+%!PEAnIYr4BWg;FFceYZ>Z$$&}6T z{(;A~iluyPnDC+$$yri%(QuN?Gk+qhX`>BJi=h(H3J`5=6?e zgQD=FFuL>?1X%?6fPO(fpx@C&Kceov^B{*WTk3*_0T008@Xi^|%$;-Q4*B_4?xZ*P zdijZ&POXiW({ikiy=j^juhMhV+_2lS!R|5utN<8YfW;pHmi`jgNB;oOb?=V2KJEa} z_265&7~5g&r_h^(tm{SIgzb#_9((Bz-LcQmc-(QA(`JGHoGxh}4ZYrI;!WK#BiLa` z4Or;)rV~FpVL|8yqtU?>YlorF0-Lp%#axCjJ@kMLJhxw6ukaloN_XNP`GL3Z{pY9X>SPHkH?1Wn>$89Q{g@x4uoT^uMpz!)#!^N7?>s6U>s+_%Jkbydd8ooQ!xqt3* z+bpaf3@HkT#2Ey8(O^0}5Ejn6l&5Ku6)1yyS15!0OFm7Kz6*&l=d{AXiuH6SwE{#u z7nuQnW1;H!cRjibElh18zAIzTx~{tqxU>GiWv2s8k?v?$`V#ARCI9JWf;D68!C0Z~ zm()X1I!$6q94ly5+t}F)tzSrRso2v&OjL}Ebw~5qLdQ^xJLo5lV3szHm$!{&*Q`hx;Bm&)!Jnn#01@{>BfUQK_Nn(n! za4)2^#OF(^FGeIr2td6HEq#h5O0-7^OY9Hm*9>RFzMLo;X9O;yJuWIv@u9q~qkRs-H*o>52s8zTNpl2sLdtHs)| zXVk_l55T)dzva-0?8Vr_he^P4wv7+IF2zE;J~ zds8)HqCY4l8hI)VJU8G^yk|6$ntkD4gEZp06w{hfF?K$h{EjTTN-@7^Osi5cds@Gj zDP~-Z%PHnnF)mijDl%YR#ndEc^nW!s`JDAoY9djI{*7sTfFjCF0K?AN6TYeq$^ u>wms(&sW*=6|rGnMW|gg^-B`pbCXr^Nlq2??@%QJ-e7T_KeSbUcl-xTeMrs# diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-lsalookup-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-lsalookup-l2-1-0.a deleted file mode 100644 index 1c49d625c51700c11c8cc8df0a7a7f1d5e1262f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7074 zcmeHMOK;>v5U%kguteb@l!d?njIjGiW8>J@0(zM*ZPO z8}FO>WOr@HcC21!$22Y8r01sD?R8{_!wmp<3BdRjVEqi>+P~u2Gy&*&`2+F1`UL{TN{TF=MwF`#Scbm>qbD7qMI6z+*r7V|U^+6rS`P=IpY-zekUhhhwiFM&8t& zFoKO@>cC>JKaKq4Aq!$R2*cy)gasXDGmE(l-#7Ar4Lx^I%Ybkvc0V0YM_%M6-dE8y zPQ1bGaOC>q7#Q^1t^3@4okq8%(`#RkzBvLXXdJu`@b|rUL%9A5Q}J z;hb(cgy{WozaLJ=$(Q~hKa?)dAZsN{{@Rofzc+$QX#|vO^N;schcw<*#uVG~k z=cT88uoSMVOtjoVYWn^@VZz^QgsA~RZ}xP{DUDQ2`%X0(D%%WhfiK@bqWeT0@K zJO1|+;C|!CJyrrK*Y!!mHw$whn667>7Dm%!a~4L^;Tp$~cJfK;nd@&Io0^T87_K|A zkY?k({7d978iNvH4EPT7TF<2ovi;!&Y`xyTIo2P-wY%UbD1Y>O>ST|v2p zo~CPSY($k=4&`wAip(>qb9whY)w3oX$Sfq^$ z87}8(dWiY48ke$-)04aK%razDvK(&ofz8Tb~ypA&hL2#us+_ z0@j3`3!BED{H$)4`B(NqpzD)+9FUygnxhf$J;LK;-b6{bHgZhj>n1A@GZHfdAO#2} zy^S?WbV3NpKK+!*fWNRdC;VF&AJ)iA?wL4Oc9-PJjvkc>uKa?kS;Un?&Bp5F$^&iO zd0a`VaV4(&REq|oo01I~M^Y7GivfQUM=I|+k{;D<^jItNGV#bYh+n?1k2gxpNDmp#j6cfEDBrBpj|Z~pGI-Hhk{8{w z$GD2FGG07ObY&EIk^6qL+R>F+;>RaaLWKc;V_xtaxz$(tk38Zs*kUiqmQLA={ERWj zqWJ2r7MIi+Uma=V&Wo=m)wuNNQ+JU^)wtA)Y~k)-G`?y`d(ppKu5xVk8W90g7F)H2 zfaeDMhGp){?A&j-mvY;%mSw|U>1KWvQ)Rw`Ea9STDAsKnO+Zg#$&A5a-P%b`q*5?buH)LBmSdW> z7}8tQY`v1trrB=*z!pGlgxvsO=NJ7MJ7(-t>d#Wv^D}?Oj$_YfUxJ7y0Yl@W<1)9+ z!eBuE+#W~%FrN8yo-l$$vMyof#sV*d zD$R}v(GNUqD(XeqMt9Xdj(a)lsWZX8Wu?K&pxuzIU)gl6>^ng6k$g*z-a}1tT=JRb z$eFEGcye!S)*sMgDXIZ39`G$$ZB~^;Swtk(vPkTi7$8?9SBT$rXpvd;1T_-6 Y9i-*8c$Q5aexg#g^XtElD$K^lUm0TXW&i*H diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-provider-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-provider-ansi-l1-1-0.a deleted file mode 100644 index 9a7c5a14b58c7bb57e4544580eb9e505a32f8465..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5390 zcmeHLO>fgc5S=6~lu$k@6{$i9j0Cqj*lFtq387Y{Krg6L#SLleCJr&pmuv?LLZ}B+ zajdv<<_tffzoaLA2W4j0>#Q3)O*yzKVkPfxW}iK~v+wQLx%^xTX#PrVbffVeF;vcs^Tq z0>@)3otnemxox}aGBoZ~EN0EKrn^N~Xz#S0YR7YWc9#*X<=hq+jOh0^zhW{v=kph05!K`Zv~}}eFX42SGTvNA+)P8r70AS&4XZSJo9N7C6OrH| z-WC?lyI7=Ykr^n1M^`9=;!82@7xfepa~{wN2TRsdOKJsB54k-2LQBR8Epyp%)%gaN zIWD~uGtb9r(Db#x}p;`nCBerhx@M$9~zDU{QaJS3IfenyEh1?}lP zI(wt|g+4Bpc`Aqrl5vshXdO$4`IL;ah(oO79p%X$_q7ZS*cdV1&(1yLeWvoV#lejv{qp71jH=vHs7?hLL@hW5tHCd{o zuJ|3Mj&3q;Kph{FanaV(S$$e{EUm(MGlg`KmYY?k-TaljFho#|BO(wg)y2s78VAw#XeHy zq-@bpPT4H8g{Sx(mMuOe;|8+DUNSCH$8FTkX|n~8I@11!!RMW4mE7THiJCc^ULa@sPRYHgh(j>&r#*kmKUFaf& zIIOBY_ORm2dH)LjfIaSszkxGH;Jq1-Jx<20+k>M>9mzA}H=i>z&)+w1#<_gE9dvqk zmTsEaWH)TbcC4ngW||gnQghR6G{n7Www3_kG=T9OV6g>o;y-cy_&)$$r$3A9>=yvK zmcNQ?9$`;Lu^-lNnKYb z`X`v`Mv z_YT1Nrj69+DP_HbZ{rM20TyP>`c*y*%$8|1IIfkLDfG5=te1GTRB(xk)OJ}XoUBil zC(%#^%4t2Qa{rv-wIY1)@pyo6Oq@H=je1+d7sA3Bm+>@BvII?V?+Q(jf61q5Qr8_Z z<|&nMu;e?Hq*H()&qZdyC#;kg3Cq@6Xklsy!R;4eZe_G~oIB_*eATp}(P@p=pc~l! zH0C@NCRha{3`PWHb)+72>0KH*l88WWaveMCD*Zx=%S4zaV#a!0qBWYw24Y_8agH3< zIjsC1W26md{PEjWy4&4NZE0XY{6oBHs-Su(W%?&bj$(OhdjbS ztOD*W>H(h;5hjfu(!xEE(GH(0y?HSrF+u?9U1*1NNQu@2VY$xlMP|T1See|{>34hO zX^vtJ*TH&09jvV?F-Pd&Z*;+aI%vh*prTA2JXiYNO9zo2H>HEOdR(G|6`bEeb+ACJ z(Cn^>L-VSIi#T>lsTL9!q1Av7nCoYqC_>|r8R%lIpe}6n1acG~;&nB7>9jT;R2NlZ zNcOPG*VTE|#Ch}qrBo9)gn{P$P9F071V|DZ-Bca;=?YIWWN(cPuY2wd4dR(e)l>-ywT&PP7phKT%wDgQ8fqM mDFNvs?`!*<$BIjQ6;XFh8?l871OCN)kJ%?8$#YM6O8E}2X0F`; diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-sddl-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-sddl-ansi-l1-1-0.a deleted file mode 100644 index e11adfe34bc3b70b615fb3114b42ae36d4307bbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3658 zcmeHKv2N5r5S=?;ARIwZq(IOZ2?|hr*vZ8?B!q&}P(}*W8|UogtoZE1c0%YP3Mz_x z00k01k`Liq2s2~vdF|NBRi=QEygQzK>)oAwv$KBk+KI=LH~p7-S*%UVwrq2>KGb!S zo77U*H-@9U!+swCZUJ-lWrU`Wri8nrp{q(a)TsII-nD`>Fge6Sj2>jmE12OR& zx0L~5Ckju!INeKQKRnv=-S-g|Z$SuuI>R;AHcB(2WyfltN~0T{jt|m7B=@IjUo6wK zZCls3%#HcJxL@kMCQpU-iB!8nZNC?w~k65-E&3)$nWO43~tl~_P+_!N*9?&A7_qVyf&eOnR zm1cwUdYE&C_PdVz60g<@ZXQc&yVMCM^=iF>1`VjBQ$b_@++%GK#!vXDMK}tx2M*K8 zNqC%Dm~$mh(;{1l3ifUm735#?X(8(Alg;^BoG@52o@$CzfQZYi=)x~lT1+ynh8ss) zVxm|aayMq0jaN#hxy>&6hMP^-fx2j;b7&3Q-JJDQ>0mCHX)rS=CnSwfC+9^5nP&#t z%OMUHD&s;YtPr2U2T<;v@%WuIsf1BQNAk?%&Y9QsIdjK(^1^W2otN{^m1NSIny%?; zOKU2M%A4Z3qBK`qL5H1r0Klhw0x;_X%>5A0-CqFo+&9Iucm%L`#MlO7Z#~QP*rw%M zF5Bpv7W-iLjDgM2c-YdJ-e8WsOHW|$_pEl`wT8xk5v=P`2j*Grp=RP}$mSO(wxnQH;dvCe^mhalV{Vm&k)5mNZ7_++r+*xj8(j4sJmF2Zvd*Jt7 z93o@OA29>V?<(ixtCI^&kCcIM5KTS!2FRtb5=YqL=EtwW^Z*rdSbPR%rYV=M|_9X8KvyPkIm42}tB(}2qj ziJimB46ZAl)iY#wQQm}C=sR%4(3IjP004nG;D9F(OE0muH&0{K+A`jf6ewfUj}ANv>II3 z!+<69rt{b?@$oW-3)K^EmvzF)db(UdLj@?ObD+ZgbC1_1;d+P14TNLjyn#KxGwdA* z3ujxx)3nI~^uWC<^g#Y4pGGNu-iS446vDxh>r|3P0p9UkWM%k{m0}`hfg1BvOe=xV zE{iCuD~<3zW1igRj`@PGm@YSY8l!XP8Md1N*QroIoiL(c1c;r8G(%oGjv_@E0q6}j zaI#)(UWjmsh(ZzZFdr9cjP|jPm{0jQU9Rg9R$d1fX~P|#Up%E>r>BuEs#Qkaj}SsE zq`3t%?_fxG#Bhfj|Y^YcxYeTB67yE!-0c?eIMl1H_8N3IS;I zLOYMKMv2Y@VQKN-A}hlgR^$yzUbrT?85W~Jj6Pf$^$C^Hs@F5h_=e87Oc}>9Mir@y z&#`&ODdTHCE~AXId|apudiT>RqnzSL-eoys+rHkaSqn50sm2d1RFvT-=1J9LJdpo^ zllQeXY1cx&5~bp_2^Dt}iv%%*@WQX9P;pm@MWv8isZU+bz5gQ?rFNdwO}epAWvCM> m<0cl3SH@LhQFQ9&9hxKmvbokbxM^b1R9;DHYPzn4DDDp`dKa7k diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-systemfunctions-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-security-systemfunctions-l1-1-0.a deleted file mode 100644 index 29b71e1da7a8c80e43011fe7ae6a6a2b804c117c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4486 zcmeHK&2G~`5T3*-KcP?#72;?lxM6plq;8N9id2LUr$~q!V(TUwVl{t?9ku1u1LE8_ z;8l9&#AEOjl$l*`ym4&WQ*vlm^6q%{vv)i*-_H8k>tNdHzp3uni_P2he9vdi+OBOg zIc4^?U4NzSZTp}K0QUe&zW^$~QT(8;2VVf_dNier^L@@gMPeH9wur@)?~l8JABUr0 z5^_|YG=1(j_#ix_E76ZfqBEX~Suo)Q8%Fd1k3?rS4dYWDokp=3_GY6_9F9j3A9&p3 zj0YUwIuyYBBIvGgS@-xWd}#_m{0vM7Qc zW4`a(_MTTyLVi%~{*nL z!iDt0=M9a;)Pf4yWwsVDjoa0F!fh7g_B4*6u$_a`^LoULbB2+F8RzJXb21s{3_Qnk znA;r;0Nh?U5Xr-TF9E)mdcl!aBzn`QWP+8kgJ7mV%S9N&msSzR@MA?{$U}=Q@wN2f z22NR}LX7kuWrk_G+iv!Gc|_c6@^AEWY^J_Rc4WZlb~h>S=$lq<0QMQ@-O)`ZRS3tY+hoE1naz~k@yNQlfCN7@CSvJm!dUL zPckoJ*lLn~SJt1}o>719N_Tz7z|(Oek9o8+y~O#?2?J=bfnBryV7)N*Oj;qYouzeU zUN0!F4P2~etP3e_q5d=xGs(xznMdEzLd>^(oUiSojC`M9v<|=c;_?OEou8+=R4QlB z3wQ>hoTN2Xp58}E<+;jfdN#>!qu$f9)^a5R(}%L|K*9;>Em{GeQgtV-DOw{vu)rkw ztrU4>k+Kj^lBiKkdV&%)+98z2mG`PE!%q~lXQ|>-*UDL_s*&V`cgqQkl}hLN*=;49 mC@p0OyK$T-{=Zl!C)h0~*2IaWT@(KwZ&;o9&!6<_Iq?rtHVu;i diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-ansi-l1-1-0.a deleted file mode 100644 index 2bc4656b341bb9b4553264b6fa7ecd16361e417d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4474 zcmeHKJ8#rL5T1L4M+lE1f(RNTfkc51`;s^pDMCR>1QHU86j5({vBNpJm(D&o8Wd3= z3X0TJh+mS5nwlR&nAwND&e`0hF^a@WUax0Adv<5PZ)bgf%^mEup3Xio(#2l39ow-Q z_M%}}yi2bQV{z4yFYL|&z!iYfPk`zVY}UnfZ4-d58%??x+hFW<=nq1+?MMEAZS*{! zy$iZ-KVWDaH5}$Fv3Ag;OWJ!~f3G+2hi;z{tP|1;3_tQV*z*~6F}E8AtZg%!SWd}2cPQP>JB^7LAVpS(JhTw^f;FD zFj@>Nc^EBzRgR&^q>GF(kKGJ*RZ6)S9yek~r9_b%FXV#?Vam|Qx=6)y*0-i-eZx+6 zFU5KXSK}5<0jmF+^|*tIGEbwyaVl15V=Ccb#do@s zP64{S7F8L3VWYS_RJhhc3rn2~Zc>I>sq0$1%mefpmzs_ZSz4n#=rQ*1O3u^G0Bgz& zgBd~F9mzvhIZ84|oDpaxm(baP<`)uND#J7o6J_IKtNYYQ8t|M z$>~FSIzCQpNvoW7^1yClBKZ~UyoxQsZoy=HlsX*CMB{k}^f>Y?15yb*V&tKsEJ+4Y z79NF^e)xQ8^~H$92=Ua27NMUz*rG!Fg0NWpSyW~CijCw9HTk?%oceh7;fk=QQ^cZv z<`Rndf`OQ%2v1{Dk&5VQe*dP3Q8sQ&5g)U0u_Er`N}pE|C5;=YBQ$>NBCFz_pueVy zhP2SF4BxR%RFRtb**}qVXJP+Hi8`z))lt{}NdD&wx$DO2SiluOuQ~v-{}wN@GH92e YlH`jxL})F;H>|T~ErgNNSC}sT0OMT-Z2$lO diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-ansi-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-ansi-l1-1-1.a deleted file mode 100644 index 56625cf506f2bd82efb3415c6beb7d308d866029..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2786 zcmcgu!EVz)5S_#=g{lY+Js`Lk2_z2K*lFq-sX{>oiDM*$#BJ-u8)DUVqS%3Ot2l7t z&~M;Ndf+Sg7|P79H{LXMTMl@m?2c!jJ-g3ucKrA-m<`9TwqKa5&E0oB*K_<%*EAh5 zrT3=U@x9`P<81)g0B8+x_z1A|i~fuqG4>(jvyAn5&S&gs5_0w>N`q;{(7EtE=5<*d z4d`F^Cn+CJW_%t@8Nrf_ZeaM3&(V-GnqonkMJ#q1{Q`!MOE|DG55gwm!P|76yx~)x zhCI#R%XMY1fw3r=vYN>-i@)afWJz!xv##TK9+K+4^q0(r-)|wg0EaDrd&1fTJLijB z*!7(W{bM@}@}M3fW_r*+w+C5v4Gc~R7tsTsbQShC8XLGSz4gFRxP9d(+)h32K;fRD zv0H&t^J+w8SV?A~GOR)w7AeCbWmvIm;m;1^80=9L^WvsI7XY7Hqu@k23ct=Jg*Gn5 zCz#G-yAGpqXw+de{xDrI7BREh3XTPLn>cj^M({@JFj~aidZQTB2-Ais_D$v_seb$q zs`uUUJW;Cm@NL|uE#UE@zbWCW=>DVXJ1X2Rtp?Zipim0E?JCtPygq8UWftl4$|jt$ zFONIuFo1eG4-CQ2U18ls?_+UZA{?904vg~gJUx*fp|};MX_F1)gkV?Z1o2CpmQ6o* zHOSQOA;#Mk*kC;U@ZkcPej~-&aRpUIh zu7_y6D=^B3J3ha7N>^uRrBAnN%0EI#jTBod^bT55;Zn_bS>&RA#!+}3Xm(3E5vU(^vE1~gcdbA8>Gh<*RpHFPc&+Fe&ttD HbD8)TD$MHG diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-core-l1-1-0.a deleted file mode 100644 index 87b629605d5bc674526c7b9c19ef9eb1cdc4c345..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4486 zcmeHL&2G~`5T3*-KcP?#MdE}Elv@+*lDa`csG@*+tSATxA#L4c(^z$WWV=uy4n3fr z%TsXRC3@z>1Mn=AnO(25iJhMwFsj5#-kr>T_O55YZ)csmPu!rhH{Q|3*al;7LLP){i$^?Q8@(oH zAHA;I_ZT`4>ke~j%=dQbiv7JVZ}b9w;Px58Iw9S_@F5?(24~d8e4E+KVlKlcbvUp# zcbk8CDAR$>lTh=Ud1uGkf;+Vp*ZYRmI^e8cZEfW1P?-B*s-ug8&wHAcoJ zm>$F8IE)rQV;n|{T}falD#Im?uZY_mb{U1S7!fmKhEcdb{E+w;jX{MlMcBtWC*_v~ z+uO6Vy>21pMcFAUwmY~IH);A%`qyk<5!1kGk!FMQx*fBGRyvFA3a_^sE>Vx(uWZ68 zd$gTLhXGX6K46IWTo=|XTyKkQ8R1w2Z=e;m54uDQEP`!Ak*1f-K@TFjQV$egis_)} z`;DA)N+ANQxK1r;6u=X;tcvgxja(8^P7)Ie3oR@wLT1zQ$y#kqQ`lt@mJ?iHIxu7@ zjCP%6>~F_Rr^W;e5cIT`o{R&nC#L-LTum)yLHmgKhNF+C?{w3f?h3Pw8P zfF4hJ3Swk75s{-263-xaD2#~4kb1;>6AR>wWw@zzH{su-#KUQ>1f){<>JKB@8*gC>-oyK#o+3B^d!0C9vnA7gEDWGky-wt2l?*&%S_qPYH!bj8l z$h*b6+_SkCM31VEq;%Sx9|e_8ytw05)zEd*G&Rkv;c^SBm+TK$aA5&zIe^=uH3yY| z4{$jrng+Y|ifskfL=?aV?4DNkeSZoJjtS?`3zw@A7U>2>oR?}Fphvj1$WOTW@woK} zw~UR26kOCF)yTqf+b<&v%OMNP#KN*`l<`-wT^FFzbX*=j@cRtlb*^b0M2^s}#*v0C zoEw{9Y7Fz^FiQLi<1k9>iULDX8MZLKB5rfoRmhFSh?o&G3c01>mxOmT1{q=UaDZh- z+Ak5?TNhw^O-IU~W4nnfafhZ4#sAIr6)_Dg7HBp&uf>ohw9;v8kML@(;9~Wt{ZX56 zQTu#7kB$ORN&7%S#OJ1H&BFDT*q9NHCU^tQpw;(?7-)iRLy@MB%s>w!x>64mUy5mB z>V6~VJfaW*j<`-WX%xT_r7ZIB6C0VNq>Lm+3iEZe6)Cf6`DA@$LY9OVe}mv zi20O`GoyJuz{XC9iG29Qr)Ll8?&Ku#C9V9l^9MqSi!=wx&+FKd{FYqC+fa!kd1y52 zfErVJO94VHi0IJ>u_wtN5k^F0NI~M;i3xH>a)x+%M2}R^61K=_XONy9aW9KJe89`Tayi3Q$idn?fzo=qz zkba`R%qqDXY9did93t$=!&fZRzgmi8OkWm%pAt>zGiqXWbtH>?MxIR5gspHXOHFvn zxRW$7NXLz6;(atdhK;$)AoQ7BV~6y``Npm{k|RN?qhGf*?XctG>T>~+m7v6 zuC-zq79Ubu!&vON=?z^S04@PE4gp#p0cL-SpMCb`y*B|kcXaz@hI{t@P$D?+}%yu!)z6|EWf>>jTs3Y*;ug@EFTu%i*&}z%erzIl%#=GOamS2o(>6P8KZ*d_ zTVWKWH~cyUc-z?Wc4Q!pt9hhpwTZb2rsl9&g;DaSRbiCewK#^dQnWO`Ja02Nq%|rr zJZHoVt#PmTko1b?AR|l@cCf8Uu{yE6cLBD$7E+#DSC?#ea3`+Q@}c#w+1}yHz-FFS zgX_ALvV?ZJjO`My_6jajk2)@W!byL!pTmF#)Y3Vi@%&un-g&s*XKrAy z&VSm!C7f(qnHO?gp`K7ZOv-VY!stC#5%Z}W=g4*4K<9aikuiMZ>2~4W0b^=j?B#S~SP&4OfG8PBknpPO0G#lW>+Ae1%1I zs$rna`zJN*m*b|?@VOk9so^&6@6>&#UUr~gcMyPATcWiS-6yALD MA4GAmj=wefZ@a{1V*mgE diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-management-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-management-l1-1-0.a deleted file mode 100644 index db48c5febc6465cb6283519598060b20cdb1165c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7682 zcmeHM-EQMV6h3j$#rO?{sY2;YVg}+r2J6;IzL50M7wf2LPL&0$lxBUQhi3K-V+sy8bHw zUE9CO>&71dbiMp1T|x|m_%I3Ampm9B24dn*{d>VAn8qS>g)1E43w+-s05J;uVJ!{9-Pm8mcV&-0 z0wKnexyaf+mfO_-+uQ)6`p3D_PrM5%>v0za?iJ%%<^T7OL00 zcap#g_CYv{baQw7=`ci}^3X~i43AI3xIIe<9MED+dIzfgjvIHt{}Mpb{hcC za%~gZac~lIeR*cX-hO-N$Nq8%KiP%7N9}_sItK=)gd5WfZ+12IDpoeIUuN0`N8@_h zPPl8!aXT7!3oF|tIQ?9g$n@4EY9Z5Gk>ph?WqK=gTW-r~55th~?V~YHjZA+%2DsNa z@{hGa*-d{^^UYiz2xj`yT81(F*j$D&e7M0F@=i7>KePWf@lms}6vMtFhBO;*WM880 zs0~VlvEXyeYh7oyi2I`paKG>N3*7f`K5%)(w6SXLceopvZBuWsUoR=H(0rG1U*pZv zz$IETpX)l|bUj~QLqiiNr&XcJ{&|{fRTw|wAb@a8%pN$3NB5`4(!!j}c$x-TgDTj& zQWfN1@@bmP)kpTZpc4jb##2d31( zoNU_Al&Ou@p70{%)ym^6B53y(gd93Cgly6lncApo^5mGeB-DA9@_EwAyt z%q;jGE7`qV+5WCZwQ;;*1@x*aVCPZ+IE#|x$=>Z>DPR*a+jnNpx+>th;(Mxqo616k z1>a$w8LbpR)>PkNE9HN;BLCf9f&X748P1CUpGd+mZ|aNyM@GA6MSyuZt`GsfEXO7M zrxoy`5nw|yB0aG(Q`R>Myny|ulxpC0Y2e&~AF#|F#|;&vZdgeixLr{P&gD*src=t{ zzlj4)$bNzOzwd;yqm>fK*;Ww=Iu#Xg83}kjTc&`25(zBGePF~E)>#ErB0+A%QU-bB zDsCQjpResmoN zx)MSw4iyIuJ#j;b69**zhW$Gbe*}L4%X>4P@i-Yf-W(i7n~^-8%zW*cd48XHW9NfM zZqVv}y7h4-ne08=u^p>v*DDo^H|cq$vTrq`3r@BG;1)pn4S>ycfSZ9hwtoSj~c=`g3k zdj2ULQT=e>wT6K=b}tyo`Xjo4;Z45vTORAX1NY49dxMbm>da;qa~a;R?*Z$2Zo7~U z;n)k0#dy9ved4w7M{6AT;WJ>&?_aRg=C8(H@GQFWICR7D=(Ee{8e@}QY3wOOpf?>3 z2Oa=X#;AZcNy|>dRBp>lUmyi-E;|WIe?=V zwbRjPh76vQ&ZiqbK&C`Oz+fH6rKbb1q;5~vlWsd*w=Z=Mv2fdp>Xd!Q3`$AfcG!+kDcX_{mKRB-DGD#*TM(>Up?j~Me5CtNH&p3X!n zz>w!6E5SclC@?q|iW{eGWMSIp$jyv24L#D_;3oPRA2w~fOtjHj^$^?Jk=N6y0#?pQ zgONd7A*lybdLBm*6&dJRHn6jS)-S}mM5Jk==F+TFw9z~$qW);sIdWY0vG94Mk##uZ z7cW1gU)R@hU0k}6z8~ZMNPP<*y@@5^)CEJjWuzoAo+j6Bi$&0-`p>!uj_!K_n^+{O95DkGbq@9@>T z$5QigPk^BDp-hP_CHM_<;9?`;ArtS|+=~E~HGb^i_$kHlRpR8gCK3{>1`a+;sxr1%58bj6--XcHTh`q_OGD5MGQp|{Y;l$b!{EE5Gh@AB_ z9I9m@RP5%XVzslPhn-5rJUgqh!9VcxhzK58f`zbR=VN6RLo!*JCx)zn;eV{xAch!cE$A>eErbgz yCl}LSc2{4m9;i2tdAI-*7r2*L=GgHrUp@3U4rL-96@SOv;QVTHmC{xq8UF*>P5$)& diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-winsvc-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-service-winsvc-l1-1-0.a deleted file mode 100644 index 2b0db2c5e3ce550c57a7b29baab05f6096764b1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15418 zcmeHOTW{P%6h7Han>M5^g@~3)fGMFWQnT2(Y!azL2@5DMlt6{x0m*T)PIlYP?rPTw z0U^`}R8>NVydZ=Ci8sUp53IK_WOOe*S9xZ&+XZ@PTjRXZnm9n(?;Rpa@DRb*sbOk1tIUW-R(}#-FLb+sqOXY z1{)u8(A;J>_Yb!1mStPEX*)JPYtIF{;X3tyy)wAzIX&+tZ%NJTwccpWD z+s(bMou(m|>Gap&J$JX+$8nOXSa;g>mfQP4JU>k%x$MnDzrJ*x$XKhe7%T>{iwa|w4L4X)y0H2I$m=p z+MQa%Y45uJ6H^pwJ=gKvSPNo8?6ueHw1iUlhE#b}BE~c(I`*$=52FzTToQC%vg;y(M4oDrTlNdVaZ| z;@md7*Pq3?ZMM&66w2e=Hrujhty!~DZ?#CbveRt2;-&`=0d~iBoZG%Y$mOx5s>`wZ zNlhL{oUrve(ioPLbfobcXF4=8(Myam8@m%&R31yzVdF;DQ676a`VjGp>Y$5sO0b7< zZmcp%Hs2V+=9ewb%Z3r!d==jX5+YvX|FzA}v1VX2O|8LpT@-dg?^q+%Os25?DWz_jh zuNR<<`mu^SclCNzzg_6!!@AJ%W!U5U57`8JbQH?M+__ZWmfIrL&+YRx=D2-xTc+m- ztCm=unow4G2juZ&ECT`yY~-j0yo<9;$RNIijYb4Ptlwk>yhXf)08~3ikbyb6XlCG& z*V%6#mEaf5$iDgTo_$V;WPHSsvXBuev|tQ;FpiWvI52~d@}aOEO7cX?mQ-&VQd)XF z1t|x5y#Oi1%flk&Y{XX9m_-#88BcKtNXWP%B$SlkD~x4i_)DLdET6@9X#MjUt$)N5 z>}_%o1S^`r`j5jCXHxel9)F%l-XY1dLz6pC%w-cLl{YT4c}4c9-Vzc@O7JVj$w&$Jx(4Xv%_~+$w2XL#z3oTID^H}@%Nnz(;-bZ1 zqa~w7U4JAa!S}gRHS$J^nGq>-DzDr_vl+Dh*yN_g)^K^QKW<6&rma6by`HlE_*}0S z@X9l28N>3*r0$%h;0U>(AjA|BN=oo8#_}1^pwp$i{Va1OD<0JK_y`Z7pLHBOoQ_zA zfAm%CmB>Y5{o#&PuyxPy@LdcKey{l%w2YLXBxi;&m$M>bNm+S}5D_AREMZuNIHf@Z z9_|);#qq3yh=6PvBEHumA~@1kAwflXV`3>ICQQ|98tvMKm^jX^?L_pOkV0eOyn=-p zA)%xMUt%2j+=bIZRFt>vS2NnaWhs2{1$xngRtz6Wo_3xqh8?Niv=u{FuNO>W{@LEA zdc9!9Ks)xs^1(@N4dM4r%u0&8o_-qJPgm$2UF8B6m*8tmV;^%#2ndHE_xV5b`L^m4 z9id$e!azf^ojfs6g!Anakn*`6+DnmlV_y)~AL3zENGK`6&lsolo?|0TA#bk8db&O0 z3ih5k?A7zV<8Z||#6DAH7W8;?MXbjh4{>4M7|43YZK+%_@|VK3!Zh0Nu>MjRaMvXE zZFZ6Qfp*pC3i+YJ1uQPXH<+qD7BEmoB6qJT>lyZl4cPm9lx$Fn*#%WlWF%x+IYg15 z|F=c%7|41uJ*Tq4y$mad|I2yXaduP3K=Xf?wPNES%WkT+*Mbz-|DfW3Hp<&W%6tZ` vel0%2MCc(M2NUQos3w3r>P6;;ON>2bFDck`W32Zh#`<0-f&xb*FQ)hhq}DW# diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-path-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-path-l1-1-0.a deleted file mode 100644 index 7f76679162d989dfbcff29412cea3ed97cdc354a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5182 zcmeHKOK;Oa5T3*-lu{mr3OE{65QjS0A$4;=RYNauK@k$-g0yjKr%sbJA$HY@1L^@) z960pA59)~{KY$-Ync4MY9ow`$)Tp8(c^|W%ch@uD?5rQYu*Mti%FHu0DaMjv8m8W; znX0PuA-Po5x{d=}+A{!vPw5vxpyTfshI`4t8?qI|+22!eK9=6HneYw-^+i!x zbsDC-{47Q|3TF*;e0OKNCp4UE2}{#Q77z{Gx*{6LzGTx_8g+wUv%Ou;&?mYIaMm? zr_3dI_Dg3Wt&k=AagK=2e)3)&7u%B7g&3E}C6o*OY+Mvy^c|~+`J9b2!+qVu#;X7m z>hOz?jvrI+@G#cJEhX#5fy2Z;T30ag8ny(Z1$(g@#9k`zq_YgjcH}t)0`_x@(F#ha ziStFM;Z{h*4F6v8zSxo2A>I^GBVy)0wn*qK5E`BLMNx+D*ht--!F5G3PV zD>5&1q;>z67e?8*R4jbT#zlGI4s!Ucd7(7<$9Tcx;4TF+N}Lm(3I#9A@D1z4|F4`6 rqW@o17Ri78lK5HUqbqxwxN|OHwvYyu(?YUH$@fHv=OcvXr$-mPb6cW?Kenc3ah^W|HW*5j>@ zCqK;T!CiEVZqZqqU(Dqknx$TIId{P+vJ&f)gpiL2nfQm0BYzVzb&16jGlXC~eVWCy zCkeqgbDYJCK*xCL9E+Ey3BfoAG>q>9AI57?AIAI~i_SGdFkW|9EEWmDcoTkOyajm} zKe@uNxYvsQgv>GKHbZp@ zs?HUvE8xPq_?XFhBt_=R@;n#IE;n}SA+RVUC0`a7`Mf-IK^+jx4@j&${h^l+NUP<$ zehtJf^aL7F8s^C+fBVP zK@fSec#u~j8}+BpI)!bazq+S7``q6 z+rWT48Pb5OJ==(w-|7SNOYVFyy^)wN!n=U!2!!!bV}71K23%nJLoq)S-~``wH_UT> z^{(&<8B+6k8u@rSe4heBmf#h&L6(lsF`6<#`xc$I06PSV9J1Nj+G#vx6pA-(q%BDV z9bG07IKDWhGN@XIJ#$1xC^JVp-cd>kK^?$DhWrajTQfGha@KYnXZ{8gwu5ZT4M&x; z!*qD|;5ARuR8-DT`+NZT-voHaTaGw}wgqf~q8DisT`qglW(Zq=Z*c({d!)2WB%fwm zmVl?$olnRa_Tx72{Lq~bRwpdLa)y)x9!`TEzk2;1{(AXR(q!r)%vR(KouLogV~9Ko zDTZiBX2d#}k1?I*r<_C)Ln3BlHx z%rJcmYehksg%l4N@+&0O-bU9Wwqy(~3`Kr1MLxbC23j%uvV!~z3KmN642Yp*AYV@N zx#R=I(tdzI{-P=J)%8TG^8?JZCq=)B1vqHebC5N_w1)nKtN{Y_hm}7&n_wIL z?oCtlFDSmXRQC@<_n#5yr^ilWJ@+|)+E14f>3goIll>+;F zLawP_IF*8-OTh^)1>($iVx&OyShEF^YI{ax>K{&}VCYhCJR}7PvIXKRj&4#g0$X6} zCr;0W?kfd@oC`e$Qoub!abFYQ4lxF~CYWUedgbRrWp6q96^d>BZ|WURkx$=YueHD+ z$e&V>A9vl~AM)iIfFpkdI^WnQ9Ni1r0~j2%H=2}h0S57ky#vS>pHqU;kMj!H%rBty zmMeXgWLxVSdxTT$quTGK^#{TJq>6n|`w7CnRQm$^_VvD#`h&a8WFkJXw{aTcXn=kC z8GK^&e$ZQ0?{ku6z3-U%gPm0G4_ogaQL&#Gy-$Iz>wQkLjeTR^Z}i*W)c5;lzTd-u zedUi!aGNLA^B%Kr0kj@-?XMGU%Yd=xHV}Abf|0J2_XY82}s2JpFy4WR<{6*WLy86dV5ps4;}mCD)tjG{}ZKW~8%=ru$BggamH$R6tkK%v{V z0;WFSR1)a>9HZCh`OiTlArrwxyuS$>L=wX0fJ?#%Y=W^5nEh*XF8wYTWFaaEgPeXC z14$5n3=6f!*$>A4b5^wnIjS?*B|~07Lg_6x1fu)4zW{KI{l6*h@g4TE0E6IOK|<{J QfcnC{RQuvTpKam(f4QMPh5!Hn diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-registry-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-registry-l1-1-1.a deleted file mode 100644 index 23e421b2c8ba0b452a3e1f4ec22275560df575e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2786 zcmcgu&2G~`5T3*>g{TM)J@kN(kpOWZ!H!bbNL3Xn5=1IU5vYjU#;rGvRp&>xqlR0> zffI*51<#SE;BhE3yWV8o*rXhqvAjE;{p{JD{bt9{4!r2Je^_~AX2ssK9owD4^HULUKc3%OuW^^;wV(d8PQOr6#;Sp<%e9kU{p*Ic~8mF$qoCXVn z6S`CTXvj}T5ubQtMzBFlFR-{zMi%k2AWouhEVLP29>b3fIIuqV{JZxCpWC1K*?XRR z@xlpz7mWt(qt1T-ymV=TrEq)7 zPPpx2+`huSLS-ihr^Z!}+^7!XDsrPLxlvWzsD^eGubLl*2(I;lkf$&Gxdu2Z^}KUs zNbPzo$+dCAKf&}kmWwc242>d;7C%fF^hJ@$N*ZGkyGdE4gFpNB%b4cq(T#6&oXU=H+>{$zMAErM^ENYf(MkP#xf zG9xIy6w`(1r;eQSQjQ3)VmtMer2upWC@I5lRM%B2)|+RsMIw`JRc+aC=y|p!!t)ci znTmK`p3w>Q8pr*V@6?%K-Lke|Ezr(I@{lK&i<&X71+Ezy6 zt~#K{Qq&koGeJa+Jm6ch#w_ZGvWQ4z@<*(h7$9dPXNdoCXp#Bz6g3h$7o_D-Jj-q;nEd9& diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-0.a deleted file mode 100644 index 214063d57e1ecbf0ea7acf546258b5ef34703f48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4574 zcmeHK%Wl&^6uo(rM<|a)7YMO1P$U*4*lpsbs6v&BN*4%K1=dq1o+MVCxQgA!vSNV{ zV$lUZz!$LK2l^3w2Oq$Ka_@{MnKX8tE(k(mB+uO3IrhxlIcM(V-ip(2cAk}<7^B6i zS+-@Hb;~vkQ*`OIVN@6E@eA7}0Js8>`w39|f#w_eT>Ah(&y5p$7+YiPZOHo}+vE}N zv$eqG?7-_eyBmrh)3%WX_Hu2o)Qxaj~Z zIe?qOnt@8h4(6({W1*_Xv%-1f1$uEi$y+4a>;TvSesEW@y>B%2wH|xV}%=O3U+k{L-&efOf9s z>?lX<*JDXT7tV}NFg=d>G>jI*LK;SkUr}HvGNUDqv54Iab`^4|7!fyOMv z8iNX9^3cV4YG*@9aK1A+=j)a{^$cUXq&RQmUfiMuK=E&LenCtFt2vqt&g*u}6WZ$} z&MUm$YPf-h^nPU%PT6PMS#%VDYB~)HB0krJH3{20;^0O&7Qq~7MV-Cgj`Rq=jYOIj zIR!bsvV@(7@7PW$Wlc?HLS>w}3I)@UyTVx69b0O4wTq-Q zru4#u;Hz91@&LW)MPDNi(P!vmG(Bf#B#k1?{sgMv;8`?t_RJ@pnKS2`Gt#HKUNrQ- zYJF)Ji_>>p$L$Wbw{5#Cy7bz%`-7gk;jje&?*Ld&0M<_duKXjf4b;)~?iccU{|5lN zuKpsgtuuhFGsgBAyBqT;W(Pds5!;`RIC~g`-Yj6KJQ=vm?Xhuik1nO3hI}}U_ycdo z2sVl71{V9IWbx1&2jMXrJB)rF!)Hx6FrRy)|J@ke4I_RW#5j{XI1aw=d*Lzv_E#Pz zz*sPuu{nS{JUNJ_LmtQ9%!02UdJzv%R`(e?f0}R2*!>+(!~k!5!(L-vQbozhW;e!OtVll#h}yex~^;6?yY_ngQK%IFbn~98yIauT8B=; zPZA-UD;o|DJ0mag%n;GD2M5nO_i!~9lvBb5^uX)A6nX`PH5`{-_Mn^M`l+698)n>2 ziu)Xe%?e!FpSH-2_9Sj2H`ePs#)1jf zwe3nRig|y9m>)QDAGYnoRvPmzuEl#a0a$z0F~2Q_fz>9B2FJCf;)K?^D&|wX-fFmv zLwbKI6E2lsY&THR1gdE_XbS(lEu>|l-4`hX;aEiEz)|8q2=7ach_`~LX_7TCLU>m) zg8WN9&5OS4$T62VBEV_1Q%fubP}35!1%G2(Q?jg$X2i0%i={8AwkWgg^meq&@}}_2 zIWBTbNM)AM-g5){eHHE0*w9@vvtTCBc12;LqB_kpMwSU^4SQ%T((FQxD`b`dVt%j2 zWh|q4>>=i?8t10N`WS`p6(-f;jGsLh8|?XcuFIwMd1oVpQ7n>u8J};VB;#AgGX7Oe zEM=l{-T~d8BFli{g76$!Xr`JxgQObajRJ$jyeSIgh~x+X$N`c;pP)pAb_S{0qra+H z@E1yR4t@(yhBfg~WFx_o-jY1Ish_|kPoAJ#7V%`H#aEp?2{pU(cydyWEAiw}H7?`H z2e|I5@?;GRM}2(OMdrwdiVZnO21-MX1%F^|n7QPKsk5FJyPO+0m*vK-QVzM~#`TOF z*Koa8l?qW?@F%v$nM-z diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-scaling-l1-1-2.a deleted file mode 100644 index 847b7574c515a733b67a999892c237484f2157e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2782 zcmcgu&2G~`5S}D0g{TM)J#awCNFZ^*!HyC)NL3Xnh@V>|RIVE*c518653wt9tT=Gu z(3jvXIP@WS9?Hz@Zn9}@l1sBvb|p87@)3O|% zGJDIaw>3;m$Nn@H=$yAa;Wb1O z_vxqnlW{nh%))bjDhM`8=>d^OvP+ny!Jt1>s_P;fsdG-bZ5x*JZXgI2zZ~ ze!}e+;|?|M6&eRQI6bdNRE9lDZB&LWm0>Go*okYqcD)uP31Mr)I0@B5f3E>fOGE!m zJCxt#l0sK*#3z`^W4Q=pa9AnA82n+nU@T&0wJDC7yIq|64~BUobyP|(S6`z3Q4DH? zDZ>c+t>t8uH6LxR`Iakh7t2~|-ovwaOdG(<#XKi=<#czb`MM5wK&!!ZJyANLv(D4J z#+##oTjY>AuWiC<`{uZhjtWpuw?T#ZdC1l#YLEEBL^w894h*yCe0(N7thW`WX_H&X z2xeDi1o2CpE}MDl$Ti=}5e93u(@0qgpti+!8UEn7rBboAG~+Bw9cr9v>nh7(!!;_) z9y9Y3519&hUY61Q^cv>_rFI%Da5k(gSP6_Y6Xu%gd$Dw2CV~>5yVeZ9YItYFp}<-k}t2 zRCEeoxm|O>H%>;;a@_{l2qI59uO+3gnDBI;_Rjymt8gcqa-aWPCXzF zJ)j;q@E{yH^a*$b9)&Vv#~W`q*={A23W25AlkpdOJpRVx+CUKM{J`X zaQ42_^9LP<%3;G}UX6vFZF*9DzsFnsi0}CWMzC&7AF#MhN){&(_q(Kt5*E75We)Qh z4%p?u+T0JynGrV7jD)`t*1X#1(QCgK^t&%wEgr{G3ygKT12zLtLMBI`adXC+3M?F} z_p%eBi!_^Z#*v_4cQ{O{{Si5eSm8R3=XsV@cQRH4pDrOW0M;wG|3aFFYQl$!kc%q| znp@StPyAwt=vjy6adkV6&w#-J;W{+ngPOu3U11LG(#twH3b&^8gj+1e)fH|9h2Q^nY*zU$Qa@LkCwk3;66D4-&+OF+XgD}Josynnzviv#$cvso+ca;9za%~LiI zO!uWxgwgzH7GX3W&It^8XS}3-7XF*ZF0)dI5xygan3X5vgQRaX2Nl8?5Mf>J8A9A| zpM(32Re3^M*4BdJzK8pA*0+tyII4@K4|koh8xQ@4a9uR$Bp8R)fc0EF2GsP$!uK4)mA-x?PWx7lm+I^mkGB0AF*MZ+dJIhmUPKHzGscjo z|MSQ^^aY7`Rvrq|vzeMQ^U%IF@3cI0kdK>)p~HOKC=cDk^_@2lsS`Md6!ORPFOQ%5 YXg`%K2W?7)s15jr?VtF6FY~te8*kBCwEzGB diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-sysinfo-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shcore-sysinfo-l1-1-0.a deleted file mode 100644 index 918694333ffdabdb66e1012de7774906800d5044..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4552 zcmeHKOK;Oa5S~2BBb3LX2aZMp385y~A$5aPp`wDI2Ov_#rI)Q~9AedZ5W5gKpq>!N zigSNV`49XEegJ36%&gbmv<`KUFbJ`dz2n)>-rd>n+gV>*aYozSdzIV9WU-bk+p^7O zeaSFPZqo0D(YRBOUf8Mtz&U`zH-Pe2G@r`r!T|tXm)_AO#F`M#19udNmK(Ywu{LPC z;*HmLhMqv@xM>T!A$;!zU6Fs#cee*4ch?yTg7pG=K?GfLir{VF^*aOMTf!2ia0Gs< z=Yr_EPW!ia1{-d;wmTZR{jfC}Y`a15a6I(AZ7;k(9MUwO;Pm|U2Oxyk8;Y#x_2Ah? z^a`7gX6hv?y8UVphP6SwII6KM_`Sn;**QI0q z6HJd|aT-R8VQCshi(i>B6q(5q#h7C^hfSrzR1C+B*ikCnnEXieM14>pOc8o`&uv$z z5a+uyaK35D{mw8F&fB;aS7-uI{?nYV^DywXK%>ENU5$7`Yn{e5KW8iB7DI*r(~6z%t&Q{iKQ;3c3NgxZt9ukEJx-57nzO}X)2?= zXA#@Oi0xDvU}nrLmD@|wOGF zvz^j%QZ45!R+E)YP4;p_JEuuCjWJ-Ssi{Rl#X?n{YTDHL{h6BD>9`YW>ZjvkH4)Qi zRZ{`@AkGZ?`;{WcN^7YrMQJBdiafbXToGQQAr&D1Kl1s5igSgTjotrqgpkDbu0Ue?V`kk;b4q6 zxp?xQ;ScfPUn0KurqfPomxW6S(MdWpee<<5^XB{J%{+MK4z^p*r=FO}WG~u|?O1i| zscBl=r01qtv#a3;n^ORQPvJK}=@-D{OZi-X3qa4!mV9Og05bz2R)p9Hyg?w=yrDM` zE4_v%KKfm^?+Y~U*B#;1MBCq@C$#sv-ga-`?YVtHuuec9h@eGAvDfvt@gHtC@I~7e zwy=aN@P8c-M9XsS8!Nw%5A%Bm#s>p-6njc>9@V`!#~FW?+Q(KM;Su9?oaC8I57r->AozE!f1Xp zMqxA`mKa0cNv6=x?7s^owJQFxU6N%%&6P$Enbb}`RY{ZqvK);YLex9chH zJGdUVX%bMnXzo{e7?{n{XmDKjL$1(zXK`QQ^-{w{TGHE9op7ptvYbYP0hH6OV6cB~ zaP2INZ}HZQa7@e|XbxL@-5qIR&LuoelgvRC>|Ln}@-O)`PWtX6$DGm$gB9bcB&7oM zIG0%wFg)fNlya3DsV%TDElA0YjWpFIO>I}%Mc;6-={S+4Hrj{gv3)aSJryQcXN)u$ z8MGaeddNx#aRiAX1FdBZJA1G73o$McY3hg>X5%8Y(L5-ke$K`@YFu}*vKnHP4QG6G z{E*%b4`W+gGqTPh*i2lcekDJzVNLQ|av5JkC8nZLI`)9>M~*ZQYJojQJs8RoM-gRV zFC-Mi^QG07Ba$P;(iCu+y6O zg02{+i8mUT^3+6A>-RKG^s{j(O?=A6MVh#SYkgi#6m@p+nfP++fua+oSPze-f%78# zz*5sg;$jfpQKU7$>rt!(`@a%sp(N3x`${fKC?GFr;p02yzo3NVjMb(5g!LknV4YD3 zRyrmeAbrNggxA_$nrBSd()v9uCbYA0DJ6W!#zirKZfEC>3A95>22g&vRWL)_38pw6 W%t-_1Mfi?oVzx;Mumkcu6a58kNNo-P diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shell-namespace-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shell-namespace-l1-1-0.a deleted file mode 100644 index a9927de6ec278fe32cba2b52a35270f369a640e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19936 zcmeHPTW=dh6h2uev`z1ApjDBIivm;#hjlKlBUL3dX^2r&B2okoh>a6(YPY^&yKPz_ z6d_bqs1FrShzG=Dh4>MD;5YCac;Y8e&Y9V{?8WvvZ3iv&C^I`dbJnvn`+et}nc2;` zi^bMf`O^6NX@AJhWpmk_ozL3oH2z`G({wsJJu}U(*cbVkJJO-e6>JJ{z{0%_yEM8CX+z}opPXJJS=MsUkcbeu)U`K;}>+RmEWaa+z}qvSewD)nNs;$Y!U zKIi0SooZ#1qF3IiyIYNxd#l)VNUYYT3!HY@tyZ0SvF5g$#VyyVW}U2KJ4FY7tmcAK zc8jGK-x{p1tQA{rcd62DR*QG9vZkF%t?5Kmtgn3Jc1UEo)uP@A7-PaLyVNfD?b)ZxJ z3%$zqmCKcS=~^RjcfLX)6X-OT@d|~^a-&*uTl~lQZ(iAv!^*FS6zP6_->adp`l(xM z+;&%s?M`9IlMfUYRts%kAGHF?Uitb~u_`YW=Y>^7!g}Q%BA6jVowM9kcSk%>bzWFq zZn^3Lc7kO%%7OdSig^8Exl%33mZ+MS6jm1-warRh{iry{nko`K)RswlP&Ic8a~lU;);iOl`K?eZ*jw z3cPZCEUD>KpnVe4#}O5Mw2U@}sctgb_>D3d8X14^#+Z%W7*?f5y2`L|BXp!j-uC~9 zcSdbcAQ=nln3}Urg!%FSn9pZD^Pg6j&*8H;Mje3B{~Ght>^3k#!_P2(+QSJw>nO|% zdHtx#Ne=1tB2RK6A3Pqyf)r3n+91Wo=P=8~L3^2)g3=Tia$vhtzE!`;OBmjKBW;Kg zY;-vzXnbi*RnWB#zvmD~n6N-Q9f_p?qyt2-;7`n&@|n!?tZm!&be5B?pKZA?J*(N4 zeQbCh;A2LI8AF(7qaM;=W$P%!(%?%CN^zp1wtAj~=Nqm3uYHN5*PGA+^hqc>r@9 z*&M}q>Txh+gTfXE^l@bN1w0n85u+ATqD0vaQNl*S#~s#Rdiwm1_#FaJ$2oUSVU7an z1YTmZbDmi66J{bN0K(ZPC)+<|Ff>~syTkZk$K`|WYYq9}q3W6VFoDPj&-RkdhtnSV z6(6KafHfBU%=i%QwID=9jbTP)=VLNrhOf+|nI|@6M351Lgh4IDNzRDSdPb5h1TKfM zpco;Q29{g!3#Nmw@R;(@gq_Idzl;pyjzhj|CTe!(iN#njLb09ubGQ)cZy_a6}@)+g8W>NU~iR zgaf_aE-=o4nV1}y({}>79T?6gCZ!!nBYp>+X&;sxhIaWMFfAVW}cS8e0?Re={Ex#b8Jn&v>PGZo@jC*+;`dS zkhrIJ2?w1|9AHS`?{_EJA0p0EP;&?J7)7w)K4!bW$!;9+G54y6i04m`6G^T%Jrm;h zBM!uO3;%z_i=GN4FV7A8Hg?P%=po{tKjQas#Ix^lUJArVetBeE$H&}B&gHYAm7k$k zqgH;%yBpN2c?A*AJ}tv*lYw}3zxun|;%#o_)g0&Qfu$DQ#iP*d{JT0sYJFV1b!W%j z6Sl*?`*6;xP)=V*4T|zHLb>{KG9gGO=n7nuUq}4J@4#8A`|p!p2^}nWh^eo)6835U zjBEI~d%<>iA8d$yh5fy(*Nl2-;NJizMavVG!`LV8Q&3v|OO$9}hOpp7Fx z<__@Co97SmdCp%`hz0S5dop|*8iO$E`($9&zk2~~p805PlelLEG zMTl4b$>AmNbF|({;Hv>JuI*#)&F1o9KW8|TResK1X0js!`^c(fXnXNrRY(me|6b^S z<>Sy!wFnm6!>kYL#=h{E8h*I@${t5RbBA`JUc~Mz`M2_)?BHD_1L-te0@n)Z@pfNj MZw2U8fg#W4U&_Ce3IG5A diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shell-shdirectory-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-shell-shdirectory-l1-1-0.a deleted file mode 100644 index 68f7f5cde578a460f5d84cac3db4be43c7be12a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4450 zcmeHKOK;Oa5S~2Bqm;*?Lgi*8kPsrlZc{f%6-rf*daQ(i3)04EoW|67D0W5RfOY;lOvY+1=u-&eAozTgLa8C=ikL#TvI0puY zg!AZycNz+d#DXf$OScx73b(4_gj>kRtts3+bQUvks$boaZ?!>CL%!9RZ`j6stNB*V zs+sk!??b)k`EK;kj}w61QqS2_fhex$l7_CF8lPZ#9?N+cEr*pnjF!JDV<#25aW!txCqVU2vwoSU zfz2Y#2IsXDF@;t;i}ebx-!)vUBE4Vvgj4?M`vL|kKrQVD70%C9_GaOGpLbz|qcL}& z7xwpudosd|o60nOWC5Ds>`F~gekrGk>HChHb4n!)R(z*B=@ekdt!&Eh9i8IpPvKe% zOtfVd+<6sdZAG3K41=_GkrVU@mzs_XSz4n#=mGY(BhJ&!0CUC)gB3yB9chFtJ4`A^ zToGs`8#vf&ZCprjQx&F(m@pd`YmL66g_!r*I9ttY37xG7qhk2Q$0v8`*U?cDOT2RW zL_jAFW+II%*?Ac~$!^JHdOqT`R@G_fO1kcVo=2`S5GjE(MkC-;vdSbCL`66YQ~KfW zrPY@+k~759B1WWsZlOm;`+|(bspQBPY%|VHXP&c)Qy^C$R)zIn6}VE8(DC^!UdrF8 zic%IoHvUOfocV9!PpHD2O%==OTJZs?bY87^CF#bjE3#Jfv~ka>72|ANN)_+2adE9! mL}mSIt;pCl|LQt%6LUb8)QP$ba9f7Ycu&=d-2cnPY2hcW|Nc7w diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-authz.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-authz.a deleted file mode 100644 index e8a4dc2b04c87e62511e9ee7365d67e74c682e3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32542 zcmeHQ-LDhJ6(4*d9~2Tw2qh%64iJ*G=*IWU_o7A-S1tt7gxqqWt=gz&vG?KyU)!?R zH-J!tP!yr6s!$X~Q598HmB&8zsZTuh59mWx<)Kgg8>&7fJ!fWj=j_hRdThKmT4hI? zU3>O;W_RZIn{#H)&iKXGoqnVB#_re3@i4bESDmX?R^}GV z_}afkoc||d7?&Q3xbhFiF#Z_6V|?RF5m*1q7{)VCiFmHc7{;Go6!F46#xVZuFCt$0 zJ7XAs@h=g7{RCqee^VCGSz!!g^K}ug!82gIzF)-63S$_1kcM$^K*TNh4aQqRyfe?( zo%wpbRZ+EY)4x65TX3OpPtX}svdv)Cvo_4v@cdvN^c#L(o zG3PA zZkFP?Ty%Tgz8`y_v;FSon$veS2lQ^z1x*{i+dHaW6ptJ38Y766%$tS-0XFSo#u$V;zB%+H(j6fp;$SZJj_BokF$L@4VAjf z(eKVVon||x;!r$Djifa9gkoW`lmlJcciIB0Yu&cjxK(o+EhYb&NiNDs;+QrJ7D}#g z=`&kSd+7M?y3=S=*;u-e>}L{Xpct*I zl1YZt(~L=m)X`2ZgHIn1K|S*N*#(zob{J)N-5>&HcHq!Q4Oj*SlqoS7b^yPoY4sy^ zTVr5%c?kf_gT!tX>U$sFB-{B-V;9CnBEZ0jWA{*i1#C|pb_4O)iO5APvFPr&nyi~6IY{nMwvI93?TD+^wR`^O+z5Z4W#!!^!=^jaWB{RqJ+&Ur>0S+M1Z zsu>E79FI8i3bggO9C=#t;+~(M<4|+9*q~@4^UzDEa#gSs7WzMt?`yf z;KvgC6wZPd<{F^HNRi5b8S|$snNf_*d3y@8D)MGT_S7U}^CJQm>90yasd?5K)?@SZ zS|9`&A(#b6RxCL(r&?9N1HgE$AhyZ~4p*Q$EK z$dP>W;t20esMdg&`=U@{_u(_w8XCA$XSw!r793c%#H0C~PR+u0l;r$A&r_=Z1bF5=#A+ z*ich>qcw|}sd-D!_i`n8sh_{)B=pC90L&;G>I$(vw$p~%ZqGM*e8;t+o)a8NzKEP_ zPCUnZ5^6t1<|t?TT{v?4Df!eyPbinN&<&Qp@9K(bH=*Bn6z<>qhH$?@%1s+PP~SX} ziy8}k1*ah|gD*WAJM0I!adCf0Ab`A8pKm>I0O|mPw3B`)68N#iw&2V$Po9{-ou+1i zbXyPhyo&S(7D#Uq#BFB}-zVh~1S{`0-OS_FkYXZO=agp_97M1~ zkbVEGNZ`j3yA5Z;f)OjeGO_Tjeb0rD4I53U0d*9N{oS}|e^#`8%Ids)TRzr4wv-wm zS|Cj-3q4@%eO4`_V(wJxfl2004}{DxFF4KhIM{mbRIb!atb?^*nVW^yn6vdiFQ~q? zf*X<>lW2`+MsNeQRGw`n>o=B++@PMe6rl`s#+uMopR!JqR70rStgEvianRUwIeemzW9 z?OP!4Jlj}5!p;YRoR|8gNZ`j3`vT5UCW;%1dPbHZWY)T~e z=gPN68Dp+D9BwEzpj9QRR2Dj<@PhL`ErEE&=E}kgzBh##xaVA+?X07`R;it3@PbP_ zi{RaM$GuEOA(me7_#RQkC?wb?=8;Ardr}y|t?~dP2(CP{V}el#VMnYcMyZata26WG z+K*m%L=d+LO%w42d(3f1?cY)P65skW=RBFfBU0p?G8ry?zk`eKsRsZR=C=r(H3wLN9MI#u`NgbCWqS#ZG8 zTVAZP;1n=&V3Ji9Pe={~yN~C4EP-zuW0147;k+%Tl2sN6?$lk_vlvZREdAZp74^N4 z;+=Boqrg@kcXaT$M0zxC&hx1GSp+l$iS&~qfgelkCY%IOs_DwaAB!f{d3wBs~tE|rBzfH?IFP>L;u@a=&Vh0T+D@Hdzw98lZ*vI3^e3_QRmtcvYrd2tD7j`NkvSvm;XP_ CDi0X| diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-bcrypt.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-bcrypt.a deleted file mode 100644 index ee8432fa4f71b7b08d5fb120d927f2f98a92f9d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46468 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 a3h6v0g?DqON~gpc+Qp-R9QL95<^KX%l94h1 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-chakra.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-chakra.a deleted file mode 100644 index 8cc5a476fdcd6a8f9b0eaadebb6617f3cad4eeca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98518 zcmeHQeT*bWb+4T>7!Csli~(ctV$NU;Id<>%X7(Io?rwMQZkOZkxZATY2D~@B)4MnJ zY|nb8=Wf>+V;pdtK)^&qAs>h&QX-T@Q6eECMM`8P5mKTki6SM66bX?CDF`V_#2+Y8 z5ahjjU7uY&ThrcJtG(UQ>)Czv`lG6T@71e%Rn_mfui0Cy|L#||)tG;@~dBwU9y57!`_xsT}FLyRF^NQf@|5@Sf0 zKTq`0Z!(7T@b3~e;eC)=&l0U&V+`q$RigE07(?24nyA0b7}B+SiMH-%4C#p}qEEp) zB0YVE=(Fb;LwfcK(dT9vL;AuoqA!6g(wARP^egZ;(y!f4^i{?f(%1f-=(oSk7}D>2 zo#^Y3FQngxcSQQbKOp+!-(U>s8^A;QlMSLjy~-HUpFKkKJmdxGFV7HtYmqUezn&%f z+tZ98{XL{3{o_HRe|j@xNdE%wiS)0x5Pci|M*6pLqVL|o7}9^dg6RA3H`0GXev$s` zM?^pPA!A5Cglm!h_a>tM`ya-Te*8U7V`JZCoNo9w8$-JBpNaPW0~gX=tJLPV@PMeLG+PtvN5DZ;2}NudqfX? zg^eM7{4+#X;Qf(St`My*voWN0i>R~8#*n&?5cM8nV@QM3M4N}$7}6)+PW0q{HumKH zrKOprrAz&&*IzmxB~fo_rrU~^uD9dnMtcdEo745B`qWaVy^NIdyK%JA?L~v;#?s2w z=A*slQgaEeSdZA!)u`FppvB4q%Uy^%QL}H{OR#wQ@mA|Xw5s1C`5|*gfBE$55nF z(B_lmN;3D@pxNmgVv>n6-Hr3T?rOUOH`Ro6E=o0fiA&62r*gB=@?dSvydB6XHpoTE zg+ZLO*P{)qbgnf7`+QBQZKX0JNl>2z0`3Dn6h4U@r9G-%DWgSKD#aGF_`|3YT7lo3)Pjdd)3xM|#aQ1z5Nsn`m7#AFp<0tr-{a z6q4=@qRgu-N+y@NxV66A?VNRVZLq-L)&eI-K3oVy;27p2!xwi$}Zk;?C@@$q4K*HD^$ z#cb5)2E3~rdh=150KfL^pwr19S~0ndZCHd(!=3FUhrDe{a<8@p`Mpkcy35UuWmDn7 z2A@lwgziaJIW;bqGHjLhDh6Ll@}3$x{nxdo2cC}7MjF2Y{jdkx(RGLQv6HyG<>_f} zW2KNZ`GDtEvxSlRfig*#H+)8Tb<<}A1~-@|2CJ)4&++1pRDSp4acc(ps6A!Wwb#!k zF7&PbWBM=f)0R3i+G&%EQrP^bc1L;zQuT6@7y9HAn$9jx!lkf zN&S?}i^7%Q*(Q;&2kHqXTgcgZB?_1BVyEI&*i1U^Zm<{nGrg#pM3*ki&-Hqmjj-54 zPPLixeMwSF&}CgWMN#4l$%|WY(%f{(>M2SZn^WugsdX1JqCFC&L@z10QYr$7N8rY} z9u31OdZN6h8LzqJRf3SU^paj8WeORz+O3m=nD?ozOqproiX36d7IMOXIp4xcw6D>W z+c0kCiX<_xOn@YC0lidrZq7z&prN4t&(|U>_Z9SOFLE8*>z6Jv*nR48#5|jX{g@K1lyq zid_5|XA_?G9_+Jb$M6ZR<0)mwrG3Wwn1Y9`YR_d#&an5>AhY3?lNy8hI0iD0yXETQ zy%0&KQyIa796$e)yYRo~o>M&a*ER5vte7Up5vsmq(3#0{+hC zSis#biBP@KLwjTP-bZp)5P)NUr82nsg*WnkDuIE@m-QWho z`h+Les}XgqvYqtVV_x&dB9~HIbw8ioZ?#V#A7V);z#QO?P{skUO~Ic zu`=z(nzc}9_luS`CbK=%&x4`cZbZFB#&Fk1)MM?r!$#CM-EtYUKkb&29{X*eF{6$* zb`b5(+4JT0XJC;tKa@WMOUmU@V?PIf=jB|2-&ro9bigl$+L+4vH(voQ>-AymWQ{elg|X zPmTQ+oU{7iD1|)baEXTL2~7CKUmJ(Bn(}2p&vu%k$2WIVQ*z>^8BKZ0tpOQL`31L} z)D(<1j;bk-7#MLciZ1hb&%00=;83l`Sz_>Wjr}_O>RRG1fvk$;$OY05&**J6{>f{V z)I_#8Qa_4}f3^u7u#hEPQwUEevp#r^f4Wvt8v8zk@|is2xQ%Q}fL3(7mf*5xL3gty zD8o#gs}kw7;=9Z!M@`2=S$)wCAh*VFi3GR$nFVSD@^sC6AZzXyy=@%Mj`3ICjvC`H z;_a--TF>2PrqtH`E`&E63ioG-!Ou1JtMDsupIZW&vjggpFBV8U{9?V0!?4vJKX6?Y z&26Z(LutpIP}8IK1y&_Ca<)%`dzQIXcqi8aT{}*v9Q>)VUxu^Lj+_!Obt6wGkY@PB zhO2giDmAYcP^8_62p6=D*4_0hwPtv?8^cOK(~Y5GfwaRfn%tPkMjW2?=s8?@k$Mh~ zXwMxMaY)>9nK7g%-Ey*z3|o|r+-|f;JM2v$O05xZAtR!BQnDx^rN%xDXWmxWxz@BG zlN1E`6G#0b%T=6#s+1HUJ33S(&amRb0Bjp%?d(`;P4JF0m~hXQLat^wL<4DxUsSqY z&70<`lBX%RK7rP1DX?+wRgDW;Au;s9yxSUd0WD z;=M@RpegV!_ML<$l)3Nh9XH7CzXn698Z(e(_lqFck7nZrmG`ekjnJx%YT2(4(ybi= z%Z+yI1>vE_Q4bM=pKI(>@XNh_E7zKfW2Xedy>DbVi~DN5fWmzdk7g-FfVLBQsV%(c z9BOmJP95-CL4@*WJfp*v|IY2yPWtZ;bF`cL_Lte8@%7)$94ok6{6N;-H&UFn?o}*I zS@$9%{vQXt!+xzpzo}4W{EPVz%ENKZi`%XQgg$I57f3%mW5xJcHY-+KdHqU1ij4Vx z%&i}#_JDA;1s+N#WLN~aHTJV`c3K6w)2u@ec6N6|xo6eHQNL(#y>TRi{c5J1!v1TZ zPDkzWel$e^eVL}*Jzc*YeGu1_TixQPoItkSFP>YkXJ^Sh0gmr>GeH;0IcE5?n=?Tl z)}A{oo_p0TCxei<%H|lz^xSgNaN(Y`qvHD^#CQ7Lt1|mIsM~lbd;WG}@NV! z64~O5Utw@P?HR4DRz~t#B6w$`wMAA&{tVPM%xJ_}Th>?G%5B5_Rz|vWE>NG78b}9x z)&yt zZd4Ec0mQrOJFUi7b<1t_alRfN%DcZn41TV$ufeZRDM+o@w!A{=iC+x2+AD>sH?LhN z(j&N(hY)yFncD}?9)Sz-axBwnKSGUWPWwf68;7zZ`OkT@75Zq(ZjSckjLu|sfWQ$e zJS=QyMth!d%gNCm9N!qVtyq*gz{m5fZ+Dkl55}=j;ZSYF31aYbjeQY*MH}JDz1cQ6 zB?9#o{35^gY8^bUNlR~}J{0*P#YGblrEUlO*1?mdPe=2Y+UpxjhE4>t`Bn55!E0eR zWAj6-*t!51r!{(u-TAn`0VAUL72#52-7k9U%C)fa&a^=G-8Xuho!Rpg0A{pmEKHZu(<6L=>e4O3hk)cSG z_bkW6Ts&Bhdd;LAubqyX8yqj?{Zf(NnymT0ool54nUp{+foGhz8oNOgX7_(z(Adp~ z5%+Pj*dWjHMj`1@boaZO#2gC$+IynQIO5nGy+Q-Tk7m^&?Z6 zwI$Wud)1f4QQA@avI~g)77WG1QH~i1>V3(V!?$Ma27cE2t-{u0LXABPXNhdg?~X#b zwGyu^_a`PM8dV$>%bU8&au$6i#&k{VOKYoAUXU+74@f@U#0mF%Wj}E}w*uP+FOa9= z8%M2nzI5n<#CQ=;tpGgXYe7`7aV=6o5 zUd=F8eoB!U#;07!hm9PK4gOM0;aWw)*(>3%eL#%8-1_Ta5^W|tg<7k9>|hJ`2&4m% z37q9Vez<`jco*QbQRqMeS@;CW;WO-T)|ce)HjkdFe+M3Sj;A-uYQnoA4G%SY>^w2} zxyHTWBWa- zO`jp8Uy57NYCDcv9P)6VGW#)pa|r<0R<1S3+bMx??-yrnOl0TKRNqloJ=`K|15Xg{ z(YUvc_j=8(i%GZFTr0h$e=D~Tx(`2{a`30dJ_~2wwqNCW)hu+`4qREc>$ zP7%w0+{VFtyxQd$d8yAL1Iw=f&U5XAKBWZ0y=M%z^6feB^Kf6J7kezleQyv6XQ$NO zj<;{WD08gCT`>b8-7iMln9PpiS3ZvNad6H5sJ{IN3F#NN)|b1Tlkl-u5v`qXl^XG4 zpFcHne?K*k{9I$7gJ16BICHLn-<=*v5B%b|)z_)0D)TIUk#YL_Q#2$!m@9uKir12> zrN+PCI6Zhd7xf(LxHtHL@a`GCt#-oXfX~Bwk-qH*2=D2VsSii%-QL!vK6P%(Jg(!n z?+xJIk#i0GuGBy};1`>%_I?^}^NZ-feGVNs(_U}mEQGzM1C;YT9Y|Bd=)e)rcx|7oVN032+@{CNTe6> zXO2pw^ZE8?o9hvd=)g!$x$U~QPcO!mw5bF0 zEsWxn9RJ>P6$Jj%TsyEYQUck2zesI0jz1jtMaJd zrw7slzsPOn0}a=MB0f;vr3dH_l)McX*$0|$AOiUOzu*3rFn}ZMzdop=c!4nP7q6}C{BVpHvGY@e@pIQ>QOV@&;PSvdF?R3Bxn}2G zseyFBGlpC3lEalCZ@j0-+VjI19l!>?UuyiLEx<#K;maX0;EFFWgT2=fPPulYKTQjS zeb3nKq3pg3)sC-f-WvAtMxD2ID1-gksLwxO(Cs09%G?Irff;~9>A*4mKb>mq7vT>c z$I^5_%e`9>bb&D1Fy$G=t>!E9ip*;Xip01k2@hunozC8xudH&cpMbWH|+Ml#zlOd2|~KL-^QNUZwGuHJJ%ZKGf9Dv?-|{#_S+e1 z?7#SKA{n z^DV;-x7^6HeTvNEKS)|~s?%L=c3uLz#$pT{57ifN?Y9FOVdPj-0FxgG?|yOL`gHa? z&lTQPKe&kJ|5Jqblg&$dZ3xGP0hr;_k#Ng)|yAHp+@2lllL%Yrmgmu5zZnZ{> zs*Rcgx$mqT%qwEs-$ylX>>yTVtb5ybBgY!rO@1J}`^9k^)%ZRKd>-D5^mX5>@E-T! zdsfFgo$ht`oK=}I?>)Yc*fw%);oeLOgniHWZZ*!cH|Y6kOgF9%!rQ6pRLA>_{tdc7!4X1Z~@FLIfY?>&Rr%C!c3 zJ0%eAJtMl6#ouv@e|L&|0{pqvbnvFs-j27$Pt{!JS_i&WAc5Ab9QKXgX7?Ga#&Faa zPLY1?yA9-H3t#S0e7|osgP)V4p657=cw&dK^M^enxYf=hL+yN#nVat-wDS!$PYhO9 zqn>o`OKt1DXXra}u7Tf`8b}8`W4YDNvOBH=ccnTIw`Mv~vp2UXwuy%)mD$ht-dXl| zCg-{eWD^5vfM=ZcNWJ>XAs{nvZ1W~a8?~2v05o9ku>pjw%7S?HzEl#Zr)nR46|WL| zZDMMTU4gTJcADQEb>QW94i8r`SS)c1qf^MkBjgSv??f!egY~G_Orq0Ka|51NW-IO& zgEez3F>aK@jzV4SuW;Be2HTiCoUz;0ezB^rT4bI1ogC}UgV645$;)ix{dUp;J$L3@gTFgHkRJHOV=JpaTn~ywrQVKu5Oty? z5<4vH39E1BSi;_7he7)xzZh(_pU7~u7l}%}O`_diNmp*v`$eTl&+VL>;LoH6(gDB7 zY-RC>>p&5Ue>>L!{KV(pviL@h73fWNAhi3%U@NrmJlfw1XrJjtFl2w}!u(vXhx>+< z*}wN2!?AKK&~CE>q1`jydNjLEu-Z34joTNQReYO7yZWpp>QtE#|0XgD+FHShltVfD zB>V^+*K%!QUQY;wde6x0(P}j~*4s{w)4#>2e=_oAM!esOK{DnDY|3#K@F_nK-uh=z%y+oc7a5a(qr!Rw%S57hC3R@wNoBU~ zezW9L%$qs4pl>Ax(g4pGY&B{#R0E3m^S3AsXvS+V4fKyPYI8y5+CsjT5C-*=ezDkk zwVUx!)EDvQ-yl&h)_|AW-jCwVr#Uv!E|`Ik?iX>bc6j1I&mEsEvcuEsCDQRb1+9~V zc!f`;FSB>!x5E>8H)gI)&|7JNuwTVr5!II0K1E3PUo}-^w!!Np_9g5~?bVMGf0a2l zA+Okh(C!z1ZB%_(t^k%+)P+_Q>C4_M(JnS^d};VLqx5C1oSWFU69Z|0Uo5t9D7$j- zIe^1K#?!@yf&i&+Ey2!T4nZm##7Uv z#_LZAW5ILwML3J`dI5Aj_ij}%Bm(J!XRNl7T|@X3U}QUexUAu5H}zpzd+soO=(y!F z`f$xHC-tGoS2|y#5Wy#(l^Oro%g00EAHQ%Rjv9ka9<1D2i035`C|Wh?8<)*uyoy$- zXjKs(|JAbA#lEHGw)3O-_%g>P)D=6BMXzGBXm`k9%YElF7X9&UEP9b~%bO(HUmCl% zqQ>K)th(!43^bA>a%_TKasy%AFE(4vG^2X7bV7PBw?gu$`!~HxVqN!A%Wd69nQ5ly z+Qht(5(xL65!uRX=fKayeG#vHzlr-&_gY8s+BvG_PG)5DQ(hR1Px!@OtFg-Aw!O$$ zN!^F%DFW0&cr|(;2W3C_FJo6&Q!m(hz7hO zqXBzrwB7)@n0&C*Uf)=<4TDGwqyc`>*{TiL`8MFjj0T8(&h}m#kmlUo28hH!8sHhR zt@f$sDv;;t7ij}tp3#64-7f6b4I5pS+6(gA5ybTWM9$qRAX5YBfM3kE`r_vBR-nlE z{mV!P`blrFlB8{YnR@^@(uIc_(R6)H8L)5USVO(Z4}^Emm~6GLE3eBun_mR)H*man zI?+mUs@Yp^u0`dx^`7ynu90H}cat3m?Y`03YSk>lJrC_g;#K<)?afX{PCJDAm)W{| z&a>BZEU|7d10lVN%sLRfE0Nh6AU*X`7rXdJ$&v0CnKg4Ppl)#kVcjz_J6)|1cj$zS z%oefgV=2}N=;iOP`eR+?SjW1?4TN>iXl(TrDTI2i2UFxLQaG#dc&l|GS}lv`qTZKE R0{yMgz9N<8cSk2n{y*?+J#zp6 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-coremessaging.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-coremessaging.a deleted file mode 100644 index 9d5b919a1f5ebb6cd0c3eae843bc1fb207fec011..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24390 zcmeHP&yU;26@JUL<78_mPV72%5HyNw2SyugrOmD+2WheO+J-mC*6yzD8btt^UU4PX z5-CX3W*r2D5d=mM6oF9$MGi$#^iUK%^xR|qfS`Xtk3~;C7Ckn7Z+?(N&TvJk<`zsj zz|2rHj~vdM@0)qUN9xtL?BRCz2Mgb;#6xYRRQe{y9)r& z1US+LSf~OV8}N7>bBZT!^LPq#if8Wd`0`r-6kmCr$FmmzD4u_f#|vixD1P@QkBhqi z6l9k5~T&Kym#`9^d%~0LAP7;&Jou02FWi zmB%~(1fcltX^O4ZTB~(y^Q?Ml8x%sLXzqE_l)nXO zSwcN~>%k~+`urN}mp5$B?nHWFx5%$ymQ$~EWiNKS{4^|7W!8Ew4&>z4%yR0Le(3q$ zgT6l=A+sF2Z)iFxp`L9Jm-p#=J8ox;1CI05x)(T|p&husq_wz6noy#euyV~G1@Y$O z$ziQH%kK5I94`boSH3KaWHy~`$K91g*2|+3F$7+F;JcpTM)2AOk>vSEmtCB)nHKcU zgxAo-lrAoFRbo^k^50}`qwY65Q*6a03rM`j* z3wIaVkDkKi6<5MJfaloJVOR{Dy?`C3Cl$DHcM(Ztr;D(fRk-oR;=R#mf*3p`Ibx}O zZduAcjR%MDzSOV^RVlY3%SrBNx?Drboy3Ea202+Ta~d5!5;!F-wtGFSSln@Yju80w zR{)*49s9m45ap`gsG0dhTO_9H%u16{^fjL*qv+}olOZj{gU~0_(_yTdpG%ctIwB;@ z&%F@8i1~414^=SLf;1*Sf6puz4w}UOu30X`|FhV?Y4Lvs)Ez#@OHpyp?Fbe3XHg?ESg?zSYHvB* zV2jq)JKoaD5thM!h5r{d{PU-pWE~WBwtq=X?2(ldst9W=K-WM@ugwGyPk{4W0hY2c zpx)FOP}(`?!r`68&N)R`kiG?mkK!VqKl@YdoC@|x1`7f_RC*i2U3Nd$S-zGL;}>;X z{v%xSC)x7vDmL&z+VVR}yZhPl1GAiF%fD}y3o%Yl_NKMvze%I6y2J1qMV{eL2uMdW z`~^`$nFZ+VP4+m%x~hg;@m|e__eNE?$V;mRM@_ftPhsh_ct6QTKjH6X$SCgI{vzH# zg$VOiUcgcdKEj+>p6GRi`(#Cq_Dt+f>G3_r;%OV2tWRI!MN(_@p$((DN$_ zlNj@fSuSJ@d32^_%yBbTl=ml#Z8x1`npN5IwkV;@g5O|jWPqZ9eR!fu<;jqYUf{-( zzNS3Rz>uzjtb=68P-$1$`DzULz$~Y&DUZx@Aw#}}qdhG{o)d448s80O7%Hw^^$OlU zg=kl?%6{|2g3s`PzvF4_y&wjAi`6WUCnqxdjLSU+jVGtZli6cDD^L-8wH@0ivR#$s z=@REctk)_B;uU#fKcm06eo4)MEjx*ropwDqCa|x5t5Ia!pQ6bDL$n4g@&cAx z@FC_L_iB$-*vHEAM14jdapMi$M_gJ#5$b2Lf{qFda9cU~JyNk}{))hR#DGhpgfa_$ zg(+u%x%Vm;QY7+ZMMkf3V_Ek!l)LAM6|_^Fb}jfu3>W6_=Zd^Gyha4T5HaINynv+^ z{0?)K8DIPhIXP_GQT|JBp`cEJ=RJ zU+fj4!nCE@O_xLoW%`aH*?XNEnna$g$mqeYH}xm0XlcWC*HuQv9zX*#GF{^2M_J>a3dC@2o#hDtFG&&iU*NIDblxy!@w> zMIk9pOI-6`L0?3l>DYcvF;6X2GYJCU_C{ z+(?M1HcuvG^fi}HkN9A6Lg>EcS)Lvpl6a7Rlf`gS+;=XfczPsz90Pt>m?z##|1tw| z0>|3SpYl#@IP=fqU!GU+F8>Fv$d*uc|MD6_TlP2!`LH}s)MxfD>+hkK{^e*tP(kiY zYwuVJ>bVc~iu#|1h29Ii%H|SvFK}6uP-emBmm6KD)-3| zFJ|#2%xTEb{)Ds8+&C|o5bX!v5hava@LNoi+|V>&=7%npCr2{+mm4cON6N2$B94%6 qY1*|ThLF^Mmo4_bS$^Fg@njPhG8U diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-crypt32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-crypt32.a deleted file mode 100644 index 25d1f16056470cbc8a966fcdf587f16ed23443cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202636 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-cryptbase.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-cryptbase.a deleted file mode 100644 index 79492c6d792f982a02754377dd582496e69f6db4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8206 zcmeI1-EPw`6vt1SbsJ-RY665n3evbis3iSJGYO%=#KdLA1`-mIm$oUb*0o)m!Nvue z5aN1I!E@}%80Xk=n_O01=x=n`0L)&6jfwh_y%D%nRcB`G9d*F0gwRhC@Do)>J z4#SJ~Two2?sg3Whuyxe;+`Y|%cGYWk+D5(rj5YVVENTx~a%=HQw1<_pLTQJUMloKA z_Ru{I#W>L(R^}D=%tw?tg)$dWnhK=}wf+6CUbZs;P(_|;7?x$}x>c|T zDS%tNmVvD29(ug4E_5jGWNVJ+s3p8*9m=QKO22=B430_Hq#Ldlq;?T2b2zSGS_ebw ziqcNHWwov(b+@sy5~Gvt^0@K-Q+fN%>#euhTC0V|Y`xiX{l>p%0AEsdXIC10d(dap zg%;|EWI=zWRhodWG?gacr#Y@64~!In4fhXGprvk(-o!tnJ}8kU4Ii-_ ze~cl98~?#@$r?sa$*_e!r#VJyCe3h;4+D!88V!!?fzJcYX&l2+A3O$hgEbLsmvz#~ zdic1E1`VjB)va;=+~Bp#P~G71ALW=hAyD@k2kl*9;arV)njZ2B$miY_15-&Xo(p6DT5#Pg@Q3|{(?+i#aqEVn z#&c}{?DI&BF5A+K|-AL@WQPYjr4b}}k$2w}h z$LlOPF5>B(uaP!<;?uLIbarwwv<+(u;k_E)Xox84Q&4sdYl2ciBwg#X8Q5#7TP?av zK+uPLPXM22?k(y8uM&I0Fy2cG_rSfh9f5nq@QKPlqp!o=ejktvJu=X@JVjQISF_(>73MTnoe_xN+ZaVAE5Zbtm1h)+j| z&re;9SAVNdjCgZK{G^CaMTpN$9r5b_oDw76m=QlI;v?Vc40Gy;SO0f9ZsPv|XmSZy diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-cryptnet.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-cryptnet.a deleted file mode 100644 index 1e3317d57da816408bc0900c3ab84859f59b457a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5982 zcmeHL?@!Y}7=G6cMZ{kTF@7+n8vJHvH%1wWA;2Q)7hMoyG$u#c4mT-dZbiXpLX6>) zCiubsz(0h)%MarF-d)=pYw1V^hR7woyWTzRUEe;>`@Ze%2TrR}n;N=rc9z_D&d%9Z z(Hb{ROHAptX%;4n>Vl;q02l@^Y=F#ffI&+h7v})zxLlUUwO0UijJR|#R$^?i&0B3& z<{odc(t4G%5A}xAtTPX>B#V2KSi5@R~Iatj3*c z-);&ey8mLM-e`M{>z15Gg}d|IYt{LC#|6gfYfW}IM$D>9__O7=yyDGnEwxK-+G}2RJs?dSTXL3V+qP-ig^7SI)tz%l z7=Y0fz!lLOfUL(iJ<*S^Oeim9tB&WyL&VH9l=rgB?REkTwh33K8;%xy>>zeBxG%j- zgXQDK{c*w#$Kxh^+*Rz1MBw~+zb(zbEH6BLxR9;7s1AVaO5NpZ^3OiNo79T4>JO-K z-Db2z`oKB_)9q!%VKiH%<1m_?G6F*u=q$>X!bSr)l}^QCgnftw>C~mpo2WBdg9>2` zSj4*T{$hwYTss1XC+vI|hi$Yuy<=p}zvggWYy+zi+70gOhT;Rg(*NI&RpJ8Fa%b-+D2nljtE|LSehR41ehj?EY+ee zZ2=Xk#a9t8K)0ue4xqR#EJrKgRWdq+p5Gr4*62`#cy3~W+>zWN0Ie<+aR+-;Na=E9 zPMpiifS=eoJn!lyH|w*?L@W`i80%3LIXxees`!RRNK!>rF@>6wR7FEu_b^p#M&r6v z@g*7;sNyC*-%(YOmb{3}sEJ9ZRS~yv?^HrXOvwRJ8}J?5xG#p}Z;fM9LjFt%^nxVO zgD;2^QGyZ6hZ*5h|3@Vxe>)$W5^_B%A&{$I1- GG2kyzcjU(a diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-d2d1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-d2d1.a deleted file mode 100644 index 2e7c373b7fe35109180b07fef77a20fae96b066a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12354 zcmeI2TW{k;6o5~iw!1CmqNTeO7NIOE0-+L|v~f~|P^DDeEux~(1tGNHx{15-Hi;w0 zy)3Mt+^T)xq40=!AM zHW>27ypmVsa=w_&%B)B{X0zqxf^)<6GyuE|kU0aGd;~D{Cyz6~0#JPR9*@_`02Hq; z@HjUQK=Gy%UwICI;;qkloWBD=@%8t4d{Y6S_?ApjRV%9cNk_Lj>ZWe%mRd1ux_W4| zw6>vQ=22Nul_j-d>`-*_&6Zv@Eqz~WtF=NcuWBmFH+4|!x>oDU17WqWn*UU56i`_ zkFN zVsK1y20d_o$(6l|iE(@{F|2^>$`##wlADQ_E4gwrn3#=_bIaW``Gs7q(V*+xu7QTY z!{1K;?vL%F4LTXlNz@lTKGRhPiHW+B;$#FpW#VK69gQ;?YJD&`dSv>Uz@p4ptPIl) z5s(?13O>ZSqBrux;j1e^Ze9I_xuiv zh$E_#vqheiv&lKcOUH^rBSm;z08xi*6aa@~rY))=$KtngpQF_g2`)D(4RA8Lv6LMY*bN&dM*o*VK0w2TV{7a$U z^Ej_Z%Y`_%qUAi!Ne^i`e~R@wtx86PZ=#gHugJGcyw5jTy&EL>0+aqihpox_w-oeA zmJ^a(%7;AmG4^gRl0Op&7$(U(LcQma+=!M7k$ey>=aKvj_EuVwry0r4G8*q6WpB;b zXri~yVvF1$0Zq}!4&rtZ2H~aU<%Dc6<3+P=XAAHUzGyZ~uv+uESyUz;}e2r;hysOo|6YnkwiZ7*UQ(}1Rps}U*8hyJi2-b_qSTB{sYt}!||Ml|qv_nIIPQ&!|CqljF`TEmn zxsb2_En3cFowlvhvOd9BPxA$IwCDV;Qhi%^KxjBYg1<0DV?Y{>_@iOc$VOyV=2KF`?k=PKM2|vlhIz1!?a(n z5q#P&vPQ@VvJ>JaeBC7-`#KCBjpLCTVk}rJF3T6+2^@QJOOLBOX@EAM3*DB%vvipCLozOAP zdgy<{QJ&w>s7Jx~^qxDwTnWCzBlGm3RttVUTs8>u6MoYz6~f=WXl>bx{5p4wLth`q z{7u0AHld!OJ)Z{T+Djg>((qjFYWr+Wgzaq*-^HDS5Y4nd<$6P X8SE&*FL>q_5Z8Lq5@KcgXc7Ma*;j}4 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-d3d11.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-d3d11.a deleted file mode 100644 index 185ed02761cccde4282f7e61e15dae5a2c48acf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9402 zcmeHN-*4kY5S}J&@2)BWoeHV|As2zfFNHWwoE}1`s8J6P64e#ZJ)Cge*twW%lPYm( zsSrAyP<0OoRrkaLLOk$?++W5qGrP9e@w#y!35w`S-rcM}d%ffD+u0pw?L(*6Y=5-$ zzL893&9qFbykXW1qs*t&+%W35s`7%pB>-3fD1HO5_%gta&&09Z0HEXfuf=f_>vX)h zEsoW@0Cc?47RPJ*0CcQ9p~JSfZ2POe*X!FmUf}iYt*-0YCw|8{@@;H9-LPz{Y9ILf zbjbE@$7^JL;90nA9Dzt`bkTg+{pJ-S_)wxX+#M(TE9r`mDG=w%_&w zzQA+ExOV-s#MtQ0T1<2YF^0rV20Pb52Ch$Am3mg~1M-L8^O^y@lHKE8%V~Psz3yS- z?(I+IPuX`)@E}Y)MtIA_L*;_HC!N-QQ0j*2%2JhCE?bsm7*~*Zn<8!HL6Urg3 z7Pb>^IU83Gam!d)(cr@KVacj4xd#W>P-^)Ho;>l_Gl2VZE$2blAlp@Y(d~-^eGp8w zRUr$b*r}L>QEW8N7#e*tNjtKA7VuPYE)&DHAqEuZXo5{A>Vpzt3UCMW@y?md-FANN z)@w*$PBC{awD$}2kTCyWbGO2eff>3g=I*NG0=-WicSF2dD!51s>iMuvxUfE064#4B zIjOqH_IZwLc^KVhe}-^O%noP;?c>e^(ZZZcSb9pVXX^^qlYPmiaZ+aw@ysb5FgRp1 zm83*~9nM8ofZwq)PES4oz4XhNHdr*n=K6ZMqUhxs5Ard-E}{0cUTCIx56|yO-cn&e zIp;~2ZLj@b@ddW-0zf#x5w08j2j_eCSvY9PL zJ>XTs7sT^?*uqvwXn@B{Z(lr-ctQZ`U1$K8)SO7$q9rmBw>-j}S5G6YNyn)p_7u$g zdOqe?R8Jw8e}MxY#{9Nq0~OO`eoyK5GUorF$EBEmuE#~M)xhzM%KU3`<*)2X61$99 zR>13M4@$8DwnYQy1;7pCkkKo0 zk1-+=&;PYtY_FSXw*QO_7{+#2VaYVv-ckC!jP0j-T#D_F^tg!aDZ1~ zHOwmOUnO#5idp}GXyCj6=U7Iuqmg1>lbP?U`4n)q0^;{4gb>AzA_W+Dc2ot-$2`zR zDE}WTpse_;x&q3?OvERw=Tt=eJ;6P{+7rkfbm3(@*iVpGn%<>TbBsx?WWQ6>nGs~VKcXTNA{Y)!>@DtZW zm~ZA|e&RcV@C3gh4TkLw)VSj`cLy19%v4ceq diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-d3d12.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-d3d12.a deleted file mode 100644 index ab43f596eae23796aad2d12f8bb887d8319be7fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10382 zcmeHN+iDv}82-Joo!Gdv1Y>##?IzgJLQy4IUdg2tQ!D9#UKl&=RbjpMj;w8DNl0?) znh;D0z9=P_P(rUto}o_=`Vf7HK0&XV{{KIFnAPq|t01WeJg_sPnQ!Ot&-cw~b?XzW zeOUW+@gqI#@*8<0Z{*6kg0AN{OZ9bqGhcLH*k1&I6@biN0P{})7XFma(%%5|y#9}T zZeU2y$_@Fvbq|1^n-Asl-uD3X+^)-K?GeD*Bh%bA&2KuQ-7$AWSG3LTrY+1LoQBnM zOiVm28>Ue->&^i^ZhEsJ4x4RpVzo?r-Od+G%fuIs1(-Eq*`p~DD(jVeVNbLjtL~hM zZ?T0A)@$!Jo83Lgv}&d<)%v{QfXHlIUO|W*Vd0X(4k&LbN#o_XiW}BX>lhmBgvEal(1=-jKMS0rE-J8Me=B981IK8n2%S zN5|}dYPWXMxGz(fQz1)JCnvyqwytD7*_Uh@ICb`rZI0-G!5*V2BqajuurECge#git zcMfCFODBhJlSMOVt}hkKie9d9Cx64?l4_6Yg=UHmF~8;VmI57eDd&2eo0U0?D~s{Y zgE`!vn`tzPSlO9UF9f*ITwg}a<9M8}7wX3rVxGj~46j-5W8@1L|s0S6&;yWj9-pYQVST+7Qh9UJ6?! zqzUdnu|c*-wh(}7mzwwhW8_HdGUXosmYxRBF~a+n5$=gcsXAU)SSRIlIw|1M$6r^Z zPA<_LgLG1JxkJGub<$Sq?WdE6@wkXiF5+>%PTs}-4XcyuJq!u$(Xl+@)wJqE$F`FT z^zoTYU|)kL7>4x`?tR=*u?I22(`%rHQaUx{qN~O)$dEy5uoV_fQVk8I-hOI0jmJgQ z@KZd_SHs&ly2GmBn&dq}@zl~!$EdS>v3;NtGO}7qKiSFov z72zwHz`h30Fk~I{v4A3oeyFi1VODzN45-7hC1_3QW*&|dE`7ns~b5P_;*YZ zWju?=`O3&)8N(`LPVyr44e2zm7TyI(ppq)vU3wb)fe}_oYHKK(N&n7R6jV&7psN!( z4|b2zdfO_a;bu3D?|j-2Ras=tf$h6v8jHgkb5w?^%=C% ze5cINlU!-4O1=H|VCv19f{Uy)2{&QBPL@$c!>%+LRVVIOuW4RQR^+mw?76aT3I!UR zp|7ka1HS)_=l-dXitVL*lkH-!QXF3^{( zkM>-h{9|&*GT-OZDWIT!*}J-db#L>11?V`c!_N0J0S{vTc`(g$Kixr)3si7dCa|x; zQw)6-#P+^N3-Oq-C?c0q5z({u)i;S?P0(?KhgF2a3As-W|J!D&PYAb|`Klr+ZVCk& T(8o+)5plim5kxFxgnIZ7?$^z` diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-d3dcompiler_47.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-d3dcompiler_47.a deleted file mode 100644 index d058b1e1e39e0d42ef55133744c8dd39f65a5d50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23838 zcmeHP>uwvz6&_Kx6RXapj^a2;8!&;}8bPZrbs;IhNL^c2VpNG$S-H7IS4(jzvZhF4 zxoq6Kk)}b~w1A8DUw`HW@(6jdrsvG;&YayDQbXFyVBsBLmcuh=FEjIfXU<%9U%lc5 zhwV3(eq2t5%0{JHsXF!5O1bRtEP5=LD;xE7amK+CW30~DnUJxw*BCqZiHOg9%oxV= zAjkN8OT>%6VhrQU?}_-z6~-{Wx-R0SGGiEja8AV6FEfVmM{o~}&bEkaJ;pFr8zOG* zGluaBTo>a{?udA;$r#2PAjA092O|D#hcS%rv_AN3wdfuSpg799w>Q>j?Zl{4UlJ|T5VL$Lk-oS0HH4pp8gH9Jt zU9Y*G3uhkt%x(K#^ATT~ZLMv+A9OrL=`;c__$}2;$d#t1f@R!; zs>8zV_wmuFNACwT6C3t~o(RT;bLz9E`%-oui%yb;TP`gq;kWJ3}X|HLzvIGU( znO|Uxp19JM-xwX;?6vxdCstCSrK1EcE`^}8)fsxjp?}=y`g{Hn)S|kao|V+ERCo&* zPl)qUXE--nEkK(2lsGeaj!_r!wgqH99t40QK^D^RdKTzk4}355cRIbhlvoL=)Y=~P zIHXX!(>r=I@CI%5AmSXOj=VyW1L6!WLyd9Ioz94KfmGW;|2SzmP?u&X-Bt3WLTMH2 zD>^~TWX*opYlJKPxX&5a*Hj#*TCJAL)s0%zIUOuDKRpB84P%!Vpm*V^(`+U5?}a=) z{!nJS2P;i4^v0|3oU3g2tCa>AiW9n%fK*`OEa$G=$Dx8B~pxpQL=`j(Yux69Z{3(dX=|NEM;qlK1tHx@*4T5oup#nin} zjn-LdoDQk4#c?{Mu1;|stc7HV>XX;gX~mKjlqGic~I&T5s@=%oIj=4_Du;0a#r z&!7QuAYx(=T9F?@{y~If{3$cXvOfU(P3#-q!4&Q*J1^}ww$D1;?APSJOz9>1gF5Jh zWY`agj}pM?Hj64cBS{Vj6eN$4M#^)&SV z&a5ZVe;!(OTJ*n&IG{sbxJI6lANxcK`IiOg`LV?Q2*0Tk%fTS6hO804ULYP?LI7Hh z6Xt^Wi@g2G&>WuQaX>sNu|hl*W-%d0Z2X!f;x`K$uQNm1_+`kO*2ceph)>N$<{9zm z~LR)Wi}pgPDqSs?*mv)^65VyzVJMK`Ubi0B%i)(*3&$k-vr>mJSeN!;Vg$F$b{ImA6#!_PD3amEUR^5nlS z1pHWHzlYysX(irC4P@-WSLy}Up&e4TdumT+7ObDg)+f7B9s{hC(n_pTS;ls~W`*_I zn!XP800455*WM=H?mWHrfZTVI*Zv2yo`&^L&3e+Vmw_+S+VyWE)+g+v$}{#~gZjXr z?EJP6@MDSn7k(#~UUFeV4Q1UASgz5o>Z?@$0KA;UjV8g=Jh{;$_npLzduBb28y}nX zBsabTZ9OeFo{i99+RK+`Uc3^qK=I;@NP<5l_HQ@}UYJTwIbqDtxUaBVwXNYs>eLKR z!G}u^#fN7iR2VkD=6bg0yAk>oA7FdD3?=q2NDDp~N>1ru%FdV#b}PEIb$vwqAF!Aw z^$v7Cah|=ynE6R<2M^BKVh}%ahDYli{%+QjY`6s1n6`I#nqp$iPVPMS67iT=vEm(G z*WyrOUqFJeVoVKa^cbg?F;8sQf%OqavDZiS8nf*6c`8DQdUGM)YXi#>3luM2Pw?W; zk{7DPlm$eZG3IU8fc23>f%%8S{J9A8@w-{5F0wZy(&Az3rP zZe_Su(MQJx1C-65g#k+`EW~d}=GpGQq%lAanK%PJ*BB6&+C%}Fm#yF9*sT)RD*BkX zm?2Uez_y>Z7dV^dK>W%tM@xR+YlkFl^&|p9?ee1B)E%sqdb_b@GgP%kP<_ zKkBA{pQ?_G=l&hL_1*&gj~@M{82$8veUA_NX{i(FPh@0l`|Z|#t95<11MVU_X(wFq z<}b3w{4J{mg8tQW5-{#C1=XNW+)#43zY_PHO aJF~puPFo(YooC<1@(uT~-;~V;<^KmfC%Oax diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-deviceaccess.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-deviceaccess.a deleted file mode 100644 index ded2380f187005f9d9c565e5c9619c13b7be7dd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4330 zcmeHK&2G~`5T5*$LevV7dMFn#5=b0Sa6;o038A2JfD;h{Rh%|%vL&YZscg6OfKU&p zaIC~@@Bkbu9)icA%*=Z2b?f|8YKo9p$-Cp(&z_yxZ+7h4k6pjreNuX0rCX&|aVn0z zT6ttyHcy$oWj(A{qX$|g0Jsd0`vFk=3^4ywT_qgpTKq+q5Nkrb38Wv0rVOPo)`lG^ zK6nFn+Y_kVTXlr9B6{8iU6Fn`knN!_cie5!k-J`7y6v_M0^tgLt}j7!rQ12z7emt@ zl8M*8+uoA?E7>3Jq8;J&w?*buTKQst9)>Udb=M0spGpDNeCdYr8GH7WJ;UkH9kjK@ zF@R3r9fsv$yltcQt76-Z<5-qctHt}(Ik<#d25>J2aFwMwD2H+{WO;OFL9KTew91D z9_h=QUQb4V-^T#&a+~g!Rz!L;Ze*r#!WO~InB_-djCd7BVT@Q68ADM>wM6?$9G^v&reSuMk646bW0t^X z*xeayDGhTg6=`zv0@%;dRqUtuQcRO(o+fI|r}BZpn%Oi`MgpvJuev;ZM_~rVWhUuE z*%R2-llb3_I6=cj z^4~Y?j^qEwY+Sr)n*RscxS0Pp(Z93uKX-x&sn1+y3;!bglX-9p*H10Ug9hKLE)U;O zNasPy`>cP5G~oPyVv?M&|K|kllcIe57jYpu0WjwG4cA0x>c3hWrpbvh-m9D#2be)l F`~jb6(?0+J diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-dfscli.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-dfscli.a deleted file mode 100644 index 03cae087acfb792917499a11e9b1d11e43dafcd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22976 zcmeHPTW{P%6h3v@(uQ(rX-m1vMd6|f!fu*)6I4N=r4*r7rGbhERA-ZQnuTOHY#b=} z3UL((74gCg5_F995iWxVHG0E$O$%6RN;0E#C% zGCs5lK=IM*GM-!lpg4sxicg|0#Z%AA_{_rq6l+s5o_-2|VsKf;g=GMWXRgZl0^SqF zmoCcqGL}Q}BFZSfc2vg8#{nq5zE{S@KLIFS`-5T_o(sb_x1!!wcqNLXUU;tCioy@t zo#tjcMB&Z(APi>1_4YDFCGU2km2NNEZf=IH)vcBFcGwK@ij4@uwW!(Jp(5dO6rW$+ zT8!ewxOJ}EiJR?C)LV>JwtMaPLkPq6#%4HJ$K>|ADv@i=S39fSY}rDlH7>+MZ^osf zuRpimjykcc9+o4uuSOf)_akin)owRV-Bmh=Ym@35&EAd3bpgxd*IbAx<3hK$615!F zq_XYn`d*=)puAUymdd|`ZA|3~fvo3Jv(vmmPrcJxY{!w+Yp(p%m9KW%al5(R{wPz0 zESKfVt6o90ZEtRNdvVmdjELUaY_3GtkRI)BCv}el6-`;gkW0n5bW8~eLOI^)szk0e zt-e7mhFtvRf@P*ymx`|8{K|{1RxjGx%JziG(7FuEnJQS0)PA|My^$(W2xJ~ssNnBF zr+1m1tL^njW&HIwz>Pht z&36-llJowe;wLh7kQ(nRub&R7e>i^v^!b8lWTkh7d5Z=gxE? z>KD~Pfpk1r#B_&8^hrYR+6d@v%*|Wq4Y0@WrQ3wP|22AN#BE@L(<6c26ABIVL|y1j z^!btLX*TfuxuO~$R+$GNPV0ukVw@@8}zz3|xYulZ7r9_}A)ziC# zd(pcR_td}CrzUXwA@A8@f>2H{O-JG)&Raz)6AymFlO3IC?l5JDF+*)giY6>b?juI)2Dk6Em&$La;6 zm$LWssPl=E-D=*!h`?&-;dL;+qaF(oINn)?SXJb^-HWB z#50LiiAyR+A(V}^bPE&qNCCV*#kc?p*P`dB2E0m+3&!Rr644teHi&i;3gjKhI|QKG zB^w^YGYZ6VDY+ni%fy49@kGu>{>{77jxtP)B7zgM`8W|Q@Hvp=#Fy9w!#MG_!U-LA zlM}0~-a(w$bn981_{goNIYHKSR8E{=s7T%(%FKh~67Y-%(@H`I4?f1!@E~b1pXU=l zw0tL*E)3pJ=frzs!5RZ@AqIxw{Vj%*-NgGct9KCI*WG#+-rslYX}r_yaa6qDZ=Sw* z4=yv-j}W9W7@Plu6o}LVdV$kew^jlW=TcS-#%JOlge!_zXwI_;K^p zT}wA&eo)qV&Pjo7j`{OSLI)3i!c=44)%uL7cd8V_hs2pZu>WyCRq3AWNGXUb(|!U+OA24ns8G6qUL_#9Ks1lH;d z0eDU^xUW^Xr{^SLtye;K1@}i40@6D}{}r@Od?*QlkGBN{>q;QbhtS>bK9#MEV3^=1C zbnxIiOgRHmEw?$4&Mt-pjeIN!7VH)OYTj>HFwVUHumcMcC*@t~zn>a_!7!jE1tRs} zQ#{%XNI4+L!9n>b6tkvZ4|1ZuVWYlU<20xrXN~jT)blU*jOVbzwn6(;3hnP@(C)zb z&h88ARs4F+o!p>d&u%J&8-(ADPjJ-v{XGid!YL51FY}yUdT?=j?qiFR;K2r-N_+11 zi7d!|=iHNR)a~{AYVK~(J6k^X}?a zo}B|R?qlw#^PB?)<1WX=QojY96urgmdq2-k#J8*U8B_06DTWc%4zCO8mZwhXa0S)PoQ3sI7eB zbwCP{DW6b!}_Z%&eWKp&aY7|%{&cGv^|A38%~^#A|> diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-dhcpcsvc.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-dhcpcsvc.a deleted file mode 100644 index c9298997f670b4b25703f85a69cf84fb063ef306..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54686 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 CN~ARa diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-dsparse.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-dsparse.a deleted file mode 100644 index 56c7261a3056629c2d27533888b552585bf45337..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17628 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-dwrite.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-dwrite.a deleted file mode 100644 index 671f2bfc2cc2366973af29cf1a098be133418619..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2570 zcmcgu!EVz)5S_#=g-}F=D%7Jva6`t45;v6)iWG!61|h_8LLB=E zd`drsFQLrLdgFCt(;N&dWp^_B?Ad+$X4X$$`O$Fvy7tn}wtB1X)jhY}XxO&PQ)X}5 z4VvKAuK~aoK;oQ9?4UGA%e3gjHU1eK5-&JjHMrx^h$X1iQe6fq#w(-{xF_LUqFcPWFhiqg2{0( zh@H7+sEC=m>w2DN+g`K2VkY>02gw1jD*zAK+6E_<=P}#GoejOd6Zo-T4B?p$^sb!2 za(N33E(jOW3!gPL_AVM*xGuAGz}2{x_7iTm7HN1z45) z*_R~$COhdyK=gJsNRMSw@<6VbsZ#X zpcBngug06Bfm>yRIj?QPY5V3#YPW!T%4>`HdBD~tnjUjeLpV0p2aMwJ>1?7rtf~yt zw8{UVduCVZp7oYB?`CWjJG&E;UY@TkHMN zk&!Vwyv-kYV010!Weio67dYQfluLsR?uPXq>$6eEC_-MlNbC5jKGS(LG1##Y7gAiN z-nS7G=i^oxL;L6;=4(FA)9ZSS#=8WgeYoSR>*w_E@-p?AR^Cml^h9x$#_pk|G^+GS z&nL<>?pO+Kt=|w}^2qlABzk7XC;~pE?t`?}YY(%K$pYRloxWO;S|NTFp+{xG0b0~3 WyOn2E%-Hh{`@CHjf0>k;MYTU|p_a!0 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-dxgi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-dxgi.a deleted file mode 100644 index 15771d972de0f4959d47be5859e485595684f7d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9226 zcmeHN>xv^q6h7(9?2f~TBI7!^B0cL0A`-iE>10J@WWruRa9k1mA@ua5D@nWABqTlS z%qlY877@V_{prK(BltwSo>SGAO1e7fxJe{91$F7FQXtY1rd{-Y0 zX2rBj%cz+pT{n1>oa%bDD4uowa1#Kw0rD8v{|4B2BI4E+0E#aJ@ueLAiZ8z{;?8>j z6t9*=eElr|io35-wC#P{{%ptwL;HaFY+&#ATxNgeb)CLvW93QBvaPb+@s214^}Q}@ z^akwM>D%r}%d;ID>-Pr!hpyAdh3)scO|Nx4aD1=V1>5%S z_w6Y{)O?Hib#`>zy3@rmnofh6QeQyjNS#!zQ7;^kcVKRv zJ@6XrQ|}?FC0Z=+tCWdG*dH**XCs4*51n~9r zT2wS7s?vr9_jKs_gScY=@cFShNKDq1mL?1d71 z(A$rOK#yEM>)4dfrOI&K5CZbK=SBw!o@fpVB%{G6n9kMGZ4!3dGhnw`DJQUNp}t?F zMZ(&Djol(&1}5lSICggeEYN9>!&_e2fH)QF~+gnF)BfqK#}=`;?q^$=@L@PG@4h^CyF2=FmaMWVr9 zSeT;&o-195EkgrCO;Bc1!x+rk0D?LhrGMGQX(htZ-e|uy8w&3G48UA3uGQ zp3cwXy12A4?M#KDgezKuz#3UrfmMM^d<sBGxEa(?ror!+Ml4Xiee4XfYeWud-*LZzT#b4v(xzbY)m6BM%{-@1`J8(knj_5@dOM`!f}8YF(t;kTKqjQm$n4-{hL8=``z z8hnkp;;n_1OEZ$1vop?_nw($i~!BY)R PF;AHC)PE|>6Yc*1JzKlc diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-esent.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-esent.a deleted file mode 100644 index cd95792e69a5b47c1260ecc776c2d12e9787d22c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 299046 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 CQ_x!g diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-gaming-xinput-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-gaming-xinput-l1-1-0.a deleted file mode 100644 index 7f295e4d666e94dc14f8ded528eaf6a2be7d0241..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7750 zcmeHM-EQ1O6h7-sN(tqsP#^+?j1(j;*u_pa?t%~s4G5z4B2tCa3#5rR_GaDgpVm%E z5vn4DB7_ji6<1tv$z${xcm#xa0H~m_zlrOq-vQ`)<_~dQ z{u6+%7cYuy-2tHM)thuNw!_$GaX5+DUYLXvwlfMs_C+-G#}UKIW!R=k@`&O9T zO8f*nWzk^F3YFsa6B9;OO3aP$ew<83ck{o6IMpDrJO0@3MExjx-JsNCp;bKf@zC$|^K(h7g2SNONt&aK zkJEVQI*#Xgw(Y$ucxl`FYr*LSq#{7O2JkE|twJ+FX7KX##D=~7X5c6ObO>+RhP{W) zP8`pH!3p6a`oWD>hDFlD3XV&+ZE!N&R#s2AOVe@JGTa6ht{8AxdzRzu8-uukx@ZVp zG=wf1eYfE@oMzDPL$e#m$>0ru&h)trz+xukFm{zqLaklpsXM5XGyKcsI4_5-WU$m9~ zn(do>7?@n4(crk&QpdPR z5RS%q1Kp%|G`uTnINNfbrb$+y2ku>=2l6lZRGGfth%uKG!oeBWDJP8r+~KK6Ecg`* z)x^k3H5NN)9v9lYh;q%P#`QcFK20%M9nSdSqc`d93{Qb& zyHGq4A%xgReF{cCi6y~k!Ct&gwO5KfOXW)I&Y1Q4u4n;U36ohR>B& zUW`bL5P&8vH1h(M$Y?JRHE;2Iky!8p7Q{(s_8G7mrST}k6|nVK0k|@Pyz=Z-i2_zr zKFFgzj^qEK06Am*El5>X@;;^%&{|9Zo160OHaHbA;9I24ycn>b?u(RF83XQU{mzO3 zi5XW?zymW*#(w=D@pRc= z)u6w1JXS+`wvcLA$5lSB8tRG{xoYqEOE&t0Oljk~ zsNksuzhEvSg<%?75Cs*+!EjRi;D`Lm@$enpQ2{e9Hsgt4B?<}1hn{g$b zd~L=_ozR|n-q=x7OeuU_Uv7=OmMTJN3^xsf~`-?<{Tf&A5^_?wN5?8}wECyxPbZlK!2v)bH4rasFgV4;!L_rxtvN OxzNM(|I@1Z!t^&+lpsL> diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-networking-wlanapi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-networking-wlanapi-l1-1-0.a deleted file mode 100644 index a274bf57ebe15d27e71012847edc395b148b4b3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20594 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 Y1%Z;(|JONzl^T4Hb+Uhkr+YW|AFscAk^lez diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-shell32-shellfolders-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-shell32-shellfolders-l1-1-1.a deleted file mode 100644 index 77efe4b61fcd727d438e1689f73e111a58834fdb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3612 zcmdT{&2G~`5T3+o3uzGuD&S}&kdSDCowja}5UNzE>ID?3>J4e*HcoBo{4{n%#R2tz z5JDV!;mEu6QFstUnVIz_o5ZH=#fY`CJD&Z#KQr^~Y#zOI2M7ME@^f>t*z2}qJ67FZ zH%*JX^x8C6YxU%VW*GqH0Sey$N?!pMe#ze=>K5mP*b-td@&=J;c(FGSTfLSi-UnT` z9|%;Q)E(ihi7?owU!w1Iy@TGs8@heroy4LO(FY>(y)ay@$+q1KTQq2B3wm6EBX&Fx zzUQ`bni6(*w!>lM?{06o2R_a%f=*vdDI0F=zjlwjy>4(k^xp6q8JE)0in@n!wKsA_ zmJe*pavaArH!O4xmu9*38O@DlvjA|Lr8%g^Xg!v*D-#;cYRiq?YzX&kLgT!;A4QkI z;FNFy4fuFXVQ-*N!gc9o6D);WS9-!NW#cv!ZUu$q6rAc;E$+V3i7FU7l_Yj#o5W5f zv@7^jTVV)LZ3m&3eE9nU;IPm}uc?t_tJ{;NH>TD=DBYIDER1GHBMYP1u*4X$&SXjK z%=VkZE~Ai%VcSuJ7=>q(gCuV>2Nl8;f!v%kbITO{{xzb%UaQSSzk?pRL)(DTzmEPI zF9WM(S`Du2VG=Fm@wDhyc)itdBR1*%N+z6=r`sh|7(g|h3kKWg7E4!&d7qC}gk$0O zfp+WM=7lkCBHz>z(@)2Z7)Se{y!s&>=cskvMPVnwC>`$j{Nf3{ot=$!W2rEG zi@+|5MVeE_=S`Gke9KtI*Mx~P`Dix#fNn$1HIQ(Dtwl2!N;A$QO2ZbIU=Z(>JTF%y zSBQ5%)JO*1Lx~EV3{vxy-(^*V?Q5KA`@yaW|;5=jc^$gnpy>ynkatoQ|7e!pC&nhza-6%hzQBK+2UE$N8Vx@IZ#W#s(|VP*a2-Sf}h-G9s-b I&%Zb2Kf0`IHvj+t diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-0.a deleted file mode 100644 index 7b968d583bc3f208565182b56e11860717ab7645..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3594 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 MOG#)OryL>v0r_G9?f?J) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-ext-ms-win-uiacore-l1-1-2.a deleted file mode 100644 index 3d44de25cf9b168319b45f2d61d7770e81c22e5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3626 zcmdT{!EVz)5S_#+g|>(udf&C|?EkGs4B?vvgF`>0r@!Z(W zhlr6aXq{K~qi6~YP6_AJ2iI!~dmEJ!`lZVjSPEBHcEYXX;~ENQqOz8OQ{$?~)t7rw z8FQ+foKG$jZ5OVvzT(cdyO1#Ji|m6lIFOB zdw_=yO6gzccvZN8%^G=we%(*;&*c zE1M$xKxN*w@r)fNc_GD3)Q%=%PP1`iUeP+X5c4S;=P19{QF)bMlnqyWe({)o zot>q&R4YusLx>C{A81_wckq!}Ei;&GNiJ)(o7^z2RvFM^DryQO3=q+y8SpJxQ_^~& zEFvNkyb)`sOpqQ)5AnW-7Rej2bo@o_~Iz~*m`G|o4@Y|e&F@Io^5+_%Is~s z9klZYMlAr?0BC%{!3EelrypYj#tu@kNZC+iV!;NpP_Q5Il+R;^&eLANf(}dKL;B_Z z*;E|O7GlZgOq^zHlF|cg8FTWo#AiO+W1QhjCIVO_c(}eOa1isaJWj81y|a2m;#rM@S+-rvdOxTAScz$bq!$I~#^0 zH{=e3@_coG`#}`XM~ICg|9mr`xuQ4T$kDU;Az~x_7iTq9@o`48;zX`oSxSs z?%tWC4l2OO72qVk<2!q9m?Q{t$8jQZ@ZT$dj>nkmyA&ad`i`k wqDE+sWTBKRa=&!?YDH>=_$7uOl`AjMqDFUs@~o(op5NG4?)sMRoONg0Kks_U6aWAK diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-fltlib.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-fltlib.a deleted file mode 100644 index 7bae6bda3ad0f6e5ca7a8ab8016091cf7b2faa4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25350 zcmeHP-ESMm5g(oGI98Ozi5lA*j(u9Pc&t?ZXd_=iDHOQmvkslrce%mKh9fFtt& zNB;^i{~wOW9s!_u{2a%V6#$B-eU4|&15o_ZvmDQz0-(6?Z;oI241nTupK^TuF8~z% zzj0jpI{?MXKRI6f7XZae|KRwIPXH)h{WHgJegr`A`iC69^*#W_oBJHU(*&US(i+EC zv0fCvca`Jo*ba&t3l!`1)q4Hqe$eaJZv|n{tFLyOLH(^(r?K0rBXPf0saKZk?bdCI zlHTnEo84Zp*VwIZwL{8l)bWX(0P5R8qj^BDgtb;1YxGLDy|)wG==8%zXERu9b(%MW z{SfN)*3NEyD2pv~t<~#~dI9s;-mu#4_OY=;tH3<^8-~<9&Kl&m)s-GF>qt~v-Bg}l zhK*aV{mY$px6w>ASCaTmF9x0Fw}XDa@kUZ6I-NPc8|=2*`zxl_?Z7%w|`UE0ZlcKHzG4%ELdIYF;VfDQYI!{y7a#( zRYm1@T?@j-=5_)dlEnEbQcg&BwcA017p``9cJ?~0O@Xyr-Coj!SeaxQM$hOPb|s`5 zUJ0+X!&bQ0O!l~u$!}zGqE(XA?C$P|i`{rAw2gsf->+0~^s6kFc?c|R%r)P80Ea<< z(hR_(;_fgkhGcMuhZ5Y{SZp@J#&9;c47WaByxs4QV1qlv*P<6LEJwT#;>{tfmmV&I zAMve3bmE)0^Hn3hdAvE1!WZR7*R}PR)^A*0ytcj$u(;J~2QuTop98!xv(D*cq7i#3MYaT$5uOXtHm9fuNLu1g+C!b|Dn&%aFn-My=5>h8?&*^0mwmCsl^ig%1v z#wEQ+B2*h|sS2~^NCCP$#kc?x*Fths0zSp#g0lG$MMxu|4WiwI0;ipQ|0Heu*(eXhhXjBdUc)U@tQ0V~^^dG~#J1CfI`~B;{2j z&N1{gjaZWux_IyhOl=xr&T34pkvs>vn4)x|Qs@Nr(g4<{GD-Qr^&!zP##k(N~C)5b4>N|A#Sz4BE~A9va&(`vMchJ3=gS5{=z*W|CE7& z{Ch@E5$rK21yy`aJhWSkKUUtNL)m#a>gBTcv_t!L>OcU?7wQ`5y zy`9cy;QdGGd@S7lthKOuWx9vaBCXaAT)w!->?q|n8KA7aW_x1XBGXsy$CM0jD* zMUOGiW3MMh_#_tngzR(u#7myna@;Mt-eP_7nxJPgb1h$V#k*Q9^_s$uQK-iQy6jRv^x&6drT%0dH_$1{lrJeq<7-jT_-2Aq+2R~qoOga-U3RRhd@DqTOa+^H(N z?$Q=IAo`I919NR>5*>IXMF)7L`irOo=Gwik16i)%mz{TO&2gYu?@{BxBxiIU9?${# zc~q{wAonvm5yDfx6C2FR#shNRt2O5U1@aa0Ct2y7A4Imi8%?W5paTl*&n@E8>4&oe=!9=wfL#=O>I zeYUHUv$67y`?uBN46^7mn~y(120UjO1f*NAubZw6L+2T-pIB%4)#-*qRqu=7Ka zKZ%_`s*oT3NJFksKbD=3T0DUGn4F27_g!~zYvvwT;ngUw=5f@8aaZ&olxUBatnnRr zUdcZ$?1AppJS!=5@n8>A_G;o5>sVLBY>@7_n_H=wCv*y=-y718X#IXatk~1oMnU=S z&oM!y9=wHDg>-YJo}ixP3cc^RPg`J}yUpgkPh!;{(0ZQNBl2z4$HTh0HbYp?a$UxE z+>xymXXyplZCIb=Ed61Lb@>Bkx%OV%&(hm}!7Za1spEcYf$-thd=i8ok_f*a_L$re zp0c+Tk+Sj4U3XKL%yYyapg|jTu1x>lXqxBBEZ;AQ-$5d*(l@O&tUsNFrZ8Zemzm0Z zmof8q>3s3IvUB*rxUn!BYWKVNnb1}&lcbPM6uCw-O`(x*;shToz}v;XKQ8CfJwaj Z$mYqPs?Ig)-MxF+S`+IB`@6Dp{{t@9@l5~# diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-hid.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-hid.a deleted file mode 100644 index 580cbac3a12a913e47c0719bd4a9ad9daa66b585..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37680 zcmeHQ|8Eq>6(7!!FBB3I2!VuzOA0L^k$X1g&O|9P*fF>=#0fM-QLE$ZTjLGKowc`{ zIy6EwLKHagBpQzWSYg5%~jg#oUTAi%dfr8u3y^OI>7~A_# z#`Z5WcHmo)4nAfK)8V@!9sN6Fn2tRZ={OuQy}2RMN#MhD>V`;f!x7W?$0AMKWDL{P zqDYN8W0>AOCeqL0h-v0Ik!D|H4AVU1VOn@yq{Y*WVftW7q>q3H)Aj#~^sE0chUt@k zi}V{fV!HW6q?La$hH3SWBKd!13{&S%BK5vz3{&uDks>%^+W3n|zxxMcnC^Wi((j>< zFg@51=?~CGOkdp)>6>3LhUxKTOwHzOv-!)u7xbG;Ug!nQ*#jf*P5;h%b0Ap|x_vL?h5H&m$>x05gI2fSX@#EPz1~{@bWUDdX?3v=w6ddE`T4Hd zYE3dVo{w9d$h!~(tzHeWtrRcM;`A%6 z4K*N(UiVhGMp-RXSqe{qqi8LZBJwf|T|e|&9sjQPk+ct$Qo}s=qR*eI{Mj zA}JT6Fzj_LU1MQTWrtu1uG5YsAT0Xb+q1n+$6E>gUiWHRpayWrTHoIYy>8oUUkJm% zUyedu8lkX-L6%LU7`PJ@!yilgd6q0cu$Kq{c;}iRX&*%4dK3znCipN(lK*OSXQ2xv zE=H))2ts+0G*yDk z1t5cPMay1r4F;imi}KnTWZ9*l*N#>~YcZXclPszOw~a)>O`$puh*;9`kB~71sk>f z@F|Adv0aQk&wuS<7;oA&bdNRJ;?+@o<>^}1Oc)}B4e~RrH zIP8Y&qT39sNxri(ANlqT=4(*CLl!L!H zjS1nEKrcl5;nTcK^^f9(AzO)@la(oM-2}enP@Lwg=Kd?(cDTS<48@p3QSK zVch~@&%!T(P=Q7~SBy(?XT|Er%zFc)eaY_xEJic$HLL+ji911}K!Hl>vldv0`A)Rlmws_-K+$hj&VR7P=!YRO9J8q`R~Lzc&M1DS;2^?dNlRv>=LV2_1xM$1SmhPMVT((X@C{tAv@e7}(6I?C?O0dN~F*Hykr&R+uRZW2&$m^%MHz+sfmzd>~6cIy0PQtvRG z-?8%XPjvl>I0p|E)`h*)^?KNzYk85CKf2Gl zp}Vx`#b61LoBBPAMgL`EB;OIW;vt%VKdq{75-7V zku{B69~Ret^Qur4WJWt3=is5jzJxv3^nmbG%XRptiTR`7IgV@ka~^{#9A(?A5u0E; zZJU79JIuEE!p>*dHV^H5%C>=}>zlT1-VhkDFTUkCDXs(@hwH~Jv2|wnf3d5uuiyul z0DJ3+6bxXmX>75hkJIa0t>JPGg*sWWUmf-w{T0)KQ1!( zzQW)^5=)B-=(V26f9=8<$B1sZc0mlAfU{}yXTkb$HS+4Qh(gb5o!2e^rd5k|s3+O^ zYxOcJ%ORXXuwmZ}SPP--n=Db;*HcKx3n{WzcaF*`q*FgV$;=()lVw!a3FV_!V`lN; zyr!d^L?4Tdc4r@s1U6~8MZHsM{`fDWvQGHlim2={3;v6)>7App8uo44p2I%Jwfu5T z=A?5})?95?dM%ULYL=+%s|xY*F<(B)v-pH`k?kAwVd0j{TF;9NzOS%HaO6H4K)u;= zUFTcq`D=a0xNKv>^w^ZX%R~mU_%2^DkU$>h2AmXG4xD|LL=H&n?SeoV@|OhH7;gDA z7T0B|*|3`BX1N<2O(Y@xW`{ycf%6(2l!A22Q!-$X^OpeEDDI^BJYsn-_+j^gBT52n z?ni8ytO*kMOOak zc8%he=*}J8FDZ0$x6h72H*c+uZjqHgx?Ll;<&#!J(T!_SHoG3@kU}?cTfljW?A6(f zPoK0}$2ukCj`#`3C~p0n>Cb!w#_p)Km^qhQ zxJGMhriZ??ZW5elv2G5iQP0b5s=9`!3#zP4QlZ7Rjx`K82qg?*raLzXg_yYs|G= zf5V4qkma6b{mpY?tTFa(epdi$E3#&HTz|t~Yj0^iQSbKd*#b#$jkuP!%}`0mV%zLj zlAwPHqsS8AY})|9^;YZPPto$XZ5-pPjS}~{<9;8(J^h}`&cQuxbsF~?Eq~lQMqbO6 z#~k)7Ps`^=3GU4g673+%$MQL*ln|KRvjvuqW0bb^-Vc|AEZ+OQN)pmu>SEjf&fa^l ze$p-1MZlouekZ6o#%voC<#Sjl0fX)YSytXZtMG4rDXz#?5c&gfOFWzBMF!ui=dk$v z*KD~i0Tz1xGT<7)E&V`z1P94L7C+E4i42&ZJcQbcEC-wM16e-!m=XlDd-Au2YOb-| zbLP7Q%NSSU>(8=g?P(T0PKewASch@;-Ukj3};6d8T`E!rY${muA3^)K+IQBQkh3v|6}T(?}eW0MaR ztk1G;XOF@?Xg~h7>=?b(I^t8b{BiFX!!5sPHC(@EnX^_D?k|L4 z;4ep^SNLxiIzDH`y_clbI_N1Of5f{+Z)>KPrhIo=;-$$Fv)UyPKOcDBQb2?BAY4V( z_KshCm}{CXC&;%D^GCm9#J05OhwJ++_I&KEo9{&ZwGSgN@(PZ6=Xon>F@<~55Bd3L F{twAEqGJF6 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-hrtfapo.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-hrtfapo.a deleted file mode 100644 index f20f592d347039562eff06b79be69f61c13b058e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5024 zcmeHL&2G~`5T4j6g{T!3ssJI7j8r(G;Iyfmq6)RDK;=Y*KyceQjnkN>ag?|}T&ju# zst|`h1CPLgQx84!P?VWnZ@m6%QYjQwVkPg6XFq#)XTF(T`{9z^-Do~9JT;=FG+(kx zmRTuThGFt9wKj~oMR9K!)dB$EmHP#dKLQv(5m(^{s_~lqDXuBhPn|Hf%GkS})9tZ! z$9KAH)vG&f&u!Zsm!WdMVlk`CT5gT5K<~Ak4X^9$*d5mF`VG6|F`MBd+YYd%W7kLZ zPI%Q@!}qUryp>(sZP~RJ4#3>)4om4+?K-ya5dKAb(``F1?G4}SehMDQ>J9Zc%6r#u zzV7(0*X|`Ai*-kyO9MlFd(W=(Yf)+N z9fi^EE`KFvdM1`R9ykLt{$fSR_~U$`N9Z!zz|&%e^2HPEuLj(u#sG83jE@;w$z(J_ zS~(0ec|SvwN6I+ZM`c_HagmH)L5!b{>&FbOV;M0A={QTy>oy8&0Y>U@#iwVF=SM*a0ewS6yHK)@_SKfaDYO}fhhB&G}`<&Wh!TN8w z*g>qXD{Q$;*0+^$&tv_5IxfNb&*`{6>+hjAFUooi!t-eK^n10Le?Q=P$oyx4h8hiy zu+Cb!pnqoXNWW9U7$^-H1LZ{K{~rT0{TLv>Uo-}C3KL=G zS8PL;$5tK>f_V2|iUM<}D6lH(H-p#-4lz3p+6g`=8T2xDf|@e!c{@QX9hcY%cGGeF mD4=hri$+0=3s;)?w*sDr%zqqcsL{a3I>P+a|1hIH?fd~)>M2YB diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-inkobjcore.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-inkobjcore.a deleted file mode 100644 index f46c4884bd90c0a78fed62b7ffebbba4a1d81f42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25608 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-iphlpapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-iphlpapi.a deleted file mode 100644 index fa5a85c9081a4761cd4c881edfa17a8ff14c84fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 233836 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 B;CBE3 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-logoncli.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-logoncli.a deleted file mode 100644 index 32864e9b62967897800596a479e305e7ad9b1184..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29666 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 G|Nj9qsKTuP diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-mf.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-mf.a deleted file mode 100644 index c7d76bb831266435b192b37769454003e6ae862d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64270 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-mfplat.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-mfplat.a deleted file mode 100644 index 2dc6733ac0e546d5a59f959beb85733e1df5b872..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127462 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-mfreadwrite.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-mfreadwrite.a deleted file mode 100644 index 89a4eb56b6e353100a2c75bd09106e9997534b5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6158 zcmeHLOHb5L6h6}dMZ{Oa!i6!_;A3IN&Nx$85JDg!#z;aisJly{#c7yVIt51Kf*8ZX z5W|9n3s=UKzrZEG#UJ2L5YM@{kK1WGGw3je#FO;)&beRjqcmtA_1 zk!iiny~g>uIL&I8&Lm*amtEU@K`~5QRjfVvNik0Zw@)GRe26kP&6b<12c%15TVB(2 zT~}4TB-p2_tE1-LIV2pwL#R_HPRuxWfqo>a%;_I7Z~gk z&ZZ70iavG(D?>Oh*=9lWaV6hRxUqEHq>sCbmGK0e-|pWR7l@nuP3Fu>1#%m9#qt_| z9Rs||Y#5uq!}H5Aqam_w;}A@amy(8&VwFw9NO2nC7>YpDyjb!W4P#R_lZxT-Ar@pa z6rs4$7-WP|;3bx)vELAj%O_y*q&^kwnLdkkjJjCE(7$GJfg(mWju)}`y2l85t4S;- zY`aOgKo#v6`c1ebKlw13K$e%J?<|kcC0^@=*JYjy5RS$<0vm353%4e2oLP}b(;^4J zeI8xGeTpx|G&Ff15p#~IfrEWs)1CAP@SK;TP~aO@`kw_)OFK;sttbT4EdxvzWbK^i z3qHVCM~4q&YvhfRhxU#K*k1NHOg9y@9y0*$*wU^>{UzCMxU&a4Hoci54(3SXLWqlG zfGNbhO~wV

    7U{cc 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 Gq4XD1P#OsU diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-shutdown-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-shutdown-ansi-l1-1-0.a deleted file mode 100644 index b21ca1d66c548c2f4c53a76969dba94e1e82f782..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4494 zcmeHK&2G~`5T5*$pHhAfJrsnHk>G$-2Ro#0K&Wa|A;GOu#SLlWV279{P8GXq;D9O) zhy#Z{04EMSN1uTM2Ofqpv+K1t&ALqw7*%4FtjDvTz3bWU+p+IHbw{szYx56{NwZgM z$9AmM$ChE>4^3?iqhUG81?_nNxCBu81yKEg?i2C9@(O_d*WS~gu?@yvM*b*bn||z% z*v8QF*lJR%9r zL1ZEcO(LNwNoW!Y&Ax5grd9L$eZtqeLEld<{Cx!Qrqp$}Wgv;G`J~}1$L2sVHJ9Z) zjFQJn9!AMwm18J7la}O}=Wh z?Q|rS0`N_MdldPJUQt!4V4X!4TAhpS)cVp;b#{?w=L;?~y*}u4M!U~4_InB6>0p30 zV|~GTpzMn@g3k7{x{=lcTEzwq7AoUHhMTA_O~j1#xKwBK98^a?>T!;o*KKs3Cm0#S zCq6v7PiF@QSuFF)C%lCa6KQP0&dcZtb_*ucJrYhUb)AN~b zQDd_DAtO8!6Z+xLObie+5;Md%NQ?;m+(D0w_5~4H`JW+-_X}9M1C~n_7?R0 zl&Qm-O&#@Vb$rGxlEI!-yT?J|44->Bx?EnA( diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-shutdown-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-shutdown-l1-1-0.a deleted file mode 100644 index 613818cf79f24db6033b5ef2182ecdf8e1cdf761..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3594 zcmdT{!EVz)5S_#+g{TM)JroHcBb6Htc9S|mLRCeBIAkp^^2Tg8a6NY9 z51o1|gvtzYcqcksBNhS>Iw7GnvEiIRg(^&vV=x zoe16x{m6GBZ|_qWd4s)pA+ILyfH8kCV)^4QJHa@bzD?egIphYTk5MH^HY9H+EYq}Y zTi5MIJ=qEO3vL8jqX2M^dn-_hyh+6U{6>dXyW%>LlMmq|O=z7}I$<~m1}B8`>4BRy ziM@?Z3D>1s6HJNQmT|(Z<>TrSw~5Yr22PI49!X>jLIX);5Qz*)BBO5^mSI-hejh4b zzwgC2{J8*lU+6jqG7!hrJkqq%D7my$DnN*G9|{ z+UG2;OT5}ExI{bZxbz7p{mcCt1~j0SP63VQ=PvgaVS0}rst8BptbuOSI~*Q}2GCn3#{WhZHcNKSs*yBbb5ROW>g zH&scf5>B#liMr@Lnuz(FjkD#t9-{L)#>g1H@!7=_x;i~gW2slT;>&^fM{^5K-a$`r zTJV>i5i?n-;55B9TW3JcC9f(F^PgvpX282dRY@y`jPOiMsfNEZF+i+HtPsEPFd|g* z2t6`74Mb#zUyG&)KheqmCYtxnv;+n6+QZdhE~t*Js#1G|I=*5;=BcAiNkgMT diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-shutdown-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-shutdown-l1-1-1.a deleted file mode 100644 index bc850271679e68ec8e0de148f6c8ff7cdfb2b148..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2714 zcmcguO>fgc5S=6~g{TM)72;^5a>K?BsS_lGBJ~2CA|b>DY3tS-V%7Oj?5Y)~9uVgu z@q_vU_)U~~yWV8e*t8s)iL#!|K4;c%-|YC=n`m}4eA|5KEL*S_ghA+cUbh^_S5x-r zIIWN;lpQpQXoINsfiEG^)-Qa8*cakcCTE%G%UsUH{v?*-G#N+JL~!t|8;Yeg@+8XT$6^VeNr+@L z6|3<$N@VU$=0sL882Ek|hK>_{(%=qc~lKi zGd=2GdWTtd1B}jrOYn!gZG*kf&IYf`wjTKgw`bzOZCB$u2Di)3P6^J;n=6aJ9c3f}*nvyq2Qd!*a=ZffSZ4e!sKoPfjMB2u++<@5})~hfUe~l`P#T}Of z=K?FsR`9EM+vKT#U=(LiMxzGSRt-5|z|<+>aV>S%gw}`uq4lo6I4z9UL*9qSSUevd z_8zHF$#92SZ<%yESPif1X`vD9bD7o+-o9G6dF|Nq#s|*$*RR_gXb?u60u9B_L*?B@ z=|goWGMr7Rh6efYWPGe6N^46@<002j4T@b|4d54?F3dh{^qN=dLxGLbaYco4t*cQF zb^6WD8rs2H$_v$%`7m8#H+7Ou@XG2WTZ)qJyt!!1Wz~f<=>^Y!DO8S&L;fv037`Dd zNr(((cE0Ek^OGNY*XCpcD=#f@OPvIra9WO=R~Me6$Cz*BIDQw=2GzYQFeb)Ne0lX8 zzb-BoG22`1@X#G{YArrsPitB07WWnkwmLV`Hdgx!*&M2FLWS-XTgbq7>29*<6egk= tSgIEFtk`+IBE3R>C*z2&mM84Na0=*%r+(|9PCwaMed4Njoi$Wi^Dkd(&W`{9 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sidebyside-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sidebyside-ansi-l1-1-0.a deleted file mode 100644 index 96440d17b65f62adae609f6a7b23041b5f1f7872..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3608 zcmdT{L2uJA6n{u;CE2>PhY5A6gg8!`khpniW+r)tb z;;>)A@7V9)hj3)PXUC1RCUm<5@ub?$^Ox9u{ysnV>Ap7|j9#z3GV|u_Ij-Z{?arQQ z+M-J@O>=j5Cw<{~4FK){)Gh!T-vCyB$=~`G!1@+rJ;vU}d>XSup71H_O?=Ki1(A0a zFm%p3E^}Kf4Epp-{ga3fCR5G`GmZ((#B&_@y#JX>=0$P9LWeobW*)=OjXAIp_xvix zgEv9s9}JRSGCSgfB$z};$ux*g4uG*>e8x(!8zdq`rxyc z!rsM31Lvh%7i@*wQ+~p2l;he8w~dX>0-WksHB!hL#}-n^A_`d7xcO0a@u;Vqwd>41)AuRzK|C;$bVj5U% z(rj>ETPag$w~Lss@OrJ`=1S80Rhw|CeZAg5hXGX5nP7msR)nJo?!Yh^ zeTYt_M=&lIXInxObnOf%EZ9y#X)l?brnJJqC9fJl_GsKZZeRF_k#)>>?% zIZ|*-vrJ3RGOHp$-*Kxc^%rT4&Y*4V_fyVOWrBUfEQ47=I~{3+B0JBr$2=?0PPTBc zNE;V2TrSIW5Hl;r&9z4Bpltf380V^aJ;uh{6r+5&;>)Y&^mKtYqeZKg-y#GXX>7^R zd)Sf;mu#kQrM%X%I}L9v<{r>vDKZVDY7kMQ5%4XUX|gP$JR%Y~4T&`q1LTb44Dt4d z9;u-x*dn8|L3;MZvn=ZH0~@6mq$T&K>eNWtNGQaQCSoQO=p!%Zz7jZ&G!Ukw==@*)zvGGiScy8Rpl2lliSb04QJkOXlT20Vu!oJ7vbU8T+`)J6*QJL*8NAZJ)ExgI4_{ zU?}X>Jm#&jX0T5=lDAv@pxxn&bdI~E&BT2-@cI5jDp}KIE^}C&;ggOzutQ$=pL196 zN&9#|Xgs`i5N?M(U@SO3VY=)NZ}NJVYZ|)jqf_3Ao^UsMgeFpMc6k^Et^3^!y|n2z z54TS{9o`DHP7Uz~LCcpKyZj&w+O6HNgAb3NJ+RqmxP2P<(ZI9Y-sg4f;6Xjq&0vVP zJ3P^ehoQ@E`TiZ=(B`Fyu*K}BPw2OMM`5L%&}0xlT*vV|&$hjd)re4g^Zuh*qzJ&~ z6f!~7W}p)C9ui|{vSDYh;@89aP%VHh*m+Xf?{-J1!5QfV^uXn{Sobnkrg2%KZ*sBT(u>2UFz$f)KoiKgLD)dmImo4_L~+uWEnk0HWs#LPu%p zy8e*pj{2ZPIu;yZS&%23C&V9~1MxKnVJ}jOcn??NB^o|V|JR6L5yQY@kw$~#T8dCY zE1iY-SYN#=dI^Kn_P9=ZalQY#fPxZGNxq;Y?DK-C<-z))2vewzN#F(=;o)hEfPqP% zO|vvjvH(5^>q$s&pbMfHF|6x2j_XL8 zjfyE%M~x|$gjvpTfoTJl#W3?2R$Y!rju3!) zmu$I$HA>_Kq~yA|mxTr2V@2O*X6-!-VVH<6gnegYf_+*a3EO1fRS5RyKtEIb-?6XH zR${+TR>biy#eOX>_FZLXHSznA&wM7oe;Je$@?GgK$JOt@EFHY!_m?9HT`c$xOKr9i z`nsrC4Oh_ylu|a_lmby&@DpB*8A~RZ z;$m5_o|6TuRU z1==5J#@hSmd5fyeRzhDF6^s1b-;Fnn)AHnSAUnw91EdT%j diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-string-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-string-l1-1-0.a deleted file mode 100644 index d9cdc6db84a7542592a8d1a84f604fa39f62d05f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8432 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-string-obsolete-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-string-obsolete-l1-1-1.a deleted file mode 100644 index bb61bd6db4904facb5f5e5e1e2d7285b3d04d031..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3488 zcmeHK&2G~`5T3*-1*-@odf;dzI8g^XYTO_p6x0jH9N@~viJiu(^CR08MFOcO&V8Dm z`v5!v4?~%m^~UQoRwE%9Au&I)%q%6e;C`AV(fmX#M(HBPmxrkAVf4V4;A)4DlPO&mp(WO*Hw1H?N#HB z6z%|({S7!ZuAWE?dzRWr44a5yOJdlH7uR~S%K`d|TTKOhQ?Ah& zbb#X@a?aDk0%yxAgH=I09chM5a#2)|RaKy!JjBU9Y4bvXD^-~uVy2sMt6ZaXP&G|9 z<2>aTW!L*0qine1>zfzUySyxHh1MwU2FyO1OEU5SYLd~Cz4V)$$67U~>5SX82K3l* zWr3Xi93`3oeS6<2)UL)^Ss*P>P*c)`Z>X+ae(Fmq pldB3d-TBXS+zCn2)xE10rh{Y-U2p#-rnA3)z;wRd*Y-!l{0%YWNwfd} diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-stringansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-stringansi-l1-1-0.a deleted file mode 100644 index fefe50cc0f9058e7eeeb91b509eb36db1ba86cbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11532 zcmeHNTWcFf6h2znNvyiJG&QD$pcJ(YAyRi8d1ZqsR@_1g!I;uOA412nwTjf}R;`?v zQi`GXheF=^ck&bZL;4H)(DaWxsRTS>4#F4UU^1=RV4Z zle6i#j%!!8EBU<5o6Itwcel&3!(k2p-T|=w23Yx6InDBg#_V>w3q%fyW5b@d?fNy+0hZx{qpIzs1@PbC}I)41cNP0c(1-`u{u> zeCF>pYl8>W35h~g+$`!e(!0tU5Z3|wcT&l_D?$ApmiMnnQ)7Nj)7G{&*kn( zqoEKHp}rky7ySY&viGKUu=`h?+NvI#y&3@vZTKGmp=W7Tx#_TS4 zul`N%bXe+X;*VpzW81Fl665b^#@Bzogro=9$so6RZ5c{KoF=c2FY<73SgO~Cweb+% zvI_^#OGmyx0S0G;YtauD$_jf0D@!;pGwp({aGOd_xYhBvio)H*%C#7rYFAfOu42b8 zqH+~Uxr%{u728hHDcYrayN%#dqt*6gr+;1mJjyg`kCi~m&Ap_dvyt%$X6~ak4rADwi{bl5?8s(52>*z@qcJEE#)8LKrexD{#Q5eEjNh`6 z_B{i@#~T$^rYh$ukhy8z-bLK+f|)#svfbbG7ffRj0*uS=~<0{TO8c%R>1#5!Kg16L9GT89nG-P(v!+^Pe+@FBt zJ>MxB0ecC568H)w;j0g63tuNabul9`LjW3GXv>>eqeNCfNDBO36c+r3l~BkS6Gf(? zU);BF=GzPA)6)^8)lpX}%+EkhGb>G-|Ftphc{YC-j~ikB_whJw^Vd*&rnUJilKJ5`USTum)%LHG8Nn3TejV_l z)Pg^-G~VeGoB*Wj3GA(e`ml(B=rKnaTx(UVY9n63u6$uz*F&kH=!3De^JSH3%H4R{To?z9?k zDd0nuNHWjt7ia4x`}4FUnJoATYnuJa@|%KmS-+W-^`mzG3~k{gyMIwmeP&_(GUtK% z+BDy+r-+YIVDsM-0$y713toxjYPI6kHzY}y_vNI#A3g2-E&=bqFye$XG28L>$6bJ_gU#Hj`<)I7h*COyY7RveJu6sBwO6MoHIoa2za d|8FB55%0=RnfTlD%>Jb3IC8ZS=BH)%{{^3u9OnQ4 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-synch-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-synch-ansi-l1-1-0.a deleted file mode 100644 index a8eb122b5f3d8828b14cda5245ce0e24a9822a41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7698 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 HKC|L~c&7H< diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-synch-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-synch-l1-2-0.a deleted file mode 100644 index 01b5f0ef9b9f42cadfbc1602f8eecb4c288c51d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16164 zcmeHOTWj1#6h78EH|N^orXe&%p-!MB>uA?&?Ye}J*a@^yh^c8)LP3@-*{fu&HM^VE z38jQkOelFUCG??`K9oN8xsN4JrO*8V{Q>&WIj=#tKsTKhF z*A}^-#+dw@_qad53_$+EeeTt#0Oa4neDaqq?%#a@K>o^a++Y12fPDQ=?&mQk-};;T zYgnCYU>Hk=@k!tA^^IkFVE2rru4NlvI~beuKvUV7KH*SkI2AepT` zNgM3{{v&t2ZFFiz-Ovovz>jR%V6<)1I=E8cuKB=T>bjOQaJufNX3sI#I#{aVY;7CK zd6c^N=%!`$?0$d6aW^CK@tlbC%}z)7bRbH}B!_WURT8uBn$F;k>(wUsxR|!mvF&Z? zyDJ~x^`z7DlXI3H)Wvt3`)rD?dDrs=w_ zs(P#8sl?SOYxgi}71S>i0H@j0A($Q5I|KHd9;mRqI%}B&GhKw`+<@hmvupkS5HWZ{ zat?iPrs2yT#fM3(m*{SQ=F83d=_Gd|U9RcNp(=;z1UWz7k5NfhxB697l2uZYRi-4X zom#bC)n+YJ9Oz~@9MnPF{rd`Fb7BLviI?C-Vn0%`l~~y%CibC{CL{D;B~3=?yGbTP zy%Kd^|FV8Ngjtn|R2kN1gpA6>#pp-8|ELUdB%{Cvh6it#7|z@Iao$`&urn9pT*omu zLluX~{~PCZRt*fMsWw=za~?iujFWKg%Zsrf7w|^R_n%45e~!l|Frfkzk_M=-{yE8> z@}RuU<_su~jv)p%2JMIL1D?Wg7U^kfWC2WIy~~+E{Y!lsI#JW`I!oMO!am9=CUyc? zEaZU#f8fJG&z1_}RbSJzn$E~I%ziZMb%9q$SZ6%LVWsJE60bN$3)8}3t8sg3YF)E3#z)u^*Wo0T1=8$EXB+ zi`$XVM))bL7b09??WNJ@HR3e{pwc;4&f^m~(g8dr=pvT#J%-8i{j9aXLGz7S8ODbB zd~B$-#%#cmTy=@-ab^neYw5Vwhd{oI{5ps7Sl8A(WeC7q*k-B)jl9SuS7#%|k|I!l@`GXxoD6 z(z3GP4eSGQAq%eX1Qsgr9ODQJsKuc<2vh<~KHz<-&=Sn$!~dK-FM5uc7>0jKz)g|( zcZG7Z@V}ERC*l8TvRr`ww{UDn#s5i$hQw{SQuE+~hx(8Qw7cs&1%AZG{q9c|XBXpU#tQ6W7;UX@5X2rR4)wKMsBg}RyR3YbJhlci0qXZ-4UY434(Z^4PFBjyfVU+E zT#qo|C;Tt@WGK&>QgO`Cax!B)Pom-FWASORcB@O>=vRt6yXYd=N zGT{h>*K|_u(3E-xbcyw>xMTW}mqL*OzhXGF2e^3{E>@W3$a&J-kXH(OIr!2Ra8@K= zdP2FvOh@9&SIKe`Uv`t_0>03?aa6t>7SJLsq#2^hd*ZBO{mF$hrA3~=LIr-tI3$7G z`Z!GzBno3l-qUBu3e%+S0PiWJzxkeCr`bx4SKMqxb2dGT>fS&l;Pj#3~@E)4(qPMe!^ z-p{x2_gmKP_}tCA(HX26=vL;a_*Vk_$A9@!Zfig%E#$)W!uvddg$n$DvCo5e%cFFV zatmWc&eQ1eN}7#n+WcrgE9nWy`c+rCnW3`Y5}6^dq_bMj*^wzx7(;TNN;l;D8sojD o@V*8iVpO{Ukom*KQqQ3-N({N>rBI~6FBoRFo>L@S(^b diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-synch-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-synch-l1-2-1.a deleted file mode 100644 index 10c68e304ea0ad22558704eacbebee370074b075..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4374 zcmdT{&2Q5%6o35~gE2l10}Z%j(zvZ9>AJL&5SlazaY0N1vKmS@g&%d9av-H^M?KGdvJu(K1wPx9t zZC2J-4Z{>edTki171=k8+8h8}1<3pW$bScz{Ux94=%?rAU3wVXWbAdodjZ?xA@8xx zj?39QukCa_hR%bk&FnJsy*fRSztiSBogQa|X$6F4q943(?=+cju@bYG!|+d999WY( z?&M~HZO03rc6!hE{m|?B{6&42?}Py`=C!&kWpJ~{osiR@Q}_8Ruf==Y(JvB*r1K?j zIo&3{_#jquyPo6J!(vD6TH0<|rfJ)@Vc6Ajw7s=C_vi|47(g`xa7$P-Pz?D&DD3pg zfUR25bwVc{B1Se~>$F%8f)Ow{B%DWoxLj6Pq!HwCU3%F7Q{mQ>pK$Z(xQfCpqp^^H zQ{$>df)!dp0SQ(hf)xb83cgh+6|AD``-CetJfBBD_Z)JMvGrA4Wq>_FEA99!4kz+#BBzLa+y?&h#4^>msuM8lc+~?P$5hf8dy(W(}L&C z@p)cZN3x3&^W4TgxJ?U({Qu^8Nh|}a1zHWRYcb*n?Qs&%6<%*OTwgc(xUvbS?DOqB zI&wfYod7uzpBus&hviLi-Xa`}U<@?E=6-umdIZk~B26zj1to~+N+nQyDW-AJPa3)A zA#Dh-VmY;>P5@WbvdY3wG$x&CrlhOD#8MLC8kIjPrK+Z@SrLq5+*V5cNxGs_W(CLH zh~Ly0V2+tT@VwW~Kbj$_9L9N}f8Nusm2tARHZR1uf&4-F?;si1*A>0T24X%X<7~CA z`)E9iFv^E-e0uhfdM78bFSfF2HwuIh^Js3##%pLvHcRGWH`3iuz8TIgpvO|=5{Q^D zqDC|1lqb#;$|E8%pcnDZ!~nS>xk9}Cp-1ZF0a{e(9FU%>=*ub#-_S_8E?sz+nzZUf zt`VBB#?(Z719p$3Cca=8Mrop^acP>G*wyB}NE2Z)Zb%a!lW~1bEaE=@ttK*%crCuv zdbk&{Kh{G(lsJ-wuUIF(wNyj$(1gErVl9~CX~7)M51)}AqqOiw;qe)y1#>uX`*AGDxYp?&sUY8~7e(!omPp(YE*SdaVtJLz2T2Q3}megFUf diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-1-0.a deleted file mode 100644 index c418749a122a29437740524854960362dccae96d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20164 zcmeHP&5zqe6n~rS_GA0qE>ONhyR8r+i?bijZdJjiOKG8{TG7HHgyhX`yxp`(yu@C* zMF_1bR8>_E6{ZDU?x|<~2+j!c2OtiV_h#(z*q$U#P+XbD(#$wB&mPar@Auxk z89T3?E;m=#-yVG{7d#3x1-+na#o3u$PGd!KoXZuaiqrgxJ-_p? z|2F^%hyLVY>~8=HM|bh?B3?$}<-d5y{Q*GXI9^ZTBwkD54V0mfKgNT03V_1YM?B~s z08p4a!^7!I02JQ&jE6J$Occ&O}Z9$|;M^na)zRQL%2= z?^c`Us)Ls;dGe|vg?y>CdQyW|4McB`hvCD zaP(=vT+Wnb6cTig%QtPuthecjRst=rm71cymbHr)(O{PB_o_8h8dh=VP-!r~a&6Og z>Sn|78z$Y;FAZF!lJ$GxeFSz`g5`;OsG!1Yl}e)0kuDL^tS>HFSF4EZ#iq4t+P2lC zI-B*f!?5E&PXqQ(_Al$V5iH6MwUl9fM##tx9S`2b{Y7=qK{6Rw$2bW)$&kJt zAL+9ipOfTrKGJm@g@g3yF#M#EKFJ;fqcM6Ke6FJ|LTHp#NcZIBRFV_Sk;}bvlJm~P z>0Zpp0>z{QvaEmhv9mZhUuSa|6vu;M2G*SQ&Bk?}!;lu}X=-EwTwuM+xj_9(ed-^w zuHnxdVFwfTa84=l6JU+SJj%eYc+&sbTVmX@HBFl=FoJcoB6G8n71_x;WE+Qel$}Mn zMY`rqEdSKSI3+pIVpb08~5Y$ss(WgZR&L#@TNkW#BfR z1Y8h>SJHoGF^j@buf;-radI+(`a9U@PN-jYkw8h3sJ|xF+Ya@PS}ub6Z`5)E^+&ON z-J*UBlrCnf(f>S$xrBbvl~|I2?=e=knzKM%)b~{a!G^-zfDJf89PGm55JTwMfPS#y z2>FrG6@~vl8&s`!*`O>+kPWi~HasCV99FTR#Ag&~of*Zl4N=HTD?nlOfJF(ip%{-1 z0pEMzAGot^F;nWrKR85e5G&kEskRA+QKQh|`v)g^28%Or2h(6{g)xwNAW7Wo1Ki`7 zbea?O!!JG1vCyv%*8kZ^auSF&B7y#1=J)#oSV%YW;G4oj*w?P z^KK3$8Tb+7Hmw)7pjG!IX&2({3lA8=2bdEjY8QH8$ez|1DRCU7*Dv@_43V5;HA9m1 zlwtu?B|YWlaNhrbiLf7`mWPZ-xHP#P11;um@_-j?Y&kummZKM5><*#Bf3y2(T)|MB&c-p&yyhyc=5pySvPmst8_^!5`mmuy3JIDm+ke-jsllrlf zw$sNw`!*-dzI9i)Z~1jnf*!OMa|d}+{%V2mE8Ib_bn*|DrFnId{z203m_Cc#>DE8k z;p1L>Jw}U5X~sXjYfFc}w=l^wSe$_em7#oB=@$pczfG} zH#+!0b2AfNf9++RDZ{bi{qstyZAr{GI@g-!5ow4ka1*4r4{D#oQ^}9Z51F=DzfR32a1L>Hl7spuj|l<0ZW_q@I`{ Mx!OS{B;jfQ3pK7MIRF3v diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-0.a deleted file mode 100644 index ac2422348822ffea2a4a1d078e0054f74a79ac76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9414 zcmeHNTW=dh6h2-jy+lEv5=uk?xilaiuvt6K+DH`&L@h<4t)&#G5Yl85ukjMw8@!t~ z?E{JsLQ%y-h5CdL;u-NH`pmE47f{Zb*`1xe#p_C0WGN%<%=pabxt#sJIkRhDzG{wl z`X4U5Ux}vrTHUA{dh3IBrK0mDHLp}!y5WCeYXJb30Lo_o=KldW|CzWJ?*h>EVnsX#OW*bh|V)yNlxo0yp9<&W+ zG}*x3rpvcGBWuSQTZ}M6m(YxVb|1L*sOPXjoi&)wOorVIEnt1i?4IN}@P#$rw7d;x z)U`d^8QnD9U0}=}?y-Knf-yB zqaCup`x6o$Q@eyb=e2pLdDel)>)BZaI$O1_>6zIO-m(szr?qX@odAPF!r9c}N;ANo z!^#}aOHJ#b2e`GsPPoNvTr0q>U}Y%<7qkZ@3a~nKt0=%K39#x5usWz$8&$p59Si_! zJ*1-lg@2y`d{gR~yMe*CtA34LPty(_dp{w1G=N!@G2oD=Hc;DF~;l0E@?JQtY;e`Dq3BXLpMa&=5? zA+SkNq}5Qhb(TBi2yZPNsM54Wd(C^;zU6bAiVEmCqX_Q$$}UJFq@}|!I>=q0?pzZG z`&JnjLR=(@P!#miaZ+2fj&;O*pN=zvd0oWH4IdNOaK%rby-lAUKMrkS?Of`aOE8bd z6>L0@HNj@VT>8GxVI^|Y(B))&0o9Mx3t~j<;2xt9q$P|L0fu`aq8Gkiy8B{AVuk=T zy3orq)+o_FAS`m*` zJx&XQbX-CU_tJ4v3lwjs)xuebK0Oe3W>o_haPE{s4ZI@^JlEg|%jjy;o}UWjy^)jm zb$r0)iOyH2F~HwRCGVdn2Am-##2<%|AG6H=SADjJ{MUU86&n14dCID#2;%N2Pzh@} zm9W-KDB%h2ijyLMy2BP30Wx;%#A%447$s52XYWJ=c$AKlN_Y$Vm^K2;1HL~A-zg>E z0%4!Ctcok-SWKZRZU_UyBPSMk zv#f@fIqOw5yz5)2(BKi~u@y@dsBS3m1l7pN{(2*Ef;wgYie-q~r{uMrnwze&w9 z`!5p7F@>?9CJa2+fL^L4S1bh(^F)CfsOQwc={r?^Cq*ETPa9GLbpNN-K#3TU_^oxe zqd=Z_s%fj1N=W#lKrQGwwXm9eqCR~_2;;%)&!Gi?%s&y#^r`3#zH6v);i_+;LIeDx PPWH-$C^8*$^2+!RNZT*U diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-1.a deleted file mode 100644 index e32f5ea6bf44826c17a9659d39f41350bbf97c0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6230 zcmeHL&u`pB6n^VXpoH>EDyTvTToK^XUF_|~Ss{c{r4_A2(Mk>CIC0`x>}0);){aOJ zLKQ+42ZVCqz=0D7&WOLDN5q-Gg(Ky?8IL_%|5)d+iz0O-&y3%EJM-rG`{sFl?L&9E z?|-!RzBya$4coCDYjdz^nwA*SYt!7=koTs!y9NN40gMBH)g6FKzsu|SKLO}^@o#y( z@(%!AuUd35w$0dQF`ve4$P+$g+mXlFm%+q63K$ws1`c!jY#i*-mD-~T-;bu85hjcY z&BT3t8V8e6#Kt!3F`KyzrwKVQpS#{7*Ma*yxqlibJlqLFe$zWRj+2m25@0L{k66_x z+P94e$yY-06yl)(8u8H z;{>NEj(gJOdpwM$r|BFGfVU>`ohVKyvOCeNm&*NGhQH zl_Vv>P2r5bStv_*Vg5Vj^f_eD;Sa|+JDDDjUc zhteXLHWO*uT9PUtx#4Tn6H=609r{^50i|;WM^K`MBa)p{@ z>f%6Kw@w#HIj*3KZ_06*E?&d^omUraV#n;8F}~SfY)xE6|Ec7f$X*A~YQRrem+d;! zLm?i^)IzVB7W%~;afbYurv+c*&@#0!)z+=k!q?@vf)*Z@<1#J0iO=}FS}>sIZ>eAo zekH*6BIb#=&~GZaCbq=AtPJ=SJ2ktP(x?M0{JTY-E$n6rp+Dr=e{q>Den!^JQ^=9V ztYs?XD{b96g?v|zD=6g0a$Kg6ckzjzS0OEE@X-b5r8kj_s+9N8cPhD3hSDHv1OC9a zK@_B7ngExm9IKgf`bFhD%`NMha!h2vd6ffD`=RkdE9RO|hOU@fsf8K?e#5$U_fjkM IkcF${KPc!!iU0rr diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-2.a deleted file mode 100644 index e8ed02e053964d637149aabc909ef454158e75c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2758 zcmcgu&2AGh5T0aP3Q-XpdfQEu$AiPCKj2t`B!j*);HlC#M=?5dk=wO&Lcap-~gcV4Z9BjN5ARISckE%f@gwtdCoJ|Nkh(l#^c~JW@x->`OI&!B<|C< zu%}}_NHfj|GZKVmax5ky9uHHN)L8>R0mEfR99YDIaF>4IBhR~8I^aU2+2@JK`KU7) zB>YQE-dQ}lWa|(ikB9x-O?7Nn#kB5uzVF+%-@-;puNK}sz_0?eDgaNUb_j0HuX3rc zZfxlG+%U+4)et$;hVHG~7h(ept_c^@f~QT5eTd2d?#q-mcp7)6?SwmCjXT%4Q&dh$ zaC%<%NDF5q9HfOqv~UVqI7!`UI1M*U5&(A?C%pKFe|G@iE5qPI8w$G_M{;W|`6ied z!|E!G5kG4c#)usz3HqX_EJ_hy8Mi~6T7!`>BW75Ymy3%OBl1B)m?}ir?jsW=)1&Q~ zE}xYpru%pcPigD;n3y*tO(o3^ncmRuPG~o{uV)2A=$6ZvuJLAX;AWX)&TE};T3_yu z(O?0!^afZmK98lg4bLO_N+KLZat4NZ^kaOXERtypk)}iLAs1wHRW49`DW-EV-x{^& zd)Xnun&;G0egX_-tC}kOMP>K(VQ;x5JQA5;o2tlpvuRY3BN>n>UM-dBvfQHg=rztq z1;?qg!P~Nm;Hz)Eg5;r0uIJTZ_UhBkHPKmS_=P!cp^8uy{8f&dev0jS5a%u? z89DMWv&<`o#>i+aqZj#X2IKd7ub{pR06yU)Y_ D-m~Dc diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-3.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-3.a deleted file mode 100644 index 48cd52ec8cbda084d6c335e172477e02980ed3df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6058 zcmeHLTTc@~6h7S+MZ{Zzmv~9mh(6J}EoCVQF%UHB14=>+FDAo6w{)f5Hr;J3JQ!k( z@xd74qYwTTp8ZkcIWv2iZg-)Ow1$L9c4qd>*SVbezB$uRa#{gg)KzRZ%avfl_CZ5YS06kYb;<>R4K+nWJJ&Y|e_RcX| z4qGu@v&EJgWs`lhY@=y0Gi00R}Yi_j+*DOD`oMz3~S+#bhU&S|jT?=T&~5 zi#|DLpyF2B_O`HargeFm7C8hhaPJB&kblXiVUo`pG3Oq2aInvFDoLLJ6`qSsfj?Lo zd?Xv1wj2#pkqhj&C^DOuwRMp@5sHG%cwC?@TE_xncH?onKQH3kD-Yw_aK#6QkLhh6?^(Sm z6TM%o3D(h=f{B-~CYUT(OMQ6!m7+Eco9>M*Ap4MdL5zqS+*>q4U~d-F0^tJYn12=5SA(aE;0pvU?p;+O1z~FUS&MGa0N{FseqDnj}i*_hKoN= z0qY(ss2HXKK1kypr2sb`*Q0<>@wh+%w{U$YRX{q*2fB1)BKDkB72Ku;UOT-RL4nUK`QAh3ifrDm2i)a3QS=< zC;9u0j8h!p+bS*n4k6w>EPqVKLl<2l>h($ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-systemtopology-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-systemtopology-l1-1-0.a deleted file mode 100644 index b2f7c2c4e6d50a87f6ba7473b938648ab9522330..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3672 zcmdT{PjAyO6n||x7~2pWcHqFDAi)LEl0cVr(u68ah+UX^;p}CNw^VDIDak}9ahN#l z#9^NS2?@T%J_etL@t*CZ&XTqphajF*+j;&awx54LKlkaT8}@ESoEr8k&fW|j~#TEHmb^w+g#a%ihGHT)e>CVpVmmNW)L@#T1}!> zGf%DN&~DmItK|)c_(E%cFy!jR-AVYC=F z1csuMHx*|QzXj|vYEv;HcEk{)_9Fig^+aQk5vC3ymKCaciJ0%-fcYJ}U0}Y0yK$eE z0F8gm{MTX{Sgg`)a9$4-Q)su#n4jYHTEk^Z()-gk;nMci8joo(fJ!?i*5=umnD<8qOvMOL5*5nZVXiZ8`fh*B1H z_=Szil1+tDBc;U_nl0rvH^;O$G^O1Z;W@{RrVBxt(&z+wiT%D}JXI!G*UT}P6ST9D zMkuq>N$$vU0_|fP2aB|EVS>x$m=0n-m*X;}(K;xXo|WV9-XrZXR@(}b`f$Y;m(S_x z{Cwh@v}&_%7YHLh()g02cd#WnF8Pd)N{xklRLnl0$5Z4QPVM?@p1 zBC&2_ft-IqoBUSVSTV!-PNKcm@mDS-Vwq{(N=H9I;)1=5rLMhgDm7?Fqq*A_O zVCE^s(->BzQbyXivy?I}#}$yrFdEXuT}C$>0zRhP357g4&Sl- K+kX+&DdZ1bPl)&c diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-systemtopology-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-systemtopology-l1-1-1.a deleted file mode 100644 index e8c768f366225e6d06531e9d6bf2179a8e3d8255..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2786 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-threadpool-legacy-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-threadpool-legacy-l1-1-0.a deleted file mode 100644 index 894669ec169b8f06bc4e7096797497423c3b4dc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7830 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 N=Nu5qZ`WWO{{p8#(aQh; diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-toolhelp-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-toolhelp-l1-1-1.a deleted file mode 100644 index 424f12176c92cafb5c541488700d4a00f839a0b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5106 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-version-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-version-l1-1-0.a deleted file mode 100644 index cf48fa521cf4f170d3074f8b8cb49b3ef5c2113e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5196 zcmdT|OK;Oa5T3*-lu{mr9x8;85k*3%33i)0L8_`s6$NfZh{pkGzQ zgertM^vIE)(laN11wVr_v+Ktuw(~e7s4IDQJoDMRJNwPf+P7EC#&%_O>Veu>^kv=9 z4XsejtE$FLa;>U)z34qqngRg4Qhxw4zX2u}#C7pL09}_=am}m%%&aiB&e)5l-Dt8+ zyJa`ndfl?w2d8H4It-QVqQQ(jbDb@^Jbk@pZ`T_(BTThPXvXjN@ik7p#$280Ok*a) z*Hmp_72C8%*$=$58_)La#>bbYyJx=w#+>Rd>r&$FhEuaP99Kq!s>gPVYzU({Jgt@M z&z%GNQQLoAvOQ|)^%U7G=Y6x4s|Smmw7R;c8HS;%MiDDsN>kR+Ib2|XVhZ32mnIjLD;xVqj0e@_A4rpo4yukiG; zAE{fVt8aqIK1?TJB>yQ%7|C}Tjv=pf7SF%jZxd)zQi&MuGh&94y3_d*?~eMQLYOpE zupUS36Voe0FukaWeN9zErW?2lS83>w`QJ=mTT5LXVv>=5kwv~qdutSt2lA+95fP!`;c#|5!P z^H@X7K|Idz$8`;bCmzPv;fzmC@6z4zai|L=rTgrGCSo1+DVTTxCBbCDTDfsR<=bETCRBN8LTvm$CltXxNl3hefgc5S_#+g{TM)6{-*iBg%~!J58N{5Q$$x|WnR3h?JdR7HLhTH1_7#-Zz=m&q!0p1ll z&c1X+el?F2R=W_JU}_GFc^D;sS{_EpU5R5TE0Y%Gm*;H-r?f&YhUbi!p%v~;J|y}^ zF~|s0gf6zr&?_;$dkLmDOmX(;db=!{ZsRW8q@_dYUo*YRmx0YXtp?Y%5ix{zIg9BM zul5QqR*pI^$ApvPi~SlpG@zEw0FCG8Iv>r$^DaM25st<=1D&w@VX!YeoM{u8rk7lT z7I=1r7AU`z)5O%XMyxrd4i1()r=Ii)(BZ9Uitq~ui?1Tf(pF%iSwdj5sz|-6YHO7z zJXp$v~x8K_Fjn#32vf_P!$Zb zaj~}OJ(`I5oQ<>Px^Cg%MTC()eB;ye`}FPPB=IGqLgsxzFpuI2HeSP#V6$K@{XXKb zQn@L#maZ?L=8>L)7*RWT#wbGUNh*cJ@GMN|g}*QDzF3i1A>QfGBlNO?BQiP%geN}s zxaSA9>3dK9od;(YeruyT!?j?}sfDd-e5ZAfg%-YJ3TA1+jrc*`GPN*J;!e}TI2)JJ v!k27ZtcBb7ewWok7AwSk_y5+z9n1w;qKC)A!P_GI#6GQudHxSrye|F%YL{Y9 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-versionansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-versionansi-l1-1-0.a deleted file mode 100644 index 5ee03434b001bad8b55d0d3c0cb6232798974114..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5236 zcmdT|-EPw`6h8eKj4^%&yOnzG9%RqJ6YvB)0^=MzPTVGGy9h&&SE_MXR-0U7C2H^(JG^ zFbz|mUs%vIoj0kurWFgO_dt090Psrv2FU&b7=J9Ti>m;1U0xQ~R2g8Z%-9NJui8$l z&DNZb(_$-4+hOnAhPC4|GV_R>TNi2Uyjy?0?-CtUIk2yH4xehC9sy%+eTVfK@pjd1*sE?$MFgg&PKVkM zMss=Is5D=?`_7ZDd|iBdxMk2&)MnS6{Z78=FLvB28@g_qxWMK@(O+fz@Ek5Qz+wvE z3a^bpzTz8m@Rns*JI-&k+e2V*Ksc9PI9rt1ajax=MOdLk>UzTIYGrh_4G56gVHf2(=816S>M<#W*_a)vP z^+Aa+X+VddRFc^Ti1F1^FutUhLX0U*N;QY??-cTdOS^&Oh6CZ zyFw4-U-D^?)ICRxIiwH{mRzTjGzzfAbCIRtCsvY)PDyI4tz&v9gf=Xy%p2k?p=sp_ z`|vz>%qLu8I!HumjP{-T*#5@jIu#n|BSsaB0?Lj^Jw&C0AX@lQfL5@GomG^6A;9%S zl@elhqH(^)XdcUm*^kDVa$MK2^320X8_xLnU=y*A`V@@3fHlEr z!Ct)ev=@pz;Wz`T4|!ApkNwi0qgG6)Xt@&(rV& z%lMfKNepODL}d7koEfH%vcjt*^|7V&J4hd$Xk17iAEI%-K4x&u jPpgk8meAjjv#gC9o)Q9W_%6bhG<=WL#<2fG$;6Dmkg9T} diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-versionansi-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-versionansi-l1-1-1.a deleted file mode 100644 index 56512f461401a2ddd03a6be84f9d06b9a9ded274..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3604 zcmdT{&2G~`5T5*$LR$of3RQ@Mkw9=D!A?^*MHNa_iJw~~1lNsQJH&0`RI#Cf1F8_J zIB=*qapY0@3_Jx-L7AEL#+$}&!vP~U>h5^<^X_`~`*yas*PX#m=keS_W4u@^mTlSQ z>RQb(OzzTa!&qLf$1k+z0N@fp;VVG-6Ts|G`8Qt%m@f;lDa6ar8-!xZi@br@?7N;g z@B?Sx7w8-|Y+=_$*WaeU*xwJlo&LZRgz1HZ7X17chw=M?6NJ9#T7rI#z@d5`h>qvD ze|s)?>P1iduJ=l=<9X2TzwqCC8z6+=+ZS2Alm6^CHo$#%;B80MzS@zjov=*Pwr#_( z*OHxZk8mTftQP>Tu{8tL$Qwp%XIBPnwW_WYIoS~IX~Nb?bvq0%fWaZ*d>ZghU12Yy zQO0%Yr3t3Ottda?7P4`x3U?ok#T1?ud=*JDXjm(I*jFg=dNEQ}VzQWi#wA4&=5qR5PwIK~{i8SFX-!*L^a zlnVF82Z^6(4l0Bx0tN(GosV{z@tx@z-!L1avqv%B#+|rM%ZKv6W_*p8fz=|d2G_L| zvxIg!jqwVvw;FDwAiZDNgj4p}b^#qFpqkEt636E%Thnm8!{;i(u`q9-9d+IWd(y*f z8;dl3WDa`Z=t@0Md?}_$(a#*Y<_U!`SaF?N(kQ?#*Rm?Y4>a=0D7k7ZG_hDLw2QLJ z>N2JlF0DEDXqE%>1-F=zeVWGTY}D~Cz87-a$4!8%SB zX!AmX8_OyU#0=AMBaP8_G!gSL9cQa`-9+PAj8Q)P;*-<6^mKfj_!6s-d4G^Bq`4(C zub?HFEm=%s#C+DWIZa=h%r~INlCulMD&VNm4EUDJE=lH49*)GAcKDl#0dhrhg?QgX zkJQdBw5ZUTAU%)xSyn~(j>hC2XquZ-J{siw!`d*X(?(6daY=1_#&BGujaJMTYVy>^ zt~T#^+KAF|6WaKYjvHy?27ce4Y9oyy8#oT}>3`M560V&}qKnbh0KG-{hV`T_&imgW HA3gjAD_(AY diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-windowsceip-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-windowsceip-l1-1-0.a deleted file mode 100644 index 840ad3d3405847bf2b2ae714bad240d1895c345c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2714 zcmcgu&2G~`5T3*>g{TOGdf;dz{tnoztJFzRg(BtBp2!7>+s27E#MFtS*rh$@#ECX90l{?_+#U}U2NWg=X*YD9ky(n$tkn9 z?R{T8+jhSJ09ydHV;nvJ?EIo1=UvV}r(&M+p2)b%1Hyf%X$_w;I>dxVLERmEiQe9#I0$ zBz5rQ9g+YUS^`e&IiADZFpdG-Q51{(r9amIUu&b_R6BCN$t8uhZp0^;$z#0=V{m9y zVGRB-DKHi>Q*1fMlDlo3`UghxM(VI?Z;BtupC|@3!qfo?L3M5>^GNaI|4@9JwbvBy z<4HWF<>Lino|1HxboZ$EeI0I(R)gz$o~wjTx=isJZ;l3TnL*~fwh5>0o8vAzETEq5 z0!#AqSXy_{`dHqI2*)OM1EXwwHa%4yskQ>sw8;(RgJf6b1My3ou9|u0s5P%;hy-h` z(?~fA@J;rrtHWS?Zkc1Wj}BtKm*afBF1l-ubBy-k zj<2p?(bMJS%4b@|N>9q8cuI|r&{Aqv%BA;m4I34lLR#xJ22B2BMS)!Tk|~OSZ>fs1 ysutQKcVEaCxlcNEwIa1b{AY$9l`qfGqDJ?C^1PPMs;k3KG>W?|`>(T^9QzCQC(T3v diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-0.a deleted file mode 100644 index cf72ff523afcd77342ff2c616a5c647de9a3865e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12410 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-2.a deleted file mode 100644 index 482c8df248f93626a18a0c4acc8c1110d0d7261a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3714 zcmeHK&2G~`5T3*-l(YyAJs^aTk>Eyx9a1MCR0Wj-2M!fd#ii2Lt+$O;Cys2F=2&s) zi9?@*0|$H-_GXID>vHhuhpNKd9hb*$9AmF zi;ihp+@+VM`P^~R0o!!|xB*c422lGBu-H<+r7eJ^Eg{y0*ozSrkT*9EDNh5BEi23tO~=D{#_* z1ksnSH@{WkgN!zZk=*xV{Jhtr(YtWh4c;6MMj(Vg7>V+J?0J9bxWZoVU@Ui%W|*B= z*-6=!<4BBuRx>-{mdkOS3`Y~M6yUP{ti~W~4B`gHR)d0!l#4;u2<(R4 zXf?ecpmEJTKalAJKhFX7D|_xiW=QS2Uuhf0Z+jt_?$c@+M)RjphS7XkV+?sIFR8!T zj|;j_O4S;ZhY<_<_p2v(Gj0 zF1Ao?Cf}9$XH~r%Omn;Lo!n$+ea2&_XG0P1=vI1){azaXRGDDSn13)|X!j+pP$b9G zyfVobbgFG!Y^bdZQ(P|pbP+Qy#!Yxf-_b+Nr(&Fw?dt(5l#labo}E7-%js#}u3D8# zUL6#fw6==YTd1jMSCLKQ(-_zCJ}qxt%toO5l5-EF%wVt43OGvTo@rjmEbNIKpZJ?8 z0@RMw4)NuP7R9HBsFBb;p)70MRz(%QqEh~zy6U|(Z*FpiVy0NLF{Q1))c!LijjRb% o?&InIDN{IJ3g6Kx!v0mJ(5*o-Wy(us;Iax|u>QOM7xQMxFPV*>i~s-t diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-error-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-error-l1-1-0.a deleted file mode 100644 index 6c3369fdf09bba45790bdc42f257e5f5c2bd595e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11282 zcmeHNUvJw~6hBScZmTviiBSz0EKHlIrX|>I>ZDSIDpeGCfhr98g5CyYm5Ro?Z1tR^RWq-XZ(NP6$uSlM)3G zS}qR7?$xr7TrY6?2U|Vsz>n~X?v{&_cYE*K8Ea_S9ow_}`>08_n0(ll`=;j{;1dY! z#M+YbBr+Oi5QuAgb@Ck@wR*(V_Q^bw6<~b^;0e~6gBn{LyHFMt z*xs$Rt-w+uc*h28Kd9~b{sQ$s;m-62tUH)={2$aquSL6^%iOFeN~R zpqUo4Co_xh=C}B!7W*b)@diGLi!^mrIzn4QQGcSpXlHb~ztN zzogSR$$Ji;bBZAhENq=>;wZo!R`Q|*zhR@8NTE=U`I@Hb8Y9{$uhLkNy~-J;n9uPM zQ!tptG1_--VShWcb*d_$<@74(1*9F3M#xI{V{Z|80eXUU9IP*m3o&lMt27aFoQ;b( zM(fx>%qQ76L(JA!cZ6`Iw<&(8bd3Li>a><5N_|C}zAXSyYkC=t$!ZW5!W7F2#%w zvvCnKXjdMW8RsybPo91znGuVj{l|=`g%YYt@D-Nn6^j#9QWHh7m6`HRD50tZzhIe9 z3xYOzG*&c+R`YRadfs5qKEbt!LyvOam_zFs{GhNi(Vk_IX-MWv)_EhjV!@4+ypV5X zaimqx$%E;6gC6rg$%EMx5B?A5jX`^lzWXJ`1+!o!9}A}EjiKJ)QO+A>WP##y@kD!t zeCG|t%7t@Kbr;Nz<$Ua@r_URwxM7YuZ*-+Ny~y*1CyhJo-Rwu%xYT*$BpVmSO3x#A z#yxM8kR8guMBx1<`J8c;?Im*Dv=K_ED#1@!4q3h6h*CX8pD6TvELl#!v-%7zXB10z zCF?4ZC3mE8hp{Bc#-&*DaW*bu3I5q_Y?jQRon-w3Xp-4M-#977@2esep|k|wVwt^a tL5wVo6wQh0_ilQI+~n17svgJpZUDt!+?e(Jx4(BQR?dl`>MSIt`U}pjqu2ld diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-error-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-error-l1-1-1.a deleted file mode 100644 index 0c48c43b1da73ad35bea87a408476b1c1e988311..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8828 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 BY_|Xa diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-registration-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-registration-l1-1-0.a deleted file mode 100644 index 8eefbaf191949ddec9b1d686f9112be4b8fd8dd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3760 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-string-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-winrt-string-l1-1-0.a deleted file mode 100644 index 8bebbf25ff49e97bf35c7870d7d7575e9a857192..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24978 zcmeI4&5s;M6~N!l+Htbj#1JQT%-5KhD4^`pvmdkT$O@L%CN>I*wQDPpK(uFfdObtt zOFg~VSO{4tilQh&mOug&A;bY81QJ)c<;Z% zr|Nar*ZcK*)m78yE_TBG-pfm0Z|YlXqt$M;z0Iw5v+1!Ub>D2Zw$?C(w%bbpumx~z z0;9m>M?u7oN5TF$ z41AIqPD$ElzwsoD{Am>SM|b=|%WwIf-|_KY!vOqV(CL2SnZX!6Ak?q2 z3CL@M&R{U!@8n-^7ZUflKIKKdI-Ep5)N|I8V)@Y&yCSmH@4A*G`v#dt$LR9 z^p)7_B98L!Pq$TtV(uwgk!2p@$Rk4-rikWV?GL@BbOJ_{F`++qJk&u?P+?XV_dwx5o!4xq^uWH`IDI1j*ToCr41LeWR&(h!eppr^i8xeYrCVEw78Hd z!`h9sV{w66&fF*u+DN7WL)<&_XqK4H_loQMR*Ui`gj~87J>HkG+1QqbAp`}(e@s5H&Glnra5pB z^$tgG@ffCWT1!(U9T34Qjf8*i=8*%?|5|NXgkA< zQ8x8FZ?(-(n`K!x*Hp`LjJ3@B*vU)m%%qH-JuhND`eUnP}`DO7!Vw=R-+siQ};Tdi8RNyf<;FntieuL-24^7ux^Nx)~H-lYnffySb#n@Qg zRJ<Idho)%;z7Uf0B3f1gq7Fxu+rZhyZMmUNk zSuMuFM$51y4-0V6Q}od#2ceR$qTj~I<41NmgM)YMa*~54_HkJbo{=1|S6}IQk4k%4 z=L7)>6IVnG9UAaQ+{emqt-WqK>>|!>MynVr^+<&EHAhCiPnN9AGZJ|^))svtuhNW^ z7>Ve$*4RiTIcLHv#>BcgIPzeiqQ1SlBx2~$ zfZyX@*biInHA1Wct~qI4D8|Xg1;fw!IX*~djW-60f8x^5`hk*fo}cx=E@${z@7d)f zCtt>XFU!eOiKf_>V=#@XE-TMr`Dsght!q4j?HllCJW5vVEs)|RL&!NZTg8~E{Vmqh z9G#EH-}-E7B^xW4OO<`A64pZnK(`)xifbagg0tf_5g$7dPe>xvf2cn? zM5wjajfIxtoQQ&R-|Oajk$PQKGN&=mx~j($A}rr$s5Ti*_WV%&smmgU4h{GN?!}v1 z>$fLTgjm|g`B>a5I3vDhu0X73{}NK>d6Rog`<{pTEs|qw=?8uXN)Eg?fr1z~IhevNyp?u*ez zMw)Xfiq40d|DUa?NT`@+1b$T05ApdZraRSLfqNRuPg_ET$0OLj0l&bbs`<0Nrsdv; zDmWWn{~MO|XlnJLd<4$(Z`dP-W>njED)MjGGz%8vz`hpeo`Zrj-?g`t%fUR}(xS#e z^8LRmznLxTEhV)!M-fVzb8o4h?Iv|kJ@rekIiJT{YS^g2vQ(LhBJ&lhg^0iHnaPCv zuO@f}XS-MH@q>jN=`YPg#DYeI_>^nKi6}dMnDu2__kL5s8SQ%fKscl=iR59P@q<3H XWFIW9v~?&ueqc2=O#_d1?m6hv+H#>jop?*vr%>@v(K5`w{Ld*bl=a$)7Pz6=5lkpuIGAAuir6E zM@;FxX|{X);(<{M05$*`pKy2wu=Sh1j2$rcArG^h4MQGg>>v$7b`mB2JYwiP?R(7Y zusAxTZ{bgqaGYi#Bg`x(G!wtk$T-V+79~e4b{TzqhW|ASflWg{xbtA}F-n5;B!8Ra z^Ki`Hi>0)Iv1m4D)pNnu^c%O+lGr*%UB~e}&osTgZpmoy;~tUncCtw(D^{g?oX< zP6bZQs}V(E&2kI1V38=u$haj%Va2Y6A3KO+uqRO*77zWs1UPC;{A1-P{5qEu+PD&* zU^L#D!A zm1T54y~O!Zp>`TfaBf*yuo7suB1NcbXN!taRsuT14hH+I#f1fKsj~DD!>e&+meD>2 zi1}WP^VGU_(Rfo}ln-}&arvBnou4m!x>a5ENrMzu>hb|vQrA+$^n9Uat(sG4W3}FZ z&ZDRxg?;s| MuX_(#Q}(s~0lMMh`~Uy| diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-wow64-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-wow64-l1-1-0.a deleted file mode 100644 index 7bd6ddf0c3c4335365ee1e59527a08618205c68d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4450 zcmdT{OK;Oa5S~2Bqm+lB2aYZji316Cl{zg#s8Uf?Zc!z~1!?QX8)7w&Vw zaq5BJfcOy{dg2%GdnhxrcCtzABo#^!D|vT3`+0Xg`+Yn1(o@H;)}PHkHu{UTYT1@; zme(!AFu6;w4WneLd&AhB2Y@R8nO^|;A80PB>)I0lx^C3y5@J(`mx1&HQIVna#b(=; zqT{uk15cpyXw4RONi@7Yx*~tOC97>;3c@r4LJPj{v^#{gge6Sj2pps-LDZ$=PHz@? zMU(ExL+OWXZUsBi^?X?ky><(P@R|o=G=_Vhdx5jpkfVo42fYaR$%@~u${>iQ9dNqu zn{UHnySt@nduf@bZQF)nua%55L7N7!GF_)U!g=7jkJ z&wK6sqZyLQaW5})&wJXn5>Do8^Fj~Tmp>@~eN4u6bw%&7ftZtIoE@*rKw~??#6EoE zv-1aZcY50M^{nie?+s!f&94}F6)nYR#a z(#sXGhojM_8GdhKfm)GTA$}jCM``9BT2$yPP@XNmS5+3ip}}7{fAzIBZ5>kfVU<`D zs$_LV%RWjaUoj}-RMLo;L(MEza;VKaN+rk1xFMB%Nyc?mLaex`N-~Nk>7UCuCNb=P zRmy!_JC&YNwv~hHEPTh7m69F-?Z;#UXv+UiU9FfCYQ@z5NR(DSA%Dhc<+aAKS!$)G z%{xjf2g$f0t$awvb+vLE_x++;0T}pA#4-M7ZQNlE=-PM~d8o<4XRHU_SZQIS>9uW_S4!%F^*I1I31EE&n0*a!?58~Dj{(qe>WDnfTm+!woGXuo zD!@XOvD=J2@p<28RUYs@yWOjEw%zJ_n=OXMon@D~CDv|j(4p+TF0b|aoDrtu6Pk(h z?cO$F3yl6ehCkBbz?$5vPtFUhk<&*!c--uxqdUCeZMB2DTig#Gc(rD$i!)%Y&L&I7 z-S-8i+V9o4?-$i|qt?4Tc=XZ_ct?QmwEDaj^!hK?6x=v$7^v)hT?Gu+6%!odxarCS zm&FRyxnJ7|^1YCiCN>rv$8}xXc9$bI*54uFuqa3xsRgwf)c zHDR>a%?J!dWw@yLinz_wX ztj~o!cX16))5KxsfAhR3rh(O2nhnltLGgpuIF9EbUT-zrKsWk$*e6`rA8qH+kOit~ z2gr)}oDjVG0+H_Tixf=`ysYW!s0hX|^v>!;zLvb!E3%+3|`I#^6v*DyQ zDKe2zOevjW96b|B#k|GfBq`>pVi7gdR7^wjyO&}%<8fn(c@>WvDCP{_-`^@`21cLt zCA0RcLMTg7i4<~G8bocudu&JVSn6TSI^lP?i2XOxvHwPKEMI&;MkKMnuCZpC?C)xR z_hSD}JZ_BrZ{l$S_MgX<{af~DP4A0q`&$JU6z3xq+*B57Eck-8;Y~T=6&r`AriLTF-5)MyI7lo9%(7#W~r=`PuvG`BmHHnU!_1G$fmKFA%E13QOj;R#0Av2D6#xJL diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-wow64-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-wow64-l1-1-2.a deleted file mode 100644 index a0c0a797a70f8a085fadba1adb5039b578cd390d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2750 zcmcguO>fgc5S=6~g{TM)J#ciSa>K!nQYV!v6j3DLfD{QKBrY2_-e9ZwQtT*2;?Psi zIdkTR^u*7i%*=X|b?cG>&VQnOke1f0bmE9@C}Ez0DHgaC&Z}`Ut&3lMO!9vB2Gtv6tigPk0XK3i>4>My68t| z^h^Dtq3n((QV?bk6I$@|Y&0XRD_l_%zQB(RB#2P@!Sn@(A_EX28jQtSNbuu)kW@ztVplQhI*#XgmgP0;3r2&hM@T9_vjFgntzD=l@*-h- zb!S1lQw{vYUk%}z7PPOcXK{QF3@!;5(FYIf8v7WH9bA{$THt8hk@gdAe>JY5affIe z*iei#o6Aa0j#+T-S?KA9TifI@fq}G;oW&G3T{S zIBnk^_t8-T>gfh3F+We)+C=3c-;oH%#)^Sn5>AKb%ELO#Fio3$fJ|U^RVEO>#Obn` zH;r2Jo!nrsRymE7od5y%sw=`DG`3wG9wx71hnh;R`|3xdZq|=ICS#7rO655(ujnRv zh4W#mZyGFcHmo0b-y8QIMaXNH%et_*@9EU)7;Iw1g(WUiKdAow%*QSAiuTb$%vCf|>4|jZh^OBzC^QF(U)|PlyAH`RSe1euzv{Em9C)Kf0yJ-ofyA=jZKDnMi zs(xmUBH&x9o-AvH_AncnoZ)?w3e<|!3h`eWdQ{F-(4t0nf%3fLXVn$qHyUeqzrlZ? HZD-*>ME}={ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-xstate-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-core-xstate-l2-1-0.a deleted file mode 100644 index f4f87ec35029fc5fce7b118aabb780ac52e66bcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6872 zcmeHMUu)D@6hD(`wOjw~La`z)MA0{AHko$P7K#*#?g}duMDanm&2%!I*mR~lN!{89 zDZ3&*2ns$3f?vQ7un#`@xa{Zfb8J25-XwElZe~(pA_KjUo11fgnRD;S?|08l=JK-L z+i2gI{zXp~vu;|ZWh^Y2x^D0;xz_dioVeEY^=SY&3!vQxm|OvvdMA!k9{}h$`;Rz& z`UpVB%zxsT{R}YsnXy&I?)gs7XKPO2^w?^*>99ZDj=keDH0~{0%$jGO+n^(~cRS8T zx92dzZ2N>}{Cdw1?7(4OjhW0~Hp5@pc7U}VyE#HPaMuYQ+$GPq96Q+UIsP5n-vY+m z?H#7>`@Oq?@Wf3aUe$BE;|8wnx%Fd ztKFR^$AJO859zl)-F$um2?elN0yxK8lThWe<`=ZU8a9na(0VBfIBRkzhN+As22 zBgULk2M0$yr!(mjKo+?M|Dt8&DX#!&ab@`imO7W$upF{bo0F7vl1JtRK3LkGsFX!3 z&2{Ww4;fA;9gLhg1lN3N4I~e$a?sBW@tRN1Z62LHlKes+m&hTM0|PZKRu;`;1u;+6 zI4c_01#J8lVj>&P_|xGvx_bS(Z|k=vGxj#bJMt^I_ye{Cmj!R>{*b{^-X_=Obanwb zjy#t@$a@|!@_=`VT++`Ik%dPgp%y-0dir8SVuS$XU8vRsEQ z9o@(kCo&D!!+btHm`lfcz-K8aAMerPhkYLVj;enJkH%FGv@THT>ml9*pjCr6 zSgU3&)S&Dc^$VAzg}Izsz}Hw_=>0^cAQFGoK#j((el|ksQNvLQ`5xi_8ff$?u??u&2hQa>8F~ zT$~dwp<0fb6H259_4h=+*B;kB($9S5kaNRwXrYq^@3GFDc`OTcV2XTmFmfrwT9UuU zirvxyvSpYu9!QKTQW*`&?;vG(YFtVgkJY$X8Te<%k(B`;e;*(3HwN*oQdYwil0jHB Q_#0dDY=r<4mXT+JFW@$Ud;kCd diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-devices-config-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-devices-config-l1-1-1.a deleted file mode 100644 index 1b194666e883e88b91f585afad9e51f510632cb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35386 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 E8@OD^^Z)<= diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-devices-config-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-devices-config-l1-1-2.a deleted file mode 100644 index 98b54d37cb00efe4e953969fbd12a3795f9eb19a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14170 zcmeHOTW=dh6h2ueO`E1%q$ovHsvHz(g|OLmolPQDC?OHoQbGf7NE0Vs$4(tPvYj-I zDik3UA%swb`oIHEJRpP+4~Qq8`U`mCC-4(09$U_t*~_eVXLrqI(F%_`m&|^i%bD|? zGqbauxnAjP)nA!-Iqwg~oM9TKKEJ5v^Y{;goaXaJNf#CQjR^p_3^4i-VElK0^Q$60 zaRfl|=^sR#`VD~M#YZAu!rxK6JT2nPEdYwM_e8w%4FJU#e-W|p0Dz+Yhlu5?0OhNU ztuXdM*XnfHn$@#9Y^7bb*quhJve#f(dAMLQv&@=}O^SAXyJc;)I~F6%ZkN!kY8^DT ztS;MXw`z@T)-;&GO02@Lp zy}Qf6SYvmO#p7(mO0&}K#Z68={eSh=)j%7(hQA6cMIw6`if%MqY7#{LJ0eO*Y}Kd>7paJJq! zlIIr(jA~07g0h)qT6g*BDvKM24-xunMaSZY!5&p`85ygS_8e3=dz?ybb9I~AQKGPw zRjY|SkJGA1RQ1kIyH{+xCQoJS3|%)(GoLpXOSW;`n5dqdL30OieFWf1UK)d9&pPb! zvO3Ab+D5Tj=~dJa{$vT(9uzmb-53}g6RtrG&XyhQSuBj=xa6<|x`Uf@>IpZg#?3o8 zG_Wugf^(ibIhxVJZnuDDv|yXjf-s|nrcp2orDC<&By6$PXj=A<9z6!w9;sDsI~8`l zEKBM-*VjM6WI1Xoj3mRH3M0vHlw(LT{$R_P%We!G>a2QTLm&gGB% z+$j^zDfj1-Sdjxt$r9wad@k@(5>2o3odv=%aIJw_ufE^9Eo!)~`6Nw~Oo0ttx`GWP zUy`X8WQ!xl9N-5BJDN^8F%+QAQ;}%!D;Cn&Q>DkRuCD9GH9@jCe=={%{$!jB;|3d=`!~opH@#;SC$()ZvUDJmzNg^wg{KN*5CBpGgyG3_?54VM%DW&}3@M)@jL~ z(=c*Dj{~wyxqkth30!*A1O7_*7teP%HC!S-{_wezCWsM<5du)}f~^siGE8s-8tp z$dftyRVKd6teyzZGUUnZ-{Q#xX-dSqy)5s=$kS5rc=DR4;Hd`RV;((wmnabuN|P!2 zVnU{rf=u}ot!$h}*^n%8njU3G>Nm=x^ulogkMdDC&SlCpuKb`L<(#W4VspXYb7MPM zX2?a(1eqbaT|=1$_c3)CBF)-Q3;98cyDNQR$OT#@q3Z72<5akCmb9Y(x`t~^c2DjJ zxzImrmkWUhX>wscAs5WxN#iS2pg6y(ua@FT2&nKIVT z6yMh+**=Ak<)GksmsdpvPc`@!^FHt5n|-KT@gve?NjV`)t_5!wKS$#lw->8Qdzdu$ zVlAm(Nvi|5i-+O3z+UX*aGcAMXK~dB^(Uj@da_K4l;v~!C7J*Rk0A@9f~OjMjd>_T z6i&qX!Yozqk@VKxkiTjXZ+U5dAIFOiC4EYh7d5HhC|<~CC{T?5Rb`513e2Hm4A5>IGc@LHJ7Jc~b313k`uHb2dZj1+IfhOsM>igF$ zdx?bKp4cZ2l?3{CQ%YQ#d#a>2>BDbNB3VOc(m`1>;;=^fO+~i%Rtdj7A=W4*;Ny%M pl_p~n->C=R2oJw;^zPLE3S;=*Bl3SX{4W?2DFK%;(Wn#{^Cwz2uiyXx diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-devices-swdevice-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-devices-swdevice-l1-1-0.a deleted file mode 100644 index cf03890fcef8c27457164d0b2f13a7fcd473376f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7766 zcmeHM-D(^+6h1p^r>UE!B}s!JrA(kdxyWv2+}*JaAs8G=dr>fT3n7HcW3Se`$^N)A zlh`e#m=Z!Mq4=^7(5pU0o}mxWN9ZFoJx3a8w5yr@x#*Oo5sajjK8>WK@6(ZHuip-% zgU+3mTkdG^n||O2-umW->w2Qfj9s_68Ke#NRsi5_0OwbL<(~o0|0SO{{sf@sBL1f5 z(na~aQwN}D^`3mL-3PdKpRsMmzKVGivmKuBh;0vBoE>)u;Zc`i;mJn8f(Gk#_vuN? zhXZ~vj5s4qKPEJ5@h9B_9<%sZ=2*{XKJ!?}@Kt>dti!|Bzugz?9)HgJpF|w{W8MA{ z%YN@3-xVX=iH1i!O1|CYiN@G93jNstP0|hzIKp?6Fv;F4+t~G1%P;t0H^#S&^`=|u zdaGseP<3MyqS|jq+#YCJs4=}^JU*9gQPw&<`6j6kH7$$y=zCreAQgknhUR1I**T;n z!0igaTOzj%^@N`!B3~T2u(MZhg-KWp5j9(|^P;{V$5UW%O1Lh)@co9up2y4*j>`;N z;3-^Fl@snlF>YPqZeZq04o=mp6eUvY$2F8lO$sBfDT&m2e$B6W^;WM3P;Ym8JZ<#% zOMt^lJA9-H(sI+5)OB^Ne}b8Ibc!&B4XZ^M!+uKwLzWp0sf~s0ma(c@DZ~i75j(1t zk49gT{-Qo85XJ#C2=~RDojJ3#!6CZ;IS3T<-|4fp83hH_%Qxj|Y!r ziD27^rD>8S=s{Rl>VfP_HqC;$=g2Wz3K3w%bxKL201rhhBM1J#Oga9tOpV1JhCm8! zx>s2%=fs&bmYm?80|YZvHr`H>y)_Q&FEFo3m7{h^^g}%GjE~20IgsHJNw$` z7c$(4SJ^;JCm*LZM)TN0Oq7oc)VN4hpQad9hBJQg@&o#Hc9xZ8xpT(ph*(E`NhZFI zImu+nT56N>*YMudUDft4VA@W26G&MvtVBIvE9p%#PoYZ0%ty2$=140pM4iqx(Yj=;O4&YTVch*V;wmnML zLt{ogG~}(rl~?3s@$Bd5NU?-tr$eEdouv~rUE`gUH5KB_iL^tYM+ zoj&x;3-poIm#dGp8THY${l^)SYMTG(82fIS{-fZ$Z`~j04m68Cp5^1T|8Vgo^ZF0R z)`$7|QJlpW^;~sbSk*jN-Azjy>Va0@l(i7ST|&Wh#mL^Q>Bhc z|2~v_*YIXkfM?&mPmvYV6mZXAPMHeWH~O8VfL=b%QoxgZoK^sR*Pd4a1|P(~N{f7c aq8)%j#{LgwfruS=j;UsU;s0voaQ`3gVk5Nx diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-devices-swdevice-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-devices-swdevice-l1-1-1.a deleted file mode 100644 index c501e6ae14b6daece3c6ab363aa86fd1b329d23a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3584 zcmeHK&2G~`5T3*-g{TM)73$GQAUKdXFCkGw=jFLZ5&#GwY4lt*wRw<^UUIcQX6gvpe(6&gTA>KOc-<)Suef=5D&4>p7in z$F?1wGJD&8*7A}EcIyCe1EBI1p!N}9^@sY_&jIS^LTn51Hj?v5^kppPVtW=yaTHGd z!%(2|xa$e8Eym#XgcgDP5DsJ{q9Y}Vu`B4~3w+f?f*46Z_|vvv z=jbJ`V@Jks!l8^qvMj>Mp~#!jx>tp0b0&zU$8mGE2t-i?T*vV|biVhzy@){Y83TZA zs{(L`r4?w#@;GL>xU-?Z+YJ2JFNW|;5Bg`#y(qc{1}B6I>4gv48haCk8m`N1J#aK` zQ|k%0R*dUt++!5hb8vcIk4T=zBx)de8VPwCnmmoM+rUpV7>@y(!*DEpjg+GR``oLp3g1yEr;?PJW08Z+Rf%?8Rq3?Ms#bv5W7cp@@ZjocO zj~-$^<>NfPu6roFPB2=BJ3hO3NWV@`Q(Y=ma_}KA5}C{(H#Gl=6?}7jxlfOaK4? diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-classicprovider-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-classicprovider-l1-1-0.a deleted file mode 100644 index 3d6883c58f356b225fbb8cb2ccf27421a05019a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8628 zcmeHM&2Jk;6o0mpmPX+#6cmJn7AZ&^u)FIxn;;<+sg&kWq^N3v1JZcy-Pqf1?8xhc ziUZ1_s(L~d2TmLie+A;yzlA@9^4^=B-C2A5ksQ`CWTg4S*B>jwao-@GsL#sh?5 zeiwgJ-h3qU2TuVgfA||^A#MxtFb)Q>I1GltK-}*8f%qZpc_*Pj;gdaAxD647Ey{_! z-wWFPK_Cco91~guXF+cm_Bx^+d2t-JPX_(7(8uRRj&Ou6Jb{lq4nTAR&o8P^c-R{R zoiN6EJs5cH;O=SY#~?&_d?Ji0MtvQ`vDXQ{@e<^SQ2%K_0PF9NIdrWQ+#egww+YCk zxf=}mVfXr-PB1v|dVYik3*EM8gNRlYNSr}IIbdfs){<* z5$aSUr|MMgnjb{~wWAOhU#5Rv0dz`7-eV<55KOmcc@jpmWn~gZv*QY5 z$U^y)*qUv)imFO!B8KfpUQ#LD%0DFeMSV~rOc}^?ir%@H0p0l-uvc%SJGNqgi!1UL zO#@aI&44-&1B;t98XVVV;w`k|CI%?HUTe6NQMz8W38&hl^*RbFKqc)B6}Hdo+?vPd zyBt*zj*0yTj)vXS-eW0Yugh7QCRqS4*t(JzWM8srmh?SHj(LnJ3|2l*HE|VSz@;q8 z@HaM!ji(FYTx?_7W#Y|@I@>zuuCt+@DP-F znJjBvH@`)(M^eAiOK)IHdb#vy`hVivTBN70E8{T;bUSjyfrJrkG3o*TB_mE2O_YSK zkmC{0msVenNRAMIdY3$UA6t}Ye~^;Ylq~rJOXCaTly}EsnaI(Inc>dI3@1B3_|GIW zo}xi!G2{EhTc|3M8An>b)0lB$#-+=tnDL_-moj4m=XX(NT$Atm*?EC|2VhxQ@eYok zQpSo;q=3sZ{ED@H`k8b>S`-s@=466?GLcL;NAH-$gzq#DDv}8;t>0-(h|IV#CY+gZ zDHG`Z^rB2y&H07gQ;SkRb{0X81cle;7p z3$7Tjl``NBT;Yo{U`6_byyjs)S>8Ax?`ZTmVBw5ZD#Op%WOtXdmG4BlU_su$J)ie) z*T=m7Iqr$G_W!1~Zx*@#7kx%}4_Ei1-d_RJ{pE7U0Xi#D%HjYY>ZK6l!0*^H&05mI zs96v%>T~kq>g-I5D`}qI0H;ymGH2&9sJrys9X_8qm-YQFP*Eb7GI%*l+a zh%t>Bmx&mqlo|RrssDb&P|VP0ohL?4v!IA!U-4o*5{#XsXWh15h8Hlx3;A94|Hg}1 KU!#kS7ykmxm$y9t diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-consumer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-consumer-l1-1-0.a deleted file mode 100644 index ffdf7de274b4f3954772569a8a2f575182048fd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4310 zcmeHK&2G~`5T3*-g{b96>Vcz?io^j2yFYFtRj5)g+{gh0x2>CO8>>zn#ct`b2LuN$ zeWX4FXO0|r2+GW?*I75Q+9F{D>PYrZX213B&U~}8d9oFZyZx8V7j{v+bx@i-)uUX#8!?ukbSP zwM47Ibv@2_Lb0C3d5t$)1DEHJ*{^lNY5j7$fCdZbO{amy{#j)0I&AOraf)yhW)AG9 z{iETbvM}EYo~BJ!kP+-%l@a7$^65m(Q%9|NDn}Ts*-kBGDL}R@*6Z*U+lmTFWobrP zmbfS@D%Gy4EE_JCeiq8IdG^dH2ARtJtSqCm=Q;Mj&)80l4em873swT-RHPYZ$?2qG z2$7@+_l$Y$N7)HqO`UqSNM8hS4_M@%hD5`gMl4p=qfX z?+wg7nosfZ9%_ouin}yEW3f@iX-aFl&VcDZt}2jmpFKr0;3!p9CKW?lc=v^j;eArn z)r!;#@s@`cl`)S{BcYQ(S(f>?dez|zDupZ2j9XGgImQ)+x$j+%`+mE9%YBTWqIZ5v z%ej9a`)k#98aA2SGlil*CzLE+>Mqxd`8vStzy1usOC?~g!k?(?_qH+HLdZyGA%{V#v9#+(2E diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-consumer-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-consumer-l1-1-1.a deleted file mode 100644 index f53689edca0fe3c7c0161987c401bb6db58e8f9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2790 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-obsolete-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-obsolete-l1-1-0.a deleted file mode 100644 index 7098deaf4ca3cb46ce4453f25ba39fc5a567d44f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4418 zcmeHK&2AGh5T5*$pHO}drRoVS5=b1Huv^kikSbKv101UYHza41b($rcq-3|H;(&TU zh+`#Ayaf-yp%20HP-g6P;&i<<99V?F(%O^pw`+U+eIDobhBxl?9#!sJv&C6=T*tK= z&AMgTqD!wW>p{a!UT9SS;1WRLD?s@Rn#=OJatnZ-Yc@TMZ87#D;^T;I^O%p>*2w4V zO)&KK0*21Rrpw$q3xhU2iGMWYoza*x!VDrpGk(B_aWLFvqjoe3@k=apn8R%5G5pqm z1M6|m|LudpGaf%5dmX;zg<;$4^ntNpu*XvF9X=Qxa1+$jv%`0T2%{tLPxb>pdYpXN z)Z@S2@3iCENbOzLo;kMdy0~5L!}ZCY`5!LewgGGu0Imyb0ctTnjD?+DS+L!z`Cja0 zLqyLeY@gKHQFIOrjtCdf2k+Ds7Rdx2AM zFk1Y|0z;9RElG?;>=v-ARLI1LxDh)_1&Um{&=^z*Q-lH5xv9G%INzI}^G!#dTb9+T zD9*dM7dL1DQ2x`LUlY^7YKdlp^IA!GLVIoEyu$0PhMQCepOX926mq%tu&y>POmQ=rrHPn5Gj5_XTE`}0-kNc)nisL}X@XHc zT=B{2UHWx=JoQbjV)~9D_(x+(PF_Y!a$542-c6XSWpWy}l+HDv$53PzNcb}Rs5D!5k8@jx;|yxs&dks%r-&? z&U`vpOY7hxhTuFMv=VMmlcx?|Y2*G(2eBEK(!o13ZlZ%_T;H$ipa7-ISXF<}oCAQH0M#SI-s3Q89flqn zkJnw#UG=)*E?vsrkAl5^9C(E34G8T8M?sW?(Y|*W_m4s!Z`5@>$Fsebhxh6Q;B|tQ z|G#$z+w>ft#bFXWh+EO19mL>yVein(X)vbyNsP~)K`OJsZ69YaXfo}YR@wG2ii7=d zfYZwX%qs41KS=IH?S9;AC1F3}$e|X2{xs)~sZAhu)SK9jTD#rA=QkW~68IdPHi`C+ z_mc1^OuoA3Z}p=j?sxeevyJ{i=W$Z+r^Fw{c*nL~*CocUrHuDauOR6G?oJ`MMQsM^ zNpPHq`sl0*JI%V^N?M~KqGc0yp4E2;g9~7ALb#A_xU{OV*RV2;&&AUw*c!K{?Sz{j zjcaJ!`&e1X!RdBgqS$J^K@G)L3zXPuT5PqhQ*&x|-S2jx-VVEg`lElJ1ME+=TL;>p z?0hb%>&j671mp8)jl!@wtc=32`I{CPnwhgn&9Ruf8EmRdjl_s~BX(4#Xy&qs`k+J@ z3woHBw#Lm7=R0F?e%+C)ezn@1)0}tlUA#^Mfa#ab`DO7Km@UxL;Bzf1p3u9_YDL)I5e^99m;`g6opip84x~l!?aWNmAWKk$ zm|dv|nqQhzllZD5pE;uu0oH7%l2i(yh9&A2{DoynuD3Lqk;(=(rVS~zi#$tXd4+kF zt72xJ;7g{!Do(~&0i^*kW7I=MTa4$>7BLHFlq1GVZ(lxcQcWmej*{I1Lx+;Su9enR;lme$UgxVLmRS zhp+Q-sU8;aJ&&u0Ym6Cc+c42uxS^PDv~WjRsIcHy%#9Y#-#?YEgGNCe*jc}Dg50=B z2cI+kl&OPV*6(>b=;q@xIylP5r8=M}bX*-=Wvsxh@kDFj4Wc?Gqk$!95V-|EVrevx ze>PA$_uXRLcj@3sB-(jMA8^V2rIh=x;=3J}`&Sqnh$5353&~R#&iyJ4NhJ%u$C}|j zKM4}SQCWKq6Z@ldvP6mYf(mtDkHoEGpg`C8S4! z*kZx&S_wm=W@;F2DO(XM1r=du6>%948Ncu%dx45nMEX@~lH(!riV)9~k!2Iyi1rWJx{@e`=lRUBO$5^F{^fp#rv8@P}5x z@Ti#>GEHS`!YQbU%hMt8wq?kde&0@a$S>j%rlcnHzZFch77CvZ>CrL`q^7dDZx`hL zN;Vq$slfige@Xj;i1mBk$>?!DE?va*7qf5kaVhuTMrDla4^(`R{YM$Ga!&47vs+@7 a;E~a~vQS~cpO}ltC_8edh@8ffwDBKhr<9-o diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-tdh-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-eventing-tdh-l1-1-0.a deleted file mode 100644 index 14cac294290d430f0ae79ddc5e90ba4f7658c79c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12152 zcmeHN&2QX96o2t1{Rpk7XjKYSu(T;(>MnMgI9mx-k*by=wJ1P)Lvozh+cn*fXx9m8 z4=6%aRaH?{Ar2KM&Kx*!;J~S8{s8_84v0U1^4^TcGq%UOUZfZ;WTg4<%+H>gH}5xZ zKK$kfZhyUXY4-hU(pig^ZQ15h!>(3MR-}g2>P34YdSP`I0A2-{J_K;!Pk`Bvxj*_T z0QqD0xj&9E`IC>ie`Obd{OMn~f8#d*@@IbM{@fn`yIc>|a z9Mf?f{7lCOr{%leUe*IQz1FR6yXSg0+-}hH2O&64(AjXZ`Iz&`rr*E2((i2rp5MP3 z_-*f_ZnM|#xM9%i$`^;j@H^MF^(Ar<^`RePT^oKsy!%;j4}~EbmM%zQwK(c0z9u?( zg=DU6`!Epy27C90yOH<0u3UL@=xb^rzH^nyRtQ0MER~PQE8WeG-*-b_jLtx!HD$Ut z^2amtfecjro{+I<36qDeIXOVD*Ii!=>pd|Kt0y4&eg&;M{`1;-m!A*e=yAgDG%} zBA;+a@^MQ7H;0K68k{H>F-|qL&Y*@N~&&xsWLS3FpB&tc^E}@(+opWNxDeBOl~t+RGG@fFqx5NRHn`* zKN3Ar9pngOKnue%W_PCPt>T*AFuCQcR;8xfI10z8=`j6oYx+EE1_mdnHQ26Gk%rJH z>oi^9)mXvB%u&llns6eWj*nnQ1t_FBpu*&Hl%la*zq+J`OD{DRtbUx#m2Ue;(;LMO82hS`nP}m06H#(77FH9pYJ^Ms5KsYby1E z#3if!?nyiH9-8 zHJNKIy&LJTVzsH-O4hc3Dnt4TVz}L4(xMvT9BCy4hDjj771mc8dEO%4LIA3rbLAwa z$k80YbL#Aw2L_N3a3xf5J-zolWA=q{z%0gr#YTn$-(vSiaiAUP1x00YU`wfY7zcLr zxC{p#>2Wa!=CFU`a$uG;V)%xL>C&Wfg3%x4A~|s#pM*2uM@){CK)kaXE~pY2V_q!A z7&FV5eXB7SGv*~6{c#y{nDixa7QkoQNo5FGPI8hV@9_*48nBCTy2mjg5^^Y0{~N{h z-^%L$L!3oNS&UU>rY+NAe4*4k%wmLkT*hL2rN_nkPb-FT_5ToQL;8pdzca}zr|XiZQ`dPoehr57A0IX2L(Q1P4<(!F6SF_YcRZ1L&kB zc!y`O(11r6Cs`m5aTNxXutSe`4yIj9`xoUMjQ4jj>*|M zx_Uu?-<)KdaF%Jk%7$xE4n+q1fFWl?t^`#3kPq7PJ2c6b#bRu^khK-NxRMyPYVwrT zMwzRou2S!?RnxW}msvG^t;fZ-;xvx@xNMn;bVYajHpwh`oydSr+6=sWj-3JDW16!> z*K?I1+VT>)u~3j3>KzBSB>UWumIQxq7@Hf@s)qcBEXZpS4Wy%jyNH|{=FE*X-Jg(4&GngG#A7`!9&9>W8J7=JTFuD( z?l#f($v diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-gaming-deviceinformation-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-gaming-deviceinformation-l1-1-0.a deleted file mode 100644 index 29458f64fb6607e5dfd32e9b18622e3cb7ee3c9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2862 zcmc&$!EVz)5S_#=g{TM)J#aLr+^}nh)Xf2*NUc;rLdu2n#;G@nRXeU?Q+hxsCk~u? z;A1%UTlfS%fHJe|jn|D$av`je-SPO@JNtItj-S5rXJ?bwtpl^%+(XxMJ*Vq9rinjn zdT*L9-FE)KpalS10FBQ$d;!?`MSsSQ8T*j(S<3o6<1==g1e|>er~XCA(0SGMnAc%Z zIHZ5>Pp14VnQ=y#I3+Y2`*AoOvw&ZQXFQyal3DC$VKQZr%UtF#pW!QG4s62xU{iC# zDbG$tU?(E3_qev`Z4n$W7RDEB6)H%FqhV$ziu*dwUB~e}&oqx*xd)~>Xa!&IA?*Ms z4S+|&+6Fu0SDCQuI}`c?JMc5V9wP4apnqcz({u$4=7bCBh5H?ay^qEg#-+C&I0|>D z{Dj-B#~mr0gT`J3PTf}{ri~S+7N(6Q)5cm#8!K`x*K+J2iU90U81ek!-?sqc#>hWc zj@++vN+B3`;vksLXR{8YacR_HG#*hUW}=r}6Mmwx*;?{nG?zNmgz#2Y9j~itZbuOH z9k-myewF6v%zAR^@7PD+}gs?CdPvZxZYqaB>=QkxeFT&e1G5i_sG zEi^~#=pp7?HO^CUJwxM7j!`~b@y+dXy1KqDe7d#j+dyU~#UL~G0a`NSWp>lM@;uk7 zK80Z{*CWt571alFbqMxo27F3ZpQ5rTk6@&vDY16S1R0Tx5WfJ?BQ>>;7BxC6r01Qu SmR%Emps|X9^}eAttJOc|kqW{9 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-mm-time-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-mm-time-l1-1-0.a deleted file mode 100644 index 0919a9c504597aa89ce2537803294bbfcda7ab3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5878 zcmeI0TTc@~6vt1uMG^4|F+Lcx8Z^e(x(j6si7`Yp`bZ)sK9~#(UFe2xOS&r{FOqnB z@P&`Wv!BGz;DdP1Ty|#ZR!U4UBuuh1(=&f|X3qT1%q(}F_??x;(~-w^Ho4QT=Xy?U z#xrjD;F3acIIRJXbe$m6&JY#R-pcAu& zAPG8bzFiO4R@m}4LWaie8IO5Y)(n^Fk@j{gSZQ|xMw%!lHH#vagi*knE_0c~e1>m` z0$`26uMemTpblRK$s!iOSQu^aAt;M%ef=R$f~Z?#*roD$usQE<#MxIVBWYf=>I*?9 zY}XBmwvpmluokwuG^Vw_wX>E~+UYX)T3^?3JP+60tJNeBOC$BKxNMlJ1%NBOHUyO< z*iLx8cV@%FQl;)Ees2kHnS+J>%5oeZA%k7gh4jLSs?rW)rG(=$(;PTTH?8cX8||&D zDV>d#@f@9MS0y4?j^Z*RSdOAHtwFizmff;bsW+P_s;q|1K#G4K0IU^O{dHxKcGHK{ zW${qIBs2YI_0kx=EB4YDek*Yec_f>pZ@JHgu&G$+sp0-2DvE{M*_X&))CVQfSg?Zm zfFpi{2yYyN@Y<~2!4%;huE13qHkAH1;gftAn2pnDa9lSf9kjxEge$#S8oD%M%yv~L zovI%$ar=fMZSXwyi`+k#xUC)DRbKpoKb&*y$e_q>jW{K^r>KY2qR#}S;j_;~2cIXcx)_ldp;%QB9b#t%pr{v?yI51nf{$30 zccR7oyVXFWiJu^x_o@DPuQ}!&N$~y|oqZJV?+i{(lJ`}k-@oy`k+19GeJ5X+@=iPJ zad|H)0*reyv2t3OzajC~%vYp^3JbntE}1uGocXFS?SuTR(fm*L%YXNNf5!hr%Kvp- z+vD-r=LL_{HgI|$aniA-I^PJhhToT)D6&vyHN m+wBDf=KtwV_YI$Je3Ufz4~2o}7JS2!xHo64$tI~jlR?#_PS&gQ|IJ=!0v*PrQGGux(R zT1Lk(bR9ov>Rs1crWOBSuMPk=04hHLYCq6j7uT(00J`pcp^LFi#&$zz6tW#Baz<=3 z=sE1Y>)S^z!{ABBVpfZJZkMh&9{A3FFmf1Sh9RL@5Of{p2a(%%_wC3HeCCV9SL!8MQ+l_Yp$o00jU%cE5hDRRGuLq2|!y{G*dp*lr3P5Vd zale^R@1Wc7M$JI3ao*aRhGAK_tk!BfS=-)+Yq-1sYZZV6?#)3na!w-d=ihYL*=zRf z$j*oGCmXPH*6fC10Sv~3bLoXkEr~_aK@G>H+6EXB*Oqa@&FAA*B<=}1i&Jp&xonY+ zjbYe8IyQ)o4V8`!&uo|tquKL3X!c#tiGTF#9N?hRw-03?j;pz(uC)vO6HLuxH4mfY zP|L$8`KxgZWhQHJj(P6p@R3%@#qhilJG2UAZqld^GQw10i1*TVfjZ~>V0O-TOtHV| z`d(df-omxGOA~wt*3Eb;?-8cB^pwnOP_Gkzu3-WKm)qd zZlLk}+~(daY#;C~8sTW1Ina*=@BBj%;e5+vnkHF-B6xO%A}GI<)6~>mM~rzwBOEN* zPA#bvAf6WYtMDD$l8RGlGUF->4YXx0wW7+hVm((X%XOZa&$!5RgqWr>+Iybjb1!B) zH98nGRu-%T%C1N~OtW!XF_KC^YuLihj+K5P#bqi>2QlO6xI|?%j}63poQ|{PxR%h_ ziZL>VGd??iOy5pV(^%?Ni_apQk2D6s(VOTAjtf51yJBW5m7Rv6P1YVzbIL0X#CqV_ zqaN^AqSB;QL`HZcn+p&Ze98>VMtfItyteC%i;A5AoS$byIP~$_;yuw^9aXImg;6p1o*uQU$HI7 zfKW{lsGL7sie`-2G-FKGnlTcnsMfp{B;#Bwv(|K#e*aW!)LN+ECTdMi?MgI5C)>+v h1|ajt@=ELDUaW>xA5?v%RpAr5nb`_8WJ4u!|2M5D7BBz+ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-perf-legacy-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-perf-legacy-l1-1-0.a deleted file mode 100644 index df4b909f0c31e0ec2f65666c41e5c3a14f0bef03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9538 zcmeHNTZzCjg5YoP$rm5n(@fWO3ePE}uO`ZhhmX&JHwb=gzj^r<>^zB*Oi`_h}% z_^|ud+UwQHWHb!ZF!kouR<){&F14&yn+?PeRK?8wW=@HK^pe@ zLzkydEYU^yw{1J+!K&20bFbsohaqjU_+sd~X(Cn3RwLw#{naW`2B5Ws%n+>=sC)d_ z6YcDx3i}6jo0c&@?ZW=U`YqSZM**A=u162tLf*-A7OQ0(mzs7#4{(h@PPp}KTr9sHKV52?S3DD^>z<^Ql@_%0d$ty*6l#x%T+s) z+Dc3}!BiV+Ss2BBl`M>6yJdkPt4t=}zQS%R*i~7|#0Z;_XH=GO8%;^1gA!ph=wMmG zF1bdY-krhIMaU4oey|pJx{0gs3=JKY|8Gy<7Q?_|lSYH%I`4Z3t#X>D2Y9tsa3OQl z{-8~`pdGK*QBVOYX%DCf`#dFDMf|)gLKwm^37>(s*FAD>ONsEb2}{!?OW=aAuH*vQ zmuwm(b+3_QPOw9O13#yl_z9qrT!TMRGWXzJ0=0-)u8yfC=`}5eG|i?GL(T}x{EQ1r z2e33|(N6Ok_K$oIr>Y8i!5D&jzOo0BhO~4N#fEUtr*+#wW%m@l5aA|b2*toJ({UlQ zXdb(W`7Rx22IG1K8`phIAj26yeDpH?_25Ayi&|$3ozkQq(m14Vp2L>(ZRyAKJl~_0 zI8H;UB%=+eb``M&d>#l3k_P;hj4e^z2qeNP6YLT5CvT7=k|P8l?UFsOVv7>(3Q}@Y z{4EO&e!~Wxdj7k!>fG5WqLScFvmkf2jRbe@qlu<*=fL+Ts>k7=MX(|M z)@ZTMQ4}L7MdzsSGKo?Re!!AqLwwc|84^9^abc$*7aGYs#*et2PCF;{mGecJ=cG>+ zy?N)PlXP4nGJKtm3%Rg`Ydk9#mW5a3z6M?BC?T#_6TEm2{|b@@zhaYkk!yj7B>AxN z7;~i{W3D7`7T=;5O=FC$cv_i^aTL9Ij5$unB^dKXIxb|)3%L5TGNzK{FZe9F!7l3U z;v$ZnQWQbnkOEO^@C()%OqudUq{KVMc0pbk$w+b^ePtRio|GH+e2*n@A~x$NUc@`fix5UZCY-)|5-TbLMR+R@BgEspds-4ck@$GK z&`c=$?kO?rhzrTC^4OpkWP_fJ3-kqGT3q;8IcJo4UTQ0P^Uh1^R~7}AI4@;<6$#m} sfn1sOyd-x>_5TwVJ0@(3{X#t_UG^nZY48n}6cf}LMPx# diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-power-base-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-power-base-l1-1-0.a deleted file mode 100644 index 18cc39fcb46d19dbca001dbe8022b6331072b813..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6290 zcmeHLOK;mo5FSx>n;7l`McM@Eg$B|~8>yr#Qwk6S2ArVnB@kQ$=%K)xHdhfFiWEe; zc8eegaxikp!RV=n9{VGD$RVfvtfn)we5@ieq7G7FpbK$#HT!WN!|&T!a_hD`IU3&C z_}ZLK_Kxk?j@7d))5ISpJvYsrZZEyzU;_X)0gN+%^$_6FYjtgYh-SP#+E>>nzW~tn z=@Yty*c0MGEGMz(%S2AZUgSw};)m|o7ic`~Il}3Pz(1rbwMU^miY8JJW)u@zjH460 z`OuA}2y9^sOSl3%8A%XB>3Yi>1^P7dgK#1r`Y|rxhvRrGLvLTk$0K<^O8kL;Nt?5qEe>4Uq z!Wb~XeEEA4@qD-d&%3vf?3@lZGM+p53_hlb!`gq%^KG66W>;u7IIn9dKj;~k@jS!p zrH0FOqqk>u!e#ZhOAJ5Iq#(pQK$HFR0o&@Ze8}-a^~sEZK{7lJA1Mp-Y|7KL$Q3Ao zy{nW!{w1FlN#AMIoM*Jb;Ed%|k~#rA&Q)f>Ypg6gQm#fUH))>t+l6L8;KqU1i|hfWNS0-Bhh! zQ%faeRT{BtYQ&z6GtZGX^E7gxach+t`B@wHT^iBPlNxSDBNgYrTqB?1Ghb9A4Ji3| zgZ*6Om~xdhplicQEmRml2iKBSD@BwwtV#z~O&x3(UtP2JmKQa2;AwnZr4B-ET#er| z?=7e0xEUQhE63$JxQ@?vQ5^tOe3WFyT-@{3=Qw{#MV#m<1Lp?(fn~+Yl^&`Zm#m3@ E0cY)8;s5{u diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-power-limitsmanagement-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-power-limitsmanagement-l1-1-0.a deleted file mode 100644 index 75f77bab730dbc96f06e2fbecbd0091156f2535c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10886 zcmeHN&2Jk;6n|MKO&hfWqzF*?+Lk~;s?9p}S0q$LgrXkWDk|-j%{Jb|OV?h@yQBdj z6d_b0gius*;J}d+LL3k$PC0PmkKj+Cyf?ES&)%_j-NRazGSYl_<~Lt&-*4WVU0-_N z8titiue_%Zhibjrs5Xq|#x-3xL=#VSeWSS^cGy_~fENK4p9fgRxN;=ph2H@vzOX3c z>Ma0@FS#;ad;&o6wZCP&qybP|yDa0CI{;VinC6yg-uLZ+Z*JRxJutVtwrxIgdRE^t zvGTChFdH?~bskU*>%E@6>kVv^FkPR}X5V{+on5Ev1b)}*S^IX^?gge>HLIp!S|$$I zwZZJzR=b!PVVhQTzu&e3`<7VNZ6|Q{t-$emV46<1Z%#t6wi~?zXW;c{KbCvj>p6ip zxYrrje#dj$etN77e8$Kh2e{yTgG#6v@2=hV27%n?jRRaMA0gcs_StuQeB`p%w&yy# zpAUCav@3e5<$BlVy%}a`1eL5*Yf$3ENL#MwhYvWtg>>U+AGR>26s#WuBz=|38SSqG zwf8^m2Nf?q4#u4WRl{gB8oJ&zTJbs1etZUx0)P(}0G<=2C8z}UVIa!m6CJj9D#!zC zJVdl?!uCn!f$wL);D~Sz4Y*c|uxGKbi0k5E6O0H~kLn3`emt%j;S4OSDsWMIl;aUp z?)qgsg35g&e0lT;D!bKkwQN+{E}n}3l|9F`!_NOb1=wHMvmQnjVLg{AEul2B4uWxc z;-RX>Fj9O?=^Zc%Cy{%qQL+l?fM> zNAvSoQ36WoWGD&wTo9!^8s8Dt8Q~a&_P}1y`K-43Nv28Q zCy-ooiYEdbX*}h`RDixnWun2qSSZpjDV}e>fnh_EF4NxBYs}s(3n3lj<0dCm#Wy;w zu3~#9)O*TwFml=(v=8izq#0D64PoBO-zmAWSx}bEaNdXBMmYUJcmEzP6vQMa;q)MoluB#(M*-bp+Pd2|u= zVOk!Yks6eKr6x3Ney!0fxPA%=cUrPSq#FE!x!_KE=gjmd8fRf=>UsHrFW5w&cMHiiA#=^KIY_8hZB$0t86OBPkS!oD=jGgB@LMsTKl6xL9t!5^3^n8J2HmMt7J3&vc_ z$(Ux^@A?saku1Nim@#Xp0n;+3G^{hK+wEN6UEU^g zU`Xr>ex8qm27h6Bh&4(HD43(h&4NAaIoWf1YZ1>~k|_Ry8nfqFZY`SB9rjr}bjfh0 zdA2pVZ!PJaGpZ;WXTgtZPJYyre+EUjmeVgZ$*tvCzR)bB_`zI_Ip@e5;xyrwWizay zOoQJr6_$n3fbCw*6AqXKSB#uoX{5i;oO)sjSIAeN))V8}qI52VR?Y95us3o26cSJD XrmPUD27h9n@I@(sQO>AA1@h*9TA|J1 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-power-setting-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-power-setting-l1-1-0.a deleted file mode 100644 index 2e67a71dd8158cf47ae9271b86bbae57c0bfcbe2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8726 zcmeI1@oU>g6vtoeBwa(sMoA&<2K6A@eyKevaby=pNy%UvjAB~4{W7>XmKgAV#p?*S1Jvo9(-YM1pqDqlotV({sp*rTV1PN0J`3J ztgcIcp$xCf|EO#IB>-LTm(+D_8Q|Ko5W7O$^PI6KT8{6G#qQ8{#6x$`9=QT5kDHdT z>Z0%N(-qVY2To@=b_8jTJW`9%@F9NLb9~<&9EiRtOks$&z~>w}AbL*QKGTk%Mg4y> zc75lw-LKpI`_7jG+c^dy+@q10(im0W%KA>MQGVyHn&!R1*g0@LwA$^V?{?iz+joZp z-eF%MP?&)b>4Zh73+f=h6c=>RS6278Y?_Jnev?b=$h0bgR>K4XxY2!di+>x9dA% zSUvKph+%a^7*qoct9`R-R*jn7??bKY_MPAhFJA#1EOgt4x+19OcBF306Md76+YmRB zbPcm#d76gV4mUD<4p}9h0{cq4En!oJM%s)#qr5;?OD5`r5@|}{VqVD3w<3MLm*3Z$ z#%99TEnJ6pY4EW4fBX8T90q1OVcC^pg~$!(LnYkn?{N6HfqcXKBQQC zI^Bs-WL@SeE5YAbC?Fsgf|sPrGcYwIVzVMiV+)U0GVQI{&n`%l{D_N7N2)ZsXivJ1 z?RMbhbgO`oGm_xW&vruUAuXLm5hC3AY3=IR*?{#6kuDZVC=wp0>q5F{9y_RclCHD# zxUOR1i$J66aKi7?G+meA;-_?77%x7;`JFaiEGaIsUybLSk&kiwl%m+t zQWY{U!Jl}Su_N0GjF%b0LfNV3V`uwD;;i)x`qM0S`poBwWak0vH;bKAH}abzJ|`GE)vcCiWxfTyt_Ipd#WVG$po_;8(^; zY}Ro$;!TC}u$hksGx@$wXO~$#e9Qc(NFKVZ-z*;Z`H<Q_gcC4{NW%LrL+# zf9RiU7A_}PxE|Edtpq<~E@K9tG288GrOaDFbL&1{mDFb=%VxhU8bC;yzCYYuXsiza8ySV%M#z{7u@A>P~o diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-ro-typeresolution-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-ro-typeresolution-l1-1-0.a deleted file mode 100644 index f5f2f1e4168ffd08d97f63ccbc3324492ce26619..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4398 zcmeHK&2G~`5T5*$pHK=y6>vgEDiT5@*lp^hQiUoN0T)md!3}BSHV!dO;>dQP<$!uX zh+{b*UV#VT0s0U;4`pW88?R%VrU#5FF_L%3vtP5jv){Ml-d?x7?f%2c11)aGs$m+Y z-dL+^n$CyRR?}9@X7~r43IJRHDEt5@e@AygJeO_((6g{a4`Z8*z4UF*XDvIhJ+|p~ zZT8L?S!0J`aIa}Hv(5(27Cm9y9ogHiXEVYKeL^$OWx@W~_H5rB>;{fIVgrL2OlKCu z-x}J$`nJ{m>yts-ZPOCo+Rt%Pe{5~z%*+{%S;|1$ZCRdgzrb}9dIF3`+wK!PcxDII zBP*~TJA()}9q&5()>cq+<(Xxjm7(jVX=<9ewmLbh?x%BjTmb6@fGgaagIZwk1>DbW zG-!2dU0hi!`Nn`zOHQfN&1|;8I;;kwj3&b*Z)iy2P!@IN|2AaSe&Pi_T&S zPL9hS=~W&2RiszdbE|QBRR>1ZsOq)uU;woqor!nm4Cnz}SKKf%;I z7PBx)4og`WC4Xg(q0GcB%rVd191fKVnHZioVn?Y!nM)eYK}MJ&46)5k)fLY9{_LD@ z8sfgvv`$5G-o&%GN*jRkzvlchUj{adv>II3&5$Q_)@huVc(qq>6Ah{3(kGnsr~7#f zlz>{g4N5#em$^3!+xz^=MK~H~4)lWl?r29uINxHKrcLIc2%cS`2+A+zG&1$p5o=Cp zgo7p9sV9{JgxlhN5q@HyQ?bcSW?W^yj<(FDc2Z?&EUze)KXFO#3BuG;k-97hl zyc4pWIt}z0D+^Wv)4nZmm^euD3SM4BPw-lB7+*sLCMr;}-hi4%UR@y6 z0M8iBP?C|Ta>xkJLQFY)zjXRyMPh~cMTilhoEzwo(TyM?I)4{U5x$|5^5K;EMU|88 zMAhMXFlN((k<`OSOv6cfc%|?tPd)UMdHin)5MEme0Z$kxQlu1rT_mK$kG+vtX<{rDA>p87ghoOZsS< zM^3Z2;j94wTL85jrxal44;_qk82gy zaVH0Y>0H*AVKg3%Wf+Y^EFxTs*qOJ2XTje#URr?>+>t_z8nL%%v<4Yr>TrQ$rIp$c z+7CC^e%oy?Xy3!{@t9r$w;lakiBQS#AGLp|mfNFjFt7bWEA+j~w6E~`tl_4$q+eG) z;go-O-o=0cG}5kM2!0+4Zxh9bVjD#`noti6^6+wWE+ay7b4=4qR!|j!U0D^xFL63E zefN<$FVu+uE5*}Hl?srEQ4V$ZjZTFPq|$N|)s{JAqU6?g8c**uJA$I0__3+QmsK0> zRR?%IE>usG3C@O{20MecL(&RmHkoyhX=k8s*~G=ZXzRiZH`i&}h?$h*rqxF8K^^r+ zInGmgJw@lVz^E9$@y+cEI=jA}#dL4Y?*Kwcmz0Cl>I3wo)}^lTw5Upbx1%(S#XbZ& zr=sgXQ5S+eS^@8pU1!!&R75Z`S54yGNeMC|nIZn|VMJEbGxW%4mynTDaW02C{6c39 M0~`G{Ram2qe?Z*;p#T5? diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-ansi-l1-1-0.a deleted file mode 100644 index 9ebf89a1d39a93623ac035557b51946801e6c04c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3570 zcmeHK&2G~`5FW=Vg{TM)MdD~AI3UHrE~yhFgn}vo$4C`7q>WQM#58}3T~T_f5bC)H z9;i>j190p^P-bSm$)>i|Trd)1r0kAoKYM3qzuDP5dg;#(hOcVRtW|M$UC;HL){C}f zIXtAdmi64l0hV430B!*oUjeEo0GmJMuXYJgyA)zii1%?gk3~03!nxR+2BG*IP5fCT z(0JVTgx3_Ks87GtKAnUI(|ITeGmZ%@;_%>T9wlEy-;Z%%5=Ua>3RgJ77x=Mp2x1ue z!JnTE_QT{&Gz#}qhhBpa(Rd~@=C}E{j5&xu_4`R?$2Y*>lyDJ!@NrXNZ=+I0zjWz< zqj0;*PPnaNTub5VsBGup)VS)AH1;^Qku(K|+`cOt394UzzvA^?BcRcNQm(;=PA^ai10d)xXXA9d-koZSn^FdYJNr_BxOE z3a|GXZjnd&xY7xy^y~c=8cd*;P6U(VbC^lUDZN zY?Gt&4Y!%fd|sZ>=~Kt?4=LZNv%p!izFBv3d5|@i^#A2I DLmXm= diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-1-0.a deleted file mode 100644 index 48e50afef90ca55e706941ce540595ba301276fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82212 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 Vpq&{XHS$^bQ?a0Q&EP~Q{2u{x&aeOg diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-2-0.a deleted file mode 100644 index 5433b74ac95f7093c8c3b4b04677a3d41fc0dfce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7798 zcmeHMUvJz*5TCnCN{NC%s4Xew;gG@`ci5MUb5s>dbRa+~QbgblY2&juITN3KvK^Yf zR8=1;9(bsP1VV@}z^CX3;N$R2nc4N9z4JP`R;sI1x6=N}%+I&GlHxDSkZ zlPS~dzC7m%y$+>&)9Ek_659)SwCCW?!~`0}aLk>P@4^!ve8VRrH1F7(esPxKE0l$J zXix2t=c7GKPbjKA*FA8;DR=in-*fJN{dut>tqO(T@;E$=9KM$%kvBR`_{<|(t$QzW zMoBl!JhjS0O~bG(3q5qOlY6N97#$JIpn<+9Myt?G_*o*x)lD1r54*0N*wqlB*@gY5 z-BBE00E35w^XLaR`x*8s4pwkoYS{%N!)<4B!mU^1b}}4N46bQ#nLg{0G@VJ@LDFap7 zW#v`-dQU6^n`^WhT-QeGBlMnizMkRLUcu$uQT5rFaM^giUq?X;sHIb&CG7K-7%k%I zV-Z9UjzxG493|t^;6zGe*fyELOyC{f0%kXb!{*f zj3jvSD<>h%peqlH2$7%s^zQmN*^kP+P~c`F2}Qz0kIUIb``AUy13k{l)`bZke3fD{ z8SeP$vybSnCr=7lF}hNbDUt8dywV@v#F6x8>AUoN>cvX*rm0)y7z3&uMMQzr_l3o1 z27F3Jlp#7A^t;Y4G`ic=%fH4cjOZ`M2=mirj3_fFKLBr_?s;Rx z3Nd2-ri;IGnHljOuAfQ~BMd1JZ4-XQUbE|*4)f-yH#%%B#)U1j#D!n*NWCaua^c%zU^d{9fh5AeB(pgg>#Z z*tz6Hm9o|t(OZlcy{!^2miLIwoEI;0k7z31p?s3O)SS4PGN6bN`4J;H@%s!XlwHp= zLRHnu2Xn~>d`B`2)O(9)fcBI7YtIMmt|cGzs#^JAEXIeea(r0kO+|cok-Q0r58D4H eUGBW;gHnvRol2-{!e7`{?L4Q2)-HA2DE diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-2-1.a deleted file mode 100644 index dc931453c5f80b9d5c24735e5617aa3aecb83541..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2694 zcmcguO>fgc5S=6~g{TOGdf;fJ!U-EYN}M1e6cHhD>;=JX>oi+p)%j5Dl=jvW5)z00 zr2YVY6J_46H(56hEr(_#?~Z4mGrMnQcJks~G&>r;ufK7M610La2>tfkrsMc($sQf2 z(c%Rqhjk*_BC34g$s^kNg-3{<5T8>yOT~fANq%N`V%sJetqq>|FGtREi`J4H1Y)@b8QyiJ^=J_v(mxr}E>e9A{s66YNmL zqp2v`2Iuo>=1mp^u469n{V)t2C+xHr%ng1#VDgAM6{06f+a@oQXPMI14-Oq1dV?s7 z)~xw#rv|QOTNLij2*b$^|-dd?X$91f-~!8=HR=d z)aBs2CipIb?C47%5Z9aF4m(Fz)uS8{XIRJVy}cvRpTKd$w?k+OgM-4xG_%&bw@=5k}ksHO0?k zrQIddhw3t9IE%^}I?jgk@rkymTq`h*LvElN6uY__z%MvmihbMYJ+IV<0-H?7j0)vi zSEC-P^qZ9pw1JJ37pg1uA-cqF>m+SIu&QfEQF6h-MMEyDF5F44dHrji<(M4u@7PKB z=C^J_cqo&LWrtYY{D@tXo%Johw8RxU2|8g?j$2e0&e3JeX*n)5`@${rDaRNapZMzf zCEhMCmo{4~c6a0){OLS=#G1}yowN8Z&t9u*!)0x?w~)=B>LirsykZI-_$%E>mR-VF v)aeVAqRxq^>mBJG^8YZl=t_CU8U#0hw!BjBdZ^M*R*I)B`+u{6>Z<<*`#;5` diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-base-l1-2-2.a deleted file mode 100644 index 7b979d275b1eea5128d2e6fc5c6113f6023aeb43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2770 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-isolatedcontainer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-isolatedcontainer-l1-1-0.a deleted file mode 100644 index 94293b4357555c084e332a29795ec4ee3e703404..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2862 zcmc&$!E)0u5Zxp#g-jVZ^uSS_fg28XNu3-RCNtqcZnfSF#ehanf)g?2M)L>RDPn?P`7eCP;_lxAj-7DBh{(d%oLhHyLx)klix& z+SBih4e9`}2T=Kn-FJY4U-WR^<@|#bspNf;iIjJfQ1H*uG`NU38n4z7uJ8MdwLEN;4C>+R0g?{zz5?(>Y5UN~ z#8syB^$mmmpb-XHupXjDI?%sqoJn~P46X?m(S*;N2Kx||J@m_#4!8z)YV3qNT#suR z98G*wf-~c$$Dna0(!ro{Owc$hLF2@p<2i04jAQz)F^Xc5Pw@K|;A3SJoEt-Kw|ONu zYIl4gn9XT*9me9bwhm))i7AC^5lcnM`BpscyH$+YG^H^!yMEzLZsR&0=5d@=bd^tVW78Q2|rfHKq$PC4<&J5z0 zI9-Z;6KS7Uaz%kn)KgE{3XrK*H&ytF%C4))|H(V)lIY~SxBmFciXYAn6j^gTb}Ij6 zc}F+bOB^5P@lPECcgy;N^}@O@X@xSmUe=XGy`WQV;$o?_E-Z0{`qM_tw{qMf?`R(# z#LUWZzVVBpLiM;P?B@0bS?2Si-Mnr5MNrX6>+6Vpgqn_c9o;lX9_Lo=Cl_j~6$xxU zRsDfHI}~%Y0)D0I&$6}{i(;dYQ)=H71==I+A^ruTMd#EpY9w@5Xv;hGuA3_SKxO0Z LxA=$Jb(a1CeB=xe diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-lsalookup-ansi-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-lsalookup-ansi-l2-1-0.a deleted file mode 100644 index f9b23c5b4548698d0258b2d758b9d78d6d329ffa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6218 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 R+kro5lf}T?7a&} z27o6yfNQ)r3dO+L4tPJk(qOGpw5vfi9l}S-uy#;K z84QV=mv+KUq~jJO&cM!80#1(07D=nOd>u)vOVa9+v^tSiZ<@NP8%4X>qvq$L2vWHJ_N<9zSA9 zA*aV568<6|R0xv?59@5t4B~&|6#QSD6(^&nRmLU%E!>amvcHeB(+(S7>0zu&Xb)i4|fEq`hYamnuj~IEtyF{+(J&QHW`Xua|aT%t*`-fV>M0 z-NGIfIva!~3K6$_$2$4FY|uMfmO7+N#Fa5Sq%vZeNGRho2IM4Vyb9SuO_s{2D}Dzl zqnnKDQ^rm*F4}fFp--!fJaHucI?ma2UR7}uV?d>+iWyYybcN diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-provider-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-provider-l1-1-0.a deleted file mode 100644 index 83b2ce9daf76368bcae2cb7dd20b64760c2efcce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6950 zcmeHLPjA#l6o2bYAWeZ5lq!fr>qM^M2p8G8-4*du{_1IHCMc};|k3C+G69=iTR?0}88Nd12Z|3>^=DqQkH#hJfS2t>0Js2PxB&AH0T%uc*T;VX&~@Q&ab5fe zfUc!~#kG70uzbkaEynJLUJ$Y^FY*F*YwUXLnLp}Ge1^jP4Tm``Ht=`oisj>x*Bu8Q zBg`-)Gz-1%Uf@U1*(4Z0^<8|?z-BhHScl=eh90oK*Kz-IWpK}n?!{BNGwO|jF@HE= z(^9;@i<5Fy=z|oi8N(-TkD|c$!aJjHy8{KB6@RbQKP|<3jSewa{TNDb?@tDP*O&A7 zE*KA$nH&LdpZJ}fs5zECR^(f@WjT&xn$C@O;#=ywtJ@mc+HCoN(ugaqALy4LeI3 zoE(=ex_x69Hqh-G((N14?HdETVK=O%I~YK-=MTL2p~H6ok88cot`x*_)t02XKBb>v zsvV6YjAFxj5k|4!9LJDlvL&`Lx7|Dr)oX$;_M-H82fxLqv;dg5BFoIiGFoNt$HcgAV z>xen$IKsiw+o>g%0>sPWeFOf&wxS?d8O=D$LJLcqQ|-9OvTm;_k>xD6%+L6dDTUFo zjP{-t9DfvhJ2fU)B_j()0%cbu4Z89wjTlKJpl{ehWj#eNq_|9E*+9%hk4soa>)1rh z3q8(}^SXqcA7YG@;fmkByGnNl2dOOW&F69+;eVu4_~b{}6Fx2cm!6G1S&8JNww{kQ zpxTf}7Kr_yTZ=T{QzEjYQA0|&1v0GRYo#wQW+Y|^K-vXsh=EjSHxQER{9aTByur?N zKBv#}Dq@?6HJk;lax7TAkz>IxXn^BbupN5_HC3|UM@8>ZEQs{D91DKZ;}RBJ#`T?) z1#{#Rnw*+EXjYkU1?NsBWkO;ilp63G*7{W^e9%~=dRDBJV}-4rI!g$EzhawPaYBZyA*$!WYDpfP=1BB8MUY5N^9c_= zBu6p;e~+j?d+`0U92v^wNYg7${w`(gP(2Imax6H_k%$C^EclQdsYWc&WCXL!gfcmj ze$@#dG#06z6;?S`wAOPchXdRwk2^W^m5jT}lS82BJ?iA}Qjg1>9A4{jNo@EW8FSJc o35XR%|JLz+v&@b!XbZuT=1ZIWUQ`DBj-4Y`pHQU8JXP`JJ?(;{;s5{u diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-sddl-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-sddl-ansi-l1-1-0.a deleted file mode 100644 index ba1e9d6fe5f6bdced3e145d7b19a1406f251a0c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3634 zcmeHKK~K~`6n;w=QNZYd5Tlox=)r`pEi7eCjKOg6NP?b+LJQl_?UJ@Dcq1M>c_1D= z`BV56{umG9dv7}1X=wu2uH`by4pcyX0&>-`c7rgpPY=c-gvq(O*`V) zw(Gj4xnav4GR@t2{}XNq%4P@P9&5AE%YxI4_2$Ne?cJX5WnMFcM>b*mqPLf(*TCS6 za3Ov0Nnc@aqtZpcblC)3;ntO%aEr~j4TW1lWvK?I##N7GvPP+eWU>^QEFzOdWU?a1 zaxA;&M-kzB2VoTCFaEp)IP4sFN6L`f^?1_sM#Tq$>9L$?!f0_cnlM@nyNsdelqHWd z$8Q#gj7}qlV@C`zI?u`<$)9Kr62iaS|!sySNwkX#vpv+q_?8 zH?UbEZ_uv?IZtS>>v*s5davQ8d8Cgkop4I8_KRpRfLb~c435uT)^5V~A)m1bM`7l` zK{lMkN7BN4D@B?X*+NEebY(_Rd?}`d=qHc#`AUv3Sh1aY%2EJ61Xv@>chuUdF74)7 zYNI$Z*{-cGYglAhsJ_f`bUx!YQ~9sUGdg`%aNN)NPMrz%4eJZm1MOU-8S3P$s2kII zK)cw-$zp9@C~&3vGC<5}J#Lz3v<|AHAM0_h^6McgZ*q*X;fgOVpVHI$d0{KGPSb4y zA;d(QTe9;GYLeZO$@rM(;gvdcwd#N#ORh1HX97o!W-yecs2|G0ktpR4ubCJiJ(3>c z4G=9de;%PmLg#|C4ER|#Gw=-+bth8Sp_|;J+R8$zL7W@*|J-o6o0z~MZ{W6r4{|2Dv?kn-k?g7m1F}B9oo51x0w(f?m z&(`{m%ieiC`@mypJZf6ZT4EhBsOW4QVjPQ zF+;16*Yb(xphTD|c$kmnRGQ{oZx7G)rjeYnlIs?}hkLYmnE2ORU*OBYY>rlg>$)Ft zgx+%z*Ck#p6Y{zDBIZLe&XVhTfR&dKM%r-4C#R3;*YR;;OKMu#y$B)1Kbl)` z@)p(vrv-oUXQaMdwM?u_A9y@}f1&jc^Rw6H$ljVqqvUg5Lb7x~OK@QFKMl**34XW>zAFB$^2$3l&xPg?U;tIS&+n))akX z4cqndKMWPUnM3LAIt~e12-(G7NU`275{D`=vofEzoO%C89LnrGt(t7(Sao3xrHku0 kbha)o5{Hr#x9Gqu{gdWO-`z%uLnC=5t*FtujzMpK0g$E+ga7~l diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-systemfunctions-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-security-systemfunctions-l1-1-0.a deleted file mode 100644 index 8ba25735393969115d3b51a3d93c514ecae264e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4458 zcmeHK&2G~`5T3*-Kc!F(72;?lxM6qQrcR0ws#Js!r%H$mLfX2C(^z$Wh#k>#>H%@? z1Mo0CARdGVq0H=hPWg$pib#0B{GO_7kA-3&j`my7vx%t_L6K;(V9$50O8K_?{p86TUm@`us~U z^u_^4<#F5PZj*<>0bPlHH1s>8iO&f$hzQLizcZZ#@d=MkqSznwro&DgjD`^p9qw?( zJ&vy&_`v(V*R5(zcrT23lNiIA4sad}#(Z9%*RT>K%fEBeEk>fg`+0B}+oM?s%VOs+ z=DMzFwj3Et)7)R~e!qp`19)8nSQXL|*s*^c3%R^AVQ=5=da+jy5i>imcWxg<(IqfA zC0sx+eA-l4Oe$!gU3%LArf^$IPq>wGTub2?3Tp*8HLpfYH){}Cm~NIzH!GKJR_Iuc z#q4ev0@%GE^pl7GTmT%_dft&zBzoPaWP*{igJ8Np>tz_tmqr;z^J7C`$V1td_*(dI z38#!&DMt8@vc#yZXJ3-s(HhhUQwPeNs@YBq=>G=;+8gQar5NC1L>|&-Kx5Gi*bru5 zw?@{WU5}G&p@6538lD-^ZUw3^JS1Vyxo zi}kd1A;o2?P8%`fV%&^#^c_2h`C5!~m0gsJZxf8t;TNA@Jfpj_vs9N#_53LTPac$w zw5H6^yC}&Fm)T6uCV8z@d0N((uRoysP*fX8*dV+`E8tVI+N704X@mzd91`D3k(U-p z3-RQL8p)wYC{d%mL27JqFS|PYKp}sEDnDyg%Rj0?f)CCOA1Gcjm1n25O88Kl%MNz! g_)z{wu^>LM8$K+G4|BUE{w-d!`tXnc=4$!y7o;=+_y7O^ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-ansi-l1-1-0.a deleted file mode 100644 index 676481b3b6b677d12386cae92cbc8045aaaa0557..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4454 zcmeHKOK;Oa5T4j6k5C?m3M#l5sYo1fu+!E}r3w|53M3>Hsp7nG8i$xVNfo;gE~w&w zIB@8V6XKtso;mY-C^Ng>c-`0}Jz!LcmApHd`Qq7~oo{D-cf%d-b{|z98tG=Q+K%m5 zYxQNru((O>4P$v-{5Fhc1pqDqlzsq|zoWP$o+~Q=^jvGu!`K#MFGFt_vW6FVL$)<& zd+e>>clUjU%2C~6&I$|s7Co_k(D!x+Lyr-r7ZRG`8{YW49uxY0=(E6PHnW(^@LfF* zSl4sgf87~8^`adymFM2O7wGsgFy{C6S%x7|J@Lc+z|Fy@jNAQ#UhE*;iQMQQ+#X36 z*|xUVYqg^4K<;GT4%(LGIF4aB>#OmWH!JOr7jP2+Hc9~3xikmW$Qwmm&hHFpG^=el za`PeFvI&jjYAXz)V2wh#H~s_;pX#kYZ7-Kg@p{9w965b z&g_LICY>24ok>Y&x|nokV4JpSRog)T)s7!{@t=O30K6)7+&!s?^=d51wSLM!!PGcv zc^D;zdLBlJUzuYlGU*n_n8$7oO?oL8!{bKTp_eFflZ|{(Ba8+;>p~+I=x2F+;p3qDC<17E09UL=YN_{}!DFUrpXMfj!1rm6ZKd_g9hKQPdJfU`RVVEw6U1aB83~)Y}}}=|F0Fer-CBmubMG87SVQA jZUAI|A)aSm&>2B3sTJc8p;m*h*k`X=&?3iH5G#HI%VPVx diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-ansi-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-ansi-l1-1-1.a deleted file mode 100644 index 5f44695a92efd16ac0cf989a1482714c4aae55b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2770 zcmcgu!EVz)5S_#=g{TM)JydWp5=b1dvD?HkQiXyF630l08`8#&x5TRLq_JCatT=Gu z&_CcWIQJv?9?HzFH{LXMTMo@e*&WZmcy`~u*~zoLU^*PVZM`-Zo7-_c*K@l5u4y`A zO7Bf`$CuBhIcNdE8bIR<4t;=)-}Gf{pRvywpJuGjb3SGJxS1t>e@+7{ME{phJEzr!)3nJIWQ1T>W(4s|oR&?$ zb>y0tazucY+G(UL1t_*9>?ZudaYaR9WobrPmO0d9s@+ssy1RO1*$~Y9#6zaiU6o~Y zKfS{FuuwY8}X zah_V&6Er>+80EtqUtGSRr}OjDr&~2;A0ebeiY>MI04=F)sbhRBvQWR>D7>*;b3o@( zR2V4oK(Iy;@K>_Jl+{Cd1QQF{Blb)RkSmfa#D8z-k=gSUEoyWtNRKa`W!HpXXw>Zd L+J8eU%E8t@1+wD} diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-l1-1-0.a deleted file mode 100644 index 5f839c327933c8cb1040f66b4e992b07612a3118..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4458 zcmeHL%Wl&^6uo(rM=6g*kys#PpzNApSE&;ugrXKumlYLagEV!MNp0#pWV^INEV@8l zqJ9JmKBH?sfX|`aJL9n@iSy_pL6sQEGdFjRJ>xs)%pK?PODAZ!uNI#h{l!|hY|A#Q zFRF%NiY~o2jEcDy->|y~0588{L32!n8v|Gkn5lufdt{`xdj9$sC4{X>(vMcbc;t z2X-PSh<4-@Hlx6Q?S(xjYPdZ30E~I<9vg?);p$#QMTeofWzhYO?|UJ}NE>L&=`?*F zyg63mjK?&OK6RpUH(AtCt7)00ZQF)n*RT?0cd>bT4Hp!kmIJsetOY1X{5TT!=*ocY z-Ez~3oY4@`Q-|&I@?IEDfWZmjJbK_tMPZR1ZYKJ8xU@0bGi3nKot&&wT%T3=0D7QSH$2a`B0NBs9oCD>E{dyc}*uucr1k+=f zABEB4R~UuSVpkLxib{Wp<16B}fL(>$NQ{UXF{6-s+W(OF7mY!MFnMsXo`>d%>Fy<% zUNhxBW*8~cZCr(WG<7KcYo@P>X<)TXv%z^ih#5kwoW*p7*INyjC`a#CHsO>#*e;=? z094Z+P!RFCEv#vH?uz{w;aCJ`pcT1?odf9+OzVp@z2qFUAfhX^K=GxRrbXXtOEgcZDv_*T(D)zfE z$Eh*EoHC2xuCMKaG(uK6NwY(;>(k0raIiod7gAhb7NIQoH5->`i{7J-nA2>Wt>*Oz zjjb4?eE7!a7tiR|*;(pKt^C+Chh!j)FIjmLEy-%hV0uo>Wi5l#6bi$62K0E+QxGF_ zh=?4Gka*IJp)evEeYz3vO)QWzk~73}B6_55478}wejq&?;P2M82px)qXNt+6;P@D&l0$TQV7YnOQHY+`!1^hfbrjh iw7XtaH9Wz&Q%SSLTj>yW9)4mw{_UkSCSYd%-@#wcvjR>4 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-core-l1-1-1.a deleted file mode 100644 index a675a9860e3a8945344eccb621134abc543678c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4466 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-management-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-service-management-l2-1-0.a deleted file mode 100644 index 42f56be1317b13db4eb0227cd2aa5ca31edbb788..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8758 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-path-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-path-l1-1-0.a deleted file mode 100644 index 78d88c5720451988bc23846a95cd7d9c81c1b1f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5160 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-registry-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-registry-l1-1-1.a deleted file mode 100644 index 1b4f5f4a7d3d8b305da6767f61a61b5be15e9e1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2770 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-1.a deleted file mode 100644 index 4dff840c442db0ca466af9a3fae00b8ccfac5d31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7014 zcmeHLPjA#l6o2bY3Z%3k6r>1BF;bCwU>9$)aTX~;L7`ApLW+vGAx)g!No?47BioP& zaX<*=#33JmLl6BRe1abNFdPc+&5Z3a>)Ag@brqCZdHnXx&wev+-f!NFudRAf*S|e? z(=L|Qa?5SG&dRMN+jc~gUfcHaN=H4gIR^kg0$7Itv(Euee~{Pr9|7n(cR^kkngDcN z{6k&~TL24NjIA^FDCSYjHh97#wm#@_wjYGvUcgX!&~cgDX8mA`E~OuYygP_EBg}40 zXcqfI6L-CS5bm&ki_yN3FXAD}>N!K>pQEiAoA2{Pbnu?nO$O1uLG)k{1}G_O#%63V z_tDUZY8+6RjiS1@e~={2K^BCj=xaHS>$-dfC}uXp$z1|Yy{4dYBmv(QZVK_X;x zWy8j1v*#tA86sNNVB>vr3uj|Yc}2K@UieEpg`P%X2K%L#HE>ega;hiXSu<`W#r=xH zd3^MvU+qMMu4Mz4#LKk8DsOj0I1yu4X-= zc=xA>_m0yZigy?1;XHL7X8!MZUliTIYMy$7{aR2lLi1b}?G?!-_4U(~X);2#vK$dc9ZD|WCfOOlPtCo658U#Emqj&OQuYg5KAT5)b* zyRYJ$ZZZ}zm*X;yT*5h@mLoG@*xcj0 zjx#?lD<{tVdRnm8o(Lan?RFMh(go|YGN zFdkozH7~AE_+!a=u__g!w%{+k8%HjgVQ#LH8;d90ped6nAv@1coio0M8x|Np(R}mV zFpgYu!`xgYH(HZ&<77Wo!l5j0e9eBUM%*a-N{NQP_5GA#ck;7BFBmY zCk}lE&OAh)fJdUt%zBeeW0PE(m9jgY{o>jE_M06)K6Ixi!BO>vvE1yY?bwdhYBvqT z;wim1jCxx>8%Dnh06PGsPdI!4*!xXCA-X~wC;l`MJwNrQq8od@_!f@cNhr`cYdgYe zh$tM;FZ0J^|0JIJf-s|m&>{)glbpCwI6f7TEo@O2uD}=61@@5e2q72vQ0 zaF4BBsHOfaWxKdDpx3W?Zt508c%}or%i17G*1+JLa3Q_$Nkd_8qp^eQ(pv{Cg=;E5 z;r5GhErolA#z78F&8rb*VU7|LWnoHLn3*ih$Tn@WUh|@eu(e?r`PrZTUICnzhVGei zWPY7X3SGGtpI|zV-bE1SZhm6(Y$aK5m|0 zw2uyAzUSi{wXTO~yvs1khdaK!;%oKdV&T)R;(AXCq}WoGchHimmI|hKWLnnhIEAmQ zRvOT`PfpH@s(3fLxJWA%3%=N9N5Vw5ZX2AU#L?EW0xN PLZf)+>%N4xk%RvLNjKl; diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-stream-winrt-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-stream-winrt-l1-1-0.a deleted file mode 100644 index b1db71514a942c0ca66a2f5e1afaa7ac75e8509e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4662 zcmeHKO>fgc5S`d9AEBrS_0XgFmQWMyk~%>`sHhU^jR?ef>&6a=YRAPkr9vEfKpZ%r z9ystfIC4S#8T=Z`%&s@yGw1Y7v5nC6 z*qhYLGmikdufqOz(hMapiuhoerfu7X(Kf9yAKVY;aL)nOYhw427tl<+{e)YKD+9V) zP1i}BVhA5uhwf2xJC09*!2#ihG~vyb#3E5)4*gQgI+zl-Chdecv2gA{KN-9p?Fb8J+(e}5B`eSbkFL-J#g}5574_^9K2NEH zgC*aoC7l8UycU%PKd@6-QmasETxqe1WtGeA)Ev{kuPE(256>6eXu5#pDUD8`6&&A9 z8BdJ?X2~3bIYBuaX@$IUkmZhXPN02k;bL!2>=XG_0s zV`nqPNE^QK(eW*MIy}s5Sx+l-i$OT?lKc={y@)-*b-`qSD|Sc1m2))O*wHOJ7wN zP?4*+f~@}v!d(>PAK&IGQBW=APR><2ySt-r|AvBQMnP53Y~UFv$SkKITm8-vIp{Oe z?z9}_r{^*?Rpy{QW!+gh=pY|ArJ#@bxN#1;j_>!oIY^$qIg}6|qkp-2ZlM2Evi!3t S47}FhE4F{)o4v9-V*M8p=utrc diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-sysinfo-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shcore-sysinfo-l1-1-0.a deleted file mode 100644 index 863c254e6c23ce09168eeafbe955b73c40b4792e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4526 zcmeHK&2G~`5T3*-Kc)N}df;dzkPvEu9i>hxRaH?z&;ue;#if^R8avpn^CR08;evWX zJyx7~7St!;5qJb1fikn}wKt7J9V84wtmO4%_Oo|9`+Yl`d+VK`>uxMQ)+d{}YFegc zG}qR2-QYuNuj`Gv6+f`I2msdrO5Xq~U(wtU*NqbZx^CHYF}B6n>(B{8)^;K%U|U1m zVQ;-bXXG(-j$0P98qD|h>5BcsfzurZ4kJuIBs2?M?g`(8-k>*RzR65xunxl)^&McY z)3JZ=Ot9lbTSr0Q45D^0>^foiY&`P4t`|KSjpzek;)nU$Pk}M7KVo^&+u^I7_z`YC zpKF%9X!|f2N3~(H*t1sIGz`na1-91e$tv3)uHZrgtd{_8b87)=ku#3CJ-gGPy;rk4 zQD-)Uk8DEwthOJ9m%!kda2~zzenVoBeo(=<)V2wR#H~s{;g)9OniBUAjpYoS9G7<_ zX0;zyk(gCM%xX-`s&7`!s!_9jpRl!_=R5I3-_HTwlzN>*>4^PmE@^7*!u$kN^H`pR zQF5rw!YKKxa13Q;vc);(xm&;?tuzzE^G58@N)IMq691w(s1c?N2iO<09}wT&Ir!c( z8dH3?a2@VY@KE{Fe6RB`uv?~RFs{2XM`)e1_%8A4UBM;#QOBiCIB8$JFQG#N>S-s? zcz$kjD-Y9MzE>k08)pslBKK%;C_J2N6Pc!uEIeIgNzq*w$?ucIYcE*MSkjJd7UbqYtDt~{XTme(1G6~VJeGvHIA z&ZIR&dU$3gbi{K&j1Uot2=P>j9-*TZw5ZYkAUwPLx9H078I8QBt@+MoMd+0(6<3m( zPf1qOR4SEF(ioFlyv>n^A zs*kItX>pfcn`Xswf)6%l005udPk_RAfaxdlx%>ivo~t$a%xwV7Z3wX<#JcYed{J|U z?m(>co37aNdi5PopmKl75l%&PyaqjizTb1V`U6)Grt1@0_-)qg_Pj0pLA~dDqGJnN zSfVcQXI&RW+pRbM{AjSYx-KX2vL6T_gxB2>DIJ>XIZinVWbN82HOb$_wF(vck%X|S zxwqeF3`>3G*-;*~Ez5DxnN>@A*fck1nx8J9QvsH90M}TWg3{34AF@2UGNHCvYSxGK z(Gc!ghT2i7;rnA?a6mYZez;Ik*l83BI4`{{gQakbN>8}i(YUI@JwRbT1*iH|i@{gy z`b7-Bq71&G7JS8yU9^iqUcdaL0=9_jr`CY+K_wzH@(fNI(i z47Se|mL`ezHt)#@$HI{Vtzmn&w=FdsZ!t^LA~RqFTURoI>`OL{ioWy6IVU*6U={7u z5=#Mi6JUunKTygl8)eKh-@@{U$u>5>lq(v~F0yq#qnqjYkj69GeI8){W)Sbxm|#tq zUoanN`y!2yRt}=P5#|H(Vg(0#tBng0E|y=G5Hn22g*>BmP#*n|j&sz!ZlbUnV3ZD5 zd~|%5-VP5VT_hQ4rw{C=D5P;^WL`o^Mz)M%d<{65$U(`B1G*hKzd*nOwiu0IC{2_* zl!mPk;|{Nvyf0@YXNadq)JX2!LWv6P2~uP6yR7o?4F&BSHTKMv74tanFdxd3@xe~= z;Uk)193Nh5ag-$=TH3g$@nI(&m*B(ubX>@X8|de=@*%HB2A_h@Hy0=;QHi*4Un;oH z!&huIF2t?^;jKh!GrA2$EU^Ex0KFrFJiMJ`!h#&e1UWsrLH-LYh_6^(!B1#2XMr^t z3#?==IKa>umkVBLduW!qprMU>S}y3M;}R@*myQc_0o}#UnhR)Wl-{TMd^2E<_j^4L WECd>A^6&-g*lOe9&j!fq9P}IGTw;0v diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shell-shdirectory-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-api-ms-win-shell-shdirectory-l1-1-0.a deleted file mode 100644 index 4303612e482fef766586ed7113339e2f23914e4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4430 zcmeHKOK;Oa5T3*-k5C?m3KfZikwD@=f*o2XNEK?;BK24aAudQ8w|0nIr>ShCwj59o z2yyI%6aRyA#c$yEP-ezndsEwe9BPDMCGT!#KYMp)zHevqV8ISHhA)~=^~qw+o0e%A z-QK*e8$6`ey8f)!NnYqT0pJ=y?FT^PJ9h8K&kX~Bo?9#Q2(c{0>(C8CvF1i@AeP6D zD|WqYd&d)K-0NAwniIaaPETSVZ@U}gz!iiUg@hL2(Di++9WQVBLeyE3==c%+Iy}s5S+AbI z3D8Z0IY{%yyu6ORnAb6f>HUPwN;apdwS2w-)sLKAAkhGOjAp>M;_Q-T4ryU8Oelx< zOVN*46t58PhiHkFa}Rq|=tPJusVmv?4eNsY(y8~WinPa>hc#jT*93-%qpD~p4di8N zqE^I?rGHWrr~ZeiTocAQHDTuS#3wu+&dL*S=?FoS1)gj=0N_R&zui8%9R diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-authz.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-authz.a deleted file mode 100644 index ed3b2dbe1cc6fccc311963fd791c8d65daffee34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32456 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-bcrypt.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-bcrypt.a deleted file mode 100644 index 404271f352fdd96220912bba9bec5e5cda29b18f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46236 zcmeHQ>yI485pVCAmw7p0%p2Cm1_I>Rd+nYPLbmTX%==;sgp!E$`gZPa%--&4cJAUs zh*%au7O^Y~5K0hAB$P-|B1J-q@-agB9ObWw@(1K&6hW%`-P6;1y_20oqnnX>X1BY# zXS(}W)m2^HGl!mSMN6yC?R&av9uqSY^@)0|aqL*NTBAw&xmul?nw@1i&h8_GbP2ij zA|d;qA>__w77o5m2!?wh9>W6=kKy6dEFA6-g5l^U3y(t?7@mYU4C5DAnE03w4AXyL zq49S@Fg){L7M?pm2!<1fS(qOu1j7sPAHz!rS$O3eLNL7kPZm!9l@JVXK)D#+`ZEhZ zhBypw|AmFtuL;4>zRbc(LK`n8@i#&+{N_s*zWkgJ48Qw; zh2KLvV))}#7XEaF5DZ@d%~zi{n{&}lFNSiA>;nl|S$N-5t^TT!PeyW@AYP1m z>p>Ko#h=mQB_%vk99)POHo8l3*z3A7y2xZXCpOw)9ClY;gyN#*){@yUaBG`Dc7+OZf52D za3hGe#B($1sD;gLJc*l1D`^1)9`$sb;#)E&Ah`RIC)J z(^Amyzq-+h!`A`Mw5816c95|Akf(d1v(k&gcy&#*y3x|<6fF14!PY#m`lj7KW(uQz zac#X9#gMYt3M1nlW=euOosvr$^c>V&%gYldymQ!^%)`ZXq z+5(~`#GiN2s1n@yREnbJ>}%gdCRns$aB${P1kSwbQS`>c%JKV(G8CaIO9In=0xe0< z)A8SI_b!WL6!RPFop1>tn?$OSkf60dB8fGQn-BVN)Z02khb`j?%oJWWqqd$xMH_VX z6EH&K{vfa@N>9E#zc8720y9mN&12_4wMwU_DGBOyN-nqNgAOQdyjv5LdWtC1?yq@h zKv1=Kd2>+!okfQMs|}KAtV|Z`AlBN8(WO19nZiru2LR`N*2$Kw{f@|d>ki>Uyq;b_XkrEauMl5Ebz#*puG`( z?1ksjkK?2!=w?Jb(%s^wYY4hq;KzX!I*~4}%p@6acRFA_E{C0fCw%iQSZ#ZjTknVn z9p2X9B(KG#9g*d8YhZ5u?u*q)osLij(t z2OdaMA&YPxrL{+qyXueJ#>^z2Vo=DfLu>EHMVMJdpHuXH`90<=X$kSuAeQu?{eDJ(VEpZ@+gJOd$$EzFNcUTNXl+n^y z$sNEvZC!?WY+r0sb?CB#J+s9Hlvv;yugHglyhhLLR3R{-F~T{Bk@HHwR;$fSQHI%0 z$~S6kwyjE~{0+2%m!Yfn(O)*Npp1A5($8|t;-yMzo>Cs9vL?OgEmBSwmGqWU8GB+H zZgyU~FHv-cl%EBfIGs-N3fAK|(7c~cR~L_U5BxaAX+#{<`0H1_OyaVK7qkxj|B8Iktfqz-iu+m00k4MJ{iu*}F+)wLc1jGF= zp}O1Qew||hFFT3*ceVQt!u<#7bQbQfrqjtzeH7|9EbgZ{0tQZbLb*legU8_c@lbq# z+KxEb$iVnuU@PcMF_-ckov66A&9Q+IOHc9vUZX~mbLp1;t-vKH9Ct!92_S( zZ zMEL>e!C_H8Df(QSt1dFi4{}T^l#lZmyi^FdJX30H09|W|(fKZ=&NF??3+s)kY0WNX zSpU>RqIWdOx|0%pQ@gJwsV!aqVmh5A(LYM3lUP3j{WvVvCsfZT=Hp;akGX3LE#Z$M z#Nklbe}zTRbA@~cS1#d$*wq3FR&bJyeiWFV_2Y~Qdla|^XxUEJS=A7=lbjK0_Z`F; z@1@gOobh2go#c#%pqGc`jGDrQy-WbgEAoi&Fh#%46~}oDUMl1xI7_auYoFkU6oMQ$ zq2b2~<$MtBNyZS;iy%26%Y4w&5(`Vls+b~kfd70DbDa9E14UY zLC+O(1+Ibv(rRzAK`KQKyfE#@3#FAzdyx$Ywg!~NN`6YB!MWzP(Ds18l`K{Uf(<-q z)%YN?95}<%S3G5V1j_j%HA)-?z8O|WdXjU7dwqDZM+%e{c&L%$B^E)?74j)u*+}7T z0e!R>K$Qbul)hx_ro>2K*$#R5lAq8~;hHdnXDhM|?e9z0cU6cLs&anWVh>ky z`H~wmwsrjlz-l||T3^Mplh(CkRgmR*xSVb^TO9InI-Rtxp8zBeJ92z~0EaN`LhSY_ zHkUkwA_xvOg8Ya@&~t_S7OvU|k^sNi65Fv#f;xv0#m_6+uwn znEhRBJ{eNe;(TJZfQvs8RHNsMDNhgfq-}we^HjAQ%FJwjAzYw6tJ znzc=@z0M2{iX27;KfiVTm~CO8cD|j3ah8FH+PFJuVeIrihJ(=e!;TC`IWNFwR&CdO zv3UUf_jo94LT<-`*a~?M&di!HYpr8Hk&*-E{e0FX=CLQO`6+27WWoFq-uvbo9(D`n z&06c2Po(64c|T8eeb!#XTCUet7C@F=36CT(4?I=mdDR0{D(EsE=hwthAu;@9GG3zE z*gUVr=74iQFLb&4hV_?Ax6gv}!@Sq=WfAlpJaCI5+(@=%cx&fYbmOY$mK zi60em9)2-NPG10%ME3~y=*zt}Q+__-x_D`&wy(a_Q9WAw1duJXRt-*r}GbfbNO zhq6Uo`^xkh>mWDcbCBYm-raKd4DCmku99UQ@?nK_`z3vFw<6=-fA>u4D+&_~U^h=5 zGxDB(+maJT&Iu1mPDpv>t-%k1YA_*fj8q7Rg}*nDq0>mh+Po_Q^G)(xS~WZ}Wh{J%1x`vGpJS`ANY1z&9i3 zfpbrP>#Xf>E$!R?&%V8%<6L{Cb)ohAyO=1@>|3#x6B8?-lRgDd#YtcC%-OsmLz6+EB-Ko1|(b?}+NH@MHusd}2 z?@kXH#gAing;VwWVO zx3$JBk9T_>u=`%TmZ0#+_g|fm@}WEXTXviSRP*GZ?@W05WXo?}P#Kos80nkJ^397o z-JGC?d$?m(28Njae2)0f+@eYqDsY=Ygg3V%QJ=CF3~_hkRG zubvhe?KuC7hq485q!dSmtiw-%cKf@p&-3r}=Arj^dT>jdmv)v*@5wUHv!D04{9-aJ zy~3Lm8Rz~suTg7Vrke>lNOV6>Zn-m@0zPRQOHDru;%`qPo^ClRHsbwfHYKpFjaG@2 z95CG;hS=OfAYGR)1 zHAU8H{8wSlGgM=ZQ@~E6b3nSMueRJzJ94DoVj`W6>_tX8YIS%hJJq$HmLuKPWf%vr z_#CkA=c6sxVX}U7*{fM*A#avgkHXCWWZB}$m**EI3vI9Z@13HrZ_{dRig&X`@|dUb z^VF7B>tNhxv0C>faX;5u58*aNmh;1C@EqH;)~TpxDWjM5H9wzhxnFQF=CiClzA1_M zg5w>n7(A3-<9eT&l=BG%o^wGS@58D2dRA>8Q|Vb%p4BX}{YHuNP7nutp$Xt*x5#$A z)~0MXQgV>(rC$~0Q9?hLF7O*6?KmWE_ja=^e$^W!=691{bw05DsxmGIeEa!TOFI?0 zz~X~CizOtBoq9dT_goaT;^5VdP8=3~UdG=}P1ahM>Q-6~xcBs~mb2~yai3+@{W=5p z6!L}EWBg~`8Lq9VNIg0Sq?bO`6v=IAFplrQNeQ1tYu{@ieYa`t4A!F7wtSZD*vUTP9g0m)T2Ck8Jtf zLE3kW32I-DhwWC}Qe#3DQinzV9)W>QuOG;L5Mmclu{q!nZ7rPxT;Cm>ORv2#8aPOD z7z_OTw2cW{Ln_At#SIT+;07TPPqf=y1y;IIk;j4uElzlr$Ka(xK7=zH3sP#Xb3t12 H$T;AC#xUC8 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-cabinet.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-cabinet.a deleted file mode 100644 index 19e8cc8eed283db1483cca9f05e7841e0d4c544f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22288 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 PtYKYF3S_1a(L(tbzLsiO diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-crypt32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-crypt32.a deleted file mode 100644 index e6415b25bbfb90b7d7a794cf167250f6607d5c1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202142 zcmeHw3z#KGbzaR~kU_?nhb%BQX0%A+5h7-1cjwMxB5QVbRvIzd9cD%n5Si88xxF)2 zx^wU7-aD%u8L)T>Aqyb{!UDuIfMskGY-4O=Y%AC%eh}LsCLy*%fiU%zzIa^!9XNbo>cG@Q z{m8-b@d=(pkK^M94j-(Gn42$TZ0ye%d+7kRT=&-^ zEdDuT7?%H3gd2X2F$}M~PlTI3#2AKCzbV4$FENH8NyGa8W(-67DI#>QU<^a=8WFbO zc`%$y!;id*F$}LeC&KGD8N=|VrU-8tFoxltwg_*7cntTS5#gOnjA3~9wIaOd2F5Tv zye`5AAs>d1yiSCV^%%qO2>g%Xr#>yhCqK^^hM)aI5k3uP48QnCB77F)F#PH-iSX!W z8N=`!9~I#XpJEKd?|fW@FTxqaAACTBFMWhD3}6172w!=GF${n5un1qhn=uSugKJ{= z`qxGH#upjG@XgPN@U2fWhT*T^+8F-k0TKQd?t|g);2s$M;eHXm4cCV-R(n8%$G?V+ zVR*u;MflFMYz)JbZx-RHSFte+7ws3}88tSB;aSfT;n|n7F%09+7vZ^6Yz)KYM@4wS zaW;nGMUx`D800Wars42KYz)KnlSTN!3)mQjD=!pb=3+L6;TYT>!_^ZaTnpF7a2-4+ zhQ%`?EWe74VYp#kgje3c#xUFjvKUUK;q*;x3`6o>5!OG>#xUIa2@yK)W@8v`dxHpr zJJ=Y8+aV6a9rudxT1dxm=cWj6gy+C;*Zm^A^)5Ds;ogA=Z-?i?@Brk&@L(Dqf^UG~ zeISS718osLd=DGL@KLxPhM!2oCqBc*F#OCXMflY3vM~%l|7#+A<~P|GhF|`I2%q~R z8^iGHe=Nf1KhMT6{MIK#`0bCdF$}-=Q4xM0(lC7KNg{mtX>1I`SDq=tp8zH>e05QT zufaFK@b!)e-+*`w-@HYHZ^1jj@K+Cs@HdaLF${kT_rUOXzb(Q)e2$G_`1YrGsMQ`} zJUsqGtcKwUZxG=-?_)I#Pd+QcQ(w($7%n<4!ZWU5H4M+XQiNy28N>K1M0oB3t6{i& zQ-l|+vl@mMy-9=@!x_WmIS~%GSq;PVJtF+zy{v}eN_YkgGe0fDu}`uZhO0jJwKe^i7A z{+!h?Jor@+9)f4V@V>8$@PYryY8XBYG8jGv<-qXBMI!vv#jJ+mlg||4XD3(7~m zi*Uy9*`p%-D*TP%(W^xGjhk2v1JtEF{LUk+hT)5V1q^=x-vGmx?ib<9aK`YJhed$; zw1(lU@GUWX?Ew+Keg~^z_{Qr*_~t{bhT&VkCc@6>F! znVh=4)oE8VpwhfcLyr!l1Q-A=OF?IovHd)u3XgOjHkr$BxqVW-xUMsr6l z$QF;k;)bNxIpR%dV~6;c1gU-O;T;Nu>w$j>2mIsZE&E?iwr!m-)#V(d1sn;d_eq$|>`EP6u)?b!vr+4)bED#xf5oYJU zrqN%|&Bzl;o@2?NvAUi#%~IGG$d$~$n)^wN3z<)Z_-mbMtu_Ygol1C-d*#Rtk+93< zx{i3O*KaoAAr^bxL9#kXngEkQMhboxXSzt~^pdq!A1aEI^T*~pXS(#Z*IS8pp5t4c z)j_M<$;~GPjJ(H^GmWkG0B$QKM2#?9E|u66<-IQ1==L-eU*FM_bopbAK|_DqRGKHG zvaL>k&}g^Qhn($p2FbaBp35!5^Dhs8>T4_Aqfm|Zwr`~Q%p`~WOuqb#_})n2lm`wH zJ5t46R4(lfBwET5teLVjNy^W3nsc31tgX`LGIQAiMqX&9=#>c;uskBWAtSDkPz>GB zXm4rIUv?yC`JnQfZzdfianb|!YyzP*AVFrgOm>Bt{&r_|vC(U6Xyr`?Btgi|FN$h> zzSC^=fTbo1mz@Gx-lYT(m7GnMw@%*znXlezHIH|Dvw-AwckOtqtrvNIakzZJm9?Tc zua%+@(>A*BRPce4CYI>B{+gBBmQeS`Gn53vb;0R zrhIplOY@5~g-d5(ks1blEITpHliO-684Zdl@2c)e9+|A=D{d{a><%e@m6vZNz3r2n zI<#ywn#;i(!xq$TQS<~VYw|diRBZ`RLNI@}y9KRCuMcG5>KoLTP@gq*jln~j-+h=I zE#^?!?21B7FtVnRnGBL|c4fg3%3?FAlbcCrr7KEkh-yi?{4wZ-G_|S>9$m<%Ntrw_ z#j15dRz?#!XgS3D=hcQ*%ZMDNK$cfLJ)~xZBQ%1XR&ti_*w$v7D}_eEReUB%5Rrnx z$l?%iS=gbRA74Dwk0WIP$9OvtJ<@u*i7npFVP<*+2B!G`i$cmB92R7b-&!&q&LZ;c>281?}+vZ)nX4i zNHj;j5WPmej+o{*1k$|F<5Q|HC>r{WtyGbVcW)QBP6NPDF#&yj?p)SGEt1Gj({Ag! zyugs?acg%Tl2gm~vf1Tnhdhtw&xU;~(3ewHf{Gd`QablpFoT{b^Eh-AF>p6u*kFj%j2(-s^50<%w|3YZ{%V-goiLk#}`nnQ~kV1oHAyAUJYr`ONw(l~?uI zTxV;;@oi|dcn%>am0p6ZR8}TQc^6e$iAG4wn~Yx@a?@2# z>#QtXk6r?+)X?b@2}E{jL3s3bS)<-g(DwH#azk~y}S*^>J94l$xqi)7T34? z&@XG}=hY=JHvoO5i%q7)x*n;?NPJTnKsNphb|CarK_jXe8C^-K{9I?f(OFHJ0Dbd= zz}2kOG#8#ypG1m2_bm(LhFuAo8eT!IEX+aokwOffEBCr)uIw%=3&qcAr)N2rhUB!< zMb2J}YeM8n`KOs{CmUc3Cb(Y)e`TSle!Z22q1Q1)^!!W1^BW=}e;X`Tq%gC{eyI#_ zfVm}j?gm(Ii3?Sa!~Zh--$Hk-d$M=5)!jf-^eWW^he(O5prIW9%D{u_r_J~78&w~b{Z?kD~%c{1t>CVi9}fP8;p+%6Cm*As?NcfFJuCTS|orPnyB z9?bIT={)DL6THXB8(~^2E$IoCEUle1Sy4lwnT-BJn!&eXc#sE-j#&1|m|}YdLa6M1E*_x}7z=3p_K}T(z85qR0cEb!IT= z_2)a}miY8q=6os41zmCeT)fSp)rgUh%G#<7^3tqQAa9Xib}fX0qq)M|T2dx&VZm0o zFmJ9{dL7w6)vcN0WtfR+9(=2Y7A)jxf+b5)1y81A1+pM&zTXF51!hbUlk++YXp9`Zw&vMPbgf~_pAndUpoFs3YN66Y4a5x0Pq zw;&fLW%6m=OCJhuki}+FbLW7%eO;@;2T}2vBv`%-$Lt$G_DOy*z8y&Fj((nIei>xNVb$?hgSx8@5r67XI!3jfKiri-L< zufkhA^@5z&;4=CZRPE@>t5Wq`@?8+jt2?Sxo-1j?P-FZnEwE}h$u0AR$Te0-qif}* zi6jqgsI5FS5%UOJ=yK9N!`=GonMpbGWz-c?Fj={>cp|CpktM396t_ZQ11s+Qq&Y3R z1`#9INewpmaqJrs$Xi$T&8Xcgx2!ti(iflrW!+sR@#~9`3?>utZZN<>L<_l%%?5NQ zsIQ!Utga)O8yl$BpyW8$fG5DL?<$ z>iW=&=Sbk)cvpI*3q5F(fkbkdCJZ!&9@|QH)@6nPx2K()<;yH<&D83K{c^Yzy%}WB zlS;3$l$`O=s^LKjC5x`6Kale>{ENUn%)XJ+q*N@IK1n*Z2LDUp1g}S#y{T!2UylzX z%a``MD(#vMzpCi3=E>Qg(pe-fW<1@>f)ff^ewA$G15bksLRmhQoaVz*`f?Xqom-um zb7br*q*dLpix^_rbygPgpFmGjIgCrGIukyLQkt>{%JMB0+(}PUISTJ2tLE%Z&BjK5 za79;6CYG~^C-qsx2PP(_rl!Wnrw$%TrybvXVe_sF82-k`82fJi*W=k0eAqqzC-*SU z7H__yiG%u!e^;@^N3S>yBfN(E?nJp3UhvXGndlSXkH^7t(ce{UB9l9u#iQJl^5yE8 z+>_vsiyU%UdUl>&dgbEE!O1I{?KZpO436^_zyJGf#@5EpG;Ylz(s=s5@bdeNd!QJ7 zSG7DD@}BnP$&h#SI4*;w*MI4I7^Ne3}AHyTEdLMs3-^Ks(LG*eD?bqVR(ZS9P*0(yhiWrV5?M-7LcLDYM?F!W6 z`^9&vezf)w&usC43ulPNGcu8}ll&+SH3k#vcXA5mj?x9$(w~@^Ja|MHsM**L(NQTFua57cc-esWzCG=;t<^I z47o2;a#~G44KkZg_rn?s_V0fa#i7Qw;SZQ|D+c!rokzTblb3nhz|lVKiT3(o(l!XR z-w6dBhW1ya2*A^BqWv_vZxPztZaE9>XWeoV?bt?+iuS+6Z?C3-bA(hC=}#4qCP=?D zjlolmb>XO$R%rNo)Xq)LSNN`b;`@k=@4Mlf55xD(1Q)xB?_0=yi|{>g%USq-om)=g z8*8#r@%=6S#f=3FI2x*3qdxhg9Jmn>2AEg6ZvWmC;R^Gz`hb)g`%!^;yVMf(j-(K{KkSS9 zx~0oR+$-Fdsq6o{1NYdatg`lw{Kucdy);2UY>mAZjyBt~`E|~e5U4-oi~6YH;MWw2 zjz0RRls>Q{(1yqjA6 ztI2(fwEA_ooNSge8%@tGCozvU%uzL*|3+5+sxr=>j6{W>s@;D;MDSycwcxDQG!v=} z`9DNWKIw_-`TJ5t_D(C3GJ-- zLF|kN{IFf0v}^49p%xofW78UOH*4&i8rHI^W2=Kdagy4HRb$`fmXkI1I9y{?Y=1+{ z;T2Y9xh4{h78A3KtBm#i_)_7gYVqSDf*)(_9dPC|cXLZG;6FqrL~TFe$%sSXfZ{(K zQ6Mbu4|ypok65UyKgW;_pH zF8mZT7DWU<*4X>tOi-Wq7A$(?3I^cFq^B>oK51)2vDHu-5o)%ha^$}hp#!d0Wp0ea z^W#r(#~OPZoC~;-4Wh)QK191>k|Id2chb{WTc5D)oA-LO7)?^s?q-Y8A@?on z^`3LfSvu4k+;XzTcoux!QQ7cy2Ojv0S-4h}necra@stVEX$+of?2T}=nLy_XTO<&P zAzA}ZUvB-7-G_)8lWGmhXiWc^qQF>2T=gWX&4uTu$XBhxQW}G&8hbw+2^VtTf~7L$ zONL;Hr}wvh(AJsW1vTfeo;DpZvzx6%&IlZRYaTt8@Aqar&LJIb^g z|7jRD06kS^M>Y~vvEy2e9S;s?hu!0LaU)Ex+tb%vKVUN>_PP}_z8}8wsO`po6wGk$ z_ETj>WS(Zlh$}TlyftHlv*e_maHof8A3S~2(e@-hq|y73y^1onr>~|gur{xPTUD6_ z-nJ*TSgKqbEYO0%bfA|G|NOxrlhhIq)1&U67u`RcQ>KYV610 z$a@YN%w_3mQ$VW+B@luOzMkvYljh$tuPrFklm1f^4QhJ_`OT}`CV2Ox6(1aLz)1_2 zTmW_)@bpeU=Q{|SxXC8u%dtPc6>P12b%=>zzCvDqM z>=me9!FUPG|N9K{usMKZXX8p^{}Ol~_*3?wV)^ zC639{aSur$aPR9ip0NA6(Kn{_pE6#7f1BbSrtzeskJZG5D(n5|C&Zu9eO@9W__4;` z3}>$U;NTIXaj;yiM!ADr^1w`P-se|M4^iPh=jy;(}3nCml?g0F0RM^!L^e*z;{- zA6WGO%8U>F*C`_s+!{3-|G;;Xt+rN#q)!6VB_)qi%93`hja3zP}fT!;_uI?f} zqoGMXrdHt(B@$p`RJBJ>y8YF5rS1RztwJ(zmtH4Bj!XzfczTB8XozA)lo<{22a*vp zxcmBIqu1ELyHr^}@*WMboD4{*b@#&12Be-0v!nO@LBG=ISMpqp8#tXK8|F? zpMi19X7qqtPHIGG0Ux!W{I4VzmJ--eIXRo8J7QnG)oLE^_GV!xw03vxIPN}HSV9h@m9%o+}p_^IN<9`j&llJT#+`QGJ5_OG!7(WDp)485(xJjQ!v-JmifhJHhGVW!!XR=jHWaea0#&T4*IY90JqN(j{ZdVJ%aHm;W9 zF=_js7pTu%{c>kOyit{{n%-7@yW|A?j>Hi7_w@0`Ih7p#=6E8B|1vA4{EH0#Ypwnu z>1AunRvP=>b1Ih-z0?}=jieB`_x0w+Su=(8ei=*WqZaP7sWa8C_r1MY1pBh&Zv3m{ z5FGIJ=*B%a3OTSJQb)D({JPEo$J(&f=7RU08yOcIZ@@tbmsAL5`1*O{sw#!dK-URde0QoOHB}OB!s}cr;j(TnpKSXGWGlCG|Y?nVO7Svcm1BiS}X>A zso8;Xus5tns#y$pT4t9?>K^g)d=@5+Z^$H)dR~3E8!xOeC z+^t-b*v+|k^O26M?z(+NK33Y6@(p{)&5y~fU#sm9MtGpiFKgM*bqpM{$TtJLv^2=btoj#%lLzTQ6l~1X3|;dirzuB z(eCXJ2DEFX)*-Jag}}Y1KRAwq;Pf#0@tAP`83Xsn66_W4HQcAAcHurt3W0l1A8@pU z7URB*CG;00?qTG6x=LJ?H5+eBDAe_`#5&$pbO@|_dUfOaaK%_Jv%1fxDb``BaA6Nc zO}6^0IC!rQCvb0;-eQ0y5P%DHPp@xWHM*D!WyZh#yySw=@Zo!BUAjv5Y`w?70S~N_ z>nyO7LvX;`3vAo@qxDi*FU#mYKPNeGY-_XKT7?Ny7H+{gjIf73YBWTu0D+2*eHlt(Fo3_1@mvxUK`@KCcBRt1ofRk zuiLIT;z#jf&2~kJ&8j|)4S{rDe{J0!^L8hE_F;3`Um>8u5we>jcutf17LDL(yX6ic zs`2*(2v>p3S+|_D=9gKg?UM@W?QXx?T0Jryf67;TxrpG$8oLe7nN~l`OKV_U#Dze( zr=PZd&|Z!6UGUY1A)F#;HxZtLNNbE5vJ`*fls`u89=DuC_kN>sJ});@MDd=6V4L#?l)l2AV(+!FMR#Daik9ang)L) zFUsgRKb@i?*;s-l%G%vkxI>kB;IHGT5>w!l*bqqf_1wm_XbX{EM#uRniS*;Wq~aqL zyw{?I>1n*QI>bd(2z+~bYp0?PzvKA+gv9p@ug9xgi~H;F$%ZJc4)8QC0K%s{eXwyg zaSm`(*O$6VnHu~j1;TM9?d8^Hwe=M58ayj40l16`fp1U$YV4yHLE-spQ;*2xg7&i;hPi*z{|G*Bn! z236;Twv6Sx7iXjnRA#mPk7rzH4M+n48#q_IZSY=gf4*at zTqA*<8iE0yUfH6VL=!Uc>8nhkvwsX{$m@X{}GJ? zFPmMSt~U0)=O?Dv=Own)AQ2rx_wn`U#vND+>-&o#b<{CE9~M}@rqN$t=^jnDTZijZ z+4JQ+D%mJCfxMX#0`;DL-ng$i2Yqh;w~PhoLkjg;?-%b>W#oJBz=HVJOKyPQNDP4g z!@geNxYjr)K%SP5qqRn@^*^Zae;qi*8fz6F%j2!#Anvmg8;FYkb)Oe5fj0d`97d zqx3o#Tmm7u;OpO=w0pz%Lr-#8Z+M;bHg~f(+#~lb>J7ifEw?LNc#p{i(gVc7(N*Tc zIFcEDs#kneMDQaS`2+1j3U#gYPBQ2cA=u#Q>8(%NtCK`FC{OP=eC1K?pbtql;PAI* z(n0f3(u1w3Ho;W1U1>J#PqDAqa6FB{Q;od?j@(8BY;c!e=R=N62u67NgX;(Fu@7;L z2gL~7i*{5-{J6w~z2$7CA6L1J$ks7YtT=&mNPji<9{4L`MgAMmnNc7Yf*rno;{*2I zL-%@UPfeno?56hAA@?oPp3b@DEbZwHZaHaDEn``Fw*wo;+U?gB zMDSycy%o+jE3%U3u|cK>V8J0@@9_~^YlXBG3~ zw8RwmT6_q!oBrg<@$rdq{E6d%iHWJHsqyi+Uy=BdJBjuOQna@^O{n{EmSnZ-d+*V5 z$4QAP*lBbKtebx09IVHY(ZyIVGcx)e3hN8q)keE@N76je*huhBRkr(hkBmml>m@gk zZzP7mzv(N^!~a3s!V~SEs&9)H@KH6J`xX9)=Lc-x;1f72s{Tsz0ByqfQ<~1TB7z@l z>_IqlOAqoO=M5Ny$dd}e4AXO*$BZdk=l>9>1j9VX)V8>rw$B_}<>Bnp;JW40@cd}M z#h;~MeF-Q*V zL+OjjfdV18VEUMIxnPe$ie5COW0mouy)Bmu)#ics_-qFchOi(E2TV_L4hN!5i8lwP z)+O76G8WW(H4f~dH6~K*n`=yH(E;lFgQmYYV!bhFTx#_k?ikW@D1-GMOR?VB+Spt6 z(>YRNs^!q=5Lh?;#CcdhV)v5c*a)TDl$mpRkB0T*Tbq%f^@H}9plCN$xGytq^sNf_u7Sd>1SS_$xsQ99PyvZWXd#WkQ;q#N9EC*) zD)+oMVDKSVECe@v{l{^QE&g5eY(F?sU{uTL-5D}gd)u4Y%oC29>aHv5y~Y;o5J*d{ zQ9w@#fqG9*a@_BlgFd&1TL$%Sk*M!B6EQ}Jn>wr93XFn!T528jT1p7id-{*3;>ftd zy1q**jfB`FcEH^n36W!ev_?YU8rS$U&}`W=?{mvZ z+x_$58l&p-Z_-dd(`nw2^jc@O$?6G>!B(%@JHWq?zg=4I-;l=Osm4AG$5~YDQ>^E| z1)CQIvLTq_>FJH_gZRJ(qa;&M6Bv~#Zc_qJ-b^Plo+EX0}Z&GDDkN0d~f$Xf* zRuwN3LSWw0%Uh4L1PU>~A5urvYwi@7pY0`$L87^Fa4huf@?ypD?>$SP;0+Km6iJ0( zhOZxZ!d^cpj_p*sPnr2+KT4Uw*F%sK0xI1ic+VdbSf?eoh@d5gz`v)jw;p#JC~O(Z zjQ@FEivM=EpV04IWo^iNw}Dx+)D-$wS_tHO`+MzP@7XchL^ zc&$MG(N?F?+g|A|4|=W6+Ktuj2Y8QsGfPc?ZzYAmy|2eNj`-a18vive+|TSu+|N*> zkB)mt3W0l1-)~$gl*8WimPy-wnGv5qB5*&mdfQg3myk)|i@nxa(JijD#_zpSXyF?m z4MDM72zL1Th~rA3g{?xFIgWQQWQ1@G!`3scW^1s0BIyr6C#p0nyjBX$EqTg@{PYkk z@bv%2)r5-Mh%(loZNh?;)<%*s0q<1h9f4w&GR6av6UOoYB(FJ>k^?z!z~n=oSO{)-`jMyNs3P9h=d}rCMviV#ZmcX^ zFZQUfHXpo36)8SsrM4I#6GC9#*LNIkMunI!V>231%r7lyJ;N&ZmPfN0%^D@Q;BTgf zV1cI}xjtd{2I2@Jr4^O28TEA*5dF8>wLjJf_*4Dlmxu^{tg$!4S@n~F1*GH-4$#yP z4Dj?Q*JC@tzh9p2Q>Gp0aU5LV=_PBhu~^bu-iG7G@}OJsIc2`>fV^i}(YD}d8iS{Fr();{D5UG9cX7dx2*CzV zfAZ9{y)QwWQ>L_{r@=QK)swKv*#Lv;R=T(y2aKz$HUplH1%RK@hB7|_#?~0_MUL7K zDX{`QjSPWvPmgiLIex2rUqBh0clECh{3!cR1{GabL!|vytI`uCw0gtR_vE zJ((Hzt8C-+weA4+t&(f-w^Ktfz}xF<&yb8>U!}>H@%pwi22f9?7zresfhse>YuvPG z1q$AP#)%@i5bW^u`_`xJy*1F#TZgg(mXhX^>{k}%I)fezk*KuJl)Y5d557e-y8KvUzW`_64^9TT zEHK}QA9t)=A(#}s$^1JCqDaPNAD!X8epf+a&i;RrNoBkUw@BQqETkh%&x`iO*NXs} z)~sD}og0qy5G?TZCP!bIi!G0d1ue;fr9I06yW~0x9O)rg;OkL7WcNAZJOtI}D6?Ye zddh-ci|^=7Gzo5gnrkN;Ne3n(RJq^r0$z7ekHShCgQpt%ARL7zHRLT&atsp&vQl-(4V^#2{w4=u8Bt&K1{4np zr9v>n+lw9NF5?FkO@Q4qDC5OGo#LXu-C0G1w9dfT>_IY%n$TQlt<_1Y&5X-911K{b z`@M2z6ubdSjUurS-0<~bPukpwRwQL@9S0nY+G;dXZftZ@&4~M}yKU5paWn8Lw;0%p z;!m|0$3+A`*4R7XELx1b(o<68%7kEquP-|KANaS-Yc0z7A8sa?FbBBJH^KD)%}3I! zc8lTbe^^Qo^#yOiBuJ5H2%h+QtK;0~LY|Zv9eXO}i9PSL+T8FR9lPY1@k;4nzn1{3 z3QrvI^;F048ifofGivG88Uyq>jaAm0d`B&14A4t%bHGRs(GGa}q2uaDoCLYO>x&_I z)E>kS3lh_BDz&QV?W7QOy|3pu z&VJ^=&$9=W!TqaTxQE()58|HI_6F|5)c4b#{^Y4RVxkcDWkyWAQsKVxt9kj3nBbu1 zr8O#e5f`9lpZ4_&AFx+%jJ_}B`zkX+?iC8*N$+gZJGt85TuSifDXjlolm{TLk4_r(!!m)?NCLm&hfJpI6NEhF(M^RyhS?MAiY+$hj6e{7{Y(_Wiz z;vK52;rOoEbyAg>V4g&Vz`3V)H{yKfaef2GIW9|gepo7faZXCCa84sb;M~(Y8*#q# zIKN)UdF8E>BjcR*RVB^?^-?{3uo34wkMk9d^ZEXbN#oXQ8vS*=!(Px^NQqT_P9sCq z=bm2HIJ>bJ=i`t(s(!wl;+*eF2@CEY@Ak-0=4xa967jmoI8FC#-}!z{=_v#9L_+Yv z(*qlKYc1wOnbBuUDIZ{YQoCm(Mz2^J*Z-5e_Kq>??y#2NIjF!6r zCc|d>-YlTR$8qiEx+u4h`xedg9k}JJnZB=c%gLF(WyYf|a%Nne47eu1*XzaU?v-v8 ze8=V(rB(zm69Qnq?&+(oAF|gziECylPga?|yH94Aw>P53`CMYkd&N2MJR~vv)NHOr z5y6i&_C7dc8wgM@dJ7sS3I#)O#M9dw$FGS`E1Cy;7I2wyJSQYN_TDZA$O)~~It%oq z5V-gB?A8z3`p~-o1jFO(mzl~^mE-09YHEPd!6x17|6%FKShPU7D3;-^dP zR$Di^ENul;yWpPvjvUB+13Dk_#X@ky(;FPENX2bJ87tC4#*M|T)3Apm`mm*K-2o=|pAv$}h|Cj}{}a8MZoWFrvTO?ZF6rWm;+t z_gX>-%=>zbBj$G;^Viy#pV^a`rz0ewAyAkPGfJZF>pebbuYMT&0Lng8rVlWmVSc{f z-%6@~~QKU95y6TIFKhZ=hi{E^y*3f_R$1Qf}IXc4@9$@V;edqE`_))#Qbh1$jlCAmSotHuX{q)4UrPyrdS5Sbto!+Q%j+GNsr!$T?|(k^ z2}Y^=9s91HYHe(uQp_;lOo-KPr#yYdv4798&-N&YaJDz^i^J>=py zpjw3?av|CXPp@)4t|e61MwD4g=qkw$+EMI+;r!eHZ&qby_^u^{hZo(me#prMG>a^>`oM-NbKw&HwrFqRSQ>*TwKK8F1zGxhHYkx0eDL)z zA3QKFem7s(yz4u7+2ZI6)ob1lZ)8+HT$#&-A$pM&7s|}UKVox%v!KfLzwb^m$0@|I)H&$qNg;6W=|`TLwrAqM2^7p>^9*hh z%JHtROmv3am*^?hO#Dr^oHftj4!4}td&;b_J}q&du0~aHo#!HKxZtPyxi1tE{8(dK zaOVA7z9quwV1kycy#Z%LE4Ih!NYIyw0qgp)c^1IKSgDExrs_!I^y&U{0q+cN- z__4;e;hZ5|l~~6*i4TExPv37`Sx9_1QN7!C|nNqh*j`+9CC?NMscbE|BbWqP?29PM+Rt&QdF z{vZ*HsV{V)uZvdAYHRo7yl$X&&7)}yo@(rEa73*>uk?xoxe_7R;O)DOGl20s=GlD8 z==d*o;elhNy5rS+X8;=*C*4~sB?Rg{J-2ao7h*mi^<~W2Oh`rPkqZq=i7fr=PbTdjj}Db9J9Gt-y;U28g8_cHYajSE@1t#`)W#49M>Z zxJs|{z$p=e4ZhyrLv~N#AyA8ljb@{x#ddSm+?>&8)@U{yr-VO4!?!G-_qpX{CHH)| z#;9X_{*j9f`XV5$1m>MonH4YKZhsSO&?ln|)*^aaQL>Wfi74#}go4lkgnw=20y zw+fet*F|~@?lmB=#|-GVOK;J@ArgWQ-hN_RTZ+AA)oU)(3Orx&VM*18)z*$iY6VEC z4fxZP0H{Cc=_!t_z|OY<&!ecfE4jVX3do7Qi@ok9js}IEkwpXh1%+7c;h?84IgXGk z=0llQ;BwA~V_TcB*(8jW&J0JD=7H}BIiu7H{boXlHo((kTt8^VB4KEQ9{8(dehO^EFRdN>(NNNZM`1+XRPD}jz<#`LrFkrud z1KDweJMAq7sFJ%FKvF|6z}K%FSIaGA0BQlFYDJd_1|;odKvxr|+s#y(3BIf49?O3N zgb)QnA$Z~GN3KuU9)zeHJvQBFobqBt+kUCieE2?IgHYXQI*q|ojlB_$TsIO>rzN*| zpe2UDzpqC*;-7!Roz#q;Ls3At+u|sx?(BmR@lQ)`;a^J(fqzdAay?p$3h_S_hfpkg7o;pi|<>p804KX1gAWG({Ytw@#zijNlulS_x!y&dd>^I%XgLEw2dKdXSw;e zofHE1o*wCl`<=)AGb!$s+qKed#fZ39rM6lFk`w~>o_^@5Y1`ix_b^cXi!#=wX9(QG z7T&#Xy2M4LG5ko{m*Z|8E}qE#ZJE`LE~5A+hN2UV zjil-v@ZHTL<$zgwiwBlK04^Nx^eo4*cAN^PomFz7Ok42u94=Iy2P3ux1m-Uz?d7etXdeS?a^iHn!H(+it^}?tD9sD&yVP+BxGYIYGWNIRpnh zy}EH#mg2g8KO~PjLg>ko14*ydXt(Z2nse=BBk2rQy4kWsRpx^4sw~Kbyf>gzB3CK| zGd%si^+Wc!(zvd*>ib?^f*IeHF=Ht?1JE!!1#;L=rTYe1?^lhLTM|_aKi1g$;f%%~ zU`OFw&=^uI8Gnlxej#P$8gS~A}RoeFk`PkNPZ zF|Z}YpK38qhzNeHvG>3^|uW$LV&5nnm`#Eer!a#IUcYQuW&aTGR zULkjr=OgnLtg#gjxaFij?S=5AM{O-GRM=SUHWRv2JajkIwwgD>wX59g$VSvDmb{Ad zLmX=CWAKM$$&fc;aAlZu0LD!CdY~g?_y-omku!ZB6Jws}iIW+)b7ah*+e>D2wQH_Z z$QY0g!5B}Ub^V~-Z;u+-W7EK%P{PK+vBGv>98yQ^hd(~!0CqybD21DlEVMeeW{p9W+k*X~${_lY zd&POsk8(<{ks(he1S7ot;IY?$A33j8C}X#MoP!amk1r!drTf<-^co1_jW>`-3{xxw zH+((e6ZR@HXz?6owY^z@Y1gf`w~+f1Ypi9prB-DkXIX7?tiaL+Rc6JDeUck13+GEK zfwMvI_jm}{+A$_y5s!I29FYjvO6aB5NnoUfK)$bcJNB3HGv>AmW%>#=f&rtFt8{BH zLVsCpT${CnCIO5W6U3hC>(P$2e<26T)c#|V1510d_SZ|TgWpICQTzLPt7Gk7i2O3O YztRBY>ONT=xMymAtK=pD0@nWj4-_6^?*IS* diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-cryptbase.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-cryptbase.a deleted file mode 100644 index 3af9a71973450431116f66433cdad3816ab1c48e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8176 zcmeI1-EPw`6vt1SbsJ-h4^4oOCIxBSp)To1+DT|COdu``g9{`iFKbg;t!t|`(>CB@ z7l`XU0*|sMW1M5ht((N%klOX4wPeRR`6qUce?D>D=davurM|PWWez7hZ#%YQ6^c32 zwD={pG|jwI3~tz80f0vU$)5nJ9f0MI$anVvD6f@8epmvayl#p7!~~%H?19J|0I&g! z?K1Yc=XHCm?D<}o?Y65PJ887sPJ^NGwCFG=$C`};%7MMz@+$4F$12^kj(_0xJmxaI zNTecigJ@jdsh*=CHSoqYjJOLzc{Tyb|qUWl^InhLu)6UWxY5 zGc8R&(H>T2HP6gOlo^dO6H(e4r47}S?x~+{_tDcaXIqxzIHu|3@_pv2zZa1gfXxKJ zeO^mJ+V@U`ffJ&O%2KUcBUb_j?bsqXrj*0UDHNSq`IusU8)sUy@C2xUy?p?t>`Ime;NNNlb zeU8ioE|yHwk>(=62VROI34gFM){owprwq-Qo`tC(rp>i6f7@1K{t|!9UpQd2=!ly! z6fIuj^{)ZBbTGlXVa&%Et;8{EAugQ{VtGGC(|F{tv6|8@40J;=zlfSnyskfE=silP z`5v!xWWR`{_kl**@Qp98UeMXa#lSYGErq|)xRN23s7=Aw9jpmH1&efVK&A4HrDl!j z*8x-?@^1kIEOT#B3wW3K77XINv~Uj$%>e$cH1eWHqK5#~x|jivu||nzwy>o6xhRtG z11q7G&WN?!SZ5FaLU7)lIqx(c0@eOn=vH`N439ppyJw8|5x+nt#Cv|u`?PpZMR+gH z9Pj$y(G%i5H|Kp?yf1`#$32i4i|-?LgC@j#cFy~>csC-v&)oWb#GdAac+bpvpBC@9 zcQ?HAZe?dKzUz19C&arw=Y3kdCnCIOW{!9L|4S3%-J0`0E#4!$bCx}GyzBoZ9WU?y E00|QJ`2YX_ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-cryptnet.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-cryptnet.a deleted file mode 100644 index 9d7a1481386d3ee7057178e3730b5735169f0583..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5946 zcmeHL-D=c86h51@T5J7-B3_6@sdutw*KM{1DQy@3Ky)cBA_&uTch+5-ZkOF?fAFG+ z^g=|658$)(k$eK{IWv=FVv}YIYo*wMOeSZ(WF}|6@61VVKXkjb=FI4QD_#nd1*hQH z<*8}QvPG9(TUKehsBTyu1%NRC!v+}o2{2;G<6;qjj>}W>xHbbo$M|zP7^^V0)Z^VA zt8$-rS!KP>*+#4Fc3KRLn^O*RO3Z7m(4p+>ZC+dNa#rhZb^JE>nal8oH4d!F-TGjj z2o-wxQoGge`L5?x+;)w73*7Iv_y^Ym##(C~b~Hxxs$2NWm3O@6&u=Yty;u6(iT!DJ z&Sl&=CujXEbIvIUG42!Y%gN$Y_3>i%`i8gZ=hs8Jr17L++m7Q{mQyN)JgM)VL#hBw zb!au|UGj}Qe5OqakP$7%~3s?^} zQV@Te$KY>y5=kt|@@T+c2mMX!i;Vf#{Kfbx%Q(#j=XFDIfz~sLzX~2ZX}C}iF@U-t zT#}t^xB-AEYErf-{6i~j_QmL?h~fyxBG>^9zxlqsDlLLjF;CM=o&f8GcO~n|zvR=X z=n+KD`H&6-IAAoLNr?beQOnAJAJ`b={xx{L^lU68DVnT!UoPr;IWJyv50{IQge1LC zq_~IuO~qR}Szz}W?=e1WF^on?Dmzge592efMhOS&YU4tLi^cmX#C%M~g?gd)m_^KP zGR_I+Wntr~!UQ&a^A}iah}otA*!i1iVY`2~oTcEW#TxEr|Cf7RVXN83NGgQVVymMTImjEsw>utPJ>$ zjia-zeloH_>Wg*|p@;{4Dx#ogKvEH3(E(YCs4JGx=_D1=*2Xq~Eu1@*NDcVG6cz)%U_0#_A^Yp%uc)ASrUF_ZN%HV};Y3tm zq;g?S#M1v!1=(N9e?H~Dl_UN;|}c!+sU|44db}F$5n&kL+qd3Y0ikQE51hx$SVt-4A{oH|G$@mjQzg> D-sIOk diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-dfscli.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-dfscli.a deleted file mode 100644 index 01bb89afa0febda4b88a66f542e4b58b71d12659..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22856 zcmeHPZI9eE5T47mg}wl#^o>`gsJsYO$L{qmyG2!1XlVhd)u{&+9}v0iZLYWUx_jEo zl~N&8Ayn}Jp?*aC2*gj|SMV7jegMA!n6Vvu5<9!uB|Q`o>ul%76Fat_8BgrloH*MV zuCAZk_okl?&BbQW3>xi5!}swI15bUwxp-zl-m$U|00MwLUjgiG103ke_*4u)@z9El zN6rIKJbqQi=idRK_!8br@x+3RC-Iu%Yp=`r#vTBQr+$<1%|8Gr&Z`(;8O1Y4WjyNv zP(1g$jBo!5K=C5}Px11vGJfzg0L3dm$++|b0LA6+WW0{gemxGu3t{-tRy5oSm!dct zh8G6iDEz$F?`-x$B;IWYVXzQx^lng8^g%yb9SozeySBBu(F;2vvfqv%T#q{4GU|h? zQG9W2YdMOSQJlJf<}7u7s{R-|w#tvULlZ=C~A( zeHa&uzW>5TFY3pxc36qzz82jc+=;OJ*9L<)^;GE+&P}Wzc7``2*A1+Y-*YLZf=h$p zYSeW!lPb3F%e_O*pnO&bmny%4eN2@Kf^6qXr{B3rv)=D6_u|MJHCK7+&iDJhxYya} z-ODr~>t&_#uFHtF?aj@>Fpj!c5zbqioz>_%3Px|xPd(#EMpM@~y%H zE1_#nYiy8^ zPPgTvH?ZW5c;XE`FzQu%2dV z;O5L)=T<^cbUt2G{cNTUV&h}w3W3)@~Q18=0jiVT!-B>g`lglH5C9En9X$9EugkMA%a)a`Mx!ymC3x5p5jp?%=};eeue&f_|VYI)w5&X83<9- zzC_txypkxDh@^THHrWbGk1%Vm55UJ$tOlSEEk=%7z`NvXU^IO~5u=fk1JQ3nfqWwQ zgaFjKl!KS?iUP^Eq+AmJ%ftg35NU(_n>VKNWQ*1gArA}15F(MDo5+Wf?ds!Omo0PEjcH;4Y>{29h3g z%bsLI(@Wc_&{#iR5bG^8^F<&FUt;|}&i^>9f6OqllUTpO+8u@U4L6^K^*e4pjdijY zC&l_PGxOrDx5_v_L~zDnbp5N6AW{!DG1oY^-un^bl2$&x=ZoRHHP7DzYTHKH0UF;v z&flc?K5Ay%wMipvf~wj!Cj_oJ-Y+T&WgdKwsm8mj_Zb!MWGP=7n#H6cIAd%3Z&3q| z)AlP&OYWq$|BSUeO54Y7K1u4UK&$$s(s0D!f$b+s%ebmiaGb!7!DxNGVS!W+ zzQj~Z0qb=J{Jf-m%r|Px(;P`i>%Gn$!Te!0`{}cv{|n~Rz2=zDl$4J7=9yxcZ#8T^ z{~ZEloSyG8{kW5QzR%hnrRVRu`7F$T?dH>Z{yCJJN%j0QDa^Cu8mz0z7XI_3L@*d# z-45W_XD~KSmwE zV9?)?1d)1h4|5y+DYpW-C@9Z^^7rhUK|#c~>@%!-AJZUyntjZJskyJVmGiX1wL$vH z6w><{q&qNP;%RTPOW!PbLL0Pfi>5}mLHCn5dy`r;PbqW@7eBne$~L_8$Krb2#~vlY zgU|3%>T$P+<0H`91|^qf z_$5|Z2566$f>|B%JTyrLk{)Mquj!>@y;1NiH>f={#XRO=eVU!ky$0+5BM(i)x#gj$ zY31X)=xJ^3p*a%YK9){u+dOXY?Q%e@wAFt?j274Hc^;aGZCCFzD&EObzBJS)w=R@h zo;#1iL-R2s4d&oLoNA3!d55za*5CmbWW8jn(d%d1t?) zs5aV*TkQyI*6WOd=OyK1zThcr(6)VyYwd2dJAEr)(l^x^gL&mcUTwV73P-`5I=vwY zBK07~Tx<8lYo2{S6r~`cmXGtIr>lXDbNZIjIDecEr7{%$E<5Ru^C@e0)UOBE-F(*D rY0mehv<**ROPdtuY}PBi??`Xv6b!x-uS}wPu#Tz5ch+nv(S!aUpu|D| diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-dnsapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-dnsapi.a deleted file mode 100644 index fc0c71f1cf218051eaf60111288ae6a7919dba75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222890 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 F9|1#pj<^5- diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-dsparse.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-dsparse.a deleted file mode 100644 index c650e9d10f9fe9bd6d84309d5cfb55a5add0591c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17574 zcmeHO&2QX96o2t1O&iiSZAxi{RJJI5s4Bsm5AOz5RaOn69Dp>T6d_b+({-9{Hk)*J zLkm=p1FDd?^uUonfg?u_J@IF73|BaJs~-~0J_W_yI0eTpmS*#Ln-!_Ye7<0pct(D03;?bG3_k%FEdh*e@Obho0E!cz z@;Lbc0LAlf^LWt$p!oXVJYM<}fa2vpc%1qjfZ{v9@^}TGPw~AK9__mT6lWjs=-dRL zxPZ^6caSpJKm>)vqP+byrza+kff*K}{}R6X}mtx?&nxtRI50ob8nfS8p;mI$tQNm(epm3YSxMOtv&p< zJ-ri9PZZ}AY};|1eBPN|@JVWItojtq8$*5w;518(z;xSt+-B+MLmrmbrmK~9C0c}) zEW+~h>Gf8tix}*aT#X($H78_`V`3QFrG`bYh1|TzC%N%xxuTF8$HX~`q<~cUI<_8PD$AqERk)CxQ?T5V~80JeE=1CtM zu7MYHB$z*|Yrjlw892;K|2sqhSkS+ZSc&;!Ow5;x8qfcPKQ}e z-KLtsFZy_vUz~x1hb0#L$WU(RweV9+MM>bkkl~(G)y-q+Hk*DJ+`nSNJ^C(b_FN8$ zd+EbyxKHRS)Q*XJ+PoCCK!)+v%0>$5h zls8=D?x7_78awW4X@+yAt6T{FG%`EkU#*u$7+9;X>q3X;b! z@eFpfpoVAJQ{kwKo+pCpm}{WLg8o(d3^m;i)hcR^64enX)b_fNWm4d$==sE_X1M^> zq{m)SJ&L+!drwXKaq)R+M*15xs2C*D7uhvGSnvxb4(Ppre&p~ZVhb_XNHbgDS`69D zOWDG)Xf%|mwt=+;>ET4!LPFk7>@`&V>ouE;mtU`kSwkHWw!r?ENH_N5&Bcp9F!Ucd zl9`LQW3QrS=qC1!V*10Ndssm?QG1%1y*G4+sGR-Xl!zY_dmUB(Qq8zqayMzWSD!wo zpc{WqOEtRBkm+NPKKvBVU`Gpf@GSqXGyk2J2)^U4q!u%Lld7WF`!M*n6piE0l>>xt z^WUY3;5+V$X@+mcME%6~kb-a82$N>-q&NOnHo^#ZJfWR1cHEWG4BvgnxBAA$pW6os N-@5ya1JFJ5Gh=VOZfs(tsECoWJDL5wkMZ}-`tD;V*y%l~KQyz}Ty5G-+iJC2rfKnz z-kRppqow45tvUc)0jTr}hcXC7M@BLb>%J?+XK(22djf-p zZCltYqVH|fFNym@x#I^?xMAS;rEmno2NFb2I_@;)gN<+#Cw?xYPT&ok;Aq1iINtE( zuh!oGth|SVZ?rMV?t-E;X0914B?SA=$tjS!*Bu&jtS?{gbOPQdlj7;?n}2d zuoP}p#R)f8jB6>}96IwkI5n>Njdz=GUp;NO{XRgW>-A+a@ar7lW2NitsX!9f^F`Ae z7uFz{o~vpRM$3~?gwb+TV+@@>Ye^nCKQlOFR0=Vi8)AS_xt^UQ`A2Jz5vB?qY^SL@ zW^S)Mb6cxvWl+quG26Fji%|R5%w6JbU^7p- zo|tX`wWMi-^K*l}GJNiFMMO9na|60j@6&KEjxeJ#nWjTt0_QoqG3P12l+)Do+7a)0 zOa%;9e5Rgs2!L10$g1!Y{psBWQ`bspp*2}Bld61c8B0CeR^2_Br(v zEaG@S;Vg9~SS71GR%NYv(F%EXoL28qRi-zwf{Pt!>q3glRQWbyj`MLNt8lOp%*hXW+ly)@Kd{GX&c7)9RYey z`9^?*)to(A0iTL*gtXeL2xlat1wK15A>L8EL;SkJNUVhi=#i1e^VIPJ+W3lTn52yl316tYOl@?vb^oM|{e0Y*HooNJM%tkI`nTFp%+Nke dnM41p7H(q>$WkpV#sO}taDaW;FZAg#{Woo|CV~I} diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-fltlib.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-fltlib.a deleted file mode 100644 index f225936b7fe6fc0ad2985d3072f23dc9b453e361..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25218 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 Rjd*u!UbNQ4d4XSe{Song!|nh8 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-iphlpapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-iphlpapi.a deleted file mode 100644 index 9a565f3283a440c4854bea3252f215216e6d8dd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232706 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 M_i6=f<{07s1173&iU0rr diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-logoncli.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-logoncli.a deleted file mode 100644 index 223150a2919cfd08031210b49f52df054a724045..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29514 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 XtsmMajF0p|_)>_j*JkTyy2$@O+p2;W diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-mpr.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-mpr.a deleted file mode 100644 index 5c6d8511b69922d02919eef7ad4bf24dd383e008..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36666 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 BtHJ;P diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-ntdll.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-ntdll.a deleted file mode 100644 index 7713ea74842e8226150c41205628c6b18aa89157..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18480 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-powrprof.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-powrprof.a deleted file mode 100644 index 7c2fc90e4e4bad7c221bd6acb4c7cd151c5b33c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58994 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-profapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-profapi.a deleted file mode 100644 index b0f7ac0ed88f2c99affd45933c6093bed3d79799..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15158 zcmeHOTaOzx6h1rI-jv~;#)%9J^UToJ~`%a_fbQ(4acPeGOJZm=_8x#Y1yX98fo@;l!_9p2$ zHtKJ=VAoxzHk1d#jaIYm)K;;AM$^6GbQ@K$?Z#HeRuo)QYf9obUH`hfbNqJr{8W`i&vkq^QAt9`f2P)vs#2@&Y;5?&cIfeRo~~qB<#O3H%QFjs zYh0hI-QSDO4#1oMILxm0K+#7IvTJ=}!s>dl=J<|Yg_T@})knpRZnuvb+#|gPJ@D*o zsJkC8Cb3;&xC~aPHy6rD@1S09KGZvi7snKOVR@JbPP15RHlaw~EhzZ+F~H4X`6IvZ+8$v)~f~+G4s)GXQ z81OcxL!FPN7Dt-cFSn*Bh*Nk{J*h_vpWyRs5RKG69E=zJXP2Y)O#{P zFXBRvLhyt1RC1EhXckyXtS&J79AZ~l5M5`B1yskt&;gr%eY=rBARkyBEVZL<%t15iBBCh%MBQ%c%2-TCW_o>o{Iq4Rk^o_W04`bM))s!&nwy9agP;v6!$#^>Tb2z$=bV zjz#<#FiDy%tCnlLKO3Ms#`}dpLYV<~FqL}D(JqUJx1|=aK9dRS^OlVDuWDP>h>3pquM4=@P5gU8y=nOWNUbN~|Gru;!v9M+ri0@D zAfZ6}zAWGC9Ft*P z9uK)*0g-2*5YGm9=nw@1zQAiO6XKV+Y90)8|17MDtZXcpk>`XT&`?=pGo`1yzYO`VB0CgY`Dq=EH&VJ z%==g%ni|r~G?LlDTFAzW@mh(ECZ|VqiV*SQN!CgSlBftz!`P`*zByqsYl)mtu9ZZ% z_w-&#h+d6R>>R90Ha5(PXJGuz=uZfZezS!57G^hR3C&v_>CGs;>7tN8xim|Bqt=Vq z@CrU-&{<-?jtz+u={(OAuQBV2tavw&P-eg{m?mb55c3Hur1B%FI})bMXJg8=e1G+6GwbdrtC|{NUqmXw7#SeuccPFfTad}hj}VP;@yR6ZVA3K8O=(noQ)APG9$)2 zjF=H;afAnD#NH$(&4mP8kZdk<1oZPn_iwi3hmW z=(ny~7uF-Yxvt8?iSr&6G8k&|yW>7Vu*VSdA^LO%r3QSAse%vcxqjBUIdj*)KSC=QBr1IIn( zEBjn~`%`ES3Nh-JxPYYwe2aN%??Vct7-%#rpKNE&<%-OQvFDHZ@Fbpp0up}^L5$>i z#d9=3e9QrQyBr1s=+7aE9&^+ug(LC%8Bdj`Wt@-wevESy$8b=;AC9{Cnosz5Rjx6g S#qX#7sY_&l#z4dL`~Lw`w%+Xk diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-rpcrt4.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-rpcrt4.a deleted file mode 100644 index 07d1abc588984d508e950a8140063df29047e815..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 433960 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 TVf5`%e)mO;Q2#BSbj0)zxAw3G diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-userenv.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-userenv.a deleted file mode 100644 index 53b72e18aa0a8caa9d7d4c0dfcd9183b029d0df4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61150 zcmeHQeTXE-b+79?`QswnvV4*iOP1$k$&%0VdiHB(&r#&t+mDl!&E5L;P7=Y%+}up> zPU~j7M?JlJyKy2E`Adlt`}`5CI07fJaWDi2OcDeE;{@SAAjS{~Bsc^D2?j&{3c-Y6 z=e?@x?&_|t?wY=>4IOnub;-jw||q6JDwrru9sN2`>zSXaPNPyaPof$!SDcxV|egC zSUC0HgkYG0`(T)cGz_y4hoSXPES!cbhDTmy;X_|11jE@^SXlWkAs8NmI1Il4@fgm3 zjfD@xJ7T!>G7C?^eK7pef3on)KPCi2_Z}Ad4MH$%y@Q2kP7s1&2zkITg5Ma%AcJ9- zhrOQ=g5je-VBtB)KZX}>W8o9W2*L0vcov3F-_F8k?ji)k=N@9=iwlHc_!19ahBOQ> z|CoiZ{5v5SzG|`X^?M1y@QqU}{K>ddt1lCR;cxzkg}?ncAsGH{#KQM45`y9HdH9DH2*L1=a1RVW_%;jw@+u)1{`I>o z{M(-qg5igM!NQNeN63%9*Xb;EI+w?`KklsCf$eveyuRJJ?zr8N(}Bpng;u9E*BLrj zG4OcLwR@g#cXr_aY(uFvWG_LlGMxcznC z>)GS6<8F~o$Jrir^klizFLrwa$F+5DS}cBf)b9rN;%Kzwxj`3h?ZXRhIzuQ9`gZE{ z%PwTe8AGX`TR-mw&Zg7r29D>3|ENm7><+zdpB7E>NmBg9u{YYV1D09%5kR4B1l?d~ z%%71XfJqnaanXM(MezSup%@l>SX)a2yLU}^XgUR@1D%K0E3cKk@O@LU38^d@!XbJN@H%2QTk^I?Lm*f`x@*2nPAY$5p2RxT zGd^(#uoa4nQEQ%eZD%B6cG($^hTZ-1l*Sad`7&!s1U|)|B1NYn7PI9R$(r5WwU>M+ z01ga8y!He(71w{`5iTd&)I=M z*k#AJdx7WghvlYBRwQuMxZ(5*?jQ;(?iJRFG8qzhp^md&JR>dZKZM6f|FKBo{}70u zill$qyNT6p0XhZvDa< zXnCQcqL?^UC>@?k%VgQ!?CuPUppz>F&&Wv^o|`KLcL9ZuxRd3jbW*90c28H+(Aszp7I7DiWdA(*qTrHCG|6;Bc zkHGwc!2tF{rUjr#T=i{`Pk<^BCHxV-Lm~=vLeJjVcY7fVcqz&8D|@4^+h1{a9p7`e zL7i>{KC~lau2n)v7m5`Kgl}0Wwu0I`ua(FVShmN3@9hhjIXm6LiduC0vACch4&qMi9;pYW-$8n&j{LHX)(NLTSg)zb#GesOICvC^ ziRiGNQ<3b?HOIY%R$=0PQ6!V02310U#jsQ{pFAh2=D%1@DUo<;#*@gBZv&6{bGdXf zj{Oy8DKZ45Xcj?pmJ$l%n1lk#ibNJ2RofFgE;X-0E@!=Xp>WPUH};`pvz;i1%-eA} zcBhPTP1RtroKhn3E*VcEOWtUo7en-_D|<8H|0z;w&*o{+h@d0ZysfDFCdbp5=*}0e zgXSL(oKbjx>>*{OF8cPR0raz2K{l8%%l8V3lf=YP#8MwP56`HG7&5Yh5|s|K#fk9*rY}yoLU{g-iutgVEpWQ-iEu znS!o$S1m$Q&XD!*OkEw13&hCtDCgh}@1F~0-vB?3!F!3v8PW{p=EHcDyHzdM4&`oz zA15;8!u0TZd1K|`%K0a!`okfa!rlr`_{mRU%AnE84r3@__M8MG_SUU27&%gs^Eb?JEALy9Wam4Om z0_?Wu`2cGp#%>GB`!;+@a_s*ayEF7P;B*4t2Hxu~js>jGEbNBz;#H7~xFDv7zfmsy zoxWmi9wm52Rv)G1^CtRB2hjr;M;h2c(LpwY!H#>4#ZXKoN*XhH2&ku}%TSNyi)9)g zqV{0#Eb)K}hls{2GLeuA^vq5cfx+E_94b9fx*%J|&1SRRWRxk=^zAuO)4!f(@g=A% za45hbvjz3U!;n7WsKrZzG&MCnXl6l!;S;is=VJ{XX=bd8Ie6Hw3eP36Ttd??fXv6U zVz7KA$ZYG38;%-=s`g2{BUarlBaSDqG%<0DvQA%STuQJzM0D;cCjiWrQ;e znw*)Q75WjZb@^?;Q4weQ0@e9nuhs|)+PW;5u2}%J$H)-%&TonZOGN2?uXIcCP6Rs~F$*4H z5%g@4Pr+50b4~))yaOW~Xz6jFwIEwhXrmXk1RoJJ=wY@5o5FMRS^}{jB*;lEfui3M zao_~h>!dBgSwKR1CP|fBfIB(TW9(1y7`#|yAI@@)L(r#7!U)>u_0Zm)meGDg1MLF= zb%%*|UwE#7VyRdCYuR!V+CP~s7oi>7`bp8gNN^sJVm1`TM|FGC?}GQoBS!ui`ZqgS z)JFu`lj7&uMaDM(zXDT)02tLIdh{QZAgKXaF~L_Uyh&TR?L0=YGLRSQxdYEm)Gs1K8+6Hl)OOTV= z2F18k#0RtjCgsD2C?e8xQV}iHZ4+S1Iz8exA#xo-yhVN;&d7swu4DL1DJD=qqlfx- zQ|<%TsE=C#tnEor|0u10dDeB6Q4fno=n7wbqF&B*jQfl<6Ud*|Lw>70 zFX{W|HT3<{g5Et$eScMWuAs-IzQ8bBPSW?g*>X{}qF;VeQxJ}K7m=R?>SqpiXptz~7h2Mbp$0Ke7&aw!4w#e_m zHHQ(rMaY#f(LQMUb?dPlR+(%_N1n-3#sX@S#BK+bwt#fTauT^^Mt(BN1irO>wYB|& z2v^~|0cn%kKP{5K6UYB|`zJs5i~t2PCK#dXtzD4&y!Gf#Z2#cM#-xmx2Sz0JKYFU# zqdRv%8Q>AyJh&DjJS=h@eo8qGfuAY}BeuS#kG54~omQGk`~zo!qY5*o-OiK zxN4RJV~eh^3BG9hi`&z(@1UL;6!WFb>fa{rw3)pVX{Fl|opq1OoHItKlTC0y*P}cq zuYRd*tC#~gLtxT2;{z%V@NF&WuDWpFD)%=Yr0s&(Uaa#NyjbM-;j93>SPHq!NC=wX zh^~*hZYOBnrur$-4CylM#FPphi`C}EO|%o?IFy1mX2zrDG(F4p`WQ-qbYDHs4MD}7&#T-n=&X;)&UMrjWR!@Bk=Qw1pL4x3ELZ!NLH@&;$X~3qMN}5~g4&mm zZ%F5B`wERLH;ia_ zO}}z`RvriXA{e_x{snP`;bHn0c9|ibwnZfW!t>d3l7Hd1vgIP%=02#yN&CR3SgotS zrULh@GVb5aAs&yHKE`A4Vv#Svnc`ku0)oMlBV?lATl=7CT`|~4vqU9cnAj!gy@(3c z2Y@JYs_R40@j>V0KH`I_c#O0Wx<2T76>%14qBf$;D&mKb3t3;hsyGjHRuL<59&sS6 zSWMu5R@1lKYRi2Av@eQmq}R$W5pM>}PHH1Pi1?2_v{h|;2v=6%5!*v(HHL>pw&ACk z+X(1U{*9np(-T~yo7GgxB8s$o8Far#sP9F%eU+{K$7XcEbZb8fbcYYs|B%Q?&+nLh_`2-23F( z#|GfFhj~HiCoykG&ujX4+qDHmL9fDm84Ktn$GrM`^3}$_rUfK^0-0@^=8${ z-!Nt^gSwoIv$8z&#;P~$+x~ht7*x7Nz}2XD#J%N5Sp+?^Z-b?< zF63M^h9WMA=>~kjv${Uu`s*094pr?#15zioiQYw7FdX7CnK7U96@8e!;(JY;q@^V? zVVTF^g?$|ZnV`&lOa`@x2|nohfond{`aDQJ+?&UT#cJD1H^~RF*P!5onf}9!reC;S z&x^?ALz#II?*u-$w%-lxbL;25z}a-T(M&aHb>|1^&5Ov)dDtpsCmLuEX0$!W@;GTd zFCzA>q33i``{*9B>f3<*3v13esJK0(v*ThSw+!jYC=>YB^c~kbic>LcEA>pE*jmAn?MbbbpCv1MqpsUuad#cxbGL0b z*a&>b-5T@#3o35GJV3E8qJNFY;Kd?ef^%UBFftU2nXq&;y}va#ShcD~cFJ($t|DYq z-1<2HZiE(50XGa;NxEL*`g`$|94c;<*^Tt=WW^0^f5~?O7~dH(J88r2QTHg-tkoUq z(OC(WlY8D;sEfyl4W;WBZl0FDms;-{7u!%}Mm+B%%l0_%y?w!mIy>}w*DB5f^pWEc z_Z&XRBIwy7pMa|>=Zpl(R1=nxrcZcbPF^qn3aG}SxuG|h`aJZxp*c?e zEhnuD{${pZG$w@K*qXE#aR=bQcXsWI$OESr*nM&O4D1-U>U-O%s71FQi=Xdq+wj~f z&m|34(8p}~Jmm>HS>&JL$3c`*$gG<$ZzJuHt|z)Bv#{RnH*SaU8yAzZ@C3(KifC!> zQLa^)Y2o-)%(P!gFzp)=({xHg8DYK{1+kiDgJFxjw zCK&Ikb~~iAr%@`$Aq5h}V4`)H*7Qr)^D>x1W2RcP$4g|RmFcD2p2T@HWv}XZ*O`}* zzbRd+&xd2R2{M=&nVr`5U)S~w;_x7G zejCU6n&Vzub%xlju5`azALmhyMZF$Jn$YK(p6hyt7DS;M=Vf+ic?-um{q#HByUIOU zogG@3+Ge>G0nTGgpj+GbEPvswo|h5#O3V13-^|f1j!5tx>f`8Ha=XJyBObp@f=4`t zbDl-evqgRnt_<;cB_Q%3SIz`Gw7t)=jZ=HvVs?~SiTNfqHY&{uot2nMR*(WV82KXX zw5H#=)t1|cdZj_kf-*C)ZzW5<4eM-pyHIK5V~-w>xIGA42#mGJvv5x4mZ3crXF|_w z`jzYNdt*(hZTvEGv44iwdDw|t*{imle+Mff0p;?y>=~kk9E(5~qfKC4(|cQMb5@b6 zaho#Q{5Z!t?au+wtK6T}*XChvMUY2v1`yuV^t9FjzmnipsaZEi-as4^!`($W&=4lVN-ys%x{Q*ck_K9dnCkptwz{{qq} BNjd-k diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-websocket.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-websocket.a deleted file mode 100644 index 1e1426fb17c3d854228eb502bd8a297098ab1209..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12614 zcmeHNTW=dh6h2uey@YU4)j~iOELDn-sLa|;)(%1_ZGiTHhd_kj0cm5$liI|wBYR0x z1Snio`T!yle}JFTAHo9!7F z>+j6J=_W&ArQjEQue4frU5^*(sq3zmi&2HGc>uTyF#8g~x!(cipAm84ZvcwV{vqO} zzW^v+`BTKje*h?6ofYvFdxb-KX@3t1;v zZ`W9GztO7fHv-H&Ec=1K95fqMicx;M#kSiWgt2P3y}irApb}t>JqAIYRcb?eBz(fE zoBZ*ctW|>`Xzc9=$vpY%Beu;N2iSfR6lY7^9TwhcwyTxqMyI{cI^lzK4HKZ(y|o=S z+AT|+s6b-hYt=Sc=YVzYR$8@gy|Qa`&4SQtuQwa46`oW(jgYn9Wlda3s@gPKO_a$R z>m61Jnd-1v&w@zRR^91UJAqKO+k5-eU;EUqCrf3m+w5MWr8;b#VJjy21l6V9Pe^0r z6K+-89lk>5fc2tUrOm2gz8zbJUKXL?dA{$vuD`q@Ekf<#IaD&h(hO>!-_1cjWQQTY z@13}?v6Zh?!b)!lFIj_)$N6fv+Xn_mglo_PmzHDf1-zNXe(7Niyco9<=M!$BH?9=p z&|JY~3ob5?ulHl4ldm;c-~x#7?-PJ~Gdm==M9}Aqn#iTvA+SDQPA`l$SGiso zZJuU1hGrlcqPgUAG>1jGnVuLvKg5FE3_1i$pf)HF#(_;thiud5IfLuj8C+UHXUD_V ze9T}UXPj0TIrD!rxX8PK$z|#d_G>X>1Ffiy!7*OHYB;F~y*$1rTzsFtE?`CuC?##@ z`20N0@3L^Z&K)koF>rpsPFVk8#XEE%qtuIG7$B9~2Hn_pVh6my;r^9UD=wuCmtkhQph<)22( zrHcz*Mw^c|TC-!+f-M{=TP|%ht;aGpR@K@Cg-h7{GGdx`oKy^rV+}C}cAOvgi!8_8 z2ovYwh#x<>PQQ+iRi3(ANbMhqN7SC+)ddJ!Wv|4L2fOwR!N{Bb`35s&#y zQ43g0_yJ|(;~YNv1pE0oY1KuKL=OR|b;15ict?R$EplGtzeVBzIdHiz>A71Ts$zs! z;2bYx<9ONR_zyV5ejNWST6emPljA#DyC-pc-;Ogl{-qr!IZoDcP>w&PRz3c!!}&3( zJij6ct?~RultUK>9$+eY9*?-kf4)(%-OI%GQn6rI^kZZ|KepF3mW-3_9j)Dy*#4Cr zXR!UD9VglTGOpyHY@b(aZ~jf^{Fqz|PbW4Ml!ag8zeVD}&v+x5Z;n2t0SjQ52Q$j{ zd#jn$;IEbpH9SIw^i#u@#-eem;d8CslhhE}afTYcvE!r~p2yW4R1Fsse29)u@Hvyb z&v`-6T~mP<<r2I(2J5FjU`ew6G(O;hT7Sz4>SVLu zC6Z%MKH#><;Hd+@;8n8UGWwJgupvgIhtgCJxHiJb%M(z;3yfkdB>M!HTaS$Y6$IN8qqpiIi5QU{Zf4U%!8||x2}#uN#Hc2S#`!kR6Qh>a z?nx&`hjyHyhwtn-=^toMFzDVWr|BX2UCm_s2K;D_2em(XE6SmZ13zLa_eZHOiqbkr z&dZ42A$Zx|3YUuJsp<6mNc}%>aa{-1fTNgT{XT4xeZn=I4+=^L?~4qcI`AuAr4Fp4 zPpQF<8IfPe_7-`n39+QYJ;<{r=@(oq9#j)EDORX$fcPr%Y-u7rdYdK;%!o9R@m;fL z?v)-PLHg~L&dS@h)0`t|mQw$iccR~}y(mnF<{#v?6H6TU7E|dT^iiiIkSH1|^Zx@v Ce@~ACNo2FO*^L~>@!ClQh;i>uuXnPu)0>&z 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 Z_8KR!V-B9<87)9$@1-V0b0nq<{{e+yhVcLZ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-wldap32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-wldap32.a deleted file mode 100644 index 822dba5c3fdd89abf3db543710a83e4f417463fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196972 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 C$1-OC diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-ws2_32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore-ws2_32.a deleted file mode 100644 index 740404c3e5be9b7a3fb3119a0b6beec0e2ec0b5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156730 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 R$otBooc{}iN?@Q_)IY&}sMi1h diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore.a deleted file mode 100644 index 73de4a1a6..000000000 --- a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore.a +++ /dev/null @@ -1,257 +0,0 @@ -INPUT( -libwinapi_onecore-api-ms-win-core-timezone-l1-1-0.a -libwinapi_onecore-api-ms-win-service-winsvc-l1-1-0.a -libwinapi_onecore-api-ms-win-service-core-ansi-l1-1-1.a -libwinapi_onecore-api-ms-win-core-com-midlproxystub-l1-1-0.a -libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-0.a -libwinapi_onecore-api-ms-win-core-io-l1-1-1.a -libwinapi_onecore-api-ms-win-core-comm-l1-1-0.a -libwinapi_onecore-api-ms-win-service-core-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-service-management-l2-1-0.a -libwinapi_onecore-api-ms-win-core-toolhelp-l1-1-0.a -libwinapi_onecore-api-ms-win-core-enclave-l1-1-0.a -libwinapi_onecore-api-ms-win-security-sddl-l1-1-0.a -libwinapi_onecore-api-ms-win-core-io-l1-1-0.a -libwinapi_onecore-api-ms-win-core-realtime-l1-1-1.a -libwinapi_onecore-dsparse.a -libwinapi_onecore-wkscli.a -libwinapi_onecore-api-ms-win-core-processenvironment-l1-1-0.a -libwinapi_onecore-api-ms-win-core-processthreads-l1-1-0.a -libwinapi_onecore-api-ms-win-security-provider-l1-1-0.a -libwinapi_onecore-api-ms-win-core-util-l1-1-1.a -libwinapi_onecore-api-ms-win-core-enclave-l1-1-1.a -libwinapi_onecore-api-ms-win-core-file-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-eventing-obsolete-l1-1-0.a -libwinapi_onecore-api-ms-win-service-core-l1-1-1.a -libwinapi_onecore-api-ms-win-security-isolatedcontainer-l1-1-0.a -libwinapi_onecore-api-ms-win-core-winrt-string-l1-1-1.a -libwinapi_onecore-api-ms-win-core-processenvironment-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-util-l1-1-0.a -libwinapi_onecore-api-ms-win-core-file-l1-2-1.a -libwinapi_onecore-cryptbase.a -libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-0.a -libwinapi_onecore-api-ms-win-core-version-l1-1-0.a -libwinapi_onecore-api-ms-win-core-interlocked-l1-2-0.a -libwinapi_onecore-api-ms-win-core-featurestaging-l1-1-0.a -libwinapi_onecore-ws2_32.a -libwinapi_onecore-api-ms-win-security-base-l1-2-0.a -libwinapi_onecore-api-ms-win-core-sidebyside-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-perfcounters-l1-1-0.a -libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-5.a -libwinapi_onecore-api-ms-win-security-credentials-l1-1-0.a -libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-1.a -libwinapi_onecore-api-ms-win-core-sysinfo-l1-1-0.a -libwinapi_onecore-api-ms-win-core-job-l2-1-1.a -libwinapi_onecore-api-ms-win-core-threadpool-l1-2-0.a -libwinapi_onecore-api-ms-win-core-namedpipe-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-2.a -libwinapi_onecore-api-ms-win-shell-shdirectory-l1-1-0.a -libwinapi_onecore-api-ms-win-service-core-l1-1-2.a -libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-3.a -libwinapi_onecore-api-ms-win-eventing-tdh-l1-1-0.a -libwinapi_onecore-api-ms-win-security-base-l1-2-2.a -libwinapi_onecore-api-ms-win-core-console-l1-1-0.a -libwinapi_onecore-api-ms-win-core-string-l1-1-0.a -libwinapi_onecore-srvcli.a -libwinapi_onecore-api-ms-win-core-registry-l2-1-0.a -libwinapi_onecore-api-ms-win-mm-time-l1-1-0.a -libwinapi_onecore-userenv.a -libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-2.a -libwinapi_onecore-api-ms-win-core-winrt-string-l1-1-0.a -libwinapi_onecore-api-ms-win-core-interlocked-l1-1-0.a -libwinapi_onecore-api-ms-win-core-file-l1-1-0.a -libwinapi_onecore-api-ms-win-core-console-l3-1-0.a -libwinapi_onecore-api-ms-win-core-synch-l1-1-0.a -libwinapi_onecore-api-ms-win-core-console-l2-1-0.a -libwinapi_onecore-ntdll.a -libwinapi_onecore-api-ms-win-core-fibers-l2-1-1.a -libwinapi_onecore-api-ms-win-core-delayload-l1-1-1.a -libwinapi_onecore-api-ms-win-devices-swdevice-l1-1-1.a -libwinapi_onecore-authz.a -libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-1.a -libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-1.a -libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-0.a -libwinapi_onecore-api-ms-win-core-file-l1-2-2.a -libwinapi_onecore-api-ms-win-shcore-registry-l1-1-1.a -libwinapi_onecore-api-ms-win-core-realtime-l1-1-2.a -libwinapi_onecore-dsrole.a -libwinapi_onecore-api-ms-win-core-comm-l1-1-1.a -libwinapi_onecore-xmllite.a -libwinapi_onecore-api-ms-win-core-sidebyside-l1-1-0.a -libwinapi_onecore-api-ms-win-core-memory-l1-1-5.a -libwinapi_onecore-api-ms-win-core-namedpipe-l1-2-1.a -libwinapi_onecore-api-ms-win-core-job-l1-1-0.a -libwinapi_onecore-api-ms-win-core-quirks-l1-1-1.a -libwinapi_onecore-api-ms-win-core-registry-l1-1-1.a -libwinapi_onecore-api-ms-win-eventing-legacy-l1-1-0.a -libwinapi_onecore-api-ms-win-core-systemtopology-l1-1-1.a -libwinapi_onecore-api-ms-win-core-file-l1-2-0.a -libwinapi_onecore-api-ms-win-security-base-l1-1-0.a -libwinapi_onecore-fltlib.a -libwinapi_onecore-mswsock.a -libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-0.a -libwinapi_onecore-api-ms-win-security-cryptoapi-l1-1-0.a -libwinapi_onecore-cryptnet.a -libwinapi_onecore-iphlpapi.a -libwinapi_onecore-api-ms-win-core-privateprofile-l1-1-0.a -libwinapi_onecore-oleaut32.a -libwinapi_onecore-api-ms-win-core-localization-l1-2-1.a -libwinapi_onecore-api-ms-win-core-psapi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-quirks-l1-1-0.a -libwinapi_onecore-api-ms-win-core-libraryloader-l1-2-0.a -libwinapi_onecore-api-ms-win-core-threadpool-legacy-l1-1-0.a -libwinapi_onecore-api-ms-win-core-shutdown-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-processtopology-obsolete-l1-1-0.a -libwinapi_onecore-api-ms-win-core-processtopology-obsolete-l1-1-1.a -libwinapi_onecore-api-ms-win-security-lsalookup-l2-1-1.a -libwinapi_onecore-api-ms-win-core-localization-l1-2-2.a -libwinapi_onecore-api-ms-win-core-shutdown-l1-1-0.a -libwinapi_onecore-api-ms-win-devices-config-l1-1-2.a -libwinapi_onecore-api-ms-win-core-localization-l2-1-0.a -libwinapi_onecore-api-ms-win-core-datetime-l1-1-1.a -libwinapi_onecore-api-ms-win-devices-config-l1-1-1.a -libwinapi_onecore-api-ms-win-core-wow64-l1-1-1.a -libwinapi_onecore-api-ms-win-core-winrt-l1-1-0.a -libwinapi_onecore-api-ms-win-core-xstate-l2-1-0.a -libwinapi_onecore-api-ms-win-core-toolhelp-l1-1-1.a -libwinapi_onecore-api-ms-win-core-wow64-l1-1-0.a -libwinapi_onecore-api-ms-win-core-registry-l1-1-2.a -libwinapi_onecore-api-ms-win-power-setting-l1-1-0.a -libwinapi_onecore-api-ms-win-core-console-ansi-l2-1-0.a -libwinapi_onecore-api-ms-win-core-datetime-l1-1-2.a -libwinapi_onecore-api-ms-win-core-atoms-l1-1-0.a -libwinapi_onecore-logoncli.a -libwinapi_onecore-api-ms-win-core-namespace-l1-1-0.a -libwinapi_onecore-api-ms-win-core-handle-l1-1-0.a -libwinapi_onecore-api-ms-win-core-realtime-l1-1-0.a -libwinapi_onecore-api-ms-win-core-winrt-error-l1-1-1.a -libwinapi_onecore-sspicli.a -libwinapi_onecore-api-ms-win-security-provider-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-winrt-error-l1-1-0.a -libwinapi_onecore-api-ms-win-security-appcontainer-l1-1-0.a -libwinapi_onecore-api-ms-win-core-versionansi-l1-1-1.a -libwinapi_onecore-api-ms-win-core-shutdown-l1-1-1.a -libwinapi_onecore-api-ms-win-core-job-l2-1-0.a -libwinapi_onecore-api-ms-win-core-processenvironment-l1-2-0.a -libwinapi_onecore-api-ms-win-core-wow64-l1-1-2.a -libwinapi_onecore-samcli.a -libwinapi_onecore-crypt32.a -libwinapi_onecore-api-ms-win-core-rtlsupport-l1-2-0.a -libwinapi_onecore-api-ms-win-core-namedpipe-l1-1-0.a -libwinapi_onecore-api-ms-win-core-memory-l1-1-0.a -libwinapi_onecore-api-ms-win-shcore-scaling-l1-1-1.a -libwinapi_onecore-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a -libwinapi_onecore-api-ms-win-core-synch-l1-2-1.a -libwinapi_onecore-api-ms-win-core-file-l2-1-1.a -libwinapi_onecore-api-ms-win-core-privateprofile-l1-1-1.a -libwinapi_onecore-api-ms-win-core-firmware-l1-1-0.a -libwinapi_onecore-api-ms-win-core-winrt-robuffer-l1-1-0.a -libwinapi_onecore-api-ms-win-eventing-consumer-l1-1-0.a -libwinapi_onecore-api-ms-win-eventing-controller-l1-1-0.a -libwinapi_onecore-api-ms-win-power-limitsmanagement-l1-1-0.a -libwinapi_onecore-api-ms-win-core-datetime-l1-1-0.a -libwinapi_onecore-schedcli.a -libwinapi_onecore-api-ms-win-core-processthreads-l1-1-1.a -libwinapi_onecore-api-ms-win-core-localization-l1-2-0.a -libwinapi_onecore-profapi.a -libwinapi_onecore-api-ms-win-ro-typeresolution-l1-1-0.a -libwinapi_onecore-api-ms-win-core-namespace-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-shcore-registry-l1-1-0.a -libwinapi_onecore-api-ms-win-core-string-l2-1-1.a -libwinapi_onecore-api-ms-win-core-memory-l1-1-1.a -libwinapi_onecore-api-ms-win-core-fibers-l2-1-0.a -libwinapi_onecore-api-ms-win-security-sddl-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-eventing-consumer-l1-1-1.a -libwinapi_onecore-api-ms-win-core-localization-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-file-l2-1-2.a -libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-2.a -libwinapi_onecore-api-ms-win-security-base-l1-2-1.a -libwinapi_onecore-api-ms-win-core-localization-obsolete-l1-2-0.a -libwinapi_onecore-api-ms-win-core-heap-obsolete-l1-1-0.a -libwinapi_onecore-tokenbinding.a -libwinapi_onecore-rpcrt4.a -libwinapi_onecore-api-ms-win-core-fibers-l1-1-1.a -libwinapi_onecore-powrprof.a -libwinapi_onecore-api-ms-win-core-string-obsolete-l1-1-0.a -libwinapi_onecore-api-ms-win-core-synch-ansi-l1-1-0.a -libwinapi_onecore-dnsapi.a -libwinapi_onecore-api-ms-win-core-debug-l1-1-2.a -libwinapi_onecore-api-ms-win-core-registry-l1-1-0.a -libwinapi_onecore-api-ms-win-core-file-l2-1-0.a -libwinapi_onecore-api-ms-win-core-calendar-l1-1-0.a -libwinapi_onecore-api-ms-win-core-processthreads-l1-1-3.a -libwinapi_onecore-api-ms-win-core-version-l1-1-1.a -libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-2.a -libwinapi_onecore-api-ms-win-core-largeinteger-l1-1-0.a -libwinapi_onecore-api-ms-win-core-namedpipe-l1-2-2.a -libwinapi_onecore-api-ms-win-service-core-l1-1-0.a -libwinapi_onecore-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-shcore-unicodeansi-l1-1-0.a -libwinapi_onecore-mpr.a -libwinapi_onecore-api-ms-win-shcore-path-l1-1-0.a -libwinapi_onecore-api-ms-win-core-processsnapshot-l1-1-0.a -libwinapi_onecore-api-ms-win-core-windowserrorreporting-l1-1-2.a -libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-1.a -libwinapi_onecore-api-ms-win-shcore-stream-winrt-l1-1-0.a -libwinapi_onecore-api-ms-win-core-namedpipe-ansi-l1-1-1.a -libwinapi_onecore-api-ms-win-service-management-l1-1-0.a -libwinapi_onecore-api-ms-win-core-stringansi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-featurestaging-l1-1-1.a -libwinapi_onecore-api-ms-win-core-windowsceip-l1-1-0.a -libwinapi_onecore-api-ms-win-core-path-l1-1-0.a -libwinapi_onecore-api-ms-win-core-url-l1-1-0.a -libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-3.a -libwinapi_onecore-websocket.a -libwinapi_onecore-api-ms-win-perf-legacy-l1-1-0.a -libwinapi_onecore-api-ms-win-devices-swdevice-l1-1-0.a -libwinapi_onecore-api-ms-win-core-systemtopology-l1-1-0.a -libwinapi_onecore-cabinet.a -libwinapi_onecore-api-ms-win-eventing-classicprovider-l1-1-0.a -libwinapi_onecore-netutils.a -libwinapi_onecore-api-ms-win-core-string-l2-1-0.a -libwinapi_onecore-api-ms-win-core-heap-l1-1-0.a -libwinapi_onecore-api-ms-win-core-debug-l1-1-0.a -libwinapi_onecore-api-ms-win-core-memory-l1-1-2.a -libwinapi_onecore-api-ms-win-core-debug-l1-1-1.a -libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-0.a -libwinapi_onecore-api-ms-win-core-file-l2-1-3.a -libwinapi_onecore-api-ms-win-security-base-ansi-l1-1-0.a -libwinapi_onecore-api-ms-win-core-com-l1-1-0.a -libwinapi_onecore-api-ms-win-core-winrt-registration-l1-1-0.a -libwinapi_onecore-api-ms-win-core-com-l1-1-1.a -libwinapi_onecore-bcrypt.a -libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-3.a -libwinapi_onecore-api-ms-win-security-lsalookup-l2-1-0.a -libwinapi_onecore-api-ms-win-core-versionansi-l1-1-0.a -libwinapi_onecore-api-ms-win-eventing-provider-l1-1-0.a -libwinapi_onecore-winhttp.a -libwinapi_onecore-api-ms-win-shcore-sysinfo-l1-1-0.a -libwinapi_onecore-api-ms-win-core-fibers-l1-1-0.a -libwinapi_onecore-api-ms-win-security-systemfunctions-l1-1-0.a -libwinapi_onecore-api-ms-win-security-lsalookup-ansi-l2-1-0.a -libwinapi_onecore-api-ms-win-core-heap-l2-1-0.a -libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-4.a -libwinapi_onecore-api-ms-win-core-memory-l1-1-4.a -libwinapi_onecore-api-ms-win-core-file-ansi-l2-1-0.a -libwinapi_onecore-api-ms-win-core-processthreads-l1-1-2.a -libwinapi_onecore-api-ms-win-core-profile-l1-1-0.a -libwinapi_onecore-ncrypt.a -libwinapi_onecore-api-ms-win-core-psapi-ansi-l1-1-0.a -libwinapi_onecore-dfscli.a -libwinapi_onecore-api-ms-win-power-base-l1-1-0.a -libwinapi_onecore-api-ms-win-core-errorhandling-l1-1-1.a -libwinapi_onecore-api-ms-win-core-rtlsupport-l1-1-0.a -libwinapi_onecore-api-ms-win-core-memory-l1-1-3.a -libwinapi_onecore-api-ms-win-core-synch-l1-2-0.a -libwinapi_onecore-api-ms-win-core-processtopology-l1-1-0.a -libwinapi_onecore-api-ms-win-core-normalization-l1-1-0.a -libwinapi_onecore-api-ms-win-gaming-deviceinformation-l1-1-0.a -libwinapi_onecore-api-ms-win-oobe-notification-l1-1-0.a -libwinapi_onecore-api-ms-win-core-sysinfo-l1-2-2.a -libwinapi_onecore-api-ms-win-core-kernel32-legacy-l1-1-6.a -libwinapi_onecore-api-ms-win-core-delayload-l1-1-0.a -libwinapi_onecore-wldap32.a -libwinapi_onecore-api-ms-win-core-libraryloader-l2-1-0.a -libwinapi_onecore-api-ms-win-core-com-l1-1-2.a -libwinapi_onecore-api-ms-win-core-string-obsolete-l1-1-1.a -) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-advapi32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-advapi32.a deleted file mode 100644 index 13b6ff73df2111120409ded62a2fd1220907422b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 510800 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-apphelp.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-apphelp.a deleted file mode 100644 index 7fb130920febb24aea543114e4f52b8ca538196a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8224 zcmeI1e{b7F7{{MD?Ka97Y!sNLO){t;{-}bpB~FGAYE=fEG+0FWDUhy7eI;4bBudh* z41o$lV}DFyFNK$|SH^gr`{6s+cH<0O6safq?(*E%Ip1@idwiF?`9X8I)&6kdJvW-l z)v{mqy?UkWx}IpVbJwj_>*|Kh1pv4N;0yug>j38-$m>Nc>AEnG*Tt^@=vrKn*Bi?K zbX|E%Ue^`@t}QaQ#@Lr5J{++IAM+tw>j#|O@AR634nyNX-DiG?+#d#;hno2SerM4|M;t6;}-k+_Gh1e!Pfizox81jd}|Dhb#@0V zsU@_n1_9l0RI1IW+h})oKWcnz6xx7opYSn#x*eESW5V{eyPvW<`1N}OBd}~rft_ve z;XWTmMaFD&(PyQv(oec7oxIlOTRR)*?ry{fX{|wjz+2-|UlW%`TG{h_-*;WVax)|? zcz6b318@rfFN@kdl*asEEb8f*3ysZE&>T0@C8A{o8c$2D(P)AU4oTOcFI=i z;d9w(1w5^*YCGx9r|W83cOEN?2|C@b%hg6>{nnjEDd={gwB6}))$sQ-fFBCm%^ht} zcH3X{^~EE7kj(a#lcur!R7}%YKAIC68htb=KMMcMV^gt^su8{+0*VFlPCQW`lt|;i zcbMlCPZk8l?d%lSYLytpK6?HYdR&h9s@HB!h+(MYSs!mD~A0DCy=%u zNh^q=$TGHXDw3&i!OQp_z_@M2H|ilN9h&$a#%-FP3U+qS>KBYI@*b$8W}K`GR}hV3 z1vS4U>wNuOuVZChX|xST{Pfw|^y$eHV>7k0iF+8y7xgQddjV^bS;;5euSm7tz0`Fv z{^kJNkK#Q6if`dD>H+VP?+Nn`&=%o^$f^+IrP-HHB%cs~dY7x>GS(>3YL}KUxCzT2 znB(qdik(|7t4h8>1pj^}{{5SA{(r||PvZZ3#RL^6$^W+1?{WMOl65iuA0+ES{wcCf z%l{ceg5J~$W@eTB*U$%)4ExK{AaVzO#WG}HkNC)uB{b)8WU{EQW~0822T+kV7lMZ} z>K`Hrlc@j3qU9v1Z(02wM}0S07o&bZSr<}&0cUht>gS08eWb+uDN4>N@$wXC6Yt_^ zbaG%1tJY{k*7fl7j_s9c#&tA{Nf>uKiUJ7wld8yUId^13zP~qI`H9)qkwn|3KwUyqAgiTG{@G zN}f?4W6+y)Mh&d9-ASHNdse^4oly^xb+I$*Z^^oFPjdxlb6Vm7(*8f3?epqY0vwas Y-@GpkB6r|VEYn6VcRH!9x%^)94_eX!zW@LL diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-comctl32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-comctl32.a deleted file mode 100644 index 2ef0585ae7a0b2697cdaeffacaa9bcb2303bb886..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60678 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 N)$)j-R#-v*{{Y@LvOoX; diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-comdlg32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-comdlg32.a deleted file mode 100644 index 01f2d7c4f95da64242c082b0d3dc27d29256ae74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16802 zcmeHO-EJF26h5(&{)D7IQ7Q$2Di?(xp<>pKV>_a%Vx>*F0BX^oAXKq&;!SMocrAOI zMpcEP3L%8J=p*n9hzlbG5xnfr>^HIH7Y1K^>?icfBK4&)Sn-pES z-L$sswq;iBN6m({XEn?%d$-!yS;(3d6EEGhz^qx7>Z`std}*~Bl`U({+IQB$H0!%9 zGazDxQt$Z^l-u>DbE~nVF80eRr!Mo$<;sqA&vG8N_;mpp*YK`q8YQ@6Irl1i)@r?B zeSy|d)%S?I1nOozVieqMS+w$ zmsL((=a*OP-CZ>6?S02;R;}vocH3^d{T6y^rDoe5Yt?Rg-OnX{Ue&}UGQVOs?6$Ih zK*S2c%f%%nsCJyDleRrV=*I*Z!^r3JsZ@T^XM*aFXOIkV+>YUx7r6;YJBVVD@1LZg zypgU}oJxNcab_9H&(oWo&HyzyAiX->a6YGW&tYa9pNofOFqGb+l9S$4f4zdzyM&q9 z5IuEX9arvte(SS43)ytF(I8oR8xiQ9eDM-sXKcIjKnYwqw;5HD?5c;xu~F?4MVch=SQaJjSPNXSNCKra z#*@N6)Yr*K*sh6r6V)*YoWQnId)Ry+B?4UmOH(6{0sq3f68~ghvZ)_9m&j-C84*HR zVVjOLCIP+?sZ0{^8)o!)3_8b9$1sdcQ4XYmvq6!Mp|hgl2iS$=B!-P4;*slk{%aS@ zbVz{_aW+8qW(-F)goOj2>5YVT+%?e3wekp7}CAHxu*+1+u6~}MDhs%sCGFXE@O@YjdLlP7iF0w;4x;HcdI;@ zph%0)O|ykSdLc$S^@aqg=N}yl(l7JAFG+-)5~M3%oFN@WdXb)wi1dJ8Bsu*F!ebDp zuSp0ABpoNGf6MAUjMHo3dOb*QhwFKqPM*-PoPLSDqZ1E~D#|YqRbcS>{Hhd)Gyx7C z)f$5$b5_=i@5LD3)D058{h3?`zAt*cUK(kCWf*)b3Rn2n&fmF+_%0UNdu{BKyZ)@l z-$(JuF92T+T_0(T5^= z^I@^>ae82%L$hC=jfnN7US9tJ0W!!hzt8;H4r?xSq%Bvp8Oc z^~Zut7$}YQ z+RG78uZX@2_1b-SBS!s6p?;E3&p!}YKNYACwphCIJ%-Th;TTIX>Q4&w=etpVI=G&r zo^gGbSgVI)MBYQ~_3IDNEg0n2$9t$Wro#77&k^dquee_S^_pO7J(6b@(9H0WcTr=k zhs*@tJM2-`CeH@2{`#-iaI7i*S zR@Upc#QUfxhVKav-=odr!{A$SxWcz~{*JhhTFA(MU{WdiK3MLf{uIG4-#{G-bU4oS z_U~A|hpo3e;d(vm?cay%dA`aVwr|+=_HhXP0b-=r+~1_m#^A5Hd!|Hb0)ECcwAGT< z!%yjD_{h7f{9ljwOM>n%35ex}9RW%3|K7m`$dN`qy{%C2k^hbqh%^ECYhR$XF5vm! zPI_@3b!W90h?;;avGM{y5j}(L~)#jsMmlnD@o` zQC45ZT%5aqV2(7-qx`MG{wGym4g^Jd89nO$X^iw&j&wDbyFU(}CZq=`-8F!o74`oC D%T^j} diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-d3d10.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-d3d10.a deleted file mode 100644 index a4a11a8d83781f20b24d83471f7e0df3484d8a17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5138 zcmeHL-D(p-6h28>tF`_VO7%)s(L0HoCf&3kQf)2X2!$dd2-9tMVq%kQ*sN_85k(O% zd*g-g;FV9%Cla5)dd``h?5w+KQ!$l-2X^gSuI8*R7K5a`^QbA(e7&Bi)Ck>7924L^{=^S9egxh0#zD|;ndxB`FIk|65R z_5SLMVX3@SvKIsChVp)`CO5+6z;8X2EkAe(LNr<(aS+1jTasIi4SBcit!}%W#k$*Q zr+=S;Nxh-pucDdytxlsUSL?1Pg9J3u;rUzMdRX-JZui^el5IN-dfx%nCHRy%cD;j$m8zVR`(-y$i zxLNHd+(ds|RpTbGF_nSS{krB|DtgT(I*K*ifT-i=KEShF&E3?F$Zy7rUSIfa41$@l z%J;(`Q46QzCQ5-owqu5o*^~G>(hyjHh2|jH!1{q=U@C3`DXnmYHTpygn z)v7wVENg9CbJ)SSU!=*x$iL?B3{L}#DVhz=>vF^i+Se=&YrI(-xSl4=e%&UVZvS2r z=LYM9n#+ z2L@|qQ%#Blc+90L^6(WKLr6hGkq@hdd^60mgXAySRDk3`nbo&X1ee zUyoQ!l?C>I830dg<7DH(GK#nH$=*A$X>TexSYV6`F)on-<`DBb8`o10tz!W(AG2|e zp4Js?Jcuybhb!LOzd?WP?#8~jRXFf=p*Tk4E8d;Kmg24AD7`0QtC4+a3Wap;05hJP zDInrFM~+6oU#UzHX94ZuXe5-u>n0Yc8L1iK-48uV85Xw4Nb$;ZkN;Lh9zJ8kxZC`} z-D(I*Q#plIF*BGd%H{v6z@1dY@7=R{s<5!{sH(`DyvVo_6Pr$|Dz4$&$zoM3D+iZ( z_=2^eij38#zB#fmfB!ScP)2DWWjOQZ7lXq%9^bj1Bw4aLYqRUY19nNmaIqn5wRl>&xw^D)zD(m`g0jUZ=}S{Pqzt(6q|@QLQoVhgz2_BX=2l)Y}U4llp<2R z>~nbGl@CyS03X2z5TC(%&dkp4Y_e(7l2ig6*qPZg-|ozu`OY`9d*`9$tkxf;9;Cx5 zJD)YPrcunB>9ir5^gNv|L=PZoa(aaLeVT$__Br*w|#f_AW~_4$Ap*wetK4d%@jjmb1V9jSH4M|lbvFx`iL{)u_b=fx z1EgaBS4C|CGA`e7MZJHPhU#+0wp^<}M6@hI^)R#2>6`$AJ;F8Ug?9@Idl@T99G9LJ z!BDt)WhdNJf82t?A(>$|0;k$liM}so>}HehGqpyOdkue&0M=qPYh4*UyY4S~eWI%m zg6Y1B_rqv@O7z2MK1vD<%|4twKMMa$U{fO27bAQ_3`oSTgkR#_Q6H2D6NlHBk0Qc} z!Sz!xc)=|8FxW(|&(KgI`M(*Q6T`r4mPUi)y6rK7RyB&j3a^(M&W{MaUDXMv>fI$V zK0zWbVml%HGc9a`@VYM4SH4ql1Zr;mU29!h1hYb(rb(Uy_l0*Q_sPHH(;(>@BFEel z4FarqO(n%6z$=lGW>mKRI$@BFco9~ov8jLUHvD;gg@ib(RLpdJER?R*#5@j zFcoPq22_7kYfaUthp4m{sJgG#v@!+ktfut~0WPHeMZ|1I{kJZ9k z)B`>xcZNXql|^_U6boXmwDNL9a)fx&LyL@sn^>bnF)l3`aWAtt>|v$rWOU3KYWQ(P z`-R|qeo)TmwEg0O^Bz}x&R@gzJT2!F-3-8Yj5Fsc?kNSFzb_3UkHbeSyEv~7@8PeB z5$qd2-*bcV{X*ku*`$p7UkpCq&!X}1h_AeH=KDYz-}C+IeJA(YhyIQ3b3QvL=Yu~N z_Wp&&cWeAvI3M#l@Bf$>YmL7lv|QKtInP2x9Ck5Re_s3x^3Uxfsll)t)-{Vg5ZZuAuV`-h#Nq#pP=c_y^+-XlW!TM`I*zi5$tn|0Y cX_$hOjUf#pkHaS{73;NGhk36z44wJ^02^k9lmGw# diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-d3dx10_47.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-d3dx10_47.a deleted file mode 100644 index f1525b30c9b2a46af95554686c3631a15eec560d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6182 zcmeHLTWb?R6h7IsUTVF8f)6TNs4pUM(`t13sT4b~GqY#Doy*zpn=`u;*S&DLeq-#aolM0_ z(Ji{pbg63Fj%d)2-ix=#F%*XdsXbe%=)*>T2Z z8GG2~VVf=Rh=*)8@Hty+w7i!MhQ{@2m$_xuY%I~G>_Lk!2O(#Eu-0nwSG>vmlD}Sb zSh>nPhR?2WV0G^Kf4y^wWy9UT^VM_n zVX&gAiDwNE`TT6iy(k`;dPt9LfauTPuX{cZ@9}o98ZPrk4ZhZ|tA1#`*W0xkUyl0q z)Qj+gsJ0Xpf|zqAt`!}}bzR$bD-}h~#W8>55Yi1`G6!%{)JCBY;VTh!b7sTBV!`(! z&kPYQGqA8#SZcR-fWceBHK@bMa*REKl@Xkmo@T&_ah2FkxN$SC8sko3ludeNXQi+4HZtJSC=q z*%_J*&g-1w1-;uWF2{Ji)Nmbb=mn4$J_S>t z7S&fmELxD z`pync@2HG}wX|`ei%Ud=X~e8&<2ov$b<7~ZRqnxR;p)pRgj&GrK?C4M}G*st7%l2Gc`HKOspyY@!Qx z(nDQwgo?e?L#U10PYe^BabVon-FZoyY9 zr6vrk*S~s9kl}oYY1)`N&<4IIN&U`O#-3=yQtU8%bp9vWFsxqJh6yrsZ4?L7hI=h_ zj{1g#+9_^C+J3v2apR3PZojzkJ{yZ@2CvIFueeE`GWYXJ zdJK7@EL2$V9drFZQ9nG}c4XINQLPf0*x#dy;;;?b+O=IdhRbtv45UMy- zkwBuK!YB00C^NfWd)?S+Dv=^a%IfBYa-Re1anJwDuZGP*aL5O3Z)eZj z$;ZZHlC-s_D?X?XjTQ_ zj_?+s9`g|%9QRHUrR75HU$gkBSOzxBv>II3O2P{IvPCRbc)izfsVekwLNI`UpJjQW9VKQ|V z*fZ7vJh!#;jb->-02>WnQJU>PwE%+>&><(38BC9Hn<8Y}M*7O>azA572WdY6T=57g?hj z@F`g}fh&>Yn!%e2r*_(9!uYT=VM?=&sM#kdJAd@aVMT3EsTT~!Mg7?Ivr ki9i3V4(LoE%XE;Y2%}Z_j%`i{>8=ZI{n^+&{{1lj0IoVbW&i*H diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-gdi32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-gdi32.a deleted file mode 100644 index 0aaead0e2aa9c5d9875b49ad42b9d088e7db7358..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176080 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 MW<~Z_b4BprKP$sdX#fBK diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-kernel32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-kernel32.a deleted file mode 100644 index c6aa4b1f64685023e9163c2128ff209f0b48c13b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 972840 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-msi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-msi.a deleted file mode 100644 index ccad8d47d528c663553e366bf449fef4ac382a4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34500 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 UKze`>qN91L*GPcK`qY diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-newdev.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-newdev.a deleted file mode 100644 index 23b79e18c60122ec1408a07f65c1012ff3f25d1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10334 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 raq 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-oleacc.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-oleacc.a deleted file mode 100644 index 456ecfe88d55c95d5185febfaa1c6beef4f4673c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11838 zcmeHNTW=dh6h5(&wn>A4DwK*#S*o@|0-1Gi){azFDOMp5fksf&3L$N5@1}OM@kZ;- zMF^p&sv?AVh)|z-;0N#<`WtxUfggZ)LOi#eGqaaj@9cUVx<)P@c`iP4c4y}7_syJ{ z-M6nboL2k#-1|y2l$Xj{SyO8jRZ;MVK};28xm@!u*q8%=*8qyY0i5~?VD@(&=l=qr z_~H{D&;1QR@s&S#yznak#n(}v;>ACCymStL;+3mBzEc69`0j@kb-k|ZU-V3;r>~o? z>F9OaF!lXTx3SaFQFu_(bgiOWohC(3Zgmi z*)X2%o#9TWi|u{n*xNT+Ewk6_G%fR1^S;?~LDxImJ9>)3x?}Hra?hz-9kc7|Yqq_$ zyF)VX%EW4Ze`<5hF?+j~-&9=g)st$ZQ*rsnru!M1>$Z8|-tpRxi0}{gheo*C=o*$u zw_M%t8lkSdy6%__*ZkZy63mla-+uwM$c=fsvu)bD{-_7*C2M%SPf?Int=pY$TI;-C zcIC}Ie9|e6^7`<~db?v8j@gY}5>yzyrsJ0EfY?clE~~1hX^Ns%LPi@$r;yYD$`o>! zm1dyiA_7=BIZ8Ko5#X}M9;7H^IK~-Z`A80!?FNMn;pyaDxN$AxHq-g*zyIQT(lS6zS!3W zsfo5KB*=uLO^lqZ1g7HKWc*l=@j5gO!JwS z3B&CnFkG!J2CI^fVGZs65_J})|7#2{vTk6qK)u0!UGOkL&sBzDUti1xy?_&9y)RfVDN{hrxCY>yEzE7yf-D?{b9*pn)6=P7V~)@+gnE%RpoTi%$n^sL&^T65 z=SZ%n`Te?xg;h_-m*I#XKfOZ#j*mlGSUQ{L38EUIjN0eOo5d1GE=MW;^*9z=PvWZw zi1uV_1$ZcDmZKJmz9d`+dxBY5!cvNx zJJ1i#gK4y;FixmhIl*^6in1|h9C1$kfF>Bk2}8irC^^v;+D+rcfm|=fi3f7MfD>=v zGai-`bC9@&8EZbg=^;Pl!!=JrSpjH*NE|t5LvnQvdsLqb>T)(NXv^{S;UVH<5Es4@ zFf>XoYzpnBabZWU7vsX$a=m~H3;2A8<-#n)cjx20CY&dzV+c7=;sTZy-~s0G5p(cM zhp)zQ$zbnj< zqnzuTLc3{my(QO+p?*)U7tHl^rZDVWe;Oi3r(^Bwyi8LEhH#$0%mpkhzyaow(Q>dy zMS0>}%ZBsn;>5qFN5;LZoE;hT@?^;e8Cf!UXTY9tADaS}oaCKBF$E(WN6+^=gJk5#zIW)K zL~?mM7o3wWX63}hk0P8VapELc`gaDT0G0ZR+;5c6 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-oleaut32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-oleaut32.a deleted file mode 100644 index 4fec75c4a400939440801856f8c7d322010566ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 329356 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 Kr9IFZY5x}$FLOHp diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-oledlg.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-oledlg.a deleted file mode 100644 index 27f2a8f471738c869ed0cc8b19bbfb7dd90e3576..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17926 zcmeHOTW=dh6h5)jTY9ApwDzrj~jg#FpZe2UFH*M)d z6;&1LLxuVa_yvdu9(dpZRfs1Z_(`$RGQI z{fXZJ$e;X;{c9*E|K?xp-})1P{5vQkfBF~p@BIuw{{08+D?I@6)eigGH30In-?RVd zYXI_}SnTIt2Oz(2jJ$0x*!FVY?e*;?*K>RJLf3KaTdhuWvt^_3cHOeAn%!=#lK17^ zj=R?Fxwg~2)oHso-L~CryH5M6-L&z>8!p%zZqs?bIm5-ayS%u(=`=m}LaTGVe;I7M zbz{?x%LgTm6wLue%HE*fc-E@0i%T+5J zPfWZ=DP!;+zy6CI96pZ|mHMj*B7a$=45=DD;1of&2$x!G7n3SE35tf5H;8)y%uG7 zsut+($H*ksOLp^M26{7rob(Q*>&*swhcGgopckYE*NYd$dXuAlJV z6M(A|>&@$dz?aMYMcJ1J${;nluS#h;Qa_c`bfi9-6gt#;)%pD>`ezR&l_yelMBfks z$`c3GO#FXT2079x!M7OdSw{%N8zW$NcJ>@E!V-op>~~!1&`rK*44)I#z+jqcgY|mV z#{`XQ5{3hP`6}s!b3#rJ;-nYE2d{+rGEhjfyDa+Wu!v8rB3$R#d=Sb3vgt}Q65xsmIVi!e7}2r2(KmnkrfF8^ zcoGd=1Lov4V4rC8eH^|i5sS|sVvw_#{+*9wx)@+)Tmz7^C2kW%Bm~xJ`&+A)thcarsR=gf|9^`);9$gstapPZ(Dj~+#`D0U)Y=Ss+; zG8t_LFve(QWYWDpMx`~EiY>=i43PU!tPkKLTl5x{fOqlw5OIGX5j~*H2hmmb!b{+N=+Ly7fnfGThV!w*U9^uH&!@U0x0W*yE9f>b@lJ`4OxzFPL+sS${ z-oKZu7xF%u#z*G;qm2DQ1MTI!nspq2_E8AaDTkzl5svEQRf;^E9L~w1!#7_;3KT-YeLcBurA>#FNyqWbpw;s3kY$HsD*?O)plmw!7($=#omHRAP zPdiyJw!gWVtQT@Ty%#bn#~)zC`|qY*&NbR;#*>Tq{aqG_umpGTD)>EYt;Ft;Oe43O zSC|Qz=u|!|AqAZ%Gl@o{B~5NE3ED#T{EW_=e9`*j&Zt#w}*q33v75 zV19BC0m$}w=K3)(pTP9|{g%%6GR=(Vu~wbGEH%V8Ec|{>VY7*N{s_*8QF*@1nCB1i z@cumGoxjJEIo`k)1+D}hMg_;Ge21tN;~CFg3ykx4rCDpn!FVYe_1y2@N5Z(m=KMXa zR*YvpUoF0+B9y0Le4M?@1Y=zK&N<)q_mfNmlKnm9TPmf+(uQ4?>)f$tK4UFV|GZJ} WujkTO=i3%P4(b(>S9(GR*FOabS_~5a diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-pdh.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-pdh.a deleted file mode 100644 index 9cdfffbb0d47d9a9b5bc964533e4a16a0ceab4f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13922 zcmeHO&2QX96o2t1Z4=UhN(&K1)dqzRp|W_B&F)4*C?zc)5)z?O2nQs`iJk1W&U&@$ ze6#`-3MwFRh=kzC5%s`<6XzcIGx!TQ@&{1fo3Y2^_3W;9i6dFvk!Hqu^Rs8>&F{T= zJ9cK@GFw}#RvG^ZBLHynn;S6aeG_a{mCF`5j>LZ=R?B z0-*f#pFCgu1Ay}7UwEFm4?y{fpRfK5Kza5zp67lAp!_QSP5JeQJil=aKw0;AUch?6 zGmI6(SZmv@wy|n^cFS0CE!#M#H_T?;K;dDvY?MoeQ{SZQ%iV^(<+g0Yat|7gy>B~4 z)2bP!fp_iNVAO2WI>E=ns#W{Mbn2Gr*{h~kTL;6a?>3E?7zJxhLVf7&NFYguh+Foq zyKk?!dkvgz_@t;9aUV79#>abh>#p=9N#-M>JyAQ8VC#FfcgsBR`@!Mwp<;qzE86%S z@4BsB)AMYr>wRj3`tIwkmMIS(yY0N)hw%ITPCsaDyV9ibu1Eu7Zyq+yhP7UItQE6m zb*zc15${=X9mn4Cm`ZP$o*8N*)Uz0c&gaYI0$AFZvL2j4V+VL~3~icSO+dl3577jB zraY`}6p+zoPZYp1tUfAiw%dJRa6~vVBy+A5V9(*jIF3tB%b*9i#XwHD>F&6SjJu@3 z1?@rIv}y&*aiFkWcWhty?_+?Sv2F8CAn@g~uISOZj^`6h)|1u^Bk3sD4I}AioMC9@ z(d6rp>1G0(a${XFOfR(hDhxf9`k+J@4c4(t!6#1r7hHGN(r%qbwxxa{#6|pm6){aUPFN1jV;M2`)VOjmE@IUCJ|>Xij2}II znf^M)2sNHA#A86lDe9B+Y!a_HPdO*)89qCueU`e-#divjb;$Mw@Hx%2MLpnMd|wEC zejs5Qh*$!fE3G^q5g#D{_0BEfGG0+43+Iw+>~CIZ@C9CAOp++-J#iaidj(_sLPEw@ z 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 lFR^v)swEZ0$Dd){a$2 zrRR8!4Tn`3{<=5@HMvVoqbNFzJ{n&cVY4a_E}H`uQ!p9+d>9LZ9z z-W6RiGt_!nCY>xt?;~hP1LZWw)7(E4>vUgi*ZAs-a!i~PSodn%%}rt9bhUY!1~~x! zxpxKsnAEjI^toe3aIs{Y?ldO>KJr{-8hpb-GW$-VbI8>(&GCuUb2oUd?gqnr z;9oI>bOeZ-L$r=O#rhSWWxC}+?{hc6)mvHNsD-$67_Rcc>P-{baE2f!qQOmRDo4Q7quyfyMrY`te_Jg z{khe#lXUJIp!$&S65!L#y+tkH%oe*uxC2NF_dwg6;A5r8iyny{;^_}9Vor=>i4x6q zVR^!zMW(?479vNc*mG1eGl}mSocLmY#Fu82T|*Fmh=c7#{0D`UK@z{Jw0jxx^>|$e z@jLOlfOtIkUzzv}#a|wY@%Pu6c5x0?Y0u$^WYS;v|gFF8|$KXToWQQwrDfhr+;f4LrPu zBb9*5ktfafOkaG@>*3c5^GNW0j4|)UcSYf1kbHku+P#c#FJ9Nd_d&ca;Cm8dcvZeN z9`)##iR-w?%8U$a30{;JG zeNQ3(@~hkbzrM?nO45Vpg!$I{um@5uQ<|OkQn*Ro} diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-secur32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-secur32.a deleted file mode 100644 index dd5a816586250541663157a4da2bea67e38f2f13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76282 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 CL{Aa` diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-setupapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-setupapi.a deleted file mode 100644 index 440f89c8819ce9baee1060ed474625ab7428f79b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156366 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-shell32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-shell32.a deleted file mode 100644 index 80bd7346030d34243487748021d06b2174ba64f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135696 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 lr{9OMy;ZIoaCRB{LY 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 NQDYVElIaEU{~sE;h7$k) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-tdh.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-tdh.a deleted file mode 100644 index deb433a285697b31a98d1c615c8136e5d0fd55d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11848 zcmeHNPj4GV6n|MKZ4-h(r9ech%7sArC$mnRwIiV_QfUcND+Q5=3({uWU1Jl+w(L!s z6bS-CP!NJ1IKY7e5=eZEegIB<08WSlCk}`cqP#b=vpc&pYp;=-PWyU!`t^7w(r(#$Hu32 zJ+Nz@;|}q)u<6#envIs@UU!=Hs@L_ww(GlXTa}~a^*yh1xY23t*Ilo3weB_C*P7K< zXV>xTt!DIKZ#8_+HEnw_DQdmy`Pf$5>-dLn)NkY1MaPmAab2w*jT0XegS@iuHGOU0 zdnxgEuxGD3?X<^r_0p3)ACoKbnXAmU!U)m85^~hM(%jqiI*#v&+37~wnmXMR>GP?) zKv9+7Cu}Tw!t9~zPKu(tQ)~N$R!H)Y-NiV&i>7H=Rz7c)u!4o{IrrleNN|92Q^;dh znt_7v9r&!Ap5$R;yWl#$ldi&Q)?nja;YPRHM-7fhuTC#qED7CHSeV9s$zcslp|>LB zq&J_gSC;k8X!JzA$TweEFSv~c6sq-x7YP5k5AgO>)!7k(KrY*gUY$$4pVVYK8EHC_ zjdE!^l6|I`4vjn>0vj^h%wSb+DpiNsg=Sx;LvN)vD3Fc;Z(=%v^?8oaTN?nqWrA=5 zy%t*iVd^UOS)LIl(j+59?~-Wl4D|;4wGbeJW>tq?p)co>UdRTyUX)2sl#}^93UWXx z@jA!s^B^l_!F7#oo~Vw2VFapvZLhh*B@9_HOVc2a0sG9l9Q$NnvS}3L^@I0WVFObZ zxTc)=2(ZOco*3{W7KZLNjDR}CoUUn_#UiIqxb7#sx^UfJU6Gh`k`4DGoH%mvbj+cZ z<3+50D?l)1c`!4s`?yX^YZ|qn3rEp<9K;sV*rl?Jhvso;0oN`RkvjIA#eU_TdsXGP8 zHe~w(1ej*lq89KezAr>;zK}2r#F)UwN;A)U#Cr%pt#c+kh9wHba4spZ-#jtkeJr5w zlF}!GW?A6;)qhpA6YKmR8c^+!5Z9+U>O?_h(f)oWq$OlpQkxHgxw{qp0h zQdTZ3D?7!63(-!2*Z%`^VOmCnd`Zg?Grs=OS?oWBhzk`iV5tG0VlHt(9=Sq9g4y&Xu5I0SxDK03@VWy5^g zRL=-^5CHwWp#RIapaq=kK{0O-=9NFdbjSK!Ksz9X2=}3*h*ASS!Bju$5c?X7jPQ$4 z@ADgDE_CkNKpO& zHr9N2j#*dc!)73%%zz&-)$u{GLOMNE)zR%1neUR-GxLNk(K+E6ob^H3632=7V3PPJ kB*WDBo*6D;|0zVf#|9U$)PV0Wm)VkH1(hplibH40zfeZX&Hw-a diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-twinapi.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-twinapi.a deleted file mode 100644 index 24d40ed5a850635b9ba8b6dcc7371783f0cfad5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2582 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 Pl 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 WK^OxArtyD|em&O_`VA3I(Encwd|7w^ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-version.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-version.a deleted file mode 100644 index b6f5f4ffabaeb2344646b2920c218d3d14f73c44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9972 zcmeHM&yU+g6n?RH+wN-lQCKZi1<0t2!~q3on{~1XRU1_;^a2Z2w;+&av$aD^Q)iWA zx7$jf6+(an5|#Kz_!D~M#ECN}{s0a=Q{J2L*yDJdI4c|!k&$LRdGqWU&wStaW}MgF zY4+~4uPnc1B~xXy;#3^FUaeY|&70KHvTAlcykTz{0M-D^a{!CK0W3W)@`?dK`PnBT zpZ^1Z^6IZ5zl2xH7k?M|l|KO}TYrgs3Gch~gt4oP-RgV2KHKpIUXNYvx*ogl2h9VY zq4BuxFsI5o{yyc<-VMAv-JZwX?){+S9eEvggb(n$0c$e6^PUH+?KRzh`O&cJ^*%iG zdJlG+okQ<7Fy`MoU_-{l&xX#YLC?AF2kv#hqdp}zDecM=WP1bN^#*h=y3sq|2wGh^ z7+p)+cGG_tb)40zw_iKX?unjC?fN_Ai)6K??W6kA_mka61KhqF49eYz1`+-*C-Gmg zZO3se%c*Wf_;KiMv?yVpLtdErz~`k_^R6_6c6Gk!@#at; z=Y|kqmS}d;iTa>KJ_dY>WkIU8Oek(ofZ|#W<(;R!Wr<=3XC5US)53p^;tf6wELLeW zIIasJDrjYOD3<=}Rq=~hp|;C9`N{h5mDbe+Dv94FpPy%VEf2QaJmjD|CXN$m4cdpn zU18zqO3XC98oh7#EN}L4vgqNZ);1{eE5^M{i5HYB4 zW7-ll8XE_;FhE2MI?G@C8(cuz6zLd5D)J__e-jkX57y3vWzVYLyuhXwbk78R~TN>U; zVH07C`V@Fu!kWOVz$X3-nU#to>8Jtf9P$_eA-4H!Q4glH#QHBSdbMQmDm%;1Qx&k;{6BETB$kfwt8bIJ8@ z&^Z2Ah?iUQ1me+HEaGc95nta-Y5WPoWSqu-ETF^@HBF7*SNa{L@g2Qi3h_sJzewY0 zw>YWBpG}@}XBzG2iLRJpeP0&_UK;QKuLx{;Kv&dVF%^q+XO47Q3<2b9Z7%}pXVkTC z%(kvih;&8OCDIGm^v!%oui3Sfrhkv{7^mrbiWW{&)4x#q9i{05yQ+(MJii8t@&K>2H%#;NGcmgB*zA@XA`TnR07G2mw`^;{VB zf0g`itYAKDz~{ z1jJ|-7ifPxX>2HIxG?K+fi!_q92X+FK&t^iV3|hxsF=XpiajgXIXN&tE7Q_ua$pVH WCgp$*4YM8#PIp$$jsr!-fPVo0kx!KX diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-winmm.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-winmm.a deleted file mode 100644 index 2504470f742418554603da4773f0a6bd91e95e29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5758 zcmeI0&ubGw6vtmSsnyVGu|+(tQbk1KrcJjgh!m@+hf2Uo6@+Qhoit1Hqa@p3icmp3 zdFauzXHT9z^p6n#9P4}YBRktoY>K85=)lfQ-hOxI*XO;N&9!^Q=4$1B`mP;K*_o`H zb)9@}%C;SG%gk*%=g8l-y^;oi5rD)GfYfJz;h*wKe+Qsz^qaiKz5viQ{)sNe78rZc z;>{K-@PIejLc`;1+piZle1^uIyvy7itNJCnl)X{stBodSUSqpn8!|^I!=JV9c*=Fw>&y&v#n^uf;WnT`3>(t%c%7EBY#JB+a9`SKv** z;Te+9Mv4b~&9BEarq$c!rBaY-=r!%OmRZMfUDvkV+^kysm9+Qq94;q-odCEbYD16- z_)Z||-7^~sD;cjC6uV2rop~r6WJ;~pF*4XAolh^E%xUd;tfa7CW|{{_>t?i_bR*q$ zvs#DH!bAt1zOT#Wr_UA_GhVfdhD_P7a&_a^A;4OqTwK=%WjE)GUY|VD2Fc91vbt%E zc}jNE7;}^o8XA2xsd*IhGlaL2iLM$kH$*@(L2eyS)CMKeSnvw-zIbw4FkI=K;n~?R z9%+VMocA&6ETsN7!&9Ogm`zY`uwPdd6SS_K7}k2TG<0pBFz@R+>2&>QNz5lHTnq0` ziuoB8wqD4th%hVPDJX$*P}!`nON(GDGSf83Q=nhWuB4ylm*zA~W)zWqj`@QSYqF^% zj|5m2xy&s1ij_WWFnw_!;XN$}Q%<Xcvx8)c+LN4Jz?$S#GD*)VI*r|ynoP#`3NYtS>^r59^o%r!+=BO5D$CDCqt<8 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-winspool.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-winspool.a deleted file mode 100644 index b719e9eef7cb97839441cc1c713d1b61e0d6e108..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34746 zcmeHQUvC@75g(uI#8Dh4P88d5;)HQ*H)sQulx0#b(n5;lv<{3~u#?(ogV2@8n?v({N&{lWNm3+7fjUn-Z%#hK}1p@2W!^nIZ)RVq#MD{hVh zz`Fnk9{@bL2ypld9**1wpfG`H6pp>a!-**X3MbFS7*kj~#KSrsQ`mTkhpmGE6t@4v!_P4< z6h8So55M>)0EPR1qEM~QSF7)B#GQ@mV%&{8)%kWkuHJ35YU_vR{|%YsE-Z;`LX-873vQK|Y%q^ail#qH!_$(`tGqASih z@zOd4kKbu8X;-r|q%OoOwaupEMbima(=n&+zKZMve!qSGnz_{wH?eY1P1wbB;VDw$6 zCEs~TC%!|y`6`m{89bP9@X2%;U%&L@Yl~N|T%KIG`V*o}t~8plNc`{DXtV5FsojwT zLD$QS9x;}B4zcOw74_oL%4)0^k5*3m84s0!xrwr5Wpn_O#`g8(VdX<87~A)hc@uF) z&!CNXB0!@KK^VrqA|$U4f#gaB;mkILjE}MMp}HRP!uBe&eUTkEh7(xnu5PyOa0)}0QPPyj zUBEvpU5AHl!vn3IXSz?=Fl1YG{vOV8LfZd%yR)0tt+9(!_(?u>w16zag zc}<2MXBqz(t8knh*)l|W)59BEJB z5l1RVC0!%%skOTFIFwDTeP!(h=w-)R2N0-cr9@A_t9a|6G{2;A^m*~A-jq6745nGkiPEbvylFgn=e871lHuRNIwhK zAX=u;{=C4pLi-znLQw>t;@-+JN4!lAi~5Qu>Sy#mY_8u$tDm4Aht7va{TXfS_Bz7_ z`Xw;t+Vh)gx!?;r^gHhX>iYc@F^VmMZ9G!r(sFplpoGPF*%Rj%Y&#~`?xz!+Ka2G^ ztad-G)jWAEvW|6X;b>FZ{o9pn5 z>-0dTW$V!F2-;G*+CutgZoWjPlOKIpOaCPpIAK21dj1S6S>4{bEGQI3@EhC@ECH_j z2eXB34|4x3tGPi^(nIPJDH&xf^F_c99g?}~*=`Sf#xnKXa_}3JusHYh&*r`=CJyOV zBfse>A7#Yn z1q=7u$9jmNEX%+vmJG}a3PlloiTkt+Xt{R_gU%3EDttY-`D`6lt10U!X$?l1t#e$* z#U7chqe%kGu?2rl4U2hCZ*Fb@G05+z1#~Qh`Moe($Hcsvt>d7F#l5G;H=nK3ANQm5 zaF1%ZpTpZ{+2R?lhbsp>721Q3cl!Ev^O+5OZ5ry`4co(gKEb)R8b-$P?lZGNqFc+g zY1-%sVYR%k2REOq)))Pw%vGBp^k-_WntI>S=Bml-!_L+zdHQPexoQm3JuUW8H2QOd z>Gb5Ry`j<5xlS~?l@L^;mpuKq3p4Pa(XpPabeQdNnd3~4>vM6Y1cjmq9^ziZcam#M%d3>I zy57?xTb{A!;OBOY^2m-d9{Ds!0$;?Fp(DFr5AxL=b=(&)M{~+4gzP^o* z#qP>AN4_&9EdISct2zF68vjo^@IQwS$+FHL4gYei#>Ri}5gSk6YOenY{X47w$HDcV z4toIqj{mC=`rnljRR0%qKdcMa)|Z4K)(m+9@o)W03BFC1^}o-|8b_`r{H@{$JCalM z^utz4_7^1ic)c3Qp;mv`d1VJ}^wUJzOr!q=rc3luokWo^x&93I7W&onVRuqk{qO0W ztxVY?_Mc;CaL`PII`1&a<0cmL zKW)mi6r2==qQ*Agl*NQ`1i!+)0d+m+j+Vek4l50w{@Z-ylUFDgie#;+L>fk!tMHhK ziA+m?&&a1C0b-rN6fG>)y?wRz8X~!`R@pwIVEq6Xf9scNtoy7BW#pD?c#{+s>AwEj zd`)Af)_ZC7QD!CV2leleSs&Z?`ASO9EeEq~Prw6y3uW!tN-V5iW^kY%)>HqhhX`K7?V~yMjBS$ZQFdF@TXC$m> diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-wtsapi32.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-wtsapi32.a deleted file mode 100644 index bc6b087b973cd2de282b3edf6d0411eae588a56f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15172 zcmeHO-;WbT9RJ?-_;rF1MS>`%!bzebW!vlZiXjF$F_5610%8owUhlf4^?Kb)+k?Xp zLkJ;+5JQX)KKbCE;FFI$`RpIy1JC{u;`ci{^ar1X8;rr{l(*v0{|3{7I@6Q2SD-oIUY}x0Vuwk?fzZ9=o#=QY+h zygr#m@@E@<>-<)~LL%2%YET)oZHvvIgNm@Xjb~ylS6g5BHyRyO{bj$?X#}lLgKneN zSgmyNS(P3vhVO~>mO(=J4yH{4!30gv`lLmdsVWOsOzIfXEi_)tac4enpxHLwc1KI7ld}JpS{YvZmEPe ztTbN~25xz#`d}xTEP&Z5fc@-g2jsf`R+l~Zzhq%)IajT8EB!@S&RJM`np^2~hKRvk zl55ZlXVHf7up4jF*e*Ss1viwN57S9*Z-2RkP!0_&9JI)V`QaVM?Zc&ubA?>B*`%~w ztYTf!~ zYmKKcbVW2xog4%HnRYq;Nx!616?9v|+iWm`35VFGJ8=@=Yj))q2Y$teWac}Ga;W3F zZhoE-X_z-y$d@$^?P48&j6*oXo=gsr9XW~lRe@!?WxvR z^2i6fVz6n_ei86L&-AE4`!c?%FIXIi5gkm1~0C{GZkFik|b!TL-H z;4R`U1fb4yZoGj{6o~UY1s5eUIPg6_qxT$n9-j=um^WceD8^$#K`i5N9anuYVS+%; zzhc76CLY8pEZt0aQ=nck;eE*i>KT~@g9))#r%7{RE*=;11;Z;mL_;vlD=cf)bevw{ z8?D|!UZHE3GrYogb~(v~!#KX9dWC&uf$V`VnC< z%o{W{D>_bZa8s*ykT;Se}%z; zU+{6L2ILp^!HPgzoh9CLXE+-js z5J!7dhU_7H^z7oLnGuHs{uLu|(_01y?&GuBV@ZM@O(c!`ay;D6nV#VZVqqBW>l$9h ziTk!z?;zaYvCA2_e_)rBxW{7*BjbLzM1j~MjqFvY+bd)R-W3PVi4?jy@DpA`4%m7h zWrI~Bkuw}}h3ziH;zjASxx$|K12tpXjz8E%$cP@dNc9ZqHGzD^g_9zMZVueTtI=ag zfT$vp_6DU1>TxuB-U>Z3iDsP9Qm*w)9}XD*dZTTkC# zhRuP#(&i51oCB?B^$wZ?>EF0CIRo{5zDdbB5S>{Wb?(0-iuzO|{uS&$1!djd z3-SOx&im6n^N)GPPI5u(x#<-2%!HW`b0@iAehHnNHdSAI$P$ja3YfApA@ytEqeNv4 zYDI8{C$OsnKj2-T6H2h#-9j`wVK&6vG0vO&VGq%m4qFp1YirYSu8Grd%8p^e{F79w d=SQy#+$$zX7mGO#JmO3+do4YJB`XmI`~y(>;DG=D diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-xinput1_4.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel-xinput1_4.a deleted file mode 100644 index d40324e1ff263810726993bf264015640c0a9203..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8314 zcmeHMTW=dh6h2-jZ84=#h-g&-TBIQHfQ+5kYl9F9O%X&06sfHgiNa=`UE`&W*RnUM z3kV{F0zx2#7bIR0PdxL$V}BXtoSB`=UVKBWkwr(E%g%i3nK|=)XJ*GQzTpfGI&YR< zHRGXLuUb{B(yVQoW`#BBscF`m&FF>w5&%36V4MN0-T}DqE02%=3_$VH_dH(4oZ=ed zC|>!U$7_EAP<;M3inhIN+qZ|_U}*1pp*OI%1J|?f`8}ua+gLejTDDcQyMBveR3G%b zgJ9sl)#)Hu=VNCq$#(-|4l3!J!lS zK`;4U21365){*N6H@sv2z}s76U^haSikaQf! z!)m2sS(a&9^}6JtdwLG32(VrNc#@S?p&WXnkd?^>;BhQlc^ zI3b)*Ke%2K*b7)#!Exzf3n~Iv7xjd@I3Cv!xTmnNmVp!PBH!EjVE6Vd6hhhUcCoVD z_Hj9Q`0F9SCxy0yT#E(WX4FM7(GP)jdl};}nyrfCFq)lK7=|nm50NdIjaIR#SQv|8 z_8}G&3zy!ufL%1LP4M$MOH* zyqvNAHKQu?`H)haug}K$Mx~*h{JEe14v8|&&+kXRkFrJj`A@ZeC;9m>8<*nzm)SV! z=by#-&Fkk^73bCG=92UN3XY$G^7R#7!BPXh#aw>js#zzvuQlY&|JscFuj17V3;QMa z^b!A~6NBXcRb1D3`M;u=5W7EFX1{+eV!PtMG!eEK@T1QE*sK#0h_~gfg3TFKu$flD z8G6QPyFf?to{QWC23o(9c7ZRlaj9M4G#e+E_=SI%4-c z2K<7#+zm2jpU^}WB5!4E%&3fwYHEM@0ogK58Lq~tMJl7G^*c!!qikGC8DD4Pq%z1a z&bvPtiW`aB?&Vg+bCCv=DqfFjC^O(EOru^zht5)e9bYD*V^9iM=M^k9;B(Bm0>=NN zmHTZ_Wk#-B=^IcwPfX+bEsZ0K5AitA&}Sd!~xhk3aUApW6T7EiCn atKWQzyHLe*x(^n?03VCoql@?RV)frM!#-00 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel.a deleted file mode 100644 index d9d2e7fb4..000000000 --- a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecore_downlevel.a +++ /dev/null @@ -1,36 +0,0 @@ -INPUT( -libwinapi_onecore_downlevel-d3d9.a -libwinapi_onecore_downlevel-resutils.a -libwinapi_onecore_downlevel-wtsapi32.a -libwinapi_onecore_downlevel-rstrtmgr.a -libwinapi_onecore_downlevel-input.a -libwinapi_onecore_downlevel-d3d10.a -libwinapi_onecore_downlevel-setupapi.a -libwinapi_onecore_downlevel-d3dx10_47.a -libwinapi_onecore_downlevel-gdi32.a -libwinapi_onecore_downlevel-user32.a -libwinapi_onecore_downlevel-newdev.a -libwinapi_onecore_downlevel-comctl32.a -libwinapi_onecore_downlevel-kernel32.a -libwinapi_onecore_downlevel-winspool.a -libwinapi_onecore_downlevel-secur32.a -libwinapi_onecore_downlevel-uxtheme.a -libwinapi_onecore_downlevel-oleacc.a -libwinapi_onecore_downlevel-oledlg.a -libwinapi_onecore_downlevel-oleaut32.a -libwinapi_onecore_downlevel-pdh.a -libwinapi_onecore_downlevel-apphelp.a -libwinapi_onecore_downlevel-difxapi.a -libwinapi_onecore_downlevel-psapi.a -libwinapi_onecore_downlevel-tdh.a -libwinapi_onecore_downlevel-comdlg32.a -libwinapi_onecore_downlevel-winmm.a -libwinapi_onecore_downlevel-twinapi.a -libwinapi_onecore_downlevel-advapi32.a -libwinapi_onecore_downlevel-ole32.a -libwinapi_onecore_downlevel-xinput1_4.a -libwinapi_onecore_downlevel-version.a -libwinapi_onecore_downlevel-shlwapi.a -libwinapi_onecore_downlevel-shell32.a -libwinapi_onecore_downlevel-msi.a -) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-0.a deleted file mode 100644 index 4b60a8dbdc7193f79b0a00a0f1a73d85e3141365..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19088 zcmeHP?Q0xG7=N-!`Vv$7mTHw^&(dPiChn$}%eB;!Hl?-TOTGvq!se3O^v>QJcNc9% zN)ahV6spt@qT&ZXh$#5U?*;uM#Lxa2Vtt;O*_qj$-P~TVyDYtdnb~{hnb&=O^P87V zo0zPZ6pLI?Se*iZ7Xc>!2H5o%!1N{V_udB} zf8ZDH5B&i^{xIs1KQhDp(J}z}V{6=>r~!~a+2a1C1_1fFTiiQXCix}N1ZnpaMrsp;s*KuvP;$mq{58RqpsisgJtW?&o zSFU+)V5JvY)s@Y)M!i?_x>u{0yY1%XO0(X$NonA^^=8LSsx9Q%*Yf+<+Gt|!q zM8#VusHBxjzh>w&q0+gE4Ks9@P}A{;Hy~0!Lfwi;&_r^mj9N7tLjC2YW`py#t&Z z!`YlYO~PE?yU}OQ@j(GrR_CgfekERor7Xe9gSoX{Z-5%yCcQcpc)aNA?!t!&Y?tnq z!1nbPd^zb&$LlTndPo>B6QSp)`!RCBY_m6u95Cy1z^vea*@iRg%-VC+1~Jw~z2S*W z|2_n`Hnvf@?hAxmA4{rwJXAla>Emd{>1bm(9;c&?-vra4kqJ66#%$~+F=>1(R)>un zS;zR;3&BFfFRFta=~&RlFh%yAVpd;EZuMoSXjpv--^M=b0!(CW_4BM57|c*>uw93R zrO?}svU*=%k2O7sB0b%ICO!W-98aTQ94MsuV4RK59`=;P-fL`WgzD&+?Z8IAw%NMQ zCCuUiBTb!50TXO=IVNa)X-t*V=N;Z=10_t^w|9yOrvObB^1uRIpr*GdOc81fX+7Jv zoihw>gZO2!tn8f46w+u0I)&+dVeu3dz)r|7$OqcoNHs*c+ln_NAJBU& zVr93qdO_(0_@#_Gccb+r(x@LxsPkpCUdeA4Zl>T>q2tT2#}6K!pkMdyDVcgYn0Ob! zZIjxsO=Suz*La?qGj1{w=wr)x2Lv|QC{hiWi}Q}+6kozdCV(h524oSu zMZARoR69r1DSRSFGXX)vNJs@zK@l-3lKcMe7;( zxD%}>@ln8cJ}f@=Mq7zLXR@_?Ue{H}7#4JlTow|FEcg|}NQ}td2YDnggD9O0_@tN& zFU8XaUPgR!T;hf1&|&fNB*foA<$10396sKiPke#Umr&6Nj5ovZ+=*$Ol!8nF6@~N<@Y4(Ahw^J zVv&a5@Hxhc2lQ{UeEY{Q%hI=gJK;U~ylMS+(IN&}|Egv+XWcWd?_k5;gpJoCWQ%-VGn*g`^)1z%&RP#}99-Xo}l3=omE5N=hCF)AHzJ-9_OEzBQY%BmcR@s`UK^Ouk}^QW=$@NiB&W0Zy~3mT{$nShBKYk$ z+cD;uCz5>s5#4JEi--})V*Ql#o_q9NR0MwH?qNG@vBSg#+e1EfxCm~igSg0QS8XS} z-<~(Wza6cj)GBH_`-;g3T;S$9*ZT^ZAIPayl>8$Elv?l&h6Z2go9qxOve|2o?y%_{ z4q8JE`X*{Sci0oAb;vztp7|ol9kziB+4GpSluFNFpONqmd%;{!jqb1&Z*1oddprUo zYR{Q({wUDIgHG|sMJ`~W1wUhK;zad64k?;O23SdWi(N9$Zto{JyVY+7(mcD3xoI%I zv8CG=a)bEf(`Y@p_n>q7Vb5+Y&01pqBs$mYtrKiyb-cVLBotZj8-@xmF(VKLO`KW= z$VqtfJ^GrEz4Z{nByzU15*s7CiLr#oU?mpQa|xBW^b9bP@Lt?8ckrWcq|{1m1`#wY ky8syfI3w3=a)`|$I-B@^J4*=`e1)OWV-5*ZoEj4T1G<*wJOBUy diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-1.a deleted file mode 100644 index 37796dd79ddda3cf3e2384e9fac3747041b7f1fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15996 zcmeI3TZ&)fa2=5zB;o8hCpQm&S(rCOy3xL9jpLkgO6M({LycdNtYdk!;2|%HEn}_nR02C^J@K8fp z3eVOlSk^_$dSl@92Ugt~I(_S6x8YdtxgERbT9|mfR<)`XtL1J|5b52Hv(@c8yLQha zvG#xpV6@l9!Y!-6+ZnoT$7+==`m-&(TiXGv>DY}Ns)IM3zPo*+Zg1__SDja#mOXT@ zInVccEq4o}-Ol9(SeD!FSs4UFBKm@u8j@PyZM9xu4OT1h^TH+Uw%fW9TPDcmrKF}% z&%I1ak33q8NZsxaWKF2WlO(S6oQ}}y<<55Z!VRxA>)k%xNoX}y>_unz+7P>@A#PT; zht1$-;w~vd(d;XI_o~~8DJwFuOiGRV?4X?A;C{FLdUwZ>DilRk38}Q-k?Zm0H8Q~+ zq;9?37zC{ql}EC%oRlKknVG2gg#9}c(x=Vx$yWwALZ4xQ^m7LPxfP~Rvv?4cbm z!gAK2ez&+e7^H~7O_FozhNmi??0$^Q;&aKz8k9V_6)&CS4#mr@dU9tla!e!V<$G5g zwU^q1B^97zdBk6CJ$&hBkhtM(8-5h2WW@2TS-pD!%GmnRFBL1T~=pY#bx_HjfU(PeD zZ)UgpTDhWFeHDA-0crxwj@#b$Aj4pY!92eogJRSEH0#JYGe*fFzs?CNWY}h;E=~1 z{>%y`OxUw`x)P@VZFc4-1AfOyZqv9NQDdYHN~KbHh2fUwUshL_CDQgW^?ZpPO;dXv zX*2>oh50>U@pLhvl+nMSKaj>oszG<$4E%=g52zn2SlRnhy%5NS{7VgGKGw_mq)|K8 zQ0BH?uIfG4V;H$4WV|$N@!fl;>AyR7g0vuZBs`1O&)ZR)?2?{?+v)*~aa-qhjsFTN z6~ClEW^A7`l z!FXt8pw~j?)k|)ya$m&=s$?UmyrK|9)|W=m+mhwwNzk@bZxTT=;gXy}Pz;eiK}XRN zMkVO}uv2l{Ej*knAZ>E;>@ZNnBjl%PCxZq?hwMo$O&$E)GSw@Lx4C z3!2E(PrOziVf`8X)7ME@>yvgcBZj0KsI7eoqO4EP?;|8#d@9JG`&(xT3? zrnH>$X*q$tKPoNrkhE7c*|eCb4>|&ma)BqXvjN}XHL3M{&Xp*U|IDj&E*mRVb!Gkq zj<#u@r6rBXd3u&>QoTu@<)&Uv@hqR}<$P97Vc(C+$^l5-6rJeR$!S4Hz{^V_g)RpC zjOSDhaA?xS#z0OjBRQ&0#6rZ1tfSgM_ft?Nb z5w9s4;M}AMje(lgY}72vd-Z%TWxCQ2sM*U(f1hGA;u9FOCfawH)cup=j0%|+{6Nk> z4EP%3Q4q3x88n8KOR1WTj*9A2rgQ{!(7T^eead}gBl=IhCYp{%1POsJIq$PU+<(jI z(6`+8A~D%x@E;lX;#X8crfd6vkiD$!=OjYB&4S>g!O8X^rb3CjwhzV!we?X@G!kQA zCF8F9in_L+vJ$XDwlS(VnUz`bw^RaJCV9R^D>ga;kFw4a*x7&|@G7yQX}v;=PG$_e zWZa#f&c0Yr^H*a2cgg;{u)WN_3X;W0J1z7*`~PV66=``ClW6uB2+6olKm8Iik&wN7 z326`^k_Bjgxq-D#vS-QiC1eII_}rwaYaA>5=}tbO5%C?$e#?KclRpEAKSr8pau(Tm zBhSgyo&3bsb7qo7#^7(JJNf?xEqht*10?-AZ?gT2snDXX_LEvKU`hCGVt$_GZ!>}% Aq5uE@ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-appmodel-runtime-l1-1-2.a deleted file mode 100644 index 3c8e1bd41a06705a706dfdf813e38192d2cc04a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9156 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 AGynhq diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-com-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-com-l1-1-1.a deleted file mode 100644 index b69e68d6512e85d1e8945ca93f9045a98f910367..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3580 zcmdT{!EVz)5S_#+1*-@SRn-$132r3VG<8!6p;VQCV^xXs#!WVfsU1hL3q2szQ^g5Y z;tTkb9y##={TRy3t~cH^jvEdMVxsJhXP>jXGxK&fPhNSWcK@~c!kQFk+i@M&ZaA)G z*}pL?AJP6LP0Tb}Io z{D2?wE+6qh8z*IcIAnPv`_Uoq`7!QwubucGy~K|OZ~OqC)0YYW9WU%2CACOJV^$O# z+jd=yjN5S1u(iz2IR*ixUIKU^v=yi&{1ih{C>9*FY8@}}3Q+(}IJm4G#qljLI3t`- zKlrq+uy;|Z;JS2af~|1d%1*eo*|;5rvrt*j!Krc8WA;?TxQf|RrR>2btOiaMKebK} z0Mxn|)D-;t8lYF|ddJF;+I1h&l*WyD38wq6JPV`w&X|SK{8kYd^2ns5z7;-O!6BnG z6C?aZSz(kOPyR^yM01c3rVKr7m%vw3WO;x7EZ^B}Ol7%?QFus8hswXs@|R*6*sRlP za9x{ehESCAvRvWyUc-%9qmL_{a7w?~uc5&JYKi}b@Xvjr&6DSSahM_;MdS>0lm5xz zSXxA;O?a9%xdbi6(L<|_u4N_rl%=%jg$f>PD4uqKP|FQidO>7VKV9qX@9* HzcuC`iI!wH diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-com-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-com-l1-1-2.a deleted file mode 100644 index 7965562e2d4d3002acb2e6aca7c67cc0dc20856f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3500 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�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 BNHYKc diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-comm-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-comm-l1-1-0.a deleted file mode 100644 index 75e8159fa16502685ba3c51c98461fb8d5bb6a19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16380 zcmeHOTWj1_5FYP3H`h*_CQUDtRtZiBA-k0vTV5AaOpM#U1PpO6523Q`)q1zy8(M7| zN-2H_CX`Y_e^H+MgZfmQ&YX*MbXi-w)GER{a4woNt8>veb4D}T+iSMF*ZgAUGcBBq zWy3T~y{4~fn$Eh^Qqxvzi{b}6GXQW8VEQ9~OW2%w#`D}Z0Ok2_dA{)&fbuPoKdb>z z{`eu!pDqAUzJvFneD@;H_pzq@;2)l=I0j_{$EEz}m}m2E0Lq_ZALTWquN_;~hGl&- zaNL2l<#>*3ZS?An^;4^B_gfYcU(`&?T(a7&UCM&q>pFWq*BRP04piwrh6>9nQ7Uv|YgzBR_S# zVV`a#7=mkT5q-PWae6~<5cG$rg6pYgd$@2mkq}8-Jh2A{;ci9|y&Ju5qqQII7c{}~ z*mdm44LE6Q=Uksg1bH`U$2 z;1o7EB)%5iaA8UEUdF~W&Pz?}pi91GNhiM9(R?eCPs7H|1U}g>Yt$r_&Y*&tq(Yhm zi%zG~HY!F%uh!dbs5V+{M=&411=ycz*awmz=;|KQkmbm@#HQ|FX%vsLcjZw$%DzoA z9@>#`5_`+`>;iU`r$+Ly{UTJ9r!*|%iN>HrJSAvinT75qlsCsfc}?f%pr-B2NR*rS z6y|B_F#Ug{e34B9i<>kXoYw~eA@r1!P%in^TH*7hM(vkv;*;%YJ&S}gP)YJ%X8SY8 zT4`|JWalcfV`7+rhSwZ+4>*M(Ewt0L$P8qG?Jk!E+F#n!AgOwW&p9R?j9KEGYLZWY z1}k|{g1@kF_7+7}vNh0k-B{rQcG?ND5|S;lB>@ic(UO6gBwM6w9%BFZ0^?L^pr<@R zP~$6FkVZ&Khr!9Xy#Q6l;0lzZ%&7bSRwjj&amWGSD$Y|)v*aBrr> zy`i2d9QQAA*{9+DnZN>7S>nE-jC&I9`^kJU-2a@+=i{Dq?YOv~huEtR!%SYW{~iaq zf_;2#_EQP|z;7)E6>o~Z)~8c`T&+JValm2=`PTT{f2gAV4#8cd61>EgfcS{mN`{)=NQe2t zpTi#?H}3rigOB-1{5kJP6o_b1o-O+{{v3h%P;4wh%TCwp>2P0IIR8EFXC&@<#PYmY zIBI-Wz+R9tL%qJ567_`-hrxc7wx7g@a|MF$8}h8_)A(?LmGU=PXn z)TfTq2H(6&A5P)94?Opi#Az=|)GJ?H=GoG@#TA3%xvvTeRVAR0Gz83*6^Hb`O3zLP zQbuZ5jJWsyRSNI@4mXS0*Bn_!YJXJ5Jth_i_G|f(Vw*39Kx^pI8eyP*)uigiuFzl8`cvYpxa^eR`N&AmZN5Nj&<~J|^f( z`Fz{|WCKzPBp~k5mlBZtzkuvK`g+RPZQ;@9&vX>#C$am>67%Q8qc1QY^5{os+3EU} z(c8l6IT`npSUn|3`12ADlV|Hcjn$K|YHsx;bz~{6Vm`gyEm>v34Ms`>90{!$1N7+AXXj NYJAs6e^wFRe*vLqE|35K diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-comm-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-comm-l1-1-1.a deleted file mode 100644 index 3b30281a7f18923dd9f233734b6e7054505886a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2678 zcmcguO>fgc5S_#=g{TOSdf;fJa3jW!5@RG(MaqR6xgc@dIQ0fwwUc1G&|^+L_b2t- zAJsCm>y6iqP0JzKD6`|)7tik7`N+F3etH(3c0QWb;S3$uac$3WP16=jx-`xHP(GXH zv;zPK0IgG;x&TLO`Z6|V?0d%3j7@mXQ#M`(oc)Ow{wiW$8U2WR1SAbiyh9;e3n+14vT-8-kygLVHS_hoS}|9EXS* znCIce;#^upq*a)vL+&9L1iLa9h+pEg9D1FRd)~?p0akHNGvz11Tu3R}aEr?BtN*@o zE3;|H1beiDeD<^sawG^@krV2V6!EMhxIpCGDJDGi(*?s$FC(n+8<;moA{I-a~ zWBO$N#ax~&mhv=+1;J(sEfD0wZk{Y6DS~+til`+#;fg@u&&?!=i3~J^ z2-8Tu0U^R!EOPFVoW^N$u_CpMP0w|G-?wf5u)AV&^!*+Z3UE{dc*NE=G*fw=vR&TU zFc>yRK^l}pc%}z~tLAZ%+ya9O!iDsM&)XV%AB`>Cm)UyYYTSYL6K=O0*U`9_XzUf> z^t>KX4bCiaPz?^L0XtTMLuzoMmg6~Ya}-6;9EXw27X7{k_);4OQ|-w7CYKc2x)GmX zCXe+pjKQH*hB5fV6v0@;%x23tX709e>Mt1PjnrY)h`D^D7}N+;hZy@R^N>_O`3Kc^ zJ(NDTVMD9l$J=;JN5Ch=yeW1SbpKKHEgf!;c7ywRnkj{DyGZpKZ;l3Tl||;fwh5>0 zo8vAzETEp=1B>~2$ktu-KH)bK;n-L^Fit0@^QrQ%;x?G3LspOz%&y7_;+HsGH}l<5 zd(LGEgSFmiq&x+fbFaEO{6eF;>QHsAB`!6UaJN;Mj%QYw9VX}-UNsf(qFkeQY9Hr6 zXPT$M2KSB?1}lQ`I#Pt9cCoG;tBOE3*~VaFBQC6Q8x^LDn7A0X$~8Ji4>4bhalYOc zY4BZ!(LOx!)%6Sdc6qt>nO3gwvkEDuQsx7+l(LnIX>F!wqoPw-D_?WK2WLdy$ zQ3PD2D$KfiXb&^6kvn`=x_PxDwL|>hh8~qWPtc-9Z-Vmd^LN$N;RhPI6PNr0sxIsP E0NZ)p#sB~S diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-console-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-console-l1-1-0.a deleted file mode 100644 index 38d587fb0039617d4e844967ac04c590b1cf490f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13392 zcmeHOTW{k;6h3v@y@Zx)RThLGEM2q`B-q{7O(ldHRlp(vTY=ajw33@PE(vv#Dsh(; zLZ}aD1wu%b5Kp}F#yijZ6Zl2DoHG}DY)=v=5`(gvk!CzObL_eJ`_7q*^ZL8>-eL2- z;ya~ea5fy*aqX(JUMktFNKH$nYIRNAuwMj#R{;ut16=qMpm>4DB@2M!GY@%u0o5q3 zEc5u%(*P7-S>f?Ddqe4v)@l0Oz*n?Ref7eZSZDcKy)r zc{|;P?|s|q)K6L-3hz~2&t3O|)&WH!?{@sdZqGlhpLnF!?$Zq(i7@H(yMgZoj^}u` zSNHHqZ6Ca*UvK=!Rl#1b75Y280ej$it@eqRl&QaJ8jTu!?uX(DpWr|Um6S04xfAw+ zoApj3@Ov3mwd^zOeX3yzk@DlC&dF&gTc4GuC9)S;xgyah)nM26k42kUol+?)|IiOV zJ#8QOy<11>4e#IeJ7Hh+d$VgDQ|hf^W?7>r%jFfV zK)Ky7qZKHV6~Kg9fpXxKow8kN1OeKdqgLRH8y-Fa_tR+L4kBEIL6eF?JY92 zH}j*tY9r)X*e^=7yZ9!arRKx@|Bd!F)(lM05i+!25h$TItwX!iSFeg*#2&R==1EWH z)7M256o68)0|hodODvZM>rLhuQ5^%r4IG8d(+&Xx14CP4qz&3t0~X z>iE%9P=|XDHd0hWB#C{6)M33(u!Z%L-a2m)Zy^BH&e`%j<|vRA;F34lZ=P823ue^0 zteh{VWF{uv+`BOBug$QJ?}fuQnsXV!{$c_RHHMid1^aT{qGBIqhOzJD#Qs*s?*E8@ z8D;nHa8NO9nY8;yO1;DE{)t{MgZ=OHdXe2HyEm@ge=5CZ$7f8l?Wa8+3bF0K&IK&B z;8(oHI}pkmIW08I06QN8);2Q?_z6)liUIoya!fMd8>QZ13<&jl83z2I*NYf{n|EU~ zps3(M-F2E~7Q8GlAG07DA}q1sj|2Y}^Ab&O=T8&KIGQQby z=R=oNEQr&DY4!vw0_!pQD?&mS3x2~?f%=H^6T|BQdvnGEd_R2BGk8rrYF#i14=!d< zG2QFpNq8XF#%X>SUmx3UJ|4_wLS)p^e2M(QB>SQlR36lxsF{!k{^pUtkq`N^nb1(= zPvQXpphG15v=Fq!A5p1e4b-1+~iXXW;spn5A~FKhwTr2uh+}$ z58c=6MINApEE#u2Fc0{>%#bg5rkN90nblC&#vcd?T`c$u)8W16{1~BQm@7F?k=L?Z zneC;>kc~6(K{@@JZFgr&eUhwZ1 z$Mpwu3Ip)N;;BY|o^ym4==v|KP22vQr^>T^BZlxnwttd+BS?Nl|JWlx@dp7u_eqM3 H*!+J1^1_Zi diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-console-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-console-l2-1-0.a deleted file mode 100644 index eab795a2b959ff4cf6a0e8bdea49087917f8c098..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34376 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 E19RZotpET3 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-0.a deleted file mode 100644 index e3acd5554576401e9d60bab18ab1a5fe8e3b5883..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5160 zcmeHLO>fgc5S_#+lu$kjJ#aLrR2*=y+tf`Zgc212#~wgjkhX5KA*RlUVpkMSJs^&# zKZrwr0SA5%WoFlFuM=A>2i!xulGp3m7w_)OdpqkqeC|#5`Y-Cw%xrPi9oKQ~*6N07 z+M-LZO>=Ft8UJ9X4gh#negV{e0?eE8y7>rzuG`DP3Zp>h`_oSE(boZh! zQDc+@vnYy=ZM&{(n(n5Is%h@jyWg*2AOTtxfIFf!2aSjyMxtF@nXtXnz%Y2l5Yf|y z?UTlC7@h%xBf|Og!sVvI&SRs7^U_NjY=v7_cET+b<2DoyDG5tCIMuK2$Tn*bTF5qw z*k<9Z1lz2@u^h{8bb|mIJwM>_5B{72e5~}mePxL4x*us+V`^-I={~F$VKo04MHtO@ zHGv_oWJ~N{;kP;LGAe}_;WJ`}Q6aC*78-*JVX6>dU6#g)?frjXd&_PmdzNCmi;=iX z(}&tcvwc-e1FI#P4bJO9%o2)p9@`aOziYTeJ$k=t6Hc|K?+a)!fNI(Y4B?+!qIDjw z_r?B;a4dp1(2M#9!+mKHY|D6>7FmKGgmd|aY2T1Oi(U-NOUn%6ySyooW&hATcfeN0cs z$EhuC8Pn$s>>~Ejn39n@IXd0 zVyzT;IU_kkJRhP(YUVz+sL);@El8<|s6!O5x|rBRj<3Rt~T07XcWH#vKi zqJV0a4;`AvrBZ-)-cLU`&{)b>PND$kN&y$8fXehY;^k04`f;n}fQ+$R1=v>#xF`jP VGeH{q%aQ~16(|2MWsIdL;4edBPQ(BJ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-1.a deleted file mode 100644 index 813b54b6d1ac8f58951b7875c65e69e74fe58486..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3540 zcmeHKO>fgc5S_#+g{TOGdf;fJazP~6C3S;@P^9v8%mHplTesN|Qzs6wE25ryK%D!N z`U5yr{2hjk7#z?yjYkuC7|rCdKNSQU$Mk@pkQn%hOoFi#p)2U)3;e0E1Tm8S;7^YQZ)EZg z2Y(&S#(wf@4nhRusaTHU{Y#wYDk>KpeDDN!?Linqdl-Z=ecwr;82FH7g2M0Aoj_5sK_Is}ze0Kr7h6!G^}Tkl}I_g(~8-7`MnVdXFAr zPKt4!p4UBe-liBG!#6&^d`Nd^XIU)sYAa_1r9K){De@M2O3_Na^lYkQqk_}0)@q#r zlS8g5kgA{Aq7m>ZRaLTzp(D&dE@${%Y30?7)C}<~hY^)Clz(Kj7pTZ1zE@2hh=k?y uPw}a!np~qg!#Uvm&jDH^CEvyAtCAdGMdZ%9|3nVt-guD%`Di8oQhotJ^i(VW diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-datetime-l1-1-2.a deleted file mode 100644 index 02f67a6c453ce55dabcd0a1fcd4a678a8fe8db01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2742 zcmcgu&2G~`5T4X6g{TM)73$GQ<%W%IrA{g#6jA<;Ily`2)EnZ|i6h%lb3#2Kjy>`O zJV&2_2cpdEdYw&U({gA=%I;+Lb7uYRH#>R$I!I4PZnRdbJA-}Rl2=b5G>mh{my zy*4fg>o);l8=&zSr?&vRzv#o*31eR}o@T7abDpx3B;@Qong+9oVQ|s$ncre@G@wrr zPp14dN%=gOF@jApdVo=gg+b2qXu?_SGM9NQVE9uL4s67O@V;}wN1nf%r$HVi(+^2H z3G(*~U@V%qw4!NZoqK1635_oZ7G9ECelal-A@_Q9To@XB34$d;8*argG>Lw2+l|uMuS*eH_Aaqm@SBL+*AdU+DHGP_Kwpj zZw{q)A5Y>bZ67ZZ{ggzgVz@`Odn(;N?FRRCP^g4Xx=QT|ug@B;tR8(``Giyc&3O+4 z2GB_NfFbyKEWEpDeI#y2grf=Fz%U=pr)M%E)V9Jjz2pY!L9i?9f%qj(m!{u0a?fiO zBEU-PG*gWNjKwI2E%=SjX8OV=Ybfgc5S_#+lu$k@Rlw1e%B=}@n!2fks+Mwq6Oj;t1JcH+oy0U>iXEspph}>M zV-bI-;>?+!Lz&t2CY#z$(?g9aSjp@0?6Y@0``*sl%a85BUTZ7=NS`d`x@nn~Q7NtK zy1|>&TGz`)DZHVU2LL=WzW{PS0OoaZ+*}2q<90=>|qF=D77?leJA|GK1L+pVM)H zwOre|)Q;fAFz641r_}q)VBmF|uYobI(`PXa5!X%ippdOD94g@42eb@>LCH7>F9GRcOysbrGtJS1Ona%qzgr!HD=R7i4o!+5j{dN_tBz4D}nGB{9065_>M+o-!x^9m4eSH*iN8~LspXv`u{%0MW}K&jHwt^wR6$+ocbW>?@wkWz-pAucD!7d^d{Gqu iC_g^%{;RA2@xMh?fR1k@OBOz(sl2VAzUoMU^M3%Nsa4Ma diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-debug-l1-1-1.a deleted file mode 100644 index b1e71080639dc677a14f7c7b9dbf539185e370f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6102 zcmeHL!EW0|5FJr+<2Y%X0!9+FK*9j&tx`x^rez=qRJbW}6dDA*6j;;Z%3>^uDoHtR zVFX4H1UdBJqPO-~pdZjL$Oq(`n$GN!;;LLq@*yl-bOr7%XCF1Y!}oSb-ns9F-Ts5M zd**Dhw`|9Dtk%Z1XDkJ zF^}(04%onE^m7^h&yWM_bJu&Xj^JC@kG~GWugLwwBR-0OF@HE_dAopo*^T`p-U)*) zkD|wMFizkFgL!iy9(IFK?2jfqHx>1H-af) zikM9mkSqU^1CuRcJs0JJIqAB)}!G-7@ni+*usLT9hxxv^Ue5hHErylL!5 z(E=Ep63(YTyxUB%tJtaGywuVLE5&W4cEVjP#%-s#yVzOR;L`E5MJCsWQ5~6FCnncD zqEdZe*YVfz1_Q!1dj5bX7yR`O;GoiT4^u;8SK~--tN-v#Fg1oo5k`q$wFslct|l-P zmD!TSSHx`vhpLrAjEEUAqguH$`zOg6`Jh4=1AMGY*+15Z>-}?Zy=86WxbEP6xJHwQ z+P}?p+@WPzr`h1VZYCU|`>f-70-tFV+*CU=faHX5Iy>1gT|iaTv)g>2-ZL^?oURC(jvGv6KPsx32G40m1>~)QcSa=?lyAHIeiFl%5-W;p{R9H%gTVa z*eM~cl_D=vS7c#nN{KDXB-{3;qOMCKBroyi(gTQ2U9{hPf#csLET_f@2foy_)6;hImIlB^NJaPjXrEmaa`0tYmI-Tg~SeP-7^v2_(E1(IO9cmCPntrbsO! z0yAn6Yo$9cXC!9`K;ETVu49i1?E=!$5a+To;AiaQpUsM%*-B8F$T30%n@g%-)6S{j zCk((M6?h3Vs3}tgBgOAL6&&kvITgInZe8hrmRR+%m~mehs4lheg(?wRIQx{Jazw>kv>v1_>%n~WKG03)2FlC}){fgc5S_#=g{TM)73$HI$_*RaN}LEG6sZ((Lb)K08>ikhZk-Rs4$TSmggEws z#Lwvu;5SibcD>HJv1vIpD`j^w`_{95`)0=nZ-e>C=w0KrS!{00^}Sun`Z!2Mq*Yf++nkoxi8>$6xs* zJzfH1(RjwnX2Of~EVZXOnN=*hj^h)7ey5$Y7=C|*L;`eb0MCTA4R*?xsj#a%6MB6+ z4AP()B4)bKyS4{Oat9192^Y}=51R`67>zC5m)^SIC|pbV3AbB~Yb)F#8ha%;HLpfg zfi+GnRDne*u!IV%*tJ~Cv%@$hoIQ+Uo-O!u18`a!2ItC=`E?#CtZ^$g!E_GmRTzyw zqY9&OhiQSah?Qc?_!YcuP7(s1c?P5%wF&y#{H0^dDO9INqAp zeLRQfw0XQh^fMB!lI{Vu?x}Elv>V*lex?yR=Q6D;ygq8UJa_bYWfM->x5r&{7(hMU z0*2t{sj%*&^pUt25spo$28QWqF*%nWp|t|j^pYFM2Ene(2I7}ET{Zo-k$Yat4*^z6 zr;#!gb6xbZtHWulV0I`KT|mk zCOG%3BzW^{Hz7qRYnQ7Ek>C7uc1;X+rp1L7u24y+5~k(2JiF*Ux`_E!j`P*NUZC+Y z!zdrV@%7D1`ge7;^66GtjhEV^xKfW#(2{zV+NJfGinZ!Zp^fz#13HhQqClp7!5Brr zRkEV2s)h0h777_7-j_~a?nv$szs=AiGiDzxYIGAwPk!+U&rj^j-n#mmX9F46_zPqv B&hY>M diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-delayload-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-delayload-l1-1-0.a deleted file mode 100644 index bffab6b1524539b05cd2f69444cc0d303fa532df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2758 zcmcgu&2G~`5T4X6g{TM)J(Qb~K;nRn9VJeXDio;*_0U5uNZdAV><~A09L0`WE~qEO zv3K5rC+I`)Jd~OJan`NfmP4~rb|o7-_c*K>NUwrM(i zO7Bgx)%D~9!zKW10yMtha0IaZn|_QPF!nhM7a1FbdAMK)X%Mp0Xy(r&hR(B|$GkR+ zqhtC>e>w|C=^|YEb4IWvqX!tdSP;hkw>b3!7Q4)44)YnlD+z&3LUcZKF!)IEk1+lx zKZ=)&@GwoMz*v;bS>;raj81YpEoiOd({&urLn^)Zor2Hc$0MW^V7~$Ij9Xh^=iyn- z?fTAy!O#x;+^>i5nLZ3I?c*%F0|w`Wi|B=~+6wy^jZIva-umDuTu1o{w^NVnD%=}1 zb}MjdUX7>+E6FU>gGG9<3O!h{Yq^$V2XRbTdmP1~eCY2Lz}LpupDKs+>s(T3<63-z z={#=KVKfenI*i62CJDwOX39-+%(>gbsar6dH&TbucwK&p{6{gU5oQAt?AMlwP15}2 zKQ!NS#hqfB!=}=_hiCDeHh@=(eoov~(LJE%TPoZxtp?Y%Cv`$+U8Q-2*GCOk;b5h98YxQwGZ{l#0v4N4Lu@rUZ6#dZUo^esN|ks*jMiQ Lmam{SD+CgU2#NE?t+yo9iL2O!^nxl5 zhyy}BBXQzK`Vo8zXUfd3*WM&HNe>t?QFbS@&))UydppkEEqA!zeO!HHj+?!1JGNuB ztaa10#E{;a=3286U(l%nz!iYfSAfbFfW@EkyR-tZw8Gd9W3NI!3|X5;e8_eJkF$5Z zfqT?r7#y`6<}{h#+oNwB4+eZc81iHHh!LzG(gln{%;Ua$;s>tBe4Ek7Wq7YX2iD~n z{M(bkOCARPTfR%nc!A3ZpALimuI~e5z5Wr)9iANE-jnw8oQvd`cXBd{>OrzGc{^fT zmg6|4>1^Uw3F}n7kGLUdTP1)S!drlP#7B|v^BWV|ox0~nZazeeY(x9Jz88iwU~o#f z9^LR>Q(>>7Q^9rVwhflTt*bcUmh*8N3ikk=l?mQq#7})mN2R2+co^u zJ={gK`a#d<@kPHb0A804+(Q+J<9aS>YGY!4g6VlI=V7!Q8hIEke-(kD%#2%{W0AWB z95PC|7?C$(hf%seev|kY%|S+(GW4-6Ov6>;eD@NZZ`txxGR>6p4(`QGdH|^WYtA>s zGO)p;P;h=V<_Ya}7UvaS?=@VaA$?r=gj4=xzl;F`sHM}u5c#<-ym{E(6$dQB(FAkg zAnG0u4rN5}Z7kCTDMDmdDuVJ$IZaJJb>y0-G$O!??bMS>0piCJei?pXUr=c&OlG9A z&_c7N)MizdjkQg!vMh?se8x?t!k?uwI(r`CxEHgXIuoopD+^Wv?Np>0vg|ai7)d3d zJ#6A+18rVNabuOGg_uz`E>Rgh$2MX6!z2E=7fbSO+3&Gy`5GD@Gv7C7vUi_agJ%0#>9H0yW5qBH zQ?D5{P1E@;wbZn#QI!vDl>h**+%JIQPk`Aaaa}e6=(<`L*Zd~H{3c`TjJ+K?gCVOs zzB6F!J=NA3MhV%d<7jwEz&)RjEXE1~5 z%wqVajsvXiSoUA;3SRXr`-SNLx#e5HnA_>Iaqq@ZV&3fco!2}4esADAwgji#+~~T# zYkBU0BcBc6G5`9&vHUSq)MxKETMfU`3syL7Wer_7O;gj%+LO`B+Mh4r;sVri0M~eH z1}eU@=ks=Yp+SACVpB{e+Zxo5D~;iBG78|3a4x-Yu^M1!u~EcvskR1sfLjUtgqusp ztp>P7Y%C<;g8M;@3@mqsWn^HP7+97JEPF=TDC-s5^8hL>*K_0pzfS<(=UUcw;E;Yb zj?`^otZ#y;G0dl7l=v0WFiPx-979ownv5@x+YH_+DgY>k@DQON&(wVT#4&6d?@~Fw&PwZY=K6Dx3xV6}}98(Af2VAF`Gz#GIQWSZ>l$cFA%1B~dVM85lnak|7e6ng7io!1PuzbP= zrei~r!f4ldg!kV`rcf~qVv&{g`Kq=CI;TucKWlW`*r z+{XExRReiQIXvULh(qU93wLnrWT6&n!okZt{J=V8=0Xx_H?#O8Qj}p#rwn5yri}mD zVR57k+8NKPj2y(jAJ4NQZc6@#il|5rReAW1Wqig`46!fftTTi@oeuPPhB(As^Rx`H zsqCy-W{8H;@1zXjCF5clVmBE#(gA&somB?_(SJhDvj*stNET|~fpG9L4_~m3&Q|b$ J%$G?H_ybqFW~2ZB diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-enclave-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-enclave-l1-1-1.a deleted file mode 100644 index dd4595fcacd5b411b8f1f993e60c93af789bcfb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5978 zcmeHL&2G~`5T3*-lu*i#3gT#>a3aBJQ#X|mYE_Ux;?M(74v4K&Z$TUhO;Z6z72U|Y>)Fqq-Pvz;CcgF1>2Ee46(5+leCjpGL+C3H%KkquO4|&#hw)naajLSzQD=Ekoc+5RC zUsQ2aw(59ZbX=FXyzAD7<*wTQw0*BwmTlXnY1fv5eRn^e!#xM66Hm<8)erSI_VHGvJ7j7<@#W73=H-O*P<8BRuy&B> zGn0T*@3!`W5>U#{Dc)EXnY z38veSye|=>+0RJBXtpZ|3|S>weESN!P2iA`OT`GA5i^Y3o#;#aJJLagFnQRmkoYzgCCA8B?Y*%=_)o_9L=;NwS zIMp9*@%RUWf`B*&3}K&3LN*T9o8qXJ?-aa&#<025A!1+=Y>QZ$7MaL(?M(Rt{vfO? z{ekRDHVun@-pDz}JVbyM*QupB0klLdt2}(eP9{MrBNr1MHn6Z%g_|80PZlflnunbi zX8C{{Oi4wOhta8XAIIPLOsB>KYs`3p=f8Fyl7^(RAI6E`{HOh^qOyjj7eZVlo=`mO zCF24QqjfAJ=6y2GR`Vj}J@qk4hATcix=VKl2cazN72+9*;2!Cee7t}?$!E!3de&#L z7QacY5sxyU+mPOZ7#Tr?wMauC3FC#r2n$3!My!=~Ud~9)5P-BxkGYOLDs&P^$$fDz zt2}(cPAu6<$-y%5H5q4w7tD|81q)|hfV(J(9%O01`SQ0 z!&j{1E0%7MAkX5Dk>&?;XMTYDGs5poqCq~!ik1J)57PfXXB`hJYCnPWkp^xF6IZj$+#dM(EqQKW<|M?ZzYsToYsu!8qS?c7z^%6fvEHF z8QbVrAQ=ZnWEsZ*Yb@^DOG~j_=#2Zb0r#hIZ%@j70R5Yv%%V>#_vN=2o%^>V-2a4k N`f4TfBa%#b{}X$O)<*yU diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-0.a deleted file mode 100644 index 4b637732e78b4d18958c535247a192517eb79f15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7742 zcmeHLTWi!n6h516y_AY~5WKKL1%>XK)ZKI+N+}jE4+=#Qd=SR8NxQ*xcilv-;zJSX zlVHIg;gkQtAL66G!+Oq4l9_Ch-K}7j(hkfeXTD@+PQGu>B-aUJfWjD}$v zrrw-0D;1r0sb!_oFtLNDms0?620;4&F!>hX#BY(OPXJIpZHjyjYsweHd}$GY@@1YG zTW0K;@AQ1O;sj2QEq82(y>r`E*JWtjYMRWfGtXV69NIf=XRXt7-dJ5muuY$CU}R!W zuh;3dthVjB?G5G`%wRgR7(Q>)0oHOXyO06lS({J7vF~lIIo-hRwC}qft`8V7M;_K8~uA+Ya}hloDogY*~)6JE#%iYX^d z_PgMHQ0v6R%VV6O>n4$HUcVDF&fYnOqytzgA-8yI5^90774UX`QGu10HQNfTd1gKfgO^uU>Vghk531kOuMOQ1)%Mr0@4bUtoA!p&miLIy7Ck7`svbKRp|s@H7KBYbV$^_=j=KYIWhrFH97WC-o5KWX@K-y8_0`clioD1I#G zVH6)ua141TnLy zoA^F(+r>07Ztl)}S-2+>D&lJ<28bDn83NGgLPb}xMTvF?VOikUqR`+wHijJJ^1F*Wrt*lyHPRSS zBaO61cF`@vG|~!rLsgL)=_%t5(#XebTuLK5*|=CE*KmFN)yO0aI@1e&9aNoE&>xhf zPVNc=FE#jq^`O-c|K=$$dP%j^M^uYGubkgRMA=3L4O7c=g=IymWmOq>kXpQKTuLo( zvvILn=p4IWwM-CSwXqze1IEJtJ4gJdHzepCf8!Uz z|1vQ`{$V)`{FkeZ`LCG9aax)ik^e>`wf}!c(hS@GUnu)#k^BF;GVY-LznhIq@&7|M zF5dsop@#Om|7+0qLlU1sC-8%MLOPFgrzB&*O<~}r2H&vmTd`0%!uKx$0fVXS!UVeCM( z+CvT~hdt$hv=6b`1KJnhLH5K0@CXZ4-TrC+jAtSwN0HKzyL-x?yQ|CJ*VXY4KilK2 z!7q#V^n5W_Ov|*4zOk(9hPb8Hy1rud;s;(X0>A|TZ4Y2R0$BJguk&93=(==UURRz2 z(6w|x7h~&;Jq!6bWSczVW40bRoV{~>d*m`S?)5EZ^_b_rqARusKHmz)eAgZ^f(=7@ zfRTyu@i-U{Y~S%*|26YWMt?TL@rE4OfZI+Z6T(v-M(EEIJB%KYOTd^r9I=x5DIW%J z`EPuS(9Wa1Ek26ez~7)1@a(BtP=1W{z>i#im)8wZ#5{DIDK69@lzYX2<*I7{&W`Uz z-5{miB)*x3VOf^0uNwDLzBvbHka7TPEo7GH%|kchdq}?8qQmCPu46}bEegkl%}?D| zVK@Z_`-F38z+1fpyMUcJ^h+&kU?jMe#7?*ilX0sF?k;w&R^XERNsD^u48soUp+kD; zH6!2Q12FLB?(_i>pP z0dvRA{bk_>R#(Xz^y^y86?)%Q+)waotKd>CsrQpU;gWu_#Uuo6N=0H*k3om6eyMBk}o z+Srf=QETuowo@XID5W+`$D*6%8FjO=TFN1Z$faqz87O>fQa58|-a6gPANn991`3fi=Z{IZv`?Xdj`HY38vsh+2b>*yc4;Tz!>fN|@$8gJhY;oK-R9OmnK3 zTd88MBLj}Am=-7>U`n5uPIi{jg)&sd{2E)R(cmAf>sDX-Kvjy*vE&zHR<)R?`32vw wOf%`%weM0(jxWWnQ*i3!p2=>Y|5UR4vL=4ZN`t?#qo}30`jS{mfCe+mHxLhJKL7v# diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-errorhandling-l1-1-2.a deleted file mode 100644 index f2fce256963e12994e78bce7d7d277b38942f1d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2798 zcmcgu!EVz)5S_#=g{TM)Js`Lk2@Xhgu+!8v5<-zGDvl8n=dBxW8mo>SY*)>(;=qYR z|A8Or7w`pq3uR{48?RftEeE`kcgM5Op55m+JAV1zPbaevy|-qyIlGSQxVASKnx-wL z^xiZFo>x3@*aLtyfKGtJA;88jx)|GM>`TVejE#BDQ?{Q3oSlWSzX%yRm!8YqA&bHz zx(a_1^GTBOQ-8q-HqYn*MlQzFG)ZTE97JJ!%p!+5Y`}bm@0)XAGwuhi1cc9inDGNY zj1K%P|G1p+MII(GFc!`itYI=Zn=bQyvZA<&TgSFt*EP*OduPRM@cjYO3oz;cJQ3D9 z^mD$VY*iX6+a2K^w42;ZNE5icJ6a|LkRnffQnQTTN} zDZFuQ4FuD<>^5OE9*ri9#vvvR#v*pAt>9Vkw~kY{U<7xh5To;^`jX;~Vo)PY7rtWO zYG(FG`?G)0zUP$ZiqgJ|-{UE50*@K}TM1W9_aC)CP~o;{HMp*4g;wZ$*J)qj^-;sE za!H?8HsO?gecVKc0o2o}Uv5}W zqkT|C{Z@~2)w-Ue@u|QlAMW__>NVY6T$DcDYWNL62!w$R0Y~M`75pa!*{f7GNujF zF!j1o*EF3s$+@OY>*8J0mWBb~96-4aFgOJ;^i4cxe*(}m@=H9UBLMVVx=0UW^Nc+U zY(HQPJG6Z^?=@}q+UZzbhoNz+ZZdOU#+Vh6$F&Z6D+{5K0*Eo(Cf9j^n7 zIqfdX0eoVIPg_1teSsFYhz^Q=t7v%G536W+V1<@D*X=HBIpOoD%dAa)n^Pd>pt-j0 zhcz#uO~RL%EME*=H%(L1X7tI3U`xZz52uha0J9~43%oW6wb0%QdA)z8L1U@b#L4%E z@RnI7{@)!K*+kzMvD4PV(e2ZG7IEce4m zeysGvNIo3k81hawMSkY~8^oqcsV|26ju=uY-OhFrz0nwy2vdfam=}7Q3={WThu}Ux zL^=CY?whzDco1S5IBM=s@M&N+Mzg_rU5&Ux`>o=BjF(FZmuN|DkL!es>-$R#B2b}F z!cT)ga(HGoox~8bqM(5Btws#}e zQ=x&LGtyvWkWNS%L6x@C2$Dnw+RG^%?5#8|q_|9^sUzmS8keYz)2q$jRJOp3QU`_B{a2sFwnO*7CVQ(w~*{?kEK%@=s zK^g)35s@d2DzSxoC8H?5eqw`|k(eO>IYKDv7S<@yNg*r^{w}gIe8)v?Ot_NDZw^ zC6NDpd48f&q5FJr+J`5KP3a1U43k$TDB2r03W)vU@3>ay9DvSoc^w2eBt|Z1XWsnr= zQxW741VIo4IpV?r=D7-;!V5bHju2 z{q^t6e6hD|$9AlK*D+0thxFPsxB581Wq%z2HUNy50Bg?yuKca8ja@Y3_30n#`s^J5 zUDyAlONbpI_97WZVpqm86gyK-ir@UeJ@y3}Px_8iCB%&07`yGsV@+9Vd zd1b=xe#diTw;aMF+pv4u8AQ<%7(6DNPZNIKOR-n5(?Y-WvJF;>+e+<(+bGA~NpZKZ zvsr*k$I}*B(msmX$dWd(q@8C;dt$fkw$Lqh9#2}n z`GF4v(_?9rVYE0l%P?9DTa2OTm~$S{)a6}6EsPncvon0d_G}Ym5d*=eyBM)dtexkXThPeaL(l-O*dHsD>%A}6%=2J zX;$>zNBO+K69%UlPc1PO;FxPw8Soc&>Qv5i;9F#2=`rb+YRz3;Yc6w;-r(b=<4+Oa zXeYXb<8hMr)Rlx~BQ$PIFO_ zK#wi!4*O%27_;hjMONu5_K{Ud*3DT(XO&f1)r6{Nf0d0Fl~uIkP{~;Ji!yL+zC}F*cT-cRPCe4r{V$!;byUMG=v0aB%^CGM z-ruT>G9dTntKO1vo{OwWU!ea~GWJ-?z_kHyur0Xj(r*LjqcZkKPT+G=6q(q%rTUXov7v5)1ig62^cv6g; r>%^Cs%d6@HK*@*A3(kw1=s%TAEBea7wE=IjExB{07iEJro}>N+aR`C; diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-featurestaging-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-featurestaging-l1-1-1.a deleted file mode 100644 index 7f8b0772c342c6cb5ac598d8837aaa559b7e7a25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2774 zcmcgu&u`N(6n-&Lid$P-{ zZM)l7&$d140KgVN>lm9a06RbF&)5-TpHh*eY$!63u%ksN*w<*zmk~qfc|Tx5kHygm z{d50fE>0JTSn(wz*es<1j9hFic(zJJn(;|ApRm|x^y3U)I1|98f``q_2p>fDUM=P` zPa;0gfU#({WSjmly~r|mv8J|;Q{VG~0C_(2dif!YI^p*RNGrgg1@J^#+u&y6Jd<{P zWy5gfhCJi-5ZN<;;kA2`rgy;Ll5i2d@MTY9AEL2^>oUs#JdHche!}h6;|?`$AC0{V zobJ~xYQmYN4r;<7O*myuII-{G&kf@k2e{)X7Wu&6Hvp5?n4f7!?l<|Q>8)F9AehNz zyAEUUXw_j14l!78E@G!#a-JoB+t~FNjO30KVzpkEUy?u398?I?h6L+oBa*Z~{Ri#$ zyTyH?wIASlJf%(G^p8OQy!_g64SKF2BJc;tD=JVB~FWC-acy0 z8*w7RTJh9Uqyj8ut*SQsLZit%(R{q69u*aIcjlUI*T^+HlB92V+?33#;*D;ree6HZ zbx(~A-aT^-<_6=Aq#3HpWsyVHxq(izhm(zsd7;3Sa!nsG%WB*@-e@0`Q!lD)UA|EV{=U#xt*r9HZu>H9LhWcc_c`- zXa*dm@=TFKv_~>fiXXXGI(fAswL<)kLywA|XJ}EOdqH_z`K+oo{6J%K$8}#rO~&3I DwcF=B diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l1-1-0.a deleted file mode 100644 index e4d2df1b830d127587566fea023c501d791e793a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5026 zcmeHL&2G~`5T3*-g{XxJdf;fPa>Kz+6E~F*DymdCR^msT*gB1a-8xMbr#}Y{J@wp& z;5n*30Z+i0GfzO7+4ZhBwbP~t3;b|{VJ}xGl01>#?}~n8~cNpZTLff zz}EU5pB;v~-d@O1dDL>5+h9@HrYq6+cm1vYz~A@w7{Pim4Pc~V-LOs1iX7%Jn|TZ$ z)boJ_zSsG+Gr@WkzxIdkyl5ZiV_|QP=^B(@W_pzdd)EiPHjdw+_C*x+x6;Rn+fLZu z9@hG5i^lDZW81Flnx@-oslDl(+`{bvXq5o&acK%_L;q;V7aJ0L8-)t4OE0TnOI%ax2{$tyw=8jsD9q>JWWQ{YLsl=gkV6)6 z$Pyf~BFAzpyVi*!1lGD?}QO_Xtt|x z3|VEgB=+TYo5C)mG#0~cM$9lu3!@K7?r07wgek)|*2Q=(aXq*J*IRZY!*v(;VU89L zmEX^RyaV*TaM(w9k25mw3I^aLRY|ekl`9%9q<2R2V=tMFE4`XO>HoFg@T= z72#MoYoI#}_IG!LhI4Ji()5xAcmubt@CLFk*)%PBv=M90_y-3|rc+BE3J~yGRAu;r zLJ|3-IRA=mEK9=4uFWMYdM=sfMmfgqrKF$dUlehkVE_As=hT>BPnb(E_G___X2>hY zX^v2_pLVZ-leM*ZA;pd463T^9K2G@;y~iqI4)SrXT-RL`UL_c*!#6&^cuaSvcpl0Y zW8~~0SV!{-Cf-3wFj=sc#wYyM@-|IrWU~wC_T#w(64rA|(F{0B55xzxPg|oi?pY^mig0SkORS4_L z!~=B#{wG+k-d3?b)fDiBqFC=t$ol1Mtp9{mxh~ef5p?3LDl*o8(B{1=)(82x4C@E^ zI2G&34mXYUC1O4Qy8BxgpRQMr^D^?MasEC9lBAU3042q8@oifq!|h2KzM_3Ch||n} vhA%3H)Azwm8P4;&_))=60Dt~T1{t2L_iBbeko3m342L?ylm9dYP`vsRb-5g{lYyJ#aLrNF1|0Z+e6{5aMGN&oj}F^LQ=}rco@urju}%3RIp2zVJI@ln&@o z`spM-p3dXba3%;g&gca}Dltq4^sP}#&@UADp>Yf%iNol2Ey4TjLo!D*Zx3k;AVfNz zi6v$9Z8{j_?o_i_$6m|xeBZZiKPcFXe%?U>0fGj=1C}g_aVFUMNwjOvI*VTH$?bPG;HEs`u-3pvu*CXD(GtL~m zeTQz}k+<)RS`Pl)Xf#5gJ4{Ehdg1RCz~{y=JkbiJH+dwp){E=?UjUgkxi`fnlDUPEMqTeXYba9dZrP!0gIsAbyF{qM6x7?)h4LFj#v!jTE5( z3HP#V!XFgYQ3=)8pV=Y{_?E0EMXk^p uW}p-=d{(-7xg)tl{6~fw8844fqDFZ@YF_YMc1`$&!qSN=|L3eD%Kibx9LKZ( diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-fibers-l2-1-0.a deleted file mode 100644 index 36ccc1aef73b2f7309699a61063babd659929a5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5970 zcmeHL&2G~`5T3*-lu~}xL%Er%a3aADsT-sURRmQWI8>rY+_p~RV7E?E68GnXda4ko z9(kNT0Z+m+P-b@hv)gWHf~ZlUEA4tc``NQQ`_0VS50~8jhW}#fsi_uw!FFuNs@pZw zwD^$Rnr5wr1H7zH0l+js5ih0h0F!S-y}1HF_4bme_o@I?XI@fetijm3f!80fRWI`T ztkG+EY%l1#+W|x2e%)bCjfFvzYAo+{y^UVq+i|xU!8!wafRTu`gC@NztTLNf%w_nZ zjt9*5+}6cvg137?wBfJyR%iymSkT#Ks_c~);u7U?S<>ixt~x498olnW*N@hGM72~U z+M!s;m96!}WAUW4LoM%P7*%@d_7B^4+p-+TF-@mlPxrlbcn$X)pk4sD!+R4@iM;)Y z_lGwotgcsDZsZP!@R4O$J+3qdgL7bTK)8TjIA2S!lh`TYyyUVBR)SkdpfkQ@ND2CgNm|+y=)R)9}q=O1!im-`o zKGA@Ro?F_wxlL$kqo&Bh#|eb#Y3hAS5dm->zZh;Im| zlamaCKN!5FC}42=+~U1anC|mPjc_cSHPDXyo$i*9aIPtqrbTL*E=80-;0@fm!W+oG zWYet3(MHVqjDK)&!gRXQoB({@ilzwPu#-oQ%Fn+B7M7ZDvh#AuqE(f0$#rg&1KeIZ zQ0V-NBF+;We;@OlE+$wb<`RtkQY<75x^j@^h&1-o?$uCPQ_>3=PRS*d3qw6F^)Fh- zGGcc1I47AG#hKSJCXwNak53-a-O*7d%X+0#=MiEZ=@U%6fjz-w!CHDQ=C72uNu_Z% zyMSyzo=YHRJ+~BTz^6nm$?`-Z;j34Cg|Cx#UCc<#5P-A`U%8JxDii~R&KqYK89oWBxLBE zIySR=ED8to&;0S&KZ+;*se8f*HcIFQMlLoC2lT9{%Pjo43?DS|fd#(n{oP2=pZIR- zzoz)FrodP@I$=d$KOUd?lk^}!q<0W6K+7k+I2aDnPAvJa;@vV$+eXT5$C>l)eMZ`` zISqh2+**T9>Q7T{S9dz>A9g%9b*mwKW)Jo+I)fy+1_m?2h4jF!p2XfnqlN2I+a8z_ zw7i$QuZgkFrOYgmTW@gfu`bcSK%XE*%30(jpT zy2sLy`Bfe%thNxFU@C{rDvZLPR)tZxYjF&*QfwK&oVPWc(i)W*&KW5~YdkJKB)g&* z)Ckjr57^g}rCjU5>RNZq-jddBd=GbN@zDC$TJQ2@V7E!D!FAowG(zvWOzRS_jtXv` zJLS-g^yp$gtER{|pWhg+vd(k!F2O4$MjvDhTF|k=Z$*!vK z)df`kcrAfU^_(e+fOm;nlGh38;kz&73g0Kab+IC`Li~|5G_`uKWkM qzduzzYN7lS7oYV%XTd{UKeapy9O2-76TabCvGXh)%4w-1FMa{6oLIa7 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-ansi-l1-1-0.a deleted file mode 100644 index a1c8e5b735f4d1da0df13d977954fdd0b2c8d25e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9570 zcmeI2-)kdP6vt1Jw!2#@%CfFMSTHVCL^g4zO(s!_v}~w8tfeCBg9x{?&7>JSnUu_= zRv)B@$RZ*u3O@Tci0}L4Um*TDuIJo4KknqtG?Rj}WXXk@xjFYcxpU8)&pr31eSOOu z9roW}eW#i%dQ&%aLu>1;YE|P+^0``VHH_efgH-^y0Z^#}tlS2;_D~#aKLOD3{9od@ z{to~hH(wCPE2yXARzn=GZ2{16`!hNiyUW;p&l-7b-}0>yyF2V!>`U7( zyN`xr*WVx7uCLshsl#u&H$1WrO{X)mPpwb3+Y0pa5)@ zkOy8{hPsaf=k@GU74{G6UDG$SCA?)D_8-?Dc-|BloRiL`FI-3RM7fHWC44TqY=ai+ znxUO^YuUP1sCx@5H&S$Adw4}kYXh%_l-7vS8c|v!N^6c@(`#D2>o}yXQ$ujmzfS;; zNjClj!1y1`|mY#OZZ}7*!6Q(R4^DhT+ zLhm{)=0m-Fm2?q9a(h@OU09#IuA!jSXg+x zB|Kda5!}0i2=XuaG%oV2Bc54dgp0#yrz=qk5Dbgg%kVc|3rgFCVMdgB8kV*|ZCYk& z>6=n!xxzj39lm5*jHOXVbI%=Y|2&9xx>P~SnOQIsNV6jKkXFv)j1gr5dWQ|{tS9vg zu`ZEW+Ne26*F}`kIJQyqb-K<7pX)kSJ`6OW4M+U=37=peJ&J8{?W(d$6Y)oVikQ5H zH4)Pye(ByIlBG;e-B#3G1F{c!W`Q97xwohXyh~)3IBSF!?tug~e5~~5#S@7q1fbpp zHAEm4nhk{IZT?xD%J4H*CRd>8>(YW~|^PQ*jSJg{2ICU^UtkWqCkgGF?{8 z<}&8S$jQxy%FRQJrD@z8Nby!AH(yBoUc`-`u2Z=ACS4bCa}#4=R&G|*sM(>YqM3JI zS$T;DfF)){69#@R!*6(1APBecX$?j5(9Fq$(NtDbi#)O(@ok(UB>b+!1dDqdYt1k9Qv%AA74pT6dL zr}1Kt3F6h%oxnnuGW>#Piuc5bV+@k!qB+oWamH?!qm;BF$XFf|PBMxzxa70mm)A$c;hG4M( diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-ansi-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-ansi-l2-1-0.a deleted file mode 100644 index b96341b93c6236b1b3bdb20e1b02c2848dc429c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6042 zcmeHL&u`N(6n;%N7-jqznqcA-(2zLLl5}0RNfR0xAPyi+AOtrrZPPU@ZAy}j?K1U* zKwNf19FX`^_DAsdFy6D{)>%{52@y0gOR=5jFR}gneSS`EE!#n@`JixLPbPETv`oub zEL*y6@Fq3a^@>%FA6PE{z$Acn4Pg8nz=S8Ri%kH!F7JtJY9D~E>F;zgw#wM6&h72Ex`Q}Y97%kD6OwL*G;k%={2&tY~ubeUIX zCNr4L@LeqjSktlVf4wt!;dDH^<~+e+JOswvR)-}_&;4!Q_}Yz{Yk|KJIAJJ(>20fl zV@J-*-B#82+}bm@y(#f&EyDK54V+r!2fL4VlHf$cs^8hAfhr)yQg6L$RHKqF88M6r zreRnXvcp=M?=hkN0SSOty_ zxo8%RQr$zv0F&m>dq zWA3|gY|7_`Vz}Rk9r@gyVpztG-zR-*&b2goNtcK`9)LghPu99kes)0Ew0i8 zVC-LWzRZV#*))v?$2Al4gw{HZ^AfL?3a+OiwO!T;C+kN`3=5E_;J|l-JonEfZX1Q| zO}>GPcXH-HBWiB7H-&}sE#YaJWCn`h-W7@<|B_GpN!@kCmh>c>FA~riRZxFR5cn#eGT+n zgjNl{VV*u~A%-Ds*?cr9swj`B3iVq&lo;GWtiPVWpF+`#cu>MOz!2A*s1 z1wMA(fy_|;51#JGApX#(I=G$C!6(vz NGTS&JsFsW(!7ttR?dbpj diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-1-0.a deleted file mode 100644 index ba013a7d57e8a36840ef3aa8997077aa9fc7f77e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63390 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-2-0.a deleted file mode 100644 index fd67434d1f72e763d715ccb03e02869f85fbac65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5272 zcmeHL&2G~`5T4j6lu`G*O*6iXEsp^?-Wd z)B}&uGvX0?=2>_K%FM3U-ZU{u1qrIuk-R&e{jxu^-|Vb&@0r`%Z9ZRkYz<1GTyP4G zU9n4+Ws4@gw5(EDzFXGL0s!D+Tm#7d1eo8F&&^K&^elao&+-Yt@(E)bjJ*kXFJM(3 z@*dmp>zsXTb=+=?q4A*NFsH=4R*jy>?sxdE-{XC^%LvvE=m(5UtkLo~^9roUZ00iT zrp@3ue zaN|)*8GzeDn}dAF4?>}*7Zy}^@^v?K(;=c|9jd4KS`dtZ!6D&V)ZuDLVdqiF;=FWO z2V3FF%1*e&bljT4S*Waxz^QgsBTIAbAcri?5leH#(wtYw6?1mJ?sxY%kmk8@38wqcNW*BpGt)4d-?9Qj9vPI#x58(0*koo>F~VQO3NvG2IV>~= z31JLqVmXU*L9o0zIm;_{a>gl^JGcvXXzGyt-z+bRX<)HJv%z`YjTl0^Jc{KCuh$wb zjvBpP>4a1I`FarzCQwQ7Zwmk1651p@Z+7U+mLfO`RMa+JL8Nku!(|;awRE zBKkQa=R6c00<3sWHN_`DLzJ>G;0G$x&sH;wt-wZkA_8n&23adtvdl&%c3C6lVH6xm#B8f@!P^_`qh~AOSr2S mWj%oYe~G+*T-K~0zh8CM-&d5!+JMhk>Z_HcAFxdQAGY6)mV=D| diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l1-2-1.a deleted file mode 100644 index 40a8d28f3f3f71dcb03ed70fde0723725b84472a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4438 zcmeHKOHbS|5T1R|2c?e#hpG=LmD)?yEXlHjR6^Avq&`kXMHNRAh?kAnmo}lGo=^{* zdf?nce?@-)=N|f#N@whN~2OrlI7U>0LoR?ne;3(XJ@)K^xj9XMV3ys+voa$FC zvd(VDHnPqp*4e~5yXD$d+pUDH7F5WQf`6U>Y!@2Aj&h`aJ%%)7>D0Ic)8kh(VYJwl zOc*V0Wr3lH43{*vB4$(ARVo-UB3{IbQo+LdY@soz5T*!CtS>_6g5}NeS?)XX?6Rzl zX~l96cL5J7Eakt=@~W5yR5tjoU%{1Gw3J*)ujKD zh|f)7jl=V%ID-+6MQ{chNprWeBRzs?Ly@LMUVs)vbfp$3z7*4}=;w@_^BHvru;Mwj zq)&i`sAW}z?`TXu`&^i|Vh2lA2y9daS)9-A0pa0Q5s=TgwR9=S(-xgI&#*sCIZllQ z&X^elPkikZq!IGUL6#W?CqC^QWwwqsE@Zf&4B{hZKOZ;H7OkU>m{0jQPtEHA8n07~ z^5Ke)PoB`Pqod51Sw-_bL$Hs=mW;fPmSnVKFMT8Bv6i`M_|n-N19~j!D~OT#Lqv^6 z7P{9rp2rD+%)Z7J9yw^9RM}~jK2X^{{mRMC$5b>0J>iPP+ZrK0O-2; zskpX21EA}j;Ci=9)pRund?s&pluJ4Z7{bAc>KX?OYl{gTn`DKyLro^}inW&id|yL1#GbJH9s@Gy`;c9a@jv{;1{n zT@9#AK|S^J0KF2!DD%EIXdk#w{6l~2I{k-1n{liBET46rvj?r`mD9=O5*VBl&Z93Z)g|^C7FMuddfEd^;4B32X&Cg#aRZBQbN0bR`VSlx)_ z-5FTku*6Dlnu_H%&cYkiby)eoSzhDa!0ZO~2K%)YFob3~jpY)r-!)vQ8ogeY2`9_( z`vw|{Kso8Z$o=ygFJ<9*mq#9iW8$2Fj^8~SJQfztw1}r^kU409dsk?I{7XJnNnd9~ zpA+ifV99g3lRg1DJQtY(e_~<&F*h%5O)N~iLSUCgke#Zot*hK2KjYNW7Aj3!wAS3l z`s0A(bTh%q7(sBw*H%GlAuXM&$PljhG;fv4@x+({Z-! z7jf>B03&TU;^!~kqfgJCDVr*-C3jbxb=0O{;u@9&lLc$(*?_-V#HMD8$=CwA59wPF zBjN`47PSysRFsey?tzF__*iM?MUO-e0jPDMm77?iL~DSs+~%J}X25S)i0l(D*iX)1 zWfWbw0vcHrpzooU3JAFLpA>K{$_KvVCFU%u0yYD_D+N>n3*8K$WgwyeZI7Q~pZn=9 z)WA+g4b zyU03t8~s2@=^%6wS`GLE^Yl@RgYlHQ{PbXF(}TU+Na*1lIdYjEzR`G;ryfqVb}!OH zFCCZA!}sa9aI)#-HLD)35Hr-v9ln!T)OheFj-Qg!K}i^RZopH#M@AdcUpXMhozQkR z)-TTjViE=U!?#l*>tE(9uqt^V-w`&&9(qxkpXDqNFkg*0!hX%1-@0GVr~oUu?k`Wn zrBDIaQ6RIf`zs*dyvz6Vi>&}!1t_Vt|9xTLxdFf8Jw9Ufvq0o`iv0M0HzWV6%d;>| zG0H z3krV(mSImxAmWG|&jHn}3P|pPmT!a9E{ImZS$9DNr2w_~;rA@^+n~1+k-!QpbTi<0 y%tIBZQO9(kRpb{7tc*%no(K4hPTLQ?%y|GH{$DSPt%5A)f%u4p1QOP{^Z#D}Z(?i! diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-0.a deleted file mode 100644 index 81afd31355f6e64bc502dcfd65a3b270fb34be4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10878 zcmeHNTW=dh6h2ueZ4-rC6(9ns+MpmLgw5J@Hjac)L|OhpL;6y^fdoruDWY z2%!j7Q6G4Ssy^_21bYh}A^TQ#d3dyzp?se-eBFDI|xY<>sIidPgD44^K?k*(){N&>aq8C7ZDGth7HE zjDf)k;e2}GYE@vbVP+QFrG`zg1a3{(3AZ>Lw=QrdW|lNKQ7)dS#bRerL@gFci^V3+ zNwHlimWx)Y(QZSD3=#P6=Ku#YP4`e3BD*?_GfSl*g|e;;w29wt~BJqWJ&$|^`T z=)y_t8RUvjGe@3nU#S;jT*8CY5YyJnF`RZxL@H0M*WQ@&@K8kp8)4m3`)k0jHQrY%Dc<&5KtSc@$#3wULeW>y>JX^^dXB z<5<5JF@YX=vi=99-chU%^|%!4f6?P4>+z5^G3)1%2fA|uv1VG?{|>gDLd!sLmrSBTc%eB{5+}Zz{DPj zV8E}KReCGPFT0;3{?Y^R+2f8tp2X$yb{-FK6~rCR-NZf6|J?)Vd(A~Kr0l}) z|KyIy&ZY-@Bfe#AoL-&-qFuGr!+AWw6{!ch2ju(bY269&yB5_0yeF1_*0V>L3a-bu zo(W5SoL|ev`Sog=^Jf`$JuPMToaZSZQ0g6Z3iw%%OPvBv^*G6S6X$f&UC$hhyqKTr zv+xRz2Zi`FaElvQYQUfP9NByB5=KMvQ%N7yv!$* zJB0N8(Rt3xGa&v6^KzV*)!s(bSNJL)t}Cq<90vaD!Ya}cR%-)dPnVk zT6$b+_cP@DEq6ck&x=WSKe!G?b6%P16`%A@Aztxsa05#XIKgM!( diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-1.a deleted file mode 100644 index 67353c0dad6141e9a8bee1d65a908379c1dfc6d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2678 zcmcguOK;Oa5T3*>g{TOSdf>Q7;f9SJC9aWB6;TPniCmDlZJgM_R-K1p2g)s{p8Jz} z=0{OxcD?bsv1vIZ8)bJq`^B^S%`30o`^#~3)_Tjz!|6G$;^qH|vPd+m? zYyrRlK;sOTHo(!EzMP+P{xuDkDIbJcxa8;aAml&enZJlRDla{kyIr2dBl_n0`79jI zm*L7^aDq)!`T-{upTtSXlMZ+A<8yq?Gz1=ney~eB@MRIsKBDChzdi@Rc|2Y4k}6oG z;Q-I2k3QH6*He1J9oOSd6^@~BQh`(ZYDKS`)6_(-o8)zq zyly5P(=i<@ND{C}k%Rx-0(@^w{0pVX^*V=S(zs)nU^;)zI*i7hQHRlZ!xTVU#7KGM z+zQSPaqAx#!52k^(O@`l53)gnFinVX-bbEMlt=#&<(^&C1{LKldf_=89ZQAoA)%_6 zb{ORyW$uJdgXemgM+kYjD#{gJUp3q&YxI336Hdu@*JD%|Kr`jPA^3SJq=&?LBx)eS zafq0KNfxbU7g8f4t;954au2y6*p<0J{1T_d(Cdsm^Hz2Uu!?h9DL(-wVwO`AextDa z>c6ktN^Kf4!S3xK?>w!890@|!=vr#RRk=m==nd|F%VV4t2KECx2v&Tp3X+AYu`W8p zrs9+5sI!eUyHMat9mGRSQjOc>7Tu$dm><cqba>;N+t>7TeO>5usnpa( z#F0H2g-=kDQ7j{tewW9t)~(5;vE5fd=a1fk7}+xfQ)FSIDLRD0h})O)MBJ0SE>9#+ ii2uD%BlF}1N;D|{rKT;O<Y;}oKwJ=8w|20VU)ioGh(iyE z6Nf%VAERd;iZZk7wKs`P+e3mFDZAs@FP_=iZ+86XrJo!|uiDSqwAh=rYrB@`Y%yku zC4FSfc_E(}+iwHF4S+@uptTFIdM1BuoZDxdcR7EThDplz!YoX9cN~QLb3F1VF-POE z=W=(058?y*<@WI?JRB$Ckw4)C8>aLJPA1-q2O%Fg+~yAVIlg8X0*^vJSfn55CZV5& zJAM-E#-sjg;5;5q_^h=%o_u+O@x52;#dDBGqpUM7l3bTv+p=8OWz6-Q{5ba8!4FI> z%0>g=uFzJXlZD5b(CY^Vd;6Wh&-{9bSlNcX^UgtWxWEY*42!xFo&s$tT2fcCb7aCIHqknonSD44jFRr?+buWjh^3E zhTN{_kX#xwehH@MuUUuDa%a?Gw7j(hhB7iOd2U6{R&dE^)M7-wh!sYI;W#hkgM=_m zh;Up+9TLlrfjv_b%y(~H!^`%8HZ7S2W$tBc+$gZpf$}i=# z6#br&G0#NazlbmZ#!b4o&!p%Ir5z z^_S1$Ym9n};J{=42h|G(kZFXR8)oD(!Hlm8zzzklO@RE?YCe^QMr_)p#By8K5r j6koK&m;aUbcQAI6lJ^g#L5xi}!MWUN&iG>Ii|6_u3|2Wb diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-3.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-file-l2-1-3.a deleted file mode 100644 index be482816a14c8dd6533dea24f897d5ab6e7c191c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2734 zcmcguO>fgc5S=6~g{TM)Js`wkk>G}nou*EN5Q-F#I7SG>apT6D+G@UJJ8HO995`|4 zi4#AjXMPlAX4e~U8oMorWTfm)W}iLl=Qlfk{??BN;k){4wrcK?>$#rOc3X@&a>*PS zYqT2K1^qez>;P0gxTa1 zL?j;;UxD*zJmY1n!TfBJ+S4VaWn8+B<9QxqUOVS9_;C;E1ZY+O9!YN(>{KjL>6Z@- zdVM?aQ@mtZD;)iR91 zU9Ajb@P>tfxrmWf%ea-C?c&l67|9o@qE=xzt{debBTN-S9Jf(@r1J1TRNi*f3Bp*v zu2t^gTX;-c#{^$!b%M+j89Cfydkr#5@N(X5pW>Jh=))qZS2QlA^ah~4SQ*=IN z7#+hWzPx%#|1K`_nCX@EccnhctrYnHJ*8-+Ub;u7W219Z`r3Mr0h3F*3u09NkgQRL zWhCzw8Y7ulsTujqqyV)ewL|pppu!0UyG`97Aylawb9FsH@>e}j(1-|cvt-N@T^dyHUVpH5)pVl6)kcU?3Bo7v1_ zF2hTO9kmepC81Nk86e>dvUd!k}Hc4Nh$iJd}Y0^?HK3Rn`iB>jY&$;K^9+&mg{ zBXDwFj>vv9?3>7blh|)c_M3ri+NM=)1_4xCe&8i1{5S@9Uun5p(vkSpJkqlIiM0u) z=1|MRDEZT~FiP$wIEJz^+>-qAyiMYiUdhDpoDnnh3T5qdqcx}zMuPzRvi2Ned;1J* z=bLM?hf20P_#|#n_%QLO*}lNTz;2GB!MJWFETJboitQ4wjtVYSk2)`H!b$t&ID-xy zsHc5E=lQwDts-1+^Ll`AY@9dHird?rE#cv88_G1@WC?oU*%f-A{8CN_P2F!q%%>E> z!IJAVl12eO@LqHpd_$w0N?4}G`WCiDA+)@Tvh1i8& zo+TLR!#h4YzDvIj4+p-1rRTo)2sTm-f}vN?5)2n?rfVgBW#XYhgRj{Cy6>El zbz>LR%|)%Dr!C4!`Zbj5<~+5glKV~j@7J2~-`Votfm~E6|A?fu#wx0ri&`^IGv}!_ UkfWLZq1KF7!&&~rDyP=`1d7<{_W%F@ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-handle-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-handle-l1-1-0.a deleted file mode 100644 index 77c9101043174f97e1a016c779fd89d5777c747d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6026 zcmeHLO>fgc5S_#+lv2uvB2;dsDi=h89a1+)2vrIaxlnc$rhuJg&?beevzZHKPk0mj^Rmnnx{kH;&AUhQ^0che3XF-!F5 zVQbZIckQ0@w!ZCbM(YV8sB)<4`N7~5WlLkL+YXC<5)|X2!88nu0>P?Ol4xigUc-O@ zsAK?c^WF>;LuW7K{qdC!8?|D?4(;&}KC%WI$HjUOOn|{Y;aqy)ayiD%Vkd{|lFJ$x zF>WQc6K;MyZZ*a&V<)e`#p7{{(OPH+1&r1LMQcGsYr!)MX2B>nJP(1zrt3M;4S!Am zwlYn7CpJWO*^e}>HZ(WEWFI0O)fmZt+Bl5lyBx=mR|ZSuU+%XV9MUplG2CYq8Cqs( z@FCGJnu7{qvapSHIyr)3y>*6IuNdW#Shw&T?$F{P_rGJk#Fv3po>qhFT8v_Z&RG@f zFrXX(GMF^S5{=j~Zx(t=-O!u<%$L@HA~Q z1vYT+3O0~`$*27yXB)BR5q@xR9O={&LjhX67F8C0Vuv&d7+OR&=S(Z zP>oCYMf+Go%vUweir2M>o%IM4+i=InCy(gY(NW*l@8#5QDLndUUJ;QuuqPr~L@(VR z#j&K{G_^LWG9derYYIfs&pk#n;9Wvf`g##txEBUE!}m+4FIFU02tcz7&OE>#70Ly| zlDLvveqpVA0Xya0EDhF?-f%uVyW#^L5kFChH_0KMCm%FWzG`23J}7rB_@Ew2;r~;@ zhtiaMFvUMnU9ZhG4uw7(U|N`@4!^<4h?BotvEgJY5+e2_9}nu<`D<~>ajJT-1a5k9GL r2_F`aEoW5(0Qr01#a09HWkyzmC7wS-m4!p>$h(cgU;aXxLe&2S%!2EI diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-heap-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-heap-l1-1-0.a deleted file mode 100644 index 2dc7874fd5cf638cf711cc5c4641e1062bf0ccac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13794 zcmeHO|8Ltw6n{vLLFl;A%yED4heOVDsf?} z5UNl$A;b?8Kkx_em+WW$4*m#!V!Zdx=R3zv>PEy6k(16ozxz1%?epF}-(9ZVa=O*V zyNfrCXee!ztdeC`%!*-{oTXn4qr7PaFYGM>fB}%-1DL-Ju<)CROQ!%7pFbAyiU&aP z<&Q*Mc>qB1^*bV7{TzVewOb;tUIn1|))f)2&jL`q@u!G4{{W!4#?iL7ZTo)D?e^?l z*LS=2cBkgr-!|LMVbez8!-{2F>$cb2rx?gPZMWL#x<}5TO|VvvUa(1IH(V5YCA(ys zwqxVZv|J!zZJg!64wm|v;~ju)H(Q5x_(+LQ9j{q)e5^*87m6tVe%tF*^)~|n<=tx@ z>+kU+%U%D&cD>VWIexR#)_(b3G=s1oyYG2ef(DWj%DsE!b{{4GRxFF~ccOLWN0Q&} zx_V9dk>u~YJ-^#|q?Ilul)K$^qdgM{IIq(>bgI7g=5`>V-2OI+=MP+ex7(?@y&hqD z!Mpv^=yM_nYE{3w?-x5#zXs`5$uunsRm!TYg?d$cJP#DsXHbJUH3voCedu#~@Wp`L zy&_V@84Tf^E!cfp-0$_yfWZmjh<-6ueTQR4|J*&x2yU>A3;;uV(;X&D5O(DG20xA5xL|zH$ks z_g`)hM(ex$AdJ>;vy7o0iH4wWxzFY>D?c+3!~I39$j=yfjRz`&0%3B{z-tzkky+kI z&+>{XW)s8MTa+xfa1>sks>AHR&GI#_240q_HdwEffFU%>Ni3Im{jT9ctAC{GD_R-^7m+4m5iRhM!;~&tmw4VAScBCByf%a)&Y8OUA_*{!KD2WH`;D z=VkaMW=!}&F(E7`=1NXerwC5JNMa0%<*P!#*Bm^?JNfltYZc{{Xza9CtY1sX`t>R6 zapVN~!!M1H^_OW>1I^%p=F4!qzQjBTK9mtp{Q2+Oc4}Ch_2LUrXT3qdAmrc&OcCn` ztrLvjTT+ZKrDOcmli|@D#Q0G>ndg`TyZ|&IY$wi&`i}0&i1n|rn{>^SF;g+TT#9=# zKjLto<;m;?c8+dYdNN;Y?{A66rlleXw7uxh!$Yuo?Rt3Hcx9N+5;n4+5d~cF% z`>R3Yl}BT$?!cD)f={d`(N-(Jrf)qrLtAfdrqTpU+fSJK^#6=^v%s8?tMrqt0b*rP z_io;ZXuxTp0kXA<`k`d(=0Egr%t|WGm)G>Qe(@bUwf?K2^HQ;`%)k+ECSs7|WIh8h8Q*WQgSr9%x1B~MBUtn$E&D9Cf0PW|Xhf99wyD;&zfPJn1_HwLXK#*29p46HM>mcWv@n<1Foax_#F&9s2J(UvrAn z`&qkEUkDd~J%KEDrRrL_!*-<(lX0={)Z=7a=+WRG63)FYIRnwt;&kYGk~zPO^{1dX ze_aUpnuDM5-rr(j=VQ_gZGFmJSu^h6O!=>D{V4qJX9Lk>lKC&sO)CDs&CC~<9Q=fd NDASYwA2NRH|2Kt~dXWGC diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-heap-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-heap-l2-1-0.a deleted file mode 100644 index 7ead0552818d92d01263743bb52843729051909a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7410 zcmeI1OK;Oa5P&C63Z;}srHa=98B}g0I3YEugixUpaNtlOD)q$HObXCuXMPiEnVI$46XMVm6r-T5v=7gYy{~U(H=BD;y>_+!Z03>O8;XlXx9B>R(xPoU zTqRT6F1v2{!o~~$TnDgj0OWoEOt0&B`3(TYt1on%D*#ZOzoX;LSpbT+Pbez2qSRW) zZ+FzH-}T#SrB(CQr$*D;Z73A(S6t`9 zDk?{L3O}>s0|{%RYzN-7s$Q_x3|iG~P^z)BtE7a>Z~f;1*2`)m;(APa-sNYmdD-@H z4Dna_nQQvKs0FWr)}|MT*MvY9<%?2Mt2RG(3#|x>K{ON{$0ZQlN-3hDc6b4S04Qew zu5oD!3SED{%jLm|4XYc4n%DIPt8mRStR5FOJDoGs;DGcR^udL)(VfOZ4*Mm;GB`$W z(a1?}cCg+Pqi17bK0(jan;hxP?{xA=XP)TH6P@{>lrQF;LM;fOu+<3sQ2FE(;6rB1 z+cttwF6WS%%>L3Ysmb}X2I+{o%MQ{J^Oj>BnvvcR&MnW`6jo(319f=5h>C2+#+fwm8*^1>dnS`dun5+v+$NTy0=y?jTF?d7^fB zktgH;mzE9}Nw!74<{{Rvhm2EZgEQm~f*xOZL24l>9K<_AURRj5;5a^<2}ht5|p)>KGZ0`1tezJslmzvbc1i=RBf`qxLj~m$0NM*2L0# zA-iI?rY5uf`wGbUqpzTj-ZOZnsD(%p?+`|ZN8e*7JWg75-6P#Y0BT*^iT1GoWdB-n zA4?`!@C}Q678-c^8ogc7e!|Qz4$FK+oSG)ghXh5;)0&@``6*3-IZ`t#EDZXf9L7z$$EXB zzMZTWQBUWl^HQJF93TwaV@*8mauj0X?`i?3793#C#Pdi6?)o`B)*nw;rzO!SN57v_ zVLht};A;&!35=_EADVS>fy31B#{r@{>YjC33hymz5oCK diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-heap-obsolete-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-heap-obsolete-l1-1-0.a deleted file mode 100644 index e718fdddac2cf12ffe71aa78dd8530df6eed93d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8362 zcmeI1-EY)J5Wwer2_J#df+B$`feZ>rmAI=-a?T-DRVpOlp$`!s6;Et@IfpyNIfwI6 z5aJuGdsKXnzM-ml~1SKO5R=1j=f*MogJ?)f9DT3d*3g7 zYiEPoay{2`+RmzNJF>`(ZM(J1_qM&U008Fzte*hp?*W|H=j+tJ0Cb)Chp)4k(zW;( zU+4b@pzG^5d|kx!;u|4u3GpxvhOt-=M!`_rin@V#-XHk8eSyLkZBKYBBJ6kQQu1gJ zY(~T2nZGMYZ6~G&1c^j1Kw;F0qY&RFLRYxL5x&6p?F2xj-AXEiAEQk_yx)I`m5Tn( zu1N1??sn)uiOnJw+zF$OA3hv}(dM=)&4~EMc&#De?7iTJ5TDLGtYxf$^=IEL1zdL5 zA9O?AIPBWAgUXh>PF}`+=kQah9T)UxB56`9NxVLcv9Q)x3xgY z&GDq_>mRg%)XcH8igb)|tQYARV>l;uXmqkcjk6rTc`T~e3U%bz5h3;3H`$k{JF0^M z=~(a-<4SGH0|j{sC3nzH{o>g_BKAOx|iEJ9Hh(A1LZ6vB4?1)8NivSV*cNFYKi|NU}4~T&`eckBxdE)ywQO zZPe-I>m{p=`awJDFkjEp?V|N{SLtXO_IUsORl0lqI+dllQv_$qivub1?X~wxl+(H1Vomb5n%uyg~ zz>-Vyo+Ar>#SA(}1%6zGD@^V&l6tQk^;!Rlso%qnA4L5lMFJ&NQr|J^{TTIOzTO!1 zKj-Tu)YHr#milAN0=vNY{4|r#ezr-zjXl!Ag5NMJ$u}K-Q&8Q9RLXv#~Ql9K85ddk>-hCTnBX(E2la#{9oj(Pht+y8mCzpmKVr-;++_ncFfKDGVV zl!Ous{=}Hs*S$53eW&JJ1gghvhoE!z~FMDg^&w@#? z@0MkM=J|h&{ZH}yYl?mKXXuD{{>A^nCgS}#W%+N-yr2Ks_G^DYANx$R_rrgf%u}B$ WWG+;&;CIZi_hTOWWF!?@|Nj7VH%7q# diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-interlocked-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-interlocked-l1-1-0.a deleted file mode 100644 index 15adb8bcd4e345507f36b4efc97f189d380d3bda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6174 zcmeHL-D=c86h516wbuGeD@9aRP!w_3q}@%clu~Gw7QCp4cfvH?P2Je+51TBuy^taz zUU*UP(hF}CZ+wV8f|ovr4`4lKCO?x+(ryt_3LVJI?3pinX3l)yoFq4Aj83&aJN%#! zEm}p>HC>(7^g==9LvmdxRI~~2hLvFe7y(cg00tic41E*V*`EM(o&P1SOMd|98bkcp zFk|zKy>QHq!X==l%?Q?T=mth6 zW;O9o>{fN%tT9_-8dI5pMx$W@tD8nG19$MOYj!pl%(h#9{?u|@V9aW?S+8{|oau7c zsXuPIolO~^J}!^6+WX!Z8J6yQVx!9xZ_?OO({e4twzf=;UBm!-t4SKEHO%U&TWa|n zO5={Es=AJR(jQI*+^Kyyh4cZK$pKv8y+J6s=7!7r=~V%iS4uU*HPRt`WDb^hORJ7^ z01UPXXVD+tD*MHCG2Nl97(84;yQ)QU5zTQ9Ur?qm7^*ZjxMOp$3 z95w4F_%yH@rP<)T#yzIcZYQzc$IGpR3sfYJ`+dUs{oWQ+3FIlE@be(g<8zMN`r&(> zANk@xId@>qt#_O2!onFBi8L)T15NPg3QbUaDW+kO&mA%6m`XU<=R38eQ-B7qMWw)R z>|~bgGL#xunxkSVbGaRqU#7H*q_opKJnwO%=|Lq)X>jd?1~T zg%B6XFVl!=C*uO8(K_Z3vz3g~{drx+&Z39$ZMfpyz1#F_ zXD76Uy@A-%jo={p6udlxJ;7_iVY=62vy{)tZ9blHK#n2LFW_l_M~gh*T_V4Pxx=^c z2t<^_*GfAtW+Y|^K;DINNQG4BL=cvH{I{qS_>7(2C%5G1xy%$NG7i_lWPds+PsVic z2}5v@4r(4ZsL4_XP08>|cG~M(3PCPoUdbojerxNO6 zRv37#zz=NGS1y#X&v;g^V3I~A`qYSaq7mF%A(i0W=D#$eM3@qJ73F8`an;CmPZ6O; zW;_cu3Vg>})<9(Cafw8Sk3b<>e+rq5E94{6<)AFGBAvcjW|7yD-~Fxa!EIhiNYcbDUwL9UVru!QOeLWEWYzG5w@Lt1rA8uHi?=tAvJ7ZdVVEb*3c yqKjL>reDGRKCCW?A@MJd;tBn@W(_(YsD!!*KDD4#fiGAmt=d;bJRaG-ar^^I&n=$- diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-interlocked-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-interlocked-l1-2-0.a deleted file mode 100644 index 752ff637236d01311310f333b02daf228620388b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2802 zcmcgu!EVz)5S_#=g{TM)J#Ydef#86R9i>hpRVY%01QLfxh$|a6cCZyE4zZ)=z@ev} z^Bep{k9-1OLz&t2#+%ko$^nn$-SO`UU$6V~@rf6h*0&u8c1)SZP4gUgP?oED41 zGrF>PJoSh1++VmeMzBdj4=@U`aEdR9;^El$SY)#%vzUuPcj5yJeAlaBI{28cp}$Ci zPhpaNrsn+;7z-yewgupY-_KJsUejF0uWeb5?`M ze^7nL#^Z+DpdnT7;MaIeTfjp`{Zc$s(ELZ$H|2Ckv>II3lT0b}wTo0Q@oKN&)>)*E zOP_Gkzu6yRKm%&&JkU5l54m?2y$Af*L^vAP4vf-ZF&&EtSKJ2Ew8;u`g0m}fg7_s) zb5qY9vF2M@!ogDS)Ki`UOn57rI{ZebvVu`zs!^sT7MV!5UG=5i>MEIb!0B1xho)j) zlxcKIy}|JyQ#^G#Sa+;1SPzu5k!C2ei@a{E>j8bo7EU%-=7k)$QC~WU`B98pXBzFJ zhnUM^oFmuu6rB$lM#gZ*SJyA;Zner|s<-6_0AZv@nqO%20eV8?LeF@cWutn^(Gs-V z)dy5Qd98sgA2@R~13o2cOA7h-mXkcNzX1TR02mJe*3SU0{v)p!9s|(zvMI0Y9{|wx z>OFaF-36fQ#sj(->oE3Z#K#fq@|cfVC-gY`&L6rXpP})j?J%ds0{?)n#2ya$VL0X! zcf<%bi0A=ECgz7Mu$j#)<}!TAfCKAu*IQgG&<&&bvk9MYuM-YN0gwG~_(kl-lL#2| z2P0Mi_?VYG`q4@9a22AoZq~DaPkwsL$ALQtA-pDrFCe={3I6T^2~(pe$#Vfw;UpB_MrQyc@RZ2U~oz}pI&&grLb4Au!jB8 z(;ip~x1;QYyH<|dRX7t1n*}&kukNUn#vp2-QW~U`h95QpyJ0u1rWXVVYWDnqC*a3V z0KTd9+#_X3?79!B$@+zM38wqcD8p#JtCwLkzpV)jd1N{zz7;-O$Etd*6eIjatf<%C zoPJ62i`t+>7z28kFMe(!j`uIY@!i|m?5jBL;5Wc&7}MJS&GBu~4a_#FH`uSOgdg;c zi#V?E`d!1Nn$hc3nQ*Fn@qP^rb)cNoUl;y)QIzIkd0)g0gkutnfnMC743DHm@NCM{ zG{_|=L3mdxf&5E8&5}OL$Uf(^A;5~|bSHHJcp{gX0e@p*(Ghbwx{54Jjuh9d*s*=deOdD(MLWY}) z9c{$?P>f4;MdR2*%vmwcQT?JB^OFRlY&haaPu`(l=jWL%D_yBt86k|=N9{{SK942I zXvtpunP@K;bMg@ebbpF?0tx$t=ct9cvShJBS%f#HG$Y1MERa2tJp>>JNX@*3B}z0G zNXs7mOp*bAVX0!-H*;OMXa!Q-5&GDfS0A_?5Q)}S&-9V7>p$sZomSz+8wXqtueLr+ z>_4SUA9tle@U6+upl zak&WcQ!y@8$Q$^@FB?JD$~m&q(L?P&GIiXUQpcZF>d5x##dF8PS8u5@Zq2C-yPZ?U zFUXcz%GlQ!wM=DvtF>FDjJOz=Q^t?QxKtUhJ%uvrg(ofFx06_7!0%EO zxznjMR^)4z6(hFiRDyPPs#Z}yBRgg(;cJaS%Tz*7Yqv@Xqhef63EvmvQYBn}3MCkD z@f>osRj`>;!MlltZU+2{`Na`S1>~&DV!u5n`?vFP;Mof4X3GB8@ylLzg;ax*gLT1` z)!kp;!2VOpVnJIPL~g(zcrO{b6hm3%vNU1MrwQkFeqVixv*fIZ@Rc@`E;Aw=Xzf-- zgrFFgiwMWXxKtA_;dj2QCXgA~ze@N#ozJZ5Ig|YFO4osjqfyC#Q!HwuO}L*8f6?bi F{{khY8h8Kz diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-io-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-io-l1-1-1.a deleted file mode 100644 index 8e7f8b1d135e0fe97715baeb2bc4209d2f1ef77c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4310 zcmeHK&2G~`5T5*$LevT*DpYYmMuHm&c4(X+AylbCz=?{VD;qc75K||PVh36Yp`I#^ z6$c)GC+UgD;0ZW$q|EGk?M-91=^+IqCh~ec`#HNi`+Ym>n-82(r}waO*O)Y`VcC{# zw#{ZA|A=~5;AF++V zR z7kJF0XYcsPcZNgmKIh@sj~?v+V_tvAvfDPCL5KSR9e@M#d^vs$F@7z7_( zZ`aw1YJpmzyp^#`)3$BHuv_WMxce7yaRAl|0GCB=0csK7i9|iWFkrJ?bDhY^hlrMS z*gULlh2beM*dv@re|T$6VUaRW#&PMk4yM92l%H@*`M9RS8CY4#z^Qh1Mt9pz2#y{MB6FM^LTn`8)>yIs$l8=sMfV5&QKRQkSJ;{Sr)%Uoj7(#jccx(c)GX z7>dZG#jzDJTfnALAr~X!MXV?lZcP43{6u|_5vB-TEa$IX!SUYg9BClPT;cV*hD$V~x2rngRQ>pU2^}S%lGI-k@mUtN zSyLDUs@~XoE(UC)URaXC9Fv%OV-l+F@LpuOdO(y5#k9CJyI*zu|`IFfb=9G5}q$uW}k^pIxo#zZz9VGHCVH$!D{_i z1Fobbd~z~NmiijDomCA5$U6H<7X7Pgpk0A1RYP(BKyMK~W0^H;sfEmzIe*KfN-$?q zg57LPDd7Xs;!!6Hn}+e?R+^ hFI1c@1w`)rDm$d?zlv?jia;NSI@9S3ch2;#{01kl%x3@q diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-job-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-job-l1-1-0.a deleted file mode 100644 index 9d442cf6e504ada30bec61be1123772b09cc7190..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2686 zcmcguOK;Oa5T3*>g{TNrdf%OP1QyW`on||O2UfVyiZBJ~Ovu)R# zb@jq&4FGlkDji&20qo7`$JjArpHe|TSx7+C=bvJkLl=G zEKCmxRl&5uD6eaChjbb|*HaZCWTq!wjX>d}ztbzA>vc}*j;_5?FO(6Q8ni!zI<(Hq?VtRkEi8@xOA53Kh_ z4I~RiW4`PQi+WFfqrNsU?7|Y4>mO~zOp9@g%%XdA5c9nl7wB^xpzuLqv<`24ee;r@ zuCA6kQ(9^2xJ5BXHf0<>KuN~2j9GkC8D~~9GHb1O7BD#!eFRj@3%1Atz9sv}vPWo* vU?7(%;;!U*c_Mj2{Qrd-nJG_DqCpivYF>+HIaT2o3M)4*{BN`I{Hpy098K>6%zna{le zpuGIA%q!SldBfNSV-F%8Mr@PEJY*X|ld~tCzCY+NH15|u=2cm@)1aK#gFfF5LcZq@ z7{PiGy}-!Cb^`=fn9CgIGyF=A18Z}?ImKb%J`a01RLt)Ljk}Fqz8wQ&o!)@ubll_d z?S3l=dw$#r`r|K{dcWJ_;r9o;XYRi{;OQt2lX;C9H$tvYUZFDPTT#^6>2HR?HjkqF z!T98j-OVQhzY&)M#W54NT*vV|&$hj~JLFdL#}h~|fNBBYBhgxfa?JN*(KZ)0Y;KjC ze(akeqGug8UzHnCbO;Qd6Rtxayj)e-Q`lI*dFg2#9EGbXJK@flacc@^V`Di7r}|Zm zoGM1cp2^niAg%pDkinv0%gqe-SH+g|9|Gl04BEln7(N4wf@GWtIfX+mo|= z?Rq`Kau0XmW12cFyl<9Q#5Ay2rrF@UK1~=xyPU^zh1Y8hH&l(@uiAuD?eY2y8j3(A z>Axua^Py->!t=HW0SLz=I0LP?z1M#%ErMwyo~A|4KnudVQVZl?@@bm%b4JcNqYeR9 zJg1uU380JIf`8C5_24%HX$fUT4yKxr*J1Hv&0W)!by9fdC)`-NsN^Y&PMWLOzm+hY zDjS>$;|HGi+8IbA<&5ME0chb;Ei2ffM5lnXIO16r7W{^doGYC1ZZ~zU$rvM) zP@PN(tNKk!D&ZG&z+p;gY7CmC68hS>2Pt7cAD2jv3J@(z%*T~PN<7oCPEzR;_^@z#D$~kq6p?+q4OLiz9jl% zN_BBl8boQqpIDn$E|qaW{|vQJnM@l_RvSOyIeJ*kc%+@Rvy2%nZQO%m#vmV;i5XAx zaYJpK$NfI4HY^zX%LTtN&ziU(xUXyC>%>Bp1wUgswqhxSapMfx?@q}6>zT-K%>Fbo zEaT1|mHh?C{FOM@?Ei#Fjwy`@SEWIe7W|5JX2p{KS@R4P;7q1~)zypwj_*dP0{+k4 h2*CK~_*^UDi-h;75^jtr;SYQ=u3Rd@+&y(={0FqDjFJEV diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-job-l2-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-job-l2-1-1.a deleted file mode 100644 index 54128f3e70ef2123175fa2f0695ba4a77d6dafb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4558 zcmdT{OK;Oa5S~2Bqm;*?LcL)mka#7vqtr=!&Cs}8HJMpvExSgSZ+AL;!*ThJ)nx>0_viseCbs1uu*3}fSq$IO=D?cV zs*iCRc*(t0=Y{3*6{q95PHVN(aNM@#*-qz)Q+rn1;u{_?X1BX674-QIclXl1F(vqs z%lT8@cHF&_F2#-1x!v@NPPq6z~fy!UL2u09QqC3W^@z^+Z3p z(qL`9ShqYY86rlOVePP3>-C1fV4rX{z3^5!z#<(XkAA6T8T0_R5ZDPflZ>kbI1M|q zF}PqnXpyCbcCUaeEf7l!$kIZqR4@ugvEFI{6dQJn`{1KvfXz(9+71l9U5z14nL9Br z!PNL=lQ2r`a!D8^Zh3*Bi1ZgfwjyRzIF!pIVnn=%6}ilf{+IZ7GzS&JWMLEQ3G55g z#Pa3{EUzq92Uu?6DqJJiA^*QwUJ`C#HA~*0UvoY~XqDqw9^lnh!G)?($AdoMg8s>N z1`Ro&n)II&@wqH|X?Wfgn>NC+2+lymYwmQmrA08UFVggp6VQT)uG9j>mtq4dL%u>6D3-tdhTM63hfHg@=DyxDhofclj_Jd z!s%@6`V@IdsK-dDo=RmvJwGr=!_?#XjG|_e>iM9|dzyMa$KwXn^EDn9s^=bl->B-z zK+1zPzMGhLRuyy~eWwyB=#4apIt#zBO&JNPp|s#}|0#=9q^DGoF_?phfx}d^uCQ;C zD%w)!JxxWb$`#yziV{>As^~g0VN?|X#QnQG+lra<^${s1Jb2?s7QSH}_tjD!u_I&G F!awVlC?fy> diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-ansi-l1-1-0.a deleted file mode 100644 index 98bc76370dbfae39f88eb66235fdac8cb8780a39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11442 zcmeHN-EZ4e6hC#^ZmTviv4T37z+(deT7r|NX+UUd)v8Qr>niaf9*}OG*loNzA99@0 zO$b#8RTbi)4?H2nBSJhO9uVRI?eF1_V4QQWKW<_>afTEtQm=GBa_-N$_a2|$J?GlK z{=V+i8@CtUQTtPIrC2Fev}$QZRW;rvm#SK=mc0vh7XV-hAonN0{NDfz?}>crGXTn$ z8zNtM3_$tC6OpeXmh!cKL{_f>P`*(R`HgJ=%5S-p8QWm&ldkD>*^cR&4%=uOCi}u_ z=^cxq@UU88l`^xf8f8!3ZkhGAWA^k8BUrOb7cdgB1Jh}l_Hv2Y=DuEk#Pn9zVs?=g znZ|U6f7>*HHB8-@3-U_drk9RyVr7e+E&Y52ga;shsAaU!n=CSv?EYYil|N7 z-n1OE?zWvr60Bc*zhkyOY}fAB9w5+14G2Fl-7U*D*In1KYCYHNe(a#?^tx*r{uM(Z zTUN{1HV+e*ncPo3Tb9!udT9b+!!dQ&jI1pp76MvebXoCzq4b{K=~%7(?Os#&HIdM{ zZWwplb=_XK(U4m>v5j`KgSvFK(dztbM}Ul;zE^V#ZJ)PEd@X8PrBYGV)ndq3<9Hq^ z3$Qr@@EmW=LBYkF!rRG(3Ol<6LwEIL2=7^gohOA_w>ts`M})KJ4{w%z?0Ia=;=JUv z2AYps@#TcOn2cNXaT+!jV{m@IU*rCeZ+7#zKjdkD$ou<4UhEHf+8^?EF<;DU1;e(X zu!lzCUHtD;fc=?0{lFJ^a#^P|h1|eA2qx=ONy13F%q3wYJ5Z!>-&+ zB8KaatRy!>8jL0ygA!pBIK(oG9h$SCk)8$B6dgGCV3wcbB?fugMGWFn)nLvke8xR0E3wf;)cw)*VQzw zsBr?0^gzp1iF@a`!cOqkQ}`IiJ=&XYVgIhj0jgBcQhFft7}BmuBgCbn(6a;{gYIk@ z2YVom3n8x0162{@#^VC+(K^-;^Hn^q;?HXd8+Sa6FT)i-dHOp2Iz0_#VQV2iV&s-d z;|goNfGuI|!m{al&&DOMPebRT{s?3}a_<8kGq}cR1iVUkpU|`T60U_lKJoR^-4`OhTnvxHAXyIvh!8ktSgSW#5d>~sGmk;O3I{J_NQ|&2U@T@=N!!1ujl>$Fu z8Ch}gG^Jk=Su$cZB_rgs%NZjE8SyM0;v5V--r{xxFs&Zq3K>48kP&YR0WTH!0qcPk z3qA}AC;sF!jF&3u*iebG;S^(tQSnkkiZdn|FFDe=;ooZikoijjY#-=BsN`XJH9J+eJli`pIS+kOkH7ilpe211aiZzC0ZIfh8OB#0= zYYyXa5!QSij|*6Xub;+d%^W1Zv!L_qwEB`)aPE{sUvgUrc&Wf|SSPPs&}B$}hFmG9 zJ(PRp1va!;eYQew&h|$0(-cN7Q4S zokzkLi|k_D7;8qdl)i70xFt>RdE{lBKc$c(RUzP|0>5G%a-?tNvj3oMqrWplFOu@j z`D)aQe4oOL*co||htjyiPVGnWxX7vf+jv~CMZSi2eq5FSjQGF~|8tr>$_>s6nJsrb U2~`UGh2;nh2-b`OO`JXd0Zk&y0RR91 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-0.a deleted file mode 100644 index cdd52232996a330e3f04d3a532f3bb176ed6b851..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34708 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 A&;S4c diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-2.a deleted file mode 100644 index babbd4be4ce85ac1a7e3c05f0cfddf30801ca969..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8572 zcmeI1PjBNy6u@7cc9*S+fTas70jnStgkTfwG);@NLS0r`*uz4kEq@M(soPANP{#?j zyR;loh0uxvhee132QG*U-(o)spM>ST8IL`V?fmJ%QBX(n%=pc7X6DWN`OP@5-?F`f z?)xk6R+7ouw3=4a+_v7UR7}yN=amXJg%9kl0KioM<1c{aKLM_+$!qm(0J@%Q$?NJa zs^N9*D|uaa0O)$fmDddq;D*Q89mYQOx#zPM54gwf4BDK1+jH$5nyUCgj=JfXI z3grWr9}GNxY!4Z!^?iDPk%%2}&*jcWojLr_J~(BL#Vl55Hp5@+b6{O=w+reLKI2}m zbBej&8@Tt}&fqpM*6R;hM#BRh>~gQ~dk=39hxc4RupQ?)JgRbr&77^zA|s*Y8)s`XmiK{{(4bc680f1d&zmOA#45`=Qyp45GLWDKOH z+tSF>(d<~x)6s0WBy`9+$rRdI*l!t|%B5T#VLS4Wa_ODqkA!#B2PM)mfR?%7H`EGw ze|HA&->%nF-rvL(d7h>LOY`>rx)=s#Ycv`h*Y(g_XvMREx_J)epSm{Z0Zj1Ss-l6uHWXK@^f;sdQ`13UX#>lb3ZM7-HXogiB;B97)k zarOIby`~!1OIZ0R)KM~=@sp=-(B0$5u`I4#&e|#nqmb zic65Y@n2{%UJE&h$+#6ts4(Df%yVZh`N(fB@`x8xvNGjA*?K7kzRT8&7$6^*m4T($E9A!);Vp~1cX|=W zPbuc$Eh!MW0l#4x`MmzQX;e5L5;mqJp`MNg7bL7lB&^{o&q_iWQlBjsdaraX^!u0u z`tGNa0l#B4HDehR(&G8hP@j?pGkvbU*c-((oM&%jfcpL}wnht0!V96($0V#P46rod z7t9m0l@ugJ^C7^Rl7NfTfml(wL5ltviQ>U|2q;B9A-4(t_tSxLcYRYdBAX8b=Cll4 joDK+rJO<8lIsh2?ixq!=kvW*=bTBew84E^*g_7_eD{PNQ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-3.a deleted file mode 100644 index 57aaed69eeb6329e709b197030c930aa7797c1f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14108 zcmeI3&2QX96u@7+=~vqF8I`JnvaNzZr5o(*M^dS((xwVMv?yvpT#y`RchWWSeqcK# zi4dv~sw%{x2M{+va6$+qgoMPce+6d_{2i3{X8bW5kGX~wfN&mPa4_nS9k zd(T|7+2%cB!aDl)g2 z+h$IA!F1SdtG;VGhH02((=zdjEe2+jS&bnz3AdQPYCG(*@4NQKw$HqGU90U`b)Plf z2h+4$T{BbUCTn%>u&cJq>VC)FO`e@0a0Abz#*-(hYTjo4^-lZtn&mg&K{X{$$`HV+ z)osVgJU2}M&t2)Xx-RoP)}Y(HW$&q5&lbb$T)_cG9qo46K)-QLhFQ+4@Z5-a(w20G6i!p5?g% zFz>S+pXbw)BCM^?H!R;u7vVL_u=a3%!}I!x!CjKG>4I~WQ1&oprt!Yyunc-AR}ITa z?pV6qVkn0bC(J73!us%t^IfUsm2kc*(R^15=ev@a?@EqQGD_w7hT{OtZz55_iT^$V zxIMLLZG{CvxvWoWzOe5eNKDqHmL?Y>Twh8v;FZ{T;xn3>mIFvXH{m zo4pqaeo-3~NJax1<{^8V8M6N70M@^>u#m9+8jc9MWDL`zw*Ccv8<@<}-Qazl46KDl zTxI>CynK}8BAVp-Fi&z}e*f_p78HO|nimROKgW44kIgsvQUJvngD&lCyI*;|u!1C!(1U;v}LH{7llhlGL+>QN6AY2xFd0g z0Mxpm=?vy5&@3TJuJYd^(cm}CWG?D+tow(`C-+gDn1#H=lqbaCC<`c}6<4ev}C`88S7mNf1H7OiPvA(X<`b327h9%uLdG+vK2L&{k^`J zlO7}aMC^04sDAW(AX(io>DiRp&7!BPmP^pHryh9Pen)NU3DJ8HQE37@Iu zA`)K4Q67|pgOK{7eXNOig$y4+`iw3@k zV?HPw(;z-hO8dTQoEbTb`k)XqvMLIAs=@Dg%UDsJLLb9@-uoXI C)u|}} diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-4.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-4.a deleted file mode 100644 index 3e4629f1f1c21113609551b0b93f6344c8d71157..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2774 zcmcgu!EVz)5S_#=g{TOGdf;dzxIk^}G;xB2P^2D!15z$X2qA6Vc$1hoafn?}IQ4)y z_r~w^%vbOwl$l*`vQBJT4tS;PPG+AyyKmp@_`!33F&MvSJT>#pZM&Z9IbGK?O-D@W zy=gW(-Ryy*1^{dU)ZXLp4q)de{TMrB>}|pq3G4HeFW6xmaP~Qz`SXyW^R(+Ruf?M9 zn0}c*p7BAv;3xi^5p0^!1B_g3!WT0h9W+_QNB-aoi(KZi7V{atams;>xgS&%5?=E3 zjUPry6sNCe!x$I~r*pRM4Mra)sU0tgEo0Pm9M40RJ5GDaXz=|8k_ynP0o)PRHrOdY zO@&?Fnb1G713&f4A!4Qn{R{gzNv?pw8R0^D;lq}~-b7;y*QK`}I11NRe!}gR<2nkr zkH%gBPR*+k6=6*i3l(9JA}pl{ODe*OT+6jub`V7X_Arci_TcYJfKhGePn09`>wHpp zV{Hut)48mdVKg3%GK|I{rV7R)cJeLbS@5@wQ-8q-?nogIg6Kd8UkY;LIE!xOnn+raBZKP}-Z=>DVnn=0HMtp?Y1KT`{xc#--QULQ5wGMn^y zWfM->>*Fpu44|Iw1w-(2TUgi8{8(I;2*)P$1H*KDGMh+`P+g8`+GGWJA=s69LHrV@ ztES&Sa?Kl=BEU-XG*Yetd=kCv>hKGVO3OsWDMuNXIMig?U0HA3XIjSX2%5g(fm1mz z$~d~Q_Hq70rhFPqaIRTzus&$_Bt^KrVyCUg_lJisTCMOAb9UgD4xR(aj(|kHvr4)!_#k O>pL#~8mct&8h-#&8sX;v diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-5.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-kernel32-legacy-l1-1-5.a deleted file mode 100644 index c62d4e4d9a357893100a77176da29e1a00cad0bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3644 zcmdT{&2G~`5T5)LN+^Oukr3iwBsftAJ5AgOAylbFaI91i7o@ElZyGDk54I~(P8C8u zap)0v0bZkz!jn*DcD>1_w%c$qVx{bkXFq#)XTNV}^YFPFc6u*rPmTFvw`|9DtafAF zFf7rf*M_m)Y$Px2)d1icK3AC4k$)T7r7aC$X^eD+6}+>Yf|B`4G{w2|H)? z{V2Ku2FHZ+>4T4&3cHL(73ZawO|TTMrTm0j$;WLd+!`9I893FiT4a(rh)iUXNlY>o zlT67ZGq6qDY}LIW0H}BUfG02hJ_k4`b=|&lBz`@fG<@a490;bzvYdy};#kSUXfdn` z3`J+YBykq;Tf(kNDHkJRM+~Wyp3HwFd7?3>5T*>Y%?0bYCfMIwoc-;_>^xHJcW_7U z&@!Omp2Fal`34kfk^}jn=T=OPEiM0oH=~ z2J?e158=RSMIpCGDJDGj}MuHVcC@ z`sMz3%7<~n=iZDFEK2DCMlLqt$&`mjEf(@~Z}^3U4s)2xJce(KIIuDI{E9-tJDz>; z7C|(R21z{RX&NW}cs|X5u^^hU(rG`sNHZ&5QeDQeW81Ea^d8%tCCC1^dq^`tuLkf) zSi4|le31#eyfa{MYWZH~l|#f#4+huPS(dH&$<8-VlL$eSof z?$`OG@Qqt*Aehc&y$qxA*eJtj9AffdEMjN9~ng`=OAa20g_QT;6y?toT<>w1!_g-*Ok{R*#- z8g7|Q`n<9Ur|jF~J~|peJ>3fp!Oufs-9__baeX2jo6rx8vhjR6kshJCHKu8k7376r zSLOxrOPsEne*efdZ)A!9E6vkLxeD-E^s=kNFElDG92KV=Wn5}glWDiL-n8|4vnOc! zjt5Q!z9{49#yZ4#KUY2t2H1D3H&`FEdy*m)waZlE#FC%=4A5^g2DD4 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-largeinteger-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-largeinteger-l1-1-0.a deleted file mode 100644 index 5be8cc82aba11846a04f462f242b366838c76101..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2700 zcmcgu&2G~`5T3*>g{TOSdf;dzkT_sthr}4ELJ{S_1t|x(vT@^0Y}NU}cAyd*dg9!N z;6eHvJPc)Ky_>8Xo0bC}$-Cp(Z#}!;&g}TnVUUia*PZ8PS=_$sxt`-YUDI^LklvbR zx8IW!MjZgy0cgF!&Ij20Ne^R3jD5^_nz13zdCHC!A!lFXd9aKb8c%(Xc|DfI$Mi`1 zV$R2ll&^v%BiJmX35-lE3DPN#=Q*F^w-T4R%wYk;&&@cnhzDU4{^0#8c^iKL#^TwM z$(Qi+IL__Gn!q~dT*vV|&osSP{+hY)$1Nle;IIX7PiVVf=lnDmdVOQUaAb!;9@Im` z$N+{H_HmY71A{Zd#q`0)J%zoE$_}nemjO5m*H?DJ?bqX8D%?|44k~bJT=jVJ)-1E| z@Z2dp2P{4lYUZ)A=aO6-SNs!9=doRf(Ks~fFdBcD z4(N-RDU0M-aJP#?f58aeC_0Q5F}E$`gM=_`SYq2`&Qa7y{}A=Qi=i)M)KO9I;c48b zE#UQ`pOi3FH2*Q`yUN`Gtp?ZiP(})!c2(3XyxwcLbr$L4N++DsulDmnZBNsO}LjxR2s z(A)X>#-?ks+@p!2k9-voc?Y#3qKoLoSDAbIoks4A?OFpmccQX@jDEoqdB9mkW!Y2> uWf40s<&4-Pow%X?RZz!&Gkl7iDb@@?cR^u!KmaLi_=Z~P_olg&>ihwq?8$Ec diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-0.a deleted file mode 100644 index 8f9d8cc5dd4cabb060630c8dc80ab8281633dcff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26126 zcmeHQ&2QX96o1{Mg@%4XOKG9Nf?A2M1bdrqQdCe@O+SPRL@l2ZlC#Y^%~EGK>~0`M zsH#wfdH_+0FCh+aL)X9=-oDgUJ2n4)0-l;=zc=&7 z&SNL)orR?r#-1(5lY7jqx>aYoa;#i-7)w2t%WieL!hbP81^_1jw*3yU{a1jUGd%A( z3qW~q!1MlV0F)1g`OsAW%8!1?^W%7?eB?UMPkaJE`ROlsp7non${uzL>_b1N_ zqW}w|o_EsoUhDdut~clR{Em0B-SEBlo2~jv(?jCgbk(a)dO`Cd<&fTP`3voizgl1M zNNl-FKk$e|LY;c&O3o3+R&4)?1Ch7o}0|4gS_efp?nQg`E&KwrPcbSv@&As zl;4@kQhry1*=DzXG4T0NhQoWZ9s~j;>3jr};Q^AQHm)oOy@_^Y)Y7b(>p0bFwOpQZ zj)vxMeys8FHlQ@K1z!$BVBGv$e}5OeFizf7iY9qYaEB`e@tcHyQ5lp-rUdWeaj3q+80r2}AG$y7PHVbf#qrof zjeyatb-%)@froum8?4uXP*-TYO}a1S)w3cOVM*nSYmyV!$@2~*i~t?!sW8I&XD7R| z(fFknIdVKP?SaMK(rW86r!bw1^)xkd2&iDa%TYo7OMNPn`t;#-)^Ngvg~rpFkP6Ud zM}8>5A9yiD7j~#{BeZoL$Ei$n$Zcq8T%1s`M3&|*) z434FxLCc^#A*lpYx+X11WEp5IC$X?arCgA5F-tRzGAm}e2yN63vZx=J<6G!*?ACJtIkx$EIz%`B(k;3KnKgo8sk#{J^pAxNE> z=Nb{^<*tX3 zo>@-A$W^mkgpvI??)_rqK`<;fF)hlky?6lYPf6m#;RJRp!MAuew3;Ks#2DUkqqG~x zEHUBen7D>|vJocURCH;Wn7F8vyB;P2vz&&B_snt;CTP~yFD4G+im0;MnrmBeZ>aea z3x`7rol5W-9%HTLD2S7?(EmwW{nzIYh5jFo^nVwQZ@>C~fJFpEG=clvd7V4(RU6e7 zJWh%qrV@OLS28*x7V%@0EVTbdA4K~fQ1qdOb;$F~xj*d}VG61J zNXbI`E4JES_&x@dM9=;~e4qVH`$g<7-`a2I`zV2K;rpnhEcD;C)c<1bl+-_IB_jPF zWbO2RrvK5Vg*WK_dA0yHYp1cj8>$PWbVDX~z$tKG&~MEPx)U*keQ_L+Bec12pgKbl z4zlrw+~WlfvckdM4Abtu8Y#%FOf>{HC}2h=JNxcoWUHywT&wmF*7!(iIt>ij<6rO{bJ$Xq-N0W zR!n)GC)mWy5{fVP^qLr1V4{d4n{-{9FWiYZ@*W)%xt}u(gb6Wk&@hqF+`%@E>=r%~ zfhWyQ4B|8GPGSNPk!Kq*fX|eIhK#Ua8&fWPCX*fcUp~_=i3Rbp)8_J-WUCXi2!)Y_ z&tw~EE--Q1F|kv}#OCsugz9TnLSbZqi6Z`N(sgYfaVPfP?SREGX}&$6GFOVeFVpViC5nX{Xqq zN+3y_R}Zp7Z%oAq-aF58YMUK;3NFNV8RSkz3G7&cZ}4pYeUdC}fnyz)*7vIxacLQs9%R4X-Ap&cepMcb%QG72i9kuB z;VDjF#}a&r=j7LRLiZ^7Wu6RX4vuY9`lxOfZlH^>(OYZt+>Kz~#4z7l8}^%=2XK`8 zjY{7Y`)X12)umi}M+ZaQmuQFc7h;{&fQxJ*a*l0uy1>P4$HmqdE}~E6Z7O>awOY3ql9h$Mu#Hp~xVY`O z7&YNyli7<<`Azmhva-O1ZM3?GOstEGK_U|)F+Db{k`Zp7JH zV8k|hU0~$4W2BUZk(}F)|A7&c4N)+X(Y(Vt!mUT|im&p?7284V$d+}!cAaNCg8xc^ zCAn7hLP()g34X+5`ggp!Az6o?g(b0#al1uagT^>*)oPHq20-!~?)mnzY~mWp7IRE! I)FC3_Kkh3EHUIzs diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-1.a deleted file mode 100644 index 0dbcbdecc9eb264e2da52b1ab180aaf77478a71b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4366 zcmeHK&2G~`5T3*-KcW1p2aZN6NJw?C)5Z-FLaizx4n0&z2yR=qc8OIdE_Mp-ttYOO z7vR8?^g(zQ%FL`cUMIF%gk*$ZCGU=BKkv`%H#6%8&%9)J@Vx!REEcEdxQ=W0yFJsi zxl6B2bGawqO>?^q0M`H--vC-)QJk004Q%PT#g7mhLcC6cBo$l1I7q}s><8jwIPwlc zfy$%4E8G@;=&W>`s?SHz0hXb(I0JzQ49CXIP(U|4x%7m@$j_-}VY6$nN!PZ%4CrvMa!3p6) z8gOw%VUaS>!gc9o4Qz$$DLvult8uFew}iq%2~PE^7MWxXQwy175tFO}ldQ-&U7TrFHE+AhCOW~xrVBxtw^1Bg!v41z>!~rpzGSAs%%DX`nxU+mW6ZitJXzP=VgXbI^6Nu`9pd;JAQ^0T2`kijoF+7y8SrAK;{E%DVhPlk{Kq?9!kTzFL(~`lTKZ(NUjj? zfvAz5a~CBl6cMCmk>6$2gwH5w_ak-vDXQwb%5k<~{yYEqPiG{lJGqh7!vBWOh;_-E ze}w;~{|7bZnwW~fBc{Ili!N}F!e`Bar1BG|2+yKSn~M)NGiB)!WV3d|GM%A KdP-Mg2KWiWN7x_$ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l1-2-2.a deleted file mode 100644 index ba93a511f2baf04ba76115a6a5c3ec354d92305c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2778 zcmcgu!EVz)5S=6~g{TM)6>u~X9FXc@ht%-_p-2@HClnzeI3R7D*dd`#9BfCF3+f4R z?46(KiLc;WC^NI(WZl>_7d%mRXJ?;1yKiT9{P4LKk0vjgPmR3TN48@-mTNyV42!4q z)-c+x92>@<2>?3)wGY_62iW^Xe<6;Ac$)-qBKkoZ#Ns&e1My`#_ZCxu##7f3PDg~( zA^kIZG!I5m94x(sAlNLS2Lzc26npX4F!FqSS!jzk{yc&2n*|^yf#+A^5MIugvo}E! zE#pz}8ht14K#1vVAqpn^*~w^_wj#xC8K<^oIgVo(T?@%(88rRxH;`6^h(1 zzHwy@1k<^!mtiy>8)X=cLrfO*MeO7yQwcU-_ckn#!(kAeF(a(xa100#LN3MAzPZ+Eso_fkufQVb!)ZsTO6&8w0(~Yw&u}C=OuB|lfu9j_kOwkWKY%1kN z*+zHOA6;?rzsZ6uZ+)IsLA-2v5dnk6ZIR8TsJmr z59mB{rGYFLm@)EzPsvKNt|H39EaWnX_e-ZQS0q=6Uvg-X8FU{t61o|r#p1DS>hKel Nf?bz>5mlIf&A;4W=E?v7 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-libraryloader-l2-1-0.a deleted file mode 100644 index 5beddeb8371206355500e244821f7c097f8362e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3666 zcmdT{&2G~`5T3*-l(hUDD%2A)5*(1~V5f~6qzV9nXID?#_PS&gS7354*kR^{0BaSS`!8Y_n}O zb=?$QYOU+*E$k3wuMPk=04hHLYCixL@5tZM7QoULV>^t!kK8a~9XEDEwi7rm`|J() z&|~O4ZrjY>V7|9czr-I5+-?xMM|{W#){p1~MlJ${JRJD}ckp9=lUdAUoZ(x;XIHK$c`L8S8FjCoA0I6UUX5Ye*@o%6NcyNE^&=cSfyFjHJB^%HKn7`K_?*3ekV!KM9ai<~n0k%62th*L&} zQ-O#zEAkZf#rjw$cK61`eIuYQM@zj!10RmCWstUi+ zC^6BLDmPMFWMZ+THB4l19iY zCzA{^&J47d8#q{~j0+Q7CeySL^CcfQRvWE@GU{nQ&Q9m`0FBoPCiUTp&o3U+)7ja? zH?b-+?-r7iG`{5NEwm)hC8y~-3A>dnPgBsQa}cQU6d4B+O^C?R2>6!FIFoFWdPFob zN)qcP7RVXN8RE?lJyJ#7AH@5cOpt7KKmK~c&0+JHS( S_>Ohns--$|d&>J`RR0ULb%QPd diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-ansi-l1-1-0.a deleted file mode 100644 index fe53ca1b8b1096ac318f0ab5ca366b7248c45d7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17014 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 B*RKEo diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-1.a deleted file mode 100644 index 597a7341bd4287d98d28a096f37efceb02aff874..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2770 zcmcgu&2G~`5T3*>g{TM)73$GQAaTIPjvCiU6^c|<;=mySaYNd;u|rJ#6U7bAJ<2 z)KS;FuK2F&!wvv!0JJ{f^cG<2Cw&+@WbAzw%rZ6z@?gdeQ$Jv*Vd70ghQWpFFlUcN z;W2%Rc$x&GbQa9LDI-{%(F2S^EJ{aS6rOo`m?kW;S(n+&WB7A%0BjO?eiQlND4ECa zzGQh2zoGpE+0g*Mr0dZ!#4dW0&^TjLGjScV)UA+70e&w@?b5c9rTSUY!-(vWnDo z=@U-+*XL~vXh0*~2O8(+KKE{;_X)o#5st>S1LJ%$PfkRHD{h5pddUWAg0m}Xg7_s) zOH=P1vFEia;b5tEnyF3!5k&Gy3yh568(&^MrEeD(WlZ&|dcRO2|}}We1TF&caIl@b{(D7dsL=#D8!Y5%sf+9vR&WBC@;&dE^IvqZ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l1-2-2.a deleted file mode 100644 index ff3a73bc67896b847cf109f2b902cced6863ec5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3632 zcmdT{L2uJA6n<^G4YnaT42cs22_z0nNlKR$X+o7c36Lf<3AiD7+2Yb@X;U>BjETbz zXy=_c@DunI`yKoi#CXq+TX#vi?GnVBYCF$gV*B~~{Je)7-e|A)V)3atZO)qGIkNGHO+dSbT)`@)1J_iGD z7%+4mwp`{mSs3inFZD+Qz88)7fj49X>&Ns0BNq#!JueK7yd;PQEOb}{|2&4D>vLc| z?)hbm2V0%joA076nhSp;hGs#3$TIGiJbC*iPI!NlcfEr!$-FTG;P?5bq#lhorf5eT z+jd>oG~MT|@s9W>7<{yi3czjAnuB`64-?TYE=<_osrz2y6+=W%8@A8tyK#I842}sG z&<7ti74`-;YB(?5+F&c(n(`BFxfr*ua8IzYl7mzIszxSR{n$b#S;QnuXOa~Nx4 z{V;@jHwbz9(w}pHkCm>suN$Qd(t4QxxZNjPc#d;YX22e@ofg$2^OSG=S_ntUk5soIf1Kp%| zFxZzK!MLeN(;`dIgov)x1jUzPIx+p+k#o+dM1U3FsV1EQ3`8l5D*VDmd6}hbt;IH) zBL#O^hFN#?46`5t^bNO~E&zF2qcdm~`#+?dr^*ETiWvqof_6I62zhoq$sFU1Ks(vQ z!MfVGFu_e_m=NF|(N5H3?f zFJ%W+Wh!B$jXO&TU-NMpC7k5r#!9%4>$|QJ0A^f<@q5Ik|5X(aaPDLiRkX#kEUNGm Q8#7if^)U-j+J8QO0eC!jhyVZp diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-l2-1-0.a deleted file mode 100644 index 73068c9454ef316bbba04fa97721a6738720512b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11964 zcmeI2&1)M+6u_S)+lk$T2AaA_DRf&B2u-B!D)w4|Pzm>zlvJ%mz9kNG?Dcl0mmsp)$&`!Tb#ipNfnSkS=Cj^8}(eC+$}do$~g?t8&e z`?K{=Ej2k?j_bH~-QKn=n>Wd&W!1OD-33QB7fKbp!{(l^34+f%C~+O`Sx>w+s_%>W$gQrAB@<(ANm2?9W;IR zQ>X6@I}C-By35>6*6kcpj^u;Be>4dEu{UI-)*I0e7>QVSaO8D6kG-%n=(BE(Im~7r z!`tMPw^#i`iUX15E~R;TMnKl<+_z{91M_b3)ba(OMO>vE=lQj^!QG)+fZ!}2s8Y5nk3 ziha?_s3}@wzIH3v^a>rmZe$(hC0aQ>Q6H2@rvyVRXZgP6R^K+a`nrRr&r@pkED<*`QZsXN&ILuB)GvA{O; zFz6Aaw6IBsa0Mmeen#dWwgsqs}m2FJX=5v4c8~^Yz?#Tx5e^MLMwz zXZ+&jP5SHU(^Qt$-pYyl$O@@XVVP@K6P7Kkn0_1Cv*gjK+p_L+Kwd-cVIZP_uNL)y zzY-oM^&YW=uYkf1pDR6iF(NTS0P0<^vw<~A^iB|xD*sy)CHMm?dPF-d(w!Z5-0yG} zY(o}gzav=q6_?>O78;R#&}Eh^{3!MNDi*?gJ&lE*^Ys!I$PUiR!a7-ox+ggxyD2gc z@6iM>r99X|z{?W+iPxN2CqQJEV-7^v_Y8@U_a6%)qPOa65wWJ*2JQ@tO~kdx{!=27 zAeqnXuRJ1>t+K`nwan~{Ch-z>-HZuGXJQdC-AI@?PsDUlKcy@x;Z7u>O9`G~ zNoPkU=W_EPVcU#^#omEGRS`BNr(Lf_!iB6|;JdKMvC;-#Avspk_YN5n62FimpMzI$ z%~-gr@1qxchtw-jgmBiq!zyP%`0%RMa<-%qq3j_PB&cN$ zOwZ%(^DpG*73^ku;^hDU diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-obsolete-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-localization-obsolete-l1-2-0.a deleted file mode 100644 index e184b1406cc6aee6ad66c3b310817f120af29a65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8838 zcmeI1PjB2r6u@7+NlK$2PzVUBLX1?T9=eOY*>zH>s)7QvNEM0%6&Iw5H|x!=YOhze zw@oSzRaNE0A$JaZ0}$d1^s{j0#EBE-y&3-*ukGDUq^`BFBY9@_%^T0moA>kcct5^l zdPm*6YoDs=q&Ia#H?&=CTU9mQBv3V09Vb>T_|e{{leQTYrda z<1bXh>%CQReQ*tcuIu;3we=Wa>oH^dj6L)%&u0f#V0mocZCmU~uWt@|4237V1~VGW z?zQL&P%xM!}~fGu&!mc zXF4$4vjSS>=T^rY+QGxG9+>^(p?QpRVLfNS3Y)Rvn^QlqoH0F%6sT|D_4>!(o(`U=$PT9)^v>p5odU80p1f6*U0$*lcIFC!*_m`}9Ad!9QSq&nocQ_obN2eg$| zs%L)tzUvH3&l1au);S_JG{Z1dbw|G)`+NHgT^Q5-CG>1wTY*|& zodmpIoT+edSZkYsS**fa_Tb=Ut>ya@)ZiKE_2`B-8j(zQytF>*L`qer;+X`>+&ntlArH=V1 z5`=Qut~8Cx$XrNGwy9F2BiXZ3q$Al9A7nTdSt*@DdviOkVAB{KZbR~v%95VGN%)J# zphP+foMK+e({GKl(4C%z-R(w(1q1ixZCVU0m(4<*PXn_}nhnnD{m^G<-}6|A^yO00 zi`kOfqdMtD_0e)21r?y2o)Q&qpEr4J8qe?Y(1hxkxEDbu=nngjgoOKE%F?vR8PLJ4 zE9fBml1-B&KaIqkGrVx+$n&WrVga7;Tx1ITiIoz9aw+(6`g{%34o7feBx>pseOI{2 ze#FhE*RVYL=oxkk+uI=pRH&d$8Hq4*NKZ~0Aul~kB1{}PXm1-hSYH|!61`L;+C`m{ ze7%@HTE`yhJkQrNqIq4%3Pt90QeVFMge2$ZX}S1yrTBe}`zMVpeD*5VgwG5Arv9O) zOK$))d?g!~K(-~1LJ;!7twtkYFA;^32op)TB~n!JHIoO38HpJJ(CC7y53xpxo)$uK zhyNCt0>5IV@Ktldn`jAqib%y-F{Wfierpq~oTGUrvC<9whl*LU;z{F3j9Gn5Op$rYWu`eDGj%-j z^K`h@J`>EmKtGzq%=eP7&61gpH10TN2Kjm!W}fEj#msD=4_uU)749|C*&FXM&z!s? zfRH%38A_;7;3v$96KTZ>8?tcrA6}#w(wLHmodplLp8|{cOG3=UCbnIahh_4P^arK6 z=HXqm0i`5v+!6wwEATUxnH9%GqzzGSjM!clcm@mtmp;nUAOcc_uO|7EENt zrN)W+bWAj}?@fzy`HeVET;^P^a3=EqADHL&CpvdgO5(*`A>g?JzhOxb6ompPLIjQk~x UBg``;)11jiRxHpM6_&umzw9;&s{jB1 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-0.a deleted file mode 100644 index d482db391a2f2e93d5447cc4ed831462fc789389..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14910 zcmeHO-EQ1O6h7Ha(l#V*p&@{T#1f?_D&56SH_irCC@2tdQ#D0u%LS6->^j|T_fNZC znsR}1fuaf_R3RRyPrx+~!81_KnIDhG_9os{F>>XR#$%s3JL8%8zB6ZLydU3o2KD9_ z3!jzrU~Zb0X&E(Rqf|0jR`6OXZQruQ4-OUpU=^VFH^BT~01Gu9m%aj^cvZw}w*e@w z?C|&jrW8N?oX3w00E(+3US9{GxPF7jPf<>>QsvRK04P>bMsaI{qHXWm_Whwd7~1=; z=ML=MUckR1!Hi_(x+vyFS*=^G{ zZNqkKEU4px-E^JCe_Ing9JD-lf6%MD!{HtF7GT@0PT!8nc+eVnBd2|DBHp@n((Qcz+<%qDy!#}S8 z9?cv%PozM|gZ)U=7DIKDTCfib<8%W3R~)Ak=(|~_L%pI0(Z8(U<}j-`GggQ786l%M zgHu3EpgJg!P5~a{H607hu-;6L^_o$QVBNxTxJoY%v;Q~Nac<*bncfE9>wSR{8s|8y z3w13C==t2y6vPAR#mPywh_T47WCe<>f0o!?5~MfT?1}0a7;50iYmT~4xP)O%>uG9a z3T$A#%h^EvOMR+B(Aw~Kj_`viOQcgu3K;WE`5*P{R614pRTSzs;g%dSL__m)$uZopD z4%7=uPn%0m`&)T zdO0F5;T=abM=w4K?nUOE=qv-leq?hB2=ucaqZ*1*qUH-JVZESnhP9VQpT7}*LjY_D2np`*v z)O!{e`tf=ZF8mm;=X2p59OFs3a9OT7ySF*YojDKIf$PU((Q!ZS22I z5XYdfzs3dZT7c)624OCi#=0m~+;1eqy@{J?EGQo+xBF{8?w4^~C&m4uM1tC&%Cy~o zS0G(s|E7>oQUG!U1<+NCHOn6mr^*2{83%IThm9wn0{lHHp99nQK5vB(!I6^PHNXVE zj{v(q1Ng#J@oyx=e{>GWeIGRkOym13Nc@Ylg)IC1#D5CP{(r&+>{@_dFctP+v{p0z zQkEw2jqOCpx3;6J-W>S~`Im8IC-r_V1+jp?&oc6f`4klLSGj;)3vh~Q0QtJfXQzg# z?)4b8M5y1&{T()buhZYTC~+WS4y{GVx9Fbk27E;H@_C)x9lw3w41Do&LH3D0|TU+7E@Oydg` zLHk-5zcYUGeW7rRIRzrpR2h))%P@&A0vG7IWJlk*3OkgeSiFm(OQ1fYyMMo_hhr{JkmT9#E1m PpJQ6hi4d2O0vG-T7?y5Q diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-1.a deleted file mode 100644 index 85bb2828fd00b4abaac377156272d8f270dcbe4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15414 zcmeHO-EZ4e6hC#kukKSYjWHO6(M{P-ikQ?1==iK95-{ar!ocrOt za?Nrp^*3g&@_@4lj zPyNpGvwr|ke(n^{=N14cpEr2U*8wQMdY|V@j{qpY_JHTh-vdy-@`UHoZvd1HY>)EQ zbCgYU#WZhsZMSQ#*`Dp1EA6Un-g8=3$1zd3Q#MRv!E892l!d(AvMX)Z?pYm^)S6wo zz$B5`w3}^r*K8C``dB9ZP}2spZd=uVwk5dZxL(g{+-^16m2EIhr`a+4W#Zdvq@GD` zx0+Vxj$_|@uXf#O*l+EK--ya@+1{<)u4gw%Z^f$A?OV=$>?CV4rV_<#Zo6W4yX$Rt z+i7i)9$pnRGeqG7yK8&vuH)J3mRG5Zh6bhY_iT6f1~WfawR>*GzS;Jinp3enr`-}) zC26g>cFo2{gsu4RiEGt$H)N|_ciYW3I~{R>vg&O`U;1VEE#AH{l_(x=-ysTEwQ9Lr z_L{Y2-*8$^v)2?IP}Qusw&mH0hE7!D3IriEQwI@ov)8oNMZ+uHZ`Uid z1E&?|t%|yC7)CyCl!dd(Z_HF59z=%)P@V!f$<7Wy!LxTfb{=2kVQr&OwLB|ch1D#> z+LOX&x0|2_d!*;k56+?&75#Ei0skC%qQDt?j2xs3H6 z3Y^m+4|>X2g1%q!h17y7?S(NS@cs1k7O=5Rsa**5`eF&i!iHKe;1~5{8FfBZ>)|M# zC-O7z2pwOBJ$~}^B7J-OIFyBFCkIBmggR=EBk>5HaU^rp(scsAQrxB{bJ6Gmvi(>r z0fBmEDQW?);;|%*6TXD?zK<)cpY+uE9q~H^pw>B8p20Ip=X_uF9jR3GxMM0_2~-Cp#+gPxx41b2g5caYa5KVaUk8(1-koA@XD9 zteK*IJ{{_pit>1hqy7QXJ;~pHBzzzpvh?>gsoi1zzN6NQ`1|{6y#Vzz&KMQ-$0523 zG0r~!jKF#5^9w>k2MxZ$GTLMA_Z9LCR+j?bUrNb>`RJ(U3q(c|3#t-&vSdL^YIhh5 zcGP+i7JR1G3s``Qk0Z0-7|^1bV&#otW_(9LFW~)C3fWNR0#<5(i@0$;AG+q4X>=&2 zkkCPcpRgR#`+y&D=E;;JdPHQ&NL>Bm<=BHei(5Gl&^G*^$g>Aq64Oo5rK0-sRrL-sq8f;gt{tA zJ{T$aFxiKr$INz~q=*ynVL$tD2Lay@lHSZ3=g5#|AFjW*oB#u|ERmmf2YRv=I~4i* zS&KbD$p4?N#m4kJpo7XRS*|nbDfg$BCTp=nd9k0h*lFTL++riPHqH?u&06e`-Us}M zGf$=*NxPd}itgi0W)a~m;tXPX)OmG|I1+i|dc3(ovnfj9ETY5(tkmEeJgRyfkRoD_ zOxcijSKEm0Oib2gLpIPFGW%f9n=jA?|IG;I-TRq+ObNt9{yoDG_1}IIB=RSp6#pB_G?t{@<(`l3SWMoK y3S-HOh~-gZiSJ1zUikkI8|xTyo_P>?bahQg=%B$5SVnl^_gs!03d3Z;tY1*U{TC3f*{6K5--Dv-2PNNrb@%GGh!-mF{ihinH@ zgiwS~R3U_N=%M0-I3mP}BZnS2@fYxiaH707Ty!N)m)kYa?Tz zWQWIB_W>xL{)xx4zXDJ^_Xm$}{sTbqZG0ZZ3$OEdaUI~|x?!vt#vR}Ge4}Ltwr8vj zEZg|P>6=5xz{;JbZs<#f>ugdC>j!o~3*{^8#z09!L1^IlXD z){AnaZYxjqO)yc0N)|?tUnL78$ZnQlNGhWtlrNLp95z*EGBHeMq#2c&^P>+5e^DP4 z2&2GVOv|y{r0d-YbiJu9rF31#bvQ|bhuN2{>kT#xOis~ga9n3X9ierW>3W10a{(7~ zM{JMEgp0~g=f|<40+f;!s4)4QV5K6O-eq1D;TV|KKqu&K_wVrH{(%5fV4MPkPit%VxxmC3Or&Ak<2< zv&X3&-w!{RZF-5Y>+pV$%mzae9+V9@J9uF!|)~fhA)MF$DJy^mE&Ru zAKgj)AjidgxPV-l^i(km1zxjFxvzMaj0lEg@6_TIELGrl%nL|?v!w{IOzvDN$ejkh zAY_5w4IZ8|Uc@=00`hmv(|i)gk2Y9HxDuNetXJSiOy#rY^vGx{lM#)gj5yp~(Nc4# z@?v&Z3P?YqIPkkG>8v>+cjK4R=aBEwjON`@S;GFk%sZ;S(C@f&$c`MBI){8C$Hh!J_Y6#d iY^F@L_jm(kK_S^sUEvihRp4jLGZ~Qkg7FR-pSPOp`UPxQR9eEfFH z^1OA!vCUP(ab6qlmgRealOceYeXF}>JJt)M-?zJ4NoN_I<~wiCul6D$WHCTfRbAH= zMQ=1B2AGGJkOTmY0>BO4nt-Zr?fbl)T`ADqsG5dvWJ7q*GBi)BZ$0lE7#tAJrVq~7 zL+m6r$~Z2$EQ1>27DGGXrn7NNA#NTUvnjZ+KfEJTD;=+bOsx=8D}t#NN2_R+g{tW| z2&``6A_Xt}J_Xn+Y#KYEA+XDFB)6qAz6mDBu$YCB;#bPTNUwNYH;(B`wt~bRH z2FEoQaD>)5jq4#^zDu}BJ92;6CS2G)d!I%_38IjkiW&dYkXv2*<)%1Dk$( zx4R=OoNI|l(C02G zEC`XEmrIsvm{54xm@*G9^Pqge<)x!Vn!aeqd4&BN0nh2CfI4C>!M$JF3&}%TIf!#a zwD;5M)zR6uhTKS;vjvkbsv>A-pb{%0It-w-2;Z9|M@cX5@+RYL)W{D9=#xwv`a9*&<%tcqp+EUF^>z{Zf- zi)1kjki-8AQN~b5)X2hM#`uc7IZq>|#H~Cv(v|!U)5v~0Za^cS({YhT=;B7Da>W9C8|S)DoP;t$s^j=%r_ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-4.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-4.a deleted file mode 100644 index 9ec4f1ed50e76a72cfdad9f8d29e64be4487c40a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2778 zcmcgu!EVz)5S_#=g{TM)J#aKtxnW~Rsp|tmkt!iLAcX^5H*W1jSI8C!)>P;BIlAK;(Tf^P`>c@7T`x~6 z+eWPUUVd<}R6326p#UN8Mc0NuXl$ZRY%afYi<(HXhib{up{U!sKJ56j9Zt#|kC%#e zU4GH6^cLsCQs*@2V69n8@a|XcLW)q=u9r1pare{d^)Ohb#DyiUQcI{7{;bC>@{9J- zN6f4q=g4*GXnZO$(uX^~xqU-V^ZC-JTC3|lsgU9eWj;eoC|jtQzEkR1spGT+?S8cZ zl}}zX85d diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-5.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-memory-l1-1-5.a deleted file mode 100644 index 2779da82329f476262b40f369237ece21864dfd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3546 zcmdT{O>fgc5S_#+g{TM)<>P2jxz)i=6E_EhDpf*UfL_W8Y2(%oaT_O5?5c%B)dQ+H z_P`J7nL~dPWoFhJZyKAn2aFggyX)C!@9yk-JDX>(yvc6=b^WC|Yfjs79oO#IEz`8Q zOD|1x&A|?~ZXE#b091|vYI^{SKjp7}0Z_jXVpE9iIGDs@D@cNg*c|zRI1Gp0I27nS z>bSyfi9xtSztle(2D_t4aNvyv!J?R65abe35RE2Z#J~}bXbVr^hoS&PKk)p&I}&UU zBX9gM3=Ti^-h_jo2||R?Sj@TK>8SSyk*AP39sYh2C5_QE_(f57Y}<8R({wwXY1I8w z3_4n;0`P!a3(!b{qlDYVg$Y~ThVLa_F@$?IVC%fG6UW!U;Dm4?eQ>3vuy?Uh!+Ghp z0k*=mm7j1+#kh5aTfxS14o>x}8rfn+v4w20h%J_6i#2d8$7(nH!2p4c9`0WH!mmq! z&y}9HuNip;6*`{}x>5qbEIK6xUtchlezIsQqiMH+dRZEYoaoUQbhw&_3sJ zUE%dw!%elL_p3JHRQqbZgbo9!q*K7)_}u5#O_<*2^Aq7{%o^w={e$7Y^f1?EB29}d zK@A*TsRoKK#WXYhw2^b3(+7hU)2Swf0`$3*MHMhXm6AEi(^qVxIZ|ZT<&t%$spXPI z4$3#&UP|YA`l1tO75hJ>Jg3S8`-Zs$&wlMJq!IG$B+C)gv!8aag@g69aUsLa@4$Tt;+l@ftg2RN;clZmSnSJF1?#_ zSj*istTCTqK#w8k6G)lQ(V`LXEtyZUT%kN1ff>ELRiGfuU4RPiMP=O4D95k{>>FyJDQ~r=*{%DhQUl*{`PXTnoAQFHGBvQLjr%7J zB>A{G4IJm=rW$yR>$|N60CFz6_#NWU|Ehy0ICrv42ex!@S%n{1=d4;PA+Mu^|0}-% D*Mn4Q diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-ansi-l1-1-0.a deleted file mode 100644 index 830399c8c0db5a701c74b23d79716e6f469caea8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4534 zcmdT{&2G~`5S}D0Kc)N#df)((K}ABS4t7c194b_l0~H4p2_ZNjZQa@-RvpJmT&NI- z3ZWhlhaUP6JOSrE3F5$WP-b?$_Byef^kUSNygQ!#>|M`(-_H8pnmyR=KAn54WsA9D zTBc<*%_o{>@GiC1w1#QL4{Xi>z$JjnAAp(PXtu?5UlxPZ$GuwDVU&aGLfNA6z4 z?cz#<_GaC&BfA*Fd)A?ST;CcFC%|Bza2~yIu_3WYI+($Esbw7uiCd9=!p#@sRwZr; zjfEVX?3XQaQSS|P0G^^WJe@q>R)0Nz(R_KtMKel?yn zd~IY71XE*KEy5^qtQBFD7|w7EMJHS0IP>_;VppwFh~cp#hSVyLvM-76XbdWZslov3 za(4pae)kOAZ!U{{PSZB$B=;>`j~nz6F!R5;zs#qB)dI~1=XE>g3axh@_a$C!6S!7F88~p;2ajDqn9y1Iw}y-Nam@oFklri#$kQak=SG zk*7D>iI%YcUCeuGG%%*jHJBTeJ(5PqEBk2Cb_*usZLGtwTr{3} zK#d{KGY~6*M~gLl zfh+eER;KDG?{FQMQ|h3hp1Fh$zGDa`>A+F=Q>G3AW!%$ru$PY;)4`W~T%vA+|x9&pN|{U$hUl4qLKT!?q}6VmMMAvnCClpERrO!q*{3)9K5c=Pi$2& Omn` diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-ansi-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-ansi-l1-1-1.a deleted file mode 100644 index e5b93eb3b832e52cacad86a045db6b51f12ffe7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2762 zcmc&$!EVz)5S_#=g{TNrdf;dzkPxbk9i>hV2nFTB2}MY7LfUNV4YBGZR_uz3QxAx9 z4}4I?hwv$snO$$ZPHmbCVWRAgXWx2u-_Gp#$t%7*nZ9nlw9Dcj`+*;Ly>?*Ro*Xh; z+irI|`Gipm0CoTxAF+E6u=kVxj13t3kcwr>h9VP7Hdus$eTn8gi5MEsdjShNERM$X z&+Uu3I9V*k8BZ9&W+_czWMXqZ6JZi1g7JA8vDjzy;|yOo6Tqf|huiT810KikXf;Dz z%^P4Wnk8(_81ltroVg3lY8{)t=LG>W-1Q1J!|!*HP=I~|;DOY3!Og^ZCiVKphT+H! zdB*D@a-fftK;R?<|_{KMF9Yj=mV8eG@oJXYwut72c{&ECMRa>*RmI^ndw z-tVKq0&3}2up~eCrM5}LPvt#{a1M2tJ64|Pz3BOR;W`+0<`IdSlGU;xuH9i&`DU@$}lB92V+*HP^@{Mk* zBOL#f$31m6cpKIltPRE;Ngk@?qNpLO+CZn-L1z=gFBG^^t?3~qsm87HjrKt`^=maQ z(Ca!t{w)O#lLllYRQ$^=J)KqkTYSY#Cwtp=Y{%NMwoTJwm*mnk>)ZUZX&x*BzzRTR6JUM=VBs;(OBVo?pZkgD zYrg|fzWy7}tA7GezOl^nP5dt9TQBjvj_vgg*KN4&yF-64boc$xAGnQP(|12^2VTGJ zqVa6Uah)x<(>|mu?7hH0>J9u;ukRA9JESkTWO4(q>o@!DzVCKy*LE$}bManXAKaGj zHUIU_;Gx$J-=;C_;}{-->$bancf|P4zzc@nQGydN)&9UwK=-|%+3_EQUWk)nx6Qh` z@B1h57z8$Ld$Zd|kM{z+R}5@)+I|oU_!z(&(wO*n8oh4+6xWV!6-_x0^?G}F)C+JO zlL?Bhbype#ABRdV6(GsLoAETF0Vw8%zB|R-^m=|+>&1e}Qi^R^j^mi7vx^d9>0q(> zXdcA^aBl`R!CG@r3;nZ@wX+Ko_77@JFZ8k@?8+YOKdBuKhdD4fCtRCuxV9BxuVP~s z$0esdup-=cWGCEGHm)AwZewFvgNv?5H7c~)9ad4HRZ?g*h!k4w*j2k~)ta3SVQa_j zjxWCS*HeHGW{$m+$RO;pFRAOwNdE+r{b*!iBp+6?Fp~df8HPNQPQu5`cXN2DGLwm6 zej|2NX4ca;5ud0JN`x_>i)Cqh<05gsH38>$>?ArwoOf_7o~H@G?0?O9j8r^f=wX~+ z6+EG})^T3IQK!b;i=D$GC6uvQVaw@508ro@;7$6@Oj%0*Gm`wgG=&T~f#{O=hIBp@nIeOD!+5 z)NNaeELWIkzQ9GM1DQ@`wD;V>>+cJ;Q)PlxFtT7Ikak7tL6^>xh!IBuTEi{u>{#j- z5?m^>>>#GE$Hgk6dF&zP6Fts}#&r!F_XQ@h;f$X=WgF}To=w%XFnU5m2=R~l^;eIKN4ia0RlSp{F}4+(2JYN}|H6+`vi$e#Sa$=HuTjlpZIXg6g0bSuD|0 zI6o_$BV+Q^@t(x0GSzV?^*c@-9X(D_$47cxtPXlIn^Yb1kbY}4%`t+`ij)#XY;XfB z4fqD@^lZ5fMr>urhV6pv-%?}41u`O!{Vj<#WwL)D^*fIJpXzZ6`yc6XG5hhA^Th0* zgE22b@qW{+hMSD_vKsb;g(?Gn!E(&(xirQB%GSwNL7h126ZQAVojje$yKtF0$=KDE zCu)jxlz0_CB`7-iT91o$atrS2a}YR*(Ucs-^u~|$J&hGBz(*~|47e*X!VnsZQ*Cthj0n(4Uj4#vsR+j(v zD=Wdo8AZu}FR>}jmJ2{Ol+Am)81L)08VN3ckywj)zl`fTDeq?l6QqAIO!c$HbwTqa z3fzf^kF^2cVX6E%Lso#~h|=FSS(iGX#Twbyl@n3kFLVDy2gr)if9U-Gbuc<(p##NS HQatz@@XxzO diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-2-1.a deleted file mode 100644 index a6cf11f46cfd6b848ebd87faa613177328447903..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3602 zcmdT{Pixdb6o0$fS`8IFRPdk>LBT__CfhdMLXkob){88NcoC+lnRP?6*>#g*@l>RE z@=)+2_(l35{1hJh0j%%MWU`Yc>7RouKG>PrH@{?N-u!;^CXY7!$@{@`^O;pNch&V= z&*^qLmgR^py|k?5W$X~PV*j+@}m;9Nh0Ol!UTa3L)_#|OHp7IIX8U>tv z3S)m9GISnvJ?5>jDBPuA<{!oU{b<7X{V^lhFrfz+xmfHEc`y#goJB6{FqioZ-!|%VJ)FYJxIY5M!r_>e+`41ikAsN6PW_a>t-u$$gHiA?ZIANpsM`nE zaXinnEN^`^--qBUZUfpz1K^Hm%|Scm2dQY+7Z&t(+JT??^$^js3B8l{ZjxLAgG0iF z^uot03VRb9Eu5Ebo8Tzis`3+Vp&qxUa8I$ZSb$Pw9Y%|xQHRmu*Af_tOwqC!i`dO! zm(i%jh`13ujK-7VOR|471{q&mmpvUW_xc@OvEE-e6B|C;k1 zF%2vhX*M{o`x#GYud6t(@OrJ`at-PIs!cf6K3^}O!vHGjG%!SbZj07c*gg=)D#FnO zbD*CN_TxS25qv8|nie?&MTqE1MNoVxrc={T9XaQcMg&-~ooZ4kK(;K=Zo*HjXOvK8 zCNol5;-I-wYL{h}HCN9p^CB`wxXG06t5im3&l2{(%h*np1~NYf z@=QQ`xPpWAwQ*sJD`b`~V#d|DTxGP5O~ibz#(8R9#J=qeqkOpHlQVI^9^-AOY>o2$ zLGX{pl$^YUEy-!gUwTKzWG$1^utqu8fF47USs>%Th!%~2Psz+O%^J!hB2Z9`SS#(k zoROR%-t^ETRdWwpWON!x&yx5riza->hJF*e=*Bc7y@_libl_Z32g~c)4NL0a8;0OA z9RwLSsG6k?Vr|@ubZ}6OE9u}%H7?h|16<#Abx>qQ;R5_$>*1j!zNUwb%tKWZeqgEV Qp|JAumqf99HXk_VALsCETL1t6 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-namedpipe-l1-2-2.a deleted file mode 100644 index d010b489644f6818875ed4df2fea105c2ff8952c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2730 zcmcgu&2G~`5S}D0g{TMwJ#aJ@BO~chv*qHUMk^G(O-k0ND9OU&e-veaiSUV6gdv?d}IAI(U)|o~zR}cNU2Kd^T1}EB~{3e$ay0sRcU?z{vI*h?# zs}5uEhlzo)h?#Oz91HHYaq1r!!5gWg)p%WgiTXt`s1c?K3HBSyzBXxo_8*$>d-5K! ztZ`dw-p8|eN*lmy#5^bAs_5=f^Bo;-k5+^0dZBbeXI-UvjWN@+n^=*c`U5EsC_1`MucM%%7JMy0F z?ZuiaYIF6V`)ZNmbuhqs@+yu4m{7OEIWdk?|8^ms;jb$?x#06 z|3#^t1`FIfRu-%T#;r&Zs@lb>Vic8t&ajKYrbb*?;YyXIkC?O?S7aIOV}O`%)i__T z>lqsF6-N7T$5+?lg1x+4`AloA+~XAKk77zqK0-@sTIv^ns_ZjwH459hS!=-LP*fIB z`WI|b1bj+XmQ~fz9>G82Khap*apk|B I4dq(@XpOf&>?|l%#Z7h0rt@2TsrnXE$p+nypQ%B!h856Nibz z4*LuoIPfXSdHyI{~X)Tzn`D;@P!-p`m3`~jmcy$+m7v6 zZQC*o{9)2_!)Vz~(xE#G05lZLOIm;=Fd zUsj7SnjdRL7|n-ufg$fqro_*}e>2!rs}y2{?}#C_%9F{LB>!j(N`$FGh!iph%Zs*e+dwZRn9vBW8AMTZW`; zDNqDO55*2W;tTOkEA5JA|0o|G^7Xtk@VwFe&pl(y+`WP^)T7( z-Cg*?oh*LW5B$Je^}DX?i6Omq-R@eTUf5XxfJ*?*uK@Ee0WSP4pT!FR^j!W-K3Bg2 zpyzr|K1+uHONWeYGWJ8tlay`qj3;a}jyU_dKMKcvhQfo@fCU{k=s%=K$>R~16_y8CFWxPL%!sN*oPj{34IExeYl6819;i$x>%Qhxv;&{j>0UoL&V4iY`<bXHo(hq-CRz%MLTXK z$051kngN%O=PmN2HB4K`lNRx$Rq&)W@LPV%Ye$0tVcUEC0aq{m^9JC@#$Nb17bv-I zOH$o@OFzMMJ32OuX2YfpquFmxV8}9)McG)`ZXSo44J$_2jl84TxHb7F>KEytLKp{z zSl1Sz7Rcv&C-C`IU&dtDEqy+~y|_XPfVuzM=aqr&4^{Ghovj2c3fszSzgmJ%Xwj$ zUvQJ@*kfWD#h%Y`d`EdZH7ucZ&u`^uZO zY)-11)qDfG9YuBl#Q|Y4(tvNt>{4cqTq3M6!5pz(+I=}AIYR)_E}8Qo_NY)qkdneg zLh>8d<`dww(_u~Q6S+sQqBA2aZdY0H5{+>jDruNJMaoy+sY+9tfO_aV|hk)bo?`R;I7IfQr!Lv zcDzgWaFmZ!zqUL$)!E}?#f6d`ca?-12mZj?{?$t7hsiRvpRfEG8FF^(5W8$+$h+J+ z8eslT`M%#e%&S(+Fn`spJ8yV1vZ7NxRUM&=9Cz#JNjDPlw$58eqUoJ>>v(F$Rc;+G v%(x)ZsS04qXLu1|Pw$=l6A?r7lhuZjP~*U#SWj8Kq{uWtO+5J*h+NKy diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-normalization-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-normalization-l1-1-0.a deleted file mode 100644 index e9813e3c6a1698783eaf56d505636fe8ab3eac72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6090 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-perfcounters-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-perfcounters-l1-1-0.a deleted file mode 100644 index 709550e2b587ff75a2d063d2c76c1dd7bce02e29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14024 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 Oj8x}}XJnEm^#1`exnYz5 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-privateprofile-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-privateprofile-l1-1-1.a deleted file mode 100644 index 7a5433325315a6d35b8339aeff24c323b9f3b6c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3698 zcmdT{KXcPC6n}|RC~Y|yIxujYxr2pkf?X0f1J^5bfT2U~IIg4W)+#a0zq4K1fuYCH zi6NhZfq_rZPr^r`yr)00+}KH2+(Stu`RON1diwqJl&7!#=%~BB^3u*Gx8-`S=d@kN zw(*O}%x(LX=cx_{D*$i@pz;f#_7h<&%t5R80sA>+9}s@ zJldo!r#acF;1V|q(@q88fv7D(BjM+Xs2688bPgJUpZLWP(Xs=btHxm*&w;@O;X-=h zv!=!_W2J`kGSdz?8rRZx!mSnKwlr=7E9*Hp-L6YySiK+DkzsXWSUtb)wke&cX95wH|42i+XpL}`yTGcLs|sXZkzj?Vj7sO z(`;~Fj}%vEzw@}S@n&h@CR#Gvb)9g!ezROdg9Vh+sbC5J+!wV)7~d6VFTybi_P}w{ zJsq4#i{Mv3wnzk zOs){!+*s2xW6fRRq%m$cT@mv1Mkmn*ws#fpsj$IWFxFsfFwRICAunB|F=P@OXg8ZU zSY(U~DJ~Oh+KBm@kDKU?)oL@keTegCQ!fa04oG3%^PJs^dhq+Xiu|IP}D! zFTy+Yk$3{i%&s?CH+Gu~%}Cx|&wk#YZ|B?b>yLgi9Di!QH;U$T9oKPfuhlgSTXgBA zVYF>8|KO+z09ydHIaZedJ3I6+cEH%TlqV_c^Nc6#U>b0C9>)GGWaylGE^|993J3J$ z{%OpI(}bV;Ge)pUN*^$Cu~{-5@-*e~S(r@Y36C@8$7#qShdInTc87qL{doNvM7Hg?^C5gbyaG-~bQAo&~3K}MK5 z{J?TUs%;82jMrC#*IwQ}N)0Za%yZffUPk(<30Fz+AJx!O)9uk}a9uC*sG*ZDQ-i|m zwT4@$OYc{0!m0M{dKVoHppx#1hT!L^Xsr|bV{xS-98JU#jI!}*d?Gy}`U*_bCLcf_ zf?cT(;+HsGntmV2HLoZ}fK}{MO_~MxE=pO{;SV-8l1w%vL7~9ZCKEEeHy?FAX!+=| zpzRk10R0Si;AF8jFD!9|eB>c! zUXEKRkoM6-%+GS1tJd`r8YGVW!J<7=)^ z{pO?T8>`s~bS_0Mf?OklHJSmxlDTM^XOu@UQBaoHGev-0kz67E528mZ>lL=h=*Ey9 VPrS>b4!^NcvGY6sp*Et==07ut4N3q2 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-l1-1-0.a deleted file mode 100644 index e2dac0623478018889fddd0970f823a1e781b5fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19830 zcmeI4&2Jk;6u@8Xq#q%rUqLDqRc;jog4*mlj^kEP#iUSW z^nj`gAr2g>iUZ=n2_eLRBL@zsN6sAh6F4Fc91-Qcncbb)-5Gmhf>*2TO0zqD^LA(E z?fmA=$0ldrX!O=MFHOH*2p;BwSv9Lh%~&WD43;FH3k7rjLXF?CIt>8l0j7QeIP^2X zOqGYDZvjv^ag~SX+5i+zJ?7!`j{p?T{K~`GKL9Aq{mH}2e*sW$9liq&qdQE=tmj=kRP*>@Y;7O8FZ=?05L)^@MEZuk3k=U%JV?QGc{$7-9F zX&F|-!iR3zU~Srs=J;}jo3?Y)X%eYugG5<(~=-dd3w|qjwv!GzTw|e%v)9rmE-4RVv=u5>4>r7Qj2gM)C}! zOi~D?ii96kXV33$ZDE_e(dzi^jGiJ(gTLhm3avU^?b&v;3SMz_scN~Ghc5NX&Nh}= zpPN2im*VB9Pj7bbH`km}*Xy};J+^5W)oQg+STxIS7r#2){PX~J+5nd)u#aZ3DJVJi zj>F>mQvp_1OU;JU(5tYNC0Kb?wQcw2f1U!|p4e#I z@dU11wkZ`MA1Vi_$@a|YbR=8mbvlwACz%deD0sNGW;UF{r2K?dhuM!>Nq(Xfe2Dvt z@}Prsa&QmNNnYV2i5UlEeJN8&AXjDT*BI2z|vI7 zF_6Km%gG@7l1;@S_d>kP5muP8*Xrp?v;sKn%uhM^9V6o&=_SNn-!P1_!QdO}d&+$F zP+;60WXAdgUpq}5RNPUobRN^+ciTT*3Sh+aJ?JZ>{*rP~9S?+0@qGoo)e2^|A>|7~ zFW`G>sI#rs^SPsXETPVQwO-XL*9nYVcXd1&*7(WOm+04{M?xlIv*8gwCQ*x|Jb5cU zj4|HId5gxME{_qv6!k(N+mQJjaEV~nq8##`MEDa=!YmNrh}D(eJTDP1ApljHb9548 zbWs1mC9kmG{FH+)F@odwp>vvX)5m-ev0z?^$3kEn##wlPW*El8dr})3Ckty*zJpk3 ztMwu*+*9lMERZkWEej_DEhF6=9Cus2;9$;`&?N_7;92HCOsjn~#_oXx1GRVzRB%GV z4jPAX20q7jF^qwx)ONyhzO+ z55dDlE@0;ze2-UM&HY6$rCpNq6pI-p_|`ZC{>*+XlpNQzl{%Iu&7-H$De+dC)C^(j znAfd^FR8|)q>}lPC{6##mmCXG;x8GeoRZU6emaCNsc`{2=iocM208F+u5u+JF)>CK z;xRHG9dCVx-S4pR)~Ym48RvNG11aA@<1I(67x5$?tMz_0+1RuUBF(n7za6Y27_UTY0CB{Z2V*}q8Z~FRC*8joAvnn>~`;rZ5cok+N$+6XZ zJT}bex^1>rHRt<{XOXYn`i&#VhWLgc-AwR(GkH994lUvxIe3gwxwf905cN-Pc2SN= zfV^v-t=77G06qbutk%xZcOGJ~GS&0$IIFdR+HwSfqQpi>W;_P6)mql2g+@|71EZ|g zK0^#BS0&T!5#p>v>1ytyp|neKo+9QRcSgycQ!=fg1g8?I_8Oy8;!P*i3?(?DFk9(s{<37sDT%XM8|1*RxyqG@#H7YsM$FyudHE|vKIh0*YsIX4l-1fp zYDQA+MQGefhghxkhomUY!MAu;@-grm|HQ^wM$BFDY%haey4Hh?LdQXBC*kGEeXy6I zthMhuq6SHhjhK7k85?`f#sL)@`(Q6a!G<*X2(yvo%p>L=csaU~n|*^WMpdJHgFeOB z5Px-tE+f?=s#(^1$Rny(T?t)s@D-kk3%SO^T?C|w%`sx`dS^7SH>;b6k3z#_sBNTu zm1_4i$PPl#kfd*jxzC-g-43K-lpT(|_Ajv0?IYr>-KzgieAwTfCpWu@xfh;MvgefK zG?b*>cZ^Pn=R?#CCFx6I?v^h^znRMZwn@x0sAcT-o2d!V{U3~5sh)3~Vf~3b-?-#T v=#qmU@T{*npLq;OPizhnbH_X*g}rUv9Ap$y^zEg-Z%OeyijI`=`;>nHolbL? diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processenvironment-l1-2-0.a deleted file mode 100644 index 300ebbd0f3419584008445b79df925437718d530..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4590 zcmeHK&2G~`5T5*$pHd2k9yl6QZY0mg9nZ|Sv$_A&3A_Dg%a4ueW^GuuWt%N) z!!S%SrT2!>e9}l3>@Ner4S>=Qfa*^aNAkH90?@Pil^(`+7<(J>Fk)>U^N{TXE@vOS zp)>LrDvw(>vzyHKI`ky^V92{c$Pb+nBiJCK1&mZ|6b4-$MSOVVg~4#ZhcWXl)?g-c z7`}ACf%UoL7Pl+B;pEA-6Zf})F>f$py5=?K?#^KtqM^H9$h&b6etZ#x&yP8+*h^OA zp)Q|S`{tos&U>A>9;ldS#o97W+qMm3(@JCQo?OFl1MHRn?g(iK>M=i#g`C|P(B7}R zPV8hu#LO17&+45h%7MX{a2~yIy{WL6giuAh^tJ`2!fhx$;a0M7n+j*5ur>#$=GBO~ zSsO$(%*`6*W^Fb%Yra)$)Xci;`?#py^L(Bx{&f!UzSMILlp@jVJ|z<>7wjOI?$2@- zM)PGQ3#0k5Dlp`s>6Z9f_;3lQDy2+}@E>JKrBt7ON%D*KphlQ79ARJl=^!}JUz`K2 zMr(53DGt~ele_dGP`zpnG=v%0t&ufo*S#cPDCYAxpz!*r;U=8Y=ao!2C0`s@P*DNu z>2#&1NR7z5DNoZ!7QhVQUC9jcFZncW`Y9xBp5clB ztE{Jy*a{GfUUp^pjzZBj>xy_6nb;bFeEGFU-a8Cqf7v~`E}S*Su+ybu9`EQ>dW7@u zlKiK^0CU0GgSA3CFKLH)ZJgGWNv)u$HgU6#wlAc(soK**j6WYY;T?U)7GjR(<7{Qu zDhe+XjMCv3pPfIXU#F+3E|tntcNLk9w4cn-n<&W)m)T6~lDyXHJZ)K-tw5mrPt+So z*dRPbJK!o=Z_-+#G~(;0I3&K4qAo3x7UEqKHIhT}`~{%1L24eLq*@t1qp07*W^ZOi zb52wq!2oM925inU;0rn+j{$my70G~%jGbY?ILTT$Om1m24EQu3H(>z9`%f8Ag3Is7 zd-zVuroWXH>u5W*lohX}LiA<$hGU)wBvW!x1^>%R*<=1^4@U7S*prt#+i2In&7MX7 Ji5FdaeghV3IdlL3 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processsnapshot-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processsnapshot-l1-1-0.a deleted file mode 100644 index c3529dbc6f5a4caa25a89cf5aef0989303f82b1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10432 zcmeI2PjBNy6u@7cw!5v0K(LfuX%Shpl@M%#ou+A4TA_-rfD5RwyW)bFdKKPsA&%^gZ?FeG03U%*!I9;?8ULB_IE_;zN0Bm;$CEeD9?$dp`Mt4o z?UwEBcivigv!WJj(`s5xvt@2pDkkre>q=#-)d&yRTLFMIfbv~{rH=rX{}kKmUjVc{ z`;XXOcnyHIwGYI0FKu6`l5R~`b;_UftF)*l0`KW1!)v3tJb`E1t-9FOhv+YbBE z?b!pDq41>DWX%Tay7y@d<^7(s-}juMJz%7E?9%~^L~P*o_Z{E&@p!+}4_Mb?7BiX6 z@QlX}u#RK53mOu3eg9*-dvqtf7GTUh9o|m{#E>|>nJjV_)b;BOi{&47cU+Lyj z#i&PT*VPm$YTX_Vy6!#>s;lZ8*~|+lusVVB=DTUeq7$k>TpGUqyzi#BepmaJ6eyt*TjTce?X+PkZ`Y4EKQRvfD3M2!3EiuY?>7L`6I4bBZVtRK2LjM72tDTi^_n%u~BGXFBmx@ z&Ns2#6xfZ8H`YywxC`7&5AlXmB9}!RJ&kT)|0kj6)2;$$&Ul0IL3&Qo2wCMp5=Y|r zK=-qOgB?iYLZYX{n-=N}vh`x(XdV<-zs}ZcM%VQ`Hr@+$A{oy3$hgQ0Nx6phpprz7+d{x=1OC8$iWGJBnY5%-rbA3KCo%K5!tb>JCw@l|6LX%p zvZVTq{L*QrX_+{#$TQC%Md_XnC7U@Zsc&d;Wxf)*9#cYD_@r@VQKf{xX{8K)RR$>XCaRwGbJ{=w!IeFNyG#;TQdA8137guC<1nEbVoEgBbJ8$>f6H&H2p0O< z;ymwf4e|};3-N462+AC(Bs65czg1=&!=Os1lQCI2S=i855c7;Fi42q}Oqwy3hz0#G z5HlSeu5cP;9^&K^dkpvu>&#ilQ0NAkQj{=rl2O;c^3BOe$T-hhg8Rr$>VH7oe`a@m b{gOt88A@npz%N)M8R=QaTxcDI#*6;|J%$Rw diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-0.a deleted file mode 100644 index a31d61f4513e06053bbd53cd533477ac23cbbb80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42794 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 MR|<$S))@8w0KVp zLJ>k$9}vnzA9&^wA^wK^8Hfk|l$M#@y}h;X_I$C>Sq5*kyXTp?+ugbO?d;B8UVYzk z8?Ear?-qtrd8=G4SB;&GN}*sdmRc4HWuuB5O8YAS@G`(+8(_Hwu<|F*YmWdZKZAVA z>s6j#r~pvD@&(T?9RN@+JmC5DhX9n{JmdN8zW^u~FY;{Qb0}}#rEHot)BMb{UC*rB zzU`W|Ueh+ecDh#IF_Cz@Q#Gpv(j7NhGuH_8PY5`7PJB znx5G%oAhUy_`r@0W(%p=v6R@`{6N|rqk)0dcNe;dR^Z>_D63B z$S5Zs`?2FY_blJ(b?d#h)A%O5LnrWQ-|h;Y5LPLBp6u@p+wuplU3YEI?gm}a^FInk zeaGq8o_O>KQU26uM$ea=Km}Zt5i$~V1DAK`1j2i7THR*buJs0T-0?i5)&{PN>ftZ^ zwr@3#ZaE#tR}`R?2=A6U|76fPutQ5plF;%()r*!#o(?zK1FyB$^?Y~GAj_#)jTRz= z*=9Vi>2zGb)RR+9Jar+!Tl}y*TD9x_&%PdLBQg)ZGVGx1B-R)4fgA@uoZgWakd}GtF74l3!YwRkG#kZJOM{!Kddf?D+4Z261!fb9x(=^BoP{FjzQ9=48 zorX!BeR!WEIAOwp#Zyg41?aPq7diMFFS17c289SjFi3xeSCT_8HbX)!g8p}5+#R9yGbbN$IC@f z@@>4FL7N4B(*JPj@{8y5D0Ox zD=1Xu;CCz&MlTVfQ%{y_Iq5fylvpvMtE&^VpK)0ET(Pk%v2vian}n5iyj%n;U&YHw ztUQVD{=8UO0X5<_+t}c{TGeN~MxYQW2S4MLI$92fA<7gyh4EfW>!0r}*qh`aka00- z{gdo1E`dIVJj-4p&E7&ka*m4x{xndslM*H6sE?TMEv`zGJc}4QuaCG07~kiI3j90; zpE1kmc#h2@s-JjEP^ikmLo7!|%poyKoCXfIQ{rImE!aE#H@(GjXcduo%q-&}jkl1d z9~t=wG@|@zpro1-CG$vBB1$HSL|q6`5(Hpo+FPWFL`if6BOU>TBu@hiTPd+Hk3=P6 zVUkGH5@A6XYQffK*=wYUL?w(~B1EU2X+)xoN=mG3s^66G6O0GA)EF0u+E*etSw^D1 zRN767MEUV@kx10{@p5vPaT#sDAX-~knqR5z^XN3FjNxVp&Y()Fz-fVl3LIfcn2ntm>_yfzN(Mz0Y^)nSelJ+Eg zju!T|xjTu*bSFVePO%rUw&=O?Th{**TB4&LMN5ptG<-|iv+{XND-kV|oPaFo(K6G! ylaw(n%~$DTaFXd4kHIOqk@l2)zBfrk$s~Id(EOjme|>Kf{~s6}9U5MS{^K9x1%e;| diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-2.a deleted file mode 100644 index b261a17f16f41874706c18f995146f9e4e0c7072..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9566 zcmeHNPj4GV6o0Xkw2gv5ZGZrgFjbKds?DzJI2MXfL?oamj9PA$CL4PlZ)1BV_sAr3ttJ^>$~pMoPFflq)a@4eYSv)Z9mafg{TuwS!b8L-Y&YvVNi1;Y~*3WG>m4miI^}NF($e{t|BY| z_Lk85xwQhdz&;7MonKU-eNgLKft9bqJ$ul8UOV*tbJXB5={fYmTZk{2u41)}^HS3u z7?Iv~BqzP~e7&7W?>06zG$UD+fDhDq&cF^I z{PzXG(NfQP6bVAPYEK%zJTV7SQ*Bww(^2eL&eKtBxXe0aopcKA%=TNsuJTf@4%?1A zq`dTD`X%9CGzKNoDS?OObWcR~{eE%ZZ`CC~R4NB+k?%KgKVG9n!1Anpzs}RZ0*Quw ze>3zI+HaljNBU~5=*3u4`=d7LMeWIY9R+2el1_y(+vgQ-74i5!vlXgiV()=o&_5nM zk`ng0l%=PH3bw991=*Kunk4n~k#o-Agq0(Yr<#xoFy>MgCHM;))8y$H;LSHMwHS2g za?KqK%s3I=uCS4w;C53mro$VZM7Od3AoP2xDqs}k8srA$jHD5C>2bm#F*nd|HgK?q z%D9l|rMRYrI)Pp<#v84JIQ2WdUNf2(2BPpqs1wO>#m`^7Pk%jqn#hvYRefy6-bmw0 z550yh>EY6w>G{yF6@I6o%USjT)sDKa)tmj zy2Q|1*rG&dgOtRkWXUruwPEKO5$QBh$UMZj*eQk!<-25oi#Vo>aq$N3_eF7Wg*;^P z`+&U%U|w+vzTM7*UK=+w|c#pIW`bA7iErR$ljAuWInHqK@laTB$BF00hcBC1?%jJB_K5N zDc-~<-xha@p<%%iyr&Wr{|`%)A-UF9eh+!+Swg#N2?~AJOmI;zhKq)J_bczB7T*`Q zVwSkf_eDv;Me4UOMBqHL#XEe0sBF;+B~+E*H!KqXq*gwOj&$ct@L?9ihlxK9PTbWl zqNoHP*KyA;8bvLUm#9DSviHny6mz;L4 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processthreads-l1-1-3.a deleted file mode 100644 index 6b5ac6a34504a45228c6ce6b24c79cbfb946b7c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12294 zcmeHNPj4GV6o0XkrVXvAM1@L4VJiv}C^qZFaa>fPREY$=MM^nOHr_Qh^*`-y)F4$T z;t+A*kdIJtKpZ&m5h{*+1P*+Jo;Xw9o7tV6ot`V z$Z!1#K>6*zMZR?tyJ5b4Uu5eM0Ob#kMgHhF0LmZ#A@b@AfYld_Z8P>&;Q0aD^+L~Q z+e6o5Pr3tV)MeOs)NHUuo%Om0l%w|Hz-tYC@6Z`BV(SOgfl(71`NNhM1YyVb95-OS z8mqB&<}iF=-vidc*2#zwe|w7-&h49k1;i_QK41qD~t5i}7;EB};-j zZ6P}&2^;sm4MMLk=9OL67zQLoli%wchVJmmVAt_cVNfCC{Tj=X5RJncq?z>4#3ff~ zmgY9+k-qiP_ykuqhVQ_c3s*5_v8|q0)VXrfH!$< z396xY6!Ln0VZrWx)pbHApM_JlVE1|TAPCN2gJa_B(hKj_W8TYHS;Tp%X$$O_ZzFCe zzN`6sn=#)iR&E&hVtV{UdsFEL6|^@MvNx4c%HC9ZwMwnBUUhpt>`-lYdtTJ>pO*k% zFSMPm@6CLTcwX;f<;#dCZo?HnfB7N(Iz3I=lG+>j=T5GXG`7&v zD_9d+E;O3n5$U$#<7xPE)&qemOYUzVLIjr@jexy`ze#*a+`=W1!VzCHX@HoKm>~d- zE^u@kYm~@7h!zYpWGcZgSeIwubDp>-iAe5~I7aM(7)jzX_hgQdNT(!5Fi<@=MphC{ z(V{4!TeFH0vKN#RjC>{a1^NMkfKCN37%mo(V?zd zgGP!p6NUuNQcApr6cM(T;3q82tCqkpNMtH! zDtogSGUjmyZ8$$&D;`L0`$gi8WkpA{8_k*a8U^Ey2m#v4b%5yPsd$gZ93xrXmq!7z z;#+v4dL6O(CBR#M^EaXYJw|d@E-;c$o(e`bieY3Pd5{~)^&=OFJeCrSs0Zzt#z&FJ zLjpiuwT6upX)3s=7sJIyHX=Von|fA6-ccgiNk-(pGOltS%G~QdHS=YB$BCIwp0D0R z%$)aLcadELCp7+%)r zw_3E*!o|q{yGY-1kuz6G(HQmrOS9}#iri`?Rzh914v-XWDyOdb*K~u%XHH$OBVu1r zkfB}P%(NFNa;ue~LtD8H5S=^~j1>HuK9AT5O8=?%05JaXbf)o9Bw{zNT42LWnjkLz E1$mWtpa1{> diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-l1-1-0.a deleted file mode 100644 index 3660d62b29672ff0b8f68d10170e58254ca1374c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4538 zcmeHK&2G~`5T3*-KcP?#Js{vPTLXXFq#)XXe{kKYHmzy}_&cGksR9P0O}yvu$qb zy2-oLR@YlrD}79>M@_J$99Xex1uwhIuFfy@m6!yG0PQq~*g!@MRl_ zlSU{bTohT$G;Q0~^(_iHm%Y0C@{2`aTcQRyU;mp zbmRCE7#tJMrw=}ENi3!u)No#^Y=bFro6=6W)neS1#BHFmo`aM9@{XBk3}XW`(V$E; zE@Yw+ScYYo4L1k?8ht>_^fk8iRx|RiH4JybsiQ_79fN{&urDm;E+I$p@`>Yzr?F|1vh1r+Anp&N&Vt|6%86tOZ$Sx{d1dZ%jEok zZ_)@y;rRpoWNaTVYrZ$(pu zGgL|~PbE{1GcGn!nw)l*)|-~4Fzz~c(^m{Q9V_w}N4wDm_Pc53(@h6+$$EqJLD?s1 zggiOU>d3S{P&`{W*hm={GTcnPX(MKmkDD@%)0EC-ii3 zlG!q?T688s2<0S=E%NjxY9h}?PUBSUxh&RC9gS8 zFr)$nhishB|IUztl?#Rxb(Z-X-tzi#4fZ5p^5|I zz@g%2AcXh{{Y{)WQD%1iST~zAEmEzbuH^M*cGj~y{=WS-zV*N!thFD`+||;>s2Y}G z={3EkX*%zcYfY<~Ryd$B0|2uC`4+%b05JVqT(dXPjMt?{;=0lXpzG>ax)@tw?4|Dv zd{%b?XTVmxro-O4J-hERG;Y-_W|^$xuF@6Sy`Hn?4V+E8&&aLo(*Q;$)*pClj_(Iv z-|Kkm+ss?_y$(K@bqr=Oo!JZ@-F1Mq9lLqbvEjKByl4+F@^Y)?_S|6mneA@?V{W(4 z)O~2JizTUts5&3VW1e~|-ewQe>W4v;U5QZ+kG9B zy%=Pp&}HblWg)N@E0q{s%}?hLU;s~Yh$G&bf^y(&A=Jhe4eE_@(+=#hUI0r_-z%^B z{vmF#Lw+tjaKVgxr?FAQdC6r7^vJIo*~xEqwBKUnM-QG;_(lEE9noLv`XxkviO^p< zfc{d1{!+&%86~~k>~x^qayw4=fIs^H>$#S_5g9_eoL8Dg;lNzTP0ne4l#i6p!YCgp zmqqSFSxT2M-#m{~*j31l^x-)qq!e=T>q$L~Vo)KUJiNy`t38O=&^`hiYNptGHLWod zvBAPObD5R{#jM#-;nTosj%I`Nnh#M!Z(hZQ$X~uoe(Kj3I+LF~PHv+JL4l-*?-K={ zpNrf!3HIAuAH?%Gj-VB^H+vhx!qJz?G%fN3_`$O)_(A!loF+xykHnmZ7{i?-?9-h% z3-FHDqRPWBY-FR1S#r?Vv6zC0hboe3N{V!zC+;&sfDS(@4$?k#2m2c#7wD#eKA|F^ zf=D|kMNpNUL}_9Lp*L(|uvb!CNc>WYR70OY?H6;9*0F>>AJl$UG_QGVkV2=6wzq$q zEW5jDyZBWcaV{c+Qe1)B3)m8<7YL`ZA=af+0EI3LYZJ(Mv#5e9Vm<=~cr#MIMO~{d|tW$y` zUobU?aikgIhHfXxk)9NH97nd)enTAjsP>BiK-f4cM+$@%)nT8b>GbmC2F{;K!jqaX z@H!7a@IGSYF;P@$$(SjX37KNb|8LIJB;0{xrW{92@{s&xmHz+oUHG)B$+eIZ2}|Nl z2Yd4H4Qu791xM6fnS23>wZxc^A!k~`-@TBO_=`f!kmG1cPQps+ix0=r|E(nn6;dld z$dhzuwoK6{Wy-LYoSnKB{)s7kS54pR$Q0$uW2&fo HGvUf#OI&g8 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-obsolete-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-processtopology-obsolete-l1-1-1.a deleted file mode 100644 index e450b83dc2e6ca1ac7eeeed5ca9a786b08b6b546..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2898 zcmc&$!BX2W5ZxruQie`@;J{JLw6{97X)rl-I&|m^J?7H0a1ud0I8nxSDD80I#F<0C zrYF9sA5glxvWN^$$faa6k=CncX}#K~)%M3I?F~MyzZYc*c7reo{dTY`gwI26E5wJL zo#KU~bpTias9j0j9O zNcD88Cec_DY?#ptl1y@(>YmE7T#t34Pku<<&2)kj%OsHWizH4xR3HZ`>Ob|`aH#Un zy*xfs9pk1>4^urEALz*_2Pxy>Sk8s?<6+dzo7(Qetmp^6ABLe2drtKGSI=+*0KV1$ zUa__c&0L-5tj}%)bdH++D34}Ccw`?sH_dLAJpzME!o@V+3fL>z{6j&pCr&cjuTZ(@b?zrq;?#g zT0>!X<4SHc?)gG6H>UMj7$=^MSr{jlNH1KAqEwb5-WVZcS5%Kd3CHvMiN@nNPw*e6%7_Sz;j$ zKIgz)V+zpapo)WZmc7IALBR#;1o#V9B&;CL2}&ze$>p@t+*J_T;TA5II_ts|SE@*D z#9UP4?l?%_v5%OmYFudj5~xsxE{nLieM^?>>$2TG&Al{mrqcQ*dtabtvfpGn%~9mM za~mKR8V_p}xbftQ1O-z#a{-V7KEMq^e!zBsZUO+!pZ$$e_npCw0=MwD$$*`7GI z?YgdMy6tD#p7_gT{m(PlR9In9x0F_};`Thlr65bk7=xNpcAcP6!v! z1GifWdmWt`u1mKL*b29!;)L5Q$L%WIHac4cI5n<%P)bgtS5N>Yv&=&P-G{0oyg9A z+P@Y~7HacCj+?6|R1c4fahbyCJvxZ_P>gfcy6&O#D#fT6zVX@lBf2_0&11P&`OQ}Z zaggSgyu5*)x_2<6^Y|J(u(p#K=k_vPLsxk-TmwjL5{Ca>P3m1LTV2 z3h|o{BT_l{(IcZ1K}Pn(wQQ>J4V}fWpyj`xR-!^tfrLKnW%aS6RiOX+NEw#t<1X&` sRrPU^CF*Nf^6FpJ2b~pUxjvrDfM~1m75hbfs5dYEcae>*;;&Er7yqAmmjD0& diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-psapi-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-psapi-ansi-l1-1-0.a deleted file mode 100644 index f2df8d7e9233826b03f03e45242582362c95bfd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8818 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-psm-appnotify-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-psm-appnotify-l1-1-0.a deleted file mode 100644 index c213a69e7d3cf4e6b40cbe22083649e0d7bde3fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3786 zcmeHK&2G~`5T3*-l(YyAJ#aJ7gpqHyW~^@w`p zT{zH3;J}e*q0G#B<4qf@?!^d+k+M6U{k%J#{bpx#_k}m<4L6!k%vo{P9M^H}jeLMf?fJ$_9*mw(ZoOSVnMKRLN5q1i8vXfEe@kJ7xV3p1}FWK8T_3 z^($Erw!?|P7bN&aFXQ-a>ZShH&>u=Y(^fRy z(xSa|Y}<8R(_FWoWt+d#>>uM+qHNXxZn3rit<*nESubu(=)&2 zxdaABgbQfGdu@eXM5Td#>9Ps7!mTMg;g*YW>k7Au%E}y^8dp7X&>ANea?m0UTF60b z%0X-7SdL}4`lAuyTZ3TaXD|Lf1K6t#ynSWJ?0P(DdE=Z91k+<#FT!YXG>R}<3>%E0 z=*&tMXO7ebPLe&*8YG0N!+UHiJpr1;{oxh3-*Gw@xbNbA+@_C! z#^2`tQ+5NJ74ioCx|4B*_In=p6<+T(+%%W;aitSZ>F4`pG#EfFoeBoW=O$}q7(e9W z8R00*9vGy%9`D=5Ac(_Hk^NBVprPZ+EiPd#NSK*X(V>hKGd z3JX)E=|*eH%nxl1d}`g1MYu5*aK;%3toVqUhkZT--zB$czKrEswI^4Mi?s;!xN_xzEH^lUv;w{*D^Ffkl!c=* zlTrNr#0Ke+^bl{9XptGEY7Lzf(((>9C3X0YYN>116>ek|<}6n&&Lg{Q9^ti|g>G#B z^C;umG>;x2AFi55041*0I4|+pGx7w?G@RVHjptvK_@2K@p()y~{3E6hi?xbxqUaCOtPzr{#ndLRXbW3d!WHO6~&V{#AsQl5iQmEWVNzBjw^apq9 zCY}@7_)WrJ`ZJWt8{hMK)8<&Qwur5^WjPKK)#)OQIqj}^kIo@s0lGEhCD)drIrUGb zTrbW{*x7A*IOJjow`{}Ci)IhM^Ne )$Iy`!KXU}Xu%rKfGM6mCP=3Ab8|+f=x9 ztX#^$sdiPOY8r<@169)?)imz1Y8pekVK=O%Hyk3cxjz{C;SH}|1Kh6dy9de;+Vy#) zZtJPO38v2>E*1G0ZT{*-7;WyB7(=s?OyT_Uye(r>y;g|fIU{D&YhNWF68@q-C=teh zJD69qRx#K6<+Lhm#b)~1Ld>|)OmhBh(Sfuu*Ag>LFIj;acy^^4Xntu< zV65pL3ZR@DeLkc+d*<6=cOG`Pkb1~Vr?HQS)_(eW9qeqR^$RgB;Y-LDp5)^qebIYt zBj!Oq&Qas~94o(s7-hpZe)0Ni`t|HtY>R8>Q*nb9EinVBZ^_CFSd*-l45nvG}$Q}e0~+!}Ih;3ppZJ+<8^UyLk@DetpNBIDk;i zm1?6?P8+s7UouVFp-a#45Q#D?s=6h~#GI-!s@m83eN$9*l#k0qRrm98kv8yv?X9D# zrIa?>_>6h>7__6I6nl*Cq=9n-o?@Bw7)57U)y7Wkg#z%)NPbV|GM0qNbtyZ8Vjr2twg=UD-t(hFdUeZaTUz_|fWuuS@Z z+-Rs`{@W$_-^%d+6qn6eG0;sdcBnE2>S_JHDFzzm<1!xLUOq00f#?MLZBLeJk`2*6 zOY_Wq(m$n```<_d=LS5+lDQwft+q>!ZI!P4R!Qb(qyGi-*U!ZKBp2p;)&C^qdCdIv T1oQt&F<)Qv)qloSL_Gfj#k_`Q diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-quirks-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-quirks-l1-1-1.a deleted file mode 100644 index 2e935e166b824d17a00134eab3ec99656f873e3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3622 zcmeHKv2xQu5M5gi2}u|zQcy6AU_ytDgcVr@lgUg520BwvUt~*;g=Nb~^58Nc{Lj@_hC_n7Gq` zp>pon%(hq<^yruAqlw>-Vt?jN8NtR0EnuW#?`A%VyeZR<^+#O{26G<-sY7ifI_OjRCP8Cy$Ev z5rcxwsR7*P(gw6rf1Yx=ywjn3((>HYEr;-#Bj{eVdP%Yd24{o|=z;r|#3D7If%{V1 z5f~D8AoYaXEyr~vZXboc0-T(eBeJPEPMXN3Cb6k0*whToCSENs3=!BG1ficT_;Cqv zS{t|{smS!IAIYqC#WulIAJ)q-ivP4SjN-cn$B>b#T*C*`Z-E-Eyjo=yRc`{x#yuEX>pKVK1!jk5*@>2Nj~2@U7klBek$8@oK^o~cC7!8P(^n91f08b AVgLXD diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-0.a deleted file mode 100644 index 5d00a3e838b8095fd234f586bbb042816cc1ac9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6230 zcmeHL&u`N(6n;%N7-Rep8WM1TfX0oMWOP}P5So}k>^9JL_OivJ-O_d>nb;(Rc0wF? zMw}4`&Ybr*aOQ8|Phh-f$BEmdT?Zm)(yYdDpFhX;^Y{5Vx&6ou)*6q;@0;Dpp0OR< zvFf&En)t({=cYMRtHljg#sOdg!0-S@UjmGMlh^ql0CZjaDX%LA09{wBbTKy1*mB5& zkS+3v2W-CMarUO!cDI@gjXQORIW^`tSLurFoi<E(cW{Wf5 zW;U~!%kWVx4y?gl?_c)?FSdEGyWC!Fx*_)#+BlzJdn;PP@c?7Z))pH85LHVJoPamK zyXN!WR=rgMzZi7Zco^n3$kd4z3!cy8nof|kd%B|!urFr76OL{V-fOoNRXYjA`f*E5!YZ;(o=q zD|W@IdcF_U^`_6`2EPsgUX|9}O=XDfx*w_Aa!=m`(|w5I&Bti|EBC`_z8eu3@=AA# z{VV)7idE%OUySe>F{4}}uVoYUL5VO1_?Q>9;}F{$$6$NiswX?CV!MMYahZk>BmbN2 z(_$EyP10y^T-Rcj&`RgAUE%e+hD+3=*Q+w&RJr$#AqL76Xv98H7XG;)Y{PK9A)HCcwb4DQothi2h(kQ@&$Yo~0cPtbW z2aD8LXkn^Jp&b=bW@{K$M52gtRybxKmza(&c^adA=N{HKVy@H81Z&8Mf)PO55vhl~ zw3kMTBm&S1*08fc>lad7S45$R_%BEmqd1mQXA0iPoyOd36uMR=o2 zKVsg*0y!c%LI84r)Xyy}QKEf8TIT3)oDBGkC2=PD!!utoYNSXcRPta*l}u+<@&TQ4 zluA}Kb``0T4XxinDv9!O8I`=t$0aJchO2&Dm6RnJ89i-|=T!}RXd{pY_ zowfEZl&LD@JuOkh^stK1&t@`ioGN1KuM}ZOMP%MmPjbAtkx@kABB6*+N)ee^Ym&&; z6{`t*NKMR4pPr>~J!P;+-u9CPH?i)xQKBR@(f9kyN!G?4^arIhT0D~mksI(8?*qOs z4f%zt;1iWKq*iL#_;LE)k;acddG8p=7Ua@N)`}@Kp=;$yY@wS0Uoan_l_9>x7Ne8j Dwi!h- diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-1.a deleted file mode 100644 index 4fddfeb9843b075df459fd54e8adb1f59e5cf464..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4510 zcmdT{%Wl&^6uo(rM=6g*1uPIUQej0>J4)Rkp{i0hut7nh>xo-WiCgC(+ktk2Di#$& zEV@8^0iVDJ^cxW0z-LhIo$(}-+OE?DMx7`#lRL+rJ9o~RJ9+fn3AVdy^UKC`u~sbG zvdvaw#V|}Uq}PVgv|8~4op}Jb22lD9Q2mA7mi*or0?_x?F?|`^U~DtwLCD%X;sM(j zxSYNB`p(c}Xxwkv%x*H@+oEr5AN2Y5AmAfs$OzU8=>bM27I4RpydG!1#pvTOd{vJF z>vG5a*K@(^5f2VF`&*t9a`$B)*At9}(Hr!q9q?^0L_e6<8?tDH9`NM$D*`C~C<2`HXNZf;X@ebw~X@X%TFjiZm^<06mE4N6fJ|(lv zB!ei6h{%+N#M+4o(j)01-XqZ>HS`2~ROoDwmRI7ptjh2MJNY-PS#M&+=#z4j(2X^t zZkqZ{OzP$fhA2-rZp7%3Zsz`n8YV)3_k0>3N v(8q^#+*luXanCQRk2ID@23_7#`zai7 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-realtime-l1-1-2.a deleted file mode 100644 index 3cc9213a758c715d598fa98cd5568be1660d8ea2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4714 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 b+HCg%aEYPzEF<4?m9%QD2EJ^+o9Op{(Q;GZ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-1.a deleted file mode 100644 index b90ba3d034d69d8e1c0851cc3fe4daa541cc6650..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5208 zcmeHK&2G~`5T3*-lu~|*D&T0OazP~6A$5aPp+@C^%B2DU7o?5bY?`!A6UDA*IiMa8 z;@A_<(?>u&0uMr&+4aWj*roxgMirgNyPMh1-u3MF?X2%DyTi@S)0szR-0Vf$u^p>! z)lAb8U3zJnH5)sGHD>?-ufh+2(l>zVn!K*o0qDBEEU&pWfVnlsRvCNk^P$hydBBHk zwcq0GeRtO#bQwDL>ke~j%Fp7o4-7?YI8jdvul+C$^m z2DA?N#zs)-s};^#S=+K4$1zRkiCk&ZY|gYkU&6%&s22ckh}INT0=^%Jc6MRHdb84U z12-EYdRAclxU%8 z1Is=IiXuCVg5&HEw(y+$Z*aXvKSj@s` z@iVe8TI@;!Ls5xa7+(>$DeN)|nHUi>Vun$ms3ncYAR|l>JS_9lyktkYILS`&FjXrOwb z0bCnN-_hwS7Y!807}3Ca5O@9`4QR)H?K=d$xqSUZ8n7qRKsA{Mz94Z<%L7eGF2S)p z^T4(??(gzIkd8}e;A1*&lm~7jcmFgG6w%@7P(unY8bq4&oE82`4O(J|t0Ax4@C#p?W%vL9 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-registry-l1-1-2.a deleted file mode 100644 index de745de7fad70e112f75f3eb4185fc1172f9a1d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3620 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 F;voY0b8i3u diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-rtlsupport-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-rtlsupport-l1-2-0.a deleted file mode 100644 index e5541c3d3d60992e41186eccd50c2e242e351fd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4538 zcmdT|%Wl&^6uo(rM=6g*7iELYQ!GfZP3i`zLWLsevO=&!nz*q`Or1Eg9ohv#T~&xx z7cBV#R(wLgf;At&H&E`K@i>#lPSOQNy^?39caA+Xcg~qR>CII;Y0xZ0u{V($Mr_lK-H@#Z zj>~qvp56BtI`^6uvl`6zw&+RxLC=k2kf>y~9{n)Mh9ZmoIe;2drz3Ad1sTamc?*jUWK$$nWQ zCu`lPhMcSsCu?EK$(nD}%$i_H}Z4ap-?9Va4yVAD3BOQrfjU^3TIWa!L)Hs&& zFiH$7c^D;rRgR&^j9L<79=kd0s+4juJZ{8}O6lI{N0Ps23^Kx$p@(I0rvY)ka|+Hk z4Reh17VgD0S^!l4H|I@04J;OEHaM@PgeSDuS)7-6wN`MchSYx9CY)@atQXKx0V?S< zsPOn)=B-)S-r*-T!qGT$U_0&%dOO0y`8E=1T4Vu=;L#O|p!iZuho+u7V$Ne4;b6&j zs!62)bOuN(!%u7$m7|K)S)`+xLTuA=%Zk}lbatMH=QD0IT_&=0MyJmM>~AG}r%D5T z#@vFrKsgs_ge==1=8QBK&@MJ`u=mQiFvN}ImL_82Y+R}{TE`kzrFHE|2qcUn!9h#ixz z)SN~92h5q&$8DTH*-#%F!okZj{J?rj1X86;3RB^l(Pz}m^0;OWkw?=s(^0rqq-H{8 z+)0}Gn2j6L%t1CT)yxgt|I=!QGbZ;}q&SDqYCh4pE>yidOFUGS;X9V7m)zB-V#!Ao H^#6yyjCLc^ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-ansi-l1-1-0.a deleted file mode 100644 index 0be5f13c068b5f2bc6488980e4de96b1bd4fe0f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4522 zcmeHK&2G~`5T5*$pHO}dJrsnHk>G$-2fIz(2%)M`g#?@`Rh&0&?Gn=@4zZ(#3#vFE z4jd|8fD;Gaq7TA>C!x&jdhJcKZqtiVC06q8dgiltJ^Ot->xa+X;cjQW_SBdx_NwjJ zj@7iAhGB7+S{p{gUQQlp*8t!eKu{V)FjM$bR`$M)F zdOkY{`tBfLXdE{k<}_G0*r6-2hkbuH9Qq@7zzEih=mAD17Ij9k7asJP+m8a)wVBN< z<}!R=&j;4=U9XS<;Z;9~12^`!KSZ(L+fHWnV%!48g5H4T`}Ll)pKC#DCmhC;gULs< zE^oAZ5ZA+WdGprQwk*eS3}ek&N!Qi;d6R9{b~%_wy?Qw%T>ijoo|* z_iVt{aeXI>&Vj)p;R1T$qlUyH;h>81Qp*Nd61OVtgqzRDtx4Pxb`~@^>6b0?(CkGf z^3Wt6nv#bm@zCtrrfphvuiGVjeJ|+x$%B7R0N$4N+}ot|_{ym{5KN6_IS-@6 zv66>TVp!!Eiq2$7;>_bWhptK~7sF#m45^f!Oui(!qcNxurVQ_~E_4^D5%)V6;6C5% zIQ!c*$$bac;|_fURR1;im-#fXTAS!7F8KAJr4$__~*=*nT1LDI}XYuUiT`pUSF;U+Ro6ER~wE>#o(Oy?g^W684(BzoXc zqY>~ak!`X}A}u@;6Ds20Obie+5;MdTC0c}v9$=3O?GD1S&hJH4hM(BcpQmOyi4}NU zIxyG=etxT_t1Aym6US0(!zILW|h#6K_yekGhyI$8Gc}^SBd|k@04-R$|JEJH|>T#(;7ID=tsu0ls fXI^S`+)cEQsUr;~ddlz}Ywa(z_>tGU3e?44SkWHR diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-l1-1-0.a deleted file mode 100644 index 7c1dc698bd8b1bf011152440dfa8ee8372bd8d63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3612 zcmdT{!EVz)5S_#+g|r9`JroHcBb6Htc1hhJp{l4tf?K5uaoo7IOWZn16}xK60aY9- z4jg(!ocWM`1E0Z1P-bSm@usnx_J9#9Wp_OL?A@JxZ)fxPr8n5=tks{HOyP?@h%PqvDgffU?4X7ejtv* zo_7!mbPijtaGN3ux9OMq`@LYNKL`%J13|EEOfLv>iMVr^`2C}vh#cVvTX+IL)eS&& z0?+^3W5L^An1o&uY#ql*(A`Ss@_P6lgb2F_qPYLnc7KqJzouTw?edS0KPHX-Xj_W* z!?A7GbxqTKk?n_nirayuRROri)(kX~V3@F7T$!-hZunl}6+^gZ9X8J!+i^Sv1}B6I z>4Qs6g}seN4d~;U^m9sUw3=X{*2=JgPbHz`K>aK+~rPw46FEc0bn<%$~wv5>}= z%)En^WVU26eIw9!t(Hkg9;AMkC-`GP`7%LwPt7W7^?069eRo_r4q|=S*VM-{Uc0zZ4wCx#f+3lvk9Nu# zYRc5do;L1P`bhF|6Z-g+j~nS@5!ZK9eE{TMhM80Ut2Q1;5op>Ng%W$J@Ez;iRZCgq Jca`#Q=MU|ncclOT diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-shutdown-l1-1-1.a deleted file mode 100644 index 9faf458e760b5491f41ef34c7626c18ef0579787..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2730 zcmcguO>fgc5S=6~g{TM)72;^5a>K^1S~p0jiqs3-A|b>DY2(yRW9ob~cGQYf4~TOQ z`~rSSe*-^=GH=(LY-*e4(oB-w$@n?5e*0!8uigjKlfhB*t+j04f#-X^+wxq?;y0T) zTGpQ5%5Ug4iD-kU*5T=hXzMpVLL3Y6IgO^N=tNmG702T+5*P6(n8bpEmn~oT`yz>Z z_~h~NC^{KWqggN!fDKdJAP^GiV3vjBi;+k?fma~-r-l)UK@@}!or^w>;w%ob=u^Im zFC;`foQPsPJU{LAGH0y$tm4sgUElXD%YUbMwXAM4{P~EfBx==&o=I<$oGiM`q+dN) z)ag25kOkEcd8JLA8>g41_rT~1xEMdUyRWg2+1cQAnbsy(;|_Ejxb14(p~mg9vr~f8 z*Y(Ugu!pJ5IW4@Q;e7!Dc??aB! zF@EBk+t>JZeZ7d8Ua`|deaNX4`Gh^CXr*4^60Cs8Fj&h-0M+iQCqR-Nvfpw6P1}R&n6O zp%RF9;4S(nJPBoH)*G)|o3s}rR`Tv-_Oo|)_WO1=PdDAkVEDTA%E%Xc-F9rp>aMOD zhQ(caZ5V57-SmaM769A=sQmzFeg{}Yo1VKX^a#-t;$7@dVzJ{V{zUY~o-aNIk$V&f zbWXdDa5^Fk`t+p!apVui6aU0L5(FE?^nxIlhy%~>f1+BrQ5=ZS7Phd2EAWdWAH>ji zy^4l}H$miW50YLo-Sr1aFphSUNe~@ugAl>!NR)Q>Ccc~a@=XQK`@9qPIBAb(n^LwL zwq-evV;CFO`fNA6FBp6*TQz|DY%M@L@uvyf<&^5)(5N)E zR4h4CTx?;nrR?VBn~t7uZgZHv;)c^zph$6a8m(ZzmolFk1FUQ28_W;dIY}cFmD4Pb z%<=>6X9ow1v~eNBAzG1Fq)OmVah%B!D?agLhTV>I5T80EtipIZxq>`SXMTJfX>DlDpvZ}*RG)k{Zb8b?VYLfF3tHipdN^D!Zl}VMHVqoT} z#BK1R#G?CPw|Q%6N!#r;;h-g>-OThi};C OS1aXk$yeoHp4J~p5q1{< diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sidebyside-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sidebyside-l1-1-0.a deleted file mode 100644 index cdcb0616364e0be6a92a50f42daca0c2603be2d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10970 zcmeHNUvC>l5TDpd+C)J>Nu}^tE(&cQYIEm07gvfivd?Y8 z1BxmXRj5LJKs+Iy_#CJo0`Y+OER>nu+q+%gU2+NHDkHD7d+XV`+uPaSZ)W$_SJvGA z&hAI^A6Cp{uh@?5Sk1aqsaT>(FDsSR1~!PaJr4j&0OcCM?E3(7-^;x41c36Z$1-1f z3_$tvPckq4g12FQ`!|{2`yGJtmA_(0jIh6Ohe5cpvLwBE%+TMU}U?gG#-{Y-ADp|*7HnW(^@L_u#*e-Xy z|Gqc)vbWdr+lRMzf{ow+81wh`nJK%=JKP;`L&KDPHst;A3HQQB7$WV*77qfydw-Ck z7dPGE!N#!P=iR{QG$H=P?|M>Wi|+(}ue%lW@!{&(nazoYJ44?KUp&3-WA0)H58c2t zLqfdK=aG(j4O4d8^X~GtF)l-dEy;dHgx=vJ-U@0x#g;6V*p}ruND${%%o6W-7Ks9| zHidi;wHc@d{2&nZ?4kmj+cnP(+-w!mvJRWiYpucH6g4;^J)a)9+)%m~u`-SCrKfeU zl-`PxliotM-m22Oj+Mm}J=LzR$ja*8po*-l5-Y1QE2|y5YFDkA*Xf{gt?hSsc+=l6 z0Pat<-3Lk#%5_^(*X5D^Nlmw7DN9GQVL3}jv){DPAom+Oef_HGMI6%GRh{%yee}A3f-+D^-k>b(^NOhDLHn+VRj7_hAP3sP?y&nnN(9~v zOVc0=V1%%)WCYolY#Jxs>&SOba6~98w9}PX3P3(Ur4rzRps*-iFwX{-W!aV>+i9_7 z)zV|j1!0~eoMu{%rSXis&kbz!|ZEUC&YPMgHc~P)Esd#Lr)RK);?ni)C?beq>cf=%fB5BImFs z5iQY6_k}pt;y86#PDUEg?I+?2gyFt5i&_nfC`0JCZcWgSGb4c;t-uOF{~VaRi~l?N&CyEq zkH`wz3&!Yg=0tx(TVqXpf9N;=mG8d@+HU!t^qJ%8`(F<|eeC;}LkV3<@Dxj9v=aQL zsBrAB=EHuynZW)NbeE^Cd$y%Z6`r-ob-Xy4Fia8LO5~U^h8A}cD@u(AA(3%S8gp-dGc5*N99pdCPPJE?dsYp(= zwSG_H#D2P7G?8jA@J+g2#EC_m>$C0!W+Cy}bFBGr8Err*=EDss5M>E|#A{;2k_$<3 z;XGK$$AgAErKnW4=e=XOE_#aCIE@FMhMyvN(AD}qi3bPidI=spPS=Zg@D9%LS$Qx6 zi7)f&YyVjD;oT7ZF(1}K30+F?E0&ofm%PYsE}S2YeEhhXfr{JZq=vBud1o z);RB;-wK%!b0ad5;07MsW{f(681kI2a8}&R$BN17NzAtl9?>_aXv)vCdMZQWh<2=_ zMV{4DV#JaRNpayksORIsbHEhu39d_lC`&*G>LVi#88Gt4x`H_H4~TypivR!s diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-slapi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-slapi-l1-1-0.a deleted file mode 100644 index a525c4fa275f1582d8c3c5b23475434e8b5fa65f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3638 zcmeHK&2G~`5T3*-g|rA%^}q>SsoY4g)5OgIp+F_Xp@$*_*R7juiB;!Ewj+wfp{E{E zp8>>s^Z|Gjo`Etm>y0;U+yo(lkQgbu9er!*g+i*SCbDB=g zwjCZaTif1hsB7EaF9X00fWl{h(kFoB@9MX*2C%Xw#EuYeVj0C^PbM-FJA;lC?}NTS z3;Rs*gb9xd)SNfelIuX3y zeKnHNhuxqp`>}lMha>qS8uXqGhcyr)=nchni2SjcH$!LCPLk?iyg_+8<2sJ#dA98} zx6`fMFLzFHW6+uffII9hK{b)b3H$kt4SW05j-UAX5FTm4-g)&Pj%UE&gm3{paI>zl zH_<8Kx=d?Cv(OI8@)8o2F{#1H#1sPQ#Mpc+mmC&uY6{p$>L&8-L zgHWb7{I~#kS2*;KbRdnJd8BErOLG&<%waJPW8}}u!x*_MF@~}-X=#2rZ%a626>>40 zGh&8S*qD4sdPQ@P5vB+MwhPg5nYiBl1+Me)#B9&F?%_V%rNu+(Z*#rI%fM!xR)g!h zmvV&mc^cO>-s}zBSUcvp_6eu`%l#?_ETEQ70gLl z*CsMeFS!6UaCVg%D8H1`%*@k9t@(;R7_6C2Jt-8m&aG;S@C}^>l$V9bi_{f6Xs(jj ztV*(7Zy1$inNxCxn@a_Mn!4z`d4%KLl;zaf;LKS`@Z>j6LYiTkon#eaeDc%Y)p4@O zm=`kKL?xk0_;EUJtS)+w7Gh4P<2=2t`{=w(F*=5Ce17qeuFlS~SmqV3{gO}|r1=#u zZ=t7ntvF22N!e^vaaw|Pwbp={Pp&MGYJf9GGvHmSvSd|5M>rc3%Hj7W7N`}e72o2d?Y!COvoEjrTk9h5Z!(xDMd_3b1?zaP4>TJpTs(Juf-pxsD}0 zH?D~1wLbyqc|$(8Rsn9UGPcdwmy>urVLNdekJfpZUyVA;S+1Vqm>EjQ-i4V6Pv=+r4nSJN)c8 zN&6o?OtD|qAB>o-CBy6vRkK9fT0V)>FZjfEACBTZ2`mVWpLb8JC=!1>Od|0y1<@tj z!@(#V$0nd4G=6?Qj!?&m9Fw)l5Z*npK~WkVJnDAS=1?(n79)Mn3j$urU-hLt58m!7u3 zQ@9N!C*106+@`{w2Va>xI4vrt1(*-j31qSD%H^bhpGYq!lws{c^o6V^h606T@{z%&6CH zn;((Cs1Hhnao|4Y)%YXM^Sft#gffd zOS7-5Tq!@`^3qnvW?$rS?qK`AJbjCPJ${_a^4eAFj!3YN`W1|P4r_wZ zg1z*<H)UyMkM5P*6YHggke zl*ktdN#^>vw(S}lCzu5T{W-Q2G6jsWAza0Nt`mO8YR!H8YWc;Vw zkjr}gn#q6l@6lZEeqNV;KHvRh0Tf#t_yu!=?rPQ+OURlkwFj@9J^123Vb|SXQM;hU rNgzK7JWD(%Fa!Swo$s9xorWmow(yP+@Z5o)urzF8=KsM}oCE#_A<}g+ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-l2-1-0.a deleted file mode 100644 index 1f4b85129585334be4086321fd1b7109230047db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9906 zcmeHMPmkL~6n}Ac+wD>cg;lALK!z?72NIl+b+Qsd3wr?xRePX<17g;Pt7tRQjK^<&_Wb+3KOVpF zz84&HK3IR(PNvFM#jUtb!>QZ0Bb&_9wy{w?u)hufR{*S^0akwkSo??bbAJO+zVs*O z%fACq-uR32D}Mk`epThyegmLv|HAp&BYIP?z&fq&!;1;P3uJs?OV!covYyeWEBQ4x;t1iq;6gXs8P>;LTu zJ_&a_UT|YL^n=eqh;Dx<5+c6&bZ|W0u0-7aVQ<*+lFuuV(SH4??+4w36j;Pjj z9M?s9x{XG}(boNQNK=4D0pJB$TZQrnhbimR3mf+K%Pnu@O^3*q9oTzZZie9u7@QEU zOE284Y3v$SR&ZQq+5t!7wzQmZ7pLRu8n=m+jTD@2*H_eyQa>!AZj?wjN~{~DUbR#y zIptQbhrn{X+w;`}|2_e@S!jE=wLrox!D-uJil1yrS z<+`n6Q?W1=BiD?WQ7pWfe2KcFJ}42!f?HVTW054+JK4G3aB34=cX1zHq`||=v*vnL z4g-q~8V!!?s^SRka~jt*-n<&PNO#P3T_>Ebk6$mMpa@iw6)4K}d0y7CFufza1;Q~& z)tPQljw5D+~tqqTPLO&!}Go7xap#U9Oa$&)*Sjodr z=BQtxgK1kT*(_gDcR2pB?fv!E{qu5BPH=lE_({_*vN-Qx`xlDmbg{w7=u6P{8@7;o zNJ}TNkBDqP?OqK#Ya0DRj7#_u@`b&0T%=z#j~&F^NyoW*Tx4fHRv0bA89#pV7TrC3 z7|Y_?g=9=5Sx5ab6E9$mnar%E=M;YpzfD~hC%p@p>nD8)DAvoBq8{)m_9d~O&=NWO zgs#YW(ysG}c!U7dJL}42tWhExz>-aQ&xHjKu#yP(QX;@Sv`hLG$@|8V_qZoa*(lb^ zh4*WU2`UyoBfL*U{>hJ>9KOC{-q)ABe@47NuXwLMSkDOWr+=~MYwz7`ysuV`?+A`_ z9-xt&73b`;A(i$t&p79n(eG(-&L|x>Veh|7$3=0@71W)1}Z@BrVW<08(#gnK$K=T~AD@KH9tgT4|MmG>{>*eS)<|7{k?(t;oG8qs|GL|>}D z66VVP_cHO{-JU$@`4%}bi~pY)yvdXQUm5+L#{W(_Zi4?oIxgZrot@6h|Dt3A{~uap z-jlzh6!ZRd7Rb_q@9|2!PyaKPZ-i4_vK@DW$s9#4xv<@m9N>SRXMyeMe|z&~dnF^= zm+?HAsxhsIZ2Qy1^99LveU`b{aZT2EK5>>w244$ujc1%poL|QC#Q5o)f0}rny}aD? RGZoJpGmgJyO<@lF{}0rLGOPdq diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-l2-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-l2-1-1.a deleted file mode 100644 index 1f782cdd79a6c33005c661e67ba6ac0230faed80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2734 zcmcguO>fgc5S_#=g{TM)J(Qb4<%W%IrH&7%iquPyI7C#OH%{y{Zu2GE6+NMz5XT-l z@mu-}_(_zRS#Pp#oHmzcqwJ1npFQihZ+86lQ<(OLM~#nWxw(g~@A^*Qd8X;`l-`@B z*OJ$!*=+#87C`MQ4o3hxf9Nm7u@K*~IL$;S&f`=ZPor3TPbT3k5$L=MeBn36DCyC^ z@J}akf11XZ;Y<*0oY4(}Tq4WUWO61(o^bIO3VhHw1~H7o=xHOt>B*OA7=4~ZNgDU_ zQ(gxMk&I`eaw-b@Q7^ZriqTa}x{l-fzG?bFP*C4(L_eP)nE*iz;1yfjVCV5w&i3lg zgihCv!aQ6J;h8pcZtY%{JpzMk!X@;;gQmhhM`H`urMEUX3U{ddgxg(>Ybo3T8haHu zHLpfgf;G-8RDwlHu%r^Kk!QJpY3TxbpO)#Cq z`YMdZpRo#~afhjav51v&EBIyJwsGnK40A@xFlz704=JuF1~tOe;T-$TFEm2?T%~n|*GCOE&mDbU*@RQ}{c#r^ z22f9@fWiE{WNRIz5BY3FI5t)d4D#XS0CSs=@~ID|4uEl08;STArR?J50(i++HftRry7y(g&RH7CNWF z1ZT}!f@i;W7E*+&cD<+(^Ru6JuZh9VwYadrm1+sq!n_(c&o6q9He!BM<9xNQeKbxA zjPl_d-`>5atDBpJPq!+|Jgbl5N=3dvODbBbm+migtkrJ{Z7f$A(0SyV0)_gSF^Yh9 z$(pjL7s|sdlyZjOmv&#SNUjjS(9k1u<_%iZ=q!+)IhE}BjeX@?Kk(hNiLCn%T4dD_ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-obsolete-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-obsolete-l1-1-0.a deleted file mode 100644 index 9e05ef6df89cd011300e418df7ccbdb621abbb36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9804 zcmeHNOK%e~5S}D0l=2o8ASBQt-~ zBR_&8M-Kf7`~(jC4$92f&U*8pQG+%_tR=5sV|zUQW<0j`=0mTuU4OKA-%19j;<%1$ zSDmtD+1zA)Evw?nvSn>90>EW}d>3H81F-N@#?#*cD4zQ!n*U%U>QUONz2`KIa$w=BY7i=wJ;HT~^Y z$KUhXg2);Xbr4h~qHZT>?uyn{)CzGt5jw&Vw(taw*ziHreXo|%ln^2_q2Js9A%aF* z^olC8maJc6`tA1HL9+We?$g*lN=fH*yIaZ?`BpSHPJusITi_5B|uS;*Nz7C3C zubZH!Vr?(*x4Na4#@r~ZIkxS(u4S#*6$Q@C#oGH52sePoIe_z=n}<@@e}jPeW3XU- zvsClC-XE!OTv$ISZAH-$WUx!GfPA0 zbh}Ow+>r~k449iX`j?pv{45bS$k$bc7TWP)=-2dSYS8tx$!ynoqSN{Q z^bA%MfWBlG3M`+qoEr!8bvFMK zDLX!6K=exr8|#^01HDK6frv z)rzrR&9IJpAz|9{!BWBcg2v98M9s`#9r>LI>v#i5^ZpcLePukXudZfxeNZPRvg;@1 zO_Fb=WFh~3tP{qy6_4%uIjY7G+w~i=g1>qAh^fA1CoZ(|KAtA*lFVLkJ0{yNs@B-Z&={J-#Rc%|{}bz7FFWaA%XxF59LsoY=X+XwCbf8yKlN|U%x z`6_Gp^vmPnKJ#tX&U+X-NwnVJ|!EU(^#LWH%i3n nL~oSbe@a-lGptVu>+0o>em$9yw;FzFWPT^G>-^_Uns)s+s4Xs% diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-obsolete-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-string-obsolete-l1-1-1.a deleted file mode 100644 index 022212bcfdea368f05567fc55c8bc6150ece9ce3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3508 zcmeHK&2G~`5T3*-g{TN5df;dzI8g^XO57kJ6x0jH9N@~eoV?2=OuUmyziCvA+~2^Pw-k1T$|D2vn{* zu5eo-4Epp-^z)fNm@oYcZy^Xajc9-%m5AbHFdK_`KbnX5JrO#B9#7yGr#^^@?+r_u z5<)a)u=x58gb1b!v3X^|i!*w99gbK1e%zQVUl;k#MSMK%_P!|t|x<90e)#O<@2 zzTt*bg3pUMI*pF7|3kujYD}>2m~SvYXy+u&kXP1e9@*pv+RqkF_DP!;Qd}nAbPzMi z$892x)%r37fUN zPSY8?SqF6AagKo`2G~n91CEk8Ce0s8!z<534zH1R+|caBI~{6d ug*A#>*Pv2EE9JWVpX<06lBSzGSSefw$sM}t{!3hEd;fszeA6%Uf5&h8V^eMb diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-stringansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-stringansi-l1-1-0.a deleted file mode 100644 index 019e70e9fed218f4910be1d103216363bde8e40e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11570 zcmeHNTW=dh6h5|-wh7@@3W`9gwkU3u( z5JGuCQH6NuGry+4f?vWj<(#?g?0Oxqqp+0~k2JHhXU=#o`tm^}7`CjAy z9}RvO?zFt%!C>GAbzrRB9k7T<-2Bvk9&eW-(O&NiTHd|Gt{=1yqCXRDF|-rZ>Y(TH z&0({tG-5)1JJv4x?*{&}?~cqyC83^FkGF|__xz(#w4ahtKdPJk#67j}jfl_J5NaK> zyWG8ocQ6>0`WpU|aPQc*>$;ZZZehXG-fH9I5@H_UZVnO7Ys*j?;WT-Da$&*lUa8@Y zyvZuOWgB*1mG+0jDQa*`dTsi_jf&E}f|VtlmzlP~R(hLCPI_yT^{Ptm7FMn$=&5#f zMf)mthefonBH33lw69{vDLO^F)aZ0jxzucTeA(&W*8op)P4B4^NV&O}G;|?0KB<}e zn4hF$>>;sK;_n#yx5Ra5XQD~&G2gpoY%1g?>hOIdbQE%*MSn!z(HN9SCl5U=vtu^G zd}{{G*PQYg=3RUi@6iHa=}lw4%%_3HHJT01YhB`mo^=xDmA-j3^t26`?W#_Csvf_t zp`ZX%5*rlw{=Cg=Y0%!{UI*1NapXXA)H>`v6%vlO$WGHD6On8%%Q;vC-(6u5w7;~c zVKP}q%z4a4xUxb!U1?4L!~rVh;cu*FF+OGr zu#)VI*yjsue<<-z7Ypo^z6E`O!HYCPQaTQOhV}*Y6e~E`zA-L@dJ*4JL!C~tp0+bu z$2RIbOV-2qPbA`-@1>5C;fi0qzDaj4Uxu=<_Et2$;^?FC1R__kCJ-&qOZ_B{4L?pp z7REgdnES{53P|+xouU!2m+&j0&rlM+`iRZ&b<$H8GZHfdpwWfRypJ_X#05gK!S6+p zhd;3r2^|xn$*io5d<@6Fy}&*_9|2n(e`SLGRfz@}>Ru4+%hj6LSE7vG=oI$tt(4d= zo9`5Y_g^4jrt$us02Rkpmc0M7G45%+KT6gc!~So{dYbn?Li?GO_g5tLqi?^0H|LfA z*NI3lh5WBWUzFzIFD#As`xK`ES$hM!meL{?kq|xTxYy7Yah6EviiwT-d|N{LNQm3N zI`=V*14UVTgKA3bN8YxDH~1YHa+)`IWUy$K-k@oWdzv>GBx!s0nVLL=m~BK0Wb4FuR?U{$xoHzC!?k?Ya4J=+JNzOp>eW!6P9n0 z+6Lai=R2znTnZ6UCz#AL{>5p#iGPchBvT$^dhQ$1LY7g_ zV`JRYqMlZ=-dNNVB_dLGX9drLVd2;p1d8U5cSuEfR}kV!K=c!N%rzfbJmFe zDjnjh_JZr_0Se&jlTnTMv&1+Bjsx|tfs4WQYPBKPYf09~FQ-HPg6lbPO+@}#xIV9u ze=)dT{QD=0`8RN;llIH*;!KA_eiGN8V<)1K)VD-Pjr3bSVY j)L(eRe~d29bj~N<5pl2lygBFiPkW{#R~y5AcHI9TQ^zpj diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-synch-ansi-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-synch-ansi-l1-1-0.a deleted file mode 100644 index e0af344ebfa74ad0377ac5ae2d77bb14a79c3d73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7726 zcmeHML66%+6n=4b+p?6lz_u*(Vx&^_&;&cpdV^F|TdgW_saOdR94bwmjkhsPvQg}X zrH5*TP_+jRJ@n8+5B!w=3J&}L4jlLiZQq;mjK|41agZ=d)hBs8dGoDj{O0@S&3He( z>5un%x7I$lv*vEPp6fX+w_)23Z_-QK-rN$uZM(e&02ctPM*yp1fHQxJ>)pQr=sNe0 zxZeK@fUb*{xHc{U&~^DLU5xE8_H7i5BeomF!I!wy}E z|6myG9gKrRf5Zqji0BU(xmfh`aIeSwVHC2y%UtF#pW(v>0kB@+cmMm|;HyzE{LT+! zzta!C2?xRWHZT?rM$FJauCIfEKkDJwb)4oT%-zE{IMUk_$IdwL;~>-99fiwjG`QuH zjZMO-1~mEnOv3~=`&@;*4c(~oFs>gc^5wD4bsW$0Y}@++3vTVT?&DKPJb;@Ofb+bz z3Uv%m%t2yfYj-52#v6wQIbG2udb;FYGtp25lrj!U;~a3pS1`U!V7 zAGalO*RZl~z{z%bM-|itQ4Lj4BNf!R3TmW+THmd?HK*R~_Yqv*5Bov#M=xIi+^_8W z52PdU>#?M+s}ubbOphbV+Kka+Sk1#|@mt{-icHp$81vYzVpFw}i{Wu2c2q04xEPH3 zAR~+gLoCZ%e~9zF1vt-_;0exqI2X9&qOJVjoNw@9V6jf4!EtRQJfXQZabDu}yM|L5 z(%WU7aI!vmKZ}kkP)VynmB;5jUMs@(9?uO3N8`+a{kV5Hd>}lWZ<$EbOO~Jr9$ldb ziZ8`9HGS0)W1i9o2TQioom2`yYk)Kh{=jNkS+QK5MGl%L#5OOtY&Du%ZaK}vbAr=M z+Z&V4X!W^{?d^o`bhE)Jm|HLxXzL>NV6x*hXQ*62v)IJWe$e`b6qm^@EyToToYEP+ z$2MXfnQ@*R7jD(y%LF5R_{J|@eMY~YJV||N?UZR3gw4c4>Q^xH9jpmv3l`(gM1xZ~ zXgcG79!H*EAW;F281+zr)^{`n`5481Hc}M8sR}8~EJ>1iHRHh#GwSH&mVPwWl>EWRnr}Xdv z&hw&rSmn&nHo*9dW!A!ng7lget|cD2SwM?Ik+V(d8fX^OfRmnbyN`tij*%DhH1NH~ zoia7h(fXaGfxa0xrGX#KIHiGeIKPW(V1+XxIk<9`EN?Cl=T1Er*!V`$EI7gHtaE$m zyuVS9_c!!&w&4A5$c1^l?`nK0llMcd-&wprGUKLr|BD%?c>f8`>!Q4`g5k3YeMLcA z<{WUDUH~oK54D7Ymlphv_nbEud!oF?lD^ZaeNm&JHX5y|ebEW>Wu7+L8mG$CM%m|t z4V>>qwPBeUg34HCU3|>>uj@iBGuUFmbF(h8-%2x|bg`*yO}Irh@%HRY(=8;fzVoVl zaS7WN)kG!HggPy}0lA{c*?HoB2Q&ZAP`VzRf_iYL_fK!n&R3Kk*8hbb(tXo);ozkOPw_sXg=}un0#TL@UIXY@3d;Zh diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-synch-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-synch-l1-1-0.a deleted file mode 100644 index 3992b7d99af405112eda1c169b68a3699699920d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35884 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 BD~$jE diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-synch-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-synch-l1-2-0.a deleted file mode 100644 index 50be97b402f5c6b62623c2f056cef5e0d21b787b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16248 zcmeHO>uTIa6h78EH|N^orXe(CL!CfN){)ls+72Nkb^R9F*Sr{JPimTK)Vgs0TD{(OJDp|E-%Q}sJqh%+W>dIy1f^!eVVyUX%)!H%*+dr? z+m@TIyDeRJ`Tdmu-Mc@#XK^|AMC@kgi6B_^HhrggYweD^-o576Y0_bTM$dabJ`Jbo z?Yhe(744Sq?K<>)7Myn5bKAkGePJ;`x_#*qGJ?*&<*&Q(RfLmL9U=C{j=O%Z>r!tD zEcS%x#n#q#6Umc;M$I8^!QJ%yp3_M8-tdu*xeJ$vxbD)7a!=2N)HiqQYu(9KsPB5| zImc$O)zl{jb0dG{Yt$s z!rF~846RBs1?$V!Z69`(MtWk{nvrCbM$RTL68uMFP$G;09+q0H(-@QWhPtfJnN>;F zYxo?{z+xKxzh%A3rh&yc%?9UnDv%L+&RMb^;>B9PMcfhl!(+mQ$LSiK4k!VYqy<>T)*F`qG-lNz^uc&JsTuIFxj% ziJ{1KR`SAtXLz8&Y0^S3#;%TOnpTZbte+*Bt46X5k6dUpR?FS`sM=muLe?1 zRT)f0OM;qT(1bKXR(cRyh)DC(vzx}j?g-;Tj7wM&vV`4iT*NNAkE@9JA{$o==XDAX z-VHEe8{YBL7w71|Cr{$G_~=9r|CnTt#^v&O2#>ftbJ?Zy11T1)Hw|5qZ48L($Sev3 zvd>nGM!>VUMTxCN*uqvJ!5DVG^z`|R_zVGPbk3O5ctnXb0dI+xh_(ETWwz&^7Zqq= z9k(}(5i^R6u!fAlr^$sr^3|fpeG>ZyWyEnN8&T*M#D83pipmJm43uIY<)R-4 z>VoX(doCzd9=ECKmg(?Gn#d5E2 zE%n-msv0*;**-i#dFjWEj|7?0$&EE(+&peHvvCqPKF!8O+@QAIF5 zX2F|*%*QOal3>Aa_+R$Ek;;yfUUry@>=^n?^oY56kfZ3muw$%;jNs;Bq1mD0Gi9@* z|E{W5ZkY2*+^EgUJ`?%k{d}e+!Pn5~Gu;-(&GVVWct^lVK2wkQB(fY72M_8q9SZi( zi(w`BUO(vv@f~aU)-|>ge2F0e@lHcLlha=nvCsK@@kS zr{&1ui2`RDf~@J}Oj{UN@OmW9e4dSyIP)+Y7jcGS$w4`@Uyv9nxMosS+@0w%&Yx23 zH7)Q4RvPd-)-e&}yH8Uk1EG~Aio4X7Y*`+m1Hyn{S7FmqF#2llM zREXbT7n=(zF-OP+@vf6(Nc3oBgW_)W@QaOHHjHEMp#D=SVng&ZgF;&cl`l3zCPa6f zq(R)Ql>>^q(o<7X+&$czi}&W}YtBJAU_=~9|8}O>R)Kb6D8=!^CEmbF1Af6evWXnS1w~CixHzJoyj)N6du) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-synch-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-synch-l1-2-1.a deleted file mode 100644 index 939e55f8d2238c6087c9a7d9a4fabb0172b0d3f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4402 zcmdT{%Wl&^6uo(rM<|a)kqSsCmCCLOcG@~wAXKRmVuPpzs2ik-lT3+Q=b_jYp$k+Y zgjgWa9SeSdk6_Uc;F~D-&UoxeZ8s@WjTp%@*LRLR<2&cf9WOnyNA2$8(!=s(G1pDY zw2X#XFP9C`rPt;1YTXJRXqEur3PA2BK=B8fm*jQrJ^)=es&p~7$=EB8k36=;eLiBF zgAQkJoxVME7&^xdi&<;Tby{=<{z0F&2P3|34;jIF9zDRw#k_a@c9*#(t1*+=4Byk^ zz`ES-TpMf2KX2{ww(kLBPH)IkIyXn$_BnOhEtkJ^dVI7UJdxNX zoiBLL9(M6tC$XBl(;grA)j_y)X=`R0hGpS$Sq)rFQJSUBCtM~hjU2#DVa-9+=VM>k z=~WrFn$?c&+vyO|vjJPj)t2W?fx#i+9D3pMn!+NPposI*%LW(b@g zg#?`HS1od^((@|Fu?lglA~;rY%}T9eRy(dsxayAM^5B8rCjf79JNBM(1b#h^G;HD2 z*aXvKm`}rK@hhZZwAd8|hN3cAg7}KK&0$v|mx>WFBW4tGOOr1N?r01ugvo=0btcL# z5!but;CjQT#kg+aI^3ekL-Aj8y(XrC)dI~1=d~Dcgw{EU>k6;88ZOk1-mh%JDf@Ig zkB$ORO}jur#OJ!OW?_0)Y`X}@B3J`Ees{mWCq05|6OpEm%s>qyx>5}kUy5l|^xa0z zIi?Q*R!pas6pC6GwXE{+3ylmCPA2jqb$JGsnv~eIOj2JpHFaGUA^C!fOGkkubA)W@&BUN(`Eh@AdNKZrD%PJ4w(MUNsoq4Lt zKzkzV2wj*n>Y}z9)5T{D#WY^>nYN?3iu8aTqiS%I1s0TBiCq5!ars?6e#-l9tu%nH8mL7)5 sxNs3wo;XOxg?d={3q2@iXg`AgwH9v2w6GF*sL8`utY`fr&LSuL0d}_L-v9sr diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-1-0.a deleted file mode 100644 index 1fe3ad0c0422629edb9d6cc83396d8e8bb5df3b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20268 zcmeHPTW{P%6h7HadP(nB%0*>MQ>YLL-dr{tR6&-~n-ox_7QzF<*<_t&o4rJ9ho%)m z5rV2*RUt0o1)h+20f~RmpTLjc7x2Ur<(wINJhsQX-jyvxcX^!n9)M!u8y;uA z2B3K1Cmvt>9f0ENfAM%3?@jUAVIJpB1I(Q^&5Ne_wr#a+bKY{SmU*#RvCP}mMtQwz zV&-PCU=}9LT6Kw{o8N3$%gvUxQC>GmtZvfy;lS*@>|fvhXF=2E%#rd4mY?p$}u&W3$y)0I;eU9p^nYNOJ; zZNE`%S<4Pyw&2ODiWKstc=-~b{5#n3)n?<;rgUQ|PnM8wB_!l~_%*r3bpIRG<+Y2= zjfPX0^vmT;Swiyy{&=}*PYw+V99PJB<=zqX z_GsN6MZG;rdVAF7dV92%AI*;%W0hJBjoJ#b&b{E@M*uemR?2H$hMO<fFpsX9>d_{M*BE>3`~yG)8KQRa#2DftwOseFCQg2!5+EXJ105s zJbc`b8Cjr|^gx#N&jEIp1naA8Dudz}7;a$2S>0$5FfcH*1$vqqseuoycR3%Zf2mLX zAnP0c%n^n#VGrwcB#r`9S;~_P{D~)8CUKf5MhvqJ!x+zVnsu@#(?(um*lyM>TR6Zp z`ByQFw9ZRd{;rF3I^@7eXirf8OZt#%P=zhuP6+)^<2Q+wElKr)FBh;UWDjdCyhFPBL0K`R6A$O5j>+nT7c(_u-`n% zz-M?8a7GmVi57k_+rp4CDgul2GGaO* zBaDg2tZ54sYo}RL-(MiUsr`i`#0atWy^w0#fEzn3`2NE4ZVnwX@CBy9)(WE_^?+vV z7y8(z(djfl+74g&Z~zUZ9ff^K{R`}C*ZWh+uwR&&?(6+1M})V05X-t;`+IWUo~~w%KbZ{m)5c5$^`9h|?YzfTDbuJr*N9f6 zdfTlLt*hlC9`RkZoIpKU`)*NxkZ>Sx)#E+VjQnFR#{C)3c{hg+8Tbm*P>aQsNA3pA z446pDfd2jfjUy+5SUVC7=w*N4KmZTvMt_q10U7x4?dgsuME+!Sf8YVapp&P& zD(Os}y1ymW+fMg?sFsW9{(EXUfqZ<;u4~=DpODYr8VWCXED+1mYzLmD24L{*z%2XC zlMMWVCv93UY(iZ3XtobY_mBH5VFS#`615M#uw-96PD)hSj%A7DFsoUj-Fr^D*E|um zC0``oJ6p1;mW$YukJWO*mOO>1?$(bO_E{2oTQ=Pcd4}l|*^a#8 z=FlMnKVvHFNT}r@BN8svx}#tu-F5DBgN-kzNYsM#!i~Klg!u1-?=)`sEmv_vD%H!4 zr2EhP-L|&e=*9cq6XZs!XHyAx+xTROtby--%XxaS-`{CgVLCEr+K%0}-9Gl&*F9cKO&B-=NW=Q<^zI z@90wS*PO(5qjankOCPctYzo%A+oF_ z_@H||$w;~{U5M_=eVf2O$X~_iv=1?JnaEc=Tax{f)}11AqtDfHVm*nzQR&t`3=$vO zd`FDm)Tf#o=a>eOZN;3MLx&9ffoaDc5Qd|DM`@l_CEd%OioV0tXU&LU&2xx=ZdsG< zfEkXh^uE`0mKuP;pJ83)87$4fZ+L9a8sFt^!x_zc;6~Ct@c!4KY@E5diLTA|vi_9e zc=7(vCDk@1;oBc=|5-z`tw_4BJszE5^*wOkR`lX=3=r~ze}Izuw?3Y5t$}YJ3^#`k y8TbxUMXSX;D%>5K*^qSqy3YnSs&RIp7d9wxQR0|M?`)|jHc0MwkPW)L@BaWp+B~cP diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-0.a deleted file mode 100644 index 6df87048b842b4f03293dfd1b9b2323607994543..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9466 zcmeHNTW=dh6h2-jy+lEv5+I_0TpAD$*z7v?#+51*h+4`+i=~vyL#4?&Ue`-(ujO5* zDGw+@2q7*~B|tp!z#A|8hYIn?13!RY!UN@;nZ3;3;&mk!S;|N|Gd}a}T+V*qoY_q- zT{R~A{Wn+Ms6><2)O1Z(TWX_HQF)V`S1Mat-Me9L1pw9n%Buj&e*>JqBd*l}09{Y^ z#dYBjfUakL5!d=}0CZjaU0g5y0YKNKzvyCYhq3n^bK6#O^V|Pt<&l(wHi=pwT zr8B+323ChI&u)**eS2a~jWHwG(4iX`nV56mu|_?c4K!9~Dl-`NG&F(rO{4oC4+S5X zlU>u@u}59Ywd~PN!#M!Ptl^lYwIFo&zT=w1+ZIibF5Xx7@--Ts!(OgzebT zhIi!N+7ol%a?H1!>(;=Ox}O0Gny*`v;XPww-ZnY|e`*W0h&wSgq-JAG)Ls-m?$XkYM9h$;3(Jm7$*GAK!07fS4c-?0Iz#PPo-<+?J2qz{*+*&Tsci)L?b!R8fOf(qProV0EBX z>s7VZ9pLUz>me1r8~%9&aJSSm4t#@Wm;Fe?mSbZRO!lFYg^~PM&caB(TjChlrJMn(e7?cR3zyan3?R+bo?fv|0Z>dOmp7vIJw(IyLo}%f) z(*Mo&I-dq+7>YRC*FBcdlTKs1kC#gc7pO;W_v?i7>+y0G4P~I5_JK0@&l9|shwFVF zmJp7K^9Fiue>x&!VB&0xc)B1xaPJB|kblXiVUqV7G3SIrIN0Ypm84Msi{~O!;7_a+ z5|9g$7+091Vrp@j&59>m^-W1(XSrLx#0N|VtTctuuJby!?|Dq8q5^8pc!K-Cv>(z4 zY3VqO6T$vZ&#!@leJqU&AubY6C?2}$xIkgFj%~zznvT=`c|D7j8y?2D;ffzVdWC*H zco5pc+PT!zm*5|bD>!)`Yl72)zjVLHWGRNz(B)*L0ojk#3t~hR;U1$A0!tV(d<^$O zL^XW9^z_Ay#0&vwbfKDctWl!fKv;s!k6V7kJndweeda7gbt2+$J#6LEgPPRCF}h)v z9zOCoLPe2!=t$$9q=!K|E}@6RbX=eZioEmc;VeYoC5S(Zs)GwScS@lSUKIwOEATaz z(bcBCO%=_3Js*ojY+dqG(1b#_~iY_$nP2sNrSoW8O%x z4ER+g{L+;CHiUgHvNA4{V=;x%;f65qT!CM)oZ$hXl3Ac4J|RkHr$#=-Y$nf6-{eqC zS7KU`iWy1co^*CPO2;J>^I1ABP|WlA^ygK~QplIcheaaPA}i%0EdW!fl$J2?T!Ejk z3`7uJc}yX(#)6fxnNJz&l|(H09N97}mfVpTRirX{(zqunW1NmlDC3iKT%Zg(RnM!8 zGVw$H-j97OvLc@5%$F7MnrERxfp0O7tvFDE?1rLGQ}uib(3+hpAkX*Kv{eUcNcf{@J*fHgu$g?zK7D7{2u?;XJcb?sGXLFRp-)IJ@|{DD4_7@4 T6$<=}dFIN6FtVEqd2jd^Jo`m= diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-1.a deleted file mode 100644 index 31c58dcac56b055f78930848adacc5e125b6334f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6266 zcmeHL-HzKt6h3iwp)BP`RY4U(kctIvNU*bsn<9j^+E%m@MUh&>9kbr`q;YGQvbwzfvc4|l4m9}pJ&dT`Mx<5U;fxx z>`y=0_^`8_tf6IFwmGt{b~>i$((_JdIJDIZyBh#-9>ACbtbYY??nFK>{tZCS%m2vd z!UX_&UK`WH*bZY~M0^pkF^~Cz?Sw98UwboW?lEjU9NEksFyGswN41ADz8^05fiq_W z3nF@fQ4@=fB5yVcnQyT^vzWthq<{mPa>xCjr-C~?zH=1CJhh`-< z&-HzP-o*2{dg0&40QXuG=Rwk-+I2tDwCyM6CYbI+qYR_@uU&@Ge77brVf=AKFyMT-bkBs3K8Ih>r|3P0X&h*%z(eJ(nwHj zNMb@^k%?&_WVR}vT-h3G@#J~omY;Bg=@L_oG;X~PwtJbssc9Uo_H zS#7QK1|&I1b4y;nfHlc$$zd8pv001bG<`cCZ9w-Wje-~%NrcyEhO{M%8wo~uVo5n- z&BOp{k+cwiW|zu&6Kj;{M35~XiQh6a;5V$4-R`RIevK$lMjxS#t$Nz%Z{@V{Bf4Xi zHg*+XsAy6f_qBPev=JBMa@zQ=7?*0}bzI+Rwb3SqEZ>vyo`1G=aS83Gl<6Y97+|Xb zzhGXp>Qoase>AO!emy-5^0DF=IkHL*Q;kPW>S3YHTcw9@i*Y$UJSxVedUy->`Lud4 zpyH3JU=Myh!164{i?`8kN|`RU#c!Dz@H0$edLw znQQE7QYGJL^H!wC1+JF@1yOMGPU4`!8950 zC)R6tL8_(>uwnI>_0%)StLIsa*-X{bK^B}=Jph%TAkVaFE-Qs(s=2OOs4(CU%qv$f L^->LKL@ECP?1oR4 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-2.a deleted file mode 100644 index eff78043d08dede12919f388f2d4976efa192f5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2778 zcmcgu!EVz)5S_#=g{TM)J#a!slp8j7lsZ8|C?W?qMgq=TH{M{YP8@7kG!loNdd^>P z=L`A?d=X`4*PEG-E@a^OOyefU_Ub)SpERgXcYuc^wuf|bsfj^kW{btcFAmT`2fiU=rsVI2yYkcoS)~y zuOCbp9@~MR`}GiUrVqm_`y|UYz~F*#5#8{xqp%Or*}-+`)(1!7j#Qj*`}Mf4!X2V> zP=QnD)r`upCYgoGut*tJp$sc_t+v&+gE$7T$5G6S3;tdMd~1yTQxz!UI**jrxRIM+ zI)}|VjK-f)htashQo&rrO4$m21#i1}Y7ItkM#?Z6FUvP6jwlBiVVZD?ZKo?E{A3=dtkaqV-U0mIy}^x`A;Xo=r&@XhLlzrs*NKP!ED#Sr5c7ak?^n zzmaRcRUrbbv`#bCC_p4eIW*x9I$LQITPiWCu*@NoWwxoGbUR(GpX>=*7WjgxZC6zo z?M$!nd{`)*CKH@H_7mLywf&GXRN2LW4q8amxy$=jbEm zvKr^9bv;MtQ-M)2eB!I?S9G*ktYW&iuH#D`Qhuq;N9ajyOC8gF3Po$ZoR(nR?l_?H zNq0ev>?VRa%CL;AdWXUYHcHhao|{x4S0q=6|K2bntH(r-jCKVX`5=zv(1c&;tb6*+ K|A@9yjjexVc<4R= diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-3.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-sysinfo-l1-2-3.a deleted file mode 100644 index 67abc3c62ca94508a0f6e4b7b0f33c03efc683d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6094 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-timezone-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-timezone-l1-1-0.a deleted file mode 100644 index 244ecea2a04b5a311719ab63f3947d8d0af14a93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13414 zcmeHNPjB2r6o1)Gnl=r8l|!Kjxg`aJx{IA|oQ;G~q|#6jLXi?A;Nm#DUe@jYiFTcm zRtQB1RS0p&q2j;+@c|Ixzz67o0|!nV_$VAH@6C+u+3eV!4Pa!nqn+{W%x^s7H}5y^ zjmMW>a|ey~>kF?MqrqCWY|A$5mT4IH!yu=IVOeXuz}Q^?fad^ae+QWV8Q}cOJU+e) zK=G*uJTCnTK=A^?DPDY<$LFsCP`va$kISC}P<-iI9$)zbfMWGBk5&!9syWVe$9Zq) z4TjE^7kC5bdcWy8ANxIb-*>R^ux>kc&FT1i6h(Qz=Qa8R@4(%62-Y1^1BZ&7!0&qZ zu-@rdj^&t+>)@@r9yo2!ZT{PR!Op$yeXrrS{Kh-|hTGY}!R++6?+yd6OZgjz;5dGF z-^s>hAoT77ao0P2#T}#ZWaBarVmw(Wxqj2{cq9}>)2M3O3kdQdPUu^`R)5fS1Ha!3 zTc|6s%^P=d&izJe(-h2`${TO?2OoIuKy;ptQP-w61#FW%rW>u6*9iPO9t~j_-$=Vf z>fLqj2jQg13N0Ect8VlTy2-;6Ei*vPeygz;RQutomb98#rfJ)@Vc6?pF~ilYdH)Qq zP5|{8fG1dP4yu877_fYDV!+mJwdn?KGKAG^z}Ca+-f)-!gCoNEbi-v_@pw3kmsuQ_ z95%oVajRiD;TDr|YawnKGfN6wSRY<-wXAf96vS=|)U+sQ0i+d?dQgR<*iu9mfM&3U zo!yc8g%~$tQOF`5sc{j<=s7kJ^Q9VRhvQnt%uRs_%kYUGKDt8xj*sKAIJc!yMOeuFZ5Wq1Tc{r(u-G?GDH?WmX0R8<_N{2W-WyOl(2I5+;!m4zXt^P2eNq zBLtw{Ifq`v90gh%c*(o$KTk^V6J`|Nxa?R(p1B4tmz@o>O^i2|CU0aF{;jW?&UHRrN;gB=!`H#)W^gAc;i zWTJBBOkIyNEBLyM1$uYD{j)D{;mz9D?DEB#t#XrtND2HEwKQ^Qjsa*%~_8 znAFys9pOy)Qnc7Sd4?7i46#oZi4sdo@C~Li1EQzq2Oa9FoEfpE$B1j=-q%;CC0UGU zN}7}>BYIN5X^c2jT$6Z@dT$LyK)+jYc_!^)KQUnqT_L?IUu&_ zNtHP>`~aS_x|SLN)LX`auo w%HLZ~ziIg=zG(r-_yim|Smb@n3v3OMJ+Ygjgf1oc0n-c#@C|+zC>O^31=Kfg#sB~S diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-toolhelp-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-toolhelp-l1-1-0.a deleted file mode 100644 index b273fc924d0a30937182a3308590a9b8b097f1ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7626 zcmeHM-EP!I6h7-sC=K){5DA2+WTdo06}#A*jaejAMT%7QrYI6r^rF&all8I-PP|%g zAnH|ARa_v1cm}Reg?iB^;2HWrrRU6820u8KmDP!Oy8wGlM$}tf+qf5 zrPYR?MX9?=~cul*Ks`0vu*EY!mHksQ%Eg}l-G;k?YU29Cz9YB}M~7UOPc+%k5S za&Y>&ZjtAWov494ZxGKLn&*wcZMY4m*$V<__J@J5UijxN!2Mdk`%nv%+|(ltThEM5 zFjI$C5ysG8y$ECIZcbuIE9s*2EA=*ykLtBTjMN!1qh2GeO&1!23Sle=u&&Cx5ZedG zV0*{uD7U-0pxN%>PM|x*GWVg`-jdV6YKdlp^SY>5LOY$uc8xb%0~cG5`CRu2r~BFV zEDGvCHTi+M)X!(KSBC2Y>G=_kMe+vvlfmBZLzYOkr8G^8tiT?mcG(_CzogTonEr<6 zJY^vgthr7t*(ksRS#xE<-`J@p=2dB9k%Pr!Lpv&>+;CckjeQ~&bAVgCAbZm`Mtq9~avgtz!)_kMePz zo)-C<9~4H*aK&%leoc2TUL>-lcPgFXNaoRa%*Ic#$82Wi(tC=-M)am3>(em?O#R7- z0*d)kQ#1m;#StZm7Fr@#pRyOZPTF;z5zi2SMrV6j#2yv$11wpV_gq=<6gxU!E6V4p zu`r4*lKHD;ncqHPKJFfqJI>ACiTU#}7dTHR#>^`7&oRXf=6|Ck)L8HgYt4LKZTcvq zWR;w#V(zy~a-R;avQTElUjKI_!ckuT7bc73OqE{0Z;X4G*B|BMro8^I`M8+-wD-sL z`g0JUILQ&-W0uS=|IgC`uq2-UDhp(7!El^hKIpA5(X{nH=^ zfsZ`{O0SmLpOIC|eYYg{Pck6s#frH9UoxOt%>CH?&-B^1Oa`R6t{uJnZ$?&FtpzwG zEnvm`b(PNm&yWsBodJ4A?p);=VAmM;urt7ZK5ps^@LN7E&VVkXeH`};08sd^o|(3U bucWUqGof2bLX8D4u`XOW2ZiFtl~~8W;SS&2 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-toolhelp-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-toolhelp-l1-1-1.a deleted file mode 100644 index 561916f30fef8ce8e5320487bb62aaaece4413bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5128 zcmeHL&2G~`5T4j6lu}9yJ#aLrNC=T&r>z?#gep}+Js{Kz5(lKM+c?D3`BCiBic=1# z;)MDrJVM1I@IaKAU9WdjJ3k0vRMd&Q9?yRE?#_O*vzzn?NGSQzZlmDsx-f4|%J54|2ESUaK@7@1hy?S?Hs?6J^c^z#^g zs_g@7`Cj91w*}k2*ITW<_K#y=ENJ(bW)SMDAc`~fsZn8G2K{LGBLoswfyyF;rQshP z#no;)fum;5v2EAI*>smv>}Xr5#m}VHILn zMKY`sIu-m?8(|35W)S+x3qQ{R-j|x*fixs`-H+6)d7*8B={__@VKo1lqcEE9${a&p z8J5Jq+;1~jWtK)_xX*|gW{JF(6>5WoFb0HJ78TdT_SSE(y>8djbxN|`#hJjx2&Me5 z*zvXfgo-(6g2GCYSY9UVsDpRBx zfM#$F8{5;`1%(^RD3lSyd|Vo1G>%Qge9XtWvR@0RY$q6L!x5jIKcuJAQ)N?{sqZb& zOw6P91RHOlCfF>Pi;qd%WwK5-$AIoXo>3rSKKB&0U`mV17Sh5;KNK%~oHXmAN1}(g zA4H3Y7qPPdpmji4EYzeJaDu9~amwtZiis}DES&YV=~%zv==&(a`p-D%NvwaTv871X zH??-hvA&m&%dq}aJ}zbb9h%hyBjy3m5=>{2Jyv)qMn+#kr|B-S9j_fNwsWZUn zb3(xp;7l6<>I~R8xr%^f75$?KC~15U=ex@t0krQTQ4#Q171s5Cx x_LMPTXS2WnSG`GD;A-zf1jyg}NJjh*{1@j;o&OIw^F?967gWaozf%nFe*yFpJ`Df> diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-url-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-url-l1-1-0.a deleted file mode 100644 index 6c0b50e3838e5c82b00b2413fad6d7fe4aee2ed2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32362 zcmeHQUvC^&6+d1lO>2@iZPGMpOR^1#kgD3uI?k>wRp2G0#1IA3CJI8(@z@^6OV_*0 z?z%XkDyBe%phyKorM@5@c;b;y&?m$*AApb2a?U+-?>)0K>z$o?r;I!!-I>{Q&)k`N z@9+HXxqoK%rB}V~#`f1|zE%!zmFtyirRpqJ7RqHuMag}+T&XQB@)c_{0B{H3#CHH@ z9Dq~5<8XQ(fWn!#Ih?x-K;Z)FQFw8g!zDaYxEzG57Xc`I^-~Tn{}+J5?0+~o{{o^LVJ%xcN2iZZkNN}>i`sf{w4+2z2Um|dVaU( zuKIny>)vQ@`tHvfEw9sXQMk8Qb*l?*v$0Mgkhfd@M!W0pdL5V4c6xMyOCoo-+jN^1 zx8gdk=VB^5KDgVyw>iPvz`btsUd!)ocpd*fxNc*o#EUd_e30gy_N_**-|jvPB`%~Y74tikkdP{^P^3!#me<=B3G+|Xr4yme zKT-Z|zrX5r`{EKKv9aR9AXeQA&u_OkyndtI3SV!foQD1#PRB}7>$S$-ZbzgN{KlA@ zgLS9{CQc;Faq8)AbbYVyzt(NKhw=r+?dPJ=pag z_=a}kVxltrWN|T@4|h8KxwdIYhqa&;$EjAU<#Khg5;VDMGn?-}2DB|q0X(J7j>BBv z-|MUM;kz=duFY*yMi1VWVfB-_^(#Vg8Bfl}=;?TU#FlM#r#Fi&+bp$gv%B5qY_l?3nRVtio7mpYZ8e&Hp#14)01u|N zytlLeh;PE61rh)ck|I?~`PN}mbINw%|9;)M}Fault?cLT}EKx`c zl{95C16xp~%eFw}OJ!;|$us=S5$jOO8s~H*`vj0iUV?w4Wa2Jv2Bt-p)pH!@T8+(X zWc#sH6Ya+dRWkcnu`}u{YFWfIuVDNS0)*3{3{JxK1NmNXpt?oOZr`>GhVQA~s9jqZ z_XVpLYCjfHrx~wjEQ|87j5=?}>s9q*5yRXHbhHd}{K;om>DPxJTA4k&8t%&|ywUv_ zgHPZYW0>(u*9FKGZ8hC;I@+p$EI-wTK!A5uQgjErirWy|K4^)`eaK2wKB?CEiTDWt z=)%1BjNZuemh<-g8FW} zp5b~bhjF?7D?G+@pRA7f@&6z32vQmvQyUcsv$|$}%k!G~NwEZ7+?zo;HO@9^cpFb< zAtAa8Pll>$koyg~(|9tM8QprgG$#nBQqXv|2-kSF2#@t-^x&@^+fwGD3m`*IzgD0= z2F(#ppM?MZl0uQ}0P>#xz&M|m-_2JqHB+4-fU=*EfNVw`3ux@mrET<_+~gl?L_N4F*) ztZtw8V051$gAKM4^zqDiF`VCtcUld;7Ylq-MU3)ZMvX(J!S{YW~yIn^hzw#Vh~7YN_DV2am1<^|)#2GNm7UbP~7rk6=E z*h=s#Jd?RKd~WhTaY{Em()q+Qss-k$0*T4Q2#@i|(_sF2fdZn*eDFHu|MOyA^h5*9 zXF&57^9koui&03b>*1JBGYWYjz`R~-endtg5#=_=lJA8yvr)+Tgfp%M{tqAj=Lhhg zcivAp3NP><=6;R;O!+_Q-0Na=7OGfJbH(^PY5K9x5&naBiSq34kiSQpoqf8<0<|x} zFYst{Y8YR?Rh1prC!BGuE?q17v{+|{>EE9t1n8IJFzr0!o!>W-crRm)^j3mj;;G23 z0ldzBhCSMZbF2m8x%Lhd@y}WekYjUn5HFk>{l;sCh)+1HTB}6;ncrgdj~cgJV~8kj z%yL!DPsDx2m`mhckbb;gWL3?(@p{IeIfsZHcii$UA>O_lORu=9wYPcZ`sbJ!gm2>n z5;~ONkGPM?wc-51;>gYtDhX#`3rpY%WrHy5a6XqMoQYzh&Unegs(E_S=%{8YOAu{A z*b=hr<5rT+)h-p|`c(JBEFsOf{xixF^j9hJ?FA*A%Q9cwu#JGue}?Q|%-<4}2eBOS zgGQ~XPlNfV1?GwN^X&hOhj~f&`pYsIV!oKa{lYMRI>0=CFX*UXo^vaCK9FQKrddfi ze_Jhln>gDrUVa*$e@bBf=AZ)9;lR_N5>*#&;6V=N5=Re8fLt5l>`)bP%tJ-XK0pj&~By+ZHPr4n};MwLFh2 z#M?Q0^!Ulm&o%OstY9FZ59Hc%{$NCQ+@EkZw>BRg@A&{--%+dDHrYMSd{tXZ-1neW zZF}*03ygbSQ?raZ@5SqxQU2%gf^kPYPed(&|KB0!*6>15c(&KOsEbqO>|@+VtRcZa zTVyxi>m;1-E!qdJST>HsS>g6r3^wR4dF~6OY9FMB6lxzb^^}s%0vB&_DN`6`32ENq zI*yj0|Boln=%-SH`|A$(xaeqNEg5-G9g~FH;`~~;1e-FoW zA0L%nFF4_xZ?#r@Q;;h9Fqyvu<}U$rVgdGfxg^Lpv+uQ7FK5^{*Ua@3r+fWPK_}^) zZY4U(Q?R{d`!wU7Q-Gi4i2T!KzWcM(>d|JgKF)6eP9)eNb%Ru)h=Rm15<)^;Hg4k(x6Y%93*~}(LOu4t z59*mSzk{DZnc4N)>t@}gl@gvSd3Q7W#k-#UzMZk}uDipn&eP%}GhOUe+p!(1X0Mv2 z#fQ||G^-US`a`n_080S5?*N5w0E?EmuC4>nb-gOCTXg`smTPn|w!zrzkvAN%h8KE6 zw$X2S?1SHP2R=jNe$8P{l?DDLU6H-t^S1g!Z_gbtf^|pq2Sz5g7y1DUY-TfyxeRa9 z^?-Few>8Uo;6-l>m;LJFDD=9GzTd+K0ml69faykrO^1`V=lFd3`{_o6P5xKRo3=gk zyg{@e-feli+hMsMZ+6x$+m_`xxWP`X67O>B^CjG9fNBol2JbCEIrR2J-p{T~Xf(?$ zH*~Whe54MIhHacdH1VrN-{ljE{Q z7M8lB60)#FEG!WVOMzXoOIEoR1W<1Kffs>)oB+JbwcQm&a{-L=^^K!1@2v;1@bTXG%4yiBi1~o4i1() zrhrQWXN56hYQ1s>mbJP*@Nsn{ny6#}-WrUG7 zeB$Gi`}FJRD6u8If;R6E%%gb)8?Rtbuvsvd{vUBziP|)^F&_Do~4CAj~mm%dp$1J0>#_&YQczDA+uoO&Y!A*+qiZr zi3T1B1F!RNi0$Neh&l4UG9~Z-#{j;Ag8uPaNzD6;#DF~L-U$Ex7@&J<_09LxyZFq% z0K_rCo>B|{W5AhOxJV4hMOye*VnF&EkIH`OfjPziYdYRL&J*QJlE{7b@j#rE`!tlC zVV=3qTV>v}a-WtSHfgc5S_#+g{TM)73y)3;6{R-wyqBdMJh-fBP7lnCw8!@^P$*LdqNcl#IXl{ zP!F6q^%qfQcD?qdS*zucAR#8o?qv4aJ3ISkXY=%xKOaV~n=je2IERkwxVGo)GiHk+ zy=83Q@$v`yO#rwDQ2PSVhyb>K$Zzuspn1jlG3OuBaGvsBn1yqGJPksA8c+OL%+Yw} zx!gVANj#u$Zl6xV;dCA@{23?MIHdj2=m+bZ2i{JG==S?? zJk7%1G@jr>fb)1fGNv_7TgaFeF{VX~X(dhzKkXn%pgoF{FbDs-2KZPT`6tSd+w~aI zl-7-T38u%dUWL(OXH{XexHSZZBC;%bY(>nraLB4vVnn=%6;_R5yDBsX31R9GVY`VO zC6-5jz;e%)=M7{1ree8^yYQG?hsNJ#c}KW`%`SO^e(mK9p^oKvJn^+tkY+H+d082X6Q6dDD%&S*UMO)(6~seKX2un{MeFDy=Cc{+ zD!-nf@-D|H8?N~B`Z@i&xF~I{1TdVa2^f=O6 z5F=}ch#1XKSjtMFFd_;|`6AX!yDvSG9^yR?EizyBP$QvpKw64pPguTVYr6kb-;CCu nZ&YVQF4+Hb0k=o&rj|1s$prw@J@?>$p$k+Y zgg^qRdzSo2KY=yhz&B9to$=U{*iO;~MjgrH@ttGO%)RH#wS9ZVZ12=oGY_(ZMPJel z-Ox$}Bb(KDms)4D#X`}&p_~B#JQBYF(!T(vSHy8~6@ZS*C2`Dd0nBbOw$9j#j@9n4 zO{;6Q*?O~Lv30W znZ`_pPpVtMYL;2~$3wwOtNpBJwcouoou2gy7_;jwHe|%h4ZBgO&YU z<7uPXd~P3DkNWa)(fz@mQFl>aWxvtx=9^xqqhhRUnqgqvjnYFe#+6U!Fw6j@1i%&E znu2`S>UViNy2`?4IbSimW;BHNtik4Se!J5d1A{}t+4R7LqQp*PBaQP?%Nl4BwU^Pdx!FkQQETKq;v0dWT zvx4)~qxQ=-;beRGJcEW5P)++liu>mhZ%xAW8sDA~j)n6Es@+cosijNDTMDfMWPsDe_`QVutwch!&xk>)4_~JAts= z{8S8|L{z#%SvoC3BK=ESLhZDrh13UI=40R`-Z z<2(gWu05>+lEer9h5Aghf7a!?&;AA1LZ>8r!Fph|9`}6*#LRqsLgp_9_x`WQhH=cV zD2$1d`3+^FW zav_Nk{c-#n@H2xpp*{-Bfz0q3IWtZlWrbI9>f^04?kIh9!*Kz9ybs5D`k2Rj6*0XSH13;+NC diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-version-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-version-l1-1-1.a deleted file mode 100644 index dade58d6cdc1530f02c6685ef0727a9a54a44c63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3596 zcmdT{&2G~`5T3*-g{TM)6{-*iBg%~gJ4xMu5UNy(pIapa95-(55V!eL>_XK;RdGNZ zIP}JmSLq}02s}ccfHE`dbvCt4!vP~E%I;?N^X_`~`*t>WpSY8q-qY$sbJpxN+p!(1 zZ8uHR;x4^3&1SO^KhUWHz!iYf2|(otVDX3iR?h&cXF_ZW@jCP;q1f^xeYCrP!!L}^NaZJ-` zKT7t&`-Izo)-D0u;MM}vBmW@cc79>PR;TW{k(&?Uo(?(|*sLWa%Uyj=Xb{VBy49AR^ zVU+I84if*OImif8hCM6`Qf-yl-kYE8Z3`*S)~PDCJGc`!Y57q3*KBX_GO$>t)!@2T zVwTWOXR%%3^;*Lv>e2gEn{cXqv0g%l0aVgCU~qh{b88;1_xMOfI2!W?x>0X`NW?&6 zw#`JEUa|l^aCD^}D83Zasp;p9Tyshx3|3sHnluU!a4Cy2e8)y1$)q5OvBE+N&1RWh zmQU6jnD7&YEpk{s;|5cb&r%qjIuEeF6EmGE6RbJ&37-Gjc}O#4+3_?_BugKxr#w-W(+VXkN+5 zYuJ*Umi(o0VkT=joTfI?nFjPY(kO_LS%f1-GbEmA&QKVR!i;M8eQEdQisTCMj)xwp zniXu3(PGPIuUMvUK>4>H>?z_3Co>M~!J1DG&9#&szF-(G(}NdtgsLL-Fx2M# zogNOdaVb4~%*G{pxQ*}kr+Ua@hP?g$-d%6h6BPiikfb7sMD-6O3HAYYR)kgb)l7^$w#FVoYWW?YfoyA=?F!5JQY1 zUTA_(;H9s@WB3eSdo7+b(`je7?e20@!X%xUp849DIrDvUroB6FH8&~?!woDT&vRk*8-KvTRO;4Q` zwIPhA^SoYeyma@RC%f`>$?egWZckC0UGv;lp%E;3(pnq3Zknd1nU7|JwYCp0;Bo`Z zX8^A8+8`8K&Tfm>lQRugN(I|$S;-LIvIr~3g>}#C0fPg=x%9$`qQnkiWdO&erbW;t zZbsS(Hb;8MdXE}m~98gaCL5}<93a|CU_X^*t5sry-2gCEP~*ACvhW)#sRgMNrAA8gbWGDiZoT5mtTC-9 z?IL&27hGsMSi~ufcAy8?{?=za6&mP$#utnS%HBvl#HE8UZUpgw*0G44m6d)W#I?nj zImB$m;{v78JQfkN7mqXLxNczOnU9e+obmC=J-RzO3THHy&@e3a0v0fj$#a!2vp;mkQPt_N1wTb*0~KDyYWeA}ZL4 z#|0{&xO-X^WQh~uA^Th_VASV(sDKIILPZw7W8OB~fd8Qb&VciS;zm2PVTJ~ok`fVt`D$jE)xI=`;6e?js7NErL#U6yMc9&spRxMr_17r9*zq5A6@IY* diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-versionansi-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-versionansi-l1-1-1.a deleted file mode 100644 index 95111af22f42611c4260e4f36972eeec868501e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3628 zcmdT{O>fgc5S_#+g|r9`6{-*iBZ1&Rg59QWiYnBq5+Aop2(B9!JH#}JOYB0$0aY9j z2ZVY=;>aKA&)}zUqRh;C<4tY1;bO!_*&WY5@2+Rx+p%x1yQ7!AhxPmBWU*Il$9Al? zZJVaWU3zVr%Po0rnw>fTTmYzi1E_rknEfUHbBh3Ti$ZJ(@jUWJk=XWQeEN*+KMMN(3%Qi1!*2L2c<*n55W!$i6!m8P#dmCi_h#4IiJPI?m!kc!Ez5Bn z({$EWlMU?Dy-&CuSk@~5SJ;|?X6zrtY!_E1YQ;O>LZ-pI~|%t3?oT4E_tYOJ)#!eX=B z&dV>W%WIm_W;r}xaHA>t=P8X&pnKTwC5)%W1Z&Ftg84u@8)=5Ta+v0gaXz4ZY~f@> zZC*%m6Zxf$n1g)WSZVYe8;JRsk8{+zuA}iJ!6+X-@$t!Rx;i>aeW_I`e3Ot|q`4(O zFQFy*ExAl%B&^o*I!$k6GY{yo(Q~#?r@S})Js*UkW0{W})9qX(%&iYa) HPZNItZ0&b= diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-windowsceip-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-windowsceip-l1-1-0.a deleted file mode 100644 index 21e50b203cfa837a14a46c6678ac7a5c10ded68b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2734 zcmcgu&2G~`5T3*>g{TOGdf;dz{tnpKRq6z(LXpCOULY4FZW|}w5Ub9QVwd)q6Ic2q zJVPIYr=iTudXshQ&|L6J*&WY*_UwN9%}$;jhl}C(edDcNZ2plS_<`5f!v}!9U-T2AE5w&nE>h8xnOunOERy0po`&;Sp!1>~h@dHwctF40 zKby+oY$4CWxggjir56Ob$cSd==}^XVk@&(Fo(KhgZ6ZO8Wf)Zu4!RipB>gzqg6n#-Tm4nQkX*M^p=zCs31P1R~D;A?4_mD_{;~KytwsyhINVaR4csb=%z14SPTM!feRNnr zJ>3Tu^Yf6cZS+3o%Msz&SUWJv#%I%0gwcla%9DnMV8QAm)2HF3{_u8|Pz= z(LUVq)%6Q{y1ZQbOsiP)Nq-biY4QPDO4CZe^j@xHqn1-h>vpvPlRvI4kn5kBq6qkw zsx9lfp*_6&Le}s;>D1MV)C%#R8hTXLJVA>Z-3H3@lAl#qho5K^cU$(ar?O0I`~`R= B)!zUB diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-0.a deleted file mode 100644 index 36a62c64e61803e8c951a6d9412d8a862c52515d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12474 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-windowserrorreporting-l1-1-2.a deleted file mode 100644 index 1c8f1bdd5c2e706c7adabf8742e74efae5b76752..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3738 zcmeHK&2G~`5T3*-l(vW-dO!#vBf*UXJ5AkyP*o@g4jd|^isRO;w~bXNwroc&w~7NN z4t)_0+&K2Yy&w zFVJ|@b%fIqfxkn)%pMNpZWzm<8wrB-6Y3zyM2Z(4;&^cw$1)1z)F14Nz!tV>3s>N{ zeF>r`UGGLGhL1Ad8pLwnPjHj3qv(CO>jrO!{Ro8c`;n+_$CeKl_A71mhJKK?!qKr+ zotJG{j)P~oYQGqrm-hva3*}u6;2vu;&`RY|%6fHS!sd3%b5pk(!Y%8tdD_}Zl1pH4 zOgNtgeA3CWv#2z1UAnA;mE%@&JK+|pajQ9w23{(`II3{VZna+{?I-BI17~v=! zMX;ClhJyoT;n*v9nl^a@>|pOIc94I`r(@A?BemuUzA!kCe5#4D0Eb+vq7J`MnL-kp z3jK(EiG^Y-3SOFtR+csP-Da14#lxp(L>c?&etL%OUd95dOt7w)i7<0$Hz&opv?hQ95`^{h`6!h%m?68@DW(voAEdk+mpBpI0|H>`QtagcxIm8Z{8a_ zPi@%2LHnhp7t6!RST#(;)aypAT-I5aT$aoAI(D$Mw*&xJ0ZKmuEdB_vgl)=~Or9^l z3_$teH+Ww504P8D6VKOv1)zNWH=dvV1Ay|gcn`|Y>y#~P%d+0-J3-&taY84sw*01J zedv02&$Uo^Qa3HLW_8?s%8}gnoC7~_j_saBux_7zV3CL#L1;Na;0IR6unbGLYzyz! zb--#ncC&!t;4LR?IQ=ki4??H;3Qgs8ujPYfx!sHV)tq|JwFIt?{K?gANFIsqPyYa*k+U2^1aYG3FDEJfQG+i_rl|VuOa!f ztUjDXh7O~V6rIf@&)yHKzTmBjuZFIhrdckV>uWJzn|BwHvH%-%01vU&0#w=J*oCqv z!_Ho{X@|BF!8b| zG;}F3KEY%?YATGR!;%Uk>2IE4NHfDJ(lOKB0(O<=lo+NrvX0W+bHg`@u4oKOgwepq zvcR2riCKL+ztuDM6?rLP^(H=z%d`ZTpS0EAX4Amp3e5)Rbv3dSdfHi5FYt0L;bIoa z{i01c(N5MEQBVRZX+J12{aj+LJoesZZWG~{nC(C-Y#)0^T*54FNYk{)0yx36%Q->% zC7lkEyzlTir&z+k!rrMSo&t1P$qNmB$3|fRLxEIdOzZ2qZs?3|LL4P3ajWj}5x-;+_u|J^aSi`|QXlXXxtmbRZkFmQ)cULdX_rY;KR#5kozHGhrXVV9mcv8eQ|bth6)+Sj`t#qp{huBw4`xIv7?ubOR?jl zY+TF^+MmzLjtdywC(lCD%!*}h{t_#yk%TG@zQ!`WVsXAoYGM*xsORKD+EdK9aN}=r z;e5(6rrSe25?TJhL)?laRB7-PmPszeC-Y${6c?RIUSTaC6KY1vE6if10TZs_Q$DL# zIEQwjcwxn2jcJXUo*=`=G+@LA7qC);@3B^{TsR4ZVkY4$%zO-4OUF&$U@S2%Zj$4Y zBI71SoRd0LkiVnEtN86!DsK8R8yEYEn|P12GGr0$B+r}MX^y2{VA_@0@@^!dN`qgp z%%=rGoje+w1dmqp@o0AbV9!6nx0pu{a{gFA3mX31ushWrW|?V7=1kW4Be`P1kCeQq zk7!cVRm;hR+4+MW^*_ml`4kua59g0zn~%>QN$~`ju#%4nv-8JDukaw}j}kIL@lkoI zy+gk9hhpWzNvOIfz>wQH8InGKoZ`kg?)=e~;`SoXAAvOPsQ0!XXX8@mkGt8pIBt3p z`E%CuhlUJM{&@oLH_hjc>uf)fW2ntYLX`$TU^!y-f+tG#OyY!L^!fafMDW7EHVy569+0M+AIkc6m{|iksL+CpwrNMiwSVbt+;9D%S vS1rhqrIAVSV)k8}o+CGV^&6~zNfL>eHd2+On*x9!HB*sIvP)_Maz zaELfmRaK-M_y;&3BqUCVdyo7H{3RSI@6GJ&j=diL;INiO#@dbGzAgHxZiz6$K-$;Ws-^zCLm z>9D&7)$l%L!54PW>^N?_!3KfvG=tDrBeR$RYk2!zX8WT)R!oNj-cRXGNU2yfP2`RFQ8nU7>&XVv1YkFVY~ZzZC$OgwhrIOv?ZC&I!bZp72H$P_riy(>6D{w1HrN!@qE zoD(eJU>WaJ5>EkoJQtY(e_&PC3t zsqv8O5NC&Z!4A4>BCw-VS}N?=h+<^y(F5o6e__Yi%BMb&ErA`CIoVO!QJzhNcAR5K z&C-sJ2s<8qX=;bBj5|#`zMG6ou;a;OT%;X2jOazRV;$Ksgpv=rZ{K`Y$?ylmU1bQ63DC17kle5XVgq}Q`jEfj@3-9`( z49UiEqIqY!+NZ8JfBckkcV6C963TMHn^;*W zMi%9bfl)K#PlAQA<#q(wxjGCYeLK^(@8tTG^@7 zRGcGa+-ZuVDx!i*D2_(KBE_Ni?Ta!egK?w$RkqSBd4tG+DQ1b(8?qYk1Lh;Em5fjv zu!QI@&KdpX^fbOjU9QN zG*k#h2o(ezBH+e>69>eBf1xK%{3-kml=o(A&uqr_dXZ|hQbzI2?DJ>O%=7on8;^7K zrW5uCx0c@3$CKGIEz>eOrlITjhe^(Lz1?1oFW6cFfJ*?i4S>Zaz=a?9vHT|h9nZ$c z#lHdQxO{~lFRug8ape|2-uM`Rj%y(uwtdI8?~UAWWZ!ioH?;2reb;{A`Ody)qw%O? z*;dmYdfRlw_P}?0LFgVh`!>P$Ms$HqCaQ#yJv438Hf+bn`|P=34_v4JR2zbBaL*6j z``!r0upWfB_nk1>bN%SU!9mmy9{6C}-rl}F5k>&d_ae_3dJnPZ=~a@k8+6^nVAs9f zi@ZZ8@&bR|=|w^4xuf)gd<0!xqMwBzagX9Y@OH8=-C$E4rDW;`@4Hdz#mzpt(%bRe zFdbmdX@1=)$9y(+m2$Eh#65I3{ZZujJ>hrdM8D_zQ6orYl&2rlFf7Z`b*s}(_0xZ} zh!O(m%%NIXZ2=mQdla#Hex}3Stw!I8oO}p7vj%q`H?~Kk2{1S&oJTiYK^^mS9*cSG zmz>tXNN}yhPPpZKTsy(7VC7N0-mbPjq{R#2D9K ziaA2hIg9HFUM?kEsvY@!QYTzeKV2@Pp$3%GEKpFnz#68p1I#*1%3QIPiD5 zg>h}n(=^Bm)WE#U)j<9wpNb^UHoVV@J{UM*I+dhQ)H=&~romrWsUVnFA}>Bss@i@)JH>T9#$0i{_hm@cb}lITbn>B_j#W{L)NFEo7x*5h2oPAhCHz50zMHh&5z`RE-;8i@jh{%yxm`BFc!^Tcb;636! z1fbTrdf3qM7tIRX@&VS8q`@Cpowy_wYtZ5a?$cjnvxvkr(=MqQLtcGx&3uLKnWULd zVjfXZrDk@dc8fH#pN&&A^DrBiYUU!2Z(7ZqV~mkrNAMoRty$H`3)pu`LL+Z;1Isn| z4$CrcWfjCF!GEhH|C=o(W}F}=Ch>nD@uo`thf=#m{Qo=~r||z#HZJA=>-cP^<^LkG zA^+`qwzZ%$&dXYOFSbyj!LOJXjXnt#`TnU?C9RSwX{jnXTUo87D!GPFeOi?)FrF0b zGci8RZq#@a`%g(kjSX&Kxdy*uDR#*UcLWP}+A7scv!q^{>YK<}R1td7@!3zSmwAaT zS^K54yuzaSgObq7IybOfgWs?eTFDx{h%5O!%9SeRdO4+7H&mq@*|W?`x3nGOZ=;n_rBDw#Aju%>L?qh@czqeT*`a=G&(i!HDp50N3WUI zz-uwxg$8aW0>Dy(Uog)dd7_6L$5g5fv#d5u<(>RY8)EhJ3O?^?W5Qg_5arV@W6Bj;C*KKZQ@17eOVJmY@tGfA2H7ubrLBQcT}N;e*sQMd&&R+ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-registration-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-registration-l1-1-0.a deleted file mode 100644 index a8e03e711e0fc89f69a118ddf9087a8150a35141..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3778 zcmdT{&2H2%5T5-hl(q;CJ#Y-Da3UdTx9K7wR8$0r1FDKRyJ_Qgqh^1aq)QJR_S6HX z9(Wdxs87Iwhu|?NGq$twc9Y$$gi>K??aBDFJs!{J@jiUvMf@EPnEr7~Tfch_h`S~qlZ zdI3Y_Y13tHgN4B!{gl4j;rrc)pLjh+uy#xX7^z5z5*G2pAWkAL3A!B?I?Q1<^B7Lr z=D=Fq^UGTmcDiqQ@{vb<9=+O6g1(n{dm-Nny*TDEFc!3XY%)glULCumZBd_PBF;ZP zZYNfEc$h_}=-9UFx`wggtPW4nKf^=B^11?WPe^lMCHyoIa&cwA_O9jQu8Sd}XA`zB zti3p%0)qkJ0-A88kz(gjsH0ta*#tYqt*3gzEfwQ7Qk;##at6o_VhanEK4uX)Y!GA6R4l4)VQL0dS-KS(i?TQ@))BRa3!f3v%6=5_# z)&+((%()GF5KBiugLXYo@j_>w$AJ{Dw;FE9DZM|H375)O+a*-gfNHuOYQjHvg)~dl zx5V9ya4aH%;2>$8bdID(#NCLeX_F-|LwHv*gZxWA&5C{tNt?&GBEV_XQ%h_GNJK5G zD*Q&F?5uP%yo+rtjwIjI+~exG=eBUxIUYMbC-Qhlx6)JWZ>jjF#sGW9+=ID7yDw>l zyfVmg$}m^ZsWx!2NLv>&+(_rP_LARjlzny>k|A!}A}f7fM=ikpcq>;IWKPb5V&=6p~Z QYO3%9>wotjq-+NL1!F0>jQ{`u diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-robuffer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-robuffer-l1-1-0.a deleted file mode 100644 index bc51a0a9fee61aacf3ad2cafb3b9c4c71f968235..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2790 zcmcgu!EVz)5S_#=g{TM)J(Qb~;DTynht$mhp@<&ff)pWfW#iNvZ0f|pc0^C8C&aOz zz^C*J_yj(MGPCP-)~(%^170b+li6p_?%Ovze*Dr;kHS~I=VrCJ`>yAD&d~Kt(-Bj8 zZ<_rfPKY+?0l)@8XNto|fURHjW9*Qz4;fE0Hs(1`*Hs_t)+X3FKgosN z+?g<**nyw>%@8p&g7LXM&9WO{a7ws{Uif67uy@hez;)?u1dhV(D?j13n{fvUw}-|~ z4NlFg5tU)hGYbV_kuu0gb4w}1ie1aK96N|(e88SXF)tqca{=(FGxLv?qwwo|Qh4Li z8VIIy*=@pTJQ__HjYCWsj798JTfwv7Zxg4k!3ge1Ax7s}^(DnWib0JqT}ZKSH!n&1 z;Xi19*q67AX-;}d`yQUhL)rvhGWuBwS55aHwcl6ac4#%YuH8Z_bl!E^S9pEYaAhv( z^U5ZivM-O@=rDkKx)lt;&wXLtM)9GzGZBtWs0U_wxLO=bkI-C&Y1(89Ss~b!SwZ{~ zr|YKQK61@h@lkSrjlNl zZ**Jj;ryh~Jq;!}x2!c-8?-x;BGk3hbqy(N1D)mogMHTG!WvhpHABSY^|&(MXdhHl zzt!VBwXR(>-WC|;!yTVrJf(kUXKSBs)qVyDHBwxu(0gb}g-bQl^M$Up`c9#ZtJMc| z9!0HzA{zu_6ak--wPsyMlt-{o$sw^{I(@k!xkCJ+Lyyd%M`%%_yFq$NDuw4K_O-jd K=DVoPEc^>?OziUj diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-roparameterizediid-l1-1-0.a deleted file mode 100644 index 4de28a730a88e2eb7533c016a70e0eee8aa4350b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4778 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-string-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-winrt-string-l1-1-1.a deleted file mode 100644 index 3b559d7b1159ce994b1314d35aa6d136b9f4d0e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2778 zcmcgu!EVz)5S_#=g{TM)Jye{G1QG{q?2x)fs!*g};1&r1$Bi31jcH;>_Ezbs>Ire| zC-5m1pTWmaW_G>Krm@>{z#C@W=@wuqBp9y4^F`5yCnY#JZY zxA3P)G)lARG?+7j&2oBxk&BFsvz%vfa?GYKqffx_?`9FONfd-l#DlMK5~hp%W0KFK z5&tAs(*?%j*_>6+g(+WfJ1yz0&+|;vd*_$DhTk6`wEzb#fG5J*1e-@^T-f!U z34@^>20W;Th?zbNuI!^czXJvrgp279U-T6AAsQRFF1_`^QMf(jC){>DZeQVEp|Mke zQ}b#>U0Ac+LOEEZ3o?qZHcp6V>3wXKcCna1J-G5YlSB2Z5)!@2z3#HI$SE*j%^-;r>S)|V^n{dj$ zIc}rF0P5*JFa$r3g>@gjPsDABaBM<5Fy@ofzU&C_6lbI%Hc6+yclDMD4dSXPd*BG5_pFxWROE-Y~?6~;#luf~*c7Zg=OT#&X-<1|+DlI=DXLZ}DS z16+FGPayt8Pn`G#{20p2tQ~I>J4uCV)Rnxup8dSDp8dWZd+CMc?lfP{Kh=hdQ8rA& z)GNj_P1AWutu?Kro52Iy^8j!SAoCj_{}a2*^1AT`fUaAg=n`UGh_{~YdZKFkwky`V zbzAhEj@5Gn8V@U`FiWE4)aVNA-HyG}b?tqtCkWQ|=m9|{(eL&NZU{r@!V)-7+Xm6J zt@?#Jf_LP1%RaDOpSv60mR)yTd&hUW9T384_rzojkG^s|tJbn7Pmv6I?eUXUx4UC| zUf_1bSl_L+{bF~pu}M2>=(=g*W}21N!H(9Cui&NvR5Ad!xi<$z-#+xYpIm8B-7eNG z-%5t?$Qo2ni#1&NlyXEkhbCMug;1m#7LswRAr9#Zi!r!xJZzDH zg|=5f1{R2cg+4K%&@u`}K`+)@Ey5KWPRkA+_;UuZn`u~kp&_uVaU{375#Iz;W0+0C zDDlfBVU*bA8ADMSES##g}3l74@`{YaY`FgF~iM zOA1A;b1kbZ{K8HO=_nO>k-9t`%ZilPv`n&EdakJJDu?6*HF_%R+gP#3+&8e)#)ab~zK4Lh3w zCbZ!jpPoIUyOWd17WJ}IzC4J7}SalrQnPfl`PW=T%BZawYlW8RsOH zT~@U`#I;k2)UqiJTxa12wyc)q2q?cP6F?XLGZpDYpHVNm`i~+r%V*@!G`+l6c$TJK z8j9aZdg;aE#`N+b9yid-UEKTg>IGor#}Vha%=);;I#BiTIIvKYg|AqTys^~7s4)fp F{{`5!`$zx) diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-1.a deleted file mode 100644 index 4a1bb3c2024ba3ec6b218a1e23d7dfd38aafd329..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7058 zcmeHM-EPxJ6h3jj_q8&;q>dR zoAX!A(NbC|*(KYmS{2i@#E@Q_rftc6)7+c~fS&-2HvqFQ0Omf)ZQ%j{Z9iX<+xhDN zwEgmz+?ITRC7-cdj6L#r-(&0C=Y4jo*Whg6cAXuUp>eNjGrPjt?iOvz-s|#uug`a# z9Y(N@M+Y!6u|aP@@Dih+!|*&E4y?tU#-Tcb4f6Yt`+v6j=<7CbI=gNE&Mx=-`%b;( zc5xES?d-5*+&xcV*89CW_q?(?Zrpl@`w#a$pLYcKw%g}*zt`X2Q1IB{n1R~#<7yCd zTsgrZj>jFD;IdqU#^4{m2vMk%Sk(1R`MdHo*#`7PLmH^cpvQPA8q3H8H zB;C|v!un>h;rPx}6u=s+e<*HwUIGjb24NGpW_akkJd74TPVwA+L$Hr+N?2Ymhl@Hp3WwgZE*>v1Hv z`7z%F(_?7FVYK+=<1kw6W(02`aIwy0 zg_;*!Z>8sY)hbVL-NyTHjwTN?N6q!JmwoeUCZCh`*M@+>SXLSjjoWYsQd>N+Dr@;}~Oden(h z7p*tH<9J)KoEj6Xl$iuqer+Wr4^ibH%n-wspYB}+o&Br%g%CHANhlK@MB|3)qU%^g z%*$w;9n5PPJ9iZ(u;CSd`0^|5y?!0q!rp9(XC&ew%|UYWEcPU~C6DP`iqTpor)lIT z^9|@R71;%p4n*|G10E%_OPDzVi-^dGdc?I86XcBK3<1cyRL^hNqe82Kv^)^|vNGU3 zc9Ng|(mo|-piG&Qgla13RAc=yp_*qHpd{7&t(Zhjma1uLey6EsCmJ`QnkUh?p=!?K z^?j>qW?=luU$X1Cs)X_tl~5&Dq(RgM{DJQ)IGtq_-$B^2I)keZ+B^=IF8>N)m(7#;C_l?uMvHV?mBNwL) z{3dyv-!t%Yx+r1ZxT!4E81N43n7onVYi+jbuuj#1ck3uJM?6PrCsrK^sRRF!$U+@o E0foo8;s5{u diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-wow64-l1-1-2.a deleted file mode 100644 index a1cd338a9fb64311cf736f94bef892a66a1fa678..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2770 zcmcgu&2HL25FQ|DT9m3i$#re*Br~jA2zeM zteRiXZfKVQ;0U15#^DRV$shU)aVf<2L{1aYlBt}E%W){hJRSv;SfKOD_k>p$gSbQg z%s(EcS>n*sKeC;M%TTtA>LC;i|oOAhR3(-2wb8^n$*2WPX!J3R}7t zn_wn~#cddaztT30!5tGeA-NSu&NsGrL#oQxy<#dmz^_mWMMytVfy~;E~`<$nBjWiEwPJ8tA3bY}8jC*4i4=^pXe224+`f1My3ou9|t; zs5Nio2ZOcJX`~FrT<2bOMfi)x0gA*y(u=bzaj0>MJyb~=b+eM3FeMAzTq@Uj*+pm4 z8=Q|amD6B>vu7p2lixTADMDVmUR8+Y$xnM%$6!+8DX|vXV$tPD9 z$Z~+0qX>AHsw}Ijp*_sTTITS3lM2*|)C%#d4LvGzDrixo6G3@C@U`lS@EeVtZ@{2%)w-`@ZL diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-xstate-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-core-xstate-l2-1-0.a deleted file mode 100644 index f52fb737a000f70ac1d4ee855fbee256db2c8cc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6898 zcmeHL&x_ke6n>U>^Q-A5g{29h1vjL(*pVHt)`1WfmbMABun-D41ZL%x94o7}jiqh2 zIfNyYrH33s4n6eLWB-Ppa_lL8L;jG^D z?hJ38xz@;*_FCI%J9f`rZ!~P)rPqzd+I2@huzdyqRsgK~0L!-lPW>&e&;9|RYvo^Y zeenu_uGQD#y6^_z!W+gm8T&c%rxDxoV}Hsv$DYp~1tWJ7Ff<U_g1dfv?=B7gz3;~RQ$PC2 zjdp>tU~j_AeLs$O5T1ER;!QnwMnN37Ver`B9FJoEAePv?{f8MdG54YMyOG-ueJ?Yc zNDfihy*Zxznw^bq@g9YPe%u->ZWVE=ZQG86baHyVgj3$p38WQ3uLf|Ax0a#BSIvJE zRt?zNZh3C(79vE)25h}-^`mGG3=Rnw&>vpuD(oq2EaANLvH`ZjttmU<&KBd=748Z) zRt-4SukOh8=3dl9t~ZJ6O~LhM*lD(#cFPMx1hxi2=*tKGdkgTOHgI>9LE3dc(y;aS z#wM8VL#qg*`LAAt(R{bWG31qOk^bd=TgI+>tq{X~M$D+!E@%Hl{-QCc5XORsSXXnx zaIO!_bG>JGb6j_DAI{U{Vd-OYy~C%0)hf*f=XFtXg!b9Qb%odO8ZOa}-mlt(Q|uwpvhNudBkUW>{C47HWSy$bae*;v-N$mYe8^-h|fctQ+~(orDVmVFFJ9q zV*j?}Io%pymy9KN_G@P$jbJK=X^cqDe%ie*4)#zR7gAg%mQXB=&A3Egw2lqLJTc=O zHLr`!sZnGZHfdpwWe9E@6ubodv>@xQJW+#M+#_&C2Ym z$TxY!;fm;%R76LMIG+?DS(I$|m$=i%Rm2jQGIhbEMO6fy3{+A@B*_3;E%*a#)2f9Y zj6D^+eWhx+UQP{dJ^vDF_zjPRdGX=CJTvK5WqcTDJNVO_ZLL>OkrRQm>Dm(qrFL;pT2a;8J% z%RFt|(>PV7Hu~DQv$PSKaXD@LV#X!fSi${1t~LPlFXoH=<{-XZ>Uy}09#O@DBW&uc M6%xo;Du@X00I-IUBme*a diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-devices-config-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-devices-config-l1-1-1.a deleted file mode 100644 index 129a71daf60b2d87368668fc0463f297d92456cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35558 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ÐqQ}UsA z*B&227c%F=LOMPygijt{p%NwehdsrvX6YYpD)Ywqhfkt$AwJxR#(DmMe%0yMKa3L} z)OUy8D^}$d;(+txBCem3A62c(4pAEL6V@rD;PE9%T-nE0b~^sdhvTc^Y2@KfBPU`t zXJw${tdyq_Egdx91OzM$VlwwO^Xb?!w=_Jvqh*v%$BWWDZ-XCU_3drOdf5{A4rQ=U zC3%zwCEv@uEIUMLz&BX;c$vWNBi&07kvUW5(lKQ={08!KRGXx@tfIs-S;l2eW!|{B z>@XS^ipxHZ#(7M68lQZ>aoK3JuB?zU4f5IjJZ%7z&yq#iAxZ>zuKl;5d1ClH+k zdLt_>F7x;*0Kd&g$<$)%Hk^IL9FfFso7~WH@Z97 zRe~%*q7Q;A_$K)3lm8(r>Tp^=1$q zc5khHP#aHP%kw?o-E#d}%@ti{UaR@;Mmk`B4FFyNaQ*;T{SDya6M4Px4**>+Uy#@3 z>i~4U_L;oa9{|wx#zVRo+hOd>m`5?&v$-@4K zWxw~1Z;MIpM#B-0l5h8TqA_-lLVq$q$8>^2j_|!CNV5CNF?PQ-@^gL^#(0+rYkH*a zw?-CERSz~HYWz;b?TMz18q*ublWW-#ZSA9Wm^6l(oJFkkT-W!Jss4wXnw9NGNIXn8 zE66`lTZKl#PZCit&T6o`-)IL(Pz(`0+pzn%aS+EdU~o#fkZ$;PQ(-S+Wd-MDrfqN) zuBF-ucc~b+sc_e@awP|+`c;W4srTbLs-!Np5!aPU>OHUS)!jzB*8^yD!X8ftJ$VXn zROtkFRYTft`jSjnC+ri<^rKURF??7p!WjNr5g78!cuIXNe7A~S)k+~o_>I_6t-LpW zlk^waphOr4hM1T5ep(~ecNbv&me;gc@8i?Jmolc6^Je{qmjIIT2V$2MZ3e4MZ5McVo}#i%x1@#ClO(66(ztSzfuF!o8rJ+dYF_&nAmpCxx` zOv+*-j+42n9cjSyoro)ta$k6fEZ`^^SF)I)TExo76eHG1Ph8GO&JcjCOU1l|HA?g* zkS%YC-!gOHN33K!z{wq9Y3dTuMR2|~ALlnW%srLl{7<;-S)AWbc|b*(od3qKJB{;6 zKF;F&_xU)@`PXrMi*kMynPBhpC2y9M|Lc(KfhLrX~i4-D#RQ$;Vlmc$kmVnt1a+XktaPLmw#hId_@kf{FrJT)34g zg$f7$#9ZmZUir8>a{9~qn32Ve8_zUCPfkiepV>>%NY!SF{$lgL(}-Sqfkv|a@-?zC zr$$ zRr8E-J8hxDfxj@fVu`u>0;!Ba%2$gwr&>H)EkDemmahz!m8q7FVRzcDYm|?(BFcC9 zIIWh;`1BW5OGWb~{U|SZw7jSAS8@K7vfb7-*&uQUe#KHLWZHid=WzCL=Tw1fpT|#; z8M9)>9fLh(s^Gw|J52?>e4M3%`}sJn0{ZH`s0s{Di2t3Ic`rq80ZN$y-jxj^ciPsH3Pmas95_^}IB(o|Lrk0>#V+j$^;B`} zotNoj@EAM+WoFjvtQ(t_i#fnV*`3UO_Uz7nv$J`;=gs@W*Y%fHR-7HjbzHmCYFn1g zLuPAP+uN<=fnFT|?f_IS0BYv|Yd_R?y#}ye6JlS850RWl;y}i7F7~Is6eq#Nn*{=m zryWjPLw7>N6^O;__nbGF_fNPf;%`o zdBamVl=1suAmf0Xi(otxc_Z5Pwh(QO_@h}EH>c@#6zzj!+pg`6rke$CV25QkF1S^PPIiQ-CqIs#$^WsFYSvN=!A%w8%zrRJz?%Uv^t&eOcr1 ze8r8XqMw&(bV|Lz@m|7s>MXEtSzoXo7-u7S$dj{0-AL;J?PD9AeKP#Q0+*>T9mK@> zxHQvf9bLqH$;Y{RUXM_DmteFFSA2Q(lzv^{ooHDqxi<*KL-MP*c@H(kZN+1HPr_)U zrjzUHa@7Gdj$C6P$pelUdBCSsjak$WZQ&?nvWM48yRT-XW{7t_w5aUaLXCt@1!YMO zLAHFuR^NnfcW){!`?&gWPT2o*0=J2G)ySPva$>;_^EUkNONLhbz>c0RI CR&G-O diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-0.a deleted file mode 100644 index 6b36a729f15b0ca2dfc788369054de054a7ede46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86760 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 vaF~+aA;a32uI~+7AwwXeh%Y_So~oX diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-1.a deleted file mode 100644 index 0eb01e37270bf7252c25cd043e812c11f54008f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41878 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 RB=rxfzn(`WL1Nb#`7iQy8883< diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-2.a deleted file mode 100644 index 8658e4216c8a506aab6ee3e845c50588459bd340..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20026 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-3.a deleted file mode 100644 index 245d2d85cde25901fb4c3a0ead109b6fc98a8617..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14348 zcmeHO%WoS+7@yclA888+6{+G;wh&O&*2bGSj*%)9l29r^RMYeUr|rf&iI=Q*&3c_C z2%!q0szL}=2q6xL140})aN^Vh>X`$71SkFoMESm%eN1-8>vg0oGI*qUc;+{c{pS14 zH#56Fb5VDjt=FbsQT94@UahIMN?olfN`)1Pp`xg>^;ury)-)mHG$B)$2sv_rkYo3_ zf9!Wc&_4;q=%0F;`%@PQLI2DS_osh_>fq1(!Tro%grGmW#QpgeA?V9rbFV%i1by{S z^qRJ;Y1g~d?P?9`QCC}b465BWZM|b^khxQ@X|<|mnd|8Ne8;9u$E7{Jqam!_#R{6S zqZxC?R@>7oRa3P&P1m5AHYHk%>c&C#Lss1FcY4&_ZMf#P?$H&q+p+ZB<(6)5((AVQ zL66$B+a;Q2wmVuz@XFlETdUV@>ZW(eac@x9Gn=}#Wa;+S8{5?OW`ouS!FW4s)O*jQ zmeHVY6Kd<5AQnCvR$o#a*1KUE4SUV$LB%V#ZR)D=nn^%dcWu{hUZoo@?Y5Skp6%h| zT+`i6>ctyLL58h0T&D?gTx+(d(X&i@6Xflba2?_Ds4ON?o!WyG08_J zLGapdrpr`P9M(%8oH#SkN;)`d)9HH4PP^lDP0w`fWxW$>9GhcoNdgJ$ul6j@Y=DB% zE8EmX{gt#J2Ssh9OB05WCe4+bt4T%QGq2Eq92Ab=b<1*^Itn0Aj(7tSgwcI}ecdZN z!7AEs^;9dBS`AjzTCjL3x2BD|hhTMtwQPcr$60EMls&rRv2_1HA&pyQL-+Ll5LU8C z8V}3suzCz|cMxY{gEQ3tdIS=aFfP$8l1hM^5AqRrygzOsz$uV8DZvHhK@6*MsogEX zs$4R5N_EPCEzdlZ0!V>&}NyjIWN;yFyy_DC8ZG6ya&>2fZhd{L&66W19&<^($!IM8#9 zk)MQYu#g7@@*5-$es`7|x4M-|MV(^=8)QKi7V7?n9WBUVCXjDoYH>3z;})(p7ognp zbsQswR5Dr+Sn-8b5POihJCS7wSA3i~v}_*>{gMc`$AZ)Wb5D*7xrNWM2$(PBxLPo- zbC9^~V}d+*;)jo3!e96AM|n}|MAm&cR6%XTv2YDN3MsDPT$|yi&&7llO4=ME$`)HG z5}yrBir7P#6IqV{!z8nZLrey!5qv~^goL0lIET(d3LUNuJm+2Zn+F8~hpViT80tiF z@JwYEim_-m8;jFKtK)!=CXNu&>MTW?V5ByFp zvL%&l%&7VoqU^N8cVzcLTLv+sC1_Nh%y5N%)0pv*9G76mT{$jf23!#j&5Y?tKa!V( z(B3HT!k+h;5V2#?&%vlbzK1YmNAl@o{Ez_hV@T!IYz(O-cU#|p)(m1uN6@T18SP?+35((j^h2&;W3bELzCM zqH6N=GTx)jge=<69_?_%BFVeC(Poaq)*R9DEcrPY703?|hL%V2^f9`~5IJ(BmW?Ch z6F!^cewJoGC;UUcmcZ-h_*WDoZCSFP@Fh_Fz*HGtxH` zY`y)DzjFycv&sCO67VKnY&qT_SE|`qRD};WLiPlKl zm@{n65%*v#ehx+j@*{+N4~ArrJbld0NFh1envC!F=aVOu@tetrB`?6N56hBbq$l#v z5Sc!Wu8nyS#*Z$#C%eouSXdxGK^!tgE`b%peTPVK^{?|l$CawOxM`>{ny<;Z?4%0$Ew`Df+O<0#)84`os05{OxpKA;@g xlJ#wVa{o0xr9}I${a6%X_aXTY#b`4{VQY)H_v&|34E93u^f8*q5C_hYe*mTa?1%sW diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-4.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-dx-d3dkmt-l1-1-4.a deleted file mode 100644 index 66598aefa7afd7ffc737388108bef549f7485526..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19504 zcmeI4?Tg$*7{H&)wY5E4tyX-)msD%f>YclHdwW+YdiJhbUuw@@E8>?lz2v%Ucat@n zZLcCyL_|cSND+}DA|ie$BH{<}lZc6o3Sfr;z$ zb)#N0TFo=$MY`+QtFCAF%#J}~?JnJ5SnGy0W1VaJMyqO6jhbN^SWMdnqhXuYX4V5s z-uah%ws-NE>ok4WJLNRr=-H0l?Sf%6+Z`i4e`#jvg<~gAImbQA_H1j}v%9wAuUs%Y ziw(2s1osb+;-#$E{wqyu*;#RW-l~24f@6Eru>ukW!h6NTFS;$)Tj`jq_DRolx@)f2 z?k^-mGAwP$KHprmUv#_vO0Uy#J-@#YRe;}n!fw0g?UkOlhL7-!=eCnOBSVar!v_rM}_rjmRv?j&pB%@J>5(GQPZ(nsAYVl)5}!u;H8TpKVe%< zk3DLvBsG`cb-ZIc{f$d~oPol;%x7&Mi(JK?QpZMaU6vd#>Bze8nXCTc9`(%eGp}R2 zVy#Nb=XWkOyPacay_2SQ*7otaJ=4cwi`|?e61!g@kad5*NbLSa&o=$|n2Ksej*zyy zzUN--ABgzlrpSmAsMwZy@rculW40t`a9Lh;W@RZN^8KlU!tae`^ZTB*EP>-mHyOrc z3Cq0L_NUy?l%?6QYNb-I*LA%}o4a`S!ZcuG0e@mQPPv zrf;T;u$%>0{(0&QzMu!VOC;B%0{7Jd(d~G#1)ocH3s4En7XXNwjs7*7_v3b(5{?WOcGOWwlx`wbsP<5O;rF2RJ*nW}XWYM7rFERONVI zy(A|0pOz*g_1$=yjMQ&im<;tu+=;$reYO>|#>Y}+SbvdLjF0IUs*dU)M=}~TFf3wr zL0aAzLd)kXeCDQ0T3*Ld*iDZPTmEY;pJtDN!EN+3_*{1i4WUs^((*uFjwQK}8aY3> zCb{6cKgQ`Hj01(l|2XTPUF<54o;TRc55>_joq;vK(R0r66sBpho~A|?zyj-C&I0u> z^=ahf_Y8k#g$^bh=sCs2C%_sDd7!~>c(M6&-lEv*Rw|Y1K@Qj;3o(Yxj`%(sM&Q=~&Brv$ynWx_EFtjBX{5x*J!T2 zREE%F$#PTmrbN~vkYPO$V}`YvG=M)5e?kDNoilSEUXi1B z0Z)07{mlanzQBw0b=#nI-RAR0c89SspOcMQm5nRd9fR0t34NicNH)$(^=7egDOpZo zXrZFK;EwDZIRwEEn=Z@6Ta*xkYG8;zksfS7v*1KVw2> zWkIA+q`{XMa#j*sFJqD{u<5&)p+%|ZB&3d;(S5V6Pf=?I5z>(~t4KoLlP|V&B@Nl zy0Fpa2!(rRAv+tfE;mP7qi$ehZT}nVqPD&dl>~v}2&v^HWLC86uNY?Vqx8l= zlGHnjW2%~ysTq~2(J4%1hwet57?!CUg%+vb1C^T}I*}q5*`FtP0t+>`iZSO$ZMn=! zLT+(fRC01Lr>nM;Q+?C$EYWiZu8ML(a*-o{+H_EL<2xmAq&Cqg4(Yc@C4hbGDIvfgM73vcBvr zGd=lNIaxg*gOe#&95Z>({zu=%WHPgn?_#zKW|F>TE;B2+zKdaBxhJ(;W+XAcI5u*h z^Q+&*jL!L^)ryYf3_B~kL9mhXseY+vVtd(}M4pK)i4=-7_!>h#6H95mj7XYDag^je z>#vO{q47Zkc{jE=+L=h>DlDwz-)9MKft&RunCZFbN#k8x) z75?i|y;&=Kc?Uw0Q&#vXI|ktj|Mm?~vNcYL`2AJ6SMzsbKah)dy~3YeV5$aJFpSv{ z(dq;!f}G-5$a{WYQ+K;Y^QwO~ui6r5Mapjq%e?M*fPg?3G4TvfV4()zU@VwOX?={2 zG@0T!$$M&FRXG{ijEIws*o^T&Q{*4fqW+Ybk2?en5g)Ra6{R@Or6LPOY$RUwJkp`b*$ZZB!|5(daI^x;Ik&*X&y{3{eT5&{VY~-8z nKtGcI!$-MiR60R`E}Bst<_Rp+;46$d9m%bi0ZEbAbVmLLLCRdO diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-classicprovider-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-classicprovider-l1-1-0.a deleted file mode 100644 index ec27513b853a75d1068ada64dee64eb000b14799..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8676 zcmeHMPjA~c6n~bJb`7$BT~}lnP-s8~>@d4h>?kQv6al)fJ#;`YtlJI+7{yX-wTf*> zN>c1FR$j??ufYl7=Ys2Pei=h zM;ONUBM~=#0-*TeA0pm(1#sgPV|N*Q6#G%k_Wi_<*xjDzv$LS<_5+5(XS)t_nk)vX*KhSA|HSPxf*r^70`pJ(ZW46ctQER(9JKmT?=c@v}<8V!F(MBRiKpC zhbq_4o4i!U?mOJMARGg?Avj7pC*7w)!Y!|$X&U4VxWTn6xIy|Qo#sJZheV%;*uufm z?kOj}0-W$vBnJGAg_*n6IZ%(77h4#11pOxZp9XHHcp&Co=IZ(pC!V%YI_A;J^eNUK zqzs_U1goU~L4TpFnbd+VoacTe^A|L)O>FFm(k|qSfW6ygpg#a>_8* zNA8z6JDig2*s_P%@f?*hi5-tqi=k|m>^M@|9mkHo9+yq2WXE@UT*eMOWKGSEOJe7r zpB}jV04ypq-oyS=$eHnp5b)H1UoltDLZi-0b7aGINj4PDD#BNsqlHXj!?%hR&5{j= zO1tCO5bAM5Y&g~9GB(g|by{DsTCfeVwk|3Y-c9X3XToMGq0E3^Fjbk59=eO7SzmqR zKA~BX1=g)0pRi=XX2ycIaF(ZK!HTd8arwh-WpVw1xVcgNfr%rM!GNE!$W301R_u>d z!TcD|D9M1v_7DS>XNH^s*KvlYWk3~lH=B#?59sVfA@>K_MG8s{_zhFts0AgoHS^=f zR#|Q=&(k#LVyl$h4`<%tBIjuX^x<~*$(^_c$}b38%VW!bUx9OKw= z5zkS{*rEQl`tN%V$qseYMRF8s=I1%AB{wuSKXkgDbQ60KZomLH#NXTh8#gBXv!1=* F_!nBs$Grdm diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-consumer-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-consumer-l1-1-0.a deleted file mode 100644 index d86ed7f7c53b3fb39be145385debc6408f793529..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4330 zcmeHK!EVz)5S_#+g{Xxh^}x|cMdE;iou+P(DpV;KZsY)h+ty9CjaA2vVz>0z691G`{{t4HUQiOXnX}|eFj+kDWCQa0D6|c)5F++v9~dw$85+GK4*hy%-IJ& z^kzOo<8j|*ZjS~2EGh0w7KTd>R-Iy@k>5RR^tA>c4Z5W<)cH{U87@QE! zr$1clDJ;?iTDUGW%ENrm=}o*(dZ(64iV{l=bmpbV*9_a#kjT$rC=x*wZW7|n-96-M)4OJK+|MM-@ue7AsI zMxzoV{6_3B8sxdlLUWK1rU^4_>&#nX{p1F$?>k6+Av0Fo0S*4-Da-WuaY%?-OyRA{<3<2lkT5 zVR#@df^h{;(O9WW)o!*qE0HJ7Q(}ZuR)K^XF&b8P^ z>B@w=s={pAdaf-B2c2N3srZ-W8l6GUu>XC^d3u>(U$eqsMbJ)1nxRZi^2(7_1d3!2 zC)?HLg&bF?Fnz=X<+v=@Xdl~%IV#7wYF%{Zyh<_3hC4nxe?q@bPjg$YHH-HL!9bc% zvhp5klGT#IG%n?`R?TTj<8r+L-G8FGK$-!!<^yP- Tdbo!Fo%z~sCG&MdZOs1-bjZ;v diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-consumer-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-consumer-l1-1-1.a deleted file mode 100644 index cbc8cf9738de6c46736ec6ae084f4326f631e74c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2806 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 diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-legacy-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-legacy-l1-1-0.a deleted file mode 100644 index bb5d05f2658a5aead4cd191cc00e5d0ae481462e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13194 zcmeHNPjB2r6o1)G+9ss@sRD|GRBcfxsA3m8B+gc3{y2R=bR1s{j<-i*h7j=foL2(FfTq#2LjJbOHEe(%qW=h`j1 zx6^!o=G{s>naieST1I`*tW*ry#LG%$rEUceY|Q|`RePTOy__k`>0 z**gz}YYI~s!WQ_leFsF-u^az=Z*ZsEuzlyVp1tGT1tD7dT@fR(o3&*78r=3fUHPuatnANOJ$jQUB}X~()}gb&=l*NpYfDN$X& zn^QL0{e7pW#r9#p)$jt*q_u3c?QK^{c;g`C<21&RY=`wu+wXPMQ1#cuX${+J`L#}{ zRD-n1Gz`l^MY3*2+SGV>0Tl}1)&%N}tW819cMg16A6!&mbE}5Xu?MrrmQ~n%Qrq^t zA#89+d@Xw6!jk5_gq2DBE}mAw(0t39PJFY2`BpUF+gO=P;nVHq69ajq+z1`ziRIruK55bG}mdE*Zlm-_(C1x?Yd5Ux_weHXH0lE{Hwzu9l!Qxu7}n51ctIcS8GuF?pSFUd4Y-0G-rPUwha)@Y|IX(<5N z0G&$k7gqD~+WG34XBdY0o>I19zGcN&VtRH_isulgnZmX-JtOP$4z_<0;GHfNFf#fU z^aac=QV(hAF!C9pFQ8dm!p^o?zYy`od`lg9+;qNB&uAR0$a6oP&(hyT_U5C2N7Hb` zPoBO>caJeTO{UB7C{3b|`csIU#+pL3LN7fZ;F$Sw>av{lG{EI2{R#x=my)6$@G0e2 zBA=lta`Z8sk>jLUS6`&Q5P*7DI`azFD3L8tlm&UOiV_@Sg~gnyF=<{}Mm|Pjf3d(m z&5wd@7=Pu0{aKENHHDey1p7MJXX=2YoYsXQ_RXx=S1a~PWoxGKu(11q%?$1Si>N=N z+Wi;!>KdOXdpWMyS8Gdd_bWIWol0PManIKk1@6xS_cMruXrE}j zaj({w9QSW%(BriPKSNwP3KFjaKB0C3#0rih}==5{EG_t?7!7`qkoP}2&QO<=Y}H4vIO`;H8Eml z`iV#M*dQP{1ikd;+|oDwa#MkCmHhB#@ym(iTER&>xe%_$s74u z|K~39vqEZr^9UXPu!w()Map?b{9mztPmB2dbiM@gzfI>0W1ZI!xuZt>Wk@?GHr_GM zJed(pQPdwEX+dfUe!((r)XE2>w&bl5ng8-8HR2FaGE5_i6Apxr^b-yx#0EbRInL2P z?Ez4VG~v1;$g%{F@ERYj)&VYo+}FOD|MM1W0GdeU7S3nwJHhdQ?;dCLXNiOu`cuw3 o=Z^f$e|ihMe;V>>=0}Z$;Kb?naYlX?yB|Nduk8K_T24{VKONaYCjbBd diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-obsolete-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-obsolete-l1-1-0.a deleted file mode 100644 index de185eac4611f8720f89488f5974ced07ec43f2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4438 zcmeHKOK;Oa5S~2Bqm;*?pdO7>Bo2+SL+b{qLWLgSSQWS-ZJcD&xOEQ^+E<#odbpzGFix)|GH>`lbS5!>c5AG57thqI$# z;Ew`^&f|v1yj2zkExHo_aKPKcF+cD}j9~qU9$@^C58`03%Z9CJ7~;!V=rWf%%xCzz zJ_pw0ey523;1!QwkNq~^^24y@xA%dupg&?6_YUt554j0yYT4ntL4+|9_!kF3Cwi8= z*woTF8u3UD+{)pcE^wX ze28e-gzYoC6-Af8;Dm4iy>NL|VUbc$#c}Cn6C8zGQ+~oN*ewUjW0R@=mSh1c&IZlWT+UDmt~lBSI;n4MSwowQqw`fq&3=uRChewaVGEhF~G}DVcd4Ey--jVtO{=vzF1R+e$X)fF47UVIWa~h!*vLPst3E zW)I~N5t!1Bm@BQk9FZI$o)OU_wR0CODzqm^&x-gjt1^5>BXf+(Ib9W}I+1mR65QF8 zP|qsi69(ZjB{UOu(5*-%>}mb}N(r$Umr=rdGj5`UdpN(}RYD0&XJ*Nwzf}!OlJ=S! zCI}6O|zDQFt!x-4U}ra`L79FCrSCqcS<3eAa-QG8UF=MWM{23VQ48#6F&h> Cz4-_L diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-provider-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-provider-l1-1-0.a deleted file mode 100644 index 1ffddea918ef7e8ece4a412a888336ca88cebc6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10180 zcmeHNTWj1#6h7A4No?F(NK&_fqJUdU$!;ZIW)wwkqet5saL zlwe8;p_CFz=|d@f=tJnw$nWS6>0{G#W;B|!D|xLAMazN*=CWr#YcBe}nKL8bxb4Mz z2OliFZw>}~-F9rpYT6s7X^ASHn&yTjf1Bp+0sveCs9`qu55Rm&#>E7H;wukjy!#Vt*uthPoccWmh8wU@(o=dR9KK+3k90gGlM*D6r?jD6cKC5H9wrjbbi;p`Dz&!{& zzl!!?o4WF8945ghu^08*K@6@N9`@XV3T?WZ#Mu2DGBs=5_Hhn_CS9Mam38-`IM@&S zILREqtl|lGgXB)s?#72+5_Thw9I6rMj|-ld*#u%IeHq)4*Xjg5f8cPHz!%_@Nz{M1 zmxM=Q^7S2ms~aV8x5J;9uk?d2gI3b$D*m6wd)u-c$1zRkRx=gK?t=g50&*VU_6#yy zl;)t31jk7Fk->zW-G=Wa-bfU{ChRQ#<aDKyR`1w#yKXi7P6rz8uoI+z^zUdpA;9dUS-&E>fyou>4fbm(WeUCRBGxNB z&lxUL5wBNe!m09bzKDhzP)h4TP0Y_rqEv?O2VxgOI0nHTXeS2`qWjV!7&kD}G{{0O zv$f@a(1e&>sR^22no}M4x+D9XQ;7g8zEe(p0*FK^69fLnLUsFZ!P*6l z8`xo*h)IfZnbv3=n}~T>jB`}Ku3_P$6r*f7;%Cp_re9BG*eIt2E5A3K zAUn=d!e@*@RVtyy+8w2YPBAX0grj0yrUddw$5p~b#tS?qPqhkOBeG-ADp-~Vks9z5 z=2`{C_XLw*zf+R^E9?{^_knZvFK6t38Q<=>?7zVHKqQ%Fk4WCZaQ2%tq%;`t1C})V z`Mr>Ekt#fYXb)(;9PRD&Zzl?8oT;|V7F0lK}>1IE9ffV%G|DH66)PP?w z7wl&vW|z*~TG>6g*1=ji9jxR}0*}!rILrUpWqw1I{?9a=jb|k*hHmetTMJ7m^R*VT zD?+R>;CH2kp;0qE4A)FR6RYJkVdXV(?iFdT=ta&1HK~d0OVu=cMYK0k&{}v$8boRU zU6_e|Asa1IfwoP6|10JAzpB4P`;Vk=biOBO{?l4Gu5V;WMht&|o$AxU8!79x4zlY7 ztTEsZrGw#7Gdbj{CZGztoGQ+5ip2Ytj$iiOJ3BGF$gVIWRiXafV5-$n`ld*YmZ=~! zO@RGYIrgvSeWD*roD=*Bof9I~?x=gx<6>O4kg0EI-xcFB_P>eR7r{{TUisz3k$ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-tdh-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-eventing-tdh-l1-1-0.a deleted file mode 100644 index 90325013ccbe7f5428f414e6575c39cb1c56b4da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12216 zcmeHNTZPSg%qm)8{*$?N% za?f$C_q?v%_bja3Z)!4S++DkG5v(($2P}8b?fPE#j^#Tot8G|@ zrCYXzZ|b;UwOrfzm%D5>+~(T9&6s*bqDvh2E9GcaR*mD zx9z;qZT1Eo+xL3i_`%UIe9v`de~DT|z3%$hSKl4@_uldjP#)pH(hW(h5=ZmI$HGZo zA+amRJ_^L&!JfTg_p=^XwF^&4uA8P=shABk4=ik#osW*7ApmI1 z0X)G<3sCdjeV>)HlL~BY*BslovmvZy6Sf}Ic80?-FgPTfM=xAj3$e$rFpuLB!zSn< zZau6g+=*;lJ;b3|f-?$S*dFF+ZK|DN6|GIx4XjPocUsl9Q8lW1&1ts*YE7^01`qu8 z2;k0K)4m&41ofgEsoPSjZ-R+3L^G05mGbC%i#cF~V_@k@<-}0{kEJ}(;14Vmvh*m3VvJ!!UDpkR z(QKSQsT=D8!;Uhse25>ImY6Drk=0qo_O}B~r>p{cPJe>-U$BSNgDM=xej>8}^!?Vb zv!>85#JGe%A%ECc<06L9JT?(?pvIZuxJdJ^1(>i7XZ+yNi}dUM{kSeJJ*HS^lI~HT zTpy2PiR&}hU3xaqV!?k?wC5vG@eu-0 z@0>Abu|$C^0k5gC-#pRaODy1;DCf$$5Vmno!+4P{<5$b(XdS@H_6V5tUQV4j|FM2dtQ zisnEg9|u-s4t$K(be!kd7A$U&p5tAi-%*~!SK}nl@xB@tae!72lXBn~X+-+q3*R%% ztEi`#zKcB2gBr>-_!?8itRpI<#ZfdH>iO89i|13b{Y0=bkJ#`}Ji^hGUT}Sx-u=XB zngE8_BfQKjSgOHim?xPKAMXk*C}!Ut?<90H9|P9wvz-KfLGBi!6W@pdFJRlG{@_TU z58)v?J7pKI5AdDS>>Czw{1jqFT;mli)!--0IU_P9Ao_`HP!X4G0%O+mF=kcv8K0v1 zj9WoD!pft_6;xN~chm}MUyYMiP#>sq5o7Rrc4EdX1p1=7pPOc;JQwgHX3C|YhB6I) z#FR5dHFJ?9%Jzc!v6hn`tCB~V@gv@4<6j{r=EuCKCI2H&@+{E+L(C8SGe;CO_#Vpw zKg5|!kH<=N9P#aH{tifgc5S=6~l&A;}J#aLr+;D1>*2w{(NUc;rLdu2n#)&tHRp&#o)Akr~K!{Th z{2MO)Is6LB%&a$AHx9{#bS3YOcb|7>-_G0d%Xj{y(|=z+va-cJaXr^_>Q2qF93C=j z%c{Ed^n+Fz0CoThU$OZPuvervNM{SSAAEa+-7bIrdWI*pX|ywo?hB2%yppBbk2u=MJD(=;Dd! z*;H$CN-mV{`9Ua?Pn1AD#^AEF3S;nyvch?Yp=?RHW)638=pPv7kD{bhILc0vzR?;~ z2vdYBtRFzTWmZ9da~0I9>OQipR#~gS!&7-qTfytdJTdOdss5u1-sUk>Ac(XNdb5)t++9sT~@3;HdQ39&zekd_NPubce?)!YPA{-0H5OkCNbaRx_;up({DhY^62(@gX2-E0BS67Hq1YmFN`~rR>&)}MP8Zb3p&?hTE2RE&}jDsG>krQ%-2 zIL(ztyOICNjnZ;v0+UnDLy&5O*`pQkE0u>9IY##|BN=7!-YF84N6JI|Bg7u1tV6V@ a(2b#bKJmM%itr1Kbqs9wH??)emj43jxe&Pk diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-expandedresources-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-expandedresources-l1-1-0.a deleted file mode 100644 index 6a6ef393bbf722c63c73c65808731e2984b0ce78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4630 zcmdT|&2G~`5S}D0lu&*SJru;jNFaekQoBvv2q9D{RP&dTkh`k{u1G<^f<1Ae#l4#dhvUKG%N$&~x)QJ&aWtdlT?Zz_xhEJFL=j zIXm#0PTOOs?3Hb1mzeME&=cufOg*LIpNcRM_2bvrd4 zFyCSpGnvEis|^mU&K-AxW?`HA+zI$bujY3H?;WqSyRUc{0ApUG&60XIonRwc%C=fc zG$gj`B@fTyb&Hi&w;4v`Q$by?vAYu%TPgyQcHS~g+r~{_vsU^$?|!<1n-B0J18_@7 zvrr6qFBEceWx!Uo=sKa33=uu+uys=034$>&I3%1$AAC?!SPVs&!FlOr9ZZE=ReHkB zC*#%>&O~7$2B-Q}i;-Gr1O<%Lf{fI{NTe2gt6&w(qU-wr#a++m(cr(Q0DGBTXJ08I zz3x+*Lhj5w2&VfJsThyZe3?taXnvd#81m3?iF_@5IE!7mOd>}3kD?@(SsMOG^hP$Q z5GD%;SWn@s$O{(K)3czwBF{s^sOA+5Y}}RGv=o?`HVc-;G_YEr+2Fhuqllqhk7I$t z>#c_Cvr6w*GU1ebww*^s4ydN{At(HELr7`jzAg@Ogkupg1iN9q+uWBL5qU$NrbSMG z8^XJi8{}W|>7eN6keu@fTLf6eJ+;JFfUc-zm4!bjOgx26fqH^@fr({V&~I%1DXnSw z=c;hm7uOR>obqmv5uIdc$}@~br*%r2%~hk;*-;d^mcqa&<&();@w5YCfSzpdJQER?=rUO z8&Q;Nd7sSZMl%xVz7+WfB5nw;kp&zj^Uol+D2?#M5TnGJDFWn-^s_ z$%lAcpC^mBzKilC1F=_f5nGp)BX=YjG>-ILi9K2PPJX)JZr`Hl N=_MU>(tl*+{{fe+O7#E$ diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-gamemonitor-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-gamemonitor-l1-1-0.a deleted file mode 100644 index 2ab5d417f9f3b77666bea6926b4308fd42fa5ac4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4546 zcmeHKOK;Oa5S~2BBb3LX0#4vc<$%?I3QI;oHtIhZA_gw*e(;mxfWR%6G$Pl>p!pK<+m{@fWHa^11REfSzk#>0xY*vDYCFLblE$9>BgjHa)T3@AFMR;JeO%5v&)|2W;Evx&3Xbc+c;|2iE0ICzAo;6_1|bkdHSb_njMkSo4E`drsu~{TCfz%Jn;1&Zka{$+c zHV2i6??pnNUKp_6s&t&lnGO*xO;|sww8QWe80-_yr4E;B3X6dUMVyx|O)wR%uIz-H zpN?BqxMfrp5^$EX#PLO2uQ@v&vT4taLn&@RcpsIOO zAxs|LVwve_P!h4)5Y~X<)HHv%z`Yj$?)PJ1O=RUavLW zkV|^I(g~;Zll43r3P2^D3I*Yxt3sP4;=AIgMmUOy9@vVyyZs$$5ivLBXUE867ln%s zakJ@Kk;FDShnBIu8%I4=2ADHu8q5sZ2}vU)$^IyV3^N1mWeo=lv~gjC8_P5e#C%M~ z4cSKPpp1HujI-6e3{;-S7-hp1A06MLx5LAcZKUPX??HVN&BmAN>I7fDpnFc^ON(5HLRFT0d83V+#+N7=H^G-r z$+#h3ZsPjR%9k7@T(_|wim&s^lUq1UsSsHTU4(|0?IRTLJJBj_BXKvgT9MHMZj4f2<;X9TotCt)}17ygRzgU+gdH?_b diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-gamemonitor-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-gamemonitor-l1-1-1.a deleted file mode 100644 index 7274d76b70ee9c224e05bd8b885d7963602ca2a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2846 zcmcguOK;Oa5T3*>g{TM)J#aKqIUqI0?!(Cep-MfJ14xk&=dD|B603fswhKAt#DP-} z{1>kMA)NRjl$l*`yl$Nb2fR^s$K%i5*>Atu@yoYfdNF?2d1F?abL6;=YxnmZ)3n7c zy*JGRyI(wT)&YPGfYua;9AN7={TVx9>~qG`j173sQ+AU0oP7;qZxS$cPWvu%4_O$T z)4%X1F~3Mse(g;d!J>>FU?VRI;t>rzO5z|-QWiRlejda3MI6|edwwGm!YR*BamtS} z5R7ZU(+)C!OFXG#=ZP#^8vu7X7`S!m(LdpS-TL905 zwFy?vr%3+NX2Rgi^1a+!io*B8;MO|NvK26x5iXz??j9=aV>C7}F1;Ott#C)mPq^*H zxSqo8p|MkgQ}@+~dg(@47xmJWdZ9t-r5ie3{8@e&65bjHAuk^Ma|bYL4ZTa{DEvB~ zG`(>z27>8awijVE9*sp9jYCW%oQv40wt{ED-zMH#f)U)2LX6hy>Pw0%nu8i)+Hi$^ zquJUa?T`OK`+cW8Yn1j~+>ht92t0c9y%MgP?mudOUro0|(O_IJ3a!w7*J)qj^-;sk zb4kCiY{Dt~{=0 z-f!x~+%YZFGJ56*&88uSvTd_znLYJ`y$t|(4WRxz!1~Vsm;aP?^9lgfS8vLCr2|0q z+8tT9J^`S5J)p{1pRora4?;HJ5f4~@I^yiu_3fF<(0J0bnAK&T`;e-#Pkla|2K>;T zF@jA(`T^UwC$7KGqT!*-Jd>HsU^c@GO*k-z+oS(>Cb%Cw?%V#5djsx|a3P=J#1HNP zWA0?eN(R4hrpNc)$m1Um9hV>R3HPHg`BB*@*$2UN?0UR!2O|xy+Xd3IAM;?~4i9*s zL-hf|(wgu2M{bm^JZC0D-?9CD{%PRiRzK&S9l29KbljPC{W&09<&cMAk*5lWM#r;p z)Sf0}En}%^7?x!rOM59xM^7#xQ2}~20QPHR`ye(bd)ALMZR5<`1k3ucUWUo|uTh4{_-;*L z$SZnL{uO>($Du~86eD~_%xKhZ=oe9EGzS&J)Zr1f)x;{|y0Zk=dqy{j$T8O~ybl{O9KtJ7C#V6mjg&dVjYZ*?;IdPz9t2fV%X_*0}Wia0lMe580zhb9;c<`RtknOI0O z6qVC7M ztukYbGxN^N7_(wrE@OOEj7yY3Pb$l1j5Waz{q1&@GsWvUMYJ_V{HPS6?>N=M8GDr~ zxV4}PI`Yd=v$?l1dLr|~cgT$MRIry}Pn9Zol$m#)3Zi0MP6b~V;}R7R1C~`mL#jak zaD&%bWhK0!c%SA5Ls{rhhiBMQ^dIQE&Pd_RK$TkPET{!D{|<4H5w;U8{F97O7p%~} zSgy1Vt|`{1I=~O;NvQ+9NRbY-9j7YL%~fi^Tu=i$_+eI*G#@;}7+ln{g}au@C?2Xn G4}SwB#wwlw diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-1.a deleted file mode 100644 index 9d610fe184bbdd3ca64a4cd512e415c7542d5f15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3646 zcmeHK&2G~`5T3*-g|-L|RmBNhRBj~LC3Ss3C{mDsTO?F*+`5Sqn>tB}9Vilqo_el$ z284KwJ^>HI15jr6$KEt{njQ#3Vw3ESXFq$_v){L~*?i`W+QIXcC+1|acWlRYEZ4S7 z6TevW+BBc;)a4EPD*$i)?{oi_D3;m`H4Sb&0)u9AH#un z6f$%kyAE^eED8_kC;h{L-yV+qv3JA>){p51*7N$|pvRK-IAoE{=;JYbP~Qg@_+IDF zjs(rXZy&zob7+mi4`Jl@{I_8e?7arY!u}DP0m$omgHISF(We=Ar;yJ0eUQ|K=^_=a zj%`_vy?bkY9;uS-9PXk)#wSzdm0tP39 z3+aJdb%ni&Mg`}kmj+l0x1;=oTPw!xD%=(t>p3{puUcePwI5fJRaL>NDzT~>*;V}1 zI#GncS{D~c-tg-JpjYa8hsq)SdK_t3m!(_>gJ!f5d`iZEL2DjY*mnJhBCJZ?+a zWt0jrJZ8iUqx5j{A@YjGphB23yu*4iS|+Xs*WkKqWjm4Lx`XR*mnILDzs>b+J`Jqa zX*M{ody*rx&Usu{c)itdsdn^!WfM->m)kXT7(g}c0tS!IZEnrO^nmZP2*<)%1KlJT z4-SQgb8RBh^pXou1COpy1I3qOniYMw5p$l>2L~&rQ%ed32zV{3GWxn#Gl>uZ?@|B zHqyq03^$QWC>MUt$EEtB_h=yIG#}@vdEH0jmBc6?zVZ3RBf2^}%Y2ztnsu5$7_pGX z7tFkcmSDDEFo zEvFT#dO!&Ez=0D&h$ANs960S?z@Nb1!HM$TjDJj$$=ad9RiqusGn1LGJ@%XTnKyRc zxncQT`{w3HrRh}LshKsi+NztSQdM-Rd8yQF$ls;X-X;LN3Q)WXuyG0CVjz#LUjXQM zwnARjgJB7xH6`Lu{LA(C)}T~4iC7`+M^z44;{}MI}96-TP8Cb%ystZ z2-`;Pw|92#~XOA9!?gTFX zq-#6;h!43JOzz*gHS+24fH7w{W+@`-?)akv$K`Fy@9ECgc8l{|>k;=mPIth4?TOlc zI`dOB(H-x|3ApY&T`!&0wk@yEZ}|@QdUv^N1=G_4fg)`Xkog*|r zpFeN{d-iJSI-TMkUe62MN7Iv$McK0k2m3)~6mhbMk6N{An#hdVYK1`UZT6mQAR+** z0+JwV>re^!F@kbtDnVzj(z62VOclT`bWSV#lSzsUPDtm_1-BcK_5xPc@V?Zv3)M)s z6Sb3WYq72w>9(45kJAIMx z7mY!QGzNT$c|NP8@O3-8ueYj=IbSz%9xy0iT6@vHUKh8483rfe>z6|xp?TK%dZbrN zMHjQ9_D6NnMfKTo3mb|+IjsUkVV{>pEsLkyB7&hDlkgfi2<$^|AX|j5O<6i88iaKv z4P;-kX_C~{M&9!rA3_{?I+a8yfGu*F8Sp1o@`&9z@-?YqG6iI5v81_!0YxN=B`*o1 ze2>#h8!sJSwBlUDemC@UDoRkz7)x;NSJpxrL6=UF7!j}iG_{0G65UiRp;&mL z*TsC%bL^t#8@+o2|E!zVs{_CEc3`ZQ@vY8z?$G?bDj(mhD;yofdF-O`is zXUO4P44RKPpxRW#7YIoZ)}s-MQA-j#q84G1DSpJWlPAbKl6MF|Mv(lxhc!yHF36VK z;jzQ~WGXUOZ*ovv@hy>*jd*TCaQ#;*ZxaHT5;kti29X=^GnRr4?UN@TIy(CP9KOXQk>h$sI@C9rb2`F3N=(O_ zIOEGkj-v1p-Pfbl-eFM`rIgTtA2Z`*z>iobI&@E-u%YeEm5h2eGMe*b{DAw6v^~{W z*^A`4r}|16_pCkDW4&%}PxYN%7n5-nXM0&P4B;Q?-$YkAhI|+jkx=qQ%n0%SM@UJ! z6%uALXmcf~mW?2@e*PAZvn@f2zc9xHZDZfE1QkH{?SA_If>oyHgOHVkp3lM-Dh&7y z^K=VHax&<0rKXyVnr8ApWAyFoJnkg#E94=|Qls~o+5g5?dv`|hm{LN{UD+UV1AfO+ QN5rfZ7PB*_%z>VN0bzcuK>z>% diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-3.a deleted file mode 100644 index 681fdd0184c375f192e1853f354f30616e00c626..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3682 zcmdT{OK;Oa5S~2BqZGlR2TsVK0v8x6w@9esxOHo{HhDOT-G>l|9#D^{ zM~xJ}!IIw$u|3E~0hrZ~V!W1jQ7Wko_3&L}4 z=kN9eAH3lB9d@?WKk_4Yd+Vbgd7D8$a!;bS!H}j1LioLbC;*%Snf(!PI!DfK)ClC7 z<*k)z7?x#en$=3z$~nWOLTgn39m44iD2HF8Yvg*tLfk2$6j$MmkLoBB$_ z>2?v=*!R0`^1|;cfP>1u-I0MLuI7=ttzGMzU}_Glc^D;swLFZHyE`Op>@vUy2Pusf*WZ^ZI?dbq<_6$z(5VCq+OuK`MJ+t5vF^*>mnSDSp)l# zci8X55$4)hrfHHTsDZN^tAX-MIZaL7ZQ?Oc=!3zM=~RYg96X($6sRL?W`HX=?4V*#hp(Z2g`5_~ml`#$R{D}?mh~g3A zoe(3jhF+jYMtegXY4dYjRN(@hDYv2<->}M1D4$KN9iy0bns^yw+nJZzImZ;u(vGKa zu1xI=m42sb=SwzjLOW;KxRG`qBL{A(ovEzB@BPo3(Qy1^sb=290WPcX6YD9ODezCC H43+!=6}pUi diff --git a/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-4.a b/vendor/registry-40351f815f426200/winapi-x86_64-pc-windows-gnu/lib/libwinapi_onecoreuap-api-ms-win-gaming-tcui-l1-1-4.a deleted file mode 100644 index 7f55f5ee335679bc4f2b785f02f04e74c0f48bc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8706 zcmeHM-D=!M6h5o9lg7BTq;6{Z<8F%^dePlV>$SXv5DW&l=|wSw+!e-aOY2p#KkiCy zOen#GVoJ${DY@!Z3BBlbpCC`rN5}*8A(EamqtT44*yZq0M-kD`F{bfd@HWS4gg(m zMdG@8iZHz1jj!dW0Cauum$+7*1FSq}Y>Tlwp+5}Sjvx6$wl(m4c0cI14g-e9iNJre#`rRdxG1Y z!F`&@Z9j@|9O0c?+k+t)fU%%=$VRtkTSnf(d-)otbgSPUn0m;z(bJVxd$MLE%y!WC zwugb=_l!d~HfQeB9-q2_k9+GVj0U~nflpr984lV(*Eh{!JdXM_Bec#(0K6YUe=n*H zB>P9P-mz`hMJ2dR#d`1b5)vPvSwepE+C0=E{}|~$HdSC}x8}8?)>st4ChR<`?S

  • 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mdmlocalmanagement.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mdmlocalmanagement.a deleted file mode 100644 index c69ce2a289aef555de3d8dee0b9e46b8a8505a08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4396 zcmdT{&2G~`5FRHfDWUuvkmv~+RFDuTIKgpRsX{@mI3*GkD!6T(#BEITr^G-jA%r*} z4jd}+0Ehz@o}v%J6Yvm}nejT=Bu?T=X{)Z}-SzC}{h9r~o%O9%yHlw>PCe8IQzn%zz-S@2vKwF>TJ3MvDxf6 zJ8lu(s>2W)pF$~MHbloz|-VPVF3%JPuOB%pcuFYv_&)M_1K0edI*h*Jz z&mIrqmI4@u>2kL_1qPo8=Te7DW`Ip#C4uu&6Zhxia)F(2^W$;(0Jn&hg%DiOURo~= z?L&IKSOiFKyLCr`{v84AXxsK~V32mzXEa27XdHs6{zCbLV-#P-$6*vd(c0r0<%3E3 zl6^FXO%pKeA7VjVyD`{_d<%LfObj+KpRMMZzqRQ6&FAtX{I$^E*Lc2(v*vGBx(%*l zh4{NDxj_3F#@_(1mI|(?2emz@6E3I^mkVe}0_CLaB>U$w*P<}G#^*7@F)=$}+pE28 z?)nzy6r2I;*}FdL$-m^&eo{{mf6gO1U~s@_DoKd|&pG$A82rG>Y$MTZBAN`6DOOC^ zz?5a#Ogr)OW=>H|l9zdatfT->998#`EEx3R0k+p9bE(iz?!@n%(6k>W4%Sh|g??lh zIPsSe^C2A9Qw;UDikL6qI18IO-Nn2hG17#Eet2|;-VP4>HsVW!ivoT?yrS`mhX5Dx z@%>KkYEAV$O(8xSCqRv$92G$FnmtFO;8#jil#8r@gJeSQa^ zetgSoX`vzpzc7z_Upm(1YL>S@MJ1VNDtV;F6@QPup;M-*q$-(1#c8Ufsf;^GC41qx z5tV!n$MsaQgzJl{5)GzaewkV4RU!A#7nJ%6dFdNCkHJqY#Z(s*j`yo@Lh3N0sUx#8 z5<|WsW2UKNOJUV%s^g6^?j&`1;kXfXd<@6+)NvDcJgPbX#{ba~fzEU6xJ?Vd)K|t+ V-@thczGErIFF)c>?@VuJssArB@VEc~ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mdmregistration.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mdmregistration.a deleted file mode 100644 index eb343162487121c4ed7ef54d73347d6a33fb4d79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10384 zcmeHNTW{P%6h70_ElqR9S`H7`o&|s_027x0rv3zY=`WElPXSPV`EQY5 zZ30lf@`=c=w*e?$dm!?gCjgXhJQR8UF~Iy|+g`KnEuRg1`!);Mz+UUMnSIaooW5&g zr)w=+cGumZ9QGcz4+m`D^@D*ExINEyY(yV2u@82szy>XLr0+}%Xhu~)z#M8fVJ^r zT&L^H6Q1F~tV5c$dbHGB*oH4HB*0>SR=eHaJ=T`jr~%yYh25h`S^Lxu$m`OAei-cn zZQp9Y|Iz(E8+2Xopt&5aFB5`;>II2~ZFqaVk>k@LE!W@e9kGG5&>c1)Vyz!5CeA~p zj?1gafBJbi%pC2s?p|3A`>f@$(7XQq)hlnRHwu!o7x#O9{AW z{8sChO7Kc+a}z3iZkL6Cf1UyCm-d{4s3YuG?M0_ApPGYUs;!JPjAEy98b+}Zt-D;J zax{f@c+t$Q zNA@FI5_7MHOrYINVs3<2YXvt{f;t|x2^Y0b*XYt=8mJ^qPjmZR<}DpQcevX{I3~^w z*b6$}cn6|~GYVb+=eczS=gGcgQ<>Czhq&gL3OG38Gu5O+01Rt}$$($5U0}dbK-3aO zK|(8j71IhAOx|6-QJ0b4W@(zQ@q6SWg?+?MbqA?u2J^c(-VQlSmHFS@<%f4=+KEM+ z%v0tC=?zBi^2>-hPR0$jLg%}Qn1{(Y3x|2Sfn_tqgk4yfPoK@xuP0ArAI8Oy9T5_i z*hF&^`{)SL9VPm$wp6>*^yRp30M%o1PXHmCxz%VEJWBC`p(YjIFropzX1WHU89JU4 z%`P%GH%Fu3M+IuKMm27 zYts9JgeQ2;n(_4uk&~8s=;Ml_WWXQTw4c)?QYvRTuy_?&dMct9YNtF0F)&X>+Y0;6 zQ$=4X^Jb|?Rk?zTsVGI2Llv3G1YH$PWvXbrJ;;104yl;Uu!kxGe!?a6$d7dpMA?L*@=gs)~khh8Wn4}_Ziw<5I@GI7KjtQjC z&;b^&ibYLTEXI7qg({>f=5VKVeZ&N+LVfSf@T zL+U3jYY)3xBXuzAbIH{3dn#IuYj7K0_t%eaPb5!qoX%aMY=wq1gU=rSU<+|jI$r0D3Ox% z10RbHUK;Qt)^^77m7pjWRlF9edRn-Mhxl%u@)~D~hag=GW32z$ic-M8 DIZzC2 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mf.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mf.a deleted file mode 100644 index 01ea7a85ef7b4cafd8845b417d88076e1c2c191a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63716 zcmeHQeTXE-b+4N{efT2Viha7smMzc8Cref?r`fNWUHhW!-tO()iJQ|#bG|snXw^H@ zyW6_?Qg6@RuH!ftJ8|MT5egC5B!mP4P67r)AYcp*HW)(!Az%_P1Ofp=f^oo*Ao54B z^IlbVRdrW&PnE8Grghy=-7{6Ms=KOw@71e%^>ON)7j}1_IsSA#ea$S)G-sNPrP`#y8KHA2w61b*lSKVt6XdkH}oon-DNq=D`e z;D_#$KVigFY$Nt{(Op_;M5u?4{ z*_}ka(aqs=TQB+DXn9_wqK35BpZ8y$1R>@j0&2f^VYnZJqv60GrlL+EYp-7!dA&}s zGxU2`g00XC50@9ki?xC6b;$m;(Rg$fN@8^qhVV+vc`D-tBs6~Ka4+%)mwR$HA&%_L z==^X$=qhPB^|<_2I)LJYa@p@AmqI;bgGp znFjOP!X_6E;KO!3Yqn*R` za5Ol782OzDN_vp0d-gFVF>+HkNsrPfDRhG24PMz2V`n}pOQxg)u-*>(zRWb4BqRzR zJ1!h#SG9zbqDw-vu{7_B)58#%8ij=)>gh#T5~CA&!=4xRetF{cgXpmB4ZR&*?0h<& z5(sT3doMwfeQhE-5*{BUsXy%cA!Fs|{Q-#71VIv4vy$#iq0UKFE%;1AGG~Y&e+LEn zbKBc{ex!k40ipPg?j-atMbWsJ(>i`09Z$)_a=sXPTU$_8GNNVK7nf2YZ92u((Kzr! zXkAt4bZ9auf+Q}hrZs=>Ml>47;zQxA9HJx*V3vbJ6zre?Xk@SwEX7kA-IXr10()u} zAdv!Ek)po`741dAXb5@ghQS!V3B}n;XFcI*MKo`OX0dc{S?!OyH*}vXlH?>jetQGk zSKu)9Q{*6tzU}t{uLC6m8PfoGqrIU}NU<-C_5k(@4?-*+l2Bg-<)N@C(GVnY+mi#t z^YW~cEjff!%UM!mWI|K1pe7L|fHnoHv=~z1Jm$uQi}S3M@FQjQk}+FbB@l7vL`?Nt zH`1X=tm)E1N0G!{*L+W`SjQTWjv|S@77n1MuC5hVW*!w!Mbgc9!>i<9*5G6+T`DT% z<=C?HhDzxHF9%+K)dNJTRjnaN-bi~DicY40C6`Q_j{51T`0}@}jK{1M1SB3DYFJN0 zz~8yE6Z$)#&axCVZ&e9++|D{{af9Iw2Q04=RRVxioI+oivgX@#38qRWA?Wyh=x_lG zD{$f;C6mbCF$PTsI=U(%Fs2kJ#ffDsuQo_`*RHdffN+;%zyB ztl_!}135j6Cq`kos4JoXh43&PO}tPa289c1OX?dr`|86$&_UN&&J>TJ3nIOn`!7dl zM|{vVZ?tu$(P%bdoV7Uv!?5&v@%WV^Fdzoki6ex(o&LJ#$l1t0i0JS9Tb(psJlpdk zFQ0^lER)7J&Tj4PO(7$qTue?DC+p}QY`JfNXV z!rSX-d;LBkXR)Ijd;aLhgzOyI_HHB|vAt+x=1FM4-EP0X{53_nnxp*3+DCc z5xl3bxa??|+yg-cG_*Xh){h>!FP%vIFG(F~Y6J#QVN~vR#!C^OyB7Ft%`PbTY(n`y zNWbscPaB_L4Pe&^cpyF>j_V%lPlwN#JoS+1INnnP@gJnq`J>+h;O?V$ zGC}Yz9m@uCxF{OPcC{cVc0Y7eU6#upu;y7}|UZc@y%`>)`DzO)5B#vNQdkau^oMuSn2$XbZApD~-GVxLW z$w_Q3VX?gD;bmLWdx?A*(EE-;#r<(MY%gB*Y3$B*N` zS6>x=V9g_{1qQ3^*%3Jeu3d&!D zOin|&jG{Y<@*GquD8HpguY&U5)6;R3KLxdDit@|E&}K;SQC{RX;QR3s$lqcf^j;%> z22bcba^nk_(_EWR-SEh)8ILquYD@4*10K01Ve3xv$P3bYi&}zRJ)OcMp`MQO$O))# zQy#elJd(C=m%9~sI7YtU1+J<>NR5mbFQl_94+v;NZeyl{kpDAg*lsnJ6#4(VP~X$! z|BDhP?j*KflHOZ{?MP3jVEa>gI*#o+)SoG~F9Nm;CSU*>$}97!QU~8Ja1Ile_*EmH zgWn+Y3$ibRej1q*4rrKhK(o^GX+1JV;3Gnu15QGyDF>_r2Pl(>Aby#VZ>Hy~*_Owt zl`^4$E>PZFGDP`OOOf-x1yw#x&VO8zk9SheZ%gkjlJjFdog(Kyp{L_0hv}5YD8B$G z*H3sWH_}g0IUvjUwb%zAHS(Kq2N|!=ddg5;MB)VXi-xFgs+#)&AYmHnHzc&&Nz{K# zdT$ZxdwMzr^+P=!M?H@2n#%SyhWcd6W~pWRLkMWNgf?@AdC+@}1n^`?PqHg(FM#fp zw-ZFSDnw)9Gr)2!cS zT?ei(mC@%JqLbMe+1c@>mf0Ub@c@^Q*|5}vUp4Z1_|0T?UiPypN->=i9#}Brfo7$r z(3;Fhf6fCodddppfp`JO-6GZH^(vB7PkB2*w6XP6wJY6%>Yb)}SJqQxgtYZ^84#_k zKmw{VkE&pQ8!sWvKg2xfy+&@r6QsG4ZE3DqZm1KSo7zts3(B}krM(F4Nzj(+U|C{iq5a_O5L4~voSp+pjr{j2$UhhR;G;$k;m)<56!NDa-kJS$ z!O(u%YN-9$O3xQax6yPy%#p6{_rP#b-gz>QVFut5dj2}|p!XX23_LmF)$FUV&!KT4 zO|7@p{9)QSdMmgKXg;bqo_PzvBBdIjg1 z2ffE@W0TQ;j{Z371;CdnoM67P?$R2`NONW6GiMbdpRZsu?$Z>Qmv-(exAt#n-HpY# zlx?;DoAi#74GW#D{97=z?p7=Rn3&4&1IPIZ2sZ8cE+{xJH^vQD{-rUlk>%3%nr^Ud zXuEB;)E;X!b}#gnlNQ*XPhp$weu|t^W}O8#8>g4hSvcF%oZ`ykAw%|escSKP_>csHD1%rLDl0#&*f&^h4)Q#)<7`VZlm%2wv=wzgFtA zdOD7Jlz67ne@37_e@Apkugon#vIbCSJRieij;|W|0{r3{kJyWyo(OT9+sHf7{O1kr zxy>bYE<-h9DKvl7d`8UiPXH?-|mYZoctv!h5{6SA4n z|MML2nj_dsj(V$=yPE8)BcpjlPS9^^{asWoW4A!~O&c4%TlQzLnZffEM?cKR;wKE2 zTh?2x+>*1cQFGK_CrCH70ne&qKa~|gX!JT3RP#=CEjMo@6HG);_$5(1!1aF#|9DSWe}JK@LvEdn7R?!2lAG2130lt? zzT*61Gk@X37I$exy$MPv7W?5D=}wkCvK@@q}916LUXd2 z{rmxe`sC>BQltG{3fhyl0Rw8}Ww?u$Ajz_78HTgHr8CBzpxe+U+^p7Z(K^hN={6&t zkIU$0$Jeqm;3*c$YYVQ^5|T&$&&NLa$gJDa9d4fy>FxNaT~;{mR_o3gT7RqcEUfzS zF#iq+Hr4x2%b343+KVV6%8PZY^(=sO%(8Bj1UDaK51WpidYO}4*C8UsdA z3C>OJuuJM1m1-`&7-O-~TIy+>gT18-P#=ZJF=fU&&cwh=j4VFGJm|efehr>{tc9YP zXI-^IX~Lc0-Ow6aY3Z!$@^ls(yuVN2edEH#c_zo0>QZXFTWRU-RMs^!?{x%D5N~K} ztu&cp#M@{xk4lK2lki?<>29aVY=~@YG?{Fu3!Kjy+ep3ccOFGbNf zJpfZ?tk;<+kTjX|u@62ns9FrUe~MxD`8IKjN3-L%zE=TlZY;R`vB^=)cHdW2(sEgZmb^3}CBkF3WPWO#{Q z>$A**-fQG{;K_Tfy6mg+K9|Y~{ta!Y75-T@=E?jz1e@aj-2(sqe$e$hbT5sSZWQc$ zkzejn8$0}Kvai8^9+eaPo7!2ck$K7hdHA>K&%R5G|8nErsz19XA-WjvG}H;sO|7fd zir7M&+l*8`%yACehxPnn6nOnr59SrX8_L|DwHm3+WL+Ja*AX~DyrIptRh{Kfi1<2$ znrb#b#}U6W=>?Pf&u;j z54S8e+O4#kl~mR>6N7aGP7rTuhpqH^9cR2D#Gep|-`NTM9T==(xWB6qpU%2Q!fOaz zAb!TsBHNl%Ewa_l2V$iDNkFTqKL1XE_|AGK3Vm-740rexgg1p=f0oJzS+9Q~_Q6Mu z{0ZFoi2X`YG3dnqbb2SeVQ9In`ns%Y^F}f25NygD?KHSIz!nG+5$ zwBuHL8WeMY&3v7oRXL#J_x)}JlaI?h(sPOxkz~Uy*wcWw2uaopke?!Pf_g*iZF5nb zZ+{DfV70D+TWtcpEv1t|Frr{S%yv(fvjt1i;_<|3cfp3kZ&O#J?p=}gm^wTgW z7&o-;Hmj9}v<~wyZZqQlRvF{%Nk0n4egA+eKc&XG)k;Iaxs-J+*0bSG@NQ_!twwk# z+({nZ>kw=@!t+21?{pD4tTW_;o~6dT?Ff%D=Bpp<%pr5a0j4(IYNlqP#J8Ev@H1Kt zD7RK)HB%F%eZu%!tv(&<1m}j9-AdBClk~@BoL`1XYoOJfKLqnGHF=dA@3xX&$-ZVe z7O+JQnF|hR7+QLpRsXe6(%bZ3-=g6FO#E)@zs8W(>hyA$6O0>LY^(ljv6Q#zzuqrn ze04O8U`qbw;r6KPIJfP;N?F%pJsa)>@22+IMRlERWvLRgcWkux`vl(Cu64MkT56eY zhjlsIx(=%v?gZ<`R#|nXT7~sDhV^>|)>p-5G3C}@?B?A|+15c_33h^XL(6QlT46%f zn7mO*8>xN|NBZ2wcw=?C`&pSabt|OH+1B(;)nF$`H?^r&Gi?fyZqp|{MlKvgq1TPT zcsRc9g@HH3?dD6ZzZlK5QL`;c^t?bPC^xpMs+vo+>zUA8Y-Uj&C9nb-mXcic27V8b z?uXG~2j)=vq*AMvhdd07|z(n1O+m^ZYnHd`v@t8<|Q=1)Manp#$C z1WpG(OoP45`is#_870e-P|pc-f^Sp1X*HTo+Eh-{btpPdl4D68g3gI+H|V0owY{_mw#l+|w$;dz zdO9a@_bvO@ZrFxpz<>=Hupfv0xSxh$KNb6F*x#`q_tXA>b?=cUk|**`y!htgup_{` z6ZuFU$pRga{t9Y0FWo93~ZOH<$9;RN!}0L-D>t+r{1U|(XIpa`i|3RJ$g1!uQ~3v zv*Pypj_d8Od6@Y^v4r`ycl-6Q$lCJS&Ysum-Rs`me9vim3ztL!LriUX)p>uf?NTWo zQai1s?%lTA>+U+;K+-W}wdFS*Z@t&=-N05_+;d$_zP{hb_btofBS={KHOIZ%Zfa@N zU`AKl>v-*c$MGZZ)$g`j*ioZ}Mbg!lm%4kqZ#Y!qT5r#7I+$KIZb)oxdC_$mp7T!a z)>5~Lb#<>az4l!U2_%jrl6hRQ$-_uA%!8V|)7##sW?!hvrsgj&8atXw#YQj%#i-QR zdkw6snO?>XQ>=N7ZmZ$8-rj3;+TMPx(QRy-Qis!toDk|Ahmdp)v+Ni%F_DP$h;FCb zbX?xWtIjUMe9gl?+%50xUU#w6Yu?dQ8%ad^ z+6r+r_OS-!6*WqsuQ{!DW6c>1ut-A_Vls_FNqwz1z=l_No;N(E5-~&SKsMUzjm8F2 zp?E^sGUyq&houX|4^yggNpz}KZWxs*7rjx{)G9)+?6umxRi}##uZTBg7~#znN;WJ# zK%f_|MT>O(KIc|!nfv>O4!WWfh_u_=uCtBenCD<9RVP@w@41bpho$vzHQaUs2R;dk zkVxJHH*lD5Q93z3i)Mn2` zOmC=PhUt~XLZMtP=kw(f*E93^jj8JskD+RbTH^%3lkDl}#Ej?MM`bV4<)N@K(`tB) zNGgB@D11D#IT(x~g9k*{rVKA$8qyxYha>o2s$=>ZDM+Bn5|3wO`pjc`glM2`BEBe!jY9g4nNCBxYo-%OC)sF=^b0V$!jx{5pT)Y9lPDKMGKS`W zlun$y$5~WM5Z|*__^uRH9f!-6pJ1Pl!}o@Qi^IhCdrG-c`1Z_n8os}4rW5$iV;|b$ zdm8Z_vDk@-NUua^0~fx(#QJsoHFP=n1wJCyBdV`1>5L;g;Oe&`TV-!hp$S+zUzg*V!oBN1{amZg$5ObKwzpa!Th5VM8PD6gzOec^}bA4On zzsQmA+m_Oe_R~JLCE8!}L+F-+UA%I%t2Q=YcPAzY1Sf~;f)%POMIF_dR&!CHI*+|) zi|X?n)nOJ<#6o(tn$P3AlanaF!2{Se2fxHSM|oKFM+JK{U1EGtnz!PEa9JxK8r|@_}aeN2)aApY%F%68~T30qmNCZ{Z#BuT@*Ia)rhwhxMuz)+>d1 z4eOcAmooo6_NA@Ne;%>Ut&sX|6@o^ZG5-=(0G-7AH6FmOIru5w5%Xcy4?sVfC^-(O zWE_CK!c}#%ot9SR$F1eW;ec}r2aIl`BB1;qalmNxjT~SmN{$1{RveJ&JA_S*Q-t16 zE7rDSz;l8F)V+Y|M!u!K!^OH%t?HJkZ0;)c`7<$O`Pl%z`L1hXo-}JQⓈ-^>{JNv6|h(tI*>~TFcGm z!(~c|awRS~oZDJp^?B>hE!Jq%74E}afe%?R*Y?to6@lD1t^EgPI?&cakm%(4jnNM4 z^T24;4e&RTB!_%EJ8WfEw^%(yxQtt=SNCxp<|q)dFH9Q+Xs;Z(amfGBOeaPGl6-E#1KyoT|EzPK~OFpMCv5us>jyRDS;J!#pz zK%zd*yx?gA>eWwUIY!dEkKq-n06K~O6&}E@IrtUc4d_>!Ah40aSDwV^sS_s04VKp3 zl0F7x+#tE(BKEND81R(jhOjTYQ#}^E>SJGW!!19AZaMf3UL`k#HG#p*75yQ6a(YqG z&fc5pMZ8-_<`!bk5JxZi>$o?QB!_%ki?6N&W#1x79Vm{)_eqKT;Q=wJ zM*OoH;>D*9Yy{iGtI&A@XW|5nVZo^65N>Jno!4z)*-DQ@cpQ!9Gb+N>V}=+W(yP(r z@%_n3?fxncVAmY{5br9|)v6mNxu%1j64d1FY{2DgFAwXzFrDTpjJ2KJo>Xy9r*UE0 zG_P#N+RLLJK&AkGYhR{XZGGupi%m|4 zv9sis=XFbNro%j%4)a71>v$v`KM#?(Da|sSzC<7=br?L5ShyT~51)k&!w@a1u1`)4 z@yTJ{&O%!$>b9!v+bfCrJocxp{xT&nub#3wJjpZNxF;(GIf?tXcmTWR;AeOjxHnZ_ zm-nGmiSaWcMZ%EUmHGsZk8sJqH0wDpbCICPd*i85e7k|M`ntLkPL`a+x3s@j_0`G;2#IlfHs9s2VY9)* z+_QPur(njJ)gCi*L8`U<7c}%=_Cx5FgYV!~XgdK|>mpx|P7dvMcGqmT0q?vpnIC6u z{xOO6z=8A}7wKJ_kG0#ta29`X$Xd~dzl%9hHo$mEc2X?e|d97G~L z&Tg_v;1fChzirZu_B?ALb=C5!A3`^O$3a-t?O;A z_RmYHmhLo@AtzVq#g=Le%>g@EL94PN+(Y7$!?>j-HakIt^<$Xs9!HCrK#Y(6j~Hd1 zW-Z1N=cCn@D!bk!39rW6SzpVQY+o>8F%0K%WI2HL7k8<~xYfR3t;!PO=BR^8^8W%0 CMiRsT diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mfplat.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mfplat.a deleted file mode 100644 index b24669fe33675ec12ae67e95ba0cc308b4baa596..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126538 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mfplay.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mfplay.a deleted file mode 100644 index e3d553d077fa57791524ff49c55f334519e9ed9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2500 zcmc&$O>fgc5FN*9Q$i6vaOeeTk>G}mlcsJeMJQ6Br&P)XiQC2@8)7ACquAx+fYck; z{vZzh75p5^%-StFc%7``sQ63bROtOS+7Kdv4K;q#R3 zg{b;QnsXg7pqw;J1S8#**fnl`8hfZr;)^96x0Jbj(T*M z=wvV*hhJqV5j0UCRA%d#rMu={??QA0*0Q(NWV;*feUZTDvJkECl{I1szlQ18`GfnWXyz z0DN=?;V2E5xXlx#byso|%;u<&hq3r^^Dq`S^uDe`e%TCv%*z%|{Q<+A(3f|ehs#OK zRhpeJ1vo*!d4-TphyS3{qXR5vwuMduZG= zx$ajWd`Y;hIK@cUCH7RoCFbW5kN!r*L+)M(M`K06AQ@hqjdX-{1oxnHW>+hn_$5vk zW_Jqx%(t}9;8ewQrs@ND%U-(ze8<7&ef#b`-)tRas*Knt)8((ACw|B1WUEeOK#+)+2oZJitTqOxO0v=9-ptZ})t#cR=p&VD!pN z(JFYCwX2z`vwHrL%K1I%8FW?9{baPdR{2xD2B17T(l8M^72q5C-2aI+zZ)CZOZhiY CNqQLo diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mfreadwrite.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mfreadwrite.a deleted file mode 100644 index 23c1acba4c4c75fac66e0da9d3e4475e879d3792..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6070 zcmeHLTWb?R6h7Isw#IscKKM{%l`4WIZqjscj@fOH5jUILih;LjBufSzjy{JHrPfSzggXxg%-t#=Kp zt35Yt!_t;Jx}oiv?b?p1VWX**RIO=l(&MzY>XuQ{_bk&kw3>#EkaYUpN-n@(V@7aeEy$vd2{jni%= zFxmt5Y?|%um*h}?wQ6X!k(g);eD3%{)RY2t0!YwJW8cnpJQBvSFQ+J~s>-sOU-a0w zlDdQh1ei$yTxYfMRMtj&tRA1qpj5MZ&922mSWg+0lk8@TTQ{4A)A{QZ;7zJt+jbkAcF|X4 zI^AQRV4|O-IE>(( zOAI71LE(gHd4l=pDr-x^0MzA%(*;##1LYGmUf=Oa(5KL8p2#hex}okqNf2FUUi>U=STs0``QM%D-YHBwP{6_73gd!*`Ug(+5@PIVoTm}8w}hCF(Kr>mS-OpR z*}*tXSjZ=*_vqL0vEPQ?0xv>`?=%P`2GO|0IDpIeaDUTpu_pSQhE9iL0f^C&o&4Z1 zn0bsw!MB8n=jc#~1p(f(_0k-;PUw9~G&<+~Ec=bOO|K=W1aic{%UZH4-B7NV6f2kx z<`e3m!0+0!OtFIR#xX8`kPaFSH>fyI9azG+{dDjl8W+;RVKmOu!F^m`QXQmYbs*fc z9UhIU9_DcVlzctB<_#>D;0KnmdJxtKyHuv~&~SjOnUb3s&C2q>lpIgFU_8*c3Xy8r+H diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mfsensorgroup.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mfsensorgroup.a deleted file mode 100644 index a53cc65adea2e88586a2e5d8a3725a1d8fc70424..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4222 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 Aga7~l diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mi.a deleted file mode 100644 index 9591de892daea387df8bca81779c8bd36975412d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2496 zcmc&$OK;Oa5FW>AQ=%d`^uP(Z65Nont;7jZg<8s`5=dO&x^ZKNEOj1=UGX^ZxN+={ z;Rp1@&!WuCu9Hm@r==0XWV0PeB1VYzwoDQCO9bHMAkag;~p5T4lw@7z7kvMXTl zop6!@K57(L+$5;tdzp>nDO|Jg6K<;<*D7#ZXlyUR74rk>#%T)R_GFr9=bsCJ_f{`D zDID5wazr8ROK}Ni@>40p7~I%p7=su3R@pIfj373H`Tj2U)Y2z z?91aeI%+^YWp0i6xy#md6x`>^g>Y=F2I%Ge)8UEou!i6kRL<-wl@q_j>8zO*LcQ~X z?ipMtm`2JxfCKJTSAlP6tXH#dR_pa~QKyW^JZdT}uBzBA&o?qcW$jN?9UWz)L35wT zLzV6c&UdsjX>k5u#hzAJ;=6&1eK6LAS!JKA*lon*%W>0;pm=+T`MMkz;xxC1*zaqM zcH!WhUp%I}v$L6xtX1c&(hIFi`U1Fvm*Si5P0Qq*mbMq`J(wpSS9j2QWyWX~e9Ab@ xbk-U5eop25z4Q($E9iM@w7OFHF5d%C9OZebJv3C{2lgxfC9d(iu~y#H{{r8YdZYjV diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-l1-1-0.a deleted file mode 100644 index 14c7d2f05c0291cfb8e9e5a565a07c6420692b12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68470 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 KNpLgU{Qm>ofVVLK diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-l1-1-1.a deleted file mode 100644 index b9b85dca20dfaf0edf1eb2dd8cff7e362fb77891..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3554 zcmdT{L2uJA6n<$tI;tT!AjAPdKyafap>5is33aM8E*wxLByMinx@}m}Oii|NLOXKY z0f`^L|A3wLvl#C=PV25oJA}f7tJu%aU+m=h`|{k!JNC3ceqDN@FBY?ITBc=eS8KX% zh#|Gs^=j3UH*`w?a05X53Q%wXia(;ObPiBDXROWG`+!da_Kt^q%G&;bvtwssA2-6Z7UeB5I{V8XJ@B+dz(eL{nb4^A+o8bf=2gb(S9%Qowu#W$Rhr1)kV__HlZ+Y8e$ zEDN{6vYNBKc&p)7V0o?q+!oe`Rtfp1P}u2}4o0^!utPf?B1T$ZoK<>3um%PvgmY-Z zr?nVcK%;=qr4}(?gsaDX!fmGG8Zk~sV=Dm{k0XJ~UQk8?m5D%Dd1couxK5f}80?9gl6o#rEZP3mrwEniO9Y@wp|et1x^lzN84pBG>}MaC|t~k3527a1AOD z(T!9<@uir~i~41Wo_R?Z0vt1(T2dx}E$XPs!A~@@%^}(3CYk<9q^Q8aVn(uBmnj-% zT~Sm~gy95PODUW;Hu0iN@dwruqgMiZb^)EVWXd2Jfq&}>D-6s9Y{DIAb@yA>k%&jZsHZinfj`w#+sJQ zFXs_ZGp)!PAbBn#MXTUlO7@g$Rr1J!I>dX@Gel~l`>D|CkvblTJ^;-Vd0t5mH97c( zb?U)q^|2_+liFMd#uar?UDm-D48uAdbR{>a`IkEQsI0q62VpX9Ne7>kaWfq}#P@4S p44See>i{7AG)p)B&w6+w-+ZozJ?V+w>^nC2kLE8A{F!E;(r?JsTay3) diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-l1-1-2.a deleted file mode 100644 index 84e841ab8366e5e5409f4746e4b6f8fa2a70601f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3470 zcmdT`!EVz)5FIBeDNzv|K!OuSf?E^pCUFv}LXlc3Rf)GcW`}xhzzS^~e;rLzUt-fex)3i*>=+s-fZt#@a z>U!O1$On!q0Pp}nn*o%10OeoNRk;GFTnVu!#HY{+LeY0-P9XODks~hLseSGWbh=jC z5)*eom-Kq>bm#|;AcPkZR`C7M_r$~$rq~g-zy&-9gcv*aD4!63uX^B4oFmtBKKK{i z21awebNry&?!Df}!~KK6_xgc#WwjHo zdm2)Wwygm?=Fx^$n>m+A{z}uqIIfNCnY|JP&;{eVHVDHzVDO!AE-m=F5o1d@DB*jl z#_L76X6z^2=5kys#_2fN%D~0*D3GcbR#6~T5(qY4bz)Y{>P~GmnE=#I@b^jZpBsQv z?ZiHd9n!CIN1=+h;t@>ct*{KEa8_J~QTQSbiW;?xCOKuUHgIYMhIt}26t$O&i^#ip zb;1;2fNj3n$hsb{uj^L3lhU3=ma*k>g!%qz-5rD!8&l#NR=iq_jj%rqNk;WQiV zEM19_F6{K{n>TcKg(sG|X|Pb}Szi=~^a$_}uZUl|S4S$x6snl6AD~uPt`;Em%?wc# zd`hXBGE0^Ev5*z~ee@1d7SZ!$6g|p{XM7Jp>qMSy>7lLwKd?=oYnB{$@;q}XiZ|9$ ze9LI26#orB{4T{GNfl7{FBShqiMvYi<7`|?@j*5&Q9SLf>na`~b&_SZ{I9Bif!|Ix XSA9YsdJFIqTao(Y)ra?7t4ZZAp&mCB diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-midlproxystub-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-com-midlproxystub-l1-1-0.a deleted file mode 100644 index c5512bafec54d588ad818397545e6a1f58be4dfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66136 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 POX6-`{6O?dkCy)e2yKFg diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-comm-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-comm-l1-1-0.a deleted file mode 100644 index 5cabc06730dea08e01d2748bd4726c2aa41e1516..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16372 zcmeI3TW{P%6oAie(xzQ{rKq&15(c$ZRmftei8qTX6cH69)Jl=s0_p>flXbF7_7ZuW zQXw8Hgb)u1Rfylf13!T0^1o2aIdk!hJ>JHPw63gpq#1k99A9Sq&6(pf-uG_%;db|v z#z$5%IV+CqxOV&2ie=fXN-r(TvD-`hh|LB7TnCu{1z=$dpz$})r~d+=eC|)4FZ>2T z`6B93zWjveD?0#`-+jdM`(FT1zGm}$<0b&*58mOqc?p2BbA{*S1^{LE1SDK3L1AOL)EBVBgD-KM4Kdc)+#S zyMDN~Ds{7J?g!DqKAl)QXHtg0sQy835R49@u{vEwg%I73{3tLKW2w-(=a2UcB`Fj- z>!aaLZ#Q{wbT^t@Xnq<7{@&WMY-?J&aS-kXtetUpBt)N2YGp=+5XJ4`Pa-W9zc<3s zeh@~zKhX<86PRbO@)@I{w?Kqks zfDdZ`XW8DdS~CisL~MU@VS&Bb?D&yCS%uZCf&IL>H69jy&l z#Y=$Q+K#^`1wyX(9bIZJbv;tk`wfk4wvN_kbCYzm{-QpZt5KOuqEA_09mA?u=&*hw z8s=&imS&P?C!IQMV>#m)qCsSLry#r4b_}vzd;;fKW9DBs*-Nrd-@+Xt`;wr8o^Te~ zQeWR{dhtln>*YS_$^G>96bcrAN*ePEtbb0ky*!L}+4PO-m>4gx6Lk-UdtAaOgV!() zSnu+2K>bU7s*-M7_&pmVgDFeKX-i`hV2hQ!sKYT%|7pqw!+p;Efga|j*^Ox7?*Ry9z25=q{UMVAtu0uouoW#ugmwxMe z#%MC<5YT5?Vt)<<;jD+~DzQY(22zK$Ix#L-`{*9{IHKbzQA7E-xX6A3(0J#PrjXF4 z4!>fV;cQQG!e{z2K=TM=-p$8+%U(8^{{fqR81oM_R*Gc)8|}KUV!oTLXD}aT>&48I zea*}KIY_@nabC*GJ-$A(q_~f#b(GhE2E3PUvU)MdteNGDaLoQnKK9*Jll=&JIE?+f z8Z$+*|D|@_SFyjDt!J?RZMI&_K6y=f**^>TR?VXYNCwW9n9FGE-^BZ-q?o_X1+1*Y zPq_8srfToCDOn+$FX!XDWs4x3rTm)8#$Sy&r)Qp*^E1Rb#WiHi3y&=`?{71%b>3|u zp-mky6w7$mo2*QHsxMeYA>`l6N4_h=&l>raN3Y1A#-l$i$!D?6a#K%U9VKPuZ*l=E z>wpUnG4-iXu0UQ%3*mh!FYkQ)#j1G6Cm6?BV@rPqrFkv=Daku6JK%9;w(=M7{wXQm zZ*T!C>+myf$*UnNFIQRk>uXwA2<=W@+N*dCJwWcpo3u}3-QSS3^HrZx(|(art<#ZiVC58H6P_wgoZ!BNuJC!5tw!74umYg^-_n&DFH;l|Q5G`!qiMf+YW_L}&!uDi*^&do-kl@Sc0U)qH2I zV)2UiY1UhhOWxIYl%@7-F7ruHi_*kPcFeE&o%|X>w`#Is>r+*Q(4TX~wdI)B{wYrS zhpo7Nt*ulRx#GH|T~~`I8eiD-v-RS~N2{Uqh0Wt^y*NHek&C?X$zzg!?aN<0ywoEA zKi+3a#VO;iVJ-UuOF06xW*b8wU028$$hjKpwyPLDJ!C!<%&6rwG5Yy<3>=Xdy|Dht z7=2n;2<^F7U`>Cg^6!gCuu(_F?s>E9*fsKd|h4$^Ep>xD=&xa`(z70jh9mg z^Z!M3?lP~&=JImPW-BjeLR}$aAm`d_711P0Cy#+?BAPXb{|U$bO-JV~Gyl21IZHNK z`_MA0q7d?PuF$q@)4#7GJj&ylhI~-ui#6JElTR}rCG~!r@nu2`xLT2AUQdR6mfZgb DX}&%f diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-comm-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-comm-l1-1-1.a deleted file mode 100644 index 3d966f083f371565ab141cf5a91e85e3911ab56f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2654 zcmc&$!A{#i5FIC>p%GPkXeEwYslAcZro<2lAtbJqnoBReEKXt?3p+uvQ91V96Q4wX ztaRS2H`$Q5aEX}6v*X#99sBLfj^7_gv*Gxp^+_#D&<(;M^n0HVl=5ZD)k^Jm&An3R zEh1_Vc_%#V5;ap?TAykCEstlp?#D$u(`VCBtbZnx=ql0dOv0m3r^x_U>CKYKa5{@M z5Lphamiyr}%XAuO{36XOWHD(yj-%0rVvzoN6;IAMY=1f{PJ?|8mtx=h-i6h$ch+d1e<#meqrVzVYDe})dqo|0gAu@AH{#|E~ z=a0bX7jOv{{BU5gyq(nG=W<2XGq|qx1Gim`JG3~(#?Bg?o#!oYXL*~qyp1hqm1XTT zX!EZ#N>l1wBxziN|K1b*@GhcD>nQy$cL-H~5Dzeyw^|j(;jCVTargoUbq{)3N=}8V zEuQ)hMtDLt)IG&|RqX1()M&_h!}ZmY%pN~Ivk!a0N@j<=18?MI8qb~C`|uM~IQ+Q3=+;kd(&CPAa-o5Ig4v7VCSV>$d7&La6j7sdE`a%nu0 zW%LYnAnckt0KedLA@12?o_VD*1Z;C0BWjaqAlj%J{b6In$Nq-;N!hbZP31mB3hU8s z(c|VTf^N|iB5pWu(QuK)?oPwA%@?{!zszk6YIEIUe!64F4mj9%CoV0z%2KyDV$5hg zZeCMZ@0c-@^|+9yMR2y9mYCATgSxx_h`Za{g%6h7(@lmU4l`F+$Z> zdkDE*7P-$D(;tK(M45XQ-N0hxt(WRT-Ve`U>InabAiAlGcXCgJdN-cE(u1K!zge$* Mt5kf#Y__8Q0a4JkMK!z{ZX@wVSma>`mzd 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 MtGsZ%_@Jf!|CBvyqyPW_ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-datetime-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-datetime-l1-1-0.a deleted file mode 100644 index 8e90a74335e21cef139a03b821cc384ee0dfc1de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5148 zcmeHK&2G~`5FRHfEus7rA;GCKsN8T^x2e-g6>3!k7Y-bXdSmMnr?DD0C3Xb|4m?7| z6ZHr$!edZoX4mmLu_;I-J+v$Bk7vH!v1h;8SwG(J2OqjG>d)^~Cy0%eDop z%+|J>?wX#kR|f#B)=z-icYwJiRc}23pnAtvbzu=;VNuF$Dc{AxAeL`~BpAr;emjt# z!Xy7Ulqd|nHBa`!eX3d-g-0LygFq4@iU}+Ex$P%G5=MdSxzd$F`Vv=(0+6yB`0WYW z0r@&ecF^*x{vh&`-Oc4D8V#dkS)|Bex5}_ef!LS$RfX%0DstG7bu%n0pndYOpEUZz zO)lGAR|wDZY};$$wsYC5zp-xM1_KBS;4Y75tVR-iPIz42*dX>AxJQ0Dgf*KW&Kmo1 zd;tu;5-y|#mzpWIhJzZumsxl{g9asU9ilM6rVubcliuz712* z>A8;Uh(^2DgGMLp1$x4-bASV@;~%C1EjRr~=Bgt$31<4PQid`7RxQIAJ|jO=Eo$>c z`<4AQgQ`DZ*jL1eszu%!FX`%pslWlYQ;7LGF}(W^3~#Nkk1^cCUAV^|RJ&}3FQ6mcoc(k8K!7NZqu|LcHxy_@$;dz%2WQ1d3&Oj&W zo*W%22{R2YAr{!XDi+AU~bG{HQl^C`zx zEU>Jo0J|uAv;?M*VfL71hkQZ)(nW#TZ0>}tRbdbj2p%lt+#=gK{3ulHJAI?ZfcAcVP~J6Kc%PB(@aL(%-tV$Nk?oWTf|O) zn^={P>De5aekOC(@tgu?=H(0mn(gc*vVyaWY^r0{$SJuP;cujOP%%aGsgQLQBM^D9+|GPYT=VHT$Q{e#o=`%AEZf$w$uqF~y|W F{~LQ%OOXHo diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-datetime-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-datetime-l1-1-1.a deleted file mode 100644 index 7eb338f8d5d29d307452016c79f070ce24653ee9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3520 zcmeHJO>fgc5FIBeDNzxq;?Sd!$_*PkO`SxlP^9v4>48JJvUTcBZ6!`3+lU@GAbvp) z{GeReB8{Wp!*`m))FwqrY1_n@Qe7KhYU z*AHwAu$?sk;1PiK1EA&s)Mx3{z`ijP;#i1Jv5aEzQ6@4H#}iMAuff=z1_GUd({aQo z=+l*X!(eH2rg@b!28yl=iS?x=6E4I*VPO#gmN84J|?GvregnUE&QV}OLt2<7fZMY0D)*z*(H!UIqFQE1~wGp;SHf9t>gaeq?j f7N5rcw*Gfgc5FIBeDNzv|5aPhWNaco&ZCblQ6^c|oE*v<3#BJjwPHojrD%*t~`x7e8 z{Fq+(Q?9RO$n7~gR60ouRm5aK|H??sds;%ih!xj2}PBJnGkgvW`%VB+ujB25N#RM9M% z45xV{2$2-=wc~~aX$){9zrRzAp@0+F{Ajxd~&KKhW(h1-g0FT+*FzhlqE!nRh zOmO-(G8NWCc%=u4`ngL|k2W>?k%@k^Y}P5;KodtRyz1}mM@O!Wyc=1~p}_>0aR zG=w#Fo2skH+A16}F0h-rN8riMY?{X+Iwsab#H6xqb%HLm}tG)|MbzV0#m z+S8lc!DIt1FU-5lLigB1Ou8C3t1a4ZA2B~yw}MtwRG-@Uu?zW#zFR6n?U)2rW(AJh$ zRaN6ExmDGwUJoAFnFau?%1?mO4}hu1qTW&gsLn2mI*0w-B4eA3z4L6>V_UXwyKM8o zve}W-GY=hxLdU2Ztm8DP2GXw6+dXh?Mu@IQSjK-_cC+7N9i8b+V-Jvy2KM3L!RKemmZ(LWxHFh?b$uQp@k+=RUG}? zwaxt)I3NSdIdc5ULA1$PyQ^!OVHm1v)T+_$zEW=B1_Njcz#TrCP%6HC?DKJUqk^_m zu}t60hHy;-w6jXn^G3kngm4Z`xKItTB^;FSz2w5@6S&n-PPnOTTrI>c;9w>N7wVCM z<*rvo3YLk2Ws7)F?&xK`tW~T|hj5iWr(*{X{5l6{DSPIACSwI_)|3-Z+ z!T)32?@|2Ul6Z5O{Qn@?9manv9T#n2co*uW<0Agg;vSF7e}MSE45H3;KK<{}0_!rcho+11sYwa<%ogXp&VL=?x;KVq#(r5C#>M>p6r|)ih(WY z*A_U$P=XMB+3wA15)ePP-QdC4`b67a?RnClSXdzjdWS)` z6V%5Mlkym3TbAQErs*^rF@wIVTtN~6SQUWl+*+*E1Nk`Mc79=kwO{YGgLXcIdv?Hj zS?~D%6d0Tn&ZPlY8xeK^8w>cq^u*&S+(u+4+;Tpy8R1s3aWw-M^&`D&L%)Xft`WU! zJ)&4`VAt?h?+pfos~@-n8Q$>UD}ckwLHj5&gm&G3G+p(zISHow&d9@PeyiqTG@p?l zsue0HQ|MRr*CKWmVAxm0h-&5Tuy>UX$iL*%B;9qRaI?Bx| zeuhDMg;nKSm>MjtX)&W|H8oW&u`7N@=F$;_c&tBbvMgi%68nD)*-e!>yOBgeI)am#@B{s|!4dC20XtXBg%g z%|*Nf_yDu=FR4@ymRKP8%7 zspDh5#xrPaiQUJRKd{U`n-v_}W_ya%_`hC`|7#m5{y#+*OymE3fx?h_!Nxu=R76+M~{qCDRn~i^imRDx#y!Tcn6VHZG-z(`;Oxt))!aynQ~zaKoq9dcSU*w=Q^c}9ar+Pp>4Ajrn0qQO}< uF4h5^4a!CXfc)=$M4QX3htFvNm=ZlaPzEjy_y=o|zx?D|?-a~zqs0FLECgZz diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-debug-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-debug-l1-1-2.a deleted file mode 100644 index a362e4b0aa14f8c18e987dff957c263c3dba3686..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2696 zcmc&$!EVz)5FIBeDNzv|5JKYOO67vEu|wh{QiURwa_WH#g4@=K-NuTORIyun%qR55 z?^NQyDD&29XVbEfy*JIK z*HSkeH;AZ4WE}DEj;OxCCB%Uc-;!{ih_7K9&c(qj2*uB6>Yqh|osrk|L>vupDeokj z4rlXF05M5`6>=VggY#1nyTTPs;S1hk5|R+3&<{2hgv570O25qJpAq};BAlj&m;EkB zjV5QJWRZe#JWlOdL1h_-uH$%~XPRDT$>EXlglQyl45H`K+A{1kyiBEC-kIba+kv0@ zf?fx|@nfddUXV{aUF5C%jJGIbI(%T#+sMdTs-k+qcIZcGL+y^1d$lc_yuY(fCMy z4H?c&>V;0y(fM?od8Eqd5%NH?o8dSd z#lZ$zTw2zam739IOuQafWEJ+?XUxTVoX5+uz2d&FFv`V)d42O1v#YD657wG0&t7N^ z@t{qjr+j5RW3F2|*9cj?TTMu>xyS;>WR*fPg(!t*Sr>AQeEXFQk?)CT$TAA|qak{h eA#dcI2$`RGy2^v0Lch2#`G2|h=Vrrs*7ytlCd9-5 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-delayload-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-delayload-l1-1-0.a deleted file mode 100644 index 21d4b3070cfdce225a23c24b5467bb27e776d7a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2728 zcmc&$!EVz)5FIBeDNzv|IP}25NFZ^*#*SJipa?}OLL7SF0^+uHY6n|!;wny|-1-SU zBk?c2^G}p{>$S6K;ua1`SMuz5_Iby7`^J-}J%4%}y=}cR7l*s=damcZZg))6kxRNY z&30!`J#f?_q6U%inWr96^CvDL4utrWh0{!Y3}@j~9Hc=gzQ+^)Bo-Wuy{;#ccz{bq z$MNJiorVI4aR#iA_d%HWKa$iBMB)lpIKmga%{U|>qL8C&Ohn=xk{@#N_kNt5PQwpr zI_h^hbv!;1RjU-l+1boaOH!-YbREa@Jk#{L?UKzy;~o=Av}X`Kl-`zM&%(2r^s9|Y z&XFDXGrt-lSNh~!+Jh{+1xDw<#n|xKUV-IfrUt*4KIDEmZoh~Fw_T0v6u1}c?5w~Q z>nsIpoLMXd3sSI3DOibXxt3!GNdl}rjFV73^yiA`t1IUrMP~1w+ws`3VjN}Wds2k50H&J)R?!eS2V!Mg@gUX}-PyzbW~7AiaOl zc_hD$4Cf&=L&I5gIvM2=sWiHST9EAKwE%v>>3rzlnf#rXszZVconuCQa-~a~n;QLQ zXA@mvojpf2w-%}^b1?D}yRCtB@0F`4V@A>}t8 zXNTT4(DKr}*DUmqE@P6_xU#yiUym{0R^vQgmSdM~Utv^;C-d@3eo`+k<}rAy`hKoC z!NjCnsbEB7Y~|A+IbvkAduY er96@MMA#>fyipNMHTuQ2>JQD$e|I)eajm~%gVN*x diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-delayload-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-delayload-l1-1-1.a deleted file mode 100644 index 374c29bd88b47016012587049443054ebd5754df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3604 zcmdT{!EVz)5FIBeDQOWsaOeRcR|1Ix33l4JL8_{tR!B%aR7gl1khX5^5UX}m#i3A6 zJ#gUIUw{k0(L4XaXHaHl*Ul!k({e~FCi3oj_U*1c`<`dBvf&O6dYiT9=D67{+p!(% zMYC<17I*2TX|A^9y=m^%0N@UQ@dKdp4WRm4UJE6Fg_00kLcERrK`eItp+68?ea{!4 zf+P1h5afaAAUYP)A(P{M@8$06PIIkjaM};v>0vZ%^wSM0 z+8Nuj9LF(Dr`=RrxmVjUaAVNc41oLGnllWHp`nTnD77_ z#PVgu5ZdKDmM3_<)^Mq6^!}txxTHNJQ=%;WV8``;^;Q)SLBhos+p+B?c^U2R<$<(jb^ z(nid2J}y-k&9{M=FZnnJyV)LM*-;qf!pgk3Gpmg=49iv8ct@c_qv|HLv9GN=O&ei8E~AZ; zd|axHWqiMm!qEFl%hv{Ew87_I=F|VGi%05>N4nTdf`D}izGIouMS9#X_%EUL&-}km F?JwD*Y}x<- diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-0.a deleted file mode 100644 index 5d0f55a943e96991d4ee3777c5c0dfb0ff84a6be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7716 zcmeHMPixdb6n~p-Z7mh0R1_46s0YPelXjc7AhIa_IVgyKE+S6TZtBMFpR$QqM8ty! z4<7X7&ATVRg5SY!;s;RQn@J`!O*R|Brj&MIl9@NZ&17DFzxO8Dvsc~0TKn466;m(v zg6-IjwLCv>nid~YkEZEZbI}i0rU2j=fbkVz{3F2RFHxt_M)l~Ds55f_RF7X4^`r$r z_0%P*jNM@Dao`OCcHaxV0lU#}dF++nb2oj4M&DU-SjS(b8d>M@7$Ld=VHxjx zgF%1Lc6+Uk-+RtFHnW+1xA2y_^um-H_02xtlO>F=ZJggZVjbbAGm(t$(1y1CtgIxz-@J2 zD+X@2Vn3NdMX6S3`5XPP-k0PY#!B0=9LGUcE(?~L=E~IF${{2sz)}VI$6Mo-dgyJ1 zygmG2g0)g_xuH88!bh55{iv@7!3Y?`{cEU{#$1TP< zloU*7;No$VNUa;xP$D&wNX=6vQtQ|?yJpo}oetsa>wd?Je)#(j!1KzwyAc~AyXr@p zwz_R@f~h_I1c4txX*|g)yhTvB2h2CI$;bTmy{Ko zi0$ovVEdA_EMsuYb_bsX23;&;yUlit^`gx3yTNE5v4oy<7TY7Zc2aOsJsKeD5H8D3 zwrQ*r{77+Ng8SzPZx!Kso97LLW8u7k^|1Z2w;?Q?ZLkY^;NBH_Apeq2lcL5OanC7* zaB$3ZI+I2LqGj>60YC9vR>s`voE&WcrbuOhg~bt48ob=M<&y@Crf3M zXuXW%Pb0R|$=tb|B69#e!v;>auFMNb?$L4z<;2ZwoKzWI?<*mol2sRJHo(^ z27Jde%UQnmZZa&0a8N1lcZp6K1$AQCsVuUE+!>{l`wG9x)X5WN-aMVOvT-S$^s;eM zC$wiRs*^F&iF~)++q#&IRFLQbKZnR-z-MfeF644GA?VhUnLmHPe0orV*xB#+w14`a z%&!vj!MPt4J`lm)x-d^4houCC^N#Z_!3YW!zFW6@KlJh^imi>NU7u3MPzK1_mAqANw zqz3+F-%|ngEBfB%f1!Pky4hV7^?g L#(dpc4)gy4%`gz& diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-1.a deleted file mode 100644 index 5dd1442d360c7cfc2197916d637517d1168991e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6292 zcmeHL%Wl&^6uog;S_%k+Kte2#c}hqm*lpsbQiY1DRxB!n5U^zG*3-r`ajMuYT_A*5 zu|TL>J_4~o?E4S=0V}?Oa_@{E6UR;hQjIEg+IjfS@jR~2@tyekyxm=IKA5_%_a?J$ zTBc>p%^13l|CrQL*Xs={ykT_;0L}tvp8&?+08IXr`OGf>%IB}jd~q3o@@0=QV~dPE z_j%W6Pk6w)Y_a2T_S*IAZI_|ZwHg*{xoea|YuokKJ6+BQ(e??;#5M1BJKd)3IW5=Q zWG$1?pUrTnHV4L<+;)z7GGI@+AK>CvY(H3{^(@qIYPY@3GJBr#c4wEr;Olgcv$VI) zw*$B1J)%wUo_mMkdPiF9c!BHf@F4?bz#ckI?s6K@R)&C-?(_^#I{MrBg^mfJO=VCR*dAYQXmb(atY)FjlLM9oYF0(X#-?L3Pdd zhrr++;anQ$;Vjgu& z4i5lRq%z;YRFhI07E@-;8AW9i!ZUA>$#l#iUaQZZER&e;VgIv`?NsSU7gORGK+mv- zlf6{tg(UX$#1x8&&1_t(G8%6lG2LvOh20_%`xZh>Xu?WAIJ`|)`}>Ivy#?uWk>nlC zMLY#KjamAbuGN<6XPU0uA7Ma^$0D9U$a~=>ng#DtVr-~hCBpQmMeLE*Ak{_pQ=-|W zTCRv|JmRWRrrk3$K59amM{p$%Y4RPk6EM5)1dtWgz%T%i738j36A z7hR&5=}{G9_9^BAvS^rMRu!fdshC&Fyn_@IWaIi2^EMk7D@I2ajH(zdrI^%D#bd1& z5hl?WiCR|hDoPrB!)8h?sqN>9B@0%tR?HE#QtOW{CtA4`YvmepU{tM?K>6;H{*;8{ z(8=YvMwXknc1np>9!Y~JHTa4(8?gO_tnW@~9|=&wIx$AoN&O_I;4_w?CH}7VPdWir mC#hE@(djtrgifQB5}hndgD5rlg0-rX)b=xFl7%ToC4T^S>0zt@ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-errorhandling-l1-1-2.a deleted file mode 100644 index fe0d52b5c7a56ea5ff5d5bc2282c4fa1f609c38c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2772 zcmc&$&2G~`5FRHfDNzv|dO%z-5*(1~V5g0nNEM1y(Gv$$i5t?!jh)7-<3zSmD^47E zfW8HoG~IU2wP|*1AB{&$FHy@N zdMd3gqn-si$2mhh=mffCwNeZ>Qd=k&(n^YcJ?F~gJ?Xm&2KUXTjNzYSzf!9Y3H_0A-y|95R z?7QO*JF0{p-+`*+=ZUobMe76kwPZLqsT=BNgRk*L?vZMv2gnD>Zk`X|7o1L;{=Lbc z`Cf)daG`aK$WbEoTGB4jZyq;QC)QnwRN1Q`%TgOHPqkGw<#4~LWm#1+^MjR);tgHv zXAjRdUwgd%MX4QwxxSh*sR1~{0}j^L;?lJC%+wUr#PNLGB+Ibh5o5m1$GN;L+Y9bH z3Zq;+m^Zg?FuT5<`e4of8^8+mhnUbS(PO@Ht})jwoo|FK->)>J*JW8(NaXD%(}ufhJuW^{I+Hf8 z>6)%iRaHg7A13*#DC3oicwo5*03!hT=KzD#0K;E{eCY=OQGd z>&(%Z#;VL<*j3X6#w^olob+J87EKrDXZYrV+g>$2??r3gY_{DGbK91&<@t8IRj=V> z?B*ux6Z_Ki7cCbjKS%4ENB7hx!yeMxo+h7A!za?)o*2I2%xrGXZQK4*+^!;)>B2zaOX{xI0x}xY)0jm^cx%e!10f_`KnFF}WYlFG6Z*Kd%-upxOGNQf2gOT{R?H>5UtY5vQ#|-*A7DMVW^9B8VVC_#!xj#VO)%Mq`ED4= ze}!%s$#>+BLXNJTN%)uhZ4jFd!Em1uGYYu}ot=oguy?}bfn1W+-a>4*j==Uwbt>93 zL$>SqCa&?744gLGE5e~LiWOq}Ex{6c(`jrE@p38QBK64aVV!Vc{a`tQh9L?md>dmHuyD4)Dd>TFH_!w5mwXy0dA|wfoKOe{hg_$UGzuV= z#p`+aj%8L6@1$d@2;fChnWti^1ybu3Qzmp-WkcLEyU1iZrVy{?cTbjK%wyPY3AR(A zoLo$aVgS9v8V=@4<3b#JI${dN#EU1cG zubbu&D2|?|M56}^ddTnb>>62K3kwx__=eX$k8DRd-eq$xjnz}_Q#}<;ic!J4+d*gb zQqLQ~C@Qj4&x$neVd`@(-lIL`K;4G`nPUdXWK<)4z8pmK>)V@{s%nr8)fbYDg}--s7`8>)4?6 zsRp&0hz;Awl3uZ4LF|`QWEmUYO5+|D8ye}jL~LlKsW3a4wB}KBY}F(eR@p+wYx`xLLP%AuEyAx`7sBq%n5BkHL~ z4t)>~eE=@K^%43AeTLGR{c+Zb1F2MlsJhbr&3@jsXTO=*_0tV+u-|!Ad1TdTE-=Ze2dmtN;LJ<10Yv3qbj&$dw-`#ytOB%L>8G9G`gNW_; zu|Hs&{g%&;gPwO7Fcb!E-DP30M_Ed{L2ti5@EIYx5n&ncw}U;JCUls?Z00eXqw51> z9p7u^whFMVFna69yIy$YH|n@t&^=_MLd3jLm=z793lXz5@co89t^_#tIt=^!sX--y z)^T_cSNqA9P1-BRwq4gXO?M49k*8*5+qj3@1z;Nh4|!|GsK)+D%-fR-6YOTS<;C7) z2p?&HeNo+uqHADqO1OX~Tv}1s5;jWsUV7s53EZlZ6K-}gZcX8qurZf`Q{zY|s~cHJ zD2oVX2|`(+V>y;xZG|BMtL-54!J#WKTvx=1qOq8sME2C|ged@hc^*TG_b7u4uju#PqUpE)Mhb0LzBNND)@%#pN^Vot+J3#7phmfCI!b zT8CH(a38bKFZK17u47uNI37trkGDK-fMhw>5UqkwX)#pVsuoF7w!y!T-a*(BJx_^N z7q;<;_W@`gA$cw(R2ASemZK-4%wtl{M>UEgobR>&e5aieRLwqj{cXM%i0|sS%USX7 z^Id&z>eQYR=6f|s`0h-}_qw>#nI_!}gx86YB-i=(Z9yc?r#4L3n~@h6E=zC>W9nlAJ0&dFUx-e1%@D0 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-fibers-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-fibers-l1-1-1.a deleted file mode 100644 index 621f7181c6f82b3e14cfa9ce0bac6ef5926a15ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2678 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l1-2-0.a deleted file mode 100644 index 774a4f723b060001b7bbfc27d1e2a8a850583473..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5256 zcmeHLO-~a+7=GJ=ARCj4{Vpn(RlLU zfg?Y`v+)PupYkZa&&+;IX_pq0LNH7+AN$U;GrR9T&%87HXvJ;s)?Q9MH@cIxU^$j! zF58Y_n6gVR4Wqbdhc|3b5fSI?L!z-~Jo8=U*<+&FV@}$#VD+{Kmc*4jPY#yW^qWv<{juTF`18m+iS^7arUlWn4ADK=8qX90?=X<<^ui!>yHIfhHyt8-N@SiCb~>E_F!~Ifj{)b4 z5q69lWBgotlH)1dLSzSSG99-V;S6p}_rXQ|Ox%2$^*R+` z2*H0&i9Tei?p|aF?Yi$URqo7ufa!kAreQRn<S4CSU*NucnX#*8wjKF&jvHY1gODBg!u^;X z;q_X>#Y)lpqc(6+`)obUh6zFm%}+@G+?B0iI9_XF30Fz-g{ndApt+|kl4W!SI*{H~ zI)H!S(bU7;*3#QB({guhdk>2z{z+gk+L&Uti#-3Dba1t%ICP&Te{ydeXcjI zkRExV2gazFA-#rKVoMSsB8>DzmsaFE;~A8;a6b}eS6X=@uZge*D9c7@L6xN+Tn@M6 zy1?daq+3ZuAgLC6Shes5OQ!9q^~{Z0LcaZzTC#~+()QAlW!F_LPeW}aYS|1esIv5v z%S0_{F1YZ~<8t(34W}1pIXRz3dcn#(D7uux6&KZIMwj>6yyrz1J^E?5p6HSitzx}k z=Q?b3$v`jh`BAOF*Hs&H{N6~3HX^manx(H?LL2exrXQj&hwtVM-|=OXJo=yIv6~vi e_Zc2zSiTc!e?s^^>^S~wzH6_W{yS*2r<1>&zkO~1 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l1-2-1.a deleted file mode 100644 index e413b4cd6fd366d3de38b883d7a654b67a2ef88e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4414 zcmeHK&2G~`5FRHfEus7zI3R?OE5QvL+oWzQRaL4Y5K<)&73u|P>&BbL)cH|te$*2O z9-t4viD%#e%4_g2l$l-I*)(>O9;^z{mApHi{k&_>e&5b|Y26#PIve$;`gpOIZP#|K zHOJL;OLVEVt~V^~5M{3p01E)xZ-ClQG|{H(#zT4CG68OxjBPRYF5<(8z2Pw*vaP<) z+2^3=4FZPFz+H7&80^!Pc)LNb)gN+3h;Bq!Chpro$XRGJhuO?yI6{{LV;%1KCCveB zhsQ5))>r-4pZGBJ1_SQD^?C=qX*)P|&>gVzAuoBn)$b05Jc_taBkcr7e7CupK3v?N z+p{_4N$Ll`^?}D`KU>(M6}2tPb#XCWcP(4dZS5K^D!>yB;I^>lG&AO3Vqq6oI#_$A z@5Np*MD#SlIx+X7XbKFz5-y+tA2m{J4UHPUms-Sl61SZC3Aa#;TS;*`8jCr&v>)kb zbRz@lXAu1iqMs4khGW>KABJF(BLV+81vt>!-eKxU{A%oIs_L2f2&TrZQiM@rRxQFP z@uC=1HLAx;5>pYYIqW(IBjQACsA@XalO-LUFcoNFU9#5e#O%%mn7y)QPcYlX6}Tfl zrgquPcG8&MMT3}qFJT9*a2~T$yxJYv5#UWnLI%m9cEGikLw@F4Gi^w~m;je4LBjqCCL5nP3tZHu}lwW4b#&9{Gq- zMdu62Hky;z32+@R8Ed*%Ej8XWZFMrAfSPeh2Z)imLPU#Z$vmUXkYYpx#xx?nmEJ*W zik_!JvrCOEiF*LjzVtj#Jk(U+2iE7Gn`Ss#m3r`_Oe0ib&!`Hgp=6pXRV4h%RB<0y zd{$LxkbCysmE6HS291AF75G~u%19L(iHDjBe8-yQfBKYTzx<&n^G7JtgLS0`S}nQ3 f=l`S3k|i#p2gujMCcOvkuK%ANX88>+_f+;5!jtVz diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l1-2-2.a deleted file mode 100644 index 721cd8900e1caa5010292420a410124477c8d4d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10068 zcmeHNU2oeq6uq|dwIIWWqHD7iC{!SO8D>v%6WJb$!bY(S1-dLivZe@zGIA`}Lj4g~ z>eh!nEn~iGCFih^!kA_j(tA}4W+XR3c0HrSh)~*A**AsQC13>kIwy4*J08~GED(d$4 z090>17WFo^RPP*%x^oJ!bIRBQ#=i62vCj_Oz#X#(qmIjd^oGub$I$56b({6QHr3EN z@P_B3vC9ZC@CnQK=dRaxS>Iw+{BsyyVc-H|J=f{Xs1IOAZm^HNwk|yXc=YX8-!x6^ z(HmT_R8I`uIyicm0hg|?-Qe-4|6<@i9CkAEN>hjUu zq`H(*>q6ashO;$x2~F!ICs{04(g7WR=(dB(NGc~wF_vlCwrv=;-B5~oR9HjN0DN9R zZSb?zLM6bdd|he#{uCHo63(Lw?(9nJ3ZAUsed&c?PvG{X zop2l3xSGTnc(Rp(lYW$GdEl2(re%_8xr+->?px(*xmxM;`%oc62>$C0z_UWvc`gm1 zU7tJZsx;9b!Ss16W?{5BD`jD{`Jy=}73df*;hgfhT1D3t7(P$LhEl=6W3tGr6Q&5~ zc${%e+~mye_IAh)TH!QiOT6A{IHeTbFV6`l z&nMe0G^_(1N%QM`e%|M2c{twV8y3Q`aK1n{=)D*|7Z%Pkcn3P*vnzB!^GkCY6+O0y zdrl~WgC)nQC2ay=(x6Ha{>1YcZ`Cu(0m3{(Xv#OSG`O&)?G`n2SJTuwpNpT6x0GxV zi}jTz%LZ23O^!ouQ)A3-w@}fYR%{nLd#d#d(XJBPE$WErrQ?*Q=z8}MGfv0Z=;npE z)(kPB2^-_}n@{P}t5=Z?vr&j;R+xtgmQi2CN{t@>#;@qdKmUCuNx&Lv3`zmyB?*E$Lems$nMFQoTt6@$EoEbMpESeAswgKPtmU#V(>I9 z>5+dOQlEhrS^>Ai5l7MgzMKSXi|_{?S?aKJy&9O)PGINKg59Vlc7m6<_S3X*sBvhX zS~%7Ey-Ew6bX-CU!*ra|0zF~n)xsKSLA~Eu>!Ux?VR zVj(GOk#nD0Gyp8o4p0{cek{W8*z(+mi(U;|%l(x+CYJ}Sp7 zt%Ohy2(37vJs^Y-2gHE`;=loMUj8wb_h$StiS5Ka#H(mK%FH-#o;{wK-|xLQwy)o^ z+-Cds@@wjF(l>NdH?`WjrmFbEB$ujM)lL6|#xek`0u()fh4%n1{U-9t4*-;(`Bmi0 z-vdy-^0UaR-{EPPul_0WwZ8!p1(AeQDR}HT$m3NTWL-UB>?(I31gH45l-USq!hxwSlp=ZMCM<2e4iH zxMMZ#x3K5Ex>3RIobEA;i+AxR-gI2M>Gj>yt+v%WvIvpykfVUR@9GW>osN?a>Xq(>v(9UCVR&y*Ezp zTD?}szH=ho)kL)|*S0+SgVXMQzvDEwo!*h$Yg((2-?iLU@)^S|LOY!6;en+zZuO5( zX@I00E#jy&_-{xvH6(+UZ4JC~Kcrk5*K|!YO{AG=)X}TteHPKttDiWs_`9z!`ZYfM76w513 zk|oUKO?G^2Q>9MNTZGn~R;+@ZeJb?}kyjb=7FE<~CF_NpqU+s4onEq@iOoEbZK?Y@ zz6dMz;iDV$@4A!p=&oOmXjQbFfy)0oLb%cN5Geo_F zlE@nbI(*bayx`-bdk{RL^C?m9f)`i#e*ogUklgeoR4IU=c=kYbs^Kzu5kkCH%ZB(( zL+njdwXwWi5bJP;1D}NWPkaNVfh< z$c117O}b?N`Y^&L=FVQmA31n!f8Gz2`&F-Hnd+@ezAxG(BY0e zMEiLx{~`p>bN1xtLo@L};$af@pOj~#=kWoGkA3;80m9BK z`+%!708A17t3tp_1%AZZ$G<%67zN^uxv)Ub#)6Bzu~<~$2;z~@dG^Ky2)<@{LiWbe zaL0W1lh3oDtnYxUajQ@J%1Ks#TZ$C&jCekl`W+YXG?MjV5l_lqJB)bfONy)!4}^F( iX4=wIlt(GD^e+hkFBSL(Yy7HGeBze+@!E91rT8CVs`TXm diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l2-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l2-1-1.a deleted file mode 100644 index c84610cac8ce720aa774b539e1969491e63f290f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2654 zcmc&$O>fgc5FIBeDNzv|KX`Oobt})#&c5#0Z)SG#`Z!#UCnueEVsm&sFYp4l|K1nE2oiGg;qpZ2UI-J>)hiCR--z#NyfDw4XAJcm5%=R^>FHxb) z-Y>F)BD^iLHQt;J+^SN{eXSEt>v!ipG_-*v)qI=zdB)m9a(u#s Ovh-V};wMbK74;8qy0lFI diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l2-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l2-1-2.a deleted file mode 100644 index 1ae7618cf7322027d185c4b5a96f6b27f3699d88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3456 zcmdT{&2G~`5FRHfDNzv!ap=)VzzGN2v~D6*C@2!@p$889+}JpYLrn8i*+x)_0|y?U z#~yf?@?w;k*|oE2?4}${#i*Vg&wknQj=%A2AMX3nVEm%-%v=^{*YO03MYY>xWW;x@CB|g4M2!-;15fR0iqiPei9t`(eN;w z9lh*0E=CNe$GEGUneP1fTdmX3yV0aSFljb~2c2Slc+x9%qG(E4KW%MgyRf;fL&Z!XItDn*}9ZNjDY<#7ug zbs$YOU+4VXVe2{^AM-~N;V8@(7$xJ+vm@zYmcb3w0cTg%0p*u+x)A-_BAlSv7*}t#UuX z?XTnhq2dD#|C0Ofw76Gszn70&;r^$5T*iIsARUE4Q%OGe0kV_qf6aNScajC?pGXJm R3jDwk{~uX%XfL;i`~lxmG0gw~ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l2-1-3.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-file-l2-1-3.a deleted file mode 100644 index 06c276ab660ba48c9f475ff116824a3095fb4406..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2710 zcmc&$O>fgc5FIBeDNzv|I3P}o1UGE#q;(RhLJ@%*2ZTUekhV_ZG*;sziVYM_2=N2@ z6Zk3Rk5T5WKeB1!1P)P0^6q%{Wyg8@#^XoF-n>70UVA2%%{g*h$Fn<> zoAvYuCp99f5E<`yvWTiba7o#f@_ppbBl*UU{kiN;2fq9gOuShjIT*MtSB`@ot~443 zlm2w>OCZ7sSgG!Z!PuAMx^!eidXjeteUftIdxIV2Ao-Rze;LgEemtFj?T)<3sUN*M z|Ilf;oH+<*aub3E(dRI>ra7fWTspSxx~>qe+s?UsZQNoyiJlrnca^tiSh0T|E5CRU zWS>|AFZPNdYNbQ=rPYg~Ein2HT!0N9A7)rSWUBCU>8AEea7S4jxcy>WGs6jX4%XnZ zbrymdMkWivgb+*!!5r63$81=G@t7(|IcuVKmOl zMHr1Qa8NcdE?df};%bkVHeeJ_P(#@eJg!={J1`~c^SI-xt3lbL|4??b?W`!< zB{G~%>4k>z=+opZi71uP4b*{RH>m^g3r-iNzgv=LUa1TP&NPl0wMo=dV=|QJH#<9S z20Q99X(v-P71^+)u(oxJX1%4=R8E7qjmSP<=q4XiZDSI<>lXRj9Vd3k z$%a~9T6C4AZqZ`QY&|ZoDeQO5m~ZQGE-x#4$YUqPq#>Tf<<%41U0f_;@CrITuRv|c z33U?P<}2YE_qwO^jkM*}enNW3MIA6E=@p7CWXU6o&X8dg14}ic{wtm#sVV#(hU`g= c2;8!v_LIm9b)O6+`o+$sPnhi=IlHa7ztcO*H2?qr diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-firmware-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-firmware-l1-1-0.a deleted file mode 100644 index f0eb4fdd28dea2a7487b27af661713c34771c9ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5500 zcmeHL&rcIU6n)>#vj_ed z4j#GsfB1KZ@4cDXPNCfnhe8ZYGC%gsw>#Un-?!gvAFl@8FOApvm(F1E%AW7}?n-IJ zaa^7h_*+r?TC2csc8Qw8_5xYO&6fx&meMRdW%C5@fJ!4%$?S@?PqSJrXD&5p)ZG;R?G zb3<@?9wkv|^$IA70!gBvB~fU41+U;1Yt1GU>rpdQC;UAF*v-^~JsnVSGk>&P?%bLL zGjo?6g)#D$8-+1)MtR6(s2waSubi)GoJzrPu80x23}x$L(N`x-7Iv|{f_G4!8Q!pG zcx44&v|P6Hn&Cb^g@^ourmmaeC7sttI3R{ED2C8e9>#EuH+ut@D8`)EW5Vh2`F;)q zGe9kAe}?mOpGP)4Z?Hii91C*>>T%<1drwA~X>bi%;Ot5*P<|<={bIgjj1dwOz9xLDg*7y2$U;2z6}IU0^jv_;ojMa+-kI3K6EJi)fAFe-$d zb9(laj*gG}G2&+WZe#6DV^*a~nLtIRnan?okv&sn2Y@GQe! zm4*$E8PE*>X1WKdF*=_Ltu8h5jE`|An?ydS2z6OF!PaV1XTSZM_;!`Oi1kvk(~B?n z`i?_hbgLJ|uS744$N^iuWXI?QchCQ|UY?UIu=Mq^DFfVQ;TQH}^fLGXk^Xu~u#^78 z>ubid)6A{M@DrCdl6)B@nz@X}WFY-3@fm=qX)F<2q5PA{&VUT!@mRWFzE7#O3M U8{skODoA{T|CF=DPFgen04v<*qyPW_ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-handle-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-handle-l1-1-0.a deleted file mode 100644 index 61041025a30ec4c5889dc99ffc93b40a78d0e3b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6006 zcmeHL&u`N(6n;%NHpUpgcGv-=fQH0@mZa;_4o#@ikN{~ClK=^Ez)RbVgr)7&WNe2C z?Swc^91(xaF8o`J_iQI|*JSOGx@lsTVkgg^WBcWM{_Naew!01Y+0+xgH<^p3Wm?A4 zLRr@hUZv)`US2B62J2G*Fb$v?0OL0SCS7q|3jyew`6{kkdjNFJexr-A6~^8LPB&m{ zPUv*mN~h_t9j|R~c?^x7RkfJ!)#;Mfme+1{x(*{mD4Bydm zfHBvxn&UHu}hT{UW!Rr`E<%l8^~=!iaR zrMN{}%}S@WWp|y|_0LX2jxwmlEwXA?{7w+PzZ?yy*9grWw-FXQFCdlQ9Y8l&Z}}{Y;xqC?K1X?Pl78j>8po;=Fx*$f zhHvLUz6(&IDQ5p^ z_Cz^I`wQ|P=s?=E6CKE`JtG}3hKmGC`TH214t8;E9Hawl%KCYhI`Bd1S7C17>7bd8 z>(haDIxdcc8H|!)bpSy5#fR-^e|=Fk;0}(RQlbHmgn{Q8e8-Y0)2(Iv<{b5T`!5b% B=biun diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-heap-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-heap-l1-1-0.a deleted file mode 100644 index ce95b8db92b2a40526be490a36661164d4e69384..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13830 zcmeI3-EJF26o8M{Nt1@OKxrXT1=^zUqpCK$`PtY~R2c>FBjqAcS`Zg(HpvE?_$RU* zXi+aBgb+fg>J>r=@en*g;esdNL3jenIcIivX1!}?Ea9zIc%+$GpE=&~&U|y`?9BMu zrq|uC-&}aZj0bz&c5KJ0u2xLb;vzLQ%}RAG_`>c20GI&9KLF1C0&xCs5f}dgp!oEk zB3}9pfZ~;(L|pn6fa28$BEE!jir4OoxV#5I@wFWhuipfqSh^vibs2!->P3pKyXCsK zdw#d)?)ZJb>uz-peD}*n+dFQ!C~P}=eqA5yG`4* zUCZ@cyhFtIu^W?6=^d}xIPm&@&0bMeVq(&}-EMaF zk7{eGl9Z9gt;Sb_cZoz??)TqoA9lJeuixmjYqq1_>Q=IlzVm_qW)tfjP*$a+_5O+9 zy{F!L#ZvE`T1?;DPCQX4q0+az{^0XOA}W8&@AbQ#d+{bwgru|8^^2~)0UXOHp@=hrQaZxR5sDvC2PCDLRzuXB&@UW3zHiD@!~cPAYK_A#BX&0S!!>-uDGRP6-W4)(w^{4g_5n(URZO>xp< zvX=rnsE5A0?AK4) zM?%7s!4nt<+`3{MQ2SDw%And7@tYGPgOx+ZDW|asfDT9$4EPRK%HTUd(;tg1Gf&<5=rDt5bE#~$HoLd8~p|`hUohg zsCF?XggphIu`VPplR^*-IK``&1DkYdC+be~yupmG>M^do%Y=;I#m7C1@tvUGDa(@a zPn3E`F@BJ)mtee|t`{**{jJOR1!g>aEy*|MSMa$hNY3%qGYSTLkJrq3__(89&N3o? zMUVIjzSeV)R((qRazs2XDQFYF$i$0xY=VO8g{n%H8AwC=Vh>njP?ryh)CeH;(wDQ2CPi}KC+vjNqT^W_-lUx%DWD`OIKDawX& zON;UiTdv23KFlf3>u32eA1iZzmOjj$Qtv1qrkSpn@L|44*NZIr^Vp-hKForkJhs$H zc;wl#U!@1YAc?OC0jCE1h&fyKloeiu{aBlb<=#w2fmPKS1x__->!*H=wDsfoHRpL0 z1Z((6N1o}w9I!6wzaB^^GvGT+nSOQ4LSi42X2W|$i}wvX>Bmp4zT|xg`&HNK&ol3X zn^5`Y{zbwYgXDfw2skz1XUv)V!N;y?Y|Ul!Mr&w1(|lRHjRA6`;Ejt@V}lm~}haDK?M5C0s`Z>lfzdLW_9fNwEnUq(6GBUx94+0d@J zzdEIzdvTcGG7jxCOuIO?C78(XO1w7h$|*HTyDH3vcHN!Usck1R{|nlSf_8BL5%2lG zun?&-cvVSFIsz{KG$7^EI|B(HyxeMvt@q) ze?JAe0%-{Wrv^O0+#Pu2kq6^5vhbR_u2#~YnUXIp{5a&p0Qm$+p2?>jX9|-1vJh}; Rzz>)YkU!#Y9+N$F{4ap8h@$`i diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-heap-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-heap-l2-1-0.a deleted file mode 100644 index 37499453adf4719d1cd6723c9016c792db8f26cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7386 zcmeHM&2G~`5S}AzV0#Gw&I4HY0p>3OEVg7lwFN-+>@!)H%K%g_A%^M|{2A42->C}mScuI* z&>x8B!7%8H$Gv7C-nF~_UR$8D?bSRHw(C@tw$tu5di_8UqB9_@;Okc4?}@M?T;T{` z;2k;v2!Yz>gysOT(QEkOW;g6LcGs&oS-Z0*(n`j>2p)xqT6Zf6l&NMMiu9edipQVy zgCI4NR`Ix;rIwf^(mf4(bwAX2`LIcyyo!EcLbMW^!JF2w+>3}ajxny|c%En5o`+Q8 zvc0rXIDuatV5Ib|!XxY8d@a`pg9Bjjo^Wlt;f<=s z&S7T`pUW(KKZ#q_dcrM^$KBI78#|{naC#i+Tj~r-NZ%6Cw?y~sxgz`>1 z3>5gsPk>j29e-CVl-{%*O;t?IM=;ZF);Nq|v*I|6VK1^lu|P6elug-I^EmVy4BLs= zP%PLeM~l8YVJv8%oN%mIB4)S#fZ6xf+!1Db_ysU1VwpQ?W>@$zP+-tyW?xn8pf8-o zY>hWt0~dLUIj;MJ)BSXN8Wjsbl6-!F?Q@2Ec{twUK#p)M%oo@hw%&GkrG{AsN8kr+ zUFip8U$SXj%-ABIdBigqtT|3C`6fV}r4$x?!_I`4unDb=YW-!O8aP-y=~xG@7Hcx! zux(l`7T6H`$XiM_vV3Y0wX~W%SKOw?p4@5?MR)pQRh;alF)zfcN@BIBA*Pv)i+qai z_W&{7Y@CO~T+X6gR~V(j#{T;ACS85`66?rYI46+#2@Vj$XdYrDz)7sqzI1K&M!acs z4FPkNCGHnNF`O+#vqYMBHP9G->x5tM`_VHYgB1g&N8rzo@w_~>7P#S71_<&NfonAGy{f$&pVfoz|%jug)5@+wBDT_Hw zmKP<<>Db~wVR`a|hI6<`H5Hau^0K@(%U(vkA&TXHlB-*i<$TIU9(J5_^$YX@SmJno zODb4e@DW=X&-J0Ad2$--rowf1#&!BE2SxP5+?N(0K6R$K|9P&*uNx;XDcw}K?&Re9 g>hp0P4-0d7xpZLzyJUM diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-interlocked-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-interlocked-l1-1-0.a deleted file mode 100644 index c9c88e6e5adaa37946cf80d7d843236801d1d12d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11308 zcmeI2&2Jk;6u_U?`D)aP3Q#FfU<-`^37cKV**GYw3`tQVm;aD)sn3T2J>a@DGo)g?k)hsEVh)QYrHLP;AWQ@OxueQ^6J-60$?>b_JucPTk zwxkw9y>)!x6+0pB!#Fn$!?G-0w<=|SVc1{Z%`G760OcIO6QVSqD|*gtPn3rzIvD%K zdd;g1R}qpb7!QgE{r(s=xJP;}UGPdd(4E7=9NrfX;(AhVEvP5GrQv$(f!=FaIIGYL zEqDn*hZlx9Rwe{(T5=BX?9g4l4Y5K8Mt0exP4c z#>4c}TKz4r7w-I{IDmxGKdCv4gZn!)slU`6B%+F%Q zB2Y>zz@nI+bE1^S(i_6dqB;g)HE`rLPTI$^M%WrW1{%cdN*ZW>X-=cSR~mWG2|k2! zVCj?-p#ZK(Wun2KSjc97ak~2#f2*`ig!K)>Fb#>>I8U-}Y%szW#k72mR!rMRvT6R@ zsb&e|8z}$4w{*(%)AJg zFW8ECR-atvTVkY$G15IqvZy@;>RpoZjQ9;e*O4`bUqhJ&-(afR9S_|$XR(hD2{1NN z60o|SAmB@!gmDCX;#&n}SrTx>`W;0;SFM*I;I3LPB;XQ`FD(IQfbF8=CnI4&(@Mf+ zoC69G3EQ$lq#FE;IX}9@hps&IC{!{y_rsF)vM{LE-(sLZJen)wZ zrdluIIc}--LN@UAV`|T_$k_% zD`q@IzG4y{7B~;l``W4AMZMtLe#8TQhzNrQKVX^j5Di-i#DF+cBGyt8K_6;Fp!c-1 z-IISh4L!tj_{7tmE#^59!Rvke53C!5N1llYFZj* z=LmYR@;DKGMGU>fB>Sd3ry=}CJl!5*(sM*OY~{8oF3psOQc51m$#cZlXdL6t)%)x` zn&r9rChK?9x!P0fCC=4fsP#e~XvdJ&J7}DTfxkTvbJM(YdW8mnA@UN}WravJ_yu$B zB?g9{{;wg~ez!2wQj+{~H=`ulL+SYR(^8TfL5YQYPBSGdf(A~>u3tl$2ESoCf|AMp u{FE&zX}@vLP8;HhOSh8TUrln_03;>x|2APq|NGNMV%U6pr50wfyLtpbAgX!* diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-interlocked-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-interlocked-l1-2-0.a deleted file mode 100644 index cee5059d6ed36312b466b529d3811e677155bb2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2776 zcmc&$O>fgc5FIBeDNzv|IB-HnfZ%|GohEK7RVY%01X2%?5a*2>JJ^krRIw|1LL52v zk8t4^^dIn#DD&3qWYff?9MZ1j-Pzf(2!y)_q$({fzLwfA>j)3oJ~ zUYllPzo91dYD82aGD2>;MAct-gg6x9a}rDw(GAjIDh?-pAihRp?=%wZjNG;>;^-KU z@{Xc$e=-dO5TgWGA^Xvo=f{)&Fz`j}h=#C*CwQSzKthCp=Wli^5+COW=$<9vQIw>g zP`y9zI4++d8l8$YAo7RfNm`%GXfEQ{v2E97&fRu%#_y4Fk0~Z<8blAJwPn=P;5?Of zab=R-tNUK+6+`4mhwRJxagwZo(Rbh?Ecl|CWBKB#!spV9Trb15azAj}#kjp3_nM8J z6}Wty#bJ#Si^X9<9F`^yD|W1gW!L>UCaMpjI8c-RToHXS2Hr4tD8J4jwk%)U7ciZ_ zQV~Yuu3UuCcmo$@1NCB2+)B>2c<3J($rn^nHeM|*qI&u2z?A5O>)VM)=sf%nowx1Q zlFnVehez@~DtE2(hN6=mvjLqyQ5wNLuhMyr*INxYiyM7Bw}H#;>+KFZs)QO}fU4x@ zfwXR-^iX~+8O}wjh6ZVPHXddksWrNTXprn?(ExtI>AdJ)n(WL=@gc#v($OM9i6U8N zRf&GHaXWcpvw29Ryc!}bu~D)xTbD`pntFs)B`rT##Yo%Gw0`gKZ1eMm$9qcYXw1!J zlG&FZ_lFF3qU}rbjI)qQ+Kfq8<7N?t^$r;GZ8gs2VOgGX-BB3j;>NtZdWqh}#oPz0 z_+J2{&>!}NUWxAWlkttdZt0w3>+*7*Aw46@tU^lvk}>SUv$QO$qFBo_3sEEA7iY+# k4D(U2dlog%WuFM^WS$SogQi43xnA>^bE99OTZzTmUoCCtX#fBK diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-io-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-io-l1-1-0.a deleted file mode 100644 index 45dd5592a67a2da274c9967d1c385bdf5753544d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7746 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 Iu!Dhr0b<7-4FCWD diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-1.a deleted file mode 100644 index 0154f3be50b4c9780751a20bdae0bbcfac5822ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4340 zcmeHKK~K~`6n@=Z1UC>p7~`=fdeE@7U7L+Dnu*P*AEjcw7e?YR z?gsm@U}fwt`yz>VaA|EP?(X)|NC45vfEDtd5owSfC%qu#brMfBg(m{ROLZa=q8$a{ zbsHnG!PYm_i)^(P*lgU{7b98&wN{Ff+ShS6d=q88gLF6AYI)6kwGlmqhv{+O=?yk( z+%9>p>-)ZK`zvbKYpDg6q8VfakFSE(@6mBus12;1sx0K`NS(q)sOw<(^w03&?{W>l?b#YOa8zB(`!f=eb9%V2x^H`u=Ht_*Tg&UT-7;=cTn+D)^) zsU1oWSOD7}X_jE8%h;ad&C$ROqQ{)iW#Dr8{5Z>sX+n=YFfIKvC#9=!y)E-B!?{V` z&|bfN(EXq^l5KPY@gTjc;sO4JPlwISH|m{7B1D37u46=u66w#9a)rL}IH?MA-8D=X z%sQehbGbEDs9jc5mR!$>vT5m=BW5y=0pPW{_t5asfaZCAQ?ng|eSI}$Py?`s3vBG2 zVV8!rr%+Q+6T@=cAj+`bDr36kIG?9wL$+yYj8^erpPoI%-O0&N2aXvhge}E6*a1h0 z?((Jli+fWteGF68(dt5GEta)}H0PyZ^`iqq-C#MSdUNK}8mxM}u`0DTq2W ztfMr~<-O`E^ofO$15)|1X)Y0FP%f1CN1$^5ndi}@G)3QU^$?p2x3 zzk#yhKjJp$>%93#IiINTUng_rznb$Os^o6ud`D|AROmDJqVTyF{oYRKWL5tKT1M3u diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-libraryloader-l1-2-2.a deleted file mode 100644 index 55126ff62acd2af7b096052b236cc3589fd3a8e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2752 zcmc&$!EVz)5FIBeDNzv|5JKW&Bsd_|!FF3Wkt!6a;(`!DNC*x{8z*syRXeHd1jwzQ z&_Cc8_=Nrg|3jI#UMHI-ZsCx0Bk#`6KJPeh-+27=$WOY1SGAYsVsj20&++W0+cZsE zF6q5#x{YjZn(Z19Rfvo)JiH;Q{=y~1u@E2AAW6mhU>qdkc+?BT_i*T+hJu};*YHFX zc5o?g91gpqBoIKvDX>D$8IkzOG#dFm-Y0T|%RgW6R&hW=3yZyHR;_0f#lB2FFK_B_utz2=vurZ>Ro47d;*KHJZ+eAras=hB zmyMkjxO|-jVa2J%g0LV6Ye5iJJ5}p}ed81raUXFaQ7m diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-libraryloader-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-libraryloader-l2-1-0.a deleted file mode 100644 index d4e8e239c3f5c44b7fe4eb738e701fef81404224..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3640 zcmdT{&rcIU6n@(liv^CY}+mhV{`T<+ z`w>HD0i|sr*%0M-J2g)Ko_k?vFuD8Xv z7U5U~Z(uiTAM`rXBiIJFpa&6MsRxQL#dKKA?~Q!tO9~NS&2?%?qX24K!Y;rcY^RlF zZaR;tq*)=Ar7jjvN^Me3SzR_&Ru+-@j!dR20P)&9d-BZUZwdQbitW_cHFMNT=)?OGTyd8` zAaRh^CC&oe#h;8fJ)4#pb6UE1Iop7ln?-H`r2!E!S_MZL`Bo{}$TlO&5&NZgkV>QR zRA_anoCWa=K=Vk?JLRFK0Kc)GcuBh6Rcbo-zM)dwYbvEyH}a7@uVW0*B&B>(?4f3w zO4&Bny-F!@KJJoI4)bvXr98s@H5CR;Rq~YrkaH!*5&yG7o~RuU71Gc_5Ig&cHOtxd Lq`wJM%21WRr+9qs diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-localization-l1-2-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-localization-l1-2-0.a deleted file mode 100644 index e50b351fd3295db7076b98c3e6e85cbb27c2ef32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50966 zcmeHQ|BEC?6|bGW++Eho_sdI$3BkU(o!;9? zW@nC>*>e*moDw0Zgd~J0K_zGqMG%FcASe;?5BQ6SKZu9~@dtkp$&ZQeRdsh&byfFN zAA1!#TLslU^WN((RrNmgs_Io$-~U9Tx3c!+*x{la%2VZ9xmG$dIaw^0C`&vRi<486 zb#}%1F+#{DAvf+LZ0*CiJ3T_Xfz@iL1K{+JMq2j5}w(LWP{@z7sb zJp4C8FjhWbaq8cMV66X>#n1np5R6a$mBrbA5Q6d8zgRp0zcD`bUly1CM+n9*7FayJ zlMsyOg7`GNJH}@|WbyocgkW6R$Kq;*5R9#(EVfS)g0Xv+#U7*^}K&5_>J*3crT1^jIsE=J%nI<3wRiR2t15$!*v*c zawCgBh4;ny^P5@x#Yco-{N)EM{u=TJy(f{r4 zN~7I+p)qK6J6^l&RlJhd@Ze7CKJmOYztOzL&m!Jgzqi=vT-<0}^iRTL&&`x8@aWe1 zB~Q{3X3IyxzIm$bnet5fa&P-10OOyDn}hhrim{j z-UaCk&CcoWnNDj3UR->OIGM`L_E%c1xD+RzV6}oCLXnOPlM48;x+P8x{zEP{HrfH; zC?KMINt1~2pfCX$Q4u6@V{}AQ(lr4OuZZeCM7WT7dLB@fYEgWMju~AuJm=ZviE`1M z7^`4k=xiVfR@^!paQY&#$Rfh?}8+>7Y zX>M7{s)zzyUZVkMxf#}RBwCUzrGq3Zh`80zFeDPbgP1&imw+QlgR$2OGX}^aN~xLS z6;|e(<@Jd-C!JpZfh6MkQcYEuN!4kAPz-EBOjq*mrkVs%O^|Fj{ywyQd%8U!7 zrW#ctI*vpWZ!F%0(&sxH>kLv%ar)1 zNJ{4?nvFptS%h+CNa?+a3;q5OF>(dvT6n_))le3?O=JhWml){%nA}uIN4ed}a?_#Q zBk*I7MlR$-*JpgaKMq}=aqRkxw}r0Hc)L7a881yV+ifzj3N=7*(MKN>a&cs}@mxp< z=wcq?BS&M;MKLk|pzEfW5%O*{Nk+&w%!|wsM}e{P_^OmuyX4hDcY1gbY=b+ES4LB)VTwT*lNc%Zq< z@PPS?dCG%W*RXe15JH7RUB@$Gl#plXksS);Pw>OiFvv9?X9>o1D8~AwQfaErfHusU zOqZ(y#&*$+`8w$F82zPUY&Xyk0snNM>v$?&J8Kfv{#b%&<-Q_3mvE~iS(7@*tm)+< zjN$#B0GXa%t_ExxQ1@m6nScbR;(H%Ig#TWJ@kbsWC$X`sb4=^-S*WFiTn~}uG5!~S zDF{>T3lS|bwI(FcdYVi4l+lpFEk#J7DVMN9(}?fDu!YxSz{E1F+)4klI)G84?4vSo z!BIbkmomI(WzZ2V4MoAULje{dQ(%1?ZL3jmB#wgF?T3P)gVuIYP%}h9iTRz1MeJFy z+G!J1XP7NmX6i+?%%&}PT6k`nEokcHqRK3^1s%OyWDBs}ITOers#wt5f;xfm^vExf zZv>zX#DHx6DCc2%|7Ag6Z0h|5 z;kjvg-`2}1dVg6j7wP>zC|^^(pGLip4-CWgs5g0S2i*12^vu-kayuXM};o=f?FX%PqLgHiMRT3|SFkve=ACL=3ATsp}taoM(iX+6*DdG9na)RRokw5#W3d zsHsT^!0{GSn^8doi1S6ZgU=zJWMOKMo@EmS)gz`TfXN&*@X=P+ci?@8EGQ@wWyW!? z?Z91FJwV_srN}%2wLpFVM^8zzUj&L+12{AOq2S-S!(@pQTJ!_-Rj9&>!&Vew5$21KIXFP`=aV6X?~Wz z?;#Sb_vEX)a$WNq^?j8j3w_@Np4HZmvHw_Y{kXm_Z~bJ!!RJC8@Lpf8abPt2I?#2V zWbQ%Mv#g@P)Q9ZaL0i@idQ3(^t`T6=4wBTI5B;cQtD0}>3$Cd3{}pHy44XZ%U1px* z_@AjK?9oW`#r-hy-4nQn)(fH^;PHThrviB!j$WwhVzN~rC|s*}F!l_)`E*#aN&SK> zb0Z!J@epqJ0{8vY&y5JM5GGk^4M_}}2$(eW3cIxk2!KQc;JBcvMR*tx5Z~Ph@1189 z7_CK6lP&D^lf<-&2Im__MT~2Cl@j3)u1MR;)yW3|4dRYl;2_8~5{!Jq@g$4wA~`cC z$0`PleZ%SuYd1#3$B44Di5`k!0P&V*YhdIhlQAGRi9`fYx>fx*_7J>lZ#Fs<-#e1+Od;k1YZ_VAd_(_m?TA|QySWj(=7&v~jr#%*GR>zOgd&>q zTB1-qbf-Rkhx&KjvD0AC#_X5BLEB`#s_= z6uM=#aGyM*-~hZo29AQK7=a!O?W4BuiE$OXj7u_G?gl_Yh zZ(N|y90SM2V~jwL!EP;q#t+%p+Une)NmFm}q&j!#B?F(?GfYuvJKE-o<5l6gY5P-L z(#t7hLNDm$q6H%8GcvUg#Zd31J!^6GK)x|h3^bl&;AlX>Q-S;pj-hQ(lFrA70+i?_ ztl9+UPp0L^R6lt&{;-{lviOrf8^;FS2|nMrF!CqIw4Nqg+EN}Hlp!WK*D4-N{mB*8 zpL_+B$jz^ya3Wc}Y4^qP0ADb`yX3hKVKmn?hKKlP9Yi#QJeydkn0l7ooNJv8iP}wB z=9=D1u^@d-WqaU2O0wWoMvQ29R&ikJQ+6{fQgM*QCftKKi0^EebDLl^!$Om6sfiTN z6UwxT22<~{+wCzG4MpIZ_NMRVXwZ(g=DDS0wA*8Z3SIK$@m2se@=;f}})fs~L zb&p|Qy+u~#5BLio_W8f_* ztT)0?ATPsDY)M6*LytZP&nZ@Q-PD6!R(la{^$+hwWEpeXi@MHtNx}tixwZyIE8t>D z7WPTfa%^ItZ0fl#sk>yjbr2i_SylkuCSxGi`j4JU47|?Q>=7wxd6M=sx>emb^;SEd z11)3LG>T^aMQxod_5ZD?`)q`L`+O}#PO{wk7xKb>Yrkyjp>{2xEknR9G6J?u3y3Q^ z>=RtB5ie@}s~oFVzF{-OJp=-VRRoxN zp51CU9a5rpP?ojOHz5LW=~rj93m-_xwf5tzT@1VrpkM74CRd)bDpRfMy{Q-3wf|}P zZbke5M%4S`t+u~(W?{K8Si>7{hninV@=T>JG=3C@RRoy&iyZ>C3;{O?2*BEZn;`&` zEVq3E1aO8`1ekh=%j)>2^8xVj&nzo<_8LYa{jd_({-F8@L?oKY7FUkR&ikJ5q4ioNX0=GZ`c^c!7`fv`OWR{tw5~q!{o}& zuo&5<=9dipz_lalYJNBGhqr^W%=@{XYksc#z_-x4Kpg)G_XT5pn{UGj=lwACmbP{g zNLIDo(DPfXtF3;g?OfY&wx8)Nx811ivvbQ#C)oblJMj;>9^x+g3;&D1CI7PO-6jTJIqP>&GX6 zxs~4CoiYMu@j0LRF@8zW;cKwb7{88T6#=H+T{p)E6_r|gVTC~C-OXYHt|P}=ohD3k zJ~imIIv2Oc9G_T{XR4*p&86j7#ek`&*UfTH#Xy#EogFd;a%}8%iMC%+e>*8qSTfbj*p_W<=@bV<1@<)<{5rt(9O1yi{@83yts8v93)#9-ugJQ+uQ zx>PiY#)HW;kc3E5!b-l6Cj&o@e)w558Ozv_u5_d?ai$~yDZ{`Yu6Zqxd*kEel}c!*S1G-~>%E4XWsW{x_=GF`tNj)R>Od`> z0d?l*0ek diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-localization-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-localization-l1-2-2.a deleted file mode 100644 index 038cdfc5fed819ea259a48e8903d2cb7f73b680e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3608 zcmdT{&2G~`5FRHfDNzv|IKTxN1QG`v?2tG?s!*g>AfyN(QLb#=#vyKuwr5&84ZB$h+g+Z@u>H_w8(MuX^L{{*%f>bJCoK<2tVW zxYjaFo4fSVG#}NmgKe_{0G9xap8%!r0Odc)RXGBv90{=|#Ouf(N8+U)`(v>->iXh+ zF!c5UfsKLNazz+y(Is04!Ek#t_5~pZ5n%=2hofyT3_f{rFdB-`5jFgI0-rSSL5RNZ zb>l>pEy@>w;=WRPKP8|&PM0VFRKYsNwiv7X5-}CmvSR2_=17~8O`!4Xd z;_67PPu{vXw(YvEX}YaOx-K09mj$hE09<8n$*9KuhnW5R!UTJ>+Vx^DAHqFtun((S zQFI0jz7j5=2i~nKYzdtbzL#$Nyad-!?Sxy-$2Ar1J~}HIIMt72vIdcbWU`1%mQE%s zbgY_Ht9HW>s=Xle<)FXE0B?<+x2qatyB-zrk+li0_HYbc-m;rhOm}f5uJK2eE}H2z72E6R z5Yul+me5LPF$^Hvcv&c?ae%|_g7ON?y7$~-*2M|TGYCvA8>g43smgmp9*u@vAkUP+AU zUib7k({#n@`~rF==4=9z^&BOd1xIPwRccquFB4kfZ=`ofv_<2|X!b-aH~Bu<1Co|B ze2n>lW%j9P#(`-e$2iV3tO9#J71XCy@C^fTmI^i{GpJgm3U;)4XQ?30#-+=sRPZGm zm#W|veqUQ+(3O_00)YJUE)66m{jZ9+Bfp%Kl_=t=Y@wCN;5(>FbRZ#pvd zZ!On&VCmRsX?;z%tz*i()v?^+)H8MBaAw4-v)}e~XxP?whHp(>-R|nDuIPr2Z*ok~ z^@(YW&bcqpKQjGKPn=`Z`*7+xhQEJ0==QL0%Xy$@&`@IU#Pdvd_%M(;jEkfZC7EPD zaUo9KcTb$VmSYCp%nk=?H~h3zQlb&xqG}leoJJC#J)HTbLz8%5+%vJ4z9^GMC8-Y# zKkK_BQi6Z~G&vGMA|y&O(r98r!g%%!+jK{U_pv*kVn;Cz$TaFlY-Rmt%7j!|3O`_O zI9X&E4c)K(&NPC07RFUY(KN)p*5Brf!cp^++6KZLpjQKUk=52~9p60lSv|XGfpXLt z8NQLt!YBh!o_3CBvn6bBMtl~%@Om%gUBk*6ewUco`vSi0u$}m}viWvGzMELNn8Fv* zaUp3tvoquI_!}LW~(WsHe9<%D^-SG0Wd8!9CuZIRxYaW)Q7cqevVa3;iy_ft}7L;ozHezG%X);P?id2dg}#2At8r;G@0Gze2+W84dfV z%x21qhHLo!l;&u_ELgZYLQiq=j3&|lbJGLt{MpAb2qM+I<&}3(Mg;h|nnM48lgfhoRx%LVP z6z~JuV6TutE7TikIdRaHy}=n8MYUHTbl^D{=Dd4_4Tgi{jY7FSLaykD>^(W`<<~65 z`i1SBc&MTyX7~SvUsz{&5bm*X=UisLkUKgOhn$FxWKyACp_dZ{)d|u<6s&TBw3b8x zUb525%Z!9vCrIQK1al8>zULuQ8nI9`+|G-JDn=rU&GHGWprIk7;s0@hB%wjtF~r~y zQVYdHHzyvddp3eYCLUJVJJ%T=#DC}}#V^z( z90XxfnWLoKduI^~;a~9PVNxo!P`{A--dR3VtHw&wrB|!=vC{QXh9$sgwg?Q7p d%UkGChsRj5+l9ErhnH#WKg$$GrIU+5#6J*R>>~gG diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-0.a deleted file mode 100644 index 119c5fd64524d73c022ee5ffc7dc1c08c075732c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14938 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 HUS07o)X`6m diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-2.a deleted file mode 100644 index d0187b740d5f9cc9e2045892f5aeb3659bf814b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11358 zcmeHN&2Jk;6n|bPO&YbL5-2L7pe2+d5H?=N**GYw3~398HjOH^LI`QHvDfj^wH>WD zkRXI2gb)XWazqGmuYP`TGzK10N^sf%o4zy2C(qHh!=MNC|>$T z#HW7+pt$(Eh|m53K=I07BI@S=D8BTJh}T{Kp!n(yii~YAc7I@d1GZ)Rw#PR5Et`Gp z^sGIHVWnf%P3Af~6ocBX(`)uUn-QWrAS~n8UAx=&4w-8(gH@Tuu#c_{jCE|QHMUWJ zJ#ajK-*Vq_-G1}t!RCI~YE)}Dtkd0NS&jF5p1tb~aK3L_tvmd=H~YTRcAA#&^m~oy zeg)t?wVrZe_w1%?Io)77;-MP#a3Wc)ciU~-8@|V=hBsw2-m&&*#kV?#1DvqCW$oI7 zMtoOh^EbVhtewHAR7}&=}9V*-9mgQU75Z=;&%A@kmV2}fYBf>e<;niA*ox#EkK9?ML ze*(7>))Q_%8@C$bu43Ur3NCENZK%{8lyDm=(Kb{P+fd0hN=B(#Zn-W3%WcQCgB$*S z46s{hTMxsEpk9_A4OcudCc$Lc;g+0^k>pm)!bmbBITQ<&4u?RlTwb%-Gy=nAMH*2o zEDd)OT!p<8MgyAo*!TSf((leG^m}zJsoy59!6iP2nJ2B^)j*VhW|Zsq4Zjnniy z#LKyai})h9hh@Tr<&*gZte68ziTQI}J{NgOMaw(fC?gyL*BEH~o&DZJQN#5No&XcL zbOjSgz9iE)$UBU9<^(r5IMi~=iJbr~o{B_+Kd~_OC90^J-A3RE&xsSDxKi zHPCqQKz3t}3*!iNmyVaD$?|Gb%{<1}vHiV3zbVtlXE&mKo>r}fgY8J;LTq1#>_#0i zZaOaF74^4{n2*wNCN}f1h-o9h1XY;nj~>5FSI5V39myfNXcU{eVE*xuj?myi2mB0cRzPGQ<%+PkIKyDY~BmjV?Iy9KQyjend?@ zsG&@QZ!yg}M~^&YkNMzF_Jw#*SySY}3c6e;cGKsP9xBoBJhxTAP*kd906 z;PZ4`#DgWApDGW|Lylv_HD`J`@d`dag_sjtqJpOy{DL{l5kc$=sQ}08Bu8ASD{`e) zOK{~Y)So=AY)d*eNv?b-jXR1femX9}mCw>~5m$6ve^su`!${Yk@43@zJGhBNS;RcK zjaOmN;3q7yk<*V^k`J2@M^+U%V$>5HIYPb30XVT#;HPCNgl-=t1frYaN8JPcY|VKkyQVv)62#5PrHaSoC%ZK?17yoZsT zw)7@7t8qdWVMUP#)%e@ZnWvrP!D%eQETnygm~I|CPejHLTZDB{!BY*s$DE~2TVg_X z^MtriQ{;k~^tO)`PDdT-pV>QlV+K z5wFn%FvQ$=AS!sO!Eczed@;oCgd%oAtXWoMO*P4yGoRvW#G2DskRqghJ)UZo;BOl| z#4NcU)KI3u516vlX-g(#MEiu;P*r5ZnTO3+SD2E2cb?K9?VpJ0wi!wucG|RK4?DAU zLQF6enNUl5*k|u!W4oXuPgGA+1<3p_hyDVZYWqN^N(!-k*c25!)!=8$*~sZPPV*Dg zq~1fRe(7FLezo`lH_yB`vL8ri^-201ZE4(5KF3}0l8%c`PqbgEvIMeOGSv*B eubdQOhTIYrJk{Vw%(EFHouV>XBrxN(AO8Ta@WFQg diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-memory-l1-1-3.a deleted file mode 100644 index b91f642d138d9f80ebac4b1ef6ff3b6ef7b4aefa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5286 zcmeHL&2Q5%6n{-OHp=*zgwTW#1Q<73l5R^kG)BZr3}m#R$>z2+R0;%W8GpkId1T&gPiO@Ea`) z7;9Q)V`NrwRwdXsd2{ z-j?aujWyG8UYPE#<$Kk#78)G_de*ht>$YP(HM?EAy&D-XhvU-$&@esQFLfeG>qgk@~)OSHy^X4mXR06n>pB3edzyzF!oG-_5_^cV#KgZv)rh8lTVDzvg#2bnA7j z5Wi;ve$W~x@jJxJrG$(0BKL=N!iDwIKArj|*39%BEifZtT8ql+8SK2NJQkH)qoyU>d- zeQ{$EF-|fr(iMGg88PpYaRzqtG=q6HzywWLsK+M{=Z*G9ZdJf(29kv(E3z(st7 zpXpt$$-X9&`FKPDIqvfK0Rh{&r^pJ9l45C~St+9QX@t*{euK~yji*G`g+^}kcRXW8 zEh|9_6$*UEe8Ayr*x_u%$3}`WTn*)nYS4S<>y6xhH3UqG)Nlh=JF6O$P!00gnsWyC z6)exA8gAk5rqolzW6{8K1-@Y!szIK1{Gt-?9qk1wQi7gQ3G?FSsj76J5K8!p+rqH8 zPz&}-D$X)4yp`+@iVJ=+E*2L)C*vX|(7u>e2{}l=C=zjKr#-KVxK9(n)KkP0(ZF*B zeqzber=R^YeO8e|%czfXJW_l?&J5GX8;MtEsgE7W?jU`1lW{S9d`iYe`nZYfo>d%0BFd|=oCfEIw}WAh52{fjOk4utrS1!*SU1$mH)gTxQSmvG{ph6013+jm729?>PE zaX2|n(m)U*&Il{`J`Um}Jrj{FY~ct`;2d!PLW~2?uWc0&@25d}_AyNJsTaNBExewL zk~H@6FqsT?9o#_}pNjQ3@PqJMZYDE|tGKl-%XN`&x7VF@G&2vr z=G?D#I#@%~_j0cq!XpE)F3h7WTLXh1gbQiH9jCM`0Am2mW3He9}hVNg0rFl|Ndpd1Xz4 zsoXWHFbZ$YDvZJz@zB)BFPh|)`P#stYcR|eDWa)8UYtbUm9rD30rcXvXJUu+J^l}U z_x6_c?cy0c;CE=)@Cw(qIRi3lakfbrpP8<&v1Mw z^-YalU)`8}=jqfOTF5U%Q$)z?7ne_{ zJwGQuw`=P^tB%$sl>*$wtKggN)t<^ZE!|wMETGn3t|K5-&y3M3_>@vpW$r4KWg%Di oeQ6IxZqf5(w0e;%Px&5z<|!g?WrUgr{6@e2x8|n5KXvEfKbfgc5FIBeDNzv|5CU;AsN8U{)5b}q3Pq~KseBwL;>6Zz9Aec@qBx~R;?NW4 z9ysu8s$Te8l$qJJvuT{998AS1-W|`r-O0|r@$8drZ*{kHb7J%^`pwtB@pUbC$edSz;9U=B&e-w*%{@5Rhok7PJ$3fp41_F(N z+jK=3wCPdSDCi#yM!q0K6cbkPd*nxh(N_^V!Vz`h30x!cL5QC3b#n6pVy_>0!w-Rf z{I>fl2>n{isiDsfgPhF`gj=1DYb3aJRMs+Z$v9HRied{XV-aO6Nf|42EXS%>J7I{xY8OvYP56BY z@Y(2khlxSi_4tvy;uW6+(_>edhtc9zoQKh3MsX+_)J}_vE5~aEhZbNsR>X*+@pO6- z^_Hwom;%tobI;KV@w@jI{BCT`^4rBTxW{`a-88>zDwJ>^72@|p#Sc2;EPf|=z1MJQ zzUbqLPPjzB+OMIZ4AfHQmpMLnSi26(d;9@KI0`ccy5rta|4>?(XK(|Vz|obNK=GxR zPDKC0$p1W(8w^fZPCaEOK!;n|6yO&sxtEUIs*hG$RyP`UQ>zqtu)KDPY8Hv7i2;4+l+<&5eI z^WVNE{~f$MvFulN4S6D`7=mT||EM@Y-M{32Tl2e!|6w*RJ-~$jU$Sv2{~zG~S_*@z ol5GA1%wA?`0&(Ym&4I^i$CDgrDhqW5_=&BU-S*N8e%_Vl4?xLH5C8xG diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-namedpipe-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-namedpipe-l1-1-0.a deleted file mode 100644 index 37ce0f1666455a030c0a2086464695c18f7e647d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10280 zcmeHNO>g5w7=GjQi>iERS*r3OFx4*NK!Tm7ZYr%%L=YbmLKVBHE413F+qlFuaYEvS z1tGLT9FX9!91udBIdBIKoc4~yi66o*V0qsedpwE9iHlUPB6Xx0kKcLh`Fb9|Gq#_< z;tr2GudKdojt6_&c5KJm-D;So#f#L`G#hq3y5L|H0M-G@Lx83001y2x;@YnO6d(OV z#0!4|P<-Mq5jXw;p!m$Dh|g64C~o38#mg^HWUR&5dn0c+VtZcb4Oy$-_Sh$W;0}C- zM&D^Ttm_|AjI2FBIO-2QMu^^su#BGvZqI8E{DH^1HnW+|q1;n+>eg?+uv7er@OmBljplH)|5DFT3g`;5Xf%-Sw`9Zs;{_C$420V$btV zWXqbhdVEdV{#I{*^Ux3Q-tvN0*Y|?3DX*H2c|&QbxU$vn4Q}DQ(hc{Ub}g)Z*@+3(LAC9MZZ?FMG{L%8Jsgc@z~Bzy ze7fPKdW>Db%mTJc4g7urw;kIFw~~$9iE%GtW=(^O%TeBy-l&4|u8_PdK`ie|*RI$V ztJ>~%30pn(yIyqBzxM$?C>^^eu_3anV@Oq&C+a1bI(|kLMj5+u7DgF28jEs?((w?D zEg!Q*ESiGh<3+3}moAUrBsz=lP8b6^m=^I&C6;$i!SaS>r¾Ih`0vGAZ-UW*13 zE@FmQz7a8mW?9Gb7_S}`oK%fk9_I-c=O>SAXjleHN&m}yd>-bxJUs7^NDxhda|VvX z&aL1?SUA(*0ce4buFwLFFO6vu)aQ(7b4nc?9P^xxq)${jPeo$DpO`7a)1T!!B3iJl zlDb9~hFu}CSw3XP+E&!H%!lN2WH2q=h|lVrlVt_tOIUs_VmTemv-2VHnNM>^zU`(` zFC@NZ%!f1()6wIky6Apa5Hr-{94zMH0;bIf6PfT}-n-8qsdw)tHeB1n_*#z2h;LLE z@skjwObT?a=G1Yf>dI-a0;>PzJ_I7Z^HHK&@G8ZpMygf3%9u)cAE^yORdhWCs$HmL zou32HeS`%U;W8NT9p*L5)U4&}*{`J&_BV2}-`+ZBKhB~cxLmnO_R}*rFZ)*@wFjAN z_CFOdJz>8b7A!H~M@(6&%QLrRMXF#YrwX>xD)wE0RufQ zkCV!vJy>34EWy}&qq+7C>k;=8HE32w zW8Izl`m9Kwu$`0nb#>P*nEy4hVHWcb6vh3Jn_72}7Yi21#efAcqkc?+}YUfP; zje}JT>4qJhB->aLP|0MJi@1 zr(*2glw$7WP|S6OX+NowH{oa?+=Fd+F%E0{9B`|QW50~iud z5&I6Z8t@IKEa|SYwVpH<$ay;-=XdP%p5pvlL&EusIJbE@Uy3-N{EIN(&;BQg-WU?z zOZSOZ1Af3X;(gNPS-)QtxdyUwYQRdbfzCDX|1W-iVFCuz4{*)2g67J diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-namedpipe-l1-2-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-namedpipe-l1-2-1.a deleted file mode 100644 index 89d0f5f5a8dfb104766cb95d4a731c62d041553d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3580 zcmdT{&2G~`5T5*$6srgh96;jWN+5B-!A?^*NEM1yBtSx_5+E*!ty^zutIm&NBM?G} z0}s#}yaBJ#JFmc@PePd)ubp-4w7Db|D|vT3`*|mx{XWlTb<-Q~1&@t~X0bWzj_bJg zqqVka+B~KArn%Nm?@e>Z0Dvn1m7f6huK17-P7{@|v3GpVD<5+CVM2^MQ(3j$4 zIPgZHKxgQ7ToHx4bSZB?9PACpQV^ma6ISs3!0StY6po~b9MKYv@B}W?mmowSJ%65o zKs=SnONzgZ@t+TR!*0vQxM6=J%BOVvGjHHW@>Sv`@@==(DSPfT1pNKP-%XmsY+t7B zhhy8W>zbz9X{im|FkxkVF=d$jV7%MUK_7 zoTeW|gl+c1NUDeao&fAudfq|iP<}m!6tZ?IF2VHtRi|OJ+|{OGw7gL+Y8C2>P34wz zwuDpXU^rjIidyAfaS?TwtxlLK1lTV^xyA%7GxyIHkJP-J*ig0Yq8R#X!hrvPW zVWz<)Xo0hvYJu`gIh{29JCpwAGwNV)#&a4;pQv>1)2<4?(O5)1nP;_9Wzk@D#WpsF zC3aB_*>H4qH8>?-kik^oiO>3;lV=&P2RQ#)v782Tel;Zj=F{F$ZF{f9g-NX`)Q}Eh zf^uB0E?RFBG2?Qai__eQbzOx~E*#9G6aJ(g9!`9C8Up&Jsnzr?i@?RI62$f=c)u={KaRqUWhm^i(Cc`5u7QNj-V` z*z*JX@{`axhot$R+cXW>vuR*$U8^wZu6)NdT%>__iWf92QUg6L?s*y*mE-bF%rx-1 z9G7e04!&PkVbD~qTmw+hfPTdNzqPQc-g=^iCs`tJtimts3tG@$ea1fk3#dWHKl%P- A)Bpeg diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-namedpipe-l1-2-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-namedpipe-l1-2-2.a deleted file mode 100644 index be7983c01a9749d91b2dbd9b008b59e517bc6569..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2704 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processsnapshot-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processsnapshot-l1-1-0.a deleted file mode 100644 index d672800a2268da359b2adbb7763cb92fec33eb2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10418 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 E0i{)RiU0rr diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-3.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processthreads-l1-1-3.a deleted file mode 100644 index fa97a528326d7b5f546a1f7215cb8f6a7fd6d0a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12298 zcmeHNPj4GV6o0mpCN-_-p%PU^VWS2lP;7Q>XXBu#a+OF>#352Z;!tVh#A|Hge|R?( zIG`LjaO{Z>fDq!q0deA(F9G6%pdKmj&CKr1dS~rT)of+eBh8N?ojwd=Oi>mE@Sz5VXscsO<);^=$C>#*z5czEo3p5Ga}&6el%EXQ)H zPSe4A^<8kB4t8JqY~UQY{wM4a4&0u5?7OYq(JA(M4Xc6=(e00%=`7*+2Q9bR+vh?J z$BlYybetg^yXShx$RU!M5oVYs{`tt*yk z+O};N_BJj!EFBg<&f#)_sh$IPm9>_0W#9eUXYJ&|0Q0ciYWmG&7Dj1+d0sy9ycuk8 zMtohm;d(9LUBbo^K9`!<{W#xd&`*4;$$VP@-v&0WY4`#fOBCdkF6HgxcSZ3xmie&Gd3)p+zirc%5@8SlNW$8uR zdqt=eZeoM%{g$v3de=I85BSwu;S2Gj(t|ef1?|cD8g{Gzm9!G9F#TL-tu)r&VJ;on zF)_=5w%<7&obVoIZ}0*T!L-W}LHZ?~%A~G1{F!4IVa$QGQ%xuZpfw;!dH4&PnQdk+ zeZM4jXAEbaX_}VB!8XgUY}NSw)iB7ftT6R_kG4#kSF&vN?NiSx<_)Aj6!uP)ae00v z^aJ!3YdBe3nHQx0iTD-riz7W>h%>t14)T1f=d+Q_5^l<&A$UX=R>t|$x9IBeW7!Ar z3WWQ{i9IW~K$?>*7T_vou4}qhTdKZk+Ctphfa;r>ZvlY-rY)KUM=AbR;8^iC5!^6Y z=@~fAXgnpFo#SSWT?5d4c+Z~bp(+o*VL5#-o?^S6QCLBKh~dLbiH|C7zQTRi0w2Pz zLVRF=n;IWQiH~T=#jFTd8?5IMA8+DwQJKCo#s1wdcK(N_)5P8jhgn*+aC*k5*h-0tMU27TGIs^xnOTU6i^Lc!3M!%} zmhyE)r)fOMEC>>iNb-syHJwd_`;-XCzWHMno+oB5L*6snid+%+89u z5BXBeR^%)r?=O^jr$yero-gJxzSHxCJ1W{|Hv|uZ4lDGL_Yxr@;X5`BqZ7}0jW_Nx zxzz~#L(xN39)8EtNfy76`ZIpUr?+M`B~CWu@%REKG9EYZ{inrAfp8-B*71Ke<{KyL zs0T_iF8_#kurd#SU`;ql6hGogrgLTNQ7S2svN*Y7@0vS}c#M9LJyu>p%1d=}B@v>C z9SuGNHe&RQQL*?suCw;oKI?f#<~aow(c_!>_8n_XldA8~oLos{L`BzvL&uUaKGJ?2 wuf*e!Gh9Mv#UYC?fMhh$zefOcKa0*cHtxi*u_Jn@%EQlCKI<>ES^c~9KTu43X8-^I diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processtopology-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-processtopology-l1-1-0.a deleted file mode 100644 index f552d00855a95135307ade3cdd1eec6e2b713bc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4516 zcmeHL!EVz)5FIBeEul~j91sUE5}c@mowiOYRaKyeN~niQzzu2ZHcoBTjw9O@gcFB; zK>q?EexiTDl~3RcC^Nh3WYgMdKr~gQj^y3-?Au*?_C3!gPuHAy&s(p))JM%)v24pW zSL+R3H+h#@>iTlMDF^IS0bmY5`vp+>iOo0Sy5j-Rb?=BS#x@vxpSW?tw%yc?*+$fM z*+;+Y^n8X+-)`D0@OSBw-q7#vMX}2W5hjFX{Js}Qdv21XQ7;Oj{XPpUW-*gF3?~a+ zV9ax!_T?`J?5&%=^I}|VGmZ{>uR0yS>!%!U^CW6!pTK+&>e z5YP_y`)Ms2YC) z;XN%dPinhKasdp!5YDFwpDkzD3N|YET&nT;1a2ks6K<{;*T`^-*qG13W&KD>BTNh= zr9q@L&XCdwEW&b#_u@W( zm&#T1y)Huv53oUee<*oEd!5Jk46oJ-ZlE8vKWh^%YoD#>(J>2D(wAVC$LB6@O~Q7M zf2k3U#+d`1)I01R2oL8QT!A8ZbcG@)z7*4;sb3uN%;z-1!5Q1BCY1t&yc9(VeqdvI zIqLHBpiH|}Qd(l7)rH(H$}Ei~JX&zuscvbrJUmCpW;#v~x7Gb84<0dK5&J(###5zV zUS=6&0@}xAT&$z43&RXFl36G-_VRH9rO|wAi20n4v$31oBP?4IBVAbOC#TQp?)Z4< zBcA1-MF>M2q&11N0JrfHv8H>qrN*0=jCh;sP5 z(lZF9(ReaiT`1=XzXzasgr_AvRF&Wxmg7!Y7aqf=byggz!v%E-4y~DocI1o z9UA1HrUi$tuR0#n3!n|vu`V3EEWuZ-S^lfHCitN-eQlVNYGd_A8@RXsLmNQa$ooBs l^Izx8q2u$D4Yl!FICxot?^u&I@?Kr}1wR%srT-bKe*lyS9oql^ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-profile-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-profile-l1-1-0.a deleted file mode 100644 index 757d311d14f739c0f23a99501443df4639c151fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3594 zcmeHK&2G~`5FRHfDOM32dO!#XSCktLcAGklRG~;goH&#NH>9nbY>3r3N$o^XPCf7d zeFQl09=-7nJV(!znejT={J71r-hC#nIh@>Dy7!y|T{V*DIf}RvTSGd9vzQ9RB2|{$G-_CCt5bwt_ zIy;n6XAp&cza`&B@^mcwt+PfIR}aFWxEV4(zBw58F%;ROrvPZ5hW_!WGD!C)YhPT) z@jTD6yc!m4N9H>Nw*}2H03LE{&8Upzml3zK3k#g1O4}d#*%0n&fOA)Rz$c^QpQH}u*W*Xa73bC@m>#=A7DkI(F$<%`jN(ujcHMyC zSP>(N#`D=p)Ll9|VG7W}GJo|lzq_mRyH>9)@Y};Zc*O5ex@&&#s8GTtHi+Mk6+dW? zm+?Er>$QfP=tb{O+k{Ko^YsQg%0MM4zs&J@z^zqS-sLYV!qJ#9&>3~d{gcGQJcBz> z0!KGd0>zhNIyL=LMt4X@;=XL%5YXw#!mgeGH_=T@=wlk6Jq6ssb%_c#iTH2#ed=Mp;Yt%=$f#$ItKQ z=VyEN_(G|*S~)%TMph2?j9st`*8H@c&03Tsrr9je=2(g4F+#{GLU!LHWbbuC#vih{ z|4%|N9{h{N=l&rCiK?trYV@rCs>oNf+Gql6SUJYOK3n=PPSy z9VO(K75V))g*^U>m)&}^b^Bstt*MmKbFjL^PB~w#`5hyQHmrkooy^6b;e4ru6NH4tRWd7gxmn(<(IQZ|U2Qf5m5AdIY5w~xZixyN$05?rlsv!9figzZIi<9* z;g@Z>cEi6)hx@IKL=9P1{s5maA{HZ-=9cgmRTe z%I+<9r9IX3ZBdjBvMsAnC}gvR**rH|%VX~i?IswkA+S31Zr9LM+udr@`{*P~tmUb4 zsa=X@p_C%A9!{-zUKciU7x}9AzzMKtEPx>*Bk*2gpwDA`Gk!ku?TO}__4y{?W?aMP z)4?1~*1btEP?Kn&CaHm%tl5+Hq%~Ep)sSy$4f>uJ`1cVZ>qBd$8-51Q7v+c54R_Ru zY@+NkQ9Od&hNE}{nV}qphcJ}`mn)UmE+ED5P+6fy3=bWbAHsk6Pe+~%DMQ-t83EPq zin(^r&QB}aU4R}qKwB{Kq_sQ81xXIU4Qlrht{vFJI_>uP#jC&I+$GS2i0rSPs=P@&s@|rOR-D@#~_651BYX3POkThAAu3ZJ(CJfG|N3P7d- zoFh`?JUk07*@ur#;;;Mn!#o1WkM=^44|NXfMI8m-5F(Q|{ub{nDczu;Z(0Ni!y1#RfnKF>!@u&@@ASgDYYpMg-C_ zQ8&J%EJnc$DVB;+A>~6s!;(bGr$W7PNU7-g6r{BDd;wApLGPO)&~*HNnrpwZ&q{SAy(q}S`(p@EaE4{jG(&!dD@TFSbOj9&97)-PX){#h z;SdQ8xKGDc{swEVp-t#z&2^uQ3i<2+Xil1ahY5~@5E++v4qh_k7f5Af$jy&JhmI>L zgyhT+GFWw`J;L&cbc3jf3)oOIl2s1TYS zfeM8qAyim~yVW_>v$zYBh;IJ&HNj6!(%=3+?^f@XP!XJMP4&D9Ju3{MM{$~E&@@AS zf-CnZm=y?`9f5}qdQxaG+^-&>f%fZmcoBPiG{~pUcMKZjW~*q>(UU@h>8`bE8wRUR zkGJYH%F!U6^7p3(X`eOqu$0)-qL+2q-5P`hlLe?{hpfwr zx*s$@79ky6Ng>2^H+xpuxftwbhc={_^BlVnA;LFlE__RsW>g%dV~6Nl1lyq$@83d- zzJ=6e844OwQu;sG&&KZS@Dzd$#P0zXfViFe*&`kL&m2zp;uGphGY+!w{un|Z`wYvV zX}F&)D0|R!!;f8)`bNSs+|M5P*|cvv(DPWkb;Ej8q#6;Xt4=B+WIsEKo|KI++`G00 zb0maA6dHP&BV__K1fSri8VNnkk%A_7`9p%ltbyTv_2BHrwpoKAU;jlvGUa}P>Ddh& z?WJa`zJi9Flr1parMAWYEMO=72K#ZLzkC>wQe=jLVumI9uSW^Rg8UCE$e(6k!Sovl V_0M7WKU$$bEsKPHE!1BW{0AAK1&#m! diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-quirks-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-quirks-l1-1-0.a deleted file mode 100644 index 239f3279223f56b22d925635cc50cc7ff56c9edb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8514 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-realtime-l1-1-2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-realtime-l1-1-2.a deleted file mode 100644 index f01007837f3f75f289682e7b6bada1f68dfc3e10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4694 zcmeHK!EVz)5FIBiEujbw95@ zd&UXMh?q%p;tj5^eE)TnGn@2okwV=V-k=Jn# zJ%&!t*>ITe?a?8I`}BBLjJzTJN1+5I^KiVK4d9ywV?BXhtW0>bgHMF>Xu;KWgun70YjYphwI@c{d?-V{eUSmM7#G;~r zWWUH7MZv4I>MAv?)tDj8h-apIh&4vnQ={myX4b?x?o0cg*V02n27X|lVzZWZQ#bPs zDAggM6+5L?D&t!DhUvLVD~FOlG|W>gAGNrbY2|Y=ZcHm*lW~2m6!7`dYQ=ylcHe?s zH&-_*kptZv;1j8qfnR9iAKW~CVdkeP>%XSx4abs6{u`qD^Di|8N>ge6HSykVaxI!h PQ)$xi_do2j-#7jNN(5^{?P-|BLC}saU^;z{r87XsbhgOS`ICfTy0FaB51t|f(<=PORDwKAm1kM1 zohAg+kKh`ZeteOo`dLCSHQ_&|E3dG0^$H=FuD#CEn=ccB=?0vO>6XXR?Nz7_q+i2* zVtN~{hpF`(OYP%?VA?*)(mPOnOuf%p8vKtCOyeh6x(~dV_8w>Hy(L00{oxUo{s>1* zf9B}}IAZ#cr;olM?v5v;J-=7-OTOo~d?;lnAim!TTI~b84)JdU+qe4H2CeoR z!QN(l9WL438TxUu%-2Zfqh#Q_8BBiJ>g@)vJ=m<5D^iJihQixO<7F9)7jE)qaBp|i zo$S?1WwmHM56@`b4}gp}QmV?_DqZGmq;N7iaNY>U6X-+QT*@uz8453)F5hm%%QArX z7rVh|FS*^~SsK6Ab~3+cJxaXV-x|<6ugEntjmN?G z#$Yf}n=*}opUeBH>`DEEr$}^}6Y7=7$>^N3xjPyK{R!Td0$D6q%Y!q1KA3d3_L`km ze;d1(_Jw+tR1P>BW$0(OuHKxCy8UeczTChGdHNY}->GM?Jbni4J_SrddXXA&X^`Vw z0&n=gF&xt3l%~`(c!`WxYxam&wEIuE^lMF^lA+9ypjBKYGd{S-Na|%d24+1E&bZRs z9e03UmvxU!1fJLWyF0XlH|uM%U}|)kvysBd=$sQSi`phurbL%H6UwBVqRdyj6KPWE8c3m*CVT2-Cn>? z`0^{T9T&D*?}h|Um)j37x2Rnc+2pn>r141YwwT5vwHda<;sWl~jkhapufveF4-aiC zM8x6(wpM%#OGlmp*@nFZn|28i-pPRQ+6Fj0bc+yPg*U5YE|^gTyB!Mq%K8kS~djv}2Ht&^^lj5!ybF(O)Jw?@)&W*kPlXAzPEqZvS0I zp-3a&fGp6~WwLp9O4|0D4&FE(LLK0$baC61y}0;{W$I~QrQ}N zo>wU|0TZK#HfJD4j|~`Bglrw54e|i+3(hcXaoGX~o4f@1*Ez=VP&~NNLuh;Kxe8qD zSJHJ!G|DKW$2#z|llg>fVR@H1T^j;V7VPJ%=6v#-wMzmGqTXoOrOFuq5= zG({R-2aySLF_2jM;(z&9OseAJ36V!#I(iU}blO6AmBo+}jSL}$)>@GdT0gu8CQo=i zZdg$!A5YW&grM9r%1fMrhXVNFgcub{p$ zU#M5T86o?Oe9%*O0`;C5>T4dj3!1Kf51=wl*T2Q}A0BM#`nRR)?x*WJ$$T+gKT75k zx*jHnjdlG6M7=bfiBgApGOzmn8LR+ok-qmBf$j_B?{GwYFI72hx|YxR+Cu-@hC@Gg z5(9U-&Yvavzo(+Vf!Cie^uwg3Jh>Q&1<$aC{&hq2m}$E8H*e)KKte0)GOvn|=q zf03gfX7R#V>0F~90;zP1biZg8pclx$V9#~GRAn`u1p*MuvnB&ILmBXRcpT#6*A|?w z%RNZZ*;#zu^Hc^z6gAiQUuN)^Y#&%^AhrTQC!gY9R96i(=s{*{xUV|gV>eB+d}cYv zb56m1zP;VdxYt5#0{5J54fmH!aqs-y1o;s9K8wHm0^&Yew6cli&V$7-RarH7Vj0%Z zUvcP9K=pyn_MBDGKR5nv1aeUE@+z5FhBfrB8KS=wxAomz=Q*MKv-rEuBl_hfg`oZO ztou))`hYF+cZKo*YJvO{_Gs@bRaWPF60)pGfF9XRSr=4u5`dkodj}6C0YzN`U<8;q z3D9OdWeKo7=cz||odm>I+F_J;+KhjeG2o1lfN%x*97#Y}<@81Hn=H%P7@$Xdodg`X z1U#opz&wosrjLPGTj^8QqrPbpuom|N{sg*l+M0*o08eN=*j)3lC0%#FH4npNK4Hk> zIs_a8ewWNAtRRg2n8v-nixQCV5D&Ifo~@xXSOM4~f1pnPvt5CF0zc3nNT|9R2uNkH zH7=C(XmFZTxJVf7TqYc1&4iGOERnF&p;SQp6Q2CZwInQa+((j-90^09v+Amk$LVxy zxYr}V4)=-n&@3Zi-%)TsACWMDZ}52K=kIj7HQehF;56Kq;*qfTLHSLyf^JLJgH0>w zu5{h~te{>pU(5=+pUfxpJ?cGEE9lt}_tNvjs5bL#0hz7^H03M0^cfqV)_^ahfuu8s=n9M;AMJyx71 z7jAVZ?OirZ#QlLRGo>d{F7UMo(Yqk#Vr)>WywA%l_9N9#xt1cE&sn#%W7$tU?XI+_Q`((lV(-P(zQ0yFGURxl?G0&;i zFmDfUN(Yp6Gj{5sTA z(5J43&Vu@H%cuv9pJ!_)E9$jLoe=e$Yz_6sao>2n%RL1X&F5s9*FVlt5Az#y_0|V~ zxKw3z!CO+EH5o9B`Bpb7u{WQ%In780vdr&1fie)jNIU12{s}f9N^_d<;R~@9$Y0<$ z&S{3#RbJSv5UnBJG@9#HchY`Lo88G`>pYH#kKPHNYg@;3b!SxF_-pLtSLR#8y=es3 z;eKYge@wxBzN5F9ai8!}28w%5w}yMesBO*RerC8o7UCXk-g#NgkNTcfH?Hqxx;5Mz zMs6MMDePx5r}HfZ_w%FgDZUf*y-c@;d(-G`B|fY30T{c}R`cIs1~J8p&DH$xNY~wO zHUA`;FSeTh_sM)>H9ve5(0G;365>AX^GQ%np651SVCq5gaDU1vcqov6!yY}{wCWpw zV#->C*K-kG+Jj60#5(1egiKq@nPq*$qf|nqFNjg>{Qtk{oP9vd;G=2w&~F&wb?^D7 zLXv71WkLT@4gHPzL%;fs3rQ^Oe&xb5jP%yL_>wIY)U7zfQO18F;4gUWa|E`ZfDVcm`Rp|A>lxRQz*>{UpUNKGkZ^>M@M-);xHy zi*C`|{hi)_IK6*3!akb-%sKW?Qmr6Azf$HDJQT=3U{5_^>gMn{&$Q18^H0fJ)BVO# zUx$C}%~|OFLmK|`ZuLI|{`ouoyE{W)lMJ3?4gbc`Ux)u$;eQeFFMksq3eL0LZ;F4p z%Bi1x-()$~@NXOicKDwa{tFuZ=SBZZ_=lKS6~2ib>i>9-HT)Y!gWU>$M1Q*dlV#Q0 z0>%GexW{LG@~rz!SNJ!>>Z%W~Yh-JvH;e_l)y?~(KFjK6LQ&rvj05lhq1Zg5-gI?y PlUG++-K-D~8u4EPs+o8~ diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-registry-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-registry-l1-1-1.a deleted file mode 100644 index 4b09d25d9c5e87b1b2098d74fe1c8a7a76318718..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5196 zcmeHL%}(1u5FRI?(3JjARTWY%u0(H5YKPzi2~`R7Rt{DF=&6fCHi?A;$Tn?}df*W_ z^wg)}+IQ%a^iVppyG}NVO*oLC3O3sHdgj~Rc=nr_wV$rJ!A|F8{)IVM>=oOw9c#5z zF-=RT^wu=X%T+aCI}ZR@jXwan-vDz}S?}PL>OEB#)&UmQ8QWm&L&$@Wz2OlL*v5X7 zv#;Ksd*Cq?dQR10zSp3tq+M@sXFuSK5Z#clOxy>&?S)Zr#C)64&t*7Emjh!R?lvd5 z4zRbp{fcg zhX_p#tkYs649CFWm~b9VxKxg@Iqc-{f9XZcCvhvWoN#mLxJry$!p?jGF4iM03*E4Q zv@8%U3xT3#!M6+eD>i)}iY?FQYQWz!fVR-MANvO{YUOt)Po4WrpDn}*SB zMs~;=)D9M9S7EOiRGotnwjxGk4YJl~iDxHF2HMz8Ar9mP!#fvecx82Ugy9bE!UOR@ zxvOS)DYok)>=45j6+>v3lNcW3^{a;Kd5o@)`-F@8!`FEf%mTIK`?JD6cSY|aJnx7g zjc_c2Gti1UhkLtHBA5nO;0waK(ih0SWYd1pV~qUIBiPBO0NTQuJqVuECxgKAM8Vp~%fCBln&diIR&PEPtV;^yFq zVhfeTHd>3=32+;$v@zZ5J>AZx27E+3BmD>I zQ#76mtuB3JQQQO2JW|pNbwct3+r)!a`jKnmM?jHV1piAn{Kx%~)J;B(T{izSL;SBR z-drR8k9&!jBLD4+@!uYe|Hnw0aq<6?B$nXUG~<6mTlc*9?x$A5$PKlB<%1ODe6@I*avKL_AvgI>wNPwZ0;7<%mUUURpka?&3I`kBDG@dVr@ cN#gWOaG9O}qn=PF(p*1J82`a%^6wr006}J=ap(v1 z8xSATD}TXf^hBANwcAZ&H$9N{03&&KcJ}R#GyBG~dAjLG`~8=-7h+P}b=Pw}r?t8v zgu_#2E5z!$9t*Ks1Auz~)^~u)F+lZ~erjg`wKFNVrTh@9D3)(kq9VCH>?rv;IP^z> zL}TD>crpz3=t-@E;BbE!DM^SyOjya|NcDm^iH>CGN>?_dFL9TF0xA2-@66E;$oH!E zZmgoCH{&n~MxpxXhhr7*v>Oh34+bN7Eh2yQ*38w6fX;BF_LBNAJE5YJaUI9=JR!Vh zGd;@P+G`6B2F0-e9^GGLq5Zg#6o9JX`bh1O&cI`&J6NXUl2BAt9 z{5}WhSzZ4iGo*Gie&nuv#V5hc*p-SfM%>Cp7$asBhq6WOq@;1>crD=6H5iT+F`{fy zw5BE7oiHWnVS5YtTVsazZ_e;$t2M=N4^QC{|DeiUGrW<-br}_6_~Vozbjo=Q&+uk% z;4U)8oX>Q^W%|{A2@O@CmU6$!@p-`7O?cktk1N7am^08#`s2d`ZDFRt9pnN>SLXu7 zmtuM;<~K&a^Hg>)IO93>l%D`yZgo?FpQzkIS(#(aN^7Iet=K_vIl*RCkLGH_$gL^| zw8#stGOB8tyGCu9$QAyr^bR_=Xgvve*SR8Sh(h~l%PSu1rUXAwx%NUd s`^q%;D;?Jy&I{*%Uf_9YO6T9w{&rqKL0)X(d;Ft$al=0Y^RG#N08fW=L;wH) diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-rtlsupport-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-rtlsupport-l1-1-0.a deleted file mode 100644 index 79670761b652eecf90506aff51dfd1e94bc1993d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4378 zcmdT{O>fgc5FIBeEm8RpLI@-dt^^ea66`c}Q>j7`;n)L$mJ?!Q5~neBK4iNBAr2fk zaq5wuz=0pp16TeK2g=NNZEq5%35TZYO5R=1KJVDG@9nJDc5J`ZeOi2?j}~*&v`ov` zu2gm1;32iv^^F=1aA_6+UM& zRdFPrONXF+&rz#>=f|5)WY*cxXsv3xRvR+tr+(RJF6MEcpQmV z>IEfS+Y%A2loGAvnI*Gil-r(%;Bv?H9Qn}SQ-A}lV;{x_X;))NF7so438uy`Hw~l2 zEu{65qj1qYugGx1ZR`-w?@Er)I%n}b#;dJ@OLU`-$9=-Z{qYtzY*+@WX$M&5_*~=O zJWTKM){Af~%o^x~-J||tWMQts1*n0e8>xZfOEFE0y3<7OJfRN;$4sY|6bjJgI;wK; z8#@b0I_H|xWcFlz1qPN%B(j-#WIH+&=z6obt1WX-LgX+V2#C?@s*?o|3Gf)lcO}oM z(a$fBB>O(C9_6>!ieE_c%}5@pA*Pv)OY}wa?I7lTHqOFfE~Kcs#7Gl1`pM}-x;s8j zZN#qRT)|8uAH+<6t9V7RrF*rf#+TgWCo>ADxtH??NTzdi$O}HDC%M-@I(si0zpN;D|MsmHlfN11c%|pGO9+ zbMOOOVt?kR&-;6@NNpH%YQwBdXyY^TWtKMf6izKt8*dfAXKACGjhoPhpN&hjK_`%T qwE>DY%9X82w%Dp22ip}z;=m{L z$T#p66?cA#GBaK$>&9t7qNxO3$?MtK=UsdDy`A;_4KL~V&ljGW<>IV4uH)LzR@P0^ z<}ST9&6QSDJ+QX`0P_IGcYyjgG_g(BjivlrS_W8J7GhI~H>pfgu`M&1h|Rbw#mAuM z^#g&-)RFxxh11{7veYLsP856wT$BA zQ`>23_>nH?dclXR5f2t{+{!t&?YgdMx~-ML%553faPa_E4S-v0%^HnN9%XEguS~G_ z8eK2*#zVNL4faXnU7AjS!56{>G~k2P0$WF;j_;)x9xunO6@J3akH@VSxW{NLR^W<$ zq?r|^7ShZjnps1dS)pS!ExXYTLj*VWaV6D5KTiSP8~fft;ZS}(hBRgE%)A8C<2N%7 zqs6W^4x`15Vo@`wE*BMBj@c}BorB?c5i4rOqw*lCRg6xU83?eRinbSs=l&n?yk(E_ z+{Jac&EHYKY@Rn&IN=T&#Php~Bec#{JTLJ2UBeA@qxTm!;R^fgeGwgVKsD_Ea~z+W zZ2bg2&A0zAR~UBz>{ znHQHw2Kzp(9_6>U+PpB#H>Et%LX2OH8|aJ1+dxcGjdQV^3-PY4Fv^8D^W^j)wT_R6 zK4RC%se&0ta}h%UuH%)*nA*Cf$C;+9jb;|mb1>%-P>km&(Jc6smRFT-waik|34bHK zL#``&o(j#L>*OA{0cf1uGYB7hzG7W{S~}+-HHE_+v^E`$rFBfr*Y!?1vR$g9RL6T diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-shutdown-l1-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-shutdown-l1-1-0.a deleted file mode 100644 index 5afe8f7ff86a53a9ad556601f50008b5552bc6f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3588 zcmdT{&2G~`5FRHfDNzv|dgy_JLFI;n-KI{9Dil*ren&xW7RRiiJ0JsNW`~WBn0E)lmRk{EuT?nxy#D~c5N8-I7`+c$1Yx?3O z=z52NKxg2tyCMu4bSZBq=HgQ@C44%@j-~T?=@$* z4v2T%AP&6P-}w^7erHEL$eYvM+DZl24?2fp3g&gA*N?}C@79K6GkT%veLjxMz2W9$ z?TTaDu8SMuR&l%7>ZNT1HwDc$03LE{&M3$JY0T~H!UVfsZhEno4dI>|*yrU&6itD_ zfN%j#xLirF1#A@Xxpd?CByKJ76K*~mS50us*jPxxCH+Vxs}osBC5xzJB~-FP$8s#Y z+zdk~w}Q}D1O8kB>>DlbAaN+a9zR+xe`QUA>9NaYVYImAvoKoBC=Pjp%5hV1<#^3u z*EJZ96)_@jP_!m3nVm2>*vIk~v|A#ExBr3R)s2k_hP${6kNAZOcg^sXB(96tAcij~ zhR`mjF+9QRwT2riM(jiWaflAVTk>m4#TQ}i(n?I}wM`O-FD{dck52S~g z26vzZj;_=K#g}3_GW{DPpLs$Z3{H4XHR%(e#icBA@CzHakWyxtuT)-SZACVkBLy}s zdsJ6PIeptGazMTze<{HeoAn(h&pckwvHz3eI92BCvd8diPdit^#ai0BFv>Dx*<&3s zhv~SXwrIXh#C%Q1x!BG27|WW%C>K`d`QIlzeloX!o`E@&fMPvIi&nu=T2@us)pE<2R`^}%8KkyoJQ=Mnwepnj0calSd8<5B z<=`ilQ;tG6IWEooNJn{xwPD{-8!PhsYnpVjlDjm(uuRj&N5vPaZc`f#ZQbj%5vJoN zv~iq{8){<-->;@H*i@FT4S=-suH@7Istfuykd1WlQaZTI!FQ}h+G|h!37CB@`U}(! BaPt5F diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-shutdown-l1-1-1.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-shutdown-l1-1-1.a deleted file mode 100644 index 7f23bddd782c9d2fd9eaf31c51193141d6d6e8f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2706 zcmc&$O>fgc5FIBeDNzv|I3P|&DmQHGsNEz|g(CHY#Gw)(Zfu;`iLE+GWxHw*9QXyO zM}AJP{3*)Jc%7_?-S(1pqWzkE-gVx-+3}krFPVfNI`7T0xreTBg)`_5Ow-{hy*ACR z=&J`t9RO$n7$?|t0ouQ)NO>&f*EC2{c@ktnB9E7TATOeYcNR%>Mxrld9F3_c?>t&e zmPsH9F;59Ad7OslnZLYP$k>(i^CYe^4?xN=@cb?A1M=e{$|5fdKC4&wHtagMZ!|xX z)pOv_E+^y6UKV`T@#s2^5W+M?ueajylko(p1aJ(1=iJ*d>@2vkC&6^?8g&?rw`Lti2G>ENDD^@2=17=u1K-6_u;o;&Y`AS4M z8fyloS$MuU%{{C%c!XGBcJo*ueu>ky>32;2&KuFe;6mrrQhWkTxz4Kw{K3uxB!ewx z8kN!V*h(ET4zRnjN6+nQvDIcmexQCSC6k)<6DQ9umUlS+MQNNGb9>oib=%X)9pGl) zwS8foWlGtjkC?C;w~8%V?+7tTHBR6(8)oEUB!7-{SN8EoNRib^GAiLwi$5Nf!+q-cP;aM457a!5ynDaoLi zL;-T}xu>A$spwPm33BNR^nser>@HVJk(8(cQlQ2Q>C0Biyne*>)k32+OqDR0~n`K@gL%A4Cun;3fd&ZNzWiVeF8x9|vAIVE4Sp3)x}c_1F`?*S_=_3VmnKVS#@}SxUQp??FHG z7$Ld?!ZLn6h(f>jkOelgnZ?=+pV9Szv5wbv=hh3b6W{d?JMHke|J|b?^1pr>d9B?V z_Um^qS*})LkNfchTD5w7SDyA;FZzLx^7!eccha(*_=XHcLUc4dY1OPubgcTOAGqS- zI&@rm*zaDpLr($KD`zMYqVGc&KS-dxMXoxbI2yKg)i5(O;9dk_RP8H5D<(IROtvk{ zagg0k6BRt2uHP-)Kr#bZCFCq`t(K~hH;i~Yzc9f%t-9@~oe$xf7FaK;XM@2M7+ev~ zrw8uTW9$kxR`9*_#GfZ{jaW{&oB6nAjN8G+Mg}g{qd8T&g9@5ch0LiU%&8LC6}w_p z-5@|<_1q6UdBZ<10Unml+ZVAw%Juo9?#g3*5=@^vBM+m^TR9J-%^A%@xkP0$$$91T zwTh|<7(Q3Th;r$Zh^-YUZK4tFjH$HW-}=TYZT z??Om8&)^kU0-s%B2{gYnr=z5=Fyft4w!y(M%c&;o1aNsN3IqPa#@yZN+&s373%Fek zEKE&dT*_~ZML@CNXxe+4-&o_5afRHaaEO?!e{GUrhy$Oa{wK+As?7QM4YkhGSF2-Z zXIj57@-GR$v4@x-8>j4wo_Bzl$Jsas)jYj}WlLhD2rKi&%TMX*`SX#CtSt_Dw5SOI z#5U@W*ojdkW--rnt+({KrY_5Aj{>^i<^BUC+xbjUFL;;cOQp?f9wlKTe4O+S!lvkc zO4Pfskq`Mb#>7hUrIb)*!0%Y*hJ%xX#W{zt?(5mPnK{4 zGGcwsm;bpXWDL8&57444p;6EhtkGZb-I7?Lo*^x!`GjLZ9lm-j(kI;4`kmwxI@!3C zPYAPd$`Uq_$whs_DkT0`PsqlW*&n=11Hd%$2bK`<(g1RZEIH)KKlF>@e!VF7)A7(X z_jeTcDgG|X{gov5aZ6^ox&NMI`iT2#=|GJEzoobz??Q<{C}9>#HQ$Xq6$R}U+(wSFh9{cbi+eZcsCpqGtP{C{%>{+B`9XXFf7-sp$yp3;c> zp9ujk4fq9XrVUry5lu-K#Q0h<#y78{9sUgk@zZhtEYXeuiM{OCBicz0Sqt~G6bs_M zU6A`VaUN!xbZQ_X{VOEGwAKD~+5Oo<%P1P{l#<++Cqv5}@qENr27T2(kP@m4_ybEk z+td!vW;hUAROD|Jv;_;dNYx42^f~qv(epNeCg@ R!LQg#+QGB~-g%!i{0mgPaAN=f diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-string-l2-1-0.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_mincore-api-ms-win-core-string-l2-1-0.a deleted file mode 100644 index 78ab95f2b2d73c7cdce689db071f6187f4ef2321..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9878 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 KGf} z`wj*IuSvXRO+m{J-iPI0vX!Iu&@>FovUJ_5ZX|p7RJ(?I24H9aw?uDFD~J43DEgx- z9gO{Q%MR_)5HV8+{7t%yP@~2v=^q9+wyVJp(w<+V){=kajhGxzdj4Xm>a0xmP(T#LK@uiriMSZ_S_dKKw0ggFNEol>= zDe9=o!Efx$I`7OXqsg>cBvl0lmP#b8NjalhsVb_P7oqru%%wvB@mSq!vd~H3AjYI0H?&nzs46uOR3SD_ylI^J5_vZ? zMX0I}5{QfFE8+zN5^wN?#ADz1FZ>9~IWv2i*%`0bRlJoIk2E{GXU^_;X1;IE%$Z%E zyHswiZ@xYHW=;-;*@9Uxjrr->T+U!w;xU)Q{3(9N>L>tA0vx;uaCi)0Y=g&Rw*e@g zz-x*pTRfhA06_7K%j4NC0E*{Om*T_?9$$YCfZ_$rqnQ7ON8@Jziqn7dX#N2}asD?R zFX1`GcQBvg<$rm+dJ2Hz^-&&|#sQYbEo;%TK5*=oW8Jh}yJamlE4Fp7+9+>VEfiMG zIn%0D*C=|@dbP3MY}poR)E&~b*tK)tsWvv6R;^$aEW;{W_>j5{mbGb@E4?cQtXsCb z)LbvumaBDpVFnAV*0(K1dac%6E7#t)>&@2vTW;Ciajxu!+U;_$+3rfUQEA?D-mSLm zbr)}5S(x+7XqT&zmtyZ?xp>!y*b&ucj&0F^!*RIF6S&UBGC&=xme}dnNJeS~5a;{cuwhWA*2vtGO zs%-5zZr#SFDNG6NCp=x&knWcHCA@{if!=kbi$>2E2YPLw$Db-^s`uy`F1W{Uv8Cpn zDl+J1tGRAFPP0Wnp;a%t42yF0JFDVvh*6Sw&_RzqNnv(Wir0(H`t}YEUpH{XA@WEa zrpr|BDaGBxGNDp;w%o~PU@F?#h=O65rkTr`MLe*uI=YlOh-Lyu?hIN5c6J~$>Ds$! z1Y$!DjMd3X*)7Lv0W5&=cyi5gI;g=z(yP(~CuV%zVLTbe-z5h2JgztE%SrE0d%dEs zH-RT(8a+QB4M)E2fhQN+ zkBS?Llu2r0+hyD72<Kh)fguJq+|8ZFT`plbgJ-}5*1DVt)V|cF zVGu_c{+ktUFl8U*loC4uM2ctOAC&Zd{@8P3jS{mQ!!V`_oL(I*$2=}O0?RSNT4oo~ zi&J+DDzgru^djcp^bk%-u6LFr80o3sX0Wi^Lb(uH7|C+Xp-x4w7ch&ScL{YGdOZ`f zS)dVS!PD_XnB*Qmd6ljnJql&G<^pkjz;Q<95H4}WhLN`~U5jT5r&L=4qQzyF13a9w z7NSyyd`V~(djjuUjeVOG^W&gf&-OR=U-FP1 zV*f2qLP-{W!lR|Dwy?r#=K|=lha%uYVSc~`>Mag+{Yr$!|GnhG3xI1q#UHUBxS*-F zwD?vUh2^Hkg}DJ2(&oYm9T!UblMAw6EXoC*n;I92$+%!jEAGL%z?*FcbEIz81v5oEqxQ0qUuPI?aamay5KhLVam} zp+0W2EVcD;VKyo13(9(U-~*Zn#`>ekoTTgFV*=`lapXJc*RlQtRRBXc*1yID?3jhG zFcrpnX}ea~`b`h-GfDA2@Oe@fMyx@A_ipAkM+xu29)5r0J(15-tgeLkpb?lfwVBOy zGRzl^X=RN690AbD=ef*5!myI2&+`+Z+&G`-re06+dA9U=0p@9}OFG6MkuYzvvif

    lpl|!Do*P(uLA%}%x>Sph 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dwrite.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dwrite.a deleted file mode 100644 index 57af41635e956bebfd9d45f0b9f9e44e0a46ff4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2496 zcmc&$O>fgc5FN*9Q$i6HLWlzgBf$+BCvBa8DikTu69+B`ZX2g|h-unXi6MMkdgI#P z!>K=l-$R)ZlMwCNM7&Gyv*9qZ)WpwCm8MZUsRtu^H$rg`8D5r=J}4}Nyr=> zr;dPFr%FU+BI^#3{gY_*7cQmRO1&LNqp^AuCDBN=hhd~9@nLWjD|W_y(^rGIi%WaM z$tX@D6(|NBM5I(d3c{pWS{!DaE3eK#Boh}>R0h;-oh8PNx; z7wl&a?KgQsT6-ZkU?xYUB8zXRM%M<7nH3Y*q%+sj^7X|}2)%^lQ zmcZrt;e)O#GNOVj!p|+4{f&zI(z_VWCW@e5(*Jb0pL#?`bPY-uc2lK;UvN4zvs0wc zd`|lU&Qy#$s*mWEjOkFKA3RyUYhS(N>w}|;${2gFv^*~D;LV0n85Mb*V^$vyHfYiO zUhu5(^@QW^wL)=o{$B^5c3kkj#hZ1FeQDO|=Q?Ev@(!yhcTb?aXyE|?(x{t z813Slb9(j|tCN$N53`(8m%Y#n_Jh8NZt#`zjI}v4xyF|E`JPYa2`C+&v|fcN?83h? yPBmS1M$ey9xx6QyA*~Ah9){ghl|PU*5%Q#-=h}l?iN5n#^mpRoKO0L|OZ5+HsCuOU diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dxgi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dxgi.a deleted file mode 100644 index 3bae477b7314ec9c9ef290be72fd35fc737e7878..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9100 zcmeHNTW=dh6h2-jO^CQvil7t$1{I!=*>&QzgR08N7FDGPp#oAL5SvZBwwE}zWpCP~ z;!*(*NPyH|!OuYbC5T5Jc;Er?NIB=sUdEYOdlS2XB_f`+$y*uK@nnp*CjXVt8dTty0i-fe6&Ec3S4_DA^cwtI{!sa557QvmV1 zSU11sH5=Ytf6x2Gzwc>kNQ1@o)Q6rMcw<%7N~Y42G}wuHL|VEevnw&IR#5ArLEYn zM=Z5b!!L3Vm!39DOQE7@!eN$@1yP_csADM?o=7BI%=!}$ek7buPBLQk3a4bhE3BXA zIG2UP9iF2Qj)D0At)O$*+ZPgM5j+K+vvvi~Nx!7iB*=b3^jTp(gCh>pFWDYIol}t* z@I7W`ot@7*uZN3+HL{A4iJ>Y?W18=-SQW`CR(L2sBlBqKLp+qf6-ibxzKi9}ke&2X zcyhiw_O+z*O>C?uwF`-lAM@Q+#2o2yu~krg*Aerb9%o}Qhqo}Tg_ux;KZQq+-=?RB z4-*;bhE@XUYb(MMZ>VkJ836f8p>ukcbF$v4`Mm1+L7oSR(TEXVowY`-#FE5^M;O+` z7~6Tw)CXZ5^gab@U9kNfe#W(MEcqyu(2oJXV47jsn00wM+d4O~gi1C`u(!&JCH#Pc zpJoZ4hwPxA^R$GP)b1op80c||CEVBJVoSJ+XbX6Q27n>4fEquG z#DH%x!xo?pU0SGF2+c+MVR*13gah^WW%kv7av>U$gr8 z<%ILPLzac+JumQ37m2Um#-}J4@Dpa)*E8>R!`HAs6*eau*u1a-`a*)@>3)BnHn5b~ zfH-O!J4ak>-+wwA&G0dEk!ZKhJX>*p=FyG!Jz3 zIAtEVtH;Ijz!kKktn)zrqz#BO?uGXMuahIekof-_Lcpm3U*m7$|HD&uzJ|zj^gl1Q zmol=wqV8_LLIzA@`==61&Xet5NbOEydqtMl^XW>%i7yVnbzpN;2uf5R95bT$#*zgt9!Mdmr3(o#r#dF%pEYQQ0; PD$l3=C1A!|t+oFFO<$Ok diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dxva2.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_dxva2.a deleted file mode 100644 index d495dc49edc100e94e0f179e9f02f40cfbb96b0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33790 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_eappcfg.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_eappcfg.a deleted file mode 100644 index 3069ee95c1a60978711cedbef8ab41ba51c90cab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14754 zcmeHOO>Y}T7#=%Glcpaa1X3lSa#2tbYQx%b)+toTB5FzymC{3{9x68LdR?11wzb}b z7NM%DP*qS5RaGGl2=&wh2hNC7e-3AU0OfsW_Tyd8tUa47t}Hy#%&upjo!NQkdFI<^ zF52$R=BJAv72>YAS~QEMalxn*3I=~f!$P50E|YA^h@`JKl_+5^dH_8{ybdK8;^uv`HeC3=5zFx zwQgD0`i|STwj9rKt@Uo*vA$__>|V=)$d_iuXpF#X4M>$P#h(tvfk}9TDKsLa&j6m3`ya#<6UvQW*2y+ zvV8op>b)(u+jCs6<@BqoC50`*6b67Ktqs?4t~k40_fAz+fcWEq_b$0^*B$Zl0EVOx zReS&XZo7m!sII6=kpzsVWqVK#G^Vijo@;xpZYMFtA#j>5uifzTl!O!c#V}F|Shx~E zs!B176exz(cWSkox7-cd`K0!}Xc(qx77Avm=ywR)i(lrBKobwGc8;;v_}yG?*>i4t z{60A-Fk^eUZhLkzgg>b=E_Yl{@1eeMIb{1}C;k&5g=?UCw5RbTpWLzb{ z9fzCa3S98q5uL_zz1?QZjaJ+7AN=!@v0J%@y%R+E@zhS3?94#g2%|R2Ct-+vW|A<( zHdx-79ENe{+mG924jv7`aGPMw&*ac5vI|m2OrBkaFoRxrku$Za&(zAws>De~jT*&+Z2>*#VRXoOF9nSL*H9XJlbAsRL@VLo` zNB{@NIl&rUbFZ@_VmOo7E8se}uHZV_7i}6j+E$2fme|k10gv&D`eST^ha$+cAK)f~ z!QmlBmi`D;Xrpf!MzPEVGO87?RG=y64qNegUZ7uqe>h}EHqsiym<90X;JN2>6fcGU zt`!ekU9@}|GP_IiWl?J%YsJ?9^H7ZowSnnf1k4jP&V?n9q2l$)b(R#qonUVVhMtex!12CV>+=`eByhVCFUz4Oy zh-rY^0KY+K2H!`AxeE<^%zwkYE{xgtWAKt^e?WM^Ny}j-Jcpj7@&1KtXhly$Yb8lT z&%jKhG<4hN6<)@vq5CA?VH$d*#z`9bNsS9Ngf~?m1Gm0YYv_cmp^;NgOb{74sXF?^ zw@9R;+kOmQ^6XCtWgU$)i+bcQ+9l1G54+qEDXFBVq*bwoR47Ef(Nkc~C?&NC1IMYP zeUk4mCEZiwBqjZ*#)V2c2Taga(s4;iv84>M-ZR}w)Y$ya_1Uh?c2gpx{>W~i1Au&kP)J`6p5l;klPj%P;cqfU4=PJMJpzQgoE z$BYCg=_6r`7wY3ZsBc|;EK+?a7P}!SV9?}_zs_O-z(v~F5)nMivnOz++EADv-Nrz6 zYA`P7si7#V0cXgg)UZuhIZicvP4XoymuC5N6@uU-H6*MWglaeqHLRIJ2sHc zBr9QwGoC8p3qJ-gdG-iGg%ZNzr`XoYPy=gv8Zi9rXfn6>UPA*n2p7kxfd1v``N~tv==v> z=`MwBf0~)@>>%68$+}5z_tTE_k@ckbiPRs&WVVB5XzoQ%$3DEdPipPcjD2P(|D(0= z@a*WMYas2|M`41*!>)Wu$Zm(W62R=#pt+yCBKHQs~kvm%;{sUvoVf1+mxX~#*5 rza~g$`Ba$fxUacCJmr37+-EZPgMXI%54j%{U48sca6gVYEcgEf+~fu* diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_eappprxy.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_eappprxy.a deleted file mode 100644 index 5dda01c5480925c02a9dddaab5eaad492f3af0d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16904 zcmeHOPjA#l6rXH>gaCm`91w!m&=i#l1#kX1i4>KE5GYkEMG295sN`(26XLS*uDo6# z99q;r>VJtttA2of5k5gbLDf?aJ@ioZ&_fTU@6FijXU}-o+n7jJcchuI$G;hS-u&L1 z=NbFLV%6K)d2{Tl5fA0rvQ@Us1#`|YOmT^(hEbk1Wr49V#u&TA*b#%V(VrMQ_PdPZ zzcPmLrC($`{U>7>&m58Q>|cywJpYG`2Gqm&>d!J>f^v+Pf0Oab-;7~2FUmOmGGiF6 z2^km8F@|yRxQy4v8M`)a+e@~+-r`=%Ug19X?4?GH+YcSL+H`CvbgX&Ht~;9;gHm2? zHk;m~J-ccHY?m|J-r?2Sei~x-a<%zZqvfw~?yb9y>-bK!?mXrd6Iyq6n|3zU=opSLPyOY;oSObV2=x8gOnc&oL_x483w z*H)@q_j$@=r9(-3ce=|Zewoy}O{Jpkj)I8SUgK`~^l8--ka&F%RlDx%B?-4Cmz8?T zXiRBFL$;xV#@oA7}FVk@41UR{iST z#=6_Aw|6&}JT4xrT5st|3;pX_A>Q`&w!gFHSN(Q+YY7Ocf6L>1wGC3*i3!9_YTyxBRrq8VqUS2EXUH z;k~sKNg`OSdXI1VlZ|kGNShbRrfFH0VOUd;h_EsC&JdV-2R4N9$ftAIb-*RwyXEUf}otr3Y#8Iw2v?f z9v;Fp9s(H(*&K#TT`)o}IQqjwC*q9+XJPAzDY3U8&10q(Y~9Ju*12hLZxU>^K*~6p z$PYRKqDYgxK(vGK2K=Ug0XT{}wuX3`6I_S=^m=%VxbQfcgGBtnr*4DLSHBe@5p+Ve47ITOlpH%Wzl{+3~PM zNFc^`(N}y1sU27!19n=n{S|S}7;3RBsRSjMmDnecc6+z!`SP>>cQ3+wD--YM%<_Qu zFm96C9pC9c@%|L$J$*M7>?khp4S0SG5$|uv0+E*3XOL6g)2{2^fmFo4R~-oRXR|SX ziuyy+_Iv|0=whU#L!uQ=QN*3I4xy zLMsCO^w0&G=R7f;NhhoY)kAs$MCvt9yhrToLCzDKpN@AoU9q z-9iz5jFP8L%xBUGYp@5_RVVuK{6`Zy5q^w>Hz=~_-|rq6=t9`_Y#(an%KL14zjITw zir+uj37F`-@m>VZW?kVKN$_6zey-sBe;pMVLbTemDhotfV&6la@c$JNq)r7X$UJ9) zjJv`!>fYFQ;41W5^Q3Ev2f5~%vPP+V4T0;n7!qEOvgY}f9@o)`H=vEI8gV3{5osTP z;&T;wX1IzSfDmcMhB%i=iTwx%3C&0og??86rjqUz^3;=zd&uTs#R$hYp-&w>>1W00 za6(U_&zg&^7Z;=g5WVQRVia{fRTGksJh`87uehvo{|g{OuQ_6a*w%xbBR(Ma?Y1xG z>v75)@u42q;l2Umo^_5mM7ghgk6<4OXCXkK_*7KpUOzJ;953rhD>|2a^9ZOBs# zvhEHKz8l4Xl*+Kb-Lm1N7Qknu;;$2EzsR0ZzwgYb0b$ou$sYsc$@^@(#Do0;WPLjC z``IrjQQk+tL=~Fz{q7e;-Oli%SgvbCS@(ujJ3sJtqBSD;IXSbpGer5G_=^v9s>rq; z*UB(N-p(yqAkq^15_0P8B)YF9zYde9#m}}wJoqk14rCsl4x<`C|3iga6q)^o6cJ(n Vji3ZG^-lrXb^Z2$ir7E%{{`_CAj<#% diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_easregprov.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_easregprov.a deleted file mode 100644 index 4d12d5357411c3fea83ec52308f1400481815bb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3434 zcmdT`!EVz)5FIBeDW-@XIB+xw#H9*$NSq>7C{on}C_)iZ&l|UP64NvZwjt$$Doz}b zC8dL2K+i5&EggHOZAAM~3zlJ9y! z-NbSH)1g=eh_Mz#swj~b!oVH1-$$jvnEou@Ez`7Zq}(o7#=JK)q#f;n25^sC8(Jyy z&LVDS7Y3NElIuiHHiUcXU|yDv!f*);&I#vJz{iyYTfjyE=cO9Qi*eP&Pq@u&TrI(E zVPh)=m-M4(MnP0^dp&?s+wXa@#I*5Erq7xw}+T7={Os^*&bn8ml)~7%DB9GLT?ur6Cd6`V9EK8VA2qc zO_~F^jZe%uy{j#icN#uFe-?mxGV;z3Qp3y|je=h(r=841A1O!_?(U#XM}<4t4jm2;R RlCmLt`Sq1A>1#P*^xtrwG{yh` diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_efswrt.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_efswrt.a deleted file mode 100644 index 7e1a167d717ff62054beb1a271ec0ae09b220d92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16522 zcmeHOZExH}5S}GqzzQ6N}#EPDui>*Ipj!kck(%H z0|*KN0TPJv0g2y%_yPUECw>4wf}g+#%FM34yFS0%USm>Ox|MeAo1NSB%sw-oeetP_ zHE(tO(!^_KG?ivccFDHpt%_+{tV%6Svovkb@PDjK0Ki#*(O&_^s{jXX@qE|>Zw8#3&9>L_-Bo|FvFTRlu*Jq!8=tD1{O-2v?Od(9O~2vqEb+gzypH@w z21CG3JuJ7vHmap^*jajgq~=N!b=3A69app=o>znME!S6DSZsOMUH@*&+gPgk>&nyg z=8JH=vFbNkO>AwU)!wO2+o4cBm=--(h!H$|%e&U-_|=)Pg-jMH%H^70d(XYo+HmDx z(`uvipkGDy^!jKG3U|Y=`P<6)XD~#oNKZk}sJPV56WA`dw*)S4xT~J)SIa_MDV0dR z;d^dv>t?%N^WADm3{X;ypuN*}o69ZHoAQ*IEM1j>m=N z&>Po`(&w}=v>r@Y{pR-Cn(GnrB$&F%Q15t6f2t+ia+*IbS(a_vrfHYCe>TmPiEBgq z&{qPS7y>xL?nZ~EeD|Ku?$Zkstd%Jo!CE>CtEqzZaO!ra(}NA}6JLWGoSX@H(W%1- zK9`zUdz^1Jq!ZtGI$tH^JBT+26ZpbV(GAHvJVa$Q1^Q!p8O5p$9;Oo-`Qf1h(MEz_Ve7)OR*ZaU}WqLXYG$c-K)bUaFj3ZAPr{zFZfB^`@DcKMu8p9-_#uyXl9-?o8 z-Nh|q9O>t=eknjGUCjT_gA0#KdY{40ZYlkO^z;!AK8HN@WIkaT)ZRtpX(sd8Sj`f7 zh-$zSknmzYd~}9>J$N8#INtyfR!~IDa6Rrqx;=Uf#Hy`ut5a5() zhxRQMg{H{y;&)UZQ$U={F12?PR_fsy|8Q6R19kqo<4NqmVKI#5M>k zMMd~a`0SJ*f)E|Lh(iL6XC^X_<4Dc-xe<`5Q#egrcbP~l@X2}`#yIir7UVcUo z@0D^K?>`_0df{D-4fYc6DX~T@cA@x-62BzRW+`_0Dw$8<{bg)J7w?Coc$W)1;ffr# zRb+4f3Mmwm#QqW|u+o5^@fyW`Tm{nWM~onaF*j?N*0hFFJd*zo5z@;VRumNNr8Ru4 z^qb}V{batF_y0VZPgsMABdlu;haj@Zd$k^2Q!cb6oMnhtE#Z1Vp^E`OVd-Rwue=R3 z_;Ry@vZfta^RXysUg2827Hg#s2xPa z*WVDzZyr$6wSahBG?@KL3wRz!R@VX!KaY3&bXfOk&QID=>PJj$-5q5eU7Y$s|5xNy9<4R~D5izza&;$*Ave@(?$1_A>d6JZlQo#lO4OT(Slw8D ztPAzggJ{J@{u$H*B^lXV;{;Y3@FQNkBAclAsZKwMEjKIB-OrtiuWb%u9ccx}addU9 zU?1SIKXFijpD84e6xr`TM*?7y=%3>RRvNH_S0^rZ??a}!t=(9Cb!VqCQaBtn;z)>GXj_I{dA*736)&2x9KMT;^iyeGf iLf}lbfPTI#0kQ!31!tiVuk~d~L|nP~8Yk~IivJHdD37NA diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_elscore.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_elscore.a deleted file mode 100644 index 1cebdc9958694d00d1d14bbcb5b611cff1e16402..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5730 zcmeI0QE$^Q5P+{~M@O{@1PDzaP>|pam9%TqPMW5|(DpK<35LW2BFkEDjn=hQ8U~vX znh-C%p#2Db0M9(_2k@I1ceazdNxF7w*)%arc9OfZ9iKm+ojjPg-D-Uy^F;4Wxnj=D znZ}$^(shHY)Kb?AMe(fb>lpx;0?@7iq<#XVe~X;?1weWFhsf8z15m#Cg|cNWTGs0h zb34{5^O$Qbwrb4!;56;FW1-M7%cj+EHYiIeYjmnDmsz%jRyzzVtIq7&2bG^N1_EsgXT1YQzK5sp(dQPhueLYnJwQ76M%eDdt`ptgMFig|bbu*unxU6SZ z5;*agW)c9`_}xSz>!Bn0eg8rSV?A55J-fdN*Hpkb%5HQz1I*xn>>O(FVZpae;Y|wP zOHI5zVOR9!WH;I0uH@Sx<}ejw=j$b+*;=Ck*-fXxq~gypz*b_@-u4AjuKJ0ZO@`Vg zGu200KO4nA$$mD9Z)m*91eLu>`j7i%0#zs2aG%i3CllnAX!2Vp8x5AR9K)K=5UKT3 zkXo88Mo2Z$%h&k}r_P(yyzjSLctfPpDxyTQ7)L5sh6=?lAU|ZnAIUCGPBNOqG%sll zr@4Qo`Q0!a*Lgrjb4;8G*!1e}o7+OdNrH1=oqJcXPW~mIc9R+_#5+gm=f*zAbfxtN zu*6GIXz&eh#;_HQu#d_8kgtu7fvF%C$iOH**WJTc5@|l51LTi3bfQt6F_KJTevJAz zl2N+o|1OFLQI|Ylz|J<5exV!fd!l$5Z5r`*!P=nq=Fw(1-p)idPcv9nq>U8eML#-z zL{Eo@T^V`{}+z~ zDRIAtb3RUb2eB@wJ|*g1aDIKZ+&0%Rz`m`&DT)_mbgo{c0T^azUF70I@;H3upc=c&lh8;awN0g&} zrUaztFG;7#5Ft7Kv_DK-KMm=cPrCYPhVMY}@P8m(9d_(@XV16n*htR}N%~wgrhi2| z2AyEu3WPXGXL*9zRQf&X1k;YUi=1Hg6jsiX`FBdcCox}-w~H|E#@hwV t-@y4CmU-}*_y2}r-HROA>5GL@m-XNW14=dUu=H8?ha5e?^lC=s`!9^zf#CoE diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_esent.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_esent.a deleted file mode 100644 index b49e343cc588838fc973e9f16beaa22fa56b6e3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297340 zcmeI54V)!MRp@K(3<-%L5E2r;GlUHUh|A2KnLD!(;>>=*hE1~WY(9*T-MceAJ2yLX z?{M#(WjDsSMvNFE#uyP15s`<=i-?G*h!~NF%0nJ14;7Jz=))%u5fKr2e7tk&ba#Dr z-|9)R{)$`o_dEB_)T!$3>i*a1({-w@sxz8O}Ka(?)jmgHuj)}SP@d>Vy zzsJYx^{G0g966V<+NT)1sn6IgPiE|;(m{7(;1aMe?#| zGltTKZJ?a^63MCeGlp`obo{2U|s`Oh(i@}>`w{Nh^~LwU=+B)Xe>Kh+%E!+m z`NWqQL-|`c_b7k=A(DT9bBywtH9x{5KB|7ehWb%HUJZ(PA; zWaO)i%h-F_2+G;_lbrhi8$o&02FYV?W+NyU-bQk9n~k76;Q+~#$Jq$VrRS17?Tc&# zW!uL|p7|gfL3#G=B;S4=8$p@4jHC{EQD#0$GWS6?g7W=JgKsCf;Q=;+a`T-e-@VF4P;Px5N%P5U1ZC;VBrBh0BPgvu zBUyvvLg~Ddr2B3*g0lHGl9O*@BPic%pApuA}}$uDkaBPegFkv#YjHiGi2?;v?Q zY!l@-x+K2^zbLQSVUoXnH5)*IhWN?&U*~W`JZDolnXvca?u-D4ds#tNuKyy ztcLQG_mGUgp4CvEekaK@Ze=x;XI({d<+E80<++b1sgJQ5%Ji2>W?G0FFw$7(2dGLqAV_p%zw2cJyx zp|7(V%AbCcxl)rc#$;a+wHI%OC zjiNmNB9a$;fsLZff0$$!YzJlUJtX^9*(l2X-6Yq;v7j7;{i7WE6v<8RW1}dyyqV;s zce7EHBiE5EJ)4c9tU%pRRzFU1{9SAmrTrR`m-X2wO8+3q%O}_<%I)Wo-0>MUit>H$ zC%Nm5Y!u}O?;v^QEo>C!M^bqe{G$B$A(97fWTPlQ1?L3iwV*@!S-4&(Z@87@7mlz| zls6wG`Q>Fcit=D8zq*r+qP+d7B)>7nMp1qfjt%8qA0YYNcd${Ehh9(e2XIbM-VfVB z`D54y$_HUPD8Me4Km7z7Mfu2kNdDsWY!n69k!E~4K{{y-cFK7 zKb4K4T=034i{8t|P%gQjdqfT*<~z=HZx7cENU0_Rf>+yP1ul?1%lMT>m_hgO{-}lpD?^ zx#_cP4CR)0lK{J8C`TS3S$ZQILs@w%N$b^Y3}x+3lFkt}hSI%;WOJI0p`3g&$?acY zV<_MIMB0@HcU z=2EMDY<{vX)!LF9EHmumtJ!5+wz=3iAU{ z&7*6{V)C+0urjUYnpViJmrCwyuXJuwn`O39q0;g%6z3Y@A zC82$r$7Ic5Eo&a1R#rYrO=TRbO`q;H>GfKjc7DjJDT1@OXv?6K-PLLLlaqZFy}Y2L zrBVlzUT3qrl<-{|yEC;^>e}YX?6$Djx;-(<+4NL$|DusOO(Oli_HuIaV6%M;Hmbm# z^feXbmk&d`L&51XwPq>p4yBdK?@(I0Q44ujTuFP{wb|`;x_et|0H6Vaq0Gy4q3QAZ z>Q*7?Lm^FTmeMVQT1wakHQhMl@~$NNASX{ltCDYeaGES?^9ZM*!IYIFwWVBnF|IXB zO_^<9KFU;WDQC8OrJUUA6@~3m=T~h?vQcuWx(TpFZ60OaL|7>&Gpr~Kh)r#}x6az; zdb?-lm(t~&yOWjX=34*8=GrFsjrH8QEYDM*BsWkkLNJVn(+ zr75tLgPqiuln-1^#5_sA+e%I(hnmNZCCj_`soW2qsJi3QT+&uvoSagdMpiIWNO@^r z+U3mh%Sxln-fk!L1qR3;*f@vZL zS{xbSbf0Omln)NsmXDI9eD-WSm2!c%kliU&8wtDCbyULcZ_>kRS&mGXx=fkpBj0pj zpN3}y`mE%x&L;R$UHvq|9Zo2CUVIGaPP0LarcrYnl;pW3Lh>}74potFncALqzdM*< zZds+}*Y0z2{`?*%C+gQuY(BfU9Zc3cC-B*LrL~5A2P!^>jvtSdY5-^GcnR&vU2!Q6 z>d*D4<)xa-;E?5wSg(skE0xkO1Lfwakn2DfOj&c8!_d<%f<-4vfR*m4#x%{ID@0!5 z2x|}IX%Ss-D{0-AD9F{KTzXH?jd0!w(;XLNqwQ=oyU7h3%h+Y3zyM`6mB@dnv#Ybd z-h!@{X1mv1>cg{xMa;6fA7ZKo?KV5- z*KZ{4L&^F^r`znF;v^{+$gYN?H5F?2Nr7G}Njp;-QC3K(^!(t>%BNE)Ksvny^t~09 zAYE1hJ0i5p#kVig<(%5Z$#dq{Bu}v%0B%yg0%##LbB@JDa=K?sSWGyY!YeT9SD34K zE0)?=wxZO{qBm<=lu0@gsUmXsWLAGwZ7Bx_RaTDFmU89AvO7z57~1VqO_sKSW2K>|4?6z~*PolB;+tPKT1yo$rGxQ&2Ez4oq1W!u!(6?pmBTdV4SoSfc>|@HZ z33(r?pMl4i#bwB&QO>& zMT5DM{*8bodc|_B)nv-2+zM7YnNij30hBDwSh_7hM()2U-WFvn-InX7c)oN?tN7%# z*l+fG`q?<7s?z-E@ri&`{w#yXt*W&A+Ff7HpL;fPq6)8}QML|Xr-vl>Q;0H(-c}Nh zptL0EZ6ya3%zDqWT*T!f^X|Y_Fm9UyRr9YPMvoITN2RhV>qKQ!4 z)Mlk{aDf>}4AlL2Bj>V z1p8GXg_5@@Yv%3I(P9?@S$_SF4^>f>`PQ>!>orrAMj6|+%8GDZRssia8Fft)(>&Vv z1FR4wkv^mD+E#BVH%79 z(Ude5?IC|8)LW9Gpu7wHesgJ+j$f~>uG33ocE!AcqNJLqXba}mG`ApMQ&VeP*@7(k z5x`cpn}aAwI=w_mf$WZmJy|<9S6~Q(($k|R!*=(agdU`Ja}Ate8g8I?eO9emO7r}* zQn~M^rK={>rZo2iF3hy-rf8*7wWZubc{x&B%9R)6S}fIDf_|JdjHo=G7#hso-ds<* z5OJiY)6@20)ACZwi!jEna|{ZmLwn`M4jqveby|*|yp)?V<`>D7FFTv&NaNhqfMUhD z%C@3*#uaWR>!C9;D8rkrTH1Sdi`ds*>L%+jUXin%B+J^eCnaOP1aBbO)l`R3S#(AT)xlLuWd5z1svftp`_#Kt^MhSdY`j%# z92X9tl&_{%D!&$5dTAl9k=C%)7F!$02Fd z+}7jZxwYfqX}04KihRptkgW$ItF-*qL!tcIu~4GzU?h#Ub!12G7}}lSNu>O#PA>s_ zEi6Ggy+la?uFCUkEJ?GXB5!UpMUrYEwRB~x5J^(} z7?C&CsJS)&MarG~E>c?Irny4dGF%_!K~-!e)u_3l&hjl?%1s(IcVT9(z`W@cxy7Ys zTRV5U26OMcq2F4AfDjHvlJ9J~Ld^@FlQaiR%F7jM-lD9S4mo#0q$IaV%FWf#sJW>z zNTwopSEPbQrowG#?b*JKyk*jVBlS^utsT=c)%r2a}{sJ=~zU(*7=}jL1LW537*g*1jv=L~cMM&jZW$Z1t-7$&RHfxF zI6au3RBC=~pat7cRa*Yy?PDv2O{w{dE;1aCd4(~tc>CtH#r%bbpGWxU1n+?d(Nh~Z z&H_jCSn6zM$ZL|_!Eb8yS7~Mo%(}J`Qj)WLYgU4+ThoZL=CKi0oY6coweOZrU|v3p zA*so5SaOe$O=;|>tcZOtz)Z<*QmwHcAg8PpY0Xllh4SO;v`-}6{_frT^+VGXxcxjy zKOjw^?h{P8W@|eDAK$zP9IK`?5twOJXPd^Q)J0SsUnv(6HlZ(+VlYBE@(_1 z0IjW*Ze#Rv!qTjDdh{@_-V2pv+yf?1+$LQaLOCv*RxYJpqAYjjz2pB`Th)9KLj_yi z3G-mu@(c?3q}!C1GB5&AzK7_gNNp*nc1G&OvOY+ju6L@MJGAA<_L=r`Y4g_IDk$q2FZ&no__OXloo z3bzR-OZJJ&w@H}?ZnMfJGjE$Z)ZtPqN5hxQjT}># z??peCJgYco{9juIvvWW}t?W|i9*x}i2j+xhD#@eS?}0hXx2D?pl8t4yU(2GN5}VT4 zzjmh8GWi)-lgoBvzXH00tZq;E$XYt=UpBc`tx+TGMy3_wTf{QU>2!0=!`0H|oN%pW z>y_uEbU9~1MxMMoIl6faO)&AP*vJY@#K>~e zuY8_xv!mL!F_(OfYDIaZ^D|nMM>;oH-_a5LRzKO$850AGiMazFSb6$cJpugs_}KcANB%;TVC5RT_KUTi{8Yz%k)cB!qT#ogCHv1%f-9q{T9K#Tju03vRq^DX>q))q& zJ{@hk*&?=N)7LDdV`~eU^e15j;3I7M93}AY8aoNU7Mosb(n;xw^C?HpXH3rfVCe?= zF8j$;a*KH;eU}@h{g(MIN9_3w-{m%YzMOM>`gHYOjuYq5&65Pp_G43$1>4U^Q}Cz8 zR^Xf1#;U3z(R6wM4+wiAx$a1EgWj+;J}$iQlW=thk$gZR;7pQyi?rV|l9%oI43gXS zd^ySI!&P%7`8Gi^@2LpcQeTMB!bi{yuk6Y{HMRJfDVZ zJc#FEd8&LoTsK#qTbyU(Z4yCS>8GX)3$Ec6efg)x;LTISwNY)&2`SKfqJ6@ZcGC}e zg#+z!uiBZk-UYpMMz0_CT;hj*ik~cRx97{P_Y+|ouC%Wr?aEq0G!6!jBV^VoWqbJU<69Jyv{G9A6p7;up&0ji&8x7fh zyL#gCJGS!q3reCVo?Ro7k!No_C!A+khXLQ3HY_}+)m4TqD{qeT#ItL>avDPKTD&s$ z`EASXGd^LvdLGNfb9X&(mT7dH>~V}kjj~UT9f3c&$C19fP}t=x!4t!-k;oa-dyWhX zhO6{jFJ%lvUth@n1&y4O8NMt77=CN)sKl^3IpPpNOevlyc8xO5nj=TzGoYaOBDi9% zmiQ=Ath^RAY?_~tvMZhe^G9e-b3dh7sj|9kgGJ?uZ`bJJj@YY*m$B$cuu899llacx zwVO@l#_fk}wOxDl7VR%D&K;2=y(i*bqmVmHiyr&2g+;GI{E-6UF(er>@t0zgg^#f8 z^ZbAMsqbv^>|YT~SMf|spn=3rA?HZMwHGPxFwqUzT-{E(wY&X08n}TK=pR(~I*v^AnkXmCW;9F%It1PYM zfKQ(}_d@51aMw6xBpfedVeerT!f!DMUl=~ZX;~T3V<;1z>O2wd8pVw9A8&+zmqB>g z{)uz^N2a*Mgp->&h^IESH>?<)N#H*>zz7o;vGFWZDg=wThDpsl!b?8m6K26}Q3T)cIZ*KE7f7 z!Xmy?l_$QPDg1I3Md_=IOgWU&t-XH!Cfq^Dlsk`10dM3~ub-?RXm(+JMR>cWwmd)h zD)tP1n4fZuX-4L~F~4YM9{iSJW#05(H0Hf}F;lKF&)DZu%6yeRmxFfZgSPP%`dl=e z4S&X}_hjK+qoC2km(pIvtNG51c6wQgmk6ahFQ00J&_(Gr8a`6c_Mt_YS~vom&~A*m8;nF>r&FMZJykny#pFva}zY_ z6})z>+6L=Zy(ijTBc(IuxZF5U^FEDw^D7xd|R}hNOz5nM$)~JevO563=<6@>Drr3 zpvOff-Rql8>aH=-IdhatoYO3P?C;FCF;4`!ud2fFCla8yuOxdv!`J+`gHbEaGE(M zH-k*=iFMbQXJp+Q>$_~MgZna!tivGlGS*YIC)Qo#qVbuul=Ui}`c50`u=S8xuP{PU zG2G>-lhzaI&Jj{`6|UHuE_&0ecrXhV(x-;ggPAht)5#4XQ+s0FIYt^;N3&k^R9c1g zc^m7)>A_5y^XL@Tz0RVWbdHjm>-a~zF6??059T{;tPiILGi3`O<$dm{){j-6bdHlo ztM1FHUu_}1KAav*9hMVq6!*boYEP^?$4VpXzF2>OjrHO5VCv>DFWH01)Sg(6(NaWM z_rkxa(bB7Itiv%3VINGr+^qW?={4yZEp3>-dVF(*@YSolx#Ia5>7BLB^>#04!toge zKVnAFc1qyiHP(jTbVkuGs;+?3s*XSOjmz=h z`|gtx+4B^tcPA^&&9(lG&9%)W>~;PxODib|-z!zS#_opy6vCCN&)4TP2c6Sy$>WK9 z$4F@;pDtoiKVud0cNCHz_WJ)1i+t!&97uke#}oOEansoe^R4F5=5NjB&lQp%w%`6V z!{+Z+Z2l|CY`z2dl*JSGu2IzZ?m2!9i!6Q>4}MnRK5W*V-#rK8zqs#Gz_(YXU8AKl zrY(a&-@rnt+Au^u)7c zv~zaSE>A7MH3k~r ziOa8~)>85oP~|NbQ*sMdmHXGPvLDCj{&zuM~T0#0S! zMoTBnXleB8#dGR7TxHi5F=4idou>{aD+vr#T}s0Ca4t{T7p-A`nu0$yb}xLJtwE~( z{FFSZQN0%!**vuY$GB-DzAv3$OYQEF-xV$bt!o>2uGt2Fj&MC6d=ChI1o!!Afz%p1 z0pBL~^HX(cgn$Y=={ync7$0rK-blQNx_^{k$|}8)+llaAzte?LFkxGD=ibPKs;l-! z%88zMc8z<+dD5jkUkqATi~a2q&->cFeiM9^(7ASglomd}!S4&7d3 zJQzQs=j0ibz`tv31%9dLgxhNy&OFT%&90HqIHHzcpQ66NDkEyIkZ2BlHoxnL+SHTA zY5HmxAcs6l_QbSf)Uy$p_Qv!xWv0R92-%~q%CxrNbB21F?1^c|xMibZ#x0}Qu{E#b z88Xw*QbJ}LV^#POUPl(k$J83T4ZbC>17_vh%(TZfo$EVd6cSIp{=8?5P4W3o#LH8n z;qA5Ad!vG;+C2){ld7z)nFZ$B(0Q`iu2IMx=96Nar73JSUS-#)&9;>Aq<^S+bS+s- zUbYD@UTHPgU>hOZ?{PSO{0RHKlM?uMjok&msr@#pZrJjI9G<9mjaBY2$JR#bw?_Tb zbLtn9Ua!?@@9MO(;j$r9@A{TblkPrK0!UA*talBn3O{Vmxkf2xO>2G!TvX@?k?WYmj?dCenf&(We^ie0cjx~OS?^34({#|3(cFA`URo26ky2caTuCd8T zH@{ZY81i`(`8dHUbdPIvFTj>Vw%l8w+Zbh%)9rPH$((DXGWsRn=)P2=8#f#>-R^!# z&TygW_BpC#&NXg1YtC$oeu;R>tTKn;se)~qs0EHm$ZS7>w|dzx$=y2MYWwgl{F1cF zdgmcxuc$nECay8e$Tz==MV?6&zMrD=4X(+s@vXf(NrZbHaW&@}$BZ-4 zN(rwr=kf_e_%T@TE$QxReoL%u=spuot+u`pmQCx)mb=C;BkA5qe>{=iT;2l)3Bqi9P>uQGS%5}EYC2}f@YKO&M@G>VoO*1N*xR8K@Z zM=;GXhOr-fYyIFCBhd%CuzXc>nFr{5!||l4R#~;$Hk~KJV-%Cy9Ic1Da$ic7p2EjT zgu~LSe8uUIJrma`W=b(uSzVyePY_rY_;j4F_795>yGiw*|^RuzjkEc z&5?!UpmnwEkCj-bXkSlSK{agVFXv}TX5PNeY|6Y@eRZAL0ogpY0p}=a9HWJox2O$N zi4k3pwtDjDgNhnsX!KTH?Z=83*=VZTw>- zz7KVFb=KEg{X^YmyVqRm!@M`R`-eN8C0hqb^e$cpwaGp;_A2-@^=puIOZCXH$jw^X<$p;Pykd`depSd+qoEgL$9t9IrQAW2dpN z5|J!qzDn=SqwLHF&AW47rGfJx6YsPCrr{b_jeV8gXg?2WzkVZWA4=9YI^AaX6pyY3 zO}lGfrCDudc7K7|k2lkBjj+ZQTS{54;>~=Uo%K5IAY^aG)w-KN*9QPkdQZf=#$Ds= zx>Dk+^h};B6HkUcXwqGKCNt7`mDNGL7L_NyT_de=c7`{;&oTI(3Yu@%*%=DNQ>u?{ z(|ID?F}@n#VaNe5d>XA{!5?W5ULQWf>m`JzI!}bVMo$}Nzj|EpS@f${S(*RroN!uq zD`Za`=Uw4P^rdg71pZxPZTQ8$bZ(=0buDB|>7J-|jF~nf)%-dYjR~ki^;rtlVb2+@ zOtscYp40BPZ`?Ho8s9kKjp|1zREOPb;`+vkoZbRcP05}twQGzsGVP7&v5aY)6&m>J zT2+|l)l~ILT&+1Cqp6iv%Dxxp_;uCeoF2EPPYJ`e*KJV z>@$vR;n%U~4p3zr7nAvyoS%@nuQIX)ZF*j9b>V=_&)3wRydBp#Xk^_R>)&8$r?Py} z!Oa;)*1>U^V22O4);A8zw}6cGRPBj%*NA9b#jBL{D(lsK-Nrg>J!IBhSMkyfcRA{$ z^+dXJWYnB@7bBy>gRc@p`kG97;MTlq&!qOcmJEEa?`oNGj*G_kJEQq7^2*N#oomnJ zS7oLHx7s+42R|a(Z(o@%gV)~KPN|-(v};T>jv}3Ha5#P{K%6FA@7ym=&8@3$s zvn2MB;zxKTe1a1tLe0AHSJp9-L0oLUeLh1@yT(Cd6o_A~BJZS19Q4ba?)F-%ofvb~ zaVH^@?i>ZOS6^L*@%pk%e!Q1y*C=S+>_fR1U>LOW=rRGrpVQ9dd!5_Te#=%K#eN|C z&`-YZ+%%=q8bbJnqPy(*@|8z%1c>YN=D&0P7Z=;jjoxYpmMz+BFTny`@V26?Lpba< z@T~OY32T2SJDu=bV-LVLxAtYHKwZ1*`oUQ}wFlRz=nivKKwQO0^eJNRv1@zyQek@t zyB&MSPEg+SRImQRO>bgz#I#!?~PJlVsWLtMCf9 zMXP?1cVo@wsSUVBOXIizeszo5K$Y=c|7vXmVS6>s;{tL!pF&+=>Se7b(j8-{acn!8 zu_Dr|^yz#-CH;j-e{VNQZimr+E1jX4-H{WoR$q&;mge%*0vuzmu?6^R0sm6c0v2F5 zA@^!J&u_A`tq+_j&E=^DI7VgT><)h|;PWLd0QVAd3vlk&x3leZ3-CGWX38~c8%MnJ z22kV!Rq^)!S>>M`puk7oIM43LxlgNIM7*N*W9z3JW4MjTx;NH8XJZ}QoRDq&R#`7} zZ-{lToyVQ!-V0Q@pr10+c=B0XBd&AiJde}htPUD?Gc0fXtzyUjuS)mA(N4FIO($fZ z#d&q!oN!+40>*{T6XlL^*T#&w&Qjlj^8NJK#_;D%jxM`V+HcwDvLp6<)7)Ug*BA(n zF1yX1FCSNct$jYtla+-UKlBYAh`jGUk;d3(kn(FgClW{unQWYuh#xU}<}ym)-!*m= zesS~+R#o*%M2aVhT_dLrlj1nfRE!C$GAHjJImON6$%~Uyc)>#^`9e;tO!5_J3e{{C zemKcgU3K95wQ`~-o*m<(@fngX6B*uoY;bOstN0%O2YKGt?kC+IEPcn{HJU2hp^mL{EvSi(p%_ShfMdQsqstx$9S58KQ(p)zR_y$ zYq$FI)6(iLd4eZ~9V3~I8FPk4WLPkK9$YV1ANtc7!_zkf%`nb6#E#&v8gZO4 zd+(x6-kMGR`<&#k{fY~C+m>x|Ho6KGH3nVo!X{flrX)`syG9eEMdnw{heiIojN_@{ z@hzq-zD1ViiDcJkVIX-6UDBvzc}8`M*EgxCI5>kUQSLP zOqM#`(3CeOZDhhF#-= zaeTCm_1rVT$bxHJ@Z-qv3%i|{XNy!q*^vEg*YVMEl~s?#)cB!$(lJ&zJ84F}Z>nk8%Hj7C( zdoxd&!4!PD%u{%8D(*E;;eAec47e>SkH5Hgyi+mu@Y_PV*hu!KS-1-n*o`!!r?%i2 zC5^o`{4(<^F3lUx`y$6d?RsDMpXF^K=zD^5Z%rZIuD1lr=cyIAMo{A_`n(yS-LtiV ziy+mt6?`OX1*_epxxCnK_Ip8-@4AXU8g@}--SgK~p7?f+nnu1k**^IG^NjE2(Y0(b z<&d9htMHvySsfXG=xZuZd^<-}8{_mja_;^S@+t3ti#=!r%pn4T-~G?zY9+Ty`<3i1 z_gE2B^ke5B&#FD2F)E;I&zE~KRqXel>3lDQ{WQB3zO^@b%6xl$ljnqEOf|mAlbi2C zFTF}M=}&dOVbdYoZ|4yMl94Vp-=y(ly(e5_r8~^N$e9 zdf!9HgyUN;@FPYFTull5yT->g59+>or=^L2R{2w}!my(ijTW2cdJe%;7rG1u^^ zLi_))(jNBQw=L5So=GX~sooRquCdg(!nZftKV+pnZ12T&Y`S5)2f$8hPpmt}SQ|Uc zr_lHYS`lN#l~G-L5&uMHeOG5~bG@CtxGHFG{ZeiXWM5`JO~IcUI}P8mFC$gmPP~!9 z6Z4L-)W|$ux8jw7sxbdSJM+;061I)sI`aiCjbPrdPvaOfZA1?qku2aY!uy{2Z&Vx+6N3Ujb zhigPNTKH1ht9Uhkn9-i}aE?dr*5D38jyqNHYP6~w0oFxp1}_$Va))c2b=F)bCXSL3 z{gYKj$-G}>9{VPPW*yr*engBlA3Ox9HFg5N(|*YmWvsF>rq|GUBHS^yIy-5u?i|-1 z5QLAzRdnrv|8F_r)};r6ru}j_5BL$Z@23R*U1RscZ%(_d`twr_X*qKUPT3b|plqJn zfOEvvj6%iHG@=b$4A<7R4ZJUH0|%2{XS2JMaMuRPhwRn3u6qYiE7dk^y+!MZbk}%m z9M#V4RnbVAD*ntLt*_j?V# z>p@%b3jVs_yIul#s`F&QT_dS+bXY0jRr(x%Um-kO9Vl!oUSV_?QJz)10CZLDiFMaF z>a6)}8hc-aUtVPn$3rRW2b#zD6g+H1A^YT)a4R4`k4~g1RI?5ENuNivDjS{Zs=^c7 zuJO{i9vHt~MV@#Swtr7!yAE3pnQgp>;YakfV2!d*jdkHqjcr(XS{uop!JTS6(d`-; zjea=4Tt#$OdCq)KO850gZ{u%WUg?DW&aDc5xK!o&Dfw-P(9>e*{186p8V!wvdn5dJ z4Z_2okF+Ji7fJ|Eb)E=!j(wWF;?esS-ggxn{%(WtusxIteTBkKmjF&GPkcK@KI52l z@+gaZlqx+bzmxKPZS!RIRsr5295R;KWB#}7%rD>$LiS*`&b+w-ug1L3m3JrSTw|YczC|hXRXq0Jv@;(x?-e|D z4d+27p7fq9yleDxhdK5FrA!rj-bZTUC3mSrLWQ>`Rgk4!9TfH?~#NDQf+`h zYS>eSAA3IQ8ar*6vD5fIJmI@P2Do?ak$k(#cF;B)XHwxujO^M@3H-ap@I9@nzg~nj zrF){Wn6J3%G+o3h^W=U_P`$U6zZD~F59LWI%YyE?GzEWZ>?C{(y7Ow= zI$t!UC(d1CrIB-f-HJSuDxAN~k^c_6#{d6nmeGO;wtz9=t`z?EG*AaWZ>FlE5 z+r6%WJh$2NHL`r?!5^+X|4PR5V%RKSkXBxJ-P^L$0lzi24Br{ci>852lRRuJ!+no*h5l~6>IUWZ44#;GjcmrJN^Y0Pgqv?M zs`6C%Up3~lVYngtBo&@2Gn{#~_4nqQN>7}-#xf)4-Z+1Yh4Y2L?fMouUnt|8lzupG zxW+H%Okeyo7`NCP&hcke?D;QSILEDoY|kt7pvWe>40EpYM7e7uGp-oNaW3*&s`L^5 zQcijHHqEdJuP_UAUpuSve0@$`2UJ&i;@dT*8Tt0c_b=*vgR2s<1>XwaFnq9x?^NZ9 zZ`W96TxY11?<%9L-mLQ-xQBxCMerkf4(pV_zm;`{awA=gH)%Z4?Hs{0`w`HY4f$u3Pk+S%vgp&`AGQ=pEkz>C`)}&-cklm$aTpca42U z(!G)XMhofi&^c^29a%PKw#lS>oz>Qe5l5x%O7W_g3gc{Z|ih-T_%IOkP2hO-pp@I(EKYy2}(?~VGO zE1*7fUuHZt0iuU-XPSaP%K8*K)8=%Ef*hWxca4X}nfm++7Wp()Z2jvCs3$gtV&tOE z^gvTj89Xr`W282g4L`m+z>lxe%l@+|^Sd^?J?dr;+lQ|ZBNbIPJa}E@iEq~!Y3z}) zwS(M$uhRGUI>C20Y4>^DFm&I&Lf<2REUIl7bBop!>8|n8NV+%Df5t+3=>GZ^NjH6U znRKsnn`fLOr*W+cM7_vQuVT|*Yat!CJtTdPGRvhV-K%fz8aItA4Izq!oL5>b1@FHjM=c z*>YEySFx*;SJ@c1Xy`lbg?HK)>oiJAejW&O4Hvh*9$q)O< z^l668->umESCrX&2b1qJMl|gj3yt19zlKE?zlt}1pTT|DmcBx7y0GG4y|tIE7&=cr zjcXJ%_BDDV{KpK!!?x%Z`WgkrC4iI46W^}!(1tmhC9Y#GJeMj_{#PO2d%H=pb8}@S z@F@S|Qr|>8pYjey3ni2Pa=c_mdwX#FTMz2_th zT4^`e4ko>Rr<)ARs9U|->e?1|ttZl5BcYLWZ=~OAA$@_{x^U+UxsJNkSY9Y4J=OXl zeabZ^8rOdIM*5FfNXLzbJa)@<#=k~-Dd?p1#JOvHbZ%~(K1a^oKXNv|=BMFC9@l>6 zr-I?ig09h{dn}yS!FdUp^QX{hkVfBLm8RfNjoks?=$C7p*KeAimS0a^p!USNW2CeZ zS?AZT$WO1r`VZS!2lr(dSzjn;Jym;R-7z-Wh@N^W>s6jfUuk2VTfd?6)a&J_lhzaI zjq!^Trbz|EvTp7kt=gI$w`x6+?i%@w-gznMRlM^bB+{1`VG)PUF@Sw% zbLsfz#&CG&ZN1vci-`8v)t*?7QBWJh(>xKr#z64xw{3a^^)lD_6&dSEuh;6dgJ#?{ z3W^X@bq%(qWKT>xMnPvM%`u6ugzG%0C-I2H!kK)dbHN*!XJl6A;Mnl3)cB#F{B55G z(|6kQHK;UWkOA4r+by3NRZX9Kds?q%7QR$fH5Z(6#F}O+4JS3<9*)M+MiBI&lZv0 z*Iw!->#*t~9|M*o%YjExpT*CpyoS-CGzEWZ>;d>rEq?JSn6Jwt9>MV$l+{yvaEz|T z_CS|ZYd2eJ58pSaJuHNM7x2*@V3`=#_K;@v)E*oou(NgZX&~Mo#M1!I%yhj!+&QQ{ za4Q;aH1-NI9nvV9gJ}x>)Y$#-J?Q@6-W({Wr`F&arH${{;8(Qh?oj1z1K&%np?P#I zxps4{-^%)hLLVnT&d-qSCGAX8@JGC3V^7=dVU3cP=7}O_23Et z8{yjiaejujM7=h9)k1xm!xQzck=*!Z8GcQDQ2#vz)Z-39rv6fc`uQ{ke`@SBe3Qpx z*!qE{-sim5dW`7e1sT{IRM5MWKmAsj*LpiLzk72d4RHp|xobpMR9ETS*OEQiamR>m zBhJ;fvA-pzPo+%568!MCq_Ayw1*WOG>S{8;w4CgTX~!6CW6tcAISn`JLA~}j)6JaQ z!86%we^lBpV|j19(QChE&u5HM@cAa+lbq=U7lX{YqVW+lXnXCtip*}c+N#mE==@MV z=^TZPlp~4MDDqa5TkeZNH=ni`%ts&lSe%!elrLcZkiGA%QNB<@Iq5u6?ihh>#I=$* zxJ8s-1X@?hPneVkO}Oh?Nva($0i3Hm@$DE%?_Gz*ReDz<1jT_ zS@X`W^+dX3tTdADkMzEUbaYrk_E)w@y4F9gk?yr`e9|=z8rPNKs2BMxRXp>ag>>9_ z$fUcjE2FVoYSMl7hflgjKI5$HQqHT)%I*^9Ye_#jgwc@D{TA0**}D@_WgT!`Mwb{Cp%uYQSZOfy<;e!YtP?<#&tN3gxGy_}pJF297TY=c|Yc=AhJqnnX#Z*;dc zx`)dz;S5{-5?SMi?g`hZX7o$E(Y>zGjT;^wzl1YfXu5s+B@;20X=BzHm(nGNq%hV~ zC6>7+*rr9kz%dD#ZTDCvJ~yUSw$ZJqJlSs7SZ0jX+uA`sBBcu7$92BJH5oR(t*#02 z?X}Nj!Zm^!J?~P!t2|fUrt=-RZ&IyCkRUEL-(I~F*QjND?_w$4RjhYQryIthglxUt z#}W$f1jnGrtL##5A(5ZyJozWi@k;YO7 zuNs68$D2hJiopvhBs|r5BHTGi_kCdBbdw|NX#lfwXI&^)_G-}5S~%L46A zG=(P{?Hr$sY$JnY(#?5kRoGru*dz;wd8l7yI{&jq_xv<++R)APi z*$&!f?sSGZD+qksXlOjq zt;Z${>5i7$7v0~@>E3xmzqQutw~}7yy@Ae8lv0(IS9$K%6`t7EW0R3>up--x@gsv~ z;8f}9zC~j@bf0?*Y%dhCO$tA3&*`zrLblC!Gsh^-)}lDyrLm3ogOI%v=lG;B&qZkS zbWddK@ySB6V^4`MkK|?~dsjDU4%s?Wa+Oto+thfXTaQl`&^I+KTYd67 zDKK9cpRdCIjm7+ZQx4Z(F7&NEhB@#Dha!$jF zwBNEh4IB1+#xv>d_I&xA23!}|)&Ad5%zx1AUxtkrKEn3zr3C(6V|T-EvF&#;{T^o= zPt55N&?53D%_r9A`E1SeIaEykOz6Fi*?b;B|1}Ez_mt8IPri>HC5C1Gp_CC&-*FRK@#0Slj}phx;Bd?Q{>w za(TK3IL2FJ3!t01j~4KqB`sjM?*Y?J_kb*yrxxHCm5nXHUkf-;+ya81i}dikAeeom zyc5g*9FXPm(*kB4W4Eyd_-g^zm$ZQ4z6VS>-2<{*o?3uoj5oFbe=Xp;;uaA6ypM-> z55RTj>e3t#`#m7b<*5a@#)0FLFmD1ro&&BeX#vB14}f_hE-k=oU(jrf1l!0qB4Iuw z!TU>E03J-py`c{;5)5nFIotv$lczg?Vo((-X6f(bmSCxrS-^R;UKVr1y z^C*FT*VygwE5;gUz6$o4%kRQaTR^7uW62wiQPoH~UAQ7kUWN2M7ShpS3ArC}i=;!} zcnRsL))VQD(bLA9IYTzu^sU+S-4@cZ9feH#lgJQAHhnHlp_-k9AB#;d1>NKOUnUxk zG1AyWPM597qF3od+$D3qoSY1OgmASUa+(vYE-RM#EO;_}t}E7XjDJSD{n5QsqdRn8 zWeap`D?&r7!1vkwFZ^HrYkNOA z+295Sus!H(E;3Rp3=ZP zcnr8LDv!T-7sLHARxSR+ZFiyR_G-DEW1D85N@QEGU8T=(USk`lE`{uSSM4(d?*k_y z*&Z<^m8a)R*Z5}a6X$lS$nUPg_jl-ggKIKud>3?~Am4ubPh2CLk#BE&U#;xRIdV~J!sw2D)##YI^V-*zj2CC5#N68w`)u@+HYGs z;LlyCsKWPE8s8Yu95VZzg)3X@8;9j?aqv$vl^^>(;~L3~e0$^j`8wajXTNb0P=Wo< zRG#>DjbF~1@ypnMBKl9N^bI~w=Nnp1$o6{+J>M|JrwDJ-c%s`iYPrMg9gHhH3c7LJ zsO#wP9fIyX?WOLijee`sesOXNZx10;ekoP}K4R3>JpZ4*YV0)pAzTrq>NeOd89XuX z7|Wcko6(+o;Yn=JjEH5(gCG1klQSaP(tgWkMBv-r@k2lP=vd>4^DcY7+#|mXw&BYB zoM3)81Yz(^NjJ6ntBZYD#(lljJ_ZhY(ClA0I zYjBKx#@0X=RBJU`Y7MgkTEhbDD&#wXht^EBJd+HEbZEPHu3BQsGp!%e zr(L72k#ujQPg+P1y{D$y{L!5BQl|ytue=?2BHcCq8ohIGq)%8#$Bl>F3$r!vyk2V3 zy>jjviH&Q}m2zHXoWXNB=biS6q}$)Udp`!Df@b^@erDt-)I^#>HQRt6-qR?mtnsZY zJlSx^h-+M5kuFzJPhu6ex2tRi-@8(sZQV)9+4k$7IL1#K4RZtyM&bvJCOAMa@M!&+ z98GYGwBNGP1oCJHDW5T#pkQ=D9zT5ypzqpC{_QH;LECJM4&XUUE>;mT`|kd^sIt1MXh&0c zV%s(9*)T`@M*mzyJ`q-%wGS}$A;YaxA&!zXwn4@l^jozA# zex^h;Hj|KvzL2+b*+yq0(5Yst@FUr1E6_gQxiaM(vo!kzPlLG{)F*f|nKb@Pb|(7- z&-6Q2aNeY=&+&|u=k-?qP`BCc!Ce=o)rHNqb9BD5u2x%jtSwqkmfJOIxx=*Fk#u3X ztB`)VmGpYh7W}D(1;08?!Jitt6TVXmuClDplh#{8s`o^@YaFv-t_2YN6hV8HSkE?2 z`&y@$9BLk2OM<5SaVgW{S@Oy>1%GO64Zb<$d39Aot|oh8+BJR|M-uXDRrEAj#ezRQ zXL@gIEy>IJ;l%u42BHA&A z8Q%xTf#%Q4(ioL3Md_cG6P=BQ4x4J{wVjdQtjgN^$4!+dzFp&zaqM@g#l|s4uKg(E z$oJ0VSgWmcqXg}DyN>c?R zc~zQ%KQ(p-eB<+_j`Ebc{#Jq76YH+g%lN#>ubq$Q&8ON}uZPXLYu~sIb6t7fv}^s4 zUU!XZ?l7%-Tw76C^(t#CJ|!o8akJa)9BcNIoz11=o1u>^9Ot$`j&SZwQ}Cz8?t<^! zvTIeh7l6TukWj(`@pTqGZ;+*iX zk$-Be3x5l5g^YBu`6i7g>+KlroSig%^0>aI@X0TOE9lyz_=KG9JtzA~x7}PLmt4d> z!>0WiDcOSd>vGnyX0MWIx1R#@nY1LIrXWOF&#gw)d{1 zx46@yl5KXeTlAiYcZ`uJL+`0^U7JH= z8T^tG(o?M`(p}@I(L47>`dJpzapNKP!feeu*A}hTnt{*p0u!$B)%bSOQqHTadHM*> z`SS9v&f4ZWEX5Hr-*_j(kLYvXP6_;5yq$C*ukL((PWD!`bWhgXG1eO2xl0!d9zx)g z&-iOlDq~fs9#g1Z7%r+IZe*o8P4`5#W6ZP>-!8xb_CfWiLUq`_i0j)0a$8*hH6?pu z+BNbyVfLN8(xLA}9zS&^$9ENs$1=uu;TSdiXsjCJyY95-%Plp|u%A!!@D1{>@rS-~ zIsS3qeIgAR-kluXJcje=+qf9m4eeID)o(S|TDK>dFJyn@vb3VYAK5Eay~gf_{|*;d ze|{qKO$OxgM89*a(;SZ;dk)2T^eXH6j%f5>*Xg%bPK8aq)4IMY(Nt}zi@aFviFMa_ zXI$-+TP*F4kXw4}J9D-4Ok;hYWamS+^5gsr$xod-(-izkS36aK7F8E(DV64Uc+~%Y D`qXwO diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_evr.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_evr.a deleted file mode 100644 index c8aa1a94674e84f29e2171d1d626c30fb348cafe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9022 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 Cu=BHP)mVv}V}y_!gzWh{ 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 S$6u~;+{ny{D@nV0B{*#;&Xt> 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_framedyn.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_framedyn.a deleted file mode 100644 index 2913ed6f7f94e123f8127404c89395ab8dd0a00a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2448 zcmcgu&2G~`5FW>EQ>-F5^uU3Gk>G}mU6M^IRVY%B;LrmXxNe--A*T7MVk6+jy_Y^m zpQ1+|3Q=Zey~(<^X{Dx&M;jF93Fa(IsVH%8zNhOy!3-i z3}F%nY!rLfs=<5A=5X{5Akjat2TqtJtdX=4jwn>^JANO*m~| zANSDF1k#kvCdcO?TesoyggX_&QJ51j&L&^yC(6T20yEP8iR&C)#dV4=#dIxZzfkX7 zVn2g*mC#7_2k?%yQVlpmVb(^E7H;;**caA4ztGFOh#6GlR@Fi49U0L@&8czq1ZqzIDY{~TxTo* diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_fwpuclnt.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_fwpuclnt.a deleted file mode 100644 index 3e89cda3a0218aaaab00d0cd4f2ed3f9e51cd758..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230628 zcmeHw3z%HTRc1|(W5>oMS>qUoBxEFP$8j7nGm^R`uQ8+1Sa@t%nv5h{YmDWdnLAS3 zJ>8w|9$Aw(jvSoCc^QR-#0i9iSAY!=lI39@3xN%f4GS9QtRmRoiZE_LooHa@p5T=%1 z6BCm>O8uUgn4X+&O!MpaU&dH%J7b53j4i_Nu^ADLU(FbXd;UU%Z~8^XFx>wU5tiS= z7>3m)5n6r5Fti^Kp}Wc$hJIUw^?Mk@aOPeSUUi%?43Er;@aP<47#@Rb7~XJHgg3!8 z3~#+ngmbqrhT-jX5#Bk?7>0M>EW&rdbqw$ODiOZ>1&m?%zC{s!;7yES_+UqbAA#!_ zJ`8Cv{Md6u_=!Jb48u=-OoX5PWyUc4{Evz7i%&6z;g^0^gkSw>#xVTa4~Xy^?_>*ki+n|lOp^b zT*vSaSBmgY7c++83t!}6jD4Q*F#cIKhT-B*ig4-2*cgV(;eQOz{%sMi_!BmU;klm@ z;p&gGF$_?JJiO>4HilvQGex-eW;TZ5`kO>}=^i$QVaE+3Oii;f47;|A(0CRb!?5>@ zB7EIfu`vuYkRHSSdqg?>07u zp*bVM$}MaR!^s^YJTS?|Fs#9IV(48a!r*E)hT-&t2piY1F$@nwnK3-_XCgfMX*P!8 zvA-7K@fsV$@a8K;cmm3Z;T)6`!#l1J;a%{&7~TW*f#JQ+5#jxCPYmC4y$BzGXT$J= z2SoUxd)XL<4=suCkySQ^;m6?`hNljS@H02FF$_PqM}%L1zcG9a>K4PVz`Zeiye`78 zL;Ya*#O)&d*8OY@!zWLR@Vlqj7=}+D65$W-Wn&mVbC(Ez46+zLJ14@Q!}DYKOL%q+ ze*@2f;d8f%@b`;s48uP{9vHsR=b^?PXFQC*lGQL=e7^{nc32I=<)=h=cAwQST=Ap` z&wYy3FkJm95ngZ+t6_N2qzK#hK=TIS+8Gh9zm3%}ymUc?9e1%BhN*i+*tNuJ7#eUt z3^%Qa@OAJ!7-m2Y!~WwU95};j80H@r;oy_3hT-s2A}oG{)i50UArX#$fYmU3;kTfUFnsbOBK+>hSPjFc;eQN&@SP%j2I>XFAHQCN&pym*82%hE zh2bxUBK*x!R>SbQM@0DhCs+-`Kf-&!@P)^C7zdp4Fn)%OW4QPp5iY%tjbpg{kOtwF?{uHB5a#s;~1{lA;OE{Zwxmqitw`g**J#DQzGo_ zv2hIb$3)osBpb(YGdv%LuRkrqEIc2ETbD$*4gSV($ASolj40m5G z!acKW9K$!=E5iM7PYlcN6k+u{**J#QcZ<;eRW^>H`zaCnpJC$|);}-8#uaQF!^2mJ z@EZ6V!=n)Y=;u$I*ni^0u|d)woLESPN&m$D?n-jvp;o8aYn_0Lt@@t&iFRuVLwa@f zq2Bs(yE8n|JON^B2|ID(RMK2IpN!avyH|UQ^M{YD4|+*wWo8%T*;?zJurH@_C^Wst zkjgF!nZ;zVzLuC-$*Y;v$<_eMJ-fcTn)GL;>Uy4wi4~otTTWW16YC)s6M0=o9_kKT zs~a=M!^*2dYQD45T5b-Leapkv>DF-L=&61(IMr>hmJS zfu~qZUa_7GhA&@F){~i?MxA&>)b#tiYrS?dY;`*#3$t297A`3*ms8D7Cuz@sHlx8I zO|8VHsoLE^VrFX8`+kp1mP69)toO9yTNyY-()8k)_)SdY?Kk2eg(%3}!v1b&wRLj6 zpWN2$th9B^7RX=@S<1PEBgyi5ACNPb43_(?-mnX3Rx56_DCURNGva}~B6lCzcO)4e z=`KGA-|5rLOi$)7&ljzxTS$`r(PsZ-GCTxLizl^12=Z7=PAC20{8|qhvu>w}=$lb* z?umz#0Mh=3`P}lo`voAayk8=6z=u<7zDNYp&m}+cmvNy(*a7$nO_n)4lC7pgFW zjn1+LQEz;jQi4oqeb!~=f(AX2u|#AlR|q_j#x0VicVk0)I3Iq}?3b{jbqGrM6w0K} z;0A{F2yT%qeYZ1&Hd?f=j<*4C(u_A!b_VN9s7fp)DvHFjXQ>StJ%=MAeGl8*0n~@a zVJ#oGq%${s8l~}ZWs`{*>EVU+S_O%fcs(V)%3e!r9ktu4@vfBqdy14I-b#th-jv$X zn>UpL&b0oQ4!2F)R8Z~pw6~t=wfa!SN=v2PR*g4O<~@ZDQh_r`aXXd2ek^9ExO21D zbzirn{tQC3vU(Y<+@_44gPV!2=W$EAa`WR&iNY2q^4+7b zsA-m-lBThR1=VEuGu)AE@c9LtQGnM6sip3O@6Q>ZrM$DdvffTazp-!m73;h?Fj`#5 zz$>QbBY0zWAbENvT2BWr(Dm5ju6bmhrrBwpgy9D?Y|d0>w2|&uCz~(<>?@C?5E!3W zbbdl6IX6-Ntv6DDgde+b7QUXa=B#k9PH{g z9>W&U(khs?Xo7dgYF)pobJGS}^>nr^X- z9t#h6;O=9C1lp{e;6)M`cNk{6k9HqSpm~<9t0Mw09c*qS{Y985Y7Ub5&O*PtyqNUb z(7YS>E0)W15?~makxvZsfvVNgLmdvV@y%f~LI|S|^poVyWUbqWhEYprM4;^cc5^U* zd32~`AgpXg-EnwzUps+^T}?-n)k zb2oI({M@3DUynBnN1EwqL&zz1kU|lRgcoz?-0s_&gHy8`!(^Zg;(W1qT`Ju8VyBN} zGoVKDLNP0!*$rY&wxA;~UNJbOrng!8qXR~;&&b6fpS9CR9%>DjPu+SN*fc0+0YTQv zv6u;Zj!s!K$79CKMh+k?FH_3QC7svECM4XM7($o_jK4aACLeo&J!`FHG_0O@Bjqd@ z0iknIJ0vxsj5gBkTY@%IZ;{n>GCEDS4CcZCn46NhWVN~89zsi-PYxG~VC0bvu)eNg zD?KnPQ`T02kdcQ`m(DB<86yWkhf!zB-LpuZW_^iwx5{IqiSJ|r<=5&Q?pGwJ=9NC0 zbH;46oI_$M$)8D6GS;$($}2;Y({j=~8EYUzlU1b*0$M{Dnyev}=A!lSc`4zJO1zrV z(QW0aWSpA9-3uv5OJBEJPR~hLH(;>gflM~*lu4+m-MyFn9Bw%^r+heVC(fg|JXq#n zY$vNlkvF3hd3QxvY29K7D8PCmwFPvBx~ z7UxE${TyyN^*K_-lnmrzc}LD}xH=wH%B#!+3p!VkP zPvXv>!+obdNX?t9^aVnmidaED)3khqSV2B8EuGISjua~pFb3bgatSeCKJzP3J-IX5 zC@FtDl$wx>kn-oE&gzen^2Zw!3eJk*-VgA^j$E+8+o_Mm%q*mcC%x(*QYhkyR1H;y zBA!TN{>%0JLd22Y-DG&?-3k=)Ivf{EiO9Swmd48Uk2S4z2IP!+ikC-b%W1h zIPO{~iMbt0hNKygVmU3RgWZ8SV9itKaaszaV=`t_5az+> ziN!Q`)=Oqn9WsvsAtMiHxuIJYPQEY;r_XpP**N6voOaIWFIrD8V(nDZg{efWoocEu zm58-dK?${qM*RszY@RB&0xW{X?KD^s!CiY5JigHqj%y~G{oxwS%^M9l&$3KX-~F`r zqT0L!28>&n(sr)E7+HjFUn_x5Fue$)(%E+cu;h0-+9ls;L^9`n%wiiH$ScXjFVrXI zhs{-M1z+glPP^4fuyxP?;t@#G?gP6QPko@(PEg^oQ@celyD<`j{%ne_c;_~3^enchtCAHj~ z9Z;Tw5^JR5-HbM5RuW~AGL7tO%u>r3DedlI%#>~^H5cE2O+2dEz1S(UzSO?6$T^Fb zDc${=ncgiWa{)4&LkaQ7c?8PxVM8{NI6uhL$fFxQ@EB+=wbAuNZ}+GvtlSTP$6uDe z`D9wAwxE?)`q~U@qLzy)Vxw&J!uU1ng280qyE)x?F8i%U??%lT4d z-OIe3f>vJAvBr~!6wuSkHr16-#_Flu?WrpVx1^q%yNz?@=9c8SiKT}MNZe{cxW)|L>W01b z^lmXFpIj%flIAfeJ=+?tHG8mCKyn6No7q~sVvSU&wHG9l(U7inSFdxl-#Q5n_~4Ao z7Xh|guS^d0d&Bf{t8-Fw@Fb_ub4OO7=k;7`uq-;2MA;sJCaX)qlrAhZCq1Y~)XWdZ z)|t`{Sj<-9tLleRdNCGv%e!(0#V}cD4o?ky)hRO6#9aBnI1WaNBXUuM^gP5uPsck} zIiZxYNM6sGYj#S@uG37((kbZ3%g_dL)|gota(YhCm5c2e*bf^|B>k4*j&4VxJh)cFE*CO|HcRJ< zWh)yGt_^o|^DXy$d+kk4PS)%7iHZ6&e5HHs9UQxu;pYWoj6IwG^^CC{xbT(#?f;r! zllSj{tqGcb5gs$cCO^7kX)qWe#?GQ#3p2b1_L38yi{R%XcrNwB^AmErv+F4LOut+s zlY@=)*yRqnEPgfJxM#;o8}WsV z>!}iGZR~7VXstsnv-*Q2$%404oql*G=4ZH*y`}qdgnoLg(HcnHGP4w&TCg- z9qSkCRDRUFbSKXP6>*PY|HB^ zJ1*fxIs-4~GX9s%j%UL48zFunMJfLL3$i0`d$I0!!OiYb?#pDGueIfSKxV})m$L)& zyBTCUZaLV$RD7_Nm`P=_Yf$2ke(75L@7y_g4f?+^u}f9D%NoZD-UqS8*rgCe{o?=X zUluRy7N4noAaCDUid9}ic$e|)ifp^HE4Z9IJx=InAlenIw;(Djj>PK9sXvuN?EO>uZTt6$rHEaMV-ahnH z@JAJK{S{aM_()t|FD~%!8p94N!*#abp@!=GVmM6K_fj#vJ7OB%k7$l_eLu%^nYQ}N zQ%u9O1MFfc+PJD>8Z{gINKD@#F7WRfTZ7*e)1tU?c0)AP%GH3V-a|z7-YE;!XWNDX93xo?pM(ss*P8pvt4T#o9ip?uVq`tlsr>b9!YM)wOjidA&qoL<47 z8hZ_V=jc|8t$3klFt?)v;=Mt{dws8k_o#7SljFTiEB<9U-ubS;fQIU7CRZVx;Uimd zI4~jq)YvQF?;PiH6J%96Q8!0E|2?B~ox5JAB0K6Q_`*bket!DNWht`7KGxN4!As~T za@%ed*UHs^?e%UNsvFbxNb)W4ibv@u>I}q%)K5G!8rBR6_Bjr;TKdUr-Ew(*y&W>4 z>L-_`sP=BM4tZ6%4SzAOQMCB~&1=92-w3cGQfPC0R<3oL~t-m}* z;KRKNjxHo0R+ak}>FYhWoW+M%y5({{z%fl^K0Gt!gLzRhWo~(-48_EOT8V=(<0;kk`(vCA4fe7qT22MwiM+O z_jBnL{Hd`wz;}v!yXeXWSOWPzk$~8rCSrfe#{T2b4vx}+?pNB%3)$vBpxn2p%^$ku ztTz7J>Ust$CqhJ9S`0uFPq=#`)3!ckJ)cK;f9e*8%M-!3lj?;3k6{A&0& zif>KX2nsl*08q^$V-JWQ ziGDZ|Gyl}stKn}Q{i4{G%9EmAjSYx)q6M{qN3HVD{g)ja6Bg9i=1YC2Oq+jEhITyL z$!N_GAXP>^j{or^QGY;O;NLa&M)=K8?A_~2nZbe*_}d_ zdjzWP?=HIDAvkL%v_?d>@J5eJ1iugaWjr#!$lwfWTv)B0+Fk8Ffaa0uD7La=oU2wu zbilTrYT2E#@g8S7rT$Z91n>n7@A^UV$f+u~_g{krfREIDa7}CWN!J0Yz}AcJLBC5V zAP0yR-uhm93=q8=BnQfP_545Nz+!Sb=?~}EdT?xJx5E!@M5I(1|JV-TN8a0Dr-B}@t#rDb`GUi@TbP!2H&Xd_=~SA{G;Ro zGJ$C0ZA{wZ-q;IBCX~^B{(;?nU}16o@LckW^<-V~@!?phu1DttJU@P<&Oa+I@b4OX z9sHi~6kY8E+?69F0wSMi^Q|{*-?oQA2_EIic~mIMd}i=MdUD>U+_%V|`IKAE@@MY5 z<#H4LmGD-neZb!{Z0ZL+IO`zYrnB05&+}4zOT_2Z2QfAF5F*|zvI2E?R6vYVt-8^F zlfOv;b=!Nb%&g|;+5CeEY-$J-`NCQ$cdDGkn^alP+0JW8ZQ&jMoBrZUGu8;1fDEA8 zaO<{y^CZAwR4d<8TE`37%6nE8S}S)^N5hYS?7W$}2;y*WvnSkgc`J|m3s776zsnfV zJl2C>CsMRi zszW&)p>(Q%tRY%|8+ChbD6&S53J~2?)_l%j4UnaUYrUFnH*KoSnyi_Utl^vBrnITC z5813Kt`0A4D9HlyhG<2OV+!%Ajb175ZOV)({!h*uek#KJ3hd)rWp0qh6j|Sp69>&$vQw@x#Q2{YdwFyUz2gCT^m>37;X{)v4aLh}7 zw4Z_TG%6s*iT2-m+=H+XRgax55f$@ytob}MY$dh z**l5W-H2@Q3Vj+%8D#&JhU}@Wg>0809l zfg*|G77EA#qQ$f^Y40%={g0)mL77!3f0}bZ>@9;+6}Q1T!0n{kquWwCzg2XH{^OAe zh<>UqHR}9@JwTaV7CxJzA6qs!!M-&Zww4DKx2KlS`SoI(<6K8suAtM(Eh(% zXs@_sb+c%nEJVAA4TyH4eKpQ#al?~e<}aO7M_-}?)_SAH4o=8xI@!XQ~b(wy&r_b@o$?;C7%maDDTV+(*E z=`DPVxWK>Dy+oYFR^4e_)gs~pBA#rYwbzxOAs~L?{}bZxQSMu`rf|hAmo1XuCxPQ? z6VJJGx&Ln&&x8M&A)Z^@t38YP+!WUm={IUf@4|m4Qlu*m2CcQ;3CHDtxF%X>>-C6h zd|`qH_Bz5cxc(y**A>^;%i>ydI}i;w!acax!8Fn48c%l+&5#e*Wo92gli}L7s8`wo zwM|r!qNO-acSzfAyXeZ$RN&ns60l9DT43YMJAbnwu>U`D>|4ggN@Jfk^PU3RD!OWX zEtUz0eyZ&?qCXh=|4^bI=b1J4gQvf*S%z%0=&ISZSSBF)$yQf;W+qx)H)nPIgADza zRk7M*)-rmJRdm(pD!}g%35b2F%{9(S7PkClW+nf7j{R{Hxb_%tS=3g`>iE#vVqT5(RVUrE5)~lx;~kJ44~R# zr)@8@c)FF;cW|6HBj_Qh!oMdz`lV~}k8|ggi|o?|1C9v%_i#^}0Vu&pgDSJ&`n0fe zu6|J|evN$_{FhD2rwF&Iz@h$#p28y;juBHt+iaZq6ff1+CzP4_{BLeX@E)PcOei%1 z(C`gKR~Ln+BLKHZKE;;HuA zi1=WL|6K#|IPceMReNWIGM+f8&XX3~i+C+QAmWLZ-FifPFvNe#iTEwo#tTII+juQL zAmWMk+jydHee*VDcF6f{6Y;pMUB$H<+WJAQ5%)OTr@D_48xZY8 zt8Ls5sch3KOxeHO}CXn)gUM7}*z$Q-ot2~g=JJD} z?sk%8bX=~u29$M{avb0~tyXK>3#-Fkxtop*2&n?HhG+q9#C?(&?y_~7`%+e;T43Zy(YEw#w@LChq>Ku0g;_wfF z{$KT?zuL1*=Y{@4g(*dUXnkpFFVVsrJxGh&{xTMYUlHiPBiT6A9ky0m%Wwikw^ME8 z(>+MdVw=`9cYH8yXKF9isyt=;R6Gui->4nQ?^kS37jj4P2bB93?aw@P%VpDo`Toq0 zxaIQs)d?U3)ywFYbHv}-U0H7@V(*`Q%dc4HuG5ts5%6sOs*|@b4P?7Wfq- z0zkH__~x?6La~56Als6stda6rz{V&Z#GUyO0Q!C?zhv-0IL}nO<$oc^xr+ar(<}H> zW3Pd41OI8U4Y#@+_iA)Nyi+a7d+hzoBi`lAP#It9j~RG}pqHxJeQ#{r@vR9}$KI>Ij8^|2B-Wdq=E8O3{Tcq)y*g?pvhOKkSyXbo$r3<#L_=I^Y6Tr~gG0 z@5eg*m+?dJa>$@e3w5jHA|PH$d41O{mI!!^=`8NN(JlUcsLldmnt8+;CQdx%oMc z0|Yw?!~^n!YB7%d;O|#-A-1kmh94g_`GNc4C}#m|Rem_DVP>bk^hWZdKs+EnsMg_W z`<#HdZ?5b=&^AQvKYrfi2MiKHsaj0+tICg|U(8z)Rj*n|ui#IOy&b;IzQd>j)5A`( z!YLS#4`h3>J+_W(G9@3%>^1arIUnX)%XnaWx3m9Lviu+tp~^bc1Ux@}qz*MJF7WRf zdma4dJTQvxAb?XM9P;;2ZN+g0mA^lqrc`DI_1_ERV^5E`9}HW|gR1YnLZ3m^i*1ae z9gzXCPP7u&Bi4gq{bwCmuX+o=Nvuy6VO>N9#5&Ou9M1vZQ1@C3%J_f&OpbL>To3fS zYohP&_5tu!)@ZhgDpE8W-wCMDe49l#RT{5IKWptXK7TBNb z4tl86Bz!X|$fnA;NABZCYVtRU3;esrUJbuOlh=!FI{&z01EQU17mhosh?nQn;LGf= z^-~7g?MPo71cM+zbW40+IZsoyDHnm2I!}cAd=o9YjcL1OkN(QiKNIKf zsQCU-j_-rbjikSrw3Fr_neQz0yUUA7uMOLqR37iwS$IE`UcsLldmDUny!)#_Z|6tI z1!M!&;v086;crxQBKGQ*35cb#;X{%Q!dhdHp~||>wY-+pmfx}42{!N?;jZF4h~O0q z$OEdKH|`Hz$b&K?-XGySfcXp!|1j}n@-nhsEPx0k^&nTgQ93WbDqvkIf zIbUB;M)Ut+&Vd8{B)KzL>-KTcZ>4ch*8G(s>sU7<0^*x$yWL}J{&8e0HUBFCqf}kz zhd93Xx0{1OYjp!AbHIVQ%I!MZt??s07V-fcI-qnTg6s<(+c7PBA#fSZA{xcx5XJ9 z*{+xITK=~g;%_~JQ#h?5jL}w-&al;N3mX|Y; z?x_OBXOkoukP%diZe&C-M*M)u2+)r-XRa;C2(t=|u>tlcDRh@NCZSa(FPp-ImJu# zA-~KR`2!~M(`CI?9wm_cISownVjJEL3MrK6fOw}`dE*F~1Kx-CG9%>gGx2V(YTY^` z;j1%8$aza@4wWYmP?hi`M8l{}Ds=%H;%?1P>(SV#F zT7ctDKgD`cnN?ojgPiDbm;WQp^k{VPqN_cFx=mD(G9s8uui#IOy#c;)2Gv>gnVss8 zpg<%b_Q}@axYG~5L7$FPW~ZO;=Gcc(-ko#1Z)*-t&29`6^bM|ZA3)ma2XSu{TQ?TC zV*{d{XeDk$zfT0a7wr=eN3{=p7e_lZ@ttHDx2VPWz3C%I*Wv&6{7SV^Pxbrk`HFAA zzgR3F56HITxO;gK54M-!!TW6<%x-8*s5Tc~j1>hR=_9ltF7WSk_j2q3G>~gmP{am@ zU^qVPrrM2Tzrf$7PYarWSZcrUJ{KSOfMC9}+O0MhHrFq}r2oPoS;pe)Go>bF46%Sb zAX|&=(LnSm+MG|(cOnngP9J%wHC#S*>uK;N8dx3_RUR4Kz*`KpU$`s1fwq6Qez;v+;NLa&R`|90 z3AOl|QBC85B^8hbR2y?#LCN2vuWu-`g7Vuf793GHP;C}aS5RvBmc`e{4TVAhIY6{2 z*Z0~h5#rfjvL`6xQTHCsfusFqXVB!+s{6ZZYc0NjxYE4WNn4 z=uIcOabL?{#+&ZlChBM5>_^x*sLFZ|)tgR5v?#W&@F;{(q66ZcYAN1puOmJSFMrey zS;qxH_~`LM?vS;l+*jH8ith-8$h`={9*}9f<@i2PncU4FbJ{JJFPJTZ_a{xf?^}X( zmRk?+qS)RBUWpEfcdD&;(jMPNtww4!WxRskmEnCkSxg4QZaX!7m-vC52U-^sCmWMeQ))^Iib zK%KRKyHr`nA&+W3#n&~RBB5{`*hRGo$G!gxIZ&qk|2C5Ya%Q8__}|WJNNxWQq*w5# z#@-0ud~Q>Lwk*0asZ$^m5dB0;a6IW(yhvXUP{uFx9VYt0gj4mMu}CNVqV-onH5S|3 z;^&b8u}-${+M0g!dXSnvwsKTU*4qWv*O&N?n2M^i|5UScG68+R+8Phl8*UAnd0!P6 z92g-OkPl?bu05Y0ExVEr6D9cYtr{QFzQ2e5(zsV&`$Xqlu!^rQ4jUyGkO^e# zZe#+0ozLAWbEx^8XBj5E&BcVJB<~lhJPzJ06J+ttu|V1>v4~D4sG9TX_-CN->M;AY^zmeZHT(ZdOrG9_RMOn^-c);K{_5# z;sTaM3?V&XSg~ z55L)9LpvEJsiIS97EJK=LbVUirdRMs?jxGF{c~`hU{-V={tbzM$S2x{8&h#s6yKju z+nIp484-zM>1X1jU*gNh&z;Mz;P0C>9{YetE+7+#mg9QEUKt$E zR+4={8NL6F8WZ-dRQ;Un=cP24zM;8GImFc1L-4KX_E=;O;AK=mj1#TF5#!=T`da%k z7=K(~Jb~lGx*ajJt#k`d$GB2t)6``}1;jYn&TF6k9z7mpJ3avvplUR4P%&zJ$LEI|7(J_pW3&;ebr8hDm9236T#RTaRS?Q4idG6CdxGcUg zOdcT@kO^dKus!z~btI`HmGKCDt-(0Y+*JjJM<_uy94n@&R^jL;T{wa+!-_{W zRybW8E8Rzs{iHLbJFCF(2qnk{WChV;T;FStr_aJ9OY{g8+Ef{j(6c5hwvtDvf^OC0 zGxwA8#0Nw?)iNACLJRwWGFG$KXo%lJ9-$eU6|YYV=}KHcloM^kjpz|ti1IS?q>pGQ zw=G9_qb=bPnxWpV0{1kjM=l^6s8;03=n;x2^;yr#c!a*%V1smetTqcKu!7(tEyx~^ zP{{&WbRYf=iGau_+l`|~D85x6@+Tl}Mns}m`f+=NKCB_%GKp@jKENuz$3EbZ3&;ej z<#?CvN%RiFNLSs3_CoHGdpbp>fm~~sTpX?A$B@fi8ZUx4+$Hx-Zn=EN2%PhvGT~J^ z6S|#Ya%Si@AXl0dJFsHmBm0E=#0CCcW8Ve8+*35`6X2vhPgS^kh!OGuSwgiZ@3d_P z=KwjQ=7UZt=(>v4A`vTCXDyI1S8kd_Mjt!-MrA z9!zg-9!%4CkctK50oA@8`vXn{pYBwK2g4#BfO1}C+xGeP2U9d2q+$ViK(%Z~9t7jT zpoj+*KkNH^d0_5;;ZdJbv4A`v+qrE&*0@iAoOdd7E?VEqgZUL09#pzNKreUvNQ>U> z;sXCx&b)U49Ev|PRabZUEtCq#0;-LBDzX4yq)#gezzyy(S#8Hz|a>`zkd z%MtthJ^J*ZGT2}9VZY*bg7d-t^l0p-A_1{awHHV12g82bhy9A%2F?fjQ=_q;iUhd>=fHu2+!LEkF z1wJ0}fc&7^i>GZ1LEIZm+R3&9d#HYNEjK^pnqSDP%JZWy<}HajE?!8l;7^Uc9ll+D z+5V$)i~+PI7?2NCyK&?Lf2Y1Nav46HD&oUDo*J^X`2bZ=>`j#MAr}nD2dV`*>Q9Ay zD5F1}bn(Gj4_|FgY*v4=s-c(}9`S(upxTz>PBMl3z%x~;`qQe5A8?>j)qRX6cnzs~ z(`2V_(*jec@3 z)lNKZ?}!&|0aC9iGxyodFun{2<{fITC5y?R+g=~yX|ku2&OJkERJN3NS$6c_k+ zjeQ&ZX0`xd71(3jV#$DvpjwZo;%=$2YR10uy^YKM;#wv`+U*`nGQIUS1j&x%O zsjb%Lo5eS_rpwXqmJ7%Ps_i$<@FNktOenKn;F~liC|hG!eC#{HYe;SPXVWYAqu91G zbgM;oxBiwyK;%=cy0H)7Z&4^w`R>@8>I3f8kZ*0=TxqSRwBBzO-*9utSmKcj$ONL5 zx4zfj|2^8eHhid)aHsY1O8Aq zVrfA@+!JlQ5%=O1`g(vexWC7Zdo=NGQQVuW#Vp*1UMn`ahiKuAxDSW>f8)kIPW^9D z+?y-KEZm1)CpNipZL0yRpr`7Bs zT6pUb<-t&Xw}tZQO1J8pLb*?YN0bNG-S-f!wh`qV`~Fhb97uti|l>MeHFWsbuyoNa-bq-S!6vY{pE9%Wl(<1LV2}q zQ=4kbeabnaJiJ~`wZ_JC>kBoO?GQ_~#vavBZf`+=H>$FpUV1j(t^&73$|Dz0f2Uex zqg|?y4HFPcWy2AT4c3Cvt;GbZ_#V5IM=l@}s219|PeUOS%Jd71oCyb;8%f{r%H&62 zRervbyl;uW3Jh1BQGx;aK(x~~A|HbB;pLJKhAY-q?X6a3Cg`w%b=;<^%41^kOpt_fzS~r8yK=+@L^;($+pt%l#Q9F?iFO5W zfI9X)BvH<1_mDnSM)_BA{;M8ne9)3!tub5-CR=l5LQ{vh5)lyJMB8j*%AU`UC)P=P zmpQBJPKj@O?yllk{~8PHx20F`r^en4-xBL~@%1TA-n4s!0&;+8xs4nUuhOTut+%z$(5=i}wfxD4p6PW(ayz5;Ohq_AeO4@-)?dMwwT%9?X0wLFOosEN4I2)uL5tq z_{Px{Bjf@yfoSoq@3Gfk#d%CQD!8fy6XqREsQTWrxCR+Navt+0ae;r=*sI}}j|OyP z?=&Xxov{JYPPFPqw2PPLYxm2b{Wb^MtG=J?Cec1!i1su#AlivG+lcmXX#WNW+N-{Y z>?YAZRfzU9HXz!`7TKuDAl^f??FSrauljg)lV}Ie<(>bnZn@k$9}`eVu(wLIADKQPCUO>& zweIO;zB5evtIg%)K)<`Tzq{6J_J?bHcg-r#?Ccd)tmyQ^^a}pe*iXW@)aj{J;+XF# zl{6rSh!)?*PTPm)9N=mchtw4$7m`Ds6)6^n&}xkz@ss;2SR8u2TQ27i&VEoiH0R}z zIu}&!8POYgt*T?;d(tcTQ)BOiZ!d3@YB2WVJy6q3~B!L}01yvW4 z9j{dGThzng?n3wxKYn&R;g-wUf%*`Y9s3>Z0Cz^&y>$Ceo8Bd>AUR{y;q@)PYV5=C zhl3>r)nS;^biRyC7mztrD|6jG^E5I?&Z(AR&a8tuFvFfR=V(_W4z$A6wK``VxnxdT zW6p=%%<)%8A#p|}3&|eF4s9QgQ$F8SeM>dh;Cl2U_g}4~?m|cg8l+ zG$`{}bLkcQsj)Y}Hy>#LtnH#($oGf@#6HzZ?U>t*D-k62%dAAWg=7CfKS}O{8Qp&6 zz4FK_5tJg&Xh*-85drZ{v`aUp?3tyw5<%j70@^KV+x~R|->o(nDwK`w_n&HZP9_!i zzPlFc0Y6g5KPWEn?;86S_~q?8bZ743>ur3oSU?^SE!K@GTgQn!kUS`}8sTPz2iE5H zfRifE3*opQKavNxiwpd_#@-6Q3JooUhlVt8}psj?p9=kvkDBaR>6n@$$*R?+Lfa}Hzx%1 zX-Zd>=p**%jCfkGfb8L#W81mukTW(Q+KJZSdfZ{Fu>CKC_J)aeVf3o>sF=LNmV#%# z^-x`P=XON~#5&c=+ps+!;*7tX2`V$=Ustf6Z9Y_GZU1V~=_#{6xXLd3)Yv-wsm%T; zdkp294+)SfF#!=ywdclJ9{$RFy2}K_QpdNu6@=Sc>ujl69=rIiDSwYtKo(FfyL;_+ zK6*9CcD{@^&n}Gx?PQqbN_?gD8l3ONkDTqlMO@(DHTEd{D($_x|%5eT!BSwB2&nI-ApOx!i{hdw6Qwzte$wROYL! z;cOD|T$!J?mHCVjd3->`N6Rj6g#@7eYiB&GJ#)mDv1v^!h_^OTgQux7@=IEFt>QZ^ zyB?`AP=fuGs*FN>uFeA zztHcVZmlH!`9XH3?a_^1a%-o#)J`hztIvrG^&++VC9LZ7Q)Ax;e{t=eP!&e&Pfih# zDP&u&Jpza;yX3fcJG^x&Q@++_%7Iot$+%Mao`HOtl7@G!3XGm&lwd$U5G}cJb&F{5 zj2CZe!9uhak>@%D$is z_FraWUyS~s7pU^Mc*4T|Y$f_KZ>(xB5(>xxq8+%t*KYlByg6#j9Bl!}9sS(Am+Bli z+`}E$E8guJ4`Bu|v%;Fmh zRs`_fLIF8IwD(4>rkDd|JRGjqIj|MA8h~|?R%1qo!~0IMW!Ls&i~h=T4(Cds19d+C z#R}f{x4Q$_lxHhxHKNGIbR}2bm6(7Cr`mSoEG2K!eR_KtPtEH%!slAelO2FJ7^)65 zTkZ8e0=?2mpWrp5+HyU!l#Zes!&R?DK;%BIv_6a?;3j}{PLL^ck%UE`U07N42afQ{%(vm-SSuV?4+KLXvnpL& zqEszplsb-X+~Vf+YVJbI+R|)pBj4`d<$EFw+f6NqF62<8>sf; zc%}t^qdtvk0%EBe(+gBKSo_phyKlIb*OJNv&zTnc1;VZ3n;k=;SU?_7t;dlE!Fcd| z2M^><^;?n$viPPAP2+(n7LW&28*)6$w2%j7M$liS@j$mAWqZC=dAvYA%QWi~TvcFN z4pKh&MFVnzY+JUyM&pPa99Iqqh1fT4 zD6?|lYJ(F`2Of~uLrQRqV!Ou)fPFPOAl|9=<7h`K)Qig4(Z15cyD%PCSr?+)(S(A- z0iEykDeY*k*nnuKT8$gFw?tegBQ>5f>twD{(Vm)&tBmyLiH=XP80U_-5L06h!M8dm z>NFP%m@82MF;2A=#~Gi(7JUL@sWYF?RWWYcJ^>Zg^^Pk$^Jy2~X#((w1>^zILR{Z# zxAoC8PPX-BJmap^c_4SN2mDu=19ZxK)2!~GP|4qT6CS^z5j zo^fSx{}nFWKMg!Wam^flq<7pc;sXCx&a_BJu^H}BvEQTa@b8Hai27*n+3A^_G82wOjnMT8~wH_dJeAEFcev_TGBj-^#_8e7#ti{jL6$ z%7b*1|0-)cMu7!ELD$x7UI2iSFdxl-#U3R=^yK~I;~-=*>1fuIn?hB)61>S$!hEL ze1Rs^iyX}^iAIBe%QIX^RiW*CMNbisDMZU{W2e0{#5qt3M(x~uN+=Fof4GpR9rcy_ z7MzC%(Vu~VzZ!R1)r(P+CQHDgdfS0 zyTk?lU1RTtU$k#2n0Hl!HvdDB4af|lmA4UnJ^4E|7?d-kj9=U31~V3uK{7Ntk1Df* z>g%Z>-BAU;PQxb}kP}p^@UGnx;&cCH2gk(D9r0{DX$>oLHr|(6oLK9ghEp$=*ZZyE z1{gq>`>o!v+eZ>snHxKJE28!o_oY`v$-WDIj2>e#aaV<(AO-RPSwgfKH=^$Zf5X0> zV*+BSI@M)PmKz_KOcHI#@eBb@19J?LYfxqO z9KF=ZgMGc;k=6=shgIbsf_gHN#e=l?#Vk;T0&;+AQH~lDCxNdoD5Ehw)8N3ocOI(R zeAtA>*B9K6k_*TLqUAcy!t##6 zJBBDT3;PU%39$XtYU?B%*|E^;IgQ)g$fpzqa;m#-Z4+}&0Q0=~y5EzcHrYY}IY6~sPue~mam||KK$(+nYBmS* zN!Kd(3EPms@R5ETbK(O3uCX`3uiYnPbE#9)%JLl@{hCNX>=P~2^|&^lzd_%8YniqA zV;uYF$hjX((n-J7oUHU{nYuQ=r4?D%dhDox7$@47NkI(PXva%lZr4 zpR~Ws_1-&~WV%hZh3yK01DToJdoq(bbMBpa*mP%ygBRvAYq6B~%TC#`8+OC8YIT6I7@QE!rvV>T6}Et#0{)j?csz;QS9Zc}XX9!LcLzH=DLCa% zq)>X<=>U}a{?Ln@zs~`_7=8Ch86vyR6%C!gFh0R_o^n|jjiY=PM&pOpoHwXmED?vy z%@(>Y!7wkh`*}m|{NhN+ePkd^4&GqBnfPM84%XLety*5vtAjk#ev(4;Jz!Hxb&Yzh zsOc~Tv0nEg4bVQO=~dzNR>Q^m*ZrzbIMu({?x3LvRMUPInV(zSTSv(Q&V2~S!m5CN zI5-|3NegQUbf*83+L>LccH);fO^Ti|r zWO9TAHkLAn$;ymguW1od&PEQjX-Yj7G5GFtAhUO!k0o=q# z@=Wh~Zz)EW^FQb(B4>MubjwW9EO})~GP$zw>KD|`>!g2>(Lvu+p#@8|-{W@xiehPr zsbR|xtTQepmt9ykaZl2;Zm*~H#`FJL$NiFWj&DuzhVG%SwWihqQZJSNwALTs`l%#Z XZ%PB#IrxdKNL_YoFTcTZ=F7M&Z(+rT_42t^&2kz{vr9Zd++YC-DAW1b`K8? z!9Vzj-$O%t_U;}XrTpWU60+^(guLu-Lhc?VPAM7eF7Okdi<9dT?Vp9Pri@QQ#)h;>FGxq4P8$LkiK^(qi1g;14!3= zn9*||Bm+ph?qsz4Rx*GzI>Klit_^A5ml<9EUNV66gLgBUejyn^nww{I;7T%pbmKP| z9r^$nKw5gVD)dWB{r8bw+Kd z8!5hr(I&JT>Ff=Re)M@{0O^jWGWziv89@38I3DS)hZ(&Ljz_wCmC;YbJwv*82c!Ew zP6m)(`9?Cd)qj$ZK3?TjX1f$>iA{jt>@4Fbi|2!E$`T*Q_qz_%g=p%p)q>sXNApHr{ zkMxP#82$MPGJy1HI0or2AI0deK1&9WKL18We+$=v^rc}&Uxw$2^p#IC`r1Qe0O?-< zcSzradx7-tM=90FD4{g?1X4rV{$)mw_yDOPea~wdJtihKq{qLQ(Pi_bhV|k{0lca{U2-lCad>f;qM@S9nhp%MxqR)~V(yi}h z6ugtvkQ#4cw01kGA)SQtAZ-jW>cG81is61CZN7)m*?UM0=|@)?-7!mQNI!l#qo4R3 zsUh999Bo zGh8RqTL_~E;drE9foFj9_IES-^?OJS>7mn%ert);kRD!O^t*5^NbkFz(I3Ds(gzdz z!>dRQ>7#HSq>p``(Vsp(4U!!UstW>F<7l(U4y1qm8l!K0fz*(`1MLACtlh_G`|V^9=@AV^-*X)qM0(5>j2`!O zGKloVPcXXtAu@>clm{7I`8qO)^vstq+Ib5ZM7nwxqvyb}NY}oX(evRrq+yUp+H;!G z*b*5;+BeGR`p1z$q#M4-XzKULAkyrs8SRhBAkvM;86CQw3?ePUbt5f(fzi$HBZEk{ zyn)e+?j?grx5BYV!A*=B&}O7H!YKMQ8ANKraY*g6jN%)~AkyX}qqA_0NI&`nM*kJg zi*)`YjDF%(WDx1DRYorxA%jSFKZ4OKK1>FYeg>Wg(tRfwy>fyKBHe!lqgQ{43?luv zcQAS#$RhpxI-@tulR>0k+{x&dzCi|&-uf;^zj`MbM0&>&M!#_l8AN&)TnEy-zrg5s z-bn_L-uqHU?>|Wfkv;&&A${luMjsg>gGe9!Hlsgz4;e)I#9fU3{3sbj`t%iyKJ$4p zi1b%)Vf6Xi$sp3-LfuGTx`oj{Op`&RuU^LJYhNaVNdE%&2pu+mNQe#AyBrWE;}Kos1SH z$Tp7P1ZLjqo?pn;&BImIui;q+fmmqqo8Tk$w&SMtbL~8T}?a zBcyk~mC^42AL+esXY~Fzk!?sH_$;FjeU)rO`lFqUJ_f%?e|jmSPr@(KUtGrMGdsvO zq|bhn(dW03ZAgFnI7VN(l59iz@;@^A$`{Bsq_2IE(Z76&Y(x6yXBhqaH^?@i?IfYW zZ<6gum+WA4=@8kD^ypoT9(M!Tj`YN5GrD}3Y)5*^<&2*8ZL%HdnQ#o!&Sx;X`VnM1 z(sRDX=-Mxl?MTo6ETdsKC(hd;~ccRxqABfal~jQ#-lNFV$>qd)u<*^czl_c8jDhsbuMPr$uL`g1rx(x+d} z=r3ck9qDs$Pmulw+J^K+XcN-kLpzcF5uOXuKaDc_I@}|qe;s4=tqHOn={wJ(w4-(z zp|pJm*@1M)HyB;|C9(tQ(H~>laq`#E+;#X+FxfBf0pb( z0{fQI*}KUOq#unL-7!ygApQ7GMnCawvIFU^-)Ho)d&v$Yux}~-^oz+3qGkV}nWCzmg?_u;txZg-`hWe1+vc%|@50D*5Z@Y@ouWchckbeCe zj2`+N*@5(1aG#JKhB}ab7oG{y`=B1AKNw;3!6%R%NFV+tqd$UUkv{fLMt=(T0O^y* z8U4i#WCzk`u4MGtZ;>5HfBiv5UwAv&f%JE;W%T8k>_Ga;G^4K#ksU~1|1_h2eK*;G z^euSyNZ)Bvx}-KtC~f-&xdiEwcQCqiom_(S=vhXOdlb0@=?PzC^rVlHOOUR3h|$wt zMJ_>l#!DDIYk^$ytc8`8nU$5ByJ6g2Sqyt&yfV{ngezyFR?vx7fEkTVjIA`IRiuQw z)`<3utOP3{vk{V&mGv-aTyQO91*%(Y2IrPL?RImy7l*;dAjR#=^s;iIb|(} zy<_dT*`N>W1e{NhGZmqH)M~WP9FEuK&I*__6lAQqvpuscFJQ8V!d?K6Bc!*O<3Fbm z*hi!AOs5_93|FHU3G)2Jtj`*YfQeANakJZtPDJ&f7qwdgzH^I{0@~H2+ljSh+*Ats zPEZFe2A32Ey0})H95>aB)>@i)#s#V6bKPDD_-Tf{UI^+^5;hg$F%0AY-9w;L$G`jt763@BS{H_u`J)UHM?K-uVQ*gPsjQsAW$ z*n5JW{2Zy6P>{+RDx)kcXZLlk)r+IBs|f04aKxbqp7KJp5h*8E_$Ue80Ph-C9uhB+ zNIMF2E#CK;pj?FVL8lYO^UYvQepm{hNoqG6q*5N0Sc~e(dxUFyLjkZBf^+T7o^*Yj z1?BL%Ta4Q$pv#L2Oyf(EqAC+5Q+)@bdQ|UfVrl`%&bM2=xz^@J z7_N%TR_#(6`W$HY=SR70+QP z%Z`{F(IqL5NzkWyBv@^RGN7SKr3mF`7Qam>=*&jYh%UTc)VHL$I6IELCb=b&)|c@?aw@LRMlm!7UtZ$FR|`;f6<(##AM3K9 z$XyPbP*e&9C0v4}ELGsJj=Ubq~b4rgZs&7b|fgs`Njxw*u*g{oH`=E|d~CpNZ^m^{?3v2UDb(3> zXJPo0;X1$ER05-&!XsI^e&kfqb<#q9%%N~2Z60)4L;ExVd~iW)4HPRkg=8N7bu{Wm zsCUm49zMR{>D4Qb+W)%3?fiS;!8v196oUZ z6rOolYc6BlRC}vdMP4c6<7IFN%RKg1`YKbUME)VrvPasIy&$o`Fo{l_Q-=1u!rWps zXyO)NC*0qN4z^&dk|E7lbSUVaqJYd)mdIJ?oSJJyVAa7WsohK+6e@Q?)g1x@|2sPi zexK~Qi=2hUUVC;?xSayyVC!@k%MV>*9c;mHtP2X2-d6Y(G_$#EzsVuO>|SFLG6i2r zc87F+#$i^1E}8L}WZKKAp~qh+IfcNMp(@s|l?c+=S+ho_(pd>eqhf{&ieW${m<)yj znI#wyhJu7O4hJ7K_e!*F4-4eCI2u;!KO{DXo@%`4UUaA}!V%PZCS zdq#?{F)cS8S$xJlBdlCHa_($$U$}jlUv4TnD2y)i%S|QFzeP+UqS%v4u8EZ=N3!u# zrVmtZ`nS<1ol_{Yxk0D%1&-jg(=JB#+Cg!09P`hq;u#mDG{>AMY${Zb(LGW{5?CfX z_N4P^MO40BKc$8TbUtw4RX5!hyi*bj|4_V#5{v$UhVE?83j`If^N|yPuQP^WOgs~G z1Q(aFh%&*4y&=DfH8wKP6)E14lmTUEu4TSSQARC5S@caN4n|2-=BJW!bLqj9h2!XAMP?>*7!76W z5z51oj>w+b0`ne=7r|Lj;|su4jaqA9%g11PNR8Kv6nW(WMEUIeA~U~wS^~9;zHI4Q z)B;IXxehLyU4`V77Vm{x0QK%~p6je9T^i!6BE0k>MP7Lci}Km~S7hc_PfOC;p{s#& z8=jA3r_zd~B1IlfnTt?g|JL2YvxaD~CPtRU0^Syp@v zNe~qdQ)QGIl+c!_aKuV_`09iweGmhy1t{Wi);I$^!Yb@nQ@u)*~ zSCb=n2})y%42waDS0l4iIXTY6>%}_cGCV>JUC6xTFV$qmqY@rUq(ckvtkpvdet~9{ zt}{o#cr0ky;$xXWaxCO4_0|=2iPt0WMM)SBiYh#lWPDL_zS$1c0eL1a6l%vn*AxfV z@-eJXJSI_$dWPOCG*{FMSIUz5Gp^xoDrM>s!i|$I zEIUjPFdl2TUGlN!wiO+g9YMQxrUtU>li6@pO4OAL%28UBWYJg=&zwcebrq9FW8ol_ z(4w)Tb}^P_N9ivFCZF*^a;n<_KjRW65`bw>bABZKl~ayKicws#g=ztKZD}f32Sz(B z>JaBCXy!8D(j+lVG@Cm#FN}8ef>ag~&QO%!okW!LQ4(%w02y;E<%M6gp#-GCBEy%8 zTCL0mISeQ)Qxib6KQ(?Lxfn;MAwe;1n_%;>BMjx~k;&~4R9JF|P>{&p2!YNP1g|w& zu^^Gf25NFCGm)8{Nn0r1HEg+50@5%9XhiU!(GMZ2azhD9gR=)yR&iW;AZRr(&4U|o zx#jFgyoWglDMeg<20E#bLux2sEU;HLz=#J2305VlMtV_(;^a6XQZ91X{{{5%_Ykd6 zE&=KJCS<7aP>0BY|If7=DS|}E%WNi>^Z@a>ff(n4)GVY>^g{JPh)3i~z|k}94Vv*H zJvfmGGE*^4Sd4<^Y*>$}kuVD#0qkw@@(ZP~mS$%?m~MuxhLFap^MSKxWVYGFU=f@V zd~h=}t1a8zfZ={;F*Qn~!^sY#O*+HTK-udULZ88X|0_lDW-B{pJ>!f(?lAof2Y6h5}?Q zWRm>Z>io3fnF7Vn#M%0AVR?$*5m#JLL-Vwl6us=9wCgil`B(As7@E>Xb24YUom4}V8DOTy-#0XnVL|T@F%B!M;W3JNpx2?VR~Tzl|j>66GVHox3dA`Tq$%b6o) zHI#fx*|;aKl)e6vF}ZMk_}b)LCYAL(MNZ^1N%2W5!b%a77oUa5VgHxC0c=!aDw%~0 zg#|G~L14`8nSH^bBgcXW9GUS^NLGM32F>Ya&^k4D8f-ca6br#VB0><$MpBYlKG&+R z$L&^h8_j@bPhdW7Z|v`E=3HaHL+t9GDPMnbNdNlFTsX@1uQBfy8}9`bmg+o+);Pzd z2#vIe$+H<-hrybI@ql`SRwy0=&+BLu_u!Q`)o4I4OmH;!6%z%fnoY>nMgJS*3d6L5 zUe0Bh<&v6UI@wx;LE9s7v~g2gm|>&b1e}qUFPYZXiCQepc^-XiN$RQIz*fFoS`)PG zly+OeDq&nvN_*mHywpz#&-Uil;TYW9VPg?)H*{&7qy|2!NSNA@R#+g&MDRXgZZo$!(i+svE? zS4x@%n_n)J;ILq^eI|@CGHiOhz}G~w z9Y?)$GtB^OhHR)@;(-35)1cZ7*O+@PseD%RAuv#3_6xVm`HW`$mKO{2I$<(Pd~SNP z0na}d1u)gaAe7Z1LhT6TAi>mWn7~no^zB$Pn*dY&#It(&Y(c$wQdxGy{PNs1+9!tF zEEZ+*v+V{ZXvEN=&~B-l>=wAUQCE>% zdL8v<5N&YS7;cA2BJXHJGt|R{cEHOkJ_ipZY%~2UCuFg6DAT{-$0MY*W-by_6#1oH~tHBi4fg z(y<$0O9_yt9v_HaG2MC-1aNYyv^q{W6Lc3e+QP;%s6Q~>@D_v05P0 zxU<=t-Rv}zcMgr>su!OxrPh+udR~DbpdJg!4RrnzjFr|Q(n<4c72V0}$q_cxiGhT^ zb%{cTI_O<7^%CiVB&np9PT0axrshl1ZgG*ITo-dPq^}qHsxj#D!%2nt(xzIAUR-jG zs${>~w7!&IozR=8P@d0KE9BRZz8BT26xB2yo+qc*WO`uf(Y#lSbsAfo9-_2SeS7u0 z?tb$8`fYGxlHoPTHmrIF~ItG>y0PDMfi(Urc1X3$B z6tlW{!4&wXPqTql{?UpMs{dSg?~p{*nbaiIQz)y{n1oo&1Jn&OW@&$rMFDx9h^=nXQeGr@ezR0oOENk|hlUB0 zYH@ZP9k+I2CBS9~-C?~AA)KzJ<>36ea&k@LNI9n^+DJK-<24z>912{DVj*z7$y*=& z@;NOsNMu*Q@RD~kl~R7xu|xe+tMJT*uWeNiYN9m_}CImgNZ(y=*-Wy#eFrOHu>2F*F)fipt6bR>HZ z~NEmREykQ4Hd`&;;}-9 z)sGVjrDJkCGrL|>UuGq8Pt{K-my74*B{>gD5fG0Ry19Nzp-?_X=s2dMgkteH-pBQW zc$svB(zgxADH7t*$z>#&)n@qVGKLxo55+?9m?C3@J!w@!Jen&9^GW4$^N~3y;D?HR zwB0%pt!>7k>{ZZCo-dYML$lot6C+1ESSd@6SP$!`XcW7Dlz*m=tWcxej;T5ZgS897 z>hc7Ix(?TA`hlLaNUujK6^_zIY&ot-T1ko;Pf!!?r-tAnjQ zGQZhu!g@Jj*rF+c>gD7LrFArt#Hu6h%s;2skt3AUQU8%mNFmHW+)yqZ$=@p4nc1PT zK+drm)~3{h1$<4dLNY4kq2!qqrgElpm)qbQrgM(@#hOYI9!&Sb>|JriDRH)CKdJn3 zaaLqMDOR4XBu{5$XT#8(!i0^BS**3vBvG}=kmaftOUDV5WpzH|;7W?H_O?6|+E~Py z;xXA&!`$MeAk1yWqFj{83)69BUh)@CPmfzhEWliHsVqH$F5Rf!MPapeCWj7kn13!V z3}`5jS;ERwh62Vq2n+u6$)hqa{Y%Hy!5PM55(jX-57y?)TWcywdCe2Ob}QSFKtbJs zKr3d)VShO`xmS6(oXe$BXbNkjJ&I9jY9S9p|i%#^Y9 zjLT{krnKshRV&nv(I2#MjQGUqyky9BEYJfvBFQ;%7Bf3uL!WRUEn`Q(FtrY8^r$%5 z3Oia)G)p8$<3eb#<%+Nnf}tQ|ErSlj*(7|~1Y=Rg6ub7Kuq{o2fU$^&#B+<20z;o5E;9EZiWsp}JW80YrLkw)ooq)2VLc0tEi#04(KR+QgpR0Gsg@|x zO2vXSErCb2iVFebrj93YBS601gs~`L(swgg#jKK)NgvQ5d?_4hClhGIS^)@pAw6cM z4eR^~`wR&ufP)OBkQm#=U>SWi3Qt{SQ@MFM7FDD;lgbFUM-fy?X4Y||4Zdpy{~P`X z7bUKJz+Z}{B06HB&F>yWgB>u3jO8r*g0IqR!27Yk@V;W`xDC_4) zELd3#wkzR>^1tDKGN1l6)q;7JxYQOiWB8RD3Z`%;9IS@xRfz@j)A5~|W-17Z!c?O0 z@XgFomQ$#)K}lxotK<|aY(X8FN)jG;mD6V6BFq_(bBoy~T+%+V5{v#Jts^3ENF%JD zSncgpkzTtgCL&KECzIP7~kByBD4UO%F0{S_A>B7Jcf}bk}2zf01 z-}ZrBINgc{q-` zSnZ%vH%f{3sFo)q+@HZb8R6bwdj|*bTmB^XkKUK z8SWJk`X|bn_{c+CUqZjJ2VX+(&!g%8Y*4&Tx5ox?_)tWU6Fp23WE_ek@_zv7^zJgG zz;c!kC2(#TC$EP-`5?> z5iNK=L>D2C1Y-9Y{}%tJ^$cC(6Y>2=^*c$>O79e&WiaJ%-JNo1>m`iScH%X#K7q&M z2OG>V{xteGA=q~rXCmR?PmP>~@4OxBSsYBiC(LSFhZWo}81BqYp*Wwg!};D34d*>* zW7^|I6o?!w+QFQ&2k#fPnzX2oTJ{i#rbp%)}Ur|6=0!R^hxwI9@l)X*iC} zav6>ugCJRGKbCD~2k9mB< z{b%qsk5ADaaf$Cq72i`^58tBiTETZxh#uDw?Jbh4GDJTCo}4YBZ>ZsFrF0Q|HgO(~t@7yc$rQaJs)rK}{?teZ zzE_kc3&57|1ubxe?LBtbo|w?A?en0)`f2N};vKmHo}VqYf1pM~gRt*Hh}$f6VZ%dM zs;JudemcS!K3r>G&lvQ(MsA1S6;rc?U{QXtE3A*$VcmO3=u=|`N@k&Fdc2H>GLB+ZdX4B`huby_!vLjhJH3<(C->K0lzD}xdNQC zTi|kJIA$47^l=#ad=zUWvzF1HWviVh5;RZ29$3j%d6h=ARUC#PT4=HgY_-UhwziBj zVsf7nXY|^dYwI$8>T$$(2uaLr$Mi~L`*ParMQyz+;owh=wBQ@HHE-_Z-YhTHz;}ge z%jlxFsp-?o)7oWh>ai5nkRi^VeRZ>(>}+a=YD|dddtxV$&X}(7Y#B}TKD$CZm+{%{ z1w6x=p11>Nr8Tsb&n|1KXmup5cWO;r#t_H!EL3l8T$r^n%5a?SCR=GNKZ*8k(b{-k z!eMWmCj5Z40l-b0tKeB;yVA{;u|uz$>9fkSHOlDbJq*(@Yw1{}@ocY~v8j9#FNJu< za)o0b7es(6`20_er;KDcp4vJ%7Um77IA$zYIJS%ndXHV9J}%?2+g*dTw2!spW+R*K zU1>bqdF<3C3;Nku%b@qPM>babCv$em>&-XcV5oO{fzKrOFt$wZEk% z%Lq3Vxx%+)Y|-P}8NQz<;ybZYwi3PtVtgHyVT_|#eZ_8Mtp9@on?=o{?o{RX# z#TF(JU2Hs`uRv}Nql z`v?mWUB*ZF97Oc;xo$7qNY)y@xf??5RYtb0k5Fy41aM=aE1cWLF!fmnek~DhcbD-I zKAYk^%UQ-vb1RK;TOT3M$i^ni2$${#EpmkKQOh`{&j~El<7ILJuSR??h0UqeZl!T; zmlK#aRl+lCy;B@p#w`6jnnE0xnMZRK!!h0K3M;L$9bz|+2C+<=E36no`?A1vrI#&Z zlcW0FbiX<xmXE87_S_fk9`Uc^P$tBhr~gN5kp8-f<4pBgz1|HZ(}5;RrT$|=JY zhHc}Iy3g9%&K$#K^8a=shH)c6oR3Z|=W1iwHvdm-vV>`^z!kPFV~>0F`C(o^b8MHf zo1aCo9i0uEM=PzL?bZ!}ZcLjhCyR(YS4g&uEc#4V`U=g9!<5m|Lm85BnqSbvimPmK zSZirSG;6XPI~TW#qq~v0!nS3M(R()vv0X+>KQqI2wJ~k$-JsAlC~3xWg=5S3;kZ5; z^p-TYHp+ORpFwfV_H>+U_2MY3wzux7w1CwERcn0BkEP!0>L;cet3SFQ2mb7cdB-v-8arME4k zhkk`g`keA?>oQ*HD=DgBKV;a787r-_U2Qv3#2GTU^Ykd}0n&|D2Ld{*q4tYv~>?8#=4{mCO!-mgfQ zic;+4PS>N{V;N=iqr^gFml-8qmLPj8jS@jGYokPw=SojoMihNsQz4qmSRhYCH1Cgt z&U#euCXn6=qeQXEk_n;}xWcw&Tya7lC7uUU)9(UJAy3f4oMfgqW61 z1SWX`Vtc;b>dmz_H^Mks_omuj5Zjy(rP)%P(NyLL)$`4|m#E~|8v|B=tv&|~gCQpuv$s?vRR|vO^O8OaLg$OSb zxp@pnc%_kT8((MWogC2-&3LYmY#D>}d47dRE~Bd-ogkS;*N+6NO<35e$~L!co*y8Z zH(8!+U?_5hZ_C)E-`lYe-(}_+Jc{CbW-)Bh$6aY`+wJWL1B|S>vXL#bU18cbDye$} zeeNpH8!6-M{vL+u>3Fld&QM)#oo$;FH9NzbtRPz{aD{ElxTM$D&h+)Ah;0h$<1SZSSYjq0qq^3;QAh3^X0mT^eGR!$+R%lNN%P*k6ynNn5O)3!4YrfE|p<3nJ% z!m(wf(Pyz1;vo1?YGh)iRmQSyEN1!?ZLR`l&U1xk%c!E?C8-e2Wp+v0M$sJg zHiFJ<1cStG)NbK!(^W>b?Jh}>EFd>qF{sVOuCQ(ycl363A=b-`76&=jF;Aq@7`L{o zDTuMTie0VnU7^}C+UVyY6r#FJWTu9wo{Hm z-`B1X+hsKN0LAtyY@ZJEeCyS=N-#qPKYZ0b^RA>*X>(;zOI%lowv9FF`+fO+c6l7V z45A4jx(RwZS$T9T*dRi4B^yNJyF#^Pw9)Hns*mz!(v(5sW75N#P*^j38tqRUv--%b#XGyWFZ^`HqgSJ@|GX;mYBvnH#+mJ1wVd)PL< zsP8S~ZIBDILH<3#_DnPC;KIRG#6XH5)u8L}r?F!SD(M7*%jx&AzEdkSuL2n%^ zt}?DI{d*~{vB@T2XM9)4wv0E9>)P69UUO}YHm2=b4F8rOo96cdGf z=7K3ro*dzu85oOP;oCCiIH7BAzmg8u-uP~|)!zTg@O?B2&vd|zoglp0w#n0I?-w=r zM8d(J8iDiy(BKGUso5&Z4TY|7ZW)Cf)&1IjU15&%GW$t?V_-Qr9nQ`$1h93vcizy>^W1xXL3%t4!;xseFhivs~fWHma!G&fZVWZHh8c#eYT|N4JIF z4Y6`7Keg0c3D5j4P_`>fTgDal>iZUWJDFp;jFs^<#569Kaje>7KvSWTD%;FfzBxm)xicfL(2dP8y3aC#xKFn^ybqe&92iBj z^+A8dfb+St$0|KGOucg4{~CRdA3Oz zwEv?K?NeJ5?Nfcwo|L;nyN@p-j1?5qC~eEIJb;1?$hIoFM(&@Z%3LJ3-}l!!^g#_7~;e9nIyvxi?K434D!ySoDe}n z9^!Ho&Ur#OFX3`Du9nJ8fK10Mr{VlIvs{LAT+hqahWWC9^F!fAYOZ6tNTsp#J-=Q5GWzoU3Q*jftL=zM!MRYo@> z!SAQ=Tp`&qUg@o9s&VpkbQvr93xMSGb&Hi&SwCA@(Y(15oYQ;2n6B__8JF~Uc82G_ z8CYyL&o!e~c%;2G@SHVQ#IwS5g=fpiqtCl8#B&)-#r$}*DAk~q*ab8;uxB$z&PW$(#Dn%L%*w6A&SfR=srhLd<3Q#9^UL# zJloo8_5dO|ZLR`mne7VGmJvaZX=j-JD-qLE)wVLqVp>dP5}@ujgK5GxHmLjOd@P0g z=gR2m&r(dM=HwQ^blO~D#{p!?Y*%{P#|KdXD;_v4bECxsRJkmgQpQvFml>w3Z$(?h z2UGA;yLl|l-_W?O5N#PB^uCQk%cG2M<1-Y|vvF{y+8Wy0w}DMnv@>Tp!tuCeG|*en zg*Yx_ZTv5a73E!J&26<>0%BNewxYaq%3bMi%ZQ@iU7!%{W%B<2OhtRe zZ4~V3_~AD92xHLiWOo4t>Ea+#?gMT|l9sW>J^H*uoN?W6*7yM-esM8pjV}r3Et)kh z&T1Frv^Y%8EcDC@$Mu|Tt?*9_EJh*7S3`HNz{O7PVGYHbidW6osOE@HX98epjV!@; zGG8`1er3g#KK7AAyvGdS`E$PeMGni@(|ooHAE>+A?xDp|28l z9=dG5@!l=WETz5sVvhG#h4TvIIBk`%rdduK@3~wJ?~fCNr&~)gj8|J{Ux^Th4@dcR zj6uI^}hTX_7Pc$<}^R9%0Kgp^y47usH#{E>k}u(QCCcGdT@waS-Hn<|(bGRqZ?E#rd|`k2vM)Lc84 ziH83n;J6W;ICrcaHycOdpw&ImjyI}pQ9nJ=$y`fcpK$P}MsA1i6;rbX^CQ3571k}I zg?=w``t0&_b{YT3hY{;x+=5)aaDO8@*ou0U_K#TYMXoh@GRs6Y7rDZ>Wo*%Vu?z8C zCKB_ZfkQ#}6br>v+3#oN#ZHzU! z`F{>9d{?Z4XEo=AHC3>tMTRR3TgDf?ec=qlAD|eXot=UjtE`c&>qJzIbaIkec zjA_DBl`(APea@Q76P9F_D;!(K27Sg-p)M}tk$XSjxEID<*nNb?%iy=tI@u~?No%sO zBUVnCD}-Cd3BAwR8N%N;upbighUsmw*@EevSLh1omXSoi z_CX=e%Zx7HgE*J6;;W5utF;f*CQCY8x*4>@5xPe$BZ?l~&d~ikBDxa`rOFz-EV{WR zLiZ9EaL-Fzq1!UnIIerRz4d)z*7w7RZrs)c-qvwc@4^Nzm9|fwO#8i<1u~p)@TW#P z@V%lmSyJ8Ny>P0zEhCT~+w^(m<${zMS^l*aNO+U&`ZY<|0>`{i;+x_ysjoYSM-8QR}r zMEk)lrrQ%VAMAtnq}&zSEhC>E?at8tYeuwhHA^NzJIpOE)a^;RE416jLiHRLzw#x| zVJQ;}eS3=bnRc@sSKH%gwTek%q0r{?y*@OqD@0pHLVf0Vq5dutHTu;I(dz-s+Uy-{ zoq#>otBq{i%yCS>n&HjXWBpp8E1X+KNByj}LY$Y$(0ZGK^QvRqc2=8!ab15i>{Grg zWZOnV{d%v6z`WeUGM@8a5s@9#Ve&mh!sDRQ<4vpeUQ;UsP|TZc1i4b|3hS2fP``I| zp%yP=f4?=w`cyNj`p!;e>~Gp!4ceUR3elEvPj7!0BD#$I{mY2x<#XL$xUm>C!(K1E zxf??5RrZbB+TUukC4d_XUE$m|;;CCHFM(G!t`Z5mTMg{$!2p8(pM5<7ex3*AFJ`ZG z`gXsV`#k0B!>jG{gnJX?hy7%`+Ke(T+qdg_D7?)qHU}{Hc*U;TvZGNpMb@E=T$EB^;rC#4_^f*9xLfQ0W~R>hZm8i~3)p zsPDyLuf7hec;oWyl}5YmT0zTFlV!cG7rDZ>WvtVCRSNN4#;fuchVOR$)Zx{WxYQeb zs;tdzy(-JStjP+vWxgw9TgEm0Zcv5DF0&rzFCwyG|GMdRwRc>#T8}epsx*g_wch2- zUpCP;2+S=BaM-eSs(E`gAjxD2xe%HxD9G9`6Uq^8q^wy!qDqGMv62=eD z{n*JE^t(n@;TLm17NMzft_SD1La}9p(C>6cpN$LO-G65&ra60QE>o4!Y_-!FMYGss z71w&1D}-Cd4)^KaX`i#lV=iTK_8vflAKvUWai42QbrcrvuC(5MW}>CJ-kwZ2_){b2 z;T!d~q3Nxe=K%nE!8P%uiwcRo3noj(J#qXN0V*q+2rRm`?;; zVcs$dIi~N6=40zz&p!t6YMZ6{T8ep^z=sRQRvPC|#0J2J>-K9HgMQZtjyb4qXU$cx zEizr<*+(7m)+-jbHrJrV1XQ^!>$*(T@iiRJN6vMsopEg&b!7Rs*j&l^r?6dN+A`|s zbu`sF3idNhm(kI$=9sR$EmBTLtM&)g(T;5n%LwGY(INIZe(A!%CG^?)u_d=T%GlZe zKjQhOFo?r0_{XT%;9#o}p2eG5Wjot;T|h(Ar8KC#a#tGMHZG~J9p(2wz( zH&;^J3fmQ?ZKIU>jCJo7;rhCa#r-OZ>97~j%++dJCHS7g5BG{Zn=$BjjhujA^orm{ z+R$7X&;rjDnk}Q1e&rnceDcPRWi<3FQ#3=yU)6Wjk>m$J9K;OD(h%l3q)?RY=M}{Tp`>t z>gW;f4B_``2(R|e9v6ggB>*WQ+-)3k*fI|3=hPG;yv&@MpP>j3&b2qI?X|X@Q?o#u zDj6dJ%ax|KjV|iB+CI9-z13xGk$VuwF9_pS)LL5%qPPp0d{wqZY*!MInk<_lh9Wok z-m}j#!su60E!5Lx@cq*&zANqzxe$CShKPu7r*_DmeU{P2aXlZ(>u;{V%VdYVLd7@q zoGR;Y+`$AtJVrCZ81%bFV)(@vjR@j=_039LX>ZHuqhD`?KC3*xUm0}&KZx#wGlv%A z_6Zh$tTwuBbDxAJ%iz`uTw&Wb4(apy5Zo@XeYcEluuHZYwiUaCW81M+Vi|$-dK)3= z1lvD_*xnxpo%N{R-9qa`iA|P#C0cF5rT?XGTQ}Mk;JSHNDl?~YqMXvB|8=LeVlOlYV8B@Mg#Wz&E z6+9*)i1XDqD{+Nx%ebVsPMldM|96INm=+n;!>tm}q3BMVJUKEftUO{Ua)oanuQX`o zQ3_`G+6ILCLB`Bok~^|2W1ZZk;(IGuCkej6I?2O#QsfBV6PEGH3ElcW56>Leb}ZWO z^cDdZ7jwVURpGpZWc!$E`<*t;avHu*o8_|g8p`a-{*#FB`F5*!b1SODwvVtYz#49L zT4f96N{Rz9rgL4w!Jitr4Zbm^qcvNaPi8K4g>=iv<%FKo?UBwSmt~Otk`(DnVYj^* z*TaLY6YYxoQl6gRnny3MPdNBfBe%nMigc;j@^Y96bwjZ$tXsx0{ci2_*)ipwy(KcO zemRs*CYqlL(yyV1zjHPI=bn2wkC2~8vAzK6d^1?1SO{?LbPQhb3%{Odn<)o zDP=VGkEe*9>UP`p3@YN0r9-PJ9i) zhubIfj6uI^07nQl5#Y4p=UHrxx2{ss6e{nW_a@Lv`EQuFgW zfI-YvAFzyvdM_h=kgO}{o|iIS#{a7HfdgUC2w@UIl|3)EUPeKyvu5XFUMzNnb-UQ; z_^|F#_xhe&I=C*dt-ilq!TN02t;bQP7qwex&{rDs-%B-usP7LX9M-az!jGcw#pdTC zUl($O|8cw6smDKijCs1g4E}#KAOBMfB`hal2R-E@;hU|+j(>~)+tq_jtEddih94xm z8sOkdIQZrO&T5zXfsi@KI1vh6HI5w2d;l57p>bujQ!);<`tYn7huU{|4OkaD9)Iz! z;Q0vokKtdLX(7BA1pK?5bun%mQPndW&qK5O+51~1cc6@~@-_wkxY8eDr^>dDZInrX zG&Va|-}6FOdfqac>Sq@r6sblN#>v^Zwv4y(oPu*y?p4P41$ZmvWex@KyIkpT&$wj- z)yJC(v0X-opG9oXhNmHQcYm<45iA889jv^{__mEVDb1F$zf5JWG`M9{)$jXIi1IQk z)Slrep9wnMN~7C$-v@?ZY_0*=8QT@6En}#Ab?X~F)%~pR1ss^b2Y)W6xBaMaUcrjc zGIx)ghYKbtY=H{bJNmNr$MNhI=IA=xfs zI_BpP(dWZ}ulvj|gVM>QSMbMa&Q{z^kWAO7Jrb-o!)n_fwrgeqdU=!Oj9f#JD}39< zMaR7LQHbv{)<=)xduB0g(Z{_ttdFd@Ql87K%yxxo%Q&ZBA-@pQWioHO4AY0>HQ3Gs zK3l>9nW4><&1r$>3e9$r%rWobD@1b{4`0mCJRNU#*O`v4Hll4ke6usW$%>v<3LIg3 z%q~hf=4W^oV!KR6%8wwnXEx(FZ1on~-3Y_;sI#lAv2AB~YR#5(x4G06(k<_2%8Vl0 z6y5D+JEmLsR9b)A`mm`jMw=^HCkopYrhW7g!Kz?Y^I`W}eWFbCv6W$Zs&R6&+uHye z1+SsXwux=@k%E{vTh`my&6P4&D7TD0dS3|wQSA*`q^69oWP_r-8FjYM4&5`XxiYE+ zo+~ul#vS#nZ@=F>&-yNd=4OiK>GqcK{2`j5xf+^No+~t4#vb?S>tFfVnjFpe2DXho zo}y@858|NS3**HmY>tUWNag1*Jd?h?#IfUK!oi;!IS=1Be_=*%`sB!{u$p16fGf;f z#v?uE@xkTVBV{mu(v0~jtiQ^Z_l08~mN6{Gd?Mfq^Oo_-F3e}czOOI;$oD@GxHnJ>(>U9a# z2e%fg56UZGWvEX0j!?bVHe#t~ww{Ma+%L1$&nv^uAg^AyCZT%1*$%32kK4{G%TUak zoujzLLRUDqj92a4 z>Cx>B-E{@sXqap`@yp0K{ za+&YDOce9DhVbtWPhpuTW`<_bAsB6RR?_f~QNWc}w~S)?$bF$!FN66NGv?7aueAMg z;g~lV=`!XW+v=7vPH)K+V!n(ebE}5=YI_hb$dW07xm$#fTE;v5%$`Domx<#4Ux;uz z-(~27KcXa+)?( zntLg*T;bR;@SpIy90ZSv$OpHOTrbA@o*h@|cX^x1>lUMZu!k08RAdqLb=4A#QAL-Sigd&^B0 zw6~$a5w`bO#v;duhuG)%r3(XWXGM?g3&ZwuhV9vQok6?OmWkacGl4K`vS54bd{@Y} zj7a(!4bJS6C5mi_X#~Cc`a-l3^{Q=i+s)Sj1dC0U)wWjR3f-2GNuNVfi0(3;!5>0& zFNIy$%x?zOc9lnyb~z+sb0w9{?*e7J!n9?S(tEp|VR{iU4NJ0}Tc+E}R~pl{b_j2- zxYL<<8yMdesx70H`*aKYJUGJq>LwKIq)fE(aEj{1I658l!gLH-WsPm;>1HUFn=NKa z<(IocyJf`Ed%6pCco|>GO&QuVS4pMyxSgjvK{9KyxJ;Fyz!kPFnyh16DsY8u%LwI|Zl(D3GPxhHOore>itX;1#=WZGnLkz;0v z$R)1OZ5xsF=tlkHBA?_&MECwUXhaZjhx92lMXGFx*rHo(vW#xM#1XnjEMt=1V}jt$ zMRysG$w7+lu(#Z4x0`_O@IcUNz$WokM!2oV1kwYQX3HLvymD7)w~bTkt7Upig$Q{=Pop;7^U*4&UfK0T|287MB;yEp~-<%Q)s<-9zZ-!gH*bnF~LcVtuCC z_{J<7{P0;iI~jw1*T^dTrud#w756OTxI(dQeA0VP@ZscHBW0}Z*#yN~Eh`YTHE;6d zaJKmZRn$s}D|A~%D7}uRnkNt4WpwlmqIp(n<{H(w72lX zE$C|*gMQb@N%%zz8o-;(uo34*%3N27wv0jU(|sR)6$g&!E8)paGDAdoqUKe2CK1uI zVKeN7O2netw#QJ?a*pn4;a=3po$wc;+t_qzyqGWH2=%)yW0O8liaxTZZ}_om7GVp2rIm5JeA!B{~3joox~Huhy7%7dl{Dyl$(G;^i1MMksD=P zCU-p)-eH!@Rt6k`111xh^jK)|!{50Y|C0A!y#et&75AbOQ9TNpvtd0B5!Z8(?Wy_l(Ron+ID_4>WspTZmnz%Jz!gUc*|mWxGYWC#=vF&TXTTx?jad zCHW|{jK}-G49v&DM!2*FOR7~F+g2-dr%e@REXXWZIJS&S?$!0R$MJ>X___hu(yQH| zx!hI8G0xGz54X9W%^38%Moz%*O4d{%Wklh*Lb7EH(tAkg^I--^HbTuTk1`&TeSqYk z*9%*VK@VqIRT<4z9ulFs-2JCAUE$d_8mZ@J`^XK~%w@)h69eXC%!<)wr$@Z5LG>^Vv>?dbtduM+HPrZ7oDk84;auT_M^sN;s~M0{tvq zuA@;`+1kr{5Yfw!?Nsm0G^0-C{moXhbk!yc2DG`z6}~Owg?>HZLXBO<%Q1rZ&U~=d z_S#vkCoDEsh^OdmSD3bq4f>c0f;!I=U1oH+8!RlqSo@hj=rb=5P$#Mhta5?foCzwk~6P zd_PC`Vp#D!4qMxU;TM`K+a3zrmBzM=8hVZGOk?i?OxK&6jgXEOVblmUSJ^{tsj;Od zOVBoyxI(vO^w6*At+-dxeTP`R!U z?PG@qeLG6w3tu?b9Osa?Sb!y0FPE{Huc3%O6!rp0tAtsGRYtU({|>O5HdleP%yxxo z%h;jM_n*q4| z_4j6Yo)0#nW`qWImF?@NVyA=;U-uxJJP+I&ISt<{sgBN?Y=E{><_h7Kal{GT!afh? zreA>xpDiI6Pn%@sH~pJ^nOD}^sUdvsY}MoBxIQd?ILfbM4EkLox52N5a%i>~ib+&> ziu0`05z;3tV~ZZ?^qDa*>nnbgLHe@{NJk^3%KH2Qkv>(3^rX}k(k&y9goG@Hr*fRR)z1f8rF5}I<5-|+BCQ+Q-~t zzJd0C_EjTyz<*YZ%@)>aDkyh_cFS0yM>~CRc{WHHv|nySd$r?*7mRj@d}n(=o6w$= zyF$BV+|cKM6r#OM4#<-L?cI7Dt%i%y*|3Rzt)K_BS6R1P<$xHPEgCQSO<|?3kZu`6 z^z(NMkzQuD<7I$!-1MBy;H@^oG4};O+aa^~{ zeJ(b)%gf|^JTXDEkn&M!y^ZfJ{BTt7Vhs9SBQ5w%P@Ohe#kItDg>1_>qo2h~pHrR< zUM64f2??@=6rM^W+iDgs)67DXRdB0CuJCOccl3VlLVTB5;rj6jzA zJEOum;kZJvW$e-CoEDbEycap#is?{zo=T-PQk8%-Kc-43+h$}LU z!Z~wRWZEmrO@JI`xZsEVWc7_QE??p4PP5!tDz_8G^d+E>(t!ou!Z-r%GiERa#Q$-k#^UFTO;?t|5p0k0zrWn-zzHUs4tA!MKQ-m z^xYbLU*O)7tKj+C_Jv3H>kA{*?hDswePJo#;7^U*3*Y_v!iaTeV3MwSgI$z!++f|@ z2imgVo1rOa)QkCMI4zu)@HdF|W;kz_)7}g(H_K&jhUdW(w(Sj%l6%AQxmJBWZnvV_ zf*x#B!+hlPaeHHbXS338h}{T&`0zJGgE8oLjl2PVL+&5)$u+0NaG#=O~3cax}b+I=KCZT z&Rg_8!FU>e*iVLk?R|2WSuX1*&xSf|-zS$^^b@?MDvvg<#RkBKze|oX2K}y)pMzhE zcS)JfL1kU_3cCpH_#S=C;d=!ibCl^7kF@9&Fzl#wuXt|K2Y9czCE?&tjl2rJEqX=X z(8Fk3xgCA@_%1%Fes7DMw@>!AxD4vBeOo+2?iU9eu>5$H-wbx~UD3USP0o1{WJRv@ zzGZxOLf;wlJbH|~FX1h*( zsIUP=2jXq0_AA{FaJ+*b-VbhK4EkLouYg~vALzHh+!1o*T=fLoXtVw{@I8U|gfbDf zZD~(v#jx3Zw-?4o;%MWhb}u>sQD=-RRJ$jXh_Kz9dkeI_P%P=FH|({HH~aSj)oO|j zmDxsR-V1|SZ|Fp=*(gTuIIL~36n5L2aXq9tCsnqO%Dfj^=3Aimg#tNOJ;5&4JmzO! z74`(o{I#`^YFSSJ+vrra-vQ|5!VkBG(x?D()0tP)(}UZr*H7sf&$zA-Z5I_D8`J$e ze$^#z>6AhAfQ0CgO568VJ14RnI)-S?Q!lbzVcIf+>vKg>?WjJV3$j;8hUvp`BaFkw zBDioMMRfU0(3x2eBAk6!WqYMWuISCJoLitP^CCf4eZewrJFNS3ykC>+cU%L*)?)b% zVG0k&ui(c4YrQ+u-q?tG8`aO5{$5lV@ZlEB0mh);HS$vUP5e2==Bs@mU&s~y?c%fJ zqq=?LvqL%l(N49+|F;wTFK?~_=#$w47>Q4|KR?nwaOQ_L!_5%ttnxeI`zhwdzHmI@ z;7^S_0N+Vp=zA;Feqncjt3F~E;~gK>y`8>~Tv#9Zcd3soM{BL1nbSoo-A8s|SAY+H zU);(V^t(o03%^ny$-fomF49NdRS&U^4(mCg-iqQqWC)(N?OWtqQV&4`Drhx?S4WlK z92ghD5APK>G6wywk(a}-)GO5HoBM)M%2f}riw%$YJRtfE^I`yH@__!$)B~XQDkHx{ z9uPBu5=<8Yo))^oxn<gzy->~Z^IOWp6P4cE(_UR^$XIzfj#h}MWbRVtHw&ONenQXg%>EBB#-8;UI z>J!n{I+Aekr$+9B@BX${2_wtp7-ZBke(h%<(`TAzU6q+@`St$&0jFA4x=*CJM%?Rk zl-@t~CCxxC(EnvjDyK6oM=c}Sd-NR+{S0LOmcTq@TOaH{r@dl5peY^EMi8I7xwQb9 zX;NZ#l|53=Px=7w6)%>0#jD}3^i5HG8??8Dg}AG6hGmr7&(5dM*2Np+Yo@-T^^9u2 zF-pwNUlzfx-iE@SVH9@NFYF@QK5D^KUS7W_6Sep!v0o$^A6R>p-w|b^7T6DxW(%7$ zvWzg=Nu)woIJb*WkL}a5{9XbN{Zjh)^H)cGF#`s{pNlzr`Gj!ZqS?zGvz#_d|2DH+ zmhp;v|Jd3_Urliy_I@}Dn~lW~=H;|{!CF{ttPfEvh$H9ego8gdawmMJ_K?eZ$jU~d$0g?q~w^{_q?_Sr}r_hoXr|1lr;mG=wnOpwm8Kc8^$r$+9A?|kg*{-Cg@ zg5RkhXpd#=*`uF6MP~A3E4pO1P8sz7Lq7UxxVFl+{eKMoyDd~dlX0Z`_gF@h{o3z^ z=r0p1`?3-J2hPCUo*vB0-%2Y}EK9mwyamPmK$CRU8!RKo-tSr18_Gn={+{;+oUpJI zo`9L2>oe`m7M<#IB#76-9-OVp?}Rdb&#;$&8w{PIkFcwLVHZIj+oxw#_>nOmAv_gu zZ0isDlF%<;@uILj*9umfVFNo}mHPtPiTL58gBuuwe%Hty@XJRB%VN__@Yl*+A>J}N z?0rG>x#f)t%J_o*PDDIneX)HejF)?`XlbPpU(Ocx4l};gHsRQ$H{ZIl}*l zWmMVEE+~92l$l-d*Bt+1eCS9R#Etfu)>2q+!`?UNDs45DnOzX}if)6UNAwkU)i>;7 z&SMk$`e5G2#NQ2NvZz1D`^NqNmOfevHaghxsyu?gXbOI~k10z=0d9?)hHpM-&YEoi zzFg)C<#w^;v2op#ihHK^^Q0bOrZmByiWYSkqj(vt6{?66-zkBXU z81(0}9N)9;#=%yDZsdV$V%O=K*j2_lZ7#HuYxCS4&H(GC<{NOIE9R;XSVoDx_lM#) zuMd>*{`{rT2cm8Vwz7oC!D)yQ&%#d_&x7wL*jo8Qv$?my)FX<8UG)neMMl6Yc-L&7 ze!IMui6VbS>lcUGjj-Alez_=e(hsoN`M}RgT_N2vitJ|(6utq<_&NWVfb{TmR1X*0 z-QMzMr_+v6@mJd7-%0P1Xa&tD9M-bC;D?WCXVvDLaBq}xg?`KUuwPk-K1Jnykhv?$ z*gv1<=$~n~dg0lgote^_FWwzIA0e1if*(E> zILa9GTV7cx?B(7DLvJXSb=4~@W5RoN&(EviCiL_Ch_ll#rspSTw!60XH)ed}hy7$D zUd{S>g;_4^6__DlJ2L(Ytydgu<>mlDy;UA5@4=f3AKp9G8H0Y;$eZAozatXF7u=5g zZqn}{SN+Auit*9)>o0fo=`Uq$s88|!BJO<6Qt;qfs@y-y#ftUj8~Q_zkR$x>wu}|~ z{gAPnsQn~+U+jc3+xNwvC-{dAki+UthL366nfca-zX+Pw=TcCD>LOEAG z!7?)J_d_o131xPV{bbe?TCmY(wKe}`^sb1OQ96>q0%Z-G&;`QRZ#%ak+22AUqc~4sAjR0JLV6ZK7u;x}U!dCKC?+)W~`G&TJy8 z?RnF4dVnI}3iEdHV!yI3KDT^dPnmTk{v;3cu+n0cF+W7_kZ1u-Cmj5dR@P140UXlW zDvLQ1u263oC-xpr`ULar{+&>2I|}|-hWfRr3#;TDiK7i^lMRZI>c)sMW{w}O@o!=b z`duThfZt5xn{R=x_zUD*^#r@vu-E_WVdnLOGW!3Ivz}0I2GItO<$#xe%jkc#={oj} z60T5h8{zdUt0V4Rp#Gz|sIT^ZuFqnMLD2iN2?u|qmDOR!r_$jKW{+9K5$=aABfCC3 zls>~e+?UC0_@e~(uxeC%4xBz=o6QD4*gDZ>2&t~kgZ3YOxXm-q81!3OS>4opRp;l* zxI({OGCL<@?Mae9hxHC zbQ|(|L$0i=USSsz9-GitMmY}<>6abqS6IZ(B+r}tL$O!jf}$`Yj_TEp06d-Q4DnrX zeZs+?8o3?5lkqR@1-#it;48(hux=Oc9ryDi>9ce32Kcaub;#MG8!DmkgBcJv^$x&# zY0Z!#q`G!ciPf;5!^{BKo(XN`&1#PxzAxz$yr&#Vy9xZ($bCvrG2a4X=O_?$)gLUQ$$ow%eWt8i zWb-hy{;&&5ZT(6gDC!U2WuuD{^DC)Er2<~P9ag=>c#y09Vi$8BAJ#oiel1>}XICZ) z@drwOsl%J&@QD*)jL(^B*y>tYCFWPA{X=SgUVqSqT;bm?`aCwF+fUx(%JF}BiTB0t zi}+7hAFMd;p9a^DA8s>EFb4gu5zL_#M;B?cjd+&|-QaxpKHF%s*Yo(u^6a8Adj9<) z&S!AJ(V3tbt;P^yXye$k%A@JBdR}e55%)$RSNOM#H~TD8gnusnG0VVqT<|^-|2(q} zeCUvQ(W;-r^HjMHl*lrrwvOQz7`s89oU5K-8DsYQwIV=sdqSD`!tY5vp%HW-=Q=U= zE8PR|ZHOOk_1wT1^jn%|$$9{9x*7ROxhurmMVfs?jXk_P+oufT-3FA-7Gnyy0LEZ_?Bc2VSUZ|_jh=V88#z4N;=<_~Q)d(mPuXoZJi?P*wx z8c$SZ?3b{25@>6;Ag2qMXWKEJ?6$he26Oiy@EpPqnT^eXp+=TMy?+C7U2 z2Y+e=H)cq@J$XH0k8M|Ag0A|4ZM4|;1$>e&-U`3dr!Qd6#uo1j+RU50PQwIU^#!{~ z@z|K|`Nyn-ewh=C3_KJ=7c+C>g~EA@GAG2$4na=KoXE+<$RfpM){}c!?hBR1{gY5Z zz=w~0pT`*VyGEMuE58GBG(Kg!!nAEPSJ&@;)f8^)l$k;N+bO2o&1RA=H?tl!VWrSk zrSbi&1kD`ZxpOHO^`>iB&k=Ejd%Gy^_--BdK8u0leh8kqt#|+3Dej}zEZu5sz8Q7W z{P>E`p2uuJ{BZ2w$QbmyMqUoTscttmUxRdl~d!5bR>}IE#ER-`J(|qYFTlFP+fVuf<4=9jw)dTDzyxz-CJ3#K(wv3nmU0M%F zMs9G5Dx<%Im!IQ0X?i~JMFCfsw~OWaIh4hiFEfk&H#N-f4||L42)0{_m)C<%ILmfO zsxtmd%%SA?H{6E&zK|#Es$bYee0^4Pala^&?e>tVUmOa1!FNG_D3R?Z^@p_ih5bMh za)p1}=&v6SV-IjK8u$$p{^>}7W%^Y4eQ-ge0Z{Q-^9wtGEaj>P_^7V|*_wC1-@M43 zP>Jn$_?>AF=!C81bFKP%+-^m;(QN0#t0!TSB-B;qUQi)n1Xe#99*hy+O+l>L==|KiEZ;{oLTE^KskQu|7B0XGrt$L7B1guL?L%lP1L1I`*h4TR|n}3Lxf9x4;Dd zTsc=g!7_$CF*3wH$1hzNxP+>|^I#72%L&~o>+hD)_-`}xgsP(-W9azdBjYSx7PvKX z8oq^*af<39#M3fYD7T9md%FgoVSaR=49b7Sfbyzm{+G0CQj{C5dAZOP&Ml+Bqq;V~ z&qA9w*#MA6k1l40|7qd8Lgv1e^@DP4*40 zkB1+w;csOO`duThghHp@-=4fNER) zI0C{C?-lcmLBFLvXwd3cn{Vm~Mj2P=w~G;vP3WsmduyMMd#`|}Yx{n9P(VN5akSc~ z$Js*o;i$ikG3a-V+y=kGyMQ;_gmN$wk`d|E_U4z^R|fSv z$FkApSBqU?-7=;-tmnS@Ignhdmze|k76I#1Yz-$g_7^szMy0)&&r0+-*X*+i2Y;mf zBoXgQ(@pB#B;pG9cF|kEdoX*1c{;uf?tjsY`vZ-7wJn+<5y*7z{r|kz72gkgF)C)zZkQO>H1Z# zXvfIw7wFNj9oxRy+%IOs(@{N4wos~apD3CCESNg{7WC;4ilD2$U>Vi*E8Z6N1&nIi z_Jud4eF68i;0qeVx)9a2jL_4IA3h?ufidW}wBjw@(nDyv27Tq$&~jIZw~O$O`!O(m zZh6|j%vj)mB#6H$?BOy%%e{6d*%GYUyMa9`!8b>I?ikq6bQSb@BCc@nBfj{!6g>Z@ zMtt9>lClGADIj&s#>>|)L1V|x7URRE)YIn*5nHEQEr%&fcHg!2|<-C+z7KkO&V71C_5 zSD58eP>^A$!}bmHdh4E3{oRSvG)LZRaHZY!QzLJI|H^Nf0`$|{kzofHI`lZ||8-izV+h<-U_Ze8NSjGy+uC%xcM5T9b>^r`M#9JgcWNmcFvC020MnywmAW&u~2w~Sx= z3~WH8W>sa@Qke|w2Qtie_IEaqMsaU5Xiha?#rAIH;}ie8z4QN$<2DZX=H&WInmUf{ zICayev?3>N;wqF#-chcb@|$QX5hGSqWyeiTE$>$3$;Ufp?@kh3*Hu&3bz3)8zolvV z^~e4h{?F1G0K330faO5O(|ZuH?`f9;Ag-|cnc2b2065K_k~#*rW?*lodiQnoEp0r} zzd(ypx8r=vM*3fXTB_aiKPCO|W-#jtw_*)`B#mD@Jmi?5R18pBnQyt7%5Lkl*Xn#x zPK-Y<=swrD(~Puho`!cxrTo7I<(FaCZ6qUPTjp8p034F;!oJ7SR&o>0V#JHxty5i= z`J$N?TW%ZtJCWuGqxruSnnRy8{2W3Hhore!F$+su$v&JFnzfk&h%+zr#WO8t9OuU1 z`>|W#E^}l4Q}BFgcsm{Rd+8)wO}qP9&|2DIZcMG)b%kxJ_Qg6e`a7#zBGJz%b+^lC z^FK7!m%Eex?d*ELw}tVZkS!C3bbT8p$|GlE>isIQ&VHr{E7?O$`68{&aQ%!6|G42TJ9s zH@BPiMB{!1)8#oM55m7eKf3El~C{CE&p% z;NKJp0G(K@=8Ag&F?}BLXy9c{0xnl1;1l?p@;xwg-y{OIX1-*A7JqGb^qhnD;Zt~A zw%RrPT*85uhncPRj&k3oY_)xJJ1tu+H@7QC1kXeNs9%AfDKgMahnM@qusuI7;tPgD z+Ck;xgVI(qfwRKB=(34*waOFU^VA5d&i6fd=g0AVQdYEe@oxUBV(vy$x>tHMnH?8je&$rr%*^3(|kgqcDjC<)8SH6I%SXGq2|w#~EPK>PPPf zRZjj{$_cFO+J!u`Z3uVuri1=)49v_9_Lt+(? zvb`?}Ax4tpUSSBVRYK5fNd1cZqb4CdWB>AKJSnC`hAbHldxc5K&>n$ZD9lZL$pbC2 z+=+Sojq>1Ge>@rGM~shfqsk65wqgzruvZ)SVm`)?Q5V&0 z|I+o1`3A2;Vnt^sy3+Sf`^I-I>jt&k-&GpAyrp;F z1iz(~FA1Q${A4KUSz`yJ_%2Z_wJ_Eu)Udu2{ECw9ALWYJHJTjPb@XFGJl% zx{Ia%*9z%xZeGvwNxz#8R>0nW_mPNexs7?(Opn0CzqOq&Ngzgd;|$71Nx-*H_5OS$ zC1G_m#OaTE&K%w>WUB}BqwtU(pzFMVo$E6wt&hPV5zTFVNd+zH+gZ?~zHy~z=@Z3_ zFsfAil_nLJhSr=f_`M-Z$DEJ_DIK^rP;s=9|AQZ;e^e0P@Hp&Za@;@iB`?H?aom%S zy<{Ku)Q5_^;1WZw`nq`!YCQYV78{2f-ESRa&K)2a9kUm zy+fOa=V_>=>h%u_?r-;j^sv1-4r`-d#O`WzmxaD~rbU3;ZGDBfxYob)@IT|g^Pd$w zkGtt1xFZ-$7^d$Uw73xpQ zs&6io|EYoU(D!QjD&s)a-;1IIFRkP*oD2P}kgV<5qKbgmy<5%`BdX`(8qWB}Z1(mH z)KRthdxCS!u-)9tdFK6mHt138;17A_1mWz9fJaNsYD+69B6OxY#;(s}iu9XE+BvY~Al*>jCIjgnEal9W9}L?HLOpA%q|pSe@g3&j3gSh#Ewrn(zDOrVVdLtW3~HO@ z@3Ok)xJLSPayXr=O%Dffhmh?Xht)L;+RLunfUh?2#XK=i8=3dUd|qY#``J;}+nmD8 z+Y`sU?7D^dS_5CqQ=_)gqCx0wdfvsN`Eix`jXRHk4exHzh;Cb8S8IKdPK(>NFX;IR zalLSvSLR~T9M(w}6Q)s;Lbhmd1|%MG#QI%cz|O7Y1GtJD1!2)_+!0;3@~+nVBAynf zjZrH8@@%@@B}z4_63>@Vf?ppp?JiL&?t$mswxF(5`r@1xjg2!unmKpzMGkA6ude5# z1HL?D(5%12ACaQjtusG_W?xgfZX>?l#1r?kwCHSH6|k9m7u)@y%6)0igsk7)ZFkjH z=^q^KRBau#))(oth-=*Ir0aaXmY%|Qanbunj)+cX)Uo{*gf?YzNn{0 zSoPU|F~TanG%jP-TLtx)V+gBzUNwvu_W|AYsgMBpZ=1iRNcQX%aWuoDCbGC=CsO?iFeq^w&4-f1>m@*zT|-xdF{kJ zV}`U%9$fN__m7tcoJttFR7r$X7&BwqAetCAs7G7UR5gYq=&2f zX+P}zVu!sB1=&TnEnkC5wJ+9b(b-O%Q`qmdOcY@Y|Za5tCllg@4gv* zV=G@0K#bPL?6XD*aPe_wRSA$e<8X(N#{v#MPC>uyx&{1N17FP3BDXO^fgzvR?0y$- zPp`s!nNA-x?+zIXoOd;0UI}37m3}y%y+DlA#@sV+y1iTFyi6F!8-%Re9dgeE&Slrl zs{Kl}-WT!Ih;7WaL?UgP-Nl;Otq?EM#ZMgZvg>BzYxTZ}r^ajbO!}B#EWI@@#HSYG zLtg{U*?yNqTbz~k2ELf5Mr(B~A3c&(g(*x>kz!gz~mr8b} zAYJLYd4#G>D)B`gj5ZGjBTTK-3+|e!V~q2F~*87tERP`=S#Wx-+x%4 zUd{-@|3}Cg-Z{o9yKZK_R_}{=YK%2ToD7oD#xguyh=0pM{E3S=Nun(gr+Ncl%+sQ* zaqVr+cI|6WGCu>=)Di5P1@oif&Hmmr&$jo|JnLP}#%vdopfx?4CM{jB@$^?q+_c=2v`Fdg@AXIJhFvwXbYKg4^5OufsTz=p@5Nx^Y# zeMto^I@>v~?>_hmD8l1*+3ay;$#mvSGJE4}FP)_L${UWQWcJguyJNP$YD2T+9=7Y_ zFFeyJ+C2t8%)>p0%6${rZb5Cg2yJkOXFT|&{C(Oe_b29drTudneh1b5xu!}*)%IEL zc3}e&_+24O#5eJQ!Xa&-EndLRtpumh7hZg%-1G>H;$Us)OBRSR+_)P9dy_SpDP_SW zD`#7kg)3e5aR_|}PKWi+R+0a*+eYZCwZ2Fv#%<`Mk6aA&QL_vG-xvHZ_ijzcllAFfFz)7A zHhd#JI7k^Ke69b-*&UyP^AqeR{JZ+oS=clb{jqr9|Latu#xC)j0wqe6@)R#o;*l7O zgf_f{MIO=rQ+F8gk;_(0!eMTO(im6C=uTowi2)T{5aK75sO9Jnchn zse*pc>^saMSgv(l!`@Wyi+EaOIqs~*fM?%!Wdu=L{4T_AREd{MGX<{g9agOp#LKQ* zkgqlH#XK!)+>Y}j8@0U4{Kz+K%m*G1o8f9fi4?Dh61-H_e$bfLVqlgQzNn`~gya6_ z`~})!S zJNCFy>y{YF;pJhDTHjXgtBgjqQL8!wS!t(@S}ik%%Teny&_Ak9U#hYmG~@U!!$Xc( z&+-CxZYB7!5+hatv1Yea%6(ByjI4Has-rJPj#gcKF@GSa-Wm;#_C`Zyr-W>!yeK%9 zWS2?-YFf!ek}bQubnblBMyXf%;+q&pjXOlJx5z&R`dHM(Liw)3w|uK%TjCBD3U*m` zTT|kuYG14qLF?=$1yrva1!o*d|6TBirmvapOey zmAJ6ISYvw`esjpazz1M^*~T`n@WnPUQW?jNjcmJ&9Xo>UORH}N&9uYV5xS~5{K_(4 zBopJ1kz{Wqw@Z?jPY%g?-qfX4zgbcX)YzjwK8&`sw547A)eC~;jdar8KUsO;vdc@0 z)zD+D#+ROskw;X(H7nWK$LA7xoGwzT!+v-BKQTvLwZEM#S7TEmE3}>@QASPE-lpNG$^IMh$hAw z0i$e0V*sMB3opEa@`wio4rS=T(>RZ;Nj@17^d zDWm<;$hwRD@*M-~p~rI`(0*wo-7n|Fm}MM!HgfJV@;s|>9y;HSBhO{y$WxU1vQmhV z%BZ;;iFVQ4zblBoINUE2EAW?x9Eo?(+-kSA@TFeqi*sTeGji^Y^H+7wQGuU8&h_A? z!nxll=R7US*_qYX1NxBQVfhiX!2>T3GuQj3a^I$0??ZDtEe`aaxn1c=bXnE#+Xd%? zLH}^l@4^(z!m}1M>o2i4t@_E=LOHj2hF>~{00SP-Gq^{!0UVwPKi_P*)$@Vs^?bIK^LO3C7a)%l8 zfUxMYiSA03FTRNp&zXUv+`t#})Ci~UO^Fdsso7n;g)=4dgHgVH2)ix)#?fJ?ZiD#Hi+?Zl}Z%sI*gDJm9}oaL$rbB#+&D7t4j%~ z#lDy(#xEn&-kAPsvN}3El2d^~*4i|t)$S_sO0C!z)5JJsWZE0kzfoa2>`|pN)5~V2 zd9g31i4n`Vt9>KWF5Z$C8Pm$lEm$rnWL=FT3_PTTeV!MvbFr&EC}p+FRkXDlUvv|r zn2~Pwu56aI3*En7r+fM2(OpyA3f+EnH!*q{J>A~u{tD22u-hMI*Yb2YzB$Sd!ls+% z>8^EIjaM40d}(iDq_VBgL5}NlN)MpRDk(1%d_MyF&_5@v5NVgZB1-VmO7`KrBg7fH zt4_e=RF{RmcqT?BW8{XtC!00m61n*@@C;GrO{H^_Ol+Z9D_sr5wqIbw`5dIS-4E9owgo9B|%!DyTnZtkExCp3?s z+Fd0msTKQTni`FaR(BKAE>`!moay!c-ZanPmxk;Oq*>hvFYj)RXr<5>&%{V%^Z_Ey zRvqo)1N;)_S@C;?%{0x!jZ7z@kKW=CONOq)4?^)j+-aE!HrW!#lu{u?W%HL zW%V64enLudRJ90g)OF;Pc5GBtw0j-eS=N1HV=Zj=B>Y(t_r$;RW9HLezKlQJzb^{d z<(Xu4f0Xxv*3$TO!bAE-zQzmKxs|*F*B#c)r8&8433i+R-50&o=%YSTjB^pBhtEYf ze-Y^gO|{j(n+?{%ft^l*CYk2Ju6J1pKN_oi@m-BS&R&?A;Z`$0pPQX+w*l>T^!PEo z!xgZ;>XeJe?`hyW>%Pm}e&b8SH`0UY1b=zRHZ{%Tr*&I(gjgzlabAr?S~*|P$BYwr z>Bm_im&KPEFAviSxvtz-u`V<#mlYg-Em=*6-E4q!ghOT2HHK*AIQli%+u??VZaKU7H9ns#=iO_gpcy9lHCQ(l zHLU#I6TP$5xS*BZIo%$PUOB0SF)xB@Nj!!0Li;dm;T`zTB7u0I?Bf4g=6XmCT&xO( zwXNhToOgEEs!!tI@9g*@wi@-b5*ydY##h1KnKB|QM{xMQsKh>*ED!tOek(V8hkqLe zz4!#s1CNKKm$W{1wabc!!c^gl?P>(j%67Dg%QtFb+r=h+0@&UgWK1Q8%rwa+F1o6$ zhg~i5#c?&(XXQ9XvKu*eiIzN`Ecbf2;qBFIJeuaXa8uAaniR>dcUcbgj5WUKuEqkb zbjMgpBi$~sl3%IQjT^ed5wgZ6#Y$=%Li`SQu+95#uxb1o`ZJ4wQ$i%OAvAQI_GWX?d@! z@XZoqg^PNu@E&Nk<09T~DcbL0M!a{G`zm8VE#f^ew{zCw_=cCn?_y%WPUgJ3Rzde> zc2Jn(7w?8mIB9lMquZ zyQ&N{i{AUp@0caV6l0bW)5100OUv8E514R{*G3SU3E2`MWhpU^p{q5Fi;~Z#jsG7z Cm^+gI diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_gdiplus.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_gdiplus.a deleted file mode 100644 index a6056e89abd2424ae2ea333c53b46e5b597fbfff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 519444 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 ABme*a diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_glmf32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_glmf32.a deleted file mode 100644 index 32b72a9604cbafde5e88279b11fdc46c6a05e186..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105898 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 U?jF4u)mBrp+NXq;y;RQsAA)UwA^-pY diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_glu32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_glu32.a deleted file mode 100644 index d79482aef7d8a8c51269a028b4a986d0128cc5d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42450 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_gpedit.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_gpedit.a deleted file mode 100644 index a787bf86c45c80642782ee361ef8098608c4517b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9510 zcmeI2-EP}96o8NAq)F56uV}LtC@^j4Zid3M9b0yXV(^xqqCkLpZU+pz7~{-J?Z&Y) zSzfcBi{9`a!ForumJ#@0M1_kt3Ly*|1R>SCjgY+-V^z~A^_#9 z>mqOdjhA7*@u$c){{W!;0ro-pqXuQhwi)|+;0FU%_d`Em+x?c$o_2c8(+)#n$E$j* z+c~5xrH@bjRwralhDs+sFxK{)tyk{`SYz00JbY09YUl?))e1%Iv2$|DO!57b(|!;( z9`@@y&9GUkMvA6|Y*Gf_MhIsePejlcM$M2$1@6{jdcY4R_ z1`M$fe9`Sn)qxt_+O!?`%}~uy^=xSnqUau!c}@A3LI3H%-|GjctZraL3a$RxahU7J zK#wE2kk5Obha?vT*{*xAv7fnsFauoA0KCJGRx`QKKMVQs_`-$!L9T@leY^^9sX_il z?r<nqukE^ zK0xlM)AeP;KQ93uXO5c3kwD6IJ5jgUk-kYyw~;eWN3&0MoQ`H2nr}8kWimg(EpUxT5M}Y~ks6Q`~U;qNQvAr${rON&9Jb3JJ$?hc_>|1SIP@X>F z!K04{8M!~DJUo*MdG+&>fo6nE#L97P4o)V2N=)T6!F)EEE zx21$C2Trgwqqs4_-KPo?&`d6IXc~n1=PnxRNN%eQyxRa=E+w}~p1G`>K z^%b07TB_F}8H3}coRLK(dy^)BNs*ls0$w`M$C@RltYUDBe8x8<#dakn+trG}_A`9m z=dt~b#>DGn`%oKq65Cz7p27BycD-hZAvb_e07eM(ox!8Q)lr$^8Ka&!w9QXxG zW}CL6d~EC7Soc!0zKl-zvlGb2@3k@O(?lm1lB_SZ4^I`HBq&yU9;SG1RF_jyy^KyK zQaw#{vI@zaIqH}q*#C8OlAN;g+ZOrU*e<1Hd+D(!vOSH*UV+4B@{K|qY4h*qm)-OF`x5VBw zH^Pf)3D{d0ZTSAW#zqX4RfQrkdkiC z^xw-}ZbkPrQAtM9Ex$T1wC_%}7ifM=7mnK^pBvZtv|O8Bd&%{yaSfpV8)C8FA}JoD Zr1k(m5dvO1K%ZopK3%mvVn}CY`d^`+keL7g diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_hbaapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_hbaapi.a deleted file mode 100644 index b2a136ce93d642ecc037efa746079be608aae764..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77788 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_hlink.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_hlink.a deleted file mode 100644 index 45734a14f444f5a9e5337a1947e7d4a2d3f12800..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24690 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 UqGRAZ10B4FX;1#kWc(BVAD4sy>i_@% diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_httpapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_httpapi.a deleted file mode 100644 index f6030424b6af2e58780907487870c2cf8b0081c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37110 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 I$3^}B00^P?)Bpeg diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_iashlpr.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_iashlpr.a deleted file mode 100644 index ab56ad2f787afe2c388059d98f9d13e32d32dba6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10976 zcmeHN&2QT_6o0mpCiS}RtLr{6U|Nx`!%%p#W6Lg33=T51D3D=Ax(&q+W0Y8_)jGCk z%S{&a(Ccpf3wGS!uw&0V?@!sGr*-d<`k+kNrfV&Q023f7KR%OsPe16y1$k$!~TzkRTHe){woxzaZbv$RlwtFpy z9lKq-?=lp+R>NW)cb~E^b?srh(;qOKq1KTDjI|xRwLm|>?zKl=t9RVJV-K4qcIY1U z*|_kY<9*ln+#Xk|L|WtGZ=IuE$L@4`2h>|5=uHu$;MTx#NU16*Nix*f3i^>%WZ|8z z>$!HvJ&kvyh;Pfc8Q#>mlm_4Oyn(wv@*L^rRrxo)UFVmPGxWBGzjhCrm9Wc%hEUYp zv;s@xvh7~?(0wo(a3ez3j!U`SwwHK^iEYq2ethbcdf{Z4Gz-e6X<3$GSe0@(3wCnn za3TPFm;-o=U#;d!o^#^y>&b-y=3c2~d-h}%-qHl~d1-$*oS_C!NzbJYH>!c|3SO+> zeaVUUC-iE8ob=Ww>(v9j3wUuMK`&_cr(CJk=|Jhw?KpnJzb^qEZ}KZ09Jl!bgX)+#Cg9L(kGhY9gd+)F1J=2B1=h*G!;2J_)&zJ=&`&}QSR2lyti-)XBp0DCyKS|?4#P%^3Z=g;qSudO$)Zb0i=_c!0*vu0KcF^>7 zd=Xa0^OslY*RyAl3?n{}Vk2xIq|i8oEP(Tvg@5U{d?ovshAOCh5Ay2A*&TeOau3lc z_%CTi^XHqy_c45P`{*9Te4zhRqR|Du-{ZeAstqMy_!6q}@DR)Ks4p=TTsYt)w&#d8 zbrFrh2~T^)o!k=9J}N>))2gS7=px9Ge6|t&J^>d~gy`!+z{@;zv1YQl%_%P~siE4u zu|zdJ070?I(Yp>$&x7jo5PQMQG*4@xI%e*a*X;CA-Oxp~*jX`*C09$)Ovu&qL?7#f zYJW$BW>l7=k9WxcOc7UqE(E;HLmO)rnLBAyC_Oyab@9B6rs)xlvH2_Ed5!QKY~Nv@ zS;n(gG%cAM19ad6E?ji`Hi)K8OBd10XnGo==ZQPcL2Roz(}>oJJ7VTWm{!H9p}MAv z>gWV#`HmPy-62oUgX&d~Pe!uM)3ifKDT+J36arr6p@TJ(&5eR-MVcC>tD2autFgxu zT!?4wFIi7v?uW^GA-d^YQkS{& z5xO&tYONiR5Y-bu7D*4w+UJQXQ!mdGBc`4wvd)40RZq5AS}U@a&5gb-Q>3XyAG#-s z4HeT*k+Wv;^L>fe&XS+^rE#b6b0=9(;pfN6dLchkbg9eF0P5FgVx7+JSvh_H%2O0w Whps_+9!{`is@YM5J)vz;oc{;Pduo*c diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_icm32.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_icm32.a deleted file mode 100644 index 13d1ef7d81615a9ca98f8f16f599d0f11626091f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18518 zcmeI3PjA~c6u@7cq)F5NUC^~#w|PZ73|ryJcH%fd&>40AAV58n@^`5CQ{RMI-8#_@+(%R0N^UX`0oIds{qHI@^})@DV{0u zIDHX-;<;BmUib%q;>ACC{OAP$#Y@{fUU>*W@zYy8ex3uMn3?9$`4@m<{x2R2e*;jQ z$KMneuw05?{=wt*-vB7y+@n~jlq;35J8rvEx#xD>cBR~^xs@O4&FXf&f|>O~u~2E$ zS1F3z`r1}LSE*J|XUm03Wy7u3_FW28%1g`bYO~X*cHOUTU+>)9?UrU{u-N+6Ha?tL z7|Jf?3lSGENl?3#jZkI+MYr5)wA!6g&h#*fth}_?xz}#3*BkErYNK8&75!(?CFP~t zZuc%WTuofF*j#U^mqdu!bxc=z9Mtu)%1bxg26iB8%k@@!tEA`|MCGM&+r=iA`VUIk zod4iPp>_@S6<($^XXr91H(lB1LeU$c5_>%)lX-U%t@}W2T3(ha328?vlfctmdeZ3D zMIo~FN;xOoc+q-ZNjKb``kH&E-rN+$1z6)xYu3RMTFo7|jon{!cb8iXN1`g&s6BLK z3G&kA7AwqDf>8%c*l^c2Y0L)3Uocl_@$s_Qyj|UT(hc5%3em-Z>w>N8UqJa#d$jv~ zH`9`aJIZ2b9j8zzq|=4$yfE=AQ+Gy=pwR|6KLT)yosExVy6$e5oku5Wa8@$4YPTA# z!XzbdUS?K1ojz)?M|yQC@bZkOJBBA?_*`mW<#D}PFQ4=#qxI%Iz2kUt+@R;l7t2fe zT&C7&U`B?lnGn2s4e)4Wy}IdThY>BhgnE8-g#NVk;FV4~DY%L0f&V9`h|`S$IGxL9HBJlI#;4iij=gD4(F5UO z8V|%NjUfuuhbB&$Fq9~IlKYSf`$>AHe99xPCs;}&c!IUh33g^f@dk5ZP#ps!0@k}5 zPnw%Nhj9dNfOOWnoOEhmYEwU`mV!UC#y(T_D5fKgK7bo6PIA2!yI84sJQ|{Y~^9{3} z#(CSUCpkZh{b^;BJ!i|dSQ1Rr43qy~ z4%znECXd$Ea-UJz=F0?$X8S$CvCp;~@+e8cPKa$@<-o#_#9NicM0mlL@S$%)9m!o3 zxppJFauC8#BjLey;$&NIOW!0|Wp(A%Ac=|YSxdT$y8Yh6uI}e~zb!LN>S0^^eG2I| zY-uFghJQdqAA@hh7kCCsQ}7Ir=${y>tzsS}j*0adOV(#~KfG(f`W)owno>&G#8Wv(NWskwb?R)G+0Id%KU`x{0zO8P{q_ z-jd@v+}dGb=yNOMLUKHaM{)u=4s97Hn&%6GUY}=a1{lv>&U2{BeKyeJ;yY)__i)vl z^&&Udy2pJErM7nZIPx8Ouiya{p5!$X%T@1iwR^o!A>Igy$sfsDaz4-BuSzRxCwtiG zL*JX>4}mx8BPf&NQjt zqOAHLv`-mnPqtOJoN4Mb2iC)*#PP81Snp@*tPfYk_qQs3RA)WWR^4({JOpwt=Y`8+ zBHVgUbGRzr%bE`|2c49Jd++Ne+mc(ZigUufDyz$d21!hGTkmS>D}_V*?c47`-ba}T z(~ZL>$+J((9s2;ok#I9XOl({3XU=7H%l(VRtaF7suFQWu%vJD+Rcq~?LR!f;SY)~U zMQ_h7pw4r%o?Jalqh3kqPcIt>UOF+6Z@F(eBtJg#M}6|yt9kT6rueGzEh0Z$brbn!otVhC z-BB&*-p(!>z<%D&J;h5nOmF8K<-WbVotjxs^LCnMJ?ZV7#DQV!?WBl&?`vSZF3EFQ zTBV}kdpMu*43?(gF&@do@v0m6t|F8h6VbMNr^ELaSs!t*buVU+-J}tZX#SG5_;Nkj zWZUj0`5)L1@WFme@54B@JE!z1f9QR$q4oAxBk3z~Tk8!$))Q^L={+C{zV*)V43?&# ViAT?R^PwGFk@4B*`3JM${{idEJmdfX diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_icmui.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_icmui.a deleted file mode 100644 index 5ced197c8c22f938421d0d7fbaccfe0fa724eff9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3290 zcmeHJO>fgc5FN)UX`>=IAXJHqk>G}mou+OoRaL5#Ls2Rrp{m@rPU19H^QG8<9(&>5 zpVZ&fA3&LzwUbS3C(wX;fRVhro_St-pWn>x>wS0B>>L!|8?$Eb*pBU3d-k?rSR7JY z!zekW=z;Sh06YQEJ_6`>00q3KYXip{cS6*JI1Ri}AU=7aHxji$%M;)HzB}{T#N%wo{CEXQ#S!?E`!4AwOy5N%5Xc*dhO%?!P(kjL4L0oJ+Mazi&8 z!jURiw`L;UDIOZNKY9fgkq(7h2oBj2)3*<%y=%=jJAu%26&0qwu3=VH9p?y}Cy2tVR4WFKZZD zfMHJP&+8f`QPSes36p~l*sh#UMbc^KH*~tYZ6|ceT_oUtu>t%ddLwPSu>-+$Ih`*(P_Mcp`~>x^^>qLM diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_icuin.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_icuin.a deleted file mode 100644 index 2a9be36ef40ac1d01794a0abc5b466ffbf54c5c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 472558 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 diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_icuuc.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_icuuc.a deleted file mode 100644 index a3b6948fb7899028261ffb520a4dea70297e599f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 672918 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%0DI> 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 suxUmWlMA1eK38~^|S diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_imagehlp.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_imagehlp.a deleted file mode 100644 index c01e369958f3316858d3183d60d5590d2914be85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121240 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 &Z=uoHpxKKuotQ;d4ILiL>Bq?75#^hyOkO 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 U%I!?osJ%|JGMm{dyfe=K7gP#ljsO4v diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_infocardapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_infocardapi.a deleted file mode 100644 index 6753ecccd2c733d7ff526a43d4b865606132b1d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14986 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 BUEu%# diff --git a/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_iphlpapi.a b/vendor/registry-40351f815f426200/winapi-i686-pc-windows-gnu/lib/libwinapi_iphlpapi.a deleted file mode 100644 index eb66c6396b3293798f64df8877fd89d2d7bde6ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232092 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